[ppl] 51/68: Imported Debian patch 1:1.0-3

Andreas Tille tille at debian.org
Sat Nov 12 08:41:47 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository ppl.

commit f92a2363e1c4f33ccc9b2e64fe6a0d272ca4afa8
Author: Matthias Klose <doko at debian.org>
Date:   Thu Jan 31 22:31:14 2013 +0100

    Imported Debian patch 1:1.0-3
---
 BUGS                                               |      2 +-
 CREDITS                                            |    131 +-
 ChangeLog                                          |  12197 +-
 INSTALL                                            |     15 +-
 Makefile.am                                        |      8 +-
 Makefile.in                                        |    138 +-
 NEWS                                               |    169 +-
 README                                             |    374 +-
 README.alpha                                       |     42 +
 README.arm                                         |     60 +-
 README.configure                                   |    102 +-
 README.solaris                                     |     46 +-
 STANDARDS                                          |     18 +-
 TODO                                               |     25 +-
 Watchdog/BUGS                                      |      2 -
 Watchdog/COPYING                                   |    674 -
 Watchdog/CREDITS                                   |     12 -
 Watchdog/ChangeLog                                 |   1694 -
 Watchdog/ChangeLog_2001-2008                       |   2162 -
 Watchdog/INSTALL                                   |    365 -
 Watchdog/Makefile.am                               |     63 -
 Watchdog/Makefile.in                               |    801 -
 Watchdog/NEWS                                      |     97 -
 Watchdog/README                                    |    153 -
 Watchdog/aclocal.m4                                |    985 -
 Watchdog/compile                                   |    143 -
 Watchdog/config.guess                              |   1511 -
 Watchdog/config.h.in                               |     92 -
 Watchdog/config.rpath                              |    666 -
 Watchdog/config.sub                                |   1739 -
 Watchdog/configure                                 |  17835 --
 Watchdog/configure.ac                              |    415 -
 Watchdog/depcomp                                   |    630 -
 Watchdog/doc/Makefile.am                           |    282 -
 Watchdog/doc/Makefile.in                           |    646 -
 Watchdog/doc/README.doc                            |    141 -
 Watchdog/doc/devref.doxyconf-html.in               |    287 -
 Watchdog/doc/devref.doxyconf-latex.in              |    287 -
 Watchdog/doc/devref.tex                            |    121 -
 Watchdog/doc/fdl.dox                               |    407 -
 Watchdog/doc/fdl.pdf                               |    Bin 82013 -> 0 bytes
 Watchdog/doc/fdl.ps.gz                             |    Bin 92837 -> 0 bytes
 Watchdog/doc/fdl.tex                               |    454 -
 Watchdog/doc/fdl.txt                               |    397 -
 Watchdog/doc/gpl.dox                               |    686 -
 Watchdog/doc/gpl.pdf                               |    Bin 75252 -> 0 bytes
 Watchdog/doc/gpl.ps.gz                             |    Bin 86669 -> 0 bytes
 Watchdog/doc/gpl.tex                               |    728 -
 Watchdog/doc/gpl.txt                               |    674 -
 Watchdog/doc/pwl-user-0.8-html.tar.gz              |    Bin 73541 -> 0 bytes
 Watchdog/doc/pwl-user-0.8.pdf                      |    Bin 296785 -> 0 bytes
 Watchdog/doc/pwl-user-0.8.ps.gz                    |    Bin 230371 -> 0 bytes
 Watchdog/doc/pwl.sty                               |    179 -
 Watchdog/doc/user.doxyconf-html.in                 |    255 -
 Watchdog/doc/user.doxyconf-latex.in                |    255 -
 Watchdog/doc/user.tex                              |    121 -
 Watchdog/install-sh                                |    524 -
 Watchdog/ltmain.sh                                 |   8745 -
 Watchdog/m4/Makefile.am                            |     38 -
 Watchdog/m4/Makefile.in                            |    452 -
 Watchdog/m4/lib-ld.m4                              |    110 -
 Watchdog/m4/lib-link.m4                            |    764 -
 Watchdog/m4/libtool.m4                             |   7437 -
 Watchdog/m4/ltoptions.m4                           |    369 -
 Watchdog/m4/ltsugar.m4                             |    123 -
 Watchdog/m4/ltversion.m4                           |     23 -
 Watchdog/m4/lt~obsolete.m4                         |     98 -
 Watchdog/missing                                   |    376 -
 Watchdog/mkinstalldirs                             |    162 -
 Watchdog/pwl-config.h.in                           |     92 -
 Watchdog/pwl-config.sed                            |     24 -
 Watchdog/src/Doubly_Linked_Object.defs.hh          |     65 -
 Watchdog/src/Doubly_Linked_Object.inlines.hh       |     70 -
 Watchdog/src/Doubly_Linked_Object.types.hh         |     22 -
 Watchdog/src/EList.defs.hh                         |     90 -
 Watchdog/src/EList.inlines.hh                      |    115 -
 Watchdog/src/EList.types.hh                        |     23 -
 Watchdog/src/EList_Iterator.defs.hh                |     84 -
 Watchdog/src/EList_Iterator.inlines.hh             |    105 -
 Watchdog/src/EList_Iterator.types.hh               |     23 -
 Watchdog/src/Handler.defs.hh                       |     91 -
 Watchdog/src/Handler.inlines.hh                    |     58 -
 Watchdog/src/Handler.types.hh                      |     27 -
 Watchdog/src/Makefile.am                           |    158 -
 Watchdog/src/Makefile.in                           |    740 -
 Watchdog/src/Pending_Element.defs.hh               |     76 -
 Watchdog/src/Pending_Element.inlines.hh            |     77 -
 Watchdog/src/Pending_Element.types.hh              |     23 -
 Watchdog/src/Pending_List.defs.hh                  |     79 -
 Watchdog/src/Pending_List.inlines.hh               |     74 -
 Watchdog/src/Pending_List.templates.hh             |     84 -
 Watchdog/src/Pending_List.types.hh                 |     23 -
 Watchdog/src/Threshold_Watcher.cc                  |     28 -
 Watchdog/src/Threshold_Watcher.defs.hh             |     94 -
 Watchdog/src/Threshold_Watcher.inlines.hh          |     60 -
 Watchdog/src/Threshold_Watcher.templates.hh        |     72 -
 Watchdog/src/Threshold_Watcher.types.hh            |     23 -
 Watchdog/src/Time.cc                               |     33 -
 Watchdog/src/Time.defs.hh                          |    112 -
 Watchdog/src/Time.inlines.hh                       |    145 -
 Watchdog/src/Time.types.hh                         |     22 -
 Watchdog/src/Watchdog.cc                           |    250 -
 Watchdog/src/Watchdog.defs.hh                      |    172 -
 Watchdog/src/Watchdog.inlines.hh                   |    117 -
 Watchdog/src/Watchdog.types.hh                     |     22 -
 Watchdog/src/pwl.hh.dist                           |   1706 -
 Watchdog/src/pwl_header.hh                         |     53 -
 Watchdog/tests/Makefile.am                         |     72 -
 Watchdog/tests/Makefile.in                         |    667 -
 Watchdog/tests/pwl_test.cc                         |    194 -
 Watchdog/tests/pwl_test.hh                         |    206 -
 Watchdog/tests/valgrind_suppressions               |     18 -
 Watchdog/tests/watchdog1.cc                        |     78 -
 Watchdog/utils/Makefile.am                         |     46 -
 Watchdog/utils/Makefile.in                         |    419 -
 Watchdog/utils/build_header.in                     |    103 -
 aclocal.m4                                         |    119 +-
 compile                                            |    227 +-
 config.guess                                       |     63 +-
 config.h.in                                        |     36 +-
 config.sub                                         |    115 +-
 configure                                          |   6103 +-
 configure.ac                                       |    181 +-
 debian/changelog                                   |     21 +-
 debian/control                                     |     50 +-
 debian/copyright                                   |     16 +-
 debian/libppl-c4.links                             |      2 +-
 debian/libppl-swi.install                          |      2 +-
 debian/libppl-swi.links                            |      2 +-
 .../{libppl0.11-dev.dirs => libppl0.12-dev.dirs}   |      0
 .../{libppl0.11-dev.docs => libppl0.12-dev.docs}   |      0
 ...bppl0.11-dev.install => libppl0.12-dev.install} |      0
 debian/{libppl9.dirs => libppl12.dirs}             |      0
 debian/{libppl9.docs => libppl12.docs}             |      0
 debian/{libppl9.install => libppl12.install}       |      0
 debian/libpwl-dev.dirs                             |      1 -
 debian/libpwl-dev.docs                             |      4 -
 debian/libpwl-dev.install                          |      4 -
 .../usr/share/doc/libpwl-dev/changelog.Debian      |    365 +
 debian/libpwl5.dirs                                |      1 -
 debian/libpwl5.docs                                |      4 -
 debian/libpwl5.install                             |      1 -
 .../libpwl5/usr/share/doc/libpwl5/changelog.Debian |    365 +
 debian/patches/avoid_obsolete_installdox.patch     |    168 -
 debian/patches/fix_ftbfs.diff                      |     19 +
 debian/patches/local_changes.diff                  |    289 +-
 debian/patches/series                              |      2 +-
 .../doc/libppl-doc/html/user-manual/jquery.js      |      1 +
 debian/rules                                       |     33 +-
 debian/watch                                       |      5 +-
 demos/Makefile.am                                  |      4 +-
 demos/Makefile.in                                  |     58 +-
 demos/ppl_lcdd/Makefile.am                         |      4 +-
 demos/ppl_lcdd/Makefile.in                         |     97 +-
 demos/ppl_lcdd/examples/Makefile.am                |      4 +-
 demos/ppl_lcdd/examples/Makefile.in                |     58 +-
 demos/ppl_lcdd/expected_int32                      |      2 +-
 demos/ppl_lcdd/ppl_lcdd.1                          |      8 +-
 demos/ppl_lcdd/ppl_lcdd.cc                         |     73 +-
 demos/ppl_lpsol/Makefile.am                        |     19 +-
 demos/ppl_lpsol/Makefile.in                        |    147 +-
 demos/ppl_lpsol/dummy.cc                           |      2 +-
 demos/ppl_lpsol/examples/Makefile.am               |      4 +-
 demos/ppl_lpsol/examples/Makefile.in               |     58 +-
 demos/ppl_lpsol/expected_int16                     |     48 +-
 demos/ppl_lpsol/expected_int16_a                   |     36 +-
 demos/ppl_lpsol/expected_int32                     |     58 +-
 demos/ppl_lpsol/expected_int32_a                   |    118 +-
 demos/ppl_lpsol/expected_int64                     |     95 +-
 demos/ppl_lpsol/expected_int64_a                   |     34 +-
 demos/ppl_lpsol/expected_int8                      |     42 +-
 demos/ppl_lpsol/expected_int8_a                    |     34 +-
 demos/ppl_lpsol/glpk_set_d_eps.c                   |     27 +-
 demos/ppl_lpsol/ppl_lpsol.1                        |     10 +-
 demos/ppl_lpsol/ppl_lpsol.c                        |     24 +-
 demos/ppl_pips/Makefile.am                         |      4 +-
 demos/ppl_pips/Makefile.in                         |     97 +-
 demos/ppl_pips/examples/Makefile.am                |      4 +-
 demos/ppl_pips/examples/Makefile.in                |     58 +-
 demos/ppl_pips/expected_int32                      |      2 +-
 demos/ppl_pips/expected_int32_a                    |      2 +-
 demos/ppl_pips/ppl_pips.1                          |      8 +-
 demos/ppl_pips/ppl_pips.cc                         |    142 +-
 depcomp                                            |    189 +-
 doc/Makefile.am                                    |    195 +-
 doc/Makefile.in                                    |    254 +-
 doc/README.doc                                     |     21 +-
 doc/bugseng_logo.pdf                               |    Bin 0 -> 4035 bytes
 doc/definitions.dox                                |    257 +-
 doc/devref-language-interface.doxyconf.in          |     39 +-
 doc/devref-language-interface.tex                  |     71 +-
 doc/devref.doxyconf-html.in                        |    309 +-
 doc/devref.doxyconf-latex.in                       |    306 +-
 doc/devref.tex                                     |     82 +-
 doc/fdl.pdf                                        |    Bin 82013 -> 81942 bytes
 doc/fdl.ps.gz                                      |    Bin 92837 -> 94026 bytes
 doc/gpl.pdf                                        |    Bin 75252 -> 75174 bytes
 doc/gpl.ps.gz                                      |    Bin 86669 -> 88038 bytes
 doc/libppl.3                                       |     16 +-
 doc/libppl_c.3                                     |     26 +-
 doc/ppl-config.1                                   |     34 +-
 doc/ppl-user-0.11.2-html.tar.gz                    |    Bin 965218 -> 0 bytes
 doc/ppl-user-0.11.2.pdf                            | 100318 -----------
 doc/ppl-user-0.11.2.ps.gz                          |    Bin 1508103 -> 0 bytes
 doc/ppl-user-1.0-html.tar.gz                       |    Bin 0 -> 1863639 bytes
 doc/ppl-user-1.0.pdf                               | 147794 ++++++++++++++++
 doc/ppl-user-1.0.ps.gz                             |    Bin 0 -> 2866093 bytes
 doc/ppl-user-c-interface-0.11.2-html.tar.gz        |    Bin 196786 -> 0 bytes
 doc/ppl-user-c-interface-0.11.2.pdf                |  26761 ---
 doc/ppl-user-c-interface-0.11.2.ps.gz              |    Bin 451558 -> 0 bytes
 doc/ppl-user-c-interface-1.0-html.tar.gz           |    Bin 0 -> 299693 bytes
 doc/ppl-user-c-interface-1.0.pdf                   |  26568 +++
 doc/ppl-user-c-interface-1.0.ps.gz                 |    Bin 0 -> 568395 bytes
 doc/ppl-user-java-interface-0.11.2-html.tar.gz     |    Bin 188121 -> 0 bytes
 doc/ppl-user-java-interface-0.11.2.pdf             |  23682 ---
 doc/ppl-user-java-interface-0.11.2.ps.gz           |    Bin 474147 -> 0 bytes
 doc/ppl-user-java-interface-1.0-html.tar.gz        |    Bin 0 -> 413788 bytes
 doc/ppl-user-java-interface-1.0.pdf                |  26019 +++
 doc/ppl-user-java-interface-1.0.ps.gz              |    Bin 0 -> 619712 bytes
 doc/ppl-user-ocaml-interface-0.11.2-html.tar.gz    |    Bin 75622 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.11.2.pdf            |    Bin 319287 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.11.2.ps.gz          |    Bin 262936 -> 0 bytes
 doc/ppl-user-ocaml-interface-1.0-html.tar.gz       |    Bin 0 -> 130581 bytes
 doc/ppl-user-ocaml-interface-1.0.pdf               |    Bin 0 -> 353271 bytes
 doc/ppl-user-ocaml-interface-1.0.ps.gz             |    Bin 0 -> 309787 bytes
 doc/ppl-user-prolog-interface-0.11.2-html.tar.gz   |    Bin 75259 -> 0 bytes
 doc/ppl-user-prolog-interface-0.11.2.pdf           |    Bin 318479 -> 0 bytes
 doc/ppl-user-prolog-interface-0.11.2.ps.gz         |    Bin 294449 -> 0 bytes
 doc/ppl-user-prolog-interface-1.0-html.tar.gz      |    Bin 0 -> 133960 bytes
 doc/ppl-user-prolog-interface-1.0.pdf              |    Bin 0 -> 359608 bytes
 doc/ppl-user-prolog-interface-1.0.ps.gz            |    Bin 0 -> 344147 bytes
 doc/ppl.bib                                        |   3195 +
 doc/ppl.sty                                        |      4 +-
 doc/ppl_citations.bib                              |   4274 +
 doc/ppl_logo.pdf                                   |    Bin 0 -> 5061 bytes
 doc/ppl_logo_no_ppl.pdf                            |    Bin 0 -> 4805 bytes
 doc/user-language-interface.doxyconf.in            |     36 +-
 doc/user-language-interface.tex                    |     66 +-
 doc/user.doxyconf-html.in                          |     36 +-
 doc/user.doxyconf-latex.in                         |     36 +-
 doc/user.tex                                       |     82 +-
 install-sh                                         |     29 +-
 instchk.hh                                         |      4 +-
 interfaces/C/C_interface.dox                       |      4 +-
 interfaces/C/Makefile.am                           |     17 +-
 interfaces/C/Makefile.in                           |    113 +-
 interfaces/C/ppl_c.h.dist                          |    123 +-
 interfaces/C/ppl_c_header.h                        |     47 +-
 interfaces/C/ppl_c_implementation_common.cc        |     87 +-
 interfaces/C/ppl_c_implementation_common.defs.hh   |      7 +-
 .../C/ppl_c_implementation_common.inlines.hh       |      8 +-
 interfaces/C/ppl_c_version.h.in                    |      4 +-
 interfaces/C/ppl_interface_generator_c_cc_code.m4  |     41 +-
 interfaces/C/ppl_interface_generator_c_cc_files.m4 |      4 +-
 interfaces/C/ppl_interface_generator_c_h.m4        |      4 +-
 interfaces/C/ppl_interface_generator_c_h_code.m4   |     16 +-
 interfaces/C/ppl_interface_generator_c_hh_files.m4 |      4 +-
 ...l_interface_generator_c_procedure_generators.m4 |      4 +-
 interfaces/C/tests/Makefile.am                     |     58 +-
 interfaces/C/tests/Makefile.in                     |    311 +-
 interfaces/C/tests/formatted_output.c              |      4 +-
 interfaces/C/tests/pip_test.c                      |      4 +-
 interfaces/C/tests/ppl_c_test.cc                   |      4 +-
 interfaces/C/tests/ppl_c_test.h                    |      4 +-
 interfaces/C/tests/print_to_buffer.c               |      4 +-
 interfaces/C/tests/print_to_buffer.h               |      4 +-
 interfaces/C/tests/watchdog1.c                     |     13 +-
 interfaces/C/tests/weightwatch1.c                  |      8 +-
 interfaces/Java/Makefile.am                        |      4 +-
 interfaces/Java/Makefile.in                        |     68 +-
 interfaces/Java/README.java                        |     20 +-
 interfaces/Java/jni/Makefile.am                    |     17 +-
 interfaces/Java/jni/Makefile.in                    |    109 +-
 ...ppl_interface_generator_java_classes_cc_code.m4 |     52 +-
 ...pl_interface_generator_java_classes_cc_files.m4 |      4 +-
 interfaces/Java/jni/ppl_java_common.cc             |    106 +-
 interfaces/Java/jni/ppl_java_common.defs.hh        |     38 +-
 interfaces/Java/jni/ppl_java_common.inlines.hh     |      6 +-
 interfaces/Java/jni/ppl_java_globals.cc            |     72 +-
 .../Artificial_Parameter.java                      |      4 +-
 .../Artificial_Parameter_Sequence.java             |      4 +-
 .../Bounded_Integer_Type_Overflow.java             |      4 +-
 .../Bounded_Integer_Type_Representation.java       |      4 +-
 .../Bounded_Integer_Type_Width.java                |      4 +-
 .../Java/parma_polyhedra_library/By_Reference.java |      4 +-
 .../Java/parma_polyhedra_library/Coefficient.java  |      4 +-
 .../parma_polyhedra_library/Complexity_Class.java  |      4 +-
 .../Java/parma_polyhedra_library/Congruence.java   |      4 +-
 .../parma_polyhedra_library/Congruence_System.java |      4 +-
 .../Java/parma_polyhedra_library/Constraint.java   |      4 +-
 .../parma_polyhedra_library/Constraint_System.java |      4 +-
 .../Control_Parameter_Name.java                    |      4 +-
 .../Control_Parameter_Value.java                   |      4 +-
 .../Degenerate_Element.java                        |      4 +-
 .../Domain_Error_Exception.java                    |      4 +-
 .../Fake_Class_for_Doxygen.java                    |      4 +-
 .../Java/parma_polyhedra_library/Generator.java    |      4 +-
 .../parma_polyhedra_library/Generator_System.java  |      4 +-
 .../parma_polyhedra_library/Generator_Type.java    |      4 +-
 .../parma_polyhedra_library/Grid_Generator.java    |      4 +-
 .../Grid_Generator_System.java                     |      4 +-
 .../Grid_Generator_Type.java                       |      4 +-
 interfaces/Java/parma_polyhedra_library/IO.java    |      4 +-
 .../Invalid_Argument_Exception.java                |      4 +-
 .../Length_Error_Exception.java                    |      4 +-
 .../parma_polyhedra_library/Linear_Expression.java |      8 +-
 .../Linear_Expression_Coefficient.java             |      4 +-
 .../Linear_Expression_Difference.java              |      4 +-
 .../Linear_Expression_Sum.java                     |      4 +-
 .../Linear_Expression_Times.java                   |      4 +-
 .../Linear_Expression_Unary_Minus.java             |      4 +-
 .../Linear_Expression_Variable.java                |      4 +-
 .../Logic_Error_Exception.java                     |      4 +-
 .../Java/parma_polyhedra_library/MIP_Problem.java  |     36 +-
 .../MIP_Problem_Status.java                        |      4 +-
 .../Java/parma_polyhedra_library/Makefile.am       |      8 +-
 .../Java/parma_polyhedra_library/Makefile.in       |     62 +-
 .../parma_polyhedra_library/Optimization_Mode.java |      4 +-
 .../Overflow_Error_Exception.java                  |      4 +-
 .../parma_polyhedra_library/PIP_Decision_Node.java |      4 +-
 .../Java/parma_polyhedra_library/PIP_Problem.java  |     16 +-
 .../PIP_Problem_Control_Parameter_Name.java        |      4 +-
 .../PIP_Problem_Control_Parameter_Value.java       |      4 +-
 .../PIP_Problem_Status.java                        |      4 +-
 .../parma_polyhedra_library/PIP_Solution_Node.java |      4 +-
 .../parma_polyhedra_library/PIP_Tree_Node.java     |      4 +-
 .../Java/parma_polyhedra_library/PPL_Object.java   |      4 +-
 interfaces/Java/parma_polyhedra_library/Pair.java  |      4 +-
 .../Parma_Polyhedra_Library.java                   |     39 +-
 .../parma_polyhedra_library/Partial_Function.java  |      4 +-
 .../parma_polyhedra_library/Poly_Con_Relation.java |      6 +-
 .../parma_polyhedra_library/Poly_Gen_Relation.java |      6 +-
 .../parma_polyhedra_library/Relation_Symbol.java   |      4 +-
 .../parma_polyhedra_library/Timeout_Exception.java |      4 +-
 .../Java/parma_polyhedra_library/Variable.java     |      4 +-
 .../parma_polyhedra_library/Variables_Set.java     |      4 +-
 .../ppl_interface_generator_java_classes_java.m4   |      4 +-
 ...l_interface_generator_java_classes_java_code.m4 |     14 +-
 ...nterface_generator_java_procedure_generators.m4 |      6 +-
 interfaces/Java/tests/C_Polyhedron_test1.java      |      4 +-
 interfaces/Java/tests/MIP_Problem_test1.java       |      4 +-
 interfaces/Java/tests/Makefile.am                  |     20 +-
 interfaces/Java/tests/Makefile.in                  |     96 +-
 interfaces/Java/tests/NNC_Polyhedron_test1.java    |      4 +-
 interfaces/Java/tests/PIP_Problem_test1.java       |      4 +-
 interfaces/Java/tests/PPL_Test.java                |      4 +-
 .../Java/tests/Parma_Polyhedra_Library_test1.java  |      4 +-
 .../Java/tests/Parma_Polyhedra_Library_test2.java  |     14 +-
 interfaces/Java/tests/Test_Executor.java           |      4 +-
 .../ppl_interface_generator_java_test_java.m4      |      4 +-
 .../ppl_interface_generator_java_test_java_code.m4 |     18 +-
 interfaces/Java/tests/ppl_java_tests_common        |      4 +-
 interfaces/Makefile.am                             |      4 +-
 interfaces/Makefile.in                             |     58 +-
 interfaces/OCaml/Makefile.am                       |     21 +-
 interfaces/OCaml/Makefile.in                       |    125 +-
 interfaces/OCaml/OCaml_interface.dox               |     25 +-
 interfaces/OCaml/README.ocaml                      |     11 +
 .../OCaml/ppl_interface_generator_ocaml_cc_code.m4 |     50 +-
 .../ppl_interface_generator_ocaml_cc_files.m4      |      4 +-
 .../OCaml/ppl_interface_generator_ocaml_hh_code.m4 |      4 +-
 .../ppl_interface_generator_ocaml_hh_files.m4      |      4 +-
 .../OCaml/ppl_interface_generator_ocaml_ml.m4      |      4 +-
 .../OCaml/ppl_interface_generator_ocaml_ml_code.m4 |     13 +-
 .../OCaml/ppl_interface_generator_ocaml_mli.m4     |      4 +-
 .../ppl_interface_generator_ocaml_mli_code.m4      |     12 +-
 ...terface_generator_ocaml_procedure_generators.m4 |      4 +-
 interfaces/OCaml/ppl_ocaml_common.cc               |    169 +-
 interfaces/OCaml/ppl_ocaml_common.defs.hh          |     14 +-
 interfaces/OCaml/ppl_ocaml_common.inlines.hh       |      4 +-
 interfaces/OCaml/ppl_ocaml_globals.ml              |      6 +-
 interfaces/OCaml/ppl_ocaml_globals.mli             |      6 +-
 interfaces/OCaml/tests/Makefile.am                 |     34 +-
 interfaces/OCaml/tests/Makefile.in                 |    104 +-
 .../tests/ppl_interface_generator_ocaml_test_ml.m4 |      4 +-
 .../ppl_interface_generator_ocaml_test_ml_code.m4  |      4 +-
 interfaces/OCaml/tests/ppl_ocaml_tests_common      |      4 +-
 interfaces/OCaml/tests/test1.ml                    |      8 +-
 interfaces/Prolog/Ciao/Makefile.am                 |     21 +-
 interfaces/Prolog/Ciao/Makefile.in                 |    527 +-
 interfaces/Prolog/Ciao/README.ciao                 |     12 +
 interfaces/Prolog/Ciao/ciao_cfli.hh                |      4 +-
 interfaces/Prolog/Ciao/ciao_clpq.pl                |      4 +-
 interfaces/Prolog/Ciao/ciao_clpq2.pl               |      4 +-
 interfaces/Prolog/Ciao/ciao_efli.cc                |      4 +-
 interfaces/Prolog/Ciao/ciao_efli.hh                |      4 +-
 interfaces/Prolog/Ciao/ciao_pl_check.pl            |      4 +-
 .../Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 |      4 +-
 ...face_generator_ciao_prolog_generated_test_pl.m4 |      4 +-
 interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh        |      4 +-
 interfaces/Prolog/GNU/Makefile.am                  |     27 +-
 interfaces/Prolog/GNU/Makefile.in                  |    534 +-
 interfaces/Prolog/GNU/README.gprolog               |     12 +
 interfaces/Prolog/GNU/gnu_pl_check.pl              |      4 +-
 interfaces/Prolog/GNU/gnu_prolog_generated_test.pl |      4 +-
 interfaces/Prolog/GNU/gp_clpq.pl                   |      4 +-
 interfaces/Prolog/GNU/gprolog_cfli.hh              |      4 +-
 interfaces/Prolog/GNU/gprolog_efli.cc              |      4 +-
 interfaces/Prolog/GNU/gprolog_efli.hh              |      4 +-
 .../GNU/ppl_interface_generator_gprolog_pl.m4      |      4 +-
 interfaces/Prolog/GNU/ppl_prolog_sysdep.hh         |      4 +-
 interfaces/Prolog/Makefile.am                      |     40 +-
 interfaces/Prolog/Makefile.in                      |     91 +-
 interfaces/Prolog/Prolog_configured_interface.dox  |     63 +
 interfaces/Prolog/Prolog_interface.dox             |   2060 +-
 interfaces/Prolog/Prolog_interface_compilation.dox |     59 +
 interfaces/Prolog/Prolog_interface_sysdep.dox      |    235 +
 interfaces/Prolog/Prolog_interface_sysindep.dox    |    949 +
 .../Prolog/Prolog_interface_sysindep_domains.dox   |    914 +
 interfaces/Prolog/SICStus/Makefile.am              |     38 +-
 interfaces/Prolog/SICStus/Makefile.in              |    540 +-
 .../ppl_interface_generator_sicstus_sd_cc.m4       |      4 +-
 interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh     |      4 +-
 interfaces/Prolog/SICStus/ppl_sicstus.pl           |      4 +-
 interfaces/Prolog/SICStus/sicstus_cfli.cc          |      4 +-
 interfaces/Prolog/SICStus/sicstus_cfli.h           |      4 +-
 interfaces/Prolog/SICStus/sicstus_cfli.ic          |      4 +-
 interfaces/Prolog/SICStus/sicstus_efli.cc          |      4 +-
 interfaces/Prolog/SICStus/sicstus_efli.hh          |      4 +-
 interfaces/Prolog/SICStus/sp_clpq.pl               |      4 +-
 interfaces/Prolog/SICStus/sp_pl_check.pl           |      4 +-
 .../Prolog/SICStus/sp_prolog_generated_test.pl     |      4 +-
 interfaces/Prolog/SWI/Makefile.am                  |     46 +-
 interfaces/Prolog/SWI/Makefile.in                  |    546 +-
 interfaces/Prolog/SWI/README.swiprolog             |     12 +
 interfaces/Prolog/SWI/pl_clpq.cc                   |      4 +-
 interfaces/Prolog/SWI/pl_clpq.pl                   |      4 +-
 .../SWI/ppl_interface_generator_swiprolog_cc.m4    |      4 +-
 interfaces/Prolog/SWI/ppl_pl.cc                    |      4 +-
 interfaces/Prolog/SWI/ppl_prolog_sysdep.hh         |      4 +-
 interfaces/Prolog/SWI/ppl_swiprolog.pl             |      4 +-
 interfaces/Prolog/SWI/swi_cfli.hh                  |      6 +-
 interfaces/Prolog/SWI/swi_efli.cc                  |      8 +-
 interfaces/Prolog/SWI/swi_efli.hh                  |      4 +-
 interfaces/Prolog/SWI/swi_pl_check.pl              |      4 +-
 interfaces/Prolog/SWI/swi_prolog_generated_test.pl |      4 +-
 interfaces/Prolog/XSB/Makefile.am                  |     24 +-
 interfaces/Prolog/XSB/Makefile.in                  |    530 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_H.m4    |      4 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_cc.m4   |      4 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_hh.m4   |      4 +-
 ...erface_generator_xsb_prolog_generated_test_P.m4 |      4 +-
 interfaces/Prolog/XSB/ppl_prolog_sysdep.hh         |      4 +-
 interfaces/Prolog/XSB/xsb_cfli.hh                  |      4 +-
 interfaces/Prolog/XSB/xsb_clpq.P                   |      4 +-
 interfaces/Prolog/XSB/xsb_clpq2.P                  |      4 +-
 interfaces/Prolog/XSB/xsb_efli.cc                  |      4 +-
 interfaces/Prolog/XSB/xsb_efli.hh                  |      4 +-
 interfaces/Prolog/XSB/xsb_pl_check.P               |      4 +-
 interfaces/Prolog/YAP/Makefile.am                  |     21 +-
 interfaces/Prolog/YAP/Makefile.in                  |    527 +-
 interfaces/Prolog/YAP/README.yap                   |     12 +
 .../Prolog/YAP/ppl_interface_generator_yap_cc.m4   |      4 +-
 interfaces/Prolog/YAP/ppl_prolog_sysdep.hh         |      4 +-
 interfaces/Prolog/YAP/ppl_yap.pl                   |      4 +-
 interfaces/Prolog/YAP/yap_cfli.hh                  |      4 +-
 interfaces/Prolog/YAP/yap_clpq.pl                  |      4 +-
 interfaces/Prolog/YAP/yap_clpq2.pl                 |      4 +-
 interfaces/Prolog/YAP/yap_efli.cc                  |      4 +-
 interfaces/Prolog/YAP/yap_efli.hh                  |      4 +-
 interfaces/Prolog/YAP/yap_pl_check.pl              |      4 +-
 interfaces/Prolog/YAP/yap_prolog_generated_test.pl |      4 +-
 .../ppl_interface_generator_prolog_cc_code.m4      |     88 +-
 .../ppl_interface_generator_prolog_cc_files.m4     |      4 +-
 .../Prolog/ppl_interface_generator_prolog_dox.m4   |     92 +-
 .../ppl_interface_generator_prolog_dox_code.m4     |     20 +-
 .../ppl_interface_generator_prolog_hh_code.m4      |     12 +-
 .../ppl_interface_generator_prolog_hh_files.m4     |      4 +-
 ...erface_generator_prolog_procedure_generators.m4 |      6 +-
 .../ppl_interface_generator_prolog_systems.m4      |      4 +-
 interfaces/Prolog/ppl_prolog_common.cc             |     67 +-
 interfaces/Prolog/ppl_prolog_common.defs.hh        |     12 +-
 interfaces/Prolog/ppl_prolog_common.inlines.hh     |      4 +-
 interfaces/Prolog/ppl_prolog_sysdep_dox            |    263 -
 interfaces/Prolog/ppl_prolog_sysindep_dox          |    636 -
 interfaces/Prolog/tests/Makefile.am                |      4 +-
 interfaces/Prolog/tests/Makefile.in                |     58 +-
 interfaces/Prolog/tests/clpq.pl                    |      6 +-
 interfaces/Prolog/tests/clpq2.pl                   |     70 +-
 interfaces/Prolog/tests/expected_clpq2_int16       |      4 +-
 interfaces/Prolog/tests/expected_clpq2_int16_a     |      4 +-
 interfaces/Prolog/tests/expected_clpq2_int32       |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int32_a     |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int64       |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int64_a     |      2 +-
 interfaces/Prolog/tests/expected_clpq2_int8        |      4 +-
 interfaces/Prolog/tests/expected_clpq2_int8_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq2_mpz         |      2 +-
 interfaces/Prolog/tests/expected_clpq2_mpz_a       |      2 +-
 interfaces/Prolog/tests/expected_clpq_int16        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int16_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int32        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int32_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int64        |      2 +-
 interfaces/Prolog/tests/expected_clpq_int64_a      |      2 +-
 interfaces/Prolog/tests/expected_clpq_int8         |      2 +-
 interfaces/Prolog/tests/expected_clpq_int8_a       |      2 +-
 interfaces/Prolog/tests/expected_clpq_mpz          |      2 +-
 interfaces/Prolog/tests/expected_clpq_mpz_a        |      2 +-
 interfaces/Prolog/tests/expected_pchk_int8         |      2 +-
 interfaces/Prolog/tests/expected_pchk_int8_a       |      2 +-
 interfaces/Prolog/tests/pl_check.pl                |     95 +-
 ...interface_generator_prolog_generated_test_pl.m4 |      4 +-
 ...face_generator_prolog_generated_test_pl_code.m4 |     29 +-
 .../tests/ppl_prolog_generated_test_common.pl      |      4 +-
 interfaces/interfaced_boxes.hh                     |     25 +-
 interfaces/marked_pointers.hh                      |      4 +-
 interfaces/ppl_interface_generator_common.m4       |      4 +-
 interfaces/ppl_interface_generator_common_dat.m4   |     16 +-
 ...erface_generator_common_procedure_generators.m4 |      7 +-
 interfaces/ppl_interface_generator_copyright       |      4 +-
 ltmain.sh                                          |   2494 +-
 m4/Makefile.am                                     |     13 +-
 m4/Makefile.in                                     |     77 +-
 m4/ac_check_ciao.m4                                |     11 +-
 m4/ac_check_fpu_control.m4                         |      4 +-
 m4/ac_check_gmp.m4                                 |     87 +-
 m4/ac_check_sicstus_prolog.m4                      |      4 +-
 m4/ac_check_swi_prolog.m4                          |     38 +-
 m4/ac_check_xsb_prolog.m4                          |      4 +-
 m4/ac_check_yap.m4                                 |      4 +-
 m4/ac_cxx_attribute_weak.m4                        |      4 +-
 m4/ac_cxx_double_binary_format.m4                  |      8 +-
 m4/ac_cxx_double_exact_output.m4                   |    141 -
 m4/ac_cxx_flexible_arrays.m4                       |    142 -
 m4/ac_cxx_float_binary_format.m4                   |      8 +-
 m4/ac_cxx_float_exact_output.m4                    |    131 -
 m4/ac_cxx_ieee_inexact_flag.m4                     |      4 +-
 m4/ac_cxx_limit_memory.m4                          |      8 +-
 m4/ac_cxx_long_double_binary_format.m4             |      8 +-
 m4/ac_cxx_long_double_exact_output.m4              |    254 -
 m4/ac_cxx_plain_char_is_signed.m4                  |      4 +-
 m4/ac_cxx_proper_long_double.m4                    |      4 +-
 m4/ac_cxx_remainder_bug.m4                         |     71 -
 m4/ac_cxx_zero_length_arrays.m4                    |    142 +
 m4/ac_prog_jar.m4                                  |      2 +-
 m4/ac_prog_java.m4                                 |      2 +-
 m4/ac_prog_javac.m4                                |      6 +-
 m4/ac_prog_javah.m4                                |     11 +-
 m4/ac_text_md5sum.m4                               |      4 +-
 m4/lib-ld.m4                                       |    110 -
 m4/lib-link.m4                                     |    764 -
 m4/lib-prefix.m4                                   |    224 -
 m4/libtool.m4                                      |   1305 +-
 m4/ltoptions.m4                                    |     19 +-
 m4/ltversion.m4                                    |     12 +-
 m4/m4.m4                                           |      2 +-
 m4/ppl.m4                                          |      4 +-
 m4/ppl_c.m4                                        |      4 +-
 missing                                            |    148 +-
 mkinstalldirs                                      |      4 +-
 ppl-config.h.in                                    |     36 +-
 ppl-config.sed                                     |      2 +
 ppl.lsm.in                                         |     38 +-
 src/BDS_Status.idefs.hh                            |      6 +-
 src/BDS_Status.inlines.hh                          |     18 +-
 src/BD_Shape.cc                                    |     89 +-
 src/BD_Shape.defs.hh                               |    347 +-
 src/BD_Shape.inlines.hh                            |    163 +-
 src/BD_Shape.templates.hh                          |   2535 +-
 src/BD_Shape.types.hh                              |      4 +-
 src/BHRZ03_Certificate.cc                          |     51 +-
 src/BHRZ03_Certificate.defs.hh                     |      6 +-
 src/BHRZ03_Certificate.inlines.hh                  |      6 +-
 src/BHRZ03_Certificate.types.hh                    |      2 +-
 src/BUGS.cc.dist                                   |      4 +-
 src/BUGS.hh.dist                                   |      4 +
 src/Bit_Matrix.cc                                  |     78 +-
 src/Bit_Matrix.defs.hh                             |     47 +-
 src/Bit_Matrix.inlines.hh                          |     47 +-
 src/Bit_Matrix.types.hh                            |      2 +-
 src/Bit_Row.cc                                     |     75 +-
 src/Bit_Row.defs.hh                                |     72 +-
 src/Bit_Row.inlines.hh                             |    185 +-
 src/Bit_Row.types.hh                               |      2 +-
 src/Boundary.defs.hh                               |    236 +-
 src/Box.cc                                         |     66 +-
 src/Box.defs.hh                                    |    269 +-
 src/Box.inlines.hh                                 |    106 +-
 src/Box.templates.hh                               |   1323 +-
 src/Box.types.hh                                   |      4 +-
 src/Box_Status.idefs.hh                            |      6 +-
 src/Box_Status.inlines.hh                          |     14 +-
 src/COPYING.cc.dist                                |      2 +-
 src/COPYING.hh.dist                                |      4 +
 src/CO_Tree.cc                                     |   1305 +
 src/CO_Tree.defs.hh                                |   1548 +
 src/CO_Tree.inlines.hh                             |    864 +
 src/CO_Tree.templates.hh                           |    139 +
 src/CO_Tree.types.hh                               |     22 +
 src/CREDITS.cc.dist                                |    133 +-
 src/CREDITS.hh.dist                                |      4 +
 src/C_Integer.hh                                   |     50 +-
 src/C_Polyhedron.cc                                |     47 +-
 src/C_Polyhedron.defs.hh                           |      4 +-
 src/C_Polyhedron.inlines.hh                        |    104 +-
 src/C_Polyhedron.types.hh                          |      2 +-
 src/Cast_Floating_Point_Expression.defs.hh         |    182 +
 src/Cast_Floating_Point_Expression.inlines.hh      |     64 +
 src/Cast_Floating_Point_Expression.templates.hh    |     46 +
 src/Cast_Floating_Point_Expression.types.hh        |     23 +
 src/Checked_Number.cc                              |      8 +-
 src/Checked_Number.defs.hh                         |     70 +-
 src/Checked_Number.inlines.hh                      |    126 +-
 src/Checked_Number.templates.hh                    |     29 +-
 src/Checked_Number.types.hh                        |      2 +-
 src/Coefficient.cc                                 |      7 +-
 src/Coefficient.defs.hh                            |      4 +-
 src/Coefficient.inlines.hh                         |      4 +-
 src/Coefficient.types.hh                           |     10 +-
 src/Coefficient_traits_template.hh                 |     29 +-
 src/Concrete_Expression.cc                         |    122 +
 src/Concrete_Expression.defs.hh                    |    201 +
 src/Concrete_Expression.inlines.hh                 |    123 +
 src/Concrete_Expression.types.hh                   |     98 +
 src/Congruence.cc                                  |    248 +-
 src/Congruence.defs.hh                             |    306 +-
 src/Congruence.inlines.hh                          |    172 +-
 src/Congruence.types.hh                            |      2 +-
 src/Congruence_System.cc                           |    465 +-
 src/Congruence_System.defs.hh                      |    307 +-
 src/Congruence_System.inlines.hh                   |    154 +-
 src/Congruence_System.types.hh                     |      2 +-
 src/Constant_Floating_Point_Expression.defs.hh     |    173 +
 src/Constant_Floating_Point_Expression.inlines.hh  |     80 +
 src/Constant_Floating_Point_Expression.types.hh    |     23 +
 src/Constraint.cc                                  |    290 +-
 src/Constraint.defs.hh                             |    554 +-
 src/Constraint.inlines.hh                          |    412 +-
 src/Constraint.types.hh                            |      2 +-
 src/Constraint_System.cc                           |    524 +-
 src/Constraint_System.defs.hh                      |    558 +-
 src/Constraint_System.inlines.hh                   |    333 +-
 src/Constraint_System.types.hh                     |      3 +-
 src/DB_Matrix.defs.hh                              |     33 +-
 src/DB_Matrix.inlines.hh                           |     26 +-
 src/DB_Matrix.templates.hh                         |     28 +-
 src/DB_Matrix.types.hh                             |      2 +-
 src/DB_Row.defs.hh                                 |     49 +-
 src/DB_Row.inlines.hh                              |     48 +-
 src/DB_Row.templates.hh                            |     24 +-
 src/DB_Row.types.hh                                |      2 +-
 src/Dense_Row.cc                                   |    571 +
 src/Dense_Row.defs.hh                              |    561 +
 src/Dense_Row.inlines.hh                           |    531 +
 src/Dense_Row.templates.hh                         |     56 +
 src/Dense_Row.types.hh                             |     22 +
 src/Determinate.defs.hh                            |     26 +-
 src/Determinate.inlines.hh                         |     23 +-
 src/Determinate.types.hh                           |      2 +-
 src/Difference_Floating_Point_Expression.defs.hh   |    221 +
 ...Difference_Floating_Point_Expression.inlines.hh |     70 +
 ...fference_Floating_Point_Expression.templates.hh |     53 +
 src/Difference_Floating_Point_Expression.types.hh  |     23 +
 src/Division_Floating_Point_Expression.defs.hh     |    238 +
 src/Division_Floating_Point_Expression.inlines.hh  |     69 +
 ...Division_Floating_Point_Expression.templates.hh |     61 +
 src/Division_Floating_Point_Expression.types.hh    |     23 +
 src/Doubly_Linked_Object.defs.hh                   |     65 +
 src/Doubly_Linked_Object.inlines.hh                |     78 +
 src/Doubly_Linked_Object.types.hh                  |     30 +
 src/EList.defs.hh                                  |     90 +
 src/EList.inlines.hh                               |    123 +
 src/EList.types.hh                                 |     31 +
 src/EList_Iterator.defs.hh                         |     92 +
 src/EList_Iterator.inlines.hh                      |    113 +
 src/EList_Iterator.types.hh                        |     31 +
 src/Expression_Hide_Inhomo.defs.hh                 |    176 +
 src/Expression_Hide_Inhomo.inlines.hh              |    314 +
 src/Expression_Hide_Inhomo.types.hh                |     23 +
 src/Expression_Hide_Last.defs.hh                   |    193 +
 src/Expression_Hide_Last.inlines.hh                |    300 +
 src/Expression_Hide_Last.types.hh                  |     23 +
 src/Float.cc                                       |      6 +-
 src/Float.defs.hh                                  |    299 +-
 src/Float.inlines.hh                               |    155 +-
 src/Float.templates.hh                             |    167 +
 src/Floating_Point_Expression.defs.hh              |    213 +
 src/Floating_Point_Expression.inlines.hh           |     55 +
 src/Floating_Point_Expression.templates.hh         |    111 +
 src/Floating_Point_Expression.types.hh             |     23 +
 src/GMP_Integer.defs.hh                            |     21 +-
 src/GMP_Integer.inlines.hh                         |      4 +-
 src/GMP_Integer.types.hh                           |      4 +-
 src/Generator.cc                                   |    316 +-
 src/Generator.defs.hh                              |    438 +-
 src/Generator.inlines.hh                           |    422 +-
 src/Generator.types.hh                             |      2 +-
 src/Generator_System.cc                            |    587 +-
 src/Generator_System.defs.hh                       |    488 +-
 src/Generator_System.inlines.hh                    |    315 +-
 src/Generator_System.types.hh                      |      3 +-
 src/Grid.defs.hh                                   |    181 +-
 src/Grid.inlines.hh                                |    132 +-
 src/Grid.templates.hh                              |    188 +-
 src/Grid.types.hh                                  |      2 +-
 src/Grid_Certificate.cc                            |     61 +-
 src/Grid_Certificate.defs.hh                       |      4 +-
 src/Grid_Certificate.inlines.hh                    |      6 +-
 src/Grid_Certificate.types.hh                      |      2 +-
 src/Grid_Generator.cc                              |    408 +-
 src/Grid_Generator.defs.hh                         |    460 +-
 src/Grid_Generator.inlines.hh                      |    289 +-
 src/Grid_Generator.types.hh                        |      2 +-
 src/Grid_Generator_System.cc                       |    382 +-
 src/Grid_Generator_System.defs.hh                  |    198 +-
 src/Grid_Generator_System.inlines.hh               |    200 +-
 src/Grid_Generator_System.types.hh                 |      2 +-
 src/Grid_Status.cc                                 |      9 +-
 src/Grid_Status.idefs.hh                           |      6 +-
 src/Grid_Status.inlines.hh                         |      6 +-
 src/Grid_chdims.cc                                 |    138 +-
 src/Grid_conversion.cc                             |    250 +-
 src/Grid_nonpublic.cc                              |    159 +-
 src/Grid_public.cc                                 |    602 +-
 src/Grid_simplify.cc                               |    429 +-
 src/Grid_widenings.cc                              |    157 +-
 src/H79_Certificate.cc                             |     14 +-
 src/H79_Certificate.defs.hh                        |      4 +-
 src/H79_Certificate.inlines.hh                     |      6 +-
 src/H79_Certificate.types.hh                       |      2 +-
 src/Handler.defs.hh                                |     95 +
 src/Handler.inlines.hh                             |     66 +
 src/Handler.types.hh                               |     35 +
 src/Has_Assign_Or_Swap.hh                          |      4 +-
 src/Init.cc                                        |     27 +-
 src/Init.defs.hh                                   |     17 +-
 src/Init.inlines.hh                                |      4 +-
 src/Init.types.hh                                  |      2 +-
 src/Integer_Interval.hh                            |     53 +
 src/Interval.defs.hh                               |    140 +-
 src/Interval.inlines.hh                            |    244 +-
 src/Interval.templates.hh                          |    120 +-
 src/Interval.types.hh                              |      2 +-
 src/Interval_Info.defs.hh                          |     61 +-
 src/Interval_Info.inlines.hh                       |     54 +-
 src/Interval_Info.types.hh                         |      2 +-
 src/Interval_Restriction.defs.hh                   |    874 -
 src/Linear_Expression.cc                           |    557 +-
 src/Linear_Expression.defs.hh                      |    704 +-
 src/Linear_Expression.inlines.hh                   |    805 +-
 src/Linear_Expression.types.hh                     |      2 +-
 src/Linear_Expression_Impl.cc                      |    467 +
 src/Linear_Expression_Impl.defs.hh                 |    916 +
 src/Linear_Expression_Impl.inlines.hh              |    282 +
 src/Linear_Expression_Impl.templates.hh            |   1265 +
 src/Linear_Expression_Impl.types.hh                |     23 +
 src/Linear_Expression_Interface.cc                 |     35 +
 src/Linear_Expression_Interface.defs.hh            |    489 +
 src/Linear_Expression_Interface.types.hh           |     22 +
 src/Linear_Form.cc                                 |     26 +
 src/Linear_Form.defs.hh                            |    499 +
 src/Linear_Form.inlines.hh                         |    252 +
 src/Linear_Form.templates.hh                       |    527 +
 src/Linear_Form.types.hh                           |     23 +
 src/Linear_Row.cc                                  |    238 -
 src/Linear_Row.defs.hh                             |    471 -
 src/Linear_Row.inlines.hh                          |    291 -
 src/Linear_Row.types.hh                            |     22 -
 src/Linear_System.cc                               |    935 -
 src/Linear_System.defs.hh                          |    360 +-
 src/Linear_System.inlines.hh                       |    648 +-
 src/Linear_System.templates.hh                     |    923 +
 src/Linear_System.types.hh                         |      6 +-
 src/MIP_Problem.cc                                 |   1490 +-
 src/MIP_Problem.defs.hh                            |    269 +-
 src/MIP_Problem.inlines.hh                         |    208 +-
 src/MIP_Problem.templates.hh                       |    150 +-
 src/MIP_Problem.types.hh                           |      2 +-
 src/Makefile.am                                    |    194 +-
 src/Makefile.in                                    |    528 +-
 src/Matrix.cc                                      |    414 -
 src/Matrix.defs.hh                                 |    463 +-
 src/Matrix.inlines.hh                              |    240 +-
 src/Matrix.templates.hh                            |    201 +
 src/Matrix.types.hh                                |      3 +-
 ...ultiplication_Floating_Point_Expression.defs.hh |    251 +
 ...iplication_Floating_Point_Expression.inlines.hh |     71 +
 ...lication_Floating_Point_Expression.templates.hh |    109 +
 ...ltiplication_Floating_Point_Expression.types.hh |     23 +
 src/NNC_Polyhedron.cc                              |     47 +-
 src/NNC_Polyhedron.defs.hh                         |      4 +-
 src/NNC_Polyhedron.inlines.hh                      |    104 +-
 src/NNC_Polyhedron.types.hh                        |      2 +-
 src/Numeric_Format.defs.hh                         |      4 +-
 src/OR_Matrix.defs.hh                              |     42 +-
 src/OR_Matrix.inlines.hh                           |    109 +-
 src/OR_Matrix.templates.hh                         |      8 +-
 src/OR_Matrix.types.hh                             |      2 +-
 src/Octagonal_Shape.cc                             |    131 +-
 src/Octagonal_Shape.defs.hh                        |    327 +-
 src/Octagonal_Shape.inlines.hh                     |    130 +-
 src/Octagonal_Shape.templates.hh                   |   2974 +-
 src/Octagonal_Shape.types.hh                       |      4 +-
 src/Og_Status.idefs.hh                             |     11 +-
 src/Og_Status.inlines.hh                           |     23 +-
 src/Opposite_Floating_Point_Expression.defs.hh     |    193 +
 src/Opposite_Floating_Point_Expression.inlines.hh  |     79 +
 src/Opposite_Floating_Point_Expression.types.hh    |     23 +
 src/PIP_Problem.cc                                 |    115 +-
 src/PIP_Problem.defs.hh                            |     65 +-
 src/PIP_Problem.inlines.hh                         |     48 +-
 src/PIP_Problem.templates.hh                       |      9 +-
 src/PIP_Problem.types.hh                           |      2 +-
 src/PIP_Tree.cc                                    |   2223 +-
 src/PIP_Tree.defs.hh                               |    176 +-
 src/PIP_Tree.inlines.hh                            |     26 +-
 src/PIP_Tree.types.hh                              |      2 +-
 src/Partial_Function.cc                            |      6 +-
 src/Partial_Function.defs.hh                       |      4 +-
 src/Partial_Function.inlines.hh                    |      6 +-
 src/Partial_Function.types.hh                      |      2 +-
 src/Partially_Reduced_Product.defs.hh              |     48 +-
 src/Partially_Reduced_Product.inlines.hh           |     55 +-
 src/Partially_Reduced_Product.templates.hh         |    151 +-
 src/Partially_Reduced_Product.types.hh             |      2 +-
 src/Pending_Element.defs.hh                        |     77 +
 src/Pending_Element.inlines.hh                     |     85 +
 src/Pending_Element.types.hh                       |     31 +
 src/Pending_List.defs.hh                           |     79 +
 src/Pending_List.inlines.hh                        |     82 +
 src/Pending_List.templates.hh                      |     96 +
 src/Pending_List.types.hh                          |     31 +
 src/Ph_Status.cc                                   |      9 +-
 src/Ph_Status.idefs.hh                             |      6 +-
 src/Ph_Status.inlines.hh                           |      6 +-
 src/Pointset_Powerset.cc                           |     92 +-
 src/Pointset_Powerset.defs.hh                      |     78 +-
 src/Pointset_Powerset.inlines.hh                   |     37 +-
 src/Pointset_Powerset.templates.hh                 |    359 +-
 src/Pointset_Powerset.types.hh                     |      2 +-
 src/Poly_Con_Relation.cc                           |     10 +-
 src/Poly_Con_Relation.defs.hh                      |      4 +-
 src/Poly_Con_Relation.inlines.hh                   |      4 +-
 src/Poly_Con_Relation.types.hh                     |      2 +-
 src/Poly_Gen_Relation.cc                           |     10 +-
 src/Poly_Gen_Relation.defs.hh                      |      4 +-
 src/Poly_Gen_Relation.inlines.hh                   |      4 +-
 src/Poly_Gen_Relation.types.hh                     |      2 +-
 src/Polyhedron.defs.hh                             |    341 +-
 src/Polyhedron.inlines.hh                          |     92 +-
 src/Polyhedron.templates.hh                        |    449 +-
 src/Polyhedron.types.hh                            |      2 +-
 src/Polyhedron_chdims.cc                           |    297 +-
 src/Polyhedron_chdims.templates.hh                 |     63 +
 src/Polyhedron_conversion.templates.hh             |    919 +
 src/Polyhedron_minimize.templates.hh               |    435 +
 src/Polyhedron_nonpublic.cc                        |    602 +-
 src/Polyhedron_public.cc                           |    737 +-
 src/Polyhedron_simplify.templates.hh               |    340 +
 src/Polyhedron_widenings.cc                        |    175 +-
 src/Powerset.defs.hh                               |     21 +-
 src/Powerset.inlines.hh                            |     25 +-
 src/Powerset.templates.hh                          |     24 +-
 src/Powerset.types.hh                              |      2 +-
 src/Ptr_Iterator.defs.hh                           |     34 +-
 src/Ptr_Iterator.inlines.hh                        |      8 +-
 src/Ptr_Iterator.types.hh                          |      2 +-
 src/Rational_Box.hh                                |      4 +-
 src/Rational_Interval.hh                           |     10 +-
 src/Result.defs.hh                                 |     88 +-
 src/Result.inlines.hh                              |     49 +-
 src/Rounding_Dir.defs.hh                           |     48 +-
 src/Rounding_Dir.inlines.hh                        |     57 +-
 src/Row.cc                                         |    316 -
 src/Row.defs.hh                                    |    522 -
 src/Row.inlines.hh                                 |    406 -
 src/Row.types.hh                                   |     23 -
 src/Scalar_Products.cc                             |    141 +-
 src/Scalar_Products.defs.hh                        |     66 +-
 src/Scalar_Products.inlines.hh                     |     51 +-
 src/Scalar_Products.types.hh                       |      2 +-
 src/Slow_Copy.hh                                   |      4 +-
 src/Sparse_Row.cc                                  |   1065 +
 src/Sparse_Row.defs.hh                             |    930 +
 src/Sparse_Row.inlines.hh                          |    378 +
 src/Sparse_Row.templates.hh                        |    147 +
 src/Sparse_Row.types.hh                            |     22 +
 src/Sum_Floating_Point_Expression.defs.hh          |    213 +
 src/Sum_Floating_Point_Expression.inlines.hh       |     70 +
 src/Sum_Floating_Point_Expression.templates.hh     |     53 +
 src/Sum_Floating_Point_Expression.types.hh         |     23 +
 src/Swapping_Vector.defs.hh                        |     98 +
 src/Swapping_Vector.inlines.hh                     |    234 +
 src/Swapping_Vector.types.hh                       |     23 +
 src/Temp.defs.hh                                   |     38 +-
 src/Temp.inlines.hh                                |     16 +-
 src/Temp.templates.hh                              |      4 +-
 src/Threshold_Watcher.cc                           |     27 +
 src/Threshold_Watcher.defs.hh                      |     96 +
 src/Threshold_Watcher.inlines.hh                   |     66 +
 src/Threshold_Watcher.templates.hh                 |     72 +
 src/Threshold_Watcher.types.hh                     |     23 +
 src/Time.cc                                        |     32 +
 src/Time.defs.hh                                   |    126 +
 src/Time.inlines.hh                                |    155 +
 src/Time.types.hh                                  |     30 +
 src/Topology.hh                                    |     29 -
 src/Topology.types.hh                              |     29 +
 src/Variable.cc                                    |     16 +-
 src/Variable.defs.hh                               |     19 +-
 src/Variable.inlines.hh                            |     17 +-
 src/Variable.types.hh                              |      2 +-
 src/Variable_Floating_Point_Expression.defs.hh     |    187 +
 src/Variable_Floating_Point_Expression.inlines.hh  |     94 +
 src/Variable_Floating_Point_Expression.types.hh    |     23 +
 src/Variables_Set.cc                               |     15 +-
 src/Variables_Set.defs.hh                          |     10 +-
 src/Variables_Set.inlines.hh                       |      8 +-
 src/Variables_Set.types.hh                         |      2 +-
 src/WRD_coefficient_types.defs.hh                  |     38 +-
 src/WRD_coefficient_types.inlines.hh               |      4 +-
 src/Watchdog.cc                                    |    250 +
 src/Watchdog.defs.hh                               |    148 +
 src/Watchdog.inlines.hh                            |    101 +
 src/Watchdog.types.hh                              |     22 +
 src/Weight_Profiler.cc                             |     39 +-
 src/Weight_Profiler.defs.hh                        |     61 +-
 src/Widening_Function.defs.hh                      |      4 +-
 src/Widening_Function.inlines.hh                   |      4 +-
 src/Widening_Function.types.hh                     |      2 +-
 src/algorithms.hh                                  |     12 +-
 src/assert.cc                                      |     52 +
 src/assert.hh                                      |    144 +-
 src/assign_or_swap.hh                              |      9 +-
 src/c_streambuf.cc                                 |     49 +-
 src/c_streambuf.defs.hh                            |     23 +-
 src/c_streambuf.inlines.hh                         |      6 +-
 src/c_streambuf.types.hh                           |      2 +-
 src/checked.cc                                     |    445 +-
 src/checked.defs.hh                                |    298 +-
 src/checked.inlines.hh                             |     86 +-
 src/checked_ext.inlines.hh                         |      6 +-
 src/checked_float.inlines.hh                       |    251 +-
 src/checked_int.inlines.hh                         |    184 +-
 src/checked_mpq.inlines.hh                         |     34 +-
 src/checked_mpz.inlines.hh                         |     32 +-
 src/checked_numeric_limits.hh                      |     78 +-
 src/compiler.hh                                    |    161 +-
 src/conversion.cc                                  |    862 -
 src/distances.defs.hh                              |      4 +-
 src/distances.inlines.hh                           |      4 +-
 src/distances.types.hh                             |      2 +-
 src/fpu-c99.inlines.hh                             |      8 +-
 src/fpu-ia32.cc                                    |     22 +-
 src/fpu-ia32.inlines.hh                            |      4 +-
 src/fpu-none.inlines.hh                            |      4 +-
 src/fpu-sparc.inlines.hh                           |      4 +-
 src/fpu.defs.hh                                    |     11 +-
 src/fpu.types.hh                                   |      2 +-
 src/globals.cc                                     |     29 +-
 src/globals.defs.hh                                |    193 +-
 src/globals.inlines.hh                             |     89 +-
 src/globals.types.hh                               |     62 +-
 src/initializer.hh                                 |     12 +-
 src/intervals.defs.hh                              |    117 +-
 src/iterator_to_const.defs.hh                      |      6 +-
 src/iterator_to_const.inlines.hh                   |      4 +-
 src/iterator_to_const.types.hh                     |      2 +-
 src/linearize.hh                                   |    871 +
 src/math_utilities.defs.hh                         |     14 +-
 src/math_utilities.inlines.hh                      |     34 +-
 src/max_space_dimension.hh                         |      4 +-
 src/meta_programming.hh                            |     31 +-
 src/minimize.cc                                    |    402 -
 src/mp_std_bits.cc                                 |      9 +-
 src/mp_std_bits.defs.hh                            |      7 +-
 src/mp_std_bits.inlines.hh                         |      7 +-
 src/namespaces.hh                                  |     10 +-
 src/ppl-config.cc.in                               |    142 +-
 src/ppl.hh.dist                                    | 159621 ++++++++++--------
 src/ppl_header.hh                                  |     10 +-
 src/simplify.cc                                    |    319 -
 src/stdiobuf.cc                                    |     33 +-
 src/stdiobuf.defs.hh                               |      6 +-
 src/stdiobuf.inlines.hh                            |      6 +-
 src/stdiobuf.types.hh                              |      2 +-
 src/swapping_sort.icc                              |    167 -
 src/swapping_sort.templates.hh                     |    179 +
 src/termination.cc                                 |    394 +-
 src/termination.defs.hh                            |     64 +-
 src/termination.templates.hh                       |     80 +-
 src/termination.types.hh                           |     22 +
 src/version.cc                                     |     32 +-
 src/version.hh.in                                  |      9 +-
 src/wrap_assign.hh                                 |    137 +-
 src/wrap_string.cc                                 |     66 +-
 src/wrap_string.hh                                 |      4 +-
 tests/BD_Shape/Makefile.am                         |      5 +-
 tests/BD_Shape/Makefile.in                         |    239 +-
 tests/BD_Shape/addconstraints1.cc                  |      4 +-
 tests/BD_Shape/addspacedims1.cc                    |      4 +-
 tests/BD_Shape/affinedimension1.cc                 |      4 +-
 tests/BD_Shape/affineimage1.cc                     |      4 +-
 tests/BD_Shape/affineimage2.cc                     |      4 +-
 tests/BD_Shape/affinepreimage1.cc                  |      4 +-
 tests/BD_Shape/ascii_dump_load1.cc                 |      4 +-
 tests/BD_Shape/bgp99extrapolation1.cc              |      4 +-
 tests/BD_Shape/bhmz05widening1.cc                  |      4 +-
 tests/BD_Shape/bhz03widening1.cc                   |      4 +-
 tests/BD_Shape/bounded1.cc                         |      4 +-
 tests/BD_Shape/boundedaffineimage1.cc              |      4 +-
 tests/BD_Shape/boundedaffinepreimage1.cc           |     25 +-
 tests/BD_Shape/bounds1.cc                          |      4 +-
 tests/BD_Shape/cc76extrapolation1.cc               |      8 +-
 tests/BD_Shape/cc76narrowing1.cc                   |      4 +-
 tests/BD_Shape/closure1.cc                         |      4 +-
 tests/BD_Shape/concatenate1.cc                     |      4 +-
 tests/BD_Shape/congruences1.cc                     |      4 +-
 tests/BD_Shape/constrains1.cc                      |      4 +-
 tests/BD_Shape/constraints1.cc                     |      4 +-
 tests/BD_Shape/contains1.cc                        |     23 +-
 tests/BD_Shape/containsintegerpoint1.cc            |      4 +-
 tests/BD_Shape/difference1.cc                      |      4 +-
 tests/BD_Shape/discrete1.cc                        |      4 +-
 tests/BD_Shape/disjoint1.cc                        |      4 +-
 tests/BD_Shape/dropsomenonintegerpoints1.cc        |      4 +-
 tests/BD_Shape/empty1.cc                           |      4 +-
 tests/BD_Shape/equality1.cc                        |      4 +-
 tests/BD_Shape/expandspacedim1.cc                  |      4 +-
 tests/BD_Shape/foldspacedims1.cc                   |      4 +-
 tests/BD_Shape/frequency1.cc                       |      4 +-
 tests/BD_Shape/frombdshape1.cc                     |      4 +-
 tests/BD_Shape/frombox1.cc                         |      4 +-
 tests/BD_Shape/fromgensys1.cc                      |      4 +-
 tests/BD_Shape/fromgrid1.cc                        |      4 +-
 tests/BD_Shape/fromoctagonalshape1.cc              |      4 +-
 tests/BD_Shape/frompolyhedron1.cc                  |      4 +-
 tests/BD_Shape/fromspacedim1.cc                    |      4 +-
 tests/BD_Shape/generalizedaffineimage1.cc          |      4 +-
 tests/BD_Shape/generalizedaffineimage2.cc          |      4 +-
 tests/BD_Shape/generalizedaffinepreimage1.cc       |      8 +-
 tests/BD_Shape/generalizedaffinepreimage2.cc       |      4 +-
 tests/BD_Shape/generalizedaffinepreimage3.cc       |      4 +-
 tests/BD_Shape/geomcovers1.cc                      |      4 +-
 tests/BD_Shape/h79widening1.cc                     |      4 +-
 tests/BD_Shape/integerupperboundifexact1.cc        |      4 +-
 tests/BD_Shape/intersection1.cc                    |      4 +-
 tests/BD_Shape/limitedbhmz05extrapolation1.cc      |      4 +-
 tests/BD_Shape/limitedcc76extrapolation1.cc        |      4 +-
 tests/BD_Shape/limitedh79extrapolation1.cc         |      4 +-
 tests/BD_Shape/mapspacedims1.cc                    |      4 +-
 tests/BD_Shape/max_min1.cc                         |      4 +-
 tests/BD_Shape/max_min2.cc                         |      4 +-
 tests/BD_Shape/maxspacedim1.cc                     |      4 +-
 tests/BD_Shape/membytes1.cc                        |      4 +-
 tests/BD_Shape/minconstraints1.cc                  |      4 +-
 tests/BD_Shape/relations1.cc                       |      4 +-
 tests/BD_Shape/relations2.cc                       |      4 +-
 tests/BD_Shape/relations3.cc                       |      6 +-
 tests/BD_Shape/relations4.cc                       |      4 +-
 tests/BD_Shape/removespacedims1.cc                 |      4 +-
 tests/BD_Shape/run_tests                           |      4 +-
 tests/BD_Shape/simplifyusingcontext1.cc            |      4 +-
 tests/BD_Shape/timeelapse1.cc                      |      4 +-
 tests/BD_Shape/unconstrain1.cc                     |      4 +-
 tests/BD_Shape/universe1.cc                        |      4 +-
 tests/BD_Shape/upperbound1.cc                      |      4 +-
 tests/BD_Shape/upperboundifexact1.cc               |      4 +-
 tests/BD_Shape/wrap1.cc                            |      4 +-
 tests/BD_Shape/writebdshape1.cc                    |      4 +-
 tests/Box/Makefile.am                              |     27 +-
 tests/Box/Makefile.in                              |    325 +-
 tests/Box/addconstraints1.cc                       |      4 +-
 tests/Box/addspacedims1.cc                         |      4 +-
 tests/Box/affinedimension1.cc                      |      4 +-
 tests/Box/affineimage1.cc                          |      4 +-
 tests/Box/affinepreimage1.cc                       |      4 +-
 tests/Box/ascii_dump_load1.cc                      |      4 +-
 tests/Box/bgp99extrapolation1.cc                   |      4 +-
 tests/Box/bhz03widening1.cc                        |      4 +-
 tests/Box/bounded1.cc                              |      4 +-
 tests/Box/boundedaffineimage1.cc                   |      4 +-
 tests/Box/boundedaffinepreimage1.cc                |      4 +-
 tests/Box/cc76narrowing1.cc                        |      4 +-
 tests/Box/cc76widening.cc                          |      4 +-
 tests/Box/concatenate1.cc                          |      4 +-
 tests/Box/congruences1.cc                          |      4 +-
 tests/Box/constrains1.cc                           |      4 +-
 tests/Box/constraints1.cc                          |      4 +-
 tests/Box/contains1.cc                             |      4 +-
 tests/Box/containsintegerpoint1.cc                 |      4 +-
 tests/Box/difference1.cc                           |      4 +-
 tests/Box/discrete1.cc                             |      4 +-
 tests/Box/disjoint1.cc                             |      4 +-
 tests/Box/empty1.cc                                |      4 +-
 tests/Box/equality1.cc                             |      4 +-
 tests/Box/expandspacedim1.cc                       |      4 +-
 tests/Box/foldspacedims1.cc                        |      4 +-
 tests/Box/frequency1.cc                            |      4 +-
 tests/Box/frombdshape1.cc                          |      4 +-
 tests/Box/frombox1.cc                              |      4 +-
 tests/Box/fromgensys1.cc                           |      4 +-
 tests/Box/fromgrid1.cc                             |      4 +-
 tests/Box/frompartiallyreducedproduct1.cc          |      4 +-
 tests/Box/frompolyhedron1.cc                       |      4 +-
 tests/Box/frompolyhedron2.cc                       |      4 +-
 tests/Box/fromspacedim1.cc                         |      4 +-
 tests/Box/generalizedaffineimage1.cc               |      4 +-
 tests/Box/generalizedaffineimage2.cc               |      4 +-
 tests/Box/generalizedaffinepreimage1.cc            |      4 +-
 tests/Box/geomcovers1.cc                           |      4 +-
 tests/Box/intersection1.cc                         |      4 +-
 tests/Box/interval1.cc                             |     38 +-
 tests/Box/limitedcc76extrapolation1.cc             |      4 +-
 tests/Box/mapspacedims1.cc                         |      4 +-
 tests/Box/max_min1.cc                              |      4 +-
 tests/Box/maxspacedim1.cc                          |      4 +-
 tests/Box/membytes1.cc                             |     27 +-
 tests/Box/minconstraints1.cc                       |      4 +-
 tests/Box/propagateconstraints1.cc                 |      4 +-
 tests/Box/propagateconstraints2.cc                 |      8 +-
 tests/Box/refinewithcongruence1.cc                 |      4 +-
 tests/Box/refinewithcongruences1.cc                |      4 +-
 tests/Box/refinewithconstraint1.cc                 |      4 +-
 tests/Box/refinewithconstraint2.cc                 |     10 +-
 tests/Box/refinewithconstraints1.cc                |     12 +-
 tests/Box/refinewithconstraints2.cc                |      9 +-
 tests/Box/relations1.cc                            |      4 +-
 tests/Box/relations2.cc                            |      4 +-
 tests/Box/relations3.cc                            |      4 +-
 tests/Box/relations4.cc                            |      5 +-
 tests/Box/removespacedims1.cc                      |      4 +-
 tests/Box/run_tests                                |      4 +-
 tests/Box/simplifyusingcontext1.cc                 |      4 +-
 tests/Box/timeelapse1.cc                           |      4 +-
 tests/Box/topclosed1.cc                            |      4 +-
 tests/Box/unconstrain1.cc                          |      4 +-
 tests/Box/universe1.cc                             |      4 +-
 tests/Box/upperbound1.cc                           |     96 +-
 tests/Box/upperboundifexact1.cc                    |      4 +-
 tests/Box/wrap1.cc                                 |      4 +-
 tests/Box/writebox1.cc                             |      4 +-
 tests/CO_Tree/Makefile.am                          |     78 +
 tests/CO_Tree/Makefile.in                          |    752 +
 tests/CO_Tree/cotree1.cc                           |   2496 +
 tests/Concrete_Expression/C_Expr.cc                |     32 +
 tests/Concrete_Expression/C_Expr.defs.hh           |    257 +
 tests/Concrete_Expression/C_Expr.inlines.hh        |    187 +
 tests/Concrete_Expression/Makefile.am              |    179 +
 tests/Concrete_Expression/Makefile.in              |    950 +
 tests/Concrete_Expression/bdshape1.cc              |    335 +
 tests/Concrete_Expression/bdshape2.cc              |    571 +
 tests/Concrete_Expression/digitalfilters1.cc       |   1121 +
 tests/Concrete_Expression/linearform1.cc           |    342 +
 tests/Concrete_Expression/linearize.cc             |    326 +
 tests/Concrete_Expression/octagonalshape1.cc       |    347 +
 tests/Concrete_Expression/octagonalshape2.cc       |    464 +
 tests/Concrete_Expression/polyhedron1.cc           |    278 +
 tests/Concrete_Expression/polyhedron2.cc           |    242 +
 tests/Concrete_Expression/run_tests                |     56 +
 tests/Grid/Makefile.am                             |     10 +-
 tests/Grid/Makefile.in                             |    292 +-
 tests/Grid/addcongruence1.cc                       |      4 +-
 tests/Grid/addcongruences1.cc                      |      4 +-
 tests/Grid/addconstraint1.cc                       |      4 +-
 tests/Grid/addconstraints1.cc                      |      4 +-
 tests/Grid/addgenerator1.cc                        |      4 +-
 tests/Grid/addgenerators1.cc                       |      4 +-
 tests/Grid/addspacedims1.cc                        |      4 +-
 tests/Grid/affinedim1.cc                           |      4 +-
 tests/Grid/affineimage1.cc                         |      4 +-
 tests/Grid/affineimage2.cc                         |      6 +-
 tests/Grid/affinepreimage1.cc                      |      4 +-
 tests/Grid/affinepreimage2.cc                      |      4 +-
 tests/Grid/approximatepartition1.cc                |      4 +-
 tests/Grid/asciidumpload1.cc                       |      4 +-
 tests/Grid/asciidumpload2.cc                       |      4 +-
 tests/Grid/asciidumpload3.cc                       |      4 +-
 tests/Grid/asciidumpload4.cc                       |      4 +-
 tests/Grid/asciidumpload5.cc                       |      4 +-
 tests/Grid/asciidumpload6.cc                       |      4 +-
 tests/Grid/bhz03widening1.cc                       |      4 +-
 tests/Grid/bounded1.cc                             |      4 +-
 tests/Grid/boundedaffineimage1.cc                  |      4 +-
 tests/Grid/boundedaffinepreimage1.cc               |      4 +-
 tests/Grid/bounds1.cc                              |      4 +-
 tests/Grid/certificate1.cc                         |      4 +-
 tests/Grid/concatenate1.cc                         |      4 +-
 tests/Grid/congruence1.cc                          |      4 +-
 tests/Grid/congruences1.cc                         |      6 +-
 tests/Grid/congruences2.cc                         |      4 +-
 tests/Grid/constraints1.cc                         |      4 +-
 tests/Grid/contains1.cc                            |      4 +-
 tests/Grid/containsintegerpoint1.cc                |      4 +-
 tests/Grid/discrete1.cc                            |      4 +-
 tests/Grid/disjoint1.cc                            |      4 +-
 tests/Grid/dropnonintegerpoints1.cc                |      4 +-
 tests/Grid/equals1.cc                              |      4 +-
 tests/Grid/expandspacedim1.cc                      |      4 +-
 tests/Grid/foldspacedims1.cc                       |      4 +-
 tests/Grid/frequency1.cc                           |      4 +-
 tests/Grid/frombdshape1.cc                         |      4 +-
 tests/Grid/frombox1.cc                             |      4 +-
 tests/Grid/fromgrid1.cc                            |      4 +-
 tests/Grid/fromoctagonalshape1.cc                  |      4 +-
 tests/Grid/frompolyhedron1.cc                      |      4 +-
 tests/Grid/generalizedaffineimage1.cc              |      4 +-
 tests/Grid/generalizedaffineimage2.cc              |      4 +-
 tests/Grid/generalizedaffineimage3.cc              |      4 +-
 tests/Grid/generalizedaffinepreimage1.cc           |      4 +-
 tests/Grid/generalizedaffinepreimage2.cc           |      4 +-
 tests/Grid/generalizedaffinepreimage3.cc           |      4 +-
 tests/Grid/generator1.cc                           |      4 +-
 tests/Grid/generators1.cc                          |      8 +-
 tests/Grid/generators2.cc                          |      6 +-
 tests/Grid/grid1.cc                                |      4 +-
 tests/Grid/grid2.cc                                |      4 +-
 tests/Grid/grid3.cc                                |      4 +-
 tests/Grid/griddifference1.cc                      |      4 +-
 tests/Grid/intersection1.cc                        |      4 +-
 tests/Grid/isempty1.cc                             |      4 +-
 tests/Grid/isuniverse1.cc                          |      4 +-
 tests/Grid/limitedextrapolation1.cc                |      4 +-
 tests/Grid/limitedextrapolation2.cc                |      4 +-
 tests/Grid/limitedextrapolation3.cc                |      4 +-
 tests/Grid/mapspacedims1.cc                        |      4 +-
 tests/Grid/maxmin1.cc                              |      4 +-
 tests/Grid/membytes1.cc                            |      4 +-
 tests/Grid/mincongruences1.cc                      |      4 +-
 tests/Grid/mingenerators1.cc                       |      4 +-
 tests/Grid/outputoperator1.cc                      |      4 +-
 tests/Grid/outputoperator2.cc                      |      4 +-
 tests/Grid/outputoperator3.cc                      |      4 +-
 tests/Grid/partition1.cc                           |      4 +-
 tests/Grid/powersetdifference1.cc                  |      4 +-
 tests/Grid/powersetgeometricallycovers1.cc         |      4 +-
 tests/Grid/powersetgeometricallyequals1.cc         |      4 +-
 tests/Grid/refinewithcongruences1.cc               |      4 +-
 tests/Grid/refinewithconstraints1.cc               |      4 +-
 tests/Grid/relations1.cc                           |      4 +-
 tests/Grid/relations2.cc                           |      4 +-
 tests/Grid/relations3.cc                           |     28 +-
 tests/Grid/removespacedims1.cc                     |      4 +-
 tests/Grid/removespacedims2.cc                     |      4 +-
 tests/Grid/simplifyusingcontext1.cc                |      4 +-
 tests/Grid/timeelapse1.cc                          |      4 +-
 tests/Grid/topclosed1.cc                           |      4 +-
 tests/Grid/topclosure1.cc                          |      4 +-
 tests/Grid/unconstrain1.cc                         |      4 +-
 tests/Grid/upperbound1.cc                          |      4 +-
 tests/Grid/upperbound2.cc                          |      4 +-
 tests/Grid/widening1.cc                            |      4 +-
 tests/Grid/widening2.cc                            |      4 +-
 tests/Grid/widening3.cc                            |      4 +-
 tests/Grid/wrap1.cc                                |      6 +-
 tests/Grid/writecongruencesystem.cc                |      4 +-
 tests/MIP_Problem/Makefile.am                      |     29 +-
 tests/MIP_Problem/Makefile.in                      |    181 +-
 tests/MIP_Problem/ascii_dump_load1.cc              |      4 +-
 tests/MIP_Problem/exceptions1.cc                   |      4 +-
 tests/MIP_Problem/mipproblem1.cc                   |     26 +-
 tests/MIP_Problem/mipproblem2.cc                   |     15 +-
 tests/MIP_Problem/mipproblem3.cc                   |      4 +-
 tests/MIP_Problem/mipproblem4.cc                   |     41 +
 tests/Makefile.am                                  |     10 +-
 tests/Makefile.in                                  |    105 +-
 tests/Octagonal_Shape/Makefile.am                  |      5 +-
 tests/Octagonal_Shape/Makefile.in                  |    237 +-
 tests/Octagonal_Shape/addspacedims1.cc             |      4 +-
 tests/Octagonal_Shape/affinedimension1.cc          |      4 +-
 tests/Octagonal_Shape/affineimage1.cc              |      4 +-
 tests/Octagonal_Shape/affineimage2.cc              |      4 +-
 tests/Octagonal_Shape/affinepreimage1.cc           |      4 +-
 tests/Octagonal_Shape/affinepreimage2.cc           |      4 +-
 tests/Octagonal_Shape/ascii_dump_load1.cc          |      4 +-
 tests/Octagonal_Shape/bhmz05widening1.cc           |      4 +-
 tests/Octagonal_Shape/bhz03widening1.cc            |      4 +-
 tests/Octagonal_Shape/bounded1.cc                  |      6 +-
 tests/Octagonal_Shape/boundedaffineimage1.cc       |      4 +-
 tests/Octagonal_Shape/boundedaffinepreimage1.cc    |      4 +-
 tests/Octagonal_Shape/bounds1.cc                   |      4 +-
 tests/Octagonal_Shape/cc76extrapolation1.cc        |      4 +-
 tests/Octagonal_Shape/cc76narrowing1.cc            |      4 +-
 tests/Octagonal_Shape/chinainit.cc                 |      4 +-
 tests/Octagonal_Shape/concatenate1.cc              |      4 +-
 tests/Octagonal_Shape/congruences1.cc              |      4 +-
 tests/Octagonal_Shape/constrains1.cc               |      4 +-
 tests/Octagonal_Shape/constraints1.cc              |      4 +-
 tests/Octagonal_Shape/contains1.cc                 |     33 +-
 tests/Octagonal_Shape/containsintegerpoint1.cc     |      4 +-
 tests/Octagonal_Shape/difference1.cc               |      4 +-
 tests/Octagonal_Shape/discrete1.cc                 |      4 +-
 tests/Octagonal_Shape/disjoint1.cc                 |      4 +-
 tests/Octagonal_Shape/dropsomenonintegerpoints1.cc |      4 +-
 tests/Octagonal_Shape/empty1.cc                    |      4 +-
 tests/Octagonal_Shape/expandspacedim1.cc           |      4 +-
 tests/Octagonal_Shape/foldspacedims1.cc            |      4 +-
 tests/Octagonal_Shape/frequency1.cc                |      4 +-
 tests/Octagonal_Shape/frombdshape1.cc              |      4 +-
 tests/Octagonal_Shape/frombox1.cc                  |      4 +-
 tests/Octagonal_Shape/fromgensys1.cc               |      4 +-
 tests/Octagonal_Shape/fromgrid1.cc                 |      4 +-
 tests/Octagonal_Shape/fromoctagonalshape1.cc       |      4 +-
 tests/Octagonal_Shape/frompolyhedron1.cc           |      4 +-
 tests/Octagonal_Shape/fromspacedim1.cc             |      4 +-
 tests/Octagonal_Shape/generalizedaffineimage1.cc   |      4 +-
 tests/Octagonal_Shape/generalizedaffineimage2.cc   |      4 +-
 tests/Octagonal_Shape/generalizedaffineimage3.cc   |      4 +-
 tests/Octagonal_Shape/generalizedaffineimage4.cc   |      4 +-
 tests/Octagonal_Shape/generalizedaffineimage5.cc   |      4 +-
 .../Octagonal_Shape/generalizedaffinepreimage1.cc  |      4 +-
 .../Octagonal_Shape/generalizedaffinepreimage2.cc  |      4 +-
 .../Octagonal_Shape/generalizedaffinepreimage3.cc  |      4 +-
 .../Octagonal_Shape/generalizedaffinepreimage4.cc  |      4 +-
 tests/Octagonal_Shape/integerupperboundifexact1.cc |      4 +-
 tests/Octagonal_Shape/intersection1.cc             |      4 +-
 .../Octagonal_Shape/limitedbhmz05extrapolation1.cc |      4 +-
 tests/Octagonal_Shape/limitedcc76extrapolation1.cc |      4 +-
 tests/Octagonal_Shape/mapspacedims1.cc             |      4 +-
 tests/Octagonal_Shape/max_min1.cc                  |      4 +-
 tests/Octagonal_Shape/max_min2.cc                  |      4 +-
 tests/Octagonal_Shape/maxspacedim1.cc              |      4 +-
 tests/Octagonal_Shape/membytes1.cc                 |      4 +-
 tests/Octagonal_Shape/minconstraints1.cc           |      4 +-
 tests/Octagonal_Shape/relatwithcons1.cc            |      4 +-
 tests/Octagonal_Shape/relatwithcons2.cc            |      5 +-
 tests/Octagonal_Shape/relatwithcons3.cc            |      4 +-
 tests/Octagonal_Shape/relatwithgen1.cc             |      5 +-
 tests/Octagonal_Shape/removespacedims1.cc          |      4 +-
 tests/Octagonal_Shape/run_tests                    |      4 +-
 tests/Octagonal_Shape/simplifyusingcontext1.cc     |      4 +-
 tests/Octagonal_Shape/timeelapse1.cc               |      4 +-
 tests/Octagonal_Shape/unconstrain1.cc              |      4 +-
 tests/Octagonal_Shape/universe1.cc                 |      4 +-
 tests/Octagonal_Shape/upperbound1.cc               |      4 +-
 tests/Octagonal_Shape/upperboundifexact1.cc        |      4 +-
 tests/Octagonal_Shape/wrap1.cc                     |      4 +-
 tests/Octagonal_Shape/writeoctagon1.cc             |      4 +-
 tests/PIP_Problem/Makefile.am                      |     14 +-
 tests/PIP_Problem/Makefile.in                      |    133 +-
 tests/PIP_Problem/ascii_dump_load1.cc              |      4 +-
 tests/PIP_Problem/exceptions1.cc                   |      4 +-
 tests/PIP_Problem/pipproblem1.cc                   |      4 +-
 tests/PIP_Problem/pipproblem2.cc                   |      8 +-
 tests/PIP_Problem/pipproblem3.cc                   |     24 +-
 tests/PIP_Problem/weightwatch1.cc                  |    187 +
 tests/Partially_Reduced_Product/Makefile.am        |     10 +-
 tests/Partially_Reduced_Product/Makefile.in        |    256 +-
 tests/Partially_Reduced_Product/addcongruences1.cc |      4 +-
 tests/Partially_Reduced_Product/affineimage1.cc    |      4 +-
 tests/Partially_Reduced_Product/asciidumpload1.cc  |      4 +-
 tests/Partially_Reduced_Product/bounded1.cc        |      4 +-
 .../boundedaffineimage1.cc                         |      4 +-
 tests/Partially_Reduced_Product/bounds1.cc         |      4 +-
 tests/Partially_Reduced_Product/concatenate1.cc    |      4 +-
 tests/Partially_Reduced_Product/congruences1.cc    |      4 +-
 .../congruencesproduct1.cc                         |      4 +-
 tests/Partially_Reduced_Product/constraints1.cc    |      4 +-
 .../constraintsproduct1.cc                         |      4 +-
 tests/Partially_Reduced_Product/contains1.cc       |      4 +-
 tests/Partially_Reduced_Product/difference1.cc     |      4 +-
 tests/Partially_Reduced_Product/dimension1.cc      |      4 +-
 tests/Partially_Reduced_Product/directproduct1.cc  |      4 +-
 tests/Partially_Reduced_Product/discrete1.cc       |      4 +-
 tests/Partially_Reduced_Product/disjoint1.cc       |      4 +-
 .../dropsomenonintegerpoints1.cc                   |      4 +-
 tests/Partially_Reduced_Product/equals1.cc         |      4 +-
 tests/Partially_Reduced_Product/frombdshape1.cc    |      4 +-
 tests/Partially_Reduced_Product/frombox1.cc        |      4 +-
 tests/Partially_Reduced_Product/fromgrid1.cc       |      4 +-
 .../fromoctagonalshape1.cc                         |      4 +-
 tests/Partially_Reduced_Product/frompolyhedron1.cc |      4 +-
 tests/Partially_Reduced_Product/fromproduct1.cc    |      4 +-
 .../generalizedaffineimage1.cc                     |      4 +-
 tests/Partially_Reduced_Product/intersection1.cc   |      4 +-
 tests/Partially_Reduced_Product/isempty1.cc        |      4 +-
 tests/Partially_Reduced_Product/isuniverse1.cc     |      4 +-
 tests/Partially_Reduced_Product/maxmin1.cc         |      4 +-
 .../partially_reduced_product_test.hh              |      4 +-
 .../refinewithcongruences1.cc                      |      4 +-
 .../refinewithconstraints1.cc                      |      4 +-
 tests/Partially_Reduced_Product/relations1.cc      |      4 +-
 .../shapepreservingproduct1.cc                     |      4 +-
 tests/Partially_Reduced_Product/smashproduct1.cc   |      4 +-
 tests/Partially_Reduced_Product/spacedims1.cc      |      4 +-
 tests/Partially_Reduced_Product/timeelapse1.cc     |      4 +-
 tests/Partially_Reduced_Product/topclosed1.cc      |      4 +-
 tests/Partially_Reduced_Product/topclosure1.cc     |      4 +-
 tests/Partially_Reduced_Product/upperbound1.cc     |      4 +-
 tests/Polyhedron/Makefile.am                       |     76 +-
 tests/Polyhedron/Makefile.in                       |   1475 +-
 tests/Polyhedron/addcongruence1.cc                 |      4 +-
 tests/Polyhedron/addcongruences1.cc                |      4 +-
 tests/Polyhedron/addconstraint1.cc                 |      4 +-
 tests/Polyhedron/addconstraints1.cc                |      4 +-
 tests/Polyhedron/addconstraints2.cc                |      4 +-
 tests/Polyhedron/addgenerator1.cc                  |      4 +-
 tests/Polyhedron/addgenerator2.cc                  |      4 +-
 tests/Polyhedron/addgenerators1.cc                 |      4 +-
 tests/Polyhedron/addgenerators2.cc                 |      4 +-
 tests/Polyhedron/addspacedims1.cc                  |      4 +-
 tests/Polyhedron/addspacedims2.cc                  |      4 +-
 tests/Polyhedron/affineimage1.cc                   |      4 +-
 tests/Polyhedron/affineimage2.cc                   |      6 +-
 tests/Polyhedron/affinepreimage1.cc                |      4 +-
 tests/Polyhedron/affinetrans.cc                    |      4 +-
 tests/Polyhedron/append1.cc                        |      4 +-
 tests/Polyhedron/append2.cc                        |      4 +-
 tests/Polyhedron/ascii_dump_load1.cc               |      4 +-
 tests/Polyhedron/ascii_dump_load2.cc               |      4 +-
 tests/Polyhedron/ascii_dump_load3.cc               |      4 +-
 tests/Polyhedron/bgp99extrapolation1.cc            |      8 +-
 tests/Polyhedron/bgp99extrapolation2.cc            |      4 +-
 tests/Polyhedron/bhrz03widening1.cc                |      4 +-
 tests/Polyhedron/bhrz03widening2.cc                |      4 +-
 tests/Polyhedron/bhrz03widening3.cc                |      4 +-
 tests/Polyhedron/bhz03widening1.cc                 |     12 +-
 tests/Polyhedron/bounded1.cc                       |      4 +-
 tests/Polyhedron/boundedaffineimage1.cc            |      4 +-
 tests/Polyhedron/boundedaffinepreimage1.cc         |      4 +-
 tests/Polyhedron/boundedbhrz03extrapolation1.cc    |      6 +-
 tests/Polyhedron/boundedh79extrapolation1.cc       |     10 +-
 tests/Polyhedron/bounds1.cc                        |      4 +-
 tests/Polyhedron/cnncconversion1.cc                |      4 +-
 tests/Polyhedron/concatenate1.cc                   |      4 +-
 tests/Polyhedron/congruences1.cc                   |      4 +-
 tests/Polyhedron/constrains1.cc                    |      4 +-
 tests/Polyhedron/constraints1.cc                   |      4 +-
 tests/Polyhedron/contains1.cc                      |      4 +-
 tests/Polyhedron/contains2.cc                      |      4 +-
 tests/Polyhedron/containsintegerpoint1.cc          |      4 +-
 tests/Polyhedron/disjoint1.cc                      |      4 +-
 tests/Polyhedron/disjoint2.cc                      |      4 +-
 tests/Polyhedron/dropsomenonintegerpoints1.cc      |      4 +-
 tests/Polyhedron/dropsomenonintegerpoints2.cc      |      4 +-
 tests/Polyhedron/dualhypercubes.cc                 |      4 +-
 tests/Polyhedron/empty1.cc                         |      4 +-
 tests/Polyhedron/equals1.cc                        |      4 +-
 tests/Polyhedron/exceptions1.cc                    |      4 +-
 tests/Polyhedron/exceptions2.cc                    |      6 +-
 tests/Polyhedron/exceptions3.cc                    |      4 +-
 tests/Polyhedron/expandspacedim1.cc                |      4 +-
 tests/Polyhedron/expandspacedim2.cc                |      4 +-
 tests/Polyhedron/foldspacedims1.cc                 |      4 +-
 tests/Polyhedron/foldspacedims2.cc                 |      4 +-
 tests/Polyhedron/frequency1.cc                     |      4 +-
 tests/Polyhedron/frombdshape1.cc                   |      4 +-
 tests/Polyhedron/frombox1.cc                       |      4 +-
 tests/Polyhedron/frombox2.cc                       |      4 +-
 tests/Polyhedron/fromgrid1.cc                      |      4 +-
 tests/Polyhedron/fromoctagonalshape1.cc            |      4 +-
 tests/Polyhedron/generalizedaffineimage1.cc        |      4 +-
 tests/Polyhedron/generalizedaffineimage2.cc        |      6 +-
 tests/Polyhedron/generalizedaffinepreimage1.cc     |      4 +-
 tests/Polyhedron/generalizedaffinepreimage2.cc     |      4 +-
 tests/Polyhedron/generators1.cc                    |      4 +-
 tests/Polyhedron/geomcovers1.cc                    |      4 +-
 tests/Polyhedron/h79widening1.cc                   |      4 +-
 tests/Polyhedron/h79widening2.cc                   |      4 +-
 tests/Polyhedron/hybrid.cc                         |      4 +-
 tests/Polyhedron/intersection1.cc                  |      4 +-
 tests/Polyhedron/limitedbhrz03extrapolation1.cc    |      4 +-
 tests/Polyhedron/limitedh79extrapolation1.cc       |      4 +-
 tests/Polyhedron/linearexpression1.cc              |      4 +-
 tests/Polyhedron/linearpartition1.cc               |      4 +-
 tests/Polyhedron/linearsystem1.cc                  |     30 +-
 tests/Polyhedron/mapspacedims1.cc                  |      4 +-
 tests/Polyhedron/matrix1.cc                        |    261 +-
 tests/Polyhedron/max_min1.cc                       |      4 +-
 tests/Polyhedron/maxspacedim1.cc                   |      4 +-
 tests/Polyhedron/mc91.cc                           |      4 +-
 tests/Polyhedron/membytes1.cc                      |      4 +-
 tests/Polyhedron/memory1.cc                        |      4 +-
 tests/Polyhedron/memory2.cc                        |      6 +-
 tests/Polyhedron/minconstraints1.cc                |      4 +-
 tests/Polyhedron/minconstraints2.cc                |      4 +-
 tests/Polyhedron/mingenerators1.cc                 |      4 +-
 tests/Polyhedron/mingenerators2.cc                 |      4 +-
 tests/Polyhedron/nncminimize1.cc                   |      4 +-
 tests/Polyhedron/nncminimize2.cc                   |      4 +-
 tests/Polyhedron/numberinput1.cc                   |      4 +-
 tests/Polyhedron/onepoint.cc                       |      4 +-
 tests/Polyhedron/permute.cc                        |      4 +-
 tests/Polyhedron/polydifference1.cc                |      4 +-
 tests/Polyhedron/polydifference2.cc                |      4 +-
 tests/Polyhedron/polyhull1.cc                      |      4 +-
 tests/Polyhedron/polyhull2.cc                      |      4 +-
 tests/Polyhedron/polyhullifexact1.cc               |      4 +-
 tests/Polyhedron/polyhullifexact2.cc               |      4 +-
 tests/Polyhedron/randphull1.cc                     |      5 +-
 tests/Polyhedron/refinewithcongruence1.cc          |      4 +-
 tests/Polyhedron/refinewithcongruences1.cc         |      4 +-
 tests/Polyhedron/refinewithconstraint1.cc          |      4 +-
 tests/Polyhedron/refinewithconstraints1.cc         |      4 +-
 tests/Polyhedron/relations1.cc                     |      4 +-
 tests/Polyhedron/relations2.cc                     |      4 +-
 tests/Polyhedron/relations3.cc                     |      4 +-
 tests/Polyhedron/removespacedims1.cc               |      4 +-
 tests/Polyhedron/removespacedims2.cc               |     36 +-
 tests/Polyhedron/simplifyusingcontext1.cc          |      4 +-
 tests/Polyhedron/smm1.cc                           |      4 +-
 tests/Polyhedron/sparserow1.cc                     |    626 +
 tests/Polyhedron/termination1.cc                   |      4 +-
 tests/Polyhedron/termination2.cc                   |      4 +-
 tests/Polyhedron/timeelapse1.cc                    |      4 +-
 tests/Polyhedron/timeelapse2.cc                    |      4 +-
 tests/Polyhedron/topclosed1.cc                     |      4 +-
 tests/Polyhedron/topclosure1.cc                    |      4 +-
 tests/Polyhedron/unconstrain1.cc                   |      4 +-
 tests/Polyhedron/universe1.cc                      |      4 +-
 tests/Polyhedron/universe2.cc                      |      4 +-
 tests/Polyhedron/variablesset1.cc                  |      4 +-
 tests/Polyhedron/watchdog1.cc                      |     22 +-
 tests/Polyhedron/weightwatch1.cc                   |      9 +-
 tests/Polyhedron/wrap1.cc                          |      4 +-
 tests/Polyhedron/wrap2.cc                          |      4 +-
 tests/Polyhedron/writeconsys1.cc                   |      4 +-
 tests/Polyhedron/writegensys1.cc                   |      4 +-
 tests/Polyhedron/writepolyhedron1.cc               |      4 +-
 tests/Polyhedron/writepolyhedron2.cc               |      4 +-
 tests/Polyhedron/writerelation1.cc                 |      4 +-
 tests/Polyhedron/writevariable1.cc                 |      6 +-
 tests/Powerset/Makefile.am                         |     10 +-
 tests/Powerset/Makefile.in                         |    186 +-
 tests/Powerset/addcongruences1.cc                  |      4 +-
 tests/Powerset/addconstraints1.cc                  |      4 +-
 tests/Powerset/affinedimension1.cc                 |      4 +-
 tests/Powerset/affineimage1.cc                     |      4 +-
 tests/Powerset/affinepreimage1.cc                  |      4 +-
 tests/Powerset/bounded1.cc                         |      4 +-
 tests/Powerset/bounds1.cc                          |      4 +-
 tests/Powerset/closed1.cc                          |      4 +-
 tests/Powerset/closure1.cc                         |      4 +-
 tests/Powerset/collapse1.cc                        |      4 +-
 tests/Powerset/concatenate1.cc                     |      4 +-
 tests/Powerset/contains1.cc                        |      4 +-
 tests/Powerset/containsintegerpoint1.cc            |      4 +-
 tests/Powerset/difference1.cc                      |      4 +-
 tests/Powerset/discrete1.cc                        |      4 +-
 tests/Powerset/disjoint1.cc                        |      4 +-
 tests/Powerset/disjunct1.cc                        |      4 +-
 tests/Powerset/empty1.cc                           |      8 +-
 tests/Powerset/entails1.cc                         |      4 +-
 tests/Powerset/equals1.cc                          |      4 +-
 tests/Powerset/frombdshape1.cc                     |      4 +-
 tests/Powerset/frombox1.cc                         |      4 +-
 tests/Powerset/fromcongruences1.cc                 |      4 +-
 tests/Powerset/fromconstraints1.cc                 |      4 +-
 tests/Powerset/fromgrid1.cc                        |      4 +-
 tests/Powerset/fromoctagonalshape1.cc              |      4 +-
 tests/Powerset/frompolyhedron1.cc                  |      4 +-
 tests/Powerset/fromspacedimension1.cc              |      4 +-
 tests/Powerset/intersection1.cc                    |      4 +-
 tests/Powerset/maxmin1.cc                          |      4 +-
 tests/Powerset/meet1.cc                            |      4 +-
 tests/Powerset/membytes1.cc                        |      4 +-
 tests/Powerset/powerset1.cc                        |      8 +-
 tests/Powerset/reduce1.cc                          |      4 +-
 tests/Powerset/refinewith1.cc                      |      4 +-
 tests/Powerset/relationwith1.cc                    |      4 +-
 tests/Powerset/simplifyusingcontext1.cc            |      6 +-
 tests/Powerset/size1.cc                            |      4 +-
 tests/Powerset/spacedims1.cc                       |      4 +-
 tests/Powerset/universe1.cc                        |      4 +-
 tests/Powerset/upperbound1.cc                      |      4 +-
 tests/README                                       |     21 +-
 tests/Random_Number_Generator.defs.hh              |      4 +-
 tests/Random_Number_Generator.inlines.hh           |      7 +-
 tests/Random_Number_Generator.types.hh             |      2 +-
 tests/Watchdog/Makefile.am                         |     70 +
 tests/Watchdog/Makefile.in                         |    744 +
 tests/Watchdog/watchdog1.cc                        |     78 +
 tests/files.cc                                     |      4 +-
 tests/files.hh                                     |      4 +-
 tests/ppl_test.cc                                  |      6 +-
 tests/ppl_test.hh                                  |     58 +-
 utils/Makefile.am                                  |      4 +-
 utils/Makefile.in                                  |     99 +-
 utils/build_header.in                              |      4 +-
 utils/cm_cleaner.sh                                |      4 +-
 utils/cm_splitter.sh                               |      4 +-
 utils/text2cxxarray.in                             |     40 +-
 utils/timings.cc                                   |     45 +-
 utils/timings.hh                                   |      4 +-
 1575 files changed, 389987 insertions(+), 322995 deletions(-)

diff --git a/BUGS b/BUGS
index 87627ce..340a7ba 100644
--- a/BUGS
+++ b/BUGS
@@ -19,4 +19,4 @@ KNOWN BUGS
 
 All known bugs were resolved before the release.  It is likely that
 there are still bugs in the released version.  Any bugs found after
-the release will be listed at http://www.cs.unipr.it/ppl/Bugs/ .
+the release will be listed at http://bugseng.com/products/ppl/Bugs/ .
diff --git a/CREDITS b/CREDITS
index c88eca7..1e735b2 100644
--- a/CREDITS
+++ b/CREDITS
@@ -10,9 +10,10 @@ people:
 Core Development Team:
 ----------------------
 
-  Roberto Bagnara       [1] (University of Parma)
-  Patricia M. Hill      [2] (University of Leeds)
-  Enea Zaffanella       [3] (University of Parma)
+  Roberto Bagnara       [1] (BUGSENG srl and University of Parma)
+  Patricia M. Hill      [2] (BUGSENG srl and University of Leeds)
+  Enea Zaffanella       [3] (BUGSENG srl and University of Parma)
+  Abramo Bagnara            (BUGSENG srl)
 
 
 Former Members of the Core Development Team:
@@ -28,20 +29,11 @@ Former Members of the Core Development Team:
 Current Contributors:
 ---------------------
 
-  Abramo Bagnara        (Opera Unica) rewrote and generalized the
-                        support for checked coefficients.  He also
-                        wrote the support for extended numbers and is
-                        currently writing a new implementation of
-                        intervals.  He also helps on several other
-                        design and implementation issues.
-
-  Fabio Bossi           (student of the University of Parma)
-                        is working on the PPL support for the approximation
-                        of floating point computations.
-
-  Francois Galea        [*] (University of Versailles) is working
-                        at the implementation of the Parametric Integer
-                        Programming solver.
+  Andrea Cimino         (former student of the University of Parma)
+                        wrote most of the mixed integer programming
+                        solver, and also most of the Java and OCaml
+                        interfaces.  He keeps helping us, especially
+                        with the web site.
 
   Marco Poletti         (student of the University of Bologna)
                         implemented the sparse matrices that are used
@@ -51,10 +43,7 @@ Current Contributors:
                         on improving the PPL's memory footprint and
                         on other improvements to the library.
 
-  Enric Rodriguez Carbonell [4] (Technical University of Catalonia) is
-                        working on the implementation of polynomial spaces.
-
-  Alessandro Zaccagnini [5] (University of Parma) has helped with
+  Alessandro Zaccagnini [4] (University of Parma) has helped with
                         the efficient implementation of GCD and LCM
                         for checked numbers.  He is now working on the
                         definitions of interval arithmetic operations.
@@ -65,7 +54,7 @@ Current Contributors:
 Past Contributors:
 ------------------
 
-  Roberto Amadini       (student of the University of Parma)
+  Roberto Amadini       (former student of the University of Parma)
                         did some work on the PPL support for the
                         approximation of floating point computations.
 
@@ -79,6 +68,10 @@ Past Contributors:
                         did some work on the PPL support for the
                         approximation of floating point computations.
 
+  Fabio Bossi           (former student of the University of Parma)
+                        worked on the PPL support for the approximation
+                        of floating point computations.
+
   Danilo Bonardi        (former student of the University of Parma) worked
                         on a development branch where he experimented
                         with the use of metaprogramming techniques
@@ -91,54 +84,59 @@ Past Contributors:
                         one of the four students with which the PPL
                         project started.
 
-  Andrea Cimino         (former student of the University of Parma)
-                        wrote most of the mixed integer programming
-                        solver, and also most of the Java and OCaml
-                        interfaces.
-
-  Katy Dobson           [6] (former student of the University of Leeds)
+  Katy Dobson           (former student of the University of Leeds)
                         worked on the formalization and definition of
                         algorithms for rational grids and products
                         of grids and polyhedra.
 
-  Giordano Fracasso     (University of Parma) wrote the initial version
-                        of the support for native and checked integer
-                        coefficients.
+  Giordano Fracasso     (former student of the University of Parma) wrote
+                        the initial version of the support for native
+                        and checked integer coefficients.
+
+  Francois Galea        [5] (University of Versailles) worked
+                        at the implementation of the Parametric Integer
+                        Programming solver.
 
   Maximiliano Marchesi  (former student of the University of Parma)
                         helped a little to improve the documentation for
                         bounded differences.
 
-  Elena Mazzi           (University of Parma) worked on our implementation
-                        of bounded differences and octagons.  She also
-                        participated in the theoretical and practical
-                        work concerning widening operators for weakly
-                        relational domains.
+  Elena Mazzi           (former student of the University of Parma) worked
+                        on our implementation of bounded differences
+                        and octagons.  She also participated in the
+                        theoretical and practical work concerning
+                        widening operators for weakly relational
+                        domains.
 
   David Merchat         (formerly at the University of Parma) helped us
                         with the generation of the library's documentation
                         using Doxygen.
 
-  Matthew Mundell       [7] (formerly at the University of Leeds) worked
+  Matthew Mundell       [6] (formerly at the University of Leeds) worked
                         on the implementation of rational grids.  He has
                         also helped on other implementation issues.
 
-  Andrea Pescetti       (University of Parma) was one of the four students
-                        with which the PPL project started.  Later, he
-                        helped a little with the library's documentation.
+  Andrea Pescetti       (former student of the University of Parma) was one
+                        of the four students with which the PPL
+                        project started.  Later, he helped a little
+                        with the library's documentation.
 
   Barbara Quartieri     (former student of the University of Parma) worked
                         on our implementation of bounded differences and
                         octagons.
 
+  Enric Rodriguez Carbonell [7] (Technical University of Catalonia)
+                        worked at the implementation of polynomial spaces.
+
   Angela Stazzone       (former student of the University of Parma)
                         worked on the library's documentation.
 
-  Fabio Trabucchi       (University of Parma) worked on a development
-                        branch where he added serializers for all the
-                        objects of the PPL.  Support for serialization
-                        based on Fabio's work will be available in a
-                        future release of the library.
+  Fabio Trabucchi       (former student of the University of Parma) worked
+                        on a development branch where he added
+                        serializers for all the objects of the PPL.
+                        Support for serialization based on Fabio's
+                        work will be available in a future release of
+                        the library.
 
   Claudio Trento        (former student of the University of Pisa) did
                         a small amount of work on an experimental OCaml
@@ -201,10 +199,9 @@ People:
                         this possibility, porting the PPL to the ARM's
                         ABIs would have taken ages.
 
-  Bruno Haible          [19] (ILOG) made it possible (by writing the
-                        AC_LIB_LINKFLAGS macro and explaining how
-                        to use it) to allow the use of versions of the
-                        GMP library installed in nonstandard places.
+  Bruno Haible          [19] (ILOG) helped us in our first steps towards
+                        using versions of the GMP library installed in
+                        nonstandard places.
 
   Bertrand Jeannet      [20] (IRISA) wrote the New Polka library [21]
                         and made it available.  We had several
@@ -238,7 +235,8 @@ People:
                         analyze the same Prolog programs.  Since these
                         systems did not share a single line of code,
                         this gave us excellent opportunities for our
-                        initial testing and debugging work.
+                        initial testing and debugging work.  Fred has
+                        also helped us to port the PPL to Mac OS X.
 
   Ken Mixter            (then at Carnegie Mellon University) provided
                         useful feedback while working on an
@@ -323,9 +321,9 @@ We are grateful for the following contributions:
   numerical abstractions and how the PPL can help.  Special thanks go
   to Albert Cohen [57] for this sponsorship.
 
-- INRIA [56] is supporting Abramo Bagnara from January 1st to May 31st,
-  2009, to work on the PPL and its development infrastructure.
-  Many thanks go, in particular, to Albert Cohen [57].
+- INRIA [56] supported the work of Abramo Bagnara from January 1st to
+  May 31st, 2009, to work on the PPL and its development
+  infrastructure.  Many thanks go, in particular, to Albert Cohen [57].
 
 
 Some of our research work has been partly supported by the following
@@ -352,28 +350,30 @@ projects and organizations:
 - PRIN project ``AIDA 2007 - Abstract Interpretation: Design and
   Applications'' [62];
 
+- Integrated Action Italy-Spain 2001-2002 ``Advanced Development Environments
+  for Logic Programs'' [63];
+
 - Royal Society Joint project 2004/R1-EU (UK-Italy)
   ``Automatic Detection of Unstable Numerical Computations'';
 
 - EPSRC (UK) project EP/C520726/1
-  ``Numerical Domains for Software Analysis'' [63];
+  ``Numerical Domains for Software Analysis'' [64];
 
 - Royal Society International Outgoing Short Visit 2007/R4
-  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [64];
+  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [65];
 
 - EPSRC (UK) project EP/G025177/1
-  ``Geometric Abstractions for Scalable Program Analyzers'' [64].
+  ``Geometric Abstractions for Scalable Program Analyzers'' [65].
 
 --------
 
  [1] http://www.cs.unipr.it/~bagnara/
  [2] http://www.comp.leeds.ac.uk/hill/
  [3] http://www.cs.unipr.it/~zaffanella/
- [*] http://www.prism.uvsq.fr/~fgalea/
- [4] http://www.lsi.upc.edu/~erodri/
- [5] http://www.math.unipr.it/~zaccagni/
- [6] http://www.comp.leeds.ac.uk/katyd/
- [7] http://www.mundell.ukfsn.org/
+ [4] http://www.math.unipr.it/~zaccagni/
+ [5] http://fgalea.free.fr/
+ [6] http://www.mundell.ukfsn.org/
+ [7] http://www.lsi.upc.edu/~erodri/
  [8] http://www.irisa.fr/lande/fbesson/fbesson.html
  [9] http://www.cs.ucsb.edu/~bultan/
 [10] http://www.clip.dia.fi.upm.es/~boris/
@@ -388,8 +388,8 @@ projects and organizations:
 [19] http://www.haible.de/bruno/
 [20] http://www.irisa.fr/prive/Bertrand.Jeannet/
 [21] http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html
-[22] http://www.cs.unipr.it/ppl/Documentation/chernikova.c
-[23] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92
+[22] http://bugseng.com/products/ppl/documentation/chernikova.c
+[23] http://bugseng.com/products/ppl/documentation/bibliography#LeVerge92
 [24] http://research.microsoft.com/~logozzo/
 [25] http://homepages.inf.ed.ac.uk/kwxm/
 [26] http://www.math.unipr.it/~medori/
@@ -429,5 +429,6 @@ projects and organizations:
 [60] http://www.disi.unige.it/person/DelzannoG/cover/
 [61] http://www.cs.unipr.it/Projects/AIDA/
 [62] http://www.cs.unipr.it/Projects/AIDA2007/
-[63] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html
-[64] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html
+[63] http://www.cs.unipr.it/Projects/AzInt2001-2002Sp
+[64] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html
+[65] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html
diff --git a/ChangeLog b/ChangeLog
index fc10234..8bc799b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,645 +1,8684 @@
-2011-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.11.2 released.
+	* PPL 1.0 released.
 
-2011-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS, README, Watchdog/src/Makefile.am, configure.ac,
-	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
-	demos/ppl_pips/ppl_pips.1, doc/libppl.3, doc/libppl_c.3,
-	doc/ppl-config.1, doc/ppl-config_extra_man_text, src/Makefile.am: 
-	Preparation for the release of PPL 0.11.2.
+	* doc/definitions.dox: Work around a Doxygen bug.  Stick to ASCII.
 
-2011-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Row.defs.hh: Fixed a documentation problem in a \ref Doxygen
-	command.
+	* doc/ppl_citations.bib: More PPL citations.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh: Avoid
-	(again) using the same macro name for different purposes.  Doing it
-	confuses both the reader and Doxygen.
+	* doc/ppl.bib: Stick to ASCII.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/devref-language-interface.tex, doc/devref.tex,
-	doc/user-language-interface.tex, doc/user.tex: Get rid of LaTeX
-	warnings related to package fancyhdr.
+	* README.configure: Added a section on README.configure describing
+	dense/sparse row choices.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/Makefile.am, doc/devref-language-interface.doxyconf.in,
-	doc/user-language-interface.doxyconf.in,
-	interfaces/C/C_interface.dox: Avoid duplicate PDF labels in the
-	configured C interface manuals.
+	* doc/ppl_citations.bib: More PPL citations.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/devref-language-interface.tex, doc/devref.tex,
-	doc/user-language-interface.tex, doc/user.tex: Fixed a duplicate
-	hypertarget error in the generated PDF documentation.
+	* doc/ppl_citations.bib: New PPL citations.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh: Avoid
-	using the same macro name for different purposes.  Doing it confuses
-	both the reader and Doxygen.
+	* devtools/generate_dox_ci_prolog_manual: Redundant script removed.
 
-2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* NEWS: Two items added.
+	* doc/devref-language-interface.doxyconf.in,
+	doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	doc/user-language-interface.doxyconf.in, doc/user.doxyconf-html.in,
+	doc/user.doxyconf-latex.in: Upgraded doxygen configuration files to
+	version 1.8.1.1.
 
-2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* m4/ac_check_gmp.m4: When cross-compiling, assume that GMP has been
-	compiled with support for propagating exceptions.
+	* src/Sparse_Row.defs.hh: Avoid useless namespace closing and
+	reopening.
 
-2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/fpu-ia32.cc: Work around a bug showing up under mingw-w64.
+	* NEWS: Improved section announcing sparse/dense row representation
+	adoption.
 
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* Watchdog/doc/devref.doxyconf-latex.in,
-	doc/devref-language-interface.doxyconf.in,
-	doc/devref.doxyconf-latex.in: Set INLINE_SOURCES = NO when producing
-	LaTeX documentation.  This change is a workaround to a pdftex + hyperref issue that may
-	result in the following error    \pdfendlink ended up in different nesting level than
-	   \pdfstartlink when using some versions of Doxygen (e.g., 1.7.3).  According to http://tug.org/errors.html the error is triggered when
-	a hyperlink is split across page boundaries and it can be generated
-	even by valid LaTeX code. Disabling source inlining is a way to
-	greatly decrease its likelihood.
+	* INSTALL, compile, config.guess, config.sub, depcomp, install-sh,
+	missing, mkinstalldirs: Updated.
 
-2011-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/meta_programming.hh: Fixed a couple of Doxygen related
-	problems.
+	* doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1,
+	doc/ppl-config_extra_man_text: Updated.
 
-2011-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Updated.
+
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* NEWS: Updated.
 
-2011-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/fpu-ia32.cc: No longer overwrite the SIGILL handler.
+	* doc/definitions.dox: Updated.
 
-2011-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	*
-	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
-	a: Never use `\c';  use <CODE></CODE> instead (yes, uppercase).
+	* doc/ppl.bib: Notes fixed.
 
-2011-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS, README.configure, configure.ac, m4/ac_check_fpu_control.m4: 
-	The `--disable-fpmath' configure option now disables all floating
-	point computations.
+	* doc/ppl.bib: BagnaraMPZ12IC has just been published.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.11.1 released.
+	* demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_pips/ppl_pips.1, doc/ppl-config.1: Updated.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* configure.ac: Update version.
+	* README: Updated.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog: Mark ChangeLog.
+	* demos/ppl_lpsol/Makefile.am: Unconditionally distribute the man
+	page.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-26  Abramo Bagnara <abramo.bagnara at bugseng.com>
 
-	* Watchdog/ChangeLog: Mark ChangeLog.
+	* tests/Polyhedron/randphull1.cc: Fixed fpu rounding set/restore.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* ChangeLog: Updated.
+	* src/Dense_Row.defs.hh, src/Expression_Hide_Inhomo.defs.hh,
+	src/Expression_Hide_Last.defs.hh, src/Linear_Expression.defs.hh,
+	src/Linear_Expression_Impl.defs.hh,
+	src/Linear_Expression_Interface.defs.hh, src/Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Swapping_Vector.defs.hh: Use macro
+	PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS to exclude several
+	classes/functions from user documentation.  While at it, also wrap
+	several long lines.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS: Added missing news items.
+	* src/Makefile.am: Version bumped.
 
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS: Added missing news items.
+	* tests/Polyhedron/watchdog1.cc: Indentation fixed.
 
-2010-10-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Octagonal_Shape.templates.hh,
-	tests/Octagonal_Shape/affineimage1.cc: Improved precision of
-	Octagonal_Shape::affine_image().  The method was rather imprecise on
-	sign-symmetry affine transformations.  Also noted that strong
-	reduction is preserved in that case.
+	* tests/MIP_Problem/mipproblem2.cc: Cater for systems where Watchdog
+	objects are not supported.
 
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* ChangeLog, Watchdog/ChangeLog: Updated.
+	* interfaces/C/ppl_c_implementation_common.inlines.hh: Removed a
+	couple of typedefs.  These have become useless (and confusing) after
+	the merge of sparse_matrices.
 
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/libppl.3, doc/libppl_c.3, doc/ppl-config_extra_man_text: 
-	Further changes for PPL 0.11.1.
+	* src/Linear_Form.templates.hh, src/Swapping_Vector.defs.hh: Fixed
+	another couple of Doxygen warnings.
 
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* CREDITS: Added an entry for Marco Poletti.
+	* src/Linear_Form.templates.hh, src/Linear_System.defs.hh: Fixed
+	several Doxygen warnings.
 
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-22  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* NEWS, README, Watchdog/config.guess, Watchdog/config.sub,
-	config.guess, config.sub, demos/ppl_lcdd/ppl_lcdd.1,
-	demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_pips/ppl_pips.1,
-	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1: Updated for the
-	release of PPL 0.11.1.
+	* src/Init.defs.hh: Typo in documentation fixed.
 
-2011-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Bit_Matrix.cc, src/Linear_System.cc,
-	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
-	src/swapping_sort.icc: Replaced the algorithm used for sorting
-	Linear_System and Bit_Matrix.  The new algorithm, based on STL's std::sort and std::unique, is
-	applied to a vector of rows' indices and implements indirect sort
-	using function objects for the comparisons and swap operations.
-	Apart from a (usually minor) decrease in the number of comparisons
-	and swaps perfomed, the new algorithm should be better wrt the
-	consumption of stack space, by getting rid of ad-hoc sort/unique
-	functions, as well as the special-purpose iterator class
-	Linear_System::With_Bit_Matrix_iterator.
+	* src/Interval.inlines.hh: Long source lines avoided.
 
-2011-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Polyhedron/Makefile.am: Disabled the `memory1' test (at
-	least for the time being).
+	* src/Interval.defs.hh: Test restored.
 
-2011-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/PIP_Problem/pipproblem1.cc: test06 no longer overflows when
-	using 8-bit coefficients.
+	* tests/Box/interval1.cc, tests/Box/membytes1.cc,
+	tests/Polyhedron/randphull1.cc: Restore the pre-PPL rounding mode
+	before using libm functions.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* .gitignore: Ignore *.lzma.
+	* src/Init.defs.hh: Documentation of restore_pre_PPL_rounding()
+	extended.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* Watchdog/tests/.gitignore, interfaces/C/tests/.gitignore,
-	interfaces/Java/parma_polyhedra_library/.gitignore,
-	interfaces/Prolog/GNU/.gitignore, tests/Grid/.gitignore,
-	tests/PIP_Problem/.gitignore,
-	tests/Partially_Reduced_Product/.gitignore,
-	tests/Polyhedron/.gitignore: Updated.
+	* NEWS: Updated.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl: 
-	Copyright notices updated.
+	* m4/m4.m4: Message improved.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-06-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/Prolog/Ciao/Makefile.am,
-	interfaces/Prolog/GNU/Makefile.am,
-	interfaces/Prolog/SICStus/Makefile.am,
-	interfaces/Prolog/SWI/Makefile.am,
-	interfaces/Prolog/XSB/Makefile.am,
-	interfaces/Prolog/YAP/Makefile.am: Fixed a number of wrong
-	conditionals.
+	* interfaces/C/ppl_c_header.h: Fixed a couple of Doxygen references.
 
-2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
-	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
-	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
-	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a,
-	tests/PIP_Problem/pipproblem1.cc: Updated expected results.
+	* NEWS: Mentioned a bug corrected.
 
-2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-06-19  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
-	src/PIP_Tree.inlines.hh: The resolution process for PIP_Problem now
-	better exploits the integrality of parameters to simplify the newly
-	generated tautological constraints, the splitting constraints of
-	decision nodes, and the expressions defining artificial parameters.
+	* m4/ac_check_gmp.m4: Fixed copy-and-paste mistake.  (Thanks to
+	Christian Luidolt.)
 
-2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/PIP_Tree.defs.hh: Document parameter indent_level in
-	PIP_Tree_Node::solve().
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: Fixed
+	a bug affecting method contains() of weakly-relational shapes.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac: Version number bumped.
+	* tests/BD_Shape/contains1.cc, tests/Octagonal_Shape/contains1.cc: 
+	Added tests showing a bug in method contains() of weakly-relational
+	shapes.  Method returns a wrong result when the shape is empty and the other
+	argument is not empty. Tests are based on a bug report from Gianluca
+	Amato.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* Watchdog/tests/Makefile.am, demos/ppl_pips/Makefile.am,
-	interfaces/C/tests/Makefile.am, interfaces/OCaml/tests/Makefile.am,
-	interfaces/Prolog/SWI/Makefile.am, tests/Ask_Tell/Makefile.am,
-	tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
-	tests/Grid/Makefile.am, tests/MIP_Problem/Makefile.am,
-	tests/Octagonal_Shape/Makefile.am, tests/PIP_Problem/Makefile.am,
-	tests/Partially_Reduced_Product/Makefile.am,
-	tests/Polyhedron/Makefile.am, tests/Powerset/Makefile.am: Reduce the
-	argument of valgrind's --num-callers below the allowed maximum.
+	* CREDITS: Links fixed.
 
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/Prolog/tests/expected_clpq2_mpz,
-	interfaces/Prolog/tests/expected_clpq_mpz: Copyright notices
-	updated.
+	* NEWS: Mention a recently fixed bug in the PIP solver.
 
-2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-18  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* tests/Polyhedron/numberinput1.cc: Fixed auxiliary function
-	aux_test to perform proper comparisons.  In the meanwhile, fixed
-	another typo.
+	* tests/ppl_test.hh: Properly match #endif's directives using
+	comments.
 
-2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
-	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
-	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
-	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a: 
-	Corrected expected results.
+	* src/Watchdog.inlines.hh: Inclusions reordered to match the PPL
+	coding standard.
 
-2011-02-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
-	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
-	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
-	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a,
-	demos/ppl_pips/expected_mpz, demos/ppl_pips/expected_mpz_a: 
-	Corrected expected results.
+	* src/globals.inlines.hh: Added missing inclusion of <stdexcept>.
 
-2011-02-10  Abramo Bagnara <abramo.bagnara at gmail.com>
+2012-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/checked.cc: Fixed stream state on checked input.
+	* src/PIP_Tree.cc: Recompute the sign of the special_equality_row
+	after modyfying it.  This fixes the bug shown by test04() in
+	tests/PIP_Problem/pipproblem3.cc.
 
-2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-04  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/PIP_Tree.cc: Fixed a bug in the simplification of the solution
-	tree.  We were too eager in merging a single true child with its
-	parent: if the true child happened to be a decision node with both
-	childs, the merging was causing the violation of a PIP_Decision_Node
-	invariant.
+	* tests/PIP_Problem/pipproblem3.cc: Added a new test showing a bug
+	in PIP_Problem.  The test was reduced from a slightly bigger one
+	provided by Fred Mesnard.
 
-2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* NEWS: Mentioned the correction of a few problems.
+	* src/Linear_Expression_Impl.defs.hh,
+	src/Linear_Expression_Impl.inlines.hh: Make sure template
+	specializations are declared.
 
-2011-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+2012-05-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4: Fixed
-	function ppl_Pointset_Powerset_*_get_disjunct in OCaml interface.
+	* src/Bit_Matrix.cc, src/Linear_System.inlines.hh,
+	src/Linear_System.templates.hh, src/Swapping_Vector.inlines.hh,
+	src/swapping_sort.templates.hh: Avoid implicit conversions changing
+	integer signedness.  Detected by ECLAIR service utypflag.
 
-2011-02-05  Marco Poletti <poletti.marco at gmail.com>
+2012-05-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/Polyhedron_public.cc: Polyhedron: fix an invalid reference bug
-	in generalized_affine_image().
+	* src/Generator.inlines.hh, src/Linear_Expression_Impl.templates.hh: 
+	Fixed indentation.  Detected by ECLAIR service indntion.
 
-2011-02-05  Marco Poletti <poletti.marco at gmail.com>
+2012-05-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/Grid.templates.hh: Grid: avoid using an invalid reference in
-	the constructor from a Box.
+	* src/CO_Tree.cc: Avoid C-style casts.  Detected by ECLAIR service
+	castexpr.
 
-2011-02-04  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac: Version number bumped.
+	* src/Box.templates.hh, src/Linear_Expression.cc,
+	src/Linear_Expression_Impl.templates.hh: Prefer PPL_UNREACHABLE to
+	PPL_ASSERT(false).
 
-2011-02-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+2012-05-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/checked.inlines.hh: Added other plain char specializations.
+	* src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/Grid_Generator_System.inlines.hh: Avoid redundant explicit
+	casts.  Detected by ECLAIR service castexpr.
 
-2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	src/Interval.inlines.hh, src/checked_float.inlines.hh,
-	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
-	src/checked_numeric_limits.hh, src/meta_programming.hh: Added
-	missing specializations for plain char.
+	* src/CO_Tree.inlines.hh: Avoid unsigned integer wrap-around in
+	constant expressions.  Detected by ECLAIR service cnstwrap.
 
-2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac: Version number bumped.
+	* src/CO_Tree.cc, src/OR_Matrix.templates.hh: Prefer parentheses to
+	excessive reliance on C++ operator precedence rules.  Detected by
+	ECLAIR service exprprns.
 
-2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/checked_float.inlines.hh: Do not use the deprecated function
-	mpz_div_2exp.  Use mpz_tdiv_q_2exp instead.
+	* src/Grid_nonpublic.cc: Reduced scope of local variable.  Detected
+	by ECLAIR service minscope.
 
-2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/C_Integer.hh: Specialize C_Integer<T> for plain char.
+	* src/Grid_simplify.cc: Fixed comment about case-block termination.
+	Detected by ECLAIR service swchsynt.
 
-2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/checked_int.inlines.hh: Added specializations for plain char.
+	* src/Polyhedron_chdims.templates.hh: Fixed file comment block.
+	Detected by ECLAIR service cmntfile.
 
-2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-05-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* README, m4/Makefile.am, m4/ac_cxx_double_binary_format.m4,
+	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_float_binary_format.m4,
+	m4/ac_cxx_float_exact_output.m4,
+	m4/ac_cxx_long_double_binary_format.m4,
+	m4/ac_cxx_long_double_exact_output.m4, src/checked.cc,
+	src/checked.defs.hh, src/checked_float.inlines.hh,
+	src/checked_mpq.inlines.hh: Avoid use C++ library for exact
+	conversion from floating point numbers to string: the library is
+	free to ignore requested precision.
+
+2012-04-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Expression_Hide_Inhomo.defs.hh,
+	src/Expression_Hide_Inhomo.inlines.hh,
+	src/Expression_Hide_Inhomo.types.hh,
+	src/Expression_Hide_Last.defs.hh,
+	src/Expression_Hide_Last.inlines.hh, src/Linear_Expression_Impl.cc,
+	src/Linear_Expression_Impl.defs.hh,
+	src/Linear_Expression_Impl.inlines.hh,
+	src/Linear_Expression_Impl.templates.hh,
+	src/Linear_Expression_Impl.types.hh,
+	src/Linear_Expression_Interface.defs.hh,
+	src/Linear_System.templates.hh, src/Matrix.inlines.hh,
+	src/Polyhedron_chdims.templates.hh, src/Swapping_Vector.defs.hh,
+	src/Swapping_Vector.inlines.hh: Updated copyright years.
+
+2012-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int16_a,
+	demos/ppl_lpsol/expected_int8_a,
+	interfaces/Prolog/tests/expected_pchk_int8_a: Corrected expected
+	results for (overflowing) tests on bounded coefficients.
+
+2012-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int16_a: Changed sign of
+	overflow in 16-bits Prolog test.
+
+2012-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Polyhedron/boundedh79extrapolation1.cc: test01() no longer
+	overflows with 8-bits and assertions on C polyhedra.
+
+2012-04-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Powerset/simplifyusingcontext1.cc: test09() no longer
+	overflows with 8-bit coefficients and assertions on.
+
+2012-04-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/globals.defs.hh: Fixed typo.
+
+2012-04-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/assert.hh, src/globals.cc, src/globals.defs.hh,
+	src/globals.inlines.hh: Protect in_assert flag from exceptions.
+
+2012-04-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int16: Another test where
+	we get an overflow with changed sign.
+
+2012-04-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_int8,
+	interfaces/Prolog/tests/expected_pchk_int8: Sign of overflow has
+	changed.
+
+2012-04-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/wrap1.cc: test14() overflows with 16 bit integers and
+	assertions turned off.
+
+2012-04-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/affineimage2.cc: test16() overflows on 16 bits even
+	with assertions turned off.
+
+2012-04-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/expected_int32: Test sampleh7.ine no longer causes
+	an overflow.
+
+2012-04-18  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/tests/pl_check.pl: Allow for Prolog exception
+	errors to have message functor ppl_length_error.
+
+2012-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* configure.ac: Version number bumped.
 
-2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-17  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* m4/ac_cxx_plain_char_is_signed.m4: Copy-and-paste mistake fixed.
+	* src/Sparse_Row.cc: Weaken assertion in mixed Sparse-Dense
+	linear_combine().  (Note: they can be called in
+	Constraint_System::affine_preimage() with a second argument row with
+	a smaller size than the first one; see e.g.  test02() in
+	tests/Concrete_Expression/polyhedron1.cc).  a call in
+	Constraint_System::affine_preimage()).
 
-2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-17  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac, m4/Makefile.am, m4/ac_cxx_plain_char_is_signed.m4: 
-	Detect whether the plain char type is signed.
+	* src/Sparse_Row.cc: Wrap a few long lines.
 
-2011-01-29  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-17  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac: AC_PROG_OCAML only sets OCAMLOPT if OCAMLC is
-	different from "no".
+	* : commit c098c056b375b809087be22be43abf29ee516d63 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Mon Apr 16 22:04:46 2012
+	+0200
 
-2011-01-28  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/tests/expected_clpq2_mpz,
-	interfaces/Prolog/tests/expected_clpq_mpz: Copyright notices updated
-	in expexted result files.
+	* ChangeLog: Updated.
 
-2011-01-25  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS, README, Watchdog/src/Makefile.am, configure.ac,
-	src/Makefile.am: Prepare for release 0.11.1.
+	* NEWS, README, demos/ppl_lcdd/ppl_lcdd.1,
+	demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_pips/ppl_pips.1,
+	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1: Updated.
 
-2011-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
+2012-04-13  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Makefile.am, NEWS, README, README.configure, STANDARDS,
-	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
-	Watchdog/configure.ac, Watchdog/doc/Makefile.am,
-	Watchdog/doc/README.doc, Watchdog/doc/devref.tex,
-	Watchdog/doc/pwl.sty, Watchdog/doc/user.tex,
-	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
-	Watchdog/src/Doubly_Linked_Object.inlines.hh,
-	Watchdog/src/Doubly_Linked_Object.types.hh,
-	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
-	Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
-	Watchdog/src/EList_Iterator.inlines.hh,
-	Watchdog/src/EList_Iterator.types.hh, Watchdog/src/Handler.defs.hh,
-	Watchdog/src/Handler.inlines.hh, Watchdog/src/Handler.types.hh,
-	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
-	Watchdog/src/Pending_Element.inlines.hh,
-	Watchdog/src/Pending_Element.types.hh,
-	Watchdog/src/Pending_List.defs.hh,
-	Watchdog/src/Pending_List.inlines.hh,
-	Watchdog/src/Pending_List.templates.hh,
-	Watchdog/src/Pending_List.types.hh,
-	Watchdog/src/Threshold_Watcher.cc,
-	Watchdog/src/Threshold_Watcher.defs.hh,
-	Watchdog/src/Threshold_Watcher.inlines.hh,
-	Watchdog/src/Threshold_Watcher.templates.hh,
-	Watchdog/src/Threshold_Watcher.types.hh, Watchdog/src/Time.cc,
-	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
-	Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
-	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
-	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
-	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
-	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
-	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
-	configure.ac, debian/libppl-pwl.copyright.in,
-	debian/libppl.copyright.in, demos/Makefile.am,
-	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
-	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
-	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
-	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/dummy.cc,
-	demos/ppl_lpsol/examples/Makefile.am,
-	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
-	demos/ppl_lpsol/ppl_lpsol.c,
-	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
-	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
-	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
-	demos/ppl_pips/ppl_pips_extra_man_text,
-	devtools/bump_copyright_years, devtools/generate_dox_biblio,
-	devtools/generate_dox_ci_prolog_manual,
-	devtools/generate_man_pages, devtools/print_nonascii_lines,
-	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
-	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
-	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
-	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
-	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh, instchk.hh,
-	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
-	interfaces/C/ppl_c_header.h,
+	* interfaces/C/ppl_c_header.h,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/Prolog/Prolog_interface_sysindep.dox: Minor corrections
+	in the documentation for set_deterministic_timeout.
+
+2012-04-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Updated.
+
+2012-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/tests/Makefile.am: The Intel C/C++ compiler does not
+	support -pedantic.
+
+2012-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, demos/ppl_lpsol/Makefile.am: The Intel C/C++
+	compiler does not support -pedantic.
+
+2012-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Typo fixed.  Version number bumped.
+
+2012-04-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/weightwatch1.cc: Test PIP_Problem/weightwatch1
+	requires unbounded coefficients.
+
+2012-04-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
 	interfaces/C/ppl_c_implementation_common.cc,
-	interfaces/C/ppl_c_implementation_common.defs.hh,
-	interfaces/C/ppl_c_implementation_common.inlines.hh,
-	interfaces/C/ppl_c_version.h.in,
-	interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	interfaces/C/ppl_interface_generator_c_cc_files.m4,
-	interfaces/C/ppl_interface_generator_c_h.m4,
-	interfaces/C/ppl_interface_generator_c_h_code.m4,
-	interfaces/C/ppl_interface_generator_c_hh_files.m4,
-	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
-	interfaces/C/tests/Makefile.am,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
-	interfaces/C/tests/ppl_c_test.h,
-	interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h,
-	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
-	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
-	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	,
-	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
-	4, interfaces/Java/jni/ppl_java_common.cc,
-	interfaces/Java/jni/ppl_java_common.defs.hh,
-	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/C/tests/weightwatch1.c,
 	interfaces/Java/jni/ppl_java_globals.cc,
-	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
-	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
-	ce.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
-	ow.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
-	entation.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
-	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
-	interfaces/Java/parma_polyhedra_library/Coefficient.java,
-	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
-	interfaces/Java/parma_polyhedra_library/Congruence.java,
-	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
-	interfaces/Java/parma_polyhedra_library/Constraint.java,
-	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
-	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
-	,
-	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
-	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
-	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
-	,
-	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	, interfaces/Java/parma_polyhedra_library/Generator.java,
-	interfaces/Java/parma_polyhedra_library/Generator_System.java,
-	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
-	interfaces/Java/parma_polyhedra_library/IO.java,
-	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
-	java,
-	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
-	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
-	nt.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
-	e.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
-	a,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
-	us.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
-	java,
-	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
-	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
-	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
-	interfaces/Java/parma_polyhedra_library/Makefile.am,
-	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
-	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
-	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
-	er_Name.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
-	er_Value.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
-	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
-	interfaces/Java/parma_polyhedra_library/Pair.java,
 	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
-	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
-	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
-	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
-	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
-	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
-	interfaces/Java/parma_polyhedra_library/Variable.java,
-	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
-	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
-	a_classes_java.m4,
-	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
-	a_classes_java_code.m4,
-	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
-	4, interfaces/Java/tests/C_Polyhedron_test1.java,
-	interfaces/Java/tests/MIP_Problem_test1.java,
-	interfaces/Java/tests/Makefile.am,
-	interfaces/Java/tests/NNC_Polyhedron_test1.java,
-	interfaces/Java/tests/PIP_Problem_test1.java,
-	interfaces/Java/tests/PPL_Test.java,
-	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
-	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
-	interfaces/Java/tests/Test_Executor.java,
-	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
-	4, interfaces/Java/tests/ppl_java_tests_common,
-	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
-	interfaces/OCaml/OCaml_interface.dox,
-	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
-	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
-	interfaces/OCaml/ppl_ocaml_common.defs.hh,
-	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	a, interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/OCaml/ppl_ocaml_common.cc,
 	interfaces/OCaml/ppl_ocaml_globals.ml,
 	interfaces/OCaml/ppl_ocaml_globals.mli,
-	interfaces/OCaml/tests/Makefile.am,
-	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
-	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
-	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
 	interfaces/OCaml/tests/test1.ml,
-	interfaces/Prolog/Ciao/Makefile.am,
-	interfaces/Prolog/Ciao/ciao_cfli.hh,
-	interfaces/Prolog/Ciao/ciao_clpq.pl,
-	interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	interfaces/Prolog/Ciao/ciao_efli.cc,
-	interfaces/Prolog/Ciao/ciao_efli.hh,
-	interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
-	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/GNU/Makefile.am,
-	interfaces/Prolog/GNU/gnu_pl_check.pl,
-	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
-	interfaces/Prolog/GNU/gp_clpq.pl,
-	interfaces/Prolog/GNU/gprolog_cfli.hh,
-	interfaces/Prolog/GNU/gprolog_efli.cc,
-	interfaces/Prolog/GNU/gprolog_efli.hh,
-	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/Makefile.am,
-	interfaces/Prolog/Prolog_interface.dox,
-	interfaces/Prolog/SICStus/Makefile.am,
-	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	interfaces/Prolog/SICStus/sicstus_cfli.h,
-	interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	interfaces/Prolog/SICStus/sicstus_efli.cc,
-	interfaces/Prolog/SICStus/sicstus_efli.hh,
-	interfaces/Prolog/SICStus/sp_clpq.pl,
-	interfaces/Prolog/SICStus/sp_pl_check.pl,
-	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
-	interfaces/Prolog/SWI/Makefile.am,
-	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
-	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	interfaces/Prolog/SWI/ppl_pl.cc,
-	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	interfaces/Prolog/SWI/swi_cfli.hh,
-	interfaces/Prolog/SWI/swi_efli.cc,
-	interfaces/Prolog/SWI/swi_efli.hh,
-	interfaces/Prolog/SWI/swi_pl_check.pl,
-	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
-	interfaces/Prolog/XSB/Makefile.am,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
-	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/XSB/xsb_cfli.hh,
-	interfaces/Prolog/XSB/xsb_clpq.P,
-	interfaces/Prolog/XSB/xsb_clpq2.P,
-	interfaces/Prolog/XSB/xsb_efli.cc,
-	interfaces/Prolog/XSB/xsb_efli.hh,
-	interfaces/Prolog/XSB/xsb_pl_check.P,
-	interfaces/Prolog/YAP/Makefile.am,
-	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
-	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/YAP/ppl_yap.pl,
-	interfaces/Prolog/YAP/yap_cfli.hh,
-	interfaces/Prolog/YAP/yap_clpq.pl,
-	interfaces/Prolog/YAP/yap_clpq2.pl,
-	interfaces/Prolog/YAP/yap_efli.cc,
-	interfaces/Prolog/YAP/yap_efli.hh,
-	interfaces/Prolog/YAP/yap_pl_check.pl,
-	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
-	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/Prolog_interface_sysindep.dox,
 	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
-	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	interfaces/Prolog/ppl_prolog_common.cc,
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
 	interfaces/Prolog/ppl_prolog_common.defs.hh,
-	interfaces/Prolog/ppl_prolog_common.inlines.hh,
-	interfaces/Prolog/ppl_prolog_sysdep_dox,
-	interfaces/Prolog/ppl_prolog_sysindep_dox,
-	interfaces/Prolog/tests/Makefile.am,
-	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
-	interfaces/Prolog/tests/expected_clpq2_int16,
-	interfaces/Prolog/tests/expected_clpq2_int16_a,
-	interfaces/Prolog/tests/expected_clpq2_int32,
-	interfaces/Prolog/tests/expected_clpq2_int32_a,
-	interfaces/Prolog/tests/expected_clpq2_int64,
+	src/Threshold_Watcher.inlines.hh, src/globals.defs.hh,
+	src/globals.inlines.hh: Modified signature of function
+	set_deterministic_timeout().
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, interfaces/Prolog/ppl_prolog_common.cc: Fixed a bug in the
+	Prolog interface whereby predicate ppl_set_deterministic_timeout/1.
+	It was flagging arguments bigger than 4294967295 as erroneous.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: Revert "The function
+	ppl_set_deterministic_timeout() in the C interface now takes an
+	unsigned long long parameter." This reverts commit 7781b2d72ad31906c830a16a942b31ac305924c2.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/OCaml/OCaml_interface.dox,
+	interfaces/Prolog/Prolog_interface_sysindep.dox: Substituted "alpha
+	testing" with "beta testing".
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc: The function
+	ppl_set_deterministic_timeout() in the C interface now takes an
+	unsigned long long parameter.  It erroneously used to take an
+	unsigned int.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Profiled.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am, tests/PIP_Problem/{bug1.cc =>
+	weightwatch1.cc}: New test program.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem1.cc: Comments improved.
+
+2012-04-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Linear_Row.cc: Ignore always unhandled bits.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am: Cleaned.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Avoid using @ outside BibTex entries.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Avoid using @ outside BibTex entries.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Missing comma added.
+
+2012-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib, doc/ppl_citations.bib: Avoid non-ASCII characters.
+
+2012-04-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Added calls to WEIGHT macros.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Weight computation fixed and adjusted.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.cc: Let ppl_unreachable_msg() print a more sensible
+	message.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.hh: Punctuation fixed.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.cc: Mimic the message given by standard assert.
+
+2012-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/assert.hh: Added a comment to clarify definition of
+	PPL_ASSERT.
+
+2012-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/assert.cc, src/assert.hh: Improved error message reporting for
+	assertion failures.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh: Reordered so as to allow compilability with
+	-DPPL_PROFILE_ADD_WEIGHT=1.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Weight_Profiler.cc: Variable name fixed.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Threshold_Watcher.defs.hh: Reference to no longer existing
+	namespace removed.  (Wonder why we did not have a Doxygen warning.)
+
+2012-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Row.inlines.hh: Clarified reason of assertion failing
+	by adding a message.
+
+2012-04-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Row.cc: When dumping Linear_Row::Flags with assertions
+	turned off, force the (unavailable) rpi/nnc validity bits as "set".
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Do not use #define without a value.
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/bug1.cc: The given problem is not satisfiable
+	(independently verified with other solvers).
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/Makefile.am, tests/PIP_Problem/bug1.cc,
+	tests/PIP_Problem/bug1.dat: Make it easier to reproduce issue [PPL
+	0000353].
+
+2012-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Use add_mul_assign().
+
+2012-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Function renamed and documented.
+
+2012-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Indentation fixed.
+
+2012-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Indentation fixed.
+
+2012-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/bug1.dat: Set the validity bits.
+
+2012-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/bug1.cc, tests/PIP_Problem/bug1.dat: To
+	reproduce Mantis issue [PPL 0000353].
+
+2012-04-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh, src/Grid.defs.hh, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron_public.cc: Made several exception thrower methods
+	static.  Renamed throw_generic() as throw_invalid_argument() for
+	consistency.  In generalized_affine_{pre}image(), systematically
+	throw an invalid argument exception if relsym == NOT_EQUAL.
+	Corrected several inaccuracies in exception error messages.
+
+2012-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Corrected typo.
+
+2012-04-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, doc/Makefile.am: Distribute the bibliographies.
+
+2012-04-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib, doc/ppl_citations.bib: Added copyright and licensing
+	information.
+
+2012-04-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog, NEWS, src/Makefile.am: Updated.
+
+2012-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron_public.cc: Removed two unused and unwanted methods.
+	(They were also wrongly implemented.)
+
+2012-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraMPZ12IC.
+
+2012-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraMPZ12TR.
+
+2011-09-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Broken link removed.
+
+2011-09-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Links fixed.
+
+2011-09-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Links fixed.
+
+2011-09-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Broken links removed.
+
+2011-09-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: URI's updated.
+
+2010-11-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Andre10.
+
+2010-05-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Fixed CousotC79.
+
+2010-04-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ10CGTA has been published.
+
+2010-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BandaG10.
+
+2010-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraMPZ10TR.
+
+2010-03-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BozgaGI09.
+
+2010-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added FeautrierCB07.
+
+2010-02-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added TrifunovicCEFG+10.
+
+2010-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09CGTA renamed and completed.
+
+2010-01-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ10FMSD renamed and completed.
+
+2010-01-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Feautrier88.
+
+2010-01-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Updated BagnaraHZ10FMSD.
+
+2009-12-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added FagesR09 and JhalaM09.
+
+2009-10-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added the online version of BagnaraHZ09CGTA.
+
+2009-10-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Completed BagnaraHZ09TCS.
+
+2009-09-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ09CGTA.
+
+2009-09-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09TCS completed.
+
+2009-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Improved BagnaraHZ09TCS and BagnaraHZ09FMSD. Added
+	BagnaraHZ09TRb.
+
+2009-08-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Typo fixed.
+
+2009-08-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09TCS updated.
+
+2009-07-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added PerezRS09.
+
+2009-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added JeannetM09.
+
+2009-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Halbwachs93 completed.
+
+2009-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09 updated and renamed BagnaraHZ09FMSD.
+
+2009-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added LimeRST09.
+
+2009-06-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: URL added.
+
+2009-06-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added RizkBFS09.
+
+2009-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09 will be published in Formal Methods in
+	System Design.
+
+2009-05-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added LeconteB06.
+
+2009-05-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added SenS07TR.
+
+2009-04-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added LogozzoF08.
+
+2009-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ09TRa updated.
+
+2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Updated BagnaraHZ09TRa.
+
+2009-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added URI for arXiv.
+
+2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added YangWGI09. Non-ASCII characters
+	removed.
+
+2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added AlbertACGPZ08.
+
+2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ09TRa.
+
+2009-04-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added MoserKK07. Entries sorted. Some
+	specifications of page numbers fixed.
+
+2009-04-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Added bibtex entry for BagnaraHZ09 (submitted for
+	publication).
+
+2009-04-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BandaG09. Used the right kind of dash
+	in other entries.
+
+2009-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Frehse08.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added AlbertAGPZ08.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added DenmatGD07.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added KimGR07.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: GulwaniL-AS09 updated.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: AlurKRS08 updated.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added AlbertAGP08.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added MakhloufK06.
+
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BjorndalenA05.
+
+2009-01-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added PopeeaC08.
+
+2009-01-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BramanM08.
+
+2009-01-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added ChenMC08.
+
+2009-01-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Entries reordered.
+
+2009-01-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added LavironL09.
+
+2009-01-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GulwaniL-AS09.
+
+2009-01-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ09TCS.
+
+2008-12-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added TraonouezLR08.
+
+2008-11-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Added BemporadFT00TR and BemporadFT01.
+
+2008-11-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Use \url instead of \tt.
+
+2008-11-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added QuillereRW00.
+
+2008-10-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Several corrections to BlanchetCCFMMMR02.
+
+2008-10-27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Added reference to the paper by Blanchet et al that
+	proposes the widening with thresholds (2002).
+
+2008-10-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Soffia08TR.
+
+2008-09-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Vasconcelos08th.
+
+2008-08-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Removed note from BagnaraHZ08SCP.
+
+2008-08-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added AlurKRS08.
+
+2008-07-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BouchyFL08.
+
+2008-07-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ08SCP completed.
+
+2008-06-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Warren03.
+
+2008-06-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added SenS07.
+
+2008-06-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added RepsBL06.
+
+2008-06-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added SimonK07.
+
+2008-04-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Added bibliographic entry HenkinMT71 (to be double
+	checked).
+
+2008-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added PayetS07th.
+
+2008-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: GopanR07a completed.
+
+2008-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Gopan07th.
+
+2008-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Gobert07th.
+
+2008-03-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SankaranarayananIG07. Completed
+	GopanR07b.
+
+2008-02-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ08 renamed BagnaraHZ08SCP (the paper to
+	appear on Science of Computer Programming). New paper BagnaraHZ08
+	(the VMCAI 2008 paper).
+
+2008-02-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Henriksen07th.
+
+2007-08-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Starynkevitch07 completed.
+
+2007-08-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Starynkevitch07.
+
+2007-08-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ08.
+
+2007-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added YangWGI06.
+
+2007-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GopanR07a.
+
+2007-07-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GopanR07b.
+
+2007-07-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GobertLC07.
+
+2007-07-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: CovaFBV06 completed.
+
+2007-07-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SankaranarayananISG06.
+
+2007-06-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Doyen06th.
+
+2007-06-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Typo fixed.
+
+2007-06-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SlaninaSSM07TR.
+
+2007-06-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ07TRb completed.
+
+2007-06-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Typo fixed.
+
+2007-06-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Vigna07.
+
+2007-06-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added ArmandoBM07.
+
+2007-06-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ07TRb (still incomplete).
+
+2007-06-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Renamed.
+
+2007-06-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ07TR renamed BagnaraHZ07TRa.
+
+2007-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraDHMZ07 completed.
+
+2007-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Revised Ricci02th.
+
+2007-02-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: DoyenHR05 added. Formed DoyenHR05 now has
+	key DoyenHR05TR.
+
+2007-01-19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Added volume number for BagnaraDHMZ07
+
+2007-01-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ07TR.
+
+2007-01-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Fixed Frehse05.
+
+2007-01-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Fixed StoerW70.
+
+2007-01-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added FrankM02th. Completed Flexeder05th.
+
+2007-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: FrehseKRM05 replaced by FrehseKRM06.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added a PDF URL to BagnaraHZ06TR.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Flexeder05th.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added ChakrabortyMS06.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added CovaFBV06.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: AsarinDFGLGM06 is no longer "to appear."
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Completed vanHeeOSV06.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: HenriksenG06 completed.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: GopanR06 completed.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: GonnordH06 completed.
+
+2006-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: SongCR05 rekeyed SongCR06, corrected and
+	completed.
+
+2006-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ06STTT completed.
+
+2006-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraDHMZ05TR.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Missing comma added.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraDHMZ06a substituted by BagnaraDHMZ07.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: HalbwachsMG06 completed.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Typo fixed.
+
+2006-12-18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Updated BagnaraDHMZ06a and BagnaraDHMZ06b entries.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ06STTT updated.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Typo fixed.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ06TR corrected and completed.
+
+2006-12-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Key BagnaraHZ04TRa changed to BagnaraHZ04TR.
+	Provisional entry for BagnaraHZ06TR added. Do not use double quotes
+	for numeric fields.
+
+2006-12-18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl_citations.bib: Spelling corrected.
+
+2006-12-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added NakanishiJPF99 and NakanishiF01.
+
+2006-12-11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Previous references added removed.
+
+2006-12-11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Revised the reference for BagnaraDHMZ06a.  Added references for AlurCHHHNOSY95, AlurCHH93, and Henzinger96.
+
+2006-09-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Avoid non-ASCII characters.
+
+2006-09-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib, doc/ppl_citations.bib: Spelling corrections.
+
+2006-09-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added GoldfarbR77.
+
+2006-09-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added PapadimitriouS98.
+
+2006-09-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added AsarinDFGLGM06.
+
+2006-08-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: HalbwachsMP-V03 fixed (copy and paste
+	mistake).
+
+2006-08-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added UchoaFLPPdAA06TR.
+
+2006-08-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GonnordH06.
+
+2006-08-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added HalbwachsMG06.
+
+2006-08-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added HenriksenG06.
+
+2006-08-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added abstracts for Avery06,
+	CarloniPPS-V06, GulavaniR06 and Pop06.
+
+2006-08-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added CarloniPPS-V06.
+
+2006-08-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Pop06.
+
+2006-08-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Avery06.
+
+2006-08-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GulavaniR06.
+
+2006-06-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GopanR06.
+
+2006-04-28  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Corrected a spelling error.
+
+2006-04-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Fixed Ancourt91th.
+
+2006-04-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added DooseM05.
+
+2006-04-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: MesnardB05TPLP fixed.
+
+2006-04-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Capitalization fixed in the references about
+	`polymake'.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added vanHeeOSV06.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added Ellenbogen04th.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SankaranarayananSM06.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SankaranarayananCSM06.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Minor formatting change.
+
+2006-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: GopanDMDRS04 was missing the address field: added.
+
+2006-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Ricci02th.
+
+2006-04-14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Added bib entries for Grid papers submitted to FM and
+	about to be sub,itted to LOPSTR. Note that the link on my site to
+	the postscript for the LOPSTR submission is deliberately unreadable
+	until the actual submission.
+
+2006-04-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: FrehseKR06 fixed.
+
+2006-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ05STTT renamed BagnaraHZ06STTT; year field
+	changed to 2006.
+
+2006-04-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added KhachiyanBBEG06.
+
+2006-01-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added FrehseKR06.
+
+2006-01-20  Andrea Pescetti <pescetti at no.email>
+
+	* doc/ppl.bib: Broken and obsolete links updated.
+
+2006-01-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib, doc/ppl_citations.bib: Added ISBN for the SAS 2005
+	volume.
+
+2006-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Trailing blanks removed.
+
+2006-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Missing comma added.
+
+2006-01-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraDHMZ05TR.pdf.
+
+2005-09-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Ancourt91th completed.
+
+2005-09-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Fixed many broken or redirected links.
+
+2005-09-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Frehse05th added.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: CacheraM-A05 added.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added DoyenHR05.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added LagoonMS03.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: KruegelKMRV05 added.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added FrehseKRM05.
+
+2005-09-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: SongCR05 added.
+
+2005-09-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: BagnaraR-CZ05 completed.
+
+2005-09-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Completed the bibliographic information for
+	BagnaraHRZ05SCP.
+
+2005-09-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added HuelsbergenHL90.
+
+2005-09-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Completed the entry for BagnaraHZ05FAC.
+
+2005-08-05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Added 1997 paper by Quinton et al.
+
+2005-05-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Address added to CousotC76.
+
+2005-05-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Unwanted quotes removed.
+
+2005-05-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Conflict removed.
+
+2005-05-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Frehse05 completed.
+
+2005-05-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHZ05FAC.
+
+2005-05-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added BagnaraR-CZ05 and BagnaraR-CZ05TR.
+
+2005-05-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHMZ05 and BagnaraHZ05STTT.
+
+2005-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Announce the new paper on widenings for
+	weakly-relational numeric abstractions.
+
+2005-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Reordered.
+
+2005-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added JaffarMSY94, NelsonO77, NelsonO80, Pratt77 and
+	Shostak81.
+
+2005-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Use a double hyphen in page ranges. Use month codes
+	instead of month names.
+
+2005-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraMHZ05TR.
+
+2005-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Mine04 fixed.
+
+2005-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added page numbers to Frehse05.
+
+2005-03-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Mine05th.
+
+2005-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added GopanRS05.
+
+2005-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Spurious booktitle field removed.
+
+2005-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ03b improved.
+
+2005-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added SankaranarayananSM05.
+
+2005-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Frehse05 added.
+
+2005-01-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHMZ04EA.
+
+2005-01-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Links to Komei Fukuda's home page updated.
+
+2005-01-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BagnaraHRZ05SCP.
+
+2005-01-04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Removed erroneous line in Mine01a.
+
+2004-12-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Mine01a and Mine02. Minor improvements
+	elsewhere.
+
+2004-12-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Mine04 added.
+
+2004-11-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Previous change reverted.
+
+2004-11-02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: "official" changed to "full".
+
+2004-09-27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: References added to abstract for the Granger 1997
+	paper.
+
+2004-09-27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Removed citations to applications in the paragraph
+	about integral grids. Added to ppl.bib, references for Ancourt
+	thesis, two papers by Granger (1991 and 1997) and Technical report
+	by Quinton et al.
+
+2004-09-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Last change reverted: in the bibliography we use the
+	right LaTeX code, which is then simplified, when needed, for the
+	sake of BibTeX2HTML.
+
+2004-09-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Do not use LaTeX that cannot be decently handled by
+	BibTeX2HTML.
+
+2004-09-27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: Completed draft descriptions of the numerical
+	abstractions. Added to ppl.bib reference to the Mine paper on the
+	octagon domain and to Roberto's thesis. Updated the gif version of
+	the illustration of a relational grid to correspond to that already
+	in abstractions.tex.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Make sure `I/O' is not touched by BibTeX.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Missing comma added.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added a first draft for FrehseHK04.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added a first draft for Frehse04.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: Added HalbwachsMP-V03.
+
+2004-08-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl_citations.bib: New page and bibliography for citations.
+
+2004-08-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Integrated the "abstract" of CousotC79.
+
+2004-08-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Added entries for CousotC76 and CousotC79, with
+	"abstracts" (actually, the first sentences from the introductions)
+	and URLs to PDF versions.
+
+2004-07-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added BalasundaramK89. This paper, back in 1989,
+	introduced what are now called "octagons" under the name "simple
+	sections."
+
+2004-07-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Kannan92 removed.
+
+2004-07-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Kannan92.
+
+2004-05-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Bagnara98SCP fixed.
+
+2004-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added GopanDMDRS04.
+
+2004-02-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added Masdupuy92 and Masdupuy93th.
+
+2004-01-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Added entry for Q349.
+
+2004-01-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ03a added. BagnaraHZ03 renamed BagnaraHZ03b.
+
+2004-01-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ04 fixed, completed and renamed BagnaraHZ03
+	(since the publication date is 2003).
+
+2003-11-19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: added reference to Schriver text book.
+
+2003-11-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Key for NookalaR00 capitalized consistently.
+
+2003-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ04 added.
+
+2003-11-05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+
+	* doc/ppl.bib: NELS and similar changes.
+
+2003-07-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Bagnara98SCP added.
+
+2003-05-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHRZ03 completed.
+
+2003-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Missing commas added, unnecessary commas removed.
+
+2003-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHRZ03 added.
+
+2003-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: GawrilowJ01 fixed.
+
+2003-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Entry for Quaderno 312 completed. Abstract for
+	Quaderno 305 added.
+
+2003-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Draft entry for BagnaraHRZ03TR added.
+
+2003-02-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Typo fixed in Halbwachs79th. HenzingerH95 and
+	HenzingerPW01 added.
+
+2002-11-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ02TR will appear as Quaderno 305.
+
+2002-10-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ02TR added.
+
+2002-10-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Halbwachs93 added.
+
+2002-10-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BessonJT99 added.
+
+2002-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BultanGP99 added.
+
+2002-10-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Dantzig63 added.
+
+2002-10-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Typo fixed. File bibliography.raw regenerated with
+	the new version of bibtex2html (1.54).
+
+2002-10-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Srivastava93 added.
+
+2002-09-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraHZ02a added.
+
+2002-09-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraRZH02 added.
+
+2002-07-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Force capitalization of "Parma Polyhedra Library" the
+	right way.
+
+2002-07-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: In the entry for BagnaraRZH02, enforced
+	capitalization of the PPL.
+
+2002-07-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Entry for BagnaraRZH02 completed.
+
+2002-07-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraRZH02 added.
+
+2002-06-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: BagnaraRZH02TR and BagnaraRZH02TRerrata added.
+
+2002-06-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Halbwachs79th added.
+
+2002-06-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: CousotC92-PLILP added.
+
+2002-04-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: HalbwachsKP95 added.
+
+2002-04-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/ppl.bib: Corrected entry of LeVerge92, so as to consider "Le"
+	as part of the family name.
+
+2002-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: LeVergeVDW94 added.
+
+2002-04-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Loechner99 added.
+
+2002-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: StoerW70 added.
+
+2002-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Kuhn56 added.
+
+2002-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: HalbwachsPR94 added.
+
+2002-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: NEW-POLKA-1-1-3c added.
+
+2002-04-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Added GawrilowJ00, GawrilowJ01, and LoechnerW97.
+
+2002-04-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: NemhauserW88 fixed.
+
+2001-12-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: There is no abstract in Weyl50.
+
+2001-12-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Weyl35 and Weyl50 added.
+
+2001-10-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: MotzkinRTT53 added.
+
+2001-10-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: NemhauserW88 added.
+
+2001-10-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Provide the source code from LeVerge92.
+
+2001-10-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Chernikova6[458] fixed: they were all wrong.
+
+2001-10-08  Elisa Ricci <ericci at no.email>
+
+	* doc/ppl.bib: Added the Chernikova's articles (what I know).
+
+2001-10-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: LeVerge92 fixed (missing comma and spurious
+	brackets).
+
+2001-10-08  Elisa Ricci <ericci at no.email>
+
+	* doc/ppl.bib: Added the 'Abstract' for "A note on Chernikova's
+	Algorithm".
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Fukuda98 added.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: LeVerge92 added.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: CousotH78 fixed.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: FukudaP96 updated: abstract revised, URL and backup
+	copy provided.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: FukudaP96 added.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: Generate a bibliography page from ppl.bib: this is
+	referenced from the Documentation page. Abstract of Wilde93th added.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: CousotH78 added.
+
+2001-10-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/ppl.bib: All the documentation, both ours and the papers we
+	cite, belong to the Documentation directory.  The mirror subdirectory will contain backup copies of the papers we
+	reference: things disappear from the web far too often.  HalbwachsPR97 added.
+
+2012-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-language-interface.doxyconf.in,
+	doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	doc/user-language-interface.doxyconf.in, doc/user.doxyconf-html.in,
+	doc/user.doxyconf-latex.in: Updated for Doxygen 1.8.0.
+
+2012-03-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Indentation fixed.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: 
+	Simplified INPUT tag values in devref manuals' Doxygen configuration
+	files.  Avoid most of the explicit listing of source files,
+	favouring a much smaller number of file name patterns.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Result.defs.hh, src/Result.inlines.hh,
+	src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh: Doxygen
+	\relates command can not be used with enumerated types.  Replace it
+	with \name grouping.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am: No longer using the installdox command
+	(deprecated and subject to removal).  Fixed Doxygen configuration
+	paths for license files.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/linearize.hh: Further improvements to documentation of helper
+	functions.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Concrete_Expression.types.hh: Use Doxygen command \class for
+	declared-but-undefined class templates.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/linearize.hh: Improved documentation formatting using Doxygen
+	command \tparam.
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.defs.hh: Fixed typo in documentation
+	(causing a Doxygen warning).
+
+2012-03-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_header.h: Corrected name of Doxygen
+	documentation group.
+
+2012-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/propagateconstraints2.cc: On machines where float is
+	supported and double is not supported, test01() can yield results
+	that are significantly less precise.  (Thanks to Sean McGovern.)
+
+2012-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.defs.hh: Parameter name fixed.
+
+2012-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, tests/Box/interval1.cc, tests/Box/membytes1.cc: Do
+	not assume doubles are supported.
+
+2012-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2012-03-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.inlines.hh, tests/Concrete_Expression/bdshape1.cc,
+	tests/Concrete_Expression/bdshape2.cc,
+	tests/Concrete_Expression/octagonalshape1.cc,
+	tests/Concrete_Expression/octagonalshape2.cc,
+	tests/Concrete_Expression/polyhedron2.cc: Surround non integer
+	costants with a cast to boundary type.
+
+2012-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh,
+	tests/Concrete_Expression/digitalfilters1.cc,
+	tests/Concrete_Expression/linearform1.cc,
+	tests/Concrete_Expression/linearize.cc,
+	tests/Concrete_Expression/polyhedron1.cc: Do not rely on doubles
+	being supported.
+
+2012-03-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* m4/ac_cxx_float_exact_output.m4: Output is exact also with some
+	added needless zeroes.
+
+2012-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Random_Number_Generator.inlines.hh: Removed unused parameter
+	name.
+
+2012-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh, src/Box.templates.hh,
+	src/Grid_Certificate.cc, src/Interval.inlines.hh,
+	src/MIP_Problem.inlines.hh, src/PIP_Tree.cc,
+	src/checked_float.inlines.hh, src/compiler.hh: Keep macro names
+	within the PPL namespace.
+
+2012-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am: Only build `ppl_pl' for
+	checking and install it only when shared libraries are disabled.
+
+2012-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4: Cater for versions of SWI-Prolog
+	configured with `--disable-libdirversion'.
+
+2012-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4: Make sure the trailing ^M are
+	suppressed under Windows.
+
+2012-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4: Remove the drive indication SWI-Prolog
+	prepends to the PLBASE path under Windows.
+
+2012-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_Certificate.cc: Corrected wrong assertion after call to
+	Grid::simplify().
+
+2012-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_swi_prolog.m4: Added missing uses of `$EXEEXT'.
+
+2012-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/SWI/Makefile.am: Added missing link options.
+
+2012-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.cc: Useless declarations removed.
+
+2012-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_Certificate.cc: Fixed debugging code.
+
+2012-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4: Corrected test for has_{upper,lower}_bound so as to
+	avoid calling the predicate on zero-dim boxes.
+
+2012-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Restored the build.
+
+2012-03-23  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh: Added comments.
+
+2012-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Watchdog/Makefile.am: Added `@extra_includes@' to
+	`AM_CPPFLAGS'.  (Thanks to Joao M. Santos Silva.)
+
+2012-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray.in: Portability improved.  (Thanks to Tim
+	Donahue.)
+
+2012-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.defs.hh, src/Generator_System.defs.hh,
+	src/Grid.defs.hh, src/Grid_Certificate.cc, src/Grid_nonpublic.cc,
+	src/Grid_simplify.cc, src/Grid_widenings.cc, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/OR_Matrix.inlines.hh,
+	src/Octagonal_Shape.templates.hh, src/PIP_Problem.defs.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Pointset_Powerset.defs.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron_nonpublic.cc, src/Scalar_Products.cc,
+	src/Scalar_Products.defs.hh, src/Variables_Set.defs.hh: Fixed lots
+	of parameter names.  Detected by ECLAIR service funparam.
+
+2012-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Bit_Row.defs.hh, src/Box.defs.hh,
+	src/Box.templates.hh, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Concrete_Expression.inlines.hh, src/Congruence.defs.hh,
+	src/Congruence.inlines.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Constraint_System.defs.hh, src/Determinate.defs.hh,
+	src/Generator.cc, src/Grid.defs.hh, src/Linear_Row.inlines.hh,
+	src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Tree.inlines.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron_nonpublic.cc,
+	src/Ptr_Iterator.inlines.hh, src/termination.templates.hh: Fixed
+	lots of parameter names.  Detected by ECLAIR service funparam.
+
+2012-03-22  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/BD_Shape.templates.hh: Fixed indentation.
+
+2012-03-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/OR_Matrix.inlines.hh: Removed extra parenthesis.
+
+2012-03-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* demos/ppl_pips/ppl_pips.cc, src/CO_Tree.cc,
+	src/Floating_Point_Expression.templates.hh,
+	src/OR_Matrix.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/checked.cc, src/checked_int.inlines.hh: Added some missing
+	parenthesis.
+
+2012-03-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/OR_Matrix.inlines.hh, src/checked_int.inlines.hh: Added
+	missing parentheses.  Detected by eclair service exprprns.
+
+2012-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4: 
+	Fixed a couple of typos.
+
+2012-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh: Improved documentation for
+	Box<ITV>::has_{upper,lower}_bound().  Weakened precondition
+	regarding box emptiness: the box can be empty, but it can not be
+	marked empty.  Added a test to the Prolog interface.
+
+2012-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/Grid.templates.hh, src/Polyhedron.templates.hh: Modified
+	interface for Box<ITV>::has_{upper,lower}_bound.  The changes are
+	meant to make it more similar to, e.g., maximize().  Hence, we no
+	pass in a Variable rather than a bare dimension_type and the boolean
+	reference argument `closed' is the last one.
+
+2012-03-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Boundary.defs.hh, src/CO_Tree.cc, src/Float.templates.hh,
+	src/OR_Matrix.inlines.hh, src/PIP_Tree.cc,
+	src/Pointset_Powerset.templates.hh, src/Sparse_Row.cc: Added
+	parentheses and improved formatting.  Missing parentheses detected
+	by ECLAIR service exprprns.
+
+2012-03-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/glpk_set_d_eps.c: This file is not part of the
+	Parma Polyhedra Library.
+
+2012-03-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4: Added
+	Box method has_{upper.lower}_bound to OCaml and Prolog lang
+	interfaces.
+
+2012-03-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4: Added Box method has_{upper,lower}_bound to Java language
+	interface.
+
+2012-03-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/ppl_interface_generator_common_dat.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Added Box methods has_{upper,lower}_bound to C language interface.
+
+2012-03-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/README: Text revised.
+
+2012-03-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure: Sentence revised.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_pips/ppl_pips.1, doc/libppl.3, doc/libppl_c.3,
+	doc/ppl-config.1, doc/ppl-config_extra_man_text: Man pages updated.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox,
+	interfaces/Prolog/Prolog_interface_compilation.dox: Use a canonical
+	FDL text.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/version.cc: Updated.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox,
+	interfaces/Prolog/Prolog_interface_compilation.dox: URL fixed.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox: Indentation fixed.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/clpq2.pl: Cleaned.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, README.alpha, README.arm, README.configure,
+	README.solaris, STANDARDS, tests/README: Copyright wording fixed.
+
+2012-03-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox,
+	interfaces/Prolog/Prolog_interface_compilation.dox: Updated two
+	spurious references to FDL 1.1.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, README.alpha, README.arm, README.configure,
+	README.solaris, STANDARDS, doc/README.doc, tests/README: Use a
+	consistent formatting.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, README.alpha, README.arm, README.configure,
+	README.solaris, STANDARDS, doc/README.doc,
+	doc/devref-language-interface.tex, doc/devref.tex,
+	doc/user-language-interface.tex, doc/user.tex, tests/README: Wording
+	fixed/improved.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/README.doc: Blank line added.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, README.alpha, README.arm, README.configure,
+	README.solaris, STANDARDS, doc/README.doc, tests/README: Use
+	consistent formatting for the FDL.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface_compilation.dox: Added missing
+	paragraph.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/definitions.dox, doc/devref-language-interface.tex,
+	doc/devref.tex, doc/user-language-interface.tex, doc/user.tex: 
+	Standardized copyright messages.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.alpha, README.arm, README.solaris: Made uniform as far as
+	the copyright message and licensing conditions are concerned.
+
+2012-03-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure: Updated: we no longer use CVS.
+
+2012-03-15  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/checked.defs.hh, src/meta_programming.hh: Ensure macro
+	parameters in macro bodies are in parentheses.
+
+2012-03-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/checked.defs.hh, src/checked_numeric_limits.hh,
+	src/globals.defs.hh: Ensure parameters in bodies of macros are
+	parenthesized.
+
+2012-03-14  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Checked_Number.inlines.hh, src/checked.defs.hh,
+	src/checked_numeric_limits.hh, src/compiler.hh,
+	src/globals.defs.hh, src/meta_programming.hh: Ensure parameters in
+	macro bodies are parenthesized appropriately.  Missing parentheses
+	detected by ECLAIR service macrbody.
+
+2012-03-14  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.inlines.hh: Avoid needless macro complexity.
+
+2012-03-13  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* README.configure, demos/ppl_lpsol/glpk_set_d_eps.c,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Prolog/Prolog_configured_interface.dox,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/Prolog_interface_sysdep.dox,
+	interfaces/Prolog/Prolog_interface_sysindep.dox,
+	interfaces/Prolog/Prolog_interface_sysindep_domains.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	tests/Concrete_Expression/linearize.cc, tests/Grid/Makefile.am,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Powerset/Makefile.am, tests/README: Fixed licenses text.
+
+2012-03-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Concrete_Expression/Makefile.am: Removed bogus use of
+	EXTRA_DIST.
+
+2012-03-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc: Avoid implicit conversions to bool.
+	Detected by ECLAIR service utypflag.
+
+2012-03-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/Prolog/SWI/swi_cfli.hh: Avoid implicit conversion from
+	boolean to integral.  Detected by ECLAIR service utypflag.
+
+2012-03-12  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BDS_Status.inlines.hh, src/Og_Status.inlines.hh: Prefer
+	testing explicitly against zero.  Detected by ECLAIR service
+	utypflag.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am: Use variables instead of repetition.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am: Typo fixed.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Prolog_interface_sysindep.dox: Typos fixed.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/clpq2.pl: Predicates renamed.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-c99.inlines.hh: Identifier fixed.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/generalizedaffineimage2.cc: String fixed.
+
+2012-03-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Generator.defs.hh, src/Grid_Generator.defs.hh: Comments
+	simplified.
+
+2012-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in: Commented-out code removed.  Detected by
+	ECLAIR service cmntdout.
+
+2012-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Comment corrected.
+
+2012-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Old FIXMEs dealt with.  Detected by ECLAIR
+	service cmntdout.
+
+2012-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh,
+	src/Cast_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh, src/Float.defs.hh,
+	src/Floating_Point_Expression.defs.hh, src/Linear_Form.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Octagonal_Shape.templates.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.defs.hh, src/linearize.hh: Do
+	use the notation "[l, u]" to denote the closed interval with
+	boundaries `l' and `u'.
+
+2012-03-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Added missing full-stop in
+	comment.
+
+2012-03-08  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/Grid.templates.hh, src/Polyhedron.templates.hh: Renamed Box
+	methods get_{upper,lower}_bound() as has_{upper,lower}_bound().
+	Improved documentation: in particular, make clearer that undefined
+	behavior is obtained when calling them on an empty box.
+
+2012-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Avoid implicit conversions to bool
+	(prefer explicit tests against zero).  Detected by ECLAIR service
+	utypflag.
+
+2012-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row_Flags.cc: Avoid implicit cast narrowing a signed integer
+	value.  Detected by ECLAIR service utypflag.
+
+2012-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row_Flags.defs.hh: Removed unused static const data member.
+
+2012-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	src/Pointset_Powerset.templates.hh: Avoid implicit conversions to
+	bool.  Detected by ECLAIR service utypflag.
+
+2012-03-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/assert.hh: Avoid implicit coversion to bool.  Detected by
+	Boolean service utypflag.
+
+2012-02-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_numeric_limits.hh: Added missing parentheses around a
+	macro arguments.  Detected by ECLAIR service macrbody.
+
+2012-02-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in: Avoid mixing plain character data with
+	numeric data.  Detected by ECLAIR service utypflag.
+
+2012-02-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in: Code layout fixed.
+
+2012-02-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Updated.
+
+2012-02-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Added a missing project and updated a broken link.
+
+2012-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog: Updated.
+
+2012-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, TODO: Updated.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Concrete_Expression.defs.hh, src/Concrete_Expression.types.hh: 
+	Let classes in Concrete_Expression.defs.hh appear in the user
+	manual.
+
+2012-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.types.hh: Documented the enumerated values of enum
+	Floating_Point_Format.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/intervals.defs.hh: Let the docs for the I_Result enum appear
+	on the devref manual only.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.inlines.hh, src/globals.defs.hh: Mark some docs for
+	the devref manual only.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/fpu.defs.hh: Group together documentation of functions
+	controlling FPU.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/linearize.hh: Fixed documentation for linearize and added
+	\relates directive.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.defs.hh: Grouped together docs for the
+	linear-ranking functions.
+
+2012-02-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Row.defs.hh: CO_Tree and
+	Sparse_Row should only appear in the devref manual.
+
+2012-02-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Row_Flags.cc: Fixed missing namespace.
+
+2012-02-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.templates.hh, src/Interval.templates.hh,
+	src/Interval_Info.inlines.hh, src/Row_Flags.cc: Fixed and uniformed
+	iomanip uses.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/wrap_string.cc: Avoid mixing plain character data with numeric
+	data.  Detected by ECLAIR service utypflag.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: Removed
+	references to an obsolete file.
+
+2012-02-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/MIP_Problem.cc: Removed redundant and
+	unused stuff.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Ptr_Iterator.defs.hh: Use the same
+	typenames in function declarations/definitions.  Detected by ECLAIR
+	service funtypes.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh, src/Pointset_Powerset.templates.hh,
+	src/checked_int.inlines.hh: Avoid mixing boolean and arithmetic
+	values.  Detected by ECLAIR service utypflag.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/GMP_Integer.defs.hh: Get rid of redundant declarations of a
+	couple of functions.  Detected by ECLAIR service funtypes.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.inlines.hh: Simplified
+	Interval_Info::ascii_load().  Resettting format flags does not
+	change the istream status, which was previously tested and is known
+	to be good: hence, return true.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc,
+	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh,
+	src/BDS_Status.idefs.hh, src/Box_Status.idefs.hh,
+	src/Float.defs.hh, src/Grid_Status.idefs.hh,
+	src/Og_Status.idefs.hh, src/Ph_Status.idefs.hh, src/fpu.defs.hh: 
+	`#error' messages made consistent.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh: Variable names fixed.
+
+2012-02-26  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	src/BD_Shape.templates.hh, src/Box.templates.hh,
+	src/Grid_public.cc, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron_public.cc, src/Variable.cc, src/Variable.defs.hh,
+	src/Variables_Set.cc, src/Variables_Set.defs.hh,
+	src/Variables_Set.inlines.hh, src/termination.templates.hh,
+	src/wrap_assign.hh, tests/Polyhedron/affineimage2.cc,
+	tests/Polyhedron/bgp99extrapolation1.cc,
+	tests/Polyhedron/bhz03widening1.cc,
+	tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	tests/Polyhedron/writevariable1.cc, tests/ppl_test.cc,
+	tests/ppl_test.hh: Avoid to use Variable references. Uniformed
+	Variable creations.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh: Types fixed.  Useless if-then-else removed.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Use `libtool' to test linking with GMP only if
+	the option `--with-gmp-build' was given.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.cc, src/Interval_Info.defs.hh,
+	src/Ph_Status.inlines.hh: Prefer explicit tests against zero.  Avoid
+	using boolean values as integer values.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Form.templates.hh, src/OR_Matrix.inlines.hh,
+	src/checked_float.inlines.hh: Improved implementation of
+	OR_Matrix<T>::any_row_iterator<U>::operator+=().  Increased
+	 readability: - separated explicit type conversions from code performing
+	   arithmetic operations (on non-mixed typed values);  - added a few redundant parentheses.  Similar improvement applied
+	to a couple of other functions.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh, src/version.hh.in: Provide a named group for
+	all library version control functions.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	src/DB_Row.inlines.hh, src/Interval_Info.inlines.hh,
+	src/ppl-config.cc.in: Prefer explicit tests against zero.  Detected
+	by ECLAIR service utypflag.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ChangeLog: Updated.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Makefile.am: Added `Watchdog' to `SUBDIRS'.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am: Completed `ppl_config_SOURCES'.
+
+2012-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, tests/Concrete_Expression/Makefile.am: Cater for
+	platforms where no floating-point type is supported.
+
+2012-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Float.defs.hh,
+	src/Interval.defs.hh, src/Linear_Form.defs.hh,
+	src/PIP_Tree.defs.hh, src/termination.defs.hh: Added several missing
+	\relates and \ingroup Doxygen commands.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.defs.hh, src/Checked_Number.defs.hh,
+	src/Dense_Row.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/intervals.defs.hh: Remove docs for a few implementation classes
+	from the user manual.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/intervals.defs.hh: Properly terminate Doxygen comments.
+
+2012-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: Wrong guard fixed.
+
+2012-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS, NEWS, README, ppl.lsm.in: Updated.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/intervals.defs.hh: Hide enum initializers from docs.  Remove
+	I_Result enumeration form user manual.
+
+2012-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Updated.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.cc, src/CO_Tree.cc, src/checked_float.inlines.hh: For
+	code clarity purposes, better distinguish signed/unsigned
+	operations.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.inlines.hh: Exploit new helper function
+	least_significant_one_mask(), thereby avoiding unary minus on
+	unsigned integer values.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh, src/globals.inlines.hh: Added helper function
+	least_significant_one_mask().
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4: Prefer explicit
+	test against zero.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc: Prefer explicit test against zero.
+	Detected by ECLAIR service utypflag.
+
+2012-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/linearize.hh: Reduced the scope of variable declarations.
+	Detected by ECLAIR service minscope.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/c_streambuf.cc, src/stdiobuf.cc: Prefer explicit tests against
+	zero.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Prefer explicit tests against
+	zero.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh: Prefer explicit test against zero.
+	Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Dense_Row.inlines.hh: Fixed a few misuses of assignment
+	(instead of comparison) in assertions.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh: Prefer explicit test against zero.
+	Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh: Avoid long line.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_mpz.inlines.hh: Prefer explicit test against zero.
+	Detected by ECLAIR service utypflag.
+
+2012-02-25  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.defs.hh, src/globals.inlines.hh: Prefer explicit tests
+	against zero.  Detected by ECLAIR service utypflag.
+
+2012-02-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh: Code layout made conformat to the coding
+	standard.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Octagonal_Shape.templates.hh: Restore previous names.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Threshold_Watcher.cc, src/Time.cc, src/Watchdog.cc: Use ""
+	quotes to include non-system headers.  Detected by ECLAIR service
+	hedrname.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Polyhedron_chdims.cc,
+	src/simplify.cc: Comments improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/WRD_coefficient_types.defs.hh,
+	src/checked.inlines.hh: Avoid commented-out code.  Detected by
+	ECLAIR service cmntdout.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Comments improved.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Avoid implicit conversion
+	changing type signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/C/ppl_interface_generator_c_cc_code.m4: Fixed C
+	interface incongruence.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	src/checked_float.inlines.hh: Avoid implicit conversion changing
+	signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh: Added
+	any_iterator operator+= and operator+ overloadings for unsigned
+	types.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Octagonal_Shape.templates.hh: Avoid to offset iterators twice.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Avoid implicit conversion changing
+	signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Removed a couple of useless explicit
+	casts.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Matrix.cc, src/Bit_Matrix.inlines.hh,
+	src/Box.templates.hh, src/DB_Matrix.templates.hh,
+	src/Dense_Matrix.cc, src/Dense_Matrix.inlines.hh,
+	src/Grid_chdims.cc, src/Linear_System.cc,
+	src/MIP_Problem.inlines.hh, src/PIP_Problem.cc, src/PIP_Tree.cc,
+	src/globals.defs.hh, src/globals.inlines.hh: When working with
+	sizes, prefer vector::resize() to vector::erase().  Added helper
+	function nth_iter().
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/OR_Matrix.inlines.hh: Fixed implementation defined implicit
+	cast.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/wrap_assign.hh: Silenced a warning.
+
+2012-02-24  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Linear_Form.templates.hh: Fixed implementation defined
+	implicit cast.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/Octagonal_Shape.templates.hh,
+	src/PIP_Tree.cc: Delimit pseudo-code in non-Doxygen comments within
+	<CODE> </CODE>.  Comments improved.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/c_streambuf.cc, src/c_streambuf.defs.hh, src/stdiobuf.cc: 
+	Avoid implicit conversions changing type signedness.  Detected by
+	ECLAIR service utypflag.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/conversion.cc: Delimit pseudo-code in non-Doxygen comments
+	within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Sparse_Row.defs.hh: Delimit pseudo-code in Doxygen comments
+	within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Comment improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_widenings.cc: Delimit pseudo-code in non-Doxygen
+	comments within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid_public.cc: Comment improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Comments improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Delimit pseudo-code in non-Doxygen comments
+	within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Comment improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh, src/CO_Tree.templates.hh: 
+	Delimit pseudo-code in non-Doxygen comments within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh: Comment improved.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc: Delimit example code in non-Doxygen comments
+	within <CODE> </CODE>.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh: Comments fixed/improved.
+
+2012-02-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Row_Flags.cc: Avoid implicit conversions changing type
+	signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/iterator_to_const.defs.hh: Avoid commented-out code.  Detected
+	by ECLAIR service cmntdout.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Fixed punctuation in comments.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.inlines.hh, src/PIP_Tree.cc: Avoid commented-out
+	code.  Detected by ECLAIR service cmntdout.
+
+2012-02-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: 
+	Comment punctuation fixed.
+
+2012-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/initializer.hh: Avoid unnamed namespace in header file.
+	Detected by ECLAIR service hedrfile.
+
+2012-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/compiler.hh: Enclose macro argument in parentheses.  Detected
+	by ECLAIR service macrbody.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/interfaced_boxes.hh, src/Boundary.defs.hh,
+	src/Box.templates.hh, src/Checked_Number.defs.hh,
+	src/Integer_Interval.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Interval.templates.hh,
+	src/Interval_Info.defs.hh, src/Interval_Restriction.defs.hh,
+	src/Makefile.am, src/Rational_Interval.hh, tests/Box/interval1.cc,
+	tests/Box/refinewithconstraint2.cc, tests/ppl_test.hh: Removed
+	interval restrictions.
+
+2012-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.inlines.hh: Prefer using C_Integer traits rather than
+	<climits> macros, thereby avoiding implicit conversions changing
+	type signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/wrap_string.cc: Rewritten function to avoid mixing signed and
+	unsigned integer types.  Detected by ECLAIR service utypflag.
+
+2012-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Avoid implicit conversion changing signedness.
+	Detected by ECLAIR service utypflag.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/ppl-config.cc.in: Improved strcaseeq implementation.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.cc: Fixed cast. Detected by ECLAIR service utypflag.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Checked_Number.inlines.hh: Fixed signedness. Detected by
+	ECLAIR service utypflag.
+
+2012-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.templates.hh: Simplified implementation of method
+	Grid::reduce_reduced().  While at it, got rid of a few implicit
+	conversions changing signedness.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.inlines.hh, src/checked_float.inlines.hh: mp_bitcnt_t
+	is not present in gmp 3.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Concrete_Expression.cc: Forgotten changes.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/C_Integer.hh: Simplified min/max evaluation.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Concrete_Expression.defs.hh,
+	src/Concrete_Expression.inlines.hh: Prefer bool field.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Time.defs.hh, src/Time.inlines.hh, src/Watchdog.cc,
+	src/Watchdog.defs.hh, src/Watchdog.inlines.hh,
+	src/checked_ext.inlines.hh: Use always long for time related
+	quantities.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.cc: Avoid implicit conversions changing integer type
+	signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-23  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.inlines.hh, src/Float.defs.hh, src/Row_Flags.defs.hh,
+	src/checked.cc, src/checked_float.inlines.hh: Avoid implicit
+	conversions changing integer type signedness.  Detected by ECLAIR
+	service utypflag.
+
+2012-02-22  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.cc, src/Bit_Row.inlines.hh, src/CO_Tree.cc,
+	src/CO_Tree.defs.hh, src/CO_Tree.templates.hh, src/Float.defs.hh,
+	src/Float.inlines.hh, src/Float.templates.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/compiler.hh, src/globals.inlines.hh: Avoid implicit conversions
+	changing integer type signedness.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh, src/CO_Tree.templates.hh: 
+	Avoid implicit conversions changing integer type signedness.
+	Detected by ECLAIR service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.inlines.hh: Avoid implicit conversion changing
+	type signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.defs.hh, src/Box.templates.hh, src/C_Polyhedron.cc,
+	src/C_Polyhedron.inlines.hh, src/Grid.defs.hh, src/Grid.inlines.hh,
+	src/Grid.templates.hh, src/Grid_Generator.cc, src/Grid_chdims.cc,
+	src/Grid_nonpublic.cc, src/Grid_public.cc, src/NNC_Polyhedron.cc,
+	src/NNC_Polyhedron.inlines.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron_chdims.cc,
+	src/Polyhedron_nonpublic.cc, src/globals.cc, src/globals.defs.hh: 
+	Added helper function check_space_dimension_overflow().  Added
+	similar helper in class Polyhedron and got rid of no longer needed
+	method throw_space_dimension_overflow().  Exploit the new helper to
+	simplify space dim checking in constructors.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Generator.cc: Avoid implicit conversion changing signedness.
+	Detected by ECLAIR service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/compiler.hh: Macro PPL_ASSERT is not available in compiler.hh.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: Let `indent' have
+	type signed int, matching signature of std::setw().  Detected by
+	ECLAIR service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/BHRZ03_Certificate.defs.hh: Fixed inclusion directive.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Polyhedron.cc, src/Constraint.cc, src/NNC_Polyhedron.cc,
+	src/Polyhedron_public.cc: Avoid implicit conversions changing
+	signedness.  Detected by ECLAIR service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc, src/conversion.cc: Prefer using
+	C_Integer traits rather than <climits> macros, thereby avoiding
+	implicit conversions changing signedness.  Detected by ECLAIR
+	service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Let `indent_level' have
+	type signed int, matching signature of std::setw().  Detected by
+	ECLAIR service utypflag.
+
+2012-02-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/checked_int.inlines.hh: Avoid using functional casts.
+	Detected by ECLAIR service castexpr.
+
+2012-02-22  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Bit_Row.cc, src/CO_Tree.cc, src/CO_Tree.templates.hh,
+	src/Float.defs.hh, src/Float.inlines.hh, src/Interval.defs.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/intervals.defs.hh: Replaced all c-style casts.  Detected by
+	ECLAIR service castexpr.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh, src/Constraint_System.defs.hh,
+	src/Constraint_System.inlines.hh, src/PIP_Tree.cc,
+	src/termination.cc: Added helper function
+	Implementation::num_constraints().  When implementing it, avoid
+	implicit conversion changing signedness.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-22  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Bit_Row.inlines.hh, src/Float.inlines.hh, src/assert.hh,
+	src/compiler.hh, src/globals.inlines.hh: Uniformed, improved and
+	moved to a better place implementation of clz/ctz.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Matrix.cc, src/Bit_Row.cc, src/checked.cc: Prefer using
+	C_Integer traits rather than macros in <climits>, thereby avoiding a
+	few implicit conversions changing signedness.  Detected by ECLAIR
+	service utypflag.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: Declare pure virtual
+	methods in abstract base classes.  Override them only once in
+	derived classes.  Detected by ECLAIR service ovrdonce.
+
+2012-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Handler.defs.hh, src/c_streambuf.defs.hh: Specify the
+	`virtual' keyword when declaring overriding methods.  Detected by
+	ECLAIR service ovrdexpl.
+
+2012-02-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/ppl-config.cc.in: Moved another declaration into a smaller
+	scope.  Detected by ECLAIR service minscope.
+
+2012-02-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/ppl-config.cc.in: Move declarations to nsure variables are
+	declared at smallest possible scope.  Detected by ECLAIR service
+	minscope.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am: Multiple-inclusion guards added.  Detected by
+	ECLAIR service inclgard.
+
+2012-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_int.inlines.hh, src/ppl-config.cc.in: Avoided
+	functional cast. Detected by ECLAIR service castexpr.
+
+2012-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Handler.defs.hh: Avoid not needed virtual inheritance.
+
+2012-02-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-language-interface.doxyconf.in,
+	doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	doc/user-language-interface.doxyconf.in, doc/user.doxyconf-html.in,
+	doc/user.doxyconf-latex.in: Updated Doxygen configuration files to
+	release 1.7.4.
+
+2012-02-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, src/Init.cc, src/Watchdog.cc: Added
+	'&' prefix to function identifiers that are not used to call the
+	function.  Detected by Eclair service funcalls.
+
+2012-02-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/PIP_Tree.cc: When object is not used for control, declaration
+	moved outside for statement.
+
+2012-02-21  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/PIP_Tree.cc, src/Partially_Reduced_Product.templates.hh: 
+	Declarations that can be moved into a smaller scope have been moved.
+	Detected by ECLAIR service minscope.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray.in: Simplified.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray.in: Simplified.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Makefile.am, src/ppl-config.cc.in: New automatically generated
+	files BUGS.hh, COPYING.hh and CREDITS.hh.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/text2cxxarray.in: Explicitly state the array size.  New
+	option --decl-only.
+
+2012-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/MIP_Problem/mipproblem2.cc: Unwanted inclusion removed.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Box/refinewithconstraints2.cc: Unwanted inclusion removed.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	tests/Box/refinewithconstraints2.cc,
+	tests/MIP_Problem/mipproblem2.cc: The Parma Watchdog Library has
+	been merged into the Parma Polyhedra Library.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.defs.hh: Missing default added.
+
+2012-02-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Boundary.defs.hh, src/Grid.templates.hh, src/PIP_Problem.cc,
+	src/checked_float.inlines.hh: Renamed some variables so that
+	declarations in an outer scope are not hidden.  Detected by ECLAIR
+	service declhidn.
+
+2012-02-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.templates.hh, src/PIP_Problem.cc,
+	src/checked_float.inlines.hh: Revert "Renamed some variables so that
+	declarations in an outer scope are not hidden." This reverts commit 97cc40667310524111a674be5ad3e8e9e4ec8c90.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Watchdog/watchdog1.cc: Global-replace mistake fixed.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, Watchdog/.gitignore, Watchdog/BUGS,
+	Watchdog/COPYING, Watchdog/CREDITS, Watchdog/ChangeLog,
+	Watchdog/ChangeLog_2001-2008, Watchdog/INSTALL,
+	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	Watchdog/compile, Watchdog/config.guess, Watchdog/config.rpath,
+	Watchdog/config.sub, Watchdog/configure.ac, Watchdog/depcomp,
+	Watchdog/doc/.gitignore, Watchdog/doc/Makefile.am,
+	Watchdog/doc/README.doc, Watchdog/doc/devref.doxyconf-html.in,
+	Watchdog/doc/devref.doxyconf-latex.in, Watchdog/doc/devref.tex,
+	Watchdog/doc/fdl.dox, Watchdog/doc/fdl.tex, Watchdog/doc/fdl.txt,
+	Watchdog/doc/gpl.dox, Watchdog/doc/gpl.tex, Watchdog/doc/gpl.txt,
+	Watchdog/doc/pwl.sty, Watchdog/doc/user.doxyconf-html.in,
+	Watchdog/doc/user.doxyconf-latex.in, Watchdog/doc/user.tex,
+	Watchdog/install-sh, Watchdog/ltmain.sh, Watchdog/m4/.gitignore,
+	Watchdog/m4/Makefile.am, Watchdog/m4/lib-ld.m4,
+	Watchdog/m4/lib-link.m4, Watchdog/m4/libtool.m4,
+	Watchdog/m4/ltoptions.m4, Watchdog/m4/ltsugar.m4,
+	Watchdog/m4/ltversion.m4, Watchdog/m4/lt~obsolete.m4,
+	Watchdog/missing, Watchdog/mkinstalldirs, Watchdog/pwl-config.sed,
+	Watchdog/src/.gitignore, Watchdog/src/Makefile.am,
+	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	Watchdog/tests/.gitignore, Watchdog/tests/pwl_test.cc,
+	Watchdog/tests/pwl_test.hh, Watchdog/tests/valgrind_suppressions,
+	Watchdog/utils/.gitignore, Watchdog/utils/Makefile.am,
+	Watchdog/utils/build_header.in, configure.ac,
+	doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	interfaces/C/Makefile.am, interfaces/C/tests/Makefile.am,
+	interfaces/C/tests/watchdog1.c, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/tests/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/tests/Makefile.am,
+	interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/YAP/Makefile.am, ppl-config.sed, {Watchdog/src =>
+	src}/Doubly_Linked_Object.defs.hh, {Watchdog/src =>
+	src}/Doubly_Linked_Object.inlines.hh,
+	src/Doubly_Linked_Object.types.hh, {Watchdog/src =>
+	src}/EList.defs.hh, {Watchdog/src => src}/EList.inlines.hh,
+	{Watchdog/src => src}/EList.types.hh, {Watchdog/src =>
+	src}/EList_Iterator.defs.hh, {Watchdog/src =>
+	src}/EList_Iterator.inlines.hh, {Watchdog/src =>
+	src}/EList_Iterator.types.hh, {Watchdog/src =>
+	src}/Handler.defs.hh, {Watchdog/src => src}/Handler.inlines.hh,
+	{Watchdog/src => src}/Handler.types.hh, src/Init.cc,
+	src/Makefile.am, {Watchdog/src => src}/Pending_Element.defs.hh,
+	{Watchdog/src => src}/Pending_Element.inlines.hh, {Watchdog/src =>
+	src}/Pending_Element.types.hh, {Watchdog/src =>
+	src}/Pending_List.defs.hh, {Watchdog/src =>
+	src}/Pending_List.inlines.hh, {Watchdog/src =>
+	src}/Pending_List.templates.hh, {Watchdog/src =>
+	src}/Pending_List.types.hh, {Watchdog/src =>
+	src}/Threshold_Watcher.cc, {Watchdog/src =>
+	src}/Threshold_Watcher.defs.hh, {Watchdog/src =>
+	src}/Threshold_Watcher.inlines.hh, {Watchdog/src =>
+	src}/Threshold_Watcher.templates.hh, {Watchdog/src =>
+	src}/Threshold_Watcher.types.hh, {Watchdog/src => src}/Time.cc,
+	{Watchdog/src => src}/Time.defs.hh, {Watchdog/src =>
+	src}/Time.inlines.hh, Watchdog/src/Doubly_Linked_Object.types.hh =>
+	src/Time.types.hh, {Watchdog/src => src}/Watchdog.cc, {Watchdog/src
+	=> src}/Watchdog.defs.hh, {Watchdog/src =>
+	src}/Watchdog.inlines.hh, Watchdog/src/Time.types.hh =>
+	src/Watchdog.types.hh, src/ppl_header.hh,
+	tests/Ask_Tell/Makefile.am, tests/Box/Makefile.am,
+	tests/CO_Tree/Makefile.am, tests/Concrete_Expression/Makefile.am,
+	tests/MIP_Problem/Makefile.am, tests/PIP_Problem/Makefile.am,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/watchdog1.cc,
+	tests/Polyhedron/weightwatch1.cc, tests/Sparse_Matrix/Makefile.am,
+	{Watchdog/tests => tests/Watchdog}/Makefile.am, {Watchdog/tests =>
+	tests/Watchdog}/watchdog1.cc: The Parma Watchdog Library has been
+	merged into the Parma Polyhedra Library.
+
+2012-02-20  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.templates.hh, src/PIP_Problem.cc,
+	src/checked_float.inlines.hh: Renamed some variables so that
+	declarations in an outer scope are not hidden.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_ids: Spurious line removed.
+
+2012-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.alpha, README.arm, README.solaris,
+	devtools/update_ChangeLog, interfaces/Java/README.java,
+	interfaces/OCaml/README.ocaml, interfaces/Prolog/Ciao/README.ciao,
+	interfaces/Prolog/GNU/README.gprolog,
+	interfaces/Prolog/SWI/README.swiprolog,
+	interfaces/Prolog/YAP/README.yap, tests/MIP_Problem/mipproblem4.cc: 
+	Added/fixed some copyright notices.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Float.inlines.hh: Let bitwise operators be applied to unsigned
+	integer types.  Detected by ECLAIR service utypflag.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh: Let bitwise operators be applied to
+	unsigned integer types.  Detected by ECLAIR service utypflag.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Boundary.defs.hh: Exploit operator| overloading for
+	Rounding_Dir.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.cc, src/Float.defs.hh, src/Interval.defs.hh,
+	src/intervals.defs.hh: Let bitwise operators be applied to unsigned
+	integer types.  Detected by ECLAIR service utypflag.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Result.defs.hh, src/Result.inlines.hh, src/globals.types.hh: 
+	Let bitwise operators be applied to unsigned integer types.
+	Detected by ECLAIR service utypflag.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh: Let bitwise
+	operators be applied to unsigned integer types.  Detected by ECLAIR
+	service utypflag.
+
+2012-02-20  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Add the release date for PPL 0.11.2.  Mention a couple of
+	bugs that have been corrected.
+
+2012-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.cc, src/Box.templates.hh, src/Linear_Form.inlines.hh: 
+	Reduced the scope of some variables.  Detected by ECLAIR service
+	minscope.
+
+2012-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Powerset.templates.hh, src/ppl-config.cc.in: Prefer explicit
+	tests againts zero.  Detected by ECLAIR service utypflag.
+
+2012-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Partially_Reduced_Product.templates.hh: Avoid abusing
+	sort-circuited logical operators.
+
+2012-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_chdims.cc: Avoid abusing short-circuited logical
+	operators (prefer explicit control flow).  Detected by ECLAIR
+	service utypflag.
+
+2012-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc: Prefer explicit tests against
+	zero.  Detected by ECLAIR service utypflag.
+
+2012-02-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.templates.hh, src/checked.cc, src/globals.defs.hh,
+	src/globals.inlines.hh, src/wrap_string.cc: Added helper is_space(),
+	to be used instead of directly calling isspace().
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Boundary.defs.hh, src/Checked_Number.defs.hh,
+	src/Checked_Number.inlines.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh: Renamed is_infinity() as infinity_sign(),
+	returning an `int' in {-1, 0, 1}.  Prefer explicit tests against
+	zero.  Detected by ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/globals.inlines.hh, src/wrap_assign.hh, src/wrap_string.cc: 
+	Prefer explicit tests against zero.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/assert.hh, src/globals.defs.hh: Prefer `while
+	(true)' and `while (false)' wrt `while (1)' and `while(0)'.
+	Detected by ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.cc: Prefer explicit tests against zero.  Detected by
+	ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.cc, src/OR_Matrix.inlines.hh,
+	src/Polyhedron_public.cc: Prefer explicit tests against zero.
+	Detected by ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_chdims.cc, src/Grid_nonpublic.cc, src/Grid_public.cc,
+	src/Grid_widenings.cc: Prefer explicit tests against zero.  Do not
+	abusing short-circuit operators (prefer explicit control flow).
+	Detected by ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Matrix.cc: Prefer explicit test against zero.  Detected by
+	ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.cc: Prefer explicit usage of the istream::fail()
+	method.  Detected by ECLAIR service utypflag.
+
+2012-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Integer.hh, src/meta_programming.hh: Rename as
+	`const_bool_value' the "anonymous" enums encoding a bool value.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/conversion.cc: Prefer using vector::resize wrt insert.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_Status.inlines.hh, src/Result.inlines.hh: Prefer explicit
+	tests against zero.  Detected by ECLAIR service utypflag.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.cc: Make comparison against zero explicit.
+	Detected by ECLAIR service utypflag.  While at it, simplified
+	control flow by removing a use of `continue'.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box_Status.inlines.hh: Make comparison against zero explicit.
+	Detected by ECLAIR service utypflag.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.cc: Make comparison against zero explicit.  Detected
+	by ECLAIR service utypflag.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, src/BD_Shape.inlines.hh, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Grid.inlines.hh, src/Octagonal_Shape.inlines.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Pointset_Ask_Tell.inlines.hh, src/Pointset_Powerset.inlines.hh,
+	src/Polyhedron.inlines.hh, src/globals.defs.hh,
+	src/globals.inlines.hh: Added helper function to compute the hash
+	code from a space dimension.  Added missing has_code() method to
+	class Box<ITV> and generate corresponding method in Java interface
+	for boxes.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Float.inlines.hh, src/Rounding_Dir.inlines.hh: Make comparison
+	against zero explicit.  Detected by ECLAIR service utypflag.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Prefer testing against zero.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Float.defs.hh, src/Float.inlines.hh,
+	src/checked_float.inlines.hh: For clarity, renamed three-state Float
+	method is_inf() as inf_sign().  Similarly, renamed is_zero() as
+	zero_sign().
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.inlines.hh, src/Box.templates.hh, src/Interval.defs.hh,
+	src/intervals.defs.hh: Avoid long lines and try to improve
+	readability.  In particular, when using helper function i_constraint(), prefer
+	passing in an already built Relation_Symbol object if its
+	computation is nontrivial.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Completed previous commit, fixing
+	is_{m,p}inf_float.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Let is_inf_float() return a Boolean
+	value, rather than an integer.  Detected by ECLAIR service utypflag.
+
+2012-02-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh, src/Pointset_Powerset.templates.hh: Prefer
+	using logical (wrt bitwise) operators on Boolean values.  Detected
+	by ECLAIR service utypflag.
+
+2012-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh: Fixed a bug in
+	Box<ITV>::upper_bound_assign(_if_exact).  Calling the method with an
+	empty argument that, due to computational laziness, is not yet
+	flagged as being empty was producing wrong results.  (Note: here
+	`wrong' means unnecessarily imprecise; from the point of view of
+	approximation, the results were still correct).  See test08 in
+	tests/Box/upperbound1.cc.
+
+2012-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Box/upperbound1.cc: Restored a few tests commented out long
+	time ago.  Added a new test (synthesized from a Java test provided
+	by Gianluca Amato) showing a problem in the implementation of
+	Box<ITV>::upper_bound_assign().
+
+2012-02-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2012-02-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/DB_Matrix.defs.hh: Indentation fixed.
+
+2012-02-13  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/ppl_interface_generator_common_dat.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4: 
+	Enabled CC76_narrowing_assign for Boxes.
+
+2012-02-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am, tests/Ask_Tell/Makefile.am,
+	tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/CO_Tree/Makefile.am, tests/Concrete_Expression/Makefile.am,
+	tests/Grid/Makefile.am, tests/MIP_Problem/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am, tests/PIP_Problem/Makefile.am,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Polyhedron/Makefile.am, tests/Powerset/Makefile.am,
+	tests/Sparse_Matrix/Makefile.am: Invoke libtool when checking with
+	Valgrind enabled.
+
+2012-02-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Concrete_Expression/Makefile.am: Fixed value for Valgrind
+	--num-callers option.  According to man pages, maximum value is 50.
+
+2012-02-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: 
+	Avoid pointer casts when allocating coefficients in Dense_Row::Impl.
+	Detected by ECLAIR service M++.5-2-8.  We now use a std::allocator object (similar to what done in
+	CO_Tree).
+
+2012-02-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: For
+	naming consistency, `coefficient_allocator' renamed as
+	`data_allocator'.  Explicitly include <memory> for std::allocator.
+	Fixed deallocation bugs in CO_Tree::rebuild_bigger_tree():   - use delete[] for `indexes';   - use data_allocator.deallocayte for `data'.  On copy
+	construction, assignment and swap, do also copy/assign/swap the
+	allocator.
+
+2012-02-13  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Box.templates.hh: Reduce scope of loop index variable.
+	Detected by ECLAIR service minscope.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Grid_conversion.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc,
+	src/Octagonal_Shape.templates.hh: Make sure each case within a
+	switch statement is properly terminated.  Detected by ECLAIR service
+	swchbrek.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: 
+	Spurious spaces removed.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc: Type fixed.  Detected by ECLAIR service
+	utypflag.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/meta_programming.hh: Added missing parentheses around a macro
+	argument.  Detected by ECLAIR service macrbody.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/MIP_Problem.cc, src/globals.defs.hh: Avoid
+	null statements that, apart from a comment, are not on a line by
+	themselves.  Detected by ECLAIR service nullstmt.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/compile, Watchdog/config.guess, Watchdog/config.sub,
+	Watchdog/depcomp, Watchdog/install-sh, Watchdog/ltmain.sh,
+	Watchdog/m4/libtool.m4, Watchdog/m4/ltoptions.m4,
+	Watchdog/m4/ltversion.m4, Watchdog/missing, compile, config.guess,
+	config.sub, depcomp, install-sh, ltmain.sh, m4/libtool.m4,
+	m4/ltoptions.m4, m4/ltversion.m4, missing: Updated.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/YAP/Makefile.am: Prolog sources must go under
+	.../share/ppl as these files are architecture independent.
+	Moreover, new versions of Automake no longer accept pkglib_DATA.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Added missing template parameter.
+
+2012-02-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh: INT_MIN % -1 is undefined behavior in
+	C++11.  The PPL has been proven to be immune to this potential
+	problem by ECLAIR.  (Thanks to Rene Sugar.) Long lines avoided on
+	passing.
+
+2012-02-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/Makefile.am: Reflected file removal.
+
+2012-02-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO, configure.ac, m4/ac_cxx_remainder_bug.m4, src/checked.cc: 
+	INT_MIN % -1 is undefined behavior in C++11.  The PPL has been
+	proven to be immune to this potential problem by ECLAIR.  (Thanks to
+	Rene Sugar.)
+
+2012-02-03  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid_Generator.inlines.hh: Added a default label to switch.
+
+2012-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/assert.hh: Be consistent with the use of attribute weak.
+
+2012-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl-config.cc.in: The functions fatal() and internal_error()
+	are now attributed with noreturn.
+
+2012-01-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/bump_copyright_years: Improved.
+
+2012-01-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.templates.hh, src/Grid_Generator_System.cc,
+	src/Grid_public.cc: Reduced the scope of some variables.  Detected
+	by ECLAIR service minscope.
+
+2012-01-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, README, README.configure, STANDARDS,
+	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	Watchdog/configure.ac, Watchdog/doc/Makefile.am,
+	Watchdog/doc/README.doc, Watchdog/doc/devref.tex,
+	Watchdog/doc/pwl.sty, Watchdog/doc/user.tex,
+	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
+	Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	Watchdog/src/Doubly_Linked_Object.types.hh,
+	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	Watchdog/src/EList_Iterator.inlines.hh,
+	Watchdog/src/EList_Iterator.types.hh, Watchdog/src/Handler.defs.hh,
+	Watchdog/src/Handler.inlines.hh, Watchdog/src/Handler.types.hh,
+	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_Element.types.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh,
+	Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.inlines.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	Watchdog/src/Threshold_Watcher.types.hh, Watchdog/src/Time.cc,
+	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
+	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
+	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	configure.ac, debian/libppl-pwl.copyright.in,
+	debian/libppl.copyright.in, demos/Makefile.am,
+	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
+	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/dummy.cc,
+	demos/ppl_lpsol/examples/Makefile.am,
+	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c,
+	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
+	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
+	demos/ppl_pips/ppl_pips_extra_man_text,
+	devtools/bump_copyright_years, devtools/generate_dox_biblio,
+	devtools/generate_dox_ci_prolog_manual,
+	devtools/generate_man_pages, devtools/print_nonascii_lines,
+	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
+	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
+	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
+	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh, instchk.hh,
+	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_c_version.h.in,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	interfaces/C/ppl_interface_generator_c_h.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/C/tests/Makefile.am,
+	interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
+	interfaces/C/tests/ppl_c_test.h,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h,
+	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
+	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
+	ow.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
+	entation.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
+	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
+	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	, interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
+	java,
+	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java,
+	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
+	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Name.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Value.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	interfaces/Java/parma_polyhedra_library/Pair.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
+	interfaces/Java/parma_polyhedra_library/Variable.java,
+	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/PIP_Problem_test1.java,
+	interfaces/Java/tests/PPL_Test.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/Java/tests/Test_Executor.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Java/tests/ppl_java_tests_common,
+	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/Makefile.am,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	interfaces/OCaml/tests/test1.ml,
+	interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/Ciao/ciao_cfli.hh,
+	interfaces/Prolog/Ciao/ciao_clpq.pl,
+	interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	interfaces/Prolog/Ciao/ciao_efli.cc,
+	interfaces/Prolog/Ciao/ciao_efli.hh,
+	interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
+	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/GNU/gnu_pl_check.pl,
+	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
+	interfaces/Prolog/GNU/gp_clpq.pl,
+	interfaces/Prolog/GNU/gprolog_cfli.hh,
+	interfaces/Prolog/GNU/gprolog_efli.cc,
+	interfaces/Prolog/GNU/gprolog_efli.hh,
+	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/Prolog_configured_interface.dox,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/Prolog_interface_compilation.dox,
+	interfaces/Prolog/Prolog_interface_sysdep.dox,
+	interfaces/Prolog/Prolog_interface_sysindep.dox,
+	interfaces/Prolog/Prolog_interface_sysindep_domains.dox,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	interfaces/Prolog/SICStus/sicstus_cfli.h,
+	interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	interfaces/Prolog/SICStus/sicstus_efli.cc,
+	interfaces/Prolog/SICStus/sicstus_efli.hh,
+	interfaces/Prolog/SICStus/sp_clpq.pl,
+	interfaces/Prolog/SICStus/sp_pl_check.pl,
+	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
+	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	interfaces/Prolog/SWI/ppl_pl.cc,
+	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	interfaces/Prolog/SWI/swi_cfli.hh,
+	interfaces/Prolog/SWI/swi_efli.cc,
+	interfaces/Prolog/SWI/swi_efli.hh,
+	interfaces/Prolog/SWI/swi_pl_check.pl,
+	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
+	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/XSB/xsb_cfli.hh,
+	interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P,
+	interfaces/Prolog/XSB/xsb_efli.cc,
+	interfaces/Prolog/XSB/xsb_efli.hh,
+	interfaces/Prolog/XSB/xsb_pl_check.P,
+	interfaces/Prolog/YAP/Makefile.am,
+	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/YAP/ppl_yap.pl,
+	interfaces/Prolog/YAP/yap_cfli.hh,
+	interfaces/Prolog/YAP/yap_clpq.pl,
+	interfaces/Prolog/YAP/yap_clpq2.pl,
+	interfaces/Prolog/YAP/yap_efli.cc,
+	interfaces/Prolog/YAP/yap_efli.hh,
+	interfaces/Prolog/YAP/yap_pl_check.pl,
+	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	interfaces/Prolog/tests/Makefile.am,
+	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
+	interfaces/Prolog/tests/expected_clpq2_int16,
+	interfaces/Prolog/tests/expected_clpq2_int16_a,
+	interfaces/Prolog/tests/expected_clpq2_int32,
+	interfaces/Prolog/tests/expected_clpq2_int32_a,
+	interfaces/Prolog/tests/expected_clpq2_int64,
+	interfaces/Prolog/tests/expected_clpq2_int64_a,
+	interfaces/Prolog/tests/expected_clpq2_int8,
+	interfaces/Prolog/tests/expected_clpq2_int8_a,
+	interfaces/Prolog/tests/expected_clpq2_mpz,
+	interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	interfaces/Prolog/tests/expected_clpq_int16,
+	interfaces/Prolog/tests/expected_clpq_int16_a,
+	interfaces/Prolog/tests/expected_clpq_int32,
+	interfaces/Prolog/tests/expected_clpq_int32_a,
+	interfaces/Prolog/tests/expected_clpq_int64,
+	interfaces/Prolog/tests/expected_clpq_int64_a,
+	interfaces/Prolog/tests/expected_clpq_int8,
+	interfaces/Prolog/tests/expected_clpq_int8_a,
+	interfaces/Prolog/tests/expected_clpq_mpz,
+	interfaces/Prolog/tests/expected_clpq_mpz_a,
+	interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl.m4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4,
+	interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
+	interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py,
+	interfaces/interfaced_boxes.hh, interfaces/marked_pointers.hh,
+	interfaces/ppl_interface_generator_common.m4,
+	interfaces/ppl_interface_generator_common_dat.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	interfaces/ppl_interface_generator_copyright, m4/Makefile.am,
+	m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
+	m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
+	m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
+	m4/ac_check_yap.m4, m4/ac_cxx_attribute_weak.m4,
+	m4/ac_cxx_double_binary_format.m4,
+	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_float_binary_format.m4,
+	m4/ac_cxx_float_exact_output.m4, m4/ac_cxx_ieee_inexact_flag.m4,
+	m4/ac_cxx_limit_memory.m4, m4/ac_cxx_long_double_binary_format.m4,
+	m4/ac_cxx_long_double_exact_output.m4,
+	m4/ac_cxx_plain_char_is_signed.m4, m4/ac_cxx_proper_long_double.m4,
+	m4/ac_cxx_remainder_bug.m4, m4/ac_cxx_zero_length_arrays.m4,
+	m4/ac_prog_jar.m4, m4/ac_prog_java.m4, m4/ac_prog_javac.m4,
+	m4/ac_prog_javah.m4, m4/ac_text_md5sum.m4, m4/ppl.m4, m4/ppl_c.m4,
+	src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh, src/Affine_Space.types.hh,
+	src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
+	src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
+	src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
+	src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
+	src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/BHRZ03_Certificate.types.hh, src/Bit_Matrix.cc,
+	src/Bit_Matrix.defs.hh, src/Bit_Matrix.inlines.hh,
+	src/Bit_Matrix.types.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	src/Bit_Row.inlines.hh, src/Bit_Row.types.hh, src/Boundary.defs.hh,
+	src/Box.cc, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh, src/Box.types.hh, src/Box_Status.idefs.hh,
+	src/Box_Status.inlines.hh, src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/CO_Tree.inlines.hh, src/CO_Tree.templates.hh,
+	src/CO_Tree.types.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
+	src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	src/C_Polyhedron.types.hh,
+	src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Cast_Floating_Point_Expression.types.hh, src/Checked_Number.cc,
+	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Checked_Number.templates.hh, src/Checked_Number.types.hh,
+	src/Coefficient.cc, src/Coefficient.defs.hh,
+	src/Coefficient.inlines.hh, src/Coefficient.types.hh,
+	src/Coefficient_traits_template.hh, src/Concrete_Expression.cc,
+	src/Concrete_Expression.defs.hh,
+	src/Concrete_Expression.inlines.hh,
+	src/Concrete_Expression.types.hh, src/Congruence.cc,
+	src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	src/Congruence.types.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Congruence_System.types.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constant_Floating_Point_Expression.types.hh, src/Constraint.cc,
+	src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	src/Constraint.types.hh, src/Constraint_System.cc,
+	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
+	src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	src/DB_Matrix.types.hh, src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
+	src/DB_Row.templates.hh, src/DB_Row.types.hh, src/Dense_Matrix.cc,
+	src/Dense_Matrix.defs.hh, src/Dense_Matrix.inlines.hh,
+	src/Dense_Matrix.types.hh, src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/Dense_Row.templates.hh,
+	src/Dense_Row.types.hh, src/Determinate.defs.hh,
+	src/Determinate.inlines.hh, src/Determinate.types.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Difference_Floating_Point_Expression.types.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.types.hh, src/Float.cc,
+	src/Float.defs.hh, src/Float.inlines.hh, src/Float.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.types.hh, src/GMP_Integer.defs.hh,
+	src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator.types.hh, src/Generator_System.cc,
+	src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	src/Generator_System.types.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
+	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
+	src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh,
+	src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh,
+	src/Has_Assign_Or_Swap.hh, src/Init.cc, src/Init.defs.hh,
+	src/Init.inlines.hh, src/Init.types.hh, src/Integer_Interval.hh,
+	src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/Interval.types.hh,
+	src/Interval_Info.defs.hh, src/Interval_Info.inlines.hh,
+	src/Interval_Info.types.hh, src/Interval_Restriction.defs.hh,
+	src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	src/Linear_Expression.inlines.hh, src/Linear_Expression.types.hh,
+	src/Linear_Form.cc, src/Linear_Form.defs.hh,
+	src/Linear_Form.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Form.types.hh, src/Linear_Row.cc,
+	src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	src/Linear_Row.types.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/Linear_System.types.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
+	src/Makefile.am, src/Matrix.defs.hh, src/Matrix.types.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.types.hh,
+	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	src/Numeric_Format.defs.hh, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	src/OR_Matrix.types.hh, src/Octagonal_Shape.cc,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
+	src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.types.hh,
+	src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Problem.types.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/PIP_Tree.inlines.hh, src/PIP_Tree.types.hh,
+	src/Partial_Function.cc, src/Partial_Function.defs.hh,
+	src/Partial_Function.inlines.hh, src/Partial_Function.types.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Partially_Reduced_Product.types.hh, src/Ph_Status.cc,
+	src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Ask_Tell.types.hh,
+	src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Pointset_Powerset.types.hh,
+	src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
+	src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh,
+	src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
+	src/Poly_Gen_Relation.inlines.hh, src/Poly_Gen_Relation.types.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron.types.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	src/Powerset.templates.hh, src/Powerset.types.hh,
+	src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	src/Ptr_Iterator.types.hh, src/Rational_Box.hh,
+	src/Rational_Interval.hh, src/Result.defs.hh,
+	src/Result.inlines.hh, src/Rounding_Dir.defs.hh,
+	src/Rounding_Dir.inlines.hh, src/Row.defs.hh, src/Row.types.hh,
+	src/Row_Flags.cc, src/Row_Flags.defs.hh, src/Row_Flags.inlines.hh,
+	src/Row_Flags.types.hh, src/Scalar_Products.cc,
+	src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	src/Scalar_Products.types.hh, src/Slow_Copy.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Matrix.types.hh,
+	src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh,
+	src/Sparse_Row.types.hh, src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.types.hh, src/Temp.defs.hh,
+	src/Temp.inlines.hh, src/Temp.templates.hh, src/Topology.types.hh,
+	src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
+	src/Variable.types.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.types.hh,
+	src/Variables_Set.cc, src/Variables_Set.defs.hh,
+	src/Variables_Set.inlines.hh, src/Variables_Set.types.hh,
+	src/WRD_coefficient_types.defs.hh,
+	src/WRD_coefficient_types.inlines.hh, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
+	src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	src/algorithms.hh, src/assert.cc, src/assert.hh,
+	src/assign_or_swap.hh, src/c_streambuf.cc, src/c_streambuf.defs.hh,
+	src/c_streambuf.inlines.hh, src/c_streambuf.types.hh,
+	src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
+	src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/checked_numeric_limits.hh, src/compiler.hh, src/conversion.cc,
+	src/distances.defs.hh, src/distances.inlines.hh,
+	src/distances.types.hh, src/fpu-c99.inlines.hh, src/fpu-ia32.cc,
+	src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
+	src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/fpu.types.hh,
+	src/globals.cc, src/globals.defs.hh, src/globals.inlines.hh,
+	src/globals.types.hh, src/initializer.hh, src/intervals.defs.hh,
+	src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	src/iterator_to_const.types.hh, src/linearize.hh,
+	src/math_utilities.defs.hh, src/math_utilities.inlines.hh,
+	src/max_space_dimension.hh, src/meta_programming.hh,
+	src/minimize.cc, src/mp_std_bits.cc, src/mp_std_bits.defs.hh,
+	src/mp_std_bits.inlines.hh, src/namespaces.hh,
+	src/ppl-config.cc.in, src/ppl_header.hh, src/simplify.cc,
+	src/stdiobuf.cc, src/stdiobuf.defs.hh, src/stdiobuf.inlines.hh,
+	src/stdiobuf.types.hh, src/swapping_sort.templates.hh,
+	src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, src/version.cc, src/version.hh.in,
+	src/wrap_assign.hh, src/wrap_string.cc, src/wrap_string.hh,
+	tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	tests/BD_Shape/addspacedims1.cc,
+	tests/BD_Shape/affinedimension1.cc, tests/BD_Shape/affineimage1.cc,
+	tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affinepreimage1.cc,
+	tests/BD_Shape/ascii_dump_load1.cc,
+	tests/BD_Shape/bgp99extrapolation1.cc,
+	tests/BD_Shape/bhmz05widening1.cc,
+	tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	tests/BD_Shape/boundedaffineimage1.cc,
+	tests/BD_Shape/boundedaffinepreimage1.cc,
+	tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
+	tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
+	tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
+	tests/BD_Shape/contains1.cc,
+	tests/BD_Shape/containsintegerpoint1.cc,
+	tests/BD_Shape/difference1.cc, tests/BD_Shape/discrete1.cc,
+	tests/BD_Shape/disjoint1.cc,
+	tests/BD_Shape/dropsomenonintegerpoints1.cc,
+	tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	tests/BD_Shape/expandspacedim1.cc,
+	tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/frequency1.cc,
+	tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
+	tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/fromgrid1.cc,
+	tests/BD_Shape/fromoctagonalshape1.cc,
+	tests/BD_Shape/frompolyhedron1.cc, tests/BD_Shape/fromspacedim1.cc,
+	tests/BD_Shape/generalizedaffineimage1.cc,
+	tests/BD_Shape/generalizedaffineimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage1.cc,
+	tests/BD_Shape/generalizedaffinepreimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage3.cc,
+	tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	tests/BD_Shape/integerupperboundifexact1.cc,
+	tests/BD_Shape/intersection1.cc,
+	tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	tests/BD_Shape/limitedcc76extrapolation1.cc,
+	tests/BD_Shape/limitedh79extrapolation1.cc,
+	tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim1.cc,
+	tests/BD_Shape/membytes1.cc, tests/BD_Shape/minconstraints1.cc,
+	tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	tests/BD_Shape/removespacedims1.cc, tests/BD_Shape/run_tests,
+	tests/BD_Shape/simplifyusingcontext1.cc,
+	tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
+	tests/BD_Shape/universe1.cc, tests/BD_Shape/upperbound1.cc,
+	tests/BD_Shape/upperboundifexact1.cc, tests/BD_Shape/wrap1.cc,
+	tests/BD_Shape/writebdshape1.cc, tests/Box/Makefile.am,
+	tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
+	tests/Box/affinedimension1.cc, tests/Box/affineimage1.cc,
+	tests/Box/affinepreimage1.cc, tests/Box/ascii_dump_load1.cc,
+	tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
+	tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
+	tests/Box/boundedaffinepreimage1.cc, tests/Box/cc76narrowing1.cc,
+	tests/Box/cc76widening.cc, tests/Box/concatenate1.cc,
+	tests/Box/congruences1.cc, tests/Box/constrains1.cc,
+	tests/Box/constraints1.cc, tests/Box/contains1.cc,
+	tests/Box/containsintegerpoint1.cc, tests/Box/difference1.cc,
+	tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
+	tests/Box/empty1.cc, tests/Box/equality1.cc,
+	tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
+	tests/Box/frequency1.cc, tests/Box/frombdshape1.cc,
+	tests/Box/frombox1.cc, tests/Box/fromgensys1.cc,
+	tests/Box/fromgrid1.cc, tests/Box/frompartiallyreducedproduct1.cc,
+	tests/Box/frompolyhedron1.cc, tests/Box/frompolyhedron2.cc,
+	tests/Box/fromspacedim1.cc, tests/Box/generalizedaffineimage1.cc,
+	tests/Box/generalizedaffineimage2.cc,
+	tests/Box/generalizedaffinepreimage1.cc, tests/Box/geomcovers1.cc,
+	tests/Box/intersection1.cc, tests/Box/interval1.cc,
+	tests/Box/limitedcc76extrapolation1.cc, tests/Box/mapspacedims1.cc,
+	tests/Box/max_min1.cc, tests/Box/maxspacedim1.cc,
+	tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
+	tests/Box/propagateconstraints1.cc,
+	tests/Box/propagateconstraints2.cc,
+	tests/Box/refinewithcongruence1.cc,
+	tests/Box/refinewithcongruences1.cc,
+	tests/Box/refinewithconstraint1.cc,
+	tests/Box/refinewithconstraint2.cc,
+	tests/Box/refinewithconstraints1.cc,
+	tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
+	tests/Box/relations2.cc, tests/Box/relations3.cc,
+	tests/Box/relations4.cc, tests/Box/removespacedims1.cc,
+	tests/Box/run_tests, tests/Box/simplifyusingcontext1.cc,
+	tests/Box/timeelapse1.cc, tests/Box/topclosed1.cc,
+	tests/Box/unconstrain1.cc, tests/Box/universe1.cc,
+	tests/Box/upperbound1.cc, tests/Box/upperboundifexact1.cc,
+	tests/Box/wrap1.cc, tests/Box/writebox1.cc,
+	tests/CO_Tree/Makefile.am, tests/CO_Tree/cotree1.cc,
+	tests/Concrete_Expression/C_Expr.cc,
+	tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/C_Expr.types.hh,
+	tests/Concrete_Expression/Makefile.am,
+	tests/Concrete_Expression/bdshape1.cc,
+	tests/Concrete_Expression/bdshape2.cc,
+	tests/Concrete_Expression/digitalfilters1.cc,
+	tests/Concrete_Expression/linearform1.cc,
+	tests/Concrete_Expression/linearize.cc,
+	tests/Concrete_Expression/octagonalshape1.cc,
+	tests/Concrete_Expression/octagonalshape2.cc,
+	tests/Concrete_Expression/polyhedron1.cc,
+	tests/Concrete_Expression/polyhedron2.cc,
+	tests/Concrete_Expression/run_tests, tests/Grid/Makefile.am,
+	tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	tests/Grid/approximatepartition1.cc, tests/Grid/asciidumpload1.cc,
+	tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
+	tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
+	tests/Grid/asciidumpload6.cc, tests/Grid/bhz03widening1.cc,
+	tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
+	tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
+	tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
+	tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
+	tests/Grid/constraints1.cc, tests/Grid/contains1.cc,
+	tests/Grid/containsintegerpoint1.cc, tests/Grid/discrete1.cc,
+	tests/Grid/disjoint1.cc, tests/Grid/dropnonintegerpoints1.cc,
+	tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	tests/Grid/foldspacedims1.cc, tests/Grid/frequency1.cc,
+	tests/Grid/frombdshape1.cc, tests/Grid/frombox1.cc,
+	tests/Grid/fromgrid1.cc, tests/Grid/fromoctagonalshape1.cc,
+	tests/Grid/frompolyhedron1.cc,
+	tests/Grid/generalizedaffineimage1.cc,
+	tests/Grid/generalizedaffineimage2.cc,
+	tests/Grid/generalizedaffineimage3.cc,
+	tests/Grid/generalizedaffinepreimage1.cc,
+	tests/Grid/generalizedaffinepreimage2.cc,
+	tests/Grid/generalizedaffinepreimage3.cc, tests/Grid/generator1.cc,
+	tests/Grid/generators1.cc, tests/Grid/generators2.cc,
+	tests/Grid/grid1.cc, tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	tests/Grid/limitedextrapolation1.cc,
+	tests/Grid/limitedextrapolation2.cc,
+	tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
+	tests/Grid/powersetdifference1.cc,
+	tests/Grid/powersetgeometricallycovers1.cc,
+	tests/Grid/powersetgeometricallyequals1.cc,
+	tests/Grid/refinewithcongruences1.cc,
+	tests/Grid/refinewithconstraints1.cc, tests/Grid/relations1.cc,
+	tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
+	tests/Grid/simplifyusingcontext1.cc, tests/Grid/timeelapse1.cc,
+	tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	tests/Grid/unconstrain1.cc, tests/Grid/upperbound1.cc,
+	tests/Grid/upperbound2.cc, tests/Grid/widening1.cc,
+	tests/Grid/widening2.cc, tests/Grid/widening3.cc,
+	tests/Grid/wrap1.cc, tests/Grid/writecongruencesystem.cc,
+	tests/MIP_Problem/Makefile.am,
+	tests/MIP_Problem/ascii_dump_load1.cc,
+	tests/MIP_Problem/exceptions1.cc, tests/MIP_Problem/mipproblem1.cc,
+	tests/MIP_Problem/mipproblem2.cc, tests/MIP_Problem/mipproblem3.cc,
+	tests/Makefile.am, tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/addspacedims1.cc,
+	tests/Octagonal_Shape/affinedimension1.cc,
+	tests/Octagonal_Shape/affineimage1.cc,
+	tests/Octagonal_Shape/affineimage2.cc,
+	tests/Octagonal_Shape/affinepreimage1.cc,
+	tests/Octagonal_Shape/affinepreimage2.cc,
+	tests/Octagonal_Shape/ascii_dump_load1.cc,
+	tests/Octagonal_Shape/bhmz05widening1.cc,
+	tests/Octagonal_Shape/bhz03widening1.cc,
+	tests/Octagonal_Shape/bounded1.cc,
+	tests/Octagonal_Shape/boundedaffineimage1.cc,
+	tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	tests/Octagonal_Shape/bounds1.cc,
+	tests/Octagonal_Shape/cc76extrapolation1.cc,
+	tests/Octagonal_Shape/cc76narrowing1.cc,
+	tests/Octagonal_Shape/chinainit.cc,
+	tests/Octagonal_Shape/concatenate1.cc,
+	tests/Octagonal_Shape/congruences1.cc,
+	tests/Octagonal_Shape/constrains1.cc,
+	tests/Octagonal_Shape/constraints1.cc,
+	tests/Octagonal_Shape/contains1.cc,
+	tests/Octagonal_Shape/containsintegerpoint1.cc,
+	tests/Octagonal_Shape/difference1.cc,
+	tests/Octagonal_Shape/discrete1.cc,
+	tests/Octagonal_Shape/disjoint1.cc,
+	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc,
+	tests/Octagonal_Shape/empty1.cc,
+	tests/Octagonal_Shape/expandspacedim1.cc,
+	tests/Octagonal_Shape/foldspacedims1.cc,
+	tests/Octagonal_Shape/frequency1.cc,
+	tests/Octagonal_Shape/frombdshape1.cc,
+	tests/Octagonal_Shape/frombox1.cc,
+	tests/Octagonal_Shape/fromgensys1.cc,
+	tests/Octagonal_Shape/fromgrid1.cc,
+	tests/Octagonal_Shape/fromoctagonalshape1.cc,
+	tests/Octagonal_Shape/frompolyhedron1.cc,
+	tests/Octagonal_Shape/fromspacedim1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	tests/Octagonal_Shape/integerupperboundifexact1.cc,
+	tests/Octagonal_Shape/intersection1.cc,
+	tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	tests/Octagonal_Shape/mapspacedims1.cc,
+	tests/Octagonal_Shape/max_min1.cc,
+	tests/Octagonal_Shape/max_min2.cc,
+	tests/Octagonal_Shape/maxspacedim1.cc,
+	tests/Octagonal_Shape/membytes1.cc,
+	tests/Octagonal_Shape/minconstraints1.cc,
+	tests/Octagonal_Shape/relatwithcons1.cc,
+	tests/Octagonal_Shape/relatwithcons2.cc,
+	tests/Octagonal_Shape/relatwithcons3.cc,
+	tests/Octagonal_Shape/relatwithgen1.cc,
+	tests/Octagonal_Shape/removespacedims1.cc,
+	tests/Octagonal_Shape/run_tests,
+	tests/Octagonal_Shape/simplifyusingcontext1.cc,
+	tests/Octagonal_Shape/timeelapse1.cc,
+	tests/Octagonal_Shape/unconstrain1.cc,
+	tests/Octagonal_Shape/universe1.cc,
+	tests/Octagonal_Shape/upperbound1.cc,
+	tests/Octagonal_Shape/upperboundifexact1.cc,
+	tests/Octagonal_Shape/wrap1.cc,
+	tests/Octagonal_Shape/writeoctagon1.cc,
+	tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc,
+	tests/PIP_Problem/pipproblem2.cc, tests/PIP_Problem/pipproblem3.cc,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/addcongruences1.cc,
+	tests/Partially_Reduced_Product/addconstraints1.cc,
+	tests/Partially_Reduced_Product/affineimage1.cc,
+	tests/Partially_Reduced_Product/asciidumpload1.cc,
+	tests/Partially_Reduced_Product/bounded1.cc,
+	tests/Partially_Reduced_Product/boundedaffineimage1.cc,
+	tests/Partially_Reduced_Product/bounds1.cc,
+	tests/Partially_Reduced_Product/concatenate1.cc,
+	tests/Partially_Reduced_Product/congruences1.cc,
+	tests/Partially_Reduced_Product/congruencesproduct1.cc,
+	tests/Partially_Reduced_Product/constraints1.cc,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/contains1.cc,
+	tests/Partially_Reduced_Product/difference1.cc,
+	tests/Partially_Reduced_Product/dimension1.cc,
+	tests/Partially_Reduced_Product/directproduct1.cc,
+	tests/Partially_Reduced_Product/directproduct2.cc,
+	tests/Partially_Reduced_Product/directproduct3.cc,
+	tests/Partially_Reduced_Product/directproduct4.cc,
+	tests/Partially_Reduced_Product/directproduct5.cc,
+	tests/Partially_Reduced_Product/directproduct6.cc,
+	tests/Partially_Reduced_Product/discrete1.cc,
+	tests/Partially_Reduced_Product/disjoint1.cc,
+	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc,
+	tests/Partially_Reduced_Product/equals1.cc,
+	tests/Partially_Reduced_Product/frombdshape1.cc,
+	tests/Partially_Reduced_Product/frombox1.cc,
+	tests/Partially_Reduced_Product/fromgrid1.cc,
+	tests/Partially_Reduced_Product/fromoctagonalshape1.cc,
+	tests/Partially_Reduced_Product/frompolyhedron1.cc,
+	tests/Partially_Reduced_Product/fromproduct1.cc,
+	tests/Partially_Reduced_Product/generalizedaffineimage1.cc,
+	tests/Partially_Reduced_Product/intersection1.cc,
+	tests/Partially_Reduced_Product/isempty1.cc,
+	tests/Partially_Reduced_Product/isuniverse1.cc,
+	tests/Partially_Reduced_Product/maxmin1.cc,
+	tests/Partially_Reduced_Product/partially_reduced_product_test.hh,
+	tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
+	tests/Partially_Reduced_Product/refinewithcongruences1.cc,
+	tests/Partially_Reduced_Product/refinewithconstraints1.cc,
+	tests/Partially_Reduced_Product/relations1.cc,
+	tests/Partially_Reduced_Product/shapepreservingproduct1.cc,
+	tests/Partially_Reduced_Product/smashproduct1.cc,
+	tests/Partially_Reduced_Product/spacedims1.cc,
+	tests/Partially_Reduced_Product/timeelapse1.cc,
+	tests/Partially_Reduced_Product/topclosed1.cc,
+	tests/Partially_Reduced_Product/topclosure1.cc,
+	tests/Partially_Reduced_Product/upperbound1.cc,
+	tests/Partially_Reduced_Product/widening1.cc,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
+	tests/Polyhedron/addcongruences1.cc,
+	tests/Polyhedron/addconstraint1.cc,
+	tests/Polyhedron/addconstraints1.cc,
+	tests/Polyhedron/addconstraints2.cc,
+	tests/Polyhedron/addgenerator1.cc,
+	tests/Polyhedron/addgenerator2.cc,
+	tests/Polyhedron/addgenerators1.cc,
+	tests/Polyhedron/addgenerators2.cc,
+	tests/Polyhedron/addspacedims1.cc,
+	tests/Polyhedron/addspacedims2.cc,
+	tests/Polyhedron/affineimage1.cc, tests/Polyhedron/affineimage2.cc,
+	tests/Polyhedron/affinepreimage1.cc,
+	tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	tests/Polyhedron/append2.cc, tests/Polyhedron/ascii_dump_load1.cc,
+	tests/Polyhedron/ascii_dump_load2.cc,
+	tests/Polyhedron/ascii_dump_load3.cc,
+	tests/Polyhedron/bgp99extrapolation1.cc,
+	tests/Polyhedron/bgp99extrapolation2.cc,
+	tests/Polyhedron/bhrz03widening1.cc,
+	tests/Polyhedron/bhrz03widening2.cc,
+	tests/Polyhedron/bhrz03widening3.cc,
+	tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
+	tests/Polyhedron/boundedaffineimage1.cc,
+	tests/Polyhedron/boundedaffinepreimage1.cc,
+	tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	tests/Polyhedron/boundedh79extrapolation1.cc,
+	tests/Polyhedron/bounds1.cc, tests/Polyhedron/cnncconversion1.cc,
+	tests/Polyhedron/concatenate1.cc, tests/Polyhedron/congruences1.cc,
+	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
+	tests/Polyhedron/contains1.cc, tests/Polyhedron/contains2.cc,
+	tests/Polyhedron/containsintegerpoint1.cc,
+	tests/Polyhedron/densematrix1.cc, tests/Polyhedron/disjoint1.cc,
+	tests/Polyhedron/disjoint2.cc,
+	tests/Polyhedron/dropsomenonintegerpoints1.cc,
+	tests/Polyhedron/dropsomenonintegerpoints2.cc,
+	tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	tests/Polyhedron/expandspacedim1.cc,
+	tests/Polyhedron/expandspacedim2.cc,
+	tests/Polyhedron/foldspacedims1.cc,
+	tests/Polyhedron/foldspacedims2.cc, tests/Polyhedron/frequency1.cc,
+	tests/Polyhedron/frombdshape1.cc, tests/Polyhedron/frombox1.cc,
+	tests/Polyhedron/frombox2.cc, tests/Polyhedron/fromgrid1.cc,
+	tests/Polyhedron/fromoctagonalshape1.cc,
+	tests/Polyhedron/generalizedaffineimage1.cc,
+	tests/Polyhedron/generalizedaffineimage2.cc,
+	tests/Polyhedron/generalizedaffinepreimage1.cc,
+	tests/Polyhedron/generalizedaffinepreimage2.cc,
+	tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
+	tests/Polyhedron/h79widening1.cc, tests/Polyhedron/h79widening2.cc,
+	tests/Polyhedron/hybrid.cc, tests/Polyhedron/intersection1.cc,
+	tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	tests/Polyhedron/limitedh79extrapolation1.cc,
+	tests/Polyhedron/linearexpression1.cc,
+	tests/Polyhedron/linearpartition1.cc,
+	tests/Polyhedron/linearsystem1.cc,
+	tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/max_min1.cc,
+	tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	tests/Polyhedron/membytes1.cc, tests/Polyhedron/memory1.cc,
+	tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
+	tests/Polyhedron/minconstraints2.cc,
+	tests/Polyhedron/mingenerators1.cc,
+	tests/Polyhedron/mingenerators2.cc,
+	tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/nncminimize2.cc,
+	tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	tests/Polyhedron/polydifference2.cc, tests/Polyhedron/polyhull1.cc,
+	tests/Polyhedron/polyhull2.cc,
+	tests/Polyhedron/polyhullifexact1.cc,
+	tests/Polyhedron/polyhullifexact2.cc,
+	tests/Polyhedron/randphull1.cc,
+	tests/Polyhedron/refinewithcongruence1.cc,
+	tests/Polyhedron/refinewithcongruences1.cc,
+	tests/Polyhedron/refinewithconstraint1.cc,
+	tests/Polyhedron/refinewithconstraints1.cc,
+	tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
+	tests/Polyhedron/relations3.cc,
+	tests/Polyhedron/removespacedims1.cc,
+	tests/Polyhedron/removespacedims2.cc,
+	tests/Polyhedron/simplifyusingcontext1.cc,
+	tests/Polyhedron/smm1.cc, tests/Polyhedron/termination1.cc,
+	tests/Polyhedron/termination2.cc, tests/Polyhedron/timeelapse1.cc,
+	tests/Polyhedron/timeelapse2.cc, tests/Polyhedron/topclosed1.cc,
+	tests/Polyhedron/topclosure1.cc, tests/Polyhedron/unconstrain1.cc,
+	tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	tests/Polyhedron/weightwatch1.cc, tests/Polyhedron/wrap1.cc,
+	tests/Polyhedron/wrap2.cc, tests/Polyhedron/writeconsys1.cc,
+	tests/Polyhedron/writegensys1.cc,
+	tests/Polyhedron/writepolyhedron1.cc,
+	tests/Polyhedron/writepolyhedron2.cc,
+	tests/Polyhedron/writerelation1.cc,
+	tests/Polyhedron/writevariable1.cc, tests/Powerset/Makefile.am,
+	tests/Powerset/addcongruences1.cc,
+	tests/Powerset/addconstraints1.cc,
+	tests/Powerset/affinedimension1.cc, tests/Powerset/affineimage1.cc,
+	tests/Powerset/affinepreimage1.cc, tests/Powerset/bounded1.cc,
+	tests/Powerset/bounds1.cc, tests/Powerset/closed1.cc,
+	tests/Powerset/closure1.cc, tests/Powerset/collapse1.cc,
+	tests/Powerset/concatenate1.cc, tests/Powerset/contains1.cc,
+	tests/Powerset/containsintegerpoint1.cc,
+	tests/Powerset/difference1.cc, tests/Powerset/discrete1.cc,
+	tests/Powerset/disjoint1.cc, tests/Powerset/disjunct1.cc,
+	tests/Powerset/empty1.cc, tests/Powerset/entails1.cc,
+	tests/Powerset/equals1.cc, tests/Powerset/frombdshape1.cc,
+	tests/Powerset/frombox1.cc, tests/Powerset/fromcongruences1.cc,
+	tests/Powerset/fromconstraints1.cc, tests/Powerset/fromgrid1.cc,
+	tests/Powerset/fromoctagonalshape1.cc,
+	tests/Powerset/frompolyhedron1.cc,
+	tests/Powerset/fromspacedimension1.cc,
+	tests/Powerset/intersection1.cc, tests/Powerset/maxmin1.cc,
+	tests/Powerset/meet1.cc, tests/Powerset/membytes1.cc,
+	tests/Powerset/powerset1.cc, tests/Powerset/reduce1.cc,
+	tests/Powerset/refinewith1.cc, tests/Powerset/relationwith1.cc,
+	tests/Powerset/simplifyusingcontext1.cc, tests/Powerset/size1.cc,
+	tests/Powerset/spacedims1.cc, tests/Powerset/universe1.cc,
+	tests/Powerset/upperbound1.cc, tests/README,
+	tests/Random_Number_Generator.defs.hh,
+	tests/Random_Number_Generator.inlines.hh,
+	tests/Random_Number_Generator.types.hh,
+	tests/Sparse_Matrix/Makefile.am,
+	tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc, tests/files.cc, tests/files.hh,
+	tests/ppl_test.cc, tests/ppl_test.hh, utils/Makefile.am,
+	utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh: Bumped
+	copyright years.
+
+2012-01-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc, src/BD_Shape.templates.hh,
+	src/Boundary.defs.hh, src/MIP_Problem.cc, src/PIP_Tree.cc,
+	src/Sparse_Row.cc, src/Variables_Set.cc, src/termination.cc,
+	src/wrap_assign.hh: Reduced the scope of several variables.
+	Detected by ECLAIR service minscope.
+
+2012-01-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am: Also add bugseng_logo.pdf to EXTRA_DIST.
+
+2012-01-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am: Added ppl_logo* to EXTRA_DIST.
+
+2011-12-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Any_Pointset.defs.hh, src/Ask_Tell.inlines.hh,
+	src/Ask_Tell.templates.hh, src/BDS_Status.inlines.hh,
+	src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/Bit_Matrix.cc, src/Bit_Matrix.inlines.hh, src/Bit_Row.cc,
+	src/Bit_Row.defs.hh, src/Boundary.defs.hh, src/Box.cc,
+	src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	src/C_Polyhedron.inlines.hh,
+	src/Cast_Floating_Point_Expression.defs.hh, src/Checked_Number.cc,
+	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Congruence.cc, src/Congruence.defs.hh,
+	src/Congruence.inlines.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Constant_Floating_Point_Expression.defs.hh, src/Constraint.cc,
+	src/Constraint.defs.hh, src/Constraint_System.cc,
+	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
+	src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	src/Dense_Matrix.cc, src/Dense_Matrix.defs.hh,
+	src/Determinate.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh, src/Float.defs.hh,
+	src/Float.inlines.hh, src/Float.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator_System.cc, src/Generator_System.defs.hh,
+	src/Generator_System.inlines.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh,
+	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	src/Grid_Certificate.inlines.hh, src/Grid_Generator.cc,
+	src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	src/H79_Certificate.inlines.hh, src/Has_Assign_Or_Swap.hh,
+	src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/Interval_Info.defs.hh,
+	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	src/NNC_Polyhedron.inlines.hh, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	src/Octagonal_Shape.cc, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Og_Status.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/Partial_Function.inlines.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh, src/Ph_Status.cc,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Poly_Con_Relation.defs.hh,
+	src/Poly_Gen_Relation.defs.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.templates.hh,
+	src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
+	src/Scalar_Products.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh, src/Temp.inlines.hh,
+	src/Variable.defs.hh, src/Variable.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variables_Set.cc, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
+	src/Widening_Function.inlines.hh, src/assert.hh,
+	src/checked.defs.hh, src/checked.inlines.hh,
+	src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/checked_numeric_limits.hh, src/conversion.cc,
+	src/distances.inlines.hh, src/fpu-c99.inlines.hh,
+	src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.defs.hh,
+	src/globals.inlines.hh, src/intervals.defs.hh,
+	src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	src/linearize.hh, src/math_utilities.defs.hh,
+	src/math_utilities.inlines.hh, src/meta_programming.hh,
+	src/minimize.cc, src/namespaces.hh, src/ppl-config.cc.in,
+	src/simplify.cc, src/swapping_sort.templates.hh,
+	src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, src/wrap_string.cc,
+	src/wrap_string.hh, utils/timings.cc: Revert "Do not use the <TAB>
+	character for code layout." This reverts commit f6060073e3b31277cf475ba90c0eb751663a81e8.
+
+2011-12-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Any_Pointset.defs.hh, src/Ask_Tell.inlines.hh,
+	src/Ask_Tell.templates.hh, src/BDS_Status.inlines.hh,
+	src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/Bit_Matrix.cc, src/Bit_Matrix.inlines.hh, src/Bit_Row.cc,
+	src/Bit_Row.defs.hh, src/Boundary.defs.hh, src/Box.cc,
+	src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
+	src/C_Polyhedron.inlines.hh,
+	src/Cast_Floating_Point_Expression.defs.hh, src/Checked_Number.cc,
+	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Congruence.cc, src/Congruence.defs.hh,
+	src/Congruence.inlines.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Constant_Floating_Point_Expression.defs.hh, src/Constraint.cc,
+	src/Constraint.defs.hh, src/Constraint_System.cc,
+	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
+	src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	src/Dense_Matrix.cc, src/Dense_Matrix.defs.hh,
+	src/Determinate.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.defs.hh, src/Float.defs.hh,
+	src/Float.inlines.hh, src/Float.templates.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator_System.cc, src/Generator_System.defs.hh,
+	src/Generator_System.inlines.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh,
+	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	src/Grid_Certificate.inlines.hh, src/Grid_Generator.cc,
+	src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	src/H79_Certificate.inlines.hh, src/Has_Assign_Or_Swap.hh,
+	src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/Interval_Info.defs.hh,
+	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	src/NNC_Polyhedron.inlines.hh, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	src/Octagonal_Shape.cc, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Og_Status.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/Partial_Function.inlines.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh, src/Ph_Status.cc,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Poly_Con_Relation.defs.hh,
+	src/Poly_Gen_Relation.defs.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.templates.hh,
+	src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
+	src/Scalar_Products.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh, src/Temp.inlines.hh,
+	src/Variable.defs.hh, src/Variable.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variables_Set.cc, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
+	src/Widening_Function.inlines.hh, src/assert.hh,
+	src/checked.defs.hh, src/checked.inlines.hh,
+	src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/checked_numeric_limits.hh, src/conversion.cc,
+	src/distances.inlines.hh, src/fpu-c99.inlines.hh,
+	src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.defs.hh,
+	src/globals.inlines.hh, src/intervals.defs.hh,
+	src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	src/linearize.hh, src/math_utilities.defs.hh,
+	src/math_utilities.inlines.hh, src/meta_programming.hh,
+	src/minimize.cc, src/namespaces.hh, src/ppl-config.cc.in,
+	src/simplify.cc, src/swapping_sort.templates.hh,
+	src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, src/wrap_string.cc,
+	src/wrap_string.hh, utils/timings.cc: Do not use the <TAB> character
+	for code layout.  Detected by ECLAIR service tabindnt.
+
+2011-12-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: The automake option `dist-lzma' is obsoleted by
+	`dist-xz'.
+
+2011-12-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	src/Makefile.am, src/Partial_Function.inlines.hh, src/assert.cc,
+	src/assert.hh, src/checked.defs.hh, src/globals.inlines.hh: Added
+	functions ppl_unreachable() and ppl_unreachable_msg(), causing
+	program termination using abort().  Let PPL_UNREACHABLE and
+	PPL_ASSERT be based on these functions.  Avoid a cycle in header
+	inclusion dependencies.
+
+2011-12-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.cc: Corrected typo causing test failures.
+
+2011-12-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Prefer early return to dummy assignment
+	in unreachable code path.
+
+2011-12-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Add assignment to silence compiler
+	warning.
+
+2011-12-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: Fixed
+	typo.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_ocaml_common.cc: Improved name of helper
+	function in OCaml interface.  Add default label to switch to avoid
+	warning.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/BD_Shape.templates.hh,
+	src/Box.templates.hh, src/Grid_widenings.cc, src/MIP_Problem.cc,
+	src/Octagonal_Shape.templates.hh, src/Polyhedron_widenings.cc,
+	src/assert.hh: Added debugging macro PPL_EXPECT_HEAVY.  Added
+	debugging helper function template copy_contains().  Systematically
+	use PPL_EXPECT_HEAVY(copy_contains(...)) when checking containment
+	assumptions in widening/narrowing methods.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh: Better differentiate
+	between unreachable code and unexpected values.  We call, e.g.,
+	PPL_JAVA_UNEXPECTED when we are converting an illegal Java value to
+	a C++ value; we call PPL_UNREACHABLE when such a mismatch occurs the
+	other way round (an illegal C++ value produced by the core library).
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc: Prefer if statement to switch
+	having a single case.  Detected by ECLAIR service swchlabs.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/ppl-config.cc.in: Prefer if-then-else to switch having a
+	single case label.  Detected by ECLAIR service swchlabs.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh: Added macro
+	PPL_C_UNREACHABLE_MSG.  Use the new macro in a few places in the C
+	interface code.  Standardized messages for errors due to Watchdog
+	library not enabled.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh: Added macros
+	PPL_OCAML_UNREACHABLE and PPL_OCAML_UNREACHABLE_MSG.  Try and use
+	them systematically in the OCaml interface.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh: Added new macro
+	PPL_JAVA_UNREACHABLE.  Use the new macro to mark unreachable code in
+	the Java interface files.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Affine_Space.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Box.templates.hh,
+	src/Float.templates.hh, src/Grid.defs.hh, src/Grid_conversion.cc,
+	src/Grid_nonpublic.cc, src/Linear_Form.templates.hh,
+	src/MIP_Problem.cc, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh, src/PIP_Problem.cc,
+	src/PIP_Tree.cc, src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/linearize.hh, src/minimize.cc: Replaced throws of runtime_error
+	exceptions by calls to PPL_UNREACHABLE.  Got rid of a few (now
+	unused) exception throwers.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid.templates.hh: Avoid (unreachable) default label when all
+	cases have been listed.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval.defs.hh: Prefer PPL_UNREACHABLE to PPL_ASSERT(0).
+	Avoid mixing reachable and unreachable code paths.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.inlines.hh: Replaced an occurrence of PPL_ASSERT(0) by
+	PPL_UNREACHABLE.  Added an assertion and comment explaining why
+	cases are unreachable.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_int.inlines.hh: Replaced an occurrence of
+	PPL_ASSERT(0) by PPL_UNREACHABLE.  Added proper assertion for
+	preconditions.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_public.cc: Prefer if-then-else construct to binary
+	switch.  Detected by ECLAIR service swchlabs.  Prefer listing a couple of residual switch cases to default label.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Rounding_Dir.inlines.hh: Replaced PPL_ASSERT(false) with
+	PPL_UNREACHABLE.  For readability, avoid mixing reachable and
+	unreachable paths.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Interval_Info.defs.hh: Prefer if-then-else construct to binary
+	switch.  Detected by ECLAIR service swchlabs.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Fixed a couple of switch statements
+	where we were mixing reachable and unreachable code paths, reducing
+	readability.  Added precondition assertions at the start of
+	assign_special_float() so as to make clearer why the default switch
+	case is unreachable.
+
+2011-12-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Boundary.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/CO_Tree.cc, src/CO_Tree.templates.hh,
+	src/Grid_Generator.inlines.hh, src/Grid_public.cc,
+	src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/Interval_Restriction.defs.hh,
+	src/Polyhedron_public.cc, src/assert.hh,
+	src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	src/checked_mpz.inlines.hh, src/intervals.defs.hh, src/linearize.hh: 
+	Added new macro PPL_UNREACHABLE, to be used instead of
+	PPL_ASSERT(false).  Started replacing calls to PPL_ASSERT(false) in
+	the core library code.
+
+2011-12-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* demos/ppl_pips/ppl_pips.cc: demos/ppl_pips: remove two unused
+	functions.
+
+2011-12-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh: Indentation fixed.  Detected
+	by ECLAIR service indntion.
+
+2011-12-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/BD_Shape/cc76extrapolation1.cc: 
+	tests/BD_Shape/cc76extrapolation1: avoid unused expression warnings
+	by casting to void.
+
+2011-12-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Disable all abstractions based on machine
+	floating-point numbers when clang++ is detected.
+
+2011-12-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* configure.ac: Detect when clang++ is used, and disable
+	-frounding-math in that case.
+
+2011-12-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/Concrete_Expression/C_Expr.defs.hh: 
+	tests/Concrete_Expression: avoid using unnamed types as template
+	arguments.
+
+2011-12-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: avoid static_casts
+	between Coefficient* and void*. Use an allocator instead.
+
+2011-12-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: Enforce generator normalization in
+	  private method Polyhedron::BFT00_poly_hull_assign_if_exact() and add
+	corresponding assertion.
+
+2011-12-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_public.cc: Style improvements for
+	Grid::relation_with(const Congruence& cg) const.  No functionality
+	change.
+
+2011-12-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_public.cc: Corrected errors in method
+	Grid::relation_with(const Constraint&) const.  The method was affected by two problems: 1) when working on a non-minimized grid generator system, the points    after the first one were transformed into parameters that were
+	   not satisfying the Grid_Generator invariant (reported by Marco
+	Poletti); 2) the method was providing an incorrect result when comparing a
+	   grid generator line/parameter with a (strict) inequality constraint,    as happens for test20() in tests/Grid/relations3.cc.
+
+2011-12-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/Grid/relations3.cc: Added new test showing an error in
+	Grid::relation_with(const Constraint&).
+
+2011-11-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words, src/Pointset_Powerset.templates.hh,
+	src/Polyhedron_nonpublic.cc, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh: Project vocabulary fixes.  Detected by
+	ECLAIR service progvcbl.
+
+2011-11-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/vocabulary: Updated.
+
+2011-11-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_ids: Sorted list of good identifiers.
+
+2011-11-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words, devtools/vocabulary: Vocabulary updated.
+
+2011-11-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words, devtools/vocabulary,
+	src/Pointset_Powerset.templates.hh, src/Powerset.templates.hh,
+	src/algorithms.hh, src/c_streambuf.cc, src/c_streambuf.defs.hh,
+	src/c_streambuf.inlines.hh, src/checked.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/globals.defs.hh,
+	src/math_utilities.defs.hh, src/math_utilities.inlines.hh,
+	src/meta_programming.hh, src/simplify.cc, src/stdiobuf.cc,
+	src/stdiobuf.defs.hh, src/stdiobuf.inlines.hh, src/termination.cc,
+	src/termination.templates.hh, src/wrap_assign.hh,
+	src/wrap_string.cc, utils/timings.cc: Project vocabulary fixes.
+	Detected by ECLAIR service progvcbl.
+
+2011-11-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words, devtools/vocabulary,
+	src/PIP_Problem.defs.hh, src/Polyhedron_public.cc,
+	src/Sparse_Row.cc, src/Temp.defs.hh: Project vocabulary fixes.
+	Detected by ECLAIR service progvcbl.
+
+2011-11-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/vocabulary, src/BD_Shape.defs.hh,
+	src/BD_Shape.inlines.hh, src/Box.defs.hh, src/Box.templates.hh,
+	src/Grid.defs.hh, src/Grid_public.cc, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/PIP_Problem.defs.hh,
+	src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/wrap_assign.hh: Project vocabulary fixes.  Detected by ECLAIR
+	service progvcbl.
+
+2011-11-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Pointset_Powerset.templates.hh: Project vocabulary fixes.
+	Detected by ECLAIR service progvcbl.
+
+2011-11-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words,
+	src/Octagonal_Shape.templates.hh, src/PIP_Problem.defs.hh,
+	src/PIP_Tree.defs.hh, src/Partially_Reduced_Product.defs.hh,
+	src/Pointset_Ask_Tell.defs.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron_chdims.cc,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/checked.cc: Project vocabulary fixes.  Detected by ECLAIR
+	service progvcbl.
+
+2011-11-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words, src/CO_Tree.defs.hh,
+	src/Checked_Number.defs.hh, src/Float.defs.hh,
+	src/Float.inlines.hh, src/Float.templates.hh, src/Init.defs.hh,
+	src/Interval.templates.hh, src/Linear_Form.defs.hh,
+	src/Linear_Form.templates.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/Octagonal_Shape.templates.hh,
+	src/Og_Status.inlines.hh, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/checked.inlines.hh: Project vocabulary fixes.  Detected by
+	ECLAIR service progvcbl.
+
+2011-11-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc, devtools/good_items,
+	devtools/good_words, src/Bit_Matrix.cc, src/Box.defs.hh,
+	src/Box.templates.hh, src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/CO_Tree.inlines.hh, src/Checked_Number.inlines.hh,
+	src/Checked_Number.templates.hh, src/Congruence.defs.hh,
+	src/Congruence_System.inlines.hh, src/Constraint_System.defs.hh,
+	src/Constraint_System.inlines.hh, src/Float.defs.hh,
+	src/Float.templates.hh, src/Floating_Point_Expression.defs.hh,
+	src/GMP_Integer.types.hh, src/Generator.cc,
+	src/Generator_System.cc, src/Generator_System.defs.hh,
+	src/Generator_System.inlines.hh, src/Grid.defs.hh,
+	src/Grid_Generator.cc, src/Grid_public.cc, src/Init.cc,
+	src/Init.defs.hh, src/Interval.inlines.hh, src/Linear_Form.defs.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/MIP_Problem.inlines.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh: 
+	Project vocabulary fixes.  Detected by ECLAIR service progvcbl.
+
+2011-11-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items: Added a few more lexical items.
+
+2011-11-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.templates.hh,
+	demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc,
+	src/BDS_Status.inlines.hh, src/BD_Shape.defs.hh,
+	src/BD_Shape.templates.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.inlines.hh, src/Box.defs.hh,
+	src/Box.inlines.hh, src/Box.templates.hh,
+	src/Box_Status.inlines.hh, src/Checked_Number.defs.hh,
+	src/Float.defs.hh, src/Grid_Certificate.inlines.hh,
+	src/H79_Certificate.inlines.hh, src/Rounding_Dir.defs.hh,
+	src/Sparse_Matrix.defs.hh, src/Sparse_Row.cc,
+	src/Sparse_Row.defs.hh: Project vocabulary fixes.  Detected by
+	ECLAIR service progvcbl.
+
+2011-11-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words, devtools/vocabulary: 
+	Updated.
+
+2011-11-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Do not rely on libtool guessing the language.
+	(Thanks to Serge Belyshev.)
+
+2011-11-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words: Put items on the right
+	list.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_items, devtools/good_words: Separate words from
+	lexical items.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/OR_Matrix.defs.hh: Fixed FSF address.  Detected by ECLAIR
+	service cmntfile.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/Checked_Number.cc,
+	src/Coefficient_traits_template.hh, src/DB_Matrix.defs.hh,
+	src/DB_Row.defs.hh, src/Grid_public.cc, src/Linear_Row.defs.hh,
+	src/Linear_System.defs.hh, src/Makefile.am, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/Octagonal_Shape.cc,
+	src/Octagonal_Shape.inlines.hh, src/Og_Status.idefs.hh,
+	src/Og_Status.inlines.hh, src/{Topology.hh => Topology.types.hh},
+	src/checked.cc, src/checked.defs.hh, src/mp_std_bits.cc,
+	src/mp_std_bits.defs.hh, src/mp_std_bits.inlines.hh,
+	src/swapping_sort.templates.hh: Fixed file comment blocks and
+	related mistakes.  Detected by ECLAIR service cmntfile.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.inlines.hh: Conflicts resolved.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Bit_Matrix.defs.hh, src/Box.defs.hh,
+	src/Box.templates.hh: Project vocabulary fixes.  Detected by ECLAIR
+	service idntvcbl.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-language-interface.doxyconf.in,
+	doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: Let
+	Doxygen expand macro PPL_USE_SPARSE_MATRIX as defined.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh, src/Matrix.defs.hh,
+	src/Matrix.types.hh, src/PIP_Tree.cc, src/Row.defs.hh,
+	src/Row.types.hh, src/globals.defs.hh, tests/CO_Tree/cotree1.cc,
+	tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc: Renamed macros
+	USE_PPL_SPARSE_MATRIX to use PPL_ prefix.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Row.cc: Added a few missing
+	\relates Doxygen commands.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox: The swapping methods of PPL types are now
+	named m_swap.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/namespaces.hh: swap functions for PPL types are now defined in
+	the PPL namespace.
+
+2011-11-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	*
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_prolog_common.cc, src/Affine_Space.cc,
+	src/Affine_Space.defs.hh, src/Affine_Space.inlines.hh,
+	src/Any_Pointset.defs.hh, src/Ask_Tell.defs.hh,
+	src/Ask_Tell.inlines.hh, src/BD_Shape.defs.hh,
+	src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	src/Bit_Matrix.cc, src/Bit_Matrix.defs.hh,
+	src/Bit_Matrix.inlines.hh, src/Bit_Row.defs.hh,
+	src/Bit_Row.inlines.hh, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh, src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/CO_Tree.inlines.hh, src/C_Polyhedron.inlines.hh,
+	src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh, src/Congruence.cc,
+	src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	src/Congruence_System.inlines.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	src/Constraint_System.cc, src/Constraint_System.defs.hh,
+	src/Constraint_System.inlines.hh, src/DB_Matrix.defs.hh,
+	src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	src/DB_Row.defs.hh, src/DB_Row.inlines.hh, src/Dense_Matrix.cc,
+	src/Dense_Matrix.defs.hh, src/Dense_Matrix.inlines.hh,
+	src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Determinate.defs.hh, src/Determinate.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator_System.cc, src/Generator_System.defs.hh,
+	src/Generator_System.inlines.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid_Generator.cc,
+	src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh, src/Grid_chdims.cc,
+	src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
+	src/Grid_widenings.cc, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Interval_Info.defs.hh,
+	src/Interval_Info.inlines.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	src/Linear_Form.defs.hh, src/Linear_Form.inlines.hh,
+	src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/MIP_Problem.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/NNC_Polyhedron.inlines.hh, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/Octagonal_Shape.defs.hh,
+	src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/PIP_Problem.defs.hh, src/PIP_Problem.inlines.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Pointset_Ask_Tell.defs.hh, src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	src/Powerset.templates.hh, src/Sparse_Matrix.cc,
+	src/Sparse_Matrix.defs.hh, src/Sparse_Matrix.inlines.hh,
+	src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/assign_or_swap.hh, src/conversion.cc, src/simplify.cc,
+	src/swapping_sort.templates.hh, src/termination.cc,
+	src/wrap_assign.hh, tests/Ask_Tell/append1.cc,
+	tests/CO_Tree/cotree1.cc, tests/PIP_Problem/pipproblem2.cc,
+	tests/Polyhedron/bgp99extrapolation1.cc,
+	tests/Polyhedron/bhz03widening1.cc,
+	tests/Polyhedron/exceptions2.cc, tests/Powerset/empty1.cc,
+	tests/Powerset/powerset1.cc, tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc, tests/ppl_test.hh: Avoid
+	overloading std::swap for PPL types.  Define functions
+	Parma_Polyhedra_Library::swap and exploit ADL.  The swap _methods_
+	T::swap(T&) renamed as T::m_swap(T&).
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/vocabulary: More words added.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words: Added a word legitimately occurring in a
+	comment.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words: Added more Doxygen and LaTeX keywords.
+
+2011-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Pending_List.templates.hh, Watchdog/src/Watchdog.cc,
+	demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc,
+	src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh: Started fixing the vocabulary used
+	throughout the library.  Detected by ECLAIR service idntvcbl.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words, devtools/vocabulary: Updated.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/vocabulary: Updated.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc: Updated.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4, src/Makefile.am: Allow `--with-gmp-build' to
+	be used with `--enable-shared'.  (Thanks to Serge Belyshev.)
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/devref-language-interface.tex, doc/devref.tex,
+	doc/user-language-interface.tex, doc/user.tex: Front matter updated
+	for all manuals.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user-language-interface.tex: Front matter updated.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.tex: No longer pass the `draft' option to package
+	`hyperref'.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/bugseng_logo.eps, doc/bugseng_logo.svg, doc/ppl_logo.eps,
+	doc/ppl_logo.svg, doc/ppl_logo_no_ppl.eps, doc/ppl_logo_no_ppl.svg,
+	doc/user.tex: Front matter improved.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Og_Status.inlines.hh: Fixed Doxygen \relates command.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.tex, m4/ac_check_gmp.m4: Typo fixed.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/.gitignore, doc/bugseng_logo.eps, doc/bugseng_logo.svg,
+	doc/ppl_logo.eps, doc/ppl_logo.svg, doc/ppl_logo_no_ppl.eps,
+	doc/ppl_logo_no_ppl.svg: New logos.
+
+2011-11-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Fixed the handling of the `--with-gmp-build'
+	configure option.  (Thanks to Serge Belyshev.)
+
+2011-11-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/ppl_header.hh: Missing comment added.
+
+2011-11-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Added missing guard against multiple inclusions.
+	Detected by ECLAIR service inclgard.
+
+2011-11-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/user.tex: Revised.
+
+2011-11-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/.gitignore, doc/ppl_logo.eps, doc/ppl_logo.svg,
+	doc/ppl_logo_no_ppl.eps, doc/ppl_logo_no_ppl.svg: The PPL logo in
+	various formats.
+
+2011-11-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/Box.defs.hh,
+	src/DB_Matrix.templates.hh, src/DB_Row.defs.hh, src/Grid.defs.hh,
+	src/Grid_public.cc, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Pointset_Powerset.defs.hh, src/Polyhedron_public.cc,
+	src/Variables_Set.cc, src/minimize.cc: Indentation fixes.  Detected
+	by ECLAIR service indntion.
+
+2011-11-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/PIP_Tree.cc,
+	src/checked_int.inlines.hh: Code layout corrections.
+
+2011-11-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Avoid reusing names reserved by the
+	C++ standard.  Detected by ECLAIR service resvidnt.
+
+2011-11-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Avoid reusing names reserved by the
+	C++ standard.  Detected by ECLAIR service resvidnt.
+
+2011-11-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Polyhedron_nonpublic.cc: FIXME resolved.
+
+2011-11-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh,
+	src/Polyhedron_nonpublic.cc: Avoid reusing names reserved by the C++
+	standard.  In the process, consistency improved with respect to
+	conventions used throughout the library.  Detected by ECLAIR service
+	resvidnt.
+
+2011-11-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.inlines.hh, src/checked.cc: Scope of variables
+	reduced.  Detected by ECLAIR service minscope.
+
+2011-11-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.templates.hh: Code layout improved.
+
+2011-11-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/math_utilities.inlines.hh: Simplified implementation.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked_int.inlines.hh: Avoid implicit conversions reducing
+	size of underlying type.  Detected by ECLAIR service utypflag.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Row.cc: Avoid implicit conversion reducing size of
+	underlying type.  Detected by ECLAIR service utypflag.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/meta_programming.hh: Removed redundant cast.  Detected by
+	ECLAIR service castexpr.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.cc: Removed several redundant casts.  Detected by
+	ECLAIR service castexpr.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Grid_Generator_System.cc, src/Grid_nonpublic.cc: Removed a few
+	redundant casts.  Detected by ECLAIR service castexpr.
+
+2011-11-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.cc: Use consistently get_digit.
+
+2011-11-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked_float.inlines.hh, src/fpu-c99.inlines.hh: Fixed bool
+	vs. numeric unsafe mixing.  Detected by ECLAIR service utypflag.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.cc: Avoid implicit integral conversion reducing size
+	of underlying type.  Detected by ECLAIR service utypflag.
+
+2011-11-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Float.defs.hh, src/Float.inlines.hh,
+	src/Interval_Info.defs.hh, src/checked.cc: Fixed bool vs. numeric
+	unsafe mixing.  Detected by ECLAIR service utypflag.
+
+2011-11-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/C_Integer.hh: Fixed plain char vs. numeric unsafe mixing.
+	Detected by ECLAIR service utypflag.
+
+2011-11-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.templates.hh, src/c_streambuf.cc, src/checked.cc: 
+	Fixed plain char vs. numeric unsafe mixing.  Detected by ECLAIR
+	service utypflag.
+
+2011-11-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.inlines.hh: Avoid explicit integral conversions that
+	change the signedness of the underlying type of complex expressions.
+	Detected by ECLAIR service utypflag.
+
+2011-11-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh, src/c_streambuf.cc, src/checked.cc: 
+	Revert "Fixed plain char vs. numeric unsafe mixing." This reverts commit e9ce6bcef3d6f7481e5399d8746062ccc72b25b0.
+
+2011-11-02  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.templates.hh, src/c_streambuf.cc, src/checked.cc: 
+	Fixed plain char vs. numeric unsafe mixing.  Detected by ECLAIR
+	service utypflag.
+
+2011-11-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Variable.cc: Do not mix plain char and numeric values.
+	Detected by ECLAIR service utypflag.
+
+2011-11-02  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/CO_Tree.cc, src/CO_Tree.templates.hh: Use an explicitly signed
+	char type when dealing with numeric info.  Detected by ECLAIR
+	service utypflag.
+
+2011-11-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh: Added missing using directive.
+
+2011-11-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh: Revert "Revert "Avoid anonymous namespaces
+	in header files."" This reverts commit 3fbf4608f85679fc85f89d82f40fb20e0e60ca16.
+
+2011-11-01  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Box.templates.hh: Revert "Avoid anonymous namespaces in header
+	files." This reverts commit 086a400757aa4867611c023dcda5bc70afbc18b5.
+
+2011-11-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh: Spurious declaration removed.
+	Detected by ECLAIR service araysize.
+
+2011-11-01  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh: Avoid anonymous namespaces in header files.
+	Detected by ECLAIR service hedrfile.
+
+2011-10-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.defs.hh: Header file inclusions reordered.
+
+2011-10-31  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Affine_Space.cc, src/BD_Shape.cc, src/BHRZ03_Certificate.cc,
+	src/Bit_Matrix.cc, src/Bit_Row.cc, src/Box.cc, src/CO_Tree.cc,
+	src/C_Polyhedron.cc, src/Checked_Number.cc, src/Coefficient.cc,
+	src/Concrete_Expression.cc, src/Congruence.cc,
+	src/Congruence_System.cc, src/Constraint.cc,
+	src/Constraint_System.cc, src/Dense_Matrix.cc, src/Dense_Row.cc,
+	src/Float.cc, src/Generator.cc, src/Generator_System.cc,
+	src/Grid_Certificate.cc, src/Grid_Generator.cc,
+	src/Grid_Generator_System.cc, src/Grid_Status.cc,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/Init.cc, src/Linear_Expression.cc,
+	src/Linear_Form.cc, src/Linear_Row.cc, src/Linear_System.cc,
+	src/MIP_Problem.cc, src/NNC_Polyhedron.cc, src/Octagonal_Shape.cc,
+	src/PIP_Problem.cc, src/PIP_Tree.cc, src/Partial_Function.cc,
+	src/Ph_Status.cc, src/Pointset_Ask_Tell.cc,
+	src/Pointset_Powerset.cc, src/Poly_Con_Relation.cc,
+	src/Poly_Gen_Relation.cc, src/Polyhedron_chdims.cc,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/Polyhedron_widenings.cc, src/Row_Flags.cc,
+	src/Scalar_Products.cc, src/Sparse_Matrix.cc, src/Sparse_Row.cc,
+	src/Variable.cc, src/Variables_Set.cc, src/Weight_Profiler.cc,
+	src/c_streambuf.cc, src/checked.cc, src/conversion.cc,
+	src/fpu-ia32.cc, src/globals.cc, src/minimize.cc,
+	src/mp_std_bits.cc, src/simplify.cc, src/stdiobuf.cc,
+	src/termination.cc, src/version.cc, src/wrap_string.cc,
+	utils/timings.cc: Use <> brackets for system and standard library
+	headers only; use "" quotes for all other headers.  Detected by
+	ECLAIR service hedrbrks.
+
+2011-10-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Boundary.defs.hh, src/Checked_Number.inlines.hh: Long lines
+	avoided.
+
+2011-10-30  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc: Fixed typo.
+
+2011-10-30  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc,
+	src/Concrete_Expression.inlines.hh, src/Float.defs.hh,
+	src/Float.inlines.hh, src/checked_float.inlines.hh,
+	src/globals.defs.hh: Fixed wrong type uses.  Detected by ECLAIR
+	service utypflag.
+
+2011-10-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.templates.hh, src/Congruence.cc,
+	src/checked.cc: Fixed bugs whereby the wrong types were used so that
+	overflows were possible.  Detected by ECLAIR service utypflag.
+
+2011-10-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Box.templates.hh, src/Grid.inlines.hh: Unwanted null
+	statements removed.  Detected by ECLAIR service nullstmt.
+
+2011-10-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.defs.hh: Long line avoided.
+
+2011-10-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.inlines.hh: Avoid explicit integral conversions that
+	change the signedness of the underlying type of complex expressions.
+	Detected by ECLAIR service utypflag.
+
+2011-10-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: 
+	Removed trailing whitespace.
+
+2011-10-29  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: Avoid unsigned
+	integer wrap-around in constant expressions.  Detected by ECLAIR
+	service cnstwrap.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Concrete_Expression.defs.hh,
+	src/Concrete_Expression.inlines.hh: Avoid implementation-defined
+	behavior by having bitfields of explicit unsigned integral type.
+	Detected by ECLAIR service bitftype.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_float.inlines.hh, src/checked_int.inlines.hh: Do not
+	reuse names reserved by the C++ implementation.  Detected by ECLAIR
+	service resvidnt.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc, src/Linear_System.cc,
+	src/swapping_sort.templates.hh: Avoid anonymous namespaces in header
+	files.  Detected by ECLAIR service hedrfile.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Bit_Matrix.cc, src/Linear_System.cc, src/Makefile.am,
+	src/{swapping_sort.icc => swapping_sort.templates.hh}: Source file
+	renamed.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.cc: Code layout improved.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.defs.hh: Use standard notation for pairs.
+
+2011-10-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh: Unwanted, commented-out code removed.
+	Detected by ECLAIR service cmntdout.  (Thanks to Roberto Amadini.)
+
+2011-10-27  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/termination.cc: Removed commented out line of code that was
+	introduced in the debugging phase.  Detected by ECLAIR service
+	cmntdout.
+
+2011-10-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* ppl-config.sed: Do rename HAVE_DECL_SETRLIMIT.  Detected by ECLAIR
+	service idntvcbl.
+
+2011-10-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* BUGS, CREDITS, Makefile.am, README, README.configure, STANDARDS,
+	TODO, Watchdog/Makefile.am, Watchdog/README, Watchdog/configure.ac,
+	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
+	Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	Watchdog/src/EList_Iterator.defs.hh,
+	Watchdog/src/EList_Iterator.inlines.hh,
+	Watchdog/src/Handler.defs.hh, Watchdog/src/Handler.inlines.hh,
+	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.inlines.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh, Watchdog/src/Time.cc,
+	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
+	Watchdog/src/Watchdog.inlines.hh, Watchdog/src/pwl_header.hh,
+	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
+	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
+	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	configure.ac, debian/control, debian/libppl-pwl.copyright.in,
+	debian/libppl.copyright.in, demos/Makefile.am,
+	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
+	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/examples/Makefile.am,
+	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c,
+	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
+	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
+	demos/ppl_pips/ppl_pips_extra_man_text,
+	devtools/generate_dox_biblio,
+	devtools/generate_dox_ci_prolog_manual,
+	devtools/generate_man_pages, devtools/print_nonascii_lines,
+	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
+	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
+	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
+	fedora/ppl.hh, fedora/ppl.spec, fedora/ppl_c.h, instchk.hh,
+	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_c_version.h.in,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	interfaces/C/ppl_interface_generator_c_h.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/C/tests/Makefile.am,
+	interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
+	interfaces/C/tests/ppl_c_test.h,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h,
+	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
+	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
+	ow.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
+	entation.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
+	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
+	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	, interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
+	java,
+	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java,
+	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
+	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Name.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Value.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	interfaces/Java/parma_polyhedra_library/Pair.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
+	interfaces/Java/parma_polyhedra_library/Variable.java,
+	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/PIP_Problem_test1.java,
+	interfaces/Java/tests/PPL_Test.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/Java/tests/Test_Executor.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Java/tests/ppl_java_tests_common,
+	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/Makefile.am,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	interfaces/OCaml/tests/test1.ml,
+	interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/Ciao/ciao_cfli.hh,
+	interfaces/Prolog/Ciao/ciao_clpq.pl,
+	interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	interfaces/Prolog/Ciao/ciao_efli.cc,
+	interfaces/Prolog/Ciao/ciao_efli.hh,
+	interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
+	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/GNU/gnu_pl_check.pl,
+	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
+	interfaces/Prolog/GNU/gp_clpq.pl,
+	interfaces/Prolog/GNU/gprolog_cfli.hh,
+	interfaces/Prolog/GNU/gprolog_efli.cc,
+	interfaces/Prolog/GNU/gprolog_efli.hh,
+	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	interfaces/Prolog/SICStus/sicstus_cfli.h,
+	interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	interfaces/Prolog/SICStus/sicstus_efli.cc,
+	interfaces/Prolog/SICStus/sicstus_efli.hh,
+	interfaces/Prolog/SICStus/sp_clpq.pl,
+	interfaces/Prolog/SICStus/sp_pl_check.pl,
+	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
+	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	interfaces/Prolog/SWI/ppl_pl.cc,
+	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	interfaces/Prolog/SWI/swi_cfli.hh,
+	interfaces/Prolog/SWI/swi_efli.cc,
+	interfaces/Prolog/SWI/swi_efli.hh,
+	interfaces/Prolog/SWI/swi_pl_check.pl,
+	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
+	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/XSB/xsb_cfli.hh,
+	interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P,
+	interfaces/Prolog/XSB/xsb_efli.cc,
+	interfaces/Prolog/XSB/xsb_efli.hh,
+	interfaces/Prolog/XSB/xsb_pl_check.P,
+	interfaces/Prolog/YAP/Makefile.am,
+	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/YAP/ppl_yap.pl,
+	interfaces/Prolog/YAP/yap_cfli.hh,
+	interfaces/Prolog/YAP/yap_clpq.pl,
+	interfaces/Prolog/YAP/yap_clpq2.pl,
+	interfaces/Prolog/YAP/yap_efli.cc,
+	interfaces/Prolog/YAP/yap_efli.hh,
+	interfaces/Prolog/YAP/yap_pl_check.pl,
+	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	interfaces/Prolog/tests/Makefile.am,
+	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
+	interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl.m4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4,
+	interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
+	interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py,
+	interfaces/interfaced_boxes.hh, interfaces/marked_pointers.hh,
+	interfaces/ppl_interface_generator_common.m4,
+	interfaces/ppl_interface_generator_common_dat.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	interfaces/ppl_interface_generator_copyright, m4/Makefile.am,
+	m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
+	m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
+	m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
+	m4/ac_check_yap.m4, m4/ac_cxx_attribute_weak.m4,
+	m4/ac_cxx_double_binary_format.m4,
+	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_float_binary_format.m4,
+	m4/ac_cxx_float_exact_output.m4, m4/ac_cxx_ieee_inexact_flag.m4,
+	m4/ac_cxx_limit_memory.m4, m4/ac_cxx_long_double_binary_format.m4,
+	m4/ac_cxx_long_double_exact_output.m4,
+	m4/ac_cxx_plain_char_is_signed.m4, m4/ac_cxx_proper_long_double.m4,
+	m4/ac_cxx_remainder_bug.m4, m4/ac_cxx_zero_length_arrays.m4,
+	m4/ac_prog_javac.m4, m4/ac_text_md5sum.m4, m4/ppl.m4, m4/ppl_c.m4,
+	ppl.lsm.in, src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh, src/Any_Pointset.defs.hh,
+	src/Any_Pointset.inlines.hh, src/Ask_Tell.defs.hh,
+	src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
+	src/BD_Shape.cc, src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/Bit_Matrix.cc, src/Bit_Matrix.defs.hh,
+	src/Bit_Matrix.inlines.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	src/Bit_Row.inlines.hh, src/Boundary.defs.hh, src/Box.cc,
+	src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/Box_Status.idefs.hh, src/Box_Status.inlines.hh, src/CO_Tree.cc,
+	src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/CO_Tree.templates.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
+	src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Checked_Number.cc, src/Checked_Number.defs.hh,
+	src/Checked_Number.inlines.hh, src/Checked_Number.templates.hh,
+	src/Coefficient.cc, src/Coefficient.defs.hh,
+	src/Coefficient.inlines.hh, src/Concrete_Expression.cc,
+	src/Concrete_Expression.defs.hh,
+	src/Concrete_Expression.inlines.hh, src/Congruence.cc,
+	src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	src/Congruence_System.cc, src/Congruence_System.defs.hh,
+	src/Congruence_System.inlines.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constraint.cc, src/Constraint.defs.hh,
+	src/Constraint.inlines.hh, src/Constraint_System.cc,
+	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
+	src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
+	src/DB_Row.inlines.hh, src/DB_Row.templates.hh,
+	src/Dense_Matrix.cc, src/Dense_Matrix.defs.hh,
+	src/Dense_Matrix.inlines.hh, src/Dense_Row.cc,
+	src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Dense_Row.templates.hh, src/Determinate.defs.hh,
+	src/Determinate.inlines.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.templates.hh, src/Float.cc,
+	src/Float.defs.hh, src/Float.inlines.hh, src/Float.templates.hh,
+	src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
+	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator_System.cc, src/Generator_System.defs.hh,
+	src/Generator_System.inlines.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh,
+	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	src/Grid_Certificate.inlines.hh, src/Grid_Generator.cc,
+	src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
+	src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	src/H79_Certificate.inlines.hh, src/Has_Assign_Or_Swap.hh,
+	src/Init.cc, src/Init.defs.hh, src/Init.inlines.hh,
+	src/Integer_Interval.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Interval.templates.hh,
+	src/Interval_Info.defs.hh, src/Interval_Info.inlines.hh,
+	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	src/Linear_Form.cc, src/Linear_Form.defs.hh,
+	src/Linear_Form.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/MIP_Problem.inlines.hh, src/MIP_Problem.templates.hh,
+	src/Makefile.am, src/Matrix.defs.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	src/NNC_Polyhedron.inlines.hh, src/Numeric_Format.defs.hh,
+	src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh,
+	src/OR_Matrix.templates.hh, src/Octagonal_Shape.cc,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh, src/Og_Status.idefs.hh,
+	src/Og_Status.inlines.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Tree.cc, src/PIP_Tree.defs.hh, src/PIP_Tree.inlines.hh,
+	src/Partial_Function.cc, src/Partial_Function.defs.hh,
+	src/Partial_Function.inlines.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh, src/Ph_Status.cc,
+	src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Powerset.cc,
+	src/Pointset_Powerset.defs.hh, src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Poly_Con_Relation.cc,
+	src/Poly_Con_Relation.defs.hh, src/Poly_Con_Relation.inlines.hh,
+	src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
+	src/Poly_Gen_Relation.inlines.hh, src/Polyhedron.defs.hh,
+	src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	src/Powerset.templates.hh, src/Ptr_Iterator.defs.hh,
+	src/Ptr_Iterator.inlines.hh, src/Rational_Box.hh,
+	src/Rational_Interval.hh, src/Result.defs.hh,
+	src/Result.inlines.hh, src/Rounding_Dir.defs.hh,
+	src/Rounding_Dir.inlines.hh, src/Row.defs.hh, src/Row_Flags.cc,
+	src/Row_Flags.defs.hh, src/Row_Flags.inlines.hh,
+	src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
+	src/Scalar_Products.inlines.hh, src/Slow_Copy.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Row.cc,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/Sparse_Row.templates.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh, src/Temp.defs.hh,
+	src/Temp.inlines.hh, src/Temp.templates.hh, src/Variable.cc,
+	src/Variable.defs.hh, src/Variable.inlines.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/Variables_Set.cc, src/Variables_Set.defs.hh,
+	src/Variables_Set.inlines.hh, src/WRD_coefficient_types.defs.hh,
+	src/WRD_coefficient_types.inlines.hh, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
+	src/Widening_Function.inlines.hh, src/algorithms.hh, src/assert.hh,
+	src/assign_or_swap.hh, src/c_streambuf.cc, src/c_streambuf.defs.hh,
+	src/c_streambuf.inlines.hh, src/checked.cc, src/checked.defs.hh,
+	src/checked.inlines.hh, src/checked_ext.defs.hh,
+	src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
+	src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
+	src/checked_mpz.inlines.hh, src/checked_numeric_limits.hh,
+	src/compiler.hh, src/conversion.cc, src/distances.defs.hh,
+	src/distances.inlines.hh, src/fpu-c99.inlines.hh, src/fpu-ia32.cc,
+	src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
+	src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/globals.cc,
+	src/globals.defs.hh, src/globals.inlines.hh, src/initializer.hh,
+	src/intervals.defs.hh, src/iterator_to_const.defs.hh,
+	src/iterator_to_const.inlines.hh, src/linearize.hh,
+	src/math_utilities.defs.hh, src/math_utilities.inlines.hh,
+	src/max_space_dimension.hh, src/meta_programming.hh,
+	src/minimize.cc, src/mp_std_bits.cc, src/mp_std_bits.defs.hh,
+	src/mp_std_bits.inlines.hh, src/namespaces.hh,
+	src/ppl-config.cc.in, src/ppl_header.hh, src/simplify.cc,
+	src/stdiobuf.cc, src/stdiobuf.defs.hh, src/stdiobuf.inlines.hh,
+	src/swapping_sort.icc, src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, src/version.cc, src/version.hh.in,
+	src/wrap_assign.hh, src/wrap_string.cc, src/wrap_string.hh,
+	tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	tests/BD_Shape/addspacedims1.cc,
+	tests/BD_Shape/affinedimension1.cc, tests/BD_Shape/affineimage1.cc,
+	tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affinepreimage1.cc,
+	tests/BD_Shape/ascii_dump_load1.cc,
+	tests/BD_Shape/bgp99extrapolation1.cc,
+	tests/BD_Shape/bhmz05widening1.cc,
+	tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	tests/BD_Shape/boundedaffineimage1.cc,
+	tests/BD_Shape/boundedaffinepreimage1.cc,
+	tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
+	tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
+	tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
+	tests/BD_Shape/contains1.cc,
+	tests/BD_Shape/containsintegerpoint1.cc,
+	tests/BD_Shape/difference1.cc, tests/BD_Shape/discrete1.cc,
+	tests/BD_Shape/disjoint1.cc,
+	tests/BD_Shape/dropsomenonintegerpoints1.cc,
+	tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	tests/BD_Shape/expandspacedim1.cc,
+	tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/frequency1.cc,
+	tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
+	tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/fromgrid1.cc,
+	tests/BD_Shape/fromoctagonalshape1.cc,
+	tests/BD_Shape/frompolyhedron1.cc, tests/BD_Shape/fromspacedim1.cc,
+	tests/BD_Shape/generalizedaffineimage1.cc,
+	tests/BD_Shape/generalizedaffineimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage1.cc,
+	tests/BD_Shape/generalizedaffinepreimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage3.cc,
+	tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	tests/BD_Shape/integerupperboundifexact1.cc,
+	tests/BD_Shape/intersection1.cc,
+	tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	tests/BD_Shape/limitedcc76extrapolation1.cc,
+	tests/BD_Shape/limitedh79extrapolation1.cc,
+	tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim1.cc,
+	tests/BD_Shape/membytes1.cc, tests/BD_Shape/minconstraints1.cc,
+	tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	tests/BD_Shape/removespacedims1.cc, tests/BD_Shape/run_tests,
+	tests/BD_Shape/simplifyusingcontext1.cc,
+	tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
+	tests/BD_Shape/universe1.cc, tests/BD_Shape/upperbound1.cc,
+	tests/BD_Shape/upperboundifexact1.cc, tests/BD_Shape/wrap1.cc,
+	tests/BD_Shape/writebdshape1.cc, tests/Box/Makefile.am,
+	tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
+	tests/Box/affinedimension1.cc, tests/Box/affineimage1.cc,
+	tests/Box/affinepreimage1.cc, tests/Box/ascii_dump_load1.cc,
+	tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
+	tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
+	tests/Box/boundedaffinepreimage1.cc, tests/Box/cc76narrowing1.cc,
+	tests/Box/cc76widening.cc, tests/Box/concatenate1.cc,
+	tests/Box/congruences1.cc, tests/Box/constrains1.cc,
+	tests/Box/constraints1.cc, tests/Box/contains1.cc,
+	tests/Box/containsintegerpoint1.cc, tests/Box/difference1.cc,
+	tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
+	tests/Box/empty1.cc, tests/Box/equality1.cc,
+	tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
+	tests/Box/frequency1.cc, tests/Box/frombdshape1.cc,
+	tests/Box/frombox1.cc, tests/Box/fromgensys1.cc,
+	tests/Box/fromgrid1.cc, tests/Box/frompartiallyreducedproduct1.cc,
+	tests/Box/frompolyhedron1.cc, tests/Box/frompolyhedron2.cc,
+	tests/Box/fromspacedim1.cc, tests/Box/generalizedaffineimage1.cc,
+	tests/Box/generalizedaffineimage2.cc,
+	tests/Box/generalizedaffinepreimage1.cc, tests/Box/geomcovers1.cc,
+	tests/Box/intersection1.cc, tests/Box/interval1.cc,
+	tests/Box/limitedcc76extrapolation1.cc, tests/Box/mapspacedims1.cc,
+	tests/Box/max_min1.cc, tests/Box/maxspacedim1.cc,
+	tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
+	tests/Box/propagateconstraints1.cc,
+	tests/Box/propagateconstraints2.cc,
+	tests/Box/refinewithcongruence1.cc,
+	tests/Box/refinewithcongruences1.cc,
+	tests/Box/refinewithconstraint1.cc,
+	tests/Box/refinewithconstraint2.cc,
+	tests/Box/refinewithconstraints1.cc,
+	tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
+	tests/Box/relations2.cc, tests/Box/relations3.cc,
+	tests/Box/relations4.cc, tests/Box/removespacedims1.cc,
+	tests/Box/run_tests, tests/Box/simplifyusingcontext1.cc,
+	tests/Box/timeelapse1.cc, tests/Box/topclosed1.cc,
+	tests/Box/unconstrain1.cc, tests/Box/universe1.cc,
+	tests/Box/upperbound1.cc, tests/Box/upperboundifexact1.cc,
+	tests/Box/wrap1.cc, tests/Box/writebox1.cc,
+	tests/CO_Tree/Makefile.am, tests/CO_Tree/cotree1.cc,
+	tests/Concrete_Expression/C_Expr.cc,
+	tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/Makefile.am,
+	tests/Concrete_Expression/bdshape1.cc,
+	tests/Concrete_Expression/bdshape2.cc,
+	tests/Concrete_Expression/digitalfilters1.cc,
+	tests/Concrete_Expression/linearform1.cc,
+	tests/Concrete_Expression/linearize.cc,
+	tests/Concrete_Expression/octagonalshape1.cc,
+	tests/Concrete_Expression/octagonalshape2.cc,
+	tests/Concrete_Expression/polyhedron1.cc,
+	tests/Concrete_Expression/polyhedron2.cc,
+	tests/Concrete_Expression/run_tests, tests/Grid/Makefile.am,
+	tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
+	tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
+	tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
+	tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
+	tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
+	tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
+	tests/Grid/approximatepartition1.cc, tests/Grid/asciidumpload1.cc,
+	tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
+	tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
+	tests/Grid/asciidumpload6.cc, tests/Grid/bhz03widening1.cc,
+	tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
+	tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
+	tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
+	tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
+	tests/Grid/constraints1.cc, tests/Grid/contains1.cc,
+	tests/Grid/containsintegerpoint1.cc, tests/Grid/discrete1.cc,
+	tests/Grid/disjoint1.cc, tests/Grid/dropnonintegerpoints1.cc,
+	tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	tests/Grid/foldspacedims1.cc, tests/Grid/frequency1.cc,
+	tests/Grid/frombdshape1.cc, tests/Grid/frombox1.cc,
+	tests/Grid/fromgrid1.cc, tests/Grid/fromoctagonalshape1.cc,
+	tests/Grid/frompolyhedron1.cc,
+	tests/Grid/generalizedaffineimage1.cc,
+	tests/Grid/generalizedaffineimage2.cc,
+	tests/Grid/generalizedaffineimage3.cc,
+	tests/Grid/generalizedaffinepreimage1.cc,
+	tests/Grid/generalizedaffinepreimage2.cc,
+	tests/Grid/generalizedaffinepreimage3.cc, tests/Grid/generator1.cc,
+	tests/Grid/generators1.cc, tests/Grid/generators2.cc,
+	tests/Grid/grid1.cc, tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	tests/Grid/limitedextrapolation1.cc,
+	tests/Grid/limitedextrapolation2.cc,
+	tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
+	tests/Grid/powersetdifference1.cc,
+	tests/Grid/powersetgeometricallycovers1.cc,
+	tests/Grid/powersetgeometricallyequals1.cc,
+	tests/Grid/refinewithcongruences1.cc,
+	tests/Grid/refinewithconstraints1.cc, tests/Grid/relations1.cc,
+	tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
+	tests/Grid/simplifyusingcontext1.cc, tests/Grid/timeelapse1.cc,
+	tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	tests/Grid/unconstrain1.cc, tests/Grid/upperbound1.cc,
+	tests/Grid/upperbound2.cc, tests/Grid/widening1.cc,
+	tests/Grid/widening2.cc, tests/Grid/widening3.cc,
+	tests/Grid/wrap1.cc, tests/Grid/writecongruencesystem.cc,
+	tests/MIP_Problem/Makefile.am,
+	tests/MIP_Problem/ascii_dump_load1.cc,
+	tests/MIP_Problem/exceptions1.cc, tests/MIP_Problem/mipproblem1.cc,
+	tests/MIP_Problem/mipproblem2.cc, tests/MIP_Problem/mipproblem3.cc,
+	tests/MIP_Problem/mipproblem4.cc, tests/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/addspacedims1.cc,
+	tests/Octagonal_Shape/affinedimension1.cc,
+	tests/Octagonal_Shape/affineimage1.cc,
+	tests/Octagonal_Shape/affineimage2.cc,
+	tests/Octagonal_Shape/affinepreimage1.cc,
+	tests/Octagonal_Shape/affinepreimage2.cc,
+	tests/Octagonal_Shape/ascii_dump_load1.cc,
+	tests/Octagonal_Shape/bhmz05widening1.cc,
+	tests/Octagonal_Shape/bhz03widening1.cc,
+	tests/Octagonal_Shape/bounded1.cc,
+	tests/Octagonal_Shape/boundedaffineimage1.cc,
+	tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	tests/Octagonal_Shape/bounds1.cc,
+	tests/Octagonal_Shape/cc76extrapolation1.cc,
+	tests/Octagonal_Shape/cc76narrowing1.cc,
+	tests/Octagonal_Shape/chinainit.cc,
+	tests/Octagonal_Shape/concatenate1.cc,
+	tests/Octagonal_Shape/congruences1.cc,
+	tests/Octagonal_Shape/constrains1.cc,
+	tests/Octagonal_Shape/constraints1.cc,
+	tests/Octagonal_Shape/contains1.cc,
+	tests/Octagonal_Shape/containsintegerpoint1.cc,
+	tests/Octagonal_Shape/difference1.cc,
+	tests/Octagonal_Shape/discrete1.cc,
+	tests/Octagonal_Shape/disjoint1.cc,
+	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc,
+	tests/Octagonal_Shape/empty1.cc,
+	tests/Octagonal_Shape/expandspacedim1.cc,
+	tests/Octagonal_Shape/foldspacedims1.cc,
+	tests/Octagonal_Shape/frequency1.cc,
+	tests/Octagonal_Shape/frombdshape1.cc,
+	tests/Octagonal_Shape/frombox1.cc,
+	tests/Octagonal_Shape/fromgensys1.cc,
+	tests/Octagonal_Shape/fromgrid1.cc,
+	tests/Octagonal_Shape/fromoctagonalshape1.cc,
+	tests/Octagonal_Shape/frompolyhedron1.cc,
+	tests/Octagonal_Shape/fromspacedim1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	tests/Octagonal_Shape/integerupperboundifexact1.cc,
+	tests/Octagonal_Shape/intersection1.cc,
+	tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	tests/Octagonal_Shape/mapspacedims1.cc,
+	tests/Octagonal_Shape/max_min1.cc,
+	tests/Octagonal_Shape/max_min2.cc,
+	tests/Octagonal_Shape/maxspacedim1.cc,
+	tests/Octagonal_Shape/membytes1.cc,
+	tests/Octagonal_Shape/minconstraints1.cc,
+	tests/Octagonal_Shape/relatwithcons1.cc,
+	tests/Octagonal_Shape/relatwithcons2.cc,
+	tests/Octagonal_Shape/relatwithcons3.cc,
+	tests/Octagonal_Shape/relatwithgen1.cc,
+	tests/Octagonal_Shape/removespacedims1.cc,
+	tests/Octagonal_Shape/run_tests,
+	tests/Octagonal_Shape/simplifyusingcontext1.cc,
+	tests/Octagonal_Shape/timeelapse1.cc,
+	tests/Octagonal_Shape/unconstrain1.cc,
+	tests/Octagonal_Shape/universe1.cc,
+	tests/Octagonal_Shape/upperbound1.cc,
+	tests/Octagonal_Shape/upperboundifexact1.cc,
+	tests/Octagonal_Shape/wrap1.cc,
+	tests/Octagonal_Shape/writeoctagon1.cc,
+	tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc,
+	tests/PIP_Problem/pipproblem2.cc, tests/PIP_Problem/pipproblem3.cc,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/addcongruences1.cc,
+	tests/Partially_Reduced_Product/addconstraints1.cc,
+	tests/Partially_Reduced_Product/affineimage1.cc,
+	tests/Partially_Reduced_Product/asciidumpload1.cc,
+	tests/Partially_Reduced_Product/bounded1.cc,
+	tests/Partially_Reduced_Product/boundedaffineimage1.cc,
+	tests/Partially_Reduced_Product/bounds1.cc,
+	tests/Partially_Reduced_Product/concatenate1.cc,
+	tests/Partially_Reduced_Product/congruences1.cc,
+	tests/Partially_Reduced_Product/congruencesproduct1.cc,
+	tests/Partially_Reduced_Product/constraints1.cc,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/contains1.cc,
+	tests/Partially_Reduced_Product/difference1.cc,
+	tests/Partially_Reduced_Product/dimension1.cc,
+	tests/Partially_Reduced_Product/directproduct1.cc,
+	tests/Partially_Reduced_Product/directproduct2.cc,
+	tests/Partially_Reduced_Product/directproduct3.cc,
+	tests/Partially_Reduced_Product/directproduct4.cc,
+	tests/Partially_Reduced_Product/directproduct5.cc,
+	tests/Partially_Reduced_Product/directproduct6.cc,
+	tests/Partially_Reduced_Product/discrete1.cc,
+	tests/Partially_Reduced_Product/disjoint1.cc,
+	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc,
+	tests/Partially_Reduced_Product/equals1.cc,
+	tests/Partially_Reduced_Product/frombdshape1.cc,
+	tests/Partially_Reduced_Product/frombox1.cc,
+	tests/Partially_Reduced_Product/fromgrid1.cc,
+	tests/Partially_Reduced_Product/fromoctagonalshape1.cc,
+	tests/Partially_Reduced_Product/frompolyhedron1.cc,
+	tests/Partially_Reduced_Product/fromproduct1.cc,
+	tests/Partially_Reduced_Product/generalizedaffineimage1.cc,
+	tests/Partially_Reduced_Product/intersection1.cc,
+	tests/Partially_Reduced_Product/isempty1.cc,
+	tests/Partially_Reduced_Product/isuniverse1.cc,
+	tests/Partially_Reduced_Product/maxmin1.cc,
+	tests/Partially_Reduced_Product/partially_reduced_product_test.hh,
+	tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
+	tests/Partially_Reduced_Product/refinewithcongruences1.cc,
+	tests/Partially_Reduced_Product/refinewithconstraints1.cc,
+	tests/Partially_Reduced_Product/relations1.cc,
+	tests/Partially_Reduced_Product/shapepreservingproduct1.cc,
+	tests/Partially_Reduced_Product/smashproduct1.cc,
+	tests/Partially_Reduced_Product/spacedims1.cc,
+	tests/Partially_Reduced_Product/timeelapse1.cc,
+	tests/Partially_Reduced_Product/topclosed1.cc,
+	tests/Partially_Reduced_Product/topclosure1.cc,
+	tests/Partially_Reduced_Product/upperbound1.cc,
+	tests/Partially_Reduced_Product/widening1.cc,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
+	tests/Polyhedron/addcongruences1.cc,
+	tests/Polyhedron/addconstraint1.cc,
+	tests/Polyhedron/addconstraints1.cc,
+	tests/Polyhedron/addconstraints2.cc,
+	tests/Polyhedron/addgenerator1.cc,
+	tests/Polyhedron/addgenerator2.cc,
+	tests/Polyhedron/addgenerators1.cc,
+	tests/Polyhedron/addgenerators2.cc,
+	tests/Polyhedron/addspacedims1.cc,
+	tests/Polyhedron/addspacedims2.cc,
+	tests/Polyhedron/affineimage1.cc, tests/Polyhedron/affineimage2.cc,
+	tests/Polyhedron/affinepreimage1.cc,
+	tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	tests/Polyhedron/append2.cc, tests/Polyhedron/ascii_dump_load1.cc,
+	tests/Polyhedron/ascii_dump_load2.cc,
+	tests/Polyhedron/ascii_dump_load3.cc,
+	tests/Polyhedron/bgp99extrapolation1.cc,
+	tests/Polyhedron/bgp99extrapolation2.cc,
+	tests/Polyhedron/bhrz03widening1.cc,
+	tests/Polyhedron/bhrz03widening2.cc,
+	tests/Polyhedron/bhrz03widening3.cc,
+	tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
+	tests/Polyhedron/boundedaffineimage1.cc,
+	tests/Polyhedron/boundedaffinepreimage1.cc,
+	tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	tests/Polyhedron/boundedh79extrapolation1.cc,
+	tests/Polyhedron/bounds1.cc, tests/Polyhedron/cnncconversion1.cc,
+	tests/Polyhedron/concatenate1.cc, tests/Polyhedron/congruences1.cc,
+	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
+	tests/Polyhedron/contains1.cc, tests/Polyhedron/contains2.cc,
+	tests/Polyhedron/containsintegerpoint1.cc,
+	tests/Polyhedron/densematrix1.cc, tests/Polyhedron/disjoint1.cc,
+	tests/Polyhedron/disjoint2.cc,
+	tests/Polyhedron/dropsomenonintegerpoints1.cc,
+	tests/Polyhedron/dropsomenonintegerpoints2.cc,
+	tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	tests/Polyhedron/expandspacedim1.cc,
+	tests/Polyhedron/expandspacedim2.cc,
+	tests/Polyhedron/foldspacedims1.cc,
+	tests/Polyhedron/foldspacedims2.cc, tests/Polyhedron/frequency1.cc,
+	tests/Polyhedron/frombdshape1.cc, tests/Polyhedron/frombox1.cc,
+	tests/Polyhedron/frombox2.cc, tests/Polyhedron/fromgrid1.cc,
+	tests/Polyhedron/fromoctagonalshape1.cc,
+	tests/Polyhedron/generalizedaffineimage1.cc,
+	tests/Polyhedron/generalizedaffineimage2.cc,
+	tests/Polyhedron/generalizedaffinepreimage1.cc,
+	tests/Polyhedron/generalizedaffinepreimage2.cc,
+	tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
+	tests/Polyhedron/h79widening1.cc, tests/Polyhedron/h79widening2.cc,
+	tests/Polyhedron/hybrid.cc, tests/Polyhedron/intersection1.cc,
+	tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	tests/Polyhedron/limitedh79extrapolation1.cc,
+	tests/Polyhedron/linearexpression1.cc,
+	tests/Polyhedron/linearpartition1.cc,
+	tests/Polyhedron/linearsystem1.cc,
+	tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/max_min1.cc,
+	tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	tests/Polyhedron/membytes1.cc, tests/Polyhedron/memory1.cc,
+	tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
+	tests/Polyhedron/minconstraints2.cc,
+	tests/Polyhedron/mingenerators1.cc,
+	tests/Polyhedron/mingenerators2.cc,
+	tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/nncminimize2.cc,
+	tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	tests/Polyhedron/polydifference2.cc, tests/Polyhedron/polyhull1.cc,
+	tests/Polyhedron/polyhull2.cc,
+	tests/Polyhedron/polyhullifexact1.cc,
+	tests/Polyhedron/polyhullifexact2.cc,
+	tests/Polyhedron/randphull1.cc,
+	tests/Polyhedron/refinewithcongruence1.cc,
+	tests/Polyhedron/refinewithcongruences1.cc,
+	tests/Polyhedron/refinewithconstraint1.cc,
+	tests/Polyhedron/refinewithconstraints1.cc,
+	tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
+	tests/Polyhedron/relations3.cc,
+	tests/Polyhedron/removespacedims1.cc,
+	tests/Polyhedron/removespacedims2.cc,
+	tests/Polyhedron/simplifyusingcontext1.cc,
+	tests/Polyhedron/smm1.cc, tests/Polyhedron/termination1.cc,
+	tests/Polyhedron/termination2.cc, tests/Polyhedron/timeelapse1.cc,
+	tests/Polyhedron/timeelapse2.cc, tests/Polyhedron/topclosed1.cc,
+	tests/Polyhedron/topclosure1.cc, tests/Polyhedron/unconstrain1.cc,
+	tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	tests/Polyhedron/weightwatch1.cc, tests/Polyhedron/wrap1.cc,
+	tests/Polyhedron/wrap2.cc, tests/Polyhedron/writeconsys1.cc,
+	tests/Polyhedron/writegensys1.cc,
+	tests/Polyhedron/writepolyhedron1.cc,
+	tests/Polyhedron/writepolyhedron2.cc,
+	tests/Polyhedron/writerelation1.cc,
+	tests/Polyhedron/writevariable1.cc, tests/Powerset/Makefile.am,
+	tests/Powerset/addcongruences1.cc,
+	tests/Powerset/addconstraints1.cc,
+	tests/Powerset/affinedimension1.cc, tests/Powerset/affineimage1.cc,
+	tests/Powerset/affinepreimage1.cc, tests/Powerset/bounded1.cc,
+	tests/Powerset/bounds1.cc, tests/Powerset/closed1.cc,
+	tests/Powerset/closure1.cc, tests/Powerset/collapse1.cc,
+	tests/Powerset/concatenate1.cc, tests/Powerset/contains1.cc,
+	tests/Powerset/containsintegerpoint1.cc,
+	tests/Powerset/difference1.cc, tests/Powerset/discrete1.cc,
+	tests/Powerset/disjoint1.cc, tests/Powerset/disjunct1.cc,
+	tests/Powerset/empty1.cc, tests/Powerset/entails1.cc,
+	tests/Powerset/equals1.cc, tests/Powerset/frombdshape1.cc,
+	tests/Powerset/frombox1.cc, tests/Powerset/fromcongruences1.cc,
+	tests/Powerset/fromconstraints1.cc, tests/Powerset/fromgrid1.cc,
+	tests/Powerset/fromoctagonalshape1.cc,
+	tests/Powerset/frompolyhedron1.cc,
+	tests/Powerset/fromspacedimension1.cc,
+	tests/Powerset/intersection1.cc, tests/Powerset/maxmin1.cc,
+	tests/Powerset/meet1.cc, tests/Powerset/membytes1.cc,
+	tests/Powerset/powerset1.cc, tests/Powerset/reduce1.cc,
+	tests/Powerset/refinewith1.cc, tests/Powerset/relationwith1.cc,
+	tests/Powerset/simplifyusingcontext1.cc, tests/Powerset/size1.cc,
+	tests/Powerset/spacedims1.cc, tests/Powerset/universe1.cc,
+	tests/Powerset/upperbound1.cc, tests/README,
+	tests/Random_Number_Generator.defs.hh,
+	tests/Random_Number_Generator.inlines.hh,
+	tests/Sparse_Matrix/Makefile.am,
+	tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc, tests/files.cc, tests/files.hh,
+	tests/ppl_test.cc, tests/ppl_test.hh, utils/Makefile.am,
+	utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh: Web site
+	URI updated.
+
+2011-10-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/good_words: Temporary list of words allowed in comments
+	and to compose identifiers.
+
+2011-10-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* devtools/vocabulary: An initial vocabulary for the PPL.
+
+2011-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, src/Checked_Number.inlines.hh, src/Temp.inlines.hh,
+	src/checked.defs.hh, src/checked.inlines.hh, src/compiler.hh,
+	src/globals.defs.hh, src/meta_programming.hh: Make sure all the uses
+	of macro arguments are surrounded by parentheses.
+
+2011-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh: Fixed a bug whereby a wrong computational
+	weight was computed due to missing parentheses around a macro
+	argument.  Detected by ECLAIR service macrbody.
+
+2011-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.inlines.hh: Very long line shortened.
+
+2011-10-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.configure: Updated to reflect the removal of
+	`--with-gmp-prefix' in favor of `--with-gmp'.
+
+2011-10-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Expression.cc, src/checked_int.inlines.hh,
+	src/globals.inlines.hh: Avoid excessive and dangerous reliance on
+	the C++ operator precedence rules.  Detected by ECLAIR service
+	exprprns.
+
+2011-10-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Coefficient.types.hh,
+	src/Sparse_Row.defs.hh, src/globals.defs.hh: Avoid #include
+	directives after code (except for "*.idefs.hh", "*.inlines.hh" and
+	"*.templates.hh").  Detected by ECLAIR service inclmixd.
+
+2011-10-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Grid.inlines.hh, src/Linear_Expression.cc: Avoid excessive and
+	dangerous reliance on the C++ operator precedence rules.  Detected
+	by ECLAIR service exprprns.
+
+2011-10-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.inlines.hh, src/BD_Shape.templates.hh,
+	src/BHRZ03_Certificate.cc, src/Bit_Row.cc, src/Bit_Row.inlines.hh,
+	src/Boundary.defs.hh, src/Box.templates.hh, src/C_Polyhedron.cc,
+	src/C_Polyhedron.inlines.hh, src/Checked_Number.inlines.hh,
+	src/Checked_Number.templates.hh, src/Congruence.cc,
+	src/Constraint.cc, src/Constraint.inlines.hh, src/Float.inlines.hh,
+	src/Generator.inlines.hh, src/Grid.inlines.hh,
+	src/Grid_Certificate.cc, src/Grid_Generator.cc, src/Grid_chdims.cc,
+	src/Grid_public.cc, src/H79_Certificate.cc,
+	src/Interval.inlines.hh, src/Linear_Expression.cc,
+	src/Linear_Row.inlines.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/NNC_Polyhedron.cc,
+	src/NNC_Polyhedron.inlines.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh,
+	src/Pointset_Powerset.templates.hh, src/Polyhedron_chdims.cc,
+	src/Polyhedron_public.cc, src/Variable.inlines.hh,
+	src/Variables_Set.inlines.hh, src/checked.cc,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/globals.inlines.hh, src/intervals.defs.hh,
+	src/math_utilities.inlines.hh, src/minimize.cc, src/wrap_string.cc: 
+	Avoid excessive and dangerous reliance on the C++ operator
+	precedence rules.  Detected by ECLAIR service exprprns.  Other
+	readability improvements.
+
+2011-10-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc: Fixed MIP_Problem bug shown by
+	tests/MIP_Problem/mipproblem4.cc.
+
+2011-10-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/MIP_Problem/Makefile.am, tests/MIP_Problem/mipproblem4.cc: 
+	Added test showing a bug when solving again a 0-dimensional
+	MIP_Problem.  The bug only manifests when a previously solved
+	0-dimensional MIP_Problem is solved again after having modified it
+	(that is, after changing optimization mode or optimization
+	function).
+
+2011-10-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_pips/ppl_pips.cc, src/Bit_Row.cc: Minor readability
+	improvements.
+
+2011-10-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/CO_Tree.inlines.hh: Moved misplaced parentheses.
+
+2011-10-11  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Watchdog.cc: Moved namespace alias declaration.
+
+2011-10-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am, interfaces/Prolog/.gitignore,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/Prolog_configured_interface.dox,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/Prolog_interface_compilation.dox,
+	interfaces/Prolog/{ppl_prolog_sysdep_dox =>
+	Prolog_interface_sysdep.dox},
+	interfaces/Prolog/{ppl_prolog_sysindep_dox =>
+	Prolog_interface_sysindep.dox},
+	interfaces/Prolog/Prolog_interface_sysindep_domains.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4: Reorganized
+	the generation of Prolog interface manuals to avoid duplication.
+
+2011-10-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Make sure we find <gmpxx.hh> when compiling
+	instchk.hh to check for valid instantiations.
+
+2011-10-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.cc, Watchdog/src/Time.defs.hh,
+	Watchdog/src/Time.inlines.hh, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/tests/watchdog1.cc, demos/ppl_lpsol/ppl_lpsol.c,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/tests/watchdog1.c,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_sysindep_dox,
+	interfaces/Prolog/tests/pl_check.pl, tests/Polyhedron/watchdog1.cc,
+	utils/timings.cc: Better terminology and identifiers concerning time
+	units.  (Thanks to Anthony Foiani.)
+
+2011-10-09  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* src/Grid.defs.hh: Initialize all elements of Dimension_Kind.
+
+2011-10-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Init.cc, src/Init.defs.hh, src/OR_Matrix.inlines.hh: Magic
+	constants avoided.  Detected by ECLAIR service nomagicc.
+
+2011-10-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc: Magic
+	constants avoided.  Detected by ECLAIR service nomagicc.
+
+2011-10-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/src/Time.cc, Watchdog/src/Time.defs.hh,
+	Watchdog/src/Time.inlines.hh: Magic constants avoided.  Detected by
+	ECLAIR service nomagicc.
+
+2011-09-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence.cc, src/Congruence.inlines.hh,
+	src/Grid_Generator.cc, src/Grid_Generator.inlines.hh,
+	src/Grid_Generator_System.cc: For readability, prefer infix notation
+	for operator[].
+
+2011-09-30  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.cc: For readability, prefer infix notation
+	for operator[].
+
+2011-09-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Congruence_System.inlines.hh: Removed a redundant explicit
+	cast.  Detected by ECLAIR service castexpr.
+
+2011-09-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.inlines.hh, src/intervals.defs.hh: Removed several
+	redundant explicit casts.  Detected by ECLAIR service castexpr.
+
+2011-09-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: Declare functions at file scope.
+
+2011-09-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	src/BD_Shape.templates.hh, src/Box.templates.hh,
+	src/Constraint_System.cc, src/Octagonal_Shape.templates.hh: Fixed
+	several indentation mistakes.
+
+2011-08-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	tests/Box/refinewithconstraints1.cc: Improved portability to
+	Solaris.  (Thanks to Dagobert Michelsen and Maciej Blizinski.)
+
+2011-08-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Item revised.
+
+2011-08-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* m4/ac_check_gmp.m4: Prepend to old content of shared library path
+	var, instead of overwriting.
+
+2011-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Quoted more double quotes.
+
+2011-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Quoted double quotes.
+
+2011-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: More missing quotes added.
+
+2011-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Missing quotes added.
+
+2011-08-10  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Octagonal_Shape/bounded1.cc: Use all the available tests.
+
+2011-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.inlines.hh, src/Interval_Info.inlines.hh,
+	src/Interval_Restriction.defs.hh: Silenced a few warnings.
+
+2011-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh: RAII_Temporary_Real_Relaxation is a
+	struct.
+
+2011-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Linear_Form.inlines.hh: Do not mix `int' and `dimension_type'.
+
+2011-07-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, demos/ppl_lcdd/ppl_lcdd.cc,
+	demos/ppl_lpsol/ppl_lpsol.c, demos/ppl_pips/ppl_pips.cc,
+	m4/ac_cxx_limit_memory.m4: Make sure we have a declaration of
+	setrlimit() before trying to use it.  We still assume that a system
+	that provides setrlimit() also provides getrlimit(), the converse
+	being false for, e.g., Minix.  (Thanks to Thomas Cort.)
+
+2011-07-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: Added environment variable export.
+
+2011-07-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, m4/ac_check_gmp.m4: Make sure the run-time tests for
+	GMP can find GMP's shared libraries.
+
+2011-07-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* utils/timings.cc: Fixed uses of PPL_HAVE_DECL_GETRUSAGE.  (Thanks
+	to Thomas Cort.)
+
+2011-07-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, configure.ac, m4/Makefile.am, m4/ac_check_gmp.m4,
+	m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: New configure
+	options `--with-gmp=DIR', `--with-gmp-include=DIR' and
+	`--with-gmp-lib=DIR'.  These supersede the (now removed) option
+	`--with-gmp-prefix'.  (The old option never really worked; hopefully
+	this is the last change in this area.)
+
+2011-07-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4: Updated.
+
+2011-07-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/Makefile.am, interfaces/OCaml/tests/Makefile.am: 
+	Avoid annoying warnings caused by internal OCaml C code.
+
+2011-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Prolog/SWI/swi_efli.cc, src/BD_Shape.templates.hh,
+	src/Bit_Row.inlines.hh, src/Box.inlines.hh, src/Box.templates.hh,
+	src/Generator.inlines.hh, src/Interval_Restriction.defs.hh,
+	src/MIP_Problem.cc, src/Octagonal_Shape.templates.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/Temp.defs.hh, src/Temp.inlines.hh, src/checked.inlines.hh,
+	src/checked_int.inlines.hh, src/checked_mpz.inlines.hh,
+	src/conversion.cc, src/fpu-ia32.cc, src/globals.defs.hh,
+	src/math_utilities.inlines.hh: Simplified PPL_DIRTY_TEMP.
+
+2011-07-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/Sparse_Row.cc: Silenced a couple of gcc
+	warnings.
+
+2011-06-12  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* interfaces/Prolog/SWI/Makefile.am: Added missing quotes.
+
+2011-06-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, Watchdog/configure.ac, Watchdog/doc/Makefile.am,
+	configure.ac, doc/Makefile.am: New configuration option
+	`--disable-documentation'.
+
+2011-06-12  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/doc/Makefile.am, doc/Makefile.am: Make sure the PDF
+	documentation is fully built before extracting the PostScript
+	documentation.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/BD_Shape/relations3.cc: Silenced gcc warnings.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* tests/BD_Shape/relations3.cc, tests/Box/relations4.cc,
+	tests/Octagonal_Shape/relatwithcons2.cc,
+	tests/Octagonal_Shape/relatwithgen1.cc: Silenced gcc warnings.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* Watchdog/tests/pwl_test.hh, tests/ppl_test.hh: Silenced gcc
+	warning.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/PIP_Tree.cc: Removed another unused variable.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/PIP_Tree.cc: Avoid another warning.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Interval.inlines.hh: Avoid another warning.
+
+2011-06-06  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Grid_public.cc, src/Interval.inlines.hh,
+	src/Interval.templates.hh, src/wrap_assign.hh: Fixed some warnings.
+
+2011-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Java/tests/Makefile.am: Moved misplaced conditional.
+
+2011-05-18  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/C/Makefile.am, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/tests/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/tests/Makefile.am, interfaces/Prolog/Makefile.am: 
+	Do use $(interface_generator_files) when defined.
+
+2011-05-09  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Interval.defs.hh, src/Interval.inlines.hh,
+	src/Linear_Form.defs.hh, src/Linear_Form.templates.hh,
+	tests/Concrete_Expression/linearform1.cc: Improved the documentation
+	and removed an useless function.
+
+2011-05-06  Fabio Bossi <bossi at cs.unipr.it>
+
+	* : commit 9374a9a1b64cc335b23b59a67271a2c93d865245 Author: Fabio
+	Bossi <bossi at cs.unipr.it> Date:   Fri May 6 11:53:53 2011 +0200
+
+2011-05-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/globals.types.hh: Fixed an invalid Doxygen reference.
+
+2011-05-04  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit e1cf43ab6cd604855a4b94256a20979e28192980 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Wed May 4 14:37:21 2011 +0200
+
+2011-05-04  Patricia Hill <p.m.hill at leeds.ac.uk>
+
+	* interfaces/Prolog/Prolog_interface.dox: Fixed some bugs in the
+	documentation for the MIP and PIP problems.
+
+2011-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 5a5759bafd7558a88a8cd8613940fcff247ea407 Author: Patricia
+	Hill <p.m.hill at leeds.ac.uk> Date:   Tue May 3 13:36:52 2011 +0100
+
+2011-05-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 12f97bbef1ad3223c630d10474851eb5d67611db Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Mar 15 12:06:59 2011 +0100
+
+2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Two items added.
+
+2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_gmp.m4: When cross-compiling, assume that GMP has been
+	compiled with support for propagating exceptions.
+
+2011-02-23  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc: Work around a bug showing up under mingw-w64.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh: Avoid
+	(again) using the same macro name for different purposes.  Doing it
+	confuses both the reader and Doxygen.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-language-interface.tex, doc/devref.tex,
+	doc/user-language-interface.tex, doc/user.tex: Get rid of LaTeX
+	warnings related to package fancyhdr.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/Makefile.am, doc/devref-language-interface.doxyconf.in,
+	doc/user-language-interface.doxyconf.in,
+	interfaces/C/C_interface.dox: Avoid duplicate PDF labels in the
+	configured C interface manuals.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/devref-language-interface.tex, doc/devref.tex,
+	doc/user-language-interface.tex, doc/user.tex: Fixed a duplicate
+	hypertarget error in the generated PDF documentation.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh: Avoid
+	using the same macro name for different purposes.  Doing it confuses
+	both the reader and Doxygen.
+
+2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* Watchdog/doc/devref.doxyconf-latex.in,
+	doc/devref-language-interface.doxyconf.in,
+	doc/devref.doxyconf-latex.in: Set INLINE_SOURCES = NO when producing
+	LaTeX documentation.  This change is a workaround to a pdftex + hyperref issue that may
+	result in the following error    \pdfendlink ended up in different nesting level than
+	   \pdfstartlink when using some versions of Doxygen (e.g., 1.7.3).  According to http://tug.org/errors.html the error is triggered when
+	a hyperlink is split across page boundaries and it can be generated
+	even by valid LaTeX code. Disabling source inlining is a way to
+	greatly decrease its likelihood.
+
+2011-02-22  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/meta_programming.hh: Fixed a couple of Doxygen related
+	problems.
+
+2011-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Updated.
+
+2011-02-22  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/fpu-ia32.cc: No longer overwrite the SIGILL handler.
+
+2011-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	*
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a: Never use `\c';  use <CODE></CODE> instead (yes, uppercase).
+
+2011-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, README.configure, configure.ac, m4/ac_check_fpu_control.m4: 
+	The `--disable-fpmath' configure option now disables all floating
+	point computations.
+
+2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 086927949fd92366d26e8b3fc8c93b63cc661b11 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sun Feb 20 08:57:04 2011 +0100
+
+2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, README, Watchdog/config.guess, Watchdog/config.sub,
+	Watchdog/src/Makefile.am, config.guess, config.sub, doc/libppl.3,
+	doc/libppl_c.3, doc/ppl-config_extra_man_text, src/Makefile.am: 
+	Updated to minimize risks when the time of releasing PPL 0.12 will
+	come.
+
+2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Updated the entry for Marco Poletti.
+
+2011-02-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: avoid repeated lookup of
+	Sparse_Row's coefficients, in solve().
+
+2011-02-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: improve the performance of
+	solve().
+
+2011-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/Polyhedron/Makefile.am: Disabled the `memory1' test (at
+	least for the time being).
+
+2011-02-16  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: test06 no longer overflows when
+	using 8-bit coefficients.
+
+2011-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 73cfc6e2390366f132e6967d225c4d5ec317bb46 Author: Marco
+	Poletti <poletti.marco at gmail.com> Date:   Mon Feb 14 21:23:11 2011
+	+0100
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* .gitignore: Ignore *.lzma.
+
+2011-02-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: avoid repeated calls to
+	Sparse_Row::get(), in solve().
+
+2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
+	src/PIP_Tree.cc: Corrected a (checked-integer related) problem in
+	PIP_Solution_Tree::solve().  Updated expected results for 32-bits
+	checked integers: ppl_pips test lineri.dat no longer overflows.
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/.gitignore, interfaces/C/tests/.gitignore,
+	interfaces/Java/parma_polyhedra_library/.gitignore,
+	interfaces/Prolog/GNU/.gitignore, tests/Grid/.gitignore,
+	tests/PIP_Problem/.gitignore,
+	tests/Partially_Reduced_Product/.gitignore,
+	tests/Polyhedron/.gitignore, tests/Sparse_Matrix/.gitignore: 
+	Updated.
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/YAP/Makefile.am: Fixed a number of wrong
+	conditionals.
+
+2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.defs.hh: Minor improvements to
+	documentation.
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl: 
+	Copyright notices updated.
+
+2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.defs.hh: Document parameter indent_level in
+	PIP_Tree_Node::solve().
+
+2011-02-03  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.inlines.hh: Added other plain char specializations.
+
+2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Interval.inlines.hh, src/checked_float.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/checked_numeric_limits.hh, src/meta_programming.hh: Added
+	missing specializations for plain char.
+
+2011-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/C_Integer.hh: Specialize C_Integer<T> for plain char.
+
+2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/checked_int.inlines.hh: Added specializations for plain char.
+
+2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_cxx_plain_char_is_signed.m4: Copy-and-paste mistake fixed.
+
+2011-01-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac, m4/Makefile.am, m4/ac_cxx_plain_char_is_signed.m4: 
+	Detect whether the plain char type is signed.
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/tests/Makefile.am, demos/ppl_pips/Makefile.am,
+	interfaces/C/tests/Makefile.am, interfaces/OCaml/tests/Makefile.am,
+	interfaces/Prolog/SWI/Makefile.am, tests/Ask_Tell/Makefile.am,
+	tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/CO_Tree/Makefile.am, tests/Grid/Makefile.am,
+	tests/MIP_Problem/Makefile.am, tests/Octagonal_Shape/Makefile.am,
+	tests/PIP_Problem/Makefile.am,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Polyhedron/Makefile.am, tests/Powerset/Makefile.am,
+	tests/Sparse_Matrix/Makefile.am: Reduce the argument of valgrind's
+	--num-callers below the allowed maximum.
+
+2011-02-14  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Mentioned a correction affecting PIP_Problem solution trees.
+	Mentioned an improvement in the generation of PIP_Tree_Node
+	tautological cnstraints, node splitting constraints and artificial
+	parameters.
+
+2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_mpz,
+	interfaces/Prolog/tests/expected_clpq_mpz: Copyright notices
+	updated.
+
+2011-02-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 32c3efb0d9a72bf3b3c9a6f3efaa89dff1b204ac Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Fri Feb 11 15:01:08 2011
+	+0100
+
+2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* : commit 22b1565be0efe35f86e6323180ff6de113b19b18 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Fri Feb 11 09:53:50 2011
+	+0100
+
+2011-02-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Minor readability improvements to
+	PIP_Decision_Node::solve().
+
+2011-02-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* : commit 29201d2a5893bbe17744777de36e9a106ed8ea95 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Thu Feb 10 18:48:11 2011
+	+0100
+
+2011-02-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_pips/expected_int16, demos/ppl_pips/expected_int16_a,
+	demos/ppl_pips/expected_int32, demos/ppl_pips/expected_int32_a,
+	demos/ppl_pips/expected_int64, demos/ppl_pips/expected_int64_a,
+	demos/ppl_pips/expected_int8, demos/ppl_pips/expected_int8_a,
+	demos/ppl_pips/expected_mpz, demos/ppl_pips/expected_mpz_a: 
+	Corrected expected results.
+
+2011-02-10  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/checked.cc: Fixed stream state on checked input.
+
+2011-02-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* : commit 3c8f16e240439811d501629660cedb8f99f0009a Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Thu Feb 10 10:47:59 2011
+	+0100
+
+2011-02-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Exploit variable integrality when creating
+	tautology constraints.  Factored out helper function   void integral_simplification(Row&); used when generating tautology
+	and sign splitting constraints.
+
+2011-02-05  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4: Fixed
+	function ppl_Pointset_Powerset_*_get_disjunct in OCaml interface.
+
+2011-02-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Polyhedron_public.cc: Polyhedron: fix an invalid reference bug
+	in generalized_affine_image().
+
+2011-02-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Grid.templates.hh: Grid: avoid using an invalid reference in
+	the constructor from a Box.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Fixed a bug in the simplification of the solution
+	tree.  We were too eager in merging a single true child with its
+	parent: if the true child happened to be a decision node with both
+	childs, the merging was causing the violation of a PIP_Decision_Node
+	invariant.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Further improvement to debug output.
+	Preprocessor flag NOISY_PIP_TREE_STRUCTURE only activate those debug
+	print taht is useful to hightlight the solution tree construction
+	process.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh: A minor
+	improvement to the debug printing mechanism.  Methods solve() and
+	generate_cut() are now provided with additional argument
+	indent_level, telling the amount of indentation for debug prints.
+	Added several messages to debug prints so as to clarify the solution
+	tree construction process.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Exploit integrality when adding constraints for
+	mixed parameter sign rows.  Try to distinguish between NOISY and
+	VERY_NOISY debugging output.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.inlines.hh: Fully normalize
+	artificial parameters on construction.  When in noisy mode, print
+	normalized parameters.
+
+2011-02-04  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Minor changes related to coding standards.
+	Prefer initial capitalization for (user-defined) type names.  Prefer
+	function objects to function pointers.  Avoid nesting an anonymous
+	namespace into another anonymous namespace.
+
+2011-02-03  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/PIP_Tree.cc: Corrected a bug in cut generation.  We were using
+	%= instead of the helper function mod_assign(), which is meant to
+	compute the *positive* modulus.  For clarity, the helper function
+	has been renamed as pos_mod_assign().
+
+2011-02-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/checked_float.inlines.hh: Do not use the deprecated function
+	mpz_div_2exp.  Use mpz_tdiv_q_2exp instead.
+
+2011-01-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: AC_PROG_OCAML only sets OCAMLOPT if OCAMLC is
+	different from "no".
+
+2011-01-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/tests/expected_clpq2_mpz,
+	interfaces/Prolog/tests/expected_clpq_mpz: Copyright notices updated
+	in expexted result files.
+
+2011-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Cast_Floating_Point_Expression.defs.hh,
+	src/Cast_Floating_Point_Expression.inlines.hh,
+	src/Cast_Floating_Point_Expression.templates.hh,
+	src/Cast_Floating_Point_Expression.types.hh,
+	src/Concrete_Expression.cc, src/Concrete_Expression.defs.hh,
+	src/Concrete_Expression.inlines.hh,
+	src/Concrete_Expression.types.hh,
+	src/Constant_Floating_Point_Expression.defs.hh,
+	src/Constant_Floating_Point_Expression.inlines.hh,
+	src/Constant_Floating_Point_Expression.types.hh,
+	src/Difference_Floating_Point_Expression.defs.hh,
+	src/Difference_Floating_Point_Expression.inlines.hh,
+	src/Difference_Floating_Point_Expression.templates.hh,
+	src/Difference_Floating_Point_Expression.types.hh,
+	src/Division_Floating_Point_Expression.defs.hh,
+	src/Division_Floating_Point_Expression.inlines.hh,
+	src/Division_Floating_Point_Expression.templates.hh,
+	src/Division_Floating_Point_Expression.types.hh,
+	src/Float.templates.hh, src/Floating_Point_Expression.defs.hh,
+	src/Floating_Point_Expression.inlines.hh,
+	src/Floating_Point_Expression.templates.hh,
+	src/Floating_Point_Expression.types.hh, src/Integer_Interval.hh,
+	src/Linear_Form.cc, src/Linear_Form.defs.hh,
+	src/Linear_Form.inlines.hh, src/Linear_Form.templates.hh,
+	src/Linear_Form.types.hh,
+	src/Multiplication_Floating_Point_Expression.defs.hh,
+	src/Multiplication_Floating_Point_Expression.inlines.hh,
+	src/Multiplication_Floating_Point_Expression.templates.hh,
+	src/Multiplication_Floating_Point_Expression.types.hh,
+	src/Opposite_Floating_Point_Expression.defs.hh,
+	src/Opposite_Floating_Point_Expression.inlines.hh,
+	src/Opposite_Floating_Point_Expression.types.hh,
+	src/Sum_Floating_Point_Expression.defs.hh,
+	src/Sum_Floating_Point_Expression.inlines.hh,
+	src/Sum_Floating_Point_Expression.templates.hh,
+	src/Sum_Floating_Point_Expression.types.hh,
+	src/Variable_Floating_Point_Expression.defs.hh,
+	src/Variable_Floating_Point_Expression.inlines.hh,
+	src/Variable_Floating_Point_Expression.types.hh, src/linearize.hh,
+	tests/Concrete_Expression/C_Expr.cc,
+	tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/C_Expr.types.hh,
+	tests/Concrete_Expression/Makefile.am,
+	tests/Concrete_Expression/bdshape1.cc,
+	tests/Concrete_Expression/bdshape2.cc,
+	tests/Concrete_Expression/digitalfilters1.cc,
+	tests/Concrete_Expression/linearform1.cc,
+	tests/Concrete_Expression/linearize.cc,
+	tests/Concrete_Expression/octagonalshape1.cc,
+	tests/Concrete_Expression/octagonalshape2.cc,
+	tests/Concrete_Expression/polyhedron1.cc,
+	tests/Concrete_Expression/polyhedron2.cc,
+	tests/Concrete_Expression/run_tests: Copyright notices updated.
+
+2011-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, README, README.configure, STANDARDS,
+	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	Watchdog/configure.ac, Watchdog/doc/Makefile.am,
+	Watchdog/doc/README.doc, Watchdog/doc/devref.tex,
+	Watchdog/doc/pwl.sty, Watchdog/doc/user.tex,
+	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
+	Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	Watchdog/src/Doubly_Linked_Object.types.hh,
+	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	Watchdog/src/EList_Iterator.inlines.hh,
+	Watchdog/src/EList_Iterator.types.hh, Watchdog/src/Handler.defs.hh,
+	Watchdog/src/Handler.inlines.hh, Watchdog/src/Handler.types.hh,
+	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_Element.types.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh,
+	Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.inlines.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	Watchdog/src/Threshold_Watcher.types.hh, Watchdog/src/Time.cc,
+	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
+	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
+	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	configure.ac, debian/libppl-pwl.copyright.in,
+	debian/libppl.copyright.in, demos/Makefile.am,
+	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
+	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/dummy.cc,
+	demos/ppl_lpsol/examples/Makefile.am,
+	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c,
+	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
+	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
+	demos/ppl_pips/ppl_pips_extra_man_text,
+	devtools/bump_copyright_years, devtools/generate_dox_biblio,
+	devtools/generate_dox_ci_prolog_manual,
+	devtools/generate_man_pages, devtools/print_nonascii_lines,
+	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
+	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
+	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
+	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh, instchk.hh,
+	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_c_version.h.in,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	interfaces/C/ppl_interface_generator_c_h.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/C/tests/Makefile.am,
+	interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
+	interfaces/C/tests/ppl_c_test.h,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h,
+	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
+	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
+	ow.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
+	entation.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
+	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
+	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	, interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
+	java,
+	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java,
+	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
+	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Name.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Value.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	interfaces/Java/parma_polyhedra_library/Pair.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
+	interfaces/Java/parma_polyhedra_library/Variable.java,
+	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/PIP_Problem_test1.java,
+	interfaces/Java/tests/PPL_Test.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/Java/tests/Test_Executor.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Java/tests/ppl_java_tests_common,
+	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/Makefile.am,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	interfaces/OCaml/tests/test1.ml,
+	interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/Ciao/ciao_cfli.hh,
+	interfaces/Prolog/Ciao/ciao_clpq.pl,
+	interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	interfaces/Prolog/Ciao/ciao_efli.cc,
+	interfaces/Prolog/Ciao/ciao_efli.hh,
+	interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
+	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/GNU/gnu_pl_check.pl,
+	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
+	interfaces/Prolog/GNU/gp_clpq.pl,
+	interfaces/Prolog/GNU/gprolog_cfli.hh,
+	interfaces/Prolog/GNU/gprolog_efli.cc,
+	interfaces/Prolog/GNU/gprolog_efli.hh,
+	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	interfaces/Prolog/SICStus/sicstus_cfli.h,
+	interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	interfaces/Prolog/SICStus/sicstus_efli.cc,
+	interfaces/Prolog/SICStus/sicstus_efli.hh,
+	interfaces/Prolog/SICStus/sp_clpq.pl,
+	interfaces/Prolog/SICStus/sp_pl_check.pl,
+	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
+	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	interfaces/Prolog/SWI/ppl_pl.cc,
+	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	interfaces/Prolog/SWI/swi_cfli.hh,
+	interfaces/Prolog/SWI/swi_efli.cc,
+	interfaces/Prolog/SWI/swi_efli.hh,
+	interfaces/Prolog/SWI/swi_pl_check.pl,
+	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
+	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/XSB/xsb_cfli.hh,
+	interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P,
+	interfaces/Prolog/XSB/xsb_efli.cc,
+	interfaces/Prolog/XSB/xsb_efli.hh,
+	interfaces/Prolog/XSB/xsb_pl_check.P,
+	interfaces/Prolog/YAP/Makefile.am,
+	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/YAP/ppl_yap.pl,
+	interfaces/Prolog/YAP/yap_cfli.hh,
+	interfaces/Prolog/YAP/yap_clpq.pl,
+	interfaces/Prolog/YAP/yap_clpq2.pl,
+	interfaces/Prolog/YAP/yap_efli.cc,
+	interfaces/Prolog/YAP/yap_efli.hh,
+	interfaces/Prolog/YAP/yap_pl_check.pl,
+	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	interfaces/Prolog/ppl_prolog_sysdep_dox,
+	interfaces/Prolog/ppl_prolog_sysindep_dox,
+	interfaces/Prolog/tests/Makefile.am,
+	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
+	interfaces/Prolog/tests/expected_clpq2_int16,
+	interfaces/Prolog/tests/expected_clpq2_int16_a,
+	interfaces/Prolog/tests/expected_clpq2_int32,
+	interfaces/Prolog/tests/expected_clpq2_int32_a,
+	interfaces/Prolog/tests/expected_clpq2_int64,
+	interfaces/Prolog/tests/expected_clpq2_int64_a,
+	interfaces/Prolog/tests/expected_clpq2_int8,
+	interfaces/Prolog/tests/expected_clpq2_int8_a,
+	interfaces/Prolog/tests/expected_clpq2_mpz,
+	interfaces/Prolog/tests/expected_clpq2_mpz_a,
+	interfaces/Prolog/tests/expected_clpq_int16,
+	interfaces/Prolog/tests/expected_clpq_int16_a,
+	interfaces/Prolog/tests/expected_clpq_int32,
+	interfaces/Prolog/tests/expected_clpq_int32_a,
+	interfaces/Prolog/tests/expected_clpq_int64,
+	interfaces/Prolog/tests/expected_clpq_int64_a,
+	interfaces/Prolog/tests/expected_clpq_int8,
+	interfaces/Prolog/tests/expected_clpq_int8_a,
+	interfaces/Prolog/tests/expected_clpq_mpz,
+	interfaces/Prolog/tests/expected_clpq_mpz_a,
+	interfaces/Prolog/tests/pl_check.pl,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl.m4,
+	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
+	st_pl_code.m4,
+	interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
+	interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py,
+	interfaces/interfaced_boxes.hh, interfaces/marked_pointers.hh,
+	interfaces/ppl_interface_generator_common.m4,
+	interfaces/ppl_interface_generator_common_dat.m4,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	interfaces/ppl_interface_generator_copyright, m4/Makefile.am,
+	m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
+	m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
+	m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
+	m4/ac_check_yap.m4, m4/ac_cxx_attribute_weak.m4,
+	m4/ac_cxx_double_binary_format.m4,
+	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
+	m4/ac_cxx_float_binary_format.m4, m4/ac_cxx_float_exact_output.m4,
+	m4/ac_cxx_ieee_inexact_flag.m4, m4/ac_cxx_limit_memory.m4,
+	m4/ac_cxx_long_double_binary_format.m4,
+	m4/ac_cxx_long_double_exact_output.m4,
+	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4,
+	m4/ac_prog_jar.m4, m4/ac_prog_java.m4, m4/ac_prog_javac.m4,
+	m4/ac_prog_javah.m4, m4/ac_text_md5sum.m4, m4/ppl.m4, m4/ppl_c.m4,
+	src/Affine_Space.cc, src/Affine_Space.defs.hh,
+	src/Affine_Space.inlines.hh, src/Affine_Space.types.hh,
+	src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
+	src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
+	src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
+	src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
+	src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
+	src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
+	src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
+	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
+	src/BHRZ03_Certificate.types.hh, src/Bit_Matrix.cc,
+	src/Bit_Matrix.defs.hh, src/Bit_Matrix.inlines.hh,
+	src/Bit_Matrix.types.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
+	src/Bit_Row.inlines.hh, src/Bit_Row.types.hh, src/Boundary.defs.hh,
+	src/Box.cc, src/Box.defs.hh, src/Box.inlines.hh,
+	src/Box.templates.hh, src/Box.types.hh, src/Box_Status.idefs.hh,
+	src/Box_Status.inlines.hh, src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/CO_Tree.inlines.hh, src/CO_Tree.templates.hh,
+	src/CO_Tree.types.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
+	src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
+	src/C_Polyhedron.types.hh, src/Checked_Number.cc,
+	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
+	src/Checked_Number.templates.hh, src/Checked_Number.types.hh,
+	src/Coefficient.cc, src/Coefficient.defs.hh,
+	src/Coefficient.inlines.hh, src/Coefficient.types.hh,
+	src/Coefficient_traits_template.hh, src/Congruence.cc,
+	src/Congruence.defs.hh, src/Congruence.inlines.hh,
+	src/Congruence.types.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Congruence_System.types.hh, src/Constraint.cc,
+	src/Constraint.defs.hh, src/Constraint.inlines.hh,
+	src/Constraint.types.hh, src/Constraint_System.cc,
+	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
+	src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
+	src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
+	src/DB_Matrix.types.hh, src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
+	src/DB_Row.templates.hh, src/DB_Row.types.hh, src/Dense_Matrix.cc,
+	src/Dense_Matrix.defs.hh, src/Dense_Matrix.inlines.hh,
+	src/Dense_Matrix.types.hh, src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/Dense_Row.templates.hh,
+	src/Dense_Row.types.hh, src/Determinate.defs.hh,
+	src/Determinate.inlines.hh, src/Determinate.types.hh, src/Float.cc,
+	src/Float.defs.hh, src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
+	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
+	src/Generator.types.hh, src/Generator_System.cc,
+	src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
+	src/Generator_System.types.hh, src/Grid.defs.hh,
+	src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
+	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
+	src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
+	src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
+	src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
+	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh,
+	src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
+	src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
+	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
+	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
+	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
+	src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh,
+	src/Has_Assign_Or_Swap.hh, src/Init.cc, src/Init.defs.hh,
+	src/Init.inlines.hh, src/Init.types.hh, src/Interval.defs.hh,
+	src/Interval.inlines.hh, src/Interval.templates.hh,
+	src/Interval.types.hh, src/Interval_Info.defs.hh,
+	src/Interval_Info.inlines.hh, src/Interval_Info.types.hh,
+	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
+	src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
+	src/Linear_Expression.types.hh, src/Linear_Row.cc,
+	src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	src/Linear_Row.types.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/Linear_System.types.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
+	src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
+	src/Makefile.am, src/Matrix.defs.hh, src/Matrix.types.hh,
+	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
+	src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
+	src/Numeric_Format.defs.hh, src/OR_Matrix.defs.hh,
+	src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
+	src/OR_Matrix.types.hh, src/Octagonal_Shape.cc,
+	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
+	src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
+	src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
+	src/PIP_Problem.types.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/PIP_Tree.inlines.hh, src/PIP_Tree.types.hh,
+	src/Partial_Function.cc, src/Partial_Function.defs.hh,
+	src/Partial_Function.inlines.hh, src/Partial_Function.types.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Partially_Reduced_Product.types.hh, src/Ph_Status.cc,
+	src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
+	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
+	src/Pointset_Ask_Tell.inlines.hh,
+	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Ask_Tell.types.hh,
+	src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	src/Pointset_Powerset.inlines.hh,
+	src/Pointset_Powerset.templates.hh, src/Pointset_Powerset.types.hh,
+	src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
+	src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh,
+	src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
+	src/Poly_Gen_Relation.inlines.hh, src/Poly_Gen_Relation.types.hh,
+	src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
+	src/Polyhedron.templates.hh, src/Polyhedron.types.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
+	src/Powerset.defs.hh, src/Powerset.inlines.hh,
+	src/Powerset.templates.hh, src/Powerset.types.hh,
+	src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
+	src/Ptr_Iterator.types.hh, src/Rational_Box.hh,
+	src/Rational_Interval.hh, src/Result.defs.hh,
+	src/Result.inlines.hh, src/Rounding_Dir.defs.hh,
+	src/Rounding_Dir.inlines.hh, src/Row.defs.hh, src/Row.types.hh,
+	src/Row_Flags.cc, src/Row_Flags.defs.hh, src/Row_Flags.inlines.hh,
+	src/Row_Flags.types.hh, src/Scalar_Products.cc,
+	src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	src/Scalar_Products.types.hh, src/Slow_Copy.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Matrix.types.hh,
+	src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh,
+	src/Sparse_Row.types.hh, src/Temp.defs.hh, src/Temp.inlines.hh,
+	src/Temp.templates.hh, src/Topology.hh, src/Variable.cc,
+	src/Variable.defs.hh, src/Variable.inlines.hh,
+	src/Variable.types.hh, src/Variables_Set.cc,
+	src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
+	src/Variables_Set.types.hh, src/WRD_coefficient_types.defs.hh,
+	src/WRD_coefficient_types.inlines.hh, src/Weight_Profiler.cc,
+	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
+	src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
+	src/algorithms.hh, src/assert.hh, src/assign_or_swap.hh,
+	src/c_streambuf.cc, src/c_streambuf.defs.hh,
+	src/c_streambuf.inlines.hh, src/c_streambuf.types.hh,
+	src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
+	src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
+	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
+	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
+	src/checked_numeric_limits.hh, src/compiler.hh, src/conversion.cc,
+	src/distances.defs.hh, src/distances.inlines.hh,
+	src/distances.types.hh, src/fpu-c99.inlines.hh, src/fpu-ia32.cc,
+	src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
+	src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/fpu.types.hh,
+	src/globals.cc, src/globals.defs.hh, src/globals.inlines.hh,
+	src/globals.types.hh, src/initializer.hh, src/intervals.defs.hh,
+	src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
+	src/iterator_to_const.types.hh, src/math_utilities.defs.hh,
+	src/math_utilities.inlines.hh, src/max_space_dimension.hh,
+	src/meta_programming.hh, src/minimize.cc, src/mp_std_bits.cc,
+	src/mp_std_bits.defs.hh, src/mp_std_bits.inlines.hh,
+	src/namespaces.hh, src/ppl-config.cc.in, src/ppl_header.hh,
+	src/simplify.cc, src/stdiobuf.cc, src/stdiobuf.defs.hh,
+	src/stdiobuf.inlines.hh, src/stdiobuf.types.hh,
+	src/swapping_sort.icc, src/termination.cc, src/termination.defs.hh,
+	src/termination.templates.hh, src/version.cc, src/version.hh.in,
+	src/wrap_assign.hh, src/wrap_string.cc, src/wrap_string.hh,
+	tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
+	tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
+	tests/BD_Shape/addspacedims1.cc,
+	tests/BD_Shape/affinedimension1.cc, tests/BD_Shape/affineimage1.cc,
+	tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affinepreimage1.cc,
+	tests/BD_Shape/ascii_dump_load1.cc,
+	tests/BD_Shape/bgp99extrapolation1.cc,
+	tests/BD_Shape/bhmz05widening1.cc,
+	tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
+	tests/BD_Shape/boundedaffineimage1.cc,
+	tests/BD_Shape/boundedaffinepreimage1.cc,
+	tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
+	tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
+	tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
+	tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
+	tests/BD_Shape/contains1.cc,
+	tests/BD_Shape/containsintegerpoint1.cc,
+	tests/BD_Shape/difference1.cc, tests/BD_Shape/discrete1.cc,
+	tests/BD_Shape/disjoint1.cc,
+	tests/BD_Shape/dropsomenonintegerpoints1.cc,
+	tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
+	tests/BD_Shape/expandspacedim1.cc,
+	tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/frequency1.cc,
+	tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
+	tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/fromgrid1.cc,
+	tests/BD_Shape/fromoctagonalshape1.cc,
+	tests/BD_Shape/frompolyhedron1.cc, tests/BD_Shape/fromspacedim1.cc,
+	tests/BD_Shape/generalizedaffineimage1.cc,
+	tests/BD_Shape/generalizedaffineimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage1.cc,
+	tests/BD_Shape/generalizedaffinepreimage2.cc,
+	tests/BD_Shape/generalizedaffinepreimage3.cc,
+	tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
+	tests/BD_Shape/integerupperboundifexact1.cc,
+	tests/BD_Shape/intersection1.cc,
+	tests/BD_Shape/limitedbhmz05extrapolation1.cc,
+	tests/BD_Shape/limitedcc76extrapolation1.cc,
+	tests/BD_Shape/limitedh79extrapolation1.cc,
+	tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
+	tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim1.cc,
+	tests/BD_Shape/membytes1.cc, tests/BD_Shape/minconstraints1.cc,
+	tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
+	tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
+	tests/BD_Shape/removespacedims1.cc, tests/BD_Shape/run_tests,
+	tests/BD_Shape/simplifyusingcontext1.cc,
+	tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
+	tests/BD_Shape/universe1.cc, tests/BD_Shape/upperbound1.cc,
+	tests/BD_Shape/upperboundifexact1.cc, tests/BD_Shape/wrap1.cc,
+	tests/BD_Shape/writebdshape1.cc, tests/Box/Makefile.am,
+	tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
+	tests/Box/affinedimension1.cc, tests/Box/affineimage1.cc,
+	tests/Box/affinepreimage1.cc, tests/Box/ascii_dump_load1.cc,
+	tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
+	tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
+	tests/Box/boundedaffinepreimage1.cc, tests/Box/cc76narrowing1.cc,
+	tests/Box/cc76widening.cc, tests/Box/concatenate1.cc,
+	tests/Box/congruences1.cc, tests/Box/constrains1.cc,
+	tests/Box/constraints1.cc, tests/Box/contains1.cc,
+	tests/Box/containsintegerpoint1.cc, tests/Box/difference1.cc,
+	tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
+	tests/Box/empty1.cc, tests/Box/equality1.cc,
+	tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
+	tests/Box/frequency1.cc, tests/Box/frombdshape1.cc,
+	tests/Box/frombox1.cc, tests/Box/fromgensys1.cc,
+	tests/Box/fromgrid1.cc, tests/Box/frompartiallyreducedproduct1.cc,
+	tests/Box/frompolyhedron1.cc, tests/Box/frompolyhedron2.cc,
+	tests/Box/fromspacedim1.cc, tests/Box/generalizedaffineimage1.cc,
+	tests/Box/generalizedaffineimage2.cc,
+	tests/Box/generalizedaffinepreimage1.cc, tests/Box/geomcovers1.cc,
+	tests/Box/intersection1.cc, tests/Box/interval1.cc,
+	tests/Box/limitedcc76extrapolation1.cc, tests/Box/mapspacedims1.cc,
+	tests/Box/max_min1.cc, tests/Box/maxspacedim1.cc,
+	tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
+	tests/Box/propagateconstraints1.cc,
+	tests/Box/propagateconstraints2.cc,
+	tests/Box/refinewithcongruence1.cc,
+	tests/Box/refinewithcongruences1.cc,
+	tests/Box/refinewithconstraint1.cc,
+	tests/Box/refinewithconstraint2.cc,
+	tests/Box/refinewithconstraints1.cc,
+	tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
+	tests/Box/relations2.cc, tests/Box/relations3.cc,
+	tests/Box/relations4.cc, tests/Box/removespacedims1.cc,
+	tests/Box/run_tests, tests/Box/simplifyusingcontext1.cc,
+	tests/Box/timeelapse1.cc, tests/Box/topclosed1.cc,
+	tests/Box/unconstrain1.cc, tests/Box/universe1.cc,
+	tests/Box/upperbound1.cc, tests/Box/upperboundifexact1.cc,
+	tests/Box/wrap1.cc, tests/Box/writebox1.cc,
+	tests/CO_Tree/Makefile.am, tests/CO_Tree/cotree1.cc,
+	tests/Grid/Makefile.am, tests/Grid/addcongruence1.cc,
+	tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	tests/Grid/addgenerators1.cc, tests/Grid/addspacedims1.cc,
+	tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	tests/Grid/affineimage2.cc, tests/Grid/affinepreimage1.cc,
+	tests/Grid/affinepreimage2.cc, tests/Grid/approximatepartition1.cc,
+	tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
+	tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
+	tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
+	tests/Grid/boundedaffineimage1.cc,
+	tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
+	tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
+	tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
+	tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
+	tests/Grid/constraints1.cc, tests/Grid/contains1.cc,
+	tests/Grid/containsintegerpoint1.cc, tests/Grid/discrete1.cc,
+	tests/Grid/disjoint1.cc, tests/Grid/dropnonintegerpoints1.cc,
+	tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
+	tests/Grid/foldspacedims1.cc, tests/Grid/frequency1.cc,
+	tests/Grid/frombdshape1.cc, tests/Grid/frombox1.cc,
+	tests/Grid/fromgrid1.cc, tests/Grid/fromoctagonalshape1.cc,
+	tests/Grid/frompolyhedron1.cc,
+	tests/Grid/generalizedaffineimage1.cc,
+	tests/Grid/generalizedaffineimage2.cc,
+	tests/Grid/generalizedaffineimage3.cc,
+	tests/Grid/generalizedaffinepreimage1.cc,
+	tests/Grid/generalizedaffinepreimage2.cc,
+	tests/Grid/generalizedaffinepreimage3.cc, tests/Grid/generator1.cc,
+	tests/Grid/generators1.cc, tests/Grid/generators2.cc,
+	tests/Grid/grid1.cc, tests/Grid/grid2.cc, tests/Grid/grid3.cc,
+	tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
+	tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
+	tests/Grid/limitedextrapolation1.cc,
+	tests/Grid/limitedextrapolation2.cc,
+	tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
+	tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
+	tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
+	tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
+	tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
+	tests/Grid/powersetdifference1.cc,
+	tests/Grid/powersetgeometricallycovers1.cc,
+	tests/Grid/powersetgeometricallyequals1.cc,
+	tests/Grid/refinewithcongruences1.cc,
+	tests/Grid/refinewithconstraints1.cc, tests/Grid/relations1.cc,
+	tests/Grid/relations2.cc, tests/Grid/relations3.cc,
+	tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
+	tests/Grid/simplifyusingcontext1.cc, tests/Grid/timeelapse1.cc,
+	tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
+	tests/Grid/unconstrain1.cc, tests/Grid/upperbound1.cc,
+	tests/Grid/upperbound2.cc, tests/Grid/widening1.cc,
+	tests/Grid/widening2.cc, tests/Grid/widening3.cc,
+	tests/Grid/wrap1.cc, tests/Grid/writecongruencesystem.cc,
+	tests/MIP_Problem/Makefile.am,
+	tests/MIP_Problem/ascii_dump_load1.cc,
+	tests/MIP_Problem/exceptions1.cc, tests/MIP_Problem/mipproblem1.cc,
+	tests/MIP_Problem/mipproblem2.cc, tests/MIP_Problem/mipproblem3.cc,
+	tests/Makefile.am, tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/addspacedims1.cc,
+	tests/Octagonal_Shape/affinedimension1.cc,
+	tests/Octagonal_Shape/affineimage1.cc,
+	tests/Octagonal_Shape/affineimage2.cc,
+	tests/Octagonal_Shape/affinepreimage1.cc,
+	tests/Octagonal_Shape/affinepreimage2.cc,
+	tests/Octagonal_Shape/ascii_dump_load1.cc,
+	tests/Octagonal_Shape/bhmz05widening1.cc,
+	tests/Octagonal_Shape/bhz03widening1.cc,
+	tests/Octagonal_Shape/bounded1.cc,
+	tests/Octagonal_Shape/boundedaffineimage1.cc,
+	tests/Octagonal_Shape/boundedaffinepreimage1.cc,
+	tests/Octagonal_Shape/bounds1.cc,
+	tests/Octagonal_Shape/cc76extrapolation1.cc,
+	tests/Octagonal_Shape/cc76narrowing1.cc,
+	tests/Octagonal_Shape/chinainit.cc,
+	tests/Octagonal_Shape/concatenate1.cc,
+	tests/Octagonal_Shape/congruences1.cc,
+	tests/Octagonal_Shape/constrains1.cc,
+	tests/Octagonal_Shape/constraints1.cc,
+	tests/Octagonal_Shape/contains1.cc,
+	tests/Octagonal_Shape/containsintegerpoint1.cc,
+	tests/Octagonal_Shape/difference1.cc,
+	tests/Octagonal_Shape/discrete1.cc,
+	tests/Octagonal_Shape/disjoint1.cc,
+	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc,
+	tests/Octagonal_Shape/empty1.cc,
+	tests/Octagonal_Shape/expandspacedim1.cc,
+	tests/Octagonal_Shape/foldspacedims1.cc,
+	tests/Octagonal_Shape/frequency1.cc,
+	tests/Octagonal_Shape/frombdshape1.cc,
+	tests/Octagonal_Shape/frombox1.cc,
+	tests/Octagonal_Shape/fromgensys1.cc,
+	tests/Octagonal_Shape/fromgrid1.cc,
+	tests/Octagonal_Shape/fromoctagonalshape1.cc,
+	tests/Octagonal_Shape/frompolyhedron1.cc,
+	tests/Octagonal_Shape/fromspacedim1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage2.cc,
+	tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	tests/Octagonal_Shape/generalizedaffineimage4.cc,
+	tests/Octagonal_Shape/generalizedaffineimage5.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
+	tests/Octagonal_Shape/integerupperboundifexact1.cc,
+	tests/Octagonal_Shape/intersection1.cc,
+	tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
+	tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
+	tests/Octagonal_Shape/mapspacedims1.cc,
+	tests/Octagonal_Shape/max_min1.cc,
+	tests/Octagonal_Shape/max_min2.cc,
+	tests/Octagonal_Shape/maxspacedim1.cc,
+	tests/Octagonal_Shape/membytes1.cc,
+	tests/Octagonal_Shape/minconstraints1.cc,
+	tests/Octagonal_Shape/relatwithcons1.cc,
+	tests/Octagonal_Shape/relatwithcons2.cc,
+	tests/Octagonal_Shape/relatwithcons3.cc,
+	tests/Octagonal_Shape/relatwithgen1.cc,
+	tests/Octagonal_Shape/removespacedims1.cc,
+	tests/Octagonal_Shape/run_tests,
+	tests/Octagonal_Shape/simplifyusingcontext1.cc,
+	tests/Octagonal_Shape/timeelapse1.cc,
+	tests/Octagonal_Shape/unconstrain1.cc,
+	tests/Octagonal_Shape/universe1.cc,
+	tests/Octagonal_Shape/upperbound1.cc,
+	tests/Octagonal_Shape/upperboundifexact1.cc,
+	tests/Octagonal_Shape/wrap1.cc,
+	tests/Octagonal_Shape/writeoctagon1.cc,
+	tests/PIP_Problem/Makefile.am,
+	tests/PIP_Problem/ascii_dump_load1.cc,
+	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc,
+	tests/PIP_Problem/pipproblem2.cc, tests/PIP_Problem/pipproblem3.cc,
+	tests/Partially_Reduced_Product/Makefile.am,
+	tests/Partially_Reduced_Product/addcongruences1.cc,
+	tests/Partially_Reduced_Product/addconstraints1.cc,
+	tests/Partially_Reduced_Product/affineimage1.cc,
+	tests/Partially_Reduced_Product/asciidumpload1.cc,
+	tests/Partially_Reduced_Product/bounded1.cc,
+	tests/Partially_Reduced_Product/boundedaffineimage1.cc,
+	tests/Partially_Reduced_Product/bounds1.cc,
+	tests/Partially_Reduced_Product/concatenate1.cc,
+	tests/Partially_Reduced_Product/congruences1.cc,
+	tests/Partially_Reduced_Product/congruencesproduct1.cc,
+	tests/Partially_Reduced_Product/constraints1.cc,
+	tests/Partially_Reduced_Product/constraintsproduct1.cc,
+	tests/Partially_Reduced_Product/contains1.cc,
+	tests/Partially_Reduced_Product/difference1.cc,
+	tests/Partially_Reduced_Product/dimension1.cc,
+	tests/Partially_Reduced_Product/directproduct1.cc,
+	tests/Partially_Reduced_Product/directproduct2.cc,
+	tests/Partially_Reduced_Product/directproduct3.cc,
+	tests/Partially_Reduced_Product/directproduct4.cc,
+	tests/Partially_Reduced_Product/directproduct5.cc,
+	tests/Partially_Reduced_Product/directproduct6.cc,
+	tests/Partially_Reduced_Product/discrete1.cc,
+	tests/Partially_Reduced_Product/disjoint1.cc,
+	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc,
+	tests/Partially_Reduced_Product/equals1.cc,
+	tests/Partially_Reduced_Product/frombdshape1.cc,
+	tests/Partially_Reduced_Product/frombox1.cc,
+	tests/Partially_Reduced_Product/fromgrid1.cc,
+	tests/Partially_Reduced_Product/fromoctagonalshape1.cc,
+	tests/Partially_Reduced_Product/frompolyhedron1.cc,
+	tests/Partially_Reduced_Product/fromproduct1.cc,
+	tests/Partially_Reduced_Product/generalizedaffineimage1.cc,
+	tests/Partially_Reduced_Product/intersection1.cc,
+	tests/Partially_Reduced_Product/isempty1.cc,
+	tests/Partially_Reduced_Product/isuniverse1.cc,
+	tests/Partially_Reduced_Product/maxmin1.cc,
+	tests/Partially_Reduced_Product/partially_reduced_product_test.hh,
+	tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
+	tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
+	tests/Partially_Reduced_Product/refinewithcongruences1.cc,
+	tests/Partially_Reduced_Product/refinewithconstraints1.cc,
+	tests/Partially_Reduced_Product/relations1.cc,
+	tests/Partially_Reduced_Product/shapepreservingproduct1.cc,
+	tests/Partially_Reduced_Product/smashproduct1.cc,
+	tests/Partially_Reduced_Product/spacedims1.cc,
+	tests/Partially_Reduced_Product/timeelapse1.cc,
+	tests/Partially_Reduced_Product/topclosed1.cc,
+	tests/Partially_Reduced_Product/topclosure1.cc,
+	tests/Partially_Reduced_Product/upperbound1.cc,
+	tests/Partially_Reduced_Product/widening1.cc,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
+	tests/Polyhedron/addcongruences1.cc,
+	tests/Polyhedron/addconstraint1.cc,
+	tests/Polyhedron/addconstraints1.cc,
+	tests/Polyhedron/addconstraints2.cc,
+	tests/Polyhedron/addgenerator1.cc,
+	tests/Polyhedron/addgenerator2.cc,
+	tests/Polyhedron/addgenerators1.cc,
+	tests/Polyhedron/addgenerators2.cc,
+	tests/Polyhedron/addspacedims1.cc,
+	tests/Polyhedron/addspacedims2.cc,
+	tests/Polyhedron/affineimage1.cc, tests/Polyhedron/affineimage2.cc,
+	tests/Polyhedron/affinepreimage1.cc,
+	tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
+	tests/Polyhedron/append2.cc, tests/Polyhedron/ascii_dump_load1.cc,
+	tests/Polyhedron/ascii_dump_load2.cc,
+	tests/Polyhedron/ascii_dump_load3.cc,
+	tests/Polyhedron/bgp99extrapolation1.cc,
+	tests/Polyhedron/bgp99extrapolation2.cc,
+	tests/Polyhedron/bhrz03widening1.cc,
+	tests/Polyhedron/bhrz03widening2.cc,
+	tests/Polyhedron/bhrz03widening3.cc,
+	tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
+	tests/Polyhedron/boundedaffineimage1.cc,
+	tests/Polyhedron/boundedaffinepreimage1.cc,
+	tests/Polyhedron/boundedbhrz03extrapolation1.cc,
+	tests/Polyhedron/boundedh79extrapolation1.cc,
+	tests/Polyhedron/bounds1.cc, tests/Polyhedron/cnncconversion1.cc,
+	tests/Polyhedron/concatenate1.cc, tests/Polyhedron/congruences1.cc,
+	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
+	tests/Polyhedron/contains1.cc, tests/Polyhedron/contains2.cc,
+	tests/Polyhedron/containsintegerpoint1.cc,
+	tests/Polyhedron/densematrix1.cc, tests/Polyhedron/disjoint1.cc,
+	tests/Polyhedron/disjoint2.cc,
+	tests/Polyhedron/dropsomenonintegerpoints1.cc,
+	tests/Polyhedron/dropsomenonintegerpoints2.cc,
+	tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
+	tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
+	tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
+	tests/Polyhedron/expandspacedim1.cc,
+	tests/Polyhedron/expandspacedim2.cc,
+	tests/Polyhedron/foldspacedims1.cc,
+	tests/Polyhedron/foldspacedims2.cc, tests/Polyhedron/frequency1.cc,
+	tests/Polyhedron/frombdshape1.cc, tests/Polyhedron/frombox1.cc,
+	tests/Polyhedron/frombox2.cc, tests/Polyhedron/fromgrid1.cc,
+	tests/Polyhedron/fromoctagonalshape1.cc,
+	tests/Polyhedron/generalizedaffineimage1.cc,
+	tests/Polyhedron/generalizedaffineimage2.cc,
+	tests/Polyhedron/generalizedaffinepreimage1.cc,
+	tests/Polyhedron/generalizedaffinepreimage2.cc,
+	tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
+	tests/Polyhedron/h79widening1.cc, tests/Polyhedron/h79widening2.cc,
+	tests/Polyhedron/hybrid.cc, tests/Polyhedron/intersection1.cc,
+	tests/Polyhedron/limitedbhrz03extrapolation1.cc,
+	tests/Polyhedron/limitedh79extrapolation1.cc,
+	tests/Polyhedron/linearexpression1.cc,
+	tests/Polyhedron/linearpartition1.cc,
+	tests/Polyhedron/linearsystem1.cc,
+	tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/max_min1.cc,
+	tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
+	tests/Polyhedron/membytes1.cc, tests/Polyhedron/memory1.cc,
+	tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
+	tests/Polyhedron/minconstraints2.cc,
+	tests/Polyhedron/mingenerators1.cc,
+	tests/Polyhedron/mingenerators2.cc,
+	tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/nncminimize2.cc,
+	tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
+	tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
+	tests/Polyhedron/polydifference2.cc, tests/Polyhedron/polyhull1.cc,
+	tests/Polyhedron/polyhull2.cc,
+	tests/Polyhedron/polyhullifexact1.cc,
+	tests/Polyhedron/polyhullifexact2.cc,
+	tests/Polyhedron/randphull1.cc,
+	tests/Polyhedron/refinewithcongruence1.cc,
+	tests/Polyhedron/refinewithcongruences1.cc,
+	tests/Polyhedron/refinewithconstraint1.cc,
+	tests/Polyhedron/refinewithconstraints1.cc,
+	tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
+	tests/Polyhedron/relations3.cc,
+	tests/Polyhedron/removespacedims1.cc,
+	tests/Polyhedron/removespacedims2.cc,
+	tests/Polyhedron/simplifyusingcontext1.cc,
+	tests/Polyhedron/smm1.cc, tests/Polyhedron/termination1.cc,
+	tests/Polyhedron/termination2.cc, tests/Polyhedron/timeelapse1.cc,
+	tests/Polyhedron/timeelapse2.cc, tests/Polyhedron/topclosed1.cc,
+	tests/Polyhedron/topclosure1.cc, tests/Polyhedron/unconstrain1.cc,
+	tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
+	tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
+	tests/Polyhedron/weightwatch1.cc, tests/Polyhedron/wrap1.cc,
+	tests/Polyhedron/wrap2.cc, tests/Polyhedron/writeconsys1.cc,
+	tests/Polyhedron/writegensys1.cc,
+	tests/Polyhedron/writepolyhedron1.cc,
+	tests/Polyhedron/writepolyhedron2.cc,
+	tests/Polyhedron/writerelation1.cc,
+	tests/Polyhedron/writevariable1.cc, tests/Powerset/Makefile.am,
+	tests/Powerset/addcongruences1.cc,
+	tests/Powerset/addconstraints1.cc,
+	tests/Powerset/affinedimension1.cc, tests/Powerset/affineimage1.cc,
+	tests/Powerset/affinepreimage1.cc, tests/Powerset/bounded1.cc,
+	tests/Powerset/bounds1.cc, tests/Powerset/closed1.cc,
+	tests/Powerset/closure1.cc, tests/Powerset/collapse1.cc,
+	tests/Powerset/concatenate1.cc, tests/Powerset/contains1.cc,
+	tests/Powerset/containsintegerpoint1.cc,
+	tests/Powerset/difference1.cc, tests/Powerset/discrete1.cc,
+	tests/Powerset/disjoint1.cc, tests/Powerset/disjunct1.cc,
+	tests/Powerset/empty1.cc, tests/Powerset/entails1.cc,
+	tests/Powerset/equals1.cc, tests/Powerset/frombdshape1.cc,
+	tests/Powerset/frombox1.cc, tests/Powerset/fromcongruences1.cc,
+	tests/Powerset/fromconstraints1.cc, tests/Powerset/fromgrid1.cc,
+	tests/Powerset/fromoctagonalshape1.cc,
+	tests/Powerset/frompolyhedron1.cc,
+	tests/Powerset/fromspacedimension1.cc,
+	tests/Powerset/intersection1.cc, tests/Powerset/maxmin1.cc,
+	tests/Powerset/meet1.cc, tests/Powerset/membytes1.cc,
+	tests/Powerset/powerset1.cc, tests/Powerset/reduce1.cc,
+	tests/Powerset/refinewith1.cc, tests/Powerset/relationwith1.cc,
+	tests/Powerset/simplifyusingcontext1.cc, tests/Powerset/size1.cc,
+	tests/Powerset/spacedims1.cc, tests/Powerset/universe1.cc,
+	tests/Powerset/upperbound1.cc, tests/README,
+	tests/Random_Number_Generator.defs.hh,
+	tests/Random_Number_Generator.inlines.hh,
+	tests/Random_Number_Generator.types.hh,
+	tests/Sparse_Matrix/Makefile.am,
+	tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc, tests/files.cc, tests/files.hh,
+	tests/ppl_test.cc, tests/ppl_test.hh, utils/Makefile.am,
+	utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh: 
+	Copyright notices updated.
+
+2011-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Makefile.am, NEWS, README, README.configure, STANDARDS,
+	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
+	Watchdog/configure.ac, Watchdog/doc/Makefile.am,
+	Watchdog/doc/README.doc, Watchdog/doc/devref.tex,
+	Watchdog/doc/pwl.sty, Watchdog/doc/user.tex,
+	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
+	Watchdog/src/Doubly_Linked_Object.inlines.hh,
+	Watchdog/src/Doubly_Linked_Object.types.hh,
+	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
+	Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
+	Watchdog/src/EList_Iterator.inlines.hh,
+	Watchdog/src/EList_Iterator.types.hh, Watchdog/src/Handler.defs.hh,
+	Watchdog/src/Handler.inlines.hh, Watchdog/src/Handler.types.hh,
+	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
+	Watchdog/src/Pending_Element.inlines.hh,
+	Watchdog/src/Pending_Element.types.hh,
+	Watchdog/src/Pending_List.defs.hh,
+	Watchdog/src/Pending_List.inlines.hh,
+	Watchdog/src/Pending_List.templates.hh,
+	Watchdog/src/Pending_List.types.hh,
+	Watchdog/src/Threshold_Watcher.cc,
+	Watchdog/src/Threshold_Watcher.defs.hh,
+	Watchdog/src/Threshold_Watcher.inlines.hh,
+	Watchdog/src/Threshold_Watcher.templates.hh,
+	Watchdog/src/Threshold_Watcher.types.hh, Watchdog/src/Time.cc,
+	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
+	Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
+	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
+	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
+	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
+	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
+	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
+	configure.ac, debian/libppl-pwl.copyright.in,
+	debian/libppl.copyright.in, demos/Makefile.am,
+	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
+	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
+	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
+	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/dummy.cc,
+	demos/ppl_lpsol/examples/Makefile.am,
+	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c,
+	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
+	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
+	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
+	demos/ppl_pips/ppl_pips_extra_man_text,
+	devtools/bump_copyright_years, devtools/generate_dox_biblio,
+	devtools/generate_dox_ci_prolog_manual,
+	devtools/generate_man_pages, devtools/print_nonascii_lines,
+	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
+	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
+	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
+	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
+	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh, instchk.hh,
+	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
+	interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh,
+	interfaces/C/ppl_c_implementation_common.inlines.hh,
+	interfaces/C/ppl_c_version.h.in,
+	interfaces/C/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_cc_files.m4,
+	interfaces/C/ppl_interface_generator_c_h.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/ppl_interface_generator_c_hh_files.m4,
+	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
+	interfaces/C/tests/Makefile.am,
+	interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
+	interfaces/C/tests/ppl_c_test.h,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h,
+	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
+	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
+	4, interfaces/Java/jni/ppl_java_common.cc,
+	interfaces/Java/jni/ppl_java_common.defs.hh,
+	interfaces/Java/jni/ppl_java_common.inlines.hh,
+	interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
+	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
+	ce.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
+	ow.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
+	entation.java,
+	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
+	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
+	interfaces/Java/parma_polyhedra_library/Coefficient.java,
+	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
+	interfaces/Java/parma_polyhedra_library/Congruence.java,
+	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
+	interfaces/Java/parma_polyhedra_library/Constraint.java,
+	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+	,
+	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
+	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
+	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+	,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	, interfaces/Java/parma_polyhedra_library/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
+	java,
+	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
+	nt.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
+	e.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
+	a,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
+	us.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
+	java,
+	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
+	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
+	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Name.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
+	er_Value.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
+	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
+	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
+	interfaces/Java/parma_polyhedra_library/Pair.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
+	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
+	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
+	interfaces/Java/parma_polyhedra_library/Variable.java,
+	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java.m4,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4,
+	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
+	4, interfaces/Java/tests/C_Polyhedron_test1.java,
+	interfaces/Java/tests/MIP_Problem_test1.java,
+	interfaces/Java/tests/Makefile.am,
+	interfaces/Java/tests/NNC_Polyhedron_test1.java,
+	interfaces/Java/tests/PIP_Problem_test1.java,
+	interfaces/Java/tests/PPL_Test.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
+	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
+	interfaces/Java/tests/Test_Executor.java,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
+	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
+	4, interfaces/Java/tests/ppl_java_tests_common,
+	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
+	interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
+	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/Makefile.am,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
+	interfaces/OCaml/tests/test1.ml,
+	interfaces/Prolog/Ciao/Makefile.am,
+	interfaces/Prolog/Ciao/ciao_cfli.hh,
+	interfaces/Prolog/Ciao/ciao_clpq.pl,
+	interfaces/Prolog/Ciao/ciao_clpq2.pl,
+	interfaces/Prolog/Ciao/ciao_efli.cc,
+	interfaces/Prolog/Ciao/ciao_efli.hh,
+	interfaces/Prolog/Ciao/ciao_pl_check.pl,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
+	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
+	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/GNU/Makefile.am,
+	interfaces/Prolog/GNU/gnu_pl_check.pl,
+	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
+	interfaces/Prolog/GNU/gp_clpq.pl,
+	interfaces/Prolog/GNU/gprolog_cfli.hh,
+	interfaces/Prolog/GNU/gprolog_efli.cc,
+	interfaces/Prolog/GNU/gprolog_efli.hh,
+	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
+	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/Makefile.am,
+	interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/SICStus/Makefile.am,
+	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
+	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SICStus/ppl_sicstus.pl,
+	interfaces/Prolog/SICStus/sicstus_cfli.cc,
+	interfaces/Prolog/SICStus/sicstus_cfli.h,
+	interfaces/Prolog/SICStus/sicstus_cfli.ic,
+	interfaces/Prolog/SICStus/sicstus_efli.cc,
+	interfaces/Prolog/SICStus/sicstus_efli.hh,
+	interfaces/Prolog/SICStus/sp_clpq.pl,
+	interfaces/Prolog/SICStus/sp_pl_check.pl,
+	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
+	interfaces/Prolog/SWI/Makefile.am,
+	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
+	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
+	interfaces/Prolog/SWI/ppl_pl.cc,
+	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/SWI/ppl_swiprolog.pl,
+	interfaces/Prolog/SWI/swi_cfli.hh,
+	interfaces/Prolog/SWI/swi_efli.cc,
+	interfaces/Prolog/SWI/swi_efli.hh,
+	interfaces/Prolog/SWI/swi_pl_check.pl,
+	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
+	interfaces/Prolog/XSB/Makefile.am,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
+	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
+	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/XSB/xsb_cfli.hh,
+	interfaces/Prolog/XSB/xsb_clpq.P,
+	interfaces/Prolog/XSB/xsb_clpq2.P,
+	interfaces/Prolog/XSB/xsb_efli.cc,
+	interfaces/Prolog/XSB/xsb_efli.hh,
+	interfaces/Prolog/XSB/xsb_pl_check.P,
+	interfaces/Prolog/YAP/Makefile.am,
+	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
+	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
+	interfaces/Prolog/YAP/ppl_yap.pl,
+	interfaces/Prolog/YAP/yap_cfli.hh,
+	interfaces/Prolog/YAP/yap_clpq.pl,
+	interfaces/Prolog/YAP/yap_clpq2.pl,
+	interfaces/Prolog/YAP/yap_efli.cc,
+	interfaces/Prolog/YAP/yap_efli.hh,
+	interfaces/Prolog/YAP/yap_pl_check.pl,
+	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
+	interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/Prolog/ppl_prolog_common.inlines.hh,
+	interfaces/Prolog/ppl_prolog_sysdep_dox,
+	interfaces/Prolog/ppl_prolog_sysindep_dox,
+	interfaces/Prolog/tests/Makefile.am,
+	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
+	interfaces/Prolog/tests/expected_clpq2_int16,
+	interfaces/Prolog/tests/expected_clpq2_int16_a,
+	interfaces/Prolog/tests/expected_clpq2_int32,
+	interfaces/Prolog/tests/expected_clpq2_int32_a,
+	interfaces/Prolog/tests/expected_clpq2_int64,
 	interfaces/Prolog/tests/expected_clpq2_int64_a,
 	interfaces/Prolog/tests/expected_clpq2_int8,
 	interfaces/Prolog/tests/expected_clpq2_int8_a,
@@ -696,7 +8735,9 @@
 	src/Bit_Row.inlines.hh, src/Bit_Row.types.hh, src/Boundary.defs.hh,
 	src/Box.cc, src/Box.defs.hh, src/Box.inlines.hh,
 	src/Box.templates.hh, src/Box.types.hh, src/Box_Status.idefs.hh,
-	src/Box_Status.inlines.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
+	src/Box_Status.inlines.hh, src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/CO_Tree.inlines.hh, src/CO_Tree.templates.hh,
+	src/CO_Tree.types.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
 	src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
 	src/C_Polyhedron.types.hh, src/Checked_Number.cc,
 	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
@@ -714,10 +8755,13 @@
 	src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
 	src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
 	src/DB_Matrix.types.hh, src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
-	src/DB_Row.templates.hh, src/DB_Row.types.hh,
-	src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	src/Determinate.types.hh, src/Float.cc, src/Float.defs.hh,
-	src/Float.inlines.hh, src/GMP_Integer.defs.hh,
+	src/DB_Row.templates.hh, src/DB_Row.types.hh, src/Dense_Matrix.cc,
+	src/Dense_Matrix.defs.hh, src/Dense_Matrix.inlines.hh,
+	src/Dense_Matrix.types.hh, src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/Dense_Row.templates.hh,
+	src/Dense_Row.types.hh, src/Determinate.defs.hh,
+	src/Determinate.inlines.hh, src/Determinate.types.hh, src/Float.cc,
+	src/Float.defs.hh, src/Float.inlines.hh, src/GMP_Integer.defs.hh,
 	src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
 	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
 	src/Generator.types.hh, src/Generator_System.cc,
@@ -791,9 +8835,15 @@
 	src/Rational_Interval.hh, src/Result.defs.hh,
 	src/Result.inlines.hh, src/Rounding_Dir.defs.hh,
 	src/Rounding_Dir.inlines.hh, src/Row.defs.hh, src/Row.types.hh,
-	src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
-	src/Scalar_Products.inlines.hh, src/Scalar_Products.types.hh,
-	src/Slow_Copy.hh, src/Temp.defs.hh, src/Temp.inlines.hh,
+	src/Row_Flags.cc, src/Row_Flags.defs.hh, src/Row_Flags.inlines.hh,
+	src/Row_Flags.types.hh, src/Scalar_Products.cc,
+	src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
+	src/Scalar_Products.types.hh, src/Slow_Copy.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Matrix.types.hh,
+	src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh,
+	src/Sparse_Row.types.hh, src/Temp.defs.hh, src/Temp.inlines.hh,
 	src/Temp.templates.hh, src/Topology.hh, src/Variable.cc,
 	src/Variable.defs.hh, src/Variable.inlines.hh,
 	src/Variable.types.hh, src/Variables_Set.cc,
@@ -914,18 +8964,20 @@
 	tests/Box/timeelapse1.cc, tests/Box/topclosed1.cc,
 	tests/Box/unconstrain1.cc, tests/Box/universe1.cc,
 	tests/Box/upperbound1.cc, tests/Box/upperboundifexact1.cc,
-	tests/Box/wrap1.cc, tests/Box/writebox1.cc, tests/Grid/Makefile.am,
-	tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
-	tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
-	tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
-	tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
-	tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
-	tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
-	tests/Grid/approximatepartition1.cc, tests/Grid/asciidumpload1.cc,
-	tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
-	tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
-	tests/Grid/asciidumpload6.cc, tests/Grid/bhz03widening1.cc,
-	tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
+	tests/Box/wrap1.cc, tests/Box/writebox1.cc,
+	tests/CO_Tree/Makefile.am, tests/CO_Tree/cotree1.cc,
+	tests/Grid/Makefile.am, tests/Grid/addcongruence1.cc,
+	tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
+	tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
+	tests/Grid/addgenerators1.cc, tests/Grid/addspacedims1.cc,
+	tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
+	tests/Grid/affineimage2.cc, tests/Grid/affinepreimage1.cc,
+	tests/Grid/affinepreimage2.cc, tests/Grid/approximatepartition1.cc,
+	tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
+	tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
+	tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
+	tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
+	tests/Grid/boundedaffineimage1.cc,
 	tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
 	tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
 	tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
@@ -1132,7 +9184,8 @@
 	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
 	tests/Polyhedron/contains1.cc, tests/Polyhedron/contains2.cc,
 	tests/Polyhedron/containsintegerpoint1.cc,
-	tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
+	tests/Polyhedron/densematrix1.cc, tests/Polyhedron/disjoint1.cc,
+	tests/Polyhedron/disjoint2.cc,
 	tests/Polyhedron/dropsomenonintegerpoints1.cc,
 	tests/Polyhedron/dropsomenonintegerpoints2.cc,
 	tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
@@ -1220,234 +9273,3028 @@
 	tests/Powerset/upperbound1.cc, tests/README,
 	tests/Random_Number_Generator.defs.hh,
 	tests/Random_Number_Generator.inlines.hh,
-	tests/Random_Number_Generator.types.hh, tests/files.cc,
-	tests/files.hh, tests/ppl_test.cc, tests/ppl_test.hh,
-	utils/Makefile.am, utils/build_header.in, utils/cm_cleaner.sh,
-	utils/cm_splitter.sh, utils/text2cxxarray.in, utils/timings.cc,
-	utils/timings.hh: Copyright notices updated.
+	tests/Random_Number_Generator.types.hh,
+	tests/Sparse_Matrix/Makefile.am,
+	tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc, tests/files.cc, tests/files.hh,
+	tests/ppl_test.cc, tests/ppl_test.hh, utils/Makefile.am,
+	utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
+	utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh: 
+	Copyright notices updated.
+
+2011-01-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 0fd2de73dd626465d1c77d925eb63e2adb639648 Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Sat Jan 8 17:23:18 2011
+	+0100
+
+2011-01-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.inlines.hh: Cyclic dependency avoided.
+
+2011-01-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.defs.hh: Fixed documentation copy-and-paste error.
+
+2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Interval.templates.hh, src/Octagonal_Shape.templates.hh,
+	src/PIP_Problem.inlines.hh, src/PIP_Tree.cc,
+	src/Partially_Reduced_Product.inlines.hh,
+	src/Partially_Reduced_Product.templates.hh,
+	src/Polyhedron_public.cc, src/conversion.cc, src/globals.inlines.hh: 
+	Replaced several occurrences of assert() by PPL_ASSERT().
+
+2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/termination.cc: Added missing parameter documentation.
+
+2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* doc/Makefile.am: Do not build documentation for interfaces that
+	are not enabled.
+
+2011-01-05  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* interfaces/Prolog/YAP/yap_prolog_generated_test.pl: Added missing
+	`use_module' directive.
+
+2010-12-30  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: 
+	Dense_Row: simplify the exception safety implementation by using an
+	implementation subobject.
+
+2010-12-27  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.inlines.hh: Dense_Row: improve
+	exception safety in constructors.
+
+2010-12-27  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc: Dense_Row: remove useless debugging code from
+	the OK() method.
+
+2010-12-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Constraint.inlines.hh, src/Dense_Matrix.cc, src/Dense_Row.cc,
+	src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Generator.inlines.hh, src/Linear_Row.cc,
+	src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh: Dense_Row, Sparse_Row, Linear_Row: modify
+	the flags' getter and setter methods, to follow strict aliasing
+	rules.
+
+2010-12-25  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/Linear_Expression.cc,
+	src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
+	src/Linear_System.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh: Dense_Row, Sparse_Row: remove the
+	construct() methods and add a constructor from Flags. Update client
+	code.
+
+2010-12-25  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.cc, src/Dense_Matrix.inlines.hh,
+	src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Dense_Row.types.hh: Dense_Row: simplify the internal
+	representation and implementation.
+
+2010-12-24  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Sparse_Row.defs.hh: Avoid a couple of doxygen warnings.
+
+2010-12-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.templates.hh: Memory leaks fixed.  (Patch by Marco
+	Poletti.)
+
+2010-12-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Updated.
+
+2010-12-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/MIP_Problem.inlines.hh, src/MIP_Problem.templates.hh: Added a
+	workaround to a space efficiency bug affecting MIP_Problem.  The
+	baseline patch has been contributed by Marco Poletti.  MIP_Problem now stores the input constraints as a sequence of
+	Constraint*.  In this sequence, we distinguish between owned
+	constraints (whose resources are under control of the current
+	MIP_Problem object) and inherited constraints (whose resources are
+	shared with, and owned by, another MIP_Problem object).  When
+	starting a branch-and-bound computation looking for an integral
+	feasible/optimal solution, we now inherit (rather than copy) the
+	input constraints.  The workaround greatly improves space/time efficiency on (mixed)
+	integral problems, also providing a (simple and reasonable) partial
+	solution to     https://www.cs.unipr.it/mantis/view.php?id=62 The solution is still partial: a complete solution requires the
+	implementation of a backtracking mechanism for incrementally added
+	constraints.
+
+2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_sicstus_prolog.m4: Obsolete comment removed.
+
+2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: No longer include BD_Shape<int8_t> among the
+	instantiations enabled by default.
+
+2010-12-19  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* m4/ac_check_sicstus_prolog.m4, m4/ac_check_xsb_prolog.m4: Replaced
+	$(cmd) with `cmd` in m4 autoconf files.
+
+2010-12-11  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* doc/definitions.dox, instchk.hh, tests/Powerset/powerset1.cc: 
+	Avoid using identifier PS, since Solaris has a macro with that name.
+
+2010-12-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.inlines.hh: Fixed a problem involving a missing
+	iostream inclusion.
+
+2010-12-02  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Linear_Form.inlines.hh: Added a proposed implementation for
+	ascii_dump() and ascii_load().
+
+2010-11-30  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/digitalfilters1.cc,
+	tests/Concrete_Expression/linearize.cc: Replaced
+	Integer_Interval_Type with Integer_Interval in tests.
+
+2010-11-30  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/linearize.hh: Fixed a few cut-and-paste errors in the
+	documentation.
+
+2010-11-30  Fabio Bossi <bossi at cs.unipr.it>
+
+	* doc/devref.doxyconf-html.in, src/Concrete_Expression.defs.hh,
+	src/Integer_Interval.hh, src/Makefile.am: Renamed
+	Integer_Interval_Type into Integer_Interval and moved it to
+	Integer_Interval.hh.
+
+2010-11-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.templates.hh, src/Linear_Form.templates.hh: Use ldexp
+	instead of ldexpl for portability reasons.
+
+2010-11-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Float.templates.hh, src/Linear_Form.templates.hh: Inclusions
+	of <cmath> fixed.
+
+2010-11-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 6ba7085042a9983395f1b15daa1bf88b68a48eff Author: Fabio
+	Bossi <bossi at cs.unipr.it> Date:   Sat Oct 23 14:48:50 2010 +0200
+
+2010-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am: Properly quote the assignment
+	MAKE=$(MAKE).  (Thanks to Volker Braun.)
+
+2010-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/Concrete_Expression/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am: Properly quote the assignment
+	MAKE=$(MAKE).  (Thanks to Volker Braun.)
+
+2010-10-19  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh,
+	tests/Concrete_Expression/octagonalshape1.cc: Reflect latest changes
+	to affine_image into affine_form_image.
+
+2010-10-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Updated list of bug fixes.
+
+2010-10-19  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* : commit 5c95fc0eab6a38442751ed16c6cfa9d538917f3f Author: Enea
+	Zaffanella <zaffanella at cs.unipr.it> Date:   Tue Oct 19 08:15:12 2010
+	+0200
+
+2010-10-18  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh: Fixed a bug.
+
+2010-10-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: remove
+	the unused assign() method.
+
+2010-10-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh: Sparse_Matrix: add some methods, to be
+	fully compatible with Dense_Matrix.
+
+2010-10-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh: Sparse_Row: add some methods, to be fully
+	compatible with Dense_Row.
+
+2010-10-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add a
+	max_size() static method.
+
+2010-10-16  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit ff5b0796773b34ef9d1e26d2a40b4fdb8376dc8f Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Oct 16 09:11:15 2010 +0200
+
+2010-10-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Matrix.defs.hh: Documented precondition of method
+	Bit_Matrix::remove_trailing_columns().
+
+2010-10-10  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Bit_Matrix.cc: In method Bit_Matrix::OK(), do also check the
+	first Bit_Row.
+
+2010-10-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/linearize.hh: Added two FIXME notes.
+
+2010-10-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/linearize.hh: Never add a rounding error when casting 1.
+
+2010-10-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/linearize.hh: Never add a rounding error when casting the 0
+	value.
+
+2010-10-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc: Sparse_Row: optimize linear_combine(), avoiding
+	the insertion of too many elements.
+
+2010-10-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.defs.hh, src/Sparse_Matrix.defs.hh: Dense_Matrix,
+	Sparse_Matrix: remove useless typedefs for row_type.
+
+2010-10-01  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix comment.
+
+2010-09-29  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh: 
+	Always use marked_empty() instead of is_empty() after a closure.
+
+2010-09-27  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/CO_Tree.templates.hh: CO_Tree: rename the size field into size_,
+	and add a size() method.
+
+2010-09-27  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: avoid shadowing a field with a local
+	variable, in external_memory_in_bytes().
+
+2010-09-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh: Dense_Row: mark the constructor from a
+	Sparse_Row as explicit.
+
+2010-09-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh: Sparse_Row: add an
+	assignment operator from a Dense_Row.
+
+2010-09-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc: Sparse_Row: copy flags too, in the constructor
+	from a Dense_Row.
+
+2010-09-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh: Dense_Row: add a
+	constructor and an assignment operator that take a Sparse_Row.
+
+2010-09-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.templates.hh, src/Sparse_Row.cc: 
+	CO_Tree: fix bug in the constructor from a sequence and remove its
+	second argument, it is used in assertions only.
+
+2010-09-29  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh: Added
+	generalized_refine_with_linear_form_inequality.
+
+2010-09-29  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.templates.hh: Added missing emptiness checks.
+
+2010-09-29  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/BD_Shape.defs.hh, src/BD_Shape.templates.hh: Implemented
+	export_interval_constraints.
+
+2010-09-26  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 0bb0a14d690bda10c0893e11b6019128b3c4908e Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Fri Sep 24 19:48:27 2010 +0200
+
+2010-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* Watchdog/m4/libtool.m4, Watchdog/m4/ltversion.m4, m4/libtool.m4,
+	m4/ltversion.m4: Updated.
+
+2010-09-24  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
+	Watchdog/config.guess, Watchdog/config.sub, Watchdog/ltmain.sh,
+	compile, config.guess, config.sub, ltmain.sh: Updated.
+
+2010-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Temporarily pass a raw value
+	instead of a checked number for simplicity.
+
+2010-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.templates.hh: Use is_empty instead of
+	marked_empty for maximum safety.
+
+2010-09-23  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh: 
+	Added method export_interval_constraints.
+
+2010-09-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit d8484a4794afafb978c01c718ea784465d835171 Author: Marco
+	Poletti <poletti.marco at gmail.com> Date:   Mon Sep 20 20:20:16 2010
+	+0200
+
+2010-09-20  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Constraint_System.cc, src/Dense_Matrix.defs.hh,
+	src/Dense_Matrix.inlines.hh, src/Generator_System.cc,
+	src/Grid_chdims.cc, src/Grid_simplify.cc, src/Linear_System.cc,
+	src/MIP_Problem.cc, src/PIP_Tree.cc, src/Polyhedron.templates.hh,
+	src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
+	src/Sparse_Matrix.defs.hh, src/Sparse_Matrix.inlines.hh,
+	src/conversion.cc, src/simplify.cc: Dense_Matrix, Sparse_Matrix:
+	rename the erase_to_end() method into remove_trailing_rows(),
+	changing the argument's meaning.
+
+2010-09-20  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Grid_Generator_System.defs.hh,
+	src/Grid_Generator_System.inlines.hh: Grid_Generator_System: remove
+	unused erase_to_end() private method.
+
+2010-09-20  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.templates.hh: Fix comment.
+
+2010-09-20  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.inlines.hh: Sparse_Row: weaken the lower_bound()
+	requirements on the argument.
+
+2010-09-20  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc: Sparse_Row: make the constructor from a
+	Dense_Row work even when Coefficient_traits::const_reference is
+	Coefficient.
+
+2010-09-19  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: MIP_Problem: add a
+	linear_combine() method that takes a Dense_Row and a Sparse_Row, to
+	re-allow dense working costs with sparse matrices.
+
+2010-09-19  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: add assertion.
+
+2010-09-19  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: use working_cost_type instead of
+	using Row directly. Remove unnecessary specialized implementation
+	for sparse working costs.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/MIP_Problem.cc, src/PIP_Problem.cc, src/PIP_Tree.cc,
+	src/Sparse_Matrix.defs.hh, src/Sparse_Row.cc,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/Sparse_Row.templates.hh: Sparse_Row, Dense_Row: rename
+	find_create() methods into insert().
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row: add documentation.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/Sparse_Matrix/sparserow1.cc: test/Sparse_Matrix: add test
+	for the Sparse_Row's constructor from a Dense_Row.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh: Sparse_Row: add a
+	constructor from a Dense_Row.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.templates.hh, src/Makefile.am: 
+	CO_Tree: add a constructor from a sequence of elements.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Makefile.am: src/Makefile.am: remove duplicate filenames from
+	the list.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/Sparse_Matrix.defs.hh, src/Sparse_Row.defs.hh: Indentation
+	fixes, mainly to avoid line wraps.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.defs.hh: Fix typo in comment.
+
+2010-09-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* : Merge remote branch 'origin/master' into sparse_matrices
+
+2010-09-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* : Merge remote branch 'origin/master' into sparse_matrices Conflicts: 	src/MIP_Problem.cc
+
+2010-09-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/PIP_Tree.cc: Prefer neg_assign to the use
+	of unary minus on Coefficient objects.  Use add_mul_assign even in
+	code only activated during debugging.
+
+2010-09-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Mention the correction of an efficiency bug in the C
+	interface.
+
+2010-09-17  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 90d9338c35f62fa89a86c3b7192b2fa8172d1b20 Merge: ff67a6b
+	d91c33b Author: Marco Poletti <poletti.marco at gmail.com> Date:   Thu
+	Sep 16 21:08:52 2010 +0200
+
+2010-09-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix performance bug in
+	compute_generator().
+
+2010-09-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* interfaces/C/ppl_c_implementation_common.cc: 
+	ppl_c_implementation_common: fix performance bug in
+	ppl_Linear_Expression_add_to_coefficient.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove useless reset() from
+	linear_conbine().
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh: Sparse_Row: optimize
+	the linear_combine() method.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.templates.hh: Sparse_Row: don't create stored
+	zeroes in combine_needs_second().
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row: document that linear_combine()
+	parameters must not be 0.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: use Row::linear_combine() in
+	linear_combine().
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh: Sparse_Row: add a
+	linear_combine() method.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh: Dense_Row: add a
+	linear_combine() method.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove some optimizations meant
+	for dense matrices when using sparse matrices.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: remove useless code.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: remove unnecessary temporary variables.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Matrix.defs.hh, src/Matrix.types.hh, src/Row.defs.hh,
+	src/Row.types.hh: Row, Matrix: avoid inclusion of unnecessary files.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/Sparse_Matrix/sparsematrix1.cc,
+	tests/Sparse_Matrix/sparserow1.cc: tests/Sparse_Matrix: run the
+	tests only when using sparse matrices.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: CO_Tree: run tests only when using
+	sparse matrices, avoiding compiler errors.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: PIP_Tree: use Row and
+	Matrix, simplifying code.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: PIP_Problem: use Row
+	and Matrix, simplifying code.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree.defs.hh: include CO_Tree.types.hh.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh, src/Makefile.am,
+	src/Matrix.defs.hh, src/Matrix.types.hh, src/Row.defs.hh,
+	src/Row.types.hh: Declare typedefs for Row and Matrix, and use them
+	in MIP_Problem.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* : Merge remote branch 'origin/master' into sparse_matrices Conflicts: 	src/MIP_Problem.cc
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: return if there are no candidates, in
+	find_lexico_minimum_column().
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Problem.cc: PIP_Problem: declare iterators used in for
+	loops in the loop header.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: declare iterators used in for loops in
+	the loop header.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove non-necessary temporary
+	variables.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove out-dated comment.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: declare iterators used in for
+	loops in the loop header.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/globals.defs.hh: Make PPL_DIRTY_TEMP_COEFFICIENT work outside
+	the PPL namespace, too.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: add comment.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize further
+	steepest_edge_exact_entering_index() for sparse working_cost rows.
+
+2010-09-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: use a hint iterator for
+	insertions in working_cost, in process_pending_constraints().
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize further
+	steepest_edge_float_entering_index() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	process_pending_constraints() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize second_phase() for
+	sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix regression in
+	textbook_entering_index(), introduced in commit 6880A6.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize second_phase() for
+	sparse working_cost rows (#4).
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: avoid an unnecessary copy of the
+	working_cost row, in second_phase().
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize second_phase() for
+	sparse working_cost rows (#3).
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize second_phase() for
+	sparse working_cost rows (#2).
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize second_phase() for
+	sparse working_cost rows (#1).
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: little optimizations for sparse
+	working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	textbook_entering_index() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	steepest_edge_float_entering_index() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	steepest_edge_exact_entering_index() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	process_pending_constraints() for sparse working_cost rows.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.inlines.hh: Sparse_Row: add some assertions.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: MIP_Problem: use a
+	sparse working_cost when using sparse matrices.
+
+2010-09-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row: add
+	a constructor and two copy-constructors that take a capacity
+	parameter.
+
+2010-09-13  Fabio Bossi <bossi at cs.unipr.it>
+
+	* tests/Concrete_Expression/Makefile.am,
+	tests/Concrete_Expression/digitalfilters1.cc: Adapted tests on
+	digital filters to latest changes.
+
+2010-09-13  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.defs.hh, src/linearize.hh,
+	tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/linearize.cc: Do not fail automatically
+	when linearizing approximable references having more than one
+	associated dimension.
+
+2010-09-13  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Concrete_Expression.defs.hh, src/Float.defs.hh,
+	src/Linear_Form.defs.hh, src/Linear_Form.templates.hh,
+	src/linearize.hh, tests/Concrete_Expression/C_Expr.defs.hh,
+	tests/Concrete_Expression/C_Expr.inlines.hh,
+	tests/Concrete_Expression/Makefile.am,
+	tests/Concrete_Expression/linearform1.cc,
+	tests/Concrete_Expression/linearize.cc: Use an oracle to obtain
+	information from an external analyzer in the linearization function.  Temporarily disabled test digitalfilters.
+
+2010-09-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: improve a little bit the
+	get_exiting_base_index() performance.
+
+2010-09-09  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README.alpha, tests/BD_Shape/disjoint1.cc,
+	tests/Box/congruences1.cc, tests/Box/max_min1.cc,
+	tests/Box/relations4.cc, tests/Grid/addcongruences1.cc,
+	tests/MIP_Problem/exceptions1.cc,
+	tests/Octagonal_Shape/affineimage1.cc,
+	tests/Octagonal_Shape/boundedaffineimage1.cc,
+	tests/Octagonal_Shape/cc76extrapolation1.cc,
+	tests/Octagonal_Shape/difference1.cc,
+	tests/Octagonal_Shape/disjoint1.cc,
+	tests/Octagonal_Shape/generalizedaffineimage3.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
+	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
+	tests/Octagonal_Shape/unconstrain1.cc,
+	tests/Polyhedron/exceptions2.cc: Reflected the changes in
+	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8966
+
+2010-09-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: don't copy Coefficient objects to
+	cache accesses, in steepest_edge_exact_entering_index().
+
+2010-09-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS: Mentioned the fix to Interval::Interval(const char*).
+
+2010-09-08  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 3e2fe287b4efd3b58127951793cc00ffe0ca21c0 Author: Abramo
+	Bagnara <abramo.bagnara at gmail.com> Date:   Tue Sep 7 23:13:17 2010
+	+0200
+
+2010-09-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Announced a couple of new features and bugfixes.
+
+2010-09-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* NEWS: Mention the use of sparse matrices in MIP and PIP solvers.
+
+2010-09-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix some debug messages and
+	comments, in OK().
+
+2010-09-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix typos in some debug messages
+	and comments, in OK().
+
+2010-09-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 3c68d508caa260d4dc59b5f6922fe6a0079d6eef Author: Fabio
+	Bossi <bossi at cs.unipr.it> Date:   Tue Sep 7 17:51:07 2010 +0200
+
+2010-09-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* tests/PIP_Problem/pipproblem1.cc: test06 fails with 8-bit
+	coefficients.
+
+2010-09-07  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 384f089de7b9464efddf008a02d773af6ae213ea Author: Marco
+	Poletti <poletti.marco at gmail.com> Date:   Sun Sep 5 19:33:59 2010
+	+0200
+
+2010-09-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/Sparse_Matrix/sparsematrix1.cc: tests/Sparse_Matrix: modify
+	the tests so that they pass even when using 8-bit coefficients.
+
+2010-09-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: use DO_TEST_F8 when a
+	test is expected to fail with 8-bit coefficients.
+
+2010-09-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: work when
+	Coefficient_traits::const_reference is just Coefficient, losing some
+	performance when it's not.
+
+2010-09-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: work when
+	Coefficient_traits::const_reference is just Coefficient, losing some
+	performance when it's not.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: work even when
+	data_type_const_reference is `data_type' instead of `const
+	data_type&'.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	dfs_index() methods.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: add data_type_const_reference typedef and use it instead of
+	const data_type&.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh: Sparse_Row: use
+	Coefficient_traits::const_reference instead of const Coefficient&.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: 
+	Dense_Row: use Coefficient_traits::const_reference instead of const
+	Coefficient&.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: use Coefficient_traits::const_reference
+	instead of const Coefficient&.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Problem.cc: PIP_Problem: use
+	Coefficient_traits::const_reference instead of const Coefficient&.
+
+2010-09-04  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: use
+	Coefficient_traits::const_reference instead of const Coefficient&.
+
+2010-09-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix compilation when
+	Coefficient_traits::const_reference is not `const Coefficient&'.
+
+2010-09-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* : commit 7d4b9abcd12085a554123d1dda6efc7d09037896 Author: Marco
+	Poletti <poletti.marco at gmail.com> Date:   Fri Sep 3 20:29:20 2010
+	+0200
+
+2010-09-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: rename index() method into dfs_index().
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int16_a,
+	demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64_a,
+	demos/ppl_lpsol/expected_int8_a: Expected results updated.
+
+2010-09-03  Marco Poletti <poletti.marco at gmail.com>
+
+	* : commit 14c85a1607cf3ccfbf016ae5ea808dafffa37d04 Merge: 47946c5
+	bc0f52b Author: Marco Poletti <poletti.marco at gmail.com> Date:   Fri
+	Sep 3 16:14:56 2010 +0200
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int32,
+	demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int8: 
+	Updated expected results.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit c9b9ee534d533869f1c5951c9909b04eeb60325b Merge: 22520a5
+	533049e Author: Roberto Bagnara <bagnara at cs.unipr.it> Date:   Fri
+	Sep 3 15:36:02 2010 +0200
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number fixed.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* CREDITS: Revised Marco Poletti's entry.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/globals.defs.hh: By default, use sparse matrices both for
+	MIP_Problem and PIP_Problem.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/globals.defs.hh: Slight improvement to the selection mechanism
+	for sparse and dense matrices.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+2010-09-03  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 22520a5a072e6b1641b6a94585eb20c6b1cec2e8 Author: Fabio
+	Bossi <bossi at cs.unipr.it> Date:   Fri Sep 3 11:03:16 2010 +0200
+
+2010-09-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, tests/Polyhedron/numberinput1.cc: 
+	Improved documentation for number input routine.  Added another
+	couple of tests.
+
+2010-09-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/checked.cc, tests/Polyhedron/numberinput1.cc: Let the input
+	routine accept floating-point syntax starting with ".".
+
+2010-08-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Checked_Number.defs.hh, src/checked.cc,
+	tests/Polyhedron/numberinput1.cc: Let the input routine for checked
+	numbers accepts C99 hexadecimal float syntax.
+
+2010-08-31  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: fix compilation with
+	--enable-assertions and without --enable-more-assertions.
+
+2010-08-30  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit eac65c875791c7ad6065a918cada3783f487f706 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Mon Aug 30 09:20:53 2010 +0200
+
+2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit f078b9a6bcc0c1fa82d474e676e82a8e5dd8d319 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sun Aug 29 14:32:07 2010 +0200
+
+2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: For checking purposes, use the exact
+	LP solver of GLPK.
+
+2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* README, demos/ppl_lpsol/Makefile.am,
+	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c, doc/ppl-config.1: When the `--check'
+	option is used, input data is perturbed the same way as GLPK does.
+
+2010-08-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: Do also read the inhomogeneous term
+	of the objective function.  This should allow for a (almost) meaningful comparison with the
+	optimizied value computed by glpk when using command line option -c.  Also corrected a minor bug in the output routine for the objective
+	function (an open parenthesis was sometimes missing).
+
+2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit f75832a600dfb6af890af3fb94cb99500d7e5de4 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Aug 28 14:31:18 2010 +0200
+
+2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 95a83d824c7ffd8f61f627fab3aa22dae3a65fcf Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Aug 28 14:11:34 2010 +0200
+
+2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* : commit 309c66893fcd97c6a648ef72cbc1b3fed07defe6 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Sat Aug 28 14:05:20 2010 +0200
+
+2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: Fixed the argument type of
+	limit_virtual_memory(): should be unsigned long.
+
+2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/ppl_lpsol.c: Augment the precision with which
+	floating point numbers are printed in error messages.
+
+2010-08-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve code in rebalance().
+
+2010-08-26  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh, src/Sparse_Matrix.inlines.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh: CO_Tree,
+	Sparse_Row, Sparse_Matrix: remove unnecessary includes.
+
+2010-08-25  Marco Poletti <poletti.marco at gmail.com>
+
+	* : Merge remote branch 'origin/master' into sparse_matrices
+
+2010-08-25  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* demos/ppl_lpsol/Makefile.am: Added $(top_builddir)/src/libppl.la
+	to ppl_lpsol_LDADD.
+
+2010-08-25  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix performance regression in
+	steepest_edge_float_entering_index().
+
+2010-08-25  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix performance regression in
+	steepest_edge_exact_entering_index(), when using dense matrices.
+
+2010-08-24  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: tune density thresholds.
+
+2010-08-24  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: MIP_Problem: avoid
+	unnecessary typedefs.
+
+2010-08-24  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix performance regression in the
+	dense version of linear_combine().
+
+2010-08-24  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix performance regression in
+	steepest_edge_float_entering_index(), when using dense matrices.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: document that
+	min_leaf_density_percent must be greater than zero.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row: document that hint iterators
+	must be valid and point to that row.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: be exception-safe.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: perform checks that need an ABI change only when
+	PPL_ABI_BREAKING_EXTRA_DEBUG is defined.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: rename
+	PPL_ROW_EXTRA_DEBUG macro into PPL_DENSE_ROW_EXTRA_DEBUG.
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/Sparse_Row.inlines.hh,
+	tests/CO_Tree/cotree1.cc: CO_Tree: rename increase_keys_after()
+	method into increase_keys_from().
+
+2010-08-22  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Dense_Row.defs.hh,
+	src/MIP_Problem.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh: Improve Doxygen documentation.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Matrix.inlines.hh: Sparse_Matrix:
+	do not inline complex methods.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh: Sparse_Matrix: reorder method
+	declarations and definitions.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row: fix documentation for
+	lower_bound() methods.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.inlines.hh: Sparse_Row: do not
+	inline complex methods.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh: Sparse_Row: reorder method declarations
+	and definitions.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.defs.hh: Sparse_Matrix: improve documentation,
+	adapting to changes in Sparse_Row methods' complexity.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row: improve documentation,
+	adapting to changes in CO_Tree methods' complexity.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: improve documentation, fixing the
+	complexities of insertions and deletions.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh: MIP_Problem: remove
+	row_type typedef, to avoid confusion with matrix_type::row_type.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: do not use reset() on Dense_Row
+	object, to avoid confusion.
+
+2010-08-21  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix documentation of
+	min_density_percent.
+
+2010-08-19  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: simplify code in
+	steepest_edge_float_entering_index().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	steepest_edge_exact_entering_index().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	steepest_edge_float_entering_index().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: optimize count_used_in_subtree().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: optimize
+	compact_elements_in_the_rightmost_end().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: add comments about some optimizations.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: document the preconditions of
+	copy_data_from().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: add assertion in copy_data_from().
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	is_before_begin() methods.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: remove unnecessary include for
+	iostream.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.templates.hh, src/Makefile.am, src/PIP_Problem.cc,
+	src/PIP_Tree.cc, src/Row_Flags.cc, src/Row_Flags.defs.hh,
+	src/Row_Flags.inlines.hh, src/Row_Flags.types.hh,
+	src/Sparse_Row.defs.hh, tests/Sparse_Matrix/sparsematrix1.cc: Move
+	Dense_Row::Flags out of Row class, renaming it as Row_Flags.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	src/Bit_Matrix.cc, src/Congruence.cc, src/Congruence.defs.hh,
+	src/Congruence.inlines.hh, src/Congruence_System.cc,
+	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
+	src/Constraint.cc, src/{Matrix.cc => Dense_Matrix.cc},
+	src/{Matrix.defs.hh => Dense_Matrix.defs.hh},
+	src/{Matrix.inlines.hh => Dense_Matrix.inlines.hh},
+	src/{Row.types.hh => Dense_Matrix.types.hh}, src/{Row.cc =>
+	Dense_Row.cc}, src/{Row.defs.hh => Dense_Row.defs.hh},
+	src/{Row.inlines.hh => Dense_Row.inlines.hh}, src/{Row.templates.hh
+	=> Dense_Row.templates.hh}, src/{Matrix.types.hh =>
+	Dense_Row.types.hh}, src/Generator.defs.hh, src/Grid.defs.hh,
+	src/Grid_Generator.cc, src/Grid_Generator_System.cc,
+	src/Linear_Row.cc, src/Linear_Row.defs.hh,
+	src/Linear_Row.inlines.hh, src/Linear_System.cc,
+	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
+	src/MIP_Problem.cc, src/MIP_Problem.defs.hh,
+	src/MIP_Problem.templates.hh, src/Makefile.am, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
+	src/Sparse_Row.defs.hh, tests/Polyhedron/Makefile.am,
+	tests/Polyhedron/{matrix1.cc => densematrix1.cc},
+	tests/Polyhedron/memory2.cc, tests/Sparse_Matrix/sparsematrix1.cc: 
+	Rename Row and Matrix into Dense_Row and Dense_Matrix.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
+	src/Makefile.am, src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh,
+	src/Unlimited_Sparse_Row.cc, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh,
+	src/Unlimited_Sparse_Row.types.hh: Sparse_Row: merge with
+	Unlimited_Sparse_Row and remove the Unlimited_Sparse_Row class.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh: Sparse_Matrix:
+	remove remaining references to Unlimited_Sparse_Row.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Sparse_Row.templates.hh,
+	src/Sparse_Row.types.hh: Remove the Sparse_Row_Reference class.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc, src/MIP_Problem.defs.hh, src/Matrix.defs.hh,
+	src/PIP_Problem.cc, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/Sparse_Matrix.defs.hh: Matrix, Sparse_Matrix: remove rendundant
+	typedefs. Don't use such typedefs in MIP_Problem, PIP_Problem and
+	PIP_Tree.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh: Sparse_Matrix: change the type of the
+	rows from Unlimited_Sparse_Row to Sparse_Row.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row: add
+	external_memory_in_bytes() method.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row: add
+	delete_element_and_shift() and add_zeroes_and_shift() methods.
+
+2010-08-18  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row: add
+	a reset() method that takes an index.
+
+2010-08-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.cc, src/Dense_Matrix.defs.hh,
+	src/Dense_Matrix.inlines.hh, src/Dense_Matrix.types.hh,
+	src/Dense_Row.cc, src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Dense_Row.types.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/MIP_Problem.templates.hh,
+	src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
+	src/PIP_Problem.cc, src/PIP_Problem.defs.hh, src/PIP_Tree.cc,
+	src/PIP_Tree.defs.hh, src/Row.cc, src/Row.defs.hh,
+	src/Row.inlines.hh, src/{Dense_Row.templates.hh =>
+	Row.templates.hh}, src/Sparse_Matrix.cc, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh,
+	tests/Sparse_Matrix/sparsematrix1.cc: Many changes, mainly the merge
+	of Row with Dense_Row and Matrix with Dense_Matrix: * Merge Dense_Row into Row * Merge Dense_Matrix into Matrix * Handle flags in Unlimited_Sparse_Row and Sparse_Row
+
+2010-08-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Row.defs.hh: Row: remove friend declaration in Flags.
+
+2010-08-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in: Make
+	Doxygen process documentation of CO_Tree, Unlimited_Sparse_Row,
+	Sparse_Row, Sparse_Matrix, Dense_Row and Dense_Matrix.
+
+2010-08-17  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Unlimited_Sparse_Row.defs.hh: CO_Tree,
+	Unlimited_Sparse_Row, Sparse_Row, Sparse_Matrix: fix math
+	expressions in Doxygen comments.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.cc, src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh: Dense_Row: derive from Row instead of
+	containing a private Row object.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.defs.hh: Use 'where * is' instead of 'with
+	*' when commenting math formulas in Doxygen comments.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: compute external
+	memory handled by Coefficient objects in external_memory_in_bytes().
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh: Unlimited_Sparse_Row: remove
+	for_each_nonzero() methods.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: 
+	Sparse_Row_Reference: remove for_each_nonzero() methods.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.defs.hh, src/Sparse_Matrix.inlines.hh: 
+	Sparse_Matrix: remove for_each_row() methods.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: remove
+	for_each_nonzero() methods.
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: don't use for_each_nonzero() in
+	process_pending_constraints()
+
+2010-08-16  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Unlimited_Sparse_Row.defs.hh: CO_Tree,
+	Unlimited_Sparse_Row, Sparse_Row, Sparse_Row_Reference,
+	Sparse_Matrix: document time complexity of all methods.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.defs.hh: CO_Tree, Sparse_Row,
+	Unlimited_Sparse_Row: document that hint iterators must be valid and
+	point to that object.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	the reset() method that takes two dimension_type arguments, it's
+	rendundant and unused.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: 
+	Sparse_Row_Reference: remove the reset() method that takes two
+	dimension_type arguments, it's rendundant and unused.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	unused and rendundant methods: assign() and assign_if_nonzero().
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: remove unused and rendundant methods: assign()
+	and assign_if_nonzero().
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/Sparse_Matrix/Makefile.am,
+	tests/Sparse_Matrix/sparserow1.cc: tests/Sparse_Matrix: add
+	sparserow1 test.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.defs.hh, src/Sparse_Matrix.defs.hh: Dense_Matrix,
+	Sparse_Matrix: update permute_columns() documentation to match the
+	one in Matrix.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* : Merge remote branch 'origin/master' into sparse_matrices
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.inlines.hh: Sparse_Matrix: allow passing a row
+	of the same matrix to add_row().
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.defs.hh, src/Sparse_Matrix.inlines.hh: 
+	Sparse_Matrix::iterator: add operator=(), operator==() and
+	operator!=().
+
+2010-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Matrix.defs.hh: Improved doxygen docs for
+	Matrix::permute_columns().
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: add more tests.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: remove follow_{left,right}_childs() methods.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: remove comparison operators with an
+	iterator.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix style of Doxygen comment.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: remove before-beginning state from iterator and
+	const_iterator.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: add constructor from a tree and an index.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	is_before_begin() methods.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	before_begin() methods and update documentation.
+
+2010-08-15  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: remove before_begin() methods and update
+	documentation.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: add more tests.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: simplify the insert() method.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: make the
+	precondition of rebuild_smaller_tree() stronger.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make the
+	precondition of redistribute_elements_in_subtree() stronger.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make the
+	precondition of compact_elements_in_the_rightmost_end() stronger.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: make assertion stronger, in rebalance().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: remove
+	least_common_ancestor().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use least_common_ancestor() in
+	erase().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use clear() in erase().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: turn always-false condition into
+	assertion.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: CO_Tree: add some tests.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: remove the
+	constructor from an std::vector.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	the constructor from an std::vector.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row:
+	remove the constructor from an std::vector.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: avoid warning in release mode.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: avoid warnings in release mode.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row, Sparse_Row_Reference: make
+	OK() methods private.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: document return value of
+	bisect_near() when the tree is empty.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.cc: Unlimited_Sparse_Row: remove FIXME.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: optimize update_solution().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef and
+	optimize code, in generate_cut() (#3).
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef and
+	optimize code, in generate_cut() (#2).
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef and
+	optimize code, in generate_cut().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: optimize generate_cut() (#2).
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: optimize generate_cut() (#1).
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: simplify code in solve().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: optimize the solve() method.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef and
+	simplify code in solve() (#2).
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef and
+	simplify code in solve().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: simplify code in solve().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node: remove unused #ifdef(s) and
+	simplify code, in update_tableau().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree_Node: improve indentation and code
+	readability in compatibility_check().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree_Node: remove unused #ifdef in
+	compatibility_check().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node::Tableau: optimize and simplify
+	code in is_better_pivot().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Solution_Node::Tableau: simplify code in
+	scale().
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: optimize
+	process_pending_constraints() for sparse matrices.
+
+2010-08-14  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove unused variable.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree_Node: turn always-true if condition into
+	assertion, in add_constraint().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: rename some types used in
+	compatibility_check_find_pivot().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: rename some types used in
+	compatibility_check_find_pivot_in_set().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: optimize
+	find_lexico_minimum_column() for sparse matrices.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: remove variable that is unused in
+	release mode, in find_lexico_minimum_column_in_set().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: call reset() when needed, in
+	complement_assign().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: add a
+	reset() method taking an iterator.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree.cc: optimize merge_assign() for sparse
+	matrices.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Problem.cc: PIP_Problem: optimize solve() for sparse
+	matrices.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: fix indentation.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove unused code.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: remove unneeded variable.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: allow
+	every value of (unused) hint iterators.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Matrix.defs.hh, src/MIP_Problem.cc,
+	src/MIP_Problem.defs.hh, src/PIP_Problem.cc,
+	src/PIP_Problem.defs.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
+	src/Sparse_Matrix.defs.hh: Move conditional typedefs from PIP_Tree,
+	PIP_Problem and MIP_Problem into Dense_Matrix and Sparse_Matrix.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc: Sparse_Matrix: use
+	Unlimited_Sparse_Row::clear() in the ascii_load() method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: add the clear() method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: add the
+	clear() method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add the
+	clear() method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Unlimited_Sparse_Row.defs.hh: CO_Tree,
+	Sparse_Matrix, Sparse_Row, Sparse_Row_Reference,
+	Unlimited_Sparse_Row: change the Doxygen documentation to follow the
+	PPL coding standards.
+
+2010-08-13  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, src/Interval.templates.hh, tests/Box/cc76widening.cc: 
+	Corrected a bug affecting Interval::CC76_widening_assign(const
+	From&, Iterator, Iterator).  This, in turn, affected
+	Box::CC76_widening_assign(const T&, Iterator, Iterator): lower bound
+	would not be computed correctly when the two iterators specify an
+	empty list of stop points.  Many thanks to Sagar Chaki and Arie
+	Gurfinkel.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.defs.hh: Sparse_Matrix: document all methods and
+	fields.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.inlines.hh: Sparse_Matrix: indentation fixes.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.inlines.hh: Sparse_Matrix: move some code.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc: Sparse_Matrix: optimize the OK() method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc: Sparse_Matrix: use iterators instead of
+	indexes in external_memory_in_bytes().
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc: Sparse_Matrix: improve code readability
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.cc, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	typedef for This, fix indentation
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: add before_cbegin(), cbegin() and cend()
+	methods, return const& in before_begin() and end() methods, add
+	documentation.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: add
+	before_cbegin(), cbegin() and cend() methods.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	before_cbegin(), cbegin() and cend() methods.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc: Sparse_Row, Sparse_Row_Reference: optimize OK()
+	methods.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row_Reference: add documentation of
+	the class itself.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.inlines.hh: Sparse_Row: optimize the resize()
+	method.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.cc, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: don't inline OK() methods.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh: Sparse_Row, Sparse_Row_Reference: document
+	all methods and fields.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh: Unlimited_Sparse_Row: clarify
+	comments.
+
+2010-08-13  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: fix compiling error in release
+	mode.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.templates.hh: Sparse_Row: add unnecessary include,
+	to please KDevelop4.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row:
+	remove unnecessary code in combine().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row: pass
+	a hint to find_create() in combine_needs_second().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row:
+	simplify code in the assign() method.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: CO_Tree: add a little
+	optimization in reset().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row:
+	optimize the reset() method.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: make
+	code in all find() and lower_bound() methods similar.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: don't
+	using invalidated iterators in swap().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row:
+	indentation fixes.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh: Unlimited_Sparse_Row: document
+	all methods and the tree field.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh: Unlimited_Sparse_Row: remove
+	unnecessary include.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: add comment on maximum row size.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: clarify comments.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree::tree_iterator: add assertions.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree::const_iterator: fix assertion in
+	operator++().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: indentation fixes.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: simplify some
+	code.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: always increase the tree size in
+	insert_precise() instead of rebalance().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: improve some
+	comments.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: simplify code in rebuild_bigger_tree().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: simplify code in increase_keys_after().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: optimize erase_element_and_shift_left().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: simplify code in the insert() methods.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: fix bug in constructor.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: fix comment.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: optimize constructor.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: move some code.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree::iterator,
+	CO_Tree::const_iterator: add postfix ++ and postfix -- operators.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix comment.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: inline
+	insert_in_empty_tree(), un-inline least_common_ancestor().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: improve comments.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree, CO_Tree::const_iterator: change the
+	value_type definition.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: now go_down_searching_key() is a method of
+	CO_Tree::tree_iterator instead of CO_Tree.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: rename
+	redistribute_elements_in_subtree_helper() into
+	redistribute_elements_in_subtree().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve comment.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: update documentation with the new
+	constants' names.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: merge the
+	redistribute_elements_in_subtree() method into rebalance().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: simplify code in rebalance().
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make the OK() method
+	private.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.cc, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	the OK() method.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.inlines.hh: Sparse_Row, Sparse_Row_Reference: don't
+	call Unlimited_Sparse_Row::OK() in the OK() methods.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Matrix.cc: Sparse_Matrix: don't call
+	Unlimited_Sparse_Row::OK() in the OK() method.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: don't use float/double for densities, use exact
+	calculations instead.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: sort method
+	implementations in the same order as method declarations.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: fix typo in comment.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: remove
+	unnecessary includes.
+
+2010-08-12  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: add check on reserved_size in
+	structure_OK().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree::iterator: fix constructor
+	documentation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree::iterator, CO_Tree::const_iterator:
+	make Member_Access_Helper and Const_Member_Access_Helper private,
+	add documentation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: rewrite most of the documentation,
+	add documentation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree::const_iterator: make
+	Const_Member_Access_Helper private, add documentation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: add compile-time check for height_t.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve code readability and adjust stack
+	size in redistribute_elements_in_subtree_helper().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve readability of move_data_from().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve code readability and adjust stack
+	size, in the constructor from an std::vector.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: optimize increase_keys_after().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: fix bug in increase_keys_after().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row: use
+	the new contract of end() to avoid calculations of end() at each
+	write operation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: clarify
+	code in reset() and reset_after().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	PPL_DIRTY_TEMP_COEFFICIENT when possible.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use the
+	same signature and contract used in CO_Tree for before_begin() and
+	end(). Add documentation for begin() methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: add
+	before_begin() methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	bisect() instead of bisect_in() when needed.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.cc: Unlimited_Sparse_Row: fix
+	indentation.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: improve readability of bisect_near().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: improve documentation of bisect()
+	methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: remove always-true condition in
+	erase().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: improve readability of erase().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: fix external_memory_in_bytes().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: weaken the
+	requirements for bisect_near() methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add bisect()
+	methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree::tree_iterator: optimize
+	follow_{left,right}_childs_with_value() methods.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: remove get_left_child_value() and
+	get_right_child_value().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use get_left_child_value() and
+	get_right_child_value().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use get_left_child_value() and
+	get_right_child_value() in erase().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use get_left_child_value() and
+	get_right_child_value() without a real need, in rebalance().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: remove assertion from
+	count_used_in_subtree(), weakening its precondition.
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add swap()
+	method to iterator and const_iterator, specialize std::swap().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: add assertion in move_data_from().
+
+2010-08-11  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: cache before_begin() and end() iterators, so users of
+	CO_Tree don't need to recalculate them at each write operation
+	anymore.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: move iterator's and const_iterator's
+	declarations inside the CO_Tree class declaration.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use Coefficient_zero() in erase(),
+	instead of declaring an equivalent static variable.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use the
+	value returned by CO_Tree::erase() when needed.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: add least_common_ancestor() method. Return an iterator to
+	the next element in erase().
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: don't check the value
+	returned by erase().
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: add debugging checks to iterator and const_iterator.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make
+	count_used_in_subtree() take an iterator parameter by value instead
+	of by reference.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make
+	redistribute_elements_in_subtree() take an iterator parameter by
+	value instead of by reference.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: make rebalance()
+	return an iterator instead of taking an iterator parameter by
+	reference.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: make go_down_searching_key() return an iterator instead of
+	taking an iterator parameter by reference.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: make insert_precise return an iterator instead of taking an
+	iterator parameter by reference.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: replace has_parent() method with is_root().
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: keep a CO_Tree& instead of a CO_Tree* const.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: define height_t as unsigned.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: depth() now returns a height_t instead of an
+	unsigned.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: avoid compiler warning in release mode.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: remove
+	the get2() method.
+
+2010-08-10  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.inlines.hh: Sparse_Row: add include. It is needed
+	for release builds.
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: un-inline
+	bisect_in() and bisect_near() methods.
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: CO_Tree: bisect_in() and
+	bisect_near() methods now take an index as argument instead of a
+	functor.
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: un-inline some
+	methods.
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-09  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: reorder
+	some method declarations and definitions.
 
-	* src/Partially_Reduced_Product.inlines.hh: Replaced a call to
-	PPL_ASSERT by PPL_ASSERT_HEAVY.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-07  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	the wrappers for CO_Tree's iterator and const_iterator. They do not
+	add anything useful anymore.
 
-	* src/globals.inlines.hh: Cyclic dependency avoided.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-06  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.defs.hh: CO_Tree: add STL-compliant typedefs in
+	iterator and const_iterator.
 
-	* src/MIP_Problem.defs.hh: Fixed documentation copy-and-paste error.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: iterators no
+	longer allow changing an element's key.
 
-	* src/Interval.templates.hh, src/Octagonal_Shape.templates.hh,
-	src/PIP_Problem.inlines.hh, src/PIP_Tree.cc,
-	src/Partially_Reduced_Product.inlines.hh,
-	src/Partially_Reduced_Product.templates.hh,
-	src/Polyhedron_public.cc, src/conversion.cc, src/globals.inlines.hh: 
-	Replaced several occurrences of assert() by PPL_ASSERT().
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: move
+	implementation of delete_element_and_shift() and
+	add_zeroes_and_shift() into CO_Tree.
 
-	* src/termination.cc: Added missing parameter documentation.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh: CO_Tree::const_iterator: remove the
+	get_tree() declaration.
 
-	* src/MIP_Problem.defs.hh: Typo fixed.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-06  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: rewrite the
+	implementation of const_iterator and iterator to improve
+	performance.
 
-	* doc/Makefile.am: Do not build documentation for interfaces that
-	are not enabled.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2011-01-05  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: remove some calls to iterators'
+	is_before_begin() and is_at_end() methods.
 
-	* interfaces/Prolog/YAP/yap_prolog_generated_test.pl: Added missing
-	`use_module' directive.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row: don't
+	use is_before_begin() and is_at_end() methods on CO_Tree iterators.
 
-	* configure.ac: No longer include BD_Shape<int8_t> among the
-	instantiations enabled by default.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	get_tree() methods from iterator and const_iterator.
 
-	* m4/ac_check_sicstus_prolog.m4, m4/ac_check_xsb_prolog.m4: Replaced
-	$(cmd) with `cmd` in m4 autoconf files.  Obsolete comment removed.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh: CO_Tree: iterator needs not be friend of
+	tree_iterator anymore.
 
-	* configure.ac: Version number bumped.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree::tree_iterator: don't access
+	iterators' fields directly.
 
-	* configure.ac: Version number bumped.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-12-19  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree::tree_iterator: add a CO_Tree& argument in the constructor
+	from an iterator.
 
-	* doc/definitions.dox, instchk.hh, tests/Powerset/powerset1.cc: 
-	Avoid using identifier `PS', since Solaris has a macro with that
-	name.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-10-21  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh: CO_Tree: iterator and const_iterator need not
+	be friends of CO_Tree anymore.
 
-	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
-	tests/Octagonal_Shape/Makefile.am: Properly quote the assignment
-	MAKE=$(MAKE).  (Thanks to Volker Braun.)
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-10-16  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: don't access iterator's and
+	const_iterator's fields directly.
 
-	* NEWS, src/BD_Shape.templates.hh, src/Box.inlines.hh,
-	src/Grid_public.cc, src/Octagonal_Shape.templates.hh,
-	src/Polyhedron_public.cc, tests/BD_Shape/unconstrain1.cc,
-	tests/Box/unconstrain1.cc, tests/Grid/unconstrain1.cc,
-	tests/Octagonal_Shape/unconstrain1.cc,
-	tests/Polyhedron/unconstrain1.cc: Fixed a bug whereby the argument
-	of all the methods unconstrain(Variable var) was not checked
-	correctly for space dimension compatibility.  (Thanks to Volker
-	Braun.)
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	construct_before_begin() and construct_end() methods.
 
-	* demos/ppl_lpsol/ppl_lpsol.c: Do destroy the MIP object before
-	returning from solve_with_simplex.  Do destroy the Polyhedron object
-	before returning from solve_with_generators.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-17  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: don't use
+	construct_before_begin() and construct_end().
 
-	* NEWS, interfaces/C/ppl_c_implementation_common.cc,
-	src/MIP_Problem.cc, src/PIP_Tree.cc: Corrected efficiency bugs in
-	the C interface and in MIP_Problem.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-09  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	two-argument constructors to const_iterator and iterator.
 
-	* README.alpha, tests/BD_Shape/disjoint1.cc,
-	tests/Box/congruences1.cc, tests/Box/max_min1.cc,
-	tests/Box/relations4.cc, tests/Grid/addcongruences1.cc,
-	tests/MIP_Problem/exceptions1.cc,
-	tests/Octagonal_Shape/affineimage1.cc,
-	tests/Octagonal_Shape/boundedaffineimage1.cc,
-	tests/Octagonal_Shape/cc76extrapolation1.cc,
-	tests/Octagonal_Shape/difference1.cc,
-	tests/Octagonal_Shape/disjoint1.cc,
-	tests/Octagonal_Shape/generalizedaffineimage3.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
-	tests/Octagonal_Shape/unconstrain1.cc,
-	tests/Polyhedron/exceptions2.cc: Reflected the changes in
-	http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8966 Reflected the changes in gcc.gnu.org/bugzilla/show_bug.cgi?id=8966
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-08  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: turn always-true if conditions in
+	iterator's and const_iterator's operator++() and operator--() into
+	an assertion.
 
-	* NEWS: Mentioned the fix to Interval::Interval(const char*).  Mentioned the fix to Interval::Interval(const char*).
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-07  Abramo Bagnara <abramo.bagnara at gmail.com>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.inlines.hh, tests/CO_Tree/cotree1.cc: 
+	CO_Tree: rename iterator's and const_iterator's get_next_value()
+	into operator++() and get_previuos_value() into operator--().
 
-	* src/Interval.templates.hh: Fixed interval construction from
-	strings.  Fixed interval construction from strings.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-07  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	operator++() and operator--() from iterator and const_iterator.
 
-	* NEWS: Mention bug corrected on the input routine for ppl_lpsol.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.cc: CO_Tree: use CO_Tree::begin() instead of
+	CO_Tree::before_begin(), in OK() and structure_OK().
 
-	* src/Checked_Number.defs.hh, tests/Polyhedron/numberinput1.cc: 
-	Improved documentation for number input routine.  Added another
-	couple of tests.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-09-01  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.defs.hh: CO_Tree: avoid a (possibly dangerous)
+	conversion in the static initializer of unused_index.
 
-	* src/checked.cc, tests/Polyhedron/numberinput1.cc: Let the input
-	routine accept floating-point syntax starting with ".".
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-31  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::begin() instead of CO_Tree::before_begin().
 
-	* src/Checked_Number.defs.hh, src/checked.cc,
-	tests/Polyhedron/numberinput1.cc: Let the input routine for checked
-	numbers accepts C99 hexadecimal float syntax.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-30  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: don't use
+	CO_Tree::before_begin().
 
-	* demos/ppl_lpsol/Makefile.am: Use a convenience library to confine
-	the compilation of glpk_set_d_eps.c.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc: CO_Tree: check the size in OK(), not in
+	structure_OK().
 
-	* demos/ppl_lpsol/.gitignore, demos/ppl_lpsol/Makefile.am,
-	demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a: 
-	Started revising the expected results.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: don't use
+	CO_Tree::iterator::operator++().
 
-	* demos/ppl_lpsol/ppl_lpsol.c: For checking purposes, use the exact
-	LP solver of GLPK.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: CO_Tree, Unlimited_Sparse_Row:
+	split the iterator and const_iterator main constructor. CO_Tree:
+	make the iterator and const_iterator constructor make the new
+	iterator point to the first value, and add the begin() methods to
+	CO_Tree.
 
-	* README, demos/ppl_lpsol/Makefile.am,
-	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
-	demos/ppl_lpsol/ppl_lpsol.c, doc/ppl-config.1: When the `--check'
-	option is used, input data is perturbed the same way as GLPK does.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-29  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: clarify signature of
+	redistribute_elements_in_subtree_helper() and
+	compact_elements_in_the_rightmost_end(). Remove obsolete assertions
+	from redistribute_elements_in_subtree().
 
-	* demos/ppl_lpsol/ppl_lpsol.c: Do also read the inhomogeneous term
-	of the objective function.  This should allow for a (almost) meaningful comparison with the
-	optimizied value computed by glpk when using command line option -c.  Also corrected a minor bug in the output routine for the objective
-	function (an open parenthesis was sometimes missing).
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: remove rendundant
+	arguments from redistribute_elements_in_subtree_helper(), remove
+	unreachable code in redistribute_elements_in_subtree().
 
-	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/ppl_lpsol.c,
-	demos/ppl_pips/ppl_pips.cc: Tightened the implementation of the
-	`--max-memory' option.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: optimize
+	compact_elements_in_the_rightmost_end().
 
-	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_pips/ppl_pips.cc: Fixed the
-	argument type of limit_virtual_memory(): should be unsigned long.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: use a dimension_type
+	instead of an iterator in redistribute_elements_in_subtree() and
+	compact_elements_in_the_rightmost_end().
 
-	* demos/ppl_pips/.gitignore: Put under Git control.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: use a dimension_type
+	instead of an iterator in redistribute_elements_in_subtree_helper().
 
-	* demos/ppl_lpsol/ppl_lpsol.c: Fixed the argument type of
-	limit_virtual_memory(): should be unsigned long.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	depth() method from iterator and const_iterator.
 
-	* demos/ppl_lpsol/ppl_lpsol.c: Augment the precision with which
-	floating point numbers are printed in error messages.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-25  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: add assertions in
+	erase(iterator).
 
-	* demos/ppl_lpsol/Makefile.am: Added $(top_builddir)/src/libppl.la
-	to ppl_lpsol_LDADD.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-15  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/CO_Tree.inlines.hh: CO_Tree: add assertion and comment in
+	go_down_searching_key().
 
-	* src/Matrix.defs.hh: Improved doxygen docs for
-	Matrix::permute_columns().
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
 
-2010-08-13  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	unused insert(tree_iterator, dimension_type, const data_type&)
+	method.
 
-	* NEWS, src/Interval.templates.hh, tests/Box/cc76widening.cc: 
-	Corrected a bug affecting Interval::CC76_widening_assign(const
-	From&, Iterator, Iterator).  This, in turn, affected
-	Box::CC76_widening_assign(const T&, Iterator, Iterator): lower bound
-	would not be computed correctly when the two iterators specify an
-	empty list of stop points.  Many thanks to Sagar Chaki and Arie
-	Gurfinkel.
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: update documentation on requirements
+	of insert(iterator, dimension_type).
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: optimize insert(iterator,
+	dimension_type, const data_type&) and insert(iterator,
+	dimension_type) methods.
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: weaken the
+	preconditions to insert(iterator, dimension_type, const data_type&).
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: improve implementation of
+	insert(dimension_type, const data_type&).
+
+2010-08-09  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: avoid magic number in insert().
+
+2010-08-08  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use an iterator in
+	move_data_from().
+
+2010-08-08  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: simplify code in the init() method.
+
+2010-08-08  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: use new/delete
+	instead of malloc/free.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	tree-related methods from iterator and const_iterator.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree:: don't use follow_right_childs() in
+	redistribute_elements_in_subtree().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* tests/CO_Tree/cotree1.cc: tests/CO_Tree: don't visit the tree
+	using an iterator.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: many
+	changes, preparing removal of tree-related methods from iterator and
+	const_iterator.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use a tree_iterator instead of an
+	iterator in insert(dimension_type, const data_type&).
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use a tree_iterator instead of a
+	const_iterator in structure_OK().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree:
+	dump_subtree() now takes a tree_iterator as argument, instead of an
+	iterator& or a const_iterator&.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: don't use
+	follow_right_childs_with_value() in
+	compact_elements_in_the_rightmost_end().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	go_down_searching_key() overloads for iterator and const_iterator
+	arguments.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use a tree_iterator instead of an
+	iterator in insert_precise().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	lower_bound() methods.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	find() instead of go_down_searching_key() in get().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	bisect_in() instead of go_down_searching_key() in assign().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	bisect_in() instead of go_down_searching_key() in swap().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: rename
+	the helper class used as a functor and move it to the beginning of
+	the file.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	find2() and get2() methods.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row,
+	Sparse_Row_Reference: remove get2() methods.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc: PIP_Tree: use two calls to get() instead of
+	get2().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.cc: MIP_Problem: use two calls to get() instead of
+	get2().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::bisect_near() in lower_bound() methods with a hint
+	iterator.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::bisect_near() in find() methods with a hint iterator.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	bisect_near() methods.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::bisect_in() in lower_bound().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	always-false conditions from find().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: fix bisect_in().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.inlines.hh: CO_Tree: remove obsolete comment.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::bisect_in() in the const version of find().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: fix the
+	non-const version of find().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: make the
+	private bisect_in() a const method, fix a bug in it and add a public
+	bisect_in() for const iterators.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: inline
+	bisect_in(), to allow optimizations.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: use
+	CO_Tree::bisect_in() in find().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: add bisect_in() methods.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh: CO_Tree: remove the
+	const_iterator version of count_used_in_subtree().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: use tree_iterator instead of iterator when needed.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.inlines.hh: CO_Tree: split
+	insert_in_empty_tree() out of insert_precise().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use a tree_iterator instead of an
+	iterator in move_data_from().
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc: CO_Tree: use a tree_iterator instead of an
+	iterator in the constructor from a vector.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: add
+	tree_iterator inner class.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: split integer base-2 log out of init(), adding the
+	integer_log2() method.
+
+2010-08-07  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: remove unneeded include.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Sparse_Matrix.cc, src/Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Indentation and whitespace
+	fixes.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: remove duplicated
+	forward-declarations of iterator and const_iterator.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Dense_Row, Sparse_Row,
+	Unlimited_Sparse_Row: use names like i and j for index arguments,
+	rather that c, c1 and c2.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.cc, src/Dense_Row.defs.hh,
+	src/Dense_Row.inlines.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Matrix.inlines.hh, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Dense_Row, Sparse_Row,
+	Sparse_Matrix, Unlimited_Sparse_Row: Remove the useless const
+	qualifier from dimension_type arguments passsed by value.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/MIP_Problem.cc, src/PIP_Tree.cc, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row,
+	Sparse_Row, Dense_Row: reorder arguments in find(), lower_bound(),
+	find_create() as done in the STL.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: CO_Tree: reorder arguments to
+	insert(), using the same order as in std::map<T>::insert().
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh, tests/CO_Tree/cotree1.cc: 
+	CO_Tree: rename inorder_iterator and inorder_const_iterator into
+	iterator and const_iterator.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/Sparse_Matrix.defs.hh,
+	src/Sparse_Row.defs.hh, src/Unlimited_Sparse_Row.defs.hh: CO_Tree,
+	Unlimited_Sparse_Row, Sparse_Row, Sparse_Matrix: make some
+	constructors explicit.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh: CO_Tree: remove level_data struct.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: CO_Tree: remove
+	unordered iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.cc, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh: Unlimited_Sparse_Row: remove
+	unordered iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh: Sparse_Row:
+	remove unordered iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh: Dense_Row: remove
+	unordered iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/MIP_Problem.defs.hh: MIP_Problem: don't use unordered
+	iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Problem.cc, src/PIP_Problem.defs.hh: PIP_Problem: don't
+	use unordered iterators.
+
+2010-08-06  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/PIP_Tree.cc, src/PIP_Tree.defs.hh: PIP_Tree: don't use
+	unordered iterators.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: CO_Tree: simplify some method
+	signatures, exploiting the fact that now iterators are always
+	lightweight.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/CO_Tree.cc, src/CO_Tree.defs.hh, src/CO_Tree.inlines.hh: 
+	CO_Tree: remove the VeB and BFS layouts.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: merge
+	{find,lower_bound}_helper methods into the corresponding find and
+	lower_bound methods.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Unlimited_Sparse_Row.inlines.hh: Unlimited_Sparse_Row: remove
+	unused find_create_helper() methods.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/MIP_Problem.cc, src/PIP_Problem.cc, src/PIP_Tree.cc,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.templates.hh: Dense_Row, Sparse_Row,
+	Unlimited_Sparse_Row: drop
+	{find,find_create,lower_bound}_{assign,hint_assign} methods.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Dense_Row.inlines.hh,
+	src/Sparse_Row.defs.hh, src/Sparse_Row.inlines.hh,
+	src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Dense_Row, Sparse_Row,
+	Unlimited_Sparse_Row: remove some method overloads that are no
+	longer needed.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Dense_Row.defs.hh, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh, src/Unlimited_Sparse_Row.defs.hh,
+	src/Unlimited_Sparse_Row.inlines.hh: Remove dangerous_iterator: it
+	was needed only for compatibility with some old sparse
+	implementations.
+
+2010-08-05  Marco Poletti <poletti.marco at gmail.com>
+
+	* src/Makefile.am, src/Sparse_Row.defs.hh,
+	src/Sparse_Row.inlines.hh,
+	src/{Unlimited_Sparse_Row_Over_CO_Tree.cc =>
+	Unlimited_Sparse_Row.cc}, src/Unlimited_Sparse_Row.defs.hh,
+	src/{Unlimited_Sparse_Row_Over_CO_Tree.inlines.hh =>
+	Unlimited_Sparse_Row.inlines.hh},
+	src/{Unlimited_Sparse_Row_Over_CO_Tree.templates.hh =>
+	Unlimited_Sparse_Row.templates.hh},
+	src/Unlimited_Sparse_Row.types.hh,
+	src/Unlimited_Sparse_Row_Custom_Slist_Backend.cc,
+	src/Unlimited_Sparse_Row_Custom_Slist_Backend.defs.hh,
+	src/Unlimited_Sparse_Row_Custom_Slist_Backend.inlines.hh,
+	src/Unlimited_Sparse_Row_Custom_Slist_Backend.types.hh,
+	src/Unlimited_Sparse_Row_Over_CO_Tree.defs.hh,
+	src/Unlimited_Sparse_Row_Over_CO_Tree.types.hh,
+	src/Unlimited_Sparse_Row_Over_Linear_Sequence.cc,
+	src/Unlimited_Sparse_Row_Over_Linear_Sequence.defs.hh,
+	src/Unlimited_Sparse_Row_Over_Linear_Sequence.inlines.hh,
+	src/Unlimited_Sparse_Row_Over_Linear_Sequence.templates.hh,
+	src/Unlimited_Sparse_Row_Over_Linear_Sequence.types.hh,
+	src/Unlimited_Sparse_Row_Std_List_Backend.cc,
+	src/Unlimited_Sparse_Row_Std_List_Backend.defs.hh,
+	src/Unlimited_Sparse_Row_Std_List_Backend.inlines.hh,
+	src/Unlimited_Sparse_Row_Std_List_Backend.types.hh,
+	src/Unlimited_Sparse_Row_Std_Vector_Backend.cc,
+	src/Unlimited_Sparse_Row_Std_Vector_Backend.defs.hh,
+	src/Unlimited_Sparse_Row_Std_Vector_Backend.inlines.hh,
+	src/Unlimited_Sparse_Row_Std_Vector_Backend.types.hh: Drop sparse
+	implementations based on std::list, on std::vector and on the
+	custom-implemented single-linked list.
 
 2010-08-05  Patricia Hill <p.m.hill at leeds.ac.uk>
 
 	* src/Grid.templates.hh: Invalid case option in map_space_dimensions
 	removed.
 
+2010-08-05  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.templates.hh: Small style improvement in the use of
+	iterators.
+
 2010-08-05  Enea Zaffanella <zaffanella at cs.unipr.it>
 
 	*
@@ -1474,6 +12321,12 @@
 
 	* CREDITS: Updated and typo fixed.
 
+2010-08-03  Fabio Bossi <bossi at cs.unipr.it>
+
+	* src/Float.defs.hh, src/Float.inlines.hh, src/Float.templates.hh,
+	src/Linear_Form.templates.hh: Do not use log2 to compute the base 2
+	logarithm of an integer.
+
 2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
 
 	* ChangeLog: Updated.
diff --git a/INSTALL b/INSTALL
index 7d1c323..6e90e07 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,8 +1,8 @@
 Installation Instructions
 *************************
 
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 1994-1996, 1999-2002, 2004-2012 Free Software Foundation,
+Inc.
 
    Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
@@ -226,6 +226,11 @@ order to use an ANSI C compiler:
 
 and if that doesn't work, install pre-built binaries of GCC for HP-UX.
 
+   HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved.  Use GNU `make'
+instead.
+
    On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
 parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
 a workaround.  If GNU CC is not installed, it is therefore recommended
@@ -304,9 +309,10 @@ causes the specified `gcc' to be used as the C compiler (unless it is
 overridden in the site shell script).
 
 Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
+an Autoconf limitation.  Until the limitation is lifted, you can use
+this workaround:
 
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
 
 `configure' Invocation
 ======================
@@ -362,4 +368,3 @@ operates.
 
 `configure' also accepts some other, not widely useful, options.  Run
 `configure --help' for more details.
-
diff --git a/Makefile.am b/Makefile.am
index 1d759cb..1b80b3d 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,12 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
 
-SUBDIRS = . utils src Watchdog tests interfaces demos doc m4
+SUBDIRS = . utils src tests interfaces demos doc m4
 
 dist_noinst_SCRIPTS = \
 configure
@@ -42,7 +42,7 @@ ppl-config.h.in: config.h.in $(srcdir)/ppl-config.sed
 	$(SED) -f $(srcdir)/ppl-config.sed $< >$@
 
 DISTCHECK_CONFIGURE_FLAGS = \
---enable-shared --enable-watchdog
+--enable-shared
 
 # Kludge: we need to force building `ppl-config.h' on `make dist',
 # hence we list it in `EXTRA_DIST';  but we do not want to distribute
diff --git a/Makefile.in b/Makefile.in
index d4ccb17..4209ca6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -75,27 +75,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@@ -105,11 +100,11 @@ CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = ppl.lsm
 CONFIG_CLEAN_VPATH_FILES =
 SCRIPTS = $(dist_noinst_SCRIPTS)
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -133,9 +128,11 @@ DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
+  if test -d "$(distdir)"; then \
+    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+      && rm -rf "$(distdir)" \
+      || { sleep 5 && rm -rf "$(distdir)"; }; \
+  else :; fi
 am__relativize = \
   dir0=`pwd`; \
   sed_first='s,^\([^/]*\)/.*$$,\1,'; \
@@ -161,10 +158,12 @@ am__relativize = \
     dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
   done; \
   reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 \
-	$(distdir).tar.lzma $(distdir).zip
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 $(distdir).tar.xz \
+	$(distdir).zip
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
 AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
@@ -188,6 +187,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -212,21 +212,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -282,6 +277,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -350,7 +346,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -364,7 +359,7 @@ yap_prolog = @yap_prolog@
 
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = . utils src Watchdog tests interfaces demos doc m4
+SUBDIRS = . utils src tests interfaces demos doc m4
 dist_noinst_SCRIPTS = \
 configure
 
@@ -375,7 +370,7 @@ dist_noinst_HEADERS = \
 instchk.hh
 
 DISTCHECK_CONFIGURE_FLAGS = \
---enable-shared --enable-watchdog
+--enable-shared
 
 
 # Kludge: we need to force building `ppl-config.h' on `make dist',
@@ -405,7 +400,7 @@ all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-am--refresh:
+am--refresh: Makefile
 	@:
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
@@ -441,10 +436,8 @@ $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 $(am__aclocal_m4_deps):
 
 config.h: stamp-h1
-	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-	else :; fi
+	@if test ! -f $@; then rm -f stamp-h1; else :; fi
+	@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi
 
 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
 	@rm -f stamp-h1
@@ -677,14 +670,18 @@ dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
 dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
+
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+	$(am__remove_distdir)
+
 dist-lzma: distdir
 	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 	$(am__remove_distdir)
-
 dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	$(am__remove_distdir)
 
 dist-tarZ: distdir
@@ -701,8 +698,8 @@ dist-zip: distdir
 
 dist dist-all: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
 	-rm -f $(distdir).zip
 	zip -rq $(distdir).zip $(distdir)
 	$(am__remove_distdir)
@@ -718,6 +715,8 @@ distcheck: dist
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
 	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
 	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
@@ -737,6 +736,7 @@ distcheck: dist
 	  && am__cwd=`pwd` \
 	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
@@ -765,8 +765,16 @@ distcheck: dist
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@$(am__cd) '$(distuninstallcheck_dir)' \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	@test -n '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: trying to run $@ with an empty' \
+	       '$$(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	$(am__cd) '$(distuninstallcheck_dir)' || { \
+	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+	  exit 1; \
+	}; \
+	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
 	          echo "  (check DESTDIR support)"; \
@@ -797,10 +805,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
@@ -889,18 +902,19 @@ uninstall-am:
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am clean clean-generic \
 	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
-	dist-zip distcheck distclean distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags tags-recursive uninstall uninstall-am
+	dist-gzip dist-hook dist-lzip dist-lzma dist-shar dist-tarZ \
+	dist-xz dist-zip distcheck distclean distclean-generic \
+	distclean-hdr distclean-libtool distclean-tags distcleancheck \
+	distdir distuninstallcheck dvi dvi-am html html-am info \
+	info-am install install-am install-data install-data-am \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-html install-html-am install-info install-info-am \
+	install-man install-pdf install-pdf-am install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
+	uninstall uninstall-am
 
 
 ppl-config.h: config.h $(srcdir)/ppl-config.sed
diff --git a/NEWS b/NEWS
index 71e9fab..fac7d33 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 Verbatim copying and distribution of this entire article is permitted
 in any medium, provided this notice is preserved.
@@ -8,6 +8,165 @@ in any medium, provided this notice is preserved.
 Parma Polyhedra Library NEWS -- history of user-visible changes
 ===============================================================
 
+--------------------------------------------------------------------------
+NEWS for version 1.0  (released on June 28, 2012)
+--------------------------------------------------------------------------
+
+New and Changed Features
+========================
+
+o  Significant improvements have been obtained in both time and space
+   resource usage by the definition of data structures and algorithms
+   for the case of "sparse rows", i.e., sequences of coefficients
+   where most of the values are zero.
+
+o  The library fully supports two different representations for rows:
+   the "dense" representation is an array-like representation tailored
+   to sequences having most of their coefficients different from zero;
+   the "sparse" representation saves memory space (as well as CPU
+   cycles) when most of the coefficients in the sequence are zero.
+
+o  A generic interface allows for a seamless interaction between the
+   dense and the sparse row representation. Most library entities
+   (linear expressions, constraints, generators, congruences, and
+   their systems) can be built using either representation, specified
+   as a constructor's argument.
+
+o  As a by-product of this sparse/dense refactoring work, efficiency
+   improvements have been obtained even for those computations that
+   are still based on the dense row representation.
+
+o  Reasonable default values for the row representation are provided
+   for each library entity, automatically leading to significant
+   memory space savings even in old client/library code, e.g., when
+   dealing with constraint systems describing weakly relational
+   abstractions such as boxes and octagonal shapes.
+
+o  If desired, these default values can be customized to user's needs
+   by changing just a few lines of library code.  For instance, the
+   constraint systems stored inside C_Polyhedron and NNC_Polyhedron
+   objects can be made to use the sparse representation by just
+   changing the following line in Polyhedron.defs.hh:
+
+     static const Representation default_con_sys_repr = DENSE;
+
+   to become
+
+     static const Representation default_con_sys_repr = SPARSE;
+
+
+Bugfixes
+========
+
+o  Fixed a bug affecting methods
+
+     bool BD_Shape<T>::contains(const BD_Shape& y) const;
+     bool Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const;
+
+   whereby the wrong result was obtained when *this is an empty
+   weakly-relational shape and y is not empty.
+
+o  Fixed a bug affecting the PIP solver whereby a wrong result could have
+   been obtained if the input constraint system contained multiple linear
+   equality constraints.
+
+
+--------------------------------------------------------------------------
+NEWS for version 0.12.1  (released on April 16, 2012)
+--------------------------------------------------------------------------
+
+New and Changed Features
+========================
+
+o  In the C, Java, OCaml and Prolog interfaces, modified the signature
+   of the function/method/predicate for setting the deterministic timeout
+   threshold. The new interfaces take two input values, named `unscaled'
+   and `scale', that are used to compute the threshold value as
+   `unscaled * 2^scale'.
+
+o  Added new Box<ITV> methods
+
+     bool has_upper_bound(Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const;
+     bool has_lower_bound(Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const;
+
+   to query a non-empty box for the existence and value of its upper/lower
+   bound on variable `var'. The methods have been also added to all the
+   available language interfaces.
+
+o  Two BibTeX databases of papers related to the Parma Polyhedra Library
+   have been added to the distribution (in the `doc' directory).
+
+
+Bugfixes
+========
+
+o  Restored the support for deterministic timeouts in the PIP solver
+   (it was removed by accident in PPL 0.12).
+
+o  Minor documentation fixes.
+
+o  Portability improved.
+
+
+--------------------------------------------------------------------------
+NEWS for version 0.12  (released on February 27, 2012)
+--------------------------------------------------------------------------
+
+New and Changed Features
+========================
+
+o  New configure options `--with-gmp=DIR', `--with-gmp-include=DIR' and
+   `--with-gmp-lib=DIR' supersede the (now removed) option
+   `--with-gmp-prefix'.  (The old option never really worked; hopefully
+   this is the last change in this area.)
+
+o  New configuration option `--disable-documentation'.  When specified
+   no new documentation is built: only the documentation already present
+   in the source tree is installed upon `make install'.
+
+o  The resolution process for PIP_Problem now better exploits the
+   integrality of parameters to simplify the newly generated tautological
+   constraints, the splitting constraints of decision nodes, and the
+   expressions defining artificial parameters.
+
+o  The implementations of the MIP and PIP solvers are based on a new
+   data structure leading to significant space and time savings when
+   the tableau matrix is sparse; the benchmarks of the ppl_lpsol demo
+   show an improvement on the average case, that grows when the toughest
+   tests in the benchmark suite are considered.
+
+o  When the `--check' option is used, the input data for demo ppl_lpsol
+   is perturbed the same way as GLPK does, thereby allowing for a
+   meaningful comparison of the results obtained.
+
+o  The input routine for PPL numeric datatypes has been extended to
+   accept the ISO9899 (C99) hexadecimal floating constant syntax.
+
+o  The Parma Watchdog Library has been merged into the
+   Parma Polyhedra Library.
+
+
+Bugfixes
+========
+
+o  Corrected a precision bug in methods
+
+     Box<ITV>::upper_bound_assign(const Box&)
+     Box<ITV>::upper_bound_assign_if_exact(const Box&)
+
+   whereby, provided any argument is an empty box and under other rather
+   specific conditions, the computed result was correct but unnecessarily
+   imprecise.
+
+o  Corrected a bug in method
+
+     Grid::relation_with(const Constraint&) const
+
+   whereby, under specific conditions, the method was creating invalid
+   Grid_Generator objects and providing an incorrect result.
+
 
 --------------------------------------------------------------------------
 NEWS for version 0.11.2  (released on February 27, 2011)
@@ -195,8 +354,8 @@ o  When the PPL has been configured with
    procedure checks that the FPU can indeed be controlled and fails if
    that is not the case.
 
-o  New configure option --with-gmp-prefix supersedes the (now removed)
-   options --with-libgmp-prefix and --with-libgmpxx-prefix.
+o  New configure option `--with-gmp-prefix' supersedes the (now removed)
+   options `--with-libgmp-prefix' and `--with-libgmpxx-prefix'.
 
 o  New configuration option `--with-gmp-build=DIR' allows to use a
    non-installed build of GMP in DIR.
@@ -1401,9 +1560,9 @@ o  The type of output functions for the class Variable,
 
 o  Thanks to Bruno Haible, it is now possible to use versions of the
    GMP library installed into nonstandard places.  The new configure
-   options --with-libgmp-prefix[=DIR] and --with-libgmpxx-prefix[=DIR]
+   options `--with-libgmp-prefix[=DIR]' and `--with-libgmpxx-prefix[=DIR]'
    substitute the old (and not really working) options
-   --with-gmp-includes=DIR and --with-gmp-dir=DIR.
+   `--with-gmp-includes=DIR' and `--with-gmp-dir=DIR'.
 
 
 Bugfixes
diff --git a/README b/README
index c289904..57ce785 100644
--- a/README
+++ b/README
@@ -1,12 +1,12 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 See below for the copying conditions.
 
 
-Parma Polyhedra Library (Release 0.11.2)
-========================================
+Parma Polyhedra Library (Release 1.0)
+=====================================
 
-This is the release 0.11.2 of the Parma Polyhedra Library:
+This is the release 1.0 of the Parma Polyhedra Library:
 a C++ library for (not necessarily closed) convex polyhedra
 and other numerical abstractions.
 
@@ -17,17 +17,24 @@ To be more precise, the Parma Polyhedra Library (PPL) can handle:
     by an equality or a (strict or non-strict) inequality with rational
     coefficients;
 
-  + convex polyhedra defined by systems of bounded differences with
-    a wide choice of integer, rational or floating point coefficients;
+  + some special classes of polyhedra shapes that offer interesting
+    complexity/precision tradeoffs: boxes, bounded difference shapes
+    and octagonal shapes defined over a wide choice of integer,
+    rational or floating point coefficients;
 
-  + all grids (or, equivalently, lattices); a grid is defined by a set
+  + all grids (or, equivalently, lattices): a grid is defined by a set
     of congruence relations with rational coefficients and consists of
     the set of all points that satisfy these relations;
 
-  + finite powersets of the above;
+  + finite powersets and products of the above;
 
   + linear programming problems, solved with an implementation of the
-    primal simplex algorithm using exact arithmetic.
+    primal simplex algorithm using exact arithmetic;
+
+  + parametric integer programming problems;
+
+  + termination analysis problems, via the automatic synthesis of
+    linear ranking functions.
 
 The Parma Polyhedra Library is:
 
@@ -60,14 +67,14 @@ See the file NEWS for recent project news.
 See the file BUGS for known bugs and how to report new ones.
 See the file CREDITS for a list of people, projects and organizations
 that made the PPL a reality.
-See http://www.cs.unipr.it/ppl/ for more information on the PPL.
+See http://bugseng.com/products/ppl/ for more information on the PPL.
 For any additional questions you might have, please do not hesitate to
 write to ppl-devel at cs.unipr.it.
 
-Here is the contents of the PPL 0.11.2 source distribution
-(44 directories, 1590 files):
+Here is the contents of the PPL 1.0 source distribution
+(41 directories, 1616 files):
 
-ppl-0.11.2
+ppl-1.0
 |-- BUGS
 |-- COPYING
 |-- CREDITS
@@ -84,114 +91,6 @@ ppl-0.11.2
 |-- README.solaris
 |-- STANDARDS
 |-- TODO
-|-- Watchdog
-|   |-- BUGS
-|   |-- COPYING
-|   |-- CREDITS
-|   |-- ChangeLog
-|   |-- ChangeLog_2001-2008
-|   |-- INSTALL
-|   |-- Makefile.am
-|   |-- Makefile.in
-|   |-- NEWS
-|   |-- README
-|   |-- aclocal.m4
-|   |-- compile
-|   |-- config.guess
-|   |-- config.h.in
-|   |-- config.rpath
-|   |-- config.sub
-|   |-- configure
-|   |-- configure.ac
-|   |-- depcomp
-|   |-- doc
-|   |   |-- Makefile.am
-|   |   |-- Makefile.in
-|   |   |-- README.doc
-|   |   |-- devref.doxyconf-html.in
-|   |   |-- devref.doxyconf-latex.in
-|   |   |-- devref.tex
-|   |   |-- fdl.dox
-|   |   |-- fdl.pdf
-|   |   |-- fdl.ps.gz
-|   |   |-- fdl.tex
-|   |   |-- fdl.txt
-|   |   |-- gpl.dox
-|   |   |-- gpl.pdf
-|   |   |-- gpl.ps.gz
-|   |   |-- gpl.tex
-|   |   |-- gpl.txt
-|   |   |-- pwl-user-0.8-html.tar.gz
-|   |   |-- pwl-user-0.8.pdf
-|   |   |-- pwl-user-0.8.ps.gz
-|   |   |-- pwl.sty
-|   |   |-- user.doxyconf-html.in
-|   |   |-- user.doxyconf-latex.in
-|   |   `-- user.tex
-|   |-- install-sh
-|   |-- ltmain.sh
-|   |-- m4
-|   |   |-- Makefile.am
-|   |   |-- Makefile.in
-|   |   |-- lib-ld.m4
-|   |   |-- lib-link.m4
-|   |   |-- libtool.m4
-|   |   |-- ltoptions.m4
-|   |   |-- ltsugar.m4
-|   |   |-- ltversion.m4
-|   |   `-- lt~obsolete.m4
-|   |-- missing
-|   |-- mkinstalldirs
-|   |-- pwl-config.h.in
-|   |-- pwl-config.sed
-|   |-- src
-|   |   |-- Doubly_Linked_Object.defs.hh
-|   |   |-- Doubly_Linked_Object.inlines.hh
-|   |   |-- Doubly_Linked_Object.types.hh
-|   |   |-- EList.defs.hh
-|   |   |-- EList.inlines.hh
-|   |   |-- EList.types.hh
-|   |   |-- EList_Iterator.defs.hh
-|   |   |-- EList_Iterator.inlines.hh
-|   |   |-- EList_Iterator.types.hh
-|   |   |-- Handler.defs.hh
-|   |   |-- Handler.inlines.hh
-|   |   |-- Handler.types.hh
-|   |   |-- Makefile.am
-|   |   |-- Makefile.in
-|   |   |-- Pending_Element.defs.hh
-|   |   |-- Pending_Element.inlines.hh
-|   |   |-- Pending_Element.types.hh
-|   |   |-- Pending_List.defs.hh
-|   |   |-- Pending_List.inlines.hh
-|   |   |-- Pending_List.templates.hh
-|   |   |-- Pending_List.types.hh
-|   |   |-- Threshold_Watcher.cc
-|   |   |-- Threshold_Watcher.defs.hh
-|   |   |-- Threshold_Watcher.inlines.hh
-|   |   |-- Threshold_Watcher.templates.hh
-|   |   |-- Threshold_Watcher.types.hh
-|   |   |-- Time.cc
-|   |   |-- Time.defs.hh
-|   |   |-- Time.inlines.hh
-|   |   |-- Time.types.hh
-|   |   |-- Watchdog.cc
-|   |   |-- Watchdog.defs.hh
-|   |   |-- Watchdog.inlines.hh
-|   |   |-- Watchdog.types.hh
-|   |   |-- pwl.hh.dist
-|   |   `-- pwl_header.hh
-|   |-- tests
-|   |   |-- Makefile.am
-|   |   |-- Makefile.in
-|   |   |-- pwl_test.cc
-|   |   |-- pwl_test.hh
-|   |   |-- valgrind_suppressions
-|   |   `-- watchdog1.cc
-|   `-- utils
-|       |-- Makefile.am
-|       |-- Makefile.in
-|       `-- build_header.in
 |-- aclocal.m4
 |-- compile
 |-- config.guess
@@ -423,6 +322,7 @@ ppl-0.11.2
 |   |-- Makefile.am
 |   |-- Makefile.in
 |   |-- README.doc
+|   |-- bugseng_logo.pdf
 |   |-- definitions.dox
 |   |-- devref-language-interface.doxyconf.in
 |   |-- devref-language-interface.tex
@@ -444,22 +344,23 @@ ppl-0.11.2
 |   |-- libppl.3
 |   |-- libppl_c.3
 |   |-- ppl-config.1
-|   |-- ppl-user-0.11.2-html.tar.gz
-|   |-- ppl-user-0.11.2.pdf
-|   |-- ppl-user-0.11.2.ps.gz
-|   |-- ppl-user-c-interface-0.11.2-html.tar.gz
-|   |-- ppl-user-c-interface-0.11.2.pdf
-|   |-- ppl-user-c-interface-0.11.2.ps.gz
-|   |-- ppl-user-java-interface-0.11.2-html.tar.gz
-|   |-- ppl-user-java-interface-0.11.2.pdf
-|   |-- ppl-user-java-interface-0.11.2.ps.gz
-|   |-- ppl-user-ocaml-interface-0.11.2-html.tar.gz
-|   |-- ppl-user-ocaml-interface-0.11.2.pdf
-|   |-- ppl-user-ocaml-interface-0.11.2.ps.gz
-|   |-- ppl-user-prolog-interface-0.11.2-html.tar.gz
-|   |-- ppl-user-prolog-interface-0.11.2.pdf
-|   |-- ppl-user-prolog-interface-0.11.2.ps.gz
+|   |-- ppl-user-1.0-html.tar.gz
+|   |-- ppl-user-1.0.pdf
+|   |-- ppl-user-1.0.ps.gz
+|   |-- ppl-user-c-interface-1.0-html.tar.gz
+|   |-- ppl-user-c-interface-1.0.pdf
+|   |-- ppl-user-c-interface-1.0.ps.gz
+|   |-- ppl-user-ocaml-interface-1.0-html.tar.gz
+|   |-- ppl-user-ocaml-interface-1.0.pdf
+|   |-- ppl-user-ocaml-interface-1.0.ps.gz
+|   |-- ppl-user-prolog-interface-1.0-html.tar.gz
+|   |-- ppl-user-prolog-interface-1.0.pdf
+|   |-- ppl-user-prolog-interface-1.0.ps.gz
+|   |-- ppl.bib
 |   |-- ppl.sty
+|   |-- ppl_citations.bib
+|   |-- ppl_logo.pdf
+|   |-- ppl_logo_no_ppl.pdf
 |   |-- user-language-interface.doxyconf.in
 |   |-- user-language-interface.tex
 |   |-- user.doxyconf-html.in
@@ -639,7 +540,12 @@ ppl-0.11.2
 |   |   |   `-- ppl_prolog_sysdep.hh
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
+|   |   |-- Prolog_configured_interface.dox
 |   |   |-- Prolog_interface.dox
+|   |   |-- Prolog_interface_compilation.dox
+|   |   |-- Prolog_interface_sysdep.dox
+|   |   |-- Prolog_interface_sysindep.dox
+|   |   |-- Prolog_interface_sysindep_domains.dox
 |   |   |-- SICStus
 |   |   |   |-- Makefile.am
 |   |   |   |-- Makefile.in
@@ -708,8 +614,6 @@ ppl-0.11.2
 |   |   |-- ppl_prolog_common.cc
 |   |   |-- ppl_prolog_common.defs.hh
 |   |   |-- ppl_prolog_common.inlines.hh
-|   |   |-- ppl_prolog_sysdep_dox
-|   |   |-- ppl_prolog_sysindep_dox
 |   |   `-- tests
 |   |       |-- Makefile.am
 |   |       |-- Makefile.in
@@ -781,25 +685,18 @@ ppl-0.11.2
 |   |-- ac_check_yap.m4
 |   |-- ac_cxx_attribute_weak.m4
 |   |-- ac_cxx_double_binary_format.m4
-|   |-- ac_cxx_double_exact_output.m4
-|   |-- ac_cxx_flexible_arrays.m4
 |   |-- ac_cxx_float_binary_format.m4
-|   |-- ac_cxx_float_exact_output.m4
 |   |-- ac_cxx_ieee_inexact_flag.m4
 |   |-- ac_cxx_limit_memory.m4
 |   |-- ac_cxx_long_double_binary_format.m4
-|   |-- ac_cxx_long_double_exact_output.m4
 |   |-- ac_cxx_plain_char_is_signed.m4
 |   |-- ac_cxx_proper_long_double.m4
-|   |-- ac_cxx_remainder_bug.m4
+|   |-- ac_cxx_zero_length_arrays.m4
 |   |-- ac_prog_jar.m4
 |   |-- ac_prog_java.m4
 |   |-- ac_prog_javac.m4
 |   |-- ac_prog_javah.m4
 |   |-- ac_text_md5sum.m4
-|   |-- lib-ld.m4
-|   |-- lib-link.m4
-|   |-- lib-prefix.m4
 |   |-- libtool.m4
 |   |-- ltoptions.m4
 |   |-- ltsugar.m4
@@ -827,6 +724,7 @@ ppl-0.11.2
 |   |-- BHRZ03_Certificate.inlines.hh
 |   |-- BHRZ03_Certificate.types.hh
 |   |-- BUGS.cc.dist
+|   |-- BUGS.hh.dist
 |   |-- Bit_Matrix.cc
 |   |-- Bit_Matrix.defs.hh
 |   |-- Bit_Matrix.inlines.hh
@@ -844,12 +742,23 @@ ppl-0.11.2
 |   |-- Box_Status.idefs.hh
 |   |-- Box_Status.inlines.hh
 |   |-- COPYING.cc.dist
+|   |-- COPYING.hh.dist
+|   |-- CO_Tree.cc
+|   |-- CO_Tree.defs.hh
+|   |-- CO_Tree.inlines.hh
+|   |-- CO_Tree.templates.hh
+|   |-- CO_Tree.types.hh
 |   |-- CREDITS.cc.dist
+|   |-- CREDITS.hh.dist
 |   |-- C_Integer.hh
 |   |-- C_Polyhedron.cc
 |   |-- C_Polyhedron.defs.hh
 |   |-- C_Polyhedron.inlines.hh
 |   |-- C_Polyhedron.types.hh
+|   |-- Cast_Floating_Point_Expression.defs.hh
+|   |-- Cast_Floating_Point_Expression.inlines.hh
+|   |-- Cast_Floating_Point_Expression.templates.hh
+|   |-- Cast_Floating_Point_Expression.types.hh
 |   |-- Checked_Number.cc
 |   |-- Checked_Number.defs.hh
 |   |-- Checked_Number.inlines.hh
@@ -860,6 +769,10 @@ ppl-0.11.2
 |   |-- Coefficient.inlines.hh
 |   |-- Coefficient.types.hh
 |   |-- Coefficient_traits_template.hh
+|   |-- Concrete_Expression.cc
+|   |-- Concrete_Expression.defs.hh
+|   |-- Concrete_Expression.inlines.hh
+|   |-- Concrete_Expression.types.hh
 |   |-- Congruence.cc
 |   |-- Congruence.defs.hh
 |   |-- Congruence.inlines.hh
@@ -868,6 +781,9 @@ ppl-0.11.2
 |   |-- Congruence_System.defs.hh
 |   |-- Congruence_System.inlines.hh
 |   |-- Congruence_System.types.hh
+|   |-- Constant_Floating_Point_Expression.defs.hh
+|   |-- Constant_Floating_Point_Expression.inlines.hh
+|   |-- Constant_Floating_Point_Expression.types.hh
 |   |-- Constraint.cc
 |   |-- Constraint.defs.hh
 |   |-- Constraint.inlines.hh
@@ -884,12 +800,45 @@ ppl-0.11.2
 |   |-- DB_Row.inlines.hh
 |   |-- DB_Row.templates.hh
 |   |-- DB_Row.types.hh
+|   |-- Dense_Row.cc
+|   |-- Dense_Row.defs.hh
+|   |-- Dense_Row.inlines.hh
+|   |-- Dense_Row.templates.hh
+|   |-- Dense_Row.types.hh
 |   |-- Determinate.defs.hh
 |   |-- Determinate.inlines.hh
 |   |-- Determinate.types.hh
+|   |-- Difference_Floating_Point_Expression.defs.hh
+|   |-- Difference_Floating_Point_Expression.inlines.hh
+|   |-- Difference_Floating_Point_Expression.templates.hh
+|   |-- Difference_Floating_Point_Expression.types.hh
+|   |-- Division_Floating_Point_Expression.defs.hh
+|   |-- Division_Floating_Point_Expression.inlines.hh
+|   |-- Division_Floating_Point_Expression.templates.hh
+|   |-- Division_Floating_Point_Expression.types.hh
+|   |-- Doubly_Linked_Object.defs.hh
+|   |-- Doubly_Linked_Object.inlines.hh
+|   |-- Doubly_Linked_Object.types.hh
+|   |-- EList.defs.hh
+|   |-- EList.inlines.hh
+|   |-- EList.types.hh
+|   |-- EList_Iterator.defs.hh
+|   |-- EList_Iterator.inlines.hh
+|   |-- EList_Iterator.types.hh
+|   |-- Expression_Hide_Inhomo.defs.hh
+|   |-- Expression_Hide_Inhomo.inlines.hh
+|   |-- Expression_Hide_Inhomo.types.hh
+|   |-- Expression_Hide_Last.defs.hh
+|   |-- Expression_Hide_Last.inlines.hh
+|   |-- Expression_Hide_Last.types.hh
 |   |-- Float.cc
 |   |-- Float.defs.hh
 |   |-- Float.inlines.hh
+|   |-- Float.templates.hh
+|   |-- Floating_Point_Expression.defs.hh
+|   |-- Floating_Point_Expression.inlines.hh
+|   |-- Floating_Point_Expression.templates.hh
+|   |-- Floating_Point_Expression.types.hh
 |   |-- GMP_Integer.defs.hh
 |   |-- GMP_Integer.inlines.hh
 |   |-- GMP_Integer.types.hh
@@ -930,11 +879,15 @@ ppl-0.11.2
 |   |-- H79_Certificate.defs.hh
 |   |-- H79_Certificate.inlines.hh
 |   |-- H79_Certificate.types.hh
+|   |-- Handler.defs.hh
+|   |-- Handler.inlines.hh
+|   |-- Handler.types.hh
 |   |-- Has_Assign_Or_Swap.hh
 |   |-- Init.cc
 |   |-- Init.defs.hh
 |   |-- Init.inlines.hh
 |   |-- Init.types.hh
+|   |-- Integer_Interval.hh
 |   |-- Interval.defs.hh
 |   |-- Interval.inlines.hh
 |   |-- Interval.templates.hh
@@ -942,18 +895,26 @@ ppl-0.11.2
 |   |-- Interval_Info.defs.hh
 |   |-- Interval_Info.inlines.hh
 |   |-- Interval_Info.types.hh
-|   |-- Interval_Restriction.defs.hh
 |   |-- Linear_Expression.cc
 |   |-- Linear_Expression.defs.hh
 |   |-- Linear_Expression.inlines.hh
 |   |-- Linear_Expression.types.hh
-|   |-- Linear_Row.cc
-|   |-- Linear_Row.defs.hh
-|   |-- Linear_Row.inlines.hh
-|   |-- Linear_Row.types.hh
-|   |-- Linear_System.cc
+|   |-- Linear_Expression_Impl.cc
+|   |-- Linear_Expression_Impl.defs.hh
+|   |-- Linear_Expression_Impl.inlines.hh
+|   |-- Linear_Expression_Impl.templates.hh
+|   |-- Linear_Expression_Impl.types.hh
+|   |-- Linear_Expression_Interface.cc
+|   |-- Linear_Expression_Interface.defs.hh
+|   |-- Linear_Expression_Interface.types.hh
+|   |-- Linear_Form.cc
+|   |-- Linear_Form.defs.hh
+|   |-- Linear_Form.inlines.hh
+|   |-- Linear_Form.templates.hh
+|   |-- Linear_Form.types.hh
 |   |-- Linear_System.defs.hh
 |   |-- Linear_System.inlines.hh
+|   |-- Linear_System.templates.hh
 |   |-- Linear_System.types.hh
 |   |-- MIP_Problem.cc
 |   |-- MIP_Problem.defs.hh
@@ -962,10 +923,14 @@ ppl-0.11.2
 |   |-- MIP_Problem.types.hh
 |   |-- Makefile.am
 |   |-- Makefile.in
-|   |-- Matrix.cc
 |   |-- Matrix.defs.hh
 |   |-- Matrix.inlines.hh
+|   |-- Matrix.templates.hh
 |   |-- Matrix.types.hh
+|   |-- Multiplication_Floating_Point_Expression.defs.hh
+|   |-- Multiplication_Floating_Point_Expression.inlines.hh
+|   |-- Multiplication_Floating_Point_Expression.templates.hh
+|   |-- Multiplication_Floating_Point_Expression.types.hh
 |   |-- NNC_Polyhedron.cc
 |   |-- NNC_Polyhedron.defs.hh
 |   |-- NNC_Polyhedron.inlines.hh
@@ -982,6 +947,9 @@ ppl-0.11.2
 |   |-- Octagonal_Shape.types.hh
 |   |-- Og_Status.idefs.hh
 |   |-- Og_Status.inlines.hh
+|   |-- Opposite_Floating_Point_Expression.defs.hh
+|   |-- Opposite_Floating_Point_Expression.inlines.hh
+|   |-- Opposite_Floating_Point_Expression.types.hh
 |   |-- PIP_Problem.cc
 |   |-- PIP_Problem.defs.hh
 |   |-- PIP_Problem.inlines.hh
@@ -999,6 +967,13 @@ ppl-0.11.2
 |   |-- Partially_Reduced_Product.inlines.hh
 |   |-- Partially_Reduced_Product.templates.hh
 |   |-- Partially_Reduced_Product.types.hh
+|   |-- Pending_Element.defs.hh
+|   |-- Pending_Element.inlines.hh
+|   |-- Pending_Element.types.hh
+|   |-- Pending_List.defs.hh
+|   |-- Pending_List.inlines.hh
+|   |-- Pending_List.templates.hh
+|   |-- Pending_List.types.hh
 |   |-- Ph_Status.cc
 |   |-- Ph_Status.idefs.hh
 |   |-- Ph_Status.inlines.hh
@@ -1020,8 +995,12 @@ ppl-0.11.2
 |   |-- Polyhedron.templates.hh
 |   |-- Polyhedron.types.hh
 |   |-- Polyhedron_chdims.cc
+|   |-- Polyhedron_chdims.templates.hh
+|   |-- Polyhedron_conversion.templates.hh
+|   |-- Polyhedron_minimize.templates.hh
 |   |-- Polyhedron_nonpublic.cc
 |   |-- Polyhedron_public.cc
+|   |-- Polyhedron_simplify.templates.hh
 |   |-- Polyhedron_widenings.cc
 |   |-- Powerset.defs.hh
 |   |-- Powerset.inlines.hh
@@ -1036,35 +1015,60 @@ ppl-0.11.2
 |   |-- Result.inlines.hh
 |   |-- Rounding_Dir.defs.hh
 |   |-- Rounding_Dir.inlines.hh
-|   |-- Row.cc
-|   |-- Row.defs.hh
-|   |-- Row.inlines.hh
-|   |-- Row.types.hh
 |   |-- Scalar_Products.cc
 |   |-- Scalar_Products.defs.hh
 |   |-- Scalar_Products.inlines.hh
 |   |-- Scalar_Products.types.hh
 |   |-- Slow_Copy.hh
+|   |-- Sparse_Row.cc
+|   |-- Sparse_Row.defs.hh
+|   |-- Sparse_Row.inlines.hh
+|   |-- Sparse_Row.templates.hh
+|   |-- Sparse_Row.types.hh
+|   |-- Sum_Floating_Point_Expression.defs.hh
+|   |-- Sum_Floating_Point_Expression.inlines.hh
+|   |-- Sum_Floating_Point_Expression.templates.hh
+|   |-- Sum_Floating_Point_Expression.types.hh
+|   |-- Swapping_Vector.defs.hh
+|   |-- Swapping_Vector.inlines.hh
+|   |-- Swapping_Vector.types.hh
 |   |-- Temp.defs.hh
 |   |-- Temp.inlines.hh
 |   |-- Temp.templates.hh
-|   |-- Topology.hh
+|   |-- Threshold_Watcher.cc
+|   |-- Threshold_Watcher.defs.hh
+|   |-- Threshold_Watcher.inlines.hh
+|   |-- Threshold_Watcher.templates.hh
+|   |-- Threshold_Watcher.types.hh
+|   |-- Time.cc
+|   |-- Time.defs.hh
+|   |-- Time.inlines.hh
+|   |-- Time.types.hh
+|   |-- Topology.types.hh
 |   |-- Variable.cc
 |   |-- Variable.defs.hh
 |   |-- Variable.inlines.hh
 |   |-- Variable.types.hh
+|   |-- Variable_Floating_Point_Expression.defs.hh
+|   |-- Variable_Floating_Point_Expression.inlines.hh
+|   |-- Variable_Floating_Point_Expression.types.hh
 |   |-- Variables_Set.cc
 |   |-- Variables_Set.defs.hh
 |   |-- Variables_Set.inlines.hh
 |   |-- Variables_Set.types.hh
 |   |-- WRD_coefficient_types.defs.hh
 |   |-- WRD_coefficient_types.inlines.hh
+|   |-- Watchdog.cc
+|   |-- Watchdog.defs.hh
+|   |-- Watchdog.inlines.hh
+|   |-- Watchdog.types.hh
 |   |-- Weight_Profiler.cc
 |   |-- Weight_Profiler.defs.hh
 |   |-- Widening_Function.defs.hh
 |   |-- Widening_Function.inlines.hh
 |   |-- Widening_Function.types.hh
 |   |-- algorithms.hh
+|   |-- assert.cc
 |   |-- assert.hh
 |   |-- assign_or_swap.hh
 |   |-- c_streambuf.cc
@@ -1081,7 +1085,6 @@ ppl-0.11.2
 |   |-- checked_mpz.inlines.hh
 |   |-- checked_numeric_limits.hh
 |   |-- compiler.hh
-|   |-- conversion.cc
 |   |-- distances.defs.hh
 |   |-- distances.inlines.hh
 |   |-- distances.types.hh
@@ -1101,11 +1104,11 @@ ppl-0.11.2
 |   |-- iterator_to_const.defs.hh
 |   |-- iterator_to_const.inlines.hh
 |   |-- iterator_to_const.types.hh
+|   |-- linearize.hh
 |   |-- math_utilities.defs.hh
 |   |-- math_utilities.inlines.hh
 |   |-- max_space_dimension.hh
 |   |-- meta_programming.hh
-|   |-- minimize.cc
 |   |-- mp_std_bits.cc
 |   |-- mp_std_bits.defs.hh
 |   |-- mp_std_bits.inlines.hh
@@ -1113,15 +1116,15 @@ ppl-0.11.2
 |   |-- ppl-config.cc.in
 |   |-- ppl.hh.dist
 |   |-- ppl_header.hh
-|   |-- simplify.cc
 |   |-- stdiobuf.cc
 |   |-- stdiobuf.defs.hh
 |   |-- stdiobuf.inlines.hh
 |   |-- stdiobuf.types.hh
-|   |-- swapping_sort.icc
+|   |-- swapping_sort.templates.hh
 |   |-- termination.cc
 |   |-- termination.defs.hh
 |   |-- termination.templates.hh
+|   |-- termination.types.hh
 |   |-- version.cc
 |   |-- version.hh.in
 |   |-- wrap_assign.hh
@@ -1275,6 +1278,26 @@ ppl-0.11.2
 |   |   |-- upperboundifexact1.cc
 |   |   |-- wrap1.cc
 |   |   `-- writebox1.cc
+|   |-- CO_Tree
+|   |   |-- Makefile.am
+|   |   |-- Makefile.in
+|   |   `-- cotree1.cc
+|   |-- Concrete_Expression
+|   |   |-- C_Expr.cc
+|   |   |-- C_Expr.defs.hh
+|   |   |-- C_Expr.inlines.hh
+|   |   |-- Makefile.am
+|   |   |-- Makefile.in
+|   |   |-- bdshape1.cc
+|   |   |-- bdshape2.cc
+|   |   |-- digitalfilters1.cc
+|   |   |-- linearform1.cc
+|   |   |-- linearize.cc
+|   |   |-- octagonalshape1.cc
+|   |   |-- octagonalshape2.cc
+|   |   |-- polyhedron1.cc
+|   |   |-- polyhedron2.cc
+|   |   `-- run_tests
 |   |-- Grid
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
@@ -1379,7 +1402,8 @@ ppl-0.11.2
 |   |   |-- exceptions1.cc
 |   |   |-- mipproblem1.cc
 |   |   |-- mipproblem2.cc
-|   |   `-- mipproblem3.cc
+|   |   |-- mipproblem3.cc
+|   |   `-- mipproblem4.cc
 |   |-- Makefile.am
 |   |-- Makefile.in
 |   |-- Octagonal_Shape
@@ -1462,7 +1486,8 @@ ppl-0.11.2
 |   |   |-- exceptions1.cc
 |   |   |-- pipproblem1.cc
 |   |   |-- pipproblem2.cc
-|   |   `-- pipproblem3.cc
+|   |   |-- pipproblem3.cc
+|   |   `-- weightwatch1.cc
 |   |-- Partially_Reduced_Product
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
@@ -1620,6 +1645,7 @@ ppl-0.11.2
 |   |   |-- removespacedims2.cc
 |   |   |-- simplifyusingcontext1.cc
 |   |   |-- smm1.cc
+|   |   |-- sparserow1.cc
 |   |   |-- termination1.cc
 |   |   |-- termination2.cc
 |   |   |-- timeelapse1.cc
@@ -1688,6 +1714,10 @@ ppl-0.11.2
 |   |-- Random_Number_Generator.defs.hh
 |   |-- Random_Number_Generator.inlines.hh
 |   |-- Random_Number_Generator.types.hh
+|   |-- Watchdog
+|   |   |-- Makefile.am
+|   |   |-- Makefile.in
+|   |   `-- watchdog1.cc
 |   |-- files.cc
 |   |-- files.hh
 |   |-- ppl_test.cc
@@ -1707,23 +1737,23 @@ ppl-0.11.2
 --------
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
-This file is part of the Parma Polyhedra Library (PPL).
+This document describes the Parma Polyhedra Library (PPL).
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PPL in files called `fdl.*'.
+of each distribution of the PPL in files named `fdl.*'.
 
 The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.  The license is included, in various
 formats, in the `doc' subdirectory of each distribution of the PPL in
-files called `gpl.*'.
+files named `gpl.*'.
 
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -1735,4 +1765,4 @@ licenses along with the PPL, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
diff --git a/README.alpha b/README.alpha
index fca425c..5e9e6fa 100644
--- a/README.alpha
+++ b/README.alpha
@@ -1,3 +1,11 @@
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+See below for the copying conditions.
+
+
+Configuration of the Parma Polyhedra Library on the Alpha
+=========================================================
+
 There appears to be a bug in GCC (all versions up to and including
 4.3.x) concerning exception handling on the Alpha.  This may be
 related to
@@ -15,3 +23,37 @@ In other words, under this hypothesis (which we have no way to check),
 users that are not interested in catching exceptions thrown by the PPL
 (in response to invalid arguments, heap exhaustion, overflows, ...)
 should probably not worry.  Your mileage may vary...
+
+
+--------
+
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This document describes the Parma Polyhedra Library (PPL).
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+The license is included, in various formats, in the `doc' subdirectory
+of each distribution of the PPL in files named `fdl.*'.
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.  The license is included, in various
+formats, in the `doc' subdirectory of each distribution of the PPL in
+files named `gpl.*'.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ .
diff --git a/README.arm b/README.arm
index 552a0b6..18e2bad 100644
--- a/README.arm
+++ b/README.arm
@@ -1,12 +1,54 @@
-On the ARM, whether or not the rounding mode can be set in a way that allows
-the PPL to work with floating point numbers, will depend on the actual
-hardware.  However, disabling the affected PPL code at run-time is
-impractical.  Thus, to ensure that the binary distributions of the PPL for the
-ARM work as expected on any hardware, on the ARM, the affected code
-is disabled at compile-time.  It is still possible to build a binary
-for the ARM that assumes the hardware can control the rounding mode;
-for this, configure the PPL with `-DPPL_ARM_CAN_CONTROL_FPU=1' included in
-CPPFLAGS.
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+See below for the copying conditions.
+
+
+Configuration of the Parma Polyhedra Library on the ARM
+=======================================================
+
+On the ARM, whether or not the rounding mode can be set in a way that
+allows the PPL to work with floating point numbers, will depend on the
+actual hardware.  However, disabling the affected PPL code at run-time
+is impractical.  Thus, to ensure that the binary distributions of the
+PPL for the ARM work as expected on any hardware, on the ARM, the
+affected code is disabled at compile-time.  It is still possible to
+build a binary for the ARM that assumes the hardware can control the
+rounding mode; for this, configure the PPL with
+`-DPPL_ARM_CAN_CONTROL_FPU=1' included in CPPFLAGS.
 For example:
 
   CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1" .../configure ...
+
+
+--------
+
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This document describes the Parma Polyhedra Library (PPL).
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+The license is included, in various formats, in the `doc' subdirectory
+of each distribution of the PPL in files named `fdl.*'.
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.  The license is included, in various
+formats, in the `doc' subdirectory of each distribution of the PPL in
+files named `gpl.*'.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ .
diff --git a/README.configure b/README.configure
index d25ac3f..7181c84 100644
--- a/README.configure
+++ b/README.configure
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 See below for the copying conditions.
 
 
@@ -9,26 +9,29 @@ Configuration of the Parma Polyhedra Library
 Contents
 --------
 
-1. The Standard Thing (configure, make, make install)
-2. Using the Right Version of GMP
-3. Using the Right C and C++ Compilers
-4. Enabling the Use of Alternative Coefficient Types
-5. Configuring the Language Interfaces
-6. Configuring for Optimized Performance
-7. Configuring for Debugging
-8. Programs that Come with the Library
-9. Using the CVS Sources
+ 1. The Standard Thing (configure, make, make install)
+ 2. Using the Right Version of GMP
+ 3. Using the Right C and C++ Compilers
+ 4. Enabling the Use of Alternative Coefficient Types
+ 5. Configuring the Language Interfaces
+ 6. Configuring for Optimized Performance
+ 7. Advanced Performance Tuning
+ 8. Configuring for Debugging
+ 9. Programs that Come with the Library
+10. Using the Git Sources
 
 
 1. The Standard Thing (configure, make, make install)
 -----------------------------------------------------
 
 In an ideal situation (i.e., on a more or less standard Un*x
-environment, with the right compilers, the GMP library installed in a
-standard place and provided the user is satisfied with all the options
-we chose as defaults), a source distribution of the Parma Polyhedra
-Library (PPL) can be unpacked, configured, built and installed with
-the following, well-known procedure:
+environment, with the right C++ compiler to compile the core library
+as well as the right compilers to compile all the enabled language
+interfaces, with the GMP library installed in a standard place and
+provided the user is satisfied with all the options we chose as
+defaults), a source distribution of the Parma Polyhedra Library (PPL)
+can be unpacked, configured, built and installed with the following,
+well-known procedure:
 
   $ tar jxf ppl-x.y.tar.bz2
   $ ./configure
@@ -100,7 +103,7 @@ is not standard for your compiler and/or for your linker, you will
 have to make sure the configure script of the PPL is invoked with,
 among others, the option
 
-  --with-gmp-prefix=<GMP prefix>
+  --with-gmp=<GMP prefix>
 
 If you use shared libraries, consult the documentation of your dynamic
 linker/loader (`man ld.so' will do on most Un*x-like systems) to see
@@ -152,7 +155,7 @@ you can configure the PPL with a command like
 
   /path/to/ppl-x.y/configure --with-cxx=icpc --with-cc=icc \
     --with-cxxflags=-pch \
-    --with-gmp-prefix=/opt/intel/Compiler/11.1/072
+    --with-gmp=/opt/intel/Compiler/11.1/072
 
 Notice that the `--with-cxxflags' option is not essential here and is
 only included to show how extra compiler options can be passed to the
@@ -169,7 +172,7 @@ Then you can configure the PPL with a command like
   /path/to/ppl/configure --with-cc="como --c" --with-cxx="como -tused" \
     --with-cxxflags="-g++ --remarks --long_long \
     --display_error_number --diag_suppress 340,401,679" \
-    --disable-shared --with-gmp-prefix=/opt/comeau/local
+    --disable-shared --with-gmp=/opt/comeau/local
 
 Notice the use of the option `--disable-shared' both in the configuration
 of GMP and the configuration of the PPL.  This is due to the fact that
@@ -371,7 +374,42 @@ in decreasing order of optimization, `--enable-optimization=mild'
 configure options that are useful for debugging purposes.
 
 
-7. Configuring for Debugging
+7. Advanced Performance Tuning
+------------------------------
+
+Starting from version 1.0, the library fully supports two different
+representations for rows (i.e., sequences of coefficients):
+
+  - the "dense" representation is an array-like representation tailored
+    to sequences having most of their coefficients different from zero;
+
+  - the "sparse" representation saves memory space (as well as CPU
+    cycles) when most of the coefficients in the sequence are zero.
+
+A generic interface allows for a seamless interaction between the
+dense and the sparse row representation. Most library entities (linear
+expressions, constraints, generators, congruences, and their systems)
+can be built using either representation, specified as a constructor's
+argument. Reasonable default values for the row representation are
+provided for each library entity, automatically leading to significant
+memory space savings even in old client/library code, e.g., when
+dealing with constraint systems describing weakly relational
+abstractions such as boxes and octagonal shapes.
+
+If desired, these default values can be customized to user's needs by
+changing just a few lines of library code. For instance, the
+constraint systems stored inside C_Polyhedron and NNC_Polyhedron
+objects can be made to use the sparse representation by just changing
+the following line in Polyhedron.defs.hh:
+
+  static const Representation default_con_sys_repr = DENSE;
+
+to become
+
+  static const Representation default_con_sys_repr = SPARSE;
+
+
+8. Configuring for Debugging
 ----------------------------
 
 By default, the PPL is configured with debugging information enabled.
@@ -409,7 +447,7 @@ In order to assess the coverage of the PPL test suite, the
 code to be used in conjunction with the `gcov' coverage testing tool.
 
 
-8. Programs that Come with the Library
+9. Programs that Come with the Library
 --------------------------------------
 
 The PPL is shipped with two programs that are interesting per se, and
@@ -437,11 +475,11 @@ In exchange, you will give up an important opportunity to discover
 whether the version of PPL you have built has been miscompiled.
 
 
-9. Using the CVS Sources
-------------------------
+10. Using the Git Sources
+-------------------------
 
-If you use the CVS sources, then you need recent versions of Autoconf
-Automake and Libtool installed.  After a `cvs checkout' or `cvs update'
+If you use the Git sources, then you need recent versions of Autoconf
+Automake and Libtool installed.  After a `git clone' or `git pull'
 you should run the `autoreconf' command.  In case you have fiddled
 around with some of the configuration files, or if you have problems
 you cannot explain otherwise, use `autoreconf -f'.
@@ -450,23 +488,23 @@ you cannot explain otherwise, use `autoreconf -f'.
 --------
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
-This file is part of the Parma Polyhedra Library (PPL).
+This document describes the Parma Polyhedra Library (PPL).
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PPL in files called `fdl.*'.
+of each distribution of the PPL in files named `fdl.*'.
 
 The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.  The license is included, in various
 formats, in the `doc' subdirectory of each distribution of the PPL in
-files are called `gpl.*'.
+files named `gpl.*'.
 
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -478,4 +516,4 @@ licenses along with the PPL, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
diff --git a/README.solaris b/README.solaris
index e454198..ead4a76 100644
--- a/README.solaris
+++ b/README.solaris
@@ -1,8 +1,50 @@
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+See below for the copying conditions.
+
+
+Configuration of the Parma Polyhedra Library on Solaris
+=======================================================
+
 Build problems have been reported for Solaris 10, affecting the build
-of the Java language interface, which are due to the use of an
+of the (C, Java, ...) language interfaces, which are due to the use of an
 incompatible version of sed:
 
   https://www.cs.unipr.it/mantis/view.php?id=103
 
 The solution is to install and use GNU sed.
-This is recommended, even when only using the C++ language interface.
+This is recommended, even if only the C++ language interface is used.
+
+
+--------
+
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This document describes the Parma Polyhedra Library (PPL).
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+The license is included, in various formats, in the `doc' subdirectory
+of each distribution of the PPL in files named `fdl.*'.
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.  The license is included, in various
+formats, in the `doc' subdirectory of each distribution of the PPL in
+files named `gpl.*'.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ .
diff --git a/STANDARDS b/STANDARDS
index 2f0abfc..ea09010 100644
--- a/STANDARDS
+++ b/STANDARDS
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 See below for the copying conditions.
 
 
@@ -708,23 +708,23 @@ o  Ideally the tests should exercise every line of code in the library.
 --------
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
-This file is part of the Parma Polyhedra Library (PPL).
+This document describes the Parma Polyhedra Library (PPL).
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PPL in files called `fdl.*'.
+of each distribution of the PPL in files named `fdl.*'.
 
 The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.  The license is included, in various
 formats, in the `doc' subdirectory of each distribution of the PPL in
-files called `gpl.*'.
+files named `gpl.*'.
 
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -736,4 +736,4 @@ licenses along with the PPL, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
diff --git a/TODO b/TODO
index 0023df5..4c74e74 100644
--- a/TODO
+++ b/TODO
@@ -1,19 +1,18 @@
 
-Enhancements for PPL 0.12 or later versions
-===========================================
+Enhancements for PPL 1.1 or later versions
+==========================================
 
 - Make all the *affine*image() methods uniform as far as the
   specification is concerned.
 - Add the domains of bounded integers and affine spaces.
-- Finish the domain of intervals.
 - Intervals are best instantiated with checked numbers with
   particular policies: review all the interfaced boxes,
   augment the testsuite, and update the documentation.
 - Make the library thread-safe.
 - Modify the Makefile.am's to extend silent mode to our own rules.
 - Reduce the number of FIXMEs to no more than 20.
-- Consider switching to MLGMPIDL for the OCaml interface
-  (see https://bugzilla.redhat.com/show_bug.cgi?id=491712).
+- Base the OCaml interface on Zarith
+  (http://forge.ocamlcore.org/projects/zarith/) instead of MLGMP.
 - Improve the OCaml interface by supporting dynamic loading.
 - Enhance the support for systems not providing support for the IEEE
   inexact flag.
@@ -23,13 +22,6 @@ Enhancements for PPL 0.12 or later versions
   Explain it in README.configure.
 - Ensure the tests in tests/MIP_Problem/* cover every line of
   code in MIP_Problem.*.
-- Define functions rem() and remp() to compute the remainder of division
-  in the general case, for rem(), and in the case where the second
-  argument is known to be positive, for remp().  In the implementation
-  of rem(), if CXX_HAS_REMAINDER_BUG is nonzero, a suitable workaround
-  should be implemented to circumvent the INT_MIN % -1 bug.
-  rem() and remp() should be used (with a strong preference to the second,
-  of course) wherever we now use operator%().
 - Suppose we want to sum three numbers, and suppose we do it by
 
     add(T& to, const T& x, const T& y, const T& z) {
@@ -73,8 +65,8 @@ Enhancements for PPL 0.12 or later versions
 - Any_Pointset domain: check the interface for lacking or useless methods.
 
 
-Enhancements for PPL 0.13 or later versions
-===========================================
+Enhancements for PPL 1.2 or later versions
+==========================================
 
 - Find a way to let the GMP and checked-int versions of the PPL coexist
   so as to allow using them in the same application.
@@ -83,7 +75,7 @@ Enhancements for PPL 0.13 or later versions
   solutions (as is the case, e.g., in many program analyses).  Then
   cutting-plane methods (Gomory, Chvatal, ...) allow to shrink polyhedra
   still not losing any integral solution.
-  See http://www.cs.unipr.it/ppl/Documentation/bibliography#NemhauserW88
+  See http://bugseng.com/products/ppl/Documentation/bibliography#NemhauserW88
   Check the work by Kent Andersen and Gerard Cornuejols on
   reduce-and-split cuts.
 - Consider the addition of "constraint-only" methods (e.g., computing
@@ -115,8 +107,5 @@ Efficiency Issues
 - There must be a more efficient way to implement
   bool Polyhedron::is_disjoint_from(const Polyhedron&).
 - There must be a more efficient way to compute convex differences.
-- We are being rather careless about the creation of temporaries
-  as far as the classes Linear_Expression, Constraint and Generator
-  are concerned.
 - Provide a better implementation of computing squares in MIP_Problem's
   steepest-edge to avoid big numbers.
diff --git a/Watchdog/BUGS b/Watchdog/BUGS
deleted file mode 100644
index 4e96fe8..0000000
--- a/Watchdog/BUGS
+++ /dev/null
@@ -1,2 +0,0 @@
-
-Please report any bug you find to bagnara at cs.unipr.it.
diff --git a/Watchdog/COPYING b/Watchdog/COPYING
deleted file mode 100644
index 94a9ed0..0000000
--- a/Watchdog/COPYING
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/Watchdog/CREDITS b/Watchdog/CREDITS
deleted file mode 100644
index be59266..0000000
--- a/Watchdog/CREDITS
+++ /dev/null
@@ -1,12 +0,0 @@
-
-Authors
-=======
-
-The Parma Watchdog Library and its (non-existent) documentation have
-been designed, written, debugged and improved by Roberto Bagnara [1]
-<bagnara at cs.unipr.it>.
-
-
---------
-
- [1] http://www.cs.unipr.it/~bagnara/
diff --git a/Watchdog/ChangeLog b/Watchdog/ChangeLog
deleted file mode 100644
index fc5732e..0000000
--- a/Watchdog/ChangeLog
+++ /dev/null
@@ -1,1694 +0,0 @@
-2011-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* PPL 0.11.2 released.
-
-2011-02-27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, README, Watchdog/src/Makefile.am, configure.ac,
-	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
-	demos/ppl_pips/ppl_pips.1, doc/libppl.3, doc/libppl_c.3,
-	doc/ppl-config.1, doc/ppl-config_extra_man_text, src/Makefile.am: 
-	Preparation for the release of PPL 0.11.2.
-
-2011-02-23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/doc/devref.doxyconf-latex.in,
-	doc/devref-language-interface.doxyconf.in,
-	doc/devref.doxyconf-latex.in: Set INLINE_SOURCES = NO when producing
-	LaTeX documentation.  This change is a workaround to a pdftex + hyperref issue that may
-	result in the following error    \pdfendlink ended up in different nesting level than
-	   \pdfstartlink when using some versions of Doxygen (e.g., 1.7.3).  According to http://tug.org/errors.html the error is triggered when
-	a hyperlink is split across page boundaries and it can be generated
-	even by valid LaTeX code. Disabling source inlining is a way to
-	greatly decrease its likelihood.
-
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* PPL 0.11.1 released.
-
-2011-02-20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog: Mark ChangeLog.
-
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated.
-
-2011-02-19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, README, Watchdog/config.guess, Watchdog/config.sub,
-	config.guess, config.sub, demos/ppl_lcdd/ppl_lcdd.1,
-	demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_pips/ppl_pips.1,
-	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1: Updated for the
-	release of PPL 0.11.1.
-
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/.gitignore, interfaces/C/tests/.gitignore,
-	interfaces/Java/parma_polyhedra_library/.gitignore,
-	interfaces/Prolog/GNU/.gitignore, tests/Grid/.gitignore,
-	tests/PIP_Problem/.gitignore,
-	tests/Partially_Reduced_Product/.gitignore,
-	tests/Polyhedron/.gitignore: Updated.
-
-2011-02-14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/Makefile.am, demos/ppl_pips/Makefile.am,
-	interfaces/C/tests/Makefile.am, interfaces/OCaml/tests/Makefile.am,
-	interfaces/Prolog/SWI/Makefile.am, tests/Ask_Tell/Makefile.am,
-	tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
-	tests/Grid/Makefile.am, tests/MIP_Problem/Makefile.am,
-	tests/Octagonal_Shape/Makefile.am, tests/PIP_Problem/Makefile.am,
-	tests/Partially_Reduced_Product/Makefile.am,
-	tests/Polyhedron/Makefile.am, tests/Powerset/Makefile.am: Reduce the
-	argument of valgrind's --num-callers below the allowed maximum.
-
-2011-01-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, README, Watchdog/src/Makefile.am, configure.ac,
-	src/Makefile.am: Prepare for release 0.11.1.
-
-2011-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, NEWS, README, README.configure, STANDARDS,
-	Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
-	Watchdog/configure.ac, Watchdog/doc/Makefile.am,
-	Watchdog/doc/README.doc, Watchdog/doc/devref.tex,
-	Watchdog/doc/pwl.sty, Watchdog/doc/user.tex,
-	Watchdog/m4/Makefile.am, Watchdog/src/Doubly_Linked_Object.defs.hh,
-	Watchdog/src/Doubly_Linked_Object.inlines.hh,
-	Watchdog/src/Doubly_Linked_Object.types.hh,
-	Watchdog/src/EList.defs.hh, Watchdog/src/EList.inlines.hh,
-	Watchdog/src/EList.types.hh, Watchdog/src/EList_Iterator.defs.hh,
-	Watchdog/src/EList_Iterator.inlines.hh,
-	Watchdog/src/EList_Iterator.types.hh, Watchdog/src/Handler.defs.hh,
-	Watchdog/src/Handler.inlines.hh, Watchdog/src/Handler.types.hh,
-	Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
-	Watchdog/src/Pending_Element.inlines.hh,
-	Watchdog/src/Pending_Element.types.hh,
-	Watchdog/src/Pending_List.defs.hh,
-	Watchdog/src/Pending_List.inlines.hh,
-	Watchdog/src/Pending_List.templates.hh,
-	Watchdog/src/Pending_List.types.hh,
-	Watchdog/src/Threshold_Watcher.cc,
-	Watchdog/src/Threshold_Watcher.defs.hh,
-	Watchdog/src/Threshold_Watcher.inlines.hh,
-	Watchdog/src/Threshold_Watcher.templates.hh,
-	Watchdog/src/Threshold_Watcher.types.hh, Watchdog/src/Time.cc,
-	Watchdog/src/Time.defs.hh, Watchdog/src/Time.inlines.hh,
-	Watchdog/src/Time.types.hh, Watchdog/src/Watchdog.cc,
-	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh,
-	Watchdog/src/Watchdog.types.hh, Watchdog/src/pwl_header.hh,
-	Watchdog/tests/Makefile.am, Watchdog/tests/pwl_test.cc,
-	Watchdog/tests/pwl_test.hh, Watchdog/tests/watchdog1.cc,
-	Watchdog/utils/Makefile.am, Watchdog/utils/build_header.in,
-	configure.ac, debian/libppl-pwl.copyright.in,
-	debian/libppl.copyright.in, demos/Makefile.am,
-	demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/examples/Makefile.am,
-	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lcdd/ppl_lcdd.cc,
-	demos/ppl_lcdd/ppl_lcdd_extra_man_text,
-	demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/dummy.cc,
-	demos/ppl_lpsol/examples/Makefile.am,
-	demos/ppl_lpsol/glpk_set_d_eps.c, demos/ppl_lpsol/ppl_lpsol.1,
-	demos/ppl_lpsol/ppl_lpsol.c,
-	demos/ppl_lpsol/ppl_lpsol_extra_man_text,
-	demos/ppl_pips/Makefile.am, demos/ppl_pips/examples/Makefile.am,
-	demos/ppl_pips/ppl_pips.1, demos/ppl_pips/ppl_pips.cc,
-	demos/ppl_pips/ppl_pips_extra_man_text,
-	devtools/bump_copyright_years, devtools/generate_dox_biblio,
-	devtools/generate_dox_ci_prolog_manual,
-	devtools/generate_man_pages, devtools/print_nonascii_lines,
-	doc/Makefile.am, doc/README.doc, doc/definitions.dox,
-	doc/devref-language-interface.tex, doc/devref.tex, doc/libppl.3,
-	doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
-	doc/ppl.sty, doc/user-language-interface.tex, doc/user.tex,
-	fedora/ppl.hh, fedora/ppl_c.h, fedora/pwl.hh, instchk.hh,
-	interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
-	interfaces/C/ppl_c_header.h,
-	interfaces/C/ppl_c_implementation_common.cc,
-	interfaces/C/ppl_c_implementation_common.defs.hh,
-	interfaces/C/ppl_c_implementation_common.inlines.hh,
-	interfaces/C/ppl_c_version.h.in,
-	interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	interfaces/C/ppl_interface_generator_c_cc_files.m4,
-	interfaces/C/ppl_interface_generator_c_h.m4,
-	interfaces/C/ppl_interface_generator_c_h_code.m4,
-	interfaces/C/ppl_interface_generator_c_hh_files.m4,
-	interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
-	interfaces/C/tests/Makefile.am,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/pip_test.c, interfaces/C/tests/ppl_c_test.cc,
-	interfaces/C/tests/ppl_c_test.h,
-	interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h,
-	interfaces/C/tests/watchdog1.c, interfaces/C/tests/weightwatch1.c,
-	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
-	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	,
-	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m
-	4, interfaces/Java/jni/ppl_java_common.cc,
-	interfaces/Java/jni/ppl_java_common.defs.hh,
-	interfaces/Java/jni/ppl_java_common.inlines.hh,
-	interfaces/Java/jni/ppl_java_globals.cc,
-	interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java,
-	interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequen
-	ce.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overfl
-	ow.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Repres
-	entation.java,
-	interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.
-	java, interfaces/Java/parma_polyhedra_library/By_Reference.java,
-	interfaces/Java/parma_polyhedra_library/Coefficient.java,
-	interfaces/Java/parma_polyhedra_library/Complexity_Class.java,
-	interfaces/Java/parma_polyhedra_library/Congruence.java,
-	interfaces/Java/parma_polyhedra_library/Congruence_System.java,
-	interfaces/Java/parma_polyhedra_library/Constraint.java,
-	interfaces/Java/parma_polyhedra_library/Constraint_System.java,
-	interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
-	,
-	interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.jav
-	a, interfaces/Java/parma_polyhedra_library/Degenerate_Element.java,
-	interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
-	,
-	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	, interfaces/Java/parma_polyhedra_library/Generator.java,
-	interfaces/Java/parma_polyhedra_library/Generator_System.java,
-	interfaces/Java/parma_polyhedra_library/Generator_Type.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
-	interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java,
-	interfaces/Java/parma_polyhedra_library/IO.java,
-	interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.
-	java,
-	interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
-	, interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficie
-	nt.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Differenc
-	e.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.jav
-	a,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Min
-	us.java,
-	interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.
-	java,
-	interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java,
-	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
-	interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java,
-	interfaces/Java/parma_polyhedra_library/Makefile.am,
-	interfaces/Java/parma_polyhedra_library/Optimization_Mode.java,
-	interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.ja
-	va, interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
-	er_Name.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Paramet
-	er_Value.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java,
-	interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java,
-	interfaces/Java/parma_polyhedra_library/PPL_Object.java,
-	interfaces/Java/parma_polyhedra_library/Pair.java,
-	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
-	a, interfaces/Java/parma_polyhedra_library/Partial_Function.java,
-	interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java,
-	interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java,
-	interfaces/Java/parma_polyhedra_library/Relation_Symbol.java,
-	interfaces/Java/parma_polyhedra_library/Timeout_Exception.java,
-	interfaces/Java/parma_polyhedra_library/Variable.java,
-	interfaces/Java/parma_polyhedra_library/Variables_Set.java,
-	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
-	a_classes_java.m4,
-	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
-	a_classes_java_code.m4,
-	interfaces/Java/ppl_interface_generator_java_procedure_generators.m
-	4, interfaces/Java/tests/C_Polyhedron_test1.java,
-	interfaces/Java/tests/MIP_Problem_test1.java,
-	interfaces/Java/tests/Makefile.am,
-	interfaces/Java/tests/NNC_Polyhedron_test1.java,
-	interfaces/Java/tests/PIP_Problem_test1.java,
-	interfaces/Java/tests/PPL_Test.java,
-	interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
-	interfaces/Java/tests/Parma_Polyhedra_Library_test2.java,
-	interfaces/Java/tests/Test_Executor.java,
-	interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m
-	4, interfaces/Java/tests/ppl_java_tests_common,
-	interfaces/Makefile.am, interfaces/OCaml/Makefile.am,
-	interfaces/OCaml/OCaml_interface.dox,
-	interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
-	interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators
-	.m4, interfaces/OCaml/ppl_ocaml_common.cc,
-	interfaces/OCaml/ppl_ocaml_common.defs.hh,
-	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
-	interfaces/OCaml/ppl_ocaml_globals.ml,
-	interfaces/OCaml/ppl_ocaml_globals.mli,
-	interfaces/OCaml/tests/Makefile.am,
-	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4,
-	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
-	4, interfaces/OCaml/tests/ppl_ocaml_tests_common,
-	interfaces/OCaml/tests/test1.ml,
-	interfaces/Prolog/Ciao/Makefile.am,
-	interfaces/Prolog/Ciao/ciao_cfli.hh,
-	interfaces/Prolog/Ciao/ciao_clpq.pl,
-	interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	interfaces/Prolog/Ciao/ciao_efli.cc,
-	interfaces/Prolog/Ciao/ciao_efli.hh,
-	interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generate
-	d_test_pl.m4, interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/GNU/Makefile.am,
-	interfaces/Prolog/GNU/gnu_pl_check.pl,
-	interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
-	interfaces/Prolog/GNU/gp_clpq.pl,
-	interfaces/Prolog/GNU/gprolog_cfli.hh,
-	interfaces/Prolog/GNU/gprolog_efli.cc,
-	interfaces/Prolog/GNU/gprolog_efli.hh,
-	interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/Makefile.am,
-	interfaces/Prolog/Prolog_interface.dox,
-	interfaces/Prolog/SICStus/Makefile.am,
-	interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	interfaces/Prolog/SICStus/sicstus_cfli.h,
-	interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	interfaces/Prolog/SICStus/sicstus_efli.cc,
-	interfaces/Prolog/SICStus/sicstus_efli.hh,
-	interfaces/Prolog/SICStus/sp_clpq.pl,
-	interfaces/Prolog/SICStus/sp_pl_check.pl,
-	interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
-	interfaces/Prolog/SWI/Makefile.am,
-	interfaces/Prolog/SWI/pl_clpq.cc, interfaces/Prolog/SWI/pl_clpq.pl,
-	interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	interfaces/Prolog/SWI/ppl_pl.cc,
-	interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	interfaces/Prolog/SWI/swi_cfli.hh,
-	interfaces/Prolog/SWI/swi_efli.cc,
-	interfaces/Prolog/SWI/swi_efli.hh,
-	interfaces/Prolog/SWI/swi_pl_check.pl,
-	interfaces/Prolog/SWI/swi_prolog_generated_test.pl,
-	interfaces/Prolog/XSB/Makefile.am,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
-	interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_
-	test_P.m4, interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/XSB/xsb_cfli.hh,
-	interfaces/Prolog/XSB/xsb_clpq.P,
-	interfaces/Prolog/XSB/xsb_clpq2.P,
-	interfaces/Prolog/XSB/xsb_efli.cc,
-	interfaces/Prolog/XSB/xsb_efli.hh,
-	interfaces/Prolog/XSB/xsb_pl_check.P,
-	interfaces/Prolog/YAP/Makefile.am,
-	interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
-	interfaces/Prolog/YAP/ppl_prolog_sysdep.hh,
-	interfaces/Prolog/YAP/ppl_yap.pl,
-	interfaces/Prolog/YAP/yap_cfli.hh,
-	interfaces/Prolog/YAP/yap_clpq.pl,
-	interfaces/Prolog/YAP/yap_clpq2.pl,
-	interfaces/Prolog/YAP/yap_efli.cc,
-	interfaces/Prolog/YAP/yap_efli.hh,
-	interfaces/Prolog/YAP/yap_pl_check.pl,
-	interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
-	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4,
-	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
-	rs.m4, interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	interfaces/Prolog/ppl_prolog_common.cc,
-	interfaces/Prolog/ppl_prolog_common.defs.hh,
-	interfaces/Prolog/ppl_prolog_common.inlines.hh,
-	interfaces/Prolog/ppl_prolog_sysdep_dox,
-	interfaces/Prolog/ppl_prolog_sysindep_dox,
-	interfaces/Prolog/tests/Makefile.am,
-	interfaces/Prolog/tests/clpq.pl, interfaces/Prolog/tests/clpq2.pl,
-	interfaces/Prolog/tests/expected_clpq2_int16,
-	interfaces/Prolog/tests/expected_clpq2_int16_a,
-	interfaces/Prolog/tests/expected_clpq2_int32,
-	interfaces/Prolog/tests/expected_clpq2_int32_a,
-	interfaces/Prolog/tests/expected_clpq2_int64,
-	interfaces/Prolog/tests/expected_clpq2_int64_a,
-	interfaces/Prolog/tests/expected_clpq2_int8,
-	interfaces/Prolog/tests/expected_clpq2_int8_a,
-	interfaces/Prolog/tests/expected_clpq2_mpz,
-	interfaces/Prolog/tests/expected_clpq2_mpz_a,
-	interfaces/Prolog/tests/expected_clpq_int16,
-	interfaces/Prolog/tests/expected_clpq_int16_a,
-	interfaces/Prolog/tests/expected_clpq_int32,
-	interfaces/Prolog/tests/expected_clpq_int32_a,
-	interfaces/Prolog/tests/expected_clpq_int64,
-	interfaces/Prolog/tests/expected_clpq_int64_a,
-	interfaces/Prolog/tests/expected_clpq_int8,
-	interfaces/Prolog/tests/expected_clpq_int8_a,
-	interfaces/Prolog/tests/expected_clpq_mpz,
-	interfaces/Prolog/tests/expected_clpq_mpz_a,
-	interfaces/Prolog/tests/pl_check.pl,
-	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
-	st_pl.m4,
-	interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_te
-	st_pl_code.m4,
-	interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
-	interfaces/Python/ppl_py.cc, interfaces/Python/ppl_py.py,
-	interfaces/interfaced_boxes.hh, interfaces/marked_pointers.hh,
-	interfaces/ppl_interface_generator_common.m4,
-	interfaces/ppl_interface_generator_common_dat.m4,
-	interfaces/ppl_interface_generator_common_procedure_generators.m4,
-	interfaces/ppl_interface_generator_copyright, m4/Makefile.am,
-	m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
-	m4/ac_check_gmp.m4, m4/ac_check_sicstus_prolog.m4,
-	m4/ac_check_swi_prolog.m4, m4/ac_check_xsb_prolog.m4,
-	m4/ac_check_yap.m4, m4/ac_cxx_attribute_weak.m4,
-	m4/ac_cxx_double_binary_format.m4,
-	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
-	m4/ac_cxx_float_binary_format.m4, m4/ac_cxx_float_exact_output.m4,
-	m4/ac_cxx_ieee_inexact_flag.m4, m4/ac_cxx_limit_memory.m4,
-	m4/ac_cxx_long_double_binary_format.m4,
-	m4/ac_cxx_long_double_exact_output.m4,
-	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4,
-	m4/ac_prog_jar.m4, m4/ac_prog_java.m4, m4/ac_prog_javac.m4,
-	m4/ac_prog_javah.m4, m4/ac_text_md5sum.m4, m4/ppl.m4, m4/ppl_c.m4,
-	src/Affine_Space.cc, src/Affine_Space.defs.hh,
-	src/Affine_Space.inlines.hh, src/Affine_Space.types.hh,
-	src/Any_Pointset.defs.hh, src/Any_Pointset.inlines.hh,
-	src/Any_Pointset.types.hh, src/Ask_Tell.defs.hh,
-	src/Ask_Tell.inlines.hh, src/Ask_Tell.templates.hh,
-	src/Ask_Tell.types.hh, src/BDS_Status.idefs.hh,
-	src/BDS_Status.inlines.hh, src/BD_Shape.cc, src/BD_Shape.defs.hh,
-	src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
-	src/BD_Shape.types.hh, src/BHRZ03_Certificate.cc,
-	src/BHRZ03_Certificate.defs.hh, src/BHRZ03_Certificate.inlines.hh,
-	src/BHRZ03_Certificate.types.hh, src/Bit_Matrix.cc,
-	src/Bit_Matrix.defs.hh, src/Bit_Matrix.inlines.hh,
-	src/Bit_Matrix.types.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
-	src/Bit_Row.inlines.hh, src/Bit_Row.types.hh, src/Boundary.defs.hh,
-	src/Box.cc, src/Box.defs.hh, src/Box.inlines.hh,
-	src/Box.templates.hh, src/Box.types.hh, src/Box_Status.idefs.hh,
-	src/Box_Status.inlines.hh, src/C_Integer.hh, src/C_Polyhedron.cc,
-	src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	src/C_Polyhedron.types.hh, src/Checked_Number.cc,
-	src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	src/Checked_Number.templates.hh, src/Checked_Number.types.hh,
-	src/Coefficient.cc, src/Coefficient.defs.hh,
-	src/Coefficient.inlines.hh, src/Coefficient.types.hh,
-	src/Coefficient_traits_template.hh, src/Congruence.cc,
-	src/Congruence.defs.hh, src/Congruence.inlines.hh,
-	src/Congruence.types.hh, src/Congruence_System.cc,
-	src/Congruence_System.defs.hh, src/Congruence_System.inlines.hh,
-	src/Congruence_System.types.hh, src/Constraint.cc,
-	src/Constraint.defs.hh, src/Constraint.inlines.hh,
-	src/Constraint.types.hh, src/Constraint_System.cc,
-	src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
-	src/Constraint_System.types.hh, src/DB_Matrix.defs.hh,
-	src/DB_Matrix.inlines.hh, src/DB_Matrix.templates.hh,
-	src/DB_Matrix.types.hh, src/DB_Row.defs.hh, src/DB_Row.inlines.hh,
-	src/DB_Row.templates.hh, src/DB_Row.types.hh,
-	src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	src/Determinate.types.hh, src/Float.cc, src/Float.defs.hh,
-	src/Float.inlines.hh, src/GMP_Integer.defs.hh,
-	src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
-	src/Generator.cc, src/Generator.defs.hh, src/Generator.inlines.hh,
-	src/Generator.types.hh, src/Generator_System.cc,
-	src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
-	src/Generator_System.types.hh, src/Grid.defs.hh,
-	src/Grid.inlines.hh, src/Grid.templates.hh, src/Grid.types.hh,
-	src/Grid_Certificate.cc, src/Grid_Certificate.defs.hh,
-	src/Grid_Certificate.inlines.hh, src/Grid_Certificate.types.hh,
-	src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
-	src/Grid_Generator.inlines.hh, src/Grid_Generator.types.hh,
-	src/Grid_Generator_System.cc, src/Grid_Generator_System.defs.hh,
-	src/Grid_Generator_System.inlines.hh,
-	src/Grid_Generator_System.types.hh, src/Grid_Status.cc,
-	src/Grid_Status.idefs.hh, src/Grid_Status.inlines.hh,
-	src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_nonpublic.cc,
-	src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
-	src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
-	src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh,
-	src/Has_Assign_Or_Swap.hh, src/Init.cc, src/Init.defs.hh,
-	src/Init.inlines.hh, src/Init.types.hh, src/Interval.defs.hh,
-	src/Interval.inlines.hh, src/Interval.templates.hh,
-	src/Interval.types.hh, src/Interval_Info.defs.hh,
-	src/Interval_Info.inlines.hh, src/Interval_Info.types.hh,
-	src/Interval_Restriction.defs.hh, src/Linear_Expression.cc,
-	src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
-	src/Linear_Expression.types.hh, src/Linear_Row.cc,
-	src/Linear_Row.defs.hh, src/Linear_Row.inlines.hh,
-	src/Linear_Row.types.hh, src/Linear_System.cc,
-	src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
-	src/Linear_System.types.hh, src/MIP_Problem.cc,
-	src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
-	src/MIP_Problem.templates.hh, src/MIP_Problem.types.hh,
-	src/Makefile.am, src/Matrix.defs.hh, src/Matrix.types.hh,
-	src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
-	src/NNC_Polyhedron.inlines.hh, src/NNC_Polyhedron.types.hh,
-	src/Numeric_Format.defs.hh, src/OR_Matrix.defs.hh,
-	src/OR_Matrix.inlines.hh, src/OR_Matrix.templates.hh,
-	src/OR_Matrix.types.hh, src/Octagonal_Shape.cc,
-	src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
-	src/Octagonal_Shape.templates.hh, src/Octagonal_Shape.types.hh,
-	src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
-	src/PIP_Problem.cc, src/PIP_Problem.defs.hh,
-	src/PIP_Problem.inlines.hh, src/PIP_Problem.templates.hh,
-	src/PIP_Problem.types.hh, src/PIP_Tree.cc, src/PIP_Tree.defs.hh,
-	src/PIP_Tree.inlines.hh, src/PIP_Tree.types.hh,
-	src/Partial_Function.cc, src/Partial_Function.defs.hh,
-	src/Partial_Function.inlines.hh, src/Partial_Function.types.hh,
-	src/Partially_Reduced_Product.defs.hh,
-	src/Partially_Reduced_Product.inlines.hh,
-	src/Partially_Reduced_Product.templates.hh,
-	src/Partially_Reduced_Product.types.hh, src/Ph_Status.cc,
-	src/Ph_Status.idefs.hh, src/Ph_Status.inlines.hh,
-	src/Pointset_Ask_Tell.cc, src/Pointset_Ask_Tell.defs.hh,
-	src/Pointset_Ask_Tell.inlines.hh,
-	src/Pointset_Ask_Tell.templates.hh, src/Pointset_Ask_Tell.types.hh,
-	src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
-	src/Pointset_Powerset.inlines.hh,
-	src/Pointset_Powerset.templates.hh, src/Pointset_Powerset.types.hh,
-	src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
-	src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh,
-	src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
-	src/Poly_Gen_Relation.inlines.hh, src/Poly_Gen_Relation.types.hh,
-	src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	src/Polyhedron.templates.hh, src/Polyhedron.types.hh,
-	src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
-	src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
-	src/Powerset.defs.hh, src/Powerset.inlines.hh,
-	src/Powerset.templates.hh, src/Powerset.types.hh,
-	src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
-	src/Ptr_Iterator.types.hh, src/Rational_Box.hh,
-	src/Rational_Interval.hh, src/Result.defs.hh,
-	src/Result.inlines.hh, src/Rounding_Dir.defs.hh,
-	src/Rounding_Dir.inlines.hh, src/Row.defs.hh, src/Row.types.hh,
-	src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
-	src/Scalar_Products.inlines.hh, src/Scalar_Products.types.hh,
-	src/Slow_Copy.hh, src/Temp.defs.hh, src/Temp.inlines.hh,
-	src/Temp.templates.hh, src/Topology.hh, src/Variable.cc,
-	src/Variable.defs.hh, src/Variable.inlines.hh,
-	src/Variable.types.hh, src/Variables_Set.cc,
-	src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
-	src/Variables_Set.types.hh, src/WRD_coefficient_types.defs.hh,
-	src/WRD_coefficient_types.inlines.hh, src/Weight_Profiler.cc,
-	src/Weight_Profiler.defs.hh, src/Widening_Function.defs.hh,
-	src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	src/algorithms.hh, src/assert.hh, src/assign_or_swap.hh,
-	src/c_streambuf.cc, src/c_streambuf.defs.hh,
-	src/c_streambuf.inlines.hh, src/c_streambuf.types.hh,
-	src/checked.cc, src/checked.defs.hh, src/checked.inlines.hh,
-	src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
-	src/checked_float.inlines.hh, src/checked_int.inlines.hh,
-	src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
-	src/checked_numeric_limits.hh, src/compiler.hh, src/conversion.cc,
-	src/distances.defs.hh, src/distances.inlines.hh,
-	src/distances.types.hh, src/fpu-c99.inlines.hh, src/fpu-ia32.cc,
-	src/fpu-ia32.inlines.hh, src/fpu-none.inlines.hh,
-	src/fpu-sparc.inlines.hh, src/fpu.defs.hh, src/fpu.types.hh,
-	src/globals.cc, src/globals.defs.hh, src/globals.inlines.hh,
-	src/globals.types.hh, src/initializer.hh, src/intervals.defs.hh,
-	src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	src/iterator_to_const.types.hh, src/math_utilities.defs.hh,
-	src/math_utilities.inlines.hh, src/max_space_dimension.hh,
-	src/meta_programming.hh, src/minimize.cc, src/mp_std_bits.cc,
-	src/mp_std_bits.defs.hh, src/mp_std_bits.inlines.hh,
-	src/namespaces.hh, src/ppl-config.cc.in, src/ppl_header.hh,
-	src/simplify.cc, src/stdiobuf.cc, src/stdiobuf.defs.hh,
-	src/stdiobuf.inlines.hh, src/stdiobuf.types.hh,
-	src/swapping_sort.icc, src/termination.cc, src/termination.defs.hh,
-	src/termination.templates.hh, src/version.cc, src/version.hh.in,
-	src/wrap_assign.hh, src/wrap_string.cc, src/wrap_string.hh,
-	tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
-	tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
-	tests/BD_Shape/addspacedims1.cc,
-	tests/BD_Shape/affinedimension1.cc, tests/BD_Shape/affineimage1.cc,
-	tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affinepreimage1.cc,
-	tests/BD_Shape/ascii_dump_load1.cc,
-	tests/BD_Shape/bgp99extrapolation1.cc,
-	tests/BD_Shape/bhmz05widening1.cc,
-	tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
-	tests/BD_Shape/boundedaffineimage1.cc,
-	tests/BD_Shape/boundedaffinepreimage1.cc,
-	tests/BD_Shape/bounds1.cc, tests/BD_Shape/cc76extrapolation1.cc,
-	tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/closure1.cc,
-	tests/BD_Shape/concatenate1.cc, tests/BD_Shape/congruences1.cc,
-	tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
-	tests/BD_Shape/contains1.cc,
-	tests/BD_Shape/containsintegerpoint1.cc,
-	tests/BD_Shape/difference1.cc, tests/BD_Shape/discrete1.cc,
-	tests/BD_Shape/disjoint1.cc,
-	tests/BD_Shape/dropsomenonintegerpoints1.cc,
-	tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
-	tests/BD_Shape/expandspacedim1.cc,
-	tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/frequency1.cc,
-	tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
-	tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/fromgrid1.cc,
-	tests/BD_Shape/fromoctagonalshape1.cc,
-	tests/BD_Shape/frompolyhedron1.cc, tests/BD_Shape/fromspacedim1.cc,
-	tests/BD_Shape/generalizedaffineimage1.cc,
-	tests/BD_Shape/generalizedaffineimage2.cc,
-	tests/BD_Shape/generalizedaffinepreimage1.cc,
-	tests/BD_Shape/generalizedaffinepreimage2.cc,
-	tests/BD_Shape/generalizedaffinepreimage3.cc,
-	tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
-	tests/BD_Shape/integerupperboundifexact1.cc,
-	tests/BD_Shape/intersection1.cc,
-	tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	tests/BD_Shape/limitedcc76extrapolation1.cc,
-	tests/BD_Shape/limitedh79extrapolation1.cc,
-	tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
-	tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim1.cc,
-	tests/BD_Shape/membytes1.cc, tests/BD_Shape/minconstraints1.cc,
-	tests/BD_Shape/relations1.cc, tests/BD_Shape/relations2.cc,
-	tests/BD_Shape/relations3.cc, tests/BD_Shape/relations4.cc,
-	tests/BD_Shape/removespacedims1.cc, tests/BD_Shape/run_tests,
-	tests/BD_Shape/simplifyusingcontext1.cc,
-	tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
-	tests/BD_Shape/universe1.cc, tests/BD_Shape/upperbound1.cc,
-	tests/BD_Shape/upperboundifexact1.cc, tests/BD_Shape/wrap1.cc,
-	tests/BD_Shape/writebdshape1.cc, tests/Box/Makefile.am,
-	tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
-	tests/Box/affinedimension1.cc, tests/Box/affineimage1.cc,
-	tests/Box/affinepreimage1.cc, tests/Box/ascii_dump_load1.cc,
-	tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
-	tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
-	tests/Box/boundedaffinepreimage1.cc, tests/Box/cc76narrowing1.cc,
-	tests/Box/cc76widening.cc, tests/Box/concatenate1.cc,
-	tests/Box/congruences1.cc, tests/Box/constrains1.cc,
-	tests/Box/constraints1.cc, tests/Box/contains1.cc,
-	tests/Box/containsintegerpoint1.cc, tests/Box/difference1.cc,
-	tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
-	tests/Box/empty1.cc, tests/Box/equality1.cc,
-	tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
-	tests/Box/frequency1.cc, tests/Box/frombdshape1.cc,
-	tests/Box/frombox1.cc, tests/Box/fromgensys1.cc,
-	tests/Box/fromgrid1.cc, tests/Box/frompartiallyreducedproduct1.cc,
-	tests/Box/frompolyhedron1.cc, tests/Box/frompolyhedron2.cc,
-	tests/Box/fromspacedim1.cc, tests/Box/generalizedaffineimage1.cc,
-	tests/Box/generalizedaffineimage2.cc,
-	tests/Box/generalizedaffinepreimage1.cc, tests/Box/geomcovers1.cc,
-	tests/Box/intersection1.cc, tests/Box/interval1.cc,
-	tests/Box/limitedcc76extrapolation1.cc, tests/Box/mapspacedims1.cc,
-	tests/Box/max_min1.cc, tests/Box/maxspacedim1.cc,
-	tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
-	tests/Box/propagateconstraints1.cc,
-	tests/Box/propagateconstraints2.cc,
-	tests/Box/refinewithcongruence1.cc,
-	tests/Box/refinewithcongruences1.cc,
-	tests/Box/refinewithconstraint1.cc,
-	tests/Box/refinewithconstraint2.cc,
-	tests/Box/refinewithconstraints1.cc,
-	tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
-	tests/Box/relations2.cc, tests/Box/relations3.cc,
-	tests/Box/relations4.cc, tests/Box/removespacedims1.cc,
-	tests/Box/run_tests, tests/Box/simplifyusingcontext1.cc,
-	tests/Box/timeelapse1.cc, tests/Box/topclosed1.cc,
-	tests/Box/unconstrain1.cc, tests/Box/universe1.cc,
-	tests/Box/upperbound1.cc, tests/Box/upperboundifexact1.cc,
-	tests/Box/wrap1.cc, tests/Box/writebox1.cc, tests/Grid/Makefile.am,
-	tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.cc,
-	tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
-	tests/Grid/addgenerator1.cc, tests/Grid/addgenerators1.cc,
-	tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
-	tests/Grid/affineimage1.cc, tests/Grid/affineimage2.cc,
-	tests/Grid/affinepreimage1.cc, tests/Grid/affinepreimage2.cc,
-	tests/Grid/approximatepartition1.cc, tests/Grid/asciidumpload1.cc,
-	tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
-	tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
-	tests/Grid/asciidumpload6.cc, tests/Grid/bhz03widening1.cc,
-	tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
-	tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
-	tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
-	tests/Grid/concatenate1.cc, tests/Grid/congruence1.cc,
-	tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
-	tests/Grid/constraints1.cc, tests/Grid/contains1.cc,
-	tests/Grid/containsintegerpoint1.cc, tests/Grid/discrete1.cc,
-	tests/Grid/disjoint1.cc, tests/Grid/dropnonintegerpoints1.cc,
-	tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	tests/Grid/foldspacedims1.cc, tests/Grid/frequency1.cc,
-	tests/Grid/frombdshape1.cc, tests/Grid/frombox1.cc,
-	tests/Grid/fromgrid1.cc, tests/Grid/fromoctagonalshape1.cc,
-	tests/Grid/frompolyhedron1.cc,
-	tests/Grid/generalizedaffineimage1.cc,
-	tests/Grid/generalizedaffineimage2.cc,
-	tests/Grid/generalizedaffineimage3.cc,
-	tests/Grid/generalizedaffinepreimage1.cc,
-	tests/Grid/generalizedaffinepreimage2.cc,
-	tests/Grid/generalizedaffinepreimage3.cc, tests/Grid/generator1.cc,
-	tests/Grid/generators1.cc, tests/Grid/generators2.cc,
-	tests/Grid/grid1.cc, tests/Grid/grid2.cc, tests/Grid/grid3.cc,
-	tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
-	tests/Grid/isempty1.cc, tests/Grid/isuniverse1.cc,
-	tests/Grid/limitedextrapolation1.cc,
-	tests/Grid/limitedextrapolation2.cc,
-	tests/Grid/limitedextrapolation3.cc, tests/Grid/mapspacedims1.cc,
-	tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
-	tests/Grid/mincongruences1.cc, tests/Grid/mingenerators1.cc,
-	tests/Grid/outputoperator1.cc, tests/Grid/outputoperator2.cc,
-	tests/Grid/outputoperator3.cc, tests/Grid/partition1.cc,
-	tests/Grid/powersetdifference1.cc,
-	tests/Grid/powersetgeometricallycovers1.cc,
-	tests/Grid/powersetgeometricallyequals1.cc,
-	tests/Grid/refinewithcongruences1.cc,
-	tests/Grid/refinewithconstraints1.cc, tests/Grid/relations1.cc,
-	tests/Grid/relations2.cc, tests/Grid/relations3.cc,
-	tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
-	tests/Grid/simplifyusingcontext1.cc, tests/Grid/timeelapse1.cc,
-	tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	tests/Grid/unconstrain1.cc, tests/Grid/upperbound1.cc,
-	tests/Grid/upperbound2.cc, tests/Grid/widening1.cc,
-	tests/Grid/widening2.cc, tests/Grid/widening3.cc,
-	tests/Grid/wrap1.cc, tests/Grid/writecongruencesystem.cc,
-	tests/MIP_Problem/Makefile.am,
-	tests/MIP_Problem/ascii_dump_load1.cc,
-	tests/MIP_Problem/exceptions1.cc, tests/MIP_Problem/mipproblem1.cc,
-	tests/MIP_Problem/mipproblem2.cc, tests/MIP_Problem/mipproblem3.cc,
-	tests/Makefile.am, tests/Octagonal_Shape/Makefile.am,
-	tests/Octagonal_Shape/addspacedims1.cc,
-	tests/Octagonal_Shape/affinedimension1.cc,
-	tests/Octagonal_Shape/affineimage1.cc,
-	tests/Octagonal_Shape/affineimage2.cc,
-	tests/Octagonal_Shape/affinepreimage1.cc,
-	tests/Octagonal_Shape/affinepreimage2.cc,
-	tests/Octagonal_Shape/ascii_dump_load1.cc,
-	tests/Octagonal_Shape/bhmz05widening1.cc,
-	tests/Octagonal_Shape/bhz03widening1.cc,
-	tests/Octagonal_Shape/bounded1.cc,
-	tests/Octagonal_Shape/boundedaffineimage1.cc,
-	tests/Octagonal_Shape/boundedaffinepreimage1.cc,
-	tests/Octagonal_Shape/bounds1.cc,
-	tests/Octagonal_Shape/cc76extrapolation1.cc,
-	tests/Octagonal_Shape/cc76narrowing1.cc,
-	tests/Octagonal_Shape/chinainit.cc,
-	tests/Octagonal_Shape/concatenate1.cc,
-	tests/Octagonal_Shape/congruences1.cc,
-	tests/Octagonal_Shape/constrains1.cc,
-	tests/Octagonal_Shape/constraints1.cc,
-	tests/Octagonal_Shape/contains1.cc,
-	tests/Octagonal_Shape/containsintegerpoint1.cc,
-	tests/Octagonal_Shape/difference1.cc,
-	tests/Octagonal_Shape/discrete1.cc,
-	tests/Octagonal_Shape/disjoint1.cc,
-	tests/Octagonal_Shape/dropsomenonintegerpoints1.cc,
-	tests/Octagonal_Shape/empty1.cc,
-	tests/Octagonal_Shape/expandspacedim1.cc,
-	tests/Octagonal_Shape/foldspacedims1.cc,
-	tests/Octagonal_Shape/frequency1.cc,
-	tests/Octagonal_Shape/frombdshape1.cc,
-	tests/Octagonal_Shape/frombox1.cc,
-	tests/Octagonal_Shape/fromgensys1.cc,
-	tests/Octagonal_Shape/fromgrid1.cc,
-	tests/Octagonal_Shape/fromoctagonalshape1.cc,
-	tests/Octagonal_Shape/frompolyhedron1.cc,
-	tests/Octagonal_Shape/fromspacedim1.cc,
-	tests/Octagonal_Shape/generalizedaffineimage1.cc,
-	tests/Octagonal_Shape/generalizedaffineimage2.cc,
-	tests/Octagonal_Shape/generalizedaffineimage3.cc,
-	tests/Octagonal_Shape/generalizedaffineimage4.cc,
-	tests/Octagonal_Shape/generalizedaffineimage5.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage1.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage2.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage3.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage4.cc,
-	tests/Octagonal_Shape/integerupperboundifexact1.cc,
-	tests/Octagonal_Shape/intersection1.cc,
-	tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
-	tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
-	tests/Octagonal_Shape/mapspacedims1.cc,
-	tests/Octagonal_Shape/max_min1.cc,
-	tests/Octagonal_Shape/max_min2.cc,
-	tests/Octagonal_Shape/maxspacedim1.cc,
-	tests/Octagonal_Shape/membytes1.cc,
-	tests/Octagonal_Shape/minconstraints1.cc,
-	tests/Octagonal_Shape/relatwithcons1.cc,
-	tests/Octagonal_Shape/relatwithcons2.cc,
-	tests/Octagonal_Shape/relatwithcons3.cc,
-	tests/Octagonal_Shape/relatwithgen1.cc,
-	tests/Octagonal_Shape/removespacedims1.cc,
-	tests/Octagonal_Shape/run_tests,
-	tests/Octagonal_Shape/simplifyusingcontext1.cc,
-	tests/Octagonal_Shape/timeelapse1.cc,
-	tests/Octagonal_Shape/unconstrain1.cc,
-	tests/Octagonal_Shape/universe1.cc,
-	tests/Octagonal_Shape/upperbound1.cc,
-	tests/Octagonal_Shape/upperboundifexact1.cc,
-	tests/Octagonal_Shape/wrap1.cc,
-	tests/Octagonal_Shape/writeoctagon1.cc,
-	tests/PIP_Problem/Makefile.am,
-	tests/PIP_Problem/ascii_dump_load1.cc,
-	tests/PIP_Problem/exceptions1.cc, tests/PIP_Problem/pipproblem1.cc,
-	tests/PIP_Problem/pipproblem2.cc, tests/PIP_Problem/pipproblem3.cc,
-	tests/Partially_Reduced_Product/Makefile.am,
-	tests/Partially_Reduced_Product/addcongruences1.cc,
-	tests/Partially_Reduced_Product/addconstraints1.cc,
-	tests/Partially_Reduced_Product/affineimage1.cc,
-	tests/Partially_Reduced_Product/asciidumpload1.cc,
-	tests/Partially_Reduced_Product/bounded1.cc,
-	tests/Partially_Reduced_Product/boundedaffineimage1.cc,
-	tests/Partially_Reduced_Product/bounds1.cc,
-	tests/Partially_Reduced_Product/concatenate1.cc,
-	tests/Partially_Reduced_Product/congruences1.cc,
-	tests/Partially_Reduced_Product/congruencesproduct1.cc,
-	tests/Partially_Reduced_Product/constraints1.cc,
-	tests/Partially_Reduced_Product/constraintsproduct1.cc,
-	tests/Partially_Reduced_Product/contains1.cc,
-	tests/Partially_Reduced_Product/difference1.cc,
-	tests/Partially_Reduced_Product/dimension1.cc,
-	tests/Partially_Reduced_Product/directproduct1.cc,
-	tests/Partially_Reduced_Product/directproduct2.cc,
-	tests/Partially_Reduced_Product/directproduct3.cc,
-	tests/Partially_Reduced_Product/directproduct4.cc,
-	tests/Partially_Reduced_Product/directproduct5.cc,
-	tests/Partially_Reduced_Product/directproduct6.cc,
-	tests/Partially_Reduced_Product/discrete1.cc,
-	tests/Partially_Reduced_Product/disjoint1.cc,
-	tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc,
-	tests/Partially_Reduced_Product/equals1.cc,
-	tests/Partially_Reduced_Product/frombdshape1.cc,
-	tests/Partially_Reduced_Product/frombox1.cc,
-	tests/Partially_Reduced_Product/fromgrid1.cc,
-	tests/Partially_Reduced_Product/fromoctagonalshape1.cc,
-	tests/Partially_Reduced_Product/frompolyhedron1.cc,
-	tests/Partially_Reduced_Product/fromproduct1.cc,
-	tests/Partially_Reduced_Product/generalizedaffineimage1.cc,
-	tests/Partially_Reduced_Product/intersection1.cc,
-	tests/Partially_Reduced_Product/isempty1.cc,
-	tests/Partially_Reduced_Product/isuniverse1.cc,
-	tests/Partially_Reduced_Product/maxmin1.cc,
-	tests/Partially_Reduced_Product/partially_reduced_product_test.hh,
-	tests/Partially_Reduced_Product/partiallyreducedproduct1.cc,
-	tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
-	tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
-	tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
-	tests/Partially_Reduced_Product/refinewithcongruences1.cc,
-	tests/Partially_Reduced_Product/refinewithconstraints1.cc,
-	tests/Partially_Reduced_Product/relations1.cc,
-	tests/Partially_Reduced_Product/shapepreservingproduct1.cc,
-	tests/Partially_Reduced_Product/smashproduct1.cc,
-	tests/Partially_Reduced_Product/spacedims1.cc,
-	tests/Partially_Reduced_Product/timeelapse1.cc,
-	tests/Partially_Reduced_Product/topclosed1.cc,
-	tests/Partially_Reduced_Product/topclosure1.cc,
-	tests/Partially_Reduced_Product/upperbound1.cc,
-	tests/Partially_Reduced_Product/widening1.cc,
-	tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
-	tests/Polyhedron/addcongruences1.cc,
-	tests/Polyhedron/addconstraint1.cc,
-	tests/Polyhedron/addconstraints1.cc,
-	tests/Polyhedron/addconstraints2.cc,
-	tests/Polyhedron/addgenerator1.cc,
-	tests/Polyhedron/addgenerator2.cc,
-	tests/Polyhedron/addgenerators1.cc,
-	tests/Polyhedron/addgenerators2.cc,
-	tests/Polyhedron/addspacedims1.cc,
-	tests/Polyhedron/addspacedims2.cc,
-	tests/Polyhedron/affineimage1.cc, tests/Polyhedron/affineimage2.cc,
-	tests/Polyhedron/affinepreimage1.cc,
-	tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
-	tests/Polyhedron/append2.cc, tests/Polyhedron/ascii_dump_load1.cc,
-	tests/Polyhedron/ascii_dump_load2.cc,
-	tests/Polyhedron/ascii_dump_load3.cc,
-	tests/Polyhedron/bgp99extrapolation1.cc,
-	tests/Polyhedron/bgp99extrapolation2.cc,
-	tests/Polyhedron/bhrz03widening1.cc,
-	tests/Polyhedron/bhrz03widening2.cc,
-	tests/Polyhedron/bhrz03widening3.cc,
-	tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bounded1.cc,
-	tests/Polyhedron/boundedaffineimage1.cc,
-	tests/Polyhedron/boundedaffinepreimage1.cc,
-	tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	tests/Polyhedron/boundedh79extrapolation1.cc,
-	tests/Polyhedron/bounds1.cc, tests/Polyhedron/cnncconversion1.cc,
-	tests/Polyhedron/concatenate1.cc, tests/Polyhedron/congruences1.cc,
-	tests/Polyhedron/constrains1.cc, tests/Polyhedron/constraints1.cc,
-	tests/Polyhedron/contains1.cc, tests/Polyhedron/contains2.cc,
-	tests/Polyhedron/containsintegerpoint1.cc,
-	tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	tests/Polyhedron/dropsomenonintegerpoints1.cc,
-	tests/Polyhedron/dropsomenonintegerpoints2.cc,
-	tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
-	tests/Polyhedron/equals1.cc, tests/Polyhedron/exceptions1.cc,
-	tests/Polyhedron/exceptions2.cc, tests/Polyhedron/exceptions3.cc,
-	tests/Polyhedron/expandspacedim1.cc,
-	tests/Polyhedron/expandspacedim2.cc,
-	tests/Polyhedron/foldspacedims1.cc,
-	tests/Polyhedron/foldspacedims2.cc, tests/Polyhedron/frequency1.cc,
-	tests/Polyhedron/frombdshape1.cc, tests/Polyhedron/frombox1.cc,
-	tests/Polyhedron/frombox2.cc, tests/Polyhedron/fromgrid1.cc,
-	tests/Polyhedron/fromoctagonalshape1.cc,
-	tests/Polyhedron/generalizedaffineimage1.cc,
-	tests/Polyhedron/generalizedaffineimage2.cc,
-	tests/Polyhedron/generalizedaffinepreimage1.cc,
-	tests/Polyhedron/generalizedaffinepreimage2.cc,
-	tests/Polyhedron/generators1.cc, tests/Polyhedron/geomcovers1.cc,
-	tests/Polyhedron/h79widening1.cc, tests/Polyhedron/h79widening2.cc,
-	tests/Polyhedron/hybrid.cc, tests/Polyhedron/intersection1.cc,
-	tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	tests/Polyhedron/limitedh79extrapolation1.cc,
-	tests/Polyhedron/linearexpression1.cc,
-	tests/Polyhedron/linearpartition1.cc,
-	tests/Polyhedron/linearsystem1.cc,
-	tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/max_min1.cc,
-	tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
-	tests/Polyhedron/membytes1.cc, tests/Polyhedron/memory1.cc,
-	tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
-	tests/Polyhedron/minconstraints2.cc,
-	tests/Polyhedron/mingenerators1.cc,
-	tests/Polyhedron/mingenerators2.cc,
-	tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/nncminimize2.cc,
-	tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
-	tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
-	tests/Polyhedron/polydifference2.cc, tests/Polyhedron/polyhull1.cc,
-	tests/Polyhedron/polyhull2.cc,
-	tests/Polyhedron/polyhullifexact1.cc,
-	tests/Polyhedron/polyhullifexact2.cc,
-	tests/Polyhedron/randphull1.cc,
-	tests/Polyhedron/refinewithcongruence1.cc,
-	tests/Polyhedron/refinewithcongruences1.cc,
-	tests/Polyhedron/refinewithconstraint1.cc,
-	tests/Polyhedron/refinewithconstraints1.cc,
-	tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
-	tests/Polyhedron/relations3.cc,
-	tests/Polyhedron/removespacedims1.cc,
-	tests/Polyhedron/removespacedims2.cc,
-	tests/Polyhedron/simplifyusingcontext1.cc,
-	tests/Polyhedron/smm1.cc, tests/Polyhedron/termination1.cc,
-	tests/Polyhedron/termination2.cc, tests/Polyhedron/timeelapse1.cc,
-	tests/Polyhedron/timeelapse2.cc, tests/Polyhedron/topclosed1.cc,
-	tests/Polyhedron/topclosure1.cc, tests/Polyhedron/unconstrain1.cc,
-	tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
-	tests/Polyhedron/weightwatch1.cc, tests/Polyhedron/wrap1.cc,
-	tests/Polyhedron/wrap2.cc, tests/Polyhedron/writeconsys1.cc,
-	tests/Polyhedron/writegensys1.cc,
-	tests/Polyhedron/writepolyhedron1.cc,
-	tests/Polyhedron/writepolyhedron2.cc,
-	tests/Polyhedron/writerelation1.cc,
-	tests/Polyhedron/writevariable1.cc, tests/Powerset/Makefile.am,
-	tests/Powerset/addcongruences1.cc,
-	tests/Powerset/addconstraints1.cc,
-	tests/Powerset/affinedimension1.cc, tests/Powerset/affineimage1.cc,
-	tests/Powerset/affinepreimage1.cc, tests/Powerset/bounded1.cc,
-	tests/Powerset/bounds1.cc, tests/Powerset/closed1.cc,
-	tests/Powerset/closure1.cc, tests/Powerset/collapse1.cc,
-	tests/Powerset/concatenate1.cc, tests/Powerset/contains1.cc,
-	tests/Powerset/containsintegerpoint1.cc,
-	tests/Powerset/difference1.cc, tests/Powerset/discrete1.cc,
-	tests/Powerset/disjoint1.cc, tests/Powerset/disjunct1.cc,
-	tests/Powerset/empty1.cc, tests/Powerset/entails1.cc,
-	tests/Powerset/equals1.cc, tests/Powerset/frombdshape1.cc,
-	tests/Powerset/frombox1.cc, tests/Powerset/fromcongruences1.cc,
-	tests/Powerset/fromconstraints1.cc, tests/Powerset/fromgrid1.cc,
-	tests/Powerset/fromoctagonalshape1.cc,
-	tests/Powerset/frompolyhedron1.cc,
-	tests/Powerset/fromspacedimension1.cc,
-	tests/Powerset/intersection1.cc, tests/Powerset/maxmin1.cc,
-	tests/Powerset/meet1.cc, tests/Powerset/membytes1.cc,
-	tests/Powerset/powerset1.cc, tests/Powerset/reduce1.cc,
-	tests/Powerset/refinewith1.cc, tests/Powerset/relationwith1.cc,
-	tests/Powerset/simplifyusingcontext1.cc, tests/Powerset/size1.cc,
-	tests/Powerset/spacedims1.cc, tests/Powerset/universe1.cc,
-	tests/Powerset/upperbound1.cc, tests/README,
-	tests/Random_Number_Generator.defs.hh,
-	tests/Random_Number_Generator.inlines.hh,
-	tests/Random_Number_Generator.types.hh, tests/files.cc,
-	tests/files.hh, tests/ppl_test.cc, tests/ppl_test.hh,
-	utils/Makefile.am, utils/build_header.in, utils/cm_cleaner.sh,
-	utils/cm_splitter.sh, utils/text2cxxarray.in, utils/timings.cc,
-	utils/timings.hh: Copyright notices updated.
-
-2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated.
-
-2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-        * Makefile.am, README, Watchdog/Makefile.am, Watchdog/README: 
-        Distribute all READMEs and ChangeLogs.
-
-2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, NEWS, TODO, Watchdog/NEWS: Updated.
-
-2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README, Watchdog/README: Updated.
-
-2010-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/config.guess, config.guess: Updated.
-
-2010-06-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
-	Watchdog/ltmain.sh, Watchdog/m4/libtool.m4,
-	Watchdog/m4/ltoptions.m4, Watchdog/m4/ltversion.m4,
-	Watchdog/m4/lt~obsolete.m4, config.guess, config.sub, install-sh,
-	ltmain.sh, m4/libtool.m4, m4/ltoptions.m4, m4/ltversion.m4,
-	m4/lt~obsolete.m4: Updated from Libtool 2.2.10.
-
-2010-03-18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Threshold_Watcher.defs.hh: Avoid a broken reference
-	to another manual that is built later.
-
-2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc: Apparently GNU Hurd only supports
-	ITIMER_REAL.  (Thanks to Michael Tautschnig:
-	http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
-
-2010-03-03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc: Proper spacing added to
-	throw_syscall_error().  (Thanks to Michael Tautschnig.)
-
-2010-02-26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO, Watchdog/src/Watchdog.inlines.hh,
-	Watchdog/tests/watchdog1.cc, interfaces/C/ppl_c_header.h,
-	interfaces/C/ppl_c_implementation_common.defs.hh,
-	interfaces/C/tests/watchdog1.c, tests/Polyhedron/watchdog1.cc: Throw
-	std::logic_error in case the client asks for watchdogs on a system
-	not supporting them.
-
-2010-02-26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Threshold_Watcher.defs.hh,
-	interfaces/C/ppl_c_implementation_common.cc,
-	interfaces/Java/jni/ppl_java_common.cc,
-	interfaces/OCaml/ppl_ocaml_common.cc,
-	interfaces/Prolog/ppl_prolog_common.cc,
-	tests/Polyhedron/weightwatch1.cc: Simplified initialization of
-	Threshold_Watcher<> static data member.
-
-2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac: Use the C++ compiler to perform the tests
-	meant for C++.
-
-2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	Watchdog/src/Watchdog.inlines.hh, Watchdog/src/pwl_header.hh: 
-	sigaction() is also needed, in addition to setitimer() in order to
-	support Watchdog objects.  We could check if signal() is available
-	if there is request for such a feature.
-
-2010-02-21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	Watchdog/src/Watchdog.inlines.hh, interfaces/C/tests/watchdog1.c,
-	interfaces/C/tests/weightwatch1.c: If setitimer() is not available,
-	no initialization is necessary.  This also works around a linking
-	bug in Mingw.  C tests improved with error-handling code.
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/Makefile.am, Watchdog/tests/{simple1.cc =>
-	watchdog1.cc}: Test program renamed.
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/pwl_header.hh, Watchdog/tests/simple1.cc: Cater for
-	systems where setitimer() is not provided (part 4).
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.inlines.hh: Cater
-	for systems where setitimer() is not provided (part 3).
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO, Watchdog/pwl-config.sed, Watchdog/src/Watchdog.cc,
-	Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
-	Cater for systems where setitimer() is not provided (part 2).
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.defs.hh, Watchdog/src/Watchdog.inlines.hh: 
-	Cater for systems where setitimer() is not provided (part 1).
-
-2010-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac: Build the PWL unless not
-	explicitly disabled at configuration time.
-
-2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Use the right
-	preprocessor conditionals for PPL_HAVE_DECL_SIGACTION.
-
-2010-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Corrected several
-	problems.
-
-2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, Watchdog/src/pwl_header.hh: Improved the
-	NDEBUG machinery.
-
-2010-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, Watchdog/pwl-config.sed,
-	Watchdog/tests/pwl_test.cc, configure.ac, ppl-config.sed,
-	tests/ppl_test.cc: Improve portability to systems that do not
-	(fully) support Posix signal handling.
-
-2009-12-22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
-	Watchdog/config.guess, Watchdog/config.sub, compile, config.guess,
-	config.sub: Updated.
-
-2009-08-02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/Makefile.am: Do not link with -lm here.
-
-2009-07-30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, Watchdog/INSTALL: Updated from Autoconf 2.64.
-
-2009-07-13  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Threshold_Watcher.defs.hh: Added additional info
-	about Traits template parameter.
-
-2009-07-13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.defs.hh: Drafted a few missing comments. To
-	be completed (by the author).
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Threshold_Watcher.defs.hh,
-	Watchdog/src/Threshold_Watcher.templates.hh: Private typedef
-	renamed.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.defs.hh: Removed spurious blank line.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/NEWS: Drafted the news for PWL 0.8.
-
-2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/doc/devref.doxyconf-html.in,
-	Watchdog/doc/devref.doxyconf-latex.in: Fixed INPUT variable in
-	Doxygen configuration for devref.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/README, Watchdog/configure.ac, Watchdog/src/Makefile.am: 
-	Updated for PWL 0.8.
-
-2009-07-12  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* TODO, Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	Watchdog/src/Watchdog.inlines.hh: Converted watchdog time argument
-	to unsigned.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/m4/lib-link.m4, m4/lib-link.m4: Updated.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac: Require Automake 1.11, enable lzma tar
-	archives and silent rules.
-
-2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Threshold_Watcher.defs.hh,
-	Watchdog/src/Threshold_Watcher.templates.hh,
-	tests/Polyhedron/weightwatch1.cc: Avoid dummy parameter in
-	constructor for Threshold_Watcher::Initialize.  Renamed `initialize'
-	to `init' to avoid visual clash with `Initialize'.
-
-2009-07-12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, Watchdog/INSTALL, Watchdog/compile,
-	Watchdog/config.guess, Watchdog/config.sub, Watchdog/depcomp,
-	Watchdog/install-sh, Watchdog/missing, Watchdog/mkinstalldirs,
-	compile, config.guess, config.sub, depcomp, install-sh, missing,
-	mkinstalldirs: Updated.
-
-2009-07-12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/EList.defs.hh, Watchdog/src/Threshold_Watcher.cc,
-	Watchdog/src/Threshold_Watcher.defs.hh,
-	Watchdog/src/Threshold_Watcher.templates.hh,
-	Watchdog/src/Threshold_Watcher.types.hh: Minor improvements: prefer
-	direct header file inclusions to indirect ones.  Avoid unnecessarily
-	long lines.
-
-2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
-	Watchdog/src/Pending_List.inlines.hh,
-	Watchdog/src/Pending_List.templates.hh,
-	Watchdog/src/Pending_List.types.hh, Watchdog/src/{Weightwatch.cc =>
-	Threshold_Watcher.cc}, Watchdog/src/{Weightwatch.defs.hh =>
-	Threshold_Watcher.defs.hh}, Watchdog/src/{Weightwatch.inlines.hh =>
-	Threshold_Watcher.inlines.hh},
-	Watchdog/src/{Weightwatch.templates.hh =>
-	Threshold_Watcher.templates.hh}, Watchdog/src/{Weightwatch.types.hh
-	=> Threshold_Watcher.types.hh}, Watchdog/src/Watchdog.defs.hh: 
-	Converted Weightwatch in more generic Threshold_Watcher.
-
-2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Weightwatch.inlines.hh: Fixed typo.
-
-2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Weightwatch.cc: Forgotten file.
-
-2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Makefile.am, Watchdog/src/Pending_List.defs.hh,
-	Watchdog/src/Pending_List.inlines.hh,
-	Watchdog/src/Pending_List.templates.hh,
-	Watchdog/src/Pending_List.types.hh, Watchdog/src/Watchdog.defs.hh,
-	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
-	Watchdog/src/Weightwatch.inlines.hh,
-	Watchdog/src/Weightwatch.templates.hh,
-	Watchdog/src/Weightwatch.types.hh: Weightwatch are now generic
-	threshold watchdog.
-
-2009-07-11  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
-	Watchdog/src/Weightwatch.inlines.hh: Weightwatch are now independent
-	from client code.
-
-2009-07-10  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* Watchdog/src/EList.inlines.hh, Watchdog/src/Makefile.am,
-	Watchdog/src/Pending_Element.cc,
-	Watchdog/src/Pending_Element.defs.hh,
-	Watchdog/src/Pending_Element.inlines.hh,
-	Watchdog/src/Pending_Element.types.hh,
-	Watchdog/src/Pending_List.defs.hh,
-	Watchdog/src/Pending_List.inlines.hh, Watchdog/src/{Pending_List.cc
-	=> Pending_List.templates.hh}, Watchdog/src/Pending_List.types.hh,
-	Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	Watchdog/src/Weightwatch.cc, Watchdog/src/Weightwatch.defs.hh,
-	Watchdog/src/Weightwatch.inlines.hh,
-	Watchdog/src/Weightwatch.types.hh: Added Weightwatch.
-
-2009-04-20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README, Watchdog/src/Makefile.am, configure.ac,
-	demos/ppl_lcdd/ppl_lcdd.1, demos/ppl_lpsol/ppl_lpsol.1,
-	doc/libppl.3, doc/libppl_c.3, doc/ppl-config.1,
-	doc/ppl-config_extra_man_text, interfaces/C/Makefile.am,
-	src/Makefile.am: Version number bumped.
-
-2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* PPL 0.10.2 released.
-
-2009-04-18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog: Mark ChangeLog.
-
-2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated.
-
-2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/doc/Makefile.am, doc/Makefile.am: Added targets to have
-	`make -n dist' work as expected.
-
-2009-04-16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am, Watchdog/tests/Makefile.am,
-	demos/ppl_lcdd/Makefile.am, demos/ppl_lpsol/Makefile.am,
-	interfaces/C/Makefile.am, interfaces/C/tests/Makefile.am,
-	interfaces/Java/Makefile.am, interfaces/Java/jni/Makefile.am,
-	interfaces/Java/parma_polyhedra_library/Makefile.am,
-	interfaces/Java/tests/Makefile.am, interfaces/OCaml/Makefile.am,
-	interfaces/OCaml/tests/Makefile.am,
-	interfaces/Prolog/Ciao/Makefile.am,
-	interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/Makefile.am,
-	interfaces/Prolog/SICStus/Makefile.am,
-	interfaces/Prolog/SWI/Makefile.am,
-	interfaces/Prolog/XSB/Makefile.am,
-	interfaces/Prolog/YAP/Makefile.am,
-	interfaces/Prolog/tests/Makefile.am, src/Makefile.am,
-	tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
-	tests/Grid/Makefile.am, tests/MIP_Problem/Makefile.am,
-	tests/Octagonal_Shape/Makefile.am,
-	tests/Partially_Reduced_Product/Makefile.am,
-	tests/Polyhedron/Makefile.am, tests/Powerset/Makefile.am: Added
-	rules so that `make -n' and `make -n check' work.
-
-2009-04-15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am, interfaces/C/Makefile.am,
-	src/Makefile.am: Libtool -version-info updated for PPL 0.10.2.
-
-2009-04-14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* PPL 0.10.1 released.
-
-2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .gitignore, Watchdog/doc/.gitignore, doc/.gitignore,
-	interfaces/Prolog/XSB/.gitignore: Added missing patterns.
-
-2009-04-11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated.
-
-2009-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated.
-
-2009-04-04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/NEWS, Watchdog/README, Watchdog/configure.ac,
-	Watchdog/src/Makefile.am: Updated for PWL 0.7.
-
-2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac: Version number bumped.  The
-	name of the program is Autoconf.
-
-2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO, Watchdog/src/Watchdog.defs.hh: Moved TODO items to their
-	place.
-
-2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.defs.hh,
-	interfaces/OCaml/ppl_ocaml_common.cc,
-	interfaces/OCaml/ppl_ocaml_common.defs.hh,
-	interfaces/OCaml/ppl_ocaml_globals.ml,
-	interfaces/OCaml/ppl_ocaml_globals.mli,
-	interfaces/Prolog/ppl_prolog_common.cc: Added timeout functions to
-	the OCaml interface.  Also removed duplicate CATCH_ALL macro
-	definitions in the Prolog and OCaml interfaces.
-
-2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, ChangeLog-2001-2008, ChangeLog_2001-2008,
-	Watchdog/ChangeLog, Watchdog/ChangeLog-2001-2008,
-	Watchdog/ChangeLog_2001-2008: Change logs updated.
-
-2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac: Improved the semantics of the
-	--enable-watchdog configure option.
-
-2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Change logs covering the changes
-	made in the CVS repository in 2009.  They will be replaced by
-	up-to-date change logs obtained from git.
-
-2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, ChangeLog-2001-2008, Watchdog/ChangeLog,
-	Watchdog/ChangeLog-2001-2008: Renamed and frozen: the
-	ChangeLog-2001-2008 should never be changed again.
-
-2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog: Updated to 2008-12-31.
-
-2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Support systems
-	that do not define `siginfo_t'.
-
-2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac: Added checks for the
-	availability of `siginfo_t'.
-
-2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4: We can infer the possibility to
-	control the CPU even when cross-compiling.  This happens (at least)
-	on i386 and sparc (provided we have <ieeefp.h>).
-
-2009-03-25  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/ppl_c_stream.cc,
-	interfaces/C/tests/print_to_buffer.c, src/c_streambuf_format.cc,
-	src/c_streambuf_format.defs.hh, src/c_streambuf_format.inlines.hh,
-	src/c_streambuf_format_settings.h: Better parameters for formatted
-	output.
-
-2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh: Properly use PPL_FPMATH_MAY_USE_387 and
-	PPL_FPMATH_MAY_USE_SSE.
-
-2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.cc: Depend on PPL_CAN_CONTROL_FPU.
-
-2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac: Typo fixed.
-
-2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* : commit b5d7b09c10aea7c95b9d2693986e2e4e549d3a12 Author: Roberto
-	Bagnara <bagnara at cs.unipr.it> Date:   Wed Mar 25 21:06:01 2009 +0100
-
-2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/congruences1.cc, tests/Box/max_min1.cc: Disable more
-	tests that fail on the Alpha due to a GCC bug.
-
-2009-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh,
-	tests/BD_Shape/simplifyusingcontext1.cc,
-	tests/Octagonal_Shape/Makefile.am,
-	tests/Octagonal_Shape/simplifyusingcontext1.cc,
-	tests/Polyhedron/simplifyusingcontext1.cc: Implemented
-	Octagonal_Shape::simplify_using_context_assign().  The efficiency of
-	the method needs improving. Added a few tests.
-
-2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
-
-	* TODO: TODO item - Check the configuration dependent documentation for Prolog, done
-	and removed.
-
-2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	interfaces/OCaml/ppl_ocaml_common.cc,
-	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
-	4, interfaces/OCaml/tests/test1.ml: Where the result type is unit,
-	the type returned by C++ must be a CAMLprim value type and not a
-	void.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addcongruences1.cc,
-	tests/Octagonal_Shape/generalizedaffineimage3.cc,
-	tests/Octagonal_Shape/generalizedaffinepreimage2.cc: Exception
-	handling is broken in GCC on the Alpha: commented out some tests.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/formatted_output.c: Reduced DIMENSION to 100.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, interfaces/C/tests/formatted_output.c,
-	m4/ac_check_fpu_control.m4, m4/ac_check_gmp.m4,
-	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
-	m4/ac_cxx_float_exact_output.m4, m4/ac_cxx_ieee_inexact_flag.m4,
-	m4/ac_cxx_limit_memory.m4, m4/ac_cxx_long_double_exact_output.m4,
-	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4:
-	Improved the actions of AC_RUN_IFELSE when cross-compiling.
-
-2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/Makefile.am: Fixed file names.
-
-2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS: Mention the bug corrected for method
-	Octagonal_Shape<T>::affine_image().
-
-2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/ppl_c_header.h: Fixed comment.
-
-2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/ppl_c_header.h: Fixed indentation.
-
-2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh: Corrected bug affecting method
-	Octagonal_Shape::affine_image().
-
-2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/Makefile.am, interfaces/C/ppl_c_header.h,
-	interfaces/C/ppl_c_implementation_common.cc,
-	interfaces/C/ppl_c_implementation_common.defs.hh,
-	interfaces/C/ppl_c_stream.cc, interfaces/C/ppl_c_stream.defs.hh,
-	interfaces/C/ppl_c_stream.h, interfaces/C/ppl_c_stream.inlines.hh,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h, src/Makefile.am,
-	src/c_stream.cc, src/c_stream.h, src/c_streambuf.inlines.hh,
-	src/c_streambuf_format.cc, src/c_streambuf_format.defs.hh,
-	src/c_streambuf_format.inlines.hh,
-	src/c_streambuf_format_settings.h: Cleaned C streams implementation.
-
-2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc: Test test17() shows a bug
-	in method Octagonal_Shape::affine_image().  The bug is triggered
-	  when the affine image is of the form var -> var + n and the
-	octagonal shape has constraints relating var with another space
-	dimension having index smaller than var.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure, TODO: Explained the `--disable-ppl_lcdd' and
-	`--disable-ppl_lcdd' configure options.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec: There are no GNU Prolog packages available on
-	ia64: disable the GNU Prolog interface also on those platforms
-	(besides ppc64, s390 and s390x).
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec: Synchronized with the Fedora repository.
-
-2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_header.h,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h, src/c_stream.h: Added some
-	more infrastructure.  Variables renamed.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/print_to_buffer.c: Build restored.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/tests/print_to_buffer.c, src/c_stream.cc,
-	src/c_stream.h, src/c_streambuf_format.cc: Added repeated char for
-	left and right margin.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h, src/c_stream.h: Some fixes.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am, interfaces/C/tests/cxxoutput.c,
-	interfaces/C/tests/formatted_output.c,
-	interfaces/C/tests/print_to_buffer.cc: Done some cleaning.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am, interfaces/C/ppl_c_header.h,
-	interfaces/C/tests/Makefile.am,
-	interfaces/C/tests/print_to_buffer.c,
-	interfaces/C/tests/print_to_buffer.h, src/c_stream.h: Started the
-	installation of the new formatted output machinery.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Better
-	name.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Bug
-	fix: ostringstream.str() returns a temporary.
-
-2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc: Added a test.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/c_stream.cc, src/c_stream.h, src/c_streambuf.defs.hh,
-	src/c_streambuf.inlines.hh, src/c_streambuf_format.cc,
-	src/c_streambuf_format.defs.hh: Separated wrap before from wrap
-	after. Bug fixes.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh, src/Octagonal_Shape.inlines.hh,
-	src/Octagonal_Shape.templates.hh: Readability improvements.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh: Fixed a bug (that is inconsequential for
-	the current code base).  We were using `m % 2 == 1' instead of `m %
-	2 != 0', with `m' a signed number that could be negative.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/c_stream.cc, src/c_stream.h: Added ppl_io_ostream_buffer_clear
-	function.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/c_stream.cc, src/c_stream.h: Added write functions for native
-	types.
-
-2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* src/Makefile.am, src/c_stream.cc, src/c_stream.h,
-	src/c_streambuf.cc, src/c_streambuf.defs.hh,
-	src/c_streambuf.inlines.hh, src/c_streambuf_format.cc,
-	src/c_streambuf_format.defs.hh, src/c_streambuf_format.inlines.hh,
-	src/c_streambuf_format.types.hh: Added filtered streams. Implemented
-	format filter.
-
-2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
-
-	* doc/Makefile.am: Add dependencies between HTML manuals for
-	parallel builds.  The distributed built HTML manuals logically
-	depend on the built tag file, which is not distributed; hence a
-	direct dependency cannot be added (it would break a `make distcheck'
-	check). As a workaround, they now depend on the core HTML manual,
-	which is built _and_ distributed.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh: Obsolete FIXME removed.
-
-2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh: Little formatting improvement.
-
-2009-03-23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/pretty_print.cc, src/pretty_print.hh: Use consistent parameter
-	names in helper function wrap.
-
-2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz_a: Updated to reflect the new way
-	`ppl_lpsol' is invoked.
-
-2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, Watchdog/Makefile.am, Watchdog/pwl-config.sed,
-	ppl-config.sed: Tightened the machinery used to generate the
-	configuration headers.
-
-2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .gitignore, Makefile.am, Watchdog/Makefile.am,
-	Watchdog/configure.ac, Watchdog/pwl-config.sed, configure.ac,
-	ppl-config.sed: New machinery to create ppl-config.h and
-	pwl-config.h.
-
-2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac: Minimum Autoconf version
-	brought back to 2.61.
-
-2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .gitignore, NEWS, Watchdog/.gitignore, Watchdog/configure.ac,
-	Watchdog/m4/Makefile.am, Watchdog/m4/ax_prefix_config_h.m4,
-	Watchdog/src/Makefile.am, configure.ac, instchk.hh, m4/Makefile.am,
-	m4/ac_check_fpu_control.m4, m4/ac_check_gmp.m4,
-	m4/ac_cxx_attribute_weak.m4, m4/ac_cxx_double_binary_format.m4,
-	m4/ac_cxx_double_exact_output.m4, m4/ac_cxx_flexible_arrays.m4,
-	m4/ac_cxx_float_binary_format.m4, m4/ac_cxx_float_exact_output.m4,
-	m4/ac_cxx_ieee_inexact_flag.m4, m4/ac_cxx_limit_memory.m4,
-	m4/ac_cxx_long_double_binary_format.m4,
-	m4/ac_cxx_long_double_exact_output.m4,
-	m4/ac_cxx_proper_long_double.m4, m4/ac_cxx_remainder_bug.m4,
-	m4/ax_prefix_config_h.m4: Got rid of AX_PREFIX_CONFIG_H.
-
-2009-03-20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac, configure.ac, m4/ac_prog_java.m4,
-	m4/ac_prog_javac.m4: Avoid using obsolete Autoconf macros.
-
-2009-02-22  Abramo Bagnara <abramo.bagnara at gmail.com>
-
-	* .cvsignore, .gitignore, Watchdog/.cvsignore, Watchdog/.gitignore,
-	Watchdog/doc/.cvsignore, Watchdog/doc/.gitignore,
-	Watchdog/m4/.cvsignore, Watchdog/m4/.gitignore,
-	Watchdog/src/.cvsignore, Watchdog/src/.gitignore,
-	Watchdog/tests/.cvsignore, Watchdog/tests/.gitignore,
-	Watchdog/utils/.cvsignore, Watchdog/utils/.gitignore,
-	debian/.cvsignore, debian/.gitignore, demos/.cvsignore,
-	demos/.gitignore, demos/ppl_lcdd/.cvsignore,
-	demos/ppl_lcdd/.gitignore, demos/ppl_lcdd/examples/.cvsignore,
-	demos/ppl_lcdd/examples/.gitignore, demos/ppl_lpsol/.cvsignore,
-	demos/ppl_lpsol/.gitignore, demos/ppl_lpsol/examples/.cvsignore,
-	demos/ppl_lpsol/examples/.gitignore, devtools/.cvsignore,
-	devtools/.gitignore, doc/.cvsignore, doc/.gitignore,
-	fedora/.cvsignore, fedora/.gitignore, interfaces/.cvsignore,
-	interfaces/.gitignore, interfaces/C/.cvsignore,
-	interfaces/C/.gitignore, interfaces/C/tests/.cvsignore,
-	interfaces/C/tests/.gitignore, interfaces/Java/.cvsignore,
-	interfaces/Java/.gitignore, interfaces/Java/jni/.cvsignore,
-	interfaces/Java/jni/.gitignore,
-	interfaces/Java/parma_polyhedra_library/.cvsignore,
-	interfaces/Java/parma_polyhedra_library/.gitignore,
-	interfaces/Java/tests/.cvsignore, interfaces/Java/tests/.gitignore,
-	interfaces/OCaml/.cvsignore, interfaces/OCaml/.gitignore,
-	interfaces/OCaml/tests/.cvsignore,
-	interfaces/OCaml/tests/.gitignore, interfaces/Prolog/.cvsignore,
-	interfaces/Prolog/.gitignore, interfaces/Prolog/Ciao/.cvsignore,
-	interfaces/Prolog/Ciao/.gitignore,
-	interfaces/Prolog/GNU/.cvsignore, interfaces/Prolog/GNU/.gitignore,
-	interfaces/Prolog/SICStus/.cvsignore,
-	interfaces/Prolog/SICStus/.gitignore,
-	interfaces/Prolog/SWI/.cvsignore, interfaces/Prolog/SWI/.gitignore,
-	interfaces/Prolog/XSB/.cvsignore, interfaces/Prolog/XSB/.gitignore,
-	interfaces/Prolog/YAP/.cvsignore, interfaces/Prolog/YAP/.gitignore,
-	interfaces/Prolog/tests/.cvsignore,
-	interfaces/Prolog/tests/.gitignore, m4/.cvsignore, m4/.gitignore,
-	src/.cvsignore, src/.gitignore, tests/.cvsignore, tests/.gitignore,
-	tests/Ask_Tell/.cvsignore, tests/Ask_Tell/.gitignore,
-	tests/BD_Shape/.cvsignore, tests/BD_Shape/.gitignore,
-	tests/Box/.cvsignore, tests/Box/.gitignore, tests/Grid/.cvsignore,
-	tests/Grid/.gitignore, tests/MIP_Problem/.cvsignore,
-	tests/MIP_Problem/.gitignore, tests/Octagonal_Shape/.cvsignore,
-	tests/Octagonal_Shape/.gitignore,
-	tests/Partially_Reduced_Product/.cvsignore,
-	tests/Partially_Reduced_Product/.gitignore,
-	tests/Polyhedron/.cvsignore, tests/Polyhedron/.gitignore,
-	tests/Powerset/.cvsignore, tests/Powerset/.gitignore,
-	utils/.cvsignore, utils/.gitignore: Replaced .cvsignore with
-	.gitignore.
diff --git a/Watchdog/ChangeLog_2001-2008 b/Watchdog/ChangeLog_2001-2008
deleted file mode 100644
index 9eb2690..0000000
--- a/Watchdog/ChangeLog_2001-2008
+++ /dev/null
@@ -1,2162 +0,0 @@
-2008-12-31 Wednesday 23:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.37), README (1.21), configure.ac (1.58),
-	  doc/Makefile.am (1.9), doc/README.doc (1.4), doc/devref.tex
-	  (1.6), doc/pwl.sty (1.4), doc/user.tex (1.6), m4/Makefile.am
-	  (1.6), src/Doubly_Linked_Object.defs.hh (1.7),
-	  src/Doubly_Linked_Object.inlines.hh (1.7),
-	  src/Doubly_Linked_Object.types.hh (1.5), src/EList.defs.hh (1.9),
-	  src/EList.inlines.hh (1.7), src/EList.types.hh (1.5),
-	  src/EList_Iterator.defs.hh (1.7), src/EList_Iterator.inlines.hh
-	  (1.7), src/EList_Iterator.types.hh (1.5), src/Handler.defs.hh
-	  (1.8), src/Handler.inlines.hh (1.7), src/Handler.types.hh (1.5),
-	  src/Makefile.am (1.19), src/Pending_Element.cc (1.8),
-	  src/Pending_Element.defs.hh (1.8), src/Pending_Element.inlines.hh
-	  (1.7), src/Pending_Element.types.hh (1.5), src/Pending_List.cc
-	  (1.8), src/Pending_List.defs.hh (1.8),
-	  src/Pending_List.inlines.hh (1.7), src/Pending_List.types.hh
-	  (1.5), src/Time.cc (1.8), src/Time.defs.hh (1.8),
-	  src/Time.inlines.hh (1.7), src/Time.types.hh (1.5),
-	  src/Watchdog.cc (1.10), src/Watchdog.defs.hh (1.10),
-	  src/Watchdog.inlines.hh (1.7), src/Watchdog.types.hh (1.5),
-	  src/pwl_header.hh (1.8), tests/Makefile.am (1.7),
-	  tests/pwl_test.cc (1.4), tests/pwl_test.hh (1.4),
-	  tests/simple1.cc (1.4), utils/Makefile.am (1.13),
-	  utils/build_header.in (1.7): Copyright years extended.
-
-2008-12-16 Tuesday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, README, config.rpath, configure.ac, doc/Makefile.am,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  m4/Makefile.am, m4/lib-ld.m4, m4/lib-link.m4
-	  (bounded_arithmetic.[3,2,2,3,3,3,3,2,2,2]): Third merge of the
-	  trunk to the bounded_arithmetic branch.
-
-2008-11-30 Sunday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.57): Postpone the AC_LIB_RPATH test.
-
-2008-11-05 Wednesday 19:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.8): Doxygen configuration files are generated
-	  by the configure script, so that they don't have to be listed in
-	  EXTRA_DIST.  (Thanks to Michael Tautschnig for pointing this
-	  out.)
-
-2008-11-04 Tuesday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_10-branch.1): Mark ChangeLog.
-
-2008-11-04 Tuesday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.24): Updated.
-
-2008-11-03 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.10): Previous commit reverted.
-
-2008-11-03 Monday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* INSTALL (1.9): Same changes as in previous commit for the
-	  top-level ppl INSTALL file.
-
-2008-11-01 Saturday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.20): Updated.
-
-2008-11-01 Saturday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.6), user.doxyconf-latex.in (1.6):
-	  Do not produce the collaboration graph in the user docs, as this
-	  graph contains implementation info.
-
-2008-10-31 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.23): Updated.
-
-2008-10-31 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.rpath (1.1), configure.ac (1.56), m4/Makefile.am (1.5),
-	  m4/lib-ld.m4 (1.1), m4/lib-link.m4 (1.1): Added the
-	  `--disable-rpath' option to the configuration script.  The
-	  definition of `m4macros' in `Makefile.am' had several omissions:
-	  fixed.
-
-2008-10-29 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
-	  configure.ac, doc/Makefile.am, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, m4/Makefile.am,
-	  m4/ax_prefix_config_h.m4, src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList_Iterator.defs.hh,
-	  src/EList_Iterator.inlines.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Makefile.am, src/Pending_Element.cc,
-	  src/Pending_Element.defs.hh, src/Pending_Element.inlines.hh,
-	  src/Pending_List.cc, src/Pending_List.defs.hh,
-	  src/Pending_List.inlines.hh, src/Time.cc, src/Time.defs.hh,
-	  src/Time.inlines.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
-	  src/Watchdog.inlines.hh, src/pwl_header.hh, tests/.cvsignore,
-	  tests/Makefile.am, tests/pwl_test.cc, tests/pwl_test.hh,
-	  tests/simple1.cc, tests/valgrind_suppressions, utils/Makefile.am
-	  (bounded_arithmetic.[2,1,1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2]):
-	  Second merge of the trunk to the bounded_arithmetic branch.
-
-2008-10-27 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.22): Updated.
-
-2008-10-26 Sunday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.12): The target release date is November 4, 2008.
-
-2008-10-26 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.19), ChangeLog (1.21): Updated.
-
-2008-10-26 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.55), src/Makefile.am (1.18): Version number
-	  corrected.
-
-2008-10-26 Sunday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Makefile.am (1.17): Ensure the clean and mostlyclean comply
-	  with the 'STANDARDS' file and are used sensibly.
-
-	  Removed - Check all the Makefile.am's to make sure CLEANFILES,
-	  MOSTLYCLEANFILES   and DISTCLEANFILES are used in a sensible way.
-	   from the TODO list for 0.10
-
-2008-10-25 Saturday 22:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.7): Do clean .tag files generated by Doxygen.
-
-2008-10-24 Friday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.6): Avoid cleaning distributed built files.
-	  Try to follow the rule stated in Section 27.5 of the Automake
-	  manual: distributed files should never depend upon
-	  non-distributed built files.
-
-2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/pwl_test.cc (1.3): Do not rely on the definition of
-	  optional macros of <fenv.h>.
-
-2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/pwl_test.cc (bounded_arithmetic.1): file pwl_test.cc was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
-
-2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/pwl_test.hh (1.3): Define the NOISY and VERY_NOISY macros
-	  before they are used.  Unused parameter warning avoided.
-
-2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/pwl_test.hh (bounded_arithmetic.1): file pwl_test.hh was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
-
-2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.6): Must link with -lm for fetestexcept().
-
-2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (bounded_arithmetic.1): file Makefile.am was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
-
-2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.54): Improved and reorganized.
-
-2008-10-11 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.53): The PWL is now enabled by default also on
-	  Cygwin.
-
-2008-10-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.repo (1.5): The configure.repo files do not solve the
-	  problem they were meant to solve.
-
-2008-10-11 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.5): Avoid using $(builddir).
-
-2008-10-10 Friday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.20): Updated.
-
-2008-10-06 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.36), configure.ac (1.52), configure.repo (1.4),
-	  src/Makefile.am (1.16): Fixed the machinery used to
-	  conditionalize the build of the PWL.	The PWL is currently
-	  disabled under Cygwin because of the bug reported in
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-October/013156.html.
-
-2008-10-06 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/simple1.cc (bounded_arithmetic.1): file simple1.cc was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
-
-2008-10-06 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.51), configure.repo (1.3), Makefile.am (1.35),
-	  README (1.18), m4/Makefile.am (1.4),
-	  src/Doubly_Linked_Object.defs.hh (1.6),
-	  src/Doubly_Linked_Object.inlines.hh (1.6), src/EList.defs.hh
-	  (1.8), src/EList.inlines.hh (1.6), src/EList_Iterator.defs.hh
-	  (1.6), src/EList_Iterator.inlines.hh (1.6), src/Handler.defs.hh
-	  (1.7), src/Handler.inlines.hh (1.6), src/Makefile.am (1.15),
-	  src/Pending_Element.cc (1.7), src/Pending_Element.defs.hh (1.7),
-	  src/Pending_Element.inlines.hh (1.6), src/Pending_List.cc (1.7),
-	  src/Pending_List.defs.hh (1.7), src/Pending_List.inlines.hh
-	  (1.6), src/Time.cc (1.7), src/Time.defs.hh (1.7),
-	  src/Time.inlines.hh (1.6), src/Watchdog.cc (1.9),
-	  src/Watchdog.defs.hh (1.9), src/Watchdog.inlines.hh (1.6),
-	  src/pwl_header.hh (1.7), tests/Makefile.am (1.4),
-	  tests/pwl_test.cc (1.2), tests/pwl_test.hh (1.2),
-	  tests/simple1.cc (1.3), utils/Makefile.am (1.12): Copyright
-	  notices made consistent.
-
-2008-10-05 Sunday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-latex.in (1.4), user.doxyconf-html.in
-	  (1.5), user.doxyconf-latex.in (1.5): Updated for Doxygen 1.5.7.1.
-
-2008-10-05 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.3): Spurious backslash removed.
-
-2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.2), valgrind_suppressions (1.1):
-	  Distribute also pwl_test.hh and valgrind_suppressions.
-
-2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/valgrind_suppressions (bounded_arithmetic.1): file
-	  valgrind_suppressions was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:22 +0000
-
-2008-10-05 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (1.4): Updated for Doxygen 1.5.7.1.
-
-2008-10-05 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/simple1.cc (1.2): Added some debug output.
-
-2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/.cvsignore (bounded_arithmetic.1): file .cvsignore was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
-
-2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.34), configure.ac (1.50), configure.repo (1.2),
-	  tests/.cvsignore (1.1), tests/Makefile.am (1.1),
-	  tests/pwl_test.cc (1.1), tests/pwl_test.hh (1.1),
-	  tests/simple1.cc (1.1): Make some simple tests also with the
-	  Parma Watchdog Library.
-
-2008-10-04 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ax_prefix_config_h.m4 (1.2): Updated.
-
-2008-10-04 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.27), config.sub (1.25): Updated.
-
-2008-09-20 Saturday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.49), configure.repo (1.1): Capitalization fixed.
-
-2008-09-20 Saturday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.11): Set a tentative release date.
-
-2008-09-20 Saturday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.48): We do not need the `win32-dll' Libtool
-	  option.
-
-2008-09-20 Saturday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.47): Punctuation improved.  Require Autoconf 2.60
-	  or later.
-
-2008-09-20 Saturday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.19): Updated.
-
-2008-09-11 Thursday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, INSTALL, config.guess, config.sub, configure.ac,
-	  ltmain.sh, doc/Makefile.am, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, m4/libtool.m4, m4/ltoptions.m4,
-	  m4/ltsugar.m4, m4/ltversion.m4, src/Makefile.am,
-	  utils/Makefile.am
-	  (bounded_arithmetic.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): First
-	  merge of the trunk to the bounded_arithmetic branch.
-
-2008-09-11 Thursday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.8): Updated from Autoconf 2.63.
-
-2008-09-08 Monday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.46), utils/Makefile.am (1.11): Use AC_PROG_SED in
-	  configure.ac's and $(SED), instead of plain `sed', in
-	  Makefile.am's.
-
-2008-09-07 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.5): `abs_srcdir' is automatically set by
-	  Automake: removed redundant definitions.
-
-2008-09-07 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.26), config.sub (1.24): Updated.
-
-2008-09-07 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.14), utils/Makefile.am (1.10): Removed useless
-	  dependencies from Makefile.
-
-2008-09-07 Sunday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.24), m4/libtool.m4 (1.6), m4/ltoptions.m4 (1.4),
-	  m4/ltsugar.m4 (1.2), m4/ltversion.m4 (1.5): Updated from Libtool
-	  2.2.6.
-
-2008-09-06 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.3), devref.doxyconf-latex.in
-	  (1.3), user.doxyconf-html.in (1.4), user.doxyconf-latex.in (1.4):
-	  Updated.
-
-2008-08-15 Friday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.18): Updated.
-
-2008-06-06 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore, ChangeLog, INSTALL, config.guess, config.sub,
-	  configure.ac, depcomp, install-sh, ltmain.sh,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/devref.tex, doc/fdl.dox, doc/gpl.dox,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  doc/user.tex, m4/libtool.m4, m4/ltoptions.m4, m4/ltsugar.m4,
-	  m4/ltversion.m4, m4/lt~obsolete.m4, src/.cvsignore
-	  (simplex.[1,4,3,5,5,3,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2]): Fifth
-	  merge of the trunk to the `simplex' branch.
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.45), ltmain.sh (1.23), m4/libtool.m4 (1.5),
-	  m4/ltoptions.m4 (1.3), m4/ltversion.m4 (1.4), m4/lt~obsolete.m4
-	  (1.2): Updated to Libtool 2.2.4.
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/libtool.m4 (simplex.1): file libtool.m4 was added on branch
-	  simplex on 2008-06-06 14:21:55 +0000
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ltoptions.m4 (simplex.1): file ltoptions.m4 was added on
-	  branch simplex on 2008-06-06 14:21:55 +0000
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ltversion.m4 (simplex.1): file ltversion.m4 was added on
-	  branch simplex on 2008-06-06 14:21:55 +0000
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/lt~obsolete.m4 (simplex.1): file lt~obsolete.m4 was added on
-	  branch simplex on 2008-06-06 14:21:55 +0000
-
-2008-04-02 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.22), m4/libtool.m4 (1.4), m4/ltoptions.m4 (1.2),
-	  m4/ltversion.m4 (1.3): Updated from Libtool 2.2.2.
-
-2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.tex (1.5), fdl.dox (1.2), gpl.dox (1.3), user.tex
-	  (1.5): Properly named page anchors so as to avoid undefined
-	  references in the LaTeX documentation.
-
-2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.2), devref.doxyconf-latex.in
-	  (1.2), user.doxyconf-html.in (1.3), user.doxyconf-latex.in (1.3):
-	  Doxygen configuration files upgraded.
-
-2008-03-18 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.17): Updated.
-
-2008-03-08 Saturday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.21), m4/libtool.m4 (1.3), m4/ltversion.m4 (1.2):
-	  Updated from Libtool 2.3a.
-
-2008-03-05 Wednesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.44): Use the new style macro to initialize
-	  Libtool.
-
-2008-03-05 Wednesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.20), m4/libtool.m4 (1.2): Updated to the CVS HEAD
-	  version of Libtool: this seems to solve the problems we
-	  experienced since the switch to Libtool 2.2.
-
-2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ltsugar.m4 (simplex.1): file ltsugar.m4 was added on branch
-	  simplex on 2008-06-06 14:21:55 +0000
-
-2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.25), ltmain.sh (1.19), m4/libtool.m4 (1.1),
-	  m4/ltoptions.m4 (1.1), m4/ltsugar.m4 (1.1), m4/ltversion.m4
-	  (1.1), m4/lt~obsolete.m4 (1.1): Switched to Libtool 2.2.
-
-2008-01-22 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.7), config.guess (1.24), config.sub (1.23), depcomp
-	  (1.10), install-sh (1.15): Updated from Automake 1.10.1.
-
-2008-01-09 Wednesday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.7), src/.cvsignore (1.3): Ignore *.loT files.
-
-2008-01-09 Wednesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.6): Updated.
-
-2008-01-07 Monday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING, ChangeLog, INSTALL, Makefile.am, NEWS, README, compile,
-	  config.guess, config.sub, configure.ac, ltmain.sh,
-	  doc/.cvsignore, doc/Makefile.am, doc/README.doc,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/devref.tex, doc/fdl.dox, doc/fdl.tex, doc/fdl.txt,
-	  doc/gpl.dox, doc/gpl.tex, doc/gpl.txt, doc/pwl.sty,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  doc/user.tex, m4/.cvsignore, m4/Makefile.am,
-	  m4/ax_prefix_config_h.m4, src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh,
-	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList.types.hh,
-	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
-	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
-	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
-	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
-	  src/Pending_List.cc, src/Pending_List.defs.hh,
-	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
-	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
-	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
-	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
-	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
-	  (simplex.[1,3,2,3,2,3,1,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,3,2]):
-	  Fourth merge of the trunk to the `simplex' branch.  The `simplex'
-	  branch is open again.
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.33), README (1.17), configure.ac (1.43),
-	  doc/Makefile.am (1.4), doc/README.doc (1.3), doc/devref.tex
-	  (1.4), doc/pwl.sty (1.3), doc/user.tex (1.4), m4/Makefile.am
-	  (1.3), src/Doubly_Linked_Object.defs.hh (1.5),
-	  src/Doubly_Linked_Object.inlines.hh (1.5),
-	  src/Doubly_Linked_Object.types.hh (1.4), src/EList.defs.hh (1.7),
-	  src/EList.inlines.hh (1.5), src/EList.types.hh (1.4),
-	  src/EList_Iterator.defs.hh (1.5), src/EList_Iterator.inlines.hh
-	  (1.5), src/EList_Iterator.types.hh (1.4), src/Handler.defs.hh
-	  (1.6), src/Handler.inlines.hh (1.5), src/Handler.types.hh (1.4),
-	  src/Makefile.am (1.13), src/Pending_Element.cc (1.6),
-	  src/Pending_Element.defs.hh (1.6), src/Pending_Element.inlines.hh
-	  (1.5), src/Pending_Element.types.hh (1.4), src/Pending_List.cc
-	  (1.6), src/Pending_List.defs.hh (1.6),
-	  src/Pending_List.inlines.hh (1.5), src/Pending_List.types.hh
-	  (1.4), src/Time.cc (1.6), src/Time.defs.hh (1.6),
-	  src/Time.inlines.hh (1.5), src/Time.types.hh (1.4),
-	  src/Watchdog.cc (1.8), src/Watchdog.defs.hh (1.8),
-	  src/Watchdog.inlines.hh (1.5), src/Watchdog.types.hh (1.4),
-	  src/pwl_header.hh (1.6), utils/Makefile.am (1.9),
-	  utils/build_header.in (1.6): Copyright years extended.
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am, m4/Makefile.am (simplex.[1,1]): file Makefile.am
-	  was added on branch simplex on 2008-01-07 11:15:25 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (simplex.1): file README.doc was added on branch
-	  simplex on 2008-01-07 11:15:25 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.tex (simplex.1): file devref.tex was added on branch
-	  simplex on 2008-01-07 11:15:25 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/pwl.sty (simplex.1): file pwl.sty was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.tex (simplex.1): file user.tex was added on branch
-	  simplex on 2008-01-07 11:15:25 +0000
-
-2007-10-14 Sunday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.defs.hh (1.7): Non-standard qualification removed.
-
-2007-10-09 Tuesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.6): The `make uninstall' command is now mentioned in
-	  the INSTALL file.
-
-2007-09-15 Saturday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.12): Made clean up independent from
-	  configuration.
-
-2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.10), doc/devref.tex (1.3), doc/gpl.dox (1.2), doc/gpl.tex
-	  (1.2), doc/gpl.txt (1.2), doc/user.tex (1.3): The Parma Watchdog
-	  Library is now released under the terms of the version 3 (or
-	  later) of the GNU General Public License.
-
-2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.dox (simplex.1): file gpl.dox was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.tex (simplex.1): file gpl.tex was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-09-13 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.txt (simplex.1): file gpl.txt was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-09-12 Wednesday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.42): Do not allow AC_PROG_CC and AC_PROG_CXX to
-	  affect CFLAGS and CXXFLAGS.
-
-2007-09-10 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.41): Added a comment about the positioning of
-	  AC_PROG_CC and AC_PROG_CXX.
-
-2007-09-10 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.40): Pass the no-define option to
-	  AM_INIT_AUTOMAKE.
-
-2007-09-10 Monday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.7), config.guess (1.23), config.sub (1.22): Updated.
-
-2007-09-10 Monday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.39): Corrections to the handling of compilation
-	  flags.
-
-2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.2), user.doxyconf-latex.in (1.2):
-	  Updated to Doxygen 1.5.3-20070815.
-
-2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.doxyconf-html.in (simplex.1): file user.doxyconf-html.in
-	  was added on branch simplex on 2008-01-07 11:15:25 +0000
-
-2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.doxyconf-latex.in (simplex.1): file
-	  user.doxyconf-latex.in was added on branch simplex on 2008-01-07
-	  11:15:25 +0000
-
-2007-07-30 Monday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Makefile.am (1.32): Added a comment on the need to explicitly
-	  clean files generated by macro AX_PREFIX_CONFIG_H.
-
-2007-07-29 Sunday 16:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Makefile.am (1.31): The prefixed configuration header and
-	  _config.sed added to DESTCLEANFILES.
-
-2007-07-12 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.4), Makefile.am (1.30), README (1.16), configure.ac
-	  (1.38), doc/Makefile.am (1.3), doc/README.doc (1.2),
-	  doc/devref.tex (1.2), doc/pwl.sty (1.2), doc/user.tex (1.2),
-	  m4/Makefile.am (1.2), src/Doubly_Linked_Object.defs.hh (1.4),
-	  src/Doubly_Linked_Object.inlines.hh (1.4), src/EList.defs.hh
-	  (1.6), src/EList.inlines.hh (1.4), src/EList_Iterator.defs.hh
-	  (1.4), src/EList_Iterator.inlines.hh (1.4), src/Handler.defs.hh
-	  (1.5), src/Handler.inlines.hh (1.4), src/Makefile.am (1.11),
-	  src/Pending_Element.cc (1.5), src/Pending_Element.defs.hh (1.5),
-	  src/Pending_Element.inlines.hh (1.4), src/Pending_List.cc (1.5),
-	  src/Pending_List.defs.hh (1.5), src/Pending_List.inlines.hh
-	  (1.4), src/Time.cc (1.5), src/Time.defs.hh (1.5),
-	  src/Time.inlines.hh (1.4), src/Watchdog.cc (1.7),
-	  src/Watchdog.defs.hh (1.6), src/Watchdog.inlines.hh (1.4),
-	  src/pwl_header.hh (1.5), utils/Makefile.am (1.8),
-	  utils/build_header.in (1.5): Started the upgrade to GPL version 3
-	  or later.
-
-2007-07-04 Wednesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.29): Added `m4' to `SUBDIRS'.
-
-2007-06-28 Thursday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.18): Updated from Libtool 1.5.24.
-
-2007-06-08 Friday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.37): Do not override the externally-provided
-	  CFLAGS and CXXFLAGS.
-
-2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/.cvsignore (simplex.1): file .cvsignore was added on branch
-	  simplex on 2008-01-07 11:15:25 +0000
-
-2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ax_prefix_config_h.m4 (simplex.1): file ax_prefix_config_h.m4
-	  was added on branch simplex on 2008-01-07 11:15:25 +0000
-
-2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.28), NEWS (1.9), configure.ac (1.36),
-	  m4/.cvsignore (1.1), m4/Makefile.am (1.1),
-	  m4/ax_prefix_config_h.m4 (1.1), src/Makefile.am (1.10),
-	  src/Pending_Element.cc (1.4), src/Pending_List.cc (1.4),
-	  src/Time.cc (1.4), src/Watchdog.cc (1.6), src/Watchdog.defs.hh
-	  (1.5), src/pwl_header.hh (1.4): The `pwl.hh' header file no
-	  longer defines macros not prefixed by "PWL_".
-
-2007-05-21 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.17): Updated from Libtool 1.5.23b.
-
-2007-03-11 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.2): No longer mention README.configure.
-
-2007-02-25 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, README, configure.ac, doc/.cvsignore,
-	  doc/Makefile.am, doc/README.doc, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/fdl.dox,
-	  doc/fdl.tex, doc/fdl.txt, doc/gpl.dox, doc/gpl.tex, doc/gpl.txt,
-	  doc/pwl.sty, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex,
-	  src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh,
-	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList.types.hh,
-	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
-	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
-	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
-	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
-	  src/Pending_List.cc, src/Pending_List.defs.hh,
-	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
-	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
-	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
-	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
-	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
-	  (altnum.[7,4,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]):
-	  Tenth merge of the main trunk to the `altnum' branch.
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/.cvsignore (altnum.1): file .cvsignore was added on branch
-	  altnum on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/.cvsignore (simplex.1): file .cvsignore was added on branch
-	  simplex on 2008-01-07 11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (altnum.1): file Makefile.am was added on branch
-	  altnum on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (altnum.1): file README.doc was added on branch
-	  altnum on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (altnum.1): file
-	  devref.doxyconf-html.in was added on branch altnum on 2007-02-25
-	  18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (simplex.1): file
-	  devref.doxyconf-html.in was added on branch simplex on 2008-01-07
-	  11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-latex.in (altnum.1): file
-	  devref.doxyconf-latex.in was added on branch altnum on 2007-02-25
-	  18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-latex.in (simplex.1): file
-	  devref.doxyconf-latex.in was added on branch simplex on
-	  2008-01-07 11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.tex (altnum.1): file devref.tex was added on branch
-	  altnum on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.dox (altnum.1): file fdl.dox was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.dox (simplex.1): file fdl.dox was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.tex (altnum.1): file fdl.tex was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.tex (simplex.1): file fdl.tex was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.txt (altnum.1): file fdl.txt was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.txt (simplex.1): file fdl.txt was added on branch simplex
-	  on 2008-01-07 11:15:25 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.dox (altnum.1): file gpl.dox was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.tex (altnum.1): file gpl.tex was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.txt (altnum.1): file gpl.txt was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/pwl.sty (altnum.1): file pwl.sty was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.doxyconf-html.in (altnum.1): file user.doxyconf-html.in
-	  was added on branch altnum on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.doxyconf-latex.in (altnum.1): file
-	  user.doxyconf-latex.in was added on branch altnum on 2007-02-25
-	  18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user.tex (altnum.1): file user.tex was added on branch altnum
-	  on 2007-02-25 18:26:53 +0000
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.27), configure.ac (1.35), doc/.cvsignore (1.1),
-	  doc/Makefile.am (1.1), doc/README.doc (1.1),
-	  doc/devref.doxyconf-html.in (1.1), doc/devref.doxyconf-latex.in
-	  (1.1), doc/devref.tex (1.1), doc/fdl.dox (1.1), doc/fdl.tex
-	  (1.1), doc/fdl.txt (1.1), doc/gpl.dox (1.1), doc/gpl.tex (1.1),
-	  doc/gpl.txt (1.1), doc/pwl.sty (1.1), doc/user.doxyconf-html.in
-	  (1.1), doc/user.doxyconf-latex.in (1.1), doc/user.tex (1.1):
-	  Documentation for the Parma Watchdog Library.
-
-2007-02-18 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.doc (ppl-0_9-branch.1): Explains where to find the
-	  documentation.
-
-2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.26), README (1.15), configure.ac (1.34),
-	  src/Doubly_Linked_Object.defs.hh (1.3),
-	  src/Doubly_Linked_Object.inlines.hh (1.3),
-	  src/Doubly_Linked_Object.types.hh (1.3), src/EList.defs.hh (1.5),
-	  src/EList.inlines.hh (1.3), src/EList.types.hh (1.3),
-	  src/EList_Iterator.defs.hh (1.3), src/EList_Iterator.inlines.hh
-	  (1.3), src/EList_Iterator.types.hh (1.3), src/Handler.defs.hh
-	  (1.4), src/Handler.inlines.hh (1.3), src/Handler.types.hh (1.3),
-	  src/Makefile.am (1.9), src/Pending_Element.cc (1.3),
-	  src/Pending_Element.defs.hh (1.4), src/Pending_Element.inlines.hh
-	  (1.3), src/Pending_Element.types.hh (1.3), src/Pending_List.cc
-	  (1.3), src/Pending_List.defs.hh (1.4),
-	  src/Pending_List.inlines.hh (1.3), src/Pending_List.types.hh
-	  (1.3), src/Time.cc (1.3), src/Time.defs.hh (1.4),
-	  src/Time.inlines.hh (1.3), src/Time.types.hh (1.3),
-	  src/Watchdog.cc (1.5), src/Watchdog.defs.hh (1.4),
-	  src/Watchdog.inlines.hh (1.3), src/Watchdog.types.hh (1.3),
-	  src/pwl_header.hh (1.3), utils/Makefile.am (1.7),
-	  utils/build_header.in (1.4): Copyright years extended.
-
-2006-12-02 Saturday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess, config.sub (altnum.[6,5]): Ninth merge of the trunk
-	  to the `altnum' branch.
-
-2006-11-18 Saturday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, INSTALL, config.guess, config.sub, install-sh,
-	  missing, mkinstalldirs, src/EList.defs.hh, src/Handler.defs.hh,
-	  src/Makefile.am, src/Pending_Element.defs.hh, src/Watchdog.cc,
-	  src/Watchdog.defs.hh (octagons.[1,1,1,1,1,1,1,1,1,1,1,2,1]):
-	  Second merge to octagons.
-
-2006-11-12 Sunday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.22), config.sub (1.21): Updated.
-
-2006-10-29 Sunday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore, COPYING, CREDITS, ChangeLog,
-	  Doubly_Linked_Object.defs.hh, Doubly_Linked_Object.inlines.hh,
-	  Doubly_Linked_Object.types.hh, EList.defs.hh, EList.inlines.hh,
-	  EList.types.hh, EList_Iterator.defs.hh,
-	  EList_Iterator.inlines.hh, EList_Iterator.types.hh,
-	  Handler.defs.hh, Handler.inlines.hh, Handler.types.hh, INSTALL,
-	  Makefile.am, NEWS, Pending_Element.cc, Pending_Element.defs.hh,
-	  Pending_Element.inlines.hh, Pending_Element.types.hh,
-	  Pending_List.cc, Pending_List.defs.hh, Pending_List.inlines.hh,
-	  Pending_List.types.hh, README, Time.cc, Time.defs.hh,
-	  Time.inlines.hh, Time.types.hh, Watchdog.cc, Watchdog.defs.hh,
-	  Watchdog.inlines.hh, Watchdog.types.hh, compile, config.guess,
-	  config.sub, configure.ac, depcomp, install-sh, ltmain.sh,
-	  missing, mkinstalldirs, pwl_header.bottom, pwl_header.middle,
-	  pwl_header.top, src/.cvsignore, src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh,
-	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList.types.hh,
-	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
-	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
-	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
-	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
-	  src/Pending_List.cc, src/Pending_List.defs.hh,
-	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
-	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
-	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
-	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
-	  src/pwl_header.hh, utils/.cvsignore, utils/Makefile.am,
-	  utils/build_header.in
-	  (altnum.[1,1,1,3,2,2,2,2,2,2,2,3,2,3,2,2,2,6,3,2,2,2,2,2,2,2,2,3,2,2,2,2,3,3,2,1,3,5,4,4,2,5,3,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
-	  Eighth merge from the main trunk.
-
-2006-09-28 Thursday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, INSTALL, config.guess, config.sub, install-sh,
-	  missing, mkinstalldirs, src/EList.defs.hh, src/Handler.defs.hh,
-	  src/Makefile.am, src/Pending_Element.defs.hh, src/Watchdog.cc,
-	  src/Watchdog.defs.hh (interfaces.[1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Second merge from main trunk (several compilation errors still to
-	  be fixed).
-
-2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.8): Typos fixed.
-
-2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.1): file Makefile.am was added on branch
-	  altnum on 2006-10-29 19:26:51 +0000
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: EList.defs.hh (1.4), Handler.defs.hh (1.3),
-	  Pending_Element.defs.hh (1.3), Watchdog.cc (1.4),
-	  Watchdog.defs.hh (1.3): Comments improved.
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList.defs.hh (altnum.1): file EList.defs.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Handler.defs.hh (altnum.1): file Handler.defs.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_Element.defs.hh (altnum.1): file
-	  Pending_Element.defs.hh was added on branch altnum on 2006-10-29
-	  19:26:51 +0000
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.cc (altnum.1): file Watchdog.cc was added on branch
-	  altnum on 2006-10-29 19:26:51 +0000
-
-2006-09-26 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.defs.hh (altnum.1): file Watchdog.defs.hh was added
-	  on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-09-23 Saturday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.16): Updated.
-
-2006-09-06 Wednesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, config.guess, config.sub, install-sh, missing,
-	  mkinstalldirs (simplex.[1,3,3,2,1,1]): Third merge from the main
-	  trunk.
-
-2006-06-29 Thursday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.5), config.guess (1.21), config.sub (1.20), install-sh
-	  (1.14), missing (1.9), mkinstalldirs (1.6): Updated from Autoconf
-	  2.60.
-
-2006-05-08 Monday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, ChangeLog, Makefile.am, NEWS, README, config.guess,
-	  config.sub, src/.cvsignore, src/Makefile.am, src/Watchdog.cc,
-	  utils/.cvsignore, utils/Makefile.am
-	  (simplex.[1,2,2,1,2,2,2,1,2,2,1,2]): Second merge from main
-	  trunk.
-
-2006-05-08 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.cc (octagons.1): First merge from main trunk.
-
-2006-04-08 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.cc (1.3): Typo fixed in comment.
-
-2006-03-12 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_9-branch.1): Mark ChangeLog.
-
-2006-03-10 Friday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.15): Updated.
-
-2006-03-10 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.14): Updated.
-
-2006-03-05 Sunday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.20), config.sub (1.19): Updated.
-
-2006-02-18 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.7): Do not distribute ppl_include_files.hh and
-	  pwl_include_files.hh.  Now ppl.hh and pwl.hh installation can be
-	  completely delegated to Automake.
-
-2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: .cvsignore (1.2), Makefile.am (1.6): We now directly create
-	  `pwl.hh': `pwl_install.hh' does not exist any longer.
-
-2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/.cvsignore (altnum.1): file .cvsignore was added on branch
-	  altnum on 2006-10-29 19:26:51 +0000
-
-2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/.cvsignore (1.2): Ignore more built files and directories.
-
-2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/.cvsignore (altnum.1): file .cvsignore was added on branch
-	  altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-25 Wednesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.in (grids.4): Makefile.in is automatically
-	  generated: it should not be under CVS.
-
-2006-01-25 Wednesday 19:31  Matthew Mundell
-
-	* CREDITS, ChangeLog, NEWS, README (grids.[1,3,2,3]): Eighth and
-	  last merge from the main trunk.
-
-2006-01-20 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_8-branch.2): Mark ChangeLog.
-
-2006-01-20 Friday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_8-branch.1): Updated.
-
-2006-01-17 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* CREDITS (1.2): "inexistent" replaced by "non-existent".
-
-2006-01-17 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.13): Updated.
-
-2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.14): Updated.
-
-2006-01-16 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.8): Release date decided.
-
-2006-01-16 Monday 02:10  Matthew Mundell
-
-	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
-	  configure.ac, install-sh, ltmain.sh,
-	  src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh,
-	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList.types.hh,
-	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
-	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
-	  src/Makefile.in, src/Pending_Element.cc,
-	  src/Pending_Element.defs.hh, src/Pending_Element.inlines.hh,
-	  src/Pending_Element.types.hh, src/Pending_List.cc,
-	  src/Pending_List.defs.hh, src/Pending_List.inlines.hh,
-	  src/Pending_List.types.hh, src/Time.cc, src/Time.defs.hh,
-	  src/Time.inlines.hh, src/Time.types.hh, src/Watchdog.cc,
-	  src/Watchdog.defs.hh, src/Watchdog.inlines.hh,
-	  src/Watchdog.types.hh, src/pwl_header.hh, utils/Makefile.am,
-	  utils/build_header.in
-	  (grids.[2,3,1,2,4,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,2]):
-	  Seventh (last but one?) merge of the main trunk to the grids
-	  branch.
-
-2006-01-14 Saturday 15:48  Matthew Mundell
-
-	* NEWS (1.7): Add detail to the 0.5 Time entry.
-
-2006-01-14 Saturday 15:37  Matthew Mundell
-
-	* NEWS (1.6): Update 0.8 entries from ChangeLog.
-
-2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/Makefile.am (altnum.1): file Makefile.am was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.25), src/Makefile.am (1.5), utils/Makefile.am
-	  (1.6): Avoid providing default information that Automake does
-	  figure out by itself.
-
-2006-01-09 Monday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.19), config.sub (1.18): Updated.
-
-2006-01-09 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.13): Updated.
-
-2006-01-06 Friday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* ChangeLog, Makefile.am, README, config.guess, config.sub,
-	  configure.ac, install-sh, ltmain.sh,
-	  src/Doubly_Linked_Object.defs.hh,
-	  src/Doubly_Linked_Object.inlines.hh,
-	  src/Doubly_Linked_Object.types.hh, src/EList.defs.hh,
-	  src/EList.inlines.hh, src/EList.types.hh,
-	  src/EList_Iterator.defs.hh, src/EList_Iterator.inlines.hh,
-	  src/EList_Iterator.types.hh, src/Handler.defs.hh,
-	  src/Handler.inlines.hh, src/Handler.types.hh, src/Makefile.am,
-	  src/Pending_Element.cc, src/Pending_Element.defs.hh,
-	  src/Pending_Element.inlines.hh, src/Pending_Element.types.hh,
-	  src/Pending_List.cc, src/Pending_List.defs.hh,
-	  src/Pending_List.inlines.hh, src/Pending_List.types.hh,
-	  src/Time.cc, src/Time.defs.hh, src/Time.inlines.hh,
-	  src/Time.types.hh, src/Watchdog.cc, src/Watchdog.defs.hh,
-	  src/Watchdog.inlines.hh, src/Watchdog.types.hh,
-	  src/pwl_header.hh, utils/Makefile.am, utils/build_header.in
-	  (simplex.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  First merge from the main trunk.
-
-2006-01-01 Sunday 22:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: EList.defs.hh (1.3), Pending_List.defs.hh (1.3),
-	  Time.defs.hh (1.3): Do adopt the new format for multiline brief
-	  doxygen documentation.
-
-2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_List.defs.hh (altnum.1): file Pending_List.defs.hh
-	  was added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Time.defs.hh (altnum.1): file Time.defs.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/build_header.in (altnum.1): file build_header.in was added
-	  on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.24), README (1.12), configure.ac (1.33),
-	  src/Doubly_Linked_Object.defs.hh (1.2),
-	  src/Doubly_Linked_Object.inlines.hh (1.2),
-	  src/Doubly_Linked_Object.types.hh (1.2), src/EList.defs.hh (1.2),
-	  src/EList.inlines.hh (1.2), src/EList.types.hh (1.2),
-	  src/EList_Iterator.defs.hh (1.2), src/EList_Iterator.inlines.hh
-	  (1.2), src/EList_Iterator.types.hh (1.2), src/Handler.defs.hh
-	  (1.2), src/Handler.inlines.hh (1.2), src/Handler.types.hh (1.2),
-	  src/Makefile.am (1.4), src/Pending_Element.cc (1.2),
-	  src/Pending_Element.defs.hh (1.2), src/Pending_Element.inlines.hh
-	  (1.2), src/Pending_Element.types.hh (1.2), src/Pending_List.cc
-	  (1.2), src/Pending_List.defs.hh (1.2),
-	  src/Pending_List.inlines.hh (1.2), src/Pending_List.types.hh
-	  (1.2), src/Time.cc (1.2), src/Time.defs.hh (1.2),
-	  src/Time.inlines.hh (1.2), src/Time.types.hh (1.2),
-	  src/Watchdog.cc (1.2), src/Watchdog.defs.hh (1.2),
-	  src/Watchdog.inlines.hh (1.2), src/Watchdog.types.hh (1.2),
-	  src/pwl_header.hh (1.2), utils/Makefile.am (1.5),
-	  utils/build_header.in (1.3): Copyright years extended.
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Doubly_Linked_Object.defs.hh (altnum.1): file
-	  Doubly_Linked_Object.defs.hh was added on branch altnum on
-	  2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Doubly_Linked_Object.inlines.hh (altnum.1): file
-	  Doubly_Linked_Object.inlines.hh was added on branch altnum on
-	  2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Doubly_Linked_Object.types.hh (altnum.1): file
-	  Doubly_Linked_Object.types.hh was added on branch altnum on
-	  2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList.inlines.hh (altnum.1): file EList.inlines.hh was added
-	  on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList.types.hh (altnum.1): file EList.types.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList_Iterator.defs.hh (altnum.1): file
-	  EList_Iterator.defs.hh was added on branch altnum on 2006-10-29
-	  19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList_Iterator.inlines.hh (altnum.1): file
-	  EList_Iterator.inlines.hh was added on branch altnum on
-	  2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/EList_Iterator.types.hh (altnum.1): file
-	  EList_Iterator.types.hh was added on branch altnum on 2006-10-29
-	  19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Handler.inlines.hh (altnum.1): file Handler.inlines.hh was
-	  added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Handler.types.hh (altnum.1): file Handler.types.hh was added
-	  on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_Element.cc (altnum.1): file Pending_Element.cc was
-	  added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_Element.inlines.hh (altnum.1): file
-	  Pending_Element.inlines.hh was added on branch altnum on
-	  2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_Element.types.hh (altnum.1): file
-	  Pending_Element.types.hh was added on branch altnum on 2006-10-29
-	  19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_List.cc (altnum.1): file Pending_List.cc was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_List.inlines.hh (altnum.1): file
-	  Pending_List.inlines.hh was added on branch altnum on 2006-10-29
-	  19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pending_List.types.hh (altnum.1): file Pending_List.types.hh
-	  was added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Time.cc (altnum.1): file Time.cc was added on branch altnum
-	  on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Time.inlines.hh (altnum.1): file Time.inlines.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Time.types.hh (altnum.1): file Time.types.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.inlines.hh (altnum.1): file Watchdog.inlines.hh was
-	  added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Watchdog.types.hh (altnum.1): file Watchdog.types.hh was
-	  added on branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/pwl_header.hh (altnum.1): file pwl_header.hh was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2005-12-19 Monday 07:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.18), config.sub (1.17), install-sh (1.13),
-	  ltmain.sh (1.16): Updated from Libtool 1.5.22.
-
-2005-12-05 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.12): Updated.
-
-2005-10-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess, src/Makefile.am, src/Makefile.in, utils/Makefile.am
-	  (grids.[3,2,2,3]): Fifth merge from main trunk.
-
-2005-10-02 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.3): Definition of BUILT_SOURCES revised.
-
-2005-10-02 Sunday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.17): Updated.
-
-2005-09-28 Wednesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.2): A PPL distribution should now be
-	  compilable even on environments lacking Perl.
-
-2005-09-28 Wednesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: .cvsignore, Doubly_Linked_Object.defs.hh,
-	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
-	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
-	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
-	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
-	  Handler.types.hh, Makefile.am, Makefile.in, Pending_Element.cc,
-	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
-	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
-	  Pending_List.inlines.hh, Pending_List.types.hh, Time.cc,
-	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
-	  Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
-	  pwl_header.hh
-	  (grids.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Files moved as in the main trunk.
-
-2005-09-28 Wednesday 21:04  Matthew Mundell
-
-	* .cvsignore, ChangeLog, Doubly_Linked_Object.defs.hh,
-	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
-	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
-	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
-	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
-	  Handler.types.hh, Makefile.am, Pending_Element.cc,
-	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
-	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
-	  Pending_List.inlines.hh, Pending_List.types.hh, Time.cc,
-	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
-	  Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
-	  configure.ac, pwl_header.hh, utils/Makefile.am,
-	  utils/build_header, utils/build_header.in
-	  (grids.[1,1,2,2,1,2,2,1,2,2,1,3,3,1,2,2,2,2,1,2,2,2,1,2,2,3,1,2,2,2,1,2,2,2,2,1]):
-	  Fourth merge from the main trunk.
-
-2005-09-28 Wednesday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/Makefile.am (1.4): Make sure the scripts in the `utils'
-	  subdirectory are made also at distribution time, even if they are
-	  not distributed themselves.
-
-2005-09-23 Friday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.5): Updated.
-
-2005-09-23 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Doubly_Linked_Object.defs.hh (1.4),
-	  Doubly_Linked_Object.inlines.hh (1.4),
-	  Doubly_Linked_Object.types.hh (1.3), EList.defs.hh (1.6),
-	  EList.inlines.hh (1.5), EList.types.hh (1.3),
-	  EList_Iterator.defs.hh (1.4), EList_Iterator.inlines.hh (1.5),
-	  EList_Iterator.types.hh (1.3), Handler.defs.hh (1.6),
-	  Handler.inlines.hh (1.5), Handler.types.hh (1.3), Makefile.am
-	  (1.23), Pending_Element.cc (1.4), Pending_Element.defs.hh (1.4),
-	  Pending_Element.inlines.hh (1.4), Pending_Element.types.hh (1.3),
-	  Pending_List.cc (1.4), Pending_List.defs.hh (1.4),
-	  Pending_List.inlines.hh (1.4), Pending_List.types.hh (1.3),
-	  Time.cc (1.4), Time.defs.hh (1.4), Time.inlines.hh (1.5),
-	  Time.types.hh (1.3), Watchdog.cc (1.21), Watchdog.defs.hh (1.17),
-	  Watchdog.inlines.hh (1.14), Watchdog.types.hh (1.7), configure.ac
-	  (1.32), pwl_header.hh (1.2), src/.cvsignore (1.1),
-	  src/Doubly_Linked_Object.defs.hh (1.1),
-	  src/Doubly_Linked_Object.inlines.hh (1.1),
-	  src/Doubly_Linked_Object.types.hh (1.1), src/EList.defs.hh (1.1),
-	  src/EList.inlines.hh (1.1), src/EList.types.hh (1.1),
-	  src/EList_Iterator.defs.hh (1.1), src/EList_Iterator.inlines.hh
-	  (1.1), src/EList_Iterator.types.hh (1.1), src/Handler.defs.hh
-	  (1.1), src/Handler.inlines.hh (1.1), src/Handler.types.hh (1.1),
-	  src/Makefile.am (1.1), src/Pending_Element.cc (1.1),
-	  src/Pending_Element.defs.hh (1.1), src/Pending_Element.inlines.hh
-	  (1.1), src/Pending_Element.types.hh (1.1), src/Pending_List.cc
-	  (1.1), src/Pending_List.defs.hh (1.1),
-	  src/Pending_List.inlines.hh (1.1), src/Pending_List.types.hh
-	  (1.1), src/Time.cc (1.1), src/Time.defs.hh (1.1),
-	  src/Time.inlines.hh (1.1), src/Time.types.hh (1.1),
-	  src/Watchdog.cc (1.1), src/Watchdog.defs.hh (1.1),
-	  src/Watchdog.inlines.hh (1.1), src/Watchdog.types.hh (1.1),
-	  src/pwl_header.hh (1.1): Restructured.
-
-2005-09-23 Friday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.31): Configure is no longer responsible for
-	  creating build_header.
-
-2005-09-23 Friday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/: Makefile.am (1.3), build_header.in (1.2): Generation of
-	  utility scripts fixed.
-
-2005-09-23 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.22), configure.ac (1.30), utils/Makefile.am (1.2),
-	  utils/build_header (1.2), utils/build_header.in (1.1): Allow Perl
-	  to be installed into non-standard places.
-
-2005-09-23 Friday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.29): Check for Perl.
-
-2005-09-19 Monday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.11): Updated.
-
-2005-09-08 Thursday 01:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.28): Allow the specification of
-	  --enable-optimization=zero to temporarily get around bugs such as
-	  the one affecting Intel C/C++ 9.0.25 under Fedora Core 4.
-
-2005-09-02 Friday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING, Doubly_Linked_Object.defs.hh,
-	  Doubly_Linked_Object.inlines.hh, EList.defs.hh, EList.inlines.hh,
-	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
-	  Handler.defs.hh, Handler.inlines.hh, Makefile.am,
-	  Pending_Element.cc, Pending_Element.defs.hh,
-	  Pending_Element.inlines.hh, Pending_List.cc,
-	  Pending_List.defs.hh, Pending_List.inlines.hh, README, Time.cc,
-	  Time.defs.hh, Time.inlines.hh, Watchdog.cc, Watchdog.defs.hh,
-	  Watchdog.inlines.hh, compile, config.guess, config.sub,
-	  configure.ac, depcomp, install-sh, ltmain.sh, missing,
-	  mkinstalldirs, pwl_header.bottom, pwl_header.hh,
-	  pwl_header.middle, pwl_header.top, utils/.cvsignore,
-	  utils/Makefile.am, utils/build_header
-	  (grids.[1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,2,2,1,1,2,2,1,1,1,1,1,1,1,1,1]):
-	  Second merge from main trunk.
-
-2005-09-01 Thursday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* install-sh (1.12), ltmain.sh (1.15): Updated from Libtool 1.5.20.
-
-2005-08-28 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* missing (1.8): Broken comments restored.
-
-2005-08-27 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.21): The `configure' script is now listed in
-	  `dist_noinst_SCRIPTS' and no longer in `EXTRA_DIST'.
-
-2005-08-27 Saturday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.20), configure.ac (1.27), pwl_header.bottom (1.3),
-	  pwl_header.hh (1.1), pwl_header.middle (1.4), pwl_header.top
-	  (1.8), utils/.cvsignore (1.1), utils/Makefile.am (1.1),
-	  utils/build_header (1.1): Definitely switch to the new mechanism
-	  to build the library headers.  The `build_header' script belongs
-	  to the `utils' directories.
-
-2005-08-22 Monday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.16), config.sub (1.16): Updated.
-
-2005-08-22 Monday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.3), Doubly_Linked_Object.defs.hh (1.3),
-	  Doubly_Linked_Object.inlines.hh (1.3), EList.defs.hh (1.5),
-	  EList.inlines.hh (1.4), EList_Iterator.defs.hh (1.3),
-	  EList_Iterator.inlines.hh (1.4), Handler.defs.hh (1.5),
-	  Handler.inlines.hh (1.4), Makefile.am (1.19), Pending_Element.cc
-	  (1.3), Pending_Element.defs.hh (1.3), Pending_Element.inlines.hh
-	  (1.3), Pending_List.cc (1.3), Pending_List.defs.hh (1.3),
-	  Pending_List.inlines.hh (1.3), README (1.11), Time.cc (1.3),
-	  Time.defs.hh (1.3), Time.inlines.hh (1.4), Watchdog.cc (1.20),
-	  Watchdog.defs.hh (1.16), Watchdog.inlines.hh (1.13), compile
-	  (1.6), config.guess (1.15), config.sub (1.15), configure.ac
-	  (1.26), depcomp (1.9), ltmain.sh (1.14), missing (1.7),
-	  pwl_header.top (1.7): Address of the Free Software Foundation
-	  updated.
-
-2005-07-11 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.5), config.guess (1.14), config.sub (1.14), depcomp
-	  (1.8), missing (1.6), mkinstalldirs (1.5): Updated from Automake
-	  1.9.6.
-
-2005-07-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Handler.defs.hh, Handler.inlines.hh, Time.inlines.hh,
-	  config.guess, config.sub, install-sh, ltmain.sh
-	  (grids.[1,1,1,1,1,1,1]): First merge from main trunk.
-
-2005-05-25 Wednesday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.13), config.sub (1.13), install-sh (1.11),
-	  ltmain.sh (1.13): Updated from Libtool 1.5.18.
-
-2005-05-25 Wednesday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.12), config.sub (1.12), ltmain.sh (1.12): Updated
-	  from Libtool 1.5.16.
-
-2005-04-11 Monday 00:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Time.inlines.hh (1.3): Fixed a bug in Time::operator+=(const
-	  Time&).
-
-2005-02-27 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Handler.defs.hh (1.4), Handler.inlines.hh (1.3): Class Handler
-	  was missing a virtual destructor: added.
-
-2005-02-13 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.4), compile (1.4), config.guess (1.11), config.sub
-	  (1.11), depcomp (1.7), missing (1.5), mkinstalldirs (1.4):
-	  Updated from Automake 1.9.5.
-
-2005-02-12 Saturday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.11): Updated from Libtool 1.5.14.
-
-2005-02-08 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.sub (1.10), install-sh (1.10): Updated.
-
-2005-02-08 Tuesday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.10): Updated from Libtool 1.5.12.
-
-2005-01-01 Saturday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Doubly_Linked_Object.defs.hh (1.2),
-	  Doubly_Linked_Object.inlines.hh (1.2),
-	  Doubly_Linked_Object.types.hh (1.2), EList.defs.hh (1.4),
-	  EList.inlines.hh (1.3), EList.types.hh (1.2),
-	  EList_Iterator.defs.hh (1.2), EList_Iterator.inlines.hh (1.3),
-	  EList_Iterator.types.hh (1.2), Handler.defs.hh (1.3),
-	  Handler.inlines.hh (1.2), Handler.types.hh (1.2), Makefile.am
-	  (1.18), Pending_Element.cc (1.2), Pending_Element.defs.hh (1.2),
-	  Pending_Element.inlines.hh (1.2), Pending_Element.types.hh (1.2),
-	  Pending_List.cc (1.2), Pending_List.defs.hh (1.2),
-	  Pending_List.inlines.hh (1.2), Pending_List.types.hh (1.2),
-	  README (1.10), Time.cc (1.2), Time.defs.hh (1.2), Time.inlines.hh
-	  (1.2), Time.types.hh (1.2), Watchdog.cc (1.19), Watchdog.defs.hh
-	  (1.15), Watchdog.inlines.hh (1.12), Watchdog.types.hh (1.6),
-	  configure.ac (1.25), pwl_header.top (1.6): Copyright years
-	  extended.
-
-2004-12-25 Saturday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Makefile.am, NEWS, README, config.guess, config.sub,
-	  configure.ac, install-sh, pwl_filter_doxygen.sed,
-	  pwl_filter_install.sed, pwl_header.bottom, pwl_header.middle,
-	  pwl_header.top (altnum.[2,5,2,2,4,3,3,4,1,1,1,1,1]): Seventh
-	  merge from main trunk.
-
-2004-12-24 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_7-branch.1): Mark ChangeLog.
-
-2004-12-24 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.10): Updated.
-
-2004-12-24 Friday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.9): Updated.
-
-2004-12-24 Friday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.17): No longer mention erased files.
-
-2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* pwl_header.bottom (1.2), pwl_header.top (1.5): Handling of NDEBUG
-	  improved.
-
-2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* pwl_header.middle (1.3): We no longer support GCC versions prior
-	  to 3.
-
-2004-12-24 Friday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.24): Require Autoconf 2.59.
-
-2004-12-24 Friday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.8): Version number bumped.
-
-2004-12-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.16), pwl_filter_doxygen.sed (1.2),
-	  pwl_filter_install.sed (1.2): Obsolete filters removed.  Shared
-	  library version info updated.
-
-2004-12-24 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.15), configure.ac (1.23): Enable the creation of
-	  DLLs under Cygwin.
-
-2004-12-19 Sunday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.22): Version number bumped.
-
-2004-12-19 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.5): The tentative release date for PPL 0.7 is December
-	  24, 2004.
-
-2004-12-19 Sunday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.9): Updated.
-
-2004-12-19 Sunday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.10), config.sub (1.9): Updated.
-
-2004-12-19 Sunday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* install-sh (1.9): Updated from Automake 1.9.4.
-
-2004-12-11 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList_Iterator.inlines.hh, Handler.defs.hh, Makefile.am,
-	  Watchdog.defs.hh (altnum.[2,2,4,2]): Sixth merge from main trunk.
-
-2004-12-11 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList_Iterator.inlines.hh (1.2), Handler.defs.hh (1.2),
-	  Makefile.am (1.14), Watchdog.defs.hh (1.14): Try to avoid very
-	  long lines.
-
-2004-11-27 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, Makefile.am, compile, config.guess, configure.ac,
-	  install-sh (altnum.[1,3,2,3,2,3]): Fifth number from main
-	  repository.
-
-2004-11-20 Saturday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.21): Define the PROFILING symbol when compiling
-	  for profiling.
-
-2004-11-01 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.3), compile (1.3), config.guess (1.9), install-sh
-	  (1.8): Updated from Automake 1.9.3.
-
-2004-10-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.13): Always specify the condition which is closed
-	  by an Automake's `end',
-
-2004-10-01 Friday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile, config.guess, config.sub, install-sh, ltmain.sh, missing
-	  (altnum.[1,2,2,2,2,1]): Third merge from main trunk.
-
-2004-09-20 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.2), install-sh (1.7), missing (1.4): Updated from
-	  Automake 1.9.2.
-
-2004-09-19 Sunday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, Watchdog.cc (altnum.[2,2]): Second merge from main
-	  trunk.
-
-2004-09-19 Sunday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.8), config.sub (1.8): Updated.
-
-2004-09-19 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.9): Updated from Libtool 1.5.10.
-
-2004-09-16 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog.cc (1.18): Simplified the progrma logic in a few places
-	  where we remove elements from a container by using the return
-	  value of method erase().
-
-2004-09-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.12): Prepared for PPL 0.7.
-
-2004-08-21 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.11): Match every `endif' with the corresponding
-	  `if' condition.
-
-2004-08-20 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_6-branch.3): Mark ChangeLog.
-
-2004-08-20 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_6-branch.2): Updated.
-
-2004-08-20 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_6-branch.1): Updated for the release of PPL 0.6.1.
-
-2004-08-19 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Doubly_Linked_Object.defs.hh,
-	  Doubly_Linked_Object.inlines.hh, Doubly_Linked_Object.types.hh,
-	  EList.defs.hh, EList.inlines.hh, EList.types.hh,
-	  EList_Iterator.defs.hh, EList_Iterator.inlines.hh,
-	  EList_Iterator.types.hh, Handler.defs.hh, Handler.inlines.hh,
-	  Handler.types.hh, Makefile.am, NEWS, Pending_Element.cc,
-	  Pending_Element.defs.hh, Pending_Element.inlines.hh,
-	  Pending_Element.types.hh, Pending_List.cc, Pending_List.defs.hh,
-	  Pending_List.inlines.hh, Pending_List.types.hh, README, Time.cc,
-	  Time.defs.hh, Time.inlines.hh, Time.types.hh, Watchdog.cc,
-	  Watchdog.defs.hh, Watchdog.inlines.hh, config.guess, config.sub,
-	  configure.ac, depcomp, install-sh, ltmain.sh
-	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  First merge from main trunk.
-
-2004-08-18 Wednesday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_6-branch.1), ChangeLog (1.8), configure.ac
-	  (1.20): Version number bumped.
-
-2004-08-18 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_6-branch.1): Mark ChangeLog.
-
-2004-08-16 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.7): Updated.
-
-2004-08-16 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.4): Our tentative release date is August 18, 2004.
-
-2004-08-16 Monday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.7): Updated.
-
-2004-08-13 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.10): Version info updated for the libtool
-	  libraries.
-
-2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.9), Watchdog.cc (1.17), Watchdog.defs.hh (1.13),
-	  Watchdog.inlines.hh (1.11): Watchdog library completely
-	  reorganized.	Deadlock bug fixed in the process.
-
-2004-08-08 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Handler.defs.hh (1.1), Handler.inlines.hh (1.1), Handler.types.hh
-	  (1.1): Classes for handlers of the watchdog events.
-
-2004-08-07 Saturday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.8): Updated from Libtool 1.5.8.
-
-2004-08-07 Saturday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Pending_List.cc (1.1), Pending_List.defs.hh (1.1),
-	  Pending_List.inlines.hh (1.1), Pending_List.types.hh (1.1): An
-	  ordered list for recording pending watchdog events.
-
-2004-08-07 Saturday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList.defs.hh (1.3), EList.inlines.hh (1.2): The clear() method
-	  has been removed.  The destructor now destructs also the elements
-	  in the list.
-
-2004-08-06 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Pending_Element.cc (1.1), Pending_Element.defs.hh (1.1),
-	  Pending_Element.inlines.hh (1.1), Pending_Element.types.hh (1.1):
-	  A class for pending watchdog events with embedded links.
-
-2004-08-06 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Doubly_Linked_Object.defs.hh (1.1),
-	  Doubly_Linked_Object.inlines.hh (1.1),
-	  Doubly_Linked_Object.types.hh (1.1): A (base) class for doubly
-	  linked objects.
-
-2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList_Iterator.defs.hh (1.1), EList_Iterator.inlines.hh (1.1),
-	  EList_Iterator.types.hh (1.1): A class providing iterators for
-	  embedded lists.
-
-2004-08-06 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList.defs.hh (1.2): Class comment revised.
-
-2004-08-06 Friday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* EList.defs.hh (1.1), EList.inlines.hh (1.1), EList.types.hh
-	  (1.1): A list of doubly linked objects (where the links are
-	  embedded in the objects themselves).
-
-2004-08-06 Friday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Time.cc (1.1), Time.defs.hh (1.1), Time.inlines.hh (1.1),
-	  Time.types.hh (1.1): A class for representing and manipulating
-	  positive time intervals.
-
-2004-08-04 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.6), install-sh (1.6): Updated from Automake 1.9.
-
-2004-08-04 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.7), config.sub (1.7): Updated.
-
-2004-07-08 Thursday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.16): Spacing fixed.
-
-2004-05-09 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.15): Anachronisms removed.
-
-2004-04-25 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.5), install-sh (1.5), mkinstalldirs (1.3): Updated
-	  from Automake 1.8.4.
-
-2004-04-06 Tuesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.6), config.sub (1.6), ltmain.sh (1.7): Updated
-	  from libtool-1.5.4.
-
-2004-01-28 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.8), README (1.6), Watchdog.cc (1.14),
-	  Watchdog.defs.hh (1.12), Watchdog.inlines.hh (1.10),
-	  Watchdog.types.hh (1.5), configure.ac (1.19), pwl_header.top
-	  (1.4): Update copyright years.
-
-2004-01-27 Tuesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.1): Added from Automake 1.8.2.
-
-2004-01-25 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.4), install-sh (1.4), missing (1.3), mkinstalldirs
-	  (1.2): Update from Automake.
-
-2004-01-25 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.5), config.sub (1.5): Updated from config.
-
-2004-01-25 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.6): Updated from Libtool 1.5.2.
-
-2003-12-05 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.13): Do not use the ITIMER_PROF timer when
-	  profiling.
-
-2003-11-04 Tuesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.4), config.sub (1.4): Updated.
-
-2003-10-03 Friday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.4): Ignore config.h.in.
-
-2003-10-03 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.4): These should not be in the repository, since
-	  they are automatically generated.
-
-2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.3), config.sub (1.3), depcomp (1.3), install-sh
-	  (1.3), missing (1.2): Updated.
-
-2003-08-06 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.18): Allow for `mild', -O1 optimization.
-
-2003-07-05 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.12): Delete statement uncommented.
-
-2003-04-27 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, NEWS, README, configure.ac (ppl-0_5-branch.[2,1,1,1]):
-	  Synchronize with the main trunk.
-
-2003-04-27 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_5-branch.1): Mark ChangeLog.
-
-2003-04-27 Sunday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.6): Updated.
-
-2003-04-27 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.17): Version number bumped.
-
-2003-04-27 Sunday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.5): Updated.
-
-2003-04-27 Sunday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.4), NEWS (1.3), README (1.5): Updated for release
-	  0.2.
-
-2003-04-17 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.11): Prefer anonymous namespaces to static
-	  declarations.
-
-2003-04-15 Tuesday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.5): Updated.
-
-2003-04-11 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.4): Updated.
-
-2003-04-07 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.3): Updated.
-
-2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.2), install-sh (1.2): Updated.
-
-2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.16): Require Autoconf 2.57 or following and
-	  Automake 1.7.3 or following.
-
-2003-03-03 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.2), ChangeLog (1.3), INSTALL (1.2), NEWS (1.2),
-	  config.guess (1.2), config.sub (1.2), ltmain.sh (1.2): Updated.
-
-2003-03-03 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.7): Update version info.
-
-2003-02-07 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.10): Throw std::runtime_error instead of calling
-	  abort().
-
-2003-02-07 Friday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.inlines.hh (1.9): Throw std::invalid_argument if a
-	  Watchdog constructor is called with a non-positive number of time
-	  units.
-
-2003-01-26 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.9): Ported to Cygwin (it only supports
-	  ITIMER_REAL).  Robustness increased.	Throw std:runtime_error
-	  exceptions instead of calling exit().
-
-2003-01-12 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh (1.11): Spurious, illegal qualification removed.
-
-2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.8), Watchdog.defs.hh (1.10), Watchdog.inlines.hh
-	  (1.8), Watchdog.types.hh (1.4): New "nifty counter"
-	  implementation of library's initialization and finalization.
-	  Explicit initialization and finalization is no longer necessary
-	  nor possible.
-
-2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.15): Building the Parma Watchdog Library is now
-	  enabled by default.
-
-2003-01-01 Wednesday 02:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.6), README (1.4), Watchdog.cc (1.7),
-	  Watchdog.defs.hh (1.9), Watchdog.inlines.hh (1.7),
-	  Watchdog.types.hh (1.3), configure.ac (1.14), pwl_header.top
-	  (1.3): Update copyright years.
-
-2002-11-05 Tuesday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.6), Watchdog.defs.hh (1.8): Standard conformance
-	  fixes.
-
-2002-11-05 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.13): Work around a bug in AC_CHECK_FUNCS as
-	  implemented in autoconf 2.54c and previous versions.	For more
-	  information, see
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html.
-
-2002-11-05 Tuesday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.12): Avoid using obsolete macros.
-
-2002-11-03 Sunday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* pwl_header.middle (1.2): Include sys/time.h, if available.
-
-2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh (1.7), Watchdog.inlines.hh (1.6): Little
-	  cleaning.
-
-2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.3), configure.ac (1.11): Get rid of AC_C_INLINE:
-	  we do not use inlines in C code and it was doing harm with some
-	  compilers.
-
-2002-11-02 Saturday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.10): Buggy conditional fixed.
-
-2002-10-19 Saturday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.1), config.sub (1.1), depcomp (1.1), install-sh
-	  (1.1), ltmain.sh (1.1), missing (1.1), mkinstalldirs (1.1):
-	  Missing files added.
-
-2002-10-04 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.3): Mark ChangeLog.
-
-2002-08-17 Saturday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh, Watchdog.inlines.hh, Watchdog.types.hh,
-	  pwl_header.top (alt_nnc.[1,1,1,1]): Merge changes from the trunk
-	  between tags `merge_to_alt_nnc' and `second_merge_to_alt_nnc'.
-
-2002-08-16 Friday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh (1.6), Watchdog.inlines.hh (1.5),
-	  Watchdog.types.hh (1.2), pwl_header.top (1.2): According to the
-	  C++ standard (Section 17.4), every name that starts with an
-	  underscore is reserved to the implementation.  All the multiple
-	  inclusion guards have been renamed (some missing ones have been
-	  added).
-
-2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.2): Mark ChangeLog.
-
-2002-07-02 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.9): Shared libraries are again turned off by
-	  default.
-
-2002-07-01 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.1): Mark ChangeLog.
-
-2002-06-30 Sunday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh (1.5), Watchdog.inlines.hh (1.4): Implementation
-	  of inline functions moved to Watchdog.inlines.hh.
-
-2002-06-30 Sunday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.2): This file will no longer be empty.
-
-2002-06-30 Sunday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.8): Invocations to AC_PROG_* macros repositioned.
-
-2002-06-30 Sunday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.defs.hh (1.4), Watchdog.inlines.hh (1.3): Use methods
-	  instead of friends for binary operators over Time.
-
-2002-06-25 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.3): For those building in the sources' directory.
-
-2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.7): Fixed typo in a comment.
-
-2002-06-17 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.5), Watchdog.defs.hh (1.3): Use #ifdef to test
-	  configuration symbols that may be undefined or defined to 1.
-
-2002-06-15 Saturday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.5): dist-hook goes into the unconditional section.
-
-2002-06-09 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.4), configure.ac (1.6): Consistent spelling for
-	  Autoconf and Automake.
-
-2002-06-09 Sunday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.5): Set CFLAGS properly.  Check for header files
-	  and library functions only if we are building the library.
-
-2002-06-09 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.4): Be more friendly to compilers different from
-	  GCC.
-
-2002-05-28 Tuesday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.2): For those building in the sources' tree.
-
-2002-05-28 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog.cc (1.4), Watchdog.defs.hh (1.2), Watchdog.inlines.hh
-	  (1.2): Better implementation using templates.
-
-2002-05-27 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.3), README (1.3), Timeout.hh (1.3), Watchdog.cc
-	  (1.3), Watchdog.defs.hh (1.1), Watchdog.hh (1.3),
-	  Watchdog.inlines.hh (1.1), Watchdog.types.hh (1.1), configure.ac
-	  (1.3), pwl_filter_doxygen.sed (1.1), pwl_filter_install.sed
-	  (1.1), pwl_header.bottom (1.1), pwl_header.middle (1.1),
-	  pwl_header.top (1.1): The Watchdog library is now complete.
-
-2002-05-24 Friday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.2), README (1.2), Timeout.hh (1.2), Watchdog.cc
-	  (1.2), Watchdog.hh (1.2), config.h.in (1.2), configure.ac (1.2):
-	  Several improvement (but still not operational).
-
-2002-05-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.1), BUGS (1.1), COPYING (1.1), CREDITS (1.1),
-	  ChangeLog (1.1), INSTALL (1.1), Makefile.am (1.1), NEWS (1.1),
-	  README (1.1), Timeout.hh (1.1), Watchdog.cc (1.1), Watchdog.hh
-	  (1.1), config.h.in (1.1), configure.ac (1.1): Even though the
-	  Watchdog library is completely independent from the PPL, it will
-	  live with it, at least for a while.
-
diff --git a/Watchdog/INSTALL b/Watchdog/INSTALL
deleted file mode 100644
index 7d1c323..0000000
--- a/Watchdog/INSTALL
+++ /dev/null
@@ -1,365 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
-
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
-
diff --git a/Watchdog/Makefile.am b/Watchdog/Makefile.am
deleted file mode 100644
index 06a51fb..0000000
--- a/Watchdog/Makefile.am
+++ /dev/null
@@ -1,63 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-# Tell aclocal where to find `.m4' files.
-ACLOCAL_AMFLAGS = -I m4
-
-dist_noinst_SCRIPTS = \
-configure
-
-if BUILD_WATCHDOG_LIBRARY
-
-SUBDIRS = . m4 utils src tests doc
-
-nodist_noinst_HEADERS = \
-pwl-config.h
-
-pwl-config.h: config.h $(srcdir)/pwl-config.sed
-	$(SED) -f $(srcdir)/pwl-config.sed $< >$@
-
-pwl-config.h.in: config.h.in $(srcdir)/pwl-config.sed
-	$(SED) -f $(srcdir)/pwl-config.sed $< >$@
-
-endif BUILD_WATCHDOG_LIBRARY
-
-# Kludge: we need to force building `pwl-config.h' on `make dist',
-# hence we list it in `EXTRA_DIST';  but we do not want to distribute
-# it, hence we erase it in `dist-hook'.
-dist-hook:
-	rm -f $(distdir)/pwl-config.h
-
-# Kludge: we need to force building `pwl-config.h' on `make dist',
-# hence we list it in `EXTRA_DIST';  but we do not want to distribute
-# it, hence we erase it in `dist-hook'.
-EXTRA_DIST = \
-pwl-config.h \
-pwl-config.h.in \
-pwl-config.sed \
-BUGS \
-ChangeLog_2001-2008 \
-CREDITS
-
-DISTCLEANFILES = \
-pwl-config.h
diff --git a/Watchdog/Makefile.in b/Watchdog/Makefile.in
deleted file mode 100644
index a7ba539..0000000
--- a/Watchdog/Makefile.in
+++ /dev/null
@@ -1,801 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(dist_noinst_SCRIPTS) \
-	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/config.h.in $(top_srcdir)/configure COPYING \
-	ChangeLog INSTALL NEWS compile config.guess config.rpath \
-	config.sub depcomp install-sh ltmain.sh missing mkinstalldirs
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SCRIPTS = $(dist_noinst_SCRIPTS)
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
-HEADERS = $(nodist_noinst_HEADERS)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-	distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = . m4 utils src tests doc
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 \
-	$(distdir).tar.lzma $(distdir).zip
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# Tell aclocal where to find `.m4' files.
-ACLOCAL_AMFLAGS = -I m4
-dist_noinst_SCRIPTS = \
-configure
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@SUBDIRS = . m4 utils src tests doc
- at BUILD_WATCHDOG_LIBRARY_TRUE@nodist_noinst_HEADERS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@pwl-config.h
-
-
-# Kludge: we need to force building `pwl-config.h' on `make dist',
-# hence we list it in `EXTRA_DIST';  but we do not want to distribute
-# it, hence we erase it in `dist-hook'.
-EXTRA_DIST = \
-pwl-config.h \
-pwl-config.h.in \
-pwl-config.sed \
-BUGS \
-ChangeLog_2001-2008 \
-CREDITS
-
-DISTCLEANFILES = \
-pwl-config.h
-
-all: config.h
-	$(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
-	@:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    echo ' $(SHELL) ./config.status'; \
-	    $(SHELL) ./config.status;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	$(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-	else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-	@rm -f stamp-h1
-	cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-	rm -f stamp-h1
-	touch $@
-
-distclean-hdr:
-	-rm -f config.h stamp-h1
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool config.lt
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@fail= failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	$(am__remove_distdir)
-	test -d "$(distdir)" || mkdir "$(distdir)"
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d "$(distdir)/$$subdir" \
-	    || $(MKDIR_P) "$(distdir)/$$subdir" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-	$(MAKE) $(AM_MAKEFLAGS) \
-	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
-	  dist-hook
-	-test -n "$(am__skip_mode_fix)" \
-	|| find "$(distdir)" -type d ! -perm -755 \
-		-exec chmod u+rwx,go+rx {} \; -o \
-	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
-
-dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
-
-dist-tarZ: distdir
-	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
-
-dist-shar: distdir
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
-dist-zip: distdir
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	case '$(DIST_ARCHIVES)' in \
-	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-	*.tar.bz2*) \
-	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lzma*) \
-	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
-	*.tar.xz*) \
-	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-	*.tar.Z*) \
-	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-	*.zip*) \
-	  unzip $(distdir).zip ;;\
-	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
-	mkdir $(distdir)/_build
-	mkdir $(distdir)/_inst
-	chmod a-w $(distdir)
-	test -d $(distdir)/_build || exit 0; \
-	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-	        distuninstallcheck \
-	  && chmod -R a-w "$$dc_install_base" \
-	  && ({ \
-	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
-	  && rm -rf "$$dc_destdir" \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist \
-	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-	  && cd "$$am__cwd" \
-	  || exit 1
-	$(am__remove_distdir)
-	@(echo "$(distdir) archives ready for distribution: "; \
-	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-	@$(am__cd) '$(distuninstallcheck_dir)' \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-	   || { echo "ERROR: files left after uninstall:" ; \
-	        if test -n "$(DESTDIR)"; then \
-	          echo "  (check DESTDIR support)"; \
-	        fi ; \
-	        $(distuninstallcheck_listfiles) ; \
-	        exit 1; } >&2
-distcleancheck: distclean
-	@if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left in build directory after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(SCRIPTS) $(HEADERS) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-	ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean clean-generic \
-	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-xz \
-	dist-zip distcheck distclean distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags tags-recursive uninstall uninstall-am
-
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@pwl-config.h: config.h $(srcdir)/pwl-config.sed
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(SED) -f $(srcdir)/pwl-config.sed $< >$@
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@pwl-config.h.in: config.h.in $(srcdir)/pwl-config.sed
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(SED) -f $(srcdir)/pwl-config.sed $< >$@
-
-# Kludge: we need to force building `pwl-config.h' on `make dist',
-# hence we list it in `EXTRA_DIST';  but we do not want to distribute
-# it, hence we erase it in `dist-hook'.
-dist-hook:
-	rm -f $(distdir)/pwl-config.h
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/NEWS b/Watchdog/NEWS
deleted file mode 100644
index db77f9d..0000000
--- a/Watchdog/NEWS
+++ /dev/null
@@ -1,97 +0,0 @@
-Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-Verbatim copying and distribution of this entire article is permitted
-in any medium, provided this notice is preserved.
-
-
-Parma Watchdog Library NEWS -- history of user-visible changes
-==============================================================
-
-
---------------------------------------------------------------------------
-NEWS for version 0.8  (released on August 2, 2010)
---------------------------------------------------------------------------
-
-o  The new class Threshold_Watcher allows to define, generically,
-   any kind of watchdog controlling the exceeding of a threshold.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.7  (released on April 14, 2009)
---------------------------------------------------------------------------
-
-o  Minor configuration improvements.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.6  (released on November 4, 2008)
---------------------------------------------------------------------------
-
-o  The Parma Watchdog Library is now released under the terms of the
-   version 3 (or later) of the GNU General Public License.
-
-o  The `pwl.hh' header file no longer defines macros not prefixed
-   by "PWL_".
-
-
---------------------------------------------------------------------------
-NEWS for version 0.5  (released on January 20, 2006)
---------------------------------------------------------------------------
-
-o  Portability has been improved.
-
-o  The configuration option --enable-optimization now accepts a value
-   of `zero'.
-
-
-Bugfixes
-========
-
-o  Fixed a bug in Time::operator+=(const Time&) where the resulting
-   number of microseconds was being erroneously set to the resulting
-   number of seconds.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.4  (released on December 24, 2004)
---------------------------------------------------------------------------
-
-Bugfixes
-========
-
-o  Fixed a bug that prevented profiling from functioning properly.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.3  (released on August 18, 2004)
---------------------------------------------------------------------------
-
-Bugfixes
-========
-
-o  Fixed a deadlock bug.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.2 (released on April 28, 2003)
---------------------------------------------------------------------------
-
-New Features
-============
-
-o  Added implicit and automatic initialization and finalization of the
-   library.  Explicit initialization and finalization is no longer
-   necessary nor possible.
-
-o  Portability improvements.
-
-
---------------------------------------------------------------------------
-NEWS for version 0.1 (released on July 1, 2002)
---------------------------------------------------------------------------
-
-New Features
-============
-
-o  The library has been released under the GNU General Public License.
diff --git a/Watchdog/README b/Watchdog/README
deleted file mode 100644
index 580ab0c..0000000
--- a/Watchdog/README
+++ /dev/null
@@ -1,153 +0,0 @@
-Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-See below for the copying conditions.
-
-
-Parma Watchdog Library (Release 0.8)
-====================================
-
-This is the release 0.8 of the Parma Watchdog Library, a C++ library for
-software timeouts and other devices able to throttle the complexity of
-expensive algorithms.
-
-To be continued...
-
-See http://www.cs.unipr.it/ppl/ for more information on the PWL.
-See the file COPYING for licensing information.
-See the file INSTALL for build and installation instructions.
-See the file NEWS for recent project news.
-See the file BUGS for known bugs and how to report new ones.
-See the file CREDITS for a list of people and organizations that
-contributed to the PWL.
-
-Here is the contents of the PWL 0.8 source distribution
-(5 directories, 102 files):
-
-pwl-0.8
-|-- BUGS
-|-- COPYING
-|-- CREDITS
-|-- ChangeLog
-|-- ChangeLog_2001-2008
-|-- INSTALL
-|-- Makefile.am
-|-- Makefile.in
-|-- NEWS
-|-- README
-|-- aclocal.m4
-|-- compile
-|-- config.guess
-|-- config.h.in
-|-- config.rpath
-|-- config.sub
-|-- configure
-|-- configure.ac
-|-- depcomp
-|-- doc
-|   |-- Makefile.am
-|   |-- Makefile.in
-|   |-- README.doc
-|   |-- devref.doxyconf-html.in
-|   |-- devref.doxyconf-latex.in
-|   |-- devref.tex
-|   |-- fdl.dox
-|   |-- fdl.pdf
-|   |-- fdl.ps.gz
-|   |-- fdl.tex
-|   |-- fdl.txt
-|   |-- gpl.dox
-|   |-- gpl.pdf
-|   |-- gpl.ps.gz
-|   |-- gpl.tex
-|   |-- gpl.txt
-|   |-- pwl-user-0.8-html.tar.gz
-|   |-- pwl-user-0.8.pdf
-|   |-- pwl-user-0.8.ps.gz
-|   |-- pwl.sty
-|   |-- user.doxyconf-html.in
-|   |-- user.doxyconf-latex.in
-|   `-- user.tex
-|-- install-sh
-|-- ltmain.sh
-|-- m4
-|   |-- Makefile.am
-|   |-- Makefile.in
-|   |-- lib-ld.m4
-|   |-- lib-link.m4
-|   |-- libtool.m4
-|   |-- ltoptions.m4
-|   |-- ltsugar.m4
-|   |-- ltversion.m4
-|   `-- lt~obsolete.m4
-|-- missing
-|-- mkinstalldirs
-|-- pwl-config.h.in
-|-- pwl-config.sed
-|-- src
-|   |-- Doubly_Linked_Object.defs.hh
-|   |-- Doubly_Linked_Object.inlines.hh
-|   |-- Doubly_Linked_Object.types.hh
-|   |-- EList.defs.hh
-|   |-- EList.inlines.hh
-|   |-- EList.types.hh
-|   |-- EList_Iterator.defs.hh
-|   |-- EList_Iterator.inlines.hh
-|   |-- EList_Iterator.types.hh
-|   |-- Handler.defs.hh
-|   |-- Handler.inlines.hh
-|   |-- Handler.types.hh
-|   |-- Makefile.am
-|   |-- Makefile.in
-|   |-- Pending_Element.defs.hh
-|   |-- Pending_Element.inlines.hh
-|   |-- Pending_Element.types.hh
-|   |-- Pending_List.defs.hh
-|   |-- Pending_List.inlines.hh
-|   |-- Pending_List.templates.hh
-|   |-- Pending_List.types.hh
-|   |-- Threshold_Watcher.cc
-|   |-- Threshold_Watcher.defs.hh
-|   |-- Threshold_Watcher.inlines.hh
-|   |-- Threshold_Watcher.templates.hh
-|   |-- Threshold_Watcher.types.hh
-|   |-- Time.cc
-|   |-- Time.defs.hh
-|   |-- Time.inlines.hh
-|   |-- Time.types.hh
-|   |-- Watchdog.cc
-|   |-- Watchdog.defs.hh
-|   |-- Watchdog.inlines.hh
-|   |-- Watchdog.types.hh
-|   |-- pwl.hh.dist
-|   `-- pwl_header.hh
-|-- tests
-|   |-- Makefile.am
-|   |-- Makefile.in
-|   |-- pwl_test.cc
-|   |-- pwl_test.hh
-|   |-- valgrind_suppressions
-|   `-- watchdog1.cc
-`-- utils
-    |-- Makefile.am
-    |-- Makefile.in
-    `-- build_header.in
-
-
---------
-
-Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-The Parma Watchdog Library is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 3 of the
-License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
diff --git a/Watchdog/aclocal.m4 b/Watchdog/aclocal.m4
deleted file mode 100644
index 1879bb1..0000000
--- a/Watchdog/aclocal.m4
+++ /dev/null
@@ -1,985 +0,0 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
-[m4_warning([this file was generated for autoconf 2.65.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-			     [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.	            -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 1
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# (`yes' being less verbose, `no' or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules],
-[  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')])
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
diff --git a/Watchdog/compile b/Watchdog/compile
deleted file mode 100755
index c0096a7..0000000
--- a/Watchdog/compile
+++ /dev/null
@@ -1,143 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2009-10-06.20; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
-# Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-	# configure might choose to run compile as `compile cc -o foo foo.c'.
-	# So we strip `-o arg' only if arg is an object.
-	eat=1
-	case $2 in
-	  *.o | *.obj)
-	    ofile=$2
-	    ;;
-	  *)
-	    set x "$@" -o "$2"
-	    shift
-	    ;;
-	esac
-	;;
-      *.c)
-	cfile=$1
-	set x "$@" "$1"
-	shift
-	;;
-      *)
-	set x "$@" "$1"
-	shift
-	;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/Watchdog/config.guess b/Watchdog/config.guess
deleted file mode 100755
index 187cd54..0000000
--- a/Watchdog/config.guess
+++ /dev/null
@@ -1,1511 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
-
-timestamp='2011-02-02'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner.  Please send patches (context
-# diff format) to <config-patches at gnu.org> and include a ChangeLog
-# entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi at noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep -q __ELF__
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-		os=netbsd
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit ;;
-    *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Pn.n version is a patched version.
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-	exitcode=$?
-	trap '' 0
-	exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-	echo powerpc-ibm-os400
-	exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
-    s390x:SunOS:*:*)
-	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux${UNAME_RELEASE}
-	exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	eval $set_cc_for_build
-	SUN_ARCH="i386"
-	# If there is a compiler, see if it is configured for 64-bit objects.
-	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		grep IS_64BIT_ARCH >/dev/null
-	    then
-		SUN_ARCH="x86_64"
-	    fi
-	fi
-	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint${UNAME_RELEASE}
-	exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint${UNAME_RELEASE}
-	exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint${UNAME_RELEASE}
-	exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
-	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
-    AViiON:dgux:*:*)
-	# DG/UX returns AViiON for all architectures
-	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
-	exit ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit ;;
-    *:AIX:*:[4567])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-		      532)                      # CPU_PA_RISC2_0
-			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-			esac ;;
-		    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^		//' << EOF >$dummy.c
-
-		#define _HPUX_SOURCE
-		#include <stdlib.h>
-		#include <unistd.h>
-
-		int main ()
-		{
-		#if defined(_SC_KERNEL_BITS)
-		    long bits = sysconf(_SC_KERNEL_BITS);
-		#endif
-		    long cpu  = sysconf (_SC_CPU_VERSION);
-
-		    switch (cpu)
-			{
-			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-			case CPU_PA_RISC2_0:
-		#if defined(_SC_KERNEL_BITS)
-			    switch (bits)
-				{
-				case 64: puts ("hppa2.0w"); break;
-				case 32: puts ("hppa2.0n"); break;
-				default: puts ("hppa2.0"); break;
-				} break;
-		#else  /* !defined(_SC_KERNEL_BITS) */
-			    puts ("hppa2.0"); break;
-		#endif
-			default: puts ("hppa1.0"); break;
-			}
-		    exit (0);
-		}
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # => hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # => hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep -q __LP64__
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-	exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-	exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-	exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-	exit ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
-    *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    i*:windows32*:*)
-	# uname -m includes "-pc" on this system.
-	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    *:Interix*:*)
-	case ${UNAME_MACHINE} in
-	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
-		exit ;;
-	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    8664:Windows_NT:*)
-	echo x86_64-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    *:GNU:*:*)
-	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-	esac
-	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
-    arm*:Linux:*:*)
-	eval $set_cc_for_build
-	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-	    | grep -q __ARM_EABI__
-	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
-	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-	fi
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    cris:Linux:*:*)
-	echo cris-axis-linux-gnu
-	exit ;;
-    crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
-	exit ;;
-    frv:Linux:*:*)
-	echo frv-unknown-linux-gnu
-	exit ;;
-    i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-	exit ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef ${UNAME_MACHINE}
-	#undef ${UNAME_MACHINE}el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=${UNAME_MACHINE}el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=${UNAME_MACHINE}
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
-	exit ;;
-    padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
-	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
-	exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
-	esac
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
-	exit ;;
-    sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-tilera-linux-gnu
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
-	exit ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit ;;
-    xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-	# Unixware is an offshoot of SVR4, but it has its own version
-	# number series starting with 2...
-	# I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-	# Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit ;;
-    i*86:*:5:[678]*)
-	# UnixWare 7.x, OpenUNIX and OpenServer 6.
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-	# uname -m prints for DJGPP always 'pc', but it prints nothing about
-	# the processor, so we play safe by assuming i586.
-	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
-	# this is a cross-build.
-	echo i586-pc-msdosdjgpp
-	exit ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-	OS_REL='.3'
-	test -r /etc/.relid \
-	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit ;;
-    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-			# says <Richard.M.Bartel at ccMail.Census.GOV>
-	echo i586-unisys-sysv4
-	exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes at openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
-    *:*:*:FTX*)
-	# From seanf at swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
-    *:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv${UNAME_RELEASE}
-	else
-		echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-	exit ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
-    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
-	echo i586-pc-haiku
-	exit ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
-	exit ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
-    SEI:*:*:SEIUX)
-	echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
-    i*86:AROS:*:*)
-	echo ${UNAME_MACHINE}-pc-aros
-	exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-	"4"
-#else
-	""
-#endif
-	); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches at gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/Watchdog/config.h.in b/Watchdog/config.h.in
deleted file mode 100644
index ddbd1ca..0000000
--- a/Watchdog/config.h.in
+++ /dev/null
@@ -1,92 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-   */
-#undef HAVE_DECL_GETENV
-
-/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SETITIMER
-
-/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
-   don't. */
-#undef HAVE_DECL_SIGACTION
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#undef HAVE_FENV_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if the system has the type `siginfo_t'. */
-#undef HAVE_SIGINFO_T
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Assertions are disabled when this is defined */
-#undef PWL_NDEBUG
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-
-#if defined(PWL_NDEBUG) && !defined(NDEBUG)
-# define NDEBUG PWL_NDEBUG
-#endif
-
diff --git a/Watchdog/config.rpath b/Watchdog/config.rpath
deleted file mode 100755
index c547c68..0000000
--- a/Watchdog/config.rpath
+++ /dev/null
@@ -1,666 +0,0 @@
-#! /bin/sh
-# Output a system dependent set of variables, describing how to set the
-# run time search path of shared libraries in an executable.
-#
-#   Copyright 1996-2007 Free Software Foundation, Inc.
-#   Taken from GNU libtool, 2001
-#   Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-#
-#   This file is free software; the Free Software Foundation gives
-#   unlimited permission to copy and/or distribute it, with or without
-#   modifications, as long as this notice is preserved.
-#
-# The first argument passed to this file is the canonical host specification,
-#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or
-#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
-# should be set by the caller.
-#
-# The set of defined variables is at the end of this script.
-
-# Known limitations:
-# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
-#   than 256 bytes, otherwise the compiler driver will dump core. The only
-#   known workaround is to choose shorter directory names for the build
-#   directory and/or the installation directory.
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-shrext=.so
-
-host="$1"
-host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-# Code taken from libtool.m4's _LT_CC_BASENAME.
-
-for cc_temp in $CC""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
-
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
-
-wl=
-if test "$GCC" = yes; then
-  wl='-Wl,'
-else
-  case "$host_os" in
-    aix*)
-      wl='-Wl,'
-      ;;
-    darwin*)
-      case $cc_basename in
-        xlc*)
-          wl='-Wl,'
-          ;;
-      esac
-      ;;
-    mingw* | cygwin* | pw32* | os2*)
-      ;;
-    hpux9* | hpux10* | hpux11*)
-      wl='-Wl,'
-      ;;
-    irix5* | irix6* | nonstopux*)
-      wl='-Wl,'
-      ;;
-    newsos6)
-      ;;
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-        icc* | ecc*)
-          wl='-Wl,'
-          ;;
-        pgcc | pgf77 | pgf90)
-          wl='-Wl,'
-          ;;
-        ccc*)
-          wl='-Wl,'
-          ;;
-        como)
-          wl='-lopt='
-          ;;
-        *)
-          case `$CC -V 2>&1 | sed 5q` in
-            *Sun\ C*)
-              wl='-Wl,'
-              ;;
-          esac
-          ;;
-      esac
-      ;;
-    osf3* | osf4* | osf5*)
-      wl='-Wl,'
-      ;;
-    rdos*)
-      ;;
-    solaris*)
-      wl='-Wl,'
-      ;;
-    sunos4*)
-      wl='-Qoption ld '
-      ;;
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      wl='-Wl,'
-      ;;
-    sysv4*MP*)
-      ;;
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      wl='-Wl,'
-      ;;
-    unicos*)
-      wl='-Wl,'
-      ;;
-    uts4*)
-      ;;
-  esac
-fi
-
-# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
-
-hardcode_libdir_flag_spec=
-hardcode_libdir_separator=
-hardcode_direct=no
-hardcode_minus_L=no
-
-case "$host_os" in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-esac
-
-ld_shlibs=yes
-if test "$with_gnu_ld" = yes; then
-  # Set some defaults for GNU ld with shared library support. These
-  # are reset later if shared libraries are not supported. Putting them
-  # here allows them to be overridden if necessary.
-  # Unlike libtool, we use -rpath here, not --rpath, since the documented
-  # option of GNU ld is called -rpath, not --rpath.
-  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-  case "$host_os" in
-    aix3* | aix4* | aix5*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-        ld_shlibs=no
-      fi
-      ;;
-    amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # Samuel A. Falvo II <kc5tja at dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we cannot use
-      # them.
-      ld_shlibs=no
-      ;;
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    cygwin* | mingw* | pw32*)
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      ;;
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    netbsd*)
-      ;;
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-        ld_shlibs=no
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-          ld_shlibs=no
-          ;;
-        *)
-          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-          else
-            ld_shlibs=no
-          fi
-          ;;
-      esac
-      ;;
-    sunos4*)
-      hardcode_direct=yes
-      ;;
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-        :
-      else
-        ld_shlibs=no
-      fi
-      ;;
-  esac
-  if test "$ld_shlibs" = no; then
-    hardcode_libdir_flag_spec=
-  fi
-else
-  case "$host_os" in
-    aix3*)
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes; then
-        # Neither direct hardcoding nor static linking is supported with a
-        # broken collect2.
-        hardcode_direct=unsupported
-      fi
-      ;;
-    aix4* | aix5*)
-      if test "$host_cpu" = ia64; then
-        # On IA64, the linker does run time linking by default, so we don't
-        # have to do anything special.
-        aix_use_runtimelinking=no
-      else
-        aix_use_runtimelinking=no
-        # Test if we are trying to use run time linking or normal
-        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-        # need to do runtime linking.
-        case $host_os in aix4.[23]|aix4.[23].*|aix5*)
-          for ld_flag in $LDFLAGS; do
-            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-              aix_use_runtimelinking=yes
-              break
-            fi
-          done
-          ;;
-        esac
-      fi
-      hardcode_direct=yes
-      hardcode_libdir_separator=':'
-      if test "$GCC" = yes; then
-        case $host_os in aix4.[012]|aix4.[012].*)
-          collect2name=`${CC} -print-prog-name=collect2`
-          if test -f "$collect2name" && \
-            strings "$collect2name" | grep resolve_lib_name >/dev/null
-          then
-            # We have reworked collect2
-            :
-          else
-            # We have old collect2
-            hardcode_direct=unsupported
-            hardcode_minus_L=yes
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_libdir_separator=
-          fi
-          ;;
-        esac
-      fi
-      # Begin _LT_AC_SYS_LIBPATH_AIX.
-      echo 'int main () { return 0; }' > conftest.c
-      ${CC} ${LDFLAGS} conftest.c -o conftest
-      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-      if test -z "$aix_libpath"; then
-        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
-}'`
-      fi
-      if test -z "$aix_libpath"; then
-        aix_libpath="/usr/lib:/lib"
-      fi
-      rm -f conftest.c conftest
-      # End _LT_AC_SYS_LIBPATH_AIX.
-      if test "$aix_use_runtimelinking" = yes; then
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-      else
-        if test "$host_cpu" = ia64; then
-          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-        else
-          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        fi
-      fi
-      ;;
-    amigaos*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
-      ;;
-    bsdi[45]*)
-      ;;
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      libext=lib
-      ;;
-    darwin* | rhapsody*)
-      hardcode_direct=no
-      if test "$GCC" = yes ; then
-        :
-      else
-        case $cc_basename in
-          xlc*)
-            ;;
-          *)
-            ld_shlibs=no
-            ;;
-        esac
-      fi
-      ;;
-    dgux*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      ;;
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-    freebsd2.2*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    freebsd2*)
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      ;;
-    freebsd* | dragonfly*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    hpux9*)
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      ;;
-    hpux10*)
-      if test "$with_gnu_ld" = no; then
-        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator=:
-        hardcode_direct=yes
-        # hardcode_minus_L: Not really in the search PATH,
-        # but as the default location of the library.
-        hardcode_minus_L=yes
-      fi
-      ;;
-    hpux11*)
-      if test "$with_gnu_ld" = no; then
-        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator=:
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct=no
-            ;;
-          *)
-            hardcode_direct=yes
-            # hardcode_minus_L: Not really in the search PATH,
-            # but as the default location of the library.
-            hardcode_minus_L=yes
-            ;;
-        esac
-      fi
-      ;;
-    irix5* | irix6* | nonstopux*)
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    netbsd*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      ;;
-    newsos6)
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-        hardcode_direct=yes
-        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-        else
-          case "$host_os" in
-            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-              hardcode_libdir_flag_spec='-R$libdir'
-              ;;
-            *)
-              hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-              ;;
-          esac
-        fi
-      else
-        ld_shlibs=no
-      fi
-      ;;
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      ;;
-    osf3*)
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-    osf4* | osf5*)
-      if test "$GCC" = yes; then
-        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-        # Both cc and cxx compiler support -rpath directly
-        hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      hardcode_libdir_separator=:
-      ;;
-    solaris*)
-      hardcode_libdir_flag_spec='-R$libdir'
-      ;;
-    sunos4*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      ;;
-    sysv4)
-      case $host_vendor in
-        sni)
-          hardcode_direct=yes # is this really true???
-          ;;
-        siemens)
-          hardcode_direct=no
-          ;;
-        motorola)
-          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-          ;;
-      esac
-      ;;
-    sysv4.3*)
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-        ld_shlibs=yes
-      fi
-      ;;
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      ;;
-    sysv5* | sco3.2v5* | sco5v6*)
-      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator=':'
-      ;;
-    uts4*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      ;;
-    *)
-      ld_shlibs=no
-      ;;
-  esac
-fi
-
-# Check dynamic linker characteristics
-# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
-# Unlike libtool.m4, here we don't care about _all_ names of the library, but
-# only about the one the linker finds when passed -lNAME. This is the last
-# element of library_names_spec in libtool.m4, or possibly two of them if the
-# linker has special search rules.
-library_names_spec=      # the last element of library_names_spec in libtool.m4
-libname_spec='lib$name'
-case "$host_os" in
-  aix3*)
-    library_names_spec='$libname.a'
-    ;;
-  aix4* | aix5*)
-    library_names_spec='$libname$shrext'
-    ;;
-  amigaos*)
-    library_names_spec='$libname.a'
-    ;;
-  beos*)
-    library_names_spec='$libname$shrext'
-    ;;
-  bsdi[45]*)
-    library_names_spec='$libname$shrext'
-    ;;
-  cygwin* | mingw* | pw32*)
-    shrext=.dll
-    library_names_spec='$libname.dll.a $libname.lib'
-    ;;
-  darwin* | rhapsody*)
-    shrext=.dylib
-    library_names_spec='$libname$shrext'
-    ;;
-  dgux*)
-    library_names_spec='$libname$shrext'
-    ;;
-  freebsd1*)
-    ;;
-  freebsd* | dragonfly*)
-    case "$host_os" in
-      freebsd[123]*)
-        library_names_spec='$libname$shrext$versuffix' ;;
-      *)
-        library_names_spec='$libname$shrext' ;;
-    esac
-    ;;
-  gnu*)
-    library_names_spec='$libname$shrext'
-    ;;
-  hpux9* | hpux10* | hpux11*)
-    case $host_cpu in
-      ia64*)
-        shrext=.so
-        ;;
-      hppa*64*)
-        shrext=.sl
-        ;;
-      *)
-        shrext=.sl
-        ;;
-    esac
-    library_names_spec='$libname$shrext'
-    ;;
-  interix[3-9]*)
-    library_names_spec='$libname$shrext'
-    ;;
-  irix5* | irix6* | nonstopux*)
-    library_names_spec='$libname$shrext'
-    case "$host_os" in
-      irix5* | nonstopux*)
-        libsuff= shlibsuff=
-        ;;
-      *)
-        case $LD in
-          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
-          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
-          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
-          *) libsuff= shlibsuff= ;;
-        esac
-        ;;
-    esac
-    ;;
-  linux*oldld* | linux*aout* | linux*coff*)
-    ;;
-  linux* | k*bsd*-gnu)
-    library_names_spec='$libname$shrext'
-    ;;
-  knetbsd*-gnu)
-    library_names_spec='$libname$shrext'
-    ;;
-  netbsd*)
-    library_names_spec='$libname$shrext'
-    ;;
-  newsos6)
-    library_names_spec='$libname$shrext'
-    ;;
-  nto-qnx*)
-    library_names_spec='$libname$shrext'
-    ;;
-  openbsd*)
-    library_names_spec='$libname$shrext$versuffix'
-    ;;
-  os2*)
-    libname_spec='$name'
-    shrext=.dll
-    library_names_spec='$libname.a'
-    ;;
-  osf3* | osf4* | osf5*)
-    library_names_spec='$libname$shrext'
-    ;;
-  rdos*)
-    ;;
-  solaris*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sunos4*)
-    library_names_spec='$libname$shrext$versuffix'
-    ;;
-  sysv4 | sysv4.3*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sysv4*MP*)
-    library_names_spec='$libname$shrext'
-    ;;
-  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-    library_names_spec='$libname$shrext'
-    ;;
-  uts4*)
-    library_names_spec='$libname$shrext'
-    ;;
-esac
-
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
-shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
-escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
-
-LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
-
-# How to pass a linker flag through the compiler.
-wl="$escaped_wl"
-
-# Static library suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally "so").
-shlibext="$shlibext"
-
-# Format of library name prefix.
-libname_spec="$escaped_libname_spec"
-
-# Library names that the linker finds when passed -lNAME.
-library_names_spec="$escaped_library_names_spec"
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator="$hardcode_libdir_separator"
-
-# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct="$hardcode_direct"
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L="$hardcode_minus_L"
-
-EOF
diff --git a/Watchdog/config.sub b/Watchdog/config.sub
deleted file mode 100755
index 83da356..0000000
--- a/Watchdog/config.sub
+++ /dev/null
@@ -1,1739 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
-
-timestamp='2011-02-02'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches at gnu.org>.  Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray | -microblaze)
-		os=
-		basic_machine=$1
-		;;
-	-bluegene*)
-		os=-cnk
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
-	-chorusrdb)
-		os=-chorusrdb
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-	| bfin \
-	| c4x | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| fido | fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| lm32 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore | mep | metag \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64octeon | mips64octeonel \
-	| mips64orion | mips64orionel \
-	| mips64r5900 | mips64r5900el \
-	| mips64vr | mips64vrel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| moxie \
-	| mt \
-	| msp430 \
-	| nds32 | nds32le | nds32be \
-	| nios | nios2 \
-	| ns16k | ns32k \
-	| or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| rx \
-	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-	| ubicom32 \
-	| v850 | v850e \
-	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-	| z8k | z80)
-		basic_machine=$basic_machine-unknown
-		;;
-	c54x)
-		basic_machine=tic54x-unknown
-		;;
-	c55x)
-		basic_machine=tic55x-unknown
-		;;
-	c6x)
-		basic_machine=tic6x-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-	ms1)
-		basic_machine=mt-unknown
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
-	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| lm32-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64octeon-* | mips64octeonel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64r5900-* | mips64r5900el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
-	| msp430-* \
-	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* | rx-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tile-* | tilegx-* \
-	| tron-* \
-	| ubicom32-* \
-	| v850-* | v850e-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa*-* \
-	| ymp-* \
-	| z8k-* | z80-*)
-		;;
-	# Recognize the basic CPU types without company name, with glob match.
-	xtensa*)
-		basic_machine=$basic_machine-unknown
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	abacus)
-		basic_machine=abacus-unknown
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aros)
-		basic_machine=i386-pc
-		os=-aros
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	blackfin)
-		basic_machine=bfin-unknown
-		os=-linux
-		;;
-	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	bluegene*)
-		basic_machine=powerpc-ibm
-		os=-cnk
-		;;
-	c54x-*)
-		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c55x-*)
-		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c6x-*)
-		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	cegcc)
-		basic_machine=arm-unknown
-		os=-cegcc
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16 | cr16-*)
-		basic_machine=cr16-unknown
-		os=-elf
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
-		;;
-	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dicos)
-		basic_machine=i686-pc
-		os=-dicos
-		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m68knommu)
-		basic_machine=m68k-unknown
-		os=-linux
-		;;
-	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	microblaze)
-		basic_machine=microblaze-xilinx
-		;;
-	mingw32)
-		basic_machine=i386-pc
-		os=-mingw32
-		;;
-	mingw32ce)
-		basic_machine=arm-unknown
-		os=-mingw32ce
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	neo-tandem)
-		basic_machine=neo-tandem
-		;;
-	nse-tandem)
-		basic_machine=nse-tandem
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	openrisc | openrisc-*)
-		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	parisc)
-		basic_machine=hppa-unknown
-		os=-linux
-		;;
-	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rdos)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
-		;;
-	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
-		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
-		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
-		;;
-	# This must be matched before tile*.
-	tilegx*)
-		basic_machine=tilegx-unknown
-		os=-linux-gnu
-		;;
-	tile*)
-		basic_machine=tile-unknown
-		os=-linux-gnu
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
-		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	z80-*-coff)
-		basic_machine=z80-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	mmix)
-		basic_machine=mmix-knuth
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
-		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
-		;;
-	cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-	# First match some system type aliases
-	# that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-auroraux)
-		os=-auroraux
-		;;
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
-	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-android* \
-	      | -linux-newlib* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto-qnx*)
-		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-os400*)
-		os=-os400
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-atheos*)
-		os=-atheos
-		;;
-	-syllable*)
-		os=-syllable
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-nova*)
-		os=-rtmk-nova
-		;;
-	-ns2 )
-		os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-tpf*)
-		os=-tpf
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
-		;;
-	-aros*)
-		os=-aros
-		;;
-	-kaos*)
-		os=-kaos
-		;;
-	-zvmoe)
-		os=-zvmoe
-		;;
-	-dicos*)
-		os=-dicos
-		;;
-	-nacl*)
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	score-*)
-		os=-elf
-		;;
-	spu-*)
-		os=-elf
-		;;
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-	c4x-* | tic4x-*)
-		os=-coff
-		;;
-	tic54x-*)
-		os=-coff
-		;;
-	tic55x-*)
-		os=-coff
-		;;
-	tic6x-*)
-		os=-coff
-		;;
-	# This must come before the *-dec entry.
-	pdp10-*)
-		os=-tops20
-		;;
-	pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mep-*)
-		os=-elf
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	or32-*)
-		os=-coff
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-haiku)
-		os=-haiku
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-knuth)
-		os=-mmixware
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-	*-gould)
-		os=-sysv
-		;;
-	*-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-	*-sgi)
-		os=-irix
-		;;
-	*-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-cnk*|-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-os400*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-tpf*)
-				vendor=ibm
-				;;
-			-vxsim* | -vxworks* | -windiss*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/Watchdog/configure b/Watchdog/configure
deleted file mode 100755
index 80ecccb..0000000
--- a/Watchdog/configure
+++ /dev/null
@@ -1,17835 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for the Parma Watchdog Library 0.8.
-#
-# Report bugs to <bagnara at cs.unipr.it>.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
-	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-	   done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  # We cannot yet assume a decent shell, so we have to provide a
-	# neutralization value for shells without unset; and this also
-	# works around shells that cannot unset nonexistent variables.
-	BASH_ENV=/dev/null
-	ENV=/dev/null
-	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf at gnu.org and
-$0: bagnara at cs.unipr.it about your system, including any
-$0: error possibly output before this message. Then install
-$0: a modern shell, or manually run the script under such a
-$0: shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='the Parma Watchdog Library'
-PACKAGE_TARNAME='pwl'
-PACKAGE_VERSION='0.8'
-PACKAGE_STRING='the Parma Watchdog Library 0.8'
-PACKAGE_BUGREPORT='bagnara at cs.unipr.it'
-PACKAGE_URL=''
-
-ac_unique_file="src/Watchdog.cc"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-LIBOBJS
-debug_flag
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-RANLIB
-AR
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-LIBTOOL
-EGREP
-GREP
-BUILD_WATCHDOG_LIBRARY_FALSE
-BUILD_WATCHDOG_LIBRARY_TRUE
-VALGRIND_TESTS_ENABLED_FALSE
-VALGRIND_TESTS_ENABLED_TRUE
-VALGRIND
-HAVE_PERL_FALSE
-HAVE_PERL_TRUE
-PERL
-NO_UNDEFINED_FALSE
-NO_UNDEFINED_TRUE
-CXXCPP
-SED
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-ac_ct_CXX
-CXXFLAGS
-CXX
-GCC_FALSE
-GCC_TRUE
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-ISODATE
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-am__untar
-am__tar
-AMTAR
-am__leading_dot
-SET_MAKE
-AWK
-mkdir_p
-MKDIR_P
-INSTALL_STRIP_PROGRAM
-STRIP
-install_sh
-MAKEINFO
-AUTOHEADER
-AUTOMAKE
-AUTOCONF
-ACLOCAL
-VERSION
-PACKAGE
-CYGPATH_W
-am__isrc
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-with_cc
-with_cxx
-enable_dependency_tracking
-with_gnu_ld
-enable_rpath
-enable_debugging
-enable_profiling
-enable_coverage
-enable_assertions
-enable_optimization
-enable_arch
-with_cflags
-with_cxxflags
-enable_valgrind_tests
-enable_watchdog
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-enable_libtool_lock
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CXX
-CXXFLAGS
-CCC
-CXXCPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-	 ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
-		datadir sysconfdir sharedstatedir localstatedir includedir \
-		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_myself" : 'X\(//\)[^/]' \| \
-	 X"$as_myself" : 'X\(//\)$' \| \
-	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
-	pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures the Parma Watchdog Library 0.8 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/pwl]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Watchdog Library 0.8:";;
-   esac
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-option-checking  ignore unrecognized --enable/--with options
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-silent-rules          less verbose build output (undo: `make V=1')
-  --disable-silent-rules         verbose build output (undo: `make V=0')
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --disable-rpath         do not hardcode runtime library paths
-  --enable-debugging      compile with debugging information
-  --enable-profiling      compile for profiling
-  --enable-coverage       compile for test coverage
-  --enable-assertions     check run-time assertions
-  --enable-optimization   enable compiler optimizations
-  --enable-arch=arch      optimize for architecture arch
-  --enable-valgrind-tests run library tests under Valgrind
-  --enable-watchdog       build also the Parma Watchdog Library
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-cc=XXX           use XXX as the C compiler
-  --with-cxx=XXX          use XXX as the C++ compiler
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
-  --with-cflags=xxx       add XXX to the options for the C compiler
-  --with-cxxflags=xxx     add XXX to the options for the C++ compiler
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CXXCPP      C++ preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to <bagnara at cs.unipr.it>.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-the Parma Watchdog Library configure 0.8
-generated by GNU Autoconf 2.65
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_cxx_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ---------------------------------- ##
-## Report this to bagnara at cs.unipr.it ##
-## ---------------------------------- ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_cxx_check_header_mongrel
-
-# ac_fn_cxx_try_run LINENO
-# ------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_cxx_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_run
-
-# ac_fn_cxx_check_header_compile LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_cxx_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_cxx_check_header_compile
-
-# ac_fn_cxx_check_decl LINENO SYMBOL VAR
-# --------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
-ac_fn_cxx_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $2
-  (void) $2;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_cxx_check_decl
-
-# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
-# ---------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_cxx_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-	 return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-	    return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_cxx_check_type
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-
-} # ac_fn_c_check_func
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 $as_test_x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by the Parma Watchdog Library $as_me 0.8, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-	ac_must_keep_next=false # Got value, back to normal.
-      else
-	case $ac_arg in
-	  *=* | --config-cache | -C | -disable-* | --disable-* \
-	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-	  | -with-* | --with-* | -without-* | --without-* | --x)
-	    case "$ac_configure_args0 " in
-	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-	    esac
-	    ;;
-	  -* ) ac_must_keep_next=true ;;
-	esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-	"s/'\''/'\''\\\\'\'''\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-	eval ac_val=\$$ac_var
-	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Minimum Autoconf version required.
-
-
-# Make sure the sources are there.
-
-
-# Specify the location of additional local Autoconf macros.
-
-
-# Determine the system type and set output variables to the names of
-# the canonical system types.
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-
-# Use Automake.
-am__api_version='1.11'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # AIX install.  It has an incompatible calling convention.
-	    :
-	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-	    # program-specific install script used by HP pwplus--don't use.
-	    :
-	  else
-	    rm -rf conftest.one conftest.two conftest.dir
-	    echo one > conftest.one
-	    echo two > conftest.two
-	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-	      test -s conftest.one && test -s conftest.two &&
-	      test -s conftest.dir/conftest.one &&
-	      test -s conftest.dir/conftest.two
-	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-	      break 3
-	    fi
-	  fi
-	fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" "$LINENO" 5
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
-$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
-$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in mkdir gmkdir; do
-	 for ac_exec_ext in '' $ac_executable_extensions; do
-	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-	     'mkdir (GNU coreutils) '* | \
-	     'mkdir (coreutils) '* | \
-	     'mkdir (fileutils) '4.1*)
-	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-	       break 3;;
-	   esac
-	 done
-       done
-  done
-IFS=$as_save_IFS
-
-fi
-
-  test -d ./--version && rmdir ./--version
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in
-yes) AM_DEFAULT_VERBOSITY=0;;
-no)  AM_DEFAULT_VERBOSITY=1;;
-*)   AM_DEFAULT_VERBOSITY=1;;
-esac
-AM_BACKSLASH='\'
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE='pwl'
- VERSION='0.8'
-
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-
-# Generate a configuration header file.
-ac_config_headers="$ac_config_headers config.h"
-
-
-ISODATE=`date +%Y-%m-%d`
-
-
-
-
-# C compiler.
-
-
-# Check whether --with-cc was given.
-if test "${with_cc+set}" = set; then :
-  withval=$with_cc; CC=$with_cc
-fi
-
-
-# C++ compiler.
-
-
-# Check whether --with-cxx was given.
-if test "${with_cxx+set}" = set; then :
-  withval=$with_cxx; CXX=$with_cxx
-fi
-
-
-# Checks for programs.
-
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
-# must precede the first use of $GXX.  Note also that we do not allow
-# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
-save_CFLAGS="$CFLAGS"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-	;;
-    [ab].out )
-	# We found the default executable, but exeext='' is most
-	# certainly right.
-	break;;
-    *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-	then :; else
-	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	fi
-	# We set ac_cv_exeext here because the later test for it is not
-	# safe: cross compilers may not add the suffix if given an `-o'
-	# argument, so we may need to know it at that point already.
-	# Even if this section looks crufty: it has the advantage of
-	# actually working.
-	break;;
-    * )
-	break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-	  break;;
-    * ) break;;
-  esac
-done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-CFLAGS="$save_CFLAGS"
-
- if test x"$GCC" = xyes; then
-  GCC_TRUE=
-  GCC_FALSE='#'
-else
-  GCC_TRUE='#'
-  GCC_FALSE=
-fi
-
-
-# The Intel C compiler masquerades as gcc, but we want to know.
-if test x"$GCC" = xyes
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C compiler... " >&6; }
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICC=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ICC=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
-save_CXXFLAGS="$CXXFLAGS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
-$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  am__universal=false
-  case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-CXXFLAGS="$save_CXXFLAGS"
-
-# The Intel C++ compiler masquerades as g++, but we want to know.
-if test x"$GXX" = xyes
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using the Intel C++ compiler" >&5
-$as_echo_n "checking whether we are actually using the Intel C++ compiler... " >&6; }
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICPC=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ICPC=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
-set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-	@echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-
-# Compilation flags.
-
-COMP_FLAGS=""
-OPT_FLAGS=""
-
-# Determine the system-dependent aspects of rpath usage and add
-# the --disable-rpath configure option.
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${acl_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
-
-                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-    # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
-  enableval=$enable_rpath; :
-else
-  enable_rpath=yes
-fi
-
-
-
-enableval=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile with debug info" >&5
-$as_echo_n "checking whether to compile with debug info... " >&6; }
-# Check whether --enable-debugging was given.
-if test "${enable_debugging+set}" = set; then :
-  enableval=$enable_debugging;
-fi
-
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-debugging, needs yes or no" "$LINENO" 5
-  ;;
-esac
-
-enableval=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for profiling" >&5
-$as_echo_n "checking whether to compile for profiling... " >&6; }
-# Check whether --enable-profiling was given.
-if test "${enable_profiling+set}" = set; then :
-  enableval=$enable_profiling;
-fi
-
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -pg -DPWL_PROFILING=1"
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-profiling, needs yes or no" "$LINENO" 5
-  ;;
-esac
-
-enableval=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile for test coverage" >&5
-$as_echo_n "checking whether to compile for test coverage... " >&6; }
-# Check whether --enable-coverage was given.
-if test "${enable_coverage+set}" = set; then :
-  enableval=$enable_coverage;
-fi
-
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-coverage, needs yes or no" "$LINENO" 5
-  ;;
-esac
-
-enableval=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable checking of run-time assertions" >&5
-$as_echo_n "checking whether to enable checking of run-time assertions... " >&6; }
-# Check whether --enable-assertions was given.
-if test "${enable_assertions+set}" = set; then :
-  enableval=$enable_assertions;
-fi
-
-case "${enableval}" in
-yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-$as_echo "#define PWL_NDEBUG 1" >>confdefs.h
-
-  debug_flag="-DNDEBUG=1"
-  ;;
-*)
-  as_fn_error "bad value ${enableval} --enable-assertions, needs yes or no" "$LINENO" 5
-  ;;
-esac
-
-arch=no
-enableval=standard
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable optimizations" >&5
-$as_echo_n "checking whether to enable optimizations... " >&6; }
-# Check whether --enable-optimization was given.
-if test "${enable_optimization+set}" = set; then :
-  enableval=$enable_optimization;
-fi
-
-case "${enableval}" in
-sspeed)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: sspeed" >&5
-$as_echo "sspeed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
-  arch=yes
-  ;;
-speed)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: speed" >&5
-$as_echo "speed" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O3"
-  arch=yes
-  ;;
-size)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: size" >&5
-$as_echo "size" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -Os"
-  arch=yes
-  ;;
-standard | yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: standard" >&5
-$as_echo "standard" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O2"
-  ;;
-mild)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: mild" >&5
-$as_echo "mild" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O1"
-  ;;
-zero)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: zero" >&5
-$as_echo "zero" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -O0"
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" "$LINENO" 5
-  ;;
-esac
-
-enableval=$arch
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for which architecture to optimize" >&5
-$as_echo_n "checking for which architecture to optimize... " >&6; }
-# Check whether --enable-arch was given.
-if test "${enable_arch+set}" = set; then :
-  enableval=$enable_arch;
-fi
-
-case "${enableval}" in
-yes)
-  m=`uname -m`
-  case $m in
-  i?86 | k6 | athlon)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $m" >&5
-$as_echo "$m" >&6; }
-    OPT_FLAGS="$OPT_FLAGS -march=$m"
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
-$as_echo "default" >&6; }
-    ;;
-  esac
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: default" >&5
-$as_echo "default" >&6; }
-  ;;
-*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enableval" >&5
-$as_echo "$enableval" >&6; }
-  OPT_FLAGS="$OPT_FLAGS -march=$enableval"
-  ;;
-esac
-
-CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
-CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
-
-# System-dependent adjustments.
-no_undefined=no
-
-case "${host_os}" in
-cygwin)
-  no_undefined=yes
-  ;;
-*)
-  ;;
-esac
- if test x$no_undefined = xyes; then
-  NO_UNDEFINED_TRUE=
-  NO_UNDEFINED_FALSE='#'
-else
-  NO_UNDEFINED_TRUE='#'
-  NO_UNDEFINED_FALSE=
-fi
-
-
-
-# Allow additions to C and C++ compilation flags.
-
-
-# Check whether --with-cflags was given.
-if test "${with_cflags+set}" = set; then :
-  withval=$with_cflags; CFLAGS="$CFLAGS $with_cflags"
-fi
-
-
-
-# Check whether --with-cxxflags was given.
-if test "${with_cxxflags+set}" = set; then :
-  withval=$with_cxxflags; CXXFLAGS="$CXXFLAGS $with_cxxflags"
-fi
-
-
-# Check for Perl.
-# Extract the first word of "perl", so it can be a program name with args.
-set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PERL in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="no"
-  ;;
-esac
-fi
-PERL=$ac_cv_path_PERL
-if test -n "$PERL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
- if test x"$PERL" != xno; then
-  HAVE_PERL_TRUE=
-  HAVE_PERL_FALSE='#'
-else
-  HAVE_PERL_TRUE='#'
-  HAVE_PERL_FALSE=
-fi
-
-
-# Checks for C typedefs, structures, and compiler characteristics.
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this.  */
-  typedef int charset[2];
-  const charset cs;
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this.  */
-    char *t;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; };
-    struct s *b; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_const=yes
-else
-  ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "#define const /**/" >>confdefs.h
-
-fi
-
-
-# Use C++ for the remaining checks.
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-enableval=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether tests should be run under Valgrind" >&5
-$as_echo_n "checking whether tests should be run under Valgrind... " >&6; }
-# Check whether --enable-valgrind-tests was given.
-if test "${enable_valgrind_tests+set}" = set; then :
-  enableval=$enable_valgrind_tests;
-fi
-
-case "${enableval}" in
-yes)
-  # Extract the first word of "valgrind", so it can be a program name with args.
-set dummy valgrind; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_VALGRIND+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$VALGRIND"; then
-  ac_cv_prog_VALGRIND="$VALGRIND" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_VALGRIND="valgrind"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-VALGRIND=$ac_cv_prog_VALGRIND
-if test -n "$VALGRIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $VALGRIND" >&5
-$as_echo "$VALGRIND" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  if test x"$VALGRIND" = xvalgrind
-  then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    enable_valgrind_tests=yes
-  else
-    as_fn_error "bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" "$LINENO" 5
-  fi
-  ;;
-no)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  enable_valgrind_tests=no
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-valgrind-tests, needs yes or no" "$LINENO" 5
-  ;;
-esac
- if test x"$enable_valgrind_tests" = xyes; then
-  VALGRIND_TESTS_ENABLED_TRUE=
-  VALGRIND_TESTS_ENABLED_FALSE='#'
-else
-  VALGRIND_TESTS_ENABLED_TRUE='#'
-  VALGRIND_TESTS_ENABLED_FALSE=
-fi
-
-
-enableval=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Parma Watchdog Library" >&5
-$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
-# Check whether --enable-watchdog was given.
-if test "${enable_watchdog+set}" = set; then :
-  enableval=$enable_watchdog;
-fi
-
-case "${enableval}" in
-yes)
-  build_watchdog_library=yes
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-watchdog, needs yes or no" "$LINENO" 5
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_watchdog_library" >&5
-$as_echo "$build_watchdog_library" >&6; }
- if test x"$build_watchdog_library" = xyes; then
-  BUILD_WATCHDOG_LIBRARY_TRUE=
-  BUILD_WATCHDOG_LIBRARY_FALSE='#'
-else
-  BUILD_WATCHDOG_LIBRARY_TRUE='#'
-  BUILD_WATCHDOG_LIBRARY_FALSE=
-fi
-
-
-if test x"$build_watchdog_library" = xyes
-then
-  # Checks for header files.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5
-$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
-if test "${ac_cv_header_time+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_time=yes
-else
-  ac_cv_header_time=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5
-$as_echo "$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-$as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h
-
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in fenv.h sys/time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-  # Checks for the availability of C library functions in C++.
-  ac_fn_cxx_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "#include <cstdlib>
-"
-if test "x$ac_cv_have_decl_getenv" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV $ac_have_decl
-_ACEOF
-
-  ac_fn_cxx_check_decl "$LINENO" "setitimer" "ac_cv_have_decl_setitimer" "
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-
-"
-if test "x$ac_cv_have_decl_setitimer" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SETITIMER $ac_have_decl
-_ACEOF
-
-  ac_fn_cxx_check_decl "$LINENO" "sigaction" "ac_cv_have_decl_sigaction" "#include <csignal>
-"
-if test "x$ac_cv_have_decl_sigaction" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_SIGACTION $ac_have_decl
-_ACEOF
-
-
-  # Checks for typedefs, structures, and compiler characteristics.
-  ac_fn_cxx_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
-#include <signal.h>
-
-"
-if test "x$ac_cv_type_siginfo_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SIGINFO_T 1
-_ACEOF
-
-
-fi
-
-fi
-
-# Libtool.
-case `pwd` in
-  *\ * | *\	*)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.10'
-macro_revision='1.3175'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[	 ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-	  cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&5
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE="32"
-	;;
-      *ELF-64*)
-	HPUX_IA64_MODE="64"
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
-	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&5
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-	lt_cv_ld_force_load=yes
-      else
-	cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[012]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-# Set options
-enable_dlopen=yes
-
-
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='-fPIC'
-	;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      else
-	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	lt_prog_compiler_pic='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-KPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='--shared'
-	lt_prog_compiler_static='--static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fpic'
-	lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-qpic'
-	lt_prog_compiler_static='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl=''
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Wl,'
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-	lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-	lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	lt_prog_compiler_pic='-Kconform_pic'
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-	# The AIX port of GNU ld has always aspired to compatibility
-	# with the native linker.  However, as the warning in the GNU ld
-	# block says, versions before 2.19.5* couldn't really create working
-	# shared libraries, regardless of the interface used.
-	case `$LD -v 2>&1` in
-	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-	  *)
-	    lt_use_gnu_ld_interface=yes
-	    ;;
-	esac
-	;;
-      *)
-	lt_use_gnu_ld_interface=yes
-	;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	allow_undefined_flag=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-	case $cc_basename in
-	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
-	esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test "$tmp_diet" = no
-      then
-	tmp_addflag=
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95* | pgfortran*)
-					# Portland Group f77 and f90 compilers
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	lf95*)				# Lahey Fortran 8.1
-	  whole_archive_flag_spec=
-	  tmp_sharedflag='--shared' ;;
-	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	nvcc*)	# Cuda Compiler Driver 2.2
-	  whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  compiler_needs_object=yes
-	  ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  compiler_needs_object=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	    echo "local: *; };" >> $output_objdir/$libname.ver~
-	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-	case $cc_basename in
-	xlf* | bgf* | bgxlf* | mpixlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
-	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  # For security reasons, it is highly recommended that you always
-	  # use absolute paths for naming shared libraries, and exclude the
-	  # DT_RUNPATH tag from executables and libraries.  But doing so
-	  # requires that you compile everything twice, which is a pain.
-	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-	    archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    ld_shlibs=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	# Also, AIX nm treats weak defined symbols like other global
-	# defined symbols, whereas GNU nm marks them as "W".
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[012]|aix4.[012].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	  # We have reworked collect2
-	  :
-	  else
-	  # We have old collect2
-	  hardcode_direct=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  hardcode_minus_L=yes
-	  hardcode_libdir_flag_spec='-L$libdir'
-	  hardcode_libdir_separator=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-	if test "$host_cpu" = ia64; then
-	  hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-	  allow_undefined_flag="-z nodefs"
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an
-	 # empty executable.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  no_undefined_flag=' ${wl}-bernotok'
-	  allow_undefined_flag=' ${wl}-berok'
-	  if test "$with_gnu_ld" = yes; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec='$convenience'
-	  fi
-	  archive_cmds_need_lc=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
-	hardcode_libdir_separator=:
-	hardcode_direct=yes
-	hardcode_direct_absolute=yes
-	export_dynamic_flag_spec='${wl}-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-
-	  # Older versions of the 11.00 compiler do not understand -b yet
-	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_separator=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  hardcode_direct=no
-	  hardcode_shlibpath_var=no
-	  ;;
-	*)
-	  hardcode_direct=yes
-	  hardcode_direct_absolute=yes
-	  export_dynamic_flag_spec='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  hardcode_minus_L=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	# Try to use the -exported_symbol ld option, if it does not
-	# work, assume that -exports_file does not work either and
-	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo(void) {}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	hardcode_direct=yes
-	hardcode_shlibpath_var=no
-	hardcode_direct_absolute=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	  export_dynamic_flag_spec='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-	     archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     hardcode_libdir_flag_spec='-R$libdir'
-	     ;;
-	   *)
-	     archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-	fi
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-	allow_undefined_flag=' -expect_unresolved \*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-	case `$CC -V 2>&1` in
-	*"Compilers 5.0"*)
-	  wlarc=''
-	  archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-	  ;;
-	*)
-	  wlarc='${wl}'
-	  archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-	  ;;
-	esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
-	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  reload_cmds='$CC -r -o $output$reload_objs'
-	  hardcode_direct=no
-        ;;
-	motorola)
-	  archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	hardcode_shlibpath_var=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	export_dynamic_flag_spec='${wl}-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$lt_prog_compiler_wl
-	  pic_flag=$lt_prog_compiler_pic
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$allow_undefined_flag
-	  allow_undefined_flag=
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc=no
-	  else
-	    lt_cv_archive_cmds_need_lc=yes
-	  fi
-	  allow_undefined_flag=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CC="$lt_save_CC"
-
-      if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-else
-  _lt_caught_CXX_error=yes
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-compiler_needs_object_CXX=no
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_direct_absolute_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-inherit_rpath_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-reload_flag_CXX=$reload_flag
-reload_cmds_CXX=$reload_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-  # save warnings/boilerplate of simple test code
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-  ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  compiler=$CC
-  compiler_CXX=$CC
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-    else
-      lt_prog_compiler_no_builtin_flag_CXX=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          whole_archive_flag_spec_CXX=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-    ld_shlibs_CXX=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-      aix[4-9]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        archive_cmds_CXX=''
-        hardcode_direct_CXX=yes
-        hardcode_direct_absolute_CXX=yes
-        hardcode_libdir_separator_CXX=':'
-        link_all_deplibs_CXX=yes
-        file_list_spec_CXX='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[012]|aix4.[012].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	    # We have reworked collect2
-	    :
-	  else
-	    # We have old collect2
-	    hardcode_direct_CXX=unsupported
-	    # It fails to find uninstalled libraries when the uninstalled
-	    # path is not listed in the libpath.  Setting hardcode_minus_L
-	    # to unsupported forces relinking
-	    hardcode_minus_L_CXX=yes
-	    hardcode_libdir_flag_spec_CXX='-L$libdir'
-	    hardcode_libdir_separator_CXX=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag="$shared_flag "'${wl}-G'
-	  fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	  # chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-          else
-	    if test "$aix_use_runtimelinking" = yes; then
-	      shared_flag='${wl}-G'
-	    else
-	      shared_flag='${wl}-bM:SRE'
-	    fi
-          fi
-        fi
-
-        export_dynamic_flag_spec_CXX='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-	# export.
-        always_export_symbols_CXX=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          allow_undefined_flag_CXX='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-	    hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-	    allow_undefined_flag_CXX="-z nodefs"
-	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-	    # Determine the default libpath from the value encoded in an
-	    # empty executable.
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-	    # Warning - without using the other run time loading flags,
-	    # -berok will link without error, but may produce a broken library.
-	    no_undefined_flag_CXX=' ${wl}-bernotok'
-	    allow_undefined_flag_CXX=' ${wl}-berok'
-	    if test "$with_gnu_ld" = yes; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      whole_archive_flag_spec_CXX='$convenience'
-	    fi
-	    archive_cmds_need_lc_CXX=yes
-	    # This is similar to how AIX traditionally builds its shared
-	    # libraries.
-	    archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  allow_undefined_flag_CXX=unsupported
-	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-        # as there is no search path for DLLs.
-        hardcode_libdir_flag_spec_CXX='-L$libdir'
-        export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
-        allow_undefined_flag_CXX=unsupported
-        always_export_symbols_CXX=no
-        enable_shared_with_static_runtimes_CXX=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          ld_shlibs_CXX=no
-        fi
-        ;;
-      darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc_CXX=no
-  hardcode_direct_CXX=no
-  hardcode_automatic_CXX=yes
-  hardcode_shlibpath_var_CXX=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec_CXX=''
-  fi
-  link_all_deplibs_CXX=yes
-  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-
-  else
-  ld_shlibs_CXX=no
-  fi
-
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      freebsd[12]*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        ld_shlibs_CXX=no
-        ;;
-
-      freebsd-elf*)
-        archive_cmds_need_lc_CXX=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        ld_shlibs_CXX=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      haiku*)
-        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        link_all_deplibs_CXX=yes
-        ;;
-
-      hpux9*)
-        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        export_dynamic_flag_spec_CXX='${wl}-E'
-        hardcode_direct_CXX=yes
-        hardcode_minus_L_CXX=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            ld_shlibs_CXX=no
-            ;;
-          aCC*)
-            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              ld_shlibs_CXX=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-	  hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      export_dynamic_flag_spec_CXX='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct_CXX=no
-            hardcode_shlibpath_var_CXX=no
-            ;;
-          *)
-            hardcode_direct_CXX=yes
-            hardcode_direct_absolute_CXX=yes
-            hardcode_minus_L_CXX=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test $with_gnu_ld = no; then
-	        case $host_cpu in
-	          hppa*64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[3-9]*)
-	hardcode_direct_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='${wl}-E'
-	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-	# Instead, shared libraries are loaded at an image base (0x10000000 by
-	# default) and relocated if they conflict, which is a slow very memory
-	# consuming and fragmenting process.  To avoid this, we pick a random,
-	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-	archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test "$with_gnu_ld" = no; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	      else
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
-	      fi
-	    fi
-	    link_all_deplibs_CXX=yes
-	    ;;
-        esac
-        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-        hardcode_libdir_separator_CXX=:
-        inherit_rpath_CXX=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    archive_cmds_need_lc_CXX=no
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
-	      prelink_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      old_archive_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-		$RANLIB $oldlib'
-	      archive_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      archive_expsym_cmds_CXX='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    if test "x$supports_anon_versioning" = xyes; then
-	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
-		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-		echo "local: *; };" >> $output_objdir/$libname.ver~
-		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      no_undefined_flag_CXX=' -zdefs'
-	      archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	      compiler_needs_object_CXX=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  hardcode_libdir_flag_spec_CXX='-R$libdir'
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        ld_shlibs_CXX=yes
-	;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-	ld_shlibs_CXX=no
-	;;
-
-      openbsd*)
-	if test -f /usr/libexec/ld.so; then
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	  hardcode_direct_absolute_CXX=yes
-	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	    export_dynamic_flag_spec_CXX='${wl}-E'
-	    whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-		;;
-	      *)
-	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
-	          $RM $lib.exp'
-	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-		;;
-	    esac
-
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-	      case $host in
-	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	        *)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-	      hardcode_libdir_separator_CXX=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            archive_cmds_need_lc_CXX=yes
-	    no_undefined_flag_CXX=' -zdefs'
-	    archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    hardcode_libdir_flag_spec_CXX='-R$libdir'
-	    hardcode_shlibpath_var_CXX=no
-	    case $host_os in
-	      solaris2.[0-5] | solaris2.[0-5].*) ;;
-	      *)
-		# The compiler driver will combine and reorder linker options,
-		# but understands `-z linker_flag'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    link_all_deplibs_CXX=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	        # platform.
-	        archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-	      case $host_os in
-		solaris2.[0-5] | solaris2.[0-5].*) ;;
-		*)
-		  whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_CXX='${wl}-z,text'
-      archive_cmds_need_lc_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We can NOT use -z defs as we might desire, because we do not
-	# link with -lc, and that would cause any symbols used from libc to
-	# always be unresolved, which means just about no library would
-	# ever link correctly.  If we're not using GNU ld we use -z text
-	# though, which does catch some bad symbols but isn't as heavy-handed
-	# as -z defs.
-	no_undefined_flag_CXX='${wl}-z,text'
-	allow_undefined_flag_CXX='${wl}-z,nodefs'
-	archive_cmds_need_lc_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
-	hardcode_libdir_separator_CXX=':'
-	link_all_deplibs_CXX=yes
-	export_dynamic_flag_spec_CXX='${wl}-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
-	      '"$old_archive_cmds_CXX"
-	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
-	      '"$reload_cmds_CXX"
-	    ;;
-	  *)
-	    archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-    esac
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-    test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-    GCC_CXX="$GXX"
-    LD_CXX="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    # Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-
-if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$compiler_lib_search_path_CXX"; then
-	     compiler_lib_search_path_CXX="${prev}${p}"
-	   else
-	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$postdeps_CXX"; then
-	   postdeps_CXX="${prev}${p}"
-	 else
-	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$predep_objects_CXX"; then
-	   predep_objects_CXX="$p"
-	 else
-	   predep_objects_CXX="$predep_objects_CXX $p"
-	 fi
-       else
-	 if test -z "$postdep_objects_CXX"; then
-	   postdep_objects_CXX="$p"
-	 else
-	   postdep_objects_CXX="$postdep_objects_CXX $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
- compiler_lib_search_dirs_CXX=
-if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_CXX='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	;;
-      *)
-	lt_prog_compiler_pic_CXX='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_CXX='-fPIC -shared'
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  lt_prog_compiler_static_CXX='-Bstatic'
-	else
-	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      lt_prog_compiler_pic_CXX='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      lt_prog_compiler_pic_CXX='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64 which still supported -KPIC.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fpic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-qpic'
-	    lt_prog_compiler_static_CXX='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      lt_prog_compiler_pic_CXX='-KPIC'
-	      lt_prog_compiler_static_CXX='-Bstatic'
-	      lt_prog_compiler_wl_CXX='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    lt_prog_compiler_pic_CXX='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        lt_prog_compiler_pic_CXX='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    lt_prog_compiler_wl_CXX='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    lt_prog_compiler_pic_CXX='-pic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	lt_prog_compiler_can_build_shared_CXX=no
-	;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    # Also, AIX nm treats weak defined symbols like other global defined
-    # symbols, whereas GNU nm marks them as "W".
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
-  cygwin* | mingw* | cegcc*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-with_gnu_ld_CXX=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$lt_prog_compiler_wl_CXX
-	  pic_flag=$lt_prog_compiler_pic_CXX
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-	  allow_undefined_flag_CXX=
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc_CXX=no
-	  else
-	    lt_cv_archive_cmds_need_lc_CXX=yes
-	  fi
-	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
-      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" ||
-   test -n "$runpath_var_CXX" ||
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
-$as_echo "$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink ||
-   test "$inherit_rpath_CXX" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-# If we are using GCC or the Intel C/C++ compiler we want to compile
-# with lots of warnings enabled.
-if test x"$GCC" = xyes
-then
-  if test x"$ICC" = xyes
-  then
-    CFLAGS="$CFLAGS -w2 -wd161,177,193,279,383,444,981,1098,1188,1418,1419,1572"
-  else
-    CFLAGS="$CFLAGS -W -Wall"
-  fi
-fi
-if test x"$GXX" = xyes
-then
-  if test x"$ICPC" = xyes
-  then
-    CXXFLAGS="$CXXFLAGS -w2 -wd161,177,193,279,383,444,981,1098,1188,1418,1419,1572"
-  else
-    CXXFLAGS="$CXXFLAGS -W -Wall"
-  fi
-fi
-
-
-
-ac_config_files="$ac_config_files Makefile src/Makefile m4/Makefile doc/Makefile doc/user.doxyconf-latex doc/devref.doxyconf-latex doc/user.doxyconf-html doc/devref.doxyconf-html tests/Makefile utils/Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-	"s/'/'\\\\''/g;
-	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
- if test -n "$EXEEXT"; then
-  am__EXEEXT_TRUE=
-  am__EXEEXT_FALSE='#'
-else
-  am__EXEEXT_TRUE='#'
-  am__EXEEXT_FALSE=
-fi
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then
-  as_fn_error "conditional \"GCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then
-  as_fn_error "conditional \"NO_UNDEFINED\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then
-  as_fn_error "conditional \"HAVE_PERL\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${VALGRIND_TESTS_ENABLED_TRUE}" && test -z "${VALGRIND_TESTS_ENABLED_FALSE}"; then
-  as_fn_error "conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${BUILD_WATCHDOG_LIBRARY_TRUE}" && test -z "${BUILD_WATCHDOG_LIBRARY_FALSE}"; then
-  as_fn_error "conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
-  fi
-  $as_echo "$as_me: error: $1" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-	 X"$0" : 'X\(//\)$' \| \
-	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\/\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -p'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -p'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -p'
-  fi
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$as_dir" : 'X\(//\)[^/]' \| \
-	 X"$as_dir" : 'X\(//\)$' \| \
-	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-	test -d "$1/.";
-      else
-	case $1 in #(
-	-*)set "./$1";;
-	esac;
-	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
-	???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by the Parma Watchdog Library $as_me 0.8, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bagnara at cs.unipr.it>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-the Parma Watchdog Library config.status 0.8
-configured by $0, generated by GNU Autoconf 2.65,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2009 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
-predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
-postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
-reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
-reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-AR \
-AR_FLAGS \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
-lt_prog_compiler_pic \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-fix_srcfile_path \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib \
-compiler_lib_search_dirs \
-predep_objects \
-postdep_objects \
-predeps \
-postdeps \
-compiler_lib_search_path \
-LD_CXX \
-reload_flag_CXX \
-compiler_CXX \
-lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_wl_CXX \
-lt_prog_compiler_pic_CXX \
-lt_prog_compiler_static_CXX \
-lt_cv_prog_compiler_c_o_CXX \
-export_dynamic_flag_spec_CXX \
-whole_archive_flag_spec_CXX \
-compiler_needs_object_CXX \
-with_gnu_ld_CXX \
-allow_undefined_flag_CXX \
-no_undefined_flag_CXX \
-hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
-hardcode_libdir_separator_CXX \
-fix_srcfile_path_CXX \
-exclude_expsyms_CXX \
-include_expsyms_CXX \
-file_list_spec_CXX \
-compiler_lib_search_dirs_CXX \
-predep_objects_CXX \
-postdep_objects_CXX \
-predeps_CXX \
-postdeps_CXX \
-compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec \
-reload_cmds_CXX \
-old_archive_cmds_CXX \
-old_archive_from_new_cmds_CXX \
-old_archive_from_expsyms_cmds_CXX \
-archive_cmds_CXX \
-archive_expsym_cmds_CXX \
-module_cmds_CXX \
-module_expsym_cmds_CXX \
-export_symbols_cmds_CXX \
-prelink_cmds_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
-    "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
-    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
-    "doc/user.doxyconf-latex") CONFIG_FILES="$CONFIG_FILES doc/user.doxyconf-latex" ;;
-    "doc/devref.doxyconf-latex") CONFIG_FILES="$CONFIG_FILES doc/devref.doxyconf-latex" ;;
-    "doc/user.doxyconf-html") CONFIG_FILES="$CONFIG_FILES doc/user.doxyconf-html" ;;
-    "doc/devref.doxyconf-html") CONFIG_FILES="$CONFIG_FILES doc/devref.doxyconf-html" ;;
-    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
-    "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
-
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = ""
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[	 ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = ""
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-	`' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_file" : 'X\(//\)[^/]' \| \
-	 X"$ac_file" : 'X\(//\)$' \| \
-	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
-  fi
-# Compute "$ac_file"'s index in $config_headers.
-_am_arg="$ac_file"
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$_am_arg" : 'X\(//\)[^/]' \| \
-	 X"$_am_arg" : 'X\(//\)$' \| \
-	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$mf" : 'X\(//\)[^/]' \| \
-	 X"$mf" : 'X\(//\)$' \| \
-	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$file" : 'X\(//\)[^/]' \| \
-	 X"$file" : 'X\(//\)$' \| \
-	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      as_dir=$dirpart/$fdir; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags="CXX "
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects
-postdep_objects=$lt_postdep_objects
-predeps=$lt_predeps
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
-
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
-
-    cat <<_LT_EOF >> "$ofile"
-
-# ### BEGIN LIBTOOL TAG CONFIG: CXX
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag_CXX
-reload_cmds=$lt_reload_cmds_CXX
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_CXX
-
-# A language specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_CXX
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_CXX
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute_CXX
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_CXX
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_CXX
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_CXX
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_CXX
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_CXX
-postdep_objects=$lt_postdep_objects_CXX
-predeps=$lt_predeps_CXX
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# ### END LIBTOOL TAG CONFIG: CXX
-_LT_EOF
-
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/Watchdog/configure.ac b/Watchdog/configure.ac
deleted file mode 100644
index f7ce496..0000000
--- a/Watchdog/configure.ac
+++ /dev/null
@@ -1,415 +0,0 @@
-# Autoconf source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-# Process this file with Autoconf to produce a configure script.
-
-# Every other copy of the package version number gets its value from here.
-AC_INIT([the Parma Watchdog Library],[0.8],[bagnara at cs.unipr.it],[pwl])
-
-# Minimum Autoconf version required.
-AC_PREREQ(2.61)
-
-# Make sure the sources are there.
-AC_CONFIG_SRCDIR(src/Watchdog.cc)
-
-# Specify the location of additional local Autoconf macros.
-AC_CONFIG_MACRO_DIR([m4])
-
-# Determine the system type and set output variables to the names of
-# the canonical system types.
-AC_CANONICAL_HOST
-
-# Use Automake.
-AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip dist-lzma silent-rules 1.11])
-AC_SUBST(VERSION)
-
-# Generate a configuration header file.
-AC_CONFIG_HEADER([config.h])
-
-ISODATE=`date +%Y-%m-%d`
-AC_SUBST(ISODATE)
-
-AH_BOTTOM([
-#if defined(PWL_NDEBUG) && !defined(NDEBUG)
-# define NDEBUG PWL_NDEBUG
-#endif
-])
-
-# C compiler.
-
-AC_ARG_WITH(cc,
-  AS_HELP_STRING([--with-cc=XXX], [use XXX as the C compiler]),
-  CC=$with_cc)
-
-# C++ compiler.
-
-AC_ARG_WITH(cxx,
-  AS_HELP_STRING([--with-cxx=XXX], [use XXX as the C++ compiler]),
-  CXX=$with_cxx)
-
-# Checks for programs.
-
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
-# must precede the first use of $GXX.  Note also that we do not allow
-# AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
-save_CFLAGS="$CFLAGS"
-AC_PROG_CC
-CFLAGS="$save_CFLAGS"
-
-AM_CONDITIONAL(GCC, test x"$GCC" = xyes)
-
-# The Intel C compiler masquerades as gcc, but we want to know.
-if test x"$GCC" = xyes
-then
-  AC_MSG_CHECKING([whether we are actually using the Intel C compiler])
-  AC_LANG_PUSH(C)
-  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-]])],
-  AC_MSG_RESULT(yes)
-  ICC=yes,
-  AC_MSG_RESULT(no)
-  ICC=no,
-  AC_MSG_RESULT(no)
-  ICC=no)
-  AC_LANG_POP(C)
-fi
-
-save_CXXFLAGS="$CXXFLAGS"
-AC_PROG_CXX
-CXXFLAGS="$save_CXXFLAGS"
-
-# The Intel C++ compiler masquerades as g++, but we want to know.
-if test x"$GXX" = xyes
-then
-  AC_MSG_CHECKING([whether we are actually using the Intel C++ compiler])
-  AC_LANG_PUSH(C++)
-  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-]])],
-  AC_MSG_RESULT(yes)
-  ICPC=yes,
-  AC_MSG_RESULT(no)
-  ICPC=no,
-  AC_MSG_RESULT(no)
-  ICPC=no)
-  AC_LANG_POP(C++)
-fi
-
-AC_PROG_SED
-AC_PROG_CXXCPP
-AC_PROG_MAKE_SET
-AC_PROG_INSTALL
-
-# Compilation flags.
-
-COMP_FLAGS=""
-OPT_FLAGS=""
-
-# Determine the system-dependent aspects of rpath usage and add
-# the --disable-rpath configure option.
-AC_LIB_RPATH
-
-enableval=yes
-AC_MSG_CHECKING([whether to compile with debug info])
-AC_ARG_ENABLE(debugging,
-[  --enable-debugging      compile with debugging information])
-case "${enableval}" in
-yes)
-  AC_MSG_RESULT(yes)
-  OPT_FLAGS="-g"
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-debugging, needs yes or no])
-  ;;
-esac
-
-enableval=no
-AC_MSG_CHECKING([whether to compile for profiling])
-AC_ARG_ENABLE(profiling,
-[  --enable-profiling      compile for profiling])
-case "${enableval}" in
-yes)
-  AC_MSG_RESULT(yes)
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -pg -DPWL_PROFILING=1"
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-profiling, needs yes or no])
-  ;;
-esac
-
-enableval=no
-AC_MSG_CHECKING([whether to compile for test coverage])
-AC_ARG_ENABLE(coverage,
-[  --enable-coverage       compile for test coverage])
-case "${enableval}" in
-yes)
-  AC_MSG_RESULT(yes)
-  OPT_FLAGS="-g"
-  COMP_FLAGS="$COMP_FLAGS -fprofile-arcs -ftest-coverage"
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-coverage, needs yes or no])
-  ;;
-esac
-
-enableval=no
-AC_MSG_CHECKING([whether to enable checking of run-time assertions])
-AC_ARG_ENABLE(assertions,
-[  --enable-assertions     check run-time assertions])
-case "${enableval}" in
-yes)
-  AC_MSG_RESULT(yes)
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  AC_DEFINE(PWL_NDEBUG, 1, [Assertions are disabled when this is defined])
-  debug_flag="-DNDEBUG=1"
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} --enable-assertions, needs yes or no])
-  ;;
-esac
-
-arch=no
-enableval=standard
-AC_MSG_CHECKING([whether to enable optimizations])
-AC_ARG_ENABLE(optimization,
-[  --enable-optimization   enable compiler optimizations])
-case "${enableval}" in
-sspeed)
-  AC_MSG_RESULT(sspeed)
-  OPT_FLAGS="$OPT_FLAGS -O3 -fomit-frame-pointer"
-  arch=yes
-  ;;
-speed)
-  AC_MSG_RESULT(speed)
-  OPT_FLAGS="$OPT_FLAGS -O3"
-  arch=yes
-  ;;
-size)
-  AC_MSG_RESULT(size)
-  OPT_FLAGS="$OPT_FLAGS -Os"
-  arch=yes
-  ;;
-standard | yes)
-  AC_MSG_RESULT(standard)
-  OPT_FLAGS="$OPT_FLAGS -O2"
-  ;;
-mild)
-  AC_MSG_RESULT(mild)
-  OPT_FLAGS="$OPT_FLAGS -O1"
-  ;;
-zero)
-  AC_MSG_RESULT(zero)
-  OPT_FLAGS="$OPT_FLAGS -O0"
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no])
-  ;;
-esac
-
-enableval=$arch
-AC_MSG_CHECKING([for which architecture to optimize])
-AC_ARG_ENABLE(arch,
-[  --enable-arch[=arch]      optimize for architecture arch])
-case "${enableval}" in
-yes)
-  m=`uname -m`
-  case $m in
-  i?86 | k6 | athlon)
-    AC_MSG_RESULT($m)
-    OPT_FLAGS="$OPT_FLAGS -march=$m"
-    ;;
-  *)
-    AC_MSG_RESULT(default)
-    ;;
-  esac
-  ;;
-no)
-  AC_MSG_RESULT(default)
-  ;;
-*)
-  AC_MSG_RESULT($enableval)
-  OPT_FLAGS="$OPT_FLAGS -march=$enableval"
-  ;;
-esac
-
-CFLAGS="$COMP_FLAGS $OPT_FLAGS $CFLAGS"
-CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
-
-# System-dependent adjustments.
-no_undefined=no
-
-case "${host_os}" in
-cygwin)
-  no_undefined=yes
-  ;;
-*)
-  ;;
-esac
-AM_CONDITIONAL(NO_UNDEFINED, test x$no_undefined = xyes)
-
-
-# Allow additions to C and C++ compilation flags.
-
-AC_ARG_WITH(cflags,
-[  --with-cflags=xxx       add XXX to the options for the C compiler],
-CFLAGS="$CFLAGS $with_cflags")
-
-AC_ARG_WITH(cxxflags,
-[  --with-cxxflags=xxx     add XXX to the options for the C++ compiler],
-CXXFLAGS="$CXXFLAGS $with_cxxflags")
-
-# Check for Perl.
-AC_PATH_PROG([PERL], perl, no)
-AC_SUBST([PERL])
-AM_CONDITIONAL(HAVE_PERL, test x"$PERL" != xno)
-
-# Checks for C typedefs, structures, and compiler characteristics.
-AC_LANG(C)
-AC_C_CONST
-
-# Use C++ for the remaining checks.
-AC_LANG(C++)
-
-enableval=no
-AC_MSG_CHECKING([whether tests should be run under Valgrind])
-AC_ARG_ENABLE(valgrind-tests,
-  AS_HELP_STRING([--enable-valgrind-tests],
-                 [run library tests under Valgrind]))
-case "${enableval}" in
-yes)
-  AC_CHECK_PROG(VALGRIND, valgrind, valgrind)
-  if test x"$VALGRIND" = xvalgrind
-  then
-    AC_MSG_RESULT(yes)
-    enable_valgrind_tests=yes
-  else
-    AC_MSG_ERROR([bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind])
-  fi
-  ;;
-no)
-  AC_MSG_RESULT(no)
-  enable_valgrind_tests=no
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-valgrind-tests, needs yes or no])
-  ;;
-esac
-AM_CONDITIONAL(VALGRIND_TESTS_ENABLED, test x"$enable_valgrind_tests" = xyes)
-
-enableval=yes
-AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
-AC_ARG_ENABLE(watchdog,
-  AS_HELP_STRING([--enable-watchdog],
-                 [build also the Parma Watchdog Library]))
-case "${enableval}" in
-yes)
-  build_watchdog_library=yes
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-watchdog, needs yes or no])
-  ;;
-esac
-AC_MSG_RESULT($build_watchdog_library)
-AM_CONDITIONAL(BUILD_WATCHDOG_LIBRARY, test x"$build_watchdog_library" = xyes)
-
-if test x"$build_watchdog_library" = xyes
-then
-  # Checks for header files.
-  AC_HEADER_TIME
-  AC_CHECK_HEADERS([fenv.h sys/time.h])
-
-  # Checks for the availability of C library functions in C++.
-  AC_CHECK_DECLS([getenv], , , [#include <cstdlib>])
-  AC_CHECK_DECLS([setitimer], [], [], [[
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-  ]])
-  AC_CHECK_DECLS([sigaction], , , [#include <csignal>])
-
-  # Checks for typedefs, structures, and compiler characteristics.
-  AC_CHECK_TYPES([siginfo_t], [], [], [[
-#include <signal.h>
-  ]])
-fi
-
-# Libtool.
-LT_INIT([dlopen])
-
-# If we are using GCC or the Intel C/C++ compiler we want to compile
-# with lots of warnings enabled.
-if test x"$GCC" = xyes
-then
-  if test x"$ICC" = xyes
-  then
-    CFLAGS="$CFLAGS -w2 -wd161,177,193,279,383,444,981,1098,1188,1418,1419,1572"
-  else
-    CFLAGS="$CFLAGS -W -Wall"
-  fi
-fi
-if test x"$GXX" = xyes
-then
-  if test x"$ICPC" = xyes
-  then
-    CXXFLAGS="$CXXFLAGS -w2 -wd161,177,193,279,383,444,981,1098,1188,1418,1419,1572"
-  else
-    CXXFLAGS="$CXXFLAGS -W -Wall"
-  fi
-fi
-
-AC_SUBST(debug_flag)
-
-AC_CONFIG_FILES(Makefile
-                src/Makefile
-                m4/Makefile
-                doc/Makefile
-                doc/user.doxyconf-latex
-                doc/devref.doxyconf-latex
-                doc/user.doxyconf-html
-                doc/devref.doxyconf-html
-                tests/Makefile
-                utils/Makefile)
-AC_OUTPUT
diff --git a/Watchdog/depcomp b/Watchdog/depcomp
deleted file mode 100755
index df8eea7..0000000
--- a/Watchdog/depcomp
+++ /dev/null
@@ -1,630 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
-   depmode=msvisualcpp
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${
-	       s/^ *//
-	       s/ \\*$//
-	       s/$/:/
-	       p
-	     }' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
-    *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/Watchdog/doc/Makefile.am b/Watchdog/doc/Makefile.am
deleted file mode 100644
index fd0f84d..0000000
--- a/Watchdog/doc/Makefile.am
+++ /dev/null
@@ -1,282 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Watchdog Library
-# site: http://www.cs.unipr.it/pwl/ .
-
-# All the documentation in docdir.
-docdir = @docdir@
-htmldir = $(docdir)
-pdfdir = $(docdir)
-psdir = $(docdir)
-txtdir = $(docdir)
-
-DOXYGEN = doxygen
-INSTALLDOX = ./installdox -q
-
-# Licenses.
-
-PDF_LICENSES = \
-gpl.pdf \
-fdl.pdf
-
-PS_LICENSES = \
-gpl.ps.gz \
-fdl.ps.gz
-
-TXT_LICENSES = \
-gpl.txt \
-fdl.txt
-
-# Library Core Manuals (C++ interface)
-
-USER_CORE_HTML_MANUAL = pwl-user- at VERSION@-html.tar.gz
-DEVREF_CORE_HTML_MANUAL = pwl-devref- at VERSION@-html.tar.gz
-
-USER_CORE_PDF_MANUAL = pwl-user- at VERSION@.pdf
-DEVREF_CORE_PDF_MANUAL = pwl-devref- at VERSION@.pdf
-
-USER_CORE_PS_MANUAL = pwl-user- at VERSION@.ps.gz
-DEVREF_CORE_PS_MANUAL = pwl-devref- at VERSION@.ps.gz
-
-USER_CORE_HTML_DIR = pwl-user- at VERSION@-html
-DEVREF_CORE_HTML_DIR = pwl-devref- at VERSION@-html
-
-HTML_DIRS = $(USER_CORE_HTML_DIR) $(DEVREF_CORE_HTML_DIR)
-
-DOX_FILES = \
-gpl.dox \
-fdl.dox
-
-USER_CORE_STUFF = \
-$(DOX_FILES) \
-user.tex \
-pwl.sty \
-../src/pwl_header.hh ../src/pwl_include_files.hh
-
-DEVREF_CORE_STUFF = \
-$(DOX_FILES) \
-devref.tex \
-pwl.sty \
-$(PWL_SOURCE_FILES)
-
-##### Distributed documentation #####
-
-DIST_HTML_DOCS = $(USER_CORE_HTML_MANUAL)
-
-DIST_PDF_DOCS = \
-$(PDF_LICENSES) \
-$(USER_CORE_PDF_MANUAL)
-
-DIST_PS_DOCS = \
-$(PS_LICENSES) \
-$(USER_CORE_PS_MANUAL)
-
-DIST_TXT_DOCS = \
-$(TXT_LICENSES)
-
-DIST_DOCS = \
-$(DIST_HTML_DOCS) \
-$(DIST_PDF_DOCS) \
-$(DIST_PS_DOCS) \
-$(DIST_TXT_DOCS)
-
-NONDIST_MANUALS = \
-$(DEVREF_CORE_HTML_MANUAL) \
-$(DEVREF_CORE_PDF_MANUAL) \
-$(DEVREF_CORE_PS_MANUAL)
-
-##### Build Targets #####
-
-# Do nothing by default.
-all:
-
-user-html: $(USER_CORE_HTML_MANUAL)
-
-user-pdf: $(USER_CORE_PDF_MANUAL)
-
-user-ps: $(USER_CORE_PS_MANUAL)
-
-user: user-html user-pdf user-ps
-
-devref-html: $(DEVREF_CORE_HTML_MANUAL)
-
-devref-pdf: $(DEVREF_CORE_PDF_MANUAL)
-
-devref-ps: $(DEVREF_CORE_PS_MANUAL)
-
-devref: devref-html devref-pdf devref-ps
-
-world: user devref
-
-install-data-local: \
-install-html \
-install-pdf \
-install-ps \
-install-txt
-
-installdirs-local: \
-installdirs-html \
-installdirs-pdf \
-installdirs-ps \
-installdirs-txt
-
-uninstall-local: \
-uninstall-html \
-uninstall-pdf \
-uninstall-ps \
-uninstall-txt
-
-# Installation and uninstallation of HTML documentation.
-install-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  test -f $$ball || test -f $(srcdir)/$$ball || $(MAKE) $$ball; \
-	  dir=`basename $$ball .tar.gz`; \
-	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
-	  gunzip -c `if test -f $$ball; then echo .; else echo $(srcdir); fi`/$$ball | tar xf - ; \
-	  for file in $$dir/*; do \
-	    $(INSTALL_DATA) $$file $(DESTDIR)$(htmldir)/$$dir/`basename $$file`; \
-	  done; \
-	done
-
-installdirs-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  dir=`basename $$ball .tar.gz`; \
-	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
-	done
-
-uninstall-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  dir=`basename $$ball .tar.gz`; \
-	  rm -rf $(DESTDIR)$(htmldir)/$$dir; \
-	done
-
-# Installation and uninstallation of PDF documentation.
-install-pdf:
-	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
-	for file in $(DIST_PDF_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
-	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(pdfdir)/$$file; \
-	done
-
-installdirs-pdf:
-	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
-
-uninstall-pdf:
-	rm -f $(DESTDIR)$(pdfdir)/*.pdf
-
-# Installation and uninstallation of PostScript documentation.
-install-ps:
-	$(mkinstalldirs) $(DESTDIR)$(psdir)
-	for file in $(DIST_PS_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
-	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(psdir)/$$file; \
-	done
-
-installdirs-ps:
-	$(mkinstalldirs) $(DESTDIR)$(psdir)
-
-uninstall-ps:
-	rm -f $(DESTDIR)$(psdir)/*.ps.gz
-
-# Installation and uninstallation of pure text documentation.
-install-txt:
-	$(mkinstalldirs) $(DESTDIR)$(txtdir)
-	for file in $(srcdir)/*.txt $(srcdir)/README.doc; do \
-	  $(INSTALL_DATA) $$file $(DESTDIR)$(txtdir)/`basename $$file`; \
-	done
-	for file in BUGS COPYING CREDITS ChangeLog NEWS README; do \
-	  $(INSTALL_DATA) $(srcdir)/../$$file $(DESTDIR)$(txtdir)/$$file; \
-	done
-
-installdirs-txt:
-	$(mkinstalldirs) $(DESTDIR)$(txtdir)
-
-uninstall-txt:
-	rm -f $(DESTDIR)$(txtdir)/*.txt $(DESTDIR)$(txtdir)/README.doc
-	for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure ; do \
-	  rm -f $(DESTDIR)$(txtdir)/$$file; \
-	done
-
-PWL_SOURCE_FILES = $(wildcard $(srcdir)/../src/*.hh $(srcdir)/../src/*.cc)
-
-LATEX_DIRS = \
-user.latex-dir \
-devref.latex-dir
-
-TEX_ENV = TEXINPUTS=$(abs_srcdir):$(TEXINPUTS)
-
-.SECONDARY: $(LATEX_DIRS)
-
-user.latex-dir: user.doxyconf-latex $(USER_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-devref.latex-dir: devref.doxyconf-latex $(DEVREF_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-pwl-user- at VERSION@.pdf: user.latex-dir
-	$(TEX_ENV) make -C $< refman.pdf && mv -f $</refman.pdf $@
-
-pwl-devref- at VERSION@.pdf: devref.latex-dir
-	$(TEX_ENV) make -C $< refman.pdf && mv -f $</refman.pdf $@
-
-$(USER_CORE_HTML_DIR): user.doxyconf-html $(USER_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-$(DEVREF_CORE_HTML_DIR): devref.doxyconf-html $(DEVREF_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-############################################################################
-
-%.tar: %
-	tar cf $@ $<
-
-%.gz: %
-	gzip --best --force $<
-
-%.pdf: %.tex
-	$(TEX_ENV) pdflatex $<
-
-%.ps:	%.pdf
-	pdftops $< $@
-
-EXTRA_DIST= \
-$(DIST_DOCS) \
-$(DOX_FILES) \
-user.tex \
-devref.tex \
-gpl.tex \
-fdl.tex \
-pwl.sty \
-README.doc
-
-mostlyclean-local:
-	rm -rf $(HTML_DIRS) $(LATEX_DIRS) $(NONDIST_MANUALS) *.aux *.log
-
-CLEANFILES = \
-$(USER_CORE_HTML_DIR).tag \
-$(DEVREF_CORE_HTML_DIR).tag
-
-../src/pwl_include_files.hh:
-	$(MAKE) $(AM_MAKEFLAGS) -C ../src pwl_include_files.hh
diff --git a/Watchdog/doc/Makefile.in b/Watchdog/doc/Makefile.in
deleted file mode 100644
index 95586e1..0000000
--- a/Watchdog/doc/Makefile.in
+++ /dev/null
@@ -1,646 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Watchdog Library
-# site: http://www.cs.unipr.it/pwl/ .
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = doc
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/devref.doxyconf-html.in \
-	$(srcdir)/devref.doxyconf-latex.in \
-	$(srcdir)/user.doxyconf-html.in \
-	$(srcdir)/user.doxyconf-latex.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = user.doxyconf-latex devref.doxyconf-latex \
-	user.doxyconf-html devref.doxyconf-html
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-
-# All the documentation in docdir.
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = $(docdir)
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = $(docdir)
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = $(docdir)
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-txtdir = $(docdir)
-DOXYGEN = doxygen
-INSTALLDOX = ./installdox -q
-
-# Licenses.
-PDF_LICENSES = \
-gpl.pdf \
-fdl.pdf
-
-PS_LICENSES = \
-gpl.ps.gz \
-fdl.ps.gz
-
-TXT_LICENSES = \
-gpl.txt \
-fdl.txt
-
-
-# Library Core Manuals (C++ interface)
-USER_CORE_HTML_MANUAL = pwl-user- at VERSION@-html.tar.gz
-DEVREF_CORE_HTML_MANUAL = pwl-devref- at VERSION@-html.tar.gz
-USER_CORE_PDF_MANUAL = pwl-user- at VERSION@.pdf
-DEVREF_CORE_PDF_MANUAL = pwl-devref- at VERSION@.pdf
-USER_CORE_PS_MANUAL = pwl-user- at VERSION@.ps.gz
-DEVREF_CORE_PS_MANUAL = pwl-devref- at VERSION@.ps.gz
-USER_CORE_HTML_DIR = pwl-user- at VERSION@-html
-DEVREF_CORE_HTML_DIR = pwl-devref- at VERSION@-html
-HTML_DIRS = $(USER_CORE_HTML_DIR) $(DEVREF_CORE_HTML_DIR)
-DOX_FILES = \
-gpl.dox \
-fdl.dox
-
-USER_CORE_STUFF = \
-$(DOX_FILES) \
-user.tex \
-pwl.sty \
-../src/pwl_header.hh ../src/pwl_include_files.hh
-
-DEVREF_CORE_STUFF = \
-$(DOX_FILES) \
-devref.tex \
-pwl.sty \
-$(PWL_SOURCE_FILES)
-
-
-##### Distributed documentation #####
-DIST_HTML_DOCS = $(USER_CORE_HTML_MANUAL)
-DIST_PDF_DOCS = \
-$(PDF_LICENSES) \
-$(USER_CORE_PDF_MANUAL)
-
-DIST_PS_DOCS = \
-$(PS_LICENSES) \
-$(USER_CORE_PS_MANUAL)
-
-DIST_TXT_DOCS = \
-$(TXT_LICENSES)
-
-DIST_DOCS = \
-$(DIST_HTML_DOCS) \
-$(DIST_PDF_DOCS) \
-$(DIST_PS_DOCS) \
-$(DIST_TXT_DOCS)
-
-NONDIST_MANUALS = \
-$(DEVREF_CORE_HTML_MANUAL) \
-$(DEVREF_CORE_PDF_MANUAL) \
-$(DEVREF_CORE_PS_MANUAL)
-
-PWL_SOURCE_FILES = $(wildcard $(srcdir)/../src/*.hh $(srcdir)/../src/*.cc)
-LATEX_DIRS = \
-user.latex-dir \
-devref.latex-dir
-
-TEX_ENV = TEXINPUTS=$(abs_srcdir):$(TEXINPUTS)
-EXTRA_DIST = \
-$(DIST_DOCS) \
-$(DOX_FILES) \
-user.tex \
-devref.tex \
-gpl.tex \
-fdl.tex \
-pwl.sty \
-README.doc
-
-CLEANFILES = \
-$(USER_CORE_HTML_DIR).tag \
-$(DEVREF_CORE_HTML_DIR).tag
-
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-user.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/user.doxyconf-latex.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-devref.doxyconf-latex: $(top_builddir)/config.status $(srcdir)/devref.doxyconf-latex.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-user.doxyconf-html: $(top_builddir)/config.status $(srcdir)/user.doxyconf-html.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-devref.doxyconf-html: $(top_builddir)/config.status $(srcdir)/devref.doxyconf-html.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs: installdirs-local
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf-am:
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool \
-	mostlyclean-local
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-local
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	distclean distclean-generic distclean-libtool distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-data-local install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-local maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool \
-	mostlyclean-local pdf pdf-am ps ps-am uninstall uninstall-am \
-	uninstall-local
-
-
-##### Build Targets #####
-
-# Do nothing by default.
-all:
-
-user-html: $(USER_CORE_HTML_MANUAL)
-
-user-pdf: $(USER_CORE_PDF_MANUAL)
-
-user-ps: $(USER_CORE_PS_MANUAL)
-
-user: user-html user-pdf user-ps
-
-devref-html: $(DEVREF_CORE_HTML_MANUAL)
-
-devref-pdf: $(DEVREF_CORE_PDF_MANUAL)
-
-devref-ps: $(DEVREF_CORE_PS_MANUAL)
-
-devref: devref-html devref-pdf devref-ps
-
-world: user devref
-
-install-data-local: \
-install-html \
-install-pdf \
-install-ps \
-install-txt
-
-installdirs-local: \
-installdirs-html \
-installdirs-pdf \
-installdirs-ps \
-installdirs-txt
-
-uninstall-local: \
-uninstall-html \
-uninstall-pdf \
-uninstall-ps \
-uninstall-txt
-
-# Installation and uninstallation of HTML documentation.
-install-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  test -f $$ball || test -f $(srcdir)/$$ball || $(MAKE) $$ball; \
-	  dir=`basename $$ball .tar.gz`; \
-	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
-	  gunzip -c `if test -f $$ball; then echo .; else echo $(srcdir); fi`/$$ball | tar xf - ; \
-	  for file in $$dir/*; do \
-	    $(INSTALL_DATA) $$file $(DESTDIR)$(htmldir)/$$dir/`basename $$file`; \
-	  done; \
-	done
-
-installdirs-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  dir=`basename $$ball .tar.gz`; \
-	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
-	done
-
-uninstall-html:
-	for ball in $(DIST_HTML_DOCS); do \
-	  dir=`basename $$ball .tar.gz`; \
-	  rm -rf $(DESTDIR)$(htmldir)/$$dir; \
-	done
-
-# Installation and uninstallation of PDF documentation.
-install-pdf:
-	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
-	for file in $(DIST_PDF_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
-	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(pdfdir)/$$file; \
-	done
-
-installdirs-pdf:
-	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
-
-uninstall-pdf:
-	rm -f $(DESTDIR)$(pdfdir)/*.pdf
-
-# Installation and uninstallation of PostScript documentation.
-install-ps:
-	$(mkinstalldirs) $(DESTDIR)$(psdir)
-	for file in $(DIST_PS_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
-	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(psdir)/$$file; \
-	done
-
-installdirs-ps:
-	$(mkinstalldirs) $(DESTDIR)$(psdir)
-
-uninstall-ps:
-	rm -f $(DESTDIR)$(psdir)/*.ps.gz
-
-# Installation and uninstallation of pure text documentation.
-install-txt:
-	$(mkinstalldirs) $(DESTDIR)$(txtdir)
-	for file in $(srcdir)/*.txt $(srcdir)/README.doc; do \
-	  $(INSTALL_DATA) $$file $(DESTDIR)$(txtdir)/`basename $$file`; \
-	done
-	for file in BUGS COPYING CREDITS ChangeLog NEWS README; do \
-	  $(INSTALL_DATA) $(srcdir)/../$$file $(DESTDIR)$(txtdir)/$$file; \
-	done
-
-installdirs-txt:
-	$(mkinstalldirs) $(DESTDIR)$(txtdir)
-
-uninstall-txt:
-	rm -f $(DESTDIR)$(txtdir)/*.txt $(DESTDIR)$(txtdir)/README.doc
-	for file in BUGS COPYING CREDITS ChangeLog NEWS README README.configure ; do \
-	  rm -f $(DESTDIR)$(txtdir)/$$file; \
-	done
-
-.SECONDARY: $(LATEX_DIRS)
-
-user.latex-dir: user.doxyconf-latex $(USER_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-devref.latex-dir: devref.doxyconf-latex $(DEVREF_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-pwl-user- at VERSION@.pdf: user.latex-dir
-	$(TEX_ENV) make -C $< refman.pdf && mv -f $</refman.pdf $@
-
-pwl-devref- at VERSION@.pdf: devref.latex-dir
-	$(TEX_ENV) make -C $< refman.pdf && mv -f $</refman.pdf $@
-
-$(USER_CORE_HTML_DIR): user.doxyconf-html $(USER_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-$(DEVREF_CORE_HTML_DIR): devref.doxyconf-html $(DEVREF_CORE_STUFF)
-	rm -rf $@
-	$(TEX_ENV) $(DOXYGEN) $<
-
-############################################################################
-
-%.tar: %
-	tar cf $@ $<
-
-%.gz: %
-	gzip --best --force $<
-
-%.pdf: %.tex
-	$(TEX_ENV) pdflatex $<
-
-%.ps:	%.pdf
-	pdftops $< $@
-
-mostlyclean-local:
-	rm -rf $(HTML_DIRS) $(LATEX_DIRS) $(NONDIST_MANUALS) *.aux *.log
-
-../src/pwl_include_files.hh:
-	$(MAKE) $(AM_MAKEFLAGS) -C ../src pwl_include_files.hh
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/doc/README.doc b/Watchdog/doc/README.doc
deleted file mode 100644
index 3f2bc5b..0000000
--- a/Watchdog/doc/README.doc
+++ /dev/null
@@ -1,141 +0,0 @@
-Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-See below for the copying conditions.
-
-How To Get (More) PWL Documentation
-===================================
-
-Do you have all the documentation you need? If you don't or if you are
-unsure, the following is for you.
-
-There are two versions of the Parma Watchdog Library's documentation:
-
-  + a `user' manual, containing all and only the information needed by
-    people wishing to use the library;
-  + a `devref' (developer reference) manual, also containing details
-    about the library implementation.
-
-Each of these versions can be obtained in several formats:
-
-  + a PDF file suitable for browsing on the screen;
-  + a (gzipped) PostScript file suitable for printing;
-  + a (tarred and gzipped) collection of HTML pages suitable for browsing.
-
-
-The Documentation You May Already Have
-======================================
-
-First of all, you may already have some documentation and all you need
-to do is to find it.
-
-If you have downloaded a source (tar or zip) archive for PWL version
-X.Y.Z, you will find in the doc subdirectory the following set of user
-manuals:
-
-  pwl-user-X.Y.Z.pdf
-  pwl-user-X.Y.Z.ps.gz
-
-If you have installed a binary RPM package, then you have the same set
-of manuals. You can find them with the command `rpm -ql pwl' which
-will print, among other things, something like
-
-  /usr/share/doc/pwl-X.Y.Z
-  /usr/share/doc/pwl-X.Y.Z/README
-  /usr/share/doc/pwl-X.Y.Z/pwl-user-X.Y.Z.pdf
-  /usr/share/doc/pwl-X.Y.Z/pwl-user-X.Y.Z.ps.gz
-
-
-The Documentation You May Download
-==================================
-
-If you are using the latest released version of the library, you will
-find all the documentation in all formats at
-http://www.cs.unipr.it/pwl/Documentation/ .
-
-
-The Documentation You May Build Yourself
-========================================
-
-When all else fails (which is the case, for example, when you are
-using a CVS version [1]) then you may build the documentation by
-yourself. In order to do that, you should have a recent version of
-Doxygen [2] and, if you want to build the HTML documentation, a recent
-version of Graphviz [3].  When you have all the tools installed and
-running, you should follow the following procedure.
-
-First, you should determine which version of the library you are
-working with. The safest way is to go to the top source directory of
-the library and to locate the unique line in the file configure.ac
-containing the string "AC_INIT". This will look like
-
-  AC_INIT([the Parma Watchdog Library], 0.6.3pre4, pwl-devel at cs.unipr.it, pwl)
-
-from which you determine that the version is 0.6.3pre4 (a.k.a. the 4th
-beta version before release 0.6.3).
-
-Then, if you have not yet done it, build the library itself (see the
-building instructions in the file INSTALL [4] in the top source
-directory.  The default build process, while essential in order to
-produce the documentation, will not generate it directly. For this
-reason you should go to the doc subdirectory of your build directory
-(i.e., the one where you compiled the library) and build all the
-documents you want by executing a command of the form
-
-    make doc1 doc2 ...
-
-Here, doc1, doc2 and so forth are the names of the documents to be built.
-Document names may be obtained from the following list by replacing
-X.Y.Z with the version number you have already determined, and by
-replacing KIND with either `user' or `devref':
-
-    pwl-KIND-X.Y.Z.pdf
-    pwl-KIND-X.Y.Z.ps.gz
-    pwl-KIND-X.Y.Z-html.tar.gz
-
-For example, the command
-
-    make pwl-user-0.6.3pre4.pdf pwl-devref-0.6.3pre4.pdf
-
-will build both kinds of manuals in a PDF format.  Alternatively, the
-command `make world' will build all the available documentation in all
-of the above formats.
-
---------
-
-[1] http://www.cs.unipr.it/pwl/Download/cvs
-[2] http://www.doxygen.org/
-[3] http://www.research.att.com/sw/tools/graphviz/
-
-
---------
-
-Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This document describes the Parma Watchdog Library (PWL).
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PWL in files called `fdl.*'.
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.  The license is included, in various
-formats, in the `doc' subdirectory of each distribution of the PWL in
-files are called `gpl.*'.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-If you have not received a copy of one or both the above mentioned
-licenses along with the PWL, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Watchdog Library
-site: http://www.cs.unipr.it/pwl/ .
diff --git a/Watchdog/doc/devref.doxyconf-html.in b/Watchdog/doc/devref.doxyconf-html.in
deleted file mode 100644
index c5b40ec..0000000
--- a/Watchdog/doc/devref.doxyconf-html.in
+++ /dev/null
@@ -1,287 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = @VERSION@
-OUTPUT_DIRECTORY       = .
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-SYMBOL_CACHE_SIZE      = 0
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = Include_Implementation_Details
-MAX_INITIALIZER_LINES  = 5
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = YES
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = @srcdir@/../src/Doubly_Linked_Object.types.hh \
-                         @srcdir@/../src/Doubly_Linked_Object.defs.hh \
-                         @srcdir@/../src/Doubly_Linked_Object.inlines.hh \
-                         @srcdir@/../src/EList.types.hh \
-                         @srcdir@/../src/EList.defs.hh \
-                         @srcdir@/../src/EList.inlines.hh \
-                         @srcdir@/../src/EList_Iterator.types.hh \
-                         @srcdir@/../src/EList_Iterator.defs.hh \
-                         @srcdir@/../src/EList_Iterator.inlines.hh \
-                         @srcdir@/../src/Handler.types.hh \
-                         @srcdir@/../src/Handler.defs.hh \
-                         @srcdir@/../src/Handler.inlines.hh \
-                         @srcdir@/../src/Pending_Element.types.hh \
-                         @srcdir@/../src/Pending_Element.defs.hh \
-                         @srcdir@/../src/Pending_Element.inlines.hh \
-                         @srcdir@/../src/Pending_List.types.hh \
-                         @srcdir@/../src/Pending_List.defs.hh \
-                         @srcdir@/../src/Pending_List.inlines.hh \
-                         @srcdir@/../src/Threshold_Watcher.types.hh \
-                         @srcdir@/../src/Threshold_Watcher.defs.hh \
-                         @srcdir@/../src/Threshold_Watcher.inlines.hh \
-                         @srcdir@/../src/Threshold_Watcher.templates.hh \
-                         @srcdir@/../src/Threshold_Watcher.cc \
-                         @srcdir@/../src/Time.types.hh \
-                         @srcdir@/../src/Time.defs.hh \
-                         @srcdir@/../src/Time.inlines.hh \
-                         @srcdir@/../src/Time.cc \
-                         @srcdir@/../src/Watchdog.types.hh \
-                         @srcdir@/../src/Watchdog.defs.hh \
-                         @srcdir@/../src/Watchdog.inlines.hh \
-                         @srcdir@/../src/Watchdog.cc \
-                         @srcdir@/gpl.dox \
-                         @srcdir@/fdl.dox
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.hh \
-                         *.cc \
-                         *.dox
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = YES
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = pwl-devref- at VERSION@-html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               = 
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-FORMULA_FONTSIZE       = 10
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = devref.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = pwl
-LATEX_HEADER           = @srcdir@/devref.tex
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = YES
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = PWL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PWL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = pwl-devref- at VERSION@-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = @PERL@
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-DOT_FONTNAME           = FreeSans
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/Watchdog/doc/devref.doxyconf-latex.in b/Watchdog/doc/devref.doxyconf-latex.in
deleted file mode 100644
index ddc0d08..0000000
--- a/Watchdog/doc/devref.doxyconf-latex.in
+++ /dev/null
@@ -1,287 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = @VERSION@
-OUTPUT_DIRECTORY       = .
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = YES
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-SYMBOL_CACHE_SIZE      = 0
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = YES
-EXTRACT_PRIVATE        = YES
-EXTRACT_STATIC         = YES
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = NO
-HIDE_UNDOC_CLASSES     = NO
-HIDE_FRIEND_COMPOUNDS  = NO
-HIDE_IN_BODY_DOCS      = NO
-INTERNAL_DOCS          = YES
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = YES
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = Include_Implementation_Details
-MAX_INITIALIZER_LINES  = 5
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = YES
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = YES
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text"
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = @srcdir@/../src/Doubly_Linked_Object.types.hh \
-                         @srcdir@/../src/Doubly_Linked_Object.defs.hh \
-                         @srcdir@/../src/Doubly_Linked_Object.inlines.hh \
-                         @srcdir@/../src/EList.types.hh \
-                         @srcdir@/../src/EList.defs.hh \
-                         @srcdir@/../src/EList.inlines.hh \
-                         @srcdir@/../src/EList_Iterator.types.hh \
-                         @srcdir@/../src/EList_Iterator.defs.hh \
-                         @srcdir@/../src/EList_Iterator.inlines.hh \
-                         @srcdir@/../src/Handler.types.hh \
-                         @srcdir@/../src/Handler.defs.hh \
-                         @srcdir@/../src/Handler.inlines.hh \
-                         @srcdir@/../src/Pending_Element.types.hh \
-                         @srcdir@/../src/Pending_Element.defs.hh \
-                         @srcdir@/../src/Pending_Element.inlines.hh \
-                         @srcdir@/../src/Pending_List.types.hh \
-                         @srcdir@/../src/Pending_List.defs.hh \
-                         @srcdir@/../src/Pending_List.inlines.hh \
-                         @srcdir@/../src/Time.types.hh \
-                         @srcdir@/../src/Time.defs.hh \
-                         @srcdir@/../src/Time.inlines.hh \
-                         @srcdir@/../src/Time.cc \
-                         @srcdir@/../src/Threshold_Watcher.types.hh \
-                         @srcdir@/../src/Threshold_Watcher.defs.hh \
-                         @srcdir@/../src/Threshold_Watcher.inlines.hh \
-                         @srcdir@/../src/Threshold_Watcher.templates.hh \
-                         @srcdir@/../src/Threshold_Watcher.cc \
-                         @srcdir@/../src/Watchdog.types.hh \
-                         @srcdir@/../src/Watchdog.defs.hh \
-                         @srcdir@/../src/Watchdog.inlines.hh \
-                         @srcdir@/../src/Watchdog.cc \
-                         @srcdir@/gpl.dox \
-                         @srcdir@/fdl.dox
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.hh \
-                         *.cc \
-                         *.dox
-RECURSIVE              = YES
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = YES
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION    = YES
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = NO
-HTML_OUTPUT            = pwl-devref- at VERSION@-html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               = 
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-FORMULA_FONTSIZE       = 10
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
-LATEX_OUTPUT           = devref.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = pwl
-LATEX_HEADER           = @srcdir@/devref.tex
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = YES
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = PWL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PWL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = @PERL@
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = YES
-MSCGEN_PATH            = 
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-DOT_FONTNAME           = FreeSans
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = YES
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = YES
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = YES
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/Watchdog/doc/devref.tex b/Watchdog/doc/devref.tex
deleted file mode 100644
index 6c95a7e..0000000
--- a/Watchdog/doc/devref.tex
+++ /dev/null
@@ -1,121 +0,0 @@
-% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-%
-% This document describes the Parma Watchdog Library (PWL).
-%
-% Permission is granted to copy, distribute and/or modify this document
-% under the terms of the GNU Free Documentation License, Version 1.2
-% or any later version published by the Free Software Foundation;
-% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-% The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PWL in files called `fdl.*'.
-%
-% The PWL is free software; you can redistribute it and/or modify it
-% under the terms of the GNU General Public License as published by the
-% Free Software Foundation; either version 3 of the License, or (at your
-% option) any later version.  The license is included, in various
-% formats, in the `doc' subdirectory of each distribution of the PWL in
-% files are called `gpl.*'.
-%
-% The PWL is distributed in the hope that it will be useful, but WITHOUT
-% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-% FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-% for more details.
-%
-% For the most up-to-date information see the Parma Watchdog Library
-% site: http://www.cs.unipr.it/pwl/ .
-
-\documentclass[a4paper]{article}
-\nonstopmode
-\usepackage{a4wide}
-\usepackage{makeidx}
-\usepackage{fancyhdr}
-\usepackage{graphicx}
-\usepackage{float}
-\usepackage{alltt}
-\usepackage{doxygen}
-\usepackage{times}
-\ifx\pdfoutput\undefined
-\usepackage[ps2pdf,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\usepackage{pspicture}
-\else
-\usepackage[pdftex,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\fi
-\usepackage{pwl}
-\makeindex
-\setcounter{tocdepth}{1}
-\renewcommand{\footrulewidth}{0.4pt}
-
-\rfoot[\fancyplain{}{\scriptsize The Parma Watchdog Library Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/pwl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Watchdog Library Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/pwl/} for more information.}}
-
-\begin{document}
-\title{
-The Parma Watchdog Library \\
-Developer's Manual\thanks{This work
-  has been partly supported by:
-  University of Parma's FIL scientific research project (ex 60\%)
-    ``Pure and Applied Mathematics'';
-  MURST project
-    ``Automatic Program Certification by Abstract Interpretation'';
-  MURST project
-    ``Abstract Interpretation, Type Systems and Control-Flow Analysis'';
-  MURST project
-    ``Automatic Aggregate- and Number-Reasoning for Computing: from
-      Decision Algorithms to Constraint Programming with Multisets,
-      Sets, and Maps'';
-  MURST project
-    ``Constraint Based Verification of Reactive Systems'';
-  MURST project
-    ``Abstract Interpretation: Design and Applications''.
-  } \\
-(version $projectnumber)
-}
-\author{
-Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.}
-}
-\maketitle
-
-\newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
-
-This document describes the Parma Watchdog Library (PWL).
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2
-or any later version published by the
-\href{http://www.fsf.org}{Free Software Foundation};
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled
-``\hyperlink{GFDL_GFDL}{GNU Free Documentation License}''.
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-\href{http://www.fsf.org}{Free Software Foundation}; either version 3
-of the License, or (at your option) any later version.
-A copy of the license is included in the section entitled
-``\hyperlink{GPL_GPL}{GNU GENERAL PUBLIC LICENSE}''.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-For the most up-to-date information see the Parma Watchdog Library
-site:
-\begin{center}
-\href{http://www.cs.unipr.it/pwl/}{\tt http://www.cs.unipr.it/pwl/}
-\end{center}
-
-\pagenumbering{roman}
-\tableofcontents
-\pagenumbering{arabic}
diff --git a/Watchdog/doc/fdl.dox b/Watchdog/doc/fdl.dox
deleted file mode 100644
index 43fe58b..0000000
--- a/Watchdog/doc/fdl.dox
+++ /dev/null
@@ -1,407 +0,0 @@
-/*! \page GFDL GNU Free Documentation License
-
-\anchor GFDL
-
-Version 1.2, November 2002
-
-<PRE>
-Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
-51 Franklin St, Fifth Floor, Boston, MA  02110-1301,  USA.
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-</PRE>
-<P>
-<STRONG>0. PREAMBLE</STRONG>
-<P>
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-<P>
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-<P>
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-<P>
-
-<STRONG>1. APPLICABILITY AND DEFINITIONS</STRONG>
-<P>
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The "Document", below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as "you".  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-<P>
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-<P>
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject.  (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-<P>
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-<P>
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-<P>
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not "Transparent" is called "Opaque".
-<P>
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification.  Examples of
-transparent image formats include PNG, XCF and JPG.  Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-<P>
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-<p>
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-<p>
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-<P>
-<STRONG>2. VERBATIM COPYING</STRONG>
-<P>
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-<P>
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-<P>
-
-<STRONG>3. COPYING IN QUANTITY</STRONG>
-<P>
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-<P>
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-<P>
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-<P>
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-<P>
-
-<STRONG>4. MODIFICATIONS</STRONG>
-<P>
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-<P>
-<UL>
-<LI><STRONG>A.</STRONG> Use in the Title Page (and on the covers, if any) a title distinct
-   from that of the Document, and from those of previous versions
-   (which should, if there were any, be listed in the History section
-   of the Document).  You may use the same title as a previous version
-   if the original publisher of that version gives permission.
-<LI><STRONG>B.</STRONG> List on the Title Page, as authors, one or more persons or entities
-   responsible for authorship of the modifications in the Modified
-   Version, together with at least five of the principal authors of the
-   Document (all of its principal authors, if it has fewer than five),
-   unless they release you from this requirement.
-<LI><STRONG>C.</STRONG> State on the Title page the name of the publisher of the
-   Modified Version, as the publisher.
-<LI><STRONG>D.</STRONG> Preserve all the copyright notices of the Document.
-<LI><STRONG>E.</STRONG> Add an appropriate copyright notice for your modifications
-   adjacent to the other copyright notices.
-<LI><STRONG>F.</STRONG> Include, immediately after the copyright notices, a license notice
-   giving the public permission to use the Modified Version under the
-   terms of this License, in the form shown in the Addendum below.
-<LI><STRONG>G.</STRONG> Preserve in that license notice the full lists of Invariant Sections
-   and required Cover Texts given in the Document's license notice.
-<LI><STRONG>H.</STRONG> Include an unaltered copy of this License.
-<LI><STRONG>I.</STRONG> Preserve the section Entitled "History", Preserve its Title, and add
-   to it an item stating at least the title, year, new authors, and
-   publisher of the Modified Version as given on the Title Page.  If
-   there is no section Entitled "History" in the Document, create one
-   stating the title, year, authors, and publisher of the Document as
-   given on its Title Page, then add an item describing the Modified
-   Version as stated in the previous sentence.
-<LI><STRONG>J.</STRONG> Preserve the network location, if any, given in the Document for
-   public access to a Transparent copy of the Document, and likewise
-   the network locations given in the Document for previous versions
-   it was based on.  These may be placed in the "History" section.
-   You may omit a network location for a work that was published at
-   least four years before the Document itself, or if the original
-   publisher of the version it refers to gives permission.
-<LI><STRONG>K.</STRONG> For any section Entitled "Acknowledgements" or "Dedications",
-   Preserve the Title of the section, and preserve in the section all
-   the substance and tone of each of the contributor acknowledgements
-   and/or dedications given therein.
-<LI><STRONG>L.</STRONG> Preserve all the Invariant Sections of the Document,
-   unaltered in their text and in their titles.  Section numbers
-   or the equivalent are not considered part of the section titles.
-<LI><STRONG>M.</STRONG> Delete any section Entitled "Endorsements".  Such a section
-   may not be included in the Modified Version.
-<LI><STRONG>N.</STRONG> Do not retitle any existing section to be Entitled "Endorsements"
-   or to conflict in title with any Invariant Section.
-<LI><STRONG>O.</STRONG> Preserve any Warranty Disclaimers.
-</UL>
-<P>
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-<P>
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-<P>
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-<P>
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-<P>
-
-<STRONG>5. COMBINING DOCUMENTS</STRONG>
-<P>
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-<P>
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-<P>
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications".  You must delete all sections
-Entitled "Endorsements."
-<P>
-
-<STRONG>6. COLLECTIONS OF DOCUMENTS</STRONG>
-<P>
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-<P>
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-<P>
-
-
-<STRONG>7. AGGREGATION WITH INDEPENDENT WORKS</STRONG>
-<P>
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-<P>
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-<P>
-
-<STRONG>8. TRANSLATION</STRONG>
-<P>
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-<p>
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-<P>
-
-<STRONG>9. TERMINATION</STRONG>
-<P>
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-<P>
-
-<STRONG>10. FUTURE REVISIONS OF THIS LICENSE</STRONG>
-<P>
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-<A HREF="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</A>.
-<P>
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-<P>
-
-<H2>How to use this License for your documents</H2>
-<P>
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-<P>
-<PRE>
-      Copyright (c)  YEAR  YOUR NAME.
-      Permission is granted to copy, distribute and/or modify this document
-      under the terms of the GNU Free Documentation License, Version 1.2
-      or any later version published by the Free Software Foundation;
-      with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-      Texts.  A copy of the license is included in the section entitled
-      "GNU Free Documentation License".
-</PRE>
-<P>
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-<p>
-<pre>
-    with the Invariant Sections being LIST THEIR TITLES, with the
-    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-</pre>
-<p>
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-<p>
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-*/
diff --git a/Watchdog/doc/fdl.pdf b/Watchdog/doc/fdl.pdf
deleted file mode 100644
index 44370d0..0000000
Binary files a/Watchdog/doc/fdl.pdf and /dev/null differ
diff --git a/Watchdog/doc/fdl.ps.gz b/Watchdog/doc/fdl.ps.gz
deleted file mode 100644
index 49dd747..0000000
Binary files a/Watchdog/doc/fdl.ps.gz and /dev/null differ
diff --git a/Watchdog/doc/fdl.tex b/Watchdog/doc/fdl.tex
deleted file mode 100644
index fa38f28..0000000
--- a/Watchdog/doc/fdl.tex
+++ /dev/null
@@ -1,454 +0,0 @@
-\documentclass[a4paper,12pt]{article}
-
-\usepackage[english]{babel}
-
-\begin{document}
-
-
-\title{GNU Free Documentation License}
-\date{}
-\author{}
-\maketitle
-
- \begin{center}
-
-       Version 1.2, November 2002
-
-
- Copyright \copyright 2000,2001,2002  Free Software Foundation, Inc.
-
- \bigskip
-
-     51 Franklin St, Fifth Floor, Boston, MA  02110-1301,  USA
-
- \bigskip
-
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-\end{center}
-
-
-\section*{Preamble}
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-\section{Applicability and Definitions}
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The \textbf{"Document"}, below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as \textbf{"you"}.  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A \textbf{"Modified Version"} of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A \textbf{"Secondary Section"} is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject.  (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The \textbf{"Invariant Sections"} are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The \textbf{"Cover Texts"} are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A \textbf{"Transparent"} copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not "Transparent" is called \textbf{"Opaque"}.
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification.  Examples of
-transparent image formats include PNG, XCF and JPG.  Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The \textbf{"Title Page"} means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section \textbf{"Entitled XYZ"} means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as \textbf{"Acknowledgements"},
-\textbf{"Dedications"}, \textbf{"Endorsements"}, or \textbf{"History"}.)
-To \textbf{"Preserve the Title"}
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-
-\section{Verbatim Copying}
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-\section{Copying in Quantity}
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-
-\section{Modifications}
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-\begin{itemize}
-\item[A.]
-   Use in the Title Page (and on the covers, if any) a title distinct
-   from that of the Document, and from those of previous versions
-   (which should, if there were any, be listed in the History section
-   of the Document).  You may use the same title as a previous version
-   if the original publisher of that version gives permission.
-
-\item[B.]
-   List on the Title Page, as authors, one or more persons or entities
-   responsible for authorship of the modifications in the Modified
-   Version, together with at least five of the principal authors of the
-   Document (all of its principal authors, if it has fewer than five),
-   unless they release you from this requirement.
-
-\item[C.]
-   State on the Title page the name of the publisher of the
-   Modified Version, as the publisher.
-
-\item[D.]
-   Preserve all the copyright notices of the Document.
-
-\item[E.]
-   Add an appropriate copyright notice for your modifications
-   adjacent to the other copyright notices.
-
-\item[F.]
-   Include, immediately after the copyright notices, a license notice
-   giving the public permission to use the Modified Version under the
-   terms of this License, in the form shown in the Addendum below.
-
-\item[G.]
-   Preserve in that license notice the full lists of Invariant Sections
-   and required Cover Texts given in the Document's license notice.
-
-\item[H.]
-   Include an unaltered copy of this License.
-
-\item[I.]
-   Preserve the section Entitled "History", Preserve its Title, and add
-   to it an item stating at least the title, year, new authors, and
-   publisher of the Modified Version as given on the Title Page.  If
-   there is no section Entitled "History" in the Document, create one
-   stating the title, year, authors, and publisher of the Document as
-   given on its Title Page, then add an item describing the Modified
-   Version as stated in the previous sentence.
-
-\item[J.]
-   Preserve the network location, if any, given in the Document for
-   public access to a Transparent copy of the Document, and likewise
-   the network locations given in the Document for previous versions
-   it was based on.  These may be placed in the "History" section.
-   You may omit a network location for a work that was published at
-   least four years before the Document itself, or if the original
-   publisher of the version it refers to gives permission.
-
-\item[K.]
-   For any section Entitled "Acknowledgements" or "Dedications",
-   Preserve the Title of the section, and preserve in the section all
-   the substance and tone of each of the contributor acknowledgements
-   and/or dedications given therein.
-
-\item[L.]
-   Preserve all the Invariant Sections of the Document,
-   unaltered in their text and in their titles.  Section numbers
-   or the equivalent are not considered part of the section titles.
-
-\item[M.]
-   Delete any section Entitled "Endorsements".  Such a section
-   may not be included in the Modified Version.
-
-\item[N.]
-   Do not retitle any existing section to be Entitled "Endorsements"
-   or to conflict in title with any Invariant Section.
-
-\item[O.]
-   Preserve any Warranty Disclaimers.
-\end{itemize}
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-\section{Combining Documents}
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications".  You must delete all sections
-Entitled "Endorsements".
-
-\section{Collections of Documents}
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-
-\section{Aggregation with Independent Works}
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-\section{Translation}
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-\section{Termination}
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-
-\section{Future Revisions of this License}
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-
-\section*{Addendum: How To Use this License for Your Documents}
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-\begin{quote}
-    Copyright \copyright  YEAR  YOUR NAME.
-    Permission is granted to copy, distribute and/or modify this document
-    under the terms of the GNU Free Documentation License, Version 1.2
-    or any later version published by the Free Software Foundation;
-    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-    A copy of the license is included in the section entitled "GNU
-    Free Documentation License".
-\end{quote}
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
-\begin{quote}
-    with the Invariant Sections being LIST THEIR TITLES, with the
-    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-\end{quote}
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
-
-\end{document}
diff --git a/Watchdog/doc/fdl.txt b/Watchdog/doc/fdl.txt
deleted file mode 100644
index 4a0fe1c..0000000
--- a/Watchdog/doc/fdl.txt
+++ /dev/null
@@ -1,397 +0,0 @@
-		GNU Free Documentation License
-		  Version 1.2, November 2002
-
-
- Copyright (C) 2000,2001,2002  Free Software Foundation, Inc.
-     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense.  It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does.  But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book.  We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License.  Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein.  The "Document", below,
-refers to any such manual or work.  Any member of the public is a
-licensee, and is addressed as "you".  You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall subject
-(or to related matters) and contains nothing that could fall directly
-within that overall subject.  (Thus, if the Document is in part a
-textbook of mathematics, a Secondary Section may not explain any
-mathematics.)  The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License.  If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant.  The Document may contain zero
-Invariant Sections.  If the Document does not identify any Invariant
-Sections then there are none.
-
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License.  A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters.  A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text.  A copy that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification.  Examples of
-transparent image formats include PNG, XCF and JPG.  Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page.  For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language.  (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".)  To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document.  These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no other
-conditions whatsoever to those of this License.  You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute.  However, you may accept
-compensation in exchange for copies.  If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover.  Both covers must also clearly and legibly identify
-you as the publisher of these copies.  The front cover must present
-the full title with all words of the title equally prominent and
-visible.  You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to give
-them a chance to provide you with an updated version of the Document.
-
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it.  In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
-   from that of the Document, and from those of previous versions
-   (which should, if there were any, be listed in the History section
-   of the Document).  You may use the same title as a previous version
-   if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities
-   responsible for authorship of the modifications in the Modified
-   Version, together with at least five of the principal authors of the
-   Document (all of its principal authors, if it has fewer than five),
-   unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the
-   Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications
-   adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice
-   giving the public permission to use the Modified Version under the
-   terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections
-   and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
-   to it an item stating at least the title, year, new authors, and
-   publisher of the Modified Version as given on the Title Page.  If
-   there is no section Entitled "History" in the Document, create one
-   stating the title, year, authors, and publisher of the Document as
-   given on its Title Page, then add an item describing the Modified
-   Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for
-   public access to a Transparent copy of the Document, and likewise
-   the network locations given in the Document for previous versions
-   it was based on.  These may be placed in the "History" section.
-   You may omit a network location for a work that was published at
-   least four years before the Document itself, or if the original
-   publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
-   Preserve the Title of the section, and preserve in the section all
-   the substance and tone of each of the contributor acknowledgements
-   and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document,
-   unaltered in their text and in their titles.  Section numbers
-   or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements".  Such a section
-   may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
-   or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant.  To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version.  Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity.  If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy.  If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications".  You must delete all sections
-Entitled "Endorsements".
-
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other documents
-released under this License, and replace the individual copies of this
-License in the various documents with a single copy that is included in
-the collection, provided that you follow the rules of this License for
-verbatim copying of each of the documents in all other respects.
-
-You may extract a single document from such a collection, and distribute
-it individually under this License, provided you insert a copy of this
-License into the extracted document, and follow this License in all
-other respects regarding verbatim copying of that document.
-
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections.  You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers.  In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions
-of the GNU Free Documentation License from time to time.  Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.  See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation.  If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
-
-
-ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
-    Copyright (c)  YEAR  YOUR NAME.
-    Permission is granted to copy, distribute and/or modify this document
-    under the terms of the GNU Free Documentation License, Version 1.2
-    or any later version published by the Free Software Foundation;
-    with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-    A copy of the license is included in the section entitled "GNU
-    Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
-    with the Invariant Sections being LIST THEIR TITLES, with the
-    Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
diff --git a/Watchdog/doc/gpl.dox b/Watchdog/doc/gpl.dox
deleted file mode 100644
index c1122ac..0000000
--- a/Watchdog/doc/gpl.dox
+++ /dev/null
@@ -1,686 +0,0 @@
-/*! \page GPL GNU General Public License
-
-\anchor GPL
-
-Version 3, 29 June 2007
-
-<p>Copyright (C) 2007 Free Software Foundation, Inc. <a href="http://fsf.org/">http://fsf.org/</a></p><p>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.</p>
-
-<h1>Preamble</h1>
-
-<p>The GNU General Public License is a free, copyleft license for
-software and other kinds of works.</p>
-
-<p>The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.</p>
-
-<p>When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.</p>
-
-<p>To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.</p>
-
-<p>For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.</p>
-
-<p>Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.</p>
-
-<p>For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.</p>
-
-<p>Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.</p>
-
-<p>Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.</p>
-
-<p>The precise terms and conditions for copying, distribution and
-modification follow.</p>
-
-<h1>TERMS AND CONDITIONS</h1>
-
-<h2>0. Definitions.</h2>
-
-<p>“This License” refers to version 3 of the GNU General Public License.</p>
-
-<p>“Copyright” also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.</p>
-
-<p>“The Program” refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as “you”.  “Licensees” and
-“recipients” may be individuals or organizations.</p>
-
-<p>To “modify” a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a “modified version” of the
-earlier work or a work “based on” the earlier work.</p>
-
-<p>A “covered work” means either the unmodified Program or a work based
-on the Program.</p>
-
-<p>To “propagate” a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.</p>
-
-<p>To “convey” a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.</p>
-
-<p>An interactive user interface displays “Appropriate Legal Notices”
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.</p>
-
-<h2>1. Source Code.</h2>
-
-<p>The “source code” for a work means the preferred form of the work
-for making modifications to it.  “Object code” means any non-source
-form of a work.</p>
-
-<p>A “Standard Interface” means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.</p>
-
-<p>The “System Libraries” of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-“Major Component”, in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.</p>
-
-<p>The “Corresponding Source” for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.</p>
-
-<p>The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.</p>
-
-<p>The Corresponding Source for a work in source code form is that
-same work.</p>
-
-<h2>2. Basic Permissions.</h2>
-
-<p>All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.</p>
-
-<p>You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.</p>
-
-<p>Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.</p>
-
-<h2>3. Protecting Users' Legal Rights From Anti-Circumvention Law.</h2>
-
-<p>No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.</p>
-
-<p>When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.</p>
-
-<h2>4. Conveying Verbatim Copies.</h2>
-
-<p>You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.</p>
-
-<p>You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.</p>
-
-<h2>5. Conveying Modified Source Versions.</h2>
-
-<p>You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:</p>
-
-<ul>
-<li>a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.</li>
-
-<li>b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    “keep intact all notices”.</li>
-
-<li>c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.</li>
-
-<li>d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.</li>
-</ul>
-
-<p>A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-“aggregate” if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.</p>
-
-<h2>6. Conveying Non-Source Forms.</h2>
-
-<p>You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:</p>
-
-<ul>
-<li>a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.</li>
-
-<li>b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.</li>
-
-<li>c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.</li>
-
-<li>d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.</li>
-
-<li>e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.</li>
-</ul>
-
-<p>A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.</p>
-
-<p>A “User Product” is either (1) a “consumer product”, which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, “normally used” refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.</p>
-
-<p>“Installation Information” for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.</p>
-
-<p>If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).</p>
-
-<p>The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.</p>
-
-<p>Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.</p>
-
-<h2>7. Additional Terms.</h2>
-
-<p>“Additional permissions” are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.</p>
-
-<p>When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.</p>
-
-<p>Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:</p>
-
-<ul>
-<li>a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or</li>
-
-<li>b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or</li>
-
-<li>c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or</li>
-
-<li>d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or</li>
-
-<li>e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or</li>
-
-<li>f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.</li>
-</ul>
-
-<p>All other non-permissive additional terms are considered “further
-restrictions” within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.</p>
-
-<p>If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.</p>
-
-<p>Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.</p>
-
-<h2>8. Termination.</h2>
-
-<p>You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).</p>
-
-<p>However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.</p>
-
-<p>Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.</p>
-
-<p>Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.</p>
-
-<h2>9. Acceptance Not Required for Having Copies.</h2>
-
-<p>You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.</p>
-
-<h2>10. Automatic Licensing of Downstream Recipients.</h2>
-
-<p>Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.</p>
-
-<p>An “entity transaction” is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.</p>
-
-<p>You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.</p>
-
-<h2>11. Patents.</h2>
-
-<p>A “contributor” is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's “contributor version”.</p>
-
-<p>A contributor's “essential patent claims” are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, “control” includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.</p>
-
-<p>Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.</p>
-
-<p>In the following three paragraphs, a “patent license” is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To “grant” such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.</p>
-
-<p>If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  “Knowingly relying” means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.</p>
-
-<p>If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.</p>
-
-<p>A patent license is “discriminatory” if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.</p>
-
-<p>Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.</p>
-
-<h2>12. No Surrender of Others' Freedom.</h2>
-
-<p>If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.</p>
-
-<h2>13. Use with the GNU Affero General Public License.</h2>
-
-<p>Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.</p>
-
-<h2>14. Revised Versions of this License.</h2>
-
-<p>The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.</p>
-
-<p>Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License “or any later version” applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.</p>
-
-<p>If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.</p>
-
-<p>Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.</p>
-
-<h2>15. Disclaimer of Warranty.</h2>
-
-<p>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
-
-<h2>16. Limitation of Liability.</h2>
-
-<p>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.</p>
-
-<h2>17. Interpretation of Sections 15 and 16.</h2>
-
-<p>If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.</p>
-
-<p>END OF TERMS AND CONDITIONS</p>
-
-<h1>How to Apply These Terms to Your New Programs</h1>
-
-<p>If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.</p>
-
-<p>To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the “copyright” line and a pointer to where the full notice is found.</p>
-
-<pre>    <var>one line to give the program's name and a brief idea of what it does.</var>
-    Copyright (C) <var>year</var>  <var>name of author</var>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.
-</pre>
-
-<p>Also add information on how to contact you by electronic and paper mail.</p>
-
-<p>If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:</p>
-
-<pre>    <var>program</var>  Copyright (C) <var>year</var>  <var>name of author</var>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-</pre>
-
-<p>The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an “about box”.</p>
-
-<p>You should also get your employer (if you work as a programmer) or school,
-if any, to sign a “copyright disclaimer” for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<a href="http://www.gnu.org/licenses/">http://www.gnu.org/licenses/</a>.</p>
-
-<p>The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<a href="http://www.gnu.org/philosophy/why-not-lgpl.html">http://www.gnu.org/philosophy/why-not-lgpl.html</a>.</p>
-*/
diff --git a/Watchdog/doc/gpl.pdf b/Watchdog/doc/gpl.pdf
deleted file mode 100644
index bbf226d..0000000
Binary files a/Watchdog/doc/gpl.pdf and /dev/null differ
diff --git a/Watchdog/doc/gpl.ps.gz b/Watchdog/doc/gpl.ps.gz
deleted file mode 100644
index 956671b..0000000
Binary files a/Watchdog/doc/gpl.ps.gz and /dev/null differ
diff --git a/Watchdog/doc/gpl.tex b/Watchdog/doc/gpl.tex
deleted file mode 100644
index 1e867c3..0000000
--- a/Watchdog/doc/gpl.tex
+++ /dev/null
@@ -1,728 +0,0 @@
-\documentclass[a4paper,12pt]{article}
-\usepackage{a4wide}
-\usepackage{times}
-\usepackage[T1]{fontenc}
-\usepackage[english]{babel}
-
-\title{GNU GENERAL PUBLIC LICENSE}
-\date{Version 3, 29 June 2007}
-
-\begin{document}
-\maketitle
-
-\begin{center}
-{\parindent 0in
-
-Copyright \copyright\  2007 Free Software Foundation, Inc. http://fsf.org/
-
-\bigskip
-Everyone is permitted to copy and distribute verbatim copies of this
-
-license document, but changing it is not allowed.}
-
-\end{center}
-
-\renewcommand{\abstractname}{Preamble}
-\begin{abstract}
-The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-\end{abstract}
-
-\begin{center}
-{\Large \sc Terms and Conditions}
-\end{center}
-
-
-\begin{enumerate}
-
-\addtocounter{enumi}{-1}
-
-\item Definitions.
-
-``This License'' refers to version 3 of the GNU General Public License.
-
-``Copyright'' also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-``The Program'' refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as ``you''.  ``Licensees'' and
-``recipients'' may be individuals or organizations.
-
-To ``modify'' a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a ``modified version'' of the
-earlier work or a work ``based on'' the earlier work.
-
-A ``covered work'' means either the unmodified Program or a work based
-on the Program.
-
-To ``propagate'' a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-To ``convey'' a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-An interactive user interface displays ``Appropriate Legal Notices''
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-\item Source Code.
-
-The ``source code'' for a work means the preferred form of the work
-for making modifications to it.  ``Object code'' means any non-source
-form of a work.
-
-A ``Standard Interface'' means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-The ``System Libraries'' of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-``Major Component'', in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-The ``Corresponding Source'' for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-The Corresponding Source for a work in source code form is that
-same work.
-
-\item Basic Permissions.
-
-All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-\item Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-\item Conveying Verbatim Copies.
-
-You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-\item Conveying Modified Source Versions.
-
-You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-  \begin{enumerate}
-  \item The work must carry prominent notices stating that you modified
-  it, and giving a relevant date.
-
-  \item The work must carry prominent notices stating that it is
-  released under this License and any conditions added under section
-  7.  This requirement modifies the requirement in section 4 to
-  ``keep intact all notices''.
-
-  \item You must license the entire work, as a whole, under this
-  License to anyone who comes into possession of a copy.  This
-  License will therefore apply, along with any applicable section 7
-  additional terms, to the whole of the work, and all its parts,
-  regardless of how they are packaged.  This License gives no
-  permission to license the work in any other way, but it does not
-  invalidate such permission if you have separately received it.
-
-  \item If the work has interactive user interfaces, each must display
-  Appropriate Legal Notices; however, if the Program has interactive
-  interfaces that do not display Appropriate Legal Notices, your
-  work need not make them do so.
-\end{enumerate}
-A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-``aggregate'' if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-\item Conveying Non-Source Forms.
-
-You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-  \begin{enumerate}
-  \item Convey the object code in, or embodied in, a physical product
-  (including a physical distribution medium), accompanied by the
-  Corresponding Source fixed on a durable physical medium
-  customarily used for software interchange.
-
-  \item Convey the object code in, or embodied in, a physical product
-  (including a physical distribution medium), accompanied by a
-  written offer, valid for at least three years and valid for as
-  long as you offer spare parts or customer support for that product
-  model, to give anyone who possesses the object code either (1) a
-  copy of the Corresponding Source for all the software in the
-  product that is covered by this License, on a durable physical
-  medium customarily used for software interchange, for a price no
-  more than your reasonable cost of physically performing this
-  conveying of source, or (2) access to copy the
-  Corresponding Source from a network server at no charge.
-
-  \item Convey individual copies of the object code with a copy of the
-  written offer to provide the Corresponding Source.  This
-  alternative is allowed only occasionally and noncommercially, and
-  only if you received the object code with such an offer, in accord
-  with subsection 6b.
-
-  \item Convey the object code by offering access from a designated
-  place (gratis or for a charge), and offer equivalent access to the
-  Corresponding Source in the same way through the same place at no
-  further charge.  You need not require recipients to copy the
-  Corresponding Source along with the object code.  If the place to
-  copy the object code is a network server, the Corresponding Source
-  may be on a different server (operated by you or a third party)
-  that supports equivalent copying facilities, provided you maintain
-  clear directions next to the object code saying where to find the
-  Corresponding Source.  Regardless of what server hosts the
-  Corresponding Source, you remain obligated to ensure that it is
-  available for as long as needed to satisfy these requirements.
-
-  \item Convey the object code using peer-to-peer transmission, provided
-  you inform other peers where the object code and Corresponding
-  Source of the work are being offered to the general public at no
-  charge under subsection 6d.
-  \end{enumerate}
-
-A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-A ``User Product'' is either (1) a ``consumer product'', which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, ``normally used'' refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-``Installation Information'' for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-\item Additional Terms.
-
-``Additional permissions'' are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-  \begin{enumerate}
-  \item Disclaiming warranty or limiting liability differently from the
-  terms of sections 15 and 16 of this License; or
-
-  \item Requiring preservation of specified reasonable legal notices or
-  author attributions in that material or in the Appropriate Legal
-  Notices displayed by works containing it; or
-
-  \item Prohibiting misrepresentation of the origin of that material, or
-  requiring that modified versions of such material be marked in
-  reasonable ways as different from the original version; or
-
-  \item Limiting the use for publicity purposes of names of licensors or
-  authors of the material; or
-
-  \item Declining to grant rights under trademark law for use of some
-  trade names, trademarks, or service marks; or
-
-  \item Requiring indemnification of licensors and authors of that
-  material by anyone who conveys the material (or modified versions of
-  it) with contractual assumptions of liability to the recipient, for
-  any liability that these contractual assumptions directly impose on
-  those licensors and authors.
-  \end{enumerate}
-
-All other non-permissive additional terms are considered ``further
-restrictions'' within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-\item Termination.
-
-You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-\item Acceptance Not Required for Having Copies.
-
-You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-\item Automatic Licensing of Downstream Recipients.
-
-Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-An ``entity transaction'' is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-\item Patents.
-
-A ``contributor'' is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's ``contributor version''.
-
-A contributor's ``essential patent claims'' are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, ``control'' includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-In the following three paragraphs, a ``patent license'' is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To ``grant'' such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  ``Knowingly relying'' means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-A patent license is ``discriminatory'' if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-\item No Surrender of Others' Freedom.
-
-If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-\item Use with the GNU Affero General Public License.
-
-Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-\item Revised Versions of this License.
-
-The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License ``or any later version'' applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-\item Disclaimer of Warranty.
-
-\begin{sloppypar}
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
- APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE
- COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS''
- WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE
- RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
- SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
- NECESSARY SERVICING, REPAIR OR CORRECTION.
-\end{sloppypar}
-
-\item Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
- WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES
- AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
- DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
- DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
- (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
- INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE
- OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH
- HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGES.
-
-\item Interpretation of Sections 15 and 16.
-
-If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-\begin{center}
-{\Large\sc End of Terms and Conditions}
-
-How to Apply These Terms to Your New Programs
-
-\end{center}
-
-If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-
-\begin{quote}
-  <one line to give the program's name and a brief idea of what it does.>
-
-  Copyright (C) <year>  <name of author>
-
-  This program is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  This program is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with this program.  If not, see
-  http://www.gnu.org/licenses/.
-
-\end{quote}
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-\begin{quote}
-  <program>  Copyright (C) <year>  <name of author>
-
-  This program comes with ABSOLUTELY NO WARRANTY; for details type
-{\tt show w}.
-  This is free software, and you are welcome to redistribute it
-  under certain conditions; type {\tt show c} for details.
-\end{quote}
-
-The hypothetical commands {\tt show w} and {\tt show c} should show
-the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an ``about box''.
-
-You should also get your employer (if you work as a programmer) or
-school, if any, to sign a ``copyright disclaimer'' for the program, if
-necessary.  For more information on this, and how to apply and follow
-the GNU GPL, see http://www.gnu.org/licenses/.
-
-The GNU General Public License does not permit incorporating your
-program into proprietary programs.  If your program is a subroutine
-library, you may consider it more useful to permit linking proprietary
-applications with the library.  If this is what you want to do, use
-the GNU Lesser General Public License instead of this License.  But
-first, please read http://www.gnu.org/philosophy/why-not-lgpl.html.
-
-\end{enumerate}
-
-\end{document}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: t
-%%% End:
-
diff --git a/Watchdog/doc/gpl.txt b/Watchdog/doc/gpl.txt
deleted file mode 100644
index 94a9ed0..0000000
--- a/Watchdog/doc/gpl.txt
+++ /dev/null
@@ -1,674 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/Watchdog/doc/pwl-user-0.8-html.tar.gz b/Watchdog/doc/pwl-user-0.8-html.tar.gz
deleted file mode 100644
index 5155eb8..0000000
Binary files a/Watchdog/doc/pwl-user-0.8-html.tar.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.8.pdf b/Watchdog/doc/pwl-user-0.8.pdf
deleted file mode 100644
index 7ed4d44..0000000
Binary files a/Watchdog/doc/pwl-user-0.8.pdf and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.8.ps.gz b/Watchdog/doc/pwl-user-0.8.ps.gz
deleted file mode 100644
index 1a37daa..0000000
Binary files a/Watchdog/doc/pwl-user-0.8.ps.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl.sty b/Watchdog/doc/pwl.sty
deleted file mode 100644
index 3a40ad4..0000000
--- a/Watchdog/doc/pwl.sty
+++ /dev/null
@@ -1,179 +0,0 @@
-%% LaTeX package providing macros for typesetting the PPL manuals.
-%% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-%% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-%%
-%% This file is part of the Parma Watchdog Library (PWL).
-%%
-%% The PWL is free software; you can redistribute it and/or modify it
-%% under the terms of the GNU General Public License as published by the
-%% Free Software Foundation; either version 3 of the License, or (at your
-%% option) any later version.
-%%
-%% The PWL is distributed in the hope that it will be useful, but WITHOUT
-%% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-%% FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-%% for more details.
-%%
-%% You should have received a copy of the GNU General Public License
-%% along with this program; if not, write to the Free Software Foundation,
-%% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-%%
-%% For the most up-to-date information see the Parma Watchdog Library
-%% site: http://www.cs.unipr.it/pwl/ .
-
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pwl}
-\RequirePackage{amsmath}
-\RequirePackage{amssymb}
-
-%% Calligraphic alphabet
-\newcommand*{\cA}{\ensuremath{\mathcal{A}}}
-\newcommand*{\cB}{\ensuremath{\mathcal{B}}}
-\newcommand*{\cC}{\ensuremath{\mathcal{C}}}
-\newcommand*{\cD}{\ensuremath{\mathcal{D}}}
-\newcommand*{\cE}{\ensuremath{\mathcal{E}}}
-\newcommand*{\cF}{\ensuremath{\mathcal{F}}}
-\newcommand*{\cG}{\ensuremath{\mathcal{G}}}
-\newcommand*{\cH}{\ensuremath{\mathcal{H}}}
-\newcommand*{\cI}{\ensuremath{\mathcal{I}}}
-\newcommand*{\cJ}{\ensuremath{\mathcal{J}}}
-\newcommand*{\cK}{\ensuremath{\mathcal{K}}}
-\newcommand*{\cL}{\ensuremath{\mathcal{L}}}
-\newcommand*{\cM}{\ensuremath{\mathcal{M}}}
-\newcommand*{\cN}{\ensuremath{\mathcal{N}}}
-\newcommand*{\cO}{\ensuremath{\mathcal{O}}}
-\newcommand*{\cP}{\ensuremath{\mathcal{P}}}
-\newcommand*{\cQ}{\ensuremath{\mathcal{Q}}}
-\newcommand*{\cR}{\ensuremath{\mathcal{R}}}
-\newcommand*{\cS}{\ensuremath{\mathcal{S}}}
-\newcommand*{\cT}{\ensuremath{\mathcal{T}}}
-\newcommand*{\cU}{\ensuremath{\mathcal{U}}}
-\newcommand*{\cV}{\ensuremath{\mathcal{V}}}
-\newcommand*{\cW}{\ensuremath{\mathcal{W}}}
-\newcommand*{\cX}{\ensuremath{\mathcal{X}}}
-\newcommand*{\cY}{\ensuremath{\mathcal{Y}}}
-\newcommand*{\cZ}{\ensuremath{\mathcal{Z}}}
-
-%% Special letters denoting sets and algebras.
-\providecommand*{\Nset}{\mathbb{N}}            % Naturals
-\newcommand*{\extNset}{\mathbb{N}_\infty}      % Extended naturals
-\providecommand*{\Oset}{\mathbb{O}}            % Ordinals
-\providecommand*{\Qset}{\mathbb{Q}}            % Rationals
-\providecommand*{\Rset}{\mathbb{R}}            % Reals
-\providecommand*{\nonnegRset}{\mathbb{R}_{\scriptscriptstyle{+}}}
-                                               % Non-negative reals
-\newcommand*{\extRset}{\Rset_\infty}           % Extended reals
-\providecommand*{\Zset}{\mathbb{Z}}            % Integers
-\providecommand*{\CPset}{\mathbb{CP}}          % Closed polyhedra
-\providecommand*{\Pset}{\mathbb{P}}            % (NNC) polyhedra
-\providecommand*{\Sset}{\mathbb{S}}            % Reals or rationals
-
-%% Grid notation
-\providecommand*{\Gset}{\mathbb{G}}            % Grid
-\providecommand*{\cg}{\mathord{\mathrm{cg}}}   % Congruence
-\newcommand*{\gcon}{\mathop{\mathrm{gcon}}\nolimits}
-                                               % Grid from congruence system
-\newcommand*{\ggen}{\mathop{\mathrm{ggen}}\nolimits}
-                                               % Grid from generator system
-
-%% Function notation
-\newcommand*{\fund}[3]{\mathord{#1}\colon#2\rightarrow#3}
-\newcommand*{\pard}[3]{\mathord{#1}\colon#2\rightarrowtail#3}
-
-%% Relation notation
-\newcommand*{\reld}[3]{\mathord{#1}\subseteq#2\times#3}
-
-%% Set theory.
-\renewcommand*{\emptyset}{\mathord{\varnothing}}
-\newcommand*{\sseq}{\subseteq}
-\newcommand*{\sseqf}{\mathrel{\subseteq_\mathrm{f}}}
-\newcommand*{\sslt}{\subset}
-\newcommand*{\Sseq}{\supseteq}
-\newcommand*{\Ssgt}{\supset}
-\newcommand*{\inters}{\cap}
-\newcommand*{\setdiff}{\setminus}
-\newcommand*{\union}{\cup}
-\newcommand*{\card}{\mathop{\#}\nolimits}
-\newcommand*{\sset}[2]{{\renewcommand*{\arraystretch}{1.2}
-                      \left\{\,#1 \,\left|\,
-                               \begin{array}{@{}l@{}}#2\end{array}
-                      \right.   \,\right\}}}
-\newcommand*{\meet}{\mathbin{\otimes}}
-\newcommand*{\join}{\mathbin{\oplus}}
-
-%% Logic notation.
-\newcommand*{\entails}{\mathrel{\vdash}}
-\newcommand*{\sentails}{\mathrel{\Vdash}}
-\newcommand*{\Nentails}{\mathrel{\nvdash}}
-\newcommand*{\Nsentails}{\mathrel{\nVdash}}
-\newcommand*{\entailss}[1]{\mathrel{\vdash_{#1}}}
-\newcommand*{\Entailss}[1]{\mathrel{\dashv_{#1}}}
-\newcommand*{\sentailss}[1]{\mathrel{\Vdash_{#1}}}
-\newcommand*{\Nentailss}[1]{\mathrel{\nvdash_{#1}}}
-\newcommand*{\bigland}{\mathop{\bigwedge}\limits}
-\newcommand*{\biglor}{\mathop{\bigvee}\limits}
-\newcommand*{\piff}{\mathrel{\leftrightarrow}}
-\newcommand*{\pimplies}{\mathrel{\rightarrow}}
-\newcommand*{\pimplied}{\mathrel{\leftarrow}}
-\newcommand*{\st}{\mathrel{.}}
-\newcommand*{\itc}{\mathrel{:}}
-
-%% Integer division and reminder binary operators.
-\newcommand*{\bdiv}{\mathbin{\mathrm{div}}}
-\newcommand*{\brem}{\mathbin{\mathrm{rem}}}
-
-
-%% True and false
-\newcommand*{\false}{\mathord{\textbf{\textup{0}}}}
-\newcommand*{\true}{\mathord{\textbf{\textup{1}}}}
-
-%% Things that hold by definition.
-\newcommand*{\defrel}[1]{\mathrel{\buildrel \mathrm{def} \over {#1}}}
-\newcommand*{\defeq}{\defrel{=}}
-\newcommand*{\defiff}{\defrel{\Longleftrightarrow}}
-
-% Arbitrary relation symbol.
-\newcommand*{\relsym}{\mathrel{\bowtie}}
-\newcommand*{\relsyms}[1]{\mathrel{\bowtie_{#1}}}
-
-% Vectors.
-\renewcommand*{\vec}[1]{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
-{\mbox{\boldmath$\textstyle#1$}}
-{\mbox{\boldmath$\scriptstyle#1$}}
-{\mbox{\boldmath$\scriptscriptstyle#1$}}}
-
-\newcommand*{\vect}[1]{\vec{#1}}
-
-% Matrix functions.
-\newcommand*{\transpose}{\mathrm{T}}
-
-% Hulls.
-\newcommand*{\linearhull}{\mathop{\mathrm{linear.hull}}}
-\newcommand*{\conichull}{\mathop{\mathrm{conic.hull}}}
-\newcommand*{\affinehull}{\mathop{\mathrm{affine.hull}}}
-\newcommand*{\convexhull}{\mathop{\mathrm{convex.hull}}}
-\newcommand*{\NNChull}{\mathop{\mathrm{nnc.hull}}}
-\newcommand*{\inthull}{\mathop{\mathrm{int.hull}}}
-\newcommand*{\intaffinehull}{\mathop{\mathrm{int.affine.hull}}}
-
-% Polyhedron functions.
-\newcommand*{\prank}{\mathop{\mathrm{rank}}}
-\newcommand*{\pdim}{\mathop{\mathrm{dim}}}
-\newcommand*{\linspace}{\mathop{\mathrm{lin.space}}}
-\newcommand*{\cone}{\mathop{\mathrm{cone}}}
-
-% Widening
-\newcommand*{\widen}{\mathrel{\nabla}}
-
-% Powerset notation
-\newcommand*{\pnonredmap}{\mathop{\Omega^{\scriptscriptstyle\sseq}_{\scriptscriptstyle {\CPset_n}}}\nolimits}
-\newcommand*{\pnonredmapi}[1]{\mathop{\Omega^{\scriptscriptstyle\sseq}_{\scriptscriptstyle {\CPset_{#1}}}}\nolimits}
-\newcommand*{\nonredmap}{\mathop{\Omega^{\scriptscriptstyle\entails}_{\scriptscriptstyle D}}\nolimits}
-
-\newcommand*{\wpf}{\mathop{\wp_\mathrm{f}}\nolimits}
-\newcommand*{\wpfn}[2]{\mathord{\wp_\mathrm{fn}^{\scriptscriptstyle #2}}(#1)}
-
-\newcommand*{\smallP}{{\scriptscriptstyle\mathrm{P}}}
-\newcommand*{\entailsP}{\entailss{\smallP}}
-\newcommand*{\NentailsP}{\Nentailss{\smallP}}
-\newcommand*{\sentailsP}{\sentailss{\smallP}}
diff --git a/Watchdog/doc/user.doxyconf-html.in b/Watchdog/doc/user.doxyconf-html.in
deleted file mode 100644
index e6cedfb..0000000
--- a/Watchdog/doc/user.doxyconf-html.in
+++ /dev/null
@@ -1,255 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = @VERSION@
-OUTPUT_DIRECTORY       = .
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = NO
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-SYMBOL_CACHE_SIZE      = 0
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = NO
-EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = YES
-HIDE_UNDOC_CLASSES     = YES
-HIDE_FRIEND_COMPOUNDS  = YES
-HIDE_IN_BODY_DOCS      = YES
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = NO
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 5
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = YES
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = NO
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = ../src/pwl.hh \
-                         @srcdir@/gpl.dox \
-                         @srcdir@/fdl.dox
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
-RECURSIVE              = NO
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = NO
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION    = NO
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = NO
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = YES
-HTML_OUTPUT            = pwl-user- at VERSION@-html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               = 
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-FORMULA_FONTSIZE       = 10
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = NO
-LATEX_OUTPUT           = user.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = pwl
-LATEX_HEADER           = @srcdir@/user.tex
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = YES
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = PWL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = pwl-user- at VERSION@-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = @PERL@
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-DOT_FONTNAME           = FreeSans
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = NO
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/Watchdog/doc/user.doxyconf-latex.in b/Watchdog/doc/user.doxyconf-latex.in
deleted file mode 100644
index dca6afc..0000000
--- a/Watchdog/doc/user.doxyconf-latex.in
+++ /dev/null
@@ -1,255 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = @VERSION@
-OUTPUT_DIRECTORY       = .
-CREATE_SUBDIRS         = NO
-OUTPUT_LANGUAGE        = English
-BRIEF_MEMBER_DESC      = YES
-REPEAT_BRIEF           = YES
-ABBREVIATE_BRIEF       = 
-ALWAYS_DETAILED_SEC    = NO
-INLINE_INHERITED_MEMB  = NO
-FULL_PATH_NAMES        = NO
-STRIP_FROM_PATH        = 
-STRIP_FROM_INC_PATH    = 
-SHORT_NAMES            = NO
-JAVADOC_AUTOBRIEF      = NO
-QT_AUTOBRIEF           = NO
-MULTILINE_CPP_IS_BRIEF = NO
-INHERIT_DOCS           = NO
-SEPARATE_MEMBER_PAGES  = NO
-TAB_SIZE               = 8
-ALIASES                = 
-OPTIMIZE_OUTPUT_FOR_C  = NO
-OPTIMIZE_OUTPUT_JAVA   = NO
-OPTIMIZE_FOR_FORTRAN   = NO
-OPTIMIZE_OUTPUT_VHDL   = NO
-BUILTIN_STL_SUPPORT    = NO
-CPP_CLI_SUPPORT        = NO
-SIP_SUPPORT            = NO
-IDL_PROPERTY_SUPPORT   = YES
-DISTRIBUTE_GROUP_DOC   = NO
-SUBGROUPING            = YES
-TYPEDEF_HIDES_STRUCT   = NO
-SYMBOL_CACHE_SIZE      = 0
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL            = NO
-EXTRACT_PRIVATE        = NO
-EXTRACT_STATIC         = NO
-EXTRACT_LOCAL_CLASSES  = YES
-EXTRACT_LOCAL_METHODS  = NO
-EXTRACT_ANON_NSPACES   = NO
-HIDE_UNDOC_MEMBERS     = YES
-HIDE_UNDOC_CLASSES     = YES
-HIDE_FRIEND_COMPOUNDS  = YES
-HIDE_IN_BODY_DOCS      = YES
-INTERNAL_DOCS          = NO
-CASE_SENSE_NAMES       = YES
-HIDE_SCOPE_NAMES       = NO
-SHOW_INCLUDE_FILES     = YES
-INLINE_INFO            = YES
-SORT_MEMBER_DOCS       = NO
-SORT_BRIEF_DOCS        = NO
-SORT_GROUP_NAMES       = NO
-SORT_BY_SCOPE_NAME     = NO
-GENERATE_TODOLIST      = YES
-GENERATE_TESTLIST      = YES
-GENERATE_BUGLIST       = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS       = 
-MAX_INITIALIZER_LINES  = 5
-SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
-SHOW_FILES             = YES
-SHOW_NAMESPACES        = YES
-FILE_VERSION_FILTER    = 
-LAYOUT_FILE            = 
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET                  = YES
-WARNINGS               = YES
-WARN_IF_UNDOCUMENTED   = NO
-WARN_IF_DOC_ERROR      = YES
-WARN_NO_PARAMDOC       = NO
-WARN_FORMAT            = "$file:$line: $text "
-WARN_LOGFILE           = 
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT                  = ../src/pwl.hh \
-                         @srcdir@/gpl.dox \
-                         @srcdir@/fdl.dox
-INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = 
-RECURSIVE              = NO
-EXCLUDE                = 
-EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       = 
-EXCLUDE_SYMBOLS        = 
-EXAMPLE_PATH           = 
-EXAMPLE_PATTERNS       = 
-EXAMPLE_RECURSIVE      = NO
-IMAGE_PATH             = 
-INPUT_FILTER           = 
-FILTER_PATTERNS        = 
-FILTER_SOURCE_FILES    = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER         = NO
-INLINE_SOURCES         = NO
-STRIP_CODE_COMMENTS    = NO
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION    = NO
-REFERENCES_LINK_SOURCE = YES
-USE_HTAGS              = NO
-VERBATIM_HEADERS       = NO
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX     = NO
-COLS_IN_ALPHA_INDEX    = 5
-IGNORE_PREFIX          = 
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML          = NO
-HTML_OUTPUT            = pwl-user- at VERSION@-html
-HTML_FILE_EXTENSION    = .html
-HTML_HEADER            = 
-HTML_FOOTER            = 
-HTML_STYLESHEET        = 
-HTML_ALIGN_MEMBERS     = YES
-HTML_DYNAMIC_SECTIONS  = NO
-GENERATE_DOCSET        = NO
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-DOCSET_BUNDLE_ID       = org.doxygen.Project
-GENERATE_HTMLHELP      = NO
-CHM_FILE               = 
-HHC_LOCATION           = 
-GENERATE_CHI           = NO
-CHM_INDEX_ENCODING     = 
-BINARY_TOC             = NO
-TOC_EXPAND             = NO
-GENERATE_QHP           = NO
-QCH_FILE               = 
-QHP_NAMESPACE          = org.doxygen.Project
-QHP_VIRTUAL_FOLDER     = doc
-QHG_LOCATION           = 
-DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
-GENERATE_TREEVIEW      = YES
-TREEVIEW_WIDTH         = 250
-FORMULA_FONTSIZE       = 10
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX         = YES
-LATEX_OUTPUT           = user.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = pwl
-LATEX_HEADER           = @srcdir@/user.tex
-PDF_HYPERLINKS         = YES
-USE_PDFLATEX           = YES
-LATEX_BATCHMODE        = YES
-LATEX_HIDE_INDICES     = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF           = NO
-RTF_OUTPUT             = rtf
-COMPACT_RTF            = NO
-RTF_HYPERLINKS         = YES
-RTF_STYLESHEET_FILE    = 
-RTF_EXTENSIONS_FILE    = 
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN           = NO
-MAN_OUTPUT             = man
-MAN_EXTENSION          = .3
-MAN_LINKS              = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML           = NO
-XML_OUTPUT             = xml
-XML_SCHEMA             = 
-XML_DTD                = 
-XML_PROGRAMLISTING     = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF   = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD       = NO
-PERLMOD_LATEX          = NO
-PERLMOD_PRETTY         = YES
-PERLMOD_MAKEVAR_PREFIX = 
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor   
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING   = YES
-MACRO_EXPANSION        = YES
-EXPAND_ONLY_PREDEF     = YES
-SEARCH_INCLUDES        = YES
-INCLUDE_PATH           = 
-INCLUDE_FILE_PATTERNS  = 
-PREDEFINED             = 
-EXPAND_AS_DEFINED      = PWL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = @PERL@
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool   
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS         = NO
-MSCGEN_PATH            = 
-HIDE_UNDOC_RELATIONS   = YES
-HAVE_DOT               = YES
-DOT_FONTNAME           = FreeSans
-DOT_FONTSIZE           = 10
-DOT_FONTPATH           = 
-CLASS_GRAPH            = YES
-COLLABORATION_GRAPH    = NO
-GROUP_GRAPHS           = YES
-UML_LOOK               = NO
-TEMPLATE_RELATIONS     = NO
-INCLUDE_GRAPH          = YES
-INCLUDED_BY_GRAPH      = YES
-CALL_GRAPH             = NO
-CALLER_GRAPH           = NO
-GRAPHICAL_HIERARCHY    = NO
-DIRECTORY_GRAPH        = NO
-DOT_IMAGE_FORMAT       = png
-DOT_PATH               = 
-DOTFILE_DIRS           = 
-DOT_GRAPH_MAX_NODES    = 50
-MAX_DOT_GRAPH_DEPTH    = 0
-DOT_TRANSPARENT        = NO
-DOT_MULTI_TARGETS      = NO
-GENERATE_LEGEND        = YES
-DOT_CLEANUP            = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine   
-#---------------------------------------------------------------------------
-SEARCHENGINE           = NO
diff --git a/Watchdog/doc/user.tex b/Watchdog/doc/user.tex
deleted file mode 100644
index f01a2dc..0000000
--- a/Watchdog/doc/user.tex
+++ /dev/null
@@ -1,121 +0,0 @@
-% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-%
-% This document describes the Parma Watchdog Library (PWL).
-%
-% Permission is granted to copy, distribute and/or modify this document
-% under the terms of the GNU Free Documentation License, Version 1.2
-% or any later version published by the Free Software Foundation;
-% with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-% The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PWL in files called `fdl.*'.
-%
-% The PWL is free software; you can redistribute it and/or modify it
-% under the terms of the GNU General Public License as published by the
-% Free Software Foundation; either version 3 of the License, or (at your
-% option) any later version.  The license is included, in various
-% formats, in the `doc' subdirectory of each distribution of the PWL in
-% files are called `gpl.*'.
-%
-% The PWL is distributed in the hope that it will be useful, but WITHOUT
-% ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-% FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-% for more details.
-%
-% For the most up-to-date information see the Parma Watchdog Library
-% site: http://www.cs.unipr.it/pwl/ .
-
-\documentclass[a4paper]{article}
-\nonstopmode
-\usepackage{a4wide}
-\usepackage{makeidx}
-\usepackage{fancyhdr}
-\usepackage{graphicx}
-\usepackage{float}
-\usepackage{alltt}
-\usepackage{doxygen}
-\usepackage{times}
-\ifx\pdfoutput\undefined
-\usepackage[ps2pdf,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\usepackage{pspicture}
-\else
-\usepackage[pdftex,
-            pagebackref=true,
-            colorlinks=true,
-            linkcolor=blue
-           ]{hyperref}
-\fi
-\usepackage{pwl}
-\makeindex
-\setcounter{tocdepth}{1}
-\renewcommand{\footrulewidth}{0.4pt}
-
-\rfoot[\fancyplain{}{\scriptsize The Parma Watchdog Library User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/pwl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Watchdog Library User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/pwl/} for more information.}}
-
-\begin{document}
-\title{
-The Parma Watchdog Library \\
-User's Manual\thanks{This work
-  has been partly supported by:
-  University of Parma's FIL scientific research project (ex 60\%)
-    ``Pure and Applied Mathematics'';
-  MURST project
-    ``Automatic Program Certification by Abstract Interpretation'';
-  MURST project
-    ``Abstract Interpretation, Type Systems and Control-Flow Analysis'';
-  MURST project
-    ``Automatic Aggregate- and Number-Reasoning for Computing: from
-      Decision Algorithms to Constraint Programming with Multisets,
-      Sets, and Maps'';
-  MURST project
-    ``Constraint Based Verification of Reactive Systems'';
-  MURST project
-    ``Abstract Interpretation: Design and Applications''.
-  } \\
-(version $projectnumber)
-}
-\author{
-Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.}
-}
-\maketitle
-
-\newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
-
-This document describes the Parma Watchdog Library (PWL).
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2
-or any later version published by the
-\href{http://www.fsf.org}{Free Software Foundation};
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-A copy of the license is included in the section entitled
-``\hyperlink{GFDL_GFDL}{GNU Free Documentation License}''.
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-\href{http://www.fsf.org}{Free Software Foundation}; either version 3
-of the License, or (at your option) any later version.
-A copy of the license is included in the section entitled
-``\hyperlink{GPL_GPL}{GNU GENERAL PUBLIC LICENSE}''.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-For the most up-to-date information see the Parma Watchdog Library
-site:
-\begin{center}
-\href{http://www.cs.unipr.it/pwl/}{\tt http://www.cs.unipr.it/pwl/}
-\end{center}
-
-\pagenumbering{roman}
-\tableofcontents
-\pagenumbering{arabic}
diff --git a/Watchdog/install-sh b/Watchdog/install-sh
deleted file mode 100755
index 3f83ce9..0000000
--- a/Watchdog/install-sh
+++ /dev/null
@@ -1,524 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2010-02-06.18; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""	$nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-	shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
-
-    -o) chowncmd="$chownprog $2"
-	shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t) dst_arg=$2
-	shift;;
-
-    -T) no_target_directory=true;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --)	shift
-	break;;
-
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call `install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  do_exit='(exit $ret); exit $ret'
-  trap "ret=129; $do_exit" 1
-  trap "ret=130; $do_exit" 2
-  trap "ret=141; $do_exit" 13
-  trap "ret=143; $do_exit" 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names starting with `-'.
-  case $src in
-    -*) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-
-    dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-	/*) prefix='/';;
-	-*) prefix='./';;
-	*)  prefix='';;
-      esac
-
-      eval "$initialize_posix_glob"
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob set -f
-      set fnord $dstdir
-      shift
-      $posix_glob set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-	test -z "$d" && continue
-
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
-
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/Watchdog/ltmain.sh b/Watchdog/ltmain.sh
deleted file mode 100755
index 04eaea4..0000000
--- a/Watchdog/ltmain.sh
+++ /dev/null
@@ -1,8745 +0,0 @@
-# Generated from ltmain.m4sh.
-
-# libtool (GNU libtool) 2.2.10
-# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#       --config             show all configuration variables
-#       --debug              enable verbose shell tracing
-#   -n, --dry-run            display commands without modifying any files
-#       --features           display basic configuration information and exit
-#       --mode=MODE          use operation mode MODE
-#       --preserve-dup-deps  don't remove duplicate dependency libraries
-#       --quiet, --silent    don't print informational messages
-#       --no-quiet, --no-silent
-#                            print informational messages (default)
-#       --tag=TAG            use configuration variables from tag TAG
-#   -v, --verbose            print more informational messages than default
-#       --no-verbose         don't print the extra informational messages
-#       --version            print version information
-#   -h, --help, --help-all   print short, long, or detailed help message
-#
-# MODE must be one of the following:
-#
-#         clean              remove files from the build directory
-#         compile            compile a source file into a libtool object
-#         execute            automatically set library path, then run a program
-#         finish             complete the installation of libtool libraries
-#         install            install libraries or executables
-#         link               create a library or an executable
-#         uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.  When passed as first option,
-# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#         host-triplet:	$host
-#         shell:		$SHELL
-#         compiler:		$LTCC
-#         compiler flags:		$LTCFLAGS
-#         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.2.10
-#         automake:	$automake_version
-#         autoconf:	$autoconf_version
-#
-# Report bugs to <bug-libtool at gnu.org>.
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION=2.2.10
-TIMESTAMP=""
-package_revision=1.3175
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# NLS nuisances: We save the old values to restore during execute mode.
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-	  export $lt_var
-	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
-	fi"
-done
-LC_ALL=C
-LANGUAGE=C
-export LANGUAGE LC_ALL
-
-$lt_unset CDPATH
-
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-
-
-: ${CP="cp -f"}
-test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="grep -E"}
-: ${FGREP="grep -F"}
-: ${GREP="grep"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="sed"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-}
-
-# Generated shell functions inserted here.
-
-# These SED scripts presuppose an absolute path with a trailing slash.
-pathcar='s,^/\([^/]*\).*$,\1,'
-pathcdr='s,^/[^/]*,,'
-removedotparts=':dotsl
-		s@/\./@/@g
-		t dotsl
-		s,/\.$,/,'
-collapseslashes='s@/\{1,\}@/@g'
-finalslash='s,/*$,/,'
-
-# func_normal_abspath PATH
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-#             value returned in "$func_normal_abspath_result"
-func_normal_abspath ()
-{
-  # Start from root dir and reassemble the path.
-  func_normal_abspath_result=
-  func_normal_abspath_tpath=$1
-  func_normal_abspath_altnamespace=
-  case $func_normal_abspath_tpath in
-    "")
-      # Empty path, that just means $cwd.
-      func_stripname '' '/' "`pwd`"
-      func_normal_abspath_result=$func_stripname_result
-      return
-    ;;
-    # The next three entries are used to spot a run of precisely
-    # two leading slashes without using negated character classes;
-    # we take advantage of case's first-match behaviour.
-    ///*)
-      # Unusual form of absolute path, do nothing.
-    ;;
-    //*)
-      # Not necessarily an ordinary path; POSIX reserves leading '//'
-      # and for example Cygwin uses it to access remote file shares
-      # over CIFS/SMB, so we conserve a leading double slash if found.
-      func_normal_abspath_altnamespace=/
-    ;;
-    /*)
-      # Absolute path, do nothing.
-    ;;
-    *)
-      # Relative path, prepend $cwd.
-      func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-    ;;
-  esac
-  # Cancel out all the simple stuff to save iterations.  We also want
-  # the path to end with a slash for ease of parsing, so make sure
-  # there is one (and only one) here.
-  func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"`
-  while :; do
-    # Processed it all yet?
-    if test "$func_normal_abspath_tpath" = / ; then
-      # If we ascended to the root using ".." the result may be empty now.
-      if test -z "$func_normal_abspath_result" ; then
-        func_normal_abspath_result=/
-      fi
-      break
-    fi
-    func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcar"`
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-        -e "$pathcdr"`
-    # Figure out what to do with it
-    case $func_normal_abspath_tcomponent in
-      "")
-        # Trailing empty path component, ignore it.
-      ;;
-      ..)
-        # Parent dir; strip last assembled component from result.
-        func_dirname "$func_normal_abspath_result"
-        func_normal_abspath_result=$func_dirname_result
-      ;;
-      *)
-        # Actual path component, append it.
-        func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent
-      ;;
-    esac
-  done
-  # Restore leading double-slash if one was found on entry.
-  func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-# func_relative_path SRCDIR DSTDIR
-# generates a relative path from SRCDIR to DSTDIR, with a trailing
-# slash if non-empty, suitable for immediately appending a filename
-# without needing to append a separator.
-#             value returned in "$func_relative_path_result"
-func_relative_path ()
-{
-  func_relative_path_result=
-  func_normal_abspath "$1"
-  func_relative_path_tlibdir=$func_normal_abspath_result
-  func_normal_abspath "$2"
-  func_relative_path_tbindir=$func_normal_abspath_result
-
-  # Ascend the tree starting from libdir
-  while :; do
-    # check if we have found a prefix of bindir
-    case $func_relative_path_tbindir in
-      $func_relative_path_tlibdir)
-        # found an exact match
-        func_relative_path_tcancelled=
-        break
-        ;;
-      $func_relative_path_tlibdir*)
-        # found a matching prefix
-        func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-        func_relative_path_tcancelled=$func_stripname_result
-        if test -z "$func_relative_path_result"; then
-          func_relative_path_result=.
-        fi
-        break
-        ;;
-      *)
-        func_dirname $func_relative_path_tlibdir
-        func_relative_path_tlibdir=${func_dirname_result}
-        if test "x$func_relative_path_tlibdir" = x ; then
-          # Have to descend all the way to the root!
-          func_relative_path_result=../$func_relative_path_result
-          func_relative_path_tcancelled=$func_relative_path_tbindir
-          break
-        fi
-        func_relative_path_result=../$func_relative_path_result
-        ;;
-    esac
-  done
-
-  # Now calculate path; take care to avoid doubling-up slashes.
-  func_stripname '' '/' "$func_relative_path_result"
-  func_relative_path_result=$func_stripname_result
-  func_stripname '/' '/' "$func_relative_path_tcancelled"
-  if test "x$func_stripname_result" != x ; then
-    func_relative_path_result=${func_relative_path_result}/${func_stripname_result}
-  fi
-
-  # Normalisation. If bindir is libdir, return empty string,
-  # else relative path ending with a slash; either way, target
-  # file name can be directly appended.
-  if test ! -z "$func_relative_path_result"; then
-    func_stripname './' '' "$func_relative_path_result/"
-    func_relative_path_result=$func_stripname_result
-  fi
-}
-
-# The name of this program:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=$func_dirname_result
-     progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
-     ;;
-  *)
-     save_IFS="$IFS"
-     IFS=:
-     for progdir in $PATH; do
-       IFS="$save_IFS"
-       test -x "$progdir/$progname" && break
-     done
-     IFS="$save_IFS"
-     test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
-     ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname${mode+: }$mode: $*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
-
-    # bash bug again:
-    :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information."  ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    my_directory_path="$1"
-    my_dir_list=
-
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-	# list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
-
-        # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"`
-      done
-      my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'`
-
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-	IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
-      done
-      IFS="$save_mkdir_p_IFS"
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
-    fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$opt_dry_run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-        save_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
-    fi
-
-    $ECHO "$my_tmpdir"
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
-    case $1 in
-      *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
-
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-        ;;
-      *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
-    esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    case $1 in
-      *[\\\`\"]*)
-	my_arg=`$ECHO "$1" | $SED \
-	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        my_arg="$1" ;;
-    esac
-
-    case $my_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        my_arg="\"$my_arg\""
-        ;;
-    esac
-
-    func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-	    $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $SED -n '/(C)/!b go
-	:more
-	/\./!{
-	  N
-	  s/\n# / /
-	  b more
-	}
-	:go
-	/^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-	s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $SED -n '/^# Usage:/,/^#  *.*--help/ {
-        s/^# //
-	s/^# *$//
-	s/\$progname/'$progname'/
-	p
-    }' < "$progpath"
-    echo
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
-}
-
-# func_help [NOEXIT]
-# Echo long help message to standard output and exit,
-# unless 'noexit' is passed as argument.
-func_help ()
-{
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-        s/^# //
-	s/^# *$//
-	s*\$progname*'$progname'*
-	s*\$host*'"$host"'*
-	s*\$SHELL*'"$SHELL"'*
-	s*\$LTCC*'"$LTCC"'*
-	s*\$LTCFLAGS*'"$LTCFLAGS"'*
-	s*\$LD*'"$LD"'*
-	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
-	p
-     }' < "$progpath"
-    ret=$?
-    if test -z "$1"; then
-      exit $ret
-    fi
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    func_error "missing argument for $1."
-    exit_cmd=exit
-}
-
-exit_cmd=:
-
-
-
-
-
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-# $mode is unset
-nonopt=
-execute_dlfiles=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_features ()
-{
-    echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-
-    exit $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-  # Global variable:
-  tagname="$1"
-
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
-
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
-    *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	taglist="$taglist $tagname"
-
-	# Evaluate the configuration.  Be careful to quote the path
-	# and the sed script, to avoid splitting on whitespace, but
-	# also don't use non-portable quotes within backquotes within
-	# quotes we have to do it in 2 steps:
-	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	eval "$extractedcf"
-      else
-	func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
-}
-
-# Parse options once, thoroughly.  This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
-{
-
-  # Shorthand for --mode=foo, only valid as the first argument
-  case $1 in
-  clean|clea|cle|cl)
-    shift; set dummy --mode clean ${1+"$@"}; shift
-    ;;
-  compile|compil|compi|comp|com|co|c)
-    shift; set dummy --mode compile ${1+"$@"}; shift
-    ;;
-  execute|execut|execu|exec|exe|ex|e)
-    shift; set dummy --mode execute ${1+"$@"}; shift
-    ;;
-  finish|finis|fini|fin|fi|f)
-    shift; set dummy --mode finish ${1+"$@"}; shift
-    ;;
-  install|instal|insta|inst|ins|in|i)
-    shift; set dummy --mode install ${1+"$@"}; shift
-    ;;
-  link|lin|li|l)
-    shift; set dummy --mode link ${1+"$@"}; shift
-    ;;
-  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-    shift; set dummy --mode uninstall ${1+"$@"}; shift
-    ;;
-  esac
-
-  # Parse non-mode specific arguments:
-  while test "$#" -gt 0; do
-    opt="$1"
-    shift
-
-    case $opt in
-      --config)		func_config					;;
-
-      --debug)		preserve_args="$preserve_args $opt"
-			func_echo "enabling shell trace mode"
-			opt_debug='set -x'
-			$opt_debug
-			;;
-
-      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			execute_dlfiles="$execute_dlfiles $1"
-			shift
-			;;
-
-      --dry-run | -n)	opt_dry_run=:					;;
-      --features)       func_features					;;
-      --finish)		mode="finish"					;;
-
-      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			case $1 in
-			  # Valid mode arguments:
-			  clean)	;;
-			  compile)	;;
-			  execute)	;;
-			  finish)	;;
-			  install)	;;
-			  link)		;;
-			  relink)	;;
-			  uninstall)	;;
-
-			  # Catch anything else as an error
-			  *) func_error "invalid argument for $opt"
-			     exit_cmd=exit
-			     break
-			     ;;
-		        esac
-
-			mode="$1"
-			shift
-			;;
-
-      --preserve-dup-deps)
-			opt_duplicate_deps=:				;;
-
-      --quiet|--silent)	preserve_args="$preserve_args $opt"
-			opt_silent=:
-			opt_verbose=false
-			;;
-
-      --no-quiet|--no-silent)
-			preserve_args="$preserve_args $opt"
-			opt_silent=false
-			;;
-
-      --verbose| -v)	preserve_args="$preserve_args $opt"
-			opt_silent=false
-			opt_verbose=:
-			;;
-
-      --no-verbose)	preserve_args="$preserve_args $opt"
-			opt_verbose=false
-			;;
-
-      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			preserve_args="$preserve_args $opt $1"
-			func_enable_tag "$1"	# tagname is set here
-			shift
-			;;
-
-      # Separate optargs to long options:
-      -dlopen=*|--mode=*|--tag=*)
-			func_opt_split "$opt"
-			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
-			shift
-			;;
-
-      -\?|-h)		func_usage					;;
-      --help)		opt_help=:					;;
-      --help-all)	opt_help=': help-all'				;;
-      --version)	func_version					;;
-
-      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
-
-      *)		nonopt="$opt"
-			break
-			;;
-    esac
-  done
-
-
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
-      ;;
-  esac
-
-  # Having warned about all mis-specified options, bail out if
-  # anything was wrong.
-  $exit_cmd $EXIT_FAILURE
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-    fi
-
-    exit $EXIT_MISMATCH
-  fi
-}
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-$opt_help || {
-  # Sanity checks first:
-  func_check_version_match
-
-  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-    func_fatal_configuration "not configured to build any kind of library"
-  fi
-
-  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-
-
-  # Darwin sucks
-  eval std_shrext=\"$shrext_cmds\"
-
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    func_error "unrecognized option \`-dlopen'"
-    $ECHO "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
-}
-
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-	for lalib_p_l in 1 2 3 4
-	do
-	    read lalib_p_line
-	    case "$lalib_p_line" in
-		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-	    esac
-	done
-	exec 0<&5 5<&-
-    fi
-    test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_ltwrapper_scriptname_result=""
-    if func_ltwrapper_executable_p "$1"; then
-	func_dirname_and_basename "$1" "" "."
-	func_stripname '' '.exe' "$func_basename_result"
-	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-    fi
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $opt_debug
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$save_ifs
-      eval cmd=\"$cmd\"
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $opt_debug
-    case $1 in
-    */* | *\\*)	. "$1" ;;
-    *)		. "./$1" ;;
-    esac
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $opt_debug
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-        func_quote_for_eval "$arg"
-	CC_quoted="$CC_quoted $func_quote_for_eval_result"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	      # Double-quote args containing other shell metacharacters.
-	      func_quote_for_eval "$arg"
-	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
-	    done
-	    CC_expanded=`func_echo_all $CC`
-	    CC_quoted_expanded=`func_echo_all $CC_quoted`
-	    case "$@ " in
-	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with \`--tag'"
-#	else
-#	  func_verbose "using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
-    else
-      write_lobj=none
-    fi
-
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "${write_libobj}"
-    }
-}
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $opt_debug
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
-	arg_mode=normal
-	;;
-
-      target )
-	libobj="$arg"
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify \`-o' more than once"
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-pie | -fpie | -fPIE)
-          pie_flag="$pie_flag $arg"
-	  continue
-	  ;;
-
-	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  func_stripname '-Wc,' '' "$arg"
-	  args=$func_stripname_result
-	  lastarg=
-	  save_ifs="$IFS"; IFS=','
-	  for arg in $args; do
-	    IFS="$save_ifs"
-	    func_quote_for_eval "$arg"
-	    lastarg="$lastarg $func_quote_for_eval_result"
-	  done
-	  IFS="$save_ifs"
-	  func_stripname ' ' '' "$lastarg"
-	  lastarg=$func_stripname_result
-
-	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
-	  continue
-	  ;;
-
-	*)
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_quote_for_eval "$lastarg"
-      base_compile="$base_compile $func_quote_for_eval_result"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with \`-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-	func_basename "$srcfile"
-	libobj="$func_basename_result"
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	continue
-	;;
-
-      -static)
-	build_libtool_libs=no
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	$ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-      removelist="$removelist $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    removelist="$removelist $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	command="$command -o $lobj"
-      fi
-
-      func_show_eval_locale "$command"	\
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	func_show_eval '$MV "$output_obj" "$lobj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-	suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile$pie_flag"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	func_show_eval '$MV "$output_obj" "$obj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
-	removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test "$mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode \`$mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try \`$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test "$opt_help" = :; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for mode in compile link execute install finish uninstall clean; do
-	func_mode_help
-      done
-    } | sed -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for mode in compile link execute install finish uninstall clean; do
-	echo
-	func_mode_help
-      done
-    } |
-    sed '1d
-      /^When reporting/,/^Report/{
-	H
-	d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $opt_debug
-    # The first argument is the command name.
-    cmd="$nonopt"
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      test -f "$file" \
-	|| func_fatal_help "\`$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$lib' is not a valid libtool archive"
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-	func_source "$file"
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && \
-	    func_warning "\`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-	;;
-
-      *)
-	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -* | *.la | *.lo ) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if func_ltwrapper_script_p "$file"; then
-	  func_source "$file"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	elif func_ltwrapper_executable_p "$file"; then
-	  func_ltwrapper_scriptname "$file"
-	  func_source "$func_ltwrapper_scriptname_result"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_quote_for_eval "$file"
-      args="$args $func_quote_for_eval_result"
-    done
-
-    if test "X$opt_dry_run" = Xfalse; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-	      else
-		$lt_unset $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $opt_debug
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
-
-    echo "----------------------------------------------------------------------"
-    echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $ECHO "   $libdir"
-    done
-    echo
-    echo "If you ever happen to want to link against installed libraries"
-    echo "in a given directory, LIBDIR, you must either use libtool, and"
-    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $ECHO "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $ECHO "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    echo
-
-    echo "See any operating system documentation about shared libraries for"
-    case $host in
-      solaris2.[6789]|solaris2.1[0-9])
-        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	echo "pages."
-	;;
-      *)
-        echo "more information, such as the ld(1) and ld.so(8) manual pages."
-        ;;
-    esac
-    echo "----------------------------------------------------------------------"
-    exit $EXIT_SUCCESS
-}
-
-test "$mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $opt_debug
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac; then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    install_prog="$install_prog$func_quote_for_eval_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f)
-	if $install_cp; then :; else
-	  prev=$arg
-	fi
-	;;
-      -g | -m | -o)
-	prev=$arg
-	;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  if test "x$prev" = x-m && test -n "$install_override_mode"; then
-	    arg2=$install_override_mode
-	    no_mode=false
-	  fi
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      install_prog="$install_prog $func_quote_for_eval_result"
-      if test -n "$arg2"; then
-	func_quote_for_eval "$arg2"
-      fi
-      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-	func_quote_for_eval "$install_override_mode"
-	install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	func_fatal_help "no file or destination specified"
-      else
-	func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-	func_fatal_help "\`$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  func_fatal_help "\`$destdir' must be an absolute directory name"
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$file' is not a valid libtool archive"
-
-	library_names=
-	old_library=
-	relink_command=
-	func_source "$file"
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	func_dirname "$file" "/" ""
-	dir="$func_dirname_result"
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  func_warning "relinking \`$file'"
-	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names; shift
-	if test -n "$1"; then
-	  realname="$1"
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-	      'exit $?'
-	  tstripme="$stripme"
-	  case $host_os in
-	  cygwin* | mingw* | pw32* | cegcc*)
-	    case $realname in
-	    *.dll.a)
-	      tstripme=""
-	      ;;
-	    esac
-	    ;;
-	  esac
-	  if test -n "$tstripme" && test -n "$striplib"; then
-	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      test "$linkname" != "$realname" \
-		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  func_execute_cmds "$postinstall_cmds" 'exit $?'
-	fi
-
-	# Install the pseudo-library for information purposes.
-	func_basename "$file"
-	name="$func_basename_result"
-	instname="$dir/$name"i
-	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  func_lo2o "$destfile"
-	  staticdest=$func_lo2o_result
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	test -n "$destfile" && \
-	  func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  func_lo2o "$file"
-	  staticobj=$func_lo2o_result
-	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      func_stripname '' '.exe' "$file"
-	      file=$func_stripname_result
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin* | *mingw*)
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      wrapper=$func_ltwrapper_scriptname_result
-	    else
-	      func_stripname '' '.exe' "$file"
-	      wrapper=$func_stripname_result
-	    fi
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if func_ltwrapper_script_p "$wrapper"; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  func_source "$wrapper"
-
-	  # Check the variables that should have been set.
-	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      func_source "$lib"
-	    fi
-	    libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "\`$lib' has not been installed in \`$libdir'"
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  func_source "$wrapper"
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    $opt_dry_run || {
-	      if test "$finalize" = yes; then
-	        tmpdir=`func_mktempdir`
-		func_basename "$file$stripped_ext"
-		file="$func_basename_result"
-	        outputname="$tmpdir/$file"
-	        # Replace the output file specification.
-	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-	        $opt_silent || {
-	          func_quote_for_expand "$relink_command"
-		  eval "func_echo $func_quote_for_expand_result"
-	        }
-	        if eval "$relink_command"; then :
-	          else
-		  func_error "error: relink \`$file' with the above command before installing it"
-		  $opt_dry_run || ${RM}r "$tmpdir"
-		  continue
-	        fi
-	        file="$outputname"
-	      else
-	        func_warning "cannot relink \`$file'"
-	      fi
-	    }
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    func_stripname '' '.exe' "$destfile"
-	    destfile=$func_stripname_result
-	    ;;
-	  esac
-	  ;;
-	esac
-	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-	$opt_dry_run || if test -n "$outputname"; then
-	  ${RM}r "$tmpdir"
-	fi
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name="$func_basename_result"
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms="${my_outputname}S.c"
-      else
-	func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-	# Discover the nlist of each of the dlfiles.
-	nlist="$output_objdir/${my_outputname}.nm"
-
-	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-	# Parse the name list into a source file.
-	func_verbose "creating $output_objdir/$my_dlsyms"
-
-	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
-	if test "$dlself" = yes; then
-	  func_verbose "generating symbol list for \`$output'"
-
-	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	  for progfile in $progfiles; do
-	    func_verbose "extracting global C symbols from \`$progfile'"
-	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -n "$exclude_expsyms"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  if test -n "$export_symbols_regex"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  # Prepare the list of exported symbols
-	  if test -z "$export_symbols"; then
-	    export_symbols="$output_objdir/$outputname.exp"
-	    $opt_dry_run || {
-	      $RM $export_symbols
-	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	      case $host in
-	      *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-	        ;;
-	      esac
-	    }
-	  else
-	    $opt_dry_run || {
-	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	      case $host in
-	        *cygwin* | *mingw* | *cegcc* )
-	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-	          ;;
-	      esac
-	    }
-	  fi
-	fi
-
-	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from \`$dlprefile'"
-	  func_basename "$dlprefile"
-	  name="$func_basename_result"
-	  $opt_dry_run || {
-	    eval '$ECHO ": $name " >> "$nlist"'
-	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	  }
-	done
-
-	$opt_dry_run || {
-	  # Make sure we have at least an empty file.
-	  test -f "$nlist" || : > "$nlist"
-
-	  if test -n "$exclude_expsyms"; then
-	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	    $MV "$nlist"T "$nlist"
-	  fi
-
-	  # Try sorting and uniquifying the output.
-	  if $GREP -v "^: " < "$nlist" |
-	      if sort -k 3 </dev/null >/dev/null 2>&1; then
-		sort -k 3
-	      else
-		sort +2
-	      fi |
-	      uniq > "$nlist"S; then
-	    :
-	  else
-	    $GREP -v "^: " < "$nlist" > "$nlist"S
-	  fi
-
-	  if test -f "$nlist"S; then
-	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-	  else
-	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-	  fi
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-"
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* )
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs.  */"
-	    lt_dlsym_const= ;;
-	  *osf5*)
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
-	    lt_dlsym_const= ;;
-	  *)
-	    lt_dlsym_const=const ;;
-	  esac
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
-
-	  case $need_lib_prefix in
-	  no)
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  *)
-	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  esac
-	  echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	} # !$opt_dry_run
-
-	pic_flag_for_symtable=
-	case "$compile_command " in
-	*" -static "*) ;;
-	*)
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-	  *-*-hpux*)
-	    pic_flag_for_symtable=" $pic_flag"  ;;
-	  *)
-	    if test "X$my_pic_p" != Xno; then
-	      pic_flag_for_symtable=" $pic_flag"
-	    fi
-	    ;;
-	  esac
-	  ;;
-	esac
-	symtab_cflags=
-	for arg in $LTCFLAGS; do
-	  case $arg in
-	  -pie | -fpie | -fPIE) ;;
-	  *) symtab_cflags="$symtab_cflags $arg" ;;
-	  esac
-	done
-
-	# Now compile the dynamic symbol file.
-	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
-	# Transform the symbol file into the correct name.
-	symfileobj="$output_objdir/${my_outputname}S.$objext"
-	case $host in
-	*cygwin* | *mingw* | *cegcc* )
-	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	  else
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  fi
-	  ;;
-	*)
-	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  ;;
-	esac
-	;;
-      *)
-	func_fatal_error "unknown suffix for \`$my_dlsyms'"
-	;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $opt_debug
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      win32_nmres=`eval $NM -f posix -A $1 |
-	$SED -n -e '
-	    1,100{
-		/ I /{
-		    s,.*,import,
-		    p
-		    q
-		}
-	    }'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    if test "$lock_old_archive_extraction" = yes; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-		   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test "$lock_old_archive_extraction" = yes; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $opt_debug
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  func_arith $extracted_serial + 1
-	  extracted_serial=$func_arith_result
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-	func_verbose "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	$opt_dry_run || {
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`basename "$darwin_archive"`
-	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-	  if test -n "$darwin_arches"; then
-	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-	      $LIPO -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    $RM -rf unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd $darwin_orig_dir
-	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	} # !$opt_dry_run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-	;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result="$my_oldobjs"
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=${1-no}
-
-	$ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=\"$qECHO\"
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ which is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options which match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  for lt_wr_arg
-  do
-    case \$lt_wr_arg in
-    --lt-*) ;;
-    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-    esac
-    shift
-  done
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-	  $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$ECHO \"\$relink_command_output\" >&2
-	$RM \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-	else
-	  $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${1+\"\$@\"}
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-
-
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin.  Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        case $build in
-          *mingw* ) # actually, msys
-            # awkward: cmd appends spaces to result
-            func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
-              $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_path_result=`cygpath -w "$1" |
-	      $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # Unfortunately, winepath does not exit with a non-zero
-            # error code, so we are forced to check the contents of
-            # stdout. On the other hand, if the command is not
-            # found, the shell will set an exit code of 127 and print
-            # *an error message* to stdout. So we must check for both
-            # error code of zero AND non-empty stdout, which explains
-            # the odd construction:
-            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
-            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
-                $SED -e "$lt_sed_naive_backslashify"`
-            else
-              # Allow warning below.
-              func_to_host_path_result=
-            fi
-            ;;
-        esac
-        if test -z "$func_to_host_path_result" ; then
-          func_error "Could not determine host path corresponding to"
-          func_error "  \`$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback:
-          func_to_host_path_result="$1"
-        fi
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
-  func_to_host_pathlist_result="$1"
-  if test -n "$1"; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        # Remove leading and trailing path separator characters from
-        # ARG. msys behavior is inconsistent here, cygpath turns them
-        # into '.;' and ';.', and winepath ignores them completely.
-	func_stripname : : "$1"
-        func_to_host_pathlist_tmp1=$func_stripname_result
-        case $build in
-          *mingw* ) # Actually, msys.
-            # Awkward: cmd appends spaces to result.
-            func_to_host_pathlist_result=`
-	      ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
-	      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # unfortunately, winepath doesn't convert pathlists
-            func_to_host_pathlist_result=""
-            func_to_host_pathlist_oldIFS=$IFS
-            IFS=:
-            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
-              IFS=$func_to_host_pathlist_oldIFS
-              if test -n "$func_to_host_pathlist_f" ; then
-                func_to_host_path "$func_to_host_pathlist_f"
-                if test -n "$func_to_host_path_result" ; then
-                  if test -z "$func_to_host_pathlist_result" ; then
-                    func_to_host_pathlist_result="$func_to_host_path_result"
-                  else
-                    func_append func_to_host_pathlist_result ";$func_to_host_path_result"
-                  fi
-                fi
-              fi
-            done
-            IFS=$func_to_host_pathlist_oldIFS
-            ;;
-        esac
-        if test -z "$func_to_host_pathlist_result"; then
-          func_error "Could not determine the host path(s) corresponding to"
-          func_error "  \`$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback. This may break if $1 contains DOS-style drive
-          # specifications. The fix is not to complicate the expression
-          # below, but for the user to provide a working wine installation
-          # with winepath so that path translation in the cross-to-mingw
-          # case works properly.
-          lt_replace_pathsep_nix_to_dos="s|:|;|g"
-          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
-            $SED -e "$lt_replace_pathsep_nix_to_dos"`
-        fi
-        # Now, add the leading and trailing path separators back
-        case "$1" in
-          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
-            ;;
-        esac
-        case "$1" in
-          *: ) func_append func_to_host_pathlist_result ";"
-            ;;
-        esac
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_pathlist
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-	cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-	    cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-/* declarations of non-ANSI functions */
-#if defined(__MINGW32__)
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined(__CYGWIN__)
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined (other platforms) ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined(_MSC_VER)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-# ifndef _INTPTR_T_DEFINED
-#  define _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#elif defined(__MINGW32__)
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined(__CYGWIN__)
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined (other platforms) ... */
-#endif
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#if defined(LT_DEBUGWRAPPER)
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-	    cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_pathlist "$temp_rpath"
-	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test -n "$dllsearchpath"; then
-              func_to_host_pathlist "$dllsearchpath:"
-	      cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test "$fast_install" = yes; then
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-	    else
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-	    fi
-
-
-	    cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  intptr_t rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
-	{
-EOF
-	    case "$host" in
-	      *mingw* | *cygwin* )
-		# make stdout use "unix" line endings
-		echo "          setmode(1,_O_BINARY);"
-		;;
-	      esac
-
-	    cat <<"EOF"
-	  lt_dump_script (stdout);
-	  return 0;
-	}
-      if (strcmp (argv[i], debug_opt) == 0)
-	{
-          lt_debug = 1;
-          continue;
-	}
-      if (strcmp (argv[i], ltwrapper_option_prefix) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-		    "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-	    cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\n");
-EOF
-	    cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-		  tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-		  actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(main) libtool target name: %s\n",
-		  target_name);
-EOF
-
-	    cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-	    cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-	    case $host_os in
-	      mingw*)
-	    cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-	*p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-	*p = '/';
-      }
-  }
-EOF
-	    ;;
-	    esac
-
-	    cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-		  nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-		      i, nonnull (newargz[i]));
-    }
-
-EOF
-
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-		      "(main) failed to launch target \"%s\": %s\n",
-		      lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-		;;
-	      *)
-		cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-		;;
-	    esac
-
-	    cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-			  string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-	return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-	{
-	  concat_name = xstrdup (wrapper);
-	  if (check_executable (concat_name))
-	    return concat_name;
-	  XFREE (concat_name);
-	}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-	has_slash = 1;
-	break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-	{
-	  for (p = path; *p; p = p_next)
-	    {
-	      const char *q;
-	      size_t p_len;
-	      for (q = p; *q; q++)
-		if (IS_PATH_SEPARATOR (*q))
-		  break;
-	      p_len = q - p;
-	      p_next = (*q == '\0' ? q : q + 1);
-	      if (p_len == 0)
-		{
-		  /* empty path: current directory */
-		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-		  tmp_len = strlen (tmp);
-		  concat_name =
-		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, tmp, tmp_len);
-		  concat_name[tmp_len] = '/';
-		  strcpy (concat_name + tmp_len + 1, wrapper);
-		}
-	      else
-		{
-		  concat_name =
-		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, p, p_len);
-		  concat_name[p_len] = '/';
-		  strcpy (concat_name + p_len + 1, wrapper);
-		}
-	      if (check_executable (concat_name))
-		return concat_name;
-	      XFREE (concat_name);
-	    }
-	}
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-		      "checking path component for symlinks: %s\n",
-		      tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-	{
-	  if (S_ISLNK (s.st_mode) != 0)
-	    {
-	      has_symlinks = 1;
-	      break;
-	    }
-
-	  /* search backwards for last DIR_SEPARATOR */
-	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    p--;
-	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    {
-	      /* no more DIR_SEPARATORS left */
-	      break;
-	    }
-	  *p = '\0';
-	}
-      else
-	{
-	  lt_fatal (__FILE__, __LINE__,
-		    "error accessing file \"%s\": %s",
-		    tmp_pathspec, nonnull (strerror (errno)));
-	}
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-		"could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (strcmp (str, pat) == 0)
-	*str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-	       int line, const char *mode,
-	       const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    int len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[len-1] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-	new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-	{
-	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-	  size_t length;
-	  unsigned int backslashes;
-	  const char *s;
-	  char *quoted_string;
-	  char *p;
-
-	  length = 0;
-	  backslashes = 0;
-	  if (quote_around)
-	    length++;
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		length += backslashes + 1;
-	      length++;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    length += backslashes + 1;
-
-	  quoted_string = XMALLOC (char, length + 1);
-
-	  p = quoted_string;
-	  backslashes = 0;
-	  if (quote_around)
-	    *p++ = '"';
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		{
-		  unsigned int j;
-		  for (j = backslashes + 1; j > 0; j--)
-		    *p++ = '\\';
-		}
-	      *p++ = c;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    {
-	      unsigned int j;
-	      for (j = backslashes; j > 0; j--)
-		*p++ = '\\';
-	      *p++ = '"';
-	    }
-	  *p = '\0';
-
-	  new_argv[i] = quoted_string;
-	}
-      else
-	new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-		;;
-	    esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-	    func_emit_wrapper yes |
-              $SED -e 's/\([\\"]\)/\\\1/g' \
-	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
-
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $opt_debug
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $opt_debug
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module="${wl}-single_module"
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	break
-	;;
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    func_warning "complete static linking is impossible in this configuration"
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  func_append compile_command " @OUTPUT@"
-	  func_append finalize_command " @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	bindir)
-	  bindir="$arg"
-	  prev=
-	  continue
-	  ;;
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    func_append compile_command " @SYMFILE@"
-	    func_append finalize_command " @SYMFILE@"
-	    preload=yes
-	  fi
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  test -f "$arg" \
-	    || func_fatal_error "symbol file \`$arg' does not exist"
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	framework)
-	  case $host in
-	    *-*-darwin*)
-	      case "$deplibs " in
-		*" $qarg.ltframework "*) ;;
-		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
-		   ;;
-	      esac
-	      ;;
-	  esac
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat "$save_arg"`
-	    do
-#	      moreargs="$moreargs $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if func_lalib_unsafe_p "$arg"; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		func_source "$arg"
-
-		if test -z "$pic_object" ||
-		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none &&
-		   test "$non_pic_object" = none; then
-		  func_fatal_error "cannot find name of object for \`$arg'"
-		fi
-
-		# Extract subdirectory from the argument.
-		func_dirname "$arg" "/" ""
-		xdir="$func_dirname_result"
-
-		if test "$pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
-
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
-		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  func_append libobjs " $pic_object"
-		  arg="$pic_object"
-		fi
-
-		# Non-PIC object.
-		if test "$non_pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
-
-		  # A standard non-PIC object
-		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if $opt_dry_run; then
-		  # Extract subdirectory from the argument.
-		  func_dirname "$arg" "/" ""
-		  xdir="$func_dirname_result"
-
-		  func_lo2o "$arg"
-		  pic_object=$xdir$objdir/$func_lo2o_result
-		  non_pic_object=$xdir$func_lo2o_result
-		  func_append libobjs " $pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-	        else
-		  func_fatal_error "\`$arg' is not a valid libtool object"
-		fi
-	      fi
-	    done
-	  else
-	    func_fatal_error "link input file \`$arg' does not exist"
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    func_fatal_error "only absolute run-paths are allowed"
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	shrext)
-	  shrext_cmds="$arg"
-	  prev=
-	  continue
-	  ;;
-	weak)
-	  weak_libs="$weak_libs $arg"
-	  prev=
-	  continue
-	  ;;
-	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
-	  prev=
-	  func_append compile_command " $wl$qarg"
-	  func_append finalize_command " $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  # See comment for -static flag below, for more details.
-	  func_append compile_command " $link_static_flag"
-	  func_append finalize_command " $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -bindir)
-	prev=bindir
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  func_fatal_error "more than one -exported-symbols argument is not allowed"
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework)
-	prev=framework
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	func_stripname '-L' '' "$arg"
-	dir=$func_stripname_result
-	if test -z "$dir"; then
-	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between \`-L' and \`$1'"
-	  else
-	    func_fatal_error "need path for \`-L' option"
-	  fi
-	fi
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "*) ;;
-	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  ::) dllsearchpath=$dir;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs System.ltframework"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	elif test "X$arg" = "X-lc_r"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	deplibs="$deplibs $arg"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot)
-	compiler_flags="$compiler_flags $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	prev=xcompiler
-	continue
-	;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	compiler_flags="$compiler_flags $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	case "$new_inherited_linker_flags " in
-	    *" $arg "*) ;;
-	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
-	esac
-	continue
-	;;
-
-      -multi_module)
-	single_module="${wl}-multi_module"
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # and Darwin in order for the loader to find any dlls it needs.
-	  func_warning "\`-no-install' is ignored for $host"
-	  func_warning "assuming \`-no-fast-install' instead"
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	func_stripname '-R' '' "$arg"
-	dir=$func_stripname_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  func_fatal_error "only absolute run-paths are allowed"
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -shared)
-	# The effects of -shared are defined in a previous loop.
-	continue
-	;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -static | -static-libtool-libs)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -weak)
-        prev=weak
-	continue
-	;;
-
-      -Wc,*)
-	func_stripname '-Wc,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-	  arg="$arg $func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
-	done
-	IFS="$save_ifs"
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Wl,*)
-	func_stripname '-Wl,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
-	  linker_flags="$linker_flags $func_quote_for_eval_result"
-	done
-	IFS="$save_ifs"
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # -msg_* for osf cc
-      -msg_*)
-	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-
-      # Flags to be passed through unchanged, with rationale:
-      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-      # -r[0-9][0-9]*        specify processor for the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-      # -q*                  compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-      # -F/path              path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-      # @file                GCC response files
-      # -tp=*                Portland pgcc target processor selection
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
-        func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-
-      *.$objext)
-	# A standard object.
-	objs="$objs $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if func_lalib_unsafe_p "$arg"; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  func_source "$arg"
-
-	  if test -z "$pic_object" ||
-	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none &&
-	     test "$non_pic_object" = none; then
-	    func_fatal_error "cannot find name of object for \`$arg'"
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  func_dirname "$arg" "/" ""
-	  xdir="$func_dirname_result"
-
-	  if test "$pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    pic_object="$xdir$pic_object"
-
-	    if test "$prev" = dlfiles; then
-	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test "$prev" = dlprefiles; then
-	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    func_append libobjs " $pic_object"
-	    arg="$pic_object"
-	  fi
-
-	  # Non-PIC object.
-	  if test "$non_pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object="$xdir$non_pic_object"
-
-	    # A standard non-PIC object
-	    func_append non_pic_objects " $non_pic_object"
-	    if test -z "$pic_object" || test "$pic_object" = none ; then
-	      arg="$non_pic_object"
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object="$pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if $opt_dry_run; then
-	    # Extract subdirectory from the argument.
-	    func_dirname "$arg" "/" ""
-	    xdir="$func_dirname_result"
-
-	    func_lo2o "$arg"
-	    pic_object=$xdir$objdir/$func_lo2o_result
-	    non_pic_object=$xdir$func_lo2o_result
-	    func_append libobjs " $pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  else
-	    func_fatal_error "\`$arg' is not a valid libtool object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	if test "$prev" = dlfiles; then
-	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
-	  prev=
-	elif test "$prev" = dlprefiles; then
-	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
-	  prev=
-	else
-	  deplibs="$deplibs $arg"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_duplicate_deps ; then
-	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	esac
-      fi
-      libs="$libs $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-	passes="conv dlpreopen link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=no
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
-	## FIXME: Find the place where the list is rebuilt in the wrong
-	##        order, and fix it there properly
-        tmp_deplibs=
-	for deplib in $deplibs; do
-	  tmp_deplibs="$deplib $tmp_deplibs"
-	done
-	deplibs="$tmp_deplibs"
-      fi
-
-      if test "$linkmode,$pass" = "lib,link" ||
-	 test "$linkmode,$pass" = "prog,scan"; then
-	libs="$deplibs"
-	deplibs=
-      fi
-      if test "$linkmode" = prog; then
-	case $pass in
-	dlopen) libs="$dlfiles" ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
-	# Collect and forward deplibs of preopened libtool libs
-	for lib in $dlprefiles; do
-	  # Ignore non-libtool-libs
-	  dependency_libs=
-	  case $lib in
-	  *.la)	func_source "$lib" ;;
-	  esac
-
-	  # Collect preopened libtool deplibs, except any this library
-	  # has declared as weak libs
-	  for deplib in $dependency_libs; do
-	    func_basename "$deplib"
-            deplib_base=$func_basename_result
-	    case " $weak_libs " in
-	    *" $deplib_base "*) ;;
-	    *) deplibs="$deplibs $deplib" ;;
-	    esac
-	  done
-	done
-	libs="$dlprefiles"
-      fi
-      if test "$pass" = dlopen; then
-	# Collect dlpreopened libraries
-	save_deplibs="$deplibs"
-	deplibs=
-      fi
-
-      for deplib in $libs; do
-	lib=
-	found=no
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    compiler_flags="$compiler_flags $deplib"
-	    if test "$linkmode" = lib ; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    func_warning "\`-l' is ignored for archives/objects"
-	    continue
-	  fi
-	  func_stripname '-l' '' "$deplib"
-	  name=$func_stripname_result
-	  if test "$linkmode" = lib; then
-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-	  else
-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-	  fi
-	  for searchdir in $searchdirs; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib="$searchdir/lib${name}${search_ext}"
-	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
-		  found=yes
-		else
-		  found=no
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  else # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if func_lalib_p "$lib"; then
-		  library_names=
-		  old_library=
-		  func_source "$lib"
-		  for l in $old_library $library_names; do
-		    ll="$l"
-		  done
-		  if test "X$ll" = "X$old_library" ; then # only static version available
-		    found=no
-		    func_dirname "$lib" "" "."
-		    ladir="$func_dirname_result"
-		    lib=$ladir/$old_library
-		    if test "$linkmode,$pass" = "prog,link"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-		;;
-	      *) ;;
-	      esac
-	    fi
-	  fi
-	  ;; # -l
-	*.ltframework)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    deplibs="$deplib $deplibs"
-	    if test "$linkmode" = lib ; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
-	    ;;
-	  prog)
-	    if test "$pass" = conv; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test "$pass" = scan; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
-	    ;;
-	  *)
-	    func_warning "\`-L' is ignored for archives/objects"
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test "$pass" = link; then
-	    func_stripname '-R' '' "$deplib"
-	    dir=$func_stripname_result
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la) lib="$deplib" ;;
-	*.$libext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    # Linking convenience modules into shared libraries is allowed,
-	    # but linking other static libraries is non-portable.
-	    case " $dlpreconveniencelibs " in
-	    *" $deplib "*) ;;
-	    *)
-	      valid_a_lib=no
-	      case $deplibs_check_method in
-		match_pattern*)
-		  set dummy $deplibs_check_method; shift
-		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		    valid_a_lib=yes
-		  fi
-		;;
-		pass_all)
-		  valid_a_lib=yes
-		;;
-	      esac
-	      if test "$valid_a_lib" != yes; then
-		echo
-		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because the file extensions .$libext of this argument makes me believe"
-		echo "*** that it is just a static archive that I should not use here."
-	      else
-		echo
-		$ECHO "*** Warning: Linking the shared library $output against the"
-		$ECHO "*** static library $deplib is not portable!"
-		deplibs="$deplib $deplibs"
-	      fi
-	      ;;
-	    esac
-	    continue
-	    ;;
-	  prog)
-	    if test "$pass" != link; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	  elif test "$linkmode" = prog; then
-	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      newdlfiles="$newdlfiles $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=yes
-	  continue
-	  ;;
-	esac # case $deplib
-
-	if test "$found" = yes || test -f "$lib"; then :
-	else
-	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-	fi
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$lib" \
-	  || func_fatal_error "\`$lib' is not a valid libtool archive"
-
-	func_dirname "$lib" "" "."
-	ladir="$func_dirname_result"
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	inherited_linker_flags=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	func_source "$lib"
-
-	# Convert "-framework foo" to "foo.ltframework"
-	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
-	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-	    case " $new_inherited_linker_flags " in
-	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
-	    esac
-	  done
-	fi
-	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-	fi
-
-	if test "$pass" = conv; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      func_fatal_error "cannot find name of link library for \`$lib'"
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    func_fatal_error "\`$lib' is not a convenience library"
-	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-	if test -z "$linklib"; then
-	  func_fatal_error "cannot find name of link library for \`$lib'"
-	fi
-
-	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
-	  if test -z "$libdir"; then
-	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-	  fi
-	  if test -z "$dlname" ||
-	     test "$dlopen_support" != yes ||
-	     test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
-	  else
-	    newdlfiles="$newdlfiles $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    func_warning "cannot determine absolute directory name of \`$ladir'"
-	    func_warning "passing it literally to the linker, although it might fail"
-	    abs_ladir="$ladir"
-	  fi
-	  ;;
-	esac
-	func_basename "$lib"
-	laname="$func_basename_result"
-
-	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    func_warning "library \`$lib' was moved."
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
-	  else
-	    dir="$libdir"
-	    absdir="$libdir"
-	  fi
-	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  else
-	    dir="$ladir/$objdir"
-	    absdir="$abs_ladir/$objdir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  fi
-	fi # $installed = yes
-	func_stripname 'lib' '.la' "$laname"
-	name=$func_stripname_result
-
-	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir" && test "$linkmode" = prog; then
-	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
-	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	    # Keep a list of preopened convenience libraries to check
-	    # that they are being used correctly in the link pass.
-	    test -z "$libdir" && \
-		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test "$linkmode" = lib; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) func_stripname '-L' '' "$deplib"
-	         newlib_search_path="$newlib_search_path $func_stripname_result"
-		 ;;
-	    esac
-	    # Need to link against all dependency_libs?
-	    if test "$linkalldeplibs" = yes; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test "$linkmode,$pass" = "prog,link"; then
-	  if test -n "$library_names" &&
-	     { { test "$prefer_static_libs" = no ||
-	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
-	       test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath:" in
-	      *"$absdir:"*) ;;
-	      *) temp_rpath="$temp_rpath$absdir:" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc*)
-	      # No point in relinking DLLs because paths are not encoded
-	      notinst_deplibs="$notinst_deplibs $lib"
-	      need_relink=no
-	    ;;
-	  *)
-	    if test "$installed" = no; then
-	      notinst_deplibs="$notinst_deplibs $lib"
-	      need_relink=yes
-	    fi
-	    ;;
-	  esac
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on some
-	  # systems (darwin).  Don't bleat about dlopened modules though!
-	  dlopenmodule=""
-	  for dlpremoduletest in $dlprefiles; do
-	    if test "X$dlpremoduletest" = "X$lib"; then
-	      dlopenmodule="$dlpremoduletest"
-	      break
-	    fi
-	  done
-	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-	    echo
-	    if test "$linkmode" = prog; then
-	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $ECHO "*** $linklib is not portable!"
-	  fi
-	  if test "$linkmode" = lib &&
-	     test "$hardcode_into_libs" = yes; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    shift
-	    realname="$1"
-	    shift
-	    libname=`eval "\\$ECHO \"$libname_spec\""`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname="$dlname"
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw* | *cegcc*)
-	        func_arith $current - $age
-		major=$func_arith_result
-		versuffix="-$major"
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname="$realname"
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
-	    func_basename "$soroot"
-	    soname="$func_basename_result"
-	    func_stripname 'lib' '.dll' "$soname"
-	    newlib=libimp-$func_stripname_result.a
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      func_verbose "extracting exported symbol list from \`$soname'"
-	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      func_verbose "generating import library for \`$soname'"
-	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test "$linkmode" = prog || test "$mode" != relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir="-L$dir" ;;
-		  *-*-darwin* )
-		    # if the lib is a (non-dlopened) module then we can not
-		    # link against it, someone is ignoring the earlier warnings
-		    if /usr/bin/file -L $add 2> /dev/null |
-			 $GREP ": [^:]* bundle" >/dev/null ; then
-		      if test "X$dlopenmodule" != "X$lib"; then
-			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
-			if test -z "$old_library" ; then
-			  echo
-			  echo "*** And there doesn't seem to be a static archive available"
-			  echo "*** The link will probably fail, sorry"
-			else
-			  add="$dir/$old_library"
-			fi
-		      elif test -n "$old_library"; then
-			add="$dir/$old_library"
-		      fi
-		    fi
-		esac
-	      elif test "$hardcode_minus_L" = no; then
-		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
-		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test "$hardcode_direct" = yes &&
-	         test "$hardcode_direct_absolute" = no; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test "$lib_linked" != yes; then
-	      func_fatal_configuration "unsupported hardcode properties"
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes &&
-		 test "$hardcode_minus_L" != yes &&
-		 test "$hardcode_shlibpath_var" = yes; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test "$linkmode" = prog || test "$mode" = relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes &&
-	       test "$hardcode_direct_absolute" = no; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-	      esac
-	      add="-l$name"
-	    elif test "$hardcode_automatic" = yes; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-		add="$inst_prefix_dir$libdir/$linklib"
-	      else
-		add="$libdir/$linklib"
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add="-l$name"
-	    fi
-
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test "$linkmode" = prog; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test "$build_libtool_libs" = yes; then
-	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    echo
-	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
-	    echo "*** I have the capability to make that library automatically link in when"
-	    echo "*** you link to this library.  But I can only do this if you have a"
-	    echo "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
-	      echo "*** But as you try to build a module library, libtool will still create "
-	      echo "*** a static module, that should work as long as the dlopening application"
-	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		echo
-		echo "*** However, this would only work if libtool was able to extract symbol"
-		echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		echo "*** not find such a program.  So, this module is probably useless."
-		echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test "$build_old_libs" = no; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test "$linkmode" = lib; then
-	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes ||
-	       test "$build_old_libs" = yes ||
-	       test "$link_static" = yes; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) func_stripname '-R' '' "$libdir"
-	           temp_xrpath=$func_stripname_result
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
-		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
-	      esac
-	    done
-	    dependency_libs="$temp_deplibs"
-	  fi
-
-	  newlib_search_path="$newlib_search_path $absdir"
-	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-
-	  if test "$link_all_deplibs" != no; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      path=
-	      case $deplib in
-	      -L*) path="$deplib" ;;
-	      *.la)
-	        func_dirname "$deplib" "" "."
-		dir="$func_dirname_result"
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    func_warning "cannot determine absolute directory name of \`$dir'"
-		    absdir="$dir"
-		  fi
-		  ;;
-		esac
-		if $GREP "^installed=no" $deplib > /dev/null; then
-		case $host in
-		*-*-darwin*)
-		  depdepl=
-		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names" ; then
-		    for tmp in $deplibrary_names ; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$absdir/$objdir/$depdepl" ; then
-		      depdepl="$absdir/$objdir/$depdepl"
-		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
-		      path=
-		    fi
-		  fi
-		  ;;
-		*)
-		  path="-L$absdir/$objdir"
-		  ;;
-		esac
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  test -z "$libdir" && \
-		    func_fatal_error "\`$deplib' is not a valid libtool archive"
-		  test "$absdir" != "$libdir" && \
-		    func_warning "\`$deplib' seems to be moved"
-
-		  path="-L$absdir"
-		fi
-		;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      if test "$pass" = link; then
-	if test "$linkmode" = "prog"; then
-	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-	else
-	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	fi
-      fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test "$pass" != dlopen; then
-	if test "$pass" != conv; then
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	fi
-
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
-	  vars="compile_deplibs finalize_deplibs"
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
-	      esac
-	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=""
-	  ;;
-	esac
-	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-    fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-	func_warning "\`-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-	func_warning "\`-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-	func_stripname 'lib' '.la' "$outputname"
-	name=$func_stripname_result
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	test "$module" = no && \
-	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  func_stripname '' '.la' "$outputname"
-	  name=$func_stripname_result
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  func_stripname '' '.la' "$outputname"
-	  libname=$func_stripname_result
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
-	else
-	  echo
-	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-	  $ECHO "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
-	fi
-      fi
-
-      test "$dlself" != no && \
-	func_warning "\`-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test "$#" -gt 1 && \
-	func_warning "ignoring multiple \`-rpath's for a libtool library"
-
-      install_libdir="$1"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a `.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	test -n "$vinfo" && \
-	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
-	test -n "$release" && \
-	  func_warning "\`-release' is ignored for convenience libraries"
-      else
-
-	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	shift
-	IFS="$save_ifs"
-
-	test -n "$7" && \
-	  func_fatal_help "too many parameters to \`-version-info'"
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major="$1"
-	  number_minor="$2"
-	  number_revision="$3"
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # which has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  darwin|linux|osf|windows|none)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_revision"
-	    ;;
-	  freebsd-aout|freebsd-elf|qnx|sunos)
-	    current="$number_major"
-	    revision="$number_minor"
-	    age="0"
-	    ;;
-	  irix|nonstopux)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_minor"
-	    lt_irix_increment=no
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current="$1"
-	  revision="$2"
-	  age="$3"
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "CURRENT \`$current' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "REVISION \`$revision' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "AGE \`$age' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
-	  # Darwin ld doesn't like 0 for these options...
-	  func_arith $current + 1
-	  minor_current=$func_arith_result
-	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current"
-	  ;;
-
-	irix | nonstopux)
-	  if test "X$lt_irix_increment" = "Xno"; then
-	    func_arith $current - $age
-	  else
-	    func_arith $current - $age + 1
-	  fi
-	  major=$func_arith_result
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring="$verstring_prefix$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test "$loop" -ne 0; do
-	    func_arith $revision - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring="$verstring_prefix$major.$iface:$verstring"
-	  done
-
-	  # Before this point, $major must not contain `.'.
-	  major=.$major
-	  versuffix="$major.$revision"
-	  ;;
-
-	linux)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test "$loop" -ne 0; do
-	    func_arith $current - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	qnx)
-	  major=".$current"
-	  versuffix=".$current"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
-	  func_arith $current - $age
-	  major=$func_arith_result
-	  versuffix="-$major"
-	  ;;
-
-	*)
-	  func_fatal_configuration "unknown library version type \`$version_type'"
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring="0.0"
-	    ;;
-	  esac
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    func_warning "undefined symbols not allowed in $host shared libraries"
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" "yes"
-      libobjs="$libobjs $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
-
-      if test "$mode" != relink; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$ECHO "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext | *.gcno)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-	       if test "X$precious_files_regex" != "X"; then
-		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-		 then
-		   continue
-		 fi
-	       fi
-	       removelist="$removelist $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	test -n "$removelist" && \
-	  func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
-      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
-	esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs System.ltframework"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
-	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $opt_dry_run || $RM conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $opt_dry_run || $RM conftest
-	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
-		    i=""
-		    ;;
-		  esac
-		fi
-		if test -n "$i" ; then
-		  libname=`eval "\\$ECHO \"$libname_spec\""`
-		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		  set dummy $deplib_matches; shift
-		  deplib_match=$1
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    echo
-		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    echo "*** I have the capability to make that library automatically link in when"
-		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which I believe you do not have"
-		    echo "*** because a test_compile did reveal that the linker did not use it for"
-		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-		;;
-	      *)
-		newdeplibs="$newdeplibs $i"
-		;;
-	      esac
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		$opt_dry_run || $RM conftest
-		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-		  ldd_output=`ldd conftest`
-		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
-		      i=""
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i" ; then
-		    libname=`eval "\\$ECHO \"$libname_spec\""`
-		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		    set dummy $deplib_matches; shift
-		    deplib_match=$1
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
-		    else
-		      droppeddeps=yes
-		      echo
-		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      echo "*** I have the capability to make that library automatically link in when"
-		      echo "*** you link to this library.  But I can only do this if you have a"
-		      echo "*** shared version of the library, which you do not appear to have"
-		      echo "*** because a test_compile did reveal that the linker did not use this one"
-		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  echo
-		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  echo "*** make it link in!  You will probably need to install it or some"
-		  echo "*** library that it depends on before this library will be fully"
-		  echo "*** functional.  Installing it before continuing would be even better."
-		fi
-		;;
-	      *)
-		newdeplibs="$newdeplibs $i"
-		;;
-	      esac
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method; shift
-	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null |
-			 $GREP " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-			 $SED -e 10q |
-			 $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method; shift
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
-		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
-		      a_deplib=""
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	    for i in $predeps $postdeps ; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"`
-	    done
-	  fi
-	  case $tmp_deplibs in
-	  *[!\	\ ]*)
-	    echo
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	    ;;
-	  esac
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
-	  ;;
-	esac
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    echo
-	    echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    echo "*** a static module, that should work as long as the dlopening"
-	    echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      echo
-	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    echo "*** The inter-library dependencies that have been dropped here will be"
-	    echo "*** automatically added whenever a program is linked with this library"
-	    echo "*** or is declared to -dlopen it."
-
-	    if test "$allow_undefined" = no; then
-	      echo
-	      echo "*** Since this library must not contain undefined symbols,"
-	      echo "*** because either the platform does not support them or"
-	      echo "*** it was explicitly requested with -no-undefined,"
-	      echo "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-	*-*-darwin*)
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      deplibs="$new_libs"
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	if test "$hardcode_into_libs" = yes; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	shift
-	realname="$1"
-	shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib="$output_objdir/$realname"
-	linknames=
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	test "X$libobjs" = "X " && libobjs=
-
-	delfiles=
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-	  export_symbols="$output_objdir/$libname.uexp"
-	  delfiles="$delfiles $export_symbols"
-	fi
-
-	orig_export_symbols=
-	case $host_os in
-	cygwin* | mingw* | cegcc*)
-	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-	    # exporting using user supplied symfile
-	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
-	      # and it's NOT already a .def file. Must figure out
-	      # which of the given symbols are data symbols and tag
-	      # them as such. So, trigger use of export_symbols_cmds.
-	      # export_symbols gets reassigned inside the "prepare
-	      # the list of exported symbols" if statement, so the
-	      # include_expsyms logic still works.
-	      orig_export_symbols="$export_symbols"
-	      export_symbols=
-	      always_export_symbols=yes
-	    fi
-	  fi
-	  ;;
-	esac
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    func_verbose "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $opt_dry_run || $RM $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      func_len " $cmd"
-	      len=$func_len_result
-	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-		func_show_eval "$cmd" 'exit $?'
-		skipped_export=false
-	      else
-		# The command line is too long to execute in one step.
-		func_verbose "using reloadable object file for export list..."
-		skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  tmp_export_symbols="$export_symbols"
-	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	fi
-
-	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-	  # The given exports_symbols file has to be filtered, so filter it.
-	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	  # 's' commands which not all seds can handle. GNU sed should be fine
-	  # though. Also, the filter scales superlinearly with the number of
-	  # global variables. join(1) would be nice here, but unfortunately
-	  # isn't a blessed tool.
-	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-	  export_symbols=$output_objdir/$libname.def
-	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-	  case " $convenience " in
-	  *" $test_deplib "*) ;;
-	  *)
-	    tmp_deplibs="$tmp_deplibs $test_deplib"
-	    ;;
-	  esac
-	done
-	deplibs="$tmp_deplibs"
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec" &&
-	    test "$compiler_needs_object" = yes &&
-	    test -z "$libobjs"; then
-	    # extract the archives, so we have objects to list.
-	    # TODO: could optimize this to just extract one archive.
-	    whole_archive_flag_spec=
-	  fi
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	fi
-
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test "$module" = yes && test -n "$module_cmds" ; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    eval test_cmds=\"$archive_expsym_cmds\"
-	    cmds=$archive_expsym_cmds
-	  else
-	    eval test_cmds=\"$archive_cmds\"
-	    cmds=$archive_cmds
-	  fi
-	fi
-
-	if test "X$skipped_export" != "X:" &&
-	   func_len " $test_cmds" &&
-	   len=$func_len_result &&
-	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise
-	  # or, if using GNU ld and skipped_export is not :, use a linker
-	  # script.
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  func_basename "$output"
-	  output_la=$func_basename_result
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  last_robj=
-	  k=1
-
-	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-	    output=${output_objdir}/${output_la}.lnkscript
-	    func_verbose "creating GNU ld script: $output"
-	    echo 'INPUT (' > $output
-	    for obj in $save_libobjs
-	    do
-	      $ECHO "$obj" >> $output
-	    done
-	    echo ')' >> $output
-	    delfiles="$delfiles $output"
-	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-	    output=${output_objdir}/${output_la}.lnk
-	    func_verbose "creating linker input file list: $output"
-	    : > $output
-	    set x $save_libobjs
-	    shift
-	    firstobj=
-	    if test "$compiler_needs_object" = yes; then
-	      firstobj="$1 "
-	      shift
-	    fi
-	    for obj
-	    do
-	      $ECHO "$obj" >> $output
-	    done
-	    delfiles="$delfiles $output"
-	    output=$firstobj\"$file_list_spec$output\"
-	  else
-	    if test -n "$save_libobjs"; then
-	      func_verbose "creating reloadable object files..."
-	      output=$output_objdir/$output_la-${k}.$objext
-	      eval test_cmds=\"$reload_cmds\"
-	      func_len " $test_cmds"
-	      len0=$func_len_result
-	      len=$len0
-
-	      # Loop over the list of objects to be linked.
-	      for obj in $save_libobjs
-	      do
-		func_len " $obj"
-		func_arith $len + $func_len_result
-		len=$func_arith_result
-		if test "X$objlist" = X ||
-		   test "$len" -lt "$max_cmd_len"; then
-		  func_append objlist " $obj"
-		else
-		  # The command $test_cmds is almost too long, add a
-		  # command to the queue.
-		  if test "$k" -eq 1 ; then
-		    # The first file doesn't have a previous command to add.
-		    reload_objs=$objlist
-		    eval concat_cmds=\"$reload_cmds\"
-		  else
-		    # All subsequent reloadable object files will link in
-		    # the last one created.
-		    reload_objs="$objlist $last_robj"
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
-		  fi
-		  last_robj=$output_objdir/$output_la-${k}.$objext
-		  func_arith $k + 1
-		  k=$func_arith_result
-		  output=$output_objdir/$output_la-${k}.$objext
-		  objlist=" $obj"
-		  func_len " $last_robj"
-		  func_arith $len0 + $func_len_result
-		  len=$func_arith_result
-		fi
-	      done
-	      # Handle the remaining objects by creating one last
-	      # reloadable object file.  All subsequent reloadable object
-	      # files will link in the last one created.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      reload_objs="$objlist $last_robj"
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds\"
-	      if test -n "$last_robj"; then
-	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
-	      fi
-	      delfiles="$delfiles $output"
-
-	    else
-	      output=
-	    fi
-
-	    if ${skipped_export-false}; then
-	      func_verbose "generating symbol list for \`$libname.la'"
-	      export_symbols="$output_objdir/$libname.exp"
-	      $opt_dry_run || $RM $export_symbols
-	      libobjs=$output
-	      # Append the command to create the export file.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-	      if test -n "$last_robj"; then
-		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	    fi
-
-	    test -n "$save_libobjs" &&
-	      func_verbose "creating a temporary reloadable object file: $output"
-
-	    # Loop through the commands generated above and execute them.
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $concat_cmds; do
-	      IFS="$save_ifs"
-	      $opt_silent || {
-		  func_quote_for_expand "$cmd"
-		  eval "func_echo $func_quote_for_expand_result"
-	      }
-	      $opt_dry_run || eval "$cmd" || {
-		lt_exit=$?
-
-		# Restore the uninstalled library and exit
-		if test "$mode" = relink; then
-		  ( cd "$output_objdir" && \
-		    $RM "${realname}T" && \
-		    $MV "${realname}U" "$realname" )
-		fi
-
-		exit $lt_exit
-	      }
-	    done
-	    IFS="$save_ifs"
-
-	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-
-          if ${skipped_export-false}; then
-	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	      tmp_export_symbols="$export_symbols"
-	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	    fi
-
-	    if test -n "$orig_export_symbols"; then
-	      # The given exports_symbols file has to be filtered, so filter it.
-	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	      # 's' commands which not all seds can handle. GNU sed should be fine
-	      # though. Also, the filter scales superlinearly with the number of
-	      # global variables. join(1) would be nice here, but unfortunately
-	      # isn't a blessed tool.
-	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-	      export_symbols=$output_objdir/$libname.def
-	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	    fi
-	  fi
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test "$module" = yes && test -n "$module_cmds" ; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	      cmds=$archive_expsym_cmds
-	    else
-	      cmds=$archive_cmds
-	    fi
-	  fi
-	fi
-
-	if test -n "$delfiles"; then
-	  # Append the command to remove temporary files to $cmds.
-	  eval cmds=\"\$cmds~\$RM $delfiles\"
-	fi
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  libobjs="$libobjs $func_extract_archives_result"
-	  test "X$libobjs" = "X " && libobjs=
-	fi
-
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $opt_silent || {
-	    func_quote_for_expand "$cmd"
-	    eval "func_echo $func_quote_for_expand_result"
-	  }
-	  $opt_dry_run || eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
-	      ( cd "$output_objdir" && \
-	        $RM "${realname}T" && \
-		$MV "${realname}U" "$realname" )
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS="$save_ifs"
-
-	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      func_show_eval '${RM}r "$gentop"'
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for objects"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-	test -n "$objs$old_deplibs" && \
-	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
-	libobj=$output
-	func_lo2o "$libobj"
-	obj=$func_lo2o_result
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
-	else
-	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-	func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) func_stripname '' '.exe' "$output"
-	          output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for programs"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for programs"
-
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-	&& test "$dlopen_self" = unknown \
-	&& test "$dlopen_self_static" = unknown && \
-	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-	# Don't allow lazy linking, it breaks C++ global constructors
-	# But is supposedly fixed on 10.4 or later (yay!).
-	if test "$tagname" = CXX ; then
-	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-	    10.[0123])
-	      compile_command="$compile_command ${wl}-bind_at_load"
-	      finalize_command="$finalize_command ${wl}-bind_at_load"
-	    ;;
-	  esac
-	fi
-	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  ::) dllsearchpath=$libdir;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-	func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=yes
-      case $host in
-      *cegcc* | *mingw32ce*)
-        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
-      *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      esac
-      if test "$wrappers_required" = no; then
-	# Replace the output file specification.
-	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	exit_status=0
-	func_show_eval "$link_command" 'exit_status=$?'
-
-	# Delete the generated files.
-	if test -f "$output_objdir/${outputname}S.${objext}"; then
-	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-	fi
-
-	exit $exit_status
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$no_install" = yes; then
-	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
-	# Replace the output file specification.
-	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$opt_dry_run || $RM $output
-	# Link the executable and exit
-	func_show_eval "$link_command" 'exit $?'
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	func_warning "this platform does not like uninstalled shared libraries"
-	func_warning "\`$output' will be relinked during installation"
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    func_quote_for_eval "$var_value"
-	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) func_stripname '' '.exe' "$output"
-	         output=$func_stripname_result ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    func_stripname '' '.exe' "$outputname"
-	    outputname=$func_stripname_result ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-	    func_dirname_and_basename "$output" "" "."
-	    output_name=$func_basename_result
-	    output_path=$func_dirname_result
-	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
-	    cwrapper="$output_path/$output_name.exe"
-	    $RM $cwrappersource $cwrapper
-	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_cwrapperexe_src > $cwrappersource
-
-	    # The wrapper executable is built using the $host compiler,
-	    # because it contains $host paths and files. If cross-
-	    # compiling, it, like the target executable, must be
-	    # executed on the $host or under an emulation environment.
-	    $opt_dry_run || {
-	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-	      $STRIP $cwrapper
-	    }
-
-	    # Now, create the wrapper script for func_source use:
-	    func_ltwrapper_scriptname $cwrapper
-	    $RM $func_ltwrapper_scriptname_result
-	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-	    $opt_dry_run || {
-	      # note: this script will not be executed, so do not chmod.
-	      if test "x$build" = "x$host" ; then
-		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-	      else
-		func_emit_wrapper no > $func_ltwrapper_scriptname_result
-	      fi
-	    }
-	  ;;
-	  * )
-	    $RM $output
-	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_wrapper no > $output
-	    chmod +x $output
-	  ;;
-	esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save $symfileobj"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$old_deplibs $non_pic_objects"
-	  if test "$preload" = yes && test -f "$symfileobj"; then
-	    oldobjs="$oldobjs $symfileobj"
-	  fi
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
-
-	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-	cmds=$old_archive_from_new_cmds
-      else
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  oldobjs="$oldobjs $func_extract_archives_result"
-	fi
-
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      func_basename "$obj"
-	      $ECHO "$func_basename_result"
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  echo "copying selected object files to avoid basename conflicts..."
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-	  func_mkdir_p "$gentop"
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    func_basename "$obj"
-	    objbase="$func_basename_result"
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		func_arith $counter + 1
-		counter=$func_arith_result
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
-	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
-	    esac
-	  done
-	fi
-	eval cmds=\"$old_archive_cmds\"
-
-	func_len " $cmds"
-	len=$func_len_result
-	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  func_verbose "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  eval test_cmds=\"$old_archive_cmds\"
-	  func_len " $test_cmds"
-	  len0=$func_len_result
-	  len=$len0
-	  for obj in $save_oldobjs
-	  do
-	    func_len " $obj"
-	    func_arith $len + $func_len_result
-	    len=$func_arith_result
-	    func_append objlist " $obj"
-	    if test "$len" -lt "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj" ; then
-		RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-	      objlist=
-	      len=$len0
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test "X$oldobjs" = "X" ; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  func_quote_for_eval "$var_value"
-	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
-	relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		func_basename "$deplib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$deplib' is not a valid libtool archive"
-		newdependency_libs="$newdependency_libs $libdir/$name"
-		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-	      esac
-	    done
-	    dependency_libs="$newdependency_libs"
-	    newdlfiles=
-
-	    for lib in $dlfiles; do
-	      case $lib in
-	      *.la)
-	        func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlfiles="$newdlfiles $libdir/$name"
-		;;
-	      *) newdlfiles="$newdlfiles $lib" ;;
-	      esac
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-	      *.la)
-		# Only pass preopened files to the pseudo-archive (for
-		# eventual linking with the app. that links it) if we
-		# didn't already link the preopened objects directly into
-		# the library:
-		func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlprefiles="$newdlprefiles $libdir/$name"
-		;;
-	      esac
-	    done
-	    dlprefiles="$newdlprefiles"
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlfiles="$newdlfiles $abs"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlprefiles="$newdlprefiles $abs"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  fi
-	  $RM $output
-	  # place dlname in correct position for cygwin
-	  # In fact, it would be nice if we could use this code for all target
-	  # systems that can't hard-code library paths into their executables
-	  # and that have no shared library path variable independent of PATH,
-	  # but it turns out we can't easily determine that from inspecting
-	  # libtool variables, so we have to hard-code the OSs to which it
-	  # applies here; at the moment, that means platforms that use the PE
-	  # object format with DLL files.  See the long comment at the top of
-	  # tests/bindir.at for full details.
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-	      # If a -bindir argument was supplied, place the dll there.
-	      if test "x$bindir" != x ;
-	      then
-		func_relative_path "$install_libdir" "$bindir"
-		tdlname=$func_relative_path_result$dlname
-	      else
-		# Otherwise fall back on heuristic.
-		tdlname=../bin/$dlname
-	      fi
-	      ;;
-	  esac
-	  $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test "$installed" = no && test "$need_relink" = yes; then
-	    $ECHO >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-{ test "$mode" = link || test "$mode" = relink; } &&
-    func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $opt_debug
-    RM="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) RM="$RM $arg"; rmforce=yes ;;
-      -*) RM="$RM $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    origobjdir="$objdir"
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-	objdir="$origobjdir"
-      else
-	objdir="$dir/$origobjdir"
-      fi
-      func_basename "$file"
-      name="$func_basename_result"
-      test "$mode" = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
-	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-	 { test -h "$file"; } >/dev/null 2>&1 ||
-	 test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif test "$rmforce" = yes; then
-	continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if func_lalib_p "$file"; then
-	  func_source $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
-	  case "$mode" in
-	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
-	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
-	    esac
-	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if func_lalib_p "$file"; then
-
-	  # Read the .lo file
-	  func_source $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" &&
-	     test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" &&
-	     test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test "$mode" = clean ; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    func_stripname '' '.exe' "$file"
-	    file=$func_stripname_result
-	    func_stripname '' '.exe' "$name"
-	    noexename=$func_stripname_result
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if func_ltwrapper_p "$file"; then
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      relink_command=
-	      func_source $func_ltwrapper_scriptname_result
-	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
-	    else
-	      relink_command=
-	      func_source $dir/$noexename
-	    fi
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-    objdir="$origobjdir"
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
-
-test -z "$mode" && {
-  help="$generic_help"
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/Watchdog/m4/Makefile.am b/Watchdog/m4/Makefile.am
deleted file mode 100644
index 8f35ac1..0000000
--- a/Watchdog/m4/Makefile.am
+++ /dev/null
@@ -1,38 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-# M4 macro files to be used by the client applications with Autoconf.
-m4datadir = $(datadir)/aclocal
-m4data_DATA =
-
-# M4 macro files for internal use.
-m4macros = \
-lib-ld.m4 \
-lib-link.m4 \
-libtool.m4 \
-ltoptions.m4 \
-ltsugar.m4 \
-ltversion.m4 \
-lt~obsolete.m4
-
-EXTRA_DIST = $(m4macros) $(m4data_DATA)
diff --git a/Watchdog/m4/Makefile.in b/Watchdog/m4/Makefile.in
deleted file mode 100644
index a468138..0000000
--- a/Watchdog/m4/Makefile.in
+++ /dev/null
@@ -1,452 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = m4
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(m4datadir)"
-DATA = $(m4data_DATA)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# M4 macro files to be used by the client applications with Autoconf.
-m4datadir = $(datadir)/aclocal
-m4data_DATA = 
-
-# M4 macro files for internal use.
-m4macros = \
-lib-ld.m4 \
-lib-link.m4 \
-libtool.m4 \
-ltoptions.m4 \
-ltsugar.m4 \
-ltversion.m4 \
-lt~obsolete.m4
-
-EXTRA_DIST = $(m4macros) $(m4data_DATA)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign m4/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign m4/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-install-m4dataDATA: $(m4data_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(m4datadir)" || $(MKDIR_P) "$(DESTDIR)$(m4datadir)"
-	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(m4datadir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(m4datadir)" || exit $$?; \
-	done
-
-uninstall-m4dataDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(m4datadir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(m4datadir)" && rm -f $$files
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(DATA)
-installdirs:
-	for dir in "$(DESTDIR)$(m4datadir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-m4dataDATA
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-m4dataDATA
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	distclean distclean-generic distclean-libtool distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-m4dataDATA install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	uninstall uninstall-am uninstall-m4dataDATA
-
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/m4/lib-ld.m4 b/Watchdog/m4/lib-ld.m4
deleted file mode 100644
index 96c4e2c..0000000
--- a/Watchdog/m4/lib-ld.m4
+++ /dev/null
@@ -1,110 +0,0 @@
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/Watchdog/m4/lib-link.m4 b/Watchdog/m4/lib-link.m4
deleted file mode 100644
index 2f8b7ff..0000000
--- a/Watchdog/m4/lib-link.m4
+++ /dev/null
@@ -1,764 +0,0 @@
-# lib-link.m4 serial 20 (gettext-0.18)
-dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4],
-      [ac_cv_lib[]Name=yes],
-      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-    LIB[]NAME[]_PREFIX=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl   acl_libext,
-dnl   acl_shlibext,
-dnl   acl_hardcode_libdir_flag_spec,
-dnl   acl_hardcode_libdir_separator,
-dnl   acl_hardcode_direct,
-dnl   acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE([rpath],
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  define([acl_frompackage_]NAME, [$2])
-  popdef([NAME])
-  pushdef([PACK],[$2])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  define([acl_libsinpackage_]PACKUP,
-    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
-  popdef([PACKUP])
-  popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  LIB[]NAME[]_PREFIX=
-  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
-  dnl computed. So it has to be reset here.
-  HAVE_LIB[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-            dnl The same code as in the loop below:
-            dnl First look for a shared library.
-            if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-            dnl Then look for a static library.
-            if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$acl_hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-  popdef([P_A_C_K])
-  popdef([PACKLIBS])
-  popdef([PACKUP])
-  popdef([PACK])
-  popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
-  AC_REQUIRE([AC_LIB_RPATH])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  $1=
-  if test "$enable_rpath" != no; then
-    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-      dnl Use an explicit option to hardcode directories into the resulting
-      dnl binary.
-      rpathdirs=
-      next=
-      for opt in $2; do
-        if test -n "$next"; then
-          dir="$next"
-          dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem" \
-             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-            rpathdirs="$rpathdirs $dir"
-          fi
-          next=
-        else
-          case $opt in
-            -L) next=yes ;;
-            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
-                 dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-                   rpathdirs="$rpathdirs $dir"
-                 fi
-                 next= ;;
-            *) next= ;;
-          esac
-        fi
-      done
-      if test "X$rpathdirs" != "X"; then
-        if test -n ""$3""; then
-          dnl libtool is used for linking. Use -R options.
-          for dir in $rpathdirs; do
-            $1="${$1}${$1:+ }-R$dir"
-          done
-        else
-          dnl The linker is used for linking directly.
-          if test -n "$acl_hardcode_libdir_separator"; then
-            dnl Weird platform: only the last -rpath option counts, the user
-            dnl must pass all path elements in one option.
-            alldirs=
-            for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
-            done
-            acl_save_libdir="$libdir"
-            libdir="$alldirs"
-            eval flag=\"$acl_hardcode_libdir_flag_spec\"
-            libdir="$acl_save_libdir"
-            $1="$flag"
-          else
-            dnl The -rpath options are cumulative.
-            for dir in $rpathdirs; do
-              acl_save_libdir="$libdir"
-              libdir="$dir"
-              eval flag=\"$acl_hardcode_libdir_flag_spec\"
-              libdir="$acl_save_libdir"
-              $1="${$1}${$1:+ }$flag"
-            done
-          fi
-        fi
-      fi
-    fi
-  fi
-  AC_SUBST([$1])
-])
diff --git a/Watchdog/m4/libtool.m4 b/Watchdog/m4/libtool.m4
deleted file mode 100644
index 22924a8..0000000
--- a/Watchdog/m4/libtool.m4
+++ /dev/null
@@ -1,7437 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 57 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-       [m4_default([$3],
-		   [m4_fatal([Libtool version $1 or higher is required],
-		             63)])],
-       [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
-  *\ * | *\	*)
-    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-	[m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-	[tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-	   m4_quote(lt_decl_varnames),
-	m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-					   [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-	dnl If the libtool generation code has been placed in $CONFIG_LT,
-	dnl instead of duplicating it all over again into config.status,
-	dnl then we will have config.status run $CONFIG_LT later, so it
-	dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test $lt_write_fail = 0 && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to <bug-libtool at gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test "$silent" = yes &&
-  lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
-  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-  m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-  _LT_PROG_LTMAIN
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  _LT_PROG_XSI_SHELLFNS
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
-  [C],			[_LT_LANG(C)],
-  [C++],		[_LT_LANG(CXX)],
-  [Java],		[_LT_LANG(GCJ)],
-  [Fortran 77],		[_LT_LANG(F77)],
-  [Fortran],		[_LT_LANG(FC)],
-  [Windows Resource],	[_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&AS_MESSAGE_LOG_FD
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-	[lt_cv_ld_exported_symbols_list=yes],
-	[lt_cv_ld_exported_symbols_list=no])
-	LDFLAGS="$save_LDFLAGS"
-    ])
-    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
-      [lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-	lt_cv_ld_force_load=yes
-      else
-	cat conftest.err >&AS_MESSAGE_LOG_FD
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[[012]]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  fi
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    m4_if([$1], [CXX],
-[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-],[])
-  else
-  _LT_TAGVAR(ld_shlibs, $1)=no
-  fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*" 
-}
-
-case "$ECHO" in
-  printf*) AC_MSG_RESULT([printf]) ;;
-  print*) AC_MSG_RESULT([print -r]) ;;
-  *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
-  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test "X`printf %s $ECHO`" = "X$ECHO" \
-      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-  [AS_HELP_STRING([--disable-libtool-lock],
-    [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE="32"
-	;;
-      *ELF-64*)
-	HPUX_IA64_MODE="64"
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
-	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
-    [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
-    [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$5], , :, [$5])
-else
-    m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$4], , :, [$4])
-else
-    m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-	  if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}]
-_LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-	  lt_cv_dlopen_self_static, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-	 [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-	 [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-	 [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-	[Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-	[], [
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([[A-Za-z]]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-m4_if([$1], [],[
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-    [lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-	 [lt_cv_shlibpath_overrides_runpath=yes])])
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-    ])
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
-    [Variables whose values should be saved in libtool wrapper scripts and
-    restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
-    [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
-    [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
-    [[List of archive names.  First name is the real one, the rest are links.
-    The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
-    [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
-    [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
-    [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
-    [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
-    [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
-    [[As "finish_cmds", except a single script fragment to be evaled but
-    not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
-    [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
-    [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="m4_if([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool at gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
-	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
-    [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method == "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-  AC_SUBST([DUMPBIN])
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-  [lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
-  cat conftest.out >&AS_MESSAGE_LOG_FD
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
-  esac
-
-  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-	[Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK ['"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx]"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-	  cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-    [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-    [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
-    [lt_cv_sys_global_symbol_to_c_name_address], [1],
-    [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-    [Transform the output of nm in a C name address pair when lib prefix is needed])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
-m4_if([$1], [CXX], [
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64 which still supported -KPIC.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	# +Z the default
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-	[Additional compiler flags for building library objects])
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-	[Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    # Also, AIX nm treats weak defined symbols like other global defined
-    # symbols, whereas GNU nm marks them as "W".
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw* | cegcc*)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_TAGVAR(ld_shlibs, $1)=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-	# The AIX port of GNU ld has always aspired to compatibility
-	# with the native linker.  However, as the warning in the GNU ld
-	# block says, versions before 2.19.5* couldn't really create working
-	# shared libraries, regardless of the interface used.
-	case `$LD -v 2>&1` in
-	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
-	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
-	  *)
-	    lt_use_gnu_ld_interface=yes
-	    ;;
-	esac
-	;;
-      *)
-	lt_use_gnu_ld_interface=yes
-	;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-	case $cc_basename in
-	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
-	esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test "$tmp_diet" = no
-      then
-	tmp_addflag=
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95* | pgfortran*)
-					# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	lf95*)				# Lahey Fortran 8.1
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	nvcc*)	# Cuda Compiler Driver 2.2
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	    echo "local: *; };" >> $output_objdir/$libname.ver~
-	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-	case $cc_basename in
-	xlf* | bgf* | bgxlf* | mpixlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  # For security reasons, it is highly recommended that you always
-	  # use absolute paths for naming shared libraries, and exclude the
-	  # DT_RUNPATH tag from executables and libraries.  But doing so
-	  # requires that you compile everything twice, which is a pain.
-	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	# Also, AIX nm treats weak defined symbols like other global
-	# defined symbols, whereas GNU nm marks them as "W".
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	  # We have reworked collect2
-	  :
-	  else
-	  # We have old collect2
-	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-	if test "$host_cpu" = ia64; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an
-	 # empty executable.
-	 _LT_SYS_MODULE_PATH_AIX
-	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  if test "$with_gnu_ld" = yes; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  fi
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	m4_if($1, [], [
-	  # Older versions of the 11.00 compiler do not understand -b yet
-	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-	  _LT_LINKER_OPTION([if $CC understands -b],
-	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
-	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	# Try to use the -exported_symbol ld option, if it does not
-	# work, assume that -exports_file does not work either and
-	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-        )
-        LDFLAGS="$save_LDFLAGS"
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(inherit_rpath, $1)=yes
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-	fi
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-	case `$CC -V 2>&1` in
-	*"Compilers 5.0"*)
-	  wlarc=''
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-	  ;;
-	*)
-	  wlarc='${wl}'
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-	  ;;
-	esac
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
-	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
-    [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
-	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
-	[$RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-	  _LT_TAGVAR(allow_undefined_flag, $1)=
-	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-	  then
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	  else
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  fi
-	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-	])
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-    [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-    [enable_shared_with_static_runtimes], [0],
-    [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-    [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-    [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
-    [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-    [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-    [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
-    [Commands used to build a loadable module if different from building
-    a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
-    [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
-    [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
-    [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-    [Flag to hardcode $libdir into a binary during linking.
-    This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
-    library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
-    [Fix the shell variable $srcfile for the compiler])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report which library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[[4-9]]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      aix[[4-9]]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[[012]]|aix4.[[012]].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	    # We have reworked collect2
-	    :
-	  else
-	    # We have old collect2
-	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
-	    # It fails to find uninstalled libraries when the uninstalled
-	    # path is not listed in the libpath.  Setting hardcode_minus_L
-	    # to unsupported forces relinking
-	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag="$shared_flag "'${wl}-G'
-	  fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	  # chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-          else
-	    if test "$aix_use_runtimelinking" = yes; then
-	      shared_flag='${wl}-G'
-	    else
-	      shared_flag='${wl}-bM:SRE'
-	    fi
-          fi
-        fi
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-	# export.
-        _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-	    # Determine the default libpath from the value encoded in an
-	    # empty executable.
-	    _LT_SYS_MODULE_PATH_AIX
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	    # Warning - without using the other run time loading flags,
-	    # -berok will link without error, but may produce a broken library.
-	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    if test "$with_gnu_ld" = yes; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	    fi
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	    # This is similar to how AIX traditionally builds its shared
-	    # libraries.
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-        # as there is no search path for DLLs.
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-        _LT_TAGVAR(always_export_symbols, $1)=no
-        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          _LT_TAGVAR(ld_shlibs, $1)=no
-        fi
-        ;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      freebsd[[12]]*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        ;;
-
-      hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            _LT_TAGVAR(ld_shlibs, $1)=no
-            ;;
-          aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              _LT_TAGVAR(ld_shlibs, $1)=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            _LT_TAGVAR(hardcode_direct, $1)=no
-            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-            ;;
-          *)
-            _LT_TAGVAR(hardcode_direct, $1)=yes
-            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test $with_gnu_ld = no; then
-	        case $host_cpu in
-	          hppa*64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[[3-9]]*)
-	_LT_TAGVAR(hardcode_direct, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-	# Instead, shared libraries are loaded at an image base (0x10000000 by
-	# default) and relocated if they conflict, which is a slow very memory
-	# consuming and fragmenting process.  To avoid this, we pick a random,
-	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
-	      fi
-	    fi
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-	    ;;
-        esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(inherit_rpath, $1)=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
-	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-		$RANLIB $oldlib'
-	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    if test "x$supports_anon_versioning" = xyes; then
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-		echo "local: *; };" >> $output_objdir/$libname.ver~
-		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-	      _LT_TAGVAR(compiler_needs_object, $1)=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-	;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      openbsd*)
-	if test -f /usr/libexec/ld.so; then
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-		;;
-	      *)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~
-	          $RM $lib.exp'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-		;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	      case $host in
-	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	    case $host_os in
-	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	      *)
-		# The compiler driver will combine and reorder linker options,
-		# but understands `-z linker_flag'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	        # platform.
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	      case $host_os in
-		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-		*)
-		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We can NOT use -z defs as we might desire, because we do not
-	# link with -lc, and that would cause any symbols used from libc to
-	# always be unresolved, which means just about no library would
-	# ever link correctly.  If we're not using GNU ld we use -z text
-	# though, which does catch some bad symbols but isn't as heavy-handed
-	# as -z defs.
-	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-	_LT_TAGVAR(link_all_deplibs, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-	      '"$_LT_TAGVAR(old_archive_cmds, $1)"
-	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-	      '"$_LT_TAGVAR(reload_cmds, $1)"
-	    ;;
-	  *)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-    esac
-
-    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-    _LT_TAGVAR(GCC, $1)="$GXX"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-_LT_EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-	   _LT_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-	   _LT_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_TAGVAR(predep_objects,$1)=
-  _LT_TAGVAR(postdep_objects,$1)=
-  _LT_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC* | sunCC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-    [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
-    [Dependencies to place before and after the objects being linked to
-    create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
-    [The library search path used internally by the compiler when linking
-    a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  CC=${F77-"f77"}
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-  GCC=$G77
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test "$enable_shared" = yes && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-	  test "$enable_shared" = yes && enable_static=no
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$G77"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  CC=${FC-"f95"}
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test "$enable_shared" = yes && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-	  test "$enable_shared" = yes && enable_static=no
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC="$lt_save_CC"
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-      AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-############################################################
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $[*] ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
-
-dnl func_dirname_and_basename
-dnl A portable version of this function is already defined in general.m4sh
-dnl so there is no need for it here.
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$[@]"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]+=\$[2]"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]=\$$[1]\$[2]"
-}
-
-_LT_EOF
-    ;;
-  esac
-])
diff --git a/Watchdog/m4/ltoptions.m4 b/Watchdog/m4/ltoptions.m4
deleted file mode 100644
index 17cfd51..0000000
--- a/Watchdog/m4/ltoptions.m4
+++ /dev/null
@@ -1,369 +0,0 @@
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 7 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-		      [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-  		   [_LT_ENABLE_FAST_INSTALL])
-  ])
-])# _LT_SET_OPTIONS
-
-
-## --------------------------------- ##
-## Macros to handle LT_INIT options. ##
-## --------------------------------- ##
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-	[Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-	[Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-	 [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-## ----------------- ##
-## LTDL_INIT Options ##
-## ----------------- ##
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-		 [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-		 [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-		 [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-		 [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-		 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/Watchdog/m4/ltsugar.m4 b/Watchdog/m4/ltsugar.m4
deleted file mode 100644
index 9000a05..0000000
--- a/Watchdog/m4/ltsugar.m4
+++ /dev/null
@@ -1,123 +0,0 @@
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-	     [m4_foreach([_Lt_suffix],
-		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-		 [lt_append([$1], [$2], [$3])$4],
-		 [$5])],
-	  [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-	[$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
diff --git a/Watchdog/m4/ltversion.m4 b/Watchdog/m4/ltversion.m4
deleted file mode 100644
index 93fc771..0000000
--- a/Watchdog/m4/ltversion.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# ltversion.m4 -- version numbers			-*- Autoconf -*-
-#
-#   Copyright (C) 2004 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# Generated from ltversion.in.
-
-# serial 3175 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.2.10])
-m4_define([LT_PACKAGE_REVISION], [1.3175])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.10'
-macro_revision='1.3175'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
diff --git a/Watchdog/m4/lt~obsolete.m4 b/Watchdog/m4/lt~obsolete.m4
deleted file mode 100644
index c573da9..0000000
--- a/Watchdog/m4/lt~obsolete.m4
+++ /dev/null
@@ -1,98 +0,0 @@
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
diff --git a/Watchdog/missing b/Watchdog/missing
deleted file mode 100755
index 28055d2..0000000
--- a/Watchdog/missing
+++ /dev/null
@@ -1,376 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
-
-Send bug reports to <bug-automake at gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f y.tab.h; then
-	echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f lex.yy.c; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-	/^@setfilename/{
-	  s/.* \([^ ]*\) *$/\1/
-	  p
-	  q
-	}' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case $firstarg in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case $firstarg in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/Watchdog/mkinstalldirs b/Watchdog/mkinstalldirs
deleted file mode 100755
index 4191a45..0000000
--- a/Watchdog/mkinstalldirs
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /bin/sh
-# mkinstalldirs --- make directory hierarchy
-
-scriptversion=2009-04-28.21; # UTC
-
-# Original author: Noah Friedman <friedman at prep.ai.mit.edu>
-# Created: 1993-05-16
-# Public domain.
-#
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-nl='
-'
-IFS=" ""	$nl"
-errstatus=0
-dirmode=
-
-usage="\
-Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
-
-Create each directory DIR (with mode MODE, if specified), including all
-leading file name components.
-
-Report bugs to <bug-automake at gnu.org>."
-
-# process command line arguments
-while test $# -gt 0 ; do
-  case $1 in
-    -h | --help | --h*)         # -h for help
-      echo "$usage"
-      exit $?
-      ;;
-    -m)                         # -m PERM arg
-      shift
-      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
-      dirmode=$1
-      shift
-      ;;
-    --version)
-      echo "$0 $scriptversion"
-      exit $?
-      ;;
-    --)                         # stop option processing
-      shift
-      break
-      ;;
-    -*)                         # unknown option
-      echo "$usage" 1>&2
-      exit 1
-      ;;
-    *)                          # first non-opt arg
-      break
-      ;;
-  esac
-done
-
-for file
-do
-  if test -d "$file"; then
-    shift
-  else
-    break
-  fi
-done
-
-case $# in
-  0) exit 0 ;;
-esac
-
-# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
-# mkdir -p a/c at the same time, both will detect that a is missing,
-# one will create a, then the other will try to create a and die with
-# a "File exists" error.  This is a problem when calling mkinstalldirs
-# from a parallel make.  We use --version in the probe to restrict
-# ourselves to GNU mkdir, which is thread-safe.
-case $dirmode in
-  '')
-    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
-      echo "mkdir -p -- $*"
-      exec mkdir -p -- "$@"
-    else
-      # On NextStep and OpenStep, the `mkdir' command does not
-      # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because `.' already
-      # exists.
-      test -d ./-p && rmdir ./-p
-      test -d ./--version && rmdir ./--version
-    fi
-    ;;
-  *)
-    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
-       test ! -d ./--version; then
-      echo "mkdir -m $dirmode -p -- $*"
-      exec mkdir -m "$dirmode" -p -- "$@"
-    else
-      # Clean up after NextStep and OpenStep mkdir.
-      for d in ./-m ./-p ./--version "./$dirmode";
-      do
-        test -d $d && rmdir $d
-      done
-    fi
-    ;;
-esac
-
-for file
-do
-  case $file in
-    /*) pathcomp=/ ;;
-    *)  pathcomp= ;;
-  esac
-  oIFS=$IFS
-  IFS=/
-  set fnord $file
-  shift
-  IFS=$oIFS
-
-  for d
-  do
-    test "x$d" = x && continue
-
-    pathcomp=$pathcomp$d
-    case $pathcomp in
-      -*) pathcomp=./$pathcomp ;;
-    esac
-
-    if test ! -d "$pathcomp"; then
-      echo "mkdir $pathcomp"
-
-      mkdir "$pathcomp" || lasterr=$?
-
-      if test ! -d "$pathcomp"; then
-	errstatus=$lasterr
-      else
-	if test ! -z "$dirmode"; then
-	  echo "chmod $dirmode $pathcomp"
-	  lasterr=
-	  chmod "$dirmode" "$pathcomp" || lasterr=$?
-
-	  if test ! -z "$lasterr"; then
-	    errstatus=$lasterr
-	  fi
-	fi
-      fi
-    fi
-
-    pathcomp=$pathcomp/
-  done
-done
-
-exit $errstatus
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/Watchdog/pwl-config.h.in b/Watchdog/pwl-config.h.in
deleted file mode 100644
index 18e6bd0..0000000
--- a/Watchdog/pwl-config.h.in
+++ /dev/null
@@ -1,92 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-   */
-#undef PWL_HAVE_DECL_GETENV
-
-/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
-   don't. */
-#undef PWL_HAVE_DECL_SETITIMER
-
-/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
-   don't. */
-#undef PWL_HAVE_DECL_SIGACTION
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef PWL_HAVE_DLFCN_H
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#undef PWL_HAVE_FENV_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef PWL_HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef PWL_HAVE_MEMORY_H
-
-/* Define to 1 if the system has the type `siginfo_t'. */
-#undef PWL_HAVE_SIGINFO_T
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef PWL_HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef PWL_HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef PWL_HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef PWL_HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef PWL_HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef PWL_HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef PWL_HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef PWL_HAVE_UNISTD_H
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PWL_PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PWL_PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PWL_PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PWL_PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PWL_PACKAGE_VERSION
-
-/* Assertions are disabled when this is defined */
-#undef PWL_NDEBUG
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef PWL_STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef PWL_TIME_WITH_SYS_TIME
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-
-#if defined(PWL_NDEBUG) && !defined(NDEBUG)
-# define NDEBUG PWL_NDEBUG
-#endif
-
diff --git a/Watchdog/pwl-config.sed b/Watchdog/pwl-config.sed
deleted file mode 100644
index 7972470..0000000
--- a/Watchdog/pwl-config.sed
+++ /dev/null
@@ -1,24 +0,0 @@
-s/\([^A-Z_]\)HAVE_DECL_GETENV/\1PWL_HAVE_DECL_GETENV/g
-s/\([^A-Z_]\)HAVE_DECL_SIGACTION/\1PWL_HAVE_DECL_SIGACTION/g
-s/\([^A-Z_]\)HAVE_DECL_SETITIMER/\1PWL_HAVE_DECL_SETITIMER/g
-s/\([^A-Z_]\)HAVE_DLFCN_H/\1PWL_HAVE_DLFCN_H/g
-s/\([^A-Z_]\)HAVE_FENV_H/\1PWL_HAVE_FENV_H/g
-s/\([^A-Z_]\)HAVE_INTTYPES_H/\1PWL_HAVE_INTTYPES_H/g
-s/\([^A-Z_]\)HAVE_MEMORY_H/\1PWL_HAVE_MEMORY_H/g
-s/\([^A-Z_]\)HAVE_SETITIMER/\1PWL_HAVE_SETITIMER/g
-s/\([^A-Z_]\)HAVE_SIGINFO_T/\1PWL_HAVE_SIGINFO_T/g
-s/\([^A-Z_]\)HAVE_STDINT_H/\1PWL_HAVE_STDINT_H/g
-s/\([^A-Z_]\)HAVE_STDLIB_H/\1PWL_HAVE_STDLIB_H/g
-s/\([^A-Z_]\)HAVE_STRINGS_H/\1PWL_HAVE_STRINGS_H/g
-s/\([^A-Z_]\)HAVE_STRING_H/\1PWL_HAVE_STRING_H/g
-s/\([^A-Z_]\)HAVE_SYS_STAT_H/\1PWL_HAVE_SYS_STAT_H/g
-s/\([^A-Z_]\)HAVE_SYS_TIME_H/\1PWL_HAVE_SYS_TIME_H/g
-s/\([^A-Z_]\)HAVE_SYS_TYPES_H/\1PWL_HAVE_SYS_TYPES_H/g
-s/\([^A-Z_]\)HAVE_UNISTD_H/\1PWL_HAVE_UNISTD_H/g
-s/\([^A-Z_]\)PACKAGE_BUGREPORT/\1PWL_PACKAGE_BUGREPORT/g
-s/\([^A-Z_]\)PACKAGE_NAME/\1PWL_PACKAGE_NAME/g
-s/\([^A-Z_]\)PACKAGE_STRING/\1PWL_PACKAGE_STRING/g
-s/\([^A-Z_]\)PACKAGE_TARNAME/\1PWL_PACKAGE_TARNAME/g
-s/\([^A-Z_]\)PACKAGE_VERSION/\1PWL_PACKAGE_VERSION/g
-s/\([^A-Z_]\)STDC_HEADERS/\1PWL_STDC_HEADERS/g
-s/\([^A-Z_]\)TIME_WITH_SYS_TIME/\1PWL_TIME_WITH_SYS_TIME/g
diff --git a/Watchdog/src/Doubly_Linked_Object.defs.hh b/Watchdog/src/Doubly_Linked_Object.defs.hh
deleted file mode 100644
index 885e815..0000000
--- a/Watchdog/src/Doubly_Linked_Object.defs.hh
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Doubly_Linked_Object class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Doubly_Linked_Object_defs_hh
-#define PWL_Doubly_Linked_Object_defs_hh 1
-
-#include "Doubly_Linked_Object.types.hh"
-#include "EList.types.hh"
-#include "EList_Iterator.types.hh"
-
-//! A (base) class for doubly linked objects.
-class Parma_Watchdog_Library::Doubly_Linked_Object {
-public:
-  //! Default constructor.
-  Doubly_Linked_Object();
-
-  //! Creates a chain element with forward link \p f and backward link \p b.
-  Doubly_Linked_Object(Doubly_Linked_Object* f, Doubly_Linked_Object* b);
-
-  //! Inserts \p y before \p *this.
-  void insert_before(Doubly_Linked_Object& y);
-
-  //! Inserts \p y after \p *this.
-  void insert_after(Doubly_Linked_Object& y);
-
-  //! Erases \p *this from the chain and returns a pointer to the next element.
-  Doubly_Linked_Object* erase();
-
-  //! Erases \p *this from the chain.
-  ~Doubly_Linked_Object();
-
-private:
-  //! Forward link.
-  Doubly_Linked_Object* next;
-
-  //! Backward link.
-  Doubly_Linked_Object* prev;
-
-  template <typename T> friend class EList;
-  template <typename T> friend class EList_Iterator;
-};
-
-#include "Doubly_Linked_Object.inlines.hh"
-
-#endif // !defined(PWL_Doubly_Linked_Object_defs_hh)
diff --git a/Watchdog/src/Doubly_Linked_Object.inlines.hh b/Watchdog/src/Doubly_Linked_Object.inlines.hh
deleted file mode 100644
index daca080..0000000
--- a/Watchdog/src/Doubly_Linked_Object.inlines.hh
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Doubly_Linked_Object class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Doubly_Linked_Object_inlines_hh
-#define PWL_Doubly_Linked_Object_inlines_hh 1
-
-namespace Parma_Watchdog_Library {
-
-inline
-Doubly_Linked_Object::Doubly_Linked_Object() {
-}
-
-inline
-Doubly_Linked_Object::Doubly_Linked_Object(Doubly_Linked_Object* f,
-					   Doubly_Linked_Object* b)
-  : next(f),
-    prev(b) {
-}
-
-inline void
-Doubly_Linked_Object::insert_before(Doubly_Linked_Object& y) {
-  y.next = this;
-  y.prev = prev;
-  prev->next = &y;
-  prev = &y;
-}
-
-inline void
-Doubly_Linked_Object::insert_after(Doubly_Linked_Object& y) {
-  y.next = next;
-  y.prev = this;
-  next->prev = &y;
-  next = &y;
-}
-
-inline Doubly_Linked_Object*
-Doubly_Linked_Object::erase() {
-  next->prev = prev;
-  prev->next = next;
-  return next;
-}
-
-inline
-Doubly_Linked_Object::~Doubly_Linked_Object() {
-  erase();
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Doubly_Linked_Object_inlines_hh)
diff --git a/Watchdog/src/Doubly_Linked_Object.types.hh b/Watchdog/src/Doubly_Linked_Object.types.hh
deleted file mode 100644
index b88ec8e..0000000
--- a/Watchdog/src/Doubly_Linked_Object.types.hh
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Doubly_Linked_Object_types_hh
-#define PWL_Doubly_Linked_Object_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Doubly_Linked_Object;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Doubly_Linked_Object_types_hh)
diff --git a/Watchdog/src/EList.defs.hh b/Watchdog/src/EList.defs.hh
deleted file mode 100644
index 73776f0..0000000
--- a/Watchdog/src/EList.defs.hh
+++ /dev/null
@@ -1,90 +0,0 @@
-/* EList class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_EList_defs_hh
-#define PWL_EList_defs_hh 1
-
-#include "EList.types.hh"
-#include "Doubly_Linked_Object.defs.hh"
-#include "EList_Iterator.defs.hh"
-
-/*! \brief
-  A simple kind of embedded list (i.e., a doubly linked objects
-  where the links are embedded in the objects themselves).
-*/
-template <typename T>
-class Parma_Watchdog_Library::EList
-  : private Parma_Watchdog_Library::Doubly_Linked_Object {
-public:
-  //! A const iterator to traverse the list.
-  typedef EList_Iterator<const T> Const_Iterator;
-
-  //! A non-const iterator to traverse the list.
-  typedef EList_Iterator<T> Iterator;
-
-  //! Constructs an empty list.
-  EList();
-
-  //! Destructs the list and all the elements in it.
-  ~EList();
-
-  //! Pushes \p obj to the front of the list.
-  void push_front(T& obj);
-
-  //! Pushes \p obj to the back of the list.
-  void push_back(T& obj);
-
-  /*! \brief
-    Inserts \p obj just before \p position and returns an iterator
-    that points to the inserted object.
-  */
-  Iterator insert(Iterator position, T& obj);
-
-  /*! \brief
-    Removes the element pointed to by \p position, returning
-    an iterator pointing to the next element, if any, or end(), otherwise.
-  */
-  Iterator erase(Iterator position);
-
-  //! Returns <CODE>true</CODE> if and only if the list is empty.
-  bool empty() const;
-
-  //! Returns an iterator pointing to the beginning of the list.
-  Iterator begin();
-
-  //! Returns an iterator pointing one past the last element in the list.
-  Iterator end();
-
-  //! Returns a const iterator pointing to the beginning of the list.
-  Const_Iterator begin() const;
-
-  //! Returns a const iterator pointing one past the last element in the list.
-  Const_Iterator end() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
-
-#include "EList.inlines.hh"
-
-#endif // !defined(PWL_EList_defs_hh)
diff --git a/Watchdog/src/EList.inlines.hh b/Watchdog/src/EList.inlines.hh
deleted file mode 100644
index d7a83a3..0000000
--- a/Watchdog/src/EList.inlines.hh
+++ /dev/null
@@ -1,115 +0,0 @@
-/* EList class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_EList_inlines_hh
-#define PWL_EList_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-inline
-EList<T>::EList()
-  : Doubly_Linked_Object(this, this) {
-}
-
-template <typename T>
-inline void
-EList<T>::push_front(T& obj) {
-  next->insert_before(obj);
-}
-
-template <typename T>
-inline void
-EList<T>::push_back(T& obj) {
-  prev->insert_after(obj);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::insert(Iterator position, T& obj) {
-  position->insert_before(obj);
-  return Iterator(&obj);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::begin() {
-  return Iterator(next);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::end() {
-  return Iterator(this);
-}
-
-template <typename T>
-inline typename EList<T>::Const_Iterator
-EList<T>::begin() const {
-  return Const_Iterator(next);
-}
-
-template <typename T>
-inline typename EList<T>::Const_Iterator
-EList<T>::end() const {
-  return Const_Iterator(const_cast<EList<T>*>(this));
-}
-
-template <typename T>
-inline bool
-EList<T>::empty() const {
-  return begin() == end();
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::erase(Iterator position) {
-  assert(!empty());
-  return Iterator(position->erase());
-}
-
-template <typename T>
-inline
-EList<T>::~EList() {
-  // Erase and deallocate all the elements.
-  for (Iterator i = begin(), lend = end(), next; i != lend; i = next) {
-    next = erase(i);
-    delete &*i;
-  }
-}
-
-template <typename T>
-inline bool
-EList<T>::OK() const {
-  for (Const_Iterator i = begin(), lend = end(); i != lend; ++i)
-    if (!i->OK())
-      return false;
-
-  return true;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_inlines_hh)
diff --git a/Watchdog/src/EList.types.hh b/Watchdog/src/EList.types.hh
deleted file mode 100644
index 4dd7163..0000000
--- a/Watchdog/src/EList.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_EList_types_hh
-#define PWL_EList_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-class EList;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_types_hh)
diff --git a/Watchdog/src/EList_Iterator.defs.hh b/Watchdog/src/EList_Iterator.defs.hh
deleted file mode 100644
index 03c9ddb..0000000
--- a/Watchdog/src/EList_Iterator.defs.hh
+++ /dev/null
@@ -1,84 +0,0 @@
-/* EList_Iterator class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_EList_Iterator_defs_hh
-#define PWL_EList_Iterator_defs_hh 1
-
-#include "EList_Iterator.types.hh"
-#include "Doubly_Linked_Object.types.hh"
-
-namespace Parma_Watchdog_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-template <typename T>
-bool operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-template <typename T>
-bool operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
-
-} // namespace Parma_Watchdog_Library
-
-//! A class providing iterators for embedded lists.
-template <typename T>
-class Parma_Watchdog_Library::EList_Iterator {
-public:
-  //! Constructs an iterator pointing to nothing.
-  EList_Iterator();
-
-  //! Constructs an iterator pointing to \p p.
-  explicit EList_Iterator(Doubly_Linked_Object* p);
-
-  //! Changes \p *this so that it points to \p p.
-  EList_Iterator& operator=(Doubly_Linked_Object* p);
-
-  //! Indirect member selector.
-  T* operator->();
-
-  //! Dereference operator.
-  T& operator*();
-
-  //! Preincrement operator.
-  EList_Iterator& operator++();
-
-  //! Postincrement operator.
-  EList_Iterator operator++(int);
-
-  //! Predecrement operator.
-  EList_Iterator& operator--();
-
-  //! Postdecrement operator.
-  EList_Iterator operator--(int);
-
-private:
-  //! Embedded pointer.
-  Doubly_Linked_Object* ptr;
-
-  friend bool operator==<T>(const EList_Iterator& x, const EList_Iterator& y);
-
-  friend bool operator!=<T>(const EList_Iterator& x, const EList_Iterator& y);
-};
-
-#include "EList_Iterator.inlines.hh"
-
-#endif // !defined(PWL_EList_Iterator_defs_hh)
diff --git a/Watchdog/src/EList_Iterator.inlines.hh b/Watchdog/src/EList_Iterator.inlines.hh
deleted file mode 100644
index a31abd5..0000000
--- a/Watchdog/src/EList_Iterator.inlines.hh
+++ /dev/null
@@ -1,105 +0,0 @@
-/* EList_Iterator class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_EList_Iterator_inlines_hh
-#define PWL_EList_Iterator_inlines_hh 1
-
-#include "Doubly_Linked_Object.defs.hh"
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-inline
-EList_Iterator<T>::EList_Iterator() {
-}
-
-template <typename T>
-inline
-EList_Iterator<T>::EList_Iterator(Doubly_Linked_Object* p)
-  : ptr(p) {
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator=(Doubly_Linked_Object* p) {
-  ptr = p;
-  return *this;
-}
-
-template <typename T>
-inline T*
-EList_Iterator<T>::operator->() {
-  return static_cast<T*>(ptr);
-}
-
-template <typename T>
-inline T&
-EList_Iterator<T>::operator*() {
-  return *operator->();
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator++() {
-  ptr = ptr->next;
-  return *this;
-}
-
-template <typename T>
-inline EList_Iterator<T>
-EList_Iterator<T>::operator++(int) {
-  EList_Iterator tmp = *this;
-  ++*this;
-  return tmp;
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator--() {
-  ptr = ptr->prev;
-  return *this;
-}
-
-template <typename T>
-inline EList_Iterator<T>
-EList_Iterator<T>::operator--(int) {
-  EList_Iterator tmp = *this;
-  --*this;
-  return tmp;
-}
-
-template <typename T>
-inline bool
-operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
-  return x.ptr == y.ptr;
-}
-
-template <typename T>
-inline bool
-operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
-  return x.ptr != y.ptr;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_Iterator_inlines_hh)
diff --git a/Watchdog/src/EList_Iterator.types.hh b/Watchdog/src/EList_Iterator.types.hh
deleted file mode 100644
index b5c6a18..0000000
--- a/Watchdog/src/EList_Iterator.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_EList_Iterator_types_hh
-#define PWL_EList_Iterator_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-class EList_Iterator;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_Iterator_types_hh)
diff --git a/Watchdog/src/Handler.defs.hh b/Watchdog/src/Handler.defs.hh
deleted file mode 100644
index 38fd1e0..0000000
--- a/Watchdog/src/Handler.defs.hh
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Handler and derived classes' declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Handler_defs_hh
-#define PWL_Handler_defs_hh 1
-
-#include "Handler.types.hh"
-
-//! Abstract base class for handlers of the watchdog events.
-class Parma_Watchdog_Library::Handler {
-public:
-  //! Does the job.
-  virtual void act() const = 0;
-
-  //! Virtual destructor.
-  virtual ~Handler();
-};
-
-//! A kind of Handler that installs a flag onto a flag-holder.
-/*!
-  The template class Handler_Flag<Flag_Base, Flag> is an handler whose
-  job is to install a flag onto an <EM>holder</EM> for the flag.
-  The flag is of type \p Flag and the holder is a (volatile) pointer
-  to \p Flag_Base.  Installing the flag onto the holder means making
-  the holder point to the flag, so that it must be possible to assign
-  a value of type <CODE>Flag*</CODE> to an entity of type
-  <CODE>Flag_Base*</CODE>.
-  The class \p Flag must provide the method
-
-  \code
-    int priority() const
-  \endcode
-  returning an integer priority associated to the flag.
-
-  The handler will install its flag onto the holder only if the holder
-  is empty, namely, it is the null pointer, or if the holder holds a
-  flag of strictly lower priority.
- */
-template <typename Flag_Base, typename Flag>
-class Parma_Watchdog_Library::Handler_Flag : virtual public Handler {
-public:
-  //! Constructor with a given function.
-  Handler_Flag(const Flag_Base* volatile& holder, Flag& flag);
-
-  //! Does its job: installs the flag onto the holder, if a flag with
-  //! an higher priority has not already been installed.
-  void act() const;
-
-private:
-  // declare holder as reference to volatile pointer to const Flag_Base
-  const Flag_Base* volatile& h;
-  Flag& f;
-};
-
-//! A kind of Handler calling a given function.
-class Parma_Watchdog_Library::Handler_Function : virtual public Handler {
-public:
-  //! Constructor with a given function.
-  Handler_Function(void (*function)());
-
-  //! Does its job: calls the embedded function.
-  void act() const;
-
-private:
-  //! Pointer to the embedded function.
-  void (*f)();
-};
-
-#include "Handler.inlines.hh"
-
-#endif // !defined(PWL_Handler_defs_hh)
diff --git a/Watchdog/src/Handler.inlines.hh b/Watchdog/src/Handler.inlines.hh
deleted file mode 100644
index ea1a143..0000000
--- a/Watchdog/src/Handler.inlines.hh
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Handler and derived classes' implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Handler_inlines_hh
-#define PWL_Handler_inlines_hh 1
-
-namespace Parma_Watchdog_Library {
-
-inline
-Handler::~Handler() {
-}
-
-template <typename Flag_Base, typename Flag>
-Handler_Flag<Flag_Base, Flag>::Handler_Flag(const Flag_Base* volatile& holder,
-					    Flag& flag)
-  : h(holder), f(flag) {
-}
-
-template <typename Flag_Base, typename Flag>
-void
-Handler_Flag<Flag_Base, Flag>::act() const {
-  if (h == 0 || static_cast<const Flag&>(*h).priority() < f.priority())
-    h = &f;
-}
-
-inline
-Handler_Function::Handler_Function(void (*function)())
-  : f(function) {
-}
-
-inline void
-Handler_Function::act() const {
-  (*f)();
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Handler_inlines_hh)
diff --git a/Watchdog/src/Handler.types.hh b/Watchdog/src/Handler.types.hh
deleted file mode 100644
index 5257a93..0000000
--- a/Watchdog/src/Handler.types.hh
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Handler_types_hh
-#define PWL_Handler_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Handler;
-
-template <typename Flag_Base, typename Flag>
-class Handler_Flag;
-
-class Handler_Function;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Handler_types_hh)
diff --git a/Watchdog/src/Makefile.am b/Watchdog/src/Makefile.am
deleted file mode 100644
index 5eb5f54..0000000
--- a/Watchdog/src/Makefile.am
+++ /dev/null
@@ -1,158 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-# The ordering of the following list *matters*!
-INCLUDE_FILES = \
-Doubly_Linked_Object.types.hh \
-EList.types.hh \
-EList_Iterator.types.hh \
-Handler.types.hh \
-Pending_Element.types.hh \
-Pending_List.types.hh \
-Time.types.hh \
-Watchdog.types.hh \
-Threshold_Watcher.types.hh \
-Handler.defs.hh \
-Handler.inlines.hh \
-Time.defs.hh \
-Time.inlines.hh \
-Doubly_Linked_Object.defs.hh \
-Doubly_Linked_Object.inlines.hh \
-EList_Iterator.defs.hh \
-EList_Iterator.inlines.hh \
-EList.defs.hh \
-EList.inlines.hh \
-Pending_Element.defs.hh \
-Pending_Element.inlines.hh \
-Pending_List.defs.hh \
-Pending_List.inlines.hh \
-Pending_List.templates.hh \
-Watchdog.defs.hh \
-Watchdog.inlines.hh \
-Threshold_Watcher.defs.hh \
-Threshold_Watcher.inlines.hh \
-Threshold_Watcher.templates.hh
-
-SOURCE_FILES = \
-$(INCLUDE_FILES) \
-Time.cc \
-Watchdog.cc \
-Threshold_Watcher.cc
-
-EXTRA_DIST = \
-$(SOURCE_FILES) \
-pwl_header.hh
-
-# Libtool -version-info for libpwl.la.
-#
-#  1. Start with version information of `0:0:0' for each Libtool library.
-#
-#  2. Update the version information only immediately before a public
-#     release of your software.  More frequent updates are unnecessary,
-#     and only guarantee that the current interface number gets larger
-#     faster.
-#
-#  3. If the library source code has changed at all since the last
-#     update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
-#
-#  4. If any interfaces have been added, removed, or changed since the
-#     last update, increment CURRENT, and set REVISION to 0.
-#
-#  5. If any interfaces have been added since the last public release,
-#     then increment AGE.
-#
-#  6. If any interfaces have been removed since the last public release,
-#     then set AGE to 0.
-#
-#	PWL release	(with PPL release)	-version-info
-#	    0.1			0.4		    0:0:0
-#	    0.2			0.5		    1:0:0
-#	    0.3			0.6		    2:0:0
-#	    0.4			0.7		    3:0:0
-#	    0.4			0.8		    3:0:0
-#	    0.5			0.9		    3:0:0
-#	    0.6			0.10		    4:0:0
-#	    0.7			0.10.1		    4:0:0
-#	    0.7			0.10.2		    4:0:0
-#	    0.8			0.11		    5:0:0
-#	    0.8			0.11.1		    5:0:0
-#	    0.8			0.11.2		    5:0:0
-
-LIBPWL_LT_CURRENT =  5
-LIBPWL_LT_REVISION = 0
-LIBPWL_LT_AGE =      0
-
-lib_LTLIBRARIES = libpwl.la
-libpwl_la_SOURCES = $(SOURCE_FILES)
-
-if NO_UNDEFINED
-
-NO_UNDEFINED_FLAG = -no-undefined
-
-endif NO_UNDEFINED
-
-libpwl_la_LDFLAGS = \
-$(NO_UNDEFINED_FLAG) \
--version-info $(LIBPWL_LT_CURRENT):$(LIBPWL_LT_REVISION):$(LIBPWL_LT_AGE)
-
-include_HEADERS = pwl.hh
-
-nodist_noinst_HEADERS = pwl_include_files.hh
-
-pwl_include_files.hh: $(INCLUDE_FILES) Makefile
-	rm -f $@
-	for file in $(INCLUDE_FILES); \
-	do \
-	  printf "#include \"%s\"\n" $$file >>$@; \
-	done
-
-if HAVE_PERL
-
-pwl.hh:	$(top_builddir)/pwl-config.h pwl_header.hh pwl_include_files.hh $(top_builddir)/utils/build_header
-	$(top_builddir)/utils/build_header \
-		-I $(top_builddir) -I $(top_builddir)/src \
-		$(top_srcdir)/src/pwl_header.hh >$@
-
-else !HAVE_PERL
-
-pwl.hh:	pwl.hh.dist
-	cp -f $< $@
-
-endif !HAVE_PERL
-
-BUILT_SOURCES = \
-$(include_HEADERS) \
-$(nodist_noinst_HEADERS)
-
-# pwl.hh is not distributed.
-# pwl.hh.dist, which is distributed, is a copy of pwl.hh.
-dist-hook:
-	mv -f $(distdir)/pwl.hh $(distdir)/pwl.hh.dist
-
-CLEANFILES = $(BUILT_SOURCES)
-
-$(top_builddir)/utils/build_header:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils build_header
-
-$(top_builddir)/pwl-config.h:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir) pwl-config.h
diff --git a/Watchdog/src/Makefile.in b/Watchdog/src/Makefile.in
deleted file mode 100644
index 9618232..0000000
--- a/Watchdog/src/Makefile.in
+++ /dev/null
@@ -1,740 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = src
-DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libpwl_la_LIBADD =
-am__objects_1 =
-am__objects_2 = $(am__objects_1) Time.lo Watchdog.lo \
-	Threshold_Watcher.lo
-am_libpwl_la_OBJECTS = $(am__objects_2)
-libpwl_la_OBJECTS = $(am_libpwl_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-libpwl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(libpwl_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
-am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CXXLD_0 = @echo "  CXXLD " $@;
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
-am__v_CC_0 = @echo "  CC    " $@;
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libpwl_la_SOURCES)
-DIST_SOURCES = $(libpwl_la_SOURCES)
-HEADERS = $(include_HEADERS) $(nodist_noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-
-# The ordering of the following list *matters*!
-INCLUDE_FILES = \
-Doubly_Linked_Object.types.hh \
-EList.types.hh \
-EList_Iterator.types.hh \
-Handler.types.hh \
-Pending_Element.types.hh \
-Pending_List.types.hh \
-Time.types.hh \
-Watchdog.types.hh \
-Threshold_Watcher.types.hh \
-Handler.defs.hh \
-Handler.inlines.hh \
-Time.defs.hh \
-Time.inlines.hh \
-Doubly_Linked_Object.defs.hh \
-Doubly_Linked_Object.inlines.hh \
-EList_Iterator.defs.hh \
-EList_Iterator.inlines.hh \
-EList.defs.hh \
-EList.inlines.hh \
-Pending_Element.defs.hh \
-Pending_Element.inlines.hh \
-Pending_List.defs.hh \
-Pending_List.inlines.hh \
-Pending_List.templates.hh \
-Watchdog.defs.hh \
-Watchdog.inlines.hh \
-Threshold_Watcher.defs.hh \
-Threshold_Watcher.inlines.hh \
-Threshold_Watcher.templates.hh
-
-SOURCE_FILES = \
-$(INCLUDE_FILES) \
-Time.cc \
-Watchdog.cc \
-Threshold_Watcher.cc
-
-EXTRA_DIST = \
-$(SOURCE_FILES) \
-pwl_header.hh
-
-
-# Libtool -version-info for libpwl.la.
-#
-#  1. Start with version information of `0:0:0' for each Libtool library.
-#
-#  2. Update the version information only immediately before a public
-#     release of your software.  More frequent updates are unnecessary,
-#     and only guarantee that the current interface number gets larger
-#     faster.
-#
-#  3. If the library source code has changed at all since the last
-#     update, then increment REVISION (`C:R:A' becomes `C:r+1:A').
-#
-#  4. If any interfaces have been added, removed, or changed since the
-#     last update, increment CURRENT, and set REVISION to 0.
-#
-#  5. If any interfaces have been added since the last public release,
-#     then increment AGE.
-#
-#  6. If any interfaces have been removed since the last public release,
-#     then set AGE to 0.
-#
-#	PWL release	(with PPL release)	-version-info
-#	    0.1			0.4		    0:0:0
-#	    0.2			0.5		    1:0:0
-#	    0.3			0.6		    2:0:0
-#	    0.4			0.7		    3:0:0
-#	    0.4			0.8		    3:0:0
-#	    0.5			0.9		    3:0:0
-#	    0.6			0.10		    4:0:0
-#	    0.7			0.10.1		    4:0:0
-#	    0.7			0.10.2		    4:0:0
-#	    0.8			0.11		    5:0:0
-#	    0.8			0.11.1		    5:0:0
-#	    0.8			0.11.2		    5:0:0
-LIBPWL_LT_CURRENT = 5
-LIBPWL_LT_REVISION = 0
-LIBPWL_LT_AGE = 0
-lib_LTLIBRARIES = libpwl.la
-libpwl_la_SOURCES = $(SOURCE_FILES)
- at NO_UNDEFINED_TRUE@NO_UNDEFINED_FLAG = -no-undefined
-libpwl_la_LDFLAGS = \
-$(NO_UNDEFINED_FLAG) \
--version-info $(LIBPWL_LT_CURRENT):$(LIBPWL_LT_REVISION):$(LIBPWL_LT_AGE)
-
-include_HEADERS = pwl.hh
-nodist_noinst_HEADERS = pwl_include_files.hh
-BUILT_SOURCES = \
-$(include_HEADERS) \
-$(nodist_noinst_HEADERS)
-
-CLEANFILES = $(BUILT_SOURCES)
-all: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-	}
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-	done
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-libpwl.la: $(libpwl_la_OBJECTS) $(libpwl_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libpwl_la_LINK) -rpath $(libdir) $(libpwl_la_OBJECTS) $(libpwl_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Threshold_Watcher.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Time.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Watchdog.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-install-includeHEADERS: $(include_HEADERS)
-	@$(NORMAL_INSTALL)
-	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
-	done
-
-uninstall-includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(includedir)" && rm -f $$files
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	$(MAKE) $(AM_MAKEFLAGS) \
-	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
-	  dist-hook
-check-am: all-am
-check: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: $(BUILT_SOURCES)
-	$(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-includeHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
-
-.MAKE: all check install install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags dist-hook distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-includeHEADERS install-info \
-	install-info-am install-libLTLIBRARIES install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-includeHEADERS \
-	uninstall-libLTLIBRARIES
-
-
-pwl_include_files.hh: $(INCLUDE_FILES) Makefile
-	rm -f $@
-	for file in $(INCLUDE_FILES); \
-	do \
-	  printf "#include \"%s\"\n" $$file >>$@; \
-	done
-
- at HAVE_PERL_TRUE@pwl.hh:	$(top_builddir)/pwl-config.h pwl_header.hh pwl_include_files.hh $(top_builddir)/utils/build_header
- at HAVE_PERL_TRUE@	$(top_builddir)/utils/build_header \
- at HAVE_PERL_TRUE@		-I $(top_builddir) -I $(top_builddir)/src \
- at HAVE_PERL_TRUE@		$(top_srcdir)/src/pwl_header.hh >$@
-
- at HAVE_PERL_FALSE@pwl.hh:	pwl.hh.dist
- at HAVE_PERL_FALSE@	cp -f $< $@
-
-# pwl.hh is not distributed.
-# pwl.hh.dist, which is distributed, is a copy of pwl.hh.
-dist-hook:
-	mv -f $(distdir)/pwl.hh $(distdir)/pwl.hh.dist
-
-$(top_builddir)/utils/build_header:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils build_header
-
-$(top_builddir)/pwl-config.h:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir) pwl-config.h
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/src/Pending_Element.defs.hh b/Watchdog/src/Pending_Element.defs.hh
deleted file mode 100644
index a8cf6c5..0000000
--- a/Watchdog/src/Pending_Element.defs.hh
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Pending_Element class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Pending_Element_defs_hh
-#define PWL_Pending_Element_defs_hh 1
-
-#include "Pending_Element.types.hh"
-#include "Doubly_Linked_Object.defs.hh"
-#include "Handler.types.hh"
-
-//! A class for pending watchdog events with embedded links.
-/*!
-  Each pending watchdog event is characterized by a deadline (a positive
-  time interval), an associated handler that will be invoked upon event
-  expiration, and a Boolean flag that indicates whether the event has already
-  expired or not.
-*/
-template <typename Threshold>
-class Parma_Watchdog_Library::Pending_Element : public Doubly_Linked_Object {
-public:
-  //! Constructs an element with the given attributes.
-  Pending_Element(const Threshold& deadline,
-		  const Handler& handler,
-		  bool& expired_flag);
-
-  //! Modifies \p *this so that it has the given attributes.
-  void assign(const Threshold& deadline,
-	      const Handler& handler,
-	      bool& expired_flag);
-
-  //! Returns the deadline of the event.
-  const Threshold& deadline() const;
-
-  //! Returns the handler associated to the event.
-  const Handler& handler() const;
-
-  //! Returns a reference to the "event-expired" flag.
-  bool& expired_flag() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  //! The deadline of the event.
-  Threshold d;
-
-  //! A pointer to the handler associated to the event.
-  const Handler* p_h;
-
-  //! A pointer to a flag saying whether the event has already expired or not.
-  bool* p_f;
-};
-
-#include "Pending_Element.inlines.hh"
-
-#endif // !defined(PWL_Pending_Element_defs_hh)
diff --git a/Watchdog/src/Pending_Element.inlines.hh b/Watchdog/src/Pending_Element.inlines.hh
deleted file mode 100644
index 2526c40..0000000
--- a/Watchdog/src/Pending_Element.inlines.hh
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Pending_Element class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Pending_Element_inlines_hh
-#define PWL_Pending_Element_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Threshold>
-inline bool
-Pending_Element<Threshold>::OK() const {
-  return true;
-}
-
-template <typename Threshold>
-inline
-Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
-					    const Handler& handler,
-					    bool& expired_flag)
-  : d(deadline), p_h(&handler), p_f(&expired_flag) {
-  assert(OK());
-}
-
-template <typename Threshold>
-inline void
-Pending_Element<Threshold>::assign(const Threshold& deadline,
-				   const Handler& handler,
-				   bool& expired_flag) {
-  d = deadline;
-  p_h = &handler;
-  p_f = &expired_flag;
-  assert(OK());
-}
-
-template <typename Threshold>
-inline const Threshold&
-Pending_Element<Threshold>::deadline() const {
-  return d;
-}
-
-template <typename Threshold>
-inline const Handler&
-Pending_Element<Threshold>::handler() const {
-  return *p_h;
-}
-
-template <typename Threshold>
-inline bool&
-Pending_Element<Threshold>::expired_flag() const {
-  return *p_f;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_Element_inlines_hh)
diff --git a/Watchdog/src/Pending_Element.types.hh b/Watchdog/src/Pending_Element.types.hh
deleted file mode 100644
index 29a7d36..0000000
--- a/Watchdog/src/Pending_Element.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Pending_Element_types_hh
-#define PWL_Pending_Element_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <class Threshold>
-class Pending_Element;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_Element_types_hh)
diff --git a/Watchdog/src/Pending_List.defs.hh b/Watchdog/src/Pending_List.defs.hh
deleted file mode 100644
index ff3810a..0000000
--- a/Watchdog/src/Pending_List.defs.hh
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Pending_List class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Pending_List_defs_hh
-#define PWL_Pending_List_defs_hh 1
-
-#include "Pending_List.types.hh"
-#include "Pending_Element.defs.hh"
-#include "EList.defs.hh"
-#include "Handler.types.hh"
-
-//! An ordered list for recording pending watchdog events.
-template <typename Traits>
-class Parma_Watchdog_Library::Pending_List {
-public:
-  //! A non-const iterator to traverse the list.
-  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
-
-  //! A const iterator to traverse the list.
-  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
-
-  //! Constructs an empty list.
-  Pending_List();
-
-  //! Destructor.
-  ~Pending_List();
-
-  //! Inserts a new Pending_Element object with the given attributes.
-  Iterator insert(const typename Traits::Threshold& deadline,
-		  const Handler& handler,
-		  bool& expired_flag);
-
-  /*! \brief
-    Removes the element pointed to by \p position, returning
-    an iterator pointing to the next element, if any, or end(), otherwise.
-  */
-  Iterator erase(Iterator position);
-
-  //! Returns <CODE>true</CODE> if and only if the list is empty.
-  bool empty() const;
-
-  //! Returns an iterator pointing to the beginning of the list.
-  Iterator begin();
-
-  //! Returns an iterator pointing one past the last element in the list.
-  Iterator end();
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  EList<Pending_Element<typename Traits::Threshold> > active_list;
-  EList<Pending_Element<typename Traits::Threshold> > free_list;
-};
-
-#include "Pending_List.inlines.hh"
-#include "Pending_List.templates.hh"
-
-#endif // !defined(PWL_Pending_List_defs_hh)
diff --git a/Watchdog/src/Pending_List.inlines.hh b/Watchdog/src/Pending_List.inlines.hh
deleted file mode 100644
index d0926b4..0000000
--- a/Watchdog/src/Pending_List.inlines.hh
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Pending_List class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Pending_List_inlines_hh
-#define PWL_Pending_List_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-inline
-Pending_List<Traits>::Pending_List()
-  : active_list(),
-    free_list() {
-  assert(OK());
-}
-
-template <typename Traits>
-inline
-Pending_List<Traits>::~Pending_List() {
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::begin() {
-  return active_list.begin();
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::end() {
-  return active_list.end();
-}
-
-template <typename Traits>
-inline bool
-Pending_List<Traits>::empty() const {
-  return active_list.empty();
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::erase(Iterator position) {
-  assert(!empty());
-  Iterator next = active_list.erase(position);
-  free_list.push_back(*position);
-  assert(OK());
-  return next;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_inlines_hh)
diff --git a/Watchdog/src/Pending_List.templates.hh b/Watchdog/src/Pending_List.templates.hh
deleted file mode 100644
index 8718d93..0000000
--- a/Watchdog/src/Pending_List.templates.hh
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Pending_List class implementation.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Pending_List_templates_hh
-#define PWL_Pending_List_templates_hh 1
-
-#include <iostream>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
-			     const Handler& handler,
-			     bool& expired_flag) {
-  Iterator position = active_list.begin();
-  for (Iterator active_list_end = active_list.end();
-       position != active_list_end && Traits::less_than(position->deadline(), deadline);
-       ++position)
-    ;
-  Iterator ppe;
-  // Only allocate a new element if the free list is empty.
-  if (free_list.empty())
-    ppe = new Pending_Element<typename Traits::Threshold>(deadline, handler, expired_flag);
-  else {
-    ppe = free_list.begin();
-    free_list.erase(ppe);
-    ppe->assign(deadline, handler, expired_flag);
-  }
-  Iterator r = active_list.insert(position, *ppe);
-  assert(OK());
-  return r;
-}
-
-template <typename Traits>
-bool
-Pending_List<Traits>::OK() const {
-  if (!active_list.OK())
-    return false;
-
-  if (!free_list.OK())
-    return false;
-
-  const typename Traits::Threshold* old;
-  Const_Iterator i = active_list.begin();
-  old = &i->deadline();
-  ++i;
-  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
-    const typename Traits::Threshold& t = i->deadline();
-    if (Traits::less_than(t, *old)) {
-#ifndef NDEBUG
-      std::cerr << "The active list is not sorted!"
-		<< std::endl;
-#endif
-      return false;
-    }
-    old = &t;
-  }
-  return true;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_templates_hh)
diff --git a/Watchdog/src/Pending_List.types.hh b/Watchdog/src/Pending_List.types.hh
deleted file mode 100644
index 7b44e58..0000000
--- a/Watchdog/src/Pending_List.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Pending_List_types_hh
-#define PWL_Pending_List_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-class Pending_List;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_types_hh)
diff --git a/Watchdog/src/Threshold_Watcher.cc b/Watchdog/src/Threshold_Watcher.cc
deleted file mode 100644
index 2b2188f..0000000
--- a/Watchdog/src/Threshold_Watcher.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Threshold_Watcher and associated classes' implementation
-   (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <pwl-config.h>
-
-#include "Threshold_Watcher.defs.hh"
-
diff --git a/Watchdog/src/Threshold_Watcher.defs.hh b/Watchdog/src/Threshold_Watcher.defs.hh
deleted file mode 100644
index 36bf126..0000000
--- a/Watchdog/src/Threshold_Watcher.defs.hh
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Threshold_Watcher and associated classes' declaration and inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Threshold_Watcher_defs_hh
-#define PWL_Threshold_Watcher_defs_hh 1
-
-#include "Threshold_Watcher.types.hh"
-#include "Handler.types.hh"
-#include "Pending_List.defs.hh"
-#include <cassert>
-
-/*! \brief
-  A class of watchdogs controlling the exceeding of a threshold.
-
-  \tparam Traits
-  A class to set data types and functions for the threshold handling.
-  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
-*/
-template <typename Traits>
-class Parma_Watchdog_Library::Threshold_Watcher {
-public:
-  template <typename Flag_Base, typename Flag>
-  Threshold_Watcher(const typename Traits::Delta& delta,
-                    const Flag_Base* volatile& holder,
-                    Flag& flag);
-
-  Threshold_Watcher(const typename Traits::Delta& delta,
-                    void (*function)());
-
-  ~Threshold_Watcher();
-
-private:
-  typedef Pending_List<Traits> TW_Pending_List;
-
-  bool expired;
-  const Handler& handler;
-  typename TW_Pending_List::Iterator pending_position;
-
-  // Just to prevent their use.
-  Threshold_Watcher(const Threshold_Watcher&);
-  Threshold_Watcher& operator=(const Threshold_Watcher&);
-
-  struct Initialize {
-    //! The ordered queue of pending thresholds.
-    TW_Pending_List pending;
-  };
-  static Initialize init;
-
-  // Handle the addition of a new threshold.
-  static typename TW_Pending_List::Iterator
-  add_threshold(typename Traits::Threshold threshold,
-		const Handler& handler,
-		bool& expired_flag);
-
-  // Handle the removal of a threshold.
-  static typename TW_Pending_List::Iterator
-  remove_threshold(typename TW_Pending_List::Iterator position);
-
-  //! Check threshold reaching.
-  static void check();
-
-}; // class Parma_Watchdog_Library::Threshold_Watcher
-
-
-// Templatic initialization of static data member.
-template <typename Traits>
-typename Parma_Watchdog_Library::Threshold_Watcher<Traits>::Initialize
-Parma_Watchdog_Library::Threshold_Watcher<Traits>::init;
-
-#include "Threshold_Watcher.inlines.hh"
-#include "Threshold_Watcher.templates.hh"
-
-#endif // !defined(PWL_Threshold_Watcher_defs_hh)
-
diff --git a/Watchdog/src/Threshold_Watcher.inlines.hh b/Watchdog/src/Threshold_Watcher.inlines.hh
deleted file mode 100644
index 3ad4b70..0000000
--- a/Watchdog/src/Threshold_Watcher.inlines.hh
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Threshold_Watcher and associated classes' implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Threshold_Watcher_inlines_hh
-#define PWL_Threshold_Watcher_inlines_hh 1
-
-#include <stdexcept>
-
-#include "Handler.defs.hh"
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-template <typename Flag_Base, typename Flag>
-Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, const Flag_Base* volatile& holder, Flag& flag)
-  : expired(false),
-    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  typename Traits::Threshold threshold;
-  Traits::from_delta(threshold, delta);
-  if (!Traits::less_than(Traits::get(), threshold))
-    throw std::invalid_argument("Threshold_Watcher constructor called with a"
-				" threshold already reached");
-  pending_position = add_threshold(threshold, handler, expired);
-}
-
-template <typename Traits>
-inline
-Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
-  : expired(false), handler(*new Handler_Function(function)) {
-  typename Traits::Threshold threshold;
-  Traits::from_delta(threshold, delta);
-  if (!Traits::less_than(Traits::get(), threshold))
-    throw std::invalid_argument("Threshold_Watcher constructor called with a"
-				" threshold already reached");
-  pending_position = add_threshold(threshold, handler, expired);
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_inlines_hh)
diff --git a/Watchdog/src/Threshold_Watcher.templates.hh b/Watchdog/src/Threshold_Watcher.templates.hh
deleted file mode 100644
index 569b652..0000000
--- a/Watchdog/src/Threshold_Watcher.templates.hh
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Threshold_Watcher and associated classes'.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Threshold_Watcher_templates_hh
-#define PWL_Threshold_Watcher_templates_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
-Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
-                                         const Handler& handler,
-                                         bool& expired_flag) {
-  Traits::check_function = Threshold_Watcher::check;
-  return init.pending.insert(threshold, handler, expired_flag);
-}
-
-template <typename Traits>
-typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
-Threshold_Watcher<Traits>
-::remove_threshold(typename TW_Pending_List::Iterator position) {
-  typename TW_Pending_List::Iterator i = init.pending.erase(position);
-  if (init.pending.empty())
-    Traits::check_function = 0;
-  return i;
-}
-
-template <typename Traits>
-Threshold_Watcher<Traits>::~Threshold_Watcher() {
-  if (!expired)
-    remove_threshold(pending_position);
-  delete &handler;
-}
-
-template <typename Traits>
-void
-Threshold_Watcher<Traits>::check() {
-  typename TW_Pending_List::Iterator i = init.pending.begin();
-  assert(i != init.pending.end());
-  const typename Traits::Threshold& current = Traits::get();
-  while (!Traits::less_than(current, i->deadline())) {
-    i->handler().act();
-    i->expired_flag() = true;
-    i = remove_threshold(i);
-    if (i == init.pending.end())
-      break;
-  }
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_templates_hh)
diff --git a/Watchdog/src/Threshold_Watcher.types.hh b/Watchdog/src/Threshold_Watcher.types.hh
deleted file mode 100644
index 77ffbd5..0000000
--- a/Watchdog/src/Threshold_Watcher.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Threshold_Watcher_types_hh
-#define PWL_Threshold_Watcher_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-class Threshold_Watcher;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_types_hh)
diff --git a/Watchdog/src/Time.cc b/Watchdog/src/Time.cc
deleted file mode 100644
index 9b52e4b..0000000
--- a/Watchdog/src/Time.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Time class implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <pwl-config.h>
-
-#include "Time.defs.hh"
-
-namespace PWL = Parma_Watchdog_Library;
-
-bool
-PWL::Time::OK() const {
-  return microsecs < 1000000;
-}
diff --git a/Watchdog/src/Time.defs.hh b/Watchdog/src/Time.defs.hh
deleted file mode 100644
index 003d07c..0000000
--- a/Watchdog/src/Time.defs.hh
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Time class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Time_defs_hh
-#define PWL_Time_defs_hh 1
-
-#include "Time.types.hh"
-
-namespace Parma_Watchdog_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-bool operator==(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-bool operator!=(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x is shorter than \p y.
-bool operator<(const Time& x, const Time& y);
-
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x is shorter than
-  or equal to \p y.
-*/
-bool operator<=(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x is longer than \p y.
-bool operator>(const Time& x, const Time& y);
-
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x is longer than
-  or equal to \p y.
-*/
-bool operator>=(const Time& x, const Time& y);
-
-//! Returns the sum of \p x and \p y.
-Time operator+(const Time& x, const Time& y);
-
-/*! \brief
-  Returns the difference of \p x and \p y or the null interval,
-  if \p x is shorter than \p y.
-*/
-Time operator-(const Time& x, const Time& y);
-
-} // namespace Parma_Watchdog_Library
-
-//! A class for representing and manipulating positive time intervals.
-class Parma_Watchdog_Library::Time {
-public:
-  //! Zero seconds.
-  Time();
-
-  //! Constructor taking a number of hundredths of a second.
-  explicit Time(unsigned long hundredths_of_a_second);
-
-  //! Constructor with seconds and microseconds.
-  Time(unsigned long s, unsigned long m);
-
-  /*! \brief
-    Returns the number of whole seconds contained in the represented
-    time interval.
-  */
-  unsigned long seconds() const;
-
-  /*! \brief
-    Returns the number of microseconds that, when added to the number
-    of seconds returned by seconds(), give the represent time interval.
-  */
-  unsigned long microseconds() const;
-
-  //! Adds \p y to \p *this.
-  Time& operator+=(const Time& y);
-
-  /*! \brief
-    Subtracts \p y from \p *this; if \p *this is shorter than \p y,
-    \p *this is set to the null interval.
-  */
-  Time& operator-=(const Time& y);
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  //! Number of seconds.
-  unsigned long secs;
-
-  //! Number of microseconds.
-  unsigned long microsecs;
-};
-
-#include "Time.inlines.hh"
-
-#endif // !defined(PWL_Time_defs_hh)
diff --git a/Watchdog/src/Time.inlines.hh b/Watchdog/src/Time.inlines.hh
deleted file mode 100644
index cfcc814..0000000
--- a/Watchdog/src/Time.inlines.hh
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Time class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Time_inlines_hh
-#define PWL_Time_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-inline
-Time::Time()
-  : secs(0), microsecs(0) {
-  assert(OK());
-}
-
-inline
-Time::Time(unsigned long hundredths_of_a_second)
-  : secs(hundredths_of_a_second / 100),
-    microsecs((hundredths_of_a_second % 100) * 10000) {
-  assert(OK());
-}
-
-inline
-Time::Time(unsigned long s, unsigned long m)
-  : secs(s),
-    microsecs(m) {
-  if (microsecs >= 1000000) {
-    secs += microsecs / 1000000;
-    microsecs %= 1000000;
-  }
-  assert(OK());
-}
-
-inline unsigned long
-Time::seconds() const {
-  return secs;
-}
-
-inline unsigned long
-Time::microseconds() const {
-  return microsecs;
-}
-
-inline Time&
-Time::operator+=(const Time& y) {
-  unsigned long r_secs = secs + y.secs;
-  unsigned long r_microsecs = microsecs + y.microsecs;
-  if (r_microsecs >= 1000000) {
-    ++r_secs;
-    r_microsecs %= 1000000;
-  }
-  secs = r_secs;
-  microsecs = r_microsecs;
-  assert(OK());
-  return *this;
-}
-
-inline Time&
-Time::operator-=(const Time& y) {
-  long r_secs = secs - y.secs;
-  long r_microsecs = microsecs - y.microsecs;
-  if (r_microsecs < 0) {
-    --r_secs;
-    r_microsecs += 1000000;
-  }
-  if (r_secs < 0)
-    r_secs = r_microsecs = 0;
-  secs = r_secs;
-  microsecs = r_microsecs;
-  assert(OK());
-  return *this;
-}
-
-inline Time
-operator+(const Time& x, const Time& y) {
-  Time z = x;
-  z += y;
-  return z;
-}
-
-inline Time
-operator-(const Time& x, const Time& y) {
-  Time z = x;
-  z -= y;
-  return z;
-}
-
-inline bool
-operator==(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return x.seconds() == y.seconds() && y.microseconds() == y.microseconds();
-}
-
-inline bool
-operator!=(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return !(x == y);
-}
-
-inline bool
-operator<(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return x.seconds() < y.seconds()
-    || (x.seconds() == y.seconds() && x.microseconds() < y.microseconds());
-}
-
-inline bool
-operator<=(const Time& x, const Time& y) {
-  return x < y || x == y;
-}
-
-inline bool
-operator>(const Time& x, const Time& y) {
-  return y < x;
-}
-
-inline bool
-operator>=(const Time& x, const Time& y) {
-  return y <= x;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Time_inlines_hh)
diff --git a/Watchdog/src/Time.types.hh b/Watchdog/src/Time.types.hh
deleted file mode 100644
index 3882db0..0000000
--- a/Watchdog/src/Time.types.hh
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Time_types_hh
-#define PWL_Time_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Time;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Time_types_hh)
diff --git a/Watchdog/src/Watchdog.cc b/Watchdog/src/Watchdog.cc
deleted file mode 100644
index 42d57fa..0000000
--- a/Watchdog/src/Watchdog.cc
+++ /dev/null
@@ -1,250 +0,0 @@
-/* Watchdog and associated classes' implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <pwl-config.h>
-
-#include "Watchdog.defs.hh"
-
-namespace PWL = Parma_Watchdog_Library;
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-#include <csignal>
-#include <iostream>
-#include <stdexcept>
-#include <cerrno>
-#include <string>
-#include <string.h>
-
-#ifdef PWL_TIME_WITH_SYS_TIME
-# include <sys/time.h>
-# include <ctime>
-#else
-# ifdef PWL_HAVE_SYS_TIME_H
-#  include <sys/time.h>
-# else
-#  include <ctime>
-# endif
-#endif
-
-// Cygwin only supports ITIMER_REAL.
-// Apparently GNU Hurd also only supports ITIMER_REAL
-// (see http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
-// Profiling does not work on programs that use the ITIMER_PROF timer.
-#if defined(__CYGWIN__) || defined(__gnu_hurd__) || defined(PWL_PROFILING)
-#define THE_TIMER  ITIMER_REAL
-#define THE_SIGNAL SIGALRM
-#else
-#define THE_TIMER  ITIMER_PROF
-#define THE_SIGNAL SIGPROF
-#endif
-
-using std::cerr;
-using std::endl;
-
-// Pass this to getitimer().
-itimerval PWL::Watchdog::current_timer_status;
-
-// Pass this to setitimer().
-itimerval PWL::Watchdog::signal_once;
-
-// Last time value we set the timer to.
-PWL::Time PWL::Watchdog::last_time_requested;
-
-// Records the time elapsed since last fresh start.
-PWL::Time PWL::Watchdog::time_so_far;
-
-// The ordered queue of pending watchdog events.
-PWL::Watchdog::WD_Pending_List PWL::Watchdog::pending;
-
-// Whether the alarm clock is running.
-volatile bool PWL::Watchdog::alarm_clock_running = false;
-
-// Whether we are changing data which are also changed by the signal handler.
-volatile bool PWL::Watchdog::in_critical_section = false;
-
-namespace {
-
-void
-throw_syscall_error(const char* syscall_name) {
-  throw std::runtime_error(std::string(syscall_name) + ": " + strerror(errno));
-}
-
-void
-my_getitimer(int which, struct itimerval* value) {
-  if (getitimer(which, value) != 0)
-    throw_syscall_error("getitimer");
-}
-
-void
-my_setitimer(int which,
-	     const struct itimerval* value, struct itimerval* ovalue) {
-  if (setitimer(which, value, ovalue) != 0)
-    throw_syscall_error("setitimer");
-}
-
-void
-my_sigaction(int signum,
-	     const struct sigaction* act, struct sigaction* oldact) {
-  if (sigaction(signum, act, oldact) != 0)
-    throw_syscall_error("sigaction");
-}
-
-} // namespace
-
-void
-PWL::Watchdog::get_timer(Time& time) {
-  my_getitimer(THE_TIMER, &current_timer_status);
-  time = Time(current_timer_status.it_value.tv_sec,
-	      current_timer_status.it_value.tv_usec);
-}
-
-void
-PWL::Watchdog::set_timer(const Time& time) {
-  if (time.seconds() == 0 && time.microseconds() == 0)
-    throw std::runtime_error("PWL internal error");
-  last_time_requested = time;
-  signal_once.it_value.tv_sec = time.seconds();
-  signal_once.it_value.tv_usec = time.microseconds();
-  my_setitimer(THE_TIMER, &signal_once, 0);
-}
-
-void
-PWL::Watchdog::stop_timer() {
-  signal_once.it_value.tv_sec = 0;
-  signal_once.it_value.tv_usec = 0;
-  my_setitimer(THE_TIMER, &signal_once, 0);
-}
-
-void
-PWL::Watchdog::handle_timeout(int) {
-  if (in_critical_section)
-    reschedule();
-  else {
-    time_so_far += last_time_requested;
-    if (!pending.empty()) {
-      WD_Pending_List::Iterator i = pending.begin();
-      do {
-	i->handler().act();
-	i->expired_flag() = true;
-	i = pending.erase(i);
-      } while (i != pending.end() && i->deadline() <= time_so_far);
-      if (pending.empty())
-	alarm_clock_running = false;
-      else
-	set_timer((*pending.begin()).deadline() - time_so_far);
-    }
-    else
-      alarm_clock_running = false;
-  }
-}
-
-void
-PWL::PWL_handle_timeout(int signum) {
-  PWL::Watchdog::handle_timeout(signum);
-}
-
-PWL::Watchdog::WD_Pending_List::Iterator
-PWL::Watchdog::new_watchdog_event(unsigned int units,
-				  const Handler& handler,
-				  bool& expired_flag) {
-  assert(units > 0);
-  WD_Pending_List::Iterator position;
-  Time deadline(units);
-  if (!alarm_clock_running) {
-    position = pending.insert(deadline, handler, expired_flag);
-    time_so_far = Time(0);
-    set_timer(deadline);
-    alarm_clock_running = true;
-  }
-  else {
-    Time time_to_shoot;
-    get_timer(time_to_shoot);
-    Time elapsed_time(last_time_requested);
-    elapsed_time -= time_to_shoot;
-    Time current_time(time_so_far);
-    current_time += elapsed_time;
-    Time real_deadline(deadline);
-    real_deadline += current_time;
-    position = pending.insert(real_deadline, handler, expired_flag);
-    if (deadline < time_to_shoot) {
-      time_so_far = current_time;
-      set_timer(deadline);
-    }
-  }
-  return position;
-}
-
-void
-PWL::Watchdog::remove_watchdog_event(WD_Pending_List::Iterator position) {
-  assert(!pending.empty());
-  if (position == pending.begin()) {
-    WD_Pending_List::Iterator next = position;
-    ++next;
-    if (next != pending.end()) {
-      Time first_deadline(position->deadline());
-      Time next_deadline(next->deadline());
-      if (first_deadline != next_deadline) {
-	Time time_to_shoot;
-	get_timer(time_to_shoot);
-	Time elapsed_time(last_time_requested);
-	elapsed_time -= time_to_shoot;
-	time_so_far += elapsed_time;
-	next_deadline -= first_deadline;
-	time_to_shoot += next_deadline;
-	set_timer(time_to_shoot);
-      }
-    }
-    else {
-      stop_timer();
-      alarm_clock_running = false;
-    }
-  }
-  pending.erase(position);
-}
-
-PWL::Time PWL::Watchdog::reschedule_time(1);
-
-void
-PWL::Watchdog::initialize() {
-  signal_once.it_interval.tv_sec = 0;
-  signal_once.it_interval.tv_usec = 0;
-
-  sigset_t mask;
-  sigemptyset(&mask);
-
-  struct sigaction s;
-  s.sa_handler = PWL_handle_timeout;
-  s.sa_mask = mask;
-  s.sa_flags = 0;  // Was SA_ONESHOT: why?
-
-  my_sigaction(THE_SIGNAL, &s, 0);
-}
-
-void
-PWL::Watchdog::finalize() {
-}
-
-unsigned int PWL::Init::count = 0;
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
diff --git a/Watchdog/src/Watchdog.defs.hh b/Watchdog/src/Watchdog.defs.hh
deleted file mode 100644
index a24862b..0000000
--- a/Watchdog/src/Watchdog.defs.hh
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Watchdog and associated classes' declaration and inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Watchdog_defs_hh
-#define PWL_Watchdog_defs_hh 1
-
-#include "Watchdog.types.hh"
-#include "Time.defs.hh"
-#include "Handler.types.hh"
-#include "Pending_List.defs.hh"
-#include <cassert>
-#include <functional>
-
-#ifdef PWL_HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-
-namespace Parma_Watchdog_Library {
-
-// Set linkage now to declare it friend later.
-extern "C" void PWL_handle_timeout(int signum);
-
-struct Watchdog_Traits {
-  typedef Time Threshold;
-  static bool less_than(const Threshold& a, const Threshold& b) {
-    return a < b;
-  }
-};
-
-//! A watchdog timer.
-class Watchdog {
-public:
-  template <typename Flag_Base, typename Flag>
-  Watchdog(unsigned int units, const Flag_Base* volatile& holder, Flag& flag);
-
-  /*! \brief
-    Constructor: if not reset, the watchdog will trigger after \p units
-    hundreths of seconds, invoking handler \p function.
-  */
-  Watchdog(unsigned int units, void (*function)());
-
-  //! Destructor.
-  ~Watchdog();
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-private:
-  typedef Pending_List<Watchdog_Traits> WD_Pending_List;
-  friend class Init;
-
-  //! Static class initialization.
-  static void initialize();
-  //! Static class finalization.
-  static void finalize();
-
-  //! Whether or not this watchdog has expired.
-  bool expired;
-
-  const Handler& handler;
-  WD_Pending_List::Iterator pending_position;
-
-  // Private and not implemented: copy construction is not allowed.
-  Watchdog(const Watchdog&);
-  // Private and not implemented: copy assignment is not allowed.
-  Watchdog& operator=(const Watchdog&);
-
-  // Pass this to getitimer().
-  static itimerval current_timer_status;
-
-  //! Reads the timer value into \p time.
-  static void get_timer(Time& time);
-
-  // Pass this to setitimer().
-  static itimerval signal_once;
-
-  // Last time value we set the timer to.
-  static Time last_time_requested;
-
-  //! Sets the timer value to \p time.
-  static void set_timer(const Time& time);
-
-  //! Stops the timer.
-  static void stop_timer();
-
-  //! Quick reschedule to avoid race conditions.
-  static void reschedule();
-
-  // Used by the above.
-  static Time reschedule_time;
-
-  // Records the time elapsed since last fresh start.
-  static Time time_so_far;
-
-  //! The ordered queue of pending watchdog events.
-  static WD_Pending_List pending;
-
-  //! The actual signal handler.
-  static void handle_timeout(int);
-
-  //! Handles the addition of a new watchdog event.
-  static WD_Pending_List::Iterator
-  new_watchdog_event(unsigned int units,
-                     const Handler& handler,
-                     bool& expired_flag);
-
-  //! Handles the removal of the watchdog event referred by \p position.
-  void remove_watchdog_event(WD_Pending_List::Iterator position);
-
-  //! Whether the alarm clock is running.
-  static volatile bool alarm_clock_running;
-
-  //! Whether we are changing data that is also changed by the signal handler.
-  static volatile bool in_critical_section;
-
-  friend void PWL_handle_timeout(int signum);
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-};
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-class Init {
-private:
-  //! Count the number of objects created.
-  static unsigned int count;
-
-public:
-  //! Initializes the PWL.
-  Init();
-
-  //! Finalizes the PWL.
-  ~Init();
-};
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-} // namespace Parma_Watchdog_Library
-
-#include "Watchdog.inlines.hh"
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-namespace {
-
-Parma_Watchdog_Library::Init Parma_Watchdog_Library_initializer;
-
-} // namespace
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-#endif // !defined(PWL_Watchdog_defs_hh)
-
diff --git a/Watchdog/src/Watchdog.inlines.hh b/Watchdog/src/Watchdog.inlines.hh
deleted file mode 100644
index c775660..0000000
--- a/Watchdog/src/Watchdog.inlines.hh
+++ /dev/null
@@ -1,117 +0,0 @@
-/* Watchdog and associated classes' implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_Watchdog_inlines_hh
-#define PWL_Watchdog_inlines_hh 1
-
-#include <stdexcept>
-
-#include "Handler.defs.hh"
-
-namespace Parma_Watchdog_Library {
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(unsigned int units,
-		   const Flag_Base* volatile& holder,
-                   Flag& flag)
-  : expired(false),
-    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  if (units == 0)
-    throw std::invalid_argument("Watchdog constructor called with a"
-				" non-positive number of time units");
-  in_critical_section = true;
-  pending_position = new_watchdog_event(units, handler, expired);
-  in_critical_section = false;
-}
-
-inline
-Watchdog::Watchdog(unsigned int units, void (*function)())
-  : expired(false), handler(*new Handler_Function(function)) {
-  if (units == 0)
-    throw std::invalid_argument("Watchdog constructor called with a"
-				" non-positive number of time units");
-  in_critical_section = true;
-  pending_position = new_watchdog_event(units, handler, expired);
-  in_critical_section = false;
-}
-
-inline
-Watchdog::~Watchdog() {
-  if (!expired) {
-    in_critical_section = true;
-    remove_watchdog_event(pending_position);
-    in_critical_section = false;
-  }
-  delete &handler;
-}
-
-inline void
-Watchdog::reschedule() {
-  set_timer(reschedule_time);
-}
-
-inline
-Init::Init() {
-  // Only when the first Init object is constructed...
-  if (count++ == 0) {
-    // ... the library is initialized.
-    Watchdog::initialize();
-  }
-}
-
-inline
-Init::~Init() {
-  // Only when the last Init object is destroyed...
-  if (--count == 0) {
-    // ... the library is finalized.
-    Watchdog::finalize();
-  }
-}
-
-#else // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
-
-template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(unsigned int /* units */,
-		   const Flag_Base* volatile& /* holder */,
-                   Flag& /* flag */) {
-  throw std::logic_error("PWL::Watchdog objects not supported:"
-                         " system does not provide setitimer()");
-}
-
-inline
-Watchdog::Watchdog(unsigned int /* units */, void (* /* function */)()) {
-  throw std::logic_error("PWL::Watchdog objects not supported:"
-                         " system does not provide setitimer()");
-}
-
-inline
-Watchdog::~Watchdog() {
-}
-
-#endif // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Watchdog_inlines_hh)
diff --git a/Watchdog/src/Watchdog.types.hh b/Watchdog/src/Watchdog.types.hh
deleted file mode 100644
index d2f3228..0000000
--- a/Watchdog/src/Watchdog.types.hh
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PWL_Watchdog_types_hh
-#define PWL_Watchdog_types_hh 1
-
-namespace Parma_Watchdog_Library {
-  class Watchdog;
-  class Flag;
-  class Init;
-}
-
-#endif // !defined(PWL_Watchdog_types_hh)
diff --git a/Watchdog/src/pwl.hh.dist b/Watchdog/src/pwl.hh.dist
deleted file mode 100644
index 35fdb8b..0000000
--- a/Watchdog/src/pwl.hh.dist
+++ /dev/null
@@ -1,1706 +0,0 @@
-/* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_pwl_hh
-#define PWL_pwl_hh 1
-
-#ifdef NDEBUG
-# define PWL_SAVE_NDEBUG NDEBUG
-# undef NDEBUG
-#endif
-
-// Automatically generated from PPL source file ../pwl-config.h line 1
-/* config.h.  Generated from config.h.in by configure.  */
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
-   */
-#define PWL_HAVE_DECL_GETENV 1
-
-/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
-   don't. */
-#define PWL_HAVE_DECL_SETITIMER 1
-
-/* Define to 1 if you have the declaration of `sigaction', and to 0 if you
-   don't. */
-#define PWL_HAVE_DECL_SIGACTION 1
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define PWL_HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#define PWL_HAVE_FENV_H 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define PWL_HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define PWL_HAVE_MEMORY_H 1
-
-/* Define to 1 if the system has the type `siginfo_t'. */
-#define PWL_HAVE_SIGINFO_T 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define PWL_HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define PWL_HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define PWL_HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define PWL_HAVE_STRING_H 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define PWL_HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define PWL_HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define PWL_HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define PWL_HAVE_UNISTD_H 1
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#define LT_OBJDIR ".libs/"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PWL_PACKAGE_BUGREPORT "bagnara at cs.unipr.it"
-
-/* Define to the full name of this package. */
-#define PWL_PACKAGE_NAME "the Parma Watchdog Library"
-
-/* Define to the full name and version of this package. */
-#define PWL_PACKAGE_STRING "the Parma Watchdog Library 0.8"
-
-/* Define to the one symbol short name of this package. */
-#define PWL_PACKAGE_TARNAME "pwl"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL ""
-
-/* Define to the version of this package. */
-#define PWL_PACKAGE_VERSION "0.8"
-
-/* Assertions are disabled when this is defined */
-#define PWL_NDEBUG 1
-
-/* Define to 1 if you have the ANSI C header files. */
-#define PWL_STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define PWL_TIME_WITH_SYS_TIME 1
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-
-#if defined(PWL_NDEBUG) && !defined(NDEBUG)
-# define NDEBUG PWL_NDEBUG
-#endif
-
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.types.hh line 1
-
-#ifndef PWL_Doubly_Linked_Object_types_hh
-#define PWL_Doubly_Linked_Object_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Doubly_Linked_Object;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Doubly_Linked_Object_types_hh)
-// Automatically generated from PPL source file ../src/EList.types.hh line 1
-
-#ifndef PWL_EList_types_hh
-#define PWL_EList_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-class EList;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_types_hh)
-// Automatically generated from PPL source file ../src/EList_Iterator.types.hh line 1
-
-#ifndef PWL_EList_Iterator_types_hh
-#define PWL_EList_Iterator_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-class EList_Iterator;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_Iterator_types_hh)
-// Automatically generated from PPL source file ../src/Handler.types.hh line 1
-
-#ifndef PWL_Handler_types_hh
-#define PWL_Handler_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Handler;
-
-template <typename Flag_Base, typename Flag>
-class Handler_Flag;
-
-class Handler_Function;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Handler_types_hh)
-// Automatically generated from PPL source file ../src/Pending_Element.types.hh line 1
-
-#ifndef PWL_Pending_Element_types_hh
-#define PWL_Pending_Element_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <class Threshold>
-class Pending_Element;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_Element_types_hh)
-// Automatically generated from PPL source file ../src/Pending_List.types.hh line 1
-
-#ifndef PWL_Pending_List_types_hh
-#define PWL_Pending_List_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-class Pending_List;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_types_hh)
-// Automatically generated from PPL source file ../src/Time.types.hh line 1
-
-#ifndef PWL_Time_types_hh
-#define PWL_Time_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-class Time;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Time_types_hh)
-// Automatically generated from PPL source file ../src/Watchdog.types.hh line 1
-
-#ifndef PWL_Watchdog_types_hh
-#define PWL_Watchdog_types_hh 1
-
-namespace Parma_Watchdog_Library {
-  class Watchdog;
-  class Flag;
-  class Init;
-}
-
-#endif // !defined(PWL_Watchdog_types_hh)
-// Automatically generated from PPL source file ../src/Threshold_Watcher.types.hh line 1
-
-#ifndef PWL_Threshold_Watcher_types_hh
-#define PWL_Threshold_Watcher_types_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-class Threshold_Watcher;
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_types_hh)
-// Automatically generated from PPL source file ../src/Handler.defs.hh line 1
-/* Handler and derived classes' declaration.
-*/
-
-#ifndef PWL_Handler_defs_hh
-#define PWL_Handler_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Handler.defs.hh line 28
-
-//! Abstract base class for handlers of the watchdog events.
-class Parma_Watchdog_Library::Handler {
-public:
-  //! Does the job.
-  virtual void act() const = 0;
-
-  //! Virtual destructor.
-  virtual ~Handler();
-};
-
-//! A kind of Handler that installs a flag onto a flag-holder.
-/*!
-  The template class Handler_Flag<Flag_Base, Flag> is an handler whose
-  job is to install a flag onto an <EM>holder</EM> for the flag.
-  The flag is of type \p Flag and the holder is a (volatile) pointer
-  to \p Flag_Base.  Installing the flag onto the holder means making
-  the holder point to the flag, so that it must be possible to assign
-  a value of type <CODE>Flag*</CODE> to an entity of type
-  <CODE>Flag_Base*</CODE>.
-  The class \p Flag must provide the method
-
-  \code
-    int priority() const
-  \endcode
-  returning an integer priority associated to the flag.
-
-  The handler will install its flag onto the holder only if the holder
-  is empty, namely, it is the null pointer, or if the holder holds a
-  flag of strictly lower priority.
- */
-template <typename Flag_Base, typename Flag>
-class Parma_Watchdog_Library::Handler_Flag : virtual public Handler {
-public:
-  //! Constructor with a given function.
-  Handler_Flag(const Flag_Base* volatile& holder, Flag& flag);
-
-  //! Does its job: installs the flag onto the holder, if a flag with
-  //! an higher priority has not already been installed.
-  void act() const;
-
-private:
-  // declare holder as reference to volatile pointer to const Flag_Base
-  const Flag_Base* volatile& h;
-  Flag& f;
-};
-
-//! A kind of Handler calling a given function.
-class Parma_Watchdog_Library::Handler_Function : virtual public Handler {
-public:
-  //! Constructor with a given function.
-  Handler_Function(void (*function)());
-
-  //! Does its job: calls the embedded function.
-  void act() const;
-
-private:
-  //! Pointer to the embedded function.
-  void (*f)();
-};
-
-// Automatically generated from PPL source file ../src/Handler.inlines.hh line 1
-/* Handler and derived classes' implementation: inline functions.
-*/
-
-#ifndef PWL_Handler_inlines_hh
-#define PWL_Handler_inlines_hh 1
-
-namespace Parma_Watchdog_Library {
-
-inline
-Handler::~Handler() {
-}
-
-template <typename Flag_Base, typename Flag>
-Handler_Flag<Flag_Base, Flag>::Handler_Flag(const Flag_Base* volatile& holder,
-					    Flag& flag)
-  : h(holder), f(flag) {
-}
-
-template <typename Flag_Base, typename Flag>
-void
-Handler_Flag<Flag_Base, Flag>::act() const {
-  if (h == 0 || static_cast<const Flag&>(*h).priority() < f.priority())
-    h = &f;
-}
-
-inline
-Handler_Function::Handler_Function(void (*function)())
-  : f(function) {
-}
-
-inline void
-Handler_Function::act() const {
-  (*f)();
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Handler_inlines_hh)
-// Automatically generated from PPL source file ../src/Handler.defs.hh line 90
-
-#endif // !defined(PWL_Handler_defs_hh)
-// Automatically generated from PPL source file ../src/Time.defs.hh line 1
-/* Time class declaration.
-*/
-
-#ifndef PWL_Time_defs_hh
-#define PWL_Time_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Time.defs.hh line 28
-
-namespace Parma_Watchdog_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-bool operator==(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-bool operator!=(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x is shorter than \p y.
-bool operator<(const Time& x, const Time& y);
-
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x is shorter than
-  or equal to \p y.
-*/
-bool operator<=(const Time& x, const Time& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x is longer than \p y.
-bool operator>(const Time& x, const Time& y);
-
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x is longer than
-  or equal to \p y.
-*/
-bool operator>=(const Time& x, const Time& y);
-
-//! Returns the sum of \p x and \p y.
-Time operator+(const Time& x, const Time& y);
-
-/*! \brief
-  Returns the difference of \p x and \p y or the null interval,
-  if \p x is shorter than \p y.
-*/
-Time operator-(const Time& x, const Time& y);
-
-} // namespace Parma_Watchdog_Library
-
-//! A class for representing and manipulating positive time intervals.
-class Parma_Watchdog_Library::Time {
-public:
-  //! Zero seconds.
-  Time();
-
-  //! Constructor taking a number of hundredths of a second.
-  explicit Time(unsigned long hundredths_of_a_second);
-
-  //! Constructor with seconds and microseconds.
-  Time(unsigned long s, unsigned long m);
-
-  /*! \brief
-    Returns the number of whole seconds contained in the represented
-    time interval.
-  */
-  unsigned long seconds() const;
-
-  /*! \brief
-    Returns the number of microseconds that, when added to the number
-    of seconds returned by seconds(), give the represent time interval.
-  */
-  unsigned long microseconds() const;
-
-  //! Adds \p y to \p *this.
-  Time& operator+=(const Time& y);
-
-  /*! \brief
-    Subtracts \p y from \p *this; if \p *this is shorter than \p y,
-    \p *this is set to the null interval.
-  */
-  Time& operator-=(const Time& y);
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  //! Number of seconds.
-  unsigned long secs;
-
-  //! Number of microseconds.
-  unsigned long microsecs;
-};
-
-// Automatically generated from PPL source file ../src/Time.inlines.hh line 1
-/* Time class implementation: inline functions.
-*/
-
-#ifndef PWL_Time_inlines_hh
-#define PWL_Time_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-inline
-Time::Time()
-  : secs(0), microsecs(0) {
-  assert(OK());
-}
-
-inline
-Time::Time(unsigned long hundredths_of_a_second)
-  : secs(hundredths_of_a_second / 100),
-    microsecs((hundredths_of_a_second % 100) * 10000) {
-  assert(OK());
-}
-
-inline
-Time::Time(unsigned long s, unsigned long m)
-  : secs(s),
-    microsecs(m) {
-  if (microsecs >= 1000000) {
-    secs += microsecs / 1000000;
-    microsecs %= 1000000;
-  }
-  assert(OK());
-}
-
-inline unsigned long
-Time::seconds() const {
-  return secs;
-}
-
-inline unsigned long
-Time::microseconds() const {
-  return microsecs;
-}
-
-inline Time&
-Time::operator+=(const Time& y) {
-  unsigned long r_secs = secs + y.secs;
-  unsigned long r_microsecs = microsecs + y.microsecs;
-  if (r_microsecs >= 1000000) {
-    ++r_secs;
-    r_microsecs %= 1000000;
-  }
-  secs = r_secs;
-  microsecs = r_microsecs;
-  assert(OK());
-  return *this;
-}
-
-inline Time&
-Time::operator-=(const Time& y) {
-  long r_secs = secs - y.secs;
-  long r_microsecs = microsecs - y.microsecs;
-  if (r_microsecs < 0) {
-    --r_secs;
-    r_microsecs += 1000000;
-  }
-  if (r_secs < 0)
-    r_secs = r_microsecs = 0;
-  secs = r_secs;
-  microsecs = r_microsecs;
-  assert(OK());
-  return *this;
-}
-
-inline Time
-operator+(const Time& x, const Time& y) {
-  Time z = x;
-  z += y;
-  return z;
-}
-
-inline Time
-operator-(const Time& x, const Time& y) {
-  Time z = x;
-  z -= y;
-  return z;
-}
-
-inline bool
-operator==(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return x.seconds() == y.seconds() && y.microseconds() == y.microseconds();
-}
-
-inline bool
-operator!=(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return !(x == y);
-}
-
-inline bool
-operator<(const Time& x, const Time& y) {
-  assert(x.OK() && y.OK());
-  return x.seconds() < y.seconds()
-    || (x.seconds() == y.seconds() && x.microseconds() < y.microseconds());
-}
-
-inline bool
-operator<=(const Time& x, const Time& y) {
-  return x < y || x == y;
-}
-
-inline bool
-operator>(const Time& x, const Time& y) {
-  return y < x;
-}
-
-inline bool
-operator>=(const Time& x, const Time& y) {
-  return y <= x;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Time_inlines_hh)
-// Automatically generated from PPL source file ../src/Time.defs.hh line 111
-
-#endif // !defined(PWL_Time_defs_hh)
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 1
-/* Doubly_Linked_Object class declaration.
-*/
-
-#ifndef PWL_Doubly_Linked_Object_defs_hh
-#define PWL_Doubly_Linked_Object_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 30
-
-//! A (base) class for doubly linked objects.
-class Parma_Watchdog_Library::Doubly_Linked_Object {
-public:
-  //! Default constructor.
-  Doubly_Linked_Object();
-
-  //! Creates a chain element with forward link \p f and backward link \p b.
-  Doubly_Linked_Object(Doubly_Linked_Object* f, Doubly_Linked_Object* b);
-
-  //! Inserts \p y before \p *this.
-  void insert_before(Doubly_Linked_Object& y);
-
-  //! Inserts \p y after \p *this.
-  void insert_after(Doubly_Linked_Object& y);
-
-  //! Erases \p *this from the chain and returns a pointer to the next element.
-  Doubly_Linked_Object* erase();
-
-  //! Erases \p *this from the chain.
-  ~Doubly_Linked_Object();
-
-private:
-  //! Forward link.
-  Doubly_Linked_Object* next;
-
-  //! Backward link.
-  Doubly_Linked_Object* prev;
-
-  template <typename T> friend class EList;
-  template <typename T> friend class EList_Iterator;
-};
-
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.inlines.hh line 1
-/* Doubly_Linked_Object class implementation: inline functions.
-*/
-
-#ifndef PWL_Doubly_Linked_Object_inlines_hh
-#define PWL_Doubly_Linked_Object_inlines_hh 1
-
-namespace Parma_Watchdog_Library {
-
-inline
-Doubly_Linked_Object::Doubly_Linked_Object() {
-}
-
-inline
-Doubly_Linked_Object::Doubly_Linked_Object(Doubly_Linked_Object* f,
-					   Doubly_Linked_Object* b)
-  : next(f),
-    prev(b) {
-}
-
-inline void
-Doubly_Linked_Object::insert_before(Doubly_Linked_Object& y) {
-  y.next = this;
-  y.prev = prev;
-  prev->next = &y;
-  prev = &y;
-}
-
-inline void
-Doubly_Linked_Object::insert_after(Doubly_Linked_Object& y) {
-  y.next = next;
-  y.prev = this;
-  next->prev = &y;
-  next = &y;
-}
-
-inline Doubly_Linked_Object*
-Doubly_Linked_Object::erase() {
-  next->prev = prev;
-  prev->next = next;
-  return next;
-}
-
-inline
-Doubly_Linked_Object::~Doubly_Linked_Object() {
-  erase();
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Doubly_Linked_Object_inlines_hh)
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 64
-
-#endif // !defined(PWL_Doubly_Linked_Object_defs_hh)
-// Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 1
-/* EList_Iterator class declaration.
-*/
-
-#ifndef PWL_EList_Iterator_defs_hh
-#define PWL_EList_Iterator_defs_hh 1
-
-// Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 29
-
-namespace Parma_Watchdog_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-template <typename T>
-bool operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-template <typename T>
-bool operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
-
-} // namespace Parma_Watchdog_Library
-
-//! A class providing iterators for embedded lists.
-template <typename T>
-class Parma_Watchdog_Library::EList_Iterator {
-public:
-  //! Constructs an iterator pointing to nothing.
-  EList_Iterator();
-
-  //! Constructs an iterator pointing to \p p.
-  explicit EList_Iterator(Doubly_Linked_Object* p);
-
-  //! Changes \p *this so that it points to \p p.
-  EList_Iterator& operator=(Doubly_Linked_Object* p);
-
-  //! Indirect member selector.
-  T* operator->();
-
-  //! Dereference operator.
-  T& operator*();
-
-  //! Preincrement operator.
-  EList_Iterator& operator++();
-
-  //! Postincrement operator.
-  EList_Iterator operator++(int);
-
-  //! Predecrement operator.
-  EList_Iterator& operator--();
-
-  //! Postdecrement operator.
-  EList_Iterator operator--(int);
-
-private:
-  //! Embedded pointer.
-  Doubly_Linked_Object* ptr;
-
-  friend bool operator==<T>(const EList_Iterator& x, const EList_Iterator& y);
-
-  friend bool operator!=<T>(const EList_Iterator& x, const EList_Iterator& y);
-};
-
-// Automatically generated from PPL source file ../src/EList_Iterator.inlines.hh line 1
-/* EList_Iterator class implementation: inline functions.
-*/
-
-#ifndef PWL_EList_Iterator_inlines_hh
-#define PWL_EList_Iterator_inlines_hh 1
-
-// Automatically generated from PPL source file ../src/EList_Iterator.inlines.hh line 28
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-inline
-EList_Iterator<T>::EList_Iterator() {
-}
-
-template <typename T>
-inline
-EList_Iterator<T>::EList_Iterator(Doubly_Linked_Object* p)
-  : ptr(p) {
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator=(Doubly_Linked_Object* p) {
-  ptr = p;
-  return *this;
-}
-
-template <typename T>
-inline T*
-EList_Iterator<T>::operator->() {
-  return static_cast<T*>(ptr);
-}
-
-template <typename T>
-inline T&
-EList_Iterator<T>::operator*() {
-  return *operator->();
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator++() {
-  ptr = ptr->next;
-  return *this;
-}
-
-template <typename T>
-inline EList_Iterator<T>
-EList_Iterator<T>::operator++(int) {
-  EList_Iterator tmp = *this;
-  ++*this;
-  return tmp;
-}
-
-template <typename T>
-inline EList_Iterator<T>&
-EList_Iterator<T>::operator--() {
-  ptr = ptr->prev;
-  return *this;
-}
-
-template <typename T>
-inline EList_Iterator<T>
-EList_Iterator<T>::operator--(int) {
-  EList_Iterator tmp = *this;
-  --*this;
-  return tmp;
-}
-
-template <typename T>
-inline bool
-operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
-  return x.ptr == y.ptr;
-}
-
-template <typename T>
-inline bool
-operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
-  return x.ptr != y.ptr;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_Iterator_inlines_hh)
-// Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 83
-
-#endif // !defined(PWL_EList_Iterator_defs_hh)
-// Automatically generated from PPL source file ../src/EList.defs.hh line 1
-/* EList class declaration.
-*/
-
-#ifndef PWL_EList_defs_hh
-#define PWL_EList_defs_hh 1
-
-// Automatically generated from PPL source file ../src/EList.defs.hh line 30
-
-/*! \brief
-  A simple kind of embedded list (i.e., a doubly linked objects
-  where the links are embedded in the objects themselves).
-*/
-template <typename T>
-class Parma_Watchdog_Library::EList
-  : private Parma_Watchdog_Library::Doubly_Linked_Object {
-public:
-  //! A const iterator to traverse the list.
-  typedef EList_Iterator<const T> Const_Iterator;
-
-  //! A non-const iterator to traverse the list.
-  typedef EList_Iterator<T> Iterator;
-
-  //! Constructs an empty list.
-  EList();
-
-  //! Destructs the list and all the elements in it.
-  ~EList();
-
-  //! Pushes \p obj to the front of the list.
-  void push_front(T& obj);
-
-  //! Pushes \p obj to the back of the list.
-  void push_back(T& obj);
-
-  /*! \brief
-    Inserts \p obj just before \p position and returns an iterator
-    that points to the inserted object.
-  */
-  Iterator insert(Iterator position, T& obj);
-
-  /*! \brief
-    Removes the element pointed to by \p position, returning
-    an iterator pointing to the next element, if any, or end(), otherwise.
-  */
-  Iterator erase(Iterator position);
-
-  //! Returns <CODE>true</CODE> if and only if the list is empty.
-  bool empty() const;
-
-  //! Returns an iterator pointing to the beginning of the list.
-  Iterator begin();
-
-  //! Returns an iterator pointing one past the last element in the list.
-  Iterator end();
-
-  //! Returns a const iterator pointing to the beginning of the list.
-  Const_Iterator begin() const;
-
-  //! Returns a const iterator pointing one past the last element in the list.
-  Const_Iterator end() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
-
-// Automatically generated from PPL source file ../src/EList.inlines.hh line 1
-/* EList class implementation: inline functions.
-*/
-
-#ifndef PWL_EList_inlines_hh
-#define PWL_EList_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename T>
-inline
-EList<T>::EList()
-  : Doubly_Linked_Object(this, this) {
-}
-
-template <typename T>
-inline void
-EList<T>::push_front(T& obj) {
-  next->insert_before(obj);
-}
-
-template <typename T>
-inline void
-EList<T>::push_back(T& obj) {
-  prev->insert_after(obj);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::insert(Iterator position, T& obj) {
-  position->insert_before(obj);
-  return Iterator(&obj);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::begin() {
-  return Iterator(next);
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::end() {
-  return Iterator(this);
-}
-
-template <typename T>
-inline typename EList<T>::Const_Iterator
-EList<T>::begin() const {
-  return Const_Iterator(next);
-}
-
-template <typename T>
-inline typename EList<T>::Const_Iterator
-EList<T>::end() const {
-  return Const_Iterator(const_cast<EList<T>*>(this));
-}
-
-template <typename T>
-inline bool
-EList<T>::empty() const {
-  return begin() == end();
-}
-
-template <typename T>
-inline typename EList<T>::Iterator
-EList<T>::erase(Iterator position) {
-  assert(!empty());
-  return Iterator(position->erase());
-}
-
-template <typename T>
-inline
-EList<T>::~EList() {
-  // Erase and deallocate all the elements.
-  for (Iterator i = begin(), lend = end(), next; i != lend; i = next) {
-    next = erase(i);
-    delete &*i;
-  }
-}
-
-template <typename T>
-inline bool
-EList<T>::OK() const {
-  for (Const_Iterator i = begin(), lend = end(); i != lend; ++i)
-    if (!i->OK())
-      return false;
-
-  return true;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_EList_inlines_hh)
-// Automatically generated from PPL source file ../src/EList.defs.hh line 89
-
-#endif // !defined(PWL_EList_defs_hh)
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 1
-/* Pending_Element class declaration.
-*/
-
-#ifndef PWL_Pending_Element_defs_hh
-#define PWL_Pending_Element_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 30
-
-//! A class for pending watchdog events with embedded links.
-/*!
-  Each pending watchdog event is characterized by a deadline (a positive
-  time interval), an associated handler that will be invoked upon event
-  expiration, and a Boolean flag that indicates whether the event has already
-  expired or not.
-*/
-template <typename Threshold>
-class Parma_Watchdog_Library::Pending_Element : public Doubly_Linked_Object {
-public:
-  //! Constructs an element with the given attributes.
-  Pending_Element(const Threshold& deadline,
-		  const Handler& handler,
-		  bool& expired_flag);
-
-  //! Modifies \p *this so that it has the given attributes.
-  void assign(const Threshold& deadline,
-	      const Handler& handler,
-	      bool& expired_flag);
-
-  //! Returns the deadline of the event.
-  const Threshold& deadline() const;
-
-  //! Returns the handler associated to the event.
-  const Handler& handler() const;
-
-  //! Returns a reference to the "event-expired" flag.
-  bool& expired_flag() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  //! The deadline of the event.
-  Threshold d;
-
-  //! A pointer to the handler associated to the event.
-  const Handler* p_h;
-
-  //! A pointer to a flag saying whether the event has already expired or not.
-  bool* p_f;
-};
-
-// Automatically generated from PPL source file ../src/Pending_Element.inlines.hh line 1
-/* Pending_Element class implementation: inline functions.
-*/
-
-#ifndef PWL_Pending_Element_inlines_hh
-#define PWL_Pending_Element_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Threshold>
-inline bool
-Pending_Element<Threshold>::OK() const {
-  return true;
-}
-
-template <typename Threshold>
-inline
-Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
-					    const Handler& handler,
-					    bool& expired_flag)
-  : d(deadline), p_h(&handler), p_f(&expired_flag) {
-  assert(OK());
-}
-
-template <typename Threshold>
-inline void
-Pending_Element<Threshold>::assign(const Threshold& deadline,
-				   const Handler& handler,
-				   bool& expired_flag) {
-  d = deadline;
-  p_h = &handler;
-  p_f = &expired_flag;
-  assert(OK());
-}
-
-template <typename Threshold>
-inline const Threshold&
-Pending_Element<Threshold>::deadline() const {
-  return d;
-}
-
-template <typename Threshold>
-inline const Handler&
-Pending_Element<Threshold>::handler() const {
-  return *p_h;
-}
-
-template <typename Threshold>
-inline bool&
-Pending_Element<Threshold>::expired_flag() const {
-  return *p_f;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_Element_inlines_hh)
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 75
-
-#endif // !defined(PWL_Pending_Element_defs_hh)
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 1
-/* Pending_List class declaration.
-*/
-
-#ifndef PWL_Pending_List_defs_hh
-#define PWL_Pending_List_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 31
-
-//! An ordered list for recording pending watchdog events.
-template <typename Traits>
-class Parma_Watchdog_Library::Pending_List {
-public:
-  //! A non-const iterator to traverse the list.
-  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
-
-  //! A const iterator to traverse the list.
-  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
-
-  //! Constructs an empty list.
-  Pending_List();
-
-  //! Destructor.
-  ~Pending_List();
-
-  //! Inserts a new Pending_Element object with the given attributes.
-  Iterator insert(const typename Traits::Threshold& deadline,
-		  const Handler& handler,
-		  bool& expired_flag);
-
-  /*! \brief
-    Removes the element pointed to by \p position, returning
-    an iterator pointing to the next element, if any, or end(), otherwise.
-  */
-  Iterator erase(Iterator position);
-
-  //! Returns <CODE>true</CODE> if and only if the list is empty.
-  bool empty() const;
-
-  //! Returns an iterator pointing to the beginning of the list.
-  Iterator begin();
-
-  //! Returns an iterator pointing one past the last element in the list.
-  Iterator end();
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-private:
-  EList<Pending_Element<typename Traits::Threshold> > active_list;
-  EList<Pending_Element<typename Traits::Threshold> > free_list;
-};
-
-// Automatically generated from PPL source file ../src/Pending_List.inlines.hh line 1
-/* Pending_List class implementation: inline functions.
-*/
-
-#ifndef PWL_Pending_List_inlines_hh
-#define PWL_Pending_List_inlines_hh 1
-
-#include <cassert>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-inline
-Pending_List<Traits>::Pending_List()
-  : active_list(),
-    free_list() {
-  assert(OK());
-}
-
-template <typename Traits>
-inline
-Pending_List<Traits>::~Pending_List() {
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::begin() {
-  return active_list.begin();
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::end() {
-  return active_list.end();
-}
-
-template <typename Traits>
-inline bool
-Pending_List<Traits>::empty() const {
-  return active_list.empty();
-}
-
-template <typename Traits>
-inline typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::erase(Iterator position) {
-  assert(!empty());
-  Iterator next = active_list.erase(position);
-  free_list.push_back(*position);
-  assert(OK());
-  return next;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_inlines_hh)
-// Automatically generated from PPL source file ../src/Pending_List.templates.hh line 1
-/* Pending_List class implementation.
-*/
-
-#ifndef PWL_Pending_List_templates_hh
-#define PWL_Pending_List_templates_hh 1
-
-#include <iostream>
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-typename Pending_List<Traits>::Iterator
-Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
-			     const Handler& handler,
-			     bool& expired_flag) {
-  Iterator position = active_list.begin();
-  for (Iterator active_list_end = active_list.end();
-       position != active_list_end && Traits::less_than(position->deadline(), deadline);
-       ++position)
-    ;
-  Iterator ppe;
-  // Only allocate a new element if the free list is empty.
-  if (free_list.empty())
-    ppe = new Pending_Element<typename Traits::Threshold>(deadline, handler, expired_flag);
-  else {
-    ppe = free_list.begin();
-    free_list.erase(ppe);
-    ppe->assign(deadline, handler, expired_flag);
-  }
-  Iterator r = active_list.insert(position, *ppe);
-  assert(OK());
-  return r;
-}
-
-template <typename Traits>
-bool
-Pending_List<Traits>::OK() const {
-  if (!active_list.OK())
-    return false;
-
-  if (!free_list.OK())
-    return false;
-
-  const typename Traits::Threshold* old;
-  Const_Iterator i = active_list.begin();
-  old = &i->deadline();
-  ++i;
-  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
-    const typename Traits::Threshold& t = i->deadline();
-    if (Traits::less_than(t, *old)) {
-#ifndef NDEBUG
-      std::cerr << "The active list is not sorted!"
-		<< std::endl;
-#endif
-      return false;
-    }
-    old = &t;
-  }
-  return true;
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Pending_List_templates_hh)
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 78
-
-#endif // !defined(PWL_Pending_List_defs_hh)
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 1
-/* Watchdog and associated classes' declaration and inline functions.
-*/
-
-#ifndef PWL_Watchdog_defs_hh
-#define PWL_Watchdog_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 31
-#include <cassert>
-#include <functional>
-
-#ifdef PWL_HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-
-namespace Parma_Watchdog_Library {
-
-// Set linkage now to declare it friend later.
-extern "C" void PWL_handle_timeout(int signum);
-
-struct Watchdog_Traits {
-  typedef Time Threshold;
-  static bool less_than(const Threshold& a, const Threshold& b) {
-    return a < b;
-  }
-};
-
-//! A watchdog timer.
-class Watchdog {
-public:
-  template <typename Flag_Base, typename Flag>
-  Watchdog(unsigned int units, const Flag_Base* volatile& holder, Flag& flag);
-
-  /*! \brief
-    Constructor: if not reset, the watchdog will trigger after \p units
-    hundreths of seconds, invoking handler \p function.
-  */
-  Watchdog(unsigned int units, void (*function)());
-
-  //! Destructor.
-  ~Watchdog();
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-private:
-  typedef Pending_List<Watchdog_Traits> WD_Pending_List;
-  friend class Init;
-
-  //! Static class initialization.
-  static void initialize();
-  //! Static class finalization.
-  static void finalize();
-
-  //! Whether or not this watchdog has expired.
-  bool expired;
-
-  const Handler& handler;
-  WD_Pending_List::Iterator pending_position;
-
-  // Private and not implemented: copy construction is not allowed.
-  Watchdog(const Watchdog&);
-  // Private and not implemented: copy assignment is not allowed.
-  Watchdog& operator=(const Watchdog&);
-
-  // Pass this to getitimer().
-  static itimerval current_timer_status;
-
-  //! Reads the timer value into \p time.
-  static void get_timer(Time& time);
-
-  // Pass this to setitimer().
-  static itimerval signal_once;
-
-  // Last time value we set the timer to.
-  static Time last_time_requested;
-
-  //! Sets the timer value to \p time.
-  static void set_timer(const Time& time);
-
-  //! Stops the timer.
-  static void stop_timer();
-
-  //! Quick reschedule to avoid race conditions.
-  static void reschedule();
-
-  // Used by the above.
-  static Time reschedule_time;
-
-  // Records the time elapsed since last fresh start.
-  static Time time_so_far;
-
-  //! The ordered queue of pending watchdog events.
-  static WD_Pending_List pending;
-
-  //! The actual signal handler.
-  static void handle_timeout(int);
-
-  //! Handles the addition of a new watchdog event.
-  static WD_Pending_List::Iterator
-  new_watchdog_event(unsigned int units,
-                     const Handler& handler,
-                     bool& expired_flag);
-
-  //! Handles the removal of the watchdog event referred by \p position.
-  void remove_watchdog_event(WD_Pending_List::Iterator position);
-
-  //! Whether the alarm clock is running.
-  static volatile bool alarm_clock_running;
-
-  //! Whether we are changing data that is also changed by the signal handler.
-  static volatile bool in_critical_section;
-
-  friend void PWL_handle_timeout(int signum);
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-};
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-class Init {
-private:
-  //! Count the number of objects created.
-  static unsigned int count;
-
-public:
-  //! Initializes the PWL.
-  Init();
-
-  //! Finalizes the PWL.
-  ~Init();
-};
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-} // namespace Parma_Watchdog_Library
-
-// Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 1
-/* Watchdog and associated classes' implementation: inline functions.
-*/
-
-#ifndef PWL_Watchdog_inlines_hh
-#define PWL_Watchdog_inlines_hh 1
-
-#include <stdexcept>
-
-// Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 30
-
-namespace Parma_Watchdog_Library {
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(unsigned int units,
-		   const Flag_Base* volatile& holder,
-                   Flag& flag)
-  : expired(false),
-    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  if (units == 0)
-    throw std::invalid_argument("Watchdog constructor called with a"
-				" non-positive number of time units");
-  in_critical_section = true;
-  pending_position = new_watchdog_event(units, handler, expired);
-  in_critical_section = false;
-}
-
-inline
-Watchdog::Watchdog(unsigned int units, void (*function)())
-  : expired(false), handler(*new Handler_Function(function)) {
-  if (units == 0)
-    throw std::invalid_argument("Watchdog constructor called with a"
-				" non-positive number of time units");
-  in_critical_section = true;
-  pending_position = new_watchdog_event(units, handler, expired);
-  in_critical_section = false;
-}
-
-inline
-Watchdog::~Watchdog() {
-  if (!expired) {
-    in_critical_section = true;
-    remove_watchdog_event(pending_position);
-    in_critical_section = false;
-  }
-  delete &handler;
-}
-
-inline void
-Watchdog::reschedule() {
-  set_timer(reschedule_time);
-}
-
-inline
-Init::Init() {
-  // Only when the first Init object is constructed...
-  if (count++ == 0) {
-    // ... the library is initialized.
-    Watchdog::initialize();
-  }
-}
-
-inline
-Init::~Init() {
-  // Only when the last Init object is destroyed...
-  if (--count == 0) {
-    // ... the library is finalized.
-    Watchdog::finalize();
-  }
-}
-
-#else // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
-
-template <typename Flag_Base, typename Flag>
-Watchdog::Watchdog(unsigned int /* units */,
-		   const Flag_Base* volatile& /* holder */,
-                   Flag& /* flag */) {
-  throw std::logic_error("PWL::Watchdog objects not supported:"
-                         " system does not provide setitimer()");
-}
-
-inline
-Watchdog::Watchdog(unsigned int /* units */, void (* /* function */)()) {
-  throw std::logic_error("PWL::Watchdog objects not supported:"
-                         " system does not provide setitimer()");
-}
-
-inline
-Watchdog::~Watchdog() {
-}
-
-#endif // !PWL_HAVE_DECL_SETITIMER !! !PWL_HAVE_DECL_SIGACTION
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Watchdog_inlines_hh)
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 160
-
-#if PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-namespace {
-
-Parma_Watchdog_Library::Init Parma_Watchdog_Library_initializer;
-
-} // namespace
-
-#endif // PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION
-
-#endif // !defined(PWL_Watchdog_defs_hh)
-
-// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 1
-/* Threshold_Watcher and associated classes' declaration and inline functions.
-*/
-
-#ifndef PWL_Threshold_Watcher_defs_hh
-#define PWL_Threshold_Watcher_defs_hh 1
-
-// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 30
-#include <cassert>
-
-/*! \brief
-  A class of watchdogs controlling the exceeding of a threshold.
-
-  \tparam Traits
-  A class to set data types and functions for the threshold handling.
-  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
-*/
-template <typename Traits>
-class Parma_Watchdog_Library::Threshold_Watcher {
-public:
-  template <typename Flag_Base, typename Flag>
-  Threshold_Watcher(const typename Traits::Delta& delta,
-                    const Flag_Base* volatile& holder,
-                    Flag& flag);
-
-  Threshold_Watcher(const typename Traits::Delta& delta,
-                    void (*function)());
-
-  ~Threshold_Watcher();
-
-private:
-  typedef Pending_List<Traits> TW_Pending_List;
-
-  bool expired;
-  const Handler& handler;
-  typename TW_Pending_List::Iterator pending_position;
-
-  // Just to prevent their use.
-  Threshold_Watcher(const Threshold_Watcher&);
-  Threshold_Watcher& operator=(const Threshold_Watcher&);
-
-  struct Initialize {
-    //! The ordered queue of pending thresholds.
-    TW_Pending_List pending;
-  };
-  static Initialize init;
-
-  // Handle the addition of a new threshold.
-  static typename TW_Pending_List::Iterator
-  add_threshold(typename Traits::Threshold threshold,
-		const Handler& handler,
-		bool& expired_flag);
-
-  // Handle the removal of a threshold.
-  static typename TW_Pending_List::Iterator
-  remove_threshold(typename TW_Pending_List::Iterator position);
-
-  //! Check threshold reaching.
-  static void check();
-
-}; // class Parma_Watchdog_Library::Threshold_Watcher
-
-
-// Templatic initialization of static data member.
-template <typename Traits>
-typename Parma_Watchdog_Library::Threshold_Watcher<Traits>::Initialize
-Parma_Watchdog_Library::Threshold_Watcher<Traits>::init;
-
-// Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 1
-/* Threshold_Watcher and associated classes' implementation: inline functions.
-*/
-
-#ifndef PWL_Threshold_Watcher_inlines_hh
-#define PWL_Threshold_Watcher_inlines_hh 1
-
-#include <stdexcept>
-
-// Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 30
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-template <typename Flag_Base, typename Flag>
-Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, const Flag_Base* volatile& holder, Flag& flag)
-  : expired(false),
-    handler(*new Handler_Flag<Flag_Base, Flag>(holder, flag)) {
-  typename Traits::Threshold threshold;
-  Traits::from_delta(threshold, delta);
-  if (!Traits::less_than(Traits::get(), threshold))
-    throw std::invalid_argument("Threshold_Watcher constructor called with a"
-				" threshold already reached");
-  pending_position = add_threshold(threshold, handler, expired);
-}
-
-template <typename Traits>
-inline
-Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
-  : expired(false), handler(*new Handler_Function(function)) {
-  typename Traits::Threshold threshold;
-  Traits::from_delta(threshold, delta);
-  if (!Traits::less_than(Traits::get(), threshold))
-    throw std::invalid_argument("Threshold_Watcher constructor called with a"
-				" threshold already reached");
-  pending_position = add_threshold(threshold, handler, expired);
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_inlines_hh)
-// Automatically generated from PPL source file ../src/Threshold_Watcher.templates.hh line 1
-/* Threshold_Watcher and associated classes'.
-*/
-
-#ifndef PWL_Threshold_Watcher_templates_hh
-#define PWL_Threshold_Watcher_templates_hh 1
-
-namespace Parma_Watchdog_Library {
-
-template <typename Traits>
-typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
-Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
-                                         const Handler& handler,
-                                         bool& expired_flag) {
-  Traits::check_function = Threshold_Watcher::check;
-  return init.pending.insert(threshold, handler, expired_flag);
-}
-
-template <typename Traits>
-typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
-Threshold_Watcher<Traits>
-::remove_threshold(typename TW_Pending_List::Iterator position) {
-  typename TW_Pending_List::Iterator i = init.pending.erase(position);
-  if (init.pending.empty())
-    Traits::check_function = 0;
-  return i;
-}
-
-template <typename Traits>
-Threshold_Watcher<Traits>::~Threshold_Watcher() {
-  if (!expired)
-    remove_threshold(pending_position);
-  delete &handler;
-}
-
-template <typename Traits>
-void
-Threshold_Watcher<Traits>::check() {
-  typename TW_Pending_List::Iterator i = init.pending.begin();
-  assert(i != init.pending.end());
-  const typename Traits::Threshold& current = Traits::get();
-  while (!Traits::less_than(current, i->deadline())) {
-    i->handler().act();
-    i->expired_flag() = true;
-    i = remove_threshold(i);
-    if (i == init.pending.end())
-      break;
-  }
-}
-
-} // namespace Parma_Watchdog_Library
-
-#endif // !defined(PWL_Threshold_Watcher_templates_hh)
-// Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 92
-
-#endif // !defined(PWL_Threshold_Watcher_defs_hh)
-
-
-//! Defined to 1 if PWL::Watchdog objects are supported, to 0 otherwise.
-#define PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
-  (PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION)
-
-#ifdef PWL_SAVE_NDEBUG
-# ifndef NDEBUG
-#  define NDEBUG PWL_SAVE_NDEBUG
-# endif
-# undef PWL_SAVE_NDEBUG
-#else
-# ifdef NDEBUG
-#  undef NDEBUG
-# endif
-#endif
-// Must include <cassert> again in order to make the latest changes to
-// NDEBUG effective.
-#include <cassert>
-
-#endif
diff --git a/Watchdog/src/pwl_header.hh b/Watchdog/src/pwl_header.hh
deleted file mode 100644
index 67c4615..0000000
--- a/Watchdog/src/pwl_header.hh
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_pwl_hh
-#define PWL_pwl_hh 1
-
-#ifdef NDEBUG
-# define PWL_SAVE_NDEBUG NDEBUG
-# undef NDEBUG
-#endif
-
-#include "pwl-config.h"
-#include "pwl_include_files.hh"
-
-//! Defined to 1 if PWL::Watchdog objects are supported, to 0 otherwise.
-#define PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
-  (PWL_HAVE_DECL_SETITIMER && PWL_HAVE_DECL_SIGACTION)
-
-#ifdef PWL_SAVE_NDEBUG
-# ifndef NDEBUG
-#  define NDEBUG PWL_SAVE_NDEBUG
-# endif
-# undef PWL_SAVE_NDEBUG
-#else
-# ifdef NDEBUG
-#  undef NDEBUG
-# endif
-#endif
-// Must include <cassert> again in order to make the latest changes to
-// NDEBUG effective.
-#include <cassert>
-
-#endif
diff --git a/Watchdog/tests/Makefile.am b/Watchdog/tests/Makefile.am
deleted file mode 100644
index 3bbdd2b..0000000
--- a/Watchdog/tests/Makefile.am
+++ /dev/null
@@ -1,72 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-if VALGRIND_TESTS_ENABLED
-
-CHECKER = \
-$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
---num-callers=40 --leak-resolution=high \
---suppressions=$(srcdir)/valgrind_suppressions
-
-else !VALGRIND_TESTS_ENABLED
-
-CHECKER =
-
-endif !VALGRIND_TESTS_ENABLED
-
-TESTS_ENVIRONMENT = $(CHECKER)
-
-AM_CPPFLAGS = \
--I.. \
--I../src \
- at debug_flag@
-
-check_LIBRARIES = libpwl_tests.a
-
-libpwl_tests_a_SOURCES = \
-pwl_test.cc
-
-LDADD = \
-../src/libpwl.la \
-libpwl_tests.a
-
-noinst_HEADERS = \
-pwl_test.hh
-
-EXTRA_DIST = valgrind_suppressions
-
-TESTS = \
-watchdog1
-
-XFAIL_TESTS =
-
-#
-# Sources for the tests
-#
-
-watchdog1_SOURCES = watchdog1.cc
-
-check_PROGRAMS = $(TESTS)
-
-../src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C ../src libpwl.la
diff --git a/Watchdog/tests/Makefile.in b/Watchdog/tests/Makefile.in
deleted file mode 100644
index 012a871..0000000
--- a/Watchdog/tests/Makefile.in
+++ /dev/null
@@ -1,667 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-TESTS = watchdog1$(EXEEXT)
-XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_1)
-subdir = tests
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
-am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-libpwl_tests_a_AR = $(AR) $(ARFLAGS)
-libpwl_tests_a_LIBADD =
-am_libpwl_tests_a_OBJECTS = pwl_test.$(OBJEXT)
-libpwl_tests_a_OBJECTS = $(am_libpwl_tests_a_OBJECTS)
-am__EXEEXT_1 = watchdog1$(EXEEXT)
-am_watchdog1_OBJECTS = watchdog1.$(OBJEXT)
-watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
-watchdog1_LDADD = $(LDADD)
-watchdog1_DEPENDENCIES = ../src/libpwl.la libpwl_tests.a
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
-am__v_lt_0 = --silent
-DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
-am__v_CXX_0 = @echo "  CXX   " $@;
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
-am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-SOURCES = $(libpwl_tests_a_SOURCES) $(watchdog1_SOURCES)
-DIST_SOURCES = $(libpwl_tests_a_SOURCES) $(watchdog1_SOURCES)
-HEADERS = $(noinst_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-am__tty_colors = \
-red=; grn=; lgn=; blu=; std=
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
- at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
- at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
- at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
- at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=40 --leak-resolution=high \
- at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(srcdir)/valgrind_suppressions
-
-TESTS_ENVIRONMENT = $(CHECKER)
-AM_CPPFLAGS = \
--I.. \
--I../src \
- at debug_flag@
-
-check_LIBRARIES = libpwl_tests.a
-libpwl_tests_a_SOURCES = \
-pwl_test.cc
-
-LDADD = \
-../src/libpwl.la \
-libpwl_tests.a
-
-noinst_HEADERS = \
-pwl_test.hh
-
-EXTRA_DIST = valgrind_suppressions
-
-#
-# Sources for the tests
-#
-watchdog1_SOURCES = watchdog1.cc
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign tests/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-clean-checkLIBRARIES:
-	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-libpwl_tests.a: $(libpwl_tests_a_OBJECTS) $(libpwl_tests_a_DEPENDENCIES) 
-	$(AM_V_at)-rm -f libpwl_tests.a
-	$(AM_V_AR)$(libpwl_tests_a_AR) libpwl_tests.a $(libpwl_tests_a_OBJECTS) $(libpwl_tests_a_LIBADD)
-	$(AM_V_at)$(RANLIB) libpwl_tests.a
-
-clean-checkPROGRAMS:
-	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
-watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
-	@rm -f watchdog1$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pwl_test.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1.Po at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-check-TESTS: $(TESTS)
-	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
-	srcdir=$(srcdir); export srcdir; \
-	list=' $(TESTS) '; \
-	$(am__tty_colors); \
-	if test -n "$$list"; then \
-	  for tst in $$list; do \
-	    if test -f ./$$tst; then dir=./; \
-	    elif test -f $$tst; then dir=; \
-	    else dir="$(srcdir)/"; fi; \
-	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
-	      all=`expr $$all + 1`; \
-	      case " $(XFAIL_TESTS) " in \
-	      *[\ \	]$$tst[\ \	]*) \
-		xpass=`expr $$xpass + 1`; \
-		failed=`expr $$failed + 1`; \
-		col=$$red; res=XPASS; \
-	      ;; \
-	      *) \
-		col=$$grn; res=PASS; \
-	      ;; \
-	      esac; \
-	    elif test $$? -ne 77; then \
-	      all=`expr $$all + 1`; \
-	      case " $(XFAIL_TESTS) " in \
-	      *[\ \	]$$tst[\ \	]*) \
-		xfail=`expr $$xfail + 1`; \
-		col=$$lgn; res=XFAIL; \
-	      ;; \
-	      *) \
-		failed=`expr $$failed + 1`; \
-		col=$$red; res=FAIL; \
-	      ;; \
-	      esac; \
-	    else \
-	      skip=`expr $$skip + 1`; \
-	      col=$$blu; res=SKIP; \
-	    fi; \
-	    echo "$${col}$$res$${std}: $$tst"; \
-	  done; \
-	  if test "$$all" -eq 1; then \
-	    tests="test"; \
-	    All=""; \
-	  else \
-	    tests="tests"; \
-	    All="All "; \
-	  fi; \
-	  if test "$$failed" -eq 0; then \
-	    if test "$$xfail" -eq 0; then \
-	      banner="$$All$$all $$tests passed"; \
-	    else \
-	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
-	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
-	    fi; \
-	  else \
-	    if test "$$xpass" -eq 0; then \
-	      banner="$$failed of $$all $$tests failed"; \
-	    else \
-	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
-	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
-	    fi; \
-	  fi; \
-	  dashes="$$banner"; \
-	  skipped=""; \
-	  if test "$$skip" -ne 0; then \
-	    if test "$$skip" -eq 1; then \
-	      skipped="($$skip test was not run)"; \
-	    else \
-	      skipped="($$skip tests were not run)"; \
-	    fi; \
-	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
-	      dashes="$$skipped"; \
-	  fi; \
-	  report=""; \
-	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
-	    report="Please report to $(PACKAGE_BUGREPORT)"; \
-	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
-	      dashes="$$report"; \
-	  fi; \
-	  dashes=`echo "$$dashes" | sed s/./=/g`; \
-	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
-	  else \
-	    echo "$$red$$dashes"; \
-	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
-	  test "$$failed" -eq 0; \
-	else :; fi
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) $(check_LIBRARIES) $(check_PROGRAMS)
-	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
-check: check-am
-all-am: Makefile $(HEADERS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: check-am install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
-	clean-checkLIBRARIES clean-checkPROGRAMS clean-generic \
-	clean-libtool ctags distclean distclean-compile \
-	distclean-generic distclean-libtool distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-data install-data-am install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-ps install-ps-am install-strip \
-	installcheck installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am
-
-
-../src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C ../src libpwl.la
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/tests/pwl_test.cc b/Watchdog/tests/pwl_test.cc
deleted file mode 100644
index 6022165..0000000
--- a/Watchdog/tests/pwl_test.cc
+++ /dev/null
@@ -1,194 +0,0 @@
-/* Implementation of utility functions used in test programs.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "pwl_test.hh"
-#include <csignal>
-#include <iostream>
-#include <exception>
-#include <limits>
-#ifdef PWL_HAVE_FENV_H
-#include <fenv.h>
-#endif
-
-namespace {
-
-void
-unexpected_exception_handler() {
-  std::cerr << "unexpected exception thrown" << std::endl;
-  exit(1);
-}
-
-void
-uncaught_exception_handler() {
-  std::cerr << "uncaught exception" << std::endl;
-  exit(1);
-}
-
-#if PWL_HAVE_DECL_SIGACTION
-
-#if defined(PWL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
-
-void
-fpe_sigaction(int sig, siginfo_t* sip, void*) {
-  if (sig != SIGFPE) {
-    std::cerr << "fpe_handler called on signal different from SIGFPE"
-	      << std::endl;
-    exit(1);
-  }
-  const char* s = 0;
-  switch (sip->si_code) {
-  case FPE_INTDIV:
-    s = "integer divide by zero";
-    break;
-  case FPE_INTOVF:
-    s = "integer overflow";
-    break;
-  case FPE_FLTDIV:
-    s = "floating point divide by zero";
-    break;
-  case FPE_FLTOVF:
-    s = "floating point overflow";
-    break;
-  case FPE_FLTUND:
-    s = "floating point underflow";
-    break;
-  case FPE_FLTRES:
-    s = "floating point inexact result";
-    break;
-  case FPE_FLTINV:
-    s = "floating point invalid operation";
-    break;
-  case FPE_FLTSUB:
-    s = "subscript out of range";
-    break;
-  default:
-    break;
-  }
-  if (s != 0)
-    std::cerr << "SIGFPE caught (cause: " << s << ")"
-	      << std::endl;
-  else {
-    std::cerr << "SIGFPE caught (unknown si_code " << sip->si_code << ")"
-	      << std::endl;
-#if defined(PWL_HAVE_FENV_H)
-    std::cerr << "Inquire with fetestexcept(): ";
-#ifdef FE_INEXACT
-    if (fetestexcept(FE_INEXACT))
-      std::cerr << "FE_INEXACT ";
-#endif
-#ifdef FE_DIVBYZERO
-    if (fetestexcept(FE_DIVBYZERO))
-      std::cerr << "FE_DIVBYZERO ";
-#endif
-#ifdef FE_UNDERFLOW
-    if (fetestexcept(FE_UNDERFLOW))
-      std::cerr << "FE_UNDERFLOW ";
-#endif
-#ifdef FE_OVERFLOW
-    if (fetestexcept(FE_OVERFLOW))
-      std::cerr << "FE_OVERFLOW ";
-#endif
-#if FE_INVALID
-    if (fetestexcept(FE_INVALID))
-      std::cerr << "FE_INVALID ";
-#endif
-    std::cerr << std::endl;
-#endif // defined(PWL_HAVE_FENV_H)
-  }
-  exit(1);
-}
-
-#else // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
-
-void
-fpe_handler(int sig) {
-  if (sig != SIGFPE) {
-    std::cerr << "fpe_handler called on signal different from SIGFPE"
-	      << std::endl;
-    exit(1);
-  }
-  std::cerr << "SIGFPE caught"
-            << std::endl;
-#if defined(PWL_HAVE_FENV_H)
-  std::cerr << "Inquire with fetestexcept(): ";
-#ifdef FE_INEXACT
-  if (fetestexcept(FE_INEXACT))
-    std::cerr << "FE_INEXACT ";
-#endif
-#ifdef FE_DIVBYZERO
-  if (fetestexcept(FE_DIVBYZERO))
-    std::cerr << "FE_DIVBYZERO ";
-#endif
-#ifdef FE_UNDERFLOW
-  if (fetestexcept(FE_UNDERFLOW))
-    std::cerr << "FE_UNDERFLOW ";
-#endif
-#ifdef FE_OVERFLOW
-  if (fetestexcept(FE_OVERFLOW))
-    std::cerr << "FE_OVERFLOW ";
-#endif
-#if FE_INVALID
-  if (fetestexcept(FE_INVALID))
-    std::cerr << "FE_INVALID ";
-#endif
-  std::cerr << std::endl;
-#endif // defined(PWL_HAVE_FENV_H)
-  exit(1);
-}
-
-#endif // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
-
-#endif // PWL_HAVE_DECL_SIGACTION
-
-} // namespace
-
-namespace Parma_Watchdog_Library {
-
-namespace Test {
-
-void
-set_handlers() {
-#if PWL_HAVE_DECL_SIGACTION
-  struct sigaction action;
-  sigemptyset(&action.sa_mask);
-#if defined(PWL_HAVE_SIGINFO_T) && defined(SA_SIGINFO)
-  action.sa_sigaction = fpe_sigaction;
-  action.sa_flags = SA_SIGINFO;
-#else // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
-  action.sa_handler = fpe_handler;
-  action.sa_flags = 0;
-#endif // !defined(PWL_HAVE_SIGINFO_T) || !defined(SA_SIGINFO)
-  if (sigaction(SIGFPE, &action, NULL) != 0) {
-    std::cerr << "sigaction() failed"
-	      << std::endl;
-    abort();
-  }
-#endif // PWL_HAVE_DECL_SIGACTION
-
-  std::set_unexpected(unexpected_exception_handler);
-  std::set_terminate(uncaught_exception_handler);
-}
-
-} // namespace Test
-
-} // namespace Parma_Watchdog_Library
diff --git a/Watchdog/tests/pwl_test.hh b/Watchdog/tests/pwl_test.hh
deleted file mode 100644
index 6fac692..0000000
--- a/Watchdog/tests/pwl_test.hh
+++ /dev/null
@@ -1,206 +0,0 @@
-/* Header file for test programs.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PWL_pwl_test_hh
-#define PWL_pwl_test_hh 1
-
-#include "pwl.hh"
-#include <stdexcept>
-#include <sstream>
-#include <list>
-#include <iterator>
-#include <string>
-#include <iostream>
-#include <algorithm>
-#include <typeinfo>
-#include <cstdlib>
-
-#ifndef NOISY
-#define NOISY 0
-#endif
-
-#ifndef VERY_NOISY
-#define VERY_NOISY 0
-#endif
-
-#define TRY try
-
-#define CATCH \
-catch (const std::overflow_error& e) { \
-  std::cerr << "arithmetic overflow (" << e.what() << ")" \
-            << std::endl; \
-  exit(1); \
-} \
-catch (const std::exception& e) { \
-  std::cerr << "std::exception caught: " \
-            << e.what() << " (type == " << typeid(e).name() << ")" \
-            << std::endl; \
-  exit(1); \
-}
-
-#define BEGIN_MAIN				\
-int						\
-main() try {					\
-  set_handlers();				\
-  bool succeeded = false;			\
-  bool overflow = false;			\
-  std::list<std::string> failed_tests;
-
-#define END_MAIN							\
-  if (failed_tests.empty())						\
-    return 0;								\
-  else {								\
-    std::cerr << "failed tests: ";					\
-    std::copy(failed_tests.begin(), failed_tests.end(),			\
-	      std::ostream_iterator<std::string>(std::cerr, " "));	\
-    std::cerr << std::endl;						\
-    return 1;								\
-  }									\
-}									\
-catch (const std::overflow_error& e) {					\
-  std::cerr << "arithmetic overflow (" << e.what() << ")"		\
-            << std::endl;						\
-  exit(1);								\
-}									\
-catch (const std::exception& e) {					\
-  std::cerr << "std::exception caught: "				\
-	    << e.what() << " (type == " << typeid(e).name() << ")"	\
-	    << std::endl;						\
-  exit(1);								\
-}
-
-#define ANNOUNCE_TEST(test)		 \
-  nout << "\n=== " #test " ===" << std::endl
-
-#define RUN_TEST(test)							\
-  try {									\
-    overflow = false;							\
-    succeeded = test();							\
-  }									\
-  catch (const std::overflow_error& e) {				\
-    nout << "arithmetic overflow (" << e.what() << ")"			\
-	 << std::endl;							\
-    overflow = true;							\
-    succeeded = false;							\
-  }									\
-  catch (const std::exception& e) {					\
-    nout << "std::exception caught: "					\
-	 << e.what() << " (type == " << typeid(e).name() << ")"		\
-	 << std::endl;							\
-    succeeded = false;							\
-  }									\
-  catch (...) {								\
-    nout << "unknown exception caught"					\
-	 << std::endl;							\
-    succeeded = false;							\
-  }
-
-#define DO_TEST(test)			 \
-  ANNOUNCE_TEST(test);			 \
-  RUN_TEST(test);			 \
-  if (!succeeded)			 \
-    failed_tests.push_back(#test);
-
-#define DO_TEST_F(test)			 \
-  ANNOUNCE_TEST(test);			 \
-  RUN_TEST(test);			 \
-  if (succeeded)			 \
-    failed_tests.push_back(#test);
-
-#define DO_TEST_OVERFLOW(test)		 \
-  ANNOUNCE_TEST(test);			 \
-  RUN_TEST(test);			 \
-  if (succeeded || !overflow)		 \
-    failed_tests.push_back(#test);
-
-// Turn s into a string: PWL_TEST_STR(x + y) => "x + y".
-#define PWL_TEST_STR(s) #s
-
-// Turn the expansion of s into a string: PWL_TEST_XSTR(x) => "s expanded".
-#define PWL_TEST_XSTR(s) PWL_TEST_STR(s)
-
-
-namespace Parma_Watchdog_Library {
-
-namespace Test {
-
-static bool
-check_noisy(const char*
-#if PWL_HAVE_DECL_GETENV || NOISY || VERY_NOISY
-            environment_variable
-#endif
-            ) {
-#if PWL_HAVE_DECL_GETENV
-  return getenv(environment_variable) != 0;
-#else
-#if NOISY
-  if (strcmp(environment_variable, "PWL_NOISY_TESTS") == 0)
-    return true;
-#endif
-#if VERY_NOISY
-  if (strcmp(environment_variable, "PWL_VERY_NOISY_TESTS") == 0)
-    return true;
-#endif
-  return false;
-#endif
-}
-
-template<typename CharT, typename Traits = std::char_traits<CharT> >
-class nullbuf : public std::basic_streambuf<CharT, Traits> {
-protected:
-  virtual typename Traits::int_type overflow(typename Traits::int_type c) {
-    return Traits::not_eof(c);
-  }
-};
-
-template <class CharT, class Traits = std::char_traits<CharT> >
-class noisy_ostream : public std::basic_ostream<CharT, Traits> {
-private:
-  nullbuf<CharT, Traits> black_hole;
-
-public:
-  noisy_ostream(const std::basic_ostream<CharT, Traits>& os,
-		const char* environment_variable)
-    : std::basic_ostream<CharT, Traits>(check_noisy(environment_variable)
-					? os.rdbuf()
-					: &black_hole) {
-  }
-};
-
-static noisy_ostream<char> nout(std::cout, "PWL_NOISY_TESTS");
-static noisy_ostream<char> vnout(std::cout, "PWL_VERY_NOISY_TESTS");
-
-void
-set_handlers();
-
-} // namespace Test
-
-} // namespace Parma_Watchdog_Library
-
-// These using directive and declaration are just to avoid the
-// corresponding namespace qualifications in all the tests.
-using namespace Parma_Watchdog_Library;
-using namespace Parma_Watchdog_Library::Test;
-using std::endl;
-
-#endif // !defined(PWL_pwl_test_hh)
diff --git a/Watchdog/tests/valgrind_suppressions b/Watchdog/tests/valgrind_suppressions
deleted file mode 100644
index 094660b..0000000
--- a/Watchdog/tests/valgrind_suppressions
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-   1
-   Memcheck:Leak
-   fun:*
-   obj:/bin/bash
-}
-{
-   2
-   Memcheck:Leak
-   fun:*
-   obj:/bin/sed
-}
-{
-   3
-   Memcheck:Leak
-   fun:*
-   obj:/bin/rm
-}
diff --git a/Watchdog/tests/watchdog1.cc b/Watchdog/tests/watchdog1.cc
deleted file mode 100644
index ada40de..0000000
--- a/Watchdog/tests/watchdog1.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Some simple tests for the basic functionality of the PWL.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Watchdog Library (PWL).
-
-The PWL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PWL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include "pwl_test.hh"
-
-namespace {
-
-volatile bool interrupt = false;
-
-void
-do_interrupt() {
-  interrupt = true;
-}
-
-bool
-test01() {
-  const int hundredth_secs = 10;
-  try {
-    bool ok;
-    {
-      Watchdog w(hundredth_secs, do_interrupt);
-      nout << ((float) hundredth_secs)/100.0 << " seconds watchdog" << endl;
-
-      nout << "starting iteration... " << std::flush;
-      for (unsigned long i = 0; i < 1000000000; ++i) {
-        if (interrupt) {
-          nout << "interrupted" << endl;
-          ok = true;
-          goto done;
-        }
-      }
-      nout << "not interrupted" << endl;
-      ok = false;
-    done:
-      ;
-    }
-    interrupt = false;
-    return ok;
-  }
-#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
-  catch (const std::logic_error& e) {
-    nout << "std::logic_error caught (" << e.what() << ")" << endl;
-    return true;
-  }
-#endif // !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
-  catch (...) {
-    return false;
-  }
-  // Should never get here.
-  return false;
-}
-
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-END_MAIN
diff --git a/Watchdog/utils/Makefile.am b/Watchdog/utils/Makefile.am
deleted file mode 100644
index b92da09..0000000
--- a/Watchdog/utils/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-dist_noinst_SCRIPTS = \
-build_header.in
-
-noinst_SCRIPTS = \
-build_header
-
-# Even if the scripts listed in noinst_SCRIPTS are not distributed
-# (only the corresponding *.in files are), we need them to actually
-# generating the distribution.  Using dist-hook is the best solution
-# we came up with to obtain this effect.
-dist-hook: $(noinst_SCRIPTS)
-
-generated_automatically = Generated automatically: \
-do not modify; modify the .in file instead.
-
-do_subst = $(SED) -e 's,[@]PERL[@],$(PERL),g' \
-	-e 's,[@]generated_automatically[@],$(generated_automatically),g'
-
-build_header: build_header.in
-	$(do_subst) < $(srcdir)/build_header.in > build_header
-	chmod +x build_header
-
-CLEANFILES = $(noinst_SCRIPTS)
diff --git a/Watchdog/utils/Makefile.in b/Watchdog/utils/Makefile.in
deleted file mode 100644
index 39fb9e3..0000000
--- a/Watchdog/utils/Makefile.in
+++ /dev/null
@@ -1,419 +0,0 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-# Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Watchdog Library (PWL).
-#
-# The PWL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PWL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ . */
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = utils
-DIST_COMMON = $(dist_noinst_SCRIPTS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/libtool.m4 \
-	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
-	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-SCRIPTS = $(dist_noinst_SCRIPTS) $(noinst_SCRIPTS)
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
-am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
-am__v_at_0 = @
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-ISODATE = @ISODATE@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PERL = @PERL@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VALGRIND = @VALGRIND@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-debug_flag = @debug_flag@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-dist_noinst_SCRIPTS = \
-build_header.in
-
-noinst_SCRIPTS = \
-build_header
-
-generated_automatically = Generated automatically: \
-do not modify; modify the .in file instead.
-
-do_subst = $(SED) -e 's,[@]PERL[@],$(PERL),g' \
-	-e 's,[@]generated_automatically[@],$(generated_automatically),g'
-
-CLEANFILES = $(noinst_SCRIPTS)
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign utils/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign utils/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	$(MAKE) $(AM_MAKEFLAGS) \
-	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
-	  dist-hook
-check-am: all-am
-check: check-am
-all-am: Makefile $(SCRIPTS)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
-	dist-hook distclean distclean-generic distclean-libtool \
-	distdir dvi dvi-am html html-am info info-am install \
-	install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	uninstall uninstall-am
-
-
-# Even if the scripts listed in noinst_SCRIPTS are not distributed
-# (only the corresponding *.in files are), we need them to actually
-# generating the distribution.  Using dist-hook is the best solution
-# we came up with to obtain this effect.
-dist-hook: $(noinst_SCRIPTS)
-
-build_header: build_header.in
-	$(do_subst) < $(srcdir)/build_header.in > build_header
-	chmod +x build_header
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/Watchdog/utils/build_header.in b/Watchdog/utils/build_header.in
deleted file mode 100644
index 7a6ae7d..0000000
--- a/Watchdog/utils/build_header.in
+++ /dev/null
@@ -1,103 +0,0 @@
-#! @PERL@
-# -*- Perl -*-
-# @generated_automatically@
-
-eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
-    if 0;
-
-# Builds a self-contained C++ header file by performing recursive inclusion.
-# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-#
-# This file is part of the Parma Polyhedra Library (PPL).
-#
-# The PPL is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 3 of the License, or (at your
-# option) any later version.
-#
-# The PPL is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-#
-# For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
-
-use strict;
-use warnings;
-use Getopt::Long;
-
-sub filter($$$$);
-sub filter($$$$) {
-    my ($file, $dirs, $level, $files) = @_;
-    return if (exists($$files{$file}));
-    $$files{$file} = undef;
-    my $fh;
-    open $fh, $file or die "Cannot open $file";
-    my $comment = 0;
-    my $copyright = 0;
-    my $print_from = 1;
-    while (my $line = <$fh>) {
-	my $iname;
-	if (($iname) = ($line =~ '^\s*#include\s+"([^"]+)"\s*\n$')) {
-	    my $lineno = $.;
-	    my $ifile;
-	    foreach my $idir (@$dirs) {
-		$ifile = $idir . '/' . $iname;
-		last if -e $ifile;
-	    }
-	    filter($ifile, $dirs, $level+1, $files);
-	    $print_from = 1;
-	    next;
-	}
-	if ($level > 0) {
-	    if ($print_from) {
-		print "// Automatically generated from PPL source file $file line $.\n";
-		$print_from = 0;
-	    }
-	    next if ($line =~ '^\s*#ifndef\s+PPL_[A-Za-z0-9_]+_hh\s*$');
-	    next if ($line =~ '^\s*#define\s+PPL_[A-Za-z0-9_]+_hh(\s+1)?\s*$');
-	    next if ($line =~ '^\s*#endif\s*//\s*!defined\(PPL_[A-Za-z0-9_]+_hh\)\s*$');
-	    if ($line =~ '/\*') {
-		$comment = 1;
-	    }
-	    if ($comment && $line =~ 'Copyright.*Roberto Bagnara <bagnara at cs.unipr.it>') {
-		$copyright = 1;
-		print "*/\n" unless $line =~ '/\*';
-	    }
-	    if ($line =~ '\*/') {
-		$comment = 0;
-		if ($copyright) {
-		    $copyright = 0;
-		    next;
-		}
-	    }
-	    next if $copyright;
-	}
-	print $line;
-    }
-    close $fh;
-
-}
-
-
-my @dirs;
-
-unless (GetOptions("I=s" => \@dirs) && @ARGV == 1) {
-    print STDERR "Usage: $0 [-I dir]... file\n";
-    exit;
-}
-my $file = $ARGV[0];
-
-my ($dir, $name) = ($file =~ '^(?:(.*)/)?([^/]+)$');
-$dir = '.' unless defined($dir);
-unshift @dirs, $dir; 
-
-my %files;
-
-filter($file, \@dirs, 0, \%files);
diff --git a/aclocal.m4 b/aclocal.m4
index 9fec512..1df5f6c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,8 @@
-# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.11.3 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
+# Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -13,18 +14,21 @@
 
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
-[m4_warning([this file was generated for autoconf 2.65.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
 You have another version of autoconf.  It may work, but is not guaranteed to.
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically `autoreconf'.])])
 
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008, 2011 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_AUTOMAKE_VERSION(VERSION)
 # ----------------------------
 # Automake X.Y traces this macro to ensure aclocal.m4 has been
@@ -34,7 +38,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
 [am__api_version='1.11'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11.1], [],
+m4_if([$1], [1.11.3], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -50,19 +54,21 @@ m4_define([_AM_AUTOCONF_VERSION], [])
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11.1])dnl
+[AM_AUTOMAKE_VERSION([1.11.3])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
 # $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
 # `$srcdir', `$srcdir/..', or `$srcdir/../..'.
@@ -144,14 +150,14 @@ AC_CONFIG_COMMANDS_PRE(
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
+# 2010, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 10
+# serial 12
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -191,6 +197,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -255,7 +262,7 @@ AC_CACHE_CHECK([dependency style of $depcc],
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -320,10 +327,13 @@ AC_DEFUN([AM_DEP_TRACK],
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
 AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
 AC_SUBST([AMDEPBACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
 ])
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
@@ -545,12 +555,15 @@ for _am_header in $config_headers :; do
 done
 echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_SH
 # ------------------
 # Define $install_sh.
@@ -682,12 +695,15 @@ else
 fi
 ])
 
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2004, 2005, 2006, 2011 Free Software Foundation,
+# Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_MKDIR_P
 # ---------------
 # Check for `mkdir -p'.
@@ -710,13 +726,14 @@ esac
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008, 2010 Free Software
+# Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 4
+# serial 5
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -724,13 +741,13 @@ AC_DEFUN([_AM_MANGLE_OPTION],
 [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
 
 # _AM_SET_OPTION(NAME)
-# ------------------------------
+# --------------------
 # Set option NAME.  Presently that only means defining a flag for this option.
 AC_DEFUN([_AM_SET_OPTION],
 [m4_define(_AM_MANGLE_OPTION([$1]), 1)])
 
 # _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
+# ------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
 [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
@@ -741,12 +758,14 @@ AC_DEFUN([_AM_SET_OPTIONS],
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_RUN_LOG(COMMAND)
 # -------------------
 # Run COMMAND, save the exit status in ac_status, and log it.
@@ -823,13 +842,13 @@ Check your system clock])
 fi
 AC_MSG_RESULT(yes)])
 
-# Copyright (C) 2009  Free Software Foundation, Inc.
+# Copyright (C) 2009, 2011  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 1
+# serial 2
 
 # AM_SILENT_RULES([DEFAULT])
 # --------------------------
@@ -844,18 +863,50 @@ yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
 *)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
 esac
+dnl
+dnl A few `make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+   [am_cv_make_support_nested_variables],
+   [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+  dnl Using `$V' instead of `$(V)' breaks IRIX make.
+  AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
 AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
 AM_BACKSLASH='\'
 AC_SUBST([AM_BACKSLASH])dnl
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2011 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
+# serial 1
+
 # AM_PROG_INSTALL_STRIP
 # ---------------------
 # One issue with vendor `install' (even GNU) is that you can't
@@ -878,13 +929,13 @@ fi
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 2
+# serial 3
 
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
@@ -893,13 +944,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
 # AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
+# --------------------------
 # Public sister of _AM_SUBST_NOTMAKE.
 AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -921,10 +972,11 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
 # a tarball read from stdin.
 #     $(am__untar) < result.tar
 AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
+[# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
 m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
      [m4_case([$1], [ustar],, [pax],,
               [m4_fatal([Unknown tar format])])
 AC_MSG_CHECKING([how to create a $1 tar archive])
@@ -1002,25 +1054,18 @@ m4_include([m4/ac_check_xsb_prolog.m4])
 m4_include([m4/ac_check_yap.m4])
 m4_include([m4/ac_cxx_attribute_weak.m4])
 m4_include([m4/ac_cxx_double_binary_format.m4])
-m4_include([m4/ac_cxx_double_exact_output.m4])
-m4_include([m4/ac_cxx_flexible_arrays.m4])
 m4_include([m4/ac_cxx_float_binary_format.m4])
-m4_include([m4/ac_cxx_float_exact_output.m4])
 m4_include([m4/ac_cxx_ieee_inexact_flag.m4])
 m4_include([m4/ac_cxx_limit_memory.m4])
 m4_include([m4/ac_cxx_long_double_binary_format.m4])
-m4_include([m4/ac_cxx_long_double_exact_output.m4])
 m4_include([m4/ac_cxx_plain_char_is_signed.m4])
 m4_include([m4/ac_cxx_proper_long_double.m4])
-m4_include([m4/ac_cxx_remainder_bug.m4])
+m4_include([m4/ac_cxx_zero_length_arrays.m4])
 m4_include([m4/ac_prog_jar.m4])
 m4_include([m4/ac_prog_java.m4])
 m4_include([m4/ac_prog_javac.m4])
 m4_include([m4/ac_prog_javah.m4])
 m4_include([m4/ac_text_md5sum.m4])
-m4_include([m4/lib-ld.m4])
-m4_include([m4/lib-link.m4])
-m4_include([m4/lib-prefix.m4])
 m4_include([m4/libtool.m4])
 m4_include([m4/ltoptions.m4])
 m4_include([m4/ltsugar.m4])
diff --git a/compile b/compile
index c0096a7..7b4a9a7 100755
--- a/compile
+++ b/compile
@@ -1,10 +1,9 @@
 #! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
+# Wrapper for compilers which do not understand '-c -o'.
 
-scriptversion=2009-10-06.20; # UTC
+scriptversion=2012-03-05.13; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009  Free Software
-# Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 # Written by Tom Tromey <tromey at cygnus.com>.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -29,21 +28,219 @@ scriptversion=2009-10-06.20; # UTC
 # bugs to <bug-automake at gnu.org> or send patches to
 # <automake-patches at gnu.org>.
 
+nl='
+'
+
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" ""	$nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+  file=$1
+  case $file in
+    / | /[!/]*) # absolute file, and not a UNC file
+      if test -z "$file_conv"; then
+	# lazily determine how to convert abs files
+	case `uname -s` in
+	  MINGW*)
+	    file_conv=mingw
+	    ;;
+	  CYGWIN*)
+	    file_conv=cygwin
+	    ;;
+	  *)
+	    file_conv=wine
+	    ;;
+	esac
+      fi
+      case $file_conv/,$2, in
+	*,$file_conv,*)
+	  ;;
+	mingw/*)
+	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+	  ;;
+	cygwin/*)
+	  file=`cygpath -m "$file" || echo "$file"`
+	  ;;
+	wine/*)
+	  file=`winepath -w "$file" || echo "$file"`
+	  ;;
+      esac
+      ;;
+  esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+  func_file_conv "$1"
+  if test -z "$lib_path"; then
+    lib_path=$file
+  else
+    lib_path="$lib_path;$file"
+  fi
+  linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+  lib=$1
+  found=no
+  save_IFS=$IFS
+  IFS=';'
+  for dir in $lib_path $LIB
+  do
+    IFS=$save_IFS
+    if $shared && test -f "$dir/$lib.dll.lib"; then
+      found=yes
+      lib=$dir/$lib.dll.lib
+      break
+    fi
+    if test -f "$dir/$lib.lib"; then
+      found=yes
+      lib=$dir/$lib.lib
+      break
+    fi
+  done
+  IFS=$save_IFS
+
+  if test "$found" != yes; then
+    lib=$lib.lib
+  fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+  # Assume a capable shell
+  lib_path=
+  shared=:
+  linker_opts=
+  for arg
+  do
+    if test -n "$eat"; then
+      eat=
+    else
+      case $1 in
+	-o)
+	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
+	  eat=1
+	  case $2 in
+	    *.o | *.[oO][bB][jJ])
+	      func_file_conv "$2"
+	      set x "$@" -Fo"$file"
+	      shift
+	      ;;
+	    *)
+	      func_file_conv "$2"
+	      set x "$@" -Fe"$file"
+	      shift
+	      ;;
+	  esac
+	  ;;
+	-I)
+	  eat=1
+	  func_file_conv "$2" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-I*)
+	  func_file_conv "${1#-I}" mingw
+	  set x "$@" -I"$file"
+	  shift
+	  ;;
+	-l)
+	  eat=1
+	  func_cl_dashl "$2"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-l*)
+	  func_cl_dashl "${1#-l}"
+	  set x "$@" "$lib"
+	  shift
+	  ;;
+	-L)
+	  eat=1
+	  func_cl_dashL "$2"
+	  ;;
+	-L*)
+	  func_cl_dashL "${1#-L}"
+	  ;;
+	-static)
+	  shared=false
+	  ;;
+	-Wl,*)
+	  arg=${1#-Wl,}
+	  save_ifs="$IFS"; IFS=','
+	  for flag in $arg; do
+	    IFS="$save_ifs"
+	    linker_opts="$linker_opts $flag"
+	  done
+	  IFS="$save_ifs"
+	  ;;
+	-Xlinker)
+	  eat=1
+	  linker_opts="$linker_opts $2"
+	  ;;
+	-*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+	  func_file_conv "$1"
+	  set x "$@" -Tp"$file"
+	  shift
+	  ;;
+	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+	  func_file_conv "$1" mingw
+	  set x "$@" "$file"
+	  shift
+	  ;;
+	*)
+	  set x "$@" "$1"
+	  shift
+	  ;;
+      esac
+    fi
+    shift
+  done
+  if test -n "$linker_opts"; then
+    linker_opts="-link$linker_opts"
+  fi
+  exec "$@" $linker_opts
+  exit 1
+}
+
+eat=
+
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
     cat <<\EOF
 Usage: compile [--help] [--version] PROGRAM [ARGS]
 
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
 arguments, and rename the output as expected.
 
 If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
+right script to run: please start by reading the file 'INSTALL'.
 
 Report bugs to <bug-automake at gnu.org>.
 EOF
@@ -53,11 +250,13 @@ EOF
     echo "compile $scriptversion"
     exit $?
     ;;
+  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
+    func_cl_wrapper "$@"      # Doesn't return...
+    ;;
 esac
 
 ofile=
 cfile=
-eat=
 
 for arg
 do
@@ -66,8 +265,8 @@ do
   else
     case $1 in
       -o)
-	# configure might choose to run compile as `compile cc -o foo foo.c'.
-	# So we strip `-o arg' only if arg is an object.
+	# configure might choose to run compile as 'compile cc -o foo foo.c'.
+	# So we strip '-o arg' only if arg is an object.
 	eat=1
 	case $2 in
 	  *.o | *.obj)
@@ -94,10 +293,10 @@ do
 done
 
 if test -z "$ofile" || test -z "$cfile"; then
-  # If no `-o' option was seen then we might have been invoked from a
+  # If no '-o' option was seen then we might have been invoked from a
   # pattern rule where we don't need one.  That is ok -- this is a
   # normal compilation that the losing compiler can handle.  If no
-  # `.c' file was seen then we are probably linking.  That is also
+  # '.c' file was seen then we are probably linking.  That is also
   # ok.
   exec "$@"
 fi
@@ -106,7 +305,7 @@ fi
 cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
 
 # Create the lock directory.
-# Note: use `[/\\:.-]' here to ensure that we don't use the same name
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
 # that we are using for the .o file.  Also, base the name on the expected
 # object file name, since that is what matters with a parallel build.
 lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
diff --git a/config.guess b/config.guess
index 187cd54..aa04f04 100755
--- a/config.guess
+++ b/config.guess
@@ -2,9 +2,9 @@
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2011-02-02'
+timestamp='2012-06-17'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -17,9 +17,7 @@ timestamp='2011-02-02'
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -57,8 +55,8 @@ GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -145,7 +143,7 @@ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     *:NetBSD:*:*)
 	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
 	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
 	# switched to ELF, *-*-netbsd* would select the old
 	# object file format.  This provides both forward
@@ -202,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
 	echo "${machine}-${os}${release}"
 	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+	exit ;;
     *:OpenBSD:*:*)
 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -792,13 +794,12 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
 	exit ;;
     *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
+	case ${UNAME_PROCESSOR} in
 	    amd64)
 		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
 	esac
 	exit ;;
     i*:CYGWIN*:*)
@@ -807,6 +808,9 @@ EOF
     *:MINGW*:*)
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
+    i*:MSYS*:*)
+	echo ${UNAME_MACHINE}-pc-msys
+	exit ;;
     i*:windows32*:*)
 	# uname -m includes "-pc" on this system.
 	echo ${UNAME_MACHINE}-mingw32
@@ -861,6 +865,13 @@ EOF
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
+    aarch64:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
 	  EV5)   UNAME_MACHINE=alphaev5 ;;
@@ -882,20 +893,29 @@ EOF
 	then
 	    echo ${UNAME_MACHINE}-unknown-linux-gnu
 	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+	    else
+		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     cris:Linux:*:*)
-	echo cris-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-gnu
 	exit ;;
     frv:Linux:*:*)
-	echo frv-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	exit ;;
+    hexagon:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	LIBC=gnu
@@ -937,7 +957,7 @@ EOF
 	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
 	;;
     or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     padre:Linux:*:*)
 	echo sparc-unknown-linux-gnu
@@ -972,13 +992,13 @@ EOF
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-tilera-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     vax:Linux:*:*)
 	echo ${UNAME_MACHINE}-dec-linux-gnu
 	exit ;;
     x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     xtensa*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -1240,7 +1260,7 @@ EOF
     NEO-?:NONSTOP_KERNEL:*:*)
 	echo neo-tandem-nsk${UNAME_RELEASE}
 	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
+    NSE-*:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
     NSR-?:NONSTOP_KERNEL:*:*)
@@ -1309,6 +1329,9 @@ EOF
     i*86:AROS:*:*)
 	echo ${UNAME_MACHINE}-pc-aros
 	exit ;;
+    x86_64:VMkernel:*:*)
+	echo ${UNAME_MACHINE}-unknown-esx
+	exit ;;
 esac
 
 #echo '(No uname command or uname output not recognized.)' 1>&2
diff --git a/config.h.in b/config.h.in
index 973f1bb..9e7e5bf 100644
--- a/config.h.in
+++ b/config.h.in
@@ -3,6 +3,9 @@
 
 /* BEGIN ppl-config.h */
 
+#ifndef PPL_ppl_config_h
+#define PPL_ppl_config_h 1
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -69,6 +72,14 @@
    don't. */
 #undef HAVE_DECL_RLIMIT_VMEM
 
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SETITIMER
+
+/* Define to 1 if you have the declaration of `setrlimit', and to 0 if you
+   don't. */
+#undef HAVE_DECL_SETRLIMIT
+
 /* Define to 1 if you have the declaration of `sigaction', and to 0 if you
    don't. */
 #undef HAVE_DECL_SIGACTION
@@ -231,25 +242,13 @@
    undefined otherwise. */
 #undef PPL_CXX_DOUBLE_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for doubles. */
-#undef PPL_CXX_DOUBLE_EXACT_OUTPUT
-
 /* The binary format of C++ floats, if supported; undefined otherwise. */
 #undef PPL_CXX_FLOAT_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for floats. */
-#undef PPL_CXX_FLOAT_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#undef PPL_CXX_HAS_REMAINDER_BUG
-
 /* The unique code of the binary format of C++ long doubles, if supported;
    undefined otherwise. */
 #undef PPL_CXX_LONG_DOUBLE_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for long doubles. */
-#undef PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT
-
 /* Not zero if the the plain char type is signed. */
 #undef PPL_CXX_PLAIN_CHAR_IS_SIGNED
 
@@ -260,15 +259,15 @@
 /* Not zero if the C++ compiler supports __attribute__ ((weak)). */
 #undef PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
 
-/* Not zero if the C++ compiler supports flexible arrays. */
-#undef PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-
 /* Not zero if the the IEEE inexact flag is supported in C++. */
 #undef PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
 
 /* Not zero if it is possible to limit memory using setrlimit(). */
 #undef PPL_CXX_SUPPORTS_LIMITING_MEMORY
 
+/* Not zero if the C++ compiler supports zero_length arrays. */
+#undef PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+
 /* Defined if floating point arithmetic may use the 387 unit. */
 #undef PPL_FPMATH_MAY_USE_387
 
@@ -309,9 +308,6 @@
 /* Not zero if long doubles are supported. */
 #undef PPL_SUPPORTED_LONG_DOUBLE
 
-/* Defined if the Parma Watchdog Library is enabled. */
-#undef PPL_WATCHDOG_LIBRARY_ENABLED
-
 /* The size of `char', as computed by sizeof. */
 #undef SIZEOF_CHAR
 
@@ -407,5 +403,9 @@
 # include <inttypes.h>
 #endif
 
+#define PPL_U(x) x
+
+#endif /* !defined(PPL_ppl_config_h) */
+
 /* END ppl-config.h */
 
diff --git a/config.sub b/config.sub
index 83da356..aa2cf19 100755
--- a/config.sub
+++ b/config.sub
@@ -2,9 +2,9 @@
 # Configuration validation subroutine script.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
 #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011 Free Software Foundation, Inc.
+#   2011, 2012 Free Software Foundation, Inc.
 
-timestamp='2011-02-02'
+timestamp='2012-06-17'
 
 # This file is (in principle) common to ALL GNU software.
 # The presence of a machine in this file suggests that SOME GNU software
@@ -21,9 +21,7 @@ timestamp='2011-02-02'
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 #
 # As a special exception to the GNU General Public License, if you
 # distribute this file as part of a program that contains a
@@ -76,8 +74,8 @@ version="\
 GNU config.sub ($timestamp)
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -132,6 +130,10 @@ case $maybe_os in
     os=-$maybe_os
     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
     ;;
+  android-linux)
+    os=-linux-android
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+    ;;
   *)
     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
     if [ $basic_machine != $1 ]
@@ -223,6 +225,12 @@ case $os in
 	-isc*)
 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
 		;;
+	-lynx*178)
+		os=-lynxos178
+		;;
+	-lynx*5)
+		os=-lynxos5
+		;;
 	-lynx*)
 		os=-lynxos
 		;;
@@ -247,17 +255,22 @@ case $basic_machine in
 	# Some are omitted here because they have special meanings below.
 	1750a | 580 \
 	| a29k \
+	| aarch64 | aarch64_be \
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+        | be32 | be64 \
 	| bfin \
 	| c4x | clipper \
 	| d10v | d30v | dlx | dsp16xx \
+	| epiphany \
 	| fido | fr30 | frv \
 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+	| hexagon \
 	| i370 | i860 | i960 | ia64 \
 	| ip2k | iq2000 \
+	| le32 | le64 \
 	| lm32 \
 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
 	| maxq | mb | microblaze | mcore | mep | metag \
@@ -286,22 +299,23 @@ case $basic_machine in
 	| nds32 | nds32le | nds32be \
 	| nios | nios2 \
 	| ns16k | ns32k \
+	| open8 \
 	| or32 \
 	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
-	| rx \
+	| rl78 | rx \
 	| score \
 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+	| spu \
+	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
 	| ubicom32 \
-	| v850 | v850e \
+	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
 	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+	| x86 | xc16x | xstormy16 | xtensa \
 	| z8k | z80)
 		basic_machine=$basic_machine-unknown
 		;;
@@ -314,8 +328,7 @@ case $basic_machine in
 	c6x)
 		basic_machine=tic6x-unknown
 		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | picochip)
-		# Motorola 68HC11/12.
+	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
 		basic_machine=$basic_machine-unknown
 		os=-none
 		;;
@@ -325,6 +338,21 @@ case $basic_machine in
 		basic_machine=mt-unknown
 		;;
 
+	strongarm | thumb | xscale)
+		basic_machine=arm-unknown
+		;;
+	xgate)
+		basic_machine=$basic_machine-unknown
+		os=-none
+		;;
+	xscaleeb)
+		basic_machine=armeb-unknown
+		;;
+
+	xscaleel)
+		basic_machine=armel-unknown
+		;;
+
 	# We use `pc' rather than `unknown'
 	# because (1) that's what they normally are, and
 	# (2) the word "unknown" tends to confuse beginning users.
@@ -339,11 +367,13 @@ case $basic_machine in
 	# Recognize the basic CPU types with company name.
 	580-* \
 	| a29k-* \
+	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
+	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
 	| clipper-* | craynv-* | cydra-* \
@@ -352,8 +382,10 @@ case $basic_machine in
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
 	| h8300-* | h8500-* \
 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+	| hexagon-* \
 	| i*86-* | i860-* | i960-* | ia64-* \
 	| ip2k-* | iq2000-* \
+	| le32-* | le64-* \
 	| lm32-* \
 	| m32c-* | m32r-* | m32rle-* \
 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
@@ -382,24 +414,26 @@ case $basic_machine in
 	| nds32-* | nds32le-* | nds32be-* \
 	| nios-* | nios2-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
+	| open8-* \
 	| orion-* \
 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
 	| pyramid-* \
-	| romp-* | rs6000-* | rx-* \
+	| rl78-* | romp-* | rs6000-* | rx-* \
 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
 	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
+	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
+	| tahoe-* \
 	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tile-* | tilegx-* \
+	| tile*-* \
 	| tron-* \
 	| ubicom32-* \
-	| v850-* | v850e-* | vax-* \
+	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
+	| vax-* \
 	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+	| x86-* | x86_64-* | xc16x-* | xps100-* \
 	| xstormy16-* | xtensa*-* \
 	| ymp-* \
 	| z8k-* | z80-*)
@@ -697,7 +731,6 @@ case $basic_machine in
 	i370-ibm* | ibm*)
 		basic_machine=i370-ibm
 		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
 	i*86v32)
 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
 		os=-sysv32
@@ -794,10 +827,18 @@ case $basic_machine in
 	ms1-*)
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
+	msys)
+		basic_machine=i386-pc
+		os=-msys
+		;;
 	mvs)
 		basic_machine=i370-ibm
 		os=-mvs
 		;;
+	nacl)
+		basic_machine=le32-unknown
+		os=-nacl
+		;;
 	ncr3000)
 		basic_machine=i486-ncr
 		os=-sysv4
@@ -950,9 +991,10 @@ case $basic_machine in
 		;;
 	power)	basic_machine=power-ibm
 		;;
-	ppc)	basic_machine=powerpc-unknown
+	ppc | ppcbe)	basic_machine=powerpc-unknown
 		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+	ppc-* | ppcbe-*)
+		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
 		;;
 	ppcle | powerpclittle | ppc-le | powerpc-little)
 		basic_machine=powerpcle-unknown
@@ -1046,6 +1088,9 @@ case $basic_machine in
 		basic_machine=i860-stratus
 		os=-sysv4
 		;;
+	strongarm-* | thumb-*)
+		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
+		;;
 	sun2)
 		basic_machine=m68000-sun
 		;;
@@ -1102,13 +1147,8 @@ case $basic_machine in
 		basic_machine=t90-cray
 		os=-unicos
 		;;
-	# This must be matched before tile*.
-	tilegx*)
-		basic_machine=tilegx-unknown
-		os=-linux-gnu
-		;;
 	tile*)
-		basic_machine=tile-unknown
+		basic_machine=$basic_machine-unknown
 		os=-linux-gnu
 		;;
 	tx39)
@@ -1178,6 +1218,9 @@ case $basic_machine in
 	xps | xps100)
 		basic_machine=xps100-honeywell
 		;;
+	xscale-* | xscalee[bl]-*)
+		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
+		;;
 	ymp)
 		basic_machine=ymp-cray
 		os=-unicos
@@ -1309,13 +1352,13 @@ case $os in
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
+	      | -bitrig* | -openbsd* | -solidbsd* \
 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
 	      | -chorusos* | -chorusrdb* | -cegcc* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
 	      | -mingw32* | -linux-gnu* | -linux-android* \
 	      | -linux-newlib* | -linux-uclibc* \
 	      | -uxpv* | -beos* | -mpeix* | -udk* \
@@ -1500,6 +1543,9 @@ case $basic_machine in
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	hexagon-*)
+		os=-elf
+		;;
 	tic54x-*)
 		os=-coff
 		;;
@@ -1527,9 +1573,6 @@ case $basic_machine in
 		;;
 	m68000-sun)
 		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
 		;;
 	m68*-cisco)
 		os=-aout
diff --git a/configure b/configure
index 3124ffa..11e5756 100755
--- a/configure
+++ b/configure
@@ -1,13 +1,13 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for the Parma Polyhedra Library 0.11.2.
+# Generated by GNU Autoconf 2.68 for the Parma Polyhedra Library 1.0.
 #
 # Report bugs to <ppl-devel at cs.unipr.it>.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
-# Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -91,6 +91,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -224,11 +225,18 @@ IFS=$as_save_IFS
   # We cannot yet assume a decent shell, so we have to provide a
 	# neutralization value for shells without unset; and this also
 	# works around shells that cannot unset nonexistent variables.
+	# Preserve -v and -x to the replacement shell.
 	BASH_ENV=/dev/null
 	ENV=/dev/null
 	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
 	export CONFIG_SHELL
-	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+	case $- in # ((((
+	  *v*x* | *x*v* ) as_opts=-vx ;;
+	  *v* ) as_opts=-v ;;
+	  *x* ) as_opts=-x ;;
+	  * ) as_opts= ;;
+	esac
+	exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
 fi
 
     if test x$as_have_required = xno; then :
@@ -327,7 +335,7 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -367,19 +375,19 @@ else
 fi # as_fn_arith
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -543,7 +551,7 @@ test -n "$DJDIR" || exec 7<&0 </dev/null
 exec 6>&1
 
 # Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
@@ -562,8 +570,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='the Parma Polyhedra Library'
 PACKAGE_TARNAME='ppl'
-PACKAGE_VERSION='0.11.2'
-PACKAGE_STRING='the Parma Polyhedra Library 0.11.2'
+PACKAGE_VERSION='1.0'
+PACKAGE_STRING='the Parma Polyhedra Library 1.0'
 PACKAGE_BUGREPORT='ppl-devel at cs.unipr.it'
 PACKAGE_URL=''
 
@@ -604,7 +612,6 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-enable_option_checking=no
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
@@ -649,8 +656,11 @@ OTOOL
 LIPO
 NMEDIT
 DSYMUTIL
+MANIFEST_TOOL
 RANLIB
+ac_ct_AR
 AR
+DLLTOOL
 OBJDUMP
 LN_S
 NM
@@ -727,21 +737,16 @@ BUILD_C_INTERFACE_FALSE
 BUILD_C_INTERFACE_TRUE
 BUILD_CXX_INTERFACE_FALSE
 BUILD_CXX_INTERFACE_TRUE
+BUILD_DOCUMENTATION_FALSE
+BUILD_DOCUMENTATION_TRUE
 BUILD_PPL_PIPS_FALSE
 BUILD_PPL_PIPS_TRUE
 BUILD_PPL_LPSOL_FALSE
 BUILD_PPL_LPSOL_TRUE
 BUILD_PPL_LCDD_FALSE
 BUILD_PPL_LCDD_TRUE
-subdirs
-BUILD_WATCHDOG_LIBRARY_FALSE
-BUILD_WATCHDOG_LIBRARY_TRUE
-LIBGMPXX_PREFIX
-LTLIBGMPXX
-LIBGMPXX
-LIBGMP_PREFIX
-LTLIBGMP
-LIBGMP
+SUPPORTED_SOME_FLOATING_POINT_TYPE_FALSE
+SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE
 SUPPORTED_LONG_DOUBLE_FALSE
 SUPPORTED_LONG_DOUBLE_TRUE
 SUPPORTED_DOUBLE_FALSE
@@ -776,6 +781,8 @@ HOST_OS_SOLARIS_FALSE
 HOST_OS_SOLARIS_TRUE
 HOST_OS_MINGW_FALSE
 HOST_OS_MINGW_TRUE
+HOST_OS_HPUX_FALSE
+HOST_OS_HPUX_TRUE
 HOST_OS_DARWIN_FALSE
 HOST_OS_DARWIN_TRUE
 HOST_OS_CYGWIN_FALSE
@@ -797,11 +804,14 @@ CXXDEPMODE
 ac_ct_CXX
 CXXFLAGS
 CXX
+ICC_FALSE
+ICC_TRUE
 GCC_FALSE
 GCC_TRUE
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
+am__nodep
 AMDEPBACKSLASH
 AMDEP_FALSE
 AMDEP_TRUE
@@ -823,6 +833,8 @@ PPL_VERSION_MINOR
 PPL_VERSION_MAJOR
 AM_BACKSLASH
 AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
 am__untar
 am__tar
 AMTAR
@@ -911,14 +923,14 @@ enable_pch
 enable_coefficients
 with_cflags
 with_cxxflags
+with_gmp
+with_gmp_include
+with_gmp_lib
 with_gmp_build
-with_gnu_ld
-enable_rpath
-with_gmp_prefix
-enable_watchdog
 enable_ppl_lcdd
 enable_ppl_lpsol
 enable_ppl_pips
+enable_documentation
 enable_interfaces
 with_java
 with_mlgmp
@@ -929,6 +941,8 @@ enable_shared
 enable_static
 with_pic
 enable_fast_install
+with_gnu_ld
+with_sysroot
 enable_libtool_lock
 '
       ac_precious_vars='build_alias
@@ -945,7 +959,7 @@ CCC
 CXXCPP
 CPP
 M4'
-ac_subdirs_all='Watchdog'
+
 
 # Initialize some variables set by options.
 ac_init_help=
@@ -1007,8 +1021,9 @@ do
   fi
 
   case $ac_option in
-  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)	ac_optarg=yes ;;
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
   esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
@@ -1053,7 +1068,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1079,7 +1094,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1283,7 +1298,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1299,7 +1314,7 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: $ac_useropt"
     ac_useropt_orig=$ac_useropt
     ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
@@ -1329,8 +1344,8 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) as_fn_error "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information."
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
     ;;
 
   *=*)
@@ -1338,7 +1353,7 @@ Try \`$0 --help' for more information."
     # Reject names that are not valid shell variable names.
     case $ac_envvar in #(
       '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
     esac
     eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
@@ -1348,7 +1363,7 @@ Try \`$0 --help' for more information."
     $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
       $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
   esac
@@ -1356,13 +1371,13 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error "missing argument to $ac_option"
+  as_fn_error $? "missing argument to $ac_option"
 fi
 
 if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
-    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
     *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
@@ -1385,7 +1400,7 @@ do
     [\\/$]* | ?:[\\/]* )  continue;;
     NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
-  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -1399,8 +1414,8 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
+    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used" >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
   fi
@@ -1415,9 +1430,9 @@ test "$silent" = yes && exec 6>/dev/null
 ac_pwd=`pwd` && test -n "$ac_pwd" &&
 ac_ls_di=`ls -di .` &&
 ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error "working directory cannot be determined"
+  as_fn_error $? "working directory cannot be determined"
 test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error "pwd does not report name of working directory"
+  as_fn_error $? "pwd does not report name of working directory"
 
 
 # Find the source files, if location was not specified.
@@ -1456,11 +1471,11 @@ else
 fi
 if test ! -r "$srcdir/$ac_unique_file"; then
   test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
 fi
 ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
 ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
 	pwd)`
 # When building in place, set srcdir=.
 if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1486,7 +1501,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures the Parma Polyhedra Library 0.11.2 to adapt to many kinds of systems.
+\`configure' configures the Parma Polyhedra Library 1.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1500,7 +1515,7 @@ Configuration:
       --help=short        display options specific to this package
       --help=recursive    display the short help of all the included packages
   -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
+  -q, --quiet, --silent   do not print \`checking ...' messages
       --cache-file=FILE   cache test results in FILE [disabled]
   -C, --config-cache      alias for \`--cache-file=config.cache'
   -n, --no-create         do not create output files
@@ -1556,7 +1571,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Polyhedra Library 0.11.2:";;
+     short | recursive ) echo "Configuration of the Parma Polyhedra Library 1.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1582,11 +1597,10 @@ Optional Features:
   --enable-pch            use precompiled headers, if available
   --enable-coefficients=TYPE
                           select the type of the coefficients
-  --disable-rpath         do not hardcode runtime library paths
-  --enable-watchdog       build also the Parma Watchdog Library
   --enable-ppl_lcdd       build the ppl_lcdd program
   --enable-ppl_lpsol      build the ppl_lpsol program
   --enable-ppl_pips       build the ppl_pips program
+  --enable-documentation  build the PPL documentation
   --enable-interfaces=INTERFACES
                           enable some or all the library interfaces
   --enable-instantiations=INSTANTIATIONS
@@ -1606,15 +1620,18 @@ Optional Packages:
   --with-cxx=XXX          use XXX as the C++ compiler
   --with-cflags=XXX       add XXX to the options for the C compiler
   --with-cxxflags=XXX     add XXX to the options for the C++ compiler
+  --with-gmp=DIR          search for libgmp/libgmpxx in DIR/include and
+                          DIR/lib
+  --with-gmp-include=DIR  search for libgmp/libgmpxx headers in DIR
+  --with-gmp-lib=DIR      search for libgmp/libgmpxx library objects in DIR
   --with-gmp-build=DIR    use a non-installed build of GMP in DIR
-  --with-gnu-ld           assume the C compiler uses GNU ld default=no
-  --with-gmp-prefix[=DIR]  search for libgmp, libgmpxx in DIR/include and DIR/lib
-  --without-gmp-prefix     don't search for libgmp, libgmpxx in includedir and libdir
   --with-java=DIR         use the Java SDK installed in DIR
   --with-mlgmp=DIR        use the ML GMP package installed in DIR
-  --with-pic              try to use only PIC/non-PIC objects [default=use
+  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-sysroot=DIR Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).
 
 Some influential environment variables:
   CC          C compiler command
@@ -1697,10 +1714,10 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-the Parma Polyhedra Library configure 0.11.2
-generated by GNU Autoconf 2.65
+the Parma Polyhedra Library configure 1.0
+generated by GNU Autoconf 2.68
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1744,7 +1761,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_compile
@@ -1782,7 +1799,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_compile
@@ -1808,7 +1825,7 @@ $as_echo "$ac_try_echo"; } >&5
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1819,7 +1836,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_cpp
@@ -1861,7 +1878,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_run
@@ -1887,7 +1904,7 @@ $as_echo "$ac_try_echo"; } >&5
     mv -f conftest.er1 conftest.err
   fi
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } >/dev/null && {
+  test $ac_status = 0; } > conftest.i && {
 	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        }; then :
@@ -1898,7 +1915,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
     ac_retval=1
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_cpp
@@ -1912,7 +1929,7 @@ ac_fn_c_check_header_compile ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -1930,7 +1947,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
 
@@ -2107,7 +2124,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_compute_int
@@ -2153,7 +2170,7 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_link
@@ -2166,10 +2183,10 @@ fi
 ac_fn_cxx_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -2205,7 +2222,7 @@ if ac_fn_cxx_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -2228,17 +2245,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ------------------------------------ ##
+( $as_echo "## ------------------------------------ ##
 ## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
+## ------------------------------------ ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -2247,7 +2262,7 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_cxx_check_header_mongrel
 
@@ -2288,20 +2303,23 @@ sed 's/^/| /' conftest.$ac_ext >&5
        ac_retval=$ac_status
 fi
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_try_run
 
-# ac_fn_cxx_check_decl LINENO SYMBOL VAR
-# --------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
+# -----------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_cxx_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2310,8 +2328,12 @@ $4
 int
 main ()
 {
-#ifndef $2
-  (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
 #endif
 
   ;
@@ -2328,7 +2350,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_cxx_check_decl
 
@@ -2341,7 +2363,7 @@ ac_fn_cxx_check_type ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=no"
@@ -2382,7 +2404,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_cxx_check_type
 
@@ -2559,7 +2581,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
 rm -f conftest.val
 
   fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_cxx_compute_int
@@ -2573,7 +2595,7 @@ ac_fn_cxx_check_member ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
 $as_echo_n "checking for $2.$3... " >&6; }
-if { as_var=$4; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2617,7 +2639,7 @@ fi
 eval ac_res=\$$4
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_cxx_check_member
 
@@ -2662,7 +2684,7 @@ fi
   # interfere with the next link command; also delete a directory that is
   # left behind by Apple's compiler.  We do this before executing the actions.
   rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
   as_fn_set_status $ac_retval
 
 } # ac_fn_c_try_link
@@ -2675,7 +2697,7 @@ ac_fn_c_check_func ()
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2730,7 +2752,7 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
@@ -2742,10 +2764,10 @@ $as_echo "$ac_res" >&6; }
 ac_fn_c_check_header_mongrel ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  if eval \${$3+:} false; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 fi
 eval ac_res=\$$3
@@ -2781,7 +2803,7 @@ if ac_fn_c_try_cpp "$LINENO"; then :
 else
   ac_header_preproc=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
 $as_echo "$ac_header_preproc" >&6; }
 
@@ -2804,17 +2826,15 @@ $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
 $as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( cat <<\_ASBOX
-## ------------------------------------ ##
+( $as_echo "## ------------------------------------ ##
 ## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
+## ------------------------------------ ##"
      ) | sed "s/^/$as_me: WARNING:     /" >&2
     ;;
 esac
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
 $as_echo_n "checking for $2... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   eval "$3=\$ac_header_compiler"
@@ -2823,19 +2843,22 @@ eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
 fi
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_mongrel
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR
-# ------------------------------------
-# Tests whether SYMBOL is declared, setting cache variable VAR accordingly.
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
 ac_fn_c_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $2 is declared" >&5
-$as_echo_n "checking whether $2 is declared... " >&6; }
-if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval \${$3+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -2844,8 +2867,12 @@ $4
 int
 main ()
 {
-#ifndef $2
-  (void) $2;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
 #endif
 
   ;
@@ -2862,15 +2889,15 @@ fi
 eval ac_res=\$$3
 	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
 $as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_decl
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by the Parma Polyhedra Library $as_me 0.11.2, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
+It was created by the Parma Polyhedra Library $as_me 1.0, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
 
@@ -2980,11 +3007,9 @@ trap 'exit_status=$?
   {
     echo
 
-    cat <<\_ASBOX
-## ---------------- ##
+    $as_echo "## ---------------- ##
 ## Cache variables. ##
-## ---------------- ##
-_ASBOX
+## ---------------- ##"
     echo
     # The following way of writing the cache mishandles newlines in values,
 (
@@ -3018,11 +3043,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
-    cat <<\_ASBOX
-## ----------------- ##
+    $as_echo "## ----------------- ##
 ## Output variables. ##
-## ----------------- ##
-_ASBOX
+## ----------------- ##"
     echo
     for ac_var in $ac_subst_vars
     do
@@ -3035,11 +3058,9 @@ _ASBOX
     echo
 
     if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
+      $as_echo "## ------------------- ##
 ## File substitutions. ##
-## ------------------- ##
-_ASBOX
+## ------------------- ##"
       echo
       for ac_var in $ac_subst_files
       do
@@ -3053,11 +3074,9 @@ _ASBOX
     fi
 
     if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
+      $as_echo "## ----------- ##
 ## confdefs.h. ##
-## ----------- ##
-_ASBOX
+## ----------- ##"
       echo
       cat confdefs.h
       echo
@@ -3112,7 +3131,12 @@ _ACEOF
 ac_site_file1=NONE
 ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  ac_site_file1=$CONFIG_SITE
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
 elif test "x$prefix" != xNONE; then
   ac_site_file1=$prefix/share/config.site
   ac_site_file2=$prefix/etc/config.site
@@ -3127,7 +3151,11 @@ do
     { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
 $as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
   fi
 done
 
@@ -3203,7 +3231,7 @@ if $ac_cache_corrupted; then
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
   { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
 fi
 ## -------------------- ##
 ## Main body of script. ##
@@ -3230,16 +3258,22 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 # the canonical system types.
 ac_aux_dir=
 for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  for ac_t in install-sh install.sh shtool; do
-    if test -f "$ac_dir/$ac_t"; then
-      ac_aux_dir=$ac_dir
-      ac_install_sh="$ac_aux_dir/$ac_t -c"
-      break 2
-    fi
-  done
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
 done
 if test -z "$ac_aux_dir"; then
-  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
 fi
 
 # These three variables are undocumented and unsupported,
@@ -3253,27 +3287,27 @@ ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
 
 # Make sure we can run config.sub.
 $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
 $as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
+if ${ac_cv_build+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
   ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
 test "x$ac_build_alias" = x &&
-  as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
 $as_echo "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
 esac
 build=$ac_cv_build
 ac_save_IFS=$IFS; IFS='-'
@@ -3291,14 +3325,14 @@ case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
 $as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
+if ${ac_cv_host+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
   ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
@@ -3306,7 +3340,7 @@ fi
 $as_echo "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
 esac
 host=$ac_cv_host
 ac_save_IFS=$IFS; IFS='-'
@@ -3343,7 +3377,7 @@ am__api_version='1.11'
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
 $as_echo_n "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then :
+if ${ac_cv_path_install+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3430,11 +3464,11 @@ am_lf='
 '
 case `pwd` in
   *[\\\"\#\$\&\'\`$am_lf]*)
-    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
 esac
 case $srcdir in
   *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
 esac
 
 # Do `set' in a subshell so we don't clobber the current shell's
@@ -3456,7 +3490,7 @@ if (
       # if, for instance, CONFIG_SHELL is bash and it inherits a
       # broken ls alias from the environment.  This has actually
       # happened.  Such a system could not be considered "sane".
-      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
 alias in your environment" "$LINENO" 5
    fi
 
@@ -3466,7 +3500,7 @@ then
    # Ok.
    :
 else
-   as_fn_error "newly created file is older than distributed files!
+   as_fn_error $? "newly created file is older than distributed files!
 Check your system clock" "$LINENO" 5
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -3520,7 +3554,7 @@ if test "$cross_compiling" != no; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -3560,7 +3594,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -3613,7 +3647,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
 if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then :
+  if ${ac_cv_path_mkdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -3664,7 +3698,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then :
+if ${ac_cv_prog_AWK+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
@@ -3704,7 +3738,7 @@ done
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -3712,7 +3746,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -3750,6 +3784,33 @@ yes) AM_DEFAULT_VERBOSITY=0;;
 no)  AM_DEFAULT_VERBOSITY=1;;
 *)   AM_DEFAULT_VERBOSITY=1;;
 esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+	@$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+  am_cv_make_support_nested_variables=yes
+else
+  am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+    AM_V='$(V)'
+  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+  AM_V=$AM_DEFAULT_VERBOSITY
+  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
 AM_BACKSLASH='\'
 
 if test "`cd $srcdir && pwd`" != "`pwd`"; then
@@ -3758,7 +3819,7 @@ if test "`cd $srcdir && pwd`" != "`pwd`"; then
   am__isrc=' -I$(srcdir)'
   # test to see if srcdir already configured
   if test -f $srcdir/config.status; then
-    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
   fi
 fi
 
@@ -3774,7 +3835,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ppl'
- VERSION='0.11.2'
+ VERSION='1.0'
 
 
 # Some tools Automake needs.
@@ -3795,9 +3856,9 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
 
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
+# Always define AMTAR for backward compatibility.  Yes, it's still used
+# in the wild :-(  We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
 
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to create a ustar tar archive" >&5
@@ -3873,7 +3934,7 @@ do
 done
 rm -rf conftest.dir
 
-if test "${am_cv_prog_tar_ustar+set}" = set; then :
+if ${am_cv_prog_tar_ustar+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   am_cv_prog_tar_ustar=$_am_tool
@@ -3951,7 +4012,7 @@ fi
 
 # Checks for programs.
 
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
+# Note that AC_PROG_CC must precede the first use of $GCC and AC_PROG_CXX
 # must precede the first use of $GXX.  Note also that we do not allow
 # AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
 save_CFLAGS="$CFLAGS"
@@ -3965,7 +4026,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4005,7 +4066,7 @@ if test -z "$ac_cv_prog_CC"; then
 set dummy gcc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4058,7 +4119,7 @@ if test -z "$CC"; then
 set dummy ${ac_tool_prefix}cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4098,7 +4159,7 @@ if test -z "$CC"; then
 set dummy cc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4157,7 +4218,7 @@ if test -z "$CC"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then :
+if ${ac_cv_prog_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
@@ -4201,7 +4262,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
@@ -4255,8 +4316,8 @@ fi
 
 test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "no acceptable C compiler found in \$PATH
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
 $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
@@ -4370,9 +4431,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "C compiler cannot create executables
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
@@ -4414,8 +4474,8 @@ done
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
@@ -4472,9 +4532,9 @@ $as_echo "$ac_try_echo"; } >&5
     else
 	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot run C compiled programs.
+as_fn_error $? "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." "$LINENO" 5; }
+See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
@@ -4485,7 +4545,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
 ac_clean_files=$ac_clean_files_save
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
 $as_echo_n "checking for suffix of object files... " >&6; }
-if test "${ac_cv_objext+set}" = set; then :
+if ${ac_cv_objext+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4525,8 +4585,8 @@ sed 's/^/| /' conftest.$ac_ext >&5
 
 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
@@ -4536,7 +4596,7 @@ OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+if ${ac_cv_c_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4573,7 +4633,7 @@ ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
 $as_echo_n "checking whether $CC accepts -g... " >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then :
+if ${ac_cv_prog_cc_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_c_werror_flag=$ac_c_werror_flag
@@ -4651,7 +4711,7 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then :
+if ${ac_cv_prog_cc_c89+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_prog_cc_c89=no
@@ -4797,6 +4857,7 @@ fi
 if test "x$enable_dependency_tracking" != xno; then
   am_depcomp="$ac_aux_dir/depcomp"
   AMDEPBACKSLASH='\'
+  am__nodep='_no'
 fi
  if test "x$enable_dependency_tracking" != xno; then
   AMDEP_TRUE=
@@ -4812,7 +4873,7 @@ depcc="$CC"   am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
@@ -4821,6 +4882,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -4880,7 +4942,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -4984,6 +5046,52 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
 
+ if test x"$ICC" = xyes; then
+  ICC_TRUE=
+  ICC_FALSE='#'
+else
+  ICC_TRUE='#'
+  ICC_FALSE=
+fi
+
+
+# The clang compiler masquerades as gcc, but we want to know.
+if test x"$GCC" = xyes
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using Clang" >&5
+$as_echo_n "checking whether we are actually using Clang... " >&6; }
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifndef __clang__
+choke me
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  CLANG=yes
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  CLANG=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
 save_CXXFLAGS="$CXXFLAGS"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
@@ -5001,7 +5109,7 @@ if test -z "$CXX"; then
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then :
+if ${ac_cv_prog_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$CXX"; then
@@ -5045,7 +5153,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CXX"; then
@@ -5123,7 +5231,7 @@ done
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -5160,7 +5268,7 @@ ac_test_CXXFLAGS=${CXXFLAGS+set}
 ac_save_CXXFLAGS=$CXXFLAGS
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
 $as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then :
+if ${ac_cv_prog_cxx_g+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_save_cxx_werror_flag=$ac_cxx_werror_flag
@@ -5246,7 +5354,7 @@ depcc="$CXX"  am_compiler_list=
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
 $as_echo_n "checking dependency style of $depcc... " >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
@@ -5255,6 +5363,7 @@ else
   # instance it was reported that on HP-UX the gcc test will end up
   # making a dummy file named `D' -- because `-MD' means `put the output
   # in D'.
+  rm -rf conftest.dir
   mkdir conftest.dir
   # Copy depcomp to subdir because otherwise we won't find it if we're
   # using a relative directory.
@@ -5314,7 +5423,7 @@ else
 	break
       fi
       ;;
-    msvisualcpp | msvcmsys)
+    msvc7 | msvc7msys | msvisualcpp | msvcmsys)
       # This compiler won't grok `-c -o', but also, the minuso test has
       # not run yet.  These depmodes are late enough in the game, and
       # so weak that their functioning should not be impacted.
@@ -5409,9 +5518,46 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 fi
 
+# The clang++ compiler masquerades as g++, but we want to know.
+if test x"$GXX" = xyes
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are actually using clang++" >&5
+$as_echo_n "checking whether we are actually using clang++... " >&6; }
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#ifndef __clang__
+choke me
+#endif
+
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  CLANGXX=yes
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  CLANGXX=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
 $as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
+if ${ac_cv_path_GREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$GREP"; then
@@ -5460,7 +5606,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_GREP"; then
-    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_GREP=$GREP
@@ -5474,7 +5620,7 @@ $as_echo "$ac_cv_path_GREP" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
 $as_echo_n "checking for fgrep... " >&6; }
-if test "${ac_cv_path_FGREP+set}" = set; then :
+if ${ac_cv_path_FGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
@@ -5526,7 +5672,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_FGREP=$FGREP
@@ -5541,7 +5687,7 @@ $as_echo "$ac_cv_path_FGREP" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
+if ${ac_cv_path_EGREP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
@@ -5593,7 +5739,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
   fi
 else
   ac_cv_path_EGREP=$EGREP
@@ -5608,7 +5754,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -5663,7 +5809,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -5683,7 +5829,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
 if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  if ${ac_cv_prog_CXXCPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CXXCPP needs to be expanded
@@ -5713,7 +5859,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5729,11 +5875,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -5772,7 +5918,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -5788,18 +5934,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -5812,7 +5958,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
 ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
@@ -5820,7 +5966,7 @@ SHELL = /bin/sh
 all:
 	@echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
 case `${MAKE-make} -f conftest.make 2>/dev/null` in
   *@@@%%%=?*=@@@%%%*)
     eval ac_cv_prog_make_${ac_make}_set=yes;;
@@ -5865,7 +6011,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-debugging, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-debugging, needs yes or no" "$LINENO" 5
   ;;
 esac
  if test x"$enableval" = xyes; then
@@ -5897,7 +6043,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-profiling, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-profiling, needs yes or no" "$LINENO" 5
   ;;
 esac
 
@@ -5922,7 +6068,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-coverage, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-coverage, needs yes or no" "$LINENO" 5
   ;;
 esac
 
@@ -5944,7 +6090,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-assertions, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-assertions, needs yes or no" "$LINENO" 5
   ;;
 esac
 enable_assertions=${enableval}
@@ -5967,7 +6113,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-more-assertions, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-more-assertions, needs yes or no" "$LINENO" 5
   ;;
 esac
 enable_more_assertions=${enableval}
@@ -6052,7 +6198,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-optimization, needs sspeed, speed, size, standard, mild, zero, yes or no" "$LINENO" 5
   ;;
 esac
 
@@ -6146,7 +6292,7 @@ $as_echo "no" >&6; }
   use_fpmath=no
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-fpmath, needs sse, sse2, 387, sse+387, sse2+387, default or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-fpmath, needs sse, sse2, 387, sse+387, sse2+387, default or no" "$LINENO" 5
   ;;
 esac
 
@@ -6172,7 +6318,29 @@ then
   then
     OPT_FLAGS="$OPT_FLAGS -fp-model strict -fp-speculation off"
   else
-    OPT_FLAGS="$OPT_FLAGS -frounding-math"
+    # -frounding-math is not yet supported in clang++, if we use it we get
+    # lots of warnings.
+    if test x"$CLANGXX" = xyes
+    then
+      if test x"$use_fpmath" = xyes
+      then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: CANNOT RELY ON DIRECTED ROUNDING:
+*** DISABLED ALL ABSTRACTIONS BASED ON MACHINE FLOATING-POINT NUMBERS.
+*** clang++ has been detected, which does not provide support for
+*** -frounding-math (or any other option with the same semantics).
+*** Hence, we cannot rely on floating-point computations to happen
+*** in agreement with the rounding direction(s) used by the PPL." >&5
+$as_echo "$as_me: WARNING: CANNOT RELY ON DIRECTED ROUNDING:
+*** DISABLED ALL ABSTRACTIONS BASED ON MACHINE FLOATING-POINT NUMBERS.
+*** clang++ has been detected, which does not provide support for
+*** -frounding-math (or any other option with the same semantics).
+*** Hence, we cannot rely on floating-point computations to happen
+*** in agreement with the rounding direction(s) used by the PPL." >&2;}
+        use_fpmath=no
+      fi
+    else
+      OPT_FLAGS="$OPT_FLAGS -frounding-math"
+    fi
   fi
 fi
 
@@ -6195,7 +6363,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-pch, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-pch, needs yes or no" "$LINENO" 5
   ;;
 esac
  if test x"$enableval" = xyes; then
@@ -6240,18 +6408,27 @@ case "${host_os}" in
 cygwin*)
   cygwin=yes
   no_undefined=yes
+  shared_library_path_env_var=PATH
   ;;
 darwin*)
   darwin=yes
+  shared_library_path_env_var=DYLD_LIBRARY_PATH
+  ;;
+hpux*)
+  hpux=yes
+  shared_library_path_env_var=SHLIB_PATH
   ;;
 mingw*)
   mingw=yes
   no_undefined=yes
+  shared_library_path_env_var=PATH
   ;;
 solaris*)
   solaris=yes
+  shared_library_path_env_var=LD_LIBRARY_PATH
   ;;
 *)
+  shared_library_path_env_var=LD_LIBRARY_PATH
   ;;
 esac
 
@@ -6271,6 +6448,14 @@ else
   HOST_OS_DARWIN_FALSE=
 fi
 
+ if test x$hpux = xyes; then
+  HOST_OS_HPUX_TRUE=
+  HOST_OS_HPUX_FALSE='#'
+else
+  HOST_OS_HPUX_TRUE='#'
+  HOST_OS_HPUX_FALSE=
+fi
+
  if test x$mingw = xyes; then
   HOST_OS_MINGW_TRUE=
   HOST_OS_MINGW_FALSE='#'
@@ -6380,7 +6565,7 @@ $as_echo "GMP mpz" >&6; }
   coefficient_mnemonic=mpz
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-coefficients, checked-int32, checked-int64, checked-int16, checked-int8, mpz, native-int32, native-int64, native-int16 or native-int8" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-coefficients, checked-int32, checked-int64, checked-int16, checked-int8, mpz, native-int32, native-int64, native-int16 or native-int8" "$LINENO" 5
   ;;
 esac
 
@@ -6444,7 +6629,7 @@ fi
 
 if test x"$coefficient_kind" = xnative
 then
-  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Checked_Number_Transparent_Policy>"
+  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Checked_Number_Transparent_Policy<int${coefficient_bits}_t> >"
 
 cat >>confdefs.h <<_ACEOF
 #define PPL_COEFFICIENT_TYPE $coefficient_type
@@ -6508,7 +6693,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if test "${ac_cv_c_const+set}" = set; then :
+if ${ac_cv_c_const+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6588,7 +6773,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
 $as_echo_n "checking for inline... " >&6; }
-if test "${ac_cv_c_inline+set}" = set; then :
+if ${ac_cv_c_inline+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_inline=no
@@ -6640,7 +6825,7 @@ if test -n "$CPP" && test -d "$CPP"; then
   CPP=
 fi
 if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then :
+  if ${ac_cv_prog_CPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CPP needs to be expanded
@@ -6670,7 +6855,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -6686,11 +6871,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -6729,7 +6914,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -6745,18 +6930,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=c
@@ -6768,7 +6953,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
 $as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
+if ${ac_cv_header_stdc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -6885,8 +7070,7 @@ do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
 "
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -6898,7 +7082,7 @@ done
 
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
 $as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then :
+if ${ac_cv_c_bigendian+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_bigendian=unknown
@@ -7116,14 +7300,14 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
 
      ;; #(
    *)
-     as_fn_error "unknown endianness
+     as_fn_error $? "unknown endianness
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for typeof syntax and keyword spelling" >&5
 $as_echo_n "checking for typeof syntax and keyword spelling... " >&6; }
-if test "${ac_cv_c_typeof+set}" = set; then :
+if ${ac_cv_c_typeof+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_cv_c_typeof=no
@@ -7182,7 +7366,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
 $as_echo_n "checking size of char... " >&6; }
-if test "${ac_cv_sizeof_char+set}" = set; then :
+if ${ac_cv_sizeof_char+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char"        "$ac_includes_default"; then :
@@ -7191,9 +7375,8 @@ else
   if test "$ac_cv_type_char" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (char)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_char=0
    fi
@@ -7216,7 +7399,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
 $as_echo_n "checking size of short... " >&6; }
-if test "${ac_cv_sizeof_short+set}" = set; then :
+if ${ac_cv_sizeof_short+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short"        "$ac_includes_default"; then :
@@ -7225,9 +7408,8 @@ else
   if test "$ac_cv_type_short" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (short)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_short=0
    fi
@@ -7250,7 +7432,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
 $as_echo_n "checking size of int... " >&6; }
-if test "${ac_cv_sizeof_int+set}" = set; then :
+if ${ac_cv_sizeof_int+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int"        "$ac_includes_default"; then :
@@ -7259,9 +7441,8 @@ else
   if test "$ac_cv_type_int" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_int=0
    fi
@@ -7284,7 +7465,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
 $as_echo_n "checking size of long... " >&6; }
-if test "${ac_cv_sizeof_long+set}" = set; then :
+if ${ac_cv_sizeof_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long"        "$ac_includes_default"; then :
@@ -7293,9 +7474,8 @@ else
   if test "$ac_cv_type_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long=0
    fi
@@ -7318,7 +7498,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
 $as_echo_n "checking size of long long... " >&6; }
-if test "${ac_cv_sizeof_long_long+set}" = set; then :
+if ${ac_cv_sizeof_long_long+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long"        "$ac_includes_default"; then :
@@ -7327,9 +7507,8 @@ else
   if test "$ac_cv_type_long_long" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long long)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_long=0
    fi
@@ -7352,7 +7531,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
 $as_echo_n "checking size of size_t... " >&6; }
-if test "${ac_cv_sizeof_size_t+set}" = set; then :
+if ${ac_cv_sizeof_size_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t"        "$ac_includes_default"; then :
@@ -7361,9 +7540,8 @@ else
   if test "$ac_cv_type_size_t" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (size_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (size_t)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_size_t=0
    fi
@@ -7386,7 +7564,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5
 $as_echo_n "checking size of float... " >&6; }
-if test "${ac_cv_sizeof_float+set}" = set; then :
+if ${ac_cv_sizeof_float+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float"        "$ac_includes_default"; then :
@@ -7395,9 +7573,8 @@ else
   if test "$ac_cv_type_float" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (float)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (float)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_float=0
    fi
@@ -7420,7 +7597,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
 $as_echo_n "checking size of double... " >&6; }
-if test "${ac_cv_sizeof_double+set}" = set; then :
+if ${ac_cv_sizeof_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double"        "$ac_includes_default"; then :
@@ -7429,9 +7606,8 @@ else
   if test "$ac_cv_type_double" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (double)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (double)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_double=0
    fi
@@ -7454,7 +7630,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
 $as_echo_n "checking size of long double... " >&6; }
-if test "${ac_cv_sizeof_long_double+set}" = set; then :
+if ${ac_cv_sizeof_long_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double"        "$ac_includes_default"; then :
@@ -7463,9 +7639,8 @@ else
   if test "$ac_cv_type_long_double" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (long double)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (long double)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_long_double=0
    fi
@@ -7491,7 +7666,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int*" >&5
 $as_echo_n "checking size of int*... " >&6; }
-if test "${ac_cv_sizeof_intp+set}" = set; then :
+if ${ac_cv_sizeof_intp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int*))" "ac_cv_sizeof_intp"        "$ac_includes_default"; then :
@@ -7500,9 +7675,8 @@ else
   if test "$ac_cv_type_intp" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (int*)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (int*)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_intp=0
    fi
@@ -7525,7 +7699,7 @@ _ACEOF
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of fp" >&5
 $as_echo_n "checking size of fp... " >&6; }
-if test "${ac_cv_sizeof_fp+set}" = set; then :
+if ${ac_cv_sizeof_fp+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (fp))" "ac_cv_sizeof_fp"        "typedef int *(*fp)();
@@ -7535,9 +7709,8 @@ else
   if test "$ac_cv_type_fp" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (fp)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (fp)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_fp=0
    fi
@@ -7560,7 +7733,7 @@ _ACEOF
 set dummy perl; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_PERL+set}" = set; then :
+if ${ac_cv_path_PERL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $PERL in
@@ -7618,7 +7791,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 # The PPL uses <cmath> for sqrt and other functions in several places.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sqrt" >&5
 $as_echo_n "checking for library containing sqrt... " >&6; }
-if test "${ac_cv_search_sqrt+set}" = set; then :
+if ${ac_cv_search_sqrt+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
@@ -7652,11 +7825,11 @@ for ac_lib in '' m; do
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext
-  if test "${ac_cv_search_sqrt+set}" = set; then :
+  if ${ac_cv_search_sqrt+:} false; then :
   break
 fi
 done
-if test "${ac_cv_search_sqrt+set}" = set; then :
+if ${ac_cv_search_sqrt+:} false; then :
 
 else
   ac_cv_search_sqrt=no
@@ -7688,8 +7861,7 @@ for ac_header in fenv.h ieeefp.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -8071,143 +8243,7 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_float_binary_format" >&5
 $as_echo "$ac_cxx_float_binary_format" >&6; }
 
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for floats" >&5
-$as_echo_n "checking whether C++ provides exact output for floats... " >&6; }
-
-if test "$cross_compiling" = yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_float_exact_output=0
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(float value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_FLOAT == 4
-
-float
-convert(uint32_t x) {
-  union {
-    float value;
-    uint32_t word;
-  } u;
-
-  u.word = x;
-  return u.value;
-}
-
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaU),
-            "-3.069535185924732179074680971098132431507110595703125e-13")
-      && check(convert(0xcccaaaccU),
-               "-106255968")
-      && check(convert(0x00000001U),
-               "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")
-      && check(convert(0x80000001U),
-               "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45"))
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
-
-#else // SIZEOF_FLOAT != 4
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_FLOAT != 4
-
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_float_exact_output=1
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_float_exact_output=0
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_FLOAT_EXACT_OUTPUT $ac_cxx_float_exact_output
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cxx_float_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
 then
   ac_supported_float=0
 else
@@ -8333,6 +8369,37 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_double_binary_format" >&5
 $as_echo "$ac_cxx_double_binary_format" >&6; }
 
+if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
+then
+  ac_supported_double=0
+else
+  ac_supported_double=1
+fi
+ if test $ac_supported_double = 1; then
+  SUPPORTED_DOUBLE_TRUE=
+  SUPPORTED_DOUBLE_FALSE='#'
+else
+  SUPPORTED_DOUBLE_TRUE='#'
+  SUPPORTED_DOUBLE_FALSE=
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define PPL_SUPPORTED_DOUBLE $ac_supported_double
+_ACEOF
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+
+
+# Detect the binary format used by C++ long doubles.
 
 
 ac_save_CPPFLAGS="$CPPFLAGS"
@@ -8344,13 +8411,11 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for doubles" >&5
-$as_echo_n "checking whether C++ provides exact output for doubles... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the binary format of C++ long doubles" >&5
+$as_echo_n "checking the binary format of C++ long doubles... " >&6; }
 
 if test "$cross_compiling" = yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_double_exact_output=0
+  ac_cxx_long_double_binary_format=unknown
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -8365,183 +8430,8 @@ else
 #ifdef HAVE_INTTYPES_H
 #include <inttypes.h>
 #endif
-#include <sstream>
 
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_DOUBLE == 8
-
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
-
-#else // SIZEOF_DOUBLE != 8
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_DOUBLE != 8
-
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_double_exact_output=1
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_double_exact_output=0
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_DOUBLE_EXACT_OUTPUT $ac_cxx_double_exact_output
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cxx_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
-then
-  ac_supported_double=0
-else
-  ac_supported_double=1
-fi
- if test $ac_supported_double = 1; then
-  SUPPORTED_DOUBLE_TRUE=
-  SUPPORTED_DOUBLE_FALSE='#'
-else
-  SUPPORTED_DOUBLE_TRUE='#'
-  SUPPORTED_DOUBLE_FALSE=
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_SUPPORTED_DOUBLE $ac_supported_double
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-# Detect the binary format used by C++ long doubles.
-
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the binary format of C++ long doubles" >&5
-$as_echo_n "checking the binary format of C++ long doubles... " >&6; }
-
-if test "$cross_compiling" = yes; then :
-  ac_cxx_long_double_binary_format=unknown
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-
-#if SIZEOF_LONG_DOUBLE == 12
+#if SIZEOF_LONG_DOUBLE == 12
 
 long double
 convert(uint32_t msp, uint64_t lsp) {
@@ -8861,377 +8751,122 @@ fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cxx_long_double_binary_format" >&5
 $as_echo "$ac_cxx_long_double_binary_format" >&6; }
 
+if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
+then
+  ac_supported_long_double=0
+else
+  ac_supported_long_double=1
+fi
+ if test $ac_supported_long_double = 1; then
+  SUPPORTED_LONG_DOUBLE_TRUE=
+  SUPPORTED_LONG_DOUBLE_FALSE='#'
+else
+  SUPPORTED_LONG_DOUBLE_TRUE='#'
+  SUPPORTED_LONG_DOUBLE_FALSE=
+fi
+
+
+cat >>confdefs.h <<_ACEOF
+#define PPL_SUPPORTED_LONG_DOUBLE $ac_supported_long_double
+_ACEOF
 
 
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C++ provides exact output for long doubles" >&5
-$as_echo_n "checking whether C++ provides exact output for long doubles... " >&6; }
 
-if test "$cross_compiling" = yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming not" >&5
-$as_echo "assuming not" >&6; }
-  ac_cxx_long_double_exact_output=0
+# Test if some floating-point type is supported.
+if test $ac_supported_float = 1 \
+|| test $ac_supported_double = 1 \
+|| test $ac_supported_long_double = 1
+then
+  supported_some_floating_point_type=yes
+fi
+ if test x$supported_some_floating_point_type = xyes; then
+  SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE=
+  SUPPORTED_SOME_FLOATING_POINT_TYPE_FALSE='#'
 else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
+  SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE='#'
+  SUPPORTED_SOME_FLOATING_POINT_TYPE_FALSE=
+fi
 
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
 
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
+# Check whether the C++ compiler supports zero-length arrays.
+
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
 
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports zero-length arrays" >&5
+$as_echo_n "checking whether the C++ compiler supports zero-length arrays... " >&6; }
+if test "$cross_compiling" = yes; then :
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
 
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+#include <new>
+#include <cstddef>
 
-bool
-check(long double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
+class A {
+private:
+  int i;
+  bool b;
 
-#if SIZEOF_LONG_DOUBLE == 12
+public:
+  A()
+    : i(0), b(false) {
+  }
+};
 
-long double
-convert(uint32_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
+class B {
+private:
+  int capacity;
+  A vec0;
 
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
+public:
+  void* operator new(size_t fixed_size, int c) {
+    return ::operator new(fixed_size + c*sizeof(B));
+  }
 
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+  void operator delete(void* p) {
+    ::operator delete(p);
+  }
 
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL),
-            "-2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
-      && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL),
-               "-3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239 [...]
-      && check(convert(0x00000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x80000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
+  void operator delete(void* p, int) {
+    ::operator delete(p);
+  }
 
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+  B(int s)
+    : capacity(s) {
+  }
+};
 
 int
 main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-#elif SIZEOF_LONG_DOUBLE == 16
-
-long double
-convert(uint64_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint64_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint64_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "-6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-#elif SIZEOF_LONG_DOUBLE == 8
-
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
-
-#else // SIZEOF_LONG_DOUBLE != 8
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_LONG_DOUBLE != 8
-
-_ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_long_double_exact_output=1
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_long_double_exact_output=0
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT $ac_cxx_long_double_exact_output
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cxx_long_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
-then
-  ac_supported_long_double=0
-else
-  ac_supported_long_double=1
-fi
- if test $ac_supported_long_double = 1; then
-  SUPPORTED_LONG_DOUBLE_TRUE=
-  SUPPORTED_LONG_DOUBLE_FALSE='#'
-else
-  SUPPORTED_LONG_DOUBLE_TRUE='#'
-  SUPPORTED_LONG_DOUBLE_FALSE=
-fi
-
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_SUPPORTED_LONG_DOUBLE $ac_supported_long_double
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-# Check whether the C++ run-time systems provides exact output for
-# floats.
-#AC_CXX_FLOAT_EXACT_OUTPUT
-
-# Check whether the C++ run-time systems provides exact output for
-# doubles.
-#AC_CXX_DOUBLE_EXACT_OUTPUT
-
-# Check whether the C++ run-time systems provides exact output for
-# long doubles.
-#AC_CXX_LONG_DOUBLE_EXACT_OUTPUT
-
-# Check whether the C++ compiler supports flexible arrays.
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports flexible arrays" >&5
-$as_echo_n "checking whether the C++ compiler supports flexible arrays... " >&6; }
-if test "$cross_compiling" = yes; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#include <new>
-#include <cstddef>
-
-class A {
-private:
-  int i;
-  bool b;
-
-public:
-  A()
-    : i(0), b(false) {
-  }
-};
-
-class B {
-private:
-  int capacity;
-  A vec;
-
-public:
-  void* operator new(size_t fixed_size, int c) {
-    return ::operator new(fixed_size + c*sizeof(B));
-  }
-
-  void operator delete(void* p) {
-    ::operator delete(p);
-  }
-
-  void operator delete(void* p, int) {
-    ::operator delete(p);
-  }
-
-  B(int s)
-    : capacity(s) {
-  }
-};
-
-int
-main() {
-  B* p = new (100) B(100);
-  delete p;
-  return 0;
+  B* p = new (100) B(100);
+  delete p;
+  return 0;
 }
 
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-    ac_cxx_supports_flexible_arrays=yes
+    ac_cxx_supports_zero_length_arrays=yes
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-    ac_cxx_supports_flexible_arrays=no
+    ac_cxx_supports_zero_length_arrays=no
 fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
@@ -9286,18 +8921,18 @@ _ACEOF
 if ac_fn_cxx_try_run "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cxx_supports_flexible_arrays=yes
+  ac_cxx_supports_zero_length_arrays=yes
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cxx_supports_flexible_arrays=no
+  ac_cxx_supports_zero_length_arrays=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
 
-if test x"$ac_cxx_supports_flexible_arrays" = xyes
+if test x"$ac_cxx_supports_zero_length_arrays" = xyes
 then
   value=1
 else
@@ -9305,7 +8940,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS $value
+#define PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS $value
 _ACEOF
 
 
@@ -9458,8 +9093,7 @@ CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
 
-# Check whether the C++ compiler has the remainder bug.
-
+# Check whether the C++ compiler supports __attribute__ ((weak)).
 
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
@@ -9470,50 +9104,31 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the compiler has the remainder bug" >&5
-$as_echo_n "checking if the compiler has the remainder bug... " >&6; }
-if test "$cross_compiling" = yes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: assuming yes" >&5
-$as_echo "assuming yes" >&6; }
-  ac_cv_cxx_has_remainder_bug=yes
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports __attribute__ ((weak))" >&5
+$as_echo_n "checking whether the C++ compiler supports __attribute__ ((weak))... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
-#include <climits>
-
-int minus_one(int n) {
-  return (n+1)*(n-1)-n*n;
-}
-
-int p(int x, int y) {
-  int z = x % y;
-  return z;
-}
+void
+foo() __attribute__ ((weak));
 
-int main(int argc, char** argv) {
-  if (p(INT_MIN, minus_one(argc)) != 0)
-    return 1;
-  else
-    return 0;
+void
+foo() {
 }
 
 _ACEOF
-if ac_fn_cxx_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cv_cxx_has_remainder_bug=no
-else
+if ac_fn_cxx_try_compile "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
 $as_echo "yes" >&6; }
-  ac_cv_cxx_has_remainder_bug=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+  ac_cxx_supports_attribute_weak=yes
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ac_cxx_supports_attribute_weak=no
 fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
-
-if test x"$ac_cv_cxx_has_remainder_bug" = xyes
+if test x"$ac_cxx_supports_attribute_weak" = xyes
 then
   value=1
 else
@@ -9521,7 +9136,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_HAS_REMAINDER_BUG $value
+#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK $value
 _ACEOF
 
 
@@ -9535,73 +9150,15 @@ CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
 
-# Check whether the C++ compiler supports __attribute__ ((weak)).
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler supports __attribute__ ((weak))" >&5
-$as_echo_n "checking whether the C++ compiler supports __attribute__ ((weak))... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-void
-foo() __attribute__ ((weak));
-
-void
-foo() {
-}
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  ac_cxx_supports_attribute_weak=yes
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  ac_cxx_supports_attribute_weak=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test x"$ac_cxx_supports_attribute_weak" = xyes
-then
-  value=1
-else
-  value=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK $value
-_ACEOF
-
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-
-
-# Checks for header files.
-for ac_header in fenv.h ieeefp.h getopt.h signal.h string.h strings.h sys/resource.h sys/time.h sys/types.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+# Checks for header files.
+for ac_header in fenv.h ieeefp.h getopt.h signal.h string.h strings.h sys/resource.h sys/time.h sys/types.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
 
 fi
 
@@ -9617,7 +9174,7 @@ ac_fn_cxx_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_ffs" = x""yes; then :
+if test "x$ac_cv_have_decl_ffs" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9629,7 +9186,7 @@ _ACEOF
 
 ac_fn_cxx_check_decl "$LINENO" "getenv" "ac_cv_have_decl_getenv" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_getenv" = x""yes; then :
+if test "x$ac_cv_have_decl_getenv" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9640,7 +9197,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 ac_fn_cxx_check_decl "$LINENO" "strtof" "ac_cv_have_decl_strtof" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_strtof" = x""yes; then :
+if test "x$ac_cv_have_decl_strtof" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9651,7 +9208,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 ac_fn_cxx_check_decl "$LINENO" "strtod" "ac_cv_have_decl_strtod" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_strtod" = x""yes; then :
+if test "x$ac_cv_have_decl_strtod" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9662,7 +9219,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 ac_fn_cxx_check_decl "$LINENO" "strtold" "ac_cv_have_decl_strtold" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_strtold" = x""yes; then :
+if test "x$ac_cv_have_decl_strtold" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9673,7 +9230,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 ac_fn_cxx_check_decl "$LINENO" "strtoll" "ac_cv_have_decl_strtoll" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoll" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9684,7 +9241,7 @@ cat >>confdefs.h <<_ACEOF
 _ACEOF
 ac_fn_cxx_check_decl "$LINENO" "strtoull" "ac_cv_have_decl_strtoull" "#include <cstdlib>
 "
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then :
+if test "x$ac_cv_have_decl_strtoull" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -9696,1463 +9253,234 @@ _ACEOF
 
 ac_fn_cxx_check_decl "$LINENO" "fma" "ac_cv_have_decl_fma" "#include <cmath>
 "
-if test "x$ac_cv_have_decl_fma" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMA $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fmaf" "ac_cv_have_decl_fmaf" "#include <cmath>
-"
-if test "x$ac_cv_have_decl_fmaf" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAF $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fmal" "ac_cv_have_decl_fmal" "#include <cmath>
-"
-if test "x$ac_cv_have_decl_fmal" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAL $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "rintf" "ac_cv_have_decl_rintf" "#include <cmath>
-"
-if test "x$ac_cv_have_decl_rintf" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTF $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "rintl" "ac_cv_have_decl_rintl" "#include <cmath>
-"
-if test "x$ac_cv_have_decl_rintl" = x""yes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTL $ac_have_decl
-_ACEOF
-
-
-# Checks for the availability of "fast" integral types.
-ac_fn_cxx_check_type "$LINENO" "int_fast16_t" "ac_cv_type_int_fast16_t" "$ac_includes_default"
-if test "x$ac_cv_type_int_fast16_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST16_T 1
-_ACEOF
-
-
-fi
-ac_fn_cxx_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "$ac_includes_default"
-if test "x$ac_cv_type_int_fast32_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST32_T 1
-_ACEOF
-
-
-fi
-ac_fn_cxx_check_type "$LINENO" "int_fast64_t" "ac_cv_type_int_fast64_t" "$ac_includes_default"
-if test "x$ac_cv_type_int_fast64_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST64_T 1
-_ACEOF
-
-
-fi
-ac_fn_cxx_check_type "$LINENO" "uint_fast16_t" "ac_cv_type_uint_fast16_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint_fast16_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST16_T 1
-_ACEOF
-
-
-fi
-ac_fn_cxx_check_type "$LINENO" "uint_fast32_t" "ac_cv_type_uint_fast32_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint_fast32_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST32_T 1
-_ACEOF
-
-
-fi
-ac_fn_cxx_check_type "$LINENO" "uint_fast64_t" "ac_cv_type_uint_fast64_t" "$ac_includes_default"
-if test "x$ac_cv_type_uint_fast64_t" = x""yes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_UINT_FAST64_T 1
-_ACEOF
-
-
-fi
-
-
-# Make sure uintptr_t is defined to an unsigned integer type wide enough
-# to hold a pointer, if such a type exists.
-
-  ac_fn_cxx_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
-if test "x$ac_cv_type_uintptr_t" = x""yes; then :
-
-$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
-
-else
-  for ac_type in 'unsigned int' 'unsigned long int' \
-	'unsigned long long int'; do
-       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
-test_array [0] = 0
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define uintptr_t $ac_type
-_ACEOF
-
-	  ac_type=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-       test -z "$ac_type" && break
-     done
-fi
-
-
-
-
-# Checks on the GMP library.
-
-
-      if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5
-$as_echo_n "checking for ld used by GCC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | [A-Za-z]:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if test "${acl_cv_path_LD+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${acl_cv_prog_gnu_ld+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5
-$as_echo "$acl_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$acl_cv_prog_gnu_ld
-
-
-
-
-                                                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5
-$as_echo_n "checking for shared library run path origin... " >&6; }
-if test "${acl_cv_rpath+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-    # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
-  enableval=$enable_rpath; :
-else
-  enable_rpath=yes
-fi
-
-
-
-
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-                                    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5
-$as_echo_n "checking for 64-bit host... " >&6; }
-if test "${gl_cv_solaris_64bit+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#ifdef _LP64
-sixtyfour bits
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "sixtyfour bits" >/dev/null 2>&1; then :
-  gl_cv_solaris_64bit=yes
-else
-  gl_cv_solaris_64bit=no
-fi
-rm -f conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5
-$as_echo "$gl_cv_solaris_64bit" >&6; }
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-        esac
-      fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS= 	}"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-
-
-if test -n "$with_libgmpxx_prefix" && test -z "$with_libgmp_prefix"; then
-  with_libgmp_prefix="$with_libgmpxx_prefix"
-else
-  if test -n "$with_libgmp_prefix" && test -z "$with_libgmpxx_prefix"; then
-    with_libgmpxx_prefix="$with_libgmp_prefix"
-  fi
-fi
-
-
-# Check whether --with-gmp-build was given.
-if test "${with_gmp_build+set}" = set; then :
-  withval=$with_gmp_build; gmp_build_dir=$with_gmp_build
-  if test -z "$with_libgmp_prefix"
-  then
-    CPPFLAGS="$CPPFLAGS -I$gmp_build_dir -I$gmp_build_dir/tune"
-    LDFLAGS="$LDFLAGS -L$gmp_build_dir -L$gmp_build_dir/.libs"
-    LDFLAGS="$LDFLAGS -L$gmp_build_dir/tune"
-  else
-    as_fn_error "cannot use --with-gmp-build and --with-gmp-prefix together" "$LINENO" 5
-  fi
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgmp" >&5
-$as_echo_n "checking how to link with libgmp... " >&6; }
-if test "${ac_cv_libgmp_libs+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
-
-
-
-
-
-
-
-
-    use_additional=yes
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-
-# Check whether --with-gmp-prefix was given.
-if test "${with_gmp_prefix+set}" = set; then :
-  withval=$with_gmp_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
-
-fi
-
-      LIBGMP=
-  LTLIBGMP=
-  INCGMP=
-  LIBGMP_PREFIX=
-      HAVE_LIBGMP=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='gmp '
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBGMP="${LIBGMP}${LIBGMP:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$acl_hardcode_direct" = yes; then
-                                                      LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                                                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBGMP="${LIBGMP}${LIBGMP:+ }$found_a"
-              else
-                                                LIBGMP="${LIBGMP}${LIBGMP:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'gmp'; then
-                  LIBGMP_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'gmp'; then
-                  LIBGMP_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCGMP="${INCGMP}${INCGMP:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBGMP="${LIBGMP}${LIBGMP:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBGMP; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBGMP="${LIBGMP}${LIBGMP:+ }$dep"
-                    LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBGMP="${LIBGMP}${LIBGMP:+ }-l$name"
-            LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBGMP="${LIBGMP}${LIBGMP:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBGMP="${LTLIBGMP}${LTLIBGMP:+ }-R$found_dir"
-    done
-  fi
-
-
-
+if test "x$ac_cv_have_decl_fma" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMA $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "fmaf" "ac_cv_have_decl_fmaf" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_fmaf" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMAF $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "fmal" "ac_cv_have_decl_fmal" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_fmal" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
-    ac_cv_libgmp_libs="$LIBGMP"
-    ac_cv_libgmp_ltlibs="$LTLIBGMP"
-    ac_cv_libgmp_cppflags="$INCGMP"
-    ac_cv_libgmp_prefix="$LIBGMP_PREFIX"
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_FMAL $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "rintf" "ac_cv_have_decl_rintf" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_rintf" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTF $ac_have_decl
+_ACEOF
+ac_fn_cxx_check_decl "$LINENO" "rintl" "ac_cv_have_decl_rintl" "#include <cmath>
+"
+if test "x$ac_cv_have_decl_rintl" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgmp_libs" >&5
-$as_echo "$ac_cv_libgmp_libs" >&6; }
-  LIBGMP="$ac_cv_libgmp_libs"
-  LTLIBGMP="$ac_cv_libgmp_ltlibs"
-  INCGMP="$ac_cv_libgmp_cppflags"
-  LIBGMP_PREFIX="$ac_cv_libgmp_prefix"
 
-  for element in $INCGMP; do
-    haveit=
-    for x in $CPPFLAGS; do
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTL $ac_have_decl
+_ACEOF
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
+# Checks for the availability of "fast" integral types.
+ac_fn_cxx_check_type "$LINENO" "int_fast16_t" "ac_cv_type_int_fast16_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast16_t" = xyes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT_FAST16_T 1
+_ACEOF
 
 
+fi
+ac_fn_cxx_check_type "$LINENO" "int_fast32_t" "ac_cv_type_int_fast32_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast32_t" = xyes; then :
 
-      HAVE_LIBGMP=yes
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT_FAST32_T 1
+_ACEOF
 
 
+fi
+ac_fn_cxx_check_type "$LINENO" "int_fast64_t" "ac_cv_type_int_fast64_t" "$ac_includes_default"
+if test "x$ac_cv_type_int_fast64_t" = xyes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT_FAST64_T 1
+_ACEOF
 
 
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast16_t" "ac_cv_type_uint_fast16_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast16_t" = xyes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST16_T 1
+_ACEOF
 
 
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast32_t" "ac_cv_type_uint_fast32_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast32_t" = xyes; then :
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libgmpxx" >&5
-$as_echo_n "checking how to link with libgmpxx... " >&6; }
-if test "${ac_cv_libgmpxx_libs+set}" = set; then :
-  $as_echo_n "(cached) " >&6
-else
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST32_T 1
+_ACEOF
 
 
+fi
+ac_fn_cxx_check_type "$LINENO" "uint_fast64_t" "ac_cv_type_uint_fast64_t" "$ac_includes_default"
+if test "x$ac_cv_type_uint_fast64_t" = xyes; then :
 
+cat >>confdefs.h <<_ACEOF
+#define HAVE_UINT_FAST64_T 1
+_ACEOF
 
 
+fi
 
 
+# Make sure uintptr_t is defined to an unsigned integer type wide enough
+# to hold a pointer, if such a type exists.
 
-    use_additional=yes
+  ac_fn_cxx_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default"
+if test "x$ac_cv_type_uintptr_t" = xyes; then :
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
+$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h
 
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
+else
+  for ac_type in 'unsigned int' 'unsigned long int' \
+	'unsigned long long int'; do
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))];
+test_array [0] = 0
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
 
+cat >>confdefs.h <<_ACEOF
+#define uintptr_t $ac_type
+_ACEOF
 
-# Check whether --with-gmp-prefix was given.
-if test "${with_gmp_prefix+set}" = set; then :
-  withval=$with_gmp_prefix;
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
+	  ac_type=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+       test -z "$ac_type" && break
+     done
+fi
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
 
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
 
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
 
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
+# Checks on the GMP library.
 
-fi
 
-      LIBGMPXX=
-  LTLIBGMPXX=
-  INCGMPXX=
-  LIBGMPXX_PREFIX=
-      HAVE_LIBGMPXX=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='gmpxx gmp'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-                        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$value"
-          else
-                                    :
-          fi
-        else
-                              found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-                                    if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-                        if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                                    if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                                    if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-                                                        if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-              else
-                                                                                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                                if test "$acl_hardcode_direct" = yes; then
-                                                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                                                            haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                                                                                haveit=
-                    for x in $LDFLAGS $LIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                                                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_so"
-                    else
-                                                                                                                                                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$found_a"
-              else
-                                                LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$found_dir -l$name"
-              fi
-            fi
-                        additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = 'gmpxx'; then
-                  LIBGMPXX_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = 'gmpxx'; then
-                  LIBGMPXX_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-                                                                                                                if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INCGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                                            INCGMPXX="${INCGMPXX}${INCGMPXX:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-                        if test -n "$found_la"; then
-                                                        save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-                            for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                                                                                                                                                                if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIBGMPXX; do
-
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                                                        LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                                                                  haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                                                                  haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                                        names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                                                                                names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                                        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$dep"
-                    LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-                                                            LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }-l$name"
-            LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-                        alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-            acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
-    else
-            for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIBGMPXX="${LIBGMPXX}${LIBGMPXX:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-            for found_dir in $ltrpathdirs; do
-      LTLIBGMPXX="${LTLIBGMPXX}${LTLIBGMPXX:+ }-R$found_dir"
-    done
-  fi
 
+# Check whether --with-gmp was given.
+if test "${with_gmp+set}" = set; then :
+  withval=$with_gmp;
+fi
 
 
 
+# Check whether --with-gmp-include was given.
+if test "${with_gmp_include+set}" = set; then :
+  withval=$with_gmp_include;
+fi
 
 
-    ac_cv_libgmpxx_libs="$LIBGMPXX"
-    ac_cv_libgmpxx_ltlibs="$LTLIBGMPXX"
-    ac_cv_libgmpxx_cppflags="$INCGMPXX"
-    ac_cv_libgmpxx_prefix="$LIBGMPXX_PREFIX"
 
+# Check whether --with-gmp-lib was given.
+if test "${with_gmp_lib+set}" = set; then :
+  withval=$with_gmp_lib;
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libgmpxx_libs" >&5
-$as_echo "$ac_cv_libgmpxx_libs" >&6; }
-  LIBGMPXX="$ac_cv_libgmpxx_libs"
-  LTLIBGMPXX="$ac_cv_libgmpxx_ltlibs"
-  INCGMPXX="$ac_cv_libgmpxx_cppflags"
-  LIBGMPXX_PREFIX="$ac_cv_libgmpxx_prefix"
 
-  for element in $INCGMPXX; do
-    haveit=
-    for x in $CPPFLAGS; do
 
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  eval x=\"$x\"
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
+if test -n "$with_gmp"
+then
+  gmp_include_options="-I$with_gmp/include"
+  gmp_library_paths="$with_gmp/lib"
+  gmp_library_options="-L$gmp_library_paths"
+fi
 
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element"
-    fi
-  done
+if test -n "$with_gmp_include"
+then
+  gmp_include_options="-I$with_gmp_include"
+fi
 
+if test -n "$with_gmp_lib"
+then
+  gmp_library_paths="$with_gmp_lib"
+  gmp_library_options="-L$gmp_library_paths"
+fi
 
+gmp_libs="-lgmpxx -lgmp"
 
 
-      HAVE_LIBGMPXX=yes
+# Check whether --with-gmp-build was given.
+if test "${with_gmp_build+set}" = set; then :
+  withval=$with_gmp_build; gmp_build_dir=$with_gmp_build
+  if test -n "$with_gmp" \
+  || test -n "$with_gmp_include" || test -n "$with_gmp_lib"
+  then
+    as_fn_error $? "cannot use --with-gmp-build and other --with-gmp* options together" "$LINENO" 5
+  else
+    gmp_srcdir=`echo @abs_srcdir@ | $gmp_build_dir/config.status --file=-`
+    gmp_include_options="-I$gmp_build_dir -I$gmp_build_dir/tune -I$gmp_srcdir"
+    gmp_libs="$gmp_build_dir/libgmp.la $gmp_build_dir/libgmpxx.la"
+  fi
+fi
 
 
+gmp_library_options="$gmp_library_options $gmp_libs"
 
+if test -n "$with_gmp_build"
+then
+  ac_save_CXX="$CXX"
+  CXX="libtool --mode=link --tag=CXX $CXX"
+fi
 
+ac_save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $gmp_include_options"
 ac_save_LIBS="$LIBS"
-LIBS="$LIBS $LIBGMPXX"
+LIBS="$LIBS $gmp_library_options"
+eval ac_save_shared_library_path="\$$shared_library_path_env_var"
+eval $shared_library_path_env_var=\"$gmp_library_paths:$ac_save_shared_library_path\"
+export $shared_library_path_env_var
+
 ac_ext=cpp
 ac_cpp='$CXXCPP $CPPFLAGS'
 ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -11226,7 +9554,7 @@ main() {
 
   if (header_version != library_version) {
     std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) version mismatch:\n"
+      << "GMP header (gmpxx.h) and library (ligmpxx.*) version mismatch:\n"
       << "header gives " << header_version << ";\n"
       << "library gives " << library_version << "." << std::endl;
     return 1;
@@ -11235,7 +9563,7 @@ main() {
   if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
       || BITS_PER_MP_LIMB != mp_bits_per_limb) {
     std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+      << "GMP header (gmpxx.h) and library (ligmpxx.*) bits-per-limb mismatch:\n"
       << "header gives " << BITS_PER_MP_LIMB << ";\n"
       << "library gives " << mp_bits_per_limb << ".\n"
       << "This probably means you are on a bi-arch system and\n"
@@ -11274,7 +9602,7 @@ then
 # This bug is HP SR number 8606223364.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of mp_limb_t" >&5
 $as_echo_n "checking size of mp_limb_t... " >&6; }
-if test "${ac_cv_sizeof_mp_limb_t+set}" = set; then :
+if ${ac_cv_sizeof_mp_limb_t+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if ac_fn_cxx_compute_int "$LINENO" "(long int) (sizeof (mp_limb_t))" "ac_cv_sizeof_mp_limb_t"        "#include <gmpxx.h>
@@ -11284,9 +9612,8 @@ else
   if test "$ac_cv_type_mp_limb_t" = yes; then
      { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ as_fn_set_status 77
-as_fn_error "cannot compute sizeof (mp_limb_t)
-See \`config.log' for more details." "$LINENO" 5; }; }
+as_fn_error 77 "cannot compute sizeof (mp_limb_t)
+See \`config.log' for more details" "$LINENO" 5; }
    else
      ac_cv_sizeof_mp_limb_t=0
    fi
@@ -11379,13 +9706,18 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
+eval $shared_library_path_env_var=\"$ac_save_shared_library_path\"
 LIBS="$ac_save_LIBS"
+CPPFLAGS="$ac_save_CPPFLAGS"
 
-gmp_library_option="$LTLIBGMPXX"
+if test -n "$with_gmp_build"
+then
+  CXX="$ac_save_CXX"
+fi
 
 if test x"$have_gmp" = xno
 then
-  as_fn_error "Cannot find GMP version 4.1.3 or higher.
+  as_fn_error $? "Cannot find GMP version 4.1.3 or higher.
 GMP is the GNU Multi-Precision library:
 see http://www.swox.com/gmp/ for more information.
 When compiling the GMP library, do not forget to enable the C++ interface:
@@ -11393,7 +9725,7 @@ add --enable-cxx to the configuration options." "$LINENO" 5
 else
   if test x"$have_gmpxx" = xno
   then
-    as_fn_error "GMP compiled without enabling the C++ interface.
+    as_fn_error $? "GMP compiled without enabling the C++ interface.
 GMP is the GNU Multi-Precision library:
 see http://www.swox.com/gmp/ for more information.
 When compiling the GMP library, do not forget to enable the C++ interface:
@@ -11403,7 +9735,7 @@ fi
 
 ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_alloc" "ac_cv_member___mpz_struct__mp_alloc" "#include <gmp.h>
 "
-if test "x$ac_cv_member___mpz_struct__mp_alloc" = x""yes; then :
+if test "x$ac_cv_member___mpz_struct__mp_alloc" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE___MPZ_STRUCT__MP_ALLOC 1
@@ -11415,7 +9747,7 @@ else
 fi
 ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_size" "ac_cv_member___mpz_struct__mp_size" "#include <gmp.h>
 "
-if test "x$ac_cv_member___mpz_struct__mp_size" = x""yes; then :
+if test "x$ac_cv_member___mpz_struct__mp_size" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE___MPZ_STRUCT__MP_SIZE 1
@@ -11427,7 +9759,7 @@ else
 fi
 ac_fn_cxx_check_member "$LINENO" "__mpz_struct" "_mp_d" "ac_cv_member___mpz_struct__mp_d" "#include <gmp.h>
 "
-if test "x$ac_cv_member___mpz_struct__mp_d" = x""yes; then :
+if test "x$ac_cv_member___mpz_struct__mp_d" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE___MPZ_STRUCT__MP_D 1
@@ -11441,57 +9773,15 @@ fi
 
 if test x"$gmp_has_changed" = xyes
 then
-  as_fn_error "GMP HAS CHANGED:
+  as_fn_error $? "GMP HAS CHANGED:
 *** The PPL exploits some implementation details of GMP that were current
 *** until (at least) version 4.1.4 of GMP.  You seem to be using a version
 *** where these details have changed.
 *** Please report this to ppl-devel at cs.unipr.it." "$LINENO" 5
 fi
 
-extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
-extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
-
-enableval=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the Parma Watchdog Library" >&5
-$as_echo_n "checking whether to build the Parma Watchdog Library... " >&6; }
-# Check whether --enable-watchdog was given.
-if test "${enable_watchdog+set}" = set; then :
-  enableval=$enable_watchdog;
-fi
-
-case "${enableval}" in
-yes)
-  build_watchdog_library=yes
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  as_fn_error "bad value ${enableval} for --enable-watchdog, needs yes or no" "$LINENO" 5
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_watchdog_library" >&5
-$as_echo "$build_watchdog_library" >&6; }
- if test x"$build_watchdog_library" = xyes; then
-  BUILD_WATCHDOG_LIBRARY_TRUE=
-  BUILD_WATCHDOG_LIBRARY_FALSE='#'
-else
-  BUILD_WATCHDOG_LIBRARY_TRUE='#'
-  BUILD_WATCHDOG_LIBRARY_FALSE=
-fi
-
-if test x"$build_watchdog_library" = xyes
-then
-
-$as_echo "#define PPL_WATCHDOG_LIBRARY_ENABLED 1" >>confdefs.h
-
-fi
-
-# Enabled or not, the Watchdog subdirectory must be configured.
-
-
-subdirs="$subdirs Watchdog"
-
+extra_includes="${extra_includes}${extra_includes:+ }${gmp_include_options}"
+extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_options}"
 
 enableval=yes
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the ppl_lcdd program" >&5
@@ -11511,7 +9801,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-ppl_lcdd, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_lcdd, needs yes or no" "$LINENO" 5
   ;;
 esac
 build_ppl_lcdd=$enableval
@@ -11542,7 +9832,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-ppl_lpsol, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_lpsol, needs yes or no" "$LINENO" 5
   ;;
 esac
 build_ppl_lpsol=$enableval
@@ -11573,7 +9863,7 @@ no)
 $as_echo "no" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-ppl_pips, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-ppl_pips, needs yes or no" "$LINENO" 5
   ;;
 esac
 build_ppl_pips=$enableval
@@ -11586,6 +9876,37 @@ else
 fi
 
 
+enableval=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build the PPL documentation" >&5
+$as_echo_n "checking whether to build the PPL documentation... " >&6; }
+# Check whether --enable-documentation was given.
+if test "${enable_documentation+set}" = set; then :
+  enableval=$enable_documentation;
+fi
+
+case "${enableval}" in
+yes)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  ;;
+no)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  ;;
+*)
+  as_fn_error $? "bad value ${enableval} for --enable-documentation, needs yes or no" "$LINENO" 5
+  ;;
+esac
+build_documentation=$enableval
+ if test x"$build_documentation" = xyes; then
+  BUILD_DOCUMENTATION_TRUE=
+  BUILD_DOCUMENTATION_FALSE='#'
+else
+  BUILD_DOCUMENTATION_TRUE='#'
+  BUILD_DOCUMENTATION_FALSE=
+fi
+
+
 # Define lists of available interfaces: lowercase and blank-separated.
 non_prolog_interfaces="cxx c ocaml java"
 prolog_interfaces="ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog"
@@ -11604,7 +9925,7 @@ fi
 
 case x"${enableval}" in
 xyes | x)
-  as_fn_error "--enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all" "$LINENO" 5
+  as_fn_error $? "--enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all" "$LINENO" 5
   ;;
 xnone | xno)
   for interface in ${available_interfaces}
@@ -11636,7 +9957,7 @@ $as_echo "${available_interfaces}" >&6; }
     *\ ${interface}\ *)
       ;;
     *)
-      as_fn_error "unknown interface ${interface}: must be one of ${available_interfaces}" "$LINENO" 5
+      as_fn_error $? "unknown interface ${interface}: must be one of ${available_interfaces}" "$LINENO" 5
       ;;
     esac
   done
@@ -11733,7 +10054,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then :
+if ${ac_cv_prog_JAVAC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$JAVAC"; then
@@ -11777,7 +10098,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAC+set}" = set; then :
+if ${ac_cv_path_JAVAC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $JAVAC in
@@ -11823,14 +10144,14 @@ then
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $JAVAC supports enums" >&5
 $as_echo_n "checking whether $JAVAC supports enums... " >&6; }
-if test "${ac_cv_javac_supports_enums+set}" = set; then :
+if ${ac_cv_javac_supports_enums+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
 JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 cat << \EOF > $JAVA_TEST
-/* #line 11833 "configure" */
+/* #line 10154 "configure" */
 public class Test {
 public enum Relation_Symbol {
     /*! Less than. */
@@ -11875,7 +10196,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVA+set}" = set; then :
+if ${ac_cv_prog_JAVA+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$JAVA"; then
@@ -11919,7 +10240,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVA+set}" = set; then :
+if ${ac_cv_path_JAVA+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $JAVA in
@@ -11967,7 +10288,7 @@ then
 set dummy uudecode$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_uudecode+set}" = set; then :
+if ${ac_cv_prog_uudecode+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$uudecode"; then
@@ -12003,7 +10324,7 @@ fi
 if test x$uudecode = xyes; then
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if uudecode can decode base 64 file" >&5
 $as_echo_n "checking if uudecode can decode base 64 file... " >&6; }
-if test "${ac_cv_prog_uudecode_base64+set}" = set; then :
+if ${ac_cv_prog_uudecode_base64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -12021,7 +10342,7 @@ EOF
 if uudecode$EXEEXT Test.uue; then
         ac_cv_prog_uudecode_base64=yes
 else
-        echo "configure: 12024: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+        echo "configure: 10345: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
         echo "configure: failed file was:" >&5
         cat Test.uue >&5
         ac_cv_prog_uudecode_base64=no
@@ -12043,7 +10364,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAC+set}" = set; then :
+if ${ac_cv_prog_JAVAC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$JAVAC"; then
@@ -12087,7 +10408,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAC+set}" = set; then :
+if ${ac_cv_path_JAVAC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $JAVAC in
@@ -12133,14 +10454,14 @@ then
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $JAVAC supports enums" >&5
 $as_echo_n "checking whether $JAVAC supports enums... " >&6; }
-if test "${ac_cv_javac_supports_enums+set}" = set; then :
+if ${ac_cv_javac_supports_enums+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
 JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 cat << \EOF > $JAVA_TEST
-/* #line 12143 "configure" */
+/* #line 10464 "configure" */
 public class Test {
 public enum Relation_Symbol {
     /*! Less than. */
@@ -12181,7 +10502,7 @@ fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $JAVA works" >&5
 $as_echo_n "checking if $JAVA works... " >&6; }
-if test "${ac_cv_prog_java_works+set}" = set; then :
+if ${ac_cv_prog_java_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -12189,7 +10510,7 @@ JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 TEST=Test
 cat << \EOF > $JAVA_TEST
-/* [#]line 12192 "configure" */
+/* [#]line 10513 "configure" */
 public class Test {
 public static void main (String args[]) {
         System.exit (0);
@@ -12246,7 +10567,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAR+set}" = set; then :
+if ${ac_cv_prog_JAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$JAR"; then
@@ -12290,7 +10611,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAR+set}" = set; then :
+if ${ac_cv_path_JAR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $JAR in
@@ -12334,6 +10655,11 @@ fi
 test "x$JAR" = xno
 
 
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 if test "x$JAVAPREFIX" = x; then
         for ac_prog in javah
 do
@@ -12341,7 +10667,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_JAVAH+set}" = set; then :
+if ${ac_cv_prog_JAVAH+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$JAVAH"; then
@@ -12385,7 +10711,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_JAVAH+set}" = set; then :
+if ${ac_cv_path_JAVAH+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $JAVAH in
@@ -12453,11 +10779,18 @@ else
 $as_echo "$as_me: WARNING: unable to include <jni.h>" >&2;}
 	       JAVAH=no
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
     CPPFLAGS="$ac_save_CPPFLAGS"
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 fi
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
 
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="$CPPFLAGS $JNIFLAGS"
@@ -12550,7 +10883,7 @@ then
 set dummy ${ac_tool_prefix}ocamlc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLC+set}" = set; then :
+if ${ac_cv_prog_OCAMLC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLC"; then
@@ -12590,7 +10923,7 @@ if test -z "$ac_cv_prog_OCAMLC"; then
 set dummy ocamlc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLC"; then
@@ -12655,7 +10988,7 @@ $as_echo "OCaml library path is $OCAMLLIB" >&6; }
 set dummy ${ac_tool_prefix}ocamlopt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLOPT+set}" = set; then :
+if ${ac_cv_prog_OCAMLOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLOPT"; then
@@ -12695,7 +11028,7 @@ if test -z "$ac_cv_prog_OCAMLOPT"; then
 set dummy ocamlopt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLOPT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLOPT"; then
@@ -12765,7 +11098,7 @@ $as_echo "versions differs from ocamlc; ocamlopt discarded." >&6; }
 set dummy ${ac_tool_prefix}ocamlc.opt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLCDOTOPT+set}" = set; then :
+if ${ac_cv_prog_OCAMLCDOTOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLCDOTOPT"; then
@@ -12805,7 +11138,7 @@ if test -z "$ac_cv_prog_OCAMLCDOTOPT"; then
 set dummy ocamlc.opt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLCDOTOPT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLCDOTOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLCDOTOPT"; then
@@ -12869,7 +11202,7 @@ $as_echo "versions differs from ocamlc; ocamlc.opt discarded." >&6; }
 set dummy ${ac_tool_prefix}ocamlopt.opt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLOPTDOTOPT+set}" = set; then :
+if ${ac_cv_prog_OCAMLOPTDOTOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLOPTDOTOPT"; then
@@ -12909,7 +11242,7 @@ if test -z "$ac_cv_prog_OCAMLOPTDOTOPT"; then
 set dummy ocamlopt.opt; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLOPTDOTOPT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLOPTDOTOPT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLOPTDOTOPT"; then
@@ -12978,7 +11311,7 @@ $as_echo "version differs from ocamlc; ocamlopt.opt discarded." >&6; }
 set dummy ${ac_tool_prefix}ocamldep; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLDEP+set}" = set; then :
+if ${ac_cv_prog_OCAMLDEP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLDEP"; then
@@ -13018,7 +11351,7 @@ if test -z "$ac_cv_prog_OCAMLDEP"; then
 set dummy ocamldep; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLDEP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLDEP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLDEP"; then
@@ -13072,7 +11405,7 @@ fi
 set dummy ${ac_tool_prefix}ocamlmktop; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLMKTOP+set}" = set; then :
+if ${ac_cv_prog_OCAMLMKTOP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLMKTOP"; then
@@ -13112,7 +11445,7 @@ if test -z "$ac_cv_prog_OCAMLMKTOP"; then
 set dummy ocamlmktop; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLMKTOP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLMKTOP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLMKTOP"; then
@@ -13166,7 +11499,7 @@ fi
 set dummy ${ac_tool_prefix}ocamlmklib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLMKLIB+set}" = set; then :
+if ${ac_cv_prog_OCAMLMKLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLMKLIB"; then
@@ -13206,7 +11539,7 @@ if test -z "$ac_cv_prog_OCAMLMKLIB"; then
 set dummy ocamlmklib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLMKLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLMKLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLMKLIB"; then
@@ -13260,7 +11593,7 @@ fi
 set dummy ${ac_tool_prefix}ocamldoc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLDOC+set}" = set; then :
+if ${ac_cv_prog_OCAMLDOC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLDOC"; then
@@ -13300,7 +11633,7 @@ if test -z "$ac_cv_prog_OCAMLDOC"; then
 set dummy ocamldoc; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLDOC+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLDOC+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLDOC"; then
@@ -13354,7 +11687,7 @@ fi
 set dummy ${ac_tool_prefix}ocamlbuild; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OCAMLBUILD+set}" = set; then :
+if ${ac_cv_prog_OCAMLBUILD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OCAMLBUILD"; then
@@ -13394,7 +11727,7 @@ if test -z "$ac_cv_prog_OCAMLBUILD"; then
 set dummy ocamlbuild; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OCAMLBUILD+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OCAMLBUILD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OCAMLBUILD"; then
@@ -13517,7 +11850,7 @@ then
 set dummy ciao; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_ciao_prolog+set}" = set; then :
+if ${ac_cv_path_ciao_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $ciao_prolog in
@@ -13589,17 +11922,19 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   ac_fn_cxx_check_header_mongrel "$LINENO" "ciao_prolog.h" "ac_cv_header_ciao_prolog_h" "$ac_includes_default"
-if test "x$ac_cv_header_ciao_prolog_h" = x""yes; then :
+if test "x$ac_cv_header_ciao_prolog_h" = xyes; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Ciao Prolog version x.y.z or later" >&5
 $as_echo_n "checking for Ciao Prolog version x.y.z or later... " >&6; }
                   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <ciao_prolog.h>
 
 int
 main() {
   return 0;
 }
+
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -13660,7 +11995,7 @@ then
 set dummy gprolog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_GNU_PROLOG+set}" = set; then :
+if ${ac_cv_prog_GNU_PROLOG+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$GNU_PROLOG"; then
@@ -13696,7 +12031,7 @@ fi
   if test x"$GNU_PROLOG" = xgprolog
   then
     ac_fn_cxx_check_header_mongrel "$LINENO" "gprolog.h" "ac_cv_header_gprolog_h" "$ac_includes_default"
-if test "x$ac_cv_header_gprolog_h" = x""yes; then :
+if test "x$ac_cv_header_gprolog_h" = xyes; then :
 
 else
   GNU_PROLOG=""
@@ -13728,7 +12063,7 @@ then
 set dummy sicstus; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_sicstus_prolog+set}" = set; then :
+if ${ac_cv_path_sicstus_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $sicstus_prolog in
@@ -13779,7 +12114,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   # We require SICStus Prolog 3.9.1 or later.
   ac_fn_cxx_check_header_mongrel "$LINENO" "sicstus/sicstus.h" "ac_cv_header_sicstus_sicstus_h" "$ac_includes_default"
-if test "x$ac_cv_header_sicstus_sicstus_h" = x""yes; then :
+if test "x$ac_cv_header_sicstus_sicstus_h" = xyes; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SICStus version 3.9.1 or later" >&5
 $as_echo_n "checking for SICStus version 3.9.1 or later... " >&6; }
                   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -13846,11 +12181,11 @@ if test x${swi_prolog_interface_enabled} = xyes
 then
 
 
-# Extract the first word of "swipl", so it can be a program name with args.
-set dummy swipl; ac_word=$2
+# Extract the first word of "swipl$EXEEXT", so it can be a program name with args.
+set dummy swipl$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then :
+if ${ac_cv_path_swi_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog in
@@ -13888,11 +12223,11 @@ fi
 
 if test -z $swi_prolog
 then
-  # Extract the first word of "swi-prolog", so it can be a program name with args.
-set dummy swi-prolog; ac_word=$2
+  # Extract the first word of "swi-prolog$EXEEXT", so it can be a program name with args.
+set dummy swi-prolog$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then :
+if ${ac_cv_path_swi_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog in
@@ -13930,11 +12265,11 @@ fi
 
   if test -z $swi_prolog
   then
-    # Extract the first word of "pl", so it can be a program name with args.
-set dummy pl; ac_word=$2
+    # Extract the first word of "pl$EXEEXT", so it can be a program name with args.
+set dummy pl$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then :
+if ${ac_cv_path_swi_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog in
@@ -13972,11 +12307,11 @@ fi
 
     if test -z $swi_prolog
     then
-      # Extract the first word of "plcon", so it can be a program name with args.
-set dummy plcon; ac_word=$2
+      # Extract the first word of "plcon$EXEEXT", so it can be a program name with args.
+set dummy plcon$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog+set}" = set; then :
+if ${ac_cv_path_swi_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog in
@@ -14017,18 +12352,18 @@ fi
 fi
 if test x$swi_prolog != x
 then
-  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\(.*\)";/\1/'`
-  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";/\1/'`
-  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";/\1/'`
-  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";/\1/'`
-  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";/\1/'`
+  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\([a-z]:\)\{0,1\}\(.*\)";.*/\2/'`
+  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";.*/\1/'`
+  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";.*/\1/'`
+  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";.*/\1/'`
+  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";.*/\1/'`
 
 
-  # Extract the first word of "swipl-ld", so it can be a program name with args.
-set dummy swipl-ld; ac_word=$2
+  # Extract the first word of "swipl-ld$EXEEXT", so it can be a program name with args.
+set dummy swipl-ld$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog_ld+set}" = set; then :
+if ${ac_cv_path_swi_prolog_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog_ld in
@@ -14066,11 +12401,11 @@ fi
 
   if test -z $swi_prolog_ld
   then
-    # Extract the first word of "plld", so it can be a program name with args.
-set dummy plld; ac_word=$2
+    # Extract the first word of "plld$EXEEXT", so it can be a program name with args.
+set dummy plld$EXEEXT; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_swi_prolog_ld+set}" = set; then :
+if ${ac_cv_path_swi_prolog_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $swi_prolog_ld in
@@ -14111,7 +12446,10 @@ fi
   # In Fedora, SWI-Prolog.h is installed only in /usr/include/pl, which,
   # IMHO, is a bug (https://bugzilla.redhat.com/show_bug.cgi?id=471071).
   SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
-  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} ${swi_prolog_lib} ${swi_prolog_libs}"
+  # If SWI-Prolog was configured with `--disable-libdirversion', then
+  # the files are not in the `${swi_prolog_arch}' subdirectory.  Since
+  # currently there is no way to know that, we look in both places.
+  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} -L${swi_prolog_base}/lib ${swi_prolog_lib} ${swi_prolog_libs}"
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="$CPPFLAGS $SWI_PROLOG_INCLUDE_OPTIONS"
   ac_ext=cpp
@@ -14122,11 +12460,12 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   # We require SWI-Prolog 5.6.0 or later.
   ac_fn_cxx_check_header_mongrel "$LINENO" "SWI-Prolog.h" "ac_cv_header_SWI_Prolog_h" "$ac_includes_default"
-if test "x$ac_cv_header_SWI_Prolog_h" = x""yes; then :
+if test "x$ac_cv_header_SWI_Prolog_h" = xyes; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SWI-Prolog version 5.6.0 or later" >&5
 $as_echo_n "checking for SWI-Prolog version 5.6.0 or later... " >&6; }
                   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
+
 #include <SWI-Prolog.h>
 
 int
@@ -14138,6 +12477,7 @@ main() {
   ;
   return 0;
 }
+
 _ACEOF
 if ac_fn_cxx_try_compile "$LINENO"; then :
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -14203,7 +12543,7 @@ then
 set dummy xsb; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_xsb_prolog+set}" = set; then :
+if ${ac_cv_path_xsb_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $xsb_prolog in
@@ -14284,7 +12624,7 @@ then
 set dummy yap; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_path_yap_prolog+set}" = set; then :
+if ${ac_cv_path_yap_prolog+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $yap_prolog in
@@ -14335,7 +12675,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
   # Check for YAP's foreign language interface header file.
   ac_fn_cxx_check_header_mongrel "$LINENO" "Yap/c_interface.h" "ac_cv_header_Yap_c_interface_h" "$ac_includes_default"
-if test "x$ac_cv_header_Yap_c_interface_h" = x""yes; then :
+if test "x$ac_cv_header_Yap_c_interface_h" = xyes; then :
 
 else
   yap_prolog=""
@@ -14378,7 +12718,7 @@ else
 fi
 
 
-# Test if *any* Prolog system has to be built.
+# Test if some Prolog interfaces have to be built.
 if test x$build_ciao_prolog_interface = xyes \
 || test x$build_gnu_prolog_interface = xyes \
 || test x$build_sicstus_prolog_interface = xyes \
@@ -14406,7 +12746,7 @@ then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU M4 that supports accurate traces" >&5
 $as_echo_n "checking for GNU M4 that supports accurate traces... " >&6; }
-if test "${ac_cv_path_M4+set}" = set; then :
+if ${ac_cv_path_M4+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f conftest.m4f
@@ -14435,8 +12775,8 @@ do
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_M4"; then
-    as_fn_error "no acceptable m4 could be found in \$PATH.
-GNU M4 1.4.5 or later is required; 1.4.11 is recommended" "$LINENO" 5
+    as_fn_error $? "no acceptable m4 could be found in \$PATH.
+GNU M4 1.4.5 or later is required; 1.4.11 or later is recommended" "$LINENO" 5
   fi
 else
   ac_cv_path_M4=$M4
@@ -14448,7 +12788,7 @@ $as_echo "$ac_cv_path_M4" >&6; }
   M4=$ac_cv_path_M4
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking how m4 supports trace files" >&5
 $as_echo_n "checking how m4 supports trace files... " >&6; }
-if test "${ac_cv_prog_gnu_m4_debugfile+set}" = set; then :
+if ${ac_cv_prog_gnu_m4_debugfile+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case `$M4 --help < /dev/null 2>&1` in
@@ -14551,7 +12891,7 @@ fi
 case x"${enableval}" in
 xyes | x)
   ai_one_per_line=`echo "${available_instantiations}" | sed -e 's/ *@ */\n/g' -e 's/ *\([A-Z]\)/\1/g'`
-  as_fn_error "
+  as_fn_error $? "
 --enable-instantiations needs at least one argument chosen among none,
 all, and an @-separated list of instantiation specifiers included
 in the following list:
@@ -14574,7 +12914,7 @@ $as_echo "none" >&6; }
   required_instantiations=`echo "${enableval}" | sed -e 's/[	 ][	 ]*/ /g' -e 's/[ ]*\([@<>,]\)/\1/g' -e 's/\([@<>,]\)[ ]*/\1/g' -e 's/>>/> >/g' -e 's/^[ ]//g' -e 's/[ ]$//g'`
   # Check the specified instantiations for validity.
   ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS -I${srcdir}"
+  CPPFLAGS="$CPPFLAGS -I${srcdir} ${gmp_include_options}"
   old_IFS="${IFS}"
   IFS=@
   set -- ${required_instantiations}
@@ -14599,7 +12939,7 @@ fi
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     if test x${valid_instantiation} != xyes
     then
-      as_fn_error "invalid instantiation ${instantiation}" "$LINENO" 5
+      as_fn_error $? "invalid instantiation ${instantiation}" "$LINENO" 5
     fi
   done
   CPPFLAGS="$ac_save_CPPFLAGS"
@@ -14648,7 +12988,7 @@ yes)
 set dummy valgrind; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_VALGRIND+set}" = set; then :
+if ${ac_cv_prog_VALGRIND+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$VALGRIND"; then
@@ -14687,7 +13027,7 @@ fi
 $as_echo "yes" >&6; }
     enable_valgrind_tests=yes
   else
-    as_fn_error "bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" "$LINENO" 5
+    as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, cannot find Valgrind" "$LINENO" 5
   fi
   ;;
 no)
@@ -14696,7 +13036,7 @@ $as_echo "no" >&6; }
   enable_valgrind_tests=no
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-valgrind-tests, needs yes or no" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-valgrind-tests, needs yes or no" "$LINENO" 5
   ;;
 esac
  if test x"$enable_valgrind_tests" = xyes; then
@@ -14726,7 +13066,7 @@ quick)
 $as_echo "quick" >&6; }
   ;;
 *)
-  as_fn_error "bad value ${enableval} for --enable-check, needs thorough or quick" "$LINENO" 5
+  as_fn_error $? "bad value ${enableval} for --enable-check, needs thorough or quick" "$LINENO" 5
   ;;
 esac
  if test x"$enableval" = xthorough; then
@@ -14748,8 +13088,8 @@ esac
 
 
 
-macro_version='2.2.10'
-macro_revision='1.3175'
+macro_version='2.4.2'
+macro_revision='1.3337'
 
 
 
@@ -14789,7 +13129,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
 $as_echo_n "checking how to print strings... " >&6; }
 # Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
    test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
   ECHO='print -r --'
 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
@@ -14836,7 +13176,7 @@ esac
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
 $as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if test "${ac_cv_path_SED+set}" = set; then :
+if ${ac_cv_path_SED+:} false; then :
   $as_echo_n "(cached) " >&6
 else
             ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
@@ -14891,7 +13231,7 @@ esac
   done
 IFS=$as_save_IFS
   if test -z "$ac_cv_path_SED"; then
-    as_fn_error "no acceptable sed could be found in \$PATH" "$LINENO" 5
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
   fi
 else
   ac_cv_path_SED=$SED
@@ -14982,7 +13322,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -15019,10 +13359,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -15049,7 +13389,7 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if test "${lt_cv_path_NM+set}" = set; then :
+if ${lt_cv_path_NM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NM"; then
@@ -15112,7 +13452,7 @@ else
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DUMPBIN"; then
@@ -15156,7 +13496,7 @@ do
 set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DUMPBIN"; then
@@ -15228,7 +13568,7 @@ test -z "$NM" && NM=nm
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
 $as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if test "${lt_cv_nm_interface+set}" = set; then :
+if ${lt_cv_nm_interface+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_nm_interface="BSD nm"
@@ -15263,7 +13603,7 @@ fi
 # find the maximum length of command line arguments
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
 $as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+if ${lt_cv_sys_max_cmd_len+:} false; then :
   $as_echo_n "(cached) " >&6
 else
     i=0
@@ -15326,6 +13666,11 @@ else
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -15365,7 +13710,7 @@ else
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -15408,8 +13753,8 @@ $as_echo_n "checking whether the shell understands some XSI constructs... " >&6;
 # Try some XSI features
 xsi_shell=no
 ( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
     && eval 'test $(( 1 + 1 )) -eq 2 \
     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
   && xsi_shell=yes
@@ -15458,9 +13803,83 @@ esac
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
+$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
+if ${lt_cv_to_host_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
+    ;;
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
+    ;;
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+
+fi
+
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
+$as_echo "$lt_cv_to_host_file_cmd" >&6; }
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
+$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
+if ${lt_cv_to_tool_file_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  #assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
+
+fi
+
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
+$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
+
+
+
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
 $as_echo_n "checking for $LD option to reload object files... " >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then :
+if ${lt_cv_ld_reload_flag+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_reload_flag='-r'
@@ -15474,6 +13893,11 @@ case $reload_flag in
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
   darwin*)
     if test "$GCC" = yes; then
       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
@@ -15496,7 +13920,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OBJDUMP"; then
@@ -15536,7 +13960,7 @@ if test -z "$ac_cv_prog_OBJDUMP"; then
 set dummy objdump; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OBJDUMP"; then
@@ -15595,7 +14019,7 @@ test -z "$OBJDUMP" && OBJDUMP=objdump
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
 $as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then :
+if ${lt_cv_deplibs_check_method+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_file_magic_cmd='$MAGIC_CMD'
@@ -15715,7 +14139,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -15797,6 +14221,21 @@ esac
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
 $as_echo "$lt_cv_deplibs_check_method" >&6; }
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -15812,12 +14251,165 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
 
 
 
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
+$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
+if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
+$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+
+
+
+
+
+
 if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
+  for ac_prog in ar
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then :
+if ${ac_cv_prog_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$AR"; then
@@ -15830,7 +14422,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -15850,14 +14442,18 @@ $as_echo "no" >&6; }
 fi
 
 
+    test -n "$AR" && break
+  done
 fi
-if test -z "$ac_cv_prog_AR"; then
+if test -z "$AR"; then
   ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
+  for ac_prog in ar
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+if ${ac_cv_prog_ac_ct_AR+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_AR"; then
@@ -15870,7 +14466,7 @@ do
   test -z "$as_dir" && as_dir=.
     for ac_exec_ext in '' $ac_executable_extensions; do
   if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
+    ac_cv_prog_ac_ct_AR="$ac_prog"
     $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
@@ -15889,6 +14485,10 @@ else
 $as_echo "no" >&6; }
 fi
 
+
+  test -n "$ac_ct_AR" && break
+done
+
   if test "x$ac_ct_AR" = x; then
     AR="false"
   else
@@ -15900,16 +14500,72 @@ ac_tool_warned=yes ;;
 esac
     AR=$ac_ct_AR
   fi
-else
-  AR="$ac_cv_prog_AR"
 fi
 
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
+$as_echo_n "checking for archiver @FILE support... " >&6; }
+if ${lt_cv_ar_at_file+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ar_at_file=no
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
+      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
+  (eval $lt_ar_try) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
 
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
+$as_echo "$lt_cv_ar_at_file" >&6; }
 
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
 
 
 
@@ -15922,7 +14578,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then :
+if ${ac_cv_prog_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
@@ -15962,7 +14618,7 @@ if test -z "$ac_cv_prog_STRIP"; then
 set dummy strip; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_STRIP"; then
@@ -16021,7 +14677,7 @@ if test -n "$ac_tool_prefix"; then
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then :
+if ${ac_cv_prog_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$RANLIB"; then
@@ -16061,7 +14717,7 @@ if test -z "$ac_cv_prog_RANLIB"; then
 set dummy ranlib; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_RANLIB"; then
@@ -16123,13 +14779,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -16190,7 +14846,7 @@ compiler=$CC
 # Check for command to grab the raw symbol name followed by C symbol from nm.
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+if ${lt_cv_sys_global_symbol_pipe+:} false; then :
   $as_echo_n "(cached) " >&6
 else
 
@@ -16251,8 +14907,8 @@ esac
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -16276,6 +14932,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK '"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -16288,6 +14945,7 @@ for ac_symprfx in "" "_"; do
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[	 ]\($symcode$symcode*\)[	 ][	 ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
   fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -16329,6 +14987,18 @@ _LT_EOF
       if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
 	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
 	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -16340,7 +15010,7 @@ _LT_EOF
 	  cat <<_LT_EOF >> conftest.$ac_ext
 
 /* The mapping between symbol names and symbols.  */
-const struct {
+LT_DLSYM_CONST struct {
   const char *name;
   void       *address;
 }
@@ -16366,8 +15036,8 @@ static const void *lt_preloaded_setup() {
 _LT_EOF
 	  # Now try linking the two files.
 	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
 	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
@@ -16377,8 +15047,8 @@ _LT_EOF
   test $ac_status = 0; } && test -s conftest${ac_exeext}; then
 	    pipe_works=yes
 	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
 	else
 	  echo "cannot find nm_test_func in $nlist" >&5
 	fi
@@ -16415,6 +15085,18 @@ else
 $as_echo "ok" >&6; }
 fi
 
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
+
+
+
+
+
 
 
 
@@ -16436,6 +15118,43 @@ fi
 
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
+$as_echo_n "checking for sysroot... " >&6; }
+
+# Check whether --with-sysroot was given.
+if test "${with_sysroot+set}" = set; then :
+  withval=$with_sysroot;
+else
+  with_sysroot=no
+fi
+
+
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5
+$as_echo "${with_sysroot}" >&6; }
+   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
+   ;;
+esac
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
+$as_echo "${lt_sysroot:-no}" >&6; }
+
+
+
+
+
 # Check whether --enable-libtool-lock was given.
 if test "${enable_libtool_lock+set}" = set; then :
   enableval=$enable_libtool_lock;
@@ -16561,7 +15280,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   CFLAGS="$CFLAGS -belf"
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
 $as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then :
+if ${lt_cv_cc_needs_belf+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_ext=c
@@ -16602,7 +15321,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; }
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
@@ -16613,7 +15332,20 @@ sparc*-*solaris*)
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -16627,7 +15359,124 @@ sparc*-*solaris*)
   ;;
 esac
 
-need_locks="$enable_libtool_lock"
+need_locks="$enable_libtool_lock"
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
+set dummy ${ac_tool_prefix}mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$MANIFEST_TOOL"; then
+  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
+if test -n "$MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
+$as_echo "$MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
+  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
+  # Extract the first word of "mt", so it can be a program name with args.
+set dummy mt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_MANIFEST_TOOL"; then
+  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
+if test -n "$ac_ct_MANIFEST_TOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
+$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_MANIFEST_TOOL" = x; then
+    MANIFEST_TOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
+  fi
+else
+  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
+fi
+
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
+$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
+if ${lt_cv_path_mainfest_tool+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&5
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
+$as_echo "$lt_cv_path_mainfest_tool" >&6; }
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+
+
+
+
 
 
   case $host_os in
@@ -16637,7 +15486,7 @@ need_locks="$enable_libtool_lock"
 set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$DSYMUTIL"; then
@@ -16677,7 +15526,7 @@ if test -z "$ac_cv_prog_DSYMUTIL"; then
 set dummy dsymutil; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_DSYMUTIL"; then
@@ -16729,7 +15578,7 @@ fi
 set dummy ${ac_tool_prefix}nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$NMEDIT"; then
@@ -16769,7 +15618,7 @@ if test -z "$ac_cv_prog_NMEDIT"; then
 set dummy nmedit; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_NMEDIT"; then
@@ -16821,7 +15670,7 @@ fi
 set dummy ${ac_tool_prefix}lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_LIPO+set}" = set; then :
+if ${ac_cv_prog_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$LIPO"; then
@@ -16861,7 +15710,7 @@ if test -z "$ac_cv_prog_LIPO"; then
 set dummy lipo; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_LIPO"; then
@@ -16913,7 +15762,7 @@ fi
 set dummy ${ac_tool_prefix}otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL+set}" = set; then :
+if ${ac_cv_prog_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL"; then
@@ -16953,7 +15802,7 @@ if test -z "$ac_cv_prog_OTOOL"; then
 set dummy otool; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL"; then
@@ -17005,7 +15854,7 @@ fi
 set dummy ${ac_tool_prefix}otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$OTOOL64"; then
@@ -17045,7 +15894,7 @@ if test -z "$ac_cv_prog_OTOOL64"; then
 set dummy otool64; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_OTOOL64"; then
@@ -17120,7 +15969,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
 $as_echo_n "checking for -single_module linker flag... " >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+if ${lt_cv_apple_cc_single_mod+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_apple_cc_single_mod=no
@@ -17136,7 +15985,13 @@ else
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&5
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&5
@@ -17147,9 +16002,10 @@ else
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
 $as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+if ${lt_cv_ld_exported_symbols_list+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_exported_symbols_list=no
@@ -17179,9 +16035,10 @@ rm -f core conftest.err conftest.$ac_objext \
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
 $as_echo_n "checking for -force_load linker flag... " >&6; }
-if test "${lt_cv_ld_force_load+set}" = set; then :
+if ${lt_cv_ld_force_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_ld_force_load=no
@@ -17200,7 +16057,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&5
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&5
@@ -17250,7 +16109,7 @@ for ac_header in dlfcn.h
 do :
   ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
 "
-if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+if test "x$ac_cv_header_dlfcn_h" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
@@ -17261,6 +16120,16 @@ done
 
 
 
+func_stripname_cnf ()
+{
+  case ${2} in
+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+} # func_stripname_cnf
+
+
+
 
 
 # Set options
@@ -17337,7 +16206,22 @@ fi
 
 # Check whether --with-pic was given.
 if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
+  withval=$with_pic; lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
 else
   pic_mode=default
 fi
@@ -17415,6 +16299,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool'
 
 
 
+
+
+
+
 test -z "$LN_S" && LN_S="ln -s"
 
 
@@ -17436,7 +16324,7 @@ fi
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
 $as_echo_n "checking for objdir... " >&6; }
-if test "${lt_cv_objdir+set}" = set; then :
+if ${lt_cv_objdir+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   rm -f .libs 2>/dev/null
@@ -17514,7 +16402,7 @@ file_magic*)
   if test "$file_magic_cmd" = '$MAGIC_CMD'; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -17580,7 +16468,7 @@ if test -z "$lt_cv_path_MAGIC_CMD"; then
   if test -n "$ac_tool_prefix"; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
 $as_echo_n "checking for file... " >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+if ${lt_cv_path_MAGIC_CMD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   case $MAGIC_CMD in
@@ -17722,7 +16610,7 @@ if test "$GCC" = yes; then
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_rtti_exceptions=no
@@ -17775,8 +16663,6 @@ fi
 lt_prog_compiler_pic=
 lt_prog_compiler_static=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   if test "$GCC" = yes; then
     lt_prog_compiler_wl='-Wl,'
@@ -17876,7 +16762,9 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
+      if test -n "$lt_prog_compiler_pic"; then
+        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
+      fi
       ;;
     esac
   else
@@ -17941,6 +16829,12 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	lt_prog_compiler_pic='--shared'
 	lt_prog_compiler_static='--static'
 	;;
+      nagfor*)
+	# NAG Fortran compiler
+	lt_prog_compiler_wl='-Wl,-Wl,,'
+	lt_prog_compiler_pic='-PIC'
+	lt_prog_compiler_static='-Bstatic'
+	;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
@@ -17961,18 +16855,33 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  lt_prog_compiler_pic='-KPIC'
+	  lt_prog_compiler_static='-Bstatic'
+	  lt_prog_compiler_wl='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  lt_prog_compiler_pic='-KPIC'
 	  lt_prog_compiler_static='-Bstatic'
 	  lt_prog_compiler_wl='-Wl,'
 	  ;;
+        *Intel*\ [CF]*Compiler*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fPIC'
+	  lt_prog_compiler_static='-static'
+	  ;;
+	*Portland\ Group*)
+	  lt_prog_compiler_wl='-Wl,'
+	  lt_prog_compiler_pic='-fpic'
+	  lt_prog_compiler_static='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -18060,13 +16969,17 @@ case $host_os in
     lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
+$as_echo "$lt_cv_prog_compiler_pic" >&6; }
+lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
 
 #
 # Check to make sure the PIC flag actually works.
@@ -18074,7 +16987,7 @@ $as_echo "$lt_prog_compiler_pic" >&6; }
 if test -n "$lt_prog_compiler_pic"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works=no
@@ -18127,13 +17040,18 @@ fi
 
 
 
+
+
+
+
+
 #
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works=no
@@ -18176,7 +17094,7 @@ fi
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -18231,7 +17149,7 @@ $as_echo "$lt_cv_prog_compiler_c_o" >&6; }
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o=no
@@ -18325,7 +17243,6 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
   hardcode_direct=no
   hardcode_direct_absolute=no
   hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
   hardcode_libdir_separator=
   hardcode_minus_L=no
   hardcode_shlibpath_var=unsupported
@@ -18477,7 +17394,8 @@ _LT_EOF
       allow_undefined_flag=unsupported
       always_export_symbols=no
       enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -18525,7 +17443,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -18574,8 +17492,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-	  hardcode_libdir_flag_spec=
-	  hardcode_libdir_flag_spec_ld='-rpath $libdir'
+	  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
@@ -18595,8 +17512,8 @@ _LT_EOF
 	archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -18614,8 +17531,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -18661,8 +17578,8 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	ld_shlibs=no
       fi
@@ -18792,7 +17709,13 @@ _LT_EOF
 	allow_undefined_flag='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+        if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -18805,22 +17728,29 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
 
         hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
         archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
@@ -18832,7 +17762,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	 if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath_+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -18845,22 +17781,29 @@ main ()
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath_"; then
+    lt_cv_aix_libpath_="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath_
+fi
 
 	 hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
 	  # Warning - without using the other run time loading flags,
@@ -18905,20 +17848,64 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	always_export_symbols=yes
+	file_list_spec='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
+	enable_shared_with_static_runtimes=yes
+	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	old_postinstall_cmds='chmod 644 $oldlib'
+	postlink_cmds='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	hardcode_libdir_flag_spec=' '
+	allow_undefined_flag=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	old_archive_from_new_cmds='true'
+	# FIXME: Should let the user specify the lib program.
+	old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	enable_shared_with_static_runtimes=yes
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -18930,6 +17917,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   hardcode_shlibpath_var=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
   else
     whole_archive_flag_spec=''
   fi
@@ -18958,10 +17946,6 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       hardcode_shlibpath_var=no
       ;;
 
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -18974,7 +17958,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       hardcode_direct=yes
       hardcode_minus_L=yes
@@ -18983,7 +17967,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       hardcode_shlibpath_var=no
@@ -18991,7 +17975,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux9*)
       if test "$GCC" = yes; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
 	archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
@@ -19007,13 +17991,12 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 
     hpux10*)
       if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
       if test "$with_gnu_ld" = no; then
 	hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-	hardcode_libdir_flag_spec_ld='+b $libdir'
 	hardcode_libdir_separator=:
 	hardcode_direct=yes
 	hardcode_direct_absolute=yes
@@ -19031,10 +18014,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	  archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	esac
       else
@@ -19051,7 +18034,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
 $as_echo_n "checking if $CC understands -b... " >&6; }
-if test "${lt_cv_prog_compiler__b+set}" = set; then :
+if ${lt_cv_prog_compiler__b+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler__b=no
@@ -19113,23 +18096,36 @@ fi
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	# This should be the same for all languages, so no per-tag cache variable.
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
+$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
+if ${lt_cv_irix_exported_symbol+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-int foo(void) {}
+int foo (void) { return 0; }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
+  lt_cv_irix_exported_symbol=yes
+else
+  lt_cv_irix_exported_symbol=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
+           LDFLAGS="$save_LDFLAGS"
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
+$as_echo "$lt_cv_irix_exported_symbol" >&6; }
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
       else
 	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
@@ -19214,7 +18210,7 @@ rm -f core conftest.err conftest.$ac_objext \
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-	archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
       else
 	allow_undefined_flag=' -expect_unresolved \*'
@@ -19233,9 +18229,9 @@ rm -f core conftest.err conftest.$ac_objext \
       no_undefined_flag=' -z defs'
       if test "$GCC" = yes; then
 	wlarc='${wl}'
-	archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
 	case `$CC -V 2>&1` in
 	*"Compilers 5.0"*)
@@ -19423,7 +18419,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -19624,11 +18620,6 @@ esac
 
 
 
-
-
-
-
-
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -19718,7 +18709,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -19727,7 +18718,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -19792,7 +18783,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -19811,8 +18802,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -19845,13 +18837,71 @@ cygwin* | mingw* | pw32* | cegcc*)
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -19872,7 +18922,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -19880,10 +18930,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -19891,7 +18937,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -19909,7 +18955,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -19929,17 +18975,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -20000,7 +19047,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -20016,7 +19063,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -20053,9 +19100,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -20065,7 +19112,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -20137,7 +19184,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -20206,7 +19253,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -20231,7 +19278,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -20255,7 +19302,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -20286,7 +19333,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -20296,7 +19343,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -20485,7 +19532,7 @@ else
   # if libdl is installed we need to link against it
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -20519,7 +19566,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
 
@@ -20533,12 +19580,12 @@ fi
 
   *)
     ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = x""yes; then :
+if test "x$ac_cv_func_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
 $as_echo_n "checking for shl_load in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+if ${ac_cv_lib_dld_shl_load+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -20572,16 +19619,16 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
 $as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
   lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
 else
   ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = x""yes; then :
+if test "x$ac_cv_func_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
 $as_echo_n "checking for dlopen in -ldl... " >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+if ${ac_cv_lib_dl_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -20615,12 +19662,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
 $as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
 $as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+if ${ac_cv_lib_svld_dlopen+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -20654,12 +19701,12 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
 $as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
   lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
 else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
 $as_echo_n "checking for dld_link in -ldld... " >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+if ${ac_cv_lib_dld_dld_link+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -20693,7 +19740,7 @@ LIBS=$ac_check_lib_save_LIBS
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
 $as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
   lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
 fi
 
@@ -20734,7 +19781,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
 $as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then :
+if ${lt_cv_dlopen_self+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -20787,10 +19834,10 @@ else
 /* When -fvisbility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
+int fnord () __attribute__((visibility("default")));
 #endif
 
-void fnord () { int i=42; }
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -20840,7 +19887,7 @@ $as_echo "$lt_cv_dlopen_self" >&6; }
       wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then :
+if ${lt_cv_dlopen_self_static+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   	  if test "$cross_compiling" = yes; then :
@@ -20893,10 +19940,10 @@ else
 /* When -fvisbility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
+int fnord () __attribute__((visibility("default")));
 #endif
 
-void fnord () { int i=42; }
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -21077,7 +20124,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
 $as_echo_n "checking how to run the C++ preprocessor... " >&6; }
 if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  if ${ac_cv_prog_CXXCPP+:} false; then :
   $as_echo_n "(cached) " >&6
 else
       # Double quotes because CXXCPP needs to be expanded
@@ -21107,7 +20154,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -21123,11 +20170,11 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
   break
 fi
@@ -21166,7 +20213,7 @@ else
   # Broken: fails on valid input.
 continue
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
   # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
@@ -21182,18 +20229,18 @@ else
 ac_preproc_ok=:
 break
 fi
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.err conftest.i conftest.$ac_ext
 
 done
 # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
+rm -f conftest.i conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then :
 
 else
   { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
+as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5; }
 fi
 
 ac_ext=cpp
@@ -21221,7 +20268,6 @@ export_dynamic_flag_spec_CXX=
 hardcode_direct_CXX=no
 hardcode_direct_absolute_CXX=no
 hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
 hardcode_libdir_separator_CXX=
 hardcode_minus_L_CXX=no
 hardcode_shlibpath_var_CXX=unsupported
@@ -21288,6 +20334,7 @@ $RM -r conftest*
 
   # Allow CC to be a program name with arguments.
   lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
   lt_save_LD=$LD
   lt_save_GCC=$GCC
   GCC=$GXX
@@ -21305,6 +20352,7 @@ $RM -r conftest*
   fi
   test -z "${LDCXX+set}" || LD=$LDCXX
   CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
   compiler=$CC
   compiler_CXX=$CC
   for cc_temp in $compiler""; do
@@ -21378,7 +20426,7 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
 $as_echo_n "checking for non-GNU ld... " >&6; }
 fi
-if test "${lt_cv_path_LD+set}" = set; then :
+if ${lt_cv_path_LD+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -z "$LD"; then
@@ -21415,10 +20463,10 @@ else
   { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
 $as_echo "no" >&6; }
 fi
-test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+if ${lt_cv_prog_gnu_ld+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   # I'd rather use --version here, but apparently some GNU lds only accept -v.
@@ -21444,8 +20492,8 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
       if test "$with_gnu_ld" = yes; then
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
         hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
         export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
@@ -21587,7 +20635,13 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
           allow_undefined_flag_CXX='-berok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
-          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+          if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -21600,22 +20654,29 @@ main ()
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
 
           hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 
@@ -21628,7 +20689,13 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           else
 	    # Determine the default libpath from the value encoded in an
 	    # empty executable.
-	    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+	    if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  if ${lt_cv_aix_libpath__CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
@@ -21641,22 +20708,29 @@ main ()
 _ACEOF
 if ac_fn_cxx_try_link "$LINENO"; then :
 
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
+  lt_aix_libpath_sed='
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }'
+  lt_cv_aix_libpath__CXX=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+  if test -z "$lt_cv_aix_libpath__CXX"; then
+    lt_cv_aix_libpath__CXX="/usr/lib:/lib"
+  fi
+
+fi
+
+  aix_libpath=$lt_cv_aix_libpath__CXX
+fi
 
 	    hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
 	    # Warning - without using the other run time loading flags,
@@ -21699,29 +20773,75 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         ;;
 
       cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-        # as there is no search path for DLLs.
-        hardcode_libdir_flag_spec_CXX='-L$libdir'
-        export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
-        allow_undefined_flag_CXX=unsupported
-        always_export_symbols_CXX=no
-        enable_shared_with_static_runtimes_CXX=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          ld_shlibs_CXX=no
-        fi
-        ;;
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX=' '
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=yes
+	  file_list_spec_CXX='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=".dll"
+	  # FIXME: Setting linknames here is a bad hack.
+	  archive_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	  archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	    else
+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	    fi~
+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	    linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
+	  enable_shared_with_static_runtimes_CXX=yes
+	  # Don't use ranlib
+	  old_postinstall_cmds_CXX='chmod 644 $oldlib'
+	  postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
+	    case $lt_outputfile in
+	      *.exe|*.EXE) ;;
+	      *)
+		lt_outputfile="$lt_outputfile.exe"
+		lt_tool_outputfile="$lt_tool_outputfile.exe"
+		;;
+	    esac~
+	    func_to_tool_file "$lt_outputfile"~
+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	      $RM "$lt_outputfile.manifest";
+	    fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  hardcode_libdir_flag_spec_CXX='-L$libdir'
+	  export_dynamic_flag_spec_CXX='${wl}--export-all-symbols'
+	  allow_undefined_flag_CXX=unsupported
+	  always_export_symbols_CXX=no
+	  enable_shared_with_static_runtimes_CXX=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file (1st line
+	    # is EXPORTS), use it as is; otherwise, prepend...
+	    archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      cp $export_symbols $output_objdir/$soname.def;
+	    else
+	      echo EXPORTS > $output_objdir/$soname.def;
+	      cat $export_symbols >> $output_objdir/$soname.def;
+	    fi~
+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    ld_shlibs_CXX=no
+	  fi
+	  ;;
+	esac
+	;;
       darwin* | rhapsody*)
 
 
@@ -21731,6 +20851,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
   hardcode_shlibpath_var_CXX=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+
   else
     whole_archive_flag_spec_CXX=''
   fi
@@ -21775,7 +20896,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
         esac
         ;;
 
-      freebsd[12]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         ld_shlibs_CXX=no
@@ -21827,7 +20948,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
             ;;
           *)
             if test "$GXX" = yes; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               ld_shlibs_CXX=no
@@ -21898,10 +21019,10 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	        esac
 	      fi
@@ -21942,9 +21063,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    link_all_deplibs_CXX=yes
@@ -22222,7 +21343,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          archive_cmds_CXX='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -22309,9 +21430,9 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
 	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
@@ -22446,6 +21567,14 @@ private:
 };
 _LT_EOF
 
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -22459,7 +21588,7 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
+    case ${prev}${p} in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
@@ -22468,13 +21597,22 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
           test $p = "-R"; then
 	 prev=$p
 	 continue
-       else
-	 prev=
        fi
 
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
        if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
+	 case ${prev} in
+	 -L | -R)
 	   # Internal compiler library paths should come after those
 	   # provided the user.  The postdeps already come after the
 	   # user supplied libs so there is no need to process them.
@@ -22494,8 +21632,10 @@ if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
 	   postdeps_CXX="${postdeps_CXX} ${prev}${p}"
 	 fi
        fi
+       prev=
        ;;
 
+    *.lto.$objext) ;; # Ignore GCC LTO objects
     *.$objext)
        # This assumes that the test object file only shows up
        # once in the compiler output.
@@ -22531,6 +21671,7 @@ else
 fi
 
 $RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
 
 # PORTME: override above test on systems where it is broken
 case $host_os in
@@ -22631,8 +21772,6 @@ fi
 lt_prog_compiler_pic_CXX=
 lt_prog_compiler_static_CXX=
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -22736,6 +21875,11 @@ $as_echo_n "checking for $compiler option to produce PIC... " >&6; }
 	  ;;
 	esac
 	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+	;;
       dgux*)
 	case $cc_basename in
 	  ec++*)
@@ -22953,10 +22097,17 @@ case $host_os in
     lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
     ;;
 esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
-
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
+lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
 
 #
 # Check to make sure the PIC flag actually works.
@@ -22964,7 +22115,7 @@ $as_echo "$lt_prog_compiler_pic_CXX" >&6; }
 if test -n "$lt_prog_compiler_pic_CXX"; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_pic_works_CXX=no
@@ -23014,13 +22165,15 @@ fi
 
 
 
+
+
 #
 # Check to make sure the static flag actually works.
 #
 wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_static_works_CXX=no
@@ -23060,7 +22213,7 @@ fi
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -23112,7 +22265,7 @@ $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
 
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+if ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_prog_compiler_c_o_CXX=no
@@ -23191,6 +22344,7 @@ fi
 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
 
   export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
   case $host_os in
   aix[4-9]*)
     # If we're using GNU nm, then we don't want the "-C" option.
@@ -23205,15 +22359,22 @@ $as_echo_n "checking whether the $compiler linker ($LD) supports shared librarie
     ;;
   pw32*)
     export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
+    ;;
   cygwin* | mingw* | cegcc*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    case $cc_basename in
+    cl*)
+      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
+      ;;
+    esac
+    ;;
   *)
     export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    ;;
   esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
 $as_echo "$ld_shlibs_CXX" >&6; }
@@ -23245,7 +22406,7 @@ x|xyes)
       # to ld, don't add -lc before -lgcc.
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if test "${lt_cv_archive_cmds_need_lc_CXX+set}" = set; then :
+if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   $RM conftest*
@@ -23356,8 +22517,6 @@ esac
 
 
 
-
-
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
 $as_echo_n "checking dynamic linker characteristics... " >&6; }
 
@@ -23383,7 +22542,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -23392,7 +22551,7 @@ aix3*)
   ;;
 
 aix[4-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -23457,7 +22616,7 @@ beos*)
   ;;
 
 bsdi[45]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -23476,8 +22635,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -23509,13 +22669,71 @@ cygwin* | mingw* | pw32* | cegcc*)
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -23535,7 +22753,7 @@ darwin* | rhapsody*)
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -23543,10 +22761,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -23554,7 +22768,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[123]*) objformat=aout ;;
+    freebsd[23].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -23572,7 +22786,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[01]* | freebsdelf3.[01]*)
@@ -23592,17 +22806,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -23663,7 +22878,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[3-9]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -23679,7 +22894,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -23716,9 +22931,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -23728,7 +22943,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   shlibpath_overrides_runpath=no
 
   # Some binutils ld are patched to set DT_RUNPATH
-  if test "${lt_cv_shlibpath_overrides_runpath+set}" = set; then :
+  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   lt_cv_shlibpath_overrides_runpath=no
@@ -23800,7 +23015,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -23869,7 +23084,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -23894,7 +23109,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -23918,7 +23133,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -23949,7 +23164,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -23959,7 +23174,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -24069,6 +23284,7 @@ fi
   fi # test -n "$compiler"
 
   CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
   LDCXX=$LD
   LD=$lt_save_LD
   GCC=$lt_save_GCC
@@ -24097,6 +23313,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
 
+
+
         ac_config_commands="$ac_config_commands libtool"
 
 
@@ -24127,7 +23345,7 @@ fi
 set dummy md5sum; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
 $as_echo_n "checking for $ac_word... " >&6; }
-if test "${ac_cv_prog_MD5SUM+set}" = set; then :
+if ${ac_cv_prog_MD5SUM+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   if test -n "$MD5SUM"; then
@@ -24197,8 +23415,7 @@ for ac_header in glpk.h glpk/glpk.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-eval as_val=\$$as_ac_Header
-   if test "x$as_val" = x""yes; then :
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
   cat >>confdefs.h <<_ACEOF
 #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
@@ -24227,14 +23444,14 @@ then
 #endif
 
 "
-if test "x$ac_cv_have_decl_lib_set_print_hook" = x""yes; then :
+if test "x$ac_cv_have_decl_lib_set_print_hook" = xyes; then :
 
 $as_echo "#define PPL_GLPK_HAS_LIB_SET_PRINT_HOOK 1" >>confdefs.h
 
 fi
 
   ac_fn_c_check_func "$LINENO" "_glp_lib_print_hook" "ac_cv_func__glp_lib_print_hook"
-if test "x$ac_cv_func__glp_lib_print_hook" = x""yes; then :
+if test "x$ac_cv_func__glp_lib_print_hook" = xyes; then :
 
 $as_echo "#define PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK 1" >>confdefs.h
 
@@ -24248,7 +23465,7 @@ fi
 #endif
 
 "
-if test "x$ac_cv_have_decl_glp_term_out" = x""yes; then :
+if test "x$ac_cv_have_decl_glp_term_out" = xyes; then :
 
 $as_echo "#define PPL_GLPK_HAS_GLP_TERM_OUT 1" >>confdefs.h
 
@@ -24262,7 +23479,7 @@ fi
 #endif
 
 "
-if test "x$ac_cv_have_decl_glp_term_hook" = x""yes; then :
+if test "x$ac_cv_have_decl_glp_term_hook" = xyes; then :
 
 $as_echo "#define PPL_GLPK_HAS_GLP_TERM_HOOK 1" >>confdefs.h
 
@@ -24284,7 +23501,7 @@ ac_fn_cxx_check_decl "$LINENO" "RLIMIT_DATA" "ac_cv_have_decl_RLIMIT_DATA" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_RLIMIT_DATA" = x""yes; then :
+if test "x$ac_cv_have_decl_RLIMIT_DATA" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24299,7 +23516,7 @@ ac_fn_cxx_check_decl "$LINENO" "RLIMIT_RSS" "ac_cv_have_decl_RLIMIT_RSS" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_RLIMIT_RSS" = x""yes; then :
+if test "x$ac_cv_have_decl_RLIMIT_RSS" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24314,7 +23531,7 @@ ac_fn_cxx_check_decl "$LINENO" "RLIMIT_VMEM" "ac_cv_have_decl_RLIMIT_VMEM" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_RLIMIT_VMEM" = x""yes; then :
+if test "x$ac_cv_have_decl_RLIMIT_VMEM" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24329,7 +23546,7 @@ ac_fn_cxx_check_decl "$LINENO" "RLIMIT_AS" "ac_cv_have_decl_RLIMIT_AS" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_RLIMIT_AS" = x""yes; then :
+if test "x$ac_cv_have_decl_RLIMIT_AS" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24349,7 +23566,7 @@ ac_fn_cxx_check_decl "$LINENO" "getrusage" "ac_cv_have_decl_getrusage" "
 #endif
 
 "
-if test "x$ac_cv_have_decl_getrusage" = x""yes; then :
+if test "x$ac_cv_have_decl_getrusage" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24358,10 +23575,46 @@ fi
 cat >>confdefs.h <<_ACEOF
 #define HAVE_DECL_GETRUSAGE $ac_have_decl
 _ACEOF
+ac_fn_cxx_check_decl "$LINENO" "setrlimit" "ac_cv_have_decl_setrlimit" "
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+"
+if test "x$ac_cv_have_decl_setrlimit" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SETRLIMIT $ac_have_decl
+_ACEOF
+
+
+ac_fn_cxx_check_decl "$LINENO" "setitimer" "ac_cv_have_decl_setitimer" "
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+
+"
+if test "x$ac_cv_have_decl_setitimer" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_SETITIMER $ac_have_decl
+_ACEOF
+
 
 ac_fn_cxx_check_decl "$LINENO" "sigaction" "ac_cv_have_decl_sigaction" "#include <csignal>
 "
-if test "x$ac_cv_have_decl_sigaction" = x""yes; then :
+if test "x$ac_cv_have_decl_sigaction" = xyes; then :
   ac_have_decl=1
 else
   ac_have_decl=0
@@ -24374,7 +23627,7 @@ _ACEOF
 
 # Checks for typedefs, structures, and compiler characteristics.
 ac_fn_cxx_check_type "$LINENO" "timeval" "ac_cv_type_timeval" "$ac_includes_default"
-if test "x$ac_cv_type_timeval" = x""yes; then :
+if test "x$ac_cv_type_timeval" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_TIMEVAL 1
@@ -24387,7 +23640,7 @@ ac_fn_cxx_check_type "$LINENO" "siginfo_t" "ac_cv_type_siginfo_t" "
 #include <signal.h>
 
 "
-if test "x$ac_cv_type_siginfo_t" = x""yes; then :
+if test "x$ac_cv_type_siginfo_t" = xyes; then :
 
 cat >>confdefs.h <<_ACEOF
 #define HAVE_SIGINFO_T 1
@@ -24397,8 +23650,7 @@ _ACEOF
 fi
 
 
-# Check whether the IEEE inexact flag is supported and available to
-# C++ programs.
+# Check whether we can limit memory in C and C++ using setrlimit().
 
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
@@ -24419,6 +23671,10 @@ else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
+#if !HAVE_DECL_SETRLIMIT
+# error "cannot limit memory without setrlimit()"
+#endif
+
 #include <stdexcept>
 
 #ifdef HAVE_SYS_TYPES_H
@@ -24575,7 +23831,7 @@ SHREXT=$shrext_cmds
 
 
 
-ac_config_files="$ac_config_files Makefile ppl.lsm src/Makefile src/version.hh src/ppl-config.cc tests/Makefile tests/BD_Shape/Makefile tests/Box/Makefile tests/Grid/Makefile tests/MIP_Problem/Makefile tests/Octagonal_Shape/Makefile tests/Partially_Reduced_Product/Makefile tests/PIP_Problem/Makefile tests/Polyhedron/Makefile tests/Powerset/Makefile utils/Makefile m4/Makefile demos/Makefile demos/ppl_lcdd/Makefile demos/ppl_lcdd/examples/Makefile demos/ppl_lpsol/Makefile demos/ppl_lpsol/e [...]
+ac_config_files="$ac_config_files Makefile ppl.lsm src/Makefile src/version.hh src/ppl-config.cc tests/Makefile tests/BD_Shape/Makefile tests/Box/Makefile tests/Concrete_Expression/Makefile tests/CO_Tree/Makefile tests/Grid/Makefile tests/MIP_Problem/Makefile tests/Octagonal_Shape/Makefile tests/Partially_Reduced_Product/Makefile tests/PIP_Problem/Makefile tests/Polyhedron/Makefile tests/Powerset/Makefile tests/Watchdog/Makefile utils/Makefile m4/Makefile demos/Makefile demos/ppl_lcdd/Ma [...]
 
 #               tests/Ask_Tell/Makefile
 cat >confcache <<\_ACEOF
@@ -24642,10 +23898,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
+    if test "x$cache_file" != "x/dev/null"; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
 $as_echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
+      if test ! -f "$cache_file" || test -h "$cache_file"; then
+	cat confcache >"$cache_file"
+      else
+        case $cache_file in #(
+        */* | ?:*)
+	  mv -f confcache "$cache_file"$$ &&
+	  mv -f "$cache_file"$$ "$cache_file" ;; #(
+        *)
+	  mv -f confcache "$cache_file" ;;
+	esac
+      fi
+    fi
   else
     { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
@@ -24661,6 +23928,7 @@ DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
+U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
@@ -24684,200 +23952,212 @@ else
 fi
 
 if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  as_fn_error "conditional \"AMDEP\" was never defined.
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then
-  as_fn_error "conditional \"GCC\" was never defined.
+  as_fn_error $? "conditional \"GCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${ICC_TRUE}" && test -z "${ICC_FALSE}"; then
+  as_fn_error $? "conditional \"ICC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${DEBUGGING_ENABLED_TRUE}" && test -z "${DEBUGGING_ENABLED_FALSE}"; then
-  as_fn_error "conditional \"DEBUGGING_ENABLED\" was never defined.
+  as_fn_error $? "conditional \"DEBUGGING_ENABLED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ASSERTIONS_ENABLED_TRUE}" && test -z "${ASSERTIONS_ENABLED_FALSE}"; then
-  as_fn_error "conditional \"ASSERTIONS_ENABLED\" was never defined.
+  as_fn_error $? "conditional \"ASSERTIONS_ENABLED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_PRECOMPILED_HEADERS_TRUE}" && test -z "${USE_PRECOMPILED_HEADERS_FALSE}"; then
-  as_fn_error "conditional \"USE_PRECOMPILED_HEADERS\" was never defined.
+  as_fn_error $? "conditional \"USE_PRECOMPILED_HEADERS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_CYGWIN_TRUE}" && test -z "${HOST_OS_CYGWIN_FALSE}"; then
-  as_fn_error "conditional \"HOST_OS_CYGWIN\" was never defined.
+  as_fn_error $? "conditional \"HOST_OS_CYGWIN\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_DARWIN_TRUE}" && test -z "${HOST_OS_DARWIN_FALSE}"; then
-  as_fn_error "conditional \"HOST_OS_DARWIN\" was never defined.
+  as_fn_error $? "conditional \"HOST_OS_DARWIN\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${HOST_OS_HPUX_TRUE}" && test -z "${HOST_OS_HPUX_FALSE}"; then
+  as_fn_error $? "conditional \"HOST_OS_HPUX\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_MINGW_TRUE}" && test -z "${HOST_OS_MINGW_FALSE}"; then
-  as_fn_error "conditional \"HOST_OS_MINGW\" was never defined.
+  as_fn_error $? "conditional \"HOST_OS_MINGW\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_OS_SOLARIS_TRUE}" && test -z "${HOST_OS_SOLARIS_FALSE}"; then
-  as_fn_error "conditional \"HOST_OS_SOLARIS\" was never defined.
+  as_fn_error $? "conditional \"HOST_OS_SOLARIS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HOST_CPU_X86_64_TRUE}" && test -z "${HOST_CPU_X86_64_FALSE}"; then
-  as_fn_error "conditional \"HOST_CPU_X86_64\" was never defined.
+  as_fn_error $? "conditional \"HOST_CPU_X86_64\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then
-  as_fn_error "conditional \"NO_UNDEFINED\" was never defined.
+  as_fn_error $? "conditional \"NO_UNDEFINED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_NATIVE_INTEGERS_TRUE}" && test -z "${USE_NATIVE_INTEGERS_FALSE}"; then
-  as_fn_error "conditional \"USE_NATIVE_INTEGERS\" was never defined.
+  as_fn_error $? "conditional \"USE_NATIVE_INTEGERS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_CHECKED_INTEGERS_TRUE}" && test -z "${USE_CHECKED_INTEGERS_FALSE}"; then
-  as_fn_error "conditional \"USE_CHECKED_INTEGERS\" was never defined.
+  as_fn_error $? "conditional \"USE_CHECKED_INTEGERS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_GMP_INTEGERS_TRUE}" && test -z "${USE_GMP_INTEGERS_FALSE}"; then
-  as_fn_error "conditional \"USE_GMP_INTEGERS\" was never defined.
+  as_fn_error $? "conditional \"USE_GMP_INTEGERS\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT8_TRUE}" && test -z "${USE_INT8_FALSE}"; then
-  as_fn_error "conditional \"USE_INT8\" was never defined.
+  as_fn_error $? "conditional \"USE_INT8\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT16_TRUE}" && test -z "${USE_INT16_FALSE}"; then
-  as_fn_error "conditional \"USE_INT16\" was never defined.
+  as_fn_error $? "conditional \"USE_INT16\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT32_TRUE}" && test -z "${USE_INT32_FALSE}"; then
-  as_fn_error "conditional \"USE_INT32\" was never defined.
+  as_fn_error $? "conditional \"USE_INT32\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${USE_INT64_TRUE}" && test -z "${USE_INT64_FALSE}"; then
-  as_fn_error "conditional \"USE_INT64\" was never defined.
+  as_fn_error $? "conditional \"USE_INT64\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
 if test -z "${HAVE_PERL_TRUE}" && test -z "${HAVE_PERL_FALSE}"; then
-  as_fn_error "conditional \"HAVE_PERL\" was never defined.
+  as_fn_error $? "conditional \"HAVE_PERL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${CAN_CONTROL_FPU_TRUE}" && test -z "${CAN_CONTROL_FPU_FALSE}"; then
-  as_fn_error "conditional \"CAN_CONTROL_FPU\" was never defined.
+  as_fn_error $? "conditional \"CAN_CONTROL_FPU\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_FLOAT_TRUE}" && test -z "${SUPPORTED_FLOAT_FALSE}"; then
-  as_fn_error "conditional \"SUPPORTED_FLOAT\" was never defined.
+  as_fn_error $? "conditional \"SUPPORTED_FLOAT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_DOUBLE_TRUE}" && test -z "${SUPPORTED_DOUBLE_FALSE}"; then
-  as_fn_error "conditional \"SUPPORTED_DOUBLE\" was never defined.
+  as_fn_error $? "conditional \"SUPPORTED_DOUBLE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${SUPPORTED_LONG_DOUBLE_TRUE}" && test -z "${SUPPORTED_LONG_DOUBLE_FALSE}"; then
-  as_fn_error "conditional \"SUPPORTED_LONG_DOUBLE\" was never defined.
+  as_fn_error $? "conditional \"SUPPORTED_LONG_DOUBLE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
-if test -z "${BUILD_WATCHDOG_LIBRARY_TRUE}" && test -z "${BUILD_WATCHDOG_LIBRARY_FALSE}"; then
-  as_fn_error "conditional \"BUILD_WATCHDOG_LIBRARY\" was never defined.
+if test -z "${SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE}" && test -z "${SUPPORTED_SOME_FLOATING_POINT_TYPE_FALSE}"; then
+  as_fn_error $? "conditional \"SUPPORTED_SOME_FLOATING_POINT_TYPE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_PPL_LCDD_TRUE}" && test -z "${BUILD_PPL_LCDD_FALSE}"; then
-  as_fn_error "conditional \"BUILD_PPL_LCDD\" was never defined.
+  as_fn_error $? "conditional \"BUILD_PPL_LCDD\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_PPL_LPSOL_TRUE}" && test -z "${BUILD_PPL_LPSOL_FALSE}"; then
-  as_fn_error "conditional \"BUILD_PPL_LPSOL\" was never defined.
+  as_fn_error $? "conditional \"BUILD_PPL_LPSOL\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_PPL_PIPS_TRUE}" && test -z "${BUILD_PPL_PIPS_FALSE}"; then
-  as_fn_error "conditional \"BUILD_PPL_PIPS\" was never defined.
+  as_fn_error $? "conditional \"BUILD_PPL_PIPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_DOCUMENTATION_TRUE}" && test -z "${BUILD_DOCUMENTATION_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_DOCUMENTATION\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_CXX_INTERFACE_TRUE}" && test -z "${BUILD_CXX_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_CXX_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_CXX_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_C_INTERFACE_TRUE}" && test -z "${BUILD_C_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_C_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_C_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_JAVA_INTERFACE_TRUE}" && test -z "${BUILD_JAVA_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_JAVA_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_JAVA_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_OCAMLC_TRUE}" && test -z "${HAVE_OCAMLC_FALSE}"; then
-  as_fn_error "conditional \"HAVE_OCAMLC\" was never defined.
+  as_fn_error $? "conditional \"HAVE_OCAMLC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_OCAMLOPT_TRUE}" && test -z "${HAVE_OCAMLOPT_FALSE}"; then
-  as_fn_error "conditional \"HAVE_OCAMLOPT\" was never defined.
+  as_fn_error $? "conditional \"HAVE_OCAMLOPT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_OCAML_INTERFACE_TRUE}" && test -z "${BUILD_OCAML_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_OCAML_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_OCAML_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_CIAO_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_CIAO_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_CIAO_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_CIAO_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_GNU_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_GNU_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_GNU_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_GNU_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SICSTUS_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_SICSTUS_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_SICSTUS_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_SICSTUS_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SWI_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_SWI_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_SWI_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_SWI_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_XSB_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_XSB_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_XSB_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_XSB_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_YAP_PROLOG_INTERFACE_TRUE}" && test -z "${BUILD_YAP_PROLOG_INTERFACE_FALSE}"; then
-  as_fn_error "conditional \"BUILD_YAP_PROLOG_INTERFACE\" was never defined.
+  as_fn_error $? "conditional \"BUILD_YAP_PROLOG_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${BUILD_SOME_PROLOG_INTERFACES_TRUE}" && test -z "${BUILD_SOME_PROLOG_INTERFACES_FALSE}"; then
-  as_fn_error "conditional \"BUILD_SOME_PROLOG_INTERFACES\" was never defined.
+  as_fn_error $? "conditional \"BUILD_SOME_PROLOG_INTERFACES\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${VALGRIND_TESTS_ENABLED_TRUE}" && test -z "${VALGRIND_TESTS_ENABLED_FALSE}"; then
-  as_fn_error "conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
+  as_fn_error $? "conditional \"VALGRIND_TESTS_ENABLED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${THOROUGH_MAKE_CHECK_TRUE}" && test -z "${THOROUGH_MAKE_CHECK_FALSE}"; then
-  as_fn_error "conditional \"THOROUGH_MAKE_CHECK\" was never defined.
+  as_fn_error $? "conditional \"THOROUGH_MAKE_CHECK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ENABLE_SHARED_TRUE}" && test -z "${ENABLE_SHARED_FALSE}"; then
-  as_fn_error "conditional \"ENABLE_SHARED\" was never defined.
+  as_fn_error $? "conditional \"ENABLE_SHARED\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${ENABLE_STATIC_TRUE}" && test -z "${ENABLE_STATIC_FALSE}"; then
-  as_fn_error "conditional \"ENABLE_STATIC\" was never defined.
+  as_fn_error $? "conditional \"ENABLE_STATIC\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_MD5SUM_TRUE}" && test -z "${HAVE_MD5SUM_FALSE}"; then
-  as_fn_error "conditional \"HAVE_MD5SUM\" was never defined.
+  as_fn_error $? "conditional \"HAVE_MD5SUM\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 if test -z "${HAVE_GLPK_TRUE}" && test -z "${HAVE_GLPK_FALSE}"; then
-  as_fn_error "conditional \"HAVE_GLPK\" was never defined.
+  as_fn_error $? "conditional \"HAVE_GLPK\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
 
-: ${CONFIG_STATUS=./config.status}
+: "${CONFIG_STATUS=./config.status}"
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
@@ -24978,6 +24258,7 @@ fi
 IFS=" ""	$as_nl"
 
 # Find who we are.  Look in the path if we contain no directory separator.
+as_myself=
 case $0 in #((
   *[\\/]* ) as_myself=$0 ;;
   *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
@@ -25023,19 +24304,19 @@ export LANGUAGE
 (unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
-# as_fn_error ERROR [LINENO LOG_FD]
-# ---------------------------------
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
 # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
 # provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with status $?, using 1 if that was 0.
+# script with STATUS, using 1 if that was 0.
 as_fn_error ()
 {
-  as_status=$?; test $as_status -eq 0 && as_status=1
-  if test "$3"; then
-    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $1" >&2
+  $as_echo "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -25231,7 +24512,7 @@ $as_echo X"$as_dir" |
       test -d "$as_dir" && break
     done
     test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
 
 
 } # as_fn_mkdir_p
@@ -25284,8 +24565,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by the Parma Polyhedra Library $as_me 0.11.2, which was
-generated by GNU Autoconf 2.65.  Invocation command line was
+This file was extended by the Parma Polyhedra Library $as_me 1.0, which was
+generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -25350,11 +24631,11 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-the Parma Polyhedra Library config.status 0.11.2
-configured by $0, generated by GNU Autoconf 2.65,
+the Parma Polyhedra Library config.status 1.0
+configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2009 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -25372,11 +24653,16 @@ ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
-  --*=*)
+  --*=?*)
     ac_option=`expr "X$1" : 'X\([^=]*\)='`
     ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
   *)
     ac_option=$1
     ac_optarg=$2
@@ -25398,6 +24684,7 @@ do
     $ac_shift
     case $ac_optarg in
     *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -25410,7 +24697,7 @@ do
     ac_need_defaults=false;;
   --he | --h)
     # Conflict between --help and --header
-    as_fn_error "ambiguous option: \`$1'
+    as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
     $as_echo "$ac_cs_usage"; exit ;;
@@ -25419,7 +24706,7 @@ Try \`$0 --help' for more information.";;
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) as_fn_error "unrecognized option: \`$1'
+  -*) as_fn_error $? "unrecognized option: \`$1'
 Try \`$0 --help' for more information." ;;
 
   *) as_fn_append ac_config_targets " $1"
@@ -25481,6 +24768,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
 enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
 SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
 ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
+PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
 host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
 host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
 host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
@@ -25501,13 +24789,20 @@ exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
 lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
 lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
 lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
+lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
 reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
 reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
 OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
 deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
 file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
+file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
+want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
+sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
 AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
 AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
+archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
 STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
 RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
 old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
@@ -25522,14 +24817,17 @@ lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$de
 lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
+nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
+lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
 objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
 MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
 lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
 need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
+MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
 DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
 NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
 LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
@@ -25553,7 +24851,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
 allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
 no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
 hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
@@ -25562,12 +24859,12 @@ hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_q
 hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
 inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
 link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
 always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
 export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
 exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
 include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
 prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
+postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
 file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
 variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
 need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
@@ -25606,8 +24903,8 @@ old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote
 compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
 GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
 lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
 lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
 archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
@@ -25625,7 +24922,6 @@ with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
 allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
 no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld_CXX='`$ECHO "$hardcode_libdir_flag_spec_ld_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
@@ -25634,12 +24930,12 @@ hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_
 hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
 inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
 link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path_CXX='`$ECHO "$fix_srcfile_path_CXX" | $SED "$delay_single_quote_subst"`'
 always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
 export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
 exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
 include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
 prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
+postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
 file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
 hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
 compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
@@ -25664,6 +24960,7 @@ _LTECHO_EOF'
 # Quote evaled strings.
 for var in SHELL \
 ECHO \
+PATH_SEPARATOR \
 SED \
 GREP \
 EGREP \
@@ -25677,8 +24974,13 @@ reload_flag \
 OBJDUMP \
 deplibs_check_method \
 file_magic_cmd \
+file_magic_glob \
+want_nocaseglob \
+DLLTOOL \
+sharedlib_from_linklib_cmd \
 AR \
 AR_FLAGS \
+archiver_list_spec \
 STRIP \
 RANLIB \
 CC \
@@ -25688,12 +24990,14 @@ lt_cv_sys_global_symbol_pipe \
 lt_cv_sys_global_symbol_to_cdecl \
 lt_cv_sys_global_symbol_to_c_name_address \
 lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+nm_file_list_spec \
 lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
 lt_prog_compiler_pic \
+lt_prog_compiler_wl \
 lt_prog_compiler_static \
 lt_cv_prog_compiler_c_o \
 need_locks \
+MANIFEST_TOOL \
 DSYMUTIL \
 NMEDIT \
 LIPO \
@@ -25707,9 +25011,7 @@ with_gnu_ld \
 allow_undefined_flag \
 no_undefined_flag \
 hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
 hardcode_libdir_separator \
-fix_srcfile_path \
 exclude_expsyms \
 include_expsyms \
 file_list_spec \
@@ -25731,8 +25033,8 @@ LD_CXX \
 reload_flag_CXX \
 compiler_CXX \
 lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_wl_CXX \
 lt_prog_compiler_pic_CXX \
+lt_prog_compiler_wl_CXX \
 lt_prog_compiler_static_CXX \
 lt_cv_prog_compiler_c_o_CXX \
 export_dynamic_flag_spec_CXX \
@@ -25742,9 +25044,7 @@ with_gnu_ld_CXX \
 allow_undefined_flag_CXX \
 no_undefined_flag_CXX \
 hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_flag_spec_ld_CXX \
 hardcode_libdir_separator_CXX \
-fix_srcfile_path_CXX \
 exclude_expsyms_CXX \
 include_expsyms_CXX \
 file_list_spec_CXX \
@@ -25778,6 +25078,7 @@ module_cmds \
 module_expsym_cmds \
 export_symbols_cmds \
 prelink_cmds \
+postlink_cmds \
 postinstall_cmds \
 postuninstall_cmds \
 finish_cmds \
@@ -25792,7 +25093,8 @@ archive_expsym_cmds_CXX \
 module_cmds_CXX \
 module_expsym_cmds_CXX \
 export_symbols_cmds_CXX \
-prelink_cmds_CXX; do
+prelink_cmds_CXX \
+postlink_cmds_CXX; do
     case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
     *[\\\\\\\`\\"\\\$]*)
       eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
@@ -25844,6 +25146,8 @@ do
     "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
     "tests/BD_Shape/Makefile") CONFIG_FILES="$CONFIG_FILES tests/BD_Shape/Makefile" ;;
     "tests/Box/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Box/Makefile" ;;
+    "tests/Concrete_Expression/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Concrete_Expression/Makefile" ;;
+    "tests/CO_Tree/Makefile") CONFIG_FILES="$CONFIG_FILES tests/CO_Tree/Makefile" ;;
     "tests/Grid/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Grid/Makefile" ;;
     "tests/MIP_Problem/Makefile") CONFIG_FILES="$CONFIG_FILES tests/MIP_Problem/Makefile" ;;
     "tests/Octagonal_Shape/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Octagonal_Shape/Makefile" ;;
@@ -25851,6 +25155,7 @@ do
     "tests/PIP_Problem/Makefile") CONFIG_FILES="$CONFIG_FILES tests/PIP_Problem/Makefile" ;;
     "tests/Polyhedron/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Polyhedron/Makefile" ;;
     "tests/Powerset/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Powerset/Makefile" ;;
+    "tests/Watchdog/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Watchdog/Makefile" ;;
     "utils/Makefile") CONFIG_FILES="$CONFIG_FILES utils/Makefile" ;;
     "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;;
     "demos/Makefile") CONFIG_FILES="$CONFIG_FILES demos/Makefile" ;;
@@ -25886,7 +25191,7 @@ do
     "interfaces/Prolog/YAP/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Prolog/YAP/Makefile" ;;
     "interfaces/Prolog/tests/Makefile") CONFIG_FILES="$CONFIG_FILES interfaces/Prolog/tests/Makefile" ;;
 
-  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
 done
 
@@ -25909,9 +25214,10 @@ fi
 # after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  tmp=
+  tmp= ac_tmp=
   trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+  : "${ac_tmp:=$tmp}"
+  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
 ' 0
   trap 'as_fn_exit 1' 1 2 13 15
 }
@@ -25919,12 +25225,13 @@ $debug ||
 
 {
   tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
+  test -d "$tmp"
 }  ||
 {
   tmp=./conf$$-$RANDOM
   (umask 077 && mkdir "$tmp")
-} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
 
 # Set up the scripts for CONFIG_FILES section.
 # No need to generate them if there are no CONFIG_FILES.
@@ -25941,12 +25248,12 @@ if test "x$ac_cr" = x; then
 fi
 ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
 if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\r'
+  ac_cs_awk_cr='\\r'
 else
   ac_cs_awk_cr=$ac_cr
 fi
 
-echo 'BEGIN {' >"$tmp/subs1.awk" &&
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
 _ACEOF
 
 
@@ -25955,18 +25262,18 @@ _ACEOF
   echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
   echo "_ACEOF"
 } >conf$$subs.sh ||
-  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   . ./conf$$subs.sh ||
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
 
   ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
   if test $ac_delim_n = $ac_delim_num; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -25974,7 +25281,7 @@ done
 rm -f conf$$subs.sh
 
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
 _ACEOF
 sed -n '
 h
@@ -26022,7 +25329,7 @@ t delim
 rm -f conf$$subs.awk
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
-cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
   for (key in S) S_is_set[key] = 1
   FS = ""
 
@@ -26054,21 +25361,29 @@ if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
   sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
 else
   cat
-fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
-  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
 _ACEOF
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
 # trailing colons and then remove the whole line if VPATH becomes empty
 # (actually we leave an empty line to preserve line numbers).
 if test "x$srcdir" = x.; then
-  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[	 ]*\):*/\1/
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=[	 ]*/{
+h
+s///
+s/^/:/
+s/[	 ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
 s/:*$//
+x
+s/\(=[	 ]*\).*/\1/
+G
+s/\n//
 s/^[^=]*=[	 ]*$//
 }'
 fi
@@ -26080,7 +25395,7 @@ fi # test -n "$CONFIG_FILES"
 # No need to generate them if there are no CONFIG_HEADERS.
 # This happens for instance with `./config.status Makefile'.
 if test -n "$CONFIG_HEADERS"; then
-cat >"$tmp/defines.awk" <<\_ACAWK ||
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
 BEGIN {
 _ACEOF
 
@@ -26092,11 +25407,11 @@ _ACEOF
 # handling of long lines.
 ac_delim='%!_!# '
 for ac_last_try in false false :; do
-  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_t"; then
+  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_tt"; then
     break
   elif $ac_last_try; then
-    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
   else
     ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
@@ -26181,7 +25496,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 _ACAWK
 _ACEOF
 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
 fi # test -n "$CONFIG_HEADERS"
 
 
@@ -26194,7 +25509,7 @@ do
   esac
   case $ac_mode$ac_tag in
   :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
   :[FH]-) ac_tag=-:-;;
   :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
   esac
@@ -26213,7 +25528,7 @@ do
     for ac_f
     do
       case $ac_f in
-      -) ac_f="$tmp/stdin";;
+      -) ac_f="$ac_tmp/stdin";;
       *) # Look for the file first in the build tree, then in the source tree
 	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
 	 # because $ac_f cannot contain `:'.
@@ -26222,7 +25537,7 @@ do
 	   [\\/$]*) false;;
 	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
 	   esac ||
-	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
       case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
@@ -26248,8 +25563,8 @@ $as_echo "$as_me: creating $ac_file" >&6;}
     esac
 
     case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    *:-:* | *:-) cat >"$ac_tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
     esac
     ;;
   esac
@@ -26385,23 +25700,24 @@ s&@INSTALL@&$ac_INSTALL&;t t
 s&@MKDIR_P@&$ac_MKDIR_P&;t t
 $ac_datarootdir_hack
 "
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
 
 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
+      "$ac_tmp/out"`; test -z "$ac_out"; } &&
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
+which seems to be undefined.  Please make sure it is defined" >&5
 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
+which seems to be undefined.  Please make sure it is defined" >&2;}
 
-  rm -f "$tmp/stdin"
+  rm -f "$ac_tmp/stdin"
   case $ac_file in
-  -) cat "$tmp/out" && rm -f "$tmp/out";;
-  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
   esac \
-  || as_fn_error "could not create $ac_file" "$LINENO" 5
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
  ;;
   :H)
   #
@@ -26410,21 +25726,21 @@ which seems to be undefined.  Please make sure it is defined." >&2;}
   if test x"$ac_file" != x-; then
     {
       $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
-    } >"$tmp/config.h" \
-      || as_fn_error "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+    } >"$ac_tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
 $as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
-      mv "$tmp/config.h" "$ac_file" \
-	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+      mv "$ac_tmp/config.h" "$ac_file" \
+	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
     $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error "could not create -" "$LINENO" 5
+      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
   fi
 # Compute "$ac_file"'s index in $config_headers.
 _am_arg="$ac_file"
@@ -26585,8 +25901,8 @@ $as_echo X"$file" |
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -26640,6 +25956,9 @@ SHELL=$lt_SHELL
 # An echo program that protects backslashes.
 ECHO=$lt_ECHO
 
+# The PATH separator for the build system.
+PATH_SEPARATOR=$lt_PATH_SEPARATOR
+
 # The host system.
 host_alias=$host_alias
 host=$host
@@ -26689,19 +26008,42 @@ SP2NL=$lt_lt_SP2NL
 # turn newlines into spaces.
 NL2SP=$lt_lt_NL2SP
 
+# convert \$build file names to \$host format.
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+
+# convert \$build files to toolchain format.
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+
 # An object symbol dumper.
 OBJDUMP=$lt_OBJDUMP
 
 # Method to check whether dependent libraries are shared objects.
 deplibs_check_method=$lt_deplibs_check_method
 
-# Command to use when deplibs_check_method == "file_magic".
+# Command to use when deplibs_check_method = "file_magic".
 file_magic_cmd=$lt_file_magic_cmd
 
+# How to find potential files when deplibs_check_method = "file_magic".
+file_magic_glob=$lt_file_magic_glob
+
+# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
+want_nocaseglob=$lt_want_nocaseglob
+
+# DLL creation program.
+DLLTOOL=$lt_DLLTOOL
+
+# Command to associate shared and link libraries.
+sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
+
 # The archiver.
 AR=$lt_AR
+
+# Flags to create an archive.
 AR_FLAGS=$lt_AR_FLAGS
 
+# How to feed a file listing to the archiver.
+archiver_list_spec=$lt_archiver_list_spec
+
 # A symbol stripping program.
 STRIP=$lt_STRIP
 
@@ -26731,6 +26073,12 @@ global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
 # Transform the output of nm in a C name address pair when lib prefix is needed.
 global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
 
+# Specify filename containing input files for \$NM.
+nm_file_list_spec=$lt_nm_file_list_spec
+
+# The root where to search for dependent libraries,and in which our libraries should be installed.
+lt_sysroot=$lt_sysroot
+
 # The name of the directory that contains temporary libtool files.
 objdir=$objdir
 
@@ -26740,6 +26088,9 @@ MAGIC_CMD=$MAGIC_CMD
 # Must we lock files when doing compilation?
 need_locks=$lt_need_locks
 
+# Manifest tool.
+MANIFEST_TOOL=$lt_MANIFEST_TOOL
+
 # Tool to manipulate archived DWARF debug symbol files on Mac OS X.
 DSYMUTIL=$lt_DSYMUTIL
 
@@ -26854,12 +26205,12 @@ with_gcc=$GCC
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
 # Additional compiler flags for building library objects.
 pic_flag=$lt_lt_prog_compiler_pic
 
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
 # Compiler flag to prevent dynamic linking.
 link_static_flag=$lt_lt_prog_compiler_static
 
@@ -26909,10 +26260,6 @@ no_undefined_flag=$lt_no_undefined_flag
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator
 
@@ -26946,9 +26293,6 @@ inherit_rpath=$inherit_rpath
 # Whether libtool must link a program against all its dependency libraries.
 link_all_deplibs=$link_all_deplibs
 
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
 # Set to "yes" if exported symbols are required.
 always_export_symbols=$always_export_symbols
 
@@ -26964,6 +26308,9 @@ include_expsyms=$lt_include_expsyms
 # Commands necessary for linking programs (against libraries) with templates.
 prelink_cmds=$lt_prelink_cmds
 
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds
+
 # Specify filename containing input files.
 file_list_spec=$lt_file_list_spec
 
@@ -27010,210 +26357,169 @@ ltmain="$ac_aux_dir/ltmain.sh"
   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
   # text mode, it properly converts lines to CR/LF.  This bash problem
   # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
-
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
+
+  if test x"$xsi_shell" = xyes; then
+  sed -e '/^func_dirname ()$/,/^} # func_dirname /c\
+func_dirname ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_basename ()$/,/^} # func_basename /c\
+func_basename ()\
+{\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\
+func_dirname_and_basename ()\
+{\
+\    case ${1} in\
+\      */*) func_dirname_result="${1%/*}${2}" ;;\
+\      *  ) func_dirname_result="${3}" ;;\
+\    esac\
+\    func_basename_result="${1##*/}"\
+} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_stripname ()$/,/^} # func_stripname /c\
+func_stripname ()\
+{\
+\    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\
+\    # positional parameters, so assign one to ordinary parameter first.\
+\    func_stripname_result=${3}\
+\    func_stripname_result=${func_stripname_result#"${1}"}\
+\    func_stripname_result=${func_stripname_result%"${2}"}\
+} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\
+func_split_long_opt ()\
+{\
+\    func_split_long_opt_name=${1%%=*}\
+\    func_split_long_opt_arg=${1#*=}\
+} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\
+func_split_short_opt ()\
+{\
+\    func_split_short_opt_arg=${1#??}\
+\    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\
+} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\
+func_lo2o ()\
+{\
+\    case ${1} in\
+\      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\
+\      *)    func_lo2o_result=${1} ;;\
+\    esac\
+} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_xform ()$/,/^} # func_xform /c\
+func_xform ()\
+{\
+    func_xform_result=${1%.*}.lo\
+} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_arith ()$/,/^} # func_arith /c\
+func_arith ()\
+{\
+    func_arith_result=$(( $* ))\
+} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_len ()$/,/^} # func_len /c\
+func_len ()\
+{\
+    func_len_result=${#1}\
+} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+fi
+
+if test x"$lt_shell_append" = xyes; then
+  sed -e '/^func_append ()$/,/^} # func_append /c\
+func_append ()\
+{\
+    eval "${1}+=\\${2}"\
+} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\
+func_append_quoted ()\
+{\
+\    func_quote_for_eval "${2}"\
+\    eval "${1}+=\\\\ \\$func_quote_for_eval_result"\
+} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+
+
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
+
+if test x"$_lt_function_replace_fail" = x":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5
+$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;}
+fi
+
+
+   mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
 
@@ -27241,12 +26547,12 @@ with_gcc=$GCC_CXX
 # Compiler flag to turn off builtin functions.
 no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
 
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
 # Additional compiler flags for building library objects.
 pic_flag=$lt_lt_prog_compiler_pic_CXX
 
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
 # Compiler flag to prevent dynamic linking.
 link_static_flag=$lt_lt_prog_compiler_static_CXX
 
@@ -27296,10 +26602,6 @@ no_undefined_flag=$lt_no_undefined_flag_CXX
 # This must work even if \$libdir does not exist
 hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
 
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
 # Whether we need a single "-rpath" flag with a separated argument.
 hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
 
@@ -27333,9 +26635,6 @@ inherit_rpath=$inherit_rpath_CXX
 # Whether libtool must link a program against all its dependency libraries.
 link_all_deplibs=$link_all_deplibs_CXX
 
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path_CXX
-
 # Set to "yes" if exported symbols are required.
 always_export_symbols=$always_export_symbols_CXX
 
@@ -27351,6 +26650,9 @@ include_expsyms=$lt_include_expsyms_CXX
 # Commands necessary for linking programs (against libraries) with templates.
 prelink_cmds=$lt_prelink_cmds_CXX
 
+# Commands necessary for finishing linking programs.
+postlink_cmds=$lt_postlink_cmds_CXX
+
 # Specify filename containing input files.
 file_list_spec=$lt_file_list_spec_CXX
 
@@ -27385,7 +26687,7 @@ _ACEOF
 ac_clean_files=$ac_clean_files_save
 
 test $ac_write_fail = 0 ||
-  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
 
 
 # configure is writing to config.log, and then calls config.status.
@@ -27406,152 +26708,7 @@ if test "$no_create" != yes; then
   exec 5>>config.log
   # Use ||, not &&, to avoid exiting from the if with $? = 1, which
   # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit $?
-fi
-
-#
-# CONFIG_SUBDIRS section.
-#
-if test "$no_recursion" != yes; then
-
-  # Remove --cache-file, --srcdir, and --disable-option-checking arguments
-  # so they do not pile up.
-  ac_sub_configure_args=
-  ac_prev=
-  eval "set x $ac_configure_args"
-  shift
-  for ac_arg
-  do
-    if test -n "$ac_prev"; then
-      ac_prev=
-      continue
-    fi
-    case $ac_arg in
-    -cache-file | --cache-file | --cache-fil | --cache-fi \
-    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-      ac_prev=cache_file ;;
-    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
-    | --c=*)
-      ;;
-    --config-cache | -C)
-      ;;
-    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-      ac_prev=srcdir ;;
-    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-      ;;
-    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-      ac_prev=prefix ;;
-    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-      ;;
-    --disable-option-checking)
-      ;;
-    *)
-      case $ac_arg in
-      *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-      esac
-      as_fn_append ac_sub_configure_args " '$ac_arg'" ;;
-    esac
-  done
-
-  # Always prepend --prefix to ensure using the same prefix
-  # in subdir configurations.
-  ac_arg="--prefix=$prefix"
-  case $ac_arg in
-  *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-  esac
-  ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"
-
-  # Pass --silent
-  if test "$silent" = yes; then
-    ac_sub_configure_args="--silent $ac_sub_configure_args"
-  fi
-
-  # Always prepend --disable-option-checking to silence warnings, since
-  # different subdirs can have different --enable and --with options.
-  ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"
-
-  ac_popdir=`pwd`
-  for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue
-
-    # Do not complain, so a configure script can configure whichever
-    # parts of a large source tree are present.
-    test -d "$srcdir/$ac_dir" || continue
-
-    ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
-    $as_echo "$as_me:${as_lineno-$LINENO}: $ac_msg" >&5
-    $as_echo "$ac_msg" >&6
-    as_dir="$ac_dir"; as_fn_mkdir_p
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-    cd "$ac_dir"
-
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      ac_sub_configure=$ac_srcdir/configure.gnu
-    elif test -f "$ac_srcdir/configure"; then
-      ac_sub_configure=$ac_srcdir/configure
-    elif test -f "$ac_srcdir/configure.in"; then
-      # This should be Cygnus configure.
-      ac_sub_configure=$ac_aux_dir/configure
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no configuration information is in $ac_dir" >&5
-$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
-      ac_sub_configure=
-    fi
-
-    # The recursion is here.
-    if test -n "$ac_sub_configure"; then
-      # Make the cache file name correct relative to the subdirectory.
-      case $cache_file in
-      [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
-      *) # Relative name.
-	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
-      esac
-
-      { $as_echo "$as_me:${as_lineno-$LINENO}: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
-$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
-      # The eval makes quoting arguments work.
-      eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
-	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
-	as_fn_error "$ac_sub_configure failed for $ac_dir" "$LINENO" 5
-    fi
-
-    cd "$ac_popdir"
-  done
+  $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
diff --git a/configure.ac b/configure.ac
index 302cd64..2750ba6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
 # Autoconf source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,12 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # Process this file with Autoconf to produce a configure script.
 
 # Every other copy of the package version number gets its value from here.
-AC_INIT([the Parma Polyhedra Library], [0.11.2], [ppl-devel at cs.unipr.it], [ppl])
+AC_INIT([the Parma Polyhedra Library], [1.0], [ppl-devel at cs.unipr.it], [ppl])
 
 # Minimum Autoconf version required.
 AC_PREREQ(2.61)
@@ -40,7 +40,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_CANONICAL_HOST
 
 # Use Automake.
-AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip dist-lzma tar-ustar silent-rules 1.11])
+AM_INIT_AUTOMAKE([foreign no-define dist-bzip2 dist-zip dist-xz tar-ustar silent-rules 1.11])
 
 AC_SUBST(VERSION)
 
@@ -81,6 +81,9 @@ AC_SUBST(ISODATE)
 AH_TOP([
 /* BEGIN ppl-config.h */
 
+#ifndef PPL_ppl_config_h
+#define PPL_ppl_config_h 1
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -120,6 +123,10 @@ AH_BOTTOM([
 # include <inttypes.h>
 #endif
 
+#define PPL_U(x) x
+
+#endif /* !defined(PPL_ppl_config_h) */
+
 /* END ppl-config.h */
 ])
 
@@ -138,7 +145,7 @@ AC_ARG_WITH(cxx,
 
 # Checks for programs.
 
-# Note that AC_PROG_CC must precede the first use of $GCC abd AC_PROG_CXX
+# Note that AC_PROG_CC must precede the first use of $GCC and AC_PROG_CXX
 # must precede the first use of $GXX.  Note also that we do not allow
 # AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
 save_CFLAGS="$CFLAGS"
@@ -166,6 +173,27 @@ choke me
   AC_LANG_POP(C)
 fi
 
+AM_CONDITIONAL(ICC, test x"$ICC" = xyes)
+
+# The clang compiler masquerades as gcc, but we want to know.
+if test x"$GCC" = xyes
+then
+  AC_MSG_CHECKING([whether we are actually using Clang])
+  AC_LANG_PUSH(C)
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#ifndef __clang__
+choke me
+#endif
+]])],
+  AC_MSG_RESULT(yes)
+  CLANG=yes,
+  AC_MSG_RESULT(no)
+  CLANG=no,
+  AC_MSG_RESULT(no)
+  CLANG=no)
+  AC_LANG_POP(C)
+fi
+
 save_CXXFLAGS="$CXXFLAGS"
 AC_PROG_CXX
 CXXFLAGS="$save_CXXFLAGS"
@@ -189,6 +217,25 @@ choke me
   AC_LANG_POP(C++)
 fi
 
+# The clang++ compiler masquerades as g++, but we want to know.
+if test x"$GXX" = xyes
+then
+  AC_MSG_CHECKING([whether we are actually using clang++])
+  AC_LANG_PUSH(C++)
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#ifndef __clang__
+choke me
+#endif
+]])],
+  AC_MSG_RESULT(yes)
+  CLANGXX=yes,
+  AC_MSG_RESULT(no)
+  CLANGXX=no,
+  AC_MSG_RESULT(no)
+  CLANGXX=no)
+  AC_LANG_POP(C++)
+fi
+
 AC_PROG_FGREP
 AC_PROG_EGREP
 AC_PROG_SED
@@ -445,7 +492,23 @@ then
   then
     OPT_FLAGS="$OPT_FLAGS -fp-model strict -fp-speculation off"
   else
-    OPT_FLAGS="$OPT_FLAGS -frounding-math"
+    # -frounding-math is not yet supported in clang++, if we use it we get
+    # lots of warnings.
+    if test x"$CLANGXX" = xyes
+    then
+      if test x"$use_fpmath" = xyes
+      then
+        AC_MSG_WARN([CANNOT RELY ON DIRECTED ROUNDING:
+*** DISABLED ALL ABSTRACTIONS BASED ON MACHINE FLOATING-POINT NUMBERS.
+*** clang++ has been detected, which does not provide support for
+*** -frounding-math (or any other option with the same semantics).
+*** Hence, we cannot rely on floating-point computations to happen
+*** in agreement with the rounding direction(s) used by the PPL.])
+        use_fpmath=no
+      fi
+    else
+      OPT_FLAGS="$OPT_FLAGS -frounding-math"
+    fi
   fi
 fi
 
@@ -501,23 +564,33 @@ case "${host_os}" in
 cygwin*)
   cygwin=yes
   no_undefined=yes
+  shared_library_path_env_var=PATH
   ;;
 darwin*)
   darwin=yes
+  shared_library_path_env_var=DYLD_LIBRARY_PATH
+  ;;
+hpux*)
+  hpux=yes
+  shared_library_path_env_var=SHLIB_PATH
   ;;
 mingw*)
   mingw=yes
   no_undefined=yes
+  shared_library_path_env_var=PATH
   ;;
 solaris*)
   solaris=yes
+  shared_library_path_env_var=LD_LIBRARY_PATH
   ;;
 *)
+  shared_library_path_env_var=LD_LIBRARY_PATH
   ;;
 esac
 
 AM_CONDITIONAL(HOST_OS_CYGWIN, test x$cygwin = xyes)
 AM_CONDITIONAL(HOST_OS_DARWIN, test x$darwin = xyes)
+AM_CONDITIONAL(HOST_OS_HPUX, test x$hpux = xyes)
 AM_CONDITIONAL(HOST_OS_MINGW, test x$mingw = xyes)
 AM_CONDITIONAL(HOST_OS_SOLARIS, test x$solaris = xyes)
 
@@ -602,7 +675,7 @@ AM_CONDITIONAL(USE_INT64, test x"$coefficient_bits" = x64)
 
 if test x"$coefficient_kind" = xnative
 then
-  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Checked_Number_Transparent_Policy>"
+  coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Checked_Number_Transparent_Policy<int${coefficient_bits}_t> >"
   AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_TYPE, $coefficient_type, [The integral type used to represent coefficients.])
   AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_BITS, $coefficient_bits, [The number of bits of coefficients; 0 if unbounded.])
   AC_DEFINE(PPL_NATIVE_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a native one.])
@@ -691,27 +764,22 @@ AC_CXX_DOUBLE_BINARY_FORMAT
 # Detect the binary format used by C++ long doubles.
 AC_CXX_LONG_DOUBLE_BINARY_FORMAT
 
-# Check whether the C++ run-time systems provides exact output for
-# floats.
-#AC_CXX_FLOAT_EXACT_OUTPUT
-
-# Check whether the C++ run-time systems provides exact output for
-# doubles.
-#AC_CXX_DOUBLE_EXACT_OUTPUT
-
-# Check whether the C++ run-time systems provides exact output for
-# long doubles.
-#AC_CXX_LONG_DOUBLE_EXACT_OUTPUT
+# Test if some floating-point type is supported.
+if test $ac_supported_float = 1 \
+|| test $ac_supported_double = 1 \
+|| test $ac_supported_long_double = 1
+then
+  supported_some_floating_point_type=yes
+fi
+AM_CONDITIONAL(SUPPORTED_SOME_FLOATING_POINT_TYPE,
+               test x$supported_some_floating_point_type = xyes)
 
-# Check whether the C++ compiler supports flexible arrays.
-AC_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+# Check whether the C++ compiler supports zero-length arrays.
+AC_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 
 # Check whether the IEEE inexact flag is supported in C++.
 AC_CXX_SUPPORTS_IEEE_INEXACT_FLAG
 
-# Check whether the C++ compiler has the remainder bug.
-AC_CXX_HAS_REMAINDER_BUG
-
 # Check whether the C++ compiler supports __attribute__ ((weak)).
 AC_CXX_SUPPORTS_ATTRIBUTE_WEAK
 
@@ -777,34 +845,8 @@ then
 *** Please report this to ppl-devel at cs.unipr.it.])
 fi
 
-extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
-extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
-
-enableval=yes
-AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
-AC_ARG_ENABLE(watchdog,
-  AS_HELP_STRING([--enable-watchdog],
-                 [build also the Parma Watchdog Library]))
-case "${enableval}" in
-yes)
-  build_watchdog_library=yes
-  ;;
-no)
-  build_watchdog_library=no
-  ;;
-*)
-  AC_MSG_ERROR([bad value ${enableval} for --enable-watchdog, needs yes or no])
-  ;;
-esac
-AC_MSG_RESULT($build_watchdog_library)
-AM_CONDITIONAL(BUILD_WATCHDOG_LIBRARY, test x"$build_watchdog_library" = xyes)
-if test x"$build_watchdog_library" = xyes
-then
-  AC_DEFINE(PPL_WATCHDOG_LIBRARY_ENABLED, 1, [Defined if the Parma Watchdog Library is enabled.])
-fi
-
-# Enabled or not, the Watchdog subdirectory must be configured.
-AC_CONFIG_SUBDIRS(Watchdog)
+extra_includes="${extra_includes}${extra_includes:+ }${gmp_include_options}"
+extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_options}"
 
 enableval=yes
 AC_MSG_CHECKING([whether to build the ppl_lcdd program])
@@ -860,6 +902,24 @@ esac
 build_ppl_pips=$enableval
 AM_CONDITIONAL(BUILD_PPL_PIPS, test x"$build_ppl_pips" = xyes)
 
+enableval=yes
+AC_MSG_CHECKING([whether to build the PPL documentation])
+AC_ARG_ENABLE(documentation,
+  AS_HELP_STRING([--enable-documentation], [build the PPL documentation]))
+case "${enableval}" in
+yes)
+  AC_MSG_RESULT(yes)
+  ;;
+no)
+  AC_MSG_RESULT(no)
+  ;;
+*)
+  AC_MSG_ERROR([bad value ${enableval} for --enable-documentation, needs yes or no])
+  ;;
+esac
+build_documentation=$enableval
+AM_CONDITIONAL(BUILD_DOCUMENTATION, test x"$build_documentation" = xyes)
+
 # Define lists of available interfaces: lowercase and blank-separated.
 non_prolog_interfaces="cxx c ocaml java"
 prolog_interfaces="ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog"
@@ -1162,7 +1222,7 @@ fi
 AM_CONDITIONAL(BUILD_YAP_PROLOG_INTERFACE,
                test x$build_yap_prolog_interface = xyes)
 
-# Test if *any* Prolog system has to be built.
+# Test if some Prolog interfaces have to be built.
 if test x$build_ciao_prolog_interface = xyes \
 || test x$build_gnu_prolog_interface = xyes \
 || test x$build_sicstus_prolog_interface = xyes \
@@ -1291,7 +1351,7 @@ xno | xnone)
   required_instantiations=`echo "${enableval}" | sed -e 's/[[	 ]][[	 ]]*/ /g' -e 's/[[ ]]*\([[@<>,]]\)/\1/g' -e 's/\([[@<>,]]\)[[ ]]*/\1/g' -e 's/>>/> >/g' -e 's/^[[ ]]//g' -e 's/[[ ]]$//g'`
   # Check the specified instantiations for validity.
   ac_save_CPPFLAGS="$CPPFLAGS"
-  CPPFLAGS="$CPPFLAGS -I${srcdir}"
+  CPPFLAGS="$CPPFLAGS -I${srcdir} ${gmp_include_options}"
   old_IFS="${IFS}"
   IFS=@
   set -- ${required_instantiations}
@@ -1463,7 +1523,7 @@ AC_CHECK_DECLS([RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS],
 #endif
                ])
 
-AC_CHECK_DECLS([getrusage],
+AC_CHECK_DECLS([getrusage, setrlimit],
                ,
                ,
                [
@@ -1474,6 +1534,13 @@ AC_CHECK_DECLS([getrusage],
 # include <sys/resource.h>
 #endif
 ])
+
+AC_CHECK_DECLS([setitimer], [], [], [[
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+]])
+
 AC_CHECK_DECLS([sigaction], , , [#include <csignal>])
 
 # Checks for typedefs, structures, and compiler characteristics.
@@ -1482,8 +1549,7 @@ AC_CHECK_TYPES([siginfo_t], [], [], [[
 #include <signal.h>
 ]])
 
-# Check whether the IEEE inexact flag is supported and available to
-# C++ programs.
+# Check whether we can limit memory in C and C++ using setrlimit().
 AC_CXX_SUPPORTS_LIMITING_MEMORY
 
 # Checks for library functions.
@@ -1546,6 +1612,8 @@ AC_CONFIG_FILES(Makefile
                 tests/Makefile
                 tests/BD_Shape/Makefile
                 tests/Box/Makefile
+                tests/Concrete_Expression/Makefile
+                tests/CO_Tree/Makefile
                 tests/Grid/Makefile
                 tests/MIP_Problem/Makefile
                 tests/Octagonal_Shape/Makefile
@@ -1553,6 +1621,7 @@ AC_CONFIG_FILES(Makefile
                 tests/PIP_Problem/Makefile
                 tests/Polyhedron/Makefile
                 tests/Powerset/Makefile
+                tests/Watchdog/Makefile
                 utils/Makefile
                 m4/Makefile
                 demos/Makefile
diff --git a/debian/changelog b/debian/changelog
index 5f676c1..4365fce 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,23 @@
-ppl (1:0.11.2-9) unstable; urgency=low
+ppl (1:1.0-3) experimental; urgency=low
 
-  * Bump epoch to overwrite an upload of ppl-1.0 to unstable.
+  * Bump the epoch (and the release number, because the archive software
+    can't handle 1:1.0-2 after an 1.0-2 upload), upload to experimental
+    this time.
 
- -- Matthias Klose <doko at debian.org>  Thu, 31 Jan 2013 16:22:27 +0100
+ -- Matthias Klose <doko at debian.org>  Thu, 31 Jan 2013 22:31:14 +0100
+
+ppl (1.0-2) unstable; urgency=low
+
+  * Fix build failure in testsuite on sparc, s390, s390x.
+  * Don't try to build the prolog bindings on arm64 and hurd-i386.
+
+ -- Matthias Klose <doko at debian.org>  Thu, 31 Jan 2013 13:45:12 +0100
+
+ppl (1.0-1) experimental; urgency=low
+
+  * New upstream version. Closes: #680897.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 27 Jan 2013 23:15:02 +0100
 
 ppl (0.11.2-8) unstable; urgency=low
 
diff --git a/debian/control b/debian/control
index 70dc9d0..7a048fd 100644
--- a/debian/control
+++ b/debian/control
@@ -4,12 +4,12 @@ Priority: optional
 Maintainer: Debian GCC Maintainers <debian-gcc at lists.debian.org>
 Uploaders: Michael Tautschnig <mt at debian.org>, Arthur Loiret <aloiret at debian.org>, Matthias Klose <doko at debian.org>
 Standards-Version: 3.9.3
-Build-Depends: debhelper (>= 6.0.7~), libgmp-dev, autoconf, libtool, autotools-dev, swi-prolog [!hurd-i386 !mips], chrpath,
+Build-Depends: debhelper (>= 6.0.7~), libgmp-dev, autoconf, libtool, autotools-dev, swi-prolog [!hurd-i386], chrpath,
  libncurses5-dev, libncursesw5-dev
 Build-Depends-Indep: doxygen-latex, graphviz, poppler-utils, ghostscript, texlive-math-extra
 Homepage: http://www.cs.unipr.it/ppl/
 
-Package: libppl9
+Package: libppl12
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
@@ -25,16 +25,16 @@ Description: Parma Polyhedra Library (runtime library)
  limitation to the dimension of anything), written in standard C++,
  exception-safe, rather efficient and thoroughly documented.
 
-Package: libppl0.11-dev
+Package: libppl0.12-dev
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
 Section: libdevel
-Depends: libppl9 (= ${binary:Version}), libppl-c4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: libppl12 (= ${binary:Version}), libppl-c4 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
 Provides: libppl-c-dev, libppl-dev
 Recommends: libgmp3-dev (>= 4.1.3)
 Replaces: libppl6, libppl7 (<< 0.10~pre27-4), libppl9
-Conflicts: libppl0.10-dev
+Conflicts: libppl0.10-dev, libppl0.11-dev
 Suggests: libppl-doc
 Description: Parma Polyhedra Library (development)
  The Parma Polyhedra Library (PPL) is a C++ library for the
@@ -54,8 +54,8 @@ Package: ppl-dev
 Architecture: any
 Pre-Depends: ${misc:Pre-Depends}
 Section: devel
-Depends: libppl0.11-dev (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Replaces: libppl0.11-dev (<< 0.11.2-8~)
+Depends: libppl0.12-dev (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Replaces: libppl0.11-dev
 Description: Parma Polyhedra Library (development binaries)
  The Parma Polyhedra Library (PPL) is a C++ library for the
  manipulation of (not necessarily closed) convex polyhedra and other
@@ -73,7 +73,7 @@ Package: libppl-c4
 Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
-Depends: libppl9 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Depends: libppl12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
 Description: Parma Polyhedra Library (C interface)
  The Parma Polyhedra Library (PPL) is a C++ library for the
  manipulation of (not necessarily closed) convex polyhedra and other
@@ -87,38 +87,10 @@ Description: Parma Polyhedra Library (C interface)
  .
  This package provides the C interface.
 
-Package: libpwl5
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Provides: libppl-pwl
-Description: Parma Watchdog Library (Watchdog timers - runtime library)
- The Parma Watchdog Library (PWL) provides support for multiple,
- concurrent watchdog timers on systems providing setitimer(2).  The
- PWL is currently distributed with the Parma Polyhedra Library (PPL),
- but is totally independent from it.
-
-Package: libpwl-dev
-Architecture: any
-Multi-Arch: same
-Pre-Depends: ${misc:Pre-Depends}
-Section: libdevel
-Depends: libpwl5 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
-Provides: libppl-pwl-dev
-Replaces: libpwl3, libpwl4
-Description: Parma Watchdog Library (Watchdog timers - development)
- The Parma Watchdog Library (PWL) provides support for multiple,
- concurrent watchdog timers on systems providing setitimer(2).  The
- PWL is currently distributed with the Parma Polyhedra Library (PPL),
- but is totally independent from it.
- .
- This package provides the header files and static libraries.
-
 Package: libppl-doc
 Architecture: all
 Section: doc
-Depends: ${misc:Depends}
+Depends: ${misc:Depends}, libjs-query
 Description: Parma Polyhedra Library: Documentation
  The Parma Polyhedra Library (PPL) is a C++ library for the
  manipulation of (not necessarily closed) convex polyhedra and other
@@ -133,10 +105,10 @@ Description: Parma Polyhedra Library: Documentation
  This package provides the documentation.
 
 Package: libppl-swi
-Architecture: alpha amd64 armel hppa i386 ia64 kfreebsd-amd64 kfreebsd-i386 mipsel powerpc s390 sparc 
+Architecture: any
 Multi-Arch: same
 Pre-Depends: ${misc:Pre-Depends}
-Depends: libppl9 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, swi-prolog
+Depends: libppl12 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, swi-prolog
 Description: Parma Polyhedra Library (SWI Prolog interface)
  The Parma Polyhedra Library (PPL) is a C++ library for the
  manipulation of (not necessarily closed) convex polyhedra and other
diff --git a/debian/copyright b/debian/copyright
index 89ad9e3..ae63f00 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -100,14 +100,14 @@ src/Grid.types.hh
 src/Poly_Con_Relation.types.hh
 tests/Partial_Function.types.hh
 tests/Random_Number_Generator.types.hh
-Watchdog/src/Pending_Element.types.hh
-Watchdog/src/EList_Iterator.types.hh
-Watchdog/src/EList.types.hh
-Watchdog/src/Handler.types.hh
-Watchdog/src/Time.types.hh
-Watchdog/src/Doubly_Linked_Object.types.hh
-Watchdog/src/Watchdog.types.hh
-Watchdog/src/Pending_List.types.hh
+src/Pending_Element.types.hh
+src/EList_Iterator.types.hh
+src/EList.types.hh
+src/Handler.types.hh
+src/Time.types.hh
+src/Doubly_Linked_Object.types.hh
+src/Watchdog.types.hh
+src/Pending_List.types.hh
 src/OR_Matrix.types.hh
 src/Interval_Info.types.hh
 src/Bit_Row.types.hh
diff --git a/debian/libppl-c4.links b/debian/libppl-c4.links
index 60c7b5a..88a8ccd 100644
--- a/debian/libppl-c4.links
+++ b/debian/libppl-c4.links
@@ -1 +1 @@
-usr/share/doc/libppl9 usr/share/doc/libppl-c4
+usr/share/doc/libppl12 usr/share/doc/libppl-c4
diff --git a/debian/libppl-swi.install b/debian/libppl-swi.install
index 4c9ed6f..f2215ee 100644
--- a/debian/libppl-swi.install
+++ b/debian/libppl-swi.install
@@ -1,3 +1,3 @@
 usr/lib/*/ppl/libppl_swiprolog.so
 usr/lib/*/ppl/libppl_swiprolog.a
-usr/lib/*/ppl/ppl_swiprolog.*
+usr/share/ppl/ppl_swiprolog.*
diff --git a/debian/libppl-swi.links b/debian/libppl-swi.links
index 0b42e87..24ed755 100644
--- a/debian/libppl-swi.links
+++ b/debian/libppl-swi.links
@@ -1 +1 @@
-usr/share/doc/libppl9 usr/share/doc/libppl-swi
+usr/share/doc/libppl12 usr/share/doc/libppl-swi
diff --git a/debian/libppl0.11-dev.dirs b/debian/libppl0.12-dev.dirs
similarity index 100%
rename from debian/libppl0.11-dev.dirs
rename to debian/libppl0.12-dev.dirs
diff --git a/debian/libppl0.11-dev.docs b/debian/libppl0.12-dev.docs
similarity index 100%
rename from debian/libppl0.11-dev.docs
rename to debian/libppl0.12-dev.docs
diff --git a/debian/libppl0.11-dev.install b/debian/libppl0.12-dev.install
similarity index 100%
rename from debian/libppl0.11-dev.install
rename to debian/libppl0.12-dev.install
diff --git a/debian/libppl9.dirs b/debian/libppl12.dirs
similarity index 100%
rename from debian/libppl9.dirs
rename to debian/libppl12.dirs
diff --git a/debian/libppl9.docs b/debian/libppl12.docs
similarity index 100%
rename from debian/libppl9.docs
rename to debian/libppl12.docs
diff --git a/debian/libppl9.install b/debian/libppl12.install
similarity index 100%
rename from debian/libppl9.install
rename to debian/libppl12.install
diff --git a/debian/libpwl-dev.dirs b/debian/libpwl-dev.dirs
deleted file mode 100644
index e43b95c..0000000
--- a/debian/libpwl-dev.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/include
diff --git a/debian/libpwl-dev.docs b/debian/libpwl-dev.docs
deleted file mode 100644
index 3dd7beb..0000000
--- a/debian/libpwl-dev.docs
+++ /dev/null
@@ -1,4 +0,0 @@
-Watchdog/BUGS
-Watchdog/NEWS
-Watchdog/README
-Watchdog/CREDITS
diff --git a/debian/libpwl-dev.install b/debian/libpwl-dev.install
deleted file mode 100644
index 686d81c..0000000
--- a/debian/libpwl-dev.install
+++ /dev/null
@@ -1,4 +0,0 @@
-usr/include/pwl.hh
-
-usr/lib/*/libpwl.a
-usr/lib/*/libpwl.so
diff --git a/debian/libpwl-dev/usr/share/doc/libpwl-dev/changelog.Debian b/debian/libpwl-dev/usr/share/doc/libpwl-dev/changelog.Debian
new file mode 100644
index 0000000..4bcd67e
--- /dev/null
+++ b/debian/libpwl-dev/usr/share/doc/libpwl-dev/changelog.Debian
@@ -0,0 +1,365 @@
+ppl (1.0-1) experimental; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 27 Jan 2013 23:15:02 +0100
+
+ppl (0.11.2-8) unstable; urgency=low
+
+  * Split out a ppl-dev package with the ppl-config binary.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 15 Aug 2012 15:56:30 +0200
+
+ppl (0.11.2-7) unstable; urgency=low
+
+  * Mark libppl0.11-dev as Multi-Arch: same again, and install the header
+    files in the multiarch include path.
+    Needs a follow-up patch to split out the ppl-config binary.
+  * Disable the build of the swi prolog bindings for DEB_STAGE 1 builds.
+    Closes: #645003.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 07 Aug 2012 12:49:10 +0200
+
+ppl (0.11.2-6.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+
+  [ Colin Watson <cjwatson at ubuntu.com> ]
+  * Build the test suite with -gstabs rather than -g on powerpc, to avoid
+    running out of memory, see Ubuntu bug #941676 (Closes: #683767)
+
+ -- Nicolas Boulenguez <nicolas.boulenguez at free.fr>  Fri, 03 Aug 2012 18:50:55 +0200
+
+ppl (0.11.2-6.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+
+  [ Artur Rona <ari-tczew at tlen.pl> ]
+  * debian/control: Add libncursesw5-dev to Build-Depends due to
+    missing library, fixes FTBFS. (Closes: #669479)
+
+  [ Nicolas Boulenguez ]
+  * Remove usr/bin/ppl_pl from libppl-swi multiarch package (see #670024).
+    Document equivalent functionality with the shared library.
+  * control: libppl0.11-dev cannot be Multi-Arch: same because it contains
+    arch-dependent headers (see #670025).
+  * avoid_obsolete_installdox.patch: backport part of an upstream commit.
+    Doxygen 1.8 does not use installdox anymore. (Closes: #680896)
+
+ -- Nicolas Boulenguez <nicolas.boulenguez at free.fr>  Tue, 17 Jul 2012 23:26:41 +0200
+
+ppl (0.11.2-6) unstable; urgency=low
+
+  * Build-depend on libncurses5-dev, until swi-prolog-nox depends on it.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 11 Oct 2011 12:14:46 +0200
+
+ppl (0.11.2-5) unstable; urgency=low
+
+  * Install into multiarch locations.
+  * Use dpkg-buildflags to set CFLAGS/LDFLAGS.
+  * Move changes into patch file. Closes: #643253.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 10 Oct 2011 18:45:44 +0200
+
+ppl (0.11.2-4) unstable; urgency=low
+   
+  * Patch away unused variables. Closes: #625417.
+  * Don't ship libppl_swiprolog.la. Closes: #633365.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 10 Jul 2011 12:05:38 +0200
+
+ppl (0.11.2-3) unstable; urgency=low
+   
+  * Build-depends-indep: re-added texlive-math-extra. Closes: #618148.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 14 Mar 2011 19:57:06 +0100
+
+ppl (0.11.2-2) unstable; urgency=low
+   
+  * Build-depends libgmp-dev instead of libgmp3-dev.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 08 Mar 2011 01:14:00 +0100
+
+ppl (0.11.2-1) unstable; urgency=low
+   
+  * New upstream version.
+  * Upload to unstable.
+  * Build-depend on doxygen-latex instead of latex-xcolor and texlive-* stuff.
+    Closes: #616275.
+  * Refined watch file pattern.
+
+ -- Michael Tautschnig <mt at debian.org>  Thu, 03 Mar 2011 12:50:57 +0100
+
+ppl (0.11-3) experimental; urgency=low
+   
+  * Build-depend on latex-xcolor. Closes: #606277,#606233.
+  * libppl0.11-dev: Conflicts with libppl0.10-dev. Closes: #608454.
+  * Thanks Matthias Klose for doing all the work.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 19 Jan 2011 21:55:49 +0100
+
+ppl (0.11-2) experimental; urgency=low
+   
+  * Again disable 2 Prolog tests as there is some failure on PowerPC only that
+    I'm unable to debug (see also 0.10.2-5).
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 07 Nov 2010 19:39:32 +0100
+
+ppl (0.11-1) experimental; urgency=low
+
+  * New upstream release.
+    - Dropped all patches as these issues have been fixed upstream.
+    - Re-enabled Prolog interface on m68k as swi-prolog is now handled more
+      flexibly by upstream.
+    - SONAME bumps: libppl7 -> libppl9, libppl-c2 -> libppl-c4, libpwl4 ->
+      libpwl5
+  * Use release directories in watch file for better reliablity (upstream
+    hasn't updated LATEST link).
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 31 Oct 2010 13:41:36 +0100
+
+ppl (0.10.2-9) unstable; urgency=low
+
+  * m68k hasn't fully caught up yet, don't build PPL Prolog interface on m68k.
+    Closes: #601445.
+  * Re-enabled Prolog interface on kfreebsd-* as swi-prolog is now available.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 26 Oct 2010 14:18:12 +0200
+
+ppl (0.10.2-8) unstable; urgency=low
+
+  * Ignore testsuite failures on armel as these seem to be caused by
+    miscompilation, see #593324.
+  * No more swi-prolog on mips, don't build PPL Prolog interface on mips.
+    Closes: #593393.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 06 Sep 2010 12:31:59 +0200
+
+ppl (0.10.2-7) unstable; urgency=low
+
+  * Drop xpdf-utils from build depends to fix FTBFS. Closes: #591155.
+  * Bumped Standars-Version to 3.9.1 (no changes).
+  * Specifically require automake1.10 as we modify some Makefile.am.
+  * swi-prolog now ships executable linker as swipl-ld.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 01 Aug 2010 12:22:05 +0200
+
+ppl (0.10.2-6) unstable; urgency=low
+
+  * Another bugfix to work around incomplete signal handling on hurd.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 02 Mar 2010 16:08:49 +0100
+
+ppl (0.10.2-5) unstable; urgency=low
+
+  * Dropped versioned build dep on libgmp3-dev as even etch has a sufficiently
+    new version.
+  * Dropped build dep on quilt.
+  * Added upstream patches to work around incomplete signal handling on hurd.
+  * Disable 2 Prolog tests as there is some failure on PowerPC only that I'm
+    unable to debug. Closes: #570387.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 28 Feb 2010 10:35:31 +0100
+
+ppl (0.10.2-4) unstable; urgency=low
+
+  * Switch to dpkg-source 3.0 (quilt) format, removed quilt-related code from
+    debian/rules.
+  * Bumped Standars-Version to 3.8.4 (no changes).
+  * Added ${misc:Depends} as we are using debhelper.
+  * Build SWI-Prolog bindings on linux architectures only as swi-prolog is not
+    available on others.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 03 Feb 2010 00:11:22 +0100
+
+ppl (0.10.2-3) unstable; urgency=low
+
+  * Bumped Standars-Version to 3.8.3 (no changes).
+  * Added README.source.
+  * Added current upstream patches for 0.10.2.
+  * Don't watch snapshots, only do stable releases.
+  * Added SWI-Prolog bindings (new package libppl-swi, thanks Israel Herraiz
+    <isra at herraiz.org>). Closes: #540083.
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 16 Oct 2009 12:33:08 +0200
+
+ppl (0.10.2-2) unstable; urgency=low
+
+  * debian/rules: Use findstring instead of filter. This should really run
+    the testsuite with -k on alpha.
+
+ -- Arthur Loiret <aloiret at debian.org>  Sun, 24 May 2009 07:49:26 +0000
+
+ppl (0.10.2-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Build-Depends-Indep on xpdf-utils | poppler-utils instead of xpdf-utils.
+  * Run the testsuite with -k, and never fail the build in case of regressions
+    on alpha. (this will change when graphite will be used by default in GCC).
+  * debian/patches/exception_tests_alpha: Remove.
+
+ -- Arthur Loiret <aloiret at debian.org>  Mon, 11 May 2009 22:08:57 +0000
+
+ppl (0.10.1~pre13-1) unstable; urgency=medium
+
+  * New upstream snapshot.
+    - Dropped patch for bigendian issues.
+  * urgency=medium because of FTBFS workaround.
+  * Disabled more tests on alpha - exception handling is utterly broken on
+    alpha, which will also affect users of PPL on that architecture (probably
+    GCC PR 8966) as raised exception cause immediate aborts.
+  * Re-enabled Build-Depends-Indep and adapted rules accordingly.
+    Closes: #517659.
+  * Bumped Standars-Version to 3.8.1 (no changes).
+  * Updated copyright information for several files that had been added in
+    0.10 and also have a specific license.
+  * Added comments to quilt patch (thanks lintian).
+  * Added one sentence explaining the difference between libpwl4 und
+    libpwl-dev (thanks lintian).
+  * Dropped the ChangeLog hackery using symlinks, the ChangeLog is pretty
+    small nowadays.
+  * Moved pwl.hh to libpwl-dev package.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 13 Apr 2009 08:04:52 +0200
+
+ppl (0.10-4) unstable; urgency=medium
+
+  * urgency=medium because of FTBFS workaround.
+  * With #229357 still being open, we can't use Build-Depends-Indep the way
+    policy suggests. It would have been too beautiful anyway.
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 20 Feb 2009 10:11:26 +0100
+
+ppl (0.10-3) unstable; urgency=medium
+
+  * urgency=medium because of FTBFS workaround.
+  * Exclude test11-test18 of generalizedaffineimage3.cc on alpha because of
+    bugs in gcc/exception handling.
+  * Moved the dependencies needed for building the documentation to
+    Build-Depends-Indep.
+  * Introducing quilt to manage patches.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 17 Feb 2009 09:10:34 +0100
+
+ppl (0.10-2) unstable; urgency=high
+
+  * urgency=high because of RC bug fix.
+  * Check snapshots and releases for newer versions.
+  * Proper defines on bigendian systems. Closes: #514158.
+  * Don't ignore errors while running make check (this would have made visible
+    the above bug immediately).
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 04 Feb 2009 20:42:26 +0100
+
+ppl (0.10-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 05 Nov 2008 06:54:23 +0000
+
+ppl (0.10~pre34-1) unstable; urgency=low
+
+  [ Arthur Loiret ]
+  * New upstream snapshot.
+  * Fix build on arm.  Closes: #499746.
+  * debian/libp[pw]l-dev.preinst: handle /usr/share/doc/libp[pw]l
+    symlink->directory conversion.
+  * debian/rules:
+    - Disable DH_VERBOSE by default.
+    - Some cleanup.
+  * debian/Makefile.in: Update from upstream.
+
+  [ Michael Tautschnig ]
+  * Added ocaml-nox to build-depends.
+  * Bumped libppl-c library version.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 07 Oct 2008 22:36:39 +0000
+
+ppl (0.10~pre27-4) unstable; urgency=low
+
+  * debian/rules:
+    - Always copy config.sub an config.guess since we Build-Depends on
+      autotools-dev.
+    - Fix targets to have testsuite runs.
+    - Add check to .PHONY.
+  * Move ppl_lcdd and ppl_lpsol binaries and manpages from libppl7 to
+    libppl-dev, make libppl-dev Replaces libppl7 (<< 0.10~pre27-4).
+    Closes: #499832.
+  * Make libppl-dev Replaces libppl6, ppl-config binary has moved.
+    Closes: #499830.
+  * Make libpwl-dev Replaces libpwl3, /usr/bin/libpwl.a has moved.
+    Closes: #499937.
+  * Only install huge ChangeLog into libppl-dev and libpwl-dev.
+    - Don't symlink libppl-dev /usr/share/doc dir to libppl7.
+    - Add symlinks for changelog.gz to libppl7, libppl-c0 and libpwl4.
+
+ -- Arthur Loiret <arthur.loiret at gmail.com>  Tue, 23 Sep 2008 19:53:51 +0000
+
+ppl (0.10~pre27-3) unstable; urgency=low
+
+  * Properly install ppl-config into libppl-dev package, including man page,
+    dont't put it into libppl7, removed ppl_lcdd from -dev, is in libppl7
+ 
+ -- Michael Tautschnig <mt at debian.org>  Thu, 11 Sep 2008 19:15:37 +0000
+
+ppl (0.10~pre27-2) unstable; urgency=low
+
+  * debian/rules: set texmf save_size to 10000 when building the docs
+  * debian/control: libppl-dev Provides: libppl-c-dev
+  * debian/control: Don't Recommends: graphviz, Suggests: libgmp3-doc, this is
+    pointless
+ 
+ -- Michael Tautschnig <mt at debian.org>  Thu, 11 Sep 2008 18:22:09 +0200
+
+ppl (0.10~pre27-1) unstable; urgency=low
+
+  * New upstream snapshot
+  * debian/rules: Handle nocheck and parallel=n in DEB_BUILD_OPTIONS.
+  * debian/copyright: It is now GPL 3+, not GPL 2+.
+  * debian/control: make libppl-dev Depends on libppl-c0
+  * debian/control: Set Maintainer to the Debian GCC Maintainers, add
+    Michael Tautschnig and Arthur Loiret to Uploaders.
+  * debian/rules: Run testsuite.
+  * Backport from Ubuntu:
+    - debian/control: Fix typos in short descriptions.
+  * libpwl-dev is now separated from libpwl4
+  * Added lintian override to silence warnings about empty files
+ 
+ -- Michael Tautschnig <mt at debian.org>  Wed, 10 Sep 2008 21:56:34 +0000
+
+ppl (0.9-5) unstable; urgency=low
+
+   * Added build-dep on texlive-extra-utils. Thanks Hilmar.
+   * Cleanup config.guess,config.sub as suggested in autotools-dev bug 482716
+   * Bumped standards version to 3.8.0 (no changes)
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 07:40:34 +0000
+
+ppl (0.9-4) unstable; urgency=low
+
+   * Added build-dep on texlive-fonts-recommended to fix FTBFS
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 07:40:34 +0000
+
+ppl (0.9-3) unstable; urgency=low
+
+   * Added build-dep on texlive-latex-recommended to have a4.sty
+   * Removed bashism in debian/rules
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 00:16:35 +0000
+
+ppl (0.9-2) unstable; urgency=low
+
+   * Added libppl-doc package
+   * Removed build-depends on obsolete packages
+   * Proper copyright file to include the special license used in some header
+     files
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 22 Jun 2008 02:09:30 +0200
+
+ppl (0.9-1) unstable; urgency=low
+
+   * Initial upload (closes: #409786)
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 04 Jun 2008 19:08:00 +0000
diff --git a/debian/libpwl5.dirs b/debian/libpwl5.dirs
deleted file mode 100644
index 6845771..0000000
--- a/debian/libpwl5.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib
diff --git a/debian/libpwl5.docs b/debian/libpwl5.docs
deleted file mode 100644
index 3dd7beb..0000000
--- a/debian/libpwl5.docs
+++ /dev/null
@@ -1,4 +0,0 @@
-Watchdog/BUGS
-Watchdog/NEWS
-Watchdog/README
-Watchdog/CREDITS
diff --git a/debian/libpwl5.install b/debian/libpwl5.install
deleted file mode 100644
index 5ce4390..0000000
--- a/debian/libpwl5.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/*/libpwl.so.*
diff --git a/debian/libpwl5/usr/share/doc/libpwl5/changelog.Debian b/debian/libpwl5/usr/share/doc/libpwl5/changelog.Debian
new file mode 100644
index 0000000..4bcd67e
--- /dev/null
+++ b/debian/libpwl5/usr/share/doc/libpwl5/changelog.Debian
@@ -0,0 +1,365 @@
+ppl (1.0-1) experimental; urgency=low
+
+  * New upstream version.
+
+ -- Matthias Klose <doko at debian.org>  Sun, 27 Jan 2013 23:15:02 +0100
+
+ppl (0.11.2-8) unstable; urgency=low
+
+  * Split out a ppl-dev package with the ppl-config binary.
+
+ -- Matthias Klose <doko at debian.org>  Wed, 15 Aug 2012 15:56:30 +0200
+
+ppl (0.11.2-7) unstable; urgency=low
+
+  * Mark libppl0.11-dev as Multi-Arch: same again, and install the header
+    files in the multiarch include path.
+    Needs a follow-up patch to split out the ppl-config binary.
+  * Disable the build of the swi prolog bindings for DEB_STAGE 1 builds.
+    Closes: #645003.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 07 Aug 2012 12:49:10 +0200
+
+ppl (0.11.2-6.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+
+  [ Colin Watson <cjwatson at ubuntu.com> ]
+  * Build the test suite with -gstabs rather than -g on powerpc, to avoid
+    running out of memory, see Ubuntu bug #941676 (Closes: #683767)
+
+ -- Nicolas Boulenguez <nicolas.boulenguez at free.fr>  Fri, 03 Aug 2012 18:50:55 +0200
+
+ppl (0.11.2-6.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+
+  [ Artur Rona <ari-tczew at tlen.pl> ]
+  * debian/control: Add libncursesw5-dev to Build-Depends due to
+    missing library, fixes FTBFS. (Closes: #669479)
+
+  [ Nicolas Boulenguez ]
+  * Remove usr/bin/ppl_pl from libppl-swi multiarch package (see #670024).
+    Document equivalent functionality with the shared library.
+  * control: libppl0.11-dev cannot be Multi-Arch: same because it contains
+    arch-dependent headers (see #670025).
+  * avoid_obsolete_installdox.patch: backport part of an upstream commit.
+    Doxygen 1.8 does not use installdox anymore. (Closes: #680896)
+
+ -- Nicolas Boulenguez <nicolas.boulenguez at free.fr>  Tue, 17 Jul 2012 23:26:41 +0200
+
+ppl (0.11.2-6) unstable; urgency=low
+
+  * Build-depend on libncurses5-dev, until swi-prolog-nox depends on it.
+
+ -- Matthias Klose <doko at debian.org>  Tue, 11 Oct 2011 12:14:46 +0200
+
+ppl (0.11.2-5) unstable; urgency=low
+
+  * Install into multiarch locations.
+  * Use dpkg-buildflags to set CFLAGS/LDFLAGS.
+  * Move changes into patch file. Closes: #643253.
+
+ -- Matthias Klose <doko at debian.org>  Mon, 10 Oct 2011 18:45:44 +0200
+
+ppl (0.11.2-4) unstable; urgency=low
+   
+  * Patch away unused variables. Closes: #625417.
+  * Don't ship libppl_swiprolog.la. Closes: #633365.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 10 Jul 2011 12:05:38 +0200
+
+ppl (0.11.2-3) unstable; urgency=low
+   
+  * Build-depends-indep: re-added texlive-math-extra. Closes: #618148.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 14 Mar 2011 19:57:06 +0100
+
+ppl (0.11.2-2) unstable; urgency=low
+   
+  * Build-depends libgmp-dev instead of libgmp3-dev.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 08 Mar 2011 01:14:00 +0100
+
+ppl (0.11.2-1) unstable; urgency=low
+   
+  * New upstream version.
+  * Upload to unstable.
+  * Build-depend on doxygen-latex instead of latex-xcolor and texlive-* stuff.
+    Closes: #616275.
+  * Refined watch file pattern.
+
+ -- Michael Tautschnig <mt at debian.org>  Thu, 03 Mar 2011 12:50:57 +0100
+
+ppl (0.11-3) experimental; urgency=low
+   
+  * Build-depend on latex-xcolor. Closes: #606277,#606233.
+  * libppl0.11-dev: Conflicts with libppl0.10-dev. Closes: #608454.
+  * Thanks Matthias Klose for doing all the work.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 19 Jan 2011 21:55:49 +0100
+
+ppl (0.11-2) experimental; urgency=low
+   
+  * Again disable 2 Prolog tests as there is some failure on PowerPC only that
+    I'm unable to debug (see also 0.10.2-5).
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 07 Nov 2010 19:39:32 +0100
+
+ppl (0.11-1) experimental; urgency=low
+
+  * New upstream release.
+    - Dropped all patches as these issues have been fixed upstream.
+    - Re-enabled Prolog interface on m68k as swi-prolog is now handled more
+      flexibly by upstream.
+    - SONAME bumps: libppl7 -> libppl9, libppl-c2 -> libppl-c4, libpwl4 ->
+      libpwl5
+  * Use release directories in watch file for better reliablity (upstream
+    hasn't updated LATEST link).
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 31 Oct 2010 13:41:36 +0100
+
+ppl (0.10.2-9) unstable; urgency=low
+
+  * m68k hasn't fully caught up yet, don't build PPL Prolog interface on m68k.
+    Closes: #601445.
+  * Re-enabled Prolog interface on kfreebsd-* as swi-prolog is now available.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 26 Oct 2010 14:18:12 +0200
+
+ppl (0.10.2-8) unstable; urgency=low
+
+  * Ignore testsuite failures on armel as these seem to be caused by
+    miscompilation, see #593324.
+  * No more swi-prolog on mips, don't build PPL Prolog interface on mips.
+    Closes: #593393.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 06 Sep 2010 12:31:59 +0200
+
+ppl (0.10.2-7) unstable; urgency=low
+
+  * Drop xpdf-utils from build depends to fix FTBFS. Closes: #591155.
+  * Bumped Standars-Version to 3.9.1 (no changes).
+  * Specifically require automake1.10 as we modify some Makefile.am.
+  * swi-prolog now ships executable linker as swipl-ld.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 01 Aug 2010 12:22:05 +0200
+
+ppl (0.10.2-6) unstable; urgency=low
+
+  * Another bugfix to work around incomplete signal handling on hurd.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 02 Mar 2010 16:08:49 +0100
+
+ppl (0.10.2-5) unstable; urgency=low
+
+  * Dropped versioned build dep on libgmp3-dev as even etch has a sufficiently
+    new version.
+  * Dropped build dep on quilt.
+  * Added upstream patches to work around incomplete signal handling on hurd.
+  * Disable 2 Prolog tests as there is some failure on PowerPC only that I'm
+    unable to debug. Closes: #570387.
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 28 Feb 2010 10:35:31 +0100
+
+ppl (0.10.2-4) unstable; urgency=low
+
+  * Switch to dpkg-source 3.0 (quilt) format, removed quilt-related code from
+    debian/rules.
+  * Bumped Standars-Version to 3.8.4 (no changes).
+  * Added ${misc:Depends} as we are using debhelper.
+  * Build SWI-Prolog bindings on linux architectures only as swi-prolog is not
+    available on others.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 03 Feb 2010 00:11:22 +0100
+
+ppl (0.10.2-3) unstable; urgency=low
+
+  * Bumped Standars-Version to 3.8.3 (no changes).
+  * Added README.source.
+  * Added current upstream patches for 0.10.2.
+  * Don't watch snapshots, only do stable releases.
+  * Added SWI-Prolog bindings (new package libppl-swi, thanks Israel Herraiz
+    <isra at herraiz.org>). Closes: #540083.
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 16 Oct 2009 12:33:08 +0200
+
+ppl (0.10.2-2) unstable; urgency=low
+
+  * debian/rules: Use findstring instead of filter. This should really run
+    the testsuite with -k on alpha.
+
+ -- Arthur Loiret <aloiret at debian.org>  Sun, 24 May 2009 07:49:26 +0000
+
+ppl (0.10.2-1) unstable; urgency=medium
+
+  * New upstream release.
+  * Build-Depends-Indep on xpdf-utils | poppler-utils instead of xpdf-utils.
+  * Run the testsuite with -k, and never fail the build in case of regressions
+    on alpha. (this will change when graphite will be used by default in GCC).
+  * debian/patches/exception_tests_alpha: Remove.
+
+ -- Arthur Loiret <aloiret at debian.org>  Mon, 11 May 2009 22:08:57 +0000
+
+ppl (0.10.1~pre13-1) unstable; urgency=medium
+
+  * New upstream snapshot.
+    - Dropped patch for bigendian issues.
+  * urgency=medium because of FTBFS workaround.
+  * Disabled more tests on alpha - exception handling is utterly broken on
+    alpha, which will also affect users of PPL on that architecture (probably
+    GCC PR 8966) as raised exception cause immediate aborts.
+  * Re-enabled Build-Depends-Indep and adapted rules accordingly.
+    Closes: #517659.
+  * Bumped Standars-Version to 3.8.1 (no changes).
+  * Updated copyright information for several files that had been added in
+    0.10 and also have a specific license.
+  * Added comments to quilt patch (thanks lintian).
+  * Added one sentence explaining the difference between libpwl4 und
+    libpwl-dev (thanks lintian).
+  * Dropped the ChangeLog hackery using symlinks, the ChangeLog is pretty
+    small nowadays.
+  * Moved pwl.hh to libpwl-dev package.
+
+ -- Michael Tautschnig <mt at debian.org>  Mon, 13 Apr 2009 08:04:52 +0200
+
+ppl (0.10-4) unstable; urgency=medium
+
+  * urgency=medium because of FTBFS workaround.
+  * With #229357 still being open, we can't use Build-Depends-Indep the way
+    policy suggests. It would have been too beautiful anyway.
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 20 Feb 2009 10:11:26 +0100
+
+ppl (0.10-3) unstable; urgency=medium
+
+  * urgency=medium because of FTBFS workaround.
+  * Exclude test11-test18 of generalizedaffineimage3.cc on alpha because of
+    bugs in gcc/exception handling.
+  * Moved the dependencies needed for building the documentation to
+    Build-Depends-Indep.
+  * Introducing quilt to manage patches.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 17 Feb 2009 09:10:34 +0100
+
+ppl (0.10-2) unstable; urgency=high
+
+  * urgency=high because of RC bug fix.
+  * Check snapshots and releases for newer versions.
+  * Proper defines on bigendian systems. Closes: #514158.
+  * Don't ignore errors while running make check (this would have made visible
+    the above bug immediately).
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 04 Feb 2009 20:42:26 +0100
+
+ppl (0.10-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 05 Nov 2008 06:54:23 +0000
+
+ppl (0.10~pre34-1) unstable; urgency=low
+
+  [ Arthur Loiret ]
+  * New upstream snapshot.
+  * Fix build on arm.  Closes: #499746.
+  * debian/libp[pw]l-dev.preinst: handle /usr/share/doc/libp[pw]l
+    symlink->directory conversion.
+  * debian/rules:
+    - Disable DH_VERBOSE by default.
+    - Some cleanup.
+  * debian/Makefile.in: Update from upstream.
+
+  [ Michael Tautschnig ]
+  * Added ocaml-nox to build-depends.
+  * Bumped libppl-c library version.
+
+ -- Michael Tautschnig <mt at debian.org>  Tue, 07 Oct 2008 22:36:39 +0000
+
+ppl (0.10~pre27-4) unstable; urgency=low
+
+  * debian/rules:
+    - Always copy config.sub an config.guess since we Build-Depends on
+      autotools-dev.
+    - Fix targets to have testsuite runs.
+    - Add check to .PHONY.
+  * Move ppl_lcdd and ppl_lpsol binaries and manpages from libppl7 to
+    libppl-dev, make libppl-dev Replaces libppl7 (<< 0.10~pre27-4).
+    Closes: #499832.
+  * Make libppl-dev Replaces libppl6, ppl-config binary has moved.
+    Closes: #499830.
+  * Make libpwl-dev Replaces libpwl3, /usr/bin/libpwl.a has moved.
+    Closes: #499937.
+  * Only install huge ChangeLog into libppl-dev and libpwl-dev.
+    - Don't symlink libppl-dev /usr/share/doc dir to libppl7.
+    - Add symlinks for changelog.gz to libppl7, libppl-c0 and libpwl4.
+
+ -- Arthur Loiret <arthur.loiret at gmail.com>  Tue, 23 Sep 2008 19:53:51 +0000
+
+ppl (0.10~pre27-3) unstable; urgency=low
+
+  * Properly install ppl-config into libppl-dev package, including man page,
+    dont't put it into libppl7, removed ppl_lcdd from -dev, is in libppl7
+ 
+ -- Michael Tautschnig <mt at debian.org>  Thu, 11 Sep 2008 19:15:37 +0000
+
+ppl (0.10~pre27-2) unstable; urgency=low
+
+  * debian/rules: set texmf save_size to 10000 when building the docs
+  * debian/control: libppl-dev Provides: libppl-c-dev
+  * debian/control: Don't Recommends: graphviz, Suggests: libgmp3-doc, this is
+    pointless
+ 
+ -- Michael Tautschnig <mt at debian.org>  Thu, 11 Sep 2008 18:22:09 +0200
+
+ppl (0.10~pre27-1) unstable; urgency=low
+
+  * New upstream snapshot
+  * debian/rules: Handle nocheck and parallel=n in DEB_BUILD_OPTIONS.
+  * debian/copyright: It is now GPL 3+, not GPL 2+.
+  * debian/control: make libppl-dev Depends on libppl-c0
+  * debian/control: Set Maintainer to the Debian GCC Maintainers, add
+    Michael Tautschnig and Arthur Loiret to Uploaders.
+  * debian/rules: Run testsuite.
+  * Backport from Ubuntu:
+    - debian/control: Fix typos in short descriptions.
+  * libpwl-dev is now separated from libpwl4
+  * Added lintian override to silence warnings about empty files
+ 
+ -- Michael Tautschnig <mt at debian.org>  Wed, 10 Sep 2008 21:56:34 +0000
+
+ppl (0.9-5) unstable; urgency=low
+
+   * Added build-dep on texlive-extra-utils. Thanks Hilmar.
+   * Cleanup config.guess,config.sub as suggested in autotools-dev bug 482716
+   * Bumped standards version to 3.8.0 (no changes)
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 07:40:34 +0000
+
+ppl (0.9-4) unstable; urgency=low
+
+   * Added build-dep on texlive-fonts-recommended to fix FTBFS
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 07:40:34 +0000
+
+ppl (0.9-3) unstable; urgency=low
+
+   * Added build-dep on texlive-latex-recommended to have a4.sty
+   * Removed bashism in debian/rules
+
+ -- Michael Tautschnig <mt at debian.org>  Fri, 04 Jul 2008 00:16:35 +0000
+
+ppl (0.9-2) unstable; urgency=low
+
+   * Added libppl-doc package
+   * Removed build-depends on obsolete packages
+   * Proper copyright file to include the special license used in some header
+     files
+
+ -- Michael Tautschnig <mt at debian.org>  Sun, 22 Jun 2008 02:09:30 +0200
+
+ppl (0.9-1) unstable; urgency=low
+
+   * Initial upload (closes: #409786)
+
+ -- Michael Tautschnig <mt at debian.org>  Wed, 04 Jun 2008 19:08:00 +0000
diff --git a/debian/patches/avoid_obsolete_installdox.patch b/debian/patches/avoid_obsolete_installdox.patch
deleted file mode 100644
index 75cadb4..0000000
--- a/debian/patches/avoid_obsolete_installdox.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-Description: installdox removed from doxygen
- Allthough described in doxygen 1.8 documentation, the installdox
- command is neither generated nor needed anymore by doxygen 1.8.
- .
- Current Debian build system does not refresh Makefile.in from Makefile.am,
- so we only change the latter to minimize the changeset.
- .
- Next upstream version updates Makefile.am anyway.
-Origin: commit:http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commitdiff;h=daeeb34660099b742150e96df970e3b1a6a882da
-Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?archive=no&bug=680896
-Applied-Upstream: commit:http://www.cs.unipr.it/git/gitweb.cgi?p=ppl/ppl.git;a=commitdiff;h=daeeb34660099b742150e96df970e3b1a6a882da
-
-Index: b/doc/Makefile.in
-===================================================================
---- a/doc/Makefile.in	2012-07-17 18:57:00.000000000 +0200
-+++ b/doc/Makefile.in	2012-07-19 02:10:03.000000000 +0200
-@@ -340,7 +340,6 @@
- yap_prolog = @yap_prolog@
- txtdir = $(docdir)
- DOXYGEN = doxygen
--INSTALLDOX = ./installdox -q
- PDF_LICENSES = \
- gpl.pdf \
- fdl.pdf
-@@ -1695,8 +1694,6 @@
- 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_USER)"'|' \
- 	    $<  > Doxyfile.user-c-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-c-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- ppl-devref-c-interface- at VERSION@-html: \
- devref-language-interface.doxyconf \
-@@ -1709,8 +1706,6 @@
- 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_DEVREF)"'|' \
- 	    $<  > Doxyfile.devref-c-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-c-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- 
- user-prolog-interface.latex-dir: \
- user-language-interface.doxyconf \
-@@ -1753,8 +1748,6 @@
- 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_USER)"'|' \
- 	  $<  > Doxyfile.user-prolog-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-prolog-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- ppl-devref-prolog-interface- at VERSION@-html: \
- devref-language-interface.doxyconf \
-@@ -1767,8 +1760,6 @@
- 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_DEVREF)"'|' \
- 	  $<  > Doxyfile.devref-prolog-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-prolog-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- 
- user-ocaml-interface.latex-dir: \
- user-language-interface.doxyconf \
-@@ -1815,8 +1806,6 @@
- 	    -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_USER)"'|' \
- 	    $<  > Doxyfile.user-ocaml-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-ocaml-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 	mkdir $@/ocamldoc
- 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
- 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
-@@ -1832,8 +1821,6 @@
- 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_DEVREF)"'|' \
- 	  $<  > Doxyfile.devref-ocaml-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-ocaml-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- 	mkdir $@/ocamldoc
- 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
- 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
-@@ -1879,8 +1866,6 @@
- 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_USER)"'|' \
- 	  $<  > Doxyfile.user-java-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-java-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- ppl-devref-java-interface- at VERSION@-html: \
- devref-language-interface.doxyconf \
-@@ -1893,8 +1878,6 @@
- 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_DEVREF)"'|' \
- 	  $<  > Doxyfile.devref-java-interface-html
- 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-java-interface-html
--	(cd $@; $(INSTALLDOX) \
--		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- # FIXME add generated files
- 
- @BUILD_C_INTERFACE_TRUE at user-configured-c-interface.latex-dir: \
-@@ -1940,8 +1923,6 @@
- @BUILD_C_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_USER)"'|' \
- @BUILD_C_INTERFACE_TRUE@	    $<  > Doxyfile.user-configured-c-interface-html
- @BUILD_C_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-c-interface-html
-- at BUILD_C_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_C_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- @BUILD_C_INTERFACE_TRUE at ppl-devref-configured-c-interface-@VERSION at -html: \
- @BUILD_C_INTERFACE_TRUE at devref-language-interface.doxyconf \
-@@ -1954,8 +1935,6 @@
- @BUILD_C_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_DEVREF)"'|' \
- @BUILD_C_INTERFACE_TRUE@	    $<  > Doxyfile.devref-configured-c-interface-html
- @BUILD_C_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-c-interface-html
-- at BUILD_C_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_C_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- # FIXME: add appropriate generated files.
- 
- @BUILD_SOME_PROLOG_INTERFACES_TRUE at user-configured-prolog-interface.latex-dir: \
-@@ -2001,8 +1980,6 @@
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_USER)"'|' \
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  $<  > Doxyfile.user-configured-prolog-interface-html
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-prolog-interface-html
-- at BUILD_SOME_PROLOG_INTERFACES_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_SOME_PROLOG_INTERFACES_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl-devref-configured-prolog-interface-@VERSION at -html: \
- @BUILD_SOME_PROLOG_INTERFACES_TRUE at devref-language-interface.doxyconf \
-@@ -2015,8 +1992,6 @@
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_DEVREF)"'|' \
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  $<  > Doxyfile.devref-configured-prolog-interface-html
- @BUILD_SOME_PROLOG_INTERFACES_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-prolog-interface-html
-- at BUILD_SOME_PROLOG_INTERFACES_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_SOME_PROLOG_INTERFACES_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- 
- @BUILD_OCAML_INTERFACE_TRUE at user-configured-ocaml-interface.latex-dir: \
- @BUILD_OCAML_INTERFACE_TRUE at user-language-interface.doxyconf \
-@@ -2065,8 +2040,6 @@
- @BUILD_OCAML_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_USER)"'|' \
- @BUILD_OCAML_INTERFACE_TRUE@	    $<  > Doxyfile.user-configured-ocaml-interface-html
- @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-ocaml-interface-html
-- at BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_OCAML_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
- @BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
- @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
-@@ -2082,8 +2055,6 @@
- @BUILD_OCAML_INTERFACE_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_DEVREF)"'|' \
- @BUILD_OCAML_INTERFACE_TRUE@	  $<  > Doxyfile.devref-configured-ocaml-interface-html
- @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-ocaml-interface-html
-- at BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_OCAML_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
- @BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
- @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
-@@ -2147,8 +2118,6 @@
- @BUILD_JAVA_INTERFACE_TRUE@	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
- @BUILD_JAVA_INTERFACE_TRUE@	    >> Doxyfile.user-configured-java-interface-html
- @BUILD_JAVA_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-java-interface-html
-- at BUILD_JAVA_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_JAVA_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
- 
- @BUILD_JAVA_INTERFACE_TRUE at ppl-devref-configured-java-interface-@VERSION at -html: \
- @BUILD_JAVA_INTERFACE_TRUE at devref-language-interface.doxyconf \
-@@ -2163,8 +2132,6 @@
- @BUILD_JAVA_INTERFACE_TRUE@	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
- @BUILD_JAVA_INTERFACE_TRUE@	    >> Doxyfile.devref-configured-java-interface-html
- @BUILD_JAVA_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-java-interface-html
-- at BUILD_JAVA_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
-- at BUILD_JAVA_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
- 
- ############################################################################
- 
diff --git a/debian/patches/fix_ftbfs.diff b/debian/patches/fix_ftbfs.diff
new file mode 100644
index 0000000..95360ba
--- /dev/null
+++ b/debian/patches/fix_ftbfs.diff
@@ -0,0 +1,19 @@
+From 3822e9ecd0783a5743dd48cda86ae17ba702c468 Mon Sep 17 00:00:00 2001
+From: Abramo Bagnara <abramo.bagnara at bugseng.com>
+Date: Wed, 30 Jan 2013 09:20:06 +0100
+Subject: [PATCH] Added missing line.
+
+---
+ src/Float_defs.hh |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+--- a/src/Float.defs.hh
++++ b/src/Float.defs.hh
+@@ -261,6 +261,7 @@
+   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+ 					- static_cast<int>(MANTISSA_BITS);
++  static const Floating_Point_Format floating_point_format = IEEE754_QUAD;
+   int inf_sign() const;
+   bool is_nan() const;
+   int zero_sign() const;
diff --git a/debian/patches/local_changes.diff b/debian/patches/local_changes.diff
index 48bf0a9..650dd40 100644
--- a/debian/patches/local_changes.diff
+++ b/debian/patches/local_changes.diff
@@ -1,263 +1,8 @@
-Description: <short summary of the patch>
- TODO: Put a short summary on the line above and replace this paragraph
- with a longer explanation of this change. Complete the meta-information
- with other relevant fields (see below for details). To make it easier, the
- information below has been extracted from the changelog. Adjust it or drop
- it.
- .
- ppl (0.11.2-5) unstable; urgency=low
- .
-   * Install into multiarch locations.
-   * Use dpkg-buildflags to set CFLAGS/LDFLAGS.
-   * Move changes into patch file. Closes: #643253.
-Author: Matthias Klose <doko at debian.org>
-Bug-Debian: http://bugs.debian.org/643253
-
----
-The information above should follow the Patch Tagging Guidelines, please
-checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
-are templates for supplementary fields that you might want to add:
-
-Origin: <vendor|upstream|other>, <url of original patch>
-Bug: <url in upstream bugtracker>
-Bug-Debian: http://bugs.debian.org/<bugnumber>
-Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
-Forwarded: <no|not-needed|url proving that it has been forwarded>
-Reviewed-By: <name and email of someone who approved the patch>
-Last-Update: <YYYY-MM-DD>
-
---- ppl-0.11.2.orig/Watchdog/tests/pwl_test.hh
-+++ ppl-0.11.2/Watchdog/tests/pwl_test.hh
-@@ -118,12 +118,16 @@ catch (const std::exception& e) {					\
- #define DO_TEST(test)			 \
-   ANNOUNCE_TEST(test);			 \
-   RUN_TEST(test);			 \
-+  /* dummy use to make gcc happy */ \
-+  overflow = overflow; \
-   if (!succeeded)			 \
-     failed_tests.push_back(#test);
- 
- #define DO_TEST_F(test)			 \
-   ANNOUNCE_TEST(test);			 \
-   RUN_TEST(test);			 \
-+  /* dummy use to make gcc happy */ \
-+  overflow = overflow; \
-   if (succeeded)			 \
-     failed_tests.push_back(#test);
- 
---- ppl-0.11.2.orig/src/wrap_assign.hh
-+++ ppl-0.11.2/src/wrap_assign.hh
-@@ -123,8 +123,8 @@ wrap_assign_col(PSET& dest,
-     PSET p(src);
-     if (pcs != 0)
-       p.refine_with_constraints(*pcs);
--    for (Variables_Set::const_iterator i = vars.begin(),
--           vars_end = vars.end(); i != vars.end(); ++i) {
-+    for (Variables_Set::const_iterator i = vars.begin();
-+           i != vars.end(); ++i) {
-       const Variable x = Variable(*i);
-       p.refine_with_constraint(min_value <= x);
-       p.refine_with_constraint(x <= max_value);
---- ppl-0.11.2.orig/src/Interval.templates.hh
-+++ ppl-0.11.2/src/Interval.templates.hh
-@@ -33,7 +33,7 @@ template <typename C>
- typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
- Interval<Boundary, Info>::lower_extend(const C& c) {
-   PPL_ASSERT(OK());
--  bool open;
-+  bool open = false;
-   switch (c.rel()) {
-   case V_LGE:
-     return lower_extend();
-@@ -59,7 +59,7 @@ template <typename C>
- typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
- Interval<Boundary, Info>::upper_extend(const C& c) {
-   PPL_ASSERT(OK());
--  bool open;
-+  bool open = false;
-   switch (c.rel()) {
-   case V_LGE:
-     return lower_extend();
---- ppl-0.11.2.orig/src/Interval.inlines.hh
-+++ ppl-0.11.2/src/Interval.inlines.hh
-@@ -342,9 +342,8 @@ Interval<To_Boundary, To_Info>::intersec
-   PPL_ASSERT(f_OK(x));
-   if (!intersect_restriction(info(), *this, x))
-     return assign(EMPTY);
--  Result rl, ru;
--  rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
--  ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-+  max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-+  min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-   PPL_ASSERT(OK());
-   return I_ANY;
- }
---- ppl-0.11.2.orig/src/Grid_public.cc
-+++ ppl-0.11.2/src/Grid_public.cc
-@@ -2734,8 +2734,8 @@ PPL::Grid::wrap_assign(const Variables_S
-     PPL_DIRTY_TEMP_COEFFICIENT(f_d);
-     PPL_DIRTY_TEMP_COEFFICIENT(v_n);
-     PPL_DIRTY_TEMP_COEFFICIENT(v_d);
--    for (Variables_Set::const_iterator i = vars.begin(),
--           vars_end = vars.end(); i != vars.end(); ++i) {
-+    for (Variables_Set::const_iterator i = vars.begin();
-+           i != vars.end(); ++i) {
-       const Variable x = Variable(*i);
-       // Find the frequency and a value for `x' in `gr'.
-       if (!gr.frequency_no_check(x, f_n, f_d, v_n, v_d))
-@@ -2816,8 +2816,8 @@ PPL::Grid::wrap_assign(const Variables_S
-   const Coefficient& div = point.divisor();
-   max_value *= div;
-   min_value *= div;
--  for (Variables_Set::const_iterator i = vars.begin(),
--         vars_end = vars.end(); i != vars.end(); ++i) {
-+  for (Variables_Set::const_iterator i = vars.begin();
-+         i != vars.end(); ++i) {
-     const Variable x = Variable(*i);
-     if (!gr.bounds_no_check(x)) {
-       // `x' is not a constant in `gr'.
-@@ -2885,8 +2885,8 @@ PPL::Grid::drop_some_non_integer_points(
-   // those points that have integer coordinates for all the dimensions
-   // in vars. All points in \p *this with non-integral coordinates for
-   // the dimensions in vars are removed.
--  for (Variables_Set::const_iterator i = vars.begin(),
--         vars_end = vars.end(); i != vars.end(); ++i)
-+  for (Variables_Set::const_iterator i = vars.begin();
-+         i != vars.end(); ++i)
-     add_congruence(Variable(*i) %= 0);
- 
-   PPL_ASSERT(OK());
---- ppl-0.11.2.orig/src/Interval.defs.hh
-+++ ppl-0.11.2/src/Interval.defs.hh
-@@ -649,7 +649,7 @@ public:
-     return true;
-   }
- 
--  Interval() {
-+  Interval() : lower_(1), upper_(0) {
-   }
- 
-   template <typename T>
---- ppl-0.11.2.orig/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-+++ ppl-0.11.2/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-@@ -808,24 +808,24 @@ ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_2_t
-    TEST_DATA \= test05,
-    (
-      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Space_Dim),
--     ((
--       class_ at DISJUNCT@ \= class_Grid,
--       ppl_bounds_test_data(TEST_DATA, @CONSTRAINER at s, LE,
--                           @ABOVEBELOW@, true))
--     ->
--       ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@(PS, LE)
--     ;
--       true
--     ),
--     ((
--       class_ at DISJUNCT@ \= class_Grid,
--       ppl_bounds_test_data(TEST_DATA, @CONSTRAINER at s, LE1,
--                           @ABOVEBELOW@, false))
--     ->
--       \+ ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@(PS, LE1)
--     ;
--       true
--     ),
-+dnl     ((
-+dnl       class_ at DISJUNCT@ \= class_Grid,
-+dnl       ppl_bounds_test_data(TEST_DATA, @CONSTRAINER at s, LE,
-+dnl                           @ABOVEBELOW@, true))
-+dnl     ->
-+dnl       ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@(PS, LE)
-+dnl     ;
-+dnl       true
-+dnl     ),
-+dnl     ((
-+dnl       class_ at DISJUNCT@ \= class_Grid,
-+dnl       ppl_bounds_test_data(TEST_DATA, @CONSTRAINER at s, LE1,
-+dnl                           @ABOVEBELOW@, false))
-+dnl     ->
-+dnl       \+ ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@(PS, LE1)
-+dnl     ;
-+dnl       true
-+dnl     ),
-      ppl_ at CLASS@_OK(PS),
-      ppl_delete_ at CLASS@(PS)
-    ->
---- ppl-0.11.2.orig/tests/ppl_test.hh
-+++ ppl-0.11.2/tests/ppl_test.hh
-@@ -129,12 +129,16 @@ catch (const std::exception& e) {					\
- #define DO_TEST(test)			 \
-   ANNOUNCE_TEST(test);			 \
-   RUN_TEST(test);			 \
-+  /* dummy use to make gcc happy */ \
-+  overflow = overflow; \
-   if (!succeeded)			 \
-     failed_tests.push_back(#test);
- 
- #define DO_TEST_F(test)                                 \
-   ANNOUNCE_TEST(test);                                  \
-   RUN_TEST(test);                                       \
-+  /* dummy use to make gcc happy */ \
-+  overflow = overflow; \
-   if (succeeded)                                        \
-     unexpectedly_succeeded_tests.push_back(#test);
- 
---- ppl-0.11.2.orig/tests/Octagonal_Shape/relatwithgen1.cc
-+++ ppl-0.11.2/tests/Octagonal_Shape/relatwithgen1.cc
-@@ -271,7 +271,7 @@ test12() {
-     // Octagon::relation_with(g):
-     // it is illegal to use a generator that is
-     // dimensional incompatible with the OS.
--    Poly_Gen_Relation rel = oc.relation_with(ray(C));
-+    oc.relation_with(ray(C));
-   }
-   catch (std::invalid_argument& e) {
-     nout << "std::invalid_argument: " << e.what() << endl;
---- ppl-0.11.2.orig/tests/Octagonal_Shape/relatwithcons2.cc
-+++ ppl-0.11.2/tests/Octagonal_Shape/relatwithcons2.cc
-@@ -305,7 +305,7 @@ test14() {
-     // Octagon::relation_with(c):
-     // it is illegal to use a constraint that is not dimension-compatible
-     // with the octagon.
--    Poly_Con_Relation rel = oc.relation_with(-C - B <= 2);
-+    oc.relation_with(-C - B <= 2);
-   }
-   catch (std::invalid_argument& e) {
-     nout << "std::invalid_argument: " << e.what() << endl;
---- ppl-0.11.2.orig/tests/Box/relations4.cc
-+++ ppl-0.11.2/tests/Box/relations4.cc
-@@ -431,7 +431,7 @@ test19() {
- 
-   try {
-     // This tests the space dimension exception..
--   Poly_Con_Relation rel = box.relation_with((A + B %= 1) / 9);
-+   box.relation_with((A + B %= 1) / 9);
-   }
-   catch (std::invalid_argument& e) {
-     nout << "std::invalid_argument: " << endl;
---- ppl-0.11.2.orig/tests/BD_Shape/relations3.cc
-+++ ppl-0.11.2/tests/BD_Shape/relations3.cc
-@@ -39,7 +39,7 @@ test01() {
-     // BD_Shape::relation_with(c):
-     // it is illegal to use a constraint that is
-     // dimensional incompatible with the BDS.
--    Poly_Con_Relation rel = bds.relation_with(C - B <= 2);
-+    bds.relation_with(C - B <= 2);
-   }
-   catch (std::invalid_argument& e) {
-     nout << "std::invalid_argument: " << endl;
-@@ -80,7 +80,7 @@ test03() {
-     // BD_Shape::relation_with(c):
-     // it is illegal to use a generator that is
-     // dimensional incompatible with the BDS.
--    Poly_Gen_Relation rel = bds.relation_with(ray(C));
-+    bds.relation_with(ray(C));
-   }
-   catch (std::invalid_argument& e) {
-     nout << "std::invalid_argument: " << endl;
---- ppl-0.11.2.orig/doc/user-language-interface.tex
-+++ ppl-0.11.2/doc/user-language-interface.tex
-@@ -53,6 +53,7 @@
+Index: b/doc/user-language-interface.tex
+===================================================================
+--- a/doc/user-language-interface.tex
++++ b/doc/user-language-interface.tex
+@@ -58,6 +58,7 @@
  \usepackage{pspicture}
  \fi
  \usepackage[utf8]{inputenc}
@@ -265,9 +10,11 @@ Last-Update: <YYYY-MM-DD>
  \usepackage{doxygen}
  <PPL_SED_USEPACKAGE_OCAMLDOC>
  \usepackage{ppl}
---- ppl-0.11.2.orig/doc/devref.tex
-+++ ppl-0.11.2/doc/devref.tex
-@@ -53,6 +53,7 @@
+Index: b/doc/devref.tex
+===================================================================
+--- a/doc/devref.tex
++++ b/doc/devref.tex
+@@ -58,6 +58,7 @@
  \usepackage{pspicture}
  \fi
  \usepackage[utf8]{inputenc}
@@ -275,9 +22,11 @@ Last-Update: <YYYY-MM-DD>
  \usepackage{doxygen}
  \usepackage{ppl}
  \makeindex
---- ppl-0.11.2.orig/doc/user.tex
-+++ ppl-0.11.2/doc/user.tex
-@@ -53,6 +53,7 @@
+Index: b/doc/user.tex
+===================================================================
+--- a/doc/user.tex
++++ b/doc/user.tex
+@@ -58,6 +58,7 @@
  \usepackage{pspicture}
  \fi
  \usepackage[utf8]{inputenc}
@@ -285,9 +34,11 @@ Last-Update: <YYYY-MM-DD>
  \usepackage{doxygen}
  \usepackage{ppl}
  \makeindex
---- ppl-0.11.2.orig/doc/devref-language-interface.tex
-+++ ppl-0.11.2/doc/devref-language-interface.tex
-@@ -53,6 +53,7 @@
+Index: b/doc/devref-language-interface.tex
+===================================================================
+--- a/doc/devref-language-interface.tex
++++ b/doc/devref-language-interface.tex
+@@ -58,6 +58,7 @@
  \usepackage{pspicture}
  \fi
  \usepackage[utf8]{inputenc}
diff --git a/debian/patches/series b/debian/patches/series
index a846982..9cf2ea6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,2 @@
 local_changes.diff
-avoid_obsolete_installdox.patch
+fix_ftbfs.diff
diff --git a/debian/ppl-doc/usr/share/doc/libppl-doc/html/user-manual/jquery.js b/debian/ppl-doc/usr/share/doc/libppl-doc/html/user-manual/jquery.js
new file mode 120000
index 0000000..e082064
--- /dev/null
+++ b/debian/ppl-doc/usr/share/doc/libppl-doc/html/user-manual/jquery.js
@@ -0,0 +1 @@
+../../../../javascript/jquery/jquery.js
\ No newline at end of file
diff --git a/debian/rules b/debian/rules
index e249003..8a03670 100755
--- a/debian/rules
+++ b/debian/rules
@@ -20,7 +20,7 @@ DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_HOST_MULTIARCH   ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
-CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall -g
+CFLAGS = $(shell dpkg-buildflags --get CPPFLAGS; dpkg-buildflags --get CFLAGS) -Wall -g
 CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) -Wall -g
 LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
 
@@ -28,13 +28,14 @@ LDFLAGS = $(shell dpkg-buildflags --get LDFLAGS)
 confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
 confflags += --disable-ppl_lpsol --disable-ppl_lcdd
 
-## Disable the SWI-Prolog interface during architecture bootstrap
-ifeq ($(DEB_STAGE),stage1)
-confflags += --enable-interfaces=c,cxx
-DH_OPTIONS += -Nlibppl-swi
-export DH_OPTIONS
+# Disable the SWI-Prolog interface during architecture bootstrap, and
+# on some architectures
+ifneq (,$(filter stage1,$(DEB_STAGE))$(filter $(DEB_HOST_ARCH),arm64 hurd-i386))
+  confflags += --enable-interfaces=c,cxx
+  DH_OPTIONS += -Nlibppl-swi
+  export DH_OPTIONS
 else
-confflags += --enable-interfaces=c,cxx,swi_prolog
+  confflags += --enable-interfaces=c,cxx,swi_prolog
 endif
 
 ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
@@ -55,7 +56,7 @@ endif
 # have to be configured before the dpkg-buildpackage command.
 PPL_VERSION = $(shell grep "^AC_INIT" $(CURDIR)/configure.ac | sed -e "s/^AC_INIT.\[[^]]*\],[ \t]*\[\([^]]*\)\],.*/\1/")
 
-ifeq (powerpc-linux-gnu,$(DEB_HOST_GNU_TYPE))
+ifneq (,$(filter $(DEB_HOST_GNU_TYPE), arm-linux-gnueabi arm-linux-gnueabihf powerpc-linux-gnu))
   # powerpc runs out of memory building the test suite with -g, but is OK
   # with -gstabs instead.
   CHECK_ENV := CFLAGS="$(CFLAGS:-g=-gstabs)" CXXFLAGS="$(CXXFLAGS:-g=-gstabs)"
@@ -67,9 +68,7 @@ configure: configure-stamp
 configure-stamp:
 	dh_testdir
 	cp -f /usr/share/misc/config.sub config.sub
-	cp -f /usr/share/misc/config.sub Watchdog/config.sub
 	cp -f /usr/share/misc/config.guess config.guess
-	cp -f /usr/share/misc/config.guess Watchdog/config.guess
 	./configure $(confflags) \
 		--prefix=/usr \
 		--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
@@ -112,8 +111,8 @@ clean:
 	rm -f configure-stamp build-stamp
 	rm -f build-arch-stamp build-indep-stamp
 	[ ! -e Makefile ] || $(MAKE) distclean
-	rm -f config.sub Watchdog/config.sub
-	rm -f config.guess Watchdog/config.guess
+	rm -f config.sub
+	rm -f config.guess
 	dh_clean
 
 install: install-indep install-arch
@@ -140,17 +139,15 @@ install-arch: build-arch check
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 	mkdir -p debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)
 	mv debian/tmp/usr/include/*.*h debian/tmp/usr/include/$(DEB_HOST_MULTIARCH)/
-	$(MAKE) -C Watchdog install DESTDIR=$(CURDIR)/debian/tmp
 	-chrpath -d \
-		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libppl.so.9.0.0 \
+		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libppl.so.12.0.0 \
 		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libppl_c.so.4.0.0 \
 		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/ppl/libppl_swiprolog.so
 
 binary-arch: install-arch
 	dh_testdir
 	dh_testroot
-	dh_installchangelogs -s -Nlibpwl-dev -Nlibpwl5 ChangeLog
-	dh_installchangelogs -plibpwl-dev -plibpwl5 Watchdog/ChangeLog
+	dh_installchangelogs -s ChangeLog
 	dh_installdocs -s
 	dh_install -s --sourcedir=debian/tmp
 #	dh_installexamples -s
@@ -176,6 +173,10 @@ binary-indep: install-indep
 	dh_install -i --sourcedir=debian/tmp
 	dh_installchangelogs -i ChangeLog
 	dh_installdocs -i
+	rm -f debian/libppl-doc/usr/share/doc/libppl-doc/html/user-manual/jquery.js
+	dh_link -pppl-doc \
+		/usr/share/javascript/jquery/jquery.js \
+		/usr/share/doc/libppl-doc/html/user-manual/jquery.js
 	dh_link -i
 	dh_compress -i
 	dh_fixperms -i
diff --git a/debian/watch b/debian/watch
index 1e462c0..d0f2f17 100644
--- a/debian/watch
+++ b/debian/watch
@@ -1,6 +1,3 @@
 version=3
-
-# opts="uversionmangle=s/pre/~pre/" \
-#   http://www.cs.unipr.it/ppl/Download/ftp/snapshots/ppl-(.*)\.tar\.gz
-http://www.cs.unipr.it/ppl/Download/ftp/releases/(.*\..*)/ppl-(\d.*)\.tar\.bz2
+http://bugseng.com/products/ppl/download .*/ppl-(\d.*)\.(?:tgz|tbz2|txz|tar\.(?:gz|bz2|xz))
 
diff --git a/demos/Makefile.am b/demos/Makefile.am
index 1bb629d..e740daf 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if BUILD_PPL_LCDD
 PPL_LCDD_SUBDIR = ppl_lcdd
diff --git a/demos/Makefile.in b/demos/Makefile.in
index e884d96..51264ce 100644
--- a/demos/Makefile.in
+++ b/demos/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -68,38 +68,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -167,6 +162,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -191,21 +187,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -261,6 +252,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -329,7 +321,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -592,10 +583,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/demos/ppl_lcdd/Makefile.am b/demos/ppl_lcdd/Makefile.am
index 7312b93..c85841c 100644
--- a/demos/ppl_lcdd/Makefile.am
+++ b/demos/ppl_lcdd/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = examples
 
diff --git a/demos/ppl_lcdd/Makefile.in b/demos/ppl_lcdd/Makefile.in
index bddaecc..1fba06f 100644
--- a/demos/ppl_lcdd/Makefile.in
+++ b/demos/ppl_lcdd/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -71,27 +71,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -104,8 +99,8 @@ am_ppl_lcdd_OBJECTS = ppl_lcdd.$(OBJEXT)
 ppl_lcdd_OBJECTS = $(am_ppl_lcdd_OBJECTS)
 ppl_lcdd_DEPENDENCIES = $(top_builddir)/src/libppl.la \
 	$(top_builddir)/utils/libppl_utils.a
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -117,21 +112,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_lcdd_SOURCES)
 DIST_SOURCES = $(ppl_lcdd_SOURCES)
@@ -163,6 +158,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
@@ -223,6 +224,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -247,21 +249,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -317,6 +314,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -385,7 +383,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -535,7 +532,7 @@ clean-binPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ppl_lcdd$(EXEEXT): $(ppl_lcdd_OBJECTS) $(ppl_lcdd_DEPENDENCIES) 
+ppl_lcdd$(EXEEXT): $(ppl_lcdd_OBJECTS) $(ppl_lcdd_DEPENDENCIES) $(EXTRA_ppl_lcdd_DEPENDENCIES) 
 	@rm -f ppl_lcdd$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ppl_lcdd_OBJECTS) $(ppl_lcdd_LDADD) $(LIBS)
 
@@ -550,26 +547,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -611,9 +605,7 @@ uninstall-man1:
 	  sed -n '/\.1[a-z]*$$/p'; \
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	test -z "$$files" || { \
-	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -841,10 +833,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/demos/ppl_lcdd/examples/Makefile.am b/demos/ppl_lcdd/examples/Makefile.am
index df666ed..4e6d6b7 100644
--- a/demos/ppl_lcdd/examples/Makefile.am
+++ b/demos/ppl_lcdd/examples/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 EXT_FILES = \
 ccc4.ext \
diff --git a/demos/ppl_lcdd/examples/Makefile.in b/demos/ppl_lcdd/examples/Makefile.in
index 5ae9a90..4a6d5b5 100644
--- a/demos/ppl_lcdd/examples/Makefile.in
+++ b/demos/ppl_lcdd/examples/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -70,38 +70,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -130,6 +125,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -154,21 +150,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -224,6 +215,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -292,7 +284,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -506,10 +497,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/demos/ppl_lcdd/expected_int32 b/demos/ppl_lcdd/expected_int32
index 2e253f8..351a73b 100644
--- a/demos/ppl_lcdd/expected_int32
+++ b/demos/ppl_lcdd/expected_int32
@@ -91,7 +91,7 @@ sampleh3.ine  55a3fbd3f1c495a0ec66651b901f9231  -
 sampleh4.ine  360296f0fb93ab70b1528453d6cf02ca  -
 sampleh5.ine  a93fd99d5bbfc33715db65b01fc452dc  -
 sampleh6.ine  a62303e71a549a4ae051e0a66d98bb61  -
-sampleh7.ine  d41d8cd98f00b204e9800998ecf8427e  -
+sampleh7.ine  3b9b5d0e083f6754a8a208e438159547  -
 sampleh8.ine  d41d8cd98f00b204e9800998ecf8427e  -
 trunc10.ine  edecfb72df1fe7f8c4849cdb3c47bfce  -
 trunc7.ine  989656d77040b040f10b241041f7c404  -
diff --git a/demos/ppl_lcdd/ppl_lcdd.1 b/demos/ppl_lcdd/ppl_lcdd.1
index 3f1ad51..9d5ebb8 100644
--- a/demos/ppl_lcdd/ppl_lcdd.1
+++ b/demos/ppl_lcdd/ppl_lcdd.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.37.1.
-.TH PPL_LCDD "1" "February 2011" "ppl_lcdd 0.11.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH PPL_LCDD "1" "June 2012" "ppl_lcdd 1.0" "User Commands"
 .SH NAME
 ppl_lcdd \- a PPL-based program for vertex/facet enumeration of convex polyhedra
 .SH SYNOPSIS
@@ -40,7 +40,7 @@ prints version information to stdout
 checks if the result is equal to what is in PATH
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+is available at \fBhttp://bugseng.com/products/ppl/\fR .
 .SH NOTES
 The option \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) is not available
 on some platforms.
@@ -51,7 +51,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/demos/ppl_lcdd/ppl_lcdd.cc b/demos/ppl_lcdd/ppl_lcdd.cc
index e62e300..744c696 100644
--- a/demos/ppl_lcdd/ppl_lcdd.cc
+++ b/demos/ppl_lcdd/ppl_lcdd.cc
@@ -1,6 +1,6 @@
 /* A sort of clone of the cddlib test program `lcdd'.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 //#define USE_POLKA 1
 //#define USE_POLYLIB 1
@@ -30,7 +30,7 @@ site: http://www.cs.unipr.it/ppl/ . */
    (defined(USE_PPL)   && defined(USE_POLKA)) \
 || (defined(USE_PPL)   && defined(USE_POLYLIB)) \
 || (defined(USE_POLKA) && defined(USE_POLYLIB))
-#error "Exactly one among USE_PPL, USE_POLKA and USE_POLYLIB must be defined."
+#error "Exactly one among USE_PPL, USE_POLKA and USE_POLYLIB must be defined"
 #endif
 
 #if defined(USE_PPL)
@@ -141,6 +141,7 @@ typedef Polyhedron* POLYHEDRON_TYPE;
 #endif
 
 #if defined(PPL_HAVE_SYS_RESOURCE_H) \
+  && PPL_CXX_SUPPORTS_LIMITING_MEMORY \
   && (defined(SA_ONESHOT) || defined(SA_RESETHAND))
 # define PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
 #endif
@@ -240,7 +241,7 @@ set_input(const char* file_name) {
 
 std::istream&
 input() {
-  assert(input_stream_p);
+  assert(input_stream_p != 0);
   return *input_stream_p;
 }
 
@@ -268,7 +269,7 @@ set_output(const char* file_name) {
 
 std::ostream&
 output() {
-  assert(output_stream_p);
+  assert(output_stream_p != 0);
   return *output_stream_p;
 }
 
@@ -300,7 +301,7 @@ warning(const char* format, ...) {
 extern "C" typedef void (*sig_handler_type)(int);
 
 void
-set_alarm_on_cpu_time(const unsigned seconds, sig_handler_type handler) {
+set_alarm_on_cpu_time(const unsigned long seconds, sig_handler_type handler) {
   sigset_t mask;
   sigemptyset(&mask);
 
@@ -331,7 +332,7 @@ set_alarm_on_cpu_time(const unsigned seconds, sig_handler_type handler) {
 
 #endif // PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
 
-#if PPL_HAVE_DECL_RLIMIT_AS
+#if PPL_CXX_SUPPORTS_LIMITING_MEMORY && PPL_HAVE_DECL_RLIMIT_AS
 
 void
 limit_virtual_memory(const unsigned long bytes) {
@@ -414,13 +415,16 @@ process_options(int argc, char* argv[]) {
 #endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
 
     case 'R':
-      l = strtol(optarg, &endptr, 10);
-      if (*endptr || l < 0)
-	fatal("a non-negative integer must follow `-R'");
-      else if (((unsigned long) l) > ULONG_MAX/(1024*1024))
-        max_bytes_of_virtual_memory = ULONG_MAX;
-      else
-	max_bytes_of_virtual_memory = l*1024*1024;
+      {
+        const int MEGA = 1024*1024;
+        l = strtol(optarg, &endptr, 10);
+        if (*endptr || l < 0)
+          fatal("a non-negative integer must follow `-R'");
+        else if (static_cast<unsigned long>(l) > ULONG_MAX/MEGA)
+          max_bytes_of_virtual_memory = ULONG_MAX;
+        else
+          max_bytes_of_virtual_memory = l*MEGA;
+      }
       break;
 
     case 'o':
@@ -485,13 +489,14 @@ void
 normalize(const std::vector<mpq_class>& source,
 	  std::vector<mpz_class>& dest,
 	  mpz_class& denominator) {
-  unsigned n = source.size();
+  typedef std::vector<mpq_class>::size_type size_type;
+  size_type n = source.size();
   denominator = 1;
-  for (unsigned i = 0; i < n; ++i)
+  for (size_type i = 0; i < n; ++i)
     mpz_lcm(denominator.get_mpz_t(),
 	    denominator.get_mpz_t(),
 	    source[i].get_den().get_mpz_t());
-  for (unsigned i = 0; i < n; ++i)
+  for (size_type i = 0; i < n; ++i)
     dest[i] = denominator*source[i];
 }
 
@@ -499,7 +504,8 @@ template <typename T>
 bool
 guarded_read(std::istream& in, T& x) {
   try {
-    return in >> x;
+    in >> x;
+    return !in.fail();
   }
   catch (...) {
     return false;
@@ -511,7 +517,8 @@ void
 guarded_write(std::ostream& out, const T& x) {
   bool succeeded = false;
   try {
-    succeeded = out << x;
+    out << x;
+    succeeded = !out.fail();
   }
   catch (...) {
   }
@@ -541,7 +548,8 @@ read_coefficients(std::istream& in,
 		  const Number_Type number_type,
 		  std::vector<mpz_class>& coefficients,
 		  mpz_class& denominator) {
-  unsigned num_coefficients = coefficients.size();
+  typedef std::vector<mpz_class>::size_type size_type;
+  size_type num_coefficients = coefficients.size();
   switch (number_type) {
   case INTEGER:
     {
@@ -633,8 +641,8 @@ read_polyhedron(std::istream& in, POLYHEDRON_TYPE& ph) {
   if (!guarded_read(in, s))
     error("missing number of rows");
   if (s != "*****") {
-    std::istringstream istr(s);
-    if (!guarded_read(istr, num_rows))
+    std::istringstream iss(s);
+    if (!guarded_read(iss, num_rows))
       error("illegal number of rows `%s' (\"*****\" would be accepted)",
 	    s.c_str());
     has_num_rows = true;
@@ -704,8 +712,8 @@ read_polyhedron(std::istream& in, POLYHEDRON_TYPE& ph) {
 	  error("missing vertex marker");
 	if (s == "end")
 	  break;
-	std::istringstream istr(s);
-	if (!guarded_read(istr, vertex_marker)
+	std::istringstream iss(s);
+	if (!guarded_read(iss, vertex_marker)
 	    || vertex_marker < 0 || vertex_marker > 1)
 	  error("illegal vertex marker `%s'", s.c_str());
       }
@@ -831,8 +839,8 @@ read_polyhedron(std::istream& in, POLYHEDRON_TYPE& ph) {
 		"for coefficients or `end'");
 	if (s.substr(0, 2) == "end")
 	  break;
-	std::istringstream istr(s);
-	read_coefficients(istr, number_type, coefficients, denominator);
+	std::istringstream iss(s);
+	read_coefficients(iss, number_type, coefficients, denominator);
       }
       else
 	read_coefficients(in, number_type, coefficients, denominator);
@@ -1051,12 +1059,12 @@ write_polyhedron(std::ostream& out,
 	  if (g.coefficient(PPL::Variable(j)) == 0)
 	    guarded_write(out, '0');
 	  else {
-	    mpz_class num, den;
-	    PPL::assign_r(num,
+	    mpz_class numer, denom;
+	    PPL::assign_r(numer,
 			g.coefficient(PPL::Variable(j)),
 			PPL::ROUND_NOT_NEEDED);
-	    PPL::assign_r(den, divisor, PPL::ROUND_NOT_NEEDED);
-	    guarded_write(out, mpq_class(num, den));
+	    PPL::assign_r(denom, divisor, PPL::ROUND_NOT_NEEDED);
+	    guarded_write(out, mpq_class(numer, denom));
 	  }
 	}
       }
@@ -1155,7 +1163,8 @@ write_polyhedron(std::ostream& out,
   // Flush `out'.
   bool flush_succeeded = false;
   try {
-    flush_succeeded = out.flush();
+    out.flush();
+    flush_succeeded = !out.fail();
   }
   catch (...) {
   }
@@ -1186,7 +1195,7 @@ main(int argc, char* argv[]) try {
 #ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
 
   if (max_seconds_of_cpu_time > 0)
-    set_alarm_on_cpu_time(max_seconds_of_cpu_time, timeout);
+    set_alarm_on_cpu_time(max_seconds_of_cpu_time, &timeout);
 
 #endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
 
diff --git a/demos/ppl_lpsol/Makefile.am b/demos/ppl_lpsol/Makefile.am
index 0b579d0..44a4f7d 100644
--- a/demos/ppl_lpsol/Makefile.am
+++ b/demos/ppl_lpsol/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = examples
 
@@ -36,6 +36,9 @@ expected_int32_a \
 expected_int64 \
 expected_int64_a
 
+dist_man_MANS = \
+ppl_lpsol.1
+
 if BUILD_C_INTERFACE
 if HAVE_GLPK
 
@@ -52,9 +55,18 @@ dummy.cc
 
 if GCC
 
+if ICC
+
+# We cannot use -std=c89 because of the definition of sigaction in <signal.h>.
+ppl_lpsol_CFLAGS = -std=gnu89
+
+else !ICC
+
 # We cannot use -std=c89 because of the definition of sigaction in <signal.h>.
 ppl_lpsol_CFLAGS = -pedantic -std=gnu89 -Werror
 
+endif !ICC
+
 endif GCC
 
 ppl_lpsol_LDADD = \
@@ -68,9 +80,6 @@ noinst_LIBRARIES = libglpk_set_d_eps.a
 libglpk_set_d_eps_a_SOURCES = \
 glpk_set_d_eps.c
 
-dist_man_MANS = \
-ppl_lpsol.1
-
 COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
 
 if ASSERTIONS_ENABLED
diff --git a/demos/ppl_lpsol/Makefile.in b/demos/ppl_lpsol/Makefile.in
index d0a7ea9..fb69fc2 100644
--- a/demos/ppl_lpsol/Makefile.in
+++ b/demos/ppl_lpsol/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -73,27 +73,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -102,11 +97,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 libglpk_set_d_eps_a_AR = $(AR) $(ARFLAGS)
 libglpk_set_d_eps_a_LIBADD =
@@ -123,8 +118,8 @@ ppl_lpsol_OBJECTS = $(am_ppl_lpsol_OBJECTS)
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	libglpk_set_d_eps.a \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	$(top_builddir)/interfaces/C/libppl_c.la \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -136,15 +131,15 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -152,18 +147,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libglpk_set_d_eps_a_SOURCES) $(ppl_lpsol_SOURCES)
 DIST_SOURCES = $(am__libglpk_set_d_eps_a_SOURCES_DIST) \
@@ -196,6 +191,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
@@ -256,6 +257,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -280,21 +282,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -350,6 +347,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -418,7 +416,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -443,6 +440,9 @@ expected_int32_a \
 expected_int64 \
 expected_int64_a
 
+dist_man_MANS = \
+ppl_lpsol.1
+
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at AM_CPPFLAGS = \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at -I$(top_builddir)/interfaces/C \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@extra_includes@
@@ -455,7 +455,10 @@ expected_int64_a
 
 
 # We cannot use -std=c89 because of the definition of sigaction in <signal.h>.
- at BUILD_C_INTERFACE_TRUE@@GCC_TRUE@@HAVE_GLPK_TRUE at ppl_lpsol_CFLAGS = -pedantic -std=gnu89 -Werror
+ at BUILD_C_INTERFACE_TRUE@@GCC_TRUE@@HAVE_GLPK_TRUE@@ICC_FALSE at ppl_lpsol_CFLAGS = -pedantic -std=gnu89 -Werror
+
+# We cannot use -std=c89 because of the definition of sigaction in <signal.h>.
+ at BUILD_C_INTERFACE_TRUE@@GCC_TRUE@@HAVE_GLPK_TRUE@@ICC_TRUE at ppl_lpsol_CFLAGS = -std=gnu89
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at ppl_lpsol_LDADD = \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at libglpk_set_d_eps.a \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at -lglpk \
@@ -467,9 +470,6 @@ expected_int64_a
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at libglpk_set_d_eps_a_SOURCES = \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at glpk_set_d_eps.c
 
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at dist_man_MANS = \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at ppl_lpsol.1
-
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
 @ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at TOUGH_EXAMPLES_FOR_ENUM_IF_ASSERTIONS_ENABLED = \
 @ASSERTIONS_ENABLED_TRUE@@BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at afiro.mps
@@ -639,7 +639,7 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libglpk_set_d_eps.a: $(libglpk_set_d_eps_a_OBJECTS) $(libglpk_set_d_eps_a_DEPENDENCIES) 
+libglpk_set_d_eps.a: $(libglpk_set_d_eps_a_OBJECTS) $(libglpk_set_d_eps_a_DEPENDENCIES) $(EXTRA_libglpk_set_d_eps_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libglpk_set_d_eps.a
 	$(AM_V_AR)$(libglpk_set_d_eps_a_AR) libglpk_set_d_eps.a $(libglpk_set_d_eps_a_OBJECTS) $(libglpk_set_d_eps_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libglpk_set_d_eps.a
@@ -686,7 +686,7 @@ clean-binPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ppl_lpsol$(EXEEXT): $(ppl_lpsol_OBJECTS) $(ppl_lpsol_DEPENDENCIES) 
+ppl_lpsol$(EXEEXT): $(ppl_lpsol_OBJECTS) $(ppl_lpsol_DEPENDENCIES) $(EXTRA_ppl_lpsol_DEPENDENCIES) 
 	@rm -f ppl_lpsol$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ppl_lpsol_OBJECTS) $(ppl_lpsol_LDADD) $(LIBS)
 
@@ -703,66 +703,58 @@ distclean-compile:
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
 ppl_lpsol-ppl_lpsol.o: ppl_lpsol.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -MT ppl_lpsol-ppl_lpsol.o -MD -MP -MF $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo -c -o ppl_lpsol-ppl_lpsol.o `test -f 'ppl_lpsol.c' || echo '$(srcdir)/'`ppl_lpsol.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo $(DEPDIR)/ppl_lpsol-ppl_lpsol.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.o `test -f 'ppl_lpsol.c' || echo '$(srcdir)/'`ppl_lpsol.c
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.o `test -f 'ppl_lpsol.c' || echo '$(srcdir)/'`ppl_lpsol.c
 
 ppl_lpsol-ppl_lpsol.obj: ppl_lpsol.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -MT ppl_lpsol-ppl_lpsol.obj -MD -MP -MF $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo -c -o ppl_lpsol-ppl_lpsol.obj `if test -f 'ppl_lpsol.c'; then $(CYGPATH_W) 'ppl_lpsol.c'; else $(CYGPATH_W) '$(srcdir)/ppl_lpsol.c'; fi`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_lpsol-ppl_lpsol.Tpo $(DEPDIR)/ppl_lpsol-ppl_lpsol.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='ppl_lpsol.c' object='ppl_lpsol-ppl_lpsol.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.obj `if test -f 'ppl_lpsol.c'; then $(CYGPATH_W) 'ppl_lpsol.c'; else $(CYGPATH_W) '$(srcdir)/ppl_lpsol.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ppl_lpsol_CFLAGS) $(CFLAGS) -c -o ppl_lpsol-ppl_lpsol.obj `if test -f 'ppl_lpsol.c'; then $(CYGPATH_W) 'ppl_lpsol.c'; else $(CYGPATH_W) '$(srcdir)/ppl_lpsol.c'; fi`
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -804,9 +796,7 @@ uninstall-man1:
 	  sed -n '/\.1[a-z]*$$/p'; \
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	test -z "$$files" || { \
-	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -1035,10 +1025,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/demos/ppl_lpsol/dummy.cc b/demos/ppl_lpsol/dummy.cc
index 1d47c5f..453114c 100644
--- a/demos/ppl_lpsol/dummy.cc
+++ b/demos/ppl_lpsol/dummy.cc
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/demos/ppl_lpsol/examples/Makefile.am b/demos/ppl_lpsol/examples/Makefile.am
index 9fb3bfb..a8c9fb6 100644
--- a/demos/ppl_lpsol/examples/Makefile.am
+++ b/demos/ppl_lpsol/examples/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 dist_noinst_DATA = \
 adlittle.mps \
diff --git a/demos/ppl_lpsol/examples/Makefile.in b/demos/ppl_lpsol/examples/Makefile.in
index 71bddad..79d2f2c 100644
--- a/demos/ppl_lpsol/examples/Makefile.in
+++ b/demos/ppl_lpsol/examples/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -70,38 +70,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -130,6 +125,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -154,21 +150,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -224,6 +215,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -292,7 +284,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -423,10 +414,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/demos/ppl_lpsol/expected_int16 b/demos/ppl_lpsol/expected_int16
index 7076bbb..1d892f2 100644
--- a/demos/ppl_lpsol/expected_int16
+++ b/demos/ppl_lpsol/expected_int16
@@ -8,6 +8,8 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n  mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  noswot.mps
@@ -19,7 +21,7 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  pk1.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  unboundedmin.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps
@@ -52,9 +54,9 @@ PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps
@@ -63,14 +65,6 @@ PPL error code -6: Negative overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps
 PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps
-PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps
@@ -101,6 +95,10 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps
@@ -892,9 +890,9 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps
 Optimum value: -733.3333333
 Optimum location:
@@ -927,7 +925,7 @@ Optimum location:
 x1 = 0
 x2 = 0
 *** ppl_lpsol -e -r  -oobtained afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ppl_lpsol -e -r  -oobtained bgprtr.mps
 PPL error code -6: Negative overflow.
 *** ppl_lpsol -e -r  -oobtained ex1.mps
@@ -953,21 +951,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int16_a b/demos/ppl_lpsol/expected_int16_a
index cca3c23..2bfba03 100644
--- a/demos/ppl_lpsol/expected_int16_a
+++ b/demos/ppl_lpsol/expected_int16_a
@@ -55,14 +55,6 @@ PPL error code -6: Negative overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps
 PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps
-PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps
@@ -93,6 +85,10 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps
@@ -155,27 +151,33 @@ X2 = 4.571428571
 X3 = 0.5714285714
 X4 = 3
 *** ppl_lpsol -e -r  -oobtained sample.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ppl_lpsol -e -r  -oobtained unboundedmin.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int32 b/demos/ppl_lpsol/expected_int32
index 3a2a5af..c87cc4d 100644
--- a/demos/ppl_lpsol/expected_int32
+++ b/demos/ppl_lpsol/expected_int32
@@ -8,10 +8,12 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n  mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  mip.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  noswot.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  opt1217.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  p0033.mps
@@ -58,28 +60,20 @@ Optimum location:
 x1 = 0
 x2 = 0
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m bgprtr.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M bgprtr.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m blend.mps
-PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps
-PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
@@ -96,9 +90,9 @@ Optimum location:
 x1 = 2.5
 x2 = 0
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m kb2.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M kb2.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m lseu.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M lseu.mps
@@ -111,6 +105,10 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps
 Optimum value: 24.07692308
 Optimum location:
@@ -126,9 +124,9 @@ X2 = 4.571428571
 X3 = 0.5714285714
 X4 = 3
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m noswot.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M noswot.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m opt1217.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M opt1217.mps
@@ -947,7 +945,7 @@ Optimum location:
 x1 = 0
 x2 = 0
 *** ppl_lpsol -e -r  -oobtained afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ppl_lpsol -e -r  -oobtained bgprtr.mps
 Unfeasible problem.
 *** ppl_lpsol -e -r  -oobtained ex1.mps
@@ -973,21 +971,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int32_a b/demos/ppl_lpsol/expected_int32_a
index c3e054b..3db8071 100644
--- a/demos/ppl_lpsol/expected_int32_a
+++ b/demos/ppl_lpsol/expected_int32_a
@@ -5,50 +5,31 @@ Feasible problem.
 *** ./ppl_lpsol -s -p1 -oobtained -n  lseu.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n  markshare1.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n  markshare2.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n  mip.mps
-Feasible problem.
-*** ./ppl_lpsol -s -p1 -oobtained -n  p0033.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -n  p0033.mps
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n  unboundedmin.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps
-Optimum value: -3
-Optimum location:
-x1 = 1
-x2 = 2
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps
-Optimum value: 2
-Optimum location:
-x1 = 2
-x2 = 0
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -m mip.mps
-Optimum value: 24.33333333
-Optimum location:
-X1 = 2.666666667
-X2 = 2
-X3 = 1
-X4 = 3.333333333
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -M mip.mps
-Optimum value: 43
-Optimum location:
-X1 = 4
-X2 = 4
-X3 = 0
-X4 = 3
-*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps
 Unbounded problem.
 *** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps
-Optimum value: 0
-Optimum location:
-x1 = 0
-x2 = 0
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps
@@ -60,81 +41,57 @@ PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps
 PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps
-PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps
-Optimum value: -3.75
-Optimum location:
-x1 = 1.25
-x2 = 2.5
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps
-Optimum value: 2.5
-Optimum location:
-x1 = 2.5
-x2 = 0
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps
+PPL error code -6: Negative overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M mas76.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps
-Optimum value: 24.07692308
-Optimum location:
-X1 = 2.615384615
-X2 = 2
-X3 = 0.7692307692
-X4 = 3
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps
-Optimum value: 46.42857143
-Optimum location:
-X1 = 4
-X2 = 4.571428571
-X3 = 0.5714285714
-X4 = 3
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps
-Optimum value: -733.3333333
-Optimum location:
-x1 = 33.33333333
-x2 = 66.66666667
-x3 = 0
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps
 Optimum value: 0
 Optimum location:
@@ -156,10 +113,7 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps
 Unbounded problem.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps
-Optimum value: 0
-Optimum location:
-x1 = 0
-x2 = 0
+PPL error code -6: Positive overflow.
 *** ppl_lpsol -e -r  -oobtained bgprtr.mps
 Unfeasible problem.
 *** ppl_lpsol -e -r  -oobtained ex1.mps
@@ -185,21 +139,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int64 b/demos/ppl_lpsol/expected_int64
index 8b65b5d..7123aa8 100644
--- a/demos/ppl_lpsol/expected_int64
+++ b/demos/ppl_lpsol/expected_int64
@@ -8,6 +8,8 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n  mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  mip.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  noswot.mps
@@ -19,7 +21,7 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  pk1.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  rout.mps
-PPL error code -6: Positive overflow.
+Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  unboundedmin.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps
@@ -58,9 +60,9 @@ Optimum location:
 x1 = 0
 x2 = 0
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m adlittle.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M adlittle.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m afiro.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M afiro.mps
@@ -73,14 +75,6 @@ Unfeasible problem.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps
-PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps
-PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps
@@ -111,6 +105,10 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps
 Optimum value: 24.07692308
 Optimum location:
@@ -934,7 +932,56 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50a.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50a.mps
-PPL error code -6: Positive overflow.
+Optimum value: 0
+Optimum location:
+COL00001 = 0
+COL00002 = 0
+COL00003 = 0
+COL00004 = 0
+COL00005 = 0
+COL00006 = 0
+COL00007 = 0
+COL00008 = 0
+COL00009 = 0
+COL00010 = 0
+COL00011 = 0
+COL00012 = 0
+COL00013 = 0
+COL00014 = 0
+COL00015 = 0
+COL00016 = 0
+COL00017 = 0
+COL00018 = 0
+COL00019 = 0
+COL00020 = 0
+COL00021 = 0
+COL00022 = 0
+COL00023 = 0
+COL00024 = 0
+COL00025 = 0
+COL00026 = 0
+COL00027 = 0
+COL00028 = 0
+COL00029 = 0
+COL00030 = 0
+COL00031 = 0
+COL00032 = 0
+COL00033 = 0
+COL00034 = 0
+COL00035 = 0
+COL00036 = 0
+COL00037 = 0
+COL00038 = 0
+COL00039 = 0
+COL00040 = 0
+COL00041 = 0
+COL00042 = 0
+COL00043 = 0
+COL00044 = 0
+COL00045 = 0
+COL00046 = 0
+COL00047 = 0
+COL00048 = 0
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m sc50b.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M sc50b.mps
@@ -947,7 +994,7 @@ Optimum location:
 x1 = 0
 x2 = 0
 *** ppl_lpsol -e -r  -oobtained afiro.mps
-PPL error code -6: Negative overflow.
+PPL error code -6: Positive overflow.
 *** ppl_lpsol -e -r  -oobtained bgprtr.mps
 Unfeasible problem.
 *** ppl_lpsol -e -r  -oobtained ex1.mps
@@ -973,21 +1020,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int64_a b/demos/ppl_lpsol/expected_int64_a
index 37567e6..61f3bf8 100644
--- a/demos/ppl_lpsol/expected_int64_a
+++ b/demos/ppl_lpsol/expected_int64_a
@@ -65,14 +65,6 @@ Unfeasible problem.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps
-PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps
-PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps
@@ -103,6 +95,10 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps
 PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps
 Optimum value: 24.07692308
 Optimum location:
@@ -185,21 +181,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing2.mps
+PPL error code -6: Negative overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int8 b/demos/ppl_lpsol/expected_int8
index a88577c..cee5931 100644
--- a/demos/ppl_lpsol/expected_int8
+++ b/demos/ppl_lpsol/expected_int8
@@ -8,6 +8,8 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  markshare2.mps
 PPL error code -6: Negative overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n  mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  noswot.mps
@@ -19,7 +21,7 @@ PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  pk1.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n  unboundedmin.mps
 Feasible problem.
 *** ./ppl_lpsol -s -p1 -c -oobtained -m ex1.mps
@@ -57,14 +59,6 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M blend.mps
 PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M boeing2.mps
-PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M egout.mps
@@ -92,6 +86,10 @@ PPL error code -6: Negative overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M markshare2.mps
 PPL error code -6: Negative overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M mip.mps
@@ -113,9 +111,9 @@ PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M pk1.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M rout.mps
-PPL error code -6: Positive overflow.
+PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -m sample.mps
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -r -M sample.mps
@@ -157,21 +155,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -c -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -c -oobtained -n boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -r -m mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -c -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -c -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/expected_int8_a b/demos/ppl_lpsol/expected_int8_a
index 170281a..f00b5d1 100644
--- a/demos/ppl_lpsol/expected_int8_a
+++ b/demos/ppl_lpsol/expected_int8_a
@@ -49,14 +49,6 @@ PPL error code -6: Positive overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps
 PPL error code -6: Negative overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps
-PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps
-PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps
@@ -84,6 +76,10 @@ PPL error code -6: Negative overflow.
 PPL error code -6: Negative overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps
 PPL error code -6: Negative overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M mas76.mps
+PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -m mip.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -r -M mip.mps
@@ -139,21 +135,27 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000518 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0000000105 boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing1.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.00000000863 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.00000000213 boeing2.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -n boeing2.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
+PPL error code -6: Positive overflow.
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000273 modglob.mps
 PPL error code -6: Positive overflow.
-*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.0290 modglob.mps
 PPL error code -6: Positive overflow.
 *** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps
 PPL error code -6: Positive overflow.
diff --git a/demos/ppl_lpsol/glpk_set_d_eps.c b/demos/ppl_lpsol/glpk_set_d_eps.c
index dc710f3..397b48d 100644
--- a/demos/ppl_lpsol/glpk_set_d_eps.c
+++ b/demos/ppl_lpsol/glpk_set_d_eps.c
@@ -1,31 +1,8 @@
 /* Utilities extracted from GLPK's 4.44 (see below for copyright and
    licensing information).
 
-   The rest of this comment block applies to everything outside
-   the "Begin GLPK code" and "End GLPK code" marks.
-
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+   The code that comes from GLPK's 4.44 is delimited by "Begin GLPK code"
+   and "End GLPK code" marks. */
 
 #include <gmp.h>
 #include <assert.h>
diff --git a/demos/ppl_lpsol/ppl_lpsol.1 b/demos/ppl_lpsol/ppl_lpsol.1
index 8e48b53..52f1231 100644
--- a/demos/ppl_lpsol/ppl_lpsol.1
+++ b/demos/ppl_lpsol/ppl_lpsol.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.37.1.
-.TH PPL_LPSOL "1" "February 2011" "ppl_lpsol 0.11.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH PPL_LPSOL "1" "June 2012" "ppl_lpsol 1.0" "User Commands"
 .SH NAME
 ppl_lpsol \- a PPL-based mixed integer programming problem solver
 .SH SYNOPSIS
@@ -10,7 +10,7 @@ Reads a file in MPS format and attempts solution using the optimization
 algorithms provided by the PPL.
 .PP
 See the
-.IR "GNU Linear Programming Kit: Reference Manual (Version 4.38)"
+.IR "GNU Linear Programming Kit: Reference Manual (Version 4.31)"
 for information on the MPS format.
 .SH OPTIONS
 .TP
@@ -77,7 +77,7 @@ explicitly required notifications
 prints version information to stdout
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+is available at \fBhttp://bugseng.com/products/ppl/\fR .
 .SH NOTES
 The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and
 \fB\-t\fR (\fB\-\-timings\fR) are not available on some platforms.
@@ -86,7 +86,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 \fBppl\-config \-\-credits\fR for a list of contributors.
 .SH COPYRIGHT
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/demos/ppl_lpsol/ppl_lpsol.c b/demos/ppl_lpsol/ppl_lpsol.c
index cef707e..8c62b94 100644
--- a/demos/ppl_lpsol/ppl_lpsol.c
+++ b/demos/ppl_lpsol/ppl_lpsol.c
@@ -1,7 +1,7 @@
 /* Solve linear programming problems by either vertex/point enumeration
    or the primal simplex algorithm.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include <ppl-config.h>
 #include "ppl_c.h"
@@ -96,6 +96,7 @@ static const char* ppl_source_version = PPL_VERSION;
 #endif
 
 #if defined(PPL_HAVE_SYS_RESOURCE_H) \
+  && PPL_CXX_SUPPORTS_LIMITING_MEMORY \
   && (defined(SA_ONESHOT) || defined(SA_RESETHAND))
 # define PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
 #endif
@@ -325,7 +326,7 @@ process_options(int argc, char* argv[]) {
       my_exit(0);
       break;
 
-#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
 
     case 'C':
       l = strtol(optarg, &endptr, 10);
@@ -473,17 +474,17 @@ print_clock(FILE* f) {
     time_t saved_secs = saved_ru_utime.tv_sec;
     time_t saved_usecs = saved_ru_utime.tv_usec;
     int secs;
-    int hsecs;
+    int csecs;
     if (current_usecs < saved_usecs) {
-      hsecs = (((1000000 + current_usecs) - saved_usecs) + 5000) / 10000;
+      csecs = (((1000000 + current_usecs) - saved_usecs) + 5000) / 10000;
       secs = (current_secs - saved_secs) -1;
     }
     else {
-      hsecs = ((current_usecs - saved_usecs) + 5000) / 10000;
+      csecs = ((current_usecs - saved_usecs) + 5000) / 10000;
       secs = current_secs - saved_secs;
     }
-    assert(hsecs >= 0 && hsecs < 100 && secs >= 0);
-    fprintf(f, "%d.%.2d", secs, hsecs);
+    assert(csecs >= 0 && csecs < 100 && secs >= 0);
+    fprintf(f, "%d.%.2d", secs, csecs);
   }
 }
 
@@ -524,7 +525,7 @@ set_alarm_on_cpu_time(unsigned seconds, void (*handler)(int)) {
 
 #endif /* defined(PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */
 
-#if PPL_HAVE_DECL_RLIMIT_AS
+#if PPL_CXX_SUPPORTS_LIMITING_MEMORY && PPL_HAVE_DECL_RLIMIT_AS
 
 void
 limit_virtual_memory(unsigned long bytes) {
@@ -761,7 +762,7 @@ add_constraints(ppl_Linear_Expression_t ppl_le,
     ppl_delete_Constraint(ppl_c);
     break;
 
- default:
+  default:
     fatal("internal error");
     break;
   }
@@ -1000,9 +1001,10 @@ solve_with_simplex(ppl_const_Constraint_System_t cs,
   return optimum_found;
 }
 
+extern void set_d_eps(mpq_t x, double val);
+
 static void
 set_mpq_t_from_double(mpq_t q, double d) {
-  void set_d_eps(mpq_t x, double val);
   if (check_results)
     set_d_eps(q, d);
   else
diff --git a/demos/ppl_pips/Makefile.am b/demos/ppl_pips/Makefile.am
index 57be020..80f567c 100644
--- a/demos/ppl_pips/Makefile.am
+++ b/demos/ppl_pips/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = examples
 
diff --git a/demos/ppl_pips/Makefile.in b/demos/ppl_pips/Makefile.in
index d3f9459..ab8420e 100644
--- a/demos/ppl_pips/Makefile.in
+++ b/demos/ppl_pips/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -71,27 +71,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -104,8 +99,8 @@ am_ppl_pips_OBJECTS = ppl_pips.$(OBJEXT)
 ppl_pips_OBJECTS = $(am_ppl_pips_OBJECTS)
 ppl_pips_DEPENDENCIES = $(top_builddir)/src/libppl.la \
 	$(top_builddir)/utils/libppl_utils.a
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -117,21 +112,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_pips_SOURCES)
 DIST_SOURCES = $(ppl_pips_SOURCES)
@@ -163,6 +158,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(dist_man_MANS)
@@ -223,6 +224,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -247,21 +249,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -317,6 +314,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -385,7 +383,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -518,7 +515,7 @@ clean-binPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ppl_pips$(EXEEXT): $(ppl_pips_OBJECTS) $(ppl_pips_DEPENDENCIES) 
+ppl_pips$(EXEEXT): $(ppl_pips_OBJECTS) $(ppl_pips_DEPENDENCIES) $(EXTRA_ppl_pips_DEPENDENCIES) 
 	@rm -f ppl_pips$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ppl_pips_OBJECTS) $(ppl_pips_LDADD) $(LIBS)
 
@@ -533,26 +530,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -594,9 +588,7 @@ uninstall-man1:
 	  sed -n '/\.1[a-z]*$$/p'; \
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	test -z "$$files" || { \
-	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -824,10 +816,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/demos/ppl_pips/examples/Makefile.am b/demos/ppl_pips/examples/Makefile.am
index 942b175..3a669d6 100644
--- a/demos/ppl_pips/examples/Makefile.am
+++ b/demos/ppl_pips/examples/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 DAT_FILES = \
 invert.dat \
diff --git a/demos/ppl_pips/examples/Makefile.in b/demos/ppl_pips/examples/Makefile.in
index 53af9c7..b54b37b 100644
--- a/demos/ppl_pips/examples/Makefile.in
+++ b/demos/ppl_pips/examples/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -70,38 +70,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -130,6 +125,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -154,21 +150,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -224,6 +215,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -292,7 +284,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -418,10 +409,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/demos/ppl_pips/expected_int32 b/demos/ppl_pips/expected_int32
index d3581a3..cb13f0d 100644
--- a/demos/ppl_pips/expected_int32
+++ b/demos/ppl_pips/expected_int32
@@ -1,6 +1,6 @@
 invert.dat  89eb267478eb8675de9602be9bb92f9e  -
 linear.dat  1f73e09130d92979eb4388cbbab7f389  -
-lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  7b21035f6f07e68b8c0e2893a649f0ef  -
 loz.dat  558273607bb0eec59c713980a8722ac8  -
 max.dat  2c3f32340ed2ea04d070dd311e9ca188  -
 maxb.dat  bc9d718f581cd7da4bbd7f0293749315  -
diff --git a/demos/ppl_pips/expected_int32_a b/demos/ppl_pips/expected_int32_a
index d3581a3..cb13f0d 100644
--- a/demos/ppl_pips/expected_int32_a
+++ b/demos/ppl_pips/expected_int32_a
@@ -1,6 +1,6 @@
 invert.dat  89eb267478eb8675de9602be9bb92f9e  -
 linear.dat  1f73e09130d92979eb4388cbbab7f389  -
-lineri.dat  d41d8cd98f00b204e9800998ecf8427e  -
+lineri.dat  7b21035f6f07e68b8c0e2893a649f0ef  -
 loz.dat  558273607bb0eec59c713980a8722ac8  -
 max.dat  2c3f32340ed2ea04d070dd311e9ca188  -
 maxb.dat  bc9d718f581cd7da4bbd7f0293749315  -
diff --git a/demos/ppl_pips/ppl_pips.1 b/demos/ppl_pips/ppl_pips.1
index e762cda..0b55367 100644
--- a/demos/ppl_pips/ppl_pips.1
+++ b/demos/ppl_pips/ppl_pips.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.37.1.
-.TH PPL_PIPS "1" "February 2011" "ppl_pips 0.11.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH PPL_PIPS "1" "June 2012" "ppl_pips 1.0" "User Commands"
 .SH NAME
 ppl_pips \- a PPL-based parametric integer programming problem solver
 .SH SYNOPSIS
@@ -59,7 +59,7 @@ uses the first row with negative parameter (default)
 chooses row generating the lexico\-maximal pivot column
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+is available at \fBhttp://bugseng.com/products/ppl/\fR .
 .SH NOTES
 The options \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) and
 \fB\-t\fR (\fB\-\-timings\fR) are not available on some platforms.
@@ -118,7 +118,7 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/demos/ppl_pips/ppl_pips.cc b/demos/ppl_pips/ppl_pips.cc
index faec685..b60d2ce 100644
--- a/demos/ppl_pips/ppl_pips.cc
+++ b/demos/ppl_pips/ppl_pips.cc
@@ -1,6 +1,6 @@
 /* A sort of clone of the cddlib test program `lcdd'.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 //#define USE_PIPLIB 1
 
 #if (!defined(USE_PPL) && !defined(USE_PIPLIB))
 #define USE_PPL 1
 #elif (defined(USE_PPL) && defined(USE_PIPLIB))
-#error "Exactly one among USE_PPL and USE_PIPLIB must be defined."
+#error "Exactly one among USE_PPL and USE_PIPLIB must be defined"
 #endif
 
 #if defined(USE_PPL)
@@ -113,7 +113,7 @@ PPL::PIP_Problem::Control_Parameter_Value cutting_strategy
 PPL::PIP_Problem::Control_Parameter_Value pivot_row_strategy
     = PPL::PIP_Problem::PIVOT_ROW_STRATEGY_FIRST;
 
-int loop_iterations = 1;
+long loop_iterations = 1;
 
 void
 pip_display_sol(std::ostream& out,
@@ -148,27 +148,27 @@ pip_display_sol(std::ostream& out,
         out << ((i == cs_begin) ? "" : " and ") << *i;
       out << " then" << endl;
     }
-    const PIP_Decision_Node* dn = pip->as_decision();
-    if (dn) {
-      pip_display_sol(out, dn->child_node(true), parameters, vars,
-                      space_dimension, indent+1);
+    const PIP_Decision_Node* decision_node_p = pip->as_decision();
+    if (decision_node_p) {
+      pip_display_sol(out, decision_node_p->child_node(true),
+                      parameters, vars, space_dimension, indent+1);
       out << setw(indent*2) << "" << "else" << endl;
-      pip_display_sol(out, dn->child_node(false), parameters, vars,
-                      space_dimension, indent+1);
+      pip_display_sol(out, decision_node_p->child_node(false),
+                      parameters, vars, space_dimension, indent+1);
     }
     else {
-      const PIP_Solution_Node* sn = pip->as_solution();
+      const PIP_Solution_Node* solution_node_p = pip->as_solution();
       out << setw(indent*2 + (constraints_empty ? 0 : 2)) << "" << "{";
       for (Variables_Set::const_iterator
              v_begin = vars.begin(),
              v_end = vars.end(),
              i = v_begin; i != v_end; ++i)
         out << ((i == v_begin) ? "" : " ; ")
-            << sn->parametric_values(Variable(*i));
+            << solution_node_p->parametric_values(Variable(*i));
       out << "}" << endl;
       if (!constraints_empty) {
         out << setw(indent*2) << "" << "else" << endl;
-        out << setw(indent*2+2) << "" << "_|_" << endl;
+        out << setw(indent*2 + 2) << "" << "_|_" << endl;
       }
     }
   }
@@ -190,21 +190,7 @@ public:
 
   virtual bool read(std::istream& in) = 0;
 
-  // output the solution in PipLib-like format
-  /* void output_solution_piplib(std::ostream& out) {
-    const PPL::Variables_Set& params = pip.parameter_space_dimensions();
-    PPL::Variables_Set vars;
-    for (PPL::dimension_type i = 0; i < pip.space_dimension(); ++i) {
-      if (params.count(i) == 0)
-        vars.insert(i);
-    }
-    const PPL::PIP_Tree solution = pip.solution();
-    out << "((" << comment << ")\n(";
-    pip_disp_sol_mat(out, solution, params, vars, pip.space_dimension());
-    out << "))" << std::endl;
-  } */
-
-  // output the solution in "if-then-else" format
+  //! Output the solution in "if-then-else" format.
   void output_solution_tree(std::ostream& out) {
     const PPL::Variables_Set& params = pip.parameter_space_dimensions();
     PPL::Variables_Set vars;
@@ -257,7 +243,7 @@ public:
   }
 
 protected:
-  // The problem object
+  //! The problem object.
   PPL::PIP_Problem pip;
 }; // class PIP_Parser
 
@@ -271,10 +257,10 @@ public:
 
     PPL::dimension_type num_ctx_rows;
     PPL::dimension_type num_params;
-    getline_nocomment(in, line);
+    getline_no_comment(in, line);
     {
-      std::istringstream sin(line);
-      sin >> num_ctx_rows >> num_params;
+      std::istringstream iss(line);
+      iss >> num_ctx_rows >> num_params;
     }
     PPL_ASSERT(num_params >= 2);
     num_params -= 2;
@@ -282,28 +268,28 @@ public:
     Coeff_Vector context(num_ctx_rows * (1+num_params));
     Int_Vector ctx_type(num_ctx_rows);
     for (PPL::dimension_type i = 0; i < num_ctx_rows; ++i) {
-      getline_nocomment(in, line);
-      std::istringstream sin(line);
-      sin >> ctx_type[i];
+      getline_no_comment(in, line);
+      std::istringstream iss(line);
+      iss >> ctx_type[i];
       for (PPL::dimension_type j = 0; j <= num_params; ++j) {
-        sin >> context[i * num_ctx_rows + j];
+        iss >> context[i*num_ctx_rows + j];
       }
     }
 
     int bignum_column_coding;
-    getline_nocomment(in, line);
+    getline_no_comment(in, line);
     {
-      std::istringstream sin(line);
-      sin >> bignum_column_coding;
+      std::istringstream iss(line);
+      iss >> bignum_column_coding;
     }
 
     PPL::dimension_type num_constraints;
     PPL::dimension_type constraint_width;
     PPL::dimension_type num_vars;
-    getline_nocomment(in, line);
+    getline_no_comment(in, line);
     {
-      std::istringstream sin(line);
-      sin >> num_constraints >> constraint_width;
+      std::istringstream iss(line);
+      iss >> num_constraints >> constraint_width;
     }
     constraint_width -= 1;
     num_vars = constraint_width - num_params - 1;
@@ -311,17 +297,17 @@ public:
     Coeff_Vector constraints(num_constraints * constraint_width);
     Int_Vector constraint_type(num_constraints);
     for (PPL::dimension_type i = 0; i < num_constraints; ++i) {
-      getline_nocomment(in, line);
-      std::istringstream sin(line);
-      sin >> constraint_type[i];
+      getline_no_comment(in, line);
+      std::istringstream iss(line);
+      iss >> constraint_type[i];
       for (PPL::dimension_type j = 0; j < constraint_width; ++j) {
-        sin >> constraints[i * constraint_width + j];
+        iss >> constraints[i*constraint_width + j];
       }
     }
 
     PPL::dimension_type bignum_column = (bignum_column_coding == -1)
       ? PPL::not_a_dimension()
-      : (bignum_column_coding + num_vars - 1);
+      : (num_vars + (bignum_column_coding - 1));
 
     bool result = update_pip(num_vars, num_params,
                              num_constraints, num_ctx_rows,
@@ -332,7 +318,7 @@ public:
   }
 
 protected:
-  static void getline_nocomment(std::istream& in, std::string& s) {
+  static void getline_no_comment(std::istream& in, std::string& s) {
     do {
       getline(in, s);
     } while (s.size() == 0 || s[0] == '\r' || s[0] == '#');
@@ -405,8 +391,8 @@ protected:
   bool read_comment(std::istream& in) {
     comment = "";
     int count = 1;
-    char c;
     do {
+      char c;
       if (!in.get(c))
         return false;
       if (c == '(')
@@ -437,19 +423,25 @@ protected:
     if (!expect(in, '['))
       return false;
     std::string s;
-    if (getline(in, s, ']').bad())
+    getline(in, s, ']');
+    if (in.fail())
       return false;
     std::istringstream iss(s);
     PPL::dimension_type start_index = row_index * row_size;
     PPL::dimension_type k = start_index;
-    for (PPL::dimension_type i = 0; i < cst_col; ++i)
-      if (!(iss >> tab[k++]))
+    for (PPL::dimension_type i = 0; i < cst_col; ++i, ++k) {
+      iss >> tab[k];
+      if (iss.fail())
         return false;
-    if (!(iss >> tab[start_index + row_size - 1]))
+    }
+    iss >> tab[start_index + row_size - 1];
+    if (iss.fail())
       return false;
-    for (PPL::dimension_type i = cst_col + 1; i < row_size; ++i)
-      if (!(iss >> tab[k++]))
+    for (PPL::dimension_type i = cst_col + 1; i < row_size; ++i, ++k) {
+      iss >> tab[k];
+      if (iss.fail())
         return false;
+    }
     return true;
   }
 
@@ -557,12 +549,6 @@ set_input(const char* file_name) {
   }
 }
 
-std::istream&
-input() {
-  assert(input_stream_p);
-  return *input_stream_p;
-}
-
 const char* output_file_name = 0;
 std::ostream* output_stream_p = 0;
 
@@ -585,12 +571,6 @@ set_output(const char* file_name) {
   }
 }
 
-std::ostream&
-output() {
-  assert(output_stream_p);
-  return *output_stream_p;
-}
-
 bool piplib_format = false;
 
 } // namespace
@@ -616,7 +596,7 @@ warning(const char* format, ...) {
   va_end(ap);
 }
 
-#if PPL_HAVE_DECL_RLIMIT_AS
+#if PPL_CXX_SUPPORTS_LIMITING_MEMORY && PPL_HAVE_DECL_RLIMIT_AS
 
 void
 limit_virtual_memory(const unsigned long bytes) {
@@ -655,7 +635,6 @@ process_options(int argc, char* argv[]) {
       break;
 
     char* endptr;
-    long l;
     switch (c) {
     case 0:
       break;
@@ -667,13 +646,16 @@ process_options(int argc, char* argv[]) {
       break;
 
     case 'R':
-      l = strtol(optarg, &endptr, 10);
-      if (*endptr || l < 0)
-	fatal("a non-negative integer must follow `-R'");
-      else if (((unsigned long) l) > ULONG_MAX/(1024*1024))
-        max_bytes_of_virtual_memory = ULONG_MAX;
-      else
-	max_bytes_of_virtual_memory = l*1024*1024;
+      {
+        const int MEGA = 1024*1024;
+        long l = strtol(optarg, &endptr, 10);
+        if (*endptr || l < 0)
+          fatal("a non-negative integer must follow `-R'");
+        else if (static_cast<unsigned long>(l) > ULONG_MAX/MEGA)
+          max_bytes_of_virtual_memory = ULONG_MAX;
+        else
+          max_bytes_of_virtual_memory = l*MEGA;
+      }
       break;
 
     case 'o':
@@ -813,11 +795,11 @@ main(int argc, char* argv[]) try {
     parser->output_solution_tree(*output_stream_p);
   }
   else {
-    std::auto_ptr<PPL::PIP_Problem> pipp;
+    std::auto_ptr<PPL::PIP_Problem> pip_p;
     // Perform a time benchmark loop executing the resolution several times.
-    for (int i = 0; i < loop_iterations; ++i) {
-      pipp.reset(new PPL::PIP_Problem(pip));
-      pipp->solve();
+    for (long i = 0; i < loop_iterations; ++i) {
+      pip_p.reset(new PPL::PIP_Problem(pip));
+      pip_p->solve();
     }
   }
 
diff --git a/depcomp b/depcomp
index df8eea7..debb6ff 100755
--- a/depcomp
+++ b/depcomp
@@ -1,10 +1,9 @@
 #! /bin/sh
 # depcomp - compile a program generating dependencies as side-effects
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-03-27.16; # UTC
 
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
+# Copyright (C) 1999-2012 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -28,7 +27,7 @@ scriptversion=2009-04-28.21; # UTC
 
 case $1 in
   '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
      exit 1;
      ;;
   -h | --h*)
@@ -40,11 +39,11 @@ as side-effects.
 
 Environment variables:
   depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
+  source      Source file read by 'PROGRAMS ARGS'.
+  object      Object file output by 'PROGRAMS ARGS'.
   DEPDIR      directory where to store dependencies.
   depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
+  tmpdepfile  Temporary file to use when outputting dependencies.
   libtool     Whether libtool is used (yes/no).
 
 Report bugs to <bug-automake at gnu.org>.
@@ -57,6 +56,12 @@ EOF
     ;;
 esac
 
+# A tabulation character.
+tab='	'
+# A newline character.
+nl='
+'
+
 if test -z "$depmode" || test -z "$source" || test -z "$object"; then
   echo "depcomp: Variables source, object and depmode must be set" 1>&2
   exit 1
@@ -90,10 +95,24 @@ if test "$depmode" = msvcmsys; then
    # This is just like msvisualcpp but w/o cygpath translation.
    # Just convert the backslash-escaped backslashes to single forward
    # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
+   cygpath_u='sed s,\\\\,/,g'
    depmode=msvisualcpp
 fi
 
+if test "$depmode" = msvc7msys; then
+   # This is just like msvc7 but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u='sed s,\\\\,/,g'
+   depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+   # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency informations.
+   gccflag=-qmakedep=gcc,-MF
+   depmode=gcc
+fi
+
 case "$depmode" in
 gcc3)
 ## gcc 3 implements dependency tracking that does exactly what
@@ -148,20 +167,21 @@ gcc)
 ## The second -e expression handles DOS-style file names with drive letters.
   sed -e 's/^[^:]*: / /' \
       -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
+## This next piece of magic avoids the "deleted header file" problem.
 ## The problem is that when a header file which appears in a .P file
 ## is deleted, the dependency causes make to die (because there is
 ## typically no way to rebuild the header).  We avoid this by adding
 ## dummy dependencies for each header file.  Too bad gcc doesn't do
 ## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
+  tr ' ' "$nl" < "$tmpdepfile" |
+## Some versions of gcc put a space before the ':'.  On the theory
 ## that the space means something, we add a space to the output as
-## well.
+## well.  hp depmode also adds that space, but also prefixes the VPATH
+## to the object.  Take care to not repeat it in the output.
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+    sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+      | sed -e 's/$/ :/' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -193,18 +213,15 @@ sgi)
     # clever and replace this with sed code, as IRIX sed won't handle
     # lines with more than a fixed number of characters (4096 in
     # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
+    # the IRIX cc adds comments like '#:fec' to the end of the
     # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
     | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
+    tr "$nl" ' ' >> "$depfile"
     echo >> "$depfile"
 
     # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
+    tr ' ' "$nl" < "$tmpdepfile" \
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
    >> "$depfile"
   else
@@ -216,10 +233,17 @@ sgi)
   rm -f "$tmpdepfile"
   ;;
 
+xlc)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 aix)
   # The C for AIX Compiler uses -M and outputs the dependencies
   # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # current directory.  Also, the AIX compiler puts '$object:' at the
   # start of each line; $object doesn't have directory information.
   # Version 6 uses the directory in both cases.
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
@@ -249,12 +273,11 @@ aix)
     test -f "$tmpdepfile" && break
   done
   if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
+    # Each line is of the form 'foo.o: dependent.h'.
     # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
+    # '$object: dependent.h' and one to simply 'dependent.h:'.
     sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+    sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
   else
     # The sourcefile does not contain any dependencies, so just
     # store a dummy comment line, to avoid errors with the Makefile
@@ -265,23 +288,26 @@ aix)
   ;;
 
 icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # Intel's C compiler anf tcc (Tiny C Compiler) understand '-MD -MF file'.
+  # However on
+  #    $CC -MD -MF foo.d -c -o sub/foo.o sub/foo.c
   # ICC 7.0 will fill foo.d with something like
   #    foo.o: sub/foo.c
   #    foo.o: sub/foo.h
-  # which is wrong.  We want:
+  # which is wrong.  We want
   #    sub/foo.o: sub/foo.c
   #    sub/foo.o: sub/foo.h
   #    sub/foo.c:
   #    sub/foo.h:
   # ICC 7.1 will output
   #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
+  # and will wrap long lines using '\':
   #    foo.o: sub/foo.c ... \
   #     sub/foo.h ... \
   #     ...
-
+  # tcc 0.9.26 (FIXME still under development at the moment of writing)
+  # will emit a similar output, but also prepend the continuation lines
+  # with horizontal tabulation characters.
   "$@" -MD -MF "$tmpdepfile"
   stat=$?
   if test $stat -eq 0; then :
@@ -290,15 +316,21 @@ icc)
     exit $stat
   fi
   rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Each line is of the form 'foo.o: dependent.h',
+  # or 'foo.o: dep1.h dep2.h \', or ' dep3.h dep4.h \'.
   # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
+  # '$object: dependent.h' and one to simply 'dependent.h:'.
+  sed -e "s/^[ $tab][ $tab]*/  /" -e "s,^[^:]*:,$object :," \
+    < "$tmpdepfile" > "$depfile"
+  sed '
+    s/[ '"$tab"'][ '"$tab"']*/ /g
+    s/^ *//
+    s/ *\\*$//
+    s/^[^:]*: *//
+    /^$/d
+    /:$/d
+    s/$/ :/
+  ' < "$tmpdepfile" >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
 
@@ -334,7 +366,7 @@ hp2)
   done
   if test -f "$tmpdepfile"; then
     sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
+    # Add 'dependent.h:' lines.
     sed -ne '2,${
 	       s/^ *//
 	       s/ \\*$//
@@ -349,9 +381,9 @@ hp2)
 
 tru64)
    # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
    # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
+   # dependencies in 'foo.d' instead, so we check for that too.
    # Subdirectories are respected.
    dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
    test "x$dir" = "x$object" && dir=
@@ -397,14 +429,59 @@ tru64)
    done
    if test -f "$tmpdepfile"; then
       sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+      sed -e 's,^.*\.[a-z]*:['"$tab"' ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
    else
       echo "#dummy" > "$depfile"
    fi
    rm -f "$tmpdepfile"
    ;;
 
+msvc7)
+  if test "$libtool" = yes; then
+    showIncludes=-Wc,-showIncludes
+  else
+    showIncludes=-showIncludes
+  fi
+  "$@" $showIncludes > "$tmpdepfile"
+  stat=$?
+  grep -v '^Note: including file: ' "$tmpdepfile"
+  if test "$stat" = 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  # The first sed program below extracts the file names and escapes
+  # backslashes for cygpath.  The second sed program outputs the file
+  # name when reading, but also accumulates all include files in the
+  # hold buffer in order to output them again at the end.  This only
+  # works with sed implementations that can handle large buffers.
+  sed < "$tmpdepfile" -n '
+/^Note: including file:  *\(.*\)/ {
+  s//\1/
+  s/\\/\\\\/g
+  p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+  s/.*/'"$tab"'/
+  G
+  p
+}' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvc7msys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
 #nosideeffect)
   # This comment above is used by automake to tell side-effect
   # dependency tracking mechanisms from slower ones.
@@ -422,7 +499,7 @@ dashmstdout)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -442,15 +519,14 @@ dashmstdout)
   done
 
   test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
+  # Require at least two characters before searching for ':'
   # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
   "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+    sed 's:^['"$tab"' ]*[^:'"$tab"' ][^:][^:]*\:['"$tab"' ]*:'"$object"'\: :' > "$tmpdepfile"
   rm -f "$depfile"
   cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
+  tr ' ' "$nl" < "$tmpdepfile" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -503,9 +579,10 @@ makedepend)
   touch "$tmpdepfile"
   ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
   rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
+  # makedepend may prepend the VPATH from the source file name to the object.
+  # No need to regex-escape $object, excess matching of '.' is harmless.
+  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' "$nl" | \
 ## Some versions of the HPUX 10.20 sed can't process this invocation
 ## correctly.  Breaking it into two sed invocations is a workaround.
     sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
@@ -525,7 +602,7 @@ cpp)
     shift
   fi
 
-  # Remove `-o $object'.
+  # Remove '-o $object'.
   IFS=" "
   for arg
   do
@@ -594,8 +671,8 @@ msvisualcpp)
   sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
   rm -f "$depfile"
   echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+  echo "$tab" >> "$depfile"
   sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
   rm -f "$tmpdepfile"
   ;;
diff --git a/doc/Makefile.am b/doc/Makefile.am
index aa547e0..9cde930 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # All the documentation in docdir.
 docdir = @docdir@
@@ -29,7 +29,6 @@ psdir = $(docdir)
 txtdir = $(docdir)
 
 DOXYGEN = doxygen
-INSTALLDOX = ./installdox -q
 
 PDF_LICENSES = \
 gpl.pdf \
@@ -48,6 +47,10 @@ $(PDF_LICENSES) \
 $(TXT_LICENSES) \
 $(PS_LICENSES)
 
+BIBLIOGRAPHIES = \
+ppl.bib \
+ppl_citations.bib
+
 ##### Library Core Manuals (C++ Interface) #####
 
 USER_CORE_HTML_MANUAL = ppl-user- at VERSION@-html.tar.gz
@@ -62,12 +65,21 @@ DEVREF_CORE_PS_MANUAL = ppl-devref- at VERSION@.ps.gz
 USER_CORE_HTML_DIR = ppl-user- at VERSION@-html
 DEVREF_CORE_HTML_DIR = ppl-devref- at VERSION@-html
 
-DOX_LICENCE_FILES = \
+# NOTE: this variable is used to record Makefile dependencies.
+# The file path is that of the source directory.
+DOX_LICENSE_FILES = \
 gpl.dox \
 fdl.dox
 
+# NOTE: this variable is used to populate Doxygen configuration tag INPUT.
+# The file path is that of the build directory, hence we ca not use
+# variable DOX_LICENSE_FILES defined above.
+DOX_LICENSE_INPUT = \
+$(srcdir)/gpl.dox \
+$(srcdir)/fdl.dox
+
 DOX_FILES = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 definitions.dox
 
 USER_CORE_STUFF = \
@@ -108,7 +120,7 @@ DEVREF_C_INTERFACE_HTML_DIR = \
 ppl-devref-c-interface- at VERSION@-html
 
 COMMON_C_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 ppl.sty \
 ../configure.ac \
 ../interfaces/C/ppl_c_version.h.in \
@@ -187,17 +199,26 @@ ppl-user-prolog-interface- at VERSION@-html
 DEVREF_PROLOG_INTERFACE_HTML_DIR = \
 ppl-devref-prolog-interface- at VERSION@-html
 
+
+PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES = \
+../interfaces/Prolog/Prolog_interface_sysindep.dox \
+../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+../interfaces/Prolog/Prolog_interface_compilation.dox \
+../interfaces/Prolog/Prolog_interface_sysdep.dox
+
 USER_PROLOG_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 user-language-interface.tex \
 ppl.sty \
-../interfaces/Prolog/Prolog_interface.dox
+../interfaces/Prolog/Prolog_interface.dox \
+$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES)
 
 DEVREF_PROLOG_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 devref-language-interface.tex \
 ppl.sty \
 ../interfaces/Prolog/Prolog_interface.dox \
+$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES) \
 ../interfaces/Prolog/ppl_prolog_common.defs.hh \
 ../interfaces/Prolog/ppl_prolog_common.inlines.hh \
 ../interfaces/Prolog/ppl_prolog_common.cc
@@ -226,16 +247,18 @@ DEVREF_CONFIGURED_PROLOG_INTERFACE_HTML_DIR = \
 ppl-devref-configured-prolog-interface- at VERSION@-html
 
 USER_CONFIGURED_PROLOG_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 user-language-interface.tex \
 ppl.sty \
-$(top_builddir)/interfaces/Prolog/Prolog_configured_interface.dox
+../interfaces/Prolog/Prolog_configured_interface.dox \
+$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES)
 
 DEVREF_CONFIGURED_PROLOG_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 devref-language-interface.tex \
 ppl.sty \
-$(top_builddir)/interfaces/Prolog/Prolog_configured_interface.dox \
+../interfaces/Prolog/Prolog_configured_interface.dox \
+$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES) \
 ../interfaces/Prolog/ppl_prolog_common.defs.hh \
 ../interfaces/Prolog/ppl_prolog_common.inlines.hh \
 ../interfaces/Prolog/ppl_prolog_common.cc \
@@ -270,14 +293,14 @@ DEVREF_OCAML_INTERFACE_HTML_DIR = \
 ppl-devref-ocaml-interface- at VERSION@-html
 
 USER_OCAML_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 user-language-interface.tex \
 ppl.sty \
 ../interfaces/OCaml/OCaml_interface.dox \
 ../interfaces/OCaml/ppl_ocaml_globals.mli
 
 DEVREF_OCAML_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 devref-language-interface.tex \
 ppl.sty \
 ../interfaces/OCaml/OCaml_interface.dox \
@@ -387,13 +410,13 @@ JAVA_INTERFACE_JAVA_FILES = \
 ../interfaces/Java/parma_polyhedra_library/Variables_Set.java
 
 USER_JAVA_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 user-language-interface.tex \
 ppl.sty \
 $(JAVA_INTERFACE_JAVA_FILES)
 
 DEVREF_JAVA_INTERFACE_STUFF = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 devref-language-interface.tex \
 ppl.sty \
 $(JAVA_INTERFACE_JAVA_FILES) \
@@ -721,10 +744,23 @@ uninstall-pdf \
 uninstall-ps \
 uninstall-txt
 
+
+if BUILD_DOCUMENTATION
+
+CONTINUE_IF_NO_DOC = true
+
+else !BUILD_DOCUMENTATION
+
+CONTINUE_IF_NO_DOC = continue
+
+endif !BUILD_DOCUMENTATION
+
+
 # Installation and uninstallation of HTML documentation.
 install-html:
 	for ball in $(INSTALL_HTML_DOCS); do \
-	  test -f $$ball || test -f $(srcdir)/$$ball || $(MAKE) $$ball; \
+	  test -f $$ball || test -f $(srcdir)/$$ball \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$ball; \
 	  dir=`basename $$ball .tar.gz`; \
 	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
 	  gunzip -c `if test -f $$ball; then echo .; else echo $(srcdir); fi`/$$ball | tar xf - ; \
@@ -756,7 +792,8 @@ uninstall-html:
 install-pdf:
 	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
 	for file in $(INSTALL_PDF_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
+	  test -f $$file || test -f $(srcdir)/$$file \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$file; \
 	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(pdfdir)/$$file; \
 	done
 
@@ -769,10 +806,14 @@ uninstall-pdf:
 	done
 
 # Installation and uninstallation of PostScript documentation.
-install-ps:
+# The PostScript documentation is obtained from the PDF one;
+# the dependency is needed so as to make sure the PDF documentation
+# is fully built before the conversion is performed.
+install-ps: install-pdf
 	$(mkinstalldirs) $(DESTDIR)$(psdir)
 	for file in $(INSTALL_PS_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
+	  test -f $$file || test -f $(srcdir)/$$file \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$file; \
 	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(psdir)/$$file; \
 	done
 
@@ -859,10 +900,10 @@ SED_HTML_OPTION = -f $(srcdir)/interfaces-html.sed
 SED_LATEX_OPTION = -f $(srcdir)/interfaces-latex.sed
 
 SED_USER_HTML_OPTION = $(SED_HTML_OPTION) \
--e 's|<PPL_SED_TAGFILES>|ppl-user- at VERSION@-html.tag=../ppl-user- at VERSION@-html.tag|'
+-e 's|<PPL_SED_TAGFILES>|ppl-user- at VERSION@-html.tag=../ppl-user- at VERSION@-html|'
 
 SED_DEVREF_HTML_OPTION = $(SED_HTML_OPTION) \
--e 's|<PPL_SED_TAGFILES>|ppl-devref- at VERSION@-html.tag=../ppl-devref- at VERSION@-html.tag|'
+-e 's|<PPL_SED_TAGFILES>|ppl-devref- at VERSION@-html.tag=../ppl-devref- at VERSION@-html|'
 
 SED_USER_LATEX_OPTION = \
 $(SED_LATEX_OPTION) \
@@ -881,19 +922,19 @@ SED_C_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_C_INPUT_USER = \
+$(DOX_LICENSE_INPUT) \
 ../interfaces/C/ppl_c_version.h \
 $(srcdir)/../interfaces/C/ppl_c_header.h \
-$(srcdir)/../interfaces/C/C_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/C/C_interface.dox
 
 SED_C_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 ../interfaces/C/ppl_c_version.h \
 $(srcdir)/../interfaces/C/ppl_c_header.h \
 $(srcdir)/../interfaces/C/C_interface.dox \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.cc \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.defs.hh \
-$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh
 
 user-c-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -936,8 +977,6 @@ $(USER_C_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-c-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -950,8 +989,6 @@ $(DEVREF_C_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_DEVREF)"'|' \
 	    $<  > Doxyfile.devref-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 # (System Independent) Prolog Language Interface Targets
 
@@ -962,15 +999,23 @@ SED_PROLOG_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_PROLOG_INPUT_USER = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Prolog/Prolog_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox
 
 SED_PROLOG_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Prolog/Prolog_interface.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.defs.hh \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.inlines.hh \
-$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc
 
 user-prolog-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -1013,8 +1058,6 @@ $(USER_PROLOG_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-prolog-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1027,8 +1070,6 @@ $(DEVREF_PROLOG_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 # OCaml Language Interface Targets
 
@@ -1039,15 +1080,15 @@ SED_OCAML_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>/\\usepackage{ocamldoc}/'
 
 SED_OCAML_INPUT_USER = \
-$(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/OCaml/OCaml_interface.dox
 
 SED_OCAML_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.cc \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.defs.hh \
-$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh
 
 OCAMLDOC_HTML_OPTIONS = \
 -I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml -html
@@ -1101,8 +1142,6 @@ $(USER_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1118,8 +1157,6 @@ $(DEVREF_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1133,16 +1170,16 @@ SED_JAVA_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_JAVA_INPUT_USER = \
-$(srcdir)/../interfaces/Java/parma_polyhedra_library \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/Java/parma_polyhedra_library
 
 SED_JAVA_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Java/parma_polyhedra_library \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.cc \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.defs.hh \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.inlines.hh \
-$(srcdir)/../interfaces/Java/jni/ppl_java_globals.cc \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Java/jni/ppl_java_globals.cc
 
 user-java-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -1185,8 +1222,6 @@ $(USER_JAVA_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-java-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1199,8 +1234,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 ############################################################################
 
@@ -1216,17 +1249,17 @@ SED_CONFIGURED_C_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_CONFIGURED_C_INPUT_USER = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/C/C_interface.dox \
-../interfaces/C/ppl_c.h \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+../interfaces/C/ppl_c.h
 
 SED_CONFIGURED_C_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/C/C_interface.dox \
 ../interfaces/C/ppl_c.h \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.cc \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.defs.hh \
-$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh
 # FIXME add generated files
 
 user-configured-c-interface.latex-dir: \
@@ -1272,8 +1305,6 @@ $(USER_CONFIGURED_C_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-configured-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-configured-c-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1286,8 +1317,6 @@ $(DEVREF_CONFIGURED_C_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_DEVREF)"'|' \
 	    $<  > Doxyfile.devref-configured-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 endif BUILD_C_INTERFACE
 
@@ -1301,15 +1330,23 @@ SED_CONFIGURED_PROLOG_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_CONFIGURED_PROLOG_INPUT_USER = \
-../interfaces/Prolog/Prolog_configured_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/Prolog/Prolog_configured_interface.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+../interfaces/Prolog/Prolog_configured_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox
 
 SED_CONFIGURED_PROLOG_INPUT_DEVREF = \
-../interfaces/Prolog/Prolog_configured_interface.dox \
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/Prolog/Prolog_configured_interface.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+../interfaces/Prolog/Prolog_configured_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.defs.hh \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.inlines.hh \
-$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc
 # FIXME: add appropriate generated files.
 
 user-configured-prolog-interface.latex-dir: \
@@ -1355,8 +1392,6 @@ $(USER_CONFIGURED_PROLOG_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-configured-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-configured-prolog-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1369,8 +1404,6 @@ $(DEVREF_CONFIGURED_PROLOG_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-configured-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 endif BUILD_SOME_PROLOG_INTERFACES
 
@@ -1384,15 +1417,15 @@ SED_CONFIGURED_OCAML_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>/\\usepackage{ocamldoc}/'
 
 SED_CONFIGURED_OCAML_INPUT_USER = \
-$(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/OCaml/OCaml_interface.dox
 
 SED_CONFIGURED_OCAML_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.cc \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.defs.hh \
-$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh
 
 user-configured-ocaml-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -1441,8 +1474,6 @@ $(USER_CONFIGURED_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-configured-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		../interfaces/OCaml/ppl_ocaml.mli
@@ -1458,8 +1489,6 @@ $(DEVREF_CONFIGURED_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-configured-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		../interfaces/OCaml/ppl_ocaml.mli
@@ -1542,8 +1571,6 @@ $(USER_CONFIGURED_JAVA_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
 	    >> Doxyfile.user-configured-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-configured-java-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1558,8 +1585,6 @@ $(DEVREF_CONFIGURED_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
 	    >> Doxyfile.devref-configured-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 endif BUILD_JAVA_INTERFACE
 
@@ -1608,9 +1633,11 @@ user-language-interface.doxyconf $(USER_JAVA_INTERFACE_STUFF)
 	pdftops $< $@
 
 EXTRA_DIST= \
+$(BIBLIOGRAPHIES) \
 $(DIST_DOCS) \
 $(DOX_FILES) \
 README.doc \
+bugseng_logo.pdf \
 devref-language-interface.tex \
 devref.tex \
 fdl.tex \
@@ -1618,6 +1645,8 @@ gpl.tex \
 interfaces-html.sed \
 interfaces-latex.sed \
 ppl.sty \
+ppl_logo.pdf \
+ppl_logo_no_ppl.pdf \
 user-language-interface.tex \
 user.tex
 
diff --git a/doc/Makefile.in b/doc/Makefile.in
index bfe9d09..1501beb 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -75,27 +75,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -105,11 +100,11 @@ CONFIG_CLEAN_FILES = user.doxyconf-latex devref.doxyconf-latex \
 	user-language-interface.doxyconf \
 	devref-language-interface.doxyconf
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -134,6 +129,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 man1dir = $(mandir)/man1
 am__installdirs = "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man3dir)"
 man3dir = $(mandir)/man3
@@ -163,6 +164,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -187,21 +189,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -257,6 +254,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -327,7 +325,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -340,7 +337,6 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 txtdir = $(docdir)
 DOXYGEN = doxygen
-INSTALLDOX = ./installdox -q
 PDF_LICENSES = \
 gpl.pdf \
 fdl.pdf
@@ -358,6 +354,10 @@ $(PDF_LICENSES) \
 $(TXT_LICENSES) \
 $(PS_LICENSES)
 
+BIBLIOGRAPHIES = \
+ppl.bib \
+ppl_citations.bib
+
 
 ##### Library Core Manuals (C++ Interface) #####
 USER_CORE_HTML_MANUAL = ppl-user- at VERSION@-html.tar.gz
@@ -368,12 +368,23 @@ USER_CORE_PS_MANUAL = ppl-user- at VERSION@.ps.gz
 DEVREF_CORE_PS_MANUAL = ppl-devref- at VERSION@.ps.gz
 USER_CORE_HTML_DIR = ppl-user- at VERSION@-html
 DEVREF_CORE_HTML_DIR = ppl-devref- at VERSION@-html
-DOX_LICENCE_FILES = \
+
+# NOTE: this variable is used to record Makefile dependencies.
+# The file path is that of the source directory.
+DOX_LICENSE_FILES = \
 gpl.dox \
 fdl.dox
 
+
+# NOTE: this variable is used to populate Doxygen configuration tag INPUT.
+# The file path is that of the build directory, hence we ca not use
+# variable DOX_LICENSE_FILES defined above.
+DOX_LICENSE_INPUT = \
+$(srcdir)/gpl.dox \
+$(srcdir)/fdl.dox
+
 DOX_FILES = \
-$(DOX_LICENCE_FILES) \
+$(DOX_LICENSE_FILES) \
 definitions.dox
 
 USER_CORE_STUFF = \
@@ -415,7 +426,7 @@ $(PPL_SOURCE_FILES)
 @BUILD_C_INTERFACE_TRUE at ppl-devref-c-interface-@VERSION at -html
 
 @BUILD_C_INTERFACE_TRUE at COMMON_C_INTERFACE_STUFF = \
- at BUILD_C_INTERFACE_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_C_INTERFACE_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_C_INTERFACE_TRUE at ppl.sty \
 @BUILD_C_INTERFACE_TRUE at ../configure.ac \
 @BUILD_C_INTERFACE_TRUE at ../interfaces/C/ppl_c_version.h.in \
@@ -496,17 +507,25 @@ $(PPL_SOURCE_FILES)
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at DEVREF_PROLOG_INTERFACE_HTML_DIR = \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl-devref-prolog-interface-@VERSION at -html
 
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES = \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface_sysindep.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface_compilation.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface_sysdep.dox
+
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at USER_PROLOG_INTERFACE_STUFF = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at user-language-interface.tex \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl.sty \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface.dox
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES)
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at DEVREF_PROLOG_INTERFACE_STUFF = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at devref-language-interface.tex \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl.sty \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/Prolog_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.defs.hh \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.inlines.hh \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.cc
@@ -538,16 +557,18 @@ $(PPL_SOURCE_FILES)
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl-devref-configured-prolog-interface-@VERSION at -html
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at USER_CONFIGURED_PROLOG_INTERFACE_STUFF = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at user-language-interface.tex \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl.sty \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(top_builddir)/interfaces/Prolog/Prolog_configured_interface.dox
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES)
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at DEVREF_CONFIGURED_PROLOG_INTERFACE_STUFF = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at devref-language-interface.tex \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl.sty \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(top_builddir)/interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(PROLOG_INTERFACE_ADDITIONAL_DOX_PAGES) \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.defs.hh \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.inlines.hh \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ../interfaces/Prolog/ppl_prolog_common.cc \
@@ -581,14 +602,14 @@ $(PPL_SOURCE_FILES)
 @BUILD_OCAML_INTERFACE_TRUE at ppl-devref-ocaml-interface-@VERSION at -html
 
 @BUILD_OCAML_INTERFACE_TRUE at USER_OCAML_INTERFACE_STUFF = \
- at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_OCAML_INTERFACE_TRUE at user-language-interface.tex \
 @BUILD_OCAML_INTERFACE_TRUE at ppl.sty \
 @BUILD_OCAML_INTERFACE_TRUE at ../interfaces/OCaml/OCaml_interface.dox \
 @BUILD_OCAML_INTERFACE_TRUE at ../interfaces/OCaml/ppl_ocaml_globals.mli
 
 @BUILD_OCAML_INTERFACE_TRUE at DEVREF_OCAML_INTERFACE_STUFF = \
- at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_OCAML_INTERFACE_TRUE at devref-language-interface.tex \
 @BUILD_OCAML_INTERFACE_TRUE at ppl.sty \
 @BUILD_OCAML_INTERFACE_TRUE at ../interfaces/OCaml/OCaml_interface.dox \
@@ -701,13 +722,13 @@ $(PPL_SOURCE_FILES)
 @BUILD_JAVA_INTERFACE_TRUE at ../interfaces/Java/parma_polyhedra_library/Variables_Set.java
 
 @BUILD_JAVA_INTERFACE_TRUE at USER_JAVA_INTERFACE_STUFF = \
- at BUILD_JAVA_INTERFACE_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_JAVA_INTERFACE_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_JAVA_INTERFACE_TRUE at user-language-interface.tex \
 @BUILD_JAVA_INTERFACE_TRUE at ppl.sty \
 @BUILD_JAVA_INTERFACE_TRUE@$(JAVA_INTERFACE_JAVA_FILES)
 
 @BUILD_JAVA_INTERFACE_TRUE at DEVREF_JAVA_INTERFACE_STUFF = \
- at BUILD_JAVA_INTERFACE_TRUE@$(DOX_LICENCE_FILES) \
+ at BUILD_JAVA_INTERFACE_TRUE@$(DOX_LICENSE_FILES) \
 @BUILD_JAVA_INTERFACE_TRUE at devref-language-interface.tex \
 @BUILD_JAVA_INTERFACE_TRUE at ppl.sty \
 @BUILD_JAVA_INTERFACE_TRUE@$(JAVA_INTERFACE_JAVA_FILES) \
@@ -893,6 +914,8 @@ $(INSTALL_JAVA_INTERFACE_PS_DOCS) \
 $(INSTALL_OCAML_INTERFACE_PS_DOCS) \
 $(INSTALL_PROLOG_INTERFACE_PS_DOCS)
 
+ at BUILD_DOCUMENTATION_FALSE@CONTINUE_IF_NO_DOC = continue
+ at BUILD_DOCUMENTATION_TRUE@CONTINUE_IF_NO_DOC = true
 PPL_SOURCE_FILES = $(wildcard $(srcdir)/../src/*.hh $(srcdir)/../src/*.cc)
 LATEX_DIRS = \
 user.latex-dir \
@@ -922,10 +945,10 @@ TEX_ENV = TEXINPUTS=$(abs_srcdir):$(TEXINPUTS)
 SED_HTML_OPTION = -f $(srcdir)/interfaces-html.sed
 SED_LATEX_OPTION = -f $(srcdir)/interfaces-latex.sed
 SED_USER_HTML_OPTION = $(SED_HTML_OPTION) \
--e 's|<PPL_SED_TAGFILES>|ppl-user- at VERSION@-html.tag=../ppl-user- at VERSION@-html.tag|'
+-e 's|<PPL_SED_TAGFILES>|ppl-user- at VERSION@-html.tag=../ppl-user- at VERSION@-html|'
 
 SED_DEVREF_HTML_OPTION = $(SED_HTML_OPTION) \
--e 's|<PPL_SED_TAGFILES>|ppl-devref- at VERSION@-html.tag=../ppl-devref- at VERSION@-html.tag|'
+-e 's|<PPL_SED_TAGFILES>|ppl-devref- at VERSION@-html.tag=../ppl-devref- at VERSION@-html|'
 
 SED_USER_LATEX_OPTION = \
 $(SED_LATEX_OPTION) \
@@ -944,19 +967,19 @@ SED_C_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_C_INPUT_USER = \
+$(DOX_LICENSE_INPUT) \
 ../interfaces/C/ppl_c_version.h \
 $(srcdir)/../interfaces/C/ppl_c_header.h \
-$(srcdir)/../interfaces/C/C_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/C/C_interface.dox
 
 SED_C_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 ../interfaces/C/ppl_c_version.h \
 $(srcdir)/../interfaces/C/ppl_c_header.h \
 $(srcdir)/../interfaces/C/C_interface.dox \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.cc \
 $(srcdir)/../interfaces/C/ppl_c_implementation_common.defs.hh \
-$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh
 
 
 # (System Independent) Prolog Language Interface Targets
@@ -967,15 +990,23 @@ SED_PROLOG_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_PROLOG_INPUT_USER = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Prolog/Prolog_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox
 
 SED_PROLOG_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Prolog/Prolog_interface.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep_domains.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.defs.hh \
 $(srcdir)/../interfaces/Prolog/ppl_prolog_common.inlines.hh \
-$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc
 
 
 # OCaml Language Interface Targets
@@ -986,15 +1017,15 @@ SED_OCAML_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>/\\usepackage{ocamldoc}/'
 
 SED_OCAML_INPUT_USER = \
-$(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/OCaml/OCaml_interface.dox
 
 SED_OCAML_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.cc \
 $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.defs.hh \
-$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh
 
 OCAMLDOC_HTML_OPTIONS = \
 -I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml -html
@@ -1012,16 +1043,16 @@ SED_JAVA_OPTION = \
   -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 SED_JAVA_INPUT_USER = \
-$(srcdir)/../interfaces/Java/parma_polyhedra_library \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(DOX_LICENSE_INPUT) \
+$(srcdir)/../interfaces/Java/parma_polyhedra_library
 
 SED_JAVA_INPUT_DEVREF = \
+$(DOX_LICENSE_INPUT) \
 $(srcdir)/../interfaces/Java/parma_polyhedra_library \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.cc \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.defs.hh \
 $(srcdir)/../interfaces/Java/jni/ppl_java_common.inlines.hh \
-$(srcdir)/../interfaces/Java/jni/ppl_java_globals.cc \
-$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+$(srcdir)/../interfaces/Java/jni/ppl_java_globals.cc
 
 
 ############################################################################
@@ -1036,17 +1067,17 @@ $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 @BUILD_C_INTERFACE_TRUE@  -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 @BUILD_C_INTERFACE_TRUE at SED_CONFIGURED_C_INPUT_USER = \
+ at BUILD_C_INTERFACE_TRUE@$(DOX_LICENSE_INPUT) \
 @BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/C_interface.dox \
- at BUILD_C_INTERFACE_TRUE@../interfaces/C/ppl_c.h \
- at BUILD_C_INTERFACE_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_C_INTERFACE_TRUE@../interfaces/C/ppl_c.h
 
 @BUILD_C_INTERFACE_TRUE at SED_CONFIGURED_C_INPUT_DEVREF = \
+ at BUILD_C_INTERFACE_TRUE@$(DOX_LICENSE_INPUT) \
 @BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/C_interface.dox \
 @BUILD_C_INTERFACE_TRUE at ../interfaces/C/ppl_c.h \
 @BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/ppl_c_implementation_common.cc \
 @BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/ppl_c_implementation_common.defs.hh \
- at BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh \
- at BUILD_C_INTERFACE_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_C_INTERFACE_TRUE@$(srcdir)/../interfaces/C/ppl_c_implementation_common.inlines.hh
 
 
 # Configuration-Dependent Prolog Language Interface Targets
@@ -1057,15 +1088,23 @@ $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@  -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>//'
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at SED_CONFIGURED_PROLOG_INPUT_USER = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_interface.dox \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_INPUT) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_domains.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at SED_CONFIGURED_PROLOG_INPUT_DEVREF = \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(DOX_LICENSE_INPUT) \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_configured_interface.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_sysindep.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@../interfaces/Prolog/Prolog_configured_domains.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_compilation.dox \
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/Prolog_interface_sysdep.dox \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/ppl_prolog_common.defs.hh \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/ppl_prolog_common.inlines.hh \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_SOME_PROLOG_INTERFACES_TRUE@$(srcdir)/../interfaces/Prolog/ppl_prolog_common.cc
 
 
 # Configuration-Dependent OCaml Language Interface Targets
@@ -1076,15 +1115,15 @@ $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 @BUILD_OCAML_INTERFACE_TRUE@  -e 's/<PPL_SED_USEPACKAGE_OCAMLDOC>/\\usepackage{ocamldoc}/'
 
 @BUILD_OCAML_INTERFACE_TRUE at SED_CONFIGURED_OCAML_INPUT_USER = \
- at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
- at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENSE_INPUT) \
+ at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/OCaml_interface.dox
 
 @BUILD_OCAML_INTERFACE_TRUE at SED_CONFIGURED_OCAML_INPUT_DEVREF = \
+ at BUILD_OCAML_INTERFACE_TRUE@$(DOX_LICENSE_INPUT) \
 @BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/OCaml_interface.dox \
 @BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.cc \
 @BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.defs.hh \
- at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
- at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/gpl.dox $(srcdir)/fdl.dox
+ at BUILD_OCAML_INTERFACE_TRUE@$(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh
 
 
 # Configuration-Dependent Java Language Interface Targets
@@ -1103,9 +1142,11 @@ $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 @BUILD_JAVA_INTERFACE_TRUE at ../interfaces/Java/parma_polyhedra_library
 
 EXTRA_DIST = \
+$(BIBLIOGRAPHIES) \
 $(DIST_DOCS) \
 $(DOX_FILES) \
 README.doc \
+bugseng_logo.pdf \
 devref-language-interface.tex \
 devref.tex \
 fdl.tex \
@@ -1113,6 +1154,8 @@ gpl.tex \
 interfaces-html.sed \
 interfaces-latex.sed \
 ppl.sty \
+ppl_logo.pdf \
+ppl_logo_no_ppl.pdf \
 user-language-interface.tex \
 user.tex
 
@@ -1224,9 +1267,7 @@ uninstall-man1:
 	  sed -n '/\.1[a-z]*$$/p'; \
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	test -z "$$files" || { \
-	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
-	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
 install-man3: $(dist_man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man3dir)" || $(MKDIR_P) "$(DESTDIR)$(man3dir)"
@@ -1262,9 +1303,7 @@ uninstall-man3:
 	  sed -n '/\.3[a-z]*$$/p'; \
 	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^3][0-9a-z]*$$,3,;x' \
 	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	test -z "$$files" || { \
-	  echo " ( cd '$(DESTDIR)$(man3dir)' && rm -f" $$files ")"; \
-	  cd "$(DESTDIR)$(man3dir)" && rm -f $$files; }
+	dir='$(DESTDIR)$(man3dir)'; $(am__uninstall_files_from_dir)
 tags: TAGS
 TAGS:
 
@@ -1332,10 +1371,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
@@ -1551,7 +1595,8 @@ uninstall-txt
 # Installation and uninstallation of HTML documentation.
 install-html:
 	for ball in $(INSTALL_HTML_DOCS); do \
-	  test -f $$ball || test -f $(srcdir)/$$ball || $(MAKE) $$ball; \
+	  test -f $$ball || test -f $(srcdir)/$$ball \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$ball; \
 	  dir=`basename $$ball .tar.gz`; \
 	  $(mkinstalldirs) $(DESTDIR)$(htmldir)/$$dir; \
 	  gunzip -c `if test -f $$ball; then echo .; else echo $(srcdir); fi`/$$ball | tar xf - ; \
@@ -1583,7 +1628,8 @@ uninstall-html:
 install-pdf:
 	$(mkinstalldirs) $(DESTDIR)$(pdfdir)
 	for file in $(INSTALL_PDF_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
+	  test -f $$file || test -f $(srcdir)/$$file \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$file; \
 	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(pdfdir)/$$file; \
 	done
 
@@ -1596,10 +1642,14 @@ uninstall-pdf:
 	done
 
 # Installation and uninstallation of PostScript documentation.
-install-ps:
+# The PostScript documentation is obtained from the PDF one;
+# the dependency is needed so as to make sure the PDF documentation
+# is fully built before the conversion is performed.
+install-ps: install-pdf
 	$(mkinstalldirs) $(DESTDIR)$(psdir)
 	for file in $(INSTALL_PS_DOCS); do \
-	  test -f $$file || test -f $(srcdir)/$$file || $(MAKE) $$file; \
+	  test -f $$file || test -f $(srcdir)/$$file \
+	    || $(CONTINUE_IF_NO_DOC) || $(MAKE) $$file; \
 	  $(INSTALL_DATA) `if test -f $$file; then echo .; else echo $(srcdir); fi`/$$file $(DESTDIR)$(psdir)/$$file; \
 	done
 
@@ -1695,8 +1745,6 @@ $(USER_C_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-c-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1709,8 +1757,6 @@ $(DEVREF_C_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_C_INPUT_DEVREF)"'|' \
 	    $<  > Doxyfile.devref-c-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-c-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 user-prolog-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -1753,8 +1799,6 @@ $(USER_PROLOG_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-prolog-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1767,8 +1811,6 @@ $(DEVREF_PROLOG_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_PROLOG_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-prolog-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-prolog-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 user-ocaml-interface.latex-dir: \
 user-language-interface.doxyconf \
@@ -1815,8 +1857,6 @@ $(USER_OCAML_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	    -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_USER)"'|' \
 	    $<  > Doxyfile.user-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1832,8 +1872,6 @@ $(DEVREF_OCAML_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_OCAML_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-ocaml-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-ocaml-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 	mkdir $@/ocamldoc
 	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 		$(srcdir)/../interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1879,8 +1917,6 @@ $(USER_JAVA_INTERFACE_STUFF) $(USER_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_USER)"'|' \
 	  $<  > Doxyfile.user-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 ppl-devref-java-interface- at VERSION@-html: \
 devref-language-interface.doxyconf \
@@ -1893,8 +1929,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 	  -e 's|<PPL_SED_INPUT>|'"$(SED_JAVA_INPUT_DEVREF)"'|' \
 	  $<  > Doxyfile.devref-java-interface-html
 	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-java-interface-html
-	(cd $@; $(INSTALLDOX) \
-		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 # FIXME add generated files
 
 @BUILD_C_INTERFACE_TRUE at user-configured-c-interface.latex-dir: \
@@ -1940,8 +1974,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_C_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_USER)"'|' \
 @BUILD_C_INTERFACE_TRUE@	    $<  > Doxyfile.user-configured-c-interface-html
 @BUILD_C_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-c-interface-html
- at BUILD_C_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_C_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 @BUILD_C_INTERFACE_TRUE at ppl-devref-configured-c-interface-@VERSION at -html: \
 @BUILD_C_INTERFACE_TRUE at devref-language-interface.doxyconf \
@@ -1954,8 +1986,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_C_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_C_INPUT_DEVREF)"'|' \
 @BUILD_C_INTERFACE_TRUE@	    $<  > Doxyfile.devref-configured-c-interface-html
 @BUILD_C_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-c-interface-html
- at BUILD_C_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_C_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 # FIXME: add appropriate generated files.
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at user-configured-prolog-interface.latex-dir: \
@@ -2001,8 +2031,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_USER)"'|' \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  $<  > Doxyfile.user-configured-prolog-interface-html
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-prolog-interface-html
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at ppl-devref-configured-prolog-interface-@VERSION at -html: \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE at devref-language-interface.doxyconf \
@@ -2015,8 +2043,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_PROLOG_INPUT_DEVREF)"'|' \
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	  $<  > Doxyfile.devref-configured-prolog-interface-html
 @BUILD_SOME_PROLOG_INTERFACES_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-prolog-interface-html
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_SOME_PROLOG_INTERFACES_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 @BUILD_OCAML_INTERFACE_TRUE at user-configured-ocaml-interface.latex-dir: \
 @BUILD_OCAML_INTERFACE_TRUE at user-language-interface.doxyconf \
@@ -2065,8 +2091,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	    -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_USER)"'|' \
 @BUILD_OCAML_INTERFACE_TRUE@	    $<  > Doxyfile.user-configured-ocaml-interface-html
 @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-ocaml-interface-html
- at BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_OCAML_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
 @BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
@@ -2082,8 +2106,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_OCAML_INTERFACE_TRUE@	  -e 's|<PPL_SED_INPUT>|'"$(SED_CONFIGURED_OCAML_INPUT_DEVREF)"'|' \
 @BUILD_OCAML_INTERFACE_TRUE@	  $<  > Doxyfile.devref-configured-ocaml-interface-html
 @BUILD_OCAML_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-ocaml-interface-html
- at BUILD_OCAML_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_OCAML_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 @BUILD_OCAML_INTERFACE_TRUE@	mkdir $@/ocamldoc
 @BUILD_OCAML_INTERFACE_TRUE@	$(OCAMLDOC) $(OCAMLDOC_HTML_OPTIONS) -d $@/ocamldoc \
 @BUILD_OCAML_INTERFACE_TRUE@		../interfaces/OCaml/ppl_ocaml.mli
@@ -2147,8 +2169,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_JAVA_INTERFACE_TRUE@	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
 @BUILD_JAVA_INTERFACE_TRUE@	    >> Doxyfile.user-configured-java-interface-html
 @BUILD_JAVA_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.user-configured-java-interface-html
- at BUILD_JAVA_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_JAVA_INTERFACE_TRUE@		-l $(USER_CORE_HTML_DIR).tag at ../$(USER_CORE_HTML_DIR))
 
 @BUILD_JAVA_INTERFACE_TRUE at ppl-devref-configured-java-interface-@VERSION at -html: \
 @BUILD_JAVA_INTERFACE_TRUE at devref-language-interface.doxyconf \
@@ -2163,8 +2183,6 @@ $(DEVREF_JAVA_INTERFACE_STUFF) $(DEVREF_CORE_HTML_DIR)
 @BUILD_JAVA_INTERFACE_TRUE@	echo "EXCLUDE_PATTERNS = */Fake_Class_for_Doxygen*" \
 @BUILD_JAVA_INTERFACE_TRUE@	    >> Doxyfile.devref-configured-java-interface-html
 @BUILD_JAVA_INTERFACE_TRUE@	$(TEX_ENV) $(DOXYGEN) Doxyfile.devref-configured-java-interface-html
- at BUILD_JAVA_INTERFACE_TRUE@	(cd $@; $(INSTALLDOX) \
- at BUILD_JAVA_INTERFACE_TRUE@		-l $(DEVREF_CORE_HTML_DIR).tag at ../$(DEVREF_CORE_HTML_DIR))
 
 ############################################################################
 
diff --git a/doc/README.doc b/doc/README.doc
index 9d4c0a3..9799abf 100644
--- a/doc/README.doc
+++ b/doc/README.doc
@@ -1,7 +1,8 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 See below for the copying conditions.
 
+
 How To Get (More) PPL Documentation
 ===================================
 
@@ -50,7 +51,7 @@ The Documentation You May Download
 
 If you are using the latest released version of the library, you will
 find all the documentation in all formats at
-http://www.cs.unipr.it/ppl/Documentation/ .
+http://bugseng.com/products/ppl/Documentation/ .
 
 
 The Documentation You May Build Yourself
@@ -127,7 +128,7 @@ command should be used to configure TeX system-wide).
 
 --------
 
-[1] http://www.cs.unipr.it/ppl/Download/Git
+[1] http://bugseng.com/products/ppl/Download/Git
 [2] http://www.doxygen.org/
 [3] http://www.research.att.com/sw/tools/graphviz/
 
@@ -135,23 +136,23 @@ command should be used to configure TeX system-wide).
 --------
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This document describes the Parma Polyhedra Library (PPL).
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PPL in files called `fdl.*'.
+of each distribution of the PPL in files named `fdl.*'.
 
 The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.  The license is included, in various
 formats, in the `doc' subdirectory of each distribution of the PPL in
-files are called `gpl.*'.
+files named `gpl.*'.
 
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -163,4 +164,4 @@ licenses along with the PPL, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
diff --git a/doc/bugseng_logo.pdf b/doc/bugseng_logo.pdf
new file mode 100644
index 0000000..f6aaf87
Binary files /dev/null and b/doc/bugseng_logo.pdf differ
diff --git a/doc/definitions.dox b/doc/definitions.dox
index f3e8726..cfb03dc 100644
--- a/doc/definitions.dox
+++ b/doc/definitions.dox
@@ -1,26 +1,34 @@
-//  Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-//  Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+// Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+// Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 //
-//  This document describes the Parma Polyhedra Library (PPL).
+// This document describes the Parma Polyhedra Library (PPL).
 //
-//  Permission is granted to copy, distribute and/or modify this document
-//  under the terms of the GNU Free Documentation License, Version 1.1 or
-//  any later version published by the Free Software Foundation; with no
-//  Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-//  Texts.
+// Permission is granted to copy, distribute and/or modify this document
+// under the terms of the GNU Free Documentation License, Version 1.2
+// or any later version published by the Free Software Foundation;
+// with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+// The license is included, in various formats, in the `doc' subdirectory
+// of each distribution of the PPL in files named `fdl.*'.
 //
-//  The PPL is free software; you can redistribute it and/or modify it
-//  under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 3 of the License, or
-//  (at your option) any later version.
+// The PPL is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.  The license is included, in various
+// formats, in the `doc' subdirectory of each distribution of the PPL in
+// files named `gpl.*'.
 //
-//  The PPL is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//  for more details.
+// The PPL is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
 //
-//  For the most up-to-date information see the Parma Polyhedra Library
-//  site: http://www.cs.unipr.it/ppl/
+// If you have not received a copy of one or both the above mentioned
+// licenses along with the PPL, write to the Free Software Foundation,
+// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+//
+// For the most up-to-date information see the Parma Polyhedra Library
+// site: http://bugseng.com/products/ppl/ .
+
 
 /*!
   \defgroup PPL_CXX_interface C++ Language Interface
@@ -279,7 +287,7 @@ descriptors since they are also used in <EM>generic</EM> PPL operations.
     <CODE>intersection_assign()</CODE>,
     <CODE>upper_bound_assign()</CODE>, <CODE>difference_assign()</CODE>,
     <CODE>time_elapse_assign()</CODE>, <CODE>widening_assign()</CODE>,
-    <CODE>concatenate_assign()</CODE>, <CODE>%swap()</CODE>
+    <CODE>concatenate_assign()</CODE>, <CODE>m_swap()</CODE>
 
     modify the semantic GD, possibly with an argument semantic GD of
     the same class.
@@ -1474,6 +1482,28 @@ is defined as
           \Bigr).
 \f]
 
+\subsection affine_form_relation Affine Form Relations.
+Let \f$\mathbb{F}_{\mathrm{f}}\f$ be the set of floating point numbers 
+representables in a certain 
+format \f$\mathrm{f}\f$ and let \f$\mathbb{I}_\mathrm{f}\f$ be the set of 
+real intervals with bounds in \f$\mathbb{F}_{\mathrm{f}}\f$.
+We can define a <EM>floating-point interval linear form</EM> 
+\f$\langle\vect{\alpha}, \vect{x}\rangle
+ + \beta\f$ 
+as:
+	\f[\left<\vect{\alpha}, \vect{x}\right> + \beta = 
+	\alpha_0x_0 + \ldots + 
+	\alpha_{n-1}x_{n-1} + \beta,\f]
+
+where \f$\beta\f$, \f$\vect{\alpha}_k \in \mathbb{I}_{\mathrm{f}}\f$ 
+for each \f$k = 0, \ldots, n - 1\f$. 
+
+Given a such linear form \f$\mathrm{lf}\f$ and a primed variable \f$x'_k\f$ the 
+<EM>affine form image</EM> operator computes the bounded affine image of a 
+polyhedron \f$\cP\f$ under \f$\mathrm{lb} \leq x'_k \leq \mathrm{ub}\f$, where
+\f$\mathrm{lb}\f$ and \f$\mathrm{ub}\f$ are the upper and lower bound 
+of \f$\mathrm{lf}\f$ respectively.
+
 \subsection Generalized_Affine_Relations Generalized Affine Relations.
 Similarly, the <EM>generalized affine relation</EM>
 \f$\phi = (\mathrm{lhs}' \relsym \mathrm{rhs})\f$, where
@@ -2638,6 +2668,151 @@ to see that the widening operator is actually compatible with
 a given convergence certificate. If such a requirement is not met,
 then an extrapolation operator will be obtained.
 
+\section floating_point Analysis of floating point computations
+
+This section describes the PPL abstract domains that are used for
+approximating floating point computations in software analysis. We follow
+the approch described in \ref Min04 "[Min04]" and more detailedly in
+\ref Min05 "[Min05]". We will denote by \f$\cV\f$ the set of all floating
+point variables in the analyzed program. We will also denote by
+\f$\mathbb{F}_a\f$ the set of floating point numbers in the format used by the
+analyzer (that is, the machine running the PPL) and by \f$\mathbb{F}_t\f$
+the set of floating point numbers in the format used by the machine that is
+expected to run the analyzed program. Recall that floating point numbers
+include the infinities \f$-\infty\f$ and \f$+\infty\f$.
+
+\subsection interval_linear_forms Linear forms with interval coefficients
+
+Generic concrete <EM>floating point expressions</EM> on
+\f$\mathbb{F}_t\f$ are represented by the
+\link Parma_Polyhedra_Library::Floating_Point_Expression \c Floating_Point_Expression \endlink
+abstract class. Its concrete derivate classes are:
+  - \link Parma_Polyhedra_Library::Cast_Floating_Point_Expression \c Cast_Floating_Point_Expression \endlink,
+  - \link Parma_Polyhedra_Library::Constant_Floating_Point_Expression \c Constant_Floating_Point_Expression \endlink,
+  - \link Parma_Polyhedra_Library::Variable_Floating_Point_Expression \c Variable_Floating_Point_Expression \endlink,
+  - \link Parma_Polyhedra_Library::Opposite_Floating_Point_Expression \c Opposite_Floating_Point_Expression \endlink,
+    that is the negation (unary minus) of a floating point expression,
+  - \link Parma_Polyhedra_Library::Sum_Floating_Point_Expression \c Sum_Floating_Point_Expression \endlink,
+    that is the sum of two floating point expressions,
+  - \link Parma_Polyhedra_Library::Difference_Floating_Point_Expression \c Difference_Floating_Point_Expression \endlink,
+    that is the difference of two floating point expressions,
+  - \link Parma_Polyhedra_Library::Multiplication_Floating_Point_Expression \c Multiplication_Floating_Point_Expression \endlink,
+    that is the product of two floating point expressions, and
+  - \link Parma_Polyhedra_Library::Division_Floating_Point_Expression \c Division_Floating_Point_Expression \endlink,
+    that is the division of two floating point expressions.
+
+The set of all the possible values in \f$\mathbb{F}_t\f$ of a floating point
+expression at a given program point in a given abstract store can be
+overapproximated by a <EM>linear form</EM> with interval coefficients, that is
+a linear expression of this kind:
+
+\f[
+  i + \sum_{v \in \cV}i_{v}v,
+\f]
+
+where all \f$v\f$ are free floating point variables and \f$i\f$ and all
+\f$i_{v}\f$ are elements of \f$\mathbb{I}_a\f$, defined as the set of all
+intervals with boundaries in \f$\mathbb{F}_a\f$. This operation is called
+<EM>linearization</EM> and is performed by the method linearize of floating
+point expression classes.
+
+Even though the intervals may be open, we will always use closed intervals
+in the documentation for the sake of simplicity, with the exception of unbounded
+intervals that have \f$\infty\f$ boundaries. We denote the set of all linear
+forms on \f$\mathbb{F}_a\f$ by \f$\mathbb{L}_a\f$.
+
+The \link Parma_Polyhedra_Library::Linear_Form \c Linear_Form \endlink class
+provides common algebraic operations on linear forms: you can add or
+subtract two linear forms, and multiply or divide a linear form by a scalar.
+We are writing only about interval linear forms in this section, so our
+scalars will always be intervals with floating point boundaries.
+The operations on interval linear forms are intuitively defined as follows:
+
+\f[
+
+  \left(i + \sum_{v \in V}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in V}i'_{v}v\right)
+  \defeq
+  \left(i \asifp i'\right) +
+  \sum_{v \in V}\left(i_{v} \asifp i'_{v}\right)v,
+
+\f]
+
+\f[
+
+  \left(i + \sum_{v \in V}i_{v}v\right)
+  \adlf
+  \left(i' + \sum_{v \in V}i'_{v}v\right)
+  \defeq
+  \left(i \adifp i'\right) +
+  \sum_{v \in V}\left(i_{v} \adifp i'_{v}\right)v,
+
+\f]
+
+\f[
+
+  i
+  \amlf
+  \left(i' + \sum_{v \in V}i'_{v}v\right)
+  \defeq
+  \left(i \amifp i'\right) +
+  \sum_{v \in V}\left(i \amifp i'_{v}\right)v,
+
+\f]
+
+\f[
+
+  \left(i + \sum_{v \in V}i_{v}v\right)
+  \adivlf
+  i'
+  \defeq
+  \left(i \adivifp i'\right) +
+  \sum_{v \in V}\left(i_{v} \adivifp i'\right)v.
+
+\f]
+
+Where \f$\asifp, \adifp, \amifp,\f$ and \f$\adivifp\f$ are the corresponding
+operations on intervals. Note that these operations always round the
+interval's lower bound towards \f$-\infty\f$ and the upper bound towards
+\f$+\infty\f$ in order to obtain a correct overapproximation.
+
+A <EM>(composite) floating point abstract store</EM> is used to associate each
+floating point variable with its currently known approximation. The store is
+composed by two parts:
+  - an <EM>interval abstract store</EM>
+    \f$\fund{\rho^{\#}}{\cV}{\mathbb{I}_a}\f$
+    associating each variable with its current approximating interval, and
+  - a <EM>linear form abstract store</EM>
+    \f$\fund{\rho^{\#}_l}{\cV}{\mathbb{L}_a}\f$
+    associating each variable with its current approximating linear form.
+
+An interval abstract store is represented by a
+\link Parma_Polyhedra_Library::Box \c Box \endlink with floating point
+boundaries, while a linear form abstract store is a map
+of the Standard Template Library. The <CODE>linearize</CODE> method requires
+both stores as its arguments. Please see the documentation of floating point
+expression classes for more information.
+
+The linearization of a floating point expression \f$e\f$ in the composite
+abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right \rrbracket\f$ will
+be denoted by \f$\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}\f$. There are two ways a linearization attempt can fail:
+  - whenever an interval boundary overflows to \f$+\infty\f$ or \f$-\infty\f$,
+    and
+  - when we try to divide by an interval that contains \f$0\f$.
+
+\subsection fp_abstract_domains Use of other abstract domains for floating point analysis
+
+Three of the other abstract domains of the PPL (
+\link Parma_Polyhedra_Library::BD_Shape \c BD_Shape \endlink,
+\link Parma_Polyhedra_Library::Octagonal_Shape \c Octagonal_Shape \endlink,
+and \link Parma_Polyhedra_Library::Polyhedron \c Polyhedron \endlink)
+provide a few optimized methods to be used in the analysis of floating point
+computations. They are recognized by the fact that they take interval
+linear forms and/or an interval abstract stores as their parameters.
+
+Please see the methods' documentation for more information.
+
 \section use_of_library Using the Library
 
 \subsection A_Note_on_the_Implementation_of_the_Operators A Note on the Implementation of the Operators
@@ -2839,8 +3014,6 @@ B. Blanchet, P. Cousot, R. Cousot, J. Feret, L. Mauborg
 R. Bagnara, K. Dobson, P. M. Hill, M. Mundell, and E. Zaffanella.
  A linear domain for analyzing the distribution of numerical values.
  Report 2005.06, School of Computing, University of Leeds, UK, 2005.
- Available at
-  <a href="http://www.comp.leeds.ac.uk/research/pubs/reports.shtml">http://www.comp.leeds.ac.uk/research/pubs/reports.shtml</a>.
 
 
 </DD>
@@ -2917,7 +3090,7 @@ R. Bagnara, P. M. Hill, E. Mazzi, and E. Zaffanella.
  Extended abstract. Contribution to the <em>International workshop
   on “Numerical & Symbolic Abstract Domains”</em> (NSAD'05, Paris, January 21,
   2005). Available at <a href="http://arxiv.org/">http://arxiv.org/</a> and
-  <a href="http://www.cs.unipr.it/ppl/">http://www.cs.unipr.it/ppl/</a>.
+  <a href="http://bugseng.com/products/ppl/">http://bugseng.com/products/ppl/</a>.
 
 
 </DD>
@@ -3208,7 +3381,7 @@ R. Bagnara, P. M. Hill, and E. Zaffanella.
   abstractions.
  Report <tt>arXiv:cs.CG/0904.1783</tt>, 2009.
  Available at <a href="http://arxiv.org/">http://arxiv.org/</a> and
-  <a href="http://www.cs.unipr.it/ppl/">http://www.cs.unipr.it/ppl/</a>.
+  <a href="http://bugseng.com/products/ppl/">http://bugseng.com/products/ppl/</a>.
 
 
 </DD>
@@ -3234,8 +3407,6 @@ R. Bagnara, P. M. Hill, and E. Zaffanella.
   abstractions.
  <em>Computational Geometry: Theory and Applications</em>,
   43(5):453-473, 2010.
- To appear in print. Available online at
-  <a href="http://dx.doi.org/10.1016/j.comgeo.2009.09.002">http://dx.doi.org/10.1016/j.comgeo.2009.09.002</a>.
 
 
 </DD>
@@ -3276,9 +3447,31 @@ R. Bagnara, F. Mesnard, A. Pescetti, and E. Zaffanella.
   unabridged version.
  Quaderno 498, Dipartimento di Matematica, Università di Parma,
   Italy, 2010.
- Available at <a href="http://www.cs.unipr.it/Publications/">http://www.cs.unipr.it/Publications/</a>. Also
-  published as <tt>arXiv:cs.PL/1004.0944</tt>, available from
-  <a href="http://arxiv.org/">http://arxiv.org/</a>.
+ Superseded by \ref BMPZ12a "[BMPZ12a]".
+
+</DD>
+
+
+<DT>[BMPZ12a]</DT>
+<DD>
+\anchor BMPZ12a
+R. Bagnara, F. Mesnard, A. Pescetti, and E. Zaffanella.
+ The automatic synthesis of linear ranking functions: The complete
+  unabridged version.
+ Report <tt>arXiv:cs.PL/1004.0944v2</tt>, 2012.
+ Available at <a href="http://arxiv.org/">http://arxiv.org/</a> and
+  <a href="http://bugseng.com/products/ppl/">http://bugseng.com/products/ppl/</a>. Improved version of
+  \ref BMPZ10 "[BMPZ10]".
+
+</DD>
+
+
+<DT>[BMPZ12b]</DT>
+<DD>
+\anchor BMPZ12b
+R. Bagnara, F. Mesnard, A. Pescetti, and E. Zaffanella.
+ A new look at the automatic synthesis of linear ranking functions.
+ <em>Information and Computation</em>, 215:47-67, 2012.
 
 </DD>
 
@@ -3343,7 +3536,8 @@ P. Cousot and R. Cousot.
 P. Cousot and R. Cousot.
  Systematic design of program analysis frameworks.
  In <em>Proceedings of the Sixth Annual ACM Symposium on Principles
-  of Programming Languages</em>, pages 269-282, New York, 1979. ACM Press.
+  of Programming Languages</em>, pages 269-282, San Antonio, TX, USA, 1979. ACM
+  Press.
 
 
 </DD>
@@ -3669,8 +3863,7 @@ T. A. Henzinger, J. Preussig, and H. Wong-Toi.
 \anchor Jea02
 B. Jeannet.
  <em>Convex Polyhedra Library</em>, release 1.1.3c edition, March 2002.
- Documentation of the “New Polka” library available at
-  <a href="http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html">http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html</a>.
+ Documentation of the “New Polka” library.
 
 </DD>
 
@@ -3694,7 +3887,7 @@ J. Jaffar, M. J. Maher, P. J. Stuckey, and R. H. C. Yap
 L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, and V. Gurvich.
  Generating all vertices of a polyhedron is hard.
  <em>Discrete and Computational Geometry</em>, 2006.
- Invited contribution. To appear.
+ Invited contribution.
 
 </DD>
 
diff --git a/doc/devref-language-interface.doxyconf.in b/doc/devref-language-interface.doxyconf.in
index 9f5204b..5ad71ec 100644
--- a/doc/devref-language-interface.doxyconf.in
+++ b/doc/devref-language-interface.doxyconf.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "PPL <PPL_SED_LANGUAGE_NAME> Language Interface"
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                = <PPL_SED_ALIASES>
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = YES
 EXTRACT_PRIVATE        = YES
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = YES
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       = Include_Implementation_Details
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -102,6 +111,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -128,12 +138,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -152,11 +168,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -170,11 +190,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = devref-<PPL_SED_INTERFACE_NAME>.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -223,7 +245,8 @@ PREDEFINED             = <PPL_SED_CONFIGURED_MANUAL> \
                          PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS \
                          PPL_PROTO(protos):=protos
 EXPAND_AS_DEFINED      = DECLARE_CONVERSIONS \
-                         CATCH_ALL
+                         CATCH_ALL \
+                         PPL_USE_SPARSE_MATRIX
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
@@ -240,6 +263,7 @@ CLASS_DIAGRAMS         = YES
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -247,6 +271,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -255,8 +280,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/devref-language-interface.tex b/doc/devref-language-interface.tex
index 72247f1..be147d5 100644
--- a/doc/devref-language-interface.tex
+++ b/doc/devref-language-interface.tex
@@ -1,5 +1,5 @@
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -8,22 +8,26 @@
 % or any later version published by the Free Software Foundation;
 % with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 % The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PPL in files called `fdl.*'.
+% of each distribution of the PPL in files named `fdl.*'.
 %
 % The PPL is free software; you can redistribute it and/or modify it
 % under the terms of the GNU General Public License as published by the
 % Free Software Foundation; either version 3 of the License, or (at your
 % option) any later version.  The license is included, in various
 % formats, in the `doc' subdirectory of each distribution of the PPL in
-% files are called `gpl.*'.
+% files named `gpl.*'.
 %
 % The PPL is distributed in the hope that it will be useful, but WITHOUT
 % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 % FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 % for more details.
 %
+% If you have not received a copy of one or both the above mentioned
+% licenses along with the PPL, write to the Free Software Foundation,
+% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+%
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 \documentclass[a4paper,twoside]{article}
 \usepackage{a4wide}
@@ -35,6 +39,7 @@
 \usepackage{textcomp}
 \usepackage{alltt}
 \usepackage{times}
+\usepackage{tocloft}
 \usepackage{ifpdf}
 \ifpdf
 \usepackage[pdftex,
@@ -58,22 +63,23 @@
 \usepackage{ppl}
 \makeindex
 \setcounter{tocdepth}{2}
-\renewcommand{\footrulewidth}{0.4pt}
 
-\rfoot[\fancyplain{}{\scriptsize The Parma Polyhedra Library <PPL_SED_LANGUAGE_NAME> Language Interface Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Polyhedra Library <PPL_SED_LANGUAGE_NAME> Language Interface Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}}
+\renewcommand{\footrulewidth}{0.4pt}
+\fancyfoot{}
+\fancyfoot[LE,RO]{\includegraphics[height=0.4cm]{ppl_logo_no_ppl.pdf}}
+\fancyfoot[RE,LO]{\scriptsize The PPL <PPL_SED_LANGUAGE_NAME> Language Interface Developer's Manual (version $projectnumber). See \url{http://bugseng.com} for more information.}
 
 \setlength{\headheight}{24pt}
 
-%% This only applies to the title: it avoids a pdf duplicate link error.
-\pagenumbering{Alph}
-
 \begin{document}
 \title{
+\includegraphics[height=9cm]{ppl_logo.pdf} \\
+\ \\
 The Parma Polyhedra Library \\
 <PPL_SED_LANGUAGE_NAME> Language Interface \\
-Developer's Manual\thanks{This work
-  has been partly supported by:
+Developer's Manual\thanks{This work is based on previous work also by
+Elisa Ricci, Sara Bonini, Andrea Pescetti, Angela Stazzone, Tatiana Zolo.
+This work has been partly supported by:
   University of Parma's FIL scientific research project (ex 60\%)
     ``Pure and Applied Mathematics'';
   MURST project
@@ -97,16 +103,24 @@ Developer's Manual\thanks{This work
 }
 \author{
 Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-Patricia M. Hill\thanks{hill at comp.leeds.ac.uk,
-  School of Computing, University of Leeds, U.K.} \\
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Patricia M. Hill\thanks{patricia.hill at bugseng.com,
+  BUGSENG srl.} \\
 Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.}
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Abramo Bagnara\thanks{abramo.bagnara at bugseng.com,
+  BUGSENG srl.} \\
 }
-\maketitle
+{\sffamily\maketitle}
+\thispagestyle{empty}
+\clearpage{\pagestyle{empty}\cleardoublepage}
 
 \newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it) \\
+Copyright \copyright\ 2010--2012 BUGSENG srl (http://bugseng.com)
+
 
 This document describes the Parma Polyhedra Library (PPL).
 
@@ -130,12 +144,31 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
 For the most up-to-date information see the Parma Polyhedra Library
 site:
 \begin{center}
-\href{http://www.cs.unipr.it/ppl/}{\tt http://www.cs.unipr.it/ppl/}
+\href{http://bugseng.com/products/ppl/}{\tt http://bugseng.com/products/ppl/}
 \end{center}
+\vfill
+\begin{center}
+\includegraphics[width=5cm]{bugseng_logo.pdf}
+\end{center}
+\vfill
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
+% The following command is needed to have the right footer on
+% the first page of the TOC.
+\addtocontents{toc}{\protect\thispagestyle{fancy}}
+
+% Make sure there is enough space in the TOC for long subsection numbers.
+\addtolength{\cftsubsecnumwidth}{1em}
 
 \pagenumbering{roman}
 \tableofcontents
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
 \pagenumbering{arabic}
diff --git a/doc/devref.doxyconf-html.in b/doc/devref.doxyconf-html.in
index 356df83..c3002b7 100644
--- a/doc/devref.doxyconf-html.in
+++ b/doc/devref.doxyconf-html.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = PPL
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                =
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = YES
 EXTRACT_PRIVATE        = YES
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = YES
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       = Include_Implementation_Details
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -88,258 +97,40 @@ WARN_LOGFILE           =
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = @srcdir@/definitions.dox \
-                         @srcdir@/../src/namespaces.hh \
                          ../src/version.hh \
-                         @srcdir@/../src/version.cc \
-                         @srcdir@/../src/meta_programming.hh \
-                         @srcdir@/../src/Float.defs.hh \
-                         @srcdir@/../src/Float.inlines.hh \
-                         @srcdir@/../src/Float.cc \
-                         @srcdir@/../src/Checked_Number.types.hh \
-                         @srcdir@/../src/Checked_Number.defs.hh \
-                         @srcdir@/../src/Checked_Number.inlines.hh \
-                         @srcdir@/../src/Checked_Number.cc \
-                         @srcdir@/../src/GMP_Integer.types.hh \
-                         @srcdir@/../src/GMP_Integer.defs.hh \
-                         @srcdir@/../src/GMP_Integer.inlines.hh \
-                         @srcdir@/../src/Coefficient_traits_template.hh \
-                         @srcdir@/../src/Coefficient.types.hh \
-                         @srcdir@/../src/Coefficient.defs.hh \
-                         @srcdir@/../src/Coefficient.inlines.hh \
-                         @srcdir@/../src/Coefficient.cc \
-                         @srcdir@/../src/checked.defs.hh \
-                         @srcdir@/../src/checked.inlines.hh \
-                         @srcdir@/../src/checked_float.inlines.hh \
-                         @srcdir@/../src/checked_int.inlines.hh \
-                         @srcdir@/../src/checked_mpq.inlines.hh \
-                         @srcdir@/../src/checked_mpz.inlines.hh \
-                         @srcdir@/../src/checked.cc \
-                         @srcdir@/../src/Init.types.hh \
-                         @srcdir@/../src/Init.defs.hh \
-                         @srcdir@/../src/Init.inlines.hh \
-                         @srcdir@/../src/Init.cc \
-                         @srcdir@/../src/initializer.hh \
-                         @srcdir@/../src/globals.types.hh \
-                         @srcdir@/../src/globals.defs.hh \
-                         @srcdir@/../src/globals.inlines.hh \
-                         @srcdir@/../src/globals.cc \
-                         @srcdir@/../src/math_utilities.defs.hh \
-                         @srcdir@/../src/math_utilities.inlines.hh \
-                         @srcdir@/../src/distances.types.hh \
-                         @srcdir@/../src/distances.defs.hh \
-                         @srcdir@/../src/distances.inlines.hh \
-                         @srcdir@/../src/stdiobuf.types.hh \
-                         @srcdir@/../src/stdiobuf.defs.hh \
-                         @srcdir@/../src/stdiobuf.inlines.hh \
-                         @srcdir@/../src/stdiobuf.cc \
-                         @srcdir@/../src/termination.defs.hh \
-                         @srcdir@/../src/termination.templates.hh \
-                         @srcdir@/../src/termination.cc \
-                         @srcdir@/../src/Topology.hh \
-                         @srcdir@/../src/Row.types.hh \
-                         @srcdir@/../src/Row.defs.hh \
-                         @srcdir@/../src/Row.inlines.hh \
-                         @srcdir@/../src/Row.cc \
-                         @srcdir@/../src/Matrix.types.hh \
-                         @srcdir@/../src/Matrix.defs.hh \
-                         @srcdir@/../src/Matrix.inlines.hh \
-                         @srcdir@/../src/Matrix.cc \
-                         @srcdir@/../src/Linear_Row.types.hh \
-                         @srcdir@/../src/Linear_Row.defs.hh \
-                         @srcdir@/../src/Linear_Row.inlines.hh \
-                         @srcdir@/../src/Linear_Row.cc \
-                         @srcdir@/../src/Linear_System.types.hh \
-                         @srcdir@/../src/Linear_System.defs.hh \
-                         @srcdir@/../src/Linear_System.inlines.hh \
-                         @srcdir@/../src/Linear_System.cc \
-                         @srcdir@/../src/MIP_Problem.types.hh \
-                         @srcdir@/../src/MIP_Problem.defs.hh \
-                         @srcdir@/../src/MIP_Problem.inlines.hh \
-                         @srcdir@/../src/MIP_Problem.templates.hh \
-                         @srcdir@/../src/MIP_Problem.cc \
-                         @srcdir@/../src/Bit_Row.types.hh \
-                         @srcdir@/../src/Bit_Row.defs.hh \
-                         @srcdir@/../src/Bit_Row.inlines.hh \
-                         @srcdir@/../src/Bit_Row.cc \
-                         @srcdir@/../src/Bit_Matrix.types.hh \
-                         @srcdir@/../src/Bit_Matrix.defs.hh \
-                         @srcdir@/../src/Bit_Matrix.inlines.hh \
-                         @srcdir@/../src/Bit_Matrix.cc \
-                         @srcdir@/../src/Variable.types.hh \
-                         @srcdir@/../src/Variable.defs.hh \
-                         @srcdir@/../src/Variable.inlines.hh \
-                         @srcdir@/../src/Variable.cc \
-                         @srcdir@/../src/Variables_Set.types.hh \
-                         @srcdir@/../src/Variables_Set.defs.hh \
-                         @srcdir@/../src/Variables_Set.inlines.hh \
-                         @srcdir@/../src/Variables_Set.cc \
-                         @srcdir@/../src/Linear_Expression.types.hh \
-                         @srcdir@/../src/Linear_Expression.defs.hh \
-                         @srcdir@/../src/Linear_Expression.inlines.hh \
-                         @srcdir@/../src/Linear_Expression.cc \
-                         @srcdir@/../src/Constraint.types.hh \
-                         @srcdir@/../src/Constraint.defs.hh \
-                         @srcdir@/../src/Constraint.inlines.hh \
-                         @srcdir@/../src/Constraint.cc \
-                         @srcdir@/../src/Congruence.types.hh \
-                         @srcdir@/../src/Congruence.defs.hh \
-                         @srcdir@/../src/Congruence.inlines.hh \
-                         @srcdir@/../src/Congruence.cc \
-                         @srcdir@/../src/Generator.types.hh \
-                         @srcdir@/../src/Generator.defs.hh \
-                         @srcdir@/../src/Generator.inlines.hh \
-                         @srcdir@/../src/Generator.cc \
-                         @srcdir@/../src/Grid_Generator.types.hh \
-                         @srcdir@/../src/Grid_Generator.defs.hh \
-                         @srcdir@/../src/Grid_Generator.inlines.hh \
-                         @srcdir@/../src/Grid_Generator.cc \
-                         @srcdir@/../src/Constraint_System.types.hh \
-                         @srcdir@/../src/Constraint_System.defs.hh \
-                         @srcdir@/../src/Constraint_System.inlines.hh \
-                         @srcdir@/../src/Constraint_System.cc \
-                         @srcdir@/../src/Congruence_System.types.hh \
-                         @srcdir@/../src/Congruence_System.defs.hh \
-                         @srcdir@/../src/Congruence_System.inlines.hh \
-                         @srcdir@/../src/Congruence_System.cc \
-                         @srcdir@/../src/Generator_System.defs.hh \
-                         @srcdir@/../src/Generator_System.types.hh \
-                         @srcdir@/../src/Generator_System.inlines.hh \
-                         @srcdir@/../src/Generator_System.cc \
-                         @srcdir@/../src/Grid_Generator_System.defs.hh \
-                         @srcdir@/../src/Grid_Generator_System.types.hh \
-                         @srcdir@/../src/Grid_Generator_System.inlines.hh \
-                         @srcdir@/../src/Grid_Generator_System.cc \
-                         @srcdir@/../src/Scalar_Products.types.hh \
-                         @srcdir@/../src/Scalar_Products.defs.hh \
-                         @srcdir@/../src/Scalar_Products.inlines.hh \
-                         @srcdir@/../src/Scalar_Products.cc \
-                         @srcdir@/../src/Ph_Status.idefs.hh \
-                         @srcdir@/../src/Ph_Status.inlines.hh \
-                         @srcdir@/../src/Ph_Status.cc \
-                         @srcdir@/../src/Polyhedron.types.hh \
-                         @srcdir@/../src/Polyhedron.defs.hh \
-                         @srcdir@/../src/Polyhedron.inlines.hh \
-                         @srcdir@/../src/Polyhedron.templates.hh \
-                         @srcdir@/../src/Polyhedron_public.cc \
-                         @srcdir@/../src/Polyhedron_nonpublic.cc \
-                         @srcdir@/../src/Polyhedron_widenings.cc \
-                         @srcdir@/../src/Polyhedron_chdims.cc \
-                         @srcdir@/../src/conversion.cc \
-                         @srcdir@/../src/minimize.cc \
-                         @srcdir@/../src/simplify.cc \
-                         @srcdir@/../src/Grid.types.hh \
-                         @srcdir@/../src/Grid.defs.hh \
-                         @srcdir@/../src/Grid.inlines.hh \
-                         @srcdir@/../src/Grid.templates.hh \
-                         @srcdir@/../src/Grid_public.cc \
-                         @srcdir@/../src/Grid_nonpublic.cc \
-                         @srcdir@/../src/Grid_conversion.cc \
-                         @srcdir@/../src/Grid_simplify.cc \
-                         @srcdir@/../src/Grid_widenings.cc \
-                         @srcdir@/../src/Grid_chdims.cc \
-                         @srcdir@/../src/Poly_Con_Relation.types.hh \
-                         @srcdir@/../src/Poly_Con_Relation.defs.hh \
-                         @srcdir@/../src/Poly_Con_Relation.inlines.hh \
-                         @srcdir@/../src/Poly_Con_Relation.cc \
-                         @srcdir@/../src/Poly_Gen_Relation.types.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.defs.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.inlines.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.cc \
-                         @srcdir@/../src/Interval_Restriction.defs.hh \
-                         @srcdir@/../src/Interval_Info.types.hh \
-                         @srcdir@/../src/Interval_Info.defs.hh \
-                         @srcdir@/../src/Interval_Info.inlines.hh \
-                         @srcdir@/../src/Interval.types.hh \
-                         @srcdir@/../src/Interval.defs.hh \
-                         @srcdir@/../src/Interval.inlines.hh \
-                         @srcdir@/../src/C_Polyhedron.types.hh \
-                         @srcdir@/../src/C_Polyhedron.defs.hh \
-                         @srcdir@/../src/C_Polyhedron.inlines.hh \
-                         @srcdir@/../src/C_Polyhedron.cc \
-                         @srcdir@/../src/NNC_Polyhedron.types.hh \
-                         @srcdir@/../src/NNC_Polyhedron.defs.hh \
-                         @srcdir@/../src/NNC_Polyhedron.inlines.hh \
-                         @srcdir@/../src/NNC_Polyhedron.cc \
-                         @srcdir@/../src/Widening_Function.types.hh \
-                         @srcdir@/../src/Widening_Function.defs.hh \
-                         @srcdir@/../src/Widening_Function.inlines.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.types.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.defs.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.inlines.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.cc \
-                         @srcdir@/../src/H79_Certificate.types.hh \
-                         @srcdir@/../src/H79_Certificate.defs.hh \
-                         @srcdir@/../src/H79_Certificate.inlines.hh \
-                         @srcdir@/../src/H79_Certificate.cc \
-                         @srcdir@/../src/Grid_Certificate.types.hh \
-                         @srcdir@/../src/Grid_Certificate.defs.hh \
-                         @srcdir@/../src/Grid_Certificate.inlines.hh \
-                         @srcdir@/../src/Grid_Certificate.cc \
-                         @srcdir@/../src/Determinate.defs.hh \
-                         @srcdir@/../src/Determinate.inlines.hh \
-                         @srcdir@/../src/iterator_to_const.types.hh \
-                         @srcdir@/../src/iterator_to_const.defs.hh \
-                         @srcdir@/../src/iterator_to_const.inlines.hh \
-                         @srcdir@/../src/Powerset.types.hh \
-                         @srcdir@/../src/Powerset.defs.hh \
-                         @srcdir@/../src/Powerset.inlines.hh \
-                         @srcdir@/../src/Powerset.templates.hh \
-                         @srcdir@/../src/Pointset_Powerset.types.hh \
-                         @srcdir@/../src/Pointset_Powerset.defs.hh \
-                         @srcdir@/../src/Pointset_Powerset.inlines.hh \
-                         @srcdir@/../src/Pointset_Powerset.templates.hh \
-                         @srcdir@/../src/Pointset_Powerset.cc \
-                         @srcdir@/../src/Partially_Reduced_Product.types.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.defs.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.inlines.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.templates.hh \
-                         @srcdir@/../src/algorithms.hh \
-                         @srcdir@/../src/Box.types.hh \
-                         @srcdir@/../src/Box.defs.hh \
-                         @srcdir@/../src/Box.inlines.hh \
-                         @srcdir@/../src/Box.templates.hh \
-                         @srcdir@/../src/Box.cc \
-                         @srcdir@/../src/DB_Row.types.hh \
-                         @srcdir@/../src/DB_Row.defs.hh \
-                         @srcdir@/../src/DB_Row.inlines.hh \
-                         @srcdir@/../src/DB_Row.templates.hh \
-                         @srcdir@/../src/DB_Matrix.types.hh \
-                         @srcdir@/../src/DB_Matrix.defs.hh \
-                         @srcdir@/../src/DB_Matrix.inlines.hh \
-                         @srcdir@/../src/DB_Matrix.templates.hh \
-                         @srcdir@/../src/BD_Shape.types.hh \
-                         @srcdir@/../src/BD_Shape.defs.hh \
-                         @srcdir@/../src/BD_Shape.inlines.hh \
-                         @srcdir@/../src/BD_Shape.templates.hh \
-                         @srcdir@/../src/BD_Shape.cc \
-                         @srcdir@/../src/OR_Matrix.types.hh \
-                         @srcdir@/../src/OR_Matrix.defs.hh \
-                         @srcdir@/../src/OR_Matrix.inlines.hh \
-                         @srcdir@/../src/OR_Matrix.templates.hh \
-                         @srcdir@/../src/Octagonal_Shape.types.hh \
-                         @srcdir@/../src/Octagonal_Shape.defs.hh \
-                         @srcdir@/../src/Octagonal_Shape.inlines.hh \
-                         @srcdir@/../src/Octagonal_Shape.templates.hh \
-                         @srcdir@/../src/Octagonal_Shape.cc \
-                         @srcdir@/../src/PIP_Problem.types.hh \
-                         @srcdir@/../src/PIP_Problem.defs.hh \
-                         @srcdir@/../src/PIP_Problem.inlines.hh \
-                         @srcdir@/../src/PIP_Problem.templates.hh \
-                         @srcdir@/../src/PIP_Problem.cc \
-                         @srcdir@/../src/PIP_Tree.types.hh \
-                         @srcdir@/../src/PIP_Tree.defs.hh \
-                         @srcdir@/../src/PIP_Tree.inlines.hh \
-                         @srcdir@/../src/PIP_Tree.cc \
+                         @srcdir@/../src/ \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.hh \
+FILE_PATTERNS          = *.types.hh \
+                         *.defs.hh \
+                         *.inlines.hh \
+                         *.templates.hh \
                          *.cc \
-                         *.dox
+                         C_Integer.hh \
+                         Coefficient_traits_template.hh \
+                         Has_Assign_Or_Swap.hh \
+                         Integer_Interval.hh \
+                         Rational_Box.hh \
+                         Rational_Interval.hh \
+                         Slow_Copy.hh \
+                         algorithms.hh \
+                         assert.hh \
+                         assign_or_swap.hh \
+                         checked_numeric_limits.hh \
+                         compiler.hh \
+                         initializer.hh \
+                         linearize.hh \
+                         max_space_dimension.hh \
+                         meta_programming.hh \
+                         namespaces.hh \
+                         wrap_assign.hh \
+                         wrap_string.hh
 RECURSIVE              = YES
 EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
-EXCLUDE_PATTERNS       =
+EXCLUDE_PATTERNS       = *.am \
+                         *.in
 EXCLUDE_SYMBOLS        =
 EXAMPLE_PATH           =
 EXAMPLE_PATTERNS       =
@@ -348,6 +139,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -374,12 +166,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -398,11 +196,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -416,11 +218,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = @srcdir@/devref.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -466,7 +270,8 @@ SEARCH_INCLUDES        = YES
 INCLUDE_PATH           =
 INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
+EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS \
+                         PPL_USE_SPARSE_MATRIX
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
@@ -483,6 +288,7 @@ CLASS_DIAGRAMS         = YES
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -490,6 +296,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -498,8 +305,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/devref.doxyconf-latex.in b/doc/devref.doxyconf-latex.in
index e4dd017..a2bd931 100644
--- a/doc/devref.doxyconf-latex.in
+++ b/doc/devref.doxyconf-latex.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = PPL
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = YES
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                =
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = YES
 EXTRACT_PRIVATE        = YES
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = YES
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       = Include_Implementation_Details
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -88,254 +97,35 @@ WARN_LOGFILE           =
 # configuration options related to the input files
 #---------------------------------------------------------------------------
 INPUT                  = @srcdir@/definitions.dox \
-                         @srcdir@/../src/namespaces.hh \
                          ../src/version.hh \
-                         @srcdir@/../src/version.cc \
-                         @srcdir@/../src/meta_programming.hh \
-                         @srcdir@/../src/Float.defs.hh \
-                         @srcdir@/../src/Float.inlines.hh \
-                         @srcdir@/../src/Float.cc \
-                         @srcdir@/../src/Checked_Number.types.hh \
-                         @srcdir@/../src/Checked_Number.defs.hh \
-                         @srcdir@/../src/Checked_Number.inlines.hh \
-                         @srcdir@/../src/Checked_Number.cc \
-                         @srcdir@/../src/GMP_Integer.types.hh \
-                         @srcdir@/../src/GMP_Integer.defs.hh \
-                         @srcdir@/../src/GMP_Integer.inlines.hh \
-                         @srcdir@/../src/Coefficient_traits_template.hh \
-                         @srcdir@/../src/Coefficient.types.hh \
-                         @srcdir@/../src/Coefficient.defs.hh \
-                         @srcdir@/../src/Coefficient.inlines.hh \
-                         @srcdir@/../src/Coefficient.cc \
-                         @srcdir@/../src/checked.defs.hh \
-                         @srcdir@/../src/checked.inlines.hh \
-                         @srcdir@/../src/checked_float.inlines.hh \
-                         @srcdir@/../src/checked_int.inlines.hh \
-                         @srcdir@/../src/checked_mpq.inlines.hh \
-                         @srcdir@/../src/checked_mpz.inlines.hh \
-                         @srcdir@/../src/checked.cc \
-                         @srcdir@/../src/Init.types.hh \
-                         @srcdir@/../src/Init.defs.hh \
-                         @srcdir@/../src/Init.inlines.hh \
-                         @srcdir@/../src/Init.cc \
-                         @srcdir@/../src/initializer.hh \
-                         @srcdir@/../src/globals.types.hh \
-                         @srcdir@/../src/globals.defs.hh \
-                         @srcdir@/../src/globals.inlines.hh \
-                         @srcdir@/../src/globals.cc \
-                         @srcdir@/../src/math_utilities.defs.hh \
-                         @srcdir@/../src/math_utilities.inlines.hh \
-                         @srcdir@/../src/distances.types.hh \
-                         @srcdir@/../src/distances.defs.hh \
-                         @srcdir@/../src/distances.inlines.hh \
-                         @srcdir@/../src/stdiobuf.types.hh \
-                         @srcdir@/../src/stdiobuf.defs.hh \
-                         @srcdir@/../src/stdiobuf.inlines.hh \
-                         @srcdir@/../src/stdiobuf.cc \
-                         @srcdir@/../src/termination.defs.hh \
-                         @srcdir@/../src/termination.templates.hh \
-                         @srcdir@/../src/termination.cc \
-                         @srcdir@/../src/Topology.hh \
-                         @srcdir@/../src/Row.types.hh \
-                         @srcdir@/../src/Row.defs.hh \
-                         @srcdir@/../src/Row.inlines.hh \
-                         @srcdir@/../src/Row.cc \
-                         @srcdir@/../src/Matrix.types.hh \
-                         @srcdir@/../src/Matrix.defs.hh \
-                         @srcdir@/../src/Matrix.inlines.hh \
-                         @srcdir@/../src/Matrix.cc \
-                         @srcdir@/../src/Linear_Row.types.hh \
-                         @srcdir@/../src/Linear_Row.defs.hh \
-                         @srcdir@/../src/Linear_Row.inlines.hh \
-                         @srcdir@/../src/Linear_Row.cc \
-                         @srcdir@/../src/Linear_System.types.hh \
-                         @srcdir@/../src/Linear_System.defs.hh \
-                         @srcdir@/../src/Linear_System.inlines.hh \
-                         @srcdir@/../src/Linear_System.cc \
-                         @srcdir@/../src/MIP_Problem.types.hh \
-                         @srcdir@/../src/MIP_Problem.defs.hh \
-                         @srcdir@/../src/MIP_Problem.inlines.hh \
-                         @srcdir@/../src/MIP_Problem.templates.hh \
-                         @srcdir@/../src/MIP_Problem.cc \
-                         @srcdir@/../src/Bit_Row.types.hh \
-                         @srcdir@/../src/Bit_Row.defs.hh \
-                         @srcdir@/../src/Bit_Row.inlines.hh \
-                         @srcdir@/../src/Bit_Row.cc \
-                         @srcdir@/../src/Bit_Matrix.types.hh \
-                         @srcdir@/../src/Bit_Matrix.defs.hh \
-                         @srcdir@/../src/Bit_Matrix.inlines.hh \
-                         @srcdir@/../src/Bit_Matrix.cc \
-                         @srcdir@/../src/Variable.types.hh \
-                         @srcdir@/../src/Variable.defs.hh \
-                         @srcdir@/../src/Variable.inlines.hh \
-                         @srcdir@/../src/Variable.cc \
-                         @srcdir@/../src/Variables_Set.types.hh \
-                         @srcdir@/../src/Variables_Set.defs.hh \
-                         @srcdir@/../src/Variables_Set.inlines.hh \
-                         @srcdir@/../src/Variables_Set.cc \
-                         @srcdir@/../src/Linear_Expression.types.hh \
-                         @srcdir@/../src/Linear_Expression.defs.hh \
-                         @srcdir@/../src/Linear_Expression.inlines.hh \
-                         @srcdir@/../src/Linear_Expression.cc \
-                         @srcdir@/../src/Constraint.types.hh \
-                         @srcdir@/../src/Constraint.defs.hh \
-                         @srcdir@/../src/Constraint.inlines.hh \
-                         @srcdir@/../src/Constraint.cc \
-                         @srcdir@/../src/Congruence.types.hh \
-                         @srcdir@/../src/Congruence.defs.hh \
-                         @srcdir@/../src/Congruence.inlines.hh \
-                         @srcdir@/../src/Congruence.cc \
-                         @srcdir@/../src/Generator.types.hh \
-                         @srcdir@/../src/Generator.defs.hh \
-                         @srcdir@/../src/Generator.inlines.hh \
-                         @srcdir@/../src/Generator.cc \
-                         @srcdir@/../src/Grid_Generator.types.hh \
-                         @srcdir@/../src/Grid_Generator.defs.hh \
-                         @srcdir@/../src/Grid_Generator.inlines.hh \
-                         @srcdir@/../src/Grid_Generator.cc \
-                         @srcdir@/../src/Constraint_System.types.hh \
-                         @srcdir@/../src/Constraint_System.defs.hh \
-                         @srcdir@/../src/Constraint_System.inlines.hh \
-                         @srcdir@/../src/Constraint_System.cc \
-                         @srcdir@/../src/Congruence_System.types.hh \
-                         @srcdir@/../src/Congruence_System.defs.hh \
-                         @srcdir@/../src/Congruence_System.inlines.hh \
-                         @srcdir@/../src/Congruence_System.cc \
-                         @srcdir@/../src/Generator_System.defs.hh \
-                         @srcdir@/../src/Generator_System.types.hh \
-                         @srcdir@/../src/Generator_System.inlines.hh \
-                         @srcdir@/../src/Generator_System.cc \
-                         @srcdir@/../src/Grid_Generator_System.defs.hh \
-                         @srcdir@/../src/Grid_Generator_System.types.hh \
-                         @srcdir@/../src/Grid_Generator_System.inlines.hh \
-                         @srcdir@/../src/Grid_Generator_System.cc \
-                         @srcdir@/../src/Scalar_Products.types.hh \
-                         @srcdir@/../src/Scalar_Products.defs.hh \
-                         @srcdir@/../src/Scalar_Products.inlines.hh \
-                         @srcdir@/../src/Scalar_Products.cc \
-                         @srcdir@/../src/Ph_Status.idefs.hh \
-                         @srcdir@/../src/Ph_Status.inlines.hh \
-                         @srcdir@/../src/Ph_Status.cc \
-                         @srcdir@/../src/Polyhedron.types.hh \
-                         @srcdir@/../src/Polyhedron.defs.hh \
-                         @srcdir@/../src/Polyhedron.inlines.hh \
-                         @srcdir@/../src/Polyhedron.templates.hh \
-                         @srcdir@/../src/Polyhedron_public.cc \
-                         @srcdir@/../src/Polyhedron_nonpublic.cc \
-                         @srcdir@/../src/Polyhedron_widenings.cc \
-                         @srcdir@/../src/Polyhedron_chdims.cc \
-                         @srcdir@/../src/conversion.cc \
-                         @srcdir@/../src/minimize.cc \
-                         @srcdir@/../src/simplify.cc \
-                         @srcdir@/../src/Grid.types.hh \
-                         @srcdir@/../src/Grid.defs.hh \
-                         @srcdir@/../src/Grid.inlines.hh \
-                         @srcdir@/../src/Grid.templates.hh \
-                         @srcdir@/../src/Grid_public.cc \
-                         @srcdir@/../src/Grid_nonpublic.cc \
-                         @srcdir@/../src/Grid_conversion.cc \
-                         @srcdir@/../src/Grid_simplify.cc \
-                         @srcdir@/../src/Grid_widenings.cc \
-                         @srcdir@/../src/Grid_chdims.cc \
-                         @srcdir@/../src/Poly_Con_Relation.types.hh \
-                         @srcdir@/../src/Poly_Con_Relation.defs.hh \
-                         @srcdir@/../src/Poly_Con_Relation.inlines.hh \
-                         @srcdir@/../src/Poly_Con_Relation.cc \
-                         @srcdir@/../src/Poly_Gen_Relation.types.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.defs.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.inlines.hh \
-                         @srcdir@/../src/Poly_Gen_Relation.cc \
-                         @srcdir@/../src/Interval_Restriction.defs.hh \
-                         @srcdir@/../src/Interval_Info.types.hh \
-                         @srcdir@/../src/Interval_Info.defs.hh \
-                         @srcdir@/../src/Interval_Info.inlines.hh \
-                         @srcdir@/../src/Interval.types.hh \
-                         @srcdir@/../src/Interval.defs.hh \
-                         @srcdir@/../src/Interval.inlines.hh \
-                         @srcdir@/../src/C_Polyhedron.types.hh \
-                         @srcdir@/../src/C_Polyhedron.defs.hh \
-                         @srcdir@/../src/C_Polyhedron.inlines.hh \
-                         @srcdir@/../src/C_Polyhedron.cc \
-                         @srcdir@/../src/NNC_Polyhedron.types.hh \
-                         @srcdir@/../src/NNC_Polyhedron.defs.hh \
-                         @srcdir@/../src/NNC_Polyhedron.inlines.hh \
-                         @srcdir@/../src/NNC_Polyhedron.cc \
-                         @srcdir@/../src/Widening_Function.types.hh \
-                         @srcdir@/../src/Widening_Function.defs.hh \
-                         @srcdir@/../src/Widening_Function.inlines.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.types.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.defs.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.inlines.hh \
-                         @srcdir@/../src/BHRZ03_Certificate.cc \
-                         @srcdir@/../src/H79_Certificate.types.hh \
-                         @srcdir@/../src/H79_Certificate.defs.hh \
-                         @srcdir@/../src/H79_Certificate.inlines.hh \
-                         @srcdir@/../src/H79_Certificate.cc \
-                         @srcdir@/../src/Grid_Certificate.types.hh \
-                         @srcdir@/../src/Grid_Certificate.defs.hh \
-                         @srcdir@/../src/Grid_Certificate.inlines.hh \
-                         @srcdir@/../src/Grid_Certificate.cc \
-                         @srcdir@/../src/Determinate.defs.hh \
-                         @srcdir@/../src/Determinate.inlines.hh \
-                         @srcdir@/../src/iterator_to_const.types.hh \
-                         @srcdir@/../src/iterator_to_const.defs.hh \
-                         @srcdir@/../src/iterator_to_const.inlines.hh \
-                         @srcdir@/../src/Powerset.types.hh \
-                         @srcdir@/../src/Powerset.defs.hh \
-                         @srcdir@/../src/Powerset.inlines.hh \
-                         @srcdir@/../src/Powerset.templates.hh \
-                         @srcdir@/../src/Pointset_Powerset.types.hh \
-                         @srcdir@/../src/Pointset_Powerset.defs.hh \
-                         @srcdir@/../src/Pointset_Powerset.inlines.hh \
-                         @srcdir@/../src/Pointset_Powerset.templates.hh \
-                         @srcdir@/../src/Pointset_Powerset.cc \
-                         @srcdir@/../src/Partially_Reduced_Product.types.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.defs.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.inlines.hh \
-                         @srcdir@/../src/Partially_Reduced_Product.templates.hh \
-                         @srcdir@/../src/algorithms.hh \
-                         @srcdir@/../src/Box.types.hh \
-                         @srcdir@/../src/Box.defs.hh \
-                         @srcdir@/../src/Box.inlines.hh \
-                         @srcdir@/../src/Box.templates.hh \
-                         @srcdir@/../src/Box.cc \
-                         @srcdir@/../src/DB_Row.types.hh \
-                         @srcdir@/../src/DB_Row.defs.hh \
-                         @srcdir@/../src/DB_Row.inlines.hh \
-                         @srcdir@/../src/DB_Row.templates.hh \
-                         @srcdir@/../src/DB_Matrix.types.hh \
-                         @srcdir@/../src/DB_Matrix.defs.hh \
-                         @srcdir@/../src/DB_Matrix.inlines.hh \
-                         @srcdir@/../src/DB_Matrix.templates.hh \
-                         @srcdir@/../src/BD_Shape.types.hh \
-                         @srcdir@/../src/BD_Shape.defs.hh \
-                         @srcdir@/../src/BD_Shape.inlines.hh \
-                         @srcdir@/../src/BD_Shape.templates.hh \
-                         @srcdir@/../src/BD_Shape.cc \
-                         @srcdir@/../src/OR_Matrix.types.hh \
-                         @srcdir@/../src/OR_Matrix.defs.hh \
-                         @srcdir@/../src/OR_Matrix.inlines.hh \
-                         @srcdir@/../src/OR_Matrix.templates.hh \
-                         @srcdir@/../src/Octagonal_Shape.types.hh \
-                         @srcdir@/../src/Octagonal_Shape.defs.hh \
-                         @srcdir@/../src/Octagonal_Shape.inlines.hh \
-                         @srcdir@/../src/Octagonal_Shape.templates.hh \
-                         @srcdir@/../src/Octagonal_Shape.cc \
-                         @srcdir@/../src/PIP_Problem.types.hh \
-                         @srcdir@/../src/PIP_Problem.defs.hh \
-                         @srcdir@/../src/PIP_Problem.inlines.hh \
-                         @srcdir@/../src/PIP_Problem.templates.hh \
-                         @srcdir@/../src/PIP_Problem.cc \
-                         @srcdir@/../src/PIP_Tree.types.hh \
-                         @srcdir@/../src/PIP_Tree.defs.hh \
-                         @srcdir@/../src/PIP_Tree.inlines.hh \
-                         @srcdir@/../src/PIP_Tree.cc \
+                         @srcdir@/../src/ \
                          @srcdir@/gpl.dox \
                          @srcdir@/fdl.dox
 INPUT_ENCODING         = UTF-8
-FILE_PATTERNS          = *.hh \
+FILE_PATTERNS          = *.types.hh \
+                         *.defs.hh \
+                         *.inlines.hh \
+                         *.templates.hh \
                          *.cc \
-                         *.dox
+                         C_Integer.hh \
+                         Coefficient_traits_template.hh \
+                         Has_Assign_Or_Swap.hh \
+                         Integer_Interval.hh \
+                         Rational_Box.hh \
+                         Rational_Interval.hh \
+                         Slow_Copy.hh \
+                         algorithms.hh \
+                         assert.hh \
+                         assign_or_swap.hh \
+                         checked_numeric_limits.hh \
+                         compiler.hh \
+                         initializer.hh \
+                         linearize.hh \
+                         max_space_dimension.hh \
+                         meta_programming.hh \
+                         namespaces.hh \
+                         wrap_assign.hh \
+                         wrap_string.hh
 RECURSIVE              = YES
 EXCLUDE                =
 EXCLUDE_SYMLINKS       = NO
@@ -348,6 +138,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -374,12 +165,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -398,11 +195,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -416,11 +217,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = @srcdir@/devref.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -466,7 +269,8 @@ SEARCH_INCLUDES        = YES
 INCLUDE_PATH           =
 INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
+EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS \
+                         PPL_USE_SPARSE_MATRIX
 SKIP_FUNCTION_MACROS   = YES
 #---------------------------------------------------------------------------
 # Configuration::additions related to external references
@@ -483,6 +287,7 @@ CLASS_DIAGRAMS         = YES
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -490,6 +295,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = YES
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = YES
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -498,8 +304,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = YES
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/devref.tex b/doc/devref.tex
index 4b98434..930bb89 100644
--- a/doc/devref.tex
+++ b/doc/devref.tex
@@ -1,5 +1,5 @@
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -8,22 +8,26 @@
 % or any later version published by the Free Software Foundation;
 % with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 % The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PPL in files called `fdl.*'.
+% of each distribution of the PPL in files named `fdl.*'.
 %
 % The PPL is free software; you can redistribute it and/or modify it
 % under the terms of the GNU General Public License as published by the
 % Free Software Foundation; either version 3 of the License, or (at your
 % option) any later version.  The license is included, in various
 % formats, in the `doc' subdirectory of each distribution of the PPL in
-% files are called `gpl.*'.
+% files named `gpl.*'.
 %
 % The PPL is distributed in the hope that it will be useful, but WITHOUT
 % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 % FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 % for more details.
 %
+% If you have not received a copy of one or both the above mentioned
+% licenses along with the PPL, write to the Free Software Foundation,
+% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+%
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 \documentclass[a4paper,twoside]{article}
 \usepackage{a4wide}
@@ -35,6 +39,7 @@
 \usepackage{textcomp}
 \usepackage{alltt}
 \usepackage{times}
+\usepackage{tocloft}
 \usepackage{ifpdf}
 \ifpdf
 \usepackage[pdftex,
@@ -57,21 +62,22 @@
 \usepackage{ppl}
 \makeindex
 \setcounter{tocdepth}{2}
-\renewcommand{\footrulewidth}{0.4pt}
 
-\rfoot[\fancyplain{}{\scriptsize The Parma Polyhedra Library Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Polyhedra Library Developer's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}}
+\renewcommand{\footrulewidth}{0.4pt}
+\fancyfoot{}
+\fancyfoot[LE,RO]{\includegraphics[height=0.4cm]{ppl_logo_no_ppl.pdf}}
+\fancyfoot[RE,LO]{\small The PPL Developer's Manual (version $projectnumber). See \url{http://bugseng.com} for more information.}
 
 \setlength{\headheight}{24pt}
 
-%% This only applies to the title: it avoids a pdf duplicate link error.
-\pagenumbering{Alph}
-
 \begin{document}
 \title{
+\includegraphics[height=9cm]{ppl_logo.pdf} \\
+\ \\
 The Parma Polyhedra Library \\
-Developer's Manual\thanks{This work
-  has been partly supported by:
+Developer's Manual\thanks{This work is based on previous work also by
+Elisa Ricci, Sara Bonini, Andrea Pescetti, Angela Stazzone, Tatiana Zolo.
+This work has been partly supported by:
   University of Parma's FIL scientific research project (ex 60\%)
     ``Pure and Applied Mathematics'';
   MURST project
@@ -95,27 +101,24 @@ Developer's Manual\thanks{This work
 }
 \author{
 Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-Patricia M. Hill\thanks{hill at comp.leeds.ac.uk,
-  School of Computing, University of Leeds, U.K.} \\
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Patricia M. Hill\thanks{patricia.hill at bugseng.com,
+  BUGSENG srl.} \\
 Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-\ \\
-based on previous work also by \\
-\ \\
-Elisa Ricci \\
-\ \\
-and \\
-\ \\
-Sara Bonini \\
-Andrea Pescetti \\
-Angela Stazzone \\
-Tatiana Zolo
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Abramo Bagnara\thanks{abramo.bagnara at bugseng.com,
+  BUGSENG srl.} \\
 }
-\maketitle
+{\sffamily\maketitle}
+\thispagestyle{empty}
+\clearpage{\pagestyle{empty}\cleardoublepage}
 
 \newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it) \\
+Copyright \copyright\ 2010--2012 BUGSENG srl (http://bugseng.com)
+
 
 This document describes the Parma Polyhedra Library (PPL).
 
@@ -139,12 +142,31 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
 For the most up-to-date information see the Parma Polyhedra Library
 site:
 \begin{center}
-\href{http://www.cs.unipr.it/ppl/}{\tt http://www.cs.unipr.it/ppl/}
+\href{http://bugseng.com/products/ppl/}{\tt http://bugseng.com/products/ppl/}
+\end{center}
+\vfill
+\begin{center}
+\includegraphics[width=5cm]{bugseng_logo.pdf}
 \end{center}
+\vfill
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
+% The following command is needed to have the right footer on
+% the first page of the TOC.
+\addtocontents{toc}{\protect\thispagestyle{fancy}}
+
+% Make sure there is enough space in the TOC for long subsection numbers.
+\addtolength{\cftsubsecnumwidth}{1em}
 
 \pagenumbering{roman}
 \tableofcontents
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
 \pagenumbering{arabic}
diff --git a/doc/fdl.pdf b/doc/fdl.pdf
index 041bd1c..6fbea6c 100644
Binary files a/doc/fdl.pdf and b/doc/fdl.pdf differ
diff --git a/doc/fdl.ps.gz b/doc/fdl.ps.gz
index dfd4041..9518267 100644
Binary files a/doc/fdl.ps.gz and b/doc/fdl.ps.gz differ
diff --git a/doc/gpl.pdf b/doc/gpl.pdf
index f4844b5..593c449 100644
Binary files a/doc/gpl.pdf and b/doc/gpl.pdf differ
diff --git a/doc/gpl.ps.gz b/doc/gpl.ps.gz
index 7bddf18..6f273f0 100644
Binary files a/doc/gpl.ps.gz and b/doc/gpl.ps.gz differ
diff --git a/doc/libppl.3 b/doc/libppl.3
index 13dd673..691b187 100644
--- a/doc/libppl.3
+++ b/doc/libppl.3
@@ -1,4 +1,4 @@
-.TH libppl "3" "February 2011" "PPL 0.11.2" "libppl overview"
+.TH libppl "3" "June 2012" "PPL 1.0" "libppl overview"
 
 .SH NAME
 libppl \- the C++ interface of the Parma Polyhedra Library
@@ -15,7 +15,7 @@ Note that the PPL has interfaces also for C, Java, OCaml and a number
 of Prolog systems: look elsewhere for documentation on those.
 Note also that the present document does not describe the library
 functionality, its classes or its methods and functions: see
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)"
 for this kind of information.
 
 .SH "INCLUDING THE HEADER FILE"
@@ -61,7 +61,7 @@ when you are done with the library.
 
 .SH "USING THE LIBRARY"
 Keeping in mind that there is no substitute for a careful reading of
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)",
 you can find many examples of use in the directories
 .B tests
 (see the
@@ -196,9 +196,9 @@ before invoking any PPL interface related to such abstractions.
 .BR ppl-config(1)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 David A. Wheeler.
 .IR "Program Library HOWTO",
@@ -207,7 +207,7 @@ available (in several formats) at
 
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+is available at \fBhttp://bugseng.com/products/ppl/\fR .
 
 .SH AUTHOR
 See the file \fBCREDITS\fR in the source distribution or use the command
@@ -216,9 +216,9 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 
-.SH COPYRIGHT
+.SH "COPYRIGHT AND NO WARRANTY"
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/doc/libppl_c.3 b/doc/libppl_c.3
index 1c73cd0..aa76d21 100644
--- a/doc/libppl_c.3
+++ b/doc/libppl_c.3
@@ -1,4 +1,4 @@
-.TH libppl_c "3" "February 2011" "PPL 0.11.2" "libppl_c overview"
+.TH libppl_c "3" "June 2012" "PPL 1.0" "libppl_c overview"
 
 .SH NAME
 libppl_c \- the C interface of the Parma Polyhedra Library
@@ -15,9 +15,9 @@ Note that the PPL has interfaces also for C++, Java, OCaml and a number
 of Prolog systems: look elsewhere for documentation on those.
 Note also that the present document does not describe the library
 functionality, its classes or its methods and functions: see
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)"
 and
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 1.0)"
 for this kind of information.
 
 .SH "INCLUDING THE HEADER FILE"
@@ -48,9 +48,9 @@ when you are done with the library.
 
 .SH "USING THE LIBRARY"
 Keeping in mind that there is no substitute for a careful reading of
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)"
 and
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 1.0)"
 you can find examples of use in the directories
 .B interfaces/C/tests
 and
@@ -81,7 +81,7 @@ is especially valuable for GNU/Linux users).
 .SH "RETURN VALUES"
 All the PPL C interface functions return an int: a negative value means
 that an error occurred.  See
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11.2)"
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 1.0)"
 for the error codes.
 
 .SH "IMPLEMENTING MEMORY-GUARDED COMPUTATIONS"
@@ -127,14 +127,14 @@ before invoking any PPL interface related to such abstractions.
 .BR libppl(3)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 David A. Wheeler.
 .IR "Program Library HOWTO",
@@ -143,7 +143,7 @@ available (in several formats) at
 
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR .
+is available at \fBhttp://bugseng.com/products/ppl/\fR .
 
 .SH AUTHOR
 See the file \fBCREDITS\fR in the source distribution or use the command
@@ -152,9 +152,9 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 
-.SH COPYRIGHT
+.SH "COPYRIGHT AND NO WARRANTY"
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
diff --git a/doc/ppl-config.1 b/doc/ppl-config.1
index 43e49f6..3c18381 100644
--- a/doc/ppl-config.1
+++ b/doc/ppl-config.1
@@ -1,5 +1,5 @@
-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.37.1.
-.TH PPL-CONFIG "1" "February 2011" "ppl-config 0.11.2" "User Commands"
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.40.4.
+.TH PPL-CONFIG "1" "June 2012" "ppl-config 1.0" "User Commands"
 .SH NAME
 ppl-config \- obtain information about an installation of the Parma Polyhedra Library
 .SH SYNOPSIS
@@ -93,7 +93,7 @@ prints bug reporting information
 prints credits
 .SH AVAILABILITY
 The latest version of the Parma Polyhedra Library and all the documentation
-is available at \fBhttp://www.cs.unipr.it/ppl/\fR.
+is available at \fBhttp://bugseng.com/products/ppl/\fR.
 
 .SH AUTHOR
 See the file \fBCREDITS\fR in the source distribution or use the command
@@ -101,42 +101,42 @@ See the file \fBCREDITS\fR in the source distribution or use the command
 
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
-.SH "REPORTING BUGS"
-Report bugs to <ppl\-devel at cs.unipr.it>.
-.SH COPYRIGHT
+.SH "COPYRIGHT AND NO WARRANTY"
 Copyright (C) 2001\-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010\-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010\-2012 BUGSENG srl (http://bugseng.com)
 .br
 This is free software; see the file \fBCOPYING\fR in the source
 distribution or use the command \fBppl\-config \-\-copying\fR to
 obtain the copying conditions.  There is NO warranty; not even for
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+.SH "REPORTING BUGS"
+Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH "SEE ALSO"
 .BR libppl(3)
 .sp
 .BR libppl_c(3)
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library C Language Interface User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library Java Language Interface User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library Java Language Interface User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library OCaml Language Interface User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library OCaml Language Interface User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
 .sp
 Roberto Bagnara, Patricia M. Hill, and Enea Zaffanella.
-.IR "The Parma Polyhedra Library Prolog Language Interface User's Manual (version 0.11.2)",
+.IR "The Parma Polyhedra Library Prolog Language Interface User's Manual (version 1.0)",
 available (in several formats) at
-\fBhttp://www.cs.unipr.it/ppl/\fR .
+\fBhttp://bugseng.com/products/ppl/\fR .
diff --git a/doc/ppl-user-0.11.2-html.tar.gz b/doc/ppl-user-0.11.2-html.tar.gz
deleted file mode 100644
index 49bb32e..0000000
Binary files a/doc/ppl-user-0.11.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-0.11.2.pdf b/doc/ppl-user-0.11.2.pdf
deleted file mode 100644
index a207b9c..0000000
--- a/doc/ppl-user-0.11.2.pdf
+++ /dev/null
@@ -1,100318 +0,0 @@
-%PDF-1.4
-%����
-1 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-4 0 obj
-(\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000P\000L)
-endobj
-5 0 obj
-<< /S /GoTo /D (subsection.1.1) >>
-endobj
-8 0 obj
-(\376\377\000T\000h\000e\000\040\000M\000a\000i\000n\000\040\000F\000e\000a\000t\000u\000r\000e\000s)
-endobj
-9 0 obj
-<< /S /GoTo /D (subsection.1.2) >>
-endobj
-12 0 obj
-(\376\377\000U\000p\000w\000a\000r\000d\000\040\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000o\000n)
-endobj
-13 0 obj
-<< /S /GoTo /D (subsection.1.3) >>
-endobj
-16 0 obj
-(\376\377\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000n\000g\000\040\000I\000n\000t\000e\000g\000e\000r\000s)
-endobj
-17 0 obj
-<< /S /GoTo /D (subsection.1.4) >>
-endobj
-20 0 obj
-(\376\377\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.1.5) >>
-endobj
-24 0 obj
-(\376\377\000R\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000s\000\040\000o\000f\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-25 0 obj
-<< /S /GoTo /D (subsection.1.6) >>
-endobj
-28 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.1.7) >>
-endobj
-32 0 obj
-(\376\377\000I\000n\000t\000e\000r\000v\000a\000l\000s\000\040\000a\000n\000d\000\040\000B\000o\000x\000e\000s)
-endobj
-33 0 obj
-<< /S /GoTo /D (subsection.1.8) >>
-endobj
-36 0 obj
-(\376\377\000W\000e\000a\000k\000l\000y\000-\000R\000e\000l\000a\000t\000i\000o\000n\000a\000l\000\040\000S\000h\000a\000p\000e\000s)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.1.9) >>
-endobj
-40 0 obj
-(\376\377\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
-endobj
-41 0 obj
-<< /S /GoTo /D (subsection.1.10) >>
-endobj
-44 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.1.11) >>
-endobj
-48 0 obj
-(\376\377\000T\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.1.12) >>
-endobj
-52 0 obj
-(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.1.13) >>
-endobj
-56 0 obj
-(\376\377\000T\000h\000e\000\040\000P\000o\000i\000n\000t\000s\000e\000t\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000D\000o\000m\000a\000i\000n)
-endobj
-57 0 obj
-<< /S /GoTo /D (subsection.1.14) >>
-endobj
-60 0 obj
-(\376\377\000U\000s\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000i\000b\000r\000a\000r\000y)
-endobj
-61 0 obj
-<< /S /GoTo /D (subsection.1.15) >>
-endobj
-64 0 obj
-(\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y)
-endobj
-65 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-68 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-69 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-72 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-76 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-77 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-80 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-81 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-84 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-85 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-88 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
-endobj
-89 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-92 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-93 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-96 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
-endobj
-97 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-100 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-101 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-104 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-105 0 obj
-<< /S /GoTo /D (section.8) >>
-endobj
-108 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-109 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
-endobj
-112 0 obj
-(\376\377\000C\000+\000+\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-113 0 obj
-<< /S /GoTo /D (section.9) >>
-endobj
-116 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-117 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
-endobj
-120 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.9.2) >>
-endobj
-124 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000s\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.9.3) >>
-endobj
-128 0 obj
-(\376\377\000s\000t\000d\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (section.10) >>
-endobj
-132 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-133 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
-endobj
-136 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-137 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
-endobj
-140 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000D\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-141 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
-endobj
-144 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-145 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
-endobj
-148 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000o\000x\000<\000\040\000I\000T\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-149 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
-endobj
-152 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-153 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
-endobj
-156 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000o\000l\000i\000c\000y\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-157 0 obj
-<< /S /GoTo /D (subsection.10.7) >>
-endobj
-160 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-161 0 obj
-<< /S /GoTo /D (subsection.10.8) >>
-endobj
-164 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-165 0 obj
-<< /S /GoTo /D (subsection.10.9) >>
-endobj
-168 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-169 0 obj
-<< /S /GoTo /D (subsection.10.10) >>
-endobj
-172 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-173 0 obj
-<< /S /GoTo /D (subsection.10.11) >>
-endobj
-176 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-177 0 obj
-<< /S /GoTo /D (subsection.10.12) >>
-endobj
-180 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-181 0 obj
-<< /S /GoTo /D (subsection.10.13) >>
-endobj
-184 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-185 0 obj
-<< /S /GoTo /D (subsection.10.14) >>
-endobj
-188 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-189 0 obj
-<< /S /GoTo /D (subsection.10.15) >>
-endobj
-192 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-193 0 obj
-<< /S /GoTo /D (subsection.10.16) >>
-endobj
-196 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-197 0 obj
-<< /S /GoTo /D (subsection.10.17) >>
-endobj
-200 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-201 0 obj
-<< /S /GoTo /D (subsection.10.18) >>
-endobj
-204 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-205 0 obj
-<< /S /GoTo /D (subsection.10.19) >>
-endobj
-208 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-209 0 obj
-<< /S /GoTo /D (subsection.10.20) >>
-endobj
-212 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-213 0 obj
-<< /S /GoTo /D (subsection.10.21) >>
-endobj
-216 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000e\000t\000e\000r\000m\000i\000n\000a\000t\000e\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-217 0 obj
-<< /S /GoTo /D (subsection.10.22) >>
-endobj
-220 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-221 0 obj
-<< /S /GoTo /D (subsection.10.23) >>
-endobj
-224 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-225 0 obj
-<< /S /GoTo /D (subsection.10.24) >>
-endobj
-228 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-229 0 obj
-<< /S /GoTo /D (subsection.10.25) >>
-endobj
-232 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000M\000P\000\137\000I\000n\000t\000e\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-233 0 obj
-<< /S /GoTo /D (subsection.10.26) >>
-endobj
-236 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-237 0 obj
-<< /S /GoTo /D (subsection.10.27) >>
-endobj
-240 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-241 0 obj
-<< /S /GoTo /D (subsection.10.28) >>
-endobj
-244 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-245 0 obj
-<< /S /GoTo /D (subsection.10.29) >>
-endobj
-248 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-249 0 obj
-<< /S /GoTo /D (subsection.10.30) >>
-endobj
-252 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-253 0 obj
-<< /S /GoTo /D (subsection.10.31) >>
-endobj
-256 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000r\000v\000a\000l\000<\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000,\000\040\000I\000n\000f\000o\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-257 0 obj
-<< /S /GoTo /D (subsection.10.32) >>
-endobj
-260 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-261 0 obj
-<< /S /GoTo /D (subsection.10.33) >>
-endobj
-264 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000\040\000>\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-265 0 obj
-<< /S /GoTo /D (subsection.10.34) >>
-endobj
-268 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000s\000\137\000N\000a\000t\000i\000v\000e\000\137\000O\000r\000\137\000C\000h\000e\000c\000k\000e\000d\000<\000\040\000T\000\040\000>\000\040\000S\000t\000r\000u\000c\000t\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-269 0 obj
-<< /S /GoTo /D (subsection.10.35) >>
-endobj
-272 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-273 0 obj
-<< /S /GoTo /D (subsection.10.36) >>
-endobj
-276 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-277 0 obj
-<< /S /GoTo /D (subsection.10.37) >>
-endobj
-280 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000N\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-281 0 obj
-<< /S /GoTo /D (subsection.10.38) >>
-endobj
-284 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000:\000:\000N\000o\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-285 0 obj
-<< /S /GoTo /D (subsection.10.39) >>
-endobj
-288 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000o\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-289 0 obj
-<< /S /GoTo /D (subsection.10.40) >>
-endobj
-292 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000O\000c\000t\000a\000g\000o\000n\000a\000l\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-293 0 obj
-<< /S /GoTo /D (subsection.10.41) >>
-endobj
-296 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000l\000y\000\137\000R\000e\000d\000u\000c\000e\000d\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000,\000\040\000R\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-297 0 obj
-<< /S /GoTo /D (subsection.10.42) >>
-endobj
-300 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-301 0 obj
-<< /S /GoTo /D (subsection.10.43) >>
-endobj
-304 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-305 0 obj
-<< /S /GoTo /D (subsection.10.44) >>
-endobj
-308 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-309 0 obj
-<< /S /GoTo /D (subsection.10.45) >>
-endobj
-312 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-313 0 obj
-<< /S /GoTo /D (subsection.10.46) >>
-endobj
-316 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-317 0 obj
-<< /S /GoTo /D (subsection.10.47) >>
-endobj
-320 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-321 0 obj
-<< /S /GoTo /D (subsection.10.48) >>
-endobj
-324 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-325 0 obj
-<< /S /GoTo /D (subsection.10.49) >>
-endobj
-328 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-329 0 obj
-<< /S /GoTo /D (subsection.10.50) >>
-endobj
-332 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000D\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-333 0 obj
-<< /S /GoTo /D (subsection.10.51) >>
-endobj
-336 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000R\000e\000c\000y\000c\000l\000e\000\137\000I\000n\000p\000u\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-337 0 obj
-<< /S /GoTo /D (subsection.10.52) >>
-endobj
-340 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000h\000a\000p\000e\000\137\000P\000r\000e\000s\000e\000r\000v\000i\000n\000g\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-341 0 obj
-<< /S /GoTo /D (subsection.10.53) >>
-endobj
-344 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000m\000a\000s\000h\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-345 0 obj
-<< /S /GoTo /D (subsection.10.54) >>
-endobj
-348 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000T\000h\000r\000o\000w\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-349 0 obj
-<< /S /GoTo /D (subsection.10.55) >>
-endobj
-352 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-353 0 obj
-<< /S /GoTo /D (subsection.10.56) >>
-endobj
-356 0 obj
-(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-357 0 obj
-<< /S /GoTo /D [358 0 R  /Fit ] >>
-endobj
-360 0 obj <<
-/Length 1265      
-/Filter /FlateDecode
->>
-stream
-x��W�r�6��+xI��21X.�e�m≝r,9�L� Q��
E* 4���i,�b�)�r�4����`���	~�{69�p�Ӏd���y@��,
Ҵ@4͂�,�N�2�)��]Dx(�J�i[o�r���*������T�4�)|I��<tR�q
vN�V4Q�W�D9��
-�Q�SD�/��=68&�#�3��I�^����X���m

F Aa��
`2T$<�Y���r�N�ҭ;}&� W��*2L�ɜ �� A�yc�C qG�
�ET���|o���R�� X�%�X��X��e#=Ɵb
Q
�#�C�Ⱥ
r
T�¹U8O�P"G��
E�%Nt*:9s`}��J��U��x4����f��|���C�� ċf(/����:��}U��:$,���Y���^L
-���2=g�ڦj����"�����v'�Rj�)J!/����c-���F:��y�zᾦ�
\֕h���u�-f��|_;Wr�6���,�N� K�]I_NN�9!0�	
-�IJ
��ɗ�8���� '���J�@�@��`\��]W �r`B���i�!��@A�Yt!�QNh�=*�oZ
�fKᗧR��<\
��[�6�u��e����� ]�F}uk/���wףv���o�ֲ����xZ�%;)T����oYj�e��4��<�?���6)ew%����F�u]9�s�pz��B`�Ԑ,I=
�
-�_v�(�9����ۇ�����
a$�X�/��n�!'s�څ+'s�����T��
M;��S���FK娭�~r�������������ɷki�y8�vZ�:��̬���Vm
_�!��nuԈz�U��doLJ�./�&o�+c'���m���
Q
��Rt�,��y�z�V덆u�^Šp��ա�>���:�<
ՋVUz�
�Cs�/�i�W5��}�V
6
�ۺ�Ժ�������|C��.8�'��9F��&���l�B����:����� N�>�>���i��P�˔����42��4�P3J �]�h���-��rV�����n|�
d�+�a�.�!Uӹ����l�۹��J(��y�E���ć��B~��J�ݟ���݊嗽$�.1���U_�;�g�o����'��4���GǾÅ}�vc�_����Ц���4ITi�\HӂW�����c��|��m��Į
{�k
E)�
8{;�3��f��,��2E����m����]�m}lծ���ō��ˢ_�i�ӻ2����?'���	���%:W
-endstream
-endobj
-358 0 obj <<
-/Type /Page
-/Contents 360 0 R
-/Resources 359 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
->> endobj
-361 0 obj <<
-/D [358 0 R /XYZ 89 770.89 null]
->> endobj
-362 0 obj <<
-/D [358 0 R /XYZ 90 721.073 null]
->> endobj
-359 0 obj <<
-/Font << /F56 363 0 R /F23 364 0 R /F40 365 0 R /F41 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-396 0 obj <<
-/Length 1877      
-/Filter /FlateDecode
->>
-stream
-x��ZMs�8��W�dUD���ee��Ѭck$y�RI�[�P$����n6 Q�
[�\6��Dh ��5� �qg0�}�t�;9�ّ/|cvkD����|(-�O����lx9�Z_f�`�p�gS���7����� c�ޞ
��|���
�a0ۉB�i�-�"5��?{�=��L�s�s5���83��nY[}�1��8�	��g!|�8#�$��e�S�4���2V���nH��ye���(-�3�*n7
eF��/\|�L*������
���ɍT��R�����+5�8O�r�gp�ܔq����x|�?�GC�e�J�*�3��f�D�yW�Y-X�&.�s��{�;9��H��hA��,�'yI�|��>�{��ڷ�D��l!K�D�a^�q~�S�����$9/��,�ۑ���R�ͺ���eV�wX���Z�sS�զ�ۂ�p�(�3��
-i\K%�����&M�%b���g���n�~���o����&��i~[�#�q�$�8L��H�2,�Wl��I�<��

3
�Qf�
f,�[��q+O�
�VF�oZ��yV��r
Y�+|sf̔(�f��,nR� MMm���x�u_G��QW��w����xU���RrvxI�rThx��l������'Y�.��
-�I������Q�y�;h&
̍�a3m)��ZL�V�F��}����`�%�4���m3��Df�r0��+�kj5�3z)�
�PYM�

�
[��u0Z�g�Y�*ֹl[G����2Nw�W�|�\����(p3�H�&
����)�@e��!
�=IpU	d!o
�N���|B;o���Ql )ո��`�����.�������'(oMhpi�[Z`�1<�
�BË�Ɓ�i�4A"���["`aKl�
"`�����dpqh���Ӌљ���lx9

G	�FD	�Dt�z�BUfTIf�2/�5��F5I�4���z]��u�N	I5��~���Q���G%�8�L&���G+�G�~s�Ub�%cf���\
-l�*҄�ʏq�} 	��g~N�~��<�tt1�}T
Jz��f���T�&�2���9�X>3g��닁�
_O�WӡMcL����_פ���)O�&y+�5�[�;1ܔRg0u���A�k�N�^��~�E����iU�d0��x+
�_�UI-�q��s?A+Z�#w�
2���f�Zϲ��_NN���m��A�wR���8MF�]�q}���m� t6	)�_Y]=B�NZ
Њ�����s8c
���[��]
��f�
ܥm_�
�}��Lv�jXX亍��@O�n&�gz��ަ�e\�KYuG
!5?�`?�Í������5��ؽ�ͺ�ׅ�9*E�KV��ξ�o�oQ��F�Q��P��4
�&�����y���;wW�Q�>�p_V_0�;Cy����Ώ0Gx4
<e��, ���'u��d</�U�’�}��hx}�U�}��Ⱥ��S:un�[�stt	��K:^I�t ���������[hy��
���2�_V�LM��64�t�L��`����t ���}�,�s'z
;�t~q�=�>��N���\��V�w����ޛ��q���
rxYo6۪.��C�S^�r�wq�}�_f
-<��Y����r�|�Μd��}<�Wxl�uj/zu�#<>r��u�9�x�>����OY�9>��
Y�4�I�������73
�����l�T��9���bڎ�>B]?���/
-M'z�6���Խ��
Txh
}�
Ux��O����q?�u*���B~���r�fN����vS���1��:��9F��'T?Ÿ�
���去W��d�/�����Z[�M;�O0�ARe
�A��M����=�v�<
l�	���o`vV������X��'���?R$X
-endstream
-endobj
-395 0 obj <<
-/Type /Page
-/Contents 396 0 R
-/Resources 394 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
-/Annots [ 368 0 R 369 0 R 370 0 R 371 0 R 399 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 393 0 R ]
->> endobj
-368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 660.753 490.947 671.657]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 638.9 322.585 647.747]
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 607.263 337.877 618.167]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 595.308 513.996 606.212]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 585.41 169.87 594.257]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 497.743 383.194 507.641]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 427.935 244.609 436.911]
-/A << /S /GoTo /D (section.1) >>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 410.182 204.111 419.029]
-/A << /S /GoTo /D (subsection.1.1) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 390.353 224.216 401.257]
-/A << /S /GoTo /D (subsection.1.2) >>
->> endobj
-376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 372.581 224.166 383.485]
-/A << /S /GoTo /D (subsection.1.3) >>
->> endobj
-377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 354.808 202.04 365.712]
-/A << /S /GoTo /D (subsection.1.4) >>
->> endobj
-378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 337.036 278.96 347.94]
-/A << /S /GoTo /D (subsection.1.5) >>
->> endobj
-379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 319.264 260.699 330.168]
-/A << /S /GoTo /D (subsection.1.6) >>
->> endobj
-380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 303.549 207.588 312.395]
-/A << /S /GoTo /D (subsection.1.7) >>
->> endobj
-381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 283.719 234.029 294.623]
-/A << /S /GoTo /D (subsection.1.8) >>
->> endobj
-382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 267.885 187.245 276.851]
-/A << /S /GoTo /D (subsection.1.9) >>
->> endobj
-383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 248.175 245.904 259.078]
-/A << /S /GoTo /D (subsection.1.10) >>
->> endobj
-384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 232.46 237.077 241.306]
-/A << /S /GoTo /D (subsection.1.11) >>
->> endobj
-385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 212.63 292.419 223.534]
-/A << /S /GoTo /D (subsection.1.12) >>
->> endobj
-386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 196.915 252.3 205.762]
-/A << /S /GoTo /D (subsection.1.13) >>
->> endobj
-387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 177.085 199.688 187.989]
-/A << /S /GoTo /D (subsection.1.14) >>
->> endobj
-388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 159.313 181.387 170.217]
-/A << /S /GoTo /D (subsection.1.15) >>
->> endobj
-389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 133.024 229.087 142]
-/A << /S /GoTo /D (section.2) >>
->> endobj
-390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 104.697 252.131 113.673]
-/A << /S /GoTo /D (section.3) >>
->> endobj
-391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 76.371 165.446 85.347]
-/A << /S /GoTo /D (section.4) >>
->> endobj
-393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-397 0 obj <<
-/D [395 0 R /XYZ 89 770.89 null]
->> endobj
-401 0 obj <<
-/D [395 0 R /XYZ 90 446.503 null]
->> endobj
-394 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-440 0 obj <<
-/Length 1329      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�H}�+�6P��jj�&8��Il�a�0NJ%Cۨ�I���O
-`![
�LU������>��Zw��5^��Z
-(��5���U�q��Ⱥn�n���E�Hq���j��|��|��5�
��܂��g at Hk8m\���\~oA@����M-����X��_
������\��1��
�(J-�@(J��j#�`��|��h�S2�uݦ�h��y?�R�^� �0�MF\�mW�Hm���%�\F�ba�L�sg���3ԭ66�9����lT�)�����
R#���0�K�������l8F�
#��
-<�Bo����4�� HD�;e��6j�"�)�B���s��Ś�
F��xNF�Z��u�(���D�:,^�c�� ��	}Ԭ��p9ճ�	��,+)x���"7y�*��3�[:w�uڻm�Cw��WH�t\��:@�U���iH�q�� @
3m�e
���M
�r>Y���s��1�U�G&�+}�==��W���Ƽ��ƙ��E\
X�{va_,��sϯ=2y0H^����j��^#D\�*��Q�-oR-
�"
]Y-
������
��v���>��t�����!�Cי��ˆ1�Z���*x�:���CU�pvj��p��^�����X��ykv�[�	���4Y��=����>0�C&d��@TzP�n�������
&�3?�B=mc��(�+R�ӫ �{:!SZh)�(q���]J��0��>Z���<�18,O�����Q�������lCD�
-����3�e"+х^zшli2��%屓����ep���p��G��rzc�}�f� ɊȺ�!m��k���0�U����f6;�x[<��E�r��(�B��u������|�p�8�~�-�AA���.�n�VZ^,dM;�	��P�#k��*Q�P��)�<�Ԗ�z��\/\������/�q��y�V#T\vo>���RJ�A:{H����_����Ǩ�,�O��<3H|�J��$��zY�%���d�U�	�M��+y+��Z�WJ0��^BRS�r��B�<ǝ1���ax�v�������B�!��VB= [...]
#���ٟ�0n쁔��L�� 29� �YT ��I4�6��n
#T�o9�������/-ƚ1���ҙD�
��=�M���b
`s
������Z�_�g�x;i) ��W��`��t�����˙��t�I����"
�6���y��ug��t}���G�	���W!
-endstream
-endobj
-439 0 obj <<
-/Type /Page
-/Contents 440 0 R
-/Resources 438 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
-/Annots [ 392 0 R 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R 417 0 R 418 0 R 419 0 R 420 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 437 0 R ]
->> endobj
-392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 710.014 163.723 718.861]
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 679.623 180.928 690.503]
-/A << /S /GoTo /D (section.5) >>
->> endobj
-405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 661.688 192.764 672.592]
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 635.258 155.484 644.234]
-/A << /S /GoTo /D (section.6) >>
->> endobj
-407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 615.42 192.714 626.324]
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 588.989 155.484 597.965]
-/A << /S /GoTo /D (section.7) >>
->> endobj
-409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 571.208 168.435 580.055]
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 542.72 206.393 551.696]
-/A << /S /GoTo /D (section.8) >>
->> endobj
-411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 522.882 226.298 533.786]
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 494.549 221.874 505.428]
-/A << /S /GoTo /D (section.9) >>
->> endobj
-413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 476.614 325.674 487.518]
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 458.813 385.987 469.717]
-/A << /S /GoTo /D (subsection.9.2) >>
->> endobj
-415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 441.012 231.757 451.916]
-/A << /S /GoTo /D (subsection.9.3) >>
->> endobj
-416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 414.582 196.43 423.558]
-/A << /S /GoTo /D (section.10) >>
->> endobj
-417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 394.744 457.458 405.648]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 376.943 416.04 387.847]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 359.143 389.902 370.046]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 341.342 399.991 352.246]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 323.541 364.449 334.445]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 305.741 474.819 316.645]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 287.94 384.353 298.844]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 270.14 434.176 281.044]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 252.339 414.799 263.243]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 234.538 415.904 245.442]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 216.738 355.024 227.642]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 198.937 389.345 209.841]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 181.137 494.067 192.041]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 163.336 443.042 174.24]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 145.536 441.359 156.439]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 127.735 449.668 138.639]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 109.934 464.601 120.838]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 92.134 348.398 103.038]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 74.333 382.719 85.237]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-441 0 obj <<
-/D [439 0 R /XYZ 89 770.89 null]
->> endobj
-438 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-480 0 obj <<
-/Length 1615      
-/Filter /FlateDecode
->>
-stream
-x��]s�F����+������tz�I�&�z�d4
-�mM@�B�����K+�6d�+�$��g�����b�������A��žAFR�
�=�=�
���O���Ew��|��8�H?]\
�0;ݺ��jeg�G�R�NZ��`o��y1����M�SDZ�o���E_�'7E;WE�\�
�
�=E"$����Ή��^��v�L���o�(	����$H�_�:��Y�a���+;��0����VA�@lѽE��l�Qf�w���;'����4���د{[;�Y�ޠ�p�N�� ���+{m
��
-\~�>�"E��u}�wB�B�R�h �W$�~��6��$��n��h�('��z��A�<@
�L?'8 &8n�lȎ���+l �ُ��%��M
p��Z���YЖ��aE~��r��bL�~Ƃ#�v������&A'y��F�h�5���ܘ�A
��>P�@�V�x
D~�~�ډ;)���h0�Jc-`��=�2� �{nl����H��h��$
��P\
�1�`U���Ȕ2��&i�c:|H�. �&��$�$��#�������HL]$�S1�O
�l�Z�=s��)��1��
:&L���
�x�
J�w(�1.��#�j����<A�
��N���㒦%E���V���:JѰ�J�+d(ߥ��/g�٭
~����Q����԰�e�G#�y�o�O������^�^�G�aZ�HP�^=A+k�֘ߝO����mSQĴvn���a�kz�^
2ݚ�Z�X6Ô"N�g8�yc���
X)��� #��������=� _�q� �Ȑ��b��a�Ϳg�Y�c�'�)UHH�g�DÔ#J�¥�ġ�%$����$��>�l��O;�ee at g
A�<��h����c�p�˪K_�u����8�,êW��=��"냱 M����A����<����xdO쯕�s&�i��b�=�MԳ���aT�C�z_r�5J�κ�*�%���W9G
PlS����0
n�(���`jK�GTQg�O�khG0m��u0'��1��
�`q1
���>�kж+��ʬ��C��oA%�w�᪤YA��+��)U�	�
u+�W�ϩn�h�n9u{���a8[�F�ߪ����҂37��1G�t ~��@e�(�+��
8n�I�p�0�0�N���A�C�99�W ��M�řд)\���M�K��P`{��D����b�ISC>p�
|1CB�n��ʅ0���
��|�4�4�`��kGom3�y�2 
�s0n
�_#�Qm��Շ#�
��,DT��[cONII��;��x:aU���ˢ@&�vs�p�<Wv�]���M�i�J�!G���>� �n�����{�T�|ߦU���AJm�:}�ԁ�Q�����2t1�]8�wRxAe�E�6��c�f�_7�u�`U|���P8ء�$��V�&�������Q�!w�K���]�BB�����i��b����p^@�-��05�����_�Iʿ�	i䧎�Ƈ ����g,p�d���T0�VG�
"�o���}�~�v�ӵ�
:
?To�t������
gh
�����t:>���5j�E�*+^/�M�~���B�mN��{���
-endstream
-endobj
-479 0 obj <<
-/Type /Page
-/Contents 480 0 R
-/Resources 478 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
-/Annots [ 436 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 454 0 R 455 0 R 482 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 483 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 484 0 R 475 0 R 477 0 R ]
->> endobj
-436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 707.957 487.442 718.861]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 689.843 439.282 700.747]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 671.729 464.189 682.633]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 653.615 346.715 664.519]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 635.502 381.036 646.405]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 617.388 361.519 628.292]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 599.274 325.146 610.178]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 581.16 371.631 592.064]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 563.046 369.958 573.95]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 544.932 404.278 555.836]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 526.818 370.525 537.722]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 508.704 457.744 519.608]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 490.59 422.018 501.494]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 472.477 513.996 483.38]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 462.459 169.232 471.425]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 442.407 468.653 453.311]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 424.294 382.142 435.197]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 406.18 363.342 417.084]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 388.066 378.834 398.97]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 369.952 456.891 380.856]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 351.838 454.227 362.742]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 333.724 443.148 344.628]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 315.61 513.996 326.514]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 305.712 169.232 314.559]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 285.541 388.239 296.445]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 267.427 360.025 278.331]
-/A << /S /GoTo /D (subsection.10.43) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 249.313 386.595 260.217]
-/A << /S /GoTo /D (subsection.10.44) >>
->> endobj
-467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 231.199 370.725 242.103]
-/A << /S /GoTo /D (subsection.10.45) >>
->> endobj
-468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 213.086 463.402 223.99]
-/A << /S /GoTo /D (subsection.10.46) >>
->> endobj
-469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 194.972 385.489 205.876]
-/A << /S /GoTo /D (subsection.10.47) >>
->> endobj
-470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 176.858 385.479 187.762]
-/A << /S /GoTo /D (subsection.10.48) >>
->> endobj
-471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 158.744 352.822 169.648]
-/A << /S /GoTo /D (subsection.10.49) >>
->> endobj
-472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 140.63 410.252 151.534]
-/A << /S /GoTo /D (subsection.10.50) >>
->> endobj
-473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 122.516 367.049 133.42]
-/A << /S /GoTo /D (subsection.10.51) >>
->> endobj
-474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 104.402 513.996 115.306]
-/A << /S /GoTo /D (subsection.10.52) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 94.504 154.847 103.351]
-/A << /S /GoTo /D (subsection.10.52) >>
->> endobj
-475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 74.333 468.623 85.237]
-/A << /S /GoTo /D (subsection.10.53) >>
->> endobj
-477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-481 0 obj <<
-/D [479 0 R /XYZ 89 770.89 null]
->> endobj
-478 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-496 0 obj <<
-/Length 2583      
-/Filter /FlateDecode
->>
-stream
-x���v����[�G�}Q�CB�zV��\$?=
�3�6c3��TuU7�!���r�n�R���lg�����~��Mj��m������Aj�|���{��B�z!j�e%}�X�/��j�*dSӢ
������+��^� ���_^|�˅
x��KxB;N6yu��ggS��ˍc�i�yP��M��0����^8L2]�
�53F3&\'�� �Įk�.3��ap�E�.��ʀ���My:���޿��.�Nϟ���{�t
+ە��M��=M_���D�
Ŕ&k�v��e#��
A�>Z<#)&�$^,? �[7��țD~^T��t]v����7ӷ�V�Di������"K|�� �5��bY7�� �����m�vτ�q�:� >B��i*4�߱
����(��ş2ɰ~@4"���M,��E� p^`�nJ��N��O�T�d���;'t�X\Z�=��p`UM!���n��hR�!웎&�F_e�l�R�V�=��X�N�J����9w�@����ᘡ����g5M [...]
-l�� ��V�8�AU��-d%�
hU�܏(f�J ���rV�	h�E#ф�C�q��)X
s��D��`�o�WO�P4��=:/�Nⱐ"-$���)�-?q�~lۦC!�2�WI���Xq����A��<���T;
C{��Yeka歺w� LƸtS���"�ݘ	��_]�:�f&�j�wRƀ<�4�}�H ��S?���2^��
-`��DN����d ��x��l&�Ǭ+(�v��j���V�T-*ZDYr8����m)	
� L���Z��J,Y��8�y�����X�F�!�7�� sZk���eUe��Y}���H�s�*�fd���*�
-��k�W�.��ɛR�Ё�r;�GѶ�|���uR}�ZY�}���xd�ñG=g@�p��(\UN c�
4�DV�1���C����
~��{��f� s�m
-[�+dʏ�
-X.D/5͕��(�G
P��+����1�i������򤯁��#�ق��V���`$+�)kנ(�;!�@ �|
�e
��*�r��ɰ)�0yL@��r���
�
�Li��׊JP�F\4��D���3��˞KU�g��s>9:Bł���V���V���k3�ǯ�觩lIU1�n����( �aԬn;�ΨG�D=�*y8�t���^�ǒ�G��U
i:�zM%��6O�y������dO#�q0q�h@+QH��.�`^U��ʔ&{U��~	ܠ��
�7��7eI�
-p�|�����ȼ1�a�</|Բ@�$��LȰc
�uQ���@^hFZ����  �U���(��"�E�G���.x��$�2@�\�
-eb���f�[`��̯kE

���
-�؆>Y�3���>�cSKƇF��h��1�50�q����{���0q�(y�
�J6��Tg��Y�٥�XN&˩w�(�a��\		�%@cyM����ì�W�`~�{K��8�`�g<;Ob�
-��3�i������z�ޏk.�l� �&�ΝS%F
�!3J�˦�o�Vk
pІ��	���O�V^]��)G/Գ��n@�Q�Ө"Q�E�n�l/��z^?���_� ،]n��t��o���@�n)uP��
-i
���N�J/�X�>"�t��
պ�$r�nU3A,�#d��ܫ�;vw-7#
V%�cTj�P5^�U�	M>V��c�!�
��?���<0.��M��2#T�8�̛���%���<?YVy=m*qž.`iI,��\�y9f��@���k���q�U%�"�±�����i�*X��m���2~bQ�,6��>��|�k�z'�iL�k����IV�`s�dZ}��x��7+o���T�
�_�
�����^�5~DC�<��b��znվ�X�0�|+S�|�35򴽒��pC���DÊ*mB,Рy������@(��1"��vq����L��DW8�SƤ���'fiK
�����w��cB����/л�Q��e��t�$LD��E�*����e ߊ�{/��+��0P
�{�z�s5kĉy)[y�P
AL�O�\�L���B��v���y������Qk�%�.���
�wF�v���3���;�à=�U���;6 lZ>���F�.��P��p��\��Y�B
>�s��R�v�g:fhJU��=��]2���@<�?����vRS	��Z��D�����v�oGn� �
-��N�c��==9x���;��p��R�m}B����$*�z�
�D��v�Yܓ���I	'������z
P6#;��\�p��j��R�F���
e&�PoR£k���
��p9L�ө�
`Y�umA���N�A�0�+�n�B��ެs|ljqdG��z���3:AZQfd�^����@
؆����q 9�(E2�󏊉?��aq`{�a�zq���G`"��/��Q��8�=�b;�B��~��A�,�5P�s�Կ�|�LH��ע6
F\���rlP��O�hwB�YD�}����H��n���N
����gv��#�B�-�gm[>{,�7 �k ���*�ٟ����
���>
-endstream
-endobj
-495 0 obj <<
-/Type /Page
-/Contents 496 0 R
-/Resources 494 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
-/Annots [ 476 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 493 0 R ]
->> endobj
-476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 707.957 349.694 718.861]
-/A << /S /GoTo /D (subsection.10.54) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 690.295 340.08 701.199]
-/A << /S /GoTo /D (subsection.10.55) >>
->> endobj
-486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 672.633 361.668 683.537]
-/A << /S /GoTo /D (subsection.10.56) >>
->> endobj
-487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.351 553.963 427.818 564.867]
-/A << /S /GoTo /D (main_convex_polys) >>
->> endobj
-488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.548 193.733 337.122 204.637]
-/A << /S /GoTo /D (main_use_of_library) >>
->> endobj
-489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.956 190.125 84.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-497 0 obj <<
-/D [495 0 R /XYZ 89 770.89 null]
->> endobj
-2 0 obj <<
-/D [495 0 R /XYZ 90 657.089 null]
->> endobj
-498 0 obj <<
-/D [495 0 R /XYZ 90 624.991 null]
->> endobj
-499 0 obj <<
-/D [495 0 R /XYZ 90 624.991 null]
->> endobj
-6 0 obj <<
-/D [495 0 R /XYZ 90 624.991 null]
->> endobj
-500 0 obj <<
-/D [495 0 R /XYZ 159.628 184.931 null]
->> endobj
-501 0 obj <<
-/D [495 0 R /XYZ 90 167.355 null]
->> endobj
-494 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R /F23 364 0 R /F79 502 0 R /F31 503 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-516 0 obj <<
-/Length 2308      
-/Filter /FlateDecode
->>
-stream
-x��YKs����W��j9��ةTŖW�fc+�������Z��4���=3x� �Ut���<{��u7D�G�z�Wo�W�?��SD<��+OQ/��̖��	��6��AD�
-�Y|����݇�=�]��_}�b�E=f�KF^���������G�P��7�6���f���?����9�A�#F��
#�Y�p.���u|�|tl|�E�x�JD�@5������k�,�|@���( ,l��ipԛ)���f,"Q$_��77��x����� ow�Iěs��B�k�G(H��2��_.��(�B��;�]��rL��������"A �/�g�
-m����#
��(�t�����
�,�g\�I�/�p"8Q�-��%�8� e�x3Ɉ�`.�d���Z��Րaf!Ğ���{�;�M�	e�մ��D�&���w]����p虈�$Y����M�?����t&�l��dqU�0 	U4P���H�Q��B���1���,�(Q\�
d_9?$�.�z�
-W�^Of+��h
#h��L(I��̈�.���:C�Q�2GA6���
���G8�B%-J;��)����+�[��
�U�4��
'����e��CP��|Ԇb0�_w���7�/�t^W#�s!	
XO��Ø^�X�� H�s��Y�P��a�*l�
-0��"�h�+��$g�ϡ����`s)x[T
�[���k_��i^�q�h;C��/�߾�#hc$舿S�����IN"��i�7�,���&l��!
w��>c`eΣI�7q^#�p
Nno*q!ցO5�{J�߆XRl��͆�̳z
/B��
-�iB�Ibt���/@��.���r��
g�
f��ɮ��K����n`7We���8��m���B
l5�A9��ZW�1i���J
,��������c9���0����Z����XEc��DI�TA)�%�]\�)����I/w�^>ܕ
F�M�/ԓ+���M at 7�
>�|���C��G������i�
��΀D28��K�P�r,���[�phy\CD�V�~�L�P6v���+y�~p��)0���Gx0�g� *�Uʧ>�c�
��p�o��8uZ8.�nZ��e��n�Ԁ�ݴF�!��
fw� ���C.��e���OQ�
��}�A�"� �;�+d=H�<�ܶ�	� 
-�U��a���릀��
���t����ʔ0HJ
7�Gpx!"���5�k��_�?��&:���u�u�
-	�WcZ\d�$���
-D�������6=�h�A��j�\p;o~�
[:*E�V�H�8��M.���
�B)/��t�J�t��lvJ�8G�� y#!���0§3ȎtrD@]���Ƽ���r,OR�" ��c�f`�j����j�8et�{Ϗ����XL����
-M@�8���˭
�ΦX���q�'���V'�ۈ����
������� �=h��K�]^��~8���|�<

�T-"0�N��7� ib ��_�
�[�[��ez>�
��Z
�:��NX�` `^"
��b�SWöE�G���R�-
��um�4��$S�{p"��\X�R\����OhW¶,��F���#���O#(r���+d��9�զ,t��59��	Ca at W������컍�L��3&���.�*����j�v-F�6���ؖ���qLm{�ﵭX��>5�lw�����x����r�
�f�L�ev�� k�'��+�/�����A�J� _7er�0;���r/�؅�Yֳ�1���[�����H�T�pl��ݢ�7����]�}T��D#��3Z����F�q����
��]���&����̍�a{����+!g»5�DcrX�"�x8�k�c�ף8+ �[ؤ޲��&�8}��'�lf�8��e5v4~~hLX�
w��f���8
VMf�6�OM�����B�����MN^Yf+
-�a`i�{���C��0�R�bq8��ww�:ɟ����<� l�����nt^A��zx���Mr����E��ofp��t�y����&��������
���b�m
��|�K���:Va�E�=�3xIݸ��������<qH�����)���a�H�(���pү�`�*O%�{�K82M�.��Uwi����["�.�5�y:_�^���=�Tc��M<7�� ꇵw'�
v�ʻ+���
�p�>��T ����zp)Kai#�4��C����pgJ�r���+����.ʸtB���埦RN�\��s�|
��F�j��P(�h��n>�Y�~����퇍
�QHD�}n]��W�����$�No[����r}���G��w_��<i�-��։�
��^�
-endstream
-endobj
-515 0 obj <<
-/Type /Page
-/Contents 516 0 R
-/Resources 514 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 367 0 R
-/Annots [ 490 0 R 491 0 R 492 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R ]
->> endobj
-490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 708.58 202.08 718.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 689.694 187.689 699.592]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 670.809 229.532 680.707]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 652.018 169.757 662.205]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 633.133 142.304 642.936]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.957 542.591 268.261 553.495]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 484.324 259.42 494.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 465.344 337.129 475.242]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-517 0 obj <<
-/D [515 0 R /XYZ 89 770.89 null]
->> endobj
-518 0 obj <<
-/D [515 0 R /XYZ 496.074 402.825 null]
->> endobj
-519 0 obj <<
-/D [515 0 R /XYZ 90 386.566 null]
->> endobj
-520 0 obj <<
-/D [515 0 R /XYZ 390.898 286.973 null]
->> endobj
-521 0 obj <<
-/D [515 0 R /XYZ 90 270.714 null]
->> endobj
-522 0 obj <<
-/D [515 0 R /XYZ 338.874 77.486 null]
->> endobj
-514 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-534 0 obj <<
-/Length 2390      
-/Filter /FlateDecode
->>
-stream
-x��Z�s۸�_���R�&�2׾��d�z�\'��!���D�fK�:������X�3�-;I�
 K�o�?�W7�p���Oﮮ_�p��$���~��+��#�e��g|��a�n�z#t�5�Kj�^

ش=�k
�Yo$�q��/�~�����oW
��8���ī����/�*��W!�I��sB��~��۫�_�.�úx�B&���sU6m
+li�olu�m����6�:?�U���_�h�9\m�bR%��������T׶l�3u���X�mC���WEQ!4wyy�'i�X/X���&�[�1K��5�w߬y����?_�������m~ռt
�0��.c444S�7�z*�~��"/mZ�������V<aqd���>�rg����)O�C���8�����R�`���`k�w��N��?�������ڢB�
c2�J����Uݍ�i�s�{�Ե8Ԝ�6ݵa�{�n�ug���I3�,!p�y�(�Mk;G�����в��b&
�
KB��LH���`�wBZ�LK�4�:���%1�h>��
�!��§MOmUT7�.-�g�T�)6�oc3�Ԅ_f3�f�d��
�p�܄����ӂ�1S��FKɔ2���Nef�M����1O<�|mX=d��}
�-��ɜ!
�
&�)y!�ծMo��y1��
x��xZ���� &A,�*;M<�] ��zzq����"o��AOFL��Лl�?�F/�ǡ
$�A�"�H���+�r� ���bl/4���X�7�3vY|_�ȅ�L6��.���L�J/����
EP��W�[<��(��W� ���I��>!��d�w�V��c�i;��@�&�9�����Y���YϺ
��"�o�C^�5�H/��v:1L���Ո���c� ����F
��ߞT�t7F�5=�G�~�#��hN*��@*�Tҟ�L�6��\����k?�Yq�Y5��^d�!�I0M+���4���*������lX��&��<�f at M���
j&m.��e/�
Zn�uu��eNR�;k�#�F�E,&5����K��E�/�F�
o`0&��� [...]
��=�[at`s���7�m�f�� 
T�B�w���۵���捵�RZ�u
��7@���oa�=����
�yE�wk���yf���,���[
�� �t�
K������7�]��TK-W8�
-��r0��g$4��Q
-/�h��ڗ�� �PSH�-و���FE& �Y�*��Ip�WuU�Q�;o�w؍��Mˆ����~�+�����lx��F�5 "yp�����^�]�^�X��wk���O�;&i���HU�n���c�V:�>�-�
�̸�S�
���p���"n�RDža
���P�p�	�!ҡ=���j�7
-��?omI")I
�a�s�!C�6�6~�F���i �c��3��TN��)��(��봣���+�:fj����bӅ��\}L��%���(H�O��̀~Ў�^�Wx*�SaЦۼ;L�Q�w�����ֳ[���㓫v��(aN�����ŧ�n����<�х� ��^�
�ǧ$rϨ<
+���NW����E��S�{��k\��	״)	`���{-���JbJ	:��1>\
튪q� ��*���E20�|k�:%�IZt]�%�	d1�-xi|f�<�(�
�!���5�ãz��JFA_���U��&!ܱ1Z?

ˇΰ|�P~���b�r�t`���m;�(����D
���
t������1.3&dr`)i��:J
�g�b��<ނʘA��i��
�c�#�AV�V�V��Ȝ��r.(�r���>y#�|O��=�&��A��VJ?5�|����
�t�A=��1�*��0����J/�������8�嫅(�x1N
�b�|����{X�h����R3���6�ܙ��� 6�|�S��L�f�U��{5�|p�BLýOU�bw�=Fb�5���$1^vi!�Oc�e�Ơ��&�=��au��>�ӇY�O[���T��&�H�0i������m���H7^
����D?�Խ.m�r���$
w��ֹ;��p�D�8
�qBY��p4-��~1�i'�Lt>)I���N7����
b�-�w�иW����^��l���F<�fS/���N�d��}}���Z�cm[�63�9��P��L(θ�w
-��YE�7�E
-`�_�ӕ|�
�&���?-��]R_�O
��U��T(8
%��_
-�>��;���ԟG���ֿ[k����_���^
-��O.MϳB�'�-�N
���z#ɲ���_�\�
�ˡFʰ�۶=������c�����X����Zt=�mf5�
���$݁�m8
�R��� ���8
-endstream
-endobj
-533 0 obj <<
-/Type /Page
-/Contents 534 0 R
-/Resources 532 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 531 0 R ]
->> endobj
-531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-535 0 obj <<
-/D [533 0 R /XYZ 89 770.89 null]
->> endobj
-536 0 obj <<
-/D [533 0 R /XYZ 90 721.073 null]
->> endobj
-532 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F8 537 0 R /F23 364 0 R /F11 442 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-543 0 obj <<
-/Length 2320      
-/Filter /FlateDecode
->>
-stream
-x��YK��6����m�1���ܒI�6��$�[{�I�h�v+�%������
��,��j{�/{�E�� ����s��������"�$$	�й�:	u"?!Ao��i�/����aaL�$�5����p�c7����}��u\�< Q���OP'��
JX;=i��
�g����vC�$�I��P�;���&F�U#4�n��A8X��$��+xҀ�5�~�r�E��
_�,/w���!�h��ҥ
.3�_����7yeWo+i�̒�*U#y^6�����lE��7�.�Py&�Y��e�%������j�S؄K� 0��Ẏ-p��i[p�����_4ŒN�Ʈj�O�<}0=�{�B����𡎪����w�4��Yf�����ʮ�%��%�m�rW���Px��7���꾉�
Y��5v֣�i+e?�e����c���d%��������<1ĕ��eΊ�$�U��%
a˕K),����&�tD���Ⱦ*�y
�ʐ�,(��	��w����ϣ
G+r[וl�Fm���Yp���u7��z;r!�
��b��?������O� 6ZW��Ad�Oh��cw�^Uw��6&K�
-<F�3��h��efE^
-��o�=:��n'��r�N�G"��q8<!�
-���9���a/H���Tlv��	]���i��R/5���Xbm:�_��%40Y�ﴌ,wt=h%N�{G3/�eY5���
Zć�j���5

�x34�w
 �d�
-X��giz � U����
��2^H�3Kn�!|���'��
�
GMacÕa
��
�#���r@��[e
�qȴ�.,�X0H���$_�q�އ��<vm�/���]�h��u
nXL7�x��f�6
�|�Y�2���6�HO�S��FG��s����m�)��Ǻ}[���e�
(�}�
�#�y
��aݻA�gU�
�L�Z�y(��n���yJ�|N��۠�YS2~�
:h�i�Bбlx: �&2yI({���a�D�0�
/Wk���4��s�Xj��(��7�,�=0��
����'9C5��I㫨6ċj���(�봨�
g8����,����`8
�;�1Rd98��T�$�
7U
)��6"������' �B�� �b'�Z��
���ď[�ߥ0�P]��ao�%Ī.:Jī&���9��|W�A'��`�M��b��J
a���$��	?.֦�
-Q���l�Q�@�`8�����~�J�d��
���3���#�~jq^[��� �;��=��/8�F�LK����
�ܮ��asq̺�m�( ߤ�%�h`׍�U{
�WG��;�q�$?�!�=T�e�� �š�
�0�B��۪*��)r�Ƌ]k
��׻��$J]P�N��3�LV���}DT��I+�Gk�4��a�����	�3HE��y�c�1r݇�9?�.	��b���-H}�N��{���@`b�
�<@a��V�������*̩�i:���>l�,[O��� "���|LK����lL��w�AOr����(��dld�D�~�
#Q2{�xx�w���^a`>��g9���_ģ��,? �f$�x1*}�U�]��ʠ���5���}��[,���^�@�:6�V���J�4wT�%X�}c� ��|���U_�i�]_�����<�iCDEi��D��Ji�"�c�!
�e
~"M�
���ѱG㐆\jjZ|��&5U>�|N�ff�1�d�7�%P���RB��x�P��L@�o4̆���VG�2�
'U�c�*G4����]� vd�m�ڻ>�WC^ϙ�������'& [...]
�
-ϓv�w��r��
�?1�^�E�ƌ0�$
�Mվ��̗�.��Q����	9ߋ������}��
�V�5��w�XF�v6�A�r����ڼ/ Er�%ϒ�
����R���16v]�=�9��1_9��X�� �����%J��_N��]����"�		���h5s��Q�W����)oD	�W�D\
x=��
s����!vփ���
-D�t���?��R/���ǵ�(��k����eV��(������
�����>����H�/
�sV���
F}S�d���PY���(��1c6���L�dU�48H�
��:�̜��3M��'(�6���

��I�x��H��>>r���cL?P!��]��Z���E��10��G$�E��u�귯�^?�ɻ��)!��
 S7�����<�;�~���=�b>g݉�+���_N���8�@��.�1�i귷��Á���e^K�7�u]�>�0���D���}%�����

��}j
-endstream
-endobj
-542 0 obj <<
-/Type /Page
-/Contents 543 0 R
-/Resources 541 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 540 0 R ]
->> endobj
-540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-544 0 obj <<
-/D [542 0 R /XYZ 89 770.89 null]
->> endobj
-545 0 obj <<
-/D [542 0 R /XYZ 90 662.749 null]
->> endobj
-546 0 obj <<
-/D [542 0 R /XYZ 90 655.991 null]
->> endobj
-547 0 obj <<
-/D [542 0 R /XYZ 292.568 526.395 null]
->> endobj
-548 0 obj <<
-/D [542 0 R /XYZ 90 510.14 null]
->> endobj
-549 0 obj <<
-/D [542 0 R /XYZ 90 483.717 null]
->> endobj
-550 0 obj <<
-/D [542 0 R /XYZ 90 464.706 null]
->> endobj
-541 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-554 0 obj <<
-/Length 2585      
-/Filter /FlateDecode
->>
-stream
-x��ZK�۸�ϯ�-R�|:�ı+����9�[.��F��+|X����F���ۗ=L�ƇF|��⫷wy��&⫄%����W	_E~‚��Շ�`b�������l�����5��l�`��a�6"^�~��"��u����w{��;r�J߀E�*��>��W9
���L&�ꨉ���Ih�ջ���Q�������b&a$�� u?z
	���<�Y3?�aB��}Q�OE�>��<��'p�BN,YGv�=Q̸����X�m;�%΂
��v֏�V]Z���Ӎڋ `����VFhb�ڂ'� xV�-&+\��(�
�5c���)X����"!��yLB
-����p1bjG��g�4La��]x�nU�o�
-?�5
–���o��D��ҮH���{"l�47�]�
�>r�Ն�V�Lֹf���d�L�թ{�p��V�yQ?j+��'
lpq������Ir�H��
+U=
e�Y]�Y9�H&��&[w���)P��娋#��m��� 	}1)�\R�x(���a�K�
�է�cQ�����m�B�Ed�	�%$��
-c����jF���60�+O�
5�*
����5�%�I  j��*�th: w������rJ��x
;�e�*�x����R���f���Nn}�
��YQ|*�4���"�")�mf�%�7癏U{��6
-Y$�|7���O�u��
���84�0
�7��I�4+.�Am-J.�>l8;�
-��n� ��I_�۔�^U)쀌�޾v�؎��2�
�}�T7� �3�d��Ñm��'-h��&�
����)�\7;ey�Z�1q#-�H|ȱ=®��:'����f�V�]���A�Ń ����E��TZ� W�+�S�1�aPF��3��>���	�BY�-��1��3(�B��D�J�=��S�=�E�t����ĝ웱�@'fa��=
�6
_cJ��l��j:
�X�k*�D���
S�e���k0��

ْK@Y�%K1�
-8�R��"�$
�=�`\G�!��F脐: Cה
zG��\� �Ya�.�r�m���s���i��	��l�ۯ6[(�ֻQ�=��|��
0yv��u�b����u��V`�u,(�bo��F ��֌
��Bo��uE�X�6�	O�0�@��%��8�hPC��@�
��R��xa�S4��O�ڃ0�X�]��I�h*�Rj�cGX��
�E��p���`O-9t(���!�݁1�iS_>��	P>6
$�95)n�Ϥ�t���ǰEu��
���zyPX��$��-�G� ���ȅԈ�9
`>����`	�L
U�?��*�Һ��ʰn:G�i�s�pz�FUg��J
'�I§���

BJȥ�2����-��cq.�k�:;	�)8���ܴdSi�m�tål����\/8e.��'�������ׯL9�_�j:	���a��ؽ-=l5�Pbʾ"N:�[�Z�5
1������4
.��̦�
-���Y�N
G��)N�7�EE�&��XH��p9��^Vs�����+5b����޺9\3�e��7^葵�;e��Y��^�fW~��.
����'�]��"b�
sG��&]���=��C�c����O��Ml�8���h������	��.�������%�	-�-����?�h�
����Mwic$Lߴ1B�b'y z.J���`�tuB�R���D�?��z��(��צK
-��;�I��4W4Ҙ
-�/�`
-:��^W�Hҩa��:��3��ߏ��i�f�LKk���V�M��\0'A�W�\�Jz6XԝT���:����q�
_�����ȋ�K��
~�|��
��}_��m��o�W��nI~4O._@� dܔ�����6�M�.@��,6E;�+\�֑0u
���L�碰o.�3� ���)�5�ی�B���n�V����NSY�u��ۀ}F]�J������C�I�K�sy�_l���@
ʢ��
ToG獶�l?I��;���Bs����C�_>D Y*b��Ñ�P1�p�gXݦԔEU
���e�p;����2��Q<;DcN��8��؞a(жe��E��
,����?�'�N�*�'g/�t�a���qn�
ް{��8�ҷ]/�
����Q�$�-��t�m.��� .ڵZ�÷8�'�9�gͫ.^3�][,8O�x�;G��l��?��F,��Љ�0�����LT>�}͞���s��3V��&��1;}l)b�����\p<y��/�������=

o?<���#a��gz�XO6��yI.��?6Os�JƤ�ֵア/4�j
���
�nL#�
-I��L�V�c9���zd|f+_�����?T 
'�c"#&B^H�L�W�L�U1�?�ZG,��������N+���{��|Ci�u�_��-��^�{�soX�{��Dfpv��Y����
-(���M��D/n.�]x<���P�x��ջ��e�����rI(o����I,�dl~=�G, z{�&�?"P�]e���My:��3��,v]���۫�O� X���&�h_Z1���t��
B��&�0�n��B�������8�+�nkSA|������xdY�ƺh;V
m[><ݖr41�
ψX�������ԁ

-endstream
-endobj
-553 0 obj <<
-/Type /Page
-/Contents 554 0 R
-/Resources 552 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 551 0 R ]
->> endobj
-551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-555 0 obj <<
-/D [553 0 R /XYZ 89 770.89 null]
->> endobj
-556 0 obj <<
-/D [553 0 R /XYZ 90 598.436 null]
->> endobj
-557 0 obj <<
-/D [553 0 R /XYZ 90 492.877 null]
->> endobj
-558 0 obj <<
-/D [553 0 R /XYZ 90 447.094 null]
->> endobj
-552 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-562 0 obj <<
-/Length 3089      
-/Filter /FlateDecode
->>
-stream
-xڕZ[s۶~���ۡg*� x�[n�qO����tδ
%��ɒT]���7���8郇�X,���r��_���7/~L�U��I��6w�<X�Q��	���_�����O+�d��XC�7�7�778v�ns�煂�`�xy��jw����`��O���y�z�I�Uj�֫���^"I�J'�D*�|
�T)_)�0�is�
N:k2?J2#�hn�r�����]�
c_T�x;<cy
~
� ��;�9W~�i���2�(R~��Wv��Oe�+oפ�u�C?U�j
�㘗|[�X�i��-|�%ĵ�@7��s9���r
Ɓ7��ܪ��[4{n�M�82w(�E3V;��_87�h�*��xg
�f_튱�-&-N��Z�5h�?5��#��e]�U��>T���e��$љ�8S��P
 �
-����R^)�?z~$ �rp�Lk��_�̻?
K��E�0ԓ}�.�:��I�~h�}��sg[�e�0����>̝�MD,
|yoh����
4��ƆgD^�C���犇
���B���Ć�������_޾{��i��O������v7�6_>�ڼ�y�e�?�k�j?�bћ�����՛͇��؛w�o޽�<����>�K�@5)����O��s~
-�f
��)W��������W�ᅤ���k
)��	�@W�����S^Q-�1��2���s�� fY�������o�ߗ�a�]�E��)�J��#�G�ܰ��
r]��+.�F��6?�|y}����]� �FY�|%I�,M�*��'�5,`��BPC{���.�:�s��"�Wq��!��!��
~��
>�I	�����=�0~u�^בAڿ������ n�rXb0䁲���i�菅t�!�����E�x��,�"�w�Gġ���cW
��|8��P�Y�[����}9���,l�V�[ì=v'JG�rD՘
e�Е�� ���"��w�Fȗ�����8���[
<T��g@�&�vB�_�����x?��
R������J	h8j�.�B=Jr�G
� ���c����`U�:�
>�8��'7�a*�CcR2��It�x�h$�<r�O�^�	Ph(�GǛv ��t-$���H_P~�@ E��}�)*Xv�:���l���Wr�%�g`8Ѐ3kR ��j���A��aH 3�5�Fqx�-�G�� @���ӧ�ط���ձ��-��W����
-�3�vm/����k�QCp����}h
O��O<uXJ�*���&
��/�XQ����N59F�h��>m����B�>����c�U�5��4�y�
�Z��[78&.F��c�9
ѸΥ�F�f�m����ػ���h@�O�@��6%�En���	,%3�������Y�(�`�W�@԰G+��á�
��+sa��^��g�p� �i
�k���`n3.
k�A� ��5b,ː .�s�uI�f���i�!��`W����
-�I����ݵu����j���6��A�T0TK��USp
L9��k��b���
;�̔8x�08��WSk�����H{�[�9� ��
ϫ�1.%�D� �#��P�V�`8��yЭ���s��������\��.�M����
��@��
Q�"���p����	�}�AtNpD���Hx
���4g��dP�x*j��R]$	�`{�%X���T�	|2��J��ٵ'HKD�"��J<'f�~*s�r���Z
5���W�����Abj�&t};���e�e�,U�b��C�_�1��I�9p
NL}���8f�&�s��x�XX�i��4of����h"�S�B$
l�TD�ź78+x��
E.ݳ��U3��P�|w��K��k%/���)6=c�Î�Q0
�j����e���� �mm��[0#d�%�����!��JT�ʉN�P1�
-�`�
;�n���f�W%��Zޕ����� S�w��U�p�q
h�Y�JL����u�r�m��1��%$[��i�_e�@Q�荑�j��
�A���3rL';3
���DP_QA�s���UYc�[��Q�۬-����c���USpE���r����Ȼj`(�%��&�C�
f�
�:�>�
�Q����
-�܂�ì���Á x�L�=�<e�
 ���%T at n�]q"׉8�����P {C��8���3Lۖ	�%�B �Cry���Tj��y���Hd�L
 ����}���mw;�3݂�����3�l;�m�5���e�^h��T
9�3����@%��)�!�u^�oe.��	dD
�h8��!
�>�μ�V��Iu/B΋�A�1��*WA!D�~
:�g�0�����fϕ�"��w��, VA��Rj��bL�g��(�
��RD+��T�F
-m�u�G�(��:�+������E0t 
�O�
��@N�`�E�pႥ�<]J}0
��r�)���[�6���M.�~��C"���O��4�
���=b�i�
��%?TrZ~��� �l빢Iߨ��-�&�n�c���$��3'��N믭���
&���8tr<��
�cg��P��w{�����\qd�e��| q��A��U�ԩ���W-(��F�����d?!b'HPTu�7+��
?�	 $�=�ao�:ǣ�+r�.0�=�	�rõ
g���V�x��A��e���^�D:�͢�I�A
"CJ��2�"��Eord�\Mu�P]�Tf+|
ӑ+u��K�dLita[�:24O #��ِ���8�����{�і��E�,W
r%JS=�U�_�����l�f~�q8;
�0�#��� �?_2Ž}��	��4�啐�rk��jL)�m�\���NK��Q`�h��jxM��3X���v�NŪ��4�
��	b�v�f(�m��
-#?��&_? �6�������WϨ�S�H�ԉ�a��U�b���(-�	7��+>;,�a
�!�=a!L�����|50v�S3��A�����
m�~WJ��cܺ���
Ġ�D��
�����~ʍR?�3��J0�8v
������=]���9A��6֣���>24/��e)'����2���ڎ�Y���w����n�OM��~5�����Pu���&w�ǣc�������?7��>''�
-endstream
-endobj
-561 0 obj <<
-/Type /Page
-/Contents 562 0 R
-/Resources 560 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 559 0 R ]
->> endobj
-559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-563 0 obj <<
-/D [561 0 R /XYZ 89 770.89 null]
->> endobj
-564 0 obj <<
-/D [561 0 R /XYZ 90 592.528 null]
->> endobj
-10 0 obj <<
-/D [561 0 R /XYZ 90 587.309 null]
->> endobj
-565 0 obj <<
-/D [561 0 R /XYZ 267.92 413.626 null]
->> endobj
-14 0 obj <<
-/D [561 0 R /XYZ 90 395.066 null]
->> endobj
-566 0 obj <<
-/D [561 0 R /XYZ 376.313 340.935 null]
->> endobj
-567 0 obj <<
-/D [561 0 R /XYZ 90 322.374 null]
->> endobj
-568 0 obj <<
-/D [561 0 R /XYZ 234.018 210.46 null]
->> endobj
-569 0 obj <<
-/D [561 0 R /XYZ 90 191.9 null]
->> endobj
-560 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-575 0 obj <<
-/Length 4014      
-/Filter /FlateDecode
->>
-stream
-x��˲��q�»�T]�j�	�R@H �K� �5��d�����׌$[�r�
-�J�������(�
7���O�<��L����0ݼ9l�`���OR蕛<�G�[���c�x�K��2���:C�
�ax_4�9���^
��ӏ?���ço
~}P�O�Q�7�u�ٟ~�)ؔ0��M�Gy���y�|���ÿ
�9�I:#Q�����J�J1���4�{�{׮�\L�?n� �>{T��v<56}ulLɽ
-��Y$�
�
-�̐��w��P��A��Η�O��3 c�/ԙ�5O����
 ��T��s
�2�ҙ
-�`����2—�Y
o"?Ur)W�Zp%��8�lgPr�s�L�
��[<�i*�
L?�
-?	��X�'	�/͏A2�����$*�`��u��2Y��cP=?�ʢM
W1ܸr�`�M�D/ϙ�
3
-��$X����t�;H�4��<�P��~+��e�a�p,����>Z!G���֒
��	B�LgAAp��,Ț��^d��ו�DPfP��c?
9�}�r��O'�D�zj�1�?"��M}�ñT�++���:Շ�\�y�53͇�L�q�	Z��(_��v�@�6���{�C�p�����\����>dK}�W�� Jo�^�� �|0e��N4���@g�-v��p0�Hu��Q�
IuXcO��b��0�M`��jz���!��YN���pu���.E>
���+˔��M9�w����"t������uݘ� ��x��
S�!N�րmёݫ��]����ڠ�&����X����(C�]�"�nV/6L0fn��Db
xgS4����x�

4:ӏ�����f�������<vL96��o��b	�:�9j1X����
�/�*�[
-k����z>m�Hyo�
��U�22�f�7��0��
Z�^�n���~��-�@���5�p
-Y}��1�l��5�a�T�ݚ�b�^	9r���8�Ԝ�=_���3#IP��g�T�b��;���x�vߞ
�*�
����	�U��s�����Ү
:��y@흩�m����H(���m9ʚ���#�B��G�����_
��#�ۃ��"p�}N�cw\A,_�MqL�� �U��
h�AhAְ7��v�����)����`1 0��˸�
S3��/��d!�[9 ���jW���Y] ��
[��2��
�"L��;�`
��h�\4����5�� �`#�j��@���#��g�*���1o�ӜKc��N
�9��C�
-k�8_�
8S�w�'
aD|c�t��O!��Y[󣅝��'n�h]4DZ8Yn�!^�>��ˈ��r��̡���A6]�# �
��N�XIY!)�KY����	5D��
{i��K��E��H��j/��D6�U��K��7�`q (Y�@zL�
��3=�7}zR?3
k<�j��+*Q�/
��%&�s�,�^�/ƪ(E�Į��CH.���9�פ����
-�V�|� �	� K��0@"F3D8���3�g���Fo@=�|��%�$
�+���y"S����]�j\��,�{YK�� }"�
��H�mJ'��ɹڒL�Q����K��jǶ#D?�
-����(5�o?��@�?<}�J
�/N�q��)��+�����}E����R셬�:�d�6_!���//t�J�
rL47
-#�-	��,h�SS+�m�t�v�a8\f��xi����8.��,�^�r��^�V�K�V~�~�;Tk�3 ���]5��լb��E�.#�Kp`5Y�0|��nڛ½�M�L]�L�f$�v��s�����7�
�6�_z�yd����K>�႐8}��&޲q
�%�ɯ�y@�=FS�j�3P���n��{k��X�p
-[����u~�M��\F���z3�
,���I��Jb��|JlBI\�w�L���U�R��z�,��j M|n6	v�w��k4]ʚjd��]R� ����r�߂w5�<�3H�2�;-G�J���n'�?_���Z�h�R�X�cJ���
?�~$��r���A��!��b!q�}��<Y-Er*H<�	�xyGjU�3,�Mp��1��N�,�#�uk�(� ����L�s��O'�G���b�H
M"yt��
���ݲ

a��KD��zD���+���>�
�i��4b4"Vy����
m
K���{^M�zD��,t��<͑,<��
!
���Cp����ص��P��'�3�=���ć0��M~S�&�m9�� �5/����9	\+��

-���!b�{�M_��Id俎��E1
"0���?�}�4
VQ�.H˲������D��*NRa�j�[.WCA��_0�¼b�V����/n\��0��dQ	�
-~�1�"an�^hq�ϻ1pW
O���$�(1%��رJ^� ah�
[��
�m�9��:	D]�eS�Q�תtT�F��3�=
���**�#� �rz,,m�a]��92�@�~�.
��OU-��Q��1��AS�V@�iXA�)QXOZ=r�
�n�x��Бb>Q�x8��<��R�Ax�Uh���:R�q/��X�X	���ط���j��{�Jp���{^���
�m
-2\4�ĭ�bY���/����7�͹#mKJ:�q#��6��m�e��y��-OM�NC=_��(�F�Ka�,7GHtT
O6�0v`
Wn�l�
���<W�3O%�41�I��D@[��~ $)��&\�H�K�)�jۑ��-\馦��N�g h%��rA�z�,$벒(�}�ɺ�����p���鹽o�;��Y��OC��9�
�o����G�]	X���� é3{�
w(�Rm
���:*���P5��/
[���:
�y�m�	�Y��"�-�
�Y\�C���NJj�^�
-	��������}�:
� x��C�̋y����
-r)\\�e�;w�d�Ǎ�rٮ���
a�M���}[���$�l���
�
g�B;�5�ف����z��4���?=0o�>��ݮ�S�Wz!��Ҋ��bH����q����&YJ��E�vK=�Y��d=�.t�t����+C &�[lNd��qL��`�~��!Ī�V�_�HC�8]�M������8�ӑ�G���
��KR�SŁJ$8oZ��]�����]F'���Qf=1YO��l
a�j�ؠ#�L�6۲��W;T�Q��l�g��L�6gcG�z�1�k��,v���B
����Iu"y�l�����ϲ��y��0�78"UH��C{�������: b>�&��������1��a�m��s"�]I�":�B?�v��C�sۮ���
�9lC0)-(q$0>��y^�3��kk������j�~yx=U��BNFv�?B�"�8�VV��Gt���T��>s�0�< ��q�[F/���V"
�ʃK�yj8���ښ�K�X�W��	"{B��E��,�U�_�R)}S8��K�-�{�b�+JIo����mkc��fj� [...]
!ļ��3��g��Z��I�q��
�
��eD�x���0Γ��8YeΒ>����!�B͵g'��H�qϐ��#篣d�>�QW���Yu茙_l�]{y��Cמo�,3d�.83U]ւ�Cţt�ڇ/Q�:��l>�>#��G�������mWb�nȾF��J
-�\�v�\A?\� ��m���8�|1XU��,��~f
���������"�d�s�X/J�j	c�1
ek$�i��*x�j����4��:>�{v�,w��y
��_�n�OR�z�����>հ E��$��9��
%�ݹ�n[?�L�I�+'����7��EA��H�ڜ���D
|�����'c�'�ec[_>P�~�Weڏ�
�i.�~}�^�}�Mu��jx}�ԯ�_�gXT�k��`m�6���*������
-endstream
-endobj
-574 0 obj <<
-/Type /Page
-/Contents 575 0 R
-/Resources 573 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 570 0 R 572 0 R ]
->> endobj
-570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.728 420.416 314.05 431.32]
-/A << /S /GoTo /D (main_SK07) >>
->> endobj
-572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-576 0 obj <<
-/D [574 0 R /XYZ 89 770.89 null]
->> endobj
-579 0 obj <<
-/D [574 0 R /XYZ 90 483.336 null]
->> endobj
-580 0 obj <<
-/D [574 0 R /XYZ 90 475.71 null]
->> endobj
-573 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F8 537 0 R /F10 504 0 R /F7 538 0 R /F23 364 0 R /F1 577 0 R /F13 578 0 R /F79 502 0 R /F72 400 0 R /F31 503 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-589 0 obj <<
-/Length 3864      
-/Filter /FlateDecode
->>
-stream
-x��[Yw��~ׯ�[�Ss<
f�s���'��&��MO
?@$$�& M���w 3��d��A�b��|w�
<������\]<�N�I�RA���f��LR��[N�M����&"��w�͗y}��뫷��ŷW�]x�'ľΑT�����{<Y��&�TM��h3I(������_/��.F+!b����ٜa2�n�/���|c���9Λm�(���>��ٮ�-A�*{��<�v�eGeo�3§��:��eQfu�
cl�)f�O?���M��-q���u���B��F\�EU6�D�
+�d�J9�ۺZ�˔��7?ڋm]�Y>˼�w�m^gmU��7Um/���MU���i�M�
#+���I���/&�
]�o�,zWz�f����([7پhW����9�7
���w�eY
��3Zy�ֆ�J$h��Q�D�m�Ey��
[t�
-#l��l$A�;О��)5,iܭn�:k����������E�]t�(݀Y���Q.�5��t��_�e'���س餘��ױ�2r]��k'�^
����0�ب��M&f	J��������L��
��)�L�w}�ʗ0�-�3�&`���'�q�;��ɴɍ�����o
sK��'�n�l�M�l6O�����
(x�/-��]7�p]\�Y}7|�^-�
-��k�e�f���B%���F�:�����G�G�$�]W�vdM��W�iY�udZ��n�ݺ����wVyo�y~���}��?_az�~l0�μ���C�
���_T�~_���E��X��}ԼG�C+&E	�b"�T���
�cn����2��- h� �M=#jjL�9���̔6�9�
-�XV���Z�̻�x�rpS�u.�gKA�D�T2�)$�<>aH�ed	%)�mTZ��`�t$A4I��b#q>�=�/��v:Ui��cMka0R��f
�U���k5.�����iB��p��O]�u�	�U�$
1e�_/Ђ$b���J;�����y�aMRK��j�o�.B�LCW�V�խ�y��8�M��T:�&
�O�[rX:W�~ZS�}7�Ҡ2�cucioF��R�<f�� {a�r�A�S��?De*��xDnc=Z����bј�!NzV�B��B .{
-#�,n,�
-UO
-����Tz[
��`�BN_�ad��YF�0JT�ࠂ8�
�\os$2J���G�g��pDYϔ��N��i �"2�@����:�)n� Y�t�:��
� #io��V#:X�Ve^ꨄQ�0�|"��q�Z�6�'�C,��iH��#�P�;�K�45����`�h0y��q]KD�s�
�#�K���Z����J)?�J�Q*GJ�N�ذ�`��
��UD���	h��/h�,%��8ҹ�?��I�)�Zu�R�S�*��q���#��f�Q:}
t�S�&��p�Ϭ�I(F
�a
�:_:�>����:/�rC���ff
-)��
���*�Q�G������m����v�{�V���y]i7���ז贑+�fc#�NABN?q(�4���@�
-����j��v׹��b�K�J��:�~X��q$��F���
�����p�Fh7a����
z?�s�R�6�d	�,����
�l�0i��v�Ʈ��1\:s������Q��o�X+���Ks4�qH� _)��b�
M����n'���l�B3	;c!�/$��t���C����g#rHk�f[5��l��b|��	A:�=�u��N"�;��D�Z��
IN���@��+�Y��g	�YJln
���u �0Frl��Ӵ����l9��c�� 6P|&<�YG"����*�;�Z�s����#O�G!.�(��G���ԕy�ځK�8vIVd%�n�'D�@��I��nB�@�UD�=�}$�
D�,�N5 )K8��XJ�`1�����%S0&W��GdE@�P�"0^ 2�Ԑ�^FcV )d�egR�$�-�!F��#�ǍB��"�qs��i'�sǭ!u4����f �^���$Ep��D��1�H#�&M~D��H̉���Q���W���91�7�/t)�+��61��!Cbc�'��?D*#w�,tu��\��ɇ� ��dE�"ni
���Ls	 [...]
-��?�6�m��u��4��h�����1��
)�',��$L�t�]���
�@<Ï
�F5��b˦�
^�
%p�È�cQ1��uQ�]���^!/�6�96мo*�ES1���S�O�c
1>�M!��S�:�
�y�N\�$�A�p�9Oo�. �]��+���=�
�����>l��s5�h
Ԡ��]WEц9c7�� ��X:]��r����y�
�|�Zvŭa(&^F1�3�c�I�L%�!��a�n�6�@ݞ
�ƚuǥu�te��z/uFCcK�O����g��q�#�E��#�V
-���,Ŧ|e��<���6/���O�P�|�y��"�+��4��=�|�X5�@��NERG�>���}T H�& *;��BĈ� 0���G���!�e<��2��h�ɇ3${p �1������9,0
u��qBߩ��N�����n� z�Pفt5�sf�	k�2��@���E ��(ڋ��)��� ��w�/B;���6�p�
vI�:���CH���k{j����qnl�`�����
�t��f�Fѷdg"lA�;8{��b4?遈���cʋ���䏖!?
�Ʉ
Fz�h������
	r͢;��;��]k{�,l'Lg��=�C��1I��d=
�dwzd�N�z��V
��$4B��Ʀ5�
��=��1��M�
��Q:=�uzh7`����
qn/����Q�<�n�0�d��\�sɳ8Wso��A��&����c$�Ư��$�l�A7|E�ĀP���YV�Eq.�`zXaO�C���nI�]��]�w�/�no%Ǫ����>���쩄Ge{�h�Ka\�D���gI�
�a����މ�kǶ\�ꓽ�u����ز�P��ӡ�(X�>,������{.$�Cۊ�)��Z4��n���_�jv�n?���=�(���#Ow��

-�A�'�B�l
#<t���'uO�}zP�m�vQOg�p1�zR���L+�i����L2 �<wq?u�V��=�  
-?D�� ��)�٧8 
Z�:����J�E��>[6�$�a�I�g���hH
�›h�w�uy�K< ��
���l�6�zo�N#���b>�����3��;�!�x
-�Q�tL�:E��1h`�^Xr`M��2�h7`�40�ǵ��!y�V�rr
�9�
�3A��|p�ٹŧg��$<���;��x����	9DjN��8������gǗ)łH�t5b�5��j���}&4<"�q� 0�T�f:��-0Ð׮��R��u��:M,Z��}c�����&�=���=Zõ%�O�K!&�|����&��!� �`<<"�2Atpse,
��d&p
�Sb8Ȑ�-!o�0C|o!dL>,�
���?�;��~%��:�Ȃ=�X��q@�2v�!�X�"s���}1s��)�m
-쾟�v��z��@
�K ��x��z�$�&ԏ�[5��oM^1�
��>r*w]O�FM+ĺ�?AӟD j?5��m���އIw�g��.��@߇��U�n_<���ѢA���֨h�o�����[�IY?H�y��U���܁�1R}�
-endstream
-endobj
-588 0 obj <<
-/Type /Page
-/Contents 589 0 R
-/Resources 587 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 539 0 R
-/Annots [ 571 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R ]
->> endobj
-571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.144 696.002 490.683 706.906]
-/A << /S /GoTo /D (main_Dropping_Non_Integer_Points) >>
->> endobj
-582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.353 596.199 378.495 606.545]
-/A << /S /GoTo /D (main_BRZH02b) >>
->> endobj
-583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.484 596.199 415.576 606.545]
-/A << /S /GoTo /D (main_Fuk98) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.565 596.199 453.752 606.545]
-/A << /S /GoTo /D (main_NW88) >>
->> endobj
-585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.618 596.199 506.753 606.545]
-/A << /S /GoTo /D (main_Wil93) >>
->> endobj
-586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-590 0 obj <<
-/D [588 0 R /XYZ 89 770.89 null]
->> endobj
-505 0 obj <<
-/D [588 0 R /XYZ 258.486 669.575 null]
->> endobj
-18 0 obj <<
-/D [588 0 R /XYZ 90 652.607 null]
->> endobj
-591 0 obj <<
-/D [588 0 R /XYZ 508.248 598.794 null]
->> endobj
-592 0 obj <<
-/D [588 0 R /XYZ 90 582.384 null]
->> endobj
-596 0 obj <<
-/D [588 0 R /XYZ 506.258 396.102 null]
->> endobj
-597 0 obj <<
-/D [588 0 R /XYZ 90 378.8 null]
->> endobj
-598 0 obj <<
-/D [588 0 R /XYZ 155.86 199.765 null]
->> endobj
-599 0 obj <<
-/D [588 0 R /XYZ 90 182.796 null]
->> endobj
-587 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F6 593 0 R /F23 364 0 R /F8 537 0 R /F86 594 0 R /F7 538 0 R /F13 578 0 R /F83 595 0 R /F79 502 0 R /F1 577 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-608 0 obj <<
-/Length 3562      
-/Filter /FlateDecode
->>
-stream
-x��[�sܶ�_qo��>@8�vlO�4M=��L�<P'J��#/$ϲ��� 	�p:Iq��@�/��v������;{�������
1��Շ���+�"��\��0"�׌R��/v�9˒�+�>�˦���\Ҥ���7M}����9�I����;�0���).�
��f21�~����~?c@]1��$:[m�g��JW���Êa���0h�J��g����?g��@���,��)j�E$M{Y�e}��x���۽�ȃ�w�}S؎��m��7վ�퀶�)<ß�8�'�v��͟�Ͽ�#�C�9��
��(�7"�/�|� c���i�B�|SD���T��#])b��p�&�ȕ �9��r41�j�
����[�S����Dn���ۢ�u�9�����\�Eb�:�yU]oY6���g�Ey}=�.�b
���_�����ob2��������,�I
-��ú����T
���r\�Ml9&�N�'	Z�7���UɇQf��Q�GT�Sb�IիA���koT�4�W]c[�⥵���E�*t�Z_f)Qjھ.?-�����!ai:
�lS���$�V�Dq��?k�`��-��t
E��Ŷ
��6cX��t�2�I�L͸(� 4& ���YZ����?��?�#�j@�"=m�郸��r�l��Xg4M��|

�<��(ؘ9�(�͆�i�-�и€u����i��ۦ/_��<#�%@̆)�L�s����USU
��[�P�'D�[�*l�ɾ��^����c˫;���mN����v�����6/똧T@�P\��
�
]4.=DZ$f����R�&?���;�.��F	��C�Q������M���������{k��1<��e�a&c�{W�^O:��6�����?��ť}u[B<Z6
-A�˷c
%��R���o-��iw@�8Q�

�CO��L
�G�����%�H���Bp�M4��і8H`S5�@9����M�B�(�;�G���᯳��wS ���u�.o�'���&�-4|Q��Q0�6@�񠱽Vb��1����v��vŸX��a���l��0��y�Z��g�
˗ ��������*���
����
��T��Ua��O�1�����>
�&�ZD#��Ñ�wc�1ݠm~g���ߒ�m�b|�޹n�s����-q� ڙ$�ԃ��1�o�ڮ|1��bV��/\���8��8=������! 
�\��(��;���,jEoEY򪳣s�h���h�V���b�=YR���f��Q�s����^
[M=lC4�f�̢����G��֟ac��Q[vg���!���Ȳ����f_]ھ}7Ns�ݰ�[��x�����,���[Ȱᄧ�
"G�� FAңCY9:�n��Ĭ�G���WP��/�5@�q�"Eon�mz���EQh,�]��v��&k����7�}�op�9ӲP)��a5 +`
-D6��)I]"����ԇ	��@�fxJ���<�
8t�/������m=Dm�Z
E
����?	9�IC�
X.�4")�&t"~�2hfT�E $B��|�'f��)�11A��"vL<��E&�V��e��)�e�רd4�e��77#Sy�"Bؚ)@ʐ�C
���zf
��^f�
-�Q=�̨
���J5��yܗ���!N���剔0&�a�`
�1b��@r::L	Sea��Hg����q
�S�]9�i�X�?&��ɋd��~�0-�2i?E�6�={�
��L�¸�r�����Z����(
Mb�)/gIL�
|����7�ԔN^�Cه
��Θg�7�YcY`\���C�QD�
Kgz%�X`�/"�CI$x
-�Ӝ%�ra�w؞õb�>��-WN9�KKI8�~-�~�h��M�g662r�"2����\�?��{<(�)��J��s z�@���)�ă/��so�61�
�;gו��a���DkjL�pE��[Li:ہ	�Pi�6b!�@�{�E�~�eI��k�SJ*���Kۢoˍ[j�->�1�@
bГ
-	sJ|�%cZ=���j�䘝8,~�"K hC��M�
-���m��}��s�OA;�\�%��e�
� 
�o����*�����I��uTi�
�F�V���7�u�� ����X��cQ"�����ݖZ������)��7$RN�2�Z�U�(IE�,ފ�h
�Q_��J.�[�㙇I�"H��Ch`^�i�r��<y��adF�2�I �n�L��)���M%]SAz��:8
��g�SK
�����m�8e�R��$�"IA�Ps������Բh��DFL�(�����`xr ~𵳞�GBs��sq��n��k6�
}�5��J)��X�EE�0�}| �륗��a�fDA�Z{�^F�0>��U�ڐN��t��Y��A���B�Ʉ^
��AlόY�e�
C[�CB
�/#�
j���!-K�.������]�74�`:�֎ktF����E�Y�����#�c��:̉h:��\G )�ܣ0X�T!
�Ŝq�J���&��Y��DF2>��2B�&��k��T%1���ܟ=��,�
_��O� &p�`�Uױ��,V� ��t 
_�� q�j]�
6
=�8y���A&�tP��5������D
- Ȕ���)��
�/7�ű�v�xr�3<
-O�l��/��1q˯#n�Tq�Y"Q�"<y��:���7+Hf&ʶ��&#:�	Q_��	´|�w�O�PD��a�q�z��#��T�2�FA�A��mO�17Dc5!���E�l�L�S�yy���s�~�L��f���NLr��})�|���)E�^��_`���~_U������e��ڤ!����S$R ��j�B�)`
-~�
\��C����S�ӑ��!
8���!
���!XKɼ����3v|��3^4R�0l
-�aB$��"�
8l
'���Ea⣥H�Şn�$CY��6y��]�TR�e�R��
3���ʡs^.�
����^�<
T�p�>z����S�T��
�<;4��а�R V��>�7�^yyX�up�B��u 7
-��JxrA� 3:H�|��N��TB�Zq�����~i	�����,���RŦ���6�b����
kM��J�TD��cW��7��\��s
���m�1TĄ�
`V�p�\��.5�0~�N��ʱ��^Q�6�\1�k�-.ďV���ػݱ��X�
\���
����� i�

��=H�`e���&��-��aOϦ���ϟg�����u>���|'�yAH6���I�sx���u�,J�S��������p�덕�

˲0�,m���>e�u�95�+< �n�:*��Y�Ǎ0�W!2�S���=���<T���q����;�d�
`q�j��-,��t�d��q'rVp��tg|W՝}��s
�ڻCLtz3�_ �|�FU���?}H��x�?}���1k
-�H5�W�(>����P�o�.^���ǃ&?�m޺���]���\��q��ޏ7��g[��b5�F8z�1<M7-g���ֿ�1��;��I�M��^<~{{K6
���%e�|����)����T��z[�o���tn�B_�����
-endstream
-endobj
-607 0 obj <<
-/Type /Page
-/Contents 608 0 R
-/Resources 606 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 604 0 R 605 0 R ]
->> endobj
-604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.096 587.457 457.668 598.361]
-/A << /S /GoTo /D (main_Topologies_and_Topological_compatibility) >>
->> endobj
-605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-609 0 obj <<
-/D [607 0 R /XYZ 89 770.89 null]
->> endobj
-610 0 obj <<
-/D [607 0 R /XYZ 90 530.609 null]
->> endobj
-611 0 obj <<
-/D [607 0 R /XYZ 90 525.97 null]
->> endobj
-612 0 obj <<
-/D [607 0 R /XYZ 282.028 442.218 null]
->> endobj
-22 0 obj <<
-/D [607 0 R /XYZ 90 425.4 null]
->> endobj
-613 0 obj <<
-/D [607 0 R /XYZ 325.434 371.617 null]
->> endobj
-614 0 obj <<
-/D [607 0 R /XYZ 90 354.798 null]
->> endobj
-616 0 obj <<
-/D [607 0 R /XYZ 481.318 214.871 null]
->> endobj
-617 0 obj <<
-/D [607 0 R /XYZ 90 198.053 null]
->> endobj
-606 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F10 504 0 R /F79 502 0 R /F23 364 0 R /F11 442 0 R /F6 593 0 R /F1 577 0 R /F86 594 0 R /F8 537 0 R /F7 538 0 R /F9 615 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-623 0 obj <<
-/Length 4150      
-/Filter /FlateDecode
->>
-stream
-x��\[s�6~ϯ�[�i��~i���ʹ�v�l6�N�>�6s+S^���� �r��)�xpp.߹@x�v�W�?���'�)�2�H*W�oV�7HH��b�˚��N\1�1���>�׋�o_����
}{���<�+�/�ҫ�G���Wp��F��խt���u�z��ߏpJ��RA��w�|��<�P&�e����;Kœ�t�U!�$��v[�e��Q0[
F9b��þڟ�"%U������v�+87F�~���ɀ&���0	�CFk��R���M�^����jy����
Mf>����j�Y���;�_1�u���!��_va�_��?��]�$��
�ӟR2G�sc��u�N
պ-;g��_��v4D&z��0X!��
7B�	��
-��޵UW�P�"b]���{�W�i�߲
�8
��ݳ���.�jW���#��2���5aDUgͅB�	#'��p��R�7�����?{�����K E���l���g~4Αv
"�P��є$��*��F1m(��k
�Tg�%��ٛd0�a���,���2�t\�>�<� ��d& ��پ�ºx4�_瘙�����pN��1"zó^F
-0B�N�u��Q��9�qH#�����x��V�>8M��Wf�ɾ��%�_���t4]�o�t�y��5�9���^D#<io�/���e��3����#2�!�&�l������LeՇ��A��F���3�+$� �ov����]��#S�R[�.C�t .C�H�H�Y=�LM4yD��d�z\հ�+��)���p�-����]�5ᓵ!����Z���J��ek�j#ټLk/
�
�a!���z[�Y2�Q�+[�;�Ϛݶ�O�����
7��e�j	��)�~�
|/J��R0�%Lao� ���7F
�f��x�^��F���c�Q��<�0=�@�2�z�
���{
��aȀ�D��ɷF""�gy��Ac��)dx��D�%��C#
�bC��X�@�⁄2�+JO���V
-�>!� R$�xPÂ�A��ɮ���r)�NMl�>�|K�,��s�Z�R��UFk6L�	�o蹑?t�������Y鯻��l�[��w�&� �Q�4 �h��/�gB��;�uq^f����S�Q�
��_~����n�{[�;|��c�k{9�@��
�B�1���9�Q��!7�p/�a�cR��sQ����s~�Ol�`Ȑ*�/2*/0�/��xT�����@~�Q��w��a�DD�� ���1B��k;��o���!q�7��́���s�[mfئF�d�c�*��D���l�>R1���;��N��]Cx��x{Y^4��x�ק���q�ig�������+��f
��F�A��Pg?���'1�ΰ
6T
�C���B�Ehы�թ^�� 1f�zƆ͸������}�6E��,��H��	S��b��Ĺ��l=�F�:����cb�l^��,۽vfX��R�z-��)���bq��Y��� rUȬV]����'$��M
{4�7M9
��0�B�� 1E\
-�XA"F/XO=8�&���?X��{�k)�i�v�S� �d��AI��“\�fӸS
ʀ���I�	�'=�����Y��%"�A�]NR���ԯb�O��^T
liH��ke�x���
P��;���3�"���,X"K4%�c,��Nf�I�u��F|�DL�Ir\�`r�m�P��`��l�"Z��d��mבi�bwȣ�^�q��&W`S�$��ӫ�(m��YjsԱT?����	3�|�q���B�5$rőфE��¡/�j)�N�о3
�?�3�fVn�B����<��p�6jϋ+g�z�v�e��$5�m6��\�Y�1Ii��db�y���νh�+E��!r�r�s$;����W�W�w�og=����W��P�c|?���9n0��J�#p�Y��
p����� �F��
��B���(����ڻ
d� w$I��=�KU�Gxd=c��yQ׻���T_ƹn��'6�d��[sy�	��txR/��3��Q��
�zn�:��x]T��G��mW��]x�
�Q嶖bܨ���m8�V���M?��"
�G��|�N'7Y��<(�R�V�S!��9Kf�3rC	���
/3�'�ʰ�Y����E\�k���:d�
l��A���҅��
���h�g'Zp��
w��
-�v���R��r:o��ː�'Ȑ���PƎ�
-��Q�X��W��)B�ϒA3L����F�y[�xot;2F�z���c_雋1`�)�9�cM��q��l�SwA�#�'Y`츄��F��Ҥ�q�U��� ��D�=R���
�72]���8���6�a
�`Nҷ}&�pg\��$���z\;�b|[�=�wE������tO�6T�F<fXo&`5��޼)��~�o�݅��K����@s8��`�J1p�[
��9l����mu���[NHmq����Oz��l7���˺l�������;�8�����H�&�
���
-$�4� 	"�Xy 1�a�M�	\m���	�6�u��d�p���^C"$
kK�B�\�1�?ij��R��lD�F�C��ek�:��_e=��d2Y�O
�V�'��8p����I�j��7m�{'� *��g3mJ1�{��p�OC���6�t7��23���R�z��Ԥ�Iߥ�x̔�G�0�����F���J�J��T�ڢ���PI� FP���'k

���tQ{�v�U�Ӏ�c��f�u�
�B��ƕu;ؽ"W0�PF\��&d$��\��8%6r�� B]m䃔C��2�{-<`��> f��<��r�9���#q��
�
ןUIy���i��ު$��mh�
�����.dW��6v$!�K����c��W�Tտ[��Y�q��^}q"ĺ77W!��-"�&��C�v��S5iZ��:e:j��ye��\��ĎF���u(�M#4��	���ˉ�?rq�
^��߈�}�{p�ѧ3J�O��]|�9�N
K�
G�t��O s�!��J���Cۮ$�x��$_��$��Y��Ž�.V��
����'N`�Zף�Y�dx�f�2�S@��+�M�

�|x-nc�����w��YX�#f�}(��
qr&d�cJ�� �O�U}^����/
�
�M�K���y`y/�
��o��q��c�`z�����٢�����W
n2����a+��˛v.�RU۷•1$o�2
�ތ\��C�b%��L����� ��X��zZ��D�
����*���1���F�x�����2sDo�Tb�>sD��s�����q���=� ����k�&��is��[�f�
��13��C��1�)`�dT�p��ח8����R�9C"W�$�C$N�p	]�}��2�l�����U��E�j��Mk�k|��Y#BC���@��ǹ��:wh����Ns��F�sŶ��ݼ��	�UUu�L>)FV��]�)���;�o,�@�0�I׈l*�@2�@Q 1���q+�
�g
t'��6 cۺ#&��� [...]
-��%�

-�b�bD�q��Cx	V
� a��/�!�� �-f�x��	��C�Uu�������tx�e�}�qG��~}c=���_��
���r��!��& �$}�����w��K�["|����ѷ�rؚ�k���s��n�
;q�o7KQ�P
�ؕ�Y3GWc��W
��b�M!�l�/(u}�Y�G��L���/魴�O��/i�xo�G|l�q�o���x�-��
O���C��V�&e!���������9
&0�6�%��i��-xL��ȌT/�
I;��>݀@���
u(B�]i��*�0q ~��  �q(���ŗY.&\�h��"�X\�GȢ8���H.�1]2m(�O���P"��IX��L�7j�7Ǵ&)��"b�3����B?w��eO�.�$p����é�`��x�`�k�	����1�z!�7>;��l�X1
�O��֡�)�:�TQĨ�_����:�Q,�'ٱ?���V�G�!:n)b���SX6?�\�H�e�������C���e�&�*����ո �Z�j7 [...]
-���]w�Փ'����E7uuݠ�{r}�}2��t��c 7to_���E��	[��ۄ���'/
-endstream
-endobj
-622 0 obj <<
-/Type /Page
-/Contents 623 0 R
-/Resources 621 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 620 0 R ]
->> endobj
-620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-624 0 obj <<
-/D [622 0 R /XYZ 89 770.89 null]
->> endobj
-625 0 obj <<
-/D [622 0 R /XYZ 480.615 598.542 null]
->> endobj
-626 0 obj <<
-/D [622 0 R /XYZ 90 577.522 null]
->> endobj
-627 0 obj <<
-/D [622 0 R /XYZ 213.944 352.427 null]
->> endobj
-628 0 obj <<
-/D [622 0 R /XYZ 90 331.741 null]
->> endobj
-629 0 obj <<
-/D [622 0 R /XYZ 252.896 77.486 null]
->> endobj
-621 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F8 537 0 R /F11 442 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F86 594 0 R /F79 502 0 R /F83 595 0 R /F6 593 0 R /F7 538 0 R /F1 577 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-633 0 obj <<
-/Length 3300      
-/Filter /FlateDecode
->>
-stream
-xڽZK���ϯ�-��>@�rHfcW��k�]�^(	3b�"e��x��ӍH��4cW��M�����
��㊯����Ǜ��2��Y��t��a��U�,I�i��1,�]
�y�9��BG�3u_�eSw�k��y������y�˭������J ���f�Х�H"!n�����}���F |%h݄ez�=���_��+�T�WO�谊���j���_7���`B
;��MY���?fG�-m	8��*I���j-c�N"�w�h
�}[�u�QG����@�����%2�ƾ~���fJMK5���=5�N� ��U򌥙򓼿]�LE��%gB�#��|��<S)RƵ^�����3�k�
-�J/���Q�o�c��,�O8��|
��9_)V���,h��M~l��q"�N�����\8
�x���,J��u,R��d"X�v� %���
�6���QI�� f���X �5ʡ-

@fU�VϷi��3�ڲ�gѣ�M[�V���v
-Їd���D�C
-P�xP�?�*i
}�	w�*�H�
Y�%�]�E�ݮ�ȵA3����@�Z,��� ˈ�L�|j0�3�+L����!��X������%��_4Ь,;3�|0��L~�`��T��`�JK���&�������{0z�5��V����`��e�SA��Ba�e��8K�>	5W�P�T8���� N��
-�@�b��(^��z��*��E'�H���d�A��' c�������~.�/L���}>�hx��͘
�cz>�Ăf��r���Y�Eh�
��x�W�'��\
�t��ީ=����� �(�;tg�ع�~�R.��D
��۸�7
3$���	�TBD,� ��[
Xi,�q��1��|��/��D�\�
 
��.q���k��֋z�4
H*Kg�aƴV�������R�0��k Z��qp�p��洩
a���۶���+�o������8���qV���
g�%��o1��C�;��A��v����~�fA!���!
-``,�Br4�l�h� �_&
��V�1�䚻�@�g��i7M�'䧀[�L� u

La�0h�<L+��
�!��`�;���.8~�q,ʖ&�P����;Ƅ	<�!I�*@lKʯ����	�K�ra�8<���C �
���G�\/������y�*�
L�o�`� ��JɄ�/�o�T��z��cN���f�g���T��3�<2��p�8��n
�� 
h�/�c�(EӚ��Ѵ�;U6w��nO3[���
"�{,q�&�i��
�}.��z��R�1�~�g3�{�h��ѯLr��i�~@,���J���SO����o�
-Q"8��o���I|"UA�a��i�DL�����

/�����
H�$Ap��ٝ�]� \p78��
saR�҂��þ��M����s�w��
\р�?�"���63�͑ZeM$VN��p��a:!-��CQ�`�m�v���vq`�t����� |���'����l�Sg\��

%A�j6��
�������Mۑ�.{�>�[�OU�_/Z7�uG�3.�z*��{�H�?��Rܔ
;2h�8���P�g�Tl�����!d	2!�x *R[�8�:���P1ze|��:�;bX��
Ql̰�
���amɣ��;�'�il9���T�;�J�E��	v�;
pG�p���\¹6U�XW>�K����h� �MY���h�9h��9����=�8�M�
QNR
'B%�wP慒� ,�����AT
�|��6[�uE[V�Ա����<;�uzn�Ǻi]��
z��{��-<��!�b�'�	�g�
��;˲wB�C�������Zu(gr�!G����� ����8��,�#�۴Y��ܲ*>X��@J��U׸V at c�*�`�
B�<����I,� �2�d�F= �ʜ�%,>`�$7`˲? [...]
���@�LZ:��; [z8��r�>���Z������-D7����,��Q�E���&�@	�$A�}�
����x�i?���8`����->6�u�HT8j���c�~yp��}�@5��E
bc5�%#W�խ˺d,=8�Q�Eg%+g�Y�����

���i��PT N H�>I��1�Q'"�Fbz|�
n�A]�,$+`r�ǃ��`vnPR�[�y�c2 4�ROQ��r>
�
}���GΗv��f%�#7���D� 7����ͳw��mG���@�Tf�᲏�
-rpҁqaw7���a�£U�
�@��Y���fTΙj
-��n�V� 
�<�Ff���3=YH&j
-�]�Ɇ,���f�S�b
�F��ժ���[7=�:аgb=�4rP
L�� ��4[0�f��e4|8u.����ѐ'�J���
M.$�O�g?�~�/����+�d@�"���>K�O��=��z����1	{i�ts�(�w�������4(��kO�3�T���1+�Q6�1q
���T՘���q�15^mj�*0- D��K�	D��������c��C �	��r
<V2%�q�p
zsk��
Cz����a��(
-�C(�Q8�`��+�5���2�����w�ܘ>��k��9�D�.��"��A��yq"��Z�T�`��RY�_�O
-h*Wgז�Sw~�
\.�������X\�
�L�k��k<HK�Ҳ���LTҋJ���e�q������6��m�
-?G3��7��](Ho�g�Y:���
���Ml�[S\/>��D��>�4�$H4�
�CEH��w�z���g8��6j~�p�)�qx^����(�!���j�TR
r۴HϽ��igΗ�
k&���vՇ�b�/= ���s�
�7M���\K�)> ��q�e�[ X�X�@�j��>q��Y�~��%aj���O
@�>q��T�O
0�Sg�*��ڷ�^�<^]������B1iK���O~a6e_�T������Mo;U���Cw��I�Awio�ߞ|��'�D�z�k8\�ͭN�ԙ��}ɑ9�\X;T+��=3��{�<	�/K5�g�i%ݼX��I 3�X��Ol�&!)����X_A)�V,z�;Ͼ]
<��f7�3��jZV7�$�ͿiL at V�z�7��[F��(`�"�X��ѿ��*�>�=8|�~
-�ޅ���3ퟰV�6�MQ�|������0�aU3d@��q���}^��?��K��u���񋻻��'��ة.�-+��㱺��m�k�y���>ɧz&fK����MU��
-endstream
-endobj
-632 0 obj <<
-/Type /Page
-/Contents 633 0 R
-/Resources 631 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 630 0 R ]
->> endobj
-630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-634 0 obj <<
-/D [632 0 R /XYZ 89 770.89 null]
->> endobj
-635 0 obj <<
-/D [632 0 R /XYZ 90 721.073 null]
->> endobj
-636 0 obj <<
-/D [632 0 R /XYZ 175.241 633.174 null]
->> endobj
-637 0 obj <<
-/D [632 0 R /XYZ 90 616.764 null]
->> endobj
-619 0 obj <<
-/D [632 0 R /XYZ 198.751 474.738 null]
->> endobj
-638 0 obj <<
-/D [632 0 R /XYZ 90 457.525 null]
->> endobj
-639 0 obj <<
-/D [632 0 R /XYZ 316.33 158.523 null]
->> endobj
-640 0 obj <<
-/D [632 0 R /XYZ 90 141.31 null]
->> endobj
-631 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F79 502 0 R /F8 537 0 R /F11 442 0 R /F13 578 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-644 0 obj <<
-/Length 3288      
-/Filter /FlateDecode
->>
-stream
-x��ZY��~�_��H�qٕTَ�Z'Y��u9U^?P5bF"eR���קq� �ь�T�EAh��uxv7ó��|������4҂�ٻ�L�,4��6���.~x�Ō	�������7�>������w7?�x�g�}ϑT������l�_�0bZ�
�ì�
���on���1)\LH!�����W}�XRA�����g:oO��{���u���Tm^��b^���ƸƱ�?�MW���O]Y7'?]�lnd�v��j��<�]X�q�e� |��
���+�GO��|P�~��ܟ,�l	;Ҝ�-��*�����v�o�����u��
��r]A���@l:��
-	B�|6��jzX�nG�dU��ӣ�0e�F��ڝ��Y�� Ś NgK�-���R��~�1
Y��.;��K���M��C��k���1}e3�iW.(��dz�	���Z�W��?N	6�PH�ή��N���ıtxd��`ظs#T�h���a@��jGS ��gf(PAe�!G�5[?��,!�,H�D��-lN��*�� Ua�XX���J��9��8B:��n٭�f<��B
����.�Q�R�Q�ﱓ��I���??A�
�z�a�Bx���K���ղW�dO0*
�kG0���x��kO���d��h�*�w���v%(��-�Q�E-�/6v�7u��>���x�"�\�u����0g���B��d%W�a�u?t9?/��AH�m
�a�#�B�5*a*Q��5S�$V�gx2*��2�&*���i��5=�H�庚��
�B�tz懹`Ϟ�%��)���#�%xNt	��.ųf}\�����G1Y]�9�7�]H��(�3
-FA��>�`��`�@y�~Y��y�؟��k�[�?AX�♮��@0I"�e�
S��O�[�a�T��
Bz�69��WF4� *%rq�1�)�
�
����F���Ƽ
���3��Cށ��d
-;���
��y=��NBE0�q��"��.�}�%_�"�kvU�5�ly>���x��6�T\m�@@M!7U�qH^k�
���@3�<څ���i��t��0���V~���l�,9�ӿ����q_�m�ag��{7���s
�� 
�]k����s[�Z�Y��'/�swl�
-y`�c�1#H��1�
-h��}�}�1m�n�n6ձ��&D�!����:��`�R
��]�c�|n��O�{�+C����ql�a\�'�!y<�6
k�"�`#�P��@L��#WX�y<����O��
�� ��4�%1뒐�,�ԘƄ�9h�9��t�S�(T�C|)/SDH��B�
��`+k	 �zРSnq$BK�&��
_�y)�uD#��̑"�%B�/��팠�T�X`��d	\e<^0�u����,Z6�P6,sn�XRp��n�
)�a9A
-Տg[M�3�!<(�R!�Y����ea_/)X���efÐ�T� Jt�H�� �1E�I
�&p"���0"��z��'��E6:�*ɴ�*�|��ؓ�	��?�t���b1��,���T�/`%��
-�J� "��gi�R�#�BkՏ��U(��Y��]fJ ��I�#%��KT�

h��"�5�r��x1ƎWYϥG
���0�?�p�75�e�s!B�!�DS?ɻ�.��p� �9V��BR�)JFAâ�1hx�:����L�
��g"��kՐ�ą��H�	��?*��z(_��4(K�PcQLJ%X.+<C���r�YH �e����-�BF/�0�͛� Bp
#��X%!6�����%���W�'hQ�sN��F���^C6�����A"�$�9ܦ���C

w�/yQ%���H\6{�D|Q|�4]nmbbH\=^�
�d�D�v�
f� ��0[Mj�Q��$���ٚ'�����l�G��NL�k6a�C����]�~v?a��*Go�5:����>�ұ"򳭹�WX�
�[�H��dd�U���7m�7Ε�Q�\��&`Ԧ�ɓ�Pa��<��c�~f��}�ع�*�b #@9]�� �[\� N��7�a
X�P����&>��ԓ��W�Nt?w�!��ߤ��]PS
��}>�b�%�E�#8�_��{p=q��p����;I�fR��g[!�O�{4���~y�{ڵ�]hW�����<��r�½uu�}�w��;s�N�J5�>�cS�Z�罯(��8�b
3N���S��8���׹��
\��0~F�r> )>DIUsR���LBԃ�H)89�@��|����+��P>�x�� S61v��4*F�v�-�+�P��Z
�-#�6r��6�>�F��*�	5z�`�~=Irh��-��W�W��`��so�;<��`U�˕]8�8�`��|���` �DGF�6�i8�ׂd^9��� [...]
-
6��/.^q{z
��9"��׍#�Xv�z}ޗ���aÕ���saTr)��,���B�ע��
�����
x��>M�H�U���9
��$���x2�0:D�˵
j���FXqq ��� ˠ�
Lg�tL
����H�i�|y�D�z�G�-u}�*GdL�Ϸr(
q����@, at p1��S7�s�ɕ���l�
e�`5
���
X�kW^S\S�(�|Fq�ř�O#3U
-1�R{R"Ɠ��Q����\��W�?1я�H�Q̋p���
U�\

�c��3�
e6
�嘤�
��+on���ߪ�cW��TmT3/
�yqo�v�����a/������4�
OK_7���$�'�
�ɭ,��
<7O��κ^�{p��`�ק0��lU�6�~�.��� 6͋�pB�$
-�B��ᮔ��7���1��U�W��:�V]y�L�n_x[N��/=������a��[�(s�X��@T�rU>!�{��q��������|�Dt�^��,H�K@	�5H3�uT.���•��c�k��t6�%La�]�r�py�Hte�s>�#�ro��p8�_�a���&S��'��J�A�+_�!���;o���<ם��"O����3�z��xb���if�>�����T�i��

�
�
\&``�M�m��;Gݨ[���f�a���y~.���b���lH�!*}�E����j?y�s�<���6�f��	����!�O�g=C&��	�p	#9�O�yH0��i�8��� 
������stp���>��(JK�om� )��tg�L
���
��-�,�s�FkV�
؇ ��`����Bj�w?
�����D+	y《v����ۇ���ѹ��
�O�`����r4
)���C�C�T7�
-_�|��
-endstream
-endobj
-643 0 obj <<
-/Type /Page
-/Contents 644 0 R
-/Resources 642 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 641 0 R ]
->> endobj
-641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-645 0 obj <<
-/D [643 0 R /XYZ 89 770.89 null]
->> endobj
-646 0 obj <<
-/D [643 0 R /XYZ 155.574 536.628 null]
->> endobj
-647 0 obj <<
-/D [643 0 R /XYZ 90 520.428 null]
->> endobj
-648 0 obj <<
-/D [643 0 R /XYZ 90 247.435 null]
->> endobj
-649 0 obj <<
-/D [643 0 R /XYZ 90 240.422 null]
->> endobj
-650 0 obj <<
-/D [643 0 R /XYZ 317.494 135.495 null]
->> endobj
-26 0 obj <<
-/D [643 0 R /XYZ 90 119.295 null]
->> endobj
-651 0 obj <<
-/D [643 0 R /XYZ 474.355 77.486 null]
->> endobj
-642 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F86 594 0 R /F11 442 0 R /F8 537 0 R /F31 503 0 R /F10 504 0 R /F7 538 0 R /F1 577 0 R /F83 595 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-655 0 obj <<
-/Length 3581      
-/Filter /FlateDecode
->>
-stream
-x��[[s�~���[��
-�+n&�i����f��$�CK��T
������  	��Ŏ�&3y1H��;0�����z��sMg9�3���_�r:�2'*����9#��QJ���+����m{����k_Ã��/��]��K���)l��s&.�{���_�_�p�`y:cn9E��-7�|Gg+��rF�������$Юg_]���G)g�06N�'��mW6m�D�
��vu&�k����z���\e��t��#ܢ�_25��	�5������ﮯ]���k�i`��6;�ϸ&*�������gɵ08�x>[0"a�۹��D�Y0��Z0���+�h!��D
�!59�d�Vb4Z��xS��A��p
�nKO}
�2'Y���V�(�^-�ӃH9�
Ė%�1
c�epx�	T��Jh�S�o�H`��c��[J��\y�mGFڇ���CZҔʅ��dR!��J�A��8͖��Y0�[&$�tNSS2P�,�� 
t8'r@�y�[���%�_U�l~sS��{w�*Gs��D"K���ʲ [...]

��!FM�0�.F���[wVa�W���G��݋
������1C�`�c�
Yc��8c��vS��Δs�M�#S��
?����1s|�?Y	�� @X�Sa@�G���|�c�
b�{��i��c�4�C������쌟��-�F`�
s�x���~��S �	8���2n�� �X�uH
��w��Y�j�q��/�
BIԨ�)�j�>J(5>mZT;C��ᨘ}8̲?���ڂ�iݰ ���F�����ES���Ů�m�<$
�����)!�O��9Ql�ޏ;rPr�ڃKZ���A����@��y>XM��0��zU\
�,1#�-N��G��k�`{�r����*)\��e�� �A΃"
-�025�5ܧ5��.����y�]���b�
-
R8o��m
Z�K�<�� ���)$�Ũ�Y���U:�AQO�
-A	������Q� �懰��%�i,2�`)Ϫ�F@=��
0���r
RI%"Hu�� u���2%A7�7\aT��7Q�E}�x� �`L�}?��G��Q¸�����f��[
��S B�
-�d�G�)'����3���y��ςil��V��4�sM�7����MK`3���ֻ��ˁ�SeqNU&N��C;Z��(;]���Y0��2\(xD-��5�o}��i�1%�Gh�hh%bA�
80l�2��o6Ń{��
�<S`�L��%eU��V��.�'�^l!G��-��.�
!�|�@�T�MY���"���ү��7w���_�4��wF�-���G
���=��bUUW
B8�r_�h��^�M�����G��k��Û�ݭ���S,#F,�,�r[t�'��ȇQ�ױ�/3����{�L�Al����/o�;��nw�.���U���o1r�35��/+?��7�o7��l�k����OZ�t��Ve�{����H��
-]��2�)�m�1
��غ�n`=7^xg��];�	�o�x���᮶i�!<�+����"YU� 4�N���q!;#1�!Rd��E�!M4x���L��w�L�.�p����7)��T&$
��+�k3��_{�쁈���
��`���$6�� 60��Gw��'1?
o2���06de�q��-o�=]J� ��?q����N�T�p�=�~̪�pʄ�
��"���G�#O0#Uy�
VA���a�<�-�����Sҁ�<�T�ye�2=�M��7��Ώ	!qH,D70qH؀�i
-�p>����.K��t��Z�����4
(�)��X ���9`�0�Z�daO$����'������Q�����;ׄA�L�\f���
�`-�]�}3�GO0cm��:�y�\d��9im�9�M���&O��>�j�m
�5�]���m�S����)�$I٘5�#���N�~��a<��K�]�Ds�i
��C3��{1�U��C5$x�i���� O�-m�y � �
f�b	m[�.���ݶ�k
�^��um3����X�iZ?��\ٌ5SDZWd����a�[	���5.Q]v��Q{W��,��
-�
H(zb3�H5��@1��E��J6��$�U˳�$����
i՗�|�jWu����O�Ŧ\-����50���
N�&�&�R]S`R�P�	y�
B>z�r!�0�,��	~z��J��~�Z
9���{)�`����נ�t5t|eE}�X��eNzL���q'G�=��r�� ~������*���
-׵݁�7	�������̛���TO�*����)�FO�K[�A���1+��^'�N��tb������Ij��M	<�]jxm�m
��Z�Eͽ�cOᚭ+_��n��{��F�
-�NEաm�
�c)�`����D
{�
-۵���iYزZk��	�[+�o�Okat�ʷ�3��ۈ�*z"�V�75C��n��m����5����v��W�
T��b�gZ)c��y��P�@>cM�����a��p�\�I
���bpnvX�b?��f���
U�L����@3�u�׌�ӏ�
���%hF�P�C��>ԉ��N�D��w&�V-�H7�y����]L����v�U�Lx����"
-�5��ޥ9�� ���&�zp��p

�1�����GJ��l<#YN	ώb�
->�^���H�]4�w{�Fby�i�����舗���Ҙ
�
��E6
��.�a�
6T��w�g<��x���|�^]���Y�|��2C�uSoR5��ZX�]�-D~Ky���|/M�{Yr�1c����"4��"@
�P�kV70�E�n�$pU>�:��Br��*�n+w>��4��+�"�!}zN��hH�!U���a�	�~��S 1#��N���
��=��j
-%��ք�kvG��nR5�D���V��2���L��,*�D�������T���Ȓ�8�E
-ϼ�!Z���dn/)4E��A��
��h�QfӫSp2��J$/��{
O �K	��˿LĨH�'P�'%��"F���[X�.%PmK�Q��U��/T��ޓ�
A��
-�Ļ��(.�O x�
�Ef�. U#,�ٸ���E�QX�at���ct�xD9�OmWn�`�Kek3a�|nrg%S�����9���
r`uL4��
��v���0��g�^0��i�>@�-�@;��%$s0
�����M�)ǫ��j��󙅿'A���ݦ���=<�]�&*>�ˬ,�=i��0�!�-���Ejs\�`,Do�g�U	������͑pFC���?���:Z3�P)GkOGk��
h:���5y���3їx:�ҿ���Kű#�gC_�����7�B�#��oZ�_�����8�I��Sԭ�e,�L�l��z��?��d�i���J�}���v��
CݘT�AN��T���We�7�v��Y���

!��+^�n����˗���dْݶ�kHս��[��ض�k���1Lrݗ7u3�C
p�&�����l��
-endstream
-endobj
-654 0 obj <<
-/Type /Page
-/Contents 655 0 R
-/Resources 653 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 652 0 R ]
->> endobj
-652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-656 0 obj <<
-/D [654 0 R /XYZ 89 770.89 null]
->> endobj
-657 0 obj <<
-/D [654 0 R /XYZ 90 721.073 null]
->> endobj
-658 0 obj <<
-/D [654 0 R /XYZ 285.407 620.782 null]
->> endobj
-659 0 obj <<
-/D [654 0 R /XYZ 90 601.384 null]
->> endobj
-660 0 obj <<
-/D [654 0 R /XYZ 409.479 507.544 null]
->> endobj
-661 0 obj <<
-/D [654 0 R /XYZ 90 488.146 null]
->> endobj
-662 0 obj <<
-/D [654 0 R /XYZ 392.938 360.543 null]
->> endobj
-663 0 obj <<
-/D [654 0 R /XYZ 90 341.146 null]
->> endobj
-664 0 obj <<
-/D [654 0 R /XYZ 90 77.486 null]
->> endobj
-653 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F7 538 0 R /F11 442 0 R /F31 503 0 R /F10 504 0 R /F79 502 0 R /F8 537 0 R /F1 577 0 R /F13 578 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-669 0 obj <<
-/Length 3652      
-/Filter /FlateDecode
->>
-stream
-x��[Yw�~ׯ�[��ƾ�q
��>MkDZվ8n�X
I�%�!)+���23 x��q|ڧYw��

]����ɟ�O
=5t��\��/G���tDix��ތ�<}{��HhK�����/?�8����k�����'��0���X��"Ǝ.nO޼��)��aD�pvtݎ$p��>����1�X��h�N'�R:~��.N
�ͯN'\��w��v��-���|�:ev���O��6���E���f��/^/���O��S����h�%�Z���}B����ݪY}�v�\�
-�������ދ��?/����o�~L�~�WIz��:Hn��D|�˕������7/^�%�X.n>]���b
' Z
& �"�!���Ӊ�t�cK���\Ňv��#M��7ЄZ;�0"�����`8 k�u����(����8��
-dՂBҲlV�|
���z�6�:�,�]/�����}|��7{U��"�t3�	�a,�	0SvP.�B�V��*%T�Q����7�W�����
����Z�L�D���_
���
#(
��l
�<	�l���ћg
��uT<\��&�,.��
4���jּ�i�_��Dr4�(�~��\X�/R�N�
�_�
��Y?�V	z5"�cp� �:	{sozI�oy�����-D:a�i&�]/ۋ�ϔ�v
-�f���#�(&
_����h�-r�U<~��
�&�[o��E��%����l��#6��e�+4�
n������Y"���X�컶�H
-/�T�=DK�z1�h&G֩3XFc3[X������a[bUo׏�;�tz�fH�
���
p��^�8
�I6v��9M�U���As
1

�̕��Y!�նP�ʅ¬��"k�Fu�G�y
-֗�v�E�SH<�3>��}s=K�����~���rv
<�
<��?�w
1�0��V��m�(�����N��1�m�a9�E�
}��+dQ
$�>K�jZ�뻛M��,#�e�45qV�
@5�䖑�����ɶ�&k;���g��=^�=�1q��(�|9�ӹP|�]M�Vg���
-�y���o&C��K��σ(��)HYA���^������I#g�k��]s�~\�6��e�&I5X�ώ�u��"N��Д��%<q=����$a
!����!�sD
�b
q�����
�û���u��_���t6��.��Vm�e�-�|!�o��~\`�10t�o��<d��&��$���)1z�U4ۃU���dU@�
����U
���Pe�z�6�
`^���w��H�/�t��t�t�b:B��i"x�r[�vm�x9�Nv)]�.�X��X���
��d����Y���ߵX
�A��'lH���4ҳC�^
������H/�H_0!C�W��'Dt"D�7�e��Z�� �g�C��W�)
-�R�<�� "u�֌`����릓` d�FYW���K|Y5���b��Bf|,�e,\z)#�$CA�
-!
��w�`lp3�Z5��4�(��=5��8/��f2+<���A�,��חwsx��x�
��T�m���{��
����
-b�
-a�V8�����]
Ǘ(�E�
�0JшF��j�
-tg�t	�	�)D]e<�0L��^`X����Y�]\����h[=��������L�"w
-�����,��X.vh����rmV��=��[$�'X}$�?`e���è@��l����x��vז;Џ�qT~q�r"�vJ�0	`i��O��與�c�k��t��|��@�XF�H}~A&,�m�b�9= �~��d�vԫa��tI����G���@3���mS,�dt}O
S ä%�-�E�\̋�fO1��T��Do�
]�N��V�/�!o�>�<���B���'�>�FM����3٤���&������J���#س]9��%�~���g�nW��P�G6l���)�℟)���	:�
��ٺ�D���
��ɼ8?��"
��s���*N$s��8�F>�C��uQ$Ud�� ��J(� �C��Za�'
����Ѓ���
��&
B��C~�Y���Q�
�L�:
Y�F<�z�Wp�
Ug�C0A*2����Q��[�	4�J�tGdHl�
n�=v��y��t[�D$��+�8�Ƚ����^�#�k�f%�������)�!�
'T�ޑ�Ћ�ۺC_�4 �V� [...]
-�K���Glɠ{�
�fY��mV}Osd	e��YC��(�����mf�"2��M
-�9ߗH��B��G!�j��L�f(]!'�l��s�V��V|�۲� ۏ�x]Q���8[�l3 Ǒ�轤���vنyԼ���$|��G
���Z�E�j��f:]cQ �;��z@����щ�������)�ҏ���GVl�^P�.� ��T;��0b>�BΞ��lgnh�Py س�o��ģ�A
.e�Tt�� i(9\}�F���-��FzP��lIi��+���=u� ����HgU0E�Os�EG����@-*8;H:d�0
�PL]��o
-�
\����*ʀA,CY��b�\��l&���b9kfѲ ӫy��!�
�3&��z�ӭЌ@} ��U�\i�HWU���S`� Xss��T��X�Z�Zȏ��©ۏ�E���(|n��s���y6.��
؁
�
���{���o�wP�;!v7L�c�69�OJ���4��/`��Cl��Og a�a�
�|�i69�螑��P:�m@L�t�2e�)$O�"
�L�"�#
-���z{K��ߺ����%���L�ņw�rA�\�pv�#u�c�'9���g=V��
-B��2qb�z�_� ��V�+!����=F�g
>O��� �B}Eb�HNʇ3�$��@�a��`x�t�O?�&�r�MIn���))�.�X���%9b��{<T	qؒ�����燘R7�
��r+ X�]��`��wH2����-������
4�紩z�v�Ͷ�pjH��A&�
Z�?"�}���3��c���h�g�#�ɓc��㝇62p��O�
Ly:�@���g)��uw|�ci�P^.����,8�I��du�>8y��d�&����wߵ��ʷ�a���;�^�0K��Mw��6�O}��������y������Q����{9
-`V�5�8��,�e��0b8y�M'B�Q�>��D�o���^�����f��@��`�R
�G ��
�P��v��|
���A?C�Pހ������~��y�N>�s�0������)0���q����b_p�8b�2����X����L���>��}�s�\r�Ӝ�f��0Gk�o�W"_�Xa^��.:
-JP��O�����z#�)�f>�
 �9Ā��H��S�KnBa�njU�����>¨j�
A�W�*L+
kym���(rK!v��(O5L}���+��
�0�,v�M�����T.��Na�]�6�Ӗ�sa�����'+��'Q)�;ve���]P&��Dx��0��(HU�@�K%v�^��HG����f��Xhd�2�x��L{벢�A1�����3-�G�i����il�$=W��G]
Q�Z��/��6����˔r����
x�Ǻ]��T�q����<�ԇ{�!�d
|%�4�=���M3���0���v�H&�5D��V�7��٣G����bM����6��˛G���C�6d��Y����l
�C(I��rznC
-endstream
-endobj
-668 0 obj <<
-/Type /Page
-/Contents 669 0 R
-/Resources 667 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 618 0 R
-/Annots [ 665 0 R 666 0 R ]
->> endobj
-665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.653 196.583 290.207 207.487]
-/A << /S /GoTo /D (main_GDDetal04) >>
->> endobj
-666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-670 0 obj <<
-/D [668 0 R /XYZ 89 770.89 null]
->> endobj
-671 0 obj <<
-/D [668 0 R /XYZ 90 721.073 null]
->> endobj
-672 0 obj <<
-/D [668 0 R /XYZ 90 511.783 null]
->> endobj
-673 0 obj <<
-/D [668 0 R /XYZ 90 494.641 null]
->> endobj
-676 0 obj <<
-/D [668 0 R /XYZ 90 355.336 null]
->> endobj
-677 0 obj <<
-/D [668 0 R /XYZ 90 355.336 null]
->> endobj
-678 0 obj <<
-/D [668 0 R /XYZ 90 338.193 null]
->> endobj
-679 0 obj <<
-/D [668 0 R /XYZ 90 197.579 null]
->> endobj
-680 0 obj <<
-/D [668 0 R /XYZ 90 197.579 null]
->> endobj
-681 0 obj <<
-/D [668 0 R /XYZ 90 180.437 null]
->> endobj
-667 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F72 400 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F28 674 0 R /F12 675 0 R /F6 593 0 R /F13 578 0 R /F86 594 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-687 0 obj <<
-/Length 3841      
-/Filter /FlateDecode
->>
-stream
-x��\�s�6�_��>�<�h|�����k���^����vJK��F�\J����H�J�l'���'S,���/�L�'d���_/Nξ�d�&�bjrq5I�D�4�
->-&o�4Q�3J���6��m�.7�3&�t]��_�� �w��L��n��)�	�7����!#�T��r����.N�8��=�P��L���W'o~!�
?!	O�侞�����r����R.U�rJJ
��7y��
Ͼ��wӤI�b��!���?�y�LT�jn�<�P�`Z"R�f��,
L�@(��P�ܤE~妙`O`"��d��v�^�
�9,�LO�N����H���(#��`�
rP�Di�VO`n��A�f�O
�Xpv,�nR�'�`�HR&�U~AAR	�-I����$1p�'��f%*�D�0.9fX4��08�����"̗���q�!��xֱ}ƴupG�Μ��{�&�!��f�TK�p�
?�9����C��I�z��
@�	,db9�]���wĈ"��bE��	�eH���_ᜌM
�� ��;o�ԛ�)�|��1�`
���~�9�/�-��R�n������[��C�6��S3�:��c�H�;YOh����N�;�؅�Ґq��UBLڝU�]\mW��8�X�E�T�����
�
�hi&̲���ˌK�cp��������\<s�w��*9O�n�~1<�N��L�R
mK�3d+g�:��=� ��/�B�� Ut\Ix�$C:�]������ �4D
�"ⷎ@M�

��� �֣��<b���͞���[�!�q�M?4�����!��?�)���f�=�G��0�H
�O����
��ԍ������Ca]���DX����� �G�z��I�ES�(�+
-r
����>��(�2[.?�*9��(k���b��1 g�#(Q���8J�p������ ��=��F�+:0�
- !
�����HRyo>C��I;�
-�.����;J�=���1�G��G����)xm��K'�=p���R|=&t�n2
��A�I��
 ��n�������niB�>/���gĶ7�{�gբ kPl?�\�UoFm.����ɷ�i��f-pۆ�>���5
|
g��}qS4��&��>�d~�2���m��]o��TԪ~�Rvյ�������M���o��:�fK"~�]�6M�ґ�f
���c��$�w��a'W�M�N���E�]�ЗW5'=/N��VY���+7�S��9�!�
&���J��)�ӵ�
�Ͳ��{��
-���(ձ�+ܹ$�Ed�_c�nǞ�!R���`�v�,o�0�
-}�n+�}l��������>w�s��/?`�"��C��|
�Xb�!�z����k
��]`7��V�1<f�5
NM��q�eH�Ͱ_�ivdUpum
�]��1�>�X
-i��4�Ag��7V
��
^_��!�0X!z ��V
B�[ɔ�![u>�� $ԥx �R�~
-�C��Q �����
�a�
-e
�.Dz�!�:���c��y�d�g�@
)�!��?�O�	3#^�k�6C��T����D�DR���H�H�#+�.]��
�0d��7��G�t$�d�8�z��F�
u�R��Z7���9]��eVEQ׽wZ���
?�
�[؋!��[S"���ޕ/�C�Í�ԙ$9j2d�dD90
B�\�h�n���n����<�i'�)�r�:�v�����S:
-~j�q�
tg}�g(t��+��Р��wG�E��]��~Ϛ�$�z7�a"5,a�/��DD[��(m��y��
�֖x�
P���+�#�.l��b�U
z����Ai�����N�>
>\ �)
�#�x�9�6k4�r
����(�DH�Cr:�� �ȿ�B�
-2j%vv-��)�j�%Z��dA�t͞$��H�@�K��
�&+|�c�n�/ 
-�i�nn�y����ܴY
���zW��hz�$��m�T�@��>U$�T���%��`<��?M������G��{pT��{/֧��
��S�Vdz+��
-�Z�^�{��]0ͬ���4V���Ml�/6[
ޥ�@�-�����

���&<T�&��ՙ���@�L@n��
TKy�0
�Ơ�>���
��C
���R�B�P���B��ޅ�v?�
��
�#�������
�C^2��H�	�#刜c x�U����Wd��uh�h�aA7t0]?@�g͆�m�a�p��a;x �K4���/���6:(��
$��;*[�/{wgh���!4
R�<ʟ
���c��
Nq�f�K�.������%ZWgZ���
��-U'�-���f'�xQ���jQ�zڄA��e�m��!�1�{���m�H�#HD˨�mv6�
��:�!��r	#��N
����k�b+�H� ��G�0���j�E�s
�@?t ^L`�3��Ļl̋

��z�� T�q*ꦓ/G�t=����8��Vhck�kt���i�뮡O�E�^��,��8o@�8�z	��)X5�c ���E�tc�l����. ���e��R�w��Vc����xldf])uHdf��);������8O�Y�_, c<�]�R
��]ݕ�
���������e�i].?�!��i�2;��e�կ�mU�G���{�C�" [...]
-'�`
OQ�ۗ,Y}]N�Ӡ&�Cn��ug^��I]	^O)�T�4.Z]������zz۽Xk?���ϗ�a�>�
-h���!;��]s��g�in���C.���p��
�	&���h;�(fλ��5C���Ԝۅ�u���.��E��$�wT�\4��d+?�v'�U�\	�7��b�
�w.sS�˲P����W�u������QI
��u����GMpseu����||W,��
-� u�1��݉
�8�X���֥���\�ọ��Ot
nN������}�W�|X]����� �ڜ�8��G"-���|�����<������<^LE,��9#~�2�1��:�o�v��*p�K������o�\"_MW�E�t��[�ù
U���¯�ZT᧶!�h�mU�i
р�������|�ȷy�*J�
���6��-�vK��k}�:��&���q�vCR�p��7)�a
-[���6��`�.�>EA��XvQ��L��j�I�#-�/}eO�+�
��ST�Dk��s�A�qw�
�f�r��䓗�
U�������ҋ�*��^��w�77�
-|���������{FS[U��h�:W��\� ��nʬ����p
]�{��	ɢ�fR��o��:$�׊_
Q�����.A�Y��X�A'�s�3����[s|cM�����ɹ�K��閊�� Rٵf�V��
,�c�;
�>0#YUd�˺���.�*�Xe����V��
��7������7�3jl��Ap��>���VO�^
��G���=M���,0
-L�(����]�E'��&���#˓��P^��n��	7{wu:5�5�<��&��9aV��*
*ݐ�H5cz�x��x�
��[+#�]�ynFitm�V�8Mt]�;t�S@>�C'� ���^'��I�7�I;��&h��P'�N'i���$�S��>�$	�� �ԸJ��?�Tu����O��_���`	5V�5��g�����%M�Q\VY��������Tʩ��f�]�MYu�Nh�&�ľ��^��L_�?�;��I��w��X�
�dx���>?;���O��,n��؞A0y��wj
-�E�m�~�n�R��~�z=��c{M�
-endstream
-endobj
-686 0 obj <<
-/Type /Page
-/Contents 687 0 R
-/Resources 685 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 683 0 R 684 0 R ]
->> endobj
-683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.653 531.964 290.207 542.868]
-/A << /S /GoTo /D (main_GDDetal04) >>
->> endobj
-684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-688 0 obj <<
-/D [686 0 R /XYZ 89 770.89 null]
->> endobj
-689 0 obj <<
-/D [686 0 R /XYZ 90 532.96 null]
->> endobj
-690 0 obj <<
-/D [686 0 R /XYZ 90 532.96 null]
->> endobj
-691 0 obj <<
-/D [686 0 R /XYZ 90 516.202 null]
->> endobj
-685 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F10 504 0 R /F7 538 0 R /F8 537 0 R /F1 577 0 R /F86 594 0 R /F31 503 0 R /F13 578 0 R /F11 442 0 R /F12 675 0 R /F9 615 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-696 0 obj <<
-/Length 4668      
-/Filter /FlateDecode
->>
-stream
-x��\�s㸑��B�tR�
-�o�3���leS��%s���n���i�52�%e;s�5>H $J�gw��^l
-�Fw���n4��v�|��Oo�}��@��r��fQ��~]/~\��ǧ?/�Ԉ
�����/���O?�{o�����o��
�H����͏���kh��#V�œ�t������7��{RpH��IKę^(B!���(v���ŏk��lVD,��֌�徭�kw���bY�uy��\��<�+x��U����|�n�yh�
w?�ξ�,��]
/i�ݾ��?aL7���ε�}U6�����U�	 ��`�L
-D����Д7+��7�� 3��#ެ��HI�Xs
-!�cW_
��m��D}X��My_m���X~
�X��Zױ*7w�n�+���Q��D$AT���u��]��;�՚c����@U�^83G�&}��H�|o�I�O��>��&C
-�H�AuAB8CF\���["Jn3��:x��7=3�t_�C�9��s�;d��ά�5�)P�HֽhM_��ݗ��g�	B 
���f
�
-�z���/�DĢ�A'�XKD��t"������N�f�őh�Z�H�	
�'��!���a�B;q=��Ê,�܏ͮ�1�,���-3��F�r���wj?N�u�zk�Fv�P�i�� ���v�j���M�~Yi����Cv51$-� t�
���>��Q�� 2%O�Y�
q\�
1�A'䕘Hq	`�u��5
�ژo��Y��~��@�TQ'����R
K��q�3�Y��0�ЇRׇ%s�|�߼}��`�
Xf$�4�������s�K�W�h�cN�����9]��N�d�
�S��a����<�Xj��q�
��]D��N2���ɮ�=�?ф^ur��t��=��#y�����<�U�יAy�}�\��#�PA^W�r�9�`1�b]���%� �1���
���8�����
�Y
��5�7_�]K�[������ܽk�`WF��e�����NJ��Dϻ�̋4�j��bdN�d֘p��<2&�>�X�>dh�^t 
OZa�dc�#��ju��
T�}oY[�!;�13{�;�G�y��u$#!��H��b����)�Gv3`0W�HxeP�8dH����NDŽ
�'K���3,��
��
�NG옽�h��7�F;b�@C県�)9
iZ����E�eD:�p>�lX���9��B��bFZt�����W���y��:�`�1,��x�w���ܮ�o3����� ��_�LO�3�<o�(J��L@�"0��	}^Վ�K��A�Ȧ���s��%F�ȱ7:�|����hz�lr��:���B�+C���C�S}���I��4��1-R�0A!I�Ů�嶾j����Qn�;�����3Z��Z6���á7
-�`�9�}_�V�1:4��
-�������]uݖ���uպ;m�
�������j��`�㘅}�5H��[�k@�M7�, ���G�_� �΋��z�m���7qu�@�]�+x9��
�@+��N�H"�Wkz����V��˃߷7!U�?4K�h63����
cI@�$jY���c�f}
�	����X
g>��9C=
c�4���b�n
�MHy,3s�EQ�l����� Ug�]�� ��Y�̰83�3k�L�
[���͉�"9��WY�E���
-}�/	����c\���C��X}[�%��d��� f��E�x�(>����{<4�D4��q��@��~/UK�e
�$� F)iDv�V����*���Ыh˼�J�iU$�
��}��h�[F.�&��5� )�@��b�)67��
�(�דgݝ����|���4ʐ��� �h�z�נ��\$5�5��*���Z��cVk��
6�u�"�mf0���L#J�%�T2K$�
-�C��#&ze���
DN_�L� ,�`�@$�Xl(���
Zz��7)������ArJg�ԙ�~�g��*��˰��H�ˆ�>ӿZs��bM1cYw���i��]��]���3>m�;NW�@c�
�Ԅ�$.s���l��
�t��?U��:��A��bl �
��b�M�
hX�?��x�k"���#���$��H�en_"��a��$	]�<J
-r��_	�� �؁�O%�^�.h��|���h4`>=�F�)�����N&r�
��'y����we禎M�m.�B�r�	�9	�3n�(�Hh$K�,l3F�w��D�X�.>�t�fDK`8��ځ�K�抑�U�+4�
�,[D ����"c
-9l
Sx�t
iO^��ƦAG�[�� S<P`�[8n2
+�x��~�]f_���k<�o�w����E
ZK!_� �Y���^9�^
���V<�4�kҿ-BS-�V��Y����n��)L���זr��b0S�+�-T
����1�'�`�>I�ㇾ�g2I�����|z�1rv�λ�0w��^ڀs8��b^\��Ά�����&�\�1�k�Fb4���ֺ �@p��t���"v�u��=W�|��u�O5#ľ>E��b�q�CV�Z3����
:��1�����)p6��D�h���>��޿y8�m~���k3F�	��9=GW�{IZ?=��8���Y?��t4�1 ,.wE�	�GU
���>e�%�Єa��njr%8���
-Tt<�����Yp,���%N�˄hJA�2�uL�f�3P������1 ��d�.�h(�/p�
�">]
��"M���;�O�hLz���'k�?����T��$�\TԜ�
���K����l,~�(�a0�7��S�6������E[��/��$U ,�~Q��^ha�uLH
�5	��|)�2�/c��l�����S�6


���<�Rx֥�mU��+'T������K[2�K��O�g����50�c>��=���30��3Q���
-���p6�F��s�7��so�d�8��5;|zHE*��� �k�1"��(�Mw(���)`Ԝ��r2�C�W0�O+
h��Z��� �V�b/x����-��f׺��a�Q��ٲ���l}�
��<V�)g��F�B�M�8[x[5f����2C�@Xupv�YF�͡��,��f���A���3��
�Ȧ�uX��!
zF��y���1�<9����\��/N2{&�կ�e�R�8�e�#yB1�mt:ɺQ��P��8	!����#�+
-d�@
�V�:U�[w�S�"���
L��R��AW���p+9Vt�H‘��:�

�}�zO ���Ŀ�Q��f�yL��Dxn
��q��5�����0�yp?gS�E �A�����C
�dמ+.I�%XDGI#OR65��!wf��
1
�
X'g♠��҄�|��Ƙ��欯	/X�Z@�=:�� �Bקz��Ja@��
q��HD�9R�(�àh�����ERź/�r����۶�ό*T��s~K�f�
	% 
*��/5�`�
{^U
��d�q�dq1��_]����|@E����I֛p5~(���B��Y��7k���ū�L�/��,��'��4B��;,������?b�W�Λ��$G7��°��k{%
��=��'�F�L��m��C�p��{��߱s��0ۺɖ
-p�0?�D�D�B؃>�6��/
�d�D&C6
���M•b�B@�[{֖��}U�
�Bi��F�kT�.��H�s.?)�����Ej��Ԇ;��������p�]�;�i�Y �"�
NRŏ�I0�}�L�{����,�y|F��3�I�t3=;������\#ޞ��N���&�|�=@d�.�[m^�sD:.����P���H̚�O��y��D���(
]���pI����/�)ow������&y�YN_ad�����aUs��HX�rS/�bjY�EW�ɨ�itռb����Bs�J�X�L���7OX)�gbe��X"��JůV��� �zaqø�
I����̻I��%V���)� �jjK� +%|�
Yp"��vL�S�Z���|
��!G�k��9��hhU�ْ4h��
��
��a�{�;[���Ky�ڌ���9�~c�T��T��K�h1�YeK�S�$th��9�l�^��+���
�{MI%�q��M�.8�
.ٲ�1�+X<<t�c+>��j�=����ʎ�iO�/�|����:$�� [...]
@O�@O�@O�0�޶�k�/���y��]�/���uf���&h���
J���5:�:>Ģp

��$�'o<
=���(2c�z0,NJ2��6"�!��B��W�r�GĜ�[;\�۝i����x�M2�������ѱ|��*�����h8�ӘF����ŝ3

I��4/b���f׬��jw�D�
K����c������׹��8x��V}5�0���^����b
=�b% �TP�'����|4d��}��.���1|>~�
4�_W,����e���wf����'��Ո����PU~�nz��տ��Ґh��
k��pؿ����	m:����Շw����x�N
��X+��`�$�k�^&�o?�0���kp�
-endstream
-endobj
-695 0 obj <<
-/Type /Page
-/Contents 696 0 R
-/Resources 694 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 693 0 R ]
->> endobj
-693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-697 0 obj <<
-/D [695 0 R /XYZ 89 770.89 null]
->> endobj
-698 0 obj <<
-/D [695 0 R /XYZ 395.521 560.867 null]
->> endobj
-699 0 obj <<
-/D [695 0 R /XYZ 90 541.581 null]
->> endobj
-700 0 obj <<
-/D [695 0 R /XYZ 199.887 77.486 null]
->> endobj
-694 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F23 364 0 R /F8 537 0 R /F13 578 0 R /F10 504 0 R /F31 503 0 R /F7 538 0 R /F86 594 0 R /F1 577 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-706 0 obj <<
-/Length 3731      
-/Filter /FlateDecode
->>
-stream
-x��[Y��6~�_����T, q��V%�Ĺ3>R�`g�8g�������_���$@A�����$�4���׀��z�'�ξ~u��[�'iA����D�dq���A�|J0�ٯ��.�j�jΧ��l�r�O�
�ٻs���{vqNA`�ᦜׅ}�XF���~8���ٟg����H��ly��w<���&�ZMn��r�h���˳�g��� Bz����e��^���6�-��_���y9w��z�1]��^�
�Pd~�-�4x2�
���i�U甛��4a43
f$���Ҏ�������E��5��`p�|�%�@Z��Hp$4��H�&@3�$�&��(�zB���	+�a{k��v�oW��ŕѾ7|_����e��x��`
���kv��%�N�쉓�/QJW��o�X��9R�uE�|V�;�lj�_T��)!l�{�jw=�������r/�H�^�X}�fI݋l���|�m��z���r�GM&?�d�d��&
U��yy����c�S�9�0���~�\�;
���,���y.3��S�1��~�s��F�$�#�s����2�5��ƣ,1)���ϔ"e$"J�Bj�>�KX
Ix�H��wU�
ļt��<�$�
S�S�
8;�J�#G|��]b$�� uy
o
��"a5����
n�Vɍc��4�:�pn�B��Ľ�(�$����	��I�%S-&��T{�҈����Qfl�I��4��
�Īω�����%h�e'�qbHf3�t��
�ջ�}$2/|��d^x7*V��Y~�Tu��
�
-8B�c�(��� Mٗ@�ӟ\َڗ��:پ��p3�M����9�p���H
-)�N똫�z6v'047q͢d�)ؓaƘ�KJXwrxG!:\ � ����Ub �R��U	55��m:A	f,�U~84i�{����|rt�K�Š���\$J9�B�yoc�
oez��7!�A�Hr(���zJ�\�[T�����ZV��^|8�5I� 5�d�tז2��N�5k����5���Hq�i�� ��0�k7M"L)�e�$
.�]{CA��RȖ��	(_�K�o��X
-(V{���7e]SDq���B쪒�\/���
Gi���J����
냤ABF��yT��x��f�2���h�t�����ϔ����˞;�
 x2n 8��ڣ�9���Q�?ƈm�e��Uj�|�85ED�#�E"���1�������?>�����$�ę
-|&阂��v��~j>,/׋��
��3���a->���#��~�Id�}*Y��L�DB�1Y����vz�gW#Y��p�{��&�<0��r���ـ8�C�Pzr���%?;�+i at a
�̟�?Q
���'�U9��)W����
���I
+��tp����
���p��V�8� �$�^a������$�N�J잸�W��#���\�L�8���7e"EC��"��A�>�$��
�'��:��Z�'6�&ڃ� %��0�:���d���m�$6fC
C�a�� �3�о).�L�4�H��& >]����l܇�ϭ?�3Gl�rպA��h�Ɲn�3@��̦�`Q������v5�C<s ���ְwl؏�+����IO`�-}�5=U�1
T��
�Sw�b߬��w
bZ�u'm�y����ڔet>�Tg߷�Nĝ!���ش� ����
-+�֭�k8
<uސq��� �,ۺ���R�C�m�C%�Ζ<:p���e��l[�V#Q��kLe[>7 ��	���'nG��
mY�������cE��,�w�4Z
�m�ެ݊EbU;+� c4
	ob��Fw��F����s��ʏ�~:�Z��lM[@`Y�ig}��u�j�J/�m��9��y5ݱn�1��`[1q�
�S���GZz��A�uL
q<L�8T*!>Jq�GqyB �#Q
*�
���)�A
5�|��u
-Q�ψm�4�s�����j5�+�^g�����w+^��v�:�	�ܠ�Cf
:0��!� ��}��+DY�z�!�m[z���_	���lwE�B���R_�+-/����8@���~~%�����6��[�Q�t�}�o�t���Lfu��ٔ��I�Jg/�]����F�
3v�ӬjM���8��e��I��zY,�fnλ�����V�
�!����
�U����\�{^$a�9�
-�)�*$s
v�+��/�<u��*�%�Mu�
�lRo
-o�1����v^6��^6ꃗ���t��E����E~��]eK�b�='��9���;����on=2/½���{��G��~�2
�W��"IvENn������z�X{�6�RM2I��x��z>O���<b��x��\��9������:n;�
��ѝζ���mm�
�B�c(l_Q�=4m�^�H�
,S�4S��I%)f��I���]����^R�x�=&c�LFF�*B	��
C�jji��� ��zƳpQy��-5�h�?G��ԥ���\
[3�4Q$J'�	 #E�$�|L�|ʤ-���\n֭Ù�|�],~�>[�	���n��vQ ���s�� J�fK7�c��]��n�
C�.�476��"k,6�5�bVvy*DMs`j��-��h�k*�uu]���{< 
�S���+'՗g�dt��`��گ�=(���D

�؃͢���O�����
���Xu����K9����4��<uxe�����oŦ)?�7�by���|k�/��ޕ��}��3��(�.K�,�GR0�}� `�����.^h9f Č�*�j�nC�-�~	�
jm��P����*�
jꓫq�ޭ�٢������`7�`���YT�7�{���
�Yw
��D�!��O�6
�����C�f��|��m����Y�n�tAY �4�1?��ƺ��������C�H4��c ��'��]�Or(�C���a�9�;�
�
���u)�P'��e�ޖe��as������I�z�}7$
E 6�y{��9$a;�&���ˁ���
-h���,�=7�/t4��e��4�ؖ�	F�}�a5"��K4�D�n��֫��V���}���#B��[���7)�B19��a�?;�����>����;?�,E�'R%R�M�pv
- ��:�z�	F
#t<g|��OŻ)G��"8&t�������=����jn��S(�����/���T
-T]�r��
�f᧩4
��
���RM�ùگv�X7�Bꋏ]~wHaι�G_��(�~/�*�9��<›T��{Bf�U]4��oo��jr��<Nt��
-
DGӾb��
�&��jfq�}��|0ʕ���q�F8�e�;M]ʎZ�)l9���"L���e�N/j�3��\@�ڧ�oV��>�.�}7��S���.7����!<�SW!�Mn�!E�E��C��ݣ#�8�g=��yp�h]�
��X�����W�b�l�4
s�O%R�{�
u���I�L��8��З����`�>�/Mmܽd� =�#���w?�J�!�!}���,�6}����z����>�E��ׯ�5OFQCi���̽K4;s�؀��$ah��0��~�<������J���2����N����s1�5�7
�L�W���
{u�^zR|��9��gV��7����s�T����jk��CwI�n��2
�Q�n��˲�t+{;���xf�ł���m�y�����-�5h��65�ڇ����h�D�&���2������?e�2�E&
�����`��
-endstream
-endobj
-705 0 obj <<
-/Type /Page
-/Contents 706 0 R
-/Resources 704 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 701 0 R 702 0 R 703 0 R ]
->> endobj
-701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.648 388.783 370.375 399.687]
-/A << /S /GoTo /D (main_HMT71) >>
->> endobj
-702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.151 239.693 315.118 250.597]
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-707 0 obj <<
-/D [705 0 R /XYZ 89 770.89 null]
->> endobj
-708 0 obj <<
-/D [705 0 R /XYZ 90 721.073 null]
->> endobj
-709 0 obj <<
-/D [705 0 R /XYZ 90 623.81 null]
->> endobj
-710 0 obj <<
-/D [705 0 R /XYZ 90 608.814 null]
->> endobj
-711 0 obj <<
-/D [705 0 R /XYZ 175.548 448.991 null]
->> endobj
-712 0 obj <<
-/D [705 0 R /XYZ 90 431.838 null]
->> endobj
-713 0 obj <<
-/D [705 0 R /XYZ 291.462 299.901 null]
->> endobj
-714 0 obj <<
-/D [705 0 R /XYZ 90 282.748 null]
->> endobj
-715 0 obj <<
-/D [705 0 R /XYZ 400.848 164.569 null]
->> endobj
-716 0 obj <<
-/D [705 0 R /XYZ 90 147.416 null]
->> endobj
-704 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F13 578 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F86 594 0 R /F79 502 0 R /F31 503 0 R /F1 577 0 R /F7 538 0 R /F9 615 0 R /F72 400 0 R /F6 593 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-726 0 obj <<
-/Length 3602      
-/Filter /FlateDecode
->>
-stream
-x��Y���}~�ߪ2\ޔ�h
l�v������
��x�ؖ#ə���~]�Ǔf��ŖH���t�Y�ş�^��z�GC)4׋����.�,���^|�X~���oB�>r�_~���ׯ޿ù���_�x�`�.��^�/V�������YP"�|q���
��.�]���:I�H�j"E�0��< 9W���ٳ?ž�79���оŕ'��Bȸ�j�o��Y��KM1Z���ťv�-�ka��5����}��^qBi�}}�L@L���:
#@L�è�
7y��r�R{�H��Lh��a��7\���Ej�ӌ)-�����!�󸲭v�m��R�*��ާ�
?���;�ycۃ]u����ӂPu���@�H}�����z�4I��c|��M�:�Pq�!�%����������mlb7!@d�
��n�䠉aA�_�@2D1�H`
z�K ��.<��f]��m�U6�4 �E���ծ��uǂ�i�^��
-nU�ۮ)+P,���= CAϜM��Sg,j��+~O��6xo
�C��G<�p:�����~�f*�ۇk����� 
d�+W0���ZYTW
-�+c��
�okX�m��q�{
�s��uZ�
J?>�
��(��[�S8�0��|�9�vuck

ג:���ů�5�Ru����_9�t��v#�t�ЏTѮ�t����X0��ogmw���T�7~�{g���a�$�O6D��t'�G�YA�m�l����
�#`�����-Aj��`��)so�B�X|,(J�����ۇ�-`�=rg?��`��4 =��x`!_�;P� ӭ���ˀI�}���
�+��bJ� VR��v��)���/��8��w���?Vӕ�<��S
���v��۶
�₦
߄]��.��q�!D���8̾Ǒ`)
�ߟ��2"T�
W��^Co�`�k
<��p������h�m�� ��0�pW�

O�[�m��^
-�jײ���E�`D�i�u|~���"�'�^u����ۻ�`[Ar}����Y�.�F���
�l�x���q�WGqD�H��ކ0��fƷw|p��N����
����
�!�msB�3�|�(�Ji�Q�Ӡf���ݺ�n��\wq��m�mB�a;.	�5�2��-�L-�����5������ị
-��۞yvWo������
3e�w�Ý<�{UD�
-�]yt_�x0wϑ���o�>N]�L��
���	�+ З�BT&�X�Y(]x���cg�;]�s�`�ލ�
tb��Y����C]L�g�mgw~�]�<�0�q)�(�h��~
gV�����`TK���Е_�O���߅��q*���	v��N��7ú�p�-�U�	�5�_�<��$���~JE��((�#
a��5�&{�&[&�W$z�=K�
3��ND�񡙞	��9K����́KI0`�
(��ߞ�I��l�]vNО'�*y>�e��Mn�ߧ��
��&-��\ҁ��ϋޜI�~E`M权		

j�G��2�����>$S6P�
�U�d0�Cʆj
��� C����[�c6��'���h�CM�)
'27O."����8�M�
(�$|��ކ@��r�À+�@1�_^����@�X�YW��)v0bh��M�KP�3���".�c^ߩ�>2!B.����r�J
A1�"�XϜ?\��=1��SՆ�\�{/4�������=���'e�qO*�Z�f�$�
�y�.�;�$S���\��� �����|�������V�a)T�s�Gצ� �4
�&���#0��Ң
�<�DUo0`�>'`9-
'1�xL��ȟ����K ~�]��Iä(#��R�Tv�
$#�V*�Kd..I�
�gZj����<�t����"x���


����4�c�·]��ڦ��}�}D
��	q�ʋz
tF��F�گ�ǵ]����
�>�Ъ��l�5Vs8�%�7�9ӿ�A�
*�A����^6O��P�?9P8�W {�>1�ȶ^x>��
y���
bRv6eaEI�y\���,,����*���y�2�'�V=p�g�:�4���_���IJP*'`��U�p��a[����
-k�8�|��"�A���#ՀTE,q�4��f|p5
�c���
��jV���G:��G�
��
�� 
u���R�i�LO��܎�y/��$���b|LE����z=�� �����9
-�_L��LA
O�I��R�G�
��ţ�*L� ڒS���VW%,hL��5i�h,$��A������
��qgS�JII1�ͺx�P�;e�RDb�N�
6��n˳^S�$g����¹�o�
Bc���n�/���R�BR]r�#b�k��؆�f��y/ӱ:� (����-�T��#R�P�����	ek_�^�}�S��k�F�3|�V��l��c6T����4|�E�Ӌ��Bhn�ŷ���"�g� H�0r���u
�;=,\A
�ІY!��)nzx��
����"Cp]��ͨ��E� �`W�.,Qn�Ua�����W�H[�]]�
-�^����.
���]{����|����n����ұ܀�B
�]5��������L��/_�-�w���#���5E�,�c�~`U��.��`�ID/��)Ǧ:���8o�<�@�T�H��J\/�p��:;d
�+3�׿����*2�H�����GQ�~�{2���!2z�}:{ �1ZTu>�ubW�
��U�D��0�\0��z
�?
��0�R��6ڒ�@pLrE at v:�S� pn[�l\�!�/3�J�%\U�f��m}_��d,
a�̛��_��Z>�`�B��\��K3��e>��8��%�)\��w�sg�p���="#���˷���1�e$|�<�|�{X�!c�_��}k>���B�@lj8
�\��G�L�
-�I���|jt���.D��*

8�k/��:�N-�I'�����@n�tR��N�v��)���G�В���X6��wu��ኃ�'b�ٓ� �O� �q��b��@�D��P��]z@T�N�
�؎&e�E���Cgb��ar��K���Ն�tW��ueqv��ea�c���]y�'=Pun��^�@����o�P{\݅S#4�
k�D��ӳ��ݕ��]�‡նn��V����4�x��zg�\�_!�:���8�f�e7�Aᕎ��ϣG���\rUtN	�"��^���5 ^�
�:a��a���4�\�`K�-��*�·���A�]k��W�`d
>$T7q>���@��V��oǹ~�
y�/�ݠ%�f��O�D�
���L��jUr{w��-�^&DR�<��I����!����½����Faԛx�=v�&){���	^�G��@^�xJ6�8���P�#K�uN�$uh�ܦ��:r�u$
3ӿ:# ٰ����^	4��I?�����
-�v�����r�(��6
.
Q����
�
�����Ք�},�^�:�ġ������[��rt2����� %�6צ�MyL=z?,��_�ܵ�й!b( �u��Ϟ��ߓUK���А�{��lVU���$��cW3���;������v�	�\��
-endstream
-endobj
-725 0 obj <<
-/Type /Page
-/Contents 726 0 R
-/Resources 724 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 719 0 R 728 0 R 720 0 R 721 0 R 722 0 R 723 0 R ]
->> endobj
-719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.267 565.762 513.996 576.666]
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 553.807 234.367 564.711]
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.859 229.134 492.835 240.038]
-/A << /S /GoTo /D (main_Hal79) >>
->> endobj
-721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.791 217.178 180.758 228.136]
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.388 163.689 148.972 174.646]
-/A << /S /GoTo /D (main_BHRZ03a) >>
->> endobj
-723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-727 0 obj <<
-/D [725 0 R /XYZ 89 770.89 null]
->> endobj
-729 0 obj <<
-/D [725 0 R /XYZ 90 554.803 null]
->> endobj
-730 0 obj <<
-/D [725 0 R /XYZ 90 554.803 null]
->> endobj
-731 0 obj <<
-/D [725 0 R /XYZ 90 540.953 null]
->> endobj
-732 0 obj <<
-/D [725 0 R /XYZ 130.944 300.065 null]
->> endobj
-733 0 obj <<
-/D [725 0 R /XYZ 90 284.059 null]
->> endobj
-734 0 obj <<
-/D [725 0 R /XYZ 400.439 244.242 null]
->> endobj
-735 0 obj <<
-/D [725 0 R /XYZ 90 194.264 null]
->> endobj
-724 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F11 442 0 R /F72 400 0 R /F8 537 0 R /F1 577 0 R /F86 594 0 R /F31 503 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-747 0 obj <<
-/Length 3821      
-/Filter /FlateDecode
->>
-stream
-xڝZ[��~�_�z��%QJ�� �$M����	٦g�ȒW�3;���F݆����❇���C���Fo�~������՛BY�mBolR�4��a�~){}i���6��#��
ʺ���S(4.�j?:h3���6*�����뻫Wl�7/�*�o����������he�|�H�N�$6�7?^���B�~�ڼPZ'%*�S�C;8��O�}�f�9Q�,����N
��	��m%���qa_�R:�
����R'ų�ʡ�dz�����O�Е�z1NM���\��k�r����:J����u�]5�q1��qE��7��a�7Q��4��;���Ѷ��˷�ܲ��jx�������z�2n��|����{Y�|��=Q������:GZ��:F1���:�:]u
�����S�_����$�����v[
�����&��;"�$�~ �{�� gʁKՑL|�Eo_�p�������-�𐥬h��q�z`�L�8�cކWI�8�g��G�
X+�b�N�5k��p��)Q����e�xoC��ֱ;p�箽���
���rW���>6�"�T:�sP�+e�x�X�@�BG���X,U�
w#�(P>�n?� ���Oנ�
��`)�Bk@}�:tm�6�_�����z����o�������ˊ����7橼�1� (z at zt�rkWW޽|�7n=��_�JM����J\0	��Ą�]�-�?��ہ�
-U�VQ��
�]u�:.�i��~F��tT�LJj���um=�����Y���Y��^�5ֱJ�b��;�����'/rP�����J�mځN�A��Am��;ʞ�C�3jW
f-8B�te_�����
��3���Sv�/hgy\s�h�r�ٻ��_.�RX�Q!�U���&	��
{5i?��Ԃ�/z����v��p&�QE�Ly.�L�d���lCY5=���]�����>� '�W'ж�6�N4�Z㛜б�I����?�Y�t�d`V�d	�c%K
-�
%|ҁ�K&��'LRaGސZ��~C��
��$
-�G%�2���Q@��s��+�> C��ق��;Y��sϝ�
*�3��&J�K�-Y��-\��ſ%�ǐ
+Ud��Ԛ8"�1@
�
	�6dХ��s�&l ��i$�2B���x����H��h�Zc1�m�GFƮ�1�c�)@]敉nw��؄
H�>��π4F(^��k3�^]�EЀ�[�\�| Խ��\e4��&�c�
�bU N$���	�:Y�j�XDž��ue��ڐ�C-�D�	es)�]bTr��d�z%��� �XC�'�k2����Vq��`
�k�x۲5}�F��8Q����'!�X��]��:��N�h'����ҹyߞΗ1��~�2�n�ُ�'-xAZ���% �=����x'�ŒQ�C����U���,'��th 
A >��(��I��@������Y���y�x
]���[X���&KumI0 �9�XOY�u�ҍF��F�X�6y%�-�S �Gs�K��6le5
��KҤ_P�h�F1;v�Kr+J"�@��~��T��7^ [...]
�)D̀z17���6�'�?߇�K�BA�8���K��ݳ��_w޿��������
0��]�a��W	����O<��2���:pi_vR�Ӷh�Y����y�
���Νk�ihJ�
�#f�!�K��@��u�-<X
��-\7�u�ٵ�ih���/P�i��8�5U��\�Ƭ
d.�_��/'w�P՝���_n�fn�����:��o��D� j��[��~`�
 df���n{�e�)�܂J�~52��N���\0F����lB^�!�����F�D]����}��p�O�j�
-oA�m���\y�Ev�©�y�������7�N�
�h)�n������q�ŧ���(��cw��<��A��#��E���h0RUS�K9��
�&Ƙ����&�
"{��\gl[�mrIبst�~��{��½�N��i�9ୌ J%ء���aN�ih������ȕ���a��0��F�pd�%T�^͡T�|Vu
̌D�;���N���I�дk*X����ɗ��vG�
q�
G+.�g�k\��F��O޹B��cE-(1���BP��+4
+�kԌ���W�)'�U8��
.���y��z>�
���
-�k,����{7�ɺ2�\�"W�$u	Έ3�sDr�$=+2Yh8'�� g��� �t
I��zT,�R.Qi�C
*�Jf]zDž�n����`�82(�@����pq��C�z.Q�� ��t��Rބ��ؒr5�\�F
�ѣ@w�X��"*�����Y��P��.����)�<)fƙ��`�KV�,�At:+��q�"��v�\m) ��
}T]�*4w_��F�z
D"�"3����F�5+��NGK�`�����������	z�(�Ԕ���
t�+_�B-	��H�z����CS�`�
-p6����v�Ȫy�n����߼yW���t��|���4i�����Uy�
-����L���P���Z�,��
����I���
����w��Wq7�(�u�&��J�f��ؔ:�0
�����r5'
m.�^�
6_�55�.��D1M)�]�>/hsoz,�	-��M�i�� '
Oa��vA�V n�ì�
bX<���_� ������Ʉ�'{a��@��a
-�]ʨ=g�a�~�H�ؠ7�d��b�>],s*M��k�C;.�/y{G����:pX��wzjb̴;�R�n%k8�)p����hbs�H�

;mN��"q�9���In}1�rf8��6s'�����]�"���E��+l\a�){
0�M��)��K'���F�P����Mi��#L�� �����?����%�|j�z�m"�\��q
�~袬^T�b"ɧ�Fz��x���
-�H
�
�
�ڏ2��*'��A�?��'OO����Cz�
�������h��*�+�+��oP���u�8��>�&H+D�
"�0B	<�,l��i}�̍�#�T���#�,���+3�7o��>A�8%������^�bqE��"���d�&�`s�9o�i�vhO�ȄH%�(SEFzF�J�cX�CO'�4����Ova&��aۍ�RI�sg�5����	ٙT%�h?��pF"QfBq��e��S�����.�d�N�!�W�X#N�:n��~Ei����"�d"Ε��ٿL��

-%Ud�li�>��y�&��gcX0r��G`%�Ϟ��,(�,�,�@\��G-hp�m�i�hz�[x�d#%��N��7�h� u�`��N&��̓�yF$�/��3�p�`O$� �����"���B{Y�8
�4/�	�N��{^��w�a�t���d��'
-r��
(�>@Bf!��.;�M��
-���	|��� �3qqr�I��x��V�d�Gǻ��E4q
�'$	*���=�c~
-]���dz	���x46q��l�
�6қLx;RkTɩC�����(<B��
>�J�Q�v�Ag����g��fw�h3�v|�p�w���Ӯ�C��� �M�ev{�܀��p��d{
�kg*K�ջ�bK0wSB�/���ijg�8��"7H��Bd�*��u`l��<Z1v�V�m��<4Z�u����?Ma�Ia�Ī�����7�.�N�Tg������S7T�ݻ�O>���g��kf���IXُ�E����%W���G��'�m�K�����L�b
����<
�������G��ե�Ν��[@����+;[%J���F,r�(
-�
4�&
2��Ҷ�
-endstream
-endobj
-746 0 obj <<
-/Type /Page
-/Contents 747 0 R
-/Resources 745 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R ]
->> endobj
-739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 461.438 138.587 472.342]
-/A << /S /GoTo /D (main_BHRZ03a) >>
->> endobj
-740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.089 277.694 416.057 288.598]
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 229.874 126.971 240.778]
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 188.339 242.088 199.243]
-/A << /S /GoTo /D (main_CC76_interval_widening) >>
->> endobj
-743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.64 188.339 327.726 199.243]
-/A << /S /GoTo /D (main_Intervals_and_Boxes) >>
->> endobj
-744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-748 0 obj <<
-/D [746 0 R /XYZ 89 770.89 null]
->> endobj
-749 0 obj <<
-/D [746 0 R /XYZ 90 565.443 null]
->> endobj
-750 0 obj <<
-/D [746 0 R /XYZ 90 560.285 null]
->> endobj
-751 0 obj <<
-/D [746 0 R /XYZ 233.411 392.861 null]
->> endobj
-752 0 obj <<
-/D [746 0 R /XYZ 90 374.484 null]
->> endobj
-753 0 obj <<
-/D [746 0 R /XYZ 90 308.27 null]
->> endobj
-754 0 obj <<
-/D [746 0 R /XYZ 90 230.87 null]
->> endobj
-755 0 obj <<
-/D [746 0 R /XYZ 484.168 191.492 null]
->> endobj
-30 0 obj <<
-/D [746 0 R /XYZ 90 173.115 null]
->> endobj
-756 0 obj <<
-/D [746 0 R /XYZ 90 116.864 null]
->> endobj
-745 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F11 442 0 R /F79 502 0 R /F31 503 0 R /F86 594 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-763 0 obj <<
-/Length 3750      
-/Filter /FlateDecode
->>
-stream
-x��[Y���~�_�7�;� �R�|T9���6��X���h �j���3=�
�᱒��U~�՜����d�zFf__<����J�Y�d�����,#3-�D*xZ�^�Y�t�͌�4���ٷ/������_�o_^_�rA��Q��Lt:[�_��������Ix��
,��L0�����?/H��&K�4��\�U�5yYuf�˯`
O+h�4�w�i8OR-z�
	`hO�NdO�Id���o#�P�m���N��	�Uz~�X2��o�z��͆�-P�l�����7�����t�!UB=_�wE�k���!CT�=SG
���lXoy립+�o
��e��c^�B�j�_",H5��	�&\�Y�0dϭ;��;DjX
�L%�,��@�����‹�/���*��l�ߏ������ȁ�Ƅ3\�����v���9�wϬ�-y
-�01[�BdR"�m� ���|��쟁D�����,,M�J�d�)N�'p:v�L'B�S�VBL8}r!el
-E�
�e$:
l�ܽ�q�*NoL���v�,�ʦ�G@�2�S
 

-,��L:�T8���3�/	dڣݒ=���
l^�
:��L
P�A���R]�/�Z��S��]���M��A7��0��NJSVfx���/��.o��
o@��c"Ah����t�T�+�g�!I�j���������6���"~$L| 됿�:�L~���x��l�Ⱥ��I��d�Ϗ��p���=��]
�eB�5��D��ZNGx!�@�CԢ�Lz�CM��D���X(�T�ۢ���u
��������$�Z�`ʭ�*������/��Z���m����7Ud�4I=��Ѻ��u�O�"�x[D���[�t��@�� Ē�l ���3ݍ��K�?q�~�̉�	��͠� ���<Q�y���7{\T��#n���j<�b�Y�>�UD~��&<:#�`��|0=Z��8;-�Ք�_�>SAR�����
`;��Ώ4��Jϖ�W)
�mݖ]YWFT�O{󟢩��K��0���j
�Um\k��������Z�o6���CO~S����4"��+B��e���J����)G�ЕIF6�&�5�'W�_?
����1�Wu�������=BO|�<=_���X�#���M BJ�#�'���Hx��ȧz��S��=����L��H [...]
�
�;J5�xo�W*�(�h{�
b"!0&��<
�^�!
�r?x�� ��YM���t�l��
/�H�7�k|#D�N��������^
��S�`�*p��8���G�h�B�a
�
�6�wź�c���J�_!��B'f"����UD�(OX�G�;�}R12�v����%�-��^2\�)Z��H�~���a��*7K]m
�U��(�+a�
-�\��Vc�%T��-:|S���z�3�j;�q��{eW�(lב:ሁ
�}���cv@B�I at 9N�q���s\�SW L��
Z2�a'��0r�4�	I�I
��)ŀ��F�AR��k���uS
V
4�1��⢣ᵄ����\��E��A曘�&x��t�F�	ْ>2�F��D��"Cy42��-�Cք�J=��P|
	�I�s�I
���q��8���[�$
-r��<:� �^�9�2'T����x�DrO�DR=
�X'�?����q�2�fuB���a
!>��q*�r*���"s'Q�eof
��'D=	�M���D��y1���3q�����rؽg��*���ۺ�ZفnW9��)tX�]�ʠ��<
�xJ@KJ�����庨��
��[ c�p����{
�n�
����E�81�Mt���6���|S�4�M��l�mjsP��"Z����aX�y����#[3�
F�cn7��_���+$�
~��ڹ�lƛ
����a�0��
x�+�
��,��•���.�g�.q�	�ïpg�Q~/^h�
�q���'^G��M9�������KM�".h$G�`.d
�;�9%�r���|OY�@��(��c�
lHh^�΄������_6��h���U�(�e��ZE��	�# ��4g`#�cC�����lk�½q��t�.Ci	�ww�f��(qv�̾
5�9�52��ŋ��7�M�7�H�a��D���m�HIY���*q���bae|��O(��
0�㌶����
��[?@��U&�a��E�FFn
�Mד:���!�m�%@�b�Pp�	7��E�� 
,(l���<.(�1�A�/���� �2:����ܐ	��O�n

-���6 ݪ���0��-p�v�ES��R�p]�<8�XrBѦ��M�B��
����:BtԀ�
���v�) �&
-p���~��K8
��Q�U	�s������̝APX>t�3�#�L!־2,Y�B
W�K[s��[ُ����6��~�������g�6����@ ��*7��18]
]�
���ut�
-���:E�g��}��
>�����%��r
�1l����W�
�8��

��U������z6��8e��o��\)2u����z
�j_��� -�V����
-䭒�
0S4,��'� c>my�$��/D��̊�,ө��@
�1t%a+-�o

�KR>��Mj������5rc���v���^����o�X�5�֔E3�c�Km�)h�ʲ�Wʻp���Q��
��d����*lwSVE� #�vbޤ�r6R��#�=�#3�r��t_ (=�
�����B�XC�
-�`@�k���w����׾)�@UД)� ��u���f��%�>�v-?��V&�C���6�O5�e�d&;�s����y���͆���|�Ҹ�$u�bXG
�M��}gO��;��l����ш?G�'S2
�?�8������x��q�Gj=�l�^��ث�7D�o%<o!?G�h��� bM9(�1�����b��-��
��s�l��tp
m��#o�,�����{��:|Ӯ� ��")K�G�Cm�t��G�L��b�P;�E]v��x�
nu�δ���XXg?\;�*��4�ж	�����P�b��<G�iv�ԐG�)N`<�hb��U"h@���/��0�e
!�m��k�}Y��q�
���]��	�/
-
�ϙ�P��
H��:'Ƭ��gn
-
��+�?}	nlʭ��}Y�jy�v"(��'��ol>: �n
<NC��vq�����2��s��K���0tD��I�P�!(��*w#P��@��S�Q���߅L�L]��}��\�����_?=��
�oP��3P�3P<���΁���E��@��7EM�U׀&�{�+�cOl���
��&�c����H>=,L�

�

OU��{
����My�"8J�!8���h`��?�Rٿ
�������AX#�m�ffiX��]��P7����/���}O�y�W[4-��;����.�	9\kJ;4V ���7��O�#Xn���7������,\t��0��w����ˇ��d�&���6I�]n��ˉ���G�an����7,ee�4���;��RpF
-endstream
-endobj
-762 0 obj <<
-/Type /Page
-/Contents 763 0 R
-/Resources 761 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 692 0 R
-/Annots [ 758 0 R 759 0 R 760 0 R ]
->> endobj
-758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.462 470.508 244.342 481.412]
-/A << /S /GoTo /D (main_CC76) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.855 458.219 194.766 470.174]
-/A << /S /GoTo /D (main_BCCetal02) >>
->> endobj
-760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-764 0 obj <<
-/D [762 0 R /XYZ 89 770.89 null]
->> endobj
-757 0 obj <<
-/D [762 0 R /XYZ 90 554.153 null]
->> endobj
-765 0 obj <<
-/D [762 0 R /XYZ 90 554.153 null]
->> endobj
-766 0 obj <<
-/D [762 0 R /XYZ 90 537.754 null]
->> endobj
-767 0 obj <<
-/D [762 0 R /XYZ 434.16 461.706 null]
->> endobj
-34 0 obj <<
-/D [762 0 R /XYZ 90 442.816 null]
->> endobj
-768 0 obj <<
-/D [762 0 R /XYZ 253.525 365.109 null]
->> endobj
-769 0 obj <<
-/D [762 0 R /XYZ 90 348.61 null]
->> endobj
-770 0 obj <<
-/D [762 0 R /XYZ 138.148 196.139 null]
->> endobj
-771 0 obj <<
-/D [762 0 R /XYZ 90 178.926 null]
->> endobj
-761 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F86 594 0 R /F11 442 0 R /F79 502 0 R /F8 537 0 R /F10 504 0 R /F31 503 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-781 0 obj <<
-/Length 3080      
-/Filter /FlateDecode
->>
-stream
-xڝZY��~�_��p�F\�$@ҮTʻ�����κ\��(	#�L�
Hf<���F7xH��u^�8�F����Fl��y���շ���a�#�����&M�Pi�
6�
�ۭBlꢺ�FJ��������M"�P�)�s
"��7�|�����A���T�i�ٟo
~�
��a�g�'Gt�$Q
�js��1�O�
��
��ݾi�<�7�m"���J��;�gA�T�'s�0
B����XeY(@$����6�"��0�3B	�Hy�7�D���4�
I
FY���0���-ҧa����
�������%�g\�
u�{y�}_�J
�8��T�fe{
�'��~J����%���
�Sc{��4^>zA4����rʔ����D�2�'
_K$EA�)�t��69��@��JѬ�	�
����́���� 5ʺ7�3{tYi
��>��e���p��$D�
'��z[ cޫ�#˹��p ! �^6��0�L�g`�f�X�
�*�տ�`
fiz��l�^%��ۊo/(��곐<AH���(LD
-�IC
�7��!u�`��G��x��zϣ`\0�3uv�P�|Yp W�T�h��]lપk���ida�|f�[�]�r��_��Yf#�|d��>��'޾.�.���䄜��x :	�@B�MG�Gۜ�EވC�ž�ä�D���PA�_��b1	���3
��=�gSw��Ѝ
#�LZ���{��`�Sq�Iҍ��xb���`�ʼn9슞���t}��h^1�D��Ys���V�N�o�������
3�_1V����#��ey
&��d�.�Aq�'�C�ɑ5�߷�G@��>9�<w4�7P.�c�/���S5�c�7�<
-~�2;gYl
݀GB���y�z_
d"����nM��"�VO�V aE
8
{&l�zm�F{��D��59�ҙ;�u��
-�)�_�ni(s��C-�K�-�|a���s����˾z�ۜ��y��JƊRp����IMf�<w.���
i���.�Xea$�>�
唣>��,LtB��a�^'X(ltg0��Љ�&���x�i��2���_�z��T��|蹩�y5����<`���(�uɂ$�����v�!���(N�P�
�}3��:�N(z3�/q��5
��͈ #�������"
�
P�*�[Ї��-8��җC<�¥/#Hg��ym� 4]�^�-��J���Δ��*�(f8���0�,?@������&����
W��J�7e
�I
�p�
��i��tm�X�Res|��\3� �����Q�2"��A at k�������C�1\K���xа�#�O��Ɯ6'�(�S���>5��hj�
�
��r�)�'jMu:W���l�Y)3d�0!���λ�,�՚	A�2M��
"B��O��8
V/
,�W�疲N1�����0`�
-k<�v8�*ʪ�U�Σr������oyhC�/NШ��%�+�${�*@3�(0��Fq���
��� 3�\�!La�����P��^8݌Fzi���
�����4�Z9����R�,G�g�����VJ᠒h�la����f�����A-O��#6(
a�JX�0�:��M���&&!��O�$]yױ�����i��*d��g�����
.d�+��М
D�q����/!@j�ׄ�
��:
<m[X(�K5(�
3�7�	�~(��n}���.v\�]N\�2�p�o�8O�ɽ
-��1b=Z���U+.=3m�4ן��x�m�5.wr��s;"e��O�� ���`�Чjp�'�!�6Bg�������z��55TS���[�lx]Yo���$�;,����EL 7j5/c���ZCfv	�^��h0%���/�+�K4/f����c���I��H���������!N�T�ꎃ
 n�-Z���˳K
�ҩ8S���HB��
M�~� �Q��k�J/0Q�4�x
?1ž� Wh��j��0u�h���j�?��
�.6t-40g;�ʓjo�K� _�4�t�T��8Xeh������4�W�qH�"@ꁃa�y����M���e�
>e���]�͹
z����t��C���4�����/
OBc7�k>�DS.�—�ɸ �ss��/w�	_z��i����ܤ/D�Y��s���uA��Zn�og�����/Dp�z��c���w�ItF�N� 2������5e��_������J#�iSə6��i1[Z�;[�gZ2��~)}(�ے��Ɍ�Ө
7=F$�}�����Xh^�0�� �3$X���{�=���{�]�����i�������%C���������4tDD�s�_�(�~$�?!H<����	U��ww%��;
����xNһ���>8Wl�"���}%��
LUmg*s�x1?J˫t��9�-��24t{��>N$�7q��Lk(��.+sPm������=����# [...]
Z,��̣
�T
b{gX#���kN�����ɯs.���i�ĵ�̸����k���?-��E�; O�f梊��Gրu���OMW�ft
-�����".�ۗ�?�Gԗ��$4�7͂闭
B���9
����&�n+7Q0�
�Œ����c�^��*�7<���
\
^���J�K�v
(������-���ƽ-���*Q���bq�����ж����.~�Z�I�x�������\{������ ��hrL\�=C�;�9`�X�O�;D6>ݣ<����AЌv�J?��8������%�E��j�������m&3�p�q���vk7�4	�t|����v
�Q
�@��ǵ+/�2
-31�x���s����j����;�
�^��� H������yaz�x	ͳE�;g&{f��MH
��j�~���
>ՏE=�t� ���1F
-�!p at z7u��C��~�����A��
}���}�����^===��.
겵aٿj���Bm���?2y���<f۲F�9�_��m9!f
-endstream
-endobj
-780 0 obj <<
-/Type /Page
-/Contents 781 0 R
-/Resources 779 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R ]
->> endobj
-774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.191 247.02 208.619 257.924]
-/A << /S /GoTo /D (main_CH78) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.494 247.02 511.506 257.924]
-/A << /S /GoTo /D (main_BHMZ05a) >>
->> endobj
-776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.906 205.486 492.786 216.39]
-/A << /S /GoTo /D (main_CC76) >>
->> endobj
-777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.084 115.868 458.091 126.772]
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-782 0 obj <<
-/D [780 0 R /XYZ 89 770.89 null]
->> endobj
-783 0 obj <<
-/D [780 0 R /XYZ 121.551 657.62 null]
->> endobj
-784 0 obj <<
-/D [780 0 R /XYZ 90 636.975 null]
->> endobj
-785 0 obj <<
-/D [780 0 R /XYZ 121.272 325.844 null]
->> endobj
-786 0 obj <<
-/D [780 0 R /XYZ 90 305.198 null]
->> endobj
-787 0 obj <<
-/D [780 0 R /XYZ 90 277.731 null]
->> endobj
-788 0 obj <<
-/D [780 0 R /XYZ 90 224.106 null]
->> endobj
-789 0 obj <<
-/D [780 0 R /XYZ 438.959 184.728 null]
->> endobj
-38 0 obj <<
-/D [780 0 R /XYZ 90 162.025 null]
->> endobj
-790 0 obj <<
-/D [780 0 R /XYZ 505.567 77.486 null]
->> endobj
-779 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F79 502 0 R /F11 442 0 R /F8 537 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-798 0 obj <<
-/Length 4028      
-/Filter /FlateDecode
->>
-stream
-x��\�r�6}�W�ێj=0.�ͮ�V�+q%��:��R��%Q�$s�pdE�
�$ �9
��lj���`�Fw���FStv;���g�8{���3K��jvq3�t�
K��O׳�期�r��L(C�U�#�տ����ۋw//�ޟ1���X��$�̮�g?�Bg�p��%šك��\������wg�(���3���/�t�j����W���>_pI���:\�o���UyXn7���WR%��/��<<�s&��};���~"�_	N,խ&ʗ ���K�W�o�/`��\�"��<�霖Զ�GDթ��!R��	�a�
�3嬙���Z����l�Ha�0�y�&V�Y2�X�:%]W��5��
-�M��D�nWъÕ.;eXDBI�(��*TZ��m�#�l�
X�6�� ��(��dpՎij2�Ӣ3����T���,�����!~o/�-�
���Q�TD)LF;վC�j��z]���^��$	���;�Ϝ76^"S�ືk2Y�]s��#�5�|Q0���)�Uyu�����]]
�`�l{2��>��,Q�
s7�ج��lw�D�3�At���E6
-PN�60�gr����t���
� <�v�
P�U_��r_c86):�_6艡&s�����L:�2a<�{��B&�Ѐ-[��g�!0��<[�""*�%2��^��
BA�fX��4�~3���r
�
����A��E��L^��u��Mp}p.�%��<�4S��
-��"V�MU6�����Bϛ`
�,7��� ͧ��D�Io���l�\W �|S5D��1�+Q ���M��u�d~pkb��QA�1-*3��)`E
�w
�}���O������ ,<�K�! ��UA��
����L~{�@n�b�d�C���
��W��a�WD����C�_�hGBX�_���φ�Ȅ�/~�l; K
,j�9p�Ɲ
�
"
��`��1��Nz5�F�-$�m�� �IBD�L������$d`Y��u��w�p��>��v����
 �j�H�
Z��3�;���?�H*�HN�1"�4 �z��R	����L )�ğ��KR��P#��	i{�cF�f�7X�l���3�Zg��ߗ���Q�BA
-�G�1#�O6�~��1���QЁ�����\�,��,O�D$��i�s �+��5N7$'FvO�	��c�����������0�1w[o��W�X)A at p�&����
Wf���ẂGĭγ/˺
-��P��+l�B:opĥ՝�h�
2i����%���:v�ay]]#ND��=���
��i��'Yx�(��<Eu�D�O©�c	�+ �|�d�S?�f��Ҍ����z�)�[ޜs9�Ý�s9�p�[���C��Н!
ا|��{))�%'4��a�?+7
����Q�?�
-��l_wE���S��)��Sy6I՟���P@�I�O�K
��XN.�#��
�J�mO-��c�R:U�z��<�wTf;��iW�����M���+$O���f��)d���B�� ��r:?vɎ:^7h�k*-z��T��᱃�&*m���ò�>�
u,�~o\A�Æ��ă7'
��HV��d����N4.|��G�A�+L�y�u�
��b�P�
�ޑ���4Y��s;��ĸ�xֹ���ӂ��-h�T
��y�3��b�ݬ
í��j�l�a(Ȉ�!$C���s��@��Y>��;��Qi�(�p��X��
-b��9��
-?ܕ�L5(��y
����^�C�� �*T[�k��~��s'JX$��Pi��(Z�N�T�"<���g����f�P�;[l��I:�'
2���,!'@*-=�>�%L�x���f��l���!dC����sp��U�m@��j�%�+
-�L����l���t׸ٮ��j��L
-���.��)3��ĸ��T�0�B$�\����=����f�
-��U�1Dq��=� �%EQ䶹��C�b
dy�
�ݮKt+I��1Y}��ȩ��
ZN��&���v�ۈK��
J�����)2k����)ĕ�H-E�ƈ]	��1b���Nb֤��\t�bm���%�p�	s
-����_pE*1�
6ͷ�؁>3���(R��L�����IZEx�a|l+�TM�#���f�*��7`�z	��
0ʮ�N0t��I��A��}��\�Vճf+	�X
�� ��s�<�W�PA�R&��W������~�2GQ
�S]`Uc3�0Hư��\��g��2#�U����rs,=-KEAH�
���|���9�
�E4�J,
栭�<͢����|0a��
���R����h��H���OgӞ>p
_�-<O�Ξ5���^ɩl��
̓����"*���a�u��<پT�������W%�r�hBV��M� {���:
���5$h����k�8�{��t��Է�����B�	_m���r����c���^6Mo��Щ�e~�R��ڃ
�������\�´���Aa�#^BYϴܭ�9ݐ7w������Z�9��o�pCj���+K���,�r�2%-Y�A��
--���'W~�?�LsEw�p�t
b^3u�
#��.e��LV4�w��M
O�h��f�>wt6�H�[�[�9	_�;�IR[=�+�ɚ���ڝ��ͣB��
-t����V�\��)Y����1c~}R�t|�'��h	FCa+��ir�Ю�@}r9e�5ԥ�]vܞR���*{������C�?gn�a�AV)Env�E�<)�z�˵@��:,����P���3����ϓ
-,DK|�Lu�a�Ŕ�5VG�j����^^��0fByU��h��_o�m;���r�9�k�����b�;���3�������
�e#6v��>��w/��k���k:2_�v��'�r"+�'F�6C9~�O8h�u (I)F
�"-�|4� p5�d��������I���
Qn{� 7�z.@��2�n��p��6�2]���!.7%��3��ߌ��t�!b�&�	�9:G�G��<$&�?�5��,�1	!�(:<�x
��U�
7D��ڙ���/�,�ֆVL?�-v�F�cQ%�8P �k�Z
Zܵ{:i�)�
��ؾ'�vS�~E���0ɠ�6毸qL�n�x
��|LiB_�F1���Y�f�% �y���=�#��"���"&祾Ð	�|l�>����q������Hq\(�t���p���S"bI
D�f��
F�����q�U���4���#�X�$%��#Q([�'�X8/"�sr�<C$s� �s/��|Vm*lu����觨J|���C�-���E�
���7BxH��}��Ɉ�h
А��&-��i�N+ x.��t~�w�2�O�N��'Z�m�9� �fó�ago�9H+����5�}������ |�캑N�myD�i��������V�
v�f(^a�������
��-��z�e>꧅��|GC�;����92y�ПJ�g�Y�}��i��k�lxдs�›-�d��/J't|Ij�p�eO��u���%J=A�JLjؘ�ſy)C
�~R�ӛN�z��G/��
�}��:]�=Y���ԊM�ef�D ��,�x�u��
-��������:�W ���+�m|S�l��
c}}��2�rLkֿ}w�l^��E/`
-zx\`z}I����.�G{
]ߊbä�仍Ƙx��{��L���;�ʳ�


:j��
��;9�d��6'
-B ��o��4Ȃ��Y��@�b��S�&Ҹ�B; �zcU��3��
��Ѥߟ��a��*� �;��!ޣ/c��v�}"1�&�E
-�B��
-�1� �L�V0`+l+�Ŋ���X!#��`����yL8_�p'�b��
�#�U�ή`
V8��
�h�;�Ap
T�����a\Z�7luR
�� ��P*�R�O��2#�
��#���������<*}���WB�?i0IoiC�!<��
g}�]=�U���e��rߜH����9�r�p�����.��������.�ih���jV��۬�����!<�h�Z�&��������&���nO�����y����YAb��i���}��EpsݼF�3� h[�
-endstream
-endobj
-797 0 obj <<
-/Type /Page
-/Contents 798 0 R
-/Resources 796 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 795 0 R ]
->> endobj
-795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-799 0 obj <<
-/D [797 0 R /XYZ 89 770.89 null]
->> endobj
-800 0 obj <<
-/D [797 0 R /XYZ 90 721.073 null]
->> endobj
-801 0 obj <<
-/D [797 0 R /XYZ 393.496 544.087 null]
->> endobj
-802 0 obj <<
-/D [797 0 R /XYZ 90 525.902 null]
->> endobj
-803 0 obj <<
-/D [797 0 R /XYZ 322.875 326.773 null]
->> endobj
-804 0 obj <<
-/D [797 0 R /XYZ 90 309.943 null]
->> endobj
-805 0 obj <<
-/D [797 0 R /XYZ 222.161 226.393 null]
->> endobj
-806 0 obj <<
-/D [797 0 R /XYZ 90 210.958 null]
->> endobj
-807 0 obj <<
-/D [797 0 R /XYZ 90 69.176 null]
->> endobj
-796 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F79 502 0 R /F8 537 0 R /F86 594 0 R /F83 595 0 R /F1 577 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-814 0 obj <<
-/Length 3492      
-/Filter /FlateDecode
->>
-stream
-xڵ[Ks�6��W�*�ȕ�'	fk*�d6�d'�ym�a�%�63���:�_�
4H(+���E� �����
�.�tqs��gߧt��,�����"��TfD%��.�/ɮW�R�|�we]��WtyӔ����w?.$���paz������+�t�pRER�����J[��qA������/$�[��z}E���al �(G��b��=U��]�`�Mqh��^mQu�
C��U�@0��	��}���N�,7ye
��
�뺡���#�j<1%�;GJ�,�Z�yk1��3�ew�C]@w*��؏Ŋ�)
#:��z�
�m꽣���R^�=��q�
��o���Z�8�eյ_��^
�&�]Ѵ=���]Y���s�,�ͽ��ՋK8I���%��4��R%U/�([��]3���#���my͖՝k�[CB�`צޯ�
-7վ�l�
d
:ܦ�8	~��jGU復@P̐g7ޜ�ްK
�N���h/6�K��d	����+�'���Ё[E���!O�ƭ#E)I�D�~�u��+`F<8�{	�ɒt���&�WE̘�_䍣�W �uz��GL�R"�0��Y$a�-����eDnǁcǭ�&�5FNU�8ǁ:�L"�����@�{};��Dg�
��t6ex�����B�L�)�tH���`�0	�8_~�?`a<]v��AF�	"�G��t���4�����,k�L#�ɧ��~c6M���S]	�	�(��}aLH0ƽ{h��z�ϟG��$��俈���7�s�h[Tug�]��Oe�ᚁe���~(?�Vj�F��=� !�_EL�)6������/y��9#���99o�(�rnL�H��g������<�mm
���bәXb|�iK"�#�B���a�77W�eiJ�q/���vs�e����,ޯ@S��7��ƧWM}����r���3�*N����(�|G�t%�hfɤ�>0\���aWD�]2" [...]
-�Mҁ��yG� i�����'ᙃ���lB��Lr�
��t[HO�"<��Q`_?D��HI��%���Аr�Sz�'$Մ,*�BD(�:9�����|p:�#���1
�uؑ�z��q��2�������>��&Z���F?�)���|��ϻ�z�G��C`iܸ
`yjpB<��H�Mȟ�
U�tI�KDŽ�86"k
�I�No��P A�����#��2Sܧ�p�%��=*N�o��A� u�
32g0A
2��lX�!�A�p
-
�����4���B��r_���N�A������78b+P�
��zv 2
���]s,������}��TI�}�
��a��nJ~��F�c�j����hrya�Tށ-KAM�:]!���L&<���S?u�Q�� s�)�!g�����9 ���@�ͽ�a8
#��.�MC��YT�=#��T

'�D�̇M�`��/d��Q��5�<��	�#7�d3)�
d��({x�^�|�c���U�?t���0���[7Э���X��ɔ
n��j?�bVeQ��d��I�o�
|�6����
��DY�̤! 
.3{	��a�"$��uVd �f
@	�7Q����(R&sI
 4:�ѧ�� #

1�
h�8g
O����9 I{d�#�8�\O�
-��$��pj!!��"4�
�9u��Uu�.�N�2�|���}씯�S<z^4�3^�
%��W$%�YNst�2,#	-#
=
�����\<�ޙ��s
�_<6�/~9��p/���|#�Ѱ.]�՚���L-<���POQs��
��GDj�����D��)"��‹����*�<�/�/0!��,�p6YҔ�/��4D�,�C4�
�2����G
�qq������ �4D�v��nz�p��u�����ʇ��PX�K�M{��$J�
-��e�� BP�O�+,k������r�&�ux�L�
�M�
z�h�.�xQ�;W�{Q���<�gu�4�π���\C�\�_�9��6��cʛ����?Ի��b���r9
A��3E7&���5h�=�6�
��Z�V�L�YNg�ck�MW>P�A�30�S�3{"�a��D�O�|�zJ{Q�=���RxFõ�g#06Ko���͖���Sي�:��T��#�j���ה
#�,�@�`��^��m���q�K���F/^��#.à -�:=uXj��E<�9Ce�t��	
�L���*ހ^�=W9���#S�9-R�D�B)
-[��ױ�!��f��X?��w�{�#�����gS�v�͑V?��l���oݕ{� >m�������Q�Gl����8{
c'���Jb�����������)#�UHy�y�.�J�
-g��mm/A�l���u�#g���f,�):<I5��V|�������-�@6�aS��n�$�����t�k
.�tPָxG��c(���<\�p֪�d�xvj�e.*��.�~?*�4
)�����cx2�S~�{|��Ǟ}t��>�J�

'���aW��	���}��\���f�{".��jo���K�vZ]F	�f�/ǻ5M;��%wC1�7���{����C���}	|���.0�X%A��]�=~<&�� s(5
"�H���rۯs/�+Fڍ�xvΓ9� ���9��t�_��S
�'��?�/- ��#�	3=A��*<s
���f��q�$O�8з�0�C]m�;��
�oh�~��B>1�7Q)2��M���
Qs�r�r'��{D�,4�wH�
�H{B�MdR���CY�x
�{(o��b����e��q��
��zjv��M�2�ҍ�xAn�#�_ƻж�����7�~��š�?Uo��_�r�h�1o�9cy��F
�c�c���O�^��5?�{�6����M��dɈS$Y�[s43�6I�:$��;�o?ď��;Y1n!��윙��yx0ޣ�"���H� 26dY��
�C�#}AV�o�c�Կ�!���ث�s[�a��Q�{lT���h
�RS>9�@�)�K����0W�z��p���`�˨S�A��@o�:�G�[�ѣ�l���!V�e�;?5����H��s3bĮ�+`nrK8�\�i�d^�;
1�|9i���6z��PЦ��GWRe���8)^�7���k>��Ӫ��w8�F�1�]��)��؟T�#�}�<|���Y���pD$�C7�'�����`�9V�#L!S�`�W;���Ӛ}�C�d�/�8g�j����i�?�ձ� nD��1� �a������ۢpL"g��?�?Sp�@�D��x���ճgdӒcU
Rv��ݳ@l�L�ä��<u9� [...]
-endstream
-endobj
-813 0 obj <<
-/Type /Page
-/Contents 814 0 R
-/Resources 812 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 808 0 R 809 0 R 811 0 R ]
->> endobj
-808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 578.253 122.538 590.208]
-/A << /S /GoTo /D (main_Sch99) >>
->> endobj
-809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.791 578.253 275.798 590.208]
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-815 0 obj <<
-/D [813 0 R /XYZ 89 770.89 null]
->> endobj
-816 0 obj <<
-/D [813 0 R /XYZ 90 721.073 null]
->> endobj
-818 0 obj <<
-/D [813 0 R /XYZ 393.867 540.205 null]
->> endobj
-819 0 obj <<
-/D [813 0 R /XYZ 90 515.717 null]
->> endobj
-820 0 obj <<
-/D [813 0 R /XYZ 116.849 397.781 null]
->> endobj
-821 0 obj <<
-/D [813 0 R /XYZ 90 373.986 null]
->> endobj
-822 0 obj <<
-/D [813 0 R /XYZ 353.539 255.356 null]
->> endobj
-823 0 obj <<
-/D [813 0 R /XYZ 90 231.562 null]
->> endobj
-824 0 obj <<
-/D [813 0 R /XYZ 127.27 166.421 null]
->> endobj
-825 0 obj <<
-/D [813 0 R /XYZ 90 142.627 null]
->> endobj
-826 0 obj <<
-/D [813 0 R /XYZ 195.948 77.486 null]
->> endobj
-812 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F23 364 0 R /F8 537 0 R /F79 502 0 R /F87 817 0 R /F86 594 0 R /F13 578 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-833 0 obj <<
-/Length 4851      
-/Filter /FlateDecode
->>
-stream
-x��<]�۶���ڧj�Z4�
8�����I�M��}J�s8g����O��~�@�@I��=yI.p�?�rq�(߾���ިra
-#�\|�Y�r��)�����%�W����� FŸl�~��ß���
߽���� �\�Q(�X�^��r���,ʂ�x��v
N\���/���L@!�0B�x$�M
-w�Պ�e����C�o���rߺ돶�ں�o�f�#�����\�(/7n����
��[u��[
�j׼�϶;Yv�\��v.{[u��~�쫝o���վ�M7�.龇;����[w���f �j7��䦾YYD�����5m3l����
^
�
gǦuպ�k�p��ѱ�i]��z��Xd;,w�
�?~�b��
�����	nx��xEIJƟ���w���]��*?�� ��Zq*����+*����c������Z6u���zXnhf�	�
������m����CWDչ�u�{6C�4F��6� ��Ώ�xE QO���^7Y
��(�+Ҏ�sX.
�F|	�b�ЄN�P�
���\����}��n�%XB��w��˺q�β�7�b��M�Yg����#��ϥ(������io�������P��}s��
V�-o
ڵ�ZB
0��o v�6�]�=y��=����~���v�K�"�?؞,پTIOK��w�vw��2�k�DI��
N�6�u�+�(h�U�T��ڡ $ۄ"Y��`���滔
Y�4v�4
`+8\l�_2�T��trT �l���<��������F�
-��M
=a}��_�� �ԗ��
}��`!L�Њ
���e�J1t�*3/8���D at H��|��xA���
��;� �(1�p��Y^P5v@"�l������Pw����H�HM+�L�`u1QED�J�<tU�M�È�@@	e#J~.�̠
f�x\%�DB�R
Ôef.�����@�,�G���/��-0�,8S��^Ղ����
��;��Z��0{�I�+�
9�v]�5�]��v��3hQ`ωwmfŦ�� O��+3��/��Lq��E�ɜ��x�w�`���zr���=
�)�����E�
�f$��^��s L�dnB�1�8���W�T���E��._�Ə���p+u4]�a<^*��


�
⎪�K��� F�z<�۞ '2�2<�\�z<9	�K�&B�К=V׀������E`Led
��r%
--��:�Û p,T�0�� ?I*Ժ�)�hJ
�LF0[Q,+���B�W�2��%�^���h*�/&�Jf �9
D:���ܖ�RR�h��wl�P\��M����?�^ǘlr�U�x
�|YQ~�fe(˿���_
��r�B���2��q-J
�D'-p�f��u��W�`� �c>
���[����C�~0����,F��G����\���J|0��������
-|r�7#�%�&����r�r�Y�D'�)��֩{��^w�
�
2��>;�!�k� F�5� ���m��F�z��&
=�#̹c��j%�X�A�d ���U��_z@��q����.&t�E�
�Hp(�j)	
��
�ڏ:ZS�ƽ�0�}q�h���S�
�\��5m�
-���<5U�
-
��y�x+��rq�� ��Sk_\�� P�,��X����Қ�Z�)s� �.�P���Ǥ��8"�9���[[8�
w��
z��틀��� ���������0�d@��)y �ScP;�!�l�`ԕ(�����H��
��E"?f'`�&�N�
��A�Qs

� 
�DИĉl� ^�m�N��ֳ��c4�
�c~�B���
-���6�����	I~By<a���WH��ϱAQ��J�<ڌ�
-V;��/��N`
|����"�`�EM!����UnORk�̅l���A�a=�۷���%���efb:7�N&��P.)&���#g�v�C�!�/Eb	"��%���-�]��֓*�-��3��9�ioXL^�a$3ь��Ya�p�ۜ��!#�ՄDؘT�3t���F���Ro?SJ���������9�m��A0�JyNw�Tw���*���\��H�(RrN�!�� ����"�-.�ݤ�
d������-Njo�
`��@
������
-H3"U:R&	�R|ሚ�z�E'xXS��e~�UK.n��
���Q9
��c����j������(���DKA��OL,eV��)rP��ۂ�l����lp2Ȋ2��/m�����Ž��NM��-�
��M���=^�fGIp��m�P������P�2�JK���͌FOy˺�L[�
�8Ԅj��e2�.�s�x��[^?sq:����SvY�����&�*�YUB݁�{�
�.����n&�;�i �,���q`:u
���# �����7߿Ch��x��-��.�I
�J
XIT�9
���J�`	���=x�֓��2��[OX�A��
{1o��������-�yK� �_h?��sBH�f,7���gq�~N��OL.�8o?su)e��~vz�`d���0 �>HB��x�
���=�ضn��$ۖf�ÔQ�e�
��ч�i=d��ֶ�zC��?��/��}�i@/����
��n�ᶫ�X;\�����X�f������
-��
�?ۦ�
��r�!��$
��D?д���&ꟲ��g���F�W@��)��b���u�\��
��� H� =��МB�A��
r��qz
-M�|���ҩnf6N�T(%�R�d�
���Zqe z�+�8{C�)�B*
D;��>T��력���V	4
����k��Z�8�
�<[
�w״
-:�*93���]�p���o�ۇ�q��j�����\l���r�����q���wkia���չz*.
-@ɹ�}nx
�I��2�L�\�����f�:"`�M!�Ѓ5 �=��P��ъL���rP4c�������i`��qu��~&�G���t�FM��u����20��O0�W�[�k�����w{�L� �M"�=��
��(2��0��O�(>E
�5�bhj�hp��kP��314
L
�瘘�B<;����'��m�~�5G0cn��Y1�o��
I��"eC�JZ妤:C���2���T�g�lY�X�μIu�H�u->yw.D�w�����jʒ:#'l0r�>�"���\�!�2�<��=��0�J
�OZ%���u��2����uK��3�m�v%��e�ؼ�u㮬k�k����Zt>֘s4o�w�{���#c���=d];4��${y�eɗ��	u��@#h��V�G�)��c�K9�$'�����p�|��n���M&�J�X'�K���ڴt�l�
�z��>8�RP_��;8�����v� �l���f�l��Ņ�ӎ�dK��}Pz��Ζ��bH�_q�=v��g�g
��w:��Xq�]�=�w�&cc��9����|ݽ/����*	nn����;�N����������8��$
-�O�>���΅����r���9�=r��J�%X��)W}Ԯ�0�{��
��*��2Y�8Sˤ��	?�e�h^^�|Ra����w}���Pm��NgK&)hаA�s������I��&��.��ql��-��1ss��9*#h��GL0��԰k���iQ๺p.+-�W�G��LN�?��"5WɅڍ\^ɵ������ʼnJ.Q��Ab1�[6Y'�(�O�$�#A�А�w
@���+��j�m��1+���4=��y�w��c
�R�E�@|i��3�
-�;h��
���
-���y�gzabFأ���J[
Mi��7�t[XU��3H3��g3/%80ZR N��D��,m=�\R0��-��D|��ד���
M�1�U�/]yR�##
��;�SL�٭��m��\���
-j� J�&�3]If*)6?+��/���.�
�2��Eb�"v��K�oLc�y	#�(
���$�����+$p`Hy����\.<<R3���3.���1��?�� `�S�d�N��Yt6Ʉ
�>U��9:���O��'i��̲�)��'l0�;w�������䏴�HFuH#HE��Ρ NE\�v.��Ig^2�g��:�S��'��G6���x(�,`$����u����U��:�~) ',6Nu��z���>� O,
���izⵛ���CG	��I��).�7�f���
wÖ��u���Ɵ�ws&
�*�ֿ>��xx��bه���k簏_@�A�+��>u@}
�?�Q&g`
�@��O��aհ�n�C���o�*Ldm���$�#��sf3�{��Bsy:�N�1���΍
��}�� \�헦`�|�C�0�q�:ܢhS�A��%9���(|�
9�1m�C��$m[	
"Cg�b�G�޸ON���K�3?D!�S����![

-!�����Y�5
����Ϟ�M��"J�448~
��w��H��'tƇDg���V�ud�3^Hm
;i.�솎��#��3���T�|�P	�$�q��F[2"�]��3�,�L�i�p��
��U�[=���d�FT��R�XL��TL� ��iy?J�ԏJ�����K�t��t� �(.��?S��P>�z����S�
-
���
–L�%�[�����ytp,/d�7��k�'Ş�G��:od�Q��zψ�^�!�6��]�[�{�� �@�il#=�1���V%��0��
���ҹɡ��o7}
�XU
ьC6N��ў�?o�+,��<�g���4jV-cF�\|��+e oR��Iǂ��GB4��LA��QB#�h��2v�G����`�����ް�\M��?
xzgc�ݮ�A�
ߎIx�{_w�b�q��U�0|8
-y���1��'E:�
)���$�[�/�����5�H�q����ׯ^=>>�xh���h��v{�]�t‹)*z3|$k�€M;�ގ������/
-endstream
-endobj
-832 0 obj <<
-/Type /Page
-/Contents 833 0 R
-/Resources 831 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 810 0 R 828 0 R 829 0 R 830 0 R ]
->> endobj
-810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.78 671.653 389.769 682.557]
-/A << /S /GoTo /D (main_Operations_on_Convex_Polyhedra) >>
->> endobj
-828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.559 603.537 333.579 614.441]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.336 266.646 346.916 277.55]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-834 0 obj <<
-/D [832 0 R /XYZ 89 770.89 null]
->> endobj
-42 0 obj <<
-/D [832 0 R /XYZ 90 721.073 null]
->> endobj
-835 0 obj <<
-/D [832 0 R /XYZ 439.645 662.851 null]
->> endobj
-836 0 obj <<
-/D [832 0 R /XYZ 90 646.507 null]
->> endobj
-837 0 obj <<
-/D [832 0 R /XYZ 225.341 325.959 null]
->> endobj
-838 0 obj <<
-/D [832 0 R /XYZ 90 311.673 null]
->> endobj
-839 0 obj <<
-/D [832 0 R /XYZ 150.808 157.557 null]
->> endobj
-840 0 obj <<
-/D [832 0 R /XYZ 90 141.213 null]
->> endobj
-831 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F86 594 0 R /F1 577 0 R /F13 578 0 R /F31 503 0 R /F7 538 0 R /F79 502 0 R /F9 615 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-845 0 obj <<
-/Length 3433      
-/Filter /FlateDecode
->>
-stream
-x��[K���ϯ�%Me��� �ڤ���*�){כK�>p$j���ԒҎ�ߧ� 	�%�z��$� �h|��uċ�^|u��wW7_J��Hg4[��.4^H����j��qI��+�1^~�/��P�U{��/�����7���)7�A�	[Rq�ӻ���xw����xA�I�X?\��^l���
��V�G��a�)���⇫7W8Vd#a	HH����
#_n��ñ���D,��-����u���<�Xn���s��~��ܕ�M���Mq86n�д>܏�”o��A���IӰ�n]�h.
-qP�o�W^�����e�;�E��%�VY�ŏ�"[ڥPb�ڵ���$�A�{�_(��$1�
1���y��8��B����tJ�h��/		���&t��D�V�b��BxIH�K3����zaÌ(hW�巉�Ͱ�����<FD�8"T��?O�@���xY�Q�E���~�_��N��Z
� ��*ʵ��`���EB���1��	^��RŷG2P
1�s=�9�ɘ����rd1
:���el�:I at a`ƙ�HOvD
/�L^��)}G��� u��� �*��s8%"��$�D�\�
Z��f����*f|5�"�}|��-���o�+e��O��q����o��Zm��Ӫ4���)[�V�kk��~�+�����໋Ƶlˇ���W��\����D)\�>����k�;A�����4��n�B�S�����L/��|_������f��3��9��������vr\߻뼵�ࡋDp/V�yToݓqP�G���y�߶*)M���\~i�C�L̮��C^��W6�w�PMï\n]�UK;"�:��
�	h����A
-) ��%�
F�

01�QK�:[� 3�\�� r
�ohT�NF�KGԲܺ���
s�vO�#eT�x%t����X����(�G�D��zO�N�
�wT

v�<�N����R *�_[o�m�'?�����8���4u�
-� ��{,p��q��ub�,CT��D#f�!A$!|DV>w"�U's�7�2���ج�Db\���N‡K:"n�@�b�K�$�M<d


A�9D�A�AD�W,o��� �d
qO��]@�C��b��;�|����`��H��+`у��7���ΦSLJ�2�C��
٭��vKz�����n?O�q�C�h(��Q��i#�{�U�
�c�����
4z5 ʉ�C�h�=>f=
��	� 9!�2n��cQT)�!P��ߤ4��S`8A�4
&�3��Y�	�m��>�q�BȞ�	2�Y�)bSa�f�0�d&1�_��"�,Ƽ��mE)C܆=p�z��8A��Z�<[�'
;���c�tp�4K�R�k�C:'dA�uƼ�&͋�� �",�.�B��
�y�r�}�[
���L����Ʉ�;��\���%�I�"�
�=�n`���e�Oj�L� �&�)����Y*.R
΍d��
-^�A\>.��i���tu�!*���"�;�Ai
ԏ�
-�M�{\�]�����}�����ܕ�ux�x����z��mT�����X�`�:B�=Q�u]�5���$"z#����3��'�=����7yY
|=��
�eGue��s[}�B8�bǔ(�������"X�%���`��d�1�ɩ���qZᔞE ����T���fR�{s[
�Z��A�n���=�YS웢-��Y��� �T�M�EÞ��彾�46�5��� ��&���@�a��Bj�$x��l��K��,����ɗ.�����d�GdA����Dт��]|�QY��ql��V~��0yPI&
-�*PR����`2
�
-
�<<��(U�4�]ȟx��D
G�}��wbM��0�+��|0��<Oy`�.4�_����
�.�DS�`��l�1XQ[���U��J��2a,�Ι-D�lRV1
փutZ'���r���Os���nW���޵�?1cpf���9�{��h�V�`��]:��_�Q7e�smCb��6�C��
�jV�Bz�7)�i�c�|Ow��B9Pv�T0�v�ʔ�F1�b�-�L:�.\����.�n6}��
-�
�!\�VR��P����d.��ƻ� �c_��������4�(#���9i�(�
�j
��0ZR��8�pX4�,���D�T@��"����h
�h#4�h#���`���d��p�Ͳ�
���
(�?5�k�##��{����$bC��
c��P����
>g7�r'��h�Λ
'�Py��� �p�c10sHRi\���
�*���z�w���
H2D���d��Y�FK� 
���h���ֻ㦫�ı2T<�
WI�
��
��e��4�t�l"*��)��@AȨd�Rn_�w����u�+�k�{ '��P�i���ZN�ip�0��y�ї����0���2n)|
-��?����ǻQ=v�*��@Aj_<�JW�Dz� |�`������C�-�U&|&��
+�ͬ���t���԰�d]L͐~���b
��xc���@�w�O�v0Y�]��R�xm�Os$��`zR��@�
-D��uF/�e��B��t[�y�@�������"xvN'�zj���!9�d�܀
�<_��,ˇ���R��xy��"�&�Z�Ht2��
�MB"�ϸ�d���FP��o��l��7ڢ+ at n��ޤ��8���/��SҬ��
'�Nm�(~���Q�@�eq�l@�˙Q���_�8/0�F��\`�ÀK{͗!}�(�,��9-<�^�&��*p�i�Wd���M��E�P�I�2�ؽ`�}��Ռ����Nh��ն�Ӷ�HM�lC:-�|�j������d:�/���f���(a��;YU�K��<5�03��9��^2Md�ɥ8E�=��[Nry�� �D�fljR�`�������o�U��pʨ��wS�'���87��8䜮�)���L�m{|(�t,�C�)��4��L�Ts�L�q$s:�����e��0+r�;\w�a-+����ݖ�ytn�RR4�����Ԧ f:�ꃯu)H)!M�ئ�����m|��EG�aҺ!����`:���y
U�B�g r7jjw�a渫kbW~׻�=�6<O���H�3�"4�t��e�v�͈uk����Y��XB�*�I��brm`�D'k�R�P3� �k��h3���}gZ�S�lP�C��ؠ�F����H
�3��Y�A� �bb
D��s ����5y����O� [...]
C���ͻ$�a͂�A���8�� ��
H�N���zf}����^�\���Pt�.8`V���7���R��������B�]~;|׆��n����
�W�����}�g��
-�M[v���/'���$����t3�e����|ZH�Jڳ\ݷg��������G�nѱ*�
*7���fD�Y���޷
>
�.�-+��`S���
�>��
-endstream
-endobj
-844 0 obj <<
-/Type /Page
-/Contents 845 0 R
-/Resources 843 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 842 0 R ]
->> endobj
-842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-846 0 obj <<
-/D [844 0 R /XYZ 89 770.89 null]
->> endobj
-847 0 obj <<
-/D [844 0 R /XYZ 453.524 621.116 null]
->> endobj
-848 0 obj <<
-/D [844 0 R /XYZ 90 600.797 null]
->> endobj
-849 0 obj <<
-/D [844 0 R /XYZ 90 513.931 null]
->> endobj
-850 0 obj <<
-/D [844 0 R /XYZ 90 496.102 null]
->> endobj
-851 0 obj <<
-/D [844 0 R /XYZ 491.236 77.486 null]
->> endobj
-843 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F8 537 0 R /F23 364 0 R /F86 594 0 R /F1 577 0 R /F31 503 0 R /F10 504 0 R /F7 538 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-858 0 obj <<
-/Length 3906      
-/Filter /FlateDecode
->>
-stream
-x��˒��>_�[4�o�v|�
۱�x
�Rە�H

cI�Ij��ק� ifw]�A D7�F���32���ӻ��_h2+�B15�{�d�E�Io��s�n��z�U��B�G���W��}���k
�����
-CdF��2��l����'2[A��3��"�
ͤ�L0�����?n�ET(�(�0�E2u�������r��w���d�j_�eߴ���/��!��]�]p����͢O��D�� ���z�K,���J��������zU�,�����������mپ�Ur�z�Qn6�-��cg�> Rf*~��m׎��y3��L8z"�Y��n�y���v��p�U��hh�)
��^P ��
4+������>`9���m���f������Ҽ���GBXo�6�5n�
ҩ�ٮ��3×z�W8��Z��۽��ܹ9��-#n
�/��e�p�z�D������\��j�����v!H1�ʜ4�N���]��۟��m�k���\����-���Ho;^wv��|���7�m��n)2�<�g��k����fª~�]=Tmg��t�l�m�����C�lS{t ɼ�Vk�]��o\�r�Pun΃}�+�ҷ�Ҿ��n��{�^�
0t�������7]e�	A&�2Ʃ�o`9�ϙ��a"-2"r?�K;����
-�s��3�b $Y�Y)��Y^�Y4�
��Qj��-mX�B��4�z����
h;�ȭ�e�54�>Kx
�#�у�AW$v�ģRe�3��Nɣ"+���N�4�����C��Ƕs�:C��A�5@��)
E�4��%Fx�D
M �� �����m�F2t-{�Ӹ ��2��?����MC��RX���T=�A=1d�S�R�3��Ib;`�
�cu)���i�ݺ#���
�$l�gB	����G�~�b)4����N8fX�M,^��II&���L�����2�Ԅ�'���D�J�K
6a���*@;��fFJ������
a�
;,�Y�f��@�:�H�˂ �b�˖��ZL��a�^��\}N��2�9��"�dq�MH �;�	a�%>��F�FYp��h�3�ŵc��cN�d��$
Mk��%E�
bV8Ϣ���E�9%\�_�M��y��2>DZ�*T�����>0si�؛C��aR풌�|�:&�/���k1㧌�BP�I��rh�Tp�J��* [...]
-�@{��e����]k������5v�1�L�wY���ry�ѯ����w&
-Jx��'q�T�
4�cٍ�	��9�y��s�x�e	�^S�>�4�:V�F�cD�	�$����dZS+ӧDf,��Lc̘���F�Ш���$��p��MЌ���4�G�h�
���hv��tL0�Ms�%y���l�5�t�8 �
-=Kz�������2�B�Y����ef��C���P:U�7)^ձcY�5�Rq�MI�*/R�f2,�
ˑ��J�����L|Hյ�a#�%����\����9�cn ���]M���ܤ<�<�崶��ew��*���E�Q�Ϥ�tB���2v�~��� J�0ͧJ���.�匭 S!8�A9Z�U��\&�/�[�ю��
-������
f	��)��{k_.

R�O靏3z�?��5N�t�,Cl�R[�R^\T\,�"\R�@&�'�� ��
?�˿�zHDB�(���
F�6#��2�!�:�%l�������"���'���em2�v�ν\���#|r
;�e[n��jO���C`�G��G"I*{
-��~9{z����O�ͦ\.�S��d5Z�8��8�.��y�t�
MiR�D$}a��9V�4�C:�Y��8�X�Q�����H��j5�/;;3��.���m~���ֶm=I�]�vF>�Ԫ���=B��ہ(�B�(��>
-���B���db�gZ�� jt�K妭��[�va
5&0�<��nv��P��h�錅t�d�T�
�
e*��!y�5Y�9�0Γ�9@��LF��<�!{���9�@	�W~	a��0uٗ&\\��
-R\�kh����
-	;�vI&���ݓ5�Ԋ�dM.�[���-���[
N@Ȋ��)/׳�܉�سvH��k ��Ye����|r�,�9�����<�T��
-:B.}!AA��]�sH1�f�҂��8�*�B�ص j��}���
-�x&�
r2�6��\+r�ӝ�yst�ߑ�d
]ޞ�s�������9�3
-X��ϡ�������\ё<E����#/'%��������Z��C�yѤ�l�Q�cF����+ʴ�(����^U�����eeV��]`���
̭��qz��c��&����Hb�����f��|j�
 ����mi�t���;��:#LV�<`
�V
����ڮ�T6�����d�t+j��C����ˣ���_�k���K�Ǧ���p8�ç�k՗"�x�&o%��+�O�]��<��&hU���r�&��b�qؘ�=s�,��_=(���OSqyNk�}|!a��n�W�/��M��u
}�u L�_<�,���Jr��
�dAX��>�C���m�]o
-�&�o�����
�G�)�.˓�oz<!܄I�$�t�p$�*��L�f���Z���e��9\+u�mM�

cH�/��� Ɍ�=�m����
���q
��Xy9�+�[}��v�V �O�I��؉��*�xE���̋xEs5��e��
��Ww�R;��S�
8�����?�h�)D��\�%��j	���( [...]
-4��"��~a���q��
-�L h��~�gT'ʩ4��0�e���]V��1��\qZdJ���>�4��)dXrЂp~���,��c[�հ��0��c�����*[�M�hn�:����WqC���7�NN� ��
v����^z
�	��>������zX��wZ^P�n HH����ʨ�}?��]Sc˪VC2�9��[%�����
cvm�a�� �K>_ ^�j�aO��,9)w��ݬ1d���
|�?*7n�1姌�fݳB�K�q�u����Q��{�s��zm+[9w�C](�x�
�L%n���y\�-��+�h��;Y�i�Hѓ�T �kz��6+W+r�f�u�澫Z{��
-Z���Xk
-�i�d���>
60�~p`(��;b��9���Ly��oKp��2Vk֗5e!�^i�Aeyڱ�.#_�� G�_��`S�ևr�ް��}@�R.�.���є'���l�f"��n
6o~F ��I���6�ϲ��gBI��a�B?�����o��wkR4޻M�8�DT)
U>����bXwZ�V��S�pF�
x	���W}���:�=���ߟ��$bb�e��
- l
-?Kd�T\�=���X�U;"~�q.�rZ�i~�1�)#Q�Q	P��@�+P:t����4V�bɵ��+7
t�P�f
-u~q$��~�^�h�C�G�b}��G��S�P���uw����{|=^�W�n�M�����O������'�`6� t&�<J� ����[W4������_��O�5'�/wC�
&-
}�AH�g�{s,�+�]���<�ݘ�#�spz�`�
�~��˗��1[v�aW�۬�_�?���_�V�"*D��d��s�<��!�~C
�
-endstream
-endobj
-857 0 obj <<
-/Type /Page
-/Contents 858 0 R
-/Resources 856 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 791 0 R
-/Annots [ 841 0 R 852 0 R 853 0 R 855 0 R ]
->> endobj
-841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.077 683.608 412.698 694.512]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.366 355.89 371.373 366.794]
-/A << /S /GoTo /D (main_BDHetal05) >>
->> endobj
-853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 153.983 230.92 164.887]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-859 0 obj <<
-/D [857 0 R /XYZ 89 770.89 null]
->> endobj
-860 0 obj <<
-/D [857 0 R /XYZ 90 721.073 null]
->> endobj
-861 0 obj <<
-/D [857 0 R /XYZ 90 418.393 null]
->> endobj
-862 0 obj <<
-/D [857 0 R /XYZ 90 410.122 null]
->> endobj
-863 0 obj <<
-/D [857 0 R /XYZ 90 205.224 null]
->> endobj
-864 0 obj <<
-/D [857 0 R /XYZ 90 196.953 null]
->> endobj
-865 0 obj <<
-/D [857 0 R /XYZ 319.418 157.136 null]
->> endobj
-866 0 obj <<
-/D [857 0 R /XYZ 90 141.213 null]
->> endobj
-856 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-873 0 obj <<
-/Length 4032      
-/Filter /FlateDecode
->>
-stream
-x��ɖ���_���~o��N�~>ر�%N<�L.�qb���-�2I��~/��*,$@A-���E@�P�*j#]�-�Ⳬ�_]=�KF)4׋W���.2Y���Y�^2����QJ����Wt���e{�����j��n�~��n�h&�<���՗W�������t��
-�d�b��z�-]l`��%��f�n!�������?�h���3dbhq��B-�e7��ö�%]>�A���mg�V��޶�z�-�|�7US7wv|�/۪{����a����g�غ�߷�!����E����
�a��ֻz�6vb�=����
-�i��}�--�q�v��7����b)�r/u�ЎT����f�,[���6n*�諍m
�
�k��n��vU3�' �;bYA�
wP^yù8���-�db��$Y�y C��o�������_w��Dzn�pY���x}����y����ٷn��! N�W���(�r
)'�r�++.��(����f�P��G����Ҏ���;Tͺ���c?T;���S��lj�^n�8�q���U�g:��W��zp˷���Š?�[��ho�ĕ�lY�a�O���
=��vc(
��G�?���
-�
��$JBs��{;T
L99�[�s�<��P��e�Y�A	v�AND�r�
-X�x_m�V���������;�
�˻P����5'm�}�3nܣ�f(���z�.��j�Ny�u@���Az��� 2j�@�
�`QWYA�n�	[Gl�����ͺ�j7?�$�;I�
_�	��bV�x a}!	��������\!

� :_�x�m�eB�f��
����۷�\�K��:X��:�
	�ap
�[Z���ZY����F��M�+�0�\<e�8��rīv��IK�_�T����4�
-�����?4�6nȉ��H�]���PE��A�ЏT���p��ȴW�#�Y��Z���awS����f�`�3<�Z9��f
k��DK�m��Z��i�Vm�����*u�>��5(��˻"?R�V
- ̶o-���ە]��ep5���_T��G��ӥ� Ͷ2��ͮ���`8

 d�P��@;����m�h;l
�����㈗Ql�d�����q��ޱYvN�����e�� �u�f�8�jb?5���_��:DBU���B	8
j���(Ri6�IXc/ƚ.?���ʳW����lR~�B�7�s���\�F�`�A��`��]����΋���k�-�*W�jR"�h��������b<��$���grT"�Z��C?8�����q�1�����z��D����[X 5s�]

���%���w	�4��8�g���s�����Q
�P�S�(P��/S:�n��Qy�8X*�*
`r����:��#�[�q�
���*(�Ԉ2=��)W8��
g>�eк�
�n�\��{	�.-�<%m�P=b�?;#�x)&��Y,�����0r��
-`���h=�1j��zۭw�b�
D���H�6��Zd�jsh6��R�����
�v4�A�َ���DjE�D��Ro!շ�ߊ�h��ᣄ02�����uA�n�>L ��HG�p�Q�Li��(1ND
�����l��'�Q d�gТ��Y3��. at J2:bId�怡���N�+�f"��S�
U��&�t�O����c
vf�:�ŧQ�.�8E 
)��ʏ��`kT�k��8>�^L��� �H��N�/E�b����IE*���$����R��z
�����rd�gtʨO�P���z�z{��=�De�ɻ��<��Bu�����\�@��QF�$�畑᪁j4��(MӺȉFO9!��p�g7H�����@�k�
-!����D
-�}�6)�@��A9��w�|�;&���V	�_љ�c�@����lx+P|ٱ��g�*�9�B4�On
꜃8��**5��C>�[<<3��+	C�`ίˊH�s�ƟRG	�d	�?v��eO�_n���6ND�g6^q�����HI�w�h蜊����s�ʮ��V�K��
F-퀍�H
o��1����Bg�jn�[W
F�?pn�3�������&>�}�PS�O�`�!�ɐ��
Y��(�EG@]p��.
ƛx<���4�A���_�o$8��i}���$��P�L����/SP��x�1?��p�k�6��
a�%����8a<
��p�����5�ḋ�E73�
-��g���>;H
��O��0a��'{�3��D
A��I���ɒ+.4�A,�fe A)���U0k�йs����I
qZ��d�����s��6 ��n�.����~�#+�p����`�1!#p�y1����
 �soE}Z��hB��=اT
'�����3�$W�<׎���
E;-���
�:��>>�tvL�;'oO�`Lg�2EA6]����G�d�.,08<T���.�
�w�n��f��l
E������X%H
0���_����lϙoĩ�BM��&y$�
@m�vd�Dzke ���m���H�.�Snb�4$w�Jz��KG �?ɹ���q]F�1d0��J�
�&T�Տ�㘽�!N7.��bs�Y��8�|����>����is�_)]�O��aGd/�^��?��g�Po��M�jK
-0��lf��r/�:br�w�%�6����+FQ>��M�t{J��|�%��DA��Q�}|�38�
-qgS/mf[��t/�\��a��ABX�������Va��׵s��-����p�A����2�9p�0�'�.�t�T!���4���@ 
"�M!��&V�D,���.лjbp��`v0i,��ȶ�a*�S��jJ�����Py|����
�6%�|�ݹ�γc$��*B}N�"
�29�_��u�FpaIE�c�vJM���K��Q���298J�SzTc=r�/����*]G�}T�J������Kn;8�9�x.$�؈DP
-�������,�z�L�X���Ax��#�FI�x�`#��э�^��wS1�P��ō��'�Y���Y&	��Hi'��͍)

��p�Gj�ʼn��C�gJ]i�`z�	0U�&���'�Fs^���nSuc�e*��iA����u���%����|=�
�Y���׈�2?W���q�bh�e��T�w
"B2��5!�'ӎJo�O�����IG���}'���,u�%�
oC͙+
�N��	�Ib?ON�"��64�)�B����Y��ˀ+:f�g���y�塚��,K�6�#Y!@L�J���Nq�(p4�Ma��ݒ��$��l.uV� ��"\P�K�ِ�Ӭ��]$8��x�H���r�F;��@KV3�$]dT�)�f��S��)[��ꐎlM������7�{�T��H�v���y����]1!@5b�S�\:����o�wN2� sB"\�{}��n3_p+�]��dL�kR[މ��z��Υ������m}ӕݣ��i��{�Tq�������ǔ�F'*�2Y<yn? �y��6-�VQPΙ�X
2�v�H]Q8�NE�&�Џ������X�ib7��)
S`���P�g0��г�*_~�^Z����pU� �ƽZ��T�uS���8�4v�-b��ה�c���B���z�F��
�Y�niw�]�#��.�nI�S�ü(�]�;�M��'
������a嫢�A{���ax;�M���Δ!G����
b����]��x����
r�6����<׾�?��z; [...]
-U풳��$��лL��}�&6U��e�>�k�ž�A�2�zͰ��|� Ɗ^��y��%���kf�����
W��3
c�k��� �����M����A��-Mm�
|��X9��6���P�"h
��ɽV�a��F�Y��d���;�9'�fؽqo:w�W
���Be��?�2��|q;�L�_*m2[~m�2
��B��P�A��K��J_��>@�ݯBR�������'t+���<�bqz?V.S,A���
��:��}vg?,|�WF��Q��=�����ϟ?<<�uOM��H=<��Ϗo� 
-�ӕ?�z7�*��*G��?�?cg
-endstream
-endobj
-872 0 obj <<
-/Type /Page
-/Contents 873 0 R
-/Resources 871 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 854 0 R 867 0 R 868 0 R 869 0 R 870 0 R ]
->> endobj
-854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.533 696.002 486.501 706.906]
-/A << /S /GoTo /D (main_HPR97) >>
->> endobj
-867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.495 565.759 266.135 576.663]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.01 565.759 392.525 576.663]
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.467 542.223 428.905 552.753]
-/A << /S /GoTo /D (main_pointset_powerset) >>
->> endobj
-870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-874 0 obj <<
-/D [872 0 R /XYZ 89 770.89 null]
->> endobj
-875 0 obj <<
-/D [872 0 R /XYZ 296.413 651.334 null]
->> endobj
-46 0 obj <<
-/D [872 0 R /XYZ 90 634.632 null]
->> endobj
-876 0 obj <<
-/D [872 0 R /XYZ 90 543.219 null]
->> endobj
-877 0 obj <<
-/D [872 0 R /XYZ 90 543.219 null]
->> endobj
-878 0 obj <<
-/D [872 0 R /XYZ 90 528.673 null]
->> endobj
-879 0 obj <<
-/D [872 0 R /XYZ 90 135.971 null]
->> endobj
-50 0 obj <<
-/D [872 0 R /XYZ 90 131.251 null]
->> endobj
-880 0 obj <<
-/D [872 0 R /XYZ 90 75.329 null]
->> endobj
-881 0 obj <<
-/D [872 0 R /XYZ 90 75.329 null]
->> endobj
-871 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F23 364 0 R /F8 537 0 R /F7 538 0 R /F12 675 0 R /F9 615 0 R /F13 578 0 R /F28 674 0 R /F6 593 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-893 0 obj <<
-/Length 2929      
-/Filter /FlateDecode
->>
-stream
-xڽZK�۶�ϯ��9� ���E
;nRǞ֓����f�E�$��}/
$#il�+� �
���'�&�I���xv}q��H�
����&��Dd9b
�6ɻ��߮J(��
>2�߿y}����[=v�������4��{��L�ۋw����JRDs�ܛI�$#�U�����ѭ`�0�4�E^�p������+��EQol��^5��lw�^����{+�	
�9܊/�%a�OK���/�\tw�6Zյv��6ȁ
o�
�p�
*��RJ�FY��}G6‘�H�M*���0G�叢F"�D�H擀�
�Q����	<�P.1���L��"��=vfx�-��d�P��L�M���V�v�2��r�O�.��� �|�  E��w0��vMk?�7;
�O�Fm�2��䋪|���mTwh�v$KXzta$CY&���Y�����
�8/ �,��c7�vR��d@�|�� q �1������dF�Wֲ�n"P�z
�6sT��IӁ��"3*��C`B�5~�p�ڇ)�a_}������1��
P at b+��
~��El�9��
�#vH���$�W��C�چZ ��m(e‡�`��l�V��%[�Fmk�F��
�rW��
����O�E�E#(マ���Q$E�%n�
-�.�c���19�#@����僞4�ݫu�����r��]�� A@�����<�N�g��fSַη����p����=��<�Cc��c���`�
U������
�9
���F�&�`��W�M�h(I
z��V�*�9r�po�@"��6�9��ܰ عD�
X0ޞ�=�ݼ
XUl�7K�C��;;i��YG� !)
]��� !�Eh�
^F��O� zvEPD�<î�w�8��u���\�!��	A�
ʼn�|�QێO���ޢF8
-q\1���wUU�۩��Z�t�H��w�z�x�� uH���Ĝ2L��a^��>�]?��w�
>�.֮G*s%! �,4nm�"��
�F��
�=
�,4�*����GY��U&��	q��r��l��廛>�r��D����
��IU5Q�^��Vo�
��2�A������˺�
���ݶ(��·
K͖aQ9c�l�v4L��
�3
WW�t�Xh�#�#�.;u!
Fl���������=6on]2����;3�ڂM�7�W!Q"@��k��6?�3��n��}
wK0e��=�J�@<�|
-�͍a
����k�XҖ�б���U�?* &�uW��ۭ�mU��W�بvݔ{��Y��|
	�S���t8?�n3i�
o/=��!m��h�]�h"�=fiH����u�t �[;`�����o���>�U�����it$G��h鈞><L~l6VO;ԭb�t�)>
-E��gvI=�h�nx��
c{hJ�������6���\��#'��/DžHpl�pm�"����(2VT��?U���{~8��m��o�SQh�0C�����ۊ�x���M��SU���8���sY�Ĝ{:��4(꭮�%�
Ղ3K�i�7o��*�\ݐ�
��T4������R/�^2��ˠݜ��HA��b�M4��a�Y�
v�<�s3�>�T?�}����t�p�Q#���, ���
�K����@<���5%����a=�K�(&��11�~��Z
��u�� ����frG",��r
��1
�
nc
�i�i��G����WBJ�S�M��s�;0F�]**R��(��M�)�Y��CrW���}�����E3��X3���b�Z�`mXH�lB��i�0@��
��>�$��&
�F
B\���
���P��l�p��{�\���M�j�,�0����X0� �
�t_vw�sW��/��"6�@�����G ƒ���e�@R�� �Ϙ�b�Җ}���
�7��6���-���>�X��<ai`�W
��gPE�jA
���D�&���b;\">th6�
)L��9�-ɃW}R�/��;�A�"C��ʳo��D�s�m~A��Z��1^!�78e6��^�����
�&���,c�N���1
B�>�הd��-b�W���O6�
MM��7�F��74l
-S����Z��C��L��m3p��1O� �o �8 (�k.!3���FYnSlJ�B�X #�$

-b�1rk�9�V62���h
�H!��p�O0�:�3;5�R�6���8"8��v�}�/F�(�1���V䶊���Ӣ`�(��Z�!&���%�
�= !PN�$���������DyR����{����g�؝5/U
��	'�-�ĩj���{���U����+I�n>�7���2��]��A�����<��X��CB�9S��p
<�,�
-yɐ`��&��b�y� ۲�J�s�^[v�x|��"٤���
�x_�n�K���x�
��3 L[� F(7�7<�ݰ������T�>ʖ~��#����2?K1oaI9�*�:��Ͳ0ͱ�(J��ނi�}�z���4j�����\��*d�e#��,�a��av�.Z��$�#e�%=�i�ڬV
ܽ��]!<�u
-ķy苢�!>�.;5z��ʵ^���h��Cߧ�f�_[��
'�#�y��x���
�lQٗ®?�0�iE��W��xJIt&3���.�}f"�!���ͬ���P�Y����/v�F5�d��_�����
���*:-)��?S����K�����H�h\F@�y�p��)�\b�
}����b�'�b]؟�r=���Vމh����z�J�����2����@5
`Z��.܆ϯ>���'U�yz�O���T��_��س\����D��f�_K��wjӸ�W�/� ���dl����>UoX�*:�`9  Ljh{��V)wR{�?����
�
�M���c�t�u�������hݢC]�Tv��}u9I£c��"��lzר��
:��̄�?v(�q
-endstream
-endobj
-892 0 obj <<
-/Type /Page
-/Contents 893 0 R
-/Resources 891 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 886 0 R 902 0 R 887 0 R 888 0 R 903 0 R 889 0 R 904 0 R 890 0 R ]
->> endobj
-886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.512 460.123 513.996 471.027]
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 448.168 181.006 459.125]
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.703 436.212 287.736 447.116]
-/A << /S /GoTo /D (main_Semantic_Geometric_Descriptors) >>
->> endobj
-888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.972 418.588 513.996 429.492]
-/A << /S /GoTo /D (main_ps_operations) >>
->> endobj
-903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 406.633 164.282 417.537]
-/A << /S /GoTo /D (main_ps_operations) >>
->> endobj
-889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.712 406.633 513.996 417.537]
-/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
->> endobj
-904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 394.678 181.684 405.582]
-/A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
->> endobj
-890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-894 0 obj <<
-/D [892 0 R /XYZ 89 770.89 null]
->> endobj
-895 0 obj <<
-/D [892 0 R /XYZ 90 721.073 null]
->> endobj
-896 0 obj <<
-/D [892 0 R /XYZ 90 670.477 null]
->> endobj
-897 0 obj <<
-/D [892 0 R /XYZ 90 670.477 null]
->> endobj
-898 0 obj <<
-/D [892 0 R /XYZ 90 651.697 null]
->> endobj
-899 0 obj <<
-/D [892 0 R /XYZ 90 596.927 null]
->> endobj
-900 0 obj <<
-/D [892 0 R /XYZ 90 596.927 null]
->> endobj
-901 0 obj <<
-/D [892 0 R /XYZ 90 578.147 null]
->> endobj
-885 0 obj <<
-/D [892 0 R /XYZ 270.222 526.863 null]
->> endobj
-54 0 obj <<
-/D [892 0 R /XYZ 90 505.927 null]
->> endobj
-736 0 obj <<
-/D [892 0 R /XYZ 122.378 385.876 null]
->> endobj
-905 0 obj <<
-/D [892 0 R /XYZ 90 366.996 null]
->> endobj
-906 0 obj <<
-/D [892 0 R /XYZ 90 77.387 null]
->> endobj
-907 0 obj <<
-/D [892 0 R /XYZ 90 77.387 null]
->> endobj
-891 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F7 538 0 R /F11 442 0 R /F6 593 0 R /F79 502 0 R /F8 537 0 R /F12 675 0 R /F9 615 0 R /F1 577 0 R /F10 504 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-920 0 obj <<
-/Length 3454      
-/Filter /FlateDecode
->>
-stream
-xڭZ[�۶~�_��K�3
�w��L���4i��;����P�b,�
-Ie���=7� Z��~"	���
��
�xu�����S�ȃ<1���n��E�A���v�f�
^��Rj�z_^�L��7�F-��wG��Zޕ�0�es,��c�&�~�����^_�v�aw�м[
��bs�z�V-�0��Ba�-�h�q����OW��R�2��[=�
��U�
˾�6����T�U��
����8q�,
-t�3�Wյ���_�xY�Y�hٓ �xy� çW� �0p>�:
R8�b�?�t�yf�"	T.V:��X����T#�(�҅��s�^�Ƥ���"
�
-ݭˢ�ɢ+�%���\
�Ql
�Zs�����kwU��P�
Jݩ��mu,�j�g�'pf�%�� ��X���
��׮�Ǜ���#�TQ�DAE���DPY-�E��
�����ِ��ƒ��F�40:�(~����S�G+��DF�B�EŪ	v�Qd���_����Y�#��g���1���x�{ǻ���;fw�<[Z�
��0J Br�1^{X	���^S�6m�#��%�{��ze��[���@e���g�����������I�?�
-�x�Btw�ɣ4�$�}��z�?�����(>�U�L0@�$w%�'�E[z��� I�e{��\�۹8����
�6n0]ɒU�D�1��d��,����$+��Q�S�?�F�`4���4�zj�h����9�in̢lW���`��<uOi�z�%_%�=
�:N��A�_z�ɂ��v�3���qX1<�y��!F�F��G8	 !�g�$
�1hNe[�M+ ��A�f���V��3�Mn0�#���(���s/k�X�j
-� ���)
��>^�<�N��l�nΔ3 ��e�����e+/�q	:H��OLA
���{���
-t��
-�1�Cn�]U�2M1�lys�=��
-��L��d����H(�H
�nk܂���b
D��vv����n�"�,��l2�0 �

��T���^��
-F����x�\C^Ƿ���my:@�79����%;��h_S!!̀��{�3Q�*Z,�V��붩K�k�͹�
�b4�n�������&���f�w�0
	�� ԃ6��&�r��X�j 5�x�u�D��p�Y�5�!��A�vJ�l�,�L8͙����p|d���U<����e��IfN6!�ǃ
���P ��$���_|6��X'bp������@Y8�7n�Fi䉛�7}��W�mqjEϞ C�T�>N�,�$�P�ۂ�z�y<
Ȍ�_n��
���N8�&����!S�h��)Z��x�i��l|j���V�"D��꿽�6�����L���y��&���j.�9�NU,g��cة��t�'�{W�����`<I
����Xle�S����3K8����
gXN0%�}��
-�aw�S��~Q�lD�f�൨%1������^ԄO;���/��q�r��? ���
T�n�({���=�L�>
M��O;{�<
�/�^FEA>´	�h�R���f}	c}#
#_�*�7H�Ľ7-��T�1�_�dN��ڮ	�xL��tW6k<�ә��h�@"уtp�f�)jH��>\ޞ���,y���7p�H
9��P6��p�j��z����
�#vu�;�J�nY��&��%B��㚲�XIXTˮ/O
�b$YQbc�w�S���+6�q�\����
-x�����a��C���Xp�������!"��3JQ��iXo�\�G�@��
-��J
 ��t�b������r���QI�L��o
�V
��k�,�9Vq0,b���Y4�O���h
���B�x>-�
��F�a@����m
�mB�cP��IP�Wy����-sF�S�A�7���I�쥴jrTG���]��c��0ڴ�}xq<x�H��ˁ�1�p�	�ğ�^��C�U��sZ,eR����fj �!��d�P�Z��u	��*Q�
�
Ȃ'6�v� �#�xG��{yk�!���s[A��Y��
,�Θ�
�H �q:Zg�D�O4(c[R��0/p��
�}���
Ȯ�-��G�O"=o�\�:af���Q�c/����/��B���-��I����;�
-n6M
�ɩ��|�=Up�kH���IJ%9��aBF@��G��aR\��A���#�j׳�#�I���5�rc?>yc�q�|�%���$V\؁���*r�T�zb4���2V1qK�dq��'\8��$ؒ|�lT����x��]0X��)/K�2ԡ��vO��8s�g�hfk�x�h��
���m0`~]� cy_�
��4`�8��D��C�
mE�Ϝ.��UK}�"�I,6�z}q�
-����I��G����!�%q����dv��r��
��g��M)
�U�S�4$`�
~�*�|�L�ll"��B,4cW�"����|.(:4ש
t0����S�[�6�5Ա��u�@Z
�Yf�"`��4�P�#���g�;Y0q����g�	�nb�P�aw���9�jᰘ�~��07:�J
Y�4����*�~{��$���� �dG�Z��;a�=�����0���^\��8�mڎ�B�T�Nڵ��K�����%һE�b���)�ɘ��Nʋ�*��vQ�
z@�-��|�	�*�0Uվ��N�DsЩ�4=e ��3��*���t:܋�\H�/�N><
���ܦG����V��d��z�m:
��w��������I`@��ـm�Uj#nb��+���t��rn�[�=?�Z��[q�$)򛲻�6p���y��?Sk�j����2�2�'4Z�Q�T=H�3*
W at H��&6)ۏ�}�=�t)����cYԒ����;<�
�l�4I
-��>�!e� A�d�Q-��K�شB{[뇎Y�!Ȇ�_�]?�%��
�����
�P8���
媣���]Bo��- ����ս7�ym;SC=qoӉ�8ݹ?XҵB�	s��Ф�2��d���~���ߒ̶��MfᑚR;��i��r�����S�yC5)Q�*���x��1�b^عr3k�p���x�+7L��'0N��Y
-�,��=n�ԱŐ��F��ld�oҜo,2t�
C�_x�lF��+g0��{ 3
�X9��]{
a3`U�v�ݢ���
aF���q��nZ�Z
�%����6��FH7�^�aH�[
�fX�f�]\��]���ُ8&_�̅����Pָ_H��};	�����3~�����1B�!�"S
-�P�("Y �]Y�5E?�xN�'�
n�٨ٟ��&�k��}�ȕç��H�<���� 	��cX�4�oLqcy��̏�
Cx�7H�O�i��P�g�,+
�I�
U :3���T~��O�~a��~E�ȯ�� ��V��?�x����.�t���NmP��!�?��mvj�� 5��2�Q�[c����L��L�+�
-endstream
-endobj
-919 0 obj <<
-/Type /Page
-/Contents 920 0 R
-/Resources 918 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R ]
->> endobj
-908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 463.822 126.971 474.726]
-/A << /S /GoTo /D (main_BGP99) >>
->> endobj
-909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.241 416.001 327.756 426.905]
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.811 330.444 266.307 341.348]
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 187.599 211.755 198.503]
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.846 187.599 391.518 198.503]
-/A << /S /GoTo /D (main_pps_pairwise_merge) >>
->> endobj
-913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 140.336 132.5 150.682]
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.875 140.336 188.391 150.682]
-/A << /S /GoTo /D (main_BHZ04) >>
->> endobj
-915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 110.199 285.096 121.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.126 98.244 292.759 109.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-921 0 obj <<
-/D [919 0 R /XYZ 89 770.89 null]
->> endobj
-922 0 obj <<
-/D [919 0 R /XYZ 90 721.073 null]
->> endobj
-923 0 obj <<
-/D [919 0 R /XYZ 90 648.008 null]
->> endobj
-924 0 obj <<
-/D [919 0 R /XYZ 90 648.008 null]
->> endobj
-925 0 obj <<
-/D [919 0 R /XYZ 90 629.185 null]
->> endobj
-926 0 obj <<
-/D [919 0 R /XYZ 90 538.64 null]
->> endobj
-927 0 obj <<
-/D [919 0 R /XYZ 90 538.64 null]
->> endobj
-928 0 obj <<
-/D [919 0 R /XYZ 90 519.817 null]
->> endobj
-929 0 obj <<
-/D [919 0 R /XYZ 90 416.998 null]
->> endobj
-930 0 obj <<
-/D [919 0 R /XYZ 90 416.998 null]
->> endobj
-931 0 obj <<
-/D [919 0 R /XYZ 90 398.175 null]
->> endobj
-918 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F7 538 0 R /F11 442 0 R /F79 502 0 R /F72 400 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-939 0 obj <<
-/Length 3107      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~�_���Z+���E�&���tg�� I��ez��,)�܉��{n�%[�Y�@їyxxH
��w�	VO�`��ݧ�w/�H�U��JV��U
��(��z�Տ��??~��I�y��������_?������~�
a(X�<?��lU
�~�9X���*�u����鸊��o�zs�ϻ`��8��J�a�k>��a�Qi��d��T�U��k
ƞ�y�h�u�[���d��ʠ�� P�����<����X*��;�������˞�u30��/��xÁ���}X��oCgڦ2C��img��c�粪H��j������Ɓ�lS�v�#]s)T�ё��瀚��&
����/�'� �Ʒ�3�ytQ2�Q��}��"�o<�u3�
�Wr�:���
��WL�rꞗ�����?�&�gvM;�A�Dz��kN�ʵm_te++n��츽g-O�v��l?�k�y�06��;����v���<�+�����\��6B���Ü"�	G��Ӝ�!&�
#�xwmU�ț�|/+���(
��=K [...]
�:i��̫����yh�k���'>��?���}�|�?���6��e95,P���X4x	4R�u{����

��
:��-����]?��f�l��� a��W���L1��Ie]p������4�[
��ד�є`O�@'��l��4�˝�
�A�
�2	
��4�ǃR`+9\����������v�ʂ�
jCu��Ș�����+�@X3]UҲI65���IAI.Gw4�<u�鎁�>
�,���fn �gK�-0��ٝ
-�c�Rvs1^���5��)��mGhT
��I��q�:tɌ��64����1���
ĻGUmt��)��Y �߮*Ȃ��h
n�	��*n�W�E�ta}��P��5�i�0*S�̧pld��
d��Q�ލ̔ay�j�
�A��N����
˺<��ۅ}�)�;w��IH�K�
�J	n+�h��,jԐe�B��0�}N'����XhNՎG���1on�Hy�,�j�HM0|+��
��ngwLD�C��V-S
��
b*�{��2���� ����η��ԃ;�<.�EL
@��Ta�Ȣ�OM�>[�n�E�CřyKI��8����$,!Z@�ܦ�@�<����p�ĕDN*g�M��	�s)@)�>@2}�=
-f�
Um��Jk��m�'�u
v���ȴ�
��v�.!U�i(&���P�ns�(�5U�‘?F�u�BDZ��Xr�f� 	�\���\�
�
>���Vx;����"�,W+�$��q�%
��SG��W
%�/a�
��frR�z�C2_~�s	�022O�9��N��:�f%���
)����:6n�m����T���,����M�����&��f\�
r?n>BŖ��
+�U�G±|:
����L5�(�ˀ�{i�7��[x�U�qag)��<��|Lj{SV�V�K��o��M��1�Dx$:z�
-����[iz_�f)�W?��H^�g��
ν2vrRY{�.�W�K��(��O
9n�!�E<GxM��3PL��Oՙ���oa%
��̶$�ǧJ�T�ukQIL�ǖ�͞���({�,_���2���ӣL�BW[��9�a��%� �dW�K�
�s
�����ca��]���4���y~G�r�9T�AYꖖ��'0�=f�6�� �c�
-� ��Q
-��P�X1�����|

-�+a��D��M.��'�DR)���,P�[n+��L�
iFI%P�p�5!���S=K̍�{�
7%a0��GMp��[��6	 |�Lr1������ZN0�~���m��r�1*(DR���*�:��R3�+J����
�ն�ilrh8	��%[���s�C�<�5��"��y%�h7��
L}q�'��}n�.ӥB(r~
-�����y2!ص�1+}ӈ��
˱�`9���y�+��r�b(���*.!i���[�
�&��H)'ng�n�!j���na�(��$r�f�ʏ���)J1��+Kmg/�4���&�ޫ ��9�
��xΡ,Ή*)~��8����ţ��7/,do��𦆨"
5$X�$���)yY�	��!V�vx�
�@Mŗ9g/���?����,U�o��c��
!
Q��Ox
��ᇸ��栂�pb� ?���=*���[n\`8t
i:f�y xN5\D��ʣ�]��r����F#2�[y�!��$
��9	���c��KO�
#�w���s:��l�)�E�*B��Om�t�:�?�T�R>懑,J���X=��kz�#��,	.{��X2C�
�5�ѱ�K�Y���K��Z�O_��
�����|���t��;�g�?w�SoG��u�s㾩*V�讜�;���u�{<إד 83�
Fgo.F��0��B?	�P���_������
b��/��_�
�4ǘ,�Y7I�O�1�?,�v��SD�!�ǟ�U�@l|���݂�X�i�}�TP�~������*�7'j��Ɗ�2d��
[ddظ22$]�,f�X�8��,�#�l hd���,�u�����!��6�EY4
n�uKc�-�/]v��A�\nd�h?�l�F�./���4ͼ���8k��pmQ8�ڋE{���^_��y���,�hy_v�p�yђB1i
ϯ��SS��훃i�%�J����ᱟ����}h�g��?}���F�*���淥�����C�f��>'��
�O��b�߷�O_����/PWn�r���!$��dž�qZ���9�{U�Ee���OW��
%-�>���_������
-�

-��cy}.��7�]�z	?A=R4��9�J;3�����
"�
!
-�ra`�uA9�+�L��=�Bý4��_ ����S@�

s�u�{����=����J��\��%�G����q���+�n6�+�
���h��Q.3N������e�E���\��E��E��?
��0)�yK
ܠ;4W�41�6

�t�g���P�{��?�����S��o�X
-/�M
-KP�m���rR>޻�k}sG<�t����H��~�����_���.��/��m[���o)��(d��T�#-kz,C���/����`t
-endstream
-endobj
-938 0 obj <<
-/Type /Page
-/Contents 939 0 R
-/Resources 937 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 936 0 R ]
->> endobj
-936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-940 0 obj <<
-/D [938 0 R /XYZ 89 770.89 null]
->> endobj
-506 0 obj <<
-/D [938 0 R /XYZ 138.697 699.155 null]
->> endobj
-58 0 obj <<
-/D [938 0 R /XYZ 90 684.415 null]
->> endobj
-941 0 obj <<
-/D [938 0 R /XYZ 90 655.732 null]
->> endobj
-942 0 obj <<
-/D [938 0 R /XYZ 90 655.732 null]
->> endobj
-943 0 obj <<
-/D [938 0 R /XYZ 90 307.913 null]
->> endobj
-944 0 obj <<
-/D [938 0 R /XYZ 90 303.282 null]
->> endobj
-945 0 obj <<
-/D [938 0 R /XYZ 90 134.526 null]
->> endobj
-946 0 obj <<
-/D [938 0 R /XYZ 90 129.895 null]
->> endobj
-937 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-950 0 obj <<
-/Length 3452      
-/Filter /FlateDecode
->>
-stream
-xڝZ[�۶~�_���R���s��gm�>�Ս7�C��@$"&	�o�_�̀"�������`07| �/
������͋�_�^���~���E�^�@k��y)<������S�)�94�X�D�<�~��j�����Y�P`��?�~���/���4[l����;��j�{a�-
,Q����r���_W�X�8��N�H�f{��~�뭺^��(_*��q�2mG5���+Uv��~ۙ�����t�d[B�
-
-F"~�%y��A7]/K"��	/�BG�
-o���|U�$�Fn;=���iP@
�
SVJ֭���y=hlxq/֠�<�i�Roٜp�tٝ���j[���a=��b�FQٷjG5����ъD��ҏ=�Ö9Ȗy���V�3
-�|/K���L�ީF��x�]K����T��X��� aC�
tY���
dn
-G��S5/㬣 �2���� a
�%Z#K��Y�0pY+����}m-#K�i�Zr�
&%���i��PG���D�}���7H��S��ԝ�u��nF��LI&
���N�
Mc�
��u:�$���(d�Tgפ�PD^ �4Q�Ca���>P��I]T�Z�v*
r&�M�wL'gb
I�lp��tj۹p�.4�,w���
-��f	L�v>hE</�:���z��տ��`�<�i��ց�{���R"Ϗ�!�E^�	�{V�3�^?3M��$�U��Rp��O�$���ʨɏP�wj���5�?��"��V��y�:�H��
k�G/�� 'ɿ�	0��
��
ˈD��Q� �UG�
��]�h�i��2
�=�F�Q�cN�	i�#r�m�
�p���J�
!�0�q(3tNXO�E	;%Jk7�5��
~�Qʆ
-&,����5��s�n��#���Ԛ���g
-��q,��Vq��\��yϴ���0�ܙ�cޥ���1����E.�v,R�Զ���M.a��cӇ
-2
� [[�ڤն�T���z�<����=����K�+Y��1��JQ0U�`��&zh��$R^��s�D��!uT��
�W���ne��}A�&y��T�Ra&t��/A��2^`
��ra&�#���١n�t0�ŌD8g����d���PX
I���h�S�v�#����Z���i �w�=Aި#��n���e��B���D at .䕃�
���
-�+Q��ZSNX9ˎ6��|i����p��
Z��F �_A��d	�TMm�-X;��=�%[Y

d��9l��Jevz�`yP5�}�4���
ER�����hb*K��
��>P2�$b��a�M�gF!Kt���#*�y
�´�
'$�T��D;ś"�i��̖���z�.������iB at n����m|hӷ%�A��L�86��(�Yb�B(��=Tƫ¶��1����آ񍚱
�Qn#��ƬD���$`=�8N�l���@ؓ��&��,e{1�wK�����F�����8hh�
K�5�n��=OGi%
`��]�*3�e
��7򀉫u(�ʊ[�%�ڛ�4gxa�_6�
-\�A�rPh̍wIhU�+
}�9�D%x�B4T�a���k���S�;��Ң���S_8�zy�P��f�N %����X�T�l�Mt4[ܱ�
B�
�͋XEw��!�Sձ;9ҳ�a��c�ě�E�t
��M���CK�̸�ή�>�����[_����s�snG�����6��Y�,��
E�O��оSN�癠�<�X��|9
��>�L�@A�� ����,�^�]�שּׂ
�����
��{Z�Z��	�9��a�nA8V <B��9��]Axi.F�����^�'i���T݅�7�vꁏ<��φ�S��>r��,�'�S�sr�9'N�~�q�\as��
�̬��i�;E
�.Gb��E�4��Q��a��_|���NЭM�>%��gp��R��l��G�X{m�61_a����R��qt�|���(����
�hz����銾��.
_�G��4���R�
�a�F���
-B���f�M�a=�@�MN��l*#:�
-�I�)
�rv_L-u*��D�SF"B{,�x7d�:�^��0�]
-+���U��RL4 Mژ%���ߙN�$��0N�|
�or
-�8���.pKͣ3�� A�.
S�!=�
��o��g���
Z��-���侳�d<Eo�zX���|CFx|�
-/�+��
:/�
���ɐ�m��y*�8�i�s9��kbVp��#g{��x́�O2D4%�5��^8��#qG���UK�<���C|߶zS������
*	
��;y&�w�P�՚���H�8
'�e9�	�M��uM°�

�hMi#
���}5��7��� �M;<��޾b�#O����
�
�
ODV���(y1c�L{�yfb��b �� C��x;@�VA1
--u}q!v��+>����z���$$��8�����

-��/�@��V5��0��O�'ݾ4DҞ�ܺ�<3
V�.�:��X'����M5����c���F��\?��ކ��1ڟI��s��	^���T"Xa���'=#���_���;͟��m.~�q����3�0р��8�7�7s�
^^�
cQ㏽�u�.��}g*h���a �;E�?[�����-䂎��0?}��(��`N�'x���Y��ӈ
-���nVa����:����
K��,g_\�
���.L�x>Q�[>A�X��_�Vw8;}r���.�q/�~u}�����'9h|+w�y.��Y{
������@̒ɟ�B����a�%���|��
ٷ\>��4�t��i|?�/�g���-����
�ĸ�RɆN���b���^T�y?��5}xQ�����av2���
$�R��9ꙴXB��XI��z{�O�p��F n^�sos~�Eq�T�����g��x\M8�-v"�{O����'��{��ھDXG� �c�a����4��	�����U`pu���!�tΚ�G�,�T�
�C sH}��E`ޯ2�xԼݽ�;Ui\��N��)���y'�� ��9�<�����%g��G�!0�
��g��\vr
n�@��jY�Z{�
�=��D|ܴ��{d��ƠNz�~*�:e}��`���$)��Q�����?Q�!�k�/zͦ�s/�����w�_��_m�gL{�A�u�G�W
(dd�izI]�kp?�M��~PG��%���A�O��`�ٟ� q��u���
8L�^�
���8�
p'�<����!X��`����v���S5vʑ��X� �]t��u�M��O��G�s

ŀx���f����0�3:4rDrr�nI^\UÓ�D�����=p|���� sέ�-��z�lj�����	�?��(�?(	��%���1�h�$7�s�����<���yq��7��.ئ$��{`�`��7J�"ie���5޳�"K��2L�u�ۛ���o�z}
P���
 ʛ�^=�" �
L���K0�+s���Յ���q
-endstream
-endobj
-949 0 obj <<
-/Type /Page
-/Contents 950 0 R
-/Resources 948 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 947 0 R ]
->> endobj
-947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-951 0 obj <<
-/D [949 0 R /XYZ 89 770.89 null]
->> endobj
-952 0 obj <<
-/D [949 0 R /XYZ 475.551 675.245 null]
->> endobj
-953 0 obj <<
-/D [949 0 R /XYZ 90 656.665 null]
->> endobj
-954 0 obj <<
-/D [949 0 R /XYZ 118.403 262.737 null]
->> endobj
-62 0 obj <<
-/D [949 0 R /XYZ 90 244.157 null]
->> endobj
-955 0 obj <<
-/D [949 0 R /XYZ 90 216.315 null]
->> endobj
-956 0 obj <<
-/D [949 0 R /XYZ 90 183.775 null]
->> endobj
-957 0 obj <<
-/D [949 0 R /XYZ 90 137.575 null]
->> endobj
-883 0 obj <<
-/D [949 0 R /XYZ 90 104.048 null]
->> endobj
-948 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-968 0 obj <<
-/Length 3397      
-/Filter /FlateDecode
->>
-stream
-x��ZIw�8��W�4M��`� H"7�v�N�L:vf�e9@-�Y"5\�q~�Ta�H���Y�2��@,_�*�N�:yy�����EL'��(�&�7E'�PDFPZL><�~�~=�QB����������Ż�+�
]\�󈁊N�m/I�L����t� ��	%\%�;Si3!��zru��uC���a�~���33�P.�	's����'$��ɬ'��W3R���2�} �$����s2�q�׺HWYs<�	΃�S�X�tge[�^�aL��	_dU��['����,	�E�t�^�_�dNz�eQ���ĺX���„$��`y��v��C�P��C>
e���5�C��<��e���tb*��:�dE���,���q�l��fi�׳m[m�:sBl��z۪\Vzc�����YeK7ee���&k�gi�C3�63�ñW|��7��f�-�S�.o��)���2�
�Vu=��
6��i�^/�eV�Yq������O��*]m�E�v=@��S��1�U���*���U�ySV�1N��zXڛ��
-��9
.jG�
-���<+7��.;�,�d�MC|˛����S���y�ר��5���t��|K����0�T7��XlJ�|��kW�
6�Y�k�MYd�Kȣ����i��+!J�
V���fe��yլ���]�����ɔ7�cl���2��l>���>�p�#E���,m�j
-�p�ߕ�|�FkW���|��fCF�'(aI�7��^B���x
��j�Ӊ�1���B��U^,�S0��ߍ�Ȫ�^b_�Aϡ��R�=�4�`<D���9�x/x��{AE���'� :5�
��e�+
�e�����༜��F�yG��ҿ���k_�ҷ�l�E���3�/|�O��wc�����8��`{

-��R�h�+��`Qn4�)dެg��q��Ӵ^�uS�sֺܰASn^
-�eeܖ-;��f5z�$���l[V͘W�
��F8a~
-�NYB?J��U�
6a`��
>�}�rdU���T4
���,[ԾǏo���|	a&�.�����z^�Tэ�=�o'��
�.|ܕ��f�����0Z��������jX�tu�m�5�p%jR�����8�_q{�
�.˱��� �I3Hb޷*c(��� U���M �yY�Pl, �N?��v�`S��m�S{��☁�/�[hᏢ
�Qn����G)"
�����
�s4D��y���氋�	�V��'����dk
�I�QA� �`��?�7�ޜ��?�7 �=�q��#U;��pGH���{:�q@l�J
ְ�k1�����e�/�g�(�7�ںޫb���G��CZD� -�bi�64�=�a偋塰l�$�����km���q����-
cF$�
](q��<��um�%v�a0Fc����꾀 �rv}���5a�03$�,B~�
-s&R
�[^�o�\��f����!��	��S&�A۷Q�K��b�e�6�2���&���L.ڈ�r��Q
�
�>��ci�%>L!s
-ǒ�<͜��@4�d�#J�����-%���u�޺_\Sz�\'Bt'���(~���
42���/��va���x�S���
-���y�����:��&�H�@0[�?& 0��,-�En
�;��=��O��ݶ\߯�E�K�C
;c��a�VH�[�Ӷ)7.�3�J�T���j��4`�.�_}r��Z0�+\���wܯb��Z��p`�.���]{�<�y�XR�My������Y��X�Ǩl����ݮ1@�f��߁�]$|ψY�J��=c�͘��dOl$gc��F�|���D�n
]����v�hL��}0BS��;
��N��c
-��k�
Bz�C�R�!9e�,]e�=����,Ҷ����-����6�- �W��-�%
��98w���{N�H$����ʑ&�9+X�G��\��U�l�X�Č	�Y
��*�回0�h{��r��Y��jX�z
K<
�ڝ
-�S�K\�f��
٥	�#�jp��
���S�V
��à�[ᱴ�$��=,�
�(
c��Dy�*�c�)J(���xu����h��F&��-�}�\}��Pu鞎���«��﹓9�&�r<P���/༴PM�6
=��ri7��e�v}?���w��E4n�#`�.�8��6�X?�
q�h;D�$T]�DW��<Kk���	

���'�D�� �x�>w�ɜQ�����RI��M�f�"��š�}h 
P�:ϲ���5ܕ�m�*��d��/0�w=�
-����Έ�t��6F�6VrnXt

�1��Ihwd!��]���B�I>F�+�7��7���3Jp�*
��sXXL*c
�h.��7�a���p�F�b6]}�� e�<9dH
6��.�q���jљ���	k��"ys����Gx�
�j�>8��[H}�]@��⾻a�s"�e�Pu��]��«���K���+G�E"؞���=w�E�.�Ź
�(�sj?E��E-p�t>�
CC�!�\���XTi+p�ޙs��|��ƜRN����R��<S��ra_���6�(6�x,7IHI��_�L�L%���	
�o�
�:����?���	a��1@�2�sO�! �I.�}@
-�.���
'� �
��)�#���H>$��{���>�("�N���)&�d4iP��|��������K x^��W�V��
P���S:k��d��AB
G�'��V,}v�5L�Dҥ��&� ��D(%��s�G�C���0� =�(��x"A�h�5��h�	�j	0��݋��A�P�
��)��c�3�e�(�Պɋ��!u0
�����'�`Iɀ6�ht��c��
�w&Xŧ���,}��4w�.V��Q��2��
;�:�3������4�Z��և �f/��Zg<q���tÐc��"�?��c���
�:3���fd�44#S��c�z�W��O�by8�$i�:��^I���?̈EAVb�Ư0c�e<nF����WcF����Cf�	��`r�}��r>�� �A�k�L��9X�v_:�m[:ř^� �"׮��W�n)07�����S,n���%�5�g^
΃]��,�§�8�_8Qgq4�H:��ɞ�a���a��)G����)

��H���/�,<�ҭ0��:a��
-�G��5m�m�nAY
	t�w?R#k����"�.
����N�8�c <|�.�Q����]�0(i�뻛r��1��T'�0(
�7�-q�Q
�>�V��������ǽ~?d's�B��!:�-0�o�}h���G�Ԉ)�KI��d�Ф��d&�
����_�$��ѿ�������Q
�����!1�MI�/@���+�Us�%�Wڧg?�Y�
&�\v�R�����:��)7J`CBգ�Ͳ�&�t{���*������N�/��m��M?/z�S�ۄ]�?�
-endstream
-endobj
-967 0 obj <<
-/Type /Page
-/Contents 968 0 R
-/Resources 966 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 882 0 R
-/Annots [ 958 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 965 0 R ]
->> endobj
-958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 591.021 444.67 600.918]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/research/pubs/reports.shtml)>>
->> endobj
-959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 545.192 420.76 555.09]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [227.347 315.429 330.959 326.333]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [348.118 315.429 511.506 326.333]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.932 269.601 429.117 280.505]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [123.594 108.829 340.779 118.727]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-969 0 obj <<
-/D [967 0 R /XYZ 89 770.89 null]
->> endobj
-773 0 obj <<
-/D [967 0 R /XYZ 90 721.073 null]
->> endobj
-794 0 obj <<
-/D [967 0 R /XYZ 90 644.196 null]
->> endobj
-970 0 obj <<
-/D [967 0 R /XYZ 90 587.036 null]
->> endobj
-971 0 obj <<
-/D [967 0 R /XYZ 90 541.207 null]
->> endobj
-972 0 obj <<
-/D [967 0 R /XYZ 90 482.801 null]
->> endobj
-973 0 obj <<
-/D [967 0 R /XYZ 90 448.928 null]
->> endobj
-932 0 obj <<
-/D [967 0 R /XYZ 90 415.175 null]
->> endobj
-974 0 obj <<
-/D [967 0 R /XYZ 90 369.347 null]
->> endobj
-793 0 obj <<
-/D [967 0 R /XYZ 90 311.444 null]
->> endobj
-975 0 obj <<
-/D [967 0 R /XYZ 90 265.616 null]
->> endobj
-738 0 obj <<
-/D [967 0 R /XYZ 90 207.833 null]
->> endobj
-976 0 obj <<
-/D [967 0 R /XYZ 90 150.049 null]
->> endobj
-977 0 obj <<
-/D [967 0 R /XYZ 90 104.844 null]
->> endobj
-966 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-990 0 obj <<
-/Length 3272      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�F��W�`�	��dYvK.�T�[q|�@�D� hG���
��%Wy�vk/"�����3b��Mޞ��=9}�I�ǁ&����MB�:�����}��3��^�wE^-�d��r�=L?��<Q\�L��͈K�ԓ�ۓ�p �	'���I�>���M@�y�|G��Fh=QB�o1���r¬u�Q+9���_��;�'��n��
8C4�Y,:;?�ә��*Y�I�����{7SιgY�����(,?)D���ߓ������3`fE� CF�;#~�!�+�deZ-�rIo��|�)�uV�I�W%Ѫ{;�j;Ei��̊τ�y�'3X�Xk�O��y� ���K����4*�}�
��ϟD�T��*[�h�����6YduYW2
3�"�^盤ns4��9�^'m���Ĉ�ޯe���O�M��!��A^R�a΄
�p�&0�@{�ښy�1��	k{6
h�I^$wEFIkw�\��{z�#\��|&x����ݼ<=�����6���7����7[p��lCs��/	[�N��';pՙ�����3����x�ݷ<6Ю�J
Y���/� O�}V���,JY���"?Cڅ�
�,*^ %�-��n�:wn�,�L��$Y�����ӻ0��vN*9��W�H�fuY�@~ϓ���;b�[�of�I��ꬵ<�0���wFNyW��r�E�Vuc|6+v76��'Q��7�T�,�hH��&(lWx�Z�
-Wu�>k�����9#��s��60P���=��W�MU�fw�YC$Ϋ��+l��� �k�f_��� 0�Hs����x�"�?��8lUVY�@��U���v6�LR�({v�yJ �?4	Ź���O
/h�&Yf
��*�q--�:Y���b�I��2�8`ڬhib/��n?�����.������F��HF�ff������ɂ4�T0��"�6�

}cBZ�-�nh'vY�ʮ!r
�����m3!"pB��R���%5��hRC7|H
P� y3i�_e�ℙ8��-�m�-�k@�e�,
	�x�{SgM�[�G��|��a��j��w���آ�'
��8������`޶� !gV��bV� |�n�a�ƞ�9D~�͂ǁ
�|���d�=
�˘W�v��7mUZʯ�^t�L��
 �# ��
~{������bv�a��g���y :M���}/"������ ed36�X@"�26�.��( C
�C��括��
��&�tK�`b;�7��,,I�k�
j�FҴ��+�HDmFvd%,N"ﭕ�2��
!$~
!\�>D�n�F��긮YA��W�����n\��H��l�zCY���K,S�
Fz:[>i�*r
�%LƒnW����.7�*�3�j�Z�?�f�]��]�+��Ù`~�]���^��b���D,C�>����
b?�=T�������~_���X^v6Cއ�X�<D{����ϡɒ�J
L��9^�W�e�}���Y�H��ł���] �`���C�di%_�K�
k�K)FJo�(��[�����q���Ⱥ�����H�0<>b�u��b
�_
��a�b��(��c�`{E����"����@
�wv��.MC�7��P�Hg�����n+��ӛ��`��COo�����h7'��#���PRE�C�P:Yk�i�صr��)
ya5��T�4��$����3� ���hH�Y��G�lQm��|�5i�o���y�]U
,��H�� �i0�f*J��o6ša���p9
H�G~����C����K!��]����r�"Z���s�s
17�ή��T��HЅ�]X��0"�n1?�h�Eq��M�^�wuR?@6�C4E��^���v�V_Zam�ڏQ$2�
JHT5�HN03CVF��H�d0<,��!��2��͠�u��k�ս��X��`�
b�1�.�
�.��
��W�=u&�0����d?f&q�&G��
�}J��@<���b��N���ES�a�]!���<a_
��`~\�u}I����K��z~�.X�Ga.}
��<�Z����O]�@��
-��)��̿�U�|tQ8�~��'

BB��C��$xf�!��uZ~�ƶ���
D��_؈��
�o�!�
kuj�@�G@�&Hqk��J�]l

qQW
�žg�S��*:p��FGO�P�v
-�'�esOE����Ď'I(R"��T���T<SA`X���V�m2_1�
M��մ�H�#Ae����V"�s�ؒ�՜�N��M�m�e�x���]���No����e�ͻ�zS��
����a���lCeB򚞶MV@�����,�n�ة��v��ۓ�G3�8o���	��h�0�}�>���8 ���H��� h�7����f�F5����RA���&�$&�kHN��c/J�Bt�-��n*����:�G�a6
�
�?dQ�k
ȅ������֠��>Ԅy
e��7���dB!����5�@a��И7~���$ON}<�&��?��"V�}h
�
A�� ��`�0���>��y���)
�B�O��0�����L�J�ŵ��
��um���("� 
�d<�Jͳ�M<5�/Ƶ��6_�Zz��j�(×�XVuޮ��j���إXk:1<� Y�w�&K:_RԲa=
Q
�3��*��UA��y=�
��x�y�ͭT���|>^�/O/~�
x�����$�
N���u+���������}���V
�"��z�i
�*��������q>��W��!14�j��堆�-��n`]��.w���.,�H
��kX9�aeW�ʃX�ְd���kX�l3�Goh���R����,^��<UT�r9S\����"Tİ~5��vMf@�8^�16ޠ���ka�h���T�F�)|s*W*n���F��J��]A�A���Sm+H�� uwy�)� a�
�0)S�)�)����.���b��q�R:y	U�HE٧�O�h��8o�0ȧ�jY����g
����@S`n�U7u��߷�g�{�_,���7?�����{7?2�Ozf���
�����p
�͢���T��!�+�^���G��^���s僯��ё+_�2d
%$5�U3�wy��E����^�{$�‹ $�A�z�·����S	�]����h���*S'e�7ie���^Їpu�5d0��A"�����������`
-���h���
�B��:T��A�B���f�����Hw������O7Y�
�M��$�;�F�
 ��0o1چ�v��(��F���HI�h��{%61o]�v���G�����{��`
-endstream
-endobj
-989 0 obj <<
-/Type /Page
-/Contents 990 0 R
-/Resources 988 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 964 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R ]
->> endobj
-964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.932 684.047 429.117 694.951]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 454.261 331.096 464.158]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [204.862 362.344 422.048 373.248]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [292.331 351.012 395.942 361.293]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.646 304.742 426.585 315.646]
-/A << /S /GoTo /D (main_BHZ07c) >>
->> endobj
-982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [294.32 259.095 511.506 269.999]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [365.665 247.14 469.276 258.044]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [216.63 201.493 433.815 212.397]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [328.196 190.16 431.808 200.441]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.182 155.846 414.678 166.75]
-/A << /S /GoTo /D (main_BHZ06b) >>
->> endobj
-987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-991 0 obj <<
-/D [989 0 R /XYZ 89 770.89 null]
->> endobj
-992 0 obj <<
-/D [989 0 R /XYZ 90 721.073 null]
->> endobj
-993 0 obj <<
-/D [989 0 R /XYZ 90 680.152 null]
->> endobj
-994 0 obj <<
-/D [989 0 R /XYZ 90 611.312 null]
->> endobj
-933 0 obj <<
-/D [989 0 R /XYZ 90 552.993 null]
->> endobj
-884 0 obj <<
-/D [989 0 R /XYZ 90 495.391 null]
->> endobj
-995 0 obj <<
-/D [989 0 R /XYZ 90 450.366 null]
->> endobj
-996 0 obj <<
-/D [989 0 R /XYZ 90 416.052 null]
->> endobj
-997 0 obj <<
-/D [989 0 R /XYZ 90 347.117 null]
->> endobj
-998 0 obj <<
-/D [989 0 R /XYZ 90 300.847 null]
->> endobj
-999 0 obj <<
-/D [989 0 R /XYZ 90 243.245 null]
->> endobj
-1000 0 obj <<
-/D [989 0 R /XYZ 90 186.266 null]
->> endobj
-1001 0 obj <<
-/D [989 0 R /XYZ 90 139.996 null]
->> endobj
-988 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1017 0 obj <<
-/Length 3429      
-/Filter /FlateDecode
->>
-stream
-xڵZ�R��}�+�-��#�&��o���m
�S�� f�%i"ib��?{w�����*
-����ڗ
2[���������[If*T1�g7w3EfR�0�!��}	�8����IHU
�L�鏟o�>�\c������Ȍ��Q(��bs��W2[B�	�Jf�L��L0�|v}��qK!{�DiH������_Hr�����u�6��.	�]�Ux8g2N�U�V�+�%,�<�����}�gyn�y�K[v��~I�Y�
R�:�S��Iܬ�mCFAZmR�-���^V.�)�����5t�Yps������+7�k�(7�\7�
����
->��)�(���u#I��~��FW�"�q��uS��&+��6�++�hp��H�4�����-m�O�����Hq;d;�V�V�G]��V��u�7u�;��U�-�Ꭾ�.x���~O� v��l�:
L���io6Y��c@	%�-^���}%�s���|�`�$�Q�i
�1I�2H��ҧ�H��($��1ك�.̗�`�zs�Xw��L�Q�(8�n��^Zm��I�p���-_���[6e7�D��1�Dx�$r
��)�`��
�C�
�1cJ
�
��;N�=@5��n,�{�����FU��w���p�č�
lD,�\��Îڏ
&BE�t^Hc\���
x���^�o҂�p&<�f<����a��Vf�m�Z8�
-�"
-�S
��,��w�`��
6��%�`��M�O_���
	XE�O�t����
�bx�4�d۴j��.W����"��
�4
-~.2ܹk�5_� �>
������a
9��8��=,/	�%�
�fyz�#�Q���a�!�����ݶ�v��^7����ѷo��E
�l[�Yst�����ht`���y;\�F��EYUp�umU
$�Ͷ*q���ڋKT(���uGhp�� ��RW��ʀF� �6i�T�
^ܞ�-�|-�f0>G��2�7vH
ƈyƃ�~[ֶp�(���=zk@��'	8�V��nF��abׄ�uZ�ĭօ��U���N~`M�j�l��w�/�ޒ�bH
-���
�,��
�y\��G�k���LXua���LqlO
-��\�Ir�,�.�Ȳ
v��+
�`b�]�}�.�"��
ޥU,���"���kF�B	Lu��e�8���%M`p�)���_��k��wGDR��I�����<�DKf�	���>�1��P�d�G
i�=�3,��^����oβ�s&��})��+�F�OS�
�����
w˒Il�Bw ���S�,v� 4i��(����iw &�Ѳ������ҹ�j�ԠO�N���s�c������|���<�qi�|UVY��Ծ
��j�64��
]O�YT�dѤ=���M0�A-�v�
ݬ˥��
���f�ot���)��I��o�#uG
��fR�9�E�Y�bJ��
R�d?'�ڤ�NJ���H	�
�]�oh���c�k4�ƉjYYVĔNJ�5X���$dDL�dG�*�b*RnUP��
1bvH��7������!���r���R	�
��vɮ�����u0�

X	��A
- ����&�@��Z����X�)7�un��q��ie�x���V�Bil�h���YY�Ya�/�k��)�^~�ef�VK	��~
�E[�24`�?���|`@�X=�K�R@��X>>�(�_>X��i�y4�	0IY�B+��9ù���?��]Ժme=,
�V�
�0�f:'L`8��k�y`=Y
E~�Z%B/�X���(w�m���j��tmF���5���#Y:ƕ�^5�d6c��U��վ��<BG�_��ZV��):�$��;�k���
�ح
F$�
q,4�V�j��X��63$�fm�8�E'�����
��n3!:,aB�s�^@=�J���G+aS���;������'���u�m��e�k�4�� ���=n��=q� �[�G�3��8q��1(�E�Цd࿙T)4�b �k��b
���
E9��HDݠU��������d�|�rq�
af���y�ֻb	�hcK����G��#2�.
-�4[�` �>�P)�"�c�m[k�@��m6i����4S�L��M�X�T�&�W���PF���p�,�(�hD�i�kp�6V�u�N�����y�����0��H��=	��cQ�j��N��Q�:��q� �P�`0�F���pV
�ya3���.?
�!Q
v���N��N[���q-���p���d����?�ՙM��m:As/7ީ
�aj��Oo΍��Ph8����F��E�L�(�y�2��l	"�;�h���!��(�kO�J
-�=���,d,h�XcR�y�]�%�0���e����2�
~�>v)�oNѽ�*m�5tX%a��X`/.�2#&� �k�ag2b�W������9n����i�W}�̔����
#��[����8�b��کEn��h���Z<�P�Q�d�w�`x���
��S���'LnW��U�\G�^p)H$~��2|M�q��L
�~�n"`�X$�Q;
� ����	�[���IO
Gz�iG�ލ�ǣw����.'cMi=� Y�}ȧ
e\~��(!��0 ��
��r��cCkD�c��
\PpP�i�r��Cپ��=aO��`�a; �z���a�U�Xd.lܖ=[�ɒ;��#��p_t&C+�e]g��\SQ��M,�6WM�C�����0ۅ����2�x�aI2x�Ĭ7F��W�ֺ ����5f�С�Y �^W ۖ��|Y�R�H�
�}/w�֞����h6�L�،ơ<3��f�3E�~�
{� q�]��% ʘؐ���h��m�``�R6��aP&��cM�\f����IgMcwcM��5M�[�,��Y�^�2�Q9ɿH�@�.s�M��
-cN���҂6B{���&��V
��;�Њ���mm`"|�NhE/��@hE+��Z�Њ�Њ��*
O-��z�5�~
��}�^c=K�݄��[֡6���-
�>�����U�.O��u��N���ݞx21��z3qV�CՎ?_���"�����Q	����D`��N��ˁQ���
.�5-���lR��5L��̅�:�X�U��#���d�]����G*��웋Ie�w�t�
&#J�B;�Oݭ�#N�����D����> r������驌��5�/�=���T�jCZܹ"Xx5�4�s��`���u
n�r�Nk��tӶ�V�V���5��U��?��Ʋ��7�Uy
�K�/�Qx�x�4
�X<�En%��0q��
ڦdž@���y�M^�;%&X��א���W�İU�*
�fu��	8�r$$o��3�/�����ͮ([��
d��f�����?��}�|�W�$yb�4�ְH!�:�?�,Ș���� d[
f��ZW?
FQP��H��BLXd��,$@�����A|�"�E'2���^���*�Al�
�)+��2�
|=���P�~�
-endstream
-endobj
-1016 0 obj <<
-/Type /Page
-/Contents 1017 0 R
-/Resources 1015 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R ]
->> endobj
-1003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [188.47 594.383 405.656 605.287]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.587 570.473 394.526 581.377]
-/A << /S /GoTo /D (main_BHZ09c) >>
->> endobj
-1005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 526.263 217.522 536.545]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-1006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [234.897 526.263 398.284 536.545]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 424.645 390.872 434.542]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://dx.doi.org/10.1016/j.comgeo.2009.09.002)>>
->> endobj
-1008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [294.32 265.616 511.506 276.52]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-1009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [377.62 253.661 481.231 264.565]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
->> endobj
-1010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.831 152.6 224.415 162.946]
-/A << /S /GoTo /D (main_BRZH02c) >>
->> endobj
-1011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [277.924 152.6 495.109 162.946]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-1012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [188.779 119.723 405.964 130.069]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
->> endobj
-1013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.334 119.723 501.476 130.069]
-/A << /S /GoTo /D (main_BRZH02b) >>
->> endobj
-1014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1018 0 obj <<
-/D [1016 0 R /XYZ 89 770.89 null]
->> endobj
-1019 0 obj <<
-/D [1016 0 R /XYZ 90 721.073 null]
->> endobj
-1020 0 obj <<
-/D [1016 0 R /XYZ 90 680.679 null]
->> endobj
-1021 0 obj <<
-/D [1016 0 R /XYZ 90 636.102 null]
->> endobj
-1022 0 obj <<
-/D [1016 0 R /XYZ 90 566.986 null]
->> endobj
-1023 0 obj <<
-/D [1016 0 R /XYZ 90 522.777 null]
->> endobj
-1024 0 obj <<
-/D [1016 0 R /XYZ 90 479.26 null]
->> endobj
-1025 0 obj <<
-/D [1016 0 R /XYZ 90 421.158 null]
->> endobj
-1026 0 obj <<
-/D [1016 0 R /XYZ 90 363.748 null]
->> endobj
-1027 0 obj <<
-/D [1016 0 R /XYZ 90 306.961 null]
->> endobj
-1028 0 obj <<
-/D [1016 0 R /XYZ 90 250.174 null]
->> endobj
-600 0 obj <<
-/D [1016 0 R /XYZ 90 193.387 null]
->> endobj
-1029 0 obj <<
-/D [1016 0 R /XYZ 90 149.113 null]
->> endobj
-772 0 obj <<
-/D [1016 0 R /XYZ 90 116.236 null]
->> endobj
-1015 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1034 0 obj <<
-/Length 3503      
-/Filter /FlateDecode
->>
-stream
-xڝZYs�8~����R�#ϼ�I�s��vvjg2�DK,S����q~�~�Ѳ��\e�
�	4�>A1YN��������,�؍Lnn'���^����?
�J:�B�4��g�J6����_7OjW���p�������GD1���w�h2_����,@��W����
ZO<��O��~;vu��*%�&���~
��7�s���`0AG��]��TJ�ә
-|�u��ˆ�I����N'
��;�u���&�s�"��e���7IhݲK�:��)pnAO�*p�R8euW��󮠥c��p��sC�]r5��y�.�bYw/�3�ilO{�d�ľ�3�U�Q���Ӭ�yR�$�v�L�p^�c
֛�ζk~,
����b�m��ۖnVC�XV�d�Ʋ��Xn�G�0��n�<�i���3c��$��M*��l�'�͇�x�v��n��#5B��pd
�$^O���(�UZC�P���
�������~��X�a� a~�0�"
��#L���&�X��G��y��Fh�ˢH�Mf�
:���"-0��H��4�8% 3���0 :��^<L��a�$_�J�
?eE�V�*mz%�3����˿����(˥Y/�0k
��� �j,�(
-
�)���=�ǹ�^���>$�i_�1�ֆO�pf�Ֆ��^
�R-���H��B?�r4F9S߭�,�`i1��LaVd>��)�{�%Pnꁶh
�F�,�-�
-�
���@K�E�V�%
��
-��ն��vCs>���G�L"�nI��z=��b��Y��>�֋�\��
>F�c�v|H��Hia�s��K���q�Hq�\oH=���hYZ����� p��vep�Y���O
V��R?Rz
��*�������O�5^ *I^ �s�mJ�\h�"����
3	�z��{�ņҤ�0iPX(j�}ɺ4(E��X�䫱�4��X�y������Ŋp�{��p���6e�
 M�\��Ґ�l4֓VcA8#�g�Fo���&jw����N�o잧v}S���ZMfv�;����^�`g���hF�,,��޿��ea	'U�
Ʀ�L�
=S ����4��ԓ�R~�x �ʁ�ظ(-
0����&
:���˲ʚ՚'ޖO�"�*�c at O�g�ieC0v�͓�D� (EY̊�^���}MF�e����,i������
-�X���H#
�-�{kl3�z��8tա�3�ƽ�;��Z��w�	vc��1�G��v��
-��|��놁?X 
������/���:mY�Q��{�����D��&;i��IzE4ր�8
PD�	�t(�cE��M4(��(��i�œةM�?�y����
>DC ʳ&K�"H�ȍ�h?���B�B4�@��"������!�h�}7���'\)�+�"h����<�ςG�x��'��C���X� 8��$�


�ӆ)��9���ֳ���O�`�e�a�F�!��d��@�X(���̊xlV�ج�֬�GfE<cVt�F~+����#��jp�����J�"l]�g��MR����ΰ�Ӿ��95������l�Ot��:�]��rL~:G�F���I�ڜ� �
]u�j�]́E�p�9���=A�<���m�)��ӅU?���
8ښJ
�вV�g�OExX�ڍc�q8�埥ɶ�2i9(�@�y��ΦȘ��3ϓja:=��t{�iR7�6�k�Bߍ����<��6���`�Hy��u��ā���qI
H���X����R9$k󑷮?���H
GP0q��D�� �����иAYj�r���[J��qo2D��WJH�Y%��LXK��au��\q�����S##{F(L��ٌDK��
!�|��.h ���vA�q�&��ā��{���}.pu��N�W��4���8=�m~ѯ�/ڗ|`$�"�������H
�H!�$&4�1O#`�Z��5� GR
E/pmg�qpX���ζ�7	�tζw�E�m��Al�eU.L)%D(����ܱH�y�ml� 
˪��+S����
3Y�:
�}��ߤ�)�� �+Kz��;�':���G"�U��!{���)����]Ff��񡚍������׬H0���Ȋ�}	����4+��D�:�uF at ex�rv1�T�J��NG,��Û����Ո��U�,��ƙ+�A�s�ĺ1��.�~`�e�a ?=�-]�qۼN�t�L�c�F�������qǑ��`3(��Y;R*���w���ǰ�c�E�e�m��\��c
�t����]-�͑c�WIk5��㘱\��’8x�bB��Xs�w��Aio�Iue��u�� 
�sY��tar�=v�4DzC���y���}V�mw�H���ɫ'��5

����tn�!\�|U�y�|��-�	�C��N;�(�i�����0���|'��vfB��;�c��EcE��7w��������
_5������������QW.��ww�:f� �

�ҝ�-,���@V�u�٭9��
N�6���uW�:?t�2����.
�z.�
B�����st�<ߛh8>����Ikq��8\�������5�������Ʒ!��d���
�Zb��w��m���X��tS�!

+[�'��,m��� �aflH;�r�d��۠Uo��ʾ�֥(��ȥ,��
�I��}���*�r.НZZW*?����"�kXλ�V����I�
m�,�z�
-/�T�vp(*lU�(�	��/{�i_���-��9��,4"����
ts=�_?Д�>(���ꡩ��\�t�����x�q��q41P����
�W�
���7Ti#-�+���r��@I՗j櫸uI5O�z�I:�@2��rX�����B<F��㷴�0t�
-�,��8�2��h�]��}����r2��"I&o���'R�Hu����&�ɼ���<��ͳ%���3��)��2�=�������rC��Y�����|��.��m��$O��M��6r��?2�9���N�wa��L'"�����0
-E����^�E4�vC=�(��B�� ����w�q�n���n�����e+^�� ��'QH���D��:D��{ �2r
�
j/�y��W��d.��.�ܔt���6|-V�L�?��8 
� ������H�u�Hc�5��M�к7/��Ʈ
|q��uW��a�_�:��
-�B���:�α:��}9 }�"w�
?�\(\��
�]�X�}L��E�tb��Oz$��ۨ���*
��'�v�
���e�����n�@ׅ
���^��„�݊��Ol
�lSh~3K�Ԓ2���ƋI���U1T�\��>dUYuWo����2F����#x�_��
����!MCg*�{�p�,�_U�x����|E�a����x��k��(�N�c����k�T��v�_���mq�*ڴ��jZ�lR Ү�zh=v�
N8���(tuo�	Ǽv�E��ܬ9�l���X
p���\�w�Xغ��6��&���H���<�O
-endstream
-endobj
-1033 0 obj <<
-/Type /Page
-/Contents 1034 0 R
-/Resources 1032 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 1030 0 R 1031 0 R ]
->> endobj
-1030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 252.576 458.396 262.857]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
->> endobj
-1031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1035 0 obj <<
-/D [1033 0 R /XYZ 89 770.89 null]
->> endobj
-1036 0 obj <<
-/D [1033 0 R /XYZ 90 721.073 null]
->> endobj
-1037 0 obj <<
-/D [1033 0 R /XYZ 90 681.491 null]
->> endobj
-792 0 obj <<
-/D [1033 0 R /XYZ 90 614.515 null]
->> endobj
-1038 0 obj <<
-/D [1033 0 R /XYZ 90 568.053 null]
->> endobj
-1039 0 obj <<
-/D [1033 0 R /XYZ 90 524.366 null]
->> endobj
-1040 0 obj <<
-/D [1033 0 R /XYZ 90 479.617 null]
->> endobj
-1041 0 obj <<
-/D [1033 0 R /XYZ 90 446.794 null]
->> endobj
-1042 0 obj <<
-/D [1033 0 R /XYZ 90 416.282 null]
->> endobj
-1043 0 obj <<
-/D [1033 0 R /XYZ 90 381.894 null]
->> endobj
-1044 0 obj <<
-/D [1033 0 R /XYZ 90 351.382 null]
->> endobj
-601 0 obj <<
-/D [1033 0 R /XYZ 90 293.084 null]
->> endobj
-682 0 obj <<
-/D [1033 0 R /XYZ 90 249.302 null]
->> endobj
-1045 0 obj <<
-/D [1033 0 R /XYZ 90 192.319 null]
->> endobj
-1046 0 obj <<
-/D [1033 0 R /XYZ 90 148.632 null]
->> endobj
-1047 0 obj <<
-/D [1033 0 R /XYZ 90 104.227 null]
->> endobj
-1032 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1052 0 obj <<
-/Length 3776      
-/Filter /FlateDecode
->>
-stream
-xڽZIw�8��W��M
��)�;^��ɛ����->S�BRq4�~�P EҌ<�,'b)�X����@>y��ɇ�ww��C>QL2��=L���b~ ����
��}��AĄ
-�%�z��������N��
��A��,�&�����d�'��*�<��ē.<�������
-�;%!���?>���O7/
�����`R��d��B�Mg��
x9�����%�s[�u�Po���T8�*���x�g��:.���c��y��
9��&��:���xT�6���i|�QoԎ�c]�e��s9��n�D�\�S0����[\���
䫧��-������X1Ή�_��}�Y�5�9z��EY�����V���dw�ݻ��ܙ_�~z�F��ә'\纜z�S$��+��Y<륦O��.s�����}�
)Ҽ����-����б{�
-���y��E��2-
-0،8�cl��y[<��1�E-�e��X�t^�v���lT��6++fJ�K�_7�f5�*�k�R:;�_�<{�
-��{�#����qQ�V��(H��}~4�_öCQ�Q��\�
�h��,�����Z<�Ҁ�+/�
;�Z[��I���w����@�tT��8Y��&�9���y.��pv��4���y2�fGj&�i	����qY���~n
B)��
w�.ScҰ�
�.���*i�p�����8���2ᯠ�#�U�2�ۢ
���.�H/DpX뒐����,[�B�|��ץA�1*����B/�﫺A=��5��pk���pN�ht^n�'�_OZ$���(�p�
�M��`
-, ��-�'x	)(C�	R��^����`��v�.*4՗�(���@vt�ޱ��.��o� ��)��~\�I
�������{���ۏd�t����Ǽ*�h&��`ǵ��2�l�=�`�m�%�����^H� f����W��4�B�׈\�a�W�KK޻FT��e��P�g�j���O q�Q�N�4�
W����}�g�:
M�7:3�U/�
LjS:���?c[��ɹĒ��kb��ZA���ћ��8�������&'T4��cJ���V��$�
^��+MC-���ƕ�$�$Y#�&���n�?������7 Ik\$�+�B�������a��i�J.�$�s�P꼘�ة�	��ⲑ�U[m��e\&��C�Kz�ܟ�;��P�f�T��xKݱ�,�E��3�V�<Y�E^l*j������
ُ
�2)6��6�*q_��(hLV����,?b�P�yJ�5�F�'F�q���q#K��7�
-Cą�!S�6b-������r�\ �Xv�
w��\�
-�Y�`@�B�u���a��׻
(�RYPƢ9D�
�X��
Z�u'ޒSt] !�
'Y���N�u��`O���p�238U�OXA> ����C�O��i6��-E��Z���
���9l1�
i�7B�)jӺԵl���ڐ�G�< �E����L��c��Y�屠uZ��
_U��*�s��U������e�d#s>u�.�����+]
�P�P���,轍a��i�;VbO�%�f��u_�v]f�mU�UE���

�r��
-\5���QJQa�r�G2��{��?��u���H_�d����������!�^(���L��.P�#�9��v=���$@���x�4�a@�G�w�� �>�Nzy�(���-\�=��;��DF
*ċ©c+�$��r
]%e���'F�W~T=��/4k@�e��w<��.�ˠ*�o�( O̦ư��L

�
-����;/8Ķ��tji�Me�߹�i�1]7^n�?��/����W��C��z<3����2w�;�u��
0����C�?��:��X���9c�l4��A\�F��.�8o�z�&п^�y-
��������-%o����������;�j���K������W{���z�8
9�'�����si���5��}�d��ȏ�d�so�
z����Fl��,VT��!YJ sB!�$�����׊����
-?ӱ�w�;a/�D�f��c\
�]�d��Gp ��V��K��� ��(�5I亪I%�/w
- C�
��Ef��01��R���
-8��|p�כ�,M:�a|r>����[o��
�����ܖ�b���
� w��R��"7:�5��}P�P���_
��](^;�(쁺���<�Cq]�kh<���"�]t��6�}w������Q+�Ra뙏���Iw��D �=��_Ӑ5	��{\�� ^|/g�E��$�t�+��"^YK����(d3T(~Ŝ�o^3%�	>� ����^�CO	�)��r��soWE�@��±��ޡ
{���]��#U-˂��-=W:�m�.9j@')�
b�� �AI�i��ȉ��}OW�V@�o�&z�
�煦��2R�m�7s�k�4)|�F�0��cui
����|h'5���6X0a�a^
�����I�#��I�E��ř�
�������q
)�hF
�i2j��bS���BK=����55��S
-m�U����F̋(�Ng���W�!��$/�5��gM��u�0웢/_�bhM�ZS��M�Y�9
(�^^=7H����K���Y��ȎB�:9,Z���!�6uG���1D98���7I	L�e6ͤ�e��8�Q���c>�Hn0H͚��{.1��V��LD�N-�W�"2�<�/w|���=�0�0�wEHD�e�[�q=
-�b��T�Hی�&(1�0�ڡ���
-43
�HMd{U���
BJ��49,����Ƭ
�n�AW�RYc^pZы~��
-���%��U�y���c

��y�1Hf���W��^���')q�ޕ
�R���{�H�h����y�qd��뒸�`g'''��]Q��.�p ma^ž[�����W�h|X���$Q�e����Dqw��z�	�� h��05"�w���=��� ȴ_�� �
�;�y���=D
�t8!�É���	�1^���6�,\��F�ɸ��#ӏze
-F�L�OpW��ٶ\�S
͞�7�
k�R��i��V*��!ЯO��t��);�0�b^��������3K˴��Cy��>S�^0{V��~^��ز^e{��O�u��}����T�*���?^�>
�ΐ
�}�cLn������K#ൂ��Rw�wז
��z�P�IL�gCq�� rc_9��
�'xGSX�BH<��h^C7��&�	//�U�އ�&�2s;Ի���5
 E�_����]30�$]��'),8a��'���
��V5�������o������ �Qt:)���oh�4��JM��(��%��#W
-HV����'�
�$�B�(��w�Ħ��
Ng#�ʝ�����&N,�)�6߀7-��L
��Lb+wVQ�F��E
\�p�02����� ڀ���4�߽3�N׏&.�G]3�
�םv
�w�Ya�
�C�/����ج�m�)��
#J�P۶�rM�IvW�S�A� =��T>l�oi�d��?�\�o&��q�Q�f�Ђ*j!�x�E��j17�qYO���aR7�Q�b�AF�7B���i��~01��-�@z����O��U�{H��+z?:(tk�U�3�N��C$4�=]��G�
1=;����
���?
p��?�̟~0� �&M
�ak1-/�]�l���a�j���E�c��T�|�ӭ��d�|XF��"�	Q�`��;�����;���ty��
o�Tl��뒥��z�
�4��(
n;�z��VE��������C����
-endstream
-endobj
-1051 0 obj <<
-/Type /Page
-/Contents 1052 0 R
-/Resources 1050 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 1048 0 R 1049 0 R ]
->> endobj
-1048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 162.058 450.648 171.956]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html)>>
->> endobj
-1049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1053 0 obj <<
-/D [1051 0 R /XYZ 89 770.89 null]
->> endobj
-1054 0 obj <<
-/D [1051 0 R /XYZ 90 721.073 null]
->> endobj
-1055 0 obj <<
-/D [1051 0 R /XYZ 90 657.29 null]
->> endobj
-737 0 obj <<
-/D [1051 0 R /XYZ 90 603.841 null]
->> endobj
-1056 0 obj <<
-/D [1051 0 R /XYZ 90 558.95 null]
->> endobj
-1057 0 obj <<
-/D [1051 0 R /XYZ 90 514.682 null]
->> endobj
-1058 0 obj <<
-/D [1051 0 R /XYZ 90 471.131 null]
->> endobj
-1059 0 obj <<
-/D [1051 0 R /XYZ 90 429.518 null]
->> endobj
-1060 0 obj <<
-/D [1051 0 R /XYZ 90 395.984 null]
->> endobj
-717 0 obj <<
-/D [1051 0 R /XYZ 90 364.388 null]
->> endobj
-1061 0 obj <<
-/D [1051 0 R /XYZ 90 334.73 null]
->> endobj
-718 0 obj <<
-/D [1051 0 R /XYZ 90 277.286 null]
->> endobj
-1062 0 obj <<
-/D [1051 0 R /XYZ 90 245.691 null]
->> endobj
-1063 0 obj <<
-/D [1051 0 R /XYZ 90 202.14 null]
->> endobj
-1064 0 obj <<
-/D [1051 0 R /XYZ 90 159.211 null]
->> endobj
-1065 0 obj <<
-/D [1051 0 R /XYZ 90 103.083 null]
->> endobj
-1050 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1073 0 obj <<
-/Length 3576      
-/Filter /FlateDecode
->>
-stream
-xڭZIw�F��W�f�=��|��8r,�#)ポD�HD �`���맪�DǞ\�ޗZ�Z�l����ۣ7wG'���b?E8�{��l���W!�V�/
���/8c�{��gi���r3��{��~�np�3�a5;\jl=��;��C#�qZR�:�-�G_~g�4��1_���
��B�7��
�爹ӱ���p4N�~��nT��ݾ�xr�Y���n�Q��
�b��<�+�ur�J���"�k.��ܧY�<ј$_QaY�uZ7&_9l�CQQ!Ks�����M��� C��NM�����΁%|E݉O��J�IN���f��<��
-?���$V��-l�L2
̼�"o6��1"�f>ca��1
�k��BH�x�B��#�,���9�A0?����74=#���1��I�"��.���9瞩�<��Y����q����gS���3�@�#_͕�j�d�J��v���~ �#}jA��47�X�L��q��TH�0��n�nO��ْm��S��8
2�s����$m���q��乩]�J��������
��?����:�@�z� 
D��h����&~ I�H
-_����8�=�O�'�&����n���B+���}��J�'�X���6�Ӳ̀'�[�W&U�5���o��A%l�1�*�#�ZŠ:p��f�}fhX�8d=κүHF�KF�"_�=6m��|}r�.��ouS%����N� m�
-
�5�=E�2�
�v�ѻH�9B��u�'���Ác�$e�I��`���Ĩ<����2K*SSG��&{�rS���I�P����k;ې���N;��xp'D:Vkgn�
;��/����,�cك5F��?��0�ľ�39���r
���̼s�����3�,�Pe,r8�9���5��-�™�x��}k��^�,�X�vp�E�h+l ���zO,�mUl�7ˌ[�S5b#��Էݢ.=WN��0P{&B��L�~�k%�B�E�09�Q4���uR�N���g�%^
�!P��U[�O��h�$�N�*y�ޢ4Ug���`�QG�$�8��-�`��	�Z~+O��
-�K�w���
-
-��Z�
;���`̍�|�՜���o�X�4f�A���)~A��6*��%�ή��/%�tV� ����ٰ- �}�mI]�lQ3�xF]Z���!���B�&D_�:>[9�{����FbLب)r')�g����ސ�<3�^�g�����îPɟ���	Մ�V��;�H��h�U�B��ʍ�z��@x���A�� dP���"Nۙā��ijZ��
-6ޡ���K���zh=�;Jk=�b V���Q�n�U*V;�m�*���?�g�9
_%��"sC>�5��;#�$�����Y�����]b�<�_�!�?�7�O�7�z.!��' �
/���"�
:��oX^ޒ��Q_�Թ*�I�S�}R[���5��\	�5oq_��T��a�A�6t�:�
���'gv��=N빶W��%'y��
c�x�
MQ���\`�U�2��b��k�
����i[u�n����f�-���y�$T�x��Y6��ǧy
z~��n�7��`����]��E��ѹC7xu�|%���S�������{8\KxI�?@TQ�l�lh:�pi�j���B��Á+o
���:脩\)0�u�&զ�]���ۤz�5a)��
-T}��|ޖ�N_t1R������J��
r�j�V-�K!vUK�bG��@�j.�M��R�A�d(�6�	�
v2� S�%��ŚnËt�AS�e��#A+4��F"/S Qjω�' �m��'�j���.�5��r�V�?��\�zQjy����CƲ
\ �#v
�M�4�9z��kzk �s�9�\+��"T�
-\\\��zi%��m=�d�r���Y����}=0Т0x�;(l
�m|�Q*6ݴ� �
S��]�F�}�i��`�n}
����}���
P���k��! څ~��1���T����g	����W+�ޞ�Mb= \��  ����~�Cf�!��[?Z�]�XO�R~(G^
�{������������<��q�
-�!(S
� (� h�9����Pt�^�>Au���t�*�%p��S�
�)y�SS����K
�"e��N�V�	c�(S�fAp
�
vC�4P�`�_��͑,�"��ZU�/�t릚��u� �w��Łg�m�B8R�;�G�eJ�#��!
�R�i�}���6�}��|�f���է�1[���s
��x퀂mj��K-M(M��6F���	8%���ce�#?��
�p�\������0�\��K5���SXL�����!�B�
��)N��
��-����MR-M2:�i���i/������+�sZc��˧uL�=Ѽq�p6����Zq�Z
--�NK'H��q�i)�4?m�i"H,��19'Cp�]{����Qd>b��H���.H�R?�g��A%��S��i%}����
f\�N�Ȼ�_�]�ߏ$6��/��&qAjY�:ߺ)�ݠ�
Hz]ts)��7��ڍ��TI��L]H.(�����|q����*-]�:�����ӎ ��8�i݇HЁ#1<
E�8�
:N'��!��K�2a
n��g�<��A�By���v�J��M���!@\���9��� ߷�ָ�
N�ٙ~h���L0?֣����]�Gsg�$��{� � 
�9�TMm�d:�Z�j�:��]���
�:_h�̍�WJAț�-�[���kM�vZ�g�V�
>8����xk�]W�=�ɟ ����l��^qB8`��i�I�J�:����]%뀌Ū�\��>S�{G���/C�g؉*e�݈��}����WV�����@
��.����ȝDU^S��_
����2u����)%f
�n���|7���J�)�ʏ�=72�6y
�xI=1�
�*�G�>8~x���{Oi}��c=��E�� ��
-�Z�\˹��MXn�"/��]�a�͘rC��%�"�Ah�v"둈�k0i�0��N�@:�36�5O�r����R_��e�R����c*'�
-�8��A�x>� �����	Kp=�_��4���^n���gͥr�.�>I��?�R"
[7i3�k5M"A��4�h
w�ݠ�ֺOfh����(��}�q�
��E��oL��tN�[i�dz$K�'y�L���.t�)���ͩc�!�1���G��W;���[g �Kf5�S��W@�_�)��>�����P»�
����}��i�@�/ �
ߥB�VK�My��e�����*e A�xIX��
����G;�.�\�lK�h4[�z�l���*e�ޔ��`��߻`b���;��
l������+�_H\I�Z�#9�C�
-� nw�>�P+�/F�2�b�ys��H��i
Hy��R|���v� +.oe'P��p���;�{*�V��>�(L��i���� "
��<b��J�@S�O�
e����IZF��O�)O�dcv\��o2;��QX
�M���$Y�e$aD-l���h4�\ݭ1��31��G�װ^ܟ%�}��/k��Ӳ�������5��_����Y10e���K������i�^
-endstream
-endobj
-1072 0 obj <<
-/Type /Page
-/Contents 1073 0 R
-/Resources 1071 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 1066 0 R 1067 0 R 1068 0 R 1070 0 R ]
->> endobj
-1066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.91 631.725 374.71 642.006]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
->> endobj
-1067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.917 619.705 217.053 630.051]
-/A << /S /GoTo /D (main_Wil93) >>
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.891 146.887 85.237]
-/A << /S /GoTo /D (main_NO80) >>
->> endobj
-1070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1074 0 obj <<
-/D [1072 0 R /XYZ 89 770.89 null]
->> endobj
-1075 0 obj <<
-/D [1072 0 R /XYZ 90 721.073 null]
->> endobj
-1076 0 obj <<
-/D [1072 0 R /XYZ 90 692.848 null]
->> endobj
-1077 0 obj <<
-/D [1072 0 R /XYZ 90 660.996 null]
->> endobj
-1078 0 obj <<
-/D [1072 0 R /XYZ 90 616.432 null]
->> endobj
-1079 0 obj <<
-/D [1072 0 R /XYZ 90 583.544 null]
->> endobj
-1080 0 obj <<
-/D [1072 0 R /XYZ 90 539.019 null]
->> endobj
-1081 0 obj <<
-/D [1072 0 R /XYZ 90 506.569 null]
->> endobj
-1082 0 obj <<
-/D [1072 0 R /XYZ 90 450.209 null]
->> endobj
-1083 0 obj <<
-/D [1072 0 R /XYZ 90 405.804 null]
->> endobj
-1084 0 obj <<
-/D [1072 0 R /XYZ 90 361.4 null]
->> endobj
-1085 0 obj <<
-/D [1072 0 R /XYZ 90 305.039 null]
->> endobj
-1086 0 obj <<
-/D [1072 0 R /XYZ 90 273.307 null]
->> endobj
-1087 0 obj <<
-/D [1072 0 R /XYZ 90 216.23 null]
->> endobj
-1088 0 obj <<
-/D [1072 0 R /XYZ 90 183.899 null]
->> endobj
-1089 0 obj <<
-/D [1072 0 R /XYZ 90 127.42 null]
->> endobj
-1071 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1097 0 obj <<
-/Length 3427      
-/Filter /FlateDecode
->>
-stream
-xڵZ[w�6~����V:'b�׼9��ڱ��r������`	k�Ty�����R-ۍ����������r�>
��>x�!rG���^8��
%�(�'�[���e<���l$��I��
����������N��<rG���(
����pG
��F�#�xto&�G�'��F��_\{��#	��{��
����w�~��
2q\!۳~t&S/�Ǘ*����i��Ʊ��#;��f�r�}�?LD0N��g,�\W�]`Ss�hJUq�&��]��2/�e٨|�l?+*����qä`�s��oO|6�qєy��%o��2�(M��$xr���w|8���肗�����ox�������Ne����.X �̙��2Ӫ��_�UZf���g���6馝
����\Z5��x0�f�!�(�'�
代��u"�'L:��r_P���N�g$���!ƶ��>/��.�R�q=��v敮*U��Z�oʴ|��mQr�?�M�=�Ԣ4�� s���)�{����������u^�2W{�
�	��/
-)�7Vm��	�zszu:;�?JכƊna��Jȼ�S�T���v>�)ԺU$�u���;�
��5���/
�
v��u���)`��U�TF�@f�~n�
���I
�*EJ�0	��>�
` :<�'�;^N`��8*�7:O��F�����Zg1=����D�<
-�8�Й=�Y�6.��6^�e'b'
-��f����K[#<�ռT���E
-���y�v�>�=���be
	��cm�����R�CC췃���o�%�+�G�+��"5Y]�_�h�ID��z�._0��w�* Ӝ[�s"��sVi���^��]�Rym��6�P۰�&h����+-�9LV�K+
-�#K�)5m��C�.�N����i�6�Zߴ�X$Q��͒���%�!��b��yz�^D7�JW��hx�����Y��2�����H���c`�x���� ��a�Ąz��x'����
T�s���a��zR8�6
;�\�D��l�
�������n-�R�kj�i����5����U>�=C�s;�tAN���ZgN ���A�^��- �����X`5
�m�3���p�9g�:����pk�r��ž��Ep��*w2���e�����d������S���\\�@I��R=
-e�(��5�C'��b�^#����c�'�c��5�:@���"�Ĉ���b!JO,�FSuc�2O�2b9)5}ZB�"m,yl��A ����NK��Le�\ʉ�;WU�y�sU#�g��ES7v�D�lΊX at .[8����D�s�9����
�ҏ�Ћڳ|�+�@�$y��� �tɦ�Io�h�#c"
���
����T���<�D<�-����CL��b\�P�Z�u���TL�-�5Y1ZY��|���=�9v�+�Щ� �Z	�3�X��B��<�^�f�Q�8�醊�Ť	��?L�~�s�
-�/ Av5����������ޙeAr=�
og��ɏ��
Y�]��U���rS���9�zMbO\f�$���Xfg~<�D����Z��$��)��vVf�
n�C�b5NbkR��B��sZ�3m��)ViE�������ob_QVo��n؅��+�|Y�b��¦��4�V�������/����K��]�*6v���Vk��{�
6���fM�ck�2����`	cOm�O�{�.:g�7I�y����G pi`,v��c	;pĚ��M� ¬h��<�Q�ҙ2/�w�u�"��v�kX��m�O.�p��$����p���~ '?����l>ׄ$�����`���a�[��G�� kD9������#�5�"
g?��N��;�S��֚��i�
+�o�]�n�bY�ײ�<O�RYԿ�0]�;y�<
�$)Q�n�5��if2�G0���N��d�� 7��*I^�ߢ.�
<�c�W���9؟���o��kJ�
�u�<�u�Ғ��E�=�:�?@(����ъal���r�U���mRp<���Χ:���yy��F��"�G7�`i�dRq��}���N��
���\/8	�Xf�Fm4�l�|5���P��Q�p�޾T����^/��L��)D�W3�wIo�i���t}4Lu��}:�cl�l[DQ�-���0���BM$rd�cR����D0њh��'����H�5�j�帉9�%��%{laB��")��R�>+(�]�8
��
o\iS��R��u�f�¢
���a0�L>P�zHϑA'��N�M"�w����;��>�
����
h��$��P���a�)*ݬ���>j[�#�G!��G��fm��C�w;?�L���҅s5��r"�q[�
��xvY��b�&yy����
��w��x�����a��ہ [...]
ei�l,�1r�
V���E�����r�$xTM�{�u��G#�0r�v�
'�A� œ;���H�i�O�V:���q�rʎR�`*}��R�9G.2�a:>��Q��a�M�sn���x�ﮰ
�e;��w����P��oW�M��d�}��
�l��
ܐ@�5��� V�S0ɂl3獭�1i��92��{Vl�x� �<I��|1�0��|��C4�d
-%%�zzrTDn�#�rzrr�K�
e�?��o;,��̒9??@I�pi�K_�zU,*��=�νl
�_ �4j�K��
ģbz���̙Nuqr�����	O �C
-�W)}'
-��V���ѻ2���p�Rs3��@t�K#�s�SY�k�f�g��
- �Ŀ2s"m�yI��8�k;k;�j[��i;Q/�i[m�
j;��j;�g�%�Vs��:/j���aŗf]�&a�$��7Q-��w:�O�f���+��M�{P�u�6H���]&��^�D�f-R�)�o!5u�n/Z�4_ �;«꺩U�.��
|w�u�'{�>��UQ�$��6�~��������,���
-@�uan/ڪ=Gv����;�6�[�s}'�&�G6]�~%�]y�{��h��@NG��0�c
a����>dF���O��F���ȼ�}0��4�k>L%����������/�����-ŔkMY�TF��ϞL|��
-ѡ۟�9]���ٟH/}��W�
������c�C<>\,4��ԜDU]�HK�ڭS��תj��
�G��M�4�;���
�3���Mpq���4��?
-!.!�����ps�ɘk�����ॶt0���n�}a���Ag���P�"��i��Gx� ���c3��R��|��Q��DJ��
#����U]o޽}{��+����tt�v���>V��*�w��/�L
l]�߾t~K���2��� ��
-endstream
-endobj
-1096 0 obj <<
-/Type /Page
-/Contents 1097 0 R
-/Resources 1095 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1002 0 R
-/Annots [ 1069 0 R 1091 0 R 1094 0 R ]
->> endobj
-1069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.426 696.002 411.403 706.906]
-/A << /S /GoTo /D (main_NO77) >>
->> endobj
-1091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.77 601.064 290.746 611.968]
-/A << /S /GoTo /D (main_NO77) >>
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1098 0 obj <<
-/D [1096 0 R /XYZ 89 770.89 null]
->> endobj
-1090 0 obj <<
-/D [1096 0 R /XYZ 90 721.073 null]
->> endobj
-1099 0 obj <<
-/D [1096 0 R /XYZ 90 693.13 null]
->> endobj
-602 0 obj <<
-/D [1096 0 R /XYZ 90 661.484 null]
->> endobj
-1100 0 obj <<
-/D [1096 0 R /XYZ 90 629.838 null]
->> endobj
-1101 0 obj <<
-/D [1096 0 R /XYZ 90 598.192 null]
->> endobj
-1102 0 obj <<
-/D [1096 0 R /XYZ 90 567.263 null]
->> endobj
-1103 0 obj <<
-/D [1096 0 R /XYZ 90 534.9 null]
->> endobj
-1104 0 obj <<
-/D [1096 0 R /XYZ 90 503.374 null]
->> endobj
-1105 0 obj <<
-/D [1096 0 R /XYZ 90 471.728 null]
->> endobj
-1106 0 obj <<
-/D [1096 0 R /XYZ 90 416.769 null]
->> endobj
-827 0 obj <<
-/D [1096 0 R /XYZ 90 384.406 null]
->> endobj
-1107 0 obj <<
-/D [1096 0 R /XYZ 90 352.76 null]
->> endobj
-581 0 obj <<
-/D [1096 0 R /XYZ 90 321.487 null]
->> endobj
-1108 0 obj <<
-/D [1096 0 R /XYZ 90 267.615 null]
->> endobj
-1109 0 obj <<
-/D [1096 0 R /XYZ 90 234.031 null]
->> endobj
-1110 0 obj <<
-/D [1096 0 R /XYZ 90 178.355 null]
->> endobj
-1111 0 obj <<
-/D [1096 0 R /XYZ 90 134.754 null]
->> endobj
-1112 0 obj <<
-/D [1096 0 R /XYZ 90 103.825 null]
->> endobj
-1095 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1117 0 obj <<
-/Length 3233      
-/Filter /FlateDecode
->>
-stream
-xڝZK��6�ϯ��T��çHzONb;���f&��rr�HHB�"�����
��x�����h���8���Voo�y��{�x��Ͷ�v��_e�*�27�B�\}r��m{�۟���U�W����*]p�G]��(�a�:a���ᇛ�7������w�&�8�|��[�@�a�a��
i�i!�V����x"��Uq}��}�����6v�%�����»7�v�*
-@�
Fh����6
-<��:�
��c�R)
|�u�N���V�VK�T-6|������^G�����P��禺(�ǎ���1��@A�Qd��9�Z��r���w�������K�&���
R�k�3V�a�[/X݂��8��e�y���ݰ	�,���!��u}��92�k��T�=����Uۃ��׷7�O4�i��؛��ug��X�6���K@�̍�dj�9��i� ��v���y8*
S�������xjZ��Q��lsa��f�u�,p��
���5�f�*u״�u��
��Q�\ݡ�Z�[��{��Q1m�!�����z1���m�@@{���a�-S���}8p՟dٻ%������Y4��O;
�DL�5�_�u^��ͯ�,"�w}��Av~��᭟������kߩ
�55��
-39�o�^�X�5��N�ʘ�mk�#��.y����=�m�ؓ�xX��#ѠJ
޷�鯇�
�d�N$%߉���@����6~��*
�6a
X�~����^~?���T��w^1�һ��&�}�2�lt}��
��3$�_a�Sn:վ@L4<<�h2T�:�����
�w�sn.ؙ�Ş���
�ۦ��+�"�Q���w�S�b_���,
APHXΫ�4L<c�3G4= ���}���WK���A��.Gq��A�Z��4p�lk&i,B���c�#?���Q߀{jp]<
>�a�
&����ِ�}��;����
�N�,��mdsG(���\_+�x^B
~�n���	���ñ㩿{��-��G+���U���w����7�����.�"ƻ��q�e��m��
���R׋��z��˻��ٻM{��Z��ڥ|01�kq�KC*@�0�w*'�1� ��~
�O�k.��&�$�wp�O�Ś�50F�G�c5�oȰ)zL�
���"�1�
�(p�ˁ�����F�q�̪r�43�	C�V(��"n������1teq[N��H�*ƈpǕ
��J�� �x!�
4�c�@�,�Y�u]�V�w��EM�ٸK�چvW�=���tܚ	  V�m�ۼ�|K
-��asYa�� ��Z�z�9�ͩ���ѭx�
S.M/b���4]n���7XP_
Jq��;V�W�|s��X
A��
	��lzl
���`zh_M�o��>p]*��dƔ�� ����rB�'
G���&[9/49!ІB"�G���]"�N�	�9����ֲ>]-��v�A��PVi�l�@�3�1r��0�§$
�ހT���N��e�d?R}aʐ��)���
rC��z#�
�
5���c����z�!�C?�@@�~���S�Hq at z¡�|�	���2=�y�\΃�:(�Z�G��V���vV.�m��;
<}wlX�0�ߐ*�e/�K�Di��S��1�%�bkܮi���/�A�@���c�*��$v�h�x��
_:�:�%(��^�-�DBH�@��*�0|n���[��
	��C6�,0��
-0�
��P+�x�
�
-p+8~�;n]H��8���vG�U�h�h#�O�-І��
�A�КE P�~ax�� ���=�'	��F��|94
�&�jh�a-�
�h��
��L4�?�������/
��n��>ٟW�6�$
r
L��苾I�)T�0
6�m&�j�[m�h	�z|����,d��-BsxI���˓--f��E
P���"B!:Utܱ�
9T�d�@��x"�VW��
0�p����*�jl�?��B�m������
kD ���g�������bm����p�!�8k�H)T��hEb��2���JwkH�{�
�̃��Hpb���p3�
����2e�p�SS����/ğ�9l
s{��Ⓦ2#/f3N
���(��\�T~:W$��qt�[+K���2��e 
-��82%g��Ȇ��xT��`�Wy�^Da܂�\�ʊ$��Ω��Z���MC��{֒)�J�B��5�hj5�d��O2Kti�.��ڠ�
KLFY6N�0[Ą�<t[s�9c�j��Q��,L�d}Zf�0��g5@�
�k���{
���"� L">.9����������\=�Z�L�ƴ
6�\�0U��clf��+E�(�n����?r㊎�t�� S�~��Q�pEƼL���%�^1���V�
Է³��,�J�ƫX�"�ً�<J�G	+�����u����6z`�
ͯ��j��W���u�\�T,�
�׷�'�ϩ���`� ����pm��*��#�0� ��ًL���Ĝ��%#ӳ���2��r�
m�J.5�Pذ
\K%|�R-�c�
NIA�X�Gr=Z0�����|=?�w
�`]�^p[����
��=m�����!���߻L�2���(a;�+Œ���y�{Xd�˫r�|�y�3
-j0ҮR
u%>7<��u#ǒ��@S��7��2ܢX/�g�

�2>�"��7�Yh�Os��R2f�g�L�!`�@L%�ɺX���JG���&pV
����1�L�YfpF��0eV���T�������?
�C�F��=q+:�H�3�i�W
q�lx��㕜>|U��.���:����[�k
-��inC�i@��:]��:���w�DVYQ8�A��a��N_���:w���BZ9;���MQ�B�
�����)8\���K���D���.{�ؕ��5v�pr<j
-W�$��BE �@��xό�2��_�]V�{�?��i'ŋg��$GF1.�.G�j��p� \gb�u����͓wG�ZAa|�i�Ь�]���Nր�����ڮ4�b��x0��E3y�Yz*h�
�����|���
S�h�����B�X
-�:��/Z45ZdO$ٓ�Z����+��G,F�@�[��
7L�e
-���K��L�\5��o��b�o�
���mпi�;��$L��4�ča����
>oO���~2���������[a��Q�� ��k�@�\�
�c������s��O7�ٗ���G�0n_�s����|��������
L�ך�~-�5O�6�D��!Dt�
-endstream
-endobj
-1116 0 obj <<
-/Type /Page
-/Contents 1117 0 R
-/Resources 1115 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1092 0 R 1093 0 R 1113 0 R 1114 0 R ]
->> endobj
-1092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.082 696.002 309.535 706.906]
-/A << /S /GoTo /D (main_Wey50) >>
->> endobj
-1093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.932 652.665 405.385 663.569]
-/A << /S /GoTo /D (main_Wey35) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 524.699 388.718 535.603]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1118 0 obj <<
-/D [1116 0 R /XYZ 89 770.89 null]
->> endobj
-1119 0 obj <<
-/D [1116 0 R /XYZ 90 721.073 null]
->> endobj
-1120 0 obj <<
-/D [1116 0 R /XYZ 90 693.262 null]
->> endobj
-603 0 obj <<
-/D [1116 0 R /XYZ 90 649.925 null]
->> endobj
-66 0 obj <<
-/D [1116 0 R /XYZ 90 595.574 null]
->> endobj
-1121 0 obj <<
-/D [1116 0 R /XYZ 90 562.928 null]
->> endobj
-403 0 obj <<
-/D [1116 0 R /XYZ 90 562.928 null]
->> endobj
-1122 0 obj <<
-/D [1116 0 R /XYZ 90 457.441 null]
->> endobj
-1115 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1127 0 obj <<
-/Length 3092      
-/Filter /FlateDecode
->>
-stream
-xڍ�v�6���m��l��(�s����u���3vN�
`�s
�(���� �2㙋 �B�孎+o���?�n���U�M��~�tX��*ޥ�h�|��z�m~}�i��aA�}x����s7�n~��a�[��?���*+o~��[� �i�m�4Y�iQ��!�����_7ޔ�hE��o}����T�(.�}���܅I�֛ Z���n/ ��u���V�<0
���ժו�y��U׫�/h�~�,���П7��V�t��ﶛ;�i���Ppv�z(_U���j���xe�Q�Cz�;�SE|�Vw}k2������FEݔ��'T�sg�4w��W4�L��.ܪ�ڦ�۲�l�^�
>aୟ7�3�)�v��^n}R��Z��e�l��,Z��B��Omr�ڟp����FgF
�Uu�-O�y 
��i
-�-�Z�<<�Z���p&��n�^�d�������L^��P5�ѽjI�@ "�>m���e�v�:�Z�u
�3w5w~���;�������q��A�*�-�?
��\6�ܶ����f縷�AUWw�L[Gz��B�Ӹ��� d�*H�����Mo@{x|�[;��_Lu����Z�ˠH�0�un�{^��q�P;�R�6�3h��p��w;��㿿<��w���ç�O_

�Ѣ��`�݉i��ko�A#)�LΝ"�M
�� �NF
��t�i �,;�_s����eCnP�����tX{y�mx.L6;o���H�{�Ek����
-����f�K���̦k�
-���
-i>�J�KD�x�%�� ����A/��e
Y(h�:��
���_wCvT
o�tiP����ZЮRu/�_ޘ8���X��0I��VUx�
/�=�z.�%�G�x�[Q6D�B =�������N�
-Z���
y�/H}|�����.���QE����Q�^�<jqcЈ�
Ju�[`[=� "��k�d}܀C��Ԩׯ/��. ��Ѩև�

0���9a$��^�Z6����%�����E1���`�2EʄXI
^���mBԁ�fwb�@�L
&lN�Ƣ�
i:Ti�y�ުA�$�.�5���b��'J���4��
-� 
��`ϳ
1�0R3��4�"�H
����Y����S�$<c�.�
�V-xb����QK�x��r�˝85~��}ֻiV�-�*��<� �:<���g��u��N=�w���
-�`yS}��A�"��ş��9��H
Y#�`ȥ�	���
y-�>!�h�w)Mփ�g2
��J$�N#)X
�I�6`t0�^���"�
y4�5
b��1lpq�`W��*�%�eboq���l�5WQ�ײI�̺��FV��%X��`9��g<�
���_�,L�l���Wє���W�
�;�t2E��TY1�j��Ut+��݋<a5�,u�&Wql�o�
��U$�
���9�lƀ�b��+�dD���6V
* �F�����F���i%�Y��:y
��j��)�h�ǜ�6�V��x

��
�9�J��5�(U��(��G0وw�2�
�=�U
��LOr����� ~ѭs� ��~���
L,�
���p��:1�tA���n��U��-<���q�����Dag��.��b�ܲ��;y�x�����.aϞ�$�JS�

�*�J̻�3<�L\��h �
y�{��l�E,�؞d����=�P�3=7*2B7��W�-�ϬB;��T��A�~tF�,�V��b�4rG��G����`�
���#D�
*�������)$������{Z��혪嘢OB�����9;Ղ��� SŤ�2�+��Dͬ}�9��Lyf=�31P�B��4�[Q�ar���$9"���lĘ{�֯���
.����ᄤ ��ֲS�r��'Z][i���Ӏ���@\��
J<�����A�{�i j 6����OB/�-2�Z��.�
*e��\���C��SǠlxW
�3�S�?�.�.�y."Q��k7BW
{[ b�\Q�m��	��/y�c=P����\�UY�Vb �G+��L�l;#.����,��
t�,�4�st�J��+��I. ���1�=����s:���7
�� ׋����K��=כ�E�?s�8%�
{�!hΐOSjb�
-2��^
{l
��s��5Wk�1�kQ�a݌���O�@��hB�
D�rp��{�
Ri!Z?׹s�
���A̲Z�Luң'
w�
-J*׺� ,!�4�DAN6J�R},Yh P��8���DU�7�3�\���
�u9�+���mxzU2w�7+.�
�ޖZ-M�q%8q~�tl>`��<�
-�W[�H��0ס��3|Z�� 
.�P>�`�,w�eSb��U�����b�p�&Ou��\;�4A��^xcrı�@0&�g({Q T��T� ke��N�Fe/��	Q�a7�~Q���{7k��@���'_!b��P��j�
 �؃ {��_�!����6��}z�g�bbp.�e9�x��(�%ف�c|��/1$��֟�3{
��9�����S`wN�~m��HS6�dÈC-1mb֒�ܬqM����m���~<���]
i���%��ഫm5�>��G$�9Ý���;JJ,i�)�儓�׬��X��F	}(_��М"��9��5`�A�*T�n���q!Ą��h��B9��(����.�rB��udh2����Hג�U,[���$���x��LI�/��`?&�́�b.D�q_ŭ�s��g,Z�`fB };p��,�[� �2��c<��l~>dz<u��Wi����m�9`�p0�&�¸�t��P�0�o\a*_H �����)�x�� 0��~���T�h:�KE� [...]
_F�c�a]\N:o���~_"ӟ�W�m���U
�c
>���}��F�������^V��O�KF0%:�����^��������|�f�v�L�nM�4�����ﶱC�>ݖ�XCB�%/��f��6)
-endstream
-endobj
-1126 0 obj <<
-/Type /Page
-/Contents 1127 0 R
-/Resources 1125 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1124 0 R ]
->> endobj
-1124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1128 0 obj <<
-/D [1126 0 R /XYZ 89 770.89 null]
->> endobj
-1129 0 obj <<
-/D [1126 0 R /XYZ 90 615.897 null]
->> endobj
-1130 0 obj <<
-/D [1126 0 R /XYZ 90 591.46 null]
->> endobj
-1131 0 obj <<
-/D [1126 0 R /XYZ 90 267.416 null]
->> endobj
-1125 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1135 0 obj <<
-/Length 2948      
-/Filter /FlateDecode
->>
-stream
-xڍYI�������TUZ�U�2'{;�'N'3�+e� �P
5�
�����m�fO�D�a{x��p�	7�=|���ͷy�9��x��x�
�M�
w�
z�� �>�Y|��O�Ѝ�����p�L����Ѝ��9$�!H��o���LJ�"8+�D�w����~��pS��M�K��͕&՛4N�[m><��!�����،�]1�E��E��0�/-�MU�fg�g��v��$L���H�j�FY��6
�?�40=/-[����i�j(�?E�m����6�Ǵ7�뚗�7'�,
/���<�$��v#�}�V%�~�

��o���p�WU7�f���!\n�L�N��Yg�����٪�����
PV3mp�d���mi~
��SL�s:mϭ�M��t1�1O?!WC��̕+q
����)K�8h�La)C�Ku�����7�$�i��O�]�Q�y
�k�ծk��X�I����(��^�����Pj�BWjf��_��k
�z�ʽ����>p�LhO �gb=��������@5�bB�ثhKi��
�S�T��x�WykTm
-�
��|�s�B7�F{�_LbAQ��㑹J����l
S]�
�#����s�v�T��E�%Q
�u�&
��n�
mAS5Ȝ	��O)ں
�+
I(4$a��Ož�����Z7
�|��\$D`iB�!Xn���0n��C�
ן���qʧ~$9���
I�`�<D��J���1aG5���"�#���[��B5ܰ�2
Kz9C
}
�����ζ��ŗ]�ۗ�~�@�K-e��d��e�f�GM,�=#*t��.���y�3K6�+T�����L'�]I��#�#���r>>a��,��t��"{�&q��gb_W�����|!iBL���1�34%�4A�2cʸ��`�\��h�
C���E�o�vx�
.C�ݪ'v
N{P���S�{��f(g�xO9	��)����W�'h�Ԏ��<�u�bώ`3Fg��%!t�MLO�W��A
J�\���Fxph*S9y��N�'�k��8|L��c|�@qH�I.&�v軡�E�dH�
6y +�,*�)�k���	��1^��P �A1�L�:��9>�.�5�	ʉ�c�08̄�
7�@����3��z�=%#�����d����
1_�M\�&ŧ�Cy��g���Z�!�g�r�72��k(�.�c��˯�j��(
�Kk
-ɜ��ҳ�T)�{݂�&��n#���Q
]Q >@��4�I��dyH'Oę�D����!���K	�4/a�s|� W`R�2A�
�� :�(� ��B�v�=���+�lU���(�?b�%	�Q2vHW��
RV�
m�.M�`6y�����`:�.ٯ�/�{�$��|��(ed���Ri�"�������k�f�ć�ˆ��tL����c�I X����
-tm����)_� ��:QCi���Y)X�0��*-g
l*��[��	�
�ְ� :I��;G���&�� �u��-�9�Q5��I�LcF(S\HcN�i��s�0EQ��BIk�%
+8Q���B¦�O�\�_-�~������1�Ř�N��
6з?	��K���@�����la��P$���zp��4~]�S^5!b�Y���V������L�=��$�g3J��<���`!ͽ�d�
����A��bN��tzJCKRe:�
� n�����ჶ��I���{f����
�#Y����b:�l�Ђ�V�W�t��)f�
t|
�Ӡ0�j�GM�����1\��qF񨺽ؘ�)Ζ�
-v
1��t%o$�P���!BU
�U\7bt���/Bt5���ob���(��'ˍ�W�pS��m̖_��`�'��\��x�g�'|}%�*����o��-/����Mo
����?����{u��a�%t/��e��2� qBr؃G<�'l�4K�k?��#Iv�lz��W�=k_�a�!åi��vL��r��q��M�#v:��RR��G.+&p
*�nT�r�"`1�F$s���
�<<3i�<�H֜��y?���ܺR4�j��d���Ȃq;� 1������O���=D�4<`�]���w@���M@���hT�
\o����WO6��\� �gM�U,��ȆL�$�+`&AT��/0M2�,%ٸ����^�xf0��:j���N\��FH1染�Wn�SH��da�+x�
kmR)�}U!%}���"�<Z{.�	�NB�.�>n�b+���a8�#�p��Ċ�B�>�1�d

����	z�#:���
�4����_�,�r�L��@z��.m�e�I1��3�y������v焁���
��/��;�W��dX߿R�
��yą,Y(p��~���TF���6��I����d���]bM����«���R�Y6 k����?��b�	TR��Xg��ygz�Y��!l�����'�������W���"4�HS�-
Kn�<�=�ΰ�X�E�A��Wu"���I�4C-3O�Ւ��8�#㈪�)�vp
�ĥp
�
��-V�y
���p��
�*.~7�F��y�/�����[.A0��
�ת���� �d���6N�i����22a
M�� �)RІͣ/u-� nĸ���x�&���T����'ﰓ���v�B��#��oq�q&
�P���I�@��^��tS���tw��EY,���T)��孻c�x
xE������MbɎY��7e
Bɭ���	1������{b��p;8�\\��g�E4yR��W�"�#��C�_%1z�u2z���n��W�D��ͧ
�$,�������ť�VBXF�
h��"8k��0�P��-��!�&��

��� ���|���富'������V��.����?�mz�L�4
����'�_�,����K�;A
C��Z�%�f�6����g�F�|O;"~/}���͛���+�nhLgw���f!��[GQ
-��o2
-�n��?c�
����?}��H
-endstream
-endobj
-1134 0 obj <<
-/Type /Page
-/Contents 1135 0 R
-/Resources 1133 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1132 0 R ]
->> endobj
-1132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1136 0 obj <<
-/D [1134 0 R /XYZ 89 770.89 null]
->> endobj
-1137 0 obj <<
-/D [1134 0 R /XYZ 90 557.258 null]
->> endobj
-1138 0 obj <<
-/D [1134 0 R /XYZ 90 324.222 null]
->> endobj
-1139 0 obj <<
-/D [1134 0 R /XYZ 90 170.488 null]
->> endobj
-1133 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1143 0 obj <<
-/Length 3027      
-/Filter /FlateDecode
->>
-stream
-xڥْ۸�}�Bo��<��yڸ�)o��S��*e�DBb��Aʳ���F7�c8SN�"�����A���&����/�7wo�pS��,�6��Mn�ܥ�՛OAo��u#�b�,��������8w����כ��MD��]^l��ͧ��M
�_7�N����"�7I,��l>���&|�*Q��":3�moE��v����-�գn���8
�ߺZ�X������mT���>,0���~��{�f����m����q��Fp at w��I��#
*z(�a��G
<�:�{�������pR4�`����W<m�g&��^�g;:�b��Z1�
�y0���3��
-(S �[�)|�̙X�
��

����ѵ���!
�e��b������'\
y�M�NL�I4z����l��Fg�k���ѽ�Z[k˥��>:��D�� ��"g-�
��
��m
-�!?�iD��;�&���\{�L%�y��u�Z�i�AW�9� ;��+t���lr����6��0�Qv�;�����IC��
��i��(�vQ��L��i��v|���rO;��8���hH	�BY�h	��;ش��V�3�-�
�q�K�r�ˣJ o�(�5)\{�訢 �����tO��^�Qg�.�{�1�?L,0c2��		���+HC|�NL]��Q������L���Bַ̆�x�ʞ�S7Wx
x�؎`"�@ �I@�!��E
ȞP$=
N]�xʱ����쀎�X�V�]��Ί_x����4�W}O�/"r�n�
��q��J=N�3�W<h�xb�Q�"yB^.�]oI��7�5R�f8���~����
FՀ��qj�Z٬)�u��E�İ4w
8#~�\���g�JK�^r�U9�eO��4
Q�R��[p1�n����A2�}
ƣ�T��(�]�E
U��[D��0ᘼB%�<_;�A��	���y�d3���2�k��ى�5Jx�b��;��^�y [...]
��'_f�!��8Da�]"F�x5�rX��V95 ��CR��9gxu�2<�/6�-�|�*���b������*ao�Ĕ��M���F�<ػD\��D^�y��Wj?6�N�����t�������������c4����jV]���8��")Y/lv� g'
U�)�%�1����M8a ��|ɡZ�k�4O�!V����N���
'ik��M�(
�D5��|��ǥ#�
���t��̹���8���s���̓��
}~sV��b�!�8МyUd\�%�1���$�

-3Z���*^( fs-o�qk�b��ké7��
�>���P�J�+Uj�x6��y���몊a�%��=f��

p
(:A)	�l6��O�4
z�ý�t����f-3 'f��K��J�$
�Pl$0�)��m[5W��8g�?���ק�?��
�+x��Xi�B&γCD���<˹~4ɽ,�[#�/rgݢ
-u�
�'#'Ӌ;r3`�{�SE��bv��˽��]{��7�A9�����H��� la��� �
k�W�
� ��n�ek	��V�0�F.C�M s5�`� |M�Є
d�0HmpO�E>nE�/�0�Y��-�E��WN*
bH���Nh]hf��5J֔W���΀�_� ��gH����]�9��QZ��Ҝ�I�N�"���P[�؁_��,'�U�؛�������S�9_����1
F��^9gk�{�e�/gn:#����c�JC��o�m�6�F�A
F�s�ĉg�1�
H�+�:G��EAq]�N;˥�lj��L��g� ��CP�^��R
^��$�MV��vg��@��j|u��C�k�_
R �n���I�G���ީD��JDc�
U"�*9��>�OU"
�9
X�6��D�T%x]�\��*��L%��T����
 ��?x߃���IyF($#Xh] �5h8�e����]�
-��N��)� �^��<���k��Q�R��ÎgI=��r��@/�Î7��3��A6Ă�&���
 ��K�q���zl���
��Y+��SJsP�B5�XsE�L�wc,���7t"
wk�x�ʅ�	�O7�$
-�JJ^���v������5��c��EL~'&�������8�|�;0�����g�0"�a���U��^�
�o ug�Z
�.
�ꙛ\h6c'�ek�`�w�kc�G�i�m�*���2�������/��Gr��W6bg��J1��&��+��%�-��K�J�l�:r��2��[5̿
-@���
���'W����w��2��O2��5��ٮJ���
-rW��H�)Ϸ��e1�2z]����B�̧���r
�+Mܙh
-'��!U���dـ�C�?�h�OZf���
�iEגj� �J���� ����Z9�q+mg]�7w� ��U�����z�n�\�0f_�X�e�H�߆|U3�p6�`
��~��~�M.�����H�j%¹0�@̡�@���C);@\��c2B
�rR���T�FV�#���U൝�=h�����%�"���3�8Sm���U�_������cn��5e2���/�{y��L���ӳ��
{
�Vۭ)��j(6
~S?u��bR��4���V�p��K��ٴ����\����
��"m�q�_Sp�m2��g��t2�Y;������c

�ǓiL�F�q��cF�$�	&� �g�Ÿ�8�M�LnK���-�R�f�2���
-�W
-�2,ʡƼ?l���cI�Ka�e�����-͙C܇�y<����;�7�}��'P�{U��
�R��1�
s��N&܁�l���G��R"��ƍ�������.rpB����i.?��=<<�~wm����pw�4w3�-I��]�7�g9�kbnb�p���
q�^.
-endstream
-endobj
-1142 0 obj <<
-/Type /Page
-/Contents 1143 0 R
-/Resources 1141 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1140 0 R ]
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1144 0 obj <<
-/D [1142 0 R /XYZ 89 770.89 null]
->> endobj
-1145 0 obj <<
-/D [1142 0 R /XYZ 90 702.278 null]
->> endobj
-1146 0 obj <<
-/D [1142 0 R /XYZ 90 361.198 null]
->> endobj
-1141 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1150 0 obj <<
-/Length 3399      
-/Filter /FlateDecode
->>
-stream
-xڍ˒��>_�[4U3Z��٩صN�l�����"��I䎕�O� �\n��
�F��h4���Cp����o�ɃCy*�(;|�
��'�)͠W~>F��Q
���'i�N����6���T�3:E��$~���w����Ck��i���8T���
5��;��,��t;$Q
�������f�yl�ar*�����)
�ճfN��IyTܭ��c�
/z���#F��
��GF�%H�~�}M�f��Θ�~���>]�QP5Nw��5񀙇�'�=��� ��j
/U?<����t/�x������m�P� �g�h����a��OM���e�|b㦚n�?�U�V#7�f�����~��������3t�jn���P�k��|b��
-�Y2�� ��zC�/�8j3�]�Swv��J�
��2:�Hl�<��ƺ�������
%�Bku��q�
��hi����1^�	�4���Q�Hf�уN���
H�g,���������5V_�@μiչ
�8}����o!�ֵUG� UJM���x�Fȍ�]�	�*s��g���8%Yyx��S�	��DQ����9
@GE��
D�=&�9���e!�-s� dA�lX��
4

l�y꟩��Gՙ[c
h"�B
�mƩ|.��t ��,K�
i���x$�����"�
�yb���jn|�'��̾�ב{�+ڏU�>k�NS��Ԍ�:��xq�FkH����]��i�.tX�t>����3����~V�*�ѳ��?�˯x��|�Z"`�x��v�'Ŕ�H�(�#�`OjV�	߅\�����k+����6r����۱#1���f�7�Σ�Yz|Z.��z���e4��z��>��H3���L��U��c6?eQ���(��?:<��z�& &
 ��W7��8�T(w�`'��U3�,ްý�%�QS]y�U'�Ugo6t&ս4�	HnXߑ~2A L���v�y��-piU�޹7,����Aꨣ��˻5�=.2n�
\�Vh
�8���
�&b���3p�xb�PkӼt�;�8�
]��p��
��"q��x�����Wݶ�&x�4+�o�֓
oM����<�X��rjB�xc���z�(�����t�[
��'�+
��&P�� ��g�&)��8�'"��J9'��h[l����wR��o
���*�`x�Ts���2@�[i��
9_�B��/
�KҀ���W8B��"�l}��
q�~=�
-Z����P�C��o��ntڀ7������ ��CU��Yz����?�k֔42���/
�$�$�MJ��GP��b�j�.��օ�

�V��D$T5� ����.q��Q�Æ~ �h�!�HA��Gg�
���I:�����Y��\B�<$���A�
-s�
6Cq|�rI(*�)��+Ek9;_��S�.=$��cՐ�C��t�l��!���N��{�8F��eg/L��'�.6

�Jsj�rR]+1#����JY���Z�o&�8B�(|����2~ہ�V,d�d`1�#���Dl-6�
�5y�
`��y*�O׾&�$t�*]C`nj������G�{v�˲�a�3[8���5�(��0X�-s�#�,'�V͓�Q�4�ޒ�i8)C	<�,3
�f����Lbd�3XZ�	�E�СPk�VP��y���х
Ím��%���&�ׂ{�-3S�L
-)؜��6�b��W6ܑ��f`w��.sGq03��%�/O��j����$�
�Ո����������ʧ��M���3�z�Y �_!��8^M��g]��l8��n����W�(���M�z�n���Km9#�	m�:�.a�
�A���ܥ
�s��	��@���ʤz���7 ^@6ܶ����%�()C�u�{���1�"�%Y���
q���)2 4e�n�!�J�� ��J����La�:�,��FDZy�n�@
V����rJ���\6T~2�v��P��`K�o\��r	 �j��|M�$�㠧����.mx\rPVҕ�}	ڀ��D���`/�qI	1=ޚ�
K�P��]$A@)0`i0��A���@�;AP��gc�d�ȸ,w� ��X�Ԉ�J�@���a�gYLU���5$

�� �lg#/Iy�3�h=!	�z�xH�VV�E
�k�@j���Ș� a�
 ���Y���	M*k2ʨ��h,���
��4q�ʖx�����Akbp�M
A;!q �t-��pɖu2��
-���'��DD��f�� ��r��ޏ�-��
�m7�_Wl�(��aZ�E.
�(��]��ܞ/
I�"��
-��?X���/s��U�Z�
,�6\.Mm�0�-���J)�
B��Vs�[�3���uΡ�֋�΋m|sZ
-%�h�]��Ⱦ
�F�I�q�f�lK�Y�b&? �r	�\�D b�3�w��;�  ��>�n~UU
�gr(K	>����h��]F�f3�0�Od�/\�%�G�����mP6�� 4�;KM��
�����u���
��[�������c䉟��e�Y�ska��~�7�UߚM=
Ӯ�k*�J�{�5�L��h�Fo
H
F�	�]��I9K��7�!�
G2~���s|<AG�2
-1�
�6P
w�g�y�/�{���_��Ŗ��%1/@�$�Jٿ��f\���dk�
Ֆ����bķ�P�/!%&��B���=����Ww�+nG�:�N��6�p	��KF��}�
�1������ 77w��>��<�UT��ċZ�W>R�ͫ+l*NNa*��
-�U�
-в�᱌�Fތ�X=�T�ϓpI��
�"� O�_�-6g�
��4Y%��.�������56eX4��� ���.�y�#���
�y�D�gY�
s��ŋ�a41Zȅ!��b��KK4�
-��+ �'&a�x%
AH�!5����Wb��Xdp/��� W]	~�,
����h��t��+�p
�h`�5�l�z����fr��$�$>�_�G+�I„�s���V ,OՍ,��l%
�l�Š��v� U_��:	z����tE�RJ-e ��	=��Ҟ �(�b�j
-{�R�|�R�%`���ٍ������1����F�bé	�5�#yr6<��z���T'b���$w��f��
�.���$Nj'����]��/�6� �$"�-�UA��=F���Զh]2�c�څb><�<11�6�Q�
U�
��0�l�*��
-��2�R��/��c~���}ɫ�#j(�
-!
ֳ1BO��ш���U^!����LE14b-���Ս0�ɶ /2�˽����:i�%��c���%�)|?K{�
(�>�۷���G�~��F�z�:��W�l�!�nS�
��	�/�L���{�e��������)��
��:C��u��?�y���z��	��a<5�0QoVb����;".N`����^����|�Z
-endstream
-endobj
-1149 0 obj <<
-/Type /Page
-/Contents 1150 0 R
-/Resources 1148 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1147 0 R ]
->> endobj
-1147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1151 0 obj <<
-/D [1149 0 R /XYZ 89 770.89 null]
->> endobj
-1152 0 obj <<
-/D [1149 0 R /XYZ 90 184.347 null]
->> endobj
-1148 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1156 0 obj <<
-/Length 2979      
-/Filter /FlateDecode
->>
-stream
-xڭM�۶�B�R�yi�E)9�M��8no}v	��L�2HYU}g0�Cܤ_��`0�|�@+V�+���ß�
^���]�ۤ���a��B��|�j�!�r����l����69�_�����wO�q������	,�UB��خ��Ç�Ī�+g����N+�f�W�~y���U�$N:�4��t#�R�^�$�J���ףf୽��V�p#`Ԍ�ND��O�G�'��,O���]�n�y�UɛTU�޴��	���t
@���{m��_��}�"���IR�
��]�Wt�\D}K_E��]'y��h�H �_�M�e�єGzG�N ��.UC�g�N�	�:�m{����_�gެy>�X�CE�I%1��?v�j*�<Þb��pȍ&-��R����4H�W�폦��[S����6e��%M3���*��� ��
�c��@�L `#�
&�c�P���Z�_�����x|YtǶ���X
�A��
!��|��I7��8 �������6@�=�8��N�J6�̶+�> [...]
��g�
��'�o:��z��
�F��Y;�s
��6w�$H9IA'9����xC��C�t
�T7(�=�d���Q at D�j��P�^�^yS�b��^M�
����X�$
���_Aa�
��d|�Ň��ϗ}mJ�2nj�m�g�Q�9�v��
�ɑ/݅[=�
�
-f3�}65����w����g����1��Х��Ɨ�r�1���ӷ[�*�J�
�;ie
q е'M#���N8h�Y1�% �v�	a
$��e�-_�\��;���pj��S�\��X�`�
�#u���,��
#�7�h�#�ap�ݮ�iM�뱥���
��t���&�j��"�d*�� �f�  �7�*�7����AӪ��x��.�s?�/&��df	�u��4gn�jbAI(���1�IiT;=���.֌o��M� �:/�Q�<4�Y* ���1��N\�+��]�(���B�<r����=��ay�C�K�q���T\cnvh���b�3 �@>��%AQ�.6>��ޓV

-�<���qI�\LI��L�Ȣ
@�s
đA]��/��	�\�x�j�`iny�Pͧ�Yٞ��a��	�OQ�j��
�Yb/���i�;�ǥ{㯵�Oq��*8�&�n�9 g_I�3  *� |���2�&�?�����:��uph�ѽ�ࡨ$��� ��
�
r[^\���� �
¹�O6�a#K# �4qv�w��j:�b+��q�
-�
�NbG�ЭeyNbA�
b��,�F_�,�!��1T.���3�ѧ8v،˶,�a�0��a�%�9/t���
��f
��yz$�V�/@�)|�)uޕ%�DK��~IK������5�&��d�M½s�
-���H&�H�� �*��z
�Dz�Lr߶�T�t�������
]x����;A�B�꤃ݓ+�`�k/�d
̝5�.@@-�
���S[�K� `�q�咆�HИ�x����� 4�EAJJ)���8�L� �]�v�,�rI-�q
��a#V�
��n���7��&�k��3Mz	�}4Rlf�G��3�����p�
-�~�]G��O�IRJ��8�S��Ӑ]`��4̯����4
*�n�
�4�=�Sj�8��U�j?
����tӅg2_�h��>�P�M
9�ϞV�Y��ˏ-���ޥ��q%,�
-W��~��\���#��D�͸r�7��q�\
�S��m�|Q��Ύ��
sW��ѣ0��$���$���޼\P*��	�M%�iW�Lr�
-�)��Fx����
-��@�B%���Th�2�֯ƕ��U�-$p��f"=�o ���B��`�;2��u�/Nd6)�K��Paa�
-��曍��е�޾���g£���b���6��1M�[�i����E'����-&
L�2��k�|��"�Ԫ�4TuM�_L[�.mÍ��E�Q� ]JeL3b�
�`z�ȨJ�U,EMy���KL_`D/�K*!�Do���w��L�ď�8�<Z;� ��K'	(�>S�~S�fz�6������ð�ws��Z���n7�s��iz��s�����.}��
r��-��j���X��ýV��)��k��8>�Phꎷ�����
Ɣ�3~�
hodž��=o�������4����������do]���qJ������Sk�8l�'`
B�PM��h&)�I1�U���)� O�^
遭��^�����������P?�����(�J"��~wg�#���a���+N+�%i� �t�[g۶�i�7'=���g-\�oZ�,���c++�
-�m��i;
-�y	��
7�ې+م ��vĨ��ީ��¶���%��o�a��jO��k{
/�����fc���Z]�R<�/�q�4}�i
��P���m��=}��Y����H�Җ�D�
-.j
�(��%��(#��Թ����p0�M���g��>;R��X�����J���P�H9*z�]��0޳@sf� �k����DEs�
��RN��CCy5�Ѹjg��狪)b�B�Lh�ŕץ2%��{��I/�h1�a����'/��9�7P+g��
�5�ME��;��#�8�Md���?#�
-$�Ӷ�
ue��Qbo�e	����Ok���?�&<sb��PĠ���.�
�ך9%�>���G�W�t|�mg"���q���7�__�׸��Kc�66�khU^Od7g=�q�U�Z��F؟
�p����VW9
-endstream
-endobj
-1155 0 obj <<
-/Type /Page
-/Contents 1156 0 R
-/Resources 1154 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1123 0 R
-/Annots [ 1153 0 R ]
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1157 0 obj <<
-/D [1155 0 R /XYZ 89 770.89 null]
->> endobj
-1158 0 obj <<
-/D [1155 0 R /XYZ 90 267.416 null]
->> endobj
-1154 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1162 0 obj <<
-/Length 3246      
-/Filter /FlateDecode
->>
-stream
-xڍɖ���_�[���5\@��m�xw�&q��g����&2)��e��S@P͙̉@� Tj����&�|�𷧇�_
�M�+��~�tڔ���]���q�s�n�<����'�N۪����55��7��
�"SE���O�>|����Cwś���w�bS�~�5�
��&�ee���y��
���LJ=ğ$3IvI�T���c��ѻ�֗��j�D�Џ<���m2v��>2�M�<�����{�������Yx�e�.�7��ڕy��g�����gYTY��4��^�X������rEd
-�1���t
��Q��n�km��m�G��ɅS'w��/[��&X'^
����/�:����u�i��ސqdD�Y���R�l�M���)��'tL�
)b��i ^���~`̾�'kIи8�nor��0�I�c��/L��~� �4�
���Ƅ8ڪ�f<� ��^	2=dx{zP��ؚ8ӈ|5��s�����������6�zI�uO��N�Uq��K<�a
����$j�#��M��.�
���(
7Pǵ����$MR�4M�wռBV�s4���~���[^�3b�wF^�8zj4�����
�f�>�\��l�K32�9��A���BFZ�|Vx�d���Gb�>�V��U=��9d�g3�P�y�$���k�a�c]Ng��tGS�Xa`��U�`5�D~Ȗ8����7ѻ��(ߡ?�p�pB��Rp�tB;��-�؟����������?z���
#����\im�;��}������ �f�hLJ�Ń �pT�>V/�Wn�ޛ��@�*Nđ�uT��Ū%�;�}X��z�
�'۟�hw|
-j:�{+J�{{;�A܂�48
p�q�Dޭ#����
y��y-�2;
�az���e�
/�F���C�r�r��,=\��s��bM�t
�W��?_Z3�V2!T��X	��ʎ�\"L�fl<ư�v���n�*��
�j ��YxF3��@�ș��%�H�9,V<
p�M'�
�����oyB��˝=i8�Eg������8A@
x�
v4�O ���2
z
�4�M	�#dz�
-��;�2����$r}��t�v�[�Q�֕-Z|���9���	���vn�6�o���L�:�b6*a��׿�J�7B��3�(�`
ǡ��e[Xnd����Vl�*	%��r��0+�=��3W,�ڠ�1
��r.�(�J
%Yx�
V��_�y
��

h�^ΥLL7£
#C���F�Doj��2u�E"a�f�<�~Z}N�����Ґ�v"��A8f�}x�
l��]���r)%֖�k=��a���%�*ɣw�!�R\��Za�	�
;"sr�I���4��,#�[��J��E�K���Y]
}W��Ź�bܩ��{�Vit�n�*R�3V
-��a�~���p}@�}���Z�E��r�����6�Ȼ� 嗕3(��&�UFE
�ǩ=�5�cY�:��y
V�̾D:܉LY1]e�+I2���U�,���
p�v�XJbnU
�e�Gu��Nx��7�PwĒ��Ȕ�,s�Zq^n)HJd�C����IU2�9/@�{s�����"��{`y4�?��c���$A@j
��X��93�z�o�m��=9
޹��T(��0�.K3�PHb�x�f�im.
�������,b�d�68��Yv�� E9�W4.�A��ҳ�i�81�Y4T�V�% �!K��j
!�+����,�˳.�ι�?����Å���G
%�|NJ�[,��$Jj�3V���ZΏ�"g�Rş�*
0��e��e
-��>�
d�RH�s|�H)rY��@��>93�bf��o3IAV���N�ژ��sԋqy�s5���a�y

0	�x���,
�_v'_�qiE�� 9� ��z����G��%ʂ!�R�	����
ډ�3�{㜲|`R����|
-w :d��jOJ�"�9�
~I+�r�b�ʹ8U`�j!
o2�}+̹`�ba^�F�C��p��UD��&�80}��
<��,w
�Y�U��.

Im��#
t[s�R[���I��N
�
	��#�e�L<1�
�Ja(�
"��e>~9�Au�VG.^�U�����k_�Zy$�^��
�Ǝ[q��⸾���V\!��2�?r�r1%�}�Pk� �� V`
E˜`�2Y���?򣝟� �HFJ�Jc�[�!�<	QvI�_��� Y-|)��3+��v9?��HOE�h�4��[H��.^�M�!�5�����y�47^R� �{�,�fʵ���IiV��Yhj	�T�α�ǫ92��Y�'�5���}��	N\<�\�xM�xõ����"�/)$��>LZJ���|���N0�	�
}��[8q��K
 �s�� �#\����{�!����e��������ߠvR�yp��=����З��R���� ��bW)�
��s��J{�����p�&��)�:e�g���[�����䎺�Ϧ��Ԅ�JmJE��4+�x݁1���DV��ҷ�/0���<â��n�������L� [...]

��uE�~�4 C�K:^�ua��f}�Q4���i���r��;�����g�a����x��������ȷڵΔ+D_w��e?�ڇ��]{s?��;U�]p��F�:W
-Yn&;/���
l�
�[?�w�8�ʳ��2�r�#=)2��kZno �k���z}'
@���4)��C�A)E��*p:��
��;6a���/@�œ
��f�o�o
��9�D�_g�p=�ҁؤ����},��7 �ٯ�ss��gpmw��� �)�b�PV3\����h�N�?���uE%b���&���-�8���4�e��_	�š�*��H��E�G�rw�Q_���Ղ��wOaɘ�%��(}W�� �c�y\{T�T.�Q�]Τr�������|���A<3�	0��$�[+ʗtQ�����T�����p�|kH��5c��C*\ut<�s��N1z��(E�0Z�U����}*(<|��S�G~Jb ���s9�X#�#��%l0vޯ������H�ߕ��s�*B��M�������.|��
�G�*{��oo�>������ A�����U7�����)�
�T�n
���0ɜ}ظ�w���4�7)�,Na��m���׷o���
vSg.vgƷ�K�v!�;��D��������
-���J�ݽ������
-endstream
-endobj
-1161 0 obj <<
-/Type /Page
-/Contents 1162 0 R
-/Resources 1160 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1159 0 R ]
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1163 0 obj <<
-/D [1161 0 R /XYZ 89 770.89 null]
->> endobj
-1164 0 obj <<
-/D [1161 0 R /XYZ 90 701.757 null]
->> endobj
-1165 0 obj <<
-/D [1161 0 R /XYZ 90 581.803 null]
->> endobj
-1166 0 obj <<
-/D [1161 0 R /XYZ 90 356.771 null]
->> endobj
-1160 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1171 0 obj <<
-/Length 3208      
-/Filter /FlateDecode
->>
-stream
-xڕْ��}�Bo��<�Gޜ��z��*e��")	�<d��,}�j8�͋t7��
�ۜ6����__
�ާ�&��I�l^���ۤQ���U���Q����M�d{?O�%����O/�>�<#�����o>�������4۔��Ͽz�
-�?l�}�g�+��(��l����G��������yϺ:ջ� 	����a�=�o;�8���^��cݍ<nTYwC-/��I�˾�E����ok�����
�u�
L�늁ם�m{��g��gaޘ�Q�vI��
�p����KuQp�ovq�
8
5I��<�y
3��Йa-�V��-��ɑ����ݑ�@ȧ�2�G
��<�;3мL�k��
-�~�84cQL�;����z��[��<�>�Z��c{ �b�;
�=?u��]/
-��S4���
�}��A
a�n/�
��$LRZ̝��9�s���.G�w
���̘�����Q�P8Լ�j���dE��%�
�
QT�g4����R�v��([
nk��r�dɡ��vѕ����i�
�.��Y�2�]��'͂�X
@i|A�s� �p�ۚGhԄ9
�R�Q�O�=jE�6�p��׾�/|!��s�՟��99R�(���<�󢅐	��W�xcBr�<ZS�
F�ot���e�#�E��;9t�c ;�}�mxո�Y,��؟���2
��p�&��m1��h����?`��N�x
�w��%�C�Y^3@G+�sw
��<�y���W]�;��Y
-a�H�1	��RC�U��b��
 ��
�F�<��Z��z��l��f(������-{�v��
�'��0C�;��P�o�:+��-ic�p��i�T��h���(�I+cb��ԖS��[��W��,.��!��iu:�A�B<=A�.!��H��0;���)D�3��fۏ��=��`���O9�����RV}4�`��{�c�@���Лل�����%ے� �3�6��Ҕ4Ŕ��^�ݬ�%F�0"�3��\A�!!���|�J�$�~ 
��Hl3h:��6`�gU�y�\à-� =�<߄)<Ewf����k�
I˗�a`���s�%
L�L��X����s�w��������V�k�e
`V�>��@K�(�|����
�
���
$�빗�\��tN�R� P��J�W at 3��Q�-�@�r��26 ���as
�n�b����
�B�:rY�.B�>ƀt!^q�#7#[��"c�+�5t�?%��tR
-Yw۶E%��L�=gJC�
R��o��ށ9��DVh�ȶ�|�(�m+��e�dQF"\D�E� �����h
-X:<˾�������@�n,�,�R�
壘�:. �g��
�b‹` ��
-[�3���Ne�[�R���4s}�-�F�S�ԕ���
ɦA����A��.k�������|r��t���!�lg.o ~��L!�NFn���!
-� ���P�4Z�
	`}�^�_�
��y~[˰����
���2-[k�:˚�!�׼*#�i����	
�9Gƶb4Q_���˙v���b�Bz��X����>1���A�d��I띟m�y7SQ������{�����m��M�(0=
�Fs
�a6�9�#4�Su�Pj��HZ2��_�5�)0��z�
y�k<0�$0��\qҵ�Ѳ�Q���4U��c�T92�}��'���@>�K�����Ƈ���'��0�(�sz��
-ZYp_�5�5�����nͲ�p�u�^�h��s?鯵����`6�����Q����(�
������~�qAz�ϡQ;H�;h�zB8��?����������v�>Nؓ��}
����)�����=�
Mkh
-8Ѐ<�pT�6�Խ#@
-�H�
\�zo� W�/̳i��n���HE��l
��ZNE���{���@xֺ
�B��b3�czפl��"X4M]��-�{Ꞌ���L������Qs��C��ܤ{�Gҽ�2��K��4��3�
-|�=�������}�ܜ������Y|�:���C?��O�C�����Ask8���v�YA*T]5�
-Xpw��u#�����bz�*�ó��e �?�
��Jt�>|���
�5E~I��g���<�E�<�a������ w
 &HO']'s2N��0���鰒��?����&���U&Bh�0/EJ�g��/�m1�{�
��p�˺���lněy�{�wh)G*&��Pn��� dnk�;�������� ����ʂ�UV����2e����Tq
-�x\
,(��H���q+�7n���_$�$	��y=���۾0Yj�/v� u��[b*(I_�d�dV�aEu[
r4�`c��V�M��/|S��k��h!� p>����&��$�h�1Z��ìp��gmf�mDXm��jƎ{�)��v����
-��Xx�
��V�@���t6-=�zt{F��@��۲�u�+�ӊymӍ
Sy��xI<�W-��\Z�N�
��V����[d�~
B)\�(�>;�9��L^,
!�*$��R�3C5?��" ��	�Rv��2�	C�
$͑�(h`� ��a�cE�wp��h�Ă�n���}�� n��-���A�2�
���(MUQ��;��
��`�lA���xS`. aP)�˝�:�f�>2�U��'[6�Q#
�S���Z|dXm~�(��O�Q
T����\+	
-+oH�xu�7�����e��= �1v}���s�/�
�$���CFM��ߏ  ��%Ƽ�zv[
%�Fr� �FkD��FD�u< � �k�Ӷ㤁JU3���|2 at bl�������>�%R�"fY �=i�O��k�%qO���02���L:�Lʋ�EÆ�ZI1I��$���3�?�+0�Ź�I���٫w%ؘ����+lrL�"`Ӱ X�4� ���!�V!��p�o/_��s%�<4R�U��߁3ߢ��l���N�s�U��Ly�{Sϒ���@�嬫���ҍE�nVy��R��ky���nd�a�9ҍ��Ơ��FD����1���"��RU��)e |�ƉN���<�/M�AX	 �� [nD��i�L���'�eï�����
-����f?j��(���Ҝ��-A.
-�J]�on�(]��Ѕ}A��@�b��Lw��P�,�ۃ�x�$U�sm8e��l������=t��C/0�9���/OO��u_��S�W�Ĵ����Y��'��
M:���T���m�U��#��
-endstream
-endobj
-1170 0 obj <<
-/Type /Page
-/Contents 1171 0 R
-/Resources 1169 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1168 0 R ]
->> endobj
-1168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1172 0 obj <<
-/D [1170 0 R /XYZ 89 770.89 null]
->> endobj
-1173 0 obj <<
-/D [1170 0 R /XYZ 90 438.117 null]
->> endobj
-1174 0 obj <<
-/D [1170 0 R /XYZ 90 308.089 null]
->> endobj
-1175 0 obj <<
-/D [1170 0 R /XYZ 90 201.971 null]
->> endobj
-1169 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1179 0 obj <<
-/Length 2745      
-/Filter /FlateDecode
->>
-stream
-xڍY[��H~�_���9�7Qg�,�*�-u ����<P�%g\���_�q��w�)##2##��%�h����y�{
�
�}�3�m����P��a�gCo��C1�OFOS��+!�4�Ä;��{�����(-"�
Lk�X}���;'����ki
�u���Ag����/���o
�k�
�w,Ä6��w��iM3{������u�r
���a+���"��i�J�
Kf
������S
-aT�]�a�T�f[n��::�a������o��S���U]�R�
�|��)9��c����?�,{ΎL���]����a��O��a������J�
0�Y�D��$
y����n��ߵ
��`w8^ה���6l�-X��L|Īѓ<�
Q���%L�D�~&�7�-N�F9��萸�%�����
ǜ���ji
-FL�+i��U ZjO	K���.��0W��xtÝ�c�$��Y: �:;���9�?v��]�l"�����QqLd���J�4N?$FY�$ίT%�v�)�W�	6���IX�
x��'q�N�x_��
zUmpX��iyV��":[�:
�k�RL���9�'K7��v���U�
My�h
�1k��iL,=������#�TU(��a����2��^� p&�}ݣ�r�~����qzLm��F��94����u�,��>;s�.�*�����t?P��2Ru]W� d�2��sw��L�
��b��O�z^�&���*��|��1.�Sw��<�����dש�/��a&�
0�p,K�4
S
@@d���b��
��@:�9SnG�[�v�{ܟ�8�X��ץ��>��V�v_ PN5���g�	�M��XTd
-t����\{���D戳kշll�\h�6�˂zq��3(����儵1&<b�s�
s%�A��Vxƫ�H�˕�\�N�{h�
� �],!6��g��
%�TՀ<�&�'�kFl*�@SQ
-����c�%=��I�� q}`
0�M5aĪ{�bre�}�P$Z:���JO3q��8p�8�ܗE�3��Ջ�ҪC�@�
7A�f3&���^�)o��އ<
`m�9��<�c�z�_H;^x
����
�ڂ��x�t��qt��q�4�"��!!��(�;d��3J;�=��2၈}(!���~s4����0
O�Ó�uj�ʂèクo8Q 췚؆]ƶ{�Ъ��`�	i�o֌�{}^0񲘸S*R����+ο8o"�AA���ă�qp�=�ǣ$�=�
ng��hZU~@�ي�	�;�2|a�:��QM,���O���F3�ӷ�]��P��@ҌGК}�/�����޵)<v��v�V$�<�.\с7������]�Y�k���3�
�WA ɟZOkzX����Z��-�Ȳ�-��|>�Q�Jƛb"�9#<g9L%=�6��W^u𷕢MU��+�Dp�����s�g׻y\��ķM��m��؝�_w����S�s�qU
-f#�Q�
.;B��?��UK*"m�>DT���_�^ +Sn����)��U�X�W�@����
V
�K�����j��x�����#n�fd��U����@�¥�O7�or������֩�G�RnN��{�=C.
x����b˟�t����M�S
�
8�1է<qh!��4N�攤>��
`�]|�7�L
ߙ#�<
w�4+�~^�*�ʒ��e�J���	'�;ຼ
�Sg���F��w#��q.,�1�\l9�cjN��5ܴʂg�0I�

t�R,�I��D9ߩ��g�P���<QC
y�=�����E�
˛WuOܼ�~2�>�´2k
K�#�2*KS�.��r�N 侏�Ko�
�$*
-��2��1h��q�hg#��� n�C��Q�"\]�۵q�,!�<����%C�m����QVO�o�m ���䨒�A:q�ϯk��`T�nu{�>k|���S��>��H�"����c���	o����
���#p�拟�ì
Y 
7��\LҐeiT="�T֒�e�X�(2+���ť�[�}z2�$n��2>�+@�
�����
�%8�R�2���Ė���z,M���_�?��.�ZoO�N��=�r�>�uV/?�"��#�ٶ�J�i�wL6���Y*�=��и��wn�X�m�_���C�Ǵ~(*/)CHv�E.��
n���
�&�����>�2$A�N���Qd�����e֚`U�����%�A[�[�Jc�e]��EaVsdj梍�dQmo���n}E��iFBG�A:�e
65�qh4 at 49�0z���;!����N��
||F�T
�IW���
rfb0RM��]vLd�.Ĩ_�F���%I�5��z@���i���u
	�
�8���>�<����1�'xN�val3�Eʹ��j� }� �B2��`8
�֖��"�5M�D
-M��#�VqvBH��Rp7
�"����{
C����af�9ёL2i7YTT_kF��O��9 j�ϡ�f���g�d��<��߁ֵ��M<G!�Z��w��2Iއo;�m�hmy1 �jxH�'LF'�� �~�.�6AH�D������N���&�^P��j��S+z%f�}�2��CD��;�/��_>dL�]
P�"��������A=�h�����?L�C� �����z�́E�{)�e����<�
s��0��}UDy�S�/az�~pa.��Njօj60���G�l�w�w��>s�\���.�E����<���p:���{L�Cލ���xh��j׺nu�����i�տ?R`��Bн���&��
-endstream
-endobj
-1178 0 obj <<
-/Type /Page
-/Contents 1179 0 R
-/Resources 1177 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1176 0 R ]
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1180 0 obj <<
-/D [1178 0 R /XYZ 89 770.89 null]
->> endobj
-1181 0 obj <<
-/D [1178 0 R /XYZ 90 628.142 null]
->> endobj
-1182 0 obj <<
-/D [1178 0 R /XYZ 90 487.42 null]
->> endobj
-1183 0 obj <<
-/D [1178 0 R /XYZ 90 334.742 null]
->> endobj
-1184 0 obj <<
-/D [1178 0 R /XYZ 90 221.82 null]
->> endobj
-1177 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1192 0 obj <<
-/Length 2586      
-/Filter /FlateDecode
->>
-stream
-xڍYKs�8��W���vU��m����&�̦�l��V�g����XI�Jr<��
�,yԽ��$D� ��ڱ^-Ǻ9�\�]\O
+��ȋ���J
k$v�he}����o�Ŷ�D�HS�>�/��s�vv�8��
�
˥��=���8���c������~[{=��χ6��g�:sz�xV
�D�⺮
��5��ui�f#Ǔ�qFו��\����
]�ʕh2U�Af������j�B�����|����%/W�>�cM\�N„���	
�Ќ��1{��}�KcQ
����D[kΜݴ���S�vYl��Vm+�Z������ʖ�F��Cyr���JC2�f��<�ޒ��j����C�Mhοo�></h0�a���iv�x�Űn6ʬ���T������eshoc`�oWO_�
f��w����f��o�W�9
�X6j
gO�ۯ�w3&?>?=>̯�����v�<�6����3}����+�q�̳�g-4X�
-e�q%������E�hQ
��Y?�ά*�����MP������q�N.rU�
�Ӱ>1H��[޻T
�M-%�"Ûez�<��ӪM�l�\\��{���٪z��I����/�G+��:�:�j�Q��xS{�MI�Y^���
AC�u�.��A��ݨ���4hxY��F�

x%�Y
���L�J��B�Iɛl�}
�ܸ�*ujG^@����ģ+�N��n�VJ��]VEV��(+a
QL� 6x� 
o����/�C��W���򬻞n{�
�j�g݈���
�Z�'r���n8:Z�
�ҡ
��_���:�v�=xB�$�
����C�a�		ܠ�^7
t0>ՁX/�m;v^x�n͍�hT�B�]I� �U�O\?�#��2?ש*d}�I�������ꎃ���`$m
-�vÃ	���
�3�����2�͜5g�s��VmFc��b{��1x{e��1���+BL"@B6�/���4�)WZu��OΕ~
V��
�f3G���O@��o����4�5!���Ԓ����)7���g4fs���V�h$�ےc�74�������{��8|C��p�\�1�hWi���!�o���<AF3�=;�
-r�""�5�l�gY�J�
\�^��'	jn�oi�k�+"�lO��Hg%��]-�I9t�?<�K
!t�U%�T��2v5g.<^�%�ʆ:��$I� 
-e:�
�0dd�v
uH��9��R�-dE�i����F)�R߉F�-
��a
�#��sN�^�
o� �v-!ŵ5�����P Pj��ċ]6��
F�Fb��%�����,(p��5�G�
�ANm�
��9c�"`��$q7����`����4�Y�����`�PM����z?:Z�B��Nܦ������FS��̆�q���
��=�\P~OX�.C��`�o�#x���E(���LU�U\b3�->��#�о�Z2D
�ՁV�<��`h>B�}�����&:� Qа�-+pҬ�Dγe����G���8�
�u��f������ �u
������Y�F
- �:烯hh�'C���%K8{^̎�%]�1�:Z9<%�e���z
-����C_�d-��W���}y@��b6�܁'j� �
���P�$c(8++�F�}Q�Whd�i��RGU��Uu���ȥ �!$v`�A�r�pX���n�\�j�9\�7�	X�$����)���
-;	�����
-7�� �t���B'� B�uT��c
- ���La����]	�St
-�)

&�)���!݀}�3.um�#ҽ��I@�X�b |����AJ�|h��:���k�TN}�I�L���~
�[n`�ܔt������\��ɗ�nZ��f,��A^�
"2�y>����ջ���}�J�>m�y,w[�z
-B��Nۢ�mAu��z��wk�[	�}I7�|�Lml^S


��xy��ru��S�j񩃎	����j����j��e$!� ���A��"��8~wBF��+�$�G�˝@آgJ4忚�RoL�� [zS�MֻR��:f!'�݃����o�I�OX�|�-~mD��`��.��H�/+U|A�0�� U�����X��e�xJ��ʵ˛0k��x#S
����sF��9d:�GN0(xE�y�������bbG��A�J3���h��KU�>r9�Xd�*�۬
G�B�]
���4D���-�'���cI|zR�p1f����N`(�Q 
�j����7
qӬ� ~Nr9E��q�YJ�_؂
�"�p�-��fQ�*
a*
ݍX�����z��m/���
i7b���ӢxfEm�@�d�,���
t��A�
�+���%��5�pH6b�'
ŭ���^t�Q�1�\�j�
�Z��\kDr!='` C�E�f��Z?�৚H �mC_�dt��uo
�m��`
����EFI8)�i�0{
UJ���ɳ[NI,�$�瑉��D�
�V�W���{�HA��?�����
-��~�QU�A� �Mw�>��"�"������2�b��
���a�M�w�#�� yD3�
�hpV���2�#t
��
@���we��쬹 x>Pfu� �;VY�-p�����%���#+
-endstream
-endobj
-1191 0 obj <<
-/Type /Page
-/Contents 1192 0 R
-/Resources 1190 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1186 0 R 1187 0 R 1188 0 R 1189 0 R ]
->> endobj
-1186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 600.478 472.963 609.585]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 390.239 321.452 400.521]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-1188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 336.127 508.501 347.031]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-1189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1193 0 obj <<
-/D [1191 0 R /XYZ 89 770.89 null]
->> endobj
-70 0 obj <<
-/D [1191 0 R /XYZ 90 321.223 null]
->> endobj
-1194 0 obj <<
-/D [1191 0 R /XYZ 90 289.252 null]
->> endobj
-402 0 obj <<
-/D [1191 0 R /XYZ 90 289.252 null]
->> endobj
-1190 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1198 0 obj <<
-/Length 3678      
-/Filter /FlateDecode
->>
-stream
-xڍ�v���_���R��Z�%�Oދ7Nw7��&M� ���.E2��q��s	�t�
�`x\���o.��l�E���0]<������:I�W,~���U����/?p�][Ok�ᨫ^�������p<��ċ�կ�]|x���"�5�E�k$��v�/~��_ �nᯣl�x"��"#������_��v��l�A���?W[߃��m�
�*��WAb!���c�
���qk�2vL�ߺ-t+�5�������Uvg�}�eBW���U�{�՗��8ȼ���Hp
9羂fI�'��.p�0��W�5��n�X"�<u�״�c��
��P����֓��<�	�0��)L�Ƞ� S:u��RQ;����#�D���^�q��f���3���T��C@���9�
/�&կ-!���P�Er%��p5B��A�,x�4v����*u��r��-a?��GQ�9T���
����Q�=I
"��頁k�1�h�J3�J�
H����d�5Uo�vu����FUp�A @�K4Z����0 ��4�,��#�,'�֞���fh����[u};��tZ�׭�r������f�NØw��\��}�}w������OL���{1Vnn��>�~��	�X�3�̃h�X�h멦)���
�
1X�x���ry0<��U�dlm^�Ѕ��AZD8y
��%3��Ǡ�T9�4�wB
�mF ���<���@*��uI��SϤ�?U 쬲�8�C+;��m��"[�sҕ��1
%�Qj�{�����p5�7�A`���;v��՜�>��m��0�t^U��Wl�m 6����l�6���o1�dUk+��d���7�-{�Lܲ�P�0H��~���
<�m*`D� ����
wy)���z&�t�x#�A1	x�Q�/v�e��
-P��p�_�I�kw�QwZ��z��|6D9I{p]�
-������m攪(Z0�Ę�-~����D�D���*�]����ͼ�F9�
�=����o~�
���y��|O��l�q�J6�
*!���ӢN�
��0]7@+8�<�S�s
-��{=RC�%Ԯm�N����$��

<
Xg)�v�C�G��Ž�V$��1�>���%�0:K,���nS����[o|ɣڐŜ7\�Odc�v�y�<�

��!�
��jG��xcQ{�*])jH�����l�
��Oy
�<���[�kTp�>s�=s{��U�� l*�4�|��KX'�}

���tZ�%vX
m8���
V�*4Gs���%/��9w
-3��;�-�gd�:h`��iBN���4
�����cp����ut�C�83�
ׯ
�e�@�,4(>e����m`5s�_�į���ٛБ�'c�w��˩ddr����_ at H]csO���Dn­�3cMu>��a�)�a�S����0t�<H�-~���:B�K����7���`�[�y��̧�����rl�W��~�Q�$P
-���!`�[���i�5���
��"��f���0�$�#V�DB_�D��59��BUe7�sD����t��q�z�$F��,�"op�3�S�P^Z �y���
LYw5|�Ɂ��1�M]B�1�!�6��=IH\�}��o����m����8�(�(��uwK�R�AL���;f�QD�9ܓ4���KݝQ��
�J	t�y�36NI���F�
��=��N�bQ�0��M2�al
*@!H�,���S
���D�
�(����y�gQ�x8��v�P%K�`�h8��(4��I��
�sl
�
-���HBH���^#d���`�8
�3ƒ#�RD^�^�L
-/n�T?x-v
�V싄�,n��nkn�\;b�k��{K�Fl	֣�EBa0¹� 
H/��CF@�b�ז�&����T�
�D)ۨ�J�݄{��u
{Xm|1�=)'�X��1)'��{n6�� ґ
b
�
�UF�<kg�|� �������I@��V�_Ϧ��	�\�
c{�q䤏��^#��S�L��[�#)3E��bo�r�1���L�隁���w��0K1
�fE^٨����Ew9�N��ϱ��g;@����
-�r��|�W�aH�+�a_C��I+�$�ԋ�#��RA �tR1D��<�*��I_�ZjWj[
9��Rtr
��Z�_��Ֆ-�`��dv?s�p�s'���6۽0Ű�J�!N�gJ�bPH����ƣ�0��g�x_���`�
-�
���Hqa-ż�sӱ�NӉz1	-·�F�)���͙�I���=L��p�:���
��� �O� ͑�Eȥd����gh�
�6�7 ��g�T���]�Yr���``�C��*�+e�Rt�������%�x|h�ᗬ���&�?t�
��I
�����1
�2�D����D����`�"��y`���4��_�{t��p[m�e;N{�!�ޱ�d#��t�;:j,�2���MZ!�I�ps�T���=
-� |f(�6?�}�᤹ж�#4���:4��R�&�:,"3��
�@�
-�;M�T
�y�@-�"��D�z&�K�X$���%�>���mx� �	z(�rm�
�4��T*�/�F�s	=M
`��я�$c��g��
����#���ԭ� ��C8	ɬ�:փ-٪�
[�?�lوǺ�,0���8�Җn��7
-ؾ���}�C
�+|�:~�ʿ�qT���8/��T�LS��@��cR������r-mM*(���M��-EԿ��m rœD6)m�h�w���'�D��h�l*��k*�-�D�����%R�J�
-����+����%`�y�>|���{wc���:n&��ֻ{À���,� >
Gz� ةfaX���
Q8��ؖ�
- V{2~�c��X<�F9^z���ݗ�R���ݍ-�<����5�X<:��� �_�f���VS�fJ����lmtc�������,aۓ�g�f��q�s�u��2�X�L����
-{
y:z��[=!�a�X���������e'h�e��Ϲw���8������D��$�e�p
-$� Wl 
bI2	��
�c0�2	 �v1�v�N�@��
26
r������
-����TP��^����N��p�m
���X_r���E,ş�јjhu�U��
-X?�mDo |�;]��ՔCg�e,hQmy@�g
���V��
�׾�ᛥ<�I���J������-��{
��O�) 0��hy��E��}
�=�h6�:p��w��:��*؝���qHOfNZ�&6�����ւC���� \.��ٍO7AIGr*
��
-�fz�I�yaN�
-�y��'�a

 �V�!qPQ��d�e�\�.
����m	�ՠr/�v"��5� #N]<�24�)�m�N8�,?T�-
-�����%�ܣ�
~䱇H
��X��: h#hs2���g�?M{�Д2�hd-�
D�d�
��^yI_1���T�7
4� y����4ID`��ԲOj��^֠3�����D�[��S;0�踻�C�
;��Y���4��0�,�I�h+,�7��
�
-B�z�+ݺ|>h�
�J�Vܶ��������֎m<�c�w_
�b>k�
��
�O�ua[����~��f
�!
�~}�|������:�� kM�6���)ߜ����A�7#��
k[�4�-
-����_AFj
-endstream
-endobj
-1197 0 obj <<
-/Type /Page
-/Contents 1198 0 R
-/Resources 1196 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1195 0 R ]
->> endobj
-1195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1199 0 obj <<
-/D [1197 0 R /XYZ 89 770.89 null]
->> endobj
-1196 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1203 0 obj <<
-/Length 3585      
-/Filter /FlateDecode
->>
-stream
-xڝɲ�6���B�.#UY2wJ�yM^&����O�DBO
S�����n���T��@�� �C��q�,��{��{�&v��.�����9�8�m�z��e�~�������E0��/߽ݿ~���cw��wܹ0�,\�n��"9�����H��������BH�E�����~�s�[	��V\w㺼�Z���vY�:�>9��H_'Mf
-�ꬱ�[�W�R8�S�
tnV^����p�`�xY�ɉg����'�
��u���@����W:��T�]޿.RS�
"r�Y�a�0䝛j��C��}V7���o>9��ZG~�ܯ����8�z_�ZW_Vn��<�9Ic���e�������_>�� ,?�s9ii]Mˋ�M�
��L���w֪�-�`��
��g�!�:tC��o:����r�_�}/�Ib�4+
����2��j��"CZ�n�xy��
w�E�`�
�^]�Iަ���D>��RE#ï�:�Uv�ÙB#��+dhC��<B at a�,�/���u�@�][td��$��0��e�*�<�fҒ�+K���6p��&*�29N<=��Jp��,��A�t�
d\�$��+C+}�)E�!�d>@�T�Xyβ%�	��ȯ�R$U�FN?� R�5����\V�="���j
� ��rUq3;WY3`[�5\w�5

q
(=3:)<��LO+�_p�d"ߪ��I�x!���hT��ܷ
-"���u��=Va7i��f[�x�
�
�����x�����.\�~b:/߽����;&3�����r��
���U�6i*�b�
��"���2�w̓l^`p`^ ���s�]�,k{�x�Rgr����3�N��<T##�)F�d�g
.�%c�FVI���`�8�U
�i��������02ۂZ��҉��F�i<��

���wLؼv<0 ��q�ݧ�;ڀ�N���JÙ�6��b�8�y�
8RF��I�MtZ�-pF*c(���:�DhWR���)C�@�P��κR	ecW0��
��Yc���: 7�
������|d-CZ�
@��
-��`jU�qz�M at 2�6��(O���4�Ʌ]%@+��Ku����V�����c
{ÓIH�̇���-���3�
&��X��a�]~��Ɉ�@o3�/~I���e�@P��j
%@H6\�_rRţl�hw��������\��
�\U+w�|�.L�x#ٞ�΁�l�6
��d[��Ty-��hrٍ-����IV�(�8��ƏV%y-�kk�;]�N[��
�6jJg6�Cc##u`+E�d�M�7;)��\z��2�C����(|q�%�쇷����D,������0H2<_$���$�*+���T �
;$i8	&|�3(n��"��Y�
-/�x��z�V5��7GKVfYs:�FXFY�c��9���`��8OĈ���[��!��Ve�<ػ�x_�@��h36[�{9�?#�W�U٦�5YHpk�$Ђ�-7u��Y��Y�<�o�1
�	�B��͢�`��ZU$�0�OX9y�!�
br
�”��`tt�g�\�T`���Bf���0�p�ɲ���3la���*�<]�U�65����rk�(� �S0�/
�3HB�/[l|�2��v�C� 
�����p.��
�Xk9�v%���0���A���!T8��Ʉ[0*ǀV�I��l��-�&Тt�G/2P�Q�
-�d
��εt<
-�z�F�xa�� א�TL�Z�%����kc���u��Maf�6PE�܀y��QI�����ۻ���29Is��n�0(p\��T�?�L9�N�M|�t|+��T�Q}��p07dՠe!8��s앣�Ĉ��6�q�y�o
40��ᚎ���vi
$�bL2�0r�����ރv
� ˜;�8����\6�%��l8����`�
1и�F~`|<	��a�lOt�q��d��'�y
�i����!
O�1���]ĬO��Sn�m3�:ҩj�d
--ˀ�3'	%tT=�5�.ir�n�بjS(����TW%MKz��Y�q�ayV�zB�ˤm�H��Q�� DR�����{6���a�"����Mi�]��h5������,�q��x;`�cD��a
;��`Wb3{A��h;
�>Ur���.C� +U�%�
��q	=�[ M�:8O+�v̞4QD�u9?�	�2��c����|pb�
  �?����Tx3�B7��Ӻ�{�����ܒ�
6�� �Q�"�
��u[�e�#mnSU�v9U]3Jn�rR�F�sg�4!Tc�k`S��*e��$�U��$&�������5�9̀�[e��L�x�6�Hw
 ���cLpI:�� ��6
z�e
C���������a+
Y�W�d4'�:�ԥ�
�	�1�ѲjSQo��]r�I��t4b#
�c�NOg��B
ƃ,t+^#^BP�E�N�#[��!��r�K�L-���3n�(��B�p+�uK�,z+5��"����f�s!B��օ\��p%
@A\I7��M�v�X�[���h���M okg�
@�@��uL�:C�z��k��1ݪ��
x�Y�V�h�1�ι7*˻�o\aU�/4�
��=L�g"
���sI�
�w
MQ><�/�{�'U+A�(�����֕�>9?���
�R�`*Y��2DD^лh�(��#����X'��#q��s�3��|�j�d��Ǭ�Uul=��C�&z<mP���Aĉ�"NXx)�>�anw��e
��e�U�@�$?�{����T�߽��'��*R�[�r{ ��Ut䡟LJϞtF �
-�����A�
l:��lKS�5A4.H
HH�L��d���_��_��i�ݷ%fl�]�5�hu�
���П
 �<>��d�&s���BkPԇ����e(��SY?�)��sV����!�
�/


�.��M�.u�n�A��@�,��y߮5:�G
���#��iR�'M4u��7�ف��u,kDa

-���=�j-7�m��Ƥn�i��l����'���`�F���. 
�T�I������ l7A��ux���s���^��
�iD��b�,'�_��
y�
�GY��D\/plhJ�+���i���Dl��2
�
q�~-�!H�AG�`'�
y$��v ���
e-�
�
���MNjE�c�G���XX�q���
8g�J�G�dҺ�iug���֓��Oa�Hޫ��@�{����w=����U
d6� �
T�|y�������s����u_j,�e�1�p`�@�n++8�TD���`yfP��:
c���l�xǡ{�+uu������ק5+���m����>���>���(?f��b>Y�W6w�Pе
-E3g
�G�8��%;ů��Ђc��x9ƢiÙ��R]�@q�k�S��)+e��S<̭4���F���%��mm�f71p004p��e�Gm� ��Pɿ�>���( ۉ���$Y���=
��c+��=O��Fp��_����L��D���
,
�M����仮��|ޛ�z�i���#����A��w����Mhwn4���ey���>h{R>��m�
��nzo|dz�{j���ӧ��e�ԛ���j�5O�2:ё��� ��%r����2��Y57*	��?꛿t
-endstream
-endobj
-1202 0 obj <<
-/Type /Page
-/Contents 1203 0 R
-/Resources 1201 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1167 0 R
-/Annots [ 1200 0 R ]
->> endobj
-1200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1204 0 obj <<
-/D [1202 0 R /XYZ 89 770.89 null]
->> endobj
-1201 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1208 0 obj <<
-/Length 3061      
-/Filter /FlateDecode
->>
-stream
-xڭ]�ܶ��~Ŏ_����$�}Jr�c'NܹK;�$Z�{�Z+���u��
�Di�v'�'� H� �/��<n�͛�onn_G�&��P����&q6���A�|��mw"p�7?�B���֍-)�wWg�IV}�uE��LV
�C�
����������ͧ�t6.��Q��N7���lr ��8��ě'Et��ƒo������c�����ۉm"׵]�X�Lmw��ߜ�I˒:���E�Q�i�*+������{	=_X�HM�cʣr+�I���i�s��غ�%aiWM�YCUʮ���g굲�)�
;�z������E��&� �]���P�7j+k!mv��	P����"�Q-���8D���p)ia���I���Y���T�a
�^�%w��Q.(���fؗEwDѮ���y�R�9���u]גm
-��@xJW�
k),�ءﱴğ���V8֪�ഢ@�}he'[R
��r�hV7[ױ�m�x�YTu��"
��+��}�+T�Օ
���I���
�B���Ҧik�P��Xn@�
j��ַ:��fʠt<��4S�{}M�H �{Җ��Zp
�-e�	ݯ8�נyWޱEi��UV�D�C�8�d�"*���(��C�؏���� 
끚%�R���
)h��BY��z\̬�BF�F�����r$�vf��Ϭ͠VZ���"��E$�P�jg�(��	��MH���Ů�(@R�b,�ˉZݱV�).(A5e�L��%�o�������ͪx��Wn~,���E��d:�ظ$�Vs 
e.m��
�J� z[m}��2�
��
-��e���UN
v
9}W#g�^K�ȱ����^�5JQU�'�˙��
���lƦ͎��+.,���^�-f��*-AG�w�qi~�n�\�_�s������
{�:��1I


:v"�Uգ'�	��{P��=���$+�P`�щ3�R
D�97��*:BD���'��B4AH�2F;=)���L}h(�qi�dڢzs���茀
P��<����<���"����8���\�i6�u�ٌ����
{�
Ay�
f�[8�U�0R-�M��t� ���g��
y0�13�x�P$p��V*����D<

@Ǒ��a�)s4
Z�+�(�P3t�<�-��`�rD�(
�
����2bÌ(�����Q� ����3�."$�]�{��#W��
-+�[x5#�Dj3qa��V��M����wW�O�W|�i�F%�'4ru�`�k
-�@�>U*
�T���p��Y�
 *��쎙�E
�aC�!j�,��ȕQA}���i�5��������f'Ek8�a����>|�!h���
�d �,>�02.E'g��BJH_�A*v�� PQ]Y�z$
h̔eE�5wz16��U
�
�C������~8J�Id��3!�
hJ��s���/�ͬ
t�$�Y��/��Tu�8������)��}i	b8����b[�O��
GJ�
��`mrr
��|
O;�h�x�^�jR�,	o�'-G'˃
-E!�jxX��!B/ dX�ޗ2Y�Xيp��ʃlu[��T/FM��s۔�OA�O at b���2@'��b��Q/��>V��Q�.�D��zq��,
S��,h���M� p%d/����K�����k8
�}��qCc�`)}���=x�*���̽r�آxݷd�
M�1IVW=8*�vC���S��/��Y��I��:49�VϮ@?^Q�ع��1�d�����xabd5H�
�9�4�IlF�U��ȋ����0Ռ2�Q��Q!A)�g&��QA0�N��"�S�?�`t
���
���$��|JJ��WlJg�op��g�~�l}[L�ɝ,����i�=��z/^U9D�llt �u?�k�ӬL�
6HR����v�����;ːo��_
�>'�?���t-9��kw5�К]}+{�0�3
-�D�
�"z�0�ʥ�L��!����ُ������Y�&����8gM_��L�k�
-P�{
a<�����:�Jav�Y��s㥄 �g�]�eeZ�@9�x�
z���o�����&l��a�n-R
�`��7��9��v��W�B
ލV�uKߴid�SŘVǘ[�������})J� ��U���KӮ����}JIO��Vs��$MA+��
��TlFZ�{�$g�B9 pmZu�M[��\�X�x���-2�����l"��	���Ψ��TD���ϵC_�<�6�D��D�� �G��ı�PMe���
���Z
�(��Ky񬔗pdb�3����\\z[���
-q�9:q���OC��u��\�����wH��?�kp}�O�9��94���
�L�N�L�X�6�B�G��"�d�i���8�=�cԑƬ�GňTu��̊M!{�]�����@W_�n��d d��S�J5��S!��9J�#
.%�)�X;K��'�\�b(M!�����\�]�������
�����j����X�+�k<_<�Q���*���EY�h
�c]�Y�%��k��隦PZ�&�:�j�0%L|�m�OuOo��K8NZ��x~�VF|QoG�YoGE
u)sk��E
 .Y�xɆ*��
"]�[�-.y�<���.���q�)#Cv
[�׋%��3�Tl�i����<.��
�\�g^���R
�l�0�`�A�F�
��8�wUx�sp�$�8,@��<�Q��B�3�Ƕ

�L����hs�t�ԃ�7��|-����G+Q�gz
-�A�
-T�� ��,��/e+��L�)BQ(�d�$�k�;���3-6�~ �Lg!�YQ���Yd��A8�
������ �����z�f��鉔y�"-*�� H�6����1W��@
���0U=��i(7���%�t��N�#��a�;9
�����#���-Lh]���
�r���M�_W�f/�37�������:4�|L�ؙ���?���t���3H��"/�����^I�As@���ć�<eަ�!oߪ;�@>`�W�O�!�5�^T�
D�=���^J�$���F�~�tE��qd{�
�������ӓ�u�PMk�mӔ���g�k�*'9�jé�Մ�����2����C�
-endstream
-endobj
-1207 0 obj <<
-/Type /Page
-/Contents 1208 0 R
-/Resources 1206 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1205 0 R ]
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1209 0 obj <<
-/D [1207 0 R /XYZ 89 770.89 null]
->> endobj
-1206 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1214 0 obj <<
-/Length 3081      
-/Filter /FlateDecode
->>
-stream
-xڥ�r�6��P��j����{������
+��Jr�E�����������T�E��F��h�]=��Շ��oH�U��b?^m���]%a��b��ߝ�_���i����bX����7��G|wq���r��+w���h���]}���� �O+wd�ꤐ�U��V���pmV�xƊ�m<���
����N>��Í\	?
='o
-z{
�*!��w�=!���u���iV��lڞ�^���ѝؕ�,���X����ڋ
�w,�ZH)چ��9�RS*Eǻ�u)�`���1�":�E�ȥc�D�BS�OE
���e�O߉�X�)�N�|N���Yg��m!�p]�,h�ϵ�yN��a6���H��d�!��f}x.X���o�o�?����~�V2ӭ����l�
�Ѝ�:G���ٵ��hJ���``)pN�?�����H��ʪ̥:
�
�B�r���f �	�����E��j��
-�?�G��^C��NH���E�k�A��,jK	����$���s�h�() ��F/(=
�fW
EID43�8 ��3`��-c�z۬C� ;�;q�t�
�x��H��8
���i[ ���N<k�a
�1<���Fy0H�8���^M0�
-�d
��/20_!
-�[: ��i�F�}f/k���
��0�8�7�٘�
GJ]�ѻ<��ƣ6
��N�E��9�g���U���B6�u˥(\&�}�Yg�YSjxۨ��Ā��:�*G\���==�`d�O��1���NJ���6 ���邊lT���,t�Jzv��w�
`vk��4��!E�\1�9E
9���wn�2eJ
c�z0r��%��eQ@����֑�4j��i���/
�{�b�P��J�7pZ��%�(@�@�)�N��4��鸄��_�ȧ���(@d<�g��d���g��<������%I,
���G1�J�.��(�
-=�1��)DZ}����sӢlO��,5��J��9!�r��f��`�H�
����u��5J�KA��� �1���
]�U��(�!�`R����x4�3t^��)Y��
#�-�j����kP�Y�Q/Ÿ���9
�cUo$��x
 �4J8�^��h��K��3�چ �e�� �Q��p�밚� �9���(�Z܄7�y
-fAsè$��x��>oh,Vތ����]�=��N^�!T�����*��� ,�0��.
����%�rVE�.PJ��D�U�7c	*7�����M5yww�~{�p�H�
~���$�2�@�'�k���W�	:%+09��:�:�4:�r���24	�2f�ƴ�h8��E}�J���GŎ�%���$����%�;����?-�V�

��,z3�At�4��2
�rz�D�s��+)*�]��M�_)�3N��kiF��٫:83up���
\���c�
-׵��
*��P��`��	��h����H�y�*�0��I)Q4�L���Ê�Ʃ�
�J�#`�гl
o����X�O�廞����Z�q1Z0��wm�8T,�E�T����#	p�Np9S��
���K?0v����5��j�CN#0
�~Cr�0�
Ր.
���кū�*�ګÉ��vZL*�F|v���Ad�F��}�G�\�K)w�Z�Z����
Qe��)K[�8���¡�
���#�;�y>|�t����C1�Fn�?r�q}��
��o�E>|����;T���
E�7R�
-Ż�J``Z����2I 0'n�`���
#p���OP�P��=o����hy�"�x��f��
�\>��
-[=y���/t���m��k��
������8��k��C�a�KTpE \�T�U$�2~���//	.xk����?P,
z�M�Elk�R���jJ��F��	xRs
0ʂ���g%j�/��F~+�(�$�)3�
�m�'���p�f��YxR4_چ�?����b�Z�v�����f��ߺ
-�6~;�
��fj�0��2Y���(oh>ט��S
bR+W!v�*s�K
�0��\d��`KW�9W�� �~����fm-�j�IUG�s�E6^�K��p��&�����{���h�N\
�	ҕ_�q�-�;y0	�|-#C��T�N(h�Z2Ha6I����[�@�^xaa.hl4(/
��B��� ����
�y�g�^#���L�hKf�F70;�ف����l�2��M��o�[7k�ݝMj��9
��4U��,(&�������a-z�O1��+����F�x�2oe6����@Qe�ĢY*�<���6�9��$���{�2���[�xo;-s�
�ѭG��=�ϓ�a*i�O��:�Vj�S>��ӻ�ǻ��8_<p��]���4y&t)��.]� �P�Ri�:�E� *
]�s��6�2.�-�p��ri
�W5/���9݃+K�V8̨
^4o

�[��!����H�d�q>�� ]D w�MEv�2�%�O�w
y������*�a3C21���c`�����

08�n��n�¦
��WD
�h`�ʯ�ėm�8m7���MT��Q�����>]l)ɏ�I�2�|��/}:q�|��Ŗ]f�A��I&cۋ�Q͙�����u�k-B������\6�f��O�'�'Tu0��|�n���nr���5����ٗ
\9~�P+�߹h���#��Jy(�F���Ȑ��¹n�,$z@�J#�2�PwJp4vTӮ��2����l5#�	����sA�w�<�r�R˗?
�
����C��O��G���d���jgO{�!��{�O6f	���s?}�1ǎn叇E����bƝ3IH�ɱ+��,���������u3�k7՟}���f��j�8z�;
��Iw�aJ�Pw�nv�k�q��6�_
B����y�W͗J�<��"�55o�6J�9�;��搋�6�M�a�+��A�L�����n>}����0�
-��E��:�b�|�N�M`Q�Ȇ6�7L6�w�7T�%J1�ꜧm�r(���wʣ���+]���ycd��~e��4����e�'��}^����o
�f:M6����
�����oO��f'7C#��F�o��v"��ѽp�"�&u��+,8�	o�J�/�j��
-endstream
-endobj
-1213 0 obj <<
-/Type /Page
-/Contents 1214 0 R
-/Resources 1212 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1211 0 R ]
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1215 0 obj <<
-/D [1213 0 R /XYZ 89 770.89 null]
->> endobj
-1212 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1221 0 obj <<
-/Length 2406      
-/Filter /FlateDecode
->>
-stream
-xڕY[w�6~�����ʧEwYݧ�l2�n沱�sz�}�-��V������[��ٗ�@� c-OKk�~��nq�Z�Ȍ'X���Z�^d����W�[�:�e|,�6�4�����}��ҳ]�rCP�d}�����υ
Dki�>�
��C����������2�h��(�l�9.�����_
kh�LL�mӶi�_W�mE
F����+
#/�
�r�U�o�Y'Ǟu�O���k�EE��n�d�r,�m$inΒ��(m&s�G�l��v�eCb�
��J�uz%RYH|Ib�H:F
N��S��-|e����9����d�����ҷ9��"+0
-��")�42C[��D��µ��/\������H���S�@f�
-$�����E�V"��~I�t�E��h��H�Un`���$jC?2�E[�JN�&*9���M0���k�C�r|�"��
z
x���uh��j�
/�g���4mTɃLz1ɁWa1�*f�G�brEk�X���sp��_�4�
=�0���"Sfil��	���$ڹ1&n]=-�QoZ��3�:� ���H�ѧ12 U���U�菬L����`�,�<4ǣ�ebvX������4<����n>������>l��yw�i{O�G�0Q�S����J�Q`l�cs�c *�CȽ"')`�x
�3Qs�@

�
�Q���ʵ ��U���G�p ����Q� u�]�g҉3��I&yTh�
-`�޵\cK��6
&��H`s~�h�
-�$KRQ�DE�eR%
)�v<�
-9�Cg�t�k�
�&�� �
;��N�lD��e���@�1�*M�σ	 �>���������n+�oX�����ԣb5tIe� �
ܹi���.��y�[��Nw��T
�;VI�k��v�n�F���놦�y㼽7����N���
N�D���8��A
�$?���	���M�6�CD|������
���:�|�]���fY����hh$�2X�ˡU��J�iD
���=��pD�M�jDW
a��UQxÒ%`����?i�0�� e���7wL�4��Î^k�E
-�k�Q]$h�4t&�!������;�F��Ě1��

���)��D{gn��kLM����l 	
�
��,�R
-'j�c�ăi\�c6M�W�K�@h��1D+��1'a��IG��vdj�B�F�E�g��Ȭ��Ϡ
���>!���jt׌����z�1��p.
-*�~��(1�9rG���:�"O���~�E�w'd �\;ϩ�g
�뙾���@����K{ʷ�
6
����j��,������̵�rq_���aq�xG���a��
VŜ���q߾�������*^#U�l�O����HU�W���e��U�:�gM�P`��*��=@�p
.T��
�mr�T�`��iS̿�Z
$P�t �F_�Jq�?��[_砪�!L��ar
�	#��ڴ]>F�@�]�E8q���
��z��I???�����	8!"e_����� F
O��U���E������|�Q���w�0
q�!Zz����X�M;-`�
�8�4�Tۇ:�8��}H�g�h���m:sv�/9��Ў×����t��ۥPB���wx����/P�H0g�o�Q�
����U�ތ�
�"on�/�؝��h!��C���
ڰf(��&g��>𯄢;
���
��dMM_A�
�x�7�W�o����PG����
W�q��	�69�j_t �<�
�
�
!t�A��*���BݭajN�����kx�J��8H����5n0QL�
�0o��&��+��\��|�86T�	��9���$�!��8m�;������f�x��\
+����L��i��3�N��P6�Z�{0��>��(�*��*���Br�6\��-�&ɂ��$��om��
u�-����C����ڤ�/ӑnm"�h�!cU,��Ʃc��g��52��-��
w3u�4��X'M�wH�W�N��s�E^�$�ix��YE�'"%�Hde��	l��@�m��eZQ�z����-%WI�l�D%S)jj������3NR�J�UM��D� x��*ЏqH�.79H�*;�v��3�ǦуK���zl��SH\�O�\2��^�l��DI�Ǒ*1�(�Ax�J�I��=a��ށ�}l{&\h
�D=�
�#��Dz^y�����Ňo�uϴG����� +m:�� [...]
���I�
-endstream
-endobj
-1220 0 obj <<
-/Type /Page
-/Contents 1221 0 R
-/Resources 1219 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1216 0 R 1217 0 R 1218 0 R ]
->> endobj
-1216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 600.977 428.041 611.881]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-1217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-1218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1222 0 obj <<
-/D [1220 0 R /XYZ 89 770.89 null]
->> endobj
-1223 0 obj <<
-/D [1220 0 R /XYZ 90 483.007 null]
->> endobj
-74 0 obj <<
-/D [1220 0 R /XYZ 90 180.648 null]
->> endobj
-78 0 obj <<
-/D [1220 0 R /XYZ 90 146.199 null]
->> endobj
-1219 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1252 0 obj <<
-/Length 1215      
-/Filter /FlateDecode
->>
-stream
-xڵX]s�6}����l-���ә&�&�n�m��C�;
J�,W�f��{�خ�p�'!�W::��#	�<;ع윍:�_=���w�댞
;
��p�9]�{_G
�JD|�ʷ�7��7�{��~���C�vH�/�'�p�y���^p0b�t^J���)�6q�;t���.����Pz}�1��S�ςP��T��u��H�N�/D鎝>ÈJn��<��8/*�.1�#["����q^�A�$ƽ|ʞ�$�
�,�OUZ�����v����TO�:V�;Ry��Ygi>,	�)zm
���R~w�
D�x
�SĈ]��
dz�?�(`M�`�1~ԁ^�L�<�H�`�G�jXF�{DvU���o��0K�`L�z�Ef�Im��rS;��� �cu]
	��(#w�ʇ�����L��t���d��/&����y1��4՛��-�A͒�,b����5��‚P��;�*o+�-8b�!��e)ݶT��,�t�*cy�͇��(�6����
_�%a]�L���:�9Aس���ϓ �ԁڵс%�bX.���.v�
g��t�N����P�KBm�g�Q�͟'ɢ��M^έK�u1Mg�*Ԋi��&��*�Tf�Y��
�g��I0S �K�
��I�S���	��k�ц1|D��
~ޒ!k�RB��I�ݺ�%��/���/���J�)�0(��
&��D*vci�Hg��M�3���&�z�y�(L0o�=d>��!��K>CR�ͺ�
-�#�o��G�7���3����j1�y��;q
.6�l��YKj�H�Wj\�5�@j>�|
-q�( 
-���hv$�/�.�艓sC�
��yB ��˕�GHBN�R�ёxc��=-��,}�se���[1Ů|˩����P�]�*�0 �w�A>�S�<4�M�H]�by��^�(t��$i[!�Q�� so��p�(t��
�p�W㸨α;BD9�]���E���G 
@d7��N at eM
-�P�'��GA�OU�`
�pѓ׹M�]�RS���j>�X�oD��V��'1����r�Ɛ�"W!�7*F�����?
����:�
�;���d9� k��r	p�(U����e�ݚ����ҏ�?s����ޫ~�y�4wM��J���|�����"�yC �U�
V����O���2h�!���l8����0G�4�i��,�]`W�%�zr~��,�M��R
-/��I�2�_��
-endstream
-endobj
-1251 0 obj <<
-/Type /Page
-/Contents 1252 0 R
-/Resources 1250 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1247 0 R 1249 0 R ]
->> endobj
-1224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 630.788 221.094 641.667]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
->> endobj
-1225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 632.69 513.996 641.667]
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 608.474 288.052 619.353]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 598.421 513.996 607.398]
-/A << /S /GoTo /D (subsection.9.2) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 574.205 117.901 585.084]
-/A << /S /GoTo /D (namespacestd) >>
->> endobj
-1229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 576.108 513.996 585.084]
-/A << /S /GoTo /D (subsection.9.3) >>
->> endobj
-1230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 457.728 513.996 466.705]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 435.414 513.996 444.391]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 413.101 513.996 422.077]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-1233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 390.787 513.996 399.763]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 368.473 513.996 377.449]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 346.159 513.996 355.135]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 323.845 513.996 332.821]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 301.531 513.996 310.508]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 279.218 513.996 288.194]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 256.904 513.996 265.88]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 234.59 513.996 243.566]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 212.276 513.996 221.252]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 189.962 513.996 198.938]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-1243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 167.648 513.996 176.625]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 145.334 513.996 154.311]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 123.021 513.996 131.997]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 100.826 513.996 109.683]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-1249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1253 0 obj <<
-/D [1251 0 R /XYZ 89 770.89 null]
->> endobj
-82 0 obj <<
-/D [1251 0 R /XYZ 90 721.073 null]
->> endobj
-86 0 obj <<
-/D [1251 0 R /XYZ 90 697.53 null]
->> endobj
-90 0 obj <<
-/D [1251 0 R /XYZ 90 557.728 null]
->> endobj
-94 0 obj <<
-/D [1251 0 R /XYZ 90 525.308 null]
->> endobj
-1250 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1289 0 obj <<
-/Length 1136      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W�$P��~1���8NbG��'' him�H�����;�ɶ��d �蓖��̙��3���;;g�7���ŽAFR�Lo
�
�
��ε+�c�
/���R��w�M��#ڝ-<"�o�(����2}?8��
�
RXHig�\��
��;1���|�����ҙ
�
����K�sDs!����#�
�U�=��x����$�?�7�����Ħ6Y�Q��
��-��ĤH*���X��Qf�����
U�㝙�sV
-:�������h
��ޢĔ����
�aHk�
)EB��ī ��q���v���`�L�'��Z$�	�1�Ҕt�CH��#���Ǚ� ��8�*��)C  k@�t��>	�~

Dk�\ �
-	�@�
���MjW
0
eҥ��N��PڥZva�5���
���6��Y^0݌ � 
NQ6��w��$
?cLg�<~��\lw�,|�L{<����$d_<�}�W.�TI*�2�j��x���'�[J�yt�Q��5֥B�mg����y���"���xag_�uv^[<)���/u�� �XwZ@18f� �?!�9�r��)�fϪR�)�:ᦞ�U��kK;��	��¶�
�O �2H��F�����)�C�,է���(��>2�;1�V?��
��u޶��&���*M8~
�U�����s�@b��xn����t;
�~i$Xe�vL�v�ꣀ_ ̲ǽY6��N]��aKIF�$^nS�P%E��
G�4��;�4�B��.�.n���f�~�:������-�����v����M�fipG���E��=Bg~~)#��p�{d��Z^.Ha�.����|&�
#EDk�}����*gȘ��k42lWg��
��KW�eZ^B^(mcOl�˱�I�O�,�Tj֠^�I
d�M8�@��\MgRg�͕X%]�́٨P�q�=
-N�A�M��$j�CaT�>�P��.H����D֓�y	�=#Y�����RH^RL�7�\!a���.l՚�U>VQ�eh��_������׋ ���4��L�$o	�I�A�"�2 ob��RD�թF2i�O�
�
�+��4]�F���h�A�(\'(LG��r􌾽���Ajg�6N
-`�8)�#�\�i�����M��
-endstream
-endobj
-1288 0 obj <<
-/Type /Page
-/Contents 1289 0 R
-/Resources 1287 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1248 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1284 0 R 1286 0 R ]
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-1257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 687.557 513.996 696.413]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-1258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 664.88 513.996 673.856]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-1259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 642.323 513.996 651.299]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-1260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 619.766 513.996 628.742]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-1261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 597.208 513.996 606.185]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-1262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 574.651 513.996 583.627]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-1263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 552.214 513.996 561.07]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-1264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 529.537 513.996 538.513]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-1265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 506.98 513.996 515.956]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-1266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 484.422 513.996 493.399]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-1267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 461.865 513.996 470.841]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-1268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 439.308 513.996 448.284]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-1269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 416.751 513.996 425.727]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 394.194 513.996 403.17]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-1271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 371.636 513.996 380.613]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-1272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 349.079 513.996 358.056]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 326.522 513.996 335.498]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 303.965 513.996 312.941]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 281.408 513.996 290.384]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 258.85 513.996 267.827]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 236.293 513.996 245.27]
-/A << /S /GoTo /D (subsection.10.43) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 213.736 513.996 222.712]
-/A << /S /GoTo /D (subsection.10.45) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 191.179 513.996 200.155]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 168.622 513.996 177.598]
-/A << /S /GoTo /D (subsection.10.44) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 146.065 513.996 155.041]
-/A << /S /GoTo /D (subsection.10.47) >>
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 123.627 513.996 132.484]
-/A << /S /GoTo /D (subsection.10.48) >>
->> endobj
-1283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 100.95 513.996 109.926]
-/A << /S /GoTo /D (subsection.10.49) >>
->> endobj
-1284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-1286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1290 0 obj <<
-/D [1288 0 R /XYZ 89 770.89 null]
->> endobj
-1287 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1326 0 obj <<
-/Length 1561      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L�F�t:S۹8M]�V��$��I��D"���� eI�,�i�'�X�={�w�a���d<8z)���
-i�o=�=�
-B�%�{?��o<JDT����?/�/.��fn�b<�< 0�=b�HH/���^�o<���ު^4�8e�y׃�ة��}�!1
z�D�U�rH��hr9���g�S���mzSD��������ԐH?�j���ŝ�����{?"�2�3�%��y#��Q���
���f�J���G/�.�
1R2h���.��#ʛg-2
-%k���;B)�H���\� 0�
�G#�������J�4�*�v�P(
�F���ŸE
H��:�$`��@�T�)�zXD($ȳ(�fc��:c�����s?Z
��
%�l2��]8z���x�'��bY���P�\��=
r=�zrY*]�¬��fw�+�,�*��kN.�"ݭrF~
�h��3�"�$i_�`�ԃOr|�\ϣr�$DA��?�(b�= ��+M�S��jg�nf�	��@���FԮ�x7T�g:�N�qx9��O�)���j;X�V�$5f['t�1�q�����?�Eeiyr�%��U6���
#�\�$y��mZ����1��H�n}�
m�GM���Fl��ґ��
-����#�IQ��Dv]��p��M��jj[7E�om3�e\�
�U��
c
��ϩ��/'�ྍxzr�'�����J?`L�4�M��hn��n`_Ƥ�xs�F��h���zUZ�
���|;'��|��#���)倃c�~�1�I�`z��Q�P/�;9�ԩ���2ٕ

-��Ÿ��$,܍}��'�֖p�ʗ�,��Iz{�-�Y��\��w at Vp����*�0	{2����?�MNuC(W7n�N�a}ձqLӉ�2
2�n�����
�o����i������L�M㸉Π��|���22#H� K����3���K�:Pj�.״;�k+v`
��L#M�P�1�gy��b	�dvo�Y^�"*
?-�Q!bhb��C�� ��r\�l�_��aڦ��nց�;�>�ao#=��x�e�&�S��i
�koR��
[l
��L��IH�޹o�r:��Z�dr����D�R<n�bC^�u�2la��N���
��Hg�J�����*�P�2q
@�L���"�m�~����K��M�t���9�z
I"��K��F
R����O�c
����9 7�C��]���%�	��
sL��]��6
��D���+n*.�����f,/@V<�ծ�k��jo��N���$ޒ�xm�I9Q
M�a�7�� �uIk_N�ʇe�)�o��]��k�z�D]Q`b���9P <�d&j�����
�`��u�ҫ"M�0I��	�$�&�L��f�9�M���~�=�t�iy��wB g]�~��!|�&��� �AU.P�܋p�<�.M�a�ẍ9��em�����OC(b�U���eMG�пQ�4Z�u0��AA
�_��z�z�����IYtSi)��_%ӪZ

�V+�ޥ����b1;�I|�Wk=�B�m*�y�<��
�y��-A`��y�
-endstream
-endobj
-1325 0 obj <<
-/Type /Page
-/Contents 1326 0 R
-/Resources 1324 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1210 0 R
-/Annots [ 1285 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1323 0 R ]
->> endobj
-1285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-1291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 687.631 513.996 696.488]
-/A << /S /GoTo /D (subsection.10.50) >>
->> endobj
-1292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 653.194 513.996 662.051]
-/A << /S /GoTo /D (subsection.10.50) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 630.592 513.996 639.568]
-/A << /S /GoTo /D (subsection.10.46) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 608.109 513.996 617.086]
-/A << /S /GoTo /D (subsection.10.51) >>
->> endobj
-1295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 585.627 513.996 594.603]
-/A << /S /GoTo /D (subsection.10.52) >>
->> endobj
-1296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 563.145 513.996 572.121]
-/A << /S /GoTo /D (subsection.10.53) >>
->> endobj
-1297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 540.662 513.996 549.638]
-/A << /S /GoTo /D (subsection.10.54) >>
->> endobj
-1298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 518.18 513.996 527.156]
-/A << /S /GoTo /D (subsection.10.55) >>
->> endobj
-1299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 495.697 513.996 504.674]
-/A << /S /GoTo /D (subsection.10.56) >>
->> endobj
-1300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 374.184 389.939 385.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-1301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 364.132 513.996 373.108]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-1302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 339.747 299.694 350.626]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 341.65 513.996 350.626]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-1304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 317.264 315.718 328.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 307.212 513.996 316.188]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-1306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 282.827 284.202 293.706]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 272.774 513.996 281.751]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-1308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 248.389 288.79 259.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 250.292 513.996 259.268]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-1310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 225.907 364.821 236.786]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 215.854 513.996 224.831]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-1312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 191.469 310.189 202.348]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-1313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 181.417 513.996 190.393]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-1314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 157.031 362.014 167.911]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-1315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 146.979 513.996 155.955]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-1316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 122.594 341.531 133.473]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-1317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 112.542 513.996 121.518]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-1318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 88.156 344.301 99.035]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
->> endobj
-1319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.185 88.156 465.66 99.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 78.104 513.996 87.08]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1327 0 obj <<
-/D [1325 0 R /XYZ 89 770.89 null]
->> endobj
-98 0 obj <<
-/D [1325 0 R /XYZ 90 476.559 null]
->> endobj
-102 0 obj <<
-/D [1325 0 R /XYZ 90 443.988 null]
->> endobj
-1324 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1385 0 obj <<
-/Length 1717      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~ϯ�m�QtAH��t��m���6�S��Ll�6v���GH\�c���[��A���;;3;o�^\�]��QH��w��
�
�)�}��:7�@dtN0���E�e�sʱ�!�������G�L��B�
={������I���#!�pyv�;S�~�`Ĕt�����(���su���k���ե3��S��	��� B̢�#�� ]��bw��ͣiL>ķi��./_��Y���0*V_�Ϲ)l��9~n�^�I�f
��b�>�]&("�*���p�B�?�)��er���hy�����]״l�m��%��δl�)�n�<^%��o �uP�#�2'�4"�4A��R�y
-v������ca�J�g-+�ԒRT{�z
k��
m��p���tW���p�O�|
����輨/�,�y�9���(.M/b����jj�w#�ݕMP�M��ͫ�ss�Zq2(�=�Wgul��I��
�F;�SX[n��2�S�8�� +���lbkk�r+������L`Ī`Eh���-|na0��3�&����8�m�c�����W\4}�e�W0�,d��l~���
p)�ʚ��
�1����,P
����>���g�ю�����e
-��ꑘ�V
�EO�_i<�
�d�Y���d�^AR[�Ŏt��
��U3X�

�u�8���S��#��	q���Yh�?l�� 3�	6�6\?�w
��BI0�x�3�� �ԃ�$h�w0O��

q9�v��ִ�A�[��`��O;�@A��� Hp����������q����W��2N�<�	
-
���ȫ(����u_�@S�ՠ�ju��>7(�M���D���p1
0��J�>�3�n�߉��l��@���������܌k	n��S$k�;m8�Sҭ��
�!Y
-�Qz��S�j
��
�4��%> �p��E0S��
(z������<��*�|͹�ZEғz�#������/��������
|�S�

�)�z�
3�A25Lh/6嘏@u
\nm�Z6�
�v
Y��/XT)����4���t���Ra�Y�r�F�tz�d�&�K)=1�@lm��nĹk���o�p��6ƭ�d�\71�w�]f��p
���{f��:��8��,�E�*�¦���j�L���@>���U�{�
ݥ����5;.L����"�O�oMi
ۘ1y��L��&�H>�+ԣ�=κ?z�y����r����9!V>�vƑWw@�H᰼�RU<\�����
��;����B.%��RZׇ =���
-������� 
�������

�L��}<IN�
-d|d��S.}���h�_B=\: =��L�/
-�)
=U�cf�
��jf��{B3�,���� So1iE��E{�>4.����RU��B�Jz�0܂y�}�_���%�zH���4
��"=�о,Y�f:��(˂4^�̄�3��iI%)��\��,�]욌ڐ8l���dž`�O0�u�#�w���<
-�Y�׋RD�/{BJ��kE"uO�cYג�v�a���.N���5
u�6�[��:Z�@���N���+y����C��h�
-�#c�?xH�A��,�����/��wV��`�~%���F�<���"t���]�ٸA>?gQ��F�}
�M���
-�pu��8�5�F� ܽ�ʽ�X��)Gk7��z�����|a���ˋ��v��
m�x��8�X�
�jYM��E�����4*a&��>%C-E��� ޲ѯ
-endstream
-endobj
-1384 0 obj <<
-/Type /Page
-/Contents 1385 0 R
-/Resources 1383 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1321 0 R 1322 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1342 0 R 1343 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1382 0 R ]
->> endobj
-1321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 279.196 718.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 685.903 314.612 696.783]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 687.806 513.996 696.783]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 663.715 381.951 674.594]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
->> endobj
-1337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 653.663 513.996 662.639]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-1338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 629.572 375.473 640.451]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-1339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 619.52 513.996 628.496]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-1340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 595.429 373.8 606.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-1341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 585.376 513.996 594.353]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-1342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 561.285 381.003 572.164]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-1343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 551.233 513.996 560.209]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-1344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 527.142 399.264 538.021]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-1345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 517.09 513.996 526.066]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-1346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 492.999 273.666 503.878]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 494.901 513.996 503.878]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-1348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 470.81 309.083 481.69]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 472.833 513.996 481.69]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-1350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 448.622 378.599 459.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 438.57 513.996 447.546]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-1352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 414.479 325.638 425.358]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.033 402.514 429.23 413.403]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-1354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 404.427 513.996 413.403]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-1355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 380.336 353.066 391.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
->> endobj
-1356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 370.403 513.996 379.26]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 346.192 271.993 357.071]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 348.095 513.996 357.071]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-1359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 324.004 307.409 334.883]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 325.907 513.996 334.883]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-1361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 301.816 286.936 312.695]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 291.764 513.996 300.74]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 267.673 248.212 278.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 269.695 513.996 278.552]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 245.484 298.005 256.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.079 245.484 498.554 256.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 235.432 513.996 244.408]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-1368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 211.341 297.457 222.22]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 213.244 513.996 222.22]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 189.153 332.874 200.032]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 191.056 513.996 200.032]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 166.965 295.235 177.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 156.913 513.996 165.889]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 132.821 349.311 143.701]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 122.769 513.996 131.745]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 98.678 304.566 109.557]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 100.581 513.996 109.557]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 76.49 412.755 87.369]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-1382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1386 0 obj <<
-/D [1384 0 R /XYZ 89 770.89 null]
->> endobj
-1383 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1456 0 obj <<
-/Length 1758      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6�_����g�W�,���n�֦Y��
Efcm��I����;)ْoJ�{�)^�x~�~��� ?^�vq��āF:�Q0�h
H����i|���1�)`�BDGp��}��z��zvk�.^�.�� ����
$U��.>���L�`Ĵ
-
�M��S�Yp{���W�����{O������,�� B��n&�q���7��"{Z�E�ߤwe\>�x�_�uj��c��]9�4�_����t��ۼ�R�����m\Q�n��a���]�aV��E��i����)�)�
)ł)RR���M�������.'D����"�;�0���c���4ì9�Ʀ��J<��k~�j)��0�=g�H�޾���4w+�2����'�M?�b�P����ܛr�mq�6\5s��}�Vi~�&��W�#�y0���K�0L*��n5�ay&
��~�[j�8�yQ��I@�q�fOn"Ɋ�AҎ�o��[�_3FaH�H������
jP��u�0�L1Y�U]�i^W;�P�!�:�������(�
7S��$�_]7���A=�A���k!]?u���
��(ǠH#JX�(}�Z�7|�V��f���d�+�b�sr��R�u�p���&S�XxE��ci���ޣd� g˴�,ݍ+?�����.��m�Ǚ
�����£ �%��ne�e�����
-��
�RG+�[oe���E��%]�`�٤�.u/�8��.cP�=�Q�Oԍ�;Q�qR��j���V�Wu�Us��JA��P�l@������~C��Y��L�,z�'i�I"N%}�l���*09֖(�}[��U�ny����8�7e� ,e�R�}��A��ͣE�p��̍V�L�j��L�󘈍'W&I�6�
�#]�`�����L���
hFn�M�L^7�]���¿đIs7k�ˡ�R����|��$����/D�9��H"	��	ݒ���i2i����nftv�0�;��v�w�aF�Ε��2;����z[��S=;گzv�Z�5
-di,�!�\� �<}�r@����m6�-�f?��|x1��.��>�~}�I "
-���ss��A�N�d��~�=�hJ���0G�� ��L���վ0o��{亀��[Wmf��a�%8Ǫ�s�(#H�A�1�n�P+���7m���N�ƅ
�#r��z���^ ���zOMϤ� �d��on��L�hL�c77,ߚ�|��v�tuԳ�&g�
�f�\�~4���Mn�xT�7���s���̓Y��⪭g]ɵS
k
�clN( �s�����$�088q�R�s�W��`�0
[
m�(+�/ig�^�δ������f�6$�427�(�#%�xX��+\�:+���zo��$3�����>�]g����u�5W�k+_S}��2�ҵ+�����%��h�I*"�u#u�z/L�q��#��{����^���x�A��@ͺ,�ߐi�N�^������8O��]���x�Mkt��N{���
�5Aݑ�"��5�B�!q���F9��xo��E�C���>�C�Zl�M�Tt
�Ζd
c�8y�_+�y-��4I]
�6}M���&=����׮?~�h;ez�]����ON;U�
U���V��8�J�ü?�
-�\"6�Ch�y4I��g?�
�
<��C��	Ά\
��g?
4�`u�����8h;��,)�
^`�Q���
�ô�;��
-���ֲ�����NE�u�~qy�����
-=��Di}�^g���g
�BvD>�rZ�g?�arդըG��/X��
-endstream
-endobj
-1455 0 obj <<
-/Type /Page
-/Contents 1456 0 R
-/Resources 1454 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1380 0 R 1381 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1421 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1453 0 R ]
->> endobj
-1380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 354.169 718.971]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 685.416 308.366 696.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 687.319 513.996 696.295]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-1411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 662.741 288.421 673.62]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 652.688 513.996 661.665]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-1413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 628.11 303.176 638.989]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 630.013 513.996 638.989]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-1415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 605.435 384.918 616.314]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
->> endobj
-1416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 595.382 513.996 604.359]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-1417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 570.804 344.446 581.683]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 560.752 513.996 569.728]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-1419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 536.173 329.582 547.052]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 538.076 513.996 547.052]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-1421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 513.498 416.73 524.377]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 503.446 513.996 512.422]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-1423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 478.867 311.853 489.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-1424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 468.815 513.996 477.791]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-1425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 444.237 285.103 455.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-1426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 434.184 513.996 443.161]
-/A << /S /GoTo /D (subsection.10.43) >>
->> endobj
-1427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 409.606 311.315 420.485]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-1428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 399.554 513.996 408.53]
-/A << /S /GoTo /D (subsection.10.44) >>
->> endobj
-1429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 374.975 294.877 385.855]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-1430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 376.878 513.996 385.855]
-/A << /S /GoTo /D (subsection.10.45) >>
->> endobj
-1431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 352.3 349.802 363.179]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 342.248 513.996 351.224]
-/A << /S /GoTo /D (subsection.10.46) >>
->> endobj
-1433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 317.669 310 328.549]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 307.617 513.996 316.593]
-/A << /S /GoTo /D (subsection.10.47) >>
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 283.039 310 293.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 273.106 513.996 281.963]
-/A << /S /GoTo /D (subsection.10.48) >>
->> endobj
-1437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 248.408 276.615 259.287]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 250.311 513.996 259.287]
-/A << /S /GoTo /D (subsection.10.49) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 225.733 295.063 236.612]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 215.8 513.996 224.657]
-/A << /S /GoTo /D (subsection.10.50) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 191.102 289.158 201.981]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 193.005 513.996 201.981]
-/A << /S /GoTo /D (subsection.10.51) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 168.427 408.024 179.306]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
->> endobj
-1444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 158.374 513.996 167.351]
-/A << /S /GoTo /D (subsection.10.52) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 133.796 354.206 144.675]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 123.744 513.996 132.72]
-/A << /S /GoTo /D (subsection.10.53) >>
->> endobj
-1447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 99.165 273.945 110.045]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 101.068 513.996 110.045]
-/A << /S /GoTo /D (subsection.10.54) >>
->> endobj
-1449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 76.49 263.893 87.369]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.55) >>
->> endobj
-1453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1457 0 obj <<
-/D [1455 0 R /XYZ 89 770.89 null]
->> endobj
-1454 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1495 0 obj <<
-/Length 1204      
-/Filter /FlateDecode
->>
-stream
-x��XYo�F~ׯ�[D�Z��S(
-$n8qR�V�bM�e6ɐ�d���^�(ɱS9��'^�og���
[S
[o{�ǽ�>�BzԳ��V�-�	����ĺ���������3��/����MܤEn�_�nh
�����`c�(,����z��5���,�XXK�hf9��5��{��k�*઩�=�%8�">�|B!J�S��~\���Ԧ�_d�>���$���j5}�C
-
��*�ut����ֺ��^b�ʕ�u3�jX'��ku]�}�
�.�'��׶� zS����wB��\�G
�
�
-�D�7`�:~k
����
-���u%�x
��@D�
�|� N�|:���8oxu
'\�����Av��F����Kge���e���,C��P��XJ��̥�4��*m���4@��
)E�()�����4]�;z9, �(
-
�~�����hK������n;���*l���ҋ��:�l^A��
- at P����
8 .ž����&���4�&ۧ'�Jqn>U������;}���
�F p�
`�n�y��A�O��U���8/���J��WZ�Xp?լ{
0	�uttÓ/Bd>Q�o�yC)`JA~�qn	F��f�xH�\�z�o;��b�
�a��Ϟ

kp����
-N�6�O
��@�;j�D�b��!�<rdz\�8�Q����G��"N-�:
�Y=�?e>�
�绡�A�|$1��G�
I��X�"KU�ہ� {3����TT��
��J*]�&�\�&���T�\���i�|��8���4]�4]
-UV����
��A?لS�=Qz��@L}���$m��KQi���p�#8Ŭ����z��m�WV6��L�I�h�&�c���ղ�M�if�opP��p�0���z�I���ܖ�k]��Sj��$�������M���"O�Ӽ��Wu�gOtk�9���KJ��ψ��H�
��"��K�i� O
-�F�B���I����'r��Q�:���Y��Iw����N��U�Dg<k'	��v4�bO�6��͒�!nK)�lKͧ|�Y������-�����ql*K�|���s�|�9�h�J7ǞЁ�
{��S3���=�u|������9��1F���|n�$1�T]\uW�bh��Jd�x�MI�4�b����z�&/	|��Cn��

���%5��iY���e6�
����-H�q��f�9���ȱ���=���
-endstream
-endobj
-1494 0 obj <<
-/Type /Page
-/Contents 1495 0 R
-/Resources 1493 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1451 0 R 1452 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1483 0 R 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1489 0 R 1490 0 R 1492 0 R ]
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 286.03 718.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.56) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 558.693 291.652 569.597]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 519.596 309.565 530.5]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 480.498 325.112 491.402]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 467.425 427.762 478.329]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 454.352 371.747 465.256]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 441.278 377.356 452.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 402.181 282.038 413.085]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 363.083 326.869 373.987]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-1484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 323.985 324.1 334.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 284.888 324.677 295.791]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 245.79 385 256.694]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-1487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 206.692 290.357 217.596]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 167.594 327.447 178.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 128.497 322.994 139.401]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 89.399 383.317 100.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-1492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1496 0 obj <<
-/D [1494 0 R /XYZ 89 770.89 null]
->> endobj
-106 0 obj <<
-/D [1494 0 R /XYZ 90 693.123 null]
->> endobj
-1497 0 obj <<
-/D [1494 0 R /XYZ 90 661.005 null]
->> endobj
-110 0 obj <<
-/D [1494 0 R /XYZ 90 661.005 null]
->> endobj
-1498 0 obj <<
-/D [1494 0 R /XYZ 90 577.789 null]
->> endobj
-1493 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1521 0 obj <<
-/Length 969       
-/Filter /FlateDecode
->>
-stream
-x��X]o�6}����,`�)��(
-4A��[:7q_��,1�0��H:���H�T,5C[Tޜ�I��<<<���� ���h�&B �I�C0�	��� ��
܌C�|��^C7	夦�������תo�z>�s��.\=?�Q
�jt�	�\6�zI
�͠
-�ؓ�\�>����w�b�AtQ}/a"1ʼnFt�qР����I��8+S�M���V�U3h<s�`��*]��rwOr�.~-�,e���P�RQ����W���X"
}�c���>L\_|�4��%���?�*k��9A`[�uA�.�E�oV�|�
/��1�+�:��XH؃q|X��j�bB3���qA����ژ���PӮşө��ŢI�j2����ʩ��
����
�Ŕ�	P���sV��N:���z����n&��y5��y�9�	v�I���>
�@�N5/�U���㎋���b��e9��ΜX��%��n���8�����H�x����-֕1Ste�ԝ
-��rz���w�-��-B8K�G��=ic�bQ��|{��lggɦ��*RX
�.o��Ж�z���{����db`�U4��O�E-Ҳuk�vN�#W�K6;�oz%Ê��PҔȞ�.���_e��3Q�jRa{qE�TrC]���mZ�Dl	��G��@jb��yg�O�C*qJUӀ\.Sn���u���
�Ɵ{�*�GK���o���3��o�
�S��`9�Tf&o\w?Ca����ֽ�CzI4��Ď8�74�����C]л�	�!���y/��%A�A��1�._d �M���p����=��H���8/��K�A\=���Eѐ�������WB?�����yV�G��"/n$���8�Iܻ�Z��jQ몁�+9a?�
���.S��qSy߃2Eo���
�rG�x�ܯ�ݱ����~Q"����z[�
��N&��f
nh�f�����t8�o]*0j���jU3b5#�&�ue#�/���f
-endstream
-endobj
-1520 0 obj <<
-/Type /Page
-/Contents 1521 0 R
-/Resources 1519 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1491 0 R 1500 0 R 1501 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1518 0 R ]
->> endobj
-1491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 695.036 288.673 705.94]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 656.242 331.303 667.146]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 617.448 391.626 628.352]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 578.654 296.982 589.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 539.86 346.237 550.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 501.066 406.559 511.97]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-1505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 462.272 311.916 473.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 423.478 301.983 434.382]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-1507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 384.685 331.861 395.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 345.891 376.692 356.795]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 307.097 312.483 318.001]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 268.303 357.315 279.207]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-1511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 229.509 327.437 240.413]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 190.715 294.78 201.619]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 151.921 305.301 162.825]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 113.127 360.28 124.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 74.333 313.589 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1522 0 obj <<
-/D [1520 0 R /XYZ 89 770.89 null]
->> endobj
-1519 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1543 0 obj <<
-/Length 1332      
-/Filter /FlateDecode
->>
-stream
-x��Y�s�6~�_�[a�����t:�$w���R7��%�x�Ql�\�����
-	�&$q�Nc�	I�e��vW�
-[c
[g��A���c+@�O}kpo��n�<z�um
D�.��'>8]�a�<L��p,u�sZ��>
����>qn_:��:��-��z�
k4�\�b+��/F,֢�4�\��XW��;�(�|j�K�¾�&4 at XX�D��y01����q�� s;�2
�/e^�7�QX���,׍$(#���ؘqyֱ��	gy
�Z13��#���X��f�g��a	�	!6�����}��5*��"ߥ�d�
m�
�^��
�3J¢xY�~�J>
��,YNd�����.�����j0{Y�
�k
��|F�������Q�	�b��
��:�gg��Bsq��6�I��4�HE�����ۓ�
�1��_C������'�?�*O L|T��'=eCK�u�	��IQ�M�s~~
�]⻈���|��~ԝ�ȺY
K���#'K�iU:���D*h������$��6l��<�=C�$�J���{���Ө�<��
"�{��=.`Ee�^����8K��Y(�۾pߋ�9~��Ԭޠ��2T

�WӰ�
/e4��^��@�P�zfbA=㔘tpJ[�1�%;��b��LQ�I\ԹHa�W=��)>
`�U<�Ӫ����jh*�I�l쪆������L�e�0��E�$K�2��e�E�y{��G��f��'
k�*8+���q>W�5�Ķ_ȶ�zW�␊߅�RGs�6�ڲ��

_��
�
�́l��#w���j�����E�I ���:�=b�4���G�yY�a�,5�23�	mQ��`|���4.[ĺ
�.ߑxN#H3�
9�ڸ���e�d,�7�.2���Ź�b�<��̧q��m���ﱭ#��q����l�S
����QRP{�1��Rd5�
���n�2�=�e�<)h��f�4̩���
-�#ZC�ml�����C��B�
��1
J������Z��ͦ�?A7N�#���q��c}h
�m������
��
�
m.�9
���C��`����Rw��d
_��l���p:��l	�g����FXȮ.
=��@R����+dQ �s����
-D{.uo�W
a
-~U����Q��x����I��k��Ԝ1��+��ҍ�Jf�R��4����wG滻ec�j�F�k{���Z��y���U�ny�V]�3�����t9p"��B�tk��Š�Zw��������k���2�
��1�r9
.�(�"��2��J֗pڲ?����b���KG
�bnR���^o�X�Q��i<�Q\�f���c�j�"w%d�!�f��Y��i��d���o��7p
-endstream
-endobj
-1542 0 obj <<
-/Type /Page
-/Contents 1543 0 R
-/Resources 1541 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1516 0 R 1517 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1533 0 R 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1538 0 R 1540 0 R ]
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.544 708.28 273.474 718.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 684.358 306.407 695.262]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1523 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 646.126 320.793 657.03]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1524 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 607.895 267.104 618.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 569.663 302.527 580.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 531.432 318.577 542.336]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 493.2 345.685 504.104]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 454.968 371.159 465.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 416.737 389.978 427.641]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 378.505 396.603 389.409]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
->> endobj
-1531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 340.273 416.529 351.177]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
->> endobj
-1532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 302.042 356.763 312.946]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 263.81 419.706 274.714]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 225.579 341.819 236.482]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.084 200.31 160.373 210.215]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 176.388 312.788 187.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 138.156 365.938 149.06]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 99.925 303.478 110.829]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1544 0 obj <<
-/D [1542 0 R /XYZ 89 770.89 null]
->> endobj
-1541 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1574 0 obj <<
-/Length 1123      
-/Filter /FlateDecode
->>
-stream
-x��Xms�H���pP{��ˀ�[�Ô9�n$��J�(����Lʽ?
3`4�j4W[�i^�y��馻��)"��ɩ5�&A�
�@�Y�����1��
U��\"�hb�2�R����
��
�g5۩�SS�A
-�O��D�Y��+AcؾDkV=�fHW54�}��甆(XQ�̞7ci�XZH-�5��xqI1��5Q]U�I�
��JW:%D
-KD�0�?�
-C��c*%�@V��%3�
D�⑍�����,��:}���ˢdU����P�4�\O���UTW(&��z��\H��x�5�y߉@F�ȑ"�|�Kd͔_���5dc��"1>����`��;�]��^�j�2���f�cs
��i�cΆ������F�^]�0��5�Z�K��qnO|����t�[�z���ܫ����:V~�l�jo�f�_X���쁉y4)CH�u���8����-
uz�9R��I���k���O6�
M��I�=���?c�lG�4��
�>˒
X��Y��
�`��c�%���TשPE��g��
��T��j-A����?��q��K��
�T��[����,��
3���^\/�lQ���>FY�#yt�#?h6����</kQ�Ӫ&g�V�7D�
�ɑM]Z�l�&'�O�&�ߘ�
�&�}��F7�=�Q9e�Ӫ��Ì�:���S�T!��M����=�C
-�[���	Ŵ��
���
��,J.���Y�.�.��������y�Z}���:�=�:_�
hE �R�^�x"x��k�B���E��N1K�D���3��� (��9��P����M9U�a�y��Y:�M��m�M�po �"��+�ֵ�Η5�o۵V�����|��pY�(��M/�teK�������ߺ�㑃h�ه(�(�.��I W96^q|a������ܗA:4E�n_֨��!��.ŋ`s;��a�/i��[��
�
NL=�`н�ftz���=�X�!F
Ȃھ?ĊaRF^˚E�p��ML����V��X�&𥰃/nR��*SZ�=���yY��	%O9K��l��G
-|fhХY�Up��F�쏼V�/�n�X#j���1��F����R<�8�~ֈ��j�@QtlV U����`sV���� [%R
-endstream
-endobj
-1573 0 obj <<
-/Type /Page
-/Contents 1574 0 R
-/Resources 1572 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1388 0 R
-/Annots [ 1539 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1581 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1582 0 R 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1583 0 R 1566 0 R 1571 0 R ]
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 685.201 327.956 696.105]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 646.221 173.725 657.125]
-/A << /S /GoTo /D (namespacestd) >>
->> endobj
-1546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 566.139 251.782 576.067]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) >>
->> endobj
-1547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 527.159 251.225 537.087]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) >>
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 488.179 264.505 498.107]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) >>
->> endobj
-1549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 449.199 243.105 459.127]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
->> endobj
-1550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 399.26 213.038 409.188]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) >>
->> endobj
-1551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 317.226 348.737 328.13]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-1552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 278.246 360.902 289.15]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-1553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.455 239.266 421.554 250.17]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 158.208 277.077 169.112]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 142.205 272.923 153.109]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
->> endobj
-1556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.707 142.205 422.236 153.109]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
->> endobj
-1557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 142.205 513.996 153.109]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 130.25 174.752 141.154]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
->> endobj
-1558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.741 130.25 316.27 141.154]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
->> endobj
-1559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 114.247 252.44 125.151]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
->> endobj
-1560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.018 114.247 411.442 125.151]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
->> endobj
-1561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 114.247 513.996 125.151]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 102.291 176.774 113.195]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 102.291 324.379 113.195]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
->> endobj
-1563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 293.655 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
->> endobj
-1564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.258 86.288 464.796 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
->> endobj
-1565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 245.406 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
->> endobj
-1566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.395 74.333 462.381 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
->> endobj
-1571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1575 0 obj <<
-/D [1573 0 R /XYZ 89 770.89 null]
->> endobj
-1576 0 obj <<
-/D [1573 0 R /XYZ 90 702.335 null]
->> endobj
-1577 0 obj <<
-/D [1573 0 R /XYZ 90 584.2 null]
->> endobj
-1578 0 obj <<
-/D [1573 0 R /XYZ 90 467.379 null]
->> endobj
-1579 0 obj <<
-/D [1573 0 R /XYZ 90 334.36 null]
->> endobj
-1580 0 obj <<
-/D [1573 0 R /XYZ 90 177.245 null]
->> endobj
-1572 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1655 0 obj <<
-/Length 1331      
-/Filter /FlateDecode
->>
-stream
-x��Y]w�8��Wp�pf�	���V�e�`��s8T���n�g��&���"�L�
-�}�<�W�yd s�:�ZGg*`t^W��

0���Gc��xȵ! �=��k
2`{��q<":2gJ
�j�����}�>�
��g
b�@jU�U�E��o����
�E]c���"FD|�2n�
-���䱰��ee�2���Q!�!��
�� �O�'h�~/�O������?���i
]ߴ�L��nr�+P����D��m
:���~�X���1+]�)�Ơ���9�5��m��q
k�'�l���XRyI�wr��绞���:�єJ�����p8	�v-�k2T@`/��n�\��	��a¿��z����=���a�W��O�;V�w"��w����z�e�� /jR%{�C�M���*euQ�1�osX�+�9�ѿ�� �*��0���m�S�pp��c���q��vNzF	6���L���Uꌆ��"�}G�*bP{X[yXl�������"�J����2"K��' �;����$�&��Q��8�/� 
����
��ƶ �$��K�P�N��e���l����H�=�E��#��$ȐoLQ�fY��y�eh�8f\c�h�xI�k��?��y��l\���B�
��Ɋ�	�ӌΌ2:����G���<:h�Ǧ�>G��t�z/U�ٵA�D�!ѯӫS�%�m��3\������ɭ�
*Qe;~��Ty��1:
���
�ޚ�lޠ�
(
-�v$�9$�� �To���`�����a�'* nW���i^z�
-�g�t�i[�U�wQh<o(�����=���j�=�K�E+���	��2�:����i��0����g4��)Z������o�^�&��vY�yF�ߴ��c����FL�4��6��l�ͯE�1m���w�l5���7�
ׄ�3V����O��l��>9�;���Ȫ��ȿ&9
g�ƽ�w��s}�Nc����I�Գ�78.ɁD���T���ک.�vН�5'�y�����4�� $���;N�d����RC��=R�A��x�N3��Nl�ԇ���C�5�-�{Ȁ�}��}�}�"I��D�]����^��P�#P�'2��; ĘdvY���4 P
.�����
�:�P�TQj�Z]�̬��S�zpx
i��y�3��pٲR4	��8�	�[��"+����G�է��J��_{$���b%ޤؚ��Z
W����t0LQ�)�EI��E0���
��N_s�؃�y�-���h���+�ά~]��5�PSy�V�w�e�㣣�rɏR~1
�	fG���荌�U�F꫑ [...]
-endstream
-endobj
-1654 0 obj <<
-/Type /Page
-/Contents 1655 0 R
-/Resources 1653 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1567 0 R 1568 0 R 1657 0 R 1569 0 R 1570 0 R 1658 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1659 0 R 1614 0 R 1615 0 R 1660 0 R 1616 0 R 1617 0 R 1618 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1661 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1662 0 R 1628 0 R 1663 0 R 1629 0 R 1630 0 R 1631 0 R 1664 0 R 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1636 0 R 1665 0 R 1637 0 R 1638 0 R 1639 0 R 1640 0 R 1666 0 R 1641 0 R 1642 0 R 1643  [...]
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 337.66 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.168 707.957 513.996 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.002 196.141 706.906]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
->> endobj
-1569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.577 696.002 422.585 706.906]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 696.002 513.996 706.906]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.047 184.724 694.951]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
->> endobj
-1604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 666.612 308.898 677.516]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
->> endobj
-1605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.958 666.612 511.506 677.516]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
->> endobj
-1606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 654.657 302.801 665.561]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.789 654.657 490.804 665.561]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
->> endobj
-1608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 637.222 283.433 648.126]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
->> endobj
-1609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.493 637.222 511.506 648.126]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 625.267 300.599 636.171]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
->> endobj
-1611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.588 625.267 482.675 636.171]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 607.833 289.481 618.737]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.234 607.833 513.996 618.737]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 595.877 195.853 606.781]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.03 595.877 467.223 606.781]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 595.877 513.996 606.781]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 583.922 304.255 594.826]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.67 542.079 337.141 552.983]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-1617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.176 542.079 511.506 552.983]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
->> endobj
-1618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 530.124 260.748 541.028]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 488.281 321.36 499.185]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-1620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 470.846 260.241 481.75]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
->> endobj
-1621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.833 470.846 453.808 481.75]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 470.846 513.996 481.75]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 458.891 277.008 469.795]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.996 458.891 470.55 469.795]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 441.456 328.873 452.36]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.61 441.456 513.996 452.36]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
->> endobj
-1626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.926 387.658 358.474 398.562]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-1627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 387.658 513.996 398.562]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 375.703 285.356 386.607]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.003 375.703 513.996 386.607]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 363.748 180.102 374.652]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 363.748 386.925 374.652]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.481 321.905 363.362 332.809]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 321.905 513.996 332.809]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.95 222.143 320.854]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.132 309.95 412.907 320.854]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 268.107 374.78 279.01]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-1634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 250.672 258.537 261.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
->> endobj
-1635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.975 250.672 420.582 261.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
->> endobj
-1636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 250.672 513.996 261.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 238.717 187.852 249.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 238.717 340.449 249.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
->> endobj
-1638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 221.282 268.499 232.186]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
->> endobj
-1639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.609 179.439 415.108 190.343]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-1640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 179.439 513.996 190.343]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
->> endobj
-1666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 167.484 202.228 178.388]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
->> endobj
-1641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.217 167.484 438.391 178.388]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
->> endobj
-1642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.12 125.641 400.085 136.545]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-1643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 125.641 513.996 136.545]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.686 245.117 124.59]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
->> endobj
-1644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.958 113.686 511.506 124.59]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
->> endobj
-1645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.73 344.583 112.634]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1656 0 obj <<
-/D [1654 0 R /XYZ 89 770.89 null]
->> endobj
-1653 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1726 0 obj <<
-/Length 1205      
-/Filter /FlateDecode
->>
-stream
-x��W�s�F~��`���q��7yK"�5U�Jҙ&w�U���f2��{�]T��h��Ӳ�r�w���9
�,|m\��ֵ�
Y��
�`a�P-��0
�{QW�o�&"���W}ǵ
wD�5l��W��+,���
Sf��oXa�F�H�LaYn�	���8F���C���4}�:RS0A�0 ���Ϋτ����%�_�h�'kX�5,$��~6�A:}�Da�{�x������0]$a�<y�8�6O?~}϶�T��Ā�9���$��[�������;[�ij��00�����Qv�
�͒x
Adij���W�?�w���g8Y�w����
�n��������
��D�N������b5BfY 
K��R�*"�8t��2
�ޤ�L�S
1
-�8Mr���f����b2��8`� ���_nE;��q�ҩ)�HWe!M�O哢��
:o���i4�F�v�o{)m����J�
����:��Ũsٵ�#��#�B�,k�����u��ۥ��i���SٕL,�y
�3Y���q���l,&�5�CR5��-���9�J��oJ"�S�
V��z�����;YI�:�sI�(�w��>Ud���,��Irݺ�4
aSh��-��N�dZR}0[����=��E�/� Jq�0��,�dM\JJ7
����޳6mP<Ս�c��W�e�jϳ$�M��3{'r��$L/��~̣$�)�g:��;r���nj�e�N�;�y'E�Y�򆖰1�Q��9u�u0�M�dr᪊��$8iG��2��(��yz{ظ��3�2��kƟ��
d%�|��Q��\>�V
�)����ٸ��^D�`�ǫ/_��OG7���+s?��`�c�8c�$��jD����Uz�`�8	�%�ona���$�
�f��

i���	�J��TY
����~�G�
u�6���Q��1y�䂜pS�4X���X�dn|�������`������m^��?d�x7���LLj�cq��:ظR���:��GYx?�*�}�;N��=��m�q���W��w
����GD �G�S��xZ ���ê�A��k��
-�h��`7�
� �2��ת�W�Y
�x�G�ϒ��<#{~����kx# �c�F2�"�P@����E���S��~��S�mH���eR��Vk�\� G�$�g(.Z�����=nX�6o���JȌW�Z�xC�?�t2(
-endstream
-endobj
-1725 0 obj <<
-/Type /Page
-/Contents 1726 0 R
-/Resources 1724 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1646 0 R 1647 0 R 1648 0 R 1649 0 R 1728 0 R 1650 0 R 1651 0 R 1715 0 R 1716 0 R 1729 0 R 1717 0 R 1730 0 R 1718 0 R 1719 0 R 1731 0 R 1720 0 R 1732 0 R 1721 0 R 1722 0 R 1723 0 R ]
->> endobj
-1646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 707.957 309.177 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 690.176 297.62 701.08]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
->> endobj
-1648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.107 690.176 470.914 701.08]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
->> endobj
-1649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 690.176 513.996 701.08]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
->> endobj
-1728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 678.221 274.328 689.125]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
->> endobj
-1650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.807 678.221 497.778 689.125]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 660.44 354.985 671.344]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.924 617.905 364.478 628.809]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 617.905 513.996 628.809]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 605.95 283.214 616.854]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
->> endobj
-1717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.567 605.95 513.996 616.854]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 594.368 162.558 604.898]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
->> endobj
-1718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.818 551.459 366.69 562.363]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-1719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 551.459 513.996 562.363]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 539.504 286.532 550.408]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.845 539.504 513.996 550.408]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 527.549 162.558 538.453]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.546 527.549 406.63 538.453]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.892 438.136 469.663 449.039]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
->> endobj
-1723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1727 0 obj <<
-/D [1725 0 R /XYZ 89 770.89 null]
->> endobj
-1733 0 obj <<
-/D [1725 0 R /XYZ 90 458.95 null]
->> endobj
-1734 0 obj <<
-/D [1725 0 R /XYZ 90 394.834 null]
->> endobj
-1735 0 obj <<
-/D [1725 0 R /XYZ 90 319.208 null]
->> endobj
-1584 0 obj <<
-/D [1725 0 R /XYZ 90 296.068 null]
->> endobj
-1736 0 obj <<
-/D [1725 0 R /XYZ 90 296.068 null]
->> endobj
-1585 0 obj <<
-/D [1725 0 R /XYZ 90 233.605 null]
->> endobj
-1737 0 obj <<
-/D [1725 0 R /XYZ 90 214.893 null]
->> endobj
-1586 0 obj <<
-/D [1725 0 R /XYZ 90 156.524 null]
->> endobj
-1738 0 obj <<
-/D [1725 0 R /XYZ 90 137.813 null]
->> endobj
-1587 0 obj <<
-/D [1725 0 R /XYZ 90 77.387 null]
->> endobj
-1724 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1758 0 obj <<
-/Length 1902      
-/Filter /FlateDecode
->>
-stream
-xڵX�s۸�_�IJ�E0��}J
��i
��z3��FCQ��
E��q>��.�(�N���	�X���
pkkq�������}���E���Ɗ���|��/vȜ����7?�4�	���|��[E�ۼQ�&Np2�}o����d���>q�n9��cAh%�ɗ_����3�֓^��\!�ͬϓL�w:s�
�5��V_9�����q�������'"�Ⱁ�W�����rk�
-拐���
uS����I�7q���fw8�:L
�VU�9�#�� S��~T
�
��Ɏ�|_�Z��n[Ĥu
�|=�$`�vk�?b�Vy� |)#�C�����
-�5��"I�F�i�)�>����͇�G�FT���_kM�<�
7}8,�>*U�*iҩ�����l:�E`/40Ϸ7E���{v�!ڑm���cj�<
ľ��&��+��	�T�A�#5ǭ�fG �>��= ��=>��s�'z
�ș
���x��!�����a�'��7�v��F����E \����9��C q���7U�G��r(ܹ�i\V�P�N�$�����qE�
���D�^S�F�%��~�9� \�h��EW8?���9t �9G����
H\$
ĕ�����1
��RJpU�].�%�uD�G�
�J!�T4�I��	NG^Tg~ *�h���ʌ��8�K���!�H�E����K�Vb�Hڽ���@d�����`w�)���:����A;u�>^>L���y��U������z��^�p
��%� K�ĸ�M�
C5�RH�M�U��T��to�i�R`����Y]R�n������h(����߫}Q=/i��ŏ�����
3jWύ�\rL�7����oo [...]
Y
�1�ְ���)"Ӆ��nkmI�SP���L����ǖ��8�ڎ�9b�*I�ʔvp��2��4WqE}��O�Y/� ����J+�z
-�*(���U��⦨��j���-Zm�&ҁџ�
-B���TH�
j���IHw�T�����@@���5�dW���
`D%l��(�
E*J�1�5D�T7�"S#	������q���ݜ�Q���P���V���R3�
x9c�qҴq�9�J]��F�\ y\���E������/3��N2�Q��y�<�PH�?�=,o;S�)\�n�����K��TS�?�l[�
f^lc3�&t�j�f7�b0
T�}Q�/�-�
����gp�Bs������[�ճ��3+�mG�6��#N��v܍�Q�Ih���:Ŭ�5�ԸT���04"�6k�'��I�=؉�C
kgB�P�߷��/���q��A��S�
 
ov*�
!���~
�� �!s�
�]��D��=�e��e��	:�3M�� �~�<�K
-AFvm#�Á
<���_t��C�w�DZ�.5�T�.
<��֪��ܪ[ 7Ei�nh"�a
n渣��wk/�
�B��B`�ū�l�6��x�r(���L�v��|P��<�l�D�~GG�P�[BP�然��N`KAx	q��R�J���o�
*n�$NhKb��9���b1�@_�9�W���d"��d"�
ۘ��*.K,�q@�"Δ�7
gC���
7���
j_rd?p\:n�Q{C�ک7�QE��$�j����'��'�����|�9��&�i�]��_��n_�+�vaQ��j
\?��
��N�����6I��t��Q���
�tv۫
��}ْ,ǁ��
RA��K���7� ��o67`^d
���
��Z1�N-�kp��Y��Sϳ��wq�v9z�෌��9G�0���Ϫ��$�oV���Dg�^'
��}a�k�������%5k�X�\�evu���
���I_3�àwi���� I��
-endstream
-endobj
-1757 0 obj <<
-/Type /Page
-/Contents 1758 0 R
-/Resources 1756 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1753 0 R 1754 0 R 1755 0 R ]
->> endobj
-1753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [131.844 260.047 188.471 270.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.11 225.256 262.491 236.16]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1759 0 obj <<
-/D [1757 0 R /XYZ 89 770.89 null]
->> endobj
-1760 0 obj <<
-/D [1757 0 R /XYZ 90 721.073 null]
->> endobj
-1761 0 obj <<
-/D [1757 0 R /XYZ 90 572.056 null]
->> endobj
-1588 0 obj <<
-/D [1757 0 R /XYZ 90 546.21 null]
->> endobj
-1762 0 obj <<
-/D [1757 0 R /XYZ 90 546.21 null]
->> endobj
-1589 0 obj <<
-/D [1757 0 R /XYZ 90 485.823 null]
->> endobj
-1763 0 obj <<
-/D [1757 0 R /XYZ 90 467.978 null]
->> endobj
-1590 0 obj <<
-/D [1757 0 R /XYZ 90 407.725 null]
->> endobj
-1764 0 obj <<
-/D [1757 0 R /XYZ 90 389.88 null]
->> endobj
-1765 0 obj <<
-/D [1757 0 R /XYZ 90 160.586 null]
->> endobj
-1591 0 obj <<
-/D [1757 0 R /XYZ 90 135.717 null]
->> endobj
-1766 0 obj <<
-/D [1757 0 R /XYZ 90 135.717 null]
->> endobj
-1756 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1770 0 obj <<
-/Length 1447      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L��o�Mg�شlQ�IFCI�͉H*�Tu��K�J"$�n�� �����b��,`�S��^�X0��I��<	&t�D�o
�k_����gA�
DL
m�^�َe;��_�rz?{~a���*�
a
�~��>0�MCXo&�"��\
-��}3(x/$�D+�N$a���,�b7��
��.�+��{HI€�2��qjݎ�?��W�V[�J�ФBg������H����<����dK6��
#�a
+7vgK�$5�
����Y"��'KȔ�-x��,��ѕ
-p01)@݈��;��¦|0?l��
��Q.��ي�h��1����y���_�|��0��m�]hPC~,	
�
+p_�`�9r$-6��MO8-v9���MIy#%x �����D���z��ٌ~��+��r��Rn̼����͉����R�l�Y��3�M��΃C��(�9g 7�<�j�M����便S��T!�3b@/S���yDž�ao8��ED�7�;p(�v���'�N�4D�<�T[E���:�r�f�nύn&��}��u��OF�����
�ݖ�n��4!/�o$=¡
iˡ��1�JP�V!iw����k=��02���IH���h�N��vnU����6��b5펄{
y�/
!�8Ӊ��
��#��ŋ(\/-)�G���G��E?$i
�8 ����.��Z���.��C�@xI
�Wt�1����۪e(�����w�*RI���t-�<d�<�=v����6-�G�M�c�K��wb2�M��s�`Kp�#�ͷ<�w�-o�.;��"\� Ex���S�'A� [...]
*�@)H��7��t�Q���8p��<�D��o������٥��yқZK/ �TfC-
¤Ma���C�X���nŢp�l�#��ݷ���r�&Ěf�~�I*1�����q��T
�v�/
k�����C����~��lH��?K]+w��R4
2r�
-(.��͇`U��|ܵɉ�*��
r����|h�|���H�
�`��
-��T�h�
�Vˉ�^
��WF_�2I���<:'o�0s�Ս�p��L�S�+�@� {
Ӕ��C(F_r�Ju�P^˸�b/i�:��5�'ز���W��p�U�]���r���<i��H�Q��c�"�
-endstream
-endobj
-1769 0 obj <<
-/Type /Page
-/Contents 1770 0 R
-/Resources 1768 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1767 0 R ]
->> endobj
-1767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1771 0 obj <<
-/D [1769 0 R /XYZ 89 770.89 null]
->> endobj
-1592 0 obj <<
-/D [1769 0 R /XYZ 107.713 696.156 null]
->> endobj
-1593 0 obj <<
-/D [1769 0 R /XYZ 107.713 679.296 null]
->> endobj
-1594 0 obj <<
-/D [1769 0 R /XYZ 107.713 662.435 null]
->> endobj
-1595 0 obj <<
-/D [1769 0 R /XYZ 107.713 645.575 null]
->> endobj
-1596 0 obj <<
-/D [1769 0 R /XYZ 107.713 628.715 null]
->> endobj
-1597 0 obj <<
-/D [1769 0 R /XYZ 107.713 611.854 null]
->> endobj
-1598 0 obj <<
-/D [1769 0 R /XYZ 107.713 594.994 null]
->> endobj
-1599 0 obj <<
-/D [1769 0 R /XYZ 107.713 578.133 null]
->> endobj
-1600 0 obj <<
-/D [1769 0 R /XYZ 107.713 561.273 null]
->> endobj
-1601 0 obj <<
-/D [1769 0 R /XYZ 107.713 544.412 null]
->> endobj
-1602 0 obj <<
-/D [1769 0 R /XYZ 107.713 527.552 null]
->> endobj
-1603 0 obj <<
-/D [1769 0 R /XYZ 107.713 510.691 null]
->> endobj
-1669 0 obj <<
-/D [1769 0 R /XYZ 107.713 493.831 null]
->> endobj
-1670 0 obj <<
-/D [1769 0 R /XYZ 107.713 476.97 null]
->> endobj
-1671 0 obj <<
-/D [1769 0 R /XYZ 107.713 460.11 null]
->> endobj
-1672 0 obj <<
-/D [1769 0 R /XYZ 107.713 443.25 null]
->> endobj
-1673 0 obj <<
-/D [1769 0 R /XYZ 107.713 426.389 null]
->> endobj
-1674 0 obj <<
-/D [1769 0 R /XYZ 107.713 409.529 null]
->> endobj
-1675 0 obj <<
-/D [1769 0 R /XYZ 107.713 392.668 null]
->> endobj
-1676 0 obj <<
-/D [1769 0 R /XYZ 107.713 375.808 null]
->> endobj
-1677 0 obj <<
-/D [1769 0 R /XYZ 107.713 358.947 null]
->> endobj
-1678 0 obj <<
-/D [1769 0 R /XYZ 107.713 342.087 null]
->> endobj
-1679 0 obj <<
-/D [1769 0 R /XYZ 107.713 325.226 null]
->> endobj
-1680 0 obj <<
-/D [1769 0 R /XYZ 107.713 308.366 null]
->> endobj
-1681 0 obj <<
-/D [1769 0 R /XYZ 107.713 291.505 null]
->> endobj
-1682 0 obj <<
-/D [1769 0 R /XYZ 107.713 274.645 null]
->> endobj
-1683 0 obj <<
-/D [1769 0 R /XYZ 107.713 257.784 null]
->> endobj
-1684 0 obj <<
-/D [1769 0 R /XYZ 107.713 240.924 null]
->> endobj
-1685 0 obj <<
-/D [1769 0 R /XYZ 90 227.424 null]
->> endobj
-1772 0 obj <<
-/D [1769 0 R /XYZ 90 210.783 null]
->> endobj
-1686 0 obj <<
-/D [1769 0 R /XYZ 107.713 107.847 null]
->> endobj
-1687 0 obj <<
-/D [1769 0 R /XYZ 107.713 90.986 null]
->> endobj
-1688 0 obj <<
-/D [1769 0 R /XYZ 90 77.486 null]
->> endobj
-1768 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1777 0 obj <<
-/Length 1113      
-/Filter /FlateDecode
->>
-stream
-x��W�r�6}�W��d$���d��*�-3��f8�˜����~}(�r$�i�}"Ab��]�
 XY+X��]���{+
�l�V�G�Êcy��0Z)�������z���0]o�5�QZ��1\�똎j;��Co�����`��9��Lz�_�����L�U��I�b&<ce����'	���C2%G�nAk���Es��jo�ت�q�P������aei��&Y�9��S{	+�E���1��ڪDu�
��:F�g+�A�M]�e
YVYq�2}q��� [Cщ�05���<�O�E��� �����v
�#̾n�Xp��C�mL]Z�2kY�~<\,�����m"�jǬ,%�S�����g7A�]PO?�oY!��
ɐ^5Y
�7ÁF��o��ĵ~Y�낅�0��"�[��GK~�Ȳ�Q*?���s��t�YX���A!,��7ͪcD�̥P<�$�ξ0Xo��,�c�=���U
B

W���U����K�Ye��{`��L�gc
��n:����j6����G���
-���K
�j.���җa)�>���Y5K�loS�\�H�V�,F5��4
�s
�iy�`�g)K+�>.
-�=�*�TbPm�hƱ�׊��eO!��-�&��#�4[�1��u�ҳ}�A�yoO&��������~cз7�,��$�K욓l����,��X�N��@|I���
��d4
MF�

�N�7F��-�$Jb��.S�N��b�s�.���b2�ܝ��
�����;�yU؀���Ұ�^��&]�U��kV��X�6g��F\5ZUO�k��|��=���-� ^��ݾ(���?� ۠RRk�6�R��K��)��ϧ�Z
To�{�}�?��"��Bf��i&ek� �[EÖi����_��E��N�.i�ƕ!EUy�^�]K�k4b�<}��ػ�
�vœ���L�;
���x��
�����O����[��;\��Go^Ԯ;��ͫ�q��;ӕ7.˩���o�i�˟��
6� o�B��SɊ_���ޞ���L���w���N
<d�/�4����,����4o��3���A&6�L=UU~��???�e�6i�(��y
�_�{�
���s�؜���`� �Ǥ�W��K
�W
-endstream
-endobj
-1776 0 obj <<
-/Type /Page
-/Contents 1777 0 R
-/Resources 1775 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1773 0 R 1774 0 R ]
->> endobj
-1773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 176.216 294.501 187.12]
-/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
->> endobj
-1774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1778 0 obj <<
-/D [1776 0 R /XYZ 89 770.89 null]
->> endobj
-1779 0 obj <<
-/D [1776 0 R /XYZ 90 721.073 null]
->> endobj
-1689 0 obj <<
-/D [1776 0 R /XYZ 107.713 629.427 null]
->> endobj
-1690 0 obj <<
-/D [1776 0 R /XYZ 107.713 615.083 null]
->> endobj
-1691 0 obj <<
-/D [1776 0 R /XYZ 107.713 600.739 null]
->> endobj
-1692 0 obj <<
-/D [1776 0 R /XYZ 107.713 586.396 null]
->> endobj
-1693 0 obj <<
-/D [1776 0 R /XYZ 107.713 572.052 null]
->> endobj
-1694 0 obj <<
-/D [1776 0 R /XYZ 107.713 557.708 null]
->> endobj
-1695 0 obj <<
-/D [1776 0 R /XYZ 90 549.58 null]
->> endobj
-1780 0 obj <<
-/D [1776 0 R /XYZ 90 535.728 null]
->> endobj
-1696 0 obj <<
-/D [1776 0 R /XYZ 107.713 438.577 null]
->> endobj
-1697 0 obj <<
-/D [1776 0 R /XYZ 107.713 424.233 null]
->> endobj
-1698 0 obj <<
-/D [1776 0 R /XYZ 107.713 409.89 null]
->> endobj
-1699 0 obj <<
-/D [1776 0 R /XYZ 90 401.761 null]
->> endobj
-1781 0 obj <<
-/D [1776 0 R /XYZ 90 387.91 null]
->> endobj
-1700 0 obj <<
-/D [1776 0 R /XYZ 107.713 290.758 null]
->> endobj
-1701 0 obj <<
-/D [1776 0 R /XYZ 107.713 276.415 null]
->> endobj
-1702 0 obj <<
-/D [1776 0 R /XYZ 90 268.287 null]
->> endobj
-1782 0 obj <<
-/D [1776 0 R /XYZ 90 254.435 null]
->> endobj
-1703 0 obj <<
-/D [1776 0 R /XYZ 107.713 140.854 null]
->> endobj
-1704 0 obj <<
-/D [1776 0 R /XYZ 107.713 126.51 null]
->> endobj
-1705 0 obj <<
-/D [1776 0 R /XYZ 107.713 112.166 null]
->> endobj
-1706 0 obj <<
-/D [1776 0 R /XYZ 107.713 97.822 null]
->> endobj
-1707 0 obj <<
-/D [1776 0 R /XYZ 107.713 83.479 null]
->> endobj
-1708 0 obj <<
-/D [1776 0 R /XYZ 90 77.486 null]
->> endobj
-1775 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1788 0 obj <<
-/Length 1986      
-/Filter /FlateDecode
->>
-stream
-x��X�s�8��ۙ�E�%�mg�Le/9 ��[�\cl�6ò�u�ecB�uSWuO��V�?~�!q�����އY��S���E���ڊ���|��������bI?dN��&��q<�
G�)��
g��
��-��{,����wn�`��3��Am-WH��ִ��
�*��0ǡ3A 沠?p8�����@x�~�;܎�m<�
n��q�VE<HE\
oo?��l�V���RϪ����kwj>Q��*UV�U�g���'�oI����(�$�i�k	�5}tM8��x6�H

Y2mM���
�*eH6fP�e���G�-���'�{�W�?����d
e��%)
'29
�:
gp��B0WY�`wU�U^�v��X�{Z<��h2�	��4��

��N�݋�5ڞ�2y�juIn���
�'
���1i�G'���������
`����z�S#�
�Z����}بB�rF��{68�/<�;�����{UҾ��UԘj���P
�����gk�Vx�,�w��v��-��"�V�(�t_�Y##�w�/#�K�!���
��
��wܪ��8�9W��%)�dV�t8h�M��O��
M��(4���>����Ӄ
�:�u����j�pH�n
!c0����Q��>���	<i
-��6	�W�7��
)�]/��
��&)�h���
�M\Fkt4�ń(-]��SѺ��5�IE�j�8��ǣn���rԪ�
�}�Bl@]���d���iN„m[��R����|,?!��,
-
K2��^��g�r���ȓT�v�|��������)�
�
-,t
-Bc4LJ,�w�r�V4E�#tl�z"
-
&�_�@�;����">h�0����L��, �t<�"S�;��ƃĠ���,�u"��&��&�q�l��L�V�;.���((^�K�v�|H�b��!h��78��2ߪjC�	���.Q0*U������B�J��ŤaWo9����υjx�Y�
�ԕf��`�WDT�?5)��ŞF��M�0h����
��>S���`�T{]28��y�TE��T�\�s<�8!X-Y^�A��A�}�
sL(4��kJ�@�; KI�TGZ�g����0�
F��Y���IcsB�
-n�,Y��2R��n�kjHǨ�K�6
e�
`A�mw;����a�^MAs��Ko��W������tz��a�V

-�&
]�I�8d~�nwy	FO�ฑ[�	��`��P��$XM��y?+���B�pB&³V�!%�>)��2�	�
��pD���5�ZCKR���l��dX� dJ��Xm��
�L�4I�J�&�G
(��W$���m|��Ɛi�58�k��:,ݤYS23�Te	�VcK'
�+?�

-�2)_��N=�q�_lz����N����7�K�w\-
��0)��4&X��I8��F����e��?�g�`4�a~Gq:��4\�L�ƍ5��EWd,�u%
Y�7;wܹ`RL Nӄ���x,��}N�<=^���,��;�_U��
܆��z�^!�BK���p
O�f��g�Qu�<�@�+����j�
̔
R_���T(�JnO�i�tc���N���O�o?.[`4��l>���o��r�SH#+|�
����q
�A�X�	��%F�J�h�/�Z]�q��]e��d�����F���w��n`�?�eUg�U���/XP���l�"W�,$Y������[N�\a
mDt��lr�q6�
~�Npv?
]����k
pfT�E�=��Q]�I�R�
-�c�w��
�
-—�
�pi-���n���:���k6�_�;��mX�Җ�JUu�3�-�4�>����ȳ�{���WN_��	W?݂�{���Ùg��e}S6=]6ʹ��45œ&O�`�=?ο��>Ni����BNŞ30��_�A+>����7�
��h

B��M�o�jw{ss8
زd�,�,�nv���%�Z\ O
��j�U���b����	�
�F
-endstream
-endobj
-1787 0 obj <<
-/Type /Page
-/Contents 1788 0 R
-/Resources 1786 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1668 0 R
-/Annots [ 1783 0 R 1784 0 R 1785 0 R ]
->> endobj
-1783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 648.359 294.501 659.263]
-/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
->> endobj
-1784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 482.32 294.501 493.224]
-/A << /S /GoTo /D (main_Approximating_Bounded_Integers) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1789 0 obj <<
-/D [1787 0 R /XYZ 89 770.89 null]
->> endobj
-1790 0 obj <<
-/D [1787 0 R /XYZ 90 721.073 null]
->> endobj
-1709 0 obj <<
-/D [1787 0 R /XYZ 107.713 611.025 null]
->> endobj
-1710 0 obj <<
-/D [1787 0 R /XYZ 107.713 595.695 null]
->> endobj
-1711 0 obj <<
-/D [1787 0 R /XYZ 90 574.834 null]
->> endobj
-1791 0 obj <<
-/D [1787 0 R /XYZ 90 560.538 null]
->> endobj
-1712 0 obj <<
-/D [1787 0 R /XYZ 107.713 444.985 null]
->> endobj
-1713 0 obj <<
-/D [1787 0 R /XYZ 107.713 417.7 null]
->> endobj
-1714 0 obj <<
-/D [1787 0 R /XYZ 107.713 320.036 null]
->> endobj
-1739 0 obj <<
-/D [1787 0 R /XYZ 90 287.22 null]
->> endobj
-1792 0 obj <<
-/D [1787 0 R /XYZ 90 272.925 null]
->> endobj
-1740 0 obj <<
-/D [1787 0 R /XYZ 107.713 173.309 null]
->> endobj
-1741 0 obj <<
-/D [1787 0 R /XYZ 107.713 157.979 null]
->> endobj
-1742 0 obj <<
-/D [1787 0 R /XYZ 107.713 142.649 null]
->> endobj
-1743 0 obj <<
-/D [1787 0 R /XYZ 107.713 127.319 null]
->> endobj
-1744 0 obj <<
-/D [1787 0 R /XYZ 107.713 100.035 null]
->> endobj
-1745 0 obj <<
-/D [1787 0 R /XYZ 90 77.486 null]
->> endobj
-1786 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F11 442 0 R /F8 537 0 R /F10 504 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1799 0 obj <<
-/Length 1678      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����d`fHݕ�M�tK�5��-F�m�2��R7��;$e)���0�I���|�"Qo�Q�������eJ���I�x�k/�^�$N`�����|�Կ�;�ּv��*��P
�d�`*�i�'����������x�1
�4�����`��GI�g��l�yQ³�f��裒1F��e���0:_0J�/T���-�������<�~U�oŪ�?˻�7��������̯�J���5�V�~�2NF7Ro$�2{�j[	'�5U�Gk����j�l�
o_ͼwV:s��7Z}q���Os���DZO&[
�cAI�'�"HH�Q��
-��]՜N�
 �X#����[���8�7�/Ϟ]�?���ֈ�v
Q�

/
�2��"�,��-�FM�@��z��X�~S�u�RR$�������g/�$_�ŏ˷�( W�Ժ�;^Νgz�vb�2u�A�(��$H�	C��z�_2����Ћ�0��8C-ꄡ7����\� �>Q�$��W���W+���4���S�
�E�^ %"B=�I��� �1z~��Č���50u4`F��ą_Q���'��6�t�
����Ha���
-��4<"wJ�4p{>i��y���
t~�ժR��s-T+�v�"n!r���v,���$I�i�?C�TRu�6ޫ�O��υ��tk7��!��8Y� r�6�cP`ˏz&��[Yl��$��$/����v��/��̱l�ۈZ�N��{;.���h�_�3���Ʈ�� 5nl�� {.J�o���4�������K����Hat����b�f5�a!B�9ȁ����w[�&�Lhҩ�(�O�N����o[��dg7[�#���N�Ji��y
�r���q�u���@��2"d��:�x�h�%��7�mV�6[��;�Q�'���ہPn�;*�4���
K�-�(
�Rp�O���zxe
�s΀!8�oL)�k�-w�%��v/K��R`\�7ʾC:�
-l���WK)����뺔�!�6R��L����w��0�jw���͈`x��T����n[c
8�E���(�l'�bf����"
-�u�
-t��
 f�`0�B��)���
�`�Q�����l�I�¤���^[s�����eB�x
cm�#
l�����Ƙt�p����n#��/Zd�^�D�2�A��1gR`�Zc�#���X����@�̱z]V�x��f$�����urk�
� XZ��l��9�T�{;0��-
�Q�9�$���f��M�CD�Y��;�+�Tm��B���4��yYV���W�E_j�;W������08�y\�pq�AW4�_� �L꡻KU���

�KW��U�C�"�5y;
9�Z	u�&	1Bm�N}ɇ"
-�&��2�
>�U�SX��n��g3�}.oo�K�6��n�����j�)������A�6����{\�D  4���&Yg�U嚽C���+.J۶�$e��Z�$
~1���
��4�����8
-fh���v
���V���
-�*��/�qo94� �l
K%���y
��jF�:�_9I�)���8������b���p(
3��q�=�`�9���Cg.;�����
���U��{��1Dڡ��M=	t"ֱ ^�.'Z�>z��'�S���,�-Cw�����d�ߓ�%��uCdw����,;B�
Z�K=��9M*�����dl�� ��
-�
-endstream
-endobj
-1798 0 obj <<
-/Type /Page
-/Contents 1799 0 R
-/Resources 1797 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1793 0 R 1794 0 R 1796 0 R ]
->> endobj
-1793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 666.345 245.973 676.273]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 514.4 249.291 524.328]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1800 0 obj <<
-/D [1798 0 R /XYZ 89 770.89 null]
->> endobj
-1801 0 obj <<
-/D [1798 0 R /XYZ 90 721.073 null]
->> endobj
-1746 0 obj <<
-/D [1798 0 R /XYZ 107.713 623.749 null]
->> endobj
-1747 0 obj <<
-/D [1798 0 R /XYZ 107.713 606.443 null]
->> endobj
-1748 0 obj <<
-/D [1798 0 R /XYZ 90 592.275 null]
->> endobj
-1802 0 obj <<
-/D [1798 0 R /XYZ 90 574.633 null]
->> endobj
-1749 0 obj <<
-/D [1798 0 R /XYZ 107.713 471.804 null]
->> endobj
-1750 0 obj <<
-/D [1798 0 R /XYZ 107.713 454.498 null]
->> endobj
-1751 0 obj <<
-/D [1798 0 R /XYZ 107.713 437.192 null]
->> endobj
-1803 0 obj <<
-/D [1798 0 R /XYZ 90 417.393 null]
->> endobj
-1752 0 obj <<
-/D [1798 0 R /XYZ 90 394.466 null]
->> endobj
-1804 0 obj <<
-/D [1798 0 R /XYZ 90 394.466 null]
->> endobj
-114 0 obj <<
-/D [1798 0 R /XYZ 90 156.495 null]
->> endobj
-1254 0 obj <<
-/D [1798 0 R /XYZ 90 119.155 null]
->> endobj
-118 0 obj <<
-/D [1798 0 R /XYZ 90 119.155 null]
->> endobj
-1797 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1826 0 obj <<
-/Length 1027      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����, �IJԥ
-lA��
/q���,3�V�JI���G��oM
�v澈/��s>�B`
-���>��/=���' �9���������/�O�v}�W,j{�o����^�u.F�o
,��j=������������Ip�-��w�ꠝ�`
1V:Qƪ2�Y�j5����][�]��>�];P+	�k�C�"�͍D=(��S��];�PԽ�
oKƣ����[a |a��HS�	=�� kS~KS���eS�����)�
Ӯ�caԭTw�-��2��#B$g�]��%z��'!
-�h��=;�H ���:�iTU����9��vC<���"�;��G��0�s%�T���aq]�4���F4���
�-���+P�Ć�Ow�Qռ���hܱXFo�,��yrp�i#	�T;.�rZ?���|���*��/�"
=L`@��P׿�r�G��pܯj�f�#H�%	����&���^�G���oɴ�ZG2��t�� ��v���QM��J�o��
�AT'�p�e²�-�{���8�6t����!��B��M�x�zZ�LK��)�X^'���H5��i�)�4���H/{����1�Jr
�ՀM�{����i�n��؝�'n��E<����j-?Ǧ�\��,��BA���JN��y�������UͲ#�R�6"���*��������&J�z����t��?��?Z
�t
-�;�
-�><�G��U^k�mϘ�sf�.Z��b�&�pe���Ɯ�l9i�\�\
�߿F��֕o���X)ҫ3�1�Ӷ&�LvȲܨ�8-�f����9i
����1;4+�}�S�:9kj;�T묹r���+�L£U���
-}?^���Z�+������ch�E������)�i�o��5�g�������M2����o�"�Z����r����GD����A,n#bC�g
��I4��W`�����u�}ڈ�KЬ����|>�q�<)9L�~Y����`�I�B�'����l�3k��͠� �T��+
-endstream
-endobj
-1825 0 obj <<
-/Type /Page
-/Contents 1826 0 R
-/Resources 1824 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1795 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1823 0 R ]
->> endobj
-1795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 685.318 216.873 696.222]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
->> endobj
-1806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 606.686 180.57 615.533]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-1807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 565.826 198.482 576.729]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-1808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 527.998 187.464 537.926]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-1809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 514.813 316.68 525]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
->> endobj
-1810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 502.147 234.098 512.074]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-1811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 489.221 210.149 499.148]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-1812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 451.498 170.956 460.345]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-1813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 410.638 213.018 421.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-1814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 371.834 213.595 382.738]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-1815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 335.088 179.274 343.935]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-1816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 294.227 216.365 305.131]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-1817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 255.424 211.912 266.328]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-1818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 218.678 177.591 227.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-1819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 177.817 220.22 188.721]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-1820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.014 185.9 149.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-1821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 100.211 235.154 111.115]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-1823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1827 0 obj <<
-/D [1825 0 R /XYZ 89 770.89 null]
->> endobj
-1828 0 obj <<
-/D [1825 0 R /XYZ 90 702.363 null]
->> endobj
-1829 0 obj <<
-/D [1825 0 R /XYZ 90 623.577 null]
->> endobj
-1824 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1851 0 obj <<
-/Length 990       
-/Filter /FlateDecode
->>
-stream
-x�՘[s�(���)x�4Sc�Œ��t��-o��a��K�a�[��o� ����I&֎�'I �9?�9� k����x9���H`2��`y
� ��\>���I v�!�,\�
�K�.\9u�pCsN��l�	p�^��3RҶ!Տ��r��T��8p"�~[~������`iXO�(Y9���@.�?�$���/����5A��ؓp����0�ca
1��\y^�Mn?��P���mM�2���]��+ʕ���V�Q�� ëD��X2�!���8�q�kC�h>k9��+XE����![�H�B�j>���Y%���L�-�cog&_]���#����;s��k�ȏ�Z9�v�Z_��T��3�r��xO�}bX|X�
^K����t�pc�֬8�t��JP7�PR�¸B!R�!\�a3 w�Щ�kk3Lɪ�э�T��
NF�t��ᔦg����Ы�P=�� �4��[�j#7�]?r(U����˜6&���@��ї�V�H��Q��}����4c����
�}ɍ16Z�&
�ߟ����-�]!�eD�ri��$��h�M��b�zSvM�6�m�i������b������*5���(ᛱ J� [...]
-����5gr�b�̓\�:�f�T��_v���p.M�{^g���G���� ��|��]��)����c��KK�+7

S����V�m&�SCQ�s
� ��S��S_��
j#���;�w�w8���<���{#Ds4�m6���b
�L̚����
���E�A����9��M6�]u�
� �i+�
-endstream
-endobj
-1850 0 obj <<
-/Type /Page
-/Contents 1851 0 R
-/Resources 1849 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1822 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1845 0 R 1846 0 R 1848 0 R ]
->> endobj
-1822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 708.933 200.833 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 670.26 192.544 680.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 631.587 190.901 641.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 592.914 201.601 602.842]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 554.241 217.471 564.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 515.568 219.115 525.495]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 476.894 220.778 486.822]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 438.221 201.401 448.149]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 398.572 216.355 409.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 359.899 183.698 370.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 322.202 194.218 332.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 284.61 168.495 293.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 244.855 202.507 254.783]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.544 229.349 273.474 239.254]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 205.206 195.324 216.11]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 166.533 209.71 177.437]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-1845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 129.917 156.022 138.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-1846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 91.244 154.368 100.091]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-1848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1852 0 obj <<
-/D [1850 0 R /XYZ 89 770.89 null]
->> endobj
-1849 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1872 0 obj <<
-/Length 1081      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�VrRA�̭��L��Q#�d{4�I��U�F��]�h���f�V��X|��K�B�
\M�_#���n��K��	BxKѝ����
��;I���������t"�
�L

�D���8�Ѣ�=���
"�Kb���
-�
<s4�1 �sO	1� :$ľ�0���
-�=�$��
B�EN�V����INqb]��&kZ����'�0����8�]4t|
G���-�ͫM��T����vbk�ۋ,V.���rC'��wv=�|h�u=
��і\p��J����RW�Z�!�T}I�N
-ڮg�X�Y�*��w��Ze��[�����?f)�R�֎Wq` HQ����񲬚��y���u:���f�Yټ�ʖ7���/�S�\��B�쮚��/���%2+k
 c-k
�ruz��� h�r�1��<{G�|[�0fo2�d�/�ϱ,X
�h���,�
-��kj�C�D���}f���q[����*�o�Jڍ���X�JgE])��
-5k�,ם�� :
���횕O�r��d��Yʖ�s��M
[s�&�J�_�:k��a�5EV
-;N�\Ǯ�U��5k�@e1
���jPW�Lg��ޓ~��b��A�Zg��jD�#݃-��~A�<�ݵ�#ܤ^AΚ%���q,��c���'�-�w�5+�c���'A�l��Rmt?�
p�6z\�n`mY,ߑ��S�Ba�P�RL��_�͓��-�����_�u ���SZB�*����D�Q �Yk�J����o�E+0�H�>�?�"?m�IP�	����nB���zM�T�<�w�>x�Ƕw�2�Lb4�=LM�Ԏ|���}
�ku�!h���t��B��lƿM~��l!�fb�Ǥ�؀�U��
m����k���X�YmaJM�
J��?�/~���f7SS/�H�ɰþa���;��/��
����ԃEĴ�� f���j��|
]��U�[��ѯ�!���3��$�Qg�Zn
C�$ �BT�V�8؅O��
$���)��Df�p��:��G\s+��~=m�[�h���g|T�������
�:%���A�[@XPQ��N�tNZI
-endstream
-endobj
-1871 0 obj <<
-/Type /Page
-/Contents 1872 0 R
-/Resources 1870 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1847 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1869 0 R ]
->> endobj
-1847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 695.072 180.928 705.976]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 656.351 208.036 667.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 618.606 210.268 628.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
->> endobj
-1855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 579.885 229.087 589.813]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 540.188 235.712 551.092]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 501.467 255.637 512.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
->> endobj
-1858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 463.722 195.872 473.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 424.024 247.189 434.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-1860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 386.28 205.835 396.207]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 348.64 187.005 357.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-1862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.084 321.069 160.373 330.974]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 298.959 174.034 307.806]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-1864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 259.157 211.124 269.085]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-1865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 219.46 192.395 230.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 138.891 237.655 149.795]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-1867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 100.169 249.819 111.073]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-1869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1873 0 obj <<
-/D [1871 0 R /XYZ 89 770.89 null]
->> endobj
-1874 0 obj <<
-/D [1871 0 R /XYZ 90 155.895 null]
->> endobj
-1870 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1952 0 obj <<
-/Length 1457      
-/Filter /FlateDecode
->>
-stream
-x��YIs�F��Wp
TE�Y��v�� ��cOQXj�� R �qR��yM�G�5\�ʉf���o��� �w��N���y]Uƿgt�
d�WT�[07��
\_@�' 6̒0p8����/�0�DwY�=s}QA�&8_�sLo]|�3N�X��G�@�dv q��O=����@
����4f��n�!f�?1��t�y*?JY��3^*
Ц&�����T^�4f � PmnEQ)��0榯�n��
-/�=�q&��6��̑iX~�_;F"�f��n	'������"$�#�[<v�`q��@NU&r�"��"�d^�k)�0���q�ty����yW�N�$J�x��N������bNw���E�	����Hc���
JeJ#]'8
�h��[4v�@��'j��q7`����%Q����q��0�w)���
�_��v������N"��iͼ���L���K�Τ��$�
Z�@��U
"G�u�گ�nѯ?!��.֧۹������D�'�:�D�u�R�K70�N#kv�
3�t�����ߎA{�YF
A[`�����o�D��>�9nڅM��i4]b�Eȴ��s ^hes���Ml�ɮZz�d����Ӗc�Ľg �u	���
(�-C���*�+�F��
�
f������e��p9�vc0�

��V�C��y��	��=n�|:�t�ܛ���
n�xOu���T[�2�������H�hʰ�K"�'��^w�}�A�5�ê9�\�q
N�����
���	&a mO�A���]\7��b���k���Ɵ������
rxQ�Ϣ�1�E4�'�d�.����������1F�x
i]�1&?��80b��U?k
��e�o����P��v�
�>G�b�7
L6�C鎔��
-
�V~��
�d^Ts�A��-�0 ��?𞓻eܵ���
t�+4����y��{�b�����5�s�r� ���6�a'7n�($5�$�c4�圗��$��!�T��d�
A���L�WT<��W@>�W �8�L��k˞�C��g�L�/
�t �%�-Z�몜l��UIy�j7�VF��@�H}���z��ωA�f
{UDI�7�:�%���5 �fsj~�v�i7M�ᗣ���Ax��o�L�$�����t�Nx�iQU�,���+
\�\-�Ǯ����@k�$�mP����m�=U��u�^q�RZ����.�7��K����Q�d�w4�\��p
O��u����t䢠@����t����8i�n��򛂤�~��$�pv���$�"O�L��d�aw(
�ܡ�5��Yc��l���Q��o{���	o��KQ�G�[��C. 
HN)�����K��
�)G�,��?�>���[Gv�
g��
R�i���o��*w�/��x0����K�
��2��;S�>�
!n�+h^B"�*�},��o''OOO�<��i����8Y���3�
*��/D^Nƒe��m�S,��?ګ�
-endstream
-endobj
-1951 0 obj <<
-/Type /Page
-/Contents 1952 0 R
-/Resources 1950 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1868 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1897 0 R 1898 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R 1903 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1955 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926  [...]
->> endobj
-1868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.455 707.957 310.472 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-1875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.257 627.574 193.283 638.104]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.492 627.574 266.471 638.104]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.179 627.574 371.229 638.104]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.937 627.574 468.246 638.104]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [471.954 627.574 513.996 638.104]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 602.67 204.739 613.2]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 586.731 168.485 597.262]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98af4fca65e2503d4afea11aa9b9da7d51e) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 586.731 205.566 597.262]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.555 586.731 240.625 597.262]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98ae9e9040024adaad2b7a0d9ceea0c8b62) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.613 586.731 277.705 597.262]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 570.793 148.002 581.324]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) >>
->> endobj
-1886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.991 570.793 183.977 581.324]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a44ed03f4b908d58ac405493b10be3012) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.966 570.793 221.058 581.324]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.047 570.793 264.226 581.324]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 557.844 165.994 568.374]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 541.906 161.84 552.436]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.829 541.906 192.276 552.436]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.265 541.906 220.69 552.436]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.678 541.906 251.125 552.436]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
->> endobj
-1894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 526.311 141.357 536.498]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.346 526.311 170.687 536.498]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.676 526.311 201.123 536.498]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.112 526.311 237.646 536.498]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
->> endobj
-1898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 510.373 182.573 520.56]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
->> endobj
-1899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.561 510.373 232.017 520.56]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.006 510.373 285.705 520.56]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
->> endobj
-1901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.694 510.373 391.598 520.56]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 494.091 226.577 504.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
->> endobj
-1903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.566 494.091 342.233 504.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.222 494.091 450.148 504.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
->> endobj
-1905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.136 494.091 488.534 504.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
->> endobj
-1906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 478.497 197.815 488.683]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 478.497 263.27 488.683]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
->> endobj
-1908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.258 478.497 344.066 488.683]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.055 478.497 420.987 488.683]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
->> endobj
-1910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 462.558 172.351 472.745]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.34 462.558 263.27 472.745]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.258 462.558 341.864 472.745]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
->> endobj
-1913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.853 462.558 412.858 472.745]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
->> endobj
-1914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 446.277 178.398 456.807]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
->> endobj
-1915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.295 446.277 335.607 456.807]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
->> endobj
-1916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.505 446.277 490.615 456.807]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
->> endobj
-1917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.512 446.277 513.996 456.807]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
->> endobj
-1955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 434.321 211.285 444.852]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
->> endobj
-1918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 395.098 223.927 406.001]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.698 395.098 282.945 406.001]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.934 395.098 321.69 406.001]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 356.247 210.278 367.151]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 340.683 149.158 351.213]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.147 340.683 210.04 351.213]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.028 340.683 295.329 351.213]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.318 340.683 377.79 351.213]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 324.745 217.79 335.275]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.779 324.745 281.083 335.275]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.448 285.521 214.914 296.425]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-1929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.506 285.521 360.535 296.425]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
->> endobj
-1930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.434 285.521 478.227 296.425]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
->> endobj
-1931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.126 285.521 513.996 296.425]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 273.939 180.102 284.47]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
->> endobj
-1932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 234.715 221.336 245.619]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.107 234.715 301.924 245.619]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.912 234.715 381.604 245.619]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 195.865 263.698 206.769]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 180.644 147.454 190.831]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
->> endobj
-1937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.443 180.644 188.968 190.831]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.957 180.644 230.483 190.831]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
->> endobj
-1939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.471 180.644 271.997 190.831]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
->> endobj
-1940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 164.362 157.417 174.893]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 125.139 298.955 136.042]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.726 125.139 359.627 136.042]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
->> endobj
-1943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.616 125.139 484.708 136.042]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
->> endobj
-1944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.055 86.288 278.938 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-1945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.744 86.288 387.534 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
->> endobj
-1946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.04 86.288 511.506 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
->> endobj
-1947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.707 233.501 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
->> endobj
-1949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1953 0 obj <<
-/D [1951 0 R /XYZ 89 770.89 null]
->> endobj
-1954 0 obj <<
-/D [1951 0 R /XYZ 90 646.172 null]
->> endobj
-1950 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2010 0 obj <<
-/Length 1447      
-/Filter /FlateDecode
->>
-stream
-x��Yms�6��_������ �ҙ~��$�c��}��a��$����'���J�P��r�����
�>��]	E�����ou/LE��m����H�"�����k�m�����I3,�m&����;�?f�Z������"�b>A�%�������H
-�lKZ�A
IW5��K���-E�R�/D�%
D3t&Vm�X��1¸�cpO�w��%k���=�w�}��E+���*���E#�s*�J�V�J����Òf�k�K��16x�*2t�5d��\�w�J��Ho;D�e��B�3��[Aֈ�`���Q|�����5�B�aK
L��)FL����������^
��j�0�dx�T����m�

�
أx��szGA)�(�#��F�ՙ�1n���ۆ��Vg�{�����R:��&��,
�̩�m:ˣ$Ί���?�4��4�fE{�,��<�COwF빾8t��0M�s�� �*;�#����9�������f�H�
}�������
n��,n5�`k([/�,�E�X�`�=
%��x]�$�͉*:�d���W��I���~lԧf�
��O�_�m<�ߩ8e���&D���)���)�m壝��bN��
�#����s��8����6�
-��}��]����el��G_���G� }/��sqF�&��,�Vk+E��!5o��{Eѣ������P
y� 2�]x�����?
�d���B�3�YE؍�-x�kG4����d���юf`���iT(X�2�1�@E��������W֬ka��Ь&-��چ��X�0�F�}��S��lϹt<g$
-�
:szU���MA�q���Yx�X
-�112at=��vƔ9����wۻ�!@�� t��w��8 �!Ah?
V��C�P�����θ)�C~̑��`GՑ��h*RL���XŢ��D��H�}�2���̵���6��Y#G�2&pZ�`�`~H�
��)D�>�
�|��Uz�ԋ��#$�)MwU�ë�g{�� �U�'�ş�5��5�ܗfm_�t<m)�UҾ�X�˱W
�b�o��)��/G _�F�
�f.��wa�%�B�eO"C���
��0�nVU���%
�,��J�,�ؚL'�
gyIx���Uh��Q\���F��qL�o�!�˞T�e6b�'rd4��N�&I&�
D�1���b8)�0;�o��-�kZ
��Ya���p
-�
�<��Mì��.�:���j�e�����vEѱNҏ�=��nq� �rWN��,�Y��4X�8����کf
ŬHл.;�����+�DyΣ��m����9�Y��JT�-�&��fk���}�1 at j��o8�[
�
-�L���Fù\7���~���BĮa2��שh^E�4L��$��w̹���a�
-�r��f��
-�����CrG�}3�ThZ��Q*�~b��n
-m�HS�~������z�fZ��2EQ�].��~6P�Q�@uٿ��Q�t.�c������
-endstream
-endobj
-2009 0 obj <<
-/Type /Page
-/Contents 2010 0 R
-/Resources 2008 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1948 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2007 0 R ]
->> endobj
-1948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 684.178 198.094 695.082]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-1971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.086 186.538 679.273]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
->> endobj
-1972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.527 669.086 244.251 679.273]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
->> endobj
-1973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.24 669.086 326.861 679.273]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
->> endobj
-1974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.34 669.086 439.229 679.273]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
->> endobj
-1975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 652.933 243.902 663.463]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 614.341 223.01 624.871]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.781 614.341 364.668 624.871]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.657 614.341 494.341 624.871]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.99 575.749 225.779 586.279]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 575.749 369.659 586.279]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.099 575.749 511.506 586.279]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 563.794 243.912 574.324]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
->> endobj
-1983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 525.202 174.293 535.732]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 509.736 157.965 519.923]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3388ff37939783f337c4aeca28873c8a) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.535 509.736 242.537 519.923]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad57704b5d1b446fc9840009f06a5cb49) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.108 509.736 299.075 519.923]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad2496277dd6e1de91ca84a903ed28b64) >>
->> endobj
-1987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.645 509.736 377.192 519.923]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a16951436466647aef85cdd1f567200af) >>
->> endobj
-1988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 492.876 183.021 504.831]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ada806236c55c963a0f138b67310de3b8) >>
->> endobj
-1989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.444 492.876 411.314 504.831]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3bdee6d73627cc8338fb846f4a1fa935) >>
->> endobj
-1990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.224 480.921 235.826 492.876]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a00b00eff42cb35b0009a39ceb4202ac6) >>
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.938 480.921 506.033 492.876]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a517be2ee42ead94cbef7d4ec632500ea) >>
->> endobj
-1992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 454.207 157.009 464.394]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766adb4b733a5edc79c83812093b2d020952) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.56 454.207 234.169 464.394]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a5e739a5468d529a02f4248c77a4776a7) >>
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.721 454.207 316.709 464.394]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a4fbc5cd99bd48b3a521a9f2c5e7b0c00) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.261 454.207 413.635 464.394]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3181ff1b549af004ba60f7c664037192) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 438.055 198.911 448.585]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a78a1e232394b81ca2319e8f3f066e377) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 383.07 211.773 393.974]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) >>
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 344.478 212.331 355.382]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 305.886 220.38 316.79]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 267.294 205.128 278.198]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) >>
->> endobj
-2001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 229.075 195.713 239.606]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) >>
->> endobj
-2002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 190.483 193.641 201.014]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) >>
->> endobj
-2003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 151.517 226.677 162.421]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
->> endobj
-2004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 112.925 243.822 123.829]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 74.333 264.305 85.237]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) >>
->> endobj
-2007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2011 0 obj <<
-/D [2009 0 R /XYZ 89 770.89 null]
->> endobj
-2012 0 obj <<
-/D [2009 0 R /XYZ 90 401.913 null]
->> endobj
-2013 0 obj <<
-/D [2009 0 R /XYZ 90 401.913 null]
->> endobj
-2014 0 obj <<
-/D [2009 0 R /XYZ 90 363.44 null]
->> endobj
-2015 0 obj <<
-/D [2009 0 R /XYZ 90 324.848 null]
->> endobj
-2016 0 obj <<
-/D [2009 0 R /XYZ 90 286.256 null]
->> endobj
-2017 0 obj <<
-/D [2009 0 R /XYZ 90 247.664 null]
->> endobj
-2018 0 obj <<
-/D [2009 0 R /XYZ 90 93.295 null]
->> endobj
-2008 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2062 0 obj <<
-/Length 1414      
-/Filter /FlateDecode
->>
-stream
-x��Y[S�8~ϯ��&3E��<.-�vw)
��v<�Q�S_��MJ�
]�&��I�Ll��9�����֭��w����3[!
-=�YWs+Ė����mf}
����c<�<d"c�ň�a�>��`�?ɍ`�a4�.
����
s�:�s.F$�\?
��^}���7  ��>�E~`����Wl�`����
�RM�,���Z��Ol4h�j�B+ �<GjDh�p`�� B�R��JX��ॖ��3�]\뇸�+1r\�S��<��"/��~���3�[�sL)�

-��v���B�����y���E
���gI~��ՁQ���f��J�̦j��
��cq�9�
v1��N=Z�5�a�j񧼪E�F.���>X�jA�aԒ�OMU"�
����ɬ�r/�
�S��A �Z�K^��e�fY!�����������LM�t����e��A�8���Պ4Z� S��	_2i��q��w0
}}��H3���TyB��n˳���Zn�Z�$��IQ��	����.���%N�L^�9���)ԉ�!ɕ2�Y\�%���6��r���BЊ��uW�z͈�Ć�a��)��æY�H�f6��Ո
;�fC��d�0�'lH�a�r&�!�rI
n����lQW���Kx�K���Vc��;n((1�G�
���7�Sp����
-qp���
�s�T��P�#��
u�#bH�8
��.�b��a�
l��c�������#n�d�5�k�(�#�\E��U?H�
���H���j.�!�	��
��N��4eeٿB9�^o�X�n��y]�U��.hۨ߳�n�%��L#�.�'6rl�8wW���3�I�u�2q��N�ݤ���nd�J��g*��Lϒ�.'��.�|��B[ir�/�-�%h{D����}&a�<e[��3�kѫ���K��}��P�a�e\��l(�P�'��4�,�x^���
��E�h��%��F�϶ܵ�c�Y�S��
�2��Y�۫�YS�i8m��7����A��D�p�]G����8������v6|Y1㏹��!��{uۻ8�	�f����������ӷ
�y
��u7|%�㚁���U���u���1
�d���%<s�7�4��!S<��g�/G�A%���`�&��
D��H��� ��U,�н%�$f��0e�9�I�
-��W\�z^��M	b�YZtS��4�u�-_�?V
�
�B�YVM�g��8�7���
"�|>����8��7���zr�P��p΅��y�$����x2��7C���O�R7@ ,�%�ԝ��#74t�j
t��Cf*���JK�n�k]�\�!��1�,��H
��`ei�AT��c�%o@Ӛ}����%�蚼$�W��]U-N&��r���y�(�&�E:ـ��5!�W��ȕb�Ga0c�w0��� � '
-endstream
-endobj
-2061 0 obj <<
-/Type /Page
-/Contents 2062 0 R
-/Resources 2060 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2006 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2059 0 R ]
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.172 683.918 346.955 694.822]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 644.807 246.592 655.711]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
->> endobj
-2037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.334 605.695 370.297 616.599]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.315 566.584 436.672 577.488]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 504.559 262.631 515.462]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 465.447 206.582 476.351]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 426.336 204.012 437.24]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) >>
->> endobj
-2042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 387.598 167.937 398.128]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
->> endobj
-2043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.435 387.598 216.912 398.128]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a95f3cc785d7b89f59b3ca216461c34b0) >>
->> endobj
-2044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.728 387.598 248.185 398.128]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-2045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 348.487 180.111 359.017]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
->> endobj
-2046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.609 348.487 240.155 359.017]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ac40e401b77b5ec6e9625c317ce6d760d) >>
->> endobj
-2047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.971 348.487 271.427 359.017]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-2048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 309.002 179.554 319.906]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 309.002 250.676 319.906]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 269.89 173.467 280.794]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.965 269.89 204.181 280.794]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a56eb4e32ec57658bc9e7823cd42ecbae) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.997 269.89 267.553 280.794]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 231.152 170.776 241.683]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) >>
->> endobj
-2054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 192.041 165.237 202.571]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) >>
->> endobj
-2055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.376 152.556 232.395 163.46]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6) >>
->> endobj
-2056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 113.445 229.984 124.349]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) >>
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 74.707 322.077 85.237]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2063 0 obj <<
-/D [2061 0 R /XYZ 89 770.89 null]
->> endobj
-2064 0 obj <<
-/D [2061 0 R /XYZ 90 703.14 null]
->> endobj
-2065 0 obj <<
-/D [2061 0 R /XYZ 90 664.029 null]
->> endobj
-2066 0 obj <<
-/D [2061 0 R /XYZ 90 624.917 null]
->> endobj
-2067 0 obj <<
-/D [2061 0 R /XYZ 90 585.806 null]
->> endobj
-2068 0 obj <<
-/D [2061 0 R /XYZ 90 523.78 null]
->> endobj
-2069 0 obj <<
-/D [2061 0 R /XYZ 90 484.669 null]
->> endobj
-2070 0 obj <<
-/D [2061 0 R /XYZ 90 406.446 null]
->> endobj
-2071 0 obj <<
-/D [2061 0 R /XYZ 90 367.335 null]
->> endobj
-2072 0 obj <<
-/D [2061 0 R /XYZ 90 328.223 null]
->> endobj
-2073 0 obj <<
-/D [2061 0 R /XYZ 90 289.112 null]
->> endobj
-2074 0 obj <<
-/D [2061 0 R /XYZ 90 250.001 null]
->> endobj
-2075 0 obj <<
-/D [2061 0 R /XYZ 90 210.889 null]
->> endobj
-2076 0 obj <<
-/D [2061 0 R /XYZ 90 171.778 null]
->> endobj
-2077 0 obj <<
-/D [2061 0 R /XYZ 90 93.555 null]
->> endobj
-2060 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2112 0 obj <<
-/Length 1383      
-/Filter /FlateDecode
->>
-stream
-x��Yo�6���+��
MRwP�a�d�m�M7�K�@�-:��ё��wxɖ�8v7�l?���
)�6>�>�z�>�
����cõ|d;�}�\����!�;�I�
��ut�ut��zǣ�m�@6��o#�3&i��
-102}ϸ�Râ&<��W+SV��4���4���#�.!�i�7V�EV����|L򬬤X
L�ϦL>�	��U��p���x�K��$f��|W3)݅I��b$������Yr��ȱ(<M亖���R��ĸ8��2��
3���<<3
-
->1	ٙ{��Vn�&�4�i��3�:
ox�m
?�9���y
y���{�
��7�����:c�
(ɳ��N��ۢzʩ
ʄ��bޮf�%qV��������jQX�֡�^	���rm>�&
O|��E��j�d��Q62=]��B#�񟡠��|m�8e��<
��9{��d>�<����������:U�������>V=�x\
���G�Q����,J��yGtr��b�;yȂER+\�t���� +�hG]dYM(�*[�49���X⋖�������C�m"�T]~kt.M�s�~?����
-�q�'�A�X��YX��a�EOϟ
-���%�҇yɪmCB��f�������j�
�.c�
���\˙�ci��ܕ@c�,Wif�B甕��?�j�p�R�Xe��f��.>���C�Պ��? 
��H
����4/�ǵ�v�]8�����"�~6rɮ�
�G&}���"�n`�i�MD8����q�YƊ�ʋ.���e�#:�=�ϞPR��R�
Z�\����j�T���h p�c
-
�e�
-
����P��Á�2�09
멎$�Ȉ�N��V�td{�~A	(R�@�j��~��V����=��ĕ)�Z�
�����ö����n at aω��

�d3p�ؕ���<y������V�g�cRG�%I
�Z��$�M}yrQ���P�v��+8/bę�y�2�?[�H�J��x!���/��
/
;�o����_ۡL�4;�o���f��*������oޛ{����ao�]a��*�@zv�"����ؤ`!��  ��N��n���"/A�Q��k��`*X� �Bq�x���L�Ηb��i. VJ����dQ��pɚ�iJt���Ӕ�v����v���o�Yg[f-������i��!���rie˴
��L�m�]'�[}�me��ǹ�`��|Q�zo;�es��xq��@'p�KcCk�=�E��J�o�3yk���\

���x\4WZ���e`�}u�ufu�
�o�;����1� �)� 
��֗rz7��~��D���MLuv�U��p8���G��Y</P\
��d��ޖ�@8��@V�w
���W(L�aqm�
ZO_
-endstream
-endobj
-2111 0 obj <<
-/Type /Page
-/Contents 2112 0 R
-/Resources 2110 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2058 0 R 2081 0 R 2082 0 R 2083 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2118 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2119 0 R 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2109 0 R ]
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 684.556 319.317 695.087]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-2081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 645.6 192.286 656.504]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) >>
->> endobj
-2082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 607.017 179.554 617.921]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 607.017 272.803 617.921]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) >>
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 556.48 220.24 567.384]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) >>
->> endobj
-2085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.631 541.995 462.977 551.9]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 505.942 230.203 516.846]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) >>
->> endobj
-2087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.631 491.457 462.977 501.362]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 455.404 270.891 466.308]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) >>
->> endobj
-2089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.753 455.404 394.576 466.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.902 430.382 194.248 439.866]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.86 393.908 280.599 404.811]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [492.089 393.908 513.996 404.811]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 382.326 139.135 392.856]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.902 356.93 194.248 366.414]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 320.456 270.143 331.36]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.005 320.456 411.562 331.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.902 295.433 194.248 304.917]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.361 258.959 280.551 269.863]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 258.959 513.996 269.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 247.004 161.84 257.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.902 221.982 194.248 231.465]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.496 185.507 295.736 196.411]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aa6a2ae8d135b40f8bee030f76d52659c) >>
->> endobj
-2101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.005 185.507 435.562 196.411]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.018 173.552 200.575 184.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.503 148.53 209.849 158.013]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.603 112.055 307.806 122.959]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aaeffe6c0f315667496085d5673d2a14c) >>
->> endobj
-2105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.744 100.1 196.301 111.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.952 100.1 356.509 111.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.503 75.078 209.849 84.562]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2113 0 obj <<
-/D [2111 0 R /XYZ 89 770.89 null]
->> endobj
-2114 0 obj <<
-/D [2111 0 R /XYZ 90 703.14 null]
->> endobj
-2115 0 obj <<
-/D [2111 0 R /XYZ 90 664.557 null]
->> endobj
-2116 0 obj <<
-/D [2111 0 R /XYZ 90 625.975 null]
->> endobj
-2110 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F97 1185 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2166 0 obj <<
-/Length 1575      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��J3
�x�N�$������N�CIP�1E*$eG��]�HI�+���щ$,v߷� ��v^���[�/$vR�
-�?vv$S�
x97m�H�K0��^��v�L�ס�
��[=J��d�ɢӥ
�/��Ng�P��+=�I�xm
�&"���Rv��_���[[����r$=g8mݼ���_;��s
�NS�Q��s����

�]s˸�YF�@��
�$�[��Q�sm�q� ����
�
-^�3=��A�̀� ��G%b�+;�f{�H�{r)i1���z�w��� ���KV�})�2��)X9]B�*M�qX�d<�|(\|������e:�N� �đ��4�{W+>(���
�(�jZ�wg�Tg𖬌�<(�M	�r�3D�
*r�*���0�#ռ�6*mL\tT�
e��$�`o����S���#{?(���x �ӻ�m	����b����[
��ƻ��yz�����kʵQ��V W[RJ�`�
1�N(��ԧ����q��_mӎ~�f|\T�B4�ڧ�p�
-Y�ڌ.pmn����Bi�k�̝��s>�m�Ƕo��Pr!�`a�V�`�(�\-�F5P
r,�*�D��H�8� ��� L�!	�;��?�G�
__��=�K
�$��I��t��i�0���l�u�O��硂{����J�$���<X�<�e?VO

��;��
}�HZ3�{r���9�=S)��dܚL�_��4�e�\����аd��`a�+Ll�K'^~/�^^�U������h�G�0�M��1����3�WlQZͼ����g���ٕ�R��D
ȃ�Qc3m�>urI�
��Z���������ik-O�8�b�p^�[i����VmA�
-GRX:]W!װ��v��qy�w=�\��U���p<�(��I��A���Y\Xwqx�� j_�������;�/]�Io�&ϣ`j��� �6 DR��Ա~R�x�^��% ̈́�{	�$�C�+��o����.K%��o�<�7�\�JŊ 
r�@��������1Z��0L9�d��8
B�Pd��E��F'Q���*��v]A��e��'m��
.]
Zӛ���M�\z4��^��.�¤��8�T
�s�������
�P�V2�
�
�.������Vw�mov��ܵb�'���
�a��l�Ͷ\�}��a���}�
$�B�~�\HB��J|��3�w������O���,�Z�Q��
-��\���6���3{
��m���Y�L��G�G�� ���6L�lYw�F冀]��$��m�6W������n���F�ҏ�M����Q�Ba�4%R�$�G��e"�t�����#
�W�uK��E�붖	P-r�8o>�^��b������^��y6Ȃ^���ֳ=)#��S�}�h�$��'���~������(��m�g
 �9���0�{��[��Y0H��g
\��*��ڽ�P/��c��}\���T'�t8o�E����m�����*�L�2��N��]벴���9�����5}�	yx��Ͳٓ��4L�<��4��g��|3֤(��B�qRzqR�?���FSo�u��F?¼
-endstream
-endobj
-2165 0 obj <<
-/Type /Page
-/Contents 2166 0 R
-/Resources 2164 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2108 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2136 0 R 2137 0 R 2138 0 R 2172 0 R 2139 0 R 2140 0 R 2141 0 R 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2151 0 R 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2163 0 R ]
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 682.547 218.029 693.451]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a83e1eb0462a99f105974ae38c55e5382) >>
->> endobj
-2128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.675 667.423 228.857 677.328]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) >>
->> endobj
-2129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.266 667.423 454.611 677.328]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 630.731 227.991 641.635]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_abe0911e6125f86a771adc88932d96fc4) >>
->> endobj
-2131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.719 615.607 238.867 625.512]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) >>
->> endobj
-2132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.953 605.07 208.298 614.553]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 567.956 268.679 578.86]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_afd604dc4c87ae10e8c41bceaf9eed8c3) >>
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.541 567.956 392.364 578.86]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.675 552.832 273.385 562.737]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) >>
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.793 552.832 499.138 562.737]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.147 516.14 278.674 527.044]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351abd09) >>
->> endobj
-2138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [492.089 516.14 513.996 527.044]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 504.559 139.135 515.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.622 489.061 282.298 498.966]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) >>
->> endobj
-2140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.103 478.102 233.449 488.007]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 441.41 267.931 452.314]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a079a46ea302194faf75833bf0f1beb6b) >>
->> endobj
-2142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.794 441.41 423.736 452.314]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-2143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.675 426.286 273.393 436.191]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) >>
->> endobj
-2144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.802 426.286 499.147 436.191]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.148 389.594 281.127 400.498]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a68ba0ee40d5b2fe4d512a046e19025d3) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 377.639 187.853 388.543]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.622 362.515 282.306 372.42]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.103 351.556 233.449 361.461]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.771 276.801 350.579 287.814]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.813 241.68 358.62 252.693]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 218.514 202.902 229.528]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 207.303 202.902 218.317]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 196.093 202.902 207.107]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 184.882 202.902 195.896]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 122.127 272.333 132.313]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 122.127 448.778 132.313]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 87.006 272.333 97.192]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 87.006 448.778 97.192]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2167 0 obj <<
-/D [2165 0 R /XYZ 89 770.89 null]
->> endobj
-2168 0 obj <<
-/D [2165 0 R /XYZ 90 714.099 null]
->> endobj
-2169 0 obj <<
-/D [2165 0 R /XYZ 90 662.283 null]
->> endobj
-2170 0 obj <<
-/D [2165 0 R /XYZ 90 599.508 null]
->> endobj
-2171 0 obj <<
-/D [2165 0 R /XYZ 90 547.692 null]
->> endobj
-2173 0 obj <<
-/D [2165 0 R /XYZ 90 472.962 null]
->> endobj
-2174 0 obj <<
-/D [2165 0 R /XYZ 90 421.146 null]
->> endobj
-2175 0 obj <<
-/D [2165 0 R /XYZ 90 304.086 null]
->> endobj
-2176 0 obj <<
-/D [2165 0 R /XYZ 90 269.204 null]
->> endobj
-2177 0 obj <<
-/D [2165 0 R /XYZ 90 234.083 null]
->> endobj
-2178 0 obj <<
-/D [2165 0 R /XYZ 90 222.499 null]
->> endobj
-2179 0 obj <<
-/D [2165 0 R /XYZ 90 211.289 null]
->> endobj
-2180 0 obj <<
-/D [2165 0 R /XYZ 90 200.078 null]
->> endobj
-2181 0 obj <<
-/D [2165 0 R /XYZ 90 148.694 null]
->> endobj
-2182 0 obj <<
-/D [2165 0 R /XYZ 90 113.439 null]
->> endobj
-2164 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2196 0 obj <<
-/Length 1496      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�H��_��
He���
X��riZ�M�\�tj+��ۘ�
p����e�פ��.R�	0;3ϼ<3c[��^w~t_Il(TX��V�-��<����O�7�'|DB��g��Ip��uN��
��E�<GҷF�·O���o,����n�C3�Q�S��GWPp-H�H$@B�1 >R�K�X)#Q 1�2>b¯�j�N�Bi��W��:G%b,��jN,i�����]��p�
�rl���0���t��� �je�5����r$$����ɓ8���aﳑ� ,$� Q�.y�1�Ȯ��\�^
)�|4^��a?,"�r��C���g��x�F_
�m5^	����Z���b��' f�>(�w�E"�HS��Mc
�s�5�>8����t�0
���z�D�N�y����q��JI\%�t�-���;l�5��� T!Y8~�9ķP(&�P}���M�9
-p#�s<J�X&��mE��;Z��!������I�~*��=���^�/&a�A-@�=9�	T7����{�?�OU���#̟���"*���=����?x�e�3�d�=-��X��.
��VЋ�y��
��g���"����ʊ��
�=���A!p�gtgߐ
���m�`�dm#��X-[�M��f�q�r�� 5�v�7��&�x�66!�y��Q
��Y�<��[�$N^���$/2ΜR� �Z �|aA����Tq��ť *80��ֆ��@�qS-�G�QT�,�>'���!�ߪ"�?�C�u ����ַ�Х"�����i� 
,�.��DB�
�A
-p��1N�����?�5�
bk
-N�p�JA}`������T����Hy0���Hxl�d%�'$���
 �1X@�1��P;�"]���@З ;�b
3!r
�S}{�5�&Y�S�
��WlS��[�h�X)��i�@�O�3��C��j7��*��I<T:�����M�Q2�-ԀC���T� 	����*�G&}iŅ�rY$�
-�TyU��H��d����ըxX��T�
1�ʪ�
-A�u
yy��"R�K����XZ�'.w!\�L�*Tqe��4�����<Dy��A�h\��],&�	�U�4
)�a��z�E�.1
�V�O��LorMh�d�&��'��ؤ�
�+>���`(�f���f������D��pxj��v/T>���i��+_F1
-`�w��
-u{7(���%g`��Z((
Zq�x�?�xwt����G�h��
�f*��k*�(�gWu�e�U~�hu
,Ar+�.����ջ^����������G��jx��^����h�
-��KT�=lmk�����済�y�G?�1����x�>��§�,���O*��w�y��X�j����b�^AH�$(���iXk��9-7�s
<ͪ걦�y<m�����~q8���.��J彞�&Y�#X��
��q=`索��q�U߽�M��A�y�ٱ&E�vonn�(G�8J3�i:=\�IK
,ʲQ���Y�5���^��� _�*
-endstream
-endobj
-2195 0 obj <<
-/Type /Page
-/Contents 2196 0 R
-/Resources 2194 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R ]
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 696.719 272.333 706.906]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 696.719 448.778 706.906]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 661.119 272.333 671.305]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 661.119 448.778 671.305]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 625.518 272.333 635.705]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 625.518 448.778 635.705]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.772 589.918 272.333 600.104]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.217 589.918 448.778 600.104]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.484 509.935 272.045 520.839]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.209 509.935 439.139 520.839]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a9bfba21dd2d808e2eabd2348e92cb96a) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.183 447.7 269.744 458.604]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.225 447.7 419.615 458.604]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3504c6384a7e40501e2cfc49ba870ad5) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 351.563 182.234 362.467]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.892 351.563 358.581 362.467]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2197 0 obj <<
-/D [2195 0 R /XYZ 89 770.89 null]
->> endobj
-2198 0 obj <<
-/D [2195 0 R /XYZ 90 721.073 null]
->> endobj
-2199 0 obj <<
-/D [2195 0 R /XYZ 90 688.032 null]
->> endobj
-2200 0 obj <<
-/D [2195 0 R /XYZ 90 652.431 null]
->> endobj
-2201 0 obj <<
-/D [2195 0 R /XYZ 90 616.831 null]
->> endobj
-2202 0 obj <<
-/D [2195 0 R /XYZ 90 537.699 null]
->> endobj
-2203 0 obj <<
-/D [2195 0 R /XYZ 90 477.487 null]
->> endobj
-2204 0 obj <<
-/D [2195 0 R /XYZ 90 371.999 null]
->> endobj
-2205 0 obj <<
-/D [2195 0 R /XYZ 90 309.489 null]
->> endobj
-2206 0 obj <<
-/D [2195 0 R /XYZ 90 246.84 null]
->> endobj
-1957 0 obj <<
-/D [2195 0 R /XYZ 90 221.967 null]
->> endobj
-2207 0 obj <<
-/D [2195 0 R /XYZ 90 221.967 null]
->> endobj
-1958 0 obj <<
-/D [2195 0 R /XYZ 107.713 140.343 null]
->> endobj
-1959 0 obj <<
-/D [2195 0 R /XYZ 107.713 122.94 null]
->> endobj
-1960 0 obj <<
-/D [2195 0 R /XYZ 107.713 105.537 null]
->> endobj
-1961 0 obj <<
-/D [2195 0 R /XYZ 107.713 88.134 null]
->> endobj
-1962 0 obj <<
-/D [2195 0 R /XYZ 90 77.486 null]
->> endobj
-2194 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F79 502 0 R /F23 364 0 R /F100 1387 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2212 0 obj <<
-/Length 1420      
-/Filter /FlateDecode
->>
-stream
-x��X[s�8~���0�e	��e[�u7uS���N��`[N�b�n��~�,	i���l��c!���������o�����F�B�������!�
<-��f���'c��"،�u<��llf��-�xv���8�Y}�bs
�Y��L>N؊�	L�����5���:}ۋ���=0�A�X���X�{��bc	�o
��00���
�v�?5�{z��!��� ���H0�]KhG蜝MX�M�ل�q�d|�YK5���g�]a�JI��������pj at m f�I�0���&���������j�(��f�b�I6?,��q�e�|. s�c[O���$��ZB���JL�x�w��]�
X�-���Sd�
P��6Q at 8cKIa�+d�b��71O�s�Tq���
-E����i'|�N��_���]̟���#y8���	��jÜ�%D�Ґ���G�{�8+�L�?s�nr}�;e�3����d��0Hï�����&���BM�<M;�jוD[���Q����W�B���h&��Q~F'T�phk�M�~���T���]��l�)w�G�c�G�i�t4�
����T$���.������y
+��5Ւ��;=b��K�����n�t��r��:��!�?DB�
 H�N���/�u���<�H�yqL#�[K#ǣO��S+
�����S�W�x4��\�w�Cǧ������YվCG�i)�|�	��M�׍r�h�
-C
���)^�{�yY(
�x
�q49�(5��\�㟞1���)@CjE@�����ξԅ����K&1<)�N�L��;^��r�ز�h|Z8����	?��������0zә)��}?�6�WU

ĸ��pS5iz=�;���{���>
��d�)[���=�g��c�R��I����|2�����d�M�q��
-�V�JGf���Rh��	�-�V��
'!6
-m�9��@ġ�������l�"/�k
�з]�ׯL���g��<%� l� ���X:?A�á�j
����s}���)���6l��޾�v
*7��r��q��!��E�WQ
�JȈ�s�bWW��<H0T�~�.�#�v�'Ĭ@�����r���	���ua"�g�R�LX&eŒ����+1�o��&
�
��|a�i��&?�;���6;��N*=�-b�
-��6.��ժ��W�*��T
e�8�5_�|)���M����ػ8���$��
o�TO�

 "o!

*.,g��.��M����n
-�F��0�V9ժ4˾ɑ�3x��� Y����%ڷ��gsN����F��`������pH��}3M\	-�P�:�c�N�c�����K��9
��Qs9���!�N�׌)���7C����v
/	|��*Po�rs6��ݡE��_��()�M:��k�H'�&U�;�H����
�I
-endstream
-endobj
-2211 0 obj <<
-/Type /Page
-/Contents 2212 0 R
-/Resources 2210 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2209 0 R ]
->> endobj
-2209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2213 0 obj <<
-/D [2211 0 R /XYZ 89 770.89 null]
->> endobj
-2214 0 obj <<
-/D [2211 0 R /XYZ 90 721.073 null]
->> endobj
-1963 0 obj <<
-/D [2211 0 R /XYZ 107.713 646.044 null]
->> endobj
-1964 0 obj <<
-/D [2211 0 R /XYZ 107.713 629.3 null]
->> endobj
-1965 0 obj <<
-/D [2211 0 R /XYZ 107.713 612.556 null]
->> endobj
-1966 0 obj <<
-/D [2211 0 R /XYZ 107.713 595.813 null]
->> endobj
-1967 0 obj <<
-/D [2211 0 R /XYZ 107.713 579.069 null]
->> endobj
-1968 0 obj <<
-/D [2211 0 R /XYZ 107.713 562.325 null]
->> endobj
-1969 0 obj <<
-/D [2211 0 R /XYZ 107.713 545.581 null]
->> endobj
-1970 0 obj <<
-/D [2211 0 R /XYZ 107.713 528.837 null]
->> endobj
-2019 0 obj <<
-/D [2211 0 R /XYZ 90 517.907 null]
->> endobj
-2215 0 obj <<
-/D [2211 0 R /XYZ 90 501.529 null]
->> endobj
-2020 0 obj <<
-/D [2211 0 R /XYZ 107.713 420.995 null]
->> endobj
-2021 0 obj <<
-/D [2211 0 R /XYZ 107.713 404.251 null]
->> endobj
-2022 0 obj <<
-/D [2211 0 R /XYZ 107.713 387.507 null]
->> endobj
-2023 0 obj <<
-/D [2211 0 R /XYZ 107.713 370.763 null]
->> endobj
-2024 0 obj <<
-/D [2211 0 R /XYZ 107.713 354.02 null]
->> endobj
-2025 0 obj <<
-/D [2211 0 R /XYZ 107.713 337.276 null]
->> endobj
-2026 0 obj <<
-/D [2211 0 R /XYZ 107.713 320.532 null]
->> endobj
-2027 0 obj <<
-/D [2211 0 R /XYZ 107.713 303.788 null]
->> endobj
-2028 0 obj <<
-/D [2211 0 R /XYZ 107.713 287.045 null]
->> endobj
-2029 0 obj <<
-/D [2211 0 R /XYZ 107.713 270.301 null]
->> endobj
-2030 0 obj <<
-/D [2211 0 R /XYZ 107.713 253.557 null]
->> endobj
-2031 0 obj <<
-/D [2211 0 R /XYZ 107.713 236.813 null]
->> endobj
-2032 0 obj <<
-/D [2211 0 R /XYZ 107.713 220.069 null]
->> endobj
-2216 0 obj <<
-/D [2211 0 R /XYZ 90 201.534 null]
->> endobj
-2033 0 obj <<
-/D [2211 0 R /XYZ 90 178.861 null]
->> endobj
-2217 0 obj <<
-/D [2211 0 R /XYZ 90 178.861 null]
->> endobj
-2034 0 obj <<
-/D [2211 0 R /XYZ 90 77.486 null]
->> endobj
-2210 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2223 0 obj <<
-/Length 1822      
-/Filter /FlateDecode
->>
-stream
-xڵX[o�6~����&5C�`�iѮ����e�!�tLT�TJJ���
^-9J��C"�&��;�9v�
켝�ZLN���IQy���8)v� Ea��s�&xz�x��Q�H�&9��Ϗ����
���l1�6!�v���8q����
-;k�~�`䧉s+����Y8�O��*� Bԙ)"�G�tF0��͔`�b���
�;����|��|q��k�-?�����iC�%��ĭ�r����f�nŗ��%�
b�#¤�7=M�4�cc�%+
V�+�4�z+gf�, (�}�Ⴖ�:��R��f�E�p���^�TfG�
�:g���Y޲���WYC�O����*k�u�J-��v+���[�Q�U��s����4
-]$1���Q�ʨŖɝ�5Ϛ�M�wJ�f][���<+@��j����,+؏L�>kَ���'��kU	XlDo�R�9<��tmN�Js�HX*<�k
��o'Υ��Ӧ�8]��7��A�Bm�wi�҇�Ū��mf�N�v6���aU�(}��`]#����\�����C�D��L��u�)��!�8�}�Df�Q���
-����n<��
��X�C�h�o�'��Z����rX%2(J�(58��
�`$��F��|����2�0_Ҝ6
�_
�j/�� IG��
=�4�h= �]c���)	]}�`�0�G
!�ۤǮy�
�Oz���C��0�N
-���N
-���|���2������

���1Jp�$��K4�����
��qioc e�O�	 ](��.�vu�*h�?5r�lj`]�(���,�ѐ�?Ӷ�"�~��X<RA�r(sEL􏔿������S�?S9��
ǾK�rEʈqOJ2"EX>�3;�ߣ���Rn
�8�тAhWf��7��3Vd��>�����s�LV.�Y���
R�5:6캄$Ұ�+�
JH`�^��
�4!f�C�g%��$Z�R��(�C���Tg<�QE��&K3
�[�S�(c/�QD�^���V\�'
-B�	Y��\Ӳڱr���C�v *���]��� ��GA�p�s+�şv���T��A|

���Wt�z���O���ی�'^���o�ybZHS)�/�΄ <0r"`��#�}\,�_�5r0�#	l��Bw��3P
�ۃT�ȱHăH�Z{�S ~�����^�L5:���Zi�ߺ1L]��XD8��TӮOOY9
�T����C]�2�.)�ec�� �[Ctc�	<(�Qs�if#�s_t���K~
c�
I"�
$�gا�HSoKw5D^WS�
��
-|k�o#�(���]MK 
G���l1&(ϳ2�	�R�UUZ౪ ~���Y�Ъ/�/t��b�>
ֳ�
-!Օo���(B$؇rpL���Ie�<�L���d
��b�XC5��-t�m2
)�]
x��~#�Q�
�}=pƶ�T����9mʌ����r��d_�
b�����o����#̀Q�ya1M=� ��#(�{6[�>D
^
-e�����0Q=���
5]]W\�=1\�Eҵ�E~SP3��b��֢�5�GH�Lb�
"�]/%zy&����t�$	��W�>B�
-'t)
��W9��nO 9�a�<�v��z]ܿ����(��}���\�`J�^Vt�:R&�
�H��]�QTU-ހ�U�w����	u+��̻�c�̇x-̉���L� wLJ���\\�Js3�̽�sU�پ�\�7��ZԜ
v�Q0��y�S?
-ʏ���H\��V��Г��i�
�N�ꡡ^5���_���u��6�<+m+$@�8��{��O����_P�-U�}u���=����v�۶�OONnooQޠ�d5G�=����>�zRH�b+ĶH��7{�A�A����z
-endstream
-endobj
-2222 0 obj <<
-/Type /Page
-/Contents 2223 0 R
-/Resources 2221 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2078 0 R
-/Annots [ 2208 0 R 2227 0 R 2218 0 R 2219 0 R 2220 0 R ]
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.893 648.359 513.996 659.263]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 636.404 155.753 647.308]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.473 544.905 424.869 555.809]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.838 182.233 463.556 193.137]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2224 0 obj <<
-/D [2222 0 R /XYZ 89 770.89 null]
->> endobj
-2225 0 obj <<
-/D [2222 0 R /XYZ 90 721.073 null]
->> endobj
-2035 0 obj <<
-/D [2222 0 R /XYZ 267.991 639.557 null]
->> endobj
-2228 0 obj <<
-/D [2222 0 R /XYZ 90 623.123 null]
->> endobj
-2079 0 obj <<
-/D [2222 0 R /XYZ 484.685 536.103 null]
->> endobj
-2229 0 obj <<
-/D [2222 0 R /XYZ 90 519.669 null]
->> endobj
-2080 0 obj <<
-/D [2222 0 R /XYZ 199.727 432.648 null]
->> endobj
-2230 0 obj <<
-/D [2222 0 R /XYZ 90 418.272 null]
->> endobj
-2120 0 obj <<
-/D [2222 0 R /XYZ 90 269.06 null]
->> endobj
-2231 0 obj <<
-/D [2222 0 R /XYZ 90 254.783 null]
->> endobj
-2221 0 obj <<
-/Font << /F70 398 0 R /F104 2226 0 R /F56 363 0 R /F79 502 0 R /F100 1387 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2237 0 obj <<
-/Length 2369      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~ϯ��Vj�QsZ��M���/�s`�6�ǖ���i��wx�(YNrN[��KLʣ�p8���spt��۳�n�ο8�H�4�n6�đH$�)���m,��	�8��
��._\�(����Z����bY���lN9��w���+e�o�F�3�Ūԏ��Ygd������o��}F�

�,G"�V����8Z���#��̢#����s]��|��p��;!L"!Y$A��ݼ�����k���W�;J�
�0¿jI`Q��`��(�I�PJ���
��)™��i	�IP""
-��y�IE|�?R�!���p�*P�؄5�#�9��xJ 	z����sW���֍�3];U6EU6VU�
sD8�
ē{��/ظ3���� .�J�At
��G�������Q�)��C�9a�3���#��gNP"�3��|Dp���W;}���G������O~t`4�4��m�\�L�h ��a�@9�ƙ�Cj�z�W��J��C���1k;�όr��bF�|�U�}Z�}�U�v�ޫPz{0r\��f$�����V[���W����:������K����Z��
���0�u�j	�T
�v��Ei[K���>ZV��Y��=s�a���i�n���
P� T<�|a|`�Ɖ���[p;^�4ߴPv��.�S4��A�'�T�yC�K�oU{��c��4
�
	,��
a�B��j"� 3yڅX�e�y�y��\m
�a�;�}m�[>:d,O	�,�J��j�]y� EhY�j�h���j�L��iH���M�m�v�4`����1h�Awk�}R���\mMa#
�`�	�AJ�drx��UZ�A���,�6�^��rhh$ώ�E1pN�2ҡ׾�1�U�h�Ll3C���>��8���u�4Vm�F�Z;��
��"6����ޱ�
�r<����K�r�U)�֤�S���첮֙RB�
�6IPFi&M
n�Z�u��?��r<�t�p��h�9��.n�[|��3�i��PWG��"��kn[��o5
W
�s�?'�

sg��^��k�M��o�T$�R�ńNb;_'����S�t~q�]5z�smqy��.4��$`� 4�a�!�tRjO������JSD&����I��m$zŤ��s�~�r#*����>��v��k?��NB��0o�r[���D�ͩ��$(	�+�X����q�_{~3�`坏l�;HN�Q�v��qW���SP�\:,]2\�����(Y���X֪,>�z��O���H�������~uy�/��;��������
-��mk
s�a��F!�9
ư,���(��(�����4�������Gγx_e�a�̚�~_զ@���	����Տ�I�^��R�5b{�c8�,3�"g
}��_/L׹6C�Pp�0�Km��a�e����A<q������-�H�S'���&~	%Vכ��z�7(&��/Zl��1��1�IN����MUi�0�Q���RO��
���[^���ѹH��(̇ ٵ�:��Q��%�o�e��ƥ
-�!�>B� X��M4�E�.V]G[;�|��V�4S�����/j.�	���tpuy���%9�1�
� ��� �H��S( Ʋ ��  [��%�a�1�G6U��'\#,Nb�y
8E�t"h
�0 �������
-\}ݽz:6�q�*�����
�+�ʀ��3�)G<�������*��	����
M��%ɀ4o�P�����
-�*��'B���=�s�?�(�D(�����w��C"�����xO��c{�Q�P�
v>0�5�;�wRuG}�#ʗ��/��K�R²M�)4_��(8Ly�0k[���MSܕ���*�t]8��6{�_�T�� ��t1�G1.MĘr���u�K6�Oe�1M�����-�P��ڬ�M�&R�d 8�~:��^)�����d�B���Ȓ��a
-K���'�����V��
j}11-#t��_	������ss9\����ugB��
z�����x
-���G+�1�4�R�<��0��w1��әi}
�r����<f�A�<�L3D��&��`h�i��9f�*�b�h���7JԢ��pgZl���ؗ�vCUÅ��<�b~/f4�"��d��<��L�`I��*U��U��vHv�Sd�Ôjp�|����Cǣ�z��fi6�i�v�j=�}7*�����9�N������0�ݣiZ�0
�^�dc=�

�
�=�mT�����S���u��㈧�~�
��0�/�"O~���ܤ���\����K�Ҩ��4k�.��o�Xǻ�NM�s��	�:�
�p�<�kw�!�l���K2��Ն���_��?<<�U�e��Qў����c6(�B$�^��w��)�Rw�& ����G�?
-endstream
-endobj
-2236 0 obj <<
-/Type /Page
-/Contents 2237 0 R
-/Resources 2235 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2232 0 R 2233 0 R 2234 0 R ]
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.838 496.161 463.556 507.065]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.949 74.891 162.667 85.237]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2238 0 obj <<
-/D [2236 0 R /XYZ 89 770.89 null]
->> endobj
-2121 0 obj <<
-/D [2236 0 R /XYZ 90 582.912 null]
->> endobj
-2239 0 obj <<
-/D [2236 0 R /XYZ 90 568.711 null]
->> endobj
-2122 0 obj <<
-/D [2236 0 R /XYZ 90 184.994 null]
->> endobj
-2240 0 obj <<
-/D [2236 0 R /XYZ 90 170.793 null]
->> endobj
-2235 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F13 578 0 R /F7 538 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F72 400 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2246 0 obj <<
-/Length 2669      
-/Filter /FlateDecode
->>
-stream
-x��Zms۸��_�O�4�x%���L��K�zIݳ;�����ds"�:�:���w�F���t���C" \,�ž<�5��2��:������3�TN��j�)�I��ȡ�ʮg����6cy���a�
��_�\�|sui����:���'�7_ Yd����;��`��
#����m3N�n�˳��a�|rK�B�L�(VnWsEgz�۔��/����9���-���mg76e}�
�1cR 	
��?���˫���o��aU�� �?�s"f���l�Tu������n״�^��'��k\\|FJ?e�6�ݏ�Jwj�
ȃ�[`�9
��Vu��~֫�eSw}[�m���?⦏N��p?E!���-<��7+49��

��J`@��
�
����>$v�0#�����<���;�Oն���
Yi�ƭ�/��l�֍4k?��l�fgZb�p�t~��
���
T]`7,Q������
7vV�qNȥZX�� p9xy�1�lT��W�2t��+t��4��j������
���Hb���V(/�:��TL�JHl[�IE�ON[�r�$+
�R<c('~��kdD��E�pQ8�s�e8�2��s4/�
���s�~^���f�Dc��|�
�S'L@"|��"Kt�8�6u�[ݮ\��XU[]w��cUĺ�"p�x����U1h�G
�o\�����1>ފi
$)�m��Xw�Y�T����~���#�YĕxB7"�_��X7��N_}D�~��������}Q��D���)�I������k�q�)+�ȕ<�k�r<�׻$�r����dpj0��]�;]���]q��읿S�G�/Z�ц�Q&��� Ը�a�h�[�n�
}�4� v����A�t
��
��v�n'0�
�6��9�g��1
�^yA

-��2��d �
,��=@��8�t!
��\�-
w�iD���UE��Eo����)��0���u
-�HĈ
D}��	�"�"[�� �~��zeD]�����6R�=�c��ka�_oƦ9�q��(�V J3+FV����W�zTҒ F4
��^6+
�j���wv���j_�z��
�ۤp�����^Y8�
n�h���#k����$�Y���,�g��A�ZC+��3�1Dz
�!�̡!�'��-WH��mB�L"�|p^4? ��إ'<
���G�ʯ6r�p5�?�4���T��``P��A�P
QT���8��ߧ�
���
U��G
m���UJz־"�TH<��UBmsD@(�s�	K�n�'��4��*��<�Z8#�	
q�
-Ld��I(a
a��;����|�l�`��
-A���L�&�s%���S��!X/��ˮ����
7n����`dN52͏8
A�I�_ı|
-��ρ~���9��F|<�C����?�
&�T7!&�O|o���Pwӹt��%����(�tKeB�}l�|�97�F/_���cB��}DLÓ;�� ���a��d�b�Q��'tX
W�.7]�p�!���t�j��w�l̇�
-�i���誐ǪJ!^����ٽ�����s��5

$Pq,
��H89��`��v��
tg��8f���}ٖK^�s@�
ҙ�k�D�wp0"@�8 ��{eJ�B�8	�ຘY�@��,�Bw9�#gO��
\�ѝ�8������(���"�z�gFm�d�XNp$o���#�E~�1���52��б��B1��3��>ߘ�|��.�_"���w�.�f�R
�)K�<L�C��q��x|�4�Х��ͅ�y5��{�j˛�۶l�?0zS�
~�� �f�u�R2���ݼ����yE,���Fӥ���oB@
m���0���
kf�M�����>@�ZP5�#�z4���HQ1Z�=�+�Դ���J׺-{�,<q�\�#�p=�!��:ĭ��% �H�\5�����T�~���r/nUI
���F�Jƽ5����Z��12a{�a{聧
J?TmC��:ԭ{�2���Y��.��M�����]]����7.i.R���V��{JM]�����_�e�֢��~}�O�ߍ3Y�ODo�
e0>(��_�	��ń�{9u��?DTW`&X�7�I]����&�
�9�g���0%doR�"L bSZf�bl��|�THq٣�σ�;3O.kH��J�$�t��
y؏F�,���C
��8�p*i�_V�8������-s�?&s��E����
���Ta
�O��b�ԝ)/Jj����B��Fr�"')]�1�<�	
ɓ�@P$�" 3-�J1A��}HtK%���	�({��y�_
-�_
-��\�$_�Ư��i^s97
ҹo�?�~ZQ哋#�����gg�������
-��P�L�)eϘ�����U\��{�0S����IE
r1�P�����X1�q��������<Tx���B�8*��q��*\�R�lט�_b�]�:�'���C��ph���֞�|
-EG<�$K]�RiLHD��&F�������HT�R��
��<�����<����'rk]��}�o�`���#�v�%��6 �
�b5�+�
�+���+��{����A
<Hx]��r���꓾�/V�@��y�z|r����
�}ZqY�hӅD
�����=??xx@���jע�?��6��3�B8:�}Y϶M�?Um��&p�.�_�RN
-endstream
-endobj
-2245 0 obj <<
-/Type /Page
-/Contents 2246 0 R
-/Resources 2244 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2242 0 R 2243 0 R ]
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.949 319.867 162.667 330.213]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2247 0 obj <<
-/D [2245 0 R /XYZ 89 770.89 null]
->> endobj
-2123 0 obj <<
-/D [2245 0 R /XYZ 90 430.225 null]
->> endobj
-2248 0 obj <<
-/D [2245 0 R /XYZ 90 415.769 null]
->> endobj
-2244 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F13 578 0 R /F7 538 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F1 577 0 R /F79 502 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2254 0 obj <<
-/Length 2965      
-/Filter /FlateDecode
->>
-stream
-x��]�����~��Z
-���'ɵ�I�H�µ�(P�8�$�EX"R����wf?�]i��8 y�v��ٝ��
����}w�����˂�4�9�g�73Mg��D�0[��e���9��f��fU���^�9ͺ���^����u_���s�h��jS�jQ���������X�K��b�����o/�~<cp
:cv[E�r�؜��@gKX�~F����� mf�
�_�ޞ���:
-�QJJM(���I©��8����1�]�j4�$�~�T	�fs�z�R��������wU�
��/�`������0�#P3�υ�Y_�n��^>�iI���?���04���߶kڝ
v7��]�ͦn��sGe,<��@:��p e�j�Ͽ���:c	z�&\�
d�[6�Gw��
�=U��v���\PM�*���h��7��nr"Ɓ�zѼ���Kx��Ȫ�9W�������
'7��b���Y�۷ �]Yw�֎�k��l�������1Y�]�
�,̅�*0
��1v���l|��=��S�;9��D�G��A��%RK
G��Ar���n��P�>�1u�b�h�
@)���9���I+�]��zxPNJ�=-e	r'\� �K�Ort�C����~@?%P)����Hls€)�
H_�Ҕ�0-���"L��-_��̋#8�Z�`R�FZ$p>ǿ����]<r�$L�h�6�84�e�c�;�w��g��
uu���n� Ve��&��B(�_k��M�A�����
u�53f���p��*R�����qHp� EУAk_
�
^

Mx��u9j�#��1|a ��(E`*h�
-�h�͔uƃ��{f�G��`��>ϙ����<W�s���?/H>��D ���Z��
���{�9o�r�0��]0�jq�{�Ό����~j6��xExv}��/��bD�
�ݱ�GF-k�f�
r�l�Ŧia�����U�T�!E�D	�O��<=���%��a�g�.ַCpU�J8xc"K
K�?:���'�~.)^��7<<�b�ɐ9W�5����sm
����e��`D���U7�<�Ct�ldڶ��"�? �̃���Ћ|
�����+��ǁ5=7 �vn��I����c��}`�ͮ5vEQCP��y_�
����
�,~��N죾�����lD�&���釂�
,
�F��6hL0W���,�5|��
�v�{/�vJ�G�
��Ձ��#[!0�� �R���1� �å
�z�]��A���/�

-	�x��m�B��1��^���2m��r̿%p�U/'[����Y:����ϫ���W�V�xTQ�X�\dy�����[��b�
�n� L

�����utZ�F�f-�	"��Q �y���GD`&���ѝJ�!RN��:���$2��a)�@�
-�CH��]Ӯ�����s�M!��g�G
�张�B���7Gw�n�#D�
D�0�
��Z�h��l@�шZK
-�Í�Gf ��[ڷ���ګzh�~i'V�`�B��T�p��m���P̝��.�~����ѹw߼z�?F?D��=��N4��h����>��פ�z�«ޱ$��Ȏ����J�6�E6��v��z��qz�
�q���~�r���j��0A'RtQ�4�Ks�6�!�+�y}��@E��7�E.X�=�p�
@9r^ H ��p�c�?�u�F��5�8��yJY5�a	��U���scR��) �e��W� �n�
�]��.����-��.���轧��w�۸U� 
X���Dp�^w
��{~���	�����g9�>�>S�\��5�((Hc��Qq��
-��<��,� �h�
M� %)ģ���a �-�H�&��q<R�_A4�
j;R�p�D�gQ�0�
J��S�Q�iӨHv�9��
	RT|��'�O���J&N8
J���@�����P|���\�*��HtRr�|r� i W�
3і�aq	��n�m�Yڙ�us6Z�
�-$�6��}�1B�o���� ��<JPt����.��%����҆
��=�8

��
���$��,�,
���)s�b�l���<� �A�8�<0<0 �� �'5$!�a}�z��Ɖ��tߣǾ�

�fe|�ax|�!K�Q�/M��CHf�EP����..�@�[ں���V-

��|0<]���r���5շ���d��J4f
<
�ݙ���sSy�
�z
B"t�}� �e�ԉr���+c\��c2e���A�r�(��_Ø� �k��vu�
�"YY�ʑ�ʒ )�0�"�Pg�Jِ���N�a)# ���԰n
-�o�D�tˁ	l�'�9�
�p�A�R<��P
�9'{�c{���T�Ȟ�*�-�$�߲��2��<�37�V�1�Ǟ�Ր�X�
uةK����G�
q�
�Q�'��ΤMf��;����*H��e��GGQ���A����c�-�˱�
쎃N�z4~��z��
-���G
���T>�*��0�8��GD�<�Iv�?\q��R����
NUT�[o�;&r	��ήo�u �ss�׹���K��p%I^���Ӎ�
�p^�{&�
-
'J�:.ٳ)8z����7	#$�3G2�Q���	�E���D�f�%h!
�*�Bu��|�P��mH���qZ<;huX�8� �:e�_��'�
���hW�~ꮸ[�ccF`��a��`0��d��=U��<��B
헀(<�-���A�Ġ�E���&f҃���n�ǻQa�����K�A�_��
4:ͱ�d3��T�~f������������L��k���{�S�Gs�:q ������{5���`�����X���G�
��W�*7��G~%i���O����1�/�.WS[G=tS��v}������<�r��U��Vk;FEs�qp��ь�}��c����7_�}���?�� A�YDL�q��m�_\��ݑ�@n�fۓfw�ݮ/�(&��I���f��w�3b#{��?Uc�

-endstream
-endobj
-2253 0 obj <<
-/Type /Page
-/Contents 2254 0 R
-/Resources 2252 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2249 0 R 2250 0 R 2251 0 R ]
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.949 467.589 162.667 477.935]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [116.949 74.891 162.667 85.237]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2255 0 obj <<
-/D [2253 0 R /XYZ 89 770.89 null]
->> endobj
-2124 0 obj <<
-/D [2253 0 R /XYZ 90 579.244 null]
->> endobj
-2256 0 obj <<
-/D [2253 0 R /XYZ 90 563.688 null]
->> endobj
-2125 0 obj <<
-/D [2253 0 R /XYZ 90 186.547 null]
->> endobj
-2257 0 obj <<
-/D [2253 0 R /XYZ 90 170.99 null]
->> endobj
-2252 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F7 538 0 R /F1 577 0 R /F10 504 0 R /F23 364 0 R /F79 502 0 R /F104 2226 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2262 0 obj <<
-/Length 2776      
-/Filter /FlateDecode
->>
-stream
-x��Zmoܸ��_���]�-�wI��@�\q��n�@���w�XȮ�'�������EKJZۗ��{)�ΐÙgfHg�gt��ٷ�g�/2:+H���]��
-:�dA������<��w�?̄�	+4|d{��˫��._㻳�g?�1xEg�}�H��V۳7��l
�?�(E>����3��nf���zF=+�$KyA(���I�i��\|n��M�7�%Wt~�`t^����M�YƆ��_0f9ɀ�A���^�~~�||�^
��2,��S���R�|�k�zߙ�{��]����=^�A�[�?����k$��Z��8x���1
"'R��Ķ��m�/��Z5u�oKd�-U���<�`�a�\��
�V����6k2=ه��D�
pB�߈�d�sBwdv�pW���5�yhp�T���(X���T�`-��循߻.������j^n�Ƣ��n\��iv��l
�w��}�I[����
)�
Ѱ <,�M���L�>�Iя�:��V��(�]p:_�s����6
�oQ�P���ZZ�@A\�Y߇��dvx���4�,�rs�C`~X��@(�O��V�l��r�iV�>pT��7
�#���Y��3F	�
dRD�o9W�mg,�������wa�I��ܪх�D
�?�"��fјoK���3���'
?߸N?��d<#��l��fg��"��}㖦�����ʕ_�u�5uW�!v����PE�굞N�V�,
x�\�a0�G��-�[J�l�C�
L��Т�� l#yƼ*���7`P
�`�D
��q4
6�� ;� ��A�RK�/�`�	K�C
���z���04�dJ&V �+�L��ܚ^d$���?���O>
���D3�
��<��R�珘��/6
bl��$ı���n=�����:՝%�?�h,`u���~C=�o���7�S�����Ol~�0�
��X�揩Δ^`� ?�Z�6ha���Q�P�k@�
-�Z�z�V/I5�mR�[�kMg�}���C���g� ��<���
P�9��f@�; �����`˕7��K�zӯ���
-V	
50�?��@����x
b��(�v@ә@9�:M�y���tNn�BRa
���@�
^
[�fˆ�l8��&����5��׻�n��ZY�?J،��
]��P�`h���em�щ��+c�LJ�B
-,a�O��4l�2��oqA��5l�
���=�ӊ#P���8�w�+�}���u�6�^�k�l�oͺmj�Ϊ ��~�&
����D剅R��j���B 9���ơ�" K`0b
xu�*�$˥��k �j'
-�
�
-*'I^����?� ��
���i'��03�
�@��A��q]��������nAV���<p#���
���2��)L+�i
r�2���3>���](�
��px$#��\sgq��	��Ny:��VGO���ۃ��i�6����"۾��%~�~Ce�Ñ�{;
-3&GWN����3�I��C��)H�8�
����01��� '�`Ih<�_�Av5�
-�(����5�8�G3#*��
�3]L���4aW�`O�L}���Q�?�/ȉ@��
�ͽS�2��|،WB|�X-���
"�_�#
�񡣡����>�b<�L��Q�b*2N���_6;�:E�
Z5-x�]��M��B���8�
-+�};�[��b���\L�|�"���(p�,����
W�"��,X<@�c �y�9.����;�,􌀜1B��?n���� ����i�,�k��}��%����ߚ��C|��:��^M绪��J=���z�9t�L��5����c��E� �_�:Ӛ�š��8W:<��6#�4�Mi�>u�t^Ɠ��#‹qM|�x���	���ѱ�y>jsy5�]$��hP=
Z5�HdJ�p����m�,�6��i�xy�����
�bE+�[f�m��\)n
ڒ0P�R�IJr�LfL@
-~�4S�����配�V��
�$�a�@��X%<��ICQB�pl�2���3�nb�
Լχ��w��
-$�u_:
��0u�����&9��h+`�ړtaڶ��������Տ�u[��ϞAg�
W?
ʮ��#��J�t�<�����טos,���{��ؤ�o��K8�@��qH���\EFP���D�x5����Aؔ���ڬZ2��Q��	g�l�P�h@��I?�
h�$3����n�ڬ�$��Q�+�c������o�zS���d�$ר�
ц���{��Q4,O�ӆPT����,2.!�]�U��HO�20
�p4������o ���j���	m}�ȣ@������9��4]]��&�$
�!���.:
!�uk��ON���������fo�7߾��'���\�c9D�ڥT�v%A}���K�$d��Fƒ��,�?j
-8>
��Z{��ks[���Xa{,���܏����|�?����v
-:�����)�
l�e�1�����ä�jߗjߗjߗj�e��cA�w�\^�[R��


�[5�k\:ܛ�G�W�-q4�Td���ר
���:��w�������
-��|E���Rs]Q�OP�qR��c�{
K� &�����8�Ӽ�"L\�~��P����(�tT�'�
��EAy�|D������z���
�S�1T��GU���i�P ���˲>��F(�(]B�u�pD8�:�k�bN������O�yF�1Ľ��w������Ȫ#��ڵ�ڟ�v��1$��0I����!c�&8�F��a�	��T�S
-endstream
-endobj
-2261 0 obj <<
-/Type /Page
-/Contents 2262 0 R
-/Resources 2260 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2258 0 R 2259 0 R ]
->> endobj
-2258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.529 250.663 197.247 261.009]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2263 0 obj <<
-/D [2261 0 R /XYZ 89 770.89 null]
->> endobj
-2126 0 obj <<
-/D [2261 0 R /XYZ 90 360.861 null]
->> endobj
-2264 0 obj <<
-/D [2261 0 R /XYZ 90 346.564 null]
->> endobj
-2260 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F11 442 0 R /F7 538 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F13 578 0 R /F1 577 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2269 0 obj <<
-/Length 2833      
-/Filter /FlateDecode
->>
-stream
-x��ZY���~�_��,��sb0R����
˵�6��H*���L4 at j�������
���X/�`М����&7	M�=�����MCLƳ��:14�����*y��fsF)M/f��E�)3N�f}[��b�Cu���l�M,6e�-������.��Ӳ�.�M.�\��_~����/g
�A�UD��rs��=MV��}B�0yrg�6��������Ϩ�
��9�
-��h&�a�mgU.۲��f��/�Jq1a��oT6ֆ"���ϗ�U7�
�Rwut]uS�+�[��r�t���[���vϚkw�:B�U�)�	X쁍��B�YX��G9�d��
�z�S�Ģ����\��ܶeW�;P
-'s!$a\&sP�Qʉ�nq�tX.�;�k�^c�B�n������
�����z���v��i]�b�4�.�;7AJK׆e/��\�;��m��]�V�����{�{�G���]���İ^�� 1��֜W��q���f_��Փ��gD�,�W&
�Z��]��=�����7?�0��!�<�,�E��fY�(�&�e��� �
:>���<w뇫6,*��nHw�$��k�KG �

2@�Ù�iڣ-�\�����#�����>)Ȓy&��<�%:0��-�0�e��
�j���θ��L	$�ڱa��ΤP�i7��
%\��{Gy淔d�h��PF(�+"�tr�'�p�'#�/�tE3�ڛʅ���P�@8���5��O`���r��<���lj��p07NLn�
-�x���p�X�H���P�
FN
"�G?��-�r�b��2�+O,I���x�W��qL�	�"�e��%^2w����u�8���0���
��y�
-�����D=c*�7ۦN ����HQ��DFkI�;�c
�`܇'b�Cz��h�z510ˈ�=)L����D�L��|p
�����6��h��j]vSvA�
�멨R�ʙ�z&��S@�>%��iP�%:4�~
-��xٴ�նM��Ou�k�y�
��A_�t'�-l�����1�ⴴ'�iE����	���9�bt�NE b� �\���}�7�S	�	q�
�h�R
�,��mYO@.
P�t�ʄ��(NN^L�?�<�0���醦�6��0.L��������/�N��{�)
뛍�
-;��]e�*/T�˦^���Hq�2���;�
ڙ����SDE�{_1�"��%�i��`��L���Ӄa

aD�otcc�k@�{`�u,�a��jV�����q�b�@�y[����ꝓ޶�M[l�\�uGm�)�	� �5������>�ș�q8� A���=b��Dn��l�LEz��ޡ���36�c+��
-Ggtnc]�
-h��W�2�O
-[?��U��u��� ޏ� ��G���1�
H�X�^~��
F��b��k��G���6<���j,<�U7A�l7U]�J�5F�`^pB���2�	_
ف����	rֆȁ��41�&Z����o˺���#K/�|}95&�ܼ?��L�	N��,�4���p���Kȷŵ���f�F�R��㳐E��,^�Yp$ww�@c�m�����Gk�Q��$����Շ 8ڤg.���d�n���c�3&�����L�����K$�^z0~�K]6F�^�"�q7wP�#���lY�3��%���aʉ&���\C��
����l���U�����dpʼn w:�0H����f���J[�Q��\H�;]�I�\pLs����Y0O��d|���i5LU�T���'E��|za�!���k���n��뼺w��eW���8
&T�=G�@Oo�f�ڲ�~�e$���7�`�ӷg�[+�����b�}Tl��_E�;�6
��*���˙���
�S�XI
w�,� ���5Ͱ�@j�*aܐ����6�$m�c{��ۦ�a
o����76..~=��K8*H
�Az�%�ic��/�B��j�²K[�2��C�aͱ���;�����8�h�Bi�׫='T�|z� �1L�G�))�-��c�)\a�|4�|ܵ�[k5�Y�a���/QZ��8_�[2l�q��9�d��~Q����nH
�2�v�A vpXX&+��U��0�ǩQ�Q����5O8��X�~�+�_���m��V�2ܸ$6��fY�Š
-���Y��{�; ,�q9�
�갈͢�Nf��>
�����)�~f�>U,�dD�G�s
H��n|������O��x�g+”��m�b��N%��ON�y1�����P���S< ,&�
p�C��1v
0v��.f|`3>�Ngp�q&��C��?�"���JF,���E 
x+wه�@� ��=[>�ա�
1.���R���<�8��gS�8����D▣�Ǹc�v���
/b�@�n�6H��\|��gP2��~x�G�uh����1�L�F0��_?*��)z�cc	T�@|���۶r�TG�&��8��
�z!]�	��0�P뛚S� �<�; �1z?ۻ8r�?�S�����~W��*
�J{
���(�`<p��u`��
#��N�`?�xw��ܾ�
Ie��b�LP�_ALJi��l(�|��`Gh\��u����t�^$2%+]M�c5�R���2�A!�K�͓/�r�O�|�$�Pg���8mӚdҸ�O���_~�ğ��R�?����_~���F�'�ϟ'=�����I� ;�bSe6�x���
M�k�`����<�uGe_Y������Fߛ��+�?��
�4�uQkc�ο/� ���,1±��3�7e�������ۙ��蛅\0�����n������,;���mK���v�>?���(Lc�A����6M� ��i�H����
-endstream
-endobj
-2268 0 obj <<
-/Type /Page
-/Contents 2269 0 R
-/Resources 2267 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2265 0 R 2266 0 R ]
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.529 424.745 197.247 435.091]
-/A << /S /GoTo /D (main_BMPZ10) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2270 0 obj <<
-/D [2268 0 R /XYZ 89 770.89 null]
->> endobj
-2127 0 obj <<
-/D [2268 0 R /XYZ 336.065 549.181 null]
->> endobj
-2271 0 obj <<
-/D [2268 0 R /XYZ 90 532.602 null]
->> endobj
-2267 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F11 442 0 R /F8 537 0 R /F72 400 0 R /F7 538 0 R /F1 577 0 R /F10 504 0 R /F23 364 0 R /F79 502 0 R /F104 2226 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2277 0 obj <<
-/Length 2469      
-/Filter /FlateDecode
->>
-stream
-x��YK�����@���qv
xRr��J�8�b�+��‚��@ ����O�<��Z�rʁ���F�Lw�= 
����/7W�/d$�y
�삌I��(��6x�H��/7?"N	�bxIS�{�����7�p�����_1X�3�G$I��p��l��C@���ਙA�<����?����(��
-c�1��f/;�\	�,ڼ���;3�
Uѫ���4o-S�3�~o	��=��_�ȳ�$�;��cÕ1��"SL(���0

5L�')!�����G����H��	7Lo-��W��`�I
�Vi?�`��
L�i��F9IY���-�;/'<��1K��#O6q��jF� �%��?͈�H
�3�&��H"_�q/���u�D���yl")g��g���d�[B�&B�]�#6��=��>� ��O4V3�KI�r_��ʪW���D�d��N�ZU�}���rO�J�D���0�"#y+�V�
�os6]�rfC����Ey��Q��G/��C����	�R�15uy��m
�'�U(8f��gt��G�T~[�nL
-f��P��?���Ƣn��.V:�B
-�-��A+�����!�j|�&�"��P�� �N'�OA�L8OT��gU4
�d�Y�
�#le- E�Kc�ĩ���D�����w22<Epe�P*�䯈CY��q������_{Y�`#��?�]$��!"����Yp��\M��B.��������3Oyhz}��8��7��+����ލ0H���]?������r�<Á�D�,�V#�(�
�2�ZaBj7s\
b*]�t���J���NH��s`"%1s��=����
�W2_,�x
��]�d!
�a<�߄H	=�R��ۼ ��?h��ZӅ�B��;1��I
�e]7ft[oOf��4d}9ȶjei͊��"���k�L��S� h��4�����P��
���lh�8�����/":MGU�8���PLl�x6$1=�v�;��1Ec�'Cr�9�ń�qý�y
wgޯjce�R���1[��{<�X���.�=�)�����+/����1P���IdmkٙQU;.�
T���Zc1�
�}s<44�"��b�MF���B;�`S�!߼�
-d�|��Qݶy{Z�_�ټid��ukU���
��$wpZ�f�
�����~���
頻��z��a�4գ�8��d
��G
M��ܖ·�l at p����x��۔�]"   %}�9q6��y4y%x����]�]���Ő0�x1k��
�'�M�����f�8ʁv at G�3r�b����-��K%u�wX�D����i��{��^t��M��aH!���Z �i7R��L�
��v��T�ܔ��Ӣ��gQ&Q9Q
��u�|g�S01ZL
�`�U���Ͻ*U�������Q�4#u.F��n�)��ޟz����ZC5��#l�
a4/d���Y��V5z����H�^�
��|Y�/l���k
�M��
�  ��*��v3��'�nkL<H�Ʒs���ݡ8��aE��߯���g:6d�-�����NOH�K�lwҜ$�d���e��,q�t0t�?�tPw{+�3��K���"i,��M�ū�~|��E� �+�
��bb˓�
U�>"�tk�&�7t��t�1
D�xu��h
-C�e
�ݠ�3��0 URn;CӁ
-��L�RI�
�*r
0bv��2+V��u���P�"s���a"����W��ho��h�^��HԲ��;�v�[�b�,-��[ ���E!��2��1��-�4H�|�M)m"�m!T��w	�x�!�� �;4���2�0��%��1�SQf�������g3y`5�G�t=�6�t��
��:��C��2	�謑^Un�\+�H�\V���v�`
��y����u
-
�
[�j�yw�zyxb�Eg�ߚ!��L�us҅�#��NU8���	!�ڞ�( ���}�#����F���ϛ��)�Co%~󁉰���o�S���Ȧ'��l櫻�.F��qY�'
�u��{+��T=��@/�������j�]�㭋m��3��_���!�,��]��É������CS�6�rL�8�	�)��sa���7�	�A��%LTВ�����z�T=nBuu����#��.��c��42/�b8 at n�]�p�!�W�^c��YǾ^�]�~��3qzO��]�?�H���"��Q��^�$���y�f�����!9oe~;#=$>��b�ض��[יfwF%c��4��P��ý��;��y�)Ɵ�ܔ��
-�I��Uj����7�:
������
�L�H�E�,�2�CUgj>����)�������naD�p
�wȮ
Z�m�p��.���|�>��&h���/�����G�����WG�
�&$r�9��닝:ܛ�|q�3�Ϯu��?�j����
-��C�Q�fk�;骝9�����n*���R
�����Y__�G�{�T��_C�y}�i���
-:!^���U�����p� �=
-endstream
-endobj
-2276 0 obj <<
-/Type /Page
-/Contents 2277 0 R
-/Resources 2275 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2241 0 R
-/Annots [ 2272 0 R 2273 0 R 2274 0 R ]
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.932 522.901 206.516 533.805]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.669 291.708 211.204 302.612]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
->> endobj
-2274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2278 0 obj <<
-/D [2276 0 R /XYZ 89 770.89 null]
->> endobj
-1255 0 obj <<
-/D [2276 0 R /XYZ 436.557 639.379 null]
->> endobj
-122 0 obj <<
-/D [2276 0 R /XYZ 90 622.675 null]
->> endobj
-2279 0 obj <<
-/D [2276 0 R /XYZ 90 541.85 null]
->> endobj
-2280 0 obj <<
-/D [2276 0 R /XYZ 90 473.674 null]
->> endobj
-2281 0 obj <<
-/D [2276 0 R /XYZ 90 228.041 null]
->> endobj
-2282 0 obj <<
-/D [2276 0 R /XYZ 90 204.449 null]
->> endobj
-2283 0 obj <<
-/D [2276 0 R /XYZ 90 204.449 null]
->> endobj
-2275 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F7 538 0 R /F8 537 0 R /F1 577 0 R /F10 504 0 R /F72 400 0 R /F23 364 0 R /F79 502 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2297 0 obj <<
-/Length 1717      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(�R���%�7�(��M�4	��}r���Q�d�T��;���d�M���XKzv��̙˒:wu^�~�
]>����$�B���I��!<-�7!�x�(�n�.�/���t-�:̈́~|'n�
���z��s�h������ѧ���ô�D���G7���ׯ
J�$v�Jh�pχ��y?�kD
J�G
Xzp�H�|'b�0�!��R��|)�v�P���σ��7�I�?Ԧ�1G�Nۼ*�
��

��hU�8��Z��1���R,�(�d�΋��B�w�1���8T��G�H�o+��6gQ8X��[#'�,p���f�h�S�=Ҩ����MiQ
��3�\�=�n�s�W��
��p�I�"��F����l�b�tĄ����L���ִ2/� H��h"O|Nط&��{���E��<�jڴ\��(}��^�V�
�.�#,�;p�xW�M�šy%�L�J��B
- �C�ヽ�
#��u��fU�[��L�_�
�ʝ~Ȫ��n�S[�_��۳�`}��j�~S��ͳ	�f��Pm�T�9u/%��i�,���Ch^�����>z
Ŕ�FH
-� ���@
-
��us�M�/�L�WH��� ��c<J��P�l��B�V�\��W�ۃgP�0y0����Ц�)Ŵ�����"m�~jj��i�UU�
3�˱�����1&�

-o��T�v���L��*�T2{=����l�i�i��C���bJxе@f2���Ϣ��䭐���։D��ѡq�x:c�H��
i��4���@<����H�Ɩt�c�
��&�}�f-d�A�^�msx
���W�0�
-
��UX/GD��j�o+
�Q���
?
��zQ�
-��9_�
-�v
�눈���vRƁ��rh_,|�#�ԉW�9�,vz�"i,�%e������,�L�
\�{�~hw5X�܋a+�14ͦ�R�4(�H�ofZH+8��$������\���� ���dNH��}�_�O���1,��
�Fh���vN�$���i��`���0#�ZSƖ`�aF����gߠ�@pw��
���n��]��K(�)d�y
C�s{���p0
$�l3d0j��}	��2�
`O
�~��^lutM|�{�:�ϐF���M+�Ng/g��q�]=q���j)��ߠ)*~BX�F	� 0G������!���@.
�)��3���SC�L{hc=��
l��O���!'�J��C��~�ˬ�,
0�b
��U�_N肘��u]���
�˟_O� �Ə�W�
�_�+��}Mѹ���)i>;�k�S9��
��Mc�Uc�~���͢P�{#�
a��s��Ϗ�!�>\�<���L�</8�sҶ ;$^�'ޡ
�Bpb�u�ĉ)�~��sb�<W�6��>��򛬭�TW(]y�bi�꟯8XA�7/O�V�֨��?�w��&��8�~��������}���ة�d�J�-5"�·2�O��Թ�'��
�^^~G8��#��p�S�d�]��wGy�h|�xr����Z�e���Ո�u��#��ls@	�P�]저��D�1YPWM���
F��N
~r��,	��~rS�� J�)�¬?�I<��pp����oڿ~S�o���<���ii��=`.�Mלa&a�3WX�����Ǯ�Է�=^��7�l;]�m=���n�$kȦ�kI�����qc�i�PF���ҵ�d���(�)�0
��D�o�
-endstream
-endobj
-2296 0 obj <<
-/Type /Page
-/Contents 2297 0 R
-/Resources 2295 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2284 0 R 2285 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2294 0 R ]
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.414 493.641 428.272 504.545]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) >>
->> endobj
-2285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 271.447 310.262 282.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 217.006 197.097 227.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 177.826 197.097 188.73]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_af4e852fd76b79c9ef3e8b56a8575fe09) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.434 177.826 301.684 188.73]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 139.019 197.097 149.923]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) >>
->> endobj
-2290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.434 139.019 307.621 149.923]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 100.586 306.286 111.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) >>
->> endobj
-2294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2298 0 obj <<
-/D [2296 0 R /XYZ 89 770.89 null]
->> endobj
-1256 0 obj <<
-/D [2296 0 R /XYZ 90 623.741 null]
->> endobj
-126 0 obj <<
-/D [2296 0 R /XYZ 90 619.036 null]
->> endobj
-2299 0 obj <<
-/D [2296 0 R /XYZ 90 560.521 null]
->> endobj
-130 0 obj <<
-/D [2296 0 R /XYZ 90 399.519 null]
->> endobj
-1328 0 obj <<
-/D [2296 0 R /XYZ 90 367.591 null]
->> endobj
-134 0 obj <<
-/D [2296 0 R /XYZ 90 367.591 null]
->> endobj
-2300 0 obj <<
-/D [2296 0 R /XYZ 90 235.583 null]
->> endobj
-2301 0 obj <<
-/D [2296 0 R /XYZ 90 235.583 null]
->> endobj
-2302 0 obj <<
-/D [2296 0 R /XYZ 90 158.089 null]
->> endobj
-2303 0 obj <<
-/D [2296 0 R /XYZ 90 119.282 null]
->> endobj
-2295 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2326 0 obj <<
-/Length 1626      
-/Filter /FlateDecode
->>
-stream
-x��YI��6��W��TbI�Z�!�Rd�L3.zH��,�3DeI��8ί�H�VF�,p&EыE���[���عp�������E���
��܉��1b�e�7�Ɵ��
/����~}��d��dz��Fϧ��#S�!f?Ca䤋чO����+#/��e�h��ԃg�a�
-�f�[,
 ߋ��D�a�#��=���|�0��/c��RdvNs$/,k��U�a�^�	v��{
-z�#fx�n��T�#�4I~~:&�Md���!ZV@��f�'�=v"�1𵌔���΄�����l�T��|��p{1C�ŝ-�
Ϭ���(�Q�F]
-K���€t��B]���a�*
y�Р��{���1��3�"4�o�YY���ZV\&����2kZ��O�N�m���om��\5����aD<���l��vs�QRdfP�ʌ`j O~�"

O��81�ه'��k"r�.7���M��b$
��C���A�_Y��ȝs�P?p7KWI�
-q�5��	�@�K
-�kCH�C@�Q�I�ʎ�S.�PR�(6F24��=}��
�r+�Aˉ�]V(����G#��2�(
-Yx��m�\�J�da4��I�֓����
,M�fh�(�
����
|��.}X�B���;(�Ht�(�Ԣ��V
���]�d
������y�h�D�#o��n�����j	��y�d{
_
8�
�����
w.�>s��<D|o�ˇ��<P�\>��.?&n��0�EK,��#kR��/��
���M������d��:��H-�iS� ��{�}gL�d��P�c��(f9I��-��
�'� �:�ݕZn{�*��IS^��&8$F�p��u��� ���qEu��R�J�n�J�0d׸� �s-�����Z|��jU��w����{Eq>[���crgJ��%o8�fl�l��a�ˏ���y;��M%x������ď~v��d��~�ݢ�+4Uſ��w��")}cu���D��Qp����er�"v���w���`����\A�����5K��y)<C��½�4��O��:��Du�y������=�a�ȃPaq��I��pu��5���H;(J��쬓bޝ��,1����x��1� [...]
����VA4ҮatQ�w
4��hu�7���o`^C��|ϝ�QiQ�3ݳ5"W�u.�6+�#�l�&�Tʧ�yi���b��;���Չnc`
1��� ��¤P�
�-�Hi�d<3�M�Ę2��ȴn���3���Z(�F��;:����c"�E�EkuSm2�OK>�[����
m���襉�,�r�(2�v/Pӂ����Z5؋��lԓ%�N4 at p
Z 
��̿5+;��˲����bP��o�T��l
-!*������C�b�]Ķn�H�k��.y&��1�I������U+�r�6)�����7����:|� ��n�3�;F���n�Z;'�f:
-��	n�JU�GG���5j
-QI$�QU�GW��hq�5�>6��r]���^�\1�?�W�
-endstream
-endobj
-2325 0 obj <<
-/Type /Page
-/Contents 2326 0 R
-/Resources 2324 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2292 0 R 2293 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R ]
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 707.957 156.281 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ae52cf600a1fc364b32296578016e12ac) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 707.957 243.284 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 664.665 180.54 675.569]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 664.665 291.064 675.569]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 621.373 178.239 632.277]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 621.373 288.763 632.277]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 578.081 181.845 588.985]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 534.789 181.845 545.693]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 491.497 154.727 502.401]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a5e151ddb186280f9ac6825e4b38e3d4d) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 448.578 176.505 459.109]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 431.365 450.955 441.27]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 393.954 191.718 404.858]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 393.954 288.852 404.858]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 350.662 191.718 361.566]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 350.662 303.079 361.566]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 307.743 150.493 318.274]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_adcaa7cd147b3ebb7c52d232824de49e4) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 188.9 226.034 199.804]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.157 188.9 478.723 199.804]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2327 0 obj <<
-/D [2325 0 R /XYZ 89 770.89 null]
->> endobj
-2328 0 obj <<
-/D [2325 0 R /XYZ 90 721.073 null]
->> endobj
-2330 0 obj <<
-/D [2325 0 R /XYZ 90 642.685 null]
->> endobj
-2331 0 obj <<
-/D [2325 0 R /XYZ 90 599.393 null]
->> endobj
-2332 0 obj <<
-/D [2325 0 R /XYZ 90 556.101 null]
->> endobj
-2333 0 obj <<
-/D [2325 0 R /XYZ 90 512.809 null]
->> endobj
-2335 0 obj <<
-/D [2325 0 R /XYZ 90 469.517 null]
->> endobj
-2336 0 obj <<
-/D [2325 0 R /XYZ 90 415.266 null]
->> endobj
-2337 0 obj <<
-/D [2325 0 R /XYZ 90 371.974 null]
->> endobj
-2338 0 obj <<
-/D [2325 0 R /XYZ 90 328.682 null]
->> endobj
-2339 0 obj <<
-/D [2325 0 R /XYZ 90 237.371 null]
->> endobj
-2340 0 obj <<
-/D [2325 0 R /XYZ 90 144.369 null]
->> endobj
-2324 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F106 2334 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2347 0 obj <<
-/Length 1584      
-/Filter /FlateDecode
->>
-stream
-xڵXko�6��_!`�&5×
4�}�X�vY�}J
C��X�,��\7���zDq��dY�.�s�9�Wػ��j��rvv
aO �л�x{(�_�]�#:_��1'�O�]���S���V�U�z�]WIu�\>{���M�r�����9!��Dp�&m�>�C3���
p9C �;���Ex�'u=_� C0A}���I#���r#�9�}Y��V$X��B�����}���=��P{�����R����^���)����0�s�OK�
Y\�C�yY�MuX7e�����y!��_���NM�de�V
s��X?("M��o��y�}��\�+S�\>���#�t�%��Iv��թg�z8E�o;A�W�x�v�7�&+dR�^~��Y�Zm�l[g
�J	�Cj�*�{��
�
�h�Z\�F/@[5U�5�rٮe�'��`j� DQ�¦����#�
�`�D
-�ޠ
8"�� ����� ��)�PH͘g�,O
��
��ξ�
�B$"kAD(Ip�y0�o�s"��� �Yx��$D�G���Y�Vj����(0[
W
qf��"�T4zA��"� L :��}e@�z�~g��ER�8`#`��k�
̅9�'�s��j���6i
��mTj�ˢ%�ٷV���1�M
7�ԾmB��*q�/7���`�t/
��(l���  p	W8���iQ�iwʄ�
-,)�X��ӗ
>��
�`��v�pk+wYa���F����E+*�#A��tPC�q
R��\�p��׵ܫ��K��n�I�ˬ��*� �*�nZo?� �
�U9��4��6ƛh�
���
�#ޕ��8�7Y�ڎ��BĉV]
ս��oLfYԇJvbw�J�t3龬�&S���%фۂ;�ܯ����rwm�v~(����8�t^���KD��"Z�<yh�<QvOUN���y���P(��6��y��9.��{�
*���X{��NNBbWc3csI��+��!�a���PViGq��M� ����l����P�ߍ�/����(1�;�&V��!ɝ�@F<6E�[95w�rTy.�k�F<�D��KV��\�$8���D����j09ԭ����K}��K��,�ZN�}�@���y'1{�yj3�^��y���N����p�j���"E�q:
-}+�����A�8�>~|�3���}�Mh�
a_.��1�k�?���o- �N�̜�C���nA1��
M��Ĩ���I�1�{�%���s;u���t�?Mڊ���V�84��a�KݝS2
��c���j�V�u�
�*K̟Y��,7U9>�m�<�u�)Ma�C*��[Y��0�:k��QWm����h�u8�Q��	�‚�מ
��
N���`�)�!�e��|�#Bv�1G���|�+4�����}j<�<��]ߨ���
-
-4a죞맬X�t�KF��>d�cA¹Sz?��8
z�p�9��b�
�P���A�-`�ud�G(�
��ʅ:e)����>�Qo9���U���>���Iq��HY�>�U]�LUހ�
,� �٤��ߞ��}�"�� �1�
f�4�����xD�
�l_��9h�{Q�1�\g�Җ��P}Fkh��?���e
-endstream
-endobj
-2346 0 obj <<
-/Type /Page
-/Contents 2347 0 R
-/Resources 2345 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2344 0 R ]
->> endobj
-2344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2348 0 obj <<
-/D [2346 0 R /XYZ 89 770.89 null]
->> endobj
-2349 0 obj <<
-/D [2346 0 R /XYZ 90 721.073 null]
->> endobj
-2306 0 obj <<
-/D [2346 0 R /XYZ 90 703.285 null]
->> endobj
-2350 0 obj <<
-/D [2346 0 R /XYZ 90 703.285 null]
->> endobj
-2352 0 obj <<
-/D [2346 0 R /XYZ 90 435.608 null]
->> endobj
-2341 0 obj <<
-/D [2346 0 R /XYZ 90 412.315 null]
->> endobj
-2353 0 obj <<
-/D [2346 0 R /XYZ 90 412.315 null]
->> endobj
-2354 0 obj <<
-/D [2346 0 R /XYZ 90 300.642 null]
->> endobj
-2342 0 obj <<
-/D [2346 0 R /XYZ 90 277.349 null]
->> endobj
-2355 0 obj <<
-/D [2346 0 R /XYZ 90 277.349 null]
->> endobj
-524 0 obj <<
-/D [2346 0 R /XYZ 90 147.227 null]
->> endobj
-138 0 obj <<
-/D [2346 0 R /XYZ 90 137.901 null]
->> endobj
-2345 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F113 2351 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R /F21 2356 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2387 0 obj <<
-/Length 1794      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�H}�W艵��d.�F��*r�
-
!���R@�i
��
]b�_�=�H�
�q�!�b��L��O��3c��hX��w<�
�s���6������5���0ᗧ}��x�e�Zc���m¤��ɻ����x$���ƽo=��F���憽O_�����F̶�y9(�t��;�F�?{x�+� B�w^ׁ��������E"�ҁ��ѹa��'&ҙ�
)��X��ϔ�9ڧ��q?c���֫r=�Z��r�|��0���S�Q>��'�N&Z�׿ay�f�{�.��L�jC�#KW�
�D�BT�"�W[Z.�䋪�"���j>�q����จ<�U?<: V*��}���S�PS
�A����a� ʐE�n���˵�?(�{�����36����
I�M:@YB���k
~4��x at p�F~�Hą�{.�p�,�p?�k�<!��э��:>
u�Ɵ!�����5�WI�V�א��y��G#ԭ�`�{�w2��'^&�6j$��w��|Ӻ�#�ߩ��a�ci����+�
�uy�r��3W�i5�e���4�z��H�jtrqQ]V�J��
�ӑ�m@/-��n�B��$`�:
ԑ	`�1���:|��1�@63���w���-
gy*
E�'ُ"��B�#�
��<�|��~8�F
��8'��?��
-�+���+�TG��
�x�p:S�F�X���T��
-~��h�&��D�N
���U�&o�?�x#Ċ1cO��dl�H��8v�};�V��
�߳���wI���?M�яî
`��l;�9e-ƃŚ�&��x&��('��	�pK!w�[b����U�9�E"0t�De�׏�ȫ\�D7[6�M��2d&E:& F6��*j��n{���b`��C2�ȋ4�:���*����ٰ�W�)+\дٴ�v-��Ӭc�Y�e�!�t��@b<�F#΍{hԙ�X��t1��E���@�<Ν`�����z���_�k$����D�k�E��b,�f|G�VΫ��[$~�}�Xs��C
-���z�0��_�v���/I��	��#
:���"m�X�c�|\�D��,�حI�Vat�o�3'�M��?y��BN�!
^����~����.�H
	��@H�J�M�[
Z�2��d���!�=U�=���(�n�n��N����;����_�]�%T�x�O'���l{c�@'�3w
������O�'�iYFnD$���BF���W?�^|��������A
-M�
-�ѫ8
~�S���[�J�ק[�:�a�/���
�$K����vd����K�b�-RlQrh�W9��m&�,�ѿٓ8L��I��br8Yg_p[�^���89y�����?�?��Z�9u�w�d�R�ˠ�� �
ؔs8�9�R�����!�H��1ke
�'�۫jD˒��e��,��P�ڇ�:���~���r
���䴡x�!#�MwI*b�nP��je�~a`r7+���4�`�E�l��^Zx��B������YF� �
yl!���.s�����V����>��W��
9��~���V�$
-{�Eבb֞�S�-��u������h�;
��
��4ͣ9Xk!�/��R)�J������a�e1p��
l��'I<���&y\�n`

�b+X7�-g+V��l{����4Lp���e��$��8p�L
%Z�Ȱ�������IC��U
,f�K��7�u���PG~�G$*o������[iJ�YS<0��@e�ա�H�PW����WH��G
75f��ɳ���|��
�KR��GI
��+V�S��ȴ�l��k��p�*xmP �� /X%
-endstream
-endobj
-2386 0 obj <<
-/Type /Page
-/Contents 2387 0 R
-/Resources 2385 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2343 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R 2384 0 R ]
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.857 685.389 243.473 696.293]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 646.73 155.464 657.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 646.73 221.894 657.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 566.249 181.845 577.153]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 527.59 181.845 538.494]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 488.93 154.727 499.834]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 450.644 176.505 461.174]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 435.747 450.955 445.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 400.652 191.718 411.555]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 400.652 288.852 411.555]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 361.992 191.718 372.896]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 361.992 303.079 372.896]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.635 323.706 188.679 334.236]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 248.8 170.255 259.704]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.071 248.8 239.714 259.704]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.878 248.8 409.266 259.704]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 214.125 170.255 225.029]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 214.125 242.753 225.029]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.317 214.125 335.783 225.029]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 167.496 170.255 178.399]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.428 167.496 241.589 178.399]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.612 167.496 360.078 178.399]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 132.821 170.255 143.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 132.821 275.419 143.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.146 170.255 109.05]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 98.146 282.045 109.05]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2388 0 obj <<
-/D [2386 0 R /XYZ 89 770.89 null]
->> endobj
-2389 0 obj <<
-/D [2386 0 R /XYZ 90 702.363 null]
->> endobj
-2390 0 obj <<
-/D [2386 0 R /XYZ 90 702.363 null]
->> endobj
-2391 0 obj <<
-/D [2386 0 R /XYZ 90 665.726 null]
->> endobj
-2392 0 obj <<
-/D [2386 0 R /XYZ 90 585.126 null]
->> endobj
-2393 0 obj <<
-/D [2386 0 R /XYZ 90 585.126 null]
->> endobj
-2394 0 obj <<
-/D [2386 0 R /XYZ 90 546.586 null]
->> endobj
-2395 0 obj <<
-/D [2386 0 R /XYZ 90 507.926 null]
->> endobj
-2396 0 obj <<
-/D [2386 0 R /XYZ 90 469.266 null]
->> endobj
-2397 0 obj <<
-/D [2386 0 R /XYZ 90 419.648 null]
->> endobj
-2398 0 obj <<
-/D [2386 0 R /XYZ 90 380.988 null]
->> endobj
-2385 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F38 2117 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2448 0 obj <<
-/Length 1845      
-/Filter /FlateDecode
->>
-stream
-x��Zms�8��
�E/�e�����%�^_rM:s����s`��)�~��l�`WH��/���jw�gW���3u�s�9��>ؑHz�s�&�Ďp%�
�;�#���q��Gp7H���Gq7����8
��a���Ϟ.��D�>_�<}NȆX"]$��R�(�4V�+�Հ+�
��Հ�7Ix2
��ק
�0I�j�̂\�Wީ�J{��h��d�+��yv���! ;��G�wF�������F
lY��K|Ϝ���
l
�7
̽M%�@
�� 0�����X|=]��N���;��>
6]\��{ڨO��Q
e��i����H�A
���U���M��4i��S�
N���x���R����$f�=g�p66�ʯ����I�sy7����k�HV�R��'��TNk�#��5���x)6t �G��S3��'�CpY
AV��&6 �I�}J���#�va�-��p%�v�����0_
��H5�=��͇����/^=���Շ[Q�ޚ�����`�
QR�����a״��a/f	$&z��\��sy�u
-�1�
-亲��<�}���JT̍k^D�J��(���"���Ȕf���
q	�B^��d�m�%���Pƹݳ�[�aͭC�en�7�K|�y=��mk��'=�}�M��0��#��l��*�e	��

�]�|j\���up����x�7� F'U�-;���ؾ���_63��C���
#���t!iSqhPbz�(�F.��>���ގ�`G��"���8EB��=�9QV�꽭Tv���w&����8�Aq_��(�-ݑ�$�C�����3T�0"
 ��
PL�X ��*��dw҉��t���s����!����UU�O�i4WQ����Z���po�f���.A>a�,�
���uh+�)��&ՠ [���z��"E����HCc�8�0��a�c ���Li
X/z�	~�+�x[�d��8C�����eq�N��d��A�Ҡ�e�d6̡'�@.�|��6��A�o�)$"��h�K�/�R�!�V,{g���m�i�0Ö�J ��
n������\�6�Tey�
Bn�6�n����C�gQn��Z͇�d��h��������4.������x
NV�ì����ΐ[�6uq�nT�c�뫛��%	FjP�܉�)���ҡy����}mV7����W5�7�B��F�8
��-���C4��k8/�[v(0�3~p���`���`/�~:��1�aDX��ſ


�ʄ+�X�{A>��&_�n8�K�a���k�J{Lt�޹s�7X��n$�[�sH	����0�5��1
��hv�A嶎�V��i�OLL��vt�PQ�J����m���qE�Go۽v��
e�}�7�p
��ƃ� $َd�����%��R���
���
��и4ӎ�
?����fa�j,]�YN��9ӠV\���J�(�Ǯ
\�����6b�G���X�c�j�
�V7
-��.x
p�
F��
|���-�O'�bݲ�-4*ڞ��fy �� ��2�,�HrӜ
-�o�ܛ�#����P#z�x��zƋh�
&i<�X����.O	^��
-���oI��mu�I��Lһ�{���(��4�c8������)@d2X
�Vͪ���@>��P`��q@�([}X��>���#k|p���������[1r�f�>i-	6��X�
8����J��
-L�7� q8�ov�/�
-)����z%��5o��:�J�q�ަ%D��W��S�r�>�C,D�fV��.U�e�:կ�t��
}�B
�,�������r�D�
-�0IQ��&�����ˆ����I�s��i�s�8t���?/K�1
-endstream
-endobj
-2447 0 obj <<
-/Type /Page
-/Contents 2448 0 R
-/Resources 2446 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2382 0 R 2383 0 R 2405 0 R 2406 0 R 2407 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R 2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2445 0 R ]
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 170.255 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 707.957 273.736 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-2405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 673.185 170.255 684.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936) >>
->> endobj
-2406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 673.185 245.522 684.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.715 673.185 344.181 684.089]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 626.458 170.255 637.362]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa07f93a685253eb04edab43b5ebd27b2) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.222 626.458 232.822 637.362]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-2410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.383 626.458 282.11 637.362]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-2411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.546 626.458 423.012 637.362]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 579.731 170.255 590.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1) >>
->> endobj
-2413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.592 579.731 217.846 590.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-2414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.126 579.731 322.592 590.635]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 533.005 170.255 543.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b) >>
->> endobj
-2416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.591 533.005 279.86 543.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-2417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.861 533.005 426.327 543.908]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 486.278 170.255 497.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.995 486.278 221.801 497.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.138 486.278 294.299 497.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 449.611 167.466 460.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9bf45a32e428970068f654258dd7fb0c) >>
->> endobj
-2422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 449.611 216.442 460.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 412.944 178.004 423.848]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 340.065 190.738 350.969]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 340.065 261.85 350.969]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 303.398 190.738 314.302]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 303.398 262.159 314.302]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 289.871 390.082 299.776]
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 266.731 202.922 277.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 266.731 248.58 277.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 230.064 202.922 240.968]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 230.064 296.181 240.968]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 193.398 209.547 204.301]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 193.398 261.831 204.301]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 156.731 209.547 167.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 156.731 309.432 167.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 109.105 228.895 120.009]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 109.105 333.482 120.009]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 74.333 229.503 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 74.333 334.089 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2449 0 obj <<
-/D [2447 0 R /XYZ 89 770.89 null]
->> endobj
-2450 0 obj <<
-/D [2447 0 R /XYZ 90 503.33 null]
->> endobj
-2451 0 obj <<
-/D [2447 0 R /XYZ 90 466.663 null]
->> endobj
-2452 0 obj <<
-/D [2447 0 R /XYZ 90 429.996 null]
->> endobj
-2453 0 obj <<
-/D [2447 0 R /XYZ 90 355.095 null]
->> endobj
-2454 0 obj <<
-/D [2447 0 R /XYZ 90 320.45 null]
->> endobj
-2456 0 obj <<
-/D [2447 0 R /XYZ 90 283.783 null]
->> endobj
-2457 0 obj <<
-/D [2447 0 R /XYZ 90 247.116 null]
->> endobj
-2458 0 obj <<
-/D [2447 0 R /XYZ 90 210.45 null]
->> endobj
-2459 0 obj <<
-/D [2447 0 R /XYZ 90 173.783 null]
->> endobj
-2446 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F38 2117 0 R /F107 2329 0 R /F23 364 0 R /F105 2455 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2510 0 obj <<
-/Length 1683      
-/Filter /FlateDecode
->>
-stream
-x��Zݓ�6�_��fr:I �:ӗ\�̤m��OI�Cl٦����9׿�+$|c�;s�?!@�v�cW�����W��׃��
[	�������@̇������x��r� ��C���?�\�xs}��
^\nna����5Z
���.��0rE`��I
ˣ.
����6�4��4a`��)ӈ��!'�
y'�"�3e��K�k�]���68O
�'m��.�>�&E�2l��X�x~�Gpk[��Q@�*��ezXE��}J�x,��I�x�N斜'+�5�	��	p���c��6����|em�Ĉ�&�2���q��5��S�#��H�&(eB���
��&ss]A$���+g�$���h�'�O�D�
%q���{�0
��(�,��x[V`�I�0[����=]߾L�ġL9��"��b9��Jb]$	-i��)��<����:�
ƴ��Jg
�
�0�{��F!�]�"̼䖉z ��ld'&�``2FUmb�
�,oڑi�q��\,�{۶u��c��r���\��Z.+]��`�V�ӝ����z��gJ��t���f�H�V�
-P�!�
-Z�%�#�0�R��
 ���rp`a��6��f�f�d�,r9~ �P�{�D!_�B�(Ua}%c��y�6���g�c	���D@�кR
�a�Dq�����ϵ��0�hg�*7-,�K���"�,4��aC̐Ox/t(����v:n':��&u�C�
H
�;���^:�(�jI����P9�
UT$�Bh�&��mB�{
,���M��-��wxXt"�-%;	�;�Gf��!3��̼�\�
-��t%u��GQ�wPI���D<=VP���RA}�����3,x
	R��ة�)d
{��V�
-ޅ
��
2�m|��u�,�8�b��	�`k�0Qモη���#ҡx�VM	�{-V[\�6~�
-x
�����B���]aT����W�J�b�s���!�LW�Z��Maf�n�UW EUF5Lk1��u>g�!cI��1�
^�o��0
?��5�d!8Z��&�/�n�p
�w-�8��m1P$PU�U�#q�}�w���(��W�N�>*1��<�4���B>0���ëY���)r��Ԩj��
�|�i
�a�+<jvԝ�\����ݵ�b�

 "0�����I�F�|~7���~`,UQp�Һ!�	�9d	���(���U.')T�'���jo�C� �@ā���k�*�$-�#�
�
�
- ���	�e��y�7�㝸I���*�gG��RMI�hG!9�����v�^��7K��(�V��+)[;N���/T�A�ic�l]�'5[n�B�u7ꗶ|����-����"��m4����]���fQO˚�ִ�s�5��w��Q�z%����T��Xk��|*�^2Iۈ�Gt]nM{�-Rz��zK�|� �1���P��I�ו0��j
��=�
X�0���8���
�Zđڪ�U0�i&O>"�� .�Uy���f�
��(��)�Gķ�a������
�<Y&�d�¹�c�'�
?&����V�]��.�����C
^We
��6�p0x�\�u�b|[�ӅIU���85��G��05A�;��Oc���a\�sg����T�S^�D�R�s�B^�
-�zy�Z��7�fZ7:�6�*�<_�|q�Z��(C���E��r9���]s�
|-d��ҰE��?���EY��f�t]�
-endstream
-endobj
-2509 0 obj <<
-/Type /Page
-/Contents 2510 0 R
-/Resources 2508 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2304 0 R
-/Annots [ 2441 0 R 2442 0 R 2443 0 R 2444 0 R 2467 0 R 2468 0 R 2469 0 R 2470 0 R 2471 0 R 2472 0 R 2473 0 R 2474 0 R 2475 0 R 2476 0 R 2477 0 R 2478 0 R 2479 0 R 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2512 0 R 2486 0 R 2487 0 R 2488 0 R 2489 0 R 2490 0 R 2491 0 R 2492 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2507 0 R ]
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 685.936 187.264 696.84]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 685.936 293.213 696.84]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 685.936 371.148 696.84]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 685.936 455.727 696.84]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 627.947 187.264 638.851]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a) >>
->> endobj
-2468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 627.947 293.213 638.851]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 627.947 371.148 638.851]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 627.947 455.727 638.851]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 615.992 220.058 626.896]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 569.957 186.348 580.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) >>
->> endobj
-2473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 569.957 293.772 580.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 569.957 373.367 580.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 569.957 456.837 580.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 511.968 186.348 522.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) >>
->> endobj
-2477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 511.968 293.772 522.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 511.968 373.367 522.872]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 511.968 456.837 522.872]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 500.013 218.404 510.917]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.772 453.978 187.446 464.882]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) >>
->> endobj
-2482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.73 453.978 292.979 464.882]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.431 453.978 370.447 464.882]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.745 453.978 456.762 464.882]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 453.978 513.996 464.882]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 442.397 159.485 452.927]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.603 442.397 240.62 452.927]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-2487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 395.989 180.496 406.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07) >>
->> endobj
-2488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 395.989 252.994 406.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 360.914 213.153 371.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) >>
->> endobj
-2490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 360.914 285.651 371.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 325.838 213.163 336.742]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) >>
->> endobj
-2492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 325.838 285.661 336.742]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 290.763 205.692 301.667]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 290.763 261.312 301.667]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) >>
->> endobj
-2495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 290.763 332.156 301.667]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2496 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 255.688 205.692 266.592]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-2497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 255.688 261.312 266.592]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) >>
->> endobj
-2498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 255.688 338.781 266.592]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 220.612 205.682 231.516]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-2500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 220.612 261.302 231.516]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) >>
->> endobj
-2501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 220.612 330.462 231.516]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-2502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 185.537 183.824 196.441]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) >>
->> endobj
-2503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 148.843 192.272 159.373]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) >>
->> endobj
-2504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 111.775 189.901 122.305]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) >>
->> endobj
-2505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 74.333 241.935 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) >>
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2511 0 obj <<
-/D [2509 0 R /XYZ 89 770.89 null]
->> endobj
-2513 0 obj <<
-/D [2509 0 R /XYZ 90 202.741 null]
->> endobj
-2514 0 obj <<
-/D [2509 0 R /XYZ 90 165.673 null]
->> endobj
-2515 0 obj <<
-/D [2509 0 R /XYZ 90 128.605 null]
->> endobj
-2516 0 obj <<
-/D [2509 0 R /XYZ 90 91.537 null]
->> endobj
-2508 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2565 0 obj <<
-/Length 1647      
-/Filter /FlateDecode
->>
-stream
-x��Z�o�6~�_����?DI,�k�
hW,k�����Ȍ#L�\QN��~G��%Wr
ǎ3��(�:
���(;S;�^_N�|�$<�9�׎���
-�=��8��#::!�����a�������a�,o�$��Wy�/_�z�v|q������3Bb�p�/�H����Y��V
.;dD�:�r��7I���r
�
��<	
Y>�(�e>"�P�<��C����o���R�CJkp�N4|���	<~�`�`.w���q)�k�\
�`k��kih����e]��>!�it�(�E��rj�o�f&�Us+�5rK$e��H�)�.������ɲl�_�yqs
�G����1�P�E
��X�ĪO�Z
넰��<K2��i
�I�Q�dJZ=��J���l'Q�X��ʨ�r�q
��"�>۟�q����)�uN(EA���R�[R�O'
@�e�}��O-2>�
Ƙj|�-�	������3�~�N3KUѩ�	)�\�2$H�ݠ�2��y��⨎ga��q�fS�����p�
]�*c�;���"=�n��?h��6ԍُ�U�f
-=��}�ψ�3�����r��1��H0�8���
�H�X@�9���4�rEqڅQ��K�>0J'���0�Q���}h$0{,��|��V
L+*,b¨��%I���lr��/-�f7��[\�y��%�G���
]}���g2Uq�����U���%
����9����l�F���Ҧb����l_/�*�fu݇Ip��
 �
@ޚ>�le8��k���{MX�z�Qȋ�`|G��u2i�Q6_����
�-tG
��G�E��
�T���mU3�Q

��`�YwX�'R�7�P��1DV��#Q
`Q�ݎ�
��)��^�=
-Y����;A����J �WEд+2��À�R�ta���sv�4�s��
-z�ر���BK��НR���کm:R�R��@��� R} �Gb�c��a�\�����\F�;�(�[A����N�9~Mah�`
 ���)�!ʼnå8��
�DS��\
���\&�>
|
�u߆�L�Z�o��΀��&
���`�~;�
�=�4>�Aph��A����~ �� '/��
�����_����>m��/��:���SK�+���8�c��8�Ⱈ{�˹�@�a9���;,���r
-�rμc���E��� ����t;��D�-����
��g�
����o��&�)� ��n�撩���������=r�ּx�m�
3�l6_�I�1������2��I
k_F��5Y�K��I�C�$��dq\�}
��%��\F��OV^˓)Ф �j��+f0"��f),3�_�P�C����ÄKC�E�ҧ�0'�/<�	F��1��
`M<q
lAí`P�
ٽ�!�(2^�u���
�	�D��`�Y�{~;$�r��0���uD��ա]
�r-���I.Ӭ�k��p8i��p|���f�4��
U��F,4���#�/�O?���bض��9D@x�g�=����
{H�ʼ��g�>8��{����gy�D�ӈ����Eh��u��jQ2_��Du� �)����|9����^m�
|���c�MQ�_����ݡH�E�s��yr��FyC
-�j�r]�(�ey}
-	
�Lt����'
}s
-endstream
-endobj
-2564 0 obj <<
-/Type /Page
-/Contents 2565 0 R
-/Resources 2563 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2506 0 R 2528 0 R 2529 0 R 2530 0 R 2531 0 R 2532 0 R 2533 0 R 2534 0 R 2535 0 R 2536 0 R 2537 0 R 2538 0 R 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R 2546 0 R 2547 0 R 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2552 0 R 2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2562 0 R ]
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 685.447 193.229 695.977]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) >>
->> endobj
-2528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 648.271 238.459 659.175]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) >>
->> endobj
-2529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 611.843 187.689 622.373]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478) >>
->> endobj
-2530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 611.843 226.693 622.373]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 577.003 161.677 587.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) >>
->> endobj
-2532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 503.753 205.752 514.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) >>
->> endobj
-2533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 503.753 276.595 514.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 468.54 212.377 479.444]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) >>
->> endobj
-2535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 468.54 289.846 479.444]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 433.7 209.627 444.604]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) >>
->> endobj
-2537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 433.7 314.791 444.604]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 398.861 248.202 409.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) >>
->> endobj
-2539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 398.861 329.845 409.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 364.022 216.252 374.926]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a) >>
->> endobj
-2541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 364.022 328.042 374.926]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 329.182 254.827 340.086]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) >>
->> endobj
-2543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 329.182 343.096 340.086]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 294.717 236.745 305.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) >>
->> endobj
-2545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 294.717 307.588 305.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 259.504 243.37 270.408]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) >>
->> endobj
-2547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 259.504 320.839 270.408]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-2548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 224.664 240.62 235.568]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) >>
->> endobj
-2549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 224.664 345.785 235.568]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 189.825 247.246 200.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) >>
->> endobj
-2551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 189.825 359.035 200.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-2552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 155.359 193.577 165.89]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) >>
->> endobj
-2553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 155.359 232.581 165.89]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 142.372 248.845 152.278]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 109.561 193.577 120.091]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) >>
->> endobj
-2556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 109.561 277.691 120.091]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 96.574 247.177 106.479]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2566 0 obj <<
-/D [2564 0 R /XYZ 89 770.89 null]
->> endobj
-2567 0 obj <<
-/D [2564 0 R /XYZ 90 702.159 null]
->> endobj
-2568 0 obj <<
-/D [2564 0 R /XYZ 90 665.357 null]
->> endobj
-2569 0 obj <<
-/D [2564 0 R /XYZ 90 593.716 null]
->> endobj
-2563 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2633 0 obj <<
-/Length 2555      
-/Filter /FlateDecode
->>
-stream
-x��[Ks����W���Ѽ��
bg���8����bA$�B�
 ����tc�&^����'ࠧ����g@��[��Ͼ�<;��Е%Vs���]Y�2����f�޳r���w+�}¬��������w?\^�og�.��}��'�b�yE���ޟ����n��w+J��W����Jr�������h�
-m��tC%�
��a�0�����'/[��(J��kN�CtS��%w�j?棸�^ga���Yt��A�FwqW�@�>�i6.��?l/�c�'��a�_�Op�]�`��h%�DK��0N|06����j�:�
P������c�'~�,(n�m��DS�
��G�Ӟ^�Y=(\מZ3��rw�}�hM,���y�.A|�#�)�m5�G�"�2��@��x�p�	g
-�0"���1L�W���泌7���[�v�<PXzᾀW� ����Э
�O%0c�!(}�Hkg���{n at n��m�f��9��>����-,����[�p�rK���80���,��09�P����'�V��"����Zo�^�f^�*���
-
S�S�r(�r��GS�sL͒�pRPiK��
����-����M
�4�	-&�p�(��H��`��Ni���֜�y� �|�P�aU�T��
��2Qԙ(�r��_r�$��*`N_,�/���4���b���l:h���OiD3zP�V~j�EYa}�;,dl�����S��4UL�gCPiN3Y~�w!(aܶSp,i�,�$�&�r�
-�ҷbA�vݮ��n�$���_�s\q77w�˥a������<��
��-��OI3
�4�w����!_o��d_F�k�P [�}����K0b2��lst���G�V~5�u���]�����!�iNZ�<Fٽs`���w�l���
J[׈��Hi��d�?�js�Jג�AB�v���;�ѿKQ�p̞�J=��*�s�*��
y�@� :2 ��F���$�p<��D�kƘ$Qp�;}\XT
-(I��
�
-�wo"�q��8
���I�x�(��ÑcS�7��2�:
-�l�%A��o��n7����>,'��TΧIX�������� ;$�;�y�C�
-�\�a�b�J
-ʇA�؅�(��f�
\ �&�KZ
�N?�
mG��ˁ^J��˰L�++��礞}8~�}���ë}p<����
-���*�Ȟ� ��4�<?t�n�ˁF��
��{	�i��9v�-5ܸz�Q՗�
-��,�
�އ�@�͋�/a"�ta�SCW
nz1
����
��Na�9�Y8��Y(���,��0��-C�e�0
�ic�)m�p� t�Wc��������5t�U]x1
-]�H)'��qކ���}�
O��еT��K�.��$�E�	o�-��0��`N�°��Bx?���c�^<�v��K�ҧ�Wn�w�1��'��˺���4���NC#�97|��
�M{kfm�Y~���!���)�:����9���Q��
��d�N{W�J��UF��Qo��W"�
����9Q� >-R��^ҭ�R

�W#kf�w�
�	�h�
�������*
��}	�[��@	�{U�
B��Ak�J7�Ij�I�W���[�(c���b3��� �5`6�ВD�m
��C��V�pkA]�p�����p3Z2�jf�� A=ꀋ����<3�1��
� S��fW=�ż]/!�M���ݧ#�/���}�R�>�U��'�̷��t�
��<�3l���e
�q�
�<b��qx�Ӷ�p��
��a@�߯d��cX[% �]�
�),�@�G��31��U�M��<�"T���(�;.3P�O��Ӣ���Aj;{���DJ����/�
-96_����w���Z�����د�j
-QX��F�)���
���'�sg�';Z3aF:���6�⬽�=�2D��\ 6�ҧ ĺ��GN�� �!�
 ���I
F������lNl��91���R��� ����ĕ,N4�M�MN�yM��/P.�$���>�Ep�����e1b�F!;oχ|hV��8'YTX3=UPJY0}�i�/ˇO�'�ș��B(�x�Ρ2*˥�����C�̧P�d���5�S��"��Nͧ�F�g�b�fjs@�/���b*Z��5
��X)��;-�B��g�
��W�a|�}�%}:X��$`�7��m��>O�Ki��ɼ�?S#gf�-����ۘ
�v�X
����7lqE
-0M�`,�c�&�X�2a��2W�{���
�f��IXwW��8MX}���#����K"4 D�|�6p.ʚ���3��R���4w�?P.�J�%�~��E�C���kV�zޖIP
t��W_q:ڷ>�k��J��`� @ݱ�h߼j!
-I>v �e��x�����d���G����;4�� �B
�5�,{��!�	���<�����>�J���]�#
���
lE_� ~�"�0�E�I}4
�d�#r��F �\�e�;���*��q�7��>DԻ{�Yv|{~���H�S�GDŽD���;��z�t���
����T����}��E�E�/�8:�
-endstream
-endobj
-2632 0 obj <<
-/Type /Page
-/Contents 2633 0 R
-/Resources 2631 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2558 0 R 2559 0 R 2560 0 R 2561 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R 2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R 2602 0 R 2603 0 R 2604 0 R 2605 0 R 2606 0 R 2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R 2613 0 R 2614 0 R 2636 0 R 2615 0 R 2616 0 R 2617 0 R 2618 0 R 2619 0 R 2620 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R 2637 0 R 2625 0 R 2630 0 R ]
->> endobj
-2558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 707.957 223.465 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2) >>
->> endobj
-2559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 707.957 295.962 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 673.343 229.552 684.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) >>
->> endobj
-2561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 673.343 302.05 684.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 638.73 266.673 649.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da) >>
->> endobj
-2585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 638.73 339.17 649.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 593.157 299.171 604.061]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) >>
->> endobj
-2587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.508 593.157 371.668 604.061]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 547.585 217.109 558.489]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) >>
->> endobj
-2589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 547.585 289.606 558.489]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 512.971 271.126 523.875]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) >>
->> endobj
-2591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 512.971 343.623 523.875]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 500.471 326.259 510.376]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-2593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 467.399 201.742 478.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e) >>
->> endobj
-2594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 467.399 243.629 478.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 467.399 371.329 478.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.562 442.943 267.759 452.848]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 409.871 212.768 420.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa) >>
->> endobj
-2598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 409.871 252.959 420.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 409.871 375.145 420.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.657 385.415 275.748 395.321]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 352.343 250.099 363.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) >>
->> endobj
-2602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 352.343 289.446 363.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 352.343 379.512 363.247]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 352.343 513.996 363.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.43 326.679 403.696 338.844]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 294.816 250.748 305.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) >>
->> endobj
-2607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 294.816 357.317 305.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 294.816 456.145 305.72]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 282.861 202.344 293.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.462 270.36 409.185 281.316]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 237.288 266.586 248.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) >>
->> endobj
-2612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 237.288 309.697 248.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 237.288 408.234 248.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 237.288 513.996 248.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 225.333 171.361 236.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.141 211.623 414.324 223.788]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 179.76 265.396 190.664]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96) >>
->> endobj
-2617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 179.76 375.818 190.664]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 179.76 478.979 190.664]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-2619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 167.805 225.866 178.709]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.012 155.305 414.183 166.261]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 122.233 239.984 133.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0) >>
->> endobj
-2622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 122.233 280.82 133.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 122.233 405.104 133.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 122.233 513.996 133.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.277 171.361 121.181]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 96.568 432.092 109.726]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2634 0 obj <<
-/D [2632 0 R /XYZ 89 770.89 null]
->> endobj
-2631 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2700 0 obj <<
-/Length 2509      
-/Filter /FlateDecode
->>
-stream
-x��[ms�6��_�O)5S�x%�LݙƗ\�K���w�^���msJ�<��N��
��H�z�C_2�~H$����ϳ� ��;=yqyr�Jb�G�G=����#�������`D'S�1v�Mv�b�&�Y����E�����X?��/��m�G��.:}EHG-�9���I���Hof=o.t��0�|H�y��dJe>u�E��Ud�����bB��3�$}&\_h�'//O�{B@
v���@R9��ɇ߰3��?91���-
N|&���?NpmX�5��$y0B�`{f�)��7ÜS�3v���=���^�{#Ew��e:��Ax=����1M� /�x�D�j���X�*�M!��8�J�3�*�'
�߂9}�β���-��o�4
-����`aeg��ž%WA4!��V==��7�Z�Q�{ʙ��}!����
��ly^�|�E�Igq�VAU�qU>nV:�li�y�f�8
��8�?4K#mw�G��2�O�gV�{
7���
6�&�n���M
-�͸p���	��a
#!W� V����B
n�X��e����tK(�����tuxiB����;�ͮ��㍺
�Z�խ�֮�̣Y���~�F��F���c�?�?]�@�qs��IG _J�i����
-��K��
l�<D8k�X��"
-j�
F:�QsRE
O)�@�61����0"����
�����k�t�x0�x��V1��G)o$EGr�<�5H��x5��M���apҵ"i�8��� y�7b��y���s/���V��b 
�IQ"?�)]���pJ������G���	�^J��I�L)�⟜��
-�x �����0��j><�� �-+�1��X2�yn�dj�<H�L!5
-w1$=��R=iM]ˤ���A��,[��*No��#���Sk�!3]E�*�ҡ
B�@���F&L�j�@�O���a���L�-����
�o�Z�WQ��ET
){V�U�{�A��.�^���Yn�"��(��(�E�/�
2��
��'�#�ﬤ�}��
-ʜ���r`����=7�����;})*t�f�R��i2(ݴ�^Ѣ�Z�9��.�e-�2<����}#lP�
Aq�b<��g��$��!]h4�Nl�W렺��f���x��U�%����8��z�w�|&���*��N⻿�-�A# �1�/�^��{�l�K�XH�N�@;����>}�#�&��U�gf��uC��e�y��A�A�J�����<�_�\��g:�{���Z��?����?�}���__���L&�A�i�d at TWɺvA|s[�s+r J�M�W��s��p�<oӗ���V؆�)��7p�Ը�7�D� %3r�K��|X�0�j��!��
��IF��<a�
�(W�Q9��P����!J�	P�u7Ba��+u�·6Bu��
-߆#nlE��x��w-j�������)v��S+�Z���o�P4Mm�ߖ�ـ<�8m�pq1d�yd]�AB�Q��,ϒ�&��I0K�rY
�
L�
"��2?��I�~�q��sMnf���ϊ�GJ���1<r~.��

�"X��䞺y�i�D2F�_��(>����C�'`L�Ϩ_Oo�];�t�km��%����V�b�}�{ZEr�UT��9C@�	�
�ȗ��c"�*�}5O�i���Q������
ԍ�lچM�M6���**6g<=�Bui�� �c
�:�{�q��>�>
����:_��ZE�~!�f�f�n1���G\(b�{(���C(��A���Ń�����`ϣ<���YO=e��S����Z�N�yb��
-I~
P��t�#X��xW�<�3z���&)�=��
8T
귟����>�w0飀)0bX�q�z��.Yw-w��e�
�
h&ĵ��K7��n���!���ŞM:F�i��F�����׶��Y�����^���^u?��t �
�F
����D�7�
+ۻ3�ʤ�j�ú��G_���{dڜ��I�uV�=�A��r��A	��� �!
-{�g�5�iX�`���Gyj���
-E�c�,�kt��Y�)�
f�׹Ų���5�DJ�}9 ��{��CU=������O`���kYE
��"����_��=�a����
-#
v�����7��$�����|��|�f�5rz�h�b���|�#9���H+d��G�{%����U�>��J��{����P�74T�=�&yh��4�����<�?m��߶�}A�$L}�
�����/6�}��A˂�`��r$����Ϝ#%��xu�������E��������L}��,�н��wv3��}
#�B�G�(_|�<
H���m��E{�
�H`m��D���r=�~�m�
/<X	;����ex$!`�_p�D����;���EX�l����������g��m�;}���	��b��Pi;I�����u� g_D����~w�o�榝�%��mR�������j�B�-�8/P\�B]xz�QBG
�J�J���cYQo?֙za�y�`�? E%�
-endstream
-endobj
-2699 0 obj <<
-/Type /Page
-/Contents 2700 0 R
-/Resources 2698 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2626 0 R 2627 0 R 2628 0 R 2629 0 R 2702 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R 2703 0 R 2659 0 R 2660 0 R 2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2705 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2691 0 R 2692 0 R 2697 0 R ]
->> endobj
-2626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 707.957 251.209 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) >>
->> endobj
-2627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 707.957 290.549 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 707.957 409.969 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 707.957 513.996 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 171.361 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-2651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 682.099 456.992 695.257]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 648.839 224.57 659.743]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) >>
->> endobj
-2653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 648.839 297.068 659.743]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 636.144 347.869 646.05]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-2655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 613.837 199.556 624.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5616d386d85dc734e155a67f12e7752f) >>
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 613.837 288.991 624.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 613.837 449.718 624.741]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-2658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 613.837 513.996 624.741]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-2703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 601.882 244.556 612.786]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-2659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 601.882 395.48 612.786]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-2660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 601.882 513.996 612.786]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 577.232 164.537 587.138]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-2662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 554.925 273.129 565.829]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4) >>
->> endobj
-2663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 554.925 352.41 565.829]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 519.924 282.978 530.828]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209) >>
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 519.924 386.79 530.828]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 519.924 513.996 530.828]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 462.008 255.564 472.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) >>
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 425.014 257.637 435.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.974 425.014 330.134 435.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 412.32 378.454 422.225]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.706 378.057 260.243 388.961]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a24d2b69146ab1b2216e437468a818cea) >>
->> endobj
-2672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.792 378.057 337.952 388.961]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 353.408 378.454 363.313]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 331.101 257.786 342.005]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd) >>
->> endobj
-2675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.123 331.101 330.284 342.005]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 318.406 375.773 328.312]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.698 296.099 308.942 307.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) >>
->> endobj
-2678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.477 296.099 386.637 307.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 296.099 513.996 307.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.489 271.45 302.72 281.355]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-2681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 238.184 245.911 249.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) >>
->> endobj
-2682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 238.184 318.408 249.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.091 225.489 513.996 235.394]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 214.53 189.266 224.435]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.576 192.223 292.328 203.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6) >>
->> endobj
-2685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.618 192.223 367.778 203.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.662 192.223 491.489 203.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 167.574 310.533 177.479]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 134.307 236.197 145.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294) >>
->> endobj
-2689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.534 134.307 308.695 145.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 121.613 357.84 131.518]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 99.306 214.06 110.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) >>
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 99.306 286.558 110.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2701 0 obj <<
-/D [2699 0 R /XYZ 89 770.89 null]
->> endobj
-2704 0 obj <<
-/D [2699 0 R /XYZ 90 479.175 null]
->> endobj
-2706 0 obj <<
-/D [2699 0 R /XYZ 90 116.473 null]
->> endobj
-2698 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F37 2635 0 R /F105 2455 0 R /F41 366 0 R /F23 364 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2748 0 obj <<
-/Length 1883      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~���K�X0����3��i�����$��I�b˫eY�����hI�����$�����^�ڕ���N^�O�/\���w
G�/5k��#ہo��I��ɗ��t<D|�__��n���|Ɵ�����sB�ֈ\o#�������E��
#������j�a�g��N�8�J��v:"�"V�� B� �
���˴OSc�zb`=�#��KT^)�>�Y�c�I���?���N���TeP�IP�y������|�gl�0�X����UP��-L�tB��ı�	|��#�{ɧ�A�U�ٖU4
�4dj�u6�y�r<m
-F�m[Z��E�m�/����
�ج����)'�p���zNU<�`ғ��N�p��8_8%>2�)1��=��/iQN,[�'`�l"�S��
���)['�D�/�	{�e��tG4���1 �<-֕@Z�|��;	��f�\��=Ա9�r�@���(��L�w;z�&A�o�&
��ӳ
����^U��R�H$��e!s01��+0AP��԰�T>�$�iL���`H!�]Q	�p��]����Y�1�
��Fe4J��t]Д8�,���Cw���R��ur Y������o�(^nfx�4cxi���@E�Ӱ��9�"��x�Ld���0���8vQ�`��ET
�A-����a�I��7�,��C��鱷�0�c
.�Q�Fxb`D\�&A:����d�o��[��3Eoa6�,O���fr L��z�
�����9  D�	�+��SB]��_@�o�
�XD9U����0C�_�,�ǁ��
����JT4���RŀC9���-)<;�>�B���`bz�s�%ޡPn�i3����g@��G}�
��cI[��t�݆��|`;���L���g����<G�ِ�q
�E�At$�ܑ��@l_�~
"�4������莏{ �?
-�2.�3:�$OALH�Jv/����uf:�U���q7ku�#��'�`_�hy4�0�g��������
�K�ƃˇia���*df��1��5ƫ�6�|
����e�����v r�;.5
R�t=�
�@��\�dt�*��kѴ��J�@�v��"�j�γ��kg8�n���gA�
�^TBeɢ��G��`�5g�0R^N	�
�_�
��4(��gn�]��b	ߏ�.�P�;�
�!m�T�)Av3�|�P9���u��L!Փs�
|:�ѿ���=��'���z1bl��
C��+�S��*ļ����hZ�C�0�n��0/bz�:L��50�J��"�z��^\�v#�5�p��� b��sr����#2k	�W�@����Fe�C�DO���F�&�
�
��l�7`8a���V���5r
o�"�4��
XD`<� ���f��*w��L��x;i_�ǁ���
���s��C��\����c
�Xc k�4��ܷZ�ِ2px���C
�ͺ�A	Y�]eQr����հ���c ���<O��A�(i�Eچ	]�m˝��;{J;�t�1xQ���2H
�$>"V�E1Կ�錄u��iP׏�s�A�1 ��q���N
�o���p�*�4����
��s���L{�#/ʘfѣy��0�-�s�?���!]�-��}��l�� MN3W
��

�]w_������s�
��g!�m�u��!
�-���������T@��I�r��ͳD�׉�c�:yFS��
�F��ӑ}}�^�]���XM�
p�
�A�
8�<�
z��
�pG��0*h0��K>_�
�T���y�]ѨT_�/ˠT����m�~����Z��R�^*���dp����$X�њ�R���z�+'���s!qm�YUU����f�A!C�,.JW�E���:��.���l��k�4/i�����A�݃V
-endstream
-endobj
-2747 0 obj <<
-/Type /Page
-/Contents 2748 0 R
-/Resources 2746 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R ]
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.221 707.957 284.876 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) >>
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.455 707.957 357.615 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.095 707.957 476.922 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-2696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.902 683.017 286.2 692.922]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-2719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 608.419 289.866 619.323]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685) >>
->> endobj
-2720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 608.419 359.324 619.323]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 572.837 290.971 583.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e) >>
->> endobj
-2722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 572.837 360.43 583.741]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 537.255 224.003 548.159]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) >>
->> endobj
-2724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 537.255 296.5 548.159]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 524.27 272.49 534.175]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 501.672 254.15 512.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 501.672 338.263 512.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 466.09 284.585 476.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) >>
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 466.09 354.044 476.994]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 418.553 241.726 429.457]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac65231748a66ac5c074502cc8e652e10) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 405.568 407.658 415.473]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-2732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 382.97 249.318 393.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) >>
->> endobj
-2733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 382.97 288.321 393.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 382.97 371.519 393.874]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 347.388 240.62 358.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51) >>
->> endobj
-2736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 347.388 324.734 358.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-2737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 347.388 389.5 358.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 265.624 203.075 276.527]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-2739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 265.624 296.324 276.527]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
->> endobj
-2740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 225.343 287.856 236.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 185.063 294.481 195.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9) >>
->> endobj
-2742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 100.949 180.54 111.853]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac91aac77237c2405df039c4fcfa08ab0) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 100.949 253.037 111.853]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.336 100.949 366.497 111.853]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2749 0 obj <<
-/D [2747 0 R /XYZ 89 770.89 null]
->> endobj
-2750 0 obj <<
-/D [2747 0 R /XYZ 90 285.31 null]
->> endobj
-2751 0 obj <<
-/D [2747 0 R /XYZ 90 285.31 null]
->> endobj
-2752 0 obj <<
-/D [2747 0 R /XYZ 90 245.15 null]
->> endobj
-2753 0 obj <<
-/D [2747 0 R /XYZ 90 204.869 null]
->> endobj
-2754 0 obj <<
-/D [2747 0 R /XYZ 90 120.636 null]
->> endobj
-2746 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F38 2117 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2806 0 obj <<
-/Length 1641      
-/Filter /FlateDecode
->>
-stream
-x��[s�V����#͔�s�x�>�֙4M]�}J3�
��	HT!��w�n �N�K���h��=�߮�b����/�gW��W
-;I�su��(n��p6r޹#��	��=�v�d��=��x��
F�?x^'~�8;{�bpy�O�����W���%�#e4L�K}Z
i�lg�Հ�-2
"LT~��|짩ק�0C�`2
�YP\�n��#�
�!\R�	�(+����w����)�
'�w�3�˯
��2�M
N�����=�jXBh�/�"���y5��YGi���+�a�O9Ҍ���~Wzdw~V
iy�Oʃ(.oN��5��Ts!Er��E;D"�4L(�����R���O!�0��ӈKS=�������B��;@C�DB�Z�bD�$�vpS 3Hs��
��CZ)�v7B�ltv�Y��B�I�������
0ǻ�v<
?��m
ɑd���馝V�V�kC�mܲ����`���/k5�V�lF
SH�i�f�0�v	�������Q��X��)�<�*b�n�D����,��Jǵ���ps�B\�U�=&�S�$��
 ��7��%���x����S3ڋ����nT��m)���~CFs�q�
-�K�{�,
.
%�p�U"�fI�9�Z��j�̒Y��
��!%kB�7e
-���G�Eq�6���Щ|���
-IZ;��)�$M���=B�~�1���� ��ٯ8H�{���a� B jtI
~P�а�q���8�*GjN%
�̏�<ᘺI �8�?��4�@�zĽ��c����W���.~��e0���JK�Rl��5B	R�,C�Z��9v_~ʂhTO48����f�Ŷ���AF���������ٙZy�gjl�f�]��R}1���{�I��/�K��g�(�n/�d[�
��Π&� 
n�5��	�5A�F��fuDyuR������|��|�r-E�g�A6�h
Y)�H���
U\��� ���DSؾ4�b�3�L8� �`Va.��mT&G*?2�%�L3�u0M�IJQ�X�z7,C�����TA��eP��ˠp��_;z%j�rO��o���;$�6[k� �4^���o��]�O8T�Y���	�cŽ
쌸�l8G�ub���
-)�[�@!U�M�+�P�+�کޘi�u�v�:�3�����3��j������
-
��XJ�C�b�8p!�����'ޮ���2�XFGT�E�é�sǃ^�0��l�	m�_h����6��l@[`�phk�학jhۙ������X$?�G�ì�
���W�Eõ˽)�pP3JɂT�d������@��ʨ]1-�ʿyi�)m�Xzq�}����X}����
�S�P�r��E����Y~�[����q!w�y�S<]�	{����y[`ތ�و쑝hay�M{{$Cx�ao. at i��yѐa�w�M$횁Z�"�)�Z�5�w����Q�Gv�oW��6k��i0
�q�O��ōS�u����6��&�C �
v�\H�vm�[�� �H*Z��B�F����w�<���8-��8�3
�'�nZ�����VT��a\���EN{���eP9F���:��n]Y/��t���,������s4L�,
-�	
-���t|�I�)�BT-���9����0���6�7���/7��
-endstream
-endobj
-2805 0 obj <<
-/Type /Page
-/Contents 2806 0 R
-/Resources 2804 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2765 0 R 2766 0 R 2767 0 R 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2809 0 R 2803 0 R ]
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 644.503 226.034 655.407]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) >>
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 644.503 366.336 655.407]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 591.547 178.239 602.451]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) >>
->> endobj
-2768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 591.547 250.736 602.451]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.035 591.547 364.196 602.451]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 538.592 245.522 549.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_af4b0f891a6911d7784216f537fa3e473) >>
->> endobj
-2771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 538.592 325.229 549.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 526.637 159.071 537.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 526.637 272.53 537.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 526.637 376.217 537.541]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 473.682 245.522 484.586]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) >>
->> endobj
-2776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 473.682 325.229 484.586]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 461.727 159.071 472.63]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 461.727 274.499 472.63]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 461.727 379.78 472.63]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 396.816 243.605 407.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a47a21a1c8a88c306877d15d4dbc697b4) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 396.816 323.607 407.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 384.861 159.071 395.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 384.861 272.53 395.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 384.861 376.217 395.765]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 331.906 243.605 342.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae5c66812ab981ee2d1ab96ce218a7782) >>
->> endobj
-2786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 331.906 323.607 342.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 319.951 159.071 330.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 319.951 274.499 330.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 319.951 379.78 330.854]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 255.04 242.189 265.944]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad0a9267e420144cacfb867076d00a803) >>
->> endobj
-2791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 255.04 322.409 265.944]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 243.085 159.071 253.989]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.37 243.085 272.53 253.989]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.66 243.085 376.217 253.989]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 190.13 242.189 201.034]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) >>
->> endobj
-2796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 190.13 322.409 201.034]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-2797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.175 159.071 189.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.339 178.175 274.499 189.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.223 178.175 379.78 189.078]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-2800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.742 113.264 159.108 124.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_af6351727d099ad178db8b8e742507f4c) >>
->> endobj
-2801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.751 113.264 321.994 124.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.784 113.264 513.996 124.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.309 140.251 112.213]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-2803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2807 0 obj <<
-/D [2805 0 R /XYZ 89 770.89 null]
->> endobj
-2808 0 obj <<
-/D [2805 0 R /XYZ 90 703.783 null]
->> endobj
-2804 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F97 1185 0 R /F106 2334 0 R /F41 366 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2826 0 obj <<
-/Length 3244      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���[��F�4��f�L�&�vݧ$�CI��]��T�ί��� )H���4}�)888��
 ��gx���˻��oR<�P&���mf��<C��_��O�L^�r�݌	�H&`�~�Տ?�}������뻫W>�1����j��/x�����0b��=�A��
��fo��q�ϲB"ĬI0��\/�x����rW��4Q��U[6}YW�[<[P�R���}�ovy_�o�� =�KN���_̈)J�t�Ǧ��}a���L0�
�"BOm�en�j�w������y��󷯯)�׻�m�n�/�m�>�x����7ۼ�m��
I����x��"LLXOD0`�G2
�K�^��e}��ZB����&�M�ժ0:�:�^0��w[��m
%i
-g�J��Lu6bT���V�2=�U�'̍�w�Zm���[�f�6R�
��1]�E՛�mѴE?sm�z`��
-�e J0�,���A:,�i]ߖ�^I�q<_Vk��L�f�� �V����Y0��r|?���]���J��
�MX��k��
�磙�8k4
)Žڈ�	���6؄"�l�He�
��B��v��T :�b0ȟq�_�z��(�ZZ�,s r,�n[�=� `p\������y���=,�_n�zo�z7n��qջ�y?`���k2�_��|�YtM�r�x"�m��-+&d��} 
��ʕ%b��(�:RV֙X�
�'P%�Q^V}g>�����fm�{#wǁ�S�)�r�"�A#�h`p�,eRB$2�#�Y���bQLg���1� a�
��>f�'� c
�4d�>��%��F<c
_��-�.�
d(��+"���er���=1����������`MLu[�1D�x�V�θ,'1xml[
�Oe�V��|g~U��F����)��9/sc����
-��6������g�Ҹyj����3:r�4�'yd"�,��L�dn���/U�
n��}a�eF�&-����T�P�zK���<
;�k��i���ˆ�H�����F��y5s	+;�r����G�+��z6I�N�RE�Β��
�����R
��\f�ܼ�d�Hس�:�	$(�$�
,>��J �z���C��D���X�U��ygXx(v;�w����,�k�̕
��~�?�&�EV%ޑJ��b�$ҙ-B q��M�ns�L[�[0�reG�����L�E%g�Efl,o�)�
	��
<���"N�9w���A�����\Z�u�
��oj�@�/t��ʆ�"�O�BT�3!)Mƣ~Z$���Z�-Veg���|����h�{W�@��&+��G�@�ѷ}D�#��4O�ia(�����qR��8
��l"*0J �.(AI&>Y8��X
FY���u�����u
-�޹����E��ՓB���r�+� �L΋�2}���
�HJG6S��d�Dtc
���w�����:ŷ߿��,Q�b>�T�7��5i/�� i�g�t�|8M��@J�ĎA�04�EyR�2�K�hy�aۏ&�����vTg��\<���vVn�t%���Rw/���Je���c�DxX�tW7Z0p�h�q�;a]�FH{o;"���T����#�yM�M�f��= �qt|���
�I1Ye�u����uh��b�M9�
�O�-
l��[��w�>?�P��R�Z~58��Pʮ/\�T,�X�r�
4��/~�����;1^�?[���xs�B@��ԏ����!ߕ}Yt�\�˭(���x֖��aw���!�D��
�櫢)48Q� 
�
 ����z}c ơ�f�_��o��wG/�#�O
%��|
-�R
Vi4��`(�g��A��
ʝ���P1�sB�B����������y�i^{6�XR
-��{

��ų�f���߰X�ſ���.ߍ��h��
-���u6`�x
E��ʝ)J�j�X�J�0�*���~*b$��.Խ�l��BJ'��X��"d8"�|>����
0G0]��oU�P�E��f(�Rs�S�G�P�����4r��
�&�^pe'��d��q]I����:B�E�Q�@��X�O ‡uT��,��>O�e

N��&�M���k
֧�uj�AB�hc[d~�n��1�T/V��ݙ��a�5O:$�::`�}�h���,�����pL�)���6�D/
m�Y���*T�
�&��Zы1/}�M��@e`<Ue��p�v����"txcs^e�>ɐ�K� ʗ��1
�[�\J�9�4���_�\9b�R�|W���[1��=dd�&WnS[�"�Abd����[ӽYE
Vfr
�F�:�#|�k1"F�A��"	���Z��"A�� ��?�0!��Վ�֘ΊV�����]m�p�6������jUE�I&0�${^�T꾐�&1b2�kW��u�;�
�Ȉ��]W;��SpmN�N�
y[�z{uQH���Ô%��a�+�/T��M[�Tg�
-�B��~AH
-��
y;���LLZ�R�^r���E���E$�8
� ���BĹ^m��7xZ���w�`�V��v�

���T'3�$��X�����&��
n�r!��QGٓ���EUH#Wq
04�|�m�N;s)A2e��?�Z� C�J70�Q�f|W�$r/�B�RA��1ô��;3�L����@�a#���[(�g��fC�9�
7CckB
BX��.�Q_7���*�/�3=�
���a�?]�j<U1<�����i�E�ha$��FK�$P�N��'��@H��b�k��38��:��uX�aw)wY���i�
��2��E�sH�D�>U��g�>��6C��q'��JA0�gg�%ӍS� �`e4�j�����%
-���D��9�����I�s�I=��N@QN?	;IP�#��2_fǂD����!���DM��
��/�jl��(Sdz�l�ng����F�W]�)\�����vp���0`���[<|[凳}[���@���U�
s&Ē�ye�S
�w�Z\���!�@A�v��~B���ĥ�
-����#u��H-����f��?��
���N۩����\�-���
b��\8����_��m�/wÙR��L�;DOt��J�bU����+��a; �a��.q%ݺ0��
.@��y�ԁ�7Y�V��Սˉ�e�Dh8����:P�NBd��])�B���c�׊aue���4�O{q���WW�R���ϫ��bJ�>�?�A�w(UQ��p}���3��+���i�"�;�۾o^��><<�U�Uٴ��o�fw;Ac�u�x�+�žv�)+u���VB%��w��
-endstream
-endobj
-2825 0 obj <<
-/Type /Page
-/Contents 2826 0 R
-/Resources 2824 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2570 0 R
-/Annots [ 2819 0 R 2820 0 R 2821 0 R 2822 0 R 2823 0 R ]
->> endobj
-2819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.861 449.19 170.418 460.094]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-2820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.722 248.473 349.228 259.377]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.725 206.938 193.232 217.842]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 110.887 336.939 121.791]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2827 0 obj <<
-/D [2825 0 R /XYZ 89 770.89 null]
->> endobj
-2828 0 obj <<
-/D [2825 0 R /XYZ 90 721.073 null]
->> endobj
-2829 0 obj <<
-/D [2825 0 R /XYZ 90 677.262 null]
->> endobj
-2824 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F10 504 0 R /F72 400 0 R /F8 537 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2833 0 obj <<
-/Length 1596      
-/Filter /FlateDecode
->>
-stream
-x��X�s�F�_�S*��t
n���v:I��FJ��$�AYLP@�忾{�q	[n��K�"ഷ����=l]Y��ep6
��	l��w�kM���-�����>	Ftd���rD�0(���rD�0K��hQ���������l�
-�h�y�b���[�;H�

Zs}�H:'˓��`���G����1?'AY�l�10��0Z�IPEj�m����Q’���d9����-�����p=��[
X~aa�@��hm9��3�&��Xv��
M-�|���%A�f-�����y�`�O�c
?�G)�}�N�VҒZ�G{+i��52�YӦt��!����& ;j+����m;�C��M`�k9�+�s�%I6�|x
�Wj)��Ϲ��M�,���8;�4�E�y�.��*됆����*NX;��Ð�Hy�C�r�9̓�[
�DK�MGC�U�щ:�*��}
���Rn�*Z��l�h��U�iU�v��rO;~l�\���M��7<f}�txX�EX�8-����p�(�>Q�;��o�c�����l�~�I�o9��[N�}�I
�=�>U���
�f�^��D ���k��C�fi�Uo�*+�b+&�7\27����i5e�M� ��P}.�b��.�3�A��D=��l�.���_�K��&�P0y��H0���F����A�(Tn�<+�hqR��f�|��
TB��8It¯
-E��J�Y$��&�@�L/�^	6e��D��A�����kX�
���R����g俖�}��AW�.
}����x��mk�"�9��Y6���c2�5����\@�������ʣVk��#P�Cl�D�Ur��}[Ӈ�Y�;������<�Bw͢iU�o�*+T"=R��|���u�U笶�Z\�|���;�hD�}M& ��7�6��`-�E�ޖ�Cuw���
�N�ouȮ@&G:d���-�s��
��HXvf�c#��M�"����4�>w�2藌���zf��}b0D�!�ptZ$�r
-#)���u�8q"c�Ad]EiT at l�.�H�T��>��Ƅ/1��!{
-M���D4�{������E'G �0�����fu��?�i�щ���&O�0�>�5E�!��Rݫ�
�Л�՛�.�M&BbU۽f�iOM�.�(�?aL��Z�A��3^G��-6��2��9���uG����

œ�zw�'�#�
�K�v�`
]�[
�M�̹C��E�qJ�r7�4[����WW;[
(��w��.�(x��F����z� Ş(�DŽ!�
�U3�4��|o��P_�p   Vm]�� O�)���"ȓ�:���0�c�{�HO���
��q��{��Q�ח&�dۇ�H��4�{ZyyqWۙ�
�����f����v�yG���1z�a��W�//~>���ЃH���bḈ3�[,
\
��8�pm��\Fug6R=�C�teD ����(ՃW� DP_�]�}����H_�Y-�b�΍� ;{�[}�
-�o���}W�K)��\�٤�����>�AW��T^��*H7A�)�4s&��D����l9�"����ռ��ǝ�ă�
L[UU~:
___# ����8ϓ�!���
�e���0�a�^����'b|$
-endstream
-endobj
-2832 0 obj <<
-/Type /Page
-/Contents 2833 0 R
-/Resources 2831 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2830 0 R ]
->> endobj
-2830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2834 0 obj <<
-/D [2832 0 R /XYZ 89 770.89 null]
->> endobj
-2835 0 obj <<
-/D [2832 0 R /XYZ 90 390.593 null]
->> endobj
-2400 0 obj <<
-/D [2832 0 R /XYZ 90 366.098 null]
->> endobj
-2836 0 obj <<
-/D [2832 0 R /XYZ 90 366.098 null]
->> endobj
-2401 0 obj <<
-/D [2832 0 R /XYZ 90 198.553 null]
->> endobj
-2837 0 obj <<
-/D [2832 0 R /XYZ 90 177.715 null]
->> endobj
-2402 0 obj <<
-/D [2832 0 R /XYZ 240.245 77.486 null]
->> endobj
-2831 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F72 400 0 R /F56 363 0 R /F31 503 0 R /F7 538 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2842 0 obj <<
-/Length 1443      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3ËH��6�I�b]/�+��Pl�fK�$��ߡ���Ȏ��

-?X����ܾsD��
�
��'/|�(����Q��=����̹v	�Û�+�	�����>�v|�v|e�
.ƃO��C� �|�LW����`���S���V�G�/���_|
!��
-
-��c���n�W�2ȵ�p�5}�<B+���-�>-��6�Q����
��
q�W���<*k���1a�<��>l
œ?���x9$�
�U0�
R����B��`�:�M�t{zz�|2*|>�D�l��

-�(�_-��O1*��8��q��Y!*�ҲM���p�#�xGYn��ˇ�
-^��x��{�J�
�;�uL�T���%�էl{�x�;�Z��pę��^�>̷��e�e}��9P����w�@��g�VI�v����Hb��go?L�߽�|}���=�%CB� �?�O8��M�\��2�4�* ��}�
�a~c7r�
�@2I���GK����r�Aps�g�B�����A
���C�]s�y�N66'f�$I��pk��N�w�vt�b��i�{-�
)��
d��(UD��H�Ҕㅮ�Ox��,�tH�;_�t�ۙ�T0�Gq�g����F�/�{zߒ=}{
-�H�p�}	A�Mla��#��1?�B�S8�p.�@Ǭ�LQ~ML�s�a�O��x�N�����qӬ/�U��%��{��$;{~e�Ҹ�(��:�QR�NJk��/�$-F�z���T��.h�slvy��A��B�a�u�&��|���n�#
 bM0
���y:��Pa��SFZ� )��4k�o�t�F"�p�,����
m�
5�˳�N;{��y�5b��j�sq?Չ��/�E5u'�g��a4��9X��I���x at E\L��c�Ʀl���17�s����a�r�YSf�
��Y����;��ӛE8]�Wa�2�s;�aV�r����:I�4�3;���U&\m�3��VU�|������x��U�SH0��
m֪�G��k�W+��ZGS}L��o4�㼯X�2�`� O)�e�?�XKEi�6���
�>��73=r�v�7�wt������Zr?o�7�O������M9}�-�� &ds��
3ى���1H�}���y-҆�]҆���j`Z��Zٞ7���H[ [...]
�
->C�v?������@\v�>����*���ܠ�&HC��ںDT�y��a4�O�8�A�3�c�}}��QH��z�(5�\T�7�v+V�J4��T,{9'�o~'���L}��k6���r�
�
{�[���Y��0i;fX
�y>�Jv
-����0�P+n�Ò ��}�ӟ���v�&����>�|�W<iS�1p%�&�����.5����TO
-���������d�٠i��Q��(�O�dy��H!
j����[ũ�����N��/&��/
-endstream
-endobj
-2841 0 obj <<
-/Type /Page
-/Contents 2842 0 R
-/Resources 2840 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2839 0 R ]
->> endobj
-2839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2843 0 obj <<
-/D [2841 0 R /XYZ 89 770.89 null]
->> endobj
-2844 0 obj <<
-/D [2841 0 R /XYZ 90 721.073 null]
->> endobj
-2403 0 obj <<
-/D [2841 0 R /XYZ 240.245 627.487 null]
->> endobj
-2845 0 obj <<
-/D [2841 0 R /XYZ 90 610.187 null]
->> endobj
-2404 0 obj <<
-/D [2841 0 R /XYZ 90 408.525 null]
->> endobj
-2846 0 obj <<
-/D [2841 0 R /XYZ 90 393.382 null]
->> endobj
-2460 0 obj <<
-/D [2841 0 R /XYZ 90 191.72 null]
->> endobj
-2847 0 obj <<
-/D [2841 0 R /XYZ 90 176.577 null]
->> endobj
-2840 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2851 0 obj <<
-/Length 1819      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W𩥀j��%��@�K�4i��$�AKk��H�$��Y��2%9M�>����rv.g��X8X8�qrv99y�p�XR\�1����ކ#:��qx>%8L�,�:�R
���^��ի�L���ӳ�W�d���/_�<'d ��
�8�C���-���$�n�
�#�D���c������ ,���6��v�7}��)�B��aIq&�RbdN�]N���b�!���y6y�

X~`����fSp��.&�N��,���(F�@�(������zS�E^5*�
-G`��)�tF`I�@U���4ͧ
��u��J��6�y�I<y�.(���We1�"�ͭ��{�W�k�}U�����R�L�t�N�5/j{~�����֭��n��n�4�+4�!
IƂ��S�#��Cg��!pT�8�������P�ot�d�h�F�(@
y�wP��đ
-qL�$���p��C�z��ڀ�1G���
l��s at +Ē5��7�dUa��WN�1A����
��x}3�I��'�Wߥ���M��Q�$�Dϻ/F��
-Q��]+��A�;����'��>���oFF���8��ɜ1��h�)��i�Nsm,o��:���{+�K���qW�\1���6]/\6%�r����ܔE���)��5�]�e�v��)�� �b��C�A�fLr���4�1� <y��y�/�����VC �{[A����(�z���oWE��Ĕ���E�Ǣ�ncS�̍�1�za�י�"w7�F��w�v����3B�U����ťg���R�B
����h� /�>�{B%A��rZ�H���`��`�R� 
�@�[����-�麶��%��U��׺r�7��12�T�(�}��G����c�-3F�ģ��
R
�d�b8"<:�1��q at 7�V�nѸn/��tJ�T4$�
�A� ⨪�1:��BB�|��Pe$�߾S
k1%�'T	��u�8%amWΊ��S"$�QE;�>"�I���ƽ�Qb�-Q��œv7&����A�
,EϦ���p1�IZB��GH����Ѡ^D;|7��ш:r��ɹh�ᶛv��;˪�� [...]
-��&������*mZ2xӜ�oU�,Hu�Kk��
�lo
ݷY�Tl�۔������^%u��|�]聞�y,�f��FcǦu��)��@��$���)B��]�`؊��%���ޔ�P���4"^���v�ε
ND��]�wǝ=�9(��y$s�i
�<��r��gIӨ�	ћ��e^���i�U;�t͕}�V��n�3�e^d)��y��"<
dx���i����c1���:_֫+]�Ey�k
-�D����	�
�
��m
a���Y��yS�wn�~��nI�S:G�Wپ#��`w6
��.Ͷ�]�&�jڴ��ӌ�f-�BIa����
m�X
�!q�w�F��j������r��o*U�c��$�r��%
-w`^��#V@��!�s���
���fn�bv���_���:�ޅT�������O�x�C
OZ�
Ǔ�|q����xw�p�=�`��Od�i��$O�$�Z�l�$�=�'�H�3����gb����>�\�(~i�ˣ��ɝ)��������ӱ�t�r:�9
����q:������ �
-H�8������.��ԱG��"
-���;����!@'�
��F�{�$Ϳ#��WͿt��97��u�-��GG����J�_O�
�^'�����F$��p���IM�7e
jÅ��HkٟA{�Ӥ�T�/�׵AX���������+���M���d�Y�<D�@
-L��r�k� �\�尘%������ہ
-endstream
-endobj
-2850 0 obj <<
-/Type /Page
-/Contents 2851 0 R
-/Resources 2849 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2848 0 R ]
->> endobj
-2848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2852 0 obj <<
-/D [2850 0 R /XYZ 89 770.89 null]
->> endobj
-2461 0 obj <<
-/D [2850 0 R /XYZ 90 686.989 null]
->> endobj
-2853 0 obj <<
-/D [2850 0 R /XYZ 90 673.293 null]
->> endobj
-2462 0 obj <<
-/D [2850 0 R /XYZ 107.534 550.407 null]
->> endobj
-2854 0 obj <<
-/D [2850 0 R /XYZ 90 535.177 null]
->> endobj
-2463 0 obj <<
-/D [2850 0 R /XYZ 90 314.926 null]
->> endobj
-2855 0 obj <<
-/D [2850 0 R /XYZ 90 301.229 null]
->> endobj
-2464 0 obj <<
-/D [2850 0 R /XYZ 90 77.486 null]
->> endobj
-2849 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2859 0 obj <<
-/Length 1751      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&5ËHIA7`I�a]/��+�e&��'�s�_�CQ��vڥ(6b�&y�s��!��
[?N�擓�.�|�
*����c�u|��V�{�`:�0a1�!�
XU}}�������J�6��O���	[Do���Ya2y�[+�����=kWMJ,�2�����/|
!��
-��G�tF0�v)�M
�Ra8y�����X���1��E�f3����4H�tF�c�
r�
���ް!�cn��~l�E��Dho��|�>
��`;ȓ`q9���⻵\���e�̃������bV�|F	`Ԛ�|����u�1�E”
R
pp��`���
&i20M�T��Qۿc��,-J=|��M��bb�]D��I3���9G��i�M�
� ����0��!�s�錻�>� ��mT�-��(L;C�P�1z0lWD9\�������!�����w��7�._^�����	;C�k�
-N"�=��E��(��T��]�n�(��z!}
��V�gh
-�Q�?�F�8�����ٕ~�γ��%՟Y)zX�pAU`��E�ֆ��U�9N�<D�Z�QY�Q��^l�pJ�z���Q��av=�ݗ�k�3��N�R�*hU 0;�N�����ec��:([�zA�a�]��hz�C�iy{��F>�	��|L�4Vʼ��v儇\�
œ�3��b�!�y-�
¯��\��f����jd��X�Q���gD at y�LY�6�Z�#�u�Dm>%�}���)�7�/�M��
�`� ��  ��X�u3u��fIԘD�nWX��W�������m(7%D��9��¯(W���Lo��B�y�2��uEg�<�Rn�t���Z�6�l���CHEMXtI�.�0�
�Y�6m�PJ�9=�Ip%�D�8�@�O�k�.v��L��O�u�|$X�Q�]�k�X�'���R���ϷiX��c�YVT_դ@
�4���A�x��B�&��an� �w����73�Y��
����<��"O��5!�Vo��3�l����u��Y�����/��N�~�×P$�|qq���Ȣh}k�4TC�I�K�Π��� ��]3�l(ސ0N�H]��՚Q�' 0�ֿ�r���!��]wU�[i�O�pu���^_��w5s��
�vMgg�C"j&����k��Pn��m�q[��M��ӏ$:��̘�9�^��KU

����9L��U���%
�� �V� �K����,��Y5���9KŁ��y�x���1�����:3��
-
-,0�2�F��
#�u�zހx�W��Ļ�qż�G#]ѹ�ː����3�V.S�q�pu#�?�q9���ʸ�
�e��q���.=v��F��6���K�1��5_�QF�]�y
�Vǡ�o��9
��q�t�'[��%[w��u��u��B����L^C\�0�gn�n`����v�H
"@7���&be�:�"��س3
���6�T�u A�:��,
-�E�;~�*A�`v�*�NU%���J�AW%��p݀��@�<C�QZd�������ݗ�b��TG��e��Q
tq��
O$��R�;��:�<Q�!W"+ѻu�k�($��Crt����
E
��j�V/��oK�����)p�/�C_NU/�@3u#�i�� fTR��F����Š��a��M�XѲ
�-d��s�F�*H�͕��@��-1#Q���n��J�ZS��V���rY��"֝5�e�9=9��v(,�6�69�ʓ�&>��>�v!r�M���N)����
_&�m�='�T4]
-endstream
-endobj
-2858 0 obj <<
-/Type /Page
-/Contents 2859 0 R
-/Resources 2857 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2856 0 R ]
->> endobj
-2856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2860 0 obj <<
-/D [2858 0 R /XYZ 89 770.89 null]
->> endobj
-2861 0 obj <<
-/D [2858 0 R /XYZ 90 721.073 null]
->> endobj
-2862 0 obj <<
-/D [2858 0 R /XYZ 90 482.649 null]
->> endobj
-2465 0 obj <<
-/D [2858 0 R /XYZ 90 458.204 null]
->> endobj
-2863 0 obj <<
-/D [2858 0 R /XYZ 90 458.204 null]
->> endobj
-2466 0 obj <<
-/D [2858 0 R /XYZ 90 328.466 null]
->> endobj
-2864 0 obj <<
-/D [2858 0 R /XYZ 90 313.518 null]
->> endobj
-2517 0 obj <<
-/D [2858 0 R /XYZ 90 185.817 null]
->> endobj
-2865 0 obj <<
-/D [2858 0 R /XYZ 90 170.869 null]
->> endobj
-2857 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2869 0 obj <<
-/Length 1923      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���SJ�D0��v��t7�M:�ͺӇ͎�� �	E*$���{@�W��\k���i�s�>Hx��������~+�B!�pq�](��\!��f�1 ��`���K�����w�y��ӛ"��9�/������}����t���-!=�Dq$UJk���
4M�y��#C!�D����$|��e�\Q�A����Ҹ���/z��%�����L�N��y����+b�Xw$��z��^l���F
6�X?�_p��3]|���v�œ
�˜/$�be�u�����EY�1����FH��+�ĂY1���|�V��w(���;�4�t\ص^�]�I��{Un?�����s�O��7��<����U�l
pI?��a��Wl]
����8Ri��vIi��@���u�ס��9���������p���BQ������^q�;'�[���� �����^���"�ӣ�3�*{f�f�BƟ��Y�O�/a"hXXG�
�F2D�ᮊ���2D
��L��q�*��'�JNo%qU
�e>z�1u�e46}�cEPHB�=*����Z*���&�NDYmnn�l���8M6wq� I�U�b�R��u��-<f�[<5Dk
ߴ���7�Tl�")/Q�CeE��	��t�U����!����F\�0
-����Da�zۏ[��ЈEt	3ASWV&���ffTOfɂ��Ha���mD���,������mL+5w�E����>7��O�G��M��mvl!�}U��3k/tu,2��u)0P
-r�m;��aFm|�B/��/f3k�ߠ�<e��
-�׎F29G��i�z�޺Yu̪���<`b�^_1()uh1�
"�P�
�H�8������N�t��c����3�u��>�S���%	 �Ip�� .�s �g��Qvj
���48�vF9�\��+x
}�D4T��5��{c*Ѡ��H
|��vjJ�QW�r��iH�
_	���s���C׉i�v��P"!���*`o��S��`B�T4i2!�.��sz�)��N��y_T�:�'�@M����~��+��I�����K��IfP�'O��1
�
y���	޶/�Rw��ӆ�!f��Fu�� ��7fa��Y%��&B0茩F�oߊҪ���v�9˞���p£�kp�ƚ��k��w�����%|�g
��
4��Z��.Y�\w�(9
v�u\��`�����'��5�;]h��!�/�l��aj9؛8�|3p�X��6	s)���!�}-
�_i�W����GCg�,)RX��p�,ª-��촩��*����6v��Zoʺ��1IS����������ln7�
�&���4/������T�c�m�1Q"Şw;БT��� 5�����:�	9�M*/G�ï��u��� �� �KX) ����@r9<DT���A�,��I�!����"s��"��g�X!̢Y�OPFc�
�7&L�}R��>GBβ��Ĵ
`��l�6 F�п�a�?x�E�w�{�y�A���jp^ ��yAH&�
�;0�hc����1�R�
tj'�	�|�9A���	��	$�>'��B���7�$~J�x٥g�m����ۥTx�	��Gj��eǔdp:�>>�3q�0h �ːy �s�<�xI�b�[�0д�!,d�'\�D�2��o�D�d���jL������z��
Z�
Z�m�Z|b.�)
/�����ƒ�g�
�<<>�L�L�̟ǥ1R��ƈ��I����\�z"���
��9���"�g3i���=N�v�I'ID�˹�T�
m
�X �ݰ�3,P�8 ����������0j����M�Lv��P��n2ۋ����R����?���vmƠ�E�й	��
#SV8���ۤ���f���؝�$���6vUu���~||D�
��P���>
���!�I!
u�q��d�m0���h���16�+
-endstream
-endobj
-2868 0 obj <<
-/Type /Page
-/Contents 2869 0 R
-/Resources 2867 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2866 0 R ]
->> endobj
-2866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2870 0 obj <<
-/D [2868 0 R /XYZ 89 770.89 null]
->> endobj
-2518 0 obj <<
-/D [2868 0 R /XYZ 211.842 562.806 null]
->> endobj
-2871 0 obj <<
-/D [2868 0 R /XYZ 90 547.938 null]
->> endobj
-2519 0 obj <<
-/D [2868 0 R /XYZ 192.853 247.494 null]
->> endobj
-2872 0 obj <<
-/D [2868 0 R /XYZ 90 231.245 null]
->> endobj
-2867 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2878 0 obj <<
-/Length 2206      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���S#�T0@7��C��N�۬;}��xh	��R����8�>x(�ko�}D�s�Ρp����՗�W�_

(�xȃ�u�p "��o��݌�h���ۀr���p�~��O?޾���������Շ+?�X
	,�W���`��
0�J�z�6�B
-�i���W�ɂ�2��`��� b%H��ݪf�
����ޡ�#&H#��F�!ó���m��U^���~V͎$��p��گ��C6�ӽ�|�m(���[�x�F�!4<(�޹(B����U��f��.nuI��q�r*d飓��2I鎦e>���:T�e�,�5�
!��ί~[�]��Y98:e7"��
-���$�jus�d���du��ΪS��Raw�EnT8d�]j�M"�z��mW����x����GR�f؛��!%[:�&)�3+�M@�,�H�e���Ur�ڛ�S�8���I���o�>1qO�R���S�:#x�Lowգ]慇2#�g�mH�1�,���>�g+��_�E�u�uj/{���
ބ�h��]�����R�	
s/t�/��k���ŵv3�)�i������RH��dVg��
����]��⪗�F4!
��@��z]��>���r�W�q�w|AC�� ��/ �!̀�q��I�;-�Hk��y�C��T땏;��[#!'�[AFe����!hB���v�穥�fN 7����<���>��E|�}r_����͗��{��w>5��(�
C�>�
-#qJ�)nn�M~�6P��$��K�3��ll.
��$�qq�� �3]��b~b��8���9
S�q�Q�u��``ͯr�6�g���=͂�R]��Eπ�at{)+
��T#�;�(��1v*�<($�g��Zg���_�0i��P
T�ub�ٻw��$Pm:_z�d)��{OrX��L@���"�~��b�I>��T���!M/ָE)i`� 
�_-c
�L��QZ�u�1
W�юy
.s
Cxx���|�Ŭ~�3�*�U��\@�%/Q���aK	1,kI�d�q�EB.�t��˸�B�^���.O2W^]h_��UB=	�:�B�n��%� �}���$�%�&��Cd�ԞJ��[�H��t��[(Ԁ�oI�m�zN�
ȴ��܁���}8�������G/�v�ǩG���ω)�T�smS$!
�a��րI#	DByd�
����v�ۑ����?�������v�gt�V�N��u����FC�PΛX��:�(t�~��zU��� 'ij0�e��z�+0��.��'�z��2��}��~�Jx���>�u�Mx�pR�.gGk�K���t6J<�&���|�B]>QOo��K��/�At�]���O���
�n�bb�t��,�}������kH�1�u�>4"-4"h4��c�:�N������]�O&�
�/^�ˏ S���/#�B���
�A��
�D��p8�z�P�b��G�	��i�|s�)�LN�	��N�	�ј �={L�sc��̔�k/��m��a���c3* ���� �rjT0բ�%gO
������.�#��}�B��
- ��

t��;, ��O�p�Y���3��|u�Tĩ)W��
Y�&-T|�AB�	�r������T0�Na��)����z��0�H%�
��c�%��]
�˖�]�{�ă��
C Wn)��S���;��=��1��jٚ�. ' �
=L��\}4� �VPdG����c<e�A%;�4�HY����A۽n�8;-65&w��k�=[�
�
�:��Y��M��41�U�7��+ĺ�=1�
�pj�8�4F�:U
�z`��Ng���f� G�����D��?7�h�.��9�k�o8f�
��U�N�C'��׻I���e
--�3�yo]<��?��
-���_ɰ�o�܈�h<;���<`��g
y�d;��b�j6���,�>�w]�O
��Dx\��, 3���"���	.z.5�����n]�7����|�z-9�R'�E�d9���4�N�O<1��Cby���/3��n9����y���S8�]�x�㿓0��'��>�������k7D184T�	,����7���˿J]|6gl�
�8��i�9�-�� �"A�P�d.<{���`��o������v��7U����>
hY" (�%��n�^�c�
-�Pױ��j��
n��_�;�"
-endstream
-endobj
-2877 0 obj <<
-/Type /Page
-/Contents 2878 0 R
-/Resources 2876 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2838 0 R
-/Annots [ 2873 0 R 2874 0 R 2875 0 R ]
->> endobj
-2873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.252 133.211 511.506 144.205]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-2874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.129 121.256 211.803 132.16]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-2875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2879 0 obj <<
-/D [2877 0 R /XYZ 89 770.89 null]
->> endobj
-2520 0 obj <<
-/D [2877 0 R /XYZ 211.842 611.819 null]
->> endobj
-2880 0 obj <<
-/D [2877 0 R /XYZ 90 597.229 null]
->> endobj
-2521 0 obj <<
-/D [2877 0 R /XYZ 192.853 302.855 null]
->> endobj
-2881 0 obj <<
-/D [2877 0 R /XYZ 90 286.885 null]
->> endobj
-2876 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2885 0 obj <<
-/Length 1381      
-/Filter /FlateDecode
->>
-stream
-x���o�6���W�i����O�4�=4k���%�S�M��dɕ�:��w�òe+�`k�dK����
?w��s�`�ޛ���ĎFڥ�s=w4v$�H�p5sn�#:�q���/�����(�.�,�&��w�o��7?O���
n�ߏ��c�h��V0in��
Ҙ9����[lhD�(��e�"�d0��1M�f�
-���;�fn�Q}N��L��"��{{���#`;��!�T�tٻ���
n�w0b��&�t8e�8W�?z�PUXi�1w$�bm��ajV��I��}# n8���G�n�"PI:��p�q�����߯�&LG�`���iZi����MhE���t�	Ns�'��*�cV��8&� /��1�Ҏ
.RR�c�˜�M����
?�,."<���
��4Z��Կ

�
8C�0r�?
-)&���
9G+w�^���%0�DV��Y�t
�f��^�
�L����yl>M¶)Rn��W]Z�vf�ہLj_N�>�p�P
aw�Ҭ�R���S�o
��z
-�A-;~H%�8C���FbH�J˝H�'��$V�]��[fKtE+�C�u ����]��YlU
-1�:غ3m;\�rO����x<����-�@~�!�.�@:�rS

Ò"�'<�+���]�����
-xoH���
Y֗����0�w��T�v㇁�ۖm (�8ƝaX^���
!I��b�h��ui�6�h���vk�'
-�m��
B
�O��'M�D����wJ W�=���\ՠE{��I�lW�1
��*K�"+�,�DwUن�y�%_�:
�<%�B�UO)��&��)�	�����~AN3h�Z9
Yu�B��tf�\N+���L۶�!�مj���N�؟��vRm�<���4�����4U
^��J��R)w��n�P�.f��1�rD�;����&��
-ZB͞mv
ڬ�<�����Φ��{��Ǧ�$%����V5��d2�#?L'���"Z>
�qI�qpK�2�sp��܏y?�
݂
�{
�6��+.�7�><Ъ�{�$��q�� ��6h\�O�db��²����M�:v
B�mt�<�T�Y�yr��K����sN�s�aS�cC�fG�{�~�)�^�m���+���.Z�}�����*���)�8VzN���
A�Ok�N��<����Q0��{{qgҍ)OB�'����E�����؇H�������c*�B���d �\�O��X�:��J��/<���~�ɿ��J�!	o����HhU�[��%rf�%��eA.{�gb�B�=����F��̔��������f;
e=.�_S8i=��)�}�����%�
1\��4]�G��f��	Z��*F~:Z���aF�X!
��/e�ZFe(�n.s
��/O+�
-endstream
-endobj
-2884 0 obj <<
-/Type /Page
-/Contents 2885 0 R
-/Resources 2883 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2882 0 R ]
->> endobj
-2882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2886 0 obj <<
-/D [2884 0 R /XYZ 89 770.89 null]
->> endobj
-2522 0 obj <<
-/D [2884 0 R /XYZ 439.299 665.416 null]
->> endobj
-2887 0 obj <<
-/D [2884 0 R /XYZ 90 647.435 null]
->> endobj
-2523 0 obj <<
-/D [2884 0 R /XYZ 90 516.816 null]
->> endobj
-2888 0 obj <<
-/D [2884 0 R /XYZ 90 500.369 null]
->> endobj
-2524 0 obj <<
-/D [2884 0 R /XYZ 90 370.373 null]
->> endobj
-2889 0 obj <<
-/D [2884 0 R /XYZ 90 353.926 null]
->> endobj
-2525 0 obj <<
-/D [2884 0 R /XYZ 90 223.929 null]
->> endobj
-2890 0 obj <<
-/D [2884 0 R /XYZ 90 207.483 null]
->> endobj
-2526 0 obj <<
-/D [2884 0 R /XYZ 90 77.486 null]
->> endobj
-2883 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2895 0 obj <<
-/Length 1419      
-/Filter /FlateDecode
->>
-stream
-x��[��F���+xj�T��>`E���&Rڦi���vea��Qm�������bllo��U�>��p�\�sl-,l�\M�
-[.r%����r����������	�û�{�IW�[���?}�^��������E� ��c����
����ˆ���-�-N������|VB!�*�"�
�����:Yy�.t��U���X��+��#[!0�^��
yk=
Q���
��!�4���1����b;^�f��h�I��a
���^��f���Ro�C8O�t7�\���,���.*(���]#&1�±F�9W���$&�Y�q�d��cW�̶a�,���oX`?���\���t�#_�믪�q�W�A�7��=����F=؄yf�J&�[�$⭺�a�
-#}gV
-��!
-������U���&�2�I���O+{���x���\�u��:2;@>�ǐP�U
��@���#�i���0�ѕ�Q�ԋ�(8��o�}�����Gj'w�9�$-*�����ĢJ��Q	(���?}����8|�yr�ms3˃�$��
��*
f^�جu�h�Q��m�7]��
-{���=A�`3�r!9	)�
�|$8�o���VB�D�
������J��§R!��5��.3ٗ��w���L�W�^
�g�I A���#f���e�)�����\4��&�,8�pG8@��8Z��"���%yD<�ߋǹ0	r�88�K�I�& �
*E��EQIO��Hu�P���y
������80ӷ���'�(�g ��Qꅦ��
-�㨚Ejz�_�.�B��GD�[d<xi��E
z$�"LO
��9��N�
&���uY*��L
�vݒ�
G��ptw����0���Q�DW;�}���B��9���K
IQ���'S�<D�{��]ot(z&$�0$Q\�����?�\�}�&P��ͷg
���D�1�^za*^���~����j'`�ȶT
-��a`$>�ҽ�ӽ���1�"	��
����`��`�Tr~�p�y�?i�0�݆�~魯��%V{X
-�;�>j�d�����ʼ�]d���ͮI�.����j��%�܊��l�A�vw�Ǜ(�I@��uZ
�*�
G�b��)�"߱�g9ʨ����(��[e�C-�:�<�:
��ԓ̄��[d꣘w����
-x ���`r!��Q�0�����:1\C�~�N���8����lM at u
��+	Z{�-��Bh�t�
<T���	�L�*z_�S���hX��x��1�x��Q(�$I��u=�w|��ZW"۔g��t���vq�챟��O�`���c��T�
-��
�?�([LuY�sY5s�K�ӯ�B�Z~��j��P���m�
u�h�dT�3l�h]Yj��ݪ�}?(�����d/�<�������Da��0'�j|\{R@�r_�X��9-����Jp��  a"
-endstream
-endobj
-2894 0 obj <<
-/Type /Page
-/Contents 2895 0 R
-/Resources 2893 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2892 0 R ]
->> endobj
-2892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2896 0 obj <<
-/D [2894 0 R /XYZ 89 770.89 null]
->> endobj
-2897 0 obj <<
-/D [2894 0 R /XYZ 90 721.073 null]
->> endobj
-2527 0 obj <<
-/D [2894 0 R /XYZ 90 592.688 null]
->> endobj
-2898 0 obj <<
-/D [2894 0 R /XYZ 90 573.703 null]
->> endobj
-2571 0 obj <<
-/D [2894 0 R /XYZ 90 439.813 null]
->> endobj
-2899 0 obj <<
-/D [2894 0 R /XYZ 90 420.828 null]
->> endobj
-2572 0 obj <<
-/D [2894 0 R /XYZ 90 286.939 null]
->> endobj
-2900 0 obj <<
-/D [2894 0 R /XYZ 90 267.953 null]
->> endobj
-2573 0 obj <<
-/D [2894 0 R /XYZ 90 77.486 null]
->> endobj
-2893 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2904 0 obj <<
-/Length 1407      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~�_�S�H
�/�QU��UJZ)�NՇ4Zy����e
-L���{
�f6�f�Jy�9�����:��i�l��x%�#���ln
�
�I�}x��w.��.Wc�]�"UWo��yr��PW?�ׅ*���W�[��������%�CB����}�e��h��
�	��
?���<Qe�\Q�A���Nw��t���Œ��BX
��02/7���`�4��HN�.޽�N˯
�8sWoJ
�2�&����>YB��1D|ݪ5���ة�	Ik7T���T
-~1�&#�A`@τ2 �
L��8j$~� ��

z���_1,�1_A8%��^��t�[�U]�yv[웴$��9���j
��^c�ぉ� �;(���%�p���V��DP@�<���$���f'��.SO����
��Z�E᪹������<�7�j�Sc'
�@ \t��@;��u)��Fl��1*%�wNgٽ�C�z�i�$�	�	=$�i��儉�!��Au
��8J̊B9�V�G�]�B���E9��(f� 	,�œ����d
F
�݆o��6���P���.1���C�^��]�?�
X�VDYE�u�-=�~PI
]��v��:����Ͷȗ��w���
-<U<D�!T5JO������4�9"��Y�Ѝ�(�P��U��y�SU|����Gݼ��5
-}���f�u�h���
-��m�����
Ҝ�$�e_�w���tdat��v_ݢ��(OU���6�b`2#�w8�|�\�+s=1s�Uy��9��.{
y�������&,'L��A
F
�`”�
�U�n8����J�i[iX>i]��,j�&�^�
��
�E����v��
ڱx,6{ �1J�7���g�I>c�ض7�	���"�.N���6�@*L@�X�ӹ�n��p$�g�	����m�_�"8W��*j.3��r|��Dt�W�� �X��F�\`qe9p���Y$Y�l�pk��������-�J�OI�͡=<���aď�A
-��Ă;�I��O-
�'Y�8@����c�:i�N<5Ց\w?��Ǹ��D@� q�"
-E�O��$��D�O�#����:
�-t�$ܭ
�
�cE(������
�I������F��K�C 
����O ��u�1B�<3��;U���F�y&vB6oB�57���TE��x0�����c-�w�UQ�C8ה7��*(k�q�-?e_���C�s=�
�'��:�f^�&���N��6�� ��O�q����>��
����q��
��wO@�
FM�����C��
��G;5����vɹk�����*9�
�(`�:�f#p������K����g9�ݛE�ۣ�$p������������%�g�@qu��%�ٓ%*:!7&�ư4/t��a1U&����/�Z��
-endstream
-endobj
-2903 0 obj <<
-/Type /Page
-/Contents 2904 0 R
-/Resources 2902 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2901 0 R ]
->> endobj
-2901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2905 0 obj <<
-/D [2903 0 R /XYZ 89 770.89 null]
->> endobj
-2906 0 obj <<
-/D [2903 0 R /XYZ 90 721.073 null]
->> endobj
-2574 0 obj <<
-/D [2903 0 R /XYZ 90 539.983 null]
->> endobj
-2907 0 obj <<
-/D [2903 0 R /XYZ 90 523.677 null]
->> endobj
-2575 0 obj <<
-/D [2903 0 R /XYZ 90 339.104 null]
->> endobj
-2908 0 obj <<
-/D [2903 0 R /XYZ 90 322.798 null]
->> endobj
-2576 0 obj <<
-/D [2903 0 R /XYZ 90 77.486 null]
->> endobj
-2902 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2912 0 obj <<
-/Length 1448      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~����R<;���M6U�6M����F�fר�x]��
����N���j_lΜ9��� ��-l�8�^L�^{�H�Եw�����]�
��6������\�®f��/�7������b�yB���V���[A2��	[!,��0b·��Pb9��l�N~��Gm!Қ�(b`�tF0�v��<���m�z
R�N߁�Xk�wZb��C�f+P�r��DMg�0{1���B���ߏ(�|���Ô`;�B��C}'�D.?L)�ǻ�
-
��)Z����ׯ��k���B|��1W�'�Y?cX b>�p
-�O{Q��oU��2
�A������(���cX,+}��{��ݕ�����﫧����}9�C���H���"ȧ����q��OZ����SA��̡�z���!
�3U��@p�=�!�e�	�3鞐���P��r�p�"wBM�
-��9\}�DS�-�#c�V�Q����Q�t�"⹈��Qt&	����nK� 3�bȂ�3Uh�
�R��
l��
�N|�a���t`�ޞ��>�nWo �
-�V��J��&��(�����Ux"��
n��N�0Y�`)#��/�
-=��,-̅|8d�����WX�e9}C(�p>d9�~�q.eq�IjT>�)���|[�����6��Ǚ
���q�(�S��C子L�њ@b�GK���MIJF�{	�Ei�%���U�^�CϷ�b�0�B.9���	�������{x6h�=�
��Q�6��@4�
�3 at B"�xg���Z��v��~e�j.�,��H{�1��<��7�f�����q�s7�!7S��*��:A�_��5]Q�T�L/ag���=�����=f�è4Oz�+C�p�2�-=�bف���ạg��ɚ����`�-��h@�o*㛊U͔�i�T 
��t"wÑ�P��p����3�@���L�τ�5��`��ԅ�X�@N���L�8��B����1
"-�r�4���m�v ���lJd��J6�q1��<����.��l�]��&6&�,U;�V�4
Um
-c^�
Xk-����x;��f��w�Me�������L�8�
- �#l|
#���ך��,ݍ�j�����(N}8<
�Ɉ��<��1btWʞn"�.f��h"��lGَ<y��S/�c�LL0=pep���>�U��^�Ҿ�6i��5ݩbo2
�2ө��B�
��f��g�K_�9F��u���G�
��{&W�9�g
��	nT� y6�/����D�iV�����q��SP���
�}�!h��RA�K�C_��\�
'"�ű�h��ï����ү��W�6y�oR�� 7��8l��CM�5;�ۖ
��}-��vʹm���L72�;�C�
-jK���]��
� �V)�v�O��z7i�g��!���uU���v��m�(/PT]�y|u
�=-ā��*�k�
0,��|D),&���Q��Cr=
-endstream
-endobj
-2911 0 obj <<
-/Type /Page
-/Contents 2912 0 R
-/Resources 2910 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2909 0 R ]
->> endobj
-2909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2913 0 obj <<
-/D [2911 0 R /XYZ 89 770.89 null]
->> endobj
-2914 0 obj <<
-/D [2911 0 R /XYZ 90 721.073 null]
->> endobj
-2577 0 obj <<
-/D [2911 0 R /XYZ 90 540.463 null]
->> endobj
-2915 0 obj <<
-/D [2911 0 R /XYZ 90 524.375 null]
->> endobj
-2578 0 obj <<
-/D [2911 0 R /XYZ 90 267.734 null]
->> endobj
-2916 0 obj <<
-/D [2911 0 R /XYZ 90 251.646 null]
->> endobj
-2579 0 obj <<
-/D [2911 0 R /XYZ 90 77.486 null]
->> endobj
-2910 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2921 0 obj <<
-/Length 1430      
-/Filter /FlateDecode
->>
-stream
-x��YMo�F��W��R@��O�P�7	��@��8�@��DT"����Y.?%ZR"7	
-��%��;o���ؙ9�y3xy=�x-������\�;;�k$<΍K0������~��'���b;�ԟ�ݥ~�
�_�2����px{���5!-�Ds$��I
�?Y���f&^\��Ј0Q�|����ϲ�
-
�4u��j�硽�!��!QnO��L@���
��
|p�
b�H*g�
��b'��o
��)���
�
�j�� D�!��"�h�n^-p?p�a:v;� i�A�]�����a�H
-p��(�@i�`2�D��xV
(�<}�
Z3��~İF
`>8��Ga`�kn<���1���&��i�ҵ-S��p-���r���jp{��^]��Y�B4⸶�IH刷#'H�:+7Q�����Z
-�
 �I � �d��?���w�
���djkG�}u��ɮ�v��T��ҙ�p�y��<�n�W;���I�͠��+�K�qvD�C*\��YRV[�B�ۥ#i�
ӱ�8Ҋԋ�GYO�!]۠��mw�6b
�� �@
���� @�<L���n��$<>�#��n�]��jxPڤ6b��ը�٨�0N�N5
@�^
?��E�o��p_t}n��RG�8I��x�
-;ey��4\�p��p�
ӳ<��xȱ� +&~:[/�8?�H��41�o�2��z�О=����k#?N �'U�3x�a�Z�"�GQ<M�+?��!�iJ#�ID��6Bᨻ�Ğu�<]��ӥ,O�(γDŽ��?�ju�~}bB�c�f=
R�6����O
{H�/����� �{
�S����+�΢x��H(�o��@'�O(\����zϕ-���Qق��t���l��\e�Җuf�����"��~%kUë��x��gN�/�^}�z�'/����a!�]��$g�1-Z��V��a�
�F��V�])Z;�>�*����HW�)��r����RH��ຄ��~P��rž�>K+�0{�"�۬Â�>^W��]u
��grb�w�R��^�ˠ�-˜=Ϙ�U<_%�
v�dƲܒE�3�Bq� �qOR4��񲻙}��S$��~��Q�<��k��V�Ǝj���i�:�_P��|6��ȇ��I�aZ�ȃ���RE��]���"[�E��m��3��Y�%�Û�sSL�D�[�"H#�S�пC�Ҳ�;
��E�b;#�"5~�U�F���*��e8�=f+�h��5�UX ��{I��|	z_W��!�O�~�A5�X�X�f�h��f��ݪ;W7�ݿƒ�ة'��0�g���+�%Z�l�ޛ"1T.���$�
��R��P�|��ݏA�
=W �&a�E� (j�Pn�ªdmd;�ٻA�_�^�$�(ԕ5�����b�٠i��q�JQ�_�V��}�iy�투��'�]�2�7�1\\����_FdǮ
-endstream
-endobj
-2920 0 obj <<
-/Type /Page
-/Contents 2921 0 R
-/Resources 2919 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2917 0 R 2918 0 R ]
->> endobj
-2917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 86.288 212.124 97.192]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2922 0 obj <<
-/D [2920 0 R /XYZ 89 770.89 null]
->> endobj
-2923 0 obj <<
-/D [2920 0 R /XYZ 90 721.073 null]
->> endobj
-2580 0 obj <<
-/D [2920 0 R /XYZ 90 555.879 null]
->> endobj
-2924 0 obj <<
-/D [2920 0 R /XYZ 90 541.316 null]
->> endobj
-2581 0 obj <<
-/D [2920 0 R /XYZ 90 370.617 null]
->> endobj
-2925 0 obj <<
-/D [2920 0 R /XYZ 90 356.054 null]
->> endobj
-2582 0 obj <<
-/D [2920 0 R /XYZ 90 173.401 null]
->> endobj
-2926 0 obj <<
-/D [2920 0 R /XYZ 90 158.838 null]
->> endobj
-2919 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2932 0 obj <<
-/Length 1514      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f͛D�
-�[[�ۺn����b+�6Y�$�n��EJ�l�J
-#̀>����s��sHa���Ϋ���h�R`G!�Sߙ_;
-;�+���r.DŽ�ɇ�k����[�􏿿��x3����^�G����
bxHHg�]~��
-�_;1%�]�h�p��7v.F���ߩ�Tc����(�vB�8ȃMX�yQ�q(h���"���]��
3b>y���K��B}Z=_��zx\d��W�&L�(M�c�J3�EqlFWv�6Y�IQ�A��+t�m�`��H	⸔������aV�N��<ψ(��l%���8Z-��f
���|�<�Z.��	��;kot�_�i�
N�I��u�T��I�jMTqIj�
9:�����#_�Z�{�Y�zH�F�r
}�1��5�
-醈�_�1.���6�`�
rf�B4 
�Meh�Nj�h
�}�=o�0�l���l<��@��Y�@�N�
�?j���H�x���
-���:\�����*�����O��u���B�D�:eJw�>�]��!�.!��}v�[d-j6k��d�{��j�<��(
-�E�U
���Ncu�b�擭�-�l�x�>�<R��TD�6t%1��CO���30\:.����n�mjX(IZ�j��o,���j�\�<^N�7��-VyYO��&������0�.ρI,�E��\
��¥�=h[�{��AQE�hW��qS
�
�� b�8b�`n4�
�qP�M%7
k��`�A
����fh�A/�!pV⹳H���u)�"!�]�S5�RD�8��5��8>F��@,��R4���5P(��
ҭ�b�p7n2��@�&���N������&���Q�(FK���^8.�����6�޲
-�m"�
�=��/��e�@��X�2M�eZ|-ӏU��D�$��poo�>��O� r� �O鯀����%�7	7�o{d�vk{�A��jd
��
�%��iI�{�
����5j�=ѓWʟ���Zɪ�
��C���t� E��.-{��L��٥����5t;,-�3���2o��=A�D��8% ~h�{�[�+�?�q+��|q�n���Ҹ���R��g<�I�(���8{*4^l�N�M�.���h�|T��Ms>p�k2�O���=_A���n_�)3��R�?H�
-]�i|
�o�ԝl��^q�_D׋�S�,J�C���35�����E�I��پ3��}����g8m3�
��A�i3��m��
�(��
A@>�8�[���
o�=h�C}��D_�	>�J=/��M.���޺Gt�ݾg�|>�v���Y��p�a�-yXns�Ś�BH�]T�=���q$ �;8��o;L����I�]��
~��|���	���{�N at q�M8��@
�Խ�{�����>քf
-�����0�v�yc��oA�
�=w|Ԣ����k�F
���a}�d��ǩG��*���� �Dq]��l:��vhY �[�
E�4���q�mI!�F�u��6i�
|arSݰ�?lC1 
-endstream
-endobj
-2931 0 obj <<
-/Type /Page
-/Contents 2932 0 R
-/Resources 2930 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2891 0 R
-/Annots [ 2927 0 R 2928 0 R 2929 0 R ]
->> endobj
-2927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 557.067 210.103 567.971]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-2928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 463.088 483.212 494.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2933 0 obj <<
-/D [2931 0 R /XYZ 89 770.89 null]
->> endobj
-2583 0 obj <<
-/D [2931 0 R /XYZ 90 643.712 null]
->> endobj
-2934 0 obj <<
-/D [2931 0 R /XYZ 90 629.616 null]
->> endobj
-2638 0 obj <<
-/D [2931 0 R /XYZ 90 446.808 null]
->> endobj
-2935 0 obj <<
-/D [2931 0 R /XYZ 90 432.713 null]
->> endobj
-2639 0 obj <<
-/D [2931 0 R /XYZ 90 308.869 null]
->> endobj
-2936 0 obj <<
-/D [2931 0 R /XYZ 90 294.774 null]
->> endobj
-2640 0 obj <<
-/D [2931 0 R /XYZ 90 172.933 null]
->> endobj
-2937 0 obj <<
-/D [2931 0 R /XYZ 90 158.838 null]
->> endobj
-2930 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2943 0 obj <<
-/Length 1994      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۶~ׯ�SJ�DX\	Pm3'v&i�I�m_
�+AZL$�!����
 )j��
�N3ɋ�����s��G�G�L^\O�^I
�(Mh]��G��H$���#:��q�Ô�X�;��aJq�ooͪԋ��M������׋׷�0ӷ��]�"�@,I9���M��S;��x;�zDF��/�I�j��j:�����fWlum�ȏfm�)Q�ɖ0$91!�ɜ����2! GěC ���n��-�V0�]����7�v�
�n�דOp�,>ia�"�y$	G�^ٗKS�6ϪF�c!`<8�B��
�ਪ^��6�r
��]-t���LV$^���&(���o�|JE|�y#ٵ�1��_�)bI��'�Y�=��R�I�om��
v�	☴�t��C�d����x�vB��ݕ�sW`͙͖��е��413J(��D3����y��!��6v�Ƥ�	칰��3�ca2�=a�A.@�:�*���&Ϸ^�e���R��Tɳ�9c8E�HKa)N���;�
��lL���{�� [...]
X
�J�U '����6�
��� &�U-a1
�: �"�n�$��&�ɡ�ҁ�c�>�*��H��
kw���W��4��mi*�������en�.
!��Һ@����O�.�f�mD��T
A�Q�$b�� Sg��� � ܪ#�wʌr.�O�8�"��g9WG����exWr�v%giWu�}i�ʮ����ޗh��gI���;I�ԅx}�E	e-	<��_6&
�7�
 �bo�|]�Mj^�0�8�y
�;�e���->4�B���nl��Q�c���M/p-��>C38`��~� "$�C���j��-��h�+
���ž�ҰpU�<Կ�ST��&�
��M'-Oa�'0�|���g,���Pv�-f�	י?~3��4�쌩gpLS�y4�A
�l��r���X at 8�:v�{��C���֫���:��@z��+�)��=B�h������0��g]��Kn����A��l֒djW�$��_G��
-N���G���W?Nq��i0�0�%�K�1
J.��9 >��?�i���sq�g�
0�i^�E��7�Hs?AR�~J{���a1��YDd@��	@d�I@� 1��?�
]#"���c� %��>0�|�׮ffawz���I���u��ti�s�(�HDxaw�
3C}
�BRxu�| ����)���q�W���B�I����5�y(F�WP�H���V%OL�Un��5â.�����Qu�5:��6�O�?��L��l��|L/h'q� �}
�!)���[[�[��
ȏb�����k�t��ܳ�-������{y��|���.�2˂�>�� ��j�A o�{����k{Q��z�
t�;]
Cq/w���������]�
 �w ����Sy�N Ӛ[���

��:�v$�!P���y
Q��4E?�={�Zyp)�x�|��[$����7��7앸ON*�/.�H�Ὧh�
�h� ��h�_$��� 3��T�8Р�l�\߆^�Ή�ԙ
����kw�
-��ڴ��O�s�>�c�رח@�c���m]���{���>�E�l}U۫���@
-��Y�
)p���#y0�k����S RI
-endstream
-endobj
-2942 0 obj <<
-/Type /Page
-/Contents 2943 0 R
-/Resources 2941 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2938 0 R 2939 0 R 2940 0 R ]
->> endobj
-2938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 256.4 293.971 267.304]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-2939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.332 86.288 235.598 97.192]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2944 0 obj <<
-/D [2942 0 R /XYZ 89 770.89 null]
->> endobj
-2641 0 obj <<
-/D [2942 0 R /XYZ 90 685.549 null]
->> endobj
-2945 0 obj <<
-/D [2942 0 R /XYZ 90 671.593 null]
->> endobj
-2642 0 obj <<
-/D [2942 0 R /XYZ 90 477.152 null]
->> endobj
-2946 0 obj <<
-/D [2942 0 R /XYZ 90 463.196 null]
->> endobj
-2643 0 obj <<
-/D [2942 0 R /XYZ 90 342.905 null]
->> endobj
-2947 0 obj <<
-/D [2942 0 R /XYZ 90 328.95 null]
->> endobj
-2644 0 obj <<
-/D [2942 0 R /XYZ 90 184.749 null]
->> endobj
-2948 0 obj <<
-/D [2942 0 R /XYZ 90 170.793 null]
->> endobj
-2941 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2955 0 obj <<
-/Length 1823      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W���R���Vj�M�4M�,��6B^�*j�����
{�W
�&4Q�}X����9�����[x����l������Tz㹧�p�����w�'����/=&"Z�]���__�/^�/��z���=?a�Xʛ�{W�7��
FL+�.ߴ�8e��.{�����Ii�1������'�&�ڤ&��f�
_\C
-��|b����0i�;|!d�*i��xi���Sʣ�z�Vҍ��[Fӥ[*v��l���ح����mbv�h۵h�v��"63Բ����Y6 1��}D
�2D9��&�Y�$L7����i��:��Rwz3o�Q�+=b��������cr#��DT�Ŕ#B�U~�~j�)���\�%!��]:����@�*�M�d���c!��Z&�̱;��!g�٭`>����DY��H��K�^��R0����F�Y�*
F����k�\���Ŧ0��=P��`�@{��X�[H�RY��v+K��~A��c�P6`�"���N'����6L������t>`H�2rF��`�)�G7/�M��esa]���Ra)�!�4)7!'�Y�\A!:
0��I��
1� ѡ��z�
-Sc��
��D�o;T�t�)��[��p,�?�y&T���y`��e�o�ΰ�fV���p�Ƨ���_�YN^E�I�܏F�~�\.�m�'DA+}̕�A].����|�����F����ʊ�����"R �/���e
�ښ D	��K�f� ���~�$ȜĥVϫ(6a2�x�Lp�*��N�
���}Dp���J�-I
��Q��7&�4���I���(7pb-��O�� L�ju
v	��*�]!��SY
Qf�<��mb�

-����$H]�o��)
\W���U� ��:�x� }�P�����9q�@&���>�p�d�L>E$�XT���`�K�����]�1�ݍ�<��6��/�}  5F���2�Dқxf��;���x�Z8��u��F�����}��	 '���MAVE�9s��oD��
�8t�8�8�nk�Qv��م��3�R0B���
-�ʾ��W"��4`$��x�/��B���#	?q|�����g�����]�7�i��4��I��~�O?��/K�?��3��W<1�'���?o2~�o2~r��*�(���S����)�<������2��dzf�
�����
*�������Ǣ��}�?@�%F�*��?����rry��ެ�d�QW'����~�!
����t;X��H5C$h��i�j�=mht�?r�H��0W�/q�\!�<:W >I �z�9��AN0�
-$s�0��#���tzK���Qc�w�@�
��f_�4%T��ti
 .;�&X�N����ò��+�ET�@a
���[_�~QɄyY�0�*Y(�1� �8�
Ra?\m�
�C��@p>�
q�[,��Cq���Q.������A���#�����y��S�
䚂�a�3QV7
Pr�tA;�����}s Y��9dqv�hAVI>���§%�@2fG�1hY��:�6̂t����l�H8<J�2@�oL觼1Y���@ˌ�0E����
����C|�<�͍�p����(�}���\ڟ������'��#�|�sf��� =̓��y��`輻��L��;���[�
�Ud�D��T�l�'� � ٩�I��
-��ƍλ6�Ѫ�1o2@��DwY
���M�����I����;�~	��u����f�����a�͈8ʆRܿ4I�����~��a���p�Y�4ݎ�û�;4ݡ�8�&(J���j�5)$#ㅐyq��M�܏bX\��=���q�
-endstream
-endobj
-2954 0 obj <<
-/Type /Page
-/Contents 2955 0 R
-/Resources 2953 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2950 0 R 2951 0 R 2952 0 R ]
->> endobj
-2950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.151 500.078 244.345 510.982]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-2951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.612 239.79 384.189 252.708]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2956 0 obj <<
-/D [2954 0 R /XYZ 89 770.89 null]
->> endobj
-2645 0 obj <<
-/D [2954 0 R /XYZ 90 598.877 null]
->> endobj
-2957 0 obj <<
-/D [2954 0 R /XYZ 90 584.582 null]
->> endobj
-2646 0 obj <<
-/D [2954 0 R /XYZ 90 351.824 null]
->> endobj
-2958 0 obj <<
-/D [2954 0 R /XYZ 90 337.529 null]
->> endobj
-2647 0 obj <<
-/D [2954 0 R /XYZ 90 77.486 null]
->> endobj
-2953 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2965 0 obj <<
-/Length 1986      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6}���S+5��"�m�m7)�
�M����b�cam�+)3���=ԝ�d;��h�l��w�w9G4�
<�}?��~r�2��!Fq�ݯ=C�00D*\���>��Og�R꿚2�G�.Z��r��ϛx�E���Y�=����k�f
�����^2��L at B������j���j
-��2
aB6
��$�m�����
���aqu�u���)�~�.q+
��V�����1�cU8$	���M޾��
-��(p�\��.���L�=�g#��Km`� B��-O
�ԉs�
	6�YP<�4��/��`$%j~!�)P�x�;�OV��ߕZe.�AO��3A
Q��
�4R�{a����|��qm����"Z�����"�EeV�;*�r��Eu�S��Q�x��J�<O�i���Y���
Chg�v���	�m�~5�If�;�7ϻ��p-
�-��m���C$���c�
�Z��j
���aG��Ƞu"vT�n4"�I�#�hΚUo�t
S�W+���93���,�aP=�OX���ʅ
-�b_=���
ZYg�������Pl�|@?�*EWa���Y'���_��h
T�\�SRl*�Y��e�F ��4�v���eu/{���{[.��S.�� 9U��U=����U at I`Nӛ	OaK��ӛ
�Y:P�!Q!v�[D�L��]�T�Y���$Ӝ�0�E�^I�Y�O�8j@�/l���u�"�D�.ir��,l��H�ݒj�X�N^�r�
cf��W��$`����/p�.!�
eg��_N�y(i�ZԦz��ޘE���󝜣z��by�P�����3n�Їz]|S��m��{�&J�p�ɪ��M�2nS&}���%
{�Z9�u�mbLx
�1K�C;yA{)�ҭ�l

�&�����as��!T�kʄ���ů��`}��\0]���j>O�i@�G�W
����.N�s�IL��lo�z*#��d���K��E3U$�r�W:W	L�!�%���	�a[Ǹl�E�m4����jC�l��gCb(��:�䎥8ar����}d&���t��F�Q�vE�,�
%q�c g���n�vÿ��
-vk��`^�J��ˏ�,�l��0 �s�Q6�����V�_l����_a�
-�R�0

�1`k�0�I�
���c��o+�Q����2��moQdQR��yiߢ��'�C1���:����.I�b?d`�m̾
B֘G�7 ��uR�Oc��
4?�LF�%�W�rJ� x.���x-����+�~�gE5n����c�� ^I�$���	B�[ZoM� ���9o
#y����kuR�M5�8^	�(�gp�$
-��z�
@
��w Q[�ҭ.�}K�:7Ty�pB!��[�-�t��z���؊ҊP3RV�� �4*F`�ʶ�9B4J&��L\&�� �@��
꼚? کk����?�����
�s�X�O��� �9V�A=�!�M�1<���[�W�鲸�{T����O�
mu�h�;���Vw
-؞��1
���#7j�
G�*v�	0ۍ�֟���Gn�
-u#>o� ��@��Q@�HW����[
5��J�2� �u�Z:�u�L��؝:
���m޶������w
�Ɯ
�Fˣ�~B
��t
-Vwإ��'ܯ����H��C�Z��L?��
�J݊B3���q>�.R���v"
-��l�
1Q�7���hȝ�\�q7�4|�"E?o�=}l���B�(�����3d��FZ"�~ρ
�͢�
��k�� �j����������5#�{��
_t��	����1�>t�
ݡ
�]l4�
�`�ѡK)�
-������. `�ם���_>uQ�S�%A(�W��w��BkO]���
���������i�ĵ��(I:L�r"�h�wm~em�Ӯ�l�]�@˙W]���ٗS4�3�
��:�Py���6G(�3�E���7�[y�_����̘^���6�MQ
�wwOOOd���ir�HR�
ۻӍ�I���~�
~����$��]T
����Rϛ
-endstream
-endobj
-2964 0 obj <<
-/Type /Page
-/Contents 2965 0 R
-/Resources 2963 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2959 0 R 2960 0 R 2961 0 R 2962 0 R ]
->> endobj
-2959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.679 642.073 395.172 654.553]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.382 385.094 394.782 398.011]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.723 127.63 400.608 140.109]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2966 0 obj <<
-/D [2964 0 R /XYZ 89 770.89 null]
->> endobj
-2967 0 obj <<
-/D [2964 0 R /XYZ 90 721.073 null]
->> endobj
-2648 0 obj <<
-/D [2964 0 R /XYZ 90 496.977 null]
->> endobj
-2968 0 obj <<
-/D [2964 0 R /XYZ 90 482.832 null]
->> endobj
-2649 0 obj <<
-/D [2964 0 R /XYZ 90 226.28 null]
->> endobj
-2969 0 obj <<
-/D [2964 0 R /XYZ 90 212.134 null]
->> endobj
-2963 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2975 0 obj <<
-/Length 1901      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~�W詅����j�e�I�̤i�ִ/n��AMA�B�q}��� 0.i�?x�e���\���� �z�ƽ��
-iIe0��k$$�͂�>!|�~�:`2DDK�e?�������y�{1���#�
-�	H��tջz��<~
`�t��E��S����K���M��"X!EX�A�8
�x��_Y��΋�B�v1�He�x�T`�-*�,uw �:[�
)��3$
1Y�^l�)&!���Nn��\D鬴 ��������Ӵ|��X��f�Z�|#%�!�I	R�4�Ňi�6���
r�VX���H'bS�F�$
pܿ���l�7�U������yf
��!'�dn�^��
hvp��b��s� ��E��rM�H6n���J�qX-�%V�,�M
�I:�VkȀ�e令Xt(#�D�W���Nm���,���j�&?I�&_��0�ZZ];��+$0��$p��

ȳ2�<��^�i$dS�k]v���C�'�/����n?�k�?�ҵ��th�:絃��:N�
#�?�(@`X��w
��P�p; ��%3'񝹋�U4y7��|y��gy4y�\�Q~?=�ar���]��0DRs���e��a�'��I
�„�����:ۦ��q���$YE7&��������X�, [...]
-��S�%���&I�(����4 a��(��N�T!�k���Il���e�&I<�fA;�VG��Cք��
	R`{����Q��<�m�	4�I�GI�����~
��t�
�u���4[%iTd]&9^7�o+y�/x�x���3�32Kc��G:S� I¦�V�|5 �e�U�.!�����mvi�݆��PnRӅB�/��1 -��
G� }x
(C�(vJ�2	E?�CژPg
)Q׾
1� ���v]0B�B���ij�S~S�__��+��,w�z&��{�� �D��u+(f�C
q.���n�I$��MJ�[�Ͳ�}U2>���?tFu
Uz
2$mb;
�hKY-���Ԋ�@!b0��L&�C��-
�L&
B�
�k)`f+n
�0y��Swh��B/�V5Z�
9� 5 D^���sQx�)hpP�@��"�B-	#Y���!x�UlcV��q�
-�+�\)��Pf�E�?��
�͵c0]���[S_��O����_߻�bq�W��q^Q���Ek,
�5&�Ğ�)��ܞ����曹t(<.�۞��7�q�<)M�<ٞ�	��'�����™�y���<�y.�<a�X,|c��v��3�I����EQmk
��a��y^:n.��
-�q��w|Ә���%���OL�F�2���d�aJ�j�m�n�E�f��2�ĸ�@�C;���W9���q<r�yҥF�n3R#����+s�� �iƔ���k�O��6@}�!�j� ���"�q�!Bk�I��	8��Ab���8�
�eb
#�U��f� �
��
���� �QV��y
Mwͩ;�~h��
~?T2�I����KC��	:�O���V��I<
��5!O��P�O=���P�x�DO��S�0��	����W<=|�韄��]���<
�ICo�i�0�*�
(�RU
-��mU7(���jLw�:��Pu0�Ru��T
6T
V��Qx}
-UW
-ڼ�T�?@��T
T�j
-`
��,�^J2���F��Iei�<J�1t �(�.Su���\�U�Pu�	�:��
��A�)�bƏ����T�<q�'����?9W����'���՟���z�ѻ�.#`�?��e��������_}�^7�w��
-]�V
�ݖD������/B��`��۪Ø<�5�`��14�Q�?lo��+x���3��~�� ��R��:�E�
]\��ݡ�m�d����X���ݠ%���n^��*��0I���N��C�j�$�
-endstream
-endobj
-2974 0 obj <<
-/Type /Page
-/Contents 2975 0 R
-/Resources 2973 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2970 0 R 2971 0 R 2972 0 R ]
->> endobj
-2970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 523.368 422.924 538.083]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 244.628 425.662 259.343]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-2972 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2976 0 obj <<
-/D [2974 0 R /XYZ 89 770.89 null]
->> endobj
-2650 0 obj <<
-/D [2974 0 R /XYZ 90 634.966 null]
->> endobj
-2977 0 obj <<
-/D [2974 0 R /XYZ 90 621.106 null]
->> endobj
-2707 0 obj <<
-/D [2974 0 R /XYZ 90 356.226 null]
->> endobj
-2978 0 obj <<
-/D [2974 0 R /XYZ 90 342.366 null]
->> endobj
-2708 0 obj <<
-/D [2974 0 R /XYZ 90 77.486 null]
->> endobj
-2973 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2986 0 obj <<
-/Length 2498      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~�_�Fj�(��4h
�n7���lv��ۅ![�1[[R$y���=����=3�M�yER��~>
۟����W/o..���YB����,�gQ�.�-�}�O�����}S�K�]�|;|��>ldV��oժJ�����_^o�R�?�|}�%��4	I��p����et2��n
4Bo7��1
-��i]���XxrWn�F��w�VVs{2_�T2�Qʑ��뛋�/(��gԨ��(��w>��
������0�i7
�����
��f)% R�X�HH�v���c���c�t0Z��y(e��@.F�S�
��#����{�|�2C�� ��H
q���.��O� �/@�	秥@�t>wuը�\�mZ�r	Ρ�r�
����.�1����������Ɏ(�������іL8$CI
�v��oU.?��\
5
D@�ųE����V����0߁Y\�$�Yφ�,���դ��f�j� �O�M6�+Y��jŭy��]�oT~g��h;^�p��l\���b��l �X��M ��lR��h�`��賄K��A�
-G���#*

�9&�2�
B��
-y�O�'�Y˲Q�o{�I�.(Lq[+�&��R�<��t��eZ��w2o&܌�N����7����;��T�.���)>�S�ѻ8����}BK+�xU^�6*G�L��J��E@!�@.B���C�Gu��� �\
UZ�e!�Fe^D�V*C��k���	Z0D]��O��%LD(���|��,�y&�囼�w�Z�̣��-�#^QY�q
2��up�&�yl ]���P�F��$�di at S
1�b�p�ෝb++
����N����/Ya�8<8O�
����Y��S �%�@���`�W8�R�7����U����i�aD�>ѕk�C0bG诮�
�K�;h�� �V������2s�`_���U[��j
�����f�C�$4y:�T��5�9fuU[�:�}1���Y�g�^e�t�uA�-��Ri�v�j/
d��C#?R9�eQ�>�-�
-
�� b�B&

-�K�V�ux\|�14꾀��\7E�RH��<f ��1�!6��L����3Q�
����@ �Q�Z�e�����6q�Y����[�X�ۗ�T!��T��Z�U��]�ut�RfS�N|ۊ��
I8H�tn&�c�
typ�|e��U�d� ��m�iU ؄���J3�:'~
��X�
-�Ӡ4�ߩ�H5�Bq9È���.P �d"��5
-�lRe�
-#_�5��|N{���H?z����G/���{����~��ȏ��6�e�'|���@g���
�����o
 |+�
�^�G�qT({e^�]|���
hL`�k
���)ji����/Z�]
@=��
W�:Y
a�qvIJ�_�Ƚ�u^WI�㏧\W;�2�RL���62W&�V���<�0�O�4 Kyј5�� ��sD��ba\
�8Ψڜ�~�U2G�Zƽ�i9�ᢆ���xK-�n�-LwD�w�p|��C���p����p�̋N���2�N`~�Q�9,ݚ	]��-�Ҥ#�
�ݯ�w����JW}�}���,��4wب�ƈ�cN���7x���-���ZD�w�t�T;���?�U�-���MC��d����;����Y�v���r0E�e{mf�	�Y�@j��7
-��
��Y����Q��|e�@7&��A�4ߴ���a

#���Z^XI��;��}^?u?F1�e�Pfz��u,���
����N,�Q�i7ZQ
G��lLc
�Z�3�8�.���qpQ�
摻l��؊[�Eԑm"��?=��9a�T[�G�
0���S7��U5 ��q�d�r����T�6=�_�q�H
i7F�@���(��&�ԻB�򽍺��D�L�{�/$��>�q,�V��IU%~4��B�m�+���[8d�,�_Qu�7��mbh�(�
;�pM�s}�\�~C�Up0�\�v�o33^�=C�
db��$˟ނ=�� Cn�M�icFF�� ��������k
��*�6-���x ��Z�|��~8q��$�1�������7�_Р2i��z�����r���{��=�������߿1���n�Y;`T�M�1a��
�s`d�Fx$t�>)*
H�< v�
C�J���V$H�x�V��IBX(
�y�8o�m嘊����7�ǝ����t1?:��﬙��3�p�R٦���u��뫾8���
�� �D��C�j����^_����?~Z�����߾�כ��
!ۋX<����
�O'Aw�U�w
5;���wQ��ݦ�y�W�����=9���`����54��b�(�Ie�GYE��
¬
W��+��M�'��B��$�#tl�T��#�'����Ǝ}m�Ǽ�2/��e�Ŝ�0�ߥ�>��>j/u�S�	X90���e
��d����o
����1���i�����p8�uM��*+��˲�^
��B�o�ܶ��
&�+���G��p�)t
-endstream
-endobj
-2985 0 obj <<
-/Type /Page
-/Contents 2986 0 R
-/Resources 2984 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R ]
->> endobj
-2979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 654.028 322.446 664.932]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-2980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 479.394 116.998 490.298]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-2981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 437.033 206.372 466.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-2982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.155 276.326 392.657 287.32]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-2983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2987 0 obj <<
-/D [2985 0 R /XYZ 89 770.89 null]
->> endobj
-2988 0 obj <<
-/D [2985 0 R /XYZ 90 721.073 null]
->> endobj
-2709 0 obj <<
-/D [2985 0 R /XYZ 90 602.138 null]
->> endobj
-2989 0 obj <<
-/D [2985 0 R /XYZ 90 587.809 null]
->> endobj
-2710 0 obj <<
-/D [2985 0 R /XYZ 90 173.167 null]
->> endobj
-2990 0 obj <<
-/D [2985 0 R /XYZ 90 158.838 null]
->> endobj
-2984 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2997 0 obj <<
-/Length 1847      
-/Filter /FlateDecode
->>
-stream
-x��Ym��6��_�O�
T\���w�mR�-���W����[�-��
g�}�"�BG�7��@��E
g��<�P��*��ד����K��ł�`�6�q y�"Wi�zJ����0��<�
���j�����ܛ��O~���b
DH�`���~����
0b�
-ͤm�)��Mp7�i��/��O*F�@�(���3��I�lu�˪q����K��f�B
�G̚Y��F�������H
����(jc���,��n���6��
kiF�ic�+���$7�n0٬�2����^�+���ս�C!�?B*���u�UQ�s.{�R�i���y�q��k]�H2�K^8�w���
d��T��_��j�G�h4}g�ӹ3�ָ!Ё7��=~֏<Q!۩Y5b.F�u����ϋ��������<bP1$T�6r��
3�c2�T}�(b��Y@�|i�:�il��
���%�1��DPV��a�s��,d�M�##0�h;����]T�L9Yj-���&������Z�e��>�/������W��u�
�(�D|.�1�C�c$��CBP
�s2
-�՚��N�Q��EUl�"/�E�[�r�+�A���_p��E^
J6��,�m��ot��ӵ���s�� �bPKmڒ��P"u�(��t�]�l��3%� �����Z\ �;���*�
�~G��w��	�)��u�o�\����IJ�0�P
\:�-�*�o�D�i��ֵ�]J`��Q,���Fꙣ�{�nk���O�E�VN�b���bS�;��F@�v @�P��eQ�i�Ca��o
w�n����%Kg8ͶhV�`!;�B���
��vE�Z�
�#q�I�>�8C1���d��9�Q<Q�l�;�o(N�X��M?D���t���7}s�~����r��i3m�_5�v�J\�w�Y�L����z\���z��'Y�>ɂ���*�>����*���b���e�+ �P�
���@K)O��((�p��D�
G��

L��H ��<*
�=#u
-$�����ӑ6
T�������v�\�/���w��4|yI~��A�ˣ�yN�p����P�<kPP�
��

{��1�'9��6���>���}�_��l���ʝ����$x�L0�m�@�cq7�^���8)�S�@�G���
�m%���Y1 P�-,�>F#�Ǣ�Q-t�ک^%��va7��Ww�%��<
fPA
-�4o�U=�B��ꪨ�#@Qu���
ql�9��E#O��#D�Q@�S@�
N�
-b�+�g���F
y�|���ʃ[ua7���ft(����1�Tiu8�����m��Xbz�5�mzu񫁐n؁�3�u"�;cFbّ��V��*�I)��6���C�꼛ދ߁C#���M��/�\��o{m��|�p�k�%^�x���>|d��}�U�^_>9$�^�H��
�v}����i����l��H���
L.�_��⢣����'C��̀�Q�HMUP2�ş���j.��Tx�Q��tI.���}�X �z
��c��.���>%hC{4�����1bW���Kb�cz^%�8>�Gh\!<�+�9�Kb�=��$�}�C��%��{��l�Q�s�i�#���e at GR6Tx�l���@�{��x�.g@�
�6ɸQS��V��t�U�i��%���i_7�^�q�������h�>��?���S5;�?���y����c��5_�`)xH2�8�l�_8�E����֤�P��l9�^:����t��,mh�H�}���У}�T�^m1�R��B��N�;m��5h� [...]
-�C_�݋�mѽ`�ap���M�
ܩTM
-endstream
-endobj
-2996 0 obj <<
-/Type /Page
-/Contents 2997 0 R
-/Resources 2995 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2949 0 R
-/Annots [ 2991 0 R 2992 0 R 2993 0 R 2994 0 R ]
->> endobj
-2991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 306.383 355.512 317.286]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 232.71 268.34 243.614]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-2993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 74.333 355.512 85.237]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-2994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2998 0 obj <<
-/D [2996 0 R /XYZ 89 770.89 null]
->> endobj
-2711 0 obj <<
-/D [2996 0 R /XYZ 90 637.845 null]
->> endobj
-2999 0 obj <<
-/D [2996 0 R /XYZ 90 621.407 null]
->> endobj
-2712 0 obj <<
-/D [2996 0 R /XYZ 90 407.699 null]
->> endobj
-3000 0 obj <<
-/D [2996 0 R /XYZ 90 391.261 null]
->> endobj
-2713 0 obj <<
-/D [2996 0 R /XYZ 90 175.649 null]
->> endobj
-3001 0 obj <<
-/D [2996 0 R /XYZ 90 159.211 null]
->> endobj
-2995 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F23 364 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3010 0 obj <<
-/Length 1732      
-/Filter /FlateDecode
->>
-stream
-x��ms�F���S�f��='�L�۴�Ic�M���,a�	(��}�����]����76�cooo��? {�
�^����N^�SH���ί<���+$|8[xc��L	�x�vB�X�+={;�x���e������2���������Rg����듗��%��@I�������lf����

-&���,<�uQL�T`0��8\e�.C{�]x�"�a2�KgbLH`l�^��>���
��(��|5����\~�a�`1�j������;�1�.��`��Bs/ 
Q���.�z�a^Tn��`��b%
-��)�ǂY3�Ν'/��	�M���8<}~fʥ.]D��=\"%���պp�:�)A\�zХ
�<MJ
%�žF��B���3�|Z��
c�|��>�
�
S.����i��0t7%�L�p�CHX39���։y3ɓ�-
vL�in�r�X�TQr]�ţ��:)�4�fi����9;�Bb��(Ă�~���3ӵ��뱾��·��ev�k��:^1N�2J
�3>�fs�S�ڋ�
]'Etm�
�~�P��8����].�l�W����Z����^�Fެ�(n
��GS�aR�����	a�
��
�o�a��F���H��U�e�"60Fq�k'=�^���j�&Z�I3|�Kwc��n`�]�0�[70�/���:����u�i�1�)l
��n�^|���>�Q�T��\���p����L���U�
Md%�j��|��fK6u>_�
-� (��:�'&m�R�ɢ���
�ɶ=V$�~��:wմ�`�Ds%�t��2�C=�
���B�s��bmGF
�����l7;��Чر� ��M0�Y�@�La�-X��6xz��|6��F
k�^ !%j��hp�>�
+�n�Q
^�	K+��/o��bV��
���S�J��U
-�LG=�@�B
��g�q�J>
4�3�-P��en�G�%��&S��מ�3�Hn�]wZX}������L�sm�wJJ����HF�����Y�2�!J{�|%1 ˇ�J�� 1�8 0h���*
�Z����'ك�QӘ�XǮ5Wͫ�U�.o�\lnO�
��I�>���"��Fl���CؕU�"0�69~/'���-	�'����C~k<��s<�
����ѡ�'
uw<$���`����!���·���
-
�3lj�2�Y
-A�]܁EڅEz
)T"&C/�|!`Q
�1�1q�k�Xd
Xc�H�oT����A}f~ϡ;���m)js��eX������R;.�^����w�Wy@�x�r: ��M�C�*��B'i�7�@�Bž#UG%��2PG�:�͟�4�@�&
F�q��9�u`�7���UX�[�_�Ej���*��[�jִpN͛
q����Y��
-�����|��R�Y��p��zo-��]��v5?]�n��x��X�
��0+@1Ӈ`e�Y��\"|��3����l7?2.���h�D����!o�8�K� jCѭ����ʶ��gh1�g�q���uvo\��
\W� �C�q���S���Z��������v���śm5��~�7�A��� u�db����9[��^֨v�� �
���D����v��N|�'|��KM���m?�V�G�_�)`�}��0�+�o����wZ?
�S��`O�,��lj ���ot��q�N`��ya�.bd(ז<���YX�]�G�>�mT�A�/��︑�eYf�''���
�N�,GQyqr�:v�Hi�\՟�Vi�#��U�R7��7O��
-endstream
-endobj
-3009 0 obj <<
-/Type /Page
-/Contents 3010 0 R
-/Resources 3008 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3002 0 R 3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R ]
->> endobj
-3002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 631.838 268.34 642.742]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 475.553 355.661 486.457]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-3004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 402.799 268.34 413.703]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.008 246.514 276.143 257.418]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-3006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 145.401 268.34 156.305]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3011 0 obj <<
-/D [3009 0 R /XYZ 89 770.89 null]
->> endobj
-2714 0 obj <<
-/D [3009 0 R /XYZ 90 575.878 null]
->> endobj
-3012 0 obj <<
-/D [3009 0 R /XYZ 90 560.266 null]
->> endobj
-2715 0 obj <<
-/D [3009 0 R /XYZ 90 346.839 null]
->> endobj
-3013 0 obj <<
-/D [3009 0 R /XYZ 90 331.227 null]
->> endobj
-2716 0 obj <<
-/D [3009 0 R /XYZ 90 77.486 null]
->> endobj
-3008 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3023 0 obj <<
-/Length 2103      
-/Filter /FlateDecode
->>
-stream
-x��ZY��~ׯ�S"U�0��c*I�z�����MFyZo�8v�e��Ij���i��ZGv�*~�!@�����k
-��}���|-q��T�O�Ɓ��F��Ü����.`B!�쪧���n����ξ��]�~�x���H�`��}���-L`Ĵ
-��]�)��Ip7��
��D�g#��z�$�yevyU��p�5��v*DZ��?����͂ꘛ4ڙŒ6_�
��������h�� x��[G�
E�.Z�_P�O��f[D���ET
oo�����1��D!J!�ω2<y��%�	��ԩ��e)�ZTC����)�iT
�晕���,�t��!���C��Ҳró�$����s�hDX8q

�?x
-�d�T�B�#48�

��4dx�
A��fՇ8M��|t+C�W>�
-�DKʗ�mx]��S�|^en�P�
�Hw�?b�<�t��V-�c\�0 at C�8�wha�}R���S;We\���ȑ:D�#w
9P"Mȳ�j#)�8�����R
�8�@hz�Ь[yI���$Y���k!f.~>���Y�~o�`i$��
�N��~�
^p�R"A�w1=�<O�M��D�
'&��HCtB��>j@\�LQvwTNl[!�5�i�z;jm�֟^7.|�
j�9���迍7�}Y�� �y�}5�4�of������5�UMB�&�l���Zz�yc����LѺ��e���!9�?EI�]G��~g����H���
�lA�����x�C8$Aq
�	��VeQ�
�CRR��u�x�"�[��m
r���e�n�]
p����B	C�H��Q|�������
�5�*@�������D�����!ޚ�zv:�MA,_ٱnv
-��f��JOtE��ڄ�W��RF��ܙ(�<���v���s{����(�7r�Z��ٺQ�vb�rmI�z	9��9�y���=��y\Yam4��eer+6���#Dʨ
1 at Be]^!3�m=��|9��/5�}�-����;(L�MX;"�{�%K��1
�ʡ��fS,���Z��<��
�Hk�󵜗��I7�h��!�kǯl���
�n%ɘ+��Z����,��dV�cW�
}d���ΩOl�9��Rdp���t���S��	��)4�-4\j�/݅�	�,
H
N��i����9���l����q+��� {<Kd׼.��D���o�H�x~�]��o��X�JV}T°<�J(����L�I���L��+��`IkA5�E���#�O��M[t��w��F9�
	�r�)GXP�j�c!�ߧV�f;V�(�0�y��
iSv�J��k��y
��>X�#4�Βꊠ�0�؁:�6�m�C8����s�jb��B���"��
.n%����Ѵ�hS���2sO&��g㪝�����
 �����In3��	���U�(ǶLCm���.�Hh��C�|h�ON�F�y.]J�Q0�רQX�N!
��uA
��q�mʮ�\sK��N���__�C�-��d��H(ַ�C�cb�X�
�M�2��ؗ�����b N������)i
ka\x|Q�$kS�k�46
Dևw�c
-���&#���������8��޷�!�����~w�(�N���lY��IG��~�al��.�y�1:��9�V�
R�m���$l�yrt��Sa��}��W��͵
��T�cM� T��cC	���sa�c(m�0�7���l��xߑ^Ԃ#_Ғy5B$D!���jPHHFj*)%�-
-�}�Ea߁�C�
����ׄ��L0KG4r��A��5ėxS5q #�su\ �%
jh ?�����I~+L���&���o#T'©o#LO}
SG:/~
�_�B.� �J�LA 9� �E�^� ��
6��g
_�(�CVgW�ߞ�&���
z�&̑�xo��1cu�ԕ�No���<�Aw~>k3'�*�����;��O0���z?�Հ�N�]�����p����\{VC����iXϿ����-~�$7��
�]�⏋�]7�>J�Q�tW����0�!
 �ۺ��{g�r��4O��J�1�d�5�XU�����p@���8/P\�@�{�܄zT,�n�����.k�ulA���
<��� =*],
-endstream
-endobj
-3022 0 obj <<
-/Type /Page
-/Contents 3023 0 R
-/Resources 3021 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3015 0 R 3016 0 R 3017 0 R 3018 0 R 3020 0 R ]
->> endobj
-3015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.011 654.028 513.996 664.932]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 367.971 276.047 378.875]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 269.636 268.34 280.54]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 117.392 334.073 128.296]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-3020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3024 0 obj <<
-/D [3022 0 R /XYZ 89 770.89 null]
->> endobj
-3025 0 obj <<
-/D [3022 0 R /XYZ 90 721.073 null]
->> endobj
-2717 0 obj <<
-/D [3022 0 R /XYZ 90 466.873 null]
->> endobj
-3027 0 obj <<
-/D [3022 0 R /XYZ 90 452.418 null]
->> endobj
-2718 0 obj <<
-/D [3022 0 R /XYZ 90 204.396 null]
->> endobj
-3028 0 obj <<
-/D [3022 0 R /XYZ 90 189.941 null]
->> endobj
-3021 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F79 502 0 R /F122 3026 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3034 0 obj <<
-/Length 2047      
-/Filter /FlateDecode
->>
-stream
-x��Y[o��~ׯ�SK�x.
���M��Hc�)	Z
[�R$���x����&�r�4������̹~�
-{w
�^-^\/.^
-��(i�]�z1�D#
�]��	Ft�"c�͒`?�w��͒b���2���/�M�����/~\_m�J.?\��xI�@-�$�6�Z����j��	\��a�	<;��<i��r
�b��]�'�4+o孬�$�e��%0�+�����-��
1��HD�f�x�{),��0b��A
�2��{W�.��,
F�72S A�'A࠶�����<
�A�`�y�� '�˪��"��]�WeV��~Ԗf1������
-��ՏK�!�Yr�K�i�:+���vkW����h
��֬%*�FA��
-��WU
�h��{̱1��7Ҭ�c �[Y(UJ#� 1�ƻ���{c
$J�b��Q�ٴ�}���i�C�ʢ?d�־�4
�}+�yro�f[d��%�L�$
��Z�Tx��M�O�6R�a�O�b��	
��q�qӦ��Y�
 �I��뤾��d�>T1G1�e[�*%����ݚ��(b�{�=��v
ʠ8괶۬12��i�L�PR�3zH�"�mv?�%BAwJjۗi~7�UVl�]�����u�#h
-J +L�h���Z���h���!@�.
:��J��d����}�N�SvQ����R���5�P̧gw��~�p
������DX: ��̳]��t�7�姶N�")\��(�

l�IZs��3�B���7"zxT�KE��OVŸU	
-h<�ᑒ ��O��0ľqRaۊF
EФ������	`��꾁�4�?k�̐unl�"D�x`����~"D����
-�
�S����S�,#}M�
 `b`
-'sZ t���]V�Y!?���
-�A�0�x��]���#a81�̀c4�k����,��
��8�%(�U7u&�E)P��ou
�7�f�$oJ�"�۲��e�,kѦ+kkV��+����2Ɯ�#"D���Sa�.OS
-2.��n�.�
�P�7vL&y�Od}�	�eX���!�Ќ��1r��"xxFH?
�xH[p���:B���
�0;v�܄�ŏW.hIk}���G
,��M;�<�P�uҍ�>J
e����d����ħ��?yL�O&`
�Ј [+ ��a���
�ވkWa�  5��x� j��JM�l,�M?)[ݺ�H�9o�i#g����d�[�u�Z�'g��S�>��Ϗ# KA�E��A�qb8&��;��2�>��'i�n�d#�]�5��Z Y\U��=]�P��L��=�������#�

�<bL��i3S�T�#�ĸӝQH�ԓ��CJ����1j&#���	_��PN�F�u��?F5��<��i����G���N�Q>
�s
-
Y��5h�(d
�9�$nF����i�Jb;�"G�����E;C#7C�Av��ꌪn�"��@|rG�h���V@������fk_���R�j;�cC�a91�,�Qn��5��\����ܤ05`�[Y�/��Y��q�m��|��FX�z_�a��r7}kPt|�/�@\���IH
�
�_�����C�&`�K�0U�&u�уۺ�Mz@���9��@�s�
0 G �a6�����:ѷ��΢,2�Cb�1:�Ggġ*B]C�v$���N'�d�;�Z�Z7��# �����1�*�=sGG�����㼃�O��
-_�bC_߄����i #�
c�0�Fq��`8�F��C��4��K�:o�g9PŽC'ed�+M[�J�|�-�
�A8�Q�?��>8��0�/0��8D ?
�aI2GvP��ҹ��h��
� ����+���r4��Q�$G��^���<��a��sL�QD�>�����Ӵ#�����RZ�l����
� {3�%6p�?��?Br5r�c��?:B
z� �@<�&��2EU��u%nnm���5���ƽ��I�O򾊌Wu��{�E��QsR�v���t��g�z����jo/�b�K�m�ˋ���6
�YU������☌������}��+��3Sbw�[�Q�� I=��
-endstream
-endobj
-3033 0 obj <<
-/Type /Page
-/Contents 3034 0 R
-/Resources 3032 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3019 0 R 3029 0 R 3030 0 R 3031 0 R ]
->> endobj
-3019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 696.002 268.34 706.906]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.224 541.932 256.77 552.836]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-3030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 442.179 268.34 453.083]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3035 0 obj <<
-/D [3033 0 R /XYZ 89 770.89 null]
->> endobj
-2755 0 obj <<
-/D [3033 0 R /XYZ 90 641.208 null]
->> endobj
-3036 0 obj <<
-/D [3033 0 R /XYZ 90 626.47 null]
->> endobj
-2756 0 obj <<
-/D [3033 0 R /XYZ 90 387.385 null]
->> endobj
-3037 0 obj <<
-/D [3033 0 R /XYZ 90 372.647 null]
->> endobj
-2757 0 obj <<
-/D [3033 0 R /XYZ 90 163.811 null]
->> endobj
-3038 0 obj <<
-/D [3033 0 R /XYZ 90 149.073 null]
->> endobj
-3032 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F79 502 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3046 0 obj <<
-/Length 1884      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�S+�T0�r:�iڸ3=�X�K���",��H����wA�)Q�3M��>�$��b�o����=���n$�4҂�hvi
�X#.`�F�DŽ���ٷ
--`U=��O?�^�8�u�F/f�?F>�x
I-6��oq���FL�h_m��2x�����#
d�geRa
G�Ĉb�x9!x��dc*c�Z�cFW7w��$,��s��lz+�n��.�H2֨<[�ɔr<�w�;c�{q�i�1y�y��U�I���~S�Q
�hJ�qe�%Q��L(����
��l�voz|ȫUQ��U2�x�.˗ͧ�C�\���,Ö́��{�ϔͤ�Z
J��������l�
-K��Լ���&
r=���?ʇ�2�e�vSB���+\�KÂb�~�f�n�{cM�����Z8x6��FNxy���%w�����۠&��n�]�0�hW�ٱ1�x'���e�*�dy#&�t@��%����d�_k��#�X��3za�d\P��VJP���L�ʫ �{[l�U�
�����9�(�
-1B� }[�z�S��c���'��@Z2��:�$h��� ��
�$O���I#~f����A�V3k�ݺ�iB0��zF �tr�j���JWOC�*M9R"�x�	����L,�A6d<��.G�����?�L��c�z&��N���&
9����
-)�k�	X4p�#�|
�!�j�=��vj3�(s4�
7ρ��O�5+�V�b��1CƧ�<5!GL����`AvdA�: ����Hu���% �`܉�� \�ܸG1�q�
�#��
� J���uR��M�B����
$�R�T[�C9��$��D_j`�Z��b�!H�D[�߹[d��
-�&��t�X?�Lj���ٝM�����緫d;�
-Q
-	}I���C��k@�G�/ΘE5����`�
��IYf��#�
�� 9/>`=HwF~__#��#�?p�$p�GR�V|����
��Æ E[pz��k�qo�
8FZ�r���/k
ڜӌ��MS� h@�Ub�D9  �k�@dB���L�
��oF��Z��������@ �� >�o!;��|���&��! K
����#m �,X9��%�	���M
̂
-�BC��
��G�
4�2��L
-���
���N胚h}H²J���&_V���Z�
M��]{ϠU��2Љ)9�V�"tm0�wj=��qi�N=�"ٕ�8����]T��r�m�hh
-O���1��o��3Av��)gP*u�6��y�ռ��P�����
�x�0h���Psb���������?UL��7fS8�k�̱������D���2�5az�)�����[)	������>��� ����U�*�TK�f�m�˭Yd�DX��z��ˈ�-�x�W��o�s9G)dyr�/��Zq���:!�4

,6w� �-
-
��m���Q熠5�+���c{�H/6���߃�Pb��d����.w vu��j
|�k��  ?RE�-�/�
��f���l��8���Y��oE
��
�|����E�l#�>� r�� @�
 �jn
|�?U�
y
-}�:�?�

-
�0V�E�_P�łR���
u���;��
E�Mn��^s$�����wp`
`'nj��PKZ��J#a�BeR
-�WG-��>Ͻ
��i����� ��/���΂?���YPf���
�q��}�lO��(�#/
/�0��3�6��ށ������.��'p�Z���
.`{�o�o���Ίp\_��r�����.F
��ac~��~)���
��mHr
0‡�=�#�_�r�]K�ܚ�Jy�~�����a�#����֊���^_]��{�(�.϶e��v��:��8~ʖ�}aSX��;���'�'�	�z��
-endstream
-endobj
-3045 0 obj <<
-/Type /Page
-/Contents 3046 0 R
-/Resources 3044 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3039 0 R 3040 0 R 3041 0 R 3042 0 R 3043 0 R ]
->> endobj
-3039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 504.036 236.659 514.94]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-3040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 445.119 256.157 455.017]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
->> endobj
-3041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 297.186 206.372 326.252]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 249.602 483.212 280.57]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3047 0 obj <<
-/D [3045 0 R /XYZ 89 770.89 null]
->> endobj
-2758 0 obj <<
-/D [3045 0 R /XYZ 90 596.876 null]
->> endobj
-3048 0 obj <<
-/D [3045 0 R /XYZ 90 579.336 null]
->> endobj
-2759 0 obj <<
-/D [3045 0 R /XYZ 90 434.173 null]
->> endobj
-3049 0 obj <<
-/D [3045 0 R /XYZ 90 416.633 null]
->> endobj
-2760 0 obj <<
-/D [3045 0 R /XYZ 90 228.703 null]
->> endobj
-3050 0 obj <<
-/D [3045 0 R /XYZ 90 211.162 null]
->> endobj
-2761 0 obj <<
-/D [3045 0 R /XYZ 90 77.486 null]
->> endobj
-3044 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F11 442 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3059 0 obj <<
-/Length 2366      
-/Filter /FlateDecode
->>
-stream
-xڵY[�۶~�_��D�ZX\�
��>$�Ӧ�c�}q<��S�JR^��I�q�"�xp��;W���
�~������k�g)J���Y�g2Ip��}���bI0��7
��Y��Voϫ�i�7u��9���������^||���kBFbI� �*X���;%X٬���Gd��0�O��5	�Y�,��c�ҹ������[������.��H&��	%F���o�{C@
�
GR�����l��a�`3�ݤ�,�
�����/7�"�� �� ,b�+�n�+x�q��r�v���ڧ�.�=�Q
E�'Hx��@�*9H<���ߩ�#T�g����\�yUƸCn����g#��7f�lI��v��S�픯Ⲑ(��
-�%I/�Y��d6�
{���g�Us��z����l *��T��
�᮵�%)G�b��Hw���
��V
	�a
oD4�
)�AzY�
-�
f}��"/�G;����%
-	Fg˄�dt/�հsg��Ιo �W��` ��u[���C��������{�r�;۷F_?8�����C7|��ٹ�W�]Q�`��(�
-CG$�S{hu�/{!��x���B������
-�5K*:��)�'��^��'�Ҁ�nڼ4�>���l��
��LJR�m��r�C�e�
�,,���Y1����o_�+3�s����UQT
p8�Æ@���4�
蒂���m�)ВrD����U�	�ۻ�Y�&ڧպ�T�,/�Av�Ѝ�9�{ �Z��n�u�8c�c?K�ޏ�G
�I%�r9

j���G�x����"3T�C�]�zcGr�O3v�
��n�vl]--v�@�#�^�m*�y���
;3XC)2o,k� �(�
ˍ�cZꍁ-�\��J�p��D�H\8�S	�C�l����SDX��ScGﵽ����`�y�z[���8��3
7��Q��)xBbw����,m~�{�	���|�=�8L?8|�^bD���K��!8�˪�g�wO7��=Bݭ=;`��g�2@
�(a�5.ke=���}�e��_e�$/�$����}�`Yq
<W����M�#k���/�yt��LH6��p�_�k8��}��K �H��Ϻ�&b�!G�F�A�c9;��

�8=*�q�a�7c٨���=|��J}�z����a�*f�JoUyd
G5���{M������H��H�(㚍�����y,1��#�F?E��c�W��<���h����Q��c�R2�h��ʜ�z�c�	(#������P�!8�cuB`�aZ>0,��V�K�$w
º�
�
BS�FY_G�	�$'�G�ׅ��9
-(p�
a�UA���wV41�T�a� �J
�+}� ��8����%p
��
�`��jT&�*�q�T�-RVnU]B�q�d��/�e_�����K\>af��A�
�dH��u~?(��lm�+r��)�[HϮ
-08�3�p��!�6�d�슕F��� 	D*�aC$�6D;�a�B:�aPB�t:�_�LP&�]�%�V�i�d8fOj�g4���i_���q��1���γ�B�����,�sV��g��1�<?Ib��@���}|/��>0��B�t��500��W}{Q?a]
:�ZШ;19�uU�:Teа�����	?
D��Czǘ�.5+(�W�$h��ʝkV�T*N�6krT���s���5�E~No�<�.�����m	��������l�<����F��DWqݑqs����M�s���Zl=��3�G�}h���
�(8?gE�Ye���l/m<��mt��-��K�1��$�ByFS[N�SZL|1<�s��P���	9����C�[麮.�^B��S� +!�n��f��꧸I�մ���9H��r��&��*�w��X$�2�ظ�.��J뀇�6S�����	K�U����3�)Q ڷh�T�İqk�aB2�{j}���n�**�c}"
1v���<���Q������&��+�F�]�)���:�\�#�3�2^*��/ÉM"#U�@�G�6r��*4B���Ț��ݢ�j�R�=�j�ӯBHN���Ib1J%hK��4�8w�M�`��e��X��zii�Ly�8gL��6��mX5��5�Q�~!���.=;��
�LPnb�� q�#
���D�
-t$����D�<�
AI���^\"MN̮	$WTO��������������!��<
����\tž�
��~K�K�;e��'�C5I�ܷ��
�o���޺�������
��.i�WV
�������M#�+�6���;���vg�f�����%J���^�mw�����hݠc�j����Cq{�FR�{ҷ���d�}U�mx��N;���� T�{�
-endstream
-endobj
-3058 0 obj <<
-/Type /Page
-/Contents 3059 0 R
-/Resources 3057 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3051 0 R 3052 0 R 3053 0 R 3054 0 R 3056 0 R ]
->> endobj
-3051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 641.143 385.519 652.047]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 352.161 239.856 363.065]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 117.599 300.161 127.881]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
->> endobj
-3054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 74.333 182.164 85.237]
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-3056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3060 0 obj <<
-/D [3058 0 R /XYZ 89 770.89 null]
->> endobj
-3061 0 obj <<
-/D [3058 0 R /XYZ 90 721.073 null]
->> endobj
-2762 0 obj <<
-/D [3058 0 R /XYZ 244.439 355.314 null]
->> endobj
-3062 0 obj <<
-/D [3058 0 R /XYZ 90 333.935 null]
->> endobj
-2763 0 obj <<
-/D [3058 0 R /XYZ 400.69 77.486 null]
->> endobj
-3057 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F8 537 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3068 0 obj <<
-/Length 2372      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۶~ׯP�J3�6Mg�ڛi�:�Wm��
�ĵ�H�BR���q!�ui�t�$��;
-�?���������&�c�dL���q,�8�$�1�-�wB�����1�"2����?��n����V=���~
x��D�(��ft������#&�x�nڌ#��w=�
�u���B"�E
�x:#�I�m���W7��{SDp
���N��h'Ĵ��mV��l:c�M��

-j��>@����/S�'e��߫��ڤ����ϫlY�����z��~���v�nC�!P,���
�~ưD1�|ꔜK��",����)����ަ��~�o���ˢ��(Ǔb�p��ۿO%1��a�����Y��p��Q̑���Ҫ�� �M��3��cB���ؗ���
#��
�R����H쮻�X�E�Q�䱧`N�Y�M��3%�򌲚U�/Z]��C��a�������/U�@ca�k^4e�T�dG�S�O�!��6�m�
(qF$�'l���R���v��&Ӭ��;:�Ɉ@	�@O��/g�%�M�sf�;�Z�+��
-��O�>|?�o%����
d6�����̢���ޖ�2/>�����}0��/��7��J�	g$BT�&T
-A�_)�
A
[Qa����Z
a���<���1[Wi��]�;�üH���U��C��fU����1	���ۧE�mZ_�b�C��Y^_C�E�m�/����=�b�QB�UU*��AX��$��|:� n{�&���@tFH
-g�f��<AT�̦���u��Ţ� [H��.����ڵϛUA��Dupd7��")4ɖxY�S���#e� l�Ɖ��.
ȢI��ǐ�N��)���26�|��]twnz

�O�֠���c�z�9b����@���a(2%�C*� �
�����tn�J[x�
��|5T������E�^=@�e�[{�h���&�z��5��;�D4v�gzr�
-*&a���?�b~
-��=�(TKb�I|�zOH:\��$͍����M�D��b���j�����_��RÓM��ovu�%)��$Oړa9ձ
+p�Y�fv)$S+�ϻt��l�t�NP�
-~�o�h�ˀU���P�xj6���L�F��!��(!hJ�
a��
 ���B�H� �=G�&���اH'U�i�
��t��1m��ʺ�n�p��� ��9�L%�!�@W����l�@���m�K�d��P�K��p������?F�M��{)�ũƷwr���xi�
���_�ˬkt�&Ѧl�~�("I|N�:E�(~��!kv�
�T�0:{�MG���
,]#Q���AD�%��h�yN�j
���r����P�:u<�
(J
�a��F]$.�O�,*�+�i ̕�H��,����[�:�����C� jA��� ���Γ��^2@�X��a .c at B
 ��Yd��ʳ�%�+L��!S�bnnv��4pp��\�M���`�'hx�::������ �(ˁ
;�@'�8@~(˵���βRPɮ?ʂ��r�D� �ޡ!������
��]O� �5��QM��N��K��YC�������S�&� $�#���<�~w�m �Y�$��/��Aq޵�M��Nw��m�����H�	i����v��F�z���&��%;���&;
-�
��n���ȳI��!���d��YI+�
-��ZO��
-����^
hGW�kk}?@�đ3�#�$!'aP�%�pDP���-À�!T�
>�_�%*q��

��vW�M5%b��M�k�cQ:�˪^��� ��Yʏ�N
`N�{�\������	�JC5�J������
��(�z��H+=��U�v񙰶���@-
�d�G�w�vg'��
87%(6p�����m"E�����N���M=,T�ZQWƴk��4�8����;4/ßm@�N-�$b0�#�~�
�A�&3�C��y�9�Zک!
��<�˭���⛐@Бqy:�%���f�T3��Xp�1�
!(

�}�N+���c������_�7dUmV���X�z�Z��k�J}�αmHW)4�����1-�D#T��0���
���	�}�f��!��
��DMr���cQۦUW�?����IY_�2	

����)X	�h�;�
����몾��QU='���V�r���
:��|���^R�sL&�		U��'���'��U}?Ӹ���?T�f�1;�*�?S �c��D{&�-�A���%�
�{�5j�en��Kߚٗ��[�U�Ui���_�B',3s���zq
N��R��Pu��Q�隣��Ө��
�"A����j�����~�G�Nn+�7W�������
u�#�؎ρ�Mi�����M�.��'��5
-endstream
-endobj
-3067 0 obj <<
-/Type /Page
-/Contents 3068 0 R
-/Resources 3066 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3014 0 R
-/Annots [ 3055 0 R 3063 0 R 3064 0 R 3065 0 R ]
->> endobj
-3055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 614.454 206.372 643.52]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 546.733 163.823 557.637]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 499.363 362.844 510.431]
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-3065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3069 0 obj <<
-/D [3067 0 R /XYZ 89 770.89 null]
->> endobj
-3070 0 obj <<
-/D [3067 0 R /XYZ 90 721.073 null]
->> endobj
-2399 0 obj <<
-/D [3067 0 R /XYZ 487.765 502.516 null]
->> endobj
-3071 0 obj <<
-/D [3067 0 R /XYZ 90 486.532 null]
->> endobj
-3072 0 obj <<
-/D [3067 0 R /XYZ 90 384.15 null]
->> endobj
-2764 0 obj <<
-/D [3067 0 R /XYZ 90 361.215 null]
->> endobj
-3073 0 obj <<
-/D [3067 0 R /XYZ 90 361.215 null]
->> endobj
-2810 0 obj <<
-/D [3067 0 R /XYZ 491.351 272.157 null]
->> endobj
-3074 0 obj <<
-/D [3067 0 R /XYZ 90 256.173 null]
->> endobj
-2811 0 obj <<
-/D [3067 0 R /XYZ 203.822 145.242 null]
->> endobj
-3075 0 obj <<
-/D [3067 0 R /XYZ 90 129.258 null]
->> endobj
-3066 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3079 0 obj <<
-/Length 1830      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�f"wn�3ͭӴ͸���d<�ǜH�JRq��]��U�(�v�=	����b��Y���a��ɳ���+�=���һ��4��HH�Zx�|�����?���*�<�R�'˻�H��_��4L�NO���<�	�f�����+BZb��H� ^ZH����y�}�&\
�Ј0QM�~L��e�e��i��z榼��\�tJ��s��8>��ʜ����1! {�t�@*��ɻ�[���
F
��-&�<N�.���o����=����B��&ߤq�̠���!
�v���9�#�J�1�&Eץ]a�(I��+G���+G����/��e�\V�"Q�T5�nTHj�'��y�X~�#
Wn���9�b��
-i�a���E-$�I���o�|�sQM�^�V�s��m�L�EI<��y�Z�yt��L�鑝Ng
R)�+c"��03O{��<���UtT�� ���BŽ+-��,�@"͘�H
-���
 �����ʨ�LUqB�%�B�2��wkA�(+�5�c�3'�	|t�t
t��WI�,_W��<��Ql��rey�p	�}�]8*����B�2�c��ߘ�'��fq�f��T�V.�H6�ށ}����z�����/����
-{��ݐ(��
qk`�'��
 �B�H-�,�$Ί����B�����C��22j#�Q�#V< ��E
0	a&�aPۍ��
r����cP
\ w������e9��R�m��Q���E�IU���h(d�ev���!�$ޝ�Zһ�X�Y|@��?i5�lrt�9 �&7YD�&��6w7�5���@�J9
/A�B��֘x��V+=Vp�G�+8��.8�BR)�K0W!],�<�IRn
���2{��2��T�3
Xb;L�*
�}�u���T(i�cL�8Y����Ij�a�~��4����&�V⬏r��ɐRx�=|�o�s�.�6c�kL�.2��
�X�mW�A6( ���q
.�!��"�b��F�q��	RXv���M�W� I
I�{��st�)]~ek3��RG;�C�r�
l�0ڏq��
��?,�r���"�
���P�r�6�u���Z�r�x�ÒN�Q��=e-���e����:#
�$у�Q
�s1
pQ��[U}��
%��
�3[�D�C�
-x���V�9`
�
�>b�;ưC�[������
�N�
v�cJ|������{�ao��%|��a�)��=�Ca�
�F��;��VC?2~lu�M�E��"�ΰ��S^ٖ���)Ikݚ0�
-#
�pm�hU��V�A�$�w}�'[����~��'�I=�O
-IF�&#vS5j7��ޫ��쐆R�CJ����ߠƐzD4�WWk< �b����EK8y@�@��l��%t�%�o+�$���v�<�޿�o9�3��8s�;��̅��ӹ�o�KG�;fY��}���FE���6 �h�
ӻ���[t�6
��93��ֆ��\"�r�+�G�XQ��Un�ȭ	�+l�
����(�l��ha�xמ����ȁ�
�Q�T
�L�qK���:��G�,n�����R8
1����	%���ap�2��}��6F<�$����%� V�������W��p��
`�%p�z����i�!��v�,(�����
]�V�!�v���{�
.J�!d.�E�$E�����q�pl}«NLHx�
zN�:)��a\!�!vf�����eut��ʋ�3�>�
-�gu��	�M
�ي2iV�"�A�VT�I:7�YZ�ɫF?O��l�m
�u�����������3���u���d�^�t�ֳ��T-��H�J��"�m0����?p
-!�
-endstream
-endobj
-3078 0 obj <<
-/Type /Page
-/Contents 3079 0 R
-/Resources 3077 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3076 0 R ]
->> endobj
-3076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3080 0 obj <<
-/D [3078 0 R /XYZ 89 770.89 null]
->> endobj
-2812 0 obj <<
-/D [3078 0 R /XYZ 485.373 693.486 null]
->> endobj
-3081 0 obj <<
-/D [3078 0 R /XYZ 90 672.695 null]
->> endobj
-2813 0 obj <<
-/D [3078 0 R /XYZ 125.554 436.964 null]
->> endobj
-3082 0 obj <<
-/D [3078 0 R /XYZ 90 416.173 null]
->> endobj
-2814 0 obj <<
-/D [3078 0 R /XYZ 438.998 257.225 null]
->> endobj
-3083 0 obj <<
-/D [3078 0 R /XYZ 90 236.434 null]
->> endobj
-3077 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3088 0 obj <<
-/Length 1689      
-/Filter /FlateDecode
->>
-stream
-x��Zێ�6}�W詵���;Ŷ�\Z4MӴ�>%�Bks�Bmɕ�l��;��ʖ7�A�'��x8g8
�!���~�<YL�~P8�HK*��U�q��FBBo���g�/&CD��_�����j�����~�<_L�������`���y���~`�tܔB��S�up>�m�۶ٳ�D��ٜ>-��k��r
�L���*΋(Y����7�$�@�H[j	c�����щtF�XWQ��"� �?nǔĹ7ҼŘ&f���L�"͌�V���,�o�"N���ʡ�
׏�"
2J	$h�1�J}�)vY���1ª��
(�
iR�|[̜S�`��0�Zo��aFD�J�U�·�a1�,/�B$d7qn�QR$����;�E,Ctdf�

-�ҡ�,��}�ër��o�2��fV���� �	���7  LӬ�o7%`U�{W}�^�指�e���Ҭܽ�2�[�]��fF��2�f���{��0�D��rm�-h�,n�^��k��sF0(�x��\o4����P�����`)I�X���l!™���
��j�s������x���匈j=u̠"�6����Q;��a�c���a�R�� NGj6'CD���0(�8�=Gt�X`ݜD�2��ES�ۣS���P'�:�G���q�(�1Һ疎Q��S�e����:^T��"���}���>V�ϐ��b��
-��N�:�+0�1�D��nQ˻1�zFa�Bl
���n������C�+��D�2gG	C��GC�8�ܦd��O�]�_G���Q�*v_�ա!��Q�|
��m|
%
�4�J��]��ᖖH�Q�d7U���8n�۫{�
%i�MOw�
-��ų*�w�*�T���|�5�@FW=��L��-ED=��f����C���EK9����
�#
{�
���@n!�J�ubHkG�ɌMϫw�\q$���q�<W-7P��6�6{,�A�
���=BP�fj��#��({
�:�
�
ө��X��u�H��-�G�x���z"��Ę���
�K�KS3o�'ƕY�w`Y��fQv�]�< B@���݌|`�
�M{�mRoW�D
��$�&��/ˆ�0ı���1���	1l5۵m[+p}G`��AHp��p��:�kխ/��2qq;�xm���t���=1�6��#��K=����&L��s��U���wa��w[�� ߕ���Q�ªatw�(�
��^z	H�U,,��
Rέz?�C�\�!
-[R�E�G�
��z�&���)�
(Y��e���@�Y�����
j" Вj�e?�.�(X
rp��Mv��䳭òkS�{2!k�i�Y�	y�O���0
>Y�i���g�m���`���3��S�ә�'����}SRO�hQO����6{���El��@ֶ�;�%
��}NdC\2
����XJ 
���6'����&qTj��F
c���Sn�Rs��/�ŧ����/���A�D笕�� 9$���
���"�M8Va��a$����-C�TA�*�ӝ���O
}�3�2�N'
���	�������( �$;�O�՟�`$��U?��-猲M����ڬ2�}_6K�&�z���_�d�,K�>XU&��*\B�y
�,띞�:xU��I�ϖѡ�J�N{�E�������-s�K�m���l�]�u|ׇN8R���a���^�[F��zg�Lk/
-endstream
-endobj
-3087 0 obj <<
-/Type /Page
-/Contents 3088 0 R
-/Resources 3086 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3085 0 R ]
->> endobj
-3085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3089 0 obj <<
-/D [3087 0 R /XYZ 89 770.89 null]
->> endobj
-2815 0 obj <<
-/D [3087 0 R /XYZ 125.554 651.951 null]
->> endobj
-3090 0 obj <<
-/D [3087 0 R /XYZ 90 632.906 null]
->> endobj
-2816 0 obj <<
-/D [3087 0 R /XYZ 438.998 474.308 null]
->> endobj
-3091 0 obj <<
-/D [3087 0 R /XYZ 90 455.263 null]
->> endobj
-2817 0 obj <<
-/D [3087 0 R /XYZ 125.554 219.881 null]
->> endobj
-3092 0 obj <<
-/D [3087 0 R /XYZ 90 200.836 null]
->> endobj
-3086 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3108 0 obj <<
-/Length 1378      
-/Filter /FlateDecode
->>
-stream
-x��X�n�6}�W(��@M����X��m��v�4q_��"ӱP�*��u��C��Z��
�<ْ���93g��ƣ��_'�����
y6������0q�VƍI0��3�16/��~
���S��4�o�*��r?�/>]����s���-�4�K1�Q����/
-��J�E>%�)�@T�6	�ӻ���/��?�a�(W8r\#�'7w�X���8�ƮZ�Z�ד?&��Q�QA-7گU���
�D]�k�[���,��oa�kB
G����R�ԍ��
झSLc�����=���
q�g�z
�+�%
�
n��M�z�s��i�m��-폟k�3���<���a�8�q�J����)��~�?D�
�cĨ[;X�
��Z�#���F�0乴c���Í?Y��!6r
�c�>�
�a:���lı
l�ɛ|��!�u�K�"�Ǖ��pdbC�O8j�qt��ď+
-��
1�-D�ߏؓ�54|�嘆+e�����w�9>^��7~6%
q�\X�
��k,����GM�ix��m��6bC�S?�$�P5
��!��ӗ�Al���O�a
��:
-�u���(
J
����ºVr�
�Ʌ����HͨC@��1cy�v��R��(�wT(��,ҔxQ��*/�C�;�;�<�+��)^+�i��ERv�d��Z�����*��ţHD.C�o�i<��uE��]��R�#��:S�[��0˕� �����5�nf
�#�"��4\�����˅{���kY�G�X�0�}�pSxTݺzx����rO�DҀ�f�x��F�iߧ.�?�ImWb\.;9�n�VO�d��X
����9�@���Ϊ
އ����b���͕�̷A����'�s�U��������ׇ��g at R�6�Ԝ"��
-Sl�S�&+-}=N 
�c�D�Ҕ
�c�@�n
4Y�
��Ք^n�0P&���A���&�hN��=��(~�Ѣp�
-��ZA��b�o��)&�-�L1��*���`T����[��|�]j��1r�m^��y
�b:�H=�b -O�OU����
-�}
%Mag�w=�]���!.DA\M
ycnN5w�I���z~Ng�F��ځ�۔�д��(�#�5H���WFFgP�
ɉ`�]�jV���	�A��a��z�9
�SZ�IP�7��4u}9�j������	��&L��Ӗ4�Cie���y����v��l5va�9M��!�cʸ� �;�ݷC��;�NS������u��S}�/90��'�y����R��r���Hחz�W"�Q�ɺ~�m=�ɜ��y�T���2M��עNH��F��I5*���n�ٻm�2[����&a�����
=?��:VCNc�a3N�é0�gS�
����{X��
-endstream
-endobj
-3107 0 obj <<
-/Type /Page
-/Contents 3108 0 R
-/Resources 3106 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3093 0 R 3094 0 R 3095 0 R 3096 0 R 3097 0 R 3098 0 R 3099 0 R 3100 0 R 3101 0 R 3102 0 R 3103 0 R 3105 0 R ]
->> endobj
-3093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 408.557 177.053 419.461]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
->> endobj
-3094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 318.203 198.921 328.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae) >>
->> endobj
-3095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 274.735 198.921 285.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) >>
->> endobj
-3096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.258 274.735 274.188 285.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-3097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.64 198.921 242.544]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) >>
->> endobj
-3098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.258 231.64 311.268 242.544]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-3099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.919 206.669 199.449]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) >>
->> endobj
-3100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 145.451 163.215 156.355]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) >>
->> endobj
-3101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 145.451 275.562 156.355]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-3102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 102.356 163.215 113.26]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) >>
->> endobj
-3103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 102.356 238.482 113.26]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-3105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3109 0 obj <<
-/D [3107 0 R /XYZ 89 770.89 null]
->> endobj
-2818 0 obj <<
-/D [3107 0 R /XYZ 438.998 693.486 null]
->> endobj
-3110 0 obj <<
-/D [3107 0 R /XYZ 90 671.988 null]
->> endobj
-934 0 obj <<
-/D [3107 0 R /XYZ 90 544.052 null]
->> endobj
-142 0 obj <<
-/D [3107 0 R /XYZ 90 534.802 null]
->> endobj
-3111 0 obj <<
-/D [3107 0 R /XYZ 90 429.651 null]
->> endobj
-3112 0 obj <<
-/D [3107 0 R /XYZ 90 338.923 null]
->> endobj
-3113 0 obj <<
-/D [3107 0 R /XYZ 90 338.923 null]
->> endobj
-3114 0 obj <<
-/D [3107 0 R /XYZ 90 295.948 null]
->> endobj
-3115 0 obj <<
-/D [3107 0 R /XYZ 90 252.854 null]
->> endobj
-3116 0 obj <<
-/D [3107 0 R /XYZ 90 209.759 null]
->> endobj
-3117 0 obj <<
-/D [3107 0 R /XYZ 90 123.57 null]
->> endobj
-3106 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3135 0 obj <<
-/Length 1793      
-/Filter /FlateDecode
->>
-stream
-xڽX[o�6~��0����!�{0
X�^�vY��am�m
�%W������jI��f+�$Q$��;�����������;	JB:�`'��0ʜSBC�����1"I����?�Ο���s�g�ɗ	�)�% @Q줛ɇO����k#/���\�q|���p�M�����Ѫ�
D��O�-�
��3�Q����ͫRht�<;r�3�>
-=����ܝy8������[�S^�$��x��I��)���#�4e�K��벪���y���o��}��2/Wj��򚵰!�ȝ�q<�<z�P�s"o�7V��]#l������3������iY�� AyF�)^���j��e�6ܥ�t���>7�z�Fo��
�J-�`���ޱrkn��V�X^7��«
�K$��d� 
f%�y3� �o+���
9�Q��L�p�����kȞ�;
x���0��k��"\"�
�VEEͬ8]��>o�j3'n���7
��h�)4��W���2�&���i�E��+]q�/&�$PIys�3��.��~�Ji��n��~��_���r��&+����(�R�T���N"ϙy

-	�@ ��o\���]���WpP��
/[f aJ����l�xz%
-��vs�R0��[�f7�狚�wc����ѕ���E���5�<ܧ���7DH*�D9��3&�F}�F��#�r�Ol���J��hG���j��(o�G�=��2�C֣�����Z$W�
��)���ʬ��R�O�Ȉ�>Jbj�� 扙�#"�GV ��H�(>�CODƷ��x�=�_+4��{�H�49�L%=fF�Λ5 >��r��͆�(��3�ʿ�Xa���f�`UsgψF$�`v8��BJ�5��Hi5o�
2O�
Cŝ
-��5�
� ��1
-<�.e��f�y��行��� �<	��Q��<�d d�(��!
m�
-�{q .�xm���\�4�*�g��7ճ
-�	�R�$.�R��˙Z��Ugn�8{�t3��.��ifX�@�h0H�,c�PH��d=�
�5��ѯ����ItQC	�u�h���B�i�Mx����H�2�XB5J~�4v� Z�v[���ⱂx�V��b�6
_7��{M�U�0��%I���&�Ocg�0��^�j�~L4D�f��G�خry�����7�¶�k�TA2���C��xƻ�����4
,yʛ:Oqg�]��h �hV�9�����
�w��j 	V�
-�F���n�?�eZ�2�$�.:��(�����:L7�=9�8
ﻶ�ڀ�7��v�"O��#_�֜��&S= �����e\�6�cTR1C�D���Š��'r��'�B_fE�O���5�r)�� �Y�й�Hu��C�i(����F�:�K7���u���nnW�:�@��
n7]��1w�0�J��w	! .97���Jr=�[���J
>�;�
<Xb�x�[���	�e
����t�M���$��w�4;�i�!��9; �I,k[�S� ��J�γ�ql��8��a'��|�e�]�w�=��
-$�
��E`/=�� 1�9���_ѷ�QU��5\��
7ҦLJ?��@����>3N��#���yR��
-:('�n���	R~)�)��;
B������?C#l� �%J�j�d�\3�A�7A���p.5��K
�jx����S�
+�HM�i,S�x�"���
7S�}v��oI*:JCj{ئ��m�����
�
ڕ��Fy{l��~W�H!>:ԇeΛ��7�]�a�k/K
-endstream
-endobj
-3134 0 obj <<
-/Type /Page
-/Contents 3135 0 R
-/Resources 3133 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3104 0 R 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3132 0 R ]
->> endobj
-3104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 614.769 191.727 625.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-3119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.367 238.282 219.683 249.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) >>
->> endobj
-3120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.762 154.56 216.096 165.464]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a) >>
->> endobj
-3121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.912 154.56 255.099 165.464]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 114.82 182.144 125.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) >>
->> endobj
-3123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.959 114.82 221.147 125.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 74.333 205.586 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1d8eb71bd67ae50436968e7323bbeb7e) >>
->> endobj
-3125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.402 74.333 275.045 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.896 74.333 389.913 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.125 74.333 454.141 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3136 0 obj <<
-/D [3134 0 R /XYZ 89 770.89 null]
->> endobj
-3137 0 obj <<
-/D [3134 0 R /XYZ 90 721.073 null]
->> endobj
-3138 0 obj <<
-/D [3134 0 R /XYZ 90 599.778 null]
->> endobj
-3118 0 obj <<
-/D [3134 0 R /XYZ 90 577.183 null]
->> endobj
-3139 0 obj <<
-/D [3134 0 R /XYZ 90 577.183 null]
->> endobj
-526 0 obj <<
-/D [3134 0 R /XYZ 90 365.728 null]
->> endobj
-146 0 obj <<
-/D [3134 0 R /XYZ 90 358.341 null]
->> endobj
-3140 0 obj <<
-/D [3134 0 R /XYZ 90 255.983 null]
->> endobj
-3141 0 obj <<
-/D [3134 0 R /XYZ 90 255.983 null]
->> endobj
-3142 0 obj <<
-/D [3134 0 R /XYZ 90 174.164 null]
->> endobj
-3133 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F23 364 0 R /F8 537 0 R /F72 400 0 R /F21 2356 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3179 0 obj <<
-/Length 1902      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�6
���B�2�.fHI�\��6Kw��Ȓ�[����It�
��$�_?P�h˖�<ܸ�b=L� ~ ��ƅ��߷^�n�a����k��
�ሺ�42��#g0$c�h@��q�
,l�����.:˃|���:�
|?}����9��u���U_�!�EaK8<��Ał!X�����͛��(C�b�t�-S��8(�zs,�E> �)�^qB=�XL�:8��g� l�
��g��������F6���jPl8�
ױq�����xU���.$�G�3!U��{�6�K���ln�� %�|W��IRd{����R+�@�(oGQ,�L�(Mԛ�P�Ir�N����31No�1w���63E9ɓ��1�(�T�|
�
����"�k|P��d�o�
b�L޽mQ�)�I�J6r,�O��R��R+CP=8
�ha��m!�i�w:
m� L�q��Ȥ�C�E����)E.�cF=D,M$
�Jq�(�O����5�������ΐڈ2����"�Ͳh���uH!���~/}$����!��B��$�D�Wf�HD��)�%RYje�~9�D���
��3�ݶ�n�n��Sq>�(���0I�E|;Y
�Isa�e'"��k!ױ��
��|\��?.�Yf��Pk�ju��**�u>*�cp��
�Z�_�~��lL\
jW�<�?,��i�����@(_X���a��	
�^"ž4�<���?���WOӾRM+�"�S
KIr\�SE(P�B1Zݧ�sk@�@M�T�r$��'��:[�-� k���V`����\����2*��� J��!��@�AW��u�GIG����
H�~(5�E�s�C�
#k�6D}�d/ HB��PϬ�m�
 5Gjl�����me�
0���Ma���煰��~��l!�G���6��
��

n,�4��(h9�ŶL�`��s��?��ϋ�LPg��Ȃ
�.Jꔽb�������
�I5r6�D��q6
�)E�
?/�Bn[��ȓ���#
I ��
�s7��� ��Ob������*J�W._WͲhtwEa��I��؜��<Ҙ�i��lyZuE9��
E�wU���\Q$_��
�[U�e�R@�
!;M�5t`�=���gVV���5Ϛ���B**�z�.6���t]8�ͺ0�8b+�����Qw#h���(o�����Ad�e��B�_w�
���{p��:ckwZd{DX��<(Ӽѝ��Fx���cEЕm�Gz>L��]�I��E���;�⾶@ڶ�L
-��	������
�q��b�R�n�F�J"�N{ʒG/���4ޭ�9ypK��`�C���%OU�OB@��9zU�E
���� �����~ͬ#
�BU��
�T[���`k�=�d�zT��h:�V�u!�!�?����|%���>
~>8>9x�����k��D�Q�p�$ѵ<<���A>_2
m�Ki_��0��]��mh�xit��:Z1�2����H݃I��������C�8�,>*��:�� �ƽ|�ዿ���ѻ��O�<ݏMo8h�0ͦ�1�V��	�8=�T��
9	�w�75�U����q���/
'�(���*�|I�D��T��G�-�
#�k1w���H`��D��i}j�^�Z8
-w-D
�������[�
v��S�%R�=��kP;�����[R�"���tv�%�Yv(7��1-&�|���\��NW
�?Ѕ0���+|����;�M�
�GEދ��6����q�~ס��l�a
-��^0�Y��j���]���T~ �0��)�/l
�hc���pG�
y\����F=�٨�O`ɿ�<�V�� �4�6��$%�B�/F�,�
m���d$J�+���Cbg��K<�l��wY�������
-
�@����Ͳ��rt��"3WM���4�=#x�\nI��Q�߁
-endstream
-endobj
-3178 0 obj <<
-/Type /Page
-/Contents 3179 0 R
-/Resources 3177 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3146 0 R 3147 0 R 3148 0 R 3149 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R 3155 0 R 3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R 3161 0 R 3162 0 R 3163 0 R 3164 0 R 3165 0 R 3166 0 R 3167 0 R 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3176 0 R ]
->> endobj
-3128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 673.241 205.835 684.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa7961325727c376428ef2f9431e0c204) >>
->> endobj
-3129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.651 673.241 275.294 684.145]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.145 673.241 390.162 684.145]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.374 673.241 454.391 684.145]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 623.734 191.737 634.638]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.236 623.734 237.396 634.638]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) >>
->> endobj
-3148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 585.186 191.737 596.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.236 585.186 284.996 596.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) >>
->> endobj
-3150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 546.639 198.363 557.543]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.861 546.639 250.646 557.543]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) >>
->> endobj
-3152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 508.091 198.363 518.995]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.861 508.091 298.247 518.995]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) >>
->> endobj
-3154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 469.543 191.718 480.447]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-3155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 469.543 288.852 480.447]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) >>
->> endobj
-3156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 430.995 191.718 441.899]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-3157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 430.995 303.079 441.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) >>
->> endobj
-3158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 392.447 181.845 403.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) >>
->> endobj
-3159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 353.899 181.845 364.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) >>
->> endobj
-3160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 315.352 154.727 326.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) >>
->> endobj
-3161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 276.804 176.864 287.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) >>
->> endobj
-3162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 202.775 143.695 213.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) >>
->> endobj
-3163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.511 202.775 213.154 213.679]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.317 202.775 382.706 213.679]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-3165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 168.212 143.695 179.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) >>
->> endobj
-3166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 168.212 189.632 179.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.196 168.212 282.662 179.116]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.694 143.695 132.598]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7251) >>
->> endobj
-3169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 121.694 189.632 132.598]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.939 121.694 347.405 132.598]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 87.131 143.695 98.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) >>
->> endobj
-3172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 87.131 248.859 98.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3180 0 obj <<
-/D [3178 0 R /XYZ 89 770.89 null]
->> endobj
-3181 0 obj <<
-/D [3178 0 R /XYZ 90 642.674 null]
->> endobj
-3182 0 obj <<
-/D [3178 0 R /XYZ 90 604.127 null]
->> endobj
-3183 0 obj <<
-/D [3178 0 R /XYZ 90 565.579 null]
->> endobj
-3184 0 obj <<
-/D [3178 0 R /XYZ 90 527.031 null]
->> endobj
-3185 0 obj <<
-/D [3178 0 R /XYZ 90 488.483 null]
->> endobj
-3186 0 obj <<
-/D [3178 0 R /XYZ 90 449.935 null]
->> endobj
-3187 0 obj <<
-/D [3178 0 R /XYZ 90 411.387 null]
->> endobj
-3188 0 obj <<
-/D [3178 0 R /XYZ 90 372.839 null]
->> endobj
-3189 0 obj <<
-/D [3178 0 R /XYZ 90 334.292 null]
->> endobj
-3190 0 obj <<
-/D [3178 0 R /XYZ 90 295.744 null]
->> endobj
-3177 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F107 2329 0 R /F106 2334 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3238 0 obj <<
-/Length 1771      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~���Sf5CR�Hn�&i�v�-�ma(2c
�%M�����P�ˑ�q�ۋ%K��9��΍6���޷�z��w
[I��V�֒��D̅o�s�P����hٮ@D��T~������w����Z����)0ą�OZ��bk �?Z�RX�����P�c��G
]�
s
�;�#!
� �c��Y��JY����Z�dh�z߲>w���[m!\�
��`��(L3s��i��X/I� ��׳4S�&Y~�j��+�wk�����i�$f0�Lf�Y0�8r����^�����".eᔣi0
��\�W
n���$�ؼ�|� ��%iaW~
���3�VY��j��I>�~⺀q�߬��H0��
-�hՃu5̻DJ��[]J@�󼠿W�J�,JVa>Lw�J���6�8�
H��Z�ӰCp[k�C��p1���%�ep1�#^B �
�����ƨ�)F��>'��Z�w
V�‚�
�����T��Z���>�`��?��ߏ�����s�9�

�@�+Jr�����TA"[̭�
9N�B~-V�$��&*�e�X���P�� ЖH8�\���,��Hp�#!H2�nf y�����ȋՂ��oT�A��>�~n���]9�\� ���mQ�8������n ��L�d����K�&O��u�//N!�����oN�ݼ1��1g���g��o�����ij3	�7o_ �
Z��y���)�hj���द��=�k�c�T��O�Q�ȍ2�#d��ϼaz�
��B0ɕ�Օ�" �U��eT�
D~�"��,����bi\��%���	��t�cd���G�?E�!���%���S at y��e��h<�A���9
�ZW�׳� �ƒ7��ۣ��$���X�Oa掍#%��h�Cw!
�

}I0xV�s��J��폪�@��a���(�k���(�'�8�2n�ߤ+n^5��
_���W�l����`��	ve�2��,���Y�J
���/�N���XO�k�1`�+��p���Ê3��NM0�2B��]�{0�W�c����إ#f�u��%��%L�{9^�~��K�CW:�Ѫ��=O�_��=O���l�<���嗽y�=
;?�g�-�f�J�jo�R�D��
���
�v�r�C�MC
���D{ac^g�՚Y���^-�А֘9��4��n���f���, �D��!��5��p�C��U�^�oz��W/^F��Of\�{qڄ7e�l7�
-�� 5n�m��2�R$��(�C��3tZ��T�k�ȵ����ɍ2a�n��.-��g2�IT
�#s�,���M��-V@9E�u��6�V���Ve�3yŞ��Փ˂)���ߋ�Z�r��i��E�{���;�WY5׷8U�?�R]N���.��	bd�1�BC�lf�
@��e�^>������-�1"v�p��k �^;�mZ,�^:CH�1��/�����>H�.2�����Q �E�7 5[-X�
^��6��.�F�&�ƫ=�����I̚��̒�Z���t!+�
-˞���G��t-+a��r��v0��Ŧ{Du:��fX%����.��;U��~��(���0���]��`��b�\����/F�_��!n�����0�2�
ʫ���L�c˽_��4�I����g���:��
g^8-7ʵM%����F-�ή
`]����y[����t^i����s�(����"�?NP�
����q�8'��dY	�-;�I��.N<ݽ�E��Gn
-endstream
-endobj
-3237 0 obj <<
-/Type /Page
-/Contents 3238 0 R
-/Resources 3236 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3084 0 R
-/Annots [ 3173 0 R 3174 0 R 3175 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3235 0 R ]
->> endobj
-3173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 697.151 143.695 708.055]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) >>
->> endobj
-3174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 697.151 248.859 708.055]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.388 697.151 330.333 708.055]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 662.589 143.695 673.493]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b) >>
->> endobj
-3197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 662.589 247.176 673.493]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 628.026 143.695 638.93]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) >>
->> endobj
-3199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 628.026 247.176 638.93]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.263 628.026 329.207 638.93]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 593.463 143.695 604.367]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99) >>
->> endobj
-3202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 593.463 255.485 604.367]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 582.657 143.695 593.561]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) >>
->> endobj
-3204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 582.657 255.485 593.561]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.995 582.657 341.94 593.561]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 559.897 143.695 570.801]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7e3ffa1dd9894e6418bd153a4cd2de12) >>
->> endobj
-3207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.829 559.897 227.989 570.801]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-3208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.685 559.897 382.151 570.801]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 501.423 143.695 512.327]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adb355a57fc1949b2ef9627d45be5f9bc) >>
->> endobj
-3210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.809 501.423 248.077 512.327]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-3211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.195 501.423 385.661 512.327]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 454.906 143.695 465.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) >>
->> endobj
-3213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 454.906 218.962 465.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-3214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.155 454.906 317.621 465.81]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 420.343 143.695 431.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5c02cdac1cee4eda75e568ef9f550da9) >>
->> endobj
-3216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.032 420.343 191.286 431.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-3217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.479 420.343 289.945 431.247]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 373.825 143.695 384.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2f516cd923f94296daf57c8ace328af9) >>
->> endobj
-3219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.365 373.825 298.786 384.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-3220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 373.825 513.996 384.729]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 327.307 143.695 338.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.435 327.307 195.241 338.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) >>
->> endobj
-3223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.578 327.307 241.178 338.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 291.058 167.466 301.962]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c8ab) >>
->> endobj
-3225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 291.058 189.881 301.962]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 219.329 190.738 230.232]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 219.329 261.85 230.232]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) >>
->> endobj
-3228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 183.08 190.738 193.984]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 183.08 262.159 193.984]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) >>
->> endobj
-3230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 169.762 390.082 179.667]
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-3231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 146.831 183.824 157.735]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142) >>
->> endobj
-3232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 110.956 192.272 121.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) >>
->> endobj
-3233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 74.333 241.935 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558) >>
->> endobj
-3235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3239 0 obj <<
-/D [3237 0 R /XYZ 89 770.89 null]
->> endobj
-3240 0 obj <<
-/D [3237 0 R /XYZ 90 344.254 null]
->> endobj
-3241 0 obj <<
-/D [3237 0 R /XYZ 90 308.006 null]
->> endobj
-3242 0 obj <<
-/D [3237 0 R /XYZ 90 234.254 null]
->> endobj
-3243 0 obj <<
-/D [3237 0 R /XYZ 90 200.027 null]
->> endobj
-3244 0 obj <<
-/D [3237 0 R /XYZ 90 163.778 null]
->> endobj
-3245 0 obj <<
-/D [3237 0 R /XYZ 90 127.53 null]
->> endobj
-3246 0 obj <<
-/D [3237 0 R /XYZ 90 91.281 null]
->> endobj
-3236 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F38 2117 0 R /F11 442 0 R /F107 2329 0 R /F105 2455 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3305 0 obj <<
-/Length 1809      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�8~�_�SfjEP��
�i;�����\_ڎ۲�
?
�qr��� ��6����Cbbw����.6�6��^_���y����5.'dž�p�\�_L��c�	��<�6�,��f���8
�ad��^�No�o���ҐH\�9����겢�к�o��[�P��>�nb�Ǜ(�s�O6/-NMϣ��΅���"�)����&�\
-��]���Q�`��Q���
c�����澱,;ņCm���O�?{X;v�W9�>�
���:`/4=B��4�B�,�����mcDl�\�-��@S$��璪S8Q�
��j�It�Z�Hy7u8
�i��+�v�!r�_�1
�Mv�f�Y�O���(�H��� �,Ei.���b��B۬Q���]�Q�f��<��#�D��m���;�6p�'�"ϦF�R�}[�R�"���g �a�F��D6�ȸ({����0e���㯘a�#z�i��֮��"�!`��0q�?<JZ�gJ7��t�.�1 �4�|�H}q�
�Ua��D�l*��<���D?x�+gjc4cG"�+�N4i��v��%�
�ޥ۟
y��C�0��7?[�Ȇ�`����E<??6��i��7��:�Z4�>Y� �`g��¤
�.A�ώQ�����ዂ7=�A� ��
�jœD�9�ă7i2��k�i��5�L�
,�b�	�M�l��s+��
��i�Z��8�Y��d��_K!Zg�؀
�e�.�T���wm�
-
�%���JeԢ���ĖKq|�-�����E�K�ؚ

-.�
��pњ,V��h�F����>[��T��`�x*l�f���k���O[*kJ�b.�u�r��L�L\a��X;']e=�&Y�a*�t-����� ���g"��\!�L��˳K�
j����
�d���4�ڇ凙k�-Q��d� =�it_ at z*�
l� �"Je޾�a�H�-�\,w!��O]2 );m�qp��?���&�
�����j�ɪ����
���Ș �Q(�W��|1$[%�.���4~i�oT
��r\ȝ	x�1�����
D
D<�;����
�
%�<�:�������ǎ�iG��&i�"��w���a�v�r���P��F(K]�����6�m����R�t��Ҕ�,
I�	� ���Jd�2AW�y���

@�rE �ވ�E�P֟;����2����ӫ��� /�>9�ω��?u�4����r&�{-c!�#��ٍ�M	
���P+
��C�3��(lȩ�I;r����l����C�
ƽ��V6�(�*I�
���P:�q�)�w�3{���}>�[��9��3{�jp
��M|��잒�|vWm�2����2��˜�T&��9�rO�����y9ωx8�� ��(��owI�
+"�C����ܗ�X���Zq��{�˽N�E�ZU	R[�����鈴R�$W�+ˇ����Ĕ�tH"TG���-هHﴎr�;
���v��_�44�B�zT��W^
-y��&,�
W��H«��%Vm��ݮtk?ły
��B���$(��'��G�m6|��h��W҄����"���m�@��1P$P�uU39���o�u����(.�mð>f����>�~/8n���Ap�� �����xɳ}}����z������r��X�=�չzK�&�����_��~�3���G� ��j#5+�������DV�&��$��V��o�j�.��6�%>���ޣ������r�D�
A��3g�yt�ⶵQ �2��n�iV��p3.w�Ѻ����<
-endstream
-endobj
-3304 0 obj <<
-/Type /Page
-/Contents 3305 0 R
-/Resources 3303 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3234 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3310 0 R 3297 0 R 3298 0 R 3299 0 R 3302 0 R ]
->> endobj
-3234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 685.348 189.901 695.878]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) >>
->> endobj
-3257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 648.349 193.229 658.879]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa) >>
->> endobj
-3258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 610.976 238.459 621.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) >>
->> endobj
-3259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 574.35 187.689 584.881]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) >>
->> endobj
-3260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 574.35 226.693 584.881]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 538.97 205.692 549.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-3262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 538.97 261.312 549.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) >>
->> endobj
-3263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 538.97 332.156 549.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 503.963 205.692 514.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-3265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 503.963 261.312 514.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd) >>
->> endobj
-3266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 503.963 338.781 514.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 468.957 205.682 479.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-3268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 468.957 261.302 479.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) >>
->> endobj
-3269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 468.957 330.462 479.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 433.95 228.895 444.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac) >>
->> endobj
-3271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 433.95 333.482 444.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 398.943 229.503 409.847]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb) >>
->> endobj
-3273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 398.943 334.089 409.847]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 363.937 187.264 374.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) >>
->> endobj
-3275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 363.937 293.213 374.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 363.937 371.148 374.841]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 363.937 455.727 374.841]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 306.016 187.264 316.92]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) >>
->> endobj
-3279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 306.016 293.213 316.92]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 306.016 371.148 316.92]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 306.016 455.727 316.92]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 294.061 220.058 304.965]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 248.095 186.348 258.999]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) >>
->> endobj
-3284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 248.095 293.772 258.999]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 248.095 373.367 258.999]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 248.095 456.837 258.999]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 190.175 186.348 201.079]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) >>
->> endobj
-3288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 190.175 293.772 201.079]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 190.175 373.367 201.079]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 190.175 456.837 201.079]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 178.219 218.404 189.123]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-3292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.772 132.254 187.446 143.158]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) >>
->> endobj
-3293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.73 132.254 292.979 143.158]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.431 132.254 370.447 143.158]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.745 132.254 456.762 143.158]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 132.254 513.996 143.158]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 120.672 159.485 131.203]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.603 120.672 240.62 131.203]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-3298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 74.333 180.496 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) >>
->> endobj
-3299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 74.333 226.434 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3306 0 obj <<
-/D [3304 0 R /XYZ 89 770.89 null]
->> endobj
-3307 0 obj <<
-/D [3304 0 R /XYZ 90 702.144 null]
->> endobj
-3308 0 obj <<
-/D [3304 0 R /XYZ 90 665.145 null]
->> endobj
-3309 0 obj <<
-/D [3304 0 R /XYZ 90 628.145 null]
->> endobj
-3303 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3363 0 obj <<
-/Length 1463      
-/Filter /FlateDecode
->>
-stream
-x��Ks�6���<��L�AdgzhҸ3I�h���d44	�l)R!;��]�e=(Z�i[Ns�H�v �5���{�Ÿ7:���P��[
���!��]h}��_Ư-済x���|�n�����<����<�)�H�V0�}����_[1ϵ��J3˦
�c��g��l��y�
�9����Q�� B
-A>J�PIf��xb�6È�Z`�����$eH8�����㾟��E����
-
�o�ڇ-�K�>>c�����Z��(�%GU'H�G̓�ȡ^Uq��G��
��٥��	wV,?$
F�&֐R��[��R�֊�i�1i\���ii��y
��L�(��r�:��fL�Ϙcx����^�ߚ�~���Ia��V6ǹ�jP�%a;�1E��k��b�{H�~����u�T�M�(�'�=9W�����/Q���fG�G�����j�D_�Wּ���6�ovqtl��������
�2+��R
-]�D����K_E~��v�h���qq�5d�T������h&�,J���j@ܾ�$�C�Q2-�������'�$��F)���uY�/5�6
��e���t�Ul���d�vn`�r@�^Q�Σ���7[��ǽlm�Y��}��5
+�W3d^*.=_�3`ޯD؀�[;��s�t�0�2�r��i)b(
����a�@��\A��!q�
)]Ό���)네�i��F����"�D�n4&��m�6�6a�d
��yl�����&%��e˽�����E �D�}L!�Iy7���ȳ`ڑWJ��C=�<�y��A�2�u]���[��V�N�E	�MXc$���ؐ��GI�	&�.gڕ�y@\��- at is��1�B+�4�B��١�pH�%4�b�M�ƪ�
=8�xU�b9����/����W&[��8�\�z�Ul��i“An��q��9�C�p�k)���/F��#�}���4�WH�<�m�cw�(��mO�0���Ax8��
�V�A|%�4z1��"��3�$d�ҹ?
�/���e�N�<U��s5�yf6������Ӥq�����
e	J
 ��HE��7VG1��7F���mi�r�e��c�m"3���N������@'���{��H�~�����7�gq#? (^����l��&�1�rvv��T�q��*2�)(�Ά\�V�x�J(`�������6�ve&�(�/�f6��.����95��zR6-�A@�ֽ_�j�Ҽ��94��e�4ߩ���g�@��Z��
���V�0
<�=�
�]��:�<�c
-����B69���������x܁1�}?��?�E�K��Ŏ1���|F��RO���~�
������xy!CU���)_�����O��Yu�,����KӔT�'��(AԌT�[Oe5g���kUWo���B��k/~��������
-Z$�\�H���x�}���
-����T�*�@�,�h���d� 
-endstream
-endobj
-3362 0 obj <<
-/Type /Page
-/Contents 3363 0 R
-/Resources 3361 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3300 0 R 3301 0 R 3324 0 R 3325 0 R 3326 0 R 3327 0 R 3328 0 R 3329 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3360 0 R ]
->> endobj
-3300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 685.929 213.153 696.833]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc) >>
->> endobj
-3301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 685.929 259.091 696.833]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 650.84 213.163 661.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71) >>
->> endobj
-3325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 650.84 259.101 661.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 616.124 161.677 626.654]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2) >>
->> endobj
-3327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 541.828 205.752 552.358]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6) >>
->> endobj
-3328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 541.828 276.595 552.358]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 506.365 209.627 517.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) >>
->> endobj
-3330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 506.365 314.791 517.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 471.276 248.202 482.18]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) >>
->> endobj
-3332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 471.276 329.845 482.18]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 436.186 212.377 447.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) >>
->> endobj
-3334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 436.186 289.846 447.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 401.097 216.252 412.001]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) >>
->> endobj
-3336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 401.097 328.042 412.001]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 366.007 254.827 376.911]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) >>
->> endobj
-3338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 366.007 343.096 376.911]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 331.292 236.745 341.822]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
->> endobj
-3340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 331.292 307.588 341.822]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 295.829 240.62 306.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) >>
->> endobj
-3342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 295.829 345.785 306.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.739 243.37 271.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) >>
->> endobj
-3344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 260.739 320.839 271.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-3345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 225.65 247.246 236.554]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81) >>
->> endobj
-3346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 225.65 359.035 236.554]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 190.56 230.598 201.464]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) >>
->> endobj
-3348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.935 190.56 301.442 201.464]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-3349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 155.471 234.474 166.375]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) >>
->> endobj
-3350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.811 155.471 339.638 166.375]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.167 155.471 426.81 166.375]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 120.755 193.577 131.285]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) >>
->> endobj
-3353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 120.755 232.581 131.285]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 107.643 248.845 117.548]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.707 193.577 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) >>
->> endobj
-3356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 74.707 277.691 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3364 0 obj <<
-/D [3362 0 R /XYZ 89 770.89 null]
->> endobj
-3365 0 obj <<
-/D [3362 0 R /XYZ 90 632.961 null]
->> endobj
-3361 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3432 0 obj <<
-/Length 2642      
-/Filter /FlateDecode
->>
-stream
-x��[mo�F��_�O)��}	��Mq�
�&�~I
-��h�8�ґ�
߯�Y�)��&����"�;����<3K���
�~�������3���rv};3x��AB·��C at 0��K�1��	�t.��)���h�����4L�^��n�i���OWo9�H	�q�W
�'RS
-Jh%��_[F� �+��u
�L)��:̲�%8��D��:�#w�]t�s��(Y�%C�#vЋ�/�{A`<#�)=[n.>��g+���
#f����8e𹞽���{�6?���L���
k.{�_E��:����>���
�}TX�LI�M�~��}(�O�8Y��G��2��m��N+�L������X=Q�V�
�`N�
Kq$�.e��8�~?�eH�R�1���霩 �v�2����
{촊
Y���.\�{�x%�(k���� �·0m�� A�x�֎K��.�����g�
�Ks2�HGF����~�����x��
A�pd�`T[����!�b�RCH��%����%��f<����W=�s��<J3X<X����Ip��G,�V)��#C��WO�<i�h�7�bybB�	���*�]���&ƕ<�x)|dA���]m�o ����1�T�&��
���d�ZF���E�Q"����n����>Y}
��P�6�z
e
�n`��?�<�=�	|��'�HlZ����Z 
���ț�v}n0.��E4'"�.�/&2�gK6w�q+o���]+&᮶�2�G�A��C1 V�/4"S
-ę�Dd!�z
28�,�s7��[��ϳ}o
-�O�v��y��>tX9G8�}
-�)�˃�]X��q�(��F
-6D��܆�U�9�*pM�y[O��t���
-V�휊 蹥�_�A{6�^���1v�"��z`�)� =1�̌�
�H��PƷO�}	tas������;#��� ��DHw@��g�`�&��˝/�����#��{�Sx���P�ADO��i���^����Gk�@��xVGU�%��f喭�!�+�Ճ�B42�ldW�B�� �Ր "iP��*��h�˟�B�K�|xNSf�� ~*I��7�]t2wۯs���9!$�8�Y�>J
��0��H�_%���^�:��(L?|ڥQ��D�
��������o�jR�8J�E��q��~]h]\
��V��*�
�F>z����&N�|���t�mY�X`
.�n	�.L�p�I)�ْ����sYk�"۹а�A�nB�w���B�G:�.�)�Aǣ	 ˶��pܽ��v���f/o�ݮ E���(@���
-q��jQN
���mCs�[����#�:R8^]�vV���
Jm�ͧC5G��
e
-�p�m8
�U=�i��dx�d� Z!�
-� ���
�b�
A��9YV�	Yv��!K~�RM>�p7�d�.�ajdYk�E��~��"�}�
�4Fj�?o

�
-��{C�e/W�e��"h?
�t �n��������=�_�k�[��.J�4\���V�a�E�x	�Y�5�)$X�.Zu����榪�j���:{�|��=C�(�����EJC��Y�]��)d�D}Ft�Z�h���
����j,�Ws�7b2 � �Ol�QZl
7B�+%��R�NW�z��W��s���j��R)wfM��q�4��K��Z�I��<Cs�i�+'
x~�� �4P��P�~�ͥ�r!F(�'����#�iu�]�e�t
Ʋ�h
$r�]�+1���C|�7�����w�ڜ���昚J Uz������Һt� �U��r��M+𙘪a�P��
-FU�<��ۯ���JI�sA����$
X��ҁ�b(
���t��
JVާ��һ�2��?Zj�<
�<@������2�U�Jw��jR3$���
��=��`Ͱ���N_~����ި�;�����ZM� ���ld��MR-!G��
A ���Q������j(�.��L����l�;�o>o6`��s+�j۩z0�
�a��‍;a|LK����>��	L�`G�r���5�%
�Y��>���;$j�\`B�a̺޹(�6���zS��#@����+�,�;�Q0w�^����
�l0w=������m��N^�i;��։�
� ������m.�l�D�FI�����<�x?���$�DCj�zf�����|�l����K0� ,J"�`юR�b�
q���b#c2�!
u�EY
1�Q���ΆU������aov�g��A�I)u�,��u7�O�@�)퓍�5&�AJ���m�
��H)�w�"%AҘ��ko���-p��뇣h��~AS�>^?&��}hϬЫ�͢Q��7�s{
��_~'�����TqB7�,;�D��N�V�
't�͚�hV��e��p�a�t�ò��s�Ԗ�v����&p���
�lZ����9L����8b�+E���C�2��x�7K��2�:1�m)� E_�mQ�����f�EKq����k�Rht����0�+�,#	�c�V��c��f~�i���d$���`H^�b��f�C��F�e�}[����}-�8�d��٢���,J��������0ه>A[�|�CE���H����7輏���f��Y��?-��#{m��o����������#Zfh�Ļ���n��jl�ڬ	 ��
��m�
�l���?��)ࢾ
�����E
-endstream
-endobj
-3431 0 obj <<
-/Type /Page
-/Contents 3432 0 R
-/Resources 3430 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3357 0 R 3358 0 R 3359 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3434 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3420 0 R 3421 0 R 3422 0 R 3435 0 R 3423 0 R 3429 0 R ]
->> endobj
-3357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 708.28 247.177 718.186]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 674.674 223.465 685.578]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) >>
->> endobj
-3359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 674.674 269.402 685.578]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 638.992 229.552 649.896]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) >>
->> endobj
-3383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 638.992 275.49 649.896]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 603.309 266.673 614.213]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) >>
->> endobj
-3385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 603.309 312.61 614.213]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 556.668 217.109 567.572]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7) >>
->> endobj
-3387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 556.668 263.046 567.572]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 520.986 271.126 531.89]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81) >>
->> endobj
-3389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 520.986 317.063 531.89]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 507.951 326.259 517.857]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-3391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 474.345 201.742 485.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226) >>
->> endobj
-3392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 474.345 243.629 485.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 474.345 371.329 485.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 449.355 269.939 459.26]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 415.749 212.768 426.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) >>
->> endobj
-3396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 415.749 252.959 426.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 415.749 375.145 426.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 390.759 277.928 400.664]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 357.152 250.099 368.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) >>
->> endobj
-3400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 357.152 289.446 368.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 357.152 379.512 368.056]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 357.152 513.996 368.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 330.953 439.335 343.118]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 298.556 266.586 309.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) >>
->> endobj
-3405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 298.556 309.697 309.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 298.556 408.234 309.46]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 298.556 513.996 309.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 286.601 171.361 297.505]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 273.566 480.87 284.522]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 239.96 250.748 250.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce) >>
->> endobj
-3410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 239.96 357.317 250.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 239.96 456.145 250.864]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 228.004 202.344 238.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 214.97 446.071 225.926]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 181.363 265.396 192.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) >>
->> endobj
-3415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 181.363 375.818 192.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 181.363 478.979 192.267]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-3417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 169.408 225.866 180.312]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 156.373 466.67 167.329]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 122.767 239.984 133.671]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) >>
->> endobj
-3420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 122.767 280.82 133.671]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 122.767 405.104 133.671]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 122.767 513.996 133.671]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.812 171.361 121.716]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 96.568 432.092 109.726]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3433 0 obj <<
-/D [3431 0 R /XYZ 89 770.89 null]
->> endobj
-3430 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3488 0 obj <<
-/Length 2558      
-/Filter /FlateDecode
->>
-stream
-x��Z[sܶ~ׯ�˝�B ����L��
��5R�f�
�ZB[.�%����� �u{��i���R$p ��w>
 ;�v�|�����M���>���'�N�B�}�+q>�ģ����w<_ ��K�>�������K�����ɿN|�18
-�3��|�;	�����
��ҍ��
�f���_Op3<��s"$@>�A��	|�����n��)�ؽ�P�i�|S3*o����[Q���b�'2��	���i.�E)�y|+�Ū_0�[E��&�7.��:�t�Ԭ8|�0�~3���sgE^ջ&�o�\�e���XU�En�؋�:��]hՉ��ųV�T�W �
g
-
-97�1.���������Jg���.㴮^��3�Jy#K�Ϥi�ȼ��y\��f�"�J���i���!�>�}�]�!x��3���p�W��Ǹ[J����A/��o�<�*
5B>m��.�L���t��4�����U�5!ؽU��/�-nl��:��m�J�;3��O����Ӌ���۽F�l"Ǵ��!�	���,�����8
�A`B�$���M��u��������G��H1��r�
Db�N*��
�պ�K0`�K�U
M�F���<Dj�
x�ջ8
K`���X���%��z>�ՁH���
(��
j�Bk�Y�Ŷ	pD�}�~c�(`�(��K�Q‚<�(�B�����=�(��>?l�d��bhdE��{G	iRpgJ	�4xvB �ӹ� n��b
X6�Uh�١٫�+d?
���"
͠(Y�Q=]+�z�������PT
ڀ�2��߀��wV��:�o��킰V�S�k���e��2�-R
��іض���"�p䇴m�`�u��8�����.�Ņ�E���,΢YVT�r�+?�
Ai������d�^��՚_�
׎����"B$0	Ն�I8	�U/��@}> NT����KYۄ�h8n��i@;_5��"���ne]Mv2�QQ�4�ba5�{��MV���u����@97y
�e�~��}l
�^ه{�J��
���m�h���*��j�x��CU��݂�R�ZxL��`9 �����bV���/s�B���x���Q}��+���M��h�A{`�'�Z�}�,�,{8�˥���+^��6�tD�,�l �mH��EwSEVۅ$�r����	��q��C�;�=!�[�:
UH�bU��A���-
-��چ�۷��c��g 6)cß}�����û�o_�����p��*J
-����1Az{W�q��#H],<v�nFN Թ[,
�P�6O���g�͔z3L�X��+�@)t*H���
�@��\
+Cꅏv
�$�Z��4��
�'�^i��������桰�=
J��
6:C���
�4
-O���c
��
-�
Լ�)���|
}f�
2U����
f@#	��
ʶ�P �w��������
��-lz ��']0
�B�`�+�
%&f��
�5���4�\1hG�z$�c�R�>
�AL
D �[0�������ɒ���A�V��U�Em1�
:�H*��
%_x���"WM�"�!��}���W���"L�ҍ}�ڀ�{@v)#@A���/
�dK��}�YL����� ��%��� ̃C�X^ٌ��+�����'��@ �?e)ߘ8�8�1[}����nj�\s7�8?�h�&2��>�F�xyS{0�}L'��FD�B�Բk�NT����;�)�(��_-m(#M[#=��!
-0;�"wT7Ȟ�xbq��_�������
���\9�`�h `�
��
����51�nCML˪�~��@}0諝� �C��������<ʥ�v
s'"a�&�'"�@̯��/��7Qb�s���	�VQ/ԨO��
��M=�f�<�e��b@]Ƌ�
Ko�����Ǭ��׽==�
 fw�:���`��Xno
�K�E׆6_���J
-�R߰��KC�S��
v\1�
�Iei0�)���2��1xi>��N�~�*̓�oL�c�a��s(*i�jK�qL�D�Ls
�y>(���l at 8m�J"�]��|�
��"L�V��"d�ek��a��~i�x��0��9A�>�� VA��Q���_n_Y�WV���<.KsX�4j}��8�vm�"N�R�棸U��F
f�=�A�a3��\}��u ���pX�`c܍��
n���p�+� ��\V�MjYQ5�v
{&�g���0�H�W���,���{N�΅G��GX&< ޖན������2���)l�+��M:|W$���ZF��=��rx�	h	v'���c#
!	1s%��Q�-D�$�><��s�6G�Z}����NJ4 �Q����x%Ieq_ at 7t�6�8�����@���~Įv��Ak�Z3Y��<R�~��+���?�T�cļ��ŭ�^��?�5�����o�s��
z��y��Iz��!2H���P��5v�����
�dR6�M�˸l��o�,����U����2���\��\� j6�S���U�Y�?���/ʵ�p�"@
�8�]]/^���V+4��2O%J�S���M0H!
ví��D�E)[ׄ�s
�h����	d
-endstream
-endobj
-3487 0 obj <<
-/Type /Page
-/Contents 3488 0 R
-/Resources 3486 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3424 0 R 3425 0 R 3426 0 R 3427 0 R 3490 0 R 3428 0 R 3448 0 R 3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3492 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R 3478 0 R 3494 0 R 3479 0 R 3480 0 R 3481 0 R 3482 0 R 3485 0 R ]
->> endobj
-3424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 707.957 251.209 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73) >>
->> endobj
-3425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 707.957 290.549 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 707.957 409.969 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 707.957 513.996 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 171.361 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-3428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 682.276 456.992 695.434]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 649.193 224.57 660.097]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) >>
->> endobj
-3449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 649.193 270.508 660.097]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 636.676 347.869 646.581]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-3451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 614.545 255.564 625.449]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) >>
->> endobj
-3452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 578.128 199.556 589.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f283) >>
->> endobj
-3453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 578.128 288.991 589.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 578.128 449.718 589.031]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-3455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 578.128 513.996 589.031]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-3492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 566.172 244.556 577.076]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-3456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 566.172 395.48 577.076]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-3457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 566.172 513.996 577.076]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 541.7 164.537 551.605]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-3459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 519.57 273.129 530.474]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) >>
->> endobj
-3460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 519.57 352.41 530.474]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 484.923 282.978 495.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) >>
->> endobj
-3462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 484.923 386.79 495.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 484.923 513.996 495.826]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.661 416.123 247.261 426.31]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.034 403.451 275.228 414.355]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a00f095adfc747a3b56312f5beb93b621) >>
->> endobj
-3466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 390.934 363.328 400.839]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.661 357.566 247.261 367.752]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.034 344.893 275.228 355.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6df86d90bff51a8827ba3011506639e2) >>
->> endobj
-3469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 332.376 363.328 342.281]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 310.246 214.06 321.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58) >>
->> endobj
-3471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 310.246 259.998 321.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.942 273.828 290.693 284.732]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) >>
->> endobj
-3473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.714 273.828 336.314 284.732]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.957 273.828 454.784 284.732]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 249.355 310.533 259.261]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.661 205.028 247.261 215.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.034 192.356 278.845 203.26]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3a5a6288b0ad32439b465341c6c1c528) >>
->> endobj
-3478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.091 179.839 513.996 189.744]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 168.88 189.266 178.785]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 108.981 289.866 119.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) >>
->> endobj
-3480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 108.981 359.324 119.884]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 290.971 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) >>
->> endobj
-3482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 74.333 360.43 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3489 0 obj <<
-/D [3487 0 R /XYZ 89 770.89 null]
->> endobj
-3491 0 obj <<
-/D [3487 0 R /XYZ 90 631.535 null]
->> endobj
-3493 0 obj <<
-/D [3487 0 R /XYZ 90 327.236 null]
->> endobj
-3486 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F37 2635 0 R /F105 2455 0 R /F41 366 0 R /F23 364 0 R /F38 2117 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3539 0 obj <<
-/Length 1834      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W�/�X�]�ˋ�h��h����%	����������,���%[I���Hj8�3s����X�S�����ltymb�F���l��X1uQ�\��`�O�c<��<fI��7�#��n��x��%۫���������5!
��0@���
-_"�Ea��m��G�
-"��y�G�f�o|����J�x6��1b�e�xr˗<�k�C
لZc�iB����ˈ��������������
-F�m)�\(PtU�O_y?�k��c����mł�/�vu�/\�� �4��Ϯ���fCl'fe{ mo*3����@�'��7����0��P:#���J�bA�/X��W".��(+.x���[O>�Ž�ֲ��ɢ��Nc��ߡ���\tyM�F8�����TU�ia�'U�-%�G���r at z��N�.��1�ͥ�F�(t !��:����KH}��d�
V&��}���'��vbv:Q�DC���{Ϲ�M������Ћ���i�yʳ�>Z�u�s)#l�2yG^��b[� r��]~
�(�
�!�!ݪ���Z0ud`���V^�MUG�i�B���6�mg+&�rX(����EƼP�P�-�b%���"
R
-�T:���%p��
�@5s�r��;R�IQ�9)����6ҁ+��d�IC�AJ�����v�Z�jȪ���,@�V��LT
�z�TLx	J���yN�W=>/?L!pLyl����Yo��6)H�O����Av�/st� ���� jI���'�@���B���V<9:{u�γm��އ����W9k*���iu
���ZN
-<]�9}4N��r�1^�{�Q�wv[�Ԩ���=I
-�f?6M5�Bؠ#�
��o��61oY at _5��UR�1�G-��H��N��U^m�}��1�d
������*�[kXpY�9��56a�*� ��<8��O��{/8$^����%:q�vY܅m��|o	��V�8�<�*ܖ�
;외0��]6��p��{�U^A>�P�v�x:E�Έ����0�E�pp[�l<���l9���p�6UQ�D�������ڳ�lN$'�Q���"�V[��n��ԝډ�ҭ��;#����~�
-��m}�\�fO��5���y7=iUJ��
�Pbڍ�׹Й��bk����OA�
��3# �@�
�S
�����ʠUp$ݯ~y�N���hK�Ow��ZVK�%k�L�EK.���c	�$�@�O(D�:��uv!�{�:b���b�j���B��l���Sb
(9,���
�	wĖ����9_$кf�t�B��~�h,���2O]�au!�,w��
��l�{F?�;˜�8�U��+��
��ŀ�r��(=��4a�Mu׉�C�l$6
�(�	�r���3�ںf���ns�o8�?bZ�m-�
.�$
���3`
PgǏ*
�����Ƿ����U/�
.��)t�[�K}�.
<�V����L\��)3(2lrhh֪�Y���2�js��q�IL�L�S��r�z�=�F'�8�O]l��9R�g��F�F,�
r	�M��h5P �}�H�>v�`
����B�-��
��� �R�j����x��k��͛ߜ�Lb������a�
�
>�h@�SپŽP�Tے���2E��WW����&��q�уt[G�V����5Yk2*��g'��2���*%߼���s��xj��ڱ��翻Ò�	�/���|��l՞Q�������[�7���)O�O(
˒�

���TĦ�E%��]�p�0
M���w^ida�?Jy���-��_b�H�	��,����l6�I�:��y�e
��� jh!:T��e9>��jX�a�D
�����TO�
-endstream
-endobj
-3538 0 obj <<
-/Type /Page
-/Contents 3539 0 R
-/Resources 3537 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3483 0 R 3484 0 R 3506 0 R 3507 0 R 3508 0 R 3509 0 R 3510 0 R 3511 0 R 3512 0 R 3513 0 R 3514 0 R 3515 0 R 3516 0 R 3517 0 R 3518 0 R 3519 0 R 3520 0 R 3521 0 R 3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3536 0 R ]
->> endobj
-3483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.912 224.003 696.816]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) >>
->> endobj
-3484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 685.912 269.94 696.816]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 639.829 254.15 650.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) >>
->> endobj
-3507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 639.829 338.263 650.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 604.705 284.585 615.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) >>
->> endobj
-3509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 604.705 354.044 615.608]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 557.625 241.726 568.529]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb6381660c) >>
->> endobj
-3511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 544.87 407.658 554.775]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 522.501 249.318 533.405]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) >>
->> endobj
-3513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 522.501 288.321 533.405]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 522.501 371.519 533.405]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 487.377 240.62 498.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) >>
->> endobj
-3516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 487.377 324.734 498.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-3517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 487.377 389.5 498.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 407.536 203.075 418.44]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 407.536 296.324 418.44]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
->> endobj
-3520 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.198 392.66 309.133 402.566]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 368.172 287.856 379.076]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) >>
->> endobj
-3522 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 328.808 294.481 339.712]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b) >>
->> endobj
-3523 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 246.847 180.54 257.751]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) >>
->> endobj
-3524 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 246.847 226.477 257.751]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.287 246.847 323.887 257.751]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 125.653 178.239 136.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a025c54a0d06e882346b74c0624ee6e71) >>
->> endobj
-3527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 125.653 224.176 136.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.985 125.653 321.586 136.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 74.333 226.034 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1915597423b1aa0dbed55312b2308efd) >>
->> endobj
-3530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 74.333 339.776 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3540 0 obj <<
-/D [3538 0 R /XYZ 89 770.89 null]
->> endobj
-3541 0 obj <<
-/D [3538 0 R /XYZ 90 426.765 null]
->> endobj
-3542 0 obj <<
-/D [3538 0 R /XYZ 90 426.765 null]
->> endobj
-3543 0 obj <<
-/D [3538 0 R /XYZ 90 387.52 null]
->> endobj
-3544 0 obj <<
-/D [3538 0 R /XYZ 90 348.156 null]
->> endobj
-3545 0 obj <<
-/D [3538 0 R /XYZ 90 266.076 null]
->> endobj
-3546 0 obj <<
-/D [3538 0 R /XYZ 90 184.115 null]
->> endobj
-3537 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F107 2329 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3586 0 obj <<
-/Length 1909      
-/Filter /FlateDecode
->>
-stream
-x��[s�F���+xJ�L��+˦��4�i�&n��%�x���hP@���{�2FV�i�'
�m�|{@��
;�FO����;
-)�z���Qؑ\!������%����v��#�<x������鋷�����t����-��@ �;�����Y���FL��e)�r8ep����F��e�h}S��y��F�B�w$!��ǻu����
-�&���D�A�����ݤ���Z�O(E
�pd=��?Q*:Jʇ$R󐏸��z�FA��'/�ߒ�q�ׂ��DG���/M�T��J۸�c����+���
�J NE��Ic��I(��H��
-Β$�B6Ù]T������8ᘺ��a�:��a^�\�y
��{w�U=�	
|�N��R�?�	v����z5�Q�
{�4�
-�m\�{�p� ��M$�s쾸*t�h
��&Q87�fc�tL�!o;��d�x��y9D��<��⦠'L@�Q�M���j(r�`98F��ͬ�*1%��JX3�\USn0����
��D>g��ߚ
@
�f�	�A��'�x�g��lw���0�9Lzy��	aPT��p$�y���
-8��|�U�fc&�m9ً�Z���� ^�Xi��Ŗ��5�ťֱM��-G(�`��Õ��*�s��E�"��Z��(�5��@�z
)ƿJ�J��*
�2f�Ʋ�!.����.�)��5������R��q����Y�A���&�!0�� ����m�2���*�=w��ٽc��	�0���qz[���dG�Hv�n�V`g���y.tw���t�[�K$1$E���L��P�KĆ�ޱ�e:X��t���
{��_�-i�T�a 5
�>����!�豍��6�Hۻ��wo:ho����^���>u�����p����K�`nt«�qXl����֐(��5��\����pZ�b�[�ZK�h�#ߧwM���������J;cL��b��mo�' 4%�g	A%h�H��_�
 B0�tK궈�X���Wh�Sh��W	��Z�}���S\
{�c�}�_��+��J���fB�s !�e�aC�2=����\A配���Y�aRF	:'�#�U�rљ�L",�N
t��Hrտ\�W�G`uۭ��no3���V�o�����1NF��^d�ٛp���ѣ�������Ɔ����J
-2��'�K�>��u���q��qRn$bn��:σ,�6��<Jr�xh�y2I�PDž
=�.�@�Tg�� ��42E�A�@�ǯ񭺜�~=֓L����Tn-U/���WA����,Y����p
#�5�{�WA���-�d
��aK';��*;�ܔXy�&�~�j�u<3X��B�]�eL�D��$���2��Q����q^�4S��ڮNٮG�4�2
��L��V��Rg��E�T
��x�����1!��lVc��iP�m�t����{��w�r̒+T#��U*��P�"R��Y�� ��%)\�?n��!�!�i�`@R��5{Սv.��6��f�ղA�Ceڌk���&.��ąv��b�/=/[�M#-�[��2(��I
m�pP��0���{�CS��y�xuG�z	��a���i�f�� ��L{�'��%�B���b	�Z�i�y�`r��z��krb:Q�����^_�3�T��$J.¹�2?q�h��X�u\�^��Q�wd���5c2���t�uA��q [...]
-�+Y�3��g�G�S�d��f�n0
<�n����H
��!	�\�I����r��N�(OKFBS������d쏟s�}3�͛��:��P_�*�m�a- at ecnZ�>�6��N}�è�b�i_B�ݬ�ˢH��\^^�y��q�f(,N�4:�����|�(9�w�����Ipq5�ڃ��
.�
-endstream
-endobj
-3585 0 obj <<
-/Type /Page
-/Contents 3586 0 R
-/Resources 3584 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3311 0 R
-/Annots [ 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3535 0 R 3556 0 R 3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R 3583 0 R ]
->> endobj
-3531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 672.438 245.522 683.342]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) >>
->> endobj
-3532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 672.438 325.229 683.342]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 660.483 132.511 671.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 660.483 229.92 671.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 660.483 344.117 671.387]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 610.366 245.522 621.27]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6592baa6045a08fe1eb0ba33e8ed2942) >>
->> endobj
-3557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 610.366 325.229 621.27]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 598.411 132.511 609.315]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 598.411 234.02 609.315]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 598.411 351.535 609.315]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 536.339 243.605 547.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2d20e2dc8d4d0fbbdf87bd01a51dc01e) >>
->> endobj
-3562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 536.339 323.607 547.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 524.384 132.511 535.288]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 524.384 229.92 535.288]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 524.384 344.117 535.288]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 474.268 243.605 485.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a438eaa92ba7d9f7d8ec085fe9b00ec0b) >>
->> endobj
-3567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 474.268 323.607 485.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 462.312 132.511 473.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 462.312 234.02 473.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 462.312 351.535 473.216]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 400.241 242.189 411.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d37570a2) >>
->> endobj
-3572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 400.241 322.409 411.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 388.285 132.511 399.189]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.32 388.285 229.92 399.189]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.561 388.285 344.117 399.189]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 338.169 242.189 349.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b44b) >>
->> endobj
-3577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 338.169 322.409 349.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 326.214 132.511 337.118]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.42 326.214 234.02 337.118]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.979 326.214 351.535 337.118]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.922 208.121 334.522 219.025]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.986 137.126 125.586 147.911]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3587 0 obj <<
-/D [3585 0 R /XYZ 89 770.89 null]
->> endobj
-3588 0 obj <<
-/D [3585 0 R /XYZ 90 277.597 null]
->> endobj
-3589 0 obj <<
-/D [3585 0 R /XYZ 90 226.876 null]
->> endobj
-3584 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F97 1185 0 R /F106 2334 0 R /F41 366 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3602 0 obj <<
-/Length 1862      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�S+�T0$�c�q�Lzō�N;iFCK��)E�$U[��
� )S����I`����.��� /'���o"
H$��&�8�B����u�vJ0
-gs�1�^��&�&Y^�(���N��d�}z]%��ٳ������۳o�q$B ��k~aH��&��Z�2
	�4_
`¤�8ϒ���)���LҩڔY�(3�FݨjF��W0$	���q�tr���9!��X��(V���w8X��FL��}K�	B��W��&�oX.�
K�Z�^�R��4��3ג�is���F5w��3�A���&�nU�uS%i����y��m�5j~��Hk�̋�Le�n�,ۙ�z[�Eը�����^�u���@�9h"97�ܧYf�R ��;W[s'���>}X)ظ�C��V�6k�{j���
s\u�^��r�B>���$1������ڮ.˪x ��rGH@��r/�j�h�j���SU7-����)윶�խ
�7/'�[  S�>�a�
g���Q��\˶0�k�_bI�t�fI�$Sk5\�8E�ܾ�Ռ��_��*+J��1]�'m��6��wVm
TZ��//�EC�h$KaG�#a/�Z�9o�z�j\T|b
/�p�E��nT޴�uz����"b�6.��J$QH�1l��#hv���Fo�#���R�@�8�
Ň�*�������9��1aǤ
�K�	A�X��u��sjp�R���,"қ(�n�~M=&C��藎c�#���^H<ƒ#yS �
-� �nU�*���E�tD�	
j��t�#��#�) {DO�����W�\����F(��Zx�9�P��ߦy��������Uڼ3
��<����}8���Ϸi��ػ��H*��.!�
��f��<͹/u�V��S�v���y��t�Yd���h�S�]1HHE �z���2�#�Q�%X,F��C��[>�X��>�N;`p�N<�z��I�9;<�YN�}	���=��ͭ�s"P��a�
R�Bbq��W�SV��;՝�^��1��Ƃ�.������8�4�A�5cG�<� �zt
��!�ӏ��c��\
��N��T1*?�ǧ*gy�x_�o��h�V��s\�<����s&"0�������!6PD��g7����4�m�!�
�f�<wu�>�X�X��W~��E]�s�D ‹����-�_�p��ů���0��8u2��c�ݞ�G �
1F���+�I $m�W�:r�WW�q>=\Sbm���O
$m�u��n�Էx���E���
-F>�{�o�}t$�#"O'�
��"���:�h�5&/��

>U�C�4�
d6'{�	��'KW��K��@�x����#�d�
�5�t���;ʯ���@}K��O�+H.��X}�?�V�$�"{���J�H
-hOO��:*T��.]�o�*�Ϟp}��8�
��-���7"�n=��5Aj�f����	�1;
�1?MB�'m1�$q*߻f�;�]r
��^�v�o�W���;���	֕
c�1� �OJ0�����	#	������7�=-];�]a�cy���*[��@4kҽ̊#e6��^fy!�
@=m�G�����X�
�jD�Wʃ�.���K�����e}���ZAo���o�y
�[�	��ڳ�����%uw�!��*}�|�(ۋWΙY�
�[�k�~f�N���g�*��w����!q�ʃ��$;׫j�1||�6UjZ���f�N�h�
:~�/�	�Կ
��,�t���]#������R˯Q�~:5�K���p<~�
{�?$�6ɺ;x�����H.F�9��R��h�G�޾����ɫ��aGwMS>;;���G�m�Pڜ�ev�8h{\�ɍ����rY��_ }��
E�
-endstream
-endobj
-3601 0 obj <<
-/Type /Page
-/Contents 3602 0 R
-/Resources 3600 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3596 0 R 3597 0 R 3598 0 R 3599 0 R ]
->> endobj
-3596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.17 678.378 213.77 689.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.732 666.422 218.288 677.326]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.87 99.154 391.845 128.22]
-/A << /S /GoTo /D (main_intervals) >>
->> endobj
-3599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3603 0 obj <<
-/D [3601 0 R /XYZ 89 770.89 null]
->> endobj
-3604 0 obj <<
-/D [3601 0 R /XYZ 90 651.729 null]
->> endobj
-3192 0 obj <<
-/D [3601 0 R /XYZ 90 629.193 null]
->> endobj
-3605 0 obj <<
-/D [3601 0 R /XYZ 90 629.193 null]
->> endobj
-3193 0 obj <<
-/D [3601 0 R /XYZ 90 471.828 null]
->> endobj
-3606 0 obj <<
-/D [3601 0 R /XYZ 90 456.138 null]
->> endobj
-3194 0 obj <<
-/D [3601 0 R /XYZ 240.245 368.894 null]
->> endobj
-3607 0 obj <<
-/D [3601 0 R /XYZ 90 351.047 null]
->> endobj
-3195 0 obj <<
-/D [3601 0 R /XYZ 240.245 251.847 null]
->> endobj
-3608 0 obj <<
-/D [3601 0 R /XYZ 90 234 null]
->> endobj
-3247 0 obj <<
-/D [3601 0 R /XYZ 90 77.486 null]
->> endobj
-3600 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3614 0 obj <<
-/Length 1460      
-/Filter /FlateDecode
->>
-stream
-x��Y]o�6}����f3C��DÀuh�v[�5�^�"Pd�fKE7���d�V��V�ȓ(�<���sD
-� /G�f��1�Da�A���%�Gp7�ƄF�����"I���~{3{�fviލ��F���qp� ی���`�_�D��h���u
\�~�{���P0b(D|2%㱖�j�ji �� �}�8A��
��Eo������U�H7r2

���90d�M�Ft<j-.&�S�I�/&!
���J�Uz�K~�R�;?V�
�Bh�H߇�?�0�l�}`���1p`���0�YY���|&��S�B¹�y�Ҽ�ח�� ]9
�q�^�(k&��(0C�F�ɔCh��l��������qc��x��lvCSH�.�F��XwA	a;�U^��B�w�<���%�S�S���6_�k�����儆�ل�1��˞I�Y�r�Y���:�]��#���Z��0y�H�6�MI���q��X�b%U��'�y_Wi��|#�:/�� �V3>e�Cْ�A3�
�̈8c�₊�Rս��q�	C�q�	�y����GIQ(ZG~�#��m�"�
��dJ��Қ�U��q��{T���nHS-={�}9
-�����$��t�
�G
�w�C�q�,J%箓�hiF�`2Q
�r�\5mi��f��z����Iw.��P���X���x��&u�R��a�������y�ѯ�E�r�¸53���@��>�zW�4�y��׻��,�B*Y��(��'��Q��B��gKh�n=o3]�
�ӔSD�I�0�=���4�j�KYH�B�N���-O,�%N���Q2zAȻj�g�
T%�9��p��
���
R�e��b�LCv��C4o�7Z�Zt�Q	�
-Rֆ6��%[

��k_����s�㰰�d�
x�qB��#�S��WO����Q�=*�R��QO�
TO���"�O��R�q��Fg(	��=��d��#�3�����</&
D!]���T-�ा��H�6�g+U������q��:��QT� �Ԟʽ45��Z�kU-
�f��O�cr����k%��`�q���1$����gp~b>���9?�	��6 O���>�W7Nˇ6N��=�˃�:N���3�F
�h/�����>�*U�� ���	��+�M|4�!B����I�?Y�œ���ƥ��"��=܁?��Aŷ';���'m�"�%^z$v�#
�㍨��c�=/U>w�c���Swi���3*7�_�!e� ��mq�j}Z����&v�w5с����h���=�l�Vy
�.5
���t������'`��|z	;k�ň7���݅��2�o��t��,���T�N8D����[{�mS ��M�Wr���
�M)����S��_A��yd�ZĈ▫VZW�gg���(�Ѷ�+�r}VU�cZ�B��A��oJ%�� [...]
-endstream
-endobj
-3613 0 obj <<
-/Type /Page
-/Contents 3614 0 R
-/Resources 3612 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3610 0 R 3611 0 R ]
->> endobj
-3610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.87 592.808 391.845 621.874]
-/A << /S /GoTo /D (main_intervals) >>
->> endobj
-3611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3615 0 obj <<
-/D [3613 0 R /XYZ 89 770.89 null]
->> endobj
-3616 0 obj <<
-/D [3613 0 R /XYZ 90 721.073 null]
->> endobj
-3248 0 obj <<
-/D [3613 0 R /XYZ 90 556.094 null]
->> endobj
-3617 0 obj <<
-/D [3613 0 R /XYZ 90 541.542 null]
->> endobj
-3249 0 obj <<
-/D [3613 0 R /XYZ 90 385.676 null]
->> endobj
-3618 0 obj <<
-/D [3613 0 R /XYZ 90 371.125 null]
->> endobj
-3250 0 obj <<
-/D [3613 0 R /XYZ 90 155.765 null]
->> endobj
-3619 0 obj <<
-/D [3613 0 R /XYZ 90 141.213 null]
->> endobj
-3612 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3623 0 obj <<
-/Length 1860      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~���Sk5��xm�l�b�
ۮ[4H��V��Beɑ�n��;%Y��c�&i�L��p8����{3{?�'��g{iA�7��4���Лzo�#4&����a�-�����4^��4
�_D7Y��<8O?��O��=#�%��|د�����6�̈́��=R(L�͜�{�0]�x
y>S�����C�X�Aa��o��d#��&	aH���I+t�t2�0  {�Y�#��p1x�
{S~�aĴ���I
ϧ
~c�j�� W��{
�4�pI|8�v�V�
�0Y^��-́;�UH��1�bΜ�p�]{����*hm�G`
-*��:/�¶�0�uca�̲��M� F�n����<(�� 3n(I��$MƙkGi�n�|XqT��T�Y%E�%$�%if��
C��4�N�w��b��fsw��܌�]oT�y`
�o�Wu�c�E7vxU�|�:�H)�2��4Z�$�����ۘi$���7#�hA�*b���v�Yj�z(($�@�'�I�?@9������G"��fƧ�3��y$�[��g�)k���	N����J�)}����]7yܸ��U��p��Uzt	c8O�,U
m��!�(��ẖ�p
���"Y��>�
C�z�t�X�{D3p_Գ��ղ��)��z%q���nf'��T ^	
��[p���i��� �M^��Mi�*T 4�d�5�EU�L�;�iR��MvA%�e�R��@�
h�D"���A�`c�K�r3� �V�]ɾw��#��
c27��|
�Eu��cE��dQ�� $�Av�$>CJ����E�.6A�"ʆ��oX�~cۻ�⸏T>�S�~LA{�`N����=����m{�k��)̺Z�k����B@�u����!$H&)�&e*�Q��iR
�f�b�)���8`�UX�Y�˟�!���'���Su�>���~����R����DX�cک~�&=���<]��G�c�� ^��^��T
cy���
��C�
ϟ\_̓e���{�
NG����
�
WG�+E�m�y)���r3ݓF(��# ��d��|غv��
�
-px�B
-�={�R���K&�
.��-Ի|��ͫ�//
��~���勧^L��

N�'e,�����2�¨�M`���
��A��&85a9r�G��A�!vn�قf�UJZ:�H�ut4c���mc�Z�^�)��niڗXH;��B덻��3�-���@O�Ed	�
�g)�'�d5��:���Y@����WG����+z�^����VLr��`����
 U�4@����B� ��*E�l�u�M����
-�uz�|��A˧
�!����)iX�")"�o?+?��^��Jxc�=t��s���AZ{O��n\���R!_ꝫ;��(�:_�������� �~~��
���e�l�}�c��?��:x��ƈց�E�E!�QPж��|ρh}�T<䘝��W�Cxq���G��
�?ŐP������P�OZ��z
-�D uFkH���������=���7����-
�0
-���A�h�Y�{�?�{�
�V�Cbηq��T\����7�nb
;���OSS�X֙쐛[�8
�?�:�
ɗ&�lA�Ma�
�{
�]��Gw�� ������$��b	���TQ_9R(�
-���n غ,�JIӲ
>tu�(.ܸsNh�u��DѮK�2Wn��N2��
9Y�Nu٦����Z���ď��>�
Ix滯��\We�I
w�֩,'Tݚ\�b��=7��#��*�_ɪNa,F��\٦Œ�ᄨ+1���+c�C����խ_�7�@R����������

-s�J�e���l���vː-)��r�V�E���j���t�c� ���
-endstream
-endobj
-3622 0 obj <<
-/Type /Page
-/Contents 3623 0 R
-/Resources 3621 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3620 0 R ]
->> endobj
-3620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3624 0 obj <<
-/D [3622 0 R /XYZ 89 770.89 null]
->> endobj
-3251 0 obj <<
-/D [3622 0 R /XYZ 90 668.418 null]
->> endobj
-3625 0 obj <<
-/D [3622 0 R /XYZ 90 648.353 null]
->> endobj
-3252 0 obj <<
-/D [3622 0 R /XYZ 90 490.041 null]
->> endobj
-3626 0 obj <<
-/D [3622 0 R /XYZ 90 469.976 null]
->> endobj
-3253 0 obj <<
-/D [3622 0 R /XYZ 126.015 357.946 null]
->> endobj
-3627 0 obj <<
-/D [3622 0 R /XYZ 90 335.724 null]
->> endobj
-3254 0 obj <<
-/D [3622 0 R /XYZ 126.015 223.694 null]
->> endobj
-3628 0 obj <<
-/D [3622 0 R /XYZ 90 201.471 null]
->> endobj
-3255 0 obj <<
-/D [3622 0 R /XYZ 107.534 77.486 null]
->> endobj
-3621 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3632 0 obj <<
-/Length 1804      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f5�;�`�&�.i��+V���ت-L�<In��C��,���m�'�y���C{
{��M'��|�K*��'�Ǟ�>Fs���0=�8y�1��%�*_��z9�x9yc�
.&�>a�TRڛ��?bo�_x1_{w夕�)���{3�s���B"Ě�G6��W�8(Bc��s�ծ�
Ա��_�
�
-�����~
&�*
�����[�H	�}Q���!�Z�3nF�lLoF��~γ`z�fAvz�,��PC���T�L/��z��Z
-s�gm' �5�����4ɋj�{��S_"-�7���BT
��q�@��hd��n%��'���zx�BB�/Qq?=��<w��
-i�8?kV8tp�0���_ki|[�̈́�WW�^���|z5={u}su�����t*���=�q�� ����QGI��
-%�QN��
���h+iBn	�/
�̘S�����6Q<�M��Ъ��*��A�Dɢ˰zX�|�S�SvI�8��
FXc�T�B�"�8<($)�Z��4��|�qh�ʌJK�"ۖ:��1���%�lpi��.
A�������(���xD��0d��ST,Wh4�J'��i���R�*�c�d��&�����f&��(��WQLl�-�F�$��9r�
�%)���1���	��-�
@��B�c
�
��Ҹsb~���T�#���
v���>��
�� �M��(��0�D���
����<
���~�:�of�|zSp
-���#{k
bA�1;'&-����I�ޕΑ��@�1��|7a�&��CJ��MDL
KD
��H"��D�H��ӗ��S�fH���e ����Ȉ�@�ΪaV���mU[�)�HQ�O�a��T~kKP�GP>/y�g��`���0���{�>!i%��d4ŋ43��W*�i
�JM����5T~���51I��U5c�x��‡4���u8�>`L�)�׽�
H��0�����m�GJ�Np���Ny�Uu�~
�nìJ��M2+�4�F���ɠ|e�G9��ߖ��a�S>�~
�H�����H6hu��q%�k�Abh��Ö�����t�%%dP�u�B���{=�Ꮇ#Z�,
-n�Ѕ�
�F�� sy��
��8�
gLB����̉U�C6��6X��M����L�֤��6�C(��
�G�,�%�Ҥ4��P�������j0�ߘ�[�0)�12J�� �[
-��yL�
Fp��&'�2�]F /��.o���Na�S
-���P$�
@����ygm+�G�������b~z
-^r
����4�lݵ�c�/���6Yf鈊�]�'%P_����(/_3�m���TK?9RE`�J}L����Ճ�
����F ����Q�/�t�
M�>t�`L�7)rN��z�8��:��
-z#,r�mnw!lK�n�
3I��S��x�Z[_�w�Tӹ}�Ј��o��&L �1t��@���X���@-�>
�wAm��ˬ���2��Mwxwa�B6�h��[����
r7���`?T����w$`<}$rJ8�
���I�p�?�����9�� 0wF�&Bh$��EW"t�56�0}h
G�it��wq�&��ɝ��
5d�x	��] S
��� s
\RS�Ȅ*j�~g
�� ��Q�Ӳ��zl�d��C�1���3
6�c|����T�_%!a;�_���$���UP`6(3�x�����
�ͮ��z[TC�KT���0�y$����:H6�r����FT��] vF�T�#9�7ah=���ǫ���!�2Z+�p&ˢX�����ݡY�6I��PT�����C�ߒR^��B>���Jkp�x�*+�A�̐��
-endstream
-endobj
-3631 0 obj <<
-/Type /Page
-/Contents 3632 0 R
-/Resources 3630 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3629 0 R ]
->> endobj
-3629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3633 0 obj <<
-/D [3631 0 R /XYZ 89 770.89 null]
->> endobj
-3634 0 obj <<
-/D [3631 0 R /XYZ 90 721.073 null]
->> endobj
-3256 0 obj <<
-/D [3631 0 R /XYZ 126.015 615.527 null]
->> endobj
-3635 0 obj <<
-/D [3631 0 R /XYZ 90 598.204 null]
->> endobj
-3636 0 obj <<
-/D [3631 0 R /XYZ 90 458.497 null]
->> endobj
-3312 0 obj <<
-/D [3631 0 R /XYZ 90 435.443 null]
->> endobj
-3637 0 obj <<
-/D [3631 0 R /XYZ 90 435.443 null]
->> endobj
-3313 0 obj <<
-/D [3631 0 R /XYZ 90 305.371 null]
->> endobj
-3638 0 obj <<
-/D [3631 0 R /XYZ 90 290.204 null]
->> endobj
-3314 0 obj <<
-/D [3631 0 R /XYZ 90 162.169 null]
->> endobj
-3639 0 obj <<
-/D [3631 0 R /XYZ 90 147.002 null]
->> endobj
-3630 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3643 0 obj <<
-/Length 1571      
-/Filter /FlateDecode
->>
-stream
-x��YK��6
��W���35����
�I2yt&M�^��G��Z=\I�w��
�z����:��Ŗ4 >�v�
�=��.^J�(��t�(�HO!.�n�|r	F�xB0���1�n������b7�n�z��w�<
����g�������KB:� �}���쒞RPB����H��7k~>"��z��(���r�NNJ�:�DA��z��1�]�,�"�w	SF���t�׈���
���,�ѧ/�Y��7FL�ή\;
e�9G��p�X|���B6"�R���
�)�4�K���+po�>����#^�)/���a2���5���,Ȯ��N��ċ���l��=6]g�rw�X'�+�d�]��G��1fU hw
R~#�X��]��L�0����\�
�,��{r��o��
N��ƾ ��
�9�w&�4�E8�4 ф
- �O��G���$@�I���!L�B
��a]"ȯ�;7��1S`��������W'���W��9{���
��ލ+�AÖ��˔z�S��؉d�0ΐ� L ����z޺��Ik�3ۅ����3渄���]�,(���~WY��!N *
�t
��t0Z��:�`�5�S�Da��
�tB!��� S��>�b�%g�
-�Y����:��areo��i�
�)�rI�.Q��_ʗ�B|��=��?R�
�
U�'���
�P,轉�T��țDݝ8�!�
�mq�����#O��MN��Y�?!k2�
������d�y�FVܽ�
��'�QI~��b�`ygf���d��V%C��,��f#_͏
d�w�NA6{q�����U�8˜�H��(i���&}D}�dr���5�>k
��A���BTd[}2� sKc��J�覟��Ă
�m�Z�ܦ�"�2^�R��Ҹ�l��M�x
�p��)ďA'P�ə
,���5�o�����1�Y�28�@�|�&�>�ˀu�7Ȼ�޽7�{��\G%��
�s�y�K��s
D;�	�!3�q�o��E�g3.G��o���O3�|���8Ƹ
jY�f��׈{ �b��
@��=�o�i�1m
\�q�w�U &�u�
v��.�
-u�m屙�!;�݉mO����^.�"4iTjT!��n��o7�d@,�]
�a

�Wjh

� ���ƺ>/ò���'�vV�e���� 4˘�.K
�3e�aj˒��e�\
������0T׊ܪL��^ �7�e3�$>�<�s�ZGS
͍�������t�p�Ъ<�
�G�&͠�T�[��u� >-��=4.�\�M� 2mZ�}5U+����*�1o��^�^���Z�*�.tv���#�Y?NNJ/������V�G%��kmb�=e��
���)tY{f��^�ځ�*	��ϙ?��u�g�
�������r�+��H!_�%��t����<x�2�*;�py�B�ԁ�K��q�<���Wf�'ع��U`�0m�_}	������
�L�P��}C}�)�{�[���ǜ�U��$� jOF�T��A2SS*��{�~Ժڤ�ٟN}�vT������v&�.�����n�C�
m�p�����l���u����U
�8͚q
<�˙<���?*?�
-endstream
-endobj
-3642 0 obj <<
-/Type /Page
-/Contents 3643 0 R
-/Resources 3641 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3640 0 R ]
->> endobj
-3640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3644 0 obj <<
-/D [3642 0 R /XYZ 89 770.89 null]
->> endobj
-3315 0 obj <<
-/D [3642 0 R /XYZ 90 682.542 null]
->> endobj
-3645 0 obj <<
-/D [3642 0 R /XYZ 90 668.045 null]
->> endobj
-3316 0 obj <<
-/D [3642 0 R /XYZ 90 541.74 null]
->> endobj
-3646 0 obj <<
-/D [3642 0 R /XYZ 90 527.243 null]
->> endobj
-3317 0 obj <<
-/D [3642 0 R /XYZ 90 400.939 null]
->> endobj
-3647 0 obj <<
-/D [3642 0 R /XYZ 90 386.442 null]
->> endobj
-3318 0 obj <<
-/D [3642 0 R /XYZ 90 260.138 null]
->> endobj
-3648 0 obj <<
-/D [3642 0 R /XYZ 90 245.641 null]
->> endobj
-3641 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3652 0 obj <<
-/Length 1998      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�4~��$3D�]vax�90�� �3
7Q�cǡ��zV���M�a��V���o�[{�
����l~u���^�I�7_y���p���N��w�=&}D	_�?�������o̳�W�?�<�
�R���\�}��%�����P���8e�?��\�x�K[p�&��F��"�S� B���}��o
-�Oa.���H���<�k���B�^�qL����tF�����$~���Q��v��o3mL��w��.�X�Z\�5�^�k�7�=�Y@�$қQ�R�ū�
�ͣ4�u>mD�V�G
-ތ�-!��]�����)C�8Zކ��~���gLg��Z��|��f
-I�,ŢvW�"V/�~��F�,x�xFk
-�JU���1s)C�_����n\YV��2���`EgQ�H7�0��b�3��
#)
(���~�r�	�-�K���d�vFp)��Do����I�9$
�0	Ɩۈf}�I�[�w�>Y꥽��ҍ
�w�pZ��?r�&D�q%w��2���I_{��}�X��q��) 9D�%��m�]�|��������,G�t4�؇�8i�G=��#��i�z�^�v�O�t�X�%*�u���|�b�����E�t@�y��`�
-'��?q( d���[��c�����8DJ�Z�C�	�&Uܥil彞��l޾�R���&����FwY�=��|��w($#��c�(4�N�����O�V�����om���2HA�M�

� 86)�ɷQ�����	@�O�� 
<Rx�AiP�X8g���z0N%i\{&x0�<�+���
vڝ*�BBG�tTP^$�K�X�U0�TT�1 yƨ��'G"����q����Nt� �E��� j��߻D����Xiv�K��
$�ogz%1��;:@v�G����*��O0�
��8��2^�MB0�
���4f`k3�\�LH0�dF�snۊ�Ui3
��VZv�Ca�_N�"
J�le63z�٬\�ę�% <��00��
4��B��:Z�Kt�)9�:�"��%g]J�j���ۦQR����δ+{+	z�Y�Z�CHVe��
-�f��}^���bH��w��2=@��uvf��#,hwC�,l	m at w^-m\��
k�  �Fp�eU�.�!=,����]/��]�S�R����N�qo�=s�P�
�zY`p���
-��J�(��4]��cZe.G,lJ����N�M�����k[��g�#SVXu�|�#¨�_��DMTQ�E
1l�^,�^�
-0$��(��"����ޒ\MnWhC����"Nw�����B;�M�	��!ځ�(ߕx
��$�^8�q$��1�����'x��}�V
-p�v�B���z����M�Q��\�\Fn]���,2�q����?J�	���ސ|c� ɇ$%/@򁚪Q�����=�m Bua�=î��;���7�wv� 6�q�l/�&PG����	ZJ+.���& M�2����	�Y}�(��	���>���}1�'?�O ��R$^5�%+w��"���T8��������!�3�Fx�#g���'`  �e�<l�ry�ME�+�Ze���B4���Mq2��I�:{^bm�QDEf�M�Ls���C~��:�Q'-Z'�ⶎm}b.�!
���Ex<)x�����c�<>JL�
���?�KC�ȋ0i�"M�O�K�<�H����4`7�M�j�
\#�=�J�ǘ�Vہ�ǹ4�T�.�T
u]2� � ��P��#ӽ�
cӥ��p<�?��
Q��]z:�#�"y�2��'�<~�a�I9��\9x�ˇs�<�0W

����&eJ1<�mkGsٱ�\>|��1u��O8��R�g
�K��
��a���
�e�_v�Od� [...]
k�=����PhDMьL�'o�.gj���W��� �2�W�5ۿ��������Z��>������6�>���H

�_U�i�f5���M�r<؄ v� �
-endstream
-endobj
-3651 0 obj <<
-/Type /Page
-/Contents 3652 0 R
-/Resources 3650 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3609 0 R
-/Annots [ 3649 0 R ]
->> endobj
-3649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3653 0 obj <<
-/D [3651 0 R /XYZ 89 770.89 null]
->> endobj
-3319 0 obj <<
-/D [3651 0 R /XYZ 211.842 635.43 null]
->> endobj
-3654 0 obj <<
-/D [3651 0 R /XYZ 90 621.557 null]
->> endobj
-3320 0 obj <<
-/D [3651 0 R /XYZ 192.853 343.457 null]
->> endobj
-3655 0 obj <<
-/D [3651 0 R /XYZ 90 328.205 null]
->> endobj
-3321 0 obj <<
-/D [3651 0 R /XYZ 211.842 77.486 null]
->> endobj
-3650 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F72 400 0 R /F56 363 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3661 0 obj <<
-/Length 2150      
-/Filter /FlateDecode
->>
-stream
-x��K�۶��_�S+�x�x �i{H��$Mg\g�

�W�Vl)R&�ț_�� E�����'�����&�
�Y|{���>BJP�o��(T�
����puC0�˷+��q��ޮ(^���No���䱈�绻o�O��?�~OH#Ѕ@�F�'
�"�����#X(���/H�j �K�\�P���+E�zH�J�'��V+"�:[�#E�\��������
hp@�68�d��/���
�`Ĕ
N5�>)�k����_T,!�j��"�)�j<]�b��!�YP=t�NhS�(
��m 
�<����	0œ�8A��08]��S���>ɒ}�[���	�0�����9^�YY��^��d:.
^:X)�$��?8���6�(�QCR��F���v½Z�pp��r��c�NtV] !"ģ��l���� >H�
a��f�A\�	�S�A�
-	L}��v9�Gh0���h at t�љ.�*/l����&�o<����� ����a
�������I��o|��\�e$�!�dpBH
'�;]
��t��>b�T�rRG=��
-$�lM�f�Z���
�,}�'xU
i���
Dd�	���B�]RγQZ�Y^����c�F��gΣ�
-��1�h'����N��˓���#�
!,���9��T�獌C���K�;�Y$E�1���q�
-N�s�$3�h<�����G���
��'u���Ӆ
��@�H�+8ĭ���;�c�ąn�a8Vz��r��A(��s�"�"������ ŧ�E�}���O� n�9�e�}34	
[��7�M��m�zE�д��� ��Gߔ�����o��Z��R1B_"��S�@�
�
�OJHC���(����"D�<SRv��i���?�x���X�\d���Í�r0�W�&�ثB}G��"ɯHս�J��hv�ڰ>#K�2N�| ���Y2GQN}��.٤>5��k�!v�M��U
MLp��Z�MiR��d���}a��|�w����K���c^s]�yy,������(X$s	����A�T���!��`/gO9��l���80�N�����>�}^"T
/e����bq�l
��	�7�.Z�CnQ]X�Xf���,�]]�������ϐP�#�U�'֔�Mқ�~�d�L�?>��4�{F�i8��ʍc��D�D/�%GR�~�B���
�b
3̓j�
j6D]w]����5"^k��j�[�
-uz�B�Kg�@
iu7��
��`�#
T|�T��{5�|
�a�
д-�7q��;�0�׵���%�=<

6(�B�yn����8fU~�ld��a"�����#�
-��\p5�*`]$L�
-�
- ��Y�n
-:���"�9���
�?
u�~n��[�m�ĺ@��u��X�%yxͺ�?v,�f�)������8�/���ȗ�1�00�?/DA�
�
U�V�t��|��m�AU�Z��;�kI�D7P��m
���2���������Ut��.4�A��kP�Լ���
�������h
-�c�|��V8wS�X„`��c*w���r�pW#�����ev=��1��j٪�
 '@�U=��������:;p�?��S���f�
)ú�D���M���mF9�0���;L�5�=�SP��̍u�'o��rޔ$���j-��XW��L{aGG����m�df#̜��I��
 ��lY��>h�ҫ��.�&<O�Ƭ���[0������P��;����
OM��
^C��jgO��'�U��
R<��"��,����o���DO"��+���+��Q�y�O����9�.6
ƯP{
�
F��t�� &ͪ@
KܤK����"�ߋ�v	.z.�E�`�؀[��-�<�2��Z�%�.uQ[Da�A����~Jt�����F�B /Wӹu"�I ВD�l�6lD^��)
�.q|�
�u,L��.
-)��
���b:L�᠔H�g�ll`D56�$8��_��{����_�������3
_��{���͎�+��sУ`�������QĤ��F�+9�oM�2���m�c{�&d{�R\q�t�8�~Ԟ�0j�^ѵ[��f$A��˟uSi�d�	��_�㗘����wUu���=�Nh]"��J���!�=� =,$D�
�m��yѮ���^'����ga��
-endstream
-endobj
-3660 0 obj <<
-/Type /Page
-/Contents 3661 0 R
-/Resources 3659 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3656 0 R 3657 0 R 3658 0 R ]
->> endobj
-3656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.252 222.471 511.506 233.464]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-3657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.129 210.515 211.803 221.419]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-3658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3662 0 obj <<
-/D [3660 0 R /XYZ 89 770.89 null]
->> endobj
-3663 0 obj <<
-/D [3660 0 R /XYZ 90 721.073 null]
->> endobj
-3322 0 obj <<
-/D [3660 0 R /XYZ 192.853 407.066 null]
->> endobj
-3664 0 obj <<
-/D [3660 0 R /XYZ 90 385.003 null]
->> endobj
-3323 0 obj <<
-/D [3660 0 R /XYZ 439.299 77.486 null]
->> endobj
-3659 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3670 0 obj <<
-/Length 1266      
-/Filter /FlateDecode
->>
-stream
-x��[s�D���+�D��޻V
��I;(mcx	�b)�@#����s��Ց/!)�'�ڳg����b���֛���h�����\I�5��\l9�EB�?�:�	����[�I��+aV������'�����d>�sD`[�(�Q�2
��cˇ�o-�����R(�8e�Y��#��B!�)q���	��:�W���†�k�jg*tYm�7F���A�f-�7� ��`<�R���
P)9������<Lj��4����c�m/����1�vm�?�?���mf�����zDb��}.
���6S�����a6[����$/S>aD!ƹ5�$�B�߰� �k�N`{�x�j���x�܃�S�Ĝ6_U*𖄣�u6:8��nj��Fޑg�6fga�Ipn$��N�!�քS�D�O��L�����W�!:[:��Yxil��<�I�1O0TΆFkg
����W����U�
-�:��ѭ�m��-56�r�� *yRa+QO`�ì	UH@{�SN��J��Y����ت�
h�	qےε?��ɘc�ƋB�eW�8H�5=�]0����u����o�~�����
��@(�)�"��u���7�}%Y`
�C�'�(M�d��+O�Q����"�
([��쳗}B�2��b�@�!@�Rهo���D
 Xg�a�'�-Z��t�U��\g�RG�E�Ze�b/�
���_�����u�4�ۅbh"%���G(�g�s(}�g�}ˣQ
�
?�O�D/.�1Qv?�Ɣ9�
�ODcȢ���{X�
b�`����b��T��
��c��`�¸)���i�?Ȃ8Od$={��(���AG�����0��6~,��� �|E�Qd JXA�L����ӽW�vU$�bWz�a�qi��1�P�-Wv�E�F���� ��P��V����$M��j ��K$�{
O��
y
-��t�C(53�����A�@�)���p'���e\p/E&�U�/�q(��?�"� �Du}��8θ3��r�Q]�������/���\�� iL�6�B���5
:�N��fc���zp)p�\)Iuu�Z�ʶ�US�q�E��%_�Vi���,s�i�䬸jϮ�;��oF�Y��$�z�1ĭ_{۷�B����[��
��I|fq 
�p2��z�R�{M���l��j�1~Ƀ��X���O^�����7�*hmșy��g-��
ۧA
%��V��èLf�h���:��z5�Nooo�2G�$\e(���*���m�\Bٔ��i}�x{E�K�_R4<�
-endstream
-endobj
-3669 0 obj <<
-/Type /Page
-/Contents 3670 0 R
-/Resources 3668 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3666 0 R 3667 0 R ]
->> endobj
-3666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.223 89.396 256.823 100.3]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3671 0 obj <<
-/D [3669 0 R /XYZ 89 770.89 null]
->> endobj
-3672 0 obj <<
-/D [3669 0 R /XYZ 90 721.073 null]
->> endobj
-3366 0 obj <<
-/D [3669 0 R /XYZ 90 592.688 null]
->> endobj
-3673 0 obj <<
-/D [3669 0 R /XYZ 90 573.703 null]
->> endobj
-3367 0 obj <<
-/D [3669 0 R /XYZ 90 439.813 null]
->> endobj
-3674 0 obj <<
-/D [3669 0 R /XYZ 90 420.828 null]
->> endobj
-3368 0 obj <<
-/D [3669 0 R /XYZ 90 286.939 null]
->> endobj
-3675 0 obj <<
-/D [3669 0 R /XYZ 90 267.953 null]
->> endobj
-3369 0 obj <<
-/D [3669 0 R /XYZ 90 77.486 null]
->> endobj
-3668 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3679 0 obj <<
-/Length 1429      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~����R=;W���JM�TM[)m��!�V,�wQ18�w��30����:���ù�w�w��:��~�|1�z%�����,��Ž�
-	�"�K0����o��A�
-��L)v�d{��<��)�Ƀ|;�?�>M?,^_�"dG#�<P��^��Y-�3
-Fh+����-Dp+����IP��]Lu�j���W~�K�O���4�%E��Ό�����㄀�:I�	W�w���k#�|�Z9�2�O���_&�hb	AT�W��lr�����}T�X�$�=k��Z��
-�bD�d�HHv"���F��l}G�΋��� �\
EŒ*��G��S	1
�I��(�σ(���(� NK
��X�j��}�>�~�-`S�寬��R��6�a1���j%�i�]E��4R��4�S���^/t� o�)b�"�(���w�QƩ���"�#�{���
�8oE�l�N���l9b;��1�i����Zv
x���.C�
xj�n�S��C�R�i�PU�M5�mʌ�B�<R��v:�j��R�E��N�
|$� �
��ǝW�	e�v�,F7�I�� ���xP
�|�
@�k�/?�z]Ơ�qᨮ��2��>
��AG�A~�Y�<�P�]�y6��}H!	X\���fO�nmi4��H��
-�^� ׵�Q
���Y���j
��M��1���C��D����ھX(	Em1��`qfބm�y����O����8��uo�f�YpXI���Y���ԑE�v��o���E��� �p3����$�)��n�K�'@�
-��k���4�I�ph�
n����l�j+�d6�B?b1[=τ�0�#4�n�D &�In���6z�)
�W����6z�]Bm򳨍<��.&6`/\�E�k��*��Es
V�
�ϣ�
v��
-�1!Q�|*�OF��_D�� �ypz��SO@�
���1ZK��*��f���\�w��0m�	����0H���*���Q`N�'�%����f�Y�&
uQ,7�5���@)s�*�)q���>�u���fO��y܏����&>ЍIio���n�/Ұ�it[�
�7�.	��JN��?��Z=z
-g���o�M��e��{<|��	�a�v��B��f�
-��l���
ts�����t7縭�`�^�{�q��7?A�����fgځ&����z�ϛI8&�Or�nf���h�����@�����������d0��t�[3bTF�����8�����a��N
�ӱ�Φ�wҖl�WG	�+�K��ݾ����Yx�;�{s��⁗$��wfhS���cC����֒F}�[��B����
�C�M��7��h���,bi����I���6�:�?����I�G��ė�uc�]Y��WW(,�&��9�˫�:�:,�
-P�U�4CHu��rݜaq��<��_�e:
-endstream
-endobj
-3678 0 obj <<
-/Type /Page
-/Contents 3679 0 R
-/Resources 3677 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3676 0 R ]
->> endobj
-3676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3680 0 obj <<
-/D [3678 0 R /XYZ 89 770.89 null]
->> endobj
-3681 0 obj <<
-/D [3678 0 R /XYZ 90 721.073 null]
->> endobj
-3370 0 obj <<
-/D [3678 0 R /XYZ 90 542.005 null]
->> endobj
-3682 0 obj <<
-/D [3678 0 R /XYZ 90 525.699 null]
->> endobj
-3371 0 obj <<
-/D [3678 0 R /XYZ 90 280.387 null]
->> endobj
-3683 0 obj <<
-/D [3678 0 R /XYZ 90 264.081 null]
->> endobj
-3372 0 obj <<
-/D [3678 0 R /XYZ 90 77.486 null]
->> endobj
-3677 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3687 0 obj <<
-/Length 1387      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3Ë(��0`-�a��u��=d��HL,̒\I���#��ٲ�"�0
yIL���\�s�#a��������k�
��O}gq�(�O!��*rn\�y���7�%"ʇS���_�.^�]\W�&����C���t�dr�
;l�q0bJ:�Z(q<���ڹ��6�gm!bM��C
�����-u�Y��l�z
R�I	��5�~k$�7�r��i�������cD�����FT�}��F��`7�#��]�
-�$X��R�_�W:ʃ���m
����E�i�R�cĉ8�H}k��q�gTQ$|�� ����>Ta����<��e����V��.�3ʱ��6��,_�ϗ���b���v�z
-�����!ڊ�e�������4R7q��S��Hr�;A\�(�)5��G�u��� dw�1��L�̚I{B
R�5�\�����G
n���A���r�aO)���`�Ӳ5��_i��(q:b>��?���$"�b�o�.�1� ?h3*��Eh�
�R���
�N$X�$œ
l�)�Z#'����
- ^ut�'�#%���W�B�)c������Z*�h>��x����h��ۤJ�/���̳
-�:gn|7L�<�
�I�@
�P�F�pB��Q4Q�����\�|/ ��8
�d���Z�t�|�2P#��&z�TB1�ʠ���2��٠�u�10٭�pe
�")�l�e��$X��fYl7�,/ud��?��[����(K�4��fL!��<�:$3��$�y�]�(䀐.i�T��I�
4>��Sg�lp�b��$E�ˈL
�,���p��	V�,*�z;UOEe�*c�G�3��ϸ�6�
�Fi�L�	��)x�!E�������h椏�4r�~�M\���:��֕� �C:�T�t�L�_��O����`ς�ϩ�/�������x�քr��6��6��l��*(�Lح[{(	"mv��Z�M>X��9�ṋ�-��݆P���vmM��]�r����>�u�ͭyuR`��
vF<��M�e��
� �Ep��Fh'�����ì �a��y�t�o}:0��4���..W�nd8�
a�xt�"`���3
���S��g.�� E�p�����SMc�q�	��
�<�E"�ocװn�76�q�u�}�PW�=�l���
�W ��
.�f�����$VH9�x9
��E����NՋh��L��ծ
-)��sEMx�sE�'O>�+|$����PQw�ѡb���/�����/��e����ä�A�Qq���zW�X�h��fiۭY@��_O9w��K�nk�m�c�
-���6lb��U7�C����S���N��I
��R �[��r3����v(,�6�79�˫�f}u����Ak��%�dM>�6���Q�~��
-endstream
-endobj
-3686 0 obj <<
-/Type /Page
-/Contents 3687 0 R
-/Resources 3685 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3684 0 R ]
->> endobj
-3684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3688 0 obj <<
-/D [3686 0 R /XYZ 89 770.89 null]
->> endobj
-3689 0 obj <<
-/D [3686 0 R /XYZ 90 721.073 null]
->> endobj
-3373 0 obj <<
-/D [3686 0 R /XYZ 90 536.669 null]
->> endobj
-3690 0 obj <<
-/D [3686 0 R /XYZ 90 518.857 null]
->> endobj
-3374 0 obj <<
-/D [3686 0 R /XYZ 90 269.227 null]
->> endobj
-3691 0 obj <<
-/D [3686 0 R /XYZ 90 251.415 null]
->> endobj
-3375 0 obj <<
-/D [3686 0 R /XYZ 90 77.486 null]
->> endobj
-3685 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3696 0 obj <<
-/Length 1514      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W��@��KE	�"iZ���K,�m
�%U���ߡHɖ-�nv�Ks�I�
�|3�qH�
��4y��ܼ
-�#���,���N��|���G�`ħ3�1v�M	ve�����y��Vq)o�&w�,�������ś�W�
H$��8����L�m
-��n���R(L�ݜ�a���"�U5�Q���������y������UYC�x�K���N^.&M��1hx(�h3��;1
�q0b"tvͤ��)����0�m�G�%�Q
��!J-�u���!Ll
� ���	�C�2��g��=�����{��<��̯�<\��H�QAQ�Sgp
-�;o��%l�����0����%��6ʳ�.e��6T>a7�����~����gV+|�e���BT
("��{�V?Ā���v��$K�L}63=��}
-g�)b����+���6N�L2�=T-D
����G8�sN�i�E�,�T�/`
���ۋ���
��vB���Δ!�!��4m���5�D	�f��WȉZ�Uo�^Lߛ$Dh�{���%}t ��N�źɿ���
и1�wv¶R�i-��4ZH7*��t�
B���R'�}�y�]
-vm�L�I������R����.㮒��X�
b0��FÌ���i�K���ŝ
?c�n5��4U��RՏ"m��Z�b��
#�jO��i룗_"Uh�w3
�ނ���s@��2M�[Y���Z#�
��;�̧�sw�M��@rؤ��
�Rr���n���9�"�"��NLi
'`{�Β,�7�ָc(��C��<�kn���c]q�p
Ca\�PiZI�a �I���ldݶ�"E�RFS�fQ�l�1�$츛��un������3ώv�˸�ˈ�\��~�d���h���`w/[�$,�8���y܋F���O�jv�D�#w/��_�
��)�����Tqղq1
���zi&J3�r}�t]���V`�m��v�E	V��gJ�*��i46�� ��>B���n�ηil��$n�D2�#re:
��d��cq��+W��{�D,=*QI��C�Z&�%�Am�����Q���?jO��a�K���˲�eY �e�U�i�����}�h�ޘ1���+1��Wy�o���]G+O�4��ܚ��p���<\qb����W�j@g����T�4���#%g��@�I��O�
I�k+�࿮41
-�oO9�R�=��!(#��B�Wi
�n��_,���昱�!,�l}D���j��ś�5��i�6�M��a���7f
����.�c���_� �x�4��\<��Q�R$��
-}+
VHU���)A��{J�'O��p!���#���0�Q��P}�op=X���v���\6��W]��ߢ=��ԕo��4����B����(���K�&_�m��t-�PA��n�6�~��V�{��ע !����P�KH3=v?��
�X��Ӷ~6����$
�
��뺘���v;Uh�%E����(қ� :��힅����+�
7�m���#BE�
-endstream
-endobj
-3695 0 obj <<
-/Type /Page
-/Contents 3696 0 R
-/Resources 3694 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3692 0 R 3699 0 R 3693 0 R ]
->> endobj
-3692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.9 482.893 513.996 493.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
->> endobj
-3699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 470.938 120.665 481.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
->> endobj
-3693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3697 0 obj <<
-/D [3695 0 R /XYZ 89 770.89 null]
->> endobj
-3698 0 obj <<
-/D [3695 0 R /XYZ 90 721.073 null]
->> endobj
-3376 0 obj <<
-/D [3695 0 R /XYZ 90 460.679 null]
->> endobj
-3700 0 obj <<
-/D [3695 0 R /XYZ 90 444.169 null]
->> endobj
-3377 0 obj <<
-/D [3695 0 R /XYZ 90 269.082 null]
->> endobj
-3701 0 obj <<
-/D [3695 0 R /XYZ 90 252.573 null]
->> endobj
-3378 0 obj <<
-/D [3695 0 R /XYZ 90 77.486 null]
->> endobj
-3694 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3707 0 obj <<
-/Length 1561      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����f5CR����Т-�m]�x�CV��8¬�$9N��w(�
��-
0�O"%��\����8�y=y��\����'�p�7��
�<���jJ��}\�u\���U�~�ӻ��w�K�m�r9�sB�v���T�:�\}�N ��:��r�բ�aԅ�ֹ��<�Gu!R��C.�|6'�i���/C���+X���`��6�~cV
dKf6
ʇ,L�8��]�M�,?XD
-��lE~g	�yT6+�fO�(02�뙟���������m����:����yzoٔ�8��
�vm�b�}N=����
��q~���[,�|F�4��
�y�N����()gs���w�q��L_�>Uk��*�X��ڢC&=��i䰾
��ͪ�(�FI�Ѭ�b`;W`��(��K�ïEh�,o�A�8��trG:vQ���o7i�Hf5�r����e�&�
<+q`r�:�\�;'`עC�j]P�F�E1�"�4kPU�M���>�.Ԛ 0�I��R'.G����N�8�H�x`N{.��0P�C
B[�����*5�����3:��'�x#��]]^ޯ�L��iv{]�e�XDɌ�靿����ovqhr�?8���
��3ʧ�:_�K�@j����.�T����]�'�EHIyv5�y
� �
p�<J�i�AT��!� ���+
-�d
AZ�_|����
���� �����v��|( <浕(���@aQF!��<���]�t�l���,Gd��� �o�y�� �tی���9 �]�-2�p�:���9�E\	�>q5B$��U
-q&��
�G���ۜ 1
-ɫ�S��'�w|�g!��j@&u�Ŋ�Dc��7j�� ��?d��6���u��?�w��$��:��8�1�q[��A�g�V��A�oͨo��[S�J����s֔x�s.��M��_!Pg5�@�
F�d�.@�#0
›*Iv�R�Q�5fW�~c�K
�}�ݎ"�\��$�Zf�߃��a[Fɦ����7l�@���g��4͎ �H�Q�id�idNc�9��ad
-�[��f�X�O�� �qT���J!@�۴�دsk��u�� ���	�	��7�C�ʲ����t�l����Na0Eػ;��;�ɡ�4!�DwG�֨�����q)W���z��u��~���w,�����D��CDԘ�a�Q0,�!�m�������bB���q
Ni}9�^@
��P(\#��\H��f���Z���� [y��um��_|���RU_��S��%R]{���[c�B��ڜ�<��_kJ��l��B�r�((C0���ޚQ5���6
�nl��j�y��T���On-����]?��x�~���<�
U�
_
�K4̈́_
nڒ
��Cx=I�G?������	�ֻl�$Ik���
m/Z�R��S�Fd��*�C���}�Uxu{�/T�!FL"�Q���0�i��6�c�5��	
�g�Okg��';�]��iQP+�1�R�������˰Uc�N3�~R9���:�m�ߖe������h]�]e9�ʋ,�^<N�� ��[��Q�6MX����r(� �
`�.�
-endstream
-endobj
-3706 0 obj <<
-/Type /Page
-/Contents 3707 0 R
-/Resources 3705 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3665 0 R
-/Annots [ 3702 0 R 3704 0 R ]
->> endobj
-3702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 188.199 212.124 199.103]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3708 0 obj <<
-/D [3706 0 R /XYZ 89 770.89 null]
->> endobj
-3709 0 obj <<
-/D [3706 0 R /XYZ 90 721.073 null]
->> endobj
-3379 0 obj <<
-/D [3706 0 R /XYZ 90 553.02 null]
->> endobj
-3710 0 obj <<
-/D [3706 0 R /XYZ 90 537.206 null]
->> endobj
-3380 0 obj <<
-/D [3706 0 R /XYZ 90 276.811 null]
->> endobj
-3711 0 obj <<
-/D [3706 0 R /XYZ 90 260.997 null]
->> endobj
-3381 0 obj <<
-/D [3706 0 R /XYZ 90 77.486 null]
->> endobj
-3705 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3716 0 obj <<
-/Length 1540      
-/Filter /FlateDecode
->>
-stream
-x��Ym��F�ί��Heo_��(��TI���҄��%B��Ʀ�	��Y�_0����4��	یgg��yfv��[{/O'���{�����ؓ\#��»�	F|8"c���`?�V����b?��f���_�Yfw����������sBv4�  u
�+>q"�Ea������BA72?ޣ��Z��8���
-�O���f���¸'o̍ɆD�&��#M��	�V���d�������@Ry�����������ۖB+�S���v�� �N5�"����-j]W ��1�$������$�t�܃f�%��\�m��h�t>4�F���� Oga�l�p4ˌǛd�&y��Qb��#1���C
���c�K9�"�l҄Y�b�Oߚ��w�A�Z�ڠ�1��>�$""��`5R��R)Jj��(���|p��v+8"R���F�"�u���j�)�M|M�bY����rv[%����?����,z�1��E�&�;.�KI�7�H�
cCD��'�*��GZ5
�(��H�&�ۨX:2����b�i�Vy��Qq֕�:�W�-��Ir�&�1�b�qp��Q
i�X��p�0�U��$Jn;CNAI)̺9�o�*s��C��K hm�eP'�{y8C%�
F!
�+ߨ*X�0���VM7�B�n�X�.�;/u����&̓eE�y]]e
EG�l�X��
+�m��jV��Թ [...]
�H[D�tH��-��~�WuP��2%�e#�n��Qh��@@�,�*M�G.`�Ӏ��!!������fB�箘���[Lܢ
���#�=�A<���u�V�Ӄ�


���A�c��c3����	�NtlM�aǶ:<�a$�<ѱwV�
��"���;J,
A^@BN
���5�{�v��K����F�GXJ�Y�=g8��Bҥ3
�T�iG
�B�� z��
2uͶ�l��
	h�
Q\kE�,�F�<��
MG
t+p��P,�`i�
-~xg!Uc�l,D�w|oga�j�W��
���@��P�4N	�L�}4��7
��o��k�Mg�&Y<��!+i�b��O4��
� �����Uî�
-�
�V^T����z3��{�{LU���d|
T��#w�B�o|?ߓ����I�o�m���>h����\��+!?{d?��it35��y�9�� j�~��'9_�$}~��=�a��7���}6��Q��(av�%�]!�X]b�����D�K�z��5��:X��=��)b�$���>W��.�L�eo�#v��=_}8�Y?���Yds�ڗ��
|�\M!��6�M�*#;Xɂnބq޷
6o����厷1)Eu&���[�lk����$P����T~sK�%	#����%�)os���֛�-�m�\�m�a���ɾ
-�W��[�l¸��Vl�	#HVji�F����>�s����W�
Jl[{����M]-�b=���n�h�#�"�����:�:̠
-��Qr�fΰU�5��pU~�8��
�"�
-endstream
-endobj
-3715 0 obj <<
-/Type /Page
-/Contents 3716 0 R
-/Resources 3714 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3703 0 R 3712 0 R 3713 0 R ]
->> endobj
-3703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 653.593 210.103 664.497]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-3712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 551.431 483.212 582.4]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3717 0 obj <<
-/D [3715 0 R /XYZ 89 770.89 null]
->> endobj
-3718 0 obj <<
-/D [3715 0 R /XYZ 90 721.073 null]
->> endobj
-3436 0 obj <<
-/D [3715 0 R /XYZ 90 531.061 null]
->> endobj
-3719 0 obj <<
-/D [3715 0 R /XYZ 90 514.313 null]
->> endobj
-3437 0 obj <<
-/D [3715 0 R /XYZ 90 381.852 null]
->> endobj
-3720 0 obj <<
-/D [3715 0 R /XYZ 90 365.104 null]
->> endobj
-3438 0 obj <<
-/D [3715 0 R /XYZ 90 234.645 null]
->> endobj
-3721 0 obj <<
-/D [3715 0 R /XYZ 90 217.898 null]
->> endobj
-3439 0 obj <<
-/D [3715 0 R /XYZ 90 77.486 null]
->> endobj
-3714 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3729 0 obj <<
-/Length 1829      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f3Ë(��X��X�u���%+
Ŧca��Jr.��;u�#9N�a�ЧD2u��\��
	{W
�^�Mg/�R
���S��B<���w1$�
}���X Q<U�~������;���|:�8 ���5����|3�����~�aĔ�n�Eϧ
���w��� B!%�|���1�s�ٮ�\
g/`U󤄅�U`��+
��1���V��F�ƌ��O��
&���M��a�)*��#��I��6ߚ�0݄��#
-��w+�H����2
ӻ��Yr۱)	0�D
:H�k
�n�c�(���N�y��[del2YD˥NGDu<׳0ˢ�x4�
��
ϓ8��e~*����?
���?�z��p~U��{KD���lV
�t��ⷭ$)�V]D�:�����ˡ����>E���?�ˬ���>{�0����J���d��|e
�� ��4����9�|15���e�v,�#��G	�E�
 )�^l
+
�f*H����(����R
v��)�8���m
A�:�6&�RE"��1�K�/&�(
�xx
���,L�v
�{`
�
-pב����8��,����-, ���%�´�"8x�
G�<�l�<�\k�QScJ�x�`�>S.�����Ƀ<^3�e��?���O�ᒋGsx�{���l�E��
8;׷��\Rp�?�rz
�3̑��
2'���
-�:M-��8,�4[�U�u��r�]P6Z��m�3�^C�->� ��CÃi�v� �!5IpEj
�&�W ��y��ѱ�C:B
�T���]���!Y��Lw�cA�T������X/��K�M-���"��څYKn�fpB�v{�� ���Q�4 �ݟ(g�DjF�9�3�ߔ3T��)��)LP
�����	�&�<t�15r!���G�񞜅KCc��E��ʸ�Y�z?R���n�@dkC�a��+��%P��Y
-���5D���o�v&ʲ���O�:���[�^��:6�@J�ٵ �t
A�2՞'�8�<�R��i��dR �YD�i�
%T�'\�8�Dq�']�8G�F��P	�\Ϡ[F[k�Fz�$����	Z@�
-4h����
���Г@R���ի�LXLa6�-<��{�l~�Te����w��ǺkU[��R���&�n���\\�C8��1�Q��{����u>B���
GY�@+��u�G�oMӓ�*k�����
{��$h#�~�>M|���r�g
�7�Rh=�w[�K�e0�ţz �9uҧ�.+M�v�	z�"��{����V��M���U�ّD/����
e\"�˩�n��NC��}z�414=i��U���?����"��������p��An&���!�u�\!
ehj{�b�e�r�u�΂��܁?��"(�l}�m���6֥R�A.�,n�
-m���������w#�L�
b#�즧���
�$b�T��̴�|�2��L��!qX��M�ɚ���$\6Sd�\@�ݼa�x#Nʴ
+������w�:�@��e'��rx�
��)9�v��ʝ ����
�����{�Qv��0!�&�o��8b� �i��f���	�?M��>i� ��}��2L
3L��39�=Kp'�%�:n� �F	�B�=M��iB��:85�j� U;O�a���	r�0
-
�%H���D{�Y�/*�)��e���%X�,��]��;��|�=
����U�	�f��^g����AyY)��,��^�������R�	�]Ն�B�6�`����!���&b���t���xy�?
-g�@K�X�	z��������
�ghG�E��v�>��4����Ȳjd6IZ�慛����� ��5 at H
-endstream
-endobj
-3728 0 obj <<
-/Type /Page
-/Contents 3729 0 R
-/Resources 3727 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3723 0 R 3724 0 R 3725 0 R 3726 0 R ]
->> endobj
-3723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 510.202 293.971 521.106]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-3724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 342.622 238.02 353.525]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 86.288 246.767 97.192]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-3726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3730 0 obj <<
-/D [3728 0 R /XYZ 89 770.89 null]
->> endobj
-3731 0 obj <<
-/D [3728 0 R /XYZ 90 721.073 null]
->> endobj
-3440 0 obj <<
-/D [3728 0 R /XYZ 90 598.259 null]
->> endobj
-3732 0 obj <<
-/D [3728 0 R /XYZ 90 582.908 null]
->> endobj
-3441 0 obj <<
-/D [3728 0 R /XYZ 90 442.634 null]
->> endobj
-3733 0 obj <<
-/D [3728 0 R /XYZ 90 427.282 null]
->> endobj
-3442 0 obj <<
-/D [3728 0 R /XYZ 90 186.301 null]
->> endobj
-3734 0 obj <<
-/D [3728 0 R /XYZ 90 170.949 null]
->> endobj
-3727 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3740 0 obj <<
-/Length 1793      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����&ûHo+���6�KZ�-��lٓ���ߡHɢ,;IlE�'Iyn<�;狃�� �����N^$8�HK*��y�q�p����Yp�x�q�:"8L�U:y
Q
��7�lV��W�y��7��������˓�t$)A
}����O)(���N�
H���{�
�t���2�n��
-
�F���j�L�̮���Yf��4*$\��秣F���h��`��}��
�_1���z�*��s�
�9�.��`��F
I��5�E6]eUVnk3�� 
��V����ĂY1Wi�=y!��J��t�qQ���|�V��}^/���-5�ӹ��
cZ��,""��)��6_v-w��^�o�����ُ=�|wbg\LR�X3�z�!� m؞C��*+�j]�����.�b��j-�V�,+֫���
1X$H$|�����3ٮ���7|�Kw���
HQ�;ͫE�u^����&���i  ���;^*ljDTA(�@�I���Ym�=����"��l<΋��M�2�M�ҹp$�Z �I�rm����p��|� �vN at a3���']j��V�Io#�Sj����*
F��MV��9AJ��3���
KD�ҁ
���j�U�|{��2���r��ɧ؜	bF)bJ������t�ڤU��E����'
)�F�AT�
h2�ЀG�v��:0٤ӦbC�z4��
�Eo�C��(h=1/��(�i��!&]���
���l��X�L ��
�n6Y�"����5얆�i�ތ�u>�2?��c�CrK��h
�=���D2?�
�j���Y�e s���|�^�PaQ#�;3@��HX�<��%p��MZ�����X2	�\0������|�
�
W���2[noV¡@	�K��V�2�f�$Me��{�YZN��1�M���2Es�ve�å��ҵ����:��;��'U���v<��X��k(��L����  �Y
�?7�x7c�H'��c�<�F���ܾij�YI�$z�._
W�
�Y^,!� #6)Tg�A����_�F.
-oR�)k�8G�!�
Fn���z� ���� d
-Su������¸�ɦU �\d������p���_G�la����8T
��כ���P2;˯"!æ�	
L�0�
-[(0H�Gx �`����.��'.d
��(G���d�
�
)Á"$Z
�
�V�uX����J��+�]
H<��g�)�i84g���4׋�
�c੢z�*;����ߎ��mھo�Ԏ�0|��4����$L"���z&03�K���s)�h�͹_���p�e6w���L�6L�� ��#~I
2���C�h?��b�=�������4����Hȿ*NIt�sJ�`<2Ϫ��<2��#�f=2o�Gf�O9͚O9�s
�4+��Q;�i	��A�nӾ?
�0��Hi��G��BY�>
M
Y���B
'kFpM<2z��&
avO"��
�(��3�(��0Q�aޢ��#�Z�(�1Q��LT��� \P#L��E�R�#\-��A�L(p,�P&0���-
uQ�';NG�Fov6
��d�JG)J'������� 06��H�1B��� %J�`�E�����]	�����Qj�z2(��1OI���o�>Rϯ�z�o�z�G�y�z��;@ �Ao��԰J;��QԪ����f�u���k?��k?��f����ò?�������ʈ�h� � j}�1�o���Y�����G5�u��J�-*,�j3>9���F�-�,�M���d�Y��'NG
-�(i�̛�_�K�~^�⪮Ƚ��
�鞔
-endstream
-endobj
-3739 0 obj <<
-/Type /Page
-/Contents 3740 0 R
-/Resources 3738 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3735 0 R 3736 0 R 3737 0 R ]
->> endobj
-3735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 482.873 431.977 495.791]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 192.396 476.603 204.035]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3741 0 obj <<
-/D [3739 0 R /XYZ 89 770.89 null]
->> endobj
-3443 0 obj <<
-/D [3739 0 R /XYZ 90 595.146 null]
->> endobj
-3742 0 obj <<
-/D [3739 0 R /XYZ 90 580.611 null]
->> endobj
-3444 0 obj <<
-/D [3739 0 R /XYZ 90 303.391 null]
->> endobj
-3743 0 obj <<
-/D [3739 0 R /XYZ 90 288.856 null]
->> endobj
-3738 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3750 0 obj <<
-/Length 1900      
-/Filter /FlateDecode
->>
-stream
-x��[o�6���+�����*��V`-�b]�u�ח�0[��ٲ'+I�_�CQ7�Tb,�6`y�:7��'�8�
p�j�|:8y)q��iL��Ɓ��>-��!x�q�:`�BD�pU���_�NO�N��o�������p@� ��
-���G
,���FL��X�	8e���pi
�Ii�1$�bm
8�4�wy�M��	]!'/	n� 
-I�tL�+Q����I��8
^G�d1��˫M��ē����4��0]e�Ût4�������+ Lԁ[��v��Q���ZGz����do�~�A
�#C��_��0R]
��4P���բ(]�5�N��՚�1f>��V��|���W����EQ��ލ��3JSv�����t���<�X�eT��y��u^2�T
����;F��vt��t��7�}��y��6�4`�
�(T�h����#�J!�$
S�R@!�iY��b��r
�x�[Gyl�.$X�kS�󨐐��巻8�6
F������P !k��<"�>Me�3#�LV�;�)�6��݈����U�Ȣٛ�"��������G)	1�A�别�o��j�d���{�U	�L.�4Πe|��i,a�iϒMtY�
�$x�)��$i
e�SS�D
�}�R|�Ui�Ӭ(���-c���
���:�����}
;�gg�����'\1Dd��Y���n<�t	Q�x[��Re��6Z;��
�~GA�v"�;��My	RI�$�h]<�I�S>z�
& dL�1 s�
~ K/S���[O�sh�J>F��0Z�b���
x�m3��QZ�Q_��M����,���y^G����r�ɞ]�#���Ap
�a�����C[�`������yC�d� �	
B�G��w�(�ȫBŞ��nd깵
-�H(�'v�rS�� ��hA�P���8}��3_we�E3^
�n
-r �P�μ+Ǒ�xS�N%[���F㢈8|���da!h}U��RM�A�=r�1�G���
ͷ��l�0$�8;
��S
��xs�E�h��
�:^�}ge8Ɔ)Y��v2фmD�Z�mK�v4�F�K�c"��>KE���][y��R����0)D%9T�\�
������
���FsR��x ��C�64�M
�3$��Uϻd�p�!���S�TM
��C��{xu#��@���I���7�
Ų�M��~���7Kƪ�AR;�c��O~�����b��`gq�I����=xd�CH*7�Ҥ��HE��K����&k=axhҦZ� ��׫�a�Ϛ!4s����	&4�	�ibq'k��5���YG�&F
-��Y3<�5�/šL���*�a�S?s�u��5��
����zb�'�|bM�59~b�/ʚ�a͋�U��=ה� �#
�7K"�^>���>x@Z�Mw\�t'��N�ҝ�VGd}1kN?
�
"��Wqy=�j7h}֨
k4�
����7��2F��m\~�@
��Y���ɤ0qf�/c�������bΛ
�@�9���ǻc�ʕtcb�\&��m��h������1�B����j�>�՚=N���y�E(PZ���{���ǀ�j)D������U�ׄ�N���e��՝��z���6,+s�Z�*���f
Pb���t��;+��sz�-s��������8�:`��m�=c�g�-e�$�O�T��>
-1�J`$�R�%�����H at T3�-CB)��ý+n�ƭU�ֶ;04�=���e��<�]PH=l48�E �H����ā��1��P�E��
pq��/��M
�/��<'RD�j(4�gB��3�j�{�����Ӊb�������Ò�~�ҫ���2}�ڈ����1�$��Q"CxxWEl��#���4(H�%�i��<�MNNnnn�|���d��$?���'�xےB8j�xY
�o�Y�~�—��3
l�_:�jU
-endstream
-endobj
-3749 0 obj <<
-/Type /Page
-/Contents 3750 0 R
-/Resources 3748 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3744 0 R 3745 0 R 3746 0 R 3747 0 R ]
->> endobj
-3744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 572.559 429.297 585.038]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 336.283 440.282 348.762]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-3746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 86.774 422.924 101.489]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3751 0 obj <<
-/D [3749 0 R /XYZ 89 770.89 null]
->> endobj
-3445 0 obj <<
-/D [3749 0 R /XYZ 90 671.412 null]
->> endobj
-3752 0 obj <<
-/D [3749 0 R /XYZ 90 657.063 null]
->> endobj
-3446 0 obj <<
-/D [3749 0 R /XYZ 90 435.136 null]
->> endobj
-3753 0 obj <<
-/D [3749 0 R /XYZ 90 420.788 null]
->> endobj
-3447 0 obj <<
-/D [3749 0 R /XYZ 90 198.86 null]
->> endobj
-3754 0 obj <<
-/D [3749 0 R /XYZ 90 184.512 null]
->> endobj
-3748 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3760 0 obj <<
-/Length 1739      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W𩕀r�W���� 	��@��yI��V6Q�d)*�����pŕ)٩��
�$^�s�3gl
�G8z>z|::y��H"��$:]FG)�H$p��ލ	F|���Մ�qެ�٫	��ju}�M>{Y�5ys=�>��&�O_�<#���$	��`�(���F��?��
�BA{�G�0�I<Y��$��O'��պ^孲O^��j&$�r�$٘�������P�#b�!P�E����{
-��#&����#N���7��F�%Lp&�@R�! i�u��תU�Ƹ��ҁ�h3���1�b���y|{�L$�'4�]�N/\2>L� �E~�rO��R��7g���������i�4
-R[T��{�C�cg��Jb�X���U}�m&�L�
���Z5y[5��Z����ʽ?���(�Š&D�����
�s�FB�c�;D5�ɶ�?O֝�

UV�4�
�D�H�<���<��몄+���@�Zvm�Y�T���\��.p}�
�H���a��;U
�@L��!&I!��i�K��s�E��'�E{a�jiN�v����j��Nt�h/a���9F	M��JD�Ԛz5Wuk���#/wl��tZ�>�b1�‘�Ih�
46��$��b鰕���:y��d�I��'e
������+�JW��
�Q�=�aÞ	�ϟ���
���w!ߜ�N�
VIP�YO%�n�f4� ����$�
�	�
%���^��4A
��k�E��

%
�`֣t���$�!�d�B7���l��_*G�k���l�|��G���!0����2y0'䶜0$�B#��E���=eA
q�xK�����"AɎQ�0�wZ{]����y��$���BT$@AW�,U��:�5��H���%��(�t�(53��֏��w�tj�Y�,-(�jK��u~nz'1��fb
հ�C��S՛��k�@���w�X�)�����ˢTy3{z�\�t�����	G��a�	�2H�䃆��'dy��ao$�:f�p:àN��L*�O*e�?/` ��&/��tj\�Y�}�;�
���q>pA8z>?v�xp>Vy��9�n.
�dU*�o�z���� �̀�z�xW�+���D��9�y�9C�9���\s��q[
`Hs���n�y\Y�R�(��`9
�	|ǂ��a��z��yk]�,�l\(G$�6Ԝ�����Q����o���(��6�}j% �,3�KS�y	�s.�3����%��9�g.��{fͽ�L<��8S ��fB
��bv��k\ϚW� �
8/a�(���y�@��B�$ٍ��	�'�!�G����U�F�{R;�����jR�E�D���ۡBd(�_$AD
-�B��S�� 
-���M9G&e������@?��뾻:��������W��Ӈ]�����î���?��yW������[h���z�f�Y}l�؁��h<>�<�]�}��
/��y��
�b���.�#�AJӃ��f��#G4c�bw
`�3@S?�::��g�z�q|����m�`��g��T�
	�>��bj�!N&(Kӽ��T�l0�.ԞQnv�����ό��(��O�TG�
�{�x"�8�U�v������l��r
-*`i ��W�sj�v�
X�[������j��1v��׼�v�Sc��
-V??Z������P�7�;F6�?��ꗑ�mo��Rİ��E��ӓ���K4ߠmY�
*ړ�^��쟞��bˎm���E	�f�� m���
-endstream
-endobj
-3759 0 obj <<
-/Type /Page
-/Contents 3760 0 R
-/Resources 3758 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3755 0 R 3756 0 R 3757 0 R ]
->> endobj
-3755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 433.936 425.662 448.652]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 139.111 322.446 150.015]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-3757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3761 0 obj <<
-/D [3759 0 R /XYZ 89 770.89 null]
->> endobj
-3495 0 obj <<
-/D [3759 0 R /XYZ 90 552.594 null]
->> endobj
-3762 0 obj <<
-/D [3759 0 R /XYZ 90 532.733 null]
->> endobj
-3496 0 obj <<
-/D [3759 0 R /XYZ 90 232.579 null]
->> endobj
-3763 0 obj <<
-/D [3759 0 R /XYZ 90 212.718 null]
->> endobj
-3497 0 obj <<
-/D [3759 0 R /XYZ 90 77.486 null]
->> endobj
-3758 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3772 0 obj <<
-/Length 2223      
-/Filter /FlateDecode
->>
-stream
-x��YYo��~ׯ�S2,[}�yI���]x�YM�,�ƀ�4Lf�\
�ߧ��9=0,�Od�����"��=�}�juq�]��%!
�՝�`/
-�Ceާ�t�y�����$���������oW7j������
K�#� GQ�m��>c/��<�X{�i���s��\��?�
!��
-Fb(`K�`��ؗ������`��e
�1�7�cB;B f��y*E����g$Y�Y}p�
9�QO���_B�n�Ò��3C���>]�_R��=mEV����*����^�Gǡ$Ĉ��9A�^ܼ�4�(
-���	�eP��
���C��봮��b��8Z��9�Ȣn���2� V���D��z:^���'��
ш���U�'B���|��y��d[d"[�)q/��j
����ċ<k��&t���B|8L��X�0��X���QV�	Q��I�\NV"��[9Xa(��D����u��7��T�穜#�V.
�(��  
���N��k�Z�yѬo�j�BC\zl�	b����tq�8�ݦr�4����{G%{;⃔�A��$�G؆�/�BY��\lA 
Y��FB��y�n����r�9I�I�rFI�VA
�X��r�b�g�2;Mو�}6/��!��t�{r����9PI8Ȫ2���#%s��Ŵ��)/vy!>��aRFuos�/�C
- 9F"�P��� D��4>���%`���ɧ
R�b�z�K����((XOd�^���t�X�-�_�G��4��(��&�̤�A�}@N��3�!�4���8P�yi�"���v8���GX(E��ia�K����
���Ò�n���?���j#+0�R�M�6��p������ue������lۊ���F!�&`f!=��Ӄ[�&���3�l ����, �`3�_G|+�?��S��(���W��F����jb�9��� ��8�M���1�~��*�
r��z��y6�s2�f'��m�o��^���Q{���1>�Nŏ��6�Nr�

����3�ZO�N�h����
-�[�>��h�,"�R*�+3��U��n����k] �_P�|܊����Bb
05`�yC:�;�nr�"�B�}�K2
��u�Wzb��&{0Cs$V�
jRN��̊R�Z�IYj��I�H��_߷ie�rV�	*�t�]������k��4S�c����,Eu'��ұ�a|�*��%����J���p��(֥J����P��(Y�`8����l?L�̼d�������Ԅg�u�
���ɕ=@a.�bX�9֞WBe�B�E73vH3cT��A0
-nQ�ۇ�6����[���ya��Va��:%?��٤
-&��N?���o`4����f�m��=�Μ�B���A/�t��A�NEj��x� `m&��Qcτj��*��{��JX��Lx	3:
/�*�Q�B�ԝ����>I�]e��q'��lB��
�e��]W�)
�-}�E{^�drx����=���j���QE5�#>-t����L�k�1�7�lt���*7�_�dWW`����.��iu�� ���e��2�\�-�;����葓�7
:����(�LFѐ�}���ت��kƳ՛,씩��sڊ�U�Q_��+;	���$�W�T;v�9AA
�d�$ǽ��i��f�V�^�����Y���P
Et�%
���������r]˽XC��m�J�u6l�����(�w��]]
J9
-Yr�}q��B`8>�����_���~~����Y�� Cy��:�&E���m�٘�1�?�ɤ�1��:~���F�å"��_�Rτ���o��Y%mu�/�roohc�u���Gwč�\z����3	� �nӄ�,�T�D9?�(���|��:q%%�)nG�f�a������
-��[����z6 ���T�V6����H���E�[�VTbZ&��-!K�d� ����7�>�4���E��E�t:14JB�Yx�?'��.��(g
�������s����3+�8ALu�tV�&�gR8y�Ia�c�:I!
-&��"�������h�
�/��ē�KҐOC���5չl����������uP�hy��d/�C������]����Hk
>����*�(����b�К����_��/l��9-�.+Ӱ-��v�HKHy^܈.t���uo?^�H3b:�$�{��MS^]^
��Q[�e���,w���xD�*�X"���tL��Z8����J�
��
-endstream
-endobj
-3771 0 obj <<
-/Type /Page
-/Contents 3772 0 R
-/Resources 3770 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3722 0 R
-/Annots [ 3764 0 R 3765 0 R 3766 0 R 3767 0 R 3768 0 R 3769 0 R ]
->> endobj
-3764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 618.163 116.998 629.067]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-3765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 575.679 206.372 604.745]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.398 426.682 406.998 437.675]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.57 411.228 393.17 422.222]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 366.841 483.212 397.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3773 0 obj <<
-/D [3771 0 R /XYZ 89 770.89 null]
->> endobj
-3774 0 obj <<
-/D [3771 0 R /XYZ 90 721.073 null]
->> endobj
-3498 0 obj <<
-/D [3771 0 R /XYZ 90 347.76 null]
->> endobj
-3775 0 obj <<
-/D [3771 0 R /XYZ 90 333.409 null]
->> endobj
-3499 0 obj <<
-/D [3771 0 R /XYZ 90 155.564 null]
->> endobj
-3776 0 obj <<
-/D [3771 0 R /XYZ 90 141.213 null]
->> endobj
-3770 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3784 0 obj <<
-/Length 2016      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~���Sg5ËHI�6�ͺ�����
��`l�&K�$�ͿߡH��Hv�e�0��M���>{+{ߌ^�F_؋P$��f�^������ޏ	F�dJ0���	�c�o��zB�8K��j�����M.��˗٧ɇٷ_ҒH� q>�W	��l�

-��z���/=R(l���/����JdQL����lѱ�lY*��U���c�.`)"<
δ�ѫ���1�#�
��،������0bQ��Mϧ
>����n;������J��(��
-�q�֥J
c�k~`ܙ�;���N[�|���)ױ�Q�
-�ZЍ=y�g�m����F��m�eaV�q�6�i�Na]M�����"��e��w����~S�����
+xo��83�z�Z���A�F�E���f�Ҩ1+�
�E�:�>ʼ�p�"���*�.L)4�|$��Mi�|8�Dʤ�ܨR���1P �T
Q�#0)D�Ӯr�u������y���[���}��b���`ܯ]�V�������X�$����1mE���y��?Z��B�K�<tZ�کU}JD�B��Oqyw�h�4��99[ۃ7�S����OK�&WҪ���|�ưne��r���ڳ+�k�
��� �o2����b{��tM���{n-�
9���ԖՆ�v�YQ���+̓����S6*�mOP͕	����4QQg��
q�Nj7�ͯ��p���__�~�2$Bѩ�C�0BL�݇�f� �|aK�����ƈ
�
�yU����Je�Ä?0I��NL42��c��#������
�T�nx�R]��׷=�|
-��S�e��b�N+�c%�	�?\�l�����~H �&����7q���t��04Z^�j	��%+�d���Xu�d��O�=�>����_�<�_W{Բ��ĝr
ip
�y^�����,L�G���رt��W� +�z��>�9G�?G��^3��uϺ�y,6d�qDp‰<�N�C��3���
-�|/U
-�bH1^�.r X
/`$��uf>��C�S����c�z��VCk'?��c�{���.�*�<� @H3�� ����`��l�@v��
'�o'
��;Aب�I��+�5�z�I��=�cJ�a
-E����U0�.��:�G�)���4����K�.�ЃuW6`t�0�f	��҅��y�
:��.�:p�n�Q�^�h�o
��&���GβO��
9��f��
��a��8���	�|GF`h�[,���c�%Kky�M#��4�슲υJ�.	��A�2��j�Y_CLЧ��1�r�ġ�"�E�
�Y
-��v�
�rj��� '�
-Vl�*3�(�ֺqU�m�a�/J��U��a5�mn�Dߔ�I=8��8i����Zl�
�(�M<`M#}��_���H6��
+�����%\W�	k)�S�K�HG�b���n��
G�xt��է���pf�D��E��������@:�s��v@�ʣ�OJ�g:$��m�1����H���UĢ�X��\֒] к��2���,T���g�%�9
��!����}���r���Gj73��ǁ��#$T{/T&0ߏ�)��� �$8�t
 ��'%���a6Dp`pQz�nC�6�mb�
 6����G���~zGr@NȆN=����
���
Z��;�t��$�iZ\�S�!0Hm�\q܀�$����f5�?��� ���j�
��A�wD_
p{@�܁��s�d
=Zp"���v,���0�#�������MZ�sH
{�B��,���<���{=b𾄠��
<u͢qb��m]��YS�9�ê�+�i��ԥGu~�j�4H�"Ě�=G�,��n�S�V?��u?�S
:�c��l�X�!�&� ��l��k:���9t�v��M3
�H���4�f�Q�B{� [...]
-����s��Wp),n���{��
��
-endstream
-endobj
-3783 0 obj <<
-/Type /Page
-/Contents 3784 0 R
-/Resources 3782 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3777 0 R 3778 0 R 3779 0 R 3781 0 R ]
->> endobj
-3777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 462.699 340.17 473.603]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 388.064 268.34 398.968]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 215.537 340.17 226.441]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3785 0 obj <<
-/D [3783 0 R /XYZ 89 770.89 null]
->> endobj
-3500 0 obj <<
-/D [3783 0 R /XYZ 90 577.009 null]
->> endobj
-3786 0 obj <<
-/D [3783 0 R /XYZ 90 559.705 null]
->> endobj
-3501 0 obj <<
-/D [3783 0 R /XYZ 90 329.848 null]
->> endobj
-3787 0 obj <<
-/D [3783 0 R /XYZ 90 312.544 null]
->> endobj
-3502 0 obj <<
-/D [3783 0 R /XYZ 90 77.486 null]
->> endobj
-3782 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3795 0 obj <<
-/Length 2327      
-/Filter /FlateDecode
->>
-stream
-x��Yے۸}�W�ɑ�,
@ 9�I��xwg�x����Kő0
�J�LR���sp��2Τ򒇩!A���8�}���z?���FW?F�KH"|��zQ�.��>�'�g�x��	K~�����a����V}�����>Q��D��X�>}��ÿx�I����������G�.�Ƭ*��$ a<�2J鸖��*�����G��~cb4��`f8�#3�	�~#�t-'Ӏ%�ٿD
-NxԊ�ӀH��Q3�ۄ�q�-�̏�--�������j� �e:�kvW�����m�8�(�p�2D���˰�S?�I$|o
-w&��A�%n�]_��uV���ݻH��c]��.ϊ|�VU�%�u~8��r�(�V�|<l�O#���ħM�1%
�mC+�A���5S�2Bb�'��LE,��@
S?
-H08�|���i����}pN�>��$!AkŢP!&~gT�@�6W>�K3
�4Fx�пQ
��0�[�o����?6BBG��Jt@�s�NΆ��u��n§,_e��lfr�7�	�›����o֛��0�⌏eg�H	�<��ڮj�\�wU�2y��b�?~y����T��H��1IJ͌`a���������OWUa�d~_��,��,^TV�E
�u�['�=���`���5,D��0�R�ϐƄb��ϴ���@�Zy��_��F<l
-�%�n|
-;�G�vZv�sl	��S3��GH�vq�~��)�$ �@�����$^˲r~�I9H1�(�0嬠�
z�pTLHHy���;�:�3�}��M	�m*Yo�z�v��ֆԝu>pR%�.5(q�/ �b�?�}�oS&P&�?"��z�<�8�M�\U/K�凱��m��_�n� v�-e�2l�9S�fƔ�����B���F�?�(6*�*|Xh�F��V�����p=�m�z��Yz���{U���l��h�]�����R�$��l�	���U,ȼ2�Uq6Jp-�Y�bd� 5�`"C,��a�_�٬�F~.}6�o����ٸV��T��K�Jm����!Ͼn���3 at H� �rR��Dž�����O�
Y���kZǦ�l9O�/۵��i����
pbKvj��p�
e�����KE��! �
��H�{�|9 �����\
��ٙBۗ\WaC�Y�*&�Ai��)]��K���k�\Y��)�CLc�
"�d��I����\�'���w� Sc 
�#I�F$�/6"��5" �Qt�Q'�v�w����q8�&gUk��>Wik~s? 
{G;���Y3o���Rn�J�G��%�&Q����H+��i����o
�
mi���5 at 3
v
����L���j+�O^��>��Z��,�L}�s����-�C�8��:�F״Fd���M+��ď��
-��[f_=��ض�
�'4|�l��&-�>wg��?Gz`g{Z�g��0��a�����~��B�C�m{r?��=��Xf��p?
IYr�!ϵt�,ǎ3�E�j�B�TF�م�Si#��29��`�
�u�_>9����4�6ͣzVdˎ5�L��l ax��F�
�]�!�v�������_bt�4�zѝ,�>���cw��O}��c�.��n7
-n�-���4գ(��2=�5{��z���^��z'���
���XG(��
�]�Zv3 �@����o
�zK�`�M��
q�.s9�[�A�\#�K�L #�ȳ qGֆ	x(b�:��h�:���l�"7T>�<��>��7�E��t��a;Q�.��>�k�o��O�^X�)re�)T��2�ժ��W!(@��i_���0�j�e��V��
A
e�~��
�)����Gx�
�[�wf�#^8����
�B�e�V-���Vƚc@?��F�
��.eZ
93タD*��
s4V[Ō�x�

{f+��ًmYJ�N�u���q�Iq��O�&9$	 �?8�\�E9	�1����� �ƠKC���?ac�k2_��iȃ������eiN�X��2��y�yIˣ�
R��;��
�
-�}�e��ʥJ;˾���gy4��$q��㹤Оm��ڽ��c�H�p3�1
��
^��������dCB`;mm�[	q�ȓ�!`z�mC
;
5����;��ɛ�ಛ�^�.��j�.�-5�
5l.�w��
-���i�K9�
�ݑ�zxm�.��/�
-(e�Bo��j�� V����X�u��
a{�J�~�>��X-�@苃I�|���^�����W��
-
�	u;�|�ـ-�D[{ �Qw]��`׼Z ��V��Ä��oi�MW
L�Y|Y�d�A��I|��Un��
1���5O�=�)
G�D�Pכ뫫�nG��٦$Y}���)��IQ�c�CV�غh8V�n��:c>ل�U.
-endstream
-endobj
-3794 0 obj <<
-/Type /Page
-/Contents 3795 0 R
-/Resources 3793 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3780 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R ]
->> endobj
-3780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 641.732 276.047 652.636]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 539.588 268.34 550.492]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-3790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.011 357.714 513.996 368.618]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-3791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.806 301.045 144.406 329.987]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3796 0 obj <<
-/D [3794 0 R /XYZ 89 770.89 null]
->> endobj
-3797 0 obj <<
-/D [3794 0 R /XYZ 90 721.073 null]
->> endobj
-3503 0 obj <<
-/D [3794 0 R /XYZ 90 470.79 null]
->> endobj
-3798 0 obj <<
-/D [3794 0 R /XYZ 90 454.515 null]
->> endobj
-3504 0 obj <<
-/D [3794 0 R /XYZ 90 163.441 null]
->> endobj
-3799 0 obj <<
-/D [3794 0 R /XYZ 90 147.166 null]
->> endobj
-3793 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F122 3026 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3805 0 obj <<
-/Length 2555      
-/Filter /FlateDecode
->>
-stream
-x��Z�sܶ�_���7�A� H at i3S7u�i:��J^l��:B:�w��I���Y ?q:���R?HG����b���%qp����WWg�
H$cW���AI�ce���`-�c
�Y
��6�~��8,7��ʪ�����J����������	p$q
�"X�e�gC2Z�
�?�~�p�@�;�o�0a�Q�m���bI9���j�ۤ�23oխ�D��X��$\��s����Wg��`�b��Q"�����G
d0�C��"xh��AD�n�wg�>�ְ����DIH
-I#��l�U���V�)#0
i+P�/�sf�lGO^�����Ɯy����~{�h��[��[U�yYX6��M�
�%�%���`I�Y4d��P
��=�c^p�!�l̝Kެ�Z��u�
�>/��-w#�[��1�y����'�OՆ"/&�
� �M��\_��a����+R�>`L
�Y�f:5��P7��,�nI���[s���]�׫�3�u�*��#1�nu�XAa�<Y���FY�j_�0h�U��[��}�W##�8�,վ�DQ�wˈ��6[Y�4��=��Ĺ�*�LW��F�U�������
}8
���;{�{� ��L�!f�N:ҷ��1�	�~����bb��LF^�����:��H��y�M\�|�X������0���U��j�dHG�GV��`C*�	� s%��cOdH$���7��$�eq����9s!S�p&s��"�
g�~
-p�r@��H�",On�	��.�X�i�;l`�ȹ,Vb<=V8FX at l�(��9��9g
	G�Oa�-=łlb�%M���
H�$���'�(�����w.=��
�#N�ew��cR|���|��=����4��* ��kB����#��9]��Q��4Y���?�
�&'���G�ȒJH�1
��o��E8f�����]�R�}Ծ�(u�kI����F�lGs�
j��8 �Nڭ_N��K �
�&H�.H�ϋ
䌏�
1\�|�"*�1�k��va:�
����L�(���G@�(�h�B|V*K\�ֆ
-Ѝ��۩��0-{߂�USZL�n� ���bI��P�b��.DG,��Ot�s :��
��{�(3�,���B�����L����[
.��p1�s0�㹖��9��A}�+�.;03�
�����b��,�ҧT�+N�/��Jb���F��t���
`@��Àr�e��� y
R8
�C
(�Q
H ������8L YS���
-��d��j�;�,
-l�
-�W�I�.4$=�b)��gG�s@!\v9��@��/�	��m=
	�F~H�����+$�CB���x��WDxt�G!{6"�@�
�w��u~W���
�fxDx
�;�]�c�������D�"�:��^�
Q� %c(�N)
7L�ϤE�z\���S����&������X?o�7@�+u/GK|n@��'Kj�4��$x�-f
�
�_t�2Q��(�������
�n�ic�Via.n,Yy�8��g��8��消�
Gc���A�e�9�y�k c�k��V�����NG��2֊pG�7�S����X�z=x0�K���(x"��1�v�Q5�h�8�z8�m��)�HIo�"%��PɆ��[Ő7�
3�ԠWC��K�`��R��F8Z:D
��^Ψm�2��ޖz~UV �ve�_f@���SES
1���� EO�Pz�CA�
9t�
����Z���P����
p>���o�=���9��+(p�۽E��R�jZ8<��d��K�cr`
����9���䵊�&�5�@<�K
sP
�S+�b��@�>W���$�?�90���g�L�6^ �30 2 ���
E��
őM���� \X[#��/
@J`n��
�C��
æ`ꨞ��碃4R�'��,��/�
����(��t�/�ĵ�?yv	�`l�Z���̗;�ŗ���c�L�~�1
[k�+09D���j2�u�dO*ў�����˸γm�<�����x9C���yy{�t�]O���x|Qgg/�����y"(FDģZ�*c�d
B/���X���6�k�%�O@�D�C[%􀵕���mդ�u�\���T=N��m�ٔm����,�Y�Vuc+V�Jke��|�ٴ
t3�����[	 ��$F_� H@;�ts�ژ��	����A�M^����;�8i
���u��Iw��oLߺ1�Uݗ�/OL��
�v0a{��+R�������T
��Y�j[9�-Y"�\�
��Ҫ�S����Kt�n�ӱ�L�:dr'��l��"���00��������R]/��ն�ҷ
-��kQo�g�5�{�r�N�ioG�R
�x���iU��H��K��P
9mԖz۪��2�Z�j�� ��-�aUM?L��/!���q��
{�gj�gi � �� ���0V�:�W{�
:�2C�cf�S��?.8�v�J
���n�,
@� �
��+cݻ�J�������`PÈ�-*�~��fwyq���V5���Bys��m.��P\H���}�^�n�J�vLnS]���)� �
-endstream
-endobj
-3804 0 obj <<
-/Type /Page
-/Contents 3805 0 R
-/Resources 3803 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3802 0 R ]
->> endobj
-3802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3806 0 obj <<
-/D [3804 0 R /XYZ 89 770.89 null]
->> endobj
-3505 0 obj <<
-/D [3804 0 R /XYZ 90 598.379 null]
->> endobj
-3807 0 obj <<
-/D [3804 0 R /XYZ 90 582.237 null]
->> endobj
-3547 0 obj <<
-/D [3804 0 R /XYZ 90 369.138 null]
->> endobj
-3808 0 obj <<
-/D [3804 0 R /XYZ 90 352.996 null]
->> endobj
-3548 0 obj <<
-/D [3804 0 R /XYZ 237.535 165.495 null]
->> endobj
-3809 0 obj <<
-/D [3804 0 R /XYZ 90 147.197 null]
->> endobj
-3803 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F104 2226 0 R /F72 400 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3815 0 obj <<
-/Length 2058      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W𔕪,

�R9$��;�gsq\*��hS$CR���o� ����k�j/C� �������)����ofw�R���a(
D�B\��6x7'\,�?�0!QV5����o�{xk�f�f�
�X
E2�
f���`
�
-0bJ�f�!)�g���k��.��NR!�� "!�XY�,��e|е.�F����{��b�D,_�sf��
O��s1XC)",j�~��Œr<�tm�;�ژ^>9
~�~�k��XB@�$~L�h#7!��7ue�m��U�g�${����=ۭ��AgU�g�x£/�!_>����[4�n�2�H�"XR�����?mtQ7|��s+����U�-B
 ��v
�OGP����H�
�2_P>?eƪh�48�݃��+B�x��O������$i�����s�g,Pu������L�M~(�:1G،��zo����<�9]��GD�G��[�0XC�Azx7yV�I�����s�9A��
�u��
��p䤌
��'�S��O0
-C<\,����H�Z[�
C&*�n�g��t'�\�
bz�dD�|��#RpģN�7
������)�dke:�8��7

-���ޖ���䱌�������gS"0�$�f�xW��K�(���7`���ժ\9o"[��z�<�u���x��SV�s�}[X�6�إ���u�d��
��$���#��Vh8ā I;�z�d)��{��-����_B KH͂�G�UM���gª�ʸ�,V=�uG�
f��)IS':6a��l�/�GXx����'��P�H�L	$�T��Yw�<�\�� /Fb(+Ԙ|�����'ew���<�
$�I� �5��\Ao力���B*?c��)c��3�ɘ2��v,B�ϕ_�"��v�{�$N���lSw.1�Z
->!�����I�T��l�2����UnѾT�u��$�j��LW�C\x���;���v�Ad8B9c���1�Mt|���#!;�
��h�/1y�ӗ�?��B0vF�qQݨxm�5�`9{S��;���ϫ��z�^X�����S��
�b at M
-�/lY��X��|.�,���y���o��Ko��s�R��� it����x��
�B1
�g
�:w�CG,��T%�n�������ñr��(m��l�D�]��6Ku��}����!
@�
�w[�d<X��{�s N`S$Tk0�~^o�m~�*�d
�x�Sw��-u},��[] F{�/�ڗ��a!
�x	M�<�L�+Lk�>�O�P�*ud~��#�s���9�\��l���vl�/-v�@� �^�����v۷R �&
-�]�%R`QЭ8T��VC����\�b�#���9NBA��]J\9�s����vk����L����3��Q�h��&N�?���wy�[���v�sʅ�s+����.Q�`gi���Zi
-�W�
-.�0�rp������̣[9,��ƙ�=���Y�^`�M
-��f��� h��B6��IC��!��N��f4�����xh��G=mT���Su��gf^ ����dǦdgr���lƒW�9
��~��9B�����ko�Jʝ��@QI׸�l�x�v4R��Æ0}E����z�wW*��]�g
{���*�ND������E�W��ǝO_e(��
5Z�dxG��5���
8�7�WK>
{�\��D�����i)����8�� P.�m�_�
�'�&�S$�J�:  =wj�X�}��W��@<j>:I�
�\(h
�i{l��p!���FYƯ;D��
d���⸣$�}�GX��ݣ�	�w�V>J$/�`?��Q(��
Ҩ������#[�_����Gc�0
os�6�r��� �8mb���.x�]��+f�5׭	P����:ߔ�c��[y�zI�DP��ݳ)�
��
ޣLYQt�Q$6��՞h�!. -���
5��a�!���`6h
B�䤷pM�!v�m�o_]�o_�]��
��Ώ~��c�>
鸺��T�� �Qqou��5�c���٦؁�2B
wt���buww:�ЦB�,)J��wE�ޝ7u)$DQO�m�{h�N����g~8�� 3��
-endstream
-endobj
-3814 0 obj <<
-/Type /Page
-/Contents 3815 0 R
-/Resources 3813 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3800 0 R 3801 0 R 3810 0 R 3811 0 R 3812 0 R ]
->> endobj
-3800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 693.003 206.372 722.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 644.384 483.212 675.353]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 362.798 385.519 373.702]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 239.856 85.237]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-3812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3816 0 obj <<
-/D [3814 0 R /XYZ 89 770.89 null]
->> endobj
-3549 0 obj <<
-/D [3814 0 R /XYZ 90 622.45 null]
->> endobj
-3817 0 obj <<
-/D [3814 0 R /XYZ 90 603.357 null]
->> endobj
-3550 0 obj <<
-/D [3814 0 R /XYZ 90 467.3 null]
->> endobj
-3818 0 obj <<
-/D [3814 0 R /XYZ 90 448.207 null]
->> endobj
-3551 0 obj <<
-/D [3814 0 R /XYZ 244.439 77.486 null]
->> endobj
-3813 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3827 0 obj <<
-/Length 2204      
-/Filter /FlateDecode
->>
-stream
-x��Z[��~�_���Fk�9)
-4E�H����l�ƖgԵ%G�3����"u�LIvf�!�B
�ܿ�

<8���w�7�o"
(�B��@� �
-������/Wc�x�$x�x�vI�"�}J�E��G�P��׻���/�O�?޾!�'��!��0_-��f�3)LB�?��H�0�c�2"��f���qY.WT���R�Er8��*1O�%��X�H�
<RD��z�����7��k�`s���	[x�c�S2x�
N���7�����%�R�]�X�V��U�0P�)�E|�
��
�,>�^��k����XSѨ�v}�n��_
	�����HXQEQ�`�TB���"awwɗc�m��1�$�mzH�2�3���qi��o܀��	�0��M�§C���O˕ ߶s��o|��)N��~]D; VK1�?9A���>��>͒Of��6d�!��`�)"*�9S$������3�X(�s$JĻ���&6�����l���7�'l�H�c�m���~�{VC�|�gA$B��!���n�s`[��@dr��T�?�Q�T%E�|��D�DV�aA����q�)
ۘ�o��˒�6'�s�i���u�
�����v�:W��]ߊ������Q� 9;��
-e���\'$�"J�7u4n�=�␒����I��~��TWM�j{w�fK����v
�'0h5��P�:ŋ\���: �y�봚c�{��ۼI�,��q�1���Y6Be�dS�E/��LLm2�Em�}�=VO�(�ɨ��Q�Uj[տ��s�E�Φ�Q�u�,���M��ekm�P��]�ߚכ�Tڑ�\p�˕V
�$z�`���#1.Tn���b���F�hQǻ:Ν@�c�*
v1ݿ��0�����rJ"dV��.$b̢�l����7�w-3_D#%�T=��/�C$[�=��XkI�t�3C�]�d
���0_<�ՓS��tm������AٍÞ9
��5<�Z4��y)��X�ב8�a	�}`� �Օv�4��uœ
����6�F�
-|�ӻV&!vd8�K�Җ#9|�ߛ��P�dh�.��r`�K㟮�4��c
 5������Ӂ 鬑t<⏰$J��@��t&��O?
��9�df�[��zp5�N�kjяz��gq���<G
�i ���`�꒽�w�7:�$�cW�����|F�ʎ�m�΂�>�+����W��aI����)!"��c�
R'y���Or�:(�
-LPP-�A���F�H0^y��c��W5),C�sS
� ��Z��_���u�:Ӹ��H��(���g��#g����a HW�[�T6Q��؇%�~
;X��_����x�+�AX̒F�����Z� <���y0�=��k�WU��gI����Qqe^���;��4��vlM��
Ovv�~;o~L�z�
GUP�^LQ�+1T�|��1�RT�m� ���?�c mz=g�U�m�����7�ӯ;������Ό���"�J.��΢��X���<�뀚q���k31�b(�۩�	uN��\�t�
�i���l���� jނne�B��!�שa���
-n�(����.�_FGq�-
����D���C<"W�$�=3�G9
-Y��h$}|� �T.�>�D,��>V�u
���@�Q�1�Q䵤h\�q��4���Vߺ/S�w�=��Qˁ��V�秼�?bD�ؤP����ol��
:xSO�c���&�Ϡs�Q��<I~>�{�AM��*�5��Fw.X��
őcI�lV�"csH�f0#�
7�@Lw�2U>�`��D��\����%�g1��/�#@G�
-��E2��
��3���<
�v����w1����8p�y��7����8/�6:Cy;�4LЊ�/��?�O!�/`��>8�&�b��2�����1����F_�K�:!w$�W
u�D��Mip9)�p�8�I)>H�t�]R��&G��i���!4��&Y�ͫ�ҫ���mK/�ԵP�ޱ"QЇ	`F����B���)r��"��p*�;��}Ȏg��%��i�����!�z������悏"(��<��
-����z3EW{�젙[[D�Ϳˤ��R����?���O[s�Tt�À:չgY���i"F��As��9S��Kd�X�џ��xw{����6%:e�@iu{<�o��'� �j��c�C^��
�
������
-endstream
-endobj
-3826 0 obj <<
-/Type /Page
-/Contents 3827 0 R
-/Resources 3825 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3819 0 R 3820 0 R 3821 0 R 3822 0 R 3823 0 R 3824 0 R ]
->> endobj
-3819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 518.806 300.161 529.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
->> endobj
-3820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 477.897 182.164 488.8]
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-3821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 345.988 206.372 375.054]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 271.248 163.823 282.152]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 219.006 362.844 230.074]
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-3824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3828 0 obj <<
-/D [3826 0 R /XYZ 89 770.89 null]
->> endobj
-3829 0 obj <<
-/D [3826 0 R /XYZ 90 721.073 null]
->> endobj
-3552 0 obj <<
-/D [3826 0 R /XYZ 400.69 481.05 null]
->> endobj
-3830 0 obj <<
-/D [3826 0 R /XYZ 90 463.206 null]
->> endobj
-3143 0 obj <<
-/D [3826 0 R /XYZ 487.765 222.159 null]
->> endobj
-3831 0 obj <<
-/D [3826 0 R /XYZ 90 204.316 null]
->> endobj
-3144 0 obj <<
-/D [3826 0 R /XYZ 90 77.486 null]
->> endobj
-3825 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3835 0 obj <<
-/Length 2455      
-/Filter /FlateDecode
->>
-stream
-x��Z[s��~ׯ�SCΔ��`X��L��
����j^\���$@�e����W.�q�N�/.���~��8�
p��/.�E8�H
-*��M q�qw�����x������)�+����^\?}q�J��xz}���+
K��(����78X�������h����m����$/� B
+��!.�+�1^�j��&��<\>�Uݗ1,��a��vŀv�@�fA��Wy�S��t���I"�拿xHT�+�/	^���|��r�ܼ\Rx�}�W�2��1�-������gS�%�99%�pW?��P~���:��*U�dy�JͶ�$�7X1���
-
#9��s��RR�0Kn��Ep��G�I�'�O�h�,��r���i�W�V"6™�?�6
��晇<E�h��IC&��@PLi��u�o�\��+��-\���e�
-)��S�+UW�ɺp,�>
�p��j�BѪ��W�����%����}�r[
�u��K
-�;��l֔���pnr�����+*�����R��3���ӎ��F$F��9OU����|��%�l}��w����3�%G�e���,�n
r���G`$֋N�6 Nlf��q��
������I��΀�
-ķ���h�

-#���a�cɘtv�*{
I2���D��^@1+��� m
-�;�MF�T��GsiSҶ������Ԕ)@݄Ϥ�ގ~�WTBT�h��Rgܥ�;H��B������9�I����h���ᠰ0j��l�]���$�NmzondѮx�ۢRk_��(�����ڀ��4�19�����yry���O��b>'rh���z� ˛شuē�@a�ӧ~
�
$
���+�M���{Ș���9 
-��޳��-5�b����F'%����3�U�jkS�Rp�Z�ŢT���}���o���6ɶR�t�G
w�F���'�|�*e٘�#��҉^���Ę[��k'���jg�s�MƍuZ7;&Ĉ�/�s�X��ѥ@q�r��%��E����6r]C1ςr,����F	���Q��<�E��QA�:J  �RU�"���Eв�W~g&L����Y�m
-&Pn�܉A1z���(
-I8'c4�Ӵ�ӰI��,v��8F�XT�G�����_�n�C1�ÆA,�a��
鄇Ìw򴇋S
t���;6tֱ��r�'���h+0��[����Ǚ@���1��̑�J�M�֌Bݗs	G@!�o,a%����'N�̭�(h:���гPD�Q�0��P6�M�k�)
ۗVp��
-
s���esP!���?�l��ь�PLf�G`y�}hW �R9�*��U���X���%�
w��|Y#�Q��q

q=�
縆񷕼:��
�I=�8M4ːQ��>mGh0E��lR&���<<��2�WD�}�K�I�0X��R��k������kZ�����$O!���*0�G0�)K�м��)Α5s"�i��I^�V�y�)ʝ}��]?q��
iR���"7�7E�h��{�e�f}l�c�.�����
�k�W�@ڴ��]3zn̴��E�։����J�����/��δ�X>\͉�I�P+�l=�˟x��⏼�]p�l��q��
����]�j! 3ER��9�����*
�yQ�����ۼ!�Vz8��Hc-�Y#kH5*n�$k�yƐ�O�O�U�c��X-[ܧ���ЂB�H#
U@%��"f�C����K��9�*�W��Ka����S�g��]��vn7�>iq
->�S��Sp
-r�$�I����<��|���C�%��
L!΄)z��`
-~L��m��GSD΁)�;�ߌS��Dp
-�?����8E8�S���|���8q8>�S�Y�-��)�� �8�Ζq�S�>NAZ�� ��s8�l0>S`�

��b���:�3~�'b���
��k�N�lDm;���N�#~Nѕ�S�
<ѻ0��^�0
-���(��_1����`b
�`�t?1��Ht�2�(���V%�/���7?wg��#]֙�&�?yC��J:�l_������Y	=w�$�6��Y���<;�i7���H�����U` ^��;=��!3�I�#b���h���
-���.�'O�=1�Z{:�.&FL�+	�;A�u)'N}����ĸ]�ᜑ��Y!�"�	W,"��
�甠Q��^9{�L�<��1q��L
��0���ģsuw
e�	�q���G0�`
��|l��6�<�)�8�P�E�K�$�'��!����U�X�Ger�_V�]��T�Q�^eyZ�����Y�F at 3.@3
M
6h���)ib����ܜu�b�(�y񉖍EG�ʎ(j=<P6>'ʡ�
-v�9Qs>��
alK=6��>rg��l/�>4$�nL��:`����R�7K��G���T'Y;��]��P��q���_)�$��
���_������O
�u����|xx at i�y�/QV_������o=*$D
�ۻ�lO
�_>L	<2¯��ѵ
-endstream
-endobj
-3834 0 obj <<
-/Type /Page
-/Contents 3835 0 R
-/Resources 3833 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3788 0 R
-/Annots [ 3832 0 R ]
->> endobj
-3832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3836 0 obj <<
-/D [3834 0 R /XYZ 89 770.89 null]
->> endobj
-3837 0 obj <<
-/D [3834 0 R /XYZ 90 721.073 null]
->> endobj
-3145 0 obj <<
-/D [3834 0 R /XYZ 90 594.623 null]
->> endobj
-3838 0 obj <<
-/D [3834 0 R /XYZ 90 575.593 null]
->> endobj
-3191 0 obj <<
-/D [3834 0 R /XYZ 479.157 398.325 null]
->> endobj
-3839 0 obj <<
-/D [3834 0 R /XYZ 90 377.139 null]
->> endobj
-3840 0 obj <<
-/D [3834 0 R /XYZ 90 190.64 null]
->> endobj
-3553 0 obj <<
-/D [3834 0 R /XYZ 90 167.436 null]
->> endobj
-3841 0 obj <<
-/D [3834 0 R /XYZ 90 167.436 null]
->> endobj
-3554 0 obj <<
-/D [3834 0 R /XYZ 490.972 77.486 null]
->> endobj
-3833 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3845 0 obj <<
-/Length 1912      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�/�4��p/3M�t�����}I2
Z�cN$R%����.H�)�<��<x� ������sb烃�_'O��.v4ҒJgq�h�\#!�n弝��lN0�ӳ�S/�x�g3���z�b����"�������f�~���!��`��|���!�IaZ�m�o�
-Cp9�#L#���$�ͩ���Lө�ٮ��ϟ��/�xF����H��Dhct�|1�oB�
vH�
�\�,7��ﱳ��/
��V�u6h�p��w��=���%APe^���M
��#w5����E�dŀt��Co�E�;�)abw0��[����un/����F�w?�����(LRs˦
@�JU at 5_w	p:��G�n
Q�
r�b����,Ofs���
�w��RU��_�s&5bԙC)i!�uK���q慛
�u$�^[:HW����7E�z���3�+�9�H�=^��.;;=��,�4��-6�D
�bPp��^/\�Q���W�_�S�r&K]����`�
!�j���Fb?|l�%�
K�,�$vKb�L7Ș�5�.ҌÅ�$ `f�UT�Tz�m�ӈj�e��x6�ַU���$��y.���K��u�������
ZF���^�?i$�ӌ���.��-�D����U��+�J�_�����P�ڋ�A3�+hVmЬ����d �-�:IW��Q�������U�u&c��ﭐ��ڄ����Z��,�%-���8ZJ+�U]@�ƪ/� �
����9��uW�U���WG��;\��Vܿv�vg��\}!�mՏ[˞�c�3Bs6�kf�Q�оR�j$�����Y���X�i�Bߋ�WA�z@�΁!B��J��j4VS�Ϯ��G������ns��&���� �-�ϓ`!��Mꇫ�|����#�rK��l�C�1��js�n�9>
=�R�i�]<��F�PN�@������T�&_
-�Y_5ȡh�����/A�
-��p����z�,ɪ+��Q
��
x��P�]�'
�W�;`6nd���B R��3�,{���4��m�XjE;���
A�d�H�e�XnH� ��,7,�0`&I
���n
T�����gS������W��B�1�,s��1Nf�_i�0Q����B�����M�b�G��>H�o�FmN)�Q
p��&�K�̙�"&H�;t�P�%�|HB[u���U����N�l2
-�����?��֊&�Sd]F,�J��IdIxt��;�Dgj��d�/�T�\��M�
�1<�0��X�Ɖ���^�?��mse����̭$�*� bs�㖹�% ^�e�"��5b��Dl~
�ȯF�t�'HH�@�ZP��.���YKL���)� F��̴z#���=VBD�)t;a
��eCW>`�v
a��:��F`��~�
��v�'v�
�
325��'>�e>̣�r���a�����ڷ@�wԦ�]ډ��
}��q��-���Eq���aϔ���
���
�zt�m��QQד��Iĵ�+�!�i�x=I�B���)u,(����d��
z�T��.�+��%(e%<�z���@��
�ɻ�8AD�
�j'lHm9�{+�ɕ
�B�~{�Q�&�j��ۈIk����VA*
 �f�[lCb�b]����[���!
LH�Lh$�A0���q+Z
���^�MƽT�b�8_Eu��8��L��@���-�?�:���l�F�3Wc���6��7��2D02_�

�|�%aX�:���}�b�vd_�p���̨ ��R�i��G��!���؏G��F`.�#�)�ш9�����:3|�|�co�oq�[�AN~�O�Ǐ�PR��[W��);����


D��6��o���
2��S\�>�X�k@ �O���4ݞ��\__�e�va��Q��l��Z�Q�x�e�R6QQ�Ah�0�ѣ��
r	
-endstream
-endobj
-3844 0 obj <<
-/Type /Page
-/Contents 3845 0 R
-/Resources 3843 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3842 0 R ]
->> endobj
-3842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3846 0 obj <<
-/D [3844 0 R /XYZ 89 770.89 null]
->> endobj
-3847 0 obj <<
-/D [3844 0 R /XYZ 90 721.073 null]
->> endobj
-3555 0 obj <<
-/D [3844 0 R /XYZ 484.995 636.955 null]
->> endobj
-3848 0 obj <<
-/D [3844 0 R /XYZ 90 607.217 null]
->> endobj
-3590 0 obj <<
-/D [3844 0 R /XYZ 90 533.062 null]
->> endobj
-3849 0 obj <<
-/D [3844 0 R /XYZ 90 505.481 null]
->> endobj
-3591 0 obj <<
-/D [3844 0 R /XYZ 125.554 267.961 null]
->> endobj
-3850 0 obj <<
-/D [3844 0 R /XYZ 90 238.223 null]
->> endobj
-3592 0 obj <<
-/D [3844 0 R /XYZ 438.998 77.486 null]
->> endobj
-3843 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3855 0 obj <<
-/Length 1712      
-/Filter /FlateDecode
->>
-stream
-x��Zm��6��_����tzER��L�&��i�6n�$���������������歩�,�X�V�>���� ?O
�&��%4����E�q �F"��"x�O�̞,R����.?�������K{o�h6�{B�� �T�|5y�
��4��i\U�V�
�������WB!^�8���	���Y��qi�
-��a��A�'t��}7�%Z"�r;��Y�4^��	#Q8�jf�}��
x2��gNB5Rl+�9A��v�y�-�<��/���ӳER�q:7gqQ$o���'D	$��AZ��k,��K37%84���չ�{�RE�I���Ey�,g=�M]�&]���^L)�e2�p�Tr�����Bpg�����GCJ�q�
-L�y����Avݣ
WHq��ט�
}P
�{�p�鵰
-& �oD��$BVcf3}��|��Q�U=�M��|'���d�t��o�~J�>���F�]�H���d[��8d+��G)Z�ʫ�XhY�qCE�yB1:<|�b
��zS�
`yi\��ٮ��ޮwn�+cR�1m��FX�N���P�G����W
-l��xK�@Z�B�
.���E	n����T&���a�mF�>�C\����G
$�gXKHRx%�k�ij�(	�2ˍ��5$^���:Y�e��Kم�*)]?IˬO))P����ߴJ^n�M�="y��3J�oL�Pʐ�7��n
�ݰ����0�����"^}�0
-aQK��_%��QQ$��A�}&��ؖf�

-�ʡ�]�u:\J�N*�f��e3
�inz,�`��[0�2 Tӌv��h0����KH�\Y̵��R�pW�ܸ���Y��j�� �r��S*`\�/��Zl�-�p��R7,>�n�jբ1���U�L�J�'>wPA��
�㽰)}JDؗ֩�D������#���E�l���pD|
8¸���R�mx
���jf�x(����K�h��Ķ�La	�$�ֶ��tK��-t;>>8�t�\�,LaS��P~��PW�lۣUm(eߐlπ�m-��)6AT�V��B/�ע�
-�%%�ׇW�DC����&N���Q�;���Vd��hL5Tfh)�P>�H�0�N���֔�
Ք�h�7D��V���VP�Ww�(��ا��_�}C�#��w@�H�]JG/w��u��r�g�!�5�
��
�va�!����ShLH���
c +#w�4 at 8
���&�D at r��5��d�r�
�#;>V�weǢ���dmv\��{�U��zj�2�r�,���mS�
#���66�Y�{}q�L�;�mKb�#4� �\����b�c�ѱb�b�꣞���y�r�%Qg��y��c&��
-�gIZ�LR�
��X��o����W��xfr<3���Ln{QH$���g~
"`UL��=i>!U	�P�/+�@�n�:�&J�iX��dM"%�.����q�s��.�$��s��|�����6{���	��D�5��gS��0V�&�d"����g�'c�K���}ܲ�����'�N�>��5���x���H<?1��_
�O~��a�I
M�#@�hYl�I
��xd�/�����휀
�C�������v�Ⱦ7c�y�I��;^X��U�����,r�}���
-�?
�;"���5N7���m!�ފ2yQ�
�� j�"�U_�-u�
��_&�J+	{���eY��;=���B�m�d���<]���-�uM'����)�ʶ��Ԃz�ַ�Ĺ%�
-endstream
-endobj
-3854 0 obj <<
-/Type /Page
-/Contents 3855 0 R
-/Resources 3853 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3852 0 R ]
->> endobj
-3852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3856 0 obj <<
-/D [3854 0 R /XYZ 89 770.89 null]
->> endobj
-3857 0 obj <<
-/D [3854 0 R /XYZ 90 721.073 null]
->> endobj
-3593 0 obj <<
-/D [3854 0 R /XYZ 125.554 490.333 null]
->> endobj
-3858 0 obj <<
-/D [3854 0 R /XYZ 90 466.973 null]
->> endobj
-3594 0 obj <<
-/D [3854 0 R /XYZ 438.998 307.512 null]
->> endobj
-3859 0 obj <<
-/D [3854 0 R /XYZ 90 284.152 null]
->> endobj
-3853 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3885 0 obj <<
-/Length 1843      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�8����
HY�66�ܵ�5M���*����V+N���
�M���va��^���HY
�x�w��k
[�&��'�O�xԳί� [��{���
�`ĝ)�ۧ�vXf��ԡ�.�卌�p�2�,�rytt�{��.rgJ9��Ӱ��噼��3�G8S�\�x��p�brr>�{B at 4l-
-G·�lr�[1�~aa��u�e�.��֛�_���Z��J�����e�
�|Q�uR䕾�R_�eyU��Cl�;�*ɯ��'�r M��T��+�[/���>*�d<{��.Am���)H����
�n�]S�d
��;�e��BP�䮖y��M�����yA`MA�s��i�&�C��
�r�N�G���4A�s������"~[�a��A�4��"@���
z(��0SPs�T��V�n�c$�����ƀQP6@�'�L9i).�"�V���ضg�t���1�yR/gqR�!��
�#�V�"��
s��됀"��.Ȕ�L��GAp���6\DŽn��q1�+�m��o)
&x@�4���S��83���h�R[�"�;
w#3�v�>lH'�����њx�}Z�ί�Fx at x�d����
����O��~:I��wV,����IR�1S�;qR������]%ݨ�
�Y��l�Gx0�w���n	U�Ń
���
�>rȖk�@�ܦ�`t�9��9�Ҳb}<}���E)U��?���)�P_<k�("X���R*M��o�r<�Xt���P�������S�~J�Bm�_��XkTm"՛_��V�� A��
-��l�=ސk�.��y<„x�����{L8�#z�t�@�1~k�~���m�
�2�~p�
p$@�5�\j�
pQı�
.�rZP��N��y$��)�M���*�ܳ��(�y������,i��	�GI��I^c2��,
V���5�JY/J�79B:���.r�'uQ@:��i�`��
���A!&���*L����sE���Wy�TҸ�fuy��oL�@���FT-�m at 7�խ�}5�Q��:�&�#P
��6�{�g�8
�%`1����f�^��42�^��4�=�TgZ�1F/�
��\���f�a�1�Y������m$&�&'����8L]�A��S>t�"Zd2�׌
@�еv�V��m3#�ŵ�e���y�,��WE�
-���"�RyԌ��@��c�� �5u�Rާ�h��|�����
��Lu�2l\�|�m�M+`P�5Y�o�aQ�@A��0�0�I��θ�ٸ�ш
�
I�(]ģe؅����tۨ�hvkxޮ�q@у��/z9������Ԩ_^����1�R�T)���i�����N��?��..�$���J6�Us�t�G:{��
&��a�
�O
UJ���l����9�
-
�J��
-$�5�
#��l�QU��n��4�Ն��$�*��L������ߝ��9i;�5}[����+5��<hN�]���
�<^$il"E&�0
R�"O>���rb�CHյ�����p�Mtl�Š�VJJ
-��+XTs;-q�H���ٛe�h�׃��,��&����lݬ�
}�e�u�ve� ~����=����� :��T-J��y-��x�e�/7��t\a�d����k�=��NaE�˒�?b�\7�|���M��&��5iO�o
ѯC_܎߱]���N�we��
&�K����*C�������~�
����Y��
�:6L 
��q��9̲
<��Lz�����U�/���쭇����f��w"=r�:��l[x��G���sҌc+y�/���㐛��

��ޢ�B�0�K�ԇ0�
n�.k\[;�����h�I�\��4���� �pQ
-endstream
-endobj
-3884 0 obj <<
-/Type /Page
-/Contents 3885 0 R
-/Resources 3883 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3860 0 R 3861 0 R 3862 0 R 3863 0 R 3864 0 R 3865 0 R 3866 0 R 3867 0 R 3868 0 R 3869 0 R 3870 0 R 3871 0 R 3872 0 R 3873 0 R 3874 0 R 3875 0 R 3876 0 R 3877 0 R 3878 0 R 3882 0 R ]
->> endobj
-3860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 382.232 280.942 393.136]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-3861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 326.271 173.467 337.175]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) >>
->> endobj
-3862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 326.271 242.925 337.175]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-3863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.089 326.271 412.478 337.175]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-3864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 286.822 173.467 297.726]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) >>
->> endobj
-3865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 286.822 278.631 297.726]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 247.372 173.467 258.276]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) >>
->> endobj
-3867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 247.372 255.109 258.276]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-3868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.638 247.372 336.583 258.276]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 207.923 173.467 218.827]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) >>
->> endobj
-3870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 207.923 276.947 218.827]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 168.474 173.467 179.377]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c) >>
->> endobj
-3872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 168.474 253.426 179.377]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-3873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.513 168.474 335.458 179.377]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 129.024 173.467 139.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) >>
->> endobj
-3875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 129.024 285.256 139.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 89.575 173.467 100.479]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) >>
->> endobj
-3877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.282 89.575 261.735 100.479]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-3878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.245 89.575 348.19 100.479]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-3882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3886 0 obj <<
-/D [3884 0 R /XYZ 89 770.89 null]
->> endobj
-3595 0 obj <<
-/D [3884 0 R /XYZ 125.554 699.155 null]
->> endobj
-3887 0 obj <<
-/D [3884 0 R /XYZ 90 681.758 null]
->> endobj
-507 0 obj <<
-/D [3884 0 R /XYZ 90 469.549 null]
->> endobj
-150 0 obj <<
-/D [3884 0 R /XYZ 90 462.577 null]
->> endobj
-3888 0 obj <<
-/D [3884 0 R /XYZ 90 345.543 null]
->> endobj
-3883 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F13 578 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3928 0 obj <<
-/Length 1856      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�ɥf"7D��/I&i⤱2m&�h(���R�BRq��] $%�4-%N��EqY�ݳ��ؙ9�y�;
��J�(����Qؑ\!O�����A�
_8L��(�L���ᓳ�
�=�>�
a�X
��3��>���)t�p0b�w�ͤ��)�6v�{��p��m���:,g�#���*���3ڬ�ku�Y���g=�����=�I��U8�Ҥ��	�{�=<I��(G[�yggw�:X���Q� )�{��q�'��9*V��8��Vq����Gg�G�
q��!Hy^�Wo^>����=�C���-�^�R%7�rD$)
�XZ)��(��������6���>�\���e}&�pa�<L�(�ّ�*,���0��΢I��I��K��v��[� ��ׂY�O�ܰ�*���U��씆�
��)�Q+2k��7`T"!7�
)��=��*	0ѫ�s��!�0(B�豞�e�Z�_쌆$�<_֒V�0	�%@ϓ"�>����7e{����_o��mkC��ª+�1�;�G�;N?o�F�&ɉB��w�L KR-���wqyD6��{0N?wq�27Nk
n�� �-8�}Z�ˢI�r	��}(E��Ȟw-9F��}9#9����!w�������U� [...]
9�#�f��'��u����k\�)o����[���b�4����;�Z��Ȧ�Qt9��\0)
l�~��U�e�Je�h3l?�s
� ����L�&��L����Ծ�'D��<�Sl�7vE��êܫ�ii~kF�”�GJ��L���NA��6�
�y]�pSphv
�a˛|���ͺ
��U�I0_�
���xe}�m_�=Y�\��5��d�C�P�~G�(cX뼺�\���j� p}g����|��
"}p&�zA����S>ɢEU�R�a\����G�s����?�����A���~�����}Tq�(�������
Z����u���X������|sɭȠ�Y��W�
���=^5��	�O��� �S
)���`��E?J�N
V�����"�T�X�Kp�`����*��>	��mb$��)_��`�o���Y��tg��I�ۡ?�BЗq�ul��|��=�m����7���ydE��2K獥�*/²K�̖n}�fA��Ƅ0W(z�E{��5]:C鶸�R���꿬�
�:��[�f�j�/��>m꧶�p��!� ��g=;J� �Ҷju}6�E�6
��I�G�(��,�!+k�9_6-կ*lX
-���G�o�G�h���8��t�8�d
�q�Q��y����+�ר�B�p�\Gc���8^/R@�-�)"������{��v�&_}s_��x0p�y��*�ߘz7���Ty�||���v�]
f?�=�-�y$˪�����,�*`�Q�
�:�<��v�y�8տ��@7��%b�NWE�������Mr�L�E���p��oްoH�׸���*C��,��t�
�7��/��#�
-endstream
-endobj
-3927 0 obj <<
-/Type /Page
-/Contents 3928 0 R
-/Resources 3926 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3879 0 R 3880 0 R 3881 0 R 3896 0 R 3897 0 R 3898 0 R 3899 0 R 3900 0 R 3901 0 R 3902 0 R 3903 0 R 3904 0 R 3905 0 R 3906 0 R 3907 0 R 3908 0 R 3909 0 R 3910 0 R 3911 0 R 3912 0 R 3913 0 R 3914 0 R 3915 0 R 3916 0 R 3917 0 R 3918 0 R 3919 0 R 3920 0 R 3921 0 R 3922 0 R 3923 0 R 3925 0 R ]
->> endobj
-3879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 694.943 173.467 705.847]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) >>
->> endobj
-3880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.014 694.943 298.956 705.847]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 694.943 419.222 705.847]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 632.053 173.467 642.957]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a68e25304a250a8c739927adfb90043d1) >>
->> endobj
-3897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.547 632.053 235.147 642.957]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-3898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.266 632.053 283.993 642.957]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-3899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.989 632.053 423.455 642.957]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 569.163 173.467 580.067]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ae9a2b78be6811d666fb9d145078d796d) >>
->> endobj
-3901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.091 569.163 262.251 580.067]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-3902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.717 569.163 423.183 580.067]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 506.273 173.467 517.177]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6b286c9e001bf126a0ab85aac675786d) >>
->> endobj
-3904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.917 506.273 282.185 517.177]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-3905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.304 506.273 426.77 517.177]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 455.338 173.467 466.242]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574) >>
->> endobj
-3907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 455.338 221.058 466.242]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-3908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.338 455.338 325.804 466.242]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 416.359 173.467 427.263]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) >>
->> endobj
-3910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.804 416.359 260.36 427.263]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.924 416.359 353.39 427.263]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-3912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 377.379 173.467 388.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.206 377.379 225.013 388.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd) >>
->> endobj
-3914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 377.379 311.906 388.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 338.399 173.467 349.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.206 338.399 225.013 349.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d) >>
->> endobj
-3917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 338.399 326.292 349.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 299.42 181.215 310.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) >>
->> endobj
-3919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 260.44 241.112 271.344]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) >>
->> endobj
-3920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.449 260.44 328.006 271.344]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 210.502 255.488 221.406]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) >>
->> endobj
-3922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.826 210.502 342.382 221.406]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.174 127.823 352.73 138.727]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3929 0 obj <<
-/D [3927 0 R /XYZ 89 770.89 null]
->> endobj
-3930 0 obj <<
-/D [3927 0 R /XYZ 90 396.535 null]
->> endobj
-3931 0 obj <<
-/D [3927 0 R /XYZ 90 357.555 null]
->> endobj
-3932 0 obj <<
-/D [3927 0 R /XYZ 90 318.576 null]
->> endobj
-3933 0 obj <<
-/D [3927 0 R /XYZ 90 229.658 null]
->> endobj
-3934 0 obj <<
-/D [3927 0 R /XYZ 90 172.978 null]
->> endobj
-3926 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F38 2117 0 R /F11 442 0 R /F107 2329 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3945 0 obj <<
-/Length 1676      
-/Filter /FlateDecode
->>
-stream
-x��X�r�F��+pJ�*s4
0 ��Ų첓�
I�Ev�@`H"�f,����Y $hɉ]�f��~�����X�z5{~?�x�a+@�ܺ_[�<'@.�^l=�#w� c��`;��p�vN�]�����p�{���jyy5���.����ؾJú��[�jN� ��s�M8��3���}�P
[D��"Ϸ�l��[1
��0b�o�Ԣ�r(�oj����ac>k� �
�#�8���P�w�.^�|���ȃ�
�b��=wm�s��PZH[̉k�D�$�h��%i�'WB��&Lrw[�k���ّ��L�5�}݈Lk=y�T ����{��J�%z&p{#rQ�MQ�0C�0j�0M�ZD,�cLsQK���!(p]m[k�n��H�M�m�kGiQ+�a�nW�ht[i�Zm�FE��Y\�� ��v�RM� �� �
�BNj�E�6��D�<��X�4����y�Դ�Ĕye!���0�0���$9�a.�aY�\�7������D��q�7zx�4[ݒ���1b�.#��{P���ଐ�|N򍞑pL��e����p�zn�.r��jNl�C�|5�K� T�dh���_�l]7F�n+��J�@���6FB}�q��{Ѵ����`SX5j;偽��L��f�X��@V�^��"�7:�%�T�)��fփZrstu8sH ��
%�
�����t�����R��n�
4t �� ����E����GT� 
���!:dcD
_��mM�������(�6y*j2�Q8�
�"�_x�
�3�	*N@�X6�Rh{ᴁ�E�!c��6[�;�	�<�8�`�Z�k'�r>���V�	.
- ǘҕ=04,*�ש��M�
���^��$�'�S�8�
U��V��y�������(�C>%�B�a� ����$O��.w+��i%��q�������rp�����2�M��q�x�
h�yr��6���2����T5`ܿ�>t�ǁ�Qp�X�\�Rʸh���
�>H��T?u�sE��x�V
 ���;8�eG��h@�%�h�n9A�#eǶ.��
‘C��=ϙH�g\֙x),�U�0f �.?|�Շ��7o�m�ɱK!�ם�!�=����F��S7��e*�M�]���
qo�
U!Q�㠦ёL�Ȏ�1:Es�|��ᄮ�]\�~��_���
�i����)t>J�K}h��abB��%���C�i�Uw�
-�0����\�{��ZEh���`�1xџ|�Ӵ7�q���r�#��&{��<GD�����*�t�����w]
�?=5�ES	χ�~X�9�g@��;1E�a]�|��
E}��!9z̭'7��$ͱ�O9��=
=T��ɇ}��C��{��	~��G �O��N��S.'��ߋS��@
-�J�
�MەV�p�:�_��#gx
->��]�������
��3Y!18tD+��
-��s�%�j�	�N�	

�ݾ�|�I��4��,V٘�nE��R�|���d����6���1�
�}s�#暤*��:c)�򾕫�='�
��ɿ!-�AZǿ�\8���6S�� \��1������Gֽ��I�6�ηu�8�E���umc�aކ��+
�����R���
����o9m�G�k�6S��A_��Zz��6Myyq���PT#(+�
-%�EY��T3�B
��B�]�]���򹮞�'���,�+
-endstream
-endobj
-3944 0 obj <<
-/Type /Page
-/Contents 3945 0 R
-/Resources 3943 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3924 0 R 3942 0 R ]
->> endobj
-3924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.326 645.183 370.268 656.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-3942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3946 0 obj <<
-/D [3944 0 R /XYZ 89 770.89 null]
->> endobj
-3947 0 obj <<
-/D [3944 0 R /XYZ 90 618.583 null]
->> endobj
-3889 0 obj <<
-/D [3944 0 R /XYZ 90 596.057 null]
->> endobj
-3948 0 obj <<
-/D [3944 0 R /XYZ 90 596.057 null]
->> endobj
-3890 0 obj <<
-/D [3944 0 R /XYZ 465.707 388.96 null]
->> endobj
-3949 0 obj <<
-/D [3944 0 R /XYZ 90 371.162 null]
->> endobj
-3891 0 obj <<
-/D [3944 0 R /XYZ 90 180.362 null]
->> endobj
-3950 0 obj <<
-/D [3944 0 R /XYZ 90 164.721 null]
->> endobj
-3943 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3954 0 obj <<
-/Length 1264      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6}����&5ͫD�m
����e����"�1]\�n��O&%K����R؞$R�|�s������7�׋��<�^����b�E�
y�D ��w哀O��<HD� v�O��8�����M��O��G���K���5��0��ÈEһ�/�<N<S�r��;[�6�a̽�pDqd
����e�)��jo���9��c�D!l��
f�I�[��"��`����ŝ��XH�jW���bU?��ye�X禲��#�4��ڎ�ݍ�M���Բ,r4�!���A��ya�#�4.ղ�"B;��#��i�����!!i��V%�rNhk(����g���P"(�����ٖ
-�S��,�ٗ[e��J�D��$S�3�p+��[�6�wnG7���6�`�`G�Xs��,�=�3&�md~�7�]֊xݷ���&N�N�4uk�z5��_�R�F�F5h�"wS�����V�W[������*|&8", �)��E��K�6F��W�Q7y˓�O9�?ǩ^���z��S�E0(���/�:��u	"�w�醽뫮߮܄���7�w^�>m�4��
�02�0`
�S
BC0�">�A
pY|sQ��+���7}[������aJ$dp|��*�?b�mS�P�oT���xs�z�?Ys�Y�1>h�u5�x#�2��Hs�攀ϤYu����
-p�V_6�N��
i�Y�&P

�����nE���>N�
9����$���ؼ��3���\�
�s��Tơ�6q�����t���\{s׸��
�(�׿� �o1�d}
-�v<]:
r$|�}f	
�pLaA�ǔ��,G�āamx�nxZ��yG������%
7�+��	��E�_Q�m,�
4��qŒ������g�� ��(~�g�/�Ư�
-
 -�p!��|�^9� @)�����Z
ܼ�7[3v`ӡZ>\�0�\
��t����H�DĜED���x9m?>��������ҩ�p��r �e#�Á���סײA
������
��AF��l�u���
E�j�����$BfcLZu]�ыcB��L<��'}%O��"_�[�'�#���R>����Gr���=�cO%���{�F⇓���Yj��� :������!AH�:|r}�!�<D6�]��A��:7l��]���_�*�
-�;���9�|��u�}���l��O� JbPݗJ9O�{{�ۯ�=u��!b���;c6'����=J*����D��7�t�5�tN��CV�6Ȋ�eu�Y\��WI���A�
-endstream
-endobj
-3953 0 obj <<
-/Type /Page
-/Contents 3954 0 R
-/Resources 3952 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3851 0 R
-/Annots [ 3951 0 R ]
->> endobj
-3951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3955 0 obj <<
-/D [3953 0 R /XYZ 89 770.89 null]
->> endobj
-3892 0 obj <<
-/D [3953 0 R /XYZ 90 617.315 null]
->> endobj
-3956 0 obj <<
-/D [3953 0 R /XYZ 90 603.253 null]
->> endobj
-3893 0 obj <<
-/D [3953 0 R /XYZ 90 411.325 null]
->> endobj
-3957 0 obj <<
-/D [3953 0 R /XYZ 90 397.263 null]
->> endobj
-3894 0 obj <<
-/D [3953 0 R /XYZ 90 178.569 null]
->> endobj
-3958 0 obj <<
-/D [3953 0 R /XYZ 90 164.507 null]
->> endobj
-3952 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3962 0 obj <<
-/Length 1582      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~�_�S��de]�2�x����uw��$�����6���
!
ˮ]7i��H:��|��
��<{~5;y`'D�O}���	�x!�>�-�.���c�^�	v�2��/��*ݮ岌�_'7eTnOO�s"\���c�,���
��[���<��3
<���?]������5#�v�Q��@8q6��	;K������¹k�2ǣ
���n��
[��A�D�0���x���Xh͊2Y˲j�ot�
��
(��
xb��6�j���%��K�Oa��ZK�j[�23cuk���W�F�Ǻl)?bL�$_���]]XW�
�G�.Ga����Ҡ�'�(�71=
i�~�
�u\���
�o��CW�0D�w�������3- �	L �����2�Ʃ�>ϋM=u��P�
��d�v�8����V
-,"Fh�a>���Rp/5��7I��a�,�DZ2樓焻�n��Q�hB
�-H�|� 5>&�ײL�j����b;\&�̫�]О؉�G慎F`"�0�Py��_$���,�Ka��a���A��{ݮ�M��Ǚ{^��Į�U�n�Q)�TtG3*Ă
�*��	X1�|�R72�6�U�DQ����f��]YP��&�7e�Y�5�9�
�j����Nk���Ls0d

-z�@�C:ʳCQ�򀠬�?Y\6���j�f���(��8J�m
��9�.��IT�ւ�zA���m���y
-Few�?UV���"�%U1 U�uH�5�j ��{qqXt�d=B

��8�C��)�#̼!��TV��>��צ�O������S���^+�C���[���
��~}s����W�'6
���'��`��5� �4������ 
{O'�2Q�r�~�
-��J�؂/U��&���
�O4�2{�n'L�}A�nǙ�yQX.�(����{�Ҕ
�f�5��
�*s€��P=��ǔ���2L�d�j������$�\AY��߇��$��
-Ԯ"Քf�LF�F: ?q@���o�m!s��.$�=�k݋c�s�tbA����8՜a�{��x2�ق��*H��Lq
�cvh���}��'
t�?��`]�<�%
v
�\"X�IJ���N�Q�����<$�^��|�{�8X���Cg�ã

��{�00_���
Zb�M�ef�Z��1���C���7��X�-F�&��a�5���ɶ=h/h , �y��N��X�L *@�T����V�8�,�X�Ƣc���5m'�Q�R`�:��ӌ�Q�;/WYҕ�Q��lP�s����$��k\2��WM�-��
-MT��O2��
-���?�8c�0�����},�����?�����W��Z��*��=&훑�u�t�)�S�zx2������Szrj�"�
�綛�D
T�;��u\l0
K�IDol�fp��8o2�n
FS�)z�ӌ�f��Q���3�K�j=
����]{쟯�O��&�<�u
��/�u�>�׶@�W[����,��s�ZH���M����~�[A�v�03�fyd
-�;)��Ʋ?�v�ˬ	T�/��c��u]�''www(��&O�%�IQ�'�`���eǾU�N����Nr��:����b�
-endstream
-endobj
-3961 0 obj <<
-/Type /Page
-/Contents 3962 0 R
-/Resources 3960 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 3959 0 R ]
->> endobj
-3959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3963 0 obj <<
-/D [3961 0 R /XYZ 89 770.89 null]
->> endobj
-3895 0 obj <<
-/D [3961 0 R /XYZ 90 683.209 null]
->> endobj
-3964 0 obj <<
-/D [3961 0 R /XYZ 90 667.397 null]
->> endobj
-3935 0 obj <<
-/D [3961 0 R /XYZ 90 494.203 null]
->> endobj
-3965 0 obj <<
-/D [3961 0 R /XYZ 90 478.391 null]
->> endobj
-3936 0 obj <<
-/D [3961 0 R /XYZ 90 334.777 null]
->> endobj
-3966 0 obj <<
-/D [3961 0 R /XYZ 90 318.965 null]
->> endobj
-3937 0 obj <<
-/D [3961 0 R /XYZ 90 77.486 null]
->> endobj
-3960 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3971 0 obj <<
-/Length 1269      
-/Filter /FlateDecode
->>
-stream
-x��X]o�6}����&3��C�6`I�b]�d�
�Ȃ@�[�,���4�~�)K��x@�˓H���\��s(ag�`���x6�����/�pfw��
���
�-�+�1���w�P��fU�O��fo�f�zl�f6�2"0�
R;�H*g�
]]cg��;1_9�����(�g�\�~�XA�(qD��	��e���
5��[���T
,�,�k��o� LkP>da���
-�~p��}i�
pHt��Nj1�n�����1�n?��E
�|�n� 8::�
��r�d�m����(�� ��^�O��<M��K�
��\��lhC$C�}�=���ha���\|g\�	
���b��n5��0�p�ݓR
~�ʇ��8(�!�J"!��8of
,�	�+Ϛ�d�ymo���/g�oN�?^|x�ǯ��CB5�
i!C>'��)�&�*J�(	!RE
~��h
�׵.��=���ԧ@�ӏ7Q�(� 8\�8��)#(���nJӸ����B���
D�Nj �V��(Y�yT��KkVd��4�:L���p�3=>�4`������N
<��yT�v<(-�y�Y��c�U4
��6�p��g
a_u�-pA�Eg��K���P�xbNۅݚ��#��5�7{��"4{Q���V��Nt/�m>��v1N̒"e���ĀB�6`mz����Ho�M\�L��F���Jf��Ǻ��:�$]GA\�k�c��
-��.8��Z(8

Q�U
�zC�T
ƈ{>/�e��N� �!�|�r �{l�rhaP����c�t�m��b����%
�äÇ#,�	w#�W:&�gHʞV�!�)
��k�/���h(�|�al
�!Jt]C��!�+���h�5���i��Y�rլEE/�woDE�iD�J
ˈ����ˆ�vF�
4'-�j��G�3�ˉP��!��A��5"�DTC;_>q��Ѣ
�Q&<�meg���X �[TZ)
-c�k�랅C�U�ȣ_ͥx�jN�s_�+Zm^�eR*%"�?�5\g⿾}/�Zy��w�7�B[ջ��]b�y7{�
/�~f�W�~�E�O��Aw�� zp��i������U
&p_��+`���y8��(�D���t��
�)���4sSC;ɮWs�U|���KrQ�Z:�d�?"�In-zk8XC��7�%��
�tme�]S�u�S���
0�?��
5]�kW@
oc��ETg
�wl�e�H���rl�7Ͳ�
ZI�p��UYfG����=�h�DY��r�e��1�����
$�hC
Z��렌�<I��]�2
-endstream
-endobj
-3970 0 obj <<
-/Type /Page
-/Contents 3971 0 R
-/Resources 3969 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 3968 0 R ]
->> endobj
-3968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3972 0 obj <<
-/D [3970 0 R /XYZ 89 770.89 null]
->> endobj
-3973 0 obj <<
-/D [3970 0 R /XYZ 90 721.073 null]
->> endobj
-3938 0 obj <<
-/D [3970 0 R /XYZ 90 554.509 null]
->> endobj
-3974 0 obj <<
-/D [3970 0 R /XYZ 90 539.266 null]
->> endobj
-3939 0 obj <<
-/D [3970 0 R /XYZ 90 355.242 null]
->> endobj
-3975 0 obj <<
-/D [3970 0 R /XYZ 90 339.998 null]
->> endobj
-3940 0 obj <<
-/D [3970 0 R /XYZ 90 179.885 null]
->> endobj
-3976 0 obj <<
-/D [3970 0 R /XYZ 90 164.642 null]
->> endobj
-3969 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3998 0 obj <<
-/Length 1637      
-/Filter /FlateDecode
->>
-stream
-x��Xm��F��_�T)鼷���`���$W5i�����D��g
.�8���
l�F�T�'�ewvf��yf����F?NG�W;�8��t�D�A������%qoL0��G���xv�Q��n)�e<�%�-�r7�<[���$�_7�[Yz�//��\@�@���z-������~��z"p/�1eJ}q��$�"��
��^�ϲ���ܩQW��Y\K�r#�>	]�'�D�.�B	
����
�
b
Ɛ�d5z�
;sX~�`�G��՛VN@�^��f����=!�j\ϐo��Zjjݮ6yR�En���f%�:�K�H� }9�XI�E���0x ���E>���y��d�
����t1���6R�a��"�j�K@�
�"Ƭ��[�XXq�-"�",j�\�X�����Ξ1��Z̜1��}���
��3�^J�G7Vƙ�baD���B��}ط:ўNQH�=�2�t�
�O�8��!a*��		'톴2zK�0�b�i�k_���_
	ı�oY� [...]
-��P$(�
 �[ӛ��j�������/�S�VI�p'sYG��ɲX5Ge#,ˌ����,�i&'=�����@
�U�
�����A�^�3�\�u�&5E͊�F��(�׹�
-��}1x:�
-QqsL��?"��@ ��I�
m��
mk�}�K��Q��D�ˇr
��Ϛ?X��x�n����
b�L��n-m|���T�Ղ��IUL|TUYڰ[+�����

��8TFN��7��f.Z�JMx�OW�Bк�P�����s-�x! ������7�Y㍡F�:W��L �>t�b�U�U��&�F�PW����IA�u_`���N갈��D��WE<PT�m\��Q��j��Z�
�R���2����K���PA�Tu8$�c������ ?r٠��od�������0]�N9�6�*%��;�ܶS߿H���
Ղ�7����U��j�H�9�s��j�
-��	��v
�S- ��*K��Y��2��$uQ�OL�L�?�v���L��zZ5�k�v3��"V!��̘�B��e�UO����F։X��'���
ob`�{t��*���@��>��R���������>蛂=W<m	s�:�e	Ey��5�m�.���=��3����E��]��h���Ap0h~��8`RC"��؋��F(�\�qROz#Fp��g�?�=��yo�M>��e�<
��<-�0��3�~%W�_R7̐�)�2u���
`�^5�ӽ�h.�c5�	N�7���U1���H�Ǩ[��6S_¡��9 �^7�S�^�tk�����2��QϢ���)�`�����C)�
�P��P���(<*jܵ�ͼk
��k
��d��ǘk��q��3��׌je��
#`��A
���}#�5�X��i����k�/	�q��dY�����v�EI�6y�.QZ_�Tvy��
) �h����(ہW�>
���r��/
-endstream
-endobj
-3997 0 obj <<
-/Type /Page
-/Contents 3998 0 R
-/Resources 3996 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 3977 0 R 3978 0 R 3979 0 R 3980 0 R 3981 0 R 3982 0 R 3983 0 R 3984 0 R 3985 0 R 3986 0 R 3987 0 R 3988 0 R 3989 0 R 3990 0 R 3995 0 R ]
->> endobj
-3977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 374.853 150.493 385.383]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72) >>
->> endobj
-3978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 335.351 141.367 346.255]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.865 335.351 174.293 346.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) >>
->> endobj
-3980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 259.632 199.475 270.162]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8) >>
->> endobj
-3981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 222.26 199.475 233.164]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) >>
->> endobj
-3982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 222.26 301.193 233.164]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 173.306 199.475 184.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af2441164b4c23a8203f399f561c9a7c7) >>
->> endobj
-3984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 173.306 301.193 184.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.691 173.306 477.247 184.21]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.672 159.613 303.64 169.518]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-3987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 136.307 199.475 147.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4ce2f9170fb3470ba10d87607c3c0bf3) >>
->> endobj
-3988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.242 136.307 291.799 147.211]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.308 199.475 110.212]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938) >>
->> endobj
-3990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.745 99.308 320.301 110.212]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3999 0 obj <<
-/D [3997 0 R /XYZ 89 770.89 null]
->> endobj
-4000 0 obj <<
-/D [3997 0 R /XYZ 90 721.073 null]
->> endobj
-3941 0 obj <<
-/D [3997 0 R /XYZ 90 704.204 null]
->> endobj
-4001 0 obj <<
-/D [3997 0 R /XYZ 90 704.204 null]
->> endobj
-1329 0 obj <<
-/D [3997 0 R /XYZ 90 513.214 null]
->> endobj
-154 0 obj <<
-/D [3997 0 R /XYZ 90 506.442 null]
->> endobj
-4002 0 obj <<
-/D [3997 0 R /XYZ 90 393.59 null]
->> endobj
-4003 0 obj <<
-/D [3997 0 R /XYZ 90 393.59 null]
->> endobj
-4004 0 obj <<
-/D [3997 0 R /XYZ 90 276.308 null]
->> endobj
-4005 0 obj <<
-/D [3997 0 R /XYZ 90 239.429 null]
->> endobj
-4006 0 obj <<
-/D [3997 0 R /XYZ 90 202.43 null]
->> endobj
-4007 0 obj <<
-/D [3997 0 R /XYZ 90 153.476 null]
->> endobj
-4008 0 obj <<
-/D [3997 0 R /XYZ 90 116.478 null]
->> endobj
-3996 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F21 2356 0 R /F79 502 0 R /F107 2329 0 R /F38 2117 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4046 0 obj <<
-/Length 1081      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ�SJ��n���u�L��9�>�
%B'<��G��xH����XI%�����o�]by 0���6���%.t`0.���
=�����c�T8�Bkӗ�nW7�[s�w5�}�a}	\�P:`
��>!��� A�:�� #TCp���C�/��
�0�Ph
�1ĸt�^,�V7���ʍ��{��#d]����������"�����G�=�(
����b�͒4/O����Y��c#�1Y�~O��;��A�W�
�G̀

�V0��(�BY�`�Ri�q�Ry��7/�����6�V�#����Ws�N�{9%��1��N_�>�:���GI鏡(��� y@�V�:AO��>w��ֈ:F�qP%�
U
 m7��g^z�uU�n�2�_�SG�C��RՅ6���(����m<��E�$�s{ӱ��{������ׁG�����O�P��S�ɒ�.�c��E���4N�
-A4�2
�^���W�\<��x!�]b���0t�nd\k���fȚAI�CZ�A���	m��'.t������j9̠��Z��}�1�X���e�ԛ����J�a��@&�:Ĺ�桧3���:
9"!cn-�󊬵���Y}�ɗs{Q�?\�:�69���Z���v�# �Li~��y�
��Ԥ
7S�

����I+*�޴2�tZ��=��m`7׮bO��7�2 7�P�!'�vT�� ^��M6����θ
֘6��Ӎ�Yi��8��
-�h��aMB�Έ���6ћN�Pg%�$��&
�6���pV�6��T��L
�^��'�2��9�RΪ����8��ݾ<|��A��u�cuL5$�>�б:�s+��	��.
1���X2���[`�6
�lO�Z�
]&��E���哳�
)�/x4�6A�^v����[���*h�.4F�������iʵ�N,&!�JEX�*��=tU���n9S~Z
�
F��.��ߙJ�9����//^Է	��_�)�f��"�S����$t�n�����>����&i:�HHѪs������xx��
.�`�� ���a��Ѱ��+#�$�����XOFE.l��_vC�
-endstream
-endobj
-4045 0 obj <<
-/Type /Page
-/Contents 4046 0 R
-/Resources 4044 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 3991 0 R 3992 0 R 3993 0 R 3994 0 R 4010 0 R 4011 0 R 4012 0 R 4013 0 R 4014 0 R 4015 0 R 4016 0 R 4017 0 R 4018 0 R 4019 0 R 4020 0 R 4021 0 R 4022 0 R 4023 0 R 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4030 0 R 4031 0 R 4032 0 R 4033 0 R 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4043 0 R ]
->> endobj
-3991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 199.475 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) >>
->> endobj
-3992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.525 707.957 323.081 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-3993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 671.458 199.475 682.362]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b) >>
->> endobj
-3994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.12 671.458 313.676 682.362]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 634.958 199.475 645.862]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) >>
->> endobj
-4011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.313 634.958 320.869 645.862]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 598.459 199.475 609.363]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) >>
->> endobj
-4013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.517 598.459 341.074 609.363]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 561.959 199.475 572.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) >>
->> endobj
-4015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 561.959 330.264 572.863]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 525.46 199.475 536.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) >>
->> endobj
-4017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.487 525.46 333.044 536.364]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 488.96 199.475 499.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9) >>
->> endobj
-4019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.083 488.96 323.639 499.864]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 452.461 199.475 463.365]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) >>
->> endobj
-4021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.276 452.461 330.832 463.365]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 415.961 199.475 426.865]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) >>
->> endobj
-4023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.48 415.961 351.036 426.865]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 379.462 199.475 390.366]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) >>
->> endobj
-4025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.81 379.462 292.366 390.366]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 342.962 199.475 353.866]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) >>
->> endobj
-4027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.215 342.962 301.771 353.866]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 306.463 199.475 317.367]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) >>
->> endobj
-4029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.419 306.463 321.975 317.367]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 269.963 199.475 280.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) >>
->> endobj
-4031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.431 269.963 347.987 280.867]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 233.464 199.475 244.368]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) >>
->> endobj
-4033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.873 233.464 347.429 244.368]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 196.964 199.475 207.868]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) >>
->> endobj
-4035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.745 196.964 320.301 207.868]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 148.51 199.475 159.414]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae3a660d2b2a34f69d2d0cb1cc77f6f69) >>
->> endobj
-4037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.469 148.51 327.026 159.414]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 88.1 199.475 99.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) >>
->> endobj
-4039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.812 88.1 301.193 99.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.672 74.656 303.64 84.562]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4047 0 obj <<
-/D [4045 0 R /XYZ 89 770.89 null]
->> endobj
-4048 0 obj <<
-/D [4045 0 R /XYZ 90 721.073 null]
->> endobj
-4049 0 obj <<
-/D [4045 0 R /XYZ 90 688.468 null]
->> endobj
-4050 0 obj <<
-/D [4045 0 R /XYZ 90 651.968 null]
->> endobj
-4051 0 obj <<
-/D [4045 0 R /XYZ 90 615.469 null]
->> endobj
-4052 0 obj <<
-/D [4045 0 R /XYZ 90 578.969 null]
->> endobj
-4053 0 obj <<
-/D [4045 0 R /XYZ 90 542.47 null]
->> endobj
-4054 0 obj <<
-/D [4045 0 R /XYZ 90 505.97 null]
->> endobj
-4055 0 obj <<
-/D [4045 0 R /XYZ 90 469.471 null]
->> endobj
-4056 0 obj <<
-/D [4045 0 R /XYZ 90 432.971 null]
->> endobj
-4057 0 obj <<
-/D [4045 0 R /XYZ 90 396.472 null]
->> endobj
-4058 0 obj <<
-/D [4045 0 R /XYZ 90 359.972 null]
->> endobj
-4059 0 obj <<
-/D [4045 0 R /XYZ 90 323.473 null]
->> endobj
-4060 0 obj <<
-/D [4045 0 R /XYZ 90 286.973 null]
->> endobj
-4061 0 obj <<
-/D [4045 0 R /XYZ 90 250.474 null]
->> endobj
-4062 0 obj <<
-/D [4045 0 R /XYZ 90 213.974 null]
->> endobj
-4063 0 obj <<
-/D [4045 0 R /XYZ 90 177.475 null]
->> endobj
-4064 0 obj <<
-/D [4045 0 R /XYZ 90 117.065 null]
->> endobj
-4044 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F38 2117 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4084 0 obj <<
-/Length 816       
-/Filter /FlateDecode
->>
-stream
-x�ݙ]o�0�����@Z
�`�մ�uk�}�k����8�U>R��_?�!	Y���W����{��9`#� \'���C�A�L�!�9
RW�"pkb]k�B故��$�^Y�Y�Y�H�ob&�9;;_��2���G�̸��'_��M@�m�U����k��5'�Yk1�<�|g��$��psij� fv;��?
��A�k���'�8(���s%�&OCՅ1%&vY���<1

�� �50
-=��q{�@��� m�um� �T�bpc�4P���k�����
t����Q-��Z��
���E#��� �#��v<+�qʪ��Q.��ߨ&>p���(J��::��u0abjki���l��a���T"��SP�,�}si9���
-�E������Y���ɏ�<(�Ʃ
_��H�'�"^��Gu��wЎ� �
1f��m.)���z���2d��2�ũ���
��HO���24�q�j�o�E0\�'G{p���4�`�{ gh��^���(����nX�ģ�R�A���>�x��S(��#
�;��,��}��0�QV�b�'�F�@��ݚ��_Z�8�Ҽ���
��n��M?�eŪ6
-��~���*~{/l�r�Y5>�o�=��g_�7O��Mn OH�9_U"m��@�����)aL v�+����
�����>��°_z��

�A��7:���ק)K�
�TK[&MLW�q�n6g:��+��E�٬��AZ��M������R7$Uv�5��Λ�ud������Ӌ}�h{,�bu6
��k�L�JBQ�W�x��x5V���N�lS y�lՙԙ��C��?l��
-endstream
-endobj
-4083 0 obj <<
-/Type /Page
-/Contents 4084 0 R
-/Resources 4082 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 4041 0 R 4042 0 R 4065 0 R 4066 0 R 4067 0 R 4068 0 R 4069 0 R 4070 0 R 4071 0 R 4072 0 R 4073 0 R 4074 0 R 4075 0 R 4076 0 R 4077 0 R 4078 0 R 4079 0 R 4081 0 R ]
->> endobj
-4041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 695.797 199.475 706.701]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) >>
->> endobj
-4042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 658.525 199.475 669.429]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) >>
->> endobj
-4065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 621.253 199.475 632.157]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) >>
->> endobj
-4066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 583.981 199.475 594.885]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) >>
->> endobj
-4067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 546.709 199.475 557.613]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) >>
->> endobj
-4068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 509.437 199.475 520.341]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) >>
->> endobj
-4069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 472.165 199.475 483.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) >>
->> endobj
-4070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 434.893 199.475 445.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) >>
->> endobj
-4071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 397.621 199.475 408.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452) >>
->> endobj
-4072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 360.349 199.475 371.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) >>
->> endobj
-4073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 323.077 199.475 333.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) >>
->> endobj
-4074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 285.805 199.475 296.709]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4) >>
->> endobj
-4075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 248.533 199.475 259.437]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4) >>
->> endobj
-4076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 211.261 199.475 222.165]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) >>
->> endobj
-4077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 173.989 199.475 184.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
->> endobj
-4078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 136.717 199.475 147.621]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) >>
->> endobj
-4079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.445 199.475 110.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5) >>
->> endobj
-4081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4085 0 obj <<
-/D [4083 0 R /XYZ 89 770.89 null]
->> endobj
-4086 0 obj <<
-/D [4083 0 R /XYZ 90 713.103 null]
->> endobj
-4087 0 obj <<
-/D [4083 0 R /XYZ 90 675.831 null]
->> endobj
-4088 0 obj <<
-/D [4083 0 R /XYZ 90 638.559 null]
->> endobj
-4089 0 obj <<
-/D [4083 0 R /XYZ 90 601.287 null]
->> endobj
-4090 0 obj <<
-/D [4083 0 R /XYZ 90 564.015 null]
->> endobj
-4091 0 obj <<
-/D [4083 0 R /XYZ 90 526.743 null]
->> endobj
-4092 0 obj <<
-/D [4083 0 R /XYZ 90 489.471 null]
->> endobj
-4093 0 obj <<
-/D [4083 0 R /XYZ 90 452.199 null]
->> endobj
-4094 0 obj <<
-/D [4083 0 R /XYZ 90 414.927 null]
->> endobj
-4095 0 obj <<
-/D [4083 0 R /XYZ 90 377.655 null]
->> endobj
-4096 0 obj <<
-/D [4083 0 R /XYZ 90 340.383 null]
->> endobj
-4097 0 obj <<
-/D [4083 0 R /XYZ 90 303.111 null]
->> endobj
-4098 0 obj <<
-/D [4083 0 R /XYZ 90 265.839 null]
->> endobj
-4099 0 obj <<
-/D [4083 0 R /XYZ 90 228.567 null]
->> endobj
-4100 0 obj <<
-/D [4083 0 R /XYZ 90 191.295 null]
->> endobj
-4101 0 obj <<
-/D [4083 0 R /XYZ 90 154.023 null]
->> endobj
-4102 0 obj <<
-/D [4083 0 R /XYZ 90 116.751 null]
->> endobj
-4082 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4138 0 obj <<
-/Length 1310      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�F}ׯ�Ʌ���O<Mg���$M��V��K+[
- {�_�

d}�Zr5c?���˽�{���ƭ����߻�ΩĆ�\��Fwh�ؐ�E†���2��ַ�g��"�
����Ϻ'g���Y����"�DH:F�o]}�� n60b�c<d�|�Sױq����s_p�'aW|"D"VHB!ځkJE��bY�F"Wb��q����D�����tA�9�yT"��b�zF͒��SƝ�&*�|e����i�Kl
-�(�Œ�r7Sp��
����A�
Q�m�"��N��[�j�;��7*��l\�v�k,p?
��ʆ�W��1�*y����I�݌U��P��ν��"!�c<*٠�!%�����D�G�x�5N�����9�u�ld
�����<�GG��7��<��0\�^�1��u��O��
�a��i��q� ���9?!�X��f�
^̐�����(��4U?�m�p
��%�0����Ņ��7
��C=��7
���i0����E������]\��F�%p�z!R;|��8�X��
���c�>#n����R�p�!.�6%����q�d��f8Q����~sw�<қiydi�F�Pd�Rds������Gu��eZR/RlSO��6#i�\&�((�)�?�勆����d�l�h<+3L}��zp��ys��J\
�]�n�eW��`E��ጼԋ�^Ydk1��@_,AN#:T��sԒp�`�[����}>�/�Ҳt�%qn�nr)r
��n}�~�祿��y�m�ݢC�_��j.W [...]
-x at 9sD	�3�I���r�w��k�](M�b�����:h�V�
�wꂺ.�΂r���$��şw���JA�2:�	Y��5��7��:�T��a�UG�f�-�����M�leW�\��v�� F��k���r�����i�%b��_�x2/lX˚��'�H�
-�
��	X��*��f�����6�S�(~�D^�}���K3?���
���*3�w�h~������!}�v��f���n��L;�:�@�pI��$�
u:��i0�Dh�t&�q�q�V�@����aq��Qq
�M?;�E�I�	
-I��
-endstream
-endobj
-4137 0 obj <<
-/Type /Page
-/Contents 4138 0 R
-/Resources 4136 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3967 0 R
-/Annots [ 4080 0 R 4103 0 R 4104 0 R 4105 0 R 4106 0 R 4107 0 R 4108 0 R 4109 0 R 4110 0 R 4111 0 R 4112 0 R 4113 0 R 4114 0 R 4115 0 R 4116 0 R 4117 0 R 4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R 4123 0 R 4124 0 R 4125 0 R 4126 0 R 4127 0 R 4128 0 R 4129 0 R 4135 0 R ]
->> endobj
-4080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 199.475 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a956de4112c520bb87767ce894b4d512d) >>
->> endobj
-4103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 610.876 168.86 621.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) >>
->> endobj
-4104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 574.476 187.002 585.007]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) >>
->> endobj
-4105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.436 537.703 210.524 548.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) >>
->> endobj
-4106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 464.159 199.475 475.063]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 464.159 251.021 475.063]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) >>
->> endobj
-4108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.359 464.159 352.739 475.063]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 415.43 199.475 426.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 415.43 251.021 426.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a80993a2a72759ec030dd3cde21c8a00d) >>
->> endobj
-4111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 366.702 199.475 377.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 366.702 256.64 377.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) >>
->> endobj
-4113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.977 366.702 358.358 377.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 329.929 199.475 340.833]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 329.929 256.64 340.833]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) >>
->> endobj
-4116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 281.201 269.974 292.105]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 281.201 415.711 292.105]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 269.246 171.52 280.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a59638854527a5bebee3676750668c63a) >>
->> endobj
-4119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 220.518 199.475 231.422]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 220.518 254.14 231.422]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2857ee1039a41cfab001c0ba21c69ac3) >>
->> endobj
-4121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 220.518 355.858 231.422]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 183.745 199.475 194.649]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 183.745 254.14 194.649]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) >>
->> endobj
-4124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 135.017 269.974 145.92]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 135.017 415.711 145.92]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 123.061 169.02 133.965]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9c4298d04019ab7b5233ddceb430be03) >>
->> endobj
-4127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 199.475 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 74.333 256.003 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a761744f24a8e2faed19912950cf13baf) >>
->> endobj
-4129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.34 74.333 357.721 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4139 0 obj <<
-/D [4137 0 R /XYZ 89 770.89 null]
->> endobj
-4140 0 obj <<
-/D [4137 0 R /XYZ 90 721.073 null]
->> endobj
-4141 0 obj <<
-/D [4137 0 R /XYZ 90 627.835 null]
->> endobj
-4142 0 obj <<
-/D [4137 0 R /XYZ 90 591.181 null]
->> endobj
-4143 0 obj <<
-/D [4137 0 R /XYZ 90 554.408 null]
->> endobj
-4144 0 obj <<
-/D [4137 0 R /XYZ 90 479.215 null]
->> endobj
-4145 0 obj <<
-/D [4137 0 R /XYZ 90 444.464 null]
->> endobj
-4146 0 obj <<
-/D [4137 0 R /XYZ 90 395.736 null]
->> endobj
-4147 0 obj <<
-/D [4137 0 R /XYZ 90 347.008 null]
->> endobj
-4148 0 obj <<
-/D [4137 0 R /XYZ 90 310.235 null]
->> endobj
-4149 0 obj <<
-/D [4137 0 R /XYZ 90 249.551 null]
->> endobj
-4150 0 obj <<
-/D [4137 0 R /XYZ 90 200.823 null]
->> endobj
-4151 0 obj <<
-/D [4137 0 R /XYZ 90 164.05 null]
->> endobj
-4152 0 obj <<
-/D [4137 0 R /XYZ 90 103.367 null]
->> endobj
-4136 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4184 0 obj <<
-/Length 1199      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ��)L��^YV���N�I�8��>�
��6�T@������KV}���e�{��wn�8غ�������;��RH�Ե��–�
-	��֙M0r�.��'�����ġ؞N�z
��߃�؏���
}����x
^���6��;"�r �1�����fIM8�2U�8��o�.�
-���h�"�)D+���Q���O#w�(j�p6�SmfN�%�O<[G#�"DP�H�	�t���-b Hz�(�}���?Y1�Y�����4�kb}�����ͧ���<P�幺
�$�Ms�?�'i0�,��~4.I\Ef<�e�
�O��$�F��w��;n�.����<3��S*B���W�:�YW�����r��T|UL�)o�k������������3��v	��G�5?�ip�
M�$-
�赀y�
-W�6�n�À!ד/�:�&���$��!�z%i��9j̫����\5"�&�E�[�n������9��a�LA���+y.��-�R�H;�#�b��/������;\�q
-�>f���1
�i�Pa�d���/��
4k�+��[E�q����� C��뀑H��9��M��?��7k���M�P�`��t��e:f���T��ך�AF�]�.�U��|����'�\�(ᅧ	�gM�a

-��G�!ۤ����6���>�T�Ͱ�}5��Eܫ{��$��� n�C
���6��Z!ۅ6�`
J6�6�mD��t�%��𮰭m�])�Y���
n���_Оޓ0��;���؊س�=[�[�=� 
�^`��ӌmJ��3�
��Jl��tv�3d�6��p���W��a�֡Dc a�e�y����q����|d�G�|�Q���s���
u�
@aE�?6��L� �Q�P�^��K�Y��u*�c�
HT	��"�~}�i��O�ݺA�]n�%>/��> � J���)I�Ԉ��C���>�Í��
-�"�XN��Qk&Paz�]U��i��R	�h
�� �FK����p,��"/��,鵟�#��W�bM�C�c��/˳�
-H�
�p�
-����\P
6I t���%�(�k]v�3��/^ˮ�y-Z����D�?9B�E����������bq2�A���Ր�e�b_uY��;[���N��/�$bx���t���noo�(A�(��(H{�٤�Z�*R�|˥��i�{8-�D0��P��㱲�
-endstream
-endobj
-4183 0 obj <<
-/Type /Page
-/Contents 4184 0 R
-/Resources 4182 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4130 0 R 4131 0 R 4132 0 R 4133 0 R 4134 0 R 4153 0 R 4154 0 R 4155 0 R 4156 0 R 4157 0 R 4158 0 R 4159 0 R 4160 0 R 4161 0 R 4162 0 R 4163 0 R 4164 0 R 4165 0 R 4166 0 R 4167 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4181 0 R ]
->> endobj
-4130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.304 199.475 696.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 685.304 256.003 696.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) >>
->> endobj
-4132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 637.008 269.974 647.912]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 637.008 415.711 647.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 625.053 170.883 635.957]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac95c1fbaee07d3a9cead4d07683f6168) >>
->> endobj
-4153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 576.758 199.475 587.662]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 576.758 253.791 587.662]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a72ef8379745ed9575b39216ba1e51d18) >>
->> endobj
-4155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.128 576.758 355.509 587.662]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 540.417 199.475 551.321]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 540.417 253.791 551.321]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b) >>
->> endobj
-4158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 492.122 269.974 503.026]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 492.122 415.711 503.026]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 480.167 168.671 491.071]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afc3433d8ec297e2d1fbdf559d93f9080) >>
->> endobj
-4161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 431.871 199.475 442.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 431.871 259.32 442.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7e90d52413515d81ad9b68fb1740d869) >>
->> endobj
-4163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.658 431.871 361.038 442.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 395.531 199.475 406.435]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 395.531 259.32 406.435]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) >>
->> endobj
-4166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.413 347.236 269.974 358.14]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.331 347.236 415.711 358.14]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 335.281 174.2 346.185]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae179c684a9ed7eafbbac1825d17f7daa) >>
->> endobj
-4169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 263.3 199.475 274.204]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 263.3 256.64 274.204]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) >>
->> endobj
-4171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 226.959 199.475 237.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.973 226.959 246.399 237.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) >>
->> endobj
-4173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 190.619 199.475 201.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 190.619 251.839 201.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) >>
->> endobj
-4175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 154.279 199.475 165.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.973 154.279 241.597 165.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16) >>
->> endobj
-4181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4185 0 obj <<
-/D [4183 0 R /XYZ 89 770.89 null]
->> endobj
-4186 0 obj <<
-/D [4183 0 R /XYZ 90 702.274 null]
->> endobj
-4187 0 obj <<
-/D [4183 0 R /XYZ 90 665.934 null]
->> endobj
-4188 0 obj <<
-/D [4183 0 R /XYZ 90 605.683 null]
->> endobj
-4189 0 obj <<
-/D [4183 0 R /XYZ 90 557.388 null]
->> endobj
-4190 0 obj <<
-/D [4183 0 R /XYZ 90 521.048 null]
->> endobj
-4191 0 obj <<
-/D [4183 0 R /XYZ 90 460.797 null]
->> endobj
-4192 0 obj <<
-/D [4183 0 R /XYZ 90 412.502 null]
->> endobj
-4193 0 obj <<
-/D [4183 0 R /XYZ 90 376.161 null]
->> endobj
-4194 0 obj <<
-/D [4183 0 R /XYZ 90 278.248 null]
->> endobj
-4195 0 obj <<
-/D [4183 0 R /XYZ 90 243.93 null]
->> endobj
-4196 0 obj <<
-/D [4183 0 R /XYZ 90 207.59 null]
->> endobj
-4197 0 obj <<
-/D [4183 0 R /XYZ 90 171.249 null]
->> endobj
-4198 0 obj <<
-/D [4183 0 R /XYZ 90 94.991 null]
->> endobj
-4182 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F56 363 0 R /F23 364 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4245 0 obj <<
-/Length 1632      
-/Filter /FlateDecode
->>
-stream
-x��[ms�F��'��|���L�3m�t�6N�OIF#�lk�D0������x� q>!���������n,l���}�9!�����m
�-�-�56|Y�D�ާ�+��
-mè���7���K�[����o��O�"������·O���WFL+k�
-M,N|����?
�ۂ�6	�b�6�LY�DHf�GJE:y1,
#����1
-q[�&�d:v�
8a4�rT"�U!�K&Q�d#�d�i1�w���T��A!�HqZ��Z*\.�/RRZ}X�"|
�Wc�yy�
�e.�J�h��N���&���?W��(+=�2v.���Q���#��9o"�٭7��#��6�f �ꢶ�
KPHH��)�
-��O�K���{�y�*
�
jEX�
����������N&���ɕ�
��|�� N
-�gwp�����2��X3:a����bw������O'����}��c��t|��)���~�4h�
)���{.F��pOy�8yX�'�|�%���0��}\x���I�F���$��!.������|W��]���i���^��=;�e\N���6�]I���f.X�B9�Bl2R5R��8���;/���u��	bT쉭}&bZ�a��2�
�6�Vq��9�+tNݖ3���T�.�#?�q���ȏr��w���A�2�)#�2����c�&p�o#!�ǗV�r��^_�J+8<߅�G��6|�R?��mG���P	,$j����ԁ�j�Q���^R���n�BY�K���pC����H��)mg^�i�lJ�`{�Lԛ�h?pk������/, �#��L	W�f?�H�c�6W;qa���&��[���}W��ڈ+����f�5�����lvb��lm'�Z�B%��XIcu�����G닓xn��N�
-����
-���'���D�aϦ���%'%/�u�=�\�ar�{��P˵���%��r
v�u-VȰ4��l�
L$� �ov����ܝ��,ZV��@���]&PS'S��s?�mPB@��tѠ
)�Q�n���jj��_a��`�7�>�Gz��β�\{��G�����&��e2h:��u�CR��G{�LL�	y�����Kc}�!�6|*D	͆��&a��̺����2���0�� ?i��x~�#%�U�R��5+�X�;bc�!W%a⎝I�}���E��G�}b��x��
Ԇ�
 3�@V�{�,Pf
��c��6��KD�9�3?�������
-��p6����G5U%�����^K
-�8�2%��+�67���i��l�s
m�H���.��k2O)�4���� 
Tof���6q���&?Yig
b%�ú֝���T��4"2�N~����x	� 5��ԋ�$�����N븇�x7�H
-qUG��w}�%̡����a;|M���}-�{���-��y�0��Oc��i��]7O�lNO��A:s��?
��r��7���M��v�������	&e�����

� ��YHN�DB�
��\x�M�җ�[o�_����rE�c/��'D7_�k7�-�E�4'���C+��q(2�7 at +�Ee���Vq��q/��$b����$�>=?���h�Y�O#�'����|5�T��d��ܟ�&�ʊ
-nN\Ӆ׃A��tƉ
-endstream
-endobj
-4244 0 obj <<
-/Type /Page
-/Contents 4245 0 R
-/Resources 4243 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4220 0 R 4221 0 R 4222 0 R 4223 0 R 4224 0 R 4225 0 R 4226 0 R 4227 0 R 4228 0 R 4229 0 R 4230 0 R 4231 0 R 4232 0 R 4233 0 R 4234 0 R 4235 0 R 4236 0 R 4237 0 R 4238 0 R 4239 0 R 4242 0 R ]
->> endobj
-4177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 696.002 258.993 706.906]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 696.002 439.727 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab65697a5fab14ca76c391a3aa523e3f6) >>
->> endobj
-4179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 670.679 258.993 681.583]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 670.679 440.305 681.583]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) >>
->> endobj
-4200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 645.355 258.993 656.259]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 645.355 432.554 656.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) >>
->> endobj
-4202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 620.032 258.993 630.936]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.361 620.032 403.772 630.936]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) >>
->> endobj
-4204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.432 594.709 258.993 605.613]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.555 594.709 409.69 605.613]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0acb1530838a14041c43002dd8ee3541) >>
->> endobj
-4206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.108 569.386 259.668 580.29]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.93 569.386 480.387 580.29]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 557.43 152.425 568.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a84ea81a9b4eed51ac13029dbccf67662) >>
->> endobj
-4209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.801 557.43 314.357 568.334]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.108 532.107 259.668 543.011]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.93 532.107 480.387 543.011]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 520.152 149.108 531.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a755f1ffc7dbac4ff01984c02774c9bc6) >>
->> endobj
-4213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.483 520.152 311.04 531.056]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.749 494.829 259.31 505.733]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.948 494.829 348.404 505.733]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.47 494.829 417.668 505.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad6c64cb3cfad6b8d7fb952e3f85347aa) >>
->> endobj
-4217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 482.874 173.467 493.778]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.019 457.55 261.58 468.454]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.597 457.55 358.053 468.454]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.66 457.55 431.858 468.454]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acdce8391d61c3090aa51f9d0656524a2) >>
->> endobj
-4221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 445.595 173.467 456.499]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 420.272 156.281 431.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) >>
->> endobj
-4223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 420.272 234.477 431.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.814 420.272 383.195 431.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.251 368.629 199.339 379.533]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_adfb768d4ea63e2eb5d58aec03b999f17) >>
->> endobj
-4226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.676 368.629 301.057 379.533]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.73 343.306 175.818 354.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afed617fd6598839b510b46a3857387d4) >>
->> endobj
-4228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.633 343.306 254.014 354.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.828 280.179 247.464 291.083]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abb6ca6c02bde2f04d412129e4be9743e) >>
->> endobj
-4230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.801 280.179 349.182 291.083]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 232.938 202.902 243.842]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 232.938 314.263 243.842]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2f03dea4f9d5f0e15e18785cf3dd58a3) >>
->> endobj
-4233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.601 232.938 415.981 243.842]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 145.693 199.475 156.597]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.098 145.693 296.905 156.597]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae6fa6e27a794dc71b88169df7f08fcac) >>
->> endobj
-4236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.242 145.693 398.623 156.597]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.452 199.475 109.356]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.098 98.452 294.404 109.356]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac62afeb287031d74441101af60be319a) >>
->> endobj
-4239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.742 98.452 396.122 109.356]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4246 0 obj <<
-/D [4244 0 R /XYZ 89 770.89 null]
->> endobj
-4243 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F23 364 0 R /F79 502 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4300 0 obj <<
-/Length 1538      
-/Filter /FlateDecode
->>
-stream
-x��[m��F�ί�Ԩeog�7�*�Q)i�kB?%��>���]ȯ�_���r	�0�����<������/[�w[g/4
,����{Xha�T���
��� �4<o
�t
]��
'��u�O��?��i�.�>}~
�>�Aq�����2N����^ T`L�.�����k2n�ݶ�/��N�l�ao�E2�,/����|M���n۲0
ߌ�Y��y_��`�8��) �B��	m��m��C�
&�6Ao�z��}<�*��[�e�Ɓ`N�Q��O����=���&h�p� ha��{�d�x9-�����
C�2�e�Ҕ��Tơ���kޯIRD����7q���M�O��k�n[� �ŖU�%T�������	5�X)��~������p�����]��{J�d�^�vI�K��~QF�=n+���E,5�.�)�׼T`C��&/9��
���5UW*k�!a��s-.X�{6���]f�|9�+�P�U(|* U����(ms
2ONg��a�a(h8H���(?{��E�$�b� �
cئ�J�Q�E)@�4�MjI����d��j0��!N3�-O�k���|�!����u#��0-���i�@hQ����'��TC��$� [...]
%�����8��r8g��
-�X�N%��7���5�3�[ބ5n�縱�y�N)��u����
>W�=��\0��s�?�+b���h�`�#��#g�apsJ*GO*�"�<���"{���(ܢo�����d���6�DI�3��RJ�y������:֪5wZ�����d4/��HE��'�-B�GF��]7��hr��&I��}�l��Q�f4�!���+��[���q��{n�
��CR�=E/�F��'W[�
-A�L_��m!C����R�o;O��0vJT��~�9yp��;g�ѵ���E�p6-��'�
'�~��0K-#�t���EKO���f���L�M��4��E1IW�4��4.����Dz����\A����䮸��1pJ��S�ؕ&�8�7�•}d���� �G
�R<����7 �]=,�����{�N���0�V�Δ���ҭ�/Sj�+�5Q
���Ĕۀ�e��X�S}$”��o�t�KuMu����Sሃ�
%������G8������C���-0毮q�}s�@�q��zo;\R�����¢�dy
{ݐ}����7�
���� ��L�{J�yB�"N�8X��(Jß���6�a�/����"�c�a����U���ݒ+�p:�lJ�p�zLq
j��6��[&
T՗\�_rU��\�7����?_����<�
-8%��8�v������T(����C��NҸb�ʼn�D�����A��
 �8ZE��I����$���4NjK��W���WG\��u��t��!F�{��Eq���8.��-��G�]����`4᫻�׳��ӳ���;қ�y2�I�pvvs3:ۤ�����R�դxX5��q��
-O��ܧG��C�/�
-endstream
-endobj
-4299 0 obj <<
-/Type /Page
-/Contents 4300 0 R
-/Resources 4298 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4240 0 R 4241 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4297 0 R ]
->> endobj
-4240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 696.002 195.799 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa8f66682c527ff5a5a2496de0e3fb2ec) >>
->> endobj
-4241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.615 696.002 273.995 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.134 649.264 196.833 660.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2f9c525f46f4ff5707b505a88c82aee0) >>
->> endobj
-4263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.684 649.264 276.064 660.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.387 649.264 454.768 660.168]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 590.571 191.365 601.475]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ada7d59af059bdfb2e485d341213e6d19) >>
->> endobj
-4266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.181 590.571 269.562 601.475]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.528 543.833 192.794 554.737]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab1b19ff2b88ffca75ac27208cdd877a2) >>
->> endobj
-4268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.038 543.833 272.419 554.737]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.205 543.833 453.586 554.737]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 485.14 197.453 496.044]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a798df1392d067294fc936bcfa19745c4) >>
->> endobj
-4271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.268 485.14 275.649 496.044]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.987 438.403 198.34 449.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3f5e732694ad7d879ac7eaef0668073a) >>
->> endobj
-4273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.043 438.403 277.424 449.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.828 438.403 455.209 449.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 379.71 191.216 390.614]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad3d8562d66aeed544d8ef75b941e807c) >>
->> endobj
-4276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 379.71 269.413 390.614]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.541 332.972 192.658 343.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac32024703f8ac04b6b68ff1761575d2d) >>
->> endobj
-4278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.916 332.972 272.296 343.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.165 332.972 453.546 343.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 274.279 190.26 285.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a307453961ae9779ce9e1e3ebcc94496d) >>
->> endobj
-4281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 274.279 268.456 285.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.626 227.541 191.787 238.445]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa831d9698f64ff610fa1b3341025603a) >>
->> endobj
-4283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.129 227.541 271.51 238.445]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.91 227.541 453.291 238.445]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.668 168.848 212.417 179.752]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abe0aef8acc1101523cfbf50ebce7528e) >>
->> endobj
-4286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.801 168.848 291.182 179.752]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.593 168.848 466.974 179.752]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 156.893 250.302 167.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.722 110.155 211.923 121.059]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a95ac9759a14fe23bf8d02a621e4e9e5c) >>
->> endobj
-4290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.36 110.155 290.741 121.059]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.486 110.155 466.867 121.059]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 98.2 250.302 109.104]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4301 0 obj <<
-/D [4299 0 R /XYZ 89 770.89 null]
->> endobj
-4298 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4355 0 obj <<
-/Length 2144      
-/Filter /FlateDecode
->>
-stream
-x��[Y���~�_�l�J8;���\�Cr�I$�b�$�EB��y	 W�����
� �ݸ�D
������b�����N.�^*�d$���g���AB���{��G�N~�Ԉ	_%��{�j����}w�br���+�T�@J{����_�7��?y1��OI���)�ߥ����8�Wu��!
-I�B�IxG�H:�?K�Q�(L�7q�sm�`�]N��~p���J;��&o���EM�DBv��`=]�1؟�?K��~�,��CC�� ,h.�����1a
a�� #D��nD��Y�3˭�Û���p�
SN����zE��u�C�[���~�w�~���W��� ��2
@ed8E
�C�U�`D@���d�x�/Ps�C5�
�U��N����T��6�(���@	C\����FrbFR�d�c�������x��Ì7�错��n:�	S�+�/��iKj��+�n��i�p��1�H��1�$�e��I�3��
hT��}ڠ&�bP��6
�pĔ ���'��j�Y�����"ڄ���CC��4��rZ:.�b��7IH���G��X1�P�k at Z"
-#���I'g��_Ƶ����|���mtR��;Ô J�~�ZE:�B	k��V0��p�o�P�51�4�
g�
`V�jV�����Df�Er�
(ˉ>@Y��(�
w�lE�el��0�x:
J��ҡ�icF���9ΨS�
-Rr�E�+���T���A�J!lڈ��V"���H�#R��G�p])�-�nZ��3�M���[�T��D�$y؏�8^�o�|S�Lb�S��)p2�%3�6��i�άw��
��i��A<G�ұ�ܿ�B�&�DB�gzե���S�����N-Y>���
���aY
��HA��>E$
�r�j+"��H%���‡� ��
-,�\�@ʹ���8y:
^D2-�F}."�n�
�M��j���e�U>b�4WO�|�
II���
xe2��4- �m,�iX��"DK�2v��%�!�q�(c{,{d��֜8mT�m
3HF�����GE%n��
�ӻ�:��l
��-�L��_���]���*�'�Q
���D�d$HI�H�e�4k�6QJ�-`\�JIZ������1�4
�a�x���ô�rmD���1�O�cP*	�����]8f��*rS3�D�

-c
	��0`
C*I�0�
cc&�$m�)S
���)
-�<�����bټ����
�Z�
-ڞ�$���z�r�a.z�pJWI���-��)�w8Ng�u��I���,�:y��l�)�V�B�/���Me���]�a�ƴk�� j"9�*V�WW�;S'��C��W����ċ �(���.���^��c�&�aeGw�W��5905O�&�������t����a�f�>q-nOǦ�$@b�tmzj�FYMp�
�:O�؎���L��1l
3e�X�O�ˇ��iYM�/��6P�q7M����pą���
�d at Y�v����\
.
U����%�~	 # ,��T��� �ƛ0���k7��4\D9��ܭg����*S�!.����0ҁaڄ]��c�
]�@���}���_�9a׳����h��}�R������W0zIZl�-�~
^W�sş!!�O4���� %�Mn�����g�I57X�����9�AV�0&N�
-�豶�&��}	��޶��e7
��=-��@�uVCs�=z���h�^RViJ�\*w���|H0Q��=���6�w���[*�\G��~�Y6�@�݋�{�-u8!�&C������ѥY@�8
o�^% ��[0JKʢ��Q/��<�}̷\�Ӂ�6t��#Z
L��a
�3�3}����N�r9��>8��N�H��̧'5?��Z�C!jȀ�p��}|uHL����!�d�K����(83șA�
��(@$q ��Ɵ�A�,@� ��I����Q��A��� T�A�z�0D��(Ȋ�Pժ� �1"<���(
-���+8�@���߯��]�#e���¿=z(<��0���$_�9!�p5-��n�y���s�>����'
-¿�C��jۿ��]�gݑ�NXnf�+�����{䃖����_��.�*�b����8�>������Eh�^lC�������!=V� o�M�?έ6a�"
-Wɚ"���,�<�
-endstream
-endobj
-4354 0 obj <<
-/Type /Page
-/Contents 4355 0 R
-/Resources 4353 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4293 0 R 4294 0 R 4295 0 R 4296 0 R 4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R 4357 0 R 4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4326 0 R 4327 0 R 4328 0 R 4329 0 R 4330 0 R 4331 0 R 4332 0 R 4333 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R ]
->> endobj
-4293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.015 696.002 191.281 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae4bfe4a80fb074c50ec17657eee225e8) >>
->> endobj
-4294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.013 696.002 269.393 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.762 696.002 441.143 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 684.047 222.997 694.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.074 637.676 204.365 648.58]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad5ff0dd1267079af85d9938bb4a975de) >>
->> endobj
-4315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.155 637.676 283.535 648.58]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.986 637.676 437.367 648.58]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 625.721 199.475 636.625]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.238 625.721 370.619 636.625]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.945 625.721 513.996 636.625]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 613.766 159.735 624.669]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.968 567.395 191.792 578.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) >>
->> endobj
-4321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.476 567.395 269.856 578.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.951 567.395 441.332 578.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 555.44 222.997 566.343]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.197 509.069 216.778 519.973]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acf004b26ba068e346217011b6fd43ae3) >>
->> endobj
-4325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.691 509.069 295.071 519.973]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.536 509.069 467.917 519.973]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.491 450.743 214.054 461.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5fa74080d6f3e00a7a0291e03f897390) >>
->> endobj
-4328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.261 450.743 292.642 461.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.947 450.743 467.328 461.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.33 392.417 215.546 403.32]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9b45abd63e1255df8341775c8f42b842) >>
->> endobj
-4331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.592 392.417 293.972 403.32]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.27 392.417 467.65 403.32]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.922 380.461 250.302 391.365]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.479 334.091 193.302 344.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) >>
->> endobj
-4335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.497 334.091 272.878 344.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.354 334.091 453.735 344.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 239.782 272.748 249.71]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 239.782 450.438 249.71]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 226.517 192.84 238.472]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.007 226.517 304.933 238.472]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.965 226.517 472.39 238.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab733c7c83da19667a83c2a3abafa5d05) >>
->> endobj
-4342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 169.501 272.748 179.429]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 169.501 450.438 179.429]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 156.236 192.84 168.191]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.504 156.236 305.43 168.191]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.768 156.236 471.892 168.191]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a79a5a323f582c4260790552d3be140fd) >>
->> endobj
-4347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 99.22 272.748 109.147]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 99.22 450.438 109.147]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 85.955 192.84 97.91]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.546 85.955 304.472 97.91]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.295 85.955 472.85 97.91]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_adda98cdf0bda436acac3193162fa53b0) >>
->> endobj
-4352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4356 0 obj <<
-/D [4354 0 R /XYZ 89 770.89 null]
->> endobj
-4353 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F105 2455 0 R /F126 4358 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4404 0 obj <<
-/Length 1845      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�F��3�O�ɓ�i�I�&�C��
#�l+D$a����ӝ@!b{��':�~��ﷻ;�v�h��o�N$v|�{�s���
�}$<�6r>�#��%c��C�$�`pڡ؍Nj�p��7�y$���W��^�o��0�|��R@�D�y >���YR�dR�+�
�ݣN�
-�B.8.jvf>">+
{~��/�A��}�
���d6���r^��D��t?"�K�Л�^�[_[��1H*g8i}���������ʹ�M
N�^c�}����_�4g�;
-��x�.}�R���\�?��nz&F��*�����~�c{3��f��,"��(7d�*���֥y��'GR0��GJEe��!�|��~H!���Y���L�*��p��_
��N
j/�bN��=�>1�6<�n�q>S�b�j,�yR�A�f��ip>�.��*Z��eb#��Ar��SB�"�x�U:xdQ�
-�Z�S8x�
J���x�A��Mn�>۴�x��&�H$�R���V5���+���b�w�F8A�[�[�F��ͯ�
�:]�a��
����G,p��w��yJ5H�͇Ǒ�d_
{' N%|��Z����w
g��h����C>�w��ޫ�p���I���fo!���{k�]�U�9
�H��hE�6H��E��0��Y'�`b����*���Y���-N��vH-1l"������t`��
���d��W�ן
g?)�Tͧ�j���˭��!�Sf4�U��� D�;*�~���n_�"�d��0"�?�	����

�@P����
�d�ѳ�=�e���vN�xR�����frQP�+�[0��H�R�rKu ��)��	jc5�f5�r@E�-7���r�Q���咯8}�1��1��K_Ts�,���4��aYz�A9���#ƸX%J�$"�,Yj������<�ۂ#����k� >X"��*[�  �I
�cu�riM/-HX���
-���lŦڵ)2�6A����^����yt'��i��ؽ�̸u"�P����,N���f��¡�1^t���4�Xt�O
ݚ�j}���&PhqΚ�k���P��#!`E��]�
�]�U�u=E���H2���uUX^&3�FmO쇓�
��h�Y;w�X>u��%�}�\ �@��|ԁ�e��Ԁ,^�T���M�,�-|���+�vS)�n��1�y�����8�	�2������#�
-v�ee�n�Q�K��O]ײ��7b5z	�Jt�'R�����z�Q.�
��
}5�ͳ�yF�;[্�;C\�A����@�fC�`�i#�K���_����ڒ�~�	
-	B���
5�d�Y���Y���&z������376����p�v 3G��q�%a�k_�ю�#se�0o9)�Rk$���o�0���}�q2	���Iv�
�g�<���QR��(��c��$�B�I�?���^o������u�L��99	X��+�
��y���>t�)N��TW�<���Ą�2T��'kk�#i�]���ny9k� ����ak��*���#:�y�\*ʌ��N��6)"��J����GD�{&#��d�D0��	)V��p�����R_�d�5��#*�#��[��ϓ��0��ѼB4}1�BO�#?���%J��iQ�W#���� ��&
a�SAˋo�>)��>|�dk��HT�!
D������n
f�C�ϼ�
�����aŌ�4�	�ϥ�̋��}��|�'
�_tiLj���:.
�'iTL5�� �j"�'8��aƲ/Nq���'-�Kt�x�WY6;��nnn�0E�i4KP��f�qo3xK� (��&�Ls'a1q��K�
`��k�%H
-endstream
-endobj
-4403 0 obj <<
-/Type /Page
-/Contents 4404 0 R
-/Resources 4402 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R 4380 0 R 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4388 0 R 4389 0 R 4390 0 R 4391 0 R 4392 0 R 4393 0 R 4394 0 R 4395 0 R 4396 0 R 4397 0 R 4398 0 R 4399 0 R 4400 0 R 4401 0 R ]
->> endobj
-4369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 672.225 272.748 682.152]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 672.225 450.438 682.152]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 658.96 192.84 670.915]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.761 658.96 305.687 670.915]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.699 658.96 471.636 670.915]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a76b5e4c5b9628c14a7d227517b8fb349) >>
->> endobj
-4374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 595.819 272.748 605.747]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 595.819 450.438 605.747]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 582.554 192.84 594.509]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.546 582.554 304.472 594.509]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.295 582.554 472.85 594.509]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a16b12775a696c6e304cf9ee7ffe2213e) >>
->> endobj
-4379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.187 519.413 272.748 529.341]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.877 519.413 450.438 529.341]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.914 506.148 192.84 518.103]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.761 506.148 305.687 518.103]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
->> endobj
-4383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.699 506.148 471.636 518.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa355ae6b2a2a704e88060541fbaa6562) >>
->> endobj
-4384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.617 442.031 270.177 452.935]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.048 442.031 403.878 452.935]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ad5c5cd5266cf95dcdc0f03d0108168b5) >>
->> endobj
-4386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.923 390.511 274.484 400.439]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.32 390.511 472.881 400.439]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.639 377.58 229.787 388.484]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2ee8a6019070192609b3ea6e5dfa3018) >>
->> endobj
-4389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.55 255.73 270.111 266.634]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.347 255.73 353.803 266.634]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.102 255.73 414.559 266.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9af63978105e142642222864ce7c3be) >>
->> endobj
-4392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.441 243.775 331.997 254.679]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.533 218.025 237.219 228.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4ced0eee2a4a2c50779c2d01ef022500) >>
->> endobj
-4394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.342 218.025 411.722 228.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.194 165.53 270.755 176.434]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
->> endobj
-4396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.054 165.53 356.51 176.434]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-4397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.097 165.53 413.572 176.434]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6133c234bff425e6feac34cef06b74b2) >>
->> endobj
-4398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 153.575 184.651 164.479]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-4399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.322 101.079 235.007 111.983]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa7885d402d5653321f316029ca0af517) >>
->> endobj
-4400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.185 101.079 381.565 111.983]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-4401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4405 0 obj <<
-/D [4403 0 R /XYZ 89 770.89 null]
->> endobj
-4402 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F56 363 0 R /F38 2117 0 R /F23 364 0 R /F107 2329 0 R /F105 2455 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4418 0 obj <<
-/Length 1722      
-/Filter /FlateDecode
->>
-stream
-x��YIs�6��W��R3�� Hw�IӤ��q�F=9

MA'��TT����&��f�
|	o��{7
�~�4
���؋P$��
/ž
"��ͽK�H1������2���\L�_L��o����_#��G,�d�%�����0��ÈE��5�V^@���n����DH#
-F��`���U
����'��*)�u���{0�p�(Q��:�k���� z=&��U�{�bO
-�d�
��Z��J�0�c�O����ߎ)��,Mv�d
i��GS�+��$��ʲy;&؏�U<kX�j^Ƴ���2.w��ϖ*�����b��V�CJ)���F��ߍ�ڶ��H`�M�7�v�Q�i���b�b�,�n�v�S�2�e�^��eQ��盕*���j�W�1W����4��3�
n�1���1����Z
�'vc�}4�8�K���s˷T��1�U�����!��C#�����O�Z�
��D٩�2M��1���N%�jU4;�Žq�هi>���bѮW
��{�i�j�Vm )`��*�Pu�
-�ckl�i�Ov��)L�Zs�СXU�2�c8�ihv�
$p�
-;��YTsÒ�3��?cex���E��ЯTR���.�-���0���)3O[&se;�j�w�ա���6�
�
f���9p3���f�d-�J�	����TYe�
q0H!
$=�$���ij���]� �d��ߕ-�.}
Ɉ2B��2bt;#2
-η�;�;�Y�Xp<'�i���P�q���N���H���b]��a	�PZ�	�Ƀ|9��
כ��9=������MP�����
s|]YC7� Hw;�8w	
"��Z*�`E�h�;��(�PԹ���wIE5ǎ`�/\R���5�ˀ�	���z�),FRtީ��
#$�8!-�
KlhC��jQ&P�#�2ͳ4WW��J8A�<@醲߶S�
�t���i6AS�o
- a��3� Ea'r
�5-Gp5��4h�ޔyu�;�ĖźLm���6���K��	���(<��l�E���
xP�(c�����U��n�T���d�F�Ք�SPw���q_<�O��E� �7F]���ȶ�-��d"D��
�}2��n�H@'H��/�(��Sc�v�9o]Ti=h蚊���\�ɛ1���>��\�>Ok��
�	 �
-y+_}uQIA��N�
/��ڮ��88���ᰃT{Ġ
�*�)������1hG��mA�"�q�4]Ó&kZ�%����O�y��t�4X/&��h/F��
�6Ap8�O�w�<��y
_gj�r�����y���jv��Z���ߚ�)g����"�#�$��o�
4��,#[�m�A�
�{��`� ��9M
¡���1ˋz��M���Tg�y���W�Bh�8��C��@6���U�L!��\��W��	Rx�a2�7}�#���^����
-��Π�_�A�r�=���C|��O�7��C�W���s6t�.|_߂ޅo�߱܁o&ؽ�MO����+���Y��MO�0��B�d��!X>�� �p��L�B�' ;���O�%�^�&N\w���Q\�vv�Q��`�d��	���
-��2��Ǵ=Z��gJ}�ؼ������^�/V��V_G7���q���ޒ�%q�
! �D�)�
�wJ5�Z�>x�ӯ#s0
J�pg�e]���ζ�-J*���u���l����lw�:	P?��d�2��Z߄�3:t¿�Q��
-endstream
-endobj
-4417 0 obj <<
-/Type /Page
-/Contents 4418 0 R
-/Resources 4416 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4199 0 R
-/Annots [ 4415 0 R ]
->> endobj
-4415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4419 0 obj <<
-/D [4417 0 R /XYZ 89 770.89 null]
->> endobj
-4420 0 obj <<
-/D [4417 0 R /XYZ 90 721.073 null]
->> endobj
-4421 0 obj <<
-/D [4417 0 R /XYZ 90 664.584 null]
->> endobj
-4422 0 obj <<
-/D [4417 0 R /XYZ 90 592.703 null]
->> endobj
-4009 0 obj <<
-/D [4417 0 R /XYZ 90 569.654 null]
->> endobj
-4423 0 obj <<
-/D [4417 0 R /XYZ 90 569.654 null]
->> endobj
-4424 0 obj <<
-/D [4417 0 R /XYZ 90 373.851 null]
->> endobj
-4247 0 obj <<
-/D [4417 0 R /XYZ 90 350.802 null]
->> endobj
-4425 0 obj <<
-/D [4417 0 R /XYZ 90 350.802 null]
->> endobj
-4248 0 obj <<
-/D [4417 0 R /XYZ 510.509 296.256 null]
->> endobj
-4426 0 obj <<
-/D [4417 0 R /XYZ 90 277.998 null]
->> endobj
-4249 0 obj <<
-/D [4417 0 R /XYZ 510.509 223.332 null]
->> endobj
-4427 0 obj <<
-/D [4417 0 R /XYZ 90 205.075 null]
->> endobj
-4250 0 obj <<
-/D [4417 0 R /XYZ 510.509 150.409 null]
->> endobj
-4428 0 obj <<
-/D [4417 0 R /XYZ 90 132.152 null]
->> endobj
-4251 0 obj <<
-/D [4417 0 R /XYZ 510.509 77.486 null]
->> endobj
-4416 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4432 0 obj <<
-/Length 1508      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�JS
��'�CӤ��M�D9�-�6'�RT
��wA�)C"�X3�LN|����~��ػ����������žFZR�ͮ<�=�5�އ1�HN�c<~3!x
f�0x3�x�.�n�E�ǗY��]\<���̠h�ޮ.�l�q���!�	(U�1	���!

`N�t5b6Q||6�RaT(&��w�L#�Y��O���-���ʝM4
G��2�#��mt�
%sxE��c��:z>�3" {�:L �{����G�-��+#�}���85z-�w��F���	A`T�zĐ(ݟW�ݷ\i�	=�R�`U���:J�Ua���

Q���R��'��2
-^^9dq��"}���z�	^�yl��sL��Y�
--�Z#FT�~R<��
^\���mT��_����I���knj�L`D� ����7A���5g�c��i�ɫ@..OJMp'��em��*
i�^)�L*1��JC�`��E&(
⦠=�X{SIUݰ��
kUB:��f����w�rLLC����
���-Y�ƿ
>E������e7�
~b��	�n
��Ѕ	D�E\��V��"��V�o���!Y2t8��p[X_�1��s�hZ�q��
-QZۑ���KA{A�F��8	֑w0�]H���j����@�6�&�8�~�3�PE��]T��kL���6d �P��e\l��u�a�d�k�s
'���Ҁ�aT���x(�pv�j����
*��:	2�ԡ�'� :�襚�/k������1e�#( ;k��\�1�B
�\�2 -����?)���
-I�G
J=
s4�N�
�{�&
q��D�G�j��~8)U��Y��M��{)����!�Ze��&,Q �f���B5(�̉'p:��+�a e0V�\ �'m�YS������0�DFH_�-�-Y'k��P
H-9�8��m�'Y�
Qϟѻ�v���Vy�U �_dZ&|$%w���~�
��s{�}��-���o��ˠ�������*Z��]�����*�`�4�A�-N�˻<�ؖ��D�.Bv���,@�
��>BCzT�(d'����RS���6ʷYR��7%�coͺٻ8�W�T�mz��]���|�]�@��_����x�f���8��XPu	�\8��G�	C��RuqDN�#&���E+l���p��2r��%�5��=
Y�h��T,ї���q���k7u���,�C?L�L�K�
�
L
z

� 4
�U��ׇT�;�J���A~A�Hڝ|� s�~��D���D�s�!Q��<kh�i��:�e�3M�k���,����j��!������g7�����'a���r[A�\��G���A�08bCJ�RP
-~R���R��Х6���R7'��cu4m��i��~e?MK���m��M�|6��l�%'aH���"H_D4�Z�ɫ�~,��K|@
��}�������[4ߠm�3������
�	ᨩ�Ҳ:��^��uK�{��F�/
-endstream
-endobj
-4431 0 obj <<
-/Type /Page
-/Contents 4432 0 R
-/Resources 4430 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4429 0 R ]
->> endobj
-4429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4433 0 obj <<
-/D [4431 0 R /XYZ 89 770.89 null]
->> endobj
-4434 0 obj <<
-/D [4431 0 R /XYZ 90 721.073 null]
->> endobj
-4252 0 obj <<
-/D [4431 0 R /XYZ 510.509 673.851 null]
->> endobj
-4435 0 obj <<
-/D [4431 0 R /XYZ 90 654.509 null]
->> endobj
-4253 0 obj <<
-/D [4431 0 R /XYZ 510.509 587.67 null]
->> endobj
-4436 0 obj <<
-/D [4431 0 R /XYZ 90 568.327 null]
->> endobj
-4254 0 obj <<
-/D [4431 0 R /XYZ 510.509 501.489 null]
->> endobj
-4437 0 obj <<
-/D [4431 0 R /XYZ 90 482.146 null]
->> endobj
-4255 0 obj <<
-/D [4431 0 R /XYZ 510.509 427.263 null]
->> endobj
-4438 0 obj <<
-/D [4431 0 R /XYZ 90 407.92 null]
->> endobj
-4258 0 obj <<
-/D [4431 0 R /XYZ 510.509 353.037 null]
->> endobj
-4439 0 obj <<
-/D [4431 0 R /XYZ 90 333.694 null]
->> endobj
-4259 0 obj <<
-/D [4431 0 R /XYZ 90 259.03 null]
->> endobj
-4440 0 obj <<
-/D [4431 0 R /XYZ 90 239.687 null]
->> endobj
-4260 0 obj <<
-/D [4431 0 R /XYZ 90 167.18 null]
->> endobj
-4441 0 obj <<
-/D [4431 0 R /XYZ 90 147.837 null]
->> endobj
-4261 0 obj <<
-/D [4431 0 R /XYZ 90 75.329 null]
->> endobj
-4430 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4446 0 obj <<
-/Length 1123      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ�SK�j�
-�ER m��V�
#���L�������w(
B��mj=�K�������bo�a��O���žAFR�Mo=�=�
Fs��'J���
�#a����o.�//���������_�#���f���{s���È�=l��S�ػ
�ჲ��E�H"�
�c�6Y�aaK&��j;SsX�5¾�(:�5�b��i��`L%����U���P�gq4[��JA��6��gYЁI�Z���>�v��b��X��U)Ĕ9�K��4P����� ����fK��"sS�xcFR�zcp������ei^�
�$�1����|�%�0�%1CZ�0����H�.���GF�� 
@.|�
A��TWΖ�;��H�ܡ
�@�o����Uާ�[W'Q�ʫ��+B��G2
^"�c�?)�d"Yš��7"J��8n�x_�V�+�0fY�>�y
-����E��`:�;k�QXaA��8�bᠪT#�C�F�~�ФG�&!
q����Ռ7�C��j1�
Q���pֈ�V�8t���6i$J!H��.��/�~�l5L��r�,�jY�´G"���G�v�!�C֘b���&�  [...]
`l�>�W���©�@���z�7y�
-��^�0�5�X1g�<?��
�	
-�6�m�ث��mohe��~��ە���[a��Eʭ��9���
-��+�G�
-b���(����
-�@�P���3W`��_5o�9�/K��������%) F�[ �X��`7�*�6y[b"tIX�x}g�
�ݸ�J�}nݷ�%R�
~�U��.]_��.��@���4
- ؿ��ִR�׼�:�$�
�5xy{|W��'���4��*��E�d��'
��N8R-�۬Fx�9�`
>&a2�}'�
�*~ 
-endstream
-endobj
-4445 0 obj <<
-/Type /Page
-/Contents 4446 0 R
-/Resources 4444 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4443 0 R ]
->> endobj
-4443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4447 0 obj <<
-/D [4445 0 R /XYZ 89 770.89 null]
->> endobj
-4448 0 obj <<
-/D [4445 0 R /XYZ 90 721.073 null]
->> endobj
-4302 0 obj <<
-/D [4445 0 R /XYZ 90 655.025 null]
->> endobj
-4449 0 obj <<
-/D [4445 0 R /XYZ 90 641.246 null]
->> endobj
-4303 0 obj <<
-/D [4445 0 R /XYZ 90 569.693 null]
->> endobj
-4450 0 obj <<
-/D [4445 0 R /XYZ 90 555.915 null]
->> endobj
-4304 0 obj <<
-/D [4445 0 R /XYZ 90 484.362 null]
->> endobj
-4451 0 obj <<
-/D [4445 0 R /XYZ 90 470.584 null]
->> endobj
-4305 0 obj <<
-/D [4445 0 R /XYZ 90 399.031 null]
->> endobj
-4452 0 obj <<
-/D [4445 0 R /XYZ 90 385.252 null]
->> endobj
-4306 0 obj <<
-/D [4445 0 R /XYZ 90 313.699 null]
->> endobj
-4453 0 obj <<
-/D [4445 0 R /XYZ 90 299.921 null]
->> endobj
-4307 0 obj <<
-/D [4445 0 R /XYZ 90 228.368 null]
->> endobj
-4454 0 obj <<
-/D [4445 0 R /XYZ 90 214.589 null]
->> endobj
-4308 0 obj <<
-/D [4445 0 R /XYZ 90 143.036 null]
->> endobj
-4455 0 obj <<
-/D [4445 0 R /XYZ 90 129.258 null]
->> endobj
-4444 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4459 0 obj <<
-/Length 1167      
-/Filter /FlateDecode
->>
-stream
-x��[o�F���)xjA]�s�DU�vխ�ۮҮ��F1�Ak�
8i���p���w���l�pf�����0�����_&?�&�7
-[I�5��
�7HH��
�`$
�`��s�`�K"��ܡ�^-n?�~
�/y8;{}�?�F��~]�s9{;}CH�JbLB���K�^�M�Lm1s�_9.y����Àgf1�~�Qǯ�^��~g��v��^�w�n��D�A<�[�jer���g��'�`��Hik
M..����F�h�0�,N�~-���'�{!�bO�A��1M�E\�0[U㡝8GT7#����Ԉ�f�aV9��{����U�B�
-������\�b@
QR)"�C�x24� �]���6�
�A�Ey���(~^�?�g;%@A\�
�ݻ\���/}����+�^^���K�D��Ș�;�V�3�e
2�
D�����aR�
U:�
��\�-
�͖vz>82��0f|��Ӭ�~��qe^@�?���a0e� R{�]/iJk��$�s¿
HG��0�y��

'ѳ�`0�˛���$EX��P�ZȨ�`�暒�̠Ge�1�
�
�ǘ�9�
j{��d�Y9�\�afH�fȗɌg�BX���KSa2W�M��s($�r
\ �I�G��@�
-��'~G���5�uRﮓ�
5
~LpH\�C�B?p�6
98�·]
�����h�l���
�"iĮ!�Lh5�3��=�+L��
-#����A��
^��y��/}���
�Q\
/.�yd}t:�s��|0���
�d���������O�h��t%0��
-8Ƞc/����fN!�FlG�`�r���
�W
���/��}F��ˉ
$�/��n����/�!�.Pڶ{+7����rӣ�_
��9��W�ZT*C�ꋮ韂�x�X
-�I_,�ݗe�?�k^��/��,O@>��cy�ЕzKh���z�sV߅�*ٱ�@�D�]y�
����"!�j������r��SHx��{�Ys�K���($��a
����"?_�.���:e./�L��[G���߼x�-ە�]�*H����2�\>�q�ч �Y��U�{7)����h`&n�u�e�����
�S���u��l�^/���m���T�䦞�h�T�c������֒\
-endstream
-endobj
-4458 0 obj <<
-/Type /Page
-/Contents 4459 0 R
-/Resources 4457 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4456 0 R ]
->> endobj
-4456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4460 0 obj <<
-/D [4458 0 R /XYZ 89 770.89 null]
->> endobj
-4309 0 obj <<
-/D [4458 0 R /XYZ 90 708.953 null]
->> endobj
-4461 0 obj <<
-/D [4458 0 R /XYZ 90 683.13 null]
->> endobj
-4310 0 obj <<
-/D [4458 0 R /XYZ 90 609.327 null]
->> endobj
-4462 0 obj <<
-/D [4458 0 R /XYZ 90 583.504 null]
->> endobj
-4311 0 obj <<
-/D [4458 0 R /XYZ 90 509.701 null]
->> endobj
-4463 0 obj <<
-/D [4458 0 R /XYZ 90 483.878 null]
->> endobj
-4312 0 obj <<
-/D [4458 0 R /XYZ 90 410.074 null]
->> endobj
-4464 0 obj <<
-/D [4458 0 R /XYZ 90 384.251 null]
->> endobj
-4313 0 obj <<
-/D [4458 0 R /XYZ 90 298.493 null]
->> endobj
-4465 0 obj <<
-/D [4458 0 R /XYZ 90 272.67 null]
->> endobj
-4359 0 obj <<
-/D [4458 0 R /XYZ 90 186.911 null]
->> endobj
-4466 0 obj <<
-/D [4458 0 R /XYZ 90 161.088 null]
->> endobj
-4360 0 obj <<
-/D [4458 0 R /XYZ 90 75.329 null]
->> endobj
-4457 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4470 0 obj <<
-/Length 1691      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����fc5��e�lE;�۲���"Pm6j[�,'q��,Y�Ц��)6�ɖH���C��2��/��'��
-Ie0y
(n���4
�
�ƣ����#�W����<�<?�����'���&
�܀@J����[
���� #ftp��8e�9^��s!RL#��j4&�aj�y��lg/�W�K�a8���ӼGöB��}�t���paGc*�p�}������jD�0�GӭcT�0Ҽ��Gǰ�F�
7#֢Yn�r:�w�E�^G��|�`��]�釬��]�o�l�ZR$
?������lk�L����6B�
���jĈ�,��r>�6p���e�;���&���a'8`��V
4�`-4 sr|�� JɃ.|�0V�����a�"%M���=A���{N��:�yK�
�)���py�G�c�;���T�u�Ny�%��@�]A0H
r*䃂����(; 9��^�4f@�TЦüIl,fo�Y�W���ΐɻ��c�uv2 ���\h}C8����aV#.u��W67v�X��n��i/�2�>�FT
o�u��/���q	��⶯

8\�\V$@�ZX7�d�O�	�m�F�K�=���i�7��gd��^tx#����EX��m0sXnĚmn�º�&�X��#6i������]�	B�#)�P��9���q�`�1Z�����)���;m��n��To#>mDg���3�6���F0rwa$0R����s�0^ЀU?a��Wzi�
-��tm�\�P��c��
��/�7�Ja|:�����Ȫ�o`�oPf|�(�
��"IF
�

��P��Fs/6�m�
-���<�Vs{,*��<nTt�3�
��p�9i�*��U��T�ڼ���*8j�+w��]P{��e��I+���ּu�����d<чcHp�gqRx8���}�U�YIJ�v$%�����S�\���
�.̜��Yf^ag9�2u��
�JB�3�f�Cw� �5��f �qX�&���|�:�L�O�֡<⢆ .Ї���@��b����$�wc� �$�J����n ruq
ÏP��
��uʧIY%U��:H����{��#2�B}
�>�D���>����r��� �C�|��2
R�|��hGz�
�
�}
IdNo�Io��rI�rzS�6�����$!.zS Y8M/�$W�:�G�	��̣�"z��$�&1ݓ�N��K6���>|�|�!��r�: ��:�^R(m>�
-�K�I��f�M���+Dž�Qy,9md��j�̮]�Z�p�����n�C\�LΈ�U��M�Fv��)~Q�-�!l���K��j�ѾH�.
�8_�,d��O��*$��rWޯ蝽
-3W�������u��Y��4�
Y�������C�a���2N�άþ]Jigq�MC�<
H
�)�,���^�V��T̈́�TM�#n���uR�ć=jմ��zn֪
xz�K|�
�,����G�{K�|��V:�0�C�d���j�Ԩ]py�~�z�כ0)�8N��/�x?)���_� �/Y����O$�YA


�w��->~��1La�ϷWv���G�0)��^��ۑ��?��&��߳�~���I�0�R��Bo���_[[�4_އ`����ڤ5dgU�y������noo�t�6�h��(=[��g
��K�hQU:��C�"N�]���0�9�ۄ�Aa
-endstream
-endobj
-4469 0 obj <<
-/Type /Page
-/Contents 4470 0 R
-/Resources 4468 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4467 0 R ]
->> endobj
-4467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4471 0 obj <<
-/D [4469 0 R /XYZ 89 770.89 null]
->> endobj
-4472 0 obj <<
-/D [4469 0 R /XYZ 90 721.073 null]
->> endobj
-4361 0 obj <<
-/D [4469 0 R /XYZ 90 629.188 null]
->> endobj
-4473 0 obj <<
-/D [4469 0 R /XYZ 90 604.985 null]
->> endobj
-4362 0 obj <<
-/D [4469 0 R /XYZ 90 519.55 null]
->> endobj
-4474 0 obj <<
-/D [4469 0 R /XYZ 90 495.347 null]
->> endobj
-4363 0 obj <<
-/D [4469 0 R /XYZ 90 409.912 null]
->> endobj
-4475 0 obj <<
-/D [4469 0 R /XYZ 90 385.709 null]
->> endobj
-4364 0 obj <<
-/D [4469 0 R /XYZ 90 299.941 null]
->> endobj
-4476 0 obj <<
-/D [4469 0 R /XYZ 90 275.737 null]
->> endobj
-4365 0 obj <<
-/D [4469 0 R /XYZ 287.777 175.169 null]
->> endobj
-4477 0 obj <<
-/D [4469 0 R /XYZ 90 149.432 null]
->> endobj
-4366 0 obj <<
-/D [4469 0 R /XYZ 90 75.329 null]
->> endobj
-4468 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R /F126 4358 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4481 0 obj <<
-/Length 1135      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~�W(/����鹇��wk�l���qQ��.�
-y
���N$,#���T�	�h�=�GCS�o�:�Z��Z���:�XŔӻv,u��D*<��K(Q�S����@]/�y��mF��t=�G��7^��v_���H��?��~о��(`L�����%"%�&�6�赵pj�2��
���%`y�o?�*~1�V�Do�m��ϖS/�'���>ן��d.���.z��- at 5ԁ$a�h�
g��+����n�s
�
�"����-�3� ��SO8&+��9x7t#�
ߕSM���@�^�so�j��|�4α��o�
-s�8a�.Պ�L�b�
�~��u�2�լ��L�����
'Q�}����[�/�^�	k	���)�h.
�4�R��U�
�슽��n7�қ�`F9���@�ֽ'KZ��ְ������~����|g��|�A����gS�s,�7� >��ܯϟ+�I"�,���H)5��l]Q@���T�ŀ�;X,���!��=
-
]�H�tK?��Ep~�����U�
c��ד�*-́�����0+�5� � ��E�q���"V�rT�Ć2y �J�bS�(u�QT���r0�
�pGW��T��Ԉ�]C��̵��7�t��R�ƈH�G4�
����������?Z���j�>
-��.��� ��9X��)�N�^���g�v?�7nQ}���α �����_6��_#�j�A�'�����9�*9�
��
 �|�Uw�*Oc��<QX�
�r��o��e�e�eb��Pƫ�G� ��p��S�H��t���x���S�)���"XmU��p����s ��J�jn!����Ll5���k��0ؐ�-�	'J���G��x���d"v��a�<�g���3�ጆ3�
g at -i�f�g9k��D�����O9�ls�i搆SNi���pmp��Q��F�|G�]t�������T��?t�*ޝB��� n��)��D��U�~�12^ZK���ZrLWגß+?�1�4
�7�I0�o�*?XMit�`�X�N��]���� �Ⱦ8�_o�]/V��&���1�e�ӹ��%���O�����r�)�m+j�۷a�댽g� 
2LJ3����N������
-endstream
-endobj
-4480 0 obj <<
-/Type /Page
-/Contents 4481 0 R
-/Resources 4479 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4478 0 R ]
->> endobj
-4478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4482 0 obj <<
-/D [4480 0 R /XYZ 89 770.89 null]
->> endobj
-4483 0 obj <<
-/D [4480 0 R /XYZ 90 721.073 null]
->> endobj
-4367 0 obj <<
-/D [4480 0 R /XYZ 90 630.933 null]
->> endobj
-4484 0 obj <<
-/D [4480 0 R /XYZ 90 615.457 null]
->> endobj
-4368 0 obj <<
-/D [4480 0 R /XYZ 90 519.812 null]
->> endobj
-4485 0 obj <<
-/D [4480 0 R /XYZ 90 504.336 null]
->> endobj
-4406 0 obj <<
-/D [4480 0 R /XYZ 90 408.692 null]
->> endobj
-4486 0 obj <<
-/D [4480 0 R /XYZ 90 393.215 null]
->> endobj
-4407 0 obj <<
-/D [4480 0 R /XYZ 90 297.571 null]
->> endobj
-4487 0 obj <<
-/D [4480 0 R /XYZ 90 282.095 null]
->> endobj
-4408 0 obj <<
-/D [4480 0 R /XYZ 90 186.45 null]
->> endobj
-4488 0 obj <<
-/D [4480 0 R /XYZ 90 170.974 null]
->> endobj
-4409 0 obj <<
-/D [4480 0 R /XYZ 90 75.329 null]
->> endobj
-4479 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4492 0 obj <<
-/Length 2055      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W��H�O�u���r
�7֞
�G�̰"�
-Hy<��i<��DIco�{��n������m��M�[L.^I�d(Ki�,n�
'�gH�0Z%�D���ŏ	K"Y
-o��߿}�x�f��>��\L��x��$U��L>|��
-n��`�2�ܻI��S������|�B!��R�@�lN0��Fo���ֆ�W0�Sq��Zc_��l�`���a��|�gs*��+3#jZmF�J����kߎ�#�팗e~��W�oFdq�p/��YY��7yS��~�?�ꭹ��N/w�Ո�,C��ǫ8�r���O-<���Kgb���簩)�e3"u�(A
�d~΄x�x�1�-<�oK�xY�u��Z��YP���g\A���
e�s( �>C����F[P�>��"
.�(
y2���a���fg��χ���3�8���c�'�cCF��5t�=?=�#$�=N+s(@$O�IXi�UQ�z�T�}�w������_|�Q�`&�@i�
@�ٞ#�j'�V���(��=������M���U]�L4�������a��)�ӜR�F
{Ԃ=��O�ji�����
:���� g��f���}YO�}s�RD��ɧߧC�
��_Â����}�B��,�s����W���8;��\��lL�oؓ� [...]
-3�.���.fV�XA�꿡�� �#�9Pb&c
�OZ��g�a��(~�nF��]ˇ���a��9�������g���j�7m�+��\����.Q���G�1m#.�3,KY Jz&h������ ��z|=@:};t���A��I>
��I�0�V{ |{V�w�
n���
�����7޶�7Ć�����@��(�(;YFX����U|iK�8��9��&��졆�}9
4��V�@�H�<[��,��֨�x�o�ͮ�ҷ*]�v���9c�6��R�r�9l1�����^�
[)�8�ϖ��
�Y���jpc�¦jOn�UX��6�ܓ��E��9I�� I�LqW�%!]th���.��kpw\����K��#3s��
r���0^�u4��[.u]����"bgV獍�vt�иc��^�Z����0η�u�W��Ä#.
9�t�6����@A�h�mRڝ/f=�d!9`����FΈK�)mw�K�/�� b�5zY��f�XY;}_h~Ø���6��0|���oH��T�tR̹�7=>���պ8�Ih�u8��M�ѹOe��=�%��	�r�1<�!�r��yno�ݎ�Fo+���-��
-o*�TBF_ܹ�ˎ�(ol�n³ F;H�y��
�3p�lC��0�`���I��
t�Aw��ó 9g|��$�6�ʹ ћjZ܇�$�g4Co��U�Ƞ 8�v�FLK�
�[�0cC�:��"�;@7
�]0
*�8$&����ݶ=�ᰏ
㎤
��L���j�R�Bq+
��
S���~(��s��E���n��y@�#�ˈ9,�q�*-�H�B��Tij>�L
5fK��@�P{vq��Zr�(m��
�\a��1'�L�tǾ�����r������#2(
�CZ/�X�"�|����������_��B�����/��1�#
�1X�h�Q��wv�s��ðZ?��	ß�k��@[����ƶ�
��?B
I8Pt�A#\j)�� `��Z�������W?M�&�V�e��wM�������G���bkP�\@��8�_)���\����L
-7�H� '�W��
-endstream
-endobj
-4491 0 obj <<
-/Type /Page
-/Contents 4492 0 R
-/Resources 4490 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4442 0 R
-/Annots [ 4489 0 R ]
->> endobj
-4489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4493 0 obj <<
-/D [4491 0 R /XYZ 89 770.89 null]
->> endobj
-4494 0 obj <<
-/D [4491 0 R /XYZ 90 721.073 null]
->> endobj
-4410 0 obj <<
-/D [4491 0 R /XYZ 90 654.954 null]
->> endobj
-4495 0 obj <<
-/D [4491 0 R /XYZ 90 640.028 null]
->> endobj
-4411 0 obj <<
-/D [4491 0 R /XYZ 90 544.494 null]
->> endobj
-4496 0 obj <<
-/D [4491 0 R /XYZ 90 529.568 null]
->> endobj
-4412 0 obj <<
-/D [4491 0 R /XYZ 510.509 465.77 null]
->> endobj
-4497 0 obj <<
-/D [4491 0 R /XYZ 90 450.844 null]
->> endobj
-4413 0 obj <<
-/D [4491 0 R /XYZ 90 377.063 null]
->> endobj
-4498 0 obj <<
-/D [4491 0 R /XYZ 90 362.138 null]
->> endobj
-4490 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F8 537 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4502 0 obj <<
-/Length 3211      
-/Filter /FlateDecode
->>
-stream
-x��ks���~'_LV���88Mg�v��
�Q3��DB&$� Pdf���p�ф�&��c�n߷�8<���٫��.�.^&x��TR9����x��		���ݜ`$K�1��]<��m����y�����:��������g�o��O(_xs�������\�$dp �	bL��f�?[� 8���C\.>�XR�Q0�}dg�"�2��/'7~�ɚ��{�H�<��6Y�ۑ�׀>Q�\�!�Ήbzӳ�g?��ψe�@����g�~��5
3È�jvo��3N5^�ٷg�<Î�x(!4%�L�BPh�}O�0��e�wKB�ʚ
�H35/J@���
�nJ#�����fU�e[�ǘ�
X�fmQ���q��C�a
-JA<�ȩ�
-0�QE=PV�#;����,0h BP*�D�7�I�&� �(UdƐ$NU�
&���l9�����i��WU{k��ͳ�(o�"5X#1�J�"#aC2��6
	�m�
*5$�
�?�#���_ ��0���0��%O#�[���4�l��a�S�q��1�s�kvR�*I<̒��������$|uNƿ!'H�
���f��`�X��$E����	>�6F�ml��M�ۄ��:[9K� �]B�]�(�����c���F��N@�RGy�p�U�x#'�&�d���x�H�=�ys:0�1J��J�*
2
-9&!����� �Oq�
�
-��Ss(FE�d	E 
X��!�삦�Q��8�����"�u��/b�1�� �'�Q3x���)�@{W6�I��tRw�N���
-��Ч�]w���tR��:	�����0����i2��)�~1�`,�'O�wR�����64F��j��}>�e\�ȶK
-F�эs at p`����$���z')Mc\�&��"$�Y;К����TFN�@!��QOie��Ce�@N�T�2�H����Υ
S �;L�C��
-J�ȂD$(�)A���)>�sA"2uJ�} ���-Ը):��҇{�����r.�r���ic��%
fi�[=�I�5��&j
I���h
��F뽢F���7�ydl�>h�6�B
-��F�:�
�7�����8u��f�����|mǮ����q�Ԃw���G���[�n�-�v���Z��F#���c��Qg�M�)���� �@��gҭ�3���iDi��0�^&4��&��Ah
�!ד�
�����OGRO㈁�﶑2�(Ft��t�� ��c:�F�L�r'#
��@g>��11ŵ
aB"�#�0Y��16P��J��[��3�&�����
�l� ���f#�<�L
Amr$�S/=��c�)�
*�|4�hΎ(�c��c�0V{X�B��
���l���D�ܔ?�fpD�� �i���("Qj��d:�=�J�ѴN�+�$8�.Ō'yu�p�F9\���ߘ��2B���
L��
T�
-2��!����c*����Լ��� I~kد�x@F�K�L��k�	�h*ku��UzH]v��͙h��*��-�j7i��{�Ad�����hۼ��>�\>�*�=�����&3��D
�0
��a�ey��m*�
B����m��vm��*n�vo��l�����*G���n3
��3�����t���v�,�
�zW�m�vqHpa��eڿuqS���NS�#�C� �J�2�
���FKS�|RR�
-��������u^[�35a�)HX`S�C��~�#���>�8�2åz�i��t:#e�-�9)#��z��8ݹ�~#[Cz���~0
�'~�1�A��:���� d`r&�8r�DR�S�(
-����x�b~#
�!����
�z�sn�(�zo'Fnf�r

h�:����:�H'��q�pLUn��p��]c� #�=�_`
8iFn���2d*	�� ��a:'�m���(Ґ�ۀ��-7

#��F�
a?�v�MaP$�h��
�Т�O�6�
du=�$��@��7(ܿC��<�cE?I?)&��I��o�g��dͨ�=���bb����X,��_��6wyc���>m�E_��������_#LM�:�_q�G6��I2�%�S��7�����h�/����9��}_�
=
 OF)/H*9�B �;�*�򤐆H�
BI��\�y�,
ql���FY0W� ׋�w���E�ڥ�^�E�
��l��w��o�e�}�m��:7y��B����J��6�J��}�,�}���;~�{=�l����BluItt=�6)}˯��+߿�N��s��}a�fXd[߂#J8�9<�Ƭ���
��>h
��b�]m
L�ƛ4/�׶����-
�z����������nv�
��ֿ�s�صߤZ�
��������ӫ���m�` N0h���b�l�
������
�� ̥'n�#�2k�j�Y.B���R�
��*�]U�Ï
BՎ ���~���w��Y1���%M��!@
�` [...]
��
���
-N
�e7X��vW�sU��&kV�ů��~���e�.��B�

첆sk۩󦭋�Sj�����^r�
g�;
|��v	��\)���
�0�<����ˍ�l
f	�L�JW6`4J}
-�L?
$��Ÿ6��H1ʡ4���l�T(FĕCʼn��7Ŷp�d��]�B˘�+�:Q�j�2a�����ovE���7E�����vYb���<6
3�2H�#����A��L/d���[H�
)@LV*!ð
���l������7:=Џ�_�y�S�~�	ĩO�x�H����Tg�f��0߾~�ƶ�rJ4?�nF�� ^C
&�� A���+@��'��5Ku����
l�y�H;FR·;Z�(��|ⴔ��1�ps��;{��Lv�=9?d#?�F�\?;p8.�2�PJS�΁��\�M�^|�vľ��$����`#���`�	�[�[_}��%��-(g�֒ �:�df��D<�ѳ�����H~�`�����9$�:=����?4<.��5� �0'y�
�~�����������&��,��7>�/�|8�}��M�2
����n��sG��짙o��Z����p��o�v������
�tW���n���6���E�I熷����3�Fh���&��/
-endstream
-endobj
-4501 0 obj <<
-/Type /Page
-/Contents 4502 0 R
-/Resources 4500 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4499 0 R ]
->> endobj
-4499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4503 0 obj <<
-/D [4501 0 R /XYZ 89 770.89 null]
->> endobj
-4500 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F13 578 0 R /F8 537 0 R /F7 538 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4508 0 obj <<
-/Length 1455      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~���Smc3Û(�),mֹk�lv�I(6
�.����w(R��)���ÞDJ<�����,l=�-'?9��'��,[��-`���F���w��."� ����W���\}�/�|��
-l��2
\���
-^?�0b�k�E��)��ƚ~
�/�r��`�|a
a���ц/_�.�	q1
M��!.N(��'
����h���Џ� ��1�ק:@Q�Ѳ����^�f�o/�@~N�HFy!�FOA5�����x��'�׆�v)��r �}��
F��*�
��oվ���ʙ�������aG _Z�{j�Wc���w	�� ���=����N�G<��K;q��~�#�e>{v�GGX��Q��|���K�yx(
-�W���ȣ�^��ƨ;{:{6[���~��� x�~��pCmS�i��AZ��
�B�w�vt��`�R.� �~$Z� �U����g����Çpk�͚�L�d�{b$C��o�rr&?�Z�Z�ˡC���>�0��W.����l{�Џ�����rL�(��������[j���,�@��n���� ��1qG���G�'2��8�2�	rhm�Ӓ�0s�%���Y��q#
ېWD#ȳMb��Î@���
`=q�d-������b�ʴ;G�M�H�U�^�
�s�gJ�Թ(	�JB' �ĩ��C	G
𼆗�j���\Z�x�JU��wz�-%Oªsp@�1�E�6�1W� 9C
� �X��&Y�oJG��щq[�z��>�0R��IT
���l�'z�J���#j����^�u�9�%ǘ8ʄ	8ve5�DO��V
��1��1��
��w��k
_�p�C�6|3[�|�0���=�"�Y+1
���.�]���� ���lh���JK�'�!l3�wѤ���tgP
� �*Ԭ����
yD��ǫ�-�(�F�Y��n�^�o�RQ-`9&��E0��E�\
���Ǝ�� ��Q��D�������:�)�Yl���b�o��8��b�����zj��ݻo���^�/�>ҏV�)���5��O��#L�/9p�W�P�jF
-���]�kt�WU�L�:���#�b-5�V�r�u�σ8ү>���k8������P�n3���:/ɕ�L�����&
S:ut�_]cL7rZ��)��XD � �Z�`�n�)�����m8I6h������:X���k�7��<���i�ߘD߯�*�o^����O�o�
��

N��a�냼v}��ۥ9*�&?H�-Z��q
��gA�h��U�T$�9�
-���/�sc��J�Պ2U����
5�j�႞��xG��*�lA8B��nQq6�� �ljV�j��i	��t��u&ӡ:^�z�G�2HE�OJ�L��
1�SE��2��\J��U�~ѿ���va��O�y�LONv�
ZfhI����餁];t��"X*��Ʃ	?��eXP�/I��
�
-endstream
-endobj
-4507 0 obj <<
-/Type /Page
-/Contents 4508 0 R
-/Resources 4506 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4505 0 R ]
->> endobj
-4505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4509 0 obj <<
-/D [4507 0 R /XYZ 89 770.89 null]
->> endobj
-4414 0 obj <<
-/D [4507 0 R /XYZ 90 484.447 null]
->> endobj
-4510 0 obj <<
-/D [4507 0 R /XYZ 90 470.212 null]
->> endobj
-2305 0 obj <<
-/D [4507 0 R /XYZ 90 397.379 null]
->> endobj
-4511 0 obj <<
-/D [4507 0 R /XYZ 90 383.143 null]
->> endobj
-4256 0 obj <<
-/D [4507 0 R /XYZ 90 311.59 null]
->> endobj
-4512 0 obj <<
-/D [4507 0 R /XYZ 90 297.355 null]
->> endobj
-4257 0 obj <<
-/D [4507 0 R /XYZ 510.509 245.583 null]
->> endobj
-4513 0 obj <<
-/D [4507 0 R /XYZ 90 231.347 null]
->> endobj
-1330 0 obj <<
-/D [4507 0 R /XYZ 90 127.049 null]
->> endobj
-158 0 obj <<
-/D [4507 0 R /XYZ 90 119.295 null]
->> endobj
-4506 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4526 0 obj <<
-/Length 1094      
-/Filter /FlateDecode
->>
-stream
-x��Xko�6��_A`�&͇��1
X�eE�Y��Ò"�e:&K.-�����K~&M�u��~0D�W���^���;DЯ��Qop���,f1MQFPeX�0�����CJ	.�����}F�����D巿�c���px���o�o�KՖ7��"o�p���/rէi �!$�jժh��RN�]�
X������f��˨��G!O���K�$Eżw���	�~��Y��&h�"��Z���=�wDvpDJ1���ߕuQ�&R�98���H�q���h#��
l��Ţ³�	
.p
���٥=�
Q�B�1�.��ո*
K�k9Sf|����lꥡ�tp.�
D㈧(d �%�1��
�֔㦩�}͵�s�_��e��*ouC�=D�1z�^��>�ڧ�Ǖ<���g��Q��I�

 �݋ٲ�d(��H���#��
-
A!
K��])K��
��Fs�)��m�f�&�>��ڌ�zbM]m������B���O�'8f��\.-�XN��I O�f8��������t|u{-��,�(�"̲N.L�`��m^V�
��\�\�Ƶ��+���u�YY���JNJ�%v:�Z[겾��v�ڦ�+G��H�E�����τo��9�ޖjB#���cM�b5�u��t�-ͮ۰t�/w�lm��-��Z�/��S����6U��|�]��X�
�v�ǘ>��
-.��Jy�!�9�=�v=����9�)�6�
gQj30��	��5��l��G��f�D`7][�������w��w�]	��T[���
��H֟���-��H�
����Y���,u�k�0>T���o�
��ހ`�k at 0ud������������΅�\�2錜���b���Z-=G뙬�5[-,k(�|ǹ�q�r.����i\�-����u͘=�_&�����ϟ�v�ƧZ]��X]�Y�Q�<��
���>�����
-�
-��
J`G��N-|
w*
�$�0��W&;u�d'.���/D�x��+�&�i�i(����C!)f�a�� ^I�T�d� ?��~R��K�sҕ`ֶ��`�^�q�ī�\(\�����ۻ�B#�t ���%��m�
���&��
-endstream
-endobj
-4525 0 obj <<
-/Type /Page
-/Contents 4526 0 R
-/Resources 4524 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4514 0 R 4515 0 R 4516 0 R 4517 0 R 4518 0 R 4519 0 R 4520 0 R 4521 0 R 4522 0 R 4523 0 R ]
->> endobj
-4514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 651.229 175.937 662.133]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) >>
->> endobj
-4515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.753 651.229 214.94 662.133]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.401 651.229 260.589 662.133]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 374.989 175.937 385.893]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) >>
->> endobj
-4518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 374.989 288.285 385.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-4519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.018 374.989 415.028 385.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-4520 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 100.741 175.937 111.645]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) >>
->> endobj
-4521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 100.741 268.908 111.645]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-4522 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.641 100.741 376.274 111.645]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-4523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4527 0 obj <<
-/D [4525 0 R /XYZ 89 770.89 null]
->> endobj
-4528 0 obj <<
-/D [4525 0 R /XYZ 90 670.708 null]
->> endobj
-4529 0 obj <<
-/D [4525 0 R /XYZ 90 670.708 null]
->> endobj
-4530 0 obj <<
-/D [4525 0 R /XYZ 90 612.267 null]
->> endobj
-1331 0 obj <<
-/D [4525 0 R /XYZ 90 515.71 null]
->> endobj
-162 0 obj <<
-/D [4525 0 R /XYZ 90 508.479 null]
->> endobj
-4531 0 obj <<
-/D [4525 0 R /XYZ 90 394.468 null]
->> endobj
-4532 0 obj <<
-/D [4525 0 R /XYZ 90 394.468 null]
->> endobj
-4533 0 obj <<
-/D [4525 0 R /XYZ 90 336.027 null]
->> endobj
-1332 0 obj <<
-/D [4525 0 R /XYZ 90 227.515 null]
->> endobj
-166 0 obj <<
-/D [4525 0 R /XYZ 90 220.284 null]
->> endobj
-4534 0 obj <<
-/D [4525 0 R /XYZ 90 120.22 null]
->> endobj
-4535 0 obj <<
-/D [4525 0 R /XYZ 90 120.22 null]
->> endobj
-4524 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4555 0 obj <<
-/Length 1292      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_!`@f3����m@�5ݺ���SR�D��d���\��
EJ�m����
��E�x<>��=������j��t0�r��#_PaM疏-��0���!��~��b�C���~}������魚��>
La�h
���w����F���Mm��
��;�n
��XA��P0��Gc<�Y�A���
Q�FE���2�R�����l���
��ya����2+�D=�a�G2�Ӆ� ��_\_�e^���0(e���b8]ƅ���i�o��:�Q���0�jY*�ep�μ�Y
�\'�����l�q�� �x�wU4�l�2�OE��mj�t�嫠F�~̲�4��4n���^g�v)�<@��.��?]Jmea��i�q
��r��V�y��66����B�2�C���y�j���[�d6��M{�L"'5	YD �y�r ���(�)��Vw#,Z��\j� �4�TqfԸa��2�`C��:z���ڦ�����x�
&�Wy
=\v8�\f�u����C� [...]
-E at O8��qL5�Ȳ�5��+��X3(0��jÐj�%�J��(6m*H������y���<����
��ڴ1��4-j&UCc�P����#�fն�-G���t{���!�k�0$��'� �� ��q�#�8�?�|_�P^�Ւ��Z²V-ṫ�����0<)@�������. �b_S����z;>�s5�2K��>��^&AQ<E=�8�A��4����9_V�ā��I�
ۗ�_�%I�6��H��ѹ��ʉz4i5�-eũN�?_7O;�G��/4�]�
�in�N�mG,U�B�B
��� 7jv��|-�� A����=�K�i�"T�m\�,��9�c��y�sہ_J���U���
�5�M�*M|�(c���L?�(�#
-��3�����
-~
��xp�h��=f���Ui��t����(t�
Ӟ�J�L���K݋���?�WƋ���Rw�
�fn?ԇ��p�ٹ�����@n`�
�V����
-�a�{��V4̰Q=4�2���|h*�M�V��Q��ʕ̋���
Q�
\
���l�����j�~Ժ�	�s���|Y���x��lPX�*��9��1��X�:^����I{�Ze�<��
%��]ˆ
-endstream
-endobj
-4554 0 obj <<
-/Type /Page
-/Contents 4555 0 R
-/Resources 4553 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4545 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4552 0 R ]
->> endobj
-4536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.588 569.049 187.842 579.953]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-4537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 495.808 175.937 506.712]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) >>
->> endobj
-4538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.274 495.808 270.013 506.712]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-4539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.746 495.808 378.485 506.712]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-4540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.667 412.604 191.92 423.508]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-4541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.075 412.604 467.328 423.508]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-4542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 207.272 164.042 218.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) >>
->> endobj
-4543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 207.272 241.511 218.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 168.009 164.042 178.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46) >>
->> endobj
-4545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 168.009 234.885 178.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 128.745 171.791 139.649]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) >>
->> endobj
-4547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 89.482 164.042 100.386]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.782 89.482 215.588 100.386]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2c93e938cd478716c7c9e5e9988f7a98) >>
->> endobj
-4549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.925 89.482 293.057 100.386]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4556 0 obj <<
-/D [4554 0 R /XYZ 89 770.89 null]
->> endobj
-4557 0 obj <<
-/D [4554 0 R /XYZ 90 721.073 null]
->> endobj
-1333 0 obj <<
-/D [4554 0 R /XYZ 90 620.959 null]
->> endobj
-170 0 obj <<
-/D [4554 0 R /XYZ 90 614.103 null]
->> endobj
-4558 0 obj <<
-/D [4554 0 R /XYZ 90 514.986 null]
->> endobj
-4559 0 obj <<
-/D [4554 0 R /XYZ 90 514.986 null]
->> endobj
-4560 0 obj <<
-/D [4554 0 R /XYZ 90 457.823 null]
->> endobj
-1389 0 obj <<
-/D [4554 0 R /XYZ 90 350.047 null]
->> endobj
-174 0 obj <<
-/D [4554 0 R /XYZ 90 343.192 null]
->> endobj
-4561 0 obj <<
-/D [4554 0 R /XYZ 90 226.45 null]
->> endobj
-4562 0 obj <<
-/D [4554 0 R /XYZ 90 226.45 null]
->> endobj
-4563 0 obj <<
-/D [4554 0 R /XYZ 90 148.043 null]
->> endobj
-4564 0 obj <<
-/D [4554 0 R /XYZ 90 108.78 null]
->> endobj
-4553 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4593 0 obj <<
-/Length 1516      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ�S*��� 5�C�i2����IFCS��1E*$eG��]� u�:�ё���&%��~�
X;C;oZ�_���vx�s�o� ;�
������&�9#��E��v����E��vO�� 
��Mf�^�<M��D&��Q���q�����Y����W�(����/��Z\���H�
RI���h���;����
|4r\��;W��Z�(��Z*ɽ9%	���|�
|�J�ϔ�R��t-M64b]�i9��8�a�F2�U���Xn�����a$��̅If�g�1���^Q������ 

���\�
��s�sF\D8�t���$K��;�������v��i֙�[�`q��d���&X�=��>� �*#b̪a��(yطc�;�Wc� ���B���L� �eq��`k�P�y*o;�kYi�dR�,TE��6�g��%K��+���Y���e��t!�P*��e���� <r����S�\�Yt
�ȣ�PIYD��U��B�@88*STr��ҡLd:����F'q�J

‡�_%��eZ ��)dA�
�9�#撣B7J�x��p~��6�0�.ӧ��ɵH� �®�/��'���
iw=�+ [...]
-ƒ헿G��I�b�?�}S�E����g[m/Ο�{	M�}c���ݎ�;�5-3F�|ʀRm(��O>���^4��Ү�
&
a<�X�=5�
��Y�#�V�qw�n����ۍ�
�ٴ������"-�	�\��o��<�62Nm��I'�hx�S(�5�?P��v3����gXih~���XɁ��D_�H~�
(#>r}���(+�o�r����nw�Ga��Hk���a쟺��<�s�]�{(_m�����R��d4>0v�f��9$������^/�Y�`A��W#a+�߮�߾��3��K}X̿,hj������pq\tK;�y���tN_�'B|Sc�H������q��������!���}u��k$�»����d��oa5@��mS���͋� ����USm�"6�����0b_ۗ���4
�u|���;��<˶D������.�����Sv�s�N�v���bƟ�
&��d�c�}^��L�,~�NDž ����R���1�
 ���r��d��.�"�m�]�s0I0�

q�0�T��J|�k_}p�|�'G����H���\f��6�Q�c��[Rm����f���D��!T��}%mE^iv�ػ�:'/�b�v��������G�h��q�T�
�����&�$�Y��
��z�
�
�^����?����
-endstream
-endobj
-4592 0 obj <<
-/Type /Page
-/Contents 4593 0 R
-/Resources 4591 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4550 0 R 4551 0 R 4566 0 R 4567 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4590 0 R ]
->> endobj
-4550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 695.797 179.554 706.701]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 695.797 250.666 706.701]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd) >>
->> endobj
-4566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 658.898 297.728 669.429]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf) >>
->> endobj
-4567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 658.898 336.732 669.429]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-4568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 621.253 342.261 632.157]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) >>
->> endobj
-4569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 584.354 290.247 594.885]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d) >>
->> endobj
-4570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 546.709 164.042 557.613]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.782 546.709 218.358 557.613]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) >>
->> endobj
-4572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 509.437 194.776 520.341]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) >>
->> endobj
-4573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 472.538 195.334 483.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5) >>
->> endobj
-4574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 434.893 224.634 445.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2) >>
->> endobj
-4575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 397.621 179.832 408.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) >>
->> endobj
-4576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 360.349 227.981 371.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad67d37524d1fb7f31766c0b02cb8591a) >>
->> endobj
-4577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 360.349 297.44 371.253]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.943 360.349 392.075 371.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 323.077 191.718 333.981]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 323.077 288.852 333.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) >>
->> endobj
-4581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 285.805 191.718 296.709]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 285.805 303.079 296.709]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) >>
->> endobj
-4583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 248.533 181.845 259.437]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811) >>
->> endobj
-4584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 211.261 181.845 222.165]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) >>
->> endobj
-4585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 173.989 154.727 184.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b) >>
->> endobj
-4586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 137.09 176.505 147.621]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) >>
->> endobj
-4587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 99.819 150.493 110.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) >>
->> endobj
-4590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4594 0 obj <<
-/D [4592 0 R /XYZ 89 770.89 null]
->> endobj
-4595 0 obj <<
-/D [4592 0 R /XYZ 90 714.099 null]
->> endobj
-4596 0 obj <<
-/D [4592 0 R /XYZ 90 639.555 null]
->> endobj
-4597 0 obj <<
-/D [4592 0 R /XYZ 90 602.283 null]
->> endobj
-4598 0 obj <<
-/D [4592 0 R /XYZ 90 378.651 null]
->> endobj
-4599 0 obj <<
-/D [4592 0 R /XYZ 90 341.379 null]
->> endobj
-4600 0 obj <<
-/D [4592 0 R /XYZ 90 304.107 null]
->> endobj
-4601 0 obj <<
-/D [4592 0 R /XYZ 90 266.835 null]
->> endobj
-4602 0 obj <<
-/D [4592 0 R /XYZ 90 229.563 null]
->> endobj
-4603 0 obj <<
-/D [4592 0 R /XYZ 90 192.291 null]
->> endobj
-4604 0 obj <<
-/D [4592 0 R /XYZ 90 155.019 null]
->> endobj
-4605 0 obj <<
-/D [4592 0 R /XYZ 90 117.747 null]
->> endobj
-4591 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4647 0 obj <<
-/Length 1440      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~��ੵgbY�Kg�fg��m�}J:
���+ ����H|Ésq��}H #}:��
�#�5���g�qot�a+@�K]k<�lyN��
O�u�'�?�>�`ٮ�H��,��ɗ�����g�]�����G���`��(��V
?�0�ߺՃ2ˡ6\S��O�+
!���Y�I4R��_�˴��ijK.��i%�2�E�k�G��]�%.rl�R���
��lm�u>d�
��y��Z�oz�Z4N2.
-XuR.�|
e�,���0�v���j�f��h��X>��:J-P�u�5$�c����J�54Xy���IVe�AK1XW�<���}������x��QX�\�"N���>��b����:�2����׻P�ϓ�~���I�&?�!��W��i�(
��5�c*f�Ӂ��ֿ�d��9l~s��\�*�'�(5�gT.
i�1Q}����)7W�����ܼ�&�7���SR���=�p%��4���zh�f��)�lUD�-<����`��n��\ �@�X�Р�c�
�o����K��I�w�}�Ӣ��Z䷢V�X�����
��C�
��A�����㖆�^� �+��t@�2?���K�t��?�B�btѯݐ
����M?��+�>S�
��%���~x�9�o�
G
�:�q���†��#��r������D�PN���%/vU$o89ڛ�{"җ/q�Y���
r�����X�~�Ո��qT�~�
�jG�]�$;H�D��4R�E
�����I�tU%\��R�IY�{���H���)J�B����x���
��IJta�e-���Kw2͆��<�h�*��R�=�/��~/�:I{
	
$�w/Y}d����Q���
�``
a�Ƕg�~�����%�J
��À�:�"����ev���s��	��[������k��jT��H�U��rx��q��1���6TQJ���R�$L�Z��:`���T�9��I�ƪyU6I&˚�|Fe.��b�����ZĞJH����Ӧ���6�9�!�5zF��@�͞V�\�t����ͧ&+�j��i�}4�H��W{�Jk���L��"�P�C�kk��L���ߠYϷ����j�ke�<���Y�0�*���}m�*?D�ͪ��*{V21
>�Y��j�c2�i�>���.��z𕒢��6)�:�@D���
�V�u
�4&yH�!�l�y����(�LJ�?wG/u �x����G#b�9B�Qn�R��m��d����"�s[2�NC>m3�݃Tqa�
Z;@���#�Q%7a
-�N��og�0{�og���&y5ZF͘λA}:9n�U��BP?���Dz~��\�P�V����퀱&�~
-E��û����|H�>�AP�C�p������oE�*4t+6n�U��w����-�
-T�d.QR���t�]8�� ۼd��&�e[NU	�Z�-'�c�j
-endstream
-endobj
-4646 0 obj <<
-/Type /Page
-/Contents 4647 0 R
-/Resources 4645 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4504 0 R
-/Annots [ 4588 0 R 4589 0 R 4612 0 R 4613 0 R 4614 0 R 4615 0 R 4616 0 R 4617 0 R 4618 0 R 4619 0 R 4620 0 R 4621 0 R 4622 0 R 4623 0 R 4624 0 R 4625 0 R 4626 0 R 4627 0 R 4628 0 R 4629 0 R 4630 0 R 4631 0 R 4632 0 R 4633 0 R 4634 0 R 4635 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4644 0 R ]
->> endobj
-4588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 685.422 203.075 696.326]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 685.422 296.324 696.326]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) >>
->> endobj
-4612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 670.931 322.825 680.836]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 647.201 194.297 657.731]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf) >>
->> endobj
-4614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 608.606 188.759 619.136]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c) >>
->> endobj
-4615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 569.637 211.085 580.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.824 569.637 307.233 580.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) >>
->> endobj
-4617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 520.084 211.085 530.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.824 520.084 285.136 530.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
->> endobj
-4619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 481.489 187.563 492.393]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 481.489 213.834 492.393]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7facb7a06ac72f1af2bc514c788f1a38) >>
->> endobj
-4621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.172 481.489 318.421 492.393]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.578 481.489 441.827 492.393]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 442.894 187.563 453.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 442.894 213.834 453.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a57362a4d56c397575a6d043cdbcec0f9) >>
->> endobj
-4625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.172 442.894 318.421 453.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 404.299 187.563 415.203]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.061 404.299 213.834 415.203]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5b3db7ba1765b3a04f8d320968f70447) >>
->> endobj
-4628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.157 404.299 468.407 415.203]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 323.913 197.337 334.817]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b) >>
->> endobj
-4630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 285.692 175.748 296.222]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) >>
->> endobj
-4631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 246.723 205.636 257.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) >>
->> endobj
-4632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 166.337 164.042 177.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 166.337 202.497 177.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) >>
->> endobj
-4634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.835 166.337 279.966 177.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 127.742 164.042 138.646]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 127.742 202.497 138.646]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) >>
->> endobj
-4637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.835 127.742 273.341 138.646]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 89.147 180.54 100.051]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) >>
->> endobj
-4639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 89.147 258.009 100.051]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.742 89.147 349.874 100.051]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4648 0 obj <<
-/D [4646 0 R /XYZ 89 770.89 null]
->> endobj
-4649 0 obj <<
-/D [4646 0 R /XYZ 90 704.266 null]
->> endobj
-4650 0 obj <<
-/D [4646 0 R /XYZ 90 704.266 null]
->> endobj
-4651 0 obj <<
-/D [4646 0 R /XYZ 90 665.791 null]
->> endobj
-4652 0 obj <<
-/D [4646 0 R /XYZ 90 627.196 null]
->> endobj
-4653 0 obj <<
-/D [4646 0 R /XYZ 90 588.601 null]
->> endobj
-4654 0 obj <<
-/D [4646 0 R /XYZ 90 539.047 null]
->> endobj
-4655 0 obj <<
-/D [4646 0 R /XYZ 90 500.452 null]
->> endobj
-4656 0 obj <<
-/D [4646 0 R /XYZ 90 461.858 null]
->> endobj
-4657 0 obj <<
-/D [4646 0 R /XYZ 90 423.263 null]
->> endobj
-4658 0 obj <<
-/D [4646 0 R /XYZ 90 342.757 null]
->> endobj
-4659 0 obj <<
-/D [4646 0 R /XYZ 90 185.181 null]
->> endobj
-4645 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F105 2455 0 R /F106 2334 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4682 0 obj <<
-/Length 2389      
-/Filter /FlateDecode
->>
-stream
-x��Z[w��
~ׯ`sO������c�M�ֵվ89.�KIl���ZZ��b.��^l�==}Z�1��a(
�8���o�/._*
�(�T׷A��c$$��ކ#BK�1_-�j��{��8,��}���w?e7UR����]�K�U�XR���yR���uz�V
��)aːD���/^\_�� `��@ ����_p���?�8
-
��&��o
����v�9�k6)�`�K�Y�8B,r;��Ra�i�
�.���,sw_�W�9;_	��r�VISV�y6}_?�
�*��9�d�;����Z?~��=DFO�_�B
D�%ɵ�(E��`I8RDY'�N�]U���˗�H3 
-����&y�Z���NZ���n*)���,򽽂G�5�BDн��ѯ����j�J�@2�L�P�	$Ղ��:}��>$yZ4��ɴ$JA��`�)�y��0O�����X5YٺtS
,)G�T�O�џ��Y��'M{���fR���t7����\߶K�bB�'O%Dݬ��ʺ��dc5}^~�-2�D��"��w��i�P
ŭ���ǔ�WK�չ���2�!��L�ˮ��\�D��	PCk?zl{�&"e
v 8�]�p
���h}�%�짬H��݋�m��5���ᔜ�35�_���y�7p  ˁ�H!�Y
�ND
��o%���H��|� 
�X���I�Œ
eb�)���
-�,$�&��Q��i($J"E�/a�P��LoT�rLW�wM�dM}ue�zWiӳ��j  �A͋����OG����*k�[lу�b	�В�=�ŏ���{f�Ñ����!�ۙx��t�m�r�c�G�G�fi�|�nh.R7�b���$0Gc��6]eI�}L}D�
-�TH�a���i5�H|<�3F
PDFd�
Ԏ?�M��-A�!�WU�m\��)R��{�Nn�~�R�
���pM���mз�D4����̥v2���3����h�g���՝�M���@�N��Y��~զ;ԉX����A�B<(he��b
�T�Ec����D�'�ij��0��
��
�z�l�U�g���1�:hY�g9�(L�K�x,F��t1� /B�^U2�>Uø$���o<˙�vs7s%
-a����*
-1�y��m~����I���\5�X�u�x�	J��HW0
��y��0)M{�H]�X?I�`L�$cL��l��+��:	�m�\��6Y�O}����>Eld��VC���Y�;=E�'�)I�r�x�����Yr��^�F��{kG,�a�|~� &1�H
ď����=+�˥V  ;�-mʻ�H˝V$!�i��W���G�E�JT<A�x���gh�lj�“M����[HC{�0�8!}
x� 	��
�1
��:p�b	$��Ƹb�2��hP�=�`��Z�����{N��u7{{{FGscD,u�r���|
P�[ =�ħ[ =���Z��� ��-�
�8��]O�Gg�R
�������:(�x��ۅϱI�ޣAJ8VU�tF}J!u<S���QU�*�$s��)��M:�`�ʜ��X�i��*$-��A�pw����
-
&k�d������tfSJ㾔����
F4�F4;����?n��
N6uI�$l��l����U��nEw6��q���6�gŝ{�޽<آ����2����2��X)	����g� ۞�D��Kg�]g�d��aZ/��o���@j����� �i�D`ABs �XJBG>I�q���w\c��D�X
�b�[���8^{
-V�V�pX��
t���ro
L#�7�q��'�EAn���fi��.�e�e��|��4�
�lP��@��t��
oN��M{�o���d�����D�B8��"A�>���v
�"���iq=
�|��ӾK�1zJ��'Ȯ	�;V�_ ;�p��u�wC���3�nV����0�ߙs�:�t�H���z���1��6�ֽ��Ozw��%*C�����c7v/��
tkS�= HP���=���RC���S�1K6�<u!ʚq�`�k�ӏ(C����鸟JO���Ю����\F��W�j#
2��ǓJ�BC /L]X_
:����&&�
-O�9"��ÿ���Rb
>��uQ���.��'���0��
-��G-K;��-:��$�ۭ��b�n����d܊�� nU��	�������
-v_s�o�
�	
-��1�]�%)
��>��A��C�!9g��3>���z�r�5�	k�O�G?t�n˒FsW���f��l���j#�a?�G!
W?��4�P���!�;v���
��œ�?�V��]*
�����E�����i�i�RM���7i�>����W��=��{��s�}�l�./

ЪF�"�V(k.�^�sh�E6wJnKǹ7e[��nn}�����7k�h�
-endstream
-endobj
-4681 0 obj <<
-/Type /Page
-/Contents 4682 0 R
-/Resources 4680 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4641 0 R 4642 0 R 4643 0 R 4666 0 R 4667 0 R 4668 0 R 4669 0 R 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4674 0 R 4675 0 R 4676 0 R 4677 0 R 4678 0 R 4679 0 R ]
->> endobj
-4641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 695.233 178.239 706.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15) >>
->> endobj
-4642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 695.233 255.707 706.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.441 695.233 347.572 706.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 588.531 226.034 599.435]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c) >>
->> endobj
-4667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 588.531 371.308 599.435]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 550.131 164.042 561.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 550.131 213.646 561.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) >>
->> endobj
-4670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.983 550.131 318.232 561.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.389 550.131 441.638 561.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 511.731 164.042 522.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.54 511.731 213.646 522.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) >>
->> endobj
-4674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.983 511.731 318.232 522.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-4675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.035 473.33 159.401 484.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac8652f34bdfa731c02c1900f62bd5e88) >>
->> endobj
-4676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.337 473.33 327.551 484.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.782 473.33 513.996 484.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.175 379.36 314.307 390.264]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4683 0 obj <<
-/D [4681 0 R /XYZ 89 770.89 null]
->> endobj
-4684 0 obj <<
-/D [4681 0 R /XYZ 90 633.875 null]
->> endobj
-4685 0 obj <<
-/D [4681 0 R /XYZ 90 424.486 null]
->> endobj
-4680 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F106 2334 0 R /F105 2455 0 R /F8 537 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4695 0 obj <<
-/Length 2348      
-/Filter /FlateDecode
->>
-stream
-x��ZI����ϯ@�*�=�b��Ty��8��D�\d
�C�A�@�P����ް\F�)��t���|o�`���ޏ7�����`/B�O}�n�E�
x����{3#�����c~�H��.=��__޽xy�Z}�yqw����'�s�@A�%ۛ7o����O
F,
-��h�q��{�o�v�--㧡�z�Lm����!�KHY�W{Y$r��1������,���4�F������;�����M?�3���Ћ(C�f���Z��G�����S�C��mo�+u����i`AC!kA�f��� �T�ٺ��rN��!+��TR���9ų}���7nW҉I��.$>�Gԩ�� �n	GQH܂��#B���;�
Z�щs�@
8�Nbz`�[ .�[�
���2�����
��L�{[���,�/�3�E~,_�n�����&V��Њ��ʼn]�meQge1!9�&--t�6�\+ڥ6�1�G(_0�#F����8ߖ)�H����<����<D>``z;;�s�N�3��|�����pL��qL{
�`�`�T��,0��;m恛�g�
"�Ő�o
-#�}Q�MV��i�.?�
���eU.:=�4��g}RF�h!�w�"�|�?

	pɐO,�x�
X
-�-Jb{�;��I����������2�`��pX�y-fd��-Z.��V ��^ia3� �Ō����>S$P�Ź,��}�Ә���,�Y1�X�e��D̜
�Dq���݆fҽ]%�	rOI�8s�9+d\�^<�*Y+�9�
m���A� �������b����hͧ��ک��*��Ra��NQO��Os�̇HLZ��N8S�TgJf�:|0�&l�)\
���C�O*
�}���R8�[R�X*�y��+�y)�b�.���K$!
-���aJX�_Kc��J�8��I��V6�R�
"�6S5��J��C�*{V3�$��j�1���
3�dž�E�� �T|�
��ZT/)
���X���6!�����	BaӲ3�6
}��z�t��[l�#˰nn���z�=+M������Z�Qv�d�
kt^�V
�Baf],o�,�>U�6=�F-Z��zc�ڑ�������]	�ɚ����$	�-;���IS�0�J��nƟ�8٘#��	'�U��O-�?f
R�C�B�ҿ�
��fc�r�q�*�9�zm�}�w.FN� HuI����N�G
-�F�n/���Ofyk6Z����Si9��q^>J�r)����K����� �.�z�b��0�������A!�FE����L���@�ϲ �5�,�8
D�p����k'U7�^{T*L�ᬐ�<��Sc
0ߺ+������i4P
-�]p~
�.�RWnd%Gw����1��\VOT-�Ov��T>eb�/�	\1�a«/��n��B)Z
��
�n���U�$����0�t�O�8������O�1��]��bCx>������2N<��<
�~�bߏ�I��Q�$�,�����7)�e��_m�_L�����+��pBi>�蹻\�+��z����-�������Q����r
{��۩�R���!�pk^T�PO�����>γ怾8��w��SBNl���IGŌ=u�kH�:�ۼl�
v���H�:�[�k;���
��?X�}՞J���g��S�O �TT�iES�a@��ϸ�T
�������0���cy�أ3
�#�(��@'�8��
��ؔ��^��׫FV�!X�"�������R�~{��4=e��$[��}�`�'z�P����&��f�
@r��<�ٸ�]��7�穿=婯�|7r�C7=�O�f�Gn��5
�7�|��
���
�����8
�1��zY6
-+Q��U7�:ӹ>L)�����T��.��,��:ǃq�F������f��
[d�D}( r�@a}0Si���5䑅=d]�[���S�u-�q�d���
(t`���Ou�T$�R�:E61
�ĪTs����%r.S��v���K[ui
�����e�����^�c�r�x48{�+ݓ�����X
62����ٻ*��e����4�--�$��!��>�hRH�g��@��&��������
>H�T�3�����!F5o���!wW>�Î��ӝ�a�B��aVHil�	w�5�� ��E�f+���Px�F�3_ �M��wQ���Y���ȝR|}�5�z)d�J��t��
l�+]�ս�ӹ�Ld����MeB�횂�
˂S�|rN�W�V٨
�����X |]�\������'"`5��#`�0X�Re��
;t�c�ֆ����~;W�(3�K\�qVA�� �q����<�����i���so6�Gt��Զ��4�ny{����lW�������c��NQ�=d�|L����/y��� ;
d|
-endstream
-endobj
-4694 0 obj <<
-/Type /Page
-/Contents 4695 0 R
-/Resources 4693 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4692 0 R ]
->> endobj
-4692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4696 0 obj <<
-/D [4694 0 R /XYZ 89 770.89 null]
->> endobj
-4697 0 obj <<
-/D [4694 0 R /XYZ 90 215.614 null]
->> endobj
-4565 0 obj <<
-/D [4694 0 R /XYZ 90 193.302 null]
->> endobj
-4698 0 obj <<
-/D [4694 0 R /XYZ 90 193.302 null]
->> endobj
-4693 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F8 537 0 R /F11 442 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4702 0 obj <<
-/Length 1770      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~���-��Z]H��C�&����6��%��6�e��
g��{�$@�ݵ��4���s��w��<��:��|r�,žD2��w��$��@"
���{������?����:�8�R���u�,�?��2.o��'E~Un�|�Lg�c�IW���2Y%�_�KšO$��=>yz>y?!`�����Hx����[�-��s#&��k���2�fޫɟ|�3��=_3޼H֗`Rcݳm���"�w���:��y��

�#��<)����"��.�2N�j>_yU_h�
�)g��RI��o

-"� 30Cr��z�9�{*)�M��,Q
O������>��O���ĉY�tl�H�c�8c%��,D�ż�:ͳ4O��<�-��C��ț5F���I�-s��:�ڒՔr�s�y\����'�`�(��(�]��zx��h@:�1� )Z=�uZ���
�Vj�m�9�p�� -��0����"�(�Uλ�
7�D��";
T�r>/���ty�W
��8vK�dϷ�P��AA0.�t��M~��2��Է�y��$rgZ�f�f��J˺*��Vu��ƄB=	����ƙ��XUm���L�᪩辁N�g$��F��s?Ly(We�¶,�ЖL:eL����Q�Ql�2�����N�8��F�p�BZ�ߍ���!��!$BI�"�TM"L��b���&K�j,s
|h�
=Ȏ
�
6Z�m��\r�$�>�8�>������A
��Ԥ�7(I
-����,Y*Ӥ�K���8�6�a
P�l�,�M�T �4�Ҷ��I�,,�u���k��l�m�D^��)�-!SU	�l��E�'&v	�ޚ�1]�2<J�W%��Q_����B��#Z!N��o=&/
-���pb͐�Zn|��KU|s
��ײ랷�_0�p?���}z3�M�g�,
�UE.��������G�~~�)�H?'����_|r���
$
G`��.���B�bv���r/�"�I9����E
o�"+��El$(�G'B�p�r�
��)�1��
���spKLjQ��|i�8�n�t��9D��1ֹf�^ܛH�taJQ�
Y[�5S	�5Y���rzP2*–��;���?v�v�Y
���c۲�dP��"���ocYa�/��ܙ=h��*J�W�i�
��]�z�q�s3����ܔI?5f�h�B��N�5<�Т
���N�Sǒ�^��~�CQҶ�Ȉ*�i0�x3
-��u�������S<Z��V
-�z
!	��~
1�C�
-
jJ�u<�SӏwJA�F�?=�W<���
�O)��M@ 
�`��Fi'�[���lJ5~19����� � ���U5����}!��Q˒��8�68
��<]���0uM�0��:)�&�_]$.�z=�-�֮Y��� rN�=��8�wvb���H��#��g;q�ٝ8�U�M���9�_'
с]x��e���D�q~���{q�z��,�'#��@���	�e�;�8�(bm
o#X�ѱ��Hy:
-�}��
��p>�o�:Q�}A���m����N���/v�l#swܐ���Ʀ��Uw�1՛;���Lhl���M]��?�7�ҵCD{�چ�ORf
-�	�G�LJ
�ٍ��
w��+v-0KU���m�ӐΓ���

-
H��S��Bֱ��Dp�S�6Vg�G���Z �[�"}�W��?L9��?/�|��=��D%e�
�6��zΚ1��$1Nj��y���=
 �nc���7��n����Di}��d'�_=)��݉�(m���wj�j΂���/b��
-endstream
-endobj
-4701 0 obj <<
-/Type /Page
-/Contents 4702 0 R
-/Resources 4700 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4699 0 R ]
->> endobj
-4699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4703 0 obj <<
-/D [4701 0 R /XYZ 89 770.89 null]
->> endobj
-4704 0 obj <<
-/D [4701 0 R /XYZ 90 721.073 null]
->> endobj
-4606 0 obj <<
-/D [4701 0 R /XYZ 90 704.266 null]
->> endobj
-4705 0 obj <<
-/D [4701 0 R /XYZ 90 704.266 null]
->> endobj
-4607 0 obj <<
-/D [4701 0 R /XYZ 90 574.08 null]
->> endobj
-4706 0 obj <<
-/D [4701 0 R /XYZ 90 560.132 null]
->> endobj
-4608 0 obj <<
-/D [4701 0 R /XYZ 254.215 459.154 null]
->> endobj
-4707 0 obj <<
-/D [4701 0 R /XYZ 90 442.716 null]
->> endobj
-4609 0 obj <<
-/D [4701 0 R /XYZ 90 316.894 null]
->> endobj
-4708 0 obj <<
-/D [4701 0 R /XYZ 90 302.946 null]
->> endobj
-4610 0 obj <<
-/D [4701 0 R /XYZ 90 177.622 null]
->> endobj
-4709 0 obj <<
-/D [4701 0 R /XYZ 90 163.675 null]
->> endobj
-4611 0 obj <<
-/D [4701 0 R /XYZ 308.538 77.486 null]
->> endobj
-4700 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F7 538 0 R /F8 537 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4713 0 obj <<
-/Length 1488      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W��J3� Ih�C�Ɲ&m�����xh�8!	$�*��
|I�cǽ�`� ������Rعu������lu
`�#��:
;���J��9���j������[��ٟ�6��m.�������#���� t�|vy����8y<t��ܡ��̹��5��B"ĺ��y�_,	�x~#e�X�
��/�G*���/\<��a']��ިH
��3YܪZ�X���Z|��,��폘a�#fˢ�tX�s�����g- �i����2��.��z�r��Qժ(�x��"�VonN�t}D1i�ҭ{�1 �J|�؛�E;-�.-�m�4�D��v��l�f,9G!�pI�|���^�\&uV[rk�_���.��Dk�\4�����A0`́jޘ �%�M
�&�A�2�-�
	�Y�U
�d�
a��رWX\��
��C޵�,
���վ�k<Fyӈx�ѷ̠
[U�,�b�p������J��y��L����(���P%Tnŕ0�
*�
��癈4�_��vd [...]
--p�=�V�AZ��nj29��q�3��<�W�}���|ѩ�U�DR�'ļǚ���4ݙ(���M&�jv�:�j�
.~w�`��$��ΓZ �(ďε�
��
�@ޟ���&m>d]�Ւ��Jm���J�r2����28=F5m�=����;S�69Zz�M����6�~)�Ҹ4K8�
W��,Z��ա��H�����i���5⑽�@��5ss�j
r/T1����1K����ˉ��
��H`Z_{
MqqIC�so�����\A�Jl�^���AdQ%��.�*m3����
`��-��P�#��X
}�@��v`��R#i��f9�&�ZN�N�B�
'��D�
ƅN��<��v=��RQZ��uc���-���O&,@�o��&�f���r��0 at R2���I�da� y0WMo�9%�{]b�n�9��q��7���G����J��A��Z� 8Bf�4D��h�'��u�G�Z�ѤfG:�Q �G-㷩��Ӈcd�h'��^�Ҍ!���M��z	
�,좶"��v�����aȚ��,!�2��9���l���I��IS<�����T��d�*��.o��S���}�4�7��L��

#�`���ߛ� ����(
KJ�A�nʃ|GN>�j%�4|DV:�O�
Q�N
�����Qw�s-]�[��=ݝ���b<�dͧz�ܩ�-d���N{>���G�wF�S*x^?S":���x�J�|��q�z
-�&05<j�wi�������˿�ۣ�|�ŻV��aP:Pv��y��Y\��0��I/
�D͚͠A�.�I�,�m�B
��?�ƫ~�6Ӧ*����WSA���B�	��޽�5��!��@�U�~�Z��ݡ�Du��J�|�F�
�tJ�R����h�Gi=��$�_����
-endstream
-endobj
-4712 0 obj <<
-/Type /Page
-/Contents 4713 0 R
-/Resources 4711 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4710 0 R ]
->> endobj
-4710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4714 0 obj <<
-/D [4712 0 R /XYZ 89 770.89 null]
->> endobj
-4715 0 obj <<
-/D [4712 0 R /XYZ 90 721.073 null]
->> endobj
-4660 0 obj <<
-/D [4712 0 R /XYZ 268.967 649.995 null]
->> endobj
-4716 0 obj <<
-/D [4712 0 R /XYZ 90 625.68 null]
->> endobj
-4661 0 obj <<
-/D [4712 0 R /XYZ 206.163 537.142 null]
->> endobj
-4717 0 obj <<
-/D [4712 0 R /XYZ 90 512.826 null]
->> endobj
-4662 0 obj <<
-/D [4712 0 R /XYZ 507.769 436.243 null]
->> endobj
-4718 0 obj <<
-/D [4712 0 R /XYZ 90 411.928 null]
->> endobj
-4719 0 obj <<
-/D [4712 0 R /XYZ 90 299.075 null]
->> endobj
-4663 0 obj <<
-/D [4712 0 R /XYZ 90 275.246 null]
->> endobj
-4720 0 obj <<
-/D [4712 0 R /XYZ 90 275.246 null]
->> endobj
-4664 0 obj <<
-/D [4712 0 R /XYZ 136.903 172.715 null]
->> endobj
-4721 0 obj <<
-/D [4712 0 R /XYZ 90 148.066 null]
->> endobj
-4665 0 obj <<
-/D [4712 0 R /XYZ 90 75.329 null]
->> endobj
-4711 0 obj <<
-/Font << /F70 398 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F100 1387 0 R /F7 538 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4726 0 obj <<
-/Length 1300      
-/Filter /FlateDecode
->>
-stream
-x��X�o�6~�_�a�&3��"�d�V�ú��)-զa��Jr���I�dӦ���ЗD�N����x�n#
�<��jt�"��FZR]-"���k$$�ͣ�`D�xB0��1�qZ-ӛ7c��2�3�*�y�}���a:}V���3ss�P7f9�P��gyZ���Y�jLT��'Z
-���^��_�>���#b�(Q�l9�~��9��2ˆim:�e�)��yt9�}�
�D�6"�8b.�e�[�ʕ�Ҧ�..��;,�,�ƅ1Dg�m�>{ ;�Q��Z�+�b����GZ�����D��.�%R\� �Ulv:���0|��U��V׋*3����r�p¨F�L�	g�h'���YWE�V�;��!�x�@<P*�C&���7-掎"�W��p	�er/�
�B\�ޠ�=!��$���# �#�|\gc*���O���A&�'H3�S�a�
��W�F�X#��(��"� �i\�y
R ��%��V�`HV�p
-���tZ֍����������.��ʁ���*@�

�c�T�`�Ր�: � {�jyvD��IZ
��2yژ#bQ��n�ۺY�?�u�T
fS:6��%��i���^W�ǯ�¤���O+KH]gea�L���C�
	x��T=V����$
/9�
w*�@�Z��7����Į�SR!�ux��jf۴V
-HL�A��By
-�lhD_�JN!*�S�`r�w�/K U1t6�XL������� �(�	6A
&!
&��`B<
��c�H�1
�݊4����
�2�w��2�MS�YSO��7��ƀ)@��f�ڝ\>���ATE�%�Ė�ϠM�%�-�{qڝ�=�#A�^��7�����G&ٶ�#z�M���
���}{t)�v5%�z���U��	��RX�J!,O�����C����$��nkD%]B>���"�؏���˕�ei��eB�LȌ
��l��s��L���������
	e�=��U?/g�%�z��v?-`�q���"�m���.����m�2n\T�r��e�����Ɋ�~d�47��@�I��3ؽ((�?���T�V���Z���n��ʂ:�[�
��������r�D��ѾU���3�0�ڥ�묘��y�;���������ÁV��P
?�䫡��<s��Kqg*�'lT�b�R|���iSe�����G
��dO���}� ���3�b��R
s��w�ֹho��M��X@����b����}
e�z����Ҷ= h���Kc\�6�?����Q���_ۄ���k����l�٠Y��E��P֜ig^���&F�d��eٟ��~\vu~�����>
-endstream
-endobj
-4725 0 obj <<
-/Type /Page
-/Contents 4726 0 R
-/Resources 4724 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4723 0 R ]
->> endobj
-4723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4727 0 obj <<
-/D [4725 0 R /XYZ 89 770.89 null]
->> endobj
-4728 0 obj <<
-/D [4725 0 R /XYZ 90 721.073 null]
->> endobj
-4687 0 obj <<
-/D [4725 0 R /XYZ 90 665.758 null]
->> endobj
-4729 0 obj <<
-/D [4725 0 R /XYZ 90 645.076 null]
->> endobj
-4688 0 obj <<
-/D [4725 0 R /XYZ 90 584.256 null]
->> endobj
-4730 0 obj <<
-/D [4725 0 R /XYZ 90 563.574 null]
->> endobj
-4689 0 obj <<
-/D [4725 0 R /XYZ 90 502.754 null]
->> endobj
-4731 0 obj <<
-/D [4725 0 R /XYZ 90 482.072 null]
->> endobj
-4690 0 obj <<
-/D [4725 0 R /XYZ 90 408.963 null]
->> endobj
-4732 0 obj <<
-/D [4725 0 R /XYZ 90 388.282 null]
->> endobj
-4691 0 obj <<
-/D [4725 0 R /XYZ 90 315.506 null]
->> endobj
-4733 0 obj <<
-/D [4725 0 R /XYZ 90 294.825 null]
->> endobj
-1390 0 obj <<
-/D [4725 0 R /XYZ 90 165.762 null]
->> endobj
-178 0 obj <<
-/D [4725 0 R /XYZ 90 155.766 null]
->> endobj
-4724 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4764 0 obj <<
-/Length 1478      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~���)�gbY�Pf�Ф�N��Ҭ��d<,�z�bp ����G d��ދw���
}�;�9�Y8��}�j:��	�H$=�9�KGbG�q����!������<�A����O�o>N�������ǀ�+�j �������ؙ��wFL��M�h鸔�5v��^[A��9� �U^NYw��q�уx�e�3��د�}����8_�
�a��3/���¬�Kلrh�&y1�
-�E���^�t��`��jC� ϥΘp�]V�k2*G���c�O���ke��o�B-M��Qm�"[�$T9�5���I8�]�����qV�}Pˋzڳu��� ��!m͟�W���E��
s
?��
��7u��b��`���1�/F�Q<�
��+j�*6@�'��k��0���X���lގ�7ȳp��_5 -��2J�*�dW�����x�EZ�29��95&H
-���pQ�i�G0V���,�!P��0 *��u/g�jEo/{���'��Wq�7
�C��.�J
-�=��=㞉�R��&g{��$C.���x�	���E�Q�;c����Q=oƨ�h��o:�$��lnk6ڃ��'�ɞ�z}�ҕ��	��
��
-��0z
���|���LH�O�u���1�L!���
 p����"
�}��sp
=���3ֳ0?� ��7LW���9/H�$�� �
-� Jz�*Ep�V��#K3H��^�-�h�RZ�Qd61�6;U͈2|��drE�v����0Õ�[S	$\�n�]�A)Jy��{z\�B�g�������˓%g����h�,!포�vK����#0$��ˬج��>�� ���K�m��7���b�%��x;{Ku��k�
bi��$�S]T�ٵ%¾
-+�q�Y�T���6.���O�)�{"�[FCm�i�q�E���)
�2͊���Ngm����0"��R X����NdS�_�.���
-�S�<h�aH�t��Oq�D0N{���\n�m�Ձ�����$#Ǣ�U���(QA6k?���g˜:��,#b��-�jY�U�wkλJ|$�
�5��h~�0�V
��慥9��
�8�$�ƹSǡ�*v�[�Y��\����GH�w�����TO�ޖ�uv9�8��=~�8w���[��{��$E̿����z�a~An7�v�d�=���#XnU���\���#L������o;4#��iFˏ$G�c�m�
�4,��c�p����nꆻ�P�M?,K�}���ALM;J@�TRM
�]�t����?�Ԭ�,�����v����՘� �
U�_rC�G&�Ik�]���O{�+�n�i����@',�|�Кs]mpi�Mk��\-[-��ƛ+5����Ef�B�D~q>4�$��Ԡ\�T�M�PAD��P�
�\�	�Z��N��a�4��aZ���(V/&����h�D�
E�d��'����	;�e�R���e�������|+R
-endstream
-endobj
-4763 0 obj <<
-/Type /Page
-/Contents 4764 0 R
-/Resources 4762 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4686 0 R
-/Annots [ 4722 0 R 4734 0 R 4735 0 R 4736 0 R 4737 0 R 4738 0 R 4739 0 R 4740 0 R 4741 0 R 4742 0 R 4743 0 R 4744 0 R 4745 0 R 4746 0 R 4747 0 R 4748 0 R 4749 0 R 4750 0 R 4751 0 R 4752 0 R 4753 0 R 4754 0 R 4755 0 R 4756 0 R 4757 0 R 4758 0 R 4761 0 R ]
->> endobj
-4722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 686.125 192.544 696.053]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 603.923 198.363 614.827]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ab30ab523e337d72baa4edc802452e532) >>
->> endobj
-4735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 564.871 198.363 575.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a044dbf593127c9e8cbbbe2a0d169c30c) >>
->> endobj
-4736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 564.871 275.832 575.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 525.819 198.363 536.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) >>
->> endobj
-4738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 525.819 269.206 536.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 475.809 198.363 486.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6b5016000dff8b0c774381316acc0a11) >>
->> endobj
-4740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 475.809 303.527 486.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 436.757 198.363 447.661]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272) >>
->> endobj
-4742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7 436.757 310.153 447.661]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 397.705 206.112 408.609]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) >>
->> endobj
-4744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 358.654 198.363 369.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.103 358.654 249.909 369.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) >>
->> endobj
-4746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.246 358.654 361.699 369.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 319.602 179.554 330.506]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 319.602 250.666 330.506]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) >>
->> endobj
-4749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 280.55 182.044 291.454]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_addf5f330215fb1878018673eff609704) >>
->> endobj
-4750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 280.55 293.834 291.454]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 241.499 220.22 252.403]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f) >>
->> endobj
-4752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 202.821 155.265 213.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7) >>
->> endobj
-4753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 163.395 158.044 174.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd) >>
->> endobj
-4754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 163.395 235.513 174.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 124.717 158.044 135.248]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a067b4c27cf8643f8ded50ebda77da8aa) >>
->> endobj
-4756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 124.717 228.888 135.248]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 74.333 158.044 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a37857f2dfb7b17609b671f9070be15ca) >>
->> endobj
-4758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 74.333 269.834 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4765 0 obj <<
-/D [4763 0 R /XYZ 89 770.89 null]
->> endobj
-4766 0 obj <<
-/D [4763 0 R /XYZ 90 704.222 null]
->> endobj
-4767 0 obj <<
-/D [4763 0 R /XYZ 90 622.995 null]
->> endobj
-4768 0 obj <<
-/D [4763 0 R /XYZ 90 622.995 null]
->> endobj
-4769 0 obj <<
-/D [4763 0 R /XYZ 90 584.063 null]
->> endobj
-4770 0 obj <<
-/D [4763 0 R /XYZ 90 495.001 null]
->> endobj
-4771 0 obj <<
-/D [4763 0 R /XYZ 90 455.949 null]
->> endobj
-4772 0 obj <<
-/D [4763 0 R /XYZ 90 416.897 null]
->> endobj
-4773 0 obj <<
-/D [4763 0 R /XYZ 90 377.846 null]
->> endobj
-4774 0 obj <<
-/D [4763 0 R /XYZ 90 338.794 null]
->> endobj
-4775 0 obj <<
-/D [4763 0 R /XYZ 90 299.742 null]
->> endobj
-4776 0 obj <<
-/D [4763 0 R /XYZ 90 260.691 null]
->> endobj
-4777 0 obj <<
-/D [4763 0 R /XYZ 90 221.639 null]
->> endobj
-4762 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F106 2334 0 R /F37 2635 0 R /F105 2455 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4811 0 obj <<
-/Length 1699      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�R3
�A������&���;=$
L�6'�#E��]<H=LK�#Ǿ�	.�}��w�a�Ώ�_s�%(�h�_z	�x� ������
�	��?
싦���~5]\ˬ�w�E#���ɫ��jf�L��l�ZY�Ɣa��T(eo��KٌH��A�q1Ⓞ�>��y���ї#za�X=ⱗG>a/��zI��͠�
i שwv��vKڼ�%&^
K�B�DB�c����|S*ٴNǼ��
�&��|0G
D�>b
�Q��E��^�ʎY���G�$�iU/�]ui���^uF��omf�,��/���D��ݐ睴�ܗB�����嬸 ��S�H��,/d���4sCJ)3�!��m�
�f�
-��Lj�%gdJٚ
�Ø���{���\9޼7���LG���t
-���Miz�G�����
�
�
b��7�(
-�7&


ү��R���ܓg@ƃ�4
�'�3����nL����v�ɢn���p�3�j�K����5�@#��
�N�|;��l'��ٻ�.z��l��w�^��̲���=e��� &y+�V�vl/� W�~�� ��'n�JX�@k���^==�� �G3B��ps0�F�sк�꬯����	�5�
%	�v�Xܳ&w�++7�q�_�>��
-�j�Z�ن��f�me�$(a��_
Վa�X�;��N��{�-�硹�\��Y�7X����%����>��^]C}u�獜$��
�B��hM.�.�
Kp��D�+�{�L{��nE�Pi�O�YQ?p����t䫆R[�v_D�6;9Ie�
��Q�GQZ�/�^�yco��k{Q�l��U�)/�QȒC�<���	n i�񟋮�s��F
-׼=S����99�(}
��
�����	���]7��؃O�
jȨz
Qx�Ne�4	�$�;J�L2P��~ª^fj��hU� �e����P�`Y�����1N������Jd[
?p�{��w0�v�����(d~U
� 0����k.;���ˏ�o�>�fi��Q[=�Y*3��b��l��2^��F��Ϝ#����d�߽��Tr�c
���d
��)
-1Y��E�VF�
x�
c��q@�ޒ�U/ޫ�T��8u9�>ZF�pԯ�RLՠ���t�e���u%��lGa9��\�,�f1Q�w9i����Mp��Nܷy9�X�������k�KR��.��|c��*�^���e�}5���a?v��d�]���hV~�N��y�G�@�?҅(��ï��v�I
�
G�[<� B1c�Ż�Y��rVL䗙��m�H��.Uz�&���]]MV7���!]�Pw��1y��\��\���1\:��z�#�A�i���y�^��A��O��P�/�$�o�wۣ�cK�e�Y����Q����Ep��(��0oqG�=��!�_f��h�]O2�)
/�u��������{
��~b;��ڧ
�ߥ�M��fC
��
qxP��ɿ=�C�!iB
�`��n����tV��6�wW�p׾��ڭk�c0�ze���n=�8�vRn
��Ȝh���
��#}��3��#�J�]p<5�M�ΨO��ם��?�*����
-`��+;5c�jQ�Q�v
F����3��ծ��ݽմ�+���� ��u��'����
�
-�����q]O��̸�j-6�\V.�C)ԗN�0[H�x�����e
-endstream
-endobj
-4810 0 obj <<
-/Type /Page
-/Contents 4811 0 R
-/Resources 4809 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4759 0 R 4760 0 R 4782 0 R 4783 0 R 4784 0 R 4785 0 R 4786 0 R 4787 0 R 4788 0 R 4789 0 R 4790 0 R 4791 0 R 4792 0 R 4793 0 R 4794 0 R 4795 0 R 4796 0 R 4797 0 R 4798 0 R 4799 0 R 4800 0 R 4801 0 R 4802 0 R 4803 0 R 4804 0 R 4805 0 R 4808 0 R ]
->> endobj
-4759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 683.814 199.947 694.718]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a99161b46c175aa485608154dbcc866cb) >>
->> endobj
-4760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 683.814 288.215 694.718]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 644.495 161.013 655.399]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) >>
->> endobj
-4783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 605.176 195.165 616.08]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8) >>
->> endobj
-4784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.069 590.323 225.739 600.228]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 579.364 227.817 589.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 555.271 187.563 565.802]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3) >>
->> endobj
-4787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 540.045 271.151 549.95]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 515.952 150.493 526.482]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) >>
->> endobj
-4789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 476.259 181.845 487.163]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa) >>
->> endobj
-4790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 436.94 181.845 447.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
->> endobj
-4791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 397.621 154.727 408.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) >>
->> endobj
-4792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 358.675 176.505 369.206]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) >>
->> endobj
-4793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 343.448 450.955 353.354]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
->> endobj
-4794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 308.024 191.718 318.927]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 308.024 288.852 318.927]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) >>
->> endobj
-4796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 268.704 191.718 279.608]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-4797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 268.704 303.079 279.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) >>
->> endobj
-4798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 229.385 179.554 240.289]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 229.385 242.925 240.289]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) >>
->> endobj
-4800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 190.066 179.554 200.97]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 190.066 285.516 200.97]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7) >>
->> endobj
-4802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 150.747 156.281 161.651]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_add39af06cea8afa45c772e94db8a1309) >>
->> endobj
-4803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 150.747 244.549 161.651]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 111.427 252.988 122.331]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a7f5a110ccdfd8efa5e0eac984f90d753) >>
->> endobj
-4805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.803 111.427 322.447 122.331]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4812 0 obj <<
-/D [4810 0 R /XYZ 89 770.89 null]
->> endobj
-4813 0 obj <<
-/D [4810 0 R /XYZ 90 703.14 null]
->> endobj
-4814 0 obj <<
-/D [4810 0 R /XYZ 90 663.821 null]
->> endobj
-4815 0 obj <<
-/D [4810 0 R /XYZ 90 624.502 null]
->> endobj
-4816 0 obj <<
-/D [4810 0 R /XYZ 90 574.224 null]
->> endobj
-4817 0 obj <<
-/D [4810 0 R /XYZ 90 534.904 null]
->> endobj
-4818 0 obj <<
-/D [4810 0 R /XYZ 90 495.585 null]
->> endobj
-4819 0 obj <<
-/D [4810 0 R /XYZ 90 456.266 null]
->> endobj
-4820 0 obj <<
-/D [4810 0 R /XYZ 90 416.947 null]
->> endobj
-4821 0 obj <<
-/D [4810 0 R /XYZ 90 377.627 null]
->> endobj
-4822 0 obj <<
-/D [4810 0 R /XYZ 90 327.349 null]
->> endobj
-4823 0 obj <<
-/D [4810 0 R /XYZ 90 288.03 null]
->> endobj
-4824 0 obj <<
-/D [4810 0 R /XYZ 90 248.711 null]
->> endobj
-4825 0 obj <<
-/D [4810 0 R /XYZ 90 209.392 null]
->> endobj
-4826 0 obj <<
-/D [4810 0 R /XYZ 90 170.072 null]
->> endobj
-4809 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4847 0 obj <<
-/Length 1540      
-/Filter /FlateDecode
->>
-stream
-x��Xɒ�6��+x�CUY �spl�T�؞x��`�T
�����F��46j��Jl'������x� ���?L� [�|�[ӹa+p#��0J�w6����K��CϰJ�~������魘���
��Q
-<�VR
�}�V
-�_Z9Qh��Pa�ԁ�ܺ
�2�'m!���m�6K�#�a�fy���W��c�z�Z�I�U%����+���K|�:�5���������Yc�y�\m�f�f����2b�4+X�a�Y��َ��k��a��8a�n���B�=�0�ȞR+��`���p|�Z#�!
j��e�oHe�=�ͳbY���b�
D
�Ӱ�U�Y�0ܮyˊ> I����e��!�l�
�H�Fuv���%��kH�]e�i
Y��Y�g�ؗ������$y�����1��s��������+ ��3$���:>���zƊ�]�c͕�jCv�
5��|})����)�8��b�
��M�#'ۭ�� ק
-�M3$�]�,iY��������(\��gq�ϒ�!�X
/H��&Kg׬dM�VMo6-�c2�g,_E����q<S�[@��vU:(���=zDi`$=:��NŖCuA���ÿ��e�Dp�B��\��q�E;���0Xr�k:
-�א�ƨ�����e�臲ғ�V���^��lt�	͐CϑT:�T�mX������M>�� �֡�"�� <yr�(
-##+��c
-���3Y�K�o��u#����7˶^�hG��B:��o���t��R⻡�WCyS變�@z��z�F"i�xvS��{�6���쮉��drֵr�G�O�EA�&#�ョ}�i�"�S��|w���a%."��K_�5KL�tH=.Ɏ{d����np�.�/�
-w��ߥ�I03���

-jnX�9�I�խ��O������NW�
���\��!���i�%�>BmTRJ�U�)����x���و	=W��,
pH`g�!�(��v��
��	�	Uz���p=��I���@�M�ȍB��{V*�Y�Y���G*ߪ�z^M�j�`
H44�!1�݇x̮4�˶*D�	�m�_���+I�گ0'+�P_MN�w��)���٩:X����C�f���:DY
O�Gu�e���V�u�ٮaf��s�,��/ �
-*��ܜ��nW�0 at n��-='MpVh�٧�Ga�1����#��5�y��0|�'Ǹ�B#��I8�����M�
�|�Qd��ɴlr�d�b��
�4"���"�S����BN6!d �
m�}j��@w�H�TOމ*���Ԅ�0y���M��j��L;ŭ>:�3BV�2��[@�
Zg�r\�B�	�[�$v ݙlY�w-�D�=�Ҹ%uY�
�--twc��2���E^#�g"�J�����a�x}���Vu�����Ap�����v�x�x 
����p/��DM����P�_·Cϳu����e�	H S��l>ZA�&�
-�H�8�o��
-��y�I�k�h�g�:߷m=�W�J8Z�Yݠ�
�u>><:[Z��	:%s÷Ee�%+�(U����7B�`l
-endstream
-endobj
-4846 0 obj <<
-/Type /Page
-/Contents 4847 0 R
-/Resources 4845 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4806 0 R 4807 0 R 4829 0 R 4830 0 R 4831 0 R 4832 0 R 4833 0 R 4834 0 R 4835 0 R 4836 0 R 4837 0 R 4838 0 R 4839 0 R 4840 0 R 4841 0 R 4857 0 R 4842 0 R 4843 0 R 4844 0 R ]
->> endobj
-4806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 685.094 203.075 695.998]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-4807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 685.094 296.324 695.998]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) >>
->> endobj
-4829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 670.336 352.207 680.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 646.339 194.297 656.87]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) >>
->> endobj
-4831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 607.211 188.759 617.742]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) >>
->> endobj
-4832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 567.71 245.406 578.614]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.145 567.71 325.654 578.614]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) >>
->> endobj
-4834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.844 552.952 367.996 562.857]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
->> endobj
-4835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 486.304 237.376 497.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) >>
->> endobj
-4836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.713 486.304 329.778 497.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-4837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 377.619 226.034 388.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) >>
->> endobj
-4838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 377.619 405.628 388.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.839 338.491 170.205 349.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a5cd2538767045bd89360588c37d2aedb) >>
->> endobj
-4840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.945 338.491 383.48 349.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 338.491 513.996 349.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 326.536 233.78 337.44]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.696 243.583 374.148 254.487]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.157 231.628 266.289 242.532]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4848 0 obj <<
-/D [4846 0 R /XYZ 89 770.89 null]
->> endobj
-4849 0 obj <<
-/D [4846 0 R /XYZ 90 704.204 null]
->> endobj
-4850 0 obj <<
-/D [4846 0 R /XYZ 90 704.204 null]
->> endobj
-4851 0 obj <<
-/D [4846 0 R /XYZ 90 665.196 null]
->> endobj
-4852 0 obj <<
-/D [4846 0 R /XYZ 90 626.068 null]
->> endobj
-4853 0 obj <<
-/D [4846 0 R /XYZ 90 586.94 null]
->> endobj
-4854 0 obj <<
-/D [4846 0 R /XYZ 90 505.414 null]
->> endobj
-4855 0 obj <<
-/D [4846 0 R /XYZ 90 505.414 null]
->> endobj
-4856 0 obj <<
-/D [4846 0 R /XYZ 90 424.009 null]
->> endobj
-4858 0 obj <<
-/D [4846 0 R /XYZ 90 288.771 null]
->> endobj
-4845 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4864 0 obj <<
-/Length 2188      
-/Filter /FlateDecode
->>
-stream
-xڭYے۸}���K�փ���e\~�z��n�)'���q�(�aB�Z��F����M�D��:yP�� �ӧ �#���������
-R�<��FYR��S}�%�/��4��`4.�M��ÂӸk���/��}�no�v�ߩv��|<
��,����ۦ
s�wu���c4Z\�d1+��统���]�r��/1�$Y
�6W�>Ө��?E��"���h%\���>^��N�$�ɔ�H�D�1F3��k7��H��
o��\��}����gv2��
�M��QU�`_����-]��ިv���|�U��k���d�/Jy?�Ơl+ۇl�W F0�k�E!��F��a޺E�e��0xc��ۉSڤ�no���x��
\� c�4#IƝ�=�	ɳ̙�>R�~�WƝ^
[�������j�T�D�-�	d!�)\IEa:|�Xn���4?i
�#'- ��1��Lò��v�CFu�
�	���m���ng�J�����.����=�+ %�c��cѠ����Lx'��ἃ�P����|�r��u�$�XI7�<�
-!b��0"%��_��`	&+��݌2��"��
C��[
-Z�b�����qq�}g.s��se�}{c.���3.^#�I-'�ef��]�n9�u{�0뾮��w���0��q��nG���l,
:xg�P�Y��f �
�@M0@%�)���$I�
z	s��\'_�e�S�l쵫���SȌ�i�D��'��ĝ�H���i:tlo�Bd�4����2���j0ϥ1�
-�t��zL����#ێS� x5�g�
-���'�L�����Ӯ@��E�)Ia!(,�̓�H
b7�
-��[�C-`-�J$)"<���b���)��)ɒ�9�y�(��e�K��I���Lc�׮��
=<�d@}�V�%R9̴
h����J��!�9(���x�LS��4���"	��oV� �x�k�zP�y2����A��^	W����A����ݴ���we_x\�(����}VLa�':�

-��\�s�lU�궨4X_L�
-�u��Ԅa���2�^�}����A��\ �U� �0U�"@zs0�g��P_�1m�/��k٨v�P�T�J:
0��x��uӘA��%��pjݔKT:u9N��0$�V�"��z]�:�AG���7���<�0 ��R�ִ�U�W�c��
�
-j:��3����GV�O�k���nT�.�T�M�*Gיּ�����
k�}i�V�<�?朕GMݪ�o�f��������d$C���H.�dOCܮ�f��j���7�T���n��<����DxB�
z%�wK��"�+�B7��IFl||�I at Q�
���`Ȃ�T�h�	$#�p>�:F�)cA(��
����H���_��璝!-样�%д��~N�@,y�i�Py�s�W ��k���h!E����XG�\3�!�&TuV�P,X�HR�`?��0.��͛��8I�xf�"j~ۄuvb���|�u�
5�
��S#Vz���XO%>[��!�?�$�o�ԅ�%/�_�-��ˉH��z�~���65B0S��3�7[�U�G��Ǖښ
��:
-3։���t��[(l	p{��՗�_k^zJd�̫����Hf+��L 3R�T
-��h;�@��
�'�9z�vh�g���-]�)�
-K�?���Չ��v5�����AG���"CwfG�}_y���	I�����<#!��� ��3A���9N�����Kͳ\슈�b��Գ�GI�M���Gg��C��`g|����y
-��F���}�G(��"'�CZ��H�Rۨ����
�
�y�p��4���A���4S�RfC��
�B�0d$��t�:7��iI
-�zzR�1GF22�[�����9��v ��U�c��n5tk;��
�-�t6E���f�3���E_�uD��&�7���<\%yv)Q��(Pd��$
-eA������'sȅ���a�v�L>���td�4i@�v'�j�`=�tծ��=����}e6
AƁ���f��Q<+JCB��4�E����s�����X8
-�hT�}��p��x����Ѣ�<��􇅔�u��ݹ���ِ��{H4F�&�
�Q��3��D������/ˁ��q������{�Ȯ��=�Ǜ�9��^�q����n{��z�y�,�U�,����
-endstream
-endobj
-4863 0 obj <<
-/Type /Page
-/Contents 4864 0 R
-/Resources 4862 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4861 0 R ]
->> endobj
-4861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4865 0 obj <<
-/D [4863 0 R /XYZ 89 770.89 null]
->> endobj
-4866 0 obj <<
-/D [4863 0 R /XYZ 90 440.611 null]
->> endobj
-4778 0 obj <<
-/D [4863 0 R /XYZ 90 418.299 null]
->> endobj
-4867 0 obj <<
-/D [4863 0 R /XYZ 90 418.299 null]
->> endobj
-4868 0 obj <<
-/D [4863 0 R /XYZ 90 274.617 null]
->> endobj
-4779 0 obj <<
-/D [4863 0 R /XYZ 90 252.306 null]
->> endobj
-4869 0 obj <<
-/D [4863 0 R /XYZ 90 252.306 null]
->> endobj
-4780 0 obj <<
-/D [4863 0 R /XYZ 349.813 163.248 null]
->> endobj
-4870 0 obj <<
-/D [4863 0 R /XYZ 90 146.882 null]
->> endobj
-4862 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F8 537 0 R /F11 442 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4874 0 obj <<
-/Length 1935      
-/Filter /FlateDecode
->>
-stream
-xڵXK��F��WP9$�b��
�|�;'���rp\*V��R�� �����y00���몜$������8��p��������Q����u��H�
%)\�ѻ�����嫈�"y
-o��?�y}����z�xq��wA���Q� �E����{
�p�U�˳蠅v�
~������ے�G��1g^���&8�5�~ۘ���l�����zcE�vk�]�;�Ё���\�M�+��'Y���z���BUߘ�U��n�%�n��
!��(`VT �Scꋏ�US�ޛ���*H�Σ�[IbT�Cy~^�K��`i�.���N�Ñ->b	�W�,ij�͵z���78E�Euc<��i>
-T����tr[(/����\T���Q
P$堌F+�"��[� pvIp�T��UW�j�vI����V�]������������]?ȝME
�gy�7N��J��
Āy+ ���D�q�[��Q�0�2�Mp�0D�Q�'P
-�@��y*����p1O�{�=�wz�各tR�Y(�(Ϝ�p[�h�XBF��
�iZ���j����N?
�:2�;���#�x"PΜ�O���m:Y�&����ݕ�ΙU}[l�㲂��u���H-eis�s� ^���2���ⶒ�c�H��8�4�}����4�*�e���հ�$���Я��\o��~gʏO��;���]+C�
-�+ $|���e<p�g#��ʲp�r�`zz�Oa�j�-u�*Y
�#��/Q�2c�QkU�c<�?ɮ���И{���Ʈ��#P�	Ī�J�C�Z��<����ܛ��f�.�
hCf�Cg�
�q
�5G��u1��Ұ�I舏l_�	�ѽ�SA�Y�O���R
��TW]���[O��ԆF]
����s�
�����p��
n�
��΀�Lbi+�}V4G�bs������B�Ș�!G,˹�e��
D�Y�`ТjE�j��s�u=b#�Q�Y�c��I@�n����
�&�\ǁ3ʦ#�S%�����)Q�J(�g2{�:
�0g�@g�
��CDZȼc��
򂕢��`�Oc�(���-r�2k��7�e�F��LhE�{%P6v�!P�����s}�����oTXA`P�"�&A�3��jr�p+�P�A#-��Y>5���V����1
�xB
���4���2�@��K����l;&�^I
�zy
��)�9 ���!����|F5��"�#o��
8	��S[�@�`'��s53��=�}3$�MD�������V95=}�#TU�U&����uŎv���S��\3諫�
/0$A)TOu��2�t/�J֥���ت�P{�h��}��������fre�z��'轰��&>Y�u%S�
-:��Vv��t!.&���O��&�
V6/����1J���B���`BJ7+�1>���w�F�e_����A�\G�&�0��3!{LX;O�w�7���یuQH��1�/
u� ��o������n�F��!��>��Q
Ú�*"a�ܵ��2Uv���o��t���jG�$>˵l\�����
�>(<[O�Q�/�J{�/��?v��
����jc�=���������X��
�v	�Q�ʎ��<��l�~�@4�#��Cњ*�
��w����p�]X>,U_
��Y��У=��ư{��P0LP��wA�8e��b00�.�f/��TH��h�F/j��T	?哮�:X���D�p���&���������6?��Ͷ��O{q=��z�u��N&�{���ie+Ͻ�,")�0��������z�J��m�E��ޓ�O�	
)��O���i2!	H� �d
�
doU�V
��#ͥ塹����w�[�~+����Re�����
2� �hf��
)��ƽ���/
M����d�m����
��
tm���
�;;݌gZ���8.��}�RS��
:�^z�	
-endstream
-endobj
-4873 0 obj <<
-/Type /Page
-/Contents 4874 0 R
-/Resources 4872 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4871 0 R ]
->> endobj
-4871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4875 0 obj <<
-/D [4873 0 R /XYZ 89 770.89 null]
->> endobj
-4781 0 obj <<
-/D [4873 0 R /XYZ 90 650.224 null]
->> endobj
-4876 0 obj <<
-/D [4873 0 R /XYZ 90 633.189 null]
->> endobj
-4828 0 obj <<
-/D [4873 0 R /XYZ 285.395 545.551 null]
->> endobj
-4877 0 obj <<
-/D [4873 0 R /XYZ 90 526.359 null]
->> endobj
-4878 0 obj <<
-/D [4873 0 R /XYZ 90 336.019 null]
->> endobj
-4859 0 obj <<
-/D [4873 0 R /XYZ 90 314.545 null]
->> endobj
-4879 0 obj <<
-/D [4873 0 R /XYZ 90 314.545 null]
->> endobj
-4860 0 obj <<
-/D [4873 0 R /XYZ 118.055 213.039 null]
->> endobj
-4880 0 obj <<
-/D [4873 0 R /XYZ 90 193.847 null]
->> endobj
-1391 0 obj <<
-/D [4873 0 R /XYZ 90 68.421 null]
->> endobj
-4872 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F8 537 0 R /F1 577 0 R /F7 538 0 R /F10 504 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4888 0 obj <<
-/Length 2060      
-/Filter /FlateDecode
->>
-stream
-xڵX[��~��P ��5G��2)��L7H����iw��H�X�,9��S���
^dJ�g6m���H


���OA
|������m9��� ��T�D&0���!�	�њ�q
�G4�~W|��X
v�i�����S��������}ꏪ-���;U
ˡ����Ï7o)�a2#y�������
p.㹣��o�5�qx��qJ2F
�__��]S
��C��P��M1(3�NmT�,�kD�e2�y�<WX���s�EI�fA�[��L�Ą�Y�v�`
����տV�L甒\J�C���sЉw�i&.���Д*&Z��d����1��T�U~F�@��LHNy����"3�C Ϯk��L�`�I2i�lkk��l�}�ET���Jٙak�G���N
ۮ2ߛ�����;�i�nW�-�Z`��1�2%	F�?�m�
+��Ȓ��gf!�WJ :
�~ߐ�v) $� �_�u���sN������Ks��ݣ��{l�~��F?���&D�
,�������d�	����л�W�����j�x�Q����Ggl�Hi
@jI��
#�`�}I���֝���ڬ�;
=
f���d��
�
{�=�]����g
�ue��`���I{��v�;j���򲢝a��n
��y��^�5�D�4<�	Nu{�L�<�IM��R��a���Cݪ�e�H��d�;M=��4�!�kU��GGT�x���ؘ��w��
-FZ
�Ǻ�w.@�q�ں}2�U�cc�
?�(��
V���,�jB�����V�+�;��g�H��	
�|�8ǝ�Ù��}|��܅1�
4fTT'߹���q�hHU}g�tl��c�����C�ㅜ�)ń_%/@�br�� �s(�I
O�q�nBm�SCQ7�8��뽻Z�/[��|
�<%qJ_�K�
��j��B)$7e�2).���p
[����01�c�����Њ��5��3��l)z	=��)K�*x��~�0/Y	A|�@Fb�.� �#� 2`r$^��@�ؤ�
����HEN%���Cg�k�E;�#��I�z��׹��-Ms2ѩ�Qޅ� ��&���N�
�Nj��Ԯn�]�^��
-'�$��P9�f�4�XV�˦�O���-�m����Pt�X�����r��_�
P0�
�3kb��E�FA,i;�� �`�[X�sxbJ��m����@�h��H��d�CV1S̩G�
��i&��jK�u�1��?��I��-��}$+�r�����d�≠��P؛0�
 iޢM��'5
ژ�b��I!��G���㜠{�ԣ�7Kw�1�-�N	f���	�^
�T#:4�����!�A�|j��������¾A�
�cnC<Գ!
OS)'����ϭ�B��r4P�3 �,O��v*9�,J��f
-��E94�ׯ����Ou�\�����z0"xO5Z������������5�F�LZI��H
-�FRX9�����
�1�(��=ւ��/mc�w��ПE~>++��<PA�#����[+�G�4� m!�p552w�{Fw�/7NĠ8�S��+,c ~�1p������V��򳎷sN��[���9��ʞ���5l�
�Pn�=lQEW�o�����FT����9
��@�
⻐���
�"��p��/7�(� ��3B<|�j�� ��v4�r��~w����5�'8�"�T\A|�0��'J�����}��n�~�C���r���
O%�g�Ut�<���K��7�5���Z�+<���%��#&O)��4���ma�q	
�T�ւ>i$l�6�	��[�]�P�.Hع]��I� wX���5N��o�[��k �GG�+�f�1��'�z	
x�S6�P��85�'
?ʦ
�l��L�u
(���:>',yj:0_;�cǀr�1��� �E���-�w
-�.�R�`���.x�v�u�\	6���L��I��E޳bWء�)fh���rP��#	��6-�\#�֌�21%�Gf����=r��~
��?V��z��f���R�a����<??��@�m��I=�����e���B�^
�}�A`���N�
������
-endstream
-endobj
-4887 0 obj <<
-/Type /Page
-/Contents 4888 0 R
-/Resources 4886 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4881 0 R 4882 0 R 4883 0 R 4884 0 R 4885 0 R ]
->> endobj
-4881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 594.075 213.855 604.979]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0) >>
->> endobj
-4882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 553.726 197.875 564.63]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) >>
->> endobj
-4883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 491.459 221.603 502.363]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194) >>
->> endobj
-4884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.108 357.652 289.529 368.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-4885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4889 0 obj <<
-/D [4887 0 R /XYZ 89 770.89 null]
->> endobj
-182 0 obj <<
-/D [4887 0 R /XYZ 90 721.073 null]
->> endobj
-4890 0 obj <<
-/D [4887 0 R /XYZ 90 613.796 null]
->> endobj
-4891 0 obj <<
-/D [4887 0 R /XYZ 90 613.796 null]
->> endobj
-4892 0 obj <<
-/D [4887 0 R /XYZ 90 511.3 null]
->> endobj
-4893 0 obj <<
-/D [4887 0 R /XYZ 90 451.71 null]
->> endobj
-4894 0 obj <<
-/D [4887 0 R /XYZ 90 388.651 null]
->> endobj
-4895 0 obj <<
-/D [4887 0 R /XYZ 90 207.77 null]
->> endobj
-4896 0 obj <<
-/D [4887 0 R /XYZ 90 185.122 null]
->> endobj
-4897 0 obj <<
-/D [4887 0 R /XYZ 90 185.122 null]
->> endobj
-4886 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F21 2356 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4913 0 obj <<
-/Length 1583      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��0`�Љ!)R�t�u��nm��{J�@�h[�D������;�H�
�M��{�%�����sHag�`�������Y��%!
���I���F�s�R��w�Nƈ$!���O_��?{5�Pk�g�ه�%�À�(v�jv�;9L�p0
-�ع�D��h �ҹ��1�c]x��
!�#s��OY�V�,����aV�e�2�˱�n�NTf-o1���K3�z
y]��4������AGP
�hguN
�DK�
XOR������j�V��{3U,Ȋ
-"2���%;Ѵ"�HYK����;>�/���ò�4r�F=c��;ӭRi�
Q�֋~�N�<�nעY���Y��U����֐�=�(4�糐+��J�������,T\��\7u��t����Q��fn+C�]Q���cx�sZM����E�^������I�5c,���Ɗ�Ki�k�(��<��ne��Z��k�
�DsS�JIʢ
���=0�
ݍ� �K�#�<q�K�.�le(�Բ�{V!�TpP�����j�v� dy������4��Q֩�Ṉ�D�-�ԧ
������
}��"�2ϧ�Il8�{�i�VB�q�{Dž�1�'�H�0��4
m�O��
I�Ĩ��;cj4x
-�m�x��r��o��$D8��?����<�E�`\>��l�hӮ��
�b0�޲2m��v�
,�M���v6u�o=���=��SvaJ%N)N'�:�
Ġ$t
f1�R>���9��%Z�lՄ6����Z6C�F�
��0χ �
4Uzu�Q���v%�&����n�f{z���m׀'��

���LM]��T��1�>5Q�o��7]1F1Wa
 X����ĸ]��~�RN��Olv��Ȥ��v&5�!���Fk��Ez�������2+7�U�뎒���
v?
�S��'�e�'�(yO����+�\@5Xy`K���,2c�KQ]���AuSpm?�2=�(�cv��)�Y��ʛb{1��A1��#w�(qb�%d�� ��8�!�q��E�)�qĠ��,B��r��R�g0�!9���j�����n�׍@�)$�`/c��⮡�v���Iwlb���oq�$�ʄ!U�,| ɔ���x9�lKx P�
�
��
���m���?h��fzD �}�q����!��ӱ}��@�#;���c��-���Bq��8*C�L��ba��H���@��=�F
���So׋��;D
�������Is���aD���q��rM��\慉Xf�u�N��WJ��Vl
=:F�>7.Q'ֿ�Lff�8���=��s�������'�s]��=[�{��e�!�ݦ1'ؓ�$Qp]	��2ty{2����y8���
�Si/b�,����I?���*H��¶�C!
N4�.�)=���|��0h�����P/S� �~@*����f�##�Wpߏ���E��A�Ԝ+��$޻"�k���K�ڛ��ي�;�s�ޏ_�r��P�7�v�kC�	�
-S�C
�M/�����;��o3}�)
C
ǃ�V]�>=9���AY�6�X7��N�Rvr�����v�j���ρ&����}�V���z�
-endstream
-endobj
-4912 0 obj <<
-/Type /Page
-/Contents 4913 0 R
-/Resources 4911 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4827 0 R
-/Annots [ 4898 0 R 4899 0 R 4900 0 R 4901 0 R 4902 0 R 4903 0 R 4904 0 R 4905 0 R 4906 0 R 4907 0 R 4908 0 R 4910 0 R ]
->> endobj
-4898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 403.054 170.687 413.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a641015af4c3d3b84184e8ca8dd128b10) >>
->> endobj
-4899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 363.524 170.687 374.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_af3c5bf7dd0135194b6c180dcb232ef54) >>
->> endobj
-4900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 324.741 178.435 335.271]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_afc81dafc5cf15ca9acd8f6a03f66c788) >>
->> endobj
-4901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 285.211 222.233 296.115]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_aa02f5903786b4da29daecddcb0db6cbf) >>
->> endobj
-4902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 246.054 180.938 256.958]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.678 246.054 231.847 256.958]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311a973ff993328d8cb3627f3af31129) >>
->> endobj
-4904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 206.898 180.938 217.802]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-4905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.908 206.898 234.963 217.802]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) >>
->> endobj
-4906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 167.741 227.852 178.645]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a4fa3c4bbfb1c6905d95c08c2d90af526) >>
->> endobj
-4907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 128.585 217.61 139.489]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ab404db5180176140a7600b31616f9a07) >>
->> endobj
-4908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 89.428 180.54 100.332]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a6ba82ff86685d87dd34f4d441a7d769b) >>
->> endobj
-4910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4914 0 obj <<
-/D [4912 0 R /XYZ 89 770.89 null]
->> endobj
-1392 0 obj <<
-/D [4912 0 R /XYZ 90 541.49 null]
->> endobj
-186 0 obj <<
-/D [4912 0 R /XYZ 90 534.701 null]
->> endobj
-4915 0 obj <<
-/D [4912 0 R /XYZ 90 421.805 null]
->> endobj
-4916 0 obj <<
-/D [4912 0 R /XYZ 90 421.805 null]
->> endobj
-4917 0 obj <<
-/D [4912 0 R /XYZ 90 382.768 null]
->> endobj
-4918 0 obj <<
-/D [4912 0 R /XYZ 90 343.612 null]
->> endobj
-4919 0 obj <<
-/D [4912 0 R /XYZ 90 304.455 null]
->> endobj
-4920 0 obj <<
-/D [4912 0 R /XYZ 90 265.299 null]
->> endobj
-4921 0 obj <<
-/D [4912 0 R /XYZ 90 226.142 null]
->> endobj
-4922 0 obj <<
-/D [4912 0 R /XYZ 90 186.986 null]
->> endobj
-4923 0 obj <<
-/D [4912 0 R /XYZ 90 147.829 null]
->> endobj
-4924 0 obj <<
-/D [4912 0 R /XYZ 90 108.673 null]
->> endobj
-4911 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F11 442 0 R /F79 502 0 R /F23 364 0 R /F97 1185 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4940 0 obj <<
-/Length 1547      
-/Filter /FlateDecode
->>
-stream
-x��Xm��6��_A�3)4E���t&Mr����~�dn0�mZ
�\��B�\ӻ��%��/��>;K;o&?_L��v!
���#�1�x��ΥK0"��	��=�v�j�\�y�e�[�y�\��ͪ�ڝ����������wu#�''iY��U��aϧ
�/������GbW��� �(&ާ�w����jb�h�8�b']O.?ag��
�;���h ��9��>���c��r
�,'8D,��PĈ���H)o��rΥ�����͸R�Z=?�+�i�F���������9n}��0��;XDz�}��'���2�R2���!A���l�UQ+�驈z�n�a�v]Sm�^4�2 at QH�l�5J��~)�|��`��&��P
6�1Fa(�q��*����:��>��Ptkv#�D(��ۤ�ȕZ�9�HT�T�E��9��/>��9>
�|�5
�7�d�d�4{%��6MVZ�
-��S�&�F/
-Ȋ��{h1qK�p������O�Dݦ�
*��b�J�����G��/�#�؃� ��6�>n[+��HS�M�u��ROT2��#��i*k#�e�+�t�NQ��7N�+�%���~�
-�����e��)Jc�X����A���!D�C�Mt^���7�<V�EX(��a��^�
�e��
��uV,��s3��T��{c%l�[���l�,!�h���IoLɶȋhO� 3�H����:Mx̒�c	B!�D�I� �j��s$B�ދ��x$@��xZ��s�جP�PU?Uy|j�#

n*M��Ztc��=I-�g�5��eV�S~lO	�"��bƌ�J�B8����~��uk���{�$k
�:‡"��oMZn���=�jĈr�N�}f����H��p�ɵO82:T?(���1
@t^��5ä�W���Uf��[�uK̟�&6eU�>��H
-(��r.���ܦ��&ǚ�f����/�-���l@u��A(��R
�
-Ƿq�9��@��qs�����J������-~�0��(
-KkA�F� n�4���eE�o�F=Bz+9�c�5�g#{E�dWOzA�p�]M�i��I�P���JVY����6p���;�*�_}5��aP;��G{s	��
��ӈ1C�����G�b
���,�Rm�{���H�n�T�f}k���0�dϨ�T>�N,��E�[(�+�H�y�
W�T�Eq�y�K}�=T�8c�ݘ�7�ⷖγ�i�����5�]3=�{�~�
-���� ��\e~���� X�z
�)������5�����u�-
տ�N��>`n�}u�o��;�;�U�o PB�W�cVAo��~�A⿻vy��|p���ݕ2������p��8!#>�Y-�{�
P+�
-�pP��

#��
6���
����g:`�I�u���2�w,5�_�x'w��e�P�P�[�c�">��
�1-��
����e��ǹk����&��U#C"��7&�*�"��9>����-�˱o�hV�ח����E�4�������%i[d�
-e����f�{�@l��.벒�C 
��
�0
�� \�0�
-endstream
-endobj
-4939 0 obj <<
-/Type /Page
-/Contents 4940 0 R
-/Resources 4938 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 4909 0 R 4925 0 R 4926 0 R 4927 0 R 4928 0 R 4929 0 R 4930 0 R 4931 0 R 4932 0 R 4933 0 R 4934 0 R 4935 0 R 4937 0 R ]
->> endobj
-4909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 695.038 178.239 705.942]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ad8c2dc06b66e812182f2b1445940e7ff) >>
->> endobj
-4925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.238 612.652 331.014 623.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-4926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.167 600.697 266.994 611.601]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-4927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 348.955 410.704 359.858]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-4928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 294.529 170.687 305.06]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a47e2d2f9114f640ca24b3dc68b701152) >>
->> endobj
-4929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 255.365 170.687 266.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2f74f2b935a0e1900eafe79b7a305a02) >>
->> endobj
-4930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 216.949 178.435 227.479]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a16e25a87d3f2f1a0a454883b84bcf177) >>
->> endobj
-4931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 177.785 222.233 188.689]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_afbb0b8b086aaa82499371c7faee19c3b) >>
->> endobj
-4932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 138.994 179.255 149.898]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-4933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 138.994 230.163 149.898]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a83d49cacc2666db32082dabdac76acc4) >>
->> endobj
-4934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.204 179.255 111.108]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-4935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.225 100.204 233.28 111.108]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aa2b418d948cce672416e77deb99b45b8) >>
->> endobj
-4937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4941 0 obj <<
-/D [4939 0 R /XYZ 89 770.89 null]
->> endobj
-4942 0 obj <<
-/D [4939 0 R /XYZ 90 714.099 null]
->> endobj
-4943 0 obj <<
-/D [4939 0 R /XYZ 90 657.778 null]
->> endobj
-1393 0 obj <<
-/D [4939 0 R /XYZ 90 449.813 null]
->> endobj
-190 0 obj <<
-/D [4939 0 R /XYZ 90 443.113 null]
->> endobj
-4944 0 obj <<
-/D [4939 0 R /XYZ 90 313.098 null]
->> endobj
-4945 0 obj <<
-/D [4939 0 R /XYZ 90 313.098 null]
->> endobj
-4946 0 obj <<
-/D [4939 0 R /XYZ 90 274.427 null]
->> endobj
-4947 0 obj <<
-/D [4939 0 R /XYZ 90 235.636 null]
->> endobj
-4948 0 obj <<
-/D [4939 0 R /XYZ 90 196.846 null]
->> endobj
-4949 0 obj <<
-/D [4939 0 R /XYZ 90 158.056 null]
->> endobj
-4950 0 obj <<
-/D [4939 0 R /XYZ 90 119.265 null]
->> endobj
-4938 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R /F11 442 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4964 0 obj <<
-/Length 1517      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W0�L*��
I����ԉ3�����S��P$��H��:��.��HYr�&i^�`�����ٳ
bg�`����`rƱ�Ч�3]8!v�"χ_s�Ðb:�8}�0?@$�A��>}�v����B����
x�
�x�N�
|���9L�r0ba�\��֎K��s1�m��-�k��wl"�G.

N"DpI��nnĜc�a�gU}�Ԣ��
������Bi^��v�oE��P���vʷ����Gz���
� 
�]i(��w�3&.
-<e�y9b|(.1���5I����ꑵ`D�ak2!d���ݵ瞱ٖ2~/�|�c���ߌؤ��;���;g����\���!��V����u����}�ཨ�2����,��
#�<��u�����!��(Y(��l����
���&����Q at -@ �
C\���ڱJ��C�S��5�=Z8�)�J���s RG��PC����m�<�~��5�@�
�'�p!�dV�C��=Ԅ���]��&b~���`��sQGI*����*.��N�L��!���R�,�YH�[`�_��ƿ�?�g"5T��k�h�ƥȔl�Fc����aز�@���m���榒g�Ou�ƢT�A��RD�BHkf
���ˈ(^��

j}�i�Z�m�3��$30�(��!bS<�'�K���B��ƝZ�o��Pr�7P���
��T�H��� q
J��5�LWx�<M����I�4���E	��Rϵ�0q֧m�m���V����J�K�;N;R
 (։Q��`SGG/9>�
r,䘨J
`Ĺ+�aO�Z�o�⑚^V [...]
-O�MOUO��z��K��졔���t9��mGb��p�Ǎ쩣��h�)�_��8�*�x="@�U�PLPe��	�
�m}*��r���IΤ$���*��4� �*Ρ��j5�E�m��u�=o�/��������EW��Y�����<[B���� #PH��i��q�'�
��
L;%[���}11B����[��_��zv��ck}��08n1�S� ?��*m��@�AoWz�H���:٣�#��ZЉHO�P��z��Ƭ㊐#�@7ʀg�-����I���F�g��gMK�V�R%�<~�����"�5o���"j�nO_6�7���I�v�w�x׶��$��3[����e
5�x���0�'�e
�D���
So;��d�s��&v��m��qȞ������ۙ�֍���
��i�T��t�~�^��Ǒ�
u�xeM���;4�U� _D���:€�/����>9��WU�;F
1loo��.�'���kW�ɒ�DI=��ܤ���9�JlA�6"I��h����I`
-endstream
-endobj
-4963 0 obj <<
-/Type /Page
-/Contents 4964 0 R
-/Resources 4962 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 4936 0 R 4952 0 R 4953 0 R 4954 0 R 4955 0 R 4956 0 R 4957 0 R 4958 0 R 4959 0 R 4961 0 R ]
->> endobj
-4936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 707.957 227.852 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ab2c21b4ce7f4f822e98343689525f1b8) >>
->> endobj
-4952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 669.29 217.61 680.194]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a032aca0bd08a3c854d46b4a7c567b41b) >>
->> endobj
-4953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 630.623 180.54 641.527]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aead8142c94d4974534e7f0fe10ed63a7) >>
->> endobj
-4954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 591.957 178.239 602.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a28cff68f198562b6921add86c58008af) >>
->> endobj
-4955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.494 509.688 330.271 520.592]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-4956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.103 497.733 306.247 508.637]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-4957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 166.891 170.687 177.421]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) >>
->> endobj
-4958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 127.85 170.687 138.754]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af) >>
->> endobj
-4959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 89.557 178.435 100.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba) >>
->> endobj
-4961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4965 0 obj <<
-/D [4963 0 R /XYZ 89 770.89 null]
->> endobj
-4966 0 obj <<
-/D [4963 0 R /XYZ 90 721.073 null]
->> endobj
-4967 0 obj <<
-/D [4963 0 R /XYZ 90 688.29 null]
->> endobj
-4968 0 obj <<
-/D [4963 0 R /XYZ 90 649.623 null]
->> endobj
-4969 0 obj <<
-/D [4963 0 R /XYZ 90 610.956 null]
->> endobj
-4970 0 obj <<
-/D [4963 0 R /XYZ 90 554.815 null]
->> endobj
-1394 0 obj <<
-/D [4963 0 R /XYZ 90 304.624 null]
->> endobj
-194 0 obj <<
-/D [4963 0 R /XYZ 90 297.733 null]
->> endobj
-4971 0 obj <<
-/D [4963 0 R /XYZ 90 185.397 null]
->> endobj
-4972 0 obj <<
-/D [4963 0 R /XYZ 90 185.397 null]
->> endobj
-4973 0 obj <<
-/D [4963 0 R /XYZ 90 146.85 null]
->> endobj
-4974 0 obj <<
-/D [4963 0 R /XYZ 90 108.183 null]
->> endobj
-4962 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R /F11 442 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4990 0 obj <<
-/Length 1474      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~���0����!)R��v@��m@�fOm(2mk�%O������&K����:l�^,�:<<��܈�������.f�/�R��4�.^�=�R�cx�{o}�AH0��y@��5���<�د˛��7���U�57gg/�b~�RV�ɺ��|s�vr}v��U�]�YBʱ������}-�	H��*�p�̧8
-�_��=���># +����#�x�z��=�����(J�Z�=F#x�ޛ��3l�<����x�>�1bQ��)<al�R��q���!{L���*y����ޢ>�C�x����s�yV��o���6�'82��$fJJQ̨���:�I��j-+{��& ���	!>��;ad��
A9�It����ӺZ6[
�	�
iXEu�00�)��6	����b��9��y���1J ?#�?kG��pWO
����s�aϪ	
J'l���.��N�l�2 �b樿��k`o��wC���m�W��8,�q���+i#��%��3���r��ɡds�\rnL���8E���ϓ`�'螖)��^�	8���5ֹ�����t���i7e�ײ�6Uk�A*�4#wA�A�2Dc�1qD��H�Usk��
Yؔ��g0�0�^b���'�
����
���|Gq���Lp�e�|�Y�� �"��OC
P
Y|\�9
6_���l� ?��}ҡC�#ؤb�,F)
1"v<x&��(�5�3��M�銺2�`�5�&�1��0b��A#b̯Ur�C���|�̣Ճ�%Z����ZZ�<e���ȵn�
��5�GSn[��Z�j��i�l�f���<4QtYb��n���:E�NJ97��� �X9;�C��կ}R/����,���^���9Fi�E������zS�;;�	�*Ā�(+�ܢ.�:�ܿ.���wn?n(�v(���k��3����C��g�{	�
:��&	�G���Q�g���B��BY����V
F���*�x�!�z�l͟��l�@Gת=t�I�-z*X�Et����[����lt%�E��FEЩ3s��,�K���nXۉ8<�
��h?�����E�NF���Z��##I�(8"$0�[�����=��ߧ�pd�p³�Ha8�B�
�m�:��j�2��,h��.�]_\�[��4�.xM��C�D(�r�0�����
-D�e̡2�ٔh��8�����m�D�R���t���+
뱄v8�	W���<Nq�t]������e��
�
-�����M���UմX���r;�S)�
-��e��/��gѡs��-GI�G��MR�	��q7��dSt�ݩ�\ڱN��?�,�wr
:�8:�N�ݹ�&�4W��=q�Gb��}uz�W��y����W������U۬
�
Ԃ��CB� ��4
��銚��7����d���$(�}w��������5�[���M����~z�L�H_=�>Ŭ����,�u�e�?�e
-endstream
-endobj
-4989 0 obj <<
-/Type /Page
-/Contents 4990 0 R
-/Resources 4988 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 4960 0 R 4975 0 R 4976 0 R 4977 0 R 4978 0 R 4979 0 R 4980 0 R 4981 0 R 4982 0 R 4983 0 R 4984 0 R 4985 0 R 4987 0 R ]
->> endobj
-4960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 693.334 222.233 704.238]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) >>
->> endobj
-4975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 651.135 187.564 662.039]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.303 651.135 238.472 662.039]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b) >>
->> endobj
-4977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 608.937 187.564 619.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.534 608.937 241.588 619.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb) >>
->> endobj
-4979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 566.738 227.852 577.642]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) >>
->> endobj
-4980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 524.54 217.61 535.444]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) >>
->> endobj
-4981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 482.342 180.54 493.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e) >>
->> endobj
-4982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 440.143 178.239 451.047]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) >>
->> endobj
-4983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.183 351.51 333.959 362.414]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
->> endobj
-4984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.402 339.555 322.855 350.459]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 74.333 369.479 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-4987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4991 0 obj <<
-/D [4989 0 R /XYZ 89 770.89 null]
->> endobj
-4992 0 obj <<
-/D [4989 0 R /XYZ 90 714.099 null]
->> endobj
-4993 0 obj <<
-/D [4989 0 R /XYZ 90 671.901 null]
->> endobj
-4994 0 obj <<
-/D [4989 0 R /XYZ 90 629.702 null]
->> endobj
-4995 0 obj <<
-/D [4989 0 R /XYZ 90 587.504 null]
->> endobj
-4996 0 obj <<
-/D [4989 0 R /XYZ 90 545.305 null]
->> endobj
-4997 0 obj <<
-/D [4989 0 R /XYZ 90 503.107 null]
->> endobj
-4998 0 obj <<
-/D [4989 0 R /XYZ 90 460.908 null]
->> endobj
-4999 0 obj <<
-/D [4989 0 R /XYZ 90 397.389 null]
->> endobj
-1395 0 obj <<
-/D [4989 0 R /XYZ 90 177.935 null]
->> endobj
-198 0 obj <<
-/D [4989 0 R /XYZ 90 169.244 null]
->> endobj
-4988 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F11 442 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5016 0 obj <<
-/Length 1490      
-/Filter /FlateDecode
->>
-stream
-x��XYs�6~ׯ`�Ju	 H��1�6��i����g<Ily�$U���
<M)J�8�L$��bw���`ce`�t��l4=����Pǘ-
�y�v�ka�S�&f�
�q�
XU������ٹ�������Q
l�]#�G�?`cï
�,�5�J��`Ԃgd��~ὺ�Q2϶�(
&&���W�E��O�IP�i���T�'���E
�,�0)E�����vg��A��[yw:2ޛ6�� ��a!2�H����J\`Ï��U�p�pA�I]@�Q�$
1ʕ./���F��Q).�R!d���ةY��؜}���T-e��أ����m6��x&~v]��\C�LO �
1ǫ"�[X.���4����L�>z��(��
�C9[ JN�E��~��c�y���$�� ��{�ߓ����4
��"�
����A)ay-�bk_~�q�k46N9��&�6ro$�2��R?�@ܽ'���DϮ
G���z3k�p�7�Ǧr
����r�E�����ʆe��
|X�뺟�E����[e7���w_�q���F�>S&�ӏJ�0	�طK3���Ŗ	��6��lₔ���Xg��с����"nY�D��T;=�x��ˆXv�P�"겴wHE.�F~��FO"�C���8�-�q��N?��a��u[S����zH�7�9^Ms=��#����W��/ Ha�G���
��sX�9
6���6
��)�.��l<���
���]O1��K8�
`y!
-?��6��An�t�\�
YL3z��"������T&ǿ�_Yla�W�u^�X
�K5���E����%G�>~�°���V�dls�e�zn2�$�"Ʉ�05X��A r��Z#�`]^&��\�ٶ2B�w

`Ϥ�g�T�Ԁ��Q�#��s���se��F{ŧ��D���
��ˏ~���ަ�E
{=�6gk��eE���0YU{^��M%8W�E�����s�l��
���PB[�Q�!�4��l ��;��xW�P7�c���Mc(���N���;|�HͭV�zy��3�l�j�
W�����m����+$Ѡ���~��aW�*Gs�
-�J��(�
�*y�^ 奐����5�
4Dr��<:
-�.���ߝm�V[��u��"
-
2IS��/'�p�j
����	2��
6
��õ�x���7��@]�Ta8��q�v��i&�(B8#��1��m^c��]
-J������ (�-�{���od�†
��e\c�IW�g�{�����X�P2����sD��ߴ��;i��ݷ_%����ʡ�{��~��H�y'�T.^fi�s�@B��Ht��\�ZȦ��l���zݙ��3���:��_��"J��PC����ܞ���J��3���b�����<�o'�E��Ć�/��d�G��ԕ<���AT�
-��>U5Q��Ө�~Q o)�rd��Y��x:���BA��I��PXL�zӛ�����6�C�a�q	�w�?Y�
-endstream
-endobj
-5015 0 obj <<
-/Type /Page
-/Contents 5016 0 R
-/Resources 5014 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 4986 0 R 5000 0 R 5001 0 R 5002 0 R 5003 0 R 5004 0 R 5005 0 R 5006 0 R 5007 0 R 5008 0 R 5009 0 R 5010 0 R 5011 0 R 5012 0 R 5013 0 R ]
->> endobj
-4986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 686.182 170.687 696.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb3496510a68512516cf65f8d214c2) >>
->> endobj
-5000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 647.988 170.687 658.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) >>
->> endobj
-5001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 610.541 178.435 621.071]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e) >>
->> endobj
-5002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 572.347 222.233 583.25]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) >>
->> endobj
-5003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 534.526 202.497 545.43]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.237 534.526 253.406 545.43]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) >>
->> endobj
-5005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 496.705 202.497 507.609]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.467 496.705 256.522 507.609]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) >>
->> endobj
-5007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 458.884 227.852 469.788]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa6e183ba7e931dc88e16fb9ecfa8b3c7) >>
->> endobj
-5008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 421.063 217.61 431.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed) >>
->> endobj
-5009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 383.243 180.54 394.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) >>
->> endobj
-5010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 345.422 178.239 356.326]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) >>
->> endobj
-5011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.892 263.957 338.669 274.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-5012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.103 252.002 329.49 262.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5017 0 obj <<
-/D [5015 0 R /XYZ 89 770.89 null]
->> endobj
-5018 0 obj <<
-/D [5015 0 R /XYZ 90 704.266 null]
->> endobj
-5019 0 obj <<
-/D [5015 0 R /XYZ 90 704.266 null]
->> endobj
-5020 0 obj <<
-/D [5015 0 R /XYZ 90 666.565 null]
->> endobj
-5021 0 obj <<
-/D [5015 0 R /XYZ 90 628.744 null]
->> endobj
-5022 0 obj <<
-/D [5015 0 R /XYZ 90 590.923 null]
->> endobj
-5023 0 obj <<
-/D [5015 0 R /XYZ 90 553.102 null]
->> endobj
-5024 0 obj <<
-/D [5015 0 R /XYZ 90 515.282 null]
->> endobj
-5025 0 obj <<
-/D [5015 0 R /XYZ 90 477.461 null]
->> endobj
-5026 0 obj <<
-/D [5015 0 R /XYZ 90 439.64 null]
->> endobj
-5027 0 obj <<
-/D [5015 0 R /XYZ 90 401.819 null]
->> endobj
-5028 0 obj <<
-/D [5015 0 R /XYZ 90 363.998 null]
->> endobj
-5029 0 obj <<
-/D [5015 0 R /XYZ 90 309.084 null]
->> endobj
-1396 0 obj <<
-/D [5015 0 R /XYZ 90 71.583 null]
->> endobj
-5014 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F11 442 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5058 0 obj <<
-/Length 1329      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�F��_�T�
-R���������*�\.��*U��"xc�b�NU�c;N�H��2;�<���.�����K��;���P��_
6��!���и0	Fĵ�cl�Z�~:���fݍ�0���U�w{{I��ƹե
���e�噼��E\SƁ{L8Ĥ�[_�:���o

a��
p$\#�t.�bc�?1�5n�Aæ
�G�y�s/C�8�U4pK�s��� ]j#f{���[QK?-�巙��]y��0�z�p��]�Lr�]Z�.��h6�>@��!��r�-����i���;�#��հ�[��zلj�x9�(
�4�5` 6�`�}\�28K,���f�x1rFvDi�tv�Ai�o	ۼ�ʬS%�%/��l�1qOa�R��q��
�&��Rd:��<+F�S�XM������ͯ�����Ų��|��sɄ����O>���ώ����'���N1����s��g� �c+�\�VJ���5���,i
-�U(�^T�h�۬7%�e
�@���Ϊ>�ɕ�K�py3>Y��)�4D
^���"��
l6�. 3����2�O�ń9
cXfӻ&� ��CYC�ܺ�l���p�tV%�U�FOA� p���$v�Z67�I[��
z�1�6�<R��`��[�
(M©F<�
�Pك��
���v\d;u9��
��zU2�r?��R �����7*�w�e�Le��?�ќ��e�(��*+���HCp$�,=ȗk�Zp���A��F��3�c�:��,�uȫJ6����z��Yw�NЬ%Y��O�B��U,��� f-��F�`>��TB	��{\.�L Μ�����2_�@=;k;���6~��`����� O���ٸJ�hs�	�A]�^��U�l�X]� ��6�X�<�z���P3G������t��%�N�Q�0��X�4D�P�)������f�
�`��'
-RBʩ�@��A��ߏ��[>W�?E"�$Q�3��e'bY�x�ޘ �6 OS�����Io���D^��5�!����ȳ��
A��4��5	�ͬ��Z3��6�OC�*jm�nv����" n#���o�z� �e�7-ī�9�q��<D�x��Q 콨R�x�L���e2��L'/�J�.�PǛ#��tG�Q>m�������(@
mgn�Ӈ��
���P�6��_< �q�]:|�O��mu
_�����K&��-�M��G?��5�jn�)������	�e
�e���QF��Q]��)>B��%�@
���|�����ޢ C�8��(�{�i�[=�mX!̙����I��2��_����/̾��
-endstream
-endobj
-5057 0 obj <<
-/Type /Page
-/Contents 5058 0 R
-/Resources 5056 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 5030 0 R 5031 0 R 5032 0 R 5033 0 R 5034 0 R 5035 0 R 5036 0 R 5037 0 R 5038 0 R 5039 0 R 5040 0 R 5041 0 R 5042 0 R 5043 0 R 5044 0 R 5045 0 R 5046 0 R 5047 0 R 5048 0 R 5049 0 R 5050 0 R 5051 0 R 5052 0 R 5055 0 R ]
->> endobj
-5030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 593.769 160.207 604.673]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-5031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 593.769 219.823 604.673]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) >>
->> endobj
-5032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.812 593.769 346.049 604.673]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) >>
->> endobj
-5033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.038 593.769 450.696 604.673]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e) >>
->> endobj
-5034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 513.791 157.417 524.321]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) >>
->> endobj
-5035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.754 513.791 228.26 524.321]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 474.846 157.417 485.75]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a8fb8b2fe343e5afa80edc06bfa31460b) >>
->> endobj
-5037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.754 474.846 234.885 485.75]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-5038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 436.648 165.165 447.179]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) >>
->> endobj
-5039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 397.704 157.417 408.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.156 397.704 208.963 408.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) >>
->> endobj
-5041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.3 397.704 279.806 408.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 359.133 179.554 370.037]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 359.133 250.666 370.037]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce) >>
->> endobj
-5044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 320.562 135.579 331.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-5045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 320.562 155.225 331.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) >>
->> endobj
-5046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 281.991 179.832 292.895]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) >>
->> endobj
-5047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 243.42 187.583 254.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) >>
->> endobj
-5048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 204.849 227.433 215.753]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc) >>
->> endobj
-5049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 166.278 212.489 177.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) >>
->> endobj
-5050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 128.08 297.728 138.61]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a) >>
->> endobj
-5051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 128.08 336.732 138.61]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 89.136 342.261 100.039]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) >>
->> endobj
-5055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5059 0 obj <<
-/D [5057 0 R /XYZ 89 770.89 null]
->> endobj
-202 0 obj <<
-/D [5057 0 R /XYZ 90 721.073 null]
->> endobj
-5060 0 obj <<
-/D [5057 0 R /XYZ 90 610.698 null]
->> endobj
-5061 0 obj <<
-/D [5057 0 R /XYZ 90 532.249 null]
->> endobj
-5062 0 obj <<
-/D [5057 0 R /XYZ 90 532.249 null]
->> endobj
-5063 0 obj <<
-/D [5057 0 R /XYZ 90 455.227 null]
->> endobj
-5064 0 obj <<
-/D [5057 0 R /XYZ 90 416.655 null]
->> endobj
-5065 0 obj <<
-/D [5057 0 R /XYZ 90 378.084 null]
->> endobj
-5066 0 obj <<
-/D [5057 0 R /XYZ 90 339.513 null]
->> endobj
-5067 0 obj <<
-/D [5057 0 R /XYZ 90 300.942 null]
->> endobj
-5068 0 obj <<
-/D [5057 0 R /XYZ 90 262.371 null]
->> endobj
-5069 0 obj <<
-/D [5057 0 R /XYZ 90 223.8 null]
->> endobj
-5070 0 obj <<
-/D [5057 0 R /XYZ 90 185.229 null]
->> endobj
-5071 0 obj <<
-/D [5057 0 R /XYZ 90 108.087 null]
->> endobj
-5056 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5104 0 obj <<
-/Length 1549      
-/Filter /FlateDecode
->>
-stream
-x��YKo�8��W�Ե��!����{�
���l��
� e:&��+Ju�_ߡHɖ#;v�I{�!!-�1����[�����
��.|l�(�6�F3+Ė�ȣ�kj}�ۘ>�^Z
	)̪
��{;z�vt�����z_z^a��<�V��>|��
��0r��ZV�˵
hc��OYv���
ݐ�`�\'�h ���D�WI����ɯ�\���C�~“,_������j�o�e{�_d��f�HǓU�ek��{�Ƞ�e�,�v�- Z
���P���k[C��������S�Wb���%�uw���t`�3����:���L�d���lk�>�yE�B�i=K���`Sn"�x51>b��a��(Q�e�s!��6yv=ub�ƮE��C��5�
���0����V�<���hTwwE',e�����~}� @8�?W߶CQ�y���hw�e�y�C�B�
VY�]�������9�1�"/yl�)�	�VV{�,��R�U��\�!�
nS_[���2pV�2�(��=��6m�d�����k�s5���P�G���w��D�J&!
��Irw��p<�
3�_�
�K)�������6�kyM6ɱc����t]�<Z�f�n9��7�!
�a3 [...]
��Y������NC��O;v����w���d

h������M���0�;��5쥌���,�^?K�H� �:�M޷���Ê��S����_Y=�VGcF���cZFUn
-Otn�6����-�X�ŒGƐ`���T�~��XP�n�q0E����:�F.&�
�Bpm�(�*���{�<�C��q��oZ�Qq�,��K9+��]ǀԟ6g��x��!Pcm�Ŝ�K!ul�)a�|�dY��W�����y���g�D�&���j/"
�p#�\0����hS�1�c�O����u��R.U�v
;g����%[t_a
"�� [�ż+���&ܗPx�	�_$[�!QY
-8㡺�B��+�
#͍�r��7<����2�T��.>n��u�\��
����zӽ옊�C*��GN�m,,��f�^�<i�6Iin�J�A� u
�ܼ������(wwH|�w�%�
z
f�"�`����/�շ�b&��r���0�u���
��P��j����y�)c
Ϫ����sT#W����&1_�A�*R
nYse�[�|�z�-⵾r��
�
-ü�����';�H|`���ԃ�:�~/����$<yUւў�ji�Oo�����'�0�ū9����k1�Y��_��?T�i����e�Q��U-��5��l]{�b�+^+^�U�^)ۛB���yQ,���-�KIT�b�#Q�-����lc��,2��U�dyi�ä�&��J���p
-endstream
-endobj
-5103 0 obj <<
-/Type /Page
-/Contents 5104 0 R
-/Resources 5102 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 4951 0 R
-/Annots [ 5053 0 R 5054 0 R 5078 0 R 5079 0 R 5080 0 R 5081 0 R 5082 0 R 5083 0 R 5084 0 R 5085 0 R 5086 0 R 5087 0 R 5088 0 R 5089 0 R 5090 0 R 5091 0 R 5092 0 R 5093 0 R 5094 0 R 5095 0 R 5096 0 R 5097 0 R 5098 0 R 5101 0 R ]
->> endobj
-5053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 695.072 191.718 705.976]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 695.072 288.852 705.976]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) >>
->> endobj
-5078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 656.351 191.718 667.255]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 656.351 303.079 667.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) >>
->> endobj
-5080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 617.63 194.776 628.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) >>
->> endobj
-5081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 579.283 195.334 589.813]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225) >>
->> endobj
-5082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 540.188 201.471 551.092]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) >>
->> endobj
-5083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 540.188 272.314 551.092]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 501.467 181.845 512.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) >>
->> endobj
-5085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 462.746 181.845 473.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
->> endobj
-5086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 424.024 154.727 434.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d) >>
->> endobj
-5087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 385.677 176.505 396.207]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) >>
->> endobj
-5088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 370.749 450.955 380.654]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
->> endobj
-5089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 335.997 150.493 346.527]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940) >>
->> endobj
-5090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 296.902 156.281 307.806]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_afa6ba487c08199e83a970fc49b53d3d0) >>
->> endobj
-5091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 296.902 203.603 307.806]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 216.333 203.075 227.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 216.333 296.324 227.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) >>
->> endobj
-5094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 201.779 317.229 211.684]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 177.985 194.297 188.516]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42) >>
->> endobj
-5096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 139.264 188.759 149.795]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) >>
->> endobj
-5097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 100.543 204.459 111.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 100.543 278.511 111.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
->> endobj
-5101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5105 0 obj <<
-/D [5103 0 R /XYZ 89 770.89 null]
->> endobj
-5106 0 obj <<
-/D [5103 0 R /XYZ 90 714.099 null]
->> endobj
-5107 0 obj <<
-/D [5103 0 R /XYZ 90 675.378 null]
->> endobj
-5108 0 obj <<
-/D [5103 0 R /XYZ 90 520.493 null]
->> endobj
-5109 0 obj <<
-/D [5103 0 R /XYZ 90 481.772 null]
->> endobj
-5110 0 obj <<
-/D [5103 0 R /XYZ 90 443.051 null]
->> endobj
-5111 0 obj <<
-/D [5103 0 R /XYZ 90 404.33 null]
->> endobj
-5112 0 obj <<
-/D [5103 0 R /XYZ 90 354.65 null]
->> endobj
-5113 0 obj <<
-/D [5103 0 R /XYZ 90 315.929 null]
->> endobj
-5114 0 obj <<
-/D [5103 0 R /XYZ 90 235.24 null]
->> endobj
-5115 0 obj <<
-/D [5103 0 R /XYZ 90 235.24 null]
->> endobj
-5116 0 obj <<
-/D [5103 0 R /XYZ 90 196.638 null]
->> endobj
-5117 0 obj <<
-/D [5103 0 R /XYZ 90 157.917 null]
->> endobj
-5118 0 obj <<
-/D [5103 0 R /XYZ 90 119.196 null]
->> endobj
-5102 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F106 2334 0 R /F105 2455 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5181 0 obj <<
-/Length 1089      
-/Filter /FlateDecode
->>
-stream
-x���s�8���+�Գgj��-�f�<\����7���^���x
-6';p�__�

gR�bp�<0�c������`��W��~�{!��)G�[�$
3��F�� ��5- ��&�WpiRbD�;9R��}�E���;��8Q~&�E1��~
�W�V*\C�C��ق�A�0?��v��;�v@[D�0,\4�t�?4җ�"�m�E�Lh�
j��1����!�3�����p��.  w�R�
^>��-���?	����ԟB(5M}-l���3�.�)K�z���RE�Q0L�8H�2c$u�n#�+��o
C��]��R��C�
S(�ؿ��O��/�R���aFdi+dQ�ߋ��Pf�-'B�����
 �2&0���B��H)#*2��
�N�"
�B�K�x��qZ^����8ʏ��Ѽ��/��'7��:g,
%�4�եaQ�
�Y��E�@.T �Q��`
��>�ژ�
��2����LES��$R���0ڂ��A(}5x��T�8��n	��^'[j�����L�UXD=)��c׫b�v�9Y�
��(EN�`�9

�N���m�GgK��^%u4���m���	 �H����{|��y���kx$b���v ���!�]V(��y$o�yC
꬛
R����ˆ������T<<|.�����nIX��a�}""T�UN��}xD~5�;�7G$�mD�1 Rt�P1�e��g�Ċ�B[���Ѷ;�ЅA��
�ic-;����yzGļ'r�{p.辫]��>���9g{!q�,�/s��[�Y�Ŵ.ӟ�(���{`�Ϧ9l�p�1lO]>y����=��'m��-��6qz�U���U�5��0|��[T�VV��ax��k5���|�x4��Ɣ���ӳ���4W�m�0�k]
�5��7M�5�[�f�z�j��u�e�m��E��^�q��gV�:��}`�k��m������CB6���̴��
�ˌ<5��r'�YX�mg�O>�R�a2f�� [...]
-endstream
-endobj
-5180 0 obj <<
-/Type /Page
-/Contents 5181 0 R
-/Resources 5179 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5099 0 R 5100 0 R 5122 0 R 5123 0 R 5124 0 R 5125 0 R 5126 0 R 5127 0 R 5128 0 R 5129 0 R 5130 0 R 5131 0 R 5132 0 R 5133 0 R 5134 0 R 5135 0 R 5136 0 R 5137 0 R 5138 0 R 5139 0 R 5140 0 R 5141 0 R 5142 0 R 5143 0 R 5144 0 R 5145 0 R 5146 0 R 5147 0 R 5148 0 R 5149 0 R 5150 0 R 5151 0 R 5152 0 R 5153 0 R 5154 0 R 5155 0 R 5156 0 R 5157 0 R 5158 0 R 5159 0 R 5160 0 R 5161 0 R 5162 0 R 5163 0 R 5164 0 R 5165 0 R 5166 0 R 5167 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173  [...]
->> endobj
-5099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 707.957 204.459 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 707.957 297.2 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) >>
->> endobj
-5122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 625.915 157.417 636.819]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 625.915 204.34 636.819]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) >>
->> endobj
-5124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.677 625.915 308.927 636.819]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.083 625.915 432.333 636.819]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 586.516 157.417 597.42]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 586.516 204.34 597.42]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) >>
->> endobj
-5128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.156 586.516 243.343 597.42]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.785 586.516 293.973 597.42]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 547.118 157.417 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 547.118 204.34 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) >>
->> endobj
-5132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.677 547.118 308.927 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 507.719 157.417 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 507.719 204.34 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) >>
->> endobj
-5135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.663 507.719 458.912 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 468.32 157.417 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 468.32 206.47 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) >>
->> endobj
-5138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 468.32 311.057 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.213 468.32 434.463 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 428.922 157.417 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 428.922 206.47 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) >>
->> endobj
-5142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.286 428.922 245.473 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.915 428.922 296.103 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 389.523 157.417 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 389.523 206.47 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) >>
->> endobj
-5146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 389.523 311.057 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 350.124 157.417 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 350.124 206.47 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) >>
->> endobj
-5149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.793 350.124 461.042 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 310.725 157.417 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 310.725 206.47 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) >>
->> endobj
-5152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 310.725 311.057 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.213 310.725 434.463 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 271.327 157.417 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 271.327 206.47 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) >>
->> endobj
-5156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.807 271.327 311.057 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.928 157.417 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 231.928 206.47 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) >>
->> endobj
-5159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.793 231.928 461.042 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 192.529 157.417 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 192.529 200.851 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) >>
->> endobj
-5162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 192.529 305.438 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.594 192.529 428.844 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 153.131 157.417 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 153.131 200.851 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7) >>
->> endobj
-5166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.667 153.131 239.854 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.297 153.131 290.484 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.732 157.417 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 113.732 200.851 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) >>
->> endobj
-5170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 113.732 305.438 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 157.417 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 74.333 200.851 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) >>
->> endobj
-5173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.174 74.333 455.423 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5182 0 obj <<
-/D [5180 0 R /XYZ 89 770.89 null]
->> endobj
-5183 0 obj <<
-/D [5180 0 R /XYZ 90 721.073 null]
->> endobj
-5184 0 obj <<
-/D [5180 0 R /XYZ 90 645.161 null]
->> endobj
-5179 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F105 2455 0 R /F107 2329 0 R /F97 1185 0 R /F11 442 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5232 0 obj <<
-/Length 1697      
-/Filter /FlateDecode
->>
-stream
-x���w�6���+��Ί�˒Y�s�6�9]�v
�Kۓ�%�6�
I���ʖ�mJ����WW��t?d�s�`�e�a��X`�G�G=gx�������Ν]�e����<��������߾
���g��a�s��#�B GB:�I��'���WF̗�u>h⸔���9����F��g���H��s�n��KG�)�x��Y��>帛]��bGi���a�i
�}Q�$	� �,&*F�Ն�QR�xj��#�z���
m9b��
@��V-��{5�	���>eȗn!�#��%D�;�4v���|�s����՗+_?^[+��$���X��4�
y^e�'
y-�	F�-G~�
�N0�X1��0RArzt3MT��qԘ�
z���[�"����꒖��!
-{�O8���#t�ب#
aL_�WX)j<!�
�c���3����G9�t�(;ի��� ��4Q*Q�Ȁ���'\wF�'wD��
#�`m�����?V��`�*[eJ���D�(���hU
��L�+;�E�
L�6\��D1I�}g��M�UVJ�� )���59SIq}Q΅�\��
��<��8
�'�D��ІȆ�o�~*9��
�;$�nJ,��s�
�e�F���,�٠�P#�
-����12x������G�S�IZe��|M=�ě}�>��y0��`�-��@�U��־!䎁�w�{G���a���
[�6�N at Y�X�~��.�[���cKY���-�{%���{��ap6V��ϡ_Y�����O����C��oޟ�H%
�ڦ��]�����ZhB=�	��+�C�}ՙ�}t�������:�Q�#<_�
*��u�@��.���;8x��2������:O����Y$�����G�+r%��Yw�b���פb-��꾓���8�K�ұK��t`���ua��lWB۱kԈ+7+�r%b��
-&�6��,Q�`�W�����!@9Y
UҽX�����֫���,��L��
�����і冡f���
:g0�$��N���Q������Y~L���!�({}��'/T��Q��QN3s챾UV�f��T�/D��ر�
��
��
"��
:�C��E^�S�8H�/�(U3��d��q@5W80L���end�\a,�̜��|SI�}��\�5OrXm��|��bl�jm�� o�C�e��~;�as��a*\�C�\��Cl�l��B�������t

-�"�w�5d���ڠ�(
[Dɺ�g�.��t����;[���5r�
-���a_�~e���@9ۗ��U�<,�@�l�>���/v��-��V�,\l����{�k�([�G\�М�x̌��Βd^Y[ �]7�[ �1|�!��:�}m��
ly�zj�K �h�7�K�� p�k�S�5dPeфB5���k��>�Տ̠�(�<��{
NT��i���"���v�i0R�mރ�y�V�k
CZ7���P\(]|]�
�ɨ�����\?���m�9A�o2.q¶V\rZ��H��r$‹�>kW���<�*�̷��M�FW�$�T��g剃J&�2�����o����o(�x-�p
�@y�e�X5��k�=��{���.������
�]��/AѰW
Aε(���PC�Θr�D�
@��?���g]�Ӻ�R �h]��l:88���F�͢p��0;�N��=MM
-�.Q	�(k�I\�

#�9	t-�䄿�
��
-endstream
-endobj
-5231 0 obj <<
-/Type /Page
-/Contents 5232 0 R
-/Resources 5230 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5201 0 R 5202 0 R 5203 0 R 5204 0 R 5205 0 R 5206 0 R 5207 0 R 5208 0 R 5209 0 R 5210 0 R 5211 0 R 5212 0 R 5213 0 R 5214 0 R 5215 0 R 5216 0 R 5217 0 R 5218 0 R 5219 0 R 5220 0 R 5221 0 R 5222 0 R 5223 0 R 5224 0 R 5225 0 R 5226 0 R 5227 0 R 5228 0 R 5229 0 R ]
->> endobj
-5174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 683.973 157.417 694.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 683.973 200.851 694.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) >>
->> endobj
-5176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 683.973 305.438 694.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.594 683.973 428.844 694.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 644.97 157.417 655.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 644.97 200.851 655.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) >>
->> endobj
-5203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.188 644.97 305.438 655.874]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 605.967 157.417 616.871]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 605.967 200.851 616.871]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) >>
->> endobj
-5206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.174 605.967 455.423 616.871]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 497.577 180.54 508.481]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) >>
->> endobj
-5208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 497.577 251.383 508.481]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.116 497.577 336.623 508.481]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 458.574 178.239 469.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) >>
->> endobj
-5211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 458.574 249.082 469.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.815 458.574 334.321 469.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 419.572 157.417 430.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 419.572 206.47 430.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) >>
->> endobj
-5215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.286 419.572 245.473 430.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.915 419.572 296.103 430.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 380.569 157.417 391.473]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.915 380.569 200.851 391.473]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) >>
->> endobj
-5219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.667 380.569 239.854 391.473]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.297 380.569 290.484 391.473]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.689 341.566 156.055 352.47]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a66a2134e0f7fc74d62b14f46631dc2c7) >>
->> endobj
-5222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.644 341.566 314.233 352.47]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.037 341.566 486.625 352.47]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 302.564 226.034 313.468]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30) >>
->> endobj
-5225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 302.564 364.682 313.468]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 263.561 226.034 274.465]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) >>
->> endobj
-5227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 263.561 389.897 274.465]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
->> endobj
-5228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.839 180.84 346.346 191.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5233 0 obj <<
-/D [5231 0 R /XYZ 89 770.89 null]
->> endobj
-5234 0 obj <<
-/D [5231 0 R /XYZ 90 543.904 null]
->> endobj
-5235 0 obj <<
-/D [5231 0 R /XYZ 90 226 null]
->> endobj
-5230 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F106 2334 0 R /F56 363 0 R /F11 442 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F8 537 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5249 0 obj <<
-/Length 2652      
-/Filter /FlateDecode
->>
-stream
-xڵZY���~�_��K�H���c-+%�$'��R�M^l

ET@�@�R����\�8�V�'`��O �>���Ǜ��on�Ex��$���~5K�,
-�C-g�z#�}�1���	��z�.��)��b��:]��?�i�����*��N���c�"m}��X�zNbO�� ~,
-�Gq2�������7�n�ψ^GQ<�67���gK��i�K�٣"����Z�>�����ࣛ��q0�H�@��؟+��G�������]^,�0՗�ߖ\��s���!$F0��9�Bz�H5�
�'�M���YZ{9
;��~��7��m��ˏf�ikQ�m^�z��o
��0�F��4��D���"/Ej�Ĝp�i[��f
����ޛyx����E�P�eخOJ8��� �f�
�
��K�����o�c�	�uF)�0�5���4c�j�����g�U�v�9�2���y�4�s�Le2�	
-X`�v,/B`
��
k�QG� -�.1�Ihi^=G
-GI
`T].�����_���*#�k�x���ޝ��L��x��6ڥ܄
���Z��^�M3s��7�l4�`��
�T_���a����
cZ���6ӭ�I���n��q	�^M�����e�%K���~F�V�����f�8vY[�s�=4r�*��& $��R����ͪ*�JZ��0�m7�l
�X��j��xa�K�*5��e׹��ƁEJB�Il���
_:x(�;��;�&�\�
C��^ʗ�Lj��!��*l��G�3���5|R��|A����(n�
��aa��o��L`M�E����6p�~����
.q�|#��DEF��Ƅ�49��z����	�e�RLBd3�������w�P6���Kg�"1D&(�G�$��� ��z��}�QL�no�)�a�W�
��q���ŽW�	�<*GA���4�N�F?w���I���:�

�Nt8�6���`�Bx)bc��:	P�i�I�*��
%��(4@��z@
-Gg��'��
}Q�5�
%䒗��-�؈�@����NT� �&�@|O�N
t�
ƭ}K���
Yk�1���
�DYL���bp��B+�W:A҃�rP'
��)���S~h"��B0�xG6$��&�uY��9���L���Pz� �U 
�A�<e�ubP���'W���-� )d®� Žc�ɴ�y�k���U��
�M9���K�x
 ��s �=��c|��4�)�9K�����(���#��T�Ђ�>�`
QnS�ȍ.}�)ȴ
�A�d��0F���F {c2�]�@y��LL�5$i�N��/���a���B%�
� 
2��~1$x*�^�����������1���Nz�,5��]��r���?~��y�O;�UZ4b���/=�ݝ��t�P�GOH�p�1��~��rɺ(��y9����l*�L��<P%���|�%��£��m�a_p�,�g���ʑi4�Y52o���֍��8= ǒ�#��^����.�p.�q(�V�`r ����^���
-ʞ�56��T�qp�ɹL�\��� �.A�*�t0�(
��
ܞ2�U��
�׈
-����xx�
������AN��B����:-�>�mo#�u%[m�rv[W��s��v.��'�� ���~> �-)�@� �2��(
˵a!J	��
�媪7��x7�9g���h=ZH�HI|Ǒi�D��y�]Br�P�ٻ&d==������~��]Ŷ�R�&P�ض��V�壨][�*�����,��&tP�V�8�����%�����fm�

!:��~��P����������f�h
�H��fԀ,Ky�	=��r��&�Vb����P/
i�p��$7fc7
-5y���k����F�:
����.�?S>A�&?L~a<nAD�
"A�l����2�5�p�4p,� ��$�?�{�=��z�b��]f4���RX09NeZ��ét/���Q2���&�4���AJ�n��5/�$�DG�遲�i��;��uӺ.���k����0���) ɦWtE��<

�(�Xcgk
�K;��)8����������� ��ŧQUï,�����
��**�'�2yB�'�~W�
P�U;��W�����=ݙ'cŒ�Ǣ\��7_��R3Ay��6�g����s�k�g%����y SI�A��7ǖ�D�u��1
��
Y�ABm��� �F��.�X��A�rT���T��H��K���8a��cL�FЋ^��{�\E<��~P�ht0�G(Ʊ�R
�E_�/��*>XQ^��M�Q���5�VԛQ�y����T���A�c
;M��X��vDw�D�:ir�N���A���a�KPjT��
k��!�N��*����n�!��[Sw����������?����^�%��~`0���x��#�������E��u�7N�dW�C�4��߫V
n��/���0BuBS��`3�0�M�6�v����
f�}ߩ��jf1l�Y0������wS�\%�+Q���Vu���u2��5bP�;+�P��L��h�1Ԛ�X�C��w 
����߁��?���,��djz�e� �g2C�C�
�������� ����[ZvV+�c��s�(���
 }� �٤�ٿg��� [...]
-endstream
-endobj
-5248 0 obj <<
-/Type /Page
-/Contents 5249 0 R
-/Resources 5247 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5246 0 R ]
->> endobj
-5246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5250 0 obj <<
-/D [5248 0 R /XYZ 89 770.89 null]
->> endobj
-5247 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5254 0 obj <<
-/Length 1595      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~���S'�3ë.
:���!]���;`H
C��D�-��\��~�"�[����0�IE����s(��8��m��tt�:�N�"���t�D�	x��Os�ʥ{_�o
懈D>|U-��?��:�^�w�W����W�!Z�@A�$�����a����BgWmZ9�2�.��ч~�B!Z'����zc�1v��յ,�1�}�mW���4��¯y+Y�����S��:�1�$HП^x�q��g
�n����y�ަ�E\�'��<۔E�f�d2����R�8y-���L+��J-?�?��%|��0�@�0�(��+�5�:��Χ��%�D�1x�5>(??y\�/ߞM��Y�qE�(`�M�?z�n�56I�_��2-��/ܾ�]��FØH�I������dz�����)�!�����K�gcx�&�u���N�V�}�� ���T�1��(BB� ��6#���6�i��
�dw�@���hO��i��(p?c��H��PySle�H�������
�}n#��
$B [...]
-b��z)�Wa��ڷ��A���Э�qC�c>d,�\��j� ����A�pe�-2�粩�r���8]-�C�"�!��>uTC���U�w��m!�"H�6fC�EQX�)o�̀*�PDd� (��Q
-��Cl.[lf"Rl��U~��l.="�;�8���D
L
L���u%릐q�x����Әo��y���ڬ����SpxS1�m`'�P$x��,:b��)�9]T-&�0�;;_���;��t3+�m�/�4��U9<8
�.%��1�úC{
��)\�AAGϝs��l����NR��� b׌n'���7aJ�D?vgd�"$`WeaoK�r�7��W�$qա������rPib���*����h��
/Y�n�\�˥�i��إb��:
�`�n`���3����j,�����T�v�``��	�i�¶�Wu=4�Tu.��k*�)�����97��&٭->��>ސU��NNc 3�bu��ˡ($u�za���l��-���&BzЫQu7`�@~��x$:ƴuH����
�N)(
� t_�

@50��ڍ�
2�n.��*Pg(F��
��cG�LP ����D� x�(��� 
-����|@UugU]T� a��t�{N�<�C
\u
2ep5HX#u���X�?f}
�0�A���A@?�!�R��_+
=��ѣ`���PU��y�l8��(&G��
��?_�_�z����+�j�M�n�T��',��Pj�P�y��~4C�~�������j��ٶ=3�a���Gb�Q	�zЁ35v/�4�j��r���jZk
�a�P�-����d�ۡd��Y�.PZ���˓���@msr]�\�����j�������7
���
-endstream
-endobj
-5253 0 obj <<
-/Type /Page
-/Contents 5254 0 R
-/Resources 5252 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5251 0 R ]
->> endobj
-5251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5255 0 obj <<
-/D [5253 0 R /XYZ 89 770.89 null]
->> endobj
-5256 0 obj <<
-/D [5253 0 R /XYZ 90 721.073 null]
->> endobj
-5072 0 obj <<
-/D [5253 0 R /XYZ 90 704.266 null]
->> endobj
-5257 0 obj <<
-/D [5253 0 R /XYZ 90 704.266 null]
->> endobj
-5073 0 obj <<
-/D [5253 0 R /XYZ 107.713 602.587 null]
->> endobj
-5074 0 obj <<
-/D [5253 0 R /XYZ 107.713 587.246 null]
->> endobj
-5075 0 obj <<
-/D [5253 0 R /XYZ 107.713 571.906 null]
->> endobj
-5258 0 obj <<
-/D [5253 0 R /XYZ 90 555.449 null]
->> endobj
-5076 0 obj <<
-/D [5253 0 R /XYZ 90 533.137 null]
->> endobj
-5259 0 obj <<
-/D [5253 0 R /XYZ 90 533.137 null]
->> endobj
-5260 0 obj <<
-/D [5253 0 R /XYZ 90 401.143 null]
->> endobj
-5077 0 obj <<
-/D [5253 0 R /XYZ 90 378.831 null]
->> endobj
-5261 0 obj <<
-/D [5253 0 R /XYZ 90 378.831 null]
->> endobj
-5119 0 obj <<
-/D [5253 0 R /XYZ 90 244.724 null]
->> endobj
-5262 0 obj <<
-/D [5253 0 R /XYZ 90 230.424 null]
->> endobj
-5120 0 obj <<
-/D [5253 0 R /XYZ 90 77.486 null]
->> endobj
-5252 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R /F23 364 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F8 537 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5266 0 obj <<
-/Length 1630      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ੕�a�w��L�ƝIӎ��}q2
,�"�@R��{`wH�‰ә��!1
�s���w�>x��e�����"�^�BI�w5�B�<DB��λ
����c<��<�����rB�8K�
}�G7���<ʷ��,-�<��r�S��/��(��=�����Ng�@�1%d��������㈀G�#�����G��w�_y�Py�Z������{;�c�
�DH+����fYb�{Dd�i\���
n�E�]����U���B;����|N���8�F��<-�`@[��!�8��re��=ڨD
'ύ�(�3Y�l�<�߆���
Q&���0f=~p��B����n؂��(F=s~ڿI��M]��}y^��B��Yg�J1�|�| ��E��������
6g��"�J��1��t\. �6��ff�
���Y�d*ƛ8��n��Ŵ���G ;Ly>dIe�M��J]��R�?��$.�S�mҮ�B�/@
�T+��Bؓ(
�H��`qɌXj�XK
�KE
�"�%" [...]
-C_|��B��sn
�V`����B)+D�

�S��
�d��)�C�q�m
�ü��w=��+�,�
����s�[��ǝ�A�i2h��|�
��@�Ȟ�ή형�n�G���w�E�OT�HP!����5J�,�a�ų�m��L0A�
a9�e�$X&C��Nb�
�2y,�!`��a��"�ez
-���UgsA��?�
��`�ǰL�3B<
-˃q��C����o��3?~.f��iɰw����
-��jsY�.F
-x��9"��hy��J�hF
���Wֆym�)�J�y�!���ɇ�߸�����}���	����	bh
!��f�P�)���y t��Y5}����n���� �l��(�
��+溮����ϑ
G� 
W]��C �uƄ��5f��� 5�&�Zu%R,�j�3O�5psPb
�nU��
-��&� ����V�\DVx����y#�����]� (�Km��h�0
T?�n��=��g

�f	��6+A.�e�*�$�;�Y~8�� p�tx����n��<����ܡ��N�R���*���w��9���eT߲i����
��;��q��yTf���Y��,_Ñ�7/?-��_ְ�oT*�v
C���C��ն���<�������Iפ*E�݅��HJ�E������Ƕ���[�?0����u�>�Y.vCA��;�\�*LP�M�Vfh/>�E�C��>��$��S��6ѽ5S
-I���
�}J/���H���)(@�m*�����c`��X

�>
(�ŀ��.��mix��E��
�ӧXG�/2=�������{e1��n���
ƍ�,w6�q��Y�X�
My�
�*�>
��^
�{�)nqU�b�=��aP��T�*��XD���P���� v���J��;}>x	�W0ju��ha���r<
1<1��/��
�f����A�z�
�
C����ʹ��p��+��ˊ�Uc�]���,��e:�vp�y�-JWQ�;
-��h�� j���
ƴ�Z� Md{���Q�����7�_��rzv��lЬ@�4^�(.ϖ�䬓���	�$A�d�x�}�m�V��kFy�� �+�
-endstream
-endobj
-5265 0 obj <<
-/Type /Page
-/Contents 5266 0 R
-/Resources 5264 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5263 0 R ]
->> endobj
-5263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5267 0 obj <<
-/D [5265 0 R /XYZ 89 770.89 null]
->> endobj
-5268 0 obj <<
-/D [5265 0 R /XYZ 90 721.073 null]
->> endobj
-5121 0 obj <<
-/D [5265 0 R /XYZ 90 564.152 null]
->> endobj
-5269 0 obj <<
-/D [5265 0 R /XYZ 90 546.829 null]
->> endobj
-5270 0 obj <<
-/D [5265 0 R /XYZ 90 428.656 null]
->> endobj
-5186 0 obj <<
-/D [5265 0 R /XYZ 90 405.793 null]
->> endobj
-5271 0 obj <<
-/D [5265 0 R /XYZ 90 405.793 null]
->> endobj
-5187 0 obj <<
-/D [5265 0 R /XYZ 90 333.655 null]
->> endobj
-5272 0 obj <<
-/D [5265 0 R /XYZ 90 316.332 null]
->> endobj
-5188 0 obj <<
-/D [5265 0 R /XYZ 90 256.184 null]
->> endobj
-5273 0 obj <<
-/D [5265 0 R /XYZ 90 238.861 null]
->> endobj
-5189 0 obj <<
-/D [5265 0 R /XYZ 90 166.758 null]
->> endobj
-5274 0 obj <<
-/D [5265 0 R /XYZ 90 149.435 null]
->> endobj
-5190 0 obj <<
-/D [5265 0 R /XYZ 90 77.332 null]
->> endobj
-5264 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F8 537 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5278 0 obj <<
-/Length 1033      
-/Filter /FlateDecode
->>
-stream
-x��Ks�6���<5�L	a��͡�3i^��^
�����S�R)�n�}�/Idh���9��.�?,�u�r�����ԙ��Ե�*���ܵ������ڽ�0�r�����
-{�_}x?={?=Ͽ9gS��u�4 �6�l�\\R�_�q)�ָ�E��+���=w~sho, ��	��!�H? J��j�l�4�����j
�a�J�&����pF�bu�/�&
g�ha�?�?QIg����m�Dazu��:��x�f�����SJ^1b�k�t��DPY���$P��LƷ�ؐK
"Ԇ�^� O�d�
0Vʲ��<������!�~�	Ǵ��k���(�M�M
0�������WF�����=g�l
-"�l%�L�L�Kf�����$5,T�����i
r��N#V4U���AF
1j�҂�?}˼0��ϋ��
-�Q���Q
b�Cf��L�هXC��\�MycLi"�� cG���	 �;
-d�J��(Ӷ�2�Q�GUB��_	
�*K>xEe¯C��vW�:
�3�Ϡ�8�h��R6C&��|�����*(v��1K@�f�*�G�5�u�w�b�t���
����"��#�u���:1��Kmkn$�����(�F�^�Y"�`���q%���q4�P}�����fx//��(
M���EieG��ÑՂp��Ll�퉍�O�=Xx�~��Xx�����Qx���B�WY�MH�|�-
��G	��!TE�zւ �*�O-N�� h�
]�2�'W	�Q�-
M�~����ų^0E�
0DS�$� =0�
F�K8��'���B��e�z@kd��E�̨�|턀��2k�X�E/� �z]�^�U�h-��p��6��>������Th��=�,�
�>v�w>��qFq!�S�xZ�����2�
W�/7�uZ=��?�a��|�c�/|��ju�
��p�;���MEi�G�!\@X>#�8���(�FZ�o����)��
ڠ��Uu�e�������6�6��)���z��4�=t�9zkd�
�-Wi5�8���0ØI;	��r3
-endstream
-endobj
-5277 0 obj <<
-/Type /Page
-/Contents 5278 0 R
-/Resources 5276 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5185 0 R
-/Annots [ 5275 0 R ]
->> endobj
-5275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5279 0 obj <<
-/D [5277 0 R /XYZ 89 770.89 null]
->> endobj
-5280 0 obj <<
-/D [5277 0 R /XYZ 90 721.073 null]
->> endobj
-5191 0 obj <<
-/D [5277 0 R /XYZ 90 656.643 null]
->> endobj
-5281 0 obj <<
-/D [5277 0 R /XYZ 90 641.327 null]
->> endobj
-5192 0 obj <<
-/D [5277 0 R /XYZ 90 581.58 null]
->> endobj
-5282 0 obj <<
-/D [5277 0 R /XYZ 90 566.264 null]
->> endobj
-5193 0 obj <<
-/D [5277 0 R /XYZ 90 494.562 null]
->> endobj
-5283 0 obj <<
-/D [5277 0 R /XYZ 90 479.246 null]
->> endobj
-5194 0 obj <<
-/D [5277 0 R /XYZ 90 407.544 null]
->> endobj
-5284 0 obj <<
-/D [5277 0 R /XYZ 90 392.228 null]
->> endobj
-5195 0 obj <<
-/D [5277 0 R /XYZ 90 320.526 null]
->> endobj
-5285 0 obj <<
-/D [5277 0 R /XYZ 90 305.21 null]
->> endobj
-5196 0 obj <<
-/D [5277 0 R /XYZ 90 233.508 null]
->> endobj
-5286 0 obj <<
-/D [5277 0 R /XYZ 90 218.192 null]
->> endobj
-5197 0 obj <<
-/D [5277 0 R /XYZ 90 146.49 null]
->> endobj
-5287 0 obj <<
-/D [5277 0 R /XYZ 90 131.175 null]
->> endobj
-5276 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5291 0 obj <<
-/Length 1062      
-/Filter /FlateDecode
->>
-stream
-x��[o�6���)��Mf��7Q���݀����KJL/�dٕe���;eٖ�K�E��$�M�y.?�C�z�x�������-�^D"Ŕ7�x�B�p4��}�t�J� ��|��F�Y�xo�y<z���q��ᅵe�"����LR�e/�񝙘< ��Π
�
xp3|�y5�|� ZD=�Hj�nڹ���?~�Q�#�=T���`
����Ο
��T-g ���)�yVT��p�1m�p�-����|%`�NA��D���Cc�D���
C��H6����K�"e�
�n'�H�a�j'`67y\�r��<$��������C ��65�$���@��Fr͈�8�sЕh�IYE��F���ES׉�b7ʚ5�]O��d�G:�L)���<�gu|V���G��G�p��6?U����$3q>z�in��b��2�Տ.�1��X��S�V(�#3�@)��T�ҷb��Wv����q"Ab��(֡�Fm����&���$��.�%�Ta� [...]
-I)o�U���N��]2 �^U
ZUᆒ���ӛs�+F"�vI?�n;����g
�_�>�G��
-��
-�T�
|�bR?�E����oу�Ң����,�}�}�Žw��˲3e��?M����Y���J��e" 
�U
���X�r�ƅq�����ȍ�~�8'B7`�ҕAl_b�n���7��u:���>�W�K�.b\����YRl>.��IU��S�s1s��G

�V��(
�S���
!�!��9R��C}�6wu�?�������M�*���M����բ�uY�
- at VW��p}gi��ť
��0�O�sk����e�n��*�L�>�Ss��Q �@����NZ����Oo:�{A�xxm�t_�~����@�d�%�$Eo>O{;aky]��}�ne�t���'~8�
�����Z�e�
-endstream
-endobj
-5290 0 obj <<
-/Type /Page
-/Contents 5291 0 R
-/Resources 5289 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5288 0 R ]
->> endobj
-5288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5292 0 obj <<
-/D [5290 0 R /XYZ 89 770.89 null]
->> endobj
-5198 0 obj <<
-/D [5290 0 R /XYZ 90 710.721 null]
->> endobj
-5293 0 obj <<
-/D [5290 0 R /XYZ 90 696.384 null]
->> endobj
-5199 0 obj <<
-/D [5290 0 R /XYZ 90 636.787 null]
->> endobj
-5294 0 obj <<
-/D [5290 0 R /XYZ 90 622.45 null]
->> endobj
-5200 0 obj <<
-/D [5290 0 R /XYZ 90 550.897 null]
->> endobj
-5295 0 obj <<
-/D [5290 0 R /XYZ 90 536.561 null]
->> endobj
-5236 0 obj <<
-/D [5290 0 R /XYZ 90 465.008 null]
->> endobj
-5296 0 obj <<
-/D [5290 0 R /XYZ 90 450.672 null]
->> endobj
-5237 0 obj <<
-/D [5290 0 R /XYZ 90 379.119 null]
->> endobj
-5297 0 obj <<
-/D [5290 0 R /XYZ 90 364.783 null]
->> endobj
-5238 0 obj <<
-/D [5290 0 R /XYZ 90 293.23 null]
->> endobj
-5298 0 obj <<
-/D [5290 0 R /XYZ 90 278.894 null]
->> endobj
-5239 0 obj <<
-/D [5290 0 R /XYZ 90 207.341 null]
->> endobj
-5299 0 obj <<
-/D [5290 0 R /XYZ 90 193.004 null]
->> endobj
-5240 0 obj <<
-/D [5290 0 R /XYZ 90 131.639 null]
->> endobj
-5300 0 obj <<
-/D [5290 0 R /XYZ 90 117.303 null]
->> endobj
-5289 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5307 0 obj <<
-/Length 1302      
-/Filter /FlateDecode
->>
-stream
-x��W]o�6}��0`����(��ݰ�k���K�M'�dɕd{ޯߥHɖB�N�a/�>���{Ͻ��}���?L?�8�P$�
�� �A�#$$�̓�!%|t;}0��$|U?���~����ڼ��>��� �*�-7�8���F,R��
�
8e�׃��0!{���s^�j]d����C\�&��Xk;��F%�4���hL
���^�Y��W����#������W�K�—+�+{�?��Í��S���U�,TGa���L&P���8�qL�DR�`�8b�_�$��d4&��e��U'M8�Jq�2�G$,D
-�f�W�IC�i|g���1��0.��Sꘁ�Wa�yC<���2��h, �S�\"B�,m�Xь�PI��WN���rn
-�ƕ��zhӐ".�1�?
vuk�~��b���c(�d�ҥ�#�E��N0=6<�����N
	����
���"3�������Ⰾ�ė�K����y������K`
�_, �eaVT
��Ĝ�6#�I����r�̕���h���2��8�0*�=�y߽K>q��L�g>��G&U!L�
�+G�"{���8�
�@`ǻ������Q�^D�������\w�u�ҳ$N�����1Ң��|2����,��H=-\�{��p��z�
�7"j��e�“�"`��V�������[���!,���J<C*�=����E=K��� �#��/XԘH�^U���V뾝
��aT
g4R5�Q�4�!4J�iFM_�N0Z��c� ̞Ũ$Q�(���L���w+m���� N���gB���p��1�1��+�38�`�O�!v��β�Mݙ���۸J��>Z�w�85��,�Kw��������L�]W�(�e��-�4�M�M�����4Փ�0�
'�>�����\�(h�3 [...]
-�]K�
���O+��ؾ0���ޝ���!-)wI������GЖG�4B��)�ܤ�{�I���S��K�l��(q��]|J%�ǭR���?�C� �g
�C=|BJkφ�PL�o��yG˴�m趷�s{�{��o�9��g�8ݟ97JekB�g	��2����k������
-��_������%U��\\l�[4+�:KVJ�
��uu�-��Қ�2/��

.k��$�
k�Y�
-endstream
-endobj
-5306 0 obj <<
-/Type /Page
-/Contents 5307 0 R
-/Resources 5305 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5302 0 R 5304 0 R ]
->> endobj
-5302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 102.176 192.544 112.104]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-5304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5308 0 obj <<
-/D [5306 0 R /XYZ 89 770.89 null]
->> endobj
-5241 0 obj <<
-/D [5306 0 R /XYZ 90 708.953 null]
->> endobj
-5309 0 obj <<
-/D [5306 0 R /XYZ 90 692.215 null]
->> endobj
-5242 0 obj <<
-/D [5306 0 R /XYZ 90 633.95 null]
->> endobj
-5310 0 obj <<
-/D [5306 0 R /XYZ 90 617.212 null]
->> endobj
-5243 0 obj <<
-/D [5306 0 R /XYZ 90 557.18 null]
->> endobj
-5311 0 obj <<
-/D [5306 0 R /XYZ 90 540.441 null]
->> endobj
-5244 0 obj <<
-/D [5306 0 R /XYZ 90 466.687 null]
->> endobj
-5312 0 obj <<
-/D [5306 0 R /XYZ 90 449.948 null]
->> endobj
-5245 0 obj <<
-/D [5306 0 R /XYZ 90 389.917 null]
->> endobj
-5313 0 obj <<
-/D [5306 0 R /XYZ 90 373.178 null]
->> endobj
-1397 0 obj <<
-/D [5306 0 R /XYZ 90 248.075 null]
->> endobj
-206 0 obj <<
-/D [5306 0 R /XYZ 90 240.27 null]
->> endobj
-5314 0 obj <<
-/D [5306 0 R /XYZ 90 121.137 null]
->> endobj
-5305 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5344 0 obj <<
-/Length 1411      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��3��u&I3qmwz�3��eL�
-	٣�%AB�DK�-�>�!)��߾lL
l|��
�N=l(pm׸�5lxN��
O��$����yfl�E��,�Y<��"
�%n����di)�P�r|1/%O��Ͱy�e�n��-/,�<�x%�Ʈif}��4��r�c@ 6��Q2����	�������PJ
Ǧp������qO� BԖ�f7���/<�@���,���-�`Zq�S�vd9�7���<�)�׶͖�
�f+��Ր��ԝ�*
טa���-
/0|��:
��:�1$
aB�?�m8���TT�8�dV
[C
-��l7�1I��+Or9W�e�x�mW�E�Y�/Q/�G�6la���PZ�16/{d�\Բ��
E/Q���V�
ot)�i�e����J@U��O���i�u�'��( �j�H
YB��y���
�`�����֚�*Vl�uM�}�-�n�(�/��#L���0Ri��
Ĉ��7-{��f1dG�Q���}[�р/���¢�9)� m��Z��!������`t
-Yi!�G��
�S������<G;�ޓ�,���=��@�:�L�,�E�?85�/a滲�4�i��+�uPM:6j��QBy3��o�S��<�ȫgn���ݞ��s.gE��?�/E\����,^�mq�Y�{����}�7oᔘ��i�X;��}Q�&Ƀ�i1�-L7�ɲx3���r�I?�c�u�Qh(�j��ݧ6
-�'� ���d��W=�s<��`�%
M�os{�P�eW�Չ�/e��
�c ��t�c���""9�OB�!��۲�P��'���\L6s$�yX
��<�IV}%�o
�0�W��.ԟ���03K6�]��5AJ�J�M'����+����
-�,^�7��~����1�^G�]���v�p��_��[�c�E�Ϟ�
��n2R�
����K���O�J
��4�'|���{��Y�g��9�C
ml��v�W
���������x��:~����N�ف�wV�Ub�
Y�Z-4[���)��&��~�lp[��GHa��1f�`
r�fg��4�
-d�_��}�@/
D�+�
<R�uL J���!�(`
%�C2��
�M�����.�\��u�Ʒ�ȗ�ﯟ���;
U����Ե^�A�q��	
��-\*�C)��kwMy{/��2b<�%����o�)u]ٓ
(���RN��#^}%	F�Nc�̻���խ�t�.%��Dv?����G
��c�Ԏ�0�>�Ԯ>�2�$*2uZ��<�l�wV{g�4��Y{��
�3H�����X���a��)tc���}%��� ���H
�]�6���}7ڻ�+�^�{�b[�
R�ǣ����J4KE^ !Gy
���;R��<-��bj�?���k��
->�
-endstream
-endobj
-5343 0 obj <<
-/Type /Page
-/Contents 5344 0 R
-/Resources 5342 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5303 0 R 5315 0 R 5316 0 R 5317 0 R 5318 0 R 5319 0 R 5320 0 R 5321 0 R 5322 0 R 5323 0 R 5324 0 R 5325 0 R 5326 0 R 5327 0 R 5328 0 R 5329 0 R 5330 0 R 5331 0 R 5332 0 R 5333 0 R 5334 0 R 5335 0 R 5336 0 R 5337 0 R 5338 0 R 5339 0 R 5341 0 R ]
->> endobj
-5303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.192 191.737 696.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a257775ae01cfcd011aca9bcbccb03da7) >>
->> endobj
-5315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 646.2 191.737 657.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a50423c4391d0c3064787f19661914973) >>
->> endobj
-5316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 646.2 262.581 657.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 607.207 191.737 618.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a61e02a6ed1b9dd0d6d306d76f5da55a2) >>
->> endobj
-5318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 607.207 303.527 618.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 568.215 191.737 579.119]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) >>
->> endobj
-5320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 568.215 296.902 579.119]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 529.222 199.486 540.126]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35) >>
->> endobj
-5322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 490.23 191.737 501.134]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.477 490.23 243.284 501.134]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9) >>
->> endobj
-5324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.621 490.23 348.448 501.134]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 451.237 179.554 462.141]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 451.237 250.666 462.141]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) >>
->> endobj
-5327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 412.245 192.554 423.149]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) >>
->> endobj
-5328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 373.252 225.211 384.156]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577) >>
->> endobj
-5329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 334.633 155.265 345.164]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) >>
->> endobj
-5330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 295.641 158.044 306.171]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c) >>
->> endobj
-5331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 295.641 228.888 306.171]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 256.275 161.013 267.179]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) >>
->> endobj
-5333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 217.282 195.165 228.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a1097cf7cb41f29a02ba271abd2f00f5e) >>
->> endobj
-5334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.181 202.593 225.851 212.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-5335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 191.634 227.817 201.539]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-5336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 167.705 187.563 178.235]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_acd7d1ed2a688f0c6af96e1cff336f933) >>
->> endobj
-5337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 152.641 271.151 162.547]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
->> endobj
-5338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 128.712 150.493 139.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca) >>
->> endobj
-5339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 89.346 181.845 100.25]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) >>
->> endobj
-5341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5345 0 obj <<
-/D [5343 0 R /XYZ 89 770.89 null]
->> endobj
-5346 0 obj <<
-/D [5343 0 R /XYZ 90 704.235 null]
->> endobj
-5347 0 obj <<
-/D [5343 0 R /XYZ 90 704.235 null]
->> endobj
-5348 0 obj <<
-/D [5343 0 R /XYZ 90 665.362 null]
->> endobj
-5349 0 obj <<
-/D [5343 0 R /XYZ 90 626.369 null]
->> endobj
-5350 0 obj <<
-/D [5343 0 R /XYZ 90 587.377 null]
->> endobj
-5351 0 obj <<
-/D [5343 0 R /XYZ 90 548.385 null]
->> endobj
-5352 0 obj <<
-/D [5343 0 R /XYZ 90 509.392 null]
->> endobj
-5353 0 obj <<
-/D [5343 0 R /XYZ 90 470.4 null]
->> endobj
-5354 0 obj <<
-/D [5343 0 R /XYZ 90 431.407 null]
->> endobj
-5355 0 obj <<
-/D [5343 0 R /XYZ 90 392.415 null]
->> endobj
-5356 0 obj <<
-/D [5343 0 R /XYZ 90 353.422 null]
->> endobj
-5357 0 obj <<
-/D [5343 0 R /XYZ 90 314.43 null]
->> endobj
-5358 0 obj <<
-/D [5343 0 R /XYZ 90 275.437 null]
->> endobj
-5359 0 obj <<
-/D [5343 0 R /XYZ 90 236.445 null]
->> endobj
-5360 0 obj <<
-/D [5343 0 R /XYZ 90 186.494 null]
->> endobj
-5361 0 obj <<
-/D [5343 0 R /XYZ 90 147.501 null]
->> endobj
-5362 0 obj <<
-/D [5343 0 R /XYZ 90 108.509 null]
->> endobj
-5342 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5391 0 obj <<
-/Length 1514      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��J3
$Hz�C��;I�p#uzH2��lN�*FV~}I�2EɎ��"A$��׷��֍��_G��G�
�0�Y�`�s�2���>�m�&_�o,�|D���/?���z?��w�W���#��E� y�&�O_����o,�h�[�jRb96��ؚ�~�Z�}ߕ�.�ґ`�
�[,�v���m��6�:����x�ub�q-�wZ����c5�v��0��2�we跟���Z^\dR�'��附�Č�,��������3G�nۈ9�5%.�N����R��r~x[���|4��fFG���m7xjd�<{����En��HWQVO�VF ��{�o
���3ƴG11XT�Q�Q�j6An���ѽ�:q�?@
	��� L�)�Q����{�i��[�>��F�}��)E^��ޔ	�MZ)U(zD��VT)��GĐy�����*+ٶ�aڦ���=;Q�>-#lX�A5��pF\gY|
��/a���i����Hgd�*&�;� [...]
ޙ��0M��k%r�IJ
��<��
�
$�W�NU�6��Y
!�BU�7�y�4�J�
-U>���eJ��
L PԌ��0��^B�Ǜ��B.N)��B�E*{v�m ����ق%Z���e
-)We���
�d��c�c�+9��hQ�nE��`"q�"���PԛW�H�b���7�P�\
^e:���^���nz?�7�4�ߊɽ"uP�3��fh�j�bw�ѽ~�e
U��V��{�S
��
z(	�X2]z�w���8�UR�)Q��^��PП
鄧|U�F
�� c����ɦ
��{J�$��v���]=~�#Yp D��F*��8�|GG��y�O�\D�"�G�����#u�#� o7���,D���Ħ�dp��
�A}̙�N
�$�*��f�N$ע0��2
u��"m�e�PSp�O��,�f��
YF�H%���*���y(����p�. {GIYs�J�I��[m�[�9
6��[ >�Szvm�1�Wn%�q��HE<�E��x�
-�
Bs)�O~�2a�?���kG��;���u0���a�D�i\/D���I�y�����4�7�+0J�qM�O��c�}qFU�ʰ���qt������u��H�'�݇��q�ŋ}A:"c��xs+�E?�{vt�
��9A'�a��I<�`g�M6�j��
���
��[��
��ZH;��s�.BxR����UN�G�� ��.-�(b�r��;���zE��rCv��T�!W���~ȋz�f�e�-�Y5{�� la�"�C����q���'��OSD�ݽۋe�M�i~v��

}�5��N��чR�e

퇪>j_BК��
-\;�c�+h�
�E
D�̆��˅E�z�&ѯ*Ŋ�O:����6�.xs��C��'}T��w<-�[
��Z�(�!
�l����h&�`���jF�i���J�
��	r�T~q~�^�Q(Q�Fy�"u������ْB
�BVY�8��']x�T7ݠ@��F�
-endstream
-endobj
-5390 0 obj <<
-/Type /Page
-/Contents 5391 0 R
-/Resources 5389 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5340 0 R 5363 0 R 5364 0 R 5365 0 R 5366 0 R 5367 0 R 5368 0 R 5369 0 R 5370 0 R 5371 0 R 5372 0 R 5373 0 R 5374 0 R 5375 0 R 5376 0 R 5377 0 R 5378 0 R 5379 0 R 5380 0 R 5381 0 R 5382 0 R 5383 0 R 5384 0 R 5388 0 R ]
->> endobj
-5340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 694.899 181.845 705.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
->> endobj
-5363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 655.833 154.727 666.737]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) >>
->> endobj
-5364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 617.139 176.505 627.67]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad) >>
->> endobj
-5365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 602.039 450.955 611.944]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
->> endobj
-5366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 566.74 191.718 577.644]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 566.74 288.852 577.644]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) >>
->> endobj
-5368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 527.673 191.718 538.577]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 527.673 303.079 538.577]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad) >>
->> endobj
-5370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 488.607 156.281 499.511]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ac92d2324f8ddea454926272e5ccc6dad) >>
->> endobj
-5371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 488.607 237.924 499.511]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 407.345 203.075 418.249]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 407.345 296.324 418.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) >>
->> endobj
-5374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 392.618 346.612 402.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 368.652 194.297 379.182]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) >>
->> endobj
-5376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 329.585 188.759 340.115]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) >>
->> endobj
-5377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 290.145 238.78 301.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.52 290.145 319.029 301.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc) >>
->> endobj
-5379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 275.418 397.522 285.323]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
->> endobj
-5380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 208.883 180.54 219.787]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_af882ff84afd3c2507e17ffa62ffd20a0) >>
->> endobj
-5381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 208.883 255.807 219.787]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-5382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.54 208.883 345.47 219.787]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-5383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 100.342 226.034 111.246]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) >>
->> endobj
-5384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 100.342 399.003 111.246]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5392 0 obj <<
-/D [5390 0 R /XYZ 89 770.89 null]
->> endobj
-5393 0 obj <<
-/D [5390 0 R /XYZ 90 714.099 null]
->> endobj
-5394 0 obj <<
-/D [5390 0 R /XYZ 90 675.032 null]
->> endobj
-5395 0 obj <<
-/D [5390 0 R /XYZ 90 635.965 null]
->> endobj
-5396 0 obj <<
-/D [5390 0 R /XYZ 90 585.94 null]
->> endobj
-5397 0 obj <<
-/D [5390 0 R /XYZ 90 546.873 null]
->> endobj
-5398 0 obj <<
-/D [5390 0 R /XYZ 90 507.806 null]
->> endobj
-5399 0 obj <<
-/D [5390 0 R /XYZ 90 426.425 null]
->> endobj
-5400 0 obj <<
-/D [5390 0 R /XYZ 90 426.425 null]
->> endobj
-5401 0 obj <<
-/D [5390 0 R /XYZ 90 387.478 null]
->> endobj
-5402 0 obj <<
-/D [5390 0 R /XYZ 90 348.411 null]
->> endobj
-5403 0 obj <<
-/D [5390 0 R /XYZ 90 309.344 null]
->> endobj
-5404 0 obj <<
-/D [5390 0 R /XYZ 90 227.963 null]
->> endobj
-5405 0 obj <<
-/D [5390 0 R /XYZ 90 146.701 null]
->> endobj
-5389 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5413 0 obj <<
-/Length 1818      
-/Filter /FlateDecode
->>
-stream
-x��XYs�6~���S+M#O'�L�N�c��m�L"!)E*$Y����AQ2�yj��X��� hp�৓�'�/d$�y
\,��I��(��"x;a��l:c����)��,��SN'u��RE#?���l�gg�����������r:��<+e����P͔�U�
-�rO8K��/^���8�t�@10�HD�4ȗ'o�Ӡ��W%"K����
B.�[�'�Pg
����I(� a�0f�{�yd6�˂��l�l,ԅC��K��3��4���ա3��F��z�f�yO�m������q���Mf�&HIg�
\�E����w�P~���ވ��2� ����=$,�WB����|�r-K�E�(��e�
V���4Yfn�gg��z�@vv���$��B|�8 
�Г��N���s�I]�¢��j�F�:]WV�=X� &��
z2E�OZ� �����{��d:�ϓʎ��*��gwW�-3�s<а����
�Zy���k��/l��p�&V��O4Q�4#�t�.;ݪ� ��Ȉ�#gn�}��	��kv6
3A�E���+UYi�jU�����6��_iǭ�hR
�Z��)U襪Z��[&e�uW/e�g{;(�,�(����6mm�ݕ��xY�.e��B�Qu8�
0�U�zG)��N��Er�Z�� u�F���<	 A�?
-k���1�
-���U����J��!��Wq��Vt����'?�΀�ӄ�i�s�z$吼R?AVŘ���IO!�[�
�t�,견Q�M{v�dx��,�̐
�$�ɡd%*9�����
E}�q��N��\$[���G����'!|�˄c�6J�v�|�B�  @w�K�
�l��np��r��‡�&v
�!>��F���*z�]�/�Ӻ��v,�@o�"�r����!�!
P�aF�
�����G�0	f�Iw
���ɸub����0�y;�%��0��v描��&@��
�E���m�e���9�S$"��ԟ&�;������,L�e��!��{�N1s%
���FwWvؑ8v�$n���~͔�6�
o��.E�p*馸���jc˄�$jժCv�Ie�����W��WI��
q(�b�o�^z������Ox`����1�m��rՏ|�h�yA	����{�S��B@
u< �E�Ʋ%8�mHЫ+�P�N��=�/��NB	z"��!���p
ڮ뵓7�m�$@�Fّ\V�Ѩe����l����v�n�U@���h��!��wX����]X�g�����8f8F
�]%<���>$6�p/Fs��H���)����J�����k��D��U��o��/���0�O���=�����
��^h4�L	���t�)�
���$�@�`o�3�4
�C�]��j�Z���X"�!s���'Um;.��d�)��ڛ�d����LC�m�L��r-�n��������>�`y��M$jn�K�c)
���v4
-�E��a����_�J5�����{�N���4$}a�ʥ?�RUc��� 7S������
@Ӎ6�1�:㝞���.���ۘ@ lg<�$��|�F_�Ji������ڑ+��+v�3W������)̞�Ai,�tL��
����mk
4��;�Ɠb�*u.;s���Y{�sX��؃��(�9w�)�!q���
:
-7��|��
>MF�����Ӥ�ܑ)��FzP&��:����{��?B*?���+��j-�%
���S'%��.��Ȉs��Z�O�[�X���wrA��p�u�����fC��֕^5Dw��Uyz��RXHvG؅�Xֻ�
t�CK]�����t��
-endstream
-endobj
-5412 0 obj <<
-/Type /Page
-/Contents 5413 0 R
-/Resources 5411 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5385 0 R 5386 0 R 5387 0 R 5415 0 R 5408 0 R 5409 0 R 5410 0 R ]
->> endobj
-5385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.398 707.957 171.764 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a3badc2f43376aa26f481af4800a3515b) >>
->> endobj
-5386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.063 707.957 379.972 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 707.957 513.996 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 696.002 227.154 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.664 602.672 352.491 613.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.585 590.716 222.091 601.62]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-5410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5414 0 obj <<
-/D [5412 0 R /XYZ 89 770.89 null]
->> endobj
-5416 0 obj <<
-/D [5412 0 R /XYZ 90 649.122 null]
->> endobj
-5411 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5425 0 obj <<
-/Length 1644      
-/Filter /FlateDecode
->>
-stream
-xڵX�n�F}�W)�J@��/k8�8.�6�k������򢐔U��;{�I��sA��$��;3�
-{�
�~������#�	$Bz��'�q��������x�q��ca���-}�����7�W����b�iB���q�(�V���#��p������F��)��̻��>�O��D�ٓ`8�3�`���U*�u=�i��?k���Y�H{q�+VMZ��\�rY4���b�
<@��
���,3�f��UҔիW��/
�UYԍ���Q��wr]�H<u~�6����NL
(py������H�����
�k�
Ѱ��at7S
m ��w��
-1���z�s��Xa��g��G���,0/\�fW�ݝv�C<��qS��S"�ی�o�j^�������������Lj��3Pn����Q4��N*iN���E��v���+
�Q�
!�8,"Rn<�/�g����9F=�d<,�gŠ����:N��`δ�g#Ӧ�h�ۃon�&�2�u
-d��j~Z��|
�[f�5���d�s§ia�ݕ��z�Բ�3�$���3L�́��
-�TE`q�I�z
P�"�PVD*�R�F#,��+>�P���$�n�''e�hZ�$�B�ҧ�hE�ҋt��3� ?=
9 ��i�����FT €�Vs��

®��j
��ZVIZ47W���OmF(`�G]�m#*�s��3R�~M�+#��LR��χ]��5}%���
ХݟU��1��a=/T,�;Bu�'FA
s�sB�"�
898�6�Y��
T�@�j���y�7�k�ކTa�"
�`(a�=�Q.�jk��G�r,�� ��Ӂ�*>�LyO��,�h�ݷ*���L�=,���mR�.w�#�T0$� -/^�¿#5
�3�t��@L
-�0�K�O�j�5�.Գ�ʓ�n;Nn~K�UR
NNF���2�Aw�8����
R��~ͱ
U�D���Y�C{�'�Kc���X[N^m�*M���Qb*ʓ6wZu���
Ep��ӈ����5�uodԷ6�������*Kj����ۋ[Y��a�Te>
-6e���ŭ�-1�䉞��d���bUq(5�٦4�[]�Iq����][+�����0�8�Ձ�b
�/@O}s)׻����P��V
sDx��c�!0j���h���
u
�A^~|��kW:]���M�$1�^��

뭂����H�R��
�pc�����
���t-�Aݫ6w�2�0����e��I��J��Cgw�'p������rd��s�tL�A�ڬv������q}:y�ɵj�[f���N�KY����
����q"D8
��$�n��e˒G�ܥ���s��q�#!L;aȵ`R�����kq-7�.�3�6�"B�
y}$`߹��i?������>ɂ��
-�F�Q>��MbMl7��;�[r��ɋb�3If,�����7m�8��t��QK��,�2$���⳱��_��!���Q�k����h:1���t��O��3����@��Rl�C`
�
��@��\�B����E�Kۧ����~Ps�-����%��8�ʕ��\0���Fl�W�Q„���V�N�Hv
���B�5��d>���hU�]�n+�6sP����u����NZh��7!-�f���~Q�����3
-endstream
-endobj
-5424 0 obj <<
-/Type /Page
-/Contents 5425 0 R
-/Resources 5423 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5301 0 R
-/Annots [ 5418 0 R 5419 0 R 5420 0 R 5422 0 R ]
->> endobj
-5418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 190.109 207.229 200.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab) >>
->> endobj
-5419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 146.165 197.875 157.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) >>
->> endobj
-5420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 102.968 214.978 113.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) >>
->> endobj
-5422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5426 0 obj <<
-/D [5424 0 R /XYZ 89 770.89 null]
->> endobj
-5427 0 obj <<
-/D [5424 0 R /XYZ 90 721.073 null]
->> endobj
-5406 0 obj <<
-/D [5424 0 R /XYZ 90 703.205 null]
->> endobj
-5428 0 obj <<
-/D [5424 0 R /XYZ 90 703.205 null]
->> endobj
-5407 0 obj <<
-/D [5424 0 R /XYZ 170.288 613.086 null]
->> endobj
-5429 0 obj <<
-/D [5424 0 R /XYZ 90 593.055 null]
->> endobj
-5417 0 obj <<
-/D [5424 0 R /XYZ 108.69 491.016 null]
->> endobj
-5430 0 obj <<
-/D [5424 0 R /XYZ 90 469.7 null]
->> endobj
-1398 0 obj <<
-/D [5424 0 R /XYZ 90 340.464 null]
->> endobj
-210 0 obj <<
-/D [5424 0 R /XYZ 90 330.916 null]
->> endobj
-5431 0 obj <<
-/D [5424 0 R /XYZ 90 211.067 null]
->> endobj
-5432 0 obj <<
-/D [5424 0 R /XYZ 90 211.067 null]
->> endobj
-5433 0 obj <<
-/D [5424 0 R /XYZ 90 124.046 null]
->> endobj
-5423 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F21 2356 0 R /F79 502 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5446 0 obj <<
-/Length 2172      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�~��P`*5ë(e����`���t&E2�@��X�-i%y������x�>�%�$��\?~���s����o�VW�$�D4
-�'HD��!�����`���5�a��Ӈ�5�a�{٪�I~,
��y���Q�j�E�vj��w��DS
#�c��H���2�]����ۏ��-���c�'����owiۮ7T��n��P��Vм���T�&q��
^q*IHI�����[��" ��E �~u�9��!��%qp4���
~w����V�U�����y�
�b�r�ލj�����*�J pC9b<�K;o˩��DX��|-�
�ѽԪL��+L�7�0�x��.lDH�q)
�W%s� y��mU�]�e�>|P�!󎘧g�E�5k7�D	6��D;��
�d#(�df���RݔIT��p�meX�uS����r������2�~��m���S��9nr
�]r�Tz���W{x� �c*����*�H�j�Ck������/
�2-��V���5+W�4�gW#ޯ�{3�Vۚ6�d�{��Sy��]j��,��ZK�@��'
�L�
v�__�/���1-���>�4�ک���TnV�?��uU����V [...]
-��"�G��
�0�A�3
�(b�~�I#0�8�
��7�����Y��
M2}Jy��ݮZS
{��O
j�������]�R1�a�H]��v��G�H�%�������.A�=ڀ������h�s�,\0M%1@@
�����#�+&FH���P�21:�D%�&	\� w\ɘ
���R��P��,	�MZ׶�L\fD�������FTh ��H�I���Ut[;J��ɘ��vH
��(f�E`��[���2/
-��pa
T�db�)���a��ӕ܊,�s�ˆ�J�]���>'��Y��h=��v��2�
�Z0$��$�皽q=L�F�⁻.5��D���%���qWd�X�����0e讀X"A\	�nک�q�џ?7�y��g+%���
,,Ra�9��<��6Ye2�jFoj�{.�(����G7I
��)�ȧDo����������T���1T�sF��O�u��lL
���ʼ�͓+�
�MX9V
�/
:�/�a�@,^>|OM��ՍB�M�u�[�<��������
��d��U �<�#
>�,�WB�<e�B�Ne��"<�'���=̯�'����H�/Wb��.�H��p7�{�H��ݣ;����[��~-D�|�SZ
t��S���g-��Q
ndɏ�痵�_��ee�tЗ�1���m���WW��e-:�Eݠ����:��� @�
�YԾj��E�;gô�� ���f�S
-endstream
-endobj
-5445 0 obj <<
-/Type /Page
-/Contents 5446 0 R
-/Resources 5444 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5421 0 R 5435 0 R 5436 0 R 5437 0 R 5438 0 R 5439 0 R 5440 0 R 5443 0 R ]
->> endobj
-5421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.844 635.349 289.265 646.252]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-5435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.512 435.652 179.766 446.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-5436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.977 435.652 329.907 446.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-5437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 228.908 123.644 239.812]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-5438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 135.223 176.332 146.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) >>
->> endobj
-5439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.947 176.332 109.851]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94) >>
->> endobj
-5440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 98.947 281.496 109.851]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-5443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5447 0 obj <<
-/D [5445 0 R /XYZ 89 770.89 null]
->> endobj
-5448 0 obj <<
-/D [5445 0 R /XYZ 90 721.073 null]
->> endobj
-5449 0 obj <<
-/D [5445 0 R /XYZ 90 666.348 null]
->> endobj
-5450 0 obj <<
-/D [5445 0 R /XYZ 90 609.951 null]
->> endobj
-5434 0 obj <<
-/D [5445 0 R /XYZ 90 587.639 null]
->> endobj
-5451 0 obj <<
-/D [5445 0 R /XYZ 90 587.639 null]
->> endobj
-1399 0 obj <<
-/D [5445 0 R /XYZ 90 306.827 null]
->> endobj
-214 0 obj <<
-/D [5445 0 R /XYZ 90 299.773 null]
->> endobj
-5452 0 obj <<
-/D [5445 0 R /XYZ 90 175.53 null]
->> endobj
-5453 0 obj <<
-/D [5445 0 R /XYZ 90 152.058 null]
->> endobj
-5454 0 obj <<
-/D [5445 0 R /XYZ 90 115.902 null]
->> endobj
-5444 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R /F21 2356 0 R /F79 502 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5488 0 obj <<
-/Length 1530      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�/�D��pw��-�&v��N�XE� �ŕ�F��\F��wH.II�n��@^L�\��Μ9s!�n,l���:��%�\�
-*���r�%mq��և>�x�q��b�A��Vy���7�7���Y�l���G��H%�#�X����#�|���ˆ��5/��M\g�e�
6��e��X҉��!	A�T
-\Q����׋�����W=�Ðc���J� �Zy
S��W��I
e�<�R,{G7i����t�ȴ
-�d�Ln2�G���`h�r�P�.E)6���!��Q
5�|��A)Ϋ./���_&��y: ��%�����j��ߓ8M�U*K����궎��VU?�8�t��[��˜F���E���ܕ��J�$���բ���]/A�6hm���!#َ��`;�'.�!�dq/גڷɢ���r
�$�@KղKC��
5:��i�8�N�+�p�Ε�$"���a�}�#�M�U�TXdI,^��@�%�Ք�/Tx�����y4������g<s��t�,/��
����L�*�+�sC6�d�t�{
j�
(�o�oGe��~������eYp=9�W���T.k8�D��4�
�v�uP��n��o�.���F�����JS+�erڥ�Ĉ2��.� ]���C8.��,:�pĤ{?��5`m;w
��P)�T�F�
-�
-#mC�Mw���߂0�a�� F
�
�`s�}
�WT)�im;�LM��Z��5b�^G��c)V����
���H)�tqL �&��1��~{����soH�
j�'Ɋό�먪��k�R��\e@��^�;����!���ٸ��d�'�~�+�<�^�<�VҊ����BK���,�o߯KU���tD�Zs@��M��ڄ��v�"��u��
-Ȇ����=����
-\ڤ��4[�=R�o9�8B�{���El{�&�m|�a��˹�d]lI9"���כr��t
�v�	��4P��mm��a���xG�_��lϰy����e�9A-��v�
)ZϦ�+Y����p���i��;Ŝ|}�4^:�I\��#
��:Hs���h�)d � �B�����›aDX:�ծ8	L��5��hf�C��+%rh3/��!��cs�Ri�	^���2o�j��q]8
�r�+�"8�X�
+8x��]����a���������H�=8���A-��Y�ٞ�V$�6C�4�
����CDۈ�n[����Z��d榗�Q��X;p��{��Ut���rÍe}��D�,��oZ�ɬ)�Rh�Q�쮼ծ�;�Xw�@[�e'+29C\�mq2t���!'q�L�ϟǙN�)�;"Յ*�5�xz��xŝ�6�C��3�1��=:��MI�:��$����N��u+럽���ؾ����������;�T��q��ߕ���i��ųŭ�S����uꥆ���T���~Vߊr [...]
�g�a�[����|>G�
�Q��(У$���"vIJ�F�46
�5��
�QӪS�	�b��
-endstream
-endobj
-5487 0 obj <<
-/Type /Page
-/Contents 5488 0 R
-/Resources 5486 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5441 0 R 5442 0 R 5456 0 R 5457 0 R 5458 0 R 5459 0 R 5460 0 R 5461 0 R 5462 0 R 5463 0 R 5464 0 R 5465 0 R 5466 0 R 5467 0 R 5468 0 R 5469 0 R 5470 0 R 5471 0 R 5472 0 R 5473 0 R 5474 0 R 5475 0 R 5476 0 R 5477 0 R 5478 0 R 5479 0 R 5480 0 R 5481 0 R 5485 0 R ]
->> endobj
-5441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 176.332 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa) >>
->> endobj
-5442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 707.957 288.122 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-5456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 671.73 176.332 682.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be) >>
->> endobj
-5457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 671.73 254.906 682.634]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 635.876 184.081 646.406]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) >>
->> endobj
-5459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 563.832 229.552 574.736]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) >>
->> endobj
-5460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 563.832 308.127 574.736]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 527.605 196.347 538.509]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38) >>
->> endobj
-5462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 527.605 274.921 538.509]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 491.377 220.038 502.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) >>
->> endobj
-5464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.375 491.377 298.612 502.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 455.15 224.003 466.054]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) >>
->> endobj
-5466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 455.15 302.577 466.054]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 441.843 272.49 451.748]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-5468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.08 418.923 194.623 429.827]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc) >>
->> endobj
-5469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 371.895 176.332 382.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.071 371.895 227.878 382.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) >>
->> endobj
-5471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.215 371.895 306.452 382.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 335.668 167.466 346.572]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_abe00577479ebd726359fe57e7005d412) >>
->> endobj
-5473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 335.668 222.518 346.572]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 257.675 180.54 268.579]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a84957b848ff686880af9d36337dcaf94) >>
->> endobj
-5475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 257.675 259.114 268.579]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.579 257.675 395.816 268.579]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 219.138 178.239 230.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0faddc05083260bac541ab1a8248c74e) >>
->> endobj
-5478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 219.138 256.813 230.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.277 219.138 393.515 230.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 100.077 226.034 110.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0861f18ccca1904bf9286f202c5b2648) >>
->> endobj
-5481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.301 100.077 368.538 110.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5489 0 obj <<
-/D [5487 0 R /XYZ 89 770.89 null]
->> endobj
-5490 0 obj <<
-/D [5487 0 R /XYZ 90 721.073 null]
->> endobj
-5491 0 obj <<
-/D [5487 0 R /XYZ 90 688.672 null]
->> endobj
-5492 0 obj <<
-/D [5487 0 R /XYZ 90 652.445 null]
->> endobj
-5493 0 obj <<
-/D [5487 0 R /XYZ 90 578.752 null]
->> endobj
-5494 0 obj <<
-/D [5487 0 R /XYZ 90 544.547 null]
->> endobj
-5495 0 obj <<
-/D [5487 0 R /XYZ 90 508.32 null]
->> endobj
-5496 0 obj <<
-/D [5487 0 R /XYZ 90 472.092 null]
->> endobj
-5497 0 obj <<
-/D [5487 0 R /XYZ 90 435.865 null]
->> endobj
-5498 0 obj <<
-/D [5487 0 R /XYZ 90 399.638 null]
->> endobj
-5499 0 obj <<
-/D [5487 0 R /XYZ 90 387.054 null]
->> endobj
-5500 0 obj <<
-/D [5487 0 R /XYZ 90 352.61 null]
->> endobj
-5501 0 obj <<
-/D [5487 0 R /XYZ 90 276.49 null]
->> endobj
-5502 0 obj <<
-/D [5487 0 R /XYZ 90 157.651 null]
->> endobj
-5486 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R /F11 442 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5524 0 obj <<
-/Length 1934      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�F~ׯ�S���̐�!�b�m�h�m�x��@���=0/*IYU���Q
�����b���9sx.��ΙC
�8�q�����
�A���&��m���b	�Z�!����`��wS�ü)���)�a]l�Ų��ț&o����D'�RVy'���~�xC�@4�)�q
-/֒�3K�����n������pc���(s+~(��(���4��(W�RP�y/nE3%i(�܊)'!�A������	18 �/
�4X���O8X����,
6zQ�4��E�a��[㡫Y⩙�8JN
��)e��n���Q�1Q{R'�e�3E�@I��)'
�ړ� ��^�+Q�u���L!��=�{�R��3�(c�,|�X�Kk�rfsg����Ip
�h�n4�V���!	?b���W�d�g19p��*J�9�����3��I��r�/��/O8�R>j�L�	f4#(I"����4��^>
KKH��$:|1/�T�)�S�g��,Ib�*B�	�g���+��y!��yU�[b/�m���l7[{�c�(�+���3�
d��8F
��oEyT��ͺZt��,�t�yg�^����k{�m���[�L�Ue.+s�����CN���ȌB !?�y�Ā��T7�r}��8��U-��ݾ<�L%����e�?!��lILmD�Q���֍sY>�/�i�C���fk�z�y*
˥XN=��{ġ3���h���M]��'�yW�����{��aD"�3}�#i@#�w$ om*�ƺ*,H��}��G)��n��q4��P�������
:��^�ו|T5��
�.G�^Ip��49�.���s
p*<VK�+7u���7�<\�G�>N����xa(��ϊҞ	/Kޣ��D���m�,�c�戸c-�}lk�7���o��=Y4 [...]
-]p*�;!���
�%I���_�!O�t���p
-��(�f;o�������]����bn��j~��D�7��a�Z�����k����T�k.��A��7����o4ڇ��z%]�{�
�M281���/�u
u�4�{!!�q� ���	��2�r�
ߩ?gP��}*�PA?����կ?��p/j�����o�[{Q���8|��ÙӮ�m�w�U|+�_�<�v�C�9������1E^B�lD���T���s'�37��"(��	2r3d���$9���+5+�-�O1��?g��S�d�x���oz" !��=�.vs�/
��,E8e���Gpc���cP0���/eEn�|�2d�����H��w��;n�ҾTH�jjE��r�p��B*�V����U���@Q0'f��t9�ޣ��sOi�kY�n[���X����l� �[
�������v;}�J�#����#�`����.K?���,Nxx�h �Q(����kX�=�[���inn,�Rq;��٦���[C*��O�t��e����
w�
�aO�kײ�o
-�@�M�6.\/f.������K[����
�
Ƌ%P7�A��
���m�4��N�����g���_�>�`�
:�bD
��]s�?NoGB�r.�7����]��� ז}�U�ܺ��X�F�P��Ԡ����ñ��/�;����3�	�5�,�
�L�cd�	�,>Ö1�c�k���l��L��r��#@Pb�	���
7�s���f�!#5s�J
��Jw�-�BV�����co�Nz��˩�)*N�Ã�'�B��O<�ڤ���-�)�s���{
-so�I5�U�g1��F�|
-ʒ�_��V�ġ
1ߵ�P�`�6��5m��5�ӡ����4?�ӊ�JSk�ۼZ;�T��(Ѵ}
-C�
	�@����p�c�C�~�����%)G@�.0�]�����l6hѢu%W
���jU\
~H!1�S���M߳*Z�
s���MW�A
-endstream
-endobj
-5523 0 obj <<
-/Type /Page
-/Contents 5524 0 R
-/Resources 5522 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5482 0 R 5483 0 R 5484 0 R 5526 0 R 5506 0 R 5507 0 R 5508 0 R 5509 0 R 5510 0 R 5511 0 R 5512 0 R 5513 0 R 5514 0 R 5515 0 R 5516 0 R 5517 0 R 5518 0 R 5519 0 R 5520 0 R 5521 0 R ]
->> endobj
-5482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.702 696.002 164.068 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a61f92a8e4bf29b1d20c3091cf7b4cec9) >>
->> endobj
-5483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.671 696.002 337.99 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 696.002 513.996 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.047 200.564 694.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.417 598.927 206.96 609.831]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) >>
->> endobj
-5507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 558.628 160.465 569.532]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) >>
->> endobj
-5508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 518.703 175.967 529.233]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207) >>
->> endobj
-5509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 478.03 204.739 488.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) >>
->> endobj
-5510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.076 478.03 283.313 488.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 437.731 244.091 448.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c) >>
->> endobj
-5512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.428 437.731 322.665 448.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
->> endobj
-5513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 397.432 191.718 408.336]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 397.432 288.852 408.336]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) >>
->> endobj
-5515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 357.133 191.718 368.037]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 357.133 303.079 368.037]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) >>
->> endobj
-5517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 317.208 150.493 327.738]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509) >>
->> endobj
-5518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 276.535 264.424 287.439]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) >>
->> endobj
-5519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 181.412 123.644 192.316]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-5520 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.08 169.457 318.72 180.361]
-/A << /S /GoTo /D (main_Bag98) >>
->> endobj
-5521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5525 0 obj <<
-/D [5523 0 R /XYZ 89 770.89 null]
->> endobj
-5527 0 obj <<
-/D [5523 0 R /XYZ 90 617.682 null]
->> endobj
-5528 0 obj <<
-/D [5523 0 R /XYZ 90 616.721 null]
->> endobj
-5529 0 obj <<
-/D [5523 0 R /XYZ 90 578.444 null]
->> endobj
-5530 0 obj <<
-/D [5523 0 R /XYZ 90 538.145 null]
->> endobj
-5531 0 obj <<
-/D [5523 0 R /XYZ 90 497.846 null]
->> endobj
-5532 0 obj <<
-/D [5523 0 R /XYZ 90 457.547 null]
->> endobj
-5533 0 obj <<
-/D [5523 0 R /XYZ 90 417.248 null]
->> endobj
-5534 0 obj <<
-/D [5523 0 R /XYZ 90 376.949 null]
->> endobj
-5535 0 obj <<
-/D [5523 0 R /XYZ 90 336.65 null]
->> endobj
-5536 0 obj <<
-/D [5523 0 R /XYZ 90 261.336 null]
->> endobj
-5537 0 obj <<
-/D [5523 0 R /XYZ 90 212.122 null]
->> endobj
-5538 0 obj <<
-/D [5523 0 R /XYZ 90 154.257 null]
->> endobj
-5539 0 obj <<
-/D [5523 0 R /XYZ 90 131.621 null]
->> endobj
-5540 0 obj <<
-/D [5523 0 R /XYZ 90 131.621 null]
->> endobj
-5522 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5545 0 obj <<
-/Length 1688      
-/Filter /FlateDecode
->>
-stream
-x��Ym��F��_AU)�J�����.��\�R�&ל�~�Dg�s���_�Yv���q��j�|2�
�;���̀��������擳+;
-<�9�`��
��έK)���?w�'	<x��~����ً���7y6�����
b
�Kg��ܾ����;�@:��h�p��7vn&?O�ѽ�1k�(Al:#c�*�T�,�3*��m�4�T
���6ɢ��Č.��f��2��tLؙQ��
:��+�j�io���
-v�ۙ��V'��Xt��#HcmP>d*	�Jo���7��>}��G�G��7��wii��L�'O��5x�&Ei���T�:J�#!�"IűP:�
�<�g���&#���3����c�G�l2��t&�tu�S�Չ���ԙna1|<�i���ς�G����e���`
s*8gR��m7����vU危���
g��	��8E�p��+UnrȩY���C\6!��F
8�
$��g�2�
k��I�`�����C��
:�%�D����!���<
q�+����^��tnʄ����l��YVkK�FIY�
�Ҍp�
)�ו�I�E
���@�����O̸�/ި�`$��v�
��FwOF���1��m�!�5�Zu!��Y]>���W�%l�
-w�rhBNT��y���>���Ǻ����r�I~Q.��Ӣ̧D�*\��mgHO0o��� �$������6@_�U{1�����H�#�Sb!�H���H��`'�Dn��*hMm���M�m,I0@��
���<��
�b�8i,~�1Z��6�̕F��������U�p��y����.���㨢�;E
�o�T4P�X?_,� ��`8���@0N�%�����^��1�	�$�]��dj�q���P`�
�����
���b��\����G��^v���v�}�_�aa/�����;�h9�
�*O׽�}��q�+�6Jޙ���X�W+��
��s2M�E�kJE���_�����9+Cj�˺a�/	u�?�t
F���6��͢4�P�^�b���bh/�A[М�%�pN�K:�����熃���ᘻ�i@ݖ�B�P�}��
<�e��A�SU�d��	���f>�zJ�y������Q
��;��\��)Z_�[�e{����j�fʾT�␳b���
�"�����h�<��b��(Yě偺�"�ŀ�Nj���	$w�Ր.��.��K%m>w���Q\�x��E
e���
��̇�Bƪ�ܯ���,h��L�
���u��`��Z<�e�1)��c}[g:��- bL�Z��9��[{��2&��t9�5�w�6�`h8�D
{��`3�
�f�C֑�<��P˙h��9�wc�T
��נ��Y
�v��j
��j
S������[�i����� _�p#,�\b��5,̤	9�K
��(��R%i���N689������H� ;7�j�0�[8
z8�L��Ir
,
�ʣ\-�f�=�+"8߇�6I�&�͞���@�
˂�˂�p(`���X�A�;�GB���=᧶'͝�2ƒ��S������D�C>l�~�c A�
E {9��l�rj�����U3��P�W�U�&�0لq��-�&�$Q�k��T�(e#5����W?L���ڴ�>7
�}Yf�gg��-
-�I�,GQy�;��:(��8i��N�/;Q��
-0�ڕ�E
-endstream
-endobj
-5544 0 obj <<
-/Type /Page
-/Contents 5545 0 R
-/Resources 5543 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5542 0 R ]
->> endobj
-5542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5546 0 obj <<
-/D [5544 0 R /XYZ 89 770.89 null]
->> endobj
-5547 0 obj <<
-/D [5544 0 R /XYZ 90 721.073 null]
->> endobj
-5503 0 obj <<
-/D [5544 0 R /XYZ 90 704.226 null]
->> endobj
-5548 0 obj <<
-/D [5544 0 R /XYZ 90 704.226 null]
->> endobj
-5504 0 obj <<
-/D [5544 0 R /XYZ 90 630.595 null]
->> endobj
-5549 0 obj <<
-/D [5544 0 R /XYZ 90 615.822 null]
->> endobj
-5505 0 obj <<
-/D [5544 0 R /XYZ 90 544.229 null]
->> endobj
-5550 0 obj <<
-/D [5544 0 R /XYZ 90 529.456 null]
->> endobj
-5541 0 obj <<
-/D [5544 0 R /XYZ 90 457.863 null]
->> endobj
-5551 0 obj <<
-/D [5544 0 R /XYZ 90 443.09 null]
->> endobj
-1400 0 obj <<
-/D [5544 0 R /XYZ 90 320.128 null]
->> endobj
-218 0 obj <<
-/D [5544 0 R /XYZ 90 313.415 null]
->> endobj
-5552 0 obj <<
-/D [5544 0 R /XYZ 90 223.687 null]
->> endobj
-5553 0 obj <<
-/D [5544 0 R /XYZ 90 164.097 null]
->> endobj
-1401 0 obj <<
-/D [5544 0 R /XYZ 90 69.426 null]
->> endobj
-5543 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F21 2356 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5582 0 obj <<
-/Length 1304      
-/Filter /FlateDecode
->>
-stream
-x��Y[O�F~ϯ�T�Ԗ��^������8�
(�T� E�YȪ���U��
{�N
��;}�	�ٝ���oggl\����2�
�\l��w�c
�
��#����83	F�Y}�16�-�� ��c�b3��&b��Cy����־�EIf�)��N�z<W"��g�8`���7)X�~��{�,D-�#�3�i��c�������q[
�6e�72N{���R,� �sZ���b,�`�;
b�Omd۶�fE2?��,��
n�4�q�
kga��L,������9�+?��8�fc�"�y>�3�zX
�����z@�Fh2��8�
^��#���"�P�2��A<�,4|�<���G�P
-��IbQnޖ(U�/Ǫ-��2yyW�H	(��J:��g�]�gr<���
)I-�D)Gر����L�������x���F�S�4*F�~��dz�H�*�����]*�5�
��k���sXhk��A�"�M�5�<\�\�]������_w�����N9نM��?9������sv�N��쎺�V�m}\�ox 6�^	 9v)n��	r8����(��*�5��(�$Z�]Z�`>���͐��}I|�K�
��ⰐI�py���D�L��Ј�c�Cp_�G~��O�`�<���b�9�1�c�8��y��e��tLY�
-���7��>
��

����4I�
3ܑ(���䉍x?-`
Re
�_�K�A_TF���'I�ԟ����sy
OEs��
���t�q
KXH)aT,����i�Q3s����p��b�ź(��9��0�Z��F�M:�֫
���:I�׺R��w�y�u����L
�G�����+&2�u+�8�[G���d.��y*����J*��������P��w��p(j�
�M�q�$��T#�QY�
��b�T��E\P�:
�Ro� ��tG�����.� ����-�`~_Z]7�f�"��
�1t���6�˦J
wB�}����R:�K<�̗H��S�A�
���,�U�XްewqU�z  J��GE�"�ڪ�ee��n���B�lf�V�1���� ��e�y�߼jUE@��Z�S�f� �c5�7
$���9�q��|D���ŗ����J��ȍ�7ܲ���A�>�
?} ��v�����~�n������G]}_jӿ
K����r_�;�|�о~��,��s��v>dA�۝����_�
�zՍ^��-��e���ij ��oJS"�_F!�DKE ���s*j����2��T�x�^⹈��IQ�[����-
-s4�e�!Y
�4�o�-X!��d�j�I���iP��| ��ѳ-`
-endstream
-endobj
-5581 0 obj <<
-/Type /Page
-/Contents 5582 0 R
-/Resources 5580 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5554 0 R 5555 0 R 5556 0 R 5557 0 R 5558 0 R 5559 0 R 5560 0 R 5561 0 R 5562 0 R 5563 0 R 5564 0 R 5565 0 R 5566 0 R 5567 0 R 5568 0 R 5569 0 R 5570 0 R 5571 0 R 5572 0 R 5573 0 R 5574 0 R 5575 0 R 5576 0 R 5579 0 R ]
->> endobj
-5554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 630.639 316.06 641.543]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-5555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 574.995 160.207 585.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 574.995 192.655 585.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) >>
->> endobj
-5557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.643 574.995 217.621 585.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) >>
->> endobj
-5558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.61 574.995 251.932 585.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5ab7fe867b1243e111ef4364e3ef5b5329) >>
->> endobj
-5559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.921 574.995 336.614 585.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f) >>
->> endobj
-5560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 493.235 155.733 504.139]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) >>
->> endobj
-5561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.07 493.235 224.893 504.139]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 454.33 163.482 464.86]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0) >>
->> endobj
-5563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 414.678 155.733 425.581]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.473 414.678 207.279 425.581]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783) >>
->> endobj
-5565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.616 414.678 276.439 425.581]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 375.399 179.554 386.303]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 375.399 250.666 386.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) >>
->> endobj
-5568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 336.12 135.579 347.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 336.12 155.225 347.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) >>
->> endobj
-5570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 297.215 162.677 307.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) >>
->> endobj
-5571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 257.563 160.455 268.467]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4) >>
->> endobj
-5572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 218.284 168.216 229.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) >>
->> endobj
-5573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 179.006 201.969 189.909]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) >>
->> endobj
-5574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 140.101 297.728 150.631]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) >>
->> endobj
-5575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 140.101 336.732 150.631]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-5576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 100.822 283.353 111.352]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) >>
->> endobj
-5579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5583 0 obj <<
-/D [5581 0 R /XYZ 89 770.89 null]
->> endobj
-222 0 obj <<
-/D [5581 0 R /XYZ 90 721.073 null]
->> endobj
-5584 0 obj <<
-/D [5581 0 R /XYZ 90 592.278 null]
->> endobj
-5585 0 obj <<
-/D [5581 0 R /XYZ 90 512.421 null]
->> endobj
-5586 0 obj <<
-/D [5581 0 R /XYZ 90 512.421 null]
->> endobj
-5587 0 obj <<
-/D [5581 0 R /XYZ 90 473.262 null]
->> endobj
-5588 0 obj <<
-/D [5581 0 R /XYZ 90 433.983 null]
->> endobj
-5589 0 obj <<
-/D [5581 0 R /XYZ 90 394.704 null]
->> endobj
-5590 0 obj <<
-/D [5581 0 R /XYZ 90 355.426 null]
->> endobj
-5591 0 obj <<
-/D [5581 0 R /XYZ 90 316.147 null]
->> endobj
-5592 0 obj <<
-/D [5581 0 R /XYZ 90 276.868 null]
->> endobj
-5593 0 obj <<
-/D [5581 0 R /XYZ 90 237.59 null]
->> endobj
-5594 0 obj <<
-/D [5581 0 R /XYZ 90 198.311 null]
->> endobj
-5580 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F23 364 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5634 0 obj <<
-/Length 1669      
-/Filter /FlateDecode
->>
-stream
-x��YYo�8~���S�j��DR
-ڇݠ-zg/��-
E��:\J����
��|�W��[�p8���"�uka�e�Q������<N�5�X
���!��)�>�)u_F�-���x
FU�/?�=?���z�G�o=��E
��kI��l�������֬"J,��p�����=\˂�eb|I&�9rl�� B� �)e���zvu[���e��4d��dj>Σ�r\̧r�(�p��
-?
�c�t|3/d�2�&���TOA����
�
-z�,��
�&Jw�5$r3k�(�R����K�ͤ2�7Y���Z��z'
qͭ^����z`%{u�M������F2lF�u�� X,��=$kp�cېy�T�0��)��Ьj� Fԩ���V�0���
ױ��F��H����?
-���� Fk��:�S@p�V��7q]�]�{�Mm�\��ػ��M����-����VF�����˴�Om���|)S��"S]<��'��1"v땅*e�l$8i��!~T�4���:����C���CŠ
z�M>�!�4�.q���W[�k�k�~��j�
��@ڃ+#�s~
��;�� �
A@�3
-wc�σ(�e2}��ڸ`P��
 �^�˼/.�T��F�/,gx�y}�ꕹ5f��K�(Kېԁ*B9�N�*�/Ļo��H0qX�9�u+=gy���
��'J�Z|�{=��0�W�/�)
=UQZ<�_�9��z�A�N�ԕ��	Q�

%�<Jo;���h'̦����ȗŷ�[�<}�1#(�^�#�cO
��W����w:~����D�[�K;;'��8��%] �q��./������qyN��<��u��S#DXUm	oLm�Eg�y,Wc5����^�6��B}���2�0���bC+�Qq�t3�9E&`
-�<�kFkA�Ub� z(�0B��w�nB,��Q�[^���I?�Z��]�ď�N�
�b��0�Y�W�Α~�1�dU��7�U]��@G��y[����	�+ҁ�"_�aC�\q��	�˜��H��r�.
�3]��[�����a���g��;}1DNS����,*
-(j�]=C��;��m�
�nT�k
u����q�#c`�qU����;��4�9/�4��su�`}��l|i�0��Gn&�G���<�R�
M�[���SAJ��.`�_V��H%��6Hw�Tޅ

�-6佰����1rX�� fT���hEӮϏ5$F�'
Ȑ�
�=�3$g�Cj�i��jpF1�
�ה��L>۠���)U���'�� ��LN����{A��І�Q�ye!2BYě�Ə�
�-�XɉT2
j;��69e�lf;X ("�C�e�h�x�U�وҝZi��;S��ے.<-�
�����v

-+� ��R�q'
+��X��dEu"ׁW`Y�ŝ{�F�K��>lL[@k8����'�4�4�>��6�'5��c�O�@���;[��f-�<Jʺ����.�9�۟�����fK�z��>��r�qXMR�wX�Q��>�z Ϳj�o�����쯟N3��CO���h$�)��	������]#Ш�����J��۫,���PՏo��7�p��R��7�5��Ӳ9��
-��YI��
F٨�[��p-��}���7Z�tYhW �)�(����
9*�h�PT�O���f;��� Z&��ne�L��2�L�m�
#�\'�T
-endstream
-endobj
-5633 0 obj <<
-/Type /Page
-/Contents 5634 0 R
-/Resources 5632 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5455 0 R
-/Annots [ 5577 0 R 5578 0 R 5602 0 R 5603 0 R 5604 0 R 5605 0 R 5606 0 R 5607 0 R 5608 0 R 5609 0 R 5610 0 R 5611 0 R 5612 0 R 5613 0 R 5614 0 R 5615 0 R 5616 0 R 5617 0 R 5618 0 R 5619 0 R 5620 0 R 5621 0 R 5622 0 R 5623 0 R 5624 0 R 5625 0 R 5626 0 R 5627 0 R 5628 0 R 5629 0 R 5631 0 R ]
->> endobj
-5577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 191.718 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 707.957 288.852 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) >>
->> endobj
-5602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.24 191.718 680.144]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 669.24 303.079 680.144]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2) >>
->> endobj
-5604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 630.524 201.471 641.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) >>
->> endobj
-5605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 630.524 270.631 641.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 591.807 181.845 602.711]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) >>
->> endobj
-5607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 553.09 181.845 563.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
->> endobj
-5608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 514.374 154.727 525.278]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926) >>
->> endobj
-5609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 476.031 176.505 486.561]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249) >>
->> endobj
-5610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 461.105 450.955 471.01]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
->> endobj
-5611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 426.355 150.493 436.885]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb) >>
->> endobj
-5612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 387.265 156.281 398.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a775a8cec41b0fcc88689a171f5be8546) >>
->> endobj
-5613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 387.265 201.92 398.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 306.702 179.254 317.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 306.702 196.689 317.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) >>
->> endobj
-5616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.026 306.702 301.275 317.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 267.985 179.254 278.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 267.985 194.467 278.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) >>
->> endobj
-5619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.804 267.985 299.054 278.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.434 229.269 183.257 240.173]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.758 229.269 210.233 240.173]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.576 229.269 322.825 240.173]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.647 178.597 188.47 189.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.183 178.597 254.412 189.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.18 178.597 377.43 189.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-5626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 127.925 203.075 138.829]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 127.925 296.324 138.829]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) >>
->> endobj
-5628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 113.373 316.216 123.278]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 89.582 194.297 100.112]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) >>
->> endobj
-5631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5635 0 obj <<
-/D [5633 0 R /XYZ 89 770.89 null]
->> endobj
-5636 0 obj <<
-/D [5633 0 R /XYZ 90 721.073 null]
->> endobj
-5637 0 obj <<
-/D [5633 0 R /XYZ 90 688.265 null]
->> endobj
-5638 0 obj <<
-/D [5633 0 R /XYZ 90 610.832 null]
->> endobj
-5639 0 obj <<
-/D [5633 0 R /XYZ 90 572.115 null]
->> endobj
-5640 0 obj <<
-/D [5633 0 R /XYZ 90 533.398 null]
->> endobj
-5641 0 obj <<
-/D [5633 0 R /XYZ 90 494.682 null]
->> endobj
-5642 0 obj <<
-/D [5633 0 R /XYZ 90 445.006 null]
->> endobj
-5643 0 obj <<
-/D [5633 0 R /XYZ 90 406.289 null]
->> endobj
-5644 0 obj <<
-/D [5633 0 R /XYZ 90 325.607 null]
->> endobj
-5645 0 obj <<
-/D [5633 0 R /XYZ 90 146.949 null]
->> endobj
-5646 0 obj <<
-/D [5633 0 R /XYZ 90 108.233 null]
->> endobj
-5632 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5700 0 obj <<
-/Length 1586      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�F~�_A_R��N������i���MS�}J2��6
- ��_�=�@B����I����ݽ���Ӂ�

[���F�[
-<�Y��V�-��{p7���#ʜ!��o
��0O��[�b;�./�$��gy�/��^�T�a��ΐrl���E�/O��
��2�$�c
lJ����������C�"���oE���GlM���F,�E%�X.e�=��
�
`3����9rom�{�e��>��P{S���9L�(�2��,��i�#���/��'�%�c������ԧ�r
�zVC2�G=W9J)�\j
	Gĸy�܎�z��R�H�u*^hEbX[�.¾��(K�rwV`�“�c��<O�d<�ⴼ�0=�Y��t3�Y
_ĩ�>�xN��gCpL�E�A�bFU�Gnj�&�C�P��6���8
-��2 H�
�|
h!��Zp���I
�e
7�ɲ��
M�b��{��S=�Ф=�����0a�DWn<�_hPW ,�>h���i���H�!Λ0M�RN����4*a&���B���R�`	��&+e
��l�S���\��y���L�Jq^�B[Y��&k�CB�}�

eE��0q�@0���;:&�U%"��z��ep���J�ײ*

�����������\�o/����ln����nW�!����~ųXTM��&�q��N��Nvu&]�~�۩[�^ޢֿ��(6���g �W>�bn W��X��mr����a&V�BP��eٴ�z{����zq\��*�M���b;m
#��/���eHxM��r����t��W���>3��C�@
m�-6�P~��W�T�5{g
�9�-��C�
�9b�Wb-��r�H��E�~��4�0'0�y�-�(��ʓ=��FA� 	��O��OK��T�d:8M�����
D�H�$<�W
^.g2
�(�:>��C+tl�o���ў
�@����Q��ܽd\L�\B6�S�Ж�F ��c�R��/�M��+�K}R�\N�o�U��j��R�F�v�ֺ,�o��k�u����1�
-�r;r�[#���Qؚޮ(V�j�'��c�۹���Sڎ��$���=��I6O'qz1�-�T2��|D`�!X��^d	��[N�
V0����ߢ?�6 �ʸ�D�Pߝ�r!e�A�Pă�7
)v����rO4�1�}[�oC3h2�w���
�g;��0Q����_�(R[��MD�3D����V����MD����U��Te�Lf�zB:���Я��Gf��l�Mգ��O�C9���D�i��:�
-���IWa�oӕ�ҕ@l7[�,��
-,�+��Ǿ��.
�#�)��G
�f�
�$�۶Dn��(x���L/�n�T���|l�
9Kq9|�/�N�
g�t
�՛q��KH �����
B��t��8v'$��!�5K
!)K��G��c�O��*� N��<��:0H ���H��
�9h>��9�3�����5gs��B�?;��E��ק�
-�WJ��ա��
-8A-"g� ��d�&���'���]�$]��P�V�Ɨe9;���
-4O�Y��r4�MGی���V4J��}d�Շ�q
-?&�:2G����#O
-endstream
-endobj
-5699 0 obj <<
-/Type /Page
-/Contents 5700 0 R
-/Resources 5698 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5630 0 R 5652 0 R 5653 0 R 5654 0 R 5655 0 R 5656 0 R 5657 0 R 5658 0 R 5659 0 R 5660 0 R 5661 0 R 5662 0 R 5663 0 R 5664 0 R 5665 0 R 5666 0 R 5667 0 R 5668 0 R 5669 0 R 5670 0 R 5671 0 R 5672 0 R 5673 0 R 5674 0 R 5675 0 R 5676 0 R 5677 0 R 5678 0 R 5679 0 R 5680 0 R 5681 0 R 5682 0 R 5683 0 R 5684 0 R 5685 0 R 5686 0 R 5687 0 R 5688 0 R 5689 0 R 5690 0 R 5691 0 R 5697 0 R ]
->> endobj
-5630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 695.203 188.759 705.733]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010) >>
->> endobj
-5652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 655.622 202.776 666.526]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.515 655.622 278.601 666.526]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
->> endobj
-5654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 616.414 202.776 627.318]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.515 616.414 312.354 627.318]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) >>
->> endobj
-5656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 507.544 226.034 518.448]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74) >>
->> endobj
-5657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 507.544 362.999 518.448]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 468.336 156.281 479.24]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a10cab5245f80aacd8000d0312730ec03) >>
->> endobj
-5659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 468.336 313.002 479.24]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.214 468.336 484.119 479.24]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 429.129 180.54 440.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) >>
->> endobj
-5662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 429.129 249.7 440.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.433 429.129 333.256 440.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 389.922 178.239 400.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) >>
->> endobj
-5665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 389.922 247.398 400.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.132 389.922 330.954 400.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 338.759 245.522 349.663]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae6206985cd5536c4dac181de5fb21247) >>
->> endobj
-5668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 338.759 325.229 349.663]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 326.804 155.733 337.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 326.804 239.289 337.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 326.804 316.409 337.708]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 275.641 245.522 286.545]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5363ddeed325652ee6c064a8936cfe57) >>
->> endobj
-5673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 275.641 325.229 286.545]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 263.686 155.733 274.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 263.686 238.616 274.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 263.686 315.303 274.59]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 212.524 243.605 223.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa98511973ca14e8904e4e2c1f774bd3a) >>
->> endobj
-5678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 212.524 323.607 223.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 200.569 155.733 211.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 200.569 239.289 211.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 200.569 316.409 211.472]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 149.406 243.605 160.31]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af4abff14e1b88cbb929f0733432477ff) >>
->> endobj
-5683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 149.406 323.607 160.31]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 137.451 155.733 148.355]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 137.451 238.616 148.355]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 137.451 315.303 148.355]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 86.288 242.189 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0fb144e5f3fb6815e4c28c89883607be) >>
->> endobj
-5688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 86.288 322.409 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 155.733 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.466 74.333 239.289 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.853 74.333 316.409 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5701 0 obj <<
-/D [5699 0 R /XYZ 89 770.89 null]
->> endobj
-5702 0 obj <<
-/D [5699 0 R /XYZ 90 714.099 null]
->> endobj
-5703 0 obj <<
-/D [5699 0 R /XYZ 90 674.892 null]
->> endobj
-5704 0 obj <<
-/D [5699 0 R /XYZ 90 635.684 null]
->> endobj
-5705 0 obj <<
-/D [5699 0 R /XYZ 90 553.973 null]
->> endobj
-5698 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F31 503 0 R /F37 2635 0 R /F11 442 0 R /F97 1185 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5723 0 obj <<
-/Length 2944      
-/Filter /FlateDecode
->>
-stream
-x��Z[w۸~���ӆ:'� 	g�礹m�i�M��!��%�b#�Z��������7Q�r��S_D

3��@��݄Nޜ�����uD'�h����v��$�HO��ǀs5���I�b´�Yf����^������^]��v���0�@�(���g��
�4�$��dg���C��&��~F�,ë�MOb�M	��qMh<�#�99��f[��t�%
�e���fTu�IFB*��o-�`It�]+�#6�Q���7�T��)���T����|���o�z�������L�H2/���(�$�b�	�D��a��$a��c�C�=-U��3s��f<$:��'�e�����(�Y1J���t�Y%�3 ���������qRD�Q��a����)�j� xۧ�������ŒR���3��Y���P�b�aDKi)o�b�v��.�
�߿9�|�	��,�D)ϳ�����:���.������
��X���S]\�ۮo�r�w�{+3��/��ڒ0N�j6n��T���4_4
]_�l>e�#����B�`��ʩ0f¥�E^Շv=
eL��5�&��2��r�DD�w�h��
gli�3z�*	R
���}��Y~w�2e���^Q�Nq�z���
y���6��X$�B����?>
-$�AU/..��.�dmw��X��b��r�m4$��Ʊ�ߏ�
b�sq�_FD�\�|�a��q��
/ ��
Y֧Bt�!A@�u����NM`�1�`�
0ӠB���
-���p:�R�b�D|�L�$[�
��˴��٦Ί|$zQ�� �,��v�*�S��2q��<m�,�җN���ږi�=��B���sGx��t�'ݶ��fC�8�0c�Ȝ�yz`��b�*�\;�e}
L^2��q�q����j��j
9�Y��W��C�Hț$�'��MN
zأu�Ĺ6p��j<�Cț1"��Dcl��N:D� 
*
-.��%�gv0���V/���
;d�q.Zo�t_n�����ў����lBG~�>���ZA�#�WZ�g}�B��Hn���I�Gg1>%R7)���X

��/O1��v���r��/�[Ɨ���Ƿ�o��hܦ݌?���چ�.����.{ �1
�ʍ�B�{�	��B��*��P�Q(k��11��mFM�ٗ)�n'$�Z� ."a$�0"<	q#P
I�����G7����Tm;�±�E��t�}r� i')
-���S� �6��x�H��
-su�
�. y_!�WĿ�\?� =��t;��(�T1�j�G=�=�Z	AJ��?�-
�А�A��tx�G�o�y�G��G�="~�#�1��')�q����@#*<��1��$��� �I&z�`�L�tĦ\��7�
+��揚��U�bt��Ӽ�R|�X�6�o ��{�+ز�qU���OVO�$�࣢
�v?�(�w�EG�5Aďl��/YRK9�i�z�
-� �Ŭׄ�E�kz��:-�Y^���<9 G�C���/�=ύ�:�*-�`�e�$df|�N�5J��O7eZ�y� ��yk�/`����?���e�zX��2�W�Y)ԟ5"��f�T�4C! sGie��EZ�Ʌ
*Q���5�+��H�P
R�<�+��c�"\�
/�N���ۆg[Aoe�:
D�]Ӷ��ꡪ���Z�ja
���#R��n���H�,æ�z�"���,����Ǿ�}1R�B�a�s��Fvo��A�(�R��<����Ub0�|�]��a�'w��^Wi=�-X �}�7���V��x�A"�*:D0D�5$$�������f�eR[։���j
-ʨ�7�
�(�GrV޲�����
*B�9�����
I�(�Zf�g��[���5Ƃua��ݖ�o[�F�����(?[�)��^���j�g�w�^���Ṃ��p���Z�T
(Ӥ2������{�kB���u[��
'�[�W�'v��
B0^`@����L�̘c�q$�t�C������'���P�(���X ÝK�;^�r�$[�U\}��
F�&?��^%��t&��|`�w���	g"��68���ヽ&���� �p[:f�̱)̹�
���6嘧6�A��0@�,�n�z[��Z�F�}6P��g4�Y�ީj�̤����pհ�=>3(7��
|yr���!��Ph�nx��J\�5��4JJ;d��)
/��!���pc��X�EV��<f�jL�7�B��!8�җmv>Tx6Ϝ��D�?�*�&����]e�Ԥ�Ut�T�i���~y���
��yM�}_S3C��#��'G���
-k�q+�
M�`w�0Z-���exu�(�ź@�b�X�s$��Tg(̩~b"2���Ў�)
V+�`�Af���v,�-�r��
�l] ٿL�dzl�
��Q�7q;����[
-Dd�ı)�1|���/���
��g&�~�@A�u32��q/8�*�{!z�q��X�}}��� L�8�"����S�^�
�,H�f��(02n���|�-K
5 3�Owަ,К_�����-�m^�p�>j��-��d��ɿ��jks�L�D�{�m�z�ۖ���_����q�H�X�ŵ&V)�;�!��p�?Rf�E��Q�U�^۽�Yr�3�c)罶�~Ĕ��汸�'|�Aq�٪x�d����]��G�����
q]V�>����
L��M.^Dx/��S�t��(��(B�ɟy�������> -ۣc��#-ohV8`)
	��MPw���b���k���#���tP0U��ɔ��T���/�6x�`�Э���c�#�t䬩����LD{�~�	?�B �"�lo��*�4:ꜹ��s�X���
-G��yP�ÿ�Iep�_��,�=j ��-�x��K�Q�\;_v�
x|k����*-��1�C�ߒ|��H��v�{{b�#��HL<R���n�����պgG�j������7��ݎ�+�ͳMI��
*��}�pC��OMHw}��
צ�#C#��O��
-endstream
-endobj
-5722 0 obj <<
-/Type /Page
-/Contents 5723 0 R
-/Resources 5721 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5692 0 R 5693 0 R 5694 0 R 5695 0 R 5696 0 R 5716 0 R 5717 0 R 5718 0 R 5719 0 R 5720 0 R ]
->> endobj
-5692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 672.07 242.189 682.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae67eb83f2626818420b3201db09e3d58) >>
->> endobj
-5693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 672.07 322.409 682.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-5694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 660.115 155.733 671.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.793 660.115 238.616 671.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.747 660.115 315.303 671.019]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-5716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 621.217 226.034 632.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) >>
->> endobj
-5717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 621.217 388.214 632.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-5718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.572 538.69 357.395 549.594]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.41 354.956 353.665 385.925]
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-5720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5724 0 obj <<
-/D [5722 0 R /XYZ 89 770.89 null]
->> endobj
-5725 0 obj <<
-/D [5722 0 R /XYZ 90 583.827 null]
->> endobj
-5721 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F106 2334 0 R /F41 366 0 R /F97 1185 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F86 594 0 R /F8 537 0 R /F7 538 0 R /F10 504 0 R /F13 578 0 R /F6 593 0 R /F9 615 0 R /F12 675 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5731 0 obj <<
-/Length 2303      
-/Filter /FlateDecode
->>
-stream
-xڽZYs��~ׯ�[�D
a.
��C��l��ƫ<9.H�� ��H�w�� Ā�����
=�__`�=x����WwW7��KX�л[zI�E*a:������&�dʃ �?Mx��*��4�_��lQ����guZooo��ʬN۪�L�����i��S���	����g��LD�
M~���꛻�/W
x��Y{���Ͽ����&��{2D+O		���|�����2~o‹X
y�<b�8g��#��bA��۷�����^���:o���|�|���&�x�ڛ¦2����C
-�ͫ2[�k:�&\��ǟ��d⷏
-^�M��-��Y��V��=D��iӚ&e���Κ����n^Vv�:+���}�v`��ʿ{�4�!�����B���|@fኁA
���"#I?�V�f.6�te[��Xf���~,���\���E��у다'h���v	D���G�Vu�����
��:��fno�)=��fSu��v��+ӵ�@�XӘ�"��!��gk<�*��hH�Y�8L�Z5��P�n�
��{)
O24KS.b&�7��N �<��ua����8y̢ �e�K[�vw�m���m�b�8r�S�
Oy�xT�y
�nh採�f���8,�w�R�H	��v���(;�&����Iܡ�JӒp�5u!�h\���O�YI��:���-�>���Mw���B�ml!�
҆��-��ƶpxV��5��:#�"�VOӢ��O�ʅv�C�o�őz�kZ[��찚-�j�bS�NC�bBh�by Q�bD� �?��A�F�bg+�����첶$
-8�V�8�9xyu�)8��j	��K�a1Ŕ�����
-�%1�t�P"��
�2��p�����;���f�V��7
P	����A��~��*b<q���
gg��l�Tp�b�4?k��)��� �d�]�&
�MNFH�
�1r8y�Lg';;��<��Q�pw*�p�
ȬC�Ms�^
�M�3g��N�∰�\(i��
����;�9_�EZ�I��#!�΁�`r
�� !x(�ǡ�!!�������B� ��l�Tu���q?�Ʊ��+dw��QxR/���a� ,r�@^�/A�K�,�C9x-��wq&`x��
f�>-ړ���	�� ���Y(��i��@
���.�"��0S��u	���զ
5
Stȴ�A�L�`�ڰ:+ہǶ�,��`�a)�<����:�w�qRK�9����^���uDI�B
�72���!�'iӸ��o�I�ؚU���X'�" N)A���"5Ӵ���gs\
Z䫬���-�1zVp���B��q]��EtJY`�H�Ȍ���R1+��
���^��o2�K�I9���M?�*o�y��4��yߝ�4�'@)ԍ
OM��a�2�C:#Bg�MI�&q,
,��yj;LTC�_.d [...]
-9���M���bʉR�Z��;%�9�F1�+��]3{�]P��T��~�8�
C���Cm2���*iH�G`�N�w�)�*c�t�F6�u8��������b�,� �p$u
1"�,V�Y�@��T�Q��ܸ꼩jԲ
�D���kbt�n	�+�0��0��fg2+�z��HW�M�K"[��
�9v(|���Rl�l�)�Xg��y��Gr?�`�}AsMm�l}�^�u7D0t~��Z�]P{����A'
-��-����tPj�����p0RU��˴��A2����a�sS�������u�a`�U��_�S�.��S�c��@��`��E;
�s������)�#
\\ґo=�x�	�[O����?A�s5�5��D`��T��]f`KV��_�9L��}����NZ�/���kk_��8z�}���2��
����%&��ml� ���-
?��מ?s+��xM}�|���(S�s�w������`\"T���
-#l��j�
-���)��-�^�*���_��I��M��<XB�V&����Wr#�M^��2�w����Q[�n�F�]<�nεs���M
c�y�j�!�
��p�CV>��Kj���5�s�6z��|����+
�>�:T��m/�$%�fq���
[g5�~\��`s�?�B/.�п���_��%/X^������N�����z���	Q������c���;�^��d�_&Z�V�?��&-��n�zMo,����B�s�Y&��_���i��<��٪�cۮoon���ؼa�2_�,oo���f߂V�o���ϸVU����UJfgt��\?��
-endstream
-endobj
-5730 0 obj <<
-/Type /Page
-/Contents 5731 0 R
-/Resources 5729 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5728 0 R ]
->> endobj
-5728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5732 0 obj <<
-/D [5730 0 R /XYZ 89 770.89 null]
->> endobj
-5729 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F86 594 0 R /F8 537 0 R /F11 442 0 R /F7 538 0 R /F23 364 0 R /F31 503 0 R /F83 595 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5737 0 obj <<
-/Length 2108      
-/Filter /FlateDecode
->>
-stream
-xڥYm�۶��_�ɗR���
_@]ܙĽ8N
��)�t���GA'���ɗN�{X�"E�N�|�,���b���ʡΛѷ���w!u"<pfK'�N�E��k�|v9��_f?8"��E�2ӯ?��ݼ�����l�ۈ�u2�I(�d3��
u0��C����7D���̹
�sD���AGFC2ᄌ������w�r<�~��k�Hw�u���.$qeW�e�4r�>-��F�$IVT��.o�4�q~
�9u��|�K�6N,�"ݨ�J�
)We�~���s�8G�]e����0K��:��x��J.�,+��w�p��ظ�R3�۸�(�̸
<�;������2���J-�E��Ҝ��+
Z��T�2��
�1�6�6�uWX��s�qV��z�oW�.$'\
z0�D���cFݽ�"u��4��*��#�aՊ�?��4IB�E���Vi�k��
���ݨz],*��
h�Ƕ,4�}�P
�1�����x��4�� ��.}]�F
��ٓ��$O���4_�f�ܸ4Na2�ܴ�"b�� �Z�Z����3;�%�ʚψ���v�^�#�v�!��
�4�T�I��z�ϔ�$Uy]��~n� ����������s}8Ӳ
A����������*\�_���8�V��-�*���N�f�'��,���5�VpVC9�Nk#�y���d<�}�]j�M��� B�&
���
2i���}as�V�Ki�(�6�ɣ|KIQ��4�kU!wٵ�67g� :��uGLX����
N iKH��
� �"�S\<H6��!�
OX�S=8��p���0F;�A���;.�d�C摈��(
�
��
�3���66h
A�����d �<P頍B�j���.w�u#ƫ�o�5�E?��x�Z �0��j}���(�`�C����|,�`	�{�%`���r��I�$�H��p��@�(�p;�s���$��!�^
��3�]v�c�Ĵd�H�^
}���I��r��d~�8���;�ODlp>b{�ɀ�{K.)�&�c`��_ťK,���W��U�p�*V�����z�YR�l���8~�s���bS;٧Y�������J�
6q9���-�4�!?U(.�Q
�V s,9�|�+A[S��[�C���	���eώ�aŵ�xu�
��62� �c\4I��
��iT��������2��H0�[7��
-�!t��)�GB?<W�C?[r�����}ZeO��|E���Em;��@�?����;!��*u9ȏMb��=��w _="�qeʸ�G*Ԛ��+[S/��n��K^s���\�Ϋ��ڇ
QF!Oc�#���(��Uޙ��
l$=�A�A��.����oQ4�[�j{k��~��̾;��:N�#
��nWow����T.��h��
 �{щ�=�N�3淏S^��6�o3TP ��z!�d
&G�0
-ސ����\�n�
v�������IFB�S �5q˿�JcEF�=��k���`��m���1[��VD������]�&W��U�W�|�}
=�V-v�D��uX<Dݲ��\��
-1OB&;O¡��(��
M�5
����O
-�(X<:�Yd�*����QK�̄dմ
-J�C��K�ib:*���o�1�n����[��Xh)�nk�)6
l��k���(�
al���>bP+�?��]Ӳ��w�gmk��/���53\J
�
=^�Yn
-8�֏�q�������
�jQ��w�]��i��6���
����<p@�;
�~_�mܜ�P�����$x$}�J�	#ܴi�o�y���͹���
a��DŽo
h[v�Ǻ��X�F�B��7㐺�9'�������Ɓ�>!�e����������恻��gʃ���A�=��~����O7�'�� <S�N�+"� W�[W@�i
�I����K-��I��P��	�ތ��M4�6�NDR�.�oNvzϯ�+|�
���ߊ�_�Û��@
��
��#��R��Ft�����O�*���~֮?��δ�m���MM�@�7�$��|������i~�+���24Y�i���vzu���IR�]�nK��W�mv5J�
���e�������M�
8��؀��
-endstream
-endobj
-5736 0 obj <<
-/Type /Page
-/Contents 5737 0 R
-/Resources 5735 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5733 0 R 5734 0 R ]
->> endobj
-5733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 74.333 340.976 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-5734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5738 0 obj <<
-/D [5736 0 R /XYZ 89 770.89 null]
->> endobj
-5739 0 obj <<
-/D [5736 0 R /XYZ 90 292.906 null]
->> endobj
-5595 0 obj <<
-/D [5736 0 R /XYZ 90 269.647 null]
->> endobj
-5740 0 obj <<
-/D [5736 0 R /XYZ 90 269.647 null]
->> endobj
-5596 0 obj <<
-/D [5736 0 R /XYZ 107.713 162.364 null]
->> endobj
-5597 0 obj <<
-/D [5736 0 R /XYZ 107.713 144.319 null]
->> endobj
-5598 0 obj <<
-/D [5736 0 R /XYZ 107.713 126.275 null]
->> endobj
-5599 0 obj <<
-/D [5736 0 R /XYZ 107.713 108.23 null]
->> endobj
-5735 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F8 537 0 R /F11 442 0 R /F7 538 0 R /F10 504 0 R /F13 578 0 R /F79 502 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5757 0 obj <<
-/Length 1361      
-/Filter /FlateDecode
->>
-stream
-x��X�o�6~�_��Nj��%�K�$@�Y�=����t,̖<I����;��,۲� �t}2E�ǻ�"v

�\
��
F�>vBJ*���b��!��νK0����{��F�2�\{���i��y4��|ɣ�i<�R�ʣ2˽!�}����o�L�
	\��
-̱��.���p�apq7�s@�!��@~�����v�0�������1���
~���DH+T�I-�����u�I�ڧ_�x�Ti�)p�)G��;��L텽HReG���q��}�/�|r�me�(�f�7z��%�k�OC!���m�]�"G
-� �#�
�Z�֫�T{��J��a��oB����Bėΐ����F��<��Z��~����N�\�5��4��#셵���
���`H(�.�HRa���G���:�
芲��?V5us5p�͂m��2[:����:�����|c�U��f�:�fb/�C�����
-Iż�o�Zi�=_k
��B��Ё)Q�S���8I=�ݯ�"�N��є��/;؇ ~S,w�<�p7�N��������`�-�G@)[vb�
A)t�
�)�/�T]� W\p���8˓�$mv�}��#
�3���b�
-u�gH%C�
(r(vBw	N�	�GO��o�"�3~C��gѻ	�<vS�Ex���>���1����Mo���_�f
��]eIZ�a�"�������� c���>�P�
~��w���r<�K��t�
v��9����Z�1��	M�mA����3�4N #�2����
 n���ފ��pO;��>=-�M��.��Pf�X�� I��W2
-GR̪f���e]?0���X�S���Q�	������	c$�G�+p������
-�Z�ՠ����찰����$_���5�뱮E}Ho��h�6+[g�wY9� �$�y"�Ď�(�Ģ/W�H��QnZ
s3�
�����^pBw�@/���) ���֋�N|ոE��*z
-��h'-��36��6Ӷ��vF�~$8��w3
��)C۲-��AW��V�=,N���·�1�Z��X��	�GI���c̍Y��]~R�2=ݢ�~<r�կ�u��`�~
��)e�T�<���gY&��z�Hb��v�σWD	`ӰOuF{�
R_��r�V��0�g
��Зg	���3U�|E��L�/�Ƀ�F���Ȥx�LVMΗKq�\�dr�����W�d�j�_�
-	вs�\�U+�Cꋃ��j広��U�t�=�W��c}g\b��c��{��<!ܪo|�ҵIeu�b�ɷw*Z��� P
H�RU�6�?�z���T��_���Fn�e��F���Z��*GI9Z��C�oY!
m�ff���2��\����\$��74���
-endstream
-endobj
-5756 0 obj <<
-/Type /Page
-/Contents 5757 0 R
-/Resources 5755 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5742 0 R 5743 0 R 5744 0 R 5745 0 R 5746 0 R 5747 0 R 5763 0 R 5748 0 R 5749 0 R 5750 0 R 5751 0 R 5765 0 R 5752 0 R 5753 0 R 5754 0 R ]
->> endobj
-5742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 624.01 188.38 634.914]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.878 624.01 371.262 634.914]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) >>
->> endobj
-5744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 480.429 188.38 491.333]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.878 480.429 369.041 491.333]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) >>
->> endobj
-5746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.867 324.894 187.69 335.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.843 324.894 513.996 335.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 313.312 99.295 323.842]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) >>
->> endobj
-5748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 295.314 422.655 306.218]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-5749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 295.314 511.506 306.218]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-5750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.861 115.868 187.683 126.772]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.833 115.868 513.996 126.772]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 104.286 138.836 114.817]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) >>
->> endobj
-5752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 86.288 422.655 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-5753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 86.288 511.506 97.192]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-5754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5758 0 obj <<
-/D [5756 0 R /XYZ 89 770.89 null]
->> endobj
-5759 0 obj <<
-/D [5756 0 R /XYZ 90 721.073 null]
->> endobj
-5648 0 obj <<
-/D [5756 0 R /XYZ 90 704.266 null]
->> endobj
-5760 0 obj <<
-/D [5756 0 R /XYZ 90 704.266 null]
->> endobj
-5649 0 obj <<
-/D [5756 0 R /XYZ 90 572.906 null]
->> endobj
-5761 0 obj <<
-/D [5756 0 R /XYZ 90 558.648 null]
->> endobj
-5650 0 obj <<
-/D [5756 0 R /XYZ 90 429.326 null]
->> endobj
-5762 0 obj <<
-/D [5756 0 R /XYZ 90 415.067 null]
->> endobj
-5651 0 obj <<
-/D [5756 0 R /XYZ 90 232.38 null]
->> endobj
-5764 0 obj <<
-/D [5756 0 R /XYZ 90 218.121 null]
->> endobj
-5755 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5772 0 obj <<
-/Length 1438      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W�R3$4��i�i�&n���d<�ɘR�BR��_��iR�b%ufz�HX�����$�^�~���g1$�"�|H
�L".�n\�����	"R�*;�����7�
�l�r>�4"���(N��ft�K~
`De��M�"
-�Yp1�s��/��O�D� &
EX:^�.Զ�E^Y�L�� 	�a����U�r6�����&���*-׻��������#5Y�_��8��>O"�C�2K�����E��y[�	=�	bB6t�L}Ve���n "̏�	ÈḒ"EQ����/
-�z�q���U]���f�d��*�$	�J��|�`C���1�aZnҫ�q��"��V�2��],��n6{�rU�uQC
�<X�(`:!�˝S�1��eVu�1S.�>.
��m>o�hm�4&�ˏ����:�@����y�s�a �B!�"�L'�[�Nջ2� �ת�M�
��A��bo�)�q�ē��̀(�FP��}ؘU�I�O}�����,dk
T�Aeq��HA>���/<�߃g�Ɔg���c�
޺�A\�@⾒�`��R�%���.UZY���w��#��.��â��m��.5\A��0����
��	�&����4�(�)y��f� ��^�r��Q�r��ݫQpi���d;��0nբr��A��`B���W3�jƿJ͖�L�ѕ��,6�e�昲
� �'hO
�5���q�u�($��8A�c� ����)�4k�S��-t+o�'���v��L��]�]�l��(����#�y�ɉ��H|��'R
";�{ �#�|7��/Ô?��'?I��c�e�A/{ [...]
-��1�.ˬvΒa�#1܊��]���P�B%
����VŦ�r@�/!⁄�ћ���aQQ�X�*N]���U��Ւ{��<��Bqs躩x�V���~�y(��A���NiS�k#7��b���
�UÁ��%��_r-��pש����)���2�a����l��[��>��ɧ �,8+��[�
~j�{������._Զ�0w�
+u�
2����!�d�>"~+�EU��4�83�|�l��
� ]Ƞm$����� �2I:���v`
 ���Y\
��P4m����
��ڥ��M�
S����AvwJ�a�a@L
���e��l�y��I�x����� ���y�nY=�V�
-m�Cʰڧ[we����5�)���a�M�표�0ЀU�#hD9"�vkЫc at J(5��L�'�Ӽ�>�[���s|VC�mD����\� =��� ���
��w8gLSy�w����I
�a6$
����?^��C��6��[����R��j�\����%�\��1�TY�Z��E
-�GP
J�H]x���o#�ʎӦ��m.��z;�N��=ZTh��m�t=�n��æ�c�0t�
b�Tئh�\�0��b� �AG�
-endstream
-endobj
-5771 0 obj <<
-/Type /Page
-/Contents 5772 0 R
-/Resources 5770 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5706 0 R
-/Annots [ 5767 0 R 5768 0 R 5769 0 R ]
->> endobj
-5767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 517.35 340.976 528.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) >>
->> endobj
-5768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 361.791 340.976 372.695]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) >>
->> endobj
-5769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5773 0 obj <<
-/D [5771 0 R /XYZ 89 770.89 null]
->> endobj
-5600 0 obj <<
-/D [5771 0 R /XYZ 90 683.982 null]
->> endobj
-5774 0 obj <<
-/D [5771 0 R /XYZ 90 669.721 null]
->> endobj
-5601 0 obj <<
-/D [5771 0 R /XYZ 90 518.346 null]
->> endobj
-5775 0 obj <<
-/D [5771 0 R /XYZ 90 504.086 null]
->> endobj
-5647 0 obj <<
-/D [5771 0 R /XYZ 90 362.787 null]
->> endobj
-5776 0 obj <<
-/D [5771 0 R /XYZ 90 348.527 null]
->> endobj
-5777 0 obj <<
-/D [5771 0 R /XYZ 90 245.09 null]
->> endobj
-5707 0 obj <<
-/D [5771 0 R /XYZ 90 222.778 null]
->> endobj
-5778 0 obj <<
-/D [5771 0 R /XYZ 90 222.778 null]
->> endobj
-5708 0 obj <<
-/D [5771 0 R /XYZ 90 161.143 null]
->> endobj
-5779 0 obj <<
-/D [5771 0 R /XYZ 90 146.882 null]
->> endobj
-5709 0 obj <<
-/D [5771 0 R /XYZ 90 75.329 null]
->> endobj
-5770 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F23 364 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5785 0 obj <<
-/Length 1641      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�/-X���L�mnh�n�>%�AK+�E*$G��
)��d9i�$��^���̙Y{W
���~���O�E(�Tz��a/�f
�O0�l<!c�|L����|L����k�(⋿��".�
<S�*�*/�*��(���_��*�$�U6W �E4�)#㷳�'�����G��7_�^�����{�(�n̦��)���{5�g���B"�e
-�6�2�S�]��j?|h�o���<++;���Vz�d�΢�#
Q�Ĝ�����Q�z��x"@�;�FHrV��
b}c6�
��[��)!mt}]�4����*dk���$ބ�>�RU�"+�񴵟��C^K���J%��D�����E#K�v��?Bp��9�#?D\��x�@�~����?�?q�2��*8CR�������@ &$"�s�Aă
�A��9��0�
B�}�����p�G���b��d�@��Z�u\�H�
`̨��/GJF���Ze�
-H���?G���� E����RAE�?�L���̫$M2���b�*Pl���n����Z��钥/6�K(@�zPx�G͛0F!o(�4�P��Zv���������9u}L�ہ#	�Ō�b�h6
�!��"0�l��
�T�N��t�
 0��V�>����Lo��� 	p@'$/�M�H����I1t�d����d�m O��?�"������>�(_�7�r�P]+;(v������������R�|;�TՍR� �P�� ����
�	����!*
-;T�#�_@>$ �
7_m�i�Pqv7눌�dF>b^pg�0�2<f�s0�*
-�L�0=��U/�Lӳ#�q�0�=b�ꁸ�4�ڐ
3�#DW,��z�1��򚅑_B
+�?
#�^��dWI�rg}R��l���<F�
�
7�9�P�@$��¡& ��a����;�W�I��e��C2�L�]����&)��
-]`��	��@F$��~���F�Ѧ;q�S��<ѡR����q ��(�#���S�k�C�d��K�� ��\6j�v%.�
@G�̋�VKO7%P�
�ާH��T�����W�vtR���W�;Fu���8Ħj
�U퉫-� FxF纚���*:�;��~X	���޺�mp]����^�3k=Ӎ[Њ@ah�k�;�)m���bQ�9M"!P��w ��~j�Դ`����_���
ZA��
o�
���!������<��Mwd%��tYo)⭓[�hN-φ�  �X/�G�v�a�d�.
�N
Z@�����+"zyO�_��y��{D�WLN�#�1�fz�q�
��^/����z=:��1\��B��[�5�z���53���N'{⸞ޕ������
r=%�%*
ڷ��n+�
cz�
��|�eL�����c�V�������jC�K���*��z~����δ�ӌ��t�%�o���
ߢxCN���]��cD�i�
�}I��>����y�����
��{�s$8 [...]
-!��5�*/��I���˞��#Ժ�
-endstream
-endobj
-5784 0 obj <<
-/Type /Page
-/Contents 5785 0 R
-/Resources 5783 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5782 0 R ]
->> endobj
-5782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5786 0 obj <<
-/D [5784 0 R /XYZ 89 770.89 null]
->> endobj
-5787 0 obj <<
-/D [5784 0 R /XYZ 90 721.073 null]
->> endobj
-5710 0 obj <<
-/D [5784 0 R /XYZ 90 666.98 null]
->> endobj
-5788 0 obj <<
-/D [5784 0 R /XYZ 90 653.134 null]
->> endobj
-5711 0 obj <<
-/D [5784 0 R /XYZ 90 593.536 null]
->> endobj
-5789 0 obj <<
-/D [5784 0 R /XYZ 90 579.689 null]
->> endobj
-5712 0 obj <<
-/D [5784 0 R /XYZ 90 77.486 null]
->> endobj
-5783 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5794 0 obj <<
-/Length 1725      
-/Filter /FlateDecode
->>
-stream
-x��Zێ�6}�W評��˫H5A�674m�i�>%�Bksw�Ȓ#����w(Q��
�E[t�DR�p�3s�6��=콞�8�����
Q���_y!�$������������
-�0����翝�_��ߙw�����	�W�#� ��������[��#*ﶚ��8e�L�w��'x�.� B�5	F�!���`��R��ITj���+��}�8,�e��3
���̈́�n��h��3��?���٦G�'� |lJ6�0a1�
-�~de0C
-�̸̲���O������8�Q~���2J�"*��:��0#!F!�'A���X��7z�iJ����ե��v��s�q�h�o���TH���R��V���)�~�ċ��m�����6���
-��)��B�!
))�	�� O-����4j�k��<*��t��:
-��Ͼ���Q�����)k�0��L�-���_Y at R5b�F׭3�]Wb��l�.����E��ɔ1�zy���iZ��.�w�
�
��G����q��A8�o�'�
yEQ�7
�
���}�
-?֟������#g
|#���l�ޔ�0�	`v��F�A@=`�;��_��&**ݪ�&�ޥ.o�N�m�ocH���R!
��t9"��p� b
!�3 �v�Ӄ@
�'����OW {�
7
�p3�Yfz�-#�!L�>Ӡ�u8��4	9�����
����1M���	�$����>��<���2��Pf��K�L�lL);F� ��f7��䀃�"gLB0�A
)�
�6l�i��DC��D6ӯ���� �@����m\h+!A6T��CMn �� 1�h�f��l��m~k������f��X�`�8g[��`"��a���n���$�b�*�+��>Qnu^��*�W�Z��}`�!:Y
�wu�˔
-�>�.=��eCm��n�>�Լ�]!☜�
�nkC�=m�� �~%�Ȁ+𑍑�&���\�)��ܣ�U}���q��Kj��>�H�6"�4�p~o�ZL��6�
�_7��.Z�w�W�uhP��aK�*��E�w�SC
��Lɣ;+�1�Z��w&�0�]؛���}
�%)�3B
R(y@��K��x*�nv. 7;j���r%\rnD��"��:J�h9���SpJ�h���S���5�d!"�!
��v1'
r���$r?1'�bu
-1���yF��>7���"P	BNOa�{�#(����Qn�
���2���(�R�Uz/�$
ҍ
E<�?�W� D凈�:�Hȓ�%ƀK�e
�XRsb�
�F�0��
�S�
���\���|�1
��1;B*h5J�h%�����]cȐ��Pň�*C+M����[�U�vs?
 F�<9�NV>��T7��PL��8�b�]3�����ߣ��G1�"�iF*Ba=�i��b��K%�!c�y��Z��*l�|$1(l�QNŞO��
�J���,%T��֔�)�Xy�@6�T��J
�ȜDNe�ĒLv*ɤ�$�
I�z�[b�����8
���Xt'�]��J
o��Q{?L����������pA
���#O0�.�t�?���D��cL��2��/�����
�������
�9�;���
`)�H2U��� �͝2|��[sΈ�Ud�Yrw�����_v~�����S E�K�&J�_�Q:/�X�� ���
w��;�
-j�>yM��I��=�����,�ߝ���ޢE�6i��Q\������a�'�p$[!W�o�����85�X���䋂
-endstream
-endobj
-5793 0 obj <<
-/Type /Page
-/Contents 5794 0 R
-/Resources 5792 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5791 0 R ]
->> endobj
-5791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5795 0 obj <<
-/D [5793 0 R /XYZ 89 770.89 null]
->> endobj
-5796 0 obj <<
-/D [5793 0 R /XYZ 90 721.073 null]
->> endobj
-5713 0 obj <<
-/D [5793 0 R /XYZ 90 499.76 null]
->> endobj
-5797 0 obj <<
-/D [5793 0 R /XYZ 90 483.292 null]
->> endobj
-5714 0 obj <<
-/D [5793 0 R /XYZ 90 254.471 null]
->> endobj
-5798 0 obj <<
-/D [5793 0 R /XYZ 90 238.003 null]
->> endobj
-5792 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5802 0 obj <<
-/Length 1672      
-/Filter /FlateDecode
->>
-stream
-x���r�F��S+f�z�Z)�d��m��7q���G�u�	HTq����]		ր]?����G�~|h�j����䥦AB��G��e��@˄�n��C�(�b<a���t�h�����t�iX��WfV��o��2-׏�2�)Ӻ(��h�l�V�=�3��
�84�� :��$�B�?��
�8�5b�
�e@
����'�������u�$�9ޏ�Q'
�Q�8!��@3I8M�\o��4���N^������	|R%�;ϳ�N��)���Kz/��(��5��|m�����hf>R�s3�x/L}mL�~nU��Wi�!�
�E�וO��I�~x>��j�d<`���L�o�d��z���=�'
-4�H����2�W�#��D�V�|�s��ԫ�$}�FE	Mx0���#�$�k�X���Qd�oc	ҩ�'M��[�z�4y�@�h
��

�
-^�>� �-�EQ�-��y�7F�������9�C�9���Ϯ��
����]-. Dvy�L%�>ц\Xi�:A�
���ŷ�䳎h��t�� lMh!R
�
: a{q
Rz�k�<O"��i�W�� P?���K$eV�<Dd?����K��'G���(�
��|��ϟg��T$H":��2�� �

xk1�!T�;�?��h�����%�,�H`TK�³b�\���q}e�����M�8D�Gq0�O��C�|����,�A��c���q7Ci
-2�-�p�DF�B�� a�a�e��tH��.�l�� �p|�z	�V������rwu1�A ����
uq�h��"6q�� A�x�� 	�d�+x�BEag�wi��*L�˲��-�:+r�Uqi��j{��V�x�A�\o��B�t�<U
���妺\�j
T��uX�Xǐ
K��̈́%l�H�V�N��Wy�U��b�]���ٕ�
�!fj5�W�h��aK�������L3�[ӧ`$�=p
-�(�N�:���[1ġ)�eܩ��9T3HҘ��*����4%44
d
��
-2�=~
sp�2K/�ƽ��'6 �tTX�#�U�B
���qL�O�Hv��ĕ��
��7N�
��
-���!6~��d��
6\��!�'����M1�kO���=��EO
��7]0&�PF
��C��2"d�UF�I�2���Ș��>q��[�5n�����JB9���D��]\�K	N`I�PJ
J�
�+�
�_���wد��ۍ�ƛ��\��[�0�G�����`��
�
�6����ы�cN��p���c�[�`xB���/`@I���F���p<X�2?�(�n�����LR"�
]���~�
-	���L�J.`���B�f�o<�k�����ԋ%� ��/cq��}#�{��A�7���0

�w?� ���y?������bG��a�����:W��\�ĆsE�j�x�ꆊ�X�w����
���I
=���X��n�b����69iSv�9v��T�)��(����޷�&�8�����y��)#��
��\p��+���]ۿث�ρ��Y��DZR�c��4_�.2�����LYuI�#
���
ߛֹ�d_���ۨQ�_kh@:g����㓓��k2��*ϖ%���r~��=,L�!�l�2�(ڴ��5��������n
-endstream
-endobj
-5801 0 obj <<
-/Type /Page
-/Contents 5802 0 R
-/Resources 5800 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5799 0 R ]
->> endobj
-5799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5803 0 obj <<
-/D [5801 0 R /XYZ 89 770.89 null]
->> endobj
-5715 0 obj <<
-/D [5801 0 R /XYZ 90 677.721 null]
->> endobj
-5804 0 obj <<
-/D [5801 0 R /XYZ 90 663.805 null]
->> endobj
-5726 0 obj <<
-/D [5801 0 R /XYZ 90 310.039 null]
->> endobj
-5805 0 obj <<
-/D [5801 0 R /XYZ 90 296.123 null]
->> endobj
-5727 0 obj <<
-/D [5801 0 R /XYZ 90 77.486 null]
->> endobj
-5800 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5826 0 obj <<
-/Length 1426      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W(�@��
�!-����4���4���R�JR6��
r/$%Z�;ȓHjwv�̙�3���������hz�a+@�K]k~m�� q�b�rL�c�����#�0�������ۏ����������E��<ߊ֣˯؊��;
#��m3hm9��oj]��
᣾��k�(C���1
�U<��eU���pmOh�O�O�EX�E���l�v	��\���K9��6��z���]�I��;�#���\�g���/�K�8ʳ��V�D&�����waOlyp9B�S�^5�
E���
�f�Θ	���& z��
}Y�4�D�UN�nw�����C&j§m�����
�c���u�ԑ��+!G�y�]��
-�$��k��<T���OQ����&x
����K�jf���T���inS>�M����c��YCaMB���a���
�B)�p�f���ʠ-Q�
0�
s���寣����X���6���J�E�x�\a���
��j;o����k!��Eb 6 4��k���ʎ����]^�Hm���4�R��%ɢt����
y�!��[
i�����0�|���C�
<��gҟ�JI��|�����I&B
� -�1ͧ��
--p�R)�yC�{W;+�xq�.��`�<@�7�p�)���P�1G�?a�!�:�����6<�=�&h���D�iy�F� �ecd�vX>8�:

���p����+%���JkE^'֍Po���먘��.S`ȣ>�� ��S�y{�&���A�����,���P{w@=�l
�Qj)���K����V��C\��T�z�b���J �U�a�$�U��*<b��vO�;��hoA�@Ο
;y4%�15d�d�M�+���@k�αTT����
�Va���.���]�7��k= G�������
�':��
�~�x
1u�,�'n�
-�y�8��
Б����&��맧Pw�f��u;%.�'L}f�X?�Ԁ�Aa��4O
yr�
'��w{nb�G�_�e���j���[	�QdT��	8R����.��9��m�H,�̣4l��[��\T�"���v�ޙf���)JՑ�s^k���z����s;�f� ��^�
*4%���5�y�W�T��i_����/���I
����t鑦{��2t�h;||�,
N98c�L���=�i>:��cI��_�
���$Y)��'+w\�|վiP��DizD��<���h�\�����AV?���9r�����g�T
",M�fVͶmG�]"��L
Ʉ�Eܧ��]
w�+���	�<�Bs��9�
�
�&�K
��W�
�W�!˗ ���Dj�l����MmJm*aD�5ϐlB.�>=������_���8�{P�R
�UUmf����-�J�͒M��j�٤�ö�c�8�3F�m�:/��)|\77ZA��jDC
-endstream
-endobj
-5825 0 obj <<
-/Type /Page
-/Contents 5826 0 R
-/Resources 5824 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5806 0 R 5807 0 R 5808 0 R 5809 0 R 5810 0 R 5811 0 R 5812 0 R 5813 0 R 5814 0 R 5815 0 R 5816 0 R 5817 0 R 5818 0 R 5819 0 R 5820 0 R 5821 0 R 5823 0 R ]
->> endobj
-5806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 499.02 350.381 509.924]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-5807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 444.799 192.544 454.726]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 362.63 190.054 373.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a605b7611d045e0ea0ff47c2ec36c2268) >>
->> endobj
-5809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 323.592 190.054 334.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9db5a39fe27d6c659e9c6ce626e83dfa) >>
->> endobj
-5810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.391 323.592 259.214 334.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 284.555 190.054 295.459]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) >>
->> endobj
-5812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.391 284.555 293.535 295.459]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 245.518 197.803 256.422]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433) >>
->> endobj
-5814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 206.481 190.054 217.384]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.794 206.481 241.6 217.384]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1) >>
->> endobj
-5816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.937 206.481 345.081 217.384]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 167.443 179.554 178.347]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 167.443 250.666 178.347]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) >>
->> endobj
-5819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 128.78 155.265 139.31]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d) >>
->> endobj
-5820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 89.369 158.044 100.273]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) >>
->> endobj
-5821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 89.369 227.204 100.273]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5827 0 obj <<
-/D [5825 0 R /XYZ 89 770.89 null]
->> endobj
-5828 0 obj <<
-/D [5825 0 R /XYZ 90 721.073 null]
->> endobj
-1402 0 obj <<
-/D [5825 0 R /XYZ 90 603.612 null]
->> endobj
-226 0 obj <<
-/D [5825 0 R /XYZ 90 596.897 null]
->> endobj
-5829 0 obj <<
-/D [5825 0 R /XYZ 90 462.888 null]
->> endobj
-5830 0 obj <<
-/D [5825 0 R /XYZ 90 381.695 null]
->> endobj
-5831 0 obj <<
-/D [5825 0 R /XYZ 90 381.695 null]
->> endobj
-5832 0 obj <<
-/D [5825 0 R /XYZ 90 342.777 null]
->> endobj
-5833 0 obj <<
-/D [5825 0 R /XYZ 90 303.74 null]
->> endobj
-5834 0 obj <<
-/D [5825 0 R /XYZ 90 264.703 null]
->> endobj
-5835 0 obj <<
-/D [5825 0 R /XYZ 90 225.665 null]
->> endobj
-5836 0 obj <<
-/D [5825 0 R /XYZ 90 186.628 null]
->> endobj
-5837 0 obj <<
-/D [5825 0 R /XYZ 90 147.591 null]
->> endobj
-5838 0 obj <<
-/D [5825 0 R /XYZ 90 108.553 null]
->> endobj
-5824 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5867 0 obj <<
-/Length 1588      
-/Filter /FlateDecode
->>
-stream
-x��YIs�6��W�R3
5�6Sg�M�؝
��� �n%�(ʯ�R�)��Hv����m �n-l�
�q3�����s<�fn����1�f�'�`����WC�m^�|r5t��'�;1+��}<-y��_�L������JV"
�
��W	�R?��(�$�E	E����P6�r�v������E4
����O_�5��o-�hX�zRj��gb]�
`#Ҿg-*�6D%�C.
,/

���
G3�,�>��>���|Wܕ��͏�
%�H�j��T��3
?�5噬��5O0Dh���*�
y�c����Ys�QT�2�j��e�o̦ʀN=�*BO�&I��fR<�
�l�y�����W���� 4g�Ƙv0�"-w�<��
7��r��U0SHf+4�w�:��VޖiG�9ȧ��^n����$�4v��<���8{"S��GA�b?Wj�Z�Vg;�YE
gU��*��]�k�� ,�h]W�C�!��?C�#�B
� q����FYnx�����%����2�B�k�+�Է;t�`1�@����\V#�2�
� 8�j�8�6�W@=!N�r�
��B�Dj�s(����;�����ʢ_esu8N�
�B�q����1�*3�k|�ɫX*����[���F�2���l�gV߿% �_ޕ]xa?d5�#Q�
��a�i�g���ׯ޼�C��B?��*Pwn��Q
-
-�����HK�H�RH��Z��z�eU
-n���,ޡNy�����,�<��$�(9���*�3�+���,"\D<�J�*4;A"�GG��Te�}j`E�o7̋u�V2z��S�i
��/;ve�uM���b
�*+'C��I�g�~w��#��
�R��{^]f�i(".��xߡ[
��"x���4%7L���"3�e���P^�ʭ�Xo��Ɖ��}'�A����3 (E��PhcC�?A�Qmr11���
���f{���1���ӎ���Վ�E	)���.1��V�9Od'�p�v�u{��u#��
aBk'�g�"���D�?ĤZ��*��*�L��8�LW*�=Q��Uy֜��
m9�;�U�����Bͼ�3�E,fͪΈ��b��+&� �Ok��ߡ
�~�?��)ϸj���A��I �
x�[89�Cc�,��>#�[�]m�;;��b���j�}��Ew��9M��їqu�A�@�n�ꪴ
�
�sf="�A�X#Z
�5�\
i^-�I3� ҩ(��r�E*�o{��9�>&Vݲ��(�z�^���Tdv="J���D<�vuop8�l
�
S��\
�1g�b��<I�y�4fwP�$�I�?Q�y���Y\�<Q1�
��RߵA�.Q�w�s�"�ySvzE�Xu���8{nUl��>X���$~�2W~=Yd��a`�3ht_���^T�
ˍk;��� wu_�^=���c�n�j�껇N���{A��Gz/����"����t}�Bs����f�L�ym�7�����/�HQ��:!��<[4���"%�ulĈ�(�M�t-�ђ}���;eMg�_���ƹ��b|q�\.Q$@�(Q\]Erq?�mP0�-�yn2 Tom�Ӻ�ݶ����E�
-endstream
-endobj
-5866 0 obj <<
-/Type /Page
-/Contents 5867 0 R
-/Resources 5865 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5822 0 R 5839 0 R 5840 0 R 5841 0 R 5842 0 R 5843 0 R 5844 0 R 5845 0 R 5846 0 R 5847 0 R 5848 0 R 5849 0 R 5850 0 R 5851 0 R 5852 0 R 5853 0 R 5854 0 R 5855 0 R 5856 0 R 5857 0 R 5858 0 R 5859 0 R 5860 0 R 5861 0 R 5862 0 R 5863 0 R 5864 0 R ]
->> endobj
-5822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 695.427 161.013 706.331]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) >>
->> endobj
-5839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 657.415 195.165 668.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) >>
->> endobj
-5840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.442 643.216 226.112 653.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.148 632.257 227.817 642.162]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 608.818 187.563 619.348]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) >>
->> endobj
-5843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 594.245 271.151 604.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
->> endobj
-5844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 570.806 150.493 581.337]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) >>
->> endobj
-5845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 532.421 181.845 543.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) >>
->> endobj
-5846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 494.409 181.845 505.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 456.397 154.727 467.301]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) >>
->> endobj
-5848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 418.759 176.505 429.289]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) >>
->> endobj
-5849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 404.186 450.955 414.091]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 369.415 191.718 380.319]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 369.415 288.852 380.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe) >>
->> endobj
-5852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 331.403 191.718 342.307]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 331.403 303.079 342.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) >>
->> endobj
-5854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 293.391 156.281 304.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a02e5a05e31a64af8bb2652645f74190d) >>
->> endobj
-5855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 293.391 236.24 304.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 213.85 203.075 224.754]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-5857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 213.85 296.324 224.754]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) >>
->> endobj
-5858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 199.651 345.599 209.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 176.212 194.297 186.742]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) >>
->> endobj
-5860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 138.2 188.759 148.731]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) >>
->> endobj
-5861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 99.815 237.097 110.719]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.836 99.815 309.903 110.719]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) >>
->> endobj
-5863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 85.615 398.006 95.521]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
->> endobj
-5864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5868 0 obj <<
-/D [5866 0 R /XYZ 89 770.89 null]
->> endobj
-5869 0 obj <<
-/D [5866 0 R /XYZ 90 714.099 null]
->> endobj
-5870 0 obj <<
-/D [5866 0 R /XYZ 90 676.087 null]
->> endobj
-5871 0 obj <<
-/D [5866 0 R /XYZ 90 627.116 null]
->> endobj
-5872 0 obj <<
-/D [5866 0 R /XYZ 90 551.093 null]
->> endobj
-5873 0 obj <<
-/D [5866 0 R /XYZ 90 513.081 null]
->> endobj
-5874 0 obj <<
-/D [5866 0 R /XYZ 90 475.069 null]
->> endobj
-5875 0 obj <<
-/D [5866 0 R /XYZ 90 388.087 null]
->> endobj
-5876 0 obj <<
-/D [5866 0 R /XYZ 90 350.075 null]
->> endobj
-5877 0 obj <<
-/D [5866 0 R /XYZ 90 312.063 null]
->> endobj
-5878 0 obj <<
-/D [5866 0 R /XYZ 90 232.403 null]
->> endobj
-5879 0 obj <<
-/D [5866 0 R /XYZ 90 232.403 null]
->> endobj
-5880 0 obj <<
-/D [5866 0 R /XYZ 90 194.51 null]
->> endobj
-5881 0 obj <<
-/D [5866 0 R /XYZ 90 156.499 null]
->> endobj
-5882 0 obj <<
-/D [5866 0 R /XYZ 90 118.487 null]
->> endobj
-5865 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5895 0 obj <<
-/Length 2401      
-/Filter /FlateDecode
->>
-stream
-xڵY[w�
~���S�i=4/�:y�n69I�M�vۇM�
yD{�j�����������i�y�
���
<�}{��ۋ�ob�,�d���{)�� eao��ї*Z�|������4�U����o߽�����w���0�=AB'�fw��g�����ǙJ��L�y�T�,����^����=?�2�t�Zː��
�MW�U�\}F�u�[ˀ� �u?񐿯;M
�mֹ�nmg��FU��������n/��9�S�
T*v?)�餏�s��������H�vڭy��`�p��M��

�0
Qp���
_}5�pf�4I�\4ǂ*�%56p��^���t��vz7?����
kP/N�ԋTo�&, g�E �$%8t��u�a%BߘB�E�/
~-%�i<�����~]Iد�_>�H��oW@���0�h���?��4��ӏu���y�}�sq�d����k�5�x�<�
��=�&���Z�4
�gon��|�S��"V����������-xcXHƓ؁� �}$�Dp
-�Ù���8������D���R�Pg�'�j-8��k�eE���׺�4�
���
���%��v}O�gՖ��JH�Me'���7�t2d$jlʬmO�8+���e��wI
��r�lw(���&)��
zly at 1J��4-�$}�9v�r
��g~\�!U�F
���&{�f��kp�_��_����U956e�
�þ.`�
����VW4TT�n��z�e�Iܰ�;1�
�)*�~��6��L����5ʼ�
-c���e]�����v�
ZSٔ!5�R�2�e麬����ƨ8��\=�:�?q.+�/
�F\F�i�h�
�b̊�O��ucG��(6Ї)=�`�@+�����fKM��lVuvߚ�NIz��Q��Z���3-�۴�t�
�n�LE�)� �뎞��Z۬+;f�q���У��P
ۺ�v���:�8<����nB��{ ��vR����ѣ=��u�@;��=��gv�Ij�)
	Q�}-��{����|�L_����(�~�&,��MA��@�]
���s�EFj���q޿K�w�/��R�GV
�0
-R��]e�
��x���l�/uK=�e�}�
uع�?�D`XK��te+�cn��,HBW�����M@�-H�X����U!��m�`	k]�5*��^�T
��0�8�!VX�C�b[��n��ZGP
��
���]
-:�Ks�%p��}�*˄�80M��(�#/�A�IZ�  @�t@Э�]�F��R��:���J30Ψk�!�ծ
M��h����׬�	
�<�{��e������2.z$eO���i��
-�A<DcRLz�5�n�̰�h*YՓ�D�F���F��T��Ҟ[}�P�"�
-�r`B
���S,r1'�
�:��iJ(Lh��1 {h' ����Q)wI�O���0��KC� t�F`����*�Q��=��W
��H�X�7& �ȩ��՘}��j�N,ܼ��)K�Դr���n���*�
�X��ā �Sy��!}^Ҵ;��t�
\NT���fVnU/���:Q����?���*��C���
��&��.s�XL���E�&=Ü��vNM��bp)p@(��YX%�8��6q�?Z}7Ɩ�x�O�X��1�k�C7�ܦ-�tL�! �Y9��⡰Ŋ�>�,r��3W
M9#��
N0��$8� ���ZIF<,E���g&�Q�d��wl�1��|��qk�e�����'�W��U��;�bd���
��o�`ٞ���=�$7l��a�!~��`��%�➺5=�YN
m���G�Ո˵�D�$��̝DSOM��s1;�#r:�YNԥݽ
�X�������џ�`RZ)���I�2*[&�mS
�3�'7����X0!���_������(��ON�}c�V^�1���4G��Fi('�W.Ty�c�s�x�;��
�X,��$�����w�@1
��U�KY�e}5#�a�
�2���QcLX_HZ#�:.-#��EW�.NM/���:��*�
-
��A����<n�s ��C�����@'R1���D�@��^$�
�:�
D4d�c��p�t��R�pB��
�sp�y�sr�n�%`V��m����9KM)�XN\�|!�BN��0
	u	mp�k
	U�qZ�2*�9D�jF
��_3�d+yl�J�Q�6
6
-
�B�L�g6�O Jp�s߷��Db(W���v��?V42?T�NbA��%�>r�"te�7���HI�1��	ɛ�p�s�ӏY�4���&C�	܇��7i�I���#�� �
��Rx��ž��/�j����� ;�n��=�_��ٯVz��M��k 4D��~�_o��'����s�?QB)��L

�]����z||d��
�b߰����˫��5�" +�B�k�wtW;�]TЉ�����	�����
-endstream
-endobj
-5894 0 obj <<
-/Type /Page
-/Contents 5895 0 R
-/Resources 5893 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5790 0 R
-/Annots [ 5885 0 R 5886 0 R 5887 0 R 5888 0 R 5889 0 R 5898 0 R 5890 0 R 5891 0 R 5892 0 R ]
->> endobj
-5885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 660.068 226.034 670.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda) >>
->> endobj
-5886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 660.068 397.32 670.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.794 622.241 172.16 633.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a71a39e295673dabbc4661c7c0a2c3445) >>
->> endobj
-5888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.855 622.241 379.081 633.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 622.241 513.996 633.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 610.286 225.471 621.19]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.628 528.816 351.772 539.719]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-5891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.234 516.86 223.057 527.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5896 0 obj <<
-/D [5894 0 R /XYZ 89 770.89 null]
->> endobj
-5897 0 obj <<
-/D [5894 0 R /XYZ 90 704.266 null]
->> endobj
-5899 0 obj <<
-/D [5894 0 R /XYZ 90 573.942 null]
->> endobj
-5893 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F8 537 0 R /F23 364 0 R /F1 577 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5908 0 obj <<
-/Length 2023      
-/Filter /FlateDecode
->>
-stream
-x��Y[s۶~���S�F0A��Om�dڦ��$�S���$dqB�
/Q�ﻋ)R�
'N&�
.��� Ϲq<��ُ�g��"�IX��s�qω���Z����
�՚{����➫����c�{nU
�:k�Ջ��Q����.u����zuh;�[�}�O
նT}�7�Y���e�Q�������_�~�<{{�A/�ᤇdQ줻��{Nݿ:
I��͠����yu��3�n鴤-�NĒ��E�#��s�9m�ey���˓^]奩x��s�'�YsX[��o͇ ��I���:;}G��K�C&`E���5�O�g���@8k
%�����Յ&#���2���1���@��+_n����TEQ�|�����*3c�ϼϋ��/��v<�ĭ6T�
~��ԭ¹�F���o�fL=,�aͦ�m]����]5_�m��t^�~ϟ	>٦;�c
}��K9!x��qD�x:���Z��13k���YO�Wt[k�V�lMY����bS5T9Λ�̃=�m�(�����
'�0u�u��񭐅�'�Atś�8�%aA(?��e�

���O�;=

	R3�r�)
�'j�kM�ﰦ�z�|��t?
Vk!�۷Y��U�#��[8z
�{mG��*�����Ҏ�p&TI��F�B�Bf�7�2uS�b]��q���1�L3��A
\�P&c��#5�Z[�Zm��2-�LgC�f*j����V\���h�ߓ,��̙����rD\�v0˅v����yշԣqq:9�Z�P���:Mӻ��h��K�u]5�=!I�B���+�����6��"BZ�DN���N�7u��'�KT�@��ؤ�]�@�/2�^�#N�nt�
�Ȥ�' ��:����⭫_�`(���?��|�Jp�;w���S�YX��,,����N���K�(��)��g)/~�R^l+*
[qwGM��PNY/����v{L}
����GX��:� "����
〮�o����mU�Y�����1\�|9f�;���������?>;�~�K���ǩ�?��K��d��R&�
�6�Q0GC'
�1����t30&Tl䄖8����G�E�H��|d[vRp�l���2CP�8q��ER��zYY�@�T�im%�H W�M5E
'�A�mޫ�[��0�b�����3fq�J�F�>!���F��#��.��ŒL�v��6�}�*��[T߇���o���*t�� �
�0tjb�>�j�ϋ�zI��%F�U^����ސ���,b_��t@y��&/UA������%��9��,k��C�
�]���������T
�d}]��F�qY_fʄ;�K�.e�����C>�x��|�����]�Y_�]^�m�T���E�.
�0S�L�V�uUY�}�����~;���Q�����I�1i�&O�:}c�h0�*���
>���>@M
��V[��X�oRl�B��K��M�ZC�ӘLz㕮kz�t�
Y0�!5���k��'3���
ϏwF"l'Z,��1�6o?�Dk���LS�F#��K��o�m�J�Tk�FY�K*��}���mqS�ܹ.A9>77�E���3�f��im�
�C(�
�
>L3��33GR�
>�$Q��0n-�[/�t�gW�hƒ&'A�-�����*զy~UTj�:m�]\�@�̃�����
�����}4�K��=p�HN�2�bJ�n��=���A l��vK�
3�Ó�g�c&�x�i
�����/�P��5���L�@م���Ԝ?�����|����z�cv~c!
���5=��g� � �h�\���<x@���t�z�
���G
-�
-�Q�� Yr�
`�%
 �?
l
�#�i���m7}�dA0��F�٨�]�
�19�
-��
���
��$����?��E���"���$��M2	�
��6
-��'�����tm��]���)�w�
-4�l=�w9t{$��@ligo���]x���8b�}�]W_����{���/�ayw^���m�<���}2^�vU3�O�ܙ@�e� !
*�
-endstream
-endobj
-5907 0 obj <<
-/Type /Page
-/Contents 5908 0 R
-/Resources 5906 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 5902 0 R 5912 0 R 5903 0 R 5904 0 R 5905 0 R ]
->> endobj
-5902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.547 189.869 513.996 200.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 179.971 106.488 187.692]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-5903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 160.29 375.297 171.194]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) >>
->> endobj
-5904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.804 86.288 445.257 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
->> endobj
-5905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5909 0 obj <<
-/D [5907 0 R /XYZ 89 770.89 null]
->> endobj
-5910 0 obj <<
-/D [5907 0 R /XYZ 90 292.437 null]
->> endobj
-5883 0 obj <<
-/D [5907 0 R /XYZ 90 270.125 null]
->> endobj
-5911 0 obj <<
-/D [5907 0 R /XYZ 90 270.125 null]
->> endobj
-5884 0 obj <<
-/D [5907 0 R /XYZ 90 161.286 null]
->> endobj
-5913 0 obj <<
-/D [5907 0 R /XYZ 90 146.882 null]
->> endobj
-5906 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F31 503 0 R /F7 538 0 R /F79 502 0 R /F23 364 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5930 0 obj <<
-/Length 1657      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W-�J@��
�\A�4M��M����M�m����,+_��EJ�
m���Krwvv�3Cb�����䧋�ѫ{�x�^��Џ�n�]N)�Oo<D� V��/޿�x���\������9!�
-{��(^�O.?ao	��x�Hxk=)�|��y��&��
v|!b�<�M�Y6�9t��J5`�<n���<,���F��۲��WMZܘ�v
���J�	f!������>���$e��
�����̾��\ BH{n3��'.T��28GQ�	O�Z��g���i����*	s�3��!,�f}R��2-�VO�؜�2Nnͨ
��5�A��%�f��g�ű�
��he�f?pp2�C������̡h!�	
*D�]�Ӽ�d�J�l��f`V�X���L�K��tF�4��xqZf�[���ů�U
כ��:].N\盦���g��
�!��SD|j�"Q�ٜ`����TK��.�g2�;�_���M����\&+u�X?R��� �G�nд���i���\A�L�Ĕ�M��h���p $�F�ٳ�����s��n�>�/1[9hF�3$ �� +"Mk�����{"*:�܌�&��A�,��{��x8��em��i�s?D
�j�x2�����V������� [...]
�����z�6R
Ƞ�\�5`�٘� ��A�CZh���`G�%X��a����2Y��((@��i�|��Zu77V܃i#���|5���D�6&��=��/W
-D-��f�®�î�2#E�S��H׌¬}��c
��8[ሰ�
�#��(d6�€����+�R����_�S�ͨ[�/8�apO���A���"�%�-,�L\q���;�k=ԙ�d
µ[���ʠ�]��
h�)��"����"I7v���o%ܕ]��5���2��~Ęf�xX�H�|Q�
���V)�;�p��U����.WTGיa>���b�[�?������P�o�
‹����4U�H�d�VM?2�~(��U��v
-�T���i��6�h ��K����]�-3Ȍ�F!�����ߧE���r���lL�4�nB?�;�#t��q�A�(D>aC!mG�ǃ���]�J���"�؇qmEi_�R���n/�����]w[�T�4�'�lG���=3ú����
-���� w
�r�������n���֋;Ÿ8[�]�
�
�rL��
����P
#���u���WD�Cc�.
��ޝ���p����q&��5��l�ɋ�ڤ��~��A,i��} es�6$M��p���L=h��$�[d�^�Y�p>3o�����ڪ�9�S3z]4Pa�%�o#�h~5�
�s`��c]e����®M���ƶ��	w���0æ�AZ�ڶ�O�[���W&ɪJ{Q׆(�{���ok��*�N�f�Ѡ!�r�C��a�� @g꾕u����'?��X)���C B@?
<�1�ݟ�<�E�K�����
-�̆���9,��ݯ {�Osk;Ps�������m\�
�T��)�#;A���#�2��
bv.
������藉��zN
������m�V�GG��%
ZiU��=��h_-{V�M����! �
�a��3���:�8
-endstream
-endobj
-5929 0 obj <<
-/Type /Page
-/Contents 5930 0 R
-/Resources 5928 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 5916 0 R 5917 0 R 5918 0 R 5919 0 R 5920 0 R 5921 0 R 5922 0 R 5923 0 R 5924 0 R 5925 0 R 5926 0 R 5927 0 R ]
->> endobj
-5916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.828 678.378 375.297 689.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) >>
->> endobj
-5917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.852 229.62 245.94 240.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) >>
->> endobj
-5918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.277 229.62 329.905 240.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.331 194.868 222.419 205.772]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) >>
->> endobj
-5920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.234 194.868 282.862 205.772]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.979 202.902 132.882]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 121.979 300.037 132.882]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) >>
->> endobj
-5923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.374 121.979 384.001 132.882]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 87.226 202.902 98.13]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-5925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 87.226 314.263 98.13]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_ab2dfd07539bfb516c7ca2d04460064fa) >>
->> endobj
-5926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.601 87.226 398.228 98.13]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5931 0 obj <<
-/D [5929 0 R /XYZ 89 770.89 null]
->> endobj
-5932 0 obj <<
-/D [5929 0 R /XYZ 90 664.856 null]
->> endobj
-5900 0 obj <<
-/D [5929 0 R /XYZ 90 642.544 null]
->> endobj
-5933 0 obj <<
-/D [5929 0 R /XYZ 90 642.544 null]
->> endobj
-5901 0 obj <<
-/D [5929 0 R /XYZ 121.143 541.531 null]
->> endobj
-5934 0 obj <<
-/D [5929 0 R /XYZ 90 524.857 null]
->> endobj
-1403 0 obj <<
-/D [5929 0 R /XYZ 90 402.582 null]
->> endobj
-230 0 obj <<
-/D [5929 0 R /XYZ 90 395.801 null]
->> endobj
-5935 0 obj <<
-/D [5929 0 R /XYZ 90 297.381 null]
->> endobj
-5928 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F79 502 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-5998 0 obj <<
-/Length 1606      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~ׯ�E���
,��>�I�I�L]�yJ2
k�)7�,�������d;�'J�'X8|��w�z�5���f���`t�c+D!��:=�Bl�n�<���d��7t��>
lGu
����e6�I
��J�ꨞ?�����mъ������2��Fߞ�sxJ[� @��Ц,
~9}7x}:�
P	[D��!?��|��
�x��ˆ��5SB��R���0�g��5�]�ZK����,
��uCm�:m/rѦ����J�Q[֍R�
y|�!׳
"]G5�g
-�[����x��+�41�����~���_
1$�=��IqGJ|�
ވaw�P(��
�_����YZ�V �qWZG)�.�("
3^(�Lt�RŒ�B�+�����k�>�tik��rۓ�M��j�!��r(A��&
-�i��h���<n�OAm/�ݠ�'�y��!
,����{���DZ�0�H�vI���	�.�ik"{eSe����'�ϐ�}�ݜ�>G>��(]=�(wɐZ�?C�ܳw
y�����̷E
�E��
�n�7�L�^�������m������} (���f����W��
Rz'J�!�'��Q+�Fcn�w�Ud.�\�(
���L;��H�P`:�'"�̔�럿y��0�dV��n7pZ
-}�%���f5(~F��A�ޓRv+\�\
 �	
-=���hD/����u+�wO�Fo^�z$�L������\`;�LD}=f>�ڴʶMF	�P����eb��b���6Q�$c�́�_Ae����WO=p.��%��!���Ű��(��?��g�Y*�,���r)��.i�L���?����h+)K���Q�;-���L,-�`k���9�
-#	��7Q���
�8X� 鄼!�5�"��ϗ
؜��GXa�YΊ�WlR��n$�z�Ձ�{L\�q��>f�jm�̤�Kf��Eq;�8z�|5���n�#�n\�DrW*M
9�>t��8%�7�\��<>�.�e�����U�J7��FY��m(?d����{��
4v���e�
�;���\s9��6pw��zvY�[(R��Dj�G�<�<rx��8�6�eG���0�,�ND;�q(�#}Y�4\	v�.����,[�V�� \�M�U�;W��DT�H�b������f�U���T�4��Q��`��:+g�(�^D��V G3�˶4*����g=
-9�����>j���h*K�d󡷩��V�#KE\`����J�"�^�h�4�&��D�i�
-P�jkف�
1��8+�z����nM�F?�̵�K�B��F�l���k�7�M}��299m@��L�����Ii�`2ei�Թ�`���]1��
�e'�W7cG���м�G	�����1Ƒ.P�y���a�E�<]6�B_�?���gϺ7��sUS�wr(_VΓ7k΃������4U���Zt�`�
-��cv�F�A]b�����9���X�恋����F��
5���e>��ը���K=X�B2>��Q�(���#rEd�>�@^�rڍ8��zY�i�]5�n��L��؈�W�Xf�{:�M}%��ڋ�,A	���_3Ї�<�ԗ��/V|7hZ�U��vTU��n9�
-�<�_��wG�:�z�]Dy�� ���
q
-endstream
-endobj
-5997 0 obj <<
-/Type /Page
-/Contents 5998 0 R
-/Resources 5996 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 5941 0 R 5942 0 R 5943 0 R 5944 0 R 5945 0 R 5946 0 R 5947 0 R 5948 0 R 5949 0 R 5950 0 R 5951 0 R 5952 0 R 5953 0 R 5954 0 R 5955 0 R 5956 0 R 5957 0 R 5958 0 R 5959 0 R 5960 0 R 5961 0 R 5962 0 R 5963 0 R 5964 0 R 5965 0 R 5966 0 R 5967 0 R 5968 0 R 5969 0 R 5970 0 R 5971 0 R 5972 0 R 5973 0 R 5974 0 R 5975 0 R 5976 0 R 5977 0 R 5978 0 R 5979 0 R 5980 0 R 5981 0 R 5982 0 R 5983 0 R 5984 0 R 5985 0 R 5986 0 R 5987 0 R 5988 0 R 5989 0 R 5990 0 R 5991 0 R 5992 0 R 5993 0 R 5994  [...]
->> endobj
-5941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 664.734 191.216 675.638]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a) >>
->> endobj
-5942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 664.734 251.659 675.638]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 631.435 191.216 642.339]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) >>
->> endobj
-5944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 631.435 251.659 642.339]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.392 631.435 350.02 642.339]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 598.136 190.26 609.04]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) >>
->> endobj
-5947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 598.136 250.703 609.04]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 564.837 190.26 575.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) >>
->> endobj
-5949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.075 564.837 250.703 575.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.436 564.837 349.063 575.741]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 531.538 192.471 542.442]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) >>
->> endobj
-5952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.287 531.538 252.914 542.442]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.647 531.538 351.275 542.442]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.36 531.538 448.988 542.442]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 498.239 191.366 509.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) >>
->> endobj
-5956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.181 498.239 251.809 509.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.542 498.239 350.169 509.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.255 498.239 447.882 509.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.658 464.941 203.949 475.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce) >>
->> endobj
-5960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.323 464.941 264.95 475.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.417 464.941 341.045 475.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.406 464.941 416.034 475.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.369 464.941 513.996 475.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.682 452.985 222.309 463.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 419.686 191.923 430.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) >>
->> endobj
-5966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.739 419.686 252.366 430.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.099 419.686 350.727 430.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.812 419.686 448.44 430.59]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 386.388 211.849 397.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) >>
->> endobj
-5970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.664 386.388 272.292 397.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.025 386.388 370.652 397.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.738 386.388 468.365 397.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 353.089 211.301 363.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09) >>
->> endobj
-5974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.116 353.089 271.744 363.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.477 353.089 370.104 363.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.19 353.089 467.817 363.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 319.79 216.681 330.694]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) >>
->> endobj
-5978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.496 319.79 277.124 330.694]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.857 319.79 375.484 330.694]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 286.491 213.662 297.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) >>
->> endobj
-5981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.478 286.491 274.105 297.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.838 286.491 372.465 297.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 253.192 215.316 264.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) >>
->> endobj
-5984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.131 253.192 275.759 264.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.492 253.192 374.119 264.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.205 253.192 471.832 264.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 219.893 191.923 230.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c) >>
->> endobj
-5988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.739 219.893 252.366 230.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.099 219.893 350.727 230.797]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 186.594 157.254 197.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2) >>
->> endobj
-5991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.591 186.594 241.218 197.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.951 186.594 339.579 197.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.184 98.244 391.811 109.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
->> endobj
-5994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [89.004 74.956 234.458 84.854]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swox.com/gmp/)>>
->> endobj
-5995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-5999 0 obj <<
-/D [5997 0 R /XYZ 89 770.89 null]
->> endobj
-6000 0 obj <<
-/D [5997 0 R /XYZ 90 202.91 null]
->> endobj
-6001 0 obj <<
-/D [5997 0 R /XYZ 90 143.37 null]
->> endobj
-5996 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F105 2455 0 R /F126 4358 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6019 0 obj <<
-/Length 928       
-/Filter /FlateDecode
->>
-stream
-x�՗Ks�6���85�L�M����3M�ԉՓ���,sJ�*V�O�%2��(ʣ��D\<���.�AϽ����" (ġb
-��PHP B,|-���	���_ �4���^m�/��?{=�j�y���?
�_Q;�āF�ڻ�!h	�/�<�h���`
�)���x��Z(Ŕ�9)�Lb�O)!drQ$&[���I2y�-��[�F�quWI�ٯ_�^���ڦ�'�����!γ��}כ��8�J7��QD�ŃO�$Jkc��"�
�=u��-���]O�xv��d�"�
�w�f�����LB�q��Xi�:��²���R
,�,d�� S�1Q����Tu�9#�8S�;S�,v�V�{޻�:[�"�%��~'�O�w��g�e�G<1x��:����8;S���Roh�v�$����y�ڬ�b�(��fQ�6��(]�I���U���M�9�����g'�'��B��<���zk_
e�
���
t����8�7I��nw�E6܃@����޲%!�:�19��Cn�r<��QUͻ
-T���}[qE��:kF�J`��)�~���(�V��%����4�!��a*��m����̬�
�U��i�6G�g̓$Ĥ�o���v�e��
�3}��B��AR�
�67�����d8�l<��w&��?���ȉ�����nt
[�}�(�N�NY�)��恲}?�A�i#Q<
-��hXRF��U�$�$�m�ś�bu�Ț�+*M�֕9�`9�����_g �
~�����G�T�O�����_/�RA/~�%��|�T�)��*�ZJ��

�y��e�v�b����<�ݛe�>_&�Eԕ
��x�K9q�_EYݕ�ͦ|h�2E٧/^�����ɕ1�S��ߨ{��k���"�n����O��v��q��,�8�f�M:�cw�:8����6�2�/��q��0
��/��
-endstream
-endobj
-6018 0 obj <<
-/Type /Page
-/Contents 6019 0 R
-/Resources 6017 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 6016 0 R ]
->> endobj
-6016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6020 0 obj <<
-/D [6018 0 R /XYZ 89 770.89 null]
->> endobj
-6021 0 obj <<
-/D [6018 0 R /XYZ 90 721.073 null]
->> endobj
-5937 0 obj <<
-/D [6018 0 R /XYZ 90 703.172 null]
->> endobj
-6022 0 obj <<
-/D [6018 0 R /XYZ 90 703.172 null]
->> endobj
-5938 0 obj <<
-/D [6018 0 R /XYZ 90 640.443 null]
->> endobj
-6023 0 obj <<
-/D [6018 0 R /XYZ 90 620.404 null]
->> endobj
-5939 0 obj <<
-/D [6018 0 R /XYZ 90 559.713 null]
->> endobj
-6024 0 obj <<
-/D [6018 0 R /XYZ 90 539.674 null]
->> endobj
-5940 0 obj <<
-/D [6018 0 R /XYZ 90 478.982 null]
->> endobj
-6025 0 obj <<
-/D [6018 0 R /XYZ 90 458.943 null]
->> endobj
-6002 0 obj <<
-/D [6018 0 R /XYZ 90 398.252 null]
->> endobj
-6026 0 obj <<
-/D [6018 0 R /XYZ 90 378.213 null]
->> endobj
-6003 0 obj <<
-/D [6018 0 R /XYZ 90 317.521 null]
->> endobj
-6027 0 obj <<
-/D [6018 0 R /XYZ 90 297.482 null]
->> endobj
-6004 0 obj <<
-/D [6018 0 R /XYZ 90 236.791 null]
->> endobj
-6028 0 obj <<
-/D [6018 0 R /XYZ 90 216.752 null]
->> endobj
-6005 0 obj <<
-/D [6018 0 R /XYZ 90 156.06 null]
->> endobj
-6029 0 obj <<
-/D [6018 0 R /XYZ 90 136.021 null]
->> endobj
-6006 0 obj <<
-/D [6018 0 R /XYZ 90 75.329 null]
->> endobj
-6017 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6033 0 obj <<
-/Length 1359      
-/Filter /FlateDecode
->>
-stream
-x�͙[s�F���zj�$Z�~�L�4�4if��}r<�
��)*����{t��a'
?�����wv�Z�s�`�|���h�Aa� #�t.o
�
�
��ΕK0�b���{1&���?�S�O��<����7�?������%�]�=*��n�o6��?�[�K�D� 
RN�K9__~
��
�3"vH
�@J;����;s������<f���
>Η�#|0B!�dE�H�!Mh����G��B��]�ޣ�W,p'+����<� &���	�d�v��V4
M�oǞ�ʝ��M������{��H1YZz���
t�U����CZU�X����<&
L�v<�
#D>�*~̯�G�l>�b���i� {��l^
-��U
mf�լ3-�qY�Qr���`�Ѽ�vu[�(��c*܇p��jȾ{B5"Lw�e�5���jq�:5o�Ȩ��L�G��z���H�T��'�B?v�f���F>�#_!JN�4bw��Qh}�/���bI
�� �E
l�ԋ�M�]
@$eqf�岤��}�]"��`��hn�"!Wu�wu���mU�.:��}�%IyvI�<��G^�0�:d�
c�6Y�� x��q^�u�ßx��
-��b�"U�R��{�B�F�o-��K�ʦձ��ߦձ���Դ���}KA1qc����]��R,���~��{
QHR�mo�{�[y��e݆y{��F{KV�7��no����zo��
�#�&÷��i@*��_F��� /
,\և�v�bl��n���"�{?�8�aC;e�m���W���
- ����+#olq ʻZn/
> 
s�h���,<�g Z+��Y:'a_����ϥ��5�=\�/�p�W��N�9��j������1;E�|
?�^&s��N�-�����"�mg�]$�z
8Ā� �A�`�h;�lu/�����qg6Q�z��
�'�.u�!��֌�aȐT�Up�O&Q@	"d���q��&�T�gJ�
R
-J#e�/�ʶ��#Z�6=	 ��?l{H�c����wW�b����-�:�=���:���{Q�Zv꺱�vQ��)a����~*�%��W�W��xu�{���.,�4"ݶ�4حg5�vV�{X�
¢'
�Z����K��g]
z�a
��FiRA�k%6��-\�㄃�
rDt�j�KkBz�������o�i�~�@	��ؤ���?P��l
̘��G�\H6�?;�͸�O�Ν]�%���IQ\��R��_��_� �q
�S�ُ���>�|HMq}��IS���cЖ_��H2��o���i�!P�K4�d\u�}���&���G4۠m�c&��z1i���5����-�疫�H?����O �����=X
-endstream
-endobj
-6032 0 obj <<
-/Type /Page
-/Contents 6033 0 R
-/Resources 6031 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 6030 0 R ]
->> endobj
-6030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6034 0 obj <<
-/D [6032 0 R /XYZ 89 770.89 null]
->> endobj
-6035 0 obj <<
-/D [6032 0 R /XYZ 90 721.073 null]
->> endobj
-6007 0 obj <<
-/D [6032 0 R /XYZ 90 654.123 null]
->> endobj
-6036 0 obj <<
-/D [6032 0 R /XYZ 90 635.042 null]
->> endobj
-6008 0 obj <<
-/D [6032 0 R /XYZ 90 562.587 null]
->> endobj
-6037 0 obj <<
-/D [6032 0 R /XYZ 90 543.506 null]
->> endobj
-6009 0 obj <<
-/D [6032 0 R /XYZ 101.557 443.629 null]
->> endobj
-6038 0 obj <<
-/D [6032 0 R /XYZ 90 424.449 null]
->> endobj
-6010 0 obj <<
-/D [6032 0 R /XYZ 90 349.936 null]
->> endobj
-6039 0 obj <<
-/D [6032 0 R /XYZ 90 330.856 null]
->> endobj
-6011 0 obj <<
-/D [6032 0 R /XYZ 90 258.401 null]
->> endobj
-6040 0 obj <<
-/D [6032 0 R /XYZ 90 239.32 null]
->> endobj
-6012 0 obj <<
-/D [6032 0 R /XYZ 90 166.865 null]
->> endobj
-6041 0 obj <<
-/D [6032 0 R /XYZ 90 147.785 null]
->> endobj
-6013 0 obj <<
-/D [6032 0 R /XYZ 90 75.329 null]
->> endobj
-6031 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F8 537 0 R /F126 4358 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6060 0 obj <<
-/Length 1522      
-/Filter /FlateDecode
->>
-stream
-x��XYo�F~ׯ P ��h����HR�Hڤ����	�\KD(R�!G���%w)����M�>I����~�ͱ��������tt�����<�������X
�6<�ƭI-:�8}c0�EijaW������7rmt1
=�,a��
-8r\#X�n?b#��o
������Ұ(��ظ�1�}!R�$Q�("�xB0��zL��F�xB�k��|\Ϩ����y
͓z�������uR����O��g�@O� �ٮ>��Z�㒅<�j���	��
�$/j���!�#L-�f3h���m�L䙄:n�C�m�l�Q
P
('bnJ��hMVKj¸�\ƍ	��㼖��D�"�Xo�v{�����E(�7<�"�K��Y��
�>����z�w�Ȳ=-P,D�l=����R(�Ik�-.�"<a����s;�@t�3U�`�F���m��	�a�q0�	ж�h z��l #Fw�
��
f3���3�oMm at z��R|�-d{��I�s6c����ivv'�k���#
̈́�
��G�^b�a���;Z���
��Q�a�6H
d<�0�t��}?�rI^u]�!yS{ �@�u�|@#P?�w�q���XB��DY
?���N&>�i�����{eB/C�c��&x�ty�&͞]wp	?tΎ?~i��1�r
,�X�D=�B�T�p�Ot'�J�:JՑ"�k����T�iX<�`�z�����P����b��6�ѓ	2\�<(Hг�J�z��
�������{�P�ݓ���.��)P
��/>�F@��q��
��"AO*LB������n�C�gj1K��P�a(���u��ؐ-0�
gK�� [...]
-
��P��(	�2
��8C����]��h�ҝ�8r���<TQ<�9�>W�]
�a�c�27���5�Z:�yz������^-��I6Wה�J��A
-@
I���bmM{��m3i����
xx���m[�H�:�������L�i`*͝�ZY'��z�M�C�<�����nފ坮��$�	�ϣ1���O���鮱7h������aq���5R�3��0~Q岮3��X,�4P���$|����?/�o.tg�;q~QFq�2�ߦr�oᯛB��|%�H�[�U6����D�מ���D�����%\2�JY�f7���!]O�y�
 ~��g�i V�y�K/ʹ��
����d\��õd>l�X�<�*3!,��ͷ
P6f�)����� /2Ƶ���>� <����
���5���!;�k`���?��[ �ܰ
�aS�M^UN���
��U?���~x����1禂㭟�~�����*�m�`DT���3ݍ�ݦ>�'C��uT�L-�]1�\E�:?;{||DA��$Ze(*�`�:��--pMt%�̼L�fԇ��j����N
-endstream
-endobj
-6059 0 obj <<
-/Type /Page
-/Contents 6060 0 R
-/Resources 6058 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 5914 0 R
-/Annots [ 6042 0 R 6043 0 R 6044 0 R 6045 0 R 6046 0 R 6047 0 R 6048 0 R 6049 0 R 6050 0 R 6051 0 R 6052 0 R 6053 0 R 6057 0 R ]
->> endobj
-6042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 299.584 192.296 310.487]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.794 299.584 258.726 310.487]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) >>
->> endobj
-6044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 218.009 134.164 228.913]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
->> endobj
-6045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 218.009 203.623 228.913]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.787 218.009 373.176 228.913]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-6047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.809 134.164 189.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) >>
->> endobj
-6048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 178.809 245.954 189.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 139.609 134.164 150.513]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564) >>
->> endobj
-6050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 139.609 222.432 150.513]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.943 139.609 308.887 150.513]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-6052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.409 134.164 111.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) >>
->> endobj
-6053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 100.409 239.328 111.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6061 0 obj <<
-/D [6059 0 R /XYZ 89 770.89 null]
->> endobj
-6062 0 obj <<
-/D [6059 0 R /XYZ 90 721.073 null]
->> endobj
-6014 0 obj <<
-/D [6059 0 R /XYZ 90 654.613 null]
->> endobj
-6063 0 obj <<
-/D [6059 0 R /XYZ 90 639.654 null]
->> endobj
-6015 0 obj <<
-/D [6059 0 R /XYZ 287.777 552.889 null]
->> endobj
-6064 0 obj <<
-/D [6059 0 R /XYZ 90 536.396 null]
->> endobj
-527 0 obj <<
-/D [6059 0 R /XYZ 90 424.563 null]
->> endobj
-234 0 obj <<
-/D [6059 0 R /XYZ 90 417.747 null]
->> endobj
-6065 0 obj <<
-/D [6059 0 R /XYZ 90 316.827 null]
->> endobj
-6066 0 obj <<
-/D [6059 0 R /XYZ 90 316.827 null]
->> endobj
-6067 0 obj <<
-/D [6059 0 R /XYZ 90 237.155 null]
->> endobj
-6058 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F126 4358 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6114 0 obj <<
-/Length 1796      
-/Filter /FlateDecode
->>
-stream
-x��ZYo�F~ׯ�+�z���6'1�Ɖ�@�$hr%��T
��w� %��a[>�'.���
�\+acb`���w�����<۴����añ<�l�
��}��i�c�?�����
L�Og�)s�.���|���q
����p�h��Z~�c����I���M��7-:�z������G@l�m�
�������[#�ƕ$�
ˤp�罿zX��W�a��:�Ȣ���Q*}1M&?��.��O��{��!��>���\��3��_��?J����()G狢�q���x����[0 ��f|t�d�M8���CZ
-�+��3\0�m	c�&�-�
��U�x9�f����.���Z���y 2DɤAT(��:
�k B
�
�)�R�����p& X��k�����1Ox�i��m��hRܟ̓4[�b�I
l�BxizP@�?��ݭ>����
��ָOnr��`"6�Ȳ=x!�A�l�\l8|#2fMg:Ȳ܊�7E��d#�:5�E�?�J�������	��:x3Qj�����q[Y�"�1p
A
���1�L�L�b�I�B�k�`���tZ՞�
�}�RnkX��-��vp���G)��
p����H��S
���4:�pz���?'�v
� ���S�舀hm��� ��!�=F�����`&��w,���~��jt>�3�	�
˼�گC�V��ٮu`�O
�6r ���<	y8
��h�Ew,
-��e��� q���t'�ه��'i�϶!b��%
-��9�K�ƾ�ڻ� �������r{����ϑ���zp8�Cp�t����)�M--%TxO\���j�,�O���L�,_%�ټ�-���M�<*��fz5M
��Z	K%Գ0�0IK�P�Z�r����^�/���B��笨�E҆D�)M���%m�4
��l��z2��JLq@�w�i#l��5*:��P�̊����C���AN
DX'�WjQ��_
-S��Ku-�"�g3^��Ҿb�/a�>�.�ЄJH
�i�l�!08�Ҩ7�j�4���;����f�'Ҥ�d?F��/�G
-�G4�@N���&Ւ--ƍ�r�ٞi��^܋C�b苩�p���$�yR�lu��f���<�� ����S�@^�
ag!�y��V�)$��&���]��!۫i��l�&��}�u
#г��d%�~]*#a�̀Z1���8h��ZD���Oy|	v�_}3O�>���r�kS�J��}����W/*2-�5���.�6
pM�n�� #��n�#[����޹��˸�N)�Y��G^���ڎl6h���\f���j	s�,-���2q]@��(�+�w��a�e*_��� ���hG�$���n�U;���S��K/�0p�	�3w:� ���R�F�)�x���\��1�˯"�!Y6NU[ ޘ�}9V+_���ᐴ[i�AJp�{�C��E��_��0����m����ܟə��w&�
-QQ��`-��
-危��+yZ	��O at 6!R7����\�zl

-���c0��#�����1���iW\�
�njh�ZB�+�ti4Ŷ4]���)���}��B�9-h�z�V�zՂ&<Y�� 脦0�lC�#!�MǶ$��ð ���sq
��'��<��ǃ��e���y���c�ӱo#=����?�0�����	lr���?cA��G�3��X���P�������
�k���ɼ:#�|�x��
��d��KΙ�j��f���O)sE^Q)�Ϡ�e�=?<���BA��I��(*�lvx}~Z�c�S3WcC��Z�(���/F8Զ������
-endstream
-endobj
-6113 0 obj <<
-/Type /Page
-/Contents 6114 0 R
-/Resources 6112 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6054 0 R 6055 0 R 6056 0 R 6072 0 R 6073 0 R 6074 0 R 6075 0 R 6076 0 R 6077 0 R 6078 0 R 6079 0 R 6080 0 R 6081 0 R 6082 0 R 6083 0 R 6084 0 R 6085 0 R 6086 0 R 6087 0 R 6088 0 R 6089 0 R 6090 0 R 6091 0 R 6092 0 R 6093 0 R 6094 0 R 6095 0 R 6096 0 R 6097 0 R 6098 0 R 6099 0 R 6100 0 R 6101 0 R 6102 0 R 6103 0 R 6104 0 R 6105 0 R 6106 0 R 6107 0 R 6108 0 R 6111 0 R ]
->> endobj
-6054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 134.164 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) >>
->> endobj
-6055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 707.957 215.807 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.336 707.957 297.281 718.861]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-6072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.355 134.164 680.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a732d3b59f8a0ba21a72877d5fa4b98a5) >>
->> endobj
-6073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 669.355 260.888 680.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 630.752 134.164 641.656]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1ba0bd59426889233904d052224cab76) >>
->> endobj
-6075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.98 630.752 237.366 641.656]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.453 630.752 319.398 641.656]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-6077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 580.195 134.164 591.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a19623ff8cea2239d66331f29c1d0268d) >>
->> endobj
-6078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 580.195 180.102 591.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-6079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.348 580.195 221.075 591.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-6080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.489 580.195 334.955 591.099]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 529.637 134.164 540.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a6388d1ddde99) >>
->> endobj
-6082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 529.637 206.662 540.541]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-6083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.526 529.637 332.993 540.541]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 479.08 134.164 489.984]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adf002bbcc4dcae5efdb56bae2971a64b) >>
->> endobj
-6085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.163 479.08 233.431 489.984]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-6086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.546 479.08 358.013 489.984]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 440.478 134.164 451.382]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) >>
->> endobj
-6088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 440.478 209.431 451.382]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.624 440.478 308.09 451.382]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 379.957 134.164 390.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf) >>
->> endobj
-6091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 379.957 181.755 390.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.319 379.957 274.785 390.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 341.355 134.164 352.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.904 341.355 185.71 352.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d) >>
->> endobj
-6095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.048 341.355 233.301 352.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 267.081 190.738 277.985]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 267.081 261.85 277.985]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38) >>
->> endobj
-6098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 230.723 190.738 241.627]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 230.723 262.159 241.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) >>
->> endobj
-6100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 217.351 390.082 227.256]
-/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
->> endobj
-6101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 194.366 202.922 205.27]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 194.366 248.58 205.27]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) >>
->> endobj
-6103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 158.008 202.922 168.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 158.008 296.181 168.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4) >>
->> endobj
-6105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 110.691 233.069 121.595]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.808 110.691 295.594 121.595]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) >>
->> endobj
-6107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 74.333 233.069 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.808 74.333 343.195 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) >>
->> endobj
-6111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6115 0 obj <<
-/D [6113 0 R /XYZ 89 770.89 null]
->> endobj
-6116 0 obj <<
-/D [6113 0 R /XYZ 90 360.322 null]
->> endobj
-6117 0 obj <<
-/D [6113 0 R /XYZ 90 282.034 null]
->> endobj
-6118 0 obj <<
-/D [6113 0 R /XYZ 90 247.698 null]
->> endobj
-6119 0 obj <<
-/D [6113 0 R /XYZ 90 211.34 null]
->> endobj
-6120 0 obj <<
-/D [6113 0 R /XYZ 90 174.983 null]
->> endobj
-6121 0 obj <<
-/D [6113 0 R /XYZ 90 127.666 null]
->> endobj
-6122 0 obj <<
-/D [6113 0 R /XYZ 90 91.308 null]
->> endobj
-6112 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F11 442 0 R /F97 1185 0 R /F107 2329 0 R /F105 2455 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6172 0 obj <<
-/Length 1434      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�F��+t�@�=�H=r��v�f���${�b %ze$�:�>=/�`ac�k;�@IB=���_�t�[S
[睟��������Y��b�wCD=�[W]�u{_-�
	=%�>�������R��:w��Q
-(�+�:W_�5��?Z9a`-�Pf���Ժ����ږգ�-���s�m��ȆS�D�2��s�W�c��n=cꤺ�j���b��q�O���1��I��Y�'Y���I�3$�j�]�3���ض��y
0UV]�6]Rb]
S,m�j}C�ŧ�
)"
8��xx�rƣ���K�&+�����L����S�i��Ï4�4�����
N�\7L{w�Y=B��4q]� ��f �DJ�a�� ���;�b
�[!��R��Ó"^�4��"z�0�k��"�g�����'MNhuw<}Q��w���{�"
'�T]�X�`LB�?#ؿ�
-� *5��cG����\��(-SϒJ�,�� �#F(��-zE^����5�#�L���ҝ(��JZN
�4:���Em$��	��F�O���,��yK�y��XU�(���Y����I�ҏf˨(��
�TC����w�b�`D�f:��Dz�Dה|Ud��n�&m�w}��ޝ�T�uT at 6-���J��|�ެ��ȯ�<�ٴ{#*n�+vp�.V��օ�
G�EY��4��&�8-*6~	g�� ����
-V�l
��M�:���b�r��LW7,u�,#h� ��
-A�0yg��������َ�Hk	p{`�V�mdn[��ȳ:H�o��L^�
�.ռr�ë����T�	�+�MX��v$�ҵ�Ωb.
�|�23��+��F�U�pN
�Z5�$!i5e|Xk:��cu�S�g��E�)rf�� ڮY��U@�E�^b��6��}퇂���!0�$�(m��7�݈�;- ���x�:t M���Q!,�r$����E	2u@��Q�(	�\O 4}��kސ)����0Հ�Pk~ #><�VrVU�k^���
D�{�c�V7/f�~�w#z7�xg�( ξZ���1h� -�;pn=�v�u	�Y�M~�^
�p�	O�L54��#
-
�{R���> l�	{X�I�ռ
�j��h
-���QO�0���\/ jR]�|�`ͳ-"�����3"ő[~����
�"�':R�DG
-��).D}����
�zh^���,(k�
>ó&��my�]����E�E��5��^7����t(J}o�}$��
S`�b�Ă��,����Z���82��w���꤁qz1.J�4o*���׫���3ꁥΦ;��N2�<
�@-�4�"�R��10v~�u"����7cc�/?%#
q�����GiW[�K���N2�l�2��!�O�1�E�!O��%3�J��_�9�Y��}�� p�͒Ԭ�����b��
-���(��e����[}u�\�Q21k�Y��&I쁓��
8�_P���
-endstream
-endobj
-6171 0 obj <<
-/Type /Page
-/Contents 6172 0 R
-/Resources 6170 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6109 0 R 6110 0 R 6132 0 R 6133 0 R 6134 0 R 6135 0 R 6136 0 R 6137 0 R 6138 0 R 6139 0 R 6140 0 R 6141 0 R 6142 0 R 6143 0 R 6144 0 R 6145 0 R 6146 0 R 6147 0 R 6148 0 R 6149 0 R 6150 0 R 6151 0 R 6152 0 R 6153 0 R 6154 0 R 6155 0 R 6156 0 R 6157 0 R 6158 0 R 6159 0 R 6160 0 R 6161 0 R 6162 0 R 6163 0 R 6169 0 R ]
->> endobj
-6109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 685.152 248.003 696.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.742 685.152 323.26 696.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) >>
->> endobj
-6132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 648.507 248.003 659.411]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.742 648.507 370.86 659.411]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) >>
->> endobj
-6134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 611.863 205.692 622.767]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-6135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 611.863 261.312 622.767]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) >>
->> endobj
-6136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 611.863 338.781 622.767]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-6137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 575.219 205.682 586.122]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-6138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 575.219 261.302 586.122]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) >>
->> endobj
-6139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 575.219 353.705 586.122]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 538.574 205.682 549.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-6141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 538.574 261.302 549.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95) >>
->> endobj
-6142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 538.574 330.462 549.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 501.93 205.692 512.834]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-6144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 501.93 261.312 512.834]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) >>
->> endobj
-6145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 501.93 332.156 512.834]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-6146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 465.285 183.824 476.189]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) >>
->> endobj
-6147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 429.015 192.272 439.545]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) >>
->> endobj
-6148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 391.996 241.935 402.9]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) >>
->> endobj
-6149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 357.236 213.163 368.14]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497) >>
->> endobj
-6150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 357.236 260.754 368.14]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 322.849 189.901 333.379]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) >>
->> endobj
-6152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 288.088 193.229 298.619]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) >>
->> endobj
-6153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 251.07 238.459 261.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38) >>
->> endobj
-6154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 214.8 187.689 225.33]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf) >>
->> endobj
-6155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 214.8 226.693 225.33]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 179.665 228.895 190.569]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) >>
->> endobj
-6157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 179.665 333.482 190.569]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 144.905 229.503 155.809]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) >>
->> endobj
-6159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 144.905 334.089 155.809]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 110.144 187.264 121.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd) >>
->> endobj
-6161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 110.144 293.213 121.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 110.144 371.148 121.048]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 110.144 455.727 121.048]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6173 0 obj <<
-/D [6171 0 R /XYZ 89 770.89 null]
->> endobj
-6174 0 obj <<
-/D [6171 0 R /XYZ 90 702.198 null]
->> endobj
-6175 0 obj <<
-/D [6171 0 R /XYZ 90 665.554 null]
->> endobj
-6176 0 obj <<
-/D [6171 0 R /XYZ 90 628.909 null]
->> endobj
-6177 0 obj <<
-/D [6171 0 R /XYZ 90 592.265 null]
->> endobj
-6178 0 obj <<
-/D [6171 0 R /XYZ 90 555.621 null]
->> endobj
-6179 0 obj <<
-/D [6171 0 R /XYZ 90 518.976 null]
->> endobj
-6180 0 obj <<
-/D [6171 0 R /XYZ 90 482.332 null]
->> endobj
-6181 0 obj <<
-/D [6171 0 R /XYZ 90 445.687 null]
->> endobj
-6182 0 obj <<
-/D [6171 0 R /XYZ 90 304.761 null]
->> endobj
-6183 0 obj <<
-/D [6171 0 R /XYZ 90 268.117 null]
->> endobj
-6170 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F107 2329 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6233 0 obj <<
-/Length 1911      
-/Filter /FlateDecode
->>
-stream
-x��Q��6���S�t�39�$B��C�6�i��5�>�
��Ā�.Χ�Jc��;.��y��b�Z��i%�����Wg?_�]���HxԳ�g��wb
\E�{�`D����W�� O��Մb;[n2ʃ���&�����8�\P��ˠ(L��|B|[��K�C<��l���og�^�}<#�
��i�!�[ar��lEp�7
#G�֝��X.u�wi�;��
W�8���ǼF���

c�
j��7�ƛ�9�����dٲ����畟ou
����$�,�O;D�c��,-�~��T���O�\E����|�\N�������
��g���lB��i˴�4X�WӴ�bIKѳ�~����#��
B�`�D�\k��4���J�2�,o7��<_eqZBd��V3���
d-�
�y�~�."��
�91���:O
���K��
�����W�ki*홤�_W�g�'v�F���ˍ)�_�i��m�>b�ՏC��G\��m�".N�Q�FӬ4����η�6<�0�:"�Ȇ6r���HV
��8��%U[7��ŭT�؎Ӯ��7F
bDԕ��6=զv�n�j�,�2A�
ޮ'q
-�H�H�\T�u>q8p��;��r]�i^�*��KS�[H�\G_�	6�H]�
Ldոj,���FC�Z�2B�#b72��xA1C
�P !8�QH�N����D0q�Pi(]� 8w
��^$�D�%�D�D?U���� ��>�s�����4|
ha1h�
�%���	�	,�f�f�I�ũl���Q��s�wt|=t|#��w�����? >΢¾3$��RI
��[��
	���لع���%���`�
->����
�lU��KL,N�L�A�ט�3�4uq����P0�UU�e��zk#����x=IW��'N��E\����~�`�J�te*�| ]�)�(?�&�T����Pѵ�����<H5h�9��,˻��v�\���ʽ����¸n
+V2��Uf
-0�|r
-a�p�z
‟��/�J��T���n���F��x��>������u�ɂ!L��V��"([Y�2+dQ݄�����̅�x]�\��FH[�q]��m
��J���iF6�G�����n�xv�xo:;kʤ�����
�N�q������{1�[k�S
9���;�c��Y��}�2��r��~��W�Q�&ù�l�8�O�*
-�?��������
~���;���3}��,�HZy��9чb�N��^.V*�
�8Hˢ��EPƅ��N���^�T
�L�����1��[ae��8��Ό��9�*Թ��ss��Ln�.�\�a	Ou_��MP	�MųM��#�}@� �i0����V��Q��(Rd��k}��p���5r
εl
������[
-�٪
-]6�j��~kd
-�
�%C8���9��=��e4�����买���]8�E�3
�%0�M�}�A��b���JO�����y�Ƨ�E���?��
���%
u&�TF� hS�2i�p�0\�:]��a�`_W\��ӱ����(|��3��L���w��SOU
��������r�������<�A���E�K
�M���s��
���-�>��
��(�>H	{v�pϙ�u�^��4��:��7Ɔà��y8�CO!�t�UF�
�q
�K��v=L��RE�

�ew.��.F�uߣO'�bm�����c���I��L��D<�m�CS'�p��䞒Q��X<��qJ?���w��d�W[�S�%��־�[�}v�~�Z�
-qu����u9b�:Z��_�~�yR�.W�G���2�\�U���	c�:�M���j+F��V���nR����\8��y'����}����jtІ�����[�/�r�������Z��*Gqy�Z-/wCV���ֈ:yЎ%Y�M��f��Ԏ���3�B
-endstream
-endobj
-6232 0 obj <<
-/Type /Page
-/Contents 6233 0 R
-/Resources 6231 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6164 0 R 6165 0 R 6166 0 R 6167 0 R 6168 0 R 6191 0 R 6192 0 R 6193 0 R 6194 0 R 6195 0 R 6196 0 R 6197 0 R 6198 0 R 6199 0 R 6200 0 R 6201 0 R 6202 0 R 6203 0 R 6204 0 R 6235 0 R 6205 0 R 6206 0 R 6207 0 R 6208 0 R 6209 0 R 6210 0 R 6211 0 R 6212 0 R 6213 0 R 6214 0 R 6215 0 R 6216 0 R 6217 0 R 6218 0 R 6219 0 R 6220 0 R 6221 0 R 6222 0 R 6223 0 R 6224 0 R 6225 0 R 6226 0 R 6227 0 R 6230 0 R ]
->> endobj
-6164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 696.879 187.264 707.783]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5) >>
->> endobj
-6165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 696.879 293.213 707.783]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 696.879 371.148 707.783]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 696.879 455.727 707.783]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 684.924 220.058 695.828]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 638.857 186.348 649.761]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0) >>
->> endobj
-6192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 638.857 293.772 649.761]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 638.857 373.367 649.761]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 638.857 456.837 649.761]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 580.835 186.348 591.739]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f) >>
->> endobj
-6196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 580.835 293.772 591.739]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 580.835 373.367 591.739]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 580.835 456.837 591.739]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 568.88 218.404 579.784]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.772 522.813 187.446 533.717]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0) >>
->> endobj
-6201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.73 522.813 292.979 533.717]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.431 522.813 370.447 533.717]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.745 522.813 456.762 533.717]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 522.813 513.996 533.717]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 511.232 159.485 521.762]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.603 511.232 240.62 521.762]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-6206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.985 498.111 378.999 508.016]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-6207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 464.792 180.496 475.696]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22) >>
->> endobj
-6208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 464.792 228.087 475.696]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 429.684 213.153 440.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8) >>
->> endobj
-6210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 429.684 260.744 440.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 394.576 161.677 405.48]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) >>
->> endobj
-6212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 320.088 212.377 330.991]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114) >>
->> endobj
-6213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 320.088 289.846 330.991]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-6214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 284.98 225.109 295.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe) >>
->> endobj
-6215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.446 284.98 317.512 295.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 249.872 216.252 260.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) >>
->> endobj
-6217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 249.872 328.042 260.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 214.764 254.827 225.668]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252) >>
->> endobj
-6219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 214.764 343.096 225.668]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 180.03 205.752 190.56]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7) >>
->> endobj
-6221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 180.03 276.595 190.56]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-6222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 144.549 209.627 155.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f) >>
->> endobj
-6223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 144.549 314.791 155.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 109.441 248.202 120.345]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) >>
->> endobj
-6225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 109.441 329.845 120.345]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 243.37 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) >>
->> endobj
-6227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 74.333 320.839 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-6230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6234 0 obj <<
-/D [6232 0 R /XYZ 89 770.89 null]
->> endobj
-6231 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6297 0 obj <<
-/Length 2050      
-/Filter /FlateDecode
->>
-stream
-x��ZK��6�ϯ�ɑ�"

	�*�]��ڬ���$;�∐���%��(�~ ��P�l1�8���ht�u7H�<콽������{ɀ��ғ�
}�x g��~B�`���

"2����W?|����s���������
)p
-o��z�+�b������{��6�O������\a��������F7�cD�0$R*�Vz:�
O��o�m��Q�,��{U�JW�N�
eԾ~#öpB�Z�bU��*�ƤRd��|�‰��1M�`�ےA����`
��G<TI�Ot���
-"k�cƻ~Ã�Wgs�L�l��Rޑ⽟q�'S
-�Kbw�x5_9��dG�e�%���~��V�4�?`�a�.�e����o��P�>Y/+
�H�MFQ�o���_�H��a��(�a��>����<�C��X��"����
:B^,�DĀ
S�'�.�`�X�K��B��)D���)�D�
*�,��2�DC$"A����+IA
-��Q�&���*O�G�*��,�8o�����!�\����g�g5%xbT�����0��D�:C���\xG�!=`L��
����Ŝ��1�����~�Vg��g�ݧ�K0(4�s�K�k 8D~"r|(�03���:�}<H~�B&Q�Dwk��8� ��/ȫl��&�1Ƭǎ��
X��I�I;��H�'�2������
v���#���f�R�2%�Zn=Y�����pH'q�Q�v�?��1"�榇(��z�H=�� ���H�d�&骜����n���c�,'<����r�\�Qe<�<#��ԝ`�����������pL��c�2y,&H��dc�CA�
	�\'$�r2�?%��p���i��\(��
����3$8i�i8~m��vȴ���Ġ�
i�B;�lfɎU�M��L�#0bt��B��>��V����
��Ee�UK:G ���0hJ��İV�%Di��25���UjG�(�{C�
����� J�-X�[���]�1��U�
Y{���hC����
pG�H��<��˲��bn�,��4�E��/�-�j��{���*X4���f'@ ��!@��B�(C��vy��^�ۥ�T�ݬgbI���9+�g��V��wꤠJͲh(v9�j�tp	�,Lt�������c�u�� Ҟ�ٓ+������bԺ!N��^�ܾ}�B�O�|p�f�gf�H�1���{�xh��HC�
]�g�{hRLy1��d�]'��|���7o ��닿>Hep
�b$Z'aC��]6J���T�P�S�;t���]7"G_�kIa�nK
-��f΁������~h2sOh�0��c��9�z�k�C��LF�n� 6I6=�;�*S�Ͷ�O9��ʫD�8?��;�Y� eJ&��'�h�����
�*9��^�$A2��g3�$UQ>��6WZ���H~Q�Ƕ-�U��u-�s��T�/����@��u�b��PϕK���b�f�$5���<����X�P˹�BLP�#��ı-B� ��q������{A�Ȧ?���^|P���O6�߼"\��[
�PGۢZT�6
,w��%3�&�n�=W�����!r��Ķ.��Vv�=s�n�J�+�.��s�Ⱥ{�v������}oZ|T�,+#e�Z��>�:6��	R���V�A����x�����9O��t�FF���F4�Nj
JFڴ�,<�$�Q����AR2O
�ű��{
����
s��5s��A�٩��T.���=ss1�(�0�h��'�� ��w�;,�KaT�^�„

-���'��M��f������.�Z��Ƽ����,�����}v|ȋ���$1���P�O��a�%��.�
�� ~�Ż�N�L��ʳ��{�
5 ��o���`;x(�6�����qx��}[5?گ(�����l��Wq�N�%wy���~�F�+�y�N�(�E�i�e?Q*o #05�.��ި
-�����UG�6	���!b���}Ql_^_?>>��F�4��()����u�v�K�<��f�,�
�׽\�X��C'��r+
-endstream
-endobj
-6296 0 obj <<
-/Type /Page
-/Contents 6297 0 R
-/Resources 6295 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6228 0 R 6229 0 R 6251 0 R 6252 0 R 6253 0 R 6254 0 R 6255 0 R 6256 0 R 6257 0 R 6258 0 R 6259 0 R 6260 0 R 6261 0 R 6262 0 R 6263 0 R 6264 0 R 6265 0 R 6266 0 R 6267 0 R 6268 0 R 6269 0 R 6270 0 R 6271 0 R 6272 0 R 6273 0 R 6274 0 R 6275 0 R 6276 0 R 6277 0 R 6278 0 R 6279 0 R 6280 0 R 6281 0 R 6282 0 R 6283 0 R 6284 0 R 6285 0 R 6286 0 R 6287 0 R 6288 0 R 6294 0 R ]
->> endobj
-6228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.696 247.246 696.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) >>
->> endobj
-6229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 685.696 359.035 696.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 650.513 236.745 661.043]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) >>
->> endobj
-6252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 650.513 307.588 661.043]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-6253 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 614.583 240.62 625.487]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) >>
->> endobj
-6254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 614.583 345.785 625.487]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 579.027 228.984 589.931]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b) >>
->> endobj
-6256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.322 579.027 355.708 589.931]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 543.47 267.559 554.374]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) >>
->> endobj
-6258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.375 543.47 370.761 554.374]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-6259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 508.288 193.577 518.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) >>
->> endobj
-6260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 508.288 232.581 518.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 494.942 248.845 504.848]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 461.773 193.577 472.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) >>
->> endobj
-6263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 461.773 277.691 472.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-6264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 448.427 247.177 458.332]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 414.884 223.465 425.788]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) >>
->> endobj
-6266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 414.884 271.056 425.788]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 379.327 229.552 390.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) >>
->> endobj
-6268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 379.327 277.144 390.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 343.771 266.673 354.675]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) >>
->> endobj
-6270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 343.771 314.264 354.675]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 297.256 217.109 308.16]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) >>
->> endobj
-6272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 297.256 264.7 308.16]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 284.284 274.983 294.189]
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-6274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 261.7 271.126 272.603]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) >>
->> endobj
-6275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 261.7 318.717 272.603]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 248.728 326.259 258.633]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-6277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 215.184 201.742 226.088]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70) >>
->> endobj
-6278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 215.184 243.629 226.088]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 215.184 371.329 226.088]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.458 190.257 271.379 200.163]
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 156.714 212.768 167.618]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) >>
->> endobj
-6282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 156.714 252.959 167.618]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 156.714 375.145 167.618]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 131.787 277.928 141.692]
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 98.244 250.099 109.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) >>
->> endobj
-6286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 98.244 289.446 109.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 98.244 379.512 109.147]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 98.244 513.996 109.147]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6298 0 obj <<
-/D [6296 0 R /XYZ 89 770.89 null]
->> endobj
-6295 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6362 0 obj <<
-/Length 2784      
-/Filter /FlateDecode
->>
-stream
-x��[�s���_�'�	O�}8��!�ؙ�N��Jӌ��P$$aJ, JU����$���Ӿ��������@4�
h���7���

,�����6�40���j
|%\�ƌR~1N��t�a�i�-���y>��On�i�����y2����Ŵ(�׏�m��X��,NZ0
riF�]����
d��{+b�`����
�p���a���-�|.�O����O��
"PKKT�I�C�1˜W��H�R�����P��w���e""B[����R��.�$�F5My����?D1�%����r�6��?���.A�,Z��yL�{/I>&��U<+�
`o�O�Q~W���o/�ώ�
���p�H~��~��O
d�i���bZ&YZ1�����Ҝ���#e��:��Xc��2�*A"j=-�ͷ�O.e0�!��d��0�Xk��5�S��Z���TF4��L��ϼ
��VJX�7�
����Ց�v
��2I�e�wi3���Q06�2S���K<3����a}�^�
��ux�fN��̤q&���wp [�G�n`S�
Q���j� Q 
. z
Ikp$t"�@�
�*ߙ���.n��Z8�{ن
1��s��͢c9G�z���W��� Ƽ�N>=-o�E�<^O˯F@��Y��~��'i<�'c��C�p�c�'�*�}
�H��V3%l�*ƈCuҏY�Y�&�7��%qZN�|�����N�I�h\!12�q���k�4F��8�� [...]
-ik0��L��jq_��ya�!�G.�G����z��D�|������r!��~��[�:҄h���jc+ҍ�
-�}1� �¶��SW��m�?��+��
����@z�*B�&
��wA+84�����汆p�=S�IH9@]�U�
(D�F+c�酨�fS�
-�>��0�
��
-q��
 ���"a�
,U��G��Q5j!�P
W��ָ��

ʄ� @�7t��Y-���"t�}�"�c���xDC��"ʁp��ΐ���&�!��(4�A�g�6�Ɉ��T�X$���2������z
���qy����C��
�Z�LZ-�i�{��@1�~��

-���A �
�?�TÔD���4G��k{�)h�H32l�>
�Z#M��{Q7��^$��S�Ƙbo��l� "��@��9/n6
-l�4arq���$�0�I
-I��9c��F�+��c6�]k�@E���Z��aK
7g5�f�\w�o����,�a��,"�u�
E��KH&�`� ��L���h,�q�%
&e�e
�d��J���x$Z	�[q(C��]yԙ�����?& !UE��P�.Q�w��쯨�Ƕ*jضYQ{��Ͻ���<�ԭ*z���<B�
��Ĺy��!I�	��Ok^�v{\&Rp��L4�u�E"����)�!�ݧ��	�����,tH�Jϫ6��M1�
�����$ˉQ��$��2Y��UO���`���3���
�P��X ��D��U��W��@�͚�<N�=l����t��l�Z�IzWɶ����=���2�M\>�qڥ d��T�i�鼃
SDo�O
L�
����C
���1��z�>�y��QM�Oq���UUS�H*(s��J�����+wq>�
A����'�`��!+v��8�*<�{oչ��K+(q��I� �z���ݯ�Ox+��A3��c�6�m��мH� 	�rP�}z*�x���\�8Wk6����
J��_͊+ZU��](�o�{�kͤ|���`��l1�b���ɲ���<0I�	�����������q/�=׸c�3^!a���?O\]�A+,�,�jM� ;)V�E�6+
�
�tU��Μ֧�u
�ü�γդ� =�Y
-��z�*���/O��Ko�'�_����<����u��>����}Q&����I@u�x�� ��/�p:�q Ji����j�9ĺ
-��j���g��ʾ޳�
	��)��)Ⱥ���@�\��c�'>ag�A4��0�/��9�(:&K8�ӄcwL�`2�G8e�⡍���C��=Ti�a�E�.�[7]�8�m\oV�%|�tQ�����m�{f�_�;
���[�t�C��ʥ�8d��uC��o����
-h*�1�8F�Q쥯�P�f�"p���Ev�̦��l���P�p28
-R�
�U�I���u�T�7��;�ӓbd�Yw�QH=ĉ @�AQ����c�&���k�h�6r�lT]\!2u<G鯺��Տ?����� ���Ox���K�Qoߘ� Ţ�K��4C�v����!
-��1���[}�����#�*A�
E{�CM������0"Tn���[���2Si&��Z�:�8��
d2�_}���K
-5)�[F�C��8ԸrC��Y��3˶v�ٱ`�Yv3��C
?wB�	��\�~�
5�m_�Y�U>��h�kj���cMZ֊5T��J5����"T�#B��IJÞ��Hr�R������$�(�J��u���	�/��e��T����*�s�)V)��i��35�`5}pO��M
-HE8:?��A>ŵx��������w�u�J7�t_��ח����dV�u��r������5�hh͠�6&�u����J�$��K7�yf�ʰfG
-endstream
-endobj
-6361 0 obj <<
-/Type /Page
-/Contents 6362 0 R
-/Resources 6360 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6289 0 R 6290 0 R 6291 0 R 6292 0 R 6293 0 R 6364 0 R 6314 0 R 6315 0 R 6316 0 R 6317 0 R 6318 0 R 6319 0 R 6320 0 R 6321 0 R 6322 0 R 6323 0 R 6324 0 R 6325 0 R 6326 0 R 6327 0 R 6328 0 R 6365 0 R 6329 0 R 6330 0 R 6331 0 R 6332 0 R 6333 0 R 6366 0 R 6334 0 R 6335 0 R 6336 0 R 6337 0 R 6338 0 R 6339 0 R 6340 0 R 6341 0 R 6367 0 R 6342 0 R 6343 0 R 6344 0 R 6345 0 R 6346 0 R 6347 0 R 6348 0 R 6349 0 R 6350 0 R 6351 0 R 6352 0 R 6353 0 R 6354 0 R 6355 0 R 6356 0 R 6359 0 R ]
->> endobj
-6289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.468 707.071 441.891 719.236]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 675.365 266.586 686.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5) >>
->> endobj
-6291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 675.365 309.697 686.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 675.365 408.234 686.268]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 675.365 513.996 686.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 663.409 171.361 674.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.591 639.11 481.288 650.066]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 606.194 250.748 617.098]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) >>
->> endobj
-6316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 606.194 357.317 617.098]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 606.194 456.145 617.098]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 594.239 202.344 605.143]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.481 581.895 465.544 592.851]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.542 548.979 267.921 559.883]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) >>
->> endobj
-6321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.143 548.979 383.393 559.883]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.495 548.979 492.235 559.883]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-6323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.011 537.024 250.261 547.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.923 512.725 468.68 523.681]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 479.809 239.984 490.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) >>
->> endobj
-6326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 479.809 280.82 490.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 479.809 405.104 490.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 479.809 513.996 490.713]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 467.854 171.361 478.758]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 454.301 432.092 467.459]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 421.391 251.209 432.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) >>
->> endobj
-6331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 421.391 290.549 432.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 421.391 409.969 432.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 421.391 513.996 432.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 409.436 171.361 420.34]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 395.883 456.992 409.041]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 362.973 224.57 373.877]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) >>
->> endobj
-6336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 362.973 272.162 373.877]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 350.629 347.869 360.534]
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-6338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 328.672 199.556 339.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
->> endobj
-6339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 328.672 288.991 339.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-6340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 328.672 449.718 339.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-6341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 328.672 513.996 339.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-6367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 316.717 244.556 327.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-6342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 316.717 395.48 327.621]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-6343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 316.717 513.996 327.621]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-6344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 292.418 164.537 302.323]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-6345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 270.461 273.129 281.365]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329) >>
->> endobj
-6346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 270.461 352.41 281.365]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 236.16 282.978 247.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) >>
->> endobj
-6348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 236.16 386.79 247.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-6349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 236.16 513.996 247.064]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-6350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 178.945 255.564 189.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) >>
->> endobj
-6351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 143.219 264.959 154.123]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) >>
->> endobj
-6352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.296 143.219 312.55 154.123]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.933 130.875 362.407 140.78]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 97.959 256.66 108.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e) >>
->> endobj
-6355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.997 97.959 304.251 108.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.5 85.615 366.421 95.521]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6363 0 obj <<
-/D [6361 0 R /XYZ 89 770.89 null]
->> endobj
-6368 0 obj <<
-/D [6361 0 R /XYZ 90 195.761 null]
->> endobj
-6360 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R /F41 366 0 R /F37 2635 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6422 0 obj <<
-/Length 1998      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~���SJ��0 <:mgڴ�4M��n_���a��x�����wq�4dI�<�C��X`������t����7Wg��D(��\�8v!��S�|p)
g\�q<?D$�a����Oﯾ{u)ߝ}wu���W�!z���Ydg��N_�q0���(��aԃϕsy��6�l�T:r�#!�a� cDBOk�R��i�9�9��݌b�H�N�X-���*)ʱ�I���r
�u�̧
I����E����+}_u{�������}9S�\�"���k8J8�	œ��cOK����(��LS~����oAA2ڹ�GNs}&�Ý�58
(�H��Z
���5�ޓ�`0�
Q�?T,�0��S�6���H��'��ЛV3/pE�^5���џ�"+�
���-0���
ע����)�����A��IJ�ȏ:�{�*
yݍ"��{C����(�uN	
-C�h����Jg���F$s òZ�|!�bF��OS�e����ȷ�V�G~h�L�qx��u"�U���}݈�ᢡ�b��_*�
�C@A���
�'��sb�F`A��J�?de5c�-f�& ���aq��h#�B�h$��M����4�{��)'kpI�m��4d�'�=����xUz$�B��PȖB�mQ+l�R��B}�^c�OinA�Qt� �Z�DB Ӏzb�5��5�P��5�
-�#R{%�Z�
�e��M��L<���;mā����k�:x�L�i`)rQ�MQ��^��a������ݝ��, 7;��=X�</
`f@�
��b���R��F���_�d0���zA�������|�X>
+�ȰBز��|�
-����dFzVؗ
��p�\��rz���;ס��@n�� ��
C��'��T^t��?D?�y��p�J�
�J���R��3�n͝Ajd)�� ��Rd����j8HA�k����cP�`'|}/
�W��!ԡ|�ψi��S�c��4������$ �Ð�{��
�߉�_���:_H�_Gz�bs�$���\÷i& ���{�;8$ĕ�
-(��2^���ռ��D�)j�8I��u����s(����ɶ�~�n�ʼ�/�m~�����"��I)�$���F.D}H�,$�#�#抋7��9԰�
�����zb�be�.��:�'2���N�w�w��'��N�
���*�����A?�s4��ֽt~�m&������4��k�)���"nD���A�o>`�Oٽ���dа��
L��ɵ=E
δp��/]AM�:m��h$��"���
R���W���P����
x�?���'��땨��J�/@M�3��)N��_�!ڄך�եX�ÌnJd7:o�&�N�;���f��ty+��mwL�Nsm�]Nf6/
-L�Dz<4�|V͇�pk"96�J
�VNf��}��	㉛Tz�R#�v�q
��0Ȥ3����Y������?���(�;{�jR�� ��nm�Sd%��B+
-z�r4@�uͅ/������<�
�~V���I�ռ�6,{�0
�=�����La�ƅ�~���@�ۮ�&������8	�Q�4��4���ԃ��!?i\,L��3�Z��Ŕ�t��y�'��$���"�2A��p��)�t�f
�/W똜w.�J� ��P
�P�ٮ���
,�2ۜʖ﷿�V�<�"��%}
-(
-x�˼�+��h|D���)Y��������O��<`5�B���c"�k�\���

�Xw��R�h`��Ix���<$�H���n����>��7i���B�Vq.��9��[vd'�V�[Z�]��aK@
P�G�m����}}�GL�W���߂��
-:O�_�H@�iA��	d\
N���ӿc��'����1���HpT]	Ґ�� ����}u;Ύ��<��[�T��mz]ŕi��V���n�q�n#�<�.���1�D���!Hp��.EK#�x9��G�
-t�4�c
���mӔ�_\l6���:O�
-��EY�.
Ba��,`�En��%+*Ѳ	|��� ��_�>v�
-endstream
-endobj
-6421 0 obj <<
-/Type /Page
-/Contents 6422 0 R
-/Resources 6420 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6123 0 R
-/Annots [ 6357 0 R 6358 0 R 6380 0 R 6381 0 R 6382 0 R 6383 0 R 6384 0 R 6385 0 R 6386 0 R 6387 0 R 6388 0 R 6389 0 R 6390 0 R 6391 0 R 6392 0 R 6393 0 R 6394 0 R 6395 0 R 6396 0 R 6397 0 R 6398 0 R 6399 0 R 6400 0 R 6401 0 R 6402 0 R 6403 0 R 6404 0 R 6405 0 R 6406 0 R 6424 0 R 6407 0 R 6408 0 R 6409 0 R 6410 0 R 6411 0 R 6412 0 R 6413 0 R 6414 0 R 6415 0 R 6416 0 R 6417 0 R 6419 0 R ]
->> endobj
-6357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 697.03 214.06 707.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6) >>
->> endobj
-6358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 697.03 261.651 707.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 684.434 358.593 694.339]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.284 662.225 313.701 673.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) >>
->> endobj
-6382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.407 662.225 361.661 673.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.347 662.225 487.799 673.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.63 637.674 376.664 647.579]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.429 604.506 306.547 615.41]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) >>
->> endobj
-6386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.542 604.506 356.796 615.41]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.202 604.506 486.655 615.41]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.627 579.954 379.162 589.859]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.72 546.786 264.238 557.69]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf) >>
->> endobj
-6390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.815 546.786 315.069 557.69]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.421 546.786 445.873 557.69]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-6392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.613 522.235 287.921 532.14]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 450.745 289.866 461.649]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) >>
->> endobj
-6394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 450.745 359.324 461.649]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 438.149 159.193 448.054]
-/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
->> endobj
-6396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 415.94 290.971 426.844]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c) >>
->> endobj
-6397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 415.94 360.43 426.844]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 403.344 159.193 413.249]
-/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
->> endobj
-6399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 381.135 224.003 392.038]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) >>
->> endobj
-6400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 381.135 271.594 392.038]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 368.538 272.49 378.444]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-6402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 346.329 254.15 357.233]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) >>
->> endobj
-6403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 346.329 338.263 357.233]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-6404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 311.524 284.585 322.428]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791) >>
->> endobj
-6405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 311.524 354.044 322.428]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [475.143 298.928 513.996 308.833]
-/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
->> endobj
-6424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 288.623 213.44 297.529]
-/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
->> endobj
-6407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 253.805 241.726 264.709]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a60138f2b5d41fd62c862fdcd7c4a1e61) >>
->> endobj
-6408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 241.208 407.658 251.114]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-6409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 218.999 249.318 229.903]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) >>
->> endobj
-6410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 218.999 288.321 229.903]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 218.999 371.519 229.903]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 184.194 240.62 195.098]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a) >>
->> endobj
-6413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 184.194 324.734 195.098]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-6414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 184.194 389.5 195.098]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 111.441 153.097 121.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd) >>
->> endobj
-6416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 167.466 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa598904833b374d50efc72c51914112c) >>
->> endobj
-6417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 74.333 191.535 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6423 0 obj <<
-/D [6421 0 R /XYZ 89 770.89 null]
->> endobj
-6425 0 obj <<
-/D [6421 0 R /XYZ 90 128.016 null]
->> endobj
-6426 0 obj <<
-/D [6421 0 R /XYZ 90 91.402 null]
->> endobj
-6420 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6467 0 obj <<
-/Length 1623      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��T��`�oz�C��3I�ֵ��!�h(�0� [��] %є,g�8�ńL<v��o ��-l�
�|5:9
��ȷ}�jaE�
-�y>�J�c���O�c<>�<�y
��'6
��jIS
�ޱ9�����5g�dj{x�*����
��|B�1-
-;��ǶM>]�
�r5�{D@l}����J�чO�J��o-��(�n�I���<3�r��5�O�Vd����*����p��D�V��&������`c��!��Fͬ�;zR�9�E>�1s䒙���
���t��R[�Z���BXo��6����d� 
���t^�w4
�bHp�!?"��o��$.�
�T?S��B����")�*�l��	���#��]X��y���NI�¾5�m�:�G���6�>L=p�/�k0F���qƋf�/	c��Ϋ�
�@I�UI�B�Ay�v�\�:`;G��g���r���f2==M(�C����
hz˟._�y��|�cZ釠���fZ��(D�
á��?Z۱Q����ʥ��ƹ��3�4p�y��`&���L�$<"�g�|d���3��
��=�Q����D�&�`���n��tl-+�cY�VGS|�urz�b�D�"����G�E�yYf��>+�t/�� ��
���
�Twm{���������>� [...]
-��Aq�L�HMT$��q�n��
UE4A�	3��
! @�A8:.o�$)�Sp�l5񼶘����8%6
/yM�=�-��:I��:{>$>j~G�E����w�۹�K�o��%��x���h
u��i�	�r��|5�:���޿J'7g3����J�G�Ɔp-�Z�%��%1��z��rtե�r�[��7/���M�U�!��u��^�l�M�n��VR^|'�=�y\Ī�V��
�
-�����v|z�AY�Ǟ���r��,)S���(�����ñ�s&'�
�1�Aj�.D����
�o�D��J� ~@�j�!C�K��-�y=���{��)�㳺HT���H`A��u�Ͻ�
-}�^x������ۙ��κ�{��P���x��@���e8�嵩�)z7ƃ2�?�"���n�^s6X
v�K([��J�Z;U
��A��@so
��8M�H�$�@��*��+!i.
U	�����>�`�v����c֙S�W.�T�Wuv�%f�4�"�QS|�H at m
���;� �����D�)��gT�H��~��N���]�l��F�g���ć�:�c
\)aD
��>���4M[c�"3�[
e� �z�~o￵:r�=�_��9]_����'�v�
�Ų���u�I1���
��X=�[)�]Bkn��͠(eW�vE��=
��5!���'�ݹ�<���"�D�"�޾���Z��.h�>�t���e��8�-��^˪6 (ݛ���j������P����|��s�7���
�*�7�$!�x���W-���xn����{��i>J�
-�T=&������PF����|]AB�$��_����K���Z��V;�Uy��!���5C�RV�''777(�.X��'U��ܥ��.��W����P�.��?��~���/�;<9
-endstream
-endobj
-6466 0 obj <<
-/Type /Page
-/Contents 6467 0 R
-/Resources 6465 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6418 0 R 6439 0 R 6440 0 R 6441 0 R 6442 0 R 6443 0 R 6444 0 R 6445 0 R 6446 0 R 6447 0 R 6448 0 R 6449 0 R 6450 0 R 6451 0 R 6452 0 R 6453 0 R 6454 0 R 6455 0 R 6456 0 R 6457 0 R 6458 0 R 6459 0 R 6460 0 R 6464 0 R ]
->> endobj
-6418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 685.297 193.029 696.201]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) >>
->> endobj
-6439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 648.944 193.029 659.848]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
->> endobj
-6440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 612.591 165.911 623.495]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0) >>
->> endobj
-6441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 576.611 187.689 587.142]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553) >>
->> endobj
-6442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 562.868 476.544 572.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
->> endobj
-6443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 528.926 202.902 539.83]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 528.926 300.037 539.83]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) >>
->> endobj
-6445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 492.572 202.902 503.476]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 492.572 314.263 503.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) >>
->> endobj
-6447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 456.593 199.864 467.123]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) >>
->> endobj
-6448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 377.818 203.075 388.722]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 377.818 296.324 388.722]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.377 363.324 331.306 373.23]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 339.218 294.481 350.122]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) >>
->> endobj
-6452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 300.618 287.856 311.522]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) >>
->> endobj
-6453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 220.224 180.54 231.128]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) >>
->> endobj
-6454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 220.224 228.131 231.128]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.864 220.224 290.118 231.128]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 112.933 226.034 123.837]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) >>
->> endobj
-6457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 112.933 341.43 123.837]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 74.333 178.239 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) >>
->> endobj
-6459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 74.333 225.83 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.563 74.333 287.817 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6468 0 obj <<
-/D [6466 0 R /XYZ 89 770.89 null]
->> endobj
-6469 0 obj <<
-/D [6466 0 R /XYZ 90 702.271 null]
->> endobj
-6470 0 obj <<
-/D [6466 0 R /XYZ 90 665.918 null]
->> endobj
-6471 0 obj <<
-/D [6466 0 R /XYZ 90 629.565 null]
->> endobj
-6472 0 obj <<
-/D [6466 0 R /XYZ 90 593.211 null]
->> endobj
-6473 0 obj <<
-/D [6466 0 R /XYZ 90 545.899 null]
->> endobj
-6474 0 obj <<
-/D [6466 0 R /XYZ 90 509.546 null]
->> endobj
-6475 0 obj <<
-/D [6466 0 R /XYZ 90 396.665 null]
->> endobj
-6476 0 obj <<
-/D [6466 0 R /XYZ 90 396.665 null]
->> endobj
-6477 0 obj <<
-/D [6466 0 R /XYZ 90 358.184 null]
->> endobj
-6478 0 obj <<
-/D [6466 0 R /XYZ 90 319.584 null]
->> endobj
-6479 0 obj <<
-/D [6466 0 R /XYZ 90 239.071 null]
->> endobj
-6480 0 obj <<
-/D [6466 0 R /XYZ 90 158.677 null]
->> endobj
-6465 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F106 2334 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6492 0 obj <<
-/Length 2478      
-/Filter /FlateDecode
->>
-stream
-xڝYKs���W�D��`�N�Y�l�&�l�N.3[S���P$��F���t��C�3;@��ht� �:{�u~��������u2��~�<<:��$a&��
-��ʏ��/?9A�
-/�a�
����
޼{�ǹ�7W�^y0�:
1�D�:��Շ_\���
WY�4��	� �ʹ��ו˲�[�-sR�-Q6�τ�:��	�#9�����
-Ÿy�%#��^y��(�h��D{��|\o༫�.���ՙz0u�E��Է*y^����
��d�E"ά��X��[�J�T�奫GI�uO���,�ЦyI�7o�xd��E�mP#^F{}��h�����\w�e�nʂ���ݞ��^S���@���}t	V��W?��z�?��T�'Yt�����.�η�?tv�	�?>_�.Ϸq=��ޢ*�P�E
���P$�O
-�o�̫�7����4'ư�/noՉ�5�
�"�0�xI
wbQp�(��
l���.�+�Xx��
�d���d��I��ʶ/��D� �h�"�
H�M ���f���W��
;T�Ā�U�R���%Kt���+vRj�
Ϋ�<�@^
'"y�Es��z*������i�� ���
��Dulۦ�Ղ��P�6��N��D��Z�����i���:L�5-x�4D�M��	
T�rS�!��;��<�ZX�������o�f_�b�~e
�U�zm��@��7�V����\��#�K�`=��R\�qp�!a��"
f
-��������B?�@O-:�?5n�����95�`�������RQ[7<0�
|2l�����l����?���Г%tԇm���D�&��1�=�$�2!�
t�zcɉ#i�5J�[�p�.K?`��RX�y
x�l�z����l8��AK�����ȩ=�9�#�k�渭
�Q�".塬4��o�5"4�]��#Hd�)Y�
-~lxekR��D�
M�b�8֒Ɓ>�v����^��R�>��/�"W�Z��5HV��Yy?;Ќ>=�0����^��f�)�"r��K��P��`9bn�zoCp�&:~����?H�	ҕ=
���7�\�Ί���(К8�l{�#
3*�q�!��0� }y�*�X��ZN�$��\7����\V�IB��vd
-Cj�zFc IYV�?v�f�aF�	˩Y�>1Sbc
�
-��,�8wT~��k�|)w�&�T�i
�Uq�$�8��Lt�C�6�v�8�EnR�A
���ztP@��<c���8d��CYc̡���bX�
-�3f�?����b�z��4���
��#�&˨6��
-� !ݙ8��b�
�t	 W���#H|^h� &�[Ϩ�Ih�?��1�L��-��-���ӡ<��Z�˪���l�]o���~9/P�����2mg_Y��@~=�КT�W�
-�:�`⼳�䇦 =�oORԒ]���84JC�I+��T�P�}f��TD�1��MI�>�p
Gr[��-�I\|͋hd!z<���_��j:�d���q6
R�����W�2��IQ/^�~'(
�Yȥ��O�
�މ����Ѭ��!]Ъb2�[=�َ�;�|�]shA����IM���7i�#wf5�a�.v/����8ȋ�l��1���Z=i�/
A��3
�����=�]����(,!��{��
�%�<�C[^�{���Y�
vy�	B� y6�H
��mU��~!����7���y[�����{������@�PL"𾔅��C�9ʹ�*y=3�/T��D�5-������Yuž>�;��a-(h��&7��M���]C�V`�
E��G�G��vP�����Z
lr�Z��
s��Mv�f��`L#��
D�	���:�w�ˡ�o{��ϒ�����3��Xd	\���
-
"��|�؄�=#���
|���H$k�Gs�1yh�=:�凶�����{ ��``6�k<�P��ԉ�h��79F����o�%i�̞�^ab��
\�� �ȥR�.:*Y
W�\Ϫ*
-����'%��%����|�D�F
�l����֛�3
-��(�@�2&�h�i��.#��%ˇ����4s�}C���x��5H�³
:|%MF*�|�aF.x��Ȳ�
*U 0�ΤI;�p��yH��q��
hF�̚�ʺ�F�� Hڼ��O�-ԁ���M^u4/���E�rr�h	�aa�B�(/Ḑ'��j
9�C-
<�y���>�U�¿"F��|oY|��]*�����l�W����z�������%�c���%l^�:�~^,�~��${|�s��%���/(�+�
x��zx�woV�=0�m���C�����}=f���>�z�_Yq!O(@�n
���{���\��M)_x
n|�Bg��R�����oI���
\ŋ��@��(Kg���/�4�@���ǿ)ZGъ��?����
kM>�WGW@���YRߴ����
-��vL�o�(#�!����������9�Nb�$�eӶ��e$
q��&,[W
�����=�䍍�?��J�
-endstream
-endobj
-6491 0 obj <<
-/Type /Page
-/Contents 6492 0 R
-/Resources 6490 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6461 0 R 6462 0 R 6463 0 R 6486 0 R 6487 0 R 6488 0 R 6489 0 R ]
->> endobj
-6461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 684.238 156.281 695.142]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad452407f89cb560e83fb81938c12a585) >>
->> endobj
-6462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 684.238 291.433 695.142]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.645 684.238 440.981 695.142]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.132 602.156 229.386 613.06]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.945 442.301 182.89 453.204]
-/A << /S /GoTo /D (main_sect_rational_grids) >>
->> endobj
-6488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.819 330.684 398.978 341.588]
-/A << /S /GoTo /D (main_Grid_Space_Dimensions) >>
->> endobj
-6489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6493 0 obj <<
-/D [6491 0 R /XYZ 89 770.89 null]
->> endobj
-6494 0 obj <<
-/D [6491 0 R /XYZ 90 647.282 null]
->> endobj
-6490 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6499 0 obj <<
-/Length 1617      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�RTn#.%m�K�$@���=I`pe�+Ԗ
J����ÇdI�cg�
m
J��p��曑{
{�G?NFW�b�(�{���b/Sqx�y|���`���1��P+1�S��ݝ�)1�9�UB�_�|6h��KQU��K5&�/�L�%��iDƟ&oF/'��#�`�ؽ#'^�}���L��0bi�m���
)�q��:����
�z1JcL���1!�{4���,�u���wU-W��I��=0�(�UXT(/*��8�
��.�¼a#Np�(����ˑU�ά�p*�u���F����S�Rp��
�I�u3 ,A<��FO�,��=��w��&��[��-Y���"
����{�Z/��:P�xG�$(�)8S��br�5�؟��e9���͋���~V���N�M��UvE��MT#����e1sڱ_�=�e^8cy���z�H�7�!�m�zgEb�C�DKĈ��2ĉs�Z��cR�������*f��`Υ
-&�ř
��������1�G!a�n�\�؟c�RU.�V�{q脳�&�5c����="�L���z�w�
찳����{0��hì����]�{���~`���z����Ѫ��=9,��pB��ko�Y�P�k��v��*WN�-�
�������ۣZ�,�ﴑ��6��C�(\arK�
��u�AT

��2v�����X�U�n�)����Q$9
�=@8�
C��.�����E��1�^�
cF�f��F�B��]2v&�b n(դ)�R)c�!o��ފ$��
%i֟1�M
- at r�#\��0a��QF��/M��	]ǣ#D
XԱ$FQ�g�V���.K
��lm�ߤ�
��X��n�ؽ: ����M�8���oNjE���������R}5J���gF{W����	�E���4p�[���;��h?~�=u��P-E!�T�))��yֲOG�q�h~���9!@i��/J������$�F�~}���A`XK@��

�׍�# ��	't@@�w��H;`	�k]�֦���
-KQ��E���
�,MlX���,���Ć�1(�a/�Z`��Z�k����T�7���ԥ�g~����r�O��E�`�
@�ٷ�oo&��⍅B�!L
G��dMNQ�>�4ę)G��}����m��%ʼ�DߙS�]e��K���R�@R�%��ahw��M��K�MU�Y��j�{Ŵ-�zf{'
;9�U��[�R�e��h
�4�'���K�ʢڨ�껼�s0�+�
pC�ЋB
L�nؖd�rO���L1�
-:�\�Y� ��G����A�ጙl��µ+�ݢ!�^3���z���&K�Vm�ʶGL�:rT��q��u���O���,g��9,�MY�4�NJj�4E���KÚ�i
-�m�:+�M���Z�]7�A���iR�4�|@�j
-,6��[��a^�8E�&���E���e����@5�T{�O���u{��o�"�.��������^`"�;��G�FcS����6�7�����7H�o�Q�; ��FQ7��i�Z�cY at -���^JwH{�?���'���>C�
'wu�����n�(��]k���j�^^
��c�@	h��-`U*�th0��hx�R�~
-endstream
-endobj
-6498 0 obj <<
-/Type /Page
-/Contents 6499 0 R
-/Resources 6497 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6496 0 R ]
->> endobj
-6496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6500 0 obj <<
-/D [6498 0 R /XYZ 89 770.89 null]
->> endobj
-6497 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F31 503 0 R /F7 538 0 R /F11 442 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6504 0 obj <<
-/Length 2696      
-/Filter /FlateDecode
->>
-stream
-x��Zm�۶�~���*��W�'ڎ�i�i}�N'���'ꎭD*$���]`��'ɱ����Hb.���"M��|}��뫗_i�XbS�&כ��DKKT
-w���W|���7�H
a6�Y��������ߺ����W?_1�	��&��]��M�����aM��v��~��۫�]ѡ.*
�¨&��D3F��si�"_����KN�b�v�b�އ燲Xr���dj��M��wu���L`�u��˦��H��ns���_	6Ј3�Yj���"#�5�IE�\)���yX�!�1[�3�o��n�>dۢ}‘۪��yy�������D��X��E���A��}�%,���
���Vu�7��\�R�D�i�
p���U8��5DJ��q�1	I�����N�EPF‘����ٞ�[�2���7m^O6�͚6\exVm�q�`蕐�ˣŵ�+�,&<l[oA�h0��*Tm�;S���1&�;���4��'+Chj����
l��!Fu��j�b�^<
/hI��,�PB')�Z':i	� Ҽ���9�8��@j�,��NNh�*<��E��\h���`(�ρ&+K���Y�#��##2��iv7���ҍ
tJ��h��a����#fļ	���N
)Q�0~���l�w� [...]
-���#��w����
8�3 at o
�=r<Do��{��G�z,9Hz�6&�QR��r�3H�B��$�I��w��� ��P �)S#C#���)9�	:* ٱ��Q��>�������B��@���H�9Qœ�H�+�������ew�\eÈ����P5C�z�
�{�����F97wy��Y[���ɾ*Jo>���8�B���{? ��d�8���gsA,�d�S�W�2?(<���Gz��Wˋ�>=����K{��o���������
0ɔ{S�!���X��
B�'��rg�����
uy���@�
1�R
�).�6�1U��@�`΄Ĺ�Nf쳢�V�p��])c�>�(m\�q�\�,ۑ��y�]����(��Z��
X���qDh �p�����5��tߝ��`���t��
�\�̗;��*�����Cg|ƒ�_{Ғ����S��<
��z�ܰO ��E��W` �ʦX���(�a�+�"{�v�q�n��ڼ��w��m|m�q�q�/�`]���g_�\ϥO9�sT�����\������bX�����"%)�a�:�mܕ?

�6~h��)��m���6k�p/�"���ɲuqw��
�#
�#��m���X�v����
�&Ry��G����̉P�ʜ�"����a�+v�=4�R��GH�C��Ih�aĺ;ֳ
��Lt�=�3@�ƨ��}��ǁ'J)o�:�ܜ�-\J�p�
-�(�㱻׌��
9���Z
'x��4$W��)������
�P��3 �1`9nS6m���X �R��>���W��H�7/�U����1q�O)'�.�
J�ޤ&"
 �k ;���BM�
Ţ���G}���ٶ
u�'N�S��b|)ƿ��X@��s����c͎#k,������R
��l�q7M��>����^A��c��ƭ82<�T�ڿЊ�� n0��
��x�p
�xz��rUJ̎�E�b^X�}p���
[�N�u��ev��ΩTF�
J����p+�h� � x�2
BL:�h�*�� >�[�M�	4u�]��8
�g�?s sLU�q�]�Og{cv��g{;S/�m��p
�Y0�[�ꌿ��=f#U��L�&�F��^�`nx'�
^&fz!�W�
gy�
b��п�3�%����!����[;�
��S;"�ؘ�wDp(Ǒ�#�
;����`!!Wt��CV�u��N����&9
��ت�:����jW��+p����F�����MT�)�������?�1 at P)�˵2vU�#օ�a��*��'M�+�Y�7��B�#z
-�&�T��n�M��zv:
���I^�N��b�+I0K1
-�,�)}��SL����*�׳T��43�!��
.�"�>I���gI�����4)����B-&* 'u*5ϑRnV�&�"�{�Q�
-�F rDTC]9�7]%��N;��
Ed�3s�����;�_Vy~��c
�]�
��3w�Á��T�@��֋M
��A	�У���SO�F��/�)g\�׹3��Z™=qj0����v��!��
-��
�@���Wϲ�.-)':6xe�b��9\Ǹ`��
E����+S��d�,ƏBd���X�“�Qع�����$OůZ�@�Ox#���>����B�7�۳DPJ���g&�ҥU�)<�[z�y�J��o~^?+���pc�����J�LX��Z
~���O�������,�4y����$��o���p�k���\
-� ���>ox��a����$��[4�@i���9�}��x�����6�P�����~���
Var�K�X�Uu
�����!��m�O
-endstream
-endobj
-6503 0 obj <<
-/Type /Page
-/Contents 6504 0 R
-/Resources 6502 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6501 0 R ]
->> endobj
-6501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6505 0 obj <<
-/D [6503 0 R /XYZ 89 770.89 null]
->> endobj
-6502 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F23 364 0 R /F8 537 0 R /F1 577 0 R /F11 442 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6509 0 obj <<
-/Length 2233      
-/Filter /FlateDecode
->>
-stream
-x��Y[w۸~���Ӗj-�$���89�����w_�

��$v)R�Ų��w@������i_$3������u�������ͻ ;	������	<������%Q�$c�Â`7*���Âb7OO;�.��_��"*N�^�/��bI9v�O��ԏ�F
�2�%H��]������W��W��"�
v�ޛ� t��է/�Y��FL�αY�w<��;u��~��fp`�
-sB!ڔj'�F�,�J��
n;���\P�>.weq�S��.��~N��H:DE��2գ*7߰w�v�U��#�A�F�'���:D$���SR��I����ZRF�	<P�P�v����O�޷}� 
gI`�s��;et^�v��������]����yxT^��$zHe���d`u$L���㠐��6�~1K"��g�1��Z�KN�sk�j-�֎�_�2�߷�o�4͕��.H�|m~,w��rdn�|3�eSgq��V,
��c֞y!���\��(��u��Y	�3� ���ܻd�G�R��*iW�e&��ʋ�ݩ��^�p[ιy[�$+eQ)��Y
�$kFMRC�q��@暗~���ArSg0��7���:�n�Q
\"�%�6�(C�\�҇Ԓ��#�&{���K����,Ww�ү<F��G#T�<y:'r���d���-Й�Q�))/&������X�UTh�T#
��IacB�y����8�C�_��0l9���t8��|��u�`
G!�8
.3�5B���]&
^Oyȣ
�
!�T �w4�ep��d
lk+|�!�������r�J�:�Q@�C���m�Q�2�,("
m5�8�*@�d��7;���`�5
��KR]�
�WE�K�P�
-��/	ri���o�/8�%����
��Y����ubh��|�}�N	S7��jS�z|��L?)xQ���>B�i�F?��*��Y�&I
�^���:���AQ�{�[z�S3��	T懨��}T%q+
-$�QQ2��Bf�^��/��hS�B?�(ޙ��!)
u7
��wW��\�)�=��܃�uE@~�T��J&*�[g�;ȸjU��T�(o�Q�돇�0y�"(]�p�
*y��~�"��y��5]T]T
���Q��:]�65��Z'%.���[KE �?����z�9�%���ˤJ���}�9�����/�|�7��Cف*�!�K=�����C�M?'e�����)�3�`��
���>�
�O�%D
w�0|�h��Y�
>�C�uD�kfZ
���e>pS��&�fT��g�WG���	�1P�7�/�
:S�Q\�
0�H�5�߇�ƙ n�A��qNM��f��+L��̋d�dQ��U�*��|��B�ˡ��hu��<���ًk�z�EJ	
V0"���P���
�B��{�uM*
-�f�:^A�d-���HU�!���ĭ�I,�jc�T��%��Nz����~$�qb��e��
)#1;*>([�4Ջ���ui8"�B��V7���N��{���_}JWE
W-�}���J{�m
�Ma�^�S1OXb�Wc]{
���s�:
�P�C�($�X���$4,
Q"��jEz��n3�
��Aյ	U r����ꞁ\ݦM
7g�*��
�5��3{R����w/������ǻ�I^�z�z�e�!�V}J2�ϻ�-�TɗT_�����	�����7u��K�����H��㴆*��K>cL�Yy(�T�|�燑 ��:~&� ���-�O��t�?�.��3�u�qpDEw
]�
<�i���,���ip�s�\(��c��L����z��m��h��C��v𝳊B�����h,
�Q�Β�u
��PG�Q�}�NPAaU=
-*
-!mF��X
����pYT�2�V��,
-�lυB0�B_
L���=ݴ~��8Tc��K�
�_��S���m[��P���U��,�(��PEBej��~�s��}��G���E���ڭj��9e
`���e��C~�^�{d�{⡬c�
jT�
ٳXx�^�o�.�͒�sA�q�!������}:n���� =��� ����`Q��P1;	�Xq�8�
��j���K��"
��A�
-13lcLM����pi��
-Xc�OQVG�/��Rh��3
#8��h:wR#�e�:��_�ח�p�c�]U
^��
�G���P���9
қ)l
���^'d���>/d{�0�o
-�����R�
-endstream
-endobj
-6508 0 obj <<
-/Type /Page
-/Contents 6509 0 R
-/Resources 6507 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6506 0 R ]
->> endobj
-6506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6510 0 obj <<
-/D [6508 0 R /XYZ 89 770.89 null]
->> endobj
-6511 0 obj <<
-/D [6508 0 R /XYZ 90 378.693 null]
->> endobj
-6068 0 obj <<
-/D [6508 0 R /XYZ 90 356.381 null]
->> endobj
-6512 0 obj <<
-/D [6508 0 R /XYZ 90 356.381 null]
->> endobj
-6069 0 obj <<
-/D [6508 0 R /XYZ 90 178.499 null]
->> endobj
-6513 0 obj <<
-/D [6508 0 R /XYZ 90 164.507 null]
->> endobj
-6507 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R /F1 577 0 R /F8 537 0 R /F7 538 0 R /F23 364 0 R /F31 503 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6517 0 obj <<
-/Length 1195      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~ׯ�E3a�W��x�L�&uk���h0Z�L(��ֿ�ݕ�9n��i^,�����
������������^�␆�t��ؓ<F"���w�S��7��

#D�Nu��~�^|�^��F����W�#F�@2��|t}��9,��0bq��w�r�Sוw5�m��-�I��a�=I8�86\�	��*ɕVUݙ14yC�!	��b���t�?;y#��R���N�*�_oj�rs_.�5-�eը"U�Y��O�"+��Y���*���֞�
Q,�P�BA��T�uV�t��0"j=?;[�b��f�����R *����
S��Ƈlў���N
�;R4�l�媨��
Q��N�჏j^�'Y��p'��1D�m.�Ij7n�!k\/��$h�
�8�Q%���q ��Vy2�
SH�js��U2�%���jsv��g~Ag(�OX��m�gWa��`���Q���k�����!0�ny5g��*ݤ+5{W�}Hr@�Nb�!d��y��*F�
�� N&�7���n����P7r�np������V.�����m��6��ӶB����K.��B���4�i!Zܩ*�C4
�K_�v�N�a�K�,i*�����e*z:S�>S�hK�`��T��T�� ^�
-��;�6':	j]5�n*#!�ݘ��V�.�]��=&~i7��Ղ㠺���[7"��t �b��tۺ~���N��'��K��B'��R`���ʢ����T��D+����,�Ң*��J����2�+��8�G��/n�= ��� �M= t�=�˫y<�R�d�޵X>� ^B�m;8�
 �q�L�V�U�f� W���P2����N�u�͉\m�p��g��*�/p�q����_�)]$_>SB�㿍M�=6Ɋ1���d��gI�l Q����@1����)�=@=�F g1��~�����5�
���Л�8~�+Q#�bۖ�w��
-ӊobZ�i��ʧ���">�^�a[�S�m#��ˆ�>-K�d=���=C�����|����͏&��,�ܪan]��t|>��fDβS?�tb B��u���%�ً��l�m��>�j6�������~

�[�?$�n��Ҋ�<oa��m
��J)�q�O���<�xr��H"��{���l2���Gi��"[W(ӓ�z5y
�=)�9�VȢ��|^Vʕ
-,�v����� ����
-endstream
-endobj
-6516 0 obj <<
-/Type /Page
-/Contents 6517 0 R
-/Resources 6515 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6481 0 R
-/Annots [ 6514 0 R ]
->> endobj
-6514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6518 0 obj <<
-/D [6516 0 R /XYZ 89 770.89 null]
->> endobj
-6070 0 obj <<
-/D [6516 0 R /XYZ 90 640.426 null]
->> endobj
-6519 0 obj <<
-/D [6516 0 R /XYZ 90 626.035 null]
->> endobj
-6071 0 obj <<
-/D [6516 0 R /XYZ 90 425.037 null]
->> endobj
-6520 0 obj <<
-/D [6516 0 R /XYZ 90 410.646 null]
->> endobj
-6124 0 obj <<
-/D [6516 0 R /XYZ 90 221.603 null]
->> endobj
-6521 0 obj <<
-/D [6516 0 R /XYZ 90 207.212 null]
->> endobj
-6515 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6525 0 obj <<
-/Length 1412      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_�O�
T
)�H
-�m���-[2`E[�����V�n���Hʒ�8I�
(�O���<w|�(�
켚=����
��H�¹�v"�,B\���y��|1���=���u
/��>v�l���:^�I��ޝ�������9v�gq�����Z�s��H$h���|��������ӌ�/�!�6GA�$���G�,��k#��M'�;̧�9��f؄��ါ�xP@���1-7y���ۍ'/�l�
1?�:�:��[�xe��mv���&q��ez=��
��B���f�:5���yu]���Ӽ*aU�eR��7�*�
8=ʜ�"T8�OQ at M�^lY�t���U
�� G�G��ZE����i1g��
g�r׫MA
C0�(�-���l��)tH��8\
c��Ng�d����~���Y�I�eF�	C��^��̤��<-�
�v��oa;@�e�
G$d2Y��z!뺬�!p��HnG�|D�[�M�X� |c�y`!�ZoA�	w!�r�
����4ߘ���ՎHsr�*N�-ac
�ƈ�q?t<@&��ѣ��
�0�]N�c���,d
C�/.tYt}�]g�� arߨŪ��~|��,���0F��t��v�?��"�Bz2��(�U�&��8���_y�te�m�I3��X�� �'�"��]Z�F"���e���6���2��< �3[m�pGZ ä�6��?6ڋ�6�
g(���T�]3%�R���$"��۩��2��'P
A���`!?`�}R��{X9���s�,�3V~0����n�W�\��3�1��q/�����
֤˿��Q�
��t9�H�.����F
�
�I�
Q�{d��8�`LvI&gE�QS�=�)�
Sn?�
�8
i��q���׽��I�a�
C׵LڔCL��Q�}��	E!�W�ڣ����q��������=����a��y�s��8(����:7!����p1	���ɷ�U��д@�Y�����:���u��	
-XdԮ�p]{���Y��OPo
	fS�1
-�~�O�I�=�
-<���7$�>+�N��K8�Ǣ��
E�P�g�T�� �@A �	������ "���Wekm;������
�������-\��3ӄ�p@������ǩ"�����_�-�����͋?�.�M�= l(�h(y�
�#6��
~ѤG'�f��,���r;�H���ª��`"�'e�A��p"����P�3>�{����[���ec�*h�is�?����4�6K9�`#
�k#����$�B��&�o��$�&$4�V!M
��S�y˘-�GK��0�~�����s�]�ַq��Sڭ[f�ܪ���1jK��A3�\Hi�ԑ����ϳ�
��%p�(�Kt�Tuzrrss��m���Q�N�*;��Z�
��k;}�e-�`
/�XY���7��ז
-endstream
-endobj
-6524 0 obj <<
-/Type /Page
-/Contents 6525 0 R
-/Resources 6523 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6522 0 R ]
->> endobj
-6522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6526 0 obj <<
-/D [6524 0 R /XYZ 89 770.89 null]
->> endobj
-6125 0 obj <<
-/D [6524 0 R /XYZ 90 642.037 null]
->> endobj
-6527 0 obj <<
-/D [6524 0 R /XYZ 90 627.81 null]
->> endobj
-6126 0 obj <<
-/D [6524 0 R /XYZ 90 429.927 null]
->> endobj
-6528 0 obj <<
-/D [6524 0 R /XYZ 90 415.701 null]
->> endobj
-6127 0 obj <<
-/D [6524 0 R /XYZ 90 202.643 null]
->> endobj
-6529 0 obj <<
-/D [6524 0 R /XYZ 90 188.417 null]
->> endobj
-6523 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6534 0 obj <<
-/Length 1404      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_�O�
L4I��l�4-ֵi����,T����ŕ�%��;��,���fAQ�_b�t�{�xw�,
켚
�'��v"	*���a'`�V�s�R.�W�׎/BD"�Z�ɻ�����B����'�&^a�h
���'�W�I@���ȏB�U�
F}�͜�ɟl�མ�a̜�0Dq��O	v�*�e#����kh���� �{���|,������K.��"�.��JN=�1���\W��E�K-i�βJ#*�.�{J��I��
B��s�(
���(�u&����l8D��vZk�q5%����XK�tY��4��z'�8[�Uڬr���VseU�ev_�ygz�qN	w[�����N�<3ǣ!�jܧw
�nҲ��#7骛��(�ŲY]˪*�CY
8�A��ZUN)wo���s�7���IQ�z
/��%)d���My��@���Q-��U	�J� Ƙ���[H��ڰ��y|��\K�,�Hթ��
2
-ȼ��=
-U�

-�!�����
��!�ǃZb�i}���h�A�@$�r�H���~�2hz�F�� ���
-��Z�Ъz��~� �Q�M߯#��*�����ݠ<W2���7��*�^A���ߘ��Z���/�/V�z,4
-#���Pl
-JЁ

��C�
s �pX�����Q	�kli%#V�Sg�)
+sO�ar}��u=f:(�����

Ti��������;���}�>y�����_��?�
}$�n���1�����u�YZH�P@�ʻu�.��j��<�p� �
tf�L��`N�ܝ��ƌM����rS$2�Ј7������ZUQ�a Q�rAY�N�΁�ܴXI�����
b��J�5�M
��z��i�܊:���ۮ������"����h5��"]d�D�,�{�sh�c��
"��!w�o����P���
�ޯ��ڹ�u�
�:���.���)�Z^W�&)�f��~��h��m������}>���
��ŀ��pYb�
�*���{��Z���'�:
�qZg���0�O�u�sK�m���N��-�xYq����=��
�C��y�@�=
�x^��Q)�1�/A��9���� ���>��ۛ�
��}��4�Y���
�S�E���Il_�����1|ĭQx�1<���`�
�C��s [...]
-JW��Aܱ q�4l�s��o���������}-��
�^����-6E��*S0�!`#�*�@���{!��T���c����g�
�����t�4�����-j�)�u��f�^g���g��k�5r��ˡ�L� ��f��M�sz
-endstream
-endobj
-6533 0 obj <<
-/Type /Page
-/Contents 6534 0 R
-/Resources 6532 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6531 0 R ]
->> endobj
-6531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6535 0 obj <<
-/D [6533 0 R /XYZ 89 770.89 null]
->> endobj
-6128 0 obj <<
-/D [6533 0 R /XYZ 90 604.854 null]
->> endobj
-6536 0 obj <<
-/D [6533 0 R /XYZ 90 585.929 null]
->> endobj
-6129 0 obj <<
-/D [6533 0 R /XYZ 90 348.176 null]
->> endobj
-6537 0 obj <<
-/D [6533 0 R /XYZ 90 329.252 null]
->> endobj
-6130 0 obj <<
-/D [6533 0 R /XYZ 90 77.486 null]
->> endobj
-6532 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6541 0 obj <<
-/Length 1556      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W���@��C�� =$i�M�m�$�!˴�V�TI����
�ey��$���$Mg���f(�m=콘=��]<�����S�]m�{Q����l�}�	F��c�_�	�ӺH��s��2?�ĺN���N��G/j��/h���y�4f�VlD='�/T&@g��4�柮~�=���9#�
���;DQ�e���'�a�G#��ޡ�Txe�{�f���f�9�Q��)� ���8�Y���LOOi�Jeֿ�V]<�;N�a$Da
�v�T;�g�/(�~�w�EȨ��,�\\���4pN�^Ј�(���M����ɉ��"
�w}�K
N�Ĉ������˧o^_�z��˫�c�x��� ��	��ԙ�A\W��d���
��(LD������#O�2_�⑟���uO�o��UY��D���j���O�mY�vWXa�]�34��I�w�uk�R؍�l���Ȅ���;{�Tv�T"�1���U�
-zb(�n��n�&(�
�h�`��/7RI 	�v�)�S���*�	i1JppW,��c��
�Fz�{���Jg��5Sٌv�E���;8g ��S�M��N��3�!+�qV�7R�np��wjA"�i`���>�:��j' �,ϵ���J3;\�B�FvA�rc~���.t<v�X
���#
%F
K\i!ZQ7�Ӄ�1G�'`M�0��	'GƠ _a������>#%{~A�H��𶛡���
��y��4'ލ�`
X c#��mՂK>�d�Ӧ�Ґ
�mwKQ�e}�EQ�h
�圆��F��J�"�ID틥��f*�8"�
7��e�^�b_�	$�QD�o�Z4���[j����гK����dT`A��ɒJ�h����sȴ
-��⇕T����6�
c�(�+lL3�bE
WI��ɸJ���R�}�T�n������
CKv��\���K�^g���n�6��V��XO
\�b�q�l���
-z�N���Zǔ?�YwK�-Y=)� 	B}C�*��
}`��fٖ�h�Vf�
�e�C`�Ac��ۄ������j��2���Qp�����e���"UV�R��1g at t����$d0�"���v'��հ�M-��"��� [�_5�
�:G?�X]�
���@W
6��7�m�L�]|��|l���!��WD�Z6��R�ˍy
CMp����s/���
�(	�?N���0G�P��ܽ���@�λ�
��&���״�I{!�<��Is�^����;ڌ
M?���O\߂M� ��} ' �c!�.4@�\L�$NP���v��B�9�������'Y��็�
,K3ʺ�z�?lfڲ���̳T���nX
�\V�J��r��Z�B�:�j��6Ǧ��y��lg��G�U�`��T:��j�
T�54B'm����6*��kq�N������D9ǁyP�7���ÿE]�����X])g�0�}s
��� D(L�6�R����N��1S�5f�k#�ou�h�x��}��c
-|=X� JuF����F�����O�.h}I
!6�Awm[=��8
(k�^ɪF������&+�H!���M�zeODR�b�u�7���
h
-endstream
-endobj
-6540 0 obj <<
-/Type /Page
-/Contents 6541 0 R
-/Resources 6539 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6538 0 R ]
->> endobj
-6538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6542 0 obj <<
-/D [6540 0 R /XYZ 89 770.89 null]
->> endobj
-6543 0 obj <<
-/D [6540 0 R /XYZ 90 721.073 null]
->> endobj
-6131 0 obj <<
-/D [6540 0 R /XYZ 90 515.182 null]
->> endobj
-6544 0 obj <<
-/D [6540 0 R /XYZ 90 501.506 null]
->> endobj
-6545 0 obj <<
-/D [6540 0 R /XYZ 90 398.653 null]
->> endobj
-6184 0 obj <<
-/D [6540 0 R /XYZ 90 376.341 null]
->> endobj
-6546 0 obj <<
-/D [6540 0 R /XYZ 90 376.341 null]
->> endobj
-6185 0 obj <<
-/D [6540 0 R /XYZ 243.423 299.238 null]
->> endobj
-6547 0 obj <<
-/D [6540 0 R /XYZ 90 283.406 null]
->> endobj
-6186 0 obj <<
-/D [6540 0 R /XYZ 90 178.182 null]
->> endobj
-6548 0 obj <<
-/D [6540 0 R /XYZ 90 164.507 null]
->> endobj
-6187 0 obj <<
-/D [6540 0 R /XYZ 335.617 77.486 null]
->> endobj
-6539 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6553 0 obj <<
-/Length 1538      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����f3ËH���V����Zo/Ya�6]k��ӥn��w(�n%Q膾$�D���wH;�
켘}��]=����T8�����
-q��s7�\.ޮ^:LHD��]��g?�ZݼZ�1�f7��_3��C� �<�l���[����K#��s*E�K��7�_f�Q,� B�N��!w�$��&I�Œr<�]<���_�.(�'��A�R�c�I�����E쮯�I��ę��;������5�7�6�\=�


s�xm�{?��z8	CT�K@(��Kuv9��KF,]���v�k�) ��iX,�Z|�zD&8�Ť^�-?��A��v��Up�3#�0ri#�:6��JS۽`_�Wx�Sn�!�F@�HIژy�1
��JT&_�>��,)��Ra��-7����ut����>����YB��VD�C&��.G��n��H�� M��$jl[
�dA��?ȍ�8ɫ�����j;��3뫤؏��@�	9%V�c5
#����e��!����\N��MRĻl�ODΓh�o�����$S��:a�������͇c�Gg��
�
b�R����j�& �'Um�6�FxB�i�Q� ��>T�� [...]
-�|�P�@�S�J�~�cP��2a������^��CR���凪�2?�F~�����
��_�a(
X8���O�פ؛�a#���]"�}e��A�M���p%+ʀ9'+q)�*v�,3��J>ETt"Q}��#O�䩲gr�3�\O�)���>o���<%�T���A���.-y�Z*W�r�.”|
}cS�A��t��ܳD���t��(�5��í
7���8���Ѫ]r��TB�ṫa7��q9��^f�]��c��SF��Fd�q�~�f�����B������!n��%n3��mF�~�[�L�u at dVcy�2

��ع
-*��!���������JO�|+�5�!���.fFe��t����$\�����3=�-�1�&?��{��~X�~'24V�z7��t��cA��u��
F"�Y?R5�	uY�M*�a�uv�M�@LCx�	I�M��5q�j�l��ۼY;U��X\����־�

D�A(�
�A)$�<�P
}:��$m�2Lʎ� ZegwO d�����(�?D��C�!�n��")�|�W��W�xE������ebS=H��=؄
��0�v���3�Q9�.��S����A"�6�I��z
%�Q¦
�ZI��;"�<Xp����!6?3
��-Ѐ=
09ߗ���Hj_z��
-���[���G� ?�����jN3_��w�g��/f�]���:�%���M]bܕֺ�$+��14Y��L
-P��0��֮�
���5q@�u�X
�lpW�0 -[	6����p<l�,�X�2��r%e}k�؜d�i}����<k'�f:�z����E?�q�����-�9D�q�Dl}�ue�5�O�
�`
�Z�ݼ=
-
��x}uu:��6CE

S�W�cxuNe
)�E^#d_SW��W� ���o�]gA��wA
-endstream
-endobj
-6552 0 obj <<
-/Type /Page
-/Contents 6553 0 R
-/Resources 6551 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6549 0 R 6550 0 R ]
->> endobj
-6549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.247 86.388 386.177 97.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6554 0 obj <<
-/D [6552 0 R /XYZ 89 770.89 null]
->> endobj
-6555 0 obj <<
-/D [6552 0 R /XYZ 90 721.073 null]
->> endobj
-6188 0 obj <<
-/D [6552 0 R /XYZ 90 610.506 null]
->> endobj
-6556 0 obj <<
-/D [6552 0 R /XYZ 90 595.344 null]
->> endobj
-6189 0 obj <<
-/D [6552 0 R /XYZ 90 450.669 null]
->> endobj
-6557 0 obj <<
-/D [6552 0 R /XYZ 90 435.508 null]
->> endobj
-6190 0 obj <<
-/D [6552 0 R /XYZ 90 290.833 null]
->> endobj
-6558 0 obj <<
-/D [6552 0 R /XYZ 90 275.671 null]
->> endobj
-6551 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6564 0 obj <<
-/Length 2287      
-/Filter /FlateDecode
->>
-stream
-x��ZKs����W��U�h��(�d�ve��R�J��u� rh!! -+�>=<9HY��!r 
�{=_w ��D8�p�ǻ���1�R���n)
�\!!�h}Z��\��xq�$x�����vI��=?�M����=�i�|s��6�x��.�*7����\�d��I���B-?��x����_Wl�q���h����G8�c�SI�d'�#N���z��2��r�0�QL8�X�%���և:+�ʚ0r�
�Aí+���JUonn�|���k��6�i���y=�x�
��\+��p�J�{,�%���y)ۚ[�zڻ�S�ds��v(ݜ�T*Ǥ���7��[�DI
7s~����!��r�Ǭ�WVjg�&��W��U����!����FF@��
#)� ܄՟�!31ɛ��D�fLY1/��P?��\e@� �Ŝ����v��c��w��9��X!.��X$C���~�O
�����1�����S��X�n
�
��t�pgdu<��!+J��l+��͜�a{V [...]
���Q�bܡ�\��N�	A��]4x���
r�h�G�OY����
���`Z�JT����v�W��� �p
{uy��절j�d
聩ݭvP�g7�B�/`�3p��稾�S�M��1��3�n at I��p�-����P,�X|5?�{ �?	 F��&7��fPiU?=f�G��j7�`����Ca����Jm6�=�j�tw�����b��
u�K ���E�M�S�b_Sf^A�ڦ�8�
�{��)fHJ m�_��r�Cs�׵./,	�
.b���GB9�ʿ&�XPwcmĴ�n�A����&Cl�'����۹��R1��[
͜ߏ�:t�1pG��Q&���
-*9�P�u���:��省Nى��
���5p��b�忆����[�KH� <I�D_�Hͻ��m]���ʁ�r��%�C�.$c�37�dl��.M%B/*h�Mؙ��d��s03%H�s��JT
-I���i�:�Y�e
(��
�u
-�N֍��P�A,Ylmd1���Zg�^�\k��l���fN=e�����m���a�_|����U��N���h1ܛ.oPN<�;]��:6�+��(����i��I�r�(�4ǭ���
��h�%��&����@�w
���Y��b�9S
�k�7�q�V=�������}�m�=r>�%&��b���C@��N�ё�Ucb�S�Q�Η� #ЉC��4�����fE��6V6��)eM9l�ARĤ����
mKn3h�bJ�)�
�o_����r���tux���1G���"�~Rd`�)r��i*@1JW�wM��
{�����h��� ����JL�&W��!W��B&��4A�?�[!'�
-�E%3�
-�$W(n����0����>;�:W��&4V}�0C!5Rѐ+x�\�e^�8��
-�����������-/�

⒚�̲
|���h��|q�ۅ��V�w�0p��M�
�c6���fTN��`48�M
�

Y6��

�Ác=�i�s��
&S�G
ُ�*�q�&X2b<c��G���2Eyd�%�F�so�9�WP��)��P�ʣ�mʁ' b�
�9�ؖ���S�1g��vb�f�a��
X���h�
i��'ie�,Tƈ'ځ	�
f"q4��D�s��
�U�t�����D��7T�$�Z:~����~\29�C at W"��,Lj�9�3
�D
�l���BJͿ�
&��D#��>��smDD�Y���_&"���FUCD8q��07z"�⻀���1�{`���
/#<�^�ƶ�1}u?M|;-����^L��O��j��ۼ�yeC�}C
���;��8�3�1�b޾`���g����
$c��%
�Mp�_4��m�%E�$$F�C��	�����>
-����W��������
�3/�*��{|�W�6
�u������K`�4�b�
��P�(�ߚ�����ivݡ�x���*]�v)��W�I�c��3�����eW�a>���2$4 ��Z�E���3jFv����$1bݓ��������ZW�g�e��᰻>E���:�Vȶ)m�E��4pro9���[h��
-endstream
-endobj
-6563 0 obj <<
-/Type /Page
-/Contents 6564 0 R
-/Resources 6562 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6559 0 R 6560 0 R 6561 0 R ]
->> endobj
-6559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.247 453.326 386.177 464.23]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.58 160.337 424.51 171.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6565 0 obj <<
-/D [6563 0 R /XYZ 89 770.89 null]
->> endobj
-6236 0 obj <<
-/D [6563 0 R /XYZ 211.842 659.232 null]
->> endobj
-6566 0 obj <<
-/D [6563 0 R /XYZ 90 645.321 null]
->> endobj
-6237 0 obj <<
-/D [6563 0 R /XYZ 216.764 354.287 null]
->> endobj
-6567 0 obj <<
-/D [6563 0 R /XYZ 90 338.996 null]
->> endobj
-6238 0 obj <<
-/D [6563 0 R /XYZ 211.842 77.486 null]
->> endobj
-6562 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6573 0 obj <<
-/Length 2107      
-/Filter /FlateDecode
->>
-stream
-x��ZI������)��Zh,tNIj<�v:�N�0��bKP�	EjHʚ����
$��r�9�+ނ�|�p�����_
op��T��@� 
-��V��x���ۀ	���V}��������̽�w�7�o���
p�`����	+��m�S28�m��2�M�7���gu!be��@
<_���9����
-1{�<��m��0�x����*���".^������~�d�6�Eۗ~�
/���wI����ݗ]1'r��2�3{��̻o@�@;&#D$m=��{�c�
D�Ҥ}���q���`�)���z��t��̨�#�\��a�b���2�\J	�^MG"�_��&C	+���T#	͖�Z�9��۱�zֆ���^g����8�9G�7{�'`�Wu
vB
�o
Ͳ��c��Ύ}L���}���
�"K,B�"E��?�j_de�
�ː�:��b�=kB�K)�mY��J��le�,}�Gp�~�l6�5�m�̣G�����$�e5J+3�+{����W�XF�!n��f���|��tc�ȷ�e��s�gs*!^=�
!-���%�a���`���&�M��4).! sf���p
�7If�dA}��1$N��]�����؀�]h�
�WE것�>�

/7�l4j�E��2����^��ط�z�R
� �",�����.�[]�t���q3
-fd�L"̩k���а۷�ֵi]��>�e��n� �����mwh\^����U��'��#B��S&����42�uЂ��!x�D(�Tr��I'A����I�~�U���yIG+�H��Y�ё�+��5����8G�AG���!��b��P(ٰT3���
Z�)h��s}P��e�������|]�����4
4|K-C�`b�����N�W_���&X8�]f@��)I9"�R�5����R�
-��
��R�s�

�&�8԰��p�6���B�Z��Xj{��øJ��41��<uH�Ms3�˶�8\�4����7������n�6턪��7���ޞ0[�K�_8G��q{i*X�O�69�2j0m.Y
��b΀82J�e��kL�}��	�a�_�%��/�Z��ۦ�%i��hpn��7wEjF,~MW,���ݑ@4���/K�3ƿ�3�~��
-�����d�/P��o4jET_g
���-h��8�Y��&y�n�7D�0��b�U֛�H�6OS�7�{����c��\�տ���D�D���T�!�%=D6�y�[bU]�U�4/]�p2�ʤ����ʂ�it�8��~kS<¡��h,��ǛV��
�HD=ëk���[��y�=�W,�GG=HhU�[n���@]BBE�(|S�n
-�>��i��3�.B�(��`Q��2�G�Tzdm���{�-_�-G2'��^9I��S#?l�`ShzD���J��D��I��\���'�J�i�t�
ÓD�
/S@S\E�Sl�P��D�NJ,r8�f���z�Dz"�W�"HL�C��@n�fB[R���^R��M]��ĩ�F�%E@��iT;	ͳ&�L���u���m�p;��
^��\j���
�rgbв
���!��.���Vڄ*t�۞?	���X��,��8�T\�<J������H6D��pO��[�� F��uY���/�ȿ�g�P�C��ʳ�ߔgY���`��mV�
&��4�X��@���)K��b��L�l�/I��=��koA�c�M#�E�a�B�a}�9i5A����@�|���|��S�L|E�+�ݵ�3ė�G�	{�=5){l�I{2d�`T�^�����`Y{irU��DS�X�%c���%�����Ňl���w��	T������0��^�×��=.��5�΄�I�P��if(o�NKq��*Tx [...]
^6D����>��}dw?� �3����7��8�B���a^���&�������

U�v��8���gv:�ҥi����+`
V0JO�cE��
-�^������4���rT�L���9mY{�P��_�.�8�|����q����0?�� �vC�@�
��P�x�A��Rk��������@i��ؕ�MU�����Z�h�%�%��n��
���*$D�Q��Wۼ�>"��m�Em�� .+�<
-endstream
-endobj
-6572 0 obj <<
-/Type /Page
-/Contents 6573 0 R
-/Resources 6571 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6530 0 R
-/Annots [ 6568 0 R 6569 0 R 6570 0 R ]
->> endobj
-6568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.58 517.644 424.51 528.548]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-6569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.911 294.346 340.584 305.25]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-6570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6574 0 obj <<
-/D [6572 0 R /XYZ 89 770.89 null]
->> endobj
-6575 0 obj <<
-/D [6572 0 R /XYZ 90 721.073 null]
->> endobj
-6239 0 obj <<
-/D [6572 0 R /XYZ 216.764 400.485 null]
->> endobj
-6576 0 obj <<
-/D [6572 0 R /XYZ 90 380.291 null]
->> endobj
-6240 0 obj <<
-/D [6572 0 R /XYZ 289.989 77.486 null]
->> endobj
-6571 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6580 0 obj <<
-/Length 1540      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W��R3�7A���f�L�t�&�)�xh�8�H����wA�OӶ���vz�}|��8�8x���bq�:�A�bIep�	b
D<FB�(
>�#*�+�1?,	�O.?,)��v�S�\�ϮLbn��ߘ,]�����<�*��Qo�Y�b�A�dD�T�嗋��W��t�qg
�`�_|������X7͢}�)��<���e�4�D��
-��ޔ��̝z'u~�.�:�
-o�oX`��j7����Zu��(�(EL*P�Q�֭����] ҉��h�
9X�b`N�`�)��������x:Ԁ!�:��9�� �c�.�6N���E~��f7D��-8�L�&`6�G��N�wY����g�H�r�Ց(��s;j �Bf��Q
-��+�X�
�ꏵ>�Y����2�q&
-E8Y0%�Q� ��Xr
^'y�^&f{�뢞h3�;�i���ΔK*›��s���O��|��r�D*z��
-qwB�v���]�7WY�.���ήr�f�aE	E% o��$f�$V��$�j�����r�Ͱ{�͊��
�g�PH)��lq�l&����
-��!=t>gE���\�
�7��ϧ���#)���ȀB&3{2`���?�
��
�_��?��ky�y&שt��#+y�����EY_����c��!�s�wsI����&�+=#���5�)�A$� �9f��}	:�:ĸ�ν�����Wb�����.f�<Q�>�?�P�W�#)����D���©���`��b�Wq��*�-_��<_I����%;j�=T9-��A	�e����KB*����jdB�
v������
,�6�S8�9�"I���
�B���q$�Q�x���8v�b	~S�Z�l,�yP���Ù,�#�.0ě��;O�^��<��->飬p�!IItBA&��LۂL��LmJ���b˭I��V*7�K�%��IVl�lH:��/f�J�D���)���Ǧ�=��>��֗��7�9����P�Q���n�xd�Q�Ĩ�G�g���N
�ٔfg7�U馓ʍk?�
-Z��d���Y]瓹CYU�����7]����%7�k��Һ�*Bm��V�`7o�Ū1O�u
�	hPi��S�~'�Gj��Y����m�uU%ۆ��6���0Ǫa7��F�B`pO�Mw��s��w����X'�v�gk�P��̓����0�f9�A|���%���X���׹Mc��
���������]�q�u�2���Eׄd �iG*��(·(��es��N��@.���8�y?�[����/'�_[����^��1 ��fc��¡׆`�����iڶmGs��
Gc`�LX��&�'p�]
-�{��l�8yfc(&������������׽��`��uT�'���[G��$PW,٩O��S$��"��S$�k����_SD��~���o�
�
-L��R��OIqL���rmEA
�J>Lb�Am[������7�Y�5h�޹ޤח�ҵ�î��gg777h]�c�

���!?�
���@�	�w_��a�lb�~��^���
-endstream
-endobj
-6579 0 obj <<
-/Type /Page
-/Contents 6580 0 R
-/Resources 6578 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6577 0 R ]
->> endobj
-6577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6581 0 obj <<
-/D [6579 0 R /XYZ 89 770.89 null]
->> endobj
-6582 0 obj <<
-/D [6579 0 R /XYZ 90 721.073 null]
->> endobj
-6241 0 obj <<
-/D [6579 0 R /XYZ 90 608.968 null]
->> endobj
-6583 0 obj <<
-/D [6579 0 R /XYZ 90 592.804 null]
->> endobj
-6242 0 obj <<
-/D [6579 0 R /XYZ 90 463.239 null]
->> endobj
-6584 0 obj <<
-/D [6579 0 R /XYZ 90 447.074 null]
->> endobj
-6243 0 obj <<
-/D [6579 0 R /XYZ 280.943 225.372 null]
->> endobj
-6585 0 obj <<
-/D [6579 0 R /XYZ 90 207.051 null]
->> endobj
-6244 0 obj <<
-/D [6579 0 R /XYZ 90 77.486 null]
->> endobj
-6578 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6590 0 obj <<
-/Length 1401      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3ͻ��mE[�ۺ
񰇮�q���JrR��
��"�tc�0`/�H�<��;�����������]��E�Jo}�E�
y���Q�}�����I�H$aW7�族��W����z�eA���=@�PyI���{)L�0b��
�E��)��ܻZ���O�B"��$Q�"2X���WY,�����u__����N����즎�����:K/.�4�����F���۪����'Uٴf(|����|�7���;�=QRP�0���h$��tcΌ�(Rdp#v���5K"����pX����Ӵ1��8��T[c�ގ�[�ol�F��t"�P�$c�
�
-q��me�l�}h�M��у�f� O%c�
>z 3�~3/�wY�P�2�kP��C
�|I��P*Ǒ���k��m���}<c
`�P[�$z
p�B&ee�!	�
2%�7�B��63�#�":轾���
-��
�
3?s��3ĉz
�I�A����|*Q�B�?�'Q4�3��=3��

8w��IUl�6���w�H� 餱��`�k�3�.��QʞɲE���Ŷ�b���X�bHq�b�
�ʪ�w[ee�
ܰ$
���?�]x�w��w�k�z��Dw�E3���ތﯯ,�
廘�I��h����d�8L$
����,���OY�g��슰2�h J~Q�8��f�1 ���
��#���ˆS>!MGzC49y-�{)�a
-�����'N\�V�gr ���3O�b;X
-���/TegesPMӼ�{�<dyn�n�Őɺ������κ�p���r`Xx���0u�p&��$�S�8&���@�N
_ @6�FFyw5rR0�
�P��(X
Q0��

-��|��\�����>��Ϊ$
�£��b�9�!,Ov�����O
Ձ�s�w��9��F!a!b��
-=��ّ<bN�+Ҕ��sӡ�aB J���Z9�R��,Pau��x?���I@��!�r�!А�]r%�ĭ$�����B"A�Yh~��cMtˬ�<��ð�L
�_��I�0���]�������
$q?{��+�T��n�]�r��H��{����›]�hnwy�fm統wHʸY�vW��k��=��i�1��
��bp��U�0M|��
D�nZH=�
��9��<�O������3o � t���:������kg�c!ܲ�xAL�Y&�zꖱd
#a
-��kO�6���m8ٗ1J�
-�������
�ܛ�8�e;��;�[`����Δ 
���=��'$�b/���}�Q�tjІAP8p8l���K��q�pH9;���~kt�m ��G�������d߽9
-
-�%	��ҁ���Kܕֽ�ּ?����E�‰�
-	<��m�����J�+�m��v���cr��B8
-�Cn�gG�U=^Pa��
a
�/�n�
-endstream
-endobj
-6589 0 obj <<
-/Type /Page
-/Contents 6590 0 R
-/Resources 6588 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6587 0 R ]
->> endobj
-6587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6591 0 obj <<
-/D [6589 0 R /XYZ 89 770.89 null]
->> endobj
-6592 0 obj <<
-/D [6589 0 R /XYZ 90 721.073 null]
->> endobj
-6245 0 obj <<
-/D [6589 0 R /XYZ 90 587.983 null]
->> endobj
-6593 0 obj <<
-/D [6589 0 R /XYZ 90 573.456 null]
->> endobj
-6246 0 obj <<
-/D [6589 0 R /XYZ 90 403.356 null]
->> endobj
-6594 0 obj <<
-/D [6589 0 R /XYZ 90 388.829 null]
->> endobj
-6247 0 obj <<
-/D [6589 0 R /XYZ 90 161.41 null]
->> endobj
-6595 0 obj <<
-/D [6589 0 R /XYZ 90 146.882 null]
->> endobj
-6588 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6599 0 obj <<
-/Length 1281      
-/Filter /FlateDecode
->>
-stream
-x��XKo�6��W����|S�]lض@ڤ�!�D�B-�+����w$R�e+��
Z�݋H�1��7߈�ރ���oG�+����J�v��S<DB�[���#*��1�����H��zL����+z�s�(t���>I<�P��wk]����Y�bL�d�I��S����G�oG�Gt�
�g
�/JGw�؋a���
o�,J=N�k�f��;3��!˜{�pDqhMrf��T�(5NM���#1$@
-�O�łY1Qo��J�c7"�L4+oWƺ"ʳ�*t�U���m�p�:�M�N���� ¡�H����%2�*�3���"�*�͒ḻ���I<���65��sF
-҃�E>���e`K��dYo�^A�;8CD��O3�H��E(
:��*)���T��]��x@
-Q�*ٮ�d(�!��z�	�]�3'I��FW�b��򢳭i��9��B���5HJ+4�iބI��(rT�N�z���)��M^Tƥ��
W-�
����EN�
�X� )�	�
V�(���q��XgM�H�R�l���Tڽ����`�X����7��2�]��մ]A�t�y$*l
-
�p&Ȁ�'#��
R�˥���
��!%�� �cҁ#�
�mM��p�y����X?�ڜ2FuN)n'$�%AGHѐF�O��y��G2 ��yH���U�h�
���@d�
��_M�
�
����U�F�J�!^ea��
-� ��%X*�
� &_���x�[kݟ�V�-�
��?(��W
	�� ���
�r�{B��5y����K%������?N��|�x
���h��)���������22���y
��c��v�K�u���!�j��o���am�f��"�w)��}ia�f���e<�o<�_�y����� ���I�C�S�(jgI��l.
�O
g�~�5*Cn�۴��}�V���H���۔����"��d�O����;P�v�
\n#��r�];
�6���v���������yҴ�gAo���Z�zi� �B��D�w�p�-���
Ua:P��U�V`HU���.�V�Cٰ�z�!Y߇zӗ_�
,���x���K��bH�ܘ~/��[^�4�v��<�}�}P��ov��5�j�w%�-���P����c���YB�.v鏬��
�
�8������y]�M�:���ξ:��L��>�\x~�ٶ�4a���(���$`# �A��1�Hkٟ^��iԸ�/	 �sપ6��t�ۡ�D�,�(����zzNnGR ���lȢ.�ya��$LuMg��
N=n
-endstream
-endobj
-6598 0 obj <<
-/Type /Page
-/Contents 6599 0 R
-/Resources 6597 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6596 0 R ]
->> endobj
-6596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6600 0 obj <<
-/D [6598 0 R /XYZ 89 770.89 null]
->> endobj
-6248 0 obj <<
-/D [6598 0 R /XYZ 90 626.164 null]
->> endobj
-6601 0 obj <<
-/D [6598 0 R /XYZ 90 609.842 null]
->> endobj
-6249 0 obj <<
-/D [6598 0 R /XYZ 90 425.234 null]
->> endobj
-6602 0 obj <<
-/D [6598 0 R /XYZ 90 408.912 null]
->> endobj
-6250 0 obj <<
-/D [6598 0 R /XYZ 90 163.555 null]
->> endobj
-6603 0 obj <<
-/D [6598 0 R /XYZ 90 147.233 null]
->> endobj
-6597 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6607 0 obj <<
-/Length 1096      
-/Filter /FlateDecode
->>
-stream
-x��˒�F��<E�b�
-M�/,35㊓8N
^��(
h�+ aI���9R
��	8+�D������#4A�o�2h�
4A[��"K�K�1zj3%:σ�+��U�����������1�׺���(�"�zk�F���3Ac����֠U�h��p����_-R�B��d,&D Mf�z>u(iI0�0I
7�
�
(�5C
ְ�
W"�73�Զ�
���!07Ũi��2Iڣ8�$�0��e��Z ]�1�u��J���3
-���7zSRzi6��]���-���0H&�ye���[��)�;L�W�Ž�[{P���0�����h��[SYͦ.�kjO����EA4n��iWǏ����jVI�ʿ )�2v����u�(�/�̽�B\>�V
�4�D���d�
Q��a��t���\r��9�΃����z��`��{I�d��O
T'�P�!i,
-�+�M��pS�[�I`2-��$$�ޥt[�j��q�f��G���eO'�`��6c遈)�e��tcI�.�ذ��O.��(|>P�.������b��4�/w3ؔy��l�G�f�CUn]7�@����~tu�,���{{IY��
�/P8=�p�m��4�q]gµTc��
Śe�XK/��Vӫ�Fo�5j��5z��7�v@�
-�/.��d�*�����r�א,͒�Aa
-C[�û��q%���������i�ª� A6�jm
>P?��Vz�њ�2�;�vء�b)nB
�����8D��B<p�-���[��d�Ay�ïK`D��(����g�f3��|��Dq�O�]*~0��L;w$���\kF� M6[3H�
��zK�f��6���5f��l�9�Q)}�p֝n��4
�O���{�ui�ES\~�n�v[������n�^6
6�ۜ�
-�%�\U����3�(��@��Q���=�J��	}5��]���b���87�+VC=��Y��=P�,�X7|���~ TI�u�l���#�@n�n�[n
-�D�'�ݓb����c�����F�_����8m4��u�Y���z��
-�R���"�.�-�^SH;V�
�2�'ޱy\
�&�A.�F��ûO
-endstream
-endobj
-6606 0 obj <<
-/Type /Page
-/Contents 6607 0 R
-/Resources 6605 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6604 0 R ]
->> endobj
-6604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6608 0 obj <<
-/D [6606 0 R /XYZ 89 770.89 null]
->> endobj
-6299 0 obj <<
-/D [6606 0 R /XYZ 90 636.393 null]
->> endobj
-6609 0 obj <<
-/D [6606 0 R /XYZ 90 620.293 null]
->> endobj
-6300 0 obj <<
-/D [6606 0 R /XYZ 90 446.106 null]
->> endobj
-6610 0 obj <<
-/D [6606 0 R /XYZ 90 430.005 null]
->> endobj
-6301 0 obj <<
-/D [6606 0 R /XYZ 90 267.774 null]
->> endobj
-6611 0 obj <<
-/D [6606 0 R /XYZ 90 251.673 null]
->> endobj
-6302 0 obj <<
-/D [6606 0 R /XYZ 90 77.486 null]
->> endobj
-6605 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6617 0 obj <<
-/Length 1419      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W���@��Cɽ�A�@�i�m�`����PYr%9��}�"%[�vm7F�)���o
ߌp0pp7�q:�y/p���i
L��)�cx�!����	�����\�Ǐc��"�.̬ԏ?�O�.���we:O(���LW��~2Ϧ
�<1pR�H
Ҙ�?O?��MG�Ȃ���H� Y�
>�`�?1%�M�hD�����_G�U5A��i��N�/V��J�X|�b��z6{���qnrS�(+�_�b��"�j�S�)b8
-&p���	`x�k�=�o��,
>��M7�A�=�	�(�
�k��+����D���
-��5�n�fBS�`Q$�7���7�vCR�,[�T<��^7���>������":�'�Pu2���=�
,��w���\p��s)F1;00�0BJ���E:$!eHukP㣭�
�?�*F2CS�8�������6e�ۿ;���	��TaN����҇��-e+��"�u�W'�V/t�f�4���ɯ�6>r�g�0��?6
-���F����kbVu
-z�A�.�� �}�Cg̺���&�_���H�V��,Ɣ��
0"L�0�Q��Y���
�φV �S�*HҺ4N�Y
-�W��$͓b��u���7�QFaQ�E�~��H)u���
�r����6Yx€�0W�<l��Ƚ`#1�v❑�R%y��I��C�:k�q���n\i^Wh� �cĭ��+��ىc���%d�h;�&�9f���Β��tG	=Iw�$�I�f/��e��(�;mh~B�;Y�Ю@V`������\5=2�1P-���4�S"�)D\#���0�gz��嫼�e�z�׶4ɘ𰉹T�!��73
��5�t�����:Lg
�u��JM�
��d���x��0���{]Z��i>5d���0vͳ��A��^6�vϾ��Y���'�i�g~���u=X
���S1�!�^�W�$1U��μ���յ�G�?��^�~cË=��fd=
2'
-.'LS�g��𙙪��M���c�lj�a��GTi=�*�y���P��}�+
-{S
�2Dy̦P���\�XhbE;�y
/FZ������䰄�
�����7ܟ�F�C���,�ge
-�H�8־�����Pu�k�`��.�o�z�4(M�2I��)�X��������`g
-�ϣ#���-�b
�CaQic,�7����J��v�
b+-$�8,���:�1EHh��A�+R����Ew9�cNo�^:=ݓ�E�I&�@
�6�k&웿DŽ��	���5�P�S@G-��XF�j�_���_|
��s�5���.ka(#ݯ�H@�#��Ma6Y��6[�G����o�)�s
z
��Zg����
a����1�	�W���M�N���v�Ө�o'/���.�-�zu{s��lPR�u��J��7�Uvs�W{��V�;乭��E[��9�\6i�� 
�z,
-endstream
-endobj
-6616 0 obj <<
-/Type /Page
-/Contents 6617 0 R
-/Resources 6615 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6612 0 R 6614 0 R ]
->> endobj
-6612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 194.339 212.124 205.243]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6618 0 obj <<
-/D [6616 0 R /XYZ 89 770.89 null]
->> endobj
-6619 0 obj <<
-/D [6616 0 R /XYZ 90 721.073 null]
->> endobj
-6303 0 obj <<
-/D [6616 0 R /XYZ 90 534.311 null]
->> endobj
-6620 0 obj <<
-/D [6616 0 R /XYZ 90 515.427 null]
->> endobj
-6304 0 obj <<
-/D [6616 0 R /XYZ 90 274.68 null]
->> endobj
-6621 0 obj <<
-/D [6616 0 R /XYZ 90 255.796 null]
->> endobj
-6305 0 obj <<
-/D [6616 0 R /XYZ 90 77.486 null]
->> endobj
-6615 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6627 0 obj <<
-/Length 1444      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W��R3����$��m��j.IFCI���"U����@R���n��;�p�~��. 
�F8z5�a<�z)q��TD�E�q$�F���<zS!�ǯ#&"Z�,?��oo�/ތoܿ�����_8"a�I͖��q4���FL�hㅖ�
�Yt3�}�O�B"$�I0�1D�pD0��!�qa��Mp����r�N�)�gwf^��_�Lˇ��W��__��Y�Wu��<����B��PSXƦ��T��
�,�z	��(�d��ZP>�e�zf�H�!ۑ c[��IΣ'HK��\,W��T��&q}g<���A��W��=�x6$I���|^��YZ�"o���$��E����(c�c����
�#őV����lu��²���.XP�jefRж.�f�F���y�j�Κs�4y�TGT"��š�J1�I��w��$N����6��A
�
L`�P'I�꯳& @�CL� :][���^t�@Q	sG(F�6\H��6�n�v [...]
�wi#��YZ�Ft��f~���
-�΋��Y�m�<�~��wUC€<�!פ��O��v
�ק@��t�IY
io��2��x�)J.C:.;![�
;�G�\� %@f
�bB�ț��2�H��wCBH�(R�[i�P�
-t"\��O'po��m�#�'q!���
[���a���
-Q*���s
-��
��T�x�����O�!��]�}8bG�n��#�"
aЫ#�{����sD{B�'D!�	U�:w�R�
Ր`#��Z���XՀ"%�
�U��[����1��NA�B���)61A�
�
-H�Q!-�kG/�
�;%p������;9� �Z�r2-���
�Ñ�S}�k��^���B�̤-
���;�N�_��_ҟj$@8�_}��s��~��
��E��I��]L�}:��$p��̙<��c9�C��%�
�;���v����lyH�q
*��q��@{4
�O�Q�s-�`�]�A
���V���
�t G6�O���
�rm
]���4��5�s]83��ʍ�̑]�D�u�.Ҭ2���Oh��m�Z�nw:�a�u�PRA������9'��], %�|fκ�8}�����P���.��.�
-��[@e �� 
����
u�͜�gu�Q����<��{������#���x��
����c�hd��H��4
��6��v�j�f����۫y2h��`!�h�e;Sī��U\��2�����}��3��eG�"�
��	��������D ��o���
!\�+��A
.Q�����[W�
��nK��m�
:V��v�$qC�_�|�f[rrK�����c��:f��A��1m4������_;JC43�զ��^]_]m64��:����j�ʮ���*�C��
-\�\�Eٽ!��ҿi8�_C."
-endstream
-endobj
-6626 0 obj <<
-/Type /Page
-/Contents 6627 0 R
-/Resources 6625 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6586 0 R
-/Annots [ 6613 0 R 6622 0 R 6623 0 R 6624 0 R ]
->> endobj
-6613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 665.984 210.103 676.888]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-6622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 573.387 483.212 604.356]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 103.913 240.823 114.817]
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-6624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6628 0 obj <<
-/D [6626 0 R /XYZ 89 770.89 null]
->> endobj
-6629 0 obj <<
-/D [6626 0 R /XYZ 90 721.073 null]
->> endobj
-6306 0 obj <<
-/D [6626 0 R /XYZ 90 557.799 null]
->> endobj
-6630 0 obj <<
-/D [6626 0 R /XYZ 90 543.828 null]
->> endobj
-6307 0 obj <<
-/D [6626 0 R /XYZ 90 433.323 null]
->> endobj
-6631 0 obj <<
-/D [6626 0 R /XYZ 90 419.352 null]
->> endobj
-6308 0 obj <<
-/D [6626 0 R /XYZ 90 310.849 null]
->> endobj
-6632 0 obj <<
-/D [6626 0 R /XYZ 90 296.878 null]
->> endobj
-6309 0 obj <<
-/D [6626 0 R /XYZ 90 178.478 null]
->> endobj
-6633 0 obj <<
-/D [6626 0 R /XYZ 90 164.507 null]
->> endobj
-6625 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6640 0 obj <<
-/Length 1731      
-/Filter /FlateDecode
->>
-stream
-x��Y۲�6}�+�Ԛ�"t�E�m&�4Mg��/i��q�lj�s��w˒m�@���6��K���2��M�����gR���j(
D\!!�j
�
	FTGc
�
&�:��R
櫇����ez]$��d�H��8|�J��~}���8��L�%Ɉ
����^
�^
~��b}
��l=x�s��"���8���N|��7���
=N��<�G+{���3���<+k�F���;&H�"�:"pK����|2I�!��m�J�Ӥ�ٮuVy��`�NhR~�-\-�|HEx��(�
�u�
N���1���cf�Dtw
Rqk�Z��]�y�qL�EI6�C$����C��q�Z#����)���h��l��7I�^�4r
v9�����`�$b��b�qWe�y��,:��&�2]oV��a�-��f:˳J�WS(���D�I���p���aW���
���8'Q��bᝅ#[�.3���kġd$$� q�����
�Uޗu�$Ug���N;�M�\m�N+n\˽~>��P�ZW�M�K]�B->Z�@g�����Ƽ�r	�H�
�.��Pߥ��B�=��8z�%FD��*2��L)~��k����"Y���
�*�Y��
�j[dz�\R��u�
�BĴ��������(�&���#T��TC)B��6~�A����P���3��+�/���e>���z rB9����������� ��M��o
<�3?ASvIǎ6��c�r��I�d�#�o
-Ǜ��-sCl
�s�3Y����4]'7�l�k��e�(lOs�
�d��6 �Iу�0D�f	��Qh9�F"�����e�餘>��X�P����gj�!s-�h��H
�"�H0	��>�,�ڝVE�V�dR�Z߻���51"q�{��|�fI��A�-�o{�K2�S��à\�c�i��n����I�N�$"�";6�;:��/3�hW��% �,
S�5�hh�t
�Ҽ��#�Į�30m�9$ކb�.�Y��p{�l6vB�ŭ�5���
��S| ���܀�����B=$"�7���
-�
	�W<e;9̤���v����o^*�;��5ӇI��hgx�$�}����D# ����-�蒵6���f�n
�z�96�|
-�jf����N�<��[����լ�ˣ��m
˃)o嫞���?��!۶�oRw�4�ݔӃ�d0Nj:M�%4���?��y�Heom
,"$:
����a��=C�y�����WS�66�Vx�^u�mW�n���1��x!-ј}�6#z(��Ʈ6�{*�y^��g��BQWj����?4��o��IG
�$��"��J
��4#�K�/ߙ����c�(Y,|:�Eb]�����.������{
��sW�I���l�a�헞`S��тN'
��# ��
Q��@�R%�[�:)�Ih5�1r��P})x\��\#��*�W��O�rٞ�eD
Q�����Vg�\��R���^�k~��YE�T��ȝ��t�:)l�Z)l.NIa�� 4���J�s�E�2mġ���C���I`�������B����^�UZm��S��_���g��R�,�
}*�Y�wDp[��/?��]�ܗ���Np%�ĉݻ[
��=�xe��(fw�Hf{�t�����ŗC!B��l�Ё!�[c
-�L=
Q��0�q�F7�Ş췠��à_���Q��]p�U����wwwhV�m�n
-�V��f5>��
+���}�h�i������_
��O?��
-endstream
-endobj
-6639 0 obj <<
-/Type /Page
-/Contents 6640 0 R
-/Resources 6638 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6634 0 R 6635 0 R 6636 0 R 6637 0 R ]
->> endobj
-6634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 612.824 293.971 623.728]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-6635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.643 446.085 229.737 456.989]
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 212.695 246.767 223.599]
-/A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
->> endobj
-6637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6641 0 obj <<
-/D [6639 0 R /XYZ 89 770.89 null]
->> endobj
-6310 0 obj <<
-/D [6639 0 R /XYZ 90 687.096 null]
->> endobj
-6642 0 obj <<
-/D [6639 0 R /XYZ 90 673.418 null]
->> endobj
-6311 0 obj <<
-/D [6639 0 R /XYZ 90 544.267 null]
->> endobj
-6643 0 obj <<
-/D [6639 0 R /XYZ 90 530.589 null]
->> endobj
-6312 0 obj <<
-/D [6639 0 R /XYZ 90 310.876 null]
->> endobj
-6644 0 obj <<
-/D [6639 0 R /XYZ 90 297.199 null]
->> endobj
-6313 0 obj <<
-/D [6639 0 R /XYZ 90 77.486 null]
->> endobj
-6638 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6651 0 obj <<
-/Length 1701      
-/Filter /FlateDecode
->>
-stream
-x��YKo�F��W�Ԓ@��'�t�C8R7/;�$��H+��D�$e�����.��d����ܝ��7���Y:�y5��vr�2�N�����‰��� ���'���r��a�D$
-�T����۫7�7����v���'�#@�P:������a�����s_m�8�2�];7��|TB!�N�
C,�|�1v�<��,�{>��}���|O�y��+5���u�5����Wy2��\�T��:����x�c��i���ʈ���ۋ(�J�k�-�x	�u1�
���0��Ź��3�0De��<?�����q�d���a�5[�] ĉ���j]<lF���3?�Ң[x�^'����շm�骢�kͧ_Ʈ%� ƢZ���Fl��ު�ç�Vy���<<KTZN�<N���Rpj4Z(��F
M � �]s�f�$��lL/!P��=���_QHiZ�Ebt�R�d�bLP@��Ɍ$a�ӛL�&��l�[��X��6��K�h���*ώ�"���v�:�|
��	>��si6?�$[���S��23���s����V8fV�݄"��X�J� 
BF�M�\j�Y?f�����ɧ��>)W��\[5+��U�A�|i��ë����&s"^xT���
-�@P!�dp���'GL6Up�����0'@QȤE&!�� �-�c��+-@$d�v�ͳ�#	� 8�q.����
\�(?(R��� 7J޴�:W6�h�`�8:�^���/��M^�M
W����M�܁�B�iSh�^��%��p����	ۦ�*U^�b� ��#�W�n�M�LO�>F�V�!��V��<��tn��dn���|��^��S����~��� Ia�N����m�>��F|����("{V5ea�1]�z�_��n�z�
����}~m��b`]����Xh~ —��B�1�R�gdS
L� O-<6F��
x���ڋL�,WGb�'��.f*x�
��1����!{$�{�0Jz�a�X�?�fGc�^3�Ec�^�[���-B�/(u�nu��=T��%�2-�!�շ��u�#D��-�Ż2�@�g�JY�eS�c~�0����i�|�1
Wr��9	/�*!����zew>3���@�r�>?"N�
-�)I��,.��`�	�ٞ���?��EH�G�*T�<u��2>��Z��
�
 �5S��o3Ui����%P�$�hrpT"��
�b$`bk�~���^d&Y�M!1

��)B!o�kl�bM�8&����	�H;ʴ��B$�f��%�?\��X(N��c�U�2
�Z�y^����b���wz����l���i���Q�C�d;�5D��T �]�V����&Ql�?4�6	�1J���!O0�
қ8�I,
	���ab�r���>_f?Ǘ-�4����#>�Isl��G)t 5w
-��M�Sh-���88H���8�����
-MF�$�L����� �����@YhI
w�U�h��It �?�v
 Z
T
�G84l���7�V���@;e�
Z ���rh�c�sh�)���'�А~���̡�
�̡�
�̡�
�̡�
�ϡ�
��Z ���q⿯��
-��L�v��f rЂ�i|լ۾ִۼZ�m^>*��P���+Nw��z�Ӣ`�i����"�g.�!ЩoT=/��q�?'�;J�(E�UYn//.���Ѭ@�4��()/����~uv��Ҵ�MVOI
-������?:3b
-endstream
-endobj
-6650 0 obj <<
-/Type /Page
-/Contents 6651 0 R
-/Resources 6649 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6646 0 R 6647 0 R 6648 0 R ]
->> endobj
-6646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.79 628.365 434.212 641.283]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.477 295.349 436.256 308.267]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6652 0 obj <<
-/D [6650 0 R /XYZ 89 770.89 null]
->> endobj
-6653 0 obj <<
-/D [6650 0 R /XYZ 90 721.073 null]
->> endobj
-6369 0 obj <<
-/D [6650 0 R /XYZ 90 410.502 null]
->> endobj
-6654 0 obj <<
-/D [6650 0 R /XYZ 90 393.562 null]
->> endobj
-6370 0 obj <<
-/D [6650 0 R /XYZ 90 77.486 null]
->> endobj
-6649 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6661 0 obj <<
-/Length 1819      
-/Filter /FlateDecode
->>
-stream
-x��Ko�F���<�P���p�C8����%	Z�$��R�
��w���H�Rd�i â�;;3;�o�8�8x1��jp�\�� #�
�f����		O��}H0�r8"��Ր�0�W��Ր�0[�-�i
�_&�y�ߝ��ȓ�pD�-���}|��|Ht��$IFdH�~��mpy5�g@@
��@J����G
L�������m9hp���2x;x=�G� Ұ1�M���dV[F�i�����4Σe�9�����i��U4���X�I�n
-kZ (b�#P���x��q��/?��G6�$K�M��?�Ig�A��
!��r�r�q�Z����՘_�#��ӗQ��o�V�ٲO�f��Zv
/7w�
�T�uG������&��j}�~������
1!�����gY\��$��b\�QRl��K��N�f����NMm�*�n��>��B���.*Y��RDd���l�8�>�yf��H��X!aT5s7
-�~7
-
 @U��
-�?��S�5�dXdn
��n
�H���W�6!�I5�X$�
�F�^�ݢ>�Ra6�Y_�wA�h��&��)�Ǜu<)�
-��E��WZ�1o^
���F6��lHE�Һ��
r���nn�QH
����ŴOQ�(�ȅ/�؍jJ2H1�Ơ��HU��?��Y;lX��f�C[�
�'�BI*�i
o�c_+6GR�XX
-V^3_0�U\���5}'��g�؀� NЖ�sZZ(=��+o��,�Y�>-����M2���w�~��<���5���ȯ	m
-�T�4
R�A	�S�
�������E��A���'�
9��t_%�o����Y�{3�?(t�|�:ks�'ǭ,.m�zլ��B#�辍�|���-�ҳQ���1⻎�u�Lx�P�_կmG�24ˑ��� �(�
g�����d��ʼn�bOޟk�a���8�,�	
��k�]A#��SV���>��m��`�'��ƺ=Zn�ӝv���x���$���HA�)׿�4�K��fg¦ zJR�7Pq��roϑm4�Fāc��[op��hl[<���/��8����iۨ
%�$[����˸�#��۱�>��W�p-��
��#�=d�K�X��ww�I�l{
Gڴɘ�}2��Ad쁰d�v��@�/ ����ǎ�I��1?��
-�
�=�n��m>�E��U��y?"Ku�>�
-
�a�
";/��G��."��O at d�4=
��AD�P��CdQ#�������KDVBdrB�L�ON dѡ�S�A�U�ޘL
������[`r�k�{L��e�H�L��A�<ƍ����OezP��!s�G�ԈSI�:ۦӞ�c+��������$�
��1&9R�Nۛ(?t}ڥC* T;��c*���ڟ`*��q�u=���
.����c���6������u8�w�@�� ��e�i�f�$���O/�T�ٗ8Y�ar��G)� ��)YB�ZD�E���-2on��j���"�E�<���-2JW�s�W�[d�@��V�"�8��v��g7�����x���Yyj��J�Z��8ټ�
{��Ceҵ��h�`�P
 �aHŠ�޲�����^��l��*IZ�
-x�����af�d5�S��������f(dX���y�!�5ȓ�}��>W!
-	1j�ڭ�4�
n��Φ<>��ҳ
���(	�{�T�8�ȁ-h43�܁6�t_�
-XJ�S_Ŗ�<"�=��
��lk��:�{���=�����C�@D�6�o
���� �����R#4�q��β����v4�P����ޢ(��gg���h�A�4Y�()�����>�5�@���o}Ye�a&I��UY���/0��
-endstream
-endobj
-6660 0 obj <<
-/Type /Page
-/Contents 6661 0 R
-/Resources 6659 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6655 0 R 6656 0 R 6657 0 R 6658 0 R ]
->> endobj
-6655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.955 641.745 459.226 654.225]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.773 364.899 462.606 377.378]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-6657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 86.774 422.924 101.489]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6662 0 obj <<
-/D [6660 0 R /XYZ 89 770.89 null]
->> endobj
-6663 0 obj <<
-/D [6660 0 R /XYZ 90 721.073 null]
->> endobj
-6371 0 obj <<
-/D [6660 0 R /XYZ 90 465.942 null]
->> endobj
-6664 0 obj <<
-/D [6660 0 R /XYZ 90 449.731 null]
->> endobj
-6372 0 obj <<
-/D [6660 0 R /XYZ 90 189.095 null]
->> endobj
-6665 0 obj <<
-/D [6660 0 R /XYZ 90 172.885 null]
->> endobj
-6659 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6673 0 obj <<
-/Length 1967      
-/Filter /FlateDecode
->>
-stream
-x��YKs����W��U�h�(�C���DZ7��.D%TH @q�_���
J��u�:���ׯ���8��p�~������Q�Iet��
)� !�n}�S���~1#�H��>~�ӏ�o��1�foog��x�#�6H��z?���6���#����.�G�2��E7�ΰǂ�b��1������ x�V�^7��-��FW�
nCb���%�b��6�i5��Ꝑ�O���ҷz���T��,���'�r�6z�n��oӮO��_1��R�]�dE����1⥗��%�ww+��|6(Q�v~��*m����	�]a`
�W
�M�ߟ�A/��]�/k�!9M�v�@��|Me��h�����y��r��M�BB�&��"���
��y�G;�E���i?��|����+n.{�튑���X�S�K���gtX�!
p����Z�x~����5�j��6C�f�3��7;1ꢉ�FY��I��%�����o?�u�X����I�A�l���|�S�� [...]
-��b�OW��
�JW?dwUZ=]_��2H*�8j�xfU.�
8B��g��^��L��{�Ю�Z�����P�]�ȉOF*�h�oK�����$V��\���	b�+Cw��:��)$�P��$f�H4ð�}�l'X^$�p^0CJ;�f
aF�����
�
(n�Ti�����ʁ�j����� ��
�	��p	�p����ݏ�9DdGD�6s؊\���D�2&H�dD7�	 �
��T���U�`�{S�(��MHA�/��"+�ƪ_��P(�>���
����Mۗ�����˗d�`_����}�3�{u����Ϣ�v�Oj�z�>�붑�V�H���s
-�<�mY�����I�mx�+���=���l�8��n�V�H��gG�9�M!n�H�R���<�� RHrep2�z�r�0
�2���q!�%6†�cH�#(�ɌR
k��U�ԡB�O�
 ����J�
pD��/sCB`V`P��
���EKJuI/�9�6�|�B��VP
�rJI^g����u�|�-_g����u��ʳ%;�-
�
g�t]Aa+k�Jm;�>w
�.�5��Up�bҴh��J��N����N|:e�r�28L��kL���J�]ljm�2qzh�"�|�o�����#���ts�:EZ"�F������qBI+5��&�^_�2
-=�H|5��j0$�qTj�Ճ�����
#ޏ�/0g�D(�PuZa�$��$r�Ҳg%F��
Ϥ�Ս���T����^�-"BL�i`�I�������F��ju�P|�T��/��6����fD��
`��K	�:+�g�
TA�vs�i��r�(�O
ä���������L@��>��H�.ފ �(�
��;��������,oV7Ou���"
-aߧF�cc0P[���\�[���X���
��+t�MP�M֒a������5O��
-�C���%Д$�Kz
Rډ
 �fv*v!��R��+6c3�5
��!��B[A�+r1Ħ:��.�����@���4��ƭ�/ ��ϮT���̌L�`�1d}f�|43�^w��mDžm�G����]�G�=|
��9�A>��

ù��%]w������՟B̽n�H�C;�
-v�U}+��
uc�
1otۍ8���W��5 
+�|zW>4My}uu<
ѺF�<++�5We��:-Ã]�p�ٶF�mE�rx��
y���R&
-endstream
-endobj
-6672 0 obj <<
-/Type /Page
-/Contents 6673 0 R
-/Resources 6671 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6666 0 R 6667 0 R 6668 0 R 6670 0 R ]
->> endobj
-6666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 477.39 425.662 492.105]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-6667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 232.812 322.446 243.716]
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-6668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 116.998 85.237]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-6670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6674 0 obj <<
-/D [6672 0 R /XYZ 89 770.89 null]
->> endobj
-6373 0 obj <<
-/D [6672 0 R /XYZ 90 577.155 null]
->> endobj
-6675 0 obj <<
-/D [6672 0 R /XYZ 90 563.173 null]
->> endobj
-6374 0 obj <<
-/D [6672 0 R /XYZ 90 307.389 null]
->> endobj
-6676 0 obj <<
-/D [6672 0 R /XYZ 90 293.406 null]
->> endobj
-6375 0 obj <<
-/D [6672 0 R /XYZ 90 184.775 null]
->> endobj
-6677 0 obj <<
-/D [6672 0 R /XYZ 90 170.793 null]
->> endobj
-6671 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6686 0 obj <<
-/Length 1905      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�6~ׯ�Ӗ�Y����N�L�i�7�L��P$,��.IY�߃)R���~�M< ������������ngWob�(�h���y)�� EaO���'�h� c�fN��5�ly3�ؗ�ÆM�|'VM�<\_�mD1_���ʬm��/��7s����9�1�4&��o�����oF@���ʼn�og�~�^�?x�4��Zh�������~�ak~Ԝ$E^LDqjL�fd[���jL�z,C��\q��2��d�՛0:�C)",�7Z�vÍ;Zޙygg+ӛ���/og�'��Üz�lU�ч��\����z9�M��ZV���f������r{[�-�Z!�v,����MV׼@�^YX$F1�	�?�BPD�}�E��2Vz%wU�mZ���s�k�(#�P�'
���dї1�Z32�9g~������נ9�����~n0V�� �yAݱ�� ,Vݫ��
c&�4�d�w��d�q�l��vf:��FG��b�?Jn��R������N��$�>�>��i�<PW���f�d�:?K'@=4��m7�mŪ|�8a�W;
Z����]e�&�0��KvtM�}h;�E��ZiM��
�n����ƭ��!YW��Ua/ ��� �,�*�u�1��1�1��#o�/
���;;V�-cS7�,6d����������
l����.ƖD�����5J�XvH��,���OQ��@~�4�}`�\����ʓy4lk/����>
|�V�&�d3)
`�1�B���È{c]ې/t�/b�pLǡ�A��l��r6>�Cvy; +��YHԺ	`�{Q�
&K���
-q��@g]��!���I��B����&��y^@
-���ܯ��%3��S��+�3w�p�k�8H��t�B6�`.�
-��&b��Br��J��El�怲'A�����4՞�ר�[ؔ\� �F���ם���^.
Lo���ZTs�����2k���p
B�C!kLɲw&�]
����)���QF(Mz�	Ľ�C��k�r�Vr�NC��Bſ�V�hE�չE�<L�
�Q

�	�C���G��OX>��у#����e_�o[���,b�:�S��4lQ�jf�WT�~�W
-����Qz~�)l
g1�M���
v��3��*�l�Z;㔟	e(�}/��QG�8tB}����;��'� `��	�=P47:iJP3��g�?�x.ۉQ�+�.Ŝ�k��vA���v���V�e��W�Ɇt�A���&�9$^A��y�寡�R�D�k�n:sD�@6|׌��
��J����>h2��ń�A?����7�h�v
~���>�����Bs���-��͗Js�R���!E
O@�*󫡻1�z���R
-ųg¡:af�8
-��7n�`�K"������տ�y����o?�X*Y�D�M1�e�"�A�� �z�D������U{�FbH�
-gh�^@�y�\ymdߵ
l�lp~;N<�	�R6���:�>AN���[@�
�����)�a8T͋+�NZ��\���5���In�h
���V8�=5
�3x�����<FGx����Q/����l����<�=�-߻����(���P��:�(�
��
�ċ �$����� �a�
�?�ҳ����K�m1D!9Ŀ�����n\2�{�uw�5x�3��M�*]���Oo� 8D4��
۩��c����䩦�A�|Y��(b�����E�sb{�,��m[OvW:
��\�U��B�y��:����q���7�0���F� �aR���PB����({�GG���r�y�O˛��a�[�~ʪ�3G�=�l��\� [T��ڦC6��n#e,��sw?��A_����}k�����j�ߣ�E�J�
�U]�W�q>X�j;�'k[�p�%���>�>������
-endstream
-endobj
-6685 0 obj <<
-/Type /Page
-/Contents 6686 0 R
-/Resources 6684 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6669 0 R 6678 0 R 6679 0 R 6680 0 R 6681 0 R 6683 0 R ]
->> endobj
-6669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 693.003 206.372 722.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [455.566 610.104 513.996 621.008]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
->> endobj
-6679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.524 580.413 391.9 591.407]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-6680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.14 568.458 233.57 579.362]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) >>
->> endobj
-6681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 490.469 483.212 521.438]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6687 0 obj <<
-/D [6685 0 R /XYZ 89 770.89 null]
->> endobj
-6376 0 obj <<
-/D [6685 0 R /XYZ 90 407.223 null]
->> endobj
-6688 0 obj <<
-/D [6685 0 R /XYZ 90 388.613 null]
->> endobj
-6377 0 obj <<
-/D [6685 0 R /XYZ 90 257.2 null]
->> endobj
-6689 0 obj <<
-/D [6685 0 R /XYZ 90 238.59 null]
->> endobj
-6378 0 obj <<
-/D [6685 0 R /XYZ 90 77.486 null]
->> endobj
-6684 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6698 0 obj <<
-/Length 1504      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��J3%
�@��C�I<�&i�8�$�%X�D"�����.
|ɔ"7j�f|
���b��G� ��/GgO$�����&�8�D�Co�SA'�.�O�
V��_~{q����+37z|9�0"0��0$�`��y��
?
0�dl��*�i������>h
!��'��r�XLB�1
�<��lR��/M/-V���	����B͊�꙾.������г��i�͋�ʦ�j�g*���*-K=Ϝ���a�)+�ec��M|g|={;wL��(�e
�['��"F�[+�
fq�x�!�'ss��X�fN�����KQ+y�q4d����Z�Z�bB�Z�ZI��cn�y��ٳ54B���
F��
���	a
N��	?��.'a�q����Fy�Wp�T���.t9` (J�VH�M
Un��i'��ƍM��zSA*x�@�$���b�S���Q�ƮsYaD�
��.��Ե��Je>R!A�q����4�
�!%|'E{J$�Y�Ѧl��֊O[F�>k=@��e�V%�`'_B�$`Gy�#���rMW�RE�[�j��7I���Of��NgŮ_��~=2e��s_�"�V>Z�u�8K�U�MY
���6G��S�Rm*�v����E��"�M
�2?�D��� x'���D	Td ���@�F
l=2�H�8_W:�ҥ���u�38<7�lS/ڠ�
�8�
N[��K���*/l��i[�f4۬�����K
�;z�*���&��#n���܉�ئt��v�
-\$	�o�^/o�-6-�hJ����_��fv���T�E�?l�A�Åc��
-_9
B�*{���z\VpB~��t�gWi1߬TV
�&�d����"7G��|��
A9�d?E�s(d���(Q.Aq{���/ڙ�K�f�3s
���C�
�%��aP�g%�]V£cY�\e�H�$H	h��zR�aR���"�MJCI����Րq
'�2JBE����60'Id�RnӚ���E=ѣ$֮��$jJbZ�(��z��`2'wr/%!�%;\���P�\S(�
�#��
GK��#���~�"fB<1��$&��"&�b��ߘ	��$:���f�m0r"bB���	9��ױ�D|��$'�&b��ȁ�y,3�95!��;�쿓��$�$��xJ2J��^�����l�I�s-��4D�P;l
�;�Bh��N;��Mm�p��hY�1t�\b{Y�
b!�A9�j
-��@�iD
	n
�=F�:ڜ
�0� ���8��>�w_Xl?�]�]���:3�V٬�!���
=]����mv֗�B_;ބ��ќ�'�c�f��h�i�n2�aUZ��%+���S�����o���S��{``
�e`M(v��b
�F���e��K�a����4�F,�E>�� @FfI��֬�u=us�ץ*��0�&��f[��6��Ѩxչ?&
�����
#��W��v����n�:����U�>?;�n�hZ�M��������4�h
j�n��g.��>���*5	~����)�
-endstream
-endobj
-6697 0 obj <<
-/Type /Page
-/Contents 6698 0 R
-/Resources 6696 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6645 0 R
-/Annots [ 6682 0 R 6690 0 R 6691 0 R 6692 0 R 6693 0 R 6694 0 R 6695 0 R ]
->> endobj
-6682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.39 654.028 343.198 664.932]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 574.14 268.34 585.044]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.778 438.154 336.884 449.058]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 360.323 268.34 371.226]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 224.337 334.351 235.241]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 126.824 268.34 137.728]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6699 0 obj <<
-/D [6697 0 R /XYZ 89 770.89 null]
->> endobj
-6700 0 obj <<
-/D [6697 0 R /XYZ 90 721.073 null]
->> endobj
-6379 0 obj <<
-/D [6697 0 R /XYZ 90 524.802 null]
->> endobj
-6701 0 obj <<
-/D [6697 0 R /XYZ 90 510.703 null]
->> endobj
-6427 0 obj <<
-/D [6697 0 R /XYZ 90 310.985 null]
->> endobj
-6702 0 obj <<
-/D [6697 0 R /XYZ 90 296.886 null]
->> endobj
-6428 0 obj <<
-/D [6697 0 R /XYZ 90 77.486 null]
->> endobj
-6696 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6712 0 obj <<
-/Length 1550      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W��J3����f�LS��&���xh	�8�H�����w���,9�t�N���ow?A�Y8�y=��rt�ʣN@ŕsy���܀Hos�j�(�j2e����	��0[��o'���x���,���n�0۝��΢�d�%
���<��;}��	��:�i�I	����O�oF//G_F
t�ó%�|g�]}��
��8���w����q��g��=����a�eDRk�WcJZj���
;?��UT���,M�Ƙs��Y�N㰈��l��1̑��:SP"���H%��y��i���Yr�
-4k�����kw(�1�%�R��d*����/5���B��9�	
�7�-�� �I��z��NK=�0T�)C'{��x%T����๬����m��I^%�ׇ���]� k��
e�j�L8=��������Zg�I�9�՞K���t��
�Loq�~T�)���K Z&�
-���la���sU.��m4�I�,�<�J���zS�D�
��y�3:�M��Yo5L�F�i	Yj�j3�*n�8J�Oy/�"���O9m��X��a�q���9��k�
��F"�q���:���*���A����ws]�I�F�hPm�Z�t��C֔����I8��5%\�Bgyg}�O/	}�� ��*E+�[+:Jĥ���9�eQW���h}ж^%�4^m�b�|F�:�7����"��*N$:P�@
 ~L *�_z^��
z�O|p��A�P��}�'sU+qYA,oU�2���n2l��Ej}�-=ܖ�[-1:d��1K�^k8�D�e�M =ҵ)	�I#�b�@+.?���dhE�:^��u�&��=/�
�|F�`6٬npG�s�i��A7�g�:�Q�4CTB"�`��f�K�}4 ̗�6���u�N�_B+���ۨXV���T�:�qh�P�g�$��Ѧk�_	\J�
-����6�e

X��� ���c�8�_��b��Iqoq�$h��	!�&�C�ʘP�������>q�&�=�"����=n�O�q��.��L�ĴNh@ S2@�\@��d��e��.���lr�!
!���d�e�
�q�dR�����dI&�!2ٜ�Cl�
��Iw��NJj�4cSQ;k��k�M�쭉F �"T��V��4���'�J3j�J<���6����B���Dry�҃��6�|����O��d�O���'ՉO������I>�'�C��>�u�UM�0�sA-���
�M~
�A?���"��%^�'x+y
�<�$��!���’E3�/&�����&*bhF{��׻oH
���7�1ă�Q����TPxV��G�C�����`
LV�.� B��{�"wW`PX�+���C���ap=�?��P���C���������e~���T*��8����oR�2=ķ��
� �E�[�*C9�k�9��|����牄����a�	m
5>G�f9�
-����Ѷ� ��וGѲ�N5�cT&r�/�=��5�E�>?;�n�d��M�3g����m�€Vԛܚ���*�]d�ת�ow��^��
-endstream
-endobj
-6711 0 obj <<
-/Type /Page
-/Contents 6712 0 R
-/Resources 6710 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6703 0 R 6704 0 R 6705 0 R 6706 0 R 6707 0 R 6708 0 R 6709 0 R ]
->> endobj
-6703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.711 654.028 344.79 664.932]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 555.333 268.34 566.237]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.628 414.607 360.629 425.511]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 315.911 268.34 326.815]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.97 175.186 252.675 186.09]
-/A << /S /GoTo /D (main_Grid_Widening) >>
->> endobj
-6708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 76.49 268.34 87.394]
-/A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
->> endobj
-6709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6713 0 obj <<
-/D [6711 0 R /XYZ 89 770.89 null]
->> endobj
-6714 0 obj <<
-/D [6711 0 R /XYZ 90 721.073 null]
->> endobj
-6429 0 obj <<
-/D [6711 0 R /XYZ 90 501.647 null]
->> endobj
-6715 0 obj <<
-/D [6711 0 R /XYZ 90 487.156 null]
->> endobj
-6430 0 obj <<
-/D [6711 0 R /XYZ 90 262.226 null]
->> endobj
-6716 0 obj <<
-/D [6711 0 R /XYZ 90 247.735 null]
->> endobj
-6710 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6727 0 obj <<
-/Length 1688      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�V�i>Ei{j�l�4M��=%�![\[�-9�
���w�����FP-�'��p4����.�6
�^L~\L�{�x�;/ž���O%�~\��X"p�
������׋w����b�iB���U �
��~��#�8~�aĢ�;���)���{7�m��-��Ma�0�$
Q
Y�߯աJ�4&��o	n� !�puF�H8��*��I�)���x�&˸�
�*�:� ��G���(,�E>��?e��O����-xw��)b
n0fVFҶ
��Fk�MK+��2e("�̳
J��
!�AT
�Y2��(����ͨ!q�=���')`WBDfi�����JW;��G���Q&P��7��E��5bH��
�A���i2�1L�7z�x�fJ�|��UI/_��".
nn^)�sJ���	,�ey��j�XV.��گ���H�!���n.,����
t�IR������IA�a�e���b��� �f�Qr�� o".�����ee'l��Ҟ9�؇�@�L�ڸ�z!,�^�Y��a�u��ν��[�YO��%��պʋ֗Q߯N� �<�!
-#n�w��U���� ��ҥ*'^�*�ڛ#�����1�r�]�<�A�SpM�
��F\S���S٦�.UQ �_qS
-D����fA���y�'i�iP��g�^
���Y�����u4����t�6�`�ɤ�6�?hQZ�t�ušmE��
Zͧ/g��rD�q8��7�<Z�~!�kӇ�5"�D�Q�h;�8iA��
�
�`Jw;�Z)+\m��	oc�8?�X��Ed��f��ʞ�Yb�3��a�mh1��L/�ڦ뭻�P�k(���a�`#�G�PVjoצ��γMqT��pk���=X���
`Z\�1��r f�U[������
��}ɡgPq�2�yhtw�~6cB�������_7aҬ�bp c��m*�#.�ڍ�ʄ��п+�=7��#�h�
�=�d�Q�@8
`�Pj�i�
-�y��ɷ��� E��vpi��P at j
-8R�	� Y�RfVhk]�0ǵi���������܌�B��]e�mF�ӕA�ي^��N�3Dm�	
SI���9V�d��`��C��`N�3
p��
-�����#�:X�M�*�
��s�.�V1G��i�	x��-��HG���@����8�(� �o`�uR��{�u8 at 8
��!��18�΁B"�K_���A�CpFe�3L
	D�x� d�	�B�ɝ�Q�+�v0�"BDy�����Qt-���'��bJB?����'�{��5,�LpF���Igy�"ɎW�
>��^>|��S㖗O����?�1�ã�ư6��.5�ó�
�m�j
G�1˜ߚ�qӿ���p�O���XTVE�f=�
Q4Y؄����1v�����5�Ʋ!��6S^�f��L�����ND.�f
-m�֢͚ \��!
eS��f��DCڬ��i�Y�Yhh��v at 4|J	���5��}ו �Vjl�f���!ً�<����=���7��'������l��WA���˕�U0�E��8�IHCYp��p��d��N�)���
�n
Ѷ��KU|7������g���Z���ŒNs�� ���m
�;���ֽ?�z��
�-�C	\�)�mU
n�����%:f�@i5?
v��\mi!
~��J�j����ݧ
�cM�P?�{C
-endstream
-endobj
-6726 0 obj <<
-/Type /Page
-/Contents 6727 0 R
-/Resources 6725 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6718 0 R 6719 0 R 6720 0 R 6721 0 R 6724 0 R ]
->> endobj
-6718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 585.928 112.027 596.832]
-/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
->> endobj
-6719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 480.822 300.161 491.104]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 285.16 112.027 296.064]
-/A << /S /GoTo /D (main_Adding_New_Dimensions_to_the_Vector_Space) >>
->> endobj
-6721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 178.031 300.161 188.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6728 0 obj <<
-/D [6726 0 R /XYZ 89 770.89 null]
->> endobj
-6431 0 obj <<
-/D [6726 0 R /XYZ 90 678.889 null]
->> endobj
-6729 0 obj <<
-/D [6726 0 R /XYZ 90 659.451 null]
->> endobj
-6432 0 obj <<
-/D [6726 0 R /XYZ 90 380.277 null]
->> endobj
-6730 0 obj <<
-/D [6726 0 R /XYZ 90 360.839 null]
->> endobj
-6433 0 obj <<
-/D [6726 0 R /XYZ 90 77.486 null]
->> endobj
-6725 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6738 0 obj <<
-/Length 1755      
-/Filter /FlateDecode
->>
-stream
-xڵXێ�6}�W詵��ˋHJ��@[$A�H�m^����i[�-��
�ߡH](��
�y0,JCr��̙!q�	p�j������A�bAEp�b
�0F\�h�O	FT��c<}3#x���d�fF�4ߝ�jU&�?҇2)O����t5�S���2�o�Z�3MU�T��`DL��w�'/�&�M�b��HF�r?�����~
`��(86B� �
�w���_|�
B!+C�[S>iS�V�'v{�̳eR�
~
0/�df�?�c�V�fأ���%�8P���X��j'#�h���� �N�
�9�	�C�bɌ�ύV�:7� ���!������O��㈶2�6�<��!&��j�i
Yn�G߾���2=vi�YQ�<+��=�F
Q)��-�"m�l�Y����<�p@�����|�ѣl,�����V� �9�"���甄�H!�42{���T�F�r��k��E"$I0'�s�BUC��T���
U�y9R±Or���̻m��(�
�$�i�����u���i�����a�2���PYa;K���S��A��CU$�V&7"J���jeޯҽʪ>p�16r�3�x
@@jpKd����jѭ� [...]
:�X�P,�~SX>M
v�Z�S��;�1
ZXl|x)
-��Q��))+��D"��c,iLb���6q	6M�ݮ�
e
�B-S�y�,�:F�x]��ќap�5 �뉇Q
l줝�N�W�*�,�"�9sq�Z�"��֚�l
1�x�R��!������/@a�Z�e��"�Vi��
-��&}X���{��pu
bH�(߄ڀoCp{�KW���
@���1p8�}GyCq��I���S
�6O�e�/�J�3�oǴޚ�<�� $��Gʭ|,6d��$� ��N�$���K3�ݜ�P�s�p
g �u%
a
]`PyƠ

�n��V��Dz�"5�vb��T(gB7&�.�3u\8Ukd��6��K�I��i�3���fbj�3/�"�M�0�
-s�-�C����ۅ�z4
h䰫
�h�v���mH
^n����H
*�	/3h��Թ������Rn�Ɛ�S�0
-)�Ho�C�
Q��)�j�߆�H��KN�0�F�/]#�"J
���7��VO�	i��nh�
�(���
����'
#N�st���KHa�&�|�Yv�վ؁�6���Bٝ�~��!���
�A� <Җ��4�-^
�e�ŧ�%%��'_�E�
׀
�]��Ц
�I<J�S���\2(#��R���o&)��]]�a��:�ct·�xx��q6�
�i��:��Ǡ-��4)�Q�3�wL�}��������*�޾B��"㌗` 
�þ5�7_�LjP����
����!�v'kV�W�@�Kl[�oq����:d;e[w�iQ溿i��D;�9�&���Gq��P�yt���
-MIm��
��0¢9�2{z�����r���?H^tk(j@��e�V�]VP�
-ʮms�$(<���$	4*\'���B�#�{��U�a6�.o�I0���E�yp@�
լj�������e��Ý3������|��4FQt�/2	�?�g=�ґz�0����a�Ob��}}�i����
yrC@%��僨����ڂ=�⸹0������1
�x
�
|��ԅ���j�����ߕ*��}6��L�C
�.����},aha�������T�,�>���掫חD*[��ۺ.non��#ZV营E����(v7�^
�B���Y��m��]���}s�w����%)�
-endstream
-endobj
-6737 0 obj <<
-/Type /Page
-/Contents 6738 0 R
-/Resources 6736 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6722 0 R 6723 0 R 6731 0 R 6732 0 R 6733 0 R 6743 0 R 6734 0 R 6735 0 R ]
->> endobj
-6722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 665.984 236.659 676.888]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-6723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 610.668 256.157 620.566]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 473.792 206.372 502.858]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 429.809 483.212 460.778]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.257 323.681 513.996 334.585]
-/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
->> endobj
-6743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 313.728 147.285 322.246]
-/A << /S /GoTo /D (main_Removing_Dimensions_from_the_Vector_Space) >>
->> endobj
-6734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 163.617 385.519 174.521]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-6735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6739 0 obj <<
-/D [6737 0 R /XYZ 89 770.89 null]
->> endobj
-6740 0 obj <<
-/D [6737 0 R /XYZ 90 721.073 null]
->> endobj
-6434 0 obj <<
-/D [6737 0 R /XYZ 90 603.323 null]
->> endobj
-6741 0 obj <<
-/D [6737 0 R /XYZ 90 589.044 null]
->> endobj
-6435 0 obj <<
-/D [6737 0 R /XYZ 90 412.511 null]
->> endobj
-6742 0 obj <<
-/D [6737 0 R /XYZ 90 398.233 null]
->> endobj
-6436 0 obj <<
-/D [6737 0 R /XYZ 90 262.4 null]
->> endobj
-6744 0 obj <<
-/D [6737 0 R /XYZ 90 248.122 null]
->> endobj
-6736 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6754 0 obj <<
-/Length 2441      
-/Filter /FlateDecode
->>
-stream
-xڭY[s۸~���Ӯ4
a\�pg�Н$�vw�n�}Iv4��L(�%);��{p�M��4�`�8��}�
�������������>8H"�x
O��Ê&��������ү��/���}�Ʈ^�^����Y��$
�����`�
0b"
��CQ�"x��+<���3YA��=o�:�
�:y���sOϵ���&;�N6��ݚ�U�tyVl�
�m�W�9
��~�Tj�c�s��M�UQTk�WOyyo?��C�k�Vډ�`G$H$�(�i�bA��2D7
-�UU�c�WY�%��Ͷ�U�,/?b�Ꮨ�mU�����"�o�FvǦl�tb���8�u�Qz֤	J�ޱ�~
�4Ye���Te�l�ܐ6��id��V���skcm��M��@c���j�ͭ��yR�ȑD��aD�*�����bM��I�˞��A��i�Eqd�8�;�cZʝ2+Z�<�u��)(������x�R$(wߚA���)�%X:Y��Is�fE�����j�{cd��A�fؘ\�|���DP3b��!�3K���*�!'"�ze�
yjHzL�#��o��#F�'��!�Ǭ���J���~��6�Z�8XH?'�s5Q�icEl�n�� �vܘʣ���}��埙�a�p��������`

�~Yq�nR֙;�{yᆳfk
Y���
'�}�gTH��a	G$}��&*��8'_J1E4N�餃�
���g��*Wϫr+_�[�O�R�>du���9;e�ӱ���O_�w�&m��Iک��F��G���,Y�Fn�.*�:��hV�	e�
��{6�4M�>?{v_� [...]
�m�	���`���)���9d�wk
-���k��O�]�5�77o��77�K
ei��c3�*XB���ւ�2yvW�8�x�z���
�<f�Gr�"
ʀAD
2��Ă3|��/V j Y�̀�]��!���t�B�B�	$ڋ�)�:��9O�a¶�uhy�?J�Yo�r���ݐ���C�f N,>�  ���8�f�����H0��5l���vBN]C��@;
�9�H7�f*f
-1��ۡz)�d��q^jZ7Ց
��EI*w�I7�(�� <	##�/*
j�{�Py<ܹsV��/�VG���>F��{�e+k� ��ibT�:(
P�"?fE��d��
ڝ�\�
#O6�v��(�J��aL1�h4�� w󸘚1��6�.Ą�T8��6Y!���a#��:��i�xm��\I]����S�%T���(����t �����m�lss S
���f���4悛����i��*RM��;{
�"p�X(�
�u
(�t>&ֳv5f�˙	`��II����X�� ��:HC��&Σ��`�h$��)
��)�+P�,	���`c�Q<DN駉阂K��K�H4��!���o�4
-r0
�aϞ��~�C)J ���)���>{
�6�X��İ�J;kb�(�g��x`Z�s�P렷�L)�N/�;Z��
����0����<90C���g(8
M��@
��e�{�
�t�@:���>��"Q��
��B׾��
��81�.��e�$D��=փ�yG�=�1�z�Ow�,B.幏�@pD at 2/Q��)Q��K��^UU�P�
W1'�z�1mi7�}���Rp�!xv�����>>���%�A�
�1��η2Ш˴ _
Y2�-oTB�]��a;'���
-�_�k�B������
 �J��˿k�������Ź��
-���M�\B
а�P�z<�ʮG�g��okH�qp��mu�	 U�m,g�C�!,.R
���:�-Z� ���9k����$-#!VxѮɪ�� �
>�/�MMO�Gu0��Ɵ+Q�ҝ�����j�+��B��9o�?����d�c]
_�����
>JX�#��l(Q�8|4

�C��r�w��G[���[�|��|e=�sV
3�
��x��̡�c(��ڟxd�{��Ψ�9pw�20{$t�@!
�W��7��OOOhۢc��
ʻ�.�Occ�
-�Ϥ_d��A��k��<����m�
-endstream
-endobj
-6753 0 obj <<
-/Type /Page
-/Contents 6754 0 R
-/Resources 6752 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6745 0 R 6746 0 R 6747 0 R 6748 0 R 6751 0 R ]
->> endobj
-6745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 483.814 239.856 494.717]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-6746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 263.7 300.161 273.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
->> endobj
-6747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 223.249 182.164 234.153]
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
->> endobj
-6748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 92.621 206.372 121.687]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6755 0 obj <<
-/D [6753 0 R /XYZ 89 770.89 null]
->> endobj
-6437 0 obj <<
-/D [6753 0 R /XYZ 244.439 486.967 null]
->> endobj
-6756 0 obj <<
-/D [6753 0 R /XYZ 90 469.81 null]
->> endobj
-6438 0 obj <<
-/D [6753 0 R /XYZ 400.69 226.402 null]
->> endobj
-6757 0 obj <<
-/D [6753 0 R /XYZ 90 209.245 null]
->> endobj
-6752 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F100 1387 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6762 0 obj <<
-/Length 2075      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�~ׯ`��R3+�7�L��;I�v��Ύ� �
/
-	Yv~}���"m��<��#��s��w>�8x
p�z�����M��
e1���m�� �2�c��w!������o���)���%�a]�����Ѽ\_�n��rE9W��5�o�V6K���ZK�)f$i�,��~���v�Â�-8 fm��4X����8���o�X��nPD��o�[�e����;i�0���D��̸���Z�U^Wmg�|��pv4IQ��<�6*��\_��2��(�ͽh
���dƫ?
--G�t3��zIyx��+Ʋ0_�p�߾������[�a�̠���,%n���3Y�&���
�!ݲ�
�n!��Z��^(�#(���1W;�z��X��F��Ԋ�T7nJXf�n��.To�o
-��6�ͣE��׋`ŰNf� �	n��ے�̅6z
�ஃ_���V��R"��E)d��
IP'��'�x��Pև
��P_mm&V��v
m=
ŀ��A�Q��8m��ccz�#?`����(X���V��>t�(%����#��P�	�&��v/4e��
��m�ydCQ�;Qy�H�f��	ujzhO������%i�30
�$^��	{֜���������d��ޛ@�H#�,�8�/�OO!q�in
�_�̅�	
-��IW���֢6�>���nu�K񜗇Rߐ>��|`��nex,L1�X�>S;aGi6�O�Q�G���)A$��M���x�H	�8=��I�̪V�Hac!��XW|ܔ�44�(��W&!�[�l�M�
g�
�Qzvk���j�W��P-�N�~��(�����hN�
�J�u��_��+�3��� �@�ɬg(�A����T��uv�P��Pe1\0�
aw�
1+��HF�"-w}
���_�k�w�c�#}r$ ���(s���U������("Qj�����8$����!��k���ά-���F(Ei�I�Ӵ�w�&��z$���F�
9Y ׳�g�E�K��(Mz�����qEvX�
.��L�u��`�*�|�����8��x\���"�^J{��Q�F��<>4�$b5������M=��z�l1�4��6f_V�W)�r���P���
p��z�)|�l�
V�!wɷ�#Wnu]�W�l���"S;��k��+�������&O�?�cW��,딲�f�]��#��i�˧����m`o�����?�0v�9��*yk�å������
6��U�CC��z�|9���1G3����V�'���8
���
�JaC�0oY����+����5���H5�좕�Y|L�/\��L)�h�-�7LE,�曩�Þ����Q�^*AԖzw
P��
s��ۤ�}�z��D}���H|���ǧV�v�N�
���$�"�xl<
����
�� [...]
�
-e���l
�i˂�0Ġ�
:�1tiЌ��q&�"�;�_JZc�Dd�CN���S
;�,���\�����!Eq���5!�?��*0�h�얈X�o�9T�f�'�u�t�Q�\r7�̫���ܶ/�����v���#8Y��]B�L+�u�)y.,��a�!8�h
��
�V����	kr��=�f�F%vP��jO�l#�{�
2����g��?k}D��
�N��_�kb(I�p������E|FaɈ�,�zհ�P��F��b�������Ez�2�\$����;i���Փ>[�M��=���ҥ~�7$�/P
-�);W�t\�����+��'�iK9E�'$����ɔ���:t���!����]<'N
%Y:?���Hɴ�n
�6�-p�ba��>�
��ۛGY�Q[�6u9C�.
-ӈ�s?�J
y==s�J���Sf�M)���i���
��M�3���AM�_�ͱ�����0�|2պ$Kg�z�ՅF��u�3�{�毭l~���շ�2R�6H'T��c��a���;�/�g����"��$�
_�vJ����#Z��ѾA����]}�5s4
Ȕ����AY;&�+xXvXA����J�t
-endstream
-endobj
-6761 0 obj <<
-/Type /Page
-/Contents 6762 0 R
-/Resources 6760 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6749 0 R 6750 0 R 6759 0 R ]
->> endobj
-6749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 679.145 163.823 690.049]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 627.066 362.844 638.133]
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-6759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6763 0 obj <<
-/D [6761 0 R /XYZ 89 770.89 null]
->> endobj
-6482 0 obj <<
-/D [6761 0 R /XYZ 487.765 630.219 null]
->> endobj
-6764 0 obj <<
-/D [6761 0 R /XYZ 90 612.618 null]
->> endobj
-6765 0 obj <<
-/D [6761 0 R /XYZ 90 520.4 null]
->> endobj
-6483 0 obj <<
-/D [6761 0 R /XYZ 90 497.291 null]
->> endobj
-6766 0 obj <<
-/D [6761 0 R /XYZ 90 497.291 null]
->> endobj
-6484 0 obj <<
-/D [6761 0 R /XYZ 498.315 420.013 null]
->> endobj
-6767 0 obj <<
-/D [6761 0 R /XYZ 90 402.413 null]
->> endobj
-6485 0 obj <<
-/D [6761 0 R /XYZ 199.738 303.262 null]
->> endobj
-6768 0 obj <<
-/D [6761 0 R /XYZ 90 285.662 null]
->> endobj
-6495 0 obj <<
-/D [6761 0 R /XYZ 489.249 210.422 null]
->> endobj
-6769 0 obj <<
-/D [6761 0 R /XYZ 90 192.821 null]
->> endobj
-1404 0 obj <<
-/D [6761 0 R /XYZ 90 69.128 null]
->> endobj
-6760 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6788 0 obj <<
-/Length 1329      
-/Filter /FlateDecode
->>
-stream
-x��X�o�6�=Ҥ�H�c�!�&�z��n���f��=U��	:�����{ƆJӮ��~�����{�󾂭���w�7���c+@�G=k~o��n����umS�?�?X��#xp�~}�����b~��Fg���#[�"�Cܷ����3�������֦&Z[.u�?��F�pOBP�m��%!�R���	�ۗc��P����1�v�lWb!����;��l�NƋ�S!��c��O(��i�~�$�
�i$�&�s���[�"�
���ae����?c�l�`YsЛ��Ϥ~(W�5#m)�4&��nd]�JhC��b�o�H�t��d��a	L����Ӯ܄#�2-�wq%��h��Q2q�ŀ�� /��
�<O�j5��a��XC����W��#�Pk�PD�\5��h�Àx�u| �"��S7�����DQ�**�4[�����<�|��s�p����E�o\�g�gV���D�
n/�ܡ��
�hPԾq� a0�� �
��]GZ��b}'��WiT�Yz�� [...]
-���>����H�>�@�� w��4����z��R��)N��c���3O
�,��+�]b:���x��-�%m=X��$��yK�� !>hA|�	��<��d{
@�����

-򎍏\�M�7���Q��r�~�C��Ջ��2
;\H��	����W�_�Խ�Z%y\@q��m�A�QyN
:��_Kʨ�W����Vz#��*
q��&�
�Sy���r�
�=�m�r���]?,�z�>�ypl�#�@?�z
Iݽ#b����
�D,�tڑ����هS�@N�c �6�
�Ár�i��^T�>|�`�
-�c"���Ң(�7��6��.�ob��0-c�
궞�W
����Oi�e�c���2�E�.2�6�ެBI�>�CF10Ø���q�hyV_+d!LO���a��^��u���
qµZY/�[S�&
�a5%�3ga�@�q� ��w	E�R&Q�$����j8��R��R�t�)��������4VT���Ѐڿ�z
rFGU�$��1�������^J�߾����;59q����ujb}h�0q�E�Z�e�D~�ç��^�A�%��l��I=�+.�^	��2p�&����*T�61nL�"���$~����<���d׶�˩ˑ\&.���������s?��m@`8�a`T�ɀ��
��{��R�f�
nzi�Ӌ?
!�Wac��0��a[�fB�h���I���
q�D��Z�/V����ʱ'�Vƴ�jU��l:�l6(*P�ƹDq9��d�05�q����LZ�3iԏSx���������
-endstream
-endobj
-6787 0 obj <<
-/Type /Page
-/Contents 6788 0 R
-/Resources 6786 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6717 0 R
-/Annots [ 6758 0 R 6770 0 R 6771 0 R 6772 0 R 6773 0 R 6774 0 R 6775 0 R 6776 0 R 6777 0 R 6778 0 R 6779 0 R 6780 0 R 6781 0 R 6782 0 R 6783 0 R 6784 0 R 6785 0 R ]
->> endobj
-6758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.635 683.588 249.889 694.492]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 610.937 177.053 621.841]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
->> endobj
-6771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.989 596.271 217.919 606.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 530.336 180.649 540.866]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) >>
->> endobj
-6773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 491.018 180.649 501.922]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) >>
->> endobj
-6774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.986 491.018 228.24 501.922]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 452.074 180.649 462.978]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) >>
->> endobj
-6776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.986 452.074 274.725 462.978]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 413.503 188.398 424.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72) >>
->> endobj
-6778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 374.185 163.215 385.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) >>
->> endobj
-6779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 374.185 257.291 385.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 335.24 163.215 346.144]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) >>
->> endobj
-6781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 335.24 210.806 346.144]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.517 252.627 248.77 263.531]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 184.948 173.456 195.852]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
->> endobj
-6784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.43 184.948 253.684 195.852]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-6785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6789 0 obj <<
-/D [6787 0 R /XYZ 89 770.89 null]
->> endobj
-238 0 obj <<
-/D [6787 0 R /XYZ 90 721.073 null]
->> endobj
-6790 0 obj <<
-/D [6787 0 R /XYZ 90 629.956 null]
->> endobj
-6791 0 obj <<
-/D [6787 0 R /XYZ 90 548.981 null]
->> endobj
-6792 0 obj <<
-/D [6787 0 R /XYZ 90 548.981 null]
->> endobj
-6793 0 obj <<
-/D [6787 0 R /XYZ 90 510.157 null]
->> endobj
-6794 0 obj <<
-/D [6787 0 R /XYZ 90 471.212 null]
->> endobj
-6795 0 obj <<
-/D [6787 0 R /XYZ 90 432.268 null]
->> endobj
-6796 0 obj <<
-/D [6787 0 R /XYZ 90 354.379 null]
->> endobj
-6797 0 obj <<
-/D [6787 0 R /XYZ 90 297.774 null]
->> endobj
-6798 0 obj <<
-/D [6787 0 R /XYZ 90 171.272 null]
->> endobj
-6799 0 obj <<
-/D [6787 0 R /XYZ 90 148.94 null]
->> endobj
-6800 0 obj <<
-/D [6787 0 R /XYZ 90 148.94 null]
->> endobj
-6786 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6826 0 obj <<
-/Length 1335      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�F��_�T�
-�y�/,�Dm��M�{Os���"xc�b� �U��
���}Izw�t�d;�3�33;;�ZXغ�<
M��|�{Գ����-���{�4��m��Θ`��K�`;�W��ҡ�N㻥����et�����E
�g*QyP��3�
ۿ�AQ�W�V���JB:	̦�w�O��Φ�#Va�h+8�
-W���ؚ���F̗֦^��\��7�ގ~a�>��Ʈ%��(��sW�\�A�N�چFzr�;Q"� �1�bδ�; ����˭�x�BC��sok��|I�O�T�I�
(���xO&�Qz*�*S�<J��4ѿ��*�ʨ����l����n�˨0�z�ŭ����bı2�S.����>��ؼMͻ&��
-�m�����m���n� �|!;njm�*2��C�����9
�Q%o�ǀ��@�&4�K���i�^��
ʨ��6m�l<���	f
:���H��U��8N+�6-���I/��w�2	Fr�	5�Q�����
r<�b�\ !	�9�<�F
s��.��`��E��O�#P
%ʰ�y�RmHtqҬ��()�@��
D ��z��$��sc
!����p�a at W�l����8�^�?
�=�!��[�,��ʦnUE3_��yU�Y�yY���d����~
ب��
��s,\�o�(�`N
��w�ڭ�='���s��T�zuܯ�#q��t����/��>�u��P�}zu��lzv�P�7�^O������CM���<���Z���Jw�ˢʷ�Ú�6��
-bJ��۴�
�@��i2k��WjuӤ��:	�Jv��<�U1�S!`{�9���8�V�d��cIx�;L�pnB&�2�f�?0/_��Ƅ�D
�o��F�����9�%r=�;��p'!ܶ~���"1 at y�_�W���1��x,����?
��E-���pZ�۲�M�m`=������=BSdA�f���d�
-�cѪ�XI�Ӻv�kow�Ta{����[ �ciQu����bkw"��������E
��W���~>�N&g�#�
ll2Y
h��8}�Z���!��@� �2C�C�-�d�I��x���Yu��J,��pݸ5h�k5��U��m�-H�ͥ?6�K4H�+����`�o������
�[�I�`����
���R
-X�B���G�g��Y�y��o,q{��Gҿ;�
��;�G�? $��gـ ���Ź����f4��|D?�^��{�s۸�*H�9d&z&�w�
�J��9c��[�
ڳ?��ߋQ=0��%R �۹�,���d�٠�@�$�r��,�'�7�--�|�
8��ܸ%�rU%�| ����S
-endstream
-endobj
-6825 0 obj <<
-/Type /Page
-/Contents 6826 0 R
-/Resources 6824 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6801 0 R 6802 0 R 6803 0 R 6804 0 R 6805 0 R 6806 0 R 6807 0 R 6808 0 R 6809 0 R 6810 0 R 6811 0 R 6812 0 R 6813 0 R 6814 0 R 6815 0 R 6816 0 R 6817 0 R 6818 0 R 6819 0 R 6820 0 R 6821 0 R 6823 0 R ]
->> endobj
-6801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 546.242 274.835 557.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 491.421 160.207 502.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-6803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.977 491.421 192.655 502.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66ae9cf46c5e08ead7689807e1c8ba30642) >>
->> endobj
-6804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.643 491.421 257.053 502.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) >>
->> endobj
-6805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.042 491.421 291.364 502.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876) >>
->> endobj
-6806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 410.719 178.976 421.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) >>
->> endobj
-6807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.313 410.719 271.378 421.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 372.279 186.725 382.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b) >>
->> endobj
-6809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 333.093 178.976 343.997]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.715 333.093 230.522 343.997]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1177f236d8c66c01bbb43b37ff90bc7d) >>
->> endobj
-6811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.859 333.093 322.925 343.997]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 294.28 178.976 305.184]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.715 294.28 230.522 305.184]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac05ff6bef376a2835adbb0ca123a8e79) >>
->> endobj
-6814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.859 294.28 299.682 305.184]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-6815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 255.467 179.554 266.371]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 255.467 250.666 266.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) >>
->> endobj
-6817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 216.654 135.579 227.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-6818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.077 216.654 155.225 227.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) >>
->> endobj
-6819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 178.215 162.677 188.745]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6) >>
->> endobj
-6820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 139.028 187.563 149.932]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) >>
->> endobj
-6821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 100.215 220.768 111.119]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) >>
->> endobj
-6823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6827 0 obj <<
-/D [6825 0 R /XYZ 89 770.89 null]
->> endobj
-1405 0 obj <<
-/D [6825 0 R /XYZ 90 633.117 null]
->> endobj
-242 0 obj <<
-/D [6825 0 R /XYZ 90 626.453 null]
->> endobj
-6828 0 obj <<
-/D [6825 0 R /XYZ 90 508.471 null]
->> endobj
-6829 0 obj <<
-/D [6825 0 R /XYZ 90 429.672 null]
->> endobj
-6830 0 obj <<
-/D [6825 0 R /XYZ 90 429.672 null]
->> endobj
-6831 0 obj <<
-/D [6825 0 R /XYZ 90 390.978 null]
->> endobj
-6832 0 obj <<
-/D [6825 0 R /XYZ 90 352.166 null]
->> endobj
-6833 0 obj <<
-/D [6825 0 R /XYZ 90 313.353 null]
->> endobj
-6834 0 obj <<
-/D [6825 0 R /XYZ 90 274.54 null]
->> endobj
-6835 0 obj <<
-/D [6825 0 R /XYZ 90 235.727 null]
->> endobj
-6836 0 obj <<
-/D [6825 0 R /XYZ 90 196.914 null]
->> endobj
-6837 0 obj <<
-/D [6825 0 R /XYZ 90 158.101 null]
->> endobj
-6838 0 obj <<
-/D [6825 0 R /XYZ 90 119.288 null]
->> endobj
-6824 0 obj <<
-/Font << /F70 398 0 R /F23 364 0 R /F8 537 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6875 0 obj <<
-/Length 1670      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�)�fj 	����$�\����>$LB2'"� ����MS���v��["	,8gw@ag�`����G'�vpʝ��`Gxb
�b���x����r��C���ٻ���^��gG�.��
x�
R`H�N�
}���n�r0rߙ��Rǣ.|N��?�p�
^���%���s}G��
�D)+o�9�ƃ�<����7z\���lA
$&��IV����>a��
˫(��j��-p|p�{�AJ��sL<D��r�*f:3����@,�v1".kV��3U5Z5�"�I�(U
�,���������/��	���O�
�x�c���*1w�aj?��r
Q�
--Vj�c�(��
�a�x`J-SU(
��'��"��
��jd=t�@M���b
v���
�U�����m'�Y�FC���i���a�eR����P���*��v�D�f61g����CB�@�D^NTW���Ⱥ5ҕ��+5\L��K��up" �����F�邘Y�D��|1�Z�h_���%J�X#׉�?LrY�9N��W�]EFH`���Py��޹��T���	M�]���T�ݫ\������d��M��C�T�I>o��e>k�y��AY�[}��S}Vw,}oP^�XͰ~E�i��W!(F�#�=2�%~�v
�ʖ�oP���eF���H�2�C�c�o;�����#N]�|��(���Y�~�?9)�x�	�e�6�|��8|�2�eѝϟ��������߶C�A���.y!+qY�o�.���+�@�̴ ��ٳ	���v�	���ɏN�{b^��@���ص��TC��dT4/W����G� 
-Y��
�������w.�"��Te&ɳ��
m�ە���鯷�t87��4/>8;� ���v�q�]�"��w[
b
:�{�#wQ��e�U��w`�d���-'��*O�10*���XjB�U�]���sD�LvM�٩/t[�u
��6r�`@1���W�v]q�!�*}N�����J���+�u���m�ϓ�n�(I�x�N�G�褕�݁���ژ4E|z)���F�/$Te��/7���¦�-D	`g��x���.E���E�\��ZɴZ�'�ߠs�� ��Ǝ
���qŽ�n�=��wX_���a:�G��zϲ�������Ibf�l�a
@�
0�.��#_v4������.��!wQ��}�ї,��~��xk�'
q`����l�s2U/@�.��<w{�
�D<Xl"��Έ�A���NM�~L+?�YT
����gòA�E�\I��X2}R��
G%�Ǖ��FuG��9
-z���.���{L0
-X�����t;ރ�b
�x�~�,�X��mrn]͙Y)cF�ɯ�Z�v#91��A1{�H��)O��$���/����=뢳+���ܥ�ac�A=�/����~
Ă��gT��~��?�a�V����[��u\��vW1�z?�'�U�H�{:b	�Fz}�y��n��>��&J^�2e�^ ��܏�I&��8ɚ�HNe�u�F��.1(p����K�����u)�����'�N�������l�֯
�瓛+���Mr�e���/��/��:a�!����2�ښRڴ��A�R����9����i������N����\����d>��ȠY�L5J���tr����S>��ȨyW��-p3-�:�� ���<�
-endstream
-endobj
-6874 0 obj <<
-/Type /Page
-/Contents 6875 0 R
-/Resources 6873 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6822 0 R 6843 0 R 6844 0 R 6845 0 R 6846 0 R 6847 0 R 6848 0 R 6849 0 R 6850 0 R 6851 0 R 6852 0 R 6853 0 R 6854 0 R 6855 0 R 6856 0 R 6857 0 R 6858 0 R 6859 0 R 6860 0 R 6861 0 R 6862 0 R 6863 0 R 6864 0 R 6865 0 R 6866 0 R 6867 0 R 6868 0 R 6872 0 R ]
->> endobj
-6822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 707.957 168.216 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) >>
->> endobj
-6843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 670.612 226.308 681.516]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) >>
->> endobj
-6844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 633.641 297.728 644.171]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) >>
->> endobj
-6845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 633.641 336.732 644.171]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-6846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 596.296 283.353 606.827]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) >>
->> endobj
-6847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 558.578 191.718 569.482]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 558.578 288.852 569.482]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) >>
->> endobj
-6849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.233 191.718 532.137]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-6850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 521.233 303.079 532.137]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) >>
->> endobj
-6851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 483.888 201.471 494.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) >>
->> endobj
-6852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 483.888 293.874 494.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 446.543 182.044 457.447]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) >>
->> endobj
-6854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 446.543 274.447 457.447]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 409.199 227.981 420.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a68e8cef74c6b4b5a56e2c791f41566e4) >>
->> endobj
-6856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 409.199 297.44 420.103]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.943 409.199 407.008 420.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 371.854 272.783 382.758]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471) >>
->> endobj
-6859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 334.509 181.845 345.413]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) >>
->> endobj
-6860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 297.164 181.845 308.068]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
->> endobj
-6861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 259.819 154.727 270.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) >>
->> endobj
-6862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 222.848 176.505 233.379]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b) >>
->> endobj
-6863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 208.609 450.955 218.514]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
->> endobj
-6864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 174.545 150.493 185.075]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) >>
->> endobj
-6865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 136.826 156.281 147.73]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a0fafb66fa4df451fd3e2f0392329f27b) >>
->> endobj
-6866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 136.826 225.162 147.73]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 99.481 203.065 110.385]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) >>
->> endobj
-6868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 99.481 271.946 110.385]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6876 0 obj <<
-/D [6874 0 R /XYZ 89 770.89 null]
->> endobj
-6877 0 obj <<
-/D [6874 0 R /XYZ 90 721.073 null]
->> endobj
-6878 0 obj <<
-/D [6874 0 R /XYZ 90 688.951 null]
->> endobj
-6879 0 obj <<
-/D [6874 0 R /XYZ 90 576.916 null]
->> endobj
-6880 0 obj <<
-/D [6874 0 R /XYZ 90 539.572 null]
->> endobj
-6881 0 obj <<
-/D [6874 0 R /XYZ 90 464.882 null]
->> endobj
-6882 0 obj <<
-/D [6874 0 R /XYZ 90 427.537 null]
->> endobj
-6883 0 obj <<
-/D [6874 0 R /XYZ 90 390.192 null]
->> endobj
-6884 0 obj <<
-/D [6874 0 R /XYZ 90 352.848 null]
->> endobj
-6885 0 obj <<
-/D [6874 0 R /XYZ 90 315.503 null]
->> endobj
-6886 0 obj <<
-/D [6874 0 R /XYZ 90 278.158 null]
->> endobj
-6887 0 obj <<
-/D [6874 0 R /XYZ 90 240.813 null]
->> endobj
-6888 0 obj <<
-/D [6874 0 R /XYZ 90 192.509 null]
->> endobj
-6889 0 obj <<
-/D [6874 0 R /XYZ 90 155.165 null]
->> endobj
-6873 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F105 2455 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6922 0 obj <<
-/Length 1376      
-/Filter /FlateDecode
->>
-stream
-x��YMs�6��W�W��  $R_��3M�ֵݓ���lsJ�
YV~}$HK2%ѱ<��'A$��x�� vn
���r��r�D(
-h�\�8v�!���s�'��
�q��%�/�L��\��Y���S%��k%�r4z�����L�:S�2��������F*��}�N$�$
��4$���w���=Va�TV0�Cg2�]}��
p0��Y��f�O=�M��ޟ=�sC� B��\h��Ie���:�ǟ��ZZ�O��D�YZ��բ��,X�K�{�
���J�gJ���j� ��RZ�1�S�v���
�t�U)[�ܚ5I��M���g��6�w��˅�{ȕ,
-�u��#	�ȆQ5,<rB�%�
,����� �	CZ�r.�\���NV���r��T��X�
��|�lx��S�hjK������!�}�Z�����0b��
��e�����"�υ3���Tjvp���סF֑<y2o4�&Uf�g�e��D Ac&o3y�R�`:�e��Z�X�Qi�X�S^��ҩ'Od���t���^^�.a}���FD���(��� �i%����y
:�F�p�"6D��,�>¡ ���)
k��gq���,�:q���,L��9Kvr�į

-�B$�!J�>^6L�����M:�������dj�;��\v˅3�0.r1��f���x�\���|f����]߈�m��
`�G�Κ+��O"��g�
��gx��w_}�t�&�4ֱHl@<4��6�7]01u�
��„��Հ8u}X�
-��D�sGR����L�7��=˼ޡ�T|��D��2
�����/�GV�P�����N�x#�K7 at K�8�&�8
IŔ�+�ж}�uȃ�j�sĈW�<ZN[��
����4f�=ӲFE���>��̾���X7�.��q����}d��FY��6��aS�?qx
-m�JK�==F�7ov�
EaS*<ZL)�yLn�r|A
�G�$�c������1��W� ��%�	Ţ�[�7%�wۭ�ͥ��{/$Z�=
o�,���۪���\������΃-�
���)K^�
-��`f����>��hp�eI��yr�ی���gry����9bD<V�E�y[�O=ă&��6E5Mi�&�j�ZH�Q������M���<�������f
��ncy�n#�h���? 
�qIה���1��u�Gq5B�k��dq2]�!�o��5;��U�l~B`��~B(?
 ���;�O�V���/�ڿ)	�ߺ.p�zY
T�*���e�o��I��Q0n�7��z�"�#H5"w�AMt!k�����ԣ�
�t�^r�=R�N�|4
.
4)�<�s�b=��d��;+R������;�,���8��3a��u �� N�o�
-endstream
-endobj
-6921 0 obj <<
-/Type /Page
-/Contents 6922 0 R
-/Resources 6920 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6869 0 R 6870 0 R 6871 0 R 6892 0 R 6893 0 R 6894 0 R 6895 0 R 6896 0 R 6897 0 R 6898 0 R 6899 0 R 6900 0 R 6901 0 R 6902 0 R 6903 0 R 6904 0 R 6905 0 R 6906 0 R 6907 0 R 6908 0 R 6909 0 R 6930 0 R 6910 0 R 6911 0 R 6912 0 R 6913 0 R 6914 0 R 6915 0 R 6916 0 R 6917 0 R 6919 0 R ]
->> endobj
-6869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 682.483 202.497 693.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 682.483 240.962 693.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) >>
->> endobj
-6871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.3 682.483 345.549 693.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.88 639.753 209.945 650.657]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.891 639.753 259.714 650.657]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb) >>
->> endobj
-6894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.948 639.753 379.197 650.657]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.543 585.068 209.608 595.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.218 585.068 260.724 595.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f) >>
->> endobj
-6897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.284 585.068 379.534 595.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 530.384 203.075 541.288]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-6899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 530.384 296.324 541.288]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) >>
->> endobj
-6900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 513.825 337.637 523.73]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 488.028 194.297 498.558]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) >>
->> endobj
-6902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 445.298 188.759 455.828]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14) >>
->> endobj
-6903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 402.195 226.019 413.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.758 402.195 301.843 413.099]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
->> endobj
-6905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 285.047 226.034 295.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) >>
->> endobj
-6906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 285.047 386.241 295.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.599 242.317 160.965 253.221]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1a15765e7fd1f486a9ee12a061dc4c76) >>
->> endobj
-6908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.464 242.317 345.612 253.221]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.361 242.317 513.996 253.221]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.362 155.733 241.266]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 187.633 180.54 198.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) >>
->> endobj
-6911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 187.633 272.942 198.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.676 187.633 379.741 198.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 144.903 178.239 155.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) >>
->> endobj
-6914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 144.903 270.641 155.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.374 144.903 377.44 155.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 102.174 226.034 113.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce) >>
->> endobj
-6917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 102.174 411.457 113.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
->> endobj
-6919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6923 0 obj <<
-/D [6921 0 R /XYZ 89 770.89 null]
->> endobj
-6924 0 obj <<
-/D [6921 0 R /XYZ 90 703.394 null]
->> endobj
-6925 0 obj <<
-/D [6921 0 R /XYZ 90 551.415 null]
->> endobj
-6926 0 obj <<
-/D [6921 0 R /XYZ 90 508.685 null]
->> endobj
-6927 0 obj <<
-/D [6921 0 R /XYZ 90 465.955 null]
->> endobj
-6928 0 obj <<
-/D [6921 0 R /XYZ 90 423.226 null]
->> endobj
-6929 0 obj <<
-/D [6921 0 R /XYZ 90 333.237 null]
->> endobj
-6920 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F31 503 0 R /F37 2635 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6942 0 obj <<
-/Length 2598      
-/Filter /FlateDecode
->>
-stream
-xڵZ[w��~ׯ�[��\���NzN�:N��Mc�}�sr ѐ
���_��
X`)Ѯ�" �����73�,���'�Ͼ�:��N�D!��4��IN$WH��L��hF���!ai��J�+3��?�\�zs�V�;{uu���+��@ �%��ٻ_q�����ʒ��$�2����g�:Ï��D���`Da�s�1���h�r],��T�fQ�����zI߉t�'s���*��~s[���u�-^��]^盢-j�X�c�]Un[t>gϾ�:��������k�*��b�7���5P}�,����y
�{]l�:oaF+k��$��i�G�����꜊١�޾
u�q��$�`yc�����L���M�Ś3�S0����I
RČ����@��f��V�ً�"�ln%$hPV�'C�8'�+n�bj8�JB� �T�^�Kj/��\�A7����B
��9@6�HQ�-�=�q��L-;2��d�` 2U������U�)"�H���еs�$bs�'A��$�ػ��t{,;��͉@�s�3
�@��

o��(I�)�`�
�e�����
��HA�S�I=�$�)���ev�ew`U��=����.8��z�$ܼm���@IC�LNA9�� ��

H)A�S
H$��?bB�?DI3�(�� ��x p�@G��"x�ɹ���X$���w�H��?s$�'#�Kt$`	*��	���
-�x(�g
-qJ(�/

-)|�O�2

-~n,�ό�<
-�
B�*�"�U���Ug������w<�Ӓe�)���eq����ͷ�
��Ǒ�x�Qqj^DW͑T>�6���xf�0�E�= �>�=M���V,�
YdDg�

�T1
-�&sN��:&ypz+{�>�x�/�n�����z�\x2k�~ء�
-�C���*_�@%��aW�;����ͣ�1\����A_ae����Ӷr�U]ͮ�.����v�Z
�S� ���eq��4"�bDB��
�ED@@��
r�P�����ꈪ9S}P��Џx3���)�>A
CB��91>�G������9��
XN̥
���
w�Ӫ;ѡ�����TH��g�Ǽ���3�m�p���O�r;y*��
��&�>ܤn���xT�����Y5�6��k���[���a�YU��ɳ�4[py��cJ�Vզ�U{��C,i`�[��+��5�9�ؼn�ɬ�7��P��VH��#M��x�c�����<�R�l��U����⍁�w6���.��{����]>6���g�9����)xĴ��^e�o��F�(=�,�F�X�d���ƍ�٢����͍p�N��l�>[� |�ƒ~Y��8
]}_UL�7��n�Lzd1^}caɈ+oC{T�ž�-�tϼ
%�]]i�ޕ�b����L�/H����~���;��|�/F%�]uE"4�'a����ˠw�&��m���x�?\~�+�,�hּi`-�NU
l�.�k�e$'Ӡ���r
0�x*V�/�q��d�q?�
���������볞��؄�˨7����$&�����%@"�
?��3��<�8���눿��U����Z�LdEL����^�(� OQ��a���l���p��T�p��ղѕ�_15��
�v�Q��X�v!ҭ�a�ꐗ)
���}�F�)�"=A	}
v�����rm�;o��������7�"ә�8
�,��
�p �ѡ���^��O�4����ܡ7x��9Z�\�$
7��j�<qYj�巪.o�Z�.�m�6@��@���	�=	��v��<�yvQ�"{��#6�D�X&�����O�6o��Bz

�?�+�L� �=�hQ�,�g%
}.>2,��V�
&
���
��qC:�s�
�Ӗ��Q�$�ɕb���@
.���,��0$��%�2�98�4�f�,�
�?%'�C�AU|�I���<��!s
ԍ��Ԋ1�	�'�e:�4�E-,�2�ù�R����|��p�x��R�����$(�>���ӥ��&>g��#�y��-��+ou�K�l�]��k��^�M7��i
��7�i�b{k
-3���:�w����

G=�����.4�
l�8�������g�.�7�M��	���oW�}�����%��SD�l"��B���]]�J�@
����j
��C�p�X��'VHlF�ܯj�k�E�f�B�L��L�C��X�!��'���2��:Y�A"�t�8:Е���ġ�tt@�����Snx�K7tZ��C����x�������y����/ ��C����
��:3�>�7�XU���I�ώUe|b]+�O�lq�fg`d
��J6d�>

����	�C���T'v�
`$�ӭ�nJ���� ���rnq��8�]�h���^l�P-�)?��㓾>���
-9���iݰ'^7�?J]�q�uG�m^���UOu8�����#R�6���;��.���WLl2����6�i2�7�Q��Z?��e�
,��v�wS�ҿ����S����$L�’���q	#Bu��!�-
-�S��ߓ����Eg�����v����p8�E���rW��������7�%���ȟ	n��3P��9�
9��4 �
-endstream
-endobj
-6941 0 obj <<
-/Type /Page
-/Contents 6942 0 R
-/Resources 6940 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6918 0 R 6939 0 R ]
->> endobj
-6918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.681 683.608 388.747 694.512]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6943 0 obj <<
-/D [6941 0 R /XYZ 89 770.89 null]
->> endobj
-6944 0 obj <<
-/D [6941 0 R /XYZ 90 721.073 null]
->> endobj
-6940 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F86 594 0 R /F8 537 0 R /F11 442 0 R /F7 538 0 R /F10 504 0 R /F13 578 0 R /F6 593 0 R /F9 615 0 R /F12 675 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R /F31 503 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6948 0 obj <<
-/Length 2794      
-/Filter /FlateDecode
->>
-stream
-x��Zm�۶�~���/�j
�� �qgڎ�$M[7��K���I�
')�TΗN�{X"HJ�圙N�$�X�=��, �4xw��˷�	I"
�� ��
-"#x[��%<�/�t�~��,�����9��r�x��������J�ǫ�wU��y�Y�6e5_pIgޤu���e묚�x��
t2��b���7o�/>^0
�B����?�`����$
��6��r|�����8A
(�(��S��b�a
'�w��a��;-�+���J�	+_`���)"���AJ��{�%�y�S�
�`��˷2�,��Ō(��CD"�P�C��7i�y�Gr�������@]���91��QAQ�{$L�V���`](��&��w(��V�wE($b+bdJ 
���2-p�v��Jy���u_��
>f9L�¨,�	�{+�.7�r����5��EV���r�]��!��@=$���=C.�8���P�"Bd��Ȱ�>��9$�Nh�x����P
.¨ �(<�7�9�
-ID((�1�>8���qo�V6
-���L��<gr֢��O����������b�>��5��6���Zk/��?�
-�h�t��mU���[�4�*=%��$Th�Vh��)�x�f2�i&sڙ>
w�	���յ��H
�?�f
n;��>D��*���-�{�k����.�.
�hS���uf�Xi�z�w�ҪX�۬���/�dU���q�P�"L5���vsu
-?�A�i�^z��%
��r�̾���
-	�fu�,�V.�:ç�5Ӷ�i�)��k�ֆ�,]u�`
'������������ӛ�+��F�7Θ{vI�Ra�(���I��F�-n^��B�����Q�tO�L1+���T���M9��+
� �����N���w�S��㎁t�:��(����S��m�C
{ͽf1QT�"���k�<n
�'�����eL��A{7��0����.[�EƻCy���J�Ez[j��� b�p�M]�ӭmT��5s6Ks

 ��g��vN}礵��ю@���"�؋�O�:P�U8���i6Fe�XehE���R?�����ƪ-[k5�<��d�m
-<Yw7@#�
��E=�4��*7A>��J�ob��!�L���l?Ȅ� ��4+;ݼ���I4^�
����>���-"��ׇ��q��Tt_Wp
y�rk%��A7|jJ�1V�~�J��5~�b�,�`V�F+��ppg�
T�m�Ս�
���3nUOE�eY��"m����"��׽�
-[��Eݤ���s+�YZ7�Y��X�\��eW�Y�c���X�!B���Cm���m���t;Ow5T����p��x5T 
�;&+�;���玀P
���%�ף�=���~�0w6��?+������8-#��Z9��,f|+;�\L��Nd��Y�w�%�Hsq<e��|s?i����
6$�#C^hb���5G�5��9F'����jw��23��o��W��9I�Z���w��ɧҳ�zPi)K�U5�XP}.��
Zg��k�
��"p�Aҝ�j%�I������'�G��"�uG�F|���P�\�ǡ_H����W=�g�
�A�9/E�y��n�^*J��z)� Y(��R

�͗	e�$�3«��Sx�}�
��F��	
-�? y��w�GHN�#��g=�6�a6�a-���Á���[��=n��˭U4$v���
�l��v ��vzP��۝�
��q��Лzic�Y[|����6�\�Ɵ���o���ɬMNbm�3����m����D�.B�,��H������o��=�vY�x�<���!g��,��$�R���t>
�n�
���޹�>C٘��>t�MҍV� ��ƗԜ:�CwtMb��UH�yaES,��ŝᙆi��l�'�O����6�ƥ�Qʭ�jk��P1cySw�W{�n�՞�۽˛v�
w�)Y{��"E�l�=�rm�(f���\i�]�Y�
-NV}8�ʊr�#]�t��
��GO�
�
-6�
koB�����
_�ٽ)k�ݕu��n�Z(��2�m�,]��S
< �k�k��fŴ,,�D�0C4��>rğ"��+wl�{�B
��Y)�����S{�#z�<"�R�a c�"w�;G� d���tw�92��I�xr��#�jCAX�"�B��+��}1��+����͞�2�����u�
�d���w\�a��
�,�^��AH�����j�����7��
��W_
�ݮj*��$}l���X�(��F`
�υy!Qt�~-g�O
-�6�Sh
2CNX����9��C%�D�ۻ��tX��
�i��޼=�N<
�`j��Me1֝ M���{����v���9C��
�]&O�OȌ�y$8_#I���H^�ח�^j�a�:j�ro�@���/��o4�|s�ɮ�g_����Y�ڌ]�~
�)�n�|�U
�4➬
Ӻ��z��� �����ʈaC7N�p{��>��
d�r�YY�pmG/^�{t������0z�ک��ꈿ�M��:��Vy
-���wf� w��S����wҤ�Tgiǒ�;~<k�^�5^�����F� 꽋0��#P�Ǡ���?#]g�:�50﯇���B�,J�4=
�w�|qd���:AS�j��	
��f at E������=�����}�WV|��gŗ�Y�;�"-��kZ�1;B�ۄ�vY%��8z�5���C��I��~
-ڧ���:��Ŋ�"�}��./

Ȳ&�"�U$o.w����w� �8
T���mYem��r'�_�� %��
-endstream
-endobj
-6947 0 obj <<
-/Type /Page
-/Contents 6948 0 R
-/Resources 6946 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6945 0 R ]
->> endobj
-6945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6949 0 obj <<
-/D [6947 0 R /XYZ 89 770.89 null]
->> endobj
-6946 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F83 595 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F86 594 0 R /F8 537 0 R /F11 442 0 R /F10 504 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6961 0 obj <<
-/Length 1806      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Jm�A���!I]O��qmuzp2
Z�,N$R!�8ί�
>E)vgz� A`��owI�;�:g�W����>uBz�sfK'���Dz�p��<p'�fo
���
�2˯?��N�gW���t6�2b�:
	H��|3��D�,�u(a�ܛM��Ƶs5�sDۼH��
�>�p|�cx�l�r��r�|2咎a��r�pr�'
�m�$-
��
�Bs�'�O��Δ	�ú��
�ܜ�T�q���(Pf8���z���#��51)�
�u����
*�Nk�R����/8<�D�Zߟ�9��_���*��I����ު�~��8ۭ�޲�2NҞZ��z�M�
�'�ݷ+��2z��Y�a��dU
�5��F�!%�����/;j}��
��Z���(�l�28�zܙ�0�Mq
oT�*'��zW�]"�8p�8,
-
炄�1�w%�v�'xߙ 5�����{����кS�
E/$�
-g68af�^�\�q�V���
-
�B�o~����5��Y��2�_�t�+�V�X�
-ے̲�-Q?l�!\0�++L�gj9a��#�|�(����` W�0r��O��Ë�PZ-ֱSs��f�@
�5| ��HҸTCLp�5�n��@-�u�+��/�D��W���Z$�!]?��G��}�G��B֤���9���t�!$���,1Jx@�d�(��{��U��i��hH���[6����%�K
-`��vhf�)��G/����&���pj��R�<�y���q�E]
����w��!�¥.X�w�,c�I����4��]_
���%n	����X8 � X��u��Piq�ݛ��ޭ
�A���C
b��c�ϓ�$ݓ�����  H����r���������1�<�
�=��
-&R������݇7糣J��D��4�_�_Bm��f��H��*�l�J���G�y��
�J)��%���ȹ�\ZZ�
p皳�Tp�P\R��
Eb "ߥ�'���ñ_'UJ��N��:�B|���8�9���5ڪ��o����!��h�du	֓fC��u��$#�1�:I5��l*���O�uS�
-�ƒ�l[���g#1`���\�+M���͏
��չ[
��i���e �x�晫U��+L��$>�e=�u1�Qg����a�e��TT�e�q����j�Z<
-IC}�+��I�E��"�n]:��A�8�3.
+B�o�"�B�� K
�`��6���lW�`Y��:�w\|+h���/ ����\i�*,��gyr���Mݏ_5��;�(��b��`J���xPM�G|�v�|��f�זk����?
~u�8���&�_
�=8�$
-��lW��Q�]噭���M
�b�aF��ǯ�d��ś2����"#�
-�T8�s5$#���˺]
�H�{�e�7=E��Լ-�,�8=$e�c���̣ć&���Gè	����z5��(Y$�� =�F�"w� �
-�CfN)�!� 2K�B�"���Td�?E�{hۄ�Q
�b�O�
-�M/������&�U��i�����ZX�
��i
Z�y�a��3$���:���m���G���G��-l��g&Ŧ尬
s�i[�ᝰ�
-�/t[	�n]�m�v�8��a�#P�ed=Ls�Z=lh[��-o]Pv����:(��ԙZJO�R�4)}�]��
;�.-��:m��V��K��c��V�I=��&�
�p�
-�^?S����+�r�4��W��t�e9�;�嶈G;�M�N��!
c����R�J��}v���G��t�Ak
��r����ߓyAvi��IR�l��}+��@��D���������1�̞��'��
-endstream
-endobj
-6960 0 obj <<
-/Type /Page
-/Contents 6961 0 R
-/Resources 6959 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6839 0 R
-/Annots [ 6950 0 R 6951 0 R 6952 0 R 6953 0 R 6954 0 R 6955 0 R 6956 0 R 6957 0 R 6958 0 R ]
->> endobj
-6950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 440.917 329.35 451.821]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
->> endobj
-6951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.558 325.599 211.623 336.503]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.121 325.599 438.779 336.503]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) >>
->> endobj
-6953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.118 164.31 217.183 175.214]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.461 164.31 330.896 175.214]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb) >>
->> endobj
-6955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.522 164.31 435.772 175.214]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 134.731 422.655 145.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 134.731 511.506 145.635]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-6958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6962 0 obj <<
-/D [6960 0 R /XYZ 89 770.89 null]
->> endobj
-6963 0 obj <<
-/D [6960 0 R /XYZ 90 616.209 null]
->> endobj
-5741 0 obj <<
-/D [6960 0 R /XYZ 90 593.897 null]
->> endobj
-6964 0 obj <<
-/D [6960 0 R /XYZ 90 593.897 null]
->> endobj
-6840 0 obj <<
-/D [6960 0 R /XYZ 107.713 495.296 null]
->> endobj
-6841 0 obj <<
-/D [6960 0 R /XYZ 107.713 481.187 null]
->> endobj
-6842 0 obj <<
-/D [6960 0 R /XYZ 107.713 467.078 null]
->> endobj
-6965 0 obj <<
-/D [6960 0 R /XYZ 90 428.167 null]
->> endobj
-6931 0 obj <<
-/D [6960 0 R /XYZ 90 405.855 null]
->> endobj
-6966 0 obj <<
-/D [6960 0 R /XYZ 90 405.855 null]
->> endobj
-6932 0 obj <<
-/D [6960 0 R /XYZ 90 280.185 null]
->> endobj
-6967 0 obj <<
-/D [6960 0 R /XYZ 90 266.439 null]
->> endobj
-6933 0 obj <<
-/D [6960 0 R /XYZ 90 77.486 null]
->> endobj
-6959 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6978 0 obj <<
-/Length 1527      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~���))
υK}I����R�l���,b�6�
�����
;N����0;
����s�=��L^�Nfo#�I$��ʓ؋B����Ի�	F4�c���r�,>���i��2Y�Ͼ�I�4�ߔY��Q�*��(�)���M��^~T+U$�U�T`����4����w�7��o^a�X/8�bo���}�^
-��<�����i煔����4�c�/D"�b����.���k��/�����1��"����,WI�x��TUV��_/t(��`���!�D����s2F��fï����ȡ*܃�!ɹ��qź1����B;
d�M�2ټ�e0!�_j�c��T^/�2��j>71/l��ʍ�Hx�"�ʙMGc�����Ȉ@��~�ڷUf=+ru)6L� q���k�xLi��.˷�E��CU'u��b��
�΅�ƹ��>���w�Q��aG_&�s�vS�Q�� ���(m �
Q1�v� G2j
 ��ӀG�P����.�O���7I�S���h:Z
�kGȏ7��l������C���f�j�8����
�.+��`(��?b|jR��P _��J��d����t
-C�ث�ތ����w�L�t	N� #�*���⒔�[��b_CZ������ɻ>� ��^��C��ݞB~����]���J�U����w�u�b�����yZ�ﻕ~i��CHv�/'x�W�:Ӷ��}�}
- 
�gc "S�$eJ#�ci
�y\*��j����@
A
�_�ї�N��,B��'[�R�r
|�V�[��ݔ���!�x�V#pmb�2ZBѪp�KW
�*h^�A1�a��-4t-�ǚǔ�F'	���0ai
-ogt�:r��:`#�h�+��Y�u;޳X
r�&�~$�2���Xoj�Z�@a(�e��P*PD�k��rH�\�՟`
�b:�Z���(�F
�1l�Ɛ�dܾ��d�ȫ(C���Y�����s�N�4��3�.��4�̯��Y�S����ގ�E
-�..�E"��.1��u��Z��
�B�VԷ�Vx�Ϣ��}�t�D�Ԏ���CC�7}�=k齩 �iS8_P�@>��J�� {U�

���w�1r�M/��N�8��?��i�@޾'m�D��L��Ϫ�8ն��BD(4ɯQ""$�&�F�R�J�ތB)�Q���A��е�����q����^�L�&ϑ3�@�
|b4��@
������‘�kQh�#�G?D@�h��yvk�\Xs�C���1�ac�3������S#ŀ�,����A�#
沸�#uyP��ʁ$w5/r���cFm��s�=7Ξ�H
z~����ܔ����
�NM릈UC�����R;�l���,_7Bh&2s>t�]���u��a_�T^�����c.��c��9��"��` k��$9�Z�ۆI������Y��s��{���iJ��U�1C/b
���
4��'�\�6����귉���_�N��Ϧ�������-+tȳ}��z��og�:ܱB�:��UC�]��#�aq��q��\�`�
-endstream
-endobj
-6977 0 obj <<
-/Type /Page
-/Contents 6978 0 R
-/Resources 6976 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 6968 0 R 6969 0 R 6970 0 R 6971 0 R 6972 0 R 6973 0 R 6974 0 R 6975 0 R ]
->> endobj
-6968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.579 623.867 216.644 634.771]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-6969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.653 623.867 331.771 634.771]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f) >>
->> endobj
-6970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.128 623.867 436.378 634.771]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-6971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.086 594.288 422.655 605.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-6972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.486 594.288 511.506 605.192]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
->> endobj
-6973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 346.252 329.35 357.156]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) >>
->> endobj
-6974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 181.571 329.35 192.475]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) >>
->> endobj
-6975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6979 0 obj <<
-/D [6977 0 R /XYZ 89 770.89 null]
->> endobj
-6980 0 obj <<
-/D [6977 0 R /XYZ 90 721.073 null]
->> endobj
-5780 0 obj <<
-/D [6977 0 R /XYZ 90 524.008 null]
->> endobj
-6981 0 obj <<
-/D [6977 0 R /XYZ 90 506.529 null]
->> endobj
-5781 0 obj <<
-/D [6977 0 R /XYZ 90 347.248 null]
->> endobj
-6982 0 obj <<
-/D [6977 0 R /XYZ 90 329.769 null]
->> endobj
-6890 0 obj <<
-/D [6977 0 R /XYZ 90 182.567 null]
->> endobj
-6983 0 obj <<
-/D [6977 0 R /XYZ 90 165.089 null]
->> endobj
-6891 0 obj <<
-/D [6977 0 R /XYZ 351.108 77.486 null]
->> endobj
-6976 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-6989 0 obj <<
-/Length 1468      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~�W��ԂTf�n%�Ҵ)m�4K�6�ʁ�۱M(��=s��d��d�����w.c
,
��4
\]�8�Q,�
�� �A�c$$����Fr�~�2`2B$��9~����W��l��t�q@��e P����=�p�2���Q�5D�S�Yp3�c�O�B"��$�1��c<�4"xX��ј
-<|�wI�N�ތ(�g���W��o�*�v�ɋ*�߽P�����&�Y��0��T��]�MJ��
�OkϿӶ^]��y��25c!��;K�3�#k�! 	��y at 3�\c�Bfio�Ʈ��/ ��
�
��b�$Ӟ�8�-M�Jk�d*�i��i��0��~�[���� �Ö��L%:
��|鱀I$ϲ�\n�߬�]U�L�$��YR&��ٍ�"��1
BHa"I](�e���L�&��mJ���?��,��i>�6sm�}���E��M����#�z�d������
�
��(�EK�M���|
O�\�:AI՚�@[�9�C��S�и�q�'��)�*Y�F�L��#* 2u�z��L$>E!jX��rEF-8��:P�
x�s�6� �?
-���#B��2fP9��("��J�*�u5n�l~�;[ߪ,iZï7��I���~.fmcb�t�p0�
1
��#�$��|2)��h��5��P2�_Q�:j
(�y�"�:>y�@(���O��@��?Dܾ\{�3��jI&��"�	�0
��{%���Ko8���.@��
�$p�O���F뽯q�]�4��כ�ܴ m �C�

D?k�Lʡ�L�&�]���?�Q翿��ه�*����u�V�6x����5��ޏ*h�.�'�Ie��D/�7���I���j_) ���I&O���)�N����s��PY[O���'�>z{��)��%�
P�KD"���Ĕ�S@=80��voU��r_<C<�J^Smԃ3O��'my/�lgW��c
-�ov��;�����P�$Y�a�\��P[��h�	���C#���|5C$�����+
T4�XA�~��?�1/�/�e�:����E��.$h�Q0�a|z*���xp*��S��曊0��ES�y���ݓ�t�w�:!�p��
ƍG(E����4#�/���󑞈�=�O��@o06G�6��o��p�sK{�p��uX;s/�b}t�XYVh
o�%Җ0L351_Z�o%�lc��T .�L��Rѧ�5E�,3�Zu�^���:6
&y!� �
�/���nvu��M��Nx�ʢ2��j���♻�
0+\=YV���e+�F���{���b�<������
-y��Cg��0�"�ȅ�@
 ^c�~ 3��_RO��@
��IEG��	3�m�f�.rv�g���5�]�~O�M��DW�O�����CDuf½
.�����ּ��v�����@��wC�i����v�E�m�P�\��z�;6�pvL��[�3?��pm�
�_�7�
-endstream
-endobj
-6988 0 obj <<
-/Type /Page
-/Contents 6989 0 R
-/Resources 6987 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 6986 0 R ]
->> endobj
-6986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6990 0 obj <<
-/D [6988 0 R /XYZ 89 770.89 null]
->> endobj
-6991 0 obj <<
-/D [6988 0 R /XYZ 90 721.073 null]
->> endobj
-6992 0 obj <<
-/D [6988 0 R /XYZ 90 610.905 null]
->> endobj
-6934 0 obj <<
-/D [6988 0 R /XYZ 90 588.594 null]
->> endobj
-6993 0 obj <<
-/D [6988 0 R /XYZ 90 588.594 null]
->> endobj
-6935 0 obj <<
-/D [6988 0 R /XYZ 90 515.003 null]
->> endobj
-6994 0 obj <<
-/D [6988 0 R /XYZ 90 500.464 null]
->> endobj
-6936 0 obj <<
-/D [6988 0 R /XYZ 90 428.911 null]
->> endobj
-6995 0 obj <<
-/D [6988 0 R /XYZ 90 414.371 null]
->> endobj
-6937 0 obj <<
-/D [6988 0 R /XYZ 90 354.773 null]
->> endobj
-6996 0 obj <<
-/D [6988 0 R /XYZ 90 340.233 null]
->> endobj
-6938 0 obj <<
-/D [6988 0 R /XYZ 90 280.635 null]
->> endobj
-6997 0 obj <<
-/D [6988 0 R /XYZ 90 266.096 null]
->> endobj
-1406 0 obj <<
-/D [6988 0 R /XYZ 90 143.625 null]
->> endobj
-246 0 obj <<
-/D [6988 0 R /XYZ 90 136.92 null]
->> endobj
-6987 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7028 0 obj <<
-/Length 1383      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�6~���)�� KqI��m��mw�&�S���Xv�b�N���GH`c�IlO���9�w�W��w������
����b�wC�<��&����M0��E���hpmQlf�⑏�h�{2̣|qqq�'��<��,�.��O-�2l��FE�No���	L.bn�~ �4��w_{������
D��w�
#�����	�zhj�ԁcj�����U���2�D���x�yR՚j�|�W������`/��v��6S�R
-�H�h��
ۡ��Ң„ko��&
r���)E!	�k���j6z�
-�ř(�AR*�ׄ���zh���JE@ϥ�M���$�R^��Y�ɤ�<q}�C���X
'�1�L�"1m$�u�:ul�j;!� �� �jl���4���o|:�u����L �w��	��;
-Z�I]
0��#�l|	�_�8�����6�ǰ�e; �P�<IG:�"M����J^A���Z[�1� Vv���uy]��&����
-��#��&b��2�H��e�x@#/��6�$�+��!
-�b��D�U%�����89�?	s[I3Gɔ��tP.f��}x�P��+,֟i��-p���x��8H<�};s�s4s�NJ�
��&�{��#�
�P���-6R�E1O����А,���š��`���R>��&^�R=��Q�.
���x�v��Dz����I�t�
7�T�D at v��Z��L$��M�����b�|���:�2��
-�
/�h����kY�����MZ����L�cz��� ����P�t$oy����1):r7%������s�J��T
_�7�n�S
���:o�T��uM��j�8�\ff�_٨đУB�ˢ�<�
�[^Rfꈏa�"$����~��� \G��.�#\���Ł�kE�ڽ����C^H���kK㪇�Q�t�ͪb�

k��|�FM?"8���<N6�!=���<�h-�,�v�������^�^
#��U�rC��+�1��x����eaL��F�A$l&�I�R�R��<��ӆY���85���������8�w������5���S��倀�э���i2Ev��|�Q�;�~)������\j5IN8e�Ux���]�`�D��皳
r��9W7�n
{L2J֥������ӵ���O	�����8I���^����gf�]��\�r���QZĬb�`cT��\S.

-1��B!
�tgs1�w+b
����3�`a��wg����|(�jG���z��Ύͦ���w~ԥ��QAE��dtp}��<ҳ�t�')���YATz/R��oy�tʲ����7��tE_�����貜]�����(.�\$�
%e6K��;+R���Fȸ
��Y���7���"���_3��
-endstream
-endobj
-7027 0 obj <<
-/Type /Page
-/Contents 7028 0 R
-/Resources 7026 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 6985 0 R 6998 0 R 6999 0 R 7000 0 R 7001 0 R 7002 0 R 7003 0 R 7004 0 R 7005 0 R 7006 0 R 7007 0 R 7008 0 R 7009 0 R 7010 0 R 7011 0 R 7012 0 R 7013 0 R 7014 0 R 7015 0 R 7016 0 R 7017 0 R 7018 0 R 7019 0 R 7020 0 R 7021 0 R 7022 0 R 7025 0 R ]
->> endobj
-6985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 707.957 309.156 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-6998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 653.426 192.544 663.354]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-6999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 570.864 213.297 581.768]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6c21214d11e4dc9738dad1f72501a286) >>
->> endobj
-7000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 531.66 213.297 542.564]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a642db539e09ba9a9746d490390097d73) >>
->> endobj
-7001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.634 531.66 305.699 542.564]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 492.455 213.297 503.359]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a72f8cca084e83cace83223ea0ea42bca) >>
->> endobj
-7003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.112 492.455 282.755 503.359]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 453.251 213.297 464.155]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e131a7f06d05c6e9eb5f5c) >>
->> endobj
-7005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.634 453.251 340.02 464.155]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 414.047 221.045 424.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) >>
->> endobj
-7007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 374.842 213.297 385.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.036 374.842 264.843 385.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f43fd48c07a63db5efa3564769) >>
->> endobj
-7009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.18 374.842 391.566 385.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 335.638 179.554 346.542]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 335.638 250.666 346.542]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c083be7bc0238a3f5c6c112e3) >>
->> endobj
-7012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 296.807 155.265 307.337]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) >>
->> endobj
-7013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 257.229 158.044 268.133]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) >>
->> endobj
-7014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.382 257.229 250.447 268.133]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 218.024 199.947 228.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2d0bc3adc78e64aafdab0dd9a292db1f) >>
->> endobj
-7016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 218.024 268.828 228.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 178.82 199.947 189.724]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa2e9eec4ddeaf5dca3afa1976d36b703) >>
->> endobj
-7018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.763 178.82 303.149 189.724]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 139.616 161.013 150.519]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0bfafeac6438cecb2d2114e665) >>
->> endobj
-7020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 100.411 195.165 111.315]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd) >>
->> endobj
-7021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.492 85.615 224.161 95.521]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-7022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.215 75.324 209.885 84.562]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-7025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7029 0 obj <<
-/D [7027 0 R /XYZ 89 770.89 null]
->> endobj
-7030 0 obj <<
-/D [7027 0 R /XYZ 90 671.599 null]
->> endobj
-7031 0 obj <<
-/D [7027 0 R /XYZ 90 590.013 null]
->> endobj
-7032 0 obj <<
-/D [7027 0 R /XYZ 90 590.013 null]
->> endobj
-7033 0 obj <<
-/D [7027 0 R /XYZ 90 550.928 null]
->> endobj
-7034 0 obj <<
-/D [7027 0 R /XYZ 90 511.724 null]
->> endobj
-7035 0 obj <<
-/D [7027 0 R /XYZ 90 472.519 null]
->> endobj
-7036 0 obj <<
-/D [7027 0 R /XYZ 90 433.315 null]
->> endobj
-7037 0 obj <<
-/D [7027 0 R /XYZ 90 394.111 null]
->> endobj
-7038 0 obj <<
-/D [7027 0 R /XYZ 90 354.906 null]
->> endobj
-7039 0 obj <<
-/D [7027 0 R /XYZ 90 315.702 null]
->> endobj
-7040 0 obj <<
-/D [7027 0 R /XYZ 90 237.293 null]
->> endobj
-7041 0 obj <<
-/D [7027 0 R /XYZ 90 198.088 null]
->> endobj
-7042 0 obj <<
-/D [7027 0 R /XYZ 90 158.884 null]
->> endobj
-7043 0 obj <<
-/D [7027 0 R /XYZ 90 119.68 null]
->> endobj
-7026 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7073 0 obj <<
-/Length 1479      
-/Filter /FlateDecode
->>
-stream
-x��Yے�8}�W��M�6ɲ,��e�
-�ےl�P)��LT��e�_�-�r��L2�xH��ut�t�%c���֋�����s�-���Zӹ�c�;>b.<��ǡ�y���Wu=D|zU���{;}�v:1�
�M_���
0�=+�?c+�ׯ,���Y˪Ql96�kdMp�eߵ���
��ȡ���
�mV#�w����q�0
i���*d.�4oZ��U��C��fx(�pׄy�	3
?2��*�[��+P�[
�t
Ӷ���֘8��F�Ae���R���M&t1����
��ٌn̨<D�����
�m�<���d/�m�b�h�&�b�����$e<�ӑ͆K� d�K���O��59l�.���Ո=l�
�z
L%;f�J2���D.b	�y�H����_��H%��!�FsϜ6
^�it8�-��e�J��"
�_<��Fk���]ފ��u�m�q���Tí��]��D���yݛ��1
�<�[B?aL{�8��^�c��8��B�ViҸ5m$�
��v��h>�لوSz.o+=�_K͊t��7���ʋ\��&C��<�T"��hu[�xw#�
�p�g�����eR�@DMH{�3��k�=W=����G�jH��FG�:z��]e���O2�x�EwQ]|�Pȩ
~�&�խ6�N�BA��m�"�^C�76Uה�BJ��2�s�S��Qh����t>~
�<��
Fn�8E���1y��e[�����A�@w�tK`O����a�9B� F��¦�X�_�V<��ȥ�k�
��x�
���0��7�}b��|�A%7ZAo��,����˥�y[��j;���H�Z�zE�#�xGg�R���x��݀i�>0st7�S�i'�'OzF��z�?2��3�����:�T�_����x
c�`w�p^o��>PD
z8�M�B
,�!�ڽ!?"�*��o35���j
aȰ~s�:@�^�˭�X�%�GM ���~�w�	 �Z�G
�.��R܍�k#�F>���� �
�t��@�c
-{��u+�Q|ԦG�A �����}����:���4֡�T�TВ�cC	c�9;u�K�#�fZ�'���i{���Jf���6���-0��m~
k�0��X�o�
�2S2l{�f}s��x]51+�_oW��^�<�I�~��c�s�Vq
t8� �=�a�'���c�œ^����5���G;����Rd��C�<�����TŢ��rܿ�a����1!

-0����o�91kzP+�}y��o��(�y������OC��!�mf�wX*�
�PN9������D g]���Q;�.���l�
-�h{"���M����
�۴A�
����
*#���{a�=:qp�q:����N�����f�ǢyL��B�y��Z]�M��h��f
-���7")ۅ�x�1%�5��l�ĦԚ�V#��X��_ƥ�&h�#����(�����r�D�Fe��
��"ˢ���a�;#�3�nq��q�I�v
-8�I�6%
-endstream
-endobj
-7072 0 obj <<
-/Type /Page
-/Contents 7073 0 R
-/Resources 7071 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 7023 0 R 7024 0 R 7045 0 R 7046 0 R 7047 0 R 7048 0 R 7049 0 R 7050 0 R 7051 0 R 7052 0 R 7053 0 R 7054 0 R 7055 0 R 7056 0 R 7057 0 R 7058 0 R 7059 0 R 7060 0 R 7061 0 R 7062 0 R 7063 0 R 7064 0 R 7065 0 R 7066 0 R 7067 0 R 7068 0 R 7070 0 R ]
->> endobj
-7023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 695.446 187.563 705.976]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) >>
->> endobj
-7024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.482 680.518 271.151 690.423]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
->> endobj
-7045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 656.351 179.554 667.255]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 656.351 223.857 667.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e) >>
->> endobj
-7047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 617.63 179.554 628.534]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 617.63 248.444 628.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2) >>
->> endobj
-7049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 578.909 179.554 589.813]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 578.909 223.558 589.813]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) >>
->> endobj
-7051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 540.188 178.727 551.092]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d) >>
->> endobj
-7052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 501.467 182.044 512.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) >>
->> endobj
-7053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.381 501.467 308.768 512.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 463.119 150.493 473.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) >>
->> endobj
-7055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 424.024 181.845 434.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) >>
->> endobj
-7056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 385.303 181.845 396.207]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-7057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 346.582 154.727 357.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) >>
->> endobj
-7058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 308.235 176.505 318.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) >>
->> endobj
-7059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 293.307 450.955 303.212]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-7060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 258.181 191.718 269.085]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 258.181 288.852 269.085]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) >>
->> endobj
-7062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 219.46 191.718 230.364]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 219.46 303.079 230.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229) >>
->> endobj
-7064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 180.739 156.281 191.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa8e33c8dd37c45144bf92a6984c7706a) >>
->> endobj
-7065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 180.739 259.483 191.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.169 203.075 111.073]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 100.169 296.324 111.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) >>
->> endobj
-7068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 85.615 367.019 95.521]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7074 0 obj <<
-/D [7072 0 R /XYZ 89 770.89 null]
->> endobj
-7075 0 obj <<
-/D [7072 0 R /XYZ 90 714.099 null]
->> endobj
-7076 0 obj <<
-/D [7072 0 R /XYZ 90 675.378 null]
->> endobj
-7077 0 obj <<
-/D [7072 0 R /XYZ 90 636.657 null]
->> endobj
-7078 0 obj <<
-/D [7072 0 R /XYZ 90 597.936 null]
->> endobj
-7079 0 obj <<
-/D [7072 0 R /XYZ 90 559.215 null]
->> endobj
-7080 0 obj <<
-/D [7072 0 R /XYZ 90 520.493 null]
->> endobj
-7081 0 obj <<
-/D [7072 0 R /XYZ 90 443.051 null]
->> endobj
-7082 0 obj <<
-/D [7072 0 R /XYZ 90 404.33 null]
->> endobj
-7083 0 obj <<
-/D [7072 0 R /XYZ 90 365.609 null]
->> endobj
-7084 0 obj <<
-/D [7072 0 R /XYZ 90 277.208 null]
->> endobj
-7085 0 obj <<
-/D [7072 0 R /XYZ 90 238.487 null]
->> endobj
-7086 0 obj <<
-/D [7072 0 R /XYZ 90 199.766 null]
->> endobj
-7087 0 obj <<
-/D [7072 0 R /XYZ 90 119.077 null]
->> endobj
-7088 0 obj <<
-/D [7072 0 R /XYZ 90 119.077 null]
->> endobj
-7071 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7106 0 obj <<
-/Length 2057      
-/Filter /FlateDecode
->>
-stream
-xڵX[w�~���SJ�L����6��4ms�uۇ�
X�$������
�H�������`0��|@୽�{{��۫�4�r�'a�ݮ�<��(gq������l΃ ������V��8
�.7�h��?�}#����m�����R������c۩�l
Ɓ�u)ۖ>ߩ�jf<�U�T�y��g�峟o������W
d
<N��,ͼ����ρW��w^�D�yC���P�齿��*�jC��d�
��K9g����06��mއy
궝��d�dօ�C隵�فT�ҝ���U���ՏA
�����?�!�2�3�P�0dIzs
��g$��z�֐�F����&�
���0w��%Y��
�1���
q3�b����"��˺j��v�N�	�|q�ϯ���
-���Wz���i֜t~��}S���պT]]�� �� �����4����R{�x�M
�
�I��j]u�����9͆l.rd�<
-Yn���Ѫ*���Ӻ@ec!��������
��W�����ß_! ��
u�ۯo�t at -�E
|
]���Y
-�&���'�bgTpWGD)���v����%a���S&<fIދ��
��@63��6et�*���,`y�Y*��Y����
-��e�kg�Q���
Z���N�,�]�ϭ�����j��U�{�B�rg��)�gId��B�,���%m��Ⲥ!
�9��`<�=��gS9ey�;Z�DŽ(�k�̺�4g�y�"p�(i~�w���Õ������rG�a
������)
��V~v?�����K1��!X瞗1��Ƀ�L%hnf���$�}5��S1v���Z:�6Q�B�Z��Z�크}�;]x��� }vRb
�g܂�o���U�oT�l�
��5�
�� �~���5��~9:�� ��T�P������^�vB��sg�3�4?�P��\��{<wJ\t��0x4S
K�H
;!���t�:��o�k����&^�H��=Q
(0�J]��ʳ��ܪN5�Tj��a��)Q������hIW�j:r04�cY�O�n��i
-��_����"��I�ޅi��SUk������J�+MKǩ�}K�9��o�����L��
��GO�T(se�cCߠ�T8�߂Ii���i��T
�f&p�?/$��6Y03W���^nhI۩��UGS]M�N@"�4Y��\mw����r���E���e�/�I�k'K%�z]�5+
ЪOFX���� ���c�
� }R�%'�
�2F"h��]�"�͹���5Q��ũ�Z,�+�
�(���l[Z�3e"�9�`�B�կBOO�[
)��/b�����[
&b�w*�1� ����_���ڎ�.췮Q�'���F���u�4
b�,eQ�`�Q��N�=��c.	�����a���0��Q�eY��v�\�
-N�i�	�p��>
ۭ�m՞��V
��9�O�b�xO�l�
3��M�u��$҃�E� H�#��-��

`�\�pga��Zv�)2�DS�����; ��d�
���%�n���� �a& F��nѼ$���|hK��D

eA%,#H�l:�ji�4�[uL�+Lđ��S��DC)`��G:�l�z	D
-�B���
0.�&'��
�.�B.�m���N��u;�D���n�V���;�+
h۟�Ϡg�C��1����fpdz�iE��>��\��
	�]d6؊D����JD-
=btiGg�CJlc87l^8���F���W
�+ú��mOf/�o��{��{���-�aC
vo�eWYv�'���{�9���1���Y%�揭G��z�U�G����aQ+;wT��Ԏv*�v*���g)��(���ʻ4�D��btDh�!IG�����P}74H����[_�赶]�^�>Z<7��ҶV
ä:}Ǐ!i!�/|�w���LQ
-e9�V<���١����^�h�/���n�4�����vfLHʂ��{��^9�
����=g�f����ߩz
��F,�/���-���[�l_�]�tw�ە�O�ʀ
�{&��>�lk�qu��늝��7���

-endstream
-endobj
-7105 0 obj <<
-/Type /Page
-/Contents 7106 0 R
-/Resources 7104 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 7069 0 R 7089 0 R 7090 0 R 7091 0 R 7092 0 R 7093 0 R 7094 0 R 7095 0 R 7096 0 R 7097 0 R 7098 0 R 7099 0 R 7100 0 R 7113 0 R 7101 0 R 7102 0 R 7103 0 R ]
->> endobj
-7069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 708.331 194.297 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) >>
->> endobj
-7089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 669.928 188.759 680.458]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178820135a7ae3a75e65377) >>
->> endobj
-7090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 631.152 260.339 642.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.079 631.152 333.146 642.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) >>
->> endobj
-7092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.965 616.757 419.427 626.662]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
->> endobj
-7093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 551.044 180.54 561.948]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4baab5102f00046f941188f) >>
->> endobj
-7094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 551.044 307.263 561.948]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.996 551.044 448.383 561.948]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 444.335 226.034 455.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) >>
->> endobj
-7097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 444.335 420.562 455.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.325 405.932 166.691 416.836]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ad85c523fefc56e289bd9fdf878bb339a) >>
->> endobj
-7099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.917 405.932 391.386 416.836]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 405.932 513.996 416.836]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 393.977 248.713 404.881]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.169 311.959 392.556 322.863]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-7102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.156 300.004 300.222 310.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7107 0 obj <<
-/D [7105 0 R /XYZ 89 770.89 null]
->> endobj
-7108 0 obj <<
-/D [7105 0 R /XYZ 90 721.073 null]
->> endobj
-7109 0 obj <<
-/D [7105 0 R /XYZ 90 688.422 null]
->> endobj
-7110 0 obj <<
-/D [7105 0 R /XYZ 90 650.019 null]
->> endobj
-7111 0 obj <<
-/D [7105 0 R /XYZ 90 569.792 null]
->> endobj
-7112 0 obj <<
-/D [7105 0 R /XYZ 90 489.684 null]
->> endobj
-7114 0 obj <<
-/D [7105 0 R /XYZ 90 357.086 null]
->> endobj
-7104 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7121 0 obj <<
-/Length 2167      
-/Filter /FlateDecode
->>
-stream
-x��YK��
����-vv��C���!����&�<�s���R[�[�,y%y���$�����L���e$A >��
��_}{wu�]Ľ�%�
����p/���˼2�˟��T3���J���w�>����ջ��_�
qO��E���]���2 �q���;�I;ϗ
-�K���W��2�'٤�$�e"bGB0!H�mˊ�͛�G
�mSd?���=\�I
x+���z�!�7 ?.W!�o菖K����O����
�_����3�13
n�j�/W2�v��fV��-ꪥ~ژ���ջ�+�iY>R��C����vf�.�z)�ű��DZי�ﻴ��ݒ6ݙV����|ݽ�֝�eb�+�X�"���Z5�Ǘ�*`�@���j�R"�W]��
�F)�(6D>����f�H�,7M�
lL�G�ܰ�,�K�<��帔|�q	M3!��\V�>\�D-�ʌ��l��f���B�]Ts�s����6b+e'��E�5�Rq¤�PY,PF��CS��K��D����M:�Ό	a�����)��2��ڤ4'�B�L*�<O�Pk��
�}�Q(8W?K�,5'u%v���n����3*���N�
� M+Ix-�}8%z�zf�z
��G�#�
-AU
A�L��־{Lw��\9Y?R

<���?���R_3�N�	H��u�^t(ʬ�~�r�>��To��Wy�vu�Z&M�����
_t*�o�F�G ��h;7�r���;���[pW�T���
L[� j]�>u�#X)�_vb��k4io,ϴ�V��'a��˻��<9�w�
G�6��=;M^�T�$
�|�W}�V�u|�g�\&ƌG=>���
�f�Ap@ig��"�K-�P��4�u)@���3jd�9�^Бo�H ��1y�����D2?�+1�K��
XQ�;�����
�j{�S	}_�LC�1w3Y,Ff�9
�d�0�Hx�EK�#������q]�m{c���p�Wq�wy�����
�
b2X!�V���?
�ó���"�g��⋐9�Afu2C�2EfYd��2�HJd��@�
-�2C��F�)����K�5p� N�Ψ�jeQ��5	�	�z|Gd޼ �LJ�u Y7����ܽyC�ݡ�
-�v��b��ͣ���Ջ{a�s�����+w��}�������^�P�� �z!T�?��SI�8�� A��r�}��N�$�N��QN4!�
-�X�C�N���V԰��d
�H"��V��I
gV��˩�����>��]�W���r���C��4f6ѭ\#A� ���:i��{3[h0��!�$R]�1ʮhZ�9���܋����
�HO��V(ܓ�Y�3r>=�c�T��b��qHȘ�a2<����	�B�"4�/�^����K���ٱ�+]��.J��MS�&��r�'c�b�Ĵ&F�è�g�wA㶝��!��}?��g؈�Өg#�� v+��y�`y �����Ώ"9+*ĉ:3��0�G�u�ϓ�AY�	����>cp������W �������/��k�,>.K�ӄ!r�D4I"J�A� m
3G��!�$
8�2<�
�M�rj{g	+�8��t2їodh�U��:ɨ�s�+�e���]��4�2��~Z�
�N�A�̰��+�>�2�t��a���1���NE5S���%}�`�!��Bc�b��Lإ_�
��s�+����we�D}
�0X��t��
-(
��@Ғ�n��$�
����Oi��6=��RA��Z��E&@��>@��"X��
ͥ�֡Q�f�L ��y���2~%�-�6�q�
q�1]ws���\������
c�
Ip%�Eg<���8
5y����ro�"�@�&`

�|C(WW�a=+��
-��Z�9�2����}�b�
F�n?R4��õ��X	T
���^ |Z��}	i��
�G�O�q��h̄��ۢ��:�XXI���G5���ye��u���7���q��"��M��&��u�þ�|�s�Yv١�R
2�l�w�q�?��
�����?q�Mz���d�^����v�
J�6��t���!���cqߤ�9����
��Q���`��*!
5��ٔ�>�xT�y'_�� �x��l�����)�ގ��ۿ��>
�lݲCU�Vt��}y}
-).��E��ƚaW��7 �t�����v0j
-endstream
-endobj
-7120 0 obj <<
-/Type /Page
-/Contents 7121 0 R
-/Resources 7119 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 6984 0 R
-/Annots [ 7118 0 R ]
->> endobj
-7118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7122 0 obj <<
-/D [7120 0 R /XYZ 89 770.89 null]
->> endobj
-7119 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F11 442 0 R /F8 537 0 R /F7 538 0 R /F23 364 0 R /F31 503 0 R /F1 577 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7130 0 obj <<
-/Length 1774      
-/Filter /FlateDecode
->>
-stream
-x��X�r�F��WP^83U��o at e/
'R�Uv$��P\*=e

��_�
�� bF�ʛ����>�=�^�s�`�t�������N�I�s�v�x<@B�]�\.	F4X�c���"x�Yx�yE�H��*.ë�u�����2��NU�ʰ.ʫ�mU�l�R��oҰ���Z�rE���#�r=.i at V_.�-~�X�� `v��E �w�lq�;1<~�`�߹�e�
~S�|��t�D��+D�_Uv
uƝ4yT'E��~+�&Sy
v��@�ޥaBG!b��ֆ�H��(yb�����Re���

yUw�s1p�_!�
�M�����G'`� >C{�B�ڍ^2
-G�O�8��5Bָ�	�  .gH2�����&�I^�M�u���0g��13&Љ	Į�o�j�� ���P�6�[}W��o}���M��g
Qpd
�щ C���2*UX%��䨼����Qm���
' �
- e�e��J�*F]�]��ܠ�@�r����Pv�vq)��
���2LS��*
�t�a�jk<x�}��E����:�v�k��הʾ��_��`�ẏ�$���9�i�c
c_
-��e�22NŸ����Sxa���B3�ٲ
‚C�a$�?fKd�E�j;��<����[���ߔ�៉��p���ys���P�&Ց�+�%``�4B
�
-ض�$S[
x\g�nʼ�	4cH���Q{�cP���!n/�
���>G�~�I>���\��I��~Hr�t`�
-�[��޺3���ov��/��<}�
��J����ƈ���¹�u�q
=�.\N�hH��[D�i6�I�IU+�*֙_�EvȆ���z���cΌIa���b?���*J����]eUu
"_պ

-���	G���T͸��D�y�q#�� Vu�M��O��#A��􉺰
uiU!���o޾՗�ڔ��{��Y��
�)���:����@��6t4�&��q, ��熮`��������K.*UW�r�!J�#j�>P�.
��q��QT�1t
�3R (]F�R%�<x��:"K�UE���M�bfc�2�{�ô�ۙ�a�
��.��mS�VlJ�U�C����! �-��.���a��oߔ�ō�`�y��n���,י�:�pi���)�"֫���Mt��!t���
����`�$O��s�����3]��ZU���r��K5]�a�Īd���lݻ�{�k�k�
ǩ���
r|ܑ������и%�2QylB�چ�L�ao��>֏}V&���h�_�j��`|���;!�y��R �\�}��F�2`��>qE��?ԥ�!*���ٳ9e���`>X�����r�e��
]J�ߤ7֨��
��������8���)r0~�3\
�/�لH�D�nb��$&Q��0Mlv `�@�
�ѐ�?^U�324Y�a�����P��A���f �a�	{tW�š�`-��B�f�<��`��
�#_ȇ��2��'�`.K�&���m����ԛ�6 ��b�U��LZ͘!� �
<B�=�
j`�� ,y��6i�P<�W|�T٦�m
���O�?�Z[ޭ�T:-(P/`�;L��:��I� �'o�� �_:�C�fj����n��
Y�
��R헓VM��c��
#�\�yf>=C#a�~���=��g�����<�/��;f��
B/���꯾5"�o��T�K
J#�ü	����
-Z�^71�i[9��=W�8�=��ث��.U;{�U�����������
�*��ɦDI}�٤G��M�& S��dm����I5��Y'����/t6�C
-endstream
-endobj
-7129 0 obj <<
-/Type /Page
-/Contents 7130 0 R
-/Resources 7128 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7123 0 R 7135 0 R 7124 0 R 7125 0 R 7126 0 R 7127 0 R ]
->> endobj
-7123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.444 495.006 513.996 505.91]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 485.108 130.826 493.955]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 465.426 363.671 476.33]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) >>
->> endobj
-7125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.804 381.282 445.257 392.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
->> endobj
-7126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 322.123 363.671 333.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) >>
->> endobj
-7127 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7131 0 obj <<
-/D [7129 0 R /XYZ 89 770.89 null]
->> endobj
-7132 0 obj <<
-/D [7129 0 R /XYZ 90 721.073 null]
->> endobj
-7044 0 obj <<
-/D [7129 0 R /XYZ 90 702.603 null]
->> endobj
-7133 0 obj <<
-/D [7129 0 R /XYZ 90 702.603 null]
->> endobj
-5915 0 obj <<
-/D [7129 0 R /XYZ 195.633 599.928 null]
->> endobj
-7134 0 obj <<
-/D [7129 0 R /XYZ 90 574.887 null]
->> endobj
-5936 0 obj <<
-/D [7129 0 R /XYZ 90 466.423 null]
->> endobj
-7136 0 obj <<
-/D [7129 0 R /XYZ 90 443.539 null]
->> endobj
-7137 0 obj <<
-/D [7129 0 R /XYZ 90 300.236 null]
->> endobj
-7115 0 obj <<
-/D [7129 0 R /XYZ 90 276.261 null]
->> endobj
-7138 0 obj <<
-/D [7129 0 R /XYZ 90 276.261 null]
->> endobj
-7116 0 obj <<
-/D [7129 0 R /XYZ 90 201.008 null]
->> endobj
-7139 0 obj <<
-/D [7129 0 R /XYZ 90 178.125 null]
->> endobj
-7117 0 obj <<
-/D [7129 0 R /XYZ 121.143 77.486 null]
->> endobj
-7128 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7157 0 obj <<
-/Length 1303      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_!`@g3�W�À-mZtk�5ާ$���I�*��_�Iɒ�$�K��'�y<���sGb������O�������<�������p	�����ztr�|o1�Eija�z}���囏˳����r�yD���6 ��ZA2:��V��[1ϵ�jPbq��7��F�����k���b�)����<^G�d�
[?����
����y�_-&FŻ�
s���:���|�6�«�2��_��]Q�D[zUmjv
-k�|a
�����K�xˑ�z�w*hS�9�Rך�6<!��F�
�Q�am^��tN�\
� ��o
']J�Q繌�R��z��[#�
s$���"L
@g�
"?����q��]p#���
�s�١u��d1#�%��	S� �r�i��:,�:�$2-�2Z����:��**�S��y�*
̟[
j���:����X
�'T��Qz�_]`Lc9W	PS�"6�
ঐ &֔��� �fY�V�)��b[ah��>Æ����]�ȼ�*ؘ��d��O�F��e�0l�CƚM�h���*��XO�U����[�7��ʴ��:�T����Qwa�&J�xǁwQ��[}��Q��a�v�v?
d�R�0Q��d�
-�fx/�
E(r�{?I�2���R�k~kT���P]'������/��Y.�`s��
r��!m��u���|œq(�=Li���6�Q
��㞉�bs
G�6�A&����t�UBϻ�n0zU�S��Nu�k�|Ll�޿�7�&.�
ҨBx	!c� p]٭�Crb"�ج�� �����"n7��B��f��S��~
>�~�t,�H�M	,w�L��$��݀Eh�p;I4�D����̣aR�m\�%3[


�8���
�9��B0�6@���ݡ**���E<DI�-Y]:�`�؝x4E�

!�
y~B�H�+M
S�@7�<�!���c���
e���y�d�W��6;�vwo���Z��j
�z� U��n�^�/
C�(}��@���g�S������h�~�1���c��g�k.���חa�`�}
��
-���j��ϕ�u���q�ɍـ�sd�&,�Dx���vs��F��J�
2S�&\�u��W��@����V^(����W����k���bG�JN�`�
{%���^0�y��0Ԃ;HxnO�Յ@u!1� o��k	���B��V�|ӥ}��M}ଈe��F�1��W����d�J��?����:규v
�ps�*�l>�m�[h�FY��r�e��P�[V@���Hi�����^&��

-��l$)J
-endstream
-endobj
-7156 0 obj <<
-/Type /Page
-/Contents 7157 0 R
-/Resources 7155 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7141 0 R 7142 0 R 7143 0 R 7144 0 R 7145 0 R 7146 0 R 7147 0 R 7148 0 R 7149 0 R 7150 0 R 7151 0 R 7152 0 R 7153 0 R 7154 0 R ]
->> endobj
-7141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 478.963 177.053 489.867]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
->> endobj
-7142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 398.079 179.543 408.609]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504) >>
->> endobj
-7143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 346.686 179.543 357.589]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a51b29c5dffc073c2d350471ae9bb879f) >>
->> endobj
-7144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 307.621 179.543 318.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) >>
->> endobj
-7145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 307.621 254.811 318.525]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 268.556 179.543 279.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c) >>
->> endobj
-7147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.881 268.556 272.514 279.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-7148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 229.865 187.292 240.395]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) >>
->> endobj
-7149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 190.426 163.215 201.33]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) >>
->> endobj
-7150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 190.426 256.185 201.33]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-7151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 139.406 163.215 150.31]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_aefeb88699fb82bb331a2d24ce724bb07) >>
->> endobj
-7152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 100.341 163.215 111.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) >>
->> endobj
-7153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.552 100.341 238.482 111.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7158 0 obj <<
-/D [7156 0 R /XYZ 89 770.89 null]
->> endobj
-7159 0 obj <<
-/D [7156 0 R /XYZ 90 721.073 null]
->> endobj
-935 0 obj <<
-/D [7156 0 R /XYZ 90 603.578 null]
->> endobj
-250 0 obj <<
-/D [7156 0 R /XYZ 90 596.846 null]
->> endobj
-7160 0 obj <<
-/D [7156 0 R /XYZ 90 498.042 null]
->> endobj
-7161 0 obj <<
-/D [7156 0 R /XYZ 90 416.785 null]
->> endobj
-7162 0 obj <<
-/D [7156 0 R /XYZ 90 416.785 null]
->> endobj
-7163 0 obj <<
-/D [7156 0 R /XYZ 90 377.839 null]
->> endobj
-7164 0 obj <<
-/D [7156 0 R /XYZ 90 326.819 null]
->> endobj
-7165 0 obj <<
-/D [7156 0 R /XYZ 90 287.754 null]
->> endobj
-7166 0 obj <<
-/D [7156 0 R /XYZ 90 248.69 null]
->> endobj
-7167 0 obj <<
-/D [7156 0 R /XYZ 90 170.56 null]
->> endobj
-7168 0 obj <<
-/D [7156 0 R /XYZ 90 119.54 null]
->> endobj
-7155 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F38 2117 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7184 0 obj <<
-/Length 1824      
-/Filter /FlateDecode
->>
-stream
-xڽXmo�6��_!`@g5CR�$À�]߶Y�}Y[�L�D�VI����
ER�d�mӠ_�"��{�{(�
켘\�N.�����wnW�N�q�|xZ:�#���c<��<��4Z\�(���~#�e��CޕQ���|�բT�>73�ه���	��'!G����_��	`G�r;�*�fK0>cl�x6�
O_e�e�|ĺ LB����=;�iU�6z;�t*�"�j�Gn�J9NE�!��rWٜ�v;�4!`;D��� t�t��v�0�ځ����5�Rǣ.�O����&�l�	A�S|�l���:��X��=U\ʢ�y��d~�v��C�O��'��{��z
:l�}[�8�Ƣ��{�i�C �Wy���3�2�zd'�"��Z�(�fJh6�<o���^^�J�E�9ȶj|��:�#2��(��:����(qƴw�t����`W�\�Q*T��T*��G=\��d`���R��d�N�9x�Ι%:(j�ݶY*m�y��(+Q�y�
5�c� ?Ljs@s����3��v��0&!
-0�P�PQ�[{��P+�V4�G��Qf•���Y�A��w{sVU����͋���`s�,�����
�
��( �3w)�~�.���7"����,nJB�H
oS�Ց��a]Cm�ɬ���� b}_./�<-"���{�0�P�GK��#�c�뵇} ����H`<�9�� [�����(���
-ѧ8��� ��=�
G9�
��
�ܶ���uiΐ�
7�ޖ*M�j���vb�ݵNc��
-;!]����=p��	��
��ľ�#���‘H� ����3��Ȗ�1�m�1ߋ'S~�
�&?�)7ꍬF�A}��v�4
W�Q�����4^�i
=���I�.ETw׌�����I�;C<�4�JQOѪ�d?�f
Hx�!��4@�Ɍ�M�j$v��(

"v�h����f�%�y�[<��?�U�
n]Q���Z��
A��KQ��wo�O_��A�tKS�_(�o��W?�B�Z���R7�ژk�i�L0�
��
��"�F�t[Am��(�ͲG�C�6;�hkz�m���T���hU���8�<I��m��%�߈T�j���k(e�v5g�1�"A�MK�::T7.cƅ�c���4%�](�p�����#'5��@P��>�Xz��O�7�譯�u�bhN`nN\ā�M�
-�&�(dޱ�����0E�ŕ�XT�.`
-�49���V�U�����&j0�&�TQ��%h�������d�#�梀�Cl�W��M��
��� �~�84%���yz�
���My\+���v"ӌϋ��cJ
�4���.���=������V�����Mq��yyYi.(�t�3|r������G{+��7
u��=]���TrC�
o��EEe^�a#=�w'y���q��
-Y��>�3���d�
-Cn�u��s�ՍZ�\8����΋<��2�\Tu�-�8E��S�~@Oˇ��T���@*�&�������m|>�b7��a�I���󐌆_���4/��J�'��_^�� ��0ke���ע:������}�kn-t���Ԑ�`I��R����K�>�y��B��G
w4�p����H��ʏ2�(1h{?�&%���~
��
��:���)=��<�$�����M�	�
z�����R��}� �6����@���ut�n��:b��T��J�k��6_Na;_�Ah��zb<
�)Z�c
��яF 釿+Q��d�ɛ7Q��wU`̷����`*�*�\� �
-[@ڳ������Q~��0 at .n�`S�����n�Cq���,J$�
���:�cEi��H{Y��n���B����,��

-endstream
-endobj
-7183 0 obj <<
-/Type /Page
-/Contents 7184 0 R
-/Resources 7182 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7170 0 R 7171 0 R 7172 0 R 7173 0 R 7174 0 R 7175 0 R 7176 0 R 7177 0 R 7178 0 R 7181 0 R ]
->> endobj
-7170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.821 629.902 440.832 658.968]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-7171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 229.982 156.281 240.886]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ab5160fe536bd1bc8d42c12de33f40493) >>
->> endobj
-7172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 229.982 192.824 240.886]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 191.07 244.38 201.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) >>
->> endobj
-7174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 152.158 191.718 163.062]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 152.158 288.852 163.062]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) >>
->> endobj
-7176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.245 191.718 124.149]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 113.245 303.079 124.149]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) >>
->> endobj
-7178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.707 146.637 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab) >>
->> endobj
-7181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7185 0 obj <<
-/D [7183 0 R /XYZ 89 770.89 null]
->> endobj
-7186 0 obj <<
-/D [7183 0 R /XYZ 90 721.073 null]
->> endobj
-7187 0 obj <<
-/D [7183 0 R /XYZ 90 616.263 null]
->> endobj
-7169 0 obj <<
-/D [7183 0 R /XYZ 90 593.938 null]
->> endobj
-7188 0 obj <<
-/D [7183 0 R /XYZ 90 593.938 null]
->> endobj
-528 0 obj <<
-/D [7183 0 R /XYZ 90 385.757 null]
->> endobj
-254 0 obj <<
-/D [7183 0 R /XYZ 90 379.121 null]
->> endobj
-7189 0 obj <<
-/D [7183 0 R /XYZ 90 248.985 null]
->> endobj
-7190 0 obj <<
-/D [7183 0 R /XYZ 90 248.985 null]
->> endobj
-7191 0 obj <<
-/D [7183 0 R /XYZ 90 210.192 null]
->> endobj
-7192 0 obj <<
-/D [7183 0 R /XYZ 90 171.28 null]
->> endobj
-7193 0 obj <<
-/D [7183 0 R /XYZ 90 132.368 null]
->> endobj
-7194 0 obj <<
-/D [7183 0 R /XYZ 90 93.455 null]
->> endobj
-7182 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F100 1387 0 R /F23 364 0 R /F8 537 0 R /F72 400 0 R /F21 2356 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7218 0 obj <<
-/Length 1925      
-/Filter /FlateDecode
->>
-stream
-x��[Ys�6~ׯ�SJ�D0��t:�t�Nz���>%
-�6[�TI�ǿ��)S2�ҭ��A#�����]�Ε���'��'�';iA�s~�h�HO#.��p޻T{G�p�P�h��������ͻ�3�l��|�ׄ�#�K�#���r��#vp�#��s[tZ:
e�9g��&��e��ʦ
�	��F�FX9�D����:��єr��ׁ�Ȗ~Yn[a����<�s?���jcP�^^����N��v

Q����@zĤ��_ �<L�U�a,*	���O�l)�<��A3ۥ�/GLU�Qa�m�:>�5�S&	T:S�!��%�RޡR��HKL�(�<�+~y�\E>h_�r4��D�W
���ѡ$W��t�
-bY��$M�=49E�cՐoj�-��@�j
-��9�
���E��^��� ����� �M�x����-� O�
r
<X���E;d����`��ի�#�]?Z�3
�EL �L��P�3����b5X�=�yi��C-_�
j�$�*1�����~�=ᾝ��:�7���\ap?�s�07
��-,%^@W����2H�x
��,
��L �q��c@�
-�
-sW/���]ԛ��!"��H���-V���3�;���7*
?`�z0�j��u�B�!)H��`l�Sh$<�pnoke�Y�����e�b�RĈ���K5?^���
]����AiU�4{f(M���r<�=L	�u��?�ȓrL Yr���K���ۋt�C�
t�O8
-����x��C-
ʽx1`>���*vI:eb��u=�力!H6�6�Ĩ�'fw�� 
-�=3�if��vD\�Ƞ�+�l!vE\`K��k:�"�i�
lP�#�i�]^ܽ��T;*�2,���а�wD�@)h�>��~�h�E�ܚH�R(��>5�pjۊi*��ן]
O�=K"Ƈ�DC�#�h��(1���lj�y1�����U�܅�b�dv(�"� ӫ#���0��<z�"�!��QD����a��>�L���Q@�Cq;�q�Aoʰv/��O<��b�-
�
-�,//�g�
"�̬��ʻ|N��6NA��̜Hr��{~�ɥ��p �2 @���ӛ:��1���� }?:XwD��5�
���.~�
-�yנ
�C��'JG1�!��n�<�2�-
���܆Z
P�~"jQ,���(	�)�Rj�L
p�7��gE��?�D��L�b��ͬ��pp�)d�[Љ�����8k��V�ay��(h]�%�ua�V'�{���w
X��Z(R����ִ�yP�sP�q�ˮ�uT>�����N�X?�;���&.`X`��]%���	V�A�����9=V��_v�mO����K§�rgELU�.�
�"�n�\'�1��hs�0˃8�u��߭��� ������"�%�Q�&�5�i�eַ	�i��*
-tI2�q��cͮd�Q����Z�[T畛�Ma
��

�'����=��ӕ��qD �)�� �/�:�7�!a��CpV�_mG��(�N��;��M�Gd�!��X��Dx�
-E?ӄ�p
�p
�9���*0諼�yb��{�<F�&�����cxd��>�A��db���u��<m€f	W�Ҝ�(Oc($ i����C�X8;�������<&4KB>�r�5= �[osƆf.�A3���A��
[�l�g�{F�
(!�\6�l*gJ���o�����4�W�ȗŊA��0��:.�ݳ
�q1^����.Ƀ������
?���Iʇˠ����
D���� )�����@t$ҋ7���I�aP!�yU,�j*M?]�e3�EZ6
-/R?���߳ ��s�,�~����#c��h�?8��������΂�Y�z:�Տ���m��D�yv��W�Ƿ��h�!��V)
-���*:~c[T eM�2)��L��	c�i����I�<.j
-endstream
-endobj
-7217 0 obj <<
-/Type /Page
-/Contents 7218 0 R
-/Resources 7216 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7179 0 R 7180 0 R 7195 0 R 7196 0 R 7197 0 R 7198 0 R 7223 0 R 7199 0 R 7200 0 R 7201 0 R 7202 0 R 7203 0 R 7224 0 R 7204 0 R 7205 0 R 7206 0 R 7225 0 R 7207 0 R 7208 0 R 7209 0 R 7210 0 R 7211 0 R 7215 0 R ]
->> endobj
-7179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.761 670.786 475.517 682.741]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 659.164 185.919 670.068]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ae34390c17dbd12de9906817c4b6cf479) >>
->> endobj
-7195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.314 594.122 350.069 606.077]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.794 594.122 456.803 606.077]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a241f107b045949a58b49469a6a09caf9) >>
->> endobj
-7197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.389 529.413 446.145 541.369]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.269 529.413 513.996 541.369]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) >>
->> endobj
-7223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 517.792 249.012 528.696]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) >>
->> endobj
-7199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.317 465.039 462.143 475.943]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aa71726a7725f9269553ed9e594b0d74a) >>
->> endobj
-7200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.037 437.491 313.023 447.396]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-7201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.082 400.33 438.335 411.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aca669c9659132e9fa6adc7a9afbef642) >>
->> endobj
-7202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.201 336.284 445.956 348.239]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.02 336.284 513.996 348.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20) >>
->> endobj
-7224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 324.663 156.709 335.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20) >>
->> endobj
-7204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.525 324.663 232.265 335.567]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.201 271.575 445.956 283.53]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.02 271.575 513.996 283.53]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) >>
->> endobj
-7225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 259.954 152.027 270.858]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) >>
->> endobj
-7207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.843 259.954 227.583 270.858]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-7208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.193 194.912 352.949 206.867]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.029 194.912 436.411 206.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a1c76acbe653414cc28fac54c69622446) >>
->> endobj
-7210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.58 145.123 354.336 157.078]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) >>
->> endobj
-7211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.069 145.123 435.432 157.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_af3699ea93d8ec71859566480bede9332) >>
->> endobj
-7215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7219 0 obj <<
-/D [7217 0 R /XYZ 89 770.89 null]
->> endobj
-7220 0 obj <<
-/D [7217 0 R /XYZ 90 703.14 null]
->> endobj
-7221 0 obj <<
-/D [7217 0 R /XYZ 90 638.431 null]
->> endobj
-7222 0 obj <<
-/D [7217 0 R /XYZ 90 561.768 null]
->> endobj
-7226 0 obj <<
-/D [7217 0 R /XYZ 90 94.991 null]
->> endobj
-7216 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7237 0 obj <<
-/Length 2423      
-/Filter /FlateDecode
->>
-stream
-x��Z�s���_�'��������Ng�8�8�g\Gy�=�<�hA�@��_߽
 ��ZI��
y����~�v���]��7�]_\��8RH	*��U�p$����2����	�8~?#8��Mv�~Fq\�k������uV?^]�-[]�{KY�>_�x����*�9
n���Q�$�)S
�wծ\����ٜr
�-W3��j�����{�/G�'
��E�4���L�Xo�E�j��A��e�X�
�E1�������^`�#�TƑL�����g
-a������m��2�,��/�~�����
-\��(ai$	ApA+�'J���k�
���ļ��D���U�
�@G%J�t�#N�TN�[]f��`����y��c	I�H�mF��N����8w����򥿻�x}�U���E�q.x7��#
�g�0�G�6^ͽW��{�nΛ������P��Q!�ZX���޽�F�%AR�Szs~���qU�s�.<7�Ds
-�`��
�!"����t��a�O�7E���ň�G�=�Hs"Ai �$�
$;ԥ�W���B/�D�t���m�W��m%�%j*�FB3HJ��Jy�>"�h�J��?�؈@�ʆD�2�5N�
�4P,\>4�>O�Og����	H`�0�gH����IF��l�)��t��|�pE�j�v��i�:/
�Ƣ���d4�VM��v�jݴ��5�b�� N8�*�^k�0�tl�ϸ��}�f5�ר�)����h���
�4
nW�-����fXƭ��~�ǚo��|����=�έ;.�
(�Qg�ҽ��JO�_^�A_eG���;GX�ڑ8-�E�Z�6y�G�|��u^:?�J3FZ
>k�����2�>��,�U�6��0�غ�N���%�[�
I*��-$OI!ѹp�0�6
��"oLb���ˬ͍
�&�jGbTi�w�����
:����V�)�Wu���?��H��&�+�D[��z��B
��j�)(�u����g�M���
-h�
 ?"�	��ڳ(�#�i'���
F��5\�k�$�IV	Ai�ep�Oc��U�V Yj��Sv7^�n���'�Y��o[�p}���Zd�R�� �*��ĝ��������>������
J���V�LաW
�)���)}3�'g�ۦ
��^�J��<�j���
2�<��m�@�i�ֶ�̋�y�u��m�����������?s��o޽wG
������n\Ɵ$�'� �@A�$���l=Δ}:�r�U�HB�5Jr�(
(Q��d
xDžo�@�@���`��x;� ��e]�n�I�;Q�m]n3s!��s��ao��v��Vn�{[v72�K;�1��|��K�s�@F�q�1�d�|'d���f��V���
-�4O��]�
WV
��E׽�����i�B�`�b��M��9-�y2\Ǫ�_��W	�ҁ������P`%�
-ku��)�K��<��
߇��O�pk�o��ea�|
�V����2�
8��K�B�.|��
��5�~B숍��r;AUL���c���A[���-<�hj��!�£�me� /XU1q`��̖ðm���)v�����?�
��/�}R�������3����SyB�2ȓX�;��@]�9���lB�=h4����Fs8UC�7��t_��ޕ�>�^U��l�
k;=�г�hC�c�=Ն���OB�sX5%l��T#
-5��䉹�`f�T7��ⵝ�uu급���|(3����	��еx�]M
s�M��O��r�67g�ى��*9��	5��'�#�^]y�v�ܢ��jJD·�_��{�I���D0�QA�>�$��-�
�<_=��hn
�/�
�.���
�7>���
/
�A1��<N�u
��
�d��}�~��"/���)z)t/s�T�����DR�}���	��C��HC�w�뼙�,
$͎�?�(�۹�,��Ы9C�^�\;�`�w 	���g\���K��GW�5�!
r�S��QX%�L�7�݋�(��e>h(�
�9(
�<j�� �����F t����)��PTe�զ�c
c��	{`r���T�r���+�)Տ~�ɛa�-x<Y1P
ݹHM�����@�?��	�g�%�����
-��k���!�A����`/�{3
�#��F���-m���z�$bX=��,��g=�
<�}��)?
-���:��
-5#Bs��g
-��Ό�xt�u7�舽�ݎEک�,E��g���-ˏԀ�3��GL�ج�]�ކw�g�Y��i��,8+ۛv�#�K�
����'pB�s�?��a����W�i��~07��)�/�xuK�n�
�[ߘ����]V��)u?N�4
���j(Kp������f���o?�J����r��Ǻm�W��hѠ]�ok����mqy�.$A20YU�E�T��������
JR��
-endstream
-endobj
-7236 0 obj <<
-/Type /Page
-/Contents 7237 0 R
-/Resources 7235 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7212 0 R 7213 0 R 7214 0 R 7239 0 R 7233 0 R 7234 0 R ]
->> endobj
-7212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.942 696.002 160.308 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a79370159de3dc1738441b20eff866329) >>
->> endobj
-7213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.15 696.002 311.959 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 696.002 513.996 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.047 182.054 694.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.583 231.272 295.607 242.176]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-7234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7238 0 obj <<
-/D [7236 0 R /XYZ 89 770.89 null]
->> endobj
-7240 0 obj <<
-/D [7236 0 R /XYZ 90 671.031 null]
->> endobj
-7241 0 obj <<
-/D [7236 0 R /XYZ 90 610.512 null]
->> endobj
-7242 0 obj <<
-/D [7236 0 R /XYZ 90 340.125 null]
->> endobj
-7227 0 obj <<
-/D [7236 0 R /XYZ 90 317.813 null]
->> endobj
-7243 0 obj <<
-/D [7236 0 R /XYZ 90 317.813 null]
->> endobj
-7228 0 obj <<
-/D [7236 0 R /XYZ 90 184.805 null]
->> endobj
-7244 0 obj <<
-/D [7236 0 R /XYZ 90 170.793 null]
->> endobj
-7235 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F72 400 0 R /F79 502 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7249 0 obj <<
-/Length 2095      
-/Filter /FlateDecode
->>
-stream
-x��Z[s۸~ׯ�S*M-�����l�t��4�ݧlFC�tL���$��~�Jt,o��=�!	��~�{�=��c������ĞFZP�_y{�׈
x��>N��O�?zL(D����������w�g�ɛ��o?a�X
I�-W����w	�?z1���b���)�k�M�5�%/x�'�ƾ'��(֖�w�<,�^;~�E�
����s�b��;o��2J>����:��(���ˌ�iۑ4��4Z��:Ɏ̐���a�_��M|io/ʡU���>TO����"
��=��j�%�ey��v�.ʯk
n�e^(�
iέ
�ڌ��h[`��O+�<�
�p��*�T�h�y�ҌysN'�N�� ��lN0��<\�ƁU��[�ղ�Ff�
-�9V�����?�9��Q�����,~Xo�� 5����ϰ����ɕ�����I^����K(�feX(&���ɘ
�����ަ3���c)*�O�
���5�&	.�pqz���ʒ��K�4[�Ad�aa�M�S�5
O�IRv4zr�eF0�̦���1�h��͍�G�񖔧&

Œ�Kw)�}ca��
1����.>��&�]�
�5q���U�x?�x�����4X�
]��''#TG ��ߣ;��B�{�m��a>�>�yW5C�F��Z��$\��6�FE��x�+��C� ����au����
)�ɋubH��%*AXԺ�8�eR~nת
�xz�Zʮֵ=�
��H�zpO*2~�E�Y�$���H��Q
;�ºJme��à44e�*M�Z
>����uZVa�ް���ބ������q>Hu�-KtX��vˢ�nS�I�=]o�P�)��L ���Dְn}
�X0�sHW���
4 '2{� Jh��(���r�
-
h�ts[`
�6�e�eW��L�优�J�y�[��OA
˯��_�\צʯ��5��<����`	��QZ:Tm�,�
Y�@��Ԡ7�D儮*'�t���A	�jmҒm�D#�I��@���� �RM�+�u���A
-�DSX���G{g
	����K�"\s������!Y�d
��՟]���}Nz���.)�fn
-��UZ�7�qD�*��<)�<�o�~�څ_!�I�ܥ�=�������_�-~/����u�D�Da�=�r`��@��O�b�(�"J<#��j��z��kZ��Jaփ��X�
_L�kk�吾��ܲ��[��
h+�nǀ[��V��� ���ض��@5�m
U�]
�����
�W��^����k��jzT�Lk�z�F���#��A/�J��zF*ql&4���Ho��~���6��d�b44���3P���CȀD��|Z
6Zr�|�q�[Cd�0������8 ����z5�Hs�{��[��D<�_��<���:����
�K�0+,�	�`kb���<3�v71T�i[����4l�M��,���
-���f��!�Xp�dW�����=�pCw,"���)ko��F�ӷ�	gHq�!8����y���
ߗ#.�gjm�W�ٻ���j5?8��
E�]�K�̨&`'��5�8�ڀ����

-8��<�������񁏬�"Q��?P�֍l��#�{� >(��ddK50�Rrc�!�p�G1���B�R}6z$$o�a@mS�䠇��~�*��^}%s�W�F�{I�ɥ�64{~��W�#�É4h%�d�L�|�L��_Q��������d�Ҿ��
��H�ҧ{o�
�R<=$GX���[w2�8�ٗ!���ܸ#rt��O��*�2R|���LU�l�D�X��!4��
o�Z��
��c�q�L�h�tlwB܁-!lw��Ns��5G���Z{�����OOV�(1M�;0��[�aۺ;w�ys�rc=�����'�
Z�fi�
���̳���M�;���R�2��7�1օ_�y�����Ź(�~�������'�$�����:���������ޛ�v��R>V�)���S�����/f�<��%H6�����.*N�`#P
5�E�9#xzV_�[���Uw?M����J"�|�v��'��wwwh��Mݦ(ʏoo���3�⣦��Z����:-ŏ\g��o���n�
-endstream
-endobj
-7248 0 obj <<
-/Type /Page
-/Contents 7249 0 R
-/Resources 7247 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7140 0 R
-/Annots [ 7246 0 R ]
->> endobj
-7246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7250 0 obj <<
-/D [7248 0 R /XYZ 89 770.89 null]
->> endobj
-7229 0 obj <<
-/D [7248 0 R /XYZ 90 668.963 null]
->> endobj
-7251 0 obj <<
-/D [7248 0 R /XYZ 90 648.781 null]
->> endobj
-7230 0 obj <<
-/D [7248 0 R /XYZ 90 453.352 null]
->> endobj
-7252 0 obj <<
-/D [7248 0 R /XYZ 90 433.17 null]
->> endobj
-7231 0 obj <<
-/D [7248 0 R /XYZ 90 236.306 null]
->> endobj
-7253 0 obj <<
-/D [7248 0 R /XYZ 90 216.124 null]
->> endobj
-7232 0 obj <<
-/D [7248 0 R /XYZ 279.825 77.486 null]
->> endobj
-7247 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R /F122 3026 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7257 0 obj <<
-/Length 1702      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W�)��h����h��pz��ON (m1�(�"���;$�7y%J�b5 X���3g�̞]b���ޯ�W���Ba� #��Ʒ����		Ws�O0bt0$��Հ��4^N'W����a�������C<���.7����S6Οޏߌ.iX��#)̝���r &�̔#�#&��;L�r�u��d0��5C��r
N���ֿ���}?��-���S�2��_ƽz���#.)�͖���؛��7
�c�w�Zz�2�z׽�zx/Ą ��B� ��E9)
|
��0
ۇ�B��r@����2���&�Vi4�le7u�%���5R�#/������
Ҫ+	��ʕ�A1��"O
�"O�jI�p�ioH3��7������z�:
RB�bU�D��?��u�����
�}�����.�U�*
�TuTQ��%���}���;;����0���7�ܪ���Ø@�U�� /�$+?ܷf]JH%?M�C�2Z���+j��C^�8 E
�����m��;G��g��Y���h�S�Ͳ�}^��r��ߤa�b5i��fB�F��X
�a#�ѻ+�cU���&.D��9�i��2]�6b�����f�EEkeX#���M�mk��6v�m5e�a}�ͩ$thR����
�J����6:&�{&Q
���>8'�u1d�)��f
-Ҵ2sDa� A�U�㜻�"�.��뿝�
�JxW�GDŽ��#�
 6�(Jۚ�e�%���	�x��n/����A���-�xjҠ���Vc�1]�s��N�k�^�[}�G��PS\�ܠHI]�1z_~	G%Z�8*�Í�����Z }U�:� �]��G��G�ЍD
)��RHH-����	#�;���IMw'U Y�DRC�1�|/�CN�

k��s����?���QUV$$<M���rH���TYkA�ڀ,`d�n�l���^ā�7�r�S4/7�ٶ�^\��,	@O�W�W�t�G�4����^X�}D���Y�~cˬ�-��[C��a�&���O
-ZQ0���`^X��O�ŷLe��C��%
i)��u� U
��ɻ�h���tR!�M
�NQG���u)G�T���F�K
-z�Z2�8�E[o��ޏ&�뀫^�(aTk�S)߸(V��I"��d�7^�s�y���[�����,�f!l5���y�ŝ�q�&n�ղ|�/���*�
��ŭw��?ˏ���8H!�LC������R�
u�o6��-tEI�"Xk�i�9�I)t��
��B�8��c@�c÷�J�f����<�i�=��A��x��Fm��~
$6� ���<�"�1����Yl��@�����d�%G^��Y
�-
�D��u
�����?��7�|��;1�����Yg:c&����ߌ�9�����EME����R�
��?���R�����u(���x�x��BU^9=z�9��63d �T~,ϐ��$�R�o��n3
0я�C�
��4�q�
���/W�#���$
7���׿���H엖�雌��)@���m��mh�D
��
-4
Ҹ:)�q�tvC�垵9�i��/�oG�̅ƁoG󷢀<����(���[xU�k/K������?�.���?�Q
-B�B ��̔o*�1&�L�"�9�|��6�"�O^���-.m�K�j��Y$��l4���G�
J�`
� p�l[Qذէ���؆Dps��m��/
l�
-endstream
-endobj
-7256 0 obj <<
-/Type /Page
-/Contents 7257 0 R
-/Resources 7255 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7254 0 R ]
->> endobj
-7254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7258 0 obj <<
-/D [7256 0 R /XYZ 89 770.89 null]
->> endobj
-7259 0 obj <<
-/D [7256 0 R /XYZ 90 721.073 null]
->> endobj
-7260 0 obj <<
-/D [7256 0 R /XYZ 90 593.334 null]
->> endobj
-7245 0 obj <<
-/D [7256 0 R /XYZ 90 570.584 null]
->> endobj
-7261 0 obj <<
-/D [7256 0 R /XYZ 90 570.584 null]
->> endobj
-1407 0 obj <<
-/D [7256 0 R /XYZ 90 447.268 null]
->> endobj
-258 0 obj <<
-/D [7256 0 R /XYZ 90 438.522 null]
->> endobj
-7262 0 obj <<
-/D [7256 0 R /XYZ 90 375.351 null]
->> endobj
-7263 0 obj <<
-/D [7256 0 R /XYZ 90 325.242 null]
->> endobj
-1408 0 obj <<
-/D [7256 0 R /XYZ 90 270.485 null]
->> endobj
-262 0 obj <<
-/D [7256 0 R /XYZ 90 261.739 null]
->> endobj
-7264 0 obj <<
-/D [7256 0 R /XYZ 90 184.62 null]
->> endobj
-7265 0 obj <<
-/D [7256 0 R /XYZ 90 122.845 null]
->> endobj
-1458 0 obj <<
-/D [7256 0 R /XYZ 90 67.8 null]
->> endobj
-7255 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F21 2356 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7287 0 obj <<
-/Length 1628      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�6��_!`�f3�Q/�0�MӢ]�f��/ma(6c��%���e�~�7ْ��iӴ�H2y����Hbo�a�E��w�<�^�������K�	�!�M��}�����+��1"I���㷧���ѹ��w2���#���1�Q{�E��G�M��+#��޵
����o�����/���s꜁WB̢���`��g>��T.��Oq��o�b*����B��f8|���U��]�����
���~�*Ϗ�S��
�
\����PD�1��8Nܐ��4r^����4$`0�}�X�>駕Щ0L ���� 6�މK!}�E1f

n9`1�y�
h YK̤��\ȬZ�b\��
���iY��,�c��
������ eu���/:��������F�8p����݀��Jy��k�r3��(뱟>uX㈳`+�
f5�
B�l�� �h�O6�,cQ����4hP
-�֜��9�[����*�.�<XH(��j>)ҋ�+� � ��sK
4�(V`�`K����LTi��l<��̖Uf�ۍr�T��2o�D�pDv���m
Nu�E�f�.�p��`W���t�D�?��61�&CCv[�ʡඊHa�6@,
-��4�>��4M��z!�*���O��4�<�*���k�	��LB�5�/e�ps����*�k`���c���󁨢@�
-�L�������[.s4�w5��3tČm��홯�B�r|���t�ժN�q��l�wu�ɟ�Y��m��X�,�*�6mh����OY1��ӮB�
EI���W���k
�oeS���N�;����3��Cnu�%��js%gv��N���%�^��G>�})�������2E�I��c;��H�l�T at l������y61���
a~�.&��V
�m
w��(H�
�wƭ�`�����b1��1�#-�Ν(������J�($,�;��e��m�O 
��
��$}�E����?u#��
�����]qʖ�d8��~�鿃f'�=y
��(�
-K�Y�u~w�����@�V'r�P m4��	!�����2F�fk�3�g#RKڃ
�t������}�u\�K��F��m�+����ֱTmI�$=��=]g�t����
�Q��a�~[�Ŵ��Uٲ��rQ�~<�[�B�k���
É$�v�á:��;v�܈��ɬ�}=
��
�o��^u����������ӯ�O�Hx^my��`1���W��E�"�������{���V�4+�NU��� ���wA��6z�>�L
���>����0�Rv�6{�"bq��7�؉|��M�(�	��:��.tp���u����M3�؜�`�e	|X���bj����ڸ�=J�<D������*[9C�5R���EQ�� g28�Y��=J&�*�_�{�/�d6
?���4<�LҐt0	����l���
��O�p�$���vN�fl8
l��9>5똣��c
-�ll�x
�
�h�7��n-��Y�K{
B��K{}YT�I�wp��ꦁ{ğĭ����j_�Iշ�}\5/�����oy��4�k*�Kd�Qx�A��Oe��m Lx�=��GO_
l9
G��Z�U�


]__��
-��l)QV
-����Avˊ�im��BZ�����Dž�f�� 
Y
-endstream
-endobj
-7286 0 obj <<
-/Type /Page
-/Contents 7287 0 R
-/Resources 7285 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7267 0 R 7268 0 R 7269 0 R 7270 0 R 7271 0 R 7272 0 R 7273 0 R 7274 0 R 7275 0 R 7276 0 R 7277 0 R 7278 0 R 7279 0 R 7280 0 R 7281 0 R 7284 0 R ]
->> endobj
-7267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 435.134 403.561 446.038]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-7268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 380.601 191.16 391.505]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab82fb79015a9e4959fe801e608b2a0ae) >>
->> endobj
-7269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.258 366.152 364.14 376.057]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-7270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 342.09 191.16 352.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) >>
->> endobj
-7271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 342.09 295.747 352.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 303.579 198.909 314.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f) >>
->> endobj
-7273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 265.068 191.16 275.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae7df198cd5bdd6e9f87192fb3170261f) >>
->> endobj
-7274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 226.557 191.16 237.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9a14be758de0e77faef8de4a11bd8e8c) >>
->> endobj
-7275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.976 226.557 230.163 237.46]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.045 191.16 198.949]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) >>
->> endobj
-7277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 188.045 262.003 198.949]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 149.534 191.16 160.438]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a) >>
->> endobj
-7279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 149.534 260.32 160.438]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.064 191.16 110.968]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a04aff92d245522832391c1704f455992) >>
->> endobj
-7281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 100.064 283.563 110.968]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-7284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7288 0 obj <<
-/D [7286 0 R /XYZ 89 770.89 null]
->> endobj
-266 0 obj <<
-/D [7286 0 R /XYZ 90 721.073 null]
->> endobj
-7289 0 obj <<
-/D [7286 0 R /XYZ 90 638.616 null]
->> endobj
-7290 0 obj <<
-/D [7286 0 R /XYZ 90 590.053 null]
->> endobj
-1459 0 obj <<
-/D [7286 0 R /XYZ 90 540.102 null]
->> endobj
-270 0 obj <<
-/D [7286 0 R /XYZ 90 532.97 null]
->> endobj
-7291 0 obj <<
-/D [7286 0 R /XYZ 90 399.403 null]
->> endobj
-7292 0 obj <<
-/D [7286 0 R /XYZ 90 399.403 null]
->> endobj
-7293 0 obj <<
-/D [7286 0 R /XYZ 90 361.011 null]
->> endobj
-7294 0 obj <<
-/D [7286 0 R /XYZ 90 322.5 null]
->> endobj
-7295 0 obj <<
-/D [7286 0 R /XYZ 90 283.989 null]
->> endobj
-7285 0 obj <<
-/Font << /F70 398 0 R /F21 2356 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F72 400 0 R /F79 502 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7326 0 obj <<
-/Length 1655      
-/Filter /FlateDecode
->>
-stream
-x��Y�s�8�_�SΞ9+�@2}�f�N{�\���=�
�`�f��!��������8G�i�����bca`�������-dž�\�����p��-1~͌/c���&S�1
_M
�y�{W��i�^�Y�{������D����G�O�3R�i2�R�Ǘ�/e��Y�E�>	�"M�3��;�v�a��f�� s� 53
q��їoؘ��
`�u�U�(6,j�wd\��
a-׾�J^fo�K��,�1l�A��Z��Tq��W��
���w#�˔�J6$��nn�EJ௘� Md�_�ЪT�&�����C�,X 
��V�
��2ٖ��Rd[Ԙ
9��"�.�h�(��~�*��g� U��|
� ��Y���d�i���M��ߺ|�
����c�C���l1
ƙ�,A��urna7�E.�8�&r,�T�fa,%�W�3q|��Wf~ �v�>�+������gQ�y�
[wz�3�_A�jX+~5�I�R!X�@�&T�q�y��W��
@-dc�YS,C�(%���jr�L����T�'�)^i����
yqQ���U��p�=��d�a�����	!"c��F��{���PI 񴓠����Y�٠s׃G6%͂0�3Q�<�T��
-a
a�Y-%L�i�.D"�Rz���q��
���fG�Q<m����2�AG�
w�i��Aw���T��S��3Aq_[&F�d�� ��˄��y���~2�h%�Z�ۋ�őC�!��6�9�m�Q�P
-�!�uЉ��
jKs(��(�v}Rz~.��$�g7�F؝Hp0ȃ��1�l�@�%�_׊}fE q���
-Z�����J0q��=�'ԂEZ������w�.�|&��-B���J�r�6-j*��Z*vuU�6�Do�x�'k	�� (�P̚]}�Emq�^6˘�
���"Ą����e
����@�~�w�� ުw����xS�FcG����U���Hv�Az�2Ξ���H��Z��E3(\����0��n�ט�v}��}�X��͇R�/6ɾb��#�b�!E���
C�[):�E.|]U�Ɂ��?֦=/�O�8*u�C�����~ 8���7Z���@�{���d���cA�%Uv7B�wwټ5�4��.����&�&�fk7�^�]�Y��
-�]6c��2Tn���ۇ=n�H��g)W��x�O,6N�>0���
ϩ���@��x���xX���5Y�Ĭ
����i}�΀r*��bu��i'B���2��u�� A)����6r���SӦ����\k�ւ ��V��_1��">��q���'5s�
!弌~��&��c�G���
vѺ!�j�*�U�y�a�8gC���?qH�\�@����X
���@]�� \��}h
8�Twbv��4_�%#��fh��w��4���O��^�Yc�
Sn��*,�=��6�a����#�;C�)!
��cLU�r5��*@��\��Q��IķM?��LE����b=BT��\簙��ЃF�T���N�M
�e��a\��&N;�*��؛��n�#DД�KH(�b��P�A��͇���1l� s=$�x��M��+Ŋ��̈́|���������Q�G�򓟔���N�y�<�ATa�3ֵhL����<������#�%��(�����j���$�r�Y��7�
*`��`�L�4o1�WU�6
��� �6�R
-endstream
-endobj
-7325 0 obj <<
-/Type /Page
-/Contents 7326 0 R
-/Resources 7324 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7282 0 R 7283 0 R 7300 0 R 7301 0 R 7302 0 R 7303 0 R 7304 0 R 7305 0 R 7306 0 R 7307 0 R 7308 0 R 7309 0 R 7310 0 R 7311 0 R 7312 0 R 7313 0 R 7314 0 R 7315 0 R 7316 0 R 7317 0 R 7318 0 R 7319 0 R 7320 0 R 7321 0 R 7323 0 R ]
->> endobj
-7282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 695.072 191.16 705.976]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd) >>
->> endobj
-7283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.497 695.072 268.629 705.976]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-7300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 656.351 179.554 667.255]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 656.351 250.666 667.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) >>
->> endobj
-7302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 618.004 297.728 628.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87) >>
->> endobj
-7303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.544 618.004 336.732 628.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.933 578.909 342.261 589.813]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) >>
->> endobj
-7305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 540.561 164.879 551.092]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) >>
->> endobj
-7306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 501.467 272.783 512.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5) >>
->> endobj
-7307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 462.746 191.718 473.65]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 462.746 288.852 473.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6) >>
->> endobj
-7309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 424.024 191.718 434.928]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 424.024 303.079 434.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) >>
->> endobj
-7311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 385.303 181.845 396.207]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) >>
->> endobj
-7312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 346.582 181.845 357.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
->> endobj
-7313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 307.861 154.727 318.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) >>
->> endobj
-7314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 269.514 176.505 280.044]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) >>
->> endobj
-7315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 254.586 450.955 264.491]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
->> endobj
-7316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 219.834 150.493 230.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) >>
->> endobj
-7317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 180.739 156.281 191.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aede3aa1f7d5925d31d3f66faf655dc66) >>
->> endobj
-7318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 180.739 237.346 191.643]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.169 203.075 111.073]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 100.169 296.324 111.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 85.615 346.908 95.521]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7327 0 obj <<
-/D [7325 0 R /XYZ 89 770.89 null]
->> endobj
-7328 0 obj <<
-/D [7325 0 R /XYZ 90 675.378 null]
->> endobj
-7329 0 obj <<
-/D [7325 0 R /XYZ 90 636.657 null]
->> endobj
-7330 0 obj <<
-/D [7325 0 R /XYZ 90 597.936 null]
->> endobj
-7331 0 obj <<
-/D [7325 0 R /XYZ 90 559.215 null]
->> endobj
-7332 0 obj <<
-/D [7325 0 R /XYZ 90 520.493 null]
->> endobj
-7333 0 obj <<
-/D [7325 0 R /XYZ 90 481.772 null]
->> endobj
-7334 0 obj <<
-/D [7325 0 R /XYZ 90 443.051 null]
->> endobj
-7335 0 obj <<
-/D [7325 0 R /XYZ 90 404.33 null]
->> endobj
-7336 0 obj <<
-/D [7325 0 R /XYZ 90 365.609 null]
->> endobj
-7337 0 obj <<
-/D [7325 0 R /XYZ 90 326.888 null]
->> endobj
-7338 0 obj <<
-/D [7325 0 R /XYZ 90 288.167 null]
->> endobj
-7339 0 obj <<
-/D [7325 0 R /XYZ 90 238.487 null]
->> endobj
-7340 0 obj <<
-/D [7325 0 R /XYZ 90 199.766 null]
->> endobj
-7341 0 obj <<
-/D [7325 0 R /XYZ 90 119.077 null]
->> endobj
-7342 0 obj <<
-/D [7325 0 R /XYZ 90 119.077 null]
->> endobj
-7324 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F105 2455 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7399 0 obj <<
-/Length 993       
-/Filter /FlateDecode
->>
-stream
-x���s�8���+�tgO�E߲�x��s�^�k�{I:��S�9فk���_�pB	e��`��j��Ӯd�/�ם�z���(�HR�z�(�H��t�:������d$��Uy���w��w���Y����C�#�H%@�
-Q�9�����~�0�(DӲ�q����v���Z<���s:,��)B��J�sJE�y�
�c/��<��؛�{i2����/���E��$y��zQ^��

�~�ֳ���.B��S�BOJAr�"���~��H�*��+]]�q�A�ܙ�[v�(�m�
cjvf��
g띘�����d�j;�M�����c��,IM�9~Y-㻶�.��Q���,گ��z,,��d�M�v�,�}]v9l�a�"�1!`���j�‰M�d��/N�j���K<�j��g������X�8O�e�ߚ�5y�e�4�>ò��ZQ���3����DjN4�
-�M�פ�s�{�
�IS�E��h�od�6ر���l�I@�uap�d�Ud�W���(�h�M��"�q�gGG%!V_j�M��kb
-|8Y��
>��g��1-�W ��H����0�;r��@�Ԧ(�a�y09f���}�fK����	!^l���u=7�������s
z
�V�V��ə
9��ݯ�
��~�F��0�Q��O�O
ɗ��CRO�Cj���Eõ;$�7T����G����f-@[N4\A��>&�Mv6��d��<�
�z�a/Sj�6�q#z�^l���cvHρe���E���dϱ�
��a+��!F�����3�ʡP6�F"`3{���V
�)�L�*oxX!��
-���B��M�l�]��gw����h�5R�Ʌ���-r��Q9�^���7%Fq]L�߮���ŷ�g�oU��L�_}!���?cs
g箓B���w	�r�
-~��Nu3��}E���
��J�j���U������t
-�
�M2�����x������F�eZO�Qj��'��
Ź����J,]
-endstream
-endobj
-7398 0 obj <<
-/Type /Page
-/Contents 7399 0 R
-/Resources 7397 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7322 0 R 7344 0 R 7345 0 R 7346 0 R 7347 0 R 7348 0 R 7349 0 R 7350 0 R 7351 0 R 7352 0 R 7353 0 R 7354 0 R 7355 0 R 7356 0 R 7357 0 R 7358 0 R 7359 0 R 7360 0 R 7361 0 R 7362 0 R 7363 0 R 7364 0 R 7365 0 R 7366 0 R 7367 0 R 7368 0 R 7369 0 R 7370 0 R 7371 0 R 7372 0 R 7373 0 R 7374 0 R 7375 0 R 7376 0 R 7377 0 R 7378 0 R 7379 0 R 7380 0 R 7381 0 R 7382 0 R 7383 0 R 7384 0 R 7385 0 R 7386 0 R 7387 0 R 7388 0 R 7389 0 R 7390 0 R 7391 0 R 7392 0 R 7396 0 R ]
->> endobj
-7322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 708.331 194.297 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) >>
->> endobj
-7344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 668.932 188.759 679.462]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) >>
->> endobj
-7345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.953 629.16 238.203 640.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.942 629.16 268.08 640.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
->> endobj
-7347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 547.118 191.16 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 547.118 232.465 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) >>
->> endobj
-7349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 547.118 337.051 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.208 547.118 460.457 558.022]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 507.719 191.16 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.557 507.719 232.364 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) >>
->> endobj
-7353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.305 507.719 486.554 518.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 468.32 191.16 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.557 468.32 232.364 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) >>
->> endobj
-7356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.5 468.32 336.75 479.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 428.922 191.16 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 428.922 232.465 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) >>
->> endobj
-7359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.28 428.922 271.468 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.803 428.922 382.052 439.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 389.523 191.16 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 389.523 232.465 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) >>
->> endobj
-7363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.28 389.523 271.468 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.281 389.523 316.469 400.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 350.124 191.16 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 350.124 229.964 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6) >>
->> endobj
-7367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 350.124 334.551 361.028]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 310.725 191.16 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 310.725 229.964 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) >>
->> endobj
-7370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 310.725 334.551 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.707 310.725 457.957 321.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 271.327 191.16 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 271.327 229.964 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) >>
->> endobj
-7374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.78 271.327 268.967 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.781 271.327 313.968 282.231]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.928 191.16 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 231.928 229.964 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) >>
->> endobj
-7378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.287 231.928 484.536 242.832]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 192.529 191.16 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 192.529 229.964 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) >>
->> endobj
-7381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 192.529 334.551 203.433]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 153.131 191.16 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 153.131 229.964 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) >>
->> endobj
-7384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.78 153.131 268.967 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.302 153.131 379.552 164.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.732 191.16 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 113.732 229.964 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) >>
->> endobj
-7388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.301 113.732 334.551 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.205 113.732 387.392 124.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 191.16 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.623 74.333 231.792 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) >>
->> endobj
-7392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.979 74.333 486.229 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7400 0 obj <<
-/D [7398 0 R /XYZ 89 770.89 null]
->> endobj
-7401 0 obj <<
-/D [7398 0 R /XYZ 90 721.073 null]
->> endobj
-7402 0 obj <<
-/D [7398 0 R /XYZ 90 687.924 null]
->> endobj
-5766 0 obj <<
-/D [7398 0 R /XYZ 90 648.525 null]
->> endobj
-7403 0 obj <<
-/D [7398 0 R /XYZ 90 566.364 null]
->> endobj
-7397 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7466 0 obj <<
-/Length 1301      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��@�4饙83iҺ�ۋ���ls*�*IYq}|H�L��,�����LJ�`	�B}��r��
yI,]梳K$	�
��
OCtnP�mnZ�b
��~<���&#F4��V���	.b?����������ؤ�PID�i1N�#?I��u����@i���M����s��Y�����2
{
Ɲ�o
��g*I�fY�1r�
�:���!�]���N���:�N�$&y�bJsSOT:��B��Z�7�̦�^i��q�W:w��W�L<L<�ͤM�m���]F�b��q��
Q��;pl�s� g�[e~����[4���,f��B
���
����ɧ:�8����1�5����4�s[ j
�(�`���Uxر+�9Da�=V��Y鬑g
�C3���K�q�	*L�i�i��e����9~�����!X
-�����! ܉}O�x�>��w
<
C��A�s��w?�u�`Z���+z�G�
�|]�[_�a�a�/Z
-a%s|���"0��\k���\G�>��Ҋ -����K`ư���&|K
3�c��~����a���R��1Run�!bk�p'���f��P����^l	U�V
���P��S64D��/�O�t��7N�oN`�H�1����rw[J��#�sȳ{��k����i��p��e�.�
�
-�����(
_6J�6��lY1�]n��K�c����;���܂���|��m�t'X������2��P�p�OG��!u6B�I�jd`�����+����+5F���v�C4�=�E���
�>t
��lf۱c�Xo�m�&�s2�h;��Y��Y����{8�R������ԛ/K'��|
3.����uq�9�SU�w4
)�>�a4D
�x����(UeL�t
ݤx��%߈��c5�PE�/��{�B@ 
�����c�RV7,W�������Ǿ��@9ń���瀡����ȶ#�"\I:���$��?67_�A.��)�����
-4}�Z�P�J��-��o�z���F��i:�	Y�����|��ΆL��m�R��&+

-�M��HfY��d��qfGV��X���D�[�:��8Gư�]���ۇ�Ӊ�(�O%5��{� i�d��xI�z�5�r�wA��n�VV�`�N
��� 
�	��IgeZ�;�x,=o&s��g��L΍"�}�é?2��ѢT�(N#�B���`Ӳx���ps��A�ݯ:��/
�y�:M'�nw6��A��a0�q�v'�Q�~�H�0zs!�Q��Qɝ�^�}͔����?Π�T
-endstream
-endobj
-7465 0 obj <<
-/Type /Page
-/Contents 7466 0 R
-/Resources 7464 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7393 0 R 7394 0 R 7395 0 R 7417 0 R 7418 0 R 7419 0 R 7420 0 R 7421 0 R 7422 0 R 7423 0 R 7424 0 R 7425 0 R 7426 0 R 7427 0 R 7428 0 R 7429 0 R 7430 0 R 7431 0 R 7432 0 R 7433 0 R 7434 0 R 7435 0 R 7436 0 R 7437 0 R 7438 0 R 7439 0 R 7440 0 R 7441 0 R 7442 0 R 7443 0 R 7444 0 R 7445 0 R 7446 0 R 7447 0 R 7448 0 R 7449 0 R 7450 0 R 7451 0 R 7452 0 R 7453 0 R 7454 0 R 7455 0 R 7456 0 R 7457 0 R 7458 0 R 7459 0 R 7460 0 R 7461 0 R 7469 0 R 7463 0 R ]
->> endobj
-7393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.873 191.16 695.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.623 684.873 231.792 695.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
->> endobj
-7395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.058 684.873 336.307 695.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 647.67 191.16 658.574]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 647.67 248.325 658.574]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) >>
->> endobj
-7419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 647.67 329.39 658.574]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.547 647.67 452.796 658.574]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 610.468 191.16 621.372]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 610.468 248.325 621.372]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) >>
->> endobj
-7423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 610.468 329.39 621.372]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.044 610.468 382.231 621.372]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 573.265 191.16 584.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 573.265 248.325 584.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36) >>
->> endobj
-7427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.141 573.265 329.39 584.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 536.063 191.16 546.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 536.063 245.824 546.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) >>
->> endobj
-7430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 536.063 326.89 546.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.046 536.063 450.296 546.967]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 498.861 191.16 509.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 498.861 245.824 509.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5) >>
->> endobj
-7434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 498.861 326.89 509.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.543 498.861 379.731 509.765]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 461.658 191.16 472.562]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 461.658 245.824 472.562]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) >>
->> endobj
-7438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.64 461.658 326.89 472.562]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 424.456 191.16 435.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 424.456 247.687 435.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) >>
->> endobj
-7441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.503 424.456 328.753 435.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 387.253 191.16 398.157]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.914 387.253 267.663 398.157]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) >>
->> endobj
-7444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.986 387.253 348.235 398.157]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 375.672 149.098 386.202]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 338.096 191.16 349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.103 338.096 267.304 349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) >>
->> endobj
-7448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.721 338.096 347.971 349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 326.514 149.098 337.045]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 222.973 191.16 233.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 222.973 232.465 233.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d) >>
->> endobj
-7452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 222.973 337.051 233.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.705 222.973 389.893 233.876]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 185.77 191.16 196.674]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 185.77 232.465 196.674]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) >>
->> endobj
-7456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.802 185.77 337.051 196.674]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 148.568 226.034 159.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) >>
->> endobj
-7458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 148.568 398.426 159.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.91 111.365 156.276 122.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3fc6b9758fbac86e0592d37c23f14b1e) >>
->> endobj
-7460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.086 111.365 348.418 122.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.62 111.365 513.996 122.269]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 99.41 160.176 110.314]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7467 0 obj <<
-/D [7465 0 R /XYZ 89 770.89 null]
->> endobj
-7468 0 obj <<
-/D [7465 0 R /XYZ 90 265.921 null]
->> endobj
-7464 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F23 364 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7490 0 obj <<
-/Length 2281      
-/Filter /FlateDecode
->>
-stream
-xڕYYs�F~ׯ��.�2Gs����$��:�57�UNJ�C` Д���=.B����L�{�ϯԻ�����w���"�%$	y�6^B�H&$�m�}���W?{"�	KB�JO���������]ܬ.��`�D=f$��lw��w�a�g����Q�<�<
��ſ/�ٽ0F32�[,���^�i^��b�|k�:߷yU▮~�#�	db�5�y��ڌՂ�þVM,�b)�ߖf�����Z;ޘg�Uf�i�h5����V������I�kA�7
Kn�m�j���l�����iNʨ�$1���!�q �e�Gܜ���$	�5��h@�#G�,��V�`f�E�ت�3{*�͎�%�O�qê���n�
�1 ��GDA`��q��KFd����	"X�
�
fY���c8�c�!��i8�pw3
�䂓P$�R�
��V�j�
I
J�o��c�.Xs�Rҹ����N�ڃ��i�֥��
\���B�O3�
-�0�f�9�@~Ak�E��#m�v
�X}������V�����DV�͂��<�!���X��s�$H�:�ي RtV[�[��
�J�<�+��ʈ�i���5��zV�$a�gI���DF8�4�L�J�MU��l�]u�JU
��ޑQ6���%%	�c������Z at r=Z�y�-8�ya�y:�� �-X�=�:��Fh� ��
��q��$�6f2������.m���*����`���ʼ��D�v�
�l�:�M2���h at s��P<8n��CZ�m�,��$�
-|��/���'@���F�S��Ƽ�	�hy�
�~�>6vz_�
�
�������
-%QL�N��
�Œ՚��6�Tf�U+���i���mvPWh�/��JL��	�\Hj�Ri#<�i�
z�'���:��9��,e�n_���
�x�@дi�v�o�jg�s�d��Jeɭ��:4s�B�	2�Hb�@�g����`�
3�J G�
��&���2���P7&���ɫ}�D���YqX۵C�֏f��I
�
��1�.�)��:�P�����Y6�;��̲��p�%Kb��лX�fw(�|_�Yj�"�ݣ�1�'g%�+T/��"fh�W�8��W�8� .M��M�.=����]���;3k���Z��%�n����a�!����&{�i�����$�\���١ fG�&"��M��GNN��kB]���
-
�29A0���
�H�Q�GYC��y�
H��l�9��ȁz
󮂾2r4�J��T�
��.�0����tz�n�pk�� aM��ՒI�����U����nD���O7�N�g
-'B
- �%���s�MU��hR"6?�ZM����/C(����-�
��V�M�zɞ ��O���)0Ο�8+Dᩐ��9���]D�ǝ_�~8���qP�GJ�u������g�_*e���\8
�~=�Q(��#ʴ��ZC'��!���ː�����Dž]��8BH,\���"����`��|�4s38
!�
�~
}��<.̓��s��1
������p�QÏdzh�ϴ����0)�y���F�L�lN�
�&Fyr^yv���G�A �N�
�y�|$���|�^s"��"�H��׮6�`��/O���0�ed��n�~|�f���X�U����%�S���Ea	�P��;]w�1�\��u���L@�}���
I��xt��
��A�O+���dRY�p8"��=(=ܬ�
a��H{(�9�'ñ �%�-��Ri8��i�l�C��6f`��O�ns��
H}:��j
Ą��@�h�:w�ͽ�)\�b��`��3J9L
�*�cPx��p
�$=!Lٸ��>�=�Z�0ԥ�a9����n�������niG��W�Ƶ������Z�ݥ�G�l�]z�}�*
�j]��������A��wOL�3��4m�+
JGQ�	@3g�/3Z�D������q�
-�0
��!��Q�^5�|U�;����8��y1�8R
O5��J���<��"!T���M��C���2`���Ռ�Y���v}}]���ު��9�^#p��K/�mm�ji��|�oG.>pm����7	N��Atw��l�R���i.�$�����kh!o��$���3�>�mw��������w�x�_'5r~�
�?�
~N��\AO����.
m��b{a�� 7/�mT��E�6j������������֌p{��v>)������?�U�T""h��m����:
�$kȡ��5�۫���:��
���Iw�����r&w:��/�{�]
-endstream
-endobj
-7489 0 obj <<
-/Type /Page
-/Contents 7490 0 R
-/Resources 7488 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7266 0 R
-/Annots [ 7462 0 R 7484 0 R 7485 0 R 7486 0 R 7495 0 R 7487 0 R ]
->> endobj
-7462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.718 682.408 337.968 693.312]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.521 486.378 182.709 497.282]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 450.512 124.191 461.416]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 101.784 513.996 132.753]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 90.452 232.246 100.35]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7491 0 obj <<
-/D [7489 0 R /XYZ 89 770.89 null]
->> endobj
-7492 0 obj <<
-/D [7489 0 R /XYZ 90 721.073 null]
->> endobj
-7493 0 obj <<
-/D [7489 0 R /XYZ 90 238.731 null]
->> endobj
-7296 0 obj <<
-/D [7489 0 R /XYZ 90 215.219 null]
->> endobj
-7494 0 obj <<
-/D [7489 0 R /XYZ 90 215.219 null]
->> endobj
-7297 0 obj <<
-/D [7489 0 R /XYZ 90 77.486 null]
->> endobj
-7488 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F1 577 0 R /F11 442 0 R /F8 537 0 R /F72 400 0 R /F23 364 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7499 0 obj <<
-/Length 2344      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۸~�_���F�
�/Y�@w�	v����S���jK�lw���
�,Q�/��(�O��c��s���4.�
-\��������
AFRY���$$�-�7���O^O	��ݪ|�zJ�]~��]����}Wv��?��n��{���u7%zRm6u�LgT����r���_���o�
�*=a�M���t���Շ+��xeR����޼���*@%��'�*8e�\�^��
-���D��,D�M����L�����f�_��ͮ������
-1P|:!�R�_�_�B�AS�
X�D�^$1�#�' ��8
C��4J��>����޾��BDg��sT1�
ae�/����EX��}�Kg�oWS"&������m������6~�,�
(�H>2:QR a�s�2��T�$
N}UO����jWY�4
�Cc�DG?�fH˱��@ &�"~FH]N()481�
�~�]~�0&|z
׬�`�a��e��K�Ś �b
����S�C"Q���LeÐK�
����ǡ�*{������8ef:�<k?A܈d�d,��?��
J�J'����,�:F����tƘ��"RN��$��o�Ƈ�ˢ�]|i�KC2�
b���o 6
�<�W]��
-E��>�TQ?�'�>���Pk���f
E�
�1I�
!
-|��� �G G�� 3���rjSD�>V�3�D���}��)�ޖ�X��\�}���Q�:X;C
�b&!������")J/IQs>E�%)�|^��)*���'RT�
d��(!�O�\p�>��“o3C�$�h$�>b]x�Xe�Lv��~���-�!�
-�&|up�$z�	"�a0�Ј������Ux�J�vM�aWy
�����b�N���u���t�%�޴��?U�K���q����Bx�
1\�㑢,%[��'{�5�Z�{^UMՕVI���V9v�eX��s�a����@
�gXzD��!��,��[d�t��?ϯ��������
z�[�፟�lA�e��u�P
9�{�C��ā�0H�n#cP�M�
�v]W
�t��p�w<O�
-3r=vA��Rr�{za��
9�R�%	�")���!� 8��H���~��$f7Թ�ĮG#k~��;�NF"�x��
(f\dq�)u�3�`�s������ی�0�N�
I�7#�ib}�I�Jiu�C7
-pB
-��D��
���)㎧�|�S�b�>�K��a?�\-��n�ygy�@�F�#������qn�����<�����	r!
�K[dC��� ]�g��\*�F��c��ܨa�
�v�pP������);_	TcQ

,��
i�€�
j��K��l���>؟��Mn܊+���v��*��6��W�ʷ��H݃��p�pg�D�r�[��r�G$>��߇�p�#��@ �NC�V2!~vB����J��0��#�r�g�DN<ҩ!:����k�����6b��-L�?,U^ 3�@f�"3t}��AZ�,�H�f4KX`�akt�x��	��pBF�� �؁۫�^�E`�Y�������"�/I	(L;r
-7�9�`�΃`��1I�E������u�.Z�P�t�pN�"W2�ˮ\UPƸ�Dz�]C���!�		Oװ��}�6�,�	��������:A
!4����2�Q;��#&�
%�aF. ��>ɣ��bE
-� �`���䑂�PF%�ϧɣ�:�Q>-y����"�'��i�Y
!��
y�<�S��Xn3�
-�
":9}�%�,�"� �jI�Z$K��N�ϒ,�i Y�d�d�!�u����0{�	�
{�mN���
��# _<՝K�ܸ�s��v��ܹ�����I|I�WJ�~�K��?�(� ����t��
7�u�D�cb���H�e ��
k1��D�S�n���W/��x�_�#~����]�1$�֜�x��"jt���?`>>������������'{�X刚�*�ʼn	���1�xQ�r^
O?l
!8Ɉ�Ҷ�,3
�H����
����MI���
�LJ�Yf^"����eWWMą?�-��[Ͳ�V��宙o���v�[UͶ܆���L�'�#f8���o��e���HK
XI�{��
�Z>��XO�S�#Szh)3�C ~E��ߺ�������y�g�5�
^�VكZȳ�/�2�h��
x�
-�q�����?\2�Ѕ��r{)�OS�����&:�u�%��52H�h��Ǧ��h���s�V6�r��xz���,��4#�O�iүU�������^9�
j/���A}�ݮ�__?<<���zݡz{�^/����&�L���m<�Z�]0�n�s�r����]Ŭ�
-endstream
-endobj
-7498 0 obj <<
-/Type /Page
-/Contents 7499 0 R
-/Resources 7497 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7496 0 R ]
->> endobj
-7496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7500 0 obj <<
-/D [7498 0 R /XYZ 89 770.89 null]
->> endobj
-7501 0 obj <<
-/D [7498 0 R /XYZ 90 721.073 null]
->> endobj
-7298 0 obj <<
-/D [7498 0 R /XYZ 250.019 612.51 null]
->> endobj
-7502 0 obj <<
-/D [7498 0 R /XYZ 90 590.254 null]
->> endobj
-7299 0 obj <<
-/D [7498 0 R /XYZ 118.164 452.327 null]
->> endobj
-7503 0 obj <<
-/D [7498 0 R /XYZ 90 432.129 null]
->> endobj
-7343 0 obj <<
-/D [7498 0 R /XYZ 291.124 318.035 null]
->> endobj
-7504 0 obj <<
-/D [7498 0 R /XYZ 90 295.78 null]
->> endobj
-7505 0 obj <<
-/D [7498 0 R /XYZ 90 175.5 null]
->> endobj
-7404 0 obj <<
-/D [7498 0 R /XYZ 90 150.025 null]
->> endobj
-7506 0 obj <<
-/D [7498 0 R /XYZ 90 150.025 null]
->> endobj
-7405 0 obj <<
-/D [7498 0 R /XYZ 90 75.329 null]
->> endobj
-7497 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F8 537 0 R /F1 577 0 R /F10 504 0 R /F13 578 0 R /F7 538 0 R /F23 364 0 R /F6 593 0 R /F9 615 0 R /F12 675 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7511 0 obj <<
-/Length 984       
-/Filter /FlateDecode
->>
-stream
-x���s�F���+&�r�~l��L�&mM��x<
->b& ��M��g�a���
��	�ػۏ��v��O��_z?z�7�NsM#�(1ҁ�8�!���2��%B[`N�����������A��
ÿ(aaƒ�wyE�
�~K(gɲ���N�E��
ݫ
c�Xؓ�
-�8a���q������<����b1�eq"�fs���,�C�T��3?�@)�}V\y:.gg�Y�(������Зf���.�A���Y�i(�@	��)N�tQ�C�„[
�
-��QN� ��
-�h�C�N�cf��o�B��r-����2rCU����.G9���*H*�!�0e at ZI�AI&�勻<[=�[
&�-���LEh�ʠ�&oh`��������k�W-k���+
(p����*a��Ő YTo�&:@Ӯ����W�]͎�"
�j�\�X�JSP8���Ѽ3L�كy�K?�4ΐm˟�4,i��I��I+�� �
���;
��8�8i� g��]ߍS�P���.ߛ��@���8]vZ������y�I�$f����m]���AKu�\bqA�^<˓s��"&J
�8���NnF��� 
��
��]�g.��]�����d�����t�I?��n�I��E;���B��ѳ�
H�6?qtZ��ڡr�E�Z,��P�������b�PW�w�q�Ya
aW��g+/X��
�u���K�7�k��n/p��Z��7��ON
݇�':
��CC�����=7!���.>ܑ�����k��uu�|��ģ���Ӛk�M����\c�k4�
-��'h������$�����پRg�C���� �
-'���G��*"
(�T�8X{��i>MW���뭿��u)�1O�a����?�x����{�ݥ��Lw_.��L(����@C�Z��~ei0�3Y?�ګ
���5 h�yn�b~��/�K.�.�s��|�o�n�tL��^d4[!0��+�������(� ���e
-endstream
-endobj
-7510 0 obj <<
-/Type /Page
-/Contents 7511 0 R
-/Resources 7509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7508 0 R ]
->> endobj
-7508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7512 0 obj <<
-/D [7510 0 R /XYZ 89 770.89 null]
->> endobj
-7513 0 obj <<
-/D [7510 0 R /XYZ 90 721.073 null]
->> endobj
-7406 0 obj <<
-/D [7510 0 R /XYZ 90 654.451 null]
->> endobj
-7514 0 obj <<
-/D [7510 0 R /XYZ 90 637.015 null]
->> endobj
-7407 0 obj <<
-/D [7510 0 R /XYZ 90 564.888 null]
->> endobj
-7515 0 obj <<
-/D [7510 0 R /XYZ 90 547.451 null]
->> endobj
-7408 0 obj <<
-/D [7510 0 R /XYZ 90 487.28 null]
->> endobj
-7516 0 obj <<
-/D [7510 0 R /XYZ 90 469.843 null]
->> endobj
-7409 0 obj <<
-/D [7510 0 R /XYZ 90 409.672 null]
->> endobj
-7517 0 obj <<
-/D [7510 0 R /XYZ 90 392.235 null]
->> endobj
-7410 0 obj <<
-/D [7510 0 R /XYZ 90 332.064 null]
->> endobj
-7518 0 obj <<
-/D [7510 0 R /XYZ 90 314.627 null]
->> endobj
-7411 0 obj <<
-/D [7510 0 R /XYZ 90 242.501 null]
->> endobj
-7519 0 obj <<
-/D [7510 0 R /XYZ 90 225.064 null]
->> endobj
-7412 0 obj <<
-/D [7510 0 R /XYZ 90 164.893 null]
->> endobj
-7520 0 obj <<
-/D [7510 0 R /XYZ 90 147.456 null]
->> endobj
-7413 0 obj <<
-/D [7510 0 R /XYZ 90 75.329 null]
->> endobj
-7509 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7525 0 obj <<
-/Length 1191      
-/Filter /FlateDecode
->>
-stream
-x��K��6���:�R�|�2�K�M�4��M.�����P[re�#��C��d�,{k���,��p
g���]��_?_���H*��Y��@�		o��&$1�c
^F�i�HǗ�a1�~o�e:��}+���h�1�MZ�/��eDthV��ȣ�
-
�����{�23���'Ɗ�J�
�������z�瀀r8 N��&���-�0�! �
<�'-N�΃O����.B!-�C{���Τ
-��)Ӫ(#���
}�O�|U�׽��j�
�h)�"���2���җ#Ny=�G;! �)��
b0$����0���If�j\�iV�F��rc�M��
�7���e,�'����rҔֳnf%(4�u3�lM�)��‚�S$k;�L�P�
��޸��ڳ��DD��b�^�&��@#�Ď[��ֈˍ�q�
�4Nv|�%A�D�z�pVL�F�&A
�I�v�#��YCw��C�/QBa�e�yg )�g���qU��*���خңS'DŽJ���
��C�A� ��y<
st��F��$�ء�RuV.�
u4��'���ӓ���a�

9k������!,Z���C�p	
��I��R
]� =ɴOh�bj�8xn�b�v$
Ҫ:z��*����F5����@��X��CyN���1"	�C+?ԓ
�Ury�VId��M;'���StP�)ҷs	���v�u��4\�3�*�e{
-����ڷ?�a�]�W���#��tD:NǢ]��l�<�GQ�$���f�z
�v�
R�t�4G���2ұ4���d��
R4�$_8�GF�O�~p*��j
2ߣUE�пpگ��YɔArd��p��f��t$�~��~�����Β������%9�Ps2�G%��%�
6�D�xP(�����yb�8h��m#c'+i�`#��(,�֪��Fs��U�cS��ihI��WA)oZ�������l��*�f�W��ځ�2�76�&���S̺B
-�P�{̄��Z�H��Ęim��+�����ډ�G�o�TkG:�F�E�<�}�g�
�i���7��}]�}.#�@3�ty�>O�u�p�}��
����
���A���K�){7�_����л��t/�W��!"������c�V�)��ş j݀ �����F:���_]@}	�@�l���Z��ç�'4Y��<[�(����|���-)P=�&fV��(Jo~���"������oh
-endstream
-endobj
-7524 0 obj <<
-/Type /Page
-/Contents 7525 0 R
-/Resources 7523 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7521 0 R 7534 0 R 7522 0 R ]
->> endobj
-7521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 100.057 513.996 131.026]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 88.725 232.246 98.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7526 0 obj <<
-/D [7524 0 R /XYZ 89 770.89 null]
->> endobj
-7527 0 obj <<
-/D [7524 0 R /XYZ 90 721.073 null]
->> endobj
-7414 0 obj <<
-/D [7524 0 R /XYZ 90 654.343 null]
->> endobj
-7528 0 obj <<
-/D [7524 0 R /XYZ 90 636.365 null]
->> endobj
-7415 0 obj <<
-/D [7524 0 R /XYZ 90 576.085 null]
->> endobj
-7529 0 obj <<
-/D [7524 0 R /XYZ 90 558.107 null]
->> endobj
-7416 0 obj <<
-/D [7524 0 R /XYZ 90 497.827 null]
->> endobj
-7530 0 obj <<
-/D [7524 0 R /XYZ 90 479.849 null]
->> endobj
-7470 0 obj <<
-/D [7524 0 R /XYZ 90 407.614 null]
->> endobj
-7531 0 obj <<
-/D [7524 0 R /XYZ 90 389.636 null]
->> endobj
-7471 0 obj <<
-/D [7524 0 R /XYZ 90 317.401 null]
->> endobj
-7532 0 obj <<
-/D [7524 0 R /XYZ 90 299.423 null]
->> endobj
-7472 0 obj <<
-/D [7524 0 R /XYZ 90 227.188 null]
->> endobj
-7533 0 obj <<
-/D [7524 0 R /XYZ 90 209.209 null]
->> endobj
-7473 0 obj <<
-/D [7524 0 R /XYZ 90 77.486 null]
->> endobj
-7523 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7539 0 obj <<
-/Length 1228      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��WpJ�v��D����l�6�Mv��ev����

`
��� l���S��N*'�@�~|��[عs�����`�NbG#
���
�
�5�͜k�����wX���*�����������6�
���
b$�3]�o�3���FL+��i�p�`\8W�Oܫ
!��'1D�����!�M�N.�W�G�k�,Jb�g���s��I�<I�\��/X��U`��
oh�0F<�kˍ���(G֠򇷥�|*(J9>X���ܖ����42q>��0ʳ�h��Y>��̍
��R�@l(8��+�PF ����^�ÛbR�����������)�Ə>%
-^��s�gv�g�?�q恑���}X�����#�W޵ZҖ
-Q)����[��7��鐡
-h�=�_@Ϭj!�t�V>�+#��A q��P -7��X�� �v|�D��cՏc*t��bX��c��/�\����PM��L:Tֈc^c���%@���
-����%�+���
 U�ݣ�8
-��+��0L�6
���	p�Ц�!E �ն3zd�ȝjZ��2#��
-�۔�A[(�(�~(�}P&(����
P�7OS7L��v�I�<@�����CR_M&���>9����?ϰ��M��K�'
%�#/��f������Z�3)`k`0]�Y>�&���'&M�m%Z�J>�d��>M<*ܧ���ʍ<���cSƥ��©�s�hi��/ɼ+������N�0�3[;���һ�X�\����H�Y�HJ
��h>O����ò]�M6���N�}^#R��^�!� 
-��Ԧ��>*�-��s�E���>�:�G�pDj-�g俽(���Y�yp�.U1�*�}�Rr�l���{ ښL�'o�S�ubT��-Vho:�}�FX�C��wz$H���tL:�
an�������rJ�:#D	��>��	!l�C8�M��������Y������z4�K��֧e��Թ��:��L�@#ANf
y��,{<��h����;�P��s���v+���
����B�/>6$��M��بK�sm(ۉ�ξ8�Odڦ�پ
AY
y^ށ�V�H2Uz]�)
.��EU_Y��"fa�
��d�������Ct���W��kf�o=!��?��C���_

Q&�/]0p"�
d0��1��ּߝ�ӏ��l(�$bx���<_��ç�'4��C
�R���j1�m
R���=O*�.��2?�ar��N�MQ#�
-endstream
-endobj
-7538 0 obj <<
-/Type /Page
-/Contents 7539 0 R
-/Resources 7537 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7535 0 R 7544 0 R 7536 0 R ]
->> endobj
-7535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.542 445.369 513.996 476.338]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 434.037 232.246 443.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7540 0 obj <<
-/D [7538 0 R /XYZ 89 770.89 null]
->> endobj
-7541 0 obj <<
-/D [7538 0 R /XYZ 90 721.073 null]
->> endobj
-7474 0 obj <<
-/D [7538 0 R /XYZ 90 654.856 null]
->> endobj
-7542 0 obj <<
-/D [7538 0 R /XYZ 90 639.439 null]
->> endobj
-7475 0 obj <<
-/D [7538 0 R /XYZ 90 567.717 null]
->> endobj
-7543 0 obj <<
-/D [7538 0 R /XYZ 90 552.301 null]
->> endobj
-7476 0 obj <<
-/D [7538 0 R /XYZ 90 424.506 null]
->> endobj
-7545 0 obj <<
-/D [7538 0 R /XYZ 90 409.09 null]
->> endobj
-7477 0 obj <<
-/D [7538 0 R /XYZ 90 336.745 null]
->> endobj
-7546 0 obj <<
-/D [7538 0 R /XYZ 90 321.329 null]
->> endobj
-7478 0 obj <<
-/D [7538 0 R /XYZ 90 249.607 null]
->> endobj
-7547 0 obj <<
-/D [7538 0 R /XYZ 90 234.19 null]
->> endobj
-7479 0 obj <<
-/D [7538 0 R /XYZ 90 162.468 null]
->> endobj
-7548 0 obj <<
-/D [7538 0 R /XYZ 90 147.052 null]
->> endobj
-7480 0 obj <<
-/D [7538 0 R /XYZ 90 75.329 null]
->> endobj
-7537 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7561 0 obj <<
-/Length 1428      
-/Filter /FlateDecode
->>
-stream
-x��Xm��F��_�T����+/VT)I�����;7�t�,b��P18�ϹD���l|`_�V�'���y�gg����u:x6����У�5��Bl�<Dƒ��ue���cl�
��(_FӱC��%w7r�G���<���7g��8wH`g��t\*��<���\^�k����L�SJl3�;'/����@X�"&
����-W�5��/-&
��6ZZ�2�M����|0#B!ۄb��*��q*�|:��2�E��/�,V2��,�nC�x��Ei�=��G���
��qQ�8�1i�ʑII��<��wNH�8D��r�׋n�y�
H��B���U.�����Tx;�.�BD1�\��Yq!�u�V<�7�\$"s-
"l�����I[!��� ������q��@��Ƣ�@���k��K8F�,��4#�h���
��jF
\ث�؃E�O�
4�p��z;�av(��
UQ·ì(
Ƒ*DA 럚�
-&���PH��<��`~��7�ۭ�N��5�+:�3��N	a`���}��ې�@�xD?��~\� dF��B!
�#A-���պlG�N�q�~E��FY<w\ފM�2W�����G&H�9��*4��K'�a@�́��R�!A�P���z�%
�[��}/ɺH�	�ᤴؽ\�Y
%�WYt��#F��Ѥu����] A�{�K|��j�I]���l��i�
R�Y^W���[��$��
T7
�*)�y�2ϖ{��:K�̡����.�&r�G�z��,P��|Q

(���Օ+@��U�nn��B��r�hE���s�}��Q�D��S��M�E������%!�m�3
A�K?��"����U�#B
��mn��Y��ˎ2��Ǔ_>�!�6����I�5���~����v3^J��g��ܾ[�7
��٨�CQ�L��깚��E5_h
�c��y� ��~��R�ӷ��OY;�l|q����i��?Z��A�
 5u��P�q����LER�,���s6��w�0�,
U�R���&�
L*3��Rz�:#�ۭCRh
��M�{�~�B�(Y�]/�vȩ��>���F���d:��t4}���aΛ�=�slZʁ@k����jR�}�����S�����>;��NF�'���_}�tG�g-�
x̠ݩw
��VA\�U�.9=R��I�P
��s5��Q���K�y���p�ǹi\n��~�;m��>v2�B�"4WЫ��^����
��8;w�4�3�b
 Y��u�mV逍d]9�K�-Ӧ
l���v�6;*"��S���@M�
{���� ��E>Tf�+���ɢ:�˨���m�:�;������#5�VY���u�l��n��v���NU���	���u91��n�W���m�%�S��n�r5<9�l6hV�u�r�'��N�w�
/p��I��e�W��)<\걪���'ϋ�
-endstream
-endobj
-7560 0 obj <<
-/Type /Page
-/Contents 7561 0 R
-/Resources 7559 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7549 0 R 7550 0 R 7551 0 R 7552 0 R 7553 0 R 7568 0 R 7554 0 R 7555 0 R 7558 0 R ]
->> endobj
-7549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 203.503 244.968 214.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
->> endobj
-7550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.738 203.503 294.581 214.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) >>
->> endobj
-7551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.585 159.357 255.909 169.887]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.774 159.357 448.819 169.887]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0) >>
->> endobj
-7553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.855 159.357 513.996 169.887]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
->> endobj
-7568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 147.401 232.286 157.932]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
->> endobj
-7554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.275 147.401 335.777 157.932]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) >>
->> endobj
-7555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.764 102.882 350.54 113.786]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
->> endobj
-7558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7562 0 obj <<
-/D [7560 0 R /XYZ 89 770.89 null]
->> endobj
-7563 0 obj <<
-/D [7560 0 R /XYZ 90 721.073 null]
->> endobj
-7481 0 obj <<
-/D [7560 0 R /XYZ 90 665.789 null]
->> endobj
-7564 0 obj <<
-/D [7560 0 R /XYZ 90 645.266 null]
->> endobj
-7482 0 obj <<
-/D [7560 0 R /XYZ 90 584.477 null]
->> endobj
-7565 0 obj <<
-/D [7560 0 R /XYZ 90 563.954 null]
->> endobj
-7483 0 obj <<
-/D [7560 0 R /XYZ 90 491.21 null]
->> endobj
-7566 0 obj <<
-/D [7560 0 R /XYZ 90 470.687 null]
->> endobj
-1460 0 obj <<
-/D [7560 0 R /XYZ 90 341.463 null]
->> endobj
-274 0 obj <<
-/D [7560 0 R /XYZ 90 331.555 null]
->> endobj
-7567 0 obj <<
-/D [7560 0 R /XYZ 90 222.846 null]
->> endobj
-7569 0 obj <<
-/D [7560 0 R /XYZ 90 124.621 null]
->> endobj
-7559 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7614 0 obj <<
-/Length 1697      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ��A3�zX.iݙ$�3N�Kc�ө��`im� P �q~}��`$a{�&3y�XΞ����W6��^
{��
6��k
/� � ����83m��?���#��K,�>>�9��w�7�ޗ
�W� �E�o�����ؘ��;#;�A45
ˆ��8����ku!"e��/�h�X��lz�2����(Mr��f��O�
-/�"����e�j�dxnY��GZ�])S>��g�A����$K/b6�m��\�sL�Z����DS��ਸ����@���	ih�-��K\�[��e
E�RQz5��I.�ʟ"�Q+w
��?���PS�Z��p�@K�l�
-��M

-<L�&9n�3�`�Y
���}Œ������WIQ��"�{%'�bN��� i����7��"6M=
-6��Y�J��u���E
������6�Cq�V���8TK�9�L/V���	!f�E!蝏NYqW�e�DI1Z�-
-�yw���h `׽���,c9��-�wҋO{j���ŋo,K�#y<_#
X
ϊh}
y���Ik9Ma}���?����

u�/� �����l��S5�*5%��E�\���,
3������W���T��$�W>��N.�X%��VRr�e�!��K�+��	���K�(��?� T'�T�J0�h0����kC����9&N&��pk�!�m��/mL
��)x��H5��[�A�:��Bu; ��O
��B<b�R��W���R#��&* $�$a2�L�J�I�S��M>���$�G� J��g �IseB�.�|�ѯn���wi�����\�Ǩ�	6A�W:] �@���ʭ2�¬o{��ZJ���:��
?�$�-)Ѫ �;ؔ	��[��q6�kHA�<0�gCZb��G5$
-%
d�
uC����ė6�
N}��DW�Æ��g�����U�Vz\�3 d,��g���I�i!���S�M�Ѥ
���i�9�{9
ـ�9�$x��W�ǽMp
��ɳrtz�m���8��q@��Q�p���âk���:�
5`�
�8�&����oQb�&Q��.0q�B]�A�e^F�!6��ʩm�6� y4���iiv
�q

�Y	(�k
]O�
��q\ I�	�Aߍl:Uҍ\vns=r,��I��٭
^g��1v>.�LT�\��
z�]aS�Kϱ�ˉsI�!o��;����\稺�~g��H�d�Y�D�e!����%��ޗ�$�@΢_*,���������;��j�2����к���y�䍱Mw!Z
��;/�[��T�]
n�6��8FC�\�l�H�T�-Q7�9+J��i9.��q܈�B[�L_@7�����
..X�A��,��(*$�t+�q9��
�h���%oo�� Mb���!% �opt�������%Fjm�8�2���K�D����
$�7s��#6��� |9`zl|X
��*L�9�O�쎩/��Lr��C�!lT�����n&�Y0��kF�ʶ�3퓏+W��d�O�.x#K���Dǐ��g��u
-'5���e]|Q������Y�5���!
-��=C���Ta�I�^�I�
�GYy|�+gٳ>��r�a����fn���l9�aD��}�?����2�Ҽφ���UU�����[�뢘��ݽ��A�
͓h���؝��ݻw�.�A^��RC�4�ʩ���:� �
�,�
-endstream
-endobj
-7613 0 obj <<
-/Type /Page
-/Contents 7614 0 R
-/Resources 7612 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7507 0 R
-/Annots [ 7556 0 R 7557 0 R 7576 0 R 7577 0 R 7578 0 R 7579 0 R 7617 0 R 7580 0 R 7581 0 R 7582 0 R 7583 0 R 7584 0 R 7585 0 R 7586 0 R 7587 0 R 7588 0 R 7589 0 R 7590 0 R 7591 0 R 7592 0 R 7593 0 R 7594 0 R 7595 0 R 7596 0 R 7597 0 R 7598 0 R 7599 0 R 7600 0 R 7601 0 R 7602 0 R 7603 0 R 7604 0 R 7605 0 R 7606 0 R 7607 0 R 7608 0 R 7611 0 R ]
->> endobj
-7556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.174 172.361 696.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c) >>
->> endobj
-7557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.176 685.174 241.819 696.078]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 634.201 172.361 645.105]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa682606a24cf76b2d13ef9d70b0b4dde) >>
->> endobj
-7577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.603 634.201 242.246 645.105]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.937 634.201 407.714 645.105]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 634.201 513.996 645.105]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 622.246 160.176 633.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.334 622.246 379.133 633.15]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 549.355 172.361 560.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aee0ae23c1027e709991811b8398b9f46) >>
->> endobj
-7582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.91 549.355 244.553 560.259]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.12 549.355 448.369 560.259]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.485 537.4 275.283 548.304]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 487.423 172.361 498.327]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) >>
->> endobj
-7586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.849 487.423 245.492 498.327]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.932 487.423 379.759 498.327]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 487.423 513.996 498.327]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.57 475.468 332.369 486.372]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.492 172.361 436.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) >>
->> endobj
-7591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.698 425.492 258.148 436.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 386.848 180.109 397.378]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) >>
->> endobj
-7593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 347.457 172.361 358.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.1 347.457 223.907 358.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca) >>
->> endobj
-7595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.244 347.457 309.694 358.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 308.439 179.554 319.343]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 308.439 250.666 319.343]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1) >>
->> endobj
-7598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 269.421 194.208 280.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.948 269.421 311.935 280.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) >>
->> endobj
-7600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.404 170.687 241.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
->> endobj
-7601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 230.404 243.314 241.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89) >>
->> endobj
-7602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 191.76 170.687 202.29]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) >>
->> endobj
-7603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 191.76 235.712 202.29]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1) >>
->> endobj
-7604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 152.368 214.681 163.272]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.421 152.368 301.724 163.272]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a) >>
->> endobj
-7606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.351 196.709 124.255]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.207 113.351 276.688 124.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) >>
->> endobj
-7608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 74.707 155.265 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) >>
->> endobj
-7611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7615 0 obj <<
-/D [7613 0 R /XYZ 89 770.89 null]
->> endobj
-7616 0 obj <<
-/D [7613 0 R /XYZ 90 704.229 null]
->> endobj
-7618 0 obj <<
-/D [7613 0 R /XYZ 90 444.667 null]
->> endobj
-7619 0 obj <<
-/D [7613 0 R /XYZ 90 405.649 null]
->> endobj
-7620 0 obj <<
-/D [7613 0 R /XYZ 90 366.632 null]
->> endobj
-7621 0 obj <<
-/D [7613 0 R /XYZ 90 327.614 null]
->> endobj
-7622 0 obj <<
-/D [7613 0 R /XYZ 90 288.596 null]
->> endobj
-7623 0 obj <<
-/D [7613 0 R /XYZ 90 249.579 null]
->> endobj
-7624 0 obj <<
-/D [7613 0 R /XYZ 90 210.561 null]
->> endobj
-7625 0 obj <<
-/D [7613 0 R /XYZ 90 171.543 null]
->> endobj
-7626 0 obj <<
-/D [7613 0 R /XYZ 90 132.526 null]
->> endobj
-7612 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F97 1185 0 R /F105 2455 0 R /F106 2334 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7665 0 obj <<
-/Length 1814      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�8�_�SΞ�IH|d��˴��ک/��=�
�%�j�E�i
;� i�H�v���/�ƭ����߯�oll�ȵ�e\�.6l�"n�]`|
�Lk4&��dD��O#ߛ�(
&��;���!�N�����㻉7IG�&�3�Ɣ���̗R/čȧE<@�RM쎾^���|`
D�����h��+6x�� f\Ǹ�E�&\g����.$j_���ငS�"�6!�-䅐"����7۵Ŕ#P��
Ʀ^���0d�bMv��R��%Z�B_���?��r*�+�4\��,(X��q�e�ko���o�U�wl[� #c`�-��B)o�0>�9���A�bN����\�'~xr�O����e������ѵ�t�_0�i+*^�0]�G@�t
-�V:E�Ƙ0�2��}�C��Y�Oԁ��,Z���{�E.�
�T��A�J�m2
6ê�q���K1͒����g
#f�=�C�xa���܊t�<6�����
B��>�Hz�"�"vz�,�u�[�TN���e�����K�(�
-�RЏr�OG�=M
�f�e}�3pl�q��x�	�
q�ɇ�
-gxx���H���~B�Or�V[Ho&�c�����p�����hG��՗i2(��M�Dm���d�����~	�t�SYC�2��=�
a�z>�+�d/�y�2Q7��A���DSV���a	l�Y%&˜<%��#���7y���SB�<�J»Y�� ��@�C
?�^���B�
�N`랝u!̲��$)�d1(�U��.h!����	c���Gg��6��(��W�yQ��ӮOu7�P��ƨ���d+D6rX�UKiۻ�Z���`Q8��N�:If��	�'A8�b���a2�ZW~�P
�߉�2�o��k{��0[���Z�1���u@��=P�&(��ەߩl��?sg�]f~�����k)�io����L�ޣA�[?~�t�D�1 at eѳ���=B�z}�Р���H}U�t�8i�Ʒ�<���b3QF)d�F���~���0'
/��t���Z
-�2
�Rb��"�wm��@��
�
�����
--�x�@��`���
�>�Lu^����H��P��Y//
���#�1
�D���5[<@JOb�� �7z`���
����^O��inI-D!�6�����X0�0
]n�R��n��Y���L�*� V�,-��R=׀�Z��&;�H� �Vz˦�w��X��a��a(1�NAm��n��
��7—!x���O�q/D�H�f
P2P�ܜ
=��i�E��5ڽG�E�Q"a���"�2���.�֯ q��5l��@�k�e�7�d8֯27���Z@���8{@��h��mf{��-�]�
W7�#�q�r�G��G��Gk�����"�����#��������$@��ȱ�VI �d-���\ȳ�Bo��^

�
1A�煮���3�m���g����X5y�6tդjt���OG���
-�4
�`͟X{��aV�T]=���V.Yf���T�i�s�,ku�5�W�������H�C�
{�,�SϮRYM��������jNd�
-���u"�uޟh{��]9.���gz0O�>���巄���P
�:��(����k
����I,�*;�(��Ն�|�L+�:�2W_�^�슭�����&��MpU���7��|0"xɆ�]��l�a}��Uy&���4*��I��Ǩ�����蛿�Hq>,��G?�~pPf��G��NF� ��	��&����i���Q��PEk��F&��]���NO����T�E
�Sf���촡���TlWDnʯ�Q�V�
F�X����
y
-endstream
-endobj
-7664 0 obj <<
-/Type /Page
-/Contents 7665 0 R
-/Resources 7663 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7609 0 R 7610 0 R 7632 0 R 7633 0 R 7634 0 R 7635 0 R 7636 0 R 7637 0 R 7638 0 R 7639 0 R 7640 0 R 7641 0 R 7642 0 R 7643 0 R 7644 0 R 7645 0 R 7646 0 R 7647 0 R 7648 0 R 7668 0 R 7649 0 R 7650 0 R 7651 0 R 7652 0 R 7653 0 R 7654 0 R 7655 0 R 7656 0 R 7657 0 R 7658 0 R 7659 0 R 7662 0 R ]
->> endobj
-7609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 684.047 278.681 694.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) >>
->> endobj
-7610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.497 684.047 348.14 694.951]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 645.192 273.002 656.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) >>
->> endobj
-7633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.34 645.192 357.116 656.096]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-7634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 606.712 194.567 617.242]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57) >>
->> endobj
-7635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.904 606.712 265.411 617.242]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-7636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 567.484 198.443 578.388]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3) >>
->> endobj
-7637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.78 567.484 303.607 578.388]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 528.63 226.268 539.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) >>
->> endobj
-7639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.605 528.63 330.855 539.534]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 489.775 229.446 500.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) >>
->> endobj
-7641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.261 489.775 316.06 500.679]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
->> endobj
-7642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 451.295 187.583 461.825]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) >>
->> endobj
-7643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 412.44 201.7 422.971]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
->> endobj
-7644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.198 412.44 225.072 422.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7) >>
->> endobj
-7645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.29 373.212 249.272 384.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a22183a1ac7a9af9929c6153e2a7a659b) >>
->> endobj
-7646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.358 373.212 321.181 384.116]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.975 373.212 449.992 384.116]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.029 373.212 513.996 384.116]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 361.631 135.27 372.161]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 322.403 179.255 333.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 322.403 248.434 333.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd) >>
->> endobj
-7651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 283.549 179.255 294.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-7652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.994 283.549 260.629 294.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) >>
->> endobj
-7653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 244.694 192.664 255.598]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a7f2b2dce631b12fb46f6f1fa719e6c84) >>
->> endobj
-7654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.48 244.694 242.497 255.598]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.44 244.694 319.457 255.598]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-7656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 206.214 150.493 216.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd) >>
->> endobj
-7657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 166.986 181.845 177.89]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) >>
->> endobj
-7658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 128.131 181.845 139.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
->> endobj
-7659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 89.277 154.727 100.181]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) >>
->> endobj
-7662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7666 0 obj <<
-/D [7664 0 R /XYZ 89 770.89 null]
->> endobj
-7667 0 obj <<
-/D [7664 0 R /XYZ 90 508.869 null]
->> endobj
-7670 0 obj <<
-/D [7664 0 R /XYZ 90 224.933 null]
->> endobj
-7671 0 obj <<
-/D [7664 0 R /XYZ 90 186.079 null]
->> endobj
-7672 0 obj <<
-/D [7664 0 R /XYZ 90 147.225 null]
->> endobj
-7673 0 obj <<
-/D [7664 0 R /XYZ 90 108.37 null]
->> endobj
-7663 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F39 7669 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7709 0 obj <<
-/Length 1752      
-/Filter /FlateDecode
->>
-stream
-xڽXIs�6��W��J3
p��K���4v\��%�h 
-��p
	ZV}R�L�K�\$��[��[

[�~�����ȷ}�fnE�
-�y>|ͬ�C���כ�㇈D>�R�o>]ܼ����k�w7��K�"����Њ���ؚ��
#'
-��ڔZ���b]�
`�˾ţ�o�H��\'��(D؎4G_l�S�4��c��4�3/�+��+����V1�$����r�
�p%f���%��H�
U0O:��Phd����Jfm��m���p�h^?�]��p^�\o������(�:�:��N��J���P`�h�)��~sv&���
9����b����f���&
-�Ĭ��L�L�t���fuZ���A?�"�
)�(Bq�UbG���2�f�Պ	#!��Jp�֑
4B~���S�q��Kާ������L�Q���8��3�-����h4����ˬ�-�Qs]Y���l>i6��MU�1��y�
��x�[Y�4�z)G���r.��\q�I$�}�� ��Fcc

\��=n�
�X)K�r=���l"�{��T��M&�,�&ӵ`�>�38���0z��5��
,�h�
-ȠG<���-5��;5�f1��+�Q�� l�p�/ a� �Dͦ'��M��jl��;������=d��:�
ATXȟ��&!�q�?���#�m?�܎�B����@��
� >�
Γ�J�N�}��{zx~v9�,�i�Ҿ�G�g%Sc��-zS��!�E/�v�P��b�C��o/[�P�>ϖQ�l����&�D�'�K銴�)w��="�oR?ґLLbC�h�<
��\��
�h�U
-��}%���L� �׭��� J��
-2#��y4�j7��8x�C�H��
zj����ײf|��B�a뎷
���B
�
ȷ;�Ә@�B7���u=é��c��e=M��9K������X���̸����g
�=�0*}�A�xʲ
-n}BVO�ݤ*h�&����E}.�im�0�Ũ+����a�uFR�ٗ�bjh-�II�׻p"H�]�_����j�zǾX��
�M���E.��uIE���L��
�\�eK
�ys�g�
��[�݇�d:�M|X�y�J*r�{�t�whlq_�:� E�V�j6�����9����"I�X̎!
�n��Z���T�
-BR
2>��3>�"�>
���[=�MdO��2O�K6+��#���\��
����x?[������
-��Kmhލ[�HMI\D�|ݚ�`1�	t
}��k������c��zݡ

�K��@����}���P
-
�~��IO޲*.y!L
�QM�5����9��ZW$��,*�-T܈
���g����M��d��g
=Qh����u��u�g��?,f<����V�8���,�g���
��K�|�._�._����å,Z.��M�H X�u�VMf @�`o�z�n��-��E���mB�I\�
-�[��XƐM���KR�#>��9���W�U
,
weM�vzc:2�
�o�ԑ�]�Bz̾��Hb���Y���1�p
���nT��� �j���#�%�7��b�<�9����[��Zt��]����z�f35�K�-
U�e�R/�n��P��m�Tv{.ħT�\$k�E^)��'v�� �c�^����}��|�c��x8 �U���
7@^dʖ����n>���?M��U��E>�ĝӬn�����O
dK�k_�����}���2���L�r6%�R����d�Z��BuƋqqR����d�
-���%2o<4����	&S��v����N�
-endstream
-endobj
-7708 0 obj <<
-/Type /Page
-/Contents 7709 0 R
-/Resources 7707 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7660 0 R 7661 0 R 7686 0 R 7687 0 R 7688 0 R 7689 0 R 7690 0 R 7691 0 R 7692 0 R 7693 0 R 7694 0 R 7695 0 R 7696 0 R 7697 0 R 7698 0 R 7699 0 R 7700 0 R 7701 0 R 7702 0 R 7703 0 R 7704 0 R 7720 0 R 7706 0 R ]
->> endobj
-7660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 695.25 176.505 705.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e) >>
->> endobj
-7661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 680.126 450.955 690.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
->> endobj
-7686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 644.804 191.718 655.708]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 644.804 288.852 655.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) >>
->> endobj
-7688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 605.691 191.718 616.595]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 605.691 303.079 616.595]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) >>
->> endobj
-7690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 566.577 156.281 577.481]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a623847fa141f97cd59f3d85627536379) >>
->> endobj
-7691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 566.577 218.547 577.481]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 527.464 219.234 538.368]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.732 527.464 311.916 538.368]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead) >>
->> endobj
-7694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.731 527.464 422.161 538.368]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
->> endobj
-7695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 488.351 224.993 499.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) >>
->> endobj
-7696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 488.351 334.132 499.255]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
->> endobj
-7697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 406.98 203.075 417.884]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 406.98 296.324 417.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.488 392.23 334.373 402.135]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 298.33 226.034 309.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a30c23ab257a58da3708591becad2bf1f) >>
->> endobj
-7701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 298.33 379.626 309.234]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.284 259.217 162.65 270.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) >>
->> endobj
-7703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.835 259.217 342.367 270.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.909 259.217 513.996 270.121]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 247.262 149.666 258.166]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7710 0 obj <<
-/D [7708 0 R /XYZ 89 770.89 null]
->> endobj
-7711 0 obj <<
-/D [7708 0 R /XYZ 90 714.099 null]
->> endobj
-7712 0 obj <<
-/D [7708 0 R /XYZ 90 664.027 null]
->> endobj
-7713 0 obj <<
-/D [7708 0 R /XYZ 90 624.914 null]
->> endobj
-7714 0 obj <<
-/D [7708 0 R /XYZ 90 585.8 null]
->> endobj
-7715 0 obj <<
-/D [7708 0 R /XYZ 90 546.687 null]
->> endobj
-7716 0 obj <<
-/D [7708 0 R /XYZ 90 507.574 null]
->> endobj
-7717 0 obj <<
-/D [7708 0 R /XYZ 90 426.083 null]
->> endobj
-7718 0 obj <<
-/D [7708 0 R /XYZ 90 426.083 null]
->> endobj
-7719 0 obj <<
-/D [7708 0 R /XYZ 90 344.712 null]
->> endobj
-7721 0 obj <<
-/D [7708 0 R /XYZ 90 209.521 null]
->> endobj
-7707 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7730 0 obj <<
-/Length 1933      
-/Filter /FlateDecode
->>
-stream
-xڵX�s۸��z�L�۝~H|�L���I2��,4�����w
R�$;δ�D`�}�vA��9�yu�ryq�Kĝ�%�
���I��	
B�m����
gs�9wof��i�OW73��2ةM����u��WWo_߬nꙈ�r���l.�^�i����*�VE��P)c�zB�>-�X,/�\�;��X;����'�l����$�so�
_z�͝ۋ\p�k�#����N$���(e`.�9�h��I\����V�d�~�����mW �,�JӍj�Z�Ն�����hT�����7� ��.TZ�ߪZ5
�v$���)�;s�0���^�z��LQP��ˍ�}�W�֖�~;Z[�
]

�%�	��1���"�h�7{���[�%���骪�[�l�
�qJ���V{U�i�W�}eޑx8+�G� ��7R��d�6�����_љi��F��i�
�Z�$�IP+ ����m��*�
	�ݫvWZfZ؁���
E��}�.��۪lW�/�j�l5��p��֞���G̃!��f�X&��E$�|�K@��`#�D�6֌A�z��L�4WE�Wuj��󑒕]����V��^�\��	�ɒ��
-���$�p�h�$j��o܋6 16�q؇���>�bXW��DD$���י�c�aJ'�[�D
���h٩�u��F=��� �u�٤�Ӷv�Y��]i~�PpU�,Ɛ칢�@JUꢵ�Q�Y���8�XS�
��u3E�u��/ԊX(�Z/1
�o
R�n)z�ק��R�E�v��U&H�6�� 8�g>w1.=����&	`QU6F0��$n��ƒ����肑8Y����x��
�_Y>�4�U���ⱻ)
4����*���q2 Pa��S '��ݨ�Oxv<�E�
-c-q�������,
�TR�Sk�1cTA	F9�cX��l���ⷩR,�8�h�+[��F�M�ߚ�JH�
�.-��X
����P��M�B88>�\n���&���%8�,N����_z����.0J��ˬ3

TS�O&g1aOC ��?ڇ]]]�EK�|ew�P�T��
��פYY|0L�,���k#So-��%�O4��҂X��ӰIt
Yq�Y&�K��5�
V�W���#�*�3�`�3
������׿�:�x���$�s�_H%�Q�¤�򳮟�		؉39����z�_�D�t�p�̀�(�l����-ޱ+�������_{ӛxsu�\,n�����W��/o�ax�/��$
ٻ��U����
@�� ��h�<N����{n�
�{e�sS�����&9��)�l�7��
-�V�~ߗ
�d=e��/߯�k����Z2�I�&��5�yԕj�������"�f�#��\��|���oO
-�#&x<$�
`��W�����g�VȈyBZ�ƹ��̽6����>E�bA[M��qo ���7uP��pm}]��Ń���c~8�

-��@�	/����?�-��bA���9# ��0=�S CbDG	�AAS�k?�A��΂w>�ł���7M�Ȧv��>@���1��mM_�|�L6��n���2�&�K�k�����}:+K������CsbT�ǐ�{���cDL�L#!�g���Ć&��6
��'��V�Q�EP%!A�er��YpH��
-���υZ��b�
̉,��%
=+�b�j�>�{�n&�yV����x2�lz<�B�3?�N�����qk�S:/
�gC���:1�|�)�ټ���!fڝn΄�
���(99Z�^6�^�
��^�����P������EOE�D��x�0a�����?��"�3?X?u�
�a�N{
��s�i��F���mZt�7�}�
����$�L�ܪ�%N�}v��oƛyE
hLJ.e׶������=�����n/�*�<���)�g�p����˺O����4������Պ
-endstream
-endobj
-7729 0 obj <<
-/Type /Page
-/Contents 7730 0 R
-/Resources 7728 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7705 0 R 7724 0 R 7725 0 R 7727 0 R ]
->> endobj
-7705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.411 707.957 342.66 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.006 616.607 322.456 627.511]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.912 587.027 329.362 597.931]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7731 0 obj <<
-/D [7729 0 R /XYZ 89 770.89 null]
->> endobj
-7732 0 obj <<
-/D [7729 0 R /XYZ 90 549.841 null]
->> endobj
-7570 0 obj <<
-/D [7729 0 R /XYZ 90 527.53 null]
->> endobj
-7733 0 obj <<
-/D [7729 0 R /XYZ 90 527.53 null]
->> endobj
-7571 0 obj <<
-/D [7729 0 R /XYZ 107.713 426.008 null]
->> endobj
-7572 0 obj <<
-/D [7729 0 R /XYZ 90 415.547 null]
->> endobj
-7734 0 obj <<
-/D [7729 0 R /XYZ 90 401.276 null]
->> endobj
-7573 0 obj <<
-/D [7729 0 R /XYZ 107.713 301.792 null]
->> endobj
-7574 0 obj <<
-/D [7729 0 R /XYZ 107.713 274.56 null]
->> endobj
-7575 0 obj <<
-/D [7729 0 R /XYZ 107.713 259.283 null]
->> endobj
-7735 0 obj <<
-/D [7729 0 R /XYZ 90 242.854 null]
->> endobj
-7627 0 obj <<
-/D [7729 0 R /XYZ 90 220.542 null]
->> endobj
-7736 0 obj <<
-/D [7729 0 R /XYZ 90 220.542 null]
->> endobj
-7728 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F8 537 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7742 0 obj <<
-/Length 1953      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~���S�V�_�
�-�»��mܢh�D�ܕH-I������
/CQ��f���!q8s���w����G9�����‘AFR]]GG�$$<��w1#t�����I���p�Y���W/__���N^^��rB���# ���rs���V��}�3:�k6m"N|���'=��|�'m�<R�#��c���e���"��DN_<$A4RptN`IxѪzuv�N��v��eQ�N_�����*Պu[3*�|6��ٵ=
l��N��=��6nO@�b�t��IgD� X�j��-o�j�f�
-�`
i�
�$��6Y�
�,�+��{,0���D#T AMKyQ��3"Q���p;	U"��l��q�n��N
B�&�`���?L\��]���ߦy�IA�����E!�݁?MP��i�
'�&Y\�(����m�*�ŏ��2)���.�/�����N7{
M�	! 	�_���"��;�/,���hJ�=yS�nϷ��$��? G	DE���Ӳ��HJ�����d��5�
�[B �`-���
Eg	(�Z�M�e�n�B�%���Q�׋OIYM�
-�N�����
�I-�]|����iR.^~�6fL+k�Sb�
	�v�����[2|���N�����_Ӳ枂
�u�
-f�7��6ٯ�My��b5�a ���T�wn���5�#I�	Bd�/�y~q��W�o^O�/A���
[�B��������5���Db�ɐ�d7� 
-���w�l
�qι���~���-lK���mb��S�߸�M^t��H���+��
Iڐ�U'�uYl�
����J٥��O�ŵ[m��L�ɽY>:W&��7��� �	���{Lx�An����n��>EUG㼷WX�{W����e¦ş�e��B��V�fY�׻|YO��hHoj/�B��M��I��A �H�ƀ[
�vp�B���~SxC��^I�hd+*/]�&��e�W�2�\����a�)��]����.G���a�
`��ѤL
�Νҕ[�
���lk�ߖ�%�xq�z�>Y�%�]�F� ���,�A�A$�j)�:-��4T#D�!\b��f=�����<��j�n�;W\օ��G��
-1�.*�-�0���zʦ0
2�3E}�UG
k��qƦ1n �Ƚb~P9P�ywɋ���]�i�N	�o�Z�꤬h�O_�׃�uL&�[ R
&�P3,�/ܕ[84��i�z������@�a�
��>I�ym������äoZ�V�h\�j%J�ѧ���?&�"�g� O���5�.w5�y�`�h��d݊j��B�
�շ>��M�٭�X����mE=Wx"Z���e�s��J��iK��hU���+g ��JC�7�Ir8�
�����v
&��!���ܮ�����
-X�K�k�J %
�$Yg�ERz�z�^#��Se��(|�8q�}���s��AG>�����}&n
͖�I�	<��3��,��߆[r���vm��
(S
@�Q�.�g�8��.[[@˶E���'n��*
l�Jm�~���rx��t���MP'pK���^V+"�;��w�JeU
�)����L��=
ui��bq�pA�0�=8p�ЋC�N2
8�����g��������q'�=oz�3�( �<4�a���� �>>��J<8
�3
0I��-_c����=F"�����G
vl^e�W
�@��A%f4�x`����v�ß�=�Ӟ�|
C�c6���=�J�>� 2�������
L����WѠWC����'�;���a����?w�O����?��s�����
hS
�����E�c
�L���i|-�x�0z侗V~���Ƕ�q���q��� x�/�|����冲/lQ�m �q�6m#̉�s�~���y���ط1�u�=;=���C�
-��l[��>�nק�z
P�Vc���\�)ʮ���M�{F�7��|
-endstream
-endobj
-7741 0 obj <<
-/Type /Page
-/Contents 7742 0 R
-/Resources 7740 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7726 0 R 7737 0 R 7738 0 R 7739 0 R ]
->> endobj
-7726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 691.225 406.173 722.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 388.986 406.173 419.83]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 74.458 406.173 105.302]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7743 0 obj <<
-/D [7741 0 R /XYZ 89 770.89 null]
->> endobj
-7628 0 obj <<
-/D [7741 0 R /XYZ 90 684.319 null]
->> endobj
-7744 0 obj <<
-/D [7741 0 R /XYZ 90 670.12 null]
->> endobj
-7629 0 obj <<
-/D [7741 0 R /XYZ 90 342.929 null]
->> endobj
-7745 0 obj <<
-/D [7741 0 R /XYZ 90 328.73 null]
->> endobj
-7740 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7751 0 obj <<
-/Length 1980      
-/Filter /FlateDecode
->>
-stream
-xڵY�r�6}�W�f*W^��C�&
�q�&�L�iFC��Ŗ"���|}��DYN�<�$@`wq��Y
-7~9yzur�"�A������2Hp����݄`���`�'�S�'i�N�S�'Uq��Y��_��uZߟ�]�_�/�)�'�u!��x�H��\��K��e���(�1�0¦�^�<�:�pB�,
c�@Q
,�'��� ��/0&��;=i
p��ޞ�~��G��
�v\#8BaAD"ĸ״��Y^N9�ܦE����f��e�M�;}!B7F%�
-W���R1�+�3�I�4���YTe��i+�a;�]Is��[=�xo�f����j�a�M
-ˁ��,�c���Dcp��M^)C0�T�u��p��
���ײ٠�Dv:�������hs��)iƗ���M�����y���igܪ��:O@
lN��
����=�;vS˴U�(����T� ��9:�v���� f�w�$B	�� ������Q0c�^
9���_�.#�ð�'Пټ��Hc�nA:���D �I�

k�c��(�<�0{ߴ�
�'ߍ�JFQ�/�hF����=��+�uZϟ�fh,4���x ~�>�(�9?u�p�
�H�؆�ҝc����쓬+u�#[�8K
���M���O�J��E����H���'y�S�B?�I�H�������\���md������5��% �:�3�����t���q�������p��;‡��T��6/o̽�#}9p�~j���J�I1"Q��Y֕�R�p�K����c��\���"8Y����
{���s�E𪟥=�w=5�M�I���Z���<qp��p �p\�&
%�#:���0
0]����N�m��
��%�n�?����1�p��
���r�B���J�S�td�
��qs(�����!\B�-�FT���?\G|H���J�>r�*oE�`x�� tĸ
-�@�E.*Ņ040C/�ۖ�u�$�CK��n��2mr�`sW��
�=b���3٢���J��=��rI�Ջu�HX�*��<Iuɰ�M?���U��R�s[�

s[��G�\IMk
9K�m
;��%66����
�.M��3��� &
�)H�4����پ_X
��
!��'�?.�v�3�$�T
�B�7�j.�����G�(S�*8 �G��
�Rw�d�d�y����v:otl�-CqԿ�N?�5u�{�s���D�_�<�}�������{#��V~��Ov���'+;��Hc�@r@��-Rk�mܛVcd�ǷE���!^u�$�#�f��5�!����{LG�h��1-
}���;搐���1����
���y�Q���B##픏��@����.��]�V�P�[U���Ң �>��4�IY�;�./
���1��M5�����F�͈J�14Q�k���Ѝ����*
-����
lR4��n�Q�pa�82`	�cU�"�$�NmqD�Nt��Uz�J'��E/����vZ�␎b�}Ȅ�
 �f�.�6s�s��L�j��~\�
Q��
뼠�;�x�h�2
�dY3V���챤���{QSJMćO�
w�i�4�|Vd�X��)w�{��
-�#*�v:��zb[���p�-C�tX�
�+����v�3�8�SMo����_����0��S��'}�� �9��b��h@��"�*ͷh0�H���iP
���t�C�.C��q�dɡ��(]ƕj�@�
-p�H��k�xL�!tL��Y��
��ˋŒ\K�]U���~�1C�@~���k
<��̄N��13�7k�� Mꩥ���%�iY�&�]9��6/��W�w at St*K����"�����;��
�s������l/�x'�/�Ѫ��ۮ��[[]�������s6�/Ҳ��
-
-��PRA�DMo�'oe���
��_
�{I
�	���j�������
Z4h[����fS���Y�@��/��x]ղcpx��2n/��6A��
-endstream
-endobj
-7750 0 obj <<
-/Type /Page
-/Contents 7751 0 R
-/Resources 7749 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7746 0 R 7747 0 R 7748 0 R ]
->> endobj
-7746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 435.846 406.173 466.691]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 112.489 300.161 122.771]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
->> endobj
-7748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7752 0 obj <<
-/D [7750 0 R /XYZ 89 770.89 null]
->> endobj
-7630 0 obj <<
-/D [7750 0 R /XYZ 90 677.089 null]
->> endobj
-7753 0 obj <<
-/D [7750 0 R /XYZ 90 662.88 null]
->> endobj
-7754 0 obj <<
-/D [7750 0 R /XYZ 90 395.417 null]
->> endobj
-7631 0 obj <<
-/D [7750 0 R /XYZ 90 373.106 null]
->> endobj
-7755 0 obj <<
-/D [7750 0 R /XYZ 90 373.106 null]
->> endobj
-7675 0 obj <<
-/D [7750 0 R /XYZ 227.842 296.003 null]
->> endobj
-7756 0 obj <<
-/D [7750 0 R /XYZ 90 279.637 null]
->> endobj
-7676 0 obj <<
-/D [7750 0 R /XYZ 184.963 77.486 null]
->> endobj
-7749 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7760 0 obj <<
-/Length 1389      
-/Filter /FlateDecode
->>
-stream
-x��XIs�F��WpJ��Z��ݺ%S�T&��SVr�LQX`��$4����
 �
/�\Do����!
\8�i��b4{/q��i,���5!̒��>����P!�Cx�.������������o#[8 N�@R����
$��!��i��C��S�up1�}���B"��$ #D
�ɔ`�Ƿ��y�L�T����&��'���4)��cvY���|�����y1!j�_���|
'IT�Q���봈�]�L�$ۤ�2˷�u�K���)���pv��^
-
<�s�)(�b�ZF�_�μ?{��{���b��E��u
�
i,�c���C"�;4%� 	FM9'�;
�Kg@�J��vBEc�[�[��ͶI:!b|o~���hvݳ���t�"1�Z��1�)�DS;U�d^6:*k$�+3�p�6
ȖZ],��M�)�a ��}���/�]U�y���MQHbAt��J�s�0��,����L�z�t��iZ{�X�I��������<�q�oR��d�O�"�)�>%Ғ6ǒ�&�n��
�yQ��.�&�
�
X�ݣ=�4��@�
D at W
-�� �}[崭^�
�
-W���U6�
eH7g� N��
9  ��wh����h�½��R��
��mb�C�$c�?��h�N����%�ž��?$I
]�X�;�郛�W�jc�P�q�f�3��\!
�>���й����;YB82�j�?,��,¹iN�!Lɱ �;�Er��N	Ζ�W�M�݀Ճ��_���V�u�[3lqk%:dA�T�]�:uk_%�EW5	W�x���/7�5��#�������p�j�	�0J_�&��Q�A��[��
����J7��Bƛ�j�Z��
�pC�_�D���xƠ�T��= u���"���x�UO^�8�
��	wW=<��p�w��(]9
ĔJ�٩��F5H�@n��rAۃW�)��O)f�Pʾ��O�A��⧪G
=�g�@ޔO�	�
��ƂBfC���������h�����tYe�]+.��n���EB�c��S�������N�6��c�o���'t�Uy�d@�Ӊ
|��>4n�W�[�sԜ·p @eD
��D�5�w0	�)i���ܡ<"u�
�

��Gj��X�=.�G�bDZ� 6�Z���AlG����5��A
-ͅ�i7N \#��k��8�5��pd����2����j�ʨ���/���n�,���u�|�EԻU��Zl+3�4�X4�ȷ�fS���~D�����c��]��Q�-[�[�k5D'�%��ɂ�Y��:
n�s�&�i���4ԾÈ�p�Ip<T�	H ��� �� �i�=u�}
��/#�=��2n��UU�����
Z��f��
-�U��n=;�=)p��F�U���M�����0�A�9w
-F
-endstream
-endobj
-7759 0 obj <<
-/Type /Page
-/Contents 7760 0 R
-/Resources 7758 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7674 0 R
-/Annots [ 7757 0 R ]
->> endobj
-7757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7761 0 obj <<
-/D [7759 0 R /XYZ 89 770.89 null]
->> endobj
-7762 0 obj <<
-/D [7759 0 R /XYZ 90 721.073 null]
->> endobj
-7677 0 obj <<
-/D [7759 0 R /XYZ 90 592.023 null]
->> endobj
-7763 0 obj <<
-/D [7759 0 R /XYZ 90 577.679 null]
->> endobj
-7678 0 obj <<
-/D [7759 0 R /XYZ 90 451.074 null]
->> endobj
-7764 0 obj <<
-/D [7759 0 R /XYZ 90 436.73 null]
->> endobj
-7679 0 obj <<
-/D [7759 0 R /XYZ 90 300.172 null]
->> endobj
-7765 0 obj <<
-/D [7759 0 R /XYZ 90 285.829 null]
->> endobj
-7680 0 obj <<
-/D [7759 0 R /XYZ 90 151.273 null]
->> endobj
-7766 0 obj <<
-/D [7759 0 R /XYZ 90 136.93 null]
->> endobj
-7758 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7770 0 obj <<
-/Length 1567      
-/Filter /FlateDecode
->>
-stream
-xڭXKs�6��W��P3�'I��f�L�f���)�hh	��J�JBq�_�P�DI��-���~� qt���������GɄ&��2�8J�D"��E�1&�d<!��zLp�W�|v=�8.��VjQ�?��*��M��~��]Wc����Zm�*p�r�׵~PK�,+=W�)���ϷoG�nG����#��(͢�f��3�0�6ed=4/m"N����џ#���2�0�QJ8�X:t�فB"�u�C�Q�%JAd�X0'j���2W�E�y�&�c��y�X:�^�A����(,��r0�l���
-o�:7E�	c��r��M8G��h�R���=�Q�=x�ٍ��Ο�X�N�u��b�<�OX`�#�i^��
���ԛ�����?U_�:�O;FR&ф�Ƅ]rmO��k��E�A�`-8~L⎱�x���0�2.��{�[k0؅rg��F��r�&ݪ�p�A��n)7Fm�&� �N/U^��g��2��c�H ��AzW��B�U��[vѳ�u� }�l7H���x�,쎉|a��G�I���F�ʻ���v�1i��鹳M�Z"E<E
B�AN�7J�*7�Oh��&R$8
1��4���f۲�f��D4�� �e��6����g%	JR��n3�=p-��Ȃ�B���c��w.��ADH�.2���Q�����D�#��$�&-@���b����>�#�P4��`�(��$kޕ�$2bHR�ӭ_X�䈥�$�Lg�
h�b�V����$2A
�=�pL�!��%!�
g��Mb���+U���M�dA��Jm������@�k\ʭw����O1F'磢�A
-�𶴝O�
R� �M(f'�F�QFU���ߧ����<���BQ�Z�oCuqr�"�߇U1_
�!��tǺV�X���ίxM-m��8�JN n9O��=�
̚��{
%��P1|�� 

�M��aCr�M�u�W�����b
C��*8���q��� �A
O@��w������⑜��2V��t
-X8葯��,���=��
)��Ui<X�����MC6�K@~����61��G�nkVE=���b�Oأ�K
-m9�W�Y`��;)4�S[��	�>���#�nD�38j���V�Xل!&�c��a�@��u�Y�w��`�E1�\"|�%�����r�٪mt~zj�
z�Y'�=�goZk]���͏��2ػGDP�`��Dr��P�I���ޭB���6���&
�����܋r�j����TPgQ!���Ɩ����}�?��r����S��/(�(k[���6������d^�6�}����(_7U�S��sQ���*}���j6�UFc���'�����	�$m����
�/��w�g$^喑mK
`eOA7ߐ�:���@
-���-��9uV��:�uJ�=T#(=����-�L��V?�2&�
-����2��[�n�{
lWi!�����ZȆ�
1�
} ���jU�
��z��]�(���U�v�����ÄA��Qʃt�����w���s���⿿���N��


мF;]l+T���v}uL��.Ј��&��MYy����M�=�����`�
-endstream
-endobj
-7769 0 obj <<
-/Type /Page
-/Contents 7770 0 R
-/Resources 7768 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7767 0 R ]
->> endobj
-7767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7771 0 obj <<
-/D [7769 0 R /XYZ 89 770.89 null]
->> endobj
-7681 0 obj <<
-/D [7769 0 R /XYZ 90 687.773 null]
->> endobj
-7772 0 obj <<
-/D [7769 0 R /XYZ 90 673.876 null]
->> endobj
-7682 0 obj <<
-/D [7769 0 R /XYZ 90 556.131 null]
->> endobj
-7773 0 obj <<
-/D [7769 0 R /XYZ 90 542.234 null]
->> endobj
-7683 0 obj <<
-/D [7769 0 R /XYZ 90 342.519 null]
->> endobj
-7774 0 obj <<
-/D [7769 0 R /XYZ 90 328.621 null]
->> endobj
-7684 0 obj <<
-/D [7769 0 R /XYZ 90 220.929 null]
->> endobj
-7775 0 obj <<
-/D [7769 0 R /XYZ 90 207.031 null]
->> endobj
-7685 0 obj <<
-/D [7769 0 R /XYZ 90 77.486 null]
->> endobj
-7768 0 obj <<
-/Font << /F70 398 0 R /F72 400 0 R /F56 363 0 R /F100 1387 0 R /F10 504 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7794 0 obj <<
-/Length 1684      
-/Filter /FlateDecode
->>
-stream
-x��X�n�8}�WX����!)���v�6M�t�i6I�%-
E�c��xu��~�/�-G��@��K�
9��s���غ���v��ft|�a+@�ܺ�[�<7@��]l�����7�,���
v��'.nN/n�������W�"� C�oE���3�bx����	|k�e�K
��Zף�F��/� B�lp�"B��1���	��$
O(w�Ky�Y8�
Sx��".�ٟ�]��������
�.�R�M�ŲN�0�);a�iȱ?a�O
-1��1�����3��������3Ҧ%o2���O�v͑���a
�[�0`̤u�X���e��k-�":�E��k (�
FE^խQw;H�۹y��i���z%�[
'�S�މK&To�ueܠ�n�	��iF�5a
����
�|�NU��E��kqx���>`��ز�\��@z���!��q�\�0눭�;�>�([����q9�\�p#��p�������"�w�|�bw�-�,Y���Hٖ�k&�B���K�!����!Ki���������p ��
��:�N�"
�|&ʲ(w��E�cDYGśEY�)�W2���\'
p�lq��gCw�
�J�^$��8�dC�BT�s)�

j�E��X�Rf@;�-���g2������H��H^3;A��s�Z#�@��
���҂A
��C����wE��"6����vRr௤��`
��đ�&�"���Jˌ̞��F�a߫�
u%Ұn�=k�hó7E�d `�z�y
tr��߳��9Aq��j%�"�Z�3<eXk� ��6�tN[�^��A0��d�;m at g=���q�0�*���OnVY��9�"�#�u��ˁ�<�mz�R�z��[u[j�u\6u
i
7m�CS/�z'���C����A���q�Z�Ky�
-�ۮ����Q��t��À���7
�21 �WP���~D�-Y�����[[�� ��I�R��f�o�K%a�|C����C:�6P��˦���ȨV�ʌS��iAqOԣy+QJ}�@����\�웛{�K��3/�l��͋4՝Ak-<�Z��i�����B��{��6����V�r��Ţ�Js���G�q@�Z3���r����J��$�d��+1Z��H
 Ѫ��]x�����DU�e���U�EЦ�۵-��`f�R���`��O�-ɣ��ŀ$�I�b���f���vώÐ�;a�}�쁇\B��;��L�vL�\yo&�+��
�R��z
�e��
z<E/��4�����N��Y
�z:�R�|���t0(I\E�}��$�*�ݛ;N�T+�qV��bh?�dznU�
Ȳ��o��*���Zʯ��_�<~�����ӫ��V�L(:��]��qW����_7I�N*"�(w�ɓ���`����["�em
-Rگ���lS!������—F�~0�J����s�D.)a��g��ِ�gQ����s�j��3�
��U����Q��l!���C`]=5�G���

�bv��	m�L�d���"X�
��յ�#��
-���<��/ZG�R�d 
-9�K)<����{
�m�<��=�+ ��+��0o���gd�Z��m���5MZ�|�D�\~��L��&L�
�z�)�n��0�"*�A�5�_�����X��#5�l9���9yQ�����j�BQ���,K���0�
?��[V��6�x�,��	?��a���>( ¿}we
-endstream
-endobj
-7793 0 obj <<
-/Type /Page
-/Contents 7794 0 R
-/Resources 7792 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7777 0 R 7778 0 R 7779 0 R 7780 0 R 7781 0 R 7782 0 R 7783 0 R 7784 0 R 7785 0 R 7786 0 R 7787 0 R 7791 0 R ]
->> endobj
-7777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 272.568 280.942 283.472]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 217.394 187.853 228.298]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) >>
->> endobj
-7779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.511 217.394 257.154 228.298]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.035 217.394 426.424 228.298]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-7781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.37 187.853 189.274]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) >>
->> endobj
-7782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 178.37 293.017 189.274]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 139.345 187.853 150.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8) >>
->> endobj
-7784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 139.345 269.495 150.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.024 139.345 350.969 150.249]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.321 187.853 111.225]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) >>
->> endobj
-7787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 100.321 291.333 111.225]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7795 0 obj <<
-/D [7793 0 R /XYZ 89 770.89 null]
->> endobj
-7796 0 obj <<
-/D [7793 0 R /XYZ 90 721.073 null]
->> endobj
-7797 0 obj <<
-/D [7793 0 R /XYZ 90 583.316 null]
->> endobj
-7722 0 obj <<
-/D [7793 0 R /XYZ 90 558.909 null]
->> endobj
-7798 0 obj <<
-/D [7793 0 R /XYZ 90 558.909 null]
->> endobj
-7723 0 obj <<
-/D [7793 0 R /XYZ 90 497.236 null]
->> endobj
-7799 0 obj <<
-/D [7793 0 R /XYZ 90 482.474 null]
->> endobj
-523 0 obj <<
-/D [7793 0 R /XYZ 90 359.524 null]
->> endobj
-278 0 obj <<
-/D [7793 0 R /XYZ 90 352.817 null]
->> endobj
-7800 0 obj <<
-/D [7793 0 R /XYZ 90 236.453 null]
->> endobj
-7792 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F10 504 0 R /F23 364 0 R /F11 442 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7844 0 obj <<
-/Length 1553      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�8~���)k�Բ$��:۝i�6�n/�&;�����;�b�������N0�M�Mw_b.��|�;W���N{Ǘ��
�-�$�ܺ�Y[‘�q8�Z�#[
�c�?����7>P�O��U0ͼ�p�y����7oN6n
��O���2�?��<ׇ�YP�
b?P���}����˗�痽�=�a�hm��/z>ak
-�_Z��t��r��r�
��u����
0���5�s�خ%A�h�)e���
W�gs�ƻӞ�a��%B���?+���as����i�W$��b���I��<�U�1�? ���`|�ˢI�t�X�@r��ڥ�U���B)����ABꏗa45�y�E��Ҋb��g[��
-�yN��ly����\y�2���L��sԨ�7�7�
VjS	n�L?�󢝏�$�gK��m����_�c��;��k�����Rg����ArH
κ�P�n���� ���I���4
-�_�b5�e�I������7��C�xt����i���}}���_g�ﻺ PO�m\@�KW�)��O�R��՚.E3P��~��l���BsO��΀Pa
�nq��)���D=�Mk�N#��Z�$��@�S+��^�!�#�Z�*
boa�sA�e@��D
���n�'��M7�J1ɌS��n�}�!]\_-;N��04&k

����׭�[e��M�l�˖���i�{4I��D�t�����x
RLV�v�!��Y9��xMN;����iN��P��hW۳�Y]�n1�?{�RS����
�����l�`$��7�	�L�Q�#�q�S΃e���W^�&>�Av��H��f��~Crm�#���8���=���� c[Fc垇n2���L�Y����z�;ŇZ��/�y{Q�0
q)[Ä"���0����¯d�]�Q�6V1�-JҖ(�f�
��W�T7�'�����C4�٩#(�u�{s���4�)q���{�ߖ��4��lU
�i}6ʖ~�J��Dc٘��dI��/>�CO�A��^���uY
���<^q\������C�|{9
���Se���
C��8�kEq�
Sp�U�
�x�4L3H��m���z�_%���:
g
&�0���{E8�>��-�s2"0r�������>��t-�ዤ�{ll��{�^޳�[��0�h��v��^2zA�59:	�v�qCs �p���pڕ]�
�l��,8t�6�2I��݋��e�u2����d�_<�
l
-��c�k�U��P�ס�iΐ��q
�	ߙq���3�+�a�5����%��З�mijN05�3�+��}���a�_;UP�'�b��Gp���ͮ�<h��%���̋򦭆6 _�
��K�mY��[�ȸ[�P�ƓdO�Ȼ�GQ/����J�����gs�A	��g��39<$����pb�~�e;/��la���P���'���� �e�X��|���jFR��(QA�z"}#h��Z�}A5�jd[�����tM_�
-d�z<�*���ht}}��
-�0�PX��4�~�&EU
�A})[$���pq�[o���!j�
-endstream
-endobj
-7843 0 obj <<
-/Type /Page
-/Contents 7844 0 R
-/Resources 7842 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7788 0 R 7789 0 R 7790 0 R 7805 0 R 7806 0 R 7807 0 R 7808 0 R 7809 0 R 7810 0 R 7811 0 R 7812 0 R 7813 0 R 7814 0 R 7815 0 R 7816 0 R 7817 0 R 7818 0 R 7819 0 R 7820 0 R 7821 0 R 7822 0 R 7823 0 R 7824 0 R 7825 0 R 7826 0 R 7827 0 R 7828 0 R 7829 0 R 7830 0 R 7831 0 R 7832 0 R 7833 0 R 7834 0 R 7835 0 R 7836 0 R 7837 0 R 7838 0 R 7839 0 R 7841 0 R ]
->> endobj
-7788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 187.853 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd) >>
->> endobj
-7789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 707.957 267.812 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.899 707.957 349.844 718.861]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.398 187.853 680.302]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) >>
->> endobj
-7806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 669.398 299.642 680.302]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 630.839 187.853 641.743]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) >>
->> endobj
-7808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.668 630.839 276.121 641.743]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.631 630.839 362.576 641.743]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-7810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 592.28 187.853 603.184]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) >>
->> endobj
-7811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.4 592.28 298.956 603.184]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 592.28 419.222 603.184]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 529.81 187.853 540.714]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) >>
->> endobj
-7814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.965 529.81 245.565 540.714]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-7815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.699 529.81 292.426 540.714]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.973 529.81 425.44 540.714]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 479.296 187.853 490.2]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) >>
->> endobj
-7818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.19 479.296 235.444 490.2]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-7819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.724 479.296 340.19 490.2]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 428.782 187.853 439.686]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a25b59f3491de4996c701bbf044746fe5) >>
->> endobj
-7821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.508 428.782 272.668 439.686]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-7822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.702 428.782 425.168 439.686]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 366.312 187.853 377.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a5d2426c9804102311d41fd445b122cf9) >>
->> endobj
-7824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.334 366.312 292.602 377.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.289 366.312 428.755 377.216]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 315.798 187.853 326.702]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) >>
->> endobj
-7827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.919 315.798 307.862 326.702]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.496 315.798 421.962 326.702]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 265.284 187.853 276.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.592 265.284 239.399 276.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5) >>
->> endobj
-7831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 265.284 340.678 276.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 226.725 187.853 237.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.592 226.725 239.399 237.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) >>
->> endobj
-7834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 226.725 326.292 237.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 188.166 195.601 199.07]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360) >>
->> endobj
-7836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 149.606 241.112 160.51]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) >>
->> endobj
-7837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.449 149.606 342.392 160.51]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 100.088 255.488 110.992]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553) >>
->> endobj
-7839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.826 100.088 356.768 110.992]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7845 0 obj <<
-/D [7843 0 R /XYZ 89 770.89 null]
->> endobj
-7846 0 obj <<
-/D [7843 0 R /XYZ 90 334.744 null]
->> endobj
-7847 0 obj <<
-/D [7843 0 R /XYZ 90 284.23 null]
->> endobj
-7848 0 obj <<
-/D [7843 0 R /XYZ 90 245.67 null]
->> endobj
-7849 0 obj <<
-/D [7843 0 R /XYZ 90 207.111 null]
->> endobj
-7850 0 obj <<
-/D [7843 0 R /XYZ 90 119.034 null]
->> endobj
-7842 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F38 2117 0 R /F11 442 0 R /F107 2329 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7866 0 obj <<
-/Length 1686      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W�)�fL 	^��C.N&i뺶�'��(�BËBRU����F�e��d���-�g����{;oF/����!vb4p�K'�N�Lj�Z8wc�D���w�D���R�/��^^Mo���r:�<"0�
�
0FN���>bg��
��8r�jR��ԃ�̹
�>���D�ޓ����K0��W�ID��2٪�J�Q�H�Y�1�
��ȋ����cd\��y�)���Nw�YYK��
�x�ׄ�1�?_t���v+���M܀���B��?yj,�K�߬���Ե�L�U��nތ�;5�����5n�j�̌��+^󢩵�D{
�
�} ��
��UFѵ�.�3�
 M�1�!C��$�����1����{�t[���|�+Ҧ�t�^')��{��?��gp���(e|ሊ�

-��n��$��,�C���.
}��>< ����\�
?X�ۄD(�1@
!̨^s+�T�
2��!l�ItR�	�}�
^%���(v�%�Xr�2U>�fΠ
-
-	�NZV�g�X��
a��{���p�i�D��'㹤<�A�Dsa��T4�N�E�I�x��~�L�X�V��)�
k���)]�VW��#�����eO�A���.
m|)Y);�ƴŽ�N

��h��	e�%�@��K��K��p,j�٬3��3��A5����
���
W�RY%U�6�_�`~��C���K;�+7�۩��t�6�:�9
*~�iW��FT)�� �ɋ�h>)L��9췳��rSA:B&��dHB�[
-Y�v�5U�eY�M��g�gm}�u�*�M{f땪�bC�rs-��Ty2��P����1��jwq����cq�_J�W�X  E
��5�5�	��"Of�.��&��+��By
���'k��L�P3;�`�T��
<
-@�|��٥�Б�����(�)A4��~��Wo�����
0E�t
-�vf݉"?ӕ��!�#}��IZj�k��S��Y�b#���: ���m
-!eR^mz��i<_7F�N����
-�*�.U�X��I�A�uo���A��1�N�>�(�8�HO�[``n!Qe�;{��\4L���m�i�
`���q�޺��.	&}֞�z���"�k�
-�(��c����'O�~R<%��U��L�;s�f������|���K�����#�k�n/�ՌW8�?�?�Rⲵ�å�8�J
�~Њw(�v�D�;�HʹgK�<�"�Mn"�e� ���õv7d�/F#�9 I��(��	�^n�te��pN�
���ʹ��J��&k�z��n��љ��t�4�
"�?���^���U=JT!Le�V�<]���nwu�s[��O���m�ӡ����o,n 0<XH %�w�4X���Բ*�

��6C�-&���nf at F�����/HL�9���O�������Wu)}���9�E� jU�^�� 
�C_=鬯��/���n7J+!
K唨�
��P�OW��;7<ݥ��-֛�;aH��aXl�|7`�����9,�#
��B�OՋt��,�M���&?ձ ����N}�|�_[��@'`���%n�����M�s�x_��	cc���I�I2�,9m+\�=F�*��t
���c�v�c�~
��D��h�/G��Y_��o�[��J�B�9_����ұB|�F���ߝuD�3Wo�GA�-��
-endstream
-endobj
-7865 0 obj <<
-/Type /Page
-/Contents 7866 0 R
-/Resources 7864 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7840 0 R 7860 0 R 7861 0 R 7862 0 R 7863 0 R ]
->> endobj
-7840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.022 683.576 445.964 694.48]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 627.815 513.996 656.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.826 615.859 409.768 626.763]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-7862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.324 603.904 361.88 614.808]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-7863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7867 0 obj <<
-/D [7865 0 R /XYZ 89 770.89 null]
->> endobj
-7868 0 obj <<
-/D [7865 0 R /XYZ 90 721.073 null]
->> endobj
-7869 0 obj <<
-/D [7865 0 R /XYZ 90 578.217 null]
->> endobj
-7801 0 obj <<
-/D [7865 0 R /XYZ 90 555.874 null]
->> endobj
-7870 0 obj <<
-/D [7865 0 R /XYZ 90 555.874 null]
->> endobj
-7802 0 obj <<
-/D [7865 0 R /XYZ 480.093 339.235 null]
->> endobj
-7871 0 obj <<
-/D [7865 0 R /XYZ 90 322.35 null]
->> endobj
-7803 0 obj <<
-/D [7865 0 R /XYZ 90 179.267 null]
->> endobj
-7872 0 obj <<
-/D [7865 0 R /XYZ 90 164.538 null]
->> endobj
-7864 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F31 503 0 R /F10 504 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7876 0 obj <<
-/Length 1264      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6��+�j��
-ƒ  �O�I�f��]9
LA2�|�$G�
�HY�ݤ�ݮ�qq��
� o'�.&�7
-�����2P8�B<��Ep�����8<�
�*��gS��2�ޚE��No*]mON>|8
-M�
�b:�
����k7��,M�f��X�B��5��x?y}1�sB@;
�
GBI>����������]�)"���_'��4P*�q!��3��sӘ�n��4.�!	8>�'�̉I�G�ox<<����n��Ù a����q��O
&eQ7�N��v

�cZ��ʽ7�4���e���X��]�R�(�ND���,���:P�*���j��n�H����uc����S�
��=��P
"Hq�N�Y���T�gB��npcܳ2ɔ�p�d�j;Ӕ~�ͫM�uӷ���c�6����O��N��&Ϸǂ�8�h�ݕ�SC��j�ۢ�I�&:���E��R
B�Iuc:
R�S˪���+aT��K
�_Y���qd!g�D�y�X��(����.mFI�s�gM	�(�q�(���Ҡ����wk�wΈq��!�<��*��}L�r�ɉ��F����˴���� U^0��Y���Ձ4����"0@��~e3χK{D���~u�;�m���s��%(:#�4 �!�i	��(O�NL�o�)�;�]�o�o
*�_<����J ,�
 [...]
-endstream
-endobj
-7875 0 obj <<
-/Type /Page
-/Contents 7876 0 R
-/Resources 7874 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7873 0 R ]
->> endobj
-7873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7877 0 obj <<
-/D [7875 0 R /XYZ 89 770.89 null]
->> endobj
-7804 0 obj <<
-/D [7875 0 R /XYZ 90 659.478 null]
->> endobj
-7878 0 obj <<
-/D [7875 0 R /XYZ 90 645.336 null]
->> endobj
-7851 0 obj <<
-/D [7875 0 R /XYZ 90 464.039 null]
->> endobj
-7879 0 obj <<
-/D [7875 0 R /XYZ 90 449.898 null]
->> endobj
-7852 0 obj <<
-/D [7875 0 R /XYZ 90 241.658 null]
->> endobj
-7880 0 obj <<
-/D [7875 0 R /XYZ 90 227.517 null]
->> endobj
-7853 0 obj <<
-/D [7875 0 R /XYZ 90 77.486 null]
->> endobj
-7874 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7884 0 obj <<
-/Length 1594      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����f3CR"%e�
�"]�f��H
C�[�.�D7��ߡHɒ�8��tO���Ï��Cag�`����lt���N�BN�3�qB��^����s5v)�|��q\
 rXU>y>;=�]����l�yD`
-;D+`��8]}��>�q0r�����2ǣ.<S�r���B"D�I@��(�'S�1
_L
Ge�/&��t��2��M�˨�
����&$�}�'S���G��I�/ˍ�c1��URd�<� {
-�B�4����+�Ӂ
8� l,/+-�;q
��&S��SĻ8�|��6�>#�f�b�e;�j#�c���h!�;BS�:S��Z��&I�26�O0�
���
-3Q�xB� '�ҬяJ�
7��6�PmN�0 N�%g+a�&�W�L�A%�j
�f�H2�WI��ٱ�o݅W�h�o`�)F!����0~&ܢLHQV��{-�H�����Č�⡳�������J�M
-�����TX���\��e�zoS4�z�gRO$fe^�FE�F�X���
d4��[h�{%-��R��'�E
m*C{Q��hZG��%
1Ъ�ʐN%�M,7�0^Ϣ�
\�a�T���H��Va<��	���lJ	 ��B�
R�>��
y�o���e�J�}��.�Q,�8J�]�7��7��L")�$�
-En>ݔE68^��
wm��ԩ6�mA��CD�<�z5�꠩_��O�YzH�.˞�:�D��'iTU6�GA��#�Yaۂ#����6ڼ�6Dx
�������woO�>�}�(
\�~���:�8ms�Jl�i'��i���[���00O
��� Q�6���\L
'�o��s;D
f}B��OCF
�o��a���{|ӏ���A�FYY�Q�M�
TEij��I�y�ne�a
Xi!4� h�*b�I�Q�AkҦ�/�
|}e# wk���,>>��{ʓ_jw�6����Y����ˆ���'1�)MX=�^��l��b�e7����ZN�SjNk�G
D�v�6��D
-}�ۊ\j��M�����)w���i�B
ǧ��{Q+�BϠs��oI���WIݭPG��?Ȳă�������o`M7}]l�
���
3lـ^��Ɋ��]C3�Tm�5����f!����y[�����7TJ��}k�R�i+՟5W
y����iL���@�����
]���h��K�
�Qu��`&�z*��3��r�@M�>���5�t�����JG������8�R��,���|�����Bu᷊�
COOWE}0Y��u�H�@��+0�uk��rx{^����P̡��]�m�l��pq�H�W�l��2S�(��LiP[� ���%�.���
���A0~]&
=a�Xn
��̗J�R�8��E_89A$�[�15̇>����N�e�:|'���?�Rp_�R���x�&Z��`��i	d������}����7'8�+���HC(B��`Q�X�
T���&��I9��W%�'����E��af�^_�*(��
1���*��$����x�8���QMl
��ono�+)��GG���(��&O�%J��z�
�%ߎ�r�_J7E����S�c�d����/,��
-endstream
-endobj
-7883 0 obj <<
-/Type /Page
-/Contents 7884 0 R
-/Resources 7882 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7776 0 R
-/Annots [ 7881 0 R ]
->> endobj
-7881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7885 0 obj <<
-/D [7883 0 R /XYZ 89 770.89 null]
->> endobj
-7886 0 obj <<
-/D [7883 0 R /XYZ 90 721.073 null]
->> endobj
-7854 0 obj <<
-/D [7883 0 R /XYZ 90 561.836 null]
->> endobj
-7887 0 obj <<
-/D [7883 0 R /XYZ 90 547.715 null]
->> endobj
-7855 0 obj <<
-/D [7883 0 R /XYZ 90 412.552 null]
->> endobj
-7888 0 obj <<
-/D [7883 0 R /XYZ 90 398.431 null]
->> endobj
-7856 0 obj <<
-/D [7883 0 R /XYZ 90 180.685 null]
->> endobj
-7889 0 obj <<
-/D [7883 0 R /XYZ 90 166.564 null]
->> endobj
-7882 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7893 0 obj <<
-/Length 1568      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~���S'CR�.�6`I��]�fk
-�H
C�i[�,y��$�~�7Y��$+R`X�DJ��|��$ag�`�������,�N����‰��� fs��%���#c�bJ��T�dv1��-󻕘W��Mv]%����۷��GS�e1�(��i�Ե
�!B=E*��0�]�����ד����'����pFN��\}��
n�v��8rnԢ�è��y?�}�M`�`�Q�0fNH�8�A����hDU+7���� 
3$B!l�����,�l��|tƃ�
J�bx�V_��N�ڦF�Z�QS����6��m�gc2\hpb�MϜ��|jj���M.n���>o�󝷙�^�J�ܮE��;�I�,��F����|YVY�Zc]٥2��\gI����)��5�
-vPP/`
9
X�.lE��6l%���#��
�Ǒ#B=a4wQ T��0r?�� -�]��Ap�S��+�J���u(/���6�A1T��oE3��8-���S�=y1{�J6c�!�C(��@(a��c��D�#�U����7�m����X��v����=m�>�4b:�V�m�7�������d��.
}`��~)~y�qv������?_]~
�
�(�k*Dƌ�Ɉ��ʊ<+�
.n7y�f�g����
�#B�I�)H��"��v�� ������4{��m8y���D�jO��#!
-(��
��&a�+�P�Yc�՛$5�y$Sgv�:��T
.�(��aR̍���u)�
�D���>O�O�o��?�F�)�.��y	�8�����]�"n�_�؞��*����
���
�
�&8�74
�z#���&Y�E��
���D����DF�?���X�.)�1�F;��2�R
 c
>Vq0�( ��迬8�S(�}`�sPyx����o�
�Yc�Y�aWy`�\�.�� wN�� y�м �O+@�y�X�� ��MKk���'ա��W�|�ў����H���(�_ˑh���
�F����>��ѳm�6��e�I�-;*�_�!d?���Rz��W�l����#�l�-f�6Ie6�#�
 ���k���2<;�O[�eY�(ۧ�!�aĀ�z�Я$3 at it�a ��dxz
-̡LA
}��
��<��hϧ8j�������h�Q�<�f��p|�H��.P`�5�LU��٫y�K� ,�/G����1{D�䩃l��xȎ
�Ͷ�@��i�P��Fr��!����t����)�C�H��b�r�=�q�M�j
i��M�Fv�d����̏��bʰ�%ɳ�,�
��C�1G1ݱ`UN)woL�ec�f�y���]�
(|���t����2l���
<
x����
-�A`촮կy�3խEYY���Nw�;oS��R���C���\�bQ��rV,�-H"��q�N2t&�M�u`P�R�_u�q���&G�U���?+��G�gU�U!ρ|��̏c k
G�t]H"�:a�V(�Ԩ��|�E�Ôs���<)�V
�,|���}��;�FCT�5���a��&H
�_�
�6Q���K�%��-�WM�9>:���Ai��E��P�
A��ۣc�w��H��ui��ps������r���
-endstream
-endobj
-7892 0 obj <<
-/Type /Page
-/Contents 7893 0 R
-/Resources 7891 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 7890 0 R ]
->> endobj
-7890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7894 0 obj <<
-/D [7892 0 R /XYZ 89 770.89 null]
->> endobj
-7857 0 obj <<
-/D [7892 0 R /XYZ 90 670.245 null]
->> endobj
-7895 0 obj <<
-/D [7892 0 R /XYZ 90 655.951 null]
->> endobj
-7858 0 obj <<
-/D [7892 0 R /XYZ 90 476.943 null]
->> endobj
-7896 0 obj <<
-/D [7892 0 R /XYZ 90 462.649 null]
->> endobj
-7897 0 obj <<
-/D [7892 0 R /XYZ 90 277.774 null]
->> endobj
-7859 0 obj <<
-/D [7892 0 R /XYZ 90 255.463 null]
->> endobj
-7898 0 obj <<
-/D [7892 0 R /XYZ 90 255.463 null]
->> endobj
-1461 0 obj <<
-/D [7892 0 R /XYZ 90 70.744 null]
->> endobj
-7891 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F11 442 0 R /F104 2226 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7907 0 obj <<
-/Length 1472      
-/Filter /FlateDecode
->>
-stream
-x��XYo�F~ׯ P %�j�'!(��IѴqU[}�
��6Q
*E�����5IQ��h
�9;���
��{{?�~\��>D�KP��[�y	�"� �,�}Fip���0F$	�^~�������J��ޯf�la�E��)g׷��`���Kb�I*=N�/����3<҅�A;e`J�y���8����
�ӦL�ˀb�.�d֤�_��M�</˟�뫺طy]�/�L.��]]��&ͫv�X
�Wm�ߴ��ł{��
�7/�l���Hu��{��w�(G'����
-��
<o�
���N^5kv3-Z�Ti�T������[e�s7S6��u�#�UD{Za0"B!F�o�jS�3�?���`(��ذ���! Dw`�-��Ä
&P
����VNY�$B�P�EI�B��
�lӼ����\�6M�U�p<6.'��ǝ���`����;�U�j���
ܳ�;����
?i,ۍ{Y�&m;'�5u9R��.�Z)��W���i!��
�<"�bp� BQ��
�bx�z.����98��0a{�Zr*�u�2c]
)�?@E����!8PB
�C�9���:%�E(���G�+ҝ�>��U�P_��"`V �u��4V��a~8=9�'
6�Yn�Z��1��n���NOK�>���������M�9teu	��,���Y�:y��\�c�'Y~����J�f7��(�
��
L�j�m�t���O
�<�Ꮜ�u�D��C��NQ��4"���.��a�!��Ds ����N<�����|�\�3�7a���2}�1(��N��o2�K�yiW��K�վ(,�CF�[�A�_�k����zbb�C���D6Pq
����C��� �����(
қ{����<��m�E'�@�pD�W�Z^�%`�hu�g,
/Ӊ��N�奩|&���I�I]�Mq��KJ|{�m:�j
�=i
-����T���E�4F��0L�m��ʍ��D
z�F��ʍ���F-���r�ֺr3�ad��
�Z]����
��d�Z�����c��!;�U���l�>����R'��ų	�̜�c�1f���r
L�^+@�m� ޠc��4�HP��ˉ�@�Ȉ�� s�Qì�] �_Y��M L��v$	`
�Co��hlxXR
��%�TQ�$t��4�r\�x��1���K�O&hω��
��Oq$�j��ߟ�?�L�_�?|^r��GEzU��c)���$f���OMD�/���%�� ]���
��������V�����V�xH}/E]�����P��Z��ed�=5r��C��t\(�!��LzD&}���tr� SB!�\
�r�WE^����?\�P+}��
`8\���T~p^�
�\csQ��i'3��1�?v��V}iڏ�Oi�O��5�K��9�b��^
_�.3����/3��zJ��
έm�]��===���|۠�=������I!
EN��2)�ƚ�W�X�4��A����E
-endstream
-endobj
-7906 0 obj <<
-/Type /Page
-/Contents 7907 0 R
-/Resources 7905 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 7900 0 R 7901 0 R 7902 0 R 7903 0 R 7904 0 R ]
->> endobj
-7900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 403.913 174.015 414.444]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4) >>
->> endobj
-7901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 363.971 197.875 374.875]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) >>
->> endobj
-7902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 324.777 181.763 335.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) >>
->> endobj
-7903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.823 192.216 268.244 203.12]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-7904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7908 0 obj <<
-/D [7906 0 R /XYZ 89 770.89 null]
->> endobj
-282 0 obj <<
-/D [7906 0 R /XYZ 90 721.073 null]
->> endobj
-7909 0 obj <<
-/D [7906 0 R /XYZ 90 638.121 null]
->> endobj
-1462 0 obj <<
-/D [7906 0 R /XYZ 90 543.461 null]
->> endobj
-286 0 obj <<
-/D [7906 0 R /XYZ 90 536.415 null]
->> endobj
-7910 0 obj <<
-/D [7906 0 R /XYZ 90 422.87 null]
->> endobj
-7911 0 obj <<
-/D [7906 0 R /XYZ 90 422.87 null]
->> endobj
-7912 0 obj <<
-/D [7906 0 R /XYZ 90 343.854 null]
->> endobj
-7913 0 obj <<
-/D [7906 0 R /XYZ 90 285.923 null]
->> endobj
-7914 0 obj <<
-/D [7906 0 R /XYZ 90 224.559 null]
->> endobj
-7915 0 obj <<
-/D [7906 0 R /XYZ 90 167.941 null]
->> endobj
-7916 0 obj <<
-/D [7906 0 R /XYZ 90 143.411 null]
->> endobj
-7917 0 obj <<
-/D [7906 0 R /XYZ 90 143.411 null]
->> endobj
-7905 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F21 2356 0 R /F79 502 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7937 0 obj <<
-/Length 1649      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~��0�����E���u�Ю]�&�
�%��[u����
J�l˲�^���Rȏ���
�������ǻ��K�-yu����aK�
���և1��Ɠ)��o&��"�g7��Y�Yɰ�go�y����wA�/�ԏg�+?��Ow��^�O��
G��
��vɞp"�͂�
�͂�Cx�e9�R�̣c��_���{��ń�c��y��e
-s����� 
�Hk��k���'l������\k�,J,�2x�����޵0wz&�J��+-KZ�q���a
TQ���Y.
�ʊ	�c�D�)�%�!r��Yɢ�V�;�:6"�3f	I�dO4b#��L�� 
q�+:�����Z�h�f�Z�Dl��ք�4	��NdZ�[3,�͏ji�[߮���/K�*��P�,��l�,��	��u�.�O1���n|o�����k��N
��R���Ô=�<F�U��c�s�
250�#
Ar!fQ�{
9�
Rkg
�h��n�r�Cr�1H�^6��
���bb<m}NA�
v 
|�
��h�\�r6و���Js����	�
Q��� �á����7�.�@�͂]_�ဇ]�9����@6a� C��,pS��(0iJ��M.˽ �s�&C�ӁYX(�]��Z����}���T
��
A
��ݳ�_�=����,�s�6σ�)X�#f����Ym䖜pP���
��+XG�xվ���
������3uW�
���F]r�	O����2�Ŭ�s,�E��d��ɀݷ������,�TJZ�?�L�Z�
jKrt��\�qTER/�R1�2��/;�O�!
!nC�p�C����\��N��y1�|i�p���_Q4
�$�cOl��t�1����ET�VY�U<����P�M�)���:�E���.:���޶Ʒ��o_�z����Yy�(�kp��)����B��ـ�6�.�6%�P6J �w@d3�Hpq
�/����YY�״xR>����
-y
G�3
M������� ����"J����7�rȨ�q�K�Z���
Q➛$:��T�
��.��)E���J�:�.n�=8f���
H}،�3�?ϲ�
�Ǚ��}4@��
�7p���C`V��|
��@
0Dlv��=��a�C�3
�)�|-D�
-Sh3B����� y�*��bs��<�$�C5Ao��f����la�A
�˔9&0�FQnt��Aֈ
B�Ǜv�2��
-��Hˁӄ�epU��;;�D�{*� �e���Cj�;�

?.�=����Џ��Pa�����h0��d�fVF�ȡ��٪���V���|S����b������D{t0M�
16]1>h|[��`�yd.
Z�
$|a�v�_�
�����n��"��8��=����
�N:���c�yܾ�2���W$�WatV���+�\͂,���s~�`t:��I'�9&����!O0��Ĺ�;6�(@PԜK�<�BY���ʧ�e/�h���P��v��f�ց��4��$��as(�;���]�&ss{wm
�=�w�p�x��/����l_�-f��G)��UY�}맵ɻ*h�((Y��(�8��X҅�V��k5��2�~
5wv[y�+�
cVU�__]��k��N��@Qu������
-���!t�>&M3����} .�
-endstream
-endobj
-7936 0 obj <<
-/Type /Page
-/Contents 7937 0 R
-/Resources 7935 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 7918 0 R 7919 0 R 7920 0 R 7921 0 R 7922 0 R 7923 0 R 7924 0 R 7925 0 R 7926 0 R 7927 0 R 7928 0 R 7929 0 R 7930 0 R 7934 0 R ]
->> endobj
-7918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.857 499.398 243.473 510.302]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) >>
->> endobj
-7919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 459.801 155.464 470.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-7920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 459.801 221.894 470.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) >>
->> endobj
-7921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 377.293 181.845 388.197]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) >>
->> endobj
-7922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 337.696 181.845 348.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
->> endobj
-7923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 298.099 154.727 309.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) >>
->> endobj
-7924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 258.875 176.505 269.405]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b) >>
->> endobj
-7925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 243.509 450.955 253.415]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
->> endobj
-7926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 207.946 191.718 218.85]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 207.946 288.852 218.85]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120) >>
->> endobj
-7928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 168.349 191.718 179.252]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-7929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 168.349 303.079 179.252]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc) >>
->> endobj
-7930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.635 129.125 188.679 139.655]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430) >>
->> endobj
-7934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7938 0 obj <<
-/D [7936 0 R /XYZ 89 770.89 null]
->> endobj
-525 0 obj <<
-/D [7936 0 R /XYZ 90 639.397 null]
->> endobj
-290 0 obj <<
-/D [7936 0 R /XYZ 90 632.333 null]
->> endobj
-7939 0 obj <<
-/D [7936 0 R /XYZ 90 516.84 null]
->> endobj
-7940 0 obj <<
-/D [7936 0 R /XYZ 90 516.84 null]
->> endobj
-7941 0 obj <<
-/D [7936 0 R /XYZ 90 479.265 null]
->> endobj
-7942 0 obj <<
-/D [7936 0 R /XYZ 90 396.638 null]
->> endobj
-7943 0 obj <<
-/D [7936 0 R /XYZ 90 396.638 null]
->> endobj
-7944 0 obj <<
-/D [7936 0 R /XYZ 90 357.16 null]
->> endobj
-7945 0 obj <<
-/D [7936 0 R /XYZ 90 317.563 null]
->> endobj
-7946 0 obj <<
-/D [7936 0 R /XYZ 90 277.966 null]
->> endobj
-7947 0 obj <<
-/D [7936 0 R /XYZ 90 227.41 null]
->> endobj
-7948 0 obj <<
-/D [7936 0 R /XYZ 90 187.813 null]
->> endobj
-7935 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F21 2356 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7991 0 obj <<
-/Length 1669      
-/Filter /FlateDecode
->>
-stream
-x��Yms�6��_�'מ9˒@t��4o7�^��������C0��������|�`'��3��
�"����Y	k
ko[��V�\`�B�\�iքa!���X��ѩ��:|���D���Vz���jxv5
�g��a���GX#�C�Ԝy��W����;
#�2�ej4�
��u�
Z�p6\
�1"�7!�5�JY�������$�Ƿ-�K�aܹv{��l4�ڡ[z	L(7D�3�=��Kg��]?���*
�
1�f�~��["�;�n�������N���̅w��k��z0i�15�o�?>�tu�����
�l�@]R
޶87���

Q$�
��7��
e�c���{7�܉]u'��՝��J��
d���5�f�q�:�
��
�o�N�,�
�
�f�%�{�"n�$��̸L�w Kv�v����C
�R�9	��,��KV���
Ǖ�����oW�G�4
+(qr}����_���A(/�QW��oG�N� @��I����
���$�%0�/�if�&�� I�
�s�,�Q�
�Z��,J�8bf^�d���<#�
-�F�����;�ܞ�0`j�
�#�1t�	��Y���9��B�:�" �HZ|S�,e'$�����h���uj�o����dw2�G�� �J��b����	�DY�d%2\�*S2�0����
l?/�i� �
-_�h��m�LJ�cH�i�g�a����P��sj�Viv�
���`C�V�j;qS���X�����t��o�Nj,��K�5�59ܸ
-2f"��5$N\������P#E�+�迊�$Z���֢6�A�ٵ�e#�_���#�o��
��Hh���1��O�6M�t���4}n�uLv�	?4K�&})
}I#
(�>���
GP�ܴ�i���LJ_?P
N�0�G�Я�5%yy
��L
�<�
-�兟�|�RH�Y�o&;�}e��#f��d���d���>
j�%qx�����f&�������.��I�-�m�u��I���
�n�)�j������
I�*gk#L�?��E޸z̓o
�)���D�w(�Ծ+k2�����-wr��w�O��6h֎O�ΌB�Dm��@�����@����U�Ѿ�c���fu
�XW�"�Ͽ���ނ��4S�)0�WV����'�r?zB�k2���%JG\�@��0ś��r>���O��z:���7p������7���@
o��ԫR�T�����Ǖ
����:/7p�l���`�y�L;�nU: �=E����S�7l��Y�*�3�|Iہz����
�"��㋩&6X�a\�?>��/���%ӌ�03�Ie�`�H�{l��R�Dx3̧R���ka�)�X�0�jy�z�OIL�`
W,l���h��Җ#�e֞�{
I��:{:G���r�QSǗ���͎���#7u�m�w��U�ݸ
���j�9�߸/�
j�`{/l5Ǔ�
�<� [...]
-endstream
-endobj
-7990 0 obj <<
-/Type /Page
-/Contents 7991 0 R
-/Resources 7989 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 7931 0 R 7932 0 R 7933 0 R 7950 0 R 7951 0 R 7952 0 R 7953 0 R 7954 0 R 7955 0 R 7956 0 R 7957 0 R 7958 0 R 7959 0 R 7960 0 R 7961 0 R 7962 0 R 7963 0 R 7964 0 R 7965 0 R 7966 0 R 7967 0 R 7968 0 R 7969 0 R 7970 0 R 7971 0 R 7972 0 R 7973 0 R 7974 0 R 7975 0 R 7976 0 R 7977 0 R 7978 0 R 7979 0 R 7980 0 R 7981 0 R 7982 0 R 7983 0 R 7984 0 R 7988 0 R ]
->> endobj
-7931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 707.957 197.363 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) >>
->> endobj
-7932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.062 707.957 290.706 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 707.957 513.996 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-7950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 661.443 197.363 672.347]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a8906c6b7e5b785bd457641007d1359) >>
->> endobj
-7951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.198 661.443 312.466 672.347]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.112 661.443 423.578 672.347]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 602.973 197.363 613.877]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac5f6c7896e64b8750e2cd9729c19d66e) >>
->> endobj
-7954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.468 602.973 300.736 613.877]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.977 602.973 429.443 613.877]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 556.459 197.363 567.363]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) >>
->> endobj
-7957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 556.459 302.527 567.363]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 521.9 197.363 532.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) >>
->> endobj
-7959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 521.9 309.153 532.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-7960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 487.34 197.363 498.244]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356) >>
->> endobj
-7961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 487.34 300.844 498.244]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-7962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 452.781 197.363 463.685]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) >>
->> endobj
-7963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.572 452.781 295.502 463.685]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-7964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.425 452.781 419.891 463.685]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.312 197.363 405.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac720d2c0875eba7d87a4068876092025) >>
->> endobj
-7966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.851 394.312 252.452 405.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-7967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.274 394.312 298.001 405.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-7968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.285 394.312 426.751 405.215]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 347.797 197.363 358.701]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) >>
->> endobj
-7970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7 347.797 244.954 358.701]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-7971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.234 347.797 349.7 358.701]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 301.283 197.363 312.187]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc326b7c8687b685c42817f7fec425e0) >>
->> endobj
-7973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.394 301.283 279.555 312.187]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-7974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.014 301.283 426.48 312.187]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-7975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 254.768 197.363 265.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.103 254.768 248.909 265.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) >>
->> endobj
-7977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.246 254.768 348.515 265.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 218.527 167.466 229.431]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e4f3b53b4dd4f7f57a13df638b162e4) >>
->> endobj
-7979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 218.527 243.55 229.431]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-7980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 182.285 205.112 193.189]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) >>
->> endobj
-7981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 110.575 190.738 121.479]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 110.575 261.85 121.479]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) >>
->> endobj
-7983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 190.738 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-7984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 74.333 262.159 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) >>
->> endobj
-7988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7992 0 obj <<
-/D [7990 0 R /XYZ 89 770.89 null]
->> endobj
-7993 0 obj <<
-/D [7990 0 R /XYZ 90 271.714 null]
->> endobj
-7994 0 obj <<
-/D [7990 0 R /XYZ 90 235.472 null]
->> endobj
-7995 0 obj <<
-/D [7990 0 R /XYZ 90 199.231 null]
->> endobj
-7996 0 obj <<
-/D [7990 0 R /XYZ 90 125.498 null]
->> endobj
-7997 0 obj <<
-/D [7990 0 R /XYZ 90 91.279 null]
->> endobj
-7989 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F11 442 0 R /F97 1185 0 R /F107 2329 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8044 0 obj <<
-/Length 1536      
-/Filter /FlateDecode
->>
-stream
-x��Z�o�6~�_��M�?DQ�=�X
t�%�^��`d��&K�$�����DJ�\�ib5�
-?��x�}�Ǔ�3s��z���h�J`G"����q$v�/���y��|���{��|�&�
�n�l�z��ɯ�u��͋o�RͲT%�˹Zj��՛�+B��S*QX������� V�~3�džD��f�Yx�����(�`LRW/��*���7:�H��4�!&w����W�F�`�X8�-F�>`g
-�o
��
�u=i����g�\�~a���A\:!x���>�
��q�N_�r���

��
C�A
��o�Q��f�w&����%��&H`�L}�13���g���Eϒ�!�fRl������:+�:_Dž�4d��=&\i= sj�
��̂�z伫'���,p����i��ig��Ѡl�g�Q�
�<
"l�8i�C
v?ǯx���3�%�~�Q�B����Z���݃���2K�2WqZN.7E���V!��}���
���&���E�pF
-EЕpKl}Q_v�|�w�_�W]�
��^
-9(W>3�c��S3���x����g�Ry]?�%6�O>�Y�9�e
�08��Y��~R
�7�m��O���>�%�?+��妳t맹U�qQ�ڈ�z�˭��R�ܻ�HJK-}"j;���I�&Y������q�G�8��0�]�az�q���8e�l�C�m���˹Y����
-�
�[#���<��2���0�\���U-Tg�=�hyX�X�V��Y�
����2�^n�n���J��7�c�L�$����ޭ�K�����Mm*��*K�͡�EH��j�f�6�A��ɦ�G,|����HT����h!��{
��frRԳ+����h��X�	~
}Q�I+/r���b2�����D�ɳŗ����UW���fG����$ ���(s�o��&0���ߣ����y�
-j�ɅN�����UOngO����*�;��
-08�u��|���<K��A��\k���@,DL�!Ne
q��n��
{	bA�܋��^E�n�
�u���e��~q�N�:�, h}h�5�g����@m	�eGi�~.m��:We��J�,wV��+���e��M]��:��3A��^u���ڊ_S��<�P��3s����HTM��]ȇ��Jc�r����
}�����@���p�_
-�PYG�.���Fvk��I]m�c(�Pz��ҩ��}��h�a$�ثl at b�l�%�,�TR�ђ�8�< ��*-[h-n_ӻ\]��>�j˹[
U5���Tѣ� �g?�cq��L�e���p��a?��h���RH�*�;�2�F�o�|���#�W���4��v������B\���:�n�ZQ��Ӟ��/�[��
��~�P:
�&wĽ�͠:{�'~R����
�Է���@�p����y���0߼�d���|a�y���j� 4_�(t��ǹk!�M������ds���� �O�t��3�R7�4���4W�TR�[��P ��
�,�/���z��Au��Q\���d܁q'jB|$Z#7M�_d�n��E݃�����,��
-endstream
-endobj
-8043 0 obj <<
-/Type /Page
-/Contents 8044 0 R
-/Resources 8042 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 7985 0 R 7986 0 R 7987 0 R 8008 0 R 8009 0 R 8010 0 R 8011 0 R 8012 0 R 8013 0 R 8014 0 R 8015 0 R 8016 0 R 8017 0 R 8018 0 R 8019 0 R 8020 0 R 8021 0 R 8022 0 R 8023 0 R 8024 0 R 8025 0 R 8026 0 R 8027 0 R 8028 0 R 8029 0 R 8030 0 R 8031 0 R 8032 0 R 8033 0 R 8034 0 R 8035 0 R 8036 0 R 8041 0 R ]
->> endobj
-7985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 708.28 390.082 718.186]
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-7986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.115 202.922 696.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-7987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 685.115 248.58 696.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) >>
->> endobj
-8008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.399 202.922 659.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 648.399 296.181 659.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77) >>
->> endobj
-8010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 611.682 209.547 622.586]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 611.682 261.831 622.586]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) >>
->> endobj
-8012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 574.965 209.547 585.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 574.965 309.432 585.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b) >>
->> endobj
-8014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 527.289 180.496 538.193]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) >>
->> endobj
-8015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 527.289 280.102 538.193]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 492.492 213.153 503.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a) >>
->> endobj
-8017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 492.492 312.759 503.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 457.696 213.163 468.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2) >>
->> endobj
-8019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 457.696 312.769 468.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 422.899 205.692 433.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 422.899 261.312 433.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) >>
->> endobj
-8022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 422.899 332.156 433.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 388.102 205.692 399.006]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 388.102 261.312 399.006]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8) >>
->> endobj
-8025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 388.102 338.781 399.006]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 353.305 205.682 364.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-8027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 353.305 261.302 364.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586) >>
->> endobj
-8028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 353.305 330.462 364.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 318.508 183.824 329.412]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) >>
->> endobj
-8030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 282.165 192.272 292.696]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) >>
->> endobj
-8031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 245.448 189.901 255.979]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) >>
->> endobj
-8032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 208.731 193.229 219.262]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) >>
->> endobj
-8033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 171.641 241.935 182.545]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5) >>
->> endobj
-8034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 134.924 238.459 145.828]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) >>
->> endobj
-8035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 98.581 187.689 109.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) >>
->> endobj
-8036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 98.581 226.693 109.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8045 0 obj <<
-/D [8043 0 R /XYZ 89 770.89 null]
->> endobj
-8046 0 obj <<
-/D [8043 0 R /XYZ 90 702.18 null]
->> endobj
-8047 0 obj <<
-/D [8043 0 R /XYZ 90 665.463 null]
->> endobj
-8048 0 obj <<
-/D [8043 0 R /XYZ 90 628.746 null]
->> endobj
-8049 0 obj <<
-/D [8043 0 R /XYZ 90 592.029 null]
->> endobj
-8050 0 obj <<
-/D [8043 0 R /XYZ 90 335.573 null]
->> endobj
-8051 0 obj <<
-/D [8043 0 R /XYZ 90 298.856 null]
->> endobj
-8052 0 obj <<
-/D [8043 0 R /XYZ 90 262.139 null]
->> endobj
-8053 0 obj <<
-/D [8043 0 R /XYZ 90 225.422 null]
->> endobj
-8054 0 obj <<
-/D [8043 0 R /XYZ 90 188.706 null]
->> endobj
-8055 0 obj <<
-/D [8043 0 R /XYZ 90 151.989 null]
->> endobj
-8042 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F105 2455 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8107 0 obj <<
-/Length 1772      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�8�_�S�Ċ$�����\ۙ^���=��
�fj��#�ﯿb�v���$K���o�E`m�a������kk
q�Z��T�X�M��W��E7�5�v�V3,n������ׯ>\_��F��Gw#?a���
�
G_�a͇�o5�
�h�bR��Ԁ�
�j��+[p�&f�l"�F��	A��|��ʫeڗ	�X��ㅺ/�Ifʬ��
��<�ӛi�7�m<&L���Cqr�W̰Gi�-�]	7�y�c��4
�M֙�j`
-%��V]t�
�9�˔.�Y&�&�@��t�g��I�����]�m`D�M��$夦H��&��"7��A
-��~�Ua�ȡ��_E:�@(5�dl2=�v��
�9*�\W�)�̯m�!
�T�?�6�b���Z��
F�jو��	�瘈��xL��:����(c��C"�Z?�X$|0Rv
,��C�G�A��I��6��X?�hX�e,�2'���
D��
-L��M�)�
��KI���XQy
�eZ@� �X���Yy�G�xBŎٓA�td�A0P�*��X6
�lv
,7�HK�Q��.��ֶ]
��1���%�\��Z.K]���~4�
�l��h�|.uZRga�j
x��W�2�+��Z�\⹩��� *��a�s�O��"�vʴ`��3�?�B��(�(�{G#"��Y����C	���D@�ЦRs��8��r���r]˳�
��Z�V
-s�G����U�aC̐ElE��Atȩ
Q;
rc
��~:�IC�Ф� �΂h�I�%�R��C�������q���$4�Kh��Иy,B3�\�[
?Fh�a>��v�<Jh��8��Cf����^.
"	�g��N��3��jR��VR�D<'�ُx���Ž1���Y�62
�(�G��O�DO�]."����;���AoF���Ķ�
�Oh-1隣B�����|�(�W��"�O�$�{9�]tZ,'�[\��?;�R�
s ���٠W�������WU?e��+.Řb�G�ʌ!v��p7���\�(Ӻ%Y
���d���G
��&��\������(� /m;�CNE�I]p�T�fO��P^���E��[ـ:�CI���UTvVu��m<�0~��B��Ÿ<�4�uF���d9?16U�x9����ts�Q��b���HV�w�������!jA*3���k��π'��`K�i\-]OL�
B�Y(��  ��
��F����Ex
����<�2X�VO᪍潫Nt��~0]?xȏ^���H�j�.����a�ly�a������q�w�����"���3�����N!g^�������w�O��/��i
�e�*
�)o�W�Z�O
�o&d��7B�4a�Re�/$
#	��"P;6}�s4
-)J��n� )=
-�n�J��*=�6n
fUt7���slB�G���瀉�4�l�ď
�D���[�A�zT�	P5�qkM0��s�/M�c�����,�
�8��:��y�#�'n
T���yɱm��֝���n E���w���iK�N7�x�68c�����	Տ�|(I��N����?������E��<�5ȴR����ܗZl��3�C���CP�
���!'�
���{�b����V���"�pJ.�ٌɯ�W�����S�$TL�)^���O���6q�����/c���(��UݲDV�Yo��W1"��-h<1�e���U>�w��%�C�F;62���<˖�^\�V+�(��e���b�\\���5)��o;�i���0N6�=�
]�17�A���
X
-endstream
-endobj
-8106 0 obj <<
-/Type /Page
-/Contents 8107 0 R
-/Resources 8105 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 7899 0 R
-/Annots [ 8037 0 R 8038 0 R 8039 0 R 8040 0 R 8063 0 R 8064 0 R 8065 0 R 8066 0 R 8067 0 R 8068 0 R 8069 0 R 8070 0 R 8071 0 R 8072 0 R 8073 0 R 8074 0 R 8075 0 R 8076 0 R 8077 0 R 8078 0 R 8079 0 R 8080 0 R 8081 0 R 8082 0 R 8083 0 R 8084 0 R 8085 0 R 8109 0 R 8086 0 R 8087 0 R 8088 0 R 8089 0 R 8090 0 R 8091 0 R 8092 0 R 8093 0 R 8094 0 R 8095 0 R 8096 0 R 8097 0 R 8098 0 R 8099 0 R 8104 0 R ]
->> endobj
-8037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 707.957 228.895 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) >>
->> endobj
-8038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 707.957 333.482 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 672.888 229.503 683.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) >>
->> endobj
-8040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 672.888 334.089 683.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 637.819 187.264 648.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb) >>
->> endobj
-8064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 637.819 293.213 648.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 637.819 371.148 648.723]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 637.819 455.727 648.723]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 579.836 187.264 590.74]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) >>
->> endobj
-8068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 579.836 293.213 590.74]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 579.836 371.148 590.74]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 579.836 455.727 590.74]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 567.881 220.058 578.785]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 521.853 186.348 532.757]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807) >>
->> endobj
-8073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 521.853 293.772 532.757]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 521.853 373.367 532.757]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 521.853 456.837 532.757]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 463.87 186.348 474.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) >>
->> endobj
-8077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 463.87 293.772 474.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 463.87 373.367 474.773]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 463.87 456.837 474.773]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 451.914 218.404 462.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.772 405.886 187.446 416.79]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04) >>
->> endobj
-8082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.73 405.886 292.979 416.79]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.431 405.886 370.447 416.79]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.745 405.886 456.762 416.79]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 405.886 513.996 416.79]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.305 159.485 404.835]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.603 394.305 240.62 404.835]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 348.277 161.677 358.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61) >>
->> endobj
-8088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 274.062 205.752 284.593]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81) >>
->> endobj
-8089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 274.062 276.595 284.593]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 238.62 209.627 249.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835) >>
->> endobj
-8091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 238.62 314.791 249.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 203.551 248.202 214.455]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) >>
->> endobj
-8093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 203.551 329.845 214.455]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 168.482 212.377 179.386]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) >>
->> endobj
-8095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 168.482 289.846 179.386]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 133.413 216.252 144.316]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) >>
->> endobj
-8097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 133.413 328.042 144.316]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 98.343 254.827 109.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) >>
->> endobj
-8099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 98.343 343.096 109.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8108 0 obj <<
-/D [8106 0 R /XYZ 89 770.89 null]
->> endobj
-8110 0 obj <<
-/D [8106 0 R /XYZ 90 365.104 null]
->> endobj
-8105 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8168 0 obj <<
-/Length 2463      
-/Filter /FlateDecode
->>
-stream
-x��[ms�H��_��
����� �{��Km�no�6{�K����H�N
`;�_��3�8&vr�O4�tO��t� �[x����߮���F�SD�<�枢^("C8�y|FI at GcF)�ߍ��b�Lލ8����Fϊd�Sz]$����i�,�,YN.o��
�v���[�Z�9W$
#��H��
�� f�A=�G�"L�z�_�Ix�L�r4撂0�}�Z/�J�+��\#�:��%����P��Wg�=c �z�.�$Q�MWg~��
.��Q"T�ݛA+/�~���ٿΨ[a�^i��d	ᎈ1�e?r.���mއ����3����Q�p��7�КB��gzr�V7�i��U��Y�+�~����E�9(��İ�?�/�Dy1��$
�7f�ı���Zj���L���
���
-N?bүU8���\%�����C{f\dV�r+���w�e�T7�ܔ�^u��!�1�Ml�i��Y�i�paKۺ2�gM��P�cQ at B7�ޤe�M���I����D�X�ġ�� $���Eqk ���; ��t�Y��x��w�.&�lf������
-;�n�"b��K��6�����
��&���aW~a�k¡��i��@� ������ ����A�� ,x0*���YB�$�і {c2&"�
����aP�
��YÎ��p� ��#���ir��� ,r��{��ַ�¸z�=8`�Y�٬HљӤJ�f�=�S"�����I�w����r����'���:1݅��,]�t�?�
%,n`s�}�	���!�A�
|hp�E����ݬd[���V����X�I
ΡDI��8b�*�
-�ȸ��rr��["��rX�
�8
.�>X@ʔ�l{�
-T��
-cR=�c�
.���cX
/X��a���0R@!�Z�9
��Q.�!�xi-1���
w b{OD&%��H�<��p�)�bG
H��(�w��]�'@�g�~6O���j4,�	��p�p���=ڮV$n�5haH�NP%:E�I6��
-	U3f�#EB=�yA�ih�!){����:��f_s؉�$��U������˺tN��(� �����ߝF�|�dy$lYC!e�
ƭ���贸����ccv��'[�Oɴ����yw�����^3٫�)H6�0�5
��CHh��CL�
���5�F8xKf*�����[igg?�'l[{?���N�;+h��.Xm�-W���1�~���eYٷ��FC�
v��y�,{gUfm:w;��`(�b>
-1#���o
�"����c���
Ħ�����)
��)	B1L��L
�_
�i�v��
�����X��OJ���f}��*	��0�2�S�C��f�9m���u ��U��{�+��c

�
�1�3jЧH�t���\f��{���R�S��6C;U��r;[��݂k�b\s�!����
*�б�UBpR�|<��j�L��m	k�{�6}���(V�(V$��@�϶�IX�����k����;�J��>��7��<25�%lg�
���v�B��{&��� 8�Qkh
V=@	 � �N��Ԋ.1"���$ ��l�D��:�̢W�j3��[	.B�I+R(?1Y�=�KW���d�G!8�����

-��#��9J3��>�
]�=���_Y&Y�e��uc�4�Y5����0�N�ƑP_�
}^tWh�]�bY�J��ʋ??��gW��T~a�
-�goDP��_�a���y�N��'�6�I~��F��a2���<[�{:`Jxȇ2��
(�MuO]c���̡
�V�zmxO�Z�K�Iy���c�h��w��.G��������l�Y�жi�����G�8 
-j�2D�Њ�>���8��O�(�����0pC/i��'����i	����y��p�.i��o��8g�K{�aj{I�I���tI
�8�
�.
����0���q�Y��薻��.<9�]��Ri/w1λ�ՙ���������8�:�E�L��g����^B�	;$v���{�4���r��nZ��.�^���k�	|�9�ɏ�a��2�}��03�l��Tm*
h�_l��m��vk1������%\�b�;/�0f_�a�H�	���XX	;�'ʲc�rnj>�*��>D�e[gJ���w#�5CBz�H��sN$�"HL
�i��a��4�
-b�5�������`�D���$��7���.�u��`0x���~C^h���w�x���l�3��KPq
-C�x	N��;  ����շ
��v��
��v�mզG��-��o1�=r6�g
-���9��z���O��ߵHp^(N�����n�D�
-""�{Y檶����b��*}W.dO�7C���R���~?'�m�>'��
���6
C�0‘�b����F���?^}�O�;�җ���A�MU�/�����ɴ$�Y�.HZ�����
�u�f��ۭ�y^X�Vy�l��ŕ�|������
-endstream
-endobj
-8167 0 obj <<
-/Type /Page
-/Contents 8168 0 R
-/Resources 8166 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8100 0 R 8101 0 R 8102 0 R 8103 0 R 8124 0 R 8125 0 R 8126 0 R 8127 0 R 8128 0 R 8129 0 R 8130 0 R 8131 0 R 8132 0 R 8133 0 R 8134 0 R 8135 0 R 8136 0 R 8137 0 R 8138 0 R 8139 0 R 8140 0 R 8141 0 R 8142 0 R 8143 0 R 8144 0 R 8145 0 R 8146 0 R 8147 0 R 8148 0 R 8149 0 R 8150 0 R 8151 0 R 8152 0 R 8153 0 R 8154 0 R 8155 0 R 8156 0 R 8157 0 R 8158 0 R 8159 0 R 8165 0 R ]
->> endobj
-8100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 708.331 236.745 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907) >>
->> endobj
-8101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 708.331 307.588 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 673.225 243.37 684.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) >>
->> endobj
-8103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 673.225 320.839 684.129]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 638.493 240.62 649.397]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) >>
->> endobj
-8125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 638.493 345.785 649.397]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 603.762 247.246 614.666]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212) >>
->> endobj
-8127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 603.762 359.035 614.666]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 569.403 193.577 579.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) >>
->> endobj
-8129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 569.403 232.581 579.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 556.47 248.845 566.376]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 523.713 193.577 534.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) >>
->> endobj
-8132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 523.713 277.691 534.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 510.78 247.177 520.685]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 477.648 223.465 488.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1) >>
->> endobj
-8135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 477.648 323.07 488.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 442.917 229.552 453.82]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d) >>
->> endobj
-8137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 442.917 329.158 453.82]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 408.185 266.673 419.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) >>
->> endobj
-8139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 408.185 366.278 419.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 362.494 299.171 373.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a) >>
->> endobj
-8141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.508 362.494 398.776 373.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 316.803 217.109 327.707]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) >>
->> endobj
-8143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 316.803 316.714 327.707]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 282.071 271.126 292.975]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6) >>
->> endobj
-8145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 282.071 370.731 292.975]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 269.512 326.259 279.417]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-8147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 236.381 201.742 247.285]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749) >>
->> endobj
-8148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 236.381 243.629 247.285]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 236.381 371.329 247.285]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.562 211.866 267.759 221.771]
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 178.735 212.768 189.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) >>
->> endobj
-8152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 178.735 252.959 189.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 178.735 375.145 189.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.657 154.22 275.748 164.125]
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 121.089 250.099 131.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8) >>
->> endobj
-8156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 121.089 289.446 131.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 121.089 379.512 131.993]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 121.089 513.996 131.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.255 96.574 484.66 107.53]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8169 0 obj <<
-/D [8167 0 R /XYZ 89 770.89 null]
->> endobj
-8166 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8236 0 obj <<
-/Length 2671      
-/Filter /FlateDecode
->>
-stream
-x��[ms���_�Oi&����L�si/���ݦ�]F#K�ũD�$eE��] $%J�(Y����ŗ�b�]<��J�ރ���\�����Va�G��һ��|�)�#!�n�}�1��?�~�1��%����߽�}���Ƽ�xy{�
��G������?ao���0b��VVh�q��s��\|�s[�MBn�D�BF(B!΀O�
-;y1��8�
���p��3%�i����I/�H�\$�Y��`2
����}˜F�0��@jg3�x
Giv`
-��^�Q0J�/^$A��qT���l�~}@���l�����z~��$�,]Ͽ�[���iĥ����n#[���d�ºI�]�	�f_Jn��Q
&a�|�o@�C���^5�����1�|]�8�9)[�#�u!�M���T�
1^�P�f�	x����h/��3�kҕ!�Z���Y����"g�X{����`��Q��蹠u r��#7��d��
����e4�v�k/���S�a;r�!<��8����#b�Y�4��
.6Rn��r�
��P�(һ,�+cD�_̛L�6�P�D)c�
�Wq�
��'ZM��uv�_��/�*� �2B�p\<�Cg���鞤��� ��
��[�D� ��+�g��
-FU��ں��f7�D
e.�p������]��&Ga��6X٨���>!�I8���4s��>���׸��fP+��g��a`NH=I��F_
�� �ro^��:��
�A�
�df���֢a�1���coD�<�FY�\�������'a6��lֈ�	º�J�U��>f3܌�Z
���C�f�]�;,f��9�� �'��ӥ�
F����6�J�4# �����\�FN"�Kl:��"
-HP�I`�p��A�#&=� Y��q0_��0"��T�R��l�**@P�I���֗�D���Y�O��r��-
���`EM��@gym�R��f�ʚ�sI닁��NtY�
�6��DWN b<I4�\r�+JU��T6��r` SO��~$l)�IG�GJ
-�
�O
[̭MBR�s�������SR�Qu����Jʶlc���6_z��+$oJ5>2,��T�5���u�x7�@��g
Rw�q���3T�8`��8ff
�I2�.N(v[+ jx�>
V�U ��6VU@�Hqns
=�� �s�=���.g%�B���Sa��l�:\u
���T�P�u��Y��¬3�����f�
�i{�`t�4l$�mY�h)�@��k��y�6� c�g����i��.��#Au�����
2�7��,�
B��{
23&��l�&v/"���ߘ�U�6��
��>�tұ�Havtdž ��ѱ��;6T7tl���
8�/S�v�6�g�x���L�6m�O���
�6�L�q��������cE(p��3i�y3^wh����|�I���>�5�ލ���h�O�݀��B�xmcۻ�� 
\$�y
��.���
L+�1ݛ� kO"ત�t�
��M
rn��/��`�g�q
-]
,�����.XNKJ>EJt��LJ���"
�#�Xu�{o7b����!�F���t�j|},�B��u
�p���]}w�$�6'J�.g�� ���x�Xfa�a:��>p�^�MwA�
-��n��h�\u��BfMꈖ fY�u�a�̓38":
g��{�d�h�c�����*�*
�Y��g9�:T�
-`</r��*�,uy��m_��z
0,&�@���a՗�w��}B�g��i?�e��Ϙ��5 ��.���ᕽ{4���hlvjU7M

Ψj��D���:�h7�4
�;������UV�9%��6���]��+��edB��A��9�f�a6���Ƴ����]\/6�h�%?���h6[_e�2h���S�ة ��p]�u�Q��aZ��I�J& ;�!�i���@��=�U�X8���]��$�b�Ɛ��8���D�"���)e5�N�U�^� 3�T=������޼��n|R&��9&1 ��l�� |�f�Zb@���!�.�yg]��ŢL_f��U��.�]G
��
�^�IqRb�!'��]J� !tW�C(�O
��IVy{���I�kyDTֶ(;Ѻv'Da	-!��/�S���w"��
-We���"��#^�D�{x�o
����̴M3J0.�=�q��m
�_���f$C|��|�����yj�+�Ӊ.˄x��p
�~<��e�V.�
�
"���4?��I�zm�Ĭ97�p�=9+jie�#��]���Zɼ��u_u�2E�#�U�d7�B¨/��b�M�$,[\

:�L7G��ֈ�Ã����oH
/�X2R̐f�/�@�HZJF�Ċ�3��3;H�1��u�L�,�@��ϛGzK�*�7
�Oe�n$$�j6�8Ѩ�I�� ٴ|*z�ކ�?�
 ���U˶#@��
-�?
-X;�m`l�~��T
I��w|�
 ��xq 9�P���
5���;�������U8	"���u��9�.
&�~7�[?>ε�µ'�����		Jر�:V��
R0��
��9#~�{���Y�-.%�Q~���`�䷯ûd��݉��A�U_ at I��ߌ�e�����یi�S� uPΨ?`@�o���ny��������Fk�.��,[<��\�Vh��e.f����r�rli�bF�J�~�<N��<�[L�:��?䀬V
-endstream
-endobj
-8235 0 obj <<
-/Type /Page
-/Contents 8236 0 R
-/Resources 8234 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8160 0 R 8161 0 R 8162 0 R 8163 0 R 8164 0 R 8186 0 R 8187 0 R 8188 0 R 8189 0 R 8238 0 R 8190 0 R 8191 0 R 8192 0 R 8193 0 R 8194 0 R 8239 0 R 8195 0 R 8196 0 R 8197 0 R 8198 0 R 8199 0 R 8200 0 R 8201 0 R 8202 0 R 8203 0 R 8204 0 R 8240 0 R 8205 0 R 8206 0 R 8207 0 R 8208 0 R 8209 0 R 8210 0 R 8211 0 R 8212 0 R 8241 0 R 8213 0 R 8214 0 R 8215 0 R 8216 0 R 8217 0 R 8218 0 R 8219 0 R 8220 0 R 8221 0 R 8222 0 R 8223 0 R 8224 0 R 8225 0 R 8226 0 R 8227 0 R 8228 0 R 8229 0 R 8230  [...]
->> endobj
-8160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 707.957 250.748 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) >>
->> endobj
-8161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 707.957 357.317 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 707.957 456.145 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 202.344 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.359 683.311 470.793 694.267]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 650.047 239.984 660.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057) >>
->> endobj
-8187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 650.047 280.82 660.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 650.047 405.104 660.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 650.047 513.996 660.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 638.092 171.361 648.996]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 624.192 432.092 637.35]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 590.935 266.586 601.839]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) >>
->> endobj
-8192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 590.935 309.697 601.839]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 590.935 408.234 601.839]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 590.935 513.996 601.839]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 578.98 171.361 589.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.141 565.079 414.324 577.244]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 533.025 265.396 543.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) >>
->> endobj
-8197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 533.025 375.818 543.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 533.025 478.979 543.929]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 521.07 225.866 531.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 508.379 466.67 519.335]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 475.116 251.209 486.02]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) >>
->> endobj
-8202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 475.116 290.549 486.02]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 475.116 409.969 486.02]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 475.116 513.996 486.02]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 463.16 171.361 474.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 449.26 456.992 462.418]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 416.003 224.57 426.907]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) >>
->> endobj
-8207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 416.003 324.176 426.907]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 403.312 347.869 413.217]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 381.008 199.556 391.911]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae057b1ed68adc20261654109ef5be01c) >>
->> endobj
-8210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 381.008 288.991 391.911]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 381.008 449.718 391.911]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-8212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 381.008 513.996 391.911]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-8241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 369.052 244.556 379.956]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-8213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 369.052 395.48 379.956]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-8214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 369.052 513.996 379.956]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 344.406 164.537 354.311]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-8216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 322.102 273.129 333.006]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) >>
->> endobj
-8217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 322.102 352.41 333.006]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 287.106 282.978 298.01]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) >>
->> endobj
-8219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 287.106 386.79 298.01]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 287.106 513.996 298.01]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 229.196 255.564 240.1]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) >>
->> endobj
-8222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 192.208 257.637 203.112]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08) >>
->> endobj
-8223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.974 192.208 357.242 203.112]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 179.517 378.454 189.422]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.897 145.257 257.434 156.161]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a047e2a717168ae129338109f1afc9a7a) >>
->> endobj
-8226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.367 145.257 356.635 156.161]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 120.611 378.454 130.516]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 98.307 257.786 109.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) >>
->> endobj
-8229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.123 98.307 357.392 109.211]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 85.615 375.773 95.521]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8237 0 obj <<
-/D [8235 0 R /XYZ 89 770.89 null]
->> endobj
-8242 0 obj <<
-/D [8235 0 R /XYZ 90 246.36 null]
->> endobj
-8234 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F23 364 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8295 0 obj <<
-/Length 2174      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���ӆ��`^v��t�n�iw���<t7��I�b#^JR�����«(���&�>آ(���|�w [���z�������� .q��`�c�.|��϶�Ë��1�?-
l�e�>-����F�e��{rS���۷?Fux�g�vu�	
���������3OH�\׃Ε��t���#aM��	r(o�񘅋mXU�%���i�
k��\��(�o�,�[4�ܦ$�6��r}��3�`��a���(=��
�b����
|�^5J-F(|n����ΰ�0�G��}/
���8Ƨ��BW�7�Y��
"����7�Qyk\�T��h�XdIv��'��ؐl�s
�YU?niȱ�7
����8�2١�50�
�"�

_0��� 
�Ӵ��?`p�t�|ց�Ã.�.	����Z:�j
Waj
����O�W��p<,x;�����Ɏ;�/	A.s�g@^
-#
��MҤ�ʸ,���eX�@�$���6^��xe�^љa�B6)�$�WK� b��8���%WU-�I2E�q&��{5"�D啥8rO���q;���NH.QǮ7�\���z6�cW�m�o����)
4�ˆ�{Q�&Q��Za���<h������ֹ�"�6L�ye�S���?�}��^o��[���E�I��A`|J��nBE	kI���A�0��ϡ����1T \�
59;�[3�6�i�O�b��?��8
��|2C.�;W���q�5�I��#�������²��C.����3�Itj��zȗ��5�m�'L:
-dV���0�TD��f8�O��p��wrr��ͫ�%�Q0�B���x�d�)
¢�&���z"=�(%��!%���ǹ�#��I
-�>�Ii�ʨ}�$�ϔ�LH�,��$w��g	��
�\= E��j#�j�48
!h0��������e���Zx�UOx@���h?���˽I+oNk�
�x�ڳl
DFi��A�'7#�g3R�7#��yrӣ

L� ��a�SR���Ez�5���,Ri�g������<N��0�9I�Ug�H
��m�\�n\a4����
E����S�cǫJ���g�U��+9���F
�i�VV�ô2��F3����OF�ג)=&��ʿ�:�ݸ
�3Co�jY�5��x�?�������
-���4�,ƨg��*�E��
8����
t
�-	⼩�����€_7$��� ��C"���s��<쐚P�׾{���"�u���8
�<�5��P1��ۦ�d��#7 ��	8T��B����ƬN-W�@,7�
�t&�����|.E��yu'�����r���Ix���JL��7wrM��Kh~���L�SU!��_yuc|��kA�In7����K�R�\�w���6�zD��Q��z�}�[R�
�V̖r��&�#�S��C��2]&zÞ��. at N��m�P�G��G8���`�
��^
-6Y�9
P��];�!�m2}׮��.��8%�Y���I�z�:�i
-�>|���A�hy����+�-��=
�'�þ�
R���\�Bu<��ݰ�vLս��]o��cfE&ɷ�m�����zxf���O/4�o����K!���OOQ��zܨÂa�G�z�J�Bg#���u�||���6��"�X�cR<\��LN,�l@����#��KwÉ}s9��̄�j���Z���7�@�}��)C���P�=�'���j#�����
�v��?^��5��)`HО�����"��c�;��Y-J͍��C��':�\���P:���P�B��X��U��&����Q��G
��i�]�u��k
 ��&tq�04�W����c]Q�<����r���c�R� @�.�
�v ��p"1���X5��s�y���+�RGՅ�qR9���-�� ��s�>�7�1y�~����1���W>�
�
-�%2��1��Wr_?2���f�\O�"?���"F}]��G^|�t��--
)r��-����Z�;-����Ƃ�'�.=VO�)���]���@�����6~%���6��JR�
-<�p�e/�!
j\o�
�44_�7��W���J���7h��!�5��
�^n�]80�M�k6K
-+�+р�G���\�MbCz�:�d���L��.ޞ���ߣ�B�,)J���E�=�'nϊ��i����E*���{���=�!
�� ���
-endstream
-endobj
-8294 0 obj <<
-/Type /Page
-/Contents 8295 0 R
-/Resources 8293 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8231 0 R 8232 0 R 8255 0 R 8256 0 R 8257 0 R 8298 0 R 8258 0 R 8259 0 R 8260 0 R 8261 0 R 8262 0 R 8263 0 R 8264 0 R 8265 0 R 8266 0 R 8267 0 R 8268 0 R 8269 0 R 8270 0 R 8271 0 R 8272 0 R 8273 0 R 8274 0 R 8275 0 R 8276 0 R 8277 0 R 8278 0 R 8279 0 R 8280 0 R 8281 0 R 8282 0 R 8283 0 R 8284 0 R 8285 0 R 8286 0 R 8287 0 R 8288 0 R 8289 0 R 8292 0 R ]
->> endobj
-8231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 707.957 214.06 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960) >>
->> endobj
-8232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 707.957 313.666 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.525 671.084 308.768 681.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) >>
->> endobj
-8256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.956 671.084 413.224 681.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.191 671.084 513.996 681.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 659.128 156.427 670.032]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.489 646.494 302.72 656.4]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 613.289 245.911 624.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) >>
->> endobj
-8260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 613.289 345.516 624.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.346 600.654 393.257 610.56]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.84 578.408 291.592 589.311]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) >>
->> endobj
-8263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.409 578.408 392.678 589.311]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 578.408 513.996 589.311]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.622 553.818 310.533 563.724]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 482.025 289.866 492.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) >>
->> endobj
-8267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 482.025 359.324 492.929]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 447.144 290.971 458.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) >>
->> endobj
-8269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 447.144 360.43 458.048]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 412.263 224.003 423.167]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da) >>
->> endobj
-8271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 412.263 323.608 423.167]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 399.629 272.49 409.535]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 377.382 254.15 388.286]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) >>
->> endobj
-8274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 377.382 338.263 388.286]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 342.501 284.585 353.405]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) >>
->> endobj
-8276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 342.501 354.044 353.405]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 295.665 241.726 306.569]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a34dbbfe20e987a3d55c7a3f2d08f1aed) >>
->> endobj
-8278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 283.031 407.658 292.936]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.784 249.318 271.688]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c) >>
->> endobj
-8280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 260.784 288.321 271.688]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 260.784 371.519 271.688]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 225.903 240.62 236.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) >>
->> endobj
-8283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 225.903 324.734 236.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 225.903 389.5 236.807]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 179.067 278.538 189.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acd9e3b1c74e12ebb2cec81b9670cc566) >>
->> endobj
-8286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.353 179.067 300.953 189.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-8287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.2 179.067 341.927 189.971]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-8288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.248 203.075 111.152]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 100.248 296.324 111.152]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-8292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8296 0 obj <<
-/D [8294 0 R /XYZ 89 770.89 null]
->> endobj
-8297 0 obj <<
-/D [8294 0 R /XYZ 90 721.073 null]
->> endobj
-8299 0 obj <<
-/D [8294 0 R /XYZ 90 119.233 null]
->> endobj
-8300 0 obj <<
-/D [8294 0 R /XYZ 90 119.233 null]
->> endobj
-8293 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8354 0 obj <<
-/Length 1580      
-/Filter /FlateDecode
->>
-stream
-x��Ys�6���)�W��`� 2I
�&�I['�է$�a$X愇JRu���%Q)e|6~�W�.��o$�3s��[�Q��ŽFZR�.
�
�5>M��}�����ä���������Fo�F�Z�ͨ�O��%쐢���L����ؙ���
��v���(t8e�?p.z�p�
^�I�5���3�Q� B
->Q*����9��~�y�?
���/q
�6ֳdV�x�[[���3�_N3��Q�%�e�t�f&L7ǰ����?ҸV���Ԏ
�Kn}�IN�!�(U�~n�E����^����GS�G��sv�eU�/ͧq�
*�HL���FQ^�C���pR��ٕӍ	V^S��<�da����w�v��P����ԆL#�:Cΐ�rG�&����9�TC!�!e㎵�^�xn/���/��{���;y?ɼY
y���ʛ�
�A�k�+�@�G^X�-�#�+�Qa���E�T�����۳5E�\  #�
�]��]���8Y
*�!#I�v� G�5{�a�'�m\5�Ő�u��e1�^4-q,KY]��+��:�|�ѿB����v��	D#u��rO'��W���t�H��lŰ�����I�(��Mў���L9
o�$��j���s�rQ��ugf�=�����;�	���$Y5��+L�v��
-i�I�
��7�xn�*�鷶�
-q�no���D­%�-�&��|��C ��i���!T?�i!
-�4�>
C�3^Xt~r�vHQs$�czъ`�ܭ'�.�O�����H}�YTr0w���S�,x�/���ܿv	��.@�
��c��e�}x��鮲���
'�{����Ҷ��Ҟ�����q����2*9�څ>�XC�@T��
.�D�.�}7^\�0i-����m��v�pL�pB��������>�����KSm�c�go���Wf��VYf:>[��K�>)ֈQѪO��Y	�N
L���[�z��8���*a[�V!ۡj
'�/�
��JC&4tcޏ���(���F
��@
-X����
����W?ٕD�~rx�E���y�z
�P�t��Q�6��5�3v\���"8	����K_
-	�7YLvmL���P$��uX
���8�|�
i�$�*��2�; 
Q�I;���0���Ҳ��O��Z��
�qU����"�4�
Ұ6�A�!J�$�`J�0�(mcJ��m�W��N�p���-n$"P34�YM�[s�l
�zh2  6Ś�S*؛
-������qF�f1	���Nȳ���B
-�V*PH\;(�Ա��so;�#�(#uS�ޔ�S)~7�^�o�o����J���v���#Y1C
:�d}\E�}}�W5��
-5�x5���
��>�烞�q���؇����-;�7�p�',;'�-�
̏g�+:�6R�p;R�]�O7�����-�Лom
-	
�C�ڬ�҄)r;������>�0�!䟄^�1�Wf����$^R>��;5��!�i}d���#�ڮL��q�t�`U�܁ )�4/L��Ex_�����$t�i���]��,�??=���F�-"� ?;�σ�m���	I՝\V�o�8��3�/CϾ��6�?]/wS
-endstream
-endobj
-8353 0 obj <<
-/Type /Page
-/Contents 8354 0 R
-/Resources 8352 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8290 0 R 8291 0 R 8313 0 R 8314 0 R 8315 0 R 8316 0 R 8317 0 R 8318 0 R 8319 0 R 8320 0 R 8321 0 R 8322 0 R 8323 0 R 8324 0 R 8325 0 R 8326 0 R 8327 0 R 8328 0 R 8329 0 R 8330 0 R 8331 0 R 8332 0 R 8333 0 R 8334 0 R 8335 0 R 8336 0 R 8337 0 R 8338 0 R 8339 0 R 8340 0 R 8341 0 R 8342 0 R 8343 0 R 8344 0 R 8345 0 R 8351 0 R ]
->> endobj
-8290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 707.957 287.856 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) >>
->> endobj
-8291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 668.635 294.481 679.539]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) >>
->> endobj
-8313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 586.775 180.54 597.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c59e94611b71ddd67acd033a05bbbc7) >>
->> endobj
-8314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 586.775 280.145 597.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.444 586.775 420.713 597.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 465.68 226.034 476.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a137dcf52993d2ff3dd6e4678b45baf56) >>
->> endobj
-8317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 465.68 393.444 476.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 414.403 178.239 425.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c2f0ae89d7bf247a76c40282f31758e) >>
->> endobj
-8319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 414.403 277.844 425.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.143 414.403 418.412 425.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 363.127 245.522 374.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac2cd6705bce0af4bd9880b990baf1198) >>
->> endobj
-8322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 363.127 325.229 374.031]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 351.171 186.179 362.075]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 351.171 326.746 362.075]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 351.171 430.433 362.075]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.625 299.895 245.522 310.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a025902247d9c8b46d92c514c1646ff69) >>
->> endobj
-8327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.848 299.895 325.229 310.799]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 287.939 186.179 298.843]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 287.939 330.724 298.843]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 287.939 437.631 298.843]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 224.707 243.605 235.611]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaf0214aee8884dc52be4e061d6b4df94) >>
->> endobj
-8332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 224.707 323.607 235.611]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 212.752 186.179 223.656]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 212.752 326.746 223.656]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 212.752 430.433 223.656]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.92 161.475 243.605 172.379]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028) >>
->> endobj
-8337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.226 161.475 323.607 172.379]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 149.52 186.179 160.424]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 149.52 330.724 160.424]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 149.52 437.631 160.424]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 86.288 242.189 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f27f62cf5d65574cbb44025b1b3e585) >>
->> endobj
-8342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 86.288 322.409 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 186.179 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.478 74.333 326.746 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.876 74.333 430.433 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8355 0 obj <<
-/D [8353 0 R /XYZ 89 770.89 null]
->> endobj
-8356 0 obj <<
-/D [8353 0 R /XYZ 90 721.073 null]
->> endobj
-8357 0 obj <<
-/D [8353 0 R /XYZ 90 687.962 null]
->> endobj
-8358 0 obj <<
-/D [8353 0 R /XYZ 90 605.982 null]
->> endobj
-8359 0 obj <<
-/D [8353 0 R /XYZ 90 524.121 null]
->> endobj
-8352 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F11 442 0 R /F97 1185 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8376 0 obj <<
-/Length 2911      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�8~���SV��`
$H:[[5�LR5�&{��)%A'�BR�=�~��4${�[���bJD��������l7���?�^\�	�,"��rv��Etx�%|��>�%
],�t�~��<�������y�>�զ��~IVU\=\_�[7�����f�j���OWo��<"Rp���WC2� N�^Kp��&���oOqx��u�Xr����UV�q�̛j��
�*_�+	.C�?�^|�`��Θ1�O�p��.>�Fgx�ӌ���&�f
�Lg7�����ӧ�x4
AZ�ii�$4��P��\d�QV�f�Z���>�A;;�bH<6�I���͖�DQ{��Z��)�
��6I��� x�J5G�r�3
-;� ��Z	�
�"yG��u4&>a�N�՜2��_�`�BN0ڒ{D�Ȱ�Ĺ?�w`5�pWH<��5��h�@�����‰'�8I⇝�7���L��PtE���^�$�;K�X(�y�26���U�n
�
���\Ej���^��x{1���|1O���<O����E� ��]>����D}z����^�?#������
-�p|'cؠ`K��G�
='\�
7�x`6�z���o����i�^0����Q
�5��P��[�����'���nN)�~HY��`s`�)+�k�y#`��S��ڍX��̈́����Rp�g4aL��+�t��a!}���:���C�I���뤚:5�I��F�>�q�E��T�G����l
c�Grv�\�>�	vS��

0	������񘡈H�����+��Z.ٜ
8`^/����r�|
��#ؚ��YE��4�1
��`�J�s���,n�x �4
c^�Toiq ��r
�ߢ:����	�<_8���' ������d�k9��R��8M� 
z
�
����n6�����ք�Ţ�<i �XS�!�cѠ�!�63�U'�ژxz��u��MRh���>��#�GF�;��$����#�>%�{���
x��7����E�x�S�Y��M��!�@352��9�Q��E+%~�E%���۽2/��H�ݍ^x��B�G��]�KA`�OR(�ĕ�ł��x[TF�ƨM�ױ�^'*o�j��J��5�nil���")9A�� �`_�TɺA��韓|cV�n
_m#@��
MQ -8�.Y��f�:-j�qhb��i
-U"�G_��7����Dȸ�6�"�H�C9�-��䤽�v]'����ѻ��r`p����5�'?����)0�^G��q`]��j*�mUd楾=���q�n
A��,�IrC�c�u����u�-
�M�I2�����5��VX�j��˲��n4/��JxL��%h�3+L펰6LD*��$��u�Q5Z�Z�����?ǝ��vu�ۥ֡6/Ps�qW`U��k�û|J�ܼX��/��ݙ����*N�ƞ��e������2�H 
��G6+��mq
a
PQ����"ϐ%�*
5��
h�sba���+�Y@����q1B�H�ó>Q�T�D��U�]��@]=�I[S
��r��$!��>~	�S�CB&���:G�
�[���r�C��2ǹ
���l/s�ǻ��72'��A
��Y�
���d|R��gn���yIl
�ͣҸ����fH�uà�>Y������ /�ے)��V
c���q�z	ŝ?*�p�a�S%�լs����A��ˠ�W�]?�������#S�	�"|T�K��\`$'6���^��G��Y��J�5�
��)�Y1涂�	�:$ic��
-�Nݦ0oⲬ���v�Gz`��fFsi� .=��"+v*Wš�k���'-+
�#|=�F�o�E�
��8�
v�z�2Ȉ_�͋�M*7�")oeg�F��� JN�>ܿsۨ�b�;�Obx� e\�*Mͧ�v��'�q�
"҇�,�c\-D0W�%t�^��	x��Z��F��`nPޤ�*n�� �'kK}��z3��#���Y�I�������,��O�%��(�`M+����٘g����o���C^�GK,)��������g�v`�W8�R����|,���;UM��:O�
�tA����+����
<��t�c�
(��h�JznV���T����6X���~9���m�@�xe���E�
ğ0S�
@��6n���4R�gS
V�+�����D�έ�DO����!Y���+���l>��־
(Z^+o}ߛ3!�iN���pY�ǝIy�D%	��~��_N3��
��fh���}i��:�m����|B�U��ы�mT�i94�}f*6m*�)_�,�ؒ�	�ٸ�D���B�m�6�4o�n3@Դ(u+�X/P���,�i�3�{z�w���ӟ�l�C���m
������ �:2��!�q�l��v԰�>�%4��V��.@���8�Z4��S��ć�y��[/ϻ ��!���Ÿ���ʮ:�o��$V��tX��O:��	��"_B��mp�F����
�4iU뙦Meq3)�-�q�!.���T���Y�*��50�SS
�Q[5Q��f_l.M�p�;��������y����bK�KU�j����d�v�"m����<

�Ԫ���Q
�&uk�|hŵ2��1����6���
�1�6B����
J�+De]�ڙFug�~?�/{��Z[�$�l׏*�v�0�!j�����0L��/�r�o�
3�p�?�G�D�`8�w����`5���,��q�)ɝ�Iw΢o��w�,v2!

Q\�>l5B����R����
��;
��
�y�q8�
�B�k?�įv
o����_�?�n�k�Z_�ME_�QA��
S�j82�}���~����`������훦���:
�d]�C��I���L�
��9��<�O>�mlgE
�I�1�G�����]�H
-endstream
-endobj
-8375 0 obj <<
-/Type /Page
-/Contents 8376 0 R
-/Resources 8374 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8346 0 R 8347 0 R 8348 0 R 8349 0 R 8350 0 R 8368 0 R 8369 0 R 8370 0 R 8378 0 R 8371 0 R 8373 0 R ]
->> endobj
-8346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.138 671.663 242.189 682.566]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a715054228bad30a232707ed0357cdd98) >>
->> endobj
-8347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.028 671.663 322.409 682.566]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
->> endobj
-8348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 659.707 186.179 670.611]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.456 659.707 330.724 670.611]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.075 659.707 437.631 670.611]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
->> endobj
-8368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.084 596.085 163.45 606.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a62d44847fe22abb82cbac84a776a9c72) >>
->> endobj
-8369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.434 596.085 357.784 606.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 596.085 513.996 606.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 584.129 221.595 595.033]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.861 237.498 170.418 248.402]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8377 0 obj <<
-/D [8375 0 R /XYZ 89 770.89 null]
->> endobj
-8379 0 obj <<
-/D [8375 0 R /XYZ 90 545.415 null]
->> endobj
-8380 0 obj <<
-/D [8375 0 R /XYZ 90 494.308 null]
->> endobj
-8374 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F106 2334 0 R /F41 366 0 R /F97 1185 0 R /F56 363 0 R /F38 2117 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8388 0 obj <<
-/Length 2630      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~ׯ�ӆ\��9���M"��ll����q�@$� ���_�='���lj��"����!�h9£�ξ�>�x�D2���z1�xr�D ���c�����#D�� v��o޼��|}}�ޝ]^��~F�
�@�0%����h�?�0b2�j�͈S�ף����."��B"�ȼ]�e�^������(�i�&$���4t��V���ɔ
<^��)b�P$<�3C�8�4t�_
p ���1��8D� �KCԱ	�^N��$�E�zK�G�!��@
:%�Kn��Y
1�ZD��@&�L�o�8�)z�,o�� ��98�c�8gy�N�/��,$E��PF�4�Ҽ��z�KV�^���e�@
eڨ�)ۧ}aЇ�<
"J���A� ��7�"_���P�5�{��dQ��IQ�0��?ҩo�)FK�O��L��]� mT�]�`F�g�Y��
h�ӹY���oj�I��Y��I��|����E
�uN5ɴ\ڬ��{��"��2� [...]
뙕���[�T�����S Z��3-{IQ��A���A��080F
M����9i�הI��clл,�`K��
�FU��l<O�i>��z#�
Ej
t2�ۖiUe*
8�+�m�Vnu� �ba���dUT�c�n�븶;�rB��r�Isk����H�#_���* �Q'�8�hoد
l��B�p��&����*�)
,�*0
������¼ɋ��X��'K�s�T��B�N��Qib��t�U╲dQ�
��y��[^'p
�O�X�u8��4O
-�݃�@B��W#6�8�����P~����	�t�Fܧ��@9�ƲU�����.�B
}z�
&�Y�4q��X��?��oJ1�)$�@A#f��Tt�zNj�=f
-3
�G=�?�<ʛ��a��>� ��S��N�
�9���b�g�.�;+;��r�
ġ��l�P�o�g=��E�
-`h���
	[uN�!Ii�+ݎ�
-%3D�v��g���7�G[����ս�	M>p�,�Ӱ`ju���c��P�n�=$�¼6��o�u\UCga��D�A�
�#��
�t3f'�?zQ`ҋ�cC
�M
������*J
Xv�GH��``��`
'!����2`}�¬ ��vH����
X}�[��ǟ<an��.Ů���꜠ɱ͗Z[���c
����
j6	����ӗ_eo�۳H at cJm��}����h��4k+�oU��h���EYl:��j�Lu���]��q�+R�\W���wE�QN��+�8��	p���7��P��0,��|�0���������Ϭk�L��8znE�i�w[;�͏�P*R�D箥��r�H��9[�E�#%����_.MӖ�0Z�y;��t[�v�u� Pf����
s��E�^�� �	�0���YQ���*
�%s�*�{LM"`,�o��A��4�E�;ڹH	(r+ITm������~r3�ݶ�*��L
-�
��?���u�c�6�?�|R��,�)

JB���`.
��tȠӆ�����@L�{Q#��L�d6O�-V�Ʈ���i��{�
 �ղƕ��ZUw�h�
-PYMP��l��W�%���
����d`<�S
-a%뙃����+Zr@ˇh?+Z�i�*���a��@�(2�.M��3�����V�B}�K"h��t��� d`�r�J�.[ϫn���r�%�ma˅vU�)���
yYn��:�ќ"�1�����z����+!ם�Ees޲u1�wQb��������jB�.�
����\Y!��I5���B�3�Re`|g(_�0��1(
mzn7�cX�l�?F��1�>?F��Jz�nsn�V�6}~��l(�&�����
Q�5��k�*
�_U������Ip��:i�Vԉ#�V����{EA�{�� �vN��[�����V<�'
1�{4y]$��)4+�
-��~�*uk�w8aDN)�fQI	u�ԍH�bw�;�BV�[����yq����$��
���A#�4��)ڪ�F�(ȇ��F�.�]��7��۴��m��>�
�VGh9�
��X��B�p8�`��w��|?��<V7�
s��v
-�hs��r�!h6��o�б�oުޠX�W鼌o���ʸ�?}ڳ�Ѐ%CD#y�Zf�����B�醢��� ^�C��TCh�����
7������o���w����La<�2
��΍S3��
�/Sx��i������uڌ8]ma
�QsQ��v�M}e��*��Sʨ;~����_.�]]���ڌǂ
q^Q�����u���XTp�w�u�d������9��r��D���
u����ҕb�b���̺���j�&�K�TRmcW����ɾ
��/���t"������
�'��
z
|Ǻ�P �������`�����[
�-b�٤��A�<YU3�-o���M�lS�ߔ�!Lt�z�L�!*<z���*�jn�zާ ����rC�nf�����!���r��b��PC�Ad	�
�V�Ged�ѥd���e��g(�_M�����;w�R�3����� j����WijOj��q�~4�eK�(D���Ϊ��O/.nooT�ŶDY}�ݮ/=���z
�dἵ)J?V¢���	���L~
-endstream
-endobj
-8387 0 obj <<
-/Type /Page
-/Contents 8388 0 R
-/Resources 8386 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8170 0 R
-/Annots [ 8372 0 R 8383 0 R 8384 0 R 8385 0 R ]
->> endobj
-8372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.857 696.002 313.363 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.725 654.467 193.232 665.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 574.2 336.939 585.104]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8389 0 obj <<
-/D [8387 0 R /XYZ 89 770.89 null]
->> endobj
-8390 0 obj <<
-/D [8387 0 R /XYZ 90 245.105 null]
->> endobj
-7998 0 obj <<
-/D [8387 0 R /XYZ 90 221.864 null]
->> endobj
-8391 0 obj <<
-/D [8387 0 R /XYZ 90 221.864 null]
->> endobj
-7999 0 obj <<
-/D [8387 0 R /XYZ 90 77.486 null]
->> endobj
-8386 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F8 537 0 R /F10 504 0 R /F79 502 0 R /F72 400 0 R /F7 538 0 R /F31 503 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8395 0 obj <<
-/Length 1441      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&3ËH��V`-�a]�dK��C�[�-��
��~���e�k�aؓD�><��;�[s
[?�^ތ�^��RH	*��{Ka�u�V3�M0r�xB0��՘`�KW��jL�
/��`�zӷ���K���~����[N�^��nޜ�&�!�R��p���o͑�p#u�7=2"��^
��j�e�xB9a���*Yzy`v~
�tL�
D>l1Ÿ��2G7�O#b�E�[8r��F�5��7FLIk�;��
�๴�G���	A`R�`D-���
-�.
��
��E��@�M��[i����I� ��W�n%�
$ Q.�R
I�Ɲ}zOq�t
k�T��_;�2p_?Hn��9��(��ұO�A
-$(=��R
�bI�eq-�B�
��:��#�AJ���7�	'�~C��a��p�H�.¼��W��b¨@J��`|WJu�RU`������廫���x�G�dH��(�>�p��c�!��aܙ�`ACO‰5q(Œ�×�,� o
�q�ӻZAB�k?��1���	$� r1a]�a�1���G�=o�+��*�r�4Σ8
f��d���
E�����(;�
\�#	�D��$�������ơ��U;D[�]P'�@Z�L�Bi��j����(d▏z�L��L��d����m��n���D�A&�0M��
-¶�ќZ�f4��I�&��2�h� ������Ad�Cd`� ��d�a��kPNT���\��Y�7^�hA�0����P?
4c�+���dc`2+��$i���l
����0��
-:�r]%ȶGC��[y�0�(�K迉P;͖����͖�+�nS�F�.�^���m�0۽
A�@�p�g}PCT��jNCA��@��@�@��yާqaQ^�v�0 �h6��>���Hv�n�V�fc\ K�1��X�c-�4̳������0�
�����X�Iݞ��	HC�I�m!P�i��-��!��@
-<0�M��h+� 1�Y\&�^�
c��6���ͲO3I�u2�g��a4v���-���K
�
�T-���4�5aA�	����8�#A��=>�%�dF����+��Y����'�8718f�-�[����$N�`f���NZ��
��vF��v����f�
-�@�C
�33��v��S�C
�
�<��U�y���nN�
������}壅�/ߨ)
-�����o�xNȆ��g%�y6���ij��|�С%�F���0�
�gɿ��)up8� �=��R���$��z�Q{ˬ
�T��
�v$�_$��
�ˏ�v��҈k��'�x��[!��o��o�p��3��7[�E
η!u�GͲŲ�Y�,��,na��ZJ*p�΋֥5���0�֨�D5	!(
��� (�4��a�o?�vA��%�E
W-�"ϓ��f��
��0IQ��%��l?�R�����>N�b+�J&�M3!���O�
I
-endstream
-endobj
-8394 0 obj <<
-/Type /Page
-/Contents 8395 0 R
-/Resources 8393 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8392 0 R ]
->> endobj
-8392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8396 0 obj <<
-/D [8394 0 R /XYZ 89 770.89 null]
->> endobj
-8397 0 obj <<
-/D [8394 0 R /XYZ 90 721.073 null]
->> endobj
-8000 0 obj <<
-/D [8394 0 R /XYZ 240.245 627.543 null]
->> endobj
-8398 0 obj <<
-/D [8394 0 R /XYZ 90 610.519 null]
->> endobj
-8001 0 obj <<
-/D [8394 0 R /XYZ 240.245 511.484 null]
->> endobj
-8399 0 obj <<
-/D [8394 0 R /XYZ 90 494.46 null]
->> endobj
-8002 0 obj <<
-/D [8394 0 R /XYZ 90 293.407 null]
->> endobj
-8400 0 obj <<
-/D [8394 0 R /XYZ 90 278.54 null]
->> endobj
-8003 0 obj <<
-/D [8394 0 R /XYZ 90 77.486 null]
->> endobj
-8393 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8405 0 obj <<
-/Length 1839      
-/Filter /FlateDecode
->>
-stream
-x��Y[�۶~���S+5�Q$m�� 
�K�b]�E,����,������
�t��^g��K�DR��o��|366^�^,g�	
(�b��@�@D
-�f��C�X4���>`�DD��Y~�������~7{���1#�
-�*�H�`��}���5,`Ĕ
��.�(�g
\�~��XA�X��#����`��6�UyҦ��w �)#0�<د��H�@�h��Hv�|�p.'�Q,���
-����s�ä�%����e��M�ur�cvS'����U�l�"ɯ��I5�QQ�N91�9�{��@RD�6Rq~
�ސ�������w��,��N_�EZ'mY__=4pv�
�S
!��L �H�.��񊢡�IJ�ԇ�ȳ"�j��! ��*�VY��~�A%F���A0���}��
;)��ݕ}�֥s��:�����}n�
x�������0w.N�˶ R!
�Ӌ)?@+�	�.��Ԝ�
�X�pHm�Y�9�\$������1�E��ӛ�	/h����b�b.�U++�i���|�����]Z4�����D��qL���]�9��� 
B#ĩ����*�Z@ӌ��5���H$�>4��j���eV�#
~J�l}�ԛ=��
`�V
�.Ɨۺ�S
޹ �n?/,�G�Y���B�l��Fg��[�&��}VeV�
�����
Ō�;Źgi�_��7��b�,
ӡks"Cs����Dp�.cU�ix�&���e	���g����<i�)�R"&��p�}1a"Pltl��,U�h�������~z��_�,���Xy
ɐg�
�(�̑L�,�d�	B�����9�P�F�	� � �O�L?
2sD�'`@ �G�o
K�����m٤ި��9ᡉ
��.S'hr�
X�U�YK����AY�AS��L3��$6H�j>����
y���x�sD�on'�
-bH
���Ҙ"��[�MU
-��3;�#�&���R��.��l2� Yn8 rd1�03��'cdA�~
-�5��s#�1���H_��ȿ�i���1
��0M�z�DZ1�y
-�����h�Z��'Ce���@�D��).l&���A��
„�@�x�0#FO�B�����qN�$�C�8|Q�O��P�����p�8�J�ĉ
TN35FJv!}Sjk�S� EQ�
�!2�_E�s8\(��x���˞#&9\BVS���s��Y
"4kD��ɻ�5�/�WO���u�nm;ĄU�F�����o�@b��c������+��\��6����ʮl�HUY6�s/�n�:+V�~�6S�O�S�*����h�Z {�
�̞J"�۲A�렠�4�[��;;�S�6̶���o���t�&��
�=�p���B�ɩ�r
t��yp��M[b�v�6�ڹlS��i޵Xs�IWi���]���͢�e����� ��=s,`
���j��ش�봮��ԮA�Ww�[f��n��ZF/�ۥ��K�)��8jz�.��O�JP��ؾ<m�bg����>��wvJ*��Ԩ����( �l
	��l�POJLAKn���NR�u��BG�H4�4���:[���
/��WC-=�.Æ5~
���p�%"vn
�6���X�T��6\�3m���:��o��.���hF��Oa��|�-4���9`u�zS��Y
�CV��auxv���,����ևƚ�o
�è�u�;y穁���c��t{���a�ٹ��u�tb}��0 �)\\��~�s���n� [...]
-endstream
-endobj
-8404 0 obj <<
-/Type /Page
-/Contents 8405 0 R
-/Resources 8403 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8402 0 R ]
->> endobj
-8402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8406 0 obj <<
-/D [8404 0 R /XYZ 89 770.89 null]
->> endobj
-8407 0 obj <<
-/D [8404 0 R /XYZ 90 721.073 null]
->> endobj
-8004 0 obj <<
-/D [8404 0 R /XYZ 90 571.515 null]
->> endobj
-8408 0 obj <<
-/D [8404 0 R /XYZ 90 557.036 null]
->> endobj
-8005 0 obj <<
-/D [8404 0 R /XYZ 107.534 434.15 null]
->> endobj
-8409 0 obj <<
-/D [8404 0 R /XYZ 90 418.136 null]
->> endobj
-8006 0 obj <<
-/D [8404 0 R /XYZ 90 192.998 null]
->> endobj
-8410 0 obj <<
-/D [8404 0 R /XYZ 90 178.519 null]
->> endobj
-8403 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8414 0 obj <<
-/Length 1612      
-/Filter /FlateDecode
->>
-stream
-x��Ym��F��_��Ka���{j#��\�4i����(�,��;�bp���}v��asI��T��^f���gf0v�
��:9>��N�(�|�;痎�N�><-�w.���G0���`7����tJ��Ʒ+������"
�ۣ�W�"�J�0����~8>;!�%�R�|? ��̖�Hy��|@�B��z��1	O�0ϧ
�)���&
mV^�K�M�tu��%��p��ɳ��?b�C�Y
-��XO�}����;1%��j����5v�&N��0�ki���	G+�Z8\�Bgy�/��;��(��=�b����,Zv^������T��W��k��6���H�����6�����Wg���
ϳ�<"��"'蛨�=�
-�CY7��Ǯ�k�f��%�JҬF
�=�a|�fQ�Z�ϸ��n ��t
��y68�D�V_���v<���s83CB�����Q�|�;aI�
̋��Q���b5�Y�f��D�`g�,�R�^'ݘ��eye�(�B�	�ȇ�e���%���E��pC at j�u����G�ʅj�1�B�en$[��]�7�z�6�a
��[�_h�y��2���
!`aX�h�
- ��ψ�J��4D!
-�5)�%�R�C|  �zCq��	�/��
b/��|��i<x 
>ڛ!haF�m_=�}Ea��]_}B� %eбZ��<\,9X,J5���/��X�dpa
����, ����x3�Y�cnh
�+�=�7Z.�R��z�#�3&�,���IC�sSM�
-q��B��{z���ɀ�ki��u���������W/O_<���%��n��E�d‰��(��D?�z>�����"*>
��G%P�C
� T����.HI]
��2Km�	������e�T40< ��v
��Ȑҍ���b��US�`�rb�֢����QԒ*��+F�ǩ�SS�󢧵�o��v�&Ӌ(�,V��9J�v���p��i*�];�-����V�j�.�FЍ)��F
��#Y��{�o�#Q��
��Z��&�D7���#A
��ۏ2��a:
RGs� ��iW]w1�»98� =BMi5H�vG/������'�dQ��c�i��",��l�S��tZ
�{4Z�b���PɆ-��X~ㅋ4�����s!FY0ֻ����c

-a�-O>
3���*E%6c��K�F�
m�(ScS�?6��D�kb�f�`+��nΨ
-���= d&��� {�>��N���m��9�X��/��

�8n:C3e�`)6M�[�іV�l����,�
c6�
-�l4e9�������߳G� �4}�a�'b9`G��E�Q2�����r
f��
( 
-��a��c}Nѽ�O?����
-��dp���]
f�x7�Ƀn
�2��E�Y��:83D����d�ȢE�ο��aN�R|�o�{I[��6�OX��#9c�֮c���>�E�c�rx�'P��s������&�oN>��?�?��
R����@�'��
���\R2�}���<Z~5or��8µ��2L���X��RL����$-��$�{��=�9��N}�����/�b��Ҫ(6G����5Z�h�D�
E�l��gw�%���r��	g�֮�X\W��
��
����
-endstream
-endobj
-8413 0 obj <<
-/Type /Page
-/Contents 8414 0 R
-/Resources 8412 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8411 0 R ]
->> endobj
-8411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8415 0 obj <<
-/D [8413 0 R /XYZ 89 770.89 null]
->> endobj
-8007 0 obj <<
-/D [8413 0 R /XYZ 90 617.615 null]
->> endobj
-8416 0 obj <<
-/D [8413 0 R /XYZ 90 603.421 null]
->> endobj
-8417 0 obj <<
-/D [8413 0 R /XYZ 90 363.959 null]
->> endobj
-8056 0 obj <<
-/D [8413 0 R /XYZ 90 339.59 null]
->> endobj
-8418 0 obj <<
-/D [8413 0 R /XYZ 90 339.59 null]
->> endobj
-8057 0 obj <<
-/D [8413 0 R /XYZ 90 214.616 null]
->> endobj
-8419 0 obj <<
-/D [8413 0 R /XYZ 90 200.423 null]
->> endobj
-8058 0 obj <<
-/D [8413 0 R /XYZ 90 77.486 null]
->> endobj
-8412 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8423 0 obj <<
-/Length 1360      
-/Filter /FlateDecode
->>
-stream
-x��ݓ�6���+���Bߖ�Nzs�L�&i���z���n�M���}ז?0�˅���	˖v��ڟV;
;�{?Lz�W.v4ҒJg��h�\#!�5wn������äBDK���z�vr�vr�}�]Oz�|�1r�3[�n�3��o
��V�6�r8e�:7�_z�u.� B�N�1�
�c�O��:�R?����G*�X9��L��l��e�t��#o��T���"P0��������	)�
�q
i���d�M�(���n��o�Sp�x�n<~7K�E
y��f�m�P�s�6sr�Utl
�b�
��Z�Ӗd�Q���8�L���8���C2 ���4���c�gq�IM���bBuBy�
&:QK����z��
-��"�#^� 3���[H�{��D�^N�A�gz
-و�b�
9D�ef�?}L�M1�/�!����ɣoJA;&e���L֋��!�y�O�hȾ���e�63�<8ҪҐ.�M�42��r�D�^�;����V���f��
-D9pJd
DmH\��ΐ2��q�q�� 6�"ֆ��dI��$٤sH�h�q��
���K�+?J&ӰC
�+`L�I<������h���:O�F��_��_}��4^�a��
�h��^܇ŧ8)C &o���>Ȓ=C�4R؅ծ��o~A|3���k��QZ�,Q=�����	v�x>̷I�+lX쀲�`=!��z��#Rb�fl�{�q����6H�p�6�ͫ�1� 	��:�V���==;�Vv�V��C�)��.�݌�.b�ŠX�ڗ��N
-����8���4��t��������3�I�����f�Ϗ�P
-ջ��"
�V,mG'�Q�
:��dv����$�������$�ĺ!�B���g�B^	H
+Q��D}1Q%vۑ*0�B�jG�j"U�H]@I�|Ӷ#Ub8�y��hװ�SU+S	5�iߩg3�_���r������f�:tuC|���H���U��@��d`w=�\���M��
��K��k�E��*LiWeJܗV��Y��>��O�4?��.L�Z��0�[�ea�Z
S����Q�%CtQ���P�9��Q]�[�f&�
�>�v�AH�+��p��U)E��i��woi�oi�tK[
P6���oM�����r,L�
�� ��%�)3D�EnB��� �[K��&��1����M
x�j8�

�BS`ó��i�9h��Dv~
��Q@�s�����U2۟��R�7�Cغ
*�W��F�YS4˴1�"wL�׍�|;�_x�g/z��z�>e��d��3���Ѓh���7��7�_Xj���)�~��>ܛ���W X��z<m�[4۠�(X'(HG�u8:����7�[���
t��
"x���� �
��

-endstream
-endobj
-8422 0 obj <<
-/Type /Page
-/Contents 8423 0 R
-/Resources 8421 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8420 0 R ]
->> endobj
-8420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8424 0 obj <<
-/D [8422 0 R /XYZ 89 770.89 null]
->> endobj
-8425 0 obj <<
-/D [8422 0 R /XYZ 90 721.073 null]
->> endobj
-8059 0 obj <<
-/D [8422 0 R /XYZ 90 604.717 null]
->> endobj
-8426 0 obj <<
-/D [8422 0 R /XYZ 90 590.62 null]
->> endobj
-8060 0 obj <<
-/D [8422 0 R /XYZ 90 456.805 null]
->> endobj
-8427 0 obj <<
-/D [8422 0 R /XYZ 90 442.708 null]
->> endobj
-8061 0 obj <<
-/D [8422 0 R /XYZ 90 308.892 null]
->> endobj
-8428 0 obj <<
-/D [8422 0 R /XYZ 90 294.795 null]
->> endobj
-8062 0 obj <<
-/D [8422 0 R /XYZ 90 160.979 null]
->> endobj
-8429 0 obj <<
-/D [8422 0 R /XYZ 90 146.882 null]
->> endobj
-8421 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8433 0 obj <<
-/Length 1586      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W���@L�!J�[�� )��h�lOI`hm:V��+��l}�"���خ�4E/kJK�
g��fHa烃�F�ߌf�}�H$=�97kGb�w%�
<���c���'S�1
��<�8X��P<N���Ze��ex���|�˲>�I-�l�����y1{NHK<�y��K�ߚ)

@#u�	72$"�W�;'�i��dJ9a��U���B�7��Ze"�*Y�+&3�k��g7�?G�`��p�
g�޾��
-^�p0bR8�rR츔�o��:�������D��O\D�4�>��T�"L��4�/
�;ȇ�S��
X^���0��x|D�jdv�J����s��r)G��>�d���>1N
-��Ǵ�¥�yՊ� 3S:B)@��Ch�����'�K�Uv�{�Z���֖!�����Ø
Y�� ՜b�C�1$�9h FSF�-��+!���!a��� uT�<�)������~�� ��l����s�N��4���k�.����RWljܝ2�,1K ���N�kD%j>�Mw�*_��lM�Ep��-��?>�0�KH
���a��l����dx� �+kY'�(�'u��^7�E��G�qbD�V��Z�<�61~&��~ �SF}D�
p� q��U�˒| �!�I�"۩!��v\�
�lR/Y�K��I΁��,o<rJ�M�2^ʪYgil5�q
6^�
�j ͱ�0�$Y���n�S��hR�0s����1�E��0p��D��q}WY�g�i�,�x�m�	�2 {�,�.��	�����<N��**x5����䫱�_&�2d�F��G�k1���ˁr}K��n������}	��{%���O��Ǹ�;Ͻ��q/H��ҳ�K�q��x��8�K;��:T
�Ǩ�5H�ħP$�%T[{��d�!���j
���P��q���:��n�HTP at r���R���/�F�jX㢭
-�
- �J��ys|-C��d�q�>IQ"0v��$�%虛��xQj�M�$���Iz`j�
�C�o�!F��O-#r���� ��1�P����/ \Id_I]��)���t�py��}�	Ї
L �
4��R�~.7z
P��e"v`�
r���� ��� -��t�
-�]u��+H��]�V��1FRz�Rl��P��1���c�|B]֔^k~T2�+
!��(���o�oE���5���eQ�
���a�]���Mo�}�p��8�1�QI$�8pP=MiV_�]�s�e}Wg
d�}+��q�|
-
A[��M���	��8�Wl�O�ʼ �������O��$�>��sC����}2���Vk
𓾥�/�q��x��p:f��t��:�q�
� 	�D�s����M-�M����^¨S/�
�&DSj]א Cy�h�����lq�Vv��8�|��< L�j��@�F�bVg�
6h�b��nw��;2]�I���Ћ�ږ�]R���_��ߥ�'�
��T�

-�E>���
*E��_���S�}��M�Oyv2��*�z��ز��A�
��b��$k*6>���|���Rv�fg8��'�ߍ�D��is7E���f��
-s�K�m��b��F�C�jI!.�xV�)N��Z^Ɓ&���
�K;�
-endstream
-endobj
-8432 0 obj <<
-/Type /Page
-/Contents 8433 0 R
-/Resources 8431 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8430 0 R ]
->> endobj
-8430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8434 0 obj <<
-/D [8432 0 R /XYZ 89 770.89 null]
->> endobj
-8111 0 obj <<
-/D [8432 0 R /XYZ 90 679.749 null]
->> endobj
-8435 0 obj <<
-/D [8432 0 R /XYZ 90 661.602 null]
->> endobj
-8112 0 obj <<
-/D [8432 0 R /XYZ 90 528.998 null]
->> endobj
-8436 0 obj <<
-/D [8432 0 R /XYZ 90 510.851 null]
->> endobj
-8113 0 obj <<
-/D [8432 0 R /XYZ 90 378.246 null]
->> endobj
-8437 0 obj <<
-/D [8432 0 R /XYZ 90 360.099 null]
->> endobj
-8114 0 obj <<
-/D [8432 0 R /XYZ 211.842 77.486 null]
->> endobj
-8431 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8441 0 obj <<
-/Length 1944      
-/Filter /FlateDecode
->>
-stream
-x��ZI��6�ׯ�)c1����&��� {'��
:��ʦ˚�%G������Hj7��� �����m߳q���˛�on��8�P$�� 
#�\-��������	�H$�-{������~��<�y5����#
G�#������;
,���F,R��ݴ	B��;
���x���B"��$�@��3�1��z�M�R!n��m�*BL�����
=������y��x��3*�d�!������!�q��
y�:j��O�b߿�R<���^����C�ww?,��1�����:����D!F�1u��}��H�(��M#��5���nH6ɯ�8BL~�
/�lW��o�L�����bJ�D�vI��G�TB����s���6�y�Q�
-Zo�t:�!�|�����E���
!�ך������
QD�
Y�h��R[VK?+�U�8o� 
�9�a�(a�`���	����:�E\���#�:̣�4�Tsp��Qs�_Q
�"
���o�,�x�vrѳ��h��@��Ծ�.�E���]�!¸����kQ*�<�MV��tgK�ȳ�٭�}RP'�b��3��
͞r��F�hl;,�,/��U��
-v�Bb$�8
�c�VL
�}�ԕ��"�T|
�)���CW�< X A�&��L�@��C2�
,-�u�X�z2c���E�"�i�e�Z at P����z?�|���=^�p_�<�q
˧�.�G"�m
�F�BNj��9�I� .t
���Kd�a]��4�|^�� ����jT�R���-�AU�"&�(�9�+�yix$4lh^�6��ۭ�q �$ps��~��ׅ`Y�����l�z�*��׈��S�s��07s������Z(B*R���n"�W�9�)
�	�'$d၀K��$�"7'!?�A]'@�M_㉺Z�j�.Q�@;�JR�c�����ZԋT��$²*��NĬ����Z����:J����F��B���&C2yJ��=����t��K޵p��f�4�k�-�|�/�����l���D�QQT��
�H�]���V�z?�x|�u<B/������t^}X�1؅90�R.���@�>N��}\<B�f��#�r=_���)k�ϓ�(b���T�~j�Ky���ˬ.J� [...]
-�5�F����oU����oa#�S��Q�
���tE��̪�}��0�߬)+H2�\�R-�����u\�H�'�F	�)eIu����\�.���0/��w�LAಟ��=��CM��5^㹩^U=�>+�=�"�Y
4T
J`s�G���:"H�zD qoD �c#��F�&]���!|� $�m�J��B@	�
Y̨�'�H1��@�m�`B�Ƭ9� �)y)��΁�B���a<�{INw��Te[@��mwh� �
��d�^��vŨ�![Vh[�jѼ@��3��C
MŢMŲ�u�s��0�DX������F��g����IfBf
�׍�y8�(WA�� ��~]��
@��M�k��Qt��_5�r�Hj��8z�AN��
�x
HH�/ �/�Ѳ�#�6W�"��0�hHz��1(]�z	�Svݏ� <r%���J�Gx�ZO\#���SG 
��L\e�-�h���K˰�y��
�84{�$�6������â�}�E5�6���)��"Q�N�FQ
4��
��(�\��<'G=���
r�]2˓b����@����<�hB
b��.�h���
�egb4~
-���F�1���5M�>��*S�?	D��7\q�7\r��T��= s�9������� [�K�)�&
v�#�p��e�MGm������]V��.����?��O�f�8����wwþ���1�s��(� 
<y�u��S��A����g
��D��������>==���d[����n����C����ޭ���Eӧ�͍�)
�7pZԎ
-endstream
-endobj
-8440 0 obj <<
-/Type /Page
-/Contents 8441 0 R
-/Resources 8439 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8401 0 R
-/Annots [ 8438 0 R ]
->> endobj
-8438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8442 0 obj <<
-/D [8440 0 R /XYZ 89 770.89 null]
->> endobj
-8443 0 obj <<
-/D [8440 0 R /XYZ 90 721.073 null]
->> endobj
-8115 0 obj <<
-/D [8440 0 R /XYZ 192.853 436.71 null]
->> endobj
-8444 0 obj <<
-/D [8440 0 R /XYZ 90 420.918 null]
->> endobj
-8116 0 obj <<
-/D [8440 0 R /XYZ 211.842 157.627 null]
->> endobj
-8445 0 obj <<
-/D [8440 0 R /XYZ 90 143.216 null]
->> endobj
-8439 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8451 0 obj <<
-/Length 2204      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۸~���Sk1�w����"�h�Lч4h$z�֖
I�w���P���/�̢(�'Sun<���8x
p�f�����
-iIep�
-4�HH�J�s�Nj%���.�G�6���x�o��&)���Ӈ"*�no�W�c�E����hg�~����
yJ5�R��ܖ����f��
�͆o/Q�n��bIb���v��*��3+S,H87Y
��fb�4g��f�f��8��� ��>|�A�
0b:
��m�)��M�~���[Xȑ�	A�R-�;S틬�j��FƐV�ѣ*�ޠjT�0
�M�
-��z
e�[���ɭ�Q�6�ؽ-$"ak�b�&��H��봼,F�xfy�`��혇�H���_v��<
�}���ȷ����
*�{��lB{�’\�>��>
UK�8!�e-�a��k�N�d!E��`	篅p����X��"�@��o��g�H�����p�����4���6��ЁH��/��V��D����I=���B��v��L��Xi�}�K�bJKʑd��i$ښ�����$���!�HX�t�C��Pޞ�]c�M���pk� bdLY�y�� w�~�6��m���&/��2q��p*-#�%b��Tߌt
��"��H �:�V��Y)Dhxd�l�5ET��L��J��$���D���Y%�H��d9��o c�n`��������Q(��Խ�JW�`��ڊ~A���d�)���F�g��U�ϝI�j���@�0)�P��:��-qlLRڌ�!���{`�˾�9}�lp�W��g��=^�o�r_����
�|ry)�)$;�w�pZ�>esh�8��S�u> [...]
-Җ�a��2��K�!��2%)ho�2�l�|ظ��38�}��R��Tk"I�KH)P�i�k!]Cd�y1EzM}�-i6&]7]����3"��b��T��5�캂43���c
�.�f��9��I���
�Ԩ�n��콚4�P�O&�b2m���#BлA�^׆^"�ְ���6�ԠX���s7f�;�}V�{�F��'8wfk=�pN���C�{�V5@�@��2q�)�x+_��3tk �
-'�`H��$�e���G�% %$EF/AJA�9L�dL�PO���i���ʡ�O{ ��|K
-�B��=J��?�
��k�vk�k���yA�)^ٶO
��*��C02�.7+[���d��$
 ��J�
-�	�ۯ��
y �ሆthњW2�
ұ�
����VG�.��N+C����8$�
��5A�d}�S��

-���if��ǩ�C5Cn�`Ků
(F/����^��J�v�
�U�{-Xr�����K�g���j�
-��N�GHT]~{N�u�~@#�n����j��~��AF�,e6�$Z�&p
x赠�3	$�Q$
UU�Ꮛ������|k	]M򺵔����U��td�bl��	վ�4�<�	�\qN����)Ml5����0�k$ze��@��ᔊ���EB�yU5�v`���楩܍f��O��~s�'�x�7v
��o� \�����cޱ�]%�25MsZ{x��Vk���q�3�
��~B���,�P���H�����D����_�W��&}�C
.�F��֑�'>ۍf0-� �j���s��	�:;��
Ypr���ϛ
�P�� zF��f�s���j�R6�Y��K�����G=me>3��
0<3��SDqx���t��%
`w8>�򟛧��i�D� Hv��Kt�^C��(؆R~��A����rm"8	��(*��	�)�-�'��!
8H�G�=[�;�/�C&��c���	��۽��������'@��o�nqt�>���<M^x����I�.o%��	���;J��ZQ������w���x�ﺩx�3G����@s ~H�Uh��,��
s/�)I�A��;{DO��=��w
L9V�h���>(�J��S
˦�YȜ���T�借:���_��u�Bp)M~�ό��!
�r?���'E���w��
�jɮ��A�i�)��1�
-	�?��m���&�ݥ�}w����_1����(��řk���a�}��,�������f���O�Z'/���Ee]U�ۛ�����tW�����67��ѣB�����t[ۼh?���m������Y!��
-endstream
-endobj
-8450 0 obj <<
-/Type /Page
-/Contents 8451 0 R
-/Resources 8449 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8446 0 R 8447 0 R 8448 0 R ]
->> endobj
-8446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.252 332.096 511.506 343.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.129 320.141 211.803 331.045]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-8448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8452 0 obj <<
-/D [8450 0 R /XYZ 89 770.89 null]
->> endobj
-8117 0 obj <<
-/D [8450 0 R /XYZ 192.853 501.318 null]
->> endobj
-8453 0 obj <<
-/D [8450 0 R /XYZ 90 485.396 null]
->> endobj
-8118 0 obj <<
-/D [8450 0 R /XYZ 439.299 206.248 null]
->> endobj
-8454 0 obj <<
-/D [8450 0 R /XYZ 90 190.326 null]
->> endobj
-8449 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8459 0 obj <<
-/Length 1504      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&3ͫ(C��ht]�!
��#1�0]\IN��C�,ɒ�l��m}�D�<�s�C[��~�}��-/$�<�9Ա�7��-�=$
�;�q<��~i1�E�s`W9��������K�m�b=�8#�	[�" �t-?����� �_Z1ϵ��E��)�gd]�~��Z<)��!��%	G{� /~����$/EY^�%A\$a����Uˋ`�
-�9������Je��X'E����w�#�G+�7Y:�¾O�
ƥ
ޘ��
��Ԟh��ǘU�$�.B�K�5�&̫5=�T"�B�H%A���
-+�t
��ǚ=�UqֺUe�"�`�
̻?����#�
|��N�N�a�)?Ǫ5�XrJ�Rnk�������HT�R�q��h?_P��|�ݦY��jx]O]�����A�AP-f7�C#�
��B at tPD����x�BW�#���ߎ��2���~���k�G
-�
�5˳� � �����iTߚ��bu�vNa>�ot���W�u���j��/�m����r��cQHJ�S*��6�G�,�
�w߳s�Y�T\
B8���

\NV������}�����g��A�i���@_�;d� 
!�%D�K�T&Q��#a
~(ւ���� D瑚P|�����P�
G(���K�t�'��(���
h(E4	�ۑ�E���C�9Q�蹢Ő�64���̤� �]x�ȅ�Un��2����k=$8<��]+N�t��!�ד�*6����0��
-T/�(��i��W��x�H�a�/b��@�J<b��=�A`a��(�K�\8\�`��>	[T�	�T�3���"�8�����(E��X�U�lBS�:�
V����| މsx�~��G�]6'�����	�{
�Q"�EOx�A�Dp���t���VF���=�ѕ���p�ؘ��{0�~�\8o<�=;��'�y4��-�yD`�j��7����L�3�b���
��W��c�>� �m�.ɿ�
�3!�4����8��lc��ib6o*�wq�fL��|�UR�\כb��G��
��T}8
�w�Mk���u��좚AV=�Q�ʹ9��t;Q�V/�t��j��<
-�}E�Q��8qM� 
W7��b��������J
}/	�����o����Oy�p��t��+����I��
��րAX<a�%(r�-�D�5�ʌ=����՝�VL5�?菻� Ν�Q�n揺��F�-&�C���)/s�tqypħh�NV}�3�u��k��:�r0�=�3o9�-���&���Z���'��q��tp	(��{q�:}/��T��M�^�f�j5$HI�Ƨh%���$c�����ԁM:�R
X
s	�w�o
H�
zT�B��/�ξ�
a���'��Tt(�w�$nَ�I��T����p�u�i��oV����SGhW"vh]7E�]-�������.	�
-��v-��C�]�DnLgb��L7���I�#'���
-endstream
-endobj
-8458 0 obj <<
-/Type /Page
-/Contents 8459 0 R
-/Resources 8457 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8456 0 R ]
->> endobj
-8456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8460 0 obj <<
-/D [8458 0 R /XYZ 89 770.89 null]
->> endobj
-8119 0 obj <<
-/D [8458 0 R /XYZ 90 674.935 null]
->> endobj
-8461 0 obj <<
-/D [8458 0 R /XYZ 90 661.221 null]
->> endobj
-8120 0 obj <<
-/D [8458 0 R /XYZ 90 494.735 null]
->> endobj
-8462 0 obj <<
-/D [8458 0 R /XYZ 90 481.021 null]
->> endobj
-8121 0 obj <<
-/D [8458 0 R /XYZ 90 259.709 null]
->> endobj
-8463 0 obj <<
-/D [8458 0 R /XYZ 90 245.995 null]
->> endobj
-8122 0 obj <<
-/D [8458 0 R /XYZ 90 77.486 null]
->> endobj
-8457 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8467 0 obj <<
-/Length 1423      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����&5ËH��0`+�a݆vK�=t��H�-L�Jr<��
��d9���Y
y�"�<��ﳰ�q��������k;IA�s�v$v|O".�.r޻#�c쾛�2U�ws��<9luT����m���r�6��&�T��ުB�?ܼ�zM����J$����cLF
����
n&���0�|{i�������r
�I��HT���oz��9	\����$�.�H��������6�!&-
��������#&g���G\�z��
��0!B�"�f��<�y �s��T�3���T������
��R.9��]��<�̎O� J�
x��?�c����*98�Qz�KE�0�6宩�Eɟ�cX�js����>TP
�����Q4^�k����ah#�NޱA����8K�L0�\
�N�@Sg�Qę���(��Թy	�9����
>`f��GF
�顴���ө ��Fm�Jg�=\��s�6�G%:�{��uk��^�l�#�
�q/�#���$�cCm+w�xR��\}ĩ�G
jh�Z����a�q��>��� aNG�
�3�`/���<��.S�� ���A1��O�A��;�E
C}>- 9�SUG�%����J�h���.mJz&Lɑ<��� �3�����z������&�My�m*�&��|'�D	�_U���Q
�W��E��yZ�:�M�
x�1/�c 6��������*s�j졾�蔞
�8'�m
nm+Y(e��
���$9��jWyY��"�pқo��5�S�ML4�M$@�(`���(~���׌�	a� �Ob�f��|fc`���l�/f�S�q�$w�ȄsD����*3$ɐQ�
>CƓ�
@~�������K�a
o��9�n۪���g ������5r|@��c��10���Y�m.
�{�3��K7�Z�!��k}��p6O�9q��67�ʌխ}/U����\mH�bs���ʮ�� [...]
-#�*�K�0��`��L��q�]
2�O
�ǓJ�H
-%
�„�1�<��t�7�a�W
+��-��v
�{�B��N���$����Ā���K�ԓYv,)���#��T]W�[��uBW-�S��Xg��x��x��D���v��Uޔl�	���G�ظ~��ԅĿ����d���M����
!�g� �D2��)
�F3��(b�<���F]�:
 �壛�Em�L��q�N��s���~3o���'�,�o�
T�ǰ|�0o�
��#sk����*��s�Z����]��f��5[AS����h36-䯵�A���r��~���
�%���0Ѷu],����=
-+���Dq}U��}D
�B<����[���yW�8��T5X��� rBuJ
-endstream
-endobj
-8466 0 obj <<
-/Type /Page
-/Contents 8467 0 R
-/Resources 8465 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8464 0 R ]
->> endobj
-8464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8468 0 obj <<
-/D [8466 0 R /XYZ 89 770.89 null]
->> endobj
-8469 0 obj <<
-/D [8466 0 R /XYZ 90 721.073 null]
->> endobj
-8123 0 obj <<
-/D [8466 0 R /XYZ 90 537.625 null]
->> endobj
-8470 0 obj <<
-/D [8466 0 R /XYZ 90 520.247 null]
->> endobj
-8171 0 obj <<
-/D [8466 0 R /XYZ 90 271.862 null]
->> endobj
-8471 0 obj <<
-/D [8466 0 R /XYZ 90 254.484 null]
->> endobj
-8172 0 obj <<
-/D [8466 0 R /XYZ 90 77.486 null]
->> endobj
-8465 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8476 0 obj <<
-/Length 1343      
-/Filter /FlateDecode
->>
-stream
-x��YMs�F��WpJ�j5�OT�
��ne��ub%�K���H��Ȋ�}z` !a[Z�{���fhf�_��� l�-l��2��z���Rך�Z>�<�#��hf]ٌS�z��b�D�w�r�������ɥ�78�
�
���ȓV�\]ck��-��/�Mi��8ep]Z��?�A_A�T{�8,�(u�cl�h�-i'Fo��}T��y����ʢ��� ��@m�(	V�3���'=

-�\)j��{�i �s��xV�x�GA�
-����v��`�!�Ƀ|;

-U0O�`9�\Y_D�H�\>R�W[�E1d
�v�5\}!�x�;D��g�iM7�ZL�4���(	5h۟��0W�jx�w��
�݄b��۠�{
�!�M"aR/�w#'HRZ[]��2N���R�� P�!2n
9E��_ETT^�%L3��m5Jo��&��M���G^��:���#Λ
-Qi�ln`�Fja~���AZWI�P�� NT�ؕ��vv�y�E�
�9�ec�q��>e�'�*�_�w/iChȃ
��E��:3, ��(/:Ϸ�t+����ۅv�}��l0��h��Cΐ��HcS���0IU�� ����e���+�7�6��ݘM�y�������W+�L�=�7�2CzO�o)]��x
'��
8<��|���v���-vy�PaoM_qA���,����(HfGp��Jq��df <��0]e��o��i?��A��P�'E�H)�I�|���HQ�
j��?������r���=A��|�Ĵ�K���o]��="�I�����"5����yO?�ڡ�?�Z
)V at Q*���A��"��� vr��Zbօ֗R����V��ֲ��5궗���8�����u�X=�s���	|�*�4]��^��߯B��*���K�#��#J�Z����}��,� Q��=Y���#Q�r\�yP�����D
�Q�j��_�<��F�� [...]
B�{
;��X��0�m�CZc��M
 ��>����!�
���BA
Y*N���.
bg�n�z�p�WF�����A�Y��7�)�(��j�k��
Z/[1���u�h�?���� �����
�`+�L�H����<ԕ�
]+��fX3�zWx'�t���D�
$�Z�4���R��:i�$F Ք0yՕ[���U��mPb��4Ѐ�ŅR�x4�l6(,�:��
�j�e�ѡ��Y�6�+�Vi��	L�J~
$�?�ڏ#
-endstream
-endobj
-8475 0 obj <<
-/Type /Page
-/Contents 8476 0 R
-/Resources 8474 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8472 0 R 8473 0 R ]
->> endobj
-8472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 86.288 212.124 97.192]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8477 0 obj <<
-/D [8475 0 R /XYZ 89 770.89 null]
->> endobj
-8478 0 obj <<
-/D [8475 0 R /XYZ 90 721.073 null]
->> endobj
-8173 0 obj <<
-/D [8475 0 R /XYZ 90 553.16 null]
->> endobj
-8479 0 obj <<
-/D [8475 0 R /XYZ 90 537.41 null]
->> endobj
-8174 0 obj <<
-/D [8475 0 R /XYZ 90 363.992 null]
->> endobj
-8480 0 obj <<
-/D [8475 0 R /XYZ 90 348.242 null]
->> endobj
-8175 0 obj <<
-/D [8475 0 R /XYZ 90 174.824 null]
->> endobj
-8481 0 obj <<
-/D [8475 0 R /XYZ 90 159.074 null]
->> endobj
-8474 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8487 0 obj <<
-/Length 1558      
-/Filter /FlateDecode
->>
-stream
-x��Yߏ�F~�_�S��z�?�Ū"�U5i�kKdq�ޙ\�����挓�����3�-�3��}�,`�����яW��
�
�
���[�ǎ�>
�-�k�`��xB0��Ř`7����bL��D�+�̂�/�Md���o�"�K� �_��T��_��� d�<�>�<	�Wֿ7S:
�����zl��0QOx6d�(���
-
�|��u�6#o���D�:^��pg������#f�CLZ��Y�G�ﱳ��WF�Wζ��v8e�9���G�f?�i�#��#	G��Y��`�
���� ��B
��/̘�'�:�N_���h��MF�
{�
�:��$6��*(��6�"suc�n�E�E��^��e;O��|I�	e������N
X�#��!!���X�fa<����<��6�q,�@�N
-�dL���񆷶����"����=��RA5'�u'6{�P��0�؉��SMA�Ø���|�xW�¼�=��f�A΄�
$��0g;
��%���!8������-L��}�c(w_�^�
��]�٘BI�4�AY%\��,A�1Κ0q{*����l(=���L���WC��m�iA7����c}�G ���
-��b���� �)ީI�hSJ�a
����܄r���
��0����M�K|��U[��T��Y�}�r�\��.�D����2
���"(��j&y @�!�s �C
-7�
��� �y�e���"iê.�jW�wՌ� `�!���%"��;ܱCT7�2��
���a|�Iq��
B`�:�7��
��0�

�����
T
pT³J at -��1?&�B�!�FW�����@��{O^1e������
��+��M�$�|�S��@�?
L�Jb;d�Lp
Lx;&�Ԍz at 1���?깁���-�l�
�[T�k���'pAo��c�>���ce������׏��a\2T�ܐp�n�A|
-�)
���4`8�4����=�ц���00
%	��i~�2��(�(�N�z��
N�5�ۍ=ҬK�;�^�=�nDʽ��X�n'
��b �Jk�'K
9���p�/5;��/�w��0P���
���uJ(��`���ԉ�.�x]}��S�ai���M����G��*��A��|�@K���u�Th=_�����o�m/W�X?���S]��P���r��g�OyC��N�Ơ��
�U��>�_Jؠ>4K�$ItVm`Tj�7�
�̟/
��v�?��S5�)$<6��	oH$Z�ģ��B Ɉn��3
��
��U��e�us�˷p���
t+wE�ؗ�C���G\����F>�X�7w��aQ���������W$Iٻ
�
�V�)?&�"����ձd��d�
5�-Ͷa�{V4r$�

o�(�[����Zx���*���=�vꇽ�C
�]~�b�~2�	��}]xQnl�k��&6sk�������۱�u�� �Q�
������AVh	8������*�_N}�zTe���(��l�(��t��n�"G���
-�i�F�CޱB`{#�If
['Ys`��u��� ������
-endstream
-endobj
-8486 0 obj <<
-/Type /Page
-/Contents 8487 0 R
-/Resources 8485 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8482 0 R 8483 0 R 8484 0 R ]
->> endobj
-8482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 557.067 210.103 567.971]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 463.088 483.212 494.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8488 0 obj <<
-/D [8486 0 R /XYZ 89 770.89 null]
->> endobj
-8176 0 obj <<
-/D [8486 0 R /XYZ 90 643.712 null]
->> endobj
-8489 0 obj <<
-/D [8486 0 R /XYZ 90 629.616 null]
->> endobj
-8177 0 obj <<
-/D [8486 0 R /XYZ 90 446.808 null]
->> endobj
-8490 0 obj <<
-/D [8486 0 R /XYZ 90 432.713 null]
->> endobj
-8178 0 obj <<
-/D [8486 0 R /XYZ 90 308.869 null]
->> endobj
-8491 0 obj <<
-/D [8486 0 R /XYZ 90 294.774 null]
->> endobj
-8179 0 obj <<
-/D [8486 0 R /XYZ 90 172.933 null]
->> endobj
-8492 0 obj <<
-/D [8486 0 R /XYZ 90 158.838 null]
->> endobj
-8485 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8499 0 obj <<
-/Length 1852      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6}����f3ë(eÀuh�v[�-�˲�Pl�&K�$�Ϳ�G��ő�
�b�K"J�G~�s�h�=�=���.$�B���f+/Ğ�!>���՘q>���� �0����׳�g�����l�ψ�#�c@ x����{K���È����_�x�2��x���F���S"��'	G�f��-T^�YZ�[�7rvAp�	���S��u�����q:�x|%�r
��F�U����߉�@!uQ��ل��.�L���x���]�w�
Nk���̼#i�
���6.�;����8&�(]�!>
-d����� q?l��l|��%Ds��l�GU|�(Tg~J	E��������X�K��&*��\�G�[�jc>b��ʆYM�������wU?�z�ӟ8���%G��nv�7e
1"���H!��L�
�R��Rf*!��b���|7`\"h�&7��J��[ dz��A
-�{����=�4��ɲ�X{;!R���o'��ߪe��o���??���u�F���6ʇ��P��c�L���^ m/
y".�1Gz�ѭT��*��<��7�6��*�x����\���v�B��έ�d��$GX�cnAP�h*�����ʚ��A��W�G�l�
���^�D��6�l��4�Su=еS &�LBi�p�
�
3vcF����
tk]c���m��
�u"����=|�	A��#� N��4��@
�7	�'�K゚1���
T
��2��s��	�֩Zڐf��K��8Z[uʎ�Pն G�W!�TG��K5�H]�@�*\EI9��ʓaw5��n5�Ǚ{�X,q`��'L����H�&��8y��?���)އ���A�p!!/�X|��<@�� ��(�r� 5�*+�� K�{sib����$�
�ۻ[e����X$�)�=���(�
-���aX/xԧP
{$pX�4�� \�Vf7�
-B�&��ZY���
NI�8��Y���f�

���-
-� ���j��93��WQbFo.��Ҿ�(7Q���JN���8�ӵÌ=+�F
77��^]�Z]u����2lh.h�m=��		ƦK4�r��_���Z�P
	�0#��_�r�Tƨ�
�� �ƚ��Y5�Y�[��elۀk�6���*+� �H�m5��xT�gqek ���/�6�-��6ej\/�
�u��"�
<+
,:��o��H4����Q��Si+��:#��D{��D;y�h�D{0 �epH��-�
��Q~wu⥱�D���%�­�\�{���}�V��t�.��&�]��Ӟ�@�'�'��ꄝ�FkaX�c$[UzH��SJ
І��)t �Ϫ�D���d�pˀ�� �����.:���פ�"S��S�ʉ���j�
]]���&�싑H@�
'�)�N���@�k�O�MJR{���C�G
�sQ;I
b�<��h�Qy�����}�=���
����0b��B��>�
($R
?o�o����K�;y�
��h�4�Ǹ=����8��F�j��,Wŝa�i��@FA�%^�� 7���p�8��m�����l
v���p�Ǟu#��!�Z� �
���nM
9-��ic\����}
E�/�Ԉu&��)�h����(���
p������AB�
�����'8��)�rB9?NqT�ϱ:!����(.`Pu2��,���=�3O����%B��h�u�z������l‡m����V����$���
oC:�D&u�.����R�^v���
-��� _O�۪�5J��T3ĝ6ܔ/t#AT�*ҟ�x|�ܙ�q�o�]�<�3��t !fM�n�*??;��vhQ�m����<O�
�a�
-�M�ʝXm���9�����A�7K�
-endstream
-endobj
-8498 0 obj <<
-/Type /Page
-/Contents 8499 0 R
-/Resources 8497 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8455 0 R
-/Annots [ 8493 0 R 8494 0 R 8495 0 R 8496 0 R ]
->> endobj
-8493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.54 662.1 309.037 673.004]
-/A << /S /GoTo /D (main_BHZ09b) >>
->> endobj
-8494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.54 394.525 309.037 405.429]
-/A << /S /GoTo /D (main_BHZ09b) >>
->> endobj
-8495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 158.795 293.971 169.699]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-8496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8500 0 obj <<
-/D [8498 0 R /XYZ 89 770.89 null]
->> endobj
-8180 0 obj <<
-/D [8498 0 R /XYZ 313.62 665.253 null]
->> endobj
-8501 0 obj <<
-/D [8498 0 R /XYZ 90 646.405 null]
->> endobj
-8181 0 obj <<
-/D [8498 0 R /XYZ 313.62 397.678 null]
->> endobj
-8502 0 obj <<
-/D [8498 0 R /XYZ 90 378.83 null]
->> endobj
-8182 0 obj <<
-/D [8498 0 R /XYZ 90 248.459 null]
->> endobj
-8503 0 obj <<
-/D [8498 0 R /XYZ 90 231.768 null]
->> endobj
-8183 0 obj <<
-/D [8498 0 R /XYZ 90 77.486 null]
->> endobj
-8497 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8510 0 obj <<
-/Length 1824      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W𩥀h����h�$@��i���	Z�,����
��;��meJ�m!mQ?2�ݙ�3�3^��2����Og���
-Iep6
7HHx��!����`���C��([E��C����vϲh�.�Ȣ�v<�uZD��4ZNN�&
~:{{򚐎xJ
�R��R�wn�gh��^p�#� �D���$�\Fy>
Q�A��a��,�"vo>��8
��^1�Dȸ�2��
��q��t0]
�?�`��1���r�*���28
�6�{&��Z�C�U(��wO�
b��O!�^�����i��gժJ��V�a)	�W\�X'3'��@4b%l;�4bT!IM0Ԍ�Ø}g�����G�iO�Uti��d�
��
�(K��em2�!Qs�`e}�1Du���p����4/��wIG����
�<O֩�J����d)��!��z�jD%i�Š�z
-��>|/�qy�i�ŤȢ����������}A�м1h��U�Fź�.!��M�_����F�4a`��'ζu[���
O��8�]�K1"����<I��On���
�""F
>���G�)���X�M��&.�紵��b�]��n\T,��G;<ǝE��e�UI��f���D�!�
fk
	]D�M�UK��
�5A��#�]/�JgA�Ee��*�.���*�l���=\�#xI�i'���&�|��$)8���U&��U[�!$+dX���S�x�؝�̽���1��HO��fʮw�t�w^	�Y��.O

A��}��R
28/�Xuު�C�(�,���r���M#,���
�̲85؜-��9�|c�f?o�tQ��W��n��9+�~T�l<���?˨�l�K�}��:
���ٝӤW�8+�T>B�=��{,��z�n�.��B�������1�8ek"�����i��u��f�͋�x��C-��$�.���d��`������@��y_уl���zш�!h�~�A
�FB
�NE��%��t�p����r˧ZF��Z�U����Y([���J�Aj��$��W��H�������
-Xh�7w�v��m��<]U�V�\[��rO��Ky
�2�xu�N��Pt8�zN�?f�Of�Z��P��v�̟�Ø?D�Q�a�_j�0г���W�̟���!̟n1�1�Z=3�c1�v1��9
-�Ǝ�A̟*�ݛ�<�ʽ��~�[

��
�t�E�K�J&���߾n���>�u�ruo��m�9�����0��g���O
���We���E^$�Uq� @
1 �d �� �u  G��m�8| P_k x���&�O��O���@�/����K�S���q
-�y�|��`l���|�
 ����� ��bp2����vu�^���
��j+����G:�Cȶx7bT�pc��o��A
�;
G��^8��<}�-�0��?a@@�vyw:��5m��7aK������r������7ވQ*�Ga��l�B�c�MO�MR,�V`@������Ä��v;�.C��,J�yyO���]RK$��

-�iMZ"����\h
0��
�T)�]�Yg�“
-���3*�
�D���!M�)� ��R�j��K����Z*O�9���3�ͽ�	{��U|y�i����̡�m7���fU����+���٘�
���7���z&0�t�
|Z��� ����(Q]
�q��ǰާ��-��-�z�{�{��{�=��o�B�V�D�UT�b�ٵ]������_rZ�i\g�;ٟA��σ�N�k�nr{Q������
���*M6J���fyr��w��Uj!���Yu�$�����w��^ОQ
-endstream
-endobj
-8509 0 obj <<
-/Type /Page
-/Contents 8510 0 R
-/Resources 8508 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8504 0 R 8505 0 R 8506 0 R 8507 0 R ]
->> endobj
-8504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.332 629.792 235.598 640.696]
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.151 358.04 244.345 368.944]
-/A << /S /GoTo /D (main_affine_relation) >>
->> endobj
-8506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.2 86.288 480.931 97.927]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8511 0 obj <<
-/D [8509 0 R /XYZ 89 770.89 null]
->> endobj
-8512 0 obj <<
-/D [8509 0 R /XYZ 90 721.073 null]
->> endobj
-8184 0 obj <<
-/D [8509 0 R /XYZ 90 471.025 null]
->> endobj
-8513 0 obj <<
-/D [8509 0 R /XYZ 90 454.826 null]
->> endobj
-8185 0 obj <<
-/D [8509 0 R /XYZ 90 199.273 null]
->> endobj
-8514 0 obj <<
-/D [8509 0 R /XYZ 90 183.074 null]
->> endobj
-8508 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8521 0 obj <<
-/Length 2169      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W�)
ҡ�/����D�D�f����}9{�<`�
-b̙L~�V�ۗ6�ev�&R� �]]U]��W.p��p��ે��;�#���"zXDG2ֈ
�5�>
Y,F���P�hO��_�������ͽ�ۇ���pD*
I�6�q4���F1��'�hŔ��:��s��.��NJ#��H�Q�+ޏ
&E�I˴�[5�����C���>1g��OI�={��
�*hm��*
�)��u�(�o�$�W������4�
T˒ǵ��]T�e-`��i���_S�t�0�c��%e���EZT��|Vf�
���-
;}��S�y�H����9+E��Fx,1;:�7����ݭ
o���Y�R�h̎��pO�-N��Ȗ�3p��tD�tI���NtJYCT��<ͷ�,�*�1�K�e|dN����A^��� ;�
JP�e���_f��
�
S.q^�ؗ��$�G1D<��|�K8��<�!͑��S�5�=A����yԧ�' Kop�w=�B#7�}%����odh�r#
#š<�#��)��E���3�YL�z
�
���j6+W���fEZi?�������!�(b����t�|��� �[r�4^2�T�9��}u0�i����խ
��{�]��
Ra!n�!��\�Eg-�ЅV/mA����n��ζ}Yd��>�ӏa��I
&�P�J"�4C���
L+	��叵���
¾���y��PA1����!�� �" ����'Sk�ټ��*�&��Q��~^��"�~�=I�<��0+��6O���U�
YDM���IV� E@Ș�C������3�t��4YT�:�6�Ҹ�)�G�g��e��,O�b�� Q�
-q�[�9�<��(fM.�W��yP*Us�o ���Bjzo�)$\Q$)
E�'
����{�p(
�=ՆB
�2n
%p�<n�(†B1�m�sRK�=IH��c�|
�|
d' ( "�`�]�%(��m��a�
�M
C��+�^�7����j�:x�
�
�(V�Fx'�?e�R x�.��IT�X��^^,
A��A��.�Pq�3��BE�B{^�S�U��~�"GƔ�~
-��]��C0���qg!�w�Z�Q�(}.o�V�r"���-�����*-��% L�0��w�Hj֯!�9f�X
�y�<>��H�m��2Ƒj�=�����������z��������+ɽ۳K�j�pK�^�"I~�v�K�P2П��-D��׶
�F
ѡ��r�P=�Kv#���Od����$�Br m�i��*
�k�!�9Y.��|JLNS�ˌx�bhk�^W)nȌ5�qU�X������K�X�ɉ���?n�<D�����#M�[!B�"I|�E
B�!��Ɇ��>�H(�
-�PS�Ys"��i۹{�2�����.Z .��Ni#Oh���4�r8�
��a]]~�M��g ��WV�'�����0�����	NN�*�T�
1ָ��+��b =����"���橉����"� AnI������>�W�ٿ�7bߒs�����+~���qy�r��߱�e���e�����.۫�=� ���.�W�����q����:���+��3�s�Aw$�/���BLMߧ#�(���ق�/T��n�(�
Y�9��ŏ �fFO&�S�q�
��[��i��P��W
-�	½���U J�k�vU�kנq��"	y��)�|��z�1h0P�2��kN��D��5/wḬ�bƯ�j�aC@)E�v��:4:


vs 6m�緉�
�Nɿ�|ԩ�'�
D�ų�u���A�E�,_^ׅ\�ĩ�Yr��e��K-9�v���:��'1B�
��f�ۚ
-�z3&�hQ)��:'e��M����6_[��
-�ns߷{ߪ����n�ޣ
&f��#�Ƶ}m���d
���u�M���y�s/d=�*��.p�Y�9ןu)퍺@�u�7;�:���G���G\�~]��
�@o��
 �|}�@�b�QB�fx�6f� N{��^��o��ͬ�/
�ƺS�3s3vin��%����>P��װZ�4!�W��vp(�]��[�=B��18G�FA�
>�7�b�g��n�����ڧ�_F��3���aL�~2���7>�"�V�a��>��qe�OQ�����.͕@���Z��nrw���f{tȳ]���n�[�
�AG
-�&ݢ�Ͷ�,�����_
p�
�՚
-endstream
-endobj
-8520 0 obj <<
-/Type /Page
-/Contents 8521 0 R
-/Resources 8519 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8516 0 R 8517 0 R 8518 0 R ]
->> endobj
-8516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.852 493.616 466.489 506.095]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 243.77 422.924 258.485]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8522 0 obj <<
-/D [8520 0 R /XYZ 89 770.89 null]
->> endobj
-8243 0 obj <<
-/D [8520 0 R /XYZ 90 591.943 null]
->> endobj
-8523 0 obj <<
-/D [8520 0 R /XYZ 90 578.12 null]
->> endobj
-8244 0 obj <<
-/D [8520 0 R /XYZ 90 355.331 null]
->> endobj
-8524 0 obj <<
-/D [8520 0 R /XYZ 90 341.508 null]
->> endobj
-8245 0 obj <<
-/D [8520 0 R /XYZ 90 77.486 null]
->> endobj
-8519 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8531 0 obj <<
-/Length 2131      
-/Filter /FlateDecode
->>
-stream
-x��Z[���}�W�))T��Ul)Yͬ��(��N^fF�
�����������ZMV���Ʀ��w��qA�ǀߍ�z?�{�����W��A(-QW��ӘQ"�d�(��F�Q���&��w��u�̢��Ce/��?y�K����:�Ǔ/��߽g�#�sK��y!���O��e��G�%L�z��/I�v
�)W�,���&���Ώ�*�&̌�t�[�
-52t2G��G�
1��+ݢHh��v��

���}@��&x.m��o�����Y3F`R�`"�0���Z�Sˍ%"��D�^����4�:[C��J%�6�|���W|u�K���[�3�ss!
�%�TحU0�_�R��x��
�4΢M�s��G�ϔ�4��˄H�ѣ����T��܉�$z��vPO�P+x�(�3E���?L�ʺD��]:���}�m�dIx�x �7��m�t
"�<�Ǝ�����D(�{�$��l�������l�ƿ���J�&b�X���f
M4e�owq��E��<Ϣ$?�f�~�r�n-��X�L��2Nw�$��]�
-Ji����'��������r��:��؅
�7/Ѭɦv��
����S�n��/�J���h0RS�	S�|�/�cZ405�w�s�3�sRv�<,*eyw��I�|�
z�7����t�5���x��Q�3ůP�]�B��$_�:d�a/�Rx��ƺH�Q١�ǪU���(�T,�V��eY�r�b��+[��{��(
-Y�
O�q]�L��P����1(�F%�k�DÞig�0
��*u�v�KR*���I$Q��@
��y亻lFR9�:;6��P���e��fB
��PMus��y
g}
^�������g�d�h(�UcRM�*i���P���3��n/ˋ���d�nu_�T�c�֭�~�x=`�ھR���
-q51y�8;xϷr�z�!!��gE%ugH�O͢�6Ew_{h����:J+w
�e��WW�+}w�by㸌�6�҃�����)]��
{ʷpZ�6G��??CV
-�������
o寮v��R��>m�
W
��˒��� �:3�05�.��`F��g�Q�٣B�ybO��_�"��B�
��W?�~Z�{�W֎m�!_�fI:�Hy�2�]�����9YEl����3�Y&˓U�LS��״Nm1��9�?������p#%Az�)��36$�6�ą�tT�Y"T���fh����^va�V��sP�#h��Wo�(�
U��k<z�1���W4�%}��HwU�FU���5�~�!�	m���
m���+��<�L7�j#+�y�,�

���v����OI�o���HI�
/)�]q9���U/���rh��mև>+12�5�OJ~
]E  
��lmE�ն!{�l�W��1�
m�#�
s�ԍ
d��C�M��&:�m��s��a�ql���n�������o�
--o�os�8�۰�G��q1 �"g(1T����8��u��,N9��Y���

Or����+Pǟ��O�$���-�0�Bk
-�8
�^�d$F�	b>}�>H��v�z%}��u��@��=_O�h���o.� '�����0
�
����3����	؍(�}��+�`9����F���^R�2� �S]4ޞ��!��Nx
-�m���q�E�onN��1/Ƽ�!�TH�V����Bo���hP�^��
y]B���5�!�+����)]�A�ȣ�b4+�y� �y�S���cNvs�F��a>p2�h���m\�ede��ug4�<�i_4<
�"��:�hq�S��hŮ>�B^8��
S���4��c5�����R�[����d�Dv�:�?A���7�?b~��?N
s��a{���B���C�"~,�j�\}
�� ��e�0,&u��d���ݮ�m�0?=��c�3'0X
`���[`�Ѡ
��I�I��ϔ�
r4(^}���ZџΪv׮9SI�!J�4ʺ��D��X���J�soA-H�8�kO�L7>�=�Ո�VZ\���B=�S� �5G ����n�W����ߙC����!�~?Qj\���G�ST�>�8�:Q Z
h�ݐ�NI&SX�1�뷴�?A��o��wt2
-�,h���y����=??�Ł<��>#I~��o�NawG
-s?3����w��]V������N������YE
-endstream
-endobj
-8530 0 obj <<
-/Type /Page
-/Contents 8531 0 R
-/Resources 8529 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8525 0 R 8526 0 R 8527 0 R 8528 0 R ]
->> endobj
-8525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.382 628.66 394.782 641.578]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 356.804 440.282 369.284]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 86.774 425.662 101.489]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8532 0 obj <<
-/D [8530 0 R /XYZ 89 770.89 null]
->> endobj
-8533 0 obj <<
-/D [8530 0 R /XYZ 90 721.073 null]
->> endobj
-8246 0 obj <<
-/D [8530 0 R /XYZ 90 456.953 null]
->> endobj
-8534 0 obj <<
-/D [8530 0 R /XYZ 90 441.488 null]
->> endobj
-8247 0 obj <<
-/D [8530 0 R /XYZ 90 200.156 null]
->> endobj
-8535 0 obj <<
-/D [8530 0 R /XYZ 90 184.691 null]
->> endobj
-8529 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8543 0 obj <<
-/Length 2485      
-/Filter /FlateDecode
->>
-stream
-x��ێ��}�BO�
�
Q�(i�H�� I��f�ه�-��֖I
���sI](��,��'Ѽ
�������{��|�ps�:�$"��^�
-��y�g����{LĄ&N��o�����LJ{\�y�p��
�%ߣ@H��[�o��
���|’�;�M{�
�;���7���?�S���^D9	�D#�vN�YZ�{�ʺQhLݾ��
�I���C��<��u��u(�#�:��r�B�4B�<OW;3s�������z�߶۟>��~P��Z��6/��Ln�1^��Tr��n����h��$Qx�vq��:m�Z�,'h�JD�(���<Y^l�� �4�&�i�SbP�(9����tJU��P�ѱ��dQ��Bas��0"a�-J��J����,`Dqη �M�ݠ펍D�'�"��p
��
�n�
��B�<�L 

JI�qT�tg�Y�i<ۀ,�V�
�v�G�|Tzصc��

�)�K&
��~�}"��[��G����ZV�B��,>h���./�
PJwy�LkC��%��#7Pk��
�x�F'8�vG&:2�.'�ּ�P�p�����r���\��
-���߁R�W�
� !���z8����H��D]T��ǏMGP��M����<��=Q�6o
׃Vp�gpZ��r�%*�"/��*𲽓�܅���1A�h��R���ՋJy���x�?M������5����|��Y��k<a$��&b��
Lp� Ђ3ej'  ����#��
-�� ����Ǿt����U�}�dQ��ك`Ȁ������
i�z<�_)�LC4y�>]��0�{�ʬN��WuZ?�ݽY��}��~�V.���A|�$�A�; �c@��~���X칻kAC��
T�\��7FUt`(�Z�ɠI@�^!#��He�D1@����OvD�7{v��`C��
����A����b��C����!N���h�W���>��au
�ɘ���>��)��>�u�	:�C�'#�W
L��ɠ���{�7�n,�nX��,�d{��p��<��

����k�=� qM$n�>|b�-�
�,�$)�OG�q��*���u���%�DŽ���,@va��Ċ��qt.V��5%h� �3�
-6d _:ClA�:�t�ޖ�p.T�C�8�i5Ĉ8�b��y�]Y�,�������h��4.�F�U{�1_��ɯ����򻢕Y/�����"�3�
�EB$�͙��RA��w�$+U���YU�Njc��A�v���u��7J�d�V^��x�dJ|>)�JgT
yc�\�Y'�H̾�a��E��n�有dD�����(�R
�Z;e.�?(�_]�|K��>?��s(Pwe�B�'�+c�c�ɏy��l�J��.s\�@�1TY���E�����,wN�2�X
Ot-3�r�)��n�J{"P���C���逢R�%O�+yr��|�F���*�2y�;��q� }��Tr�c{�k��a�9ӣy���\�M
U5]N|�@V3N
~o0�}߹L  V��
��v\םO�~�SJ�������?���Kk���Q�
-R�)�Ok��޻2먜����֖!�jm
/�F�j�LyrT��-�v�&���*��:u��2 �k��o��ȿ�ϋ!M=����P����
4Uʋ)2���)v�i�6�g\���6���)W}-����V�p��ڦ���&�Q���*����i̟a'⣚�ƛ�x�����Yh�՗=+�-!�[A�X�[ۈ:��i��D�)~��
T:�����q[6R��P�5 � �3��
G�����I�x�vʻ� p�9;]���K��>?���"$�M��LB��!�a<C�car�XR�:\s�LA�B�O!R
Ӝ�
lǙ��7�^�
|�|b���VL
��P�
-Z�AK�d
�� ���—���>����cզ�/TP�f��r��
�dƝ����o�Ä
-��ݕe�ݑ��
����!�
|��n��@��0�1�Ԝ;n��V��lN�Z���|+Y?��^q-�bv��4g�����J�=aZ7^�O�	�9��{/�)�u��u%
f�AɄi�ae����|�?�9����z]]2�\a�6Z�_N�Α��g:�`Q���ų
-+ at E/��'�
����W:���� ��2�P�zz��u
�ݗ����s�X�P��6R4F
-��t
NJ�Y
I
�+|�����\׏=
b�[�m� ��6؉����*a�\��$�	K&!�\5s6����X}��o��CU�
��_�S�"��V���q�f����
�Z�l�o���
ox����q
-�X
-)�f�1��7���*�)��z��&
2T�����_
B����@�� 8
�"+�����<"!
��������ϮQ��n���F�����(�?���=�bw�X���`F�?���줥���׍~�Q�:B:�����m�����x<�uCE^�$oo�jw{�\#(t�d�ؕ_�е1��U�x"�� �ó�
-endstream
-endobj
-8542 0 obj <<
-/Type /Page
-/Contents 8543 0 R
-/Resources 8541 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8536 0 R 8537 0 R 8538 0 R 8539 0 R 8540 0 R ]
->> endobj
-8536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 475.982 322.446 486.886]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 296.067 116.998 306.971]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-8538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 251.745 206.372 280.811]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.155 86.288 392.657 97.282]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-8540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8544 0 obj <<
-/D [8542 0 R /XYZ 89 770.89 null]
->> endobj
-8248 0 obj <<
-/D [8542 0 R /XYZ 90 564.219 null]
->> endobj
-8545 0 obj <<
-/D [8542 0 R /XYZ 90 548.717 null]
->> endobj
-8249 0 obj <<
-/D [8542 0 R /XYZ 90 420.169 null]
->> endobj
-8546 0 obj <<
-/D [8542 0 R /XYZ 90 404.668 null]
->> endobj
-8541 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8552 0 obj <<
-/Length 1877      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~���Sk1��m��`4M��̴h�Y�c
�%E��;���"u�-ۓ�)P Oi��ܿ�V����qr�āBJP<>
-2T�
%��)�(ij9�O�gO�r/�gO���Z'e��6}*�����ò�Wyo�гO���|E�@<�
-	!a�F���Oؑ���
-��_^�p���j6�
�0E�z[l�Zۙ�.g$��l	SL1>e�22'�'?O���n�HF�r;��		L`�T�E� �
~7�����<���/zjJ$	
$!
l�ݗq�H�$}I�]�ټ6��B�N: �������y����꽕>��!��km�t��*ͳʎ�u��$��ɭ1:��
�F���N�f�O��*��z�f�v���O��v��m�fF�`
1��`���j��-�6.�RC�J;��fß0���4#|�j��s��v�Lt]�j;̟�oQ�ej�=	:t�0&�#Ae �!�C����K]ԍ����"�!���zӪ:���C<}�7i���ծQ�W�
��HѮ�en���fsN�	elȹ��P"λ��1W
ô	��H��XVcI��ݚ��[v�2O�e�-�:}�h��>����v�	F����<��"݆_�L)�yy�TF���S!9G���Rj`k��L
-$��x	z���*�X(.�
~��v���}�z�7���Y"�b]�@#�sN!qi$���! �B���n�q���z���������k��xkJ8��
�3�K-_�.^
P�ib%^���e�L�3*�u(?c��K�a��wno���ba:�"�3 �Z�t�(rx�ℭ�|9�џ��uaa�n�u'
-j�Egٽ2��i'��n��^�(
-�~P'��qq���o��믏?���/"�g3'c�AdD��~L�M��O#I='�i�7)�$�/��U��bE�Z�:�FjKBbc��ڢ�Z�W�On�̋��"�L
*��uU�<eMw���[����2I3(��<|L����_� �� S!�Es:�*�@
�#�G-g�6��n�Mk��d,l�yX
g��7���l��v�N�;@@���6uJ�1c�ve	��e�Z�Β�j�j �u��v�j���]�؈nx��NgN��H�Q"��ĩ�4ўM�9�Cѐ-��'�/�Qx`��3y
��
dt
-
Dt	
8#� ��FN5��sǚ98Iq����T��@aM2�h�Os��4S-
tmW�a2B�!��o!�J_��
r�D2� ,�o�y`r�c�(2E��:���) Q��p`t�
R^ $%�H���'�� �"��w���`��`r Hv�s���g1#���N��ِ����
:nU�p�l��w�v
��M�	���D
"�Z�`�AL�+w
-x(��������v�=>��+T/o��i�1���FP��=A��2.�c�=�Y���p(��[��~A`��_B�A���5A���b�?�e\��r��@q�j��{� �o��Np�wpw5~�E�nq{���Da�d�(���
-6����.3��d��
��|�R��NŴ˦�8��%~B�6<"��.1�9�
-?8}��%
N� ��%�\�|���"@���k[{C�y��vuO�m�6���������$��,0I>��1Ht����O��k���i�F0׸T�
��d�bT�Hʃ���x)p
�\�������G�h���.��9����-���ʿVb=���z̃�Q��Zz}��Ӭ�a�q,��!��kd�iy�q�
x����P�1��*r���e��YѽIh�=n؂�
:��T���
�����l��)��-�(
���Aנ��ȜA�<�Ƭe�ڧ��OO��$��΁�.non��=ZVh��E����(67��3�BB�򭐎�n�Je0�m*����u56�
-endstream
-endobj
-8551 0 obj <<
-/Type /Page
-/Contents 8552 0 R
-/Resources 8550 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8547 0 R 8549 0 R ]
->> endobj
-8547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 117.389 355.512 128.293]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8553 0 obj <<
-/D [8551 0 R /XYZ 89 770.89 null]
->> endobj
-8250 0 obj <<
-/D [8551 0 R /XYZ 90 630.767 null]
->> endobj
-8554 0 obj <<
-/D [8551 0 R /XYZ 90 616.313 null]
->> endobj
-8251 0 obj <<
-/D [8551 0 R /XYZ 90 437.376 null]
->> endobj
-8555 0 obj <<
-/D [8551 0 R /XYZ 90 422.922 null]
->> endobj
-8252 0 obj <<
-/D [8551 0 R /XYZ 90 216.348 null]
->> endobj
-8556 0 obj <<
-/D [8551 0 R /XYZ 90 201.894 null]
->> endobj
-8550 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F72 400 0 R /F56 363 0 R /F23 364 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8565 0 obj <<
-/Length 1724      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W���
����J�*I�6�v�K72�]���f	��g<���lJ�J�e����w�ߙ[��^�M�[.r
�X�;�Ŗ�.�-��!x�q��b�B�u��������o'7��������W�"F�@RY����#�����s����,N|����.��&&����HfIB!A���.��N�
�$c%ڟ��M���,�#/�w|���(��U��^�t��}�/�ӇC/	�Y���,N���|�-���f53�0�3ϼŅ� �d��C?J��X`B
g�y�I
 1�.�(�����
�p�0�y�u�3Xα�ho$��[~9�n��`�G��m�-�k at M�o-���
��2
->o|�LP�
�`�9F�������/s?�C{�ZD��
-I��n�q�-���h���^,�^r�Y�Qv($\�\ZF�d���%�����W�/ .�78E���3�F���Jj�
R���3uǤ\�E�
9�
U��z�(�
����" �S��
D�x��� B
;��AuRPb�
�	�M0`C
d�l0���j
z�o$@�5��I^B��g�+��n�G�
-�2�'=�@��ɏ=!��Lw ��WB{U��|�SB�%�#|�)����\�c�t}��x�ʛ�ו!wK�x�_�Y�%���w�̻�ejz���}�W"��!u�_+{��
|�8�k����Z:S�K�x�| 7�R]#
U)� k�
=�Xu��	�a��sT����ь
�XK�7��NÁ�f�ll	��*�ق?���D�S�QLh�f}�
����z�Ba�ەZu��§�����|�%r�2���ՒJ!�U՘S�Ȁ�-U
E�>)6�n�1�QD�Ǟbj
HlasX5�Є<�Ӳ
��Cޱ���`��O7af�s� ���o����NT�ih&k_O����7���'�PN�)������C���)��hs���BŇTz"�P
ڀ��_����8���nJ�yeb�M
Jh
U��6e��MHWU%��eXD���	L�
�E��
�]�k���l"��cC��<�w��ZbN��
��W[1�ʹ{��Uf��n�
��4_~w�����{�
͈�Y@�[=
q��AL/c�e,��E�
��?8Q���"�
%�PXA�GCG.�
����
��a3mP���'L�~~�'�2!�1�*[ܞ��f2u��Q�zx���=⏆�}#�r���I҉:B�#�~�.�8F��GH:�GI�<N�
Ȫ�8��$�&���<����b��Tvt\iZ�s
v�.��o��
g�p�
g<gT��os�0X�Խ�ܱ�����R�B F5-���� �Ᏽ���#=�%y�D��tD��9�g�!�:�Z[#�f�Mov)ĬɆ^.G��v����(p�&
-H��,�Թ���rI��XZ�a������L�jW
b��V�M__��P.�
=�?��X�-�
\T����y�
��cd�~jN�������46W~t's���]� 5�"��[ҙV�e.�: �}�XG�K��K77��N3.
s
-�S}�WҩY�>�0윢5���FD�<H�9��f]{hW����x�/"�_@�^�d*G-`5�"J�KE�-t~�#I�ⶬ��(����O�
	�\���m��<5�e��0���G�a'6�&q��h��d�W�
r#6 at +�ϸ2�2��W��v�E�m�`�� �?�
):f*!w��*.�#�q��C�����,
-endstream
-endobj
-8564 0 obj <<
-/Type /Page
-/Contents 8565 0 R
-/Resources 8563 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8515 0 R
-/Annots [ 8548 0 R 8557 0 R 8558 0 R 8559 0 R 8560 0 R 8561 0 R 8562 0 R ]
->> endobj
-8548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 696.002 268.34 706.906]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 538.625 355.512 549.529]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 443.447 268.34 454.351]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 298.025 355.661 308.929]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 231.71 268.34 242.614]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.008 86.288 276.143 97.192]
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
->> endobj
-8562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8566 0 obj <<
-/D [8564 0 R /XYZ 89 770.89 null]
->> endobj
-8253 0 obj <<
-/D [8564 0 R /XYZ 90 648.976 null]
->> endobj
-8567 0 obj <<
-/D [8564 0 R /XYZ 90 635.085 null]
->> endobj
-8254 0 obj <<
-/D [8564 0 R /XYZ 90 396.421 null]
->> endobj
-8568 0 obj <<
-/D [8564 0 R /XYZ 90 382.53 null]
->> endobj
-8301 0 obj <<
-/D [8564 0 R /XYZ 90 184.684 null]
->> endobj
-8569 0 obj <<
-/D [8564 0 R /XYZ 90 170.793 null]
->> endobj
-8563 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8577 0 obj <<
-/Length 1699      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~���Sk5��H.� m�M[$�n�6����k!�"�q��;�ˑ� ��h�hj4���f{�
��O~��\<���H�����<�=�5><���)���ٜ`���fO�<�fO�h�6�<X���A���|�,��4	���:�������g���S���K�x-���2� �Hy��zD�F��f��S�DAQ��T`����Y�Ʈ�6w&�55���fb��dN�^O�O��
�fH*oOn�bo�/<��V޶�{�2�F���	v�-�4˜{�pD���:
�)M^�j�
c��a���
�X0+f7x�����5�/�5��+{-�A�,�{�p���K�p��)A\�fӭ3�2M� L��>��}Lս�3��V���Ӂ�u at Z�{�uX����&�
�g����DBh��p¾�,�ٍ0DU�kw�bW�&���]{���Х
�M�
�L��,OgDL?TLc|w�
W���˫S��ρ�3Ov�$I�! J�YV�[=�i�����O�ְ����﭂��aFm�F��^�i
&��g{*XM6�ȭ�`-�
-�F��2}We�I
-��
�*!l`��3*�lצ���2(� H
�� ˢ���Y��J���e���靈|�}���o�B}ú�V&
-vn�Y����ƀ�d�q���s�|
-%����qij7|f����E����,�`� 
-W� ���&)���4�bB<�����4�IYN}���i\o��F$(�I[v�d5"��Huɻ
��0�~+&7��lW�G�a�L�,(C��[����]�ka�ɘ6�#��P��ɠ�9�
-������l��y�����/l܏: ̈7��B�@
1C��e����/����K
���.3	��'�(�
�|u
-�i]�J�4\Y��I �h
�i ���9cpn��<>e���'O��H���!iu�-ԟ�(�֫U��1��'��6�,�'��
!؍��w2��و�}1��-7aA��
��	%�3D�ˏצ�#��.O㑔
-�B��2~�ks �ӱb)	"�bI�)��jY2J�ȸ�
G�*��b
A�,���6�hl�����8�_��� ƾ����u�uĩl�_��C�u��BB�������I��UHC�DH��d>x���|)O��"~E�FKiŤ�0�;�~k0��8,�jQ����P% �d� �H�E�Sq)�#*��kz"�!� L�)He=�B[�r�*��Z�I�b��^?;���P��>w
N6պ�$A�2�T �Z��0���t�Dv���>�y�J��Z��P�:
�#�
>Bp�RC>�۰��x�jz����J{_w��T۪�vU�8۔32�;�۝�Q��;�ܥ�������©7$<
-�w8L�ϡGr���E(�؋ж:�w1B��ȭk��(ڛ��#�c��Pp��s�}��~�D>�,��3?;���pX�����c���؏<�ԯ��
��<
�_��
iɑ����]�j����s6��	��
�i7��h�I&�����T{
fa�6�>h�Tݥ����N�Z7���B
������?U�/�$�r�0�X_UE�j�c�/�G�4؇�
��8P#��A�	�n�e�a^XN��ɩ�& �xze�
�'{�5w�Ojt�~�m�[�evyq��nѲ@�$�r�P!.>͎�����B�j��bq�P��"Iqͣ>��?M�A
-endstream
-endobj
-8576 0 obj <<
-/Type /Page
-/Contents 8577 0 R
-/Resources 8575 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8570 0 R 8571 0 R 8572 0 R 8573 0 R 8574 0 R ]
->> endobj
-8570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 644.047 268.34 654.951]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.456 475.806 371.442 486.71]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 260.148 276.047 271.052]
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
->> endobj
-8573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 151.694 268.34 162.598]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-8574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8578 0 obj <<
-/D [8576 0 R /XYZ 89 770.89 null]
->> endobj
-8302 0 obj <<
-/D [8576 0 R /XYZ 90 569.839 null]
->> endobj
-8579 0 obj <<
-/D [8576 0 R /XYZ 90 549.508 null]
->> endobj
-8303 0 obj <<
-/D [8576 0 R /XYZ 90 366.136 null]
->> endobj
-8580 0 obj <<
-/D [8576 0 R /XYZ 90 345.805 null]
->> endobj
-8304 0 obj <<
-/D [8576 0 R /XYZ 90 77.486 null]
->> endobj
-8575 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8588 0 obj <<
-/Length 1812      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�S+�D0�Ng�N�����X틛��l��H��|��wq�}�q�>��&	.��-�� ��"����O��ы1���<�q�1��V��q:y70!��2�?��?=?��F��#�p@��",���w8X�� #���m��2�n����#|�-� B�7	F!�A�L�c<��v�I*��8zb�T#����DGy� ��nv*K�j2��
�r���^���`
'��.'��te5��OI�Mo&�77k�*�ů�Y�7���J.�,�,N��n%Q*�d,����)c�[�`
-~�9�
M�=�Y�Z-�]�T�U�UY��Y�H��Bmϔ���/�q�v�]�,�mŔ1������
�V���m�IJ��i�m�L���\t0���i�#f'��Z��Ӵc
���:�BQ�B�&���,��3��co���`�V�&߸��'��fUޓ�7�G&�|���6e�RS at A��B��REٙި�.DZD D$œ�<њ�q	�7b����{�]8���>�!�
4� Y
j

��(�?ࡣ
-�����ޝ9�j���6��u���2�.�+'�N/֪��C��Ԅ����J?؛ұ�����:]���R7s��/���G�#ڴ{M
X���򦄒BZ��u��qU$�
3��n�qps�mK��$g�f�,�؍l��/�T"��^&��ʫ�.c����2��/���bX
-�I�T��b_�U�b�J��O�E��e��MA��x�����c�>P((�¬[7Q�����@�R m�!1���p�Y��-�:�!rk ��>-V�x�V�r���?l��ݙ����($ĸ8$ԗI����T���Y�u9���!ٴ����B��
�1�x���H
-vX��޵�Ch�Ӗ:
*!T��Fjh%5��]Ȗv�Q�
�	~
}�rP%��]�a)�4AD�o
�#
1~!�q|�#EA'&�<H�n�����
"d'ƹ]�F����p5��\mWLt��ղ�4�Ɓ��al�a�-�$_��
0���j�ʕ���г;G�*O�
���G!r����D��������şH���)\b�ۥpv�YCxq��@��d�Ć����9\
ً�'{ �"{ ��^c<L�(�	I���V�G���%{ ��&�lO;�9ñ=鰽(lV�f{
��
-<�lL�n~$! �T�(���
��(��J����D��'���~�܏<��1ݨ5��s?�@����~����j�<���")��"k�������
��
�vx
��`@�f➵h��f�}�HTK�
��=M~,�	�F�-�=C�=�+�s��a��l�3f\5VW}�
0�
-Ȟ��r�M������Qpj�i
�N��9�5��=�c[���
"��E�%�h�ŷ�'%�{������ԩ[��X)�||7���� Pb:\���R�*C�>�G�-�W�f���.��B�=���WG
�-^]䆨$&�qz���v|=�]S3te��^�k�e�/���%t%���4�/�6���V�r�R+;^�[b���S(���W��u����O�۷
�w	j.D��As�E%�5��|��b��6�8
4up�0�m��Ĵ��,N�
,��b$jby��F�{́���|�+�o
P������jkv^��2�JU�ķ�֥���\)���Hj~
�nH86L6��eo��F�C�=�X��.����*��e�A�-��>ϭ��_�*a1MD������D�
e���/�����b�^�uU�fGGWWWhY�}��
-�VG����v��@I�j%�;�������|
,�?�S�`
-endstream
-endobj
-8587 0 obj <<
-/Type /Page
-/Contents 8588 0 R
-/Resources 8586 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8582 0 R 8583 0 R 8585 0 R ]
->> endobj
-8582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 222.666 236.659 233.57]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 168.166 256.157 178.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-8585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8589 0 obj <<
-/D [8587 0 R /XYZ 89 770.89 null]
->> endobj
-8590 0 obj <<
-/D [8587 0 R /XYZ 90 721.073 null]
->> endobj
-8305 0 obj <<
-/D [8587 0 R /XYZ 90 527.895 null]
->> endobj
-8591 0 obj <<
-/D [8587 0 R /XYZ 90 513.763 null]
->> endobj
-8306 0 obj <<
-/D [8587 0 R /XYZ 90 311.504 null]
->> endobj
-8592 0 obj <<
-/D [8587 0 R /XYZ 90 297.372 null]
->> endobj
-8307 0 obj <<
-/D [8587 0 R /XYZ 90 161.637 null]
->> endobj
-8593 0 obj <<
-/D [8587 0 R /XYZ 90 147.505 null]
->> endobj
-8586 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8600 0 obj <<
-/Length 2099      
-/Filter /FlateDecode
->>
-stream
-xڭYے�6}���SV��0� 0���l��ͥ�س��T

-�hS$����ߧA�WA���x���ӧ)
�
�p������
-)AE�
�P!.�j�_�B�\���͒�E\
���%ŋ"{��M�N���z~x�5i�]�����>.������	MO�BBD�x;�?퐉�"
���9"�w��5ÿ����+�1L��B�,n���Vou�$r��n1���qf������w����p� 9ܽ���
��1��)��A� �
�Y���;����
-a
	������Uݚ1���g%���
1gv�?��������@�o��ޡQ�ƞ[��q��9
��p�o��oI;��)ӓ�܀��N{RT���"ߤ���j
-w�ޤ��i���O�y�Œ���Go�̻	��#�`E%�Zh����D�M��g�
-�8�S����!͗!��t�����n�A�8Rt@�*��/N��*Z�[�7�!E}t��1sN�C������ڎ��@a�Jk�b��*͓�P�Mj��}vJ��=+rw
�=�}�ѭ�����G�j�!��ޤț8����8 }�8'(
أ
��
��q��X�C�I�`#�GL����]�Q�9A�(��b���9$5xI/�q���Ej���uCE��3~
b���T� fN�k̼b
�|���ނ���r�Iql]��}���j]�q��sz�
s��[x�5�$����>��4L�I 9�
'ݤ��$�3�}�g�<a�b�"�DE*G���	��3�N�)��93nf��
��g�3{zJ��M
���$�p ,������I�]dg���+���Wbg���{z�r/EL��#1"JMY/v�^����g�9��a�Qe�U
�a���Ao����!��/�N~�:�9u2���"N�
�T�ܹb�
j�g��H�I�e_��#b���N��i�<���tR)��0�W����Y�(�2���g3�?ĥ��m	
A�8�i�W�k1�z
-x�%�����Pb{T�-��2�+� A]'�Y	���� ��k4�2w��G�	H�sq
_�Ύݎv$�nP9ĩ���/�`�k`�lw.v0�� �����K'��y@�G^�P:
��S�u��g��l8������� {g64���&�m{�Ƭ��ñv���VH7zf��2[�z�`�}���̡��0q�	����{*
- N`#�58�<��bS
@��tl��}�'�<�}�V�9Vy��@�CS
��"Aٳ;T���"�7��ȳg{�=j!2'�.A� �nl
�bs
w�c�=�0�W�i�j	9Mi�V���L���$xv�Z�Q�Rл8P��FC����X�r�#ц�9LB�����7��h��Pm���L9aȘ���>5m�9&q�����'�-*w߂
'.�.&��/\�eD0�޻r�o;J�_Kk��m���.�0�rp����x�ƣ[�8VH�����
��¬�>gt��y�����
h���Y�ͺ�6_��4��d��d�:	�㡫S�_�
��[1�����!˼8z���T׹��Tg*���l����q��{��� !�]������^wl}��	�F���x�u4R���
]���I�^��J�t��x�a�—��3�O�zր,����C����g/Gr��v	$9i����i�e��
(bp��J>�z[h|SA�Q%fVʩ���{
������7��	Pdt�D\��R��
: �+􏾨	��;�@���a-���
-,�ɼE�Lc�pŠ2y�;���0<�zT|��'�
���m/��V�o)�w��m���� Q"y����@�B�Hx2���+�=o�
'��|IJ0Gl j�MMd�"�)�[$/ܪ:w���0�.��.���fFB''��(5���
�<�ҧ�x����+�$���4<[�opH�f�-e^�ʲ��Ɛ�t[W;���D\ Z��
-��!.��[!�䬩p��!v�]�o/]�o/�[��K�.�~��cW9
�8�5|S�Cu:�$�;��k=�tg?��:�Kd��f�4�����tBI��yZV(m��2�?��F��E�w-�՛6C��!>/���_,�O�
-endstream
-endobj
-8599 0 obj <<
-/Type /Page
-/Contents 8600 0 R
-/Resources 8598 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8584 0 R 8594 0 R 8595 0 R 8596 0 R 8597 0 R ]
->> endobj
-8584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 693.003 206.372 722.069]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 644.384 483.212 675.353]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 362.798 385.519 373.702]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 239.856 85.237]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8601 0 obj <<
-/D [8599 0 R /XYZ 89 770.89 null]
->> endobj
-8308 0 obj <<
-/D [8599 0 R /XYZ 90 622.45 null]
->> endobj
-8602 0 obj <<
-/D [8599 0 R /XYZ 90 603.357 null]
->> endobj
-8309 0 obj <<
-/D [8599 0 R /XYZ 90 467.3 null]
->> endobj
-8603 0 obj <<
-/D [8599 0 R /XYZ 90 448.207 null]
->> endobj
-8310 0 obj <<
-/D [8599 0 R /XYZ 244.439 77.486 null]
->> endobj
-8598 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8612 0 obj <<
-/Length 2324      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���S#M+�Lg��ng�6��j^�;Z�-v%R!�x�����
(P��}��	�|��

-GO��~�����m�#���"Z>F
-GI��i}�1
�?.�����(�2������7�/����7˛_n<��p��h����G��m�S2z1��QL��E�7?�����g�b��d� �Y����ɴ�oaY�U�K�Vگ�
-o������!+�}6_�D�
9CB�v�_�x�t �:'xV���{�)��������ݗm����?�*������nҧ�Hw��mziD�D��S*	�vEH�c����pU�Ok��sw�}>��fU�u������� �8��s��\QP0Ov����+�cڡ�V!����|����Y+m��։@���>�
-'�����ó	����C^��"�hWr�AH%�RF� L���*G���t��Q�3���Q��_�.9�c�-��f��
��
�`]VUV�b�O�[e@��а�
<�H�c�db����p�������!���������
D�+�K�0��t���bB@��d��_�w�x�K�m�>��Uv��k����#�|�N��H
-5���B%=�B���!�|�pB�a��7�-��!"���o>��C�_i3�璺�����<C��|�J��g��9���H

Y�ڄ/��1�DZ�*rڍ)�
���)۰*�f�>�i���R<�e리.���ט1�)
f��xj����ʓ^�pDK
���n���P�:;���H����m��e���T���=�6��:}��J
\xp���a�L/�6��X�	�_�z�X�t�Q=���'�瞧��p����"��W[�#�#N��!r�BDS�@g"�w�]���8���Yȥ���G7ۼ��@�3�ք�b
�p�3�8Io�������p<{ɛm���e����#���_�gj���Ph5 Q
-%�|�KN_�OACb1�%h
���au%�&�P����
-�Dm�y�l6��8+��;R�X�X�������yn�Sw�6B�pq��-fH]���	g�(�p��aL\�x ޡ�~��Ox�(��P����'����'�_`C��s�3�ǽ���j\<�^��^���)�&d"Ή�@�́��aCZ�#�'/$}�
��'}��G
�����=�[�'�M
)`�����?�8SK*���� ����c�1T���du�Y U��	y�0����
ou���
��[��JAE���1�,/¹�]�S���kr��t�<��9�~���
���W�[�+O����j�~4�e���Y����g��g���c
-��&Q!��G�
QbB��EFHxԴ�j�{�>A/ݦ�}���v%H�iӭ5�i��V�
Jg�!���3\UAf"����W��D��c��^���5��d�
h����my�.���a7'��}�g�{&v.x'j��m	WrV�me}�5������3N���8,����T��$'Er.]�In� i�uWwA}�
B��l
-A?-_������԰�>�����R�$Q�CKq�cZ�ET�@�i�����r�D�e&xi�4�
�R�T��x)��#`�� M[+�:�|
-���i��z-��hZ���c�i�M���*S7C�ÂT;�����Q���-�
�=��!����s�!�u��
�S�pq��r�Uf
w�_�ӝ�նL#��.�'��'��`ı<�3'
��
Z�������P���}b�
N�2�݌"�M s!LF�K���o���)T���޴�Nw}��
-��0w
ݱ�+O���L@澄�X	�}و���%�U"�}�!E�ྡྷw����}
��e,��� �)�!������S
N*&�V�G��}��B�����f2v���ϐy�3�epXCN$F
���
J;-���a���L�J�ͪփy�X�+1����sH�����uН�~+H}�Ɩ
y
-�ʄ�C����<�Mڂ ��Q���%=�f���
R�
�e�D��h���p9$�t�`[�����[���z=�$��?9�O��Nd at bo_�����
�5�W�ƶ��ƞٽx�D�_�]>��`
�
ث�':�&�8���& m
ܵc4�J mm�<��ƽ�t�銉9�+��������8\��셿�1��U��u��?ހ���	q%G
-��S.�4��63ڏ.=�����9�3�/�L��
��ª�! ���1����ܪ�)j�����B���?m��pw{����5z.�C����p��
[q�
����}ջ�,�psa��
^�7�
-endstream
-endobj
-8611 0 obj <<
-/Type /Page
-/Contents 8612 0 R
-/Resources 8610 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8604 0 R 8605 0 R 8606 0 R 8607 0 R 8608 0 R 8609 0 R ]
->> endobj
-8604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 522.01 300.161 532.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
->> endobj
-8605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 482.024 182.164 492.928]
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-8606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 352.411 206.372 381.476]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 279.161 163.823 290.065]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 227.843 362.844 238.911]
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-8609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8613 0 obj <<
-/D [8611 0 R /XYZ 89 770.89 null]
->> endobj
-8614 0 obj <<
-/D [8611 0 R /XYZ 90 721.073 null]
->> endobj
-8311 0 obj <<
-/D [8611 0 R /XYZ 400.69 485.178 null]
->> endobj
-8615 0 obj <<
-/D [8611 0 R /XYZ 90 468.483 null]
->> endobj
-8312 0 obj <<
-/D [8611 0 R /XYZ 487.765 230.996 null]
->> endobj
-8616 0 obj <<
-/D [8611 0 R /XYZ 90 214.301 null]
->> endobj
-7949 0 obj <<
-/D [8611 0 R /XYZ 90 77.486 null]
->> endobj
-8610 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8620 0 obj <<
-/Length 2168      
-/Filter /FlateDecode
->>
-stream
-x��Zێ�6}�W(y��@��E��Nf�d�Y�>;��>t�ڦ�Bl�+���OQ$uk��3Y$���.M����sNQ��� ��}y3�z�@"�(��q(��j��	F!^,	�x�rA�<)����y�ܩM���Ox���i]%o�,ٯ^Z�����!
�JE1<������ �HC7��cC"¸��)
��IY.��c0&�\
���R��+�Uł����p�I��sms����3fp at LZ8�E�>�n��`��
0bR���CR�}�z��>�aB��&1�,W�ç�
�X
�K^�`�܀���c�"o*9C�T*�l
�Y��2��Q5:U

|1,Y(��a���J�ǃ�%��z����:��Z�s
�\����p؝>�H���6��i�ޘ�<��E ���`�_13?x��S�قĹ��]Z�s���y��
c꫓J��������vF�H
-��.-=�R�$qc�
��'�-8�(�6��l=��'��
��Q�e�m<6H�Dܔ�㤑�&�<�m��]Ry
s�"�z��`�={f���0�DԄ�3�2�qBj�PSOm%�
������7�2^2�2�N`�h�QhA�E��lc��
H��;
,���)[Wi������頲*�o���"d�b��� ��g��!��Ga����
-q3�.���Z~TER兞}�3o�v}9
Q$�"�Du��g,�����pg0Dr9Xh=#z��N��0��
��j� ��TN6�S�
M1vkb,�X b��_��nu��b����m�L��

�E�C�`��DEC�UqR>��`��)J����̳��9K}H�CH��
j-暕��5��#��d�1B���J�h&��ύ��,�Y�6) _	��L�u~8��]�zY�נ
A�
&�кNJ�� C�-(�'{W}� Z�a3��d_�
-�Qz���aE]}j�'
!
ՐB�m�>A[�1Ж-p����]�e���������`,b�}�î�Ͻ%q
���<�c$D3e��<���
��t�E^
�f
Կ(�N�Y�mF�F��@/��N��dErS
�[���J�?EZ)X5����f,��_>�N���/ԱPe#y�{�w	�Tgi ���� ڶfy�2�1�1%d�	ױw @;x�U*3!�YtB;]�8�l'�,`D�hn
mW�g��´n�Γ
t�aٯ����t�
o<:a<�B�����)K5 ���_�n�ayv#i����K�Is	Q��\$� [�Z�c���[ʳ��ǝfC�{�ȁR���fFp��I���{)�XS�:&E���,�}l��c�`?��*��pB�T3j~٠�G��uO�ˋ4?E|r��}��o{�I�G� ���}��0�����y�� �;�.pnU$�U�^��?(�K�eer��Ljs��j���`3P��Vz�ϥ
����N@�w��,Ȗ8
������R�ۚ�MZVI�V��,ӷ�-�X��E}����|�ֿ��j�Y�x:�)_!����^t
z:u!����ٛƸ�O׏�,P8'S��$5���(.�H8�ǁ<���g����t:|�CT����
�Q.�M�F��`�R�$b �v��Ox5uA�c�"}���
���Wi��a	
-I3���W30KQ����p�~Ca��n	=�=��YB�vq��cr{�C����o��8 p�^�+�&=����	S�
�&:G7
�W(4����F71��^��F�����
�
~.4�x�#��
v.����O���Gm4�
9/Ao+��������҃�#�N�Q��Y���q�U����d���%�c�8��w_�}��b�䰶⋶�ھܵv�V$p8��R�fר��Hܫ�|;X;�D�j���G�N�Tu�@�"� m7������=:�q�_I�~�}j�����z�Vi���R�@��͋�vK_�J�IקFLi���JG��Zb���
zf��� �{A�$��B��9�O8}�z*����\��||O9�`H
-�N��l�������;���|i2�^�G�{v��*�w*��Hw��~�

��}4z�
]�a/݇��~�a.~.U��I[6<^o�:~w{r
la LD5�#��V�i"�5pg���T���g��]U
������ѺD�,=(�����U/m��	ѻ̈́8r�]W�f��|����
-?�
-endstream
-endobj
-8619 0 obj <<
-/Type /Page
-/Contents 8620 0 R
-/Resources 8618 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8617 0 R ]
->> endobj
-8617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8621 0 obj <<
-/D [8619 0 R /XYZ 89 770.89 null]
->> endobj
-8622 0 obj <<
-/D [8619 0 R /XYZ 90 721.073 null]
->> endobj
-8623 0 obj <<
-/D [8619 0 R /XYZ 90 623.921 null]
->> endobj
-8360 0 obj <<
-/D [8619 0 R /XYZ 90 600.987 null]
->> endobj
-8624 0 obj <<
-/D [8619 0 R /XYZ 90 600.987 null]
->> endobj
-8361 0 obj <<
-/D [8619 0 R /XYZ 491.351 511.929 null]
->> endobj
-8625 0 obj <<
-/D [8619 0 R /XYZ 90 495.67 null]
->> endobj
-8362 0 obj <<
-/D [8619 0 R /XYZ 203.822 384.739 null]
->> endobj
-8626 0 obj <<
-/D [8619 0 R /XYZ 90 368.48 null]
->> endobj
-8363 0 obj <<
-/D [8619 0 R /XYZ 485.373 281.459 null]
->> endobj
-8627 0 obj <<
-/D [8619 0 R /XYZ 90 265.201 null]
->> endobj
-8618 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8631 0 obj <<
-/Length 1789      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�6��_�O�
�
�ImÀ��u[�-ާ��I�ڒ'�M��w���-ek��5`@$E
�9
�ϑ�ε���f�/gg?*�xȓT:�+�Î�
jk�˄��]>w�Ԉx�ʚ��|�|�byn�͞-g���������^�����;1O;�Y���)���9��>�M]���B"$syc�
*��b�J�(̫�U�L���nGw�֯�I�Lvf����u�pyo!�hc`�	✕`a��SK;���h�eVZP�!���������w��|��vW�v�O3���ŏM^ؙ�*��s�Z�l�>	���~Nt
�ˍ)>���3���ޘջ9� ���~{i
-��|��
S�R�o`)�_vX���������R�+��
4#I������W�&X͉p�Ԡ1R��������.CXrx"�����\t���PAs�HֱDk��
-����
-��Qk[Ӯ���C]���u�}���!-h�0-���
Wj]FѦ�<!���
�s�]�T6Ah��b
$��̅�$��]�o���|�xQ*��
��X�{�	��aX�w^�),]�!� 
#��Q;�P���E!wz�J�x@CZUp��,�J�����x�/W�
�������
9L!7��4 Q6�}x]	���]h�~!(P�"B�?�V]���z���>\C������m�
�)$�,<Av���� {�a��A�9�S�A�����f@8yL�tT8�R��m�iJ�^�cc����� qD¾
�+��PZP�lS5I��u��l����o~x�
3�
-R��Ƃ��֘p����<�YY-=5�Z~�
�B$�
��ٖ��u��]Hl����ϖ	H�#��r�PC�����-���!h�
����

��,S�XZ�u�Yzn�F�)��a�l;�胴x�i4�����
zZ�&�˜�>��	�H!&H{�H�N�}���C�fqRM���I�d�a���"���6HL�+
A
-��Uħ���`m��:
�T���-X�F����6�
 ! �Qݏ���%-ёcwZ��m)�0yHШ��aO&�\"�j�9��dΔִ�v�s��0�4�'�#<��E�3qf��k�=�yQ
wg
Of���=r� ��0�
�����I�,I�����ܭ�r"�|�5�2�Mug:��u�qp

`ҡ>`<	0,H:F���%ḻ�(�Uu�s����1�� ��am
-�=J��$��`�k�'�je?��	�D������ކad�ecS���^ �BT�;
�)�3�a`�>:8L�����do��
�F)�؛}W�
-hʈ������7%����S�e�S,����1�֠m�$rjcO'F
�r��i\N�r�"�:����r���&
.g[2.g

.g�����Q�m���3?
-��iG��!!r�q�}
�
<	�܊?�Ih}���Oq�G����ܪ�9qO�*��VE=bnHi�V���V�2�Oq�^�� ��>M1T]��j�hc���7�AR��>%�_����B/Q8�AY#VS���"<v�R�
}���P �
R�Y�Իܼ�Pn Œ=��d�p01�{��)ܡγ+�<�f�v�}��'j���ا�v]R�!���6!�+6�om����#e�4��a��\!�鎋���ޏ�~Q�6�7f
�_��z
�LL��\7�.������~oE�8�|�A��
hn�
-�ܘi�S�~�eFl(�����n�t������-Z%h���n�9kٮ
��^W	�*��Q�Ah�1s��$�
�Or
-endstream
-endobj
-8630 0 obj <<
-/Type /Page
-/Contents 8631 0 R
-/Resources 8629 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8581 0 R
-/Annots [ 8628 0 R ]
->> endobj
-8628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8632 0 obj <<
-/D [8630 0 R /XYZ 89 770.89 null]
->> endobj
-8364 0 obj <<
-/D [8630 0 R /XYZ 125.554 681.531 null]
->> endobj
-8633 0 obj <<
-/D [8630 0 R /XYZ 90 664.06 null]
->> endobj
-8365 0 obj <<
-/D [8630 0 R /XYZ 438.998 505.777 null]
->> endobj
-8634 0 obj <<
-/D [8630 0 R /XYZ 90 488.307 null]
->> endobj
-8366 0 obj <<
-/D [8630 0 R /XYZ 125.554 253.24 null]
->> endobj
-8635 0 obj <<
-/D [8630 0 R /XYZ 90 235.77 null]
->> endobj
-8367 0 obj <<
-/D [8630 0 R /XYZ 438.998 77.486 null]
->> endobj
-8629 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8642 0 obj <<
-/Length 1969      
-/Filter /FlateDecode
->>
-stream
-x��Zk����_!�@k1�O���lR��v:;���046gF�,���^���R�dIC[�$�
�
���K�{I��1���g��]}#q�(�ap�D8�!A���n���8Y,	�x~� x
�xu��x���'�)���}��kנJ�4=�n�f�֛�M� j�C�Z�����B:
R��8
���Kۤ7&eQ���b���_QW����
E�h��3V�n�J㲴�����.�+m�,�H�*X�"!�?n���
��ڶ�X!,��$�<�}}7���S
�:�\ ���v��
6��� #��P7��2�N�׳���L��H'Q�A�%��0����
�q�$o^
w:��z�d����
�g�=k�GB"D�IG$�>��<���U��ŘfIu\m���!�+�V����Q��~z�b��z��
$���o�!_�``F���`Y�kܩ��*�mZ�ͬH�G_(�I4���?:x�@��.<R�m �D��yVVf���_�*~̳8]�~�w>h,�dz8��X��!�h?�3��R�1��aRO�
�[��$�C���~�e 7��5<=z=�'���|�m��q�*)|V%�n��I|��,�n�
i,�~+E�@�)���;�H����]r�"
9�ͷ�}�
�VO�TC�-�~p-X30eZ�$�B<r�"�*a$�jx��~���֙���
&e��l+��6Mq��! (R�3"��q�a1		6�Iȇ��@�������x�p�
�"H��V�p��/��"��K��c�ņ�K��IJ;���W�1�p[Y�v�ř��x�+��6��<�?������$�rߠ���
-�T��Ym��վ�J�E��͖$�b�=6)����-085�Ϧ�a��y��������
�U
�R;(��V�3�D��'7y�D����TM<�]17�7�˝^'&kz�&���ŀDN��V��8L!
-�ä�O��� $�"�*��U�'q�ma����ؚa��J���

-0*��>��_�c�mT�-M��0`71XgzN�T��B�Zi=SK'L)�>6n�Y���S#� P#�y�
5�I�$>S��$jR��I|jb��^�&ޡ&�Հ�̓��L�Qӂ�����N�8`'�|[v2�i�A����$6{dpI��1{��#��@ζdŌ
���q�7�ݳ[s��&���MJۃ0��Ű�gcm|�L� �+>o�S�g��^��q������\O.˩.
1�2
�@����E���A���v�!Sv�r`�K�?b�x�$b��{���{�q������5tB&u��d���Ҏt���2送@�JПx���*�y�
|�|A}>_��E<�^~
��䓩x�{P񦳾���Z�1wL�I��[F����V������]�i�8�i������iq�	A<��p�i!� ?�x�!Ly�W�O��&C�'�wϚ�a�ʻ
�{����e�<���IjE}��x�|2������2���ы���ΪM�Ij�s	{�#z�؜r�<!dHH�_!���M�K0�@��!	D�SB�

�i�?/qp	
Kk��6��5H=*� 㙌���������Ϊ5�5Dװ��t�~���*�:Ӆq���ȷ�|��47�xh�Ӱ}�����ܰ��
6$�R�o����n����6Wv�Vg:3L!ʏ�>��N�F�K�9��1t{���
�F�)��
�@��sM�uV�z�$��\^~9¾|1|�FU�/�ư�

����jaC�~+l��2���;?��˪�k�P"�q_��!���~��,����>-�]6��韣	�J�FZ�
_��C6�E����I|�	����czcN�
,]����:p��J]�i!�ܥ�q���ff	�ޘ�E�NgQ�\ha��毵vNZ�~
����:���ԃ[�y�������p@��dW�����^��6� ��HK/ۼ�ZIf�VMAh�����
-endstream
-endobj
-8641 0 obj <<
-/Type /Page
-/Contents 8642 0 R
-/Resources 8640 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8639 0 R ]
->> endobj
-8639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8643 0 obj <<
-/D [8641 0 R /XYZ 89 770.89 null]
->> endobj
-8644 0 obj <<
-/D [8641 0 R /XYZ 90 721.073 null]
->> endobj
-8381 0 obj <<
-/D [8641 0 R /XYZ 125.554 490.724 null]
->> endobj
-8645 0 obj <<
-/D [8641 0 R /XYZ 90 469.317 null]
->> endobj
-8382 0 obj <<
-/D [8641 0 R /XYZ 438.998 310.247 null]
->> endobj
-8646 0 obj <<
-/D [8641 0 R /XYZ 90 288.84 null]
->> endobj
-530 0 obj <<
-/D [8641 0 R /XYZ 90 161.003 null]
->> endobj
-294 0 obj <<
-/D [8641 0 R /XYZ 90 151.803 null]
->> endobj
-8640 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F13 578 0 R /F72 400 0 R /F21 2356 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8684 0 obj <<
-/Length 1386      
-/Filter /FlateDecode
->>
-stream
-x��Yms�F��_�'f�ӽpw\��L�ș���FJ��$���,� �����wy���1N��I?�`o��<���
�X�x28�
�'
-)A�1�06���ka�5w���g"J���������t6��
&�����AJ
I��V��ﱱ���
��r���heؔ�50����3B!����߳F�c�^�뤼?Y�^�GaZS��p��d3�Q�(����R�S� YVSy�d`�
q��3�p�M2�
����^�=���%�d
0�H�6�a��7}�
eS�)�=�6�n��Ws�,��G��[
�(�|��0�:ԉ���$�0v/<�B#�U�
-�~�x�����W�	�M�0��
-F+!�O����8ᥣ��,Ғ7,���_ *�/ݏ~�,�K]ޤ���wS�(ĉes3�5��S��-$��
-�•!ۡe95'�j�b��8
-��Z���O7i�Wm���2�
~=�|�~���'!�����E�fK at e���\]�vu���5vX�yo��IS{/�ް��i��~�u��2�-������?
�L�o~a�>�͎�gQ��ԋ$
-��
���1/;Vw�
 t����6���M�6�^��ѯ�o棢��]�y�Ž8{>�����g-�
�+��
�*.�'���qe]!TX��u&D�s���.ޙ��0�"�)ދ����C���^�� �7�9��C:��I�/Z

�0OlvN$��/���\|m���@9 �� ���$TN�ڜº���O`�wmG%�m�6���hx�;r�	�f����*O�L'-
-�������
��-\�OV1�o��~U��J���(���!l�w��\ �8wπ`|��>D��cH٬V��-���SW��q�zI;��h�<��Ȫ
Zg�v�2��'z����j�}e#m$��ت�l����|z����kǁ���&.;&Q�E����#!i�(>��.MH��&`�]��3��4q��E�@ܟ�r�8�#�*y�ևJa��2w�np�T(U���%��
1wIE!�q����1�Ү�CSu�VFTaD�Am����G}�
-�Xگ���k�_궹b�R.���g�
n,�yu偢�G
����IP9~Y��,��M6�gY��%0ۨ<sy`5P�UE{
���Z�*�^Ҏ�ӖP�Su��I�Bhi��wF�z�rn���~-�%r8�l;0��Mń��AFMhq#j̚ݹBB�՝�x�SX�?�ЕE̛%�a���E���
	�%X�ϑ�gH�+
��Hž�!��à"�Y����nU��Ч���?O��}����s���/�p]��<Q>�t��+b��{���5bP̧�^Y��}0���ZBw�v$bx��e��?��WWW�K�:����8���M��x�RtM�ET}q]EI5}?��+7����I��;h�
-endstream
-endobj
-8683 0 obj <<
-/Type /Page
-/Contents 8684 0 R
-/Resources 8682 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8636 0 R 8637 0 R 8638 0 R 8648 0 R 8649 0 R 8650 0 R 8651 0 R 8652 0 R 8653 0 R 8654 0 R 8655 0 R 8656 0 R 8657 0 R 8658 0 R 8659 0 R 8660 0 R 8661 0 R 8662 0 R 8663 0 R 8664 0 R 8665 0 R 8666 0 R 8667 0 R 8668 0 R 8669 0 R 8670 0 R 8671 0 R 8672 0 R 8673 0 R 8674 0 R 8675 0 R 8676 0 R 8677 0 R 8678 0 R 8679 0 R 8680 0 R 8681 0 R ]
->> endobj
-8636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.721 225.331 696.624]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) >>
->> endobj
-8637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.425 685.721 310.068 696.624]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 685.721 513.996 696.624]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-8648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 635.768 225.331 646.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) >>
->> endobj
-8649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.669 635.768 337.121 646.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 597.77 225.331 608.674]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31) >>
->> endobj
-8651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.147 597.77 313.6 608.674]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 559.773 225.331 570.677]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497) >>
->> endobj
-8653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.669 559.773 330.496 570.677]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 521.775 225.331 532.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abc31d844172a202d43d08e299e26322f) >>
->> endobj
-8655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.147 521.775 306.974 532.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 483.778 225.331 494.682]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3eb603756ab7be783cd92410ac7aed7) >>
->> endobj
-8657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.456 483.778 320.013 494.682]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-8658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.967 483.778 427.433 494.682]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 433.825 225.331 444.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adca9874a75b5ba09114b8495a23c4edd) >>
->> endobj
-8660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.976 433.825 328.918 444.729]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-8661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.707 433.825 430.173 444.729]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 383.872 225.331 394.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd) >>
->> endobj
-8663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.214 383.872 296.468 394.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-8664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.088 383.872 419.554 394.776]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 321.965 225.331 332.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b4e2b95a505c70e40370e121cd179a4) >>
->> endobj
-8666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.104 321.965 272.705 332.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-8667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.669 321.965 314.396 332.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-8668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.143 321.965 430.609 332.869]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 260.057 225.331 270.961]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab95eae83384d8c6b41b9ed8f9fd16704) >>
->> endobj
-8670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.646 260.057 299.806 270.961]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-8671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.872 260.057 430.338 270.961]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 198.149 225.331 209.053]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b3eb71543b3284872781f0b4481fe39) >>
->> endobj
-8673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.099 198.149 345.367 209.053]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-8674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 198.149 513.996 209.053]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 148.196 225.331 159.1]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b5db50d397654bd1a8d4067d90f7419) >>
->> endobj
-8676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.434 148.196 390.855 159.1]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 148.196 513.996 159.1]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 86.288 225.331 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8cdc72dfa85aed4e613f780b02e69e92) >>
->> endobj
-8679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.333 86.288 363.754 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8685 0 obj <<
-/D [8683 0 R /XYZ 89 770.89 null]
->> endobj
-8686 0 obj <<
-/D [8683 0 R /XYZ 90 704.266 null]
->> endobj
-8687 0 obj <<
-/D [8683 0 R /XYZ 90 166.861 null]
->> endobj
-8682 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8738 0 obj <<
-/Length 1584      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~ׯ�S+�T�G��C�:3i�q
�)�h(
-�8�U�����.ReK�c%
?�pw�o��5�����z�\����P�N-[�C��N��]��Mz}�1����E�nzw�x5�"����X�ze:TQǫѭ�,B1�=�u3x�z���W�l|��
a�q��~�]�d(��
o��>�����ۖim�|��c~>0k��7qP�z�aϧ]��qP	9��3�"�xV��s�G܊�P��4��l�!̝zJ�}���e���C�[D������0�|���	4��0b�g-U�IJ)�kl}�����ݫFη<�DZ�>�Gس\��^/�xb�
-�%��RwA�	��1�"_E��݉��E����(��Y����6��n~ص���Z��l
1�~��U�5�
�A�SL�Z6�0�œj�O��Y�q��������5ey#66S� ��w��e>e�\A�?����9�����t�V03i5ێ�)E�M��6���΅��,�Y����5�(Q@�
!��3��0
�7q�
����1kႍ
� ]ͣ��
��K�t�F)�
�^F�ȡ����c��$5K�m?J�,Ɂ��XHe�4�i$.F��
��!�8����/����n<�z,�UJ�{uݘo���| ���3_�d
�Q�]-�PF[�y`8�6���3�p�M���f�9j�8�a�� �\��S�AC�Q����c��e
�bԌ|j� ǐ�5�J�(ֆ�%t���߉Pz�Z^}
kS��Q:k�g�y��Sx4`A�Gx��2	(��� 4��(����Ҹ&Q%�����chyw�p@�R�A?.��g�Q������({T��6Ka�)�s�m�1�v� �{����<�
� [...]
-ϥ�s�nI[_+b�ͳx"����S-�H[�� �
���7d���R�
-�+��c��ɻ���|{2��N��
��
���i��:�����Q蝸��˺
-�ʠ�h���2GE��+�Q9I^��T:�辭�
�q�
-�ӃF�L�4;�46e��� ���GVɈ�n.$�
��)�il�T���Tp���?!	i$
�w2�E)�g|g��L6@�H�/ˆF&@�N�r�I�Y�<�cOȎ*˳8�E�:4��brI���C����&A�� �F�QҼ�Q�L�C�lD9D�.�)V�-��(��
#�DIW.ƥТn�~��
h�!p�*"�l��X{�����; .;�G
-��p����_]��
�o�������Xo��\���E?�Y��{:��^�"�{
�P�
�A`!��3hu��A�aNk��U��*J7�%��nНWU�j0X.�(,xk^���y<�?>ݘ�ذ��'��6O�B�[]��U	Ξ��
�f
-endstream
-endobj
-8737 0 obj <<
-/Type /Page
-/Contents 8738 0 R
-/Resources 8736 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8700 0 R 8701 0 R 8702 0 R 8703 0 R 8704 0 R 8705 0 R 8706 0 R 8707 0 R 8708 0 R 8709 0 R 8710 0 R 8711 0 R 8712 0 R 8713 0 R 8714 0 R 8715 0 R 8716 0 R 8717 0 R 8718 0 R 8719 0 R 8720 0 R 8721 0 R 8722 0 R 8723 0 R 8724 0 R 8725 0 R 8726 0 R 8727 0 R 8728 0 R 8729 0 R 8730 0 R 8731 0 R 8735 0 R ]
->> endobj
-8700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 684.178 225.331 695.082]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.071 684.178 276.878 695.082]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed) >>
->> endobj
-8702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.215 684.178 415.636 695.082]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 645.96 162.657 656.49]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3ad0a7ad694f4a7724504544aff49fa) >>
->> endobj
-8704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 571.359 190.738 582.263]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 571.359 261.85 582.263]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41) >>
->> endobj
-8706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 535.022 190.738 545.926]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 535.022 262.159 545.926]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) >>
->> endobj
-8708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.216 521.66 279.072 531.565]
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-8709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.187 521.66 391.232 531.565]
-/A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
->> endobj
-8710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.523 499.058 210.384 509.589]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332) >>
->> endobj
-8711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.523 462.721 210.384 473.252]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e) >>
->> endobj
-8712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 426.011 202.922 436.915]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 426.011 248.58 436.915]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) >>
->> endobj
-8714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 389.674 202.922 400.578]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 389.674 296.181 400.578]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533) >>
->> endobj
-8716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 353.337 209.547 364.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 353.337 261.831 364.241]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) >>
->> endobj
-8718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 317 209.547 327.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 317 309.432 327.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a425f248891aec4ed7800bd92334fd7c1) >>
->> endobj
-8720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 280.663 205.692 291.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 280.663 261.312 291.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acc8d0378d1cb13b5ddc04dd12cf18ebe) >>
->> endobj
-8722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 280.663 332.156 291.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 244.326 205.692 255.23]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-8724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 244.326 261.312 255.23]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) >>
->> endobj
-8725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 244.326 338.781 255.23]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 207.989 205.682 218.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-8727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 207.989 261.302 218.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) >>
->> endobj
-8728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 207.989 330.462 218.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 171.652 183.824 182.555]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) >>
->> endobj
-8730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 135.688 192.272 146.218]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
->> endobj
-8731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 98.977 241.935 109.881]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) >>
->> endobj
-8735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8739 0 obj <<
-/D [8737 0 R /XYZ 89 770.89 null]
->> endobj
-8740 0 obj <<
-/D [8737 0 R /XYZ 90 703.14 null]
->> endobj
-8741 0 obj <<
-/D [8737 0 R /XYZ 90 664.548 null]
->> endobj
-8742 0 obj <<
-/D [8737 0 R /XYZ 90 586.306 null]
->> endobj
-8743 0 obj <<
-/D [8737 0 R /XYZ 90 551.992 null]
->> endobj
-8744 0 obj <<
-/D [8737 0 R /XYZ 90 515.654 null]
->> endobj
-8745 0 obj <<
-/D [8737 0 R /XYZ 90 479.317 null]
->> endobj
-8746 0 obj <<
-/D [8737 0 R /XYZ 90 442.98 null]
->> endobj
-8747 0 obj <<
-/D [8737 0 R /XYZ 90 406.643 null]
->> endobj
-8748 0 obj <<
-/D [8737 0 R /XYZ 90 370.306 null]
->> endobj
-8749 0 obj <<
-/D [8737 0 R /XYZ 90 333.969 null]
->> endobj
-8750 0 obj <<
-/D [8737 0 R /XYZ 90 297.632 null]
->> endobj
-8751 0 obj <<
-/D [8737 0 R /XYZ 90 261.295 null]
->> endobj
-8752 0 obj <<
-/D [8737 0 R /XYZ 90 224.958 null]
->> endobj
-8753 0 obj <<
-/D [8737 0 R /XYZ 90 188.621 null]
->> endobj
-8754 0 obj <<
-/D [8737 0 R /XYZ 90 152.284 null]
->> endobj
-8755 0 obj <<
-/D [8737 0 R /XYZ 90 115.947 null]
->> endobj
-8736 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8793 0 obj <<
-/Length 1746      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�ɕfl��ֺIfruc�/IFC�T�F$U���~}�bR�l�q���I`��={p@;�
���z�;}�cG"�QϹ
9;�+��*r>��._:��HF��g��^>{{y����]���x�
b
p�
'L{>a'��/
���\wJ
�2�?q.z����e��#��|$�G
X�D�q��GJ���
�|8����|b�+�������帟��()�ʓ���<�iE���9󬬺M��E���b�>�fa

ϋ
U�ݣX&�^��ȑt�����y.qNE�����jVd�~�\�k�F�-W��t�4ɐS22
Ydy6Y�<ң	^������9>b�Z
q���ҏqRn�o�!
y��}-F:�����:��4�⬚'��U�
�F~��
��C���	%H �����x�����s��G7o����`�w
#�Qg:4`�(C��.�`��`�~�ϲ(�
*���o��L�N]$&mi�:����W�VV�
P��|�
�ܾ~\g7g 1An&�DX/�I�ْ�
n
P��@A�Ⱥ�-�����Cc�Բe\�*��O|��g_�E\�I��
-M���ǃ_
o�{�M���
� ��c㎺H����'�����0�@�cD���k�&�4���̔��0S��0���a�y��<
)�C�i�(��f��M�Y�%��%i,E�=��d��wB��t�f�
*��������f~G�HWlT�Ol�@�V
-���.�>?�L\��4�fyeq:�+ߚsxa�w�l�$����@����Υ�m�s��� \j
�Yϼ����S<�����P���@�!�
-]�%͐0�w���6 �fo�3w����>\��t:�n-�-u?��c��q���"��"��uў��+O<���6a����R��O��9��+a��F��>�^j�X`^!����$����#�
d�$�I�N���E�`b7%B�})ѥb"玒l�I�{Z�ƒ�D5��U������"4e�� 4�Y�K�&4����$r�>���*�M?J3�!4�/	���Jh���j�u���D#�N+N�jo:�!h�3��|6cX6��l������fI� ���SO�q'�x|=E��SD죧ئ��M=�;�ԡ>���Q�I�z
-o�ȑ�KO5&٪��{�����a���R�%q򹳎"
����V2�H�?�P�D����z����NX��6?�c
?�\��v���
-��@�ע$����
�c$ܮ#
-
1q����ȗ�P�-�"	+ ۏ�^�J�vMWD� ʰE�j�V�h�^u�	ݽ
�0��a���xK��ړ��JC��n at y�o�2P�"W}�_ץ��V;b�P�F��C��ݫ>^q6����/�c�IcAU��Z���Ue�VUR�Ew�2��
����"��c���i�}`�-I�L�k}y^
� D���>�hPp�������}�ϲ������AeZo��m�Q2Z���U�ie��'exS/�q��C���/�nP\�t�I�
� �����=8���Q�qv[V����(j;�P�T$0|�`�CqUުG���>r����ͣ�܃Qlߣ��QP��ؕ��\��&/뒳�Qj��y>Y�㨰����"(�,����}�7A6
l	+$�C�)uDATe��/�z
l^�S�^�\�u����e��U5���t>���D�,�(�N���i�&֬���_�nQ;��Œq�f�n$�_M���
-endstream
-endobj
-8792 0 obj <<
-/Type /Page
-/Contents 8793 0 R
-/Resources 8791 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8732 0 R 8733 0 R 8734 0 R 8756 0 R 8757 0 R 8758 0 R 8759 0 R 8760 0 R 8761 0 R 8762 0 R 8763 0 R 8764 0 R 8765 0 R 8766 0 R 8767 0 R 8768 0 R 8769 0 R 8770 0 R 8771 0 R 8772 0 R 8773 0 R 8774 0 R 8775 0 R 8776 0 R 8777 0 R 8778 0 R 8779 0 R 8780 0 R 8781 0 R 8782 0 R 8783 0 R 8784 0 R 8785 0 R 8786 0 R 8787 0 R 8790 0 R ]
->> endobj
-8732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 696.082 213.163 706.986]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) >>
->> endobj
-8733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 696.082 351.922 706.986]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 661.667 189.901 672.197]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932) >>
->> endobj
-8756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 624.965 193.229 635.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2) >>
->> endobj
-8757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 588.264 187.689 598.794]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) >>
->> endobj
-8758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 588.264 226.693 598.794]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 553.101 228.895 564.005]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) >>
->> endobj
-8760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 553.101 333.482 564.005]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 518.312 229.503 529.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e) >>
->> endobj
-8762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 518.312 334.089 529.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 483.523 187.264 494.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) >>
->> endobj
-8764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 483.523 293.213 494.427]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 483.523 371.148 494.427]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 483.523 455.727 494.427]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 425.82 187.264 436.724]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6d33d9f1d987efe6e333c7ad1993dd5a) >>
->> endobj
-8768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 425.82 293.213 436.724]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 425.82 371.148 436.724]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 425.82 455.727 436.724]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 413.865 220.058 424.769]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 368.117 186.348 379.021]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) >>
->> endobj
-8773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 368.117 293.772 379.021]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 368.117 373.367 379.021]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 368.117 456.837 379.021]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 310.414 186.348 321.318]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a5358c9f367ad37e650d411ab5e558e50) >>
->> endobj
-8777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 310.414 293.772 321.318]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 310.414 373.367 321.318]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 310.414 456.837 321.318]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-8780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 298.459 218.404 309.363]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-8781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 252.711 180.496 263.615]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) >>
->> endobj
-8782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 252.711 319.255 263.615]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 217.922 213.153 228.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) >>
->> endobj
-8784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 217.922 351.912 228.826]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 172.547 161.677 183.078]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) >>
->> endobj
-8786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 87.618 205.752 98.148]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) >>
->> endobj
-8787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 87.618 276.595 98.148]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8794 0 obj <<
-/D [8792 0 R /XYZ 89 770.89 null]
->> endobj
-8795 0 obj <<
-/D [8792 0 R /XYZ 90 678.354 null]
->> endobj
-8796 0 obj <<
-/D [8792 0 R /XYZ 90 641.652 null]
->> endobj
-8797 0 obj <<
-/D [8792 0 R /XYZ 90 189.234 null]
->> endobj
-8791 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8850 0 obj <<
-/Length 1992      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~ϯ�S'5Ë$��6`��a7 k�����H�#̖4In��C��ؖo��6�^lY�y��
������.����|ͱ%��o��,�-��Qb���;�`�gB0���C�
�pz�Plg�����p�[r[�����
��p�XO��x�xz]8$�3�Q9��r���ބ�3��
������l�:P&�?��΄z�����7b]���g��#����",�Zڍ#�-��"��z̚0Ƒ�ք$<�~⍜I�0�F�8{~#��Dݾ�����
w�E���
�-/����n�ba�D`��AK˥
��ۋ?.��ԾomA���.‘8V
��2�)��6�sֻ�&��
���?�b17��ѣԖ�=�4������FYZVE��նD5�=��
qX䫃B^D �l��|���j}WÇ"�%`��`��R֦���E��C<�����=1>G���E.��Ԧ�f@��r
�q�l�!�e�In
2��v��۩���
��*�lƠ���6h�ބ5�c�!�c�y�j��p
�"�?�ű��A����Y
���[f����UP�b Q|fp���	�
F���0H	�m1��v�4�?B�}�}���
ӷ벒�=`(��pb
I���!�#�!�� ����'�#8
D<
��?]|�H9����������|$p!]2 	�"�BF*C[G
y�������3�!0"�)��
9;Tq��]WWQ#�+ �Q*��F����_c�{e�؁��R�h�i��7ˤ�'��I��3�ͱ�`�����ĸ��)s
�u�G�=�C�1�


��U
I
���'񜹃� �pDX����/�b�E�.�Q�LU<��e��T���Hػ
5 Z/�4.��QX%�β�(�J&H��1|�E
nID�r�~M>e.�ʬ'���<�
-.�
'K��F��	���E؇�3$���/A���aY&�4I��
ڡz
-��>3��?Tk#��ʍn ey�}����
��
n��(��	���>�
�	��>� 
(���
�|�%�r.����o�ؚ�Ẕ�O�N������_�!�� �z��0�ᨎK\�w��.[>h��|��G:be�r���?��@�����X%�l0�w�nt�����X{0��Q�G%Z���U͎� �.�Y�Y*��>i�a�����j[J
-����_�ƃ��|юYH�$`e����Wy.��m�J���y��n��K���P���K�:���:Z6��;5E�Ġ,�k��eyn[X .��P|�e�s<MfS���1��g	g?�w�Q��j5��ϼó��.'c�♻��y0�g��7x����o�ra�<�L�z@���Zs�)��o��[
�
'��n(����5s
�`
	F�.�_
-q�6TV�J
e��췍�U��ؼO��:

��S�o�<
��T*��S��=���Q{�q2S�L���� zf
�p\��>&�p#��t�p&�#3�O"��~�����H
���1��sA^
ɞ��&���l��`��N�J
|D�˃:��H��	������$�a1��c^Ȳ
�Е�u����_e�]T� �NU�*���Ӊ&u�f�/�����L�e��UV|�+H\���S���p��Y����H$�8-8���}C�&�~f��
��*���c��,��n�C��tk	���K�ܙ�g��T~j�%�Hݻ��>��L�KzGڃy�h�9��F��G ��C	An2��%6��э�&߾]�G�S�RI��z
�"�����)�� 

���/�6wTN?�Fj�#؈q��FL�cl��<�Fj�6)�糑?2m�F��`Fv�k��k����U���r�	s���k��,́�u�w�Ӽ�]�����W���&
�=LW��i��J�,:������T
��ll[�����U�.�髲w�[����������
E%Z�I^�������ƶm�� {w
1�L`�m�
-n�	
���� �~yg
-endstream
-endobj
-8849 0 obj <<
-/Type /Page
-/Contents 8850 0 R
-/Resources 8848 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8788 0 R 8789 0 R 8809 0 R 8810 0 R 8811 0 R 8812 0 R 8813 0 R 8814 0 R 8815 0 R 8816 0 R 8817 0 R 8818 0 R 8819 0 R 8820 0 R 8821 0 R 8822 0 R 8823 0 R 8824 0 R 8825 0 R 8826 0 R 8827 0 R 8828 0 R 8829 0 R 8830 0 R 8831 0 R 8832 0 R 8833 0 R 8834 0 R 8835 0 R 8836 0 R 8837 0 R 8838 0 R 8839 0 R 8840 0 R 8841 0 R 8842 0 R 8843 0 R 8844 0 R 8845 0 R 8847 0 R ]
->> endobj
-8788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 697.462 236.745 707.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac6434b8a020aeda5828830fd4b639277) >>
->> endobj
-8789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 697.462 307.588 707.993]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-8809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 662.401 212.377 673.305]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c) >>
->> endobj
-8810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 662.401 289.846 673.305]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 627.713 243.37 638.616]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf) >>
->> endobj
-8812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 627.713 320.839 638.616]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-8813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 593.024 216.252 603.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) >>
->> endobj
-8814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 593.024 328.042 603.928]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 558.336 247.246 569.24]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) >>
->> endobj
-8816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 558.336 359.035 569.24]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 523.648 254.827 534.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) >>
->> endobj
-8818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 523.648 343.096 534.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-8819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 488.96 209.627 499.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) >>
->> endobj
-8820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 488.96 314.791 499.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 454.272 240.62 465.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) >>
->> endobj
-8822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 454.272 345.785 465.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 419.584 248.202 430.488]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) >>
->> endobj
-8824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 419.584 329.845 430.488]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-8825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 385.269 193.577 395.8]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7ea45b608af772cd69e2c23d7d62a3cf) >>
->> endobj
-8826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 385.269 232.581 395.8]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 372.358 248.845 382.263]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 339.622 193.577 350.153]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) >>
->> endobj
-8829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 339.622 277.691 350.153]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 326.711 247.177 336.616]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-8831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 293.602 223.465 304.506]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) >>
->> endobj
-8832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 293.602 362.223 304.506]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 258.914 229.552 269.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) >>
->> endobj
-8834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 258.914 368.311 269.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 224.226 266.673 235.13]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) >>
->> endobj
-8836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 224.226 405.431 235.13]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 178.579 217.109 189.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) >>
->> endobj
-8838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 178.579 355.867 189.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 143.891 201.742 154.794]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) >>
->> endobj
-8840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 143.891 243.629 154.794]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 143.891 371.329 154.794]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.458 119.398 271.379 129.303]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 86.288 212.768 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) >>
->> endobj
-8844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 86.288 252.959 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 86.288 375.145 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8851 0 obj <<
-/D [8849 0 R /XYZ 89 770.89 null]
->> endobj
-8848 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8922 0 obj <<
-/Length 2810      
-/Filter /FlateDecode
->>
-stream
-x��[[���~�_A�#UY=}��U~�8�V6�ױgS��ݢtaf�H� �����4� @��E�R�`M��sN߹ ��y�����7W�o|�i�%��ͭ���s���O���t��ͷ
�
--���W߽�y��擹w�����Wna��	��]��3�6���
FL+���8e�w�}���v���Zٴ�@6ɍl�cD��'b�:ˢ�8�/��gyb�~C�_{�iD	+%�	cfG�� �$V��>�����!��à�ؽ�vz����+��B���(�
�C�O��>�3F���ٝ������=��v�Ca�S2�>
�M�:��;Ao�u
%��z�����~��L��jv�M�Ny91��X�($�A�Ik�Ҍ�-�c�-FZh�\8�x��Op�BT�g�>\G��pc�X=u�8��
�,�:�e��e��گ@RWc6a��x�']�	��_5���{�F�ڑ\���	\P�	w��T�}G`���Lm|S��]��r�7��r*���ͻc�T���s��1'��j��|��ܟs<{> �f���vi|/��[%�.Y�p�=�ϋ��$���ݾ��p�����Y�*ĥ�"�_�j�Y8'�p�B�•^%a��u�y���(�^�(D��6L�x
��5xy�h�F����p [...]
������/��
FT
��U�h_�����
���V� ���@��A��Vx8���X�Z^-b]�a5�]Q7�����<��DN<F��M(�-�R؁.�'� �(瀆�ahN|2����SR�$��O�(��j.5b�xR���6c��+�ƈ(Z�vA΍5sa�5
�����gܙ���
��q͛��xZ�wi\B
����ƒ��
-�2{R�+�Eö�O,�p��� � h�i9���)�'E���B'�r�%�*p���#_m柳�3d`�L
2ȣ�T<$%��!@�N*��]BEf�qT�Kq���d�R��"3�QѢp����(k��<-�-q@�nZ� {���6��6X�,�j�
�CN�!����Xn2�4�Ɉa����7�����h�w3�xn�}��?9)���HrZ0`_A@/��!~"�\zBI�9����� u�Lv�%;-D��D�
-�O��R�ND��Bq�$"�-��ܭ��|�!"��i
���� �B2z�#3�0
�>�dG�Yߕ��3���OEUI>Y�ĸ>3c/y���'�;׳�}6 at V�����R��?(Z3��� ��>�&���]���N�F�f9�X���ݗ���O&�Kg*4/��Hg�^��"��Q��Θ�Tb�?v�`&��0��^�h-
HlQb�}�
-������F�
�4
=	�l�ϯ�8�����������PYpv~�`
̂�Ӏg�:̒�S�lf)��')8U�S�ѹ
�3&g��̺#{S��#��?�&Mn���&�WG����ڃ<�FC

Ԍ�&P�I�A�6��'x�<��3�ZC�LF �8	����j��������Fmjr�O�ڜ��*1M�1q�}A��<�(�,�§��<tN͠g�U�*Ȝ7��V�
�����(��O($�j�
-Պ��q�
�'�O��-#H�?���	���T�cG�N<�I4� �@�a���]U8����
-]��҇
��GLz�T��i.j-����`�=���-m��V��	S��Z��B�?إ9�ۮ���
�^���w�B�����B��վ8�
6E�i���_��9�~$���){ߝ�ӗ/�.j}��jY���$ ��
�?1.�:	!���B�jw+�qޟ�L(�n�+�l3_�z���<dF�r�j�1<BΌ�!v!�qP'U�y�!_��vsq at eA�1� k�:��1т։�$B^!�/MI�� ����ȥ�d
@C�	�@�ˢ�j.�&�9Iգ��8ISBOEI&%�va g����@�.�
Q�2�>)b�G���)�n
��v�.�N8��e[��$��MOY3A[� U���-��W����n���W�p�

k�#=��0
øk��7Uꉲ&N�xH�ç��
A�Z��j�ߧ�i�D���Ŝ����%uỄ�q�c��mr���`�M�����9��9x.?�M�~GW��V{�B�ym�Ea�l����28��Ei�y�$p��y� y���*(6��
Eb�|�e�=C��(�@��f8�Xe�|����oߎu��9P3�+����Ӫw:��¤�L��_����A��"F�4�ק��,�2elF���M��,���8��8�wa���������Xlk3�(
-^m�uͲn�{����W߽����?�z��%��a�`��ѫ����>�3��H��
�
�r+o �/�`���k{���v��
̰(���|,-OBR
��	
����&(H5����ٮ�1[Lި\d��0��+`
�9	Wr�Wv�6'pѮ̿�T�rщ~Z#�r���-�o���U�p�<��=n�<�~y���������]n ��M%'��6
9,o��f��eQ �7&H:� �.�g�.=$�
��5���y�I0����"s��]�[������R��[:b{�t��.�D�O-Z�K��&
V��X�
�y���T(�Y�h
}p;n�A�����l�„��zpa`v�9�/�Y��iv=�;:j�_�		�ec�W��$x��m����>ڝћR�.��-��d�tnR��m�J�����Y��i.��Kc�e,l���L�cxCm�R�^Mdwj��/����qBZZ���*X���������G���C
�S�������?j� >��$��_��m?���]Q7Cm#�šA
-endstream
-endobj
-8921 0 obj <<
-/Type /Page
-/Contents 8922 0 R
-/Resources 8920 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8647 0 R
-/Annots [ 8846 0 R 8869 0 R 8870 0 R 8871 0 R 8872 0 R 8873 0 R 8874 0 R 8875 0 R 8876 0 R 8877 0 R 8878 0 R 8924 0 R 8879 0 R 8880 0 R 8925 0 R 8881 0 R 8882 0 R 8883 0 R 8884 0 R 8885 0 R 8886 0 R 8887 0 R 8888 0 R 8889 0 R 8890 0 R 8891 0 R 8892 0 R 8893 0 R 8894 0 R 8895 0 R 8896 0 R 8926 0 R 8897 0 R 8898 0 R 8899 0 R 8900 0 R 8901 0 R 8927 0 R 8902 0 R 8903 0 R 8904 0 R 8905 0 R 8906 0 R 8907 0 R 8908 0 R 8909 0 R 8910 0 R 8911 0 R 8912 0 R 8913 0 R 8914 0 R 8915 0 R 8916 0 R 8919 0 R ]
->> endobj
-8846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 708.28 277.928 718.186]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-8869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 674.984 250.099 685.888]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) >>
->> endobj
-8870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 674.984 289.446 685.888]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 674.984 379.512 685.888]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 674.984 513.996 685.888]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 649.096 439.335 661.261]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.591 639.346 459.505 649.251]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 617.009 266.586 627.913]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) >>
->> endobj
-8876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 617.009 309.697 627.913]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 617.009 408.234 627.913]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 617.009 513.996 627.913]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 605.054 171.361 615.957]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 592.329 480.87 603.285]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.125 580.161 513.996 591.742]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 570.671 155.212 580.317]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 548.074 250.748 558.978]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42) >>
->> endobj
-8882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 548.074 357.317 558.978]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 548.074 456.145 558.978]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 536.119 202.344 547.023]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 523.395 446.071 534.351]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.547 512.436 438.461 522.341]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 490.099 265.396 501.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) >>
->> endobj
-8888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 490.099 375.818 501.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 490.099 478.979 501.003]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-8890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 478.143 225.866 489.047]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 465.419 466.67 476.375]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.37 454.46 462.285 464.365]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 432.123 239.984 443.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5) >>
->> endobj
-8894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 432.123 280.82 443.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 432.123 405.104 443.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 432.123 513.996 443.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 420.168 171.361 431.072]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 406.235 432.092 419.393]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 372.945 251.209 383.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a732e7355673aa63a2fc22a470a36f707) >>
->> endobj
-8899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 372.945 290.549 383.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 372.945 409.969 383.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 372.945 513.996 383.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 360.989 171.361 371.893]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-8902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 347.056 456.992 360.214]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-8903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 313.766 224.57 324.67]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b) >>
->> endobj
-8904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 313.766 363.329 324.67]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.27 301.042 344.597 310.947]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-8906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.2 301.042 506.527 310.947]
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-8907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 278.705 255.564 289.609]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7) >>
->> endobj
-8908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 241.651 214.06 252.555]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) >>
->> endobj
-8909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 241.651 352.819 252.555]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 206.589 273.129 217.493]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b) >>
->> endobj
-8911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 206.589 352.41 217.493]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 171.528 282.978 182.432]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701) >>
->> endobj
-8913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 171.528 386.79 182.432]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 171.528 513.996 182.432]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-8915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 289.866 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2f90e70dbef264e99b7015c0ce7e16fd) >>
->> endobj
-8916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 74.333 359.324 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8923 0 obj <<
-/D [8921 0 R /XYZ 89 770.89 null]
->> endobj
-8928 0 obj <<
-/D [8921 0 R /XYZ 90 295.902 null]
->> endobj
-8920 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8973 0 obj <<
-/Length 2149      
-/Filter /FlateDecode
->>
-stream
-x��ZIo�F��W9t$�U����h�tƃl����
��&K'�BRV�_�W��*J�d�>�*�U�o��Ba���ƿ.�qqymc�E�E-�~a�ذ-�8%�}`|��L2����fJ���co~3�x�F��ro�K��{���Jo(C/�6�[�|�o�)q&)|)����tyMH��f�&�S=����	x�̭w�@>Ng���T/nGȚ
�.��|��j��ϑW���ԥg�W
-y̘1f#n9ƌ�r�N܊�������A�[5If1y���\��
R����v
?���6����s
c]m�
�2�����_`m�᧲�k8 �eV� ,m�h�}�ݵ;[)F�nd��r��ldQZoHĔ��Z���<��Za,�"L�9/	�B�"�˥��q�&")��t�͆����I���Lda��S.�bD�xr�)L��z~��]�
�̷� ��`�֛fԦ�%6,���٧���_f
"驊�0���g��En�]�>�`^q3o5=%ϳ<��P�ԥ,�|�
��Zl^n21v>dT�z)�L1A}Ow
R�/%i���g
��]�v2�gq?M|@���W�c��`gQ�'v#���t?l^��R��;)S�tk���s���Q����)�'�Ȑ�yם�
-*&�=�A�
�b[�!�9 E"k7iֿi�������L�*�P��
���څ�Qn�ϝFe�m�!
Y��6#T8b̓t�.�ߥ>D2�ư�RO �,!z3��V/*�����K�8�>�4uK��??2�	���91?q*9{����� ��[���C�!��N�9�)a�xI��VBH
��:�X[d�eP�0=D�E>5�$��Α�5�g��͖��R���%�2Xk�>�lVc���.J"���I~�H��\[H�u���i��+'4
�"����P:s���{&F���2
�� ���b�q��Rā����ȵ1��
dZ-�v���k`��Gmd��-�Q�w��&=$�b1
����*��F��3
X:�IB
E��^�sXX�^v$~��]aS��8�tm�-��ac2D�*w��
j��ST�_��F�گ�L����c��S��A��?3�n
�x<��R��q�t�&��`/[���|VX!9�ȸ���62M!�Y(v9�XcS�)y]B5�����
�N�7 [...]
-K�X�,�(x�������(_�bאc����${Z�p,��BU�vl�d܍�Cܦ���Q"��ݨ��s'l�;*3�L��ԯa�(�������^Cn���ڙ�1drIa�vx��/��*-�^n��
Ɉ6�۴|t-]�P籐Y%^Z5Wj�	��WU6R=щ)���9"�XW�����6ÇFowk��G�d��A���.y
�K廙�b��w�2�x�
�7��V�P�ͳ�rj�ߛ���NmC|����g@�.�V�r��Gvᎃ,�~�~΃U���z&W������+�Q`f&r�epu�|,�s,u�M�����?���(2]X���ںz|��r�
%_'�X}0Y��ڶ��ضRs
- at +<=}�P����+0����v&'���q�M�sq�C����{#�1�X���̳�_G��E�
�B�#MX�n�5�D��zC�hu�gPl5��4�z��1~b��a�
�i
�Q�{?
	���x�Ii;�
q���y��J2�%E
�r�+��=)���h�9t�W
6�u&�`�F�#�Tɍ2��d2��I��z['����Z�q�ӻ��k�͔󺞺�*O��}��*

-o�|���b���(����P�YM�.���
v7�)��:,NxKJ�@uZ���|3/¿���eg��i�Es}6L�=SyE8�M��+N�Y@���&����F1�o��*
��Q̇�3�}��	ˆ��J�3[

K�'og�}&?�α�x��}��M�5��;�c�s�D��
n
V"C�����y��+�s?
��X�3���S��
B�"@�Q?&ЦZ��H�4h�ol��/��dء��~���C6TQ�w�����x��͉��n�ީ���w��
-�+�[=G�U
~�t�e��1�Q�t7/ؕ�J�ߍz��4*��K
1��Բ,�����z����0�QX^fYt�=��P�2��7���&��b\�4}{������
-endstream
-endobj
-8972 0 obj <<
-/Type /Page
-/Contents 8973 0 R
-/Resources 8971 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 8917 0 R 8918 0 R 8940 0 R 8941 0 R 8942 0 R 8943 0 R 8944 0 R 8945 0 R 8946 0 R 8947 0 R 8948 0 R 8949 0 R 8950 0 R 8951 0 R 8952 0 R 8953 0 R 8954 0 R 8955 0 R 8956 0 R 8957 0 R 8958 0 R 8959 0 R 8960 0 R 8961 0 R 8962 0 R 8963 0 R 8964 0 R 8965 0 R 8966 0 R 8967 0 R 8970 0 R ]
->> endobj
-8917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 686.668 290.971 697.572]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) >>
->> endobj
-8918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 686.668 360.43 697.572]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 653.055 224.003 663.959]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) >>
->> endobj
-8941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 653.055 362.761 663.959]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.962 630.096 442.501 640.002]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-8943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 608.484 254.15 619.388]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298) >>
->> endobj
-8944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 608.484 338.263 619.388]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 574.871 284.585 585.775]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) >>
->> endobj
-8946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 574.871 354.044 585.775]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 518.345 241.726 529.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1ae424886d05361c1a78c89dbdd5b7db) >>
->> endobj
-8948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 506.345 407.658 516.25]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 484.732 249.318 495.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) >>
->> endobj
-8950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 484.732 288.321 495.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 484.732 371.519 495.636]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 451.12 240.62 462.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1) >>
->> endobj
-8953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 451.12 324.734 462.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-8954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 451.12 389.5 462.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-8955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 383.36 244.265 394.264]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) >>
->> endobj
-8956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 349.012 167.466 359.916]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9bd884fea397d9d6cde6426e6f47cc4e) >>
->> endobj
-8957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 349.012 282.702 359.916]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-8958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 314.664 193.029 325.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a57fc3d9d838fd7e20e80806307452a91) >>
->> endobj
-8959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 280.315 193.029 291.219]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
->> endobj
-8960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 245.967 165.911 256.871]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) >>
->> endobj
-8961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 211.992 187.689 222.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92) >>
->> endobj
-8962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 199.251 476.544 209.156]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
->> endobj
-8963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 166.312 202.902 177.216]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 166.312 300.037 177.216]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) >>
->> endobj
-8965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 131.963 202.902 142.867]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-8966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 131.963 314.263 142.867]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f) >>
->> endobj
-8967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 97.989 199.864 108.519]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) >>
->> endobj
-8970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8974 0 obj <<
-/D [8972 0 R /XYZ 89 770.89 null]
->> endobj
-8975 0 obj <<
-/D [8972 0 R /XYZ 90 399.713 null]
->> endobj
-8976 0 obj <<
-/D [8972 0 R /XYZ 90 365.484 null]
->> endobj
-8977 0 obj <<
-/D [8972 0 R /XYZ 90 331.136 null]
->> endobj
-8978 0 obj <<
-/D [8972 0 R /XYZ 90 296.788 null]
->> endobj
-8979 0 obj <<
-/D [8972 0 R /XYZ 90 262.439 null]
->> endobj
-8980 0 obj <<
-/D [8972 0 R /XYZ 90 228.091 null]
->> endobj
-8981 0 obj <<
-/D [8972 0 R /XYZ 90 182.784 null]
->> endobj
-8982 0 obj <<
-/D [8972 0 R /XYZ 90 148.436 null]
->> endobj
-8971 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F38 2117 0 R /F23 364 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9008 0 obj <<
-/Length 1097      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~���Sg3-��뀭�tk�%�SR����t+E��ߑH*��k�f{0LJ���)�z�
���/��x8V�"����ފ
+p#���K��!�]���E������?>M��^7�遼/
�

+

-B+�7�
+��,�(��-Qn���f]�
8{m�a�t^K&��
�^.�2����;.�z�(b��E�fD�'��&�ȥ�
�xT	�%���X7#�q��R��4����UK�(MҜ5h��U�{Rv���qVW,泎{S}Cv�x��P�VY!�廍[� �%��
H�ܺ�r! �V��s�(O�E�6�v�C�j�Jخ7,�E,Ճ�i�9+�����]6��tD#� �n�p�L�6����:�wP�-�M\~��_���(s��!?��A�M�vU�o��q�ߤ�Ƶ̫��D������y�`A����5��"9
-�=I�G;����	w?�_m>��~8�31

-�'3�>e{�^�Q@~���kT�)����i0T�t�HYC����ϑ��AUs��@]s����,���A�â&H�=�D�:�ġ9H���/���dž(�5�L��E�R����5�o
�%��ath��,�H�]��
�C3'9߸�/fʡ1��o��0&^����

�d��-��*���_{��s��Q/
�,�b�QL�T��_�7G;����ir��|R�U��Z���1�X]��H8)/����RB�e���x�v���v��
�C�e2eY��]��u)Ա��
�i�|!�E
L��Q�Ѿ�,������#�b�;��R<=�p
�®���K�k(�<ja'�j�ᓻ���8"En�C�cy����`QD A�
�
�[� [\� OB߬��q�B�����|b�s�z�lbnv 8a?�cQ܁�ł ��3�Q�EJ�9;��!��ދ*��eZ�
��`�����y���Z8��B�Y�
L4��x������S���Ιޖ�j�����w�	
��j.��=Ϝ�?�|����FO�i?F�I.������ʽ�-���I5�nt �t�Υ�~���%�k�(�J�T��*?�kR�����Rw������9k�x?(� EQ�
-endstream
-endobj
-9007 0 obj <<
-/Type /Page
-/Contents 9008 0 R
-/Resources 9006 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 8968 0 R 8969 0 R 8992 0 R 8993 0 R 8994 0 R 8995 0 R 8996 0 R 8997 0 R 8998 0 R 8999 0 R 9000 0 R 9001 0 R 9002 0 R 9024 0 R 9005 0 R ]
->> endobj
-8968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 682.704 203.075 693.608]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-8969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 682.704 296.324 693.608]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
->> endobj
-8992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.944 593.552 200.017 604.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) >>
->> endobj
-8993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.944 551.128 200.017 562.032]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) >>
->> endobj
-8994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 461.976 211.703 472.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3) >>
->> endobj
-8995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 419.552 203.414 430.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93) >>
->> endobj
-8996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 377.502 179.265 388.032]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) >>
->> endobj
-8997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.575 290.034 140.53 298.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c) >>
->> endobj
-8998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.575 247.609 140.53 256.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) >>
->> endobj
-8999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 205.185 167.639 214.032]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) >>
->> endobj
-9000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.839 113.976 181.264 124.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ade7792cb469ddf1d5d8944bbe7f1f55a) >>
->> endobj
-9001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.05 113.976 321.471 124.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.251 113.976 513.996 124.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 102.021 146.896 112.925]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9009 0 obj <<
-/D [9007 0 R /XYZ 89 770.89 null]
->> endobj
-9010 0 obj <<
-/D [9007 0 R /XYZ 90 703.463 null]
->> endobj
-9011 0 obj <<
-/D [9007 0 R /XYZ 90 703.463 null]
->> endobj
-9012 0 obj <<
-/D [9007 0 R /XYZ 90 612.408 null]
->> endobj
-9013 0 obj <<
-/D [9007 0 R /XYZ 90 612.408 null]
->> endobj
-9014 0 obj <<
-/D [9007 0 R /XYZ 90 572.006 null]
->> endobj
-9015 0 obj <<
-/D [9007 0 R /XYZ 90 482.735 null]
->> endobj
-9016 0 obj <<
-/D [9007 0 R /XYZ 90 482.735 null]
->> endobj
-9017 0 obj <<
-/D [9007 0 R /XYZ 90 440.43 null]
->> endobj
-9018 0 obj <<
-/D [9007 0 R /XYZ 90 398.006 null]
->> endobj
-9019 0 obj <<
-/D [9007 0 R /XYZ 90 308.735 null]
->> endobj
-9020 0 obj <<
-/D [9007 0 R /XYZ 90 308.735 null]
->> endobj
-9021 0 obj <<
-/D [9007 0 R /XYZ 90 266.43 null]
->> endobj
-9022 0 obj <<
-/D [9007 0 R /XYZ 90 224.006 null]
->> endobj
-9023 0 obj <<
-/D [9007 0 R /XYZ 90 134.735 null]
->> endobj
-9006 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9040 0 obj <<
-/Length 3176      
-/Filter /FlateDecode
->>
-stream
-x��Z[s��~ׯ`^\rF\�}%�Lb�n��qeu�`g<	YhH�@�ʯ��
XpARvҧ<᲋����sv�'&x�������
-OR�J*'7w�O�$HP2�YN�N	F���c<}=#x�U������r�x�/���?��*�
//݄��V�����r�ȗ�_W3�LKxhf?��p�ނT1�S����S����v�9�ͩ��+�n�#d9Ci*�o�<B�/�|�յ�v3K�4_oWY���&s�2��	A�����.7�囅��q���-I&�~}����_���b��R�d�>{��,���X�L
̤��S����ٿ��AKC���h��V��͢)�Mm�����dN9� ���
�U	�����i��ڽ�*w�)��:_߂����]
)bDn���8�QY:F�Q*�Y�?�R���/A\zc7=C\� R�<����oJ�DyJ��|���$W�^�
���+
D&t�m���D��rN$�̺Y^^�uS��z6�LN�9�hg�>8��U��a5-�y�5e��4A���o�u���%�G�v�'5��6]�m��lA�X����1F?D!��{�R�D���D���F?�rq�
,���<
�g��w���3���8"���Bй���f�s!�-e���3�(Ju�@sJ��Ԅ*V����,u[��q���P�������#���}�ccH at G
�[���db
�Iwl�;�-C����'G�E��H�|:����0|�j���O��˃Z�}�xjL��P��:ovU�I��� 
a
e�j�-�I�I}nRq�R��e�r�z�w�$^{�(��r�oW��w
�ʈWƧa�3��PH�~���Y5�۬�
��h��e��b
��(���@�)���d,���)÷C��I]����-�?Z�{|�����P�
-�X�O� ��6˓�,��A
�Te
�5�u�;�\�T�Gt�$��B(�@�c ��		_��"�l��^���`�k#xnL�Y?X�
P���s���A���0�4�u���[��&+Vmot�׋����y��&3�Du�
-�G�!
K��)^+���eԪDBIu��U�W��6���[�6�3�Deг����������2�Ihԛ6�n[�ceeqc.\�dk�܀i��-4H��va
z�.{�V J��7<�g&5Fh���۳)�
�Цy����Зo
�R�bA��w�mY�
 �X@��m at T�
 ���3�?����e�Ί�pA��Y�>��aރ����%ݫ9: ��<���U
y�?����n�p���W�e�S�#i+a}9��Aś`��}J��1f:���Lj�Ӗ�\>K�zu�Z	�2B~�Z/+_LDW �MCa"Լ+��h��&[�s�mc��HC� � A=(�DH�~ @@a�g���|�ObjPq�	I'I�/$9&HrX���"�/?EsJ���
���!� R�;��0
8���5�2����LL�6i��B`%�u^*��:�:���t&I�2���e"m]�
)�����
p�yuE��Jz��[�-J<躍��^�ξ���Ѧ�e-3Ã�~r d�� �0�
$89�ӡ��= �p�kh7�߻HV�P�l�S�}0�۔p汨�p�;��FgA&���cG�4�Q�p�B{�L�=‒��:"U M.@����
t
*:W��
-��Vu�
�LS
��v)���+mbV����
o�0.�)���=e1sZ at I�t���t�O���>ͽ}�(7�*o�_3gx�.c0L�(�t�D�����,	l'T Fl9	�L�9ց��6�K}��Hعv}- ��Z
-�k1| ���D�YB	<��:�NU#��Q�jLc+�Q
S��b6���)��)�>���f���D
=pS̨�~�8��C�ߦC
-_$��D�'��ד���O�n�j� ��އ��рvQ�� bܡ��̽I����+8lx18����&iHe��4�)�:
���hy��'����v��v��Q,R ���qhI����a��	
Z~^�����K�ԻA:�v���ojG�Q�n��tΤ��ΩJ���^q�Xע,��ev0�09�X@<�䯡c��Ѓ��c0عhw�
�
}ȇ:�.��!�1��C�PS(�
	JoB���1[�D�����=)�5���:C|y.
�	��d�#k�
�KY���F��-rh�y>W~��:��e

�H��ݦ�o/���f�mW%�@�d׏Mi�oݰ=
��aw�����l�]=�43�i�Z�����f����7�@�ae��>̀�z[��-�~�О�%���:�|,�F xc��Cn;

-3?�f�*ϖ��e��۫��<���ts�:���'4Ơ��G����W
����LQ�ح�j���V�x4��)!���O(j[q�9��-�Fm�P��A�����#6܀{J���)�t���U�����kYtw�i����#����~�����ډ�~ۋ���I�@�~��l��zp��,���i��37����f��N��}�\�?
<}�-5'���������:o���a�f�
���<����q�]�W[��
��=ݷ��V
-�����Ȁ:�����B/�@^7Ȟ��c�[x��O���>���%��!��+��U��6����Q��{��zݪ���~֍�#S殺��ܷ�-
��
=�w�E_�;����
�,�>��h�p�Qp#����U��E㮵���D������h�\M2���ѕA���q��n�ځr�t^�he���h�<~��u���Bإ@T�À+���E���
{(�o�+�
�<�{(���M�<�� �d�
-K���^��
}�Ɨ]�����iRh09	��X)�v
X�"J��l�jf�j�c(ց'�R�m���:��kN/�`�Mt?�E�Ń,�w!�M�L
-Vlg�t0njoz�%�o
-�!��)��x6]�_�p�k�Mͦ4U�_�b����i�_d��H
7i5J|����r
���8�CZ�^
�U�G貄
�'Bχ?C�6���i�?8J
-�|����?p�א�	�.
�G��g�؞��Gw�o�]�՟f 8.��3�쌂�^G��Ѫj�G���j�D���M�;!�d?Oڻ��Ȏ_�(�:��7�������-j���
-�T��'�=* 
-�!��p����W���#S����
�
-endstream
-endobj
-9039 0 obj <<
-/Type /Page
-/Contents 9040 0 R
-/Resources 9038 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 9003 0 R 9004 0 R 9026 0 R 9027 0 R 9028 0 R 9043 0 R 9029 0 R 9030 0 R 9031 0 R 9044 0 R 9032 0 R 9033 0 R 9034 0 R 9035 0 R 9037 0 R ]
->> endobj
-9003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.064 645.816 229.749 656.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a18eff42a557fd87d59895399c7a13f) >>
->> endobj
-9004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.784 645.816 444.205 656.72]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.053 582.718 179.177 593.622]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a9afaf958c6f9dd09c89bd706dc09b0) >>
->> endobj
-9027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.391 582.718 319.812 593.622]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.251 582.718 513.996 593.622]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 570.763 146.896 581.667]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.762 519.62 158.127 530.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0e39243c24d99f8d374f9c14e3da8d98) >>
->> endobj
-9030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.789 519.62 386.293 530.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 519.62 513.996 530.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 507.665 306.128 518.568]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.525 332.487 253.249 343.391]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.782 332.487 341.46 343.391]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.993 332.487 369.896 343.391]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.352 139.778 304.232 150.682]
-/A << /S /GoTo /D (main_CC79) >>
->> endobj
-9037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9041 0 obj <<
-/D [9039 0 R /XYZ 89 770.89 null]
->> endobj
-9042 0 obj <<
-/D [9039 0 R /XYZ 90 704.191 null]
->> endobj
-9045 0 obj <<
-/D [9039 0 R /XYZ 90 469.802 null]
->> endobj
-9046 0 obj <<
-/D [9039 0 R /XYZ 90 407.265 null]
->> endobj
-9038 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F97 1185 0 R /F72 400 0 R /F7 538 0 R /F8 537 0 R /F23 364 0 R /F31 503 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9055 0 obj <<
-/Length 1742      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��Wp2�V��`� �p�
j�i��um'7��EH�"Y����ŋ"e�U�$��X,v�oA,vv^
~�

��c'D��z���	��q~��͐z�����z"�����o��g��Wrnpv=�s@`
-;D+����jp�
;1
�q0�a��)���\
-m�\
~�-�۱�D�ޓ��n
�,�
�>�)��z)2;�g�B�Q��f�^F�鉪�tw��ZX��:�Deƫe�Nc�/E�.������J�јq:�)�|x'���#‡�
1<�ڴ��(�۹u��VWB9;c8sȹ>�6A��Ak����u���<K7�)���Hd�t�ʅ���+|��pB)�@� '�L�(M�s
����	W��k�*��޷y�ԽY�*�Ld�9˃���nۂ7B�p���-�A?ue at R�Q��
!�y��TTz$�eLB8�YSU땈�:�����F�
-ǎ�\�#����Z�
ZD<���Vw�6��V�<�^�x=S�U� ������
-Ozԁi�1� =���n�2
-.���}�s
�QH��Ҩ���I��eF��w�!b�	�aD�DvT&ѭ��Cc9G
k�s�cA j(�]w�������o���1���0ܑ�[
-;+�2tj�++
-�a��y��:Tǽ V&�(�1���A��`ӆ�3�����(�}o3B��]ٍ�%�l{�vV�r}&�
�3�}�G�M����K׊-!m9 �r���f�v�Y'i\�ߑ��R�j=T�����ϵ@�'_97J�U��
{͸ʆr�����.�t�q����#8s8CY�
-2Vl�E�un�e;S�
�
)�*�[	]��u?���d���B�z�����sôMV0�8�I:���h��Iҡ�#&:n�dm	=�{.�&ZpG��6�Ds��m:�����8�D����Ƅ�F���l"Q=[T
���0J�J�������n���G�q��衮ͧ�2v]De��M��	\��

���� ��uv���'���RwTbv����`8�֢qK�Y)��"U�e�ky�e��}��]�ٷ��y�}J��&^EP���L��N�[��V�����
�F%���@�pQ��_� �T����_Q{w6��g��*?!<
����.��êW&�|�
�ųyv
MV��$�$�$�_	�&�P/)�t���O���>�׵^;��V�Ovd�d�T�g])���ޫ@��u�����>d�d�>
- a�'�ɠ�?+��;ɞ<妘�]̟L
�%�����}n�<�
<m���
�� ���hL0,=Q����
�nNEw�4��W"�#[X��v��ÎZD��n��S7`ٶb1�1�S��7����axJt�Jd|wҕ-퟼�1�
Q���0:���|�s�
-x�*�^ȯCC�h:�qw�C�շ_��2*7��f���H0�ߑ=� q�
�X���l�  g�N�{p��
=w'�p��d���	���LeT�E��!E�5e�l��6k�>�@�k�6/�F֩��m�
�����
�[<$����d�WL�R!1�gl(o����!i*Km!�q��&�=�����G���mm���6�4 at X�9��M��&��$�N�E�̒�}�ڭ�sx� >��۪��QC8H�!`7�E�
�B�	$��O�"���E�x
���F��E�k���t[q�e��֊1��� ���WB����}pl�g}#�����̓��˺.������ЬB�,)J��GE�
=��hi!
����͠��� �
W*��� ��i_

-endstream
-endobj
-9054 0 obj <<
-/Type /Page
-/Contents 9055 0 R
-/Resources 9053 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 9036 0 R 9050 0 R 9051 0 R 9052 0 R ]
->> endobj
-9036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.372 696.002 302.073 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
->> endobj
-9050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.149 592.141 329.403 623.109]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.563 592.141 422.493 623.109]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-9052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9056 0 obj <<
-/D [9054 0 R /XYZ 89 770.89 null]
->> endobj
-9057 0 obj <<
-/D [9054 0 R /XYZ 90 178.447 null]
->> endobj
-8688 0 obj <<
-/D [9054 0 R /XYZ 90 155.206 null]
->> endobj
-9058 0 obj <<
-/D [9054 0 R /XYZ 90 155.206 null]
->> endobj
-9053 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F31 503 0 R /F7 538 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9062 0 obj <<
-/Length 1315      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~����3E�	H;���N��L��O�
%�˭������0�$N����O\,
��O�g��;
[?O^�'��
�*���`�qJ�yl��#�L
�1�/��a����)�v�nW2���oɲ
-��Ņ
�$a�nW2^G2^\VS��<4�O������
C8p!��z?�!�� �3�-�a�P��T�\��u
-n�z j��4�km>
�-�2
�N�
�<ąo9���s5�J��]a2��8�saB2ᵯ'�擿'�b���u9�|+�&7����F,��nPf���5��'Lp�S|�)H��F�^'i�Ksu-�I }w�
-۞}I�;�ܬ���K%1�2V/ʪ(%4Q�hW�I� ?��r(A
�T� a&YՃ��(��~|�
 �-xT����"N2��I��I
@�8��g ��� ���@�U�^����/S�m���
0a��
�E}�]&Տ�
�st�qL��9��Ǫ�
Q�LU�]�t曕�
t�����dJ����u~�C�u�ݧn���6��.��e��U�8\�����>�esԽ�$�W��.D������BV�r�^�UѢ��e'�z�ӾBPh1S�)w��/ٯ [��Fi�\G�,�O�u�qOS���[=Nu��qr(mE4��
�{b�(�Z���L
�t
�c��!��D�ٖ2�m;u� ��
-�ʠ΃i{e�?�I1�9b
;��
�y�g
%����d(��ʃ���	����� 6�A.�^�X�m|3�)��Z���9����ƃb$\w�Ǜ"��֭7-��5E��;��p�a���ʏ��1 @��T!b"��A���Q7I�&���Uޗi%ͧ����"��JL<w��z��b[;T�-d�N����W����CD�d	�"A���+c���&M}�Ǜ�O�/�O�?�U6��C"
-C��Gfz�q�K�Jꤥo�
1�)���h0� ��]��]N�
;����.��Cw�}�.~0�.
�#�:Ճ'殸��?�Rr}�,�|��p �����ZJ%�v�m��l*/f*�&��CS��T�6�7�ZMQ��
6�g*����ѡ�	����������m�k���]
-m[P�@��(�*[��;��
ښښ{�����	$"L���.��-�7P� x9���o�<2i<܍����Ev��o�
	p�}�7U�-�=Y0_KuA2`����V��M�ͮR�z���?kY}��.��0_���o�g��u�Ùd��E�UВk)u���ϖ��u���}���(�aͪiʋ�l�٠�F�<)+�4��Lg��ߋB\�uAn��¬��i&��5z����G-
-endstream
-endobj
-9061 0 obj <<
-/Type /Page
-/Contents 9062 0 R
-/Resources 9060 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 9059 0 R ]
->> endobj
-9059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9063 0 obj <<
-/D [9061 0 R /XYZ 89 770.89 null]
->> endobj
-8689 0 obj <<
-/D [9061 0 R /XYZ 90 607.148 null]
->> endobj
-9064 0 obj <<
-/D [9061 0 R /XYZ 90 593.287 null]
->> endobj
-8690 0 obj <<
-/D [9061 0 R /XYZ 90 404.713 null]
->> endobj
-9065 0 obj <<
-/D [9061 0 R /XYZ 90 390.852 null]
->> endobj
-8691 0 obj <<
-/D [9061 0 R /XYZ 90 190.323 null]
->> endobj
-9066 0 obj <<
-/D [9061 0 R /XYZ 90 176.462 null]
->> endobj
-9060 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F100 1387 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9070 0 obj <<
-/Length 1534      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����fͻ�`���ЮM��V����L,L�TI���C��Zv�����O�(��s��#b���ί�g��􅇝 �Jgv���x������a̤?�4{���H aW9}��rvq9���F����O�!F�@��,֣�����WF,�]�h�p�`�����#lm�Gm��1w<�Ł1�jB�8�µ*T��f�M_�C|��vF,���n�����!�WG���ĥ��}^��yNn͸H6y��Ѧ��D����n
-�4K�uX�����++�ie!ƨgR�.#(��� ��ƴ���J�lx�#`J#"/�gg�����ʲ$;�O �y�c�dB�x�1�n�^����p��$Ֆ�v=_Fk��+�{|�H�AM���2��l
�O�6a
C*�i��
km��q*o
-��<$85Z	F� �����R�Nc��@H�\��*s
P�!(�jA�O�Rw�2L�ω����H�Ȇ?�0��1����[�`�������W
-
�Wj��s��{�r
YB [H�-���,��ggvs����wj�]���*���K1d��'�
-.��	���>8�|��%?u�N

i�ɍ�T���
|^����	�Y�:%x�qu�(�hP[�I%��
C�Oi��C�����H�Ou���"*>
ԓK$�E 
R:�,�=�FqURa
�8���_3�е�_�����P�,3��%
��� ��b�b�RYT��z�r��ꥍҶa�AR��`�"�hB!_!�|ńhB)G{��Ɏ��
���!�&!�����G���E8A�p
�0s�6u0�(� IF,�.�o\�pmx�p�`���a��8�^��O�"�EK�)���&�$���y�w���8�03y
���6�9N-�'���>*���8��!Ѿ��_W���1��K�j�OC��H�(�r�~~�����?_���)C�Q}�M����e���r�$�r�&˰�8�fe at -��fɺ��ܮ���g�J.�ި+׼@��
����Hُy���׷yI����.�^����*�U�TG��N
�rn�(�p�X�p5�%��dc�T-��SXR�0��u�q��z�9?�s�#� y^���(�r�@|$��(�^�K�|HF��S���ҩ,[��x�GPԬ"{=u��
Ң0�M:��(�-�� 4*�k��-���_��瓹H'pN%�77~f�uM+����%��^�
mz�+`A���Bw
-�	G[@��A
����=������V�

��PF�������~��B�]�橬���
P������$y�_�?����Hw����P{�%޷��m��m�i[]*����
�
��Z��ӚT�?�IMxjR��R�|Z�*jR���i,�9u��F���� �%{�|y���R�"����ߣ�+
H�0�kU�Ֆ�y�#W���^����p�
-K�T�[��Y
&�� �=\+eOj���S=�6*��e4�5��*��l:��vh���&J3�4����ߒ���Bn{{�N2Uu.0	�
��?�k�
-endstream
-endobj
-9069 0 obj <<
-/Type /Page
-/Contents 9070 0 R
-/Resources 9068 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 8983 0 R
-/Annots [ 9067 0 R ]
->> endobj
-9067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9071 0 obj <<
-/D [9069 0 R /XYZ 89 770.89 null]
->> endobj
-8692 0 obj <<
-/D [9069 0 R /XYZ 90 646.255 null]
->> endobj
-9072 0 obj <<
-/D [9069 0 R /XYZ 90 632.388 null]
->> endobj
-8693 0 obj <<
-/D [9069 0 R /XYZ 90 433.823 null]
->> endobj
-9073 0 obj <<
-/D [9069 0 R /XYZ 90 419.956 null]
->> endobj
-8694 0 obj <<
-/D [9069 0 R /XYZ 90 169.092 null]
->> endobj
-9074 0 obj <<
-/D [9069 0 R /XYZ 90 155.226 null]
->> endobj
-9068 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9078 0 obj <<
-/Length 1681      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&5Ë(��6`M/h�vY�+�"Pl�&K��4ɿߡHI�,�)�l�'���ṟO�V
��O
�''�"�I$Cz�+Ob/
-	�x���'d:#c�|J����|J���wk�,�W�ew����J�4��x���
��8/�D�9L���˓g��
H#��
@���
�#�@�l(��G���B����CR�束pm�=K�4��SI}�٦q��kތ��Px3B��ܼ�V]�Z1�-
]��<lX�P������	�U�ڼG���ɇO�[��K#&�wSm��2S���	��0w=���I��*�f��ѭ���|c�33�ysf	�+�
՚`P5B!��a�լ�`Y��"Ϫ8ɒle�Lw�L"ak����8��HH��Rs2����H��ƞ~��K�

-.RS��ۤ�3k�\Y�,����RK3����<��V-��S ��M��\w_�
��P�1d$���W�KE��tbῸb*P�v�!C���I9�
#B�s~������篞��b�~��`(-9D
��D
�@1փ�K]  ,*�ޅ�%e���@=P��Ն��L�m�*l�
�� @���P2�:;3(Is-	ݕSO�l� �l�T
M���q�lTV&�͗��G�˛6Y{�fơ~� 4&(�6�l��7�RE�ޱ���FF�%�K��k��W���qk����V�܌�v?ނ�n�
T��ݹ�n,���xfϟ� j-
��C�B��I��z#Sl=z���y��W���帳��{�z
-on+�/t���������V��BE^�iqD��Ӿȧ��7�� ���h�!���n�J
�Ce+D2O#�4֚�3^�;yC�\o����i�f_��M|
 �M�[`��h�MϘD!#0F�r� ��E&�N��@oec�"BQТ��n�2HJ(
��0�.�`��&�#�
�$Dp�"v�D���j�`�q�����*,;�x�]0&�cB�1�p������� G%��#���n74���"��a�;+���!ET���*dH�ݖȡ���:4%~]�.
z
�.��G�Z�sH )ّ��0

9XH�:�+����(d�'NЖ�$K�L=��Kp�۞��6MI�i�f̂1��3HM	a�Ű�
+p�(
�g��QJ�ļ���;�j
lD�r���v��†�h�\+��k�+�J
-��
�d���78�������p��p �oR3l��

���Z`

�cj�=��@�P�
�"����?�'
:�&<v�v�s ("�Ȳ#��,�[�"�A���}�]�|�`D8(���ۡ�(D+?�Z���3!�APNZ�A���2ׇ�q��FN����j~6pcH
-ҿ�OQ1�'=|"=�4����8	�
�,h��\�`�.��GH�MD�� �!c�Dj�<��؟}���a��{�C[�~(ԶP�ʪ�>�ECqR
C��f�R2�CJ�DJ��)1���$�M0굝`�;�H)��y,�SD��]
-;XI3�g�+�U+��V2
-�5@	�O:-�J��ρ�N���ϡ�נa!�q�>�8л1s���
�N��n������*��r�ېz
gױ�����f	ۖ�@M�+�-3J���_&��:y	|x��寫j{zrrss�%�Βm���d�MO��i�
�V�2��m�n ����3d�����
-endstream
-endobj
-9077 0 obj <<
-/Type /Page
-/Contents 9078 0 R
-/Resources 9076 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9075 0 R ]
->> endobj
-9075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9079 0 obj <<
-/D [9077 0 R /XYZ 89 770.89 null]
->> endobj
-8695 0 obj <<
-/D [9077 0 R /XYZ 90 556.742 null]
->> endobj
-9080 0 obj <<
-/D [9077 0 R /XYZ 90 542.936 null]
->> endobj
-8696 0 obj <<
-/D [9077 0 R /XYZ 90 317.114 null]
->> endobj
-9081 0 obj <<
-/D [9077 0 R /XYZ 90 303.308 null]
->> endobj
-8697 0 obj <<
-/D [9077 0 R /XYZ 90 77.486 null]
->> endobj
-9076 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9086 0 obj <<
-/Length 1429      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ�SK�z�e�j[)��pch�-�m��RTl���ry���H�&)�'Ù���D��:��/��Q��āFZP���i�����I�?z0��N��O_�

_�.��p���G��S��T�d�{�
S��,��iܖB� �
����{ﴅD�{'�("�"���1
3�fqa�GOA�=�4b2����It�K~��}f�xn��exF�U�?�
�͇t���
S����ͫ�xl�$f�1��ba��^Y TqD�` ՜;�7>{1�"�c����8�
��<
��)��3�����2�����J�H���~��LW3
��}��l
-�4����ծg�B�S-|X
��H��N��
�!>�j��9�,�e������&�|HR���d��
7�
-V|Pk��4�A�7"�S��j��˅
O���.)�ǧ�x��
PU�6�=iNz^	$������W6"���oǧ�^�?����G�bH��=���t�}��Z�]�ΒԼw��u�0���� �Ќ�
y�Jf�%@�!G�%�묀�bU/�:B'g9��*�,	
�r���4I�+�i�+�4��v
*�i⃠r �G7��$�1yRT���2�'�r��M�Li��F�M�߀m@(G�K[���Ѩ�:Za�e�|�g#�tV
��9]�ڑnD"��&G^��27Yn�&-l���vW,���zxi�$ [l�`�|*KD 
��S=�|�N9�;�'<,8T+<��t���nT��u�ex71Y�$ �m	�bz|<3�uq36y��w�&a�I���/����e��0�r�
-	ݦ�������K&B�5�u���t����.���nc��i�~�Ր�@�Ɣ�6#Os0�����T�6XydI�ʒ�#K��,�E
��W�"�^��l;Y�6ѣ=~b�w�%N�
��T���6ڈ,�>�Qέ�-E2:�-)� ֏di�,�t�N�/I�j��
i���W�N��N�Đb����(�3�[�P��)���)����'�>R���iH��t��5g�n}(�
��L����m�ɾ�L"eP]OcfR ��N�Bnk�3h"���‡���m�~
B�^#d��I����Zi'嶏\�aC��D���o�D��{�i��ደF�˯PD;߽�8��)��-��)
L��μ ����I�_r9pU@�3w�,�$����\ZQ;��x٬2�۷�"�����w�ǫ�֥մ:��؇���3c4�J�D�c"�!$[��[�>
]����������i��O���	)�'���b�� 
��p�k�5�6�j[w5��Z�ۼ��s
Vƿ��UM�l�;P�b�Am�T��˜�S��_A���W��f�������Ȏ��noo�d�Vi��()��lv��i��"|��4lA��5�t�� � ���
-endstream
-endobj
-9085 0 obj <<
-/Type /Page
-/Contents 9086 0 R
-/Resources 9084 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9083 0 R ]
->> endobj
-9083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9087 0 obj <<
-/D [9085 0 R /XYZ 89 770.89 null]
->> endobj
-9088 0 obj <<
-/D [9085 0 R /XYZ 90 721.073 null]
->> endobj
-8698 0 obj <<
-/D [9085 0 R /XYZ 90 482.535 null]
->> endobj
-9089 0 obj <<
-/D [9085 0 R /XYZ 90 465.753 null]
->> endobj
-8699 0 obj <<
-/D [9085 0 R /XYZ 90 219.654 null]
->> endobj
-9090 0 obj <<
-/D [9085 0 R /XYZ 90 202.872 null]
->> endobj
-9084 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9094 0 obj <<
-/Length 1361      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�6}�W評���U$�E���v�4��%

�f6jeɕ�8��E],E����y�u!�3gf�!#�}�������ĞF:��7��4�d@��ě.�K�`��xB0����`?�V��|L����7f���_�yf���Հ"
-��~va���Y�γ1Q~
-7��j���
!;
R��
�)�{�t|(������
-쿥��ŀYΐ֢���
�Ͳ?�a�;kӱ��Y��0v�7aL"(oB�B��ڔ��d��q�Am�Ib�Φ��G�b���r��������������ۖ�V
�
~c����>�)p��&
-�*U�j���$�"J�
-�t�Y���G�o�M(G��!Tg������i�
J�D�7�+��&	W
Q��~m��K�{/��MCA
���
!��4���}e=qه�C��n��T�D(�
)y�U������`�C]Iv�N6NO�|���?�()f�������
�H��� �)h�_9Q��Yzs�-���[������7#�lp���
  �P�5�wƳ ���(���\�� A;���� ��wZ�_�M��#t�0C\5��
��:&����9&Kw�&񽻂W�l���-8���b6�GZ5+7Q~�
��C;$@J�
�
+
-�i�035�u� �m��zT�3*����^"'D�8/i/�3{v�0kˉygnk�W.
-I���n;"/��Tɘc�6���,�>�\���H�:��M����I79]�)jss�.�̃c���/#�'�&Qb���
�˄(��Pո��Z\諸���pt9V��c�
q���>C\J^��(�۪@����Z�YB�
q0�эc�a6�<���0��K�F��ć�K�(}Y6�,�e���
-6��Q�#N6	�Z)J�>�Ե;�lO��=q�a��"J����?'#IZT�w?�:\�*�!a&л��ϡ�r�O# ����^	�E	\�ށX����i�>O7�2o�p��hn�j>tL��c��0��ݭ�i9o+|p�m]6�2v�  
-р�+�qb�@|���rh��l�
�~ �V�S��'� ��D�5���Lq���Uϊ��
s����hlAB1�M�Hz
�#J�{
-hT����<*��v�+�#����X@(�ݎ
�
-U�
UaϮ*�������ZU�^U��	�R62��ݯ(B?���WEyU�C�Rno���߼*�W�(
�/+Pz�����R~QW`�d���g�+<+_�mMX��nk�v�-���r�};¯*�C�l��][ns啵��P�|�����ј*H�_^}�󨄷��(�n�S�ӓ��v�9�$�:CQq�^�'kh�
-�H6F����*�S%�pU~/z��?]�
-endstream
-endobj
-9093 0 obj <<
-/Type /Page
-/Contents 9094 0 R
-/Resources 9092 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9091 0 R ]
->> endobj
-9091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9095 0 obj <<
-/D [9093 0 R /XYZ 89 770.89 null]
->> endobj
-9096 0 obj <<
-/D [9093 0 R /XYZ 90 721.073 null]
->> endobj
-8798 0 obj <<
-/D [9093 0 R /XYZ 90 704.266 null]
->> endobj
-9097 0 obj <<
-/D [9093 0 R /XYZ 90 704.266 null]
->> endobj
-8799 0 obj <<
-/D [9093 0 R /XYZ 90 565.159 null]
->> endobj
-9098 0 obj <<
-/D [9093 0 R /XYZ 90 550.77 null]
->> endobj
-8800 0 obj <<
-/D [9093 0 R /XYZ 90 413.7 null]
->> endobj
-9099 0 obj <<
-/D [9093 0 R /XYZ 90 399.311 null]
->> endobj
-8801 0 obj <<
-/D [9093 0 R /XYZ 90 245.593 null]
->> endobj
-9100 0 obj <<
-/D [9093 0 R /XYZ 90 231.204 null]
->> endobj
-8802 0 obj <<
-/D [9093 0 R /XYZ 90 77.486 null]
->> endobj
-9092 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9104 0 obj <<
-/Length 1728      
-/Filter /FlateDecode
->>
-stream
-x��ZIs�6��W��R3����NM�L�4uwzH2
J�,���T�����*Q�<�{�/"H,o�{a���ޫяW���{iA�w��4�d��6�>�L���

--`W����o�.�^��s�����#S�#� ���f�чO؛���
FL+o[.Zye����F�V^A�8��� ��xB0�~aV�8,����%�jw� ȱ���݊������b�6I�2�	��A��<�?I;�ro�� +DI�eM�V at DL��4��i�c��0[�ד�0`�M`��ܭ�
S��ni�Yx�&�fa�;?�6Qǻ�wf�����e6&�O�`�b�� ��
l ��/h�*
J�C
- g�Rߦ��-��W�h�c����9��I^T:��L�u�&JL�]_|Y��<���k�Sq�{� I��m at T����"P`�?O��#�t����0���zs�Y_'$h�4Fb>L�q�G���ѓaF#*I_ɥY6���6�� �
���,����	��%1�[�E�B9��{��"-�����,�+Nh�� a�pRd3p(���z��h����
�$޹L��A�v7��VV�� ���s�e���E�H&i��ۊ]��!
��š�@d�n����]d骢3MDŽ��폩4�
h�`����u|�e Y��.����<S�
E玕���87+�� b 3�E˷�c��0�T�Vx甫��0sT�����y�#
�<I�hˌ
-ɾ0Y��ݞ�$H!�\��o�Φ}�@���rU��)΍��
��9���=���:��k�L�4��Y;`U-a,N�*��U�ۓu?�p�H� "�^�<�!��VJ6+��EZ))]��
w1�
p8��C
087I����`�9�A��xϒʇ�;U�tS��7
��Kf&�-k��3K�'" �1~��=���%���ŗ�Y9�
b��¼����H
���:�n����6��
i�zE�Z}m+%յ�o#�X�ǎ�����b�n��S��IJڵ#�&�I���46��l
#��C�i�?-+
�J>D
-�H	֫{Z65U
?�N�,��R��Ѯn��mm���݀��A��
�z

F�
�E�C!�R��8Y���� ��
�{���:���=��0?� +�%�-��wd ȸ�ҍ+�fQ��MR���� �T�'L"�U�CO
�S�zR��ؑ
-�<�C���@�����B߻C�:'u��Dա
;�)�&zN�L�U�d��='}e�.z
��!NZh�N����% ��

 ��~���{�n��o9p���p�4��R ]y/4� �yG��Ԟ֊S
Uی��f���f\�ߛ�}�
���Ӕѣ����?��JB��
-
v��f3c湅zT��(��D)4l	!Foʶ�~
�ǛN�m&��2!���	Ն`y�	�̈́y�1ج�ΌH��ݹ�<����2�V�J�j�����t���

-)�"Ƀ��^O)�A�
^wؤC�	^|xt	��O�G�;(�f�_\w@����;("-Z��i�;�ۑ�
�G~�}G��c�
�<��-�E���=�8,a5r���� ���{�&;��K Z-ة�(�
 |�&�T�-�Մ{teZ��K����D�Z_?���½�����1�~S	�M��m�]���@A�6vȂt�7��ԉ��W�~v��ô��|��eQ���ζ�-��h�D�
E��z
�
f��)�T4�,j�JkcD	|\�������_�
-endstream
-endobj
-9103 0 obj <<
-/Type /Page
-/Contents 9104 0 R
-/Resources 9102 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9101 0 R ]
->> endobj
-9101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9105 0 obj <<
-/D [9103 0 R /XYZ 89 770.89 null]
->> endobj
-9106 0 obj <<
-/D [9103 0 R /XYZ 90 721.073 null]
->> endobj
-8803 0 obj <<
-/D [9103 0 R /XYZ 211.842 426.935 null]
->> endobj
-9107 0 obj <<
-/D [9103 0 R /XYZ 90 407.197 null]
->> endobj
-8804 0 obj <<
-/D [9103 0 R /XYZ 216.764 77.486 null]
->> endobj
-9102 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9111 0 obj <<
-/Length 1923      
-/Filter /FlateDecode
->>
-stream
-x��Y[��4~ϯ�$3D��%yax������
�C���&Jcp�`;�.��#K�ƹ�n`�dٖu����d�}��b��lt�\b/@��›-� {R�S����1���ɔ`��W��a���&���n�Yx�*�������M(�0��_��v��Wل�q
-7������sBZ�d
�)�}g�tt
(
�O�7�)���)u���r������~Ϫ��'q��v��$�c���a��gޔ1�|��)!(�}��k����t2��8V��Z�If
���F�<�
)��}$�7_�޾��
��0b��n�Ik�S��{3�e�z
-"mG!��sV��B�6��8v��I^����$\�ɔQ�W�=����^���!7���D&���4��jM0N��(��c���c*�
r$P}!���0
Tv�
g\^��$ZG�Q�b�w���4�
g	*�5«(�av����l�Gib����r�Nd�ܡ�Dm>ثBTԓ`�>��I���0��hB 1�B�@���(Y^'B(E�˽B4H9O�bH�;��@�>^��4�t�v=�6�S�^�E\I
-I�w�T��H��U0u�z%18����7���}H
E��b�%�S���e�6�Ud[=�&��
�`��a���4��̈�W�� ���g����ـ

�Ϋb��Ԩm�Vz�v Ůpz�ve�N�&�Or�n��v�]f��ʹ�q:���־�v(�}��CF�V�R@8[���h���y�W-Kp�Cϴ�%�ŵmqQb��Dly��l#���[���z�-��m�jD� �b�Pt)$WU�-�+�Bgy��f�n>A5�بkZ(�:��Q�(P�+�̪��e��c(��iJ
4��^o����.�m���]ϋz�WI >�[���k ho
-q.Jf��ͽ6��P�c�d��YX��L��m�X�
��J�*�^�ݫ� @vT\�$�|%���
[�
�
rh%�x��t��)�|
�ndf:������� #�9 �	���L�1Q֕�Սg��zS@���A���bqy	[��0��a�b0)EF���V�-��HU��:�"�@��U�夺]ts
��'�8=޷�²*�#ؼ�I�(1u6,��X#�L�7��U�	?�W ��Q��H��<4 &y�T�0�V�A=*�Y{p�q�A�\͍m��㺹
-�@��:M�^�q>�� qa}�Y	�*�{ ��� ��;�wJ5�y`
��C��
-M
���;г�&,����X/]s�&E�5
 ש�
,m�u9���1�p�rL�0��sLҦ��������`�q"�$5����K����Rvʏ喪D8-���I�
-�!O@�I����Ci
]��^�6�u���
��_�9�d�
-]B� p����h��#l<�0��V#�2-�A�_�j�2L��f at FC_���W�E_U��
�蔣� �
�e�%�M,����  ��֒՞��s��^l$��ە��� 'dpr��ܑ��	���i� �e����A��8��Π��?O��ǟ鿟?�s��?L��Ǟ���=���B�=֍�1�ⷕ.
��R+,l���|;���u��M�P<�8���}�5�d��؂/�?��?�V��*"
��4���
!w+",
ՠ�C�̠!�Cл>=\59�c �&_p@�}HA
錂_)
R�*CK��<��� '3
<�0[���fi�_�Dg�
�H
�HB�;��j�����0|%�9� {1����G8��Pя
Q��
�,]��A��!�0��2�� #�J��O:�T����o����g��#z�G�)�G��
-T�_e��muV`o݁���5���`�V�
&�0�cC�?�� �p
B� jX2���h�6iw��W�~�M���
���kU�ˋ���[4��6�6����&�ح��UGM.+��N��o��u��v��7
� 
-endstream
-endobj
-9110 0 obj <<
-/Type /Page
-/Contents 9111 0 R
-/Resources 9109 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9108 0 R ]
->> endobj
-9108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9112 0 obj <<
-/D [9110 0 R /XYZ 89 770.89 null]
->> endobj
-9113 0 obj <<
-/D [9110 0 R /XYZ 90 721.073 null]
->> endobj
-8805 0 obj <<
-/D [9110 0 R /XYZ 211.842 428.106 null]
->> endobj
-9114 0 obj <<
-/D [9110 0 R /XYZ 90 408.133 null]
->> endobj
-8806 0 obj <<
-/D [9110 0 R /XYZ 216.764 77.486 null]
->> endobj
-9109 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9118 0 obj <<
-/Length 1406      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�V~�W���
����Jmv��n�M��F��N�
-65&�߱��`��(��'l��of����yp��k�Io�Ia� #�t&�����		g�s�g�n'�
&5"F�]��?�N>~�\�k���޿=K�!ց@J;�e��;
\��`Čv�������¹����'c!b�$q�2�!���Z����0�V՝��v��Gk���Y$���K0dT�?���p��Hk�jo�%���駖P ELJ��(ZXo���n�t�ìC��X:C��a�/���n�{�;�-���x7
�7'��X�W������2
ݏ�$i	�b��$�`�H,
-�`�F*�A�
T�S4�1
Ϣ0q�p
.�����+�$AAZ���l	���L��7�8OZ���4�d��)+��.���LTi�k������  "6���!��3�x��M.��B�
q�$��Fͨ
�+?��P�;���%DI��[�R�
�m��`�гQ��٣b�wg�"��*
-�0�M�{H���H0Z��YK�
]Ɛ̃��@km['s�)��5D����(����w-�
@\(�ւ
��?2EDA��@Rp{���f�*	"[�����^�i���A2� �o<���GwxS7~�,�̚�4�6x	�d
G*�۰��a�8E�"�W�X�Rm�#��)�5�ލ�B{$�8�A�V�M����Z�qH	E��
-ei��
�� �g�U*ӫ�7e%����v�b��s
&�i
-V���(��4�5��E�Ex��`��p���p��
-����A��I
��FF
(��>��˗*�<�\�ȼ�t�ʥ��tI$ ��ҥ�9/]RɆt)�Kt|.]p�.�B��J]��t
���ˈ�hѐE$eWB�VȲ�M!��#17��>��i��
�L��U3�ȳՌ����f�ԌtT3qN���L?S�$;�f%�)
G��]�����V�͙���ڙ�#l����i��1�Fb
Wj��^T˹��Җ�&:k��F�F��)�"

-���.��y���M��a����U*��|��]聞�hҍO	[L�
���Ψ�u��J��[3*g�ɨ�`T%�1�|�+B��LC�
�y�_�9|[ �M$.����UD�zCz%r��ɯ����MN𬂘X���\�9�-
���ޘt�F�&��M
3���ӈW#\x��$X�8^��!޶9hw��f����Gqϔ�O�J�
4��0͔����K	����Q��
��d_\ ���
��2�k�W@�z����E���iA��4gi{�?��?c��wa�S�{L]�8 at v�"�vB4�"42��k��3����G_z�������r��I��F����h��h�Z�ۨ�pT}�(Gb�B��t�?(���e�V
-endstream
-endobj
-9117 0 obj <<
-/Type /Page
-/Contents 9118 0 R
-/Resources 9116 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9082 0 R
-/Annots [ 9115 0 R ]
->> endobj
-9115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9119 0 obj <<
-/D [9117 0 R /XYZ 89 770.89 null]
->> endobj
-9120 0 obj <<
-/D [9117 0 R /XYZ 90 721.073 null]
->> endobj
-8807 0 obj <<
-/D [9117 0 R /XYZ 90 587.491 null]
->> endobj
-9121 0 obj <<
-/D [9117 0 R /XYZ 90 572.913 null]
->> endobj
-8808 0 obj <<
-/D [9117 0 R /XYZ 90 422.494 null]
->> endobj
-9122 0 obj <<
-/D [9117 0 R /XYZ 90 407.916 null]
->> endobj
-8852 0 obj <<
-/D [9117 0 R /XYZ 90 270.832 null]
->> endobj
-9123 0 obj <<
-/D [9117 0 R /XYZ 90 256.254 null]
->> endobj
-8853 0 obj <<
-/D [9117 0 R /XYZ 90 77.486 null]
->> endobj
-9116 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9127 0 obj <<
-/Length 1240      
-/Filter /FlateDecode
->>
-stream
-x��X�n�V}�+������U��s�tN+�	}J#�`�Cm��w|�`��I�
)Ox�}�Y3��lc����σ�&��G�-���Қ�-�-%	�XϺ�	F�

�1����n�t�WC��U�[�^�N	�c7ލ��4p�p7�������W�h{�tx7�4�H�ށT1�
s��/��l(3Ռ�仡C�����c[ΐ1�Z�É]�c߅n��M����r
���-�
�R[!�Q����~�͊y
k����dJd�&���b���r���f���
�<x��ˆmm�IK�S��u3�m��F
-
"��B
VF+��� 
mSg!WH��t��#w�>J��o��?5��䟪3ND3D%�(A�	�Y�����TF:E�(�H��e+�������V�2��leXwg� ;ς�
-�x�z�t��
�M�~5��

t��c���d��4�%9
���f
��q�
L�}�>iJ�Y�A�W̄:i&:�
N�J���yeI���l��B�+F�y��v����L��0�З��#�뀥�b
-��W��_�:����zN����(��'�� �?��!R� @�
-a)�%����4�0��6{�CI4R��^�Ɂ$��� rl?�a�M��a�������l�a�,�Ր
-{!�
�e��/���d�'���#� 
��	aw�"� �H `'�f���M���G
5�P��Y�
-(y}�����_���l�k�%Sy��!'�|���E �M#�
�E��%?fe�l����Iid��{�&����o�k\���,L@�����1�X�ٸL]��ԏ�32��^��r�y
�eC�Ǩ�(q�/Ǜ�/�r��ېf\�Y��䕯���C^Hx���(OG�!�V�r��/R@3S�n�=�F\R��4����>��i��S
?o�<���c��v����S�2��%�#g4F�N����]���2��ʨ�vm���whP�
h��V9����k=�e/s
�}���P�����$g���NO
-P��\�b��{$G"��&9O���Y�,͡
I%Oh�|ӜW����
�.7���q�B���f%> 
9��f2��9�$��(ڣ6��]x����3� >�����:�<
Ge$�t�y��qԲ� �b*�U5òl�� �v(�]��mܰx��1�
-t�x	�C�2A�uw�����gZ���A_c/�
-A�V��H��x4�n�h��M�c���:

K��.��7�o^�UE�A/�n&jG��z�L�
-endstream
-endobj
-9126 0 obj <<
-/Type /Page
-/Contents 9127 0 R
-/Resources 9125 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9124 0 R ]
->> endobj
-9124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9128 0 obj <<
-/D [9126 0 R /XYZ 89 770.89 null]
->> endobj
-9129 0 obj <<
-/D [9126 0 R /XYZ 90 721.073 null]
->> endobj
-8854 0 obj <<
-/D [9126 0 R /XYZ 90 584.245 null]
->> endobj
-9130 0 obj <<
-/D [9126 0 R /XYZ 90 567.551 null]
->> endobj
-8855 0 obj <<
-/D [9126 0 R /XYZ 90 380.101 null]
->> endobj
-9131 0 obj <<
-/D [9126 0 R /XYZ 90 363.407 null]
->> endobj
-8856 0 obj <<
-/D [9126 0 R /XYZ 90 175.957 null]
->> endobj
-9132 0 obj <<
-/D [9126 0 R /XYZ 90 159.262 null]
->> endobj
-9125 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9137 0 obj <<
-/Length 1358      
-/Filter /FlateDecode
->>
-stream
-x��X�n�6}�W評���E$E�(�&���6ݸ�C�D'Be��%���#�R,[��m���$�"�s93g(�<8��q��t0���QH	*���Qؑ�B\�(rn]&��n��a�GD	�UO_��~�����6x3
�5 �	;��H�N���a'��FL�κ^�p<��87�_����+���H�!��Q�zH�d�B:�k5v���C|$a���3#&|��
_q��Bm��>��r���!+u��LK�
�\G�m���K�����z���ٱv�R�8#*g6
o�����陦��FD^D�I�=�>I
͂졬�9� őڲ?[)wש1)�W[�W��

EL�f
���"I�!�k��87k:G��
ni�#��K٬��ܕ�������E1؞�GGq.������!��P�!!�3�<ĤgKCDG�|��^����F!] W��
-���!d]��J��lPTJ����7���G߽�?J�C�*�g ��
�������OU�-��H�Y�f�C
-���QGY0�5bD��8�eD��B���>
��db7q�$��
���f�ِ��E��
$򣮫�e~��Ԯ�<S��{
-��1't2�Q4���&L@��`l��~c;o���E�rv��%_Y��y��3�t�`����`�4���E�
m3�6N�8�w=�����Me��~EMi;X��d$�HzNJB��/#U����������2r��&0u*�G	9�G�
1�|
��l8�x

-�6�U����5F?	ːW"�>������sH�``(�S�
��>
�V�M����v�b t�L�
-0R�A���:�f\
�k`�0���v�"���w�,�>�	���{���U����2�����Ī��y]��`2�3]����f�hU�
3S�`�2�T�X�.7�s���t^ �ll��� ��6���
� ~�
��gm �dm�$��0�L���m���P�(A����I��l�!��_��N7
-�M�햛�Q�^��L���� ���Vur��r��
X
����S�
-�L�.���=&����
5kN�hЋ�n#A��p��o�~ӗ����8� n՗���n��MQ��v����i�)޽}
-K;T
�
o����17O��h����
�&!h�:<D�>'>w
�-����Eԇ�y�<v����).�C���(.��f�g*�{d�
��?O��r�1
�!�����w��j�����&����@
�������?iY���^���gn0��V�@����Zj���i��
jn)��M
��y,��d<^��(�Q�ƫ
��x�J���%,[!��Ų��q
-���"�� ��@��
-endstream
-endobj
-9136 0 obj <<
-/Type /Page
-/Contents 9137 0 R
-/Resources 9135 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9134 0 R ]
->> endobj
-9134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9138 0 obj <<
-/D [9136 0 R /XYZ 89 770.89 null]
->> endobj
-8857 0 obj <<
-/D [9136 0 R /XYZ 90 636.659 null]
->> endobj
-9139 0 obj <<
-/D [9136 0 R /XYZ 90 620.758 null]
->> endobj
-8858 0 obj <<
-/D [9136 0 R /XYZ 90 376.608 null]
->> endobj
-9140 0 obj <<
-/D [9136 0 R /XYZ 90 360.708 null]
->> endobj
-8859 0 obj <<
-/D [9136 0 R /XYZ 90 175.004 null]
->> endobj
-9141 0 obj <<
-/D [9136 0 R /XYZ 90 159.104 null]
->> endobj
-9135 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9148 0 obj <<
-/Length 1663      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�6}�W詵���Eɠ(��
ض@���C�0�I�ʲ+�I��
��,��%��C�}�ż�̙sfd
�8�0��zt�^�@!�(��
DD�$�N��1�($�)��/&�u1׳�	��E�~0I�g����.���~@��,[�.M��M2�(&D��PM>]<{OHgC*�*����}���g�L5#ޒ�&S���-�7�ˆ
)ś9?�Y���M��ҭv=Qtl��LW�N
��	�#L	A�s7��ܙ�0��n\�%�<j�dB�ףwףF����
92�磛O8H��� #�d�T�!ep͂��o#�#��FL*�q"����B�Me��>��B�/�s�D�O�5��e��Գ�`]gCT6�^?�x��U�Ӽ����z��J����E�n
-��47s�Whk˞�S�pJJ��
����ͲJa���6�,���<�'!
?�,Mf��_��
�_q����b1�|��;��;9e��`2��1``�j���nLog��f�Γ�uH��h7���Ąa;D>@I
-����i�Nj�RW�mf�@
-M)83�NC��
�@ �y��d�V�x�8������j�49�*0��Z�a�G	��G1�D‘#v�2x��G�c�4q+��Ʃ��$‖
���7	��1��fu��Bϛ��&��9��M��s�$3ǃ�:���]p�C���
5���M;rv�.%��c��V	�K���'BD��d'�:a�'Iڮs��Y��O�1%X2�b[	ψ?&ICk���ˎ)@)�I����	�K&�~��`��v���KDX�aJ�
-~}��'�
9�6���
@j�<Ճ��z�U�xB����q-R�쳥����|):=䵴����h�޸P�g��韓�ò6�y����nT
��p�ȳ���zq5�c�=��.��խ�4׉��2�X���{��9���Q�e���cS�w�̟�pWcMn`�����V���������
���(؜�}+���|%�qa�`�g�A���/�V�@N,���A�
,�u�`��L�����p���܇[
�j���S�0B�}_~�+��s~�R`S\� V�Ja��!`!��*��Vy�־��
�:�:.�����E�!ׇ��Z�ۭ!�L�v'�P

<ٯ� #�*SZ�к"p�b;��޷|�F�M=�	
l��mxb]�G�����ehCOS���-�$�s����YP�ri C���K
�,Pl��C�ŀ�7�h�>yA���Ri�4��I�ucs�U�9̮C�
^R�]Y~�_l%tb)Dt���D&/��H��; O4ڭ�|�z��]�<�Y�Ռor�h������釿W�
��r��
��B?_x��c�
�Z��H����;u�nE
-��]栺ү��U]A]�q�]�-gW�:ԁ+�i�ɠ�

�p���+1�Xx�
�e�*rXv)`�4ٵK�]�c���K>�I
�e�n�ʮ=mݵz�꛲��;]=�! x�P9�M ��
�<���t%��b� �@�=L5:�{�]2��/€m���sP��������[Y�c��
-ĕܒ�

&�!��!���=�^���	�c/$��|����<|�KA���F�Vj�A���Lmg��As��v��D
-�p����Z���===��D�<](�Ζ��lWX;�@w�)�����Eӏ�9���	���� 7ƃ�
-endstream
-endobj
-9147 0 obj <<
-/Type /Page
-/Contents 9148 0 R
-/Resources 9146 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9142 0 R 9143 0 R 9145 0 R ]
->> endobj
-9142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 291.217 212.124 302.121]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 86.288 210.103 97.192]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-9145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9149 0 obj <<
-/D [9147 0 R /XYZ 89 770.89 null]
->> endobj
-8860 0 obj <<
-/D [9147 0 R /XYZ 90 641.946 null]
->> endobj
-9150 0 obj <<
-/D [9147 0 R /XYZ 90 627.51 null]
->> endobj
-8861 0 obj <<
-/D [9147 0 R /XYZ 90 390.157 null]
->> endobj
-9151 0 obj <<
-/D [9147 0 R /XYZ 90 375.721 null]
->> endobj
-8862 0 obj <<
-/D [9147 0 R /XYZ 90 185.229 null]
->> endobj
-9152 0 obj <<
-/D [9147 0 R /XYZ 90 170.793 null]
->> endobj
-9146 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9156 0 obj <<
-/Length 1529      
-/Filter /FlateDecode
->>
-stream
-x��Yߓ�4~�_�'HfE?-��ah�C�r��������Őة�4�����ر�$����,��jw��}+	{�
�����F�{
-|�{�`O� 	�"�Ϥ���	|U~��ח�g/ǯͿ޳q�m��/�+@ ���w�{|~�a��m�NK�Sυ���[;]�A�T�0�$
Q
X.��,\�Bgy�F[���]1D!	Ç�ĂY1����ѹ�w�P��[��s=R���.l#���p��E�R'y�&������&^,l��u]'�4ɋ,�
��


9F��ސ2Ĥ[�g�zU�Lh?|Šȋ��,N
�+q4	��5�_
sJ P at k�d逊���W��::��Gp��v��3�E��.(Pdۧ�ǹ��\
qYu�.匕Ç1�s�
-��j��M\�m+M�'�d���H�ٵ��W�{�e��!b,��]���_zZ���W��rh�ڽ��E��v�����
��_��6 ۖ3T�#'� ���
Y Nr��8A
Q6B0 at 4��j�J ��eL��
�t�!@C�D7+�@��eR���|�?U�)=�S�_u�B���T�v����!�
�qd%:hX�������p2�
E�BⷱP?�WY�ݜ���E
.7�W:ZOu4��D�Sx)�� Q
u�QWU���W
<S6x� E)�ǜ�X��
!$!&a���&'����D�@5
X����
H!�?a8eA�p�k84:
�`ĉ�ߑ����[]d��CG��
(	���"E+����d�
R��C�A��G���E�
�]����-�����:�1�З�8�[�äb�}͈q_�]�&Q�
�#%ek�R�t��؅��dI%���p��ْ��
G���z�)��UN�t;���$%��?2�gg&�� 
�� �0D_
��`��j���U�N����!{�D`�|$��.1��ʈp�!G�HB
$䗉���Ŷ���|�f�΁��8�nr~�ðB�Ʌ�a�)
̢�OGb�󑘼#��S8&p��U�.n�`��6��6�I�
L(�Q
6�g�>��pmo�j~+��N�>"u���
�( � �1|�ʀ@�=�*��Tf�tTf���L���$��~PQ�*J@
v
_�SY��3�RY����ۥ�!�q�Ǚ�vL���
x���z at D�̟w�p:o����e�c�V�l��y̙[���I)�Z��ة��b�%:r���Y�CߟD �Gгp�wMÀo�\lOs��`T �~|�A�� �c�q���oYj�S��z�/߱��E�lv'�
�C'����j#�g3]j�������:���o���2C=�-3�@d�
W�,}/���m�"s]
�%��[��x2�t�9)f��8�m�8
F���8�7�0
�Lټ7��� E�.{/L�bPȽnaȾ:��/��:�z D߅�/a�ݥ�I�w [...]
��E����
-endstream
-endobj
-9155 0 obj <<
-/Type /Page
-/Contents 9156 0 R
-/Resources 9154 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9144 0 R 9153 0 R ]
->> endobj
-9144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 649.672 483.212 680.641]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9157 0 obj <<
-/D [9155 0 R /XYZ 89 770.89 null]
->> endobj
-8863 0 obj <<
-/D [9155 0 R /XYZ 90 633.026 null]
->> endobj
-9158 0 obj <<
-/D [9155 0 R /XYZ 90 618.865 null]
->> endobj
-8864 0 obj <<
-/D [9155 0 R /XYZ 90 482.334 null]
->> endobj
-9159 0 obj <<
-/D [9155 0 R /XYZ 90 468.173 null]
->> endobj
-8865 0 obj <<
-/D [9155 0 R /XYZ 90 333.644 null]
->> endobj
-9160 0 obj <<
-/D [9155 0 R /XYZ 90 319.483 null]
->> endobj
-8866 0 obj <<
-/D [9155 0 R /XYZ 90 172.999 null]
->> endobj
-9161 0 obj <<
-/D [9155 0 R /XYZ 90 158.838 null]
->> endobj
-9154 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9169 0 obj <<
-/Length 1900      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W��5R����F/R�&��T�nh_�y�,V���������6�5
,�D�����9��/�n<���6�]����H
*����ؓ� N�7�zo}�Q@��1�/��a�
Ǘ}��t��G�,
����0��vC
���v|M7�h:���D�)\����W/�QH%CX`N��r�c�@��v�N~�(����~��0�5���e��Z�E�^��F}M�h�Z�yd
��Ią�� �y��U4���Eɤ�`�0�H&�Y�=���X�
)�p$�7Y�޾���_y1���b��
(�υ���W�H�Sa
x��b]�~�a��8Mօ	m!�+�B!	�,�
-�|:
�I?��m����0��,�$w$^���;���F�,�S��%�c�Y8�N�(b���a�l���
�U-5���r���
-`Rm
-�i�
"����m��Q'Z�E���νo�d�.Wa
_/"ԑSJ(�P;��|��CT�B�wҫ��M&��dPۘoWQ.�P&(�F�	u�4nߤ{o��"�~���TM�ߚ�O�iY44HP�ͧA� #I�a��DW���)
߉�p� i��exSAt3���w��
ʄY
B&Y�NIB]V��6̺N)��-p
5��_�If��V%N�M
-����RI��t��<֡S!*hK�4*�>��y��z8,L��[X�V=�#���i���8	���V����Jl�3i��9�K�$2A�?ҙ-	�T�v���TEk���8�}�
(UЍ�7 �P���B<n�t��
��1u8���H�L���pӑ�ۚ�^����1���v���<��]�ݚ�:L��u�M�d
-R�bn��6�$/S���j'7�ŭ1Щ
�{X��u��@���Җ����	��*���7@'�MZ[d�6֫hѴ\��v�*4���_u��n��s�v
yF^�j�t��	*a��"p�
�G
e'fJ�Nd��.،�;�/V�����<���R��HXi�+��_XTe4��eW
��e�$n����\��i���"N�%T�i���ju,m%�>�9���,R����L.�
�Ŕ.�sE��cf�8�WZgE�m�n,6V10�p&.Q�e"��'e�)&� 7��
�|w�:P�F�Z��m#�cj��M��*��
�"I����HN�g1ɟ����\n�o�r��X��������n�5s��ۻR�p��X!G���
+�'mQ�K��`F�<sb;c\7K�SrB���	Y
-��`)����*pn����)�Y��;��F_��B�>Bb3�i�v���
-� ����)��,Y{�
-��1dŒ�r���(zB  
N�'e���:���
��ŇH
qH
>��菌��6Y����d�I�)o���Y
1Sb�a-��=��#�8�<���(�blqg��F'o1�:!X�\��S[n�M᯹5��6檦6�����&��D!t��8�
O�E)��VUv�l�Q�mX��\J#N�4�q��b���'�4�tFC>+�Yo��y�o��H
y��_���Ǔ���t��S���4��I��\���4�k�4�Sx�LN���4��Q�8�#9
���4�[N_:9����	��&J��,�`q��
-�D����4?�
�*F p^E�iP �7��u�蒬
>�E��v�!
����x˚�˚̭=oz�5)y"k*�@Tj�"�r
�2ԧ���\JPy�ŏl���)T��[��.��;d��? �
��x�N��$S��3Y��;�\�Q�Լ�������]^����������
�M5���Q0�Ў!�-'8:��D�*O��W}��W`{c/Q��q
�y���wwwh�F�$^e(�/V�����bGJ1�UBfU�[���8��eQm�����H��
-endstream
-endobj
-9168 0 obj <<
-/Type /Page
-/Contents 9169 0 R
-/Resources 9167 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9162 0 R 9163 0 R 9166 0 R ]
->> endobj
-9162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.643 574.686 229.737 585.59]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 321.675 246.767 332.579]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-9166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9170 0 obj <<
-/D [9168 0 R /XYZ 89 770.89 null]
->> endobj
-8867 0 obj <<
-/D [9168 0 R /XYZ 90 685.17 null]
->> endobj
-9171 0 obj <<
-/D [9168 0 R /XYZ 90 671.146 null]
->> endobj
-8868 0 obj <<
-/D [9168 0 R /XYZ 90 432.159 null]
->> endobj
-9172 0 obj <<
-/D [9168 0 R /XYZ 90 418.135 null]
->> endobj
-8929 0 obj <<
-/D [9168 0 R /XYZ 90 179.148 null]
->> endobj
-9173 0 obj <<
-/D [9168 0 R /XYZ 90 165.124 null]
->> endobj
-9167 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9183 0 obj <<
-/Length 2019      
-/Filter /FlateDecode
->>
-stream
-x��Yo�6�ݿBO�
�
��`k���eI���0[N�ْ'+I�_��"uP���
�
�h������u����/�o$4҂��bh
�P#.��<�
2�G.�L(D�����W���8yqn�
N.��� 8�*���p0��wFL��<�
-B��
��
p�.:���8�l��t3S!�EfP�@�a����b��!Iۇ�V�:S�${��L�\7�b�4YE�n�-z�s���/��>)n,�<ެ�YQ��>�<�+���)��� ��|x
�q
-�O��~-F��hW��Q�d�d5r�F�h"�!�HE�݈��OX ��L��J
	��S�-+�8ƭShD�

;�� �4�� �0��h�q�o�^(8
l�b����
-k�n��XA�	�p��4[%iTdy������P�����o�!ňc
���5w��o�<�
-p�h�wO 
6��Ԭ:�����),jm��6��li�q:������
�$L �8:���{H`
-1.[�x;��r��H8�[��ķ�6m�4BTu��
acj
@“C
Ӗ��,y���8�x�7`ƞ�#Y*N!̩�zk�o|�(DE���>�񢰫�(u
o��{{gX��$�Z�
.�B�!�o:��<�
�c‘ƪ��]|1��W}V�������
�)C4d[���ĸb�����f�ȷ��-1$�G���鄇]�p��
=~�������<����,-Gfe92+�#��sd���fk��h��GD
�A���n��%jQz����ATn�Pf�wy��H
w�#A�{�|��%]�tM��.}l��d���<
-\e>�r��
uh�`�_��ps�
-1
&�����qoRɐ�ô�)4�"C�읈x�����{H������vU�b��
�J�cU��
2XI�<);+�1�}3I ��/� �4-�7�^�%T����]��;A
-�uK�\�v��f
�
ƚPG at _	G����/$-R����C
-k��_R7��+�hw26�_MO���M<ϻ�v�0�D����u�.R>�l�*���"Of���
^/�h��Dh
--��K�P�1�0D2
6Zī5�뫹���#�=($xq�
<����K��kb�G�P��R
_ӝ/��SbSQg��{h�x���%s
ѕ8�hz:��ouM�[R=������U
�����H���az�og�|zZf�
~}�r�����(����
9�ѣ�R�RZ�j�<�L&��h-l��K�c۲Y@��2f���������e�,ζb��'(�&x��ΜO�m�YyN�v:�5!]�3H�&�aZL�(��|tL��o^}Շ�P���۹E�n1K�6�C�C���U�b�%�n�E
%�f2)	�Z��}��^	�P#�dʭ����yY?���U�¶\4����[$��,���M��k���� �:�C/��0�p��K�Ç��7���QĴ��q't�8C����HE��F
eIi�Bm�&�Wo:��t��$��`�'N
-�d�'���
�����hP�ϛh��
��@�?2Ѐ��!^�A7P���g��E2�S(����FI�U��3
�4�d�kz�� #�����
����?6�Q&�"�<
1C�����2��!�a�qb
�
�b����
b��	�C`7��z��UD}���Ù�2�ٖ�
30�+��9 t��s �:Rs�����^����S����
M'��Ɇ�&���r��&���<��>���IE?���wB���Q/tg�q��Y ��	�rם�"yՠ�4�ise�J�>�^YE�W�/:�n	�	W�Mv�-�o�M�E�������6n��\+���L�� �77EL
���Ւ��7�`y!����ܡ�.w������`O��T]Nj�
�� �z!�:�ݩi[Ls?�4f�|e����G���~�������΀�n�V����e��y\9�eﯠZ�4(��"ZI�Qu��)�������
�6�6M�9J���zy��o����5���_WY��OR�\���R�?U��H
-endstream
-endobj
-9182 0 obj <<
-/Type /Page
-/Contents 9183 0 R
-/Resources 9181 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9133 0 R
-/Annots [ 9164 0 R 9165 0 R 9174 0 R 9175 0 R 9176 0 R 9177 0 R 9178 0 R 9179 0 R 9180 0 R ]
->> endobj
-9164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 706.678 431.977 719.596]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.748 696.002 444.511 706.906]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-9174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 535.596 513.996 546.5]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 391.785 476.603 403.424]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.893 378.551 498.655 391.426]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-9177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 218.145 513.996 229.049]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 86.288 429.297 98.768]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.215 74.333 409.977 85.237]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-9180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9184 0 obj <<
-/D [9182 0 R /XYZ 89 770.89 null]
->> endobj
-8930 0 obj <<
-/D [9182 0 R /XYZ 90 514.755 null]
->> endobj
-9185 0 obj <<
-/D [9182 0 R /XYZ 90 500.199 null]
->> endobj
-8931 0 obj <<
-/D [9182 0 R /XYZ 90 197.304 null]
->> endobj
-9186 0 obj <<
-/D [9182 0 R /XYZ 90 182.748 null]
->> endobj
-9181 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F11 442 0 R /F7 538 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9195 0 obj <<
-/Length 2012      
-/Filter /FlateDecode
->>
-stream
-x��YKo����W�H���6�[����
���'��@�%�"�"������~��){b�!�O���zuU}��8�
p�a�������B*�qp�
DL�$������,B�1�_/�'�>Y]/(����.�T����J����-��$�W��i�nV�Ղ�y	�ŗ�����SHCXE`����]��6P��?��!�x�uG�F
)ś=��ڪ�1O�G+�f��<��N�� dL 
� $)�펏�65���ڮ��D�ǍH&��={w3����]
ވ#!��~��
6p�� #�d�`탈2�̓O��ϰ;)<ybR!��@�Q��nw�>���h�
-�xa/
	�
��b���=���"�[ov�
`�nk{�K���:f�4�.(��
cZ�;����C�
�YY�i�ѷ2t:C�HZ�U���
e�33a[R�Bg����̟Pn�x���DT�s����B�·1FJ����.
�}]���7�����Xo�ˬXDx~���f�Tw�}Zԗ�W
���U�
{�gt�mmQB��ʖ"L�-�*��ݚz�
�O5�O�heG�s���:�aV����6�Afl��ջe�Jȸ�$WCm�K�fSVcb0�I��������8��`"�'��8Ž8َ'b$�;z
/qG��Xu�����I�W����I��L?�Q2$�..m)+X"����"]��U�����t�b�$cAE�@�:�C
1� ��� a��2q��q֏����
�	 f5���{(�&�Q�#E�'Ў�5s���6V���6(ĞC{��"�'
$� ?�܇|
6��t� E$/�;���.-�
-����dk��`A=�'w�)�y�. qSr
�����c�"M�ջ�n�i�����~��*�Ϻ��ن	<�<w	��dr{L8d�z_��<�������R8]^�T�Aª�}q�����Bi����"���t�P�[�L%��
-������ذ
<�k�5�U	pm���y9���E�
08f,�yᐚ�@l$v�>
zUaw
���6Y��ג0���%8a
(�I�� \��l�#u�a����[�$�+�V���e���c��	��d�Vc=>d
-�	��KiO�/
#����K#���`
٤n�}
 `��U�4Rr$�s�EȠA�nuL��2?����O�ёt4�B]̗'T�i ����FX���
y%�B�ay#,�w��=����|#,�#a$��^CXVㄅ��
a�-OŦOV<�BQ,�������I�%�q�����n��>�&�u�g
-��LAN39�~�rۡnW��y��a�T�zzCJ`�
R�Ӵ~�D��Z?��Q�&��
�dUWIV�Kc�ʚ1x1|�=��@��ܤE�ϊ�.�L�
��t�<F� �e�$ںmfm+�T'@G�K��?I�B�c�c�'�%2�uBESdL�d
�����3 Bt���
J.&�8�߰_��
-��б10��1
��l
�����<�`b�O�t�� �EMŵvw�^ta[9�{�
�m|���nD�X�\�f��q0�w�3�����ֈ"J�����g@.0N���/ih4JI7��/8�c�
q(Sf�>;�9<$9��ުNkߡ0���A�`��M�9��ˎA������m/8�V�b��e?���Y{���H a��? 
�����d��N|Nu�u�5hi���:j�S�if�/�������P�?�� jS�1���V�Ȥ�i*Yq�*יd
!g�:�	
Y�힜���
kN�8�>��9�G!��~_Y�4ؗhm�����;)�ðm}���/;��
-�o����ؙS
܄������S6qo�3�8�l�8�ڇ���S^�+&?����@�/�0P(����4%�A��\�A�\k�5/pb`�:`���V\p>w��oIqj�ס�ע����

-!j}3q��6�m=�-h�~�������?b������zxx@�#:١BY}u8�W�y֓�k[ۦB�e���
-��7��,��E�^�
-endstream
-endobj
-9194 0 obj <<
-/Type /Page
-/Contents 9195 0 R
-/Resources 9193 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9187 0 R 9188 0 R 9189 0 R 9190 0 R 9191 0 R 9192 0 R ]
->> endobj
-9187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 601.674 195.105 612.578]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 479.41 440.282 491.889]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.008 467.455 420.77 478.359]
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-9190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 331.614 195.105 342.518]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 196.116 422.924 210.831]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9196 0 obj <<
-/D [9194 0 R /XYZ 89 770.89 null]
->> endobj
-8932 0 obj <<
-/D [9194 0 R /XYZ 90 591.897 null]
->> endobj
-9197 0 obj <<
-/D [9194 0 R /XYZ 90 576.112 null]
->> endobj
-8933 0 obj <<
-/D [9194 0 R /XYZ 90 321.838 null]
->> endobj
-9198 0 obj <<
-/D [9194 0 R /XYZ 90 306.052 null]
->> endobj
-9193 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9207 0 obj <<
-/Length 2066      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~�@�aCV����=�vc;U��xme_

"�jIA�ʯOρc(@�cm%[�q4z���[��e��o&�:���P8�HK*��M�q��FB��:y7e)��?�6a2EDK��=���W��_����&��'?O��	�
Ri��M޽��
�`�t��8�]�)��m�v��	��Q�R�0�"
Q�� �?�LY����D8er���>
�"��	<A�C�^,�b���:���eV]
w��#�g/��g�4m�p~U�gTLo�ٜ1�7�S���� cHA�O֦���"������K�Rݐ�����+�f�
��j%�^,͇r�
�~�W�P��R�8g
�q�#AiG,��2+֞��Qϙ$HP�
��W�
�dmu������T"�[�f��ͩ��u�<@���b�ߕY�_l�;kG�;hG��ho^gC:S�|
�����}�/2�s(�թ8A�̀i�H����M�C6aH��.8vG
�9��� o��|6������mV�XFY�T+���PJI+�mi�lg͡���_�Oʣ���
}��oD!)CT���ǀ,�Y���3.�מ�k{�U�l�zF����ʬ�l9w�oNY��|�/�*�n��q�g����YWf�|]�H:��M=$� ��^�YqU+�3bM�)X�]�A+ at f���`
�,�c�i�
�-̲tb�|�]��<�3��]���
�ɪ<�I�e�
-.��az'�b%�k�8��H�t�&\��
�U���X��>��/CG�P�+`t,�Hk�t��) �2�����
�.X��
O���U ���,����j����[�
N�B$MGq&A@��;o��~z�o���mr/۾06 \�
-\�$�
p�3!�$�ٻ�؂��T���š\A@�9��k.
[|q:��%���A����:"�-��-p����w+�E݊�:�&���
�ͪ�"��5�LhclSV]����7��#
�侀�mc|�|*e��}�
�D"�X�\����9�Mҵrwt���ˠ|�=���l�3qS�!�5P
ѥ佭%
�K�M�NkY�&U�$K
C
-I�����V(���)��c��6e�����G��~x�T=8�N��;��Ϝc�
h��Q��?�(�4/h��H

-�)Nh9YtyLc�9r&�L�z�~`F\�>ޡ�	��F�6�GN
)‚FP66 )��!��6��tO����������uC���Iȿ��~�E��9��u
-��f6��
�
��*璦k�����DŽ������fcH�!�M�H�&�Gh>��ɱ,�7Zxq"-NB}L t�5�NF��`���
?j1�>GG�i.�泞��v8sσ���S�QD�����N�}ze&\��@�m�
�t-L��ݓ cvB2���m�ϙ�1��XuH{���������E���/
-�~�����6�dS >o
-~�MA*O6���M��M��65����`�����E�";9w�}R���P�I74��M����t�z�Š��Z<��
��5F]Y�
���	?6 ��R���_
-UPC��|m38�r��SL�Q�l& ���n�V�cݶN�Ϡ� �j��*������7�C�O�'�S��
�˼D�R'
�;57��5ԵO65ޚ���
���S�p��(�GB��;�>�ƱJG�<T��ϛ)�R?�KLJ(tXc�)?��
�Rǀɰ���p:�B��X���пC!��R�!��|FK-�!5��5�
-8�*��Z���F��
�?����Ǘ/ظ��鰞	�a��P�.�h"���#0�r�Gq�� �nZ�$
��)������
&<79أ���2�Z������7�~.M�n���p{ d����=�̈́�ܫ|u
mN�9�����
_nq\iZ�}=J���ͮ�]����ЂV��./�]��Y�m��?�	�f����5�6�D 5����d���n�,ք�l�m@���T_΄����>+�͊��k��T��X��>�uw���z���4W�M\���NU�O�Wu].��nnn�ꀎE^V(���r{v���q!��ͦ�K�����
�܊��~���D
-endstream
-endobj
-9206 0 obj <<
-/Type /Page
-/Contents 9207 0 R
-/Resources 9205 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9200 0 R 9201 0 R 9202 0 R 9204 0 R ]
->> endobj
-9200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 544.753 425.662 559.469]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-9201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 259.135 322.446 270.039]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-9202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.18 259.135 505.099 270.039]
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
->> endobj
-9204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9208 0 obj <<
-/D [9206 0 R /XYZ 89 770.89 null]
->> endobj
-8934 0 obj <<
-/D [9206 0 R /XYZ 90 669.764 null]
->> endobj
-9209 0 obj <<
-/D [9206 0 R /XYZ 90 654.571 null]
->> endobj
-8935 0 obj <<
-/D [9206 0 R /XYZ 90 358.956 null]
->> endobj
-9210 0 obj <<
-/D [9206 0 R /XYZ 90 343.764 null]
->> endobj
-8936 0 obj <<
-/D [9206 0 R /XYZ 90 203.734 null]
->> endobj
-9211 0 obj <<
-/D [9206 0 R /XYZ 90 188.542 null]
->> endobj
-9205 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9216 0 obj <<
-/Length 1797      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�f*
��]f�l�4I]G�4�d8�K�p
IY���� WS��8o~�w=�������ٯ���
y6��յ�añ	��и4	F�/��<�lE��s��,>lEX�����ٙ�PEA
�
��"�ϋ9q�

���ի�
BzR�!�Y�N��Oj�@'Ё2����0_P��gT���k1�y�Y����O�,���ܣ�H�8��\f,s�]cA�8W+.ĵ�
�Zͳ��0���erx�|5�<#0�
R����q�u2�����_1�5���İ(���x7�s�u��ш�
��2
b!�=��D��Je��X�
��"�/�4�)1����
0��)�­��(��
-s�Pm
p�뭳1�V��dW�I� ����P�YZQ*B��j!x�'�!f�f���V���y.m�Tۨ�� �����Cׁ�"
�?6�TǠ�Oy�P�0ֺ/�7����4��e�Y�B�ԫ*S����K�h�|�7s�!�Qp
����"J7�u�գ�.�R-3�Vc�,f% �;U�If�HK5��X)�UD`lW*��ߊ:
`"q��T�<�J�:-�v�,�b�+���̸�'�P���}Tm��N��c��P��AO�m}�	P��Q���0��c,������������
��,.���
���q�A��%"�NG^���m�ɐ�S����nQH���uj�M� 
'�@j�N��aB��,��٠�EF`w	�\D�:K� �� C
AQ �, ��E{���
�BU�G�PȜ�T� �Õꐋ0u
��+Iŵ/]��/�I���@mv���72��(T�1�Be.�5���X�p���ba �!
�T��ͦY؂5�)'
rv*-s���Y�K܈¯����S�<��/��)$X,�D��W��Tԫ+���rݮ�Pβ�c�N���f
��tI���{��o�_?����	���۫XN�d�U.mk�2Jc ���ȑ�ZP1I�����k�0�l+��#�p �
�?~\��"���e at u��"9B��F(k �MMQ5�gE�P��i
'��g�!�mD�R�z[
��w�M�/QRzm��$-���c5
�/�:��� � {W�D�I��i����6���
d�ا�� �j�g+ ��&PZq�H��5d�WC ��<�
-�c7�:1"�A�Q`��ٸ0����Ţ&'�a�Ta�kP����$�  N����N��t;����5�X������'�an~7EX����v�
D:���M�{�4Ҿ:p�t��C�����HQ{t�8ŋ
c|�e���E�y Zt:
��;�h�e
-�VG�0�iFo�"
�hQͿ��uГr�`��
��Ϛ+���� ��<K�M�m{Т��s����4oy�ٷ��F�c�G!9:�8�_]�P�WtYj����e
�E/JP�	�=,��o����A�^�7��.�K�g��}�.�I�%���<<~I����g�ާ�p���Ƶ�R
��ͦ#��6W�F�'��p�=a�6;r�
IH�32�
]J�~�7~�7~���H���Sَ�o}��ր2j�t�L����
hn�ސ����T� ��Njr�F�媴��>�jz�_P�
�i��*�K�
�T�T�M��Qh�h�;YG�H��M
-��UCF��C<
��6����-��� ��"���k�
���\�"�L?6u�
u����JQ|?���}����d�*�
- 5��UW��/�|'�P�}2���j�w�hvn�����l����h]�]���e���یԓB,h�!-�'YKB)
&��C����'�4
-endstream
-endobj
-9215 0 obj <<
-/Type /Page
-/Contents 9216 0 R
-/Resources 9214 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9203 0 R 9213 0 R ]
->> endobj
-9203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 664.819 268.34 675.723]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-9213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9217 0 obj <<
-/D [9215 0 R /XYZ 89 770.89 null]
->> endobj
-8937 0 obj <<
-/D [9215 0 R /XYZ 90 609.381 null]
->> endobj
-9218 0 obj <<
-/D [9215 0 R /XYZ 90 594.16 null]
->> endobj
-8938 0 obj <<
-/D [9215 0 R /XYZ 90 411.854 null]
->> endobj
-9219 0 obj <<
-/D [9215 0 R /XYZ 90 396.634 null]
->> endobj
-8939 0 obj <<
-/D [9215 0 R /XYZ 90 174.189 null]
->> endobj
-9220 0 obj <<
-/D [9215 0 R /XYZ 90 158.968 null]
->> endobj
-9214 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9229 0 obj <<
-/Length 1706      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ��J@�ڛ�QhsH�Եݼ8�@�k�
�����w� ER�l�6��}H��s�|�Hػ����Ǔ�⭏���J���
���		�b�t�>�t��c2@$��Y~����7�O�������	�-��@ ?�V����bX~�a����1B��)�k�
O~�`g
�iS"����(��3��Qe�Vee�*Z�%���ȇ��płY5Y���[!�P�3ָ|r�fs*�4���Ti�s{��L�UR��^��1���ڜ�9� �����J�k��A~��VEU���/�˥*ˢ��/����e1�bz��
RN�s{W��B�h�q
-.�aʬD���՟+��*���J��^���
Wil�W�U�$�Kws=#b�VuQni3	 -J�@<Ul�xNG��h�M��W�(�:./\A��u
�
�Q�G_����V�G,0|���H�!N
r��T;"R@�����J�8A
q<�C!@��l�F���
���
ߏ��Gp���v�r8R�9�t����
��x�Iwn��ш)$�۠�
12�D�a�M��6�%Ԑ����,Z
�(���*.��/�Y��N�N�4�]
��j���a9#���/����c��/f`f��k�c g�5u7c�C7 �8��

��VW���x��^�	�o[�.�Vf����5
�t?98�C
i�2�zx?m�N�<Mr�i��C��HěCՆ�kq?�q5�J(�3A��.��V�7��C��F��R^��)h�n�n:����E���	'�@���^j
���S�� !�� }ZD���[�ͯ 7�Xl��El��&l��F�ۀ�l�W��4���`ێM
���d{�
�MSm��h�cs},@"�}�x����is�
�ѐY��7cA �O�p_
t>�
���|��᳌�*��m�u��^U;�)E��m����K��v�MY���Av��9Ca(��}G�c�
"~+q;�C�lv/P��e*!� ���e�hQ��&�Xh�^��1-!)fU�T���4�R����e�[�� *�p��ЈȍS��t`H�
��2�Fܡ>���9���T4�oZS�Fʸ����>��a{�Ð-�:
�曎�_%0�VH3�m=D�`3�ݎh���(�⮣��T�|Hz�Ʊ2� 4t�v<=V� DiU���H��dp�,
6���$
\�������&f��U��a�^�ա]�0 -���qO���p
��V�� ���~.�\�r~
泽�p�Ov@>���iȧ�`�h���cGd3�c�5F���.�����־�!32my Fr�{?�B
-�H��TU�c冺Q���al��uTVcQ�#��Z"(
-t��푉�p'�R�t0eVk�J4<5�p;/�l��W
��yf�&ƻz0;���q�j�h�t7�|�B��`�*8ӿ�T�T_jh<o1��d;!�s�=s�e/�wL�
����- j`.�Q��˨���4������N��`�6y��'�.~+dYE��I����ΦٻI�K{�ݜ۫Nٞ���*�-;;s�ʇ�.�#8�qˈ�
@줿�U��Ì@z��3��DHx�����g	�J����A
 D
N֡�U�;C
-f�:��_��T��&{����(���h˾4d�,b���cv��Ժ��k�~�D�ct � �EyY�������*t�'�%�b�Nۅ��B8�[%�M
̊R5	��̰��$�
����
-endstream
-endobj
-9228 0 obj <<
-/Type /Page
-/Contents 9229 0 R
-/Resources 9227 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9212 0 R 9221 0 R 9222 0 R 9223 0 R 9224 0 R 9225 0 R 9226 0 R ]
->> endobj
-9212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 642.182 300.161 652.463]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
->> endobj
-9221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 445.897 300.161 456.178]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
->> endobj
-9222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.217 330.108 424.652 341.012]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-9223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 277.265 256.157 287.162]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
->> endobj
-9224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 133.823 206.372 162.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 92.312 483.212 123.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9230 0 obj <<
-/D [9228 0 R /XYZ 89 770.89 null]
->> endobj
-8984 0 obj <<
-/D [9228 0 R /XYZ 90 637.309 null]
->> endobj
-9231 0 obj <<
-/D [9228 0 R /XYZ 90 623.476 null]
->> endobj
-8985 0 obj <<
-/D [9228 0 R /XYZ 90 441.024 null]
->> endobj
-9232 0 obj <<
-/D [9228 0 R /XYZ 90 427.19 null]
->> endobj
-8986 0 obj <<
-/D [9228 0 R /XYZ 90 272.392 null]
->> endobj
-9233 0 obj <<
-/D [9228 0 R /XYZ 90 258.558 null]
->> endobj
-8987 0 obj <<
-/D [9228 0 R /XYZ 90 77.486 null]
->> endobj
-9227 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9239 0 obj <<
-/Length 2589      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�����)�f"x:=4ɦM�w������dq#�*E���}�$(H����ҋ ���}?'O	N~������;��TF��a�(��� NI�J>�F)�/�xv?'x�7�|y?�xVo�7z��˟��&o���܆�̷���{�:z��o�D�j���?ݾ#dt!
a�9�}��[��ʔ��=�v��
Ͼ�n�>rlʐRܿ�
���~��{��\љ��y��kɂ1�x&�!Hqn�x�׺cLW�ݗb�0���Lr��懇��x����r$dR�n>|��
-
��`ĔLNݦ]�R��䗛��૒��XP���9i�#
&�H���
-�@"�o����w��|��drqQD�D$C4c/���Q��\�/i��
-�2������+m%
N�W��c��Rf���(u
�@
wwV�v��CD/7��F7��>/�rU�tu(��� 
-��@�s�o\Q9�pp3m핺ҧ���Y�(�~7�@���E�$�~ׇ�ږ��hw�
���d��@c��ƹa�ϴ�Z�g��(�f�pC7��v���(ں�

zv�P���v�V��m[VOn�)�����>��F!��b
lt�'S���Qv*�W�M�
- �
	�K u.�;���<���A
��#?|)���ӿ:
��H`䩁�C���+�y
- ��r�̛�#P�N�	�V
�
��MS��jN`G�Y���:�
Fh�!��t�)��F��4�'��݅V�0�
�z��v4��
���` ��(GJ����2F.� F1N���ظ�
“"|��2
(Tf<=�r�H�,��@��u�	�;�+l
X��+�(AK +�m'��U���\+8�Y��#D"Y&~���dr)��ł� Q!�_+ǚ��]�?P��&0k�4
-y��M,FQJ!��uc��W"ԀIIL^��k��(��<:�{Ǖ�"0����� �ܻ
�EQ7+m�+�{윩�*�'�^���&��-�-zv�z�����n&
"PF
��Z��"��0����{����ώ�z�/ �(�^��	�5�k�8ڤ�	=�2���G��o�O ,�� �:�}�g��
-�
$C\��k�	{�t����LF!�A:��%�
��}|�pL��%g/
-r�4
����Ɠ�W�	�BŬ�bB�P�z���KBPd��<m.;�ʉL�uu�=�&T��v��,�@�)�x��+GY�S
�rx{���3��N���/F�RC��$p����L�����-d�i� >B��ƌ�T�tBߥ��Kr��yC�z1�!uQ����; �
&�
�΋͙w��6�BL�
r+2!�O:�Y��
�e#2�K{��fa�+����
�r����r�'<����&�=� �M�:�
2
-!K�%�561�H��S*�ŏu
Hg�3n��Xm��E��wyY����n�F�X�&Qf���Xi�mt{l�P�����5G
�b��q�R��je6���_��
�ރ��C���6�ɠMf
���oǾ
z
�� Q"� /J)����ݿ�5め���BTB
�<svu�V
#������
.�N��a�T��ٜ�G���S4�#Ƈ*��S���Gm
�6m��l]7ʫ���r��(c�r�<��.m��̧1ŢK5�Ş����޾��#F����q\�9������x5;� ���ZX�_i�
-�U�B+�tt:{��_�e�5�y�
-�s18��
wv���o��o2�32�WO��zr�`effp
�{�5*������0(ȈPC:�a��*nql��P%�l�X��S�����\^�����
��
-�:�B���
�ɭ#�n�����k�؇��"w�qW����Pп�ٱ��63}��9�
-i��C>v�03N>r)���z�5����/�:RP6��>�A�:D�X�
d5ʬ
�}��
I�P��RH��>>X��Xˁ3�
�G|�#6��u
-لH�;�jq
� )��'�y	���IV��� ~�\ZP�C�9��|�j�
ڬ�~�U ȋ�2P�@d�k�u��{/RrA8$�C����(��ѣ|�<�q} �D�
�����H#�
-����u�=�x�/�.���
��4�g���g��4��C�����0�I�C�ny
���"�	*]
�$6���XRv��݋��wtUl���#���H(���a?<<�*
�1�P�j'��g3��y�!<�&k��
����EC^������ݭ M�r���g��qo�Ne��#
;l�
-j��2ԆES>��WW�h�zWc��������Oh�y{Y�K4CKnT ֆ�����i��I[��������!W����wa퓛o
-�
}r�e�i�*�]Ep�<����
yS���ܮI�[�缉q⒣������'�
��᱋�ǿb���L����/yѺ�L&'�M�������a�
:�:r�݀���UЫ�8GE���֬b�_a�0�����J�$���%���G�T�V�I����,c~n���N�������ݜ��yu�m;������J� �Z
,��
���_?����z���^�7m����=�N�8�cU�T��������8:��h0��̻��a���p���78���q$t�
-endstream
-endobj
-9238 0 obj <<
-/Type /Page
-/Contents 9239 0 R
-/Resources 9237 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9234 0 R 9235 0 R 9243 0 R 9236 0 R ]
->> endobj
-9234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 486.313 385.519 497.217]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-9235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.213 183.72 513.996 194.624]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-9243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 171.764 219.384 182.668]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-9236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9240 0 obj <<
-/D [9238 0 R /XYZ 89 770.89 null]
->> endobj
-9241 0 obj <<
-/D [9238 0 R /XYZ 90 721.073 null]
->> endobj
-8988 0 obj <<
-/D [9238 0 R /XYZ 90 584.741 null]
->> endobj
-9242 0 obj <<
-/D [9238 0 R /XYZ 90 570.818 null]
->> endobj
-8989 0 obj <<
-/D [9238 0 R /XYZ 223.966 174.918 null]
->> endobj
-9244 0 obj <<
-/D [9238 0 R /XYZ 90 158.838 null]
->> endobj
-9237 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9253 0 obj <<
-/Length 2567      
-/Filter /FlateDecode
->>
-stream
-xڽZ[���~�_��D��z�B7���M�Ie�u��d_l���E,�Ў����
�F���N
TN�>}.�w �>���oW����
�,B��bv�8��,
"��%��s&�����3&$"����������7��������_�
�18
-�l��z�����
#�ٓ�i7
(�����տ�����$#�q0
I�(��o��2ޥuZVZ����[��b�D!<��̙�k\:�^�r�>Bm}�IK�����0y?l�uQ�i�/�$�?�Kua����}���I�K�*+r��;\��m���4��@;wEK�ߒ0E�h�;� �BƎ�vii��GG�ʯ�L�~h0��oKFP�z�0����:�װ�
7
.qnDTurs�� v"�f�*.?
�����G
E��,
��Ov�G�(�O{O1A�G��
��ʌ/�{�"��ʋz��
c�#4��;O#|������p
-�l�^�m�M�O�f��eq��C�hz�%�2�����dž
)l{k���l	���S-�m�[�(�
-u�|q�&fx
*{�1
8�r�i�T�>�&:����B�a��n[��Tb+?�
w�
�� o
Y�W���c��ӡ�E�dԃ����p �K3�w��y=G���0f>�F�l=��d�ϥ���mt�G��$
:��#���Ht��{�C�f��Œ�`����,P�Q'k�x8in�n
��>��Y��4����ʒ�ɘ��~
}�n$���L�pV��
�
a�U�


02�6�z����n� ��b,�L��Fbj�^�������m�ŎC
o���N'�@��3R�+�q"�8�[�c^��ёDm��	T�tN<� 
����nK"B�'��#�!څ��@2�zЩ�


+����a��1>��B��
Y?q	戀f
-�0"�((�p
-.6���u��o���7B,l��g��A���>���n���1��TΠ�������Η$�[g��
]`e�C0�~f��h�.^�]P��}ޤI����0�xD�P�g�P���͍}�����yu�&�u��ޖ
"���>u��*�
��=4��(S�
,c|V��+��|9�!mr��yT�_l�a��(C�U�^�Ym�@�3��?/"���j�.�X�V=��q�G��o�!"���5/���
@}�PT�V�O�@�[}�A���-'���>˷Y�~�Dؒ�0��%DLZ<r�r6��:���{�ܗ���2���� ��rE��c㸒�j��b�����s���$��rP�.s
&!�����jܮx<]Q^@��;Ұ���\}
�
቏��4֮�!,͖�Z���F!t��a����MZG����zdn���E��f ��)
�<��{5S3l��j���>-���9���դ�X�,��3����Z���qH�@d�
	��D�^����2���n�|ؚ�S�
�p����]�c,83*
-ي�#(l��E�`Q�/� h��U8��Eb^ǐ��S��T�t�
�<�a[�a}F3D�+L[����C ���e�����
~,�$ѷ�Ǹ�����͉$:M� f���F�Όd}z�B�HA�<@EpA�&�J����}�|�n �8�/V��R�6��q�[if���Lm3.�kRe�6 �D��
�6�nh1�ZHd��ag�2�c#zr�
�p�+0����ޥ�ap%��oͥ5
<
-��䗸'm� ��r�g(
K��{
-J��|���4#�
;� ��s��{"zO s!L��s �	��n�x��@K��\|�2=��
����[Hw����ËA#&�pBQ�
�I8�D�p���b�p�&�#�d��Gz-�H8A��׀�]5�2 C�ύ1�b�4 8I��f]�4�[`˾�`�}Ӑ^���,lV�"юb�vCJhb@�i�%�C�� 3�
�*)��rֻ�>�M۷1�.2˪��M|'-�)}�+�4�ЂNA
�!�h: @O��q&� x�~�e����D �5��'��Mv<�7MB�k�`�LD:�"���Ϳo
�׊~�6�ʛ=���/���ֻ��<7x��!$����h)����,v[fi�4F~h�ޥ*�ٓ�C������b�y�a������#�3�$<��S��k9F�4+�_�<�� 1�J� 
ɓ�
�&����w<�ֈ3��(����a���$�7�^֠�L��H��R$o����H,���{R�]D�E�Ap;2���8�6sj�~_�
-�*]�Q氜,:F��F~���
����I�� w
l��.��
-}���*��Q��V��0��
g)ئ{�V��t�A���&o���%�nONuC�
G��
-
5B`K�T���(��"����)�왦"�Kn�or�)r�a�uz��@�Ӯ���Y�.~v��ކTzcz,Y�}�evj��*��;��Cфm�nqcxT��#=���],���K��q����{-.�3����g��B9�l�9�G
�A���z7�Ь=m�9��֜��J�?.8�[��sCW�I��뎲{�����*�mS�]�p"��ϳ��曍��2D�k9m�zs}����:�پDY}��o��;�=)$@
�}l>����g9\�y���	�6E�i
-endstream
-endobj
-9252 0 obj <<
-/Type /Page
-/Contents 9253 0 R
-/Resources 9251 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9199 0 R
-/Annots [ 9245 0 R 9246 0 R 9247 0 R 9248 0 R 9249 0 R 9250 0 R ]
->> endobj
-9245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 612.957 300.161 623.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
->> endobj
-9246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 577.666 182.164 588.569]
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
->> endobj
-9247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 441.636 206.372 470.702]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 374.958 163.823 385.862]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 328.334 362.844 339.402]
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-9250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9254 0 obj <<
-/D [9252 0 R /XYZ 89 770.89 null]
->> endobj
-8990 0 obj <<
-/D [9252 0 R /XYZ 400.69 580.819 null]
->> endobj
-9255 0 obj <<
-/D [9252 0 R /XYZ 90 564.969 null]
->> endobj
-8991 0 obj <<
-/D [9252 0 R /XYZ 487.765 331.487 null]
->> endobj
-9256 0 obj <<
-/D [9252 0 R /XYZ 90 315.637 null]
->> endobj
-9257 0 obj <<
-/D [9252 0 R /XYZ 90 201.434 null]
->> endobj
-9025 0 obj <<
-/D [9252 0 R /XYZ 90 178.499 null]
->> endobj
-9258 0 obj <<
-/D [9252 0 R /XYZ 90 178.499 null]
->> endobj
-9047 0 obj <<
-/D [9252 0 R /XYZ 472.811 77.486 null]
->> endobj
-9251 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F8 537 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9271 0 obj <<
-/Length 1833      
-/Filter /FlateDecode
->>
-stream
-xڽYmo�6��_�C�����%h
�.����es��E�H�F8YR%yS߯�P$%Qa�dw�/�e�C��3�3���}���V��^�^D8HP�0��

D<A"��<x�&qz�!���	��ݦ7�'��r/�6��wqۦ������˛s�]QW7?׹<�P���,Ӯ���lOH��UO���kG'�X��z�ۊ��p@�9�� ۮ޼�A_�`Ē8xmN\����?+|�%B!�Gqd���)�^�3�^���1������+
��h����U�U^������+�D|���o����($�H��n���,�1F슮������N����R7�M���m�!4��N���0Na���&B�o���]!�_�}�:�p
���l�P
	� "% [Y]u��j��iY�o�d��d~s9l]�M��N`DEx(�F�Ɯ��Wz�sj>���Jq$93�ހ��h\��
#��G7�f��
A1
a�
-��;�\��1�TQ�Q�$���/��ٙ�8b��0�!
-)׋m�^��N�*�����.-��lZ�ɪO{�c�θG�'g>B/o<g&
q>F�y�P�_ �1"PEv��@dTD6
���X�`&s$T3G��fˇT_=������p���ۺ.�
6��Z�W�
PAaC9�0�]���$1"B
��pQ����q���8Z��XL�{lp�L
�Iя&)F_�!!L$ s�M�A�!�'Z�
ĵ��H+�qޢ��-k9
]޺����:!0��$�}��
�	��Dw�Ӫ�VU��'���7�MVo��~�r�-��
 F<�����dk"��Q#�9aU>oҢ}(:��
8�Z��Բbw���^Zg���O��^mS��[s����J����R� ��-��#�^QYj�v�v�{�H�*�ii��
��
�
@�?�J�{U�1�_jT&rU���*�8TF]�����P���R���0�@
�e�Ac]��d��6VT8�1}�Z
�>>�j�n��#TM�4H#DӪB�Wz
-�6�3�~Z%�F�ڣ5�F����
;�
��H,c�m��S���c�4��T����IM�"f�>C�x��\iz��P�����O��/u�6[˾��N�
-'��l��ז��:�m����y�}���i@�`n��J5��h�][o�yW�e������bL������9u�P�9�[J����0�5M���ǔi
SӖk3
�����
��
`EQ@�ƉoM at Z9j�5:�=ch̄���~�ZĴk�L�����.w*�
������`��}z���+�-G/�p�����D�2H,
�P�}u/a^�L��k���y�s5�ߌ���П��& �R���w�î�^�n�"Ӂ�Ino����]�
Avl.�O
d
-*�
�
����
����d�|l�kPj�	�cC6&)�JhW�֥+�@���5�޸l:��19W��'LI�@�3�
��������k�(��`�ҟ
����w��ٻ�5��l����rz��Wq��
�O#e�	%h���	\
ð`d`�i�X$��(���
Þ�s
-�1�
J�s2
p�Q�f�\v�
-g��
d/
E!�:Z�y��M�z9q��~��3B�
s�zMb0�&
�	�I �𙃦��-��� ��1����/�r��fnyvV���]ziZ�	9@�O�zI���3"Q��ͨ՟�.	M`��|yU��\����px�����
�_��)R� ��� (E/z�Q�ͭUs}k$]�������Kf�Ÿ�j����eJ�S�!��H�)쵴xО�/��~\
=�t^Gs���������e
�UEӢ�?����q#0�B8��26��ھt)*UAC�����0��
-endstream
-endobj
-9270 0 obj <<
-/Type /Page
-/Contents 9271 0 R
-/Resources 9269 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9259 0 R 9260 0 R 9261 0 R 9262 0 R 9263 0 R 9264 0 R 9265 0 R 9268 0 R ]
->> endobj
-9259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 272.718 298.845 283.622]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 217.866 208.246 228.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.216 217.866 239.787 228.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c) >>
->> endobj
-9262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 178.813 233.508 189.344]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070) >>
->> endobj
-9263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 139.761 178.996 150.291]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71) >>
->> endobj
-9264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.935 100.709 249.281 111.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.251 100.709 305.729 111.239]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) >>
->> endobj
-9268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9272 0 obj <<
-/D [9270 0 R /XYZ 89 770.89 null]
->> endobj
-9273 0 obj <<
-/D [9270 0 R /XYZ 90 721.073 null]
->> endobj
-9048 0 obj <<
-/D [9270 0 R /XYZ 260.509 639.513 null]
->> endobj
-9274 0 obj <<
-/D [9270 0 R /XYZ 90 622.563 null]
->> endobj
-9049 0 obj <<
-/D [9270 0 R /XYZ 466.833 523.542 null]
->> endobj
-9275 0 obj <<
-/D [9270 0 R /XYZ 90 506.592 null]
->> endobj
-1463 0 obj <<
-/D [9270 0 R /XYZ 90 359.698 null]
->> endobj
-298 0 obj <<
-/D [9270 0 R /XYZ 90 352.974 null]
->> endobj
-9276 0 obj <<
-/D [9270 0 R /XYZ 90 236.565 null]
->> endobj
-9277 0 obj <<
-/D [9270 0 R /XYZ 90 236.565 null]
->> endobj
-9278 0 obj <<
-/D [9270 0 R /XYZ 90 197.632 null]
->> endobj
-9279 0 obj <<
-/D [9270 0 R /XYZ 90 158.58 null]
->> endobj
-9280 0 obj <<
-/D [9270 0 R /XYZ 90 119.527 null]
->> endobj
-9269 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9314 0 obj <<
-/Length 1954      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ��#�v$�4��3����D;y�ٲ��
-�8�_��IQ�=G�b���ꪯ�:��
[����~r��c�G�K]�~e��ⶏ
�b���y����s=D|V��/~{����;�n����	�W�"Z���gE���Gl���
#�{֣�(�l��7��&�L��o��[:�"�y'��@��6�Y���Ө��Ƽ��TF�w�����v�Ϙ3����ɹ~
�m��C����0fG���̑�i�,Z'i
�[}>`/�"���%�}�}����i���f�-7�{
�Xsb#J��މ���Z�
-�%�˲H�FT��)��Zix���[�	���w�Y�/F
-p�R:��M�
--�0[�´�ٖՌ8�0����|�Ң	����k�y`GE���|Ӭ����� �W
��`ߑ3A;�N8�`h���A�IP>	q�F���:�.�����0{�<P{��c�"7��
�E�g��Qd;
�������a��4Ņu�$A�f�1��M|sS�M%�L[�~�P
-�cD��m�����d.��DR�c�0ע��{y{�/��SQ�Z�M�$E~�����&y���O��1~V�y���"�O�89��g:�'�K:�%�U5��i�
2#��f���)�$v�u�q��g�\�Q��J�m$b�d�9a3�<��(�Fave ��&�:�c�j-����,>埁Y��z�2�c���բ�Pj�I��nf�`�3�{>�ߍsD��N���3�ݞ���M�F���U��8t
a�?�"�C�}�E/��tP=&�%q�ʗ#Ν
�2��6<J�Ȋj���D�lJq>�krk�40k�<XnQ���ĭ�l+3ꠉ��A_%��Z
9�j���(j�DE�Zu�TV��w'L�A��ˈ�
@a�/(t����,���ǃ�sr	���;ݩ*ĩϬ�M���^��z�FQө�Fdˮ }��L �N�=�1u�9�|0�3
-�W"Jj�f���r����YYW�OI�/�r�ª��&������"��ܹ���_�e
6��2a�+���%&���IUb�})��L��%p�@��D�<�GFȈ
�2�D �����ԕ���q��N����F��	J�˼h��l���O�s�F��[܉?Z�G��J�m���\�o
-Aa�H��\͍���w�9�2��L��..Pτ�1�o�\
����ե����ɯY�%�"(��ݺ�ܜ��D�'g2L�6j �"6������z残�O	�}���"�3j�P(�L�9���[��h-�߃����`hL�O�ix6U�B$��y�5�4sΫ���E��
ȟDw�⴬�����*꾅��.�%y
�R1��`�C�~0I�Cм���R\]��Jh��}2�R�镤M�ɶ��v�yա�+�e*몋l
�a�~_T�?ٙ�C���r7?ؑC1bC���bd�I�IG�s�8���y]!���巰j�Ϩ�y!
��������0:��� ���@��J�aD�
�x�zv�=�+5P��3�q�8mW��������h�$���J�Q��j�����F�63��:�tQ�gmQVj�U�hR
�Bwܵ

�d�q��Ѫj
������}�2.�6�WݸXYT�*
ks�(;���<�\Ta��UUd;���4-$�>�G��M���}_A�,~���2E��5Ď�/�=g�0�s�1㶅Ҿ��`�H-ݬE\��Oɲ
-��͍N��ORIVi�r8�;��uW^����ҭJ"����ч����&��!�!�?���7^��?2��㭷]��$��6�
�C�G�#Y
q��m{���A��X����?;
��\v�?;�n�"������@�6G�����73Ѳ���o�s�ͯ������8�M���Yz@��j6� `T��L��
�����]�8Qf�R���2�MS�\_?>>��Fm��J�k���~Ͻ%Xz��><����0S!�v���ߔ�
-endstream
-endobj
-9313 0 obj <<
-/Type /Page
-/Contents 9314 0 R
-/Resources 9312 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9266 0 R 9267 0 R 9282 0 R 9283 0 R 9284 0 R 9285 0 R 9286 0 R 9287 0 R 9288 0 R 9289 0 R 9290 0 R 9291 0 R 9292 0 R 9293 0 R 9294 0 R 9295 0 R 9296 0 R 9297 0 R 9298 0 R 9325 0 R 9299 0 R 9300 0 R 9301 0 R 9302 0 R 9303 0 R 9304 0 R 9305 0 R 9306 0 R 9307 0 R 9311 0 R ]
->> endobj
-9266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 708.331 203.265 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.235 708.331 257.501 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) >>
->> endobj
-9282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 670.922 179.743 681.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.713 670.922 233.979 681.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
->> endobj
-9284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 633.14 181.845 644.044]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
->> endobj
-9285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 596.105 176.505 606.636]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428) >>
->> endobj
-9286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 581.834 450.955 591.739]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
->> endobj
-9287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 547.364 220.22 558.268]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 547.364 317.355 558.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) >>
->> endobj
-9289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 509.956 220.22 520.86]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 509.956 331.582 520.86]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) >>
->> endobj
-9291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 431.29 197.257 442.194]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea308fdc) >>
->> endobj
-9292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.594 431.29 307.941 442.194]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.883 393.881 233.188 404.785]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
->> endobj
-9294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.99 393.881 324.123 404.785]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.608 393.881 425.252 404.785]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 381.926 179.554 392.83]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.433 381.926 394.097 392.83]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
->> endobj
-9298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [466.634 381.926 513.996 392.83]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 369.971 128.635 380.875]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.798 356.073 365.997 365.978]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
->> endobj
-9300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.923 332.562 207.756 343.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.746 332.562 237.62 343.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a06d16b96542481b3a4d2de4ebed025bd) >>
->> endobj
-9302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.978 332.562 319.111 343.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.344 320.607 236.121 331.511]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.123 320.607 343.766 331.511]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.798 306.709 328.634 316.615]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a5f0557451b4e3556d65bb5bb703e9b46) >>
->> endobj
-9306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.745 283.199 203.471 294.103]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
->> endobj
-9307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.788 271.244 209.431 282.148]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9315 0 obj <<
-/D [9313 0 R /XYZ 89 770.89 null]
->> endobj
-9316 0 obj <<
-/D [9313 0 R /XYZ 90 721.073 null]
->> endobj
-9317 0 obj <<
-/D [9313 0 R /XYZ 90 688.919 null]
->> endobj
-9318 0 obj <<
-/D [9313 0 R /XYZ 90 651.511 null]
->> endobj
-9319 0 obj <<
-/D [9313 0 R /XYZ 90 614.102 null]
->> endobj
-9320 0 obj <<
-/D [9313 0 R /XYZ 90 565.735 null]
->> endobj
-9321 0 obj <<
-/D [9313 0 R /XYZ 90 528.326 null]
->> endobj
-9322 0 obj <<
-/D [9313 0 R /XYZ 90 449.541 null]
->> endobj
-9323 0 obj <<
-/D [9313 0 R /XYZ 90 449.541 null]
->> endobj
-9324 0 obj <<
-/D [9313 0 R /XYZ 90 412.252 null]
->> endobj
-9326 0 obj <<
-/D [9313 0 R /XYZ 90 350.933 null]
->> endobj
-9327 0 obj <<
-/D [9313 0 R /XYZ 90 301.569 null]
->> endobj
-9328 0 obj <<
-/D [9313 0 R /XYZ 90 235.297 null]
->> endobj
-1464 0 obj <<
-/D [9313 0 R /XYZ 90 145.761 null]
->> endobj
-302 0 obj <<
-/D [9313 0 R /XYZ 90 136.92 null]
->> endobj
-9312 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9367 0 obj <<
-/Length 1606      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ�)�������t�I�S;Qm%m��0X�l�)��z:��={��ő�/�XΞ=�;�kw�޷�t[�Sk
-\�պ}-������k�:�ȱ
�`���A�
�(�և��=��(<On�(<:�u�Nn_ަl`����4*
-����xͲ
��Kl���k�C����" ֈ�"��z���W�Ű�A��|�A
4Dz��]�~i���
-uƷiғ�t
��G�T,ڧԝ�O\@��L�B�SLn,���ѮM
-�l<P�\��N�s)(ì̇) H(`
X���#�_�ǩ����s�{��}xս<6!z����
|�W�yt��?��R�����Z�b��s�S��@�>���l�ci&q�O�	
��(pi�
�W>��N�P�d
��8Ȃ"�LGQ.�hs/.P��+\����l��0>�E`
��y��
7 x)�
��n��]^u��
6qVpzwr�9�/�oJB4��A�����O+\�ŷ=���������;j Z�go��	w��Mظ�æ�<
��QEHQ�Q����6������D��M�6ҮzS�:�Bq	�(M����{�27lOgQl��Q.%> ������.!�$���`leIv�@�gь��;�%�
��٢h��P�
ao�0^��-S����^	|w/���⶗���/o0�+ͭ�ɀe
-5������Wo�I+�D�y2I"& ���i|
 P�&
&|�L�X�l0J�R��>KL�,9�_�()�8���^�	@��Xjt�5ptr	�6���4�:zttU�w��zhÿ��P
����*t�Ւ����E�<�@�T�t��Q81,^ߋm]�!�W�G��]�B�,��?�x�|sMD��/�Q�[l�\�$Mx�G�
-�0eK �D�!�y#�H��ԁ<Fd$~H�Ҵ\
���RV�/�L�T{=]��Pa�Lg0-
��K
�HI�o0qri-��
QlW2����A8��
P�i�*��T"
*BjtU�x��J�8�Uz���j���Fĵ���{�sı
D�:�"��_�3#�R�X%�bO��b���
�K��"�6py�C��$���
F�*�
M���
/�<�084�Nm�l�R�
�q�ħ4
�Y~
��E
-
-�E�zǞ����z��d;��?�����e�NJ���nw�������G�p�ެt��j�T�.Y9Ϋ�[wƪ��ef�f�t�mۆk��5뙌�
�k�h�%����ԃL��
ƘTj��k'㗌V�S�5U�
-���h�����_[k��u����q=���M��t[ m��H�4��}�=LJ��l,���`#�lM����`�i�?R����G杈�I���(eQ�k��hȂE5��v�E�N�:l7Lrq�Օ�I�D xn=T��U(�٪{�%����sa�!�4J�Ke,��8��S�!�
�Ծ��yV�/���_��
��~�_� x��پ���x����[�9�}a�2A��`'�W;��`�K�Ҫd^DY�6
�	g��i7�!��!ô!�_�
-��Z��g
%֌������Q��,GG�����h�%�
%e{4J���_3\ ȼ�I};��8
���\J.��?@�u
-endstream
-endobj
-9366 0 obj <<
-/Type /Page
-/Contents 9367 0 R
-/Resources 9365 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9308 0 R 9309 0 R 9310 0 R 9332 0 R 9333 0 R 9334 0 R 9335 0 R 9336 0 R 9370 0 R 9337 0 R 9338 0 R 9339 0 R 9340 0 R 9341 0 R 9342 0 R 9343 0 R 9344 0 R 9345 0 R 9346 0 R 9347 0 R 9348 0 R 9349 0 R 9350 0 R 9351 0 R 9352 0 R 9353 0 R 9354 0 R 9355 0 R 9356 0 R 9357 0 R 9358 0 R 9359 0 R 9360 0 R 9361 0 R 9362 0 R 9363 0 R 9364 0 R ]
->> endobj
-9308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 685.76 244.968 696.29]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
->> endobj
-9309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.738 685.76 354.347 696.29]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3) >>
->> endobj
-9310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.336 685.76 471.238 696.29]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) >>
->> endobj
-9332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.85 670.859 248.745 680.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 647.093 243.862 657.623]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
->> endobj
-9334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 631.59 247.628 641.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c) >>
->> endobj
-9335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.254 631.59 400.463 641.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a31110533316a56c835287f82cba44ab6) >>
->> endobj
-9336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.089 631.59 513.996 641.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
->> endobj
-9370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 619.635 135.27 629.822]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
->> endobj
-9337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.259 619.635 284.271 629.822]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) >>
->> endobj
-9338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 603.445 304.186 613.975]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) >>
->> endobj
-9339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.85 588.544 248.745 598.45]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.764 564.405 350.54 575.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
->> endobj
-9341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 483.914 169.043 494.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
->> endobj
-9342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.859 483.914 238.502 494.818]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 433.292 169.043 444.196]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa0b6112961e31a5f3439ce53351d3c20) >>
->> endobj
-9344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.859 433.292 238.502 444.196]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.885 433.292 400.662 444.196]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 383.667 169.043 394.571]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538) >>
->> endobj
-9347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.38 383.667 251.513 394.571]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 345.374 176.792 355.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) >>
->> endobj
-9349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 306.333 169.043 317.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.783 306.333 220.589 317.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) >>
->> endobj
-9351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.926 306.333 303.059 317.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 267.667 179.554 278.571]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 267.667 250.666 278.571]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) >>
->> endobj
-9354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 229 194.208 239.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.948 229 324.249 239.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fe157210b8df0457fa5578d9fa466f0) >>
->> endobj
-9356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 190.333 170.687 201.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
->> endobj
-9357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 190.333 243.314 201.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) >>
->> endobj
-9358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 152.04 170.687 162.57]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
->> endobj
-9359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 152.04 235.712 162.57]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) >>
->> endobj
-9360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 113.373 155.265 123.904]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) >>
->> endobj
-9361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 74.333 278.681 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) >>
->> endobj
-9362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.497 74.333 348.14 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.7 74.333 448.343 85.237]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9368 0 obj <<
-/D [9366 0 R /XYZ 89 770.89 null]
->> endobj
-9369 0 obj <<
-/D [9366 0 R /XYZ 90 702.363 null]
->> endobj
-9371 0 obj <<
-/D [9366 0 R /XYZ 90 583.404 null]
->> endobj
-9372 0 obj <<
-/D [9366 0 R /XYZ 90 502.794 null]
->> endobj
-9373 0 obj <<
-/D [9366 0 R /XYZ 90 402.666 null]
->> endobj
-9374 0 obj <<
-/D [9366 0 R /XYZ 90 363.999 null]
->> endobj
-9375 0 obj <<
-/D [9366 0 R /XYZ 90 325.333 null]
->> endobj
-9376 0 obj <<
-/D [9366 0 R /XYZ 90 286.666 null]
->> endobj
-9377 0 obj <<
-/D [9366 0 R /XYZ 90 247.999 null]
->> endobj
-9378 0 obj <<
-/D [9366 0 R /XYZ 90 209.333 null]
->> endobj
-9379 0 obj <<
-/D [9366 0 R /XYZ 90 170.666 null]
->> endobj
-9365 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F97 1185 0 R /F105 2455 0 R /F106 2334 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9425 0 obj <<
-/Length 1655      
-/Filter /FlateDecode
->>
-stream
-x��YIs�6��W��J�@� 3�!�$�,M�XmI�C���)������ �Ŕl9�݋�����ֵ����N��9�|�Ե&W��-�����/�>m��N�Z��!�0�~}����ՇɅ���
�
��1
0�=+���b+��o-�l߳����r�
�Ժ�1��,�O#�oy ��h���,N"���2������WFR�\���f�MX����x��ydAVa��]��w%�As1"l8�m�
eFB7�0N2�ˤȥ�
-��4Dv)bi��0/���=sne5rذ�La�af�%�yv�V6������� ��|�Q�t0լl���5sWS�\���A�7�~���-b}
3��fD�H�O�]]7��GQ��a
�0
%���,X�lci=�
f8�>�{�F��aX%!@'�
��;)��8	�^<6hoa 
�`u`R/XS��
-��
-���i!��$�������HS35�jd�a7�Yڜ�*s�i��4�|[mm1�
S�Y�����>v�dO�q
ĉshݩՠ
-�\�����\�$z�^��c�5��(�U\�o��5���6❗�z�ȥt��NkGR3�9�l?�&�
�<y����T"�'Q
���u:eg��y%�G��2�g��F�cr���q?n/�"��F"���T��m��l,�z��=��H��?
�+{'i��
���
-�g#ڙ̱{(r�
��E��QD	b�o퉾M���;��E[���U�zp�B5�wϫa*���G������J�仐W�{�";q��l6���7b3a�Ȁ}jV���J�2Ѧ�.��3iަjH�<��C��=��
-�gָ�D���_�侮�y<
��I~

�N��Ά���0J�>;�KwuhJ9p�ڇ�&�
��6�G�C��.
"�ɍ.'�����w�G�O]U��Ά��q����
�UD��#��F
f��_�"^�(���P��W˼��ˋl�Hx�t䖄w�M{]cTd�L�g�bVP��ɓ ����鵌�$�gYyd�w��.�}d:�s;`j��DU�@�0d����Y��8{��4����!A#�%����!��O�.��3��������w_��W���}��G��w�G��;��A��鏀�/0V�؞;D�����I�E�܄��nâU���]�k�S�/�Jp�6{���d���6��a���
��{icw����jY��F��&ϩ�f�bk�.�n�0L�+l�h
-�xՑ
�\.v`+/��c�7
-��Ɗ`��VTk}�]_����7�ȧ� �fl�9��_ڇQT�bǠ��b�����&�+3n����	�j&�4�6��(R^��g}�� ���z��we�bi���U�D>��ƈs��Z1YQ-�|�Z���U��4h�&yp�Ё�/ �̶���ΰ�1���i�o:�hV&mBl���
v
�S&�.��v��ߔ���	�g:
�p~�Z��&�x`Ȟ����]�1v��I���í	��٫w��_����Gmq����Q��x
x�$n{5'��� ���I5�����Pe���y�.�"�����*l��O)��t�ht��0��nDc`��+�����>_X.��5s����N�5]���ƝL�*�����sI4˓�B�:-��t
�ͣC��,�u�n��:S��Y�
�M�����
-endstream
-endobj
-9424 0 obj <<
-/Type /Page
-/Contents 9425 0 R
-/Resources 9423 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9393 0 R 9394 0 R 9395 0 R 9396 0 R 9397 0 R 9398 0 R 9399 0 R 9400 0 R 9401 0 R 9402 0 R 9403 0 R 9404 0 R 9405 0 R 9406 0 R 9407 0 R 9408 0 R 9409 0 R 9410 0 R 9411 0 R 9412 0 R 9413 0 R 9414 0 R 9415 0 R 9416 0 R 9417 0 R 9418 0 R 9422 0 R ]
->> endobj
-9393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 672.927 285.316 683.831]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa221ca31e0aa489ae726efef9234c6d7) >>
->> endobj
-9394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.653 672.927 369.429 683.831]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 634.125 194.567 644.655]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) >>
->> endobj
-9396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.904 634.125 265.411 644.655]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 594.576 198.443 605.48]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) >>
->> endobj
-9398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.78 594.576 303.607 605.48]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 555.774 187.583 566.304]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) >>
->> endobj
-9400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 516.598 198.383 527.128]
-/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
->> endobj
-9401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.881 516.598 221.755 527.128]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
->> endobj
-9402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 477.422 153.183 487.953]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.681 477.422 187.783 487.953]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc) >>
->> endobj
-9404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 437.873 153.183 448.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.681 437.873 235.941 448.777]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) >>
->> endobj
-9406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 399.071 150.493 409.601]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) >>
->> endobj
-9407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 359.522 191.817 370.426]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8f465629efafec94694b1397a27469b4) >>
->> endobj
-9408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 320.346 181.845 331.25]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2) >>
->> endobj
-9409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 281.17 181.845 292.074]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
->> endobj
-9410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 241.995 154.727 252.899]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) >>
->> endobj
-9411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 203.193 176.505 213.723]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) >>
->> endobj
-9412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 188.038 450.955 197.943]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
->> endobj
-9413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 152.685 191.718 163.588]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 152.685 288.852 163.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) >>
->> endobj
-9415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.509 191.718 124.413]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 113.509 303.079 124.413]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) >>
->> endobj
-9417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 74.333 156.281 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a450dfb042f6d81fb394227bdbcb6fb5a) >>
->> endobj
-9418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.097 74.333 215.23 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9426 0 obj <<
-/D [9424 0 R /XYZ 89 770.89 null]
->> endobj
-9427 0 obj <<
-/D [9424 0 R /XYZ 90 417.951 null]
->> endobj
-9428 0 obj <<
-/D [9424 0 R /XYZ 90 339.6 null]
->> endobj
-9429 0 obj <<
-/D [9424 0 R /XYZ 90 300.424 null]
->> endobj
-9430 0 obj <<
-/D [9424 0 R /XYZ 90 261.249 null]
->> endobj
-9431 0 obj <<
-/D [9424 0 R /XYZ 90 222.073 null]
->> endobj
-9432 0 obj <<
-/D [9424 0 R /XYZ 90 171.939 null]
->> endobj
-9433 0 obj <<
-/D [9424 0 R /XYZ 90 132.763 null]
->> endobj
-9434 0 obj <<
-/D [9424 0 R /XYZ 90 93.587 null]
->> endobj
-9423 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F107 2329 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9460 0 obj <<
-/Length 1770      
-/Filter /FlateDecode
->>
-stream
-xڵXIw�6��W��R�E@\�\Ҥ�Kڤn�����Q,�������6n�d[uN���`�Y���������&�7�"��o]�X�/Bԇ����&y�tF0��Ŕ`;����b�`�Hw�lU�׿%�*�v���.�/�)	�b��l:s(�_�1�j���0y��%��O\ۍ������/W�oja�(5(
-Bk�M>��
-��[�Qhm%Qfy�
�Ժ��1��Fç�ad�pC�7$N�ph� B�%/�qɅ�7
Z�"B#`$ɾ`�*��K�!�i��6ќzB
>1Dۤ�
aD�7�v#\(rAH�е�o��AuE���!���~q
:�!,_�5��N��3
-��*�*R@�P�?�Xͪ뿦�;N7�~.�5����Si��>Մ_0�z��e>�s�W���(��
��.��c͈��4�'Vo�\;r}���N�_.��FH]M=
-�6�R���C�=�<�`s}��JQ��>	)�Ap��;��� �R�G�y��4GP��C	�ih^���W�0l���h9��0:.�E�=5\�d�Bu�J2���Z��u�+G!���I jb��X��Հ ��A����ȣr�K���.dfz"��u�G�&�#�>�j���L�����C��!����̕�}�y�����:���b{�Y�f��e
�o6���xO� K�C3̡�;�HG�+�G��l����4�1}$�ppI�d��>X����m�ȹ�M
QkV�q�J����O�UҸf���b�ԣ�ݣ�cQ3c��n���f\�E^�ì�S7F�C�u%a�>OZ����X�-vܾEɪ�.t�&����E;&��xq����N�cD�l?m
�� �g�C
v����^��}S�
�0�L
��S������iʯ�6��ѩ
rg�k�n���uh�5��|����<�D�`{Q�`~�����C�#���/�%[&q�����t�@@�	��䀵���!Ӆi��녜y�S�kV�Ij��kƗUR�:�
� /� �;�m%kO����Zf��L�r�4�Y\�R
D`�5|�%�Z�
-4�<�헹�-�e�>�S��9T�,��
�0v+�_bu\�
줣\P\I"�Y���(�=5ՆQ���T�޹zI�)'�0b;�ԋ]C-�KV ���4z��4s[;�	i`Pӛ�:���R �Qp_�x�����b
)��W�\7*q�ޒ0�MO'�O�^I#
�T5j�aUVLU=q��&=����C��Ko�t+�#!?V���*��'ܔ�|�N�
m�Z3�UI
�
�
 �i�
���u�8N�Ȋo
-�*k�k�f�6���z�&D��"�R��B��
�}
��zLd��b�(W̒|�
-�ީ������� -���:���.8nP��H�Ȥ����)�L-xhv�X#!W��v^�����
�
�y�Wv��.�.a��xڥ!riӨ��L�ܨ��<�ݘ�eT��.r-MA��YQ�6]]��'���B��"Ӽ[���xX�Bh>� �Ќ�Oi_ߧ�&�(����a� ��1�R��۵-ն�9S�Vd�<ݙ`
�r7�v}��Pt�E�
؅��q
-�}j�k�b��3�3��3���ӷ��B��zff��7Hu&��MV�j�d�H f�Ę��3��T��W.��å�@4a� 鎬�ئAԯ�KT��UT/rV�4���y�C�o���Q^P�uP&����KfF`u�,��UD��ї�r�1涮���|�ݢ%G�<)+���L��a��A4L�:��f
۳���\
-endstream
-endobj
-9459 0 obj <<
-/Type /Page
-/Contents 9460 0 R
-/Resources 9458 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9419 0 R 9420 0 R 9421 0 R 9443 0 R 9444 0 R 9445 0 R 9446 0 R 9447 0 R 9448 0 R 9449 0 R 9450 0 R 9451 0 R 9452 0 R 9453 0 R 9454 0 R 9455 0 R 9456 0 R 9457 0 R ]
->> endobj
-9419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 683.611 219.234 694.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
->> endobj
-9420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.732 683.611 311.916 694.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b) >>
->> endobj
-9421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.731 683.611 422.161 694.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
->> endobj
-9443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 643.885 224.993 654.789]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) >>
->> endobj
-9444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.808 643.885 334.132 654.789]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
->> endobj
-9445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 604.159 255.996 615.063]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
->> endobj
-9446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.812 604.159 325.455 615.063]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 564.433 179.554 575.337]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 564.433 303.238 575.337]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e) >>
->> endobj
-9449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 481.622 203.075 492.526]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 481.622 296.324 492.526]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
->> endobj
-9451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 466.566 327.9 476.471]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 371.533 226.034 382.437]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a77abbac6ae63133e96588f4b57b5c861) >>
->> endobj
-9453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 371.533 376.309 382.437]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.682 331.807 157.048 342.711]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ab31e5714def3177833661bb27f9aff79) >>
->> endobj
-9455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.63 331.807 327.845 342.711]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.781 331.807 513.996 342.711]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9461 0 obj <<
-/D [9459 0 R /XYZ 89 770.89 null]
->> endobj
-9462 0 obj <<
-/D [9459 0 R /XYZ 90 703.14 null]
->> endobj
-9463 0 obj <<
-/D [9459 0 R /XYZ 90 663.414 null]
->> endobj
-9464 0 obj <<
-/D [9459 0 R /XYZ 90 623.688 null]
->> endobj
-9465 0 obj <<
-/D [9459 0 R /XYZ 90 501.032 null]
->> endobj
-9466 0 obj <<
-/D [9459 0 R /XYZ 90 501.032 null]
->> endobj
-9467 0 obj <<
-/D [9459 0 R /XYZ 90 418.221 null]
->> endobj
-9468 0 obj <<
-/D [9459 0 R /XYZ 90 281.115 null]
->> endobj
-9458 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9476 0 obj <<
-/Length 2945      
-/Filter /FlateDecode
->>
-stream
-xڝ�v۸��_��J�C�&ힳi�=ٶ�[�Oɞ
X�l&$�%�8���;�� M;�_`0 ��S��z�~:{}y��Oy�*�2����aU��<)�4��~�~-�x����+�ATf�ʀ��w�o�]^��ٛ˳_�"�
-Wm�y��5g�	W{ ��
-Q�[�Ԭ�X@[�.��~���ٌ�(
-���|�j���t=�ȁz���s�ګZ54���a��$�zF��ģ�d��Y�Μ��e�����Q{-�,?o�p�t�Vo��D��z��
-���cF��@Ӫs)�O��ް5\m�e��{<&
�MO��[��jF��P�H
�jW
�,�q��ӻV�C'��>IɃ,N���8V$�zW˾�n�����T{��d:
�n��C�t����C����u�Qz�5
#^�֧�j5��o]�>{>�H���+���
-M��q���n.�Y������^_5��0�+@"nZ�$�I�Dlj���<<�+]+�:I2�v7����a��E�!.r��%�
p<�,
���`7aګ]{���M�����Us�E�lyQ>�L<�EQ��v�>(�W@Mw��^b"�ة��+��4jAӚ���b��Йt1�l�X����0 ����'���y|d���p�
-�xD���_D�
��]G��~T\���1X(X5�[��w��W�DU���?i��(�
o�C�T�B�|c�
�Ғ�
ڦ��@��]�ń�h%�F[EC�`��RQ�L�[��QѶ���3n??��c�`\4��ڈ�B�Fk`xUii@{����8tJ��������<i�
:`I5���H����/-�NW E�a�����n��D ��%����@�t�ϕ��/���^reA"��6��e��!�S
�z�8�"H�Һ�?Z�����E'�E4DÝ�(�;�F����&�Ӳ�_z���Uz�2�
�d�5XR�ԕV�����	2��}
�L��0l�${l�P�Œ���Dom&;E�=�}�!
c�G������BG3B2��4^�7�4]��U����0���CwR
��� 
-#������+�
�Ecp
�j"�>Q95�
X�4E���qJ� 
��� �~��8
-DX�(�dt�«�\"I�!��j
B�E�΅T$b�,b!�N��zV,3rGؒXa�-C&\�u1
�����'#�����u ���ޫx6G�9[ )	��-ŀWrw���sM4g ڽBi��"XSk}/�5�@��|��y�d�9�[? �U/���I.���]��*5�D�Ղ�0>ƪ�2�BW�1��@�c�qމ__B�P&����Q����a6#u˞�3�w$�	��n��������lޞw��� �F΢|{l�J�e������萊r�H<��M�G�	ȩDQRTY�>�$�N'CG�
�!�E��؆|f�Ѓ�(g��7J��#���
 V
�u�Ձo÷﹋��0)*��3�`�HX�
1���쏭&u�9_L���v �# ����Oͼ�vXs#1��2nn
��T	��"d�BDe?�����
S�
�$K� ��bй�!�l?���{X��o�8�}"II��[
�U2��t� $�\�A�6 ��*�H��p�&�F��CV
��LK��6r�
��ɨ�/��N�}+
�B��D�Kd7T�ݮ"㈓ �]�?���,H�19y��:c&��DK�Ґ`�
��	8恝	�h9
����	i�	�4�x—��0O]��{$��'.�x����8\#-��EL�f
�M�';Sk��5�
A�<�H]��b"��Wd�X� F�#��t
- �r8��HT6b;�Y+�|�ۘ#@:�=��fmK��:�
��ԣ
rvms<
��/��0u�3ܺSro�)
-�!{�512`΢���0z=p�C�k'��
bٰ����? ~|oP!��xξ�
/߯_b�۸
-�$Kל�y�ƃA0�t1�%+&��*��jr�V���ܱ@�+8�^���t.�c����e:7zv��0(�
l_d%_��Wi*[
el"���q�Q�!��31�G�j��'��!��*�-g����������Os�[ƫ<(1���p�f:'A�s�+��%A^�0{��:p�i���p����ru[I�<e}�]AN&�<������w�ub� ���'QV1E��%
�I<<{�h.��Yp��VR�A�8v]
D٘qU
�A1�(��7�OQƧ6��Xe��_�E��^����bD�O5�o���or�q�J'UW�~�
u��{c�\\TX-�
�ީ&wt?}�j
�坯��B_
-���H&uퟫ���D��^X򈋧���6
-�5����@$��'�<���?v��7+%��%�������vA����8�^9S������
�ގ����O+8�W_,�e�1%~�|G
��Xe=��Ŝ��BQ>��m�Y�s���v7�a���|��Y��k���Z.�YǙ�(�]���%�I1
-�o+�]�$2A �>�m
-o�X}'��ḫ=�/m'nYd��	4����	#F
-�>�5�Nj�]��,���ql+�]����y�'cep2
9*J�E
�,��`�P��Ssx��8�	
-#{j�|� &s��^Px_5p,!4���>�d���G��ҳ� �۾ډ�B\�4u�`�~��
-P�|�\oUm.��˵�:�MΗ�ĆL�߽�����$$d�T%6��g��5���Y|��i<
M5Va���kMa#%
&�9�Fr�]C����^�W���k��I�/2��-D<�	�[�����;a�*|��z:F
��K$SIm|
��=N�����F����#��`
_�2��|�3���D��p����E�(
�R��g�H<�E�]��Bv

����F�;
��>گ���UǟD���R�d==*��Su!
@ b|T.�](�7��}^�ޟ)(r�.r`�ho����ŋ���`�']
��^
����Y��
� �i
ߛ���z 9��G�T�g�
-endstream
-endobj
-9475 0 obj <<
-/Type /Page
-/Contents 9476 0 R
-/Resources 9474 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9281 0 R
-/Annots [ 9472 0 R 9473 0 R ]
->> endobj
-9472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.07 365.347 328.202 376.251]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9477 0 obj <<
-/D [9475 0 R /XYZ 89 770.89 null]
->> endobj
-9474 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9485 0 obj <<
-/Length 2192      
-/Filter /FlateDecode
->>
-stream
-xڭY[s�~���[�ւI�W�i�=�dNڤn���$�HȆ+�
-	
G��w�]^E�i_,b��.�o���������������,O�Ļ�y��Q��F��a�,��M����f
�+Q���:�W���(�Z��MmkQ���o������ [U۽<�7a���E���r'ݴԅ�M�$�+����w_]���⇋ �� ՈY�y������W�+�g<ϼg�t���޻��DžO'�����脁��4�^�sDxʻGiu��v
qf,
2����9f{�(�:]aT�/�i����_Ѫ��,q}���g���n��2�:,�	S��I�Fۗ��%8����u�~TE�P��*,��J�C{@�j�D�q,GsBR#͔����=Ssi��6p�|,�c��Q�_� �V��|U]��X鲟k��
�DDZ���Q0�
*��	6<�
ESe��}+O�D�%M骤��8�Ҧ�ʶ[��:�W�8�Ώ}]�
�� '��id
���A�
��t:�~�h�kWճń�p��<����oP��x���@�}�$��N2��A��w���|?��r.>KY���徑K0LX��=Zk��G�\l++����Ibm��e���eY��"j��j���<e�ߛ�p�$��3W�;&p��q�t�J�2h��&�	HH� D"^B
��	�
M
�u‘�ȥ�jk0k��r��6ݜ�n����a_�A��������طζ9��dAo8=w��h@�
ӟ��,�����d�r��s�����S��.�~Yz���¡0�����/�a��T].���&I�ja
����������Y�ۄ�
�F M��w�6�G�Za�j��+��6
	K��f̏�!�8L�Ē�� �s���<fa���US�k�f9��Dkuw��Iy>��V�=�
��9Z
MQ�t8v��s��,�r%tM��q�G
��:���p�:�ςD�6�+�8��U�2} �*aL� p����bq�JY�P,�!׉���S��p��
��ؔ0�)K���;G#�N����M��h�A�4�PtI�:���ז(�B�:
�D:7�_{	?+<�0ğ���i:��+�� ���� '�x�%�y���DV�'ko��|py��]`NY?Pr�-�F�P�xo�&�/�0ί�U��7��bx�B��+5\�3d�C3��b�ڿ((�)��}�
?[�����g���������y��_۷���Ih�%L�K�.�-%���" ���=5F�
͒��a���8�
C
���� -�&"(BBoD~���&tl�C%�e��]6
b��,���Q&ڑ�ߓ�ȭJ!�
-�	�����xC�G���������x�Ej�H���c�×VG�
6k�����:H��*/��e��l+�Y�rF�у*|�=�ϳ���`u�Z�>�U�� �ڻ��Q]���![�4��M�pV�%����8�Yz�ù�Ii�
I��	ɂ�l<^WT��>�v[�_�Z&o>��o�<~��^�"!C%�V����8
-
��`/���a�vI�
���OEX�G�~tN
�l���@"��*y��e�� 󍁺h��M��nE�f
CY ��$A�f���=�k��a$��j)Df���1*�it���F��A<4���{��F�6/u45ꮔ�Ȉ��Z�ik-�
-�����3H��J'�r��4d��n
�Q;C��� � T�C�g}.
�	�S��Q��
��&	�1	Ϭ��R[5p
i
O
}���u�"}hkH�� W#�A
~Q�|�,}� ŏ�F��' N8x!]�/'��H�1�8��SY�Tg0)���)�l��A�r��=HJהi�����`̀�
)����2��ol��*��,�����ؚ:G����`|d��a�ke�wE"��4�l'��)U�|
- O:
-Th k����h���4�|R�F�b��R1�:ɀ����t^�v��$�/l��欝���
 ���,?]�G��A������-�#ʴ�2X�ȷj����N���QUm�5=��pl�`.�+ ]�r\9
�����al
@�����)����5�z޺�m{���uߵ�aQ�3�'D���G���"v���a�
ҿ!p�O�4~���]��B�]dO���n�{��+�f�k[��/�'���}��p�7�R�����h��������A��ju��2W����
3�]H��M��ʡ��J�l
g����?�(�6
-endstream
-endobj
-9484 0 obj <<
-/Type /Page
-/Contents 9485 0 R
-/Resources 9483 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9478 0 R 9479 0 R 9480 0 R 9482 0 R ]
->> endobj
-9478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [124.7 451.73 179.832 482.698]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.226 244.126 200.359 275.095]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.382 235.035 150.891 245.565]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
->> endobj
-9482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9486 0 obj <<
-/D [9484 0 R /XYZ 89 770.89 null]
->> endobj
-9483 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9498 0 obj <<
-/Length 2613      
-/Filter /FlateDecode
->>
-stream
-xڭY�s�
�_�>U���%��7M'��̥���}�d<ڕ�V�+m%�
O��� R����2}�H� ? T��x���ٟ���ߦ���<��w����K�\�z��я�x���w^�d"�X��_���՛�Wp������B�
-��(�f��p����+a�;/Q�y�����2�v�}8��Y�ʢG�0HEF^�"
i�ۺ_�#����~�_����hx��ht����J* lnh�=
��@�?*hڡ�X��$���b��x��)���j�:3�Uf���G�۶+y���Q
T`�s'1
��v�0��
đ*������l��m^R��4�3�owÊ�Ƿxw���)����Osq�W�5�6��!i~��4�2l at O�ń|\��"O���e�D�*o
�BF-�w�u~���"�P�5("�����`��
��e_���0���e��℔�>�W�����%�ڋ���D/���%zN<���d ��4vE<�P�R�}�F�S���x'ךf�_xpV�W�D�HF"g�r�es�ő�|��5/ZO������-*���5������e�i����R�E��H�4�5�E�hwG'հ���ݟ���p�
-3�:�e�r�pQ���̀��_�}}�
�f0��GA��K"@�?��nʞ>�b{K�Q��B��d
-x)c�ݧi�uS�B�߬ 4����� �re�0R�s���v��j�����A &
�^A��
�jxQȇ��RF=_
|�4��
-�%#=!c{h����j�0]��j�y�բ[}�y���Uϳ��UWm
&$��a�E/�yUS�d��դ٪�#�3�C�
dl@����l�m��"w�j�H@#
G�
P�ۺ��*!(�v �����m{�`��{N�C"���].4�Z�^ޔ��>��W
-��l�
]f�}��
�Wd�tR������!��۪ais�I�U�d4�j��zHc`C
��� �oD=ޟ6�.��h�m��]+}��&�ȹ2"��4é���m��$NCt
-l
CJ�fN�Zґl��6&�����s��Y�0��=5�N��
"z+fBJ6֟pt�Q��b�Ӊ
�B
�եN�`�
.��,��L�����x��g�A�8���j
o0�-Z��̂�mа6h
���o��
���'h•L`͍�~����ab��׶�Fǻ�gE�99l
������b1aCɢd
�Wz�

�
"�Ȁ�`&�1�e�q�Ռ�-ۆ�
-&�pj
K鿭�
�[�ɸ	�����qk�Hq��
��~!%��Z
�*���rf�XI� |��2���
-��~��3�@d*_�g��3L>��w��(̉0��T�%��e�0�N�N��w;"���"M#��7,䌟�Eg���Љ*
�*pn�U���UE_�����{졼���
�Ŝ#D��0�R�iA���ܭ/�T&��H�
v��C�6�±3H����
6Tp��! 3
���ߢ]�3�sS�3����� F�B�p�3�~5$����a
�8�>��m[�Ϭ݂X��
-91�����6�����\ e�u���	��`, ˰��:C
���ܔ�/�¼ن@�k��w�
��T���D��Uq�v!�#|�
�5N�"��LNSuʛ�S�*���!g0�Y�P1���"���@J���m���Z�)	����
3
ƺ�yE��y~N�:F!�
U�mAͨEK���C�j��r]����M�	�f����|��
A�r�
6\���
O�o�NK��
}-��4j�H��>rNk�
%�?
-L�0��v��H
��������
�4N�}m������P<݆�Z���b~��c˙
psD��aV�*���Ô��dc�����G��S�*6m��,�f�5��c/L���<�NQ*"e1U�~!(CV�NH4��~c�����8�gY��X�}ΐ�n�c��*nN�����C���� �����s_?�y�X�y�#�eN�V�����n~}���&���̠����+�=M�X14���Y�`7��<i�0�K���5ŧ3+������تf.9ܺ�
�B���̘) �بrth	\�ݟ�Q�]�����?�����������g�_q}�B��z��s��{Y5�n�A�
�
�{�V;���W���7Ɗ5�\� �
�3�n��0��f���zGsp��]&�� ���O=�)�-=���WpM_mO��1���ޚJ�y�Q����ӧ	x��8�W�g���͕�j���K�2/A�:�d˥
A?ql)��t-l�jk�i���d,�s)���T��6pJ_{.�
H�㖀3O!�ƿ�T�����B�GK�I�B�K~&�
�9�M��nѺ����Hs�Nd���\�K�
-�t*@%��D	T`4�OmV�w����f(j��jãE���4죉���
A�@����
[�Ԁ+���~��ո�j/��>��lʌ��8
6��07��s��5,���ϸ�7����OT������D5?OaQe8P�b0{X�<��R�<p!t��n�������+�����:�
����h q��]�
-i�"�������g��Bɜ#4���V|Ƿ�p�8?����^���؉z8?
��S
-�K��2��qh;
�0x(�jyt	��m��
-endstream
-endobj
-9497 0 obj <<
-/Type /Page
-/Contents 9498 0 R
-/Resources 9496 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9481 0 R 9488 0 R 9489 0 R 9500 0 R 9490 0 R 9501 0 R 9491 0 R 9492 0 R 9493 0 R 9495 0 R ]
->> endobj
-9481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.407 698.493 393.75 709.397]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
->> endobj
-9488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.305 361.127 380.67 371.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca) >>
->> endobj
-9489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.43 361.127 513.996 371.313]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
->> endobj
-9500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 352.006 168.486 361.849]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
->> endobj
-9490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.116 213.347 513.996 235.429]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
->> endobj
-9501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 201.392 294.015 212.295]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
->> endobj
-9491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [118.99 156.04 271.556 187.008]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-9492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 144.085 183.967 154.988]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.02 104.284 411.153 115.188]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9499 0 obj <<
-/D [9497 0 R /XYZ 89 770.89 null]
->> endobj
-9496 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9511 0 obj <<
-/Length 3020      
-/Filter /FlateDecode
->>
-stream
-xڽZY��~�_��P�

��l�R�����dg��uMQfD/E�$e���Ӎx�sػ�l�F�_���_|w�绋���|��4����a��E
�LGp�Y�g�Z^
-�yp�<��]v��<����l�������������7�7�R$A�*�ny)5�)����;�`�cS�
0��P�J��.�����B�X|!H
��d��]���/6@�a��J���N�-B��Z,n/�u�ݎ�W�C

v(x�b�1WL�����
-$E�[
����ne�|$z�@�M�3e�WeC�UM�͗"���\�YA�}Vg;Ӛ��]�R���
_��P�g�j)t�+��7H���l��[x;M�B���D=®/�`�ִ�}�m����eu�	H��\�-�c��>-
�
�ѳ�q)j�mNDl����XÒE�Gg�w�],��E�.�P����܌j��Y����<s��T ��f�[)%0hm�RmV'$	+�5'>���6	��yQ���4�����j�`y����6_Ӄ�
�	h���n�

��S޴8wf�G'�C'b#%MB�R$,���RF,	q�G�1�e
.��Y^�̈́�8<
�r-��׸	��Ǽ��("�CG���Q	or�Y�[D��6˝��
m��^"��
E�Ŭ�{�15b�9�tjz~
���,LִN��I���
��ת8
�lt�ʾ�K����jm� �^X�'p��~a�r|�Jf6twh(��̸��

��aq�T��ܣ�����
l���
6Ԡ��rdv P�
��zu�1'`.�����A�QQ��T
6���|U�[�W�.[���}�^���t9v�5�,�l(��6Cy;i*��>
6yZ��ܑ�!�Z����0�J��a�ٝ顮vDsUPWUK��F�}XM8 H;�M�Z�������� *w&+�;�K�pm�|Ө���]3w
T��o�B
@6��j�4�j���D=D�fE�����G#� J�  %7XКƺW�
y�Dj‸�vO���9�����_��к�+�m�6 �/
$-�%�C��60�Y�Ԗ�(J���6/6o���3g�� 8�����Dގ
0/I� mj����h�$��)1d��A.Y��o0�/jb�9 z�iIvS��EXS�U��+_$�nߞ�r�
>��6�(�ݏ�Eq�Z�5�BC�5,�b%[��1��˥�D�B��|*�`2,����
��d������I`]�+�r��4Z%PQ���%��
�<ka@���5��7�f|��M�4H�
{��A�z���
��v`;�SA�e�:��ᕇ&~
M�2vh"&�3m�e�N�j��;V~�5�8���Ľ`f8����������7�A����ե�(
(q����M&Nh��\.
h
\�.)�`uv��ԗx��"�"5S� 6���zCx�|YBWd���dk�wQj�j�7Pk�ֹ��'�k�:\#J�����l
�.&�C�F�UH�G
���
Bx�3���NBp�֩���^�{�V�
���+)�S]X�:�g���E�e�
�P%�S�"̓H[Ǒ:��ަ�a�N'Xpd� �J�
��,��
ۣN����o�,,�>����k5m������j�Y
-�Tu@�#	-+!�>��]
-� ���:�om�����
r���6p�ݡ�(O���)1-\0٧��W��9��ck��:
���x[t��X�L(��� g�@�h�;�QG�G�*��a~::[c�3k���쮯������}w�1
8t+�S`�#�eK

���P���	1��	�i�~�h�ź�ESH����0z���u~`���#B��LSg��6�B���2�}�,�^2�u�0Ќ��'7�/"��*�) Rğ,L���3
-�,ы����Z	�y�u�V	�k��p�*9ϊ@�zQ��� 58���:�r�~�dZv����g��L�t�u��"��3��8�@���JS���H���>tbh|� �L��sÈ	����$�P�i�3/+ ���G5�3+,H���M��%��9�5$�����z>�n��=�{3i�|�awP��-��_�N��H�u���`�4N�º� �Ϻ�D������X���x�=�S bOT�^B�` p�t�eI���R�
�O�T1.HCz��Pw
-2���Vl%]�/�A0i\�I
�`�
-�dLɰg�
m,9G�jF�q寧Id ��_HdP�"~~v�D5�@C�[&���o
M���l�q��v���
&ϧI8���
�����E,�S��u�?��l�/���s�-�)�؞�I�d

�H֯据E�BL���"���_6*�(�j]��/���17�,��D@����0�
0�>쉭�`L�LSs}�o\���4c�|���5�/���9U:~��=�kYy%�N	�§��EW�K�q�D6�|�]�J=��"�z9թq�zE6P:F7f�E���T�n4>!��fz�ա<��<��rxz�����Uu(7S<ԅ�A&��������
l����Q�5����E�9O4-#:��
F�?�����Bl�
-��A9i�e�Ēh#xX�Uf��Y=F
v��/Αr��.��
�)�ʰA&�;���<m�AC���t��0�+��+wè.�m��ǖs�g�)'gyU���\k�n����0��7fI>q�2�o?e�}a�g%D,���N4�����������4o��6�����O��
ܷ~���Im�l$4EQ8�jz.M(��_c>���b��3nB3ՃB��a:�n� �C
���� ����tu�҈�����y���=�!�� 
��K��\6��_��R��N3�5A��m�z��FXb�M!K1ɻ���<9O��SP#��Q���
���
��m;y�d$��):N���O`�.�� ��iHGv�+�4��
ԗ/`�PI��;:��
�
������>ѭ����1u���1+�@Å<�n�,��[ҡ�=X��N�hg~�7�$r �H��yg�m����#[7�P�����$��3��i��h��]Uw�
tF�������j
-endstream
-endobj
-9510 0 obj <<
-/Type /Page
-/Contents 9511 0 R
-/Resources 9509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9494 0 R 9505 0 R 9506 0 R 9507 0 R 9508 0 R ]
->> endobj
-9494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.03 688.032 450.162 698.936]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.966 607.697 511.506 618.601]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
->> endobj
-9506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.428 432.779 299.456 443.683]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
->> endobj
-9507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.955 346.044 418.715 357.001]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
->> endobj
-9508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9512 0 obj <<
-/D [9510 0 R /XYZ 89 770.89 null]
->> endobj
-9509 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F11 442 0 R /F10 504 0 R /F13 578 0 R /F8 537 0 R /F1 577 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9519 0 obj <<
-/Length 2424      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�~���[��
-ƕ�ngҍ�Io���Lg7�$�f"�*IYv:��=�QYR�I_L:��;����Gߜ������G)JcG7wQ����H��4�>�X��t�]�b�H�[z���>�\|��V��\ܜ���O8"f�M'��
���0b���Zhq��:��O�~��.ë�M�=�NPBX�`�7���:WZ�}MHO��H2���x�%H�N�hN�T�Qf.ˬ�y�קB����P�h�8b��5A�Ym��S/�9
O�eu�M�iV��-�U[T�[3�>�ߦUٴuV���d�O�E~nw�7�(a$�h"̺�0�#�� �&F��H��=�4��0Ɓ��]g���,a�n&���H�H�.�B
-s�J���U�Ru�*�	<V{a��NS
Xd�RD!JDŽ�T�=[�0?=��
�(���#э/����f_@<m����;--�I6H�1�	"l�$��͹�M���]e�pZ�Y[��[�V�y���Y�۲� Q桚��O[s{����+��kx�|��	UH01;`�1�@/��?:d�1
=}�c�C��`�!zw�e��,ْ!٥����{�dپy��뼵�+�l�[˷�)�+�������i�����	-5mPQ6yݪ�/�����\���\unG�@1Wx�N�G��$�Io؟̼M8吗����f�cBSD��v����_��P𞖻�q����
Y-Yhgú�2�淳b��
T5�fy�l�&�}���`��pЩ�"j��vR��v�_׆Ә
-���l����+u�y�n`�޲��nW�q �����v�{	
�D�
�Y�b:�B]�u�>:��uN���
s��Vvy�9Y'�����|�ﯼ8���_�A����
���`f�l[��c9sܦ3^Y�����Ocf�'R
gU�AnCf\sɏ�6�AX�0Ƥ�lHy�PL�l�R.`���m�ޅ����Q<j�jB�N:)G
��v���G`��G@���J��8�!!F��#
�H�	Lfr��t���ut��&�3�%�,,p�mPl��-z��DzH�eI�d� �"A�Ǐ�@9��N��
�'J�!
-ER�
J��D% �$C���Pb�
O#�$`���P�P��Hr� `���p9�RB/�۸
���k���MA�un��O��+�]�ee��}�i
�+'Z�
����ͷ�� f
-��TU �K�c&7�Iv2w	%�k��]��p{E��T��A�P
-��*�0GPh5�Q�yO�!�wC�ҍ�”�����e�w����)B�A8���)LD^�?���a�ɱ�c
�U��aE�yE����&•��%N�/�$�G0գ�i���;�� SO
-h��b�l1��/��`u�xL��gL�́�?O	,U�`.F�L�Y��
P\�Oɨ[����"3�Ċչ������0�fҀ����``�X9><&SkZ�
;
-�Pl�P����MA�3͵r��|�/��G at 0�J�q�|jά6B�Е�ޫ35;N�� �M���7��
Wܾ�s;�����&�z>�N�u;?���2���B�~(�F�un�^��fp��
,���|�(
��瞪@��d����~�<�Ý�w¹���S�(~�\u��ލ�Fm�	ѫ���v��ց��
N=�N�	c�xj9@0�@��=��/7�O#�J��e�0�.<-�i:J����% �R��݄���#�ޖ!����ۮ����Y+e�3��qe�Bsp��8pJ
a�Ŀ�6�^����s�t�ݱB�m�L�;�����e�:�г
<?7�QL��:[B��a ��b��q��GFg���ơ26=Q
zl-1m���0�(Q
��܄O
B�2u��J&ഭ��{�4� �0����ef*`�=�԰�X��8����W9�f
�,5-�k}�>��2���J�I��UU�PQ����P�X
��6��7Ŝ�~��8�%����(��/	�tC=�з
�/);���i*F7�`_Um1�W��Cu˦��!�Xl��<�B���[��		WwA|C ��J�8J?Gyd�>j��G?���h�-�s �σ�Z��2He�����pϊ���4�<���o��9b
E�|�ؒ�_mw}�Nb D���,�C�����ZsW(�~i  +�߬�r�@�1{�Z��@�(4t<��C� [...]
Z�ŲFE{}�}�Л� ��������T��L�>p�+�³
-endstream
-endobj
-9518 0 obj <<
-/Type /Page
-/Contents 9519 0 R
-/Resources 9517 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9515 0 R 9516 0 R ]
->> endobj
-9515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.955 227.853 418.715 238.81]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
->> endobj
-9516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9520 0 obj <<
-/D [9518 0 R /XYZ 89 770.89 null]
->> endobj
-9517 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F1 577 0 R /F23 364 0 R /F8 537 0 R /F72 400 0 R /F13 578 0 R /F10 504 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9524 0 obj <<
-/Length 2341      
-/Filter /FlateDecode
->>
-stream
-x��Z�o����B�J5�z�K�z�˵H���)P$�AI��T"U��A���>Hq��E�/@>�\.g��ٙY���O�v������*<IP"����M<Q<AB��r�cD0�l:#��jJp�V���jJqT��WٲJo���UZ=_^^}{u{UMI
��u��Ψ�чuZ�����]f^g�"�T�DM����������'IJ!��'��ُ?�����`Ēx�h&m&�2��'�g�8�N���H(dOB�R�Mf�p+忧D+w�M-��ݬʲ��=��Ҏ-��0�Ef��b�lߧv����q/��Y9S*@�y
-ک�;Gv���}1�UV7U�h�%���ѷ��fJ�Uڴ��ٹ���/��
��-��g��D+�c{l��u�7�&/
;�ɚU����X��3�U
�

H��}R��]�P<m����A�B��V��O�f��.���r�I�3qQu���;��bkX
�.ݘ��E� "��|Q�W�v�/��M^���>X3ۏ
Gq�!��J�
������b(V����\C�����I�#F:��c��y��g����
G�"���rvL{�(��1�X$F�v����C"3� L|>��C2��� \iu
>�v|W8+�@���Ti^4�C
-�4#�)��a�U(�AE\��L�%=! ��5���2T *֨�;���v
��QӁ��
��
�b��)܄��v��IN�D\����!�a$�
H�+��An�H	��=3<L-�p�4
V.tX�.@%��G� �w����M��% |+
Ѐ
���2����/�����n���d!�30��8g��y8��R���,�(�
C�8�� :�AǬ7kQoM����oA�W9�8�Xd Ɂ|2����
ޠ�n�igfg&X �-6ƛ�����Q��z��QF
]F���A5
ZQ��f��L0D�ďf7�x�tww�
(�*K���?�
�۲Xv�U/[/�@�`��0�}|W�ץT����̍갮`34:����-�p�쿺('��x�̻֙6gM�"4�Y�%s�t�z.
G����Nѭo�ubo��_믶�{��>t�����n����E
ZjQ�����Ѥ��̙[�^��ލ\�
@yFu ��ȭ�G�C�D'��'��W�b?�
%������
�K
�
-$�P�����K	�$
Ũ/w��W��'����=H�<Cz�Z(��3�-~�+�����z�.��e�ɠ
)
=����X@��>
g�r0�!/6XA�y;��o���_��|�tAq�)F����7@����p��*��LB��"�u�~8
F^�]�<@��b�q�Q�6���F��N"#�G{q���VI�cF���.�f{��썰؉	r����o<�~�
�w��M ñ�-A�aҧL�Htg]LaXW4��UQ6��@�
ϭ�L�9�W[k��J(Q�ҝQb�$��U2f��/drB2���I�O��I��A^ ��p���qm�:��po3���J�Դ�H�����#�8JL{R��l�4�f�l�c�g�RD�^��*��.�/5%/d���,P%І�1�uK2:�$�8F̵�R$�
���&@���d�$��I�/�
}X(�,�9)��^oCK��@
-�/��ĠE���q)7O`�o��UVA����C���~
-�|^
��v���7�`_u�k���boBY�(��@6���*nz\
-���h�İeua�}(
-z�?9�[#��;���7����Q�o
�HP��o�j���@����&�8k齷m�PhҪ�'���G��R�6�7�%���-�w�� ��a�#նr���:9&��
w�z
>�I�yEi���+�Wϖ���S3�
�d�iꝚ1�N������R{�*�a��r�n����|���c����X�m��B�$�����;�2�:�4��!�
�

�
�Kj�3�Ɍ�?q>t�A3XnOhp@�(�V��:K�s!��2(� �f�3D


%�g |�I�b��t�Ȱ�ǐ��>��I
$-�t�u��z;���
=7҇�BE7��n_�����)��0�Q{�
�f�b�UxQOI��U����6��í�+K�/���"⡞��B���8֧��4;�	�S�O"�C��
<���80K<��C\�H)u�;��AE���%����
y
2�b�y��ɓ/�]�(��swХ�
NC�n�MJ: x?����t�
�#����W
!��G������
Hp�D2lk_i^�'����>��N��uV�A��9m|J�]�'�v����4
#��M�X;7�c�Y愴��g��������������i�����hQ�]�o+�7����pK�Q�iyG�k�o���;/t�a�,��?�1��
-endstream
-endobj
-9523 0 obj <<
-/Type /Page
-/Contents 9524 0 R
-/Resources 9522 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9521 0 R ]
->> endobj
-9521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9525 0 obj <<
-/D [9523 0 R /XYZ 89 770.89 null]
->> endobj
-9522 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F8 537 0 R /F11 442 0 R /F1 577 0 R /F23 364 0 R /F13 578 0 R /F72 400 0 R /F7 538 0 R /F10 504 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9531 0 obj <<
-/Length 2039      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~���SK�T0@��;}p]'��v�X�1iFCS�ͩx�G
��w� (B�m9i�3}�{~�إ�ucQ��������"��o-���Z�����je��y:�-E>��o���X�^,.����������$�����?Pkۯ-J��u��-�r����OT�B�)���
-� .�� �Y���_Yq��\�ڱ
�Y�Ƶ�'e���uW$mV�����
�1a!	�������?K
�ٟ������6K$��\
'q!'W�
�&]�Y[��wJ�B�ݪcU\�y�֚h�
-u�\���Њj�~f<�첫��枫���G�����u�ȭ��1��
f�
�?|���X�'nh4|�G�'Q�C<�?`M""O
bt~d�}�̘Ld�0�5(�Ϡx��/�@��Mō�;7 !��B
3P�����7`�0�c�ai��n&��a�`�jʜ����3��}�^D��WlYMےy����-�:�
�
L����D'
��i�=��.��Մe^ �
��
t��\Ə |���6�� g�!��Hh8
�T��
� �I�g����O�9<�v��
��B��
c�g��BB���W�M�Wk5�W�>�

����,������D�O|*>'#��Gt�
|Sכ`8��
�%��/E����b�t!�1��}�*����#y�/G*3�=��p����5K�{��'�P5LF���g7�
\�m�C��Գ�yn=Q���>W�
�_q��ʹh�:���\ȷ{
-�|��[:��p\��yf*�<63{�ֱ���
-9VuV�Y{��
޼�����gWiC-6�� 
u���w��e�hQ1��������˄���
al�*E��Kr�v�g��$�P
-}��C��iG ��
YVm���B��l��o�/<COQ���.�4��H��i�\�<�,r��ƭ���JO
փ
6d���ҁ�D2b
@�}1��)���F<ab#�D��C��m��"��b|�����#Q�*���B"����i~��
-�����!	?�	�m�����"�
Z�)ji���ð����܁��\�ߦ�:^�eWu\�
�_͗��a������,Z�^/�۲n]^�8ag�E�}m��2/�&R��4�B f٨`�Xߨ~�-�*塞�(n�F=NP�rmtOPM���δ<%i��L
-��[�G����1
�,<�f�'��W/����ǎ�ًӗ�=�ZR�h8��]��#&��O�7}�Vǔe�I��C\�A��_��pj�q ,�oqx� �_���
7��<�`��#F�.q���w@ϱmQ�
zE�ԟ��
b���)�I���Y�0f�/^��\<�
AI���m�B0r ~ݨu,�bw�ĆNh;{�[�3�=)�����'��z�O
-o��
-�[9�I
4�v���*M�T�t�Sj(�O�q|v��
-
���
�k��]����Y}0Zk�����dV�>#��#�%^�#�AY��SH`9���Q�N��K%��x�OR��������ɛ�w��*
	B'HD���F��B��c0��o��Y
�+Y����0�j7�'P��Ӆ
-�lq�*�8es��O���K�R��+U�����5�q�fy~��� ��;�U��l�+� ��>�?��0a
H���N�N�Ƈ
}���w��o6Ee��.3k���j�%Y�a��	�n�k��*���֫��p����Y���L����v
����XC��C�e��_���ࢆ�$ÎQ�T�1)�ì�oު�D#��÷o\`Ջc�C�"<�6H3��O�*NѮX�j���N��FU���S�*r������?�����8�Wس�V��:�~6B?�m� w�����M��@��Cmx��k�6mY��%��~�4 T��q���?����}���� 8G_�=8
�F�H%Յ��sT�\-u�˥
-v�xפ�טo�J�q�iM0̥M�f�(��e����e�*M�zXz�#V]�X���!�o۶::<���#IC�"�j���U�>�M�#*L�` r��a^��=l���q��a
-endstream
-endobj
-9530 0 obj <<
-/Type /Page
-/Contents 9531 0 R
-/Resources 9529 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9487 0 R
-/Annots [ 9526 0 R 9527 0 R 9528 0 R ]
->> endobj
-9526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.761 494.565 221.894 505.468]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.512 348.595 221.645 359.499]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9532 0 obj <<
-/D [9530 0 R /XYZ 89 770.89 null]
->> endobj
-9533 0 obj <<
-/D [9530 0 R /XYZ 90 581.86 null]
->> endobj
-9380 0 obj <<
-/D [9530 0 R /XYZ 90 557.344 null]
->> endobj
-9534 0 obj <<
-/D [9530 0 R /XYZ 90 557.344 null]
->> endobj
-9381 0 obj <<
-/D [9530 0 R /XYZ 107.713 453.524 null]
->> endobj
-9382 0 obj <<
-/D [9530 0 R /XYZ 107.713 437.256 null]
->> endobj
-9383 0 obj <<
-/D [9530 0 R /XYZ 90 424.645 null]
->> endobj
-9535 0 obj <<
-/D [9530 0 R /XYZ 90 409.336 null]
->> endobj
-9384 0 obj <<
-/D [9530 0 R /XYZ 107.713 307.554 null]
->> endobj
-9385 0 obj <<
-/D [9530 0 R /XYZ 107.713 291.286 null]
->> endobj
-9386 0 obj <<
-/D [9530 0 R /XYZ 107.713 275.018 null]
->> endobj
-9387 0 obj <<
-/D [9530 0 R /XYZ 107.713 258.75 null]
->> endobj
-9388 0 obj <<
-/D [9530 0 R /XYZ 107.713 242.482 null]
->> endobj
-9536 0 obj <<
-/D [9530 0 R /XYZ 90 213.061 null]
->> endobj
-9389 0 obj <<
-/D [9530 0 R /XYZ 90 190.602 null]
->> endobj
-9537 0 obj <<
-/D [9530 0 R /XYZ 90 190.602 null]
->> endobj
-9529 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F7 538 0 R /F10 504 0 R /F8 537 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9544 0 obj <<
-/Length 1979      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����jc3͋(J�0�ݖ��
-dm���0�N�ɒ+�I��wx%ʲ��ŀ{�x��|�;�2�
�:yq9Y�

$(�h\n�"L�`��M	F!��	�xz1#x�V�ty1�xZ��7r]��߳�*����.^^,/����U.��9�x�S�ֵy}#7R/�b%A(���$�}�|5��r�qB at -
�G"V�ɻ8X�� #����޴
B��o'L���,N�a H�(N�u֢t+Y�Z����9��Cb$��sxbΌ�u��~�8�Q�'|+U���i���E�����l����S�j�ʌ�]��K࿼���Z
�8?��.����3�K�ޮ%1i�47Ym��zG(Ĥ�q�k@�47Z�:��{0�13wYsc����}޴�P>M�4�}�9�� <���.hB���^��!��(��QDB�_>�������)΍��Y��岸nn��� 2'�.8�Bta�J�;�l3�X�촰Auh�
-$`�\�V��m
�Ѿ������6��ԸZ:4�8+�2��_9MZ)Ț�ŀ����Q��
� ����Fnwy�XP�����)���U9
��d�
�d����#ĨK�G$*�8mw<��	N  �x��K�$�e��R�*�aPP��� ���.K���9����C:A
(�cZ�͘��-y�Hr��Qy*��@�
-�r�_������V/�J;��聘��ٰ[ަU=r$ ������/����x�ˊ<+䇑���P�00M�z��}�Cځ5d�� ���*[��&U��U|�ǖ�9��"p�L�=@%��{6Ui��eD&?�M�U#UeԹ��U��5 +����z���T�@��w�1	
������E��C�!�Y�GP-�t�(:A�Z�����n�[ʊu��v�\��U;?�v"0"���a1b܁:��Q�J�*h(ֶJ�cw��8]�(�Tt
����QQ4g*��n�b=t����
����k47
%�x�+�	D#΄���?�:� 
�C������-�e`z�
ה��MZ5G���u����du3&	����}�ퟷ1��9�5�mT�`�a���e�13t$(����
n�9"1
��|�Z�6mG��X�c���
,�������@���v%�����z�V�*t��D	�(t@��<Mv�KK�	�8��ݚ�G�0VR1������*Y��b
�n�.���U�P��_�-pG����n���VM~oFוL�/![F�n�
OC��0v��A�%�$����#����r{�js�/V�+m?�+
´�

5�� D��[U���&��/
�\�UW*�t>��������U�hu�� ��7����گ��'�B��+d�f��k�3
12 �	�qu'(�|H�]1�=Z|U��5�p�E��Y���Q$@��ER��
 �? �z=�z	��Rat�}7F�g_
�o�ޕT,��z�����Kۘ|p#w1��EU�
�λb=_�뱛C��a����<|m|�*�]�RS��l�
�D��&`ɴ���c'
����;̸
���|���;5����䱦�~ĵj�{��$�[�/�7�!t��T!���k���bo���P�,5g��^�NV[��y�
-�bZ+��[+5�Vz�6
���Ź^�nj]%O�$T?�n�2�]���_P ��y���u|���W�J�w��:pW׮����T�Ѯ@�k�@��b�����Z�㘇n��w
�A�}OL�п#�9��0F��@�
�w��k� �
`�F�4��E���h C4���<
H
0;0
L�
�Jx#�n�� ݨ6g$�z���9��}"����O
��}��hخ�Q��֡�}��.�84R�Il�A��œxP�/˩�h�mq4C[!���ZV�f
�Œ_���8�E�U��ʁh/C�Ji�4��
�o���D�/���b�
7M�;[,���ЪF�"�U(k�]�8D|O
-	�pB6�w[v7B�������� �/�P
-endstream
-endobj
-9543 0 obj <<
-/Type /Page
-/Contents 9544 0 R
-/Resources 9542 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9538 0 R 9539 0 R 9541 0 R ]
->> endobj
-9538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 647.558 406.173 678.402]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
->> endobj
-9539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 402.208 406.173 433.052]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
->> endobj
-9541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9545 0 obj <<
-/D [9543 0 R /XYZ 89 770.89 null]
->> endobj
-9390 0 obj <<
-/D [9543 0 R /XYZ 90 638.626 null]
->> endobj
-9546 0 obj <<
-/D [9543 0 R /XYZ 90 624.062 null]
->> endobj
-9547 0 obj <<
-/D [9543 0 R /XYZ 90 360.634 null]
->> endobj
-9391 0 obj <<
-/D [9543 0 R /XYZ 90 338.322 null]
->> endobj
-9548 0 obj <<
-/D [9543 0 R /XYZ 90 338.322 null]
->> endobj
-9392 0 obj <<
-/D [9543 0 R /XYZ 227.842 261.219 null]
->> endobj
-9549 0 obj <<
-/D [9543 0 R /XYZ 90 244.498 null]
->> endobj
-9542 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F11 442 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9554 0 obj <<
-/Length 1485      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~��ੵ�cYW@�S�I:��۬ۗ4�тv�	p���=H
&�N�v�����ܾ���!����7�Ջɐ���>�8��D"�Q��s�o6?,��!����~{�y�rs۬͞of�,�8Eq��g��� �������ݴ8e�f��������K�1"���)��}��)�ʪ0�zA���.	L	oZU��u��z��eY�I���	D��5�+��S�XR���i�\���9`=?N�H{|�}��j�
1�����J������3$9o����.�*�����u^Y�إӂ�yq�R7LԱ�;띶1]R
-n�8���[���nA�\'5�cIn]�V7[  :u��j��&���_�AX����7����d���


?r-"�
-$h'9�&�
-�4
���p�,��X����?�]�t2Y�V�wE�7�Ԃ���&�~�]0;]�n��s�ug�v�|t�L!>����-��.��oK΄�
2
�&U���a�Lnj����E�'`L]*����<
gp�w�`��-� 
�$$����f�ʽ��4���N����b�JU>�נ���\�xn_�ۺp9�k]�l�<�b����&�Vwgȟ
I�j�@n���~�+g��x��6!d������4eגD�:`�%�"�6�����N_�c�@�\�4݋lp�&ٹnU�ыK/i�2���L
h�b�DG�-l��
]T�X�F�xpI-�5(J���⌑�
Pe&ݪ����x@
-$�$1Ǒ#�8�W�^��.~8�f�)��>����
,͋�u��,uu(�ԩa#��5��ae@��W"��Fw: d�u��>�1�0�#wէޙ)c(�;��8��B��@���O�D��˃}D	�F˓\�q�8�� �����c4�	E1����ߥ���rMR
K=���l��T�q�f8Rpp9X�cw�c������K��s�e���X
;�B��N
�� �C��_�1#��
-�n7��_S�&�m���C��#H��ʟ�T�\�aQk5
#7��
p%b�NW\ �A4>���#��������}�j��V�9
-Y��d��LjJ���.�3Ũ�?�
����=����c��Y "
~)����.��
���I�s�`ޙ	S��b]�,T._&^I���yr��4*� �{
-�%K�2��[:�⫯�.�.) 2�_��*��"�d�	���"���m�m�jS��y�����̈́�xX_��t����L��L�x͛
��ys��6GX
�J�Dzyd� 7&���
Q�Py�S
-���dy��?���MZs����.��顝�?uDڰ���c��†`ck,�.�@p��.��&l��a�nn�s�
��t��B��7�W�U�'����쁇�k�&%��[���μ�A���E�L�J��*��>�W��鄒
-
ss(��W�C��d�3)�6Q'��ce_�}0�W
G_��|
-endstream
-endobj
-9553 0 obj <<
-/Type /Page
-/Contents 9554 0 R
-/Resources 9552 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9540 0 R 9551 0 R ]
->> endobj
-9540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.733 679.145 392.255 690.049]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
->> endobj
-9551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9555 0 obj <<
-/D [9553 0 R /XYZ 89 770.89 null]
->> endobj
-9435 0 obj <<
-/D [9553 0 R /XYZ 184.963 644.166 null]
->> endobj
-9556 0 obj <<
-/D [9553 0 R /XYZ 90 627.692 null]
->> endobj
-9436 0 obj <<
-/D [9553 0 R /XYZ 90 493.439 null]
->> endobj
-9557 0 obj <<
-/D [9553 0 R /XYZ 90 479.122 null]
->> endobj
-9437 0 obj <<
-/D [9553 0 R /XYZ 90 354.821 null]
->> endobj
-9558 0 obj <<
-/D [9553 0 R /XYZ 90 340.504 null]
->> endobj
-9438 0 obj <<
-/D [9553 0 R /XYZ 90 202.246 null]
->> endobj
-9559 0 obj <<
-/D [9553 0 R /XYZ 90 187.929 null]
->> endobj
-9439 0 obj <<
-/D [9553 0 R /XYZ 90 77.486 null]
->> endobj
-9552 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9564 0 obj <<
-/Length 1268      
-/Filter /FlateDecode
->>
-stream
-x��W[o�6~����fM��$�C7�C���)
Ŧma�M��f�~�"us��2`�D�<��|�Bl
,l�<�q3[�����
���-�-��y��Y7s��K6���
��Q�F�z��y�<
��O�]�����:\�
��D�
�ax�SU�~�{��-�� ��G���dq��8{���5#`��6�!?�����[;���ˆ��:5�R�u(<�z��
?�!���C�E~�����ZF�6����ժʓ{uHh�1��#z�ͳJ*_��7�[���a���
-����!�F(�/E�hC
l��g^�q�Y� 7��+!k0�ͳ����
 sˆ'f�>�vaSF
Xc��������lo#g�����?�Zn�]����W{
�L��i!��d��ETŠ�
)����H!	��� �P܍0S�@:c���|B!
9��-U�U6
ߝk�A�Z���
iB��D�у�Vc%{��
-)3��� �s�UQ4�8�].�i��c\M��PĻ=o��xo�R?��ޗ��U�
b��
�^��[�7���.�3	UC�2
���ml�s��(3� 0��������Cv��N#�W�&P�|�~���	^�<��S�`Å���R鳗wE2_��\2 )Tr
��fY����F�򁕔�Q�
Y5�E���X4PSh��q���*>('�y�o�@u�������
?����� �N��������M(C0��2b��5� `s���Ǩ��B��x���z
-����u9�"��SO�}������F�����^�8�j f��.


-X��
Z>�d �%����V[�Qe ��9�.�M[�oM���Y�"�ܝ�7�ԉ1�~�y���~��
���
�x����R�2�y��M
H�C�
EYjz]r��W�Ǿ̕�l\{e��u��5��l�
��t�3chݸ-�Ǩ���E߫�/v�#Xࡀ_�1�w��U���Pr}���A��.>�
%B=?2Q(Y�6�P��>}V렘�.�o�,�3q;]��𶌹���Mm��U]����{�gL�fL
4���
9qRs���ؔ�mZ
�f؉[ʫ[\y0׹�&o�e� ���
��s���k
-&�#|�,�_&����^&�K$(�C>
�%������V|V�3˖{zi�T��^�� �k��QғJ�F��둣+�M�k;��ڳ?���
oo/	|`rǿ���j�<�Nh[�:���rY��1�)�ɝ��ci^����Ǵ������16=
-endstream
-endobj
-9563 0 obj <<
-/Type /Page
-/Contents 9564 0 R
-/Resources 9562 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9560 0 R 9561 0 R ]
->> endobj
-9560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.899 74.333 345.51 85.237]
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
->> endobj
-9561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9565 0 obj <<
-/D [9563 0 R /XYZ 89 770.89 null]
->> endobj
-9566 0 obj <<
-/D [9563 0 R /XYZ 90 721.073 null]
->> endobj
-9440 0 obj <<
-/D [9563 0 R /XYZ 90 594.833 null]
->> endobj
-9567 0 obj <<
-/D [9563 0 R /XYZ 90 576.006 null]
->> endobj
-9441 0 obj <<
-/D [9563 0 R /XYZ 318.321 500.089 null]
->> endobj
-9568 0 obj <<
-/D [9563 0 R /XYZ 90 479.105 null]
->> endobj
-9442 0 obj <<
-/D [9563 0 R /XYZ 318.321 403.188 null]
->> endobj
-9569 0 obj <<
-/D [9563 0 R /XYZ 90 382.204 null]
->> endobj
-9469 0 obj <<
-/D [9563 0 R /XYZ 90 184.185 null]
->> endobj
-9570 0 obj <<
-/D [9563 0 R /XYZ 90 165.358 null]
->> endobj
-9562 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9588 0 obj <<
-/Length 1599      
-/Filter /FlateDecode
->>
-stream
-xڭX�n�F}�W(�J@��
�#(��q����j_�@���M�"�%%E���B�4%ˉ_$^�Ù9g��;�v��6����	Q�Qϙ�9!v|7D܃��s3v1�|��w� z�|��b��bv]�����
��
�
p�N�
�|��.�w0ba�lԢ��R��s=�s��B"D��`�2�'S�1
��Dd�r2�
��d
}p%Ҩ��|��U�g���<^-EVE�R
v��E�
;�1o(���i^VrB������+��BFU.kC'����m��g��T�~��tB#>
-��.��9��6m��1o.�3��.�e2�N�ge��^���_�巩8�*�)�kM�r!ڊ�X;n�A%vՍ�0}�K��Z9e
E�:S���g��ϫ�XU��s>F��~Vj`]O�H�#���&*�Q
�e}/��h~9��*�>�����[������Of��
��ِ���
١TS$P)ęB�Bn���n�ܢ�t;�.ϧ�GJ�r@��^"N�4�OX�Ҷ
>b���JC��:�,�M!!�D��jL��<��[��Ӳ�耺tdR�Cb%N��
nT��ɽ�j�Y�����>*��4�'��7Iv�/}����T���;�x�ˠNr!x�mJywՍ�ݢH��C����*��
s��;ƻ��GQ�:OWu6���Dq���J�	�JY, ����)���1*E!E	�o2SD�V�]/�eŢ{�4~�h�3���OI����.g^��4�F�Z���a
^�
�~�#�0��
�eB&Ui�����7��JA�4zB�n�لqȨРuIs�.*�E�y��~CQPd�
�(t�U\
��"���]HFIVu����C' O<W�)x���LºD�j�>U��p��
gD*�ǭ(���@��B�[{��P@!:�C��N�
-�%��1D���m����'���;��x��\c�{�iQ�X��y�Z�n+]��I���u
�ʡ��F�������RvYp����1P��U���0�G_�r�����ֶ:��^�y�a���W���͚ڦ
�4�P��nu�zm�BSc>
�t
.�u"�U�>��~��b���0`�緯��y,N�l/v5x%ؕ��.\�j%�.�E�c+�J����f�2��4�N�'�w�}'
Ђ���{�9�P#� 3��{��b�yf�@g@|��cx��;��h�9��A1l&;�.����u�[�3���!ϟ(��^��C
�2�1��:hFH���=͚��T��:�Yj��
r
f��GP���
����i�L�K�x
��S��z6�Gv�����
����dTΛv��jI��8
��G��.�E44
��vP�LDr��[��(����a�!����I<_�J��z3r
����+a�d��4�6.T�-/�j
����D=Az&���7�f*Z��;�/x���/
�V�=�P�1i>#�����K�
��?*r�E
;�����d����
�漖1
�o�f˜�
���Jm���_��?ן�Lr>EY#&5'ֵ)!w��""��@#=�^
�
�?�=�0R�ЖӁߞ�
��8=9�l6(.�*K
-���6�'�7-+@���4X/si�O�Zs��G �)i�
-endstream
-endobj
-9587 0 obj <<
-/Type /Page
-/Contents 9588 0 R
-/Resources 9586 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9571 0 R 9572 0 R 9573 0 R 9574 0 R 9575 0 R 9576 0 R 9577 0 R 9578 0 R 9579 0 R 9580 0 R 9581 0 R 9582 0 R 9583 0 R 9585 0 R ]
->> endobj
-9571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 418.685 298.845 429.589]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 364.86 203.075 374.788]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
->> endobj
-9573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 283.584 195.613 294.115]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) >>
->> endobj
-9574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.95 283.584 278.083 294.115]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 244.791 208.246 255.322]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.216 244.791 239.787 255.322]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) >>
->> endobj
-9577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 205.999 231.865 216.529]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) >>
->> endobj
-9578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 167.206 178.996 177.736]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0) >>
->> endobj
-9579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.935 128.413 247.638 138.943]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.608 128.413 302.989 138.943]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56) >>
->> endobj
-9581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 89.246 214.681 100.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.421 89.246 300.2 100.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
->> endobj
-9583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.015 89.246 339.203 100.15]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9589 0 obj <<
-/D [9587 0 R /XYZ 89 770.89 null]
->> endobj
-9590 0 obj <<
-/D [9587 0 R /XYZ 90 721.073 null]
->> endobj
-9470 0 obj <<
-/D [9587 0 R /XYZ 90 704.266 null]
->> endobj
-9591 0 obj <<
-/D [9587 0 R /XYZ 90 704.266 null]
->> endobj
-9471 0 obj <<
-/D [9587 0 R /XYZ 90 642.631 null]
->> endobj
-9592 0 obj <<
-/D [9587 0 R /XYZ 90 628.088 null]
->> endobj
-1465 0 obj <<
-/D [9587 0 R /XYZ 90 505.592 null]
->> endobj
-306 0 obj <<
-/D [9587 0 R /XYZ 90 498.896 null]
->> endobj
-9593 0 obj <<
-/D [9587 0 R /XYZ 90 382.827 null]
->> endobj
-9594 0 obj <<
-/D [9587 0 R /XYZ 90 302.154 null]
->> endobj
-9595 0 obj <<
-/D [9587 0 R /XYZ 90 302.154 null]
->> endobj
-9596 0 obj <<
-/D [9587 0 R /XYZ 90 263.48 null]
->> endobj
-9597 0 obj <<
-/D [9587 0 R /XYZ 90 224.688 null]
->> endobj
-9598 0 obj <<
-/D [9587 0 R /XYZ 90 185.895 null]
->> endobj
-9599 0 obj <<
-/D [9587 0 R /XYZ 90 147.102 null]
->> endobj
-9586 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9640 0 obj <<
-/Length 1991      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~���ɕf��^�z:�i�&M�t���K�a0Z�4��B\���,��@ɲ��/������s�w l��xy�����

�lj�k�ÆczȲ῕�vF02���`�g�9���H9�x�ś;�*���������ҿ�⪌���%[���Zx�<�P���5/�ĝ�4����ҙ������g?\�}8#�6���B�k����?���ӯ
�������0)��ظ:��
�%����j�[K%�F&s
�s�g�j��(�jo�y�ۅk�X�8Z�k���V��[=J./a��*ɇ6��w�¢\]^f�,x��-9p���0KEٛ��L�~ڶ)}��&5�D�����m�6��4r��s��0�6�
5�g�A6�̀ U���z��:,�̙�\����Z]��� �۷��5-�1�+�~�ȆIzLy��F	�Hk�nQ�U=��#�����
bM�|�e�1�Y���8��D`�{I`m2[sӚe��6��L6��CY_���k����0��@;�+'VU�W���fb��r��o$�: ��n Լi.�J�*x)�� �=�
�8� �̦�����
4Af�۫(��7s�2.�����T���q���vE��ΐc�fP�V�Ur!�U�ll.�v��u�Q�
𢵜�w���`$�
Gc�8�qq�1*�*8J	O�b�����3��� ���(�o6%�b�rk��r��;O4R�u錨�j�c�r^_
�*��H�g�њ�Re�O@��$RjY��?'@�ݿK^�_ [...]
-�#�)���@�[
Q�
�֚�����\V�l\Óx��*
e�c2aJ�-�'��èQ"H����=�oc��TG�:�<��?����*,��B
���d~I�6��ٳiK�d��zS�(-Ũ8q׿��LQFy����A6�o{\/���ԚݧQ��hYd71O�bp+]X3w�Ko�&��NK4�

�t�
��Jj�~��3`A�G��i�
��Z��V��Sn:1����3a~���x��C\�E��G��:
���T���Ls�����f�$�U� aNc
��8
�-��%��+�Ս�Tx�K�em̓��@�fO!���kd@0�LYR��"���P�	;Q02� �P���
�)GU�*(A9@��
�h���E��|[3Q�
�@?��T�2��c���jyr&�5�"�� N4�z����0�B�~�S٠�a[R�A�J�ف�`�ͺ2�_�U��n�V�Q�W���-�Q٠�$^�_��0��F(�"� �{G?I�fXj^%9@�Ӧ�䕊l]��6��.[
N�����������G�
-�вm�ƨ
(��|���TRɆ�T<C�n{��Gj���ꢩ�3��v�7{�t�Hƥ
"?~M��J$j2g�(�כ4�͖)�q����'j�q��2 �^>�_>&:D���I��)b��&�X�m��鞬f�������(u���So(ƺ�@OLT��s�>\�@D0O��R�=��X0�&(���:��W7�e�N�����`��{�6H��Z
h���Y
n]�TT��i��V����K9� �O*
��,
�<�	+���
��얃��Y$�ve��{-
�GST��=�V`eKHB�<�ru�G���M9<���[
�Y���:Ѿ��H3m
-��ˬ{x(�R����M�t!{��<Tl�h�F�Z�����x�m��4bΩ����C
�>��1D��Y^H�ZB-�!�y�
-g�k69dP8� ՗��
-�k!�Mdz�-dbvX
����7�l�!%������\�ѣ�s�iE)oz���������c$�街ؤ�
wB��"�g~�2���a�c?�h>r��S6W�a:��t��n6dY'�"�ie�|̡��_t�~��J�2
̛ mK��)
�h�1��FTRB��jR���
�$YA��%��n�+�������
�Ui�(*/�<��}��eH��d�5�5+��4p2��o��������
-endstream
-endobj
-9639 0 obj <<
-/Type /Page
-/Contents 9640 0 R
-/Resources 9638 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9584 0 R 9600 0 R 9601 0 R 9602 0 R 9603 0 R 9604 0 R 9605 0 R 9606 0 R 9607 0 R 9608 0 R 9609 0 R 9610 0 R 9611 0 R 9612 0 R 9613 0 R 9614 0 R 9615 0 R 9616 0 R 9617 0 R 9618 0 R 9619 0 R 9620 0 R 9621 0 R 9651 0 R 9622 0 R 9623 0 R 9624 0 R 9625 0 R 9626 0 R 9627 0 R 9628 0 R 9629 0 R 9630 0 R 9631 0 R 9632 0 R 9633 0 R 9634 0 R 9635 0 R 9636 0 R 9637 0 R ]
->> endobj
-9584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 695.801 181.845 706.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04) >>
->> endobj
-9600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 658.91 176.505 669.441]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) >>
->> endobj
-9601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 644.711 450.955 654.616]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04) >>
->> endobj
-9602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 610.314 220.22 621.218]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 610.314 317.355 621.218]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370) >>
->> endobj
-9604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 573.05 220.22 583.954]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 573.05 331.582 583.954]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) >>
->> endobj
-9606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 494.593 195.613 505.497]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa) >>
->> endobj
-9607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.95 494.593 304.653 505.497]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 457.329 195.613 468.233]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) >>
->> endobj
-9609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.95 457.329 304.653 468.233]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.218 457.329 386.755 468.233]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
->> endobj
-9611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.418 420.439 205.107 430.969]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d27d4c) >>
->> endobj
-9612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.445 420.439 287.577 430.969]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.529 406.239 259.424 416.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 382.801 234.079 393.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af) >>
->> endobj
-9615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.416 382.801 316.549 393.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.883 345.537 233.188 356.441]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
->> endobj
-9617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.99 345.537 324.123 356.441]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.608 345.537 425.252 356.441]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 333.582 179.554 344.486]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.433 333.582 394.097 344.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
->> endobj
-9621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [466.634 333.582 513.996 344.486]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 321.627 128.635 332.531]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.798 307.801 365.997 317.706]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
->> endobj
-9623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 284.363 199.558 295.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdfb492) >>
->> endobj
-9624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 247.099 199.558 258.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) >>
->> endobj
-9625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.923 209.835 207.756 220.738]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.746 209.835 237.62 220.738]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab7bee7241acd10a165a5dcaaa15d40e4) >>
->> endobj
-9627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.978 209.835 319.111 220.738]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.344 197.879 236.121 208.783]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.123 197.879 343.766 208.783]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.798 184.054 328.634 193.959]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a5f0557451b4e3556d65bb5bb703e9b46) >>
->> endobj
-9631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.727 160.615 186.618 171.519]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a91a8e2ea09adb555ec9808380d95446e) >>
->> endobj
-9632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.245 160.615 255.888 171.519]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.798 160.615 320.575 171.519]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.353 160.615 513.996 171.519]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.745 111.396 203.471 122.3]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) >>
->> endobj
-9636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.788 99.441 209.431 110.345]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9641 0 obj <<
-/D [9639 0 R /XYZ 89 770.89 null]
->> endobj
-9642 0 obj <<
-/D [9639 0 R /XYZ 90 714.099 null]
->> endobj
-9643 0 obj <<
-/D [9639 0 R /XYZ 90 676.835 null]
->> endobj
-9644 0 obj <<
-/D [9639 0 R /XYZ 90 628.612 null]
->> endobj
-9645 0 obj <<
-/D [9639 0 R /XYZ 90 591.348 null]
->> endobj
-9646 0 obj <<
-/D [9639 0 R /XYZ 90 512.772 null]
->> endobj
-9647 0 obj <<
-/D [9639 0 R /XYZ 90 512.772 null]
->> endobj
-9648 0 obj <<
-/D [9639 0 R /XYZ 90 438.363 null]
->> endobj
-9649 0 obj <<
-/D [9639 0 R /XYZ 90 401.099 null]
->> endobj
-9650 0 obj <<
-/D [9639 0 R /XYZ 90 363.835 null]
->> endobj
-9652 0 obj <<
-/D [9639 0 R /XYZ 90 265.397 null]
->> endobj
-9653 0 obj <<
-/D [9639 0 R /XYZ 90 228.133 null]
->> endobj
-9654 0 obj <<
-/D [9639 0 R /XYZ 90 129.694 null]
->> endobj
-9638 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F23 364 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9662 0 obj <<
-/Length 1653      
-/Filter /FlateDecode
->>
-stream
-xڽXYs�6~ׯ�S*�D0N
�Ng���4M\7V��d84[�R$R��_��A�Th�x� X���
��6��o�����	JB�� �A�$B����9�|�i�&`a�H�)����������|���f�g>�8Eq�ogW�p���7F,���ݴ
8e�[���f�I]A��;	F�#�X����l3U��bI��5�Vu��Ҩt�Z�A8XR�O��_ݙVK�Fe��#-k-Y���u+u�[7�n������Y.�ߚ��%���j0�"
�ޞ�p�ջ������l����w[P0�l=�΋�
u� x��m�^,(hZ<l�Zg�[u�3�pzz��Ez��N��K�%�|�
�=�<B
⸄%B��':[�7@�axC��C�Ä�8�w�/��9�R�L�m�N6��CDC�
��u�ʼ��O�XR�Q
�`���u )Z�K���݂���%�j�чnv�s�E�D(�^�j����h�]X�#�Fj���ot�u�
��
ycC�+�NJ���LU:Q�&���ݫ�p����Ew潋ݼyhZ�}n&
��L{��>/ c�G�i���O�l+��ߞ�����^K��׻2����L`}&8�.8��*e�ӳ�Z/H<�M2��oߗ0�Gs���7]�<�����l�&��^$.S�u!���
-H�:$�ez�!w[lJ
�9	xB�c����N�^�l6��ͥI�{ÐM�������D�����7
��@E0E�H��
�9��~�K�%�
-a�Q��n��FaQ�m��g9��:8
�`d��ދ�w/�b���
��Q��%P�����\�����郔#T�(�	�(FXБ�g�Ύ���;��:�7*�xz�?�V]��j�>m1
�dl��}.m��Ns�Cv6�����5+�:�������
|�+c�ޠ%�s��/��)
-�F1�H�
��K l�@�ĥ*�j[�9�·�j7ndrΩkZ/}�{���͂+��PՅ��.����
+O5.���b��]ws蚞��I4�(F�|�	���0���$���1`�
��X�(�ƥ��,Wʠ0��E��묕��% ��
����]ڊ�(�
#PLz��y��1:�E�UULH�F�t��),�vLvh�%�wԪN��jR�	�Q]>}���4�mΓom��������1��P��/j%cf���c
�n\x��$����Xڊj�_@�eV�	���6n�BɱYm�{6� d7�s�l��Ɵδ
ﲔ �E4��l-d�+
��7�_;rښ���44��
����-�fout�*n�
���,m��u�1����K�$2t&�\S��SE�`y�l�dBF�Ɇ}I6"�!����Ԇn�]��z#�����
9؇i�`j�
-<�
�X6�,����8��N�I/e��1I
��=��Q
�񠤲h�ȃ�ƻ
���'.�h0ѷ��/��o��KP
�Gҏ���-q
��O[x�dM�Pj"��)"�1�v �ִ�S1�(<�Ѣ�5�$i!]�S
�|ĺT
�ǔ<B�=
��#��
-ٷ��c��M��b�|�݀ (�"��z�
c��?�R�M}>�ɇF�L�������uYjR�yGZw��`��^�x~)�Və�OЍ��نe�t
��ulӶ����~�Gy�v��5R�I]'_2�@
-����Ϥm�e���ŭ}��� �I#!h
-endstream
-endobj
-9661 0 obj <<
-/Type /Page
-/Contents 9662 0 R
-/Resources 9660 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9550 0 R
-/Annots [ 9658 0 R 9659 0 R ]
->> endobj
-9658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.609 332.033 464.741 363.001]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9663 0 obj <<
-/D [9661 0 R /XYZ 89 770.89 null]
->> endobj
-9664 0 obj <<
-/D [9661 0 R /XYZ 90 721.073 null]
->> endobj
-9665 0 obj <<
-/D [9661 0 R /XYZ 90 670.482 null]
->> endobj
-9655 0 obj <<
-/D [9661 0 R /XYZ 90 648.171 null]
->> endobj
-9666 0 obj <<
-/D [9661 0 R /XYZ 90 648.171 null]
->> endobj
-9667 0 obj <<
-/D [9661 0 R /XYZ 90 530.879 null]
->> endobj
-9514 0 obj <<
-/D [9661 0 R /XYZ 90 508.567 null]
->> endobj
-9668 0 obj <<
-/D [9661 0 R /XYZ 90 508.567 null]
->> endobj
-9656 0 obj <<
-/D [9661 0 R /XYZ 90 313.602 null]
->> endobj
-9669 0 obj <<
-/D [9661 0 R /XYZ 90 299.48 null]
->> endobj
-9657 0 obj <<
-/D [9661 0 R /XYZ 90 155.335 null]
->> endobj
-9670 0 obj <<
-/D [9661 0 R /XYZ 90 141.213 null]
->> endobj
-9660 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9687 0 obj <<
-/Length 1713      
-/Filter /FlateDecode
->>
-stream
-xڽX�n�F}�W�C)����I
�M$iZ�v��B�ȑE���%���wV��,�M�q�{�9w9#��:�y5��fv�2�N����ډ�z1��ʜ�.����
�1v/��IS&��9�n]�6<k��o��I���������<��fN"����u��
�c��"i[uz��\�P�𔐀Q�����7�_ofg��Q��(������;�~�`��ȹ�/��G

�z��
��I\� BTX�xś���%��.�f��ӾS'}�W�괪�E^�G�wo!y�KVOzu��s�w"���S"
x����WF.�(�H�
H�a♐���C�Ep�#�y�MOR�7����:@�`!����ا�_�|
Q��㕎V��W�泹T�6/�����uS���n���ƆO8�u��jֲ������Q�����a\�
`�؄w1_0�m����
\a"���tR��}��J?�fԳ,/y��uժ���y�}&sJ|�4]�c:'n�'E
��g���ܮV����~�����
>X�%DH�
-1�X�MPl®��!cJ�Qw�a��qexh��S0K"���ȴ�j��
��y(
-��S �x���Q�O����'E��UO�J
m����A=1�X&]�V��uS>
�d�� iiO����
Rqo�d�P@���
s�MR���v�~}D���}���$���ԩ]��h�W\~P$M.JZs�T�>)
-u�'��%~>C̏5~zIDkU;���d��lU�,�'a�G;���㫛c�%]^�
-�EfAyK4�Iu�����>u�mMC��b':R��@� D,��Y���غ5�m
Z�~>��9r��N�-�u]jXWEI�|�CUzdQ��J��[�>(��@��
��d1QɐY��o$R�k
�x�.�B0K��	L`VO�Tt
��^��A1T��w��'�b)�P[����Z0=�b�Ў�a��Mݟļ�C��=���u��M.$"���i>�~kn�����F �HyE�}j`�	v^�4MG13N:Q
`�g�
-�V�v�U_kr�F6!G<1��iU2��Q�a���ԁ���	t1AK
�n���@Q�NN�&����
������4���:k�b��
��*�E�ұ�e d ��Z״\��"O�j�vwۯr�e\׫T{�/�]�
�������L���Z�"eS�
Ѹ>O����
/�AT�Vwj�@/�@N�I�h�U=���L;x��n��QϜ��~�ϻ��
|�UR�
/WF6�쫴�R�+�է����8^�j1�m� [���LG�6"vZ@��giQW��f�Z Zm��{�
Q���+��MՎH��b݌U�~���S�����^z��vg�D�%�ILP�C��e<|
���W���G͐ �
ވ��`<!���Ϡ"(�i~I�L�g�C����z4��֔�S���a4f�o������T���y
-ZJ���#����Ss����G���s�a(۩
~(�@����'�+|��<��^�" ��d�
K��f��¶�gO���0#ӼFO�u�ȑ���L��L���/l�I����?$��?MJ9`���i����G��	��q4��Yɫ/��U�Z����Z1H}�(�wIe9�(ԴV�AJD՞s�@�]s���ǜ������_�ù��������
J[�W��Ayw����w�
-ߞ�$ʺ��l��r�����
"p��
-endstream
-endobj
-9686 0 obj <<
-/Type /Page
-/Contents 9687 0 R
-/Resources 9685 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9671 0 R 9672 0 R 9689 0 R 9673 0 R 9674 0 R 9675 0 R 9676 0 R 9677 0 R 9678 0 R 9679 0 R 9680 0 R 9681 0 R 9684 0 R ]
->> endobj
-9671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.216 418.647 345.645 429.551]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.227 418.647 513.996 429.551]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 407.668 151.33 417.596]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 352.89 218.955 362.818]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-9674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.43 271.276 281.617 282.18]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
->> endobj
-9675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.355 271.276 418.699 282.18]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
->> endobj
-9676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 191.012 208.246 201.542]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.216 191.012 239.787 201.542]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) >>
->> endobj
-9678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 152.243 215.994 162.774]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) >>
->> endobj
-9679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 113.475 178.996 124.005]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9c8e6971861ebe65aa043657a6a49d8) >>
->> endobj
-9680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.935 74.707 247.638 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.608 74.707 302.989 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) >>
->> endobj
-9684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9688 0 obj <<
-/D [9686 0 R /XYZ 89 770.89 null]
->> endobj
-1466 0 obj <<
-/D [9686 0 R /XYZ 90 505.592 null]
->> endobj
-310 0 obj <<
-/D [9686 0 R /XYZ 90 498.858 null]
->> endobj
-9690 0 obj <<
-/D [9686 0 R /XYZ 90 370.845 null]
->> endobj
-9691 0 obj <<
-/D [9686 0 R /XYZ 90 288.304 null]
->> endobj
-9692 0 obj <<
-/D [9686 0 R /XYZ 90 288.304 null]
->> endobj
-9693 0 obj <<
-/D [9686 0 R /XYZ 90 209.569 null]
->> endobj
-9694 0 obj <<
-/D [9686 0 R /XYZ 90 209.569 null]
->> endobj
-9695 0 obj <<
-/D [9686 0 R /XYZ 90 170.92 null]
->> endobj
-9696 0 obj <<
-/D [9686 0 R /XYZ 90 132.152 null]
->> endobj
-9504 0 obj <<
-/D [9686 0 R /XYZ 90 93.384 null]
->> endobj
-9685 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F11 442 0 R /F79 502 0 R /F23 364 0 R /F107 2329 0 R /F97 1185 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9727 0 obj <<
-/Length 1617      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�+�D.^��3�w�&��OIFC���)�GT��wA��H���q�6EX,��{kK
k�
~�&�&�ld�Ц
�ƚ�m�p�i�
���73,Dlf���x?}�~z+�
^M_^a�(:2-�
?c̓�o4��mi�bP�q��h��?�ԥ}U�ٚ�\�F������ B�
D�'Q*՘\���`�az�ov痃)C�A�A�B
!xW��(5�!�0f
�qd�b'����T�CG]�8�3?��]{bD����gw"Y�)�҇���}��\���cB(X�kc�%��
�zC��q�c<��'Y�jQ7�Ҭ
%�M�%���r����K��)�?{/U�:�����cV۞
�[{07i5�Ig^�b{R�OX��G���6S��$1,��#����j�� ���+9$q�(��n�L�]@_
���2�3҄Rdp�M�B��j��2�B]WN"��"����i�j��q}�-�hC1Aa=�c
#Az�\���"ݢ�p�d>�I]�	f7Ŏe�٭�������9f><t�89���d�U-c^�v�G���Ձ��#�кؖ�\�!n���X*IX�b�:w�
Ku\7=�r#N�Iq��##$�{"\��N�J�<?Qy��J
����Q�$�c����
�qL]eA#
-Z��a^��~㥙wy��.�2\�e���e$J���'�����}�lÈJ�ډ���6��
-&2(��0H�
��NE�8��+H
��,�
�(b?,H
��Έ����?��pu
-�gB�%,�֧W���c�n��2'|q{��u��z�.)���V'qgk[���S�ld�8��8�q;�A������ZX�
ʿ�.32D8;��IY_�X�k�N|GdX@
��֜R����������|s�l0{�
7(�r‹�@оԩ^;E
����.�1l �,�ӘqL 
�l�.
�q���Z��(3<���	%$��Krѧ(T�B�"My�k�F�ׅ�������o��(��4�~�b�28�M��d3K��	�Jg���s�h6�d�w5W�|�ϒEn��ԨD
�R?���5R�z��D��u�_�N�Q����8�3���	����#���?��Eߟ���� t"G��K��0��[�z C�f��Ō*�

N���td�! ��:�
B 5�@(1���d�'��Q�����*8�JdG�E��k��ܯ�>���mש���:�#��9��_���
���l�*9�0�8�^�T�.���wJ
.�j�j8W�6X��D�c+��Ǹ�Nl���<re>��<��.�M����D�����ѳ�}���Մl��uQ��w�ƶ8�����Շ�H$}s�1k��"S.��R�'sY��~�5[ E�W!���
8P$Z�)3�:q����[pc�GҐ�F���.6ߒ�_ūͮ'��!��kt���F���v�"��n�T�k�5���~�,�:�v0Ʉӧpk��7��-q�VѼ썆�����NxIy�֟'N��JE�,!J�|�D�W6�'ْ�'�ATn�,:nEE9�������\tWi���ڨwY���L��5rS�G�*A~6Y�����#�p�E�!���	<
�� j��
a�
-endstream
-endobj
-9726 0 obj <<
-/Type /Page
-/Contents 9727 0 R
-/Resources 9725 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9682 0 R 9683 0 R 9698 0 R 9699 0 R 9700 0 R 9701 0 R 9702 0 R 9703 0 R 9704 0 R 9705 0 R 9706 0 R 9707 0 R 9708 0 R 9709 0 R 9710 0 R 9711 0 R 9712 0 R 9713 0 R 9714 0 R 9715 0 R 9716 0 R 9717 0 R 9718 0 R 9719 0 R 9724 0 R ]
->> endobj
-9682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.935 684.117 249.281 694.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.251 684.117 305.729 694.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca) >>
->> endobj
-9698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 644.282 215.259 655.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.999 644.282 271.159 655.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
->> endobj
-9700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.076 604.821 385.359 615.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) >>
->> endobj
-9701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.076 565.36 377.758 576.264]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b) >>
->> endobj
-9702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 525.898 179.554 536.802]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 525.898 264.484 536.802]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) >>
->> endobj
-9704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 486.437 154.727 497.341]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8a5634a2b7dfa78c19c2fe626e790c89) >>
->> endobj
-9705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 446.976 181.845 457.88]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
->> endobj
-9706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 407.888 176.505 418.419]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) >>
->> endobj
-9707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 392.59 450.955 402.496]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
->> endobj
-9708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 357.095 220.22 367.998]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 357.095 317.355 367.998]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) >>
->> endobj
-9710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 317.633 220.22 328.537]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.719 317.633 331.582 328.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5) >>
->> endobj
-9712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.43 235.444 241.937 246.348]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.674 235.444 339.338 246.348]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
->> endobj
-9714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 153.629 179.743 164.16]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567241cd) >>
->> endobj
-9715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.08 153.629 262.213 164.16]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.794 179.743 124.698]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) >>
->> endobj
-9717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.08 113.794 272.913 124.698]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 74.333 192.565 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.535 74.333 244.33 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8) >>
->> endobj
-9724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9728 0 obj <<
-/D [9726 0 R /XYZ 89 770.89 null]
->> endobj
-9503 0 obj <<
-/D [9726 0 R /XYZ 90 703.14 null]
->> endobj
-9729 0 obj <<
-/D [9726 0 R /XYZ 90 624.218 null]
->> endobj
-9730 0 obj <<
-/D [9726 0 R /XYZ 90 584.756 null]
->> endobj
-9731 0 obj <<
-/D [9726 0 R /XYZ 90 545.295 null]
->> endobj
-9732 0 obj <<
-/D [9726 0 R /XYZ 90 466.373 null]
->> endobj
-9733 0 obj <<
-/D [9726 0 R /XYZ 90 426.911 null]
->> endobj
-9734 0 obj <<
-/D [9726 0 R /XYZ 90 376.491 null]
->> endobj
-9735 0 obj <<
-/D [9726 0 R /XYZ 90 337.03 null]
->> endobj
-9736 0 obj <<
-/D [9726 0 R /XYZ 90 252.819 null]
->> endobj
-9329 0 obj <<
-/D [9726 0 R /XYZ 90 252.819 null]
->> endobj
-9737 0 obj <<
-/D [9726 0 R /XYZ 90 172.533 null]
->> endobj
-9738 0 obj <<
-/D [9726 0 R /XYZ 90 172.533 null]
->> endobj
-9739 0 obj <<
-/D [9726 0 R /XYZ 90 133.191 null]
->> endobj
-9740 0 obj <<
-/D [9726 0 R /XYZ 90 93.73 null]
->> endobj
-9725 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F23 364 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9775 0 obj <<
-/Length 1873      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�V~ׯ�ɑf��s��i;Ӧq��ۗ$�`8�h@����B2r�f�'n�a/��~{�֭��ד��&ǧ
��Ե�n� [�
 Dž��z7%���`���3��Q������"{������*�
NN�ߜ�W3ϞV3�O9/>;���̢�V���+�<�����Nm��>\�����|�P[D)� Ϸ����l%p���
|�N
--,�28f���	�v�������N�v �[
!�e�o�U���ԡ,Ҽm�ES��K]��խ�����z'�Ϋ��L��/��RE�wy�ߪ���yܠ5�����q;a:��6���l�C�R��-��9��e���}��K��Լ	�u�w9X?��{����f�'6�p|
-Q[�C|0���H�1�=�m��ȴځ&�{<�^̏�
Kx
N<d�:염�Wq��F��(����s
\ż����ǝB���yrܕqJy:C�mk ����
-^G�aDX�eS-�Z[�2乭�鍮#y�Ýg�}�e=��P.5Ӽ��^^7ՌyPV�
����I��T����'P�ئ��
�!
-~k�<��O�	�6
-\?
)`�����|��ׯ�.� 02�e
sb��6#��3��:-r��v�6� �m@|`��ڀL��N�*�7���
-�R c��z-ܣ ̾�� P-
)���Y�F���~�걆6�{��R�nt�b��k|@����#����t K
����(���ٳ���3
BjY&Q��&��-����YG B,�����P�����d��
�K<5%Z�ψ3���ˣ,��(�!��uY�n .$(p
���`��Ӫ�
�y�$��W����Q��B���l�	/������:H�rلq=~�f��5R�:<� �ltW�H� |���z<5$6"}bx>�X�2�l0DH*���N�ƺC��2���ZZ�M^,��)^u�=?�^�0��ٍ9���m�
-
��Q�Ss���M�.��‹�����Z�-�H1��x<SQ`����7<�SxO ���E
���"𽄟l�>s�3���3�B������v�D檄(,��m�"�	4�P at WTS�쉙���{
/ۤ��H��O{u��'���%teQČ*2��5󈒤SOw��%��uqp�<8jK☰�t
⛼�U�
�\B�n{�����P3�Hb���B/sST��QQ�p���n�N�Gu��q��n����k]U�D{�wu�-Tl%���
�8�f�_c$�!O�Š�"
�Y����c��zӲl��&�/XCīn���0ɣ�Z�@�n]�۪.�G&Y�\@�ɸ)*�kұ�a�A���� ����j�gz�P����
]Ft;Q���P�#�<D1]gN�
|qW1
�)>��!t�u� �m7،�!c5��C�j�Yu�'잸
���K)�ۉ��m
f3p�"�MԘ�z.+��f��ŵ鐧�<n �u�ɭ�f6���$
��PM-�<	ebn����-���U7���y�q��2� �}rPb�H
C�u��Fs��&7:f0��͹�'��@j�1[?_3�u�. [...]
-D!��˖�)�>Z��W�/�ї@��g͛�<9>���Cq��yZV(m��2;�ld�U�L�hA
�EQq�:�\:����ϯ�M
-endstream
-endobj
-9774 0 obj <<
-/Type /Page
-/Contents 9775 0 R
-/Resources 9773 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9720 0 R 9721 0 R 9722 0 R 9723 0 R 9742 0 R 9743 0 R 9744 0 R 9745 0 R 9746 0 R 9747 0 R 9748 0 R 9749 0 R 9750 0 R 9751 0 R 9752 0 R 9753 0 R 9781 0 R 9754 0 R 9755 0 R 9756 0 R 9757 0 R 9758 0 R 9759 0 R 9760 0 R 9761 0 R 9762 0 R 9763 0 R 9764 0 R 9765 0 R 9766 0 R 9772 0 R ]
->> endobj
-9720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.505 708.28 266.4 718.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.418 681.923 205.107 692.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091) >>
->> endobj
-9722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.445 681.923 287.577 692.453]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.529 664.431 259.424 674.336]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 637.7 234.079 648.604]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) >>
->> endobj
-9743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.416 637.7 316.549 648.604]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 593.85 220.779 604.754]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.749 593.85 255.638 604.754]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020) >>
->> endobj
-9746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 550.001 176.854 560.905]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) >>
->> endobj
-9747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.191 550.001 287.538 560.905]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.883 506.152 233.188 517.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
->> endobj
-9749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.99 506.152 324.123 517.056]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.608 506.152 425.252 517.056]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 494.196 179.554 505.1]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.433 494.196 394.097 505.1]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
->> endobj
-9753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [466.634 494.196 513.996 505.1]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 482.241 128.635 493.145]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.923 438.392 207.756 449.296]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.746 438.392 237.62 449.296]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a5f0557451b4e3556d65bb5bb703e9b46) >>
->> endobj
-9756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.978 438.392 319.111 449.296]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.344 426.437 236.121 437.341]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.123 426.437 343.766 437.341]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 382.587 194.567 393.491]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad130cf335514a1939a5d63e56a774c05) >>
->> endobj
-9760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.2 382.587 340.977 393.491]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-9761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 338.738 190.503 349.642]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) >>
->> endobj
-9762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.745 294.889 203.471 305.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7b1088e26353bd6fa17d49bd9226a4b5) >>
->> endobj
-9763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.788 282.933 209.431 293.837]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 190.432 227.503 201.336]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a51de11008f96ecfc0debcd83b616a3d0) >>
->> endobj
-9765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 146.583 240.982 157.487]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a87dfbdd33330c1f2f7d43582fd060ba7) >>
->> endobj
-9766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 102.734 240.982 113.638]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab7331f9317fd2f4cf0c2c7bd066eee90) >>
->> endobj
-9772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9776 0 obj <<
-/D [9774 0 R /XYZ 89 770.89 null]
->> endobj
-9777 0 obj <<
-/D [9774 0 R /XYZ 90 703.14 null]
->> endobj
-9778 0 obj <<
-/D [9774 0 R /XYZ 90 659.291 null]
->> endobj
-9779 0 obj <<
-/D [9774 0 R /XYZ 90 615.441 null]
->> endobj
-9780 0 obj <<
-/D [9774 0 R /XYZ 90 571.592 null]
->> endobj
-9782 0 obj <<
-/D [9774 0 R /XYZ 90 404.178 null]
->> endobj
-9783 0 obj <<
-/D [9774 0 R /XYZ 90 360.329 null]
->> endobj
-9784 0 obj <<
-/D [9774 0 R /XYZ 90 211.904 null]
->> endobj
-9785 0 obj <<
-/D [9774 0 R /XYZ 90 211.904 null]
->> endobj
-9786 0 obj <<
-/D [9774 0 R /XYZ 90 124.324 null]
->> endobj
-9773 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F23 364 0 R /F97 1185 0 R /F107 2329 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9800 0 obj <<
-/Length 1668      
-/Filter /FlateDecode
->>
-stream
-xڵXMs�6��W�J3� ?���&q�i㸱zr2��
�ɀT��w�E�%[is"����۷�ν��_F?/F�� ;�|�wwN���F���k�܎)'o
��|�J
�|w�x}���s�׋���)�m�� t����#v�0���ȋBg�m
�z�̜��#|�B!z�k1!ḨyR��d�2<��k��&.
ok^)g���%�[����:S�C!����e�o��)�x�yU�	y$qo��^-�_�z���*�ޮp���a�|�ؠ}��;b��m�h��ϊ��ƻ��eg���9!��41
\Dq���_谕E��\�ua���S�<�l|xn��X�����]����vZ鷼X�	ac��Y:ᘺ.�
O���/�{œ�J�|y%=:�C
=��XƂ��y$#�g�P��b�c����Nn<�$8hm�($Q�`�˨��"�v�ʣZ���%��
=7��f�~Kwwa�	����At�"�@kb�[��!�DEd wq� �|)1(bH��桪{�r�I�YuRly�q���ϊ$6���/
T�
�
o��P�ҕ�P�Gw!���&i�-��
B���៷<O��B�
��H�]�j
�ĕˮ��uXI�1��+ā���Ci!��pz-s�E�uJ)��H���gq�1/�yR+gT!ur�u�HhK��+h���⺩��[���u3�ᛕ�ѝ�
�)���Ó�ӌ^���� H�؀��i~/J.��i���
{���_�8)���A2<�JQ=o���g1��Xp~�x̢g_�u�CD!�4�B�ݶ.���K�a��O�
���{
Y�Vf�
k����"(�x��B��4͐��?
ˮ�`�5�Ldw��W���̺��W�HKu�G�}!�jAo��\9��"_ [zf
5�C�)#
Ёl7rP?��ǫ�2oIWfV�~g�}ud�U����؅M�V��*0����_H�'�
1SO���L�X�c��fQȸŦ/׊�t�;�BFh�#�Gk.R�U�H����*�hc8-����a��J'�WM���hV��ص+1C������1�?�ߌDzu� �r�"�Ԍ��G��qMżm�m�z�d�XŶ~�c
5ŧ	���G
?ӏk	�Xlbh�p�"{���"^��� |>׼б��n��[zH�l�ѡ�@�w �p�T���4��s��Y��$1
��}�J]�A�7
�ފ��4��ԡ����
�(�L��ڼs�pA�(b�E�� ��Pwf"��ZH$��E�>(郎-g���|�&
-mԗ
�k;�=��%�_�+8�
���T!��T ���JQ��@=fe���ʽN���C����6�ff<���/)�dY���jث��LBTQ\����(��
�YSh__��h>��P�Z����Hi�j9$���cR
-6p��0�[�6m�W�}
u�$�	�|��F� /���������i�,CD��

0�P-FzR�_�!����^��o��?+
:%�u��*(�Y~�/�	�4��:�
`��	��]�MS��
�|�dO�N��[�G4����$ϲ(����l�����A���g����&o�|k۱Ĵ�t�jF /Wf�(�nۧ>�ߎ}�m�b�r:������꺜�f��%��i)PZ��2�

-��m�1���M!Q��)��/��R$
-endstream
-endobj
-9799 0 obj <<
-/Type /Page
-/Contents 9800 0 R
-/Resources 9798 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9771 0 R 9789 0 R 9790 0 R 9791 0 R 9792 0 R 9793 0 R 9794 0 R 9795 0 R 9796 0 R 9797 0 R ]
->> endobj
-9767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 685.079 192.565 695.007]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.535 685.079 232.156 695.007]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) >>
->> endobj
-9769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.364 668.662 237.259 678.567]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 643.608 220.779 654.512]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.749 643.608 260.619 654.512]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2) >>
->> endobj
-9789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 603.114 191.737 614.018]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.236 603.114 242.377 614.018]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba) >>
->> endobj
-9791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 562.619 240.255 573.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
->> endobj
-9792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.753 562.619 324.637 573.523]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) >>
->> endobj
-9793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 450.723 226.034 461.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) >>
->> endobj
-9794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.157 450.723 391.99 461.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
->> endobj
-9795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 327.589 197.257 337.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
->> endobj
-9796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 306.024 195.613 316.21]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
->> endobj
-9797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9801 0 obj <<
-/D [9799 0 R /XYZ 89 770.89 null]
->> endobj
-9802 0 obj <<
-/D [9799 0 R /XYZ 90 703.897 null]
->> endobj
-9803 0 obj <<
-/D [9799 0 R /XYZ 90 703.897 null]
->> endobj
-9804 0 obj <<
-/D [9799 0 R /XYZ 90 663.522 null]
->> endobj
-9805 0 obj <<
-/D [9799 0 R /XYZ 90 623.027 null]
->> endobj
-9806 0 obj <<
-/D [9799 0 R /XYZ 90 582.532 null]
->> endobj
-9807 0 obj <<
-/D [9799 0 R /XYZ 90 497.796 null]
->> endobj
-9808 0 obj <<
-/D [9799 0 R /XYZ 90 410.738 null]
->> endobj
-9809 0 obj <<
-/D [9799 0 R /XYZ 90 290.604 null]
->> endobj
-9513 0 obj <<
-/D [9799 0 R /XYZ 90 267.206 null]
->> endobj
-9810 0 obj <<
-/D [9799 0 R /XYZ 90 267.206 null]
->> endobj
-9741 0 obj <<
-/D [9799 0 R /XYZ 265.271 165.824 null]
->> endobj
-9811 0 obj <<
-/D [9799 0 R /XYZ 90 147.252 null]
->> endobj
-9798 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F11 442 0 R /F104 2226 0 R /F72 400 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9822 0 obj <<
-/Length 1832      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ�E3�z/,���M�LҦ��n��d4�
�Ŏ�}ϲ
�d��S�O�{��9�"��9�y���zq�*��Dҧ�s}�H��D܇�����<�\��{�$�
�m��\R����F�e��%�)���������zxn�$�Uj�k
��r�Hê2��խ2
���3�zX.?]�]��^�� `
v�1��@8�v��vbx����I�<����G������~��	�0���x�bi|�~�[U��j͘
-:�!�}��3#f�����z���hW^olT�.��\Wu��-��]1+�#�K�Xe�1݌�>O��ۼɬ����aa��Yk�$z+�&`�9�ޠDE̖�}R�M��@��:�y�;��
-��h�8�պoR6F�G�q�gU��`��$9�ya���
�m�+����qk
׀ �I�")f|'�vkΖ+���8٪��h���B͊Hz�ۦ�@�ea���0Rk�>�I��|���409	�G�iY��Beq�ݭې�abJf�#�(��9�]d(��7���ߍ�~1U�|D{ד
J}
U3j��D ��c))�M��_������dJ*�Q(F𞨇�Iփ�t���7P#��ʇ��k�*����/�R�+[���� 
aA @`\`t�M
-�m�c��]&��ɶHՒp��]��n�
-�k.�Si�	�'���1�1���5����N_�#8
�N$��2�Nf�
 坝�_/��'��C��u~�d�8
TC��a�7�
q]�Nk�2�V
C����#!'mWr7k�70�����o��械��7�K����
�xfᠺ�{�M
Di���Nt;X�
�
-��?�I�t����D���Xb
���`5 @�M�t�̍�Ufo��B�cO�|����q��]W�F�UƱ��e�ʀS
-��%q�3=X���I��ݗ�(�M�)�apL�l*s��B ��I��W����:}�H$�v�C�N�٥�ӄ~��3���'�4�F�o0�i�D�Q�J��$R��݁fT���A `�Laf9��qut
p��j�oO�����a8���*OM�
7
w�v�	֢�۴�c[u������:�z���~�+�����G���s�V&����ݵE�5��
͗�M๬��Ӗ~*c�0�
>�%�	�H=H��'PF6�5�7y��	�1�c�
ߨ�����u#�0J7�&ь>	<JL�u<
-
y���A�NÓ�aE`�bVQ['ޤ�Ͱ8�B�W#u�7BAz|H�ip%p���1q�!�
H��T<'�Β
�>M�Su���9
�>{�{�అ8�}&�JC
-��Kka��,4<���٤�ZRzfY)���[
�?z��3��3KU����WuS��ѹ1�G��Q�y��\�Cy7kl㶎��+l�m����q�:�(C,���Y�}Z<��d�����Ic]��T]Z�J��>T�e�ɛ46�zx�j��E��S��$M�G��-$6*��~8�E�4Hh�қ��/>a���$x�
��&���F)��m
[�=���_}j��9���ά�$��m�if�Ꭾ
�Ƭ}�y�	s���ti
�
�zκt�NYf
4��]+�箹��S��F�9���	�3�Yﵟ�99΄1޵op��39��ǃ ��Q��J���&̜�������m׮cu�Q����^
?��Y��#`J��x$�
	��/�܇�S�̷_�!��)`��� L�K1Ii�1��%s�{��!�ޅY�nʠ�9F�<5	���+�ym<��tW?/�O
-;{� ބ����..��

PT�&K�%�yQ���u<�B<8�tB����e_��p��?��?2�a
-endstream
-endobj
-9821 0 obj <<
-/Type /Page
-/Contents 9822 0 R
-/Resources 9820 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9813 0 R 9814 0 R 9815 0 R 9825 0 R 9816 0 R 9817 0 R 9818 0 R 9827 0 R 9819 0 R ]
->> endobj
-9813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 517.375 197.546 546.44]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.611 406.157 352.396 417.06]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
->> endobj
-9815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.227 406.157 513.996 417.06]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
->> endobj
-9825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 395.178 152.973 405.105]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
->> endobj
-9816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 200.87 197.546 229.936]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
->> endobj
-9817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.611 86.288 352.396 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab7bee7241acd10a165a5dcaaa15d40e4) >>
->> endobj
-9818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.227 86.288 513.996 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a06d16b96542481b3a4d2de4ebed025bd) >>
->> endobj
-9827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 75.309 152.973 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a06d16b96542481b3a4d2de4ebed025bd) >>
->> endobj
-9819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9823 0 obj <<
-/D [9821 0 R /XYZ 89 770.89 null]
->> endobj
-9330 0 obj <<
-/D [9821 0 R /XYZ 90 672.295 null]
->> endobj
-9824 0 obj <<
-/D [9821 0 R /XYZ 90 658.004 null]
->> endobj
-9331 0 obj <<
-/D [9821 0 R /XYZ 90 396.174 null]
->> endobj
-9826 0 obj <<
-/D [9821 0 R /XYZ 90 381.883 null]
->> endobj
-9787 0 obj <<
-/D [9821 0 R /XYZ 90 76.306 null]
->> endobj
-9820 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F104 2226 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9835 0 obj <<
-/Length 1975      
-/Filter /FlateDecode
->>
-stream
-xڭXYo�F~ׯ P���h�O�(�
.z$qc��
�\[��
-IUq}g/^�����ݹ�b����O�����e���
�ݝc'�b��ʜ�#x�q��Â�8�[j���w�7�v�����n�yE�v�&�0r�bu�;l��`���9�C��Q�ܹ^���O�B"D�$a����`�ݿD�
�|������&حD&W�{%WIS$��5������&��&n��y�n�~���֡�6k����U�n�F�ݾ3�����m�m�Uk>$�������	텈�v<�}-y�N�c(
-}k���b�X����"����
��x�-��”��U�vR��U�(c�É�(��b)|���Hgz��mU�
d(F1	�Α�M�hL8{��Z��L{���/<�@��ԇ;
,[����K|64
- μ���Ę6m�O�N�]`�3D�ز�H!`e�F����
7uSu�������U?�H�nL���(b&;�d���gU��$k���۽@݁kb]��[S���~������!��flA�
��%I(���g�B�
3�o���F�7 �<c
��I�;޴���Y|AR��E�td�э��"�ꝵVu��c��$  ����M�ِ �����>Ǜ����yRT��0�$����FCT��ϳ�!�
��q�aq(��7��@�%�_T��
)�}�
�sQ��㧃HzpZ�@������6���OOɊ��c��4��>>��}cF��V��5D*#�Ng?�Ցk��'�ܗ����Q�Kj���f	�K{����
�5j�@
����-+����$$D�B��I(z��H�h���;�x���I42J-�0
-�ב�r�VM�ۺ*3�u���ĭ�kbNM5�;����!1�N*�[C
RP��\hЂH�#�B"e��~S�7y���zk��Ȃ�� �.�|
)��2�
ӕn��{�}�i����Pb�o����ʏ2}Uc2�k4�fʞ�=�e�W�y*�s��B���C��>-0}Z+�(�%�YPo��EK��z�"��>=��&(��6��E����L���bD"�W�����}e_��C�ēR�Jjb��t� $����������E�+vm� A+3&�A�sCPo\6"6>�L)w=��(��5�m�p������/��=�i\�O����֟���jDw(�R
��XS5�V�&%���B����E/
�ؽ�I+�,z�5��W�
���2>lh]c7���AA��M�#U5^�yɛd u�2}|Yě�g�iI��*7S�G������ɗ;(��W'#3�x�^f�֏�i�>�<�{��c�M`��J��m%���t�̟�G�O����0�\��{-ʹ8u�" [...]
-����7KF��`��%�����(�������f>�
-Q8�
Є� 
-��
��C�j$3����Bt�-�4��|�y��3
&�!�)�Ux��|-��B�&�� ��a�����7�6�c)%xj���Q��b������?��'�K!$��zp 
 ۷?�H�g�քzi����n
㬁��Iy�C���z�m�>0 �z�QE��V_��ɱo��T������
u��u����t:��E�R�
����c3�� L�=�
΋�v8���b�8���؍
-endstream
-endobj
-9834 0 obj <<
-/Type /Page
-/Contents 9835 0 R
-/Resources 9833 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9697 0 R
-/Annots [ 9828 0 R 9829 0 R 9838 0 R 9830 0 R 9832 0 R ]
->> endobj
-9828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.18 483.566 357.965 494.47]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) >>
->> endobj
-9829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.227 483.566 513.996 494.47]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
->> endobj
-9838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 472.587 152.973 482.515]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) >>
->> endobj
-9830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 74.333 384.733 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-9832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9836 0 obj <<
-/D [9834 0 R /XYZ 89 770.89 null]
->> endobj
-9837 0 obj <<
-/D [9834 0 R /XYZ 90 721.073 null]
->> endobj
-9788 0 obj <<
-/D [9834 0 R /XYZ 90 473.583 null]
->> endobj
-9839 0 obj <<
-/D [9834 0 R /XYZ 90 457.082 null]
->> endobj
-9840 0 obj <<
-/D [9834 0 R /XYZ 90 326.131 null]
->> endobj
-9812 0 obj <<
-/D [9834 0 R /XYZ 90 303.433 null]
->> endobj
-9841 0 obj <<
-/D [9834 0 R /XYZ 90 303.433 null]
->> endobj
-529 0 obj <<
-/D [9834 0 R /XYZ 90 176.551 null]
->> endobj
-314 0 obj <<
-/D [9834 0 R /XYZ 90 168.878 null]
->> endobj
-9833 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F11 442 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F21 2356 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9881 0 obj <<
-/Length 1978      
-/Filter /FlateDecode
->>
-stream
-x��ZYo�F~���+�z�KI��uҴI���$�@S�͖WyDտ��A��i�v�$@Q�����|sQظ4��������dž�\���bm��ঋ,~�����iOgc<�O	�xy�-�S�'i��
-V��|
^�^�=>V�ä,�Rӈ%� ��??
� ��e�Q�^OIG
؟2�����.��pd�ͷ��9����Ψ�'��K'A�E^�;g�:ȧę���C��$D0=8]
�s@�
6�R���c����?����?1�16�(6L��;2�~9��Z'���1��(�8o����/��/�4)�05����>��L�3J���}���,1��,0�Ge��~&�_�ӝI*��W�a�\Uq��C<��-
�$�A��C�����Rڦ4E�I����L��{
���K�*+�����ȱ+�����\ۻ���<Xz�����ɫW�2�2>	2�UI�	��g�Z�n��:���0f=���NMS^�E�h� �4�P��n0�L �`f�D��g1�TsZ�y��JA��2x�69�)�2��#
M�gg⸈��<���
��#�w.�(�t
-� p� :e�ۤ!��Q��9FTE�\�p#ڼ�0͂�+Ӽ>���!�K1O���HLĘuO��b쎃�E�Fc`��j�a���
�a/u�L��Դ&i��
�
�S�<p�oӛd�\�"SB�*?X�;���]��E��j�� �N_?�����^�0l#���53fC��	�#��Қ�R��|��Z��Q��U�=�q�Fp�W���
��o�����XWѓ�c8��Y�^T�rv�/v0,��|%�n�Q�CqN�j��
��t"��W>�{��b�dy�̛�^Ȝ7�q:�V�2�BТ�Wo�G�\
$8���fA/����
Y�
?�ٻ�|���e��,O� ����ц�JUײ����ճ_߾�����tl��XF8F"f�N�yF+]
x�J��Ź�J�f�����J�r���H�2�[���S�ݱ��z�k�c�A��o��8�K���N?A6���vj[�g!�� h�����ۥj�z��
�g߽}��	��'i8��������>ō~�#t�uM�m[Ս������8r9]X��YGͺϔ�
z�
��`Mw��p���4Պ }������ф6С���Ǟ�gt04'���1�
㊂�v~{�=�6"�_�N����j�t�@R%�ސ`�ɭ@�(;
-��7� �:�lB�*�D(�&�MMht at k��
�Uއ|��0�M��4�P+�ʮZ�]	��E��u�o8���/1��>L��i%����Y;�%E�i-�3bJ#J�D?
�*����>Ez�Ɯ��R��08�L�dg��S:��GbB)��9��!J�Y�;*� �\ ���Ћ���,���r��*0�P��aw(¸��y(U(�p�@y�����lĹ5s�W�Y�

����3��H�/
U��O2Ђ2�ם�H
r
j���w��$��r��6�uo����
-���0���E�����+-b�a&Z�H��aJ=�Q
�ʰ(���!��+O�
�v��L
�o{��V
�Z�߻�p]�<.�c�-y�ty�- x��:��62 C�%ۂ+��MX^u��Z	Kt�*fE{�K)��+��I��Xw�I
�xV��

|�[�MK6� D�"���+�^e�i.��^����1��uS
���\F����d(d��.��=�g�2
�Ro�~�ΈCּjWAc��t)���W{�
Y���5pZ�]o�K�(-dv�˕���%_���1��;&��};d|�h����I��4����dy�A%���vg_:O��������hh�ܖe����aJ�&=8�/A	]#��� �
�fc�} �u V�E
::���#��:+�6*ւ��?��=ԏ_� �F�@��}�%���+p�f�� �
-��W�A=�V'�ۨ�~��-y	46l7b�*����h�� �@Uf9
-ˣ,���w�-.��]ɵ��q��hn���5�� ���
-endstream
-endobj
-9880 0 obj <<
-/Type /Page
-/Contents 9881 0 R
-/Resources 9879 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 9831 0 R 9842 0 R 9843 0 R 9844 0 R 9845 0 R 9846 0 R 9847 0 R 9848 0 R 9849 0 R 9850 0 R 9851 0 R 9852 0 R 9853 0 R 9854 0 R 9855 0 R 9856 0 R 9857 0 R 9858 0 R 9859 0 R 9860 0 R 9861 0 R 9862 0 R 9863 0 R 9864 0 R 9865 0 R 9866 0 R 9867 0 R 9868 0 R 9869 0 R 9870 0 R 9871 0 R 9872 0 R 9873 0 R 9874 0 R 9878 0 R ]
->> endobj
-9831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 685.047 181.845 695.951]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) >>
->> endobj
-9842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 645.854 181.845 656.758]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
->> endobj
-9843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 606.661 154.727 617.565]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) >>
->> endobj
-9844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 567.842 176.505 578.372]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99) >>
->> endobj
-9845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 552.678 450.955 562.583]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
->> endobj
-9846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 480.255 200.451 491.159]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) >>
->> endobj
-9847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.2 480.255 292.843 491.159]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.607 480.255 513.996 491.159]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-9849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.341 455.587 358.056 465.492]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 433.262 200.451 444.165]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) >>
->> endobj
-9851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.18 433.262 316.536 444.165]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.165 433.262 424.631 444.165]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 374.313 200.451 385.217]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab9f1d84ccf75cdd4871b4a4b1ff28325) >>
->> endobj
-9854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.868 374.313 303.224 385.217]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.821 374.313 431.287 385.217]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 315.364 200.451 326.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3c28caf6c53b59565d9fe51ad448cbd1) >>
->> endobj
-9857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.975 315.364 338.396 326.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-9858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 315.364 513.996 326.268]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.486 289.7 244.201 299.605]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 255.419 200.451 266.323]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) >>
->> endobj
-9861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 255.419 305.615 266.323]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-9862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.796 241.71 243.512 251.615]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 218.388 200.451 229.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) >>
->> endobj
-9864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 218.388 312.241 229.292]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-9865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.796 204.679 243.512 214.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 181.357 200.451 192.261]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91) >>
->> endobj
-9867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.054 181.357 304.611 192.261]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-9868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.228 181.357 422.694 192.261]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 134.363 200.451 145.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f) >>
->> endobj
-9870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.574 134.363 313.516 145.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-9871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.968 134.363 425.434 145.267]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 87.369 200.451 98.273]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) >>
->> endobj
-9873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.788 87.369 248.042 98.273]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-9874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.173 87.369 344.639 98.273]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9882 0 obj <<
-/D [9880 0 R /XYZ 89 770.89 null]
->> endobj
-9883 0 obj <<
-/D [9880 0 R /XYZ 90 704.19 null]
->> endobj
-9884 0 obj <<
-/D [9880 0 R /XYZ 90 704.19 null]
->> endobj
-9885 0 obj <<
-/D [9880 0 R /XYZ 90 665.116 null]
->> endobj
-9886 0 obj <<
-/D [9880 0 R /XYZ 90 625.924 null]
->> endobj
-9887 0 obj <<
-/D [9880 0 R /XYZ 90 586.731 null]
->> endobj
-9888 0 obj <<
-/D [9880 0 R /XYZ 90 344.504 null]
->> endobj
-9889 0 obj <<
-/D [9880 0 R /XYZ 90 272.604 null]
->> endobj
-9890 0 obj <<
-/D [9880 0 R /XYZ 90 235.573 null]
->> endobj
-9879 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9934 0 obj <<
-/Length 1604      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�6}���S&5C�")ۀ%M�vI�5ް�-
�Vm��Ir���R�d���zM�I_���=��KR�Ƶ��ם�~����D�[��_–�q�M�X�����"�C�������y�R=��;w<�)
0$
c4�|���1�~k`D�c��&�mQ8�e��־�;�>2^��8X#�£O��ro�~y'���Dur�͝��̛ā�y���+���Yٶ,�P�hX�9U �Y�����,���
-�T"Ƕ��?iU��k
�����9B=B�dz��f��
.����;/��Ƙ��=jK�fx�i��e�ٻQ�^G�
.o��[�
!��
��(�a���,����DÈ���D���(}�2 a����u	3��l68�4]�Q�ݏ?��rV�,�!�N3����.NO�x�� �$
���	��
�
��XH��r4��qZ��-q	`
x]�M`�(��'W�K��$�2����h�h�J��Qʲ�	
	r
�Y5u�pƶQ
g�<z��\E��V����M.@&N�V�(<�q�`[	F�b�`�d��R0|/��Lq���Hބ���*CX��Tr�U.�"&Y�����Vr��<��[�A�4���s�u�H.�fݻ�@P56�f�`ݷ	J���jE��o�iAE���yT�I�(GX���a�?�&Cxon��4
e>0���n\��˨8�G��Y4��fe3-�����d�/�xVvd�lV(�L=K
-_	8��
�/L�끒��>y*�ݑ7�z.�C5Qbʡί�jE��V0$G���˦�<�:X�7 ���z�,Ҹ���^8
-���uy¢N9�A��R-�0�E3Yoe������O�6�a�H%�
6��Q�gn��*x�W*��x���G�U�8��`}�V#����l�u at Z��*�W�dꭊT^�B�Z�M:£��9��ӗ����H��"����k�n�f!A�=�;
}%�[UbUx��@W�#�b
y�A����
t���o�
0��?-`
Q]�#7f����F�(��B���Zi<�pe�'0;b_$�<v�.�A�|��@@�7�a�uFd���0���'���v`
��ʵ���
�a�m,�%����Z,
��h��
��|ձ��X5<�}	�j���Xk������6�f+��}��4+�ݱ�Ȃ�bp�vώ<%^�<�x��#�`�l��S�
����t
�k���w	!�R�
+�PlY%��<!�S����� �E��+�!�޸�^q%R��
S��JyyL�4p���C����u
-�t���}�x麭��b72~���`T�_�6�'��Uҵ�	����|�z뵑RB

��\ �{�%�^P�s����tTX�m��t�2Z{�QQ��ޟ��,eCJ���Ll��jTѯkc�����ȫ6�G��Ye0�ƃ���ƒ,,�_t�
e��7��G��<X�I���a
�����S���u�);���Lj���_hTUO&�C�E�n�q�/O�a�&ZF��^�]�1S���
���
-�r_���d��"�
d�K�$I1������/��ӎ@W
��,��?<���C�MC?N��
�qp���f��HTF��m�I�T�nN\��
-��/�1�
-endstream
-endobj
-9933 0 obj <<
-/Type /Page
-/Contents 9934 0 R
-/Resources 9932 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 9875 0 R 9876 0 R 9877 0 R 9898 0 R 9899 0 R 9900 0 R 9901 0 R 9902 0 R 9903 0 R 9904 0 R 9905 0 R 9906 0 R 9907 0 R 9908 0 R 9909 0 R 9910 0 R 9911 0 R 9912 0 R 9913 0 R 9914 0 R 9915 0 R 9916 0 R 9917 0 R 9918 0 R 9919 0 R 9920 0 R 9921 0 R 9922 0 R 9923 0 R 9924 0 R 9925 0 R 9931 0 R ]
->> endobj
-9875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.077 200.451 695.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afe0167a0ee971c067b50d643ae6c7189) >>
->> endobj
-9876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.761 685.077 302.03 695.981]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
->> endobj
-9877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.874 685.077 430.34 695.981]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 626.364 200.451 637.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af9a9dc6ee0a1a214d8d7bbf4ef0d9c67) >>
->> endobj
-9899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.866 626.364 281.026 637.268]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
->> endobj
-9900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.822 626.364 427.288 637.268]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 567.652 200.451 578.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6e44f3d4115b10d2b7365390182c4714) >>
->> endobj
-9902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.088 567.652 254.688 578.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-9903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.084 567.652 299.811 578.556]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-9904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.711 567.652 427.177 578.556]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-9905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 482.585 190.738 493.489]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 482.585 261.85 493.489]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95) >>
->> endobj
-9907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 445.858 190.738 456.762]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-9908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 445.858 262.159 456.762]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899) >>
->> endobj
-9909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 409.131 183.824 420.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10) >>
->> endobj
-9910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 372.778 192.272 383.308]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9) >>
->> endobj
-9911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 335.677 241.935 346.581]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) >>
->> endobj
-9912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 299.324 193.229 309.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088) >>
->> endobj
-9913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 262.223 213.163 273.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) >>
->> endobj
-9914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 262.223 315.857 273.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 227.795 189.901 238.325]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107) >>
->> endobj
-9916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 191.068 187.689 201.598]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8) >>
->> endobj
-9917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 191.068 226.693 201.598]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 155.892 228.895 166.796]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) >>
->> endobj
-9919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 155.892 333.482 166.796]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 121.09 229.503 131.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1) >>
->> endobj
-9921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 121.09 334.089 131.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 86.288 187.264 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) >>
->> endobj
-9923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 86.288 293.213 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 86.288 371.148 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 86.288 455.727 97.192]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9935 0 obj <<
-/D [9933 0 R /XYZ 89 770.89 null]
->> endobj
-9936 0 obj <<
-/D [9933 0 R /XYZ 90 497.63 null]
->> endobj
-9937 0 obj <<
-/D [9933 0 R /XYZ 90 462.925 null]
->> endobj
-9938 0 obj <<
-/D [9933 0 R /XYZ 90 426.198 null]
->> endobj
-9939 0 obj <<
-/D [9933 0 R /XYZ 90 389.471 null]
->> endobj
-9940 0 obj <<
-/D [9933 0 R /XYZ 90 352.744 null]
->> endobj
-9941 0 obj <<
-/D [9933 0 R /XYZ 90 316.017 null]
->> endobj
-9942 0 obj <<
-/D [9933 0 R /XYZ 90 244.488 null]
->> endobj
-9932 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F11 442 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9988 0 obj <<
-/Length 1994      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��R35�A�N�$�Iک���4��)�bÇBRV�_��"M=b�q��"� �]�~�� v�
�<�������Dҧ�s1u$v�'��n�s	F�?:!c�|D�i8>Q���j�&E8�=�,�b��i���T��_Y�F�/^�� dMey\�*��_L��> �2��8��bh
�<����aΒ�,G'�c�b$���yVʴ�QSU�H�,�&P�z��A��_
}<"0
v�1G"p����{�L��������;��G�'�ۣ����z��xA:��{��
�
��3��~��E��frR��f �S�����X�2$���Oa���a61y���<2��2� q������
(�!�"�Y\�֣4B��2�ju��m>E����O�bo!��"�(;�i1򸛧V�e��k���8��d(`�!l@'-�2}-�Ve9����L��0&���!�$��(,-Z���(`	&���Դ\���>�-ڣ<�/*5A5�7�����b�R�{�	��ggO)�
�;���y��v
#ŕ
�7ua����4���o3"��
GyVVۇ�=�TX����UY�yv{��=Vڊ
o
���Y��#ʵOi��
L<ζ���I��&�w�Fc1���k?��97V>���H��n}�2U�U^���W`U���ƶ}���@�<�ݏ��������*�\.gʼ70�%��[���d
��%��
-
����!��'� t�Gg�t(�^tC�C�/
z4؃�@��8�n��=G�f$M����t���H�
-��`Bc]B÷	
o!4�
��X�k� ��M��{�-!	

�$_� 3���Jf�N.�3
�o��z��;Q�wPI=��
��"l�
-�kPD
-��
��W*OUU�Q�$�q�k����*ʡ(ރu��v+�,t��u�Vw`�&��
-|')x*�uR`�A���t�R� x�GP�]A���J/j�
d���b��C3mE��
�"��ƨ�S���Yaf'�D�4�
:Pus	ڙV���q�~�O�"ʣ�mS-@����Ŀ�#q�!�0)�MA�U̧vieT�����!�&!��S�ƹ�M�0q�>.�z?P|3�;�	��H�	p�d}h��
���z�F�`�k7�
U> P���:�@�~k
-�x�H��Ji�3�}8T
 ��A"�c�ႇ����m���:�� �*�
�ΆKذ�Fn�7<R>���F�V��Pr��._ۇ�����F(���2w���w�EU�ػ E�؆ �|J:�y�
5i��N���(����!�"��-������h������'�~;`m�r0�� 	�
�b��Y��1��ΆW���q��;�>��ڰ�b`]@���]�������)Qa� +k�`n�z�XK�_X
s��|:��`���q�k�����Jª�m�4��=^���
dw����
Gf�n�c6 �D�Y�L����\�j�T�X��K��l�D�D�#B����"�դ6I�C�1`[
*@�ʹ�pM,�JCX�@�
4�
x/�c��۳���ʔ���az>��f�f�j�K�Y8��ޣ2�$4�E� �=Ao�Y���G��v��+�G� w]�ҼX����W���sU^��ؾg��U�ʇ�ʼ���8��o ��K�S�sjum�;e�ѽ��оhfhF�b
7E��joԗ�
�]���
�‹|
H��J������!
�P3��9�Q�	b�=����
%۫q� (�
�������|�
»���.�'��q�֣3���6��f ���
0���el~�e�8��f*��(��%a��:����밈C�/�?M-!�����������������r02�$ ��o�a
��_4�וa�Z
�7��[������T�O#�];�?�l�dm�� Vju#�AT
��9�UMl��}p�����tM_����=�������r��-�x^��:�ϓӎ�z�&�6����PU^��ƴ.�n��?i��
-endstream
-endobj
-9987 0 obj <<
-/Type /Page
-/Contents 9988 0 R
-/Resources 9986 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 9926 0 R 9927 0 R 9928 0 R 9929 0 R 9930 0 R 9951 0 R 9952 0 R 9953 0 R 9954 0 R 9955 0 R 9956 0 R 9957 0 R 9958 0 R 9959 0 R 9960 0 R 9961 0 R 9962 0 R 9963 0 R 9964 0 R 9965 0 R 9966 0 R 9967 0 R 9968 0 R 9969 0 R 9970 0 R 9971 0 R 9972 0 R 9973 0 R 9974 0 R 9975 0 R 9976 0 R 9977 0 R 9978 0 R 9979 0 R 9980 0 R 9981 0 R 9982 0 R 9983 0 R 9985 0 R ]
->> endobj
-9926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 675.014 187.264 685.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) >>
->> endobj
-9927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 675.014 293.213 685.918]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 675.014 371.148 685.918]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 675.014 455.727 685.918]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 663.059 220.058 673.963]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 617.098 186.348 628.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) >>
->> endobj
-9952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 617.098 293.772 628.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 617.098 373.367 628.002]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 617.098 456.837 628.002]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 559.182 186.348 570.086]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) >>
->> endobj
-9956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 559.182 293.772 570.086]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-9957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 559.182 373.367 570.086]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 559.182 456.837 570.086]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-9959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 547.227 218.404 558.13]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 501.266 232.76 512.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) >>
->> endobj
-9961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.097 501.266 335.454 512.169]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 455.305 232.511 466.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) >>
->> endobj
-9963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.848 455.305 335.204 466.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 409.344 180.496 420.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) >>
->> endobj
-9965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 409.344 283.19 420.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 374.341 213.153 385.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) >>
->> endobj
-9967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 374.341 315.847 385.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-9968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 339.339 238.459 350.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c) >>
->> endobj
-9969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 302.345 205.692 313.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 302.345 261.312 313.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f) >>
->> endobj
-9971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 302.345 332.156 313.249]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-9972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 267.343 205.682 278.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-9973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 267.343 261.302 278.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) >>
->> endobj
-9974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 267.343 330.462 278.247]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-9975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 232.341 205.692 243.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-9976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 232.341 261.312 243.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) >>
->> endobj
-9977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 232.341 338.781 243.245]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-9978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 197.339 202.902 208.243]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 197.339 300.037 208.243]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) >>
->> endobj
-9980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 160.344 202.902 171.248]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-9981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 160.344 314.263 171.248]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5) >>
->> endobj
-9982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 123.723 199.864 134.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) >>
->> endobj
-9983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 88.721 161.677 99.251]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) >>
->> endobj
-9985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9989 0 obj <<
-/D [9987 0 R /XYZ 89 770.89 null]
->> endobj
-9990 0 obj <<
-/D [9987 0 R /XYZ 90 356.507 null]
->> endobj
-9991 0 obj <<
-/D [9987 0 R /XYZ 90 214.506 null]
->> endobj
-9992 0 obj <<
-/D [9987 0 R /XYZ 90 177.511 null]
->> endobj
-9993 0 obj <<
-/D [9987 0 R /XYZ 90 105.515 null]
->> endobj
-9986 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10043 0 obj <<
-/Length 1798      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~ׯ�)�f��^XX:ӇԵ;Isqk��L��`���
��������/8������=����e�5����������Ŗ�<�:������
�|��ǡM����+�9ρ^��������ɹ��L�Ta�h
��
-�����B�+
#�	�Z5ZZ6e�\X����r�ySW�mD\f9��F����јr<�%^FI���<�GD
�"�'
^��L����P��OWIPB�B�s�4���yI��r]U���F�8)����9�u�C�Z�jG��hc
-
��S����	|��ou�>�9�����k��̢��ZIM�0��q�ǮY�	s
��̴��O&��Y6�:��g���Y�vl�4�ȱ�5&����/°Z�T�8:%�m��  ���'��n�5�ȁN�M9�
�f{p�\�l
4�+�!�j�f���Ъj]�=
f#Ɠ6t	�ˆ�F���b���N!ς��eRjG*��,�L�\�	����q9�6�k4"|XMqG8wqx�1h����b�^�G�H4��r��>��

4��"��.��ȡ�N��|�ܡY�V��m��� zO<pB���@�

-��뢌��`(�8����Kq�2��;^
�bOl��=A!0 �kpķ�Cd�i$
LK����O�7\HO\��1�WQDF���!hLo7T�FJ�s� �� ��
�����`�1\�M�0���b ��="���36̾�ܡ^���y�co ��`���8x	ʿE|����N��76�6��O�5��sj�J�tr$�
-�9"�
�<�/�t�L/��e�*��c
-
{�#�E��y,���ToW/�*�l�0��sR�&�Ll#��m‘�j�0��O���>�d��� ���RC"j�]��

-��~B�=�"�%��S������j�ѧea�Tp�`�<�=|}��=Y�@��+��-hq���y�~�b\���'���}B68��y�|���x��`�qwb���]BMG�1裉ߖ���
u�9���Y�6o����-���\ʥMi,�5f�B���M'�.��},��vլڃ�>|'��lZ��h�������Ϣ|��]'����BI�����l�&%�j�Ӌ����ޜ�>����ý���L:	�8 �bQ��g�2JZ�T�BZ����^���|d�a�e��+���ͬ�z�$�`����v&���7W��
-�a��@
w�<`�Ź�
:Dz�]���m�X	?L�J\���;��¹,�U�$�
J�`���[`�0�%�08g�Ba�
�B�A(���w�PxkG(T� T^��V)��
|�������V��
�yd�$���b�� �l*�1��G�E\�>)�L�t����_L�EZ��h���>�3;J�H�P�;�2��������r�7jΆ��ĕ����1*zHȟz@帗�R�;������EfyV_2H%Y�\0��������_����q�H���ў�:��{����5�D�W�Y�z0L��(�uSƗ(�Q�Ni�
 ޷e���g�N7�t~�����W{X,�$����T�s ��,�q�K��[*��/to_f�u����
�

-�;,�+]�]�j����)�4"è
�H�u�頥�Q�aF	"$TMR]�jw+!�����w���g
��a���B'FP�@k�- :�'��^�e���g�Xϣ07�����M�����F
���Y��L!�u%E���d�T�
��+�Q�����Ǫ�~�^D�J����5/��ǣ���kh��Y���(�G7�5�@���Bt��-Ӽ�e(�0�a�� �w�
-endstream
-endobj
-10042 0 obj <<
-/Type /Page
-/Contents 10043 0 R
-/Resources 10041 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 9984 0 R 10005 0 R 10006 0 R 10007 0 R 10008 0 R 10009 0 R 10010 0 R 10011 0 R 10012 0 R 10013 0 R 10014 0 R 10015 0 R 10016 0 R 10017 0 R 10018 0 R 10019 0 R 10020 0 R 10021 0 R 10022 0 R 10023 0 R 10024 0 R 10025 0 R 10026 0 R 10027 0 R 10028 0 R 10029 0 R 10030 0 R 10031 0 R 10032 0 R 10033 0 R 10034 0 R 10035 0 R 10036 0 R 10040 0 R ]
->> endobj
-9984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 661.304 198.011 672.208]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) >>
->> endobj
-10005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 627.22 205.752 637.751]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) >>
->> endobj
-10006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 627.22 276.595 637.751]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-10007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 592.764 236.745 603.294]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974) >>
->> endobj
-10008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 592.764 307.588 603.294]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-10009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 557.933 209.627 568.837]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81) >>
->> endobj
-10010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 557.933 314.791 568.837]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 523.476 240.62 534.38]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd) >>
->> endobj
-10012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 523.476 345.785 534.38]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 489.019 212.377 499.923]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9d108150f1f059e76bb60deba0612e92) >>
->> endobj
-10014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 489.019 289.846 499.923]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-10015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 454.562 243.37 465.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211) >>
->> endobj
-10016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 454.562 320.839 465.466]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-10017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 420.105 216.252 431.009]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) >>
->> endobj
-10018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 420.105 328.042 431.009]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 385.648 247.246 396.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) >>
->> endobj
-10020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 385.648 359.035 396.552]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 351.565 193.577 362.095]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) >>
->> endobj
-10022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 351.565 232.581 362.095]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 338.769 248.845 348.674]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 306.149 193.577 316.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc) >>
->> endobj
-10025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 306.149 277.691 316.679]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 293.353 247.177 303.259]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 260.36 273.129 271.263]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) >>
->> endobj
-10028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 260.36 352.41 271.263]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 225.903 282.978 236.806]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) >>
->> endobj
-10030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 225.903 386.79 236.806]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 225.903 513.996 236.806]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 168.532 255.564 179.435]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9) >>
->> endobj
-10033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 132.494 223.465 143.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) >>
->> endobj
-10034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 132.494 326.158 143.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 98.037 217.109 108.941]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9) >>
->> endobj
-10036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 98.037 319.802 108.941]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10044 0 obj <<
-/D [10042 0 R /XYZ 89 770.89 null]
->> endobj
-10045 0 obj <<
-/D [10042 0 R /XYZ 90 185.426 null]
->> endobj
-10041 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10115 0 obj <<
-/Length 2940      
-/Filter /FlateDecode
->>
-stream
-x��[ߓ۶~��BO�4�𛠧�L�q:Iөk_�;��I�[�RH���_�]��D�)���Ӽ�N�X,߷� ��qDG������;��|�k�Gw#��<����b�a�(�z2e����	�� ^��NǛ�~iq0�1���x��{
FibӼ
vy�1<��|���w�

�'Ry�J6�]��>0>~����7wMr<"i)�O�b^��$�L��㻉��v�]�uO��O��h���l,�B�7o�n~�a ���3�"���7~��<�aD����9k�
I.�s5z��[��3[
���f
� �� �˗�#�N�����T���o6��9�?�z��Z�Ԓ&>�g�$�
g�M�fj�)��A�Ǩ.;}��B�$=/�m��	WGk^��bY������ٲr�%M'
�����鉋��q�ɝ��M�DV��GJ�k�7�D<&]�I�4��%a
/g����M��x"��Ml�F%UntP�σ4ܜ�:o
�&¸!�����9L�΀��[;O���E+#(E|)����
-��ԓL�Rz��D1I�)E=��6�
 ��
�ce�]
��7�k4��$�%��
��me�����{v ���=�1 ���(�7y��;+{sZ�'gD����|rȸh�!%['l����%��p
<�q���VQ�Mc �ap�:�.|�F�����d�wlp
��0�A<{�i[؄����_8<�
�~���桍�Ya��|��:�fki�g
,$��TΘ1"�Ca\���6�0
-�M��T�&�hĖ���pW�
_t
_�b-�")�@���J��ld� �	
���k�~��� ����,4vi��J�L��@��w�6�3�2��a����6�E��t�u��p�\0�l������6��+�r`p�)Q
��S��I�
��hۅ{p�oP�HRj`QJ���t�eA�h��)�
�y���怵!���� Kh�|�+@�F�†W@��h
���wA��	YبY(�r�ҿ��`�֐�31Ď�^/�Bm������N;�\س�
�i���#Wf�e����q�\��,r��\v ����
#We���� b��\!���F6V��btF]ܨk 
�@ؙ\B@
-��R������L�*��v����L��]�
��
�W
ѕ�p���IFH�"6������8$dn�¨U4�Gm�%�Z
���%t�I5��ԡ
e
P

���I�ٶpj^�:�fq��x�4�U���Dy�!q����\��=147ZXOW�L.!�;jF&�c�[��� BS���!ﭠ\��#�)(�<b��J���P�
/�9Y��2�A$�T��D	�灖T�V$�
%ү%��K�L�d
�s ��a*C��jj}�(W��щ� �(G���,�0H��_V
J5h!8����� lb�7h�۹�-����:�1�с�U
���<��� ��tКz���Y	�k�	�Ӓ��
��k^a
�1܅_L
AhA��V���S�T�!��9~����?T�e���#�x���F�$,@s5�j�(�
G0�i�G�E`!��R��R/("�A���q�?��l ����f
-�;0�P5
�
��œ�Ɂ�wL"d����j�����.N@)%'`���5@����d�ʅC���e|���T+٨��]�m��>����#�4��
��"w����
6G�г�C�
"�J��	���Kw�.��ZQ�60 �)3�x�dBp!�J�D8��<
�����
-�W��$3�*�p�S�� ;��E%y��%�����.XD),�Tp{
uYlB�S����(��a΢7xā��urR��[BXPiĮ��RUE��:���4h؈�سv�&�%H�)Y�T�H��GEo�č�_�����lmA
-9����B�0[_QT���c2ih�a�N<�F/V��Z���ϭ5�N���W�Ek%�5�A�2�pV�V�řJ��yI
-�W�E�-�J��D
Zl׺Ê���j��Dڕ�꾜���&L��6k*%�0��*��|^C֍'{�*r!J�¯N
-��tg�GE䏔�&��3_����-�ƭ�Zt�S ��6-�!�o[	��J��i����1Š^Z���}4���!9ɧ-^�W�q���:�=�i��?��
}�񏐪��5��z�������-�lO�ǯ%
0l5Ypvq�g�)4��k	B)�
���3}hH\	~��
N��2s�if.
,�	ُ�T�����1�T ֩l'BP�ٗ�$�8 �Ea
�Įe$t _�8�0��_EI�,<��9�
G�q� ��$�õ����&�+�u�h{doz��譫Z��V��p�}�7��.u����v�����Mf��鳵Q�m"R9�{�W�/�rp�K
�=j0�V�?���ś��>UPhV	����SW�V/� �\-TA��m
�}���y���n9�~kg?a,.�&Fx�h5�)�5�j
���X
b�ƫ0���
���g��'|dctP
-M�l �CQ]�
h��@p���}��u��8r.Z5�a�T\Pm�{|;O^�<��E�BE
7���a���K��r�Z�b:o���r���a�q�O�b�V�Wi����w:�z
��*H����n�&�(���
��N�!vR����h���
̳Y���qP�m��!�Tl��m���m�6bфz�0!2c��,Ư2��/�q/���;ww*|�+G�Yõ�?:�q��A��ިƧ�@��f&�=����5�������&�5�m� j���z�%w�Z�>)5'�:�/8��e�)|�����y�*68h���>�s��>�
���&�^+=��}��]���lWŐ6�aM~�v�8elݗ&6��V�g�� �3�5����B8��p\7�
,�{[����F�E��G��1��%/�t�����������$Lo���m
+��#���>_o��~
<\g�pb��t��N
-endstream
-endobj
-10114 0 obj <<
-/Type /Page
-/Contents 10115 0 R
-/Resources 10113 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 10037 0 R 10038 0 R 10039 0 R 10061 0 R 10062 0 R 10063 0 R 10064 0 R 10065 0 R 10066 0 R 10067 0 R 10068 0 R 10069 0 R 10070 0 R 10071 0 R 10072 0 R 10073 0 R 10074 0 R 10075 0 R 10076 0 R 10077 0 R 10117 0 R 10078 0 R 10079 0 R 10080 0 R 10081 0 R 10082 0 R 10083 0 R 10084 0 R 10085 0 R 10086 0 R 10087 0 R 10088 0 R 10089 0 R 10090 0 R 10091 0 R 10092 0 R 10118 0 R 10093 0 R 10094 0 R 10095 0 R 10096 0 R 10097 0 R 10119 0 R 10098 0 R 10099 0 R 10100 0 R 10101 0 R 10102 0 R 10 [...]
->> endobj
-10037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 697.223 271.126 708.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) >>
->> endobj
-10038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 697.223 373.819 708.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 684.82 326.259 694.725]
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-10061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 651.844 201.742 662.748]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b) >>
->> endobj
-10062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 651.844 243.629 662.748]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 651.844 371.329 662.748]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 627.486 269.939 637.391]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 594.511 212.768 605.415]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4) >>
->> endobj
-10066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 594.511 252.959 605.415]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 594.511 375.145 605.415]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 570.152 277.928 580.057]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 537.177 250.099 548.081]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb) >>
->> endobj
-10070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 537.177 289.446 548.081]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 537.177 379.512 548.081]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 537.177 513.996 548.081]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 511.609 439.335 523.774]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 479.843 266.586 490.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) >>
->> endobj
-10075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 479.843 309.697 490.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 479.843 408.234 490.747]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 479.843 513.996 490.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 467.888 171.361 478.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 455.484 480.87 466.44]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 422.509 250.748 433.413]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) >>
->> endobj
-10080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 422.509 357.317 433.413]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 422.509 456.145 433.413]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 410.554 202.344 421.458]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 398.151 446.071 409.107]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 365.176 265.396 376.079]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) >>
->> endobj
-10085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 365.176 375.818 376.079]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 365.176 478.979 376.079]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 353.22 225.866 364.124]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 340.817 466.67 351.773]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 307.842 239.984 318.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) >>
->> endobj
-10090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 307.842 280.82 318.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 307.842 405.104 318.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 307.842 513.996 318.746]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 295.887 171.361 306.791]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 282.274 432.092 295.432]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 249.305 251.209 260.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a) >>
->> endobj
-10095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 249.305 290.549 260.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 249.305 409.969 260.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 249.305 513.996 260.209]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 237.35 171.361 248.254]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 223.738 456.992 236.896]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 190.768 224.57 201.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229) >>
->> endobj
-10100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 190.768 327.264 201.672]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 178.365 347.869 188.27]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-10102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 156.349 199.556 167.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0b8990ac561387e44e8c81debd1c3336) >>
->> endobj
-10103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 156.349 288.991 167.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 156.349 449.718 167.253]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-10105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 156.349 513.996 167.253]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-10120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 144.394 244.556 155.298]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-10106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 144.394 395.48 155.298]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-10107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 144.394 513.996 155.298]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 120.035 164.537 129.94]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-10109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 98.019 212.377 108.923]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) >>
->> endobj
-10112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10116 0 obj <<
-/D [10114 0 R /XYZ 89 770.89 null]
->> endobj
-10113 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10167 0 obj <<
-/Length 2213      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�6~���Ӗ��` $ ���L����nZ���3M:Z�lv%�KRV����›LYR����-��;��ޭ��7g/���/�$��r�z�I�P"��.���!�߮��
!"9�2ï~������W�������x�=b	0$"o�:{�����(���1�V^H�]zWg?�a�ˮ_�#�=
	�.��
���n�uf�@R`�E(�Q�~�V�2��^p~D�yT�0��Ŀ�J
��UD�P�,^�ɔ2��2	��&*K��ڜ#
�L|���D��٦� ɘ�y?�����ɧ�\�:}����{7
�|s)�LM���˸�A�4�fqU���@7f��c��yV�O��Ӭ�T=��'��U��cz���Ä3��d01ԅy�Y�G�Ls�;����M��a'��$�~_g�>�`���B�e%�q��u :���H_�}$����`�[����1�{�;K�'���������Oa"�I��ZN�j���>�~���qQ,�v
owj��c_KAi� #k[���d�B��:/�m�[�pzr
�Y2B6�aK�a�
-CA�\;
������<p�E&Z0����7���\h��y���`a��f1�xƴ/�!jM
��7I�x���Sg�|9*>fH-�h�o]}���i�� �zpBE�� pA��3��W����
��c���	�4�2�"̎ER���o����
 �'
 �z�A �'� �Hfd�� $��H�D�q�@��{>d�%�B��!!���U�����>(�u�@�M�?�7��(��	I$up�H��bR��:!{`GCڂ] ;�q���D d |�`
�f ��1�4S��)�*�}7�{��X�vB���y�Y>o1d��PW�-CFM#�0�E
@!�HН4ʐz�V7��a��i�j�
@����o�$]l���t���1�n�K���

-��u>6WE<W��W�(d�#��G#��c��i��e�.!��4�w(��N8TvS�o��r�M[�k8�
J���1H�!T�4� 8ً\��Ao� ��g�81���i�������<�6 PX`8��@m�>����oG(�
�
����2€
bX��b|��$��Y��ǚ������Q�
-T����Ӑ������?��.G at z�h�~�~9�2I,l�<b,x(��Tl
�]��ֳ4
�xew��O3��}��k���n~�o
�`��j(-&$�6��я�$d~�គ���yy��z�}8"D�����.�HF�o�%
-�>�r	񰊿�h
�ŮH޹�S%��M\T��g����m]��wc����?�gS	mxJ��I2�t�5kݮ��_�tɗ
o�ʬ��������$��É�U�jD�"�M�i�mtDŽw
W�
�|��@
\ܻ�4��ת�_�;�\u�v���8u��n�ᠿ�3&r\+����,zۻt���9��ɹ��<s�Ce��m���������Ȧ�s
�G����'��D�P����A ���:c�`
�^G��5��a
z�Z�\�	u,e�� $}�׵e��Cb��}��"��f�Ȏ��I�C�g09^���֙��Qp�� ��]�
�>iO��@mڱ'�v��w���=�>���gS�~x%B��ld[��)
�T�\����
!�3���	!ď�4�B��]�p�{�qY=�2B�3���x��
-��P�A����~�_} 
|,kܥ�w�<�(�I� �*�]Nf&\Z`"�Dv�Y at _���V��:��
P���&�lڤ��f��~��H�!CQ ����5ml�d�M�H
F(<����go�Ǒ��nץ�Q�u/g���`�.#��+/�
�S��Vqq$.���bN��B<�}8�>�!fPō���{��
���y޼��m��}d
-+��
�3�J����
�.շ�s<>
r��r�%t����l}��g�W �F��E]t��
����-c	�){J��E�
�f�/B�_���XW�������i|<a\���O�D^
Am�P���9.v������ �ps�l�c	����~M
'�|��"۾���B�?�c
��~��|x��>��fC^	br��K+�����N%���WzSƥ{w��J�_L��k�n�W�����.1��Fm�x@�s������k����O�LG�[�������|�٠y��YZ�(�ϋby���Qч��Ȣ�0��T�s��*~�4��-$�
-endstream
-endobj
-10166 0 obj <<
-/Type /Page
-/Contents 10167 0 R
-/Resources 10165 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 9891 0 R
-/Annots [ 10110 0 R 10111 0 R 10133 0 R 10134 0 R 10135 0 R 10136 0 R 10137 0 R 10138 0 R 10139 0 R 10140 0 R 10141 0 R 10142 0 R 10143 0 R 10144 0 R 10145 0 R 10146 0 R 10147 0 R 10148 0 R 10149 0 R 10150 0 R 10151 0 R 10152 0 R 10153 0 R 10154 0 R 10155 0 R 10156 0 R 10157 0 R 10158 0 R 10159 0 R 10160 0 R 10161 0 R 10164 0 R ]
->> endobj
-10110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.95 684.853 264.574 695.756]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab8f4c68d176d4a8300a87af39ebe621b) >>
->> endobj
-10111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.611 684.853 368.968 695.756]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.92 660.079 413.759 669.984]
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-10134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 614.733 248.929 625.637]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6390d5b6fde026f0067da39fd1278809) >>
->> endobj
-10135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.267 614.733 351.623 625.637]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.801 601.914 367.562 611.82]
-/A << /S /GoTo /D (main_pps_certificate_widening) >>
->> endobj
-10137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 528.645 200.451 539.549]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.191 528.645 251.997 539.549]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) >>
->> endobj
-10139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.334 528.645 354.691 539.549]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 479.447 200.451 490.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.191 479.447 251.997 490.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a931d9a960753fc8314d50a6dbb9f5885) >>
->> endobj
-10142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.334 479.447 354.691 490.351]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 431.245 167.466 442.149]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a5f25c8e732cbe55784504ff6d4f4c49d) >>
->> endobj
-10144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 431.245 246.638 442.149]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 394.002 289.866 404.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) >>
->> endobj
-10146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 394.002 359.324 404.906]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 345.801 290.971 356.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce) >>
->> endobj
-10148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 345.801 360.43 356.705]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 297.599 224.003 308.503]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a) >>
->> endobj
-10150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 297.599 326.696 308.503]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 262.349 254.15 273.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) >>
->> endobj
-10152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 262.349 338.263 273.253]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 227.099 284.585 238.003]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) >>
->> endobj
-10154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 227.099 354.044 238.003]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 168.934 241.726 179.838]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9739127a6b925714e0e6cf8d86141938) >>
->> endobj
-10156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 133.684 249.318 144.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) >>
->> endobj
-10157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 133.684 288.321 144.588]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 133.684 371.519 144.588]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 98.434 240.62 109.338]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) >>
->> endobj
-10160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 98.434 324.734 109.338]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 98.434 389.5 109.338]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10168 0 obj <<
-/D [10166 0 R /XYZ 89 770.89 null]
->> endobj
-10169 0 obj <<
-/D [10166 0 R /XYZ 90 543.914 null]
->> endobj
-10170 0 obj <<
-/D [10166 0 R /XYZ 90 508.693 null]
->> endobj
-10171 0 obj <<
-/D [10166 0 R /XYZ 90 448.536 null]
->> endobj
-10172 0 obj <<
-/D [10166 0 R /XYZ 90 411.294 null]
->> endobj
-10173 0 obj <<
-/D [10166 0 R /XYZ 90 363.092 null]
->> endobj
-10165 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10213 0 obj <<
-/Length 2018      
-/Filter /FlateDecode
->>
-stream
-x��Z[���~�_��
,�=}���<d����j�3G��nd163&�1
8�ɯ?��``���l�Dy
������j�ރ��o/����z��g��Tz������		w+�O0�r6'c��`?H����b�y\��4X�ݥA�x}]>��<
s7�N9�)<��r���kB�(��
���,������j�ۛon��(�q-�Q1�6A���T`�vf�n�M���w�}�Έ��x	�����DY���^|�  {�t�@J{����_�����y1��C1h�q���ƻ�����:!U�w�y�,�y���T�?��;���~���y���°J��k!�˖�3���������
��\��f�������-�]1�*]E�0�@�"L–��9���"K�e��gw��a���G:B�e)�iX���~S$9��D!
��e�
�}�]��n3Ay��o˛ŠY{!�m�|=����7
0��_pc����
ভ
-�z�-P;�	�^��2pv��x�	gD�h�o�0�S����9WH+^y���'�:ф�@���@�
{��`����v~�
���w��m#��+]���#W!i�@��)d&�>
���Q^��X�:����Φ�$I$t�i6��`�Vr�–L��P���-��5,�p@7B��q�G�0��E���
�
b�>5��D	y����=��\��`�]��-��~ǿ�<��ׅ%������aC4��ڠ���qd4�
��`���9ycS���/��{@�C
Qݣ҇Mg(u*'%�9����sjQ$Y+�
��W���;�CHB���
-,�����p���~�
�U֤a��j�*���~u�
��@� �I�jۈ�!�F��S�G�@���iCZ�Sܮ����o���X��Ć��P��τ"���AŦ(�x���
eDZ<�  
3�ދ�
7MF0��
�r*���~��l2�
|�)�ޔ��/ا��O��,_]_'A�� 
z
���h�	�H駸
,�9�Ю��݌�Fo��j;�@�jLZ�L�z˶7o^�������BA"��n,L��](GL�s7Q
�"	�<�{jv+��zιC���2q��#!� ���q*� Q���+���TW�՘�Tі��}�-�%��ܚ�K��S~�%�@GN�
�#E��I�x����u
�	 N	6f����v��V���u��m��Q
mP�c
�vX�§�	�L֐w�1��8|6��$H�s�%?n�]�ܑ��HI֎�i��<�>����e2�o8G���v�'�1"���<݇=�H,��;�
��ͣc��NC������
<Y^$�e%V�c*��.����R[7
;�٨fHB�^�X#��mH�}*q�9�A�ijo�A�{qҬp�6A��L�m�:jO���|�Lϟc&
4�۳$X���3j&S����A���O���a^cTOI~ֈ
�-��;G3�
�TƜ�8d�3/?����%cB�K㨹���6�
��
4I &-�X�Lc�S���XC%c�&d�l���iݪ��QQ�un�
=|�6H�
- �^����e����������������}�I!g�
� �1;7a4O�F�doA?S5��}*�0�8����0�PB���N�u�~
�Rm�lu~O��V=틧�n���N�.�>���
��xy���qy�*��-8�s ݳR
-$�?Wm\�~�����[��Kr�g��ez҅���Bwp�}
/�[��7�g㕁���c2>�
-�%� )�I�Z1u�\~:ъ(�z���tjdas�\��.�-��c���j픔����p�t�X���9
-6�a�!'`]��h3�C�W5�c
�L>�/��s��|n���	gO;hB�	�O
~Y1%�r��Qa��_�9c������seI�<y�5g#�y�m���G4�u�dS?�)>��Ҟ
i��
�.˸��ȳ� �J#�����0��L�Q�A�6��
m�Q35�Q�4d�sa�&�>�)W��W]}oM� ����u�'�WW��-3�@��(�J���S 5�@>U������b��>��bx�
l7����?TQ&�
-endstream
-endobj
-10212 0 obj <<
-/Type /Page
-/Contents 10213 0 R
-/Resources 10211 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10162 0 R 10163 0 R 10182 0 R 10183 0 R 10184 0 R 10185 0 R 10186 0 R 10187 0 R 10188 0 R 10189 0 R 10190 0 R 10219 0 R 10191 0 R 10192 0 R 10193 0 R 10194 0 R 10195 0 R 10196 0 R 10197 0 R 10198 0 R 10199 0 R 10200 0 R 10201 0 R 10202 0 R 10203 0 R 10204 0 R 10205 0 R 10221 0 R 10206 0 R 10207 0 R 10208 0 R 10209 0 R 10210 0 R ]
->> endobj
-10162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 682.25 203.075 693.154]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 682.25 296.324 693.154]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
->> endobj
-10182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.434 552.395 300.077 563.299]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a4ff18a1555828c7264a09d6215013279) >>
->> endobj
-10183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.731 497.39 368.374 508.294]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab441eefb3b97b983de4d29baff5a4122) >>
->> endobj
-10184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.182 430.43 263.539 441.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.725 430.43 347.667 441.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.463 430.43 437.884 441.334]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec119fe2d10b776a4fd9460fd5de4455) >>
->> endobj
-10187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.287 375.425 218.748 386.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) >>
->> endobj
-10188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.431 375.425 330.373 386.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.898 375.425 469.254 386.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.674 375.425 513.996 386.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 363.47 161.84 374.374]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.589 320.42 177.843 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.809 320.42 257.166 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.195 320.42 286.449 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.772 320.42 400.312 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01) >>
->> endobj
-10195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.213 320.42 449.467 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.742 320.42 513.996 331.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 265.415 213.576 276.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) >>
->> endobj
-10198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.913 265.415 261.167 276.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.881 265.415 383.238 276.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.484 265.415 411.738 276.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 210.41 213.576 221.314]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aada5fa9557c7ce77d8bfacb622a113cd) >>
->> endobj
-10202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.872 210.41 388.229 221.314]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.843 155.405 160.209 166.309]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6b7fdfa5a1979cf3d8e24265225b986e) >>
->> endobj
-10204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.952 155.405 354.39 166.309]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.021 155.405 513.996 166.309]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 143.45 224.683 154.354]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.74 88.445 215.202 99.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69571f990b874f16d0f62235088427ca) >>
->> endobj
-10207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.791 88.445 305.347 99.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.345 88.445 432.702 99.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.575 88.445 502.131 99.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10214 0 obj <<
-/D [10212 0 R /XYZ 89 770.89 null]
->> endobj
-10215 0 obj <<
-/D [10212 0 R /XYZ 90 703.322 null]
->> endobj
-10216 0 obj <<
-/D [10212 0 R /XYZ 90 703.322 null]
->> endobj
-10217 0 obj <<
-/D [10212 0 R /XYZ 90 612.7 null]
->> endobj
-10218 0 obj <<
-/D [10212 0 R /XYZ 90 396.616 null]
->> endobj
-10220 0 obj <<
-/D [10212 0 R /XYZ 90 286.606 null]
->> endobj
-10211 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F79 502 0 R /F106 2334 0 R /F38 2117 0 R /F23 364 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10237 0 obj <<
-/Length 1814      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ�)�f���Y�63��Iۉ���$���i$��j���,,W!pn3}��ž=߹|��V�����FG���r�#��fז�-�;HHxZZ�ǜ����
�I��#aW�|r~6;=�]�w������W�"� �le-6������F�Q�m�����ߵu9z=½����$q��dJ0��^��ko9�R���E�G���؂e���oM�M�vSO�;�V�0a��~ʿh�a#���ty����c/.Og
2�V)e>�	X(/>X��$1'��x��/&�����[��������8_��4�R��r�ŰС
-�q���k�r ��v
���/�Lq��g7�PQ8���2[Y�A���E�lŇ7H}��j����e!&G�?-Í
�P�E��M1r l�VDڹVL� #O�~�jmo�"
-�ر���ȷ?�㹣�Q�%^�>�L���TC���6��8��
��
-�&�'�a��SnZ��_�`a$���'�еi=t�@���\UH�2|��k��� ?�.�
q� .��V6'+l~l��3>^���Y���M����'�
�y�
2�M����yx��8���������J~�Y�b�we@�:����E���]�/oܨ������턦-�*â+�r��dnH8�si�'O�S@� �� 2%�� ��WQC at T?G�Hx�q�����׳��:H,ʠ��1��^�)�'�jz���,����b��r�K#���=�H�����Z���P������O����y���5P4�t�2�.�T���h�HC
-����x�p�\��(�j
-���
l7�rSҥ�(��s!��=�()Sw�h����B����!��kO_���B�:��,�2�	
-'��Q�JJ�{{����7��
��* ��.Yp���W��`�
����]��~���/"P�	��4C�3��_/M������{�t[����j7�a�i��D&�!%�]��U���P���Y��V���zGV/_
vT@�D62;��ݕ�Vd��BX�C�y�E�:�o�6\y�@��+����ؔ[���$r�,�a�{��z;�cK�&̩�t
-U�
Ҍ잖�Vypy
���3no<�$n��
?a��Z��7�7�9"
�Wfו� �ٴ�6q	]��Db�B��!��b�qds�~T�υH
�hr � �.�pUMʃ�BG�e
�X
�fC�
�
~��t7?Ɇ��:ʐl�Q��:H"�j�
��w��W/O�|>{�!�9���'ҪO�ɁH[5
-�y���b8���w�Q
�:T��@i����$��'�p0k��*k:ͬox�_a�-�Xw���}O>q�A>���=�6.���q:���_�!"tP96Dvf���Ъ�8_L�D�OU�"B)�YB0��3	P�J�E�d�+!���-���"tB��t�R.�x��xP~/
T�^5��3���V� ʊ��ǀ�1�C��	گ�z�v�� DN���`��p\�X��e� �'SFj�V5�5n
�A�DT�C��
�ˤ��Z�ÂH���$�Ƌ����.�k��ڋKj���M���"Y6t�X���#�Ñ̈́$�7
$v}ݵ�8{�þ��=�6)��7�+^�lx��}��V�5k�
-�<;�;00�cڸw��].�ET��^/��z�~z�I*�M��?�	��������K=ū����!�lj��Ъ�be
�j�?���?�M��ݢ�_������~/q1�|�	�y{�yi�U��[~	\SZCT�&M�㣣��[�H
cQ���(��G���I�4�K!�Ÿ�	c�HlX�dWu{N��(��
-endstream
-endobj
-10236 0 obj <<
-/Type /Page
-/Contents 10237 0 R
-/Resources 10235 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10230 0 R 10231 0 R 10232 0 R 10233 0 R 10234 0 R ]
->> endobj
-10230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.525 600.821 253.249 611.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.782 600.821 341.46 611.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.993 600.821 369.896 611.725]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.68 461.68 333.036 472.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10238 0 obj <<
-/D [10236 0 R /XYZ 89 770.89 null]
->> endobj
-10239 0 obj <<
-/D [10236 0 R /XYZ 90 721.073 null]
->> endobj
-10240 0 obj <<
-/D [10236 0 R /XYZ 90 676.654 null]
->> endobj
-10241 0 obj <<
-/D [10236 0 R /XYZ 90 572.516 null]
->> endobj
-9892 0 obj <<
-/D [10236 0 R /XYZ 90 548.901 null]
->> endobj
-10242 0 obj <<
-/D [10236 0 R /XYZ 90 548.901 null]
->> endobj
-9893 0 obj <<
-/D [10236 0 R /XYZ 90 387.029 null]
->> endobj
-10243 0 obj <<
-/D [10236 0 R /XYZ 90 369.059 null]
->> endobj
-9894 0 obj <<
-/D [10236 0 R /XYZ 240.245 269.403 null]
->> endobj
-10244 0 obj <<
-/D [10236 0 R /XYZ 90 249.277 null]
->> endobj
-9895 0 obj <<
-/D [10236 0 R /XYZ 90 77.486 null]
->> endobj
-10235 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10248 0 obj <<
-/Length 1470      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&Û(2� k���.[=`E[����dI��%��;�k'ES�+�D�:<<���|���q��x�p�8zbG!%�p���N�
-<���.��
�'c��#؍�]t~�Q����6^�����]����f9��*����r���]>=zD��0�(�A�4g�hDF�����V����rNO�8���|���4�*ϧv���n�+Ҩ����E\zD�q��%")q9QZ��t�x� �;Ą*@�tV����Y��S#��s��
N���r���:!�ꃎ 66�uk��KDZC
$����8�v�U�o
-gH����p2I���;.0F�zC
�
�
���!�*nvH�;�6�}J�
�*Ϫ�Q�'#�5|��~g
�#�xt'�yڹ��󃐸'9@!�J��s���2D�S��6�
�C��hEj��Q
9C4��������o�Ϟ���d�jF�d���JB�ȜrP){_'Y�d1x* ��U�&��~k6bh�I�+
X�f��}����P�9,r�}��U�o'�-�4��u�ݤ3ϐ6��I��kvà��p�G\{�n��j�:��qRo�Ș����4�SɅY�Vek�ju\��lmes3���H���y��ۓ �u�dC��[%�&�G����}��;g���̯�]T��lbM�Io�� )�i��W���!�Czmf����M^B(vU�0���܌Y�,@��H�^��&5ó�"^%o0���F\�^.��g���$O��d����P�[���Vv�NvqV%MJ�{�#�t�rI|���b�Ũ�B������^ɤ�Hb�I()tXP[Fׇ(���v]$�o]������;��F|�>��h�
�]>��G�\���#�,2;�hiĦֽ10Ɨ?��vqK���<���$2PƈS at kQ [...]
-�6-�G��Y阘zN��1�T8�WcTq�.���&'7I���C���y�����s$Ť
i��L��B�h
h#R|#U�A���H��;�|D��p�xq��YZE1�~$�b⮴j��ü
-.K���^����Wϫlɲէ���)�O���Uf��U}U��mƟJ��WC����V�o��bUt̪��dU��Ȫ(���/B��̪�!�|FC$��Q�}ʔT
r�#Y�nȪs��ڼ��4�G�3aSα$�϶
��#����;�"�OS
L���K��}~��@�Ɣɺ�D�In�L6&��~-�1�3Ê�s?08�:���0�V,�1
��8�;�c&�fj�|NX�~�O�Ln�Q��]&U
�`����.�]��� |^	v�?�? 9��m3 ��w�3]�uͲ�m�2��r��?����
�:�<��m��U�_�
-�ҹ�D��;`c�2���Ƴ�v��i^��D� ��ζ��㣣��K���>K�%�QQ�G6؁hpa��a՚b�eܦ5��������

-endstream
-endobj
-10247 0 obj <<
-/Type /Page
-/Contents 10248 0 R
-/Resources 10246 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10245 0 R ]
->> endobj
-10245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10249 0 obj <<
-/D [10247 0 R /XYZ 89 770.89 null]
->> endobj
-10250 0 obj <<
-/D [10247 0 R /XYZ 90 721.073 null]
->> endobj
-9896 0 obj <<
-/D [10247 0 R /XYZ 90 474.802 null]
->> endobj
-10251 0 obj <<
-/D [10247 0 R /XYZ 90 459.616 null]
->> endobj
-9897 0 obj <<
-/D [10247 0 R /XYZ 90 205.783 null]
->> endobj
-10252 0 obj <<
-/D [10247 0 R /XYZ 90 190.597 null]
->> endobj
-10246 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10256 0 obj <<
-/Length 1432      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~�_�S�H��
����4�v����T�*�"20Z(0�����
O.ۨ����m���}[+
[?L�ى���
����
-��!�
�b��v)�^��Z�
	=��.��ΏO����x>�cB���T��X����
-[1,��0ba`m[���R�̺��4�
-
ދ)Ʈ�Q
J �S���I�Tu
c�hvBp_
	��
xb�U5�:;�^C
����d�P�aS�QS��z����)��4��ZGYL)���=i����P8�C
�ˢX�Yr�6���GR�w��Z~<��$�W�u�7rE�IWyQ%���
���ص

-�\u��w��l�"�/`	�*�&>8Ȓ|��^'UU<��#��;�*y��0#�ӥ|���j�`v
H�X�π�t�x��v$��pg��&S�m8�$�G_^Gw�z���(˔�c3.�M6�b�	�`F
-��,D
#���"�	F��(��<^5��OH?�\�M�-���AM��}��wS�an�_
�
:}�8�t~k�	 ����蘏����L�8F��Lՙut}.2���o������ ^�d�w�MU�rK�7��j�P'�ހ��F�Ǭp
������qphO����_1�
Ho5=[4Ѫȣ���6*M�#P�]�<iL�
�%�"~0<�=^��3�
�
�
t"Em���w�����:G]��>ʢ�6�<�rhX�G����!���7Z�;@A:ߝ~�>:{����7�&�
yA3�&bR	����i��yz``rWf�"m�
e�a�й�
����ˡ�h��膦§���b�K�%Ws
DrZ�Hj+
�t <�
�f)�ʪ*��
3�S��L<�"��
�p$����b%��C���y�y��z�
-p���g��m�/Ԇ�,��|Ԩ=���L���?s���Hw��i%  Mi�#� U�X�Mk�a�w�E];�A4m��U�8���bExM<�����N��0
-�I��ߥs���/�s&>ӻ��Ӎ��H����?G��izǹ���Zd����������ȧ/��dT����0�9�qB��;7���
K��$v;^��̎~��a�ܐ+fG_�٩��etn��QMA` ����rTQ9XS9�
�
�D�1"<�2�r;�����#*�#2����ud@��1/P'�#o
�rn��{w�m��k2x��v^�D���4��{Y����6@�O���gr�<r�^���
��\�Z/>۫�������U�������2#?�]َ��״>?k�����ù㞯`}3����Ǟ�߻��
6	*
-��� 
_t��æa�
SQSMU�Tq9��N�/���*��G�F�nD��S�����F`+
F��$Q�J�~����I�
����Ĺm��`6�n�hQ�M��J�YYf��!��|��,!�Z`kH]�`Qe��Pn?�
-endstream
-endobj
-10255 0 obj <<
-/Type /Page
-/Contents 10256 0 R
-/Resources 10254 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10253 0 R ]
->> endobj
-10253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10257 0 obj <<
-/D [10255 0 R /XYZ 89 770.89 null]
->> endobj
-9943 0 obj <<
-/D [10255 0 R /XYZ 90 609.946 null]
->> endobj
-10258 0 obj <<
-/D [10255 0 R /XYZ 90 593.885 null]
->> endobj
-9944 0 obj <<
-/D [10255 0 R /XYZ 90 337.738 null]
->> endobj
-10259 0 obj <<
-/D [10255 0 R /XYZ 90 321.678 null]
->> endobj
-9945 0 obj <<
-/D [10255 0 R /XYZ 90 77.486 null]
->> endobj
-10254 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10263 0 obj <<
-/Length 2013      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~���S#5��DQ�$���`�l2ͺE��b ۴��,9�����9/�l�����%�<<��|�q�	p����|r�� CYB�`�2
�8C,��U�>$��tF0��ݔ�0����ݔ�*�
Ī�￑�:��no��,�F�f�Z�(j�~�u��f4�(f
T���LO���(�3�޽���pc'�/ż,��(��|��PlwE�
-=�X�zJ�P�K")%aL�:y5��8! D��!�����
�`�� �(K��n�6�i�E�n�	>�uB�;
Q�ǷV�S�����y�#���>�D�o��<}Ν�����Ɉ�qF��#��%�R�zo�VE���+|��X|��ϥ�L�
f4� �I0#�L����MGI.�w�����r��Q�/)
-V&�0�˪l�W��>"���pEĢqv�V����OF
N�E����q�������������zYAڊ�l��5 x6J���t+<{@��ĩ����!��0}���/�{{�ͫ�����F(I�� `�'
 eg��e!K&`�8�
-�����%C�
`
�`�
y�׿��be�1�?;�H�jJY�D��ۇ�hɢ:���0����oԴ,	��`�z�l�@Y� &�_�I0"�i�P�kՂ)��9�F ��\���h�fb��o%��˥Y��vuu�ۼuk����,���%Fqk� ���['N�E��lȋ ?�⹩����5�o��f�/��JnE�Ȫ
��M��w��(�fe�e(���`"�.o3Z�K�I�8!E�ѓ���
� W

�J3*3`>��:�b����/�
p
F�a(��W�ϩ��2֫/m�tta����@�/rSV�X�I]�c�W��ص���Oʦ]���ܴ������i�!�yoZ��	iHʵ����Հ�H56�H�2R#
�/E�9�[�f3R��?Ŕ�� T�)�f�(��P���
͋�D~��:�(hf�:`P��q���xgQ����)I�!'�
#{+�
�t]�_+Dq%��j�%B�
���ҠA!�;r�ܥ$��㞒-��0s�!ǽ��yCCӌ��/>
�$�ܫ��T�_wE\mu�􈩓��d~9���v��%���
/sA�����hm��r ��{7���Q� £1��^���l<8E(N
��^�pvǎ�H�<J���0�X(���,%��8���,u;�
-�/�����
��
U�<RR��&y�N��}��R���!�i
4>/��>�Mo;�@2�=�
�0c/S at e���3�ɮpqr��ى��jW��i&K�����T�G\k4��0H
-�
-u6B�@O��4�wPV�������'�e���
Ό=,~�k�!�=R\
��5�I�Hl�3�c�s��9�?�;�a+�,�y߲yYz�h0�o� 3���@��s
B�$8�B��$>�IY��#��3�i�`G�'ܯ��G+�π����m���3��������-t#�;�q�rS,���� �9��F��u���/�ȷ/W�>
��Swy;܍���kf�!`�P�[8�����]B�����(�R�H�IX�B
-u|ª���>F����	zS+��3(�_���	����˓~^��M�H	�,S�W�/X��J#}]+n�>H������w��e��b�M^+w��
@���R�s��Q =l\���� i|
n=�`7
��0f�
-,Ŝ�v�
-��<Ύ��/�9h	]�
�>v
-����
��<x�(�D�Ҧ̣�R�5�*�]6����+!��U>g�dȠ;��73�D�Qh�Gٓ�|���L�T�I�M��G��¥_��<������·��j1?IuW�yaI��q���7����e�Z�ekK�k$c
?�׌�'ѵ��u���	��A���,�e��=�RE�V�j��~5�U����'S�Bc�ۼt�*r����.���#����w¶
m�����k���$�(�.S�vw{s�����
ڗrW#���v��i#H!1�N���{[�#�,ap���Vk��� �3y�
-endstream
-endobj
-10262 0 obj <<
-/Type /Page
-/Contents 10263 0 R
-/Resources 10261 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10260 0 R ]
->> endobj
-10260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10264 0 obj <<
-/D [10262 0 R /XYZ 89 770.89 null]
->> endobj
-10265 0 obj <<
-/D [10262 0 R /XYZ 90 721.073 null]
->> endobj
-10266 0 obj <<
-/D [10262 0 R /XYZ 90 483.875 null]
->> endobj
-9946 0 obj <<
-/D [10262 0 R /XYZ 90 459.506 null]
->> endobj
-10267 0 obj <<
-/D [10262 0 R /XYZ 90 459.506 null]
->> endobj
-9947 0 obj <<
-/D [10262 0 R /XYZ 90 330.425 null]
->> endobj
-10268 0 obj <<
-/D [10262 0 R /XYZ 90 315.862 null]
->> endobj
-9948 0 obj <<
-/D [10262 0 R /XYZ 90 77.486 null]
->> endobj
-10261 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F112 10269 0 R /F8 537 0 R /F1 577 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10273 0 obj <<
-/Length 1594      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��J3�7	��C3N�m���zJ3
Z�"�|�$���]�K�d�#�$�/"H��������{{/G��F/|�)�$��l�)��\!!�n�
sJ'�f?zL�(	����y=�z=�6ߍ�f��G��
��o��޾��
��a�T�m�I��)�k�]�~
᣶��:	F\"��dJ0��R'�8,�����jW
Ա��o팞l�6�	��Z�a�'S���ـL���4K��i
�A=�6�b'pB�8̓��̈́�q߭�"o^E�y��]^��QZ�ts̒�����)��[��7e
Ƅ7*!��[�>��?�5�fg����&]7�|B�q�܄���̇���?���,-J{�*Ju��\}\WktQDYj���Y��
-)� M�Y7�� QI�I��X�V��;
��5�{�1������?����7��?����r�����v3��$T��B)hǍ����
;���Ύ�}`er�#�TV^/��,�,q�M؄	����V(
�nbs�i�f���H��rC�1��9������/�9�T� tn�\}��u	�S�ֶ2�I��cAT{�rqy	�䐮a
-n���&�i�cM�n%�j�?[�ل��6=,Nk3�`�<�D�/O�=���}e�
�"�͛�8��y���2��5��0��Ñ��R����	�?5T�ձ��l�,	=��C98���5
W3�rK�
�OFc�0���3Ac�Ə��BއƪE�$�%�?U`E|�a���K|
-�����T:~��%$*�G�X
V!%R�A�b��IT��WD�T���	��
�������ahUW�bX3���:�qSP�6^�"�Id���� J���
o�{y
���yK�������X�2�
{&  �y �kEaU�Yi�<�]kپŽO���k

}�K���~;S9`�B%T2gqA����d�TV���h�r'!����
�yX8�/Wn ��k����Cka��;����d�)��8ac��tt�%���%��ɔ
-0\���8
"gp	�
vv���ٱ61ݒ����^k�\Ԟ��S��f�@P�cy�&������c�AX��F �
�<�#����(��'�̹)[��
��h��Y���B�Ԟ�
�fI�>��F]��Zw��M�g,��>a\d;kS�{>~@
�9����&g�����
-�N	M������r�2���a&4�m
W�����8ˇZM�e�
r��wE[>�-i�SG�0��݄`m<���:f�pw8�֞W�����R@#"
-�=�
��k�@
G��#f
U ���k9P=�dr�L[�7��#�MZf���q�.��P< ����S�]�C~S�"�8�B��wqN�K�v��a�	���
�Dw�Ƴ��T���?���Zx��]��6mh/k�v�]�\Q�/Ao�2.�!0���#�����t��aJ�S� P�1 ,��w���[�rLx�G�{�7&����mMB�[������ο� ����
��0nߖ�L��.#�5��`���n�v{y��'۬t�|�ڷ���\_^\l�[4/�&��9�ʋ�:�د�;RG~#dY�Z���
\x�����
¿�dc
-endstream
-endobj
-10272 0 obj <<
-/Type /Page
-/Contents 10273 0 R
-/Resources 10271 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10222 0 R
-/Annots [ 10270 0 R ]
->> endobj
-10270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10274 0 obj <<
-/D [10272 0 R /XYZ 89 770.89 null]
->> endobj
-10275 0 obj <<
-/D [10272 0 R /XYZ 90 721.073 null]
->> endobj
-9949 0 obj <<
-/D [10272 0 R /XYZ 90 602.73 null]
->> endobj
-10276 0 obj <<
-/D [10272 0 R /XYZ 90 588.454 null]
->> endobj
-9950 0 obj <<
-/D [10272 0 R /XYZ 90 464.606 null]
->> endobj
-10277 0 obj <<
-/D [10272 0 R /XYZ 90 450.33 null]
->> endobj
-9994 0 obj <<
-/D [10272 0 R /XYZ 211.842 187.225 null]
->> endobj
-10278 0 obj <<
-/D [10272 0 R /XYZ 90 172.795 null]
->> endobj
-10271 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10282 0 obj <<
-/Length 1830      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~ϯ��f5Ë(�ٰ�i���6�
�"Pl:�&K�$��~�E�j����H4u��~�e�=x�{{������=�T@�v�)�	_!
����8"��xB0ƣ�1��0[�w7c�Gi��г,�{�ga�xue����u���G6:���۟/��RFE>`J��{��c�LU;n>\���ǵ��y
�y>�P�G�cEGz���Bە�z��1�#�La�HJF>eF�����?�`�XWq$�7]^|���,��aĔ�6妥O����p��v^�;�/�����ʝ�z=\��X������J$�q�
a�e�u
�|ÃN,�Y�ۅ�F
%:��
>1:ϣ4�kEj�߻���K����3{�����Ӣ�[F\ҲU	�*�b�\�hk���$՞b�vO����]�]s���'���.��!�$D��d��YX��I��
��
�fz�^ڻ�c�Ga�և
�ʶ,�
���[�t�.��k��:��9�纑
�u��l��B@Aױ���a�*M�G{� [...]
-�0u���ZA�_�ze<vbT-[���U��}0$���]�=@�&��r�hSUYj��I�
�V�#��Jq���|.�9ZcWYVu��nz�$J��r�x�Ȁ�� ���k ��i>`�D�簒C��E�E �`6��R�l&�:��!�IZX���:���2��,]ګ�>5���_
�&�5�'�
��P3c�@��g�Xg��*��w0��ڳ���K���j��\ж�ٓ��
���{�&LB���O���i����X�
�X'E��^4C����c@�A�H������0���S��ά�q� j`� ����t � X�����i;�g�ߔ ܘ?t>���]0�C8���:XR�E8�O�up<��n"

�]	=�MI8^�N���S�m��j����T�m�|�K>z��9�-:�t9Lwi m�:[�d^�cG����U�����1�fC��횝p�l�@m
j`дh
�2U��>ٚ=�X�6 at N���3����(1���P PV�L�9	.��/�a>�O �
r1��W	
M
/��F1�24�8  �gж�p ��4�f�i�:��
�Ķu�C��C�\ֱ�+�VB"
�
,n��\�A��a��"�.
N��
�n�O�\�0z����Ǝ]po�˺p`'��H��
(�Ȭ�#��bM�O�]�<�XC�"g������Ñ�V��Iz:�ޕ �l�ڶL�O����'���X���W�d�>��|5v�;�>z�l=�����٤����5 �x�G�����B�~5���� ��������lr�	���r��q��� �6�y_t9��E=3͍���r=3>H�H5ߴ�$~
�1�ko����A�8D� ����bf�
6h�c��{_�t�cG&�!�8�d��
��Mui�|�m'�6�Bێ�m�y�M�@��h;��9�ou҆Q�N����MLGr����BH^�
!|!�lh�U�F��w$�I.�I��y�a,r
-�w
% 0�8/e/|���G��"�fc�
�+��W`,<$�W��o6|���=koL
�p��~؛�s�};�|����0Y�n
��n_�dM:`�J�@�������d{��/��6�	������X]]^n64��:�V����*��QK
-�Q�Vc^�d�fu0`qY�cE}��˚�j
-endstream
-endobj
-10281 0 obj <<
-/Type /Page
-/Contents 10282 0 R
-/Resources 10280 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10279 0 R ]
->> endobj
-10279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10283 0 obj <<
-/D [10281 0 R /XYZ 89 770.89 null]
->> endobj
-9995 0 obj <<
-/D [10281 0 R /XYZ 192.853 534.847 null]
->> endobj
-10284 0 obj <<
-/D [10281 0 R /XYZ 90 518.599 null]
->> endobj
-9996 0 obj <<
-/D [10281 0 R /XYZ 211.842 247.494 null]
->> endobj
-10285 0 obj <<
-/D [10281 0 R /XYZ 90 232.625 null]
->> endobj
-10280 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10290 0 obj <<
-/Length 1835      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6��+�M+�D0��v�h��4iӴV'�4�%�fK�
-IEQ����(Qv��"����ƹ��<��<�q6�x!�����͖�ž�
-	�޻1�|�~��c~���aU9���gW�g����l�aD�'�+@ x����{�-`���S��-'�<N�����#�l�m�nE�D�0O��D��fQ��^�~k����2xv�'S*�x��t%a�fv ]��E5#J�Ƙ�6+��qB�8�7��=m]�Nߔ��HPA݅���q�A+3�l���C_8�}���a�p.$���>�L���q��ͬl}�Ӓ *�s�Z��Ne�<�ʑ��:�L��[��a����\�E�
^�o�8�?�j�$���.�
�f\�QR��_�
��&��o�u�b�I��^W�����2"��#���:���"/�̔q�8�
��U��W�/�N�A�O%�}��է�^��坥�rE$�cTcL^,./�d���0�7av�Yiѩ
-�h���Ը�M�<
)��
�S⦴�9 -|HÝ8�>eH���>ʇ�e6D�{�F�<]��
oc�zȁ�uH=Sn����13@>y+aS�����%J��j]��c��I�U������}�M7��l-��ҕֱM��ҳ
�+��u	(Ӈf�@�ug��dI���G���u�����Pլg�����,
-FTZP�'h�h[Bvq���n���H
���ʍ���O��H7 F
��w��@�
0��E�
-!�R>bHA�1�� ���
�ۖr�_��=�QsU��n��pel�d���j�#ZH@�%�{dy��m��N�@'�V�͛	�.���,��5���lwyi��s]�9f�Vg0�c
-����>� ԁ1�M�� )����CẼ���JY4�xw3/��h����� '��M��->�C
���)!�~M�<JZK̷NF�#y`�v����2E���� � 8���

����EI
%�}����a�a>@B9����>j ݷ)��\�6ݮ$d�9��x��`(��
��A��Z\ˌNaY�����.QVס�@@�{��� " [	b�8B�����F�S��7�
%v8OK��Q
O49 !.�&h}���(�

Ý.W��p_KД�H�ᲅ��Lx4fV�g&<�m�=G�0 ƾx�|@�z�i�H��J��@Y�|��	ZI��Ӽ3:���{�+
�
%
α�����L���"I��<<���nJf�Ցn�3�mu�Q�J���u�M`��
z�!��m��a���W�8���uF�
-K����A.@7
��C�qr!I0Ч̗�.�0��\`�MG� c�
�
O.�
 !����ׇ�
-�0�C���A*<�9F*H
�
-��4������ ` ²
-6�*��)9�*d�י�����1�X��g��#)
BTcF���{��T����H{O���� ��-v���E��b`����U��]�ٕ.����eȨROҖ;y9�b$Pau�U�	[��s�	Y�Q���.+
-bvc�fIZ��=Ȁ��:}43�����Ġa�_�A�
��
�#�?�
ș�@
1��+3�1�7g�3����9�Tl ^�
a����0�+��
`�%��Q2� 8�Н"�Hȷ
�2�*��l�y�=�v��:
�
-^\��Eu��:�w�
�Ο���Cr�y��R��Mԙ���$��
i	�2g�a_
-XԽd|c��@�{�0¾:��/�:�n"��E�0)�S��4�Ř��|73�����N���yj��׫�^��ƖсfZG�(֗���s�I�u���b��/�MK
-��
��.RWiV_:�઼�;H����}$
-endstream
-endobj
-10289 0 obj <<
-/Type /Page
-/Contents 10290 0 R
-/Resources 10288 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10287 0 R ]
->> endobj
-10287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10291 0 obj <<
-/D [10289 0 R /XYZ 89 770.89 null]
->> endobj
-9997 0 obj <<
-/D [10289 0 R /XYZ 192.853 584.735 null]
->> endobj
-10292 0 obj <<
-/D [10289 0 R /XYZ 90 568.666 null]
->> endobj
-9998 0 obj <<
-/D [10289 0 R /XYZ 90 371.998 null]
->> endobj
-10293 0 obj <<
-/D [10289 0 R /XYZ 90 357.463 null]
->> endobj
-9999 0 obj <<
-/D [10289 0 R /XYZ 90 161.417 null]
->> endobj
-10294 0 obj <<
-/D [10289 0 R /XYZ 90 146.882 null]
->> endobj
-10288 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10298 0 obj <<
-/Length 1378      
-/Filter /FlateDecode
->>
-stream
-x��[s�6���~j�BW[bv�����lۙ4�O�
����fY�}�-�`0�d��>�	,䣣s��e�������_ǽ�;
-)�z���Q��Bƒ��s������{�'�
�E0��S��f��Y0�=zȂl3��()r]�9�-k��@�~�i�����(��
\��zg�����)S������.;>�1��Y3Wq����
�u�b�6#7�Qg}"]��0D$%.��4�{?���#`;ĄJ _:�ww��)
r0bJ:�j����g�����au|4�R!����(V���_C�,�4�+��@(pk��p����I̋�h%}��/A
M'A6[-tR�,?���JH�:b�y���p�I ��F�&Ȱ��
�#̛4|Ƙ�LНI
)I�9�<�͜��P��zR�L;�P��ƽM��!#�JA���E�L�t�DI�.�A=��O��ff�4����Ai�PL�bJ ��ܽ
uT܀)�1R}��^B
j��
ﰤ���Ou���Q�@n�:	e	{ޱ6�	�<�&e��i[�/��#�]�]g ��c�?� �p�Fy�Eao&a�A�X
|��H^�˧n�H��鴕$�/̳��
�7�W{
Ҳ�����VA̞���A�ە
���EI
%����
*MJ�
8d�g�]��$�he��ML�l�;�RX
7�
���-�P}I�xc��?� ��o�(�{��6��c�
p��RN$�nS��-����ȕ���K \��)/Z %�"A��gJR�v�
����� �
0Ǫ����9�5��7��
��.
qNt��0��1ѡH�s��d3���U�Ln4x
-1�+
Q!1Bˣ�^Ğ�P����sgS..`�G��ɜ=;'�(!��F���-��U	�
�c��U@ 	��^�`�@.(��j��
�����ޖ�����
�3�q;>O�i���Ń.�Z'{w,
"v���ťj��C[��i
	��8\����,���|y!������Pb[->L	�
������D�<�N%�z�"�Q��gLA�DY�
�?4���?�gA�{]{�3��f��@$DGgAQJx�� C�o4��΁�0;	`��ێ̚dt�@ד�

�׿��x�ow>N�Ax`�;���S���
�c���#{��
�_��l�V��+�:�^y��
i�.!:�le��R���W(�.�*(c�G_����ˇ�7����u>:�[�����R�R^i���~����Jq���$ 7���o����.�o��/<������
��q]h AQA�^�4�w��\g?��pm?�$� ޾��R��֩ [b=MK  .��Vk�I�����o�*�[��͛sܼ(���p�^�0G�$Zf(*��e<<��
+��bz�����"�S%0��(q�� �j��
-endstream
-endobj
-10297 0 obj <<
-/Type /Page
-/Contents 10298 0 R
-/Resources 10296 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10295 0 R ]
->> endobj
-10295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10299 0 obj <<
-/D [10297 0 R /XYZ 89 770.89 null]
->> endobj
-10000 0 obj <<
-/D [10297 0 R /XYZ 90 672.431 null]
->> endobj
-10300 0 obj <<
-/D [10297 0 R /XYZ 90 658.266 null]
->> endobj
-10001 0 obj <<
-/D [10297 0 R /XYZ 90 523.695 null]
->> endobj
-10301 0 obj <<
-/D [10297 0 R /XYZ 90 509.53 null]
->> endobj
-10002 0 obj <<
-/D [10297 0 R /XYZ 90 374.959 null]
->> endobj
-10302 0 obj <<
-/D [10297 0 R /XYZ 90 360.794 null]
->> endobj
-10003 0 obj <<
-/D [10297 0 R /XYZ 90 226.222 null]
->> endobj
-10303 0 obj <<
-/D [10297 0 R /XYZ 90 212.057 null]
->> endobj
-10004 0 obj <<
-/D [10297 0 R /XYZ 90 77.486 null]
->> endobj
-10296 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10307 0 obj <<
-/Length 1358      
-/Filter /FlateDecode
->>
-stream
-x��[o�D���+��D&s�D,��hX��U��ncH���4Ϳ��~�4M� ��C��̙s����Ν��?��w
-;I�3�u
v7HH��!�rt=��0�1f����qv�qv�=\�_
a�R��V��k��p���3���V�
�K�r�� ՅDH�&��K���1��`�Y�i�)1yÚ�� �x��ň�p���j@����
-Fc*������"S�5��|g�	RM�a�2:OK�#��n�r�F���"�cw�sx��~:-nÜ$H�1ٔ]�
�6�Qč:f�	��v��D#D1��B
�c�u
6�.�d1��~�3<���)��u�TJc�)�O�J�U-�(�.F
-�֝h�$Θ���~�m
%�"nq`t|��y�T�A���:.�CεBE)�\W�|Ƙ�6��(���u�,�Ģ)e��1Gy��� �-8*$i�����
"�.��t
9_k�F�E�H�:t�'�ĥc��W:+]��E��\D����͛�h[�	�em�7�� ��
\Sk���|j2���e��DA�S݉�AQ��8�0��آ�I�Hy�-�>�fj��֡_�<;[(F�8Y�B�Uh��E���s?L��F^�Х`J~�/��}UA��+�h�`���SPҔ�N]\�u�u
W�C�.����U�ڂ Ɛ��
��`�
*�v�E�F
-˾���T��J���~6 Ð�`=������x�MB�:s���JP��4[U���i�8
޻�П���vDiO���F ��d�-�����.*|�Z����@�Bk��9�\
����
:#o�ڸix�
����M	��83M��Od�x�q��8q~��D�]��J����v�I�jӗ{��!�(?#�$G4�?ۨ{����4���X����.L�v��ԡ`	jj�sPG,C�IFg�Cӧ{��cX<:8ӎcm�._�h
�]DIz,���c/��7���nߡ^�H��χ4d,��
�W�O2�x� %2i����y[��
B��i̳�?@
�G��F"Bz �#	�ץ��x�m
���+���ȸ����0:{
&��T�Vº8-�J#�R��T���-�<�N�8o�y��iϏ7��m��'��C3V7��/,%�C>�C�N�����X�=ů�a�q�����u��~�: ^bQ`Ը�(��)�gXA՘,�^B�l�XJ����sC�f��:�A�?
#��'�'�� k�$��%`4,9'`R�ܐ�"O�����,���������_�h�.���DA� #�M
�F4��&T�e�����Tg?
r��֐�N�E�n���n�C^��Q��Q�N6����-)���P�=�u�0��+7�I��7�xa
-endstream
-endobj
-10306 0 obj <<
-/Type /Page
-/Contents 10307 0 R
-/Resources 10305 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10304 0 R ]
->> endobj
-10304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10308 0 obj <<
-/D [10306 0 R /XYZ 89 770.89 null]
->> endobj
-10309 0 obj <<
-/D [10306 0 R /XYZ 90 721.073 null]
->> endobj
-10046 0 obj <<
-/D [10306 0 R /XYZ 431.18 639.531 null]
->> endobj
-10310 0 obj <<
-/D [10306 0 R /XYZ 90 623.298 null]
->> endobj
-10047 0 obj <<
-/D [10306 0 R /XYZ 90 495.357 null]
->> endobj
-10311 0 obj <<
-/D [10306 0 R /XYZ 90 480.658 null]
->> endobj
-10048 0 obj <<
-/D [10306 0 R /XYZ 90 343.387 null]
->> endobj
-10312 0 obj <<
-/D [10306 0 R /XYZ 90 328.688 null]
->> endobj
-10049 0 obj <<
-/D [10306 0 R /XYZ 90 161.608 null]
->> endobj
-10313 0 obj <<
-/D [10306 0 R /XYZ 90 146.908 null]
->> endobj
-10305 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10317 0 obj <<
-/Length 1239      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��+|���~?P�CV3Q6�4ɐ��y���!�g�>մm0�Πh����vwu�WU_�{S{?�~
��
-{I�7z�
�7HHEރO0�2�����"
����fGY8�5y��l3
��$-�(��-�8���q�ipK��a�QąU�g}�4��)3Պ���Q�
�8���pQ��y��A�
-�C�x���E�f����, ڏ�	LM�ϩ�B{7���=b�G
T)�M��G�E0����
�
�s��{����k�0�"
QlJ�
��". ǭ�� ܰV#�Aw�sb&ͭ�[!�w0Du�hVB1Y�y��֡n�X�'�X�N
-7\'�

�o��g
Q�$�&�H�/3
-��p"�"�4��
�I4���"N�s��
�ٚ-*�u�$~��ܶ�!(���cV��[��BR�)fI��4���5L�9�R�Z3i^�f�՝�wV��r��'�d�X�E �<�˯��Y% P���dp	� M�dl%�nG-��gIF�>W�P��"���QT�u���L�s��Q��f��oR��E��X��Z�M�e�2�Nn#s��>�4�M��Lq
��CGa�4��6A�G��
��tÏ����&߹��Jm�H!��чQ�$3Dw`�Y���]B����
�t���cK���
U@ 
����?󒩊���p�cZCȫ�9�����$��D��$�@��$A/�e���}�V�� +ǫ�_�`���t�O傗<��۳%�}L-o_�"Uo."�J5���"����"a�$�B����/"D"�:�h���<\�д$��<(�c����V�Z�(��?�^\3����ϭtO U!jOMZN�h��zlO�@�O�?WMgޖ]I���]�p��V�t,hXz OC,��
I
"B2a1���Zy��h��%�+�
�T�s�C�;q�P05o�
=j�]�
?�۾�.9�!�����^�̾Q���7��@)f��]`N[1���Ġ�S�L("�\�Og�&��C��t]�d�_��i,KF��j������l�́"d[����6�
as`�;����t�Ӌ��]�����B!A*�zY��
U��
���,����h�@[.��a��n ��}��˿����%��h�Պ�l ��$F at 8Ԓ
-�Q�ǥ�β�����ݝ�D+�p�Ƴ�X
��z�&9zI�U��b�Z��1�'<��Nu>,��+�&���#���ޫ�
-endstream
-endobj
-10316 0 obj <<
-/Type /Page
-/Contents 10317 0 R
-/Resources 10315 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10314 0 R ]
->> endobj
-10314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10318 0 obj <<
-/D [10316 0 R /XYZ 89 770.89 null]
->> endobj
-10050 0 obj <<
-/D [10316 0 R /XYZ 90 624.525 null]
->> endobj
-10319 0 obj <<
-/D [10316 0 R /XYZ 90 606.973 null]
->> endobj
-10051 0 obj <<
-/D [10316 0 R /XYZ 90 433.617 null]
->> endobj
-10320 0 obj <<
-/D [10316 0 R /XYZ 90 416.065 null]
->> endobj
-10052 0 obj <<
-/D [10316 0 R /XYZ 90 272.419 null]
->> endobj
-10321 0 obj <<
-/D [10316 0 R /XYZ 90 254.867 null]
->> endobj
-10053 0 obj <<
-/D [10316 0 R /XYZ 90 77.486 null]
->> endobj
-10315 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10327 0 obj <<
-/Length 1390      
-/Filter /FlateDecode
->>
-stream
-x��X[��D~ϯ������!
Xm+J)
	�,�ȍ�Y
���!��3�;q�i�R��)��̙s��9�����������+�-���š=X[�Ո
x�;ۥʹ����P�h������n�ͦ���l�׈�_�"�������=�|X~caĴ�����r)��Ț�~ᓶ�)�$�1D]gL0�v
�֑�ƈ�W �nU1���~[J�K~��n
��*p�T�vz3�)	����݀Jb�lt>9�I�W:͛�����Ca=�=~��߆�S/�M&�r�Y�W2f�6Haa�J1ҧ

3W"Ŕ5�j�K�#�Q�\,O9׋�d���|���tċ '9���
�b��������.�l��_U��z
-�Snc�b�
��j8�ԚܮA�6y�
�(���R��^�(��5v!@��~�s�E^ ��nq1B�`VYI�BH+�T�c�
�M��m����M���
っ���s��;�H��ePѱu��
Q
-��Zc��%S�.���Lo���M��$F
œ���l�[�M at fGÐ'u8�4��&��]crL������y�A^鶝�ܟL 5.���(��^�ܬ�8?��H���&��6v�B	;|(<N ����0����b@
%�R~�� ��C/
����
b'�$J��q/������Q�o��
�!D(���
jS,�/����

›F�A:�'�M�"�����:D��*���i���K���c��
1R�[n�-
>�9"m�
i3�g��h�}i��`
��"� ��%
Sf��
�"���d�_>=D�F� �g@#E�
��
kCv���0��,�(p��c|��� �L)��8��s<�������&. >�¸E��
M���3��x'�"L�y��K_
�)��6��.�_C�mr�%
,6_���u�e5���zd�
�p{G�ih0e�`�q%�
5(a��s:�>ס�і	�	�
�ٺ�6�$�o���ydm�
u4����ARN��8c�*�˲p��
cm�&j�9

i.�O�K��ۙ�F5R�
(�g���*tHmU�zY�=�f��=�k�/�?3v맿�n���'���"�I=�@w-��P]��<���hv���'$<�,��1�u�.�e�i���sר�����
��dB)�8„T��LH5>�	��#L���L���޷68�aBcm1$TnY��ҺB��Xj0!"I	���a�N4:�$ä˒�XĬ_�5uV#��,��~PjR���� U�����gځf,�
��EhO��
�ݚ�28Q��@Q�VhQ��T�~�pnW��o����'�
-�v� �Դ�d �L���K����GE;F+�n��1�ד���v����:Ea~�^GW������vjhf�UROEa
��������c�
-endstream
-endobj
-10326 0 obj <<
-/Type /Page
-/Contents 10327 0 R
-/Resources 10325 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10286 0 R
-/Annots [ 10322 0 R 10323 0 R 10324 0 R ]
->> endobj
-10322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 278.185 212.124 289.089]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 86.288 210.103 97.192]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10328 0 obj <<
-/D [10326 0 R /XYZ 89 770.89 null]
->> endobj
-10329 0 obj <<
-/D [10326 0 R /XYZ 90 721.073 null]
->> endobj
-10054 0 obj <<
-/D [10326 0 R /XYZ 90 547.054 null]
->> endobj
-10330 0 obj <<
-/D [10326 0 R /XYZ 90 532.678 null]
->> endobj
-10055 0 obj <<
-/D [10326 0 R /XYZ 90 365.11 null]
->> endobj
-10331 0 obj <<
-/D [10326 0 R /XYZ 90 350.734 null]
->> endobj
-10056 0 obj <<
-/D [10326 0 R /XYZ 90 173.213 null]
->> endobj
-10332 0 obj <<
-/D [10326 0 R /XYZ 90 158.838 null]
->> endobj
-10325 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10337 0 obj <<
-/Length 1672      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����&3͋(��6�
�b]�e�W��
-C�[�,y�
7�~�"%K��$]:`@�"
S���}�
vv^�~����vR>��ٵ��#<��o�s��<<!c�|L��`~>�����e
��UrU��ɉ'YUƕ]�?���f/��	�lFE
`J���fI�
؟2լ8�8�
��í��Us�e9�P���XQ7^�Ӡ���m|
c"�8
AD$%�G�V::���
P�
bBő�N�]~�N�FLIg[/Z9
e�7u.F����:�3�R!�=GQ���&��*� ���� 
��D>��̨�	�>�>�~7���p���Љ��k+X��-JVqV&yf^�e`�n�45OWv�&
󬬊 �����
���Hz�3�>���)����H�AĹQQV��I��=
�H�h
�
�_

��H�]L�|L����nrm
-
2��£�7��1��H�K���YS-�Ҭ�g�G�h%�ٱ
�$�x��A�\���m�TK�gVdR&`��:�˶X��}�b�\�
ލ	!PcI��u�a�W㰪
��z�����' �U�\�o�� ��%���
��q4�ʰ-�.�P)
";8��҂U�4�!\@�1�
C
� �ݮ�
�<��� H$�=�T��F7u�DV�+�H
sp� ��I�D~�*)�9���.89�j����2_��,��`z�����vb<aXB{p|
-U�Ɵ��vn@����f
-� T�Ua�ɀ!��ڥ?4꼞�X!)����޼��������?��h�
��ߵ6'C�A��m
\&Y
-=�a���.��BS�h��yYBK�Z at M�*���PM�!@C 4��+�sT��u�-,��+
�M�
���nV��.$��</�$�,��=�"�Y������P�܅�0�P��o|JVAڸ�5ikm=J
2-�� ]��feô)�#<�����M^��L
r�tS�gm�,��z��M������Y��b����5�,�ǚ�n�w�%���z�F��8���О�>EtGMM��)�D�t
5fOa�1�i�0��c
��1��1$"
��1ԣ�z5c�s�y}�gw;���3��A��3�
��
DvH�w����{�?���B
%�-�8�;�[Rq�)>���C؊J8
���.���=l�����AÕݹ�V�5l�@j�
-��l�[��׹����@��a3�7��08(�*$���u�E-�V��߾
������!�}:}�����#0�7,VZ��dԴ��NǤ�	�(���()à�9���Ě>!��������}


3<�
7�:<|���=�y{Ã��,�Ds��da�3/��ǺE�
���v=98��Ѯ
!��k|��)�e �
�?��[�٬��! �'?�V
�vs�����`Ot��"Ȣ=�_R����pDd ����g�|�;������I�<�x
�Z�_57lZ��-�DOZ�Ҭ����ªY9(
-ķ���7���F~��������+v,���Xu�Q+
�4݅ ��45Qf\Of{w=���[N{��w��#�C���}�
>�{�?+ �\ɽI�\3�Fc����y��l^~/���1����A�if
�u�l�ݕ<�BT��� �]��d`<��i�~չ��K��X�]V��d:�n�(,�&K�J��z�Ng���u��
�Vy;^d \:���W�a
-endstream
-endobj
-10336 0 obj <<
-/Type /Page
-/Contents 10337 0 R
-/Resources 10335 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10333 0 R 10334 0 R ]
->> endobj
-10333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 646.214 483.212 677.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10338 0 obj <<
-/D [10336 0 R /XYZ 89 770.89 null]
->> endobj
-10057 0 obj <<
-/D [10336 0 R /XYZ 90 626.111 null]
->> endobj
-10339 0 obj <<
-/D [10336 0 R /XYZ 90 609.764 null]
->> endobj
-10058 0 obj <<
-/D [10336 0 R /XYZ 90 422.979 null]
->> endobj
-10340 0 obj <<
-/D [10336 0 R /XYZ 90 406.632 null]
->> endobj
-10059 0 obj <<
-/D [10336 0 R /XYZ 90 193.164 null]
->> endobj
-10341 0 obj <<
-/D [10336 0 R /XYZ 90 176.817 null]
->> endobj
-10060 0 obj <<
-/D [10336 0 R /XYZ 168.903 77.486 null]
->> endobj
-10335 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10349 0 obj <<
-/Length 1947      
-/Filter /FlateDecode
->>
-stream
-x��Y[��4~�����
�\$X�"�eY��˰���;
�IIҹ��9�s��2�
!�}j������;��ލ����M/}�(�Tzӥ`������3<z7}�1�	$�ʇ_��fz�fze�
.���^a�8�ʛo�ﰷ��W
F,P�]>i�q��w�]
~���q{��D
12��03��Zg�*q���KU���Km�r3Z�}v������ƌ�T��۫�i�L� ��+��I�������8\2�N6z�vDa|��2�D�^���<L&n8���d�
���$0У
��

3�#Ŕ7B��{l�>��?d\�_��"\.M2"jh����4
o"0U��X�y
��{|�aD)�	=d8�V��`��V��Y!w��Ռ�

�T�'�ᤔ›RR�2�:��ad޹�B�B&l
-1o�!d>s
��}���L�a�u�kC
�k��Y�*m�(R%�*L{ �	*�I:r{ڀj�7���ڤYnj>�6����;��m߇��q.�u�|!d��(�	Y֭����?wѼx��7:��Si=��s���P��4�ĉ�¹^�t�ĵ�C���uc �S���J�9UB&�ک�
9D"��N���HUN at 9���=�D0D�Ɣ"&|���~n�6$ikm-���
-�D5t��b2�0p<���p1���nc���LK� �&����*�>�s�Z�sd��9^�T�׉)�,O���0�Ǜ-d���A}8L	� g2�O�:dFO$3q��ԓɌ��lV�x���d�z��\ ĝ�eR�c\�j.KCp}�|���0��we�>�9�-N��'��9�R
�4
��&�1Rk��'5�0?Fj��AH����
"7�D�s%�
ncH��<h��P�eK�䦨]�~�]�l
��61�In!'�~.O@:w��Ľba/�N�y��a�]���j���X�l��%]bDj
;�a�4�?,�0�#Z�Z�ujz�1�p͟aZ*���,��G�-=G����(�a�(�H�ٚ��"I�/�f�0��'Z��9#P�},#�gaD�d?#
-@��
@L �3"��6�/O ���#Zͳx�㛇!�Wp(7�&Ms�-$t �(��JVҩߡS������7�~L�'�zi1223hnl�]�%��G�I�mb�v[ɠr�N�
��b("}<,�����G'����kN��u!$�C�4 at u2��gO�G�M
`a��ۀ�"6���P`�%:���$�o�jtͽ�� )^�`a�xF:�����
��hڂV�Z햡�-���IM�t%H��x@R��������<
��s����2�*��^�e�Sϥt���^�WЈ	qv�w��ȹkU(����ux�@��-����:wm:z�\<:vm ^��ĸ�{�Q�x�s'3��'��uUZ�-\��,����
%�5Y})T�ӏl�
���<) �iM7Š��}�%F����a��'U�������h�Ӵ��ZA�Gl����*����rv;��'Te��:#����W۔q��
-1hEn�5ཆ�ʚʪ$�Rya�4��hZ��4e���Oa�C�
)�\�a*ח�q^��X:珢�tum@��2O��:kf�zW�@,��c_���U��sw�q}w��R��x�v����T��m��c`�G�u�F��5��# �����f1��
���V�V�n��읠�]��ٚ�/�Z��P�(z�/p���(.�R�د��
�W��h��9��P}K�kV
-`��6�j3��T�Շ�E�_v���m����xsb�]l�m�>��
x���P(�)���p�
��n
j7**�~���S�I�ߢ���6)��0v��eyW��[K��d���r���r��&�|$İ@ğt�+��:���V!F`+u�
���)�g�_^���A��
���V�U�m'wwwh��]nf����1
7�@UT��M�T�s0���n�N�
-endstream
-endobj
-10348 0 obj <<
-/Type /Page
-/Contents 10349 0 R
-/Resources 10347 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10343 0 R 10344 0 R 10346 0 R ]
->> endobj
-10343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 494.87 293.971 505.774]
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
->> endobj
-10344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 311.178 238.02 322.082]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10350 0 obj <<
-/D [10348 0 R /XYZ 89 770.89 null]
->> endobj
-10351 0 obj <<
-/D [10348 0 R /XYZ 90 721.073 null]
->> endobj
-10121 0 obj <<
-/D [10348 0 R /XYZ 90 593.464 null]
->> endobj
-10352 0 obj <<
-/D [10348 0 R /XYZ 90 579.374 null]
->> endobj
-10122 0 obj <<
-/D [10348 0 R /XYZ 90 421.727 null]
->> endobj
-10353 0 obj <<
-/D [10348 0 R /XYZ 90 407.637 null]
->> endobj
-10123 0 obj <<
-/D [10348 0 R /XYZ 90 167.258 null]
->> endobj
-10354 0 obj <<
-/D [10348 0 R /XYZ 90 153.168 null]
->> endobj
-10347 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10361 0 obj <<
-/Length 2107      
-/Filter /FlateDecode
->>
-stream
-x��ZY��
���Sc5�����&@���/�����P[ve�N&����AY>fcI�'I4����d�<&8�f������
-'Ie�J
N7HHxZ&��#.'S�1
�O
��6��O(
�6/k�,��w��"-^f3������a�;�l
X�|x���kB:�(��
�T���["y�?e��q����
�8n�|u�̛Mz8L�T����б��7ii���ve�	�c�/`�hJƜGt��a��28!�T)�,���p���o����s�i�p��Iލ�5�]�
ٳ:!������=� !#f\�>@�= |�$�>?b̂Ҵ�	��)����8��i��JM�_����Q�%]M�p�hn�t��f��>�
�w��
E��[K��/�i�^� ��)_��.�O�t���G��ɩ�Y�qc���l��SZ
�w��
��Rp:�2����h#�?g'D�#�ǝ�. {���I��
_d4���CBJH�Ɛi�
RV"��,m��fyZ��Iw��(rz/����sS�ؗ�tkK(
-�����|)g5�pM%x�s$���69
�!�#�W+�k�����T�Cݭ
�*
e$�2�.�ғ+Ve$��ͩ���NiC��
i�?mmQ��z�\{��$
\#I{�qJ`��P�H����ٯ����]b��p�*׏`��
��u�uU��Ӧ�F��)p @��d&�,�1�Z��ia+^æ��C��Ͳ|�A�t�-�i48cZHzCLk�b�y�p���j��B�k�� Ն��mG�g
l����N2
F.$��1G)�`,��m:D�Ya���
���i
-3��i�,_���̚bQ���!�酎��]�Vy�
����?]�S
��ˀ�`�����Z
b+*�G
��s��!Ntg at D
�,L�e=M
�i�t=;4�)@����9�
-P_�S��"H�
�k����lh�|�'�s
-N��d:���s�d�r�^
������6�����Wҹ�Ϝ����o7�F�O�V	
�G�
�C�?O�B(�����w/ۏ��m
i�8�����v�8�MH��jm�(	#~��6-�o]�q�{�1
�iH�!n�q�R��$�H��ov�2�"�j=/�4+�Y%�����A
kD��
� ⺙E�Z��QLAk������r�yw�u�w�n0A�mWiw�\�8@�z��,߀�?
�`L��N���i\�
c�n�
$"�4�:
�v��
-���7�&�
-C

�ec =����NF��!�"��78�(�D
i����:�	K$2
-J��k�u�  B^ၺ$����]hB���u�5 d�8�y7�
bF2�w zQ���<���0:
kJ
ʘ6׌=xZP�3YgzUh8Ts 3J��-��h��ih� 1:�H��!��|)��0�$˳��0�������R^	��{	}WY��8z=�;>�
-��͏�L��$�;�qJ
��	���$���O�Š*
i5��
�+:�����P��
�gL~
��>i�HbT�4݂��]�zG���z�ܝ������>uk1��E@ԭ���j���b�L�^�~=8�0�SV����g��*5M+�g�S�8���)�y�)�����v�=�:ӡ��u
�
-����_8u�
pZ	0
N
"-:���"�
-}m#�`0r�
fz
O�7Iz�
9��f~Pdo WbR��]y杬���u7}�w��@�E�(Ow�A��H;d5����_B����Ƙj'��.�9���!���}Őis�J�o�U@�}��F���1W�{%���ʥ��>�4��]�틷k����w��P��"��Lg'�>7��z��������'��\u�
�%,��i�U�z�M��!��E������`���x�m���[�gQO�"ާJ���w
�:�=����0�ן���\iDQ���_S�<L\��u
�Ç�al� !����Q�������`{�����v/ɮ�gG���NL�� atO�{$�<
��?���?�p��!�!����O�'OW�?9R�&�04SD=f�2p�;[W������*�:�@C�G�e����=??��=�پ@Yy��o��ڡBxgV[�o��"��尸�����G)�
-endstream
-endobj
-10360 0 obj <<
-/Type /Page
-/Contents 10361 0 R
-/Resources 10359 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10345 0 R 10355 0 R 10356 0 R 10357 0 R 10358 0 R ]
->> endobj
-10345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 707.957 246.767 718.861]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 438.493 431.977 451.411]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 265.136 513.996 276.04]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 131.773 476.603 143.412]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10362 0 obj <<
-/D [10360 0 R /XYZ 89 770.89 null]
->> endobj
-10124 0 obj <<
-/D [10360 0 R /XYZ 90 551.709 null]
->> endobj
-10363 0 obj <<
-/D [10360 0 R /XYZ 90 536.382 null]
->> endobj
-10125 0 obj <<
-/D [10360 0 R /XYZ 90 243.71 null]
->> endobj
-10364 0 obj <<
-/D [10360 0 R /XYZ 90 228.384 null]
->> endobj
-10359 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10373 0 obj <<
-/Length 1768      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W𩕀j���Zh'@��n�>9�@[�ET�T���|}g�K�KS�;
�扷ݹ�̙3��#
���<�<W82�H*��,28R� !�i]�9��w��#aW���o�ǧ����[�t���G��� ���ղw�GSx�2ˆ
m�EˈS�Et�����-�i�M�VH)B!΂<Yl�j��s!�E��w<OC*���*sO �r���%%T>,�
�D���$���!͔!��=���2��b�����]�ڶ�z^��y�M�����g*�o1���
��-�f.=�7�9��i�$[-Ӭ��?B!�x�1*�]��
�kQ��
�[瑽s
ٻ�#�&�Ƚ{�^���
�/ݿ�pf^�6-�Q��`�,�2q�L 	�
!w�΅[�7^��8PAP+AY
9F�*��@�:!�﯒ҬM�s��6`��ٱ)��Q�
8��Ƌt:�s�Ձ�0�;�|e��B�8��tf�����ꑉ�v[�ޒ.
R��n��	��;ҷg�W�����2iW�Bژj�M�r
@B,�D�2�u������t�<q�OS��M��OJ�"̒4�Z-� �
��
-���N� $��|w�N�f�]+.[�&v��:��kC���`AJE�(Z�v��m���t�ct�vHb_���׾��yы.���&g���<���f��Qb	��*�:�� 
-�R��]Gi7�,ka	�
��<�*�7��hb8Ғ�P$�qr	F\"y@�!G�d�y� }o'@XV�
*�a�:틻u��K�vR���O�
2A�
��C$�=��ykQv�N��s�e<9Px��&��J/�8����4+6I���-�$�
�P��9��qU�Rp�{|�
�\
r.��ht�dЪ�0y�:�$]��e��eO��/��4K�|rj:Sս�`�o�9A/�� ,j��MW���t}��
��Ƨ��̮.�C�%⌅�ifw�bC�n��ܫ}��}�ݾ"����7 #f
�T�x�kH��.�l���(P�6	8?[P�xr�Xz��j�_�:0�C���)0

-W4%Ni�0p�	�N�I��U_�MDž�R�Q�'w�'���r�o���"��`t!M�A<ٵ�:Ł�>�/.�)��#�Z��0�@67V������0e�4�r/��
�������<ɻ��YT��0�� '
Iӂ��W����lLO�/ﺺ��A>ܮ4�3��%�!!t�k��
D
�C�( ��&�vH� k48�},� �HqoFZ$�O7y��,w�
�w}���`�a҈��1�q��ᤀ<���r�}�C�h�!�k���&�e
�O�������!��e�!oG�R�
$���6
�iP�90���E~������������Gi���J�:
 �j;@�m����{7��
i.?�'Ҏs��x����H
/
���+���Aя���zv��A���
�k?u�y-��F�]�`��$t�������q{;�,�q{@�nn���=�v
�9�	��b��t�{	�U=��݃	;v����� ��!��-� ��b�i̎f��(v/>	�gb/�2 [...]
o

-endstream
-endobj
-10372 0 obj <<
-/Type /Page
-/Contents 10373 0 R
-/Resources 10371 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10365 0 R 10366 0 R 10367 0 R 10368 0 R 10369 0 R 10370 0 R ]
->> endobj
-10365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 606.599 513.996 617.503]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 486.198 429.297 498.677]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 340.62 195.105 351.524]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 232.175 440.282 244.654]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 86.597 195.105 97.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10374 0 obj <<
-/D [10372 0 R /XYZ 89 770.89 null]
->> endobj
-10126 0 obj <<
-/D [10372 0 R /XYZ 90 585.533 null]
->> endobj
-10375 0 obj <<
-/D [10372 0 R /XYZ 90 570.746 null]
->> endobj
-10127 0 obj <<
-/D [10372 0 R /XYZ 90 331.51 null]
->> endobj
-10376 0 obj <<
-/D [10372 0 R /XYZ 90 316.723 null]
->> endobj
-10128 0 obj <<
-/D [10372 0 R /XYZ 90 77.486 null]
->> endobj
-10371 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F104 2226 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10384 0 obj <<
-/Length 2027      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~ׯ�S+�x�$�
�� i
-l�n_6
��(��D�$�����
�ËD�r�
���D��̹��D�{�z�N�|;��Ƨ^HB͵w��B��2$J�j�}�2J����t�~��4*v�����i�}z��E��>�+��i�����*㪑1�<�n�>�~w�
c�ø�D*��g�ފ
���\�N���w�cz|"i��Ϫ�z��l����B>�w�6�b{�x3L�t�[,�l*�0J'�n'��0��
��R���n���ָ��G���y�
�n���M�٨3F�Tt"���|�,<�=����u�S
�������x�����p�����$9K֍�W�NIx����>	D���P��jEA�s�x-w�>]��e���R���d���S����0It�u���X�8��6XQ1PAx�D��͕�,-+{��IG���O��̲L��~��3�F@�3�w��<z|�@hC�

	�SI�P��p:k;i
>��(mH����עʧ_gq
�U�ղ*��*�ڜ�=�߯c�+�)]�i�KҨ��
P�А9�?8mrPlZ~
c�&�&fil�l�uѬ
F'5<�1x���$�"蟬��}{��
�қK؃IP?�'��>53.��*�����9)�yޙAEc,�
�0he���
1 ��w
U=��P�%��f����[7�Ϝ�.9_;�Ǥz�q�ǫʚ��P<�%2���oF��N���`��V:�̸ir��VOc
�j�J�<�ўF�1�L��r�a����_kw'���¶l��}.�
����n ��zZ�4?��сlW�]A��ZU<���'�eXAT;�rY��
-�Rf�:�<Sl�c�8AT@�f��t�TM8�gޓ�N�;4�
a9�C�}�F�H"�n:��4�p0T
'T�k��41
,�H ���u��
���
lJ�"�3oS�]�vaTX���;5#5 >E�J�,��3C!�u[�
��l:�m���>_���ݓ}���AK�k��
�>�xޜ?g�P����)��)"udv���E���nh�63f�4n������|�gLMa�]��xҘd=�G;��'ș|�'�<�2^Xs�8(�S�(@��֞�j0��v�,��*�с�Zh��T�^��Q��������Zb��|�xٙ��s�0��3����M0ks�\����,2e|��
��V���3��3mO��>ڞ�@7$��O�8�j{_��a�AY��$�I�m`�q�L�B�oo6���AL6c(���Dp��W�
����8�~g��
��nO
0�p���8j��jD#���r�U�I1������W  (#��M9�׀p�������	ri*z��h�
c���n^���


Q�� �\�SU���)�Ⱦ�y�:4��Tǡa`�v�^
+	Y+DFi'���"�!��C�.�w��]����0VGN��£�t��Rx*�"�hJ��?��k���7
-�k��48A�1e:�{���F�H��~8��5
-
��F�;x|͸5&,
6t,
&�,�D�,��`��!} T��%,��1�ËX�����(H
M��u,�Qe�
��%,��h�/`�(�_��+L�b//���@���f��7��X��հx����X���f����/�x���_������8`�Jf	|���2�Y��
�*Nk~��2���C�
���-�q~
��M��
��gg)'��r
-�_��,����`���@�ηƽa����vA:c�־j�y�gP.s[.�
�||W�q�����B��W��I���p�jt��y�b�Ot!mh�6�� ms آ@ɻ�IaG1�ewU�"X۫��SWNC
%�cR��0�L��'�l��X�q�z���I��}�r��e@ ��$\���\�z���
�k��q�8���e�k�s�2֨ť? ����B&�
-�>��`Y��K��e����˸��L�i���ҽ�f�~6�0CەM	b�-\����U���_�{��I
���#|"h;

�*_��<>>�UI�i�$�n�|{s
>{ZX�m
��e�$)n�jBy��a�$�
-endstream
-endobj
-10383 0 obj <<
-/Type /Page
-/Contents 10384 0 R
-/Resources 10382 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10377 0 R 10378 0 R 10379 0 R 10380 0 R 10381 0 R ]
->> endobj
-10377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 628.839 422.924 643.555]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 353.782 425.662 368.497]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 103.913 322.446 114.817]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-10380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.409 86.288 332.425 97.192]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-10381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10385 0 obj <<
-/D [10383 0 R /XYZ 89 770.89 null]
->> endobj
-10386 0 obj <<
-/D [10383 0 R /XYZ 90 721.073 null]
->> endobj
-10129 0 obj <<
-/D [10383 0 R /XYZ 90 465.228 null]
->> endobj
-10387 0 obj <<
-/D [10383 0 R /XYZ 90 451.52 null]
->> endobj
-10130 0 obj <<
-/D [10383 0 R /XYZ 90 190.17 null]
->> endobj
-10388 0 obj <<
-/D [10383 0 R /XYZ 90 176.462 null]
->> endobj
-10131 0 obj <<
-/D [10383 0 R /XYZ 111.798 77.486 null]
->> endobj
-10382 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10396 0 obj <<
-/Length 2817      
-/Filter /FlateDecode
->>
-stream
-x��Z[�۶~�_������ @�Nۙ:�x���&��
��+b%����}��
(H�v���I$
�ܾ��Pt���ٛ�W�W��	:KH�hv�8K�L		#��f`��?�x?��-5����_�x�Ϯ^�_�~��#:󵀐�x��]��@g
�0��'��&�f���]�tE/������5}J��p��§�z���i#q������8!\�n��gX�=�	�q/�t'�
E����{�L���7��飒�̧�O�2όL�K�]���3�
72���?�*��77z8/�Z6f�r�
8v�%�%<$��l6L�P�<�$�%��^q7���P��eZ���@��+
�,�F��2O蛧[Y/���Y�Zv�x���SZ�.�
-����/€y�ʶ�d���h�ZV���<p���܏�<k6��H0�4Ǣ�kMqa͟��ee-�&m�pjS�^h�X��XD/]��
-4Y�J)�!�T�O|B��V�t,������:NJ��/�uyw�!�H葊�+�
n̵%�(�;}�r�<"TA����NJ0�t��>+�CFH!&����\��a������l6��7�6s,�P"B���#���3�V�r�t( �q���UZ�E�?�Y�n�GW&CP�����&k�V:�0Npq�����A��y��
�A
]-��)?��-�+䁘-F��Z�;P�6tݘ�_����.�\�sLfz �w�
q���ǹ�$P��USV��t%���[{��lHf�U#<T�FV�)S( ��`�Y�7zDz
-c��=6��J+��ʹ�k�������]v,~SS��
-b~_B@kc�r>�7X�m�n�y�ѹ��ԴSpF���PF�|�&e'69(�w��A���,� �f�����2�m,��K��$O����
-����V�
-|T��Y��e� P
*4�m
-$
!���٤ȳ�rL|5�Q�6�u��Z�QӔ}p��>�a��}pN��il�a&�G1mSlj�ā7�؎
SWϦNLX��m	���Ƃ
�-n
���KQk����o�?�����Z�u}ؔ�ԗOh���y"�v����& �#J�N��#��8.Jd��@���.��� a�
�Z�bB=A���B�	��$
'2T3�=L>
&'�GE��gN�}�c���U���H�.`�8��^��d�Q��x��H�Ӣ,�|%-�%&
�E�T���)�b �x`<���qq��sC�S�7
-
�,��N`|�Y��n��*��-˽�#=
�mWf�u�VF�!WU@���@
��`��TP���|��j��S����e�XV;e5�G�]^`�S�Z/T��6���{�0�ɶ�d
@��-$x���Ԯm��Hȼ�U>�z�0�>�r0A��o�
��	x�~��	���0^�(��nd
���nk�Po
C��
�J_x���w��b^�6e[.#�:��Uj�c���]Y�+��U��^j6�D��ޑ,�u�m��z�<
y
���s�a��'��
c�n�Q�ȓ(��hǪ��ߞ�!�ɤ��;Μ��
�n�������s_a��x��U<#�
8�F
�k�Մ�z7Z����Z!��t�b~�����,�6��l��J��a9Q:�ݾE��CF˲����<��cNjD���e�|DxA9�70���{�k������c8� ��4@���)�éKp�F�D-�6�J��,��
X'a2!+�veh���iӱI��
b��rY����3G�L�iD���#xܼ|>�ʤH�:����q%��2�Kg at 8@�j���
X�S�ͳeZ�[��K9{`3�4� 
�$���I H8P���
���sfq�>XP�  ��,��
0�����FxD��%2b5�D���YU9#�ӈ����c@�d���O."�e��� ��&	�A��`���!t�c�.6��R	�)� pY
��	�n����пB
=��z2���i^
��,u�8k�6
-��Z�I�sWG�}��a�S��T�c+�u@JʿD>��e��xT�c������j]�T�
�	�����Dk]����P�Te�� 
-Z۲������̉�hV
A�P�Vv�!�b~���:̱�Q��+��N�n��6�*5����x�b���q�[ӚQ��e����GN�+Z�S�%P4�^���%V�}�r�د?�`��;m]]�rU�e՗��ϱb��������6�:
-����XŔKeJ(O����*�`��V}<^1
c���` ��G��;��t�����,0X��H�p����D�EtFX�
�G� ��� |~����>��c����
�
Լ�;�0���%SR�j��`�{e�!.T#?��j���m�,�G8��˭:�wC�}W� ?�.��
^�� ���gu}���
/J���
��f
��E�]��B�9��
-�>�����p8n[��N�pX�7�K?.�u|�
-�ŋ���/�\ ��a��S��b�5�p�,�T
� ��s`���+pݾ����yp��
M�*�܌��*�\]�G���iPh�.��=��?R�P�>N�
�8����œ��L?��ym=��9Q4����&(r�?
�~F%�$�m
�4
�TW��8����N�M�"�|{������
9a�  ���	va�O�0R���2�0�Z�Cn-��`@<��K��[
2�+�+
��T}��ZV���
��WZ�
�D`6�ں��G	���>ɂ��.��z��uW����Ѧc�էئi�7�ׇÁ�jLv_����ܺ>�z������^�guWsBl���:q���z
-endstream
-endobj
-10395 0 obj <<
-/Type /Page
-/Contents 10396 0 R
-/Resources 10394 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10342 0 R
-/Annots [ 10389 0 R 10390 0 R 10391 0 R 10392 0 R 10393 0 R ]
->> endobj
-10389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 618.063 116.998 628.967]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-10390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 574.028 206.372 603.094]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.155 409.53 392.657 420.524]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-10392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.187 86.288 399.221 97.192]
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
->> endobj
-10393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10397 0 obj <<
-/D [10395 0 R /XYZ 89 770.89 null]
->> endobj
-10398 0 obj <<
-/D [10395 0 R /XYZ 90 721.073 null]
->> endobj
-10132 0 obj <<
-/D [10395 0 R /XYZ 90 302.265 null]
->> endobj
-10399 0 obj <<
-/D [10395 0 R /XYZ 90 287.195 null]
->> endobj
-10174 0 obj <<
-/D [10395 0 R /XYZ 448.074 188.12 null]
->> endobj
-10400 0 obj <<
-/D [10395 0 R /XYZ 90 170.893 null]
->> endobj
-10394 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10410 0 obj <<
-/Length 2514      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�~ϯ�Ӯ
�^D�J���ܶ[`v&��٦cMmٕ�����
^t�b'�����)�����\?���Ft�������EG	Ib
������T���bt3f�D�d�(��F�i�Io?L8
o��+�(�۟�Y��WWn:˫�T��
L���?]�a���DR�(v�?;��<�?I������E"Z���Y6��iYN�\���$�c�٭�ʸ��fi�	�c��a�i�Ƒ������ſ/��#�T%�ң����3
-`��%"ѣ�%ڌ".�w=�t���Z�j_'��h�XD8M����Ӎ�@�V�>#P�V�AvB�pl�;+/�ȸ}�?��W���v�e�;;S�R�*i-�%<
-�7��uv�D���7Jy�Uf}�X��J��[k1��F~!,^�"�H�Y��VY9$� IM�2���%D�L�$
�î9,Oin,�j%\��rd�����Y~�Oz����*���]�u�3���K�p3�b\�lg_̼*	%�����Q�qݪ�0w<`�b���a�ۢ0S<�(&���|�$�{z���
+j$�|�� g8��`����t<�ws��/�n/�[����N6��7`��G��b�u�d�^>��.��Y�鵦�
��� �5���+�k�ޛ�=��y#
�L�ȋ�aB�u�4����7*�A�m~u�N%��6�����#'���.��l�
-��PV��!�b��qR��
x���3ߪ"�IQ�AĘ��!	A91�y�����JF���H
�p�٤�nY�o�<�;��%
�4���f�q�~3C{��v�~�nz>��5E|�r���$q�Ў#
���ƅ�j:��w�|ff�-&B��PP҄�:��UZT(��9!�4�^�=
�9��f���U�G���ҽ�B�Q��Üu�oscf����n,Sa�X�]Z�L�!�)M�z�
v�k"p�p��:��؈��1ΡAK�م�i����A���w�L�VNzV�ɽӈ����2����T�C%?1�&�0e����a�J���6-��Hx'�$	o<�p���#eˁk�8�ɓ��-D���PZ՛�p�P5&ݫ���mN�

�w�6��$g�(���RA��o�\��[�z.����e��f+}�Մ5�V4�t���
-��U�pS�1���+�|i������ܼ|�!I>w�ʿ�9���?�����@�Jє�fI��& ����P�
W�P��*�QM�U��L�n�w=PQ+F�^~����d'��P�Ή���{e�ʍ|�����Pb
o�dB�R�?�W�����ǖ�
����=��}��w���o�cWW�8���������
�o�zN(
��Ź^/z�V�σ�HT�
_

q}�% ˓���a
-�E4�
�lq$�
�.l1Z�Ah��M��!�}
��S�@O����y׽�{ĄMm�1�)D;8O†$�:.�¦�)��ʍmh��/Wlmf�Z�
-�@`�szh��}��f�:3X�0�4��|0��9�
�I��Ƙ
--SЅ=�;��|�D��
r�Ա(B�8���oS��&�CtͰ��쾗I��m�	ա"w�/��y
����1a�6x��4�+4)�i�K��<r
t0���g�A�Y�S��"X�5��=��V�RVf��=�����#
'~�W�?#�y��H'��q
y��lh |��
��<�C^�.Pԍ�-R*
��
��[,{
�X�a
�XL�q�l���Y���E5Ăo�!���
|mw�� ��9�t0�a��.b��Z�Io��
����A�D$�5	�	��I��k�Q�\��?�a$Ӧj�<
����<$�ƛ��/����$�����_>�S� ��NN�u#D��rT~�����G�
�[��!F
�#6�\�~v�vȚ@`���*���a��)w!(���v.
+H�5Q����
��̴čZY'�>nzԜwc�q� Xҫ�
#Ff߹�`��f�v)�rY;ʖ���D5��42��!"��4Ԏp�!+m�
-l��5�*�t}KV<g��B	�C�B� �l�
[hC�
��~
��	�
�0�Vn:\��<)n����I�35a�T���U��g��廏�d���M1���"dOU�id��	�����b�L�!Dh�W�%>�4��C E�
�糃����!)����ݫ� 	�&x�9�<�W��=`����9:
=��C�| ���%@&w ��!J��Z<{�o7����0�
Z������C������ ��ƦH�e�KԼAC��u�<�m�5�`$:|���.�l::�gW�}���T�&���(49^�!,E��K�����V�qB-�e�^	Du��@7�I,գ��nU���[����a����
+{�o4(e��Qc��o��|��G���?JS�8�r����i���-D_[���P���;�E
>��ٝ�_�0�ۅU^#/��־��������p ���lW�����֗��p�
��M6[��6�m(г
&7��eO����>u
-endstream
-endobj
-10409 0 obj <<
-/Type /Page
-/Contents 10410 0 R
-/Resources 10408 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10401 0 R 10402 0 R 10403 0 R 10404 0 R 10405 0 R 10406 0 R 10407 0 R ]
->> endobj
-10401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.22 522.049 330.187 532.953]
-/A << /S /GoTo /D (main_BGP99) >>
->> endobj
-10402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.562 522.049 391.059 532.953]
-/A << /S /GoTo /D (main_BHZ03b) >>
->> endobj
-10403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.268 424.346 343.546 435.25]
-/A << /S /GoTo /D (main_pps_certificate_widening) >>
->> endobj
-10404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.986 209.489 513.996 220.393]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
->> endobj
-10405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [117.507 198.51 183.14 208.438]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
->> endobj
-10406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.559 86.288 345.883 97.192]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-10407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10411 0 obj <<
-/D [10409 0 R /XYZ 89 770.89 null]
->> endobj
-10175 0 obj <<
-/D [10409 0 R /XYZ 395.641 525.202 null]
->> endobj
-10412 0 obj <<
-/D [10409 0 R /XYZ 90 508.851 null]
->> endobj
-10176 0 obj <<
-/D [10409 0 R /XYZ 90 191.633 null]
->> endobj
-10413 0 obj <<
-/D [10409 0 R /XYZ 90 177.438 null]
->> endobj
-10177 0 obj <<
-/D [10409 0 R /XYZ 134.214 77.486 null]
->> endobj
-10408 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10423 0 obj <<
-/Length 1559      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W��J3�� �N�ؙI�ԍ�^����`��D�$
%��K?DRicO{�I$��ow�[ ;v^�~X�.�v$�
����#�#\��o[�v�2o�n��a����`U5����������z�׌�_�!z����;�la�����s�&

�2��;7�_gx�B!��#�C
�b�$�y��>(Ti��Lk��1���~�gt6��'S�XRϛ_�\��	Z��~`KR:i�|� x�D[�g�d�`s��0���S�,���eA�q���Q\�0s�%G����5�b$�
\2W ���0���#�Q�\,����Ze
��ա���Tm�4�f
T�GI���
��b�Cx+���
I�(�۫|s���W�&�{.z��A��.��$���r۳���6��Q�������\8K�"��z���S^z���x�����)���*��bLն
 H�c�
���N�~� �Pf�3�Rib�s�P��٥

��B�3�
`kQ�u
-3�k�T
��ެ.�<{0����̹5�%�Ա�|�LH��Paa�
�,Sy���(~08&'x�ם{g��:�Nc�b�=�/?�*-��#�eS[y�]��x�BI�h�	��G0��B]r$iz�,(���+1��u�]6+ 1[���)
-ڞ��O,��| ��yW�IQ��hq^Fq�
Ҡ��hV�
�b����
ANT�e�&�C�Ka���%��5�e�X��lMmЧ�s!N)��9C�:�����0�t����џg��}��좇�ʆT�T!;�)�

��o��X
��l�\D�Nz�
v%�]'��$�S�`
�@bB�,Qj�ϒfn	6(z; ?�
KŭM�Q�s��L
mA����|���
����]���M�������k	���yM2w��+�C��%j��!S@=e�!
P�A
Px�#�
���dHTLj�'ѕ���u���]�
��gdW��(�R�2~�^��0a^�A6�:f�?b�&�"
-����8,l�t�Aʼ����rP	,�
�M{����1 �O!Q���}\
<|V
�F
Az*����v
�QC0~L!ҘY��{X2`"ԅ�t��	�\�
S���
}�-[k�&�HN$�M?m���j��˽��x�`	3��ڰUo�
�<E\��K��0�z�A���1a�w���/��~q�>�A�퇵�+h_
V���[�!@��ؾY,9n��h�'<$m�î4
�\5ph_$���J��
-�B����� ��0I#5V�CM�Թ��"I;�6
��d�M
��'�s]}L�p0�z����}��թ�Y�cw�>
-!��o{�u=Z��X��V�G
�ֻ��:?
��cB�ƈ�k����3�)
�q��*p�_7��zq"�oS�H3^V�Nc`L}c]��&uY�I�ϋA�����)p��
;P��اޱWw��,@��g�5P=�~/O�K{J�Yt$ټ��/��*�z���@�s?�-AI�ڵ�q
# HZ�'�����
��ڽ?����Y���>�ϱ-�]Q�������
=�Q����H���i��v!nK��k�I��%<��i�o��[0
-endstream
-endobj
-10422 0 obj <<
-/Type /Page
-/Contents 10423 0 R
-/Resources 10421 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10415 0 R 10416 0 R 10417 0 R 10420 0 R ]
->> endobj
-10415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 609.573 206.372 638.639]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 563.388 483.212 594.357]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [124.42 268.294 272.524 279.198]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) >>
->> endobj
-10420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10424 0 obj <<
-/D [10422 0 R /XYZ 89 770.89 null]
->> endobj
-10425 0 obj <<
-/D [10422 0 R /XYZ 90 721.073 null]
->> endobj
-10178 0 obj <<
-/D [10422 0 R /XYZ 90 543.889 null]
->> endobj
-10426 0 obj <<
-/D [10422 0 R /XYZ 90 528.449 null]
->> endobj
-10179 0 obj <<
-/D [10422 0 R /XYZ 90 386.037 null]
->> endobj
-10427 0 obj <<
-/D [10422 0 R /XYZ 90 370.596 null]
->> endobj
-10180 0 obj <<
-/D [10422 0 R /XYZ 277.106 271.447 null]
->> endobj
-10428 0 obj <<
-/D [10422 0 R /XYZ 90 253.849 null]
->> endobj
-10421 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10436 0 obj <<
-/Length 2319      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�~ϯ��VF�
��A��vRt���t�";0[�ձ%���w�}E�B���>�!�$R�<��|�
-^
���O�7��R���q
(
D\!!�n<�#.gs�1?��r�,>�(���M�*���s��_����,����s�+����O����2X�2���`+�Z��g?�>e�����ãON�8�����IU��T��q�h���ۤN͓�uZ�H
��
�����H
���x��
18 �TEq���<}��
-
`�T

�I��S�����7�Z
��u���� "���n�zuw�M�z�H˲(���Bn�
��Qg��MY̨9�&e���o�Ze���
��}}gf8
�H�N~�6ҍ�j�h���U�K�*+rme�g@�ە^&���Yo�ŗa��A����0RR=��e���9a
q�� %��R�����T�b]�����0�c�)���h^tb~��9etB�
/d�G�BD
-��Q���_�Ʀ��CB���1f
�p�b�Ω7Y��
�(I���,	��qFI
$���=�l�
7�3��CVo|	)᪗5g"j�2
��(��aϚ��v�$_y
D)�)m�~IJ��`=A��B���Ē��#��au��!Mr�A�0�B9F2棭��vQ>�
�n���;��ʥM�yr*xj�M~��=&C�t����n#�!up����n���
G�ř���
��8
	��=�%��aK��ijA�_��
��	?
�
�>��3[���=փ�qEp�
j�F=�ǫ8Bȹ<G�
-i �$� �rCz�|6
�nk�'}b�8E6���.��4Ov�M0�����!
Lu������-�oϧ ��)�G`��M�iV˓�i{u��ݭun�ո�6(+C]I�pW�[���WRf��6�imf}cw��"
-�H�h ���"B�S�,�
�=�J��'X��#�d@
�m)G@ر�S�o�<��	���P	`>�����C����z4�u�s�R�E�-6&

wi��E�)�1�+	P���Yrc� 
��"�d�& �괬��{9#�
Uq18��jN5�����q���b}���4FӸ���k
�,�2��Eސ�^��v�
_CX��?��sm2��	�%���&�Bf�Q��lnU�'�H������-�ό��nH �YIm�j��c�'u7�X�6vu�~�n�O�f��Pc
-�
��@��)\
d�O�����m��I��
-z����A��/cL�츮Bk��[�ѐ$h��5;�̳|Y��`��q�

L�)v
�uK׉��8,r����~`Y�/��������k31����)�$��E���9 #8�v[ui=��Bk�BB�]d�B	� �שaZ #*��j��>�[��{�i�1�:L$�t;����՞�hX9�l���4�}
+� �����g��/A��NJ��a>{
H��j�O����횦5�f M3�hb�m�2Ŷ(�&U6j9t0D��p��#�H'T۽��}kC���#���81�
O`�
*��՜O����dk
��iQ�FcqMx�ɣ
����
�A[e�6�L��.�=��UŇN���%�AF{o�(� r!LFs�P���u�4�Qh��\E|�2=��
�򕙆3w��� 
-��誃�	��bBW��s�ߗY���ķ��=��]���͗uw���b��CƴC1���zC�蒞^�����
�﹡۟칵���O����l��S�NU�^E������Y�+�w�[[�_��갶�������
t{����
D
Zo�
�$%�*�����l�M:�B�Bs��;��
-����+�A���%����NR�=�
v>#�Ȓ�r�^��4Q���!M��bێs;e��������$s����X
v��I+CHO�+:m���1
�p���>���b��~�����݊1wA��Ar��P�zg~���
���#7�=��q;�l�A�,.>��ܧ��m.�����s�Q	�PF#N��}���4 �u�B����&xa
�p
/<

6�:���'������L`� j��vR:�\&�I�����`��d��ݺK�'�v_y�"�#
C''�A�����3�mO�>5���gG��x{dž��Db�=�hM����H��V ��=�ly������ d�]���_h�_�+�qul�[�
��
ԧ��ˆ�m?m�[�}����J��̈́m��=�Mc��D���C����~{����h�9h��f����%q�X8��������p@�
-��پDY}��oo��4�ܣ��u��(ʴ�x��O���
���\
-endstream
-endobj
-10435 0 obj <<
-/Type /Page
-/Contents 10436 0 R
-/Resources 10434 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10418 0 R 10419 0 R 10430 0 R 10431 0 R 10432 0 R 10433 0 R ]
->> endobj
-10418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 696.625 300.161 706.906]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
->> endobj
-10419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 658.454 182.164 669.358]
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
->> endobj
-10430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 519.027 206.372 548.093]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 448.32 163.823 459.224]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 398.817 362.844 409.884]
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-10433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10437 0 obj <<
-/D [10435 0 R /XYZ 89 770.89 null]
->> endobj
-10181 0 obj <<
-/D [10435 0 R /XYZ 400.69 661.607 null]
->> endobj
-10438 0 obj <<
-/D [10435 0 R /XYZ 90 645.239 null]
->> endobj
-10439 0 obj <<
-/D [10435 0 R /XYZ 90 385.601 null]
->> endobj
-10223 0 obj <<
-/D [10435 0 R /XYZ 90 363.29 null]
->> endobj
-10440 0 obj <<
-/D [10435 0 R /XYZ 90 363.29 null]
->> endobj
-10224 0 obj <<
-/D [10435 0 R /XYZ 90 240.024 null]
->> endobj
-10441 0 obj <<
-/D [10435 0 R /XYZ 90 225.812 null]
->> endobj
-10225 0 obj <<
-/D [10435 0 R /XYZ 90 77.486 null]
->> endobj
-10434 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10450 0 obj <<
-/Length 2412      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W𔕪F0� �[9$5��˙��'��-�6IdH:�����2Dj&3{�I 	�F���
-'�	Nޜ}u}v���I�RIer}��8Q<EB��&�Yp��﮿K�Ԉ�޲����������yv����3�pB� )��wg7�p����%�T'O��.���6�:�����D���`�%�-Wc�h�]�����p�
����+e���r=���ev
��*�g�|��
/�^����������Ș` a}���\\TYQG�b
-a=e^8��H��+o��EY��&o߻�%��������H����
��_�q����^�(�1�(��
|���T(�:Y�ޥBL�����<��WY�mӭ����b���iݥ��m}�����L""�uT�I9J5�:�CD��(0yȂ����I7
�I����uS�&�7�\W!G=WT
���K�|8,�Xtnj�
tlF��+�a5�R����}pk�����mZB��#
����� ��1h($����X
�'�2=5�A�oA���FS|��(�����E�d�t���
�J�����~�BTP����}�����-o1�|i�
p��������HE�c
��:�!��@z
M&�������3H�0�0����T`��
T"H�4�'2Ք���.9|:6�fH�P�$����S;c����>d�j 31��P�����T
�$^�i#fp(`�/`E������w=�$D����U�a1�
�3�$�V�`��?�D���W��R�c�
-;�‰�U�>��C7UuY�u�<�B�ʶ[��ֿ�o�]�﮲� 2�h�զh~1�;�I��wu���)��z9�172)��rƏɍ�g���
H�\� Q�:ۺ��{5���<��D�
-��A1�Z�Fo���㓂R�O�t%���bI��wS�X)4h�ө�M|T�q�r�*6A
-�)��*��
�)��`y �u^A��dA.��0`DG�
 n���e�	���
	�
-uE��x��I�Sy�xSĨ�!�
-�OE���.6��A�
��ٹ�x��8��|L���bNX1%Y��ʪʱ�?�
�X��5
صf�� ή%b���5
�kM�	�d��`�9L��'�k?�mYn'�:�ǡ��|�r��\�9�m0A�>���\A03��y�χ5�����l���y�?9I��:<K����X�v�>Ƕ��t{���]̒���~ �Ut���ʣg�����:��G�O�n�ܠ�
n'�npN�>;�hmF&��ب��
S
������K�{���u���L�	�ļ��\Ҕ|��Ї�{l���id��5�o��U�g��B�sA�:
o�
G̭��tp�
�0�<��)�XN�eE���EJM
f�؝26}-������\�/��Jv0�9ڣ�03�Բ�0%�z�~��7Ҕ��:)�ҁIYq�p'
-�X���F���N>�-+�̝�|��V��� �L�A��N���}T�AD�ɍJ!
�߯�y� »Ɵ���^T�N{�f4�R(_D���r0�Ww�)[h��Wz�l�N
-���iz[hv��:���*�NS^iB�K�
-����i���p��A���
�>
*���k�y��}��d��Mp����r
�}��'@G�Ѱ$�U�����rG�q��I�Y���ؤ���o���o@w�1�­͊�Q6I�a(��b\��t�
�q~��i!7]1��X
N$B�<�����)Ҧ�5M�PN��)�����dX�9-�Y;q%�|��{�YT�m�H�}A�q	�E��
���ԫH����R�n?T��d�(���\D�+������#W�%
-k�&2�FZ�O�Q	��"����#��`P
{WX���Ә|��yiWG��?sz���Y"!����!	� �'����P���<�:c e��kL�q��<Pn�>��;�e�r}�V83⪀���[�[��c�͚�qg����ڴ�
A
-Ll�R
� ��=�	
-��U��g�
��^��
�_��~���q;�۲�FA�޼�qh���6�
�$�̱��CW�^���د˺��5�y��������>����8f�n8
��
![~VȞ:%TΠ�
���M.���2-e���-��.
��g�(n�~���Գ&8'����	 ˠ6S1�j
GY&�J�h��(+�.�p��S��0w����d�t�'�xd��(���
��|�
Ԝ���#Ы
-@%�F��y����6�#$;8�
-���oJB�k�Կ)ٿ'�\�L��7��𒝱?��g�;�!:`�>z�������������������M_$A�D���"�*�
-�[ޯI��ޝ$�����)
ڶ�8?zzB�A!�jT��U�=Y�F�@A
NY���CmY�GMpsg5ՋM���u0
-endstream
-endobj
-10449 0 obj <<
-/Type /Page
-/Contents 10450 0 R
-/Resources 10448 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10442 0 R 10443 0 R 10444 0 R 10454 0 R 10445 0 R 10446 0 R 10456 0 R 10447 0 R ]
->> endobj
-10442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 625.072 192.615 635.353]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.371 625.072 284.05 635.353]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.228 435.316 513.996 446.22]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 425.128 138.817 434.265]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
->> endobj
-10445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.573 425.128 170.476 434.265]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-10446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.674 188.868 513.996 217.934]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 176.913 154.647 187.817]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10451 0 obj <<
-/D [10449 0 R /XYZ 89 770.89 null]
->> endobj
-10452 0 obj <<
-/D [10449 0 R /XYZ 90 721.073 null]
->> endobj
-10226 0 obj <<
-/D [10449 0 R /XYZ 90 551.182 null]
->> endobj
-10453 0 obj <<
-/D [10449 0 R /XYZ 90 537.445 null]
->> endobj
-10227 0 obj <<
-/D [10449 0 R /XYZ 90 316.231 null]
->> endobj
-10455 0 obj <<
-/D [10449 0 R /XYZ 90 302.494 null]
->> endobj
-10228 0 obj <<
-/D [10449 0 R /XYZ 90 172.575 null]
->> endobj
-10457 0 obj <<
-/D [10449 0 R /XYZ 90 158.838 null]
->> endobj
-10229 0 obj <<
-/D [10449 0 R /XYZ 90 75.329 null]
->> endobj
-10448 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10480 0 obj <<
-/Length 1393      
-/Filter /FlateDecode
->>
-stream
-x��X[o�F~��@����
�

+��F�jw�����C6��c
,���{��`�4M�����̹}�9�l���m���h���F��������9b.<�ƕI0r<kL0���"�
�U8�Y�y�]�
�'7eXn�����,���<
�$Ϭ1e�<Kê���|�K��&�".T☎
XחG�^���8�
"�a��h5���F
�?فol���P��q1�s���D�.,9�
�&�S���hɣ�y�gu�d+���o~�
�˪�Rg��`�@�ˉc�
�v�S�!��[c�XJ������yg�Y�ڤoJ�IVW�V�
^�
e�t����e����c�&���1���I�����6bL���pD�Z��Ā��%�j@��|�(�V�Ӌ���RW��
���(,�LE�'�ء3_��\r��8���sy)o�e�
�ȼijB=��²ZY�v)o��inQfn��V���1M��a�_� 9m� `���������
�[)Z�%��2X��v�K�+U�a�1�'�^�˞�^o8W��ʥV&�����>J���о]�!�*�?$Y��c>@ff��Z����E��N�{zl�|�}�(Ɓ�
b&<�r��M�D2��|u��ޯ�H�����\M�����M��X}=��U����jr[EI2�׫b_��+�M
� ��܄���M�iZ ��PQ�ضt��2���P��d^g����lVu<�F�,UV��F.��-?_�}���fٞ�
y���/ڞҵ
� [...]
-,���^	�&�9�U�:�����L���#��OÙ��$GĹ(�+�pτ�j(���#Ttf�P) J��6	�j]�?�6 ��4��B���
��zo#�oNO,�6{b�A�G�~3�>H�dU�	��#D��h�
��N�G�֥ŘY�դ�,���y�n����.4]zl�u��OG#�
b��'6Fv�Ƅ?>�pW8�-�hQw�
xi�7'��@?
�$}DJ��-* Z%&d
�����h���6����
�
P�իMZ�4����wY�Ue�ħ]

�����8�eX��lN����Ʀ
?��/�Ƥ��I�O�_�禲��X3�1��
��QԲD�DS���2�Ur�# [���i#|�AhIT�R@�rDu��H5��.Y�?>h���W4̵R���]���4�XwO%�V
P���V%� ���
�8ɪ�*2k���y��F3�{ݜB��ȃ�A�B;
b����q�\�S�Y{'�i�|�
~�?��X��9��aji`�	U�-��#Bx!klC'��\-#�3ڻO���k�/�=dc=F/뺘N&��EZgIQ���E:9��:Z`'�i%�<u��z
�����}< ���2�
-endstream
-endobj
-10479 0 obj <<
-/Type /Page
-/Contents 10480 0 R
-/Resources 10478 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10458 0 R 10459 0 R 10460 0 R 10461 0 R 10462 0 R 10463 0 R 10464 0 R 10465 0 R 10466 0 R 10467 0 R 10468 0 R 10469 0 R 10470 0 R 10471 0 R 10472 0 R 10473 0 R 10477 0 R ]
->> endobj
-10458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 495.931 181.845 506.835]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d) >>
->> endobj
-10459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 456.699 181.845 467.603]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) >>
->> endobj
-10460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 417.467 154.727 428.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) >>
->> endobj
-10461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 378.235 165.446 389.139]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) >>
->> endobj
-10462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.784 378.235 273.381 389.139]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 339.377 150.493 349.907]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7) >>
->> endobj
-10464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 257.353 218.029 268.257]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 257.353 250.965 268.257]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65) >>
->> endobj
-10466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 218.121 218.029 229.025]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 218.121 262.043 229.025]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) >>
->> endobj
-10468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 178.889 218.029 189.793]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 178.889 290.804 189.793]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb) >>
->> endobj
-10470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 139.657 218.029 150.561]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 139.657 266.456 150.561]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a) >>
->> endobj
-10472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.425 218.029 111.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 100.425 255.378 111.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) >>
->> endobj
-10477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10481 0 obj <<
-/D [10479 0 R /XYZ 89 770.89 null]
->> endobj
-10482 0 obj <<
-/D [10479 0 R /XYZ 90 721.073 null]
->> endobj
-1467 0 obj <<
-/D [10479 0 R /XYZ 90 620.997 null]
->> endobj
-318 0 obj <<
-/D [10479 0 R /XYZ 90 614.161 null]
->> endobj
-10483 0 obj <<
-/D [10479 0 R /XYZ 90 515.094 null]
->> endobj
-10484 0 obj <<
-/D [10479 0 R /XYZ 90 515.094 null]
->> endobj
-10485 0 obj <<
-/D [10479 0 R /XYZ 90 475.981 null]
->> endobj
-10486 0 obj <<
-/D [10479 0 R /XYZ 90 436.749 null]
->> endobj
-10487 0 obj <<
-/D [10479 0 R /XYZ 90 397.517 null]
->> endobj
-10488 0 obj <<
-/D [10479 0 R /XYZ 90 358.285 null]
->> endobj
-10489 0 obj <<
-/D [10479 0 R /XYZ 90 276.516 null]
->> endobj
-10490 0 obj <<
-/D [10479 0 R /XYZ 90 276.516 null]
->> endobj
-10491 0 obj <<
-/D [10479 0 R /XYZ 90 237.403 null]
->> endobj
-10492 0 obj <<
-/D [10479 0 R /XYZ 90 198.171 null]
->> endobj
-10493 0 obj <<
-/D [10479 0 R /XYZ 90 158.939 null]
->> endobj
-10494 0 obj <<
-/D [10479 0 R /XYZ 90 119.707 null]
->> endobj
-10478 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F11 442 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10511 0 obj <<
-/Length 1313      
-/Filter /FlateDecode
->>
-stream
-x��]o�6���+��Lf����bk�ݖf�wQ�A��r�M�\I���#~Ȓ-����[�C��/���
�~
�2���)�$��d�)�\!!�4�|���z��c2DDI�_�xs>yu>����&�OU�#ƀ@A�M��k����k#�Bo�-<N������>8B!f̳"��Y��t��gB�z�8
�e�n���Tt�xW#����}_ϻ�h�V����2.�*/�?��_׾�O�����/����8��$��l�|�i����=L�tj6.
���$�]F)��z#"�Ըl2�/V��S27�Q63y��7U0��L-�R"A�#�i�3@�נ6�k�#U��~��f�����N�!���d�n��Ur�qV�^���iD(F8��∆ꩈ��;Q�+����Jh����pоH���7F�a��$N� �֪��ݢ��߫l��a|��$!"�ϡ�%�������
��ؐb�1�ѕe\l�Z'խ�Hӭ����{#����U��ݿ�w�$�DP��8 [...]
-텃�~Y�NO�*�ha,�
'�A߶,f���z���
�����L�|�)�M��
-窛#oV�re�Q�aH��}A9�"���
	c�`�D�#�! /�*JR��˸��ҭ�*�St��_8@)�o�j
Ǚ��̻%8�6��{��
TD���]DI�
F�R�����4�
��J�4^�xpU��Ƕ��־�ClK��z�pGRB�T�ķ ���0���X��.�$?���1��l�� �����ۛ�6F�tU{��n+.�|a-��6�4]�
/PT�E}�`�[�����eQ��c�����pH�fk��J�͈�G$T���퍶;��0�4'����2���j�Cq�C�<��.���N���	���L�p[u�
A�
M�1[ol�】�r;�|H�W�l���fB0�&�����lqS�
�I7��|h�7��Mb��f�����n���8�T�ŭu'|r��nOpXn]�t�"��P�^,��<|��2�v� �
g]
��)�Щ\�ȣ�)����!(�P�ե�]�����x�=����$�%H��BZ��=j|����Ћ
�}V���d-�Csi��a at U@��p�5�t�Š�
+2l��䦈
-�)����v�u�Q�rέq��M�E�8C��������2��J������o��֤C�~6��������z�F���dY��/��xWq������<�7�E�v�$��
��N�@ʭ
-endstream
-endobj
-10510 0 obj <<
-/Type /Page
-/Contents 10511 0 R
-/Resources 10509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10414 0 R
-/Annots [ 10474 0 R 10475 0 R 10476 0 R 10495 0 R 10496 0 R 10497 0 R 10498 0 R 10499 0 R 10500 0 R 10501 0 R 10502 0 R 10503 0 R 10504 0 R 10505 0 R 10506 0 R 10507 0 R 10508 0 R ]
->> endobj
-10474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 684.743 180.54 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) >>
->> endobj
-10475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 684.743 288.474 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.207 684.743 410.804 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 645.132 178.239 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) >>
->> endobj
-10496 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 645.132 286.173 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.906 645.132 408.503 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 605.521 194.507 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.005 605.521 245.695 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) >>
->> endobj
-10500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.032 605.521 353.629 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.362 605.521 475.959 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 565.91 194.507 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.005 565.91 233.312 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) >>
->> endobj
-10504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.649 565.91 341.246 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.979 565.91 463.576 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 456.09 226.034 466.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) >>
->> endobj
-10507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 456.09 401.773 466.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10512 0 obj <<
-/D [10510 0 R /XYZ 89 770.89 null]
->> endobj
-10513 0 obj <<
-/D [10510 0 R /XYZ 90 704.096 null]
->> endobj
-10514 0 obj <<
-/D [10510 0 R /XYZ 90 502.721 null]
->> endobj
-10515 0 obj <<
-/D [10510 0 R /XYZ 90 417.54 null]
->> endobj
-10516 0 obj <<
-/D [10510 0 R /XYZ 90 345.862 null]
->> endobj
-10517 0 obj <<
-/D [10510 0 R /XYZ 90 323.38 null]
->> endobj
-10518 0 obj <<
-/D [10510 0 R /XYZ 90 323.38 null]
->> endobj
-10519 0 obj <<
-/D [10510 0 R /XYZ 90 249.62 null]
->> endobj
-10520 0 obj <<
-/D [10510 0 R /XYZ 90 234.198 null]
->> endobj
-10521 0 obj <<
-/D [10510 0 R /XYZ 90 162.475 null]
->> endobj
-10522 0 obj <<
-/D [10510 0 R /XYZ 90 147.053 null]
->> endobj
-10523 0 obj <<
-/D [10510 0 R /XYZ 90 75.329 null]
->> endobj
-10509 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10541 0 obj <<
-/Length 1461      
-/Filter /FlateDecode
->>
-stream
-x��Xmo�F�~��RzHe�/,
VT)��(I������-
Þ���+/���w`�=��u];�������3�쀭[
[o?�/�^
l(�g��� [�
��)�.�#׷
�1^��/�b^��/��n-�"��%�)�����{}�FfןdVI���xy��e�n?ɕ,l�/e�F5!��u�}u�n�����E�3
	ߊ6��+l�����
|k�
-m,�2�������w_� B���"�lM{~�=��|+���
���Ӽ򖗘�(��JI�.��/�M
�=_h�#����o%3p�E�O;�l��4����j>#L|ˁ��+
�n@
�o����B��M�N��WC�O���"�Y|�$��t�
���RD�p+��
LdkpTk�n .���g�Tk�!MG��?�,���|��B�^� 1�G1��#�3��a���L��7I6a�
�9Es��� ���D�A9i�tCB���5T�*>>��J�P��n/�*Q�N�s���	Āx���9kx�B9��!_�
�=,
�A�\
�$
#���bƢ�o�p�1��E�x ��
aP(��m�!b� �nS
>8D �j��
x�<�72�z\��u��t���]����Vf�!�E��*O�ܦ
*(�U�.!h�<n��cL�x�e@�C4�N^RʇRn�)Z�M�U�h�N
��ܯ�CѦ.�:L����Y����l�K�L�Ń�:�Ԏ�`���,J�XNT$�*
#���%4�N���
�����8�,���fCb9�o�$R�� 77R��uå�r��Q�
\�|r?\��)Mb����ŭn�Z)E�Q�\��f;֡0�q[�
�i���n� �<hS��"8�!
�:#�I%�v��h��������dѱK_;�����P#����۷n͡Anե
Vyצ�ۆ���W	��&
dcߩ�r�7J'���
k&��T�Dө�"_)��Ө.o_��&��l
-�|�D�$�>.��� �<a��E�U�\����r*��wOP=���Q'! J����QU�M>�I�������
a
���	��d��b
<��o�<��f�&��D3N��^�=�Λ�^�����Fg�<K�̧	�y
�.}j���8������#� }���$F��dH����Y�d-���>���
̋0���ga��Y74����C	@+�S��ќ;��
��q]$���� �p��Z�2�?�iv
�kM]�9|l�͌���
�J{����״ᇀ��X�7%�{�s��U
��`�������	Y�S���i<��5"�0SKFz���v9�������
��
���wɃE�������A~���vO0K�&%�0�
�D�
~d}�p��ч0���6q�Ҩ�Ei��L��I�
9�RoZ���ݽ_�S��_�
���%�U�=>:��v(*Q�%�%��sG�����X%��&/
���M
�a> �� i�R�
-endstream
-endobj
-10540 0 obj <<
-/Type /Page
-/Contents 10541 0 R
-/Resources 10539 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10525 0 R 10526 0 R 10527 0 R 10528 0 R 10529 0 R 10530 0 R 10531 0 R 10532 0 R 10533 0 R 10534 0 R 10538 0 R ]
->> endobj
-10525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 386.273 181.845 397.176]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342) >>
->> endobj
-10526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 346.017 181.845 356.921]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) >>
->> endobj
-10527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 305.761 154.727 316.665]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) >>
->> endobj
-10528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 265.505 165.446 276.409]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7) >>
->> endobj
-10529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.784 265.505 273.371 276.409]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 225.623 150.493 236.153]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1) >>
->> endobj
-10531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 141.193 218.019 152.097]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 141.193 250.955 152.097]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56) >>
->> endobj
-10533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.937 218.019 111.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 100.937 259.253 111.841]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) >>
->> endobj
-10538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10542 0 obj <<
-/D [10540 0 R /XYZ 89 770.89 null]
->> endobj
-10543 0 obj <<
-/D [10540 0 R /XYZ 90 721.073 null]
->> endobj
-10524 0 obj <<
-/D [10540 0 R /XYZ 90 654.709 null]
->> endobj
-10544 0 obj <<
-/D [10540 0 R /XYZ 90 638.562 null]
->> endobj
-1468 0 obj <<
-/D [10540 0 R /XYZ 90 514.103 null]
->> endobj
-322 0 obj <<
-/D [10540 0 R /XYZ 90 506.627 null]
->> endobj
-10545 0 obj <<
-/D [10540 0 R /XYZ 90 405.947 null]
->> endobj
-10546 0 obj <<
-/D [10540 0 R /XYZ 90 405.947 null]
->> endobj
-10547 0 obj <<
-/D [10540 0 R /XYZ 90 365.811 null]
->> endobj
-10548 0 obj <<
-/D [10540 0 R /XYZ 90 325.555 null]
->> endobj
-10549 0 obj <<
-/D [10540 0 R /XYZ 90 285.299 null]
->> endobj
-10550 0 obj <<
-/D [10540 0 R /XYZ 90 245.043 null]
->> endobj
-10551 0 obj <<
-/D [10540 0 R /XYZ 90 160.867 null]
->> endobj
-10552 0 obj <<
-/D [10540 0 R /XYZ 90 160.867 null]
->> endobj
-10553 0 obj <<
-/D [10540 0 R /XYZ 90 120.731 null]
->> endobj
-10539 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10571 0 obj <<
-/Length 1332      
-/Filter /FlateDecode
->>
-stream
-x���o�6���Wh/��4K
ڇmm
-t[�5�C���0�6Yr%9n���DR�l�u��D�I
ɻ�
�
�n=��2
MNB�)�$����S�
�BB�׵w�sN���k��%aT��oN�/O��u���t�qD�	{�(���|tq��k����S��j:�=N<S�|���]
!�3�I���l�t�&'BvF�8��1e�n���T��xc������^wqk7��A��.�*/�?�
_������9�Ӈ�t��N�*ɳ![G�~
-��'3� �#����B�E�2�k�Q�$�ޘ�(5.�B��R�5%7�g��%�҇�	�����cQJ$u�|2=zs�HR�:�f���r�j�<�0��
}��4�o�Y������>NuV�A���iL(F8���Fꩈ��;Q�)����Fh
��m�>K������wA��D�p�4֪��jѮ��e6k�a|6�$!!"��P�"��H��Ȏ���,��g������UR�ن4����+��'1�\
�^u��5\Ւl`A�
-ٗ��!��T
-D��Ɯ#���l��Ipb3�4����
ʂ8��Ӽ�΁n���������\ϯta�o�\h+�k%)/�=�����8/�B�sc��0`����`1C��гg{�n�$6^�c`)�S�Hqh��U�8W�
y��K��~�
Bȁ1�eH�#�`L0䅮�$uH���Hn?�P9�R�!��/���W�Zi����<�;}]�>��i۩�3e�>(s��|R�N�j�yM�T�A?�f`���=�ˮ�؞fC����p�n�_��j��$�yt��d�}c���C��n�
���5�~v���F*�-kG��mDǚo���1���U��^2����4ڂ��yd�w�E�-��f��v�zm��J��ѣg$T�p]�g�w��8;��
L"�H���&���y���	~���u�8�
Ҏ�P m*�ޤP��RF=#P��Pn�c����s[�<�¿���U�fI!j
-&�4�<[�T�
ߤ�4�
->�܁�^���&��f$�gĻq���ۅ; 7���E��-�:�un�O�
���.˝�\���Q942������ 

l
=�G(l�€�
��ᬏ�.H�H���bFa	�Z
�c����p��Ͼ��!��>e�–�S��c���4��g��0�
���柴0��Uqdn��"
y-`�ZE5��Qw��ʉ3+7����U6a�i�c�j��?�l�[S}_��E�:C������\k�S��<��ۨ�`g�T��ʾ����d�Z�ЬD�,Y(�&�E:ٖ�
+���5r��k�<w�!���y��V�ag�M
-endstream
-endobj
-10570 0 obj <<
-/Type /Page
-/Contents 10571 0 R
-/Resources 10569 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10535 0 R 10536 0 R 10537 0 R 10555 0 R 10556 0 R 10557 0 R 10558 0 R 10559 0 R 10560 0 R 10561 0 R 10562 0 R 10563 0 R 10564 0 R 10565 0 R 10566 0 R 10567 0 R 10568 0 R ]
->> endobj
-10535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 684.743 180.54 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) >>
->> endobj
-10536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 684.743 288.464 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.197 684.743 410.784 695.647]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 645.132 178.239 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) >>
->> endobj
-10556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 645.132 286.163 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.896 645.132 408.483 656.036]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 605.521 194.497 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.995 605.521 245.685 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) >>
->> endobj
-10560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.022 605.521 353.609 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.342 605.521 475.929 616.425]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 565.91 194.497 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.995 565.91 233.302 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) >>
->> endobj
-10564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.639 565.91 341.226 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.959 565.91 463.546 576.814]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 456.09 226.034 466.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559) >>
->> endobj
-10567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 456.09 401.763 466.994]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10572 0 obj <<
-/D [10570 0 R /XYZ 89 770.89 null]
->> endobj
-10573 0 obj <<
-/D [10570 0 R /XYZ 90 704.096 null]
->> endobj
-10574 0 obj <<
-/D [10570 0 R /XYZ 90 502.721 null]
->> endobj
-10575 0 obj <<
-/D [10570 0 R /XYZ 90 417.54 null]
->> endobj
-10576 0 obj <<
-/D [10570 0 R /XYZ 90 345.862 null]
->> endobj
-10577 0 obj <<
-/D [10570 0 R /XYZ 90 323.38 null]
->> endobj
-10578 0 obj <<
-/D [10570 0 R /XYZ 90 323.38 null]
->> endobj
-10579 0 obj <<
-/D [10570 0 R /XYZ 90 249.62 null]
->> endobj
-10580 0 obj <<
-/D [10570 0 R /XYZ 90 234.198 null]
->> endobj
-10581 0 obj <<
-/D [10570 0 R /XYZ 90 162.475 null]
->> endobj
-10582 0 obj <<
-/D [10570 0 R /XYZ 90 147.053 null]
->> endobj
-10583 0 obj <<
-/D [10570 0 R /XYZ 90 75.329 null]
->> endobj
-10569 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10607 0 obj <<
-/Length 1506      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~��@������+ۨM�(i����C��,�kZ
.�8��ƀ�S5�&}1�9��w�s�s�`��컛��S���>����bG�	���%�Л����#؍�u�x�Q��~��2Z��ޕQ�����H��7��O�����Z��?��
-�2�
�s潻y1��f�猀g�!��d�����;�$����
g�
-�
N\3���>�)B!�=�"n���^<S��ZeQ�jυ[lT�E�1�ΛW��

yUk�3�5��|
-6z��0 at L��i��-3p��0 ���7���j��?��t��P�a�
�@֋���V 6M:5������N�vY�*O�iI���ö�3N����̓�*K
9��7@Uv at bw��+�G��D�߷y\��l����!bD�0� �[8�UT{�1��M�O	�Fh�
�� ������9f�����P�������u
-Ek�)d��bɪE���8���0 ~/����	>I�Bn�PM�g(���jK�j�z*�N$
#����E�c
�3
�b�3�eず�2��Ajh*�z���z�5�q v���D"�r-|ӑ7)��Z�ut��������|��l
�U�R�YY�Qr,�,+<* ��{��-������v�!>�,h8�$1��-�b(u;@��&C���[�F[`:5
jǃ��� ���1�wQ��дX=���
�j~>����G4��]P
e�J�8�&j"�C2���xB�D�u;�>�=L�����v����$fC�=�W�L[�J�{�7qm�lyo��uahr Ё:��Rw�
?��&MC���SL�z�d1���K�Ӗ�J*
���ۻ,�u`o<���FU=#0mVPpr>+jP����]�<.@����:e=�trY<^�h�����D=-�}�
�P��D �Mv65r(AeL����p�z�&M��
�8�9B
G�Z�)�~O���T���d�8L/7կ������k�/�$]�GEr��#�G��Pz���lX��P�+pu*�'�_m�X-��1�tM��o]1��S!:bVp褦�]�z[��y�`}@
��{�]-m�շP���jZ�i��g���<�g̴Xؗ����a.K��b��	�ՙ��K�`tc:����&s� q
�q5�=q��]O <
����A%H��)�L�
��IH�7��CB`_�K���Ta�j�ic�-ɑ�m��'"RL�:P��Le�����#T6���d��2J�߼�W�ZO�輎��
����Ti�G
-o�40�'���zaLA��<]��d� h������D���M�y������g��U��>L���/'��ٸ�b�tpx���@��� �>��ӯ��WH�
-I8D诐
��0���(d
��~4�"��k�ʯ��
-&�/�|e�ݎ>���I
Z;A��%��
��Fu
Q�����q֞I��@"v�²������n�Cq��y�)QZ_�a��x^�ijJ�Ğ��E�e-��������
R���
-endstream
-endobj
-10606 0 obj <<
-/Type /Page
-/Contents 10607 0 R
-/Resources 10605 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10585 0 R 10586 0 R 10611 0 R 10587 0 R 10588 0 R 10589 0 R 10590 0 R 10591 0 R 10592 0 R 10593 0 R 10594 0 R 10595 0 R 10596 0 R 10597 0 R 10598 0 R 10599 0 R 10600 0 R 10601 0 R 10604 0 R ]
->> endobj
-10585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.289 430.069 329.928 440.973]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-10586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.591 430.069 513.996 440.973]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 418.114 136.934 429.018]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-10587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.279 362.805 192.296 373.709]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.794 362.805 258.726 373.709]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec) >>
->> endobj
-10589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 259.25 190.738 270.153]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 259.25 261.85 270.153]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) >>
->> endobj
-10591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 222.266 190.738 233.17]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.236 222.266 262.159 233.17]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) >>
->> endobj
-10593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.225 208.581 390.082 218.486]
-/A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
->> endobj
-10594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 185.283 226.443 196.187]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 185.283 282.343 196.187]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) >>
->> endobj
-10596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 148.3 226.443 159.204]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 148.3 329.944 159.204]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) >>
->> endobj
-10598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 111.316 224.76 122.22]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.499 111.316 278.986 122.22]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) >>
->> endobj
-10600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 74.333 224.76 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.499 74.333 326.587 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) >>
->> endobj
-10604 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10608 0 obj <<
-/D [10606 0 R /XYZ 89 770.89 null]
->> endobj
-10609 0 obj <<
-/D [10606 0 R /XYZ 90 721.073 null]
->> endobj
-10584 0 obj <<
-/D [10606 0 R /XYZ 90 654.97 null]
->> endobj
-10610 0 obj <<
-/D [10606 0 R /XYZ 90 640.126 null]
->> endobj
-1469 0 obj <<
-/D [10606 0 R /XYZ 90 517.087 null]
->> endobj
-326 0 obj <<
-/D [10606 0 R /XYZ 90 510.335 null]
->> endobj
-10612 0 obj <<
-/D [10606 0 R /XYZ 90 379.997 null]
->> endobj
-10613 0 obj <<
-/D [10606 0 R /XYZ 90 379.997 null]
->> endobj
-10614 0 obj <<
-/D [10606 0 R /XYZ 90 300.566 null]
->> endobj
-10615 0 obj <<
-/D [10606 0 R /XYZ 90 274.389 null]
->> endobj
-10616 0 obj <<
-/D [10606 0 R /XYZ 90 239.428 null]
->> endobj
-10617 0 obj <<
-/D [10606 0 R /XYZ 90 202.445 null]
->> endobj
-10618 0 obj <<
-/D [10606 0 R /XYZ 90 165.461 null]
->> endobj
-10619 0 obj <<
-/D [10606 0 R /XYZ 90 128.478 null]
->> endobj
-10620 0 obj <<
-/D [10606 0 R /XYZ 90 91.495 null]
->> endobj
-10605 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10657 0 obj <<
-/Length 1438      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�+���L#$ْ�>6�df�ݦ	�K����[c��	�_�+K�0$$$tS

[���9>���������O�V���N�BN�ӻsB��^���s��<����qy�HȡUu���O��O�ku�u�k}i��
�;`���u�;1���`䆁3�*M
��pL���o-lbY=��B'�ظ�b#
F�>!�
ȕ(g2+:'��v9�P,�RLt9���Q��Ȅ�֎�\�����<)Ǻ���(;���,�����!mTa�i�s��{B)�
���g�pK)[�D!)Gҫ��ss�0n���H�D6�k=�G����u�b���|�����E�8�:�P���7�m&C�R|�EiR.�n]ǩ�FeR�bLE�O
*��9��Ca�!��ZqBWW
��ǁ�S��B�Y
A���Ҏ�z>
-�7�v�d�$�G�������P,:��yV��γ:�ij��e�U�f�)�Q@�'��?��Z/�
�
��Q
��X�������2��(� )�B���}��V�)��Rt�!��̙8���H��T(�����;	0�F�tW�_�$�_(/U>���G���6}5��͆6˒{���m�
Ĺm�y���p5�#����>X{�J��q�\?	tij�+O� �Cx7�s���(�ʦN���+�B¶%a�=�@̵q�Ƶ!D9"[i5��"�
��5\볽����Y�E>'��r��X*P�x
�+7�>r�d:6܂!7x���$@�*����<x����l�7:
-o��֍�A{
��]��,=�BH0��ȷgz&Ek6����{�{���
| ����x����
�<ݮ���ɴ\�Q�����q�-�0}����05+y�.t	.5�֜��X
-�8�0l�et�qlP�KF�_�ʶdj�!#�P־W>)d!�\?��M9���2�x�Q2�R�e�i^����KYר*�
�6
�^j��(��Z��q/�*K��L
�@
Z*qR��C�޿���	ťy V�P,��̾�-����xX�Y4��W���D'Uv�L����|���
YM���q�y�*��TVܖ�v
��
�]8
�,~����(5�ErO��H��(Ɋ>8H%����i�a��H��8,�&�
�"*l�`_lTp{vgCZ]���{��� ݸ���}����o$�h�6��ji�o4=7��>�
w ����`i�BҸ���������D�����@�� W8���
�я d$�gO�(�dCZZ�Ty�0�'�GKѝ���
���v�&�08�$����^C��>p��Q����b����Ÿ�q�Ѝ�ԏ����@���w��ڌ)
Yh>���m��j���Dڅ���1�Hb~/����X� �K�͢���EvK���dAU�C���kaMX�/ǖ~V
-��|�����qYN�v��9h�%S���;���%,W�N<�ם����I.k������2)@¿�䡣
-endstream
-endobj
-10656 0 obj <<
-/Type /Page
-/Contents 10657 0 R
-/Resources 10655 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10602 0 R 10603 0 R 10621 0 R 10622 0 R 10623 0 R 10624 0 R 10625 0 R 10626 0 R 10627 0 R 10628 0 R 10629 0 R 10630 0 R 10631 0 R 10632 0 R 10633 0 R 10634 0 R 10635 0 R 10636 0 R 10637 0 R 10638 0 R 10639 0 R 10640 0 R 10641 0 R 10642 0 R 10643 0 R 10644 0 R 10645 0 R 10646 0 R 10647 0 R 10648 0 R 10649 0 R 10654 0 R ]
->> endobj
-10602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.115 209.547 696.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 685.115 261.831 696.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) >>
->> endobj
-10621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.399 209.547 659.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.045 648.399 309.432 659.303]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424) >>
->> endobj
-10623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 600.723 224.481 611.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-10624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.979 600.723 289.497 611.627]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acb75fd68aa10bd15e590e8e8954c5002) >>
->> endobj
-10625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 564.006 224.481 574.91]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
->> endobj
-10626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.979 564.006 337.097 574.91]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0d69bc8c9bd9843262551c7e3e33f5a2) >>
->> endobj
-10627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 527.289 205.692 538.193]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 527.289 261.312 538.193]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) >>
->> endobj
-10629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 527.289 332.156 538.193]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-10630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 492.492 205.682 503.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
->> endobj
-10631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.18 492.492 261.302 503.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) >>
->> endobj
-10632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.64 492.492 330.462 503.396]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-10633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 457.696 205.692 468.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
->> endobj
-10634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.19 457.696 261.312 468.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) >>
->> endobj
-10635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.65 457.696 338.781 468.6]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-10636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 422.899 183.824 433.803]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) >>
->> endobj
-10637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 386.556 192.272 397.086]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) >>
->> endobj
-10638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 349.465 241.935 360.369]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839) >>
->> endobj
-10639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 312.748 213.163 323.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424) >>
->> endobj
-10640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.501 312.748 288.431 323.652]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 278.325 189.901 288.855]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) >>
->> endobj
-10642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 241.608 193.229 252.139]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff) >>
->> endobj
-10643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 204.518 238.459 215.422]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94) >>
->> endobj
-10644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 168.174 187.689 178.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) >>
->> endobj
-10645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 168.174 226.693 178.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 133.004 228.895 143.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) >>
->> endobj
-10647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.232 133.004 333.482 143.908]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 98.207 229.503 109.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) >>
->> endobj
-10649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.84 98.207 334.089 109.111]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10658 0 obj <<
-/D [10656 0 R /XYZ 89 770.89 null]
->> endobj
-10659 0 obj <<
-/D [10656 0 R /XYZ 90 702.18 null]
->> endobj
-10660 0 obj <<
-/D [10656 0 R /XYZ 90 665.463 null]
->> endobj
-10661 0 obj <<
-/D [10656 0 R /XYZ 90 617.787 null]
->> endobj
-10662 0 obj <<
-/D [10656 0 R /XYZ 90 581.071 null]
->> endobj
-10663 0 obj <<
-/D [10656 0 R /XYZ 90 439.963 null]
->> endobj
-10664 0 obj <<
-/D [10656 0 R /XYZ 90 403.246 null]
->> endobj
-10665 0 obj <<
-/D [10656 0 R /XYZ 90 366.53 null]
->> endobj
-10666 0 obj <<
-/D [10656 0 R /XYZ 90 295.016 null]
->> endobj
-10667 0 obj <<
-/D [10656 0 R /XYZ 90 258.299 null]
->> endobj
-10668 0 obj <<
-/D [10656 0 R /XYZ 90 221.582 null]
->> endobj
-10655 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F107 2329 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10718 0 obj <<
-/Length 2022      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6~�_��Y�9�����lS�m�l2���F�m!���2����E�l˲f�IZ`�DI�����#ag�`���^ݼ
�#�����
�����p7u>�#O��c��F�*��Q�f��BN�h�[r�G������	�,
�)��eT��AΤ~'�X�\����<>������n��\�
;�X�Q:���ӟؙ��_
����i�x��u�|����N�s�o9GH�|�1�A�Q^s>�98{�eK�\Y�ϭYt
����*�K�fD�`��,-�~�%����O_׹,��u +t��p��<���|�M&g#�A?�q"ӲS`Q�'i�$>D�0���FzD
1'D�:c���D�Z�ZA\�B;:��� C���'�C$` �!�F�YVyZ��7oE��� �_�W�t�I �vJf`Q@�(��F�.7���h��:����!@����QQ.��
�Q�f�i�պ�lm;��S�Ic�T��.�ҩ�� Z��VV�]���T��MҮ�B�_"q"�N��N_�Ԧ<,�X��q(
`v�0 at K�!qTH�ra��|�`�2O�ee_&E
�պ*�u�p
�
S�|��
-�
�|s
-�Q���g��<*�|_�zy=?���
��yd�Y5�e�%ii�
i�u�B�@tH��ԝ��ȸ -�%VYdU�Æ�#�����PPw���t(� :��:
�C��H
��N�Y/
�D�$E�jD'
�5
�`}����C��>$4�Chܻ��]��
���DX
"�%G	
^�e�p���Cf��̼�\��
-��L�:�Qߥ��I��
�<�x��A�C6$��V	�B�,HE��F���J�`��nV�����Æ ��U��GK,NӘ8�ϖ�5=)j|�)O�PDx��D�^�u4{����+(�Ыx;�
-���t�W�+��We���T�I�V
	�z��U�|�l��;+Hq�U
�:�#!¢Y�EeY�Z�]�� J�R��)��"�@+�Q�y���F�K-�rӡ( ��J����d�&�Fc�#��>
-E����!U�
	��Qb0���!���ۏ
����	��N7Wqȶ�p|q���z�7'�8���#@!�/�{��h��+�m�m:Dq�§A���&���QQ�I\.7�4}W4��0:X�{��@A<����.�O��z
Kz�qt!��H�':s�a�?}.
y.V��䫭�s�̩���� 
V��}�'QZ
�'l<I���S�g˼��1�a�X�B�>�����O������b2_o
��Jҹy�N���n��Ҹ�E�Kd3�w�һl��6{�v|>n���1�_�1�aڏ�{-8���"�N'zR�(����͛^!ױ��I����9�����1���iRk��R��E�RU�ɛe�_���\�)-��
LE0�yxq�R�󐔋��h�5���f�ղTS�H.��:�øh8��}����R�y"]
@�\с����Y�<�7{���裀w��O�/������6Z�Ny� �k�W������G�u���ub|�m� �]�S�p���*fp,
/qz$��v�����
�	
-�#̎#�S�Y��3x���
���B���9��f��f�bUQL{
�=S>e..�AO>J�kq>\��U4��������z������<�ú`�
}�o�q���0��$���&Q�6���
aO��L��C�֕
�T���Y;�K#4��
�ni�,J}ė��Pͥ�Fm�
�ۣ��ye�Ku�t��
=ķd�
J�Q������rK`/X:yBNY\"������L�;��;<�P��	3�:��A�n����|�;�I�V.44�*h��9n=�P�(�B
�
-�� ̱~�^���x�}Pdž�x]�h
�ڿ�=���{�����╯l�Q�����������F�׹��(�"[
QN�+Q2�&0�L���
�㣬�P��g�n��`I[��0 at lKO��\���yxx at q��4Y�()o����aE�%vޠ2�l5d��M-
�"U9���kG��
-endstream
-endobj
-10717 0 obj <<
-/Type /Page
-/Contents 10718 0 R
-/Resources 10716 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10650 0 R 10651 0 R 10652 0 R 10653 0 R 10676 0 R 10677 0 R 10678 0 R 10679 0 R 10680 0 R 10681 0 R 10682 0 R 10683 0 R 10684 0 R 10685 0 R 10686 0 R 10687 0 R 10688 0 R 10689 0 R 10690 0 R 10691 0 R 10692 0 R 10693 0 R 10694 0 R 10720 0 R 10695 0 R 10696 0 R 10697 0 R 10698 0 R 10699 0 R 10700 0 R 10701 0 R 10702 0 R 10703 0 R 10704 0 R 10705 0 R 10706 0 R 10707 0 R 10708 0 R 10709 0 R 10710 0 R 10711 0 R 10712 0 R 10715 0 R ]
->> endobj
-10650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 707.957 187.264 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) >>
->> endobj
-10651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 707.957 293.213 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 707.957 371.148 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 707.957 455.727 718.861]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.98 649.98 187.264 660.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) >>
->> endobj
-10677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.963 649.98 293.213 660.884]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.131 649.98 371.148 660.884]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.711 649.98 455.727 660.884]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.235 638.025 220.058 648.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-10681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 592.003 186.348 602.907]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6) >>
->> endobj
-10682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 592.003 293.772 602.907]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 592.003 373.367 602.907]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 592.003 456.837 602.907]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.717 534.025 186.348 544.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495) >>
->> endobj
-10686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.523 534.025 293.772 544.929]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.35 534.025 373.367 544.929]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.82 534.025 456.837 544.929]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 522.07 218.404 532.974]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-10690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.772 476.048 187.446 486.952]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38) >>
->> endobj
-10691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.73 476.048 292.979 486.952]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.431 476.048 370.447 486.952]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.745 476.048 456.762 486.952]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 476.048 513.996 486.952]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 464.466 159.485 474.997]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.603 464.466 240.62 474.997]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
->> endobj
-10696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 418.071 180.496 428.975]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) >>
->> endobj
-10697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.834 418.071 255.764 428.975]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 383.008 213.153 393.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) >>
->> endobj
-10699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.49 383.008 288.42 393.912]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 347.944 161.677 358.848]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5) >>
->> endobj
-10701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 274.03 205.752 284.56]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) >>
->> endobj
-10702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.089 274.03 276.595 284.56]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-10703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 238.593 204.078 249.497]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57) >>
->> endobj
-10704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.415 238.593 273.238 249.497]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
->> endobj
-10705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 203.53 212.377 214.434]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) >>
->> endobj
-10706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.714 203.53 289.846 214.434]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-10707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 168.467 209.627 179.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) >>
->> endobj
-10708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.964 168.467 314.791 179.371]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 122.445 248.202 133.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) >>
->> endobj
-10710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.018 122.445 329.845 133.349]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 87.382 207.953 98.286]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) >>
->> endobj
-10712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.291 87.382 311.434 98.286]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10719 0 obj <<
-/D [10717 0 R /XYZ 89 770.89 null]
->> endobj
-10716 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10778 0 obj <<
-/Length 1972      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�4KUE0  9U{�LMR���eg/3)-B2k�ǒ�=�_�ƃ)��<��8����n4�����o/�������N�BA�s�qB��,D\�U�s�߮�s< 
-xK�~���o��R�.�^_���#�#�#?p��Ż߰���
��0p����aԃ�ι���[]ƎZG.::�#|
R�o4zO)��4�9�
c�nA��'�}�T,�V�_�(ʱ�����a���j+3YFu^V�B�����Q��ͻ��CU�tH«mBH�Qs��N �L-�R$q���U�Y�?�ZhA��4'����Y-Bͮ��$S]~�
���<6
�VfHoj�!�I3��O�����y�y\
�� ��\!���,�1��eH�[�&�ɐ��C� GA
�'�m����i�%i��$۞��\x�+���V>A�N9:��Ex�#���s:�y�-�2[�Q ����2��,X������`nhP�
ci��]�~2�LB�q�z��!�`s Z!b4�X�v���桛l�w��E(3Cn��p�!Z׻�y`XX ʬ��ys��$FA ����F�����w�[�
��<{"|�C�Eo�Jπ�8�~V7� ''>
���r��q�
-�NUv�8������-N��)>�)
�)V85������b�1�,�c�����`o�ɕJ+ͩe�d��XwBȫ�s��k%m2��oɶ���t��*���C�Q;�#U_=H����ZC � |�;��(&�~O	ԩ�!6hf��#t��!ҙ�

-��iI�����"���@!�,
2��>.퉳�Җ�}R��V���,�����;M>1�lV
|ȧ䗗[�
~:��(v(���T^��lP��z�YK7O���� ��Q�D7��D:@���IFo�����g�H��Qև]��e�����$�,5j��@1x&�#�0�q��F}[�r]����X�R8�n��2����	Z��E��"�S�{
��U�l�dA\ջh,��i�;�4`�%
8\��
�` _��Y��
���C��������j���
O���xXP/


�CE<K��!���B)׋
-�
Eɠ�!�QI�D�u�ċ:m�
-�A-J:�8ն��&dt��hbg�A
�
�@��N[�X
-9R�
-� #��;P�ɲ�V�jψ��l/*���6�V��t�]�<P��q�\
M����\S]m!Px�%fkjGY<'H��À����'-X Jf�ZTwhu������$ޔ���NS@�>�
�K�/4
-�Y���B���|��/j�N��J]E��yT-cD)y���SMÔ"
��q�QU�F�z��W��tY�ķ2%	�)u2�
�}?@��b�B���Y�̋��
->������&�w�����%��j_A��W�T
��
�q������Q�1D�v�M,tI������l^Bn-=�����z"�l$�}%v���w�lc��
��������%Z2���
��iEm�]%��
a��z0�����2��Wv?�:���~�;;i`���
W��a����ϙ�n&s�sG��lC9I��l�ٳ��j�Y�$�m
B�GBZ��}�ɨ\��P���P�$�2
Rte��e��u"�z�=u����ue�2C&��-^��^JK��G���4��?I(3Ϥ��"�sɅ���F�
��ra	��iS��s�
�M�����
@o)D�_�
4Zᕑ��"��<��Y �a�p�V��>�Ѧn�QQhRTw
��R�s��G��!��~F��ܳ��
�^�)�
iW-1(BԌ������s�

C�RI��2��|�gC �U�鏝\���;�7�%�3��F�_��8��5�n�'�q�L�����'7eTگK�Bv��b[˾���}d7�*��(Y
���5���_��fy�u���(�]�y��|�u]������G�
-�(QR_��g�ӥY
��\c~I��6���T���S�	��n�1
-endstream
-endobj
-10777 0 obj <<
-/Type /Page
-/Contents 10778 0 R
-/Resources 10776 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10554 0 R
-/Annots [ 10713 0 R 10714 0 R 10735 0 R 10736 0 R 10737 0 R 10738 0 R 10739 0 R 10740 0 R 10741 0 R 10742 0 R 10743 0 R 10744 0 R 10745 0 R 10746 0 R 10747 0 R 10748 0 R 10749 0 R 10750 0 R 10751 0 R 10752 0 R 10753 0 R 10754 0 R 10755 0 R 10756 0 R 10757 0 R 10758 0 R 10759 0 R 10760 0 R 10761 0 R 10762 0 R 10763 0 R 10764 0 R 10765 0 R 10766 0 R 10767 0 R 10768 0 R 10769 0 R 10770 0 R 10775 0 R ]
->> endobj
-10713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 697.164 246.528 708.068]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) >>
->> endobj
-10714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.344 697.164 326.488 708.068]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 662.627 216.252 673.531]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740) >>
->> endobj
-10736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.59 662.627 328.042 673.531]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 617.131 254.827 628.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) >>
->> endobj
-10738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.643 617.131 343.096 628.035]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 572.009 236.745 582.539]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec) >>
->> endobj
-10740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.082 572.009 307.588 582.539]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-10741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 537.098 243.37 548.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923) >>
->> endobj
-10742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.708 537.098 320.839 548.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-10743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 502.561 240.62 513.465]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) >>
->> endobj
-10744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.957 502.561 345.785 513.465]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 468.024 247.246 478.927]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) >>
->> endobj
-10746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.583 468.024 359.035 478.927]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-10747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 433.86 193.577 444.39]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) >>
->> endobj
-10748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 433.86 232.581 444.39]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.059 421.024 248.845 430.929]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 388.364 193.577 398.894]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3) >>
->> endobj
-10751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.915 388.364 277.691 398.894]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.391 375.528 247.177 385.433]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-10753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 342.494 223.465 353.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39) >>
->> endobj
-10754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.802 342.494 298.732 353.398]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 307.957 215.176 318.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f) >>
->> endobj
-10756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.513 307.957 290.443 318.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 273.42 229.552 284.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) >>
->> endobj
-10758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 273.42 304.82 284.324]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 237.222 239.804 248.126]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) >>
->> endobj
-10760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.141 237.222 315.071 248.126]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 224.76 275.476 234.665]
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-10762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 202.685 217.109 213.589]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) >>
->> endobj
-10763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 202.685 292.376 213.589]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 166.488 271.126 177.392]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) >>
->> endobj
-10765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.463 166.488 346.393 177.392]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.863 154.025 326.259 163.931]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-10767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 120.992 201.742 131.895]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) >>
->> endobj
-10768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.442 120.992 243.629 131.895]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.079 120.992 371.329 131.895]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.306 96.574 269.939 106.479]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10779 0 obj <<
-/D [10777 0 R /XYZ 89 770.89 null]
->> endobj
-10780 0 obj <<
-/D [10777 0 R /XYZ 90 290.355 null]
->> endobj
-10781 0 obj <<
-/D [10777 0 R /XYZ 90 219.62 null]
->> endobj
-10776 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10851 0 obj <<
-/Length 2794      
-/Filter /FlateDecode
->>
-stream
-x��[]���}�_������n�تy�n���x�;���T�`FT$P ������
H hD�v*�#A�}���sν���dQ�7�nn�v��_9�zx�|j��'R�����f�4f�R�~Ĩ=M����ȡv��/�E2��
g�4ٿzu|y�<;�FcGR��j������1���h
@�\(i
�~~�����ͿnXF-f,����������Z��o-J��Y;�hm	��ߕ���/74�=��TG�c�%
-�p#��	~r
�/
�>�%L�Y�%\��Т�)7�nŕoOG��?Q�D�d��z�ԻÆ����]�1����t�:}���H�?��r4�o��(���.��i2y�
��!�F�a_#&mhr���8(�5�(�d�4��W��1vdyD(��/})�3\]���؋ ��a4�����8
-�+�Ὴq�_�N�za.�19ɗ�+��S��^�b���kFݣ��O
�ab֛RnZ�ǍQ�+�d�05m*�;���=4
-�ݏ�@l@��� ����d��$������'�Ǧyx��|
�h;��o�����Y��/\^O7�0z2_����66lf�^��Z6
�<"��¸6r�iec�)q��E�h�y.���K�O�:��M0��`a.��
�z��V�K��\U:{-��+���6G���!r�i��`?}����\
B�{-n9����(H�����bR��F s<y
�� k7����)����~=�WM�$�*ݯ��}��
@� duT�,ց��&�Q�~.�]5
hp�
��
��ep�
��ʩސ]�-�%9  d��-蘳@

����Q�)L5/1ZY3��<^,hUZ�<��]��`��Eq�$q at k	����F
�c� ����fd�\fߚƀ�.
A$� yשb\U`	��1K!�2y"���̢�yN������Y�����AD�`̤���_���U��-��&�@Hxީx�2$`�@�\��P���5lbH��
/β
-xf�S�o@��
-�.��
-�'�t����v*h��J�k� ���.�
l���l�*���>g�Vۮ�q�g�  x��A �
�5�
�ĩڨu������C�c������s�
�A#=�*=`����u	������<���1��Ix�+�(�
E0 i�,� _���a��+)�翘 ��9�
���mp��/M
$h;Hl��
-�#P9�3|Ѫ�!�T#]W��
#pWt1�R2�?kZ�wکY Y�C�v�C�E
ʜa�W-Z�Q�]�m�]
��`v䲽��B��Z��_��vh�,��ɚl���v�Ki&Dc&0�>����brm`�S��/�M..ತHC�΃!l<,_+��.@��y@�\
�R��2>��p���� E�T(b/(��ޮ2
-,��DFΕ�5KW<=@��%H��jQε�褼�7[�+�4
^WL28ɹ���Nln��Il؈��d'��8�!X���8��Kyo�dD��e8�����*.�Y��
-}$$������WODŽG��
�D3l��j6�%��u��*��d��z	����="�:�^M���4?S��\6m�!�4���y^��]%hh�oӺ�_�ٲs5ɆD����jVN��N&Jd�4Ր��`K��
�$*.$��u��+G;��6P[Ks�yT
�D
��>q��
--��B�a�z�E�{���Qk�Zx��mK�_���	��9@��{@�B]X�q^�=
-<�
-���8�l��6��\u��k���H����^#�8�s���)���M��B���)�R
#�+�3js��
ў(
h�_K`�j�`�b��M�8���%e�}H���CB�J��N����.��
����~4$a5Ys@:��!z�|n>b��xQZو]KG >$~��,r!�}���z0��rF���	s�p
L`�l�`2Ո��=*F��>����}��� �4��Ӻ4m��@oq
�_U˖��*3�C��y��l3�Z�]w�|l\��Y�� j� 0
l�����
�2��7�7��ˋ�z�"�d�\{�L7-!���=�YEQ��A�����:W�� u^�r�(Ӛ�)H&#H���`�#ʗp��0�n��ݳ��<�q���+�9�d�*w�� �~f?<� � ��S��ab�n�UW����&��@�}اY��q<0�!�hUN
vI%pE��7���Jrau/��+�7�l?ɖ�e�Z�1����E�LG`-B��s��NW��]�l�V�;��I
lG��GS*ݤM�Qb�ɻ�
 �5uZ��g�dqR<=��9_X��a{8v*�L�(*�#p�!�61|K۸�=czS]O��C/�u����?M����������kx�
7I
05[��%��,N�"��Ѐ?�G^�N�v\�A�+�6�r���OD�
�0�� �|")�I��q��'H/<��Es�q��C^�Нw���M0�
Q�x*6@�
�-!
-S�с^���3�Y>p-B�J
��P$��9B�F-B���8�kp���g?`�>��!�zJ3��"���K7�Aq"�g�M~`D��
0SW���M�����t5���t�t�	�� �we�f�8_].�9��'���^ʊ�O<<���O�!���������.�T�)ZGڡ��f{���+�ܝ�K��vR�ü����C.��_
-��^��P�{����tTqB�5�ݠ���4H�0� ����h[��8�����P@����r
j�\���V��;�Α����e�̲ͫ���nG�)�F�&!av�٬nk"�2k��-;y,��:N��\\�
������
-endstream
-endobj
-10850 0 obj <<
-/Type /Page
-/Contents 10851 0 R
-/Resources 10849 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 10771 0 R 10772 0 R 10773 0 R 10774 0 R 10796 0 R 10797 0 R 10798 0 R 10799 0 R 10800 0 R 10801 0 R 10802 0 R 10803 0 R 10804 0 R 10853 0 R 10805 0 R 10806 0 R 10807 0 R 10808 0 R 10809 0 R 10810 0 R 10811 0 R 10812 0 R 10813 0 R 10814 0 R 10815 0 R 10816 0 R 10817 0 R 10818 0 R 10819 0 R 10854 0 R 10820 0 R 10821 0 R 10822 0 R 10823 0 R 10824 0 R 10855 0 R 10825 0 R 10826 0 R 10827 0 R 10828 0 R 10829 0 R 10830 0 R 10831 0 R 10832 0 R 10856 0 R 10833 0 R 10834 0 R 10835 0 R 10 [...]
->> endobj
-10771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.288 707.957 212.768 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) >>
->> endobj
-10772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.771 707.957 252.959 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.896 707.957 375.145 718.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.401 683.225 277.928 693.13]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-10796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.443 649.876 250.099 660.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) >>
->> endobj
-10797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.258 649.876 289.446 660.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.772 649.876 379.512 660.78]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 649.876 513.996 660.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.304 623.935 439.335 636.1]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.207 591.795 266.586 602.699]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) >>
->> endobj
-10802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.509 591.795 309.697 602.699]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.494 591.795 408.234 602.699]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 591.795 513.996 602.699]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 579.84 171.361 590.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.237 567.063 480.87 578.019]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.091 533.714 250.748 544.618]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) >>
->> endobj
-10807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.068 533.714 357.317 544.618]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.405 533.714 456.145 544.618]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 521.759 202.344 532.663]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.005 508.982 446.071 519.938]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.017 475.633 265.396 486.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8) >>
->> endobj
-10812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.568 475.633 375.818 486.537]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.239 475.633 478.979 486.537]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
->> endobj
-10814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.616 463.678 225.866 474.582]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.222 450.901 466.67 461.857]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-10816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.933 417.552 239.984 428.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) >>
->> endobj
-10817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.633 417.552 280.82 428.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.855 417.552 405.104 428.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 417.552 513.996 428.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 405.597 171.361 416.501]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.257 391.611 432.092 404.769]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.436 358.268 251.209 369.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c) >>
->> endobj
-10822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.361 358.268 290.549 369.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 358.268 409.969 369.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 358.268 513.996 369.172]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 346.313 171.361 357.217]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-10825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.114 332.327 456.992 345.485]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 298.985 224.57 309.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71) >>
->> endobj
-10827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.908 298.985 299.838 309.889]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 286.208 347.869 296.113]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-10829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.761 263.818 199.556 274.722]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3de85538032f58e387a151ab6a9960ba) >>
->> endobj
-10830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.215 263.818 288.991 274.722]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.558 263.818 449.718 274.722]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
->> endobj
-10832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 263.818 513.996 274.722]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-10856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 251.863 244.556 262.766]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
->> endobj
-10833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.598 251.863 395.48 262.766]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
->> endobj
-10834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 251.863 513.996 262.766]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 227.13 164.537 237.036]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-10836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 204.74 273.129 215.644]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) >>
->> endobj
-10837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.944 204.74 352.41 215.644]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.949 169.574 282.978 180.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) >>
->> endobj
-10839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.014 169.574 386.79 180.478]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.53 169.574 513.996 180.478]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 111.493 255.564 122.397]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) >>
->> endobj
-10842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 255.574 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) >>
->> endobj
-10843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.912 74.333 330.842 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10852 0 obj <<
-/D [10850 0 R /XYZ 89 770.89 null]
->> endobj
-10857 0 obj <<
-/D [10850 0 R /XYZ 90 128.742 null]
->> endobj
-10849 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F105 2455 0 R /F41 366 0 R /F106 2334 0 R /F37 2635 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10915 0 obj <<
-/Length 1884      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~ׯ�)E3�zo�:mg�4n&m�4v��4��bmӈK[���YvA�AF6�\�gwϞ�w��6�
l�<{z2;<r��!Ϧ�qrfx�p��,��ɹ;�p��`���gè��g��>y���X��=?��3#�
-DM`!�5V���l��K#�Ʀ�
N\�����ֺt�J7�pA7�K�Lj­C"D)�c���q>_P
�E"�9<"�i
c.rk��˜)!�)Ñ��J��s%�Z�2��d+$Ԣٜ9��/ׅzN��u�D�e��Z7���RV�ε���<3ޗO_����&
D,G)ae
-r*��q�&��!by#���M?z�!��Z�g
�ڞ������Ȳ�`�/n�ƂR����C�յ���y5�`�06�������R�x)��2�-2?M�~&��/���
i�U����$��
dI�$�|r=�-�`���2b�gR$�øX
_煈ړj�@x��ϓU~���2�[�k�g[�Z
�^O&��ϑ��:D��1X��:��q�
1l�^
a�vғY�@zBR;�O��
9���S���O�,�S^�Y*�+?��"%-d�A�H�è�z)�#e)��b��| emd3�+e]@�����@��@�X
�話#�,I��]����=1���d*�����e
�
[
-"��L�
bB��ص��,�&5Xp�n
)�5��@-���;M�0��`�����b.?o��Tn'X�8
NJz
X�,
`Pd��e�n��i��ݖ)�BB�
R����
 )6�;H�a8�ok8�%_�5�\���2�(vu�z_�n�t_��B�%|�=~�
؀)ש§H��.M��
�pYu; 6��0�`s�G:Z}�*= "�p=��=�\�H)Z5��pu��I*<��qc|
-b;|
-o�>e�
1�-LHO��#%��h��!
��d<&|ȝ‡x�� ���B=�JSaȷ/�1�&�{�
7(��0Pȷ5P0�5G�v+P��J���
�<��
!���Ç�Q�MB6ݏ�u�$!�[��F̷�L�9j�W":���e�.��L�\������M�g�[&^��F�<�"���ws�#VR����_��:Y9�K��t
-���2��.�J�|	n_��C\vpN��eY\��o|4*o�@�=I1"N
�QOD:Ȧu~�%|o���ݫۭ	4���/oJc�
�%k�6��=����ø#�Z��s�>�ۯ�A/�!T'�cC!͒�A�G

Pu�
�s{
1A"�8)A����Q2��p��_��
��St�����H���Bѣ�c��,�`�~���7 0�^HJ�;�y胜I#9Q"3�J�7��
a��ܟ����Z��cы�O at M`.Y~�([nBbEU�����X�/�B�.��)�:�&���ϥ;N��/D6�w�)U ���v����<G�p�v���e���\$�u�*o�JN��ֈm�Hy{�&��S�ჅM�ѣ)p��Ǣa�
ذ!:�zv�Qd�d���
� ��Du"��� QD)�XB�jl娃8�[�]��n%ldm��
��>�|S� Y��e�*��­[��COӼ ro�x�ي�ˌ�O�İa�>�g�<6�����
��O����>7������m���c����d�nˤj{��i��>�6	�V'J���
/�f���7\W�9���n�
��?Sx9���=�n#��|�5�*IC1U}̾�
-Ө�&q+�zx�C�c��W`ÛJ��
�(wK0��d�A��	���
��M���b��cZ6����=f��K�;
r �K�
Ҁ��A��k��E�#�jZ���i�g���\d�ȯ���|(���G�Wіl|ЫD��`��౨����Ѩ�~�	E�JCAa����H�=<�l6h���8L3�i�>�Y!�Hb]OrV!o�d����aT6+��� ۠U
-endstream
-endobj
-10914 0 obj <<
-/Type /Page
-/Contents 10915 0 R
-/Resources 10913 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 10844 0 R 10845 0 R 10846 0 R 10847 0 R 10871 0 R 10872 0 R 10873 0 R 10874 0 R 10875 0 R 10876 0 R 10877 0 R 10878 0 R 10879 0 R 10880 0 R 10881 0 R 10882 0 R 10883 0 R 10884 0 R 10885 0 R 10886 0 R 10887 0 R 10888 0 R 10889 0 R 10890 0 R 10891 0 R 10892 0 R 10893 0 R 10894 0 R 10895 0 R 10896 0 R 10897 0 R 10898 0 R 10899 0 R 10900 0 R 10901 0 R 10902 0 R 10903 0 R 10904 0 R 10905 0 R 10906 0 R 10907 0 R 10908 0 R 10909 0 R 10910 0 R 10911 0 R 10912 0 R ]
->> endobj
-10844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 708.28 373.782 718.186]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.609 685.942 306.641 696.846]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) >>
->> endobj
-10846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.997 685.942 386.927 696.846]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 685.942 513.996 696.846]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 661.262 390.169 671.167]
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-10872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 650.303 208.508 660.208]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.637 627.965 311.746 638.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) >>
->> endobj
-10874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.158 627.965 390.088 638.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.169 627.965 513.996 638.869]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.894 603.285 392.558 613.19]
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-10877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 592.326 208.508 602.231]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-10878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 569.988 236.197 580.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) >>
->> endobj
-10879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.534 569.988 311.464 580.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.542 557.263 359.338 567.168]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 534.925 214.06 545.829]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) >>
->> endobj
-10882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.398 534.925 289.328 545.829]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.871 497.869 284.525 508.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) >>
->> endobj
-10884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.405 497.869 359.335 508.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.78 497.869 477.607 508.773]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 473.189 390.169 483.094]
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-10887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 462.23 192.566 472.135]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.197 439.892 291.929 450.796]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) >>
->> endobj
-10889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.46 439.892 369.39 450.796]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.041 439.892 491.868 450.796]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.894 415.211 392.558 425.117]
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-10892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 404.252 192.566 414.158]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 342.69 289.866 353.594]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) >>
->> endobj
-10894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.681 342.69 359.324 353.594]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 307.626 290.971 318.53]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) >>
->> endobj
-10896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.787 307.626 360.43 318.53]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 272.563 224.003 283.467]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) >>
->> endobj
-10898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 272.563 299.27 283.467]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.695 259.838 272.49 269.743]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-10900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 237.5 254.15 248.404]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) >>
->> endobj
-10901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 237.5 338.263 248.404]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 202.437 284.585 213.341]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) >>
->> endobj
-10903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.401 202.437 354.044 213.341]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 144.46 241.726 155.364]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) >>
->> endobj
-10905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.617 131.734 407.658 141.64]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-10906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 109.396 249.318 120.3]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58) >>
->> endobj
-10907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.134 109.396 288.321 120.3]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.875 109.396 371.519 120.3]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 74.333 240.62 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) >>
->> endobj
-10910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.958 74.333 324.734 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.313 74.333 389.5 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10916 0 obj <<
-/D [10914 0 R /XYZ 89 770.89 null]
->> endobj
-10917 0 obj <<
-/D [10914 0 R /XYZ 90 552.122 null]
->> endobj
-10913 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F23 364 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10956 0 obj <<
-/Length 1656      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�J3
���\ڴ�Mf�؝
��"!
�JPQ�_��C�
���&(�����[��z��������Ս���Ԧ���
-��!�(����1��
'S�1
�N
�2e�ۉ��y�Y�d�7b^�rs}����<�Lm�_%LJ=|��~Ƴ��\ǥ�؅%>��>��~�ψ�f�"Z�������Ͽ[9a`��I���\�n����Wmdh`$u����Ȇ�O"Dz�y�|l��\d�"3�E�3)����R��&��9AK�r?�R�Y;*��)i&��ʇDQDB��sY
I"�#�r�v�>W4�
�SSz�5uB�CW�z+dē�e<_���t���UU�/�W����d� ��6
-
������Tp��wJ��		�K������
;
�¶�skb0�v��׊�
�?2詞s)rmך�F�_ �rU9�1!G
��R9����������}��$b��$c�\׬,�Y���#^z�9�G�M�5�Y�t�f�	{��C���
��{Qx�̩��8֢Z�,���z�|��H+|3 ��vl�:��cߘ �N��gòx(x����>�v;!b&����k*�(O
V�y�'�#�a�I���gr�(f2b��� c�rNuV`n���RT�I�C9�qQ�b*���:�e9'Q�a�E�t���k=,'�?慾H�ULeK�,_
�S��
/A���v���ul�{�%3�qlk7�V9K��^�o��Qpc���
� �;g��'�%q.J(c���fcWK
�+0	F��Ń1"���"VRd� E�l�
^2U[�� U�7�|9�"��q�GR^�!=-$�y��B�$g�Aڋ�?.8��R at u׶�
���C1@��C��#I1^I4�W�}�WϔY [...]
-�z�
蘾8�t.�I�G�Ll�Zt��<���E���>���Q��ݩm8�Z߮�I3>��
-���
c�
���W�E��6�g<e_f���}�[O�ꈰ�y
:�eX[��t��	��$�O"��v��߬�IН�4}�ڣ�%1ɣ6`m*��OOBP���5-�6+y�T�D	��|,�|&7�⩼$L8��i�{�@ozJ�ԝ4�"��1���	c��L��&iW˼;
o�j��Uj�ܲ��J�*�y
�>E^M�3!<�S��KԦ�p�n����� �˧9��]����Ȟ������A�}V��H}�]y,���,��ט���:��vΩ����r 1�����G�G
̯��o��N"ejj�滅�5_��_��?�n��`ŲUӍ(�>+Q��1�5A�>���;�pA[��jF(T�-}U
��qXVUq}u�^�Q$�*E�DuU����Ɩ(���Up�|��mI
?��!�.
��� ��1�
-endstream
-endobj
-10955 0 obj <<
-/Type /Page
-/Contents 10956 0 R
-/Resources 10954 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 10930 0 R 10931 0 R 10932 0 R 10933 0 R 10934 0 R 10935 0 R 10936 0 R 10937 0 R 10938 0 R 10939 0 R 10940 0 R 10941 0 R 10942 0 R 10943 0 R 10944 0 R 10945 0 R 10946 0 R 10947 0 R 10948 0 R 10949 0 R 10953 0 R ]
->> endobj
-10930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 646.032 180.773 656.935]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) >>
->> endobj
-10931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 608.804 167.466 619.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aca90e7afe251a0d4174dcf538b34006b) >>
->> endobj
-10932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 608.804 219.211 619.708]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 573.57 193.029 584.474]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) >>
->> endobj
-10934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 536.342 193.029 547.246]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
->> endobj
-10935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 499.115 165.911 510.019]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) >>
->> endobj
-10936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 462.261 187.689 472.792]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290) >>
->> endobj
-10937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.557 448.081 476.544 457.986]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
->> endobj
-10938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 413.702 202.902 424.606]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 413.702 300.037 424.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) >>
->> endobj
-10940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 376.475 202.902 387.378]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-10941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 376.475 314.263 387.378]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4) >>
->> endobj
-10942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.819 339.621 199.864 350.151]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb) >>
->> endobj
-10943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 258.942 203.075 269.846]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 258.942 296.324 269.846]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-10945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.377 243.956 355.085 253.861]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 219.357 287.856 230.261]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) >>
->> endobj
-10947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 180.146 194.297 190.676]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) >>
->> endobj
-10948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 140.56 188.759 151.091]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c) >>
->> endobj
-10949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 100.602 294.481 111.505]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647) >>
->> endobj
-10953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10957 0 obj <<
-/D [10955 0 R /XYZ 89 770.89 null]
->> endobj
-10958 0 obj <<
-/D [10955 0 R /XYZ 90 663.196 null]
->> endobj
-10959 0 obj <<
-/D [10955 0 R /XYZ 90 590.853 null]
->> endobj
-10960 0 obj <<
-/D [10955 0 R /XYZ 90 553.626 null]
->> endobj
-10961 0 obj <<
-/D [10955 0 R /XYZ 90 516.399 null]
->> endobj
-10962 0 obj <<
-/D [10955 0 R /XYZ 90 479.171 null]
->> endobj
-10963 0 obj <<
-/D [10955 0 R /XYZ 90 430.985 null]
->> endobj
-10964 0 obj <<
-/D [10955 0 R /XYZ 90 393.758 null]
->> endobj
-10965 0 obj <<
-/D [10955 0 R /XYZ 90 278.282 null]
->> endobj
-10966 0 obj <<
-/D [10955 0 R /XYZ 90 278.282 null]
->> endobj
-10967 0 obj <<
-/D [10955 0 R /XYZ 90 238.816 null]
->> endobj
-10968 0 obj <<
-/D [10955 0 R /XYZ 90 199.231 null]
->> endobj
-10969 0 obj <<
-/D [10955 0 R /XYZ 90 159.646 null]
->> endobj
-10970 0 obj <<
-/D [10955 0 R /XYZ 90 120.06 null]
->> endobj
-10954 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F97 1185 0 R /F56 363 0 R /F23 364 0 R /F107 2329 0 R /F106 2334 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11009 0 obj <<
-/Length 1623      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~���^2��u	�k��ڴK�aE[���B%Q��$ޯ��E��ʗ6iQ�I�txt��;�f�.z�F��s[
-\�Z�+�����p7���
�F/,��	\إ
���
�]����٨�o��+l̀!Ϸ�����������
�֝"J-��pM��ޟ=�SB!��o�����Qŧ�!e����^���"��Xd����z|��5��E��[C� �4�����
�H13]]�wC�q��H�s>-D֢��R�������}��D̖Z�J��b�;�J�i�����2�]��E:n��=�~���3��"���,ᰱ�b�1Φ 6�P�6�X>��u��(E�C��4!xW���"N��V4ԗ��h�>�I=���q63��s�(s
��1��3s�'�E�uʴŭ�Z8ʐ�8����^��n&Gˁ��{
w*�<Qλ����4	˲�YԢ{�������Wo^���|��!�|]
l�1

��ț��XD��<$�� �o�x+���^��Y5�^�O;��� ]n�]�",�Pj-n�]"�@����̗��Cݰ����Y�Q��ϳ|�Y���4]~����T�Ω��م�J�����w�e��})��*@�#$ہ�� [...]
-<L�&9nPci�*O ��
��NWt��~M�DS�8���^�	�c�`=�*^�(h�t�f��;���Me���g
-�QvGtzAWt�kU���V
`�L�o���5T�`��_���zӦ��}�
��e��|�&�~W��}`��7T�ِ��������8�x��USP��)�G����;dx�G��ԿQ=7ApijLMt�����&Zf
�{k�(N
�0ٚ(X�q����S��RӴ����ԏ0�v�!
��i�
L<�RRD�	��Q��x�q&�?��N $M�y�E<�|��S�M(A! ���=s{!�q)R>�`v�f�b�
��
J+W�E
�����WE��k�QG
�tx�e~c�\׺��*3顑o#��5�3
E�
��I�¦�_ųyų�+�]�� ��޾�v�
4D�iS��\
-�Dz\�����.��z����`pj�Q��̀]q�*�0o�Ɉ⟇�Y��|t�(�*�/�:oί"Qh�S�"��Z�c9�NyH��$]�r�4�m�6n�� 
q:t\����+.�ϴ�o#~��]\�H�KQ��X)����.��Yd¼L�
o�O�O�uuN�!B�ݵ���''f6
��w`�1�i!l#��������L s~��%�
����f{�W>?8� �N�q����l��g=:L0ޙ�
掟�b�4/<D\�jQԹ�Jy#b��@
���7�66C���ڐYb�Ox�QU<�]
b�߂���

)B]k8q#� �p��P
������1D��0��z��Nv�0�� �Ր�s7tM�@���:����xR����d{TI�G�Fϣ_�[O�������E��/�0���]!�P�W��*��6�o$#{ZW}����\`c�sK�Ԃ��M
��@
�l`�&�o�<h�sk
�o�*y�󀱾��^��&צf�JV���A?�'�jܬ�k^�j��}����t]h�C��-ͫ*?9>���CQ�Y�(���<9��_�q�z
�{TOu��3x���)��N�/��
-endstream
-endobj
-11008 0 obj <<
-/Type /Page
-/Contents 11009 0 R
-/Resources 11007 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 10950 0 R 10951 0 R 10952 0 R 10973 0 R 10974 0 R 10975 0 R 10976 0 R 10977 0 R 10978 0 R 10979 0 R 10980 0 R 10981 0 R 10982 0 R 10983 0 R 10984 0 R 10985 0 R 10986 0 R 10987 0 R 10988 0 R 10989 0 R 10990 0 R 10991 0 R 10992 0 R 10993 0 R 10994 0 R 10995 0 R 10996 0 R 10997 0 R 10998 0 R 10999 0 R 11000 0 R 11001 0 R 11002 0 R 11003 0 R 11006 0 R ]
->> endobj
-10950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 683.068 161.84 693.972]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) >>
->> endobj
-10951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 683.068 297.202 693.972]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-10952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.765 683.068 456.154 693.972]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
->> endobj
-10973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 641.146 161.84 652.05]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa) >>
->> endobj
-10974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.178 641.146 237.107 652.05]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.672 641.146 330.138 652.05]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 599.223 161.84 610.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) >>
->> endobj
-10977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.08 599.223 332.907 610.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 557.301 161.84 568.205]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) >>
->> endobj
-10979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 557.301 309.386 568.205]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
->> endobj
-10980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.915 557.301 390.859 568.205]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-10981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 515.379 161.84 526.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) >>
->> endobj
-10982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.08 515.379 331.224 526.283]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 473.457 161.84 484.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) >>
->> endobj
-10984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.559 473.457 307.702 484.36]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
->> endobj
-10985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.789 473.457 389.734 484.36]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
->> endobj
-10986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 419.579 161.84 430.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_adad834921ba7c139b0cb10c507b4070a) >>
->> endobj
-10987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.33 419.579 274.93 430.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
->> endobj
-10988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.471 419.579 316.198 430.483]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-10989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.567 419.579 431.033 430.483]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 365.702 161.84 376.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 365.702 213.387 376.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29) >>
->> endobj
-10992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.724 365.702 288.654 376.606]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 323.779 261.944 334.683]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa4fa3b0975b2971f5a2cbc5bc9621a81) >>
->> endobj
-10994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.281 323.779 346.058 334.683]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-10995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.848 323.779 453.314 334.683]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
->> endobj
-10996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 197.57 226.034 208.474]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) >>
->> endobj
-10997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 197.57 369.106 208.474]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-10998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 155.647 178.239 166.551]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) >>
->> endobj
-10999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 155.647 253.506 166.551]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-11000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.239 155.647 343.169 166.551]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-11001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.071 113.725 160.437 124.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a67a7d08f3cda46f7a743d46f3a6f33b5) >>
->> endobj
-11002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.409 113.725 327.421 124.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-11003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.984 113.725 513.996 124.629]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-11006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11010 0 obj <<
-/D [11008 0 R /XYZ 89 770.89 null]
->> endobj
-11011 0 obj <<
-/D [11008 0 R /XYZ 90 703.576 null]
->> endobj
-11012 0 obj <<
-/D [11008 0 R /XYZ 90 386.329 null]
->> endobj
-11013 0 obj <<
-/D [11008 0 R /XYZ 90 245.356 null]
->> endobj
-11007 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F38 2117 0 R /F11 442 0 R /F107 2329 0 R /F97 1185 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11031 0 obj <<
-/Length 2467      
-/Filter /FlateDecode
->>
-stream
-x��ْ���}�oq��X%�rd[�#*E��Ev�@`H"" ��|}��{pKm��*y!�����:��r��7����6r�D$�Z�[+q�(H�
a�[l�A�Z����oW�c��1��v�9vu8�Uޤ,6Mڜ����+7��r���c�:�mK�wj��*3x� �v ������|s�ˍ
�9�K�H�Vv���c����?��
t�χ��z��*S�+\wēp���U��}_�6k��+�v ��[�9��
D 	��
8��ޤ�
EvƜ��jh����?�\i+�y���P�־��_�����]e
�T[�v�*� �ERjv,�w�o���[�K
�bѻ�ݨ�Q�*;&3e¿@�V%�
�M$K�ȓ�|�i�a��)�Y
�wG�
C!=��O�# ױB�D~� �pi�"t���!�=���u�<k7���W at Q�L�y��`����*+~r
O�,�-}Ul6�F+�Μ<��:�X+�We�5iA�ƍ�N��IA��9!�V�%5�����×x @���ԗ��
7_-���Jg&�Ը�"-s�-:�2��q�A�sK{uն��h�UL�|��V�
�-#t
7��D�q�=G&p�
��]�
C @�Ƨ�Zy�ѫl�#�K=l����
��t�V�6#����2~X���L����
 r�
C=�l�k��G����>��J��M���Z�G��҄8�AU2k0iT~*��hzT�
��$�m��k���~�i=/�B�"A�g��
�����
���X��lKO �
�y��*f۫������*XH��)6��N�jiM+H�q8��4"�
�*��vE����
-R����QY��E�c������*��a���+Q
h���^	

�ě7W���&rz<A�$X������ʶ��
iO�Ќh���8?xQ y>1�A � ���� x
9&��cx��>����$�UT�B�r�Z��O2lk>QwS9��X��O`�(���<9����#=��������cݱST�j�3d�S��3oQeN�͔3>�$d�n�C&kܮ��y[{-��2��c�8<Vm�	��`G9���'1���8��D�
TC&�%N��P�GS���
�-C��
� L�^��A�}��
	H��G$�ժ�:�zX
LҦH!ǵ
��y��y(P�x��7&#��/���)�E�V�5'
�"�3���F<s��Ot��C(c+4
a
-�0�8ܝ�Yu�A{�����Ao �R�I��N\�&!���]�M��Z��Lx��~�
�D�p�18��9ښ�3Q�#1��xao��}Z�T�f``Qh�lR���a��
���"�SF�.�*��Sjb9�=aڹj
-4=�)�W�-��4�C��a�
G�,�ç	�
-�U�mЇu
�M'����s����}��P.��ޥ����
�7ˡ(s��
��Б�1oH�����Z
��c
��qI�/��,�/`ƶ�􉤑��>���g�i��u��W �Ӝ�p~&��Q�4��6
�C��B��];��:��y3w��"� 4�R>��`kZˡt�O
���5�ց+��E7n<�٬@q�v`)i�ddU��<�Bi�,
-ͮ]u�dJj�g
r��"�"�
o�N�F�|h�թ��
� ���Dɛ}�@�p}�hL?�ӲO�����j=24��&%��"�rd|'f�'��臥a��拙�z�?���Դ���*FG
-7Jfo
-��I!
�񓂳`����r��`hܭ$u���d�711�!��	���	G���c�}98�:ѥ����~�!j{�;
U>w�I���F��q$�Xy=.�c]l PI
X�x��
-?�)TG��S�
(�]�O gn=4�& 
T?�w�2�$�sEx0x`���S�(c��o,��:����9}ŀ�
�D(�`��^V� ����J�;c��4K���B�
펋�38�~~��`$]J�RV�z��uK;)}&��>�@�UWe��Я2�4v���
���\跼8px�ͣ���ms�
;����w��(&0�iK�1S�ǺҌ�T#@_,2V�y�y���x05�W}���=_�6��Kv���([�`��<��@�Kc
�>�{>�?e��C�_s���7M

4h���Y۟��w� F2� �0e�|���Ĕͣ8n�C�&f���-���#��=E�3:FѥM��IE�>��Ʋ�M
�F�w�r�}��L��8�S����̄vS�
U���_k��
��ܵK�ߍ�_W`�:R��
-�
�-������D{�h���wli��E�>�0�!�b1 
-Fb�o���ɼ*M��C����4��1��2���B��}���_���C�VC�A$d2T�o�y�P��7N�Q��$����6{����dޭ�
S��
�#�B�7�gZ���w�
�D���
-�X��Nߴ컮���}xxޡ��Qt�u}���6FXP
=���:V�+J|q�����z�ާ
-endstream
-endobj
-11030 0 obj <<
-/Type /Page
-/Contents 11031 0 R
-/Resources 11029 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 11004 0 R 11005 0 R 11025 0 R 11026 0 R 11027 0 R 11034 0 R 11028 0 R ]
->> endobj
-11004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.71 683.507 375.64 694.411]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
->> endobj
-11005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.445 641.973 277.732 652.877]
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-11025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.233 588.483 502.79 599.387]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-11026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [100.734 576.528 174.677 587.54]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
->> endobj
-11027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.44 504.322 513.996 515.226]
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-11034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 492.367 156.301 503.271]
-/A << /S /GoTo /D (main_representation) >>
->> endobj
-11028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11032 0 obj <<
-/D [11030 0 R /XYZ 89 770.89 null]
->> endobj
-11033 0 obj <<
-/D [11030 0 R /XYZ 90 721.073 null]
->> endobj
-11029 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F10 504 0 R /F11 442 0 R /F23 364 0 R /F79 502 0 R /F7 538 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11038 0 obj <<
-/Length 2146      
-/Filter /FlateDecode
->>
-stream
-x��Yݓ۶���o�Z
�/���t��ؙIj׭��d��
O�N�)�!�ꔿ>
,@�K���!/GX,��


�|y������	I"
�]�� �		#m��2���_"R�%��_�������{�v�j}��
�%0d�X���w?�`
�_��D'Kt$�-��w���NzU&�Je3I8MP�W��.�劇taE�ܿ��n�H
�V
�B��z;
��(�%��|©M�u��KNǼ�j3�����c�X
�m��a]�}�m��3h�L�U��x�~S���b��m���8/�����-dLh�x��I� "I,����#a HĜZ
i�K"�`�#zg
-�xʍ��_�8�<�^J���r�
V	���Y���^��J�%��V�
8�␘��IL�
1����cN
���g����
!o4�K�5��4��H����Ka�
6��V�9��WY����
~؍2}��:������9s5c;�<Q�X�I�b�,�c٬�~�N�W?�
I�q>}�L�`��衉c�:mڴ�L���3|�����{�ʬI۪�3��u��wg�	!��̏ӒA�� %��7�
�dG?�	�i�u���h���/�
-��}�s�~�O]A���R*FxbxF:��.H�Q
�q��� 	�e��D�%W
�4����oSΟ$��
��"B���u�#36d2
�k��tI��[��e��1��1c4S[�͵%��c$&�q���8�GXi��A��-�jbHL51�)l5�����8�n/[
���‘]`�[���#�Z��(��e�`4�J~�V2fR���^�L���nJ��x�QŹ2�X�{}�X�P��!��-��-;ܖ#�
Se��r���ᶜ���r�ۢ�my9#;��y�t�$j|��:�dsMMB�7EBx="���
Q�"Ӻ��uS�M��n�W~��x3�1
�}��uEbT?�B���q:�)� *�5_��՛w�o��
�N���P�Sa�W]�-�'�E�J9�Dy
��"���s��σ�s�'-@
�,���A�"��::���h���i�
� �pj�	0��|S᢬p�ߖ8�'��pԭc���lD,_v@��mңv
HӜr��2��6(����0̡��m����7y�'3�C��e.4R�����:[
>f�n�=f��@�a�\���Ra[&Ljpӛ��*w���-
��i0��d�#�%��}M
��2?�?�mn-C�l*0��q�,r�|
Ȥq��~<�e

�j\G��������]h9&G���
����D<�EC�NO��v~3��9փ�+��	��MV;U
�ih
����θ�1�	d.�D��[��Xg�f.�f�`�;��#��ٸ�-äG�
ˍ���K���?���`��,����6��������?�!�i��
�#��P��4��~�!��_�������1	��տ�)ph
!�i����y�y9��l�I�|�n߅�Q����� ���4q�<�-x���m�9
�>-r��f̿�r�CN5LB��~*���?[���V�W>�~6��
m5ڃ��~��ZT���eF��!�4��b~�ϰ0]��g'�p>׏C�1�)n� �ߵY3P�-�����{6���7�
x_ފ�
�����A��J�Q��!%�D� T)���N�	ٽRp� �3
-별+Jة���?^���upb�o���
O�;��r�9�-��F�G5�(����	��hD(;;I9!����#�D��+N$���Yu�E�+���"S����،0!$���/�jS"���u�p>S�[+`�����
�/۴s5��_����(1y��,�N�ۋ��?�syi�̠{S�5�c獛���C ���o=#���_��
hly�qhf ��r�b.���.��̑*ٵ��R=$��G�~:$wW�����!}�
��/���@A�G80��ح�
]0}��J����9��=:���G�)�ò��l&�8
->_�)	Y����
�
�ۅ�}&���v��tp�E(S���I��b�3Me�
ܻ�G7�g�ؤ�{c�/\���)�ߤ%�t�gߟv�#J�^�l���2�)��!�F��	�b".��o������t"M�!����u]�OkE��yd��*�]�����L
��u℟ �X
-endstream
-endobj
-11037 0 obj <<
-/Type /Page
-/Contents 11038 0 R
-/Resources 11036 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 10858 0 R
-/Annots [ 11035 0 R ]
->> endobj
-11035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11039 0 obj <<
-/D [11037 0 R /XYZ 89 770.89 null]
->> endobj
-11036 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F31 503 0 R /F7 538 0 R /F72 400 0 R /F23 364 0 R /F8 537 0 R /F1 577 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11043 0 obj <<
-/Length 1845      
-/Filter /FlateDecode
->>
-stream
-x��Y�r�6}�W�Rm������'�4�qc�3�$��-J�"���|}x%˹4i�/n
�.v@��
�<�|=8{&��#ߥ�s=s|�H�#�Bm���?���rD�P�K5�
Q<L��"��j�2�IU�=?o6��7L�ј
-<|�,3���,(���6�ywŐ
6zw�bpq=x? �v��D �9����wؙB�
#�{Φ�t8e�9W�������c�H�ž1��^-WQ`�s
5�	Ξ	�!M<$AjL�IX�\/��,��dD�p�s�t�Lmg�0]�y)��l!�uzf��6��A�j��
-mv�����8��K5��Ғ �H9��e_m', �/1�"c�D\m�D.�~z:��;�wՅpX-�b�驩]�������;��^-��N'� R�'�\%a��.l�,�
�b�=��Q��|oV<1F�2�r��V+Y+:&�C��Oҗ�����e;�
�>�/?B_�/�/����RL����UdYXf@ uS����5��R�������z�J�N
�5&s�����
h�0�3]�	FD
K<3]���*�
dҵU#�u��Wv���J�`h!0�V�
-*JTymQ�qC�W�"��0�
���&^�
n�G0�j�o�8
�ALM�NèJCuSZ���~�ĉ,���Y�C�t	���.5�
�ŘƁ�
-&0��lE�qw
T�~}X걎:^K,*wB�P&��Gk"�+4G�,,i� (�"��첮6w٪V��C����ZZ�rNj�T�Y�r��4��2�|�۵_%i�h7��8�9֛H��3�9i�fT�\���ԫ� yX��v�G�9�Z�sXz.����]�
л}>"�=�{pt�K��N���o{t�8�4 �/�"|
Lm›���pI3И�4�]��k��+��(
-�d���iڄ�Œ��\:�L9�p�lb��qL�&M��:�u��iۻ���M�_��d1��
ϫt5
E�C��;(Da
��
�Ż!Դeī2

�M����R�/
Y
���:_�+T�X�����In
��@x�����Y
㻙cM&�N��1����۟�O:��8�N;�


���/��ϜdħPq�ipl�
�+����M 
 �E�W�o�y�D�B�l@�M�>4�W IT \�{�݇����|
���l;\���[	g &-��{!z��9
�%���1�w����?Xa��������ȕ?q�]�\n�rg�J�Li�;Ӓ�B���a\���}��
-$�h�Si�>���k��zAځ?��e��mWn��2����I���|H���NH�8�z
���
��EX6��M܂j
��|��>�� �;ҥ��,�Ѝ~LZ�fL��j�Ķ�Ow*Q0+*�OP5��
<v���>�)���#�G�H�..�'x$��F~����ȓ�"��(dO�	M����n#��;��$�SD���7=��c�Ge��E$[���$z)L�J�iI�ڵ�N��E�d�IV?x߇�aVKE�?�k�G��gz��W��	-Π6]&��,��U3���"`B�����&8H;�c7�
�#��ק�i�L�I�R��d.�X|��<�$�
\z1�?�Җ��ˇ����qi|7��x�<Ca���<b{�I<��������<D�<f��Yh�~�����a�L�.=�l���
�lr�FXq�������);�>
���
-�g�$���~�nA���Y|r����a
-.����l�����j�1�T�US�

�n$��&�+��[a�9w����C�i�,	�
-k���/�,�jҡ֗x�:�y�:?;�l6�6C�8\�(��V��lB��7�$�i�LRk~W� u��7��ȁ
-endstream
-endobj
-11042 0 obj <<
-/Type /Page
-/Contents 11043 0 R
-/Resources 11041 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11040 0 R ]
->> endobj
-11040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11044 0 obj <<
-/D [11042 0 R /XYZ 89 770.89 null]
->> endobj
-11041 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F11 442 0 R /F8 537 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11049 0 obj <<
-/Length 2061      
-/Filter /FlateDecode
->>
-stream
-x��Y[�۶~�_��������N;So�L��v�j&ǣ�R�.�TIj���
 �I�WI<}�A88��|�@�ރG���^-���(��$y�-�^L=�D���>��
f�z"��C�e�o߽]�~���oW�W��b�z�
-�DE^����z+��֣Dđ�7�6^�<s����Wt��
�0��b�S�����G=��(��&���x�o�2?<�UU�=��˅_��\7��Z7���6</$�̋U���)�v]4X'Iĸ7.�T8yC���l]��TP@
��ل���F�j���)�Ӏ�
N
�$V"�$d�Sׅ�E�ɠ��
���c�qn�Q,8hޙ��S��q�U`׌
-�p�`Ջ�<`��?f�
A$�+]��IHa̹�$�қ�j��pv
-#J�Ep�30b����8
-?CC�/�ǣ�

i~.��EE�iŧ��l�"2��T��0pA�I�׻
_0���ӕޔ3&�'R�Vo���Ye]�YY� �x�v,	]�fEZ̈́�5li�<?L�(AI���%�H:��5
�T�!#8���
���ɮ)7I���43U�"����nt�C��$}t��m;�̐
L�k�D�[#�@c�c`ոU�����E�c�i9�$�X����*i�jʼp�AI�ǐ{.^�Bc ~��1&��˶ھ�Ia��>��&�
-��H������~�
-�~p,���a��N�jgڔ�����rƥ�ᆬ��}ܷ��~��Wã�81�8c\N��5J\k�H3�sI�-7���}�+ <e��BiEQ$������*K�s�D6����f/��;O�<������rB��#9Q�fĜl��ԇO
c>
���9���û�Gx�;�q��HXqߘ:�ж���jmȽct��c�뺏c~?�pňҹ�`�v38��aJ���:,�g<
j�/��Ȑ��lmb5bk�X)l���<O�{�ks
 �B׃��A�Li&���
%���T~�6;�����R�˕���@ڗ���B$ �Z2][��vP�����Hr;�c�Q�17�P)Z���,^��g)@�G
�x�ԥ"4������(�`���l� [�Ͷl�GA,OJ6�`�����<#�������R`W
��2�A�F��s��y����	���S�H
�#q��-�Uu�7v�]ݞ	u�8��YX �j} Q��*@�^|6g8�l�]�!1������x��2ݙ��~Ǽ<� [...]
-Y�3�
�2��B
h2]�Q;s�_�!(*
�;\A�@sZ�i��n)�!(C��c�i�.M�A��Z �r�3����#��P���
Ji
�C�9�$����Sܷ�r��NT�L�'����Pi^֧��J���R�a|���T�u�q�C)=��sWdV��ly�̒���m�����GL��I�
����P�c&䟛	C&L����e_L2d�]�}�	��C
���DJö�ݖ�m�͚��6O�z�<�9�)�vL�է۟�(
n�aG�}�������{��7��&F�F��E����Zt���ZA�T9P��cݽ��UJ��Uoe<8�]�
s�Z�&&����(+���N'�=���²��b�~sY���],�Dqu
B�0ܣ��ݡn��h�P�C�!,���PI��"Ȱ
!�B��R�����r3ZP�k)<��ؒG�:����YS�T����q�h�Gջ�����Z�~�~3�qщ>���EFc5,>U��a8��D¥:��m��]��ę�Ր��"���3�=��{m�ž:��/��u�'�Eg��I��
(�͏5��w ��Ĵ�[� ��i�,���ⵣ����J�U�u�c�lo����=Ik�ö"Ys���קaHapP+dݶ���mb���\�N��_���
-endstream
-endobj
-11048 0 obj <<
-/Type /Page
-/Contents 11049 0 R
-/Resources 11047 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11046 0 R ]
->> endobj
-11046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11050 0 obj <<
-/D [11048 0 R /XYZ 89 770.89 null]
->> endobj
-11051 0 obj <<
-/D [11048 0 R /XYZ 90 529.623 null]
->> endobj
-11014 0 obj <<
-/D [11048 0 R /XYZ 90 507.195 null]
->> endobj
-11052 0 obj <<
-/D [11048 0 R /XYZ 90 507.195 null]
->> endobj
-11015 0 obj <<
-/D [11048 0 R /XYZ 90 346.657 null]
->> endobj
-11053 0 obj <<
-/D [11048 0 R /XYZ 90 331.508 null]
->> endobj
-11016 0 obj <<
-/D [11048 0 R /XYZ 240.245 244.371 null]
->> endobj
-11054 0 obj <<
-/D [11048 0 R /XYZ 90 227.065 null]
->> endobj
-11047 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F1 577 0 R /F8 537 0 R /F11 442 0 R /F7 538 0 R /F23 364 0 R /F31 503 0 R /F79 502 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11058 0 obj <<
-/Length 1295      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~����3A�����$���L�l�6�
-�m�\\�����	
,��i���	!�s���$�����r��r�za/FqHC�r��؋x�Dok��'�x���vI���\]�]R��q�ו�~��T�:^\
��D�e�
����Lյ
��7����D�\�C�s!�._/�_.�X�
{�Z"P$�$_\}���_{�Xz�����3��-~Y`�>뜌�܋G����&zoҲ�[�BV/���"Q[S�Ũ6닋�Xr�TY��V����Œ$�^��A��)|h%\�rI���n�����2+�G�Vn��

Z�!X���v�H)8�y�-I]N�")�2�M��ݦf7�B2$�趷6�(�1�Rv���3
b�x���0�I
��(��
n�d�����˘�] [�ƹe�!"،#�)�)�UO�^@�1� �!�g�*S��0�ѹ��ws�c�BƧ���X��7��
�L_�*�3'7"P0=*և<?Έfx
�d�!|��t���Uitb���

-2�1��D��yzH��������V�,*�,�����؎Vփ��B�>�u�40. 
-��*KϫI���RSO
-�ޫ�
�)�p�v�iM�T�C���8!6
E�5 s�k��G6!�����k8T 赧�s����<�퇉�I���C�3�0D��
�>�͸��E�$�k�
cZ� iލ�=4-�0b�+c?�ngQ�ND��J�g�
�1"Q��b�}�!!�ʺщ:�Ή�
-RF�C�&2P=�n
s���a�\"n��T�0���tM9������
D���I8�4i�}h~t���f�����X��4QYv�
-kӐ

�#Se:$�:B*
7���|�^	�jX�����/;�a���7�/��9�
@���
�������c�?>u��
 ��r\�/u�+}��°����@���4	q���4}*�{�y�9��ɹ����'�̇𺇛%�w
�?�.3n~ 1Mz#�l"�/�W3a{5<��,
�
���jޢlR��^M�xԫm�^
3�{5'�q��'�D���L����i�!q4�vS0tL�
������8<�����Wvh���w �U��_
ï���?q<��H���#E�u-)����x����N��LN�|"E����z`]؜U��aٜ)c91�m���׮�W���o���_
-hs��gU
Tf�M�lDA��|��� � 
n�
��Nk���w���h���^"#��.�;c�����-Jjt(�}�R����ݜ
� ID��M���t�Q��UÙh�� +�3
-endstream
-endobj
-11057 0 obj <<
-/Type /Page
-/Contents 11058 0 R
-/Resources 11056 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11055 0 R ]
->> endobj
-11055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11059 0 obj <<
-/D [11057 0 R /XYZ 89 770.89 null]
->> endobj
-11017 0 obj <<
-/D [11057 0 R /XYZ 90 684.024 null]
->> endobj
-11060 0 obj <<
-/D [11057 0 R /XYZ 90 669.794 null]
->> endobj
-11018 0 obj <<
-/D [11057 0 R /XYZ 90 444.694 null]
->> endobj
-11061 0 obj <<
-/D [11057 0 R /XYZ 90 430.464 null]
->> endobj
-11019 0 obj <<
-/D [11057 0 R /XYZ 90 220.548 null]
->> endobj
-11062 0 obj <<
-/D [11057 0 R /XYZ 90 206.318 null]
->> endobj
-11056 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11066 0 obj <<
-/Length 1732      
-/Filter /FlateDecode
->>
-stream
-x��XY��6~���S+5��H��H�I�4�6q�I`�2��Õ����wxH��ZoҴh������73�
�����'������{IA�7_{{a ������g
"R�.3}�����������|���_�#V Ga�%����`�����wm�^@<3����	v��N��"8D!a^H"�j������\�w0���v~��3F~����q����ߨBUqSV��_���"-6����C[f�+���MgB�������Eٴ"�,��Jk�Ҟb4�( �bIYԍ]5P�1$x�j��xW;Ҧ����&���	���7|$�vW�T���U
-�S��<���R�g��)��>�@S3ӔnŔb�f����G`��_3
-z��	�H0��vy�?�3�Q@����H�˪o�j�����&M�,skV�zJ��V�*�4nTkA�P(
7����ȼF�
�h� ,�m
�ˌ�0&����?�IԶIA�`�]p��XZ����yZL���t����.�N!(9���U���.�$�}@�<��L ���r��Ӑ���`�C�ۜ;N� Q)�%g}Z���6n�e���u�\�
1ȇNi���!T�(���;-2��[&Z�x��� G�@\��
��v{%&��@��f�O
-7w+��H�Ɔ�q�0���
Ҽg&�RNg
�pP������ u���FN r
:4��*�\#!���h �	����1�E"h��4"�ea�K#���ťF�QB�x�.��ڟ�����T��Y�@� 
�
x�=�x>��o�*=�(1�Q3P���E
��sg4
-���� �)�)���h���J���݊o�,ֵ�w�.K}�͘� EApd�$c�n�f����
; �
-�JS�c� ������
�
�
�h��/�..^��|�����#��D��@Ƅ�Ȉv��K�,-�* ��U٨�Q�#<2#�� ��Bh�
�.u.���Jw\-܂eyc�
t�UNРe]�!B �e�
��ME�Dž���MY
�n�Uٮ���
�O���ӭL�VQ�i�$���.�Wl�2!
�
j�2��wV�.C�v�ΠYgP�c]�

C���ڌq�^��ĩi�n

�9;D��X�	�<D��L��2�eG]�����Y�#�)vd�]u�B'#����}KWpu���������ʊ��Ux��쉡�RqK+�����,꾩�ܩ�Q���
cs��N�A_8$����Ւ� m+ulʉk�5<�%��%Y 
�&�����\A~��e�
>�������ebN�͔�
-�+�@"NT[�e�x����
-�߫�f��,\
-�,]5���fhF�0�/LS
)�-3
�&]�I����ہ�-�(� R���ty��jR�GqV9���U���`\��Z����4G�f�<$ܫ&��Qܝ������z7�
K�}5����"8�t 
��0�4bc at h!���؅C|ᅃ�������O � ��KNz�Gp���<�v��;|{�$j�wֿ׌R
�
!�̵�tH	��������S�"~h(7�� #�9����
��1Bw�
#����K� ,"����+�S~��D�#>�:d�?�고~�GQ�4��Fql�
Y�et��]��&
�ڲ�}u�a_~�U��s�eԋ�ؙ��5_|Ԣ�;��

ᅨ�j4�1 �7J9K�yx�藉��tA�;�]5�������%5��Bis��fg���'����떬��GZ�dnx��
-OӤ
-endstream
-endobj
-11065 0 obj <<
-/Type /Page
-/Contents 11066 0 R
-/Resources 11064 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11063 0 R ]
->> endobj
-11063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11067 0 obj <<
-/D [11065 0 R /XYZ 89 770.89 null]
->> endobj
-11020 0 obj <<
-/D [11065 0 R /XYZ 90 608.986 null]
->> endobj
-11068 0 obj <<
-/D [11065 0 R /XYZ 90 591.857 null]
->> endobj
-11069 0 obj <<
-/D [11065 0 R /XYZ 90 381.565 null]
->> endobj
-10669 0 obj <<
-/D [11065 0 R /XYZ 90 358.741 null]
->> endobj
-11070 0 obj <<
-/D [11065 0 R /XYZ 90 358.741 null]
->> endobj
-10670 0 obj <<
-/D [11065 0 R /XYZ 90 225.66 null]
->> endobj
-11071 0 obj <<
-/D [11065 0 R /XYZ 90 208.53 null]
->> endobj
-10671 0 obj <<
-/D [11065 0 R /XYZ 90 77.486 null]
->> endobj
-11064 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11075 0 obj <<
-/Length 1210      
-/Filter /FlateDecode
->>
-stream
-x���s�F���W�Ԡ����
��;��3�����h��$Z* ����
 �e�i�L^,����ww?wvVv~�x;_+��ȗT:�K�ǎ�>�ΝK0��pD0��!�n�m��!�n?��EL�G�,Ȟ&���C�i2
Q�ݷq����&\����d
�]ƥp�P���w����_�a�OR�3�
����
���9�r����o�|
�:�'�"rb��q��o�dz�A��+���'�13�G�������I^�X
��G�/�q
�_e;���=r|
N
#9R\B��+�ӎq,�0-1�����B

JW�qpF1��MX�Ħ�X[�2�}�N�E����,,�a�t��Zu@�rj�����_1��ЃQ
�
���(�	�J�
$���F��	\ւ�{�
�EUPY�U�u�1�'�YJ��y��q
n�n��66�9&
R��7����$J�
�A
-�A��m¤�8�r���_�}���!�ަ(Z�d�S�$�r	9�)�N&�C\��d6����A�Q����Jt���5FT�y��Mn�0K�X[V� ʧ�(�#��b�4O7�\� k�����9��T�
-��':�<�Z��Q3b��R
��-
*2�0�m
���j
�kR�l-@ݕY�k"M�%)8�L�Q���%yl��)���4	?
��8�p��8�En���Yq������E
-KI�zj��-���
 ��<��9 :
��q�l�,���Rw��C���(���t�^>���!�z�'
8���AOKƿnO��h�t
e{��݈� ����)��XH��/^cc�%���QD��6��DJX7%IZ�웟|̻+���>�h;��۫&�hwF@����l�=
���g�.Y���?
f�6����.?�,�

-<ȦW�[s��{w��n�P���
QIO��`~Hhr^��]����}�BW���������VxYff�3�<
-�G�'�"L�e�(���
����zs�־��x���%'
X���5�uP3$n�6�0.q�7f�i�9�!�Isi�
�y�2�����ٜ3��3_�3�
�ϥB�Uv����3)�"�'?�~&>o
볏(�do+4�[�'s�[
fo�B���	�]7��vf
a0Q��y�ݏah�4���TW?Jy�4k�uQl'��~�G�
�h���o�������TmdY
%7iV���pS~�<��3/��k
-endstream
-endobj
-11074 0 obj <<
-/Type /Page
-/Contents 11075 0 R
-/Resources 11073 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11072 0 R ]
->> endobj
-11072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11076 0 obj <<
-/D [11074 0 R /XYZ 89 770.89 null]
->> endobj
-11077 0 obj <<
-/D [11074 0 R /XYZ 90 721.073 null]
->> endobj
-10672 0 obj <<
-/D [11074 0 R /XYZ 90 605.584 null]
->> endobj
-11078 0 obj <<
-/D [11074 0 R /XYZ 90 591.565 null]
->> endobj
-10673 0 obj <<
-/D [11074 0 R /XYZ 90 470.57 null]
->> endobj
-11079 0 obj <<
-/D [11074 0 R /XYZ 90 456.551 null]
->> endobj
-10674 0 obj <<
-/D [11074 0 R /XYZ 90 347.513 null]
->> endobj
-11080 0 obj <<
-/D [11074 0 R /XYZ 90 333.494 null]
->> endobj
-10675 0 obj <<
-/D [11074 0 R /XYZ 90 212.499 null]
->> endobj
-11081 0 obj <<
-/D [11074 0 R /XYZ 90 198.48 null]
->> endobj
-10721 0 obj <<
-/D [11074 0 R /XYZ 90 77.486 null]
->> endobj
-11073 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11085 0 obj <<
-/Length 1804      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W��J3�7��L�i��i�NI�CK��V"U�����. >%R�9��|aw��o�#��� /�^
.�+
h�%���,�8P\#!�l�r�>\�
�
�V��O|}����[{o��j�ǀ�-
/@ ����
L��� #����=�
8e��
�4�{m!�u��2��ј`��7i�����7#��Q���ߌ(
�����f����&�������	�iry��>���O�E��O�d��S1|'&ʮ�}Z���z
���+���`B�T��=��\-�������֮H��$�#�����45���Ilk���z�DR�r�z��N:TP�4QgS1�V�D����H�d���\���Yv����9�
�B}|
-��)X"�+�������?)d��1�Qƒ1�Њ�?�|�%����Ƭ�g�!�J�v�=���
�a�L�A�,���r�!Q��B"F�b�a�3���x}؊�W���?0�U~_[��Ca�pU�u�
��&�$SSlw���B�M:"b���1��
G�9|���FN2�
*��y<�;(��B	ҢZ
��Dk��,�����)��>��F�Mq�n�'�r���9(,�l+��i �1H��W`V�4��֭ŵ�v� r(���aAہj,�v	�U_�[[8|����T g}���7��%XNK���f&y�lGP��cyDP�C����^��� �Zmad��4
-u��d�4Y������q�q�@�l���
�1pj�t'�a"hkY؀�f��")���)9&M���9�tpH�k�V�ڋ�t��������&�?��|�ibV9��+S׀�Χ���>
���:�n!��|_��@�֡�R�����JG	Q��q����@�b%
-�<O'j*��|�a�a�qbA3�㛅��u=FRp[����/�n��-�����B�.+�����b�4�,�u�s�ͶE�^
��~	W�~	G�~��C7!S+�� ����1Hg��=sC���zf ��
��`��ѯC�o�c��cf�Ac�Cx�����ؒ�a*�cZ���̊^�I�t3��z��07 �ڤC��HW
F0"CO
-��!
-	�
�Z��
���K�K=�zͱ��ɖ�&�F�^�((��vInB��4~
rMn͢�DP��s�E
-�?�9���Ga9��b9�4�S�f���J������d��K)	zՃ&��D ��T
-*�>�bQ

E�b�#�Ų�	$���H�����$�R'�,��(�b��È����{Vi,�q��ˇ��sc+G�R�������Ę���!�
6
������n��˝����І�ޛ,��&k߷��0��É<�����b
��u��бm�o�vO���C�Um8<�֒�Պ�d�D��i��Ck-�� r�C[���*�"��nR��
$�]���e�Vӑ��#{t��b�p��������)J�5��&�pZ
�yNˑP��ub��b��,Lo�B�q�{�.���hI
��ɬϸ�d�o�br"-����6-����tS1б����-��j�̺)1E��si��@Y��|���:
��;鰥��>�1��`�� C��T��SO���hc!�M=�����v�
�JB~n�Qtx����ҴN�Z���3J��@�V �.��o��4죧
-aI�M%�8F
=��l�S��Az'�RN�
-����}+r��`kҾB	���}�,�7��-����8
|�i�|���?���d_����%���W
~�]f5S�
F���C��1�N��~ʣ�=ah
*��*��<_]^\��ݡ�m�x��8�X��#\C
-��~�\r�e�Uq��K7���/`��8
-endstream
-endobj
-11084 0 obj <<
-/Type /Page
-/Contents 11085 0 R
-/Resources 11083 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11045 0 R
-/Annots [ 11082 0 R ]
->> endobj
-11082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11086 0 obj <<
-/D [11084 0 R /XYZ 89 770.89 null]
->> endobj
-11087 0 obj <<
-/D [11084 0 R /XYZ 90 721.073 null]
->> endobj
-10722 0 obj <<
-/D [11084 0 R /XYZ 211.842 478.464 null]
->> endobj
-11088 0 obj <<
-/D [11084 0 R /XYZ 90 464.164 null]
->> endobj
-10723 0 obj <<
-/D [11084 0 R /XYZ 192.853 175.14 null]
->> endobj
-11089 0 obj <<
-/D [11084 0 R /XYZ 90 159.46 null]
->> endobj
-11083 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11095 0 obj <<
-/Length 2008      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W��@�&ŗ��^�
�L��I{�
j�n+�%�$����-�ԃ�d�t��.�'QUU,���(
<8x3��nv�Z�@!%Bܭ����V��9���Œ`�����b߿[�x�o�6zU��oӇ".�no��$���br<�v��
��k]��Y�A.e��W��w��^��>�X�b-�HFA��}���<�>���(8֓v
)\��O�ΰ[�\\��,���+�@��x�+]��CA7�a�=1$B>_�sj��?�����k.z߄���ZϾ�h�m�鸰c� |btY����^��]����O������W�T�\0��5��g����Q�
��ΒaoC*"͜j��v�p����`����!�c\đ��i�����H"F'>�;]�U�ܔ��r��i�
-w����}�y�=�K6Zm����pu�B��$'�t����
6Z}}� 9�w�n2�v˫�ǶS �ۥ���8s��g�'g����.��m�f6��kFC۽%G�؄R�%׫?�� )>3?��VDY�no�l���x������*��m��H��n�Y�1k�2�H!�����	g=o<>��ER^#k}eE�)�ݔ�e�%�nW����
��b$�������n=f%�����%#%���E%��ݾz�ü��	��Eg�b(:�+;x���TSs�.�{��v�Н��M�D��F��,�(E�С�BW�"k���)
���[[:��S(�ڊ9f(���Ŭ.�9nВ�f1H+i%N��@&!�9�
��^�vuȪ�� T at N�W��K"ܔ�� �q��!Ϸ L��@��ۦ�Z�`�(1�<��o��|�ʄ��+MS��_X����!�q�
>�I9�O �۵%����\�M]MRS���M����H\x�&��a5�� 
���S�)�lC�

O6��
�Fg-�4��hs�qD�W1aÉ���v۝D�C
-=b�����ඏ#Q�l€��}���
I*H<���N�K�
+�:5
\��Q:V��@$b��$}3J����f�ucک�!b.��
m�67�H׏�"
�D�h��
r�
Շ�������I���4� ���d����p �b{��i���q�
=֑t$�>
{:���[�����C���$^# �����T�p���S��T��s�Q*�_K�.,Y!���,�9�[ȿ62�
-�dJ\չD��$�zU�����ۭ}a��|C�=Z�k��KW�����l��P��S�B���3�?����iU��� V������$�b
�"��ܕ\����ܕ\��^����2G^ϱWCg�5��(�	L���({5G��b��t(��\��H
�����+V���$y%=���+�Dz#"��]���yb�Y��iD�[C돯�?�y
��ZD/f����	���G/c�k�k?
t��}Iz�NQ`xuu
-�CyBP����< �M�u�?��`�F����� &�_Q��7��)*/�
-`'@�0��ĨZM�P9��ܣ�~�H��8�˞Av%}Ʊ�`��P�;
��`Լ�j� C��~Z����^Y���U0�h�XNc 2��c�As�;��McE\��s����[�|
W5s�.�Hf �vN�D*�	��
-��(?>��X
-��<����xZq1��$�
-5
�Vj�nȆe�>�6E�K�ݓ�3��zu�xX��̣�]S
1
@���nS�w;{�
)���J�6s��1u+U�;��iv:����V
�7)$}@�ǎ�����9Ba�w�[�@�u�јAp��HI�M
�K� �g
�jcGI��ٺ��;.
�O��of����7E��-��H��#�GWV\ L�>	
_�-����Ml��f��x2 ��"?�놿�9 \A��{��
�!��d���3 H0�ϒw�>'�m�'����R_.8A{�c�A	�c�&�R�.� 5�� ��t�]��߂f�%᝽���Ȧ���77��%%�2�/PZ���ۛӌ�I!
u���]^�d

�j�����7�[<�
-endstream
-endobj
-11094 0 obj <<
-/Type /Page
-/Contents 11095 0 R
-/Resources 11093 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11090 0 R 11091 0 R 11092 0 R ]
->> endobj
-11090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.252 86.288 511.506 97.282]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
->> endobj
-11091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.129 74.333 211.803 85.237]
-/A << /S /GoTo /D (main_Grid_Frequency) >>
->> endobj
-11092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11096 0 obj <<
-/D [11094 0 R /XYZ 89 770.89 null]
->> endobj
-10724 0 obj <<
-/D [11094 0 R /XYZ 211.842 565.353 null]
->> endobj
-11097 0 obj <<
-/D [11094 0 R /XYZ 90 550.75 null]
->> endobj
-10725 0 obj <<
-/D [11094 0 R /XYZ 192.853 256.046 null]
->> endobj
-11098 0 obj <<
-/D [11094 0 R /XYZ 90 240.063 null]
->> endobj
-11093 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F8 537 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11103 0 obj <<
-/Length 1728      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W���@����4H���f{JCk�^!��H�n��w(R/[�7�
��'�43��|3

�
�>��jr�\� D��2�Z!��0��S.���Ջ�I�H(aW=��훫go����&Ϯ&_&��q�t��L>|�A
�/�X���z�&��o���9�^ܗ��P+�
!�'��0_q}��⹐�]� �i#�+���}m��NU�3n��*ǤY���9xZ�jWd&~�Սq�3*�Q���fyi*�0wW�zD#�Xs��P�2�����9	1���C �B��6J�)��BR�X\5�d��)�*/�0CQQDq�l��F 
-����4�՚h����(@Hx�@l�|�dgT�I�
��j !�4�!�ݎg_�f[%yV�
C�:�
-�D��//�lƱ�1�Q�e�)`B�B��R��E�2�chp��l��|�g�"�b�P�� ���#�l�6��V��&)�_V4�M@� �'�2�l�*�N
�
��H
-k���U��c<� `��<��\ %ذ�͚���+�R4˞
��
Ή��#|N�
c�

4�p��Oj̗����]V�卉��cMT�����$��)���!n��:�Swֻ�p�&Z��Q���
�-�ū予�������i�]^.󬊒�[�#fʪ9q����	;�[P����8�
��]�
�n<Do�4C" ���}՞W�؄1ā{�)����Ȏ%��~���
Q����ˆR�P�:8
-h��Ot��5T3 ��.�^~&?���y��g��Q�1W@��A�r~:�)E�� �d��V�*��i��P��KMm*�K:�����'��@�����H2��m�mف��>v(�"YV���OdH�M�q�� ��&j�dJ�d9
w��&Txk�I�&��4�2�����>�4�lI��H�F�9�Q�

-|��w��
M9���wR�R��G9o_�͖c�F8����
-������?�Y^-�f[�1�bH����m��5R���Hk=�P����!�G�a-�=����SP�s�r���4�{l{����Ee����%ذg���<����sp<�{�7#b�����I����PK>��Py.
eÅ05
uO��QaO���I�0!
�V�}�gdZdWS���b�u��QN[YZ��;搙(����{��R��cMw���A�^eZ
���6�(m݇S"��'
-
�����H�1�)�-U���=
�n%�2�l�'�
�6I��I��@��d*�O�5q���#��X=[{I����9"

�'#V��#�#�P�ͮ��@�k��bib�zD�?�J	��;t)�߬��X�j|�گ���������t���t�ʏ�
�7��iRU���6/K���S�'����.u����4�\�y!c&i#�
0��/v>��a�ZA"$8	JS�"�tj��;*�MMQԝ;X�1e�k���
-��� u�vs>�~�`�5V�i	�Ut�>=g��˨4��єӗ�6�Ө��fΰ&^-�d����{��+�j��۪�T�yn�+�<��_���-v뵋����Xl�ߪuC�
ڪ�[� ��]�
�%��E�Vm���M����æ�q�W�C����?τ�z�|
e�(�1��(ྤi�`�Q[rX�!
-��5u�}�����zBkGk䛪�^^\��ݡe�vY�-PR]l���a�;�ЮJm��ɋ�:�Y�>0�?�\<
-endstream
-endobj
-11102 0 obj <<
-/Type /Page
-/Contents 11103 0 R
-/Resources 11101 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11100 0 R ]
->> endobj
-11100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11104 0 obj <<
-/D [11102 0 R /XYZ 89 770.89 null]
->> endobj
-10726 0 obj <<
-/D [11102 0 R /XYZ 439.299 610.261 null]
->> endobj
-11105 0 obj <<
-/D [11102 0 R /XYZ 90 594.381 null]
->> endobj
-10727 0 obj <<
-/D [11102 0 R /XYZ 90 469.142 null]
->> endobj
-11106 0 obj <<
-/D [11102 0 R /XYZ 90 454.797 null]
->> endobj
-10728 0 obj <<
-/D [11102 0 R /XYZ 90 318.225 null]
->> endobj
-11107 0 obj <<
-/D [11102 0 R /XYZ 90 303.88 null]
->> endobj
-10729 0 obj <<
-/D [11102 0 R /XYZ 280.943 77.486 null]
->> endobj
-11101 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F8 537 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11111 0 obj <<
-/Length 1485      
-/Filter /FlateDecode
->>
-stream
-x�՘[��6���+xji���[[�m�ig��]�`�(�ͦ��l.&���I��)`��s�|l�l
켟}7[�s����T:w��Ž��B��`��bI0���s?���7
����ܿ�)~����^��ě��bI����B?�=F��(	"�˸s.���݇�ۻٟ3�a�hMr='��>~�N�
���c=i�p��w���~��F��ل"���2,�C��W��^�ax�IQ�~��Z��X�z�xa������;Р�*�
)���Z�@ϱ��H[]O�5��#doΒc��Qx H�LO�.
M|��Ye�I����h��^��$PЅ����^3�L��r��T��~jŢ�P�C{KS��,�lD?p�G�ŷq1� ��� ��q�M&0�8���_q���G�aWV.Gu�67ВJ)P}I9��M��I+�Q^X�����@<�B.,�
�sx��a
-��]w��ü,��y:ƻ�~z0s!�#SW�
I׻F�Rm�.G�����(��DY��/� 
	�Ee�^�ɂ8�]
���氏t�LFF at Ft����#�a1��|��{����ٮD+�OB���*
-��^*r�0i1��Z�Y�K7�e��>���aW��4�S�|U@��T���x�bҹ��o4��%SH
- sHp>��{]�o�$��������P'���qڌB����P�`.3P�/�zg��Š
�{%��/#
C ����
	W���*M(�����5h�"”MX�Rz�*y.%�B�۶4K@�K�S��=g��$�&�
&oL.�j
u�+s��^J�M���8�g����P��+��T)��&�]�͂IZZ|�R`�(U��Se��X�α*_�-o�>P�,�ʺ[�>�	�
-h1��
���j���*�.ϯk�m�G����c�#��wE�
a%F��k�e�C���إ`kΐ��Mv7�d� b���ݩ�m��5m��i��M-\�1Q`(���\	�]3��1������:��J���jы	)�ޓaeܳ�\��;�*���d*	�=��js�� ���
b�-y�E�Y
���6�&�F�4��?��>���)�$�E�@�
�A�[/oH�9U׸g(*I^���,(wuw���^m���)mFň�
�J=�S�>���n���k�����Qݞ��}���ͱ�"�ҡ��܂
��`A�YGv
lO���'[XF�uZX,��V�Zؾ����*��[د�� �V��]>�G�Fhk�b	>-}��E¿pK�O����5�	�����v#s%�Ȁ6B�+d?�0W����ˡ�3�X�
- L����}�0�JZ�)g�	
'>�N&�/����s/��KkXDVz�Қ�H�|�6�ꨪmü6��~5��~����oB�M���'�]c|�DA����#�$Y2 �m#�e8�ӏ�:6���sa�i=�-�l�Z
�G��Y��r�e��y�� ��V�c���ܘ'0��ۍ����n�H�
-endstream
-endobj
-11110 0 obj <<
-/Type /Page
-/Contents 11111 0 R
-/Resources 11109 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11108 0 R ]
->> endobj
-11108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11112 0 obj <<
-/D [11110 0 R /XYZ 89 770.89 null]
->> endobj
-11113 0 obj <<
-/D [11110 0 R /XYZ 90 721.073 null]
->> endobj
-10730 0 obj <<
-/D [11110 0 R /XYZ 90 559.859 null]
->> endobj
-11114 0 obj <<
-/D [11110 0 R /XYZ 90 545.534 null]
->> endobj
-10731 0 obj <<
-/D [11110 0 R /XYZ 90 421.149 null]
->> endobj
-11115 0 obj <<
-/D [11110 0 R /XYZ 90 406.825 null]
->> endobj
-10732 0 obj <<
-/D [11110 0 R /XYZ 90 270.485 null]
->> endobj
-11116 0 obj <<
-/D [11110 0 R /XYZ 90 256.161 null]
->> endobj
-10733 0 obj <<
-/D [11110 0 R /XYZ 90 77.486 null]
->> endobj
-11109 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11120 0 obj <<
-/Length 1379      
-/Filter /FlateDecode
->>
-stream
-x��X[��4~��4��n�o��]i�e�񰬪L�i#r)I���z��K�4�Π�S����}v��v��n��br�Va�C���Y<:
v����8�\R���äFē������������Mn��&��C�
R�Y%������{#�igo��S�ع��8�gm!R�$�e
Q���x��%x�E�;cDM�̗�'��Υ0
6a������yw�%z���K���8
��,-�܏Ҳ�~
���
��
�
���[��2L�x��Yt�����`-mB�**���Qn�'���
�	�p0F�	�:�Jw�	���v Jk��kGXˡU=��#�[�2�):�g�O�	�1d��1�������ȑ�[�r�YH%⸳�����d��R�Di�DD�z`z
��4�F���"
�eF%���@R�JK]h~�a^���W �Ha2��J�D���z����4��h��P�Bi�A;5����k$�!��A����Qy��r1�F$�}w�p�1�]|>�
3Ĕ�O���p[F`���
a�(��
��L~
K?_�ru&Ϟ@�
,6y�R1ݧ�LI2��zI�k���S��i0�5H���؂���<4�S��mg��,JWY��K�y���,�<
"Pa� [...]
q�f���r�$U����Jf��H
�k����BfLN�C���.��R}�6��X���C�.�v����pX |�ݶQ\�V��(
wq� 7O2
��MA��d
���^�PYޚ
��'�|���� �z
X��a\7`Bgu�
�BR�Av("�w}2'�d��_'�u���_f��K	�Nټ��w͊g9E�#�z�ǵP�y�#B�(�3�U� �[�j��+<+����F|V	�Hs=4y����z$�#��1��[<���EJ�g �L��=�$�{$�5��$4������K,�Y�
8S�@���\/�v¯���9ҿ|\�=�I�Aau���Y��^�\���Yz���8e� |�W���#�4�<@���,����P�����
-�^�V0��̳�
-#@j�^���@�(�ؑfe� 8���y0
��'7~+^�Xs������1z�c��$#���ґ����}��'��/!Y@{����
-q�]�-!p��L'��v�'�C_B�P���,<�Y�����$�׸-K�.}
�:w[~V1*8Oku��U.��+ޕ�+
�������J
���=����
^HS@���A!W�}z kw�w
sן
uW�5W?a��+ĴƓ��t��wC ��V���_��\��[h����ʽ_���ۉMO�h����Bٔ�v~s���Ѫ@�4��(*o�����;� v�v����,L���7 t��?��A6
-endstream
-endobj
-11119 0 obj <<
-/Type /Page
-/Contents 11120 0 R
-/Resources 11118 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11117 0 R ]
->> endobj
-11117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11121 0 obj <<
-/D [11119 0 R /XYZ 89 770.89 null]
->> endobj
-11122 0 obj <<
-/D [11119 0 R /XYZ 90 721.073 null]
->> endobj
-10734 0 obj <<
-/D [11119 0 R /XYZ 90 486.204 null]
->> endobj
-11123 0 obj <<
-/D [11119 0 R /XYZ 90 471.62 null]
->> endobj
-10782 0 obj <<
-/D [11119 0 R /XYZ 90 276.859 null]
->> endobj
-11124 0 obj <<
-/D [11119 0 R /XYZ 90 262.276 null]
->> endobj
-11118 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11128 0 obj <<
-/Length 1491      
-/Filter /FlateDecode
->>
-stream
-x��X�s�6~�_�S�gΊ~"�[{s�鵝I{����(�Ěbp����+$lpp�8�[�b%��o
<8�a������A���F��}��@��޲�KH0��tF0�����PU+���R
��n��J-~6w��v�yzJ�,�3*p�>Wu톿�{�~�E�a_�#�Moo>M>�L���
�i"���t5�r��
�?�$���*��3>O~�`o>i\� �y 	G'��?����DX��գ��꣈z�I�$,���?7K��
-��;7[7�uc������p���*?{�׭T���
*����!���q���%�h'�Ywכ4�u}����}�P[c�Iu���+�l*���^��f�>��"�8F��0 ��T�ս�ް�麩J���ΐ��)3"�$,�q�"��`���c�ݡ4�N�%H��U�-Ҳx�6{���O,0L�Mk���@Ƽ�/Y|�Ս^9��q��r���n�uW�v�50��Yq'瓑+����%xT��	�e6�b�

2	�r�z�M����XL���Z+oF!�)�\<Rz��H�!֔N��o;L
��l�,�����Ҍ
�PB:�w�o��󾍭
�6Z�-D���K8���ɽ�*��t��Fg^r�$��4� ��k���@G9b�f��$�=8l!�R�V�ҍ�����.G@�RM�����y";�Ch����?0��>� ��̓6�0H�Q>�}��

Jzi���s�$��V���zج�^�23(�Y	���p�f%aa����H�� �D����l4_#AٙX"����=3`z
��"-Wk՘�\�#mh{�'��[��m�M�|<�]��r�铡�)���P���5����viҥ�B��G���4e^>�,��r�P�n*���"k�-"
!N���U��+T�]��!u��
-�&/�
�xL.�
�����
�_L��Bߎ2K�Q
w���B�X�qb%'�#I��,wŸ$1��%��yP4� G
O���w^bH
 �!yXɝ��=��D�� 

��LA^N�b����Ꮝҹ�ۿ��n��ҩu`A/�y1ǐ7����c�[ ��
��sL��O2gI�IPF�EqT���a<�
7�~��:{���⺮��U~�+e]�薏jp�������ޮ[�^�5�v��
��a����
-�_t��m�xl�k�(�^�0�%�xTPF/+
�C0�B/���E�)V�����=����OU'� $�õ�����r�g� /�#b�����
���Q��хDO�cXA�B0=�opv��!�t�Qyߍ�K&'���9ø2B��nc�[�i�(� ����EPx�>Ŝ����ߒg#��6�G�fxO��T{�_��/hb��_�
"�ε�b6��.	�W�	�
DM��T����/�شy�6�ڭ�B3�N[�"j�H���F:��
-��O�ַ}I,!O��k�4����v�Ei�6�YW�4W�u~�Q�]�����(oUvWa
-�\�}c�����g� 
-endstream
-endobj
-11127 0 obj <<
-/Type /Page
-/Contents 11128 0 R
-/Resources 11126 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11125 0 R ]
->> endobj
-11125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11129 0 obj <<
-/D [11127 0 R /XYZ 89 770.89 null]
->> endobj
-10783 0 obj <<
-/D [11127 0 R /XYZ 90 671.432 null]
->> endobj
-11130 0 obj <<
-/D [11127 0 R /XYZ 90 657.087 null]
->> endobj
-10784 0 obj <<
-/D [11127 0 R /XYZ 90 466.114 null]
->> endobj
-11131 0 obj <<
-/D [11127 0 R /XYZ 90 451.769 null]
->> endobj
-10785 0 obj <<
-/D [11127 0 R /XYZ 90 216.445 null]
->> endobj
-11132 0 obj <<
-/D [11127 0 R /XYZ 90 202.1 null]
->> endobj
-10786 0 obj <<
-/D [11127 0 R /XYZ 90 77.486 null]
->> endobj
-11126 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11137 0 obj <<
-/Length 1247      
-/Filter /FlateDecode
->>
-stream
-x��X]s�6}�W���3������ݙm��6�/�
�1h
-6�Mh�}����
Ih:��	[HWW�s${s{��O�w
-{I�7��
�7HHx�y7C.��e��cR#b$��5���q�����o�v2�c@�/�@ ��h5����4�0bF{�]���)�ߥw=�y���
!�7'�2c�J? ��O�0�3?���ʷ0[��+�B��aϲp������a<n7�D�d<�=ğ1�I<��b1��d�m�$�]��X`hˋ

�"��@ZF�
-����ߔ=G� ��Z$G��=|����.q]��i��#d�O@�D
f8d����k
�n���D�D����w��:Q7;mE&� E�a���	G��
(R6��s��� &'�Yf=3sd4��.l�33eȐ}�cݞ7(D�@��R��qC�����B
;c��j��P��r^��c��
x.�lf��*N��d:ii�}ޓE��T
�����@Ɓa��y
2 
-�;���
H��O�@�U��Y�"��D�j
�v�
�T*D������@ܪG���΋,�IQ�ň��]
�^?�E����
G�����kD�yT���T%r�$���.tk�%ݒ>�3��>���W������P�|'{�T�	WqgO��FX�6(�4N���m[
-�<��<��xgwd��\�ǻ��>#�
@]�
-g��Q��n�
/p_��q�
�I�����x����^�m����
�ŗ?J�.�S�R��-�!"���mG�'��=��������~�� G9w���
���=�p)�M���Bå
XN:.l��HO[n�
�a���Ɇ����
���?�>�rϐ߳<�!�<q�5Ǟ+�鹛�&��R:�o��Ɇ�^�o2@��H�a�\߄�
hc���7�ͦ(U� �RU�/�ǁl^}%������u�|"�K��2[�1
-K�v8V��
a
-QN.q�TH7&Zn`nY��㨨����|
��}fXË^��	~u��2���w~��
�yn�M�
��l6�&�c@�Ƒ������՛�K�;�U�K
�+���&���*uԻ7��pO[�\��۪kKT����{�/:�v��q�~rv��V�_����i��E
^(5�����ϒ�%ٹ�%w�#a���p�)���FP��Ҿ�׽�����

,�o}!��?��&\6�}_����1� Z�0ნ�㽩�����~�@l%��>�k�/�b=
���-�r�I�:C�����1�ZQ�
�� wi�[����&и�Y�Q�
��
-endstream
-endobj
-11136 0 obj <<
-/Type /Page
-/Contents 11137 0 R
-/Resources 11135 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11099 0 R
-/Annots [ 11133 0 R 11134 0 R ]
->> endobj
-11133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4 177.34 212.124 188.244]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-11134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11138 0 obj <<
-/D [11136 0 R /XYZ 89 770.89 null]
->> endobj
-11139 0 obj <<
-/D [11136 0 R /XYZ 90 721.073 null]
->> endobj
-10787 0 obj <<
-/D [11136 0 R /XYZ 90 605.039 null]
->> endobj
-11140 0 obj <<
-/D [11136 0 R /XYZ 90 590.971 null]
->> endobj
-10788 0 obj <<
-/D [11136 0 R /XYZ 90 428.52 null]
->> endobj
-11141 0 obj <<
-/D [11136 0 R /XYZ 90 414.452 null]
->> endobj
-10789 0 obj <<
-/D [11136 0 R /XYZ 90 252.002 null]
->> endobj
-11142 0 obj <<
-/D [11136 0 R /XYZ 90 237.934 null]
->> endobj
-10790 0 obj <<
-/D [11136 0 R /XYZ 90 77.486 null]
->> endobj
-11135 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11149 0 obj <<
-/Length 1258      
-/Filter /FlateDecode
->>
-stream
-x��XM��6��W��J at E�om�H[`�us�����jeɕ�u��;�ik��և
��aJ
�o�̼!�������_��;�-���Қ?X[�k$$<֝M0��q	�ؾq��l�/n
��4>�� ��E���
f��k�xv�8.�~�yn�Ç��-L�!�˸6|�/�����?ȰE
��g-7��/�
-��
#�=k_m,N|����	>�!���O�!�k�
K��( ������l�,�$/2?J�*���ի�؟
Ma�ȿ��|q�����;@у+(@�
�����v�Q��	6F��	�3r�F\h��ʍ�t��aM�b
V0�g�:�O�;0���!�>�Qd�g���/"��cx�,��>�
N����@1���=+��G�b
�#�P�<��}T��Y�o�eI+�-�έj�W�t�E����oA�	�
��G %�Ʋ��.
CP
i�"��q&6�|�J�d5��r����������?e��$��A`���A�
%�
@�u)G�k3���ᢝ�-3�g�!�!��
:$�7i�R��a�WqjL
aP�Qtq�aǚŵ_��86��ڴW�ap����K$TZ
���e�-������;/��
�����q,�l���9R4�"�8�R�
-{_���h����u����(��?����ق$�����„Q�ԯL��3Z�
BH#�'S�t��znʉp�
�%����k�
%#�
��T�T��Z���0� S�
�r�byY������q`|a�Ŭ�o5��c]�\�k#nrdZ��>#$RT
�������q���.�RzA��^*�M�;�Z�8���Ev�Z�P�I0�U���6�#�@�w��b��j�"/�(r%�"zL�<&�%Jp����"��y⡭(z�w¡f��e�A^��4NW�#���QfL:54�DqYZbXZ��j�4��<!&tDL����9,ֻ8�)	
*	���Ϗ*	�D�/��ˎ��T�$�-	;#!�_�J]
�
��i�w��(\���4D~אW�!�HCة�h�?4$�
z'�NM`�NMJg;
�
&���H�)������SO�W�/g6õ� �e
 �յ�ɖ�	=�4"X|�{�aS;�i�E=j�<�σ������

�I�y�=

��on�˩R���F��c�a���<�~t���Z��Ov~��~
˥�О0_i)&�q��m����o��:�"��%���ج�b;�N��=Z�h�D�
E�t������[�����M	l�f�^n�
�����yN
-endstream
-endobj
-11148 0 obj <<
-/Type /Page
-/Contents 11149 0 R
-/Resources 11147 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11143 0 R 11144 0 R 11145 0 R 11146 0 R ]
->> endobj
-11143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.379 653.878 210.103 664.782]
-/A << /S /GoTo /D (main_Cylindrification) >>
->> endobj
-11144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 553.615 483.212 584.584]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 145.016 242.487 155.92]
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
->> endobj
-11146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11150 0 obj <<
-/D [11148 0 R /XYZ 89 770.89 null]
->> endobj
-11151 0 obj <<
-/D [11148 0 R /XYZ 90 721.073 null]
->> endobj
-10791 0 obj <<
-/D [11148 0 R /XYZ 90 534.194 null]
->> endobj
-11152 0 obj <<
-/D [11148 0 R /XYZ 90 518.87 null]
->> endobj
-10792 0 obj <<
-/D [11148 0 R /XYZ 90 376.638 null]
->> endobj
-11153 0 obj <<
-/D [11148 0 R /XYZ 90 361.315 null]
->> endobj
-10793 0 obj <<
-/D [11148 0 R /XYZ 90 233.04 null]
->> endobj
-11154 0 obj <<
-/D [11148 0 R /XYZ 90 217.716 null]
->> endobj
-10794 0 obj <<
-/D [11148 0 R /XYZ 90 77.486 null]
->> endobj
-11147 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11162 0 obj <<
-/Length 1663      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~�W��53E��-:}h3�L�4Mڗ4�xA,��Mm����
I����ٝ&��	,���ܾ�8�
p�b��dp�<BJRL��A������K9�0y0#�$����~~393yg>�O
|��
��l=x�sX~`�T
\�M�S������
!�w'��1��pD0��E���#*E�vHp��d�vHq��n�z^$���E���qwyH�0���2]oV��v�-��r:˳J�TӤ,���ؕ�X`X/+A�<&%�uhN
-
~eN�=�
�$ED�1�u[<�9�7�v������(V ������[�%�N����9s�6C���q�j ��b�쩖i��J��ebk�%�������ཅ�ֺm
-]��
-����:K�b�L�B��
�Hy��'X��:�� ��Y��ѳ.1dQ�eѳ- -Q��)��=�Gtgj��J�c�Q���J�h�-2=�
)7�
c0bB!BI]����v��B�%x�6�j
«^o��!t�ұW�#H ���rC�Z��73�1K��΂�P�V�O������q�
9��U:�&��v��j��n�<Y����܊�
Ӿ�
a
=A@N(��@6�C)��]u�g��))�C^�|�_ގ�l��7�!+�4E��S�M	��Sl�I���=�z�f���X
!��cYQ����<�C����6Y�V��4]'��cb�����`,M�=|�FR�Q�J�
/C4n�@3�H�;�
A��I?0��L'���fc!�t͠H?o+�lIG�c=8b�e�"1	����>K���U��U9
[xSw�B��l�"`����s���4K�����mu���^΁�`y�0(�Øgڤf7{|'1D��{'�`Й�Ȅb@��*BtGt��P�������(&Y�p5��BݛJ�ީ3D�xr��l��µ��-�YM��i�l6v���+��M���\
4� ��n�$��{�r�Q$�ް�C"�3��vʘ�j'������
�����N��
����HG��Ƴ'A��X���G1 dʟ5)&kmf��3�D-��N��
v>�L�y�eݮ�����e:[�K�n��� [...]
�O�1o(�6��d0�
�&���0�� �ouH{K�^!���-���C��
��VB%���

�r�t�޺��]U�"Xm�����8�05٣e
�U�|��ۍ���� ?�>�
_0�8���v�fJۘ�[�5�XIu�"�L��}|����_\bĢ��ˌf4��!���;a]�u��:1�F����X���0����Y�1
ж_z�"T��)�:�x�~@�ी��D0���PK�H\��F
�?3ܫ�%G��jahĮ� ��_��'�|_
�cbf�|"1��iZ�
haX�I�/��9��$�O��Qäѣ�Sä���	j(&�W
���b�{y���į��E
G��Ӊa����r{QVi��
�������
�������ߒ�_���G
�E����p���������׾���
"́(�OoM��\?6�=�*�=�V���a
˟�l�p�a�+c
-�LB
3Q��0�q�N7�Ź�gм{5�1쀎#�p��eUm�gg���hV�m�n
-�Vg���찁;V���h�j��_0���|
$��rj�
-endstream
-endobj
-11161 0 obj <<
-/Type /Page
-/Contents 11162 0 R
-/Resources 11160 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11156 0 R 11157 0 R 11158 0 R 11159 0 R ]
->> endobj
-11156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.275 654.028 293.971 664.932]
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
->> endobj
-11157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.269 478.271 238.02 489.174]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-11158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.089 228.415 246.767 239.319]
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
->> endobj
-11159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11163 0 obj <<
-/D [11161 0 R /XYZ 89 770.89 null]
->> endobj
-11164 0 obj <<
-/D [11161 0 R /XYZ 90 721.073 null]
->> endobj
-10795 0 obj <<
-/D [11161 0 R /XYZ 90 577.197 null]
->> endobj
-11165 0 obj <<
-/D [11161 0 R /XYZ 90 562.775 null]
->> endobj
-10859 0 obj <<
-/D [11161 0 R /XYZ 90 327.342 null]
->> endobj
-11166 0 obj <<
-/D [11161 0 R /XYZ 90 312.92 null]
->> endobj
-10860 0 obj <<
-/D [11161 0 R /XYZ 90 77.486 null]
->> endobj
-11160 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11175 0 obj <<
-/Length 1849      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6~����f3����
��-�u@�f{i
C��X�-y��4��;)Y�e']3�(����s�x������*����/���
�#���2�\GG�$$|ZEo�#n&S�1
_L
��.^\L(
�ۻM�*�ū�Cw�y����q�M�T��m\�n�:Y'�wI�L at .�R��T������_���
G�Y"���r7z�
G+x�k�3:��'�"N<�ћ�#|�)B!
�CLy�n�cy��LQ�����*ɒ"ަ���"^�Øf�"��W��,1̣)Xa�pf���51t��m=q�
�X�)��z�M\�9�s�!��)?L��[��q�������C�
��92�6�d[���S���/� ,,ǯ�,����{��e��]�_}7��P��V��Į�I#*�A���F *t�<��^�IV-�"N�r>�
\8���6d�5���$�wiW��]B���~����]\���a�[�ζ<K���$I��0K�ά)�qŢ)
w�Я2�`R��ܭ���G�t�c�M��I݀�6i9` �Hs��8�.��a�
�ᯤzt��i�qZ���'˪��=7���\=)�|ay�r��	b�IZ�"^O���m�L�\����A�2Dt�7�|�I�(�}�
-�#�+��H+�!���YhB��<d
���R��\���R��H�%\!E��z
-j5oK�+�
��$��!'R&�1=
62ęҙS�6a:�n�" <մ�� �@�ve�M�����n֟JW
�1��|U�|�p7��I$�
���	
6Pʃ�a�I?��T��F!2�r+���*)�`�AL��i�j$5‚�EgM���m�]6 m�u�F�8�h���{c��9��7��!�aJ��^Ju6�Ǟ}�OSoᔸ����_�"r��жߣ���nS�f�C�ّ��z����H�6g ?�/�1[�Q{��(���S����?Ĩ`u��zd�U3�{d��#;r
�Q�}z��٣2��M��~]}�_����ʿ3j]g�����)�&�-.z��
Gb�����1�T�(�����eR����i���j>O�	tR7�*�0ޭ3�a2�|-r��-�š�M�C�@Lȓ�M ]�8��M+�Sj`D�v�O*
�!�-]�

-�C
b��M ��h�}mB�
����U
-(���(�Жk�I
-'�n��.r
�s�}:����E�!H3�E׊���
b�(���kl
�
�TB�(�Hh�օ���R �
��/i�Nч$>ݯٯ�-.<��5d�%
���o�,<ȡ�P��s\wӧi%b_��"]V�O4��O
�BH 3��
-��>���>"��쉑>1�����
#��`�:^��
v����Z��MxRj?
PE�i�G7�u%VkKJ=
-�d�I��t��E�09���R�����#��4)�u�qRq'���
�M�l~q��ȏ@�lI!_BKI
(���f��-$�|�"�
�p���OI��#���*	(�V({"�O�>�o��ʯ��R�c�戁R���� T׵�1�SL����
�8Ð!-��M9Dh t4�G��K�>{����x�K�ݟ�$5ЊC�
����c�u�N]rq�Ґ�G���
?�4�M@��ԥ!y�Zl���Uz�3t���;C.{�%��5H�����
ؐ�����=q��PHK��zh%~
-h#*�ˡ�n[�ϰ"E���"�y��R��ѣ����
����R�R�ա�8������%����-��cSU�BQ�V���2)��1�X�
gױŖ�+
-hZ��*��k-�
�����h���Q3�mTc�	8��������|6���E�]g�@i5�ﷳ�F�#������
�~���]��G��
��!�
-endstream
-endobj
-11174 0 obj <<
-/Type /Page
-/Contents 11175 0 R
-/Resources 11173 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11167 0 R 11168 0 R 11169 0 R 11170 0 R 11171 0 R 11172 0 R ]
->> endobj
-11167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.899 640.795 431.977 653.712]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-11168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 476.311 513.996 487.215]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-11169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.617 358.843 476.603 370.482]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-11170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.44 191.801 513.996 202.705]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-11171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 86.288 429.297 98.768]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-11172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11176 0 obj <<
-/D [11174 0 R /XYZ 89 770.89 null]
->> endobj
-11177 0 obj <<
-/D [11174 0 R /XYZ 90 721.073 null]
->> endobj
-10861 0 obj <<
-/D [11174 0 R /XYZ 90 457.532 null]
->> endobj
-11178 0 obj <<
-/D [11174 0 R /XYZ 90 443.347 null]
->> endobj
-10862 0 obj <<
-/D [11174 0 R /XYZ 90 173.022 null]
->> endobj
-11179 0 obj <<
-/D [11174 0 R /XYZ 90 158.838 null]
->> endobj
-11173 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F11 442 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11187 0 obj <<
-/Length 1950      
-/Filter /FlateDecode
->>
-stream
-x��Y[���~�W�)
U��{�H�a㲷��z��l^
�1�bƳ�>�[-�$f�3��V� ��_����&���?_�fo�bK*��u�H�		�V��1�z���]ĤF$�p�>~�Ӈ�7�>�w�7W������t�܍>��
-
��0b���,�.���6�4��;]�N:F�H�(�k>N
'e�K��<X5N���!)8>�O,X�f�	���
-�Q����M:�R���t]��6I���
��{��'T���1�ݓtB���L����x"1�r�dN�@��Zr�n��K�2�ș�p,�@���~w]l�n���p�FT�s����>B'"U��D�5)G1q	���2�c��
�H��šZ��Y>�x|�l��")o��4�.�
{旅1�θ��q�6Ggo!ݻ�"L�#�V�="k���6١�	DS�(U
�X��
T6>�f����!���Ɍ��j�#�P(n٪��TFT4$E��#IZ�r�
�=6�~��`��'�?I�O��M��HQ)@�H\�M'+o\K���Q��&����b{�IW%�����s
5C�w~ik���5b"
�a�J�*�e5\���
[�$H3M9A4v

�
�!�'S�	�u�J��ԨbMc�%��
-�ks����L����<!z\���M��%�̯)ͺ.��޾N�]rc�OQ���K�P[P��������4)o��ö�v���0,�APg���@KӼ�y5�
-0�g���'�>�6Lu_���u���}m����&HWL�Y�61hW���Ӕc�4d�	�xM�=ȿ�]�����ļ�����Ѥ�H��MF02.�
-_r��
�=i�d{�Uf�>���
jW��õ^��'Nf�j
3�:�;i��2����b�e, �pE�
�X	@i��Q�	�j<�i�au�1CF1��4�
��&-�
�S���
�72�H�촵U�p�C0�V����}C����pwHwP�2��v��`|#�$p��N� ���	���
AN��ɠ��O�N�B��Ŀ
��
�\�?�|ꔏC��߇:�9����P�uq�W>�l��j�mÔ.�Ĥb����I9 ��wO�A����S(�[���Ej���e��o&�8,�!%=�u�2�0��a��Ժ�A�ZTe�U���긨�Z��g������$Y�y���*��������~ޣn!0ʭ�Z�"OMRt`9�0&�F
��LJ��|R���!5����A5��Q
毖�kj�|�A�R�
-RW\��@�
-��>���z N+)kf{
�`Λjj��� #vMn���Cc����&‹MNa��\ 9x���&C�n��
g}��IkY�$~�AЦam =�h�Hy/�'�u��D�c˾�!�5�3��_1�M�.PS�����&X�t4�ZV��.=��H?u9
1
p
A
��3��p���P��2�>�L>f��
-�.�%�/soM�1u	��K�[Sa�@�O��URy�U����$Z)j������Na��|���6$�'t�P�m
S��v�,�y��ȩ,G�GX1�O����6V���8I�!K�BB��F�����܎Jx���h�|��c^��	�����p�3�R�����N�b?u8E�n�����TH,
qk�}��06�m�
��_3ۣs;1�>P���������'6�O���� 
����_

�_S�b����
us*@�a�5���2l�z�Ñ��aې%�'�HϪٮQ��G��q�NσP
�NJ�X����'�:�0ss�N�v�9]���\�-//�p��'�Su�Nճ*�ջ�Y�5����r���e
V�G��l�~�@� j�#Lg�L�A4����g��6W�v��rH��&B��3L�c�aL��V0�[bD��a{ۧ��ǵy���oY'�8W�kSkSU��lvww��t̳}��j��og����B��[7i�+�$�rx���,�G�
-endstream
-endobj
-11186 0 obj <<
-/Type /Page
-/Contents 11187 0 R
-/Resources 11185 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11180 0 R 11181 0 R 11182 0 R 11183 0 R 11184 0 R ]
->> endobj
-11180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 604.877 195.105 615.781]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-11181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.883 509.653 440.282 522.132]
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-11182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 366.601 195.105 377.505]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-11183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.059 258.142 422.924 272.858]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-11184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11188 0 obj <<
-/D [11186 0 R /XYZ 89 770.89 null]
->> endobj
-10863 0 obj <<
-/D [11186 0 R /XYZ 90 596.641 null]
->> endobj
-11189 0 obj <<
-/D [11186 0 R /XYZ 90 582.202 null]
->> endobj
-10864 0 obj <<
-/D [11186 0 R /XYZ 90 358.364 null]
->> endobj
-11190 0 obj <<
-/D [11186 0 R /XYZ 90 343.925 null]
->> endobj
-10865 0 obj <<
-/D [11186 0 R /XYZ 90 77.486 null]
->> endobj
-11185 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F8 537 0 R /F13 578 0 R /F11 442 0 R /F104 2226 0 R /F7 538 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11198 0 obj <<
-/Length 2179      
-/Filter /FlateDecode
->>
-stream
-x��YKs����W��U�h� �T���ǩlv��v� r(!! ť�{f���dɇ
Tģ�������� �;���|� E��Dp�
R
�,E\��&�
�X:_�q�aNp���l�a
�ܝ
��V?�wuV��K��$aY���]�4���J�Nk	|)<d"��r������3��I8��`��}�x�}�M�ਉ��(��O���U�A�X:!�X�)��+�
��.5�˻�Pl�f�m�8*�2Z���^�?c����γ��T*�|
X��Q̂H�rn�}�jC��D(��W�|=_���hZ8,���Bf����N����$,A�P9%�W��I�4
���VRq8?�b��/:�|����S
�`��2�i���])�3ֹ,�U[gy�,�Zƕ�E�L%�(�F�>/�����9�� �_z~�"IiO����F���*8��<�	d�p��¢ZP!�i�`DFb��
-v�/T��$lK�
���
�< FsL;"��I�Ӵy� �@�D�
Z�C�4,�
�4���<G��_Ǽ}02Բ��5"��5
��g����]����,��	��6��v
����S�]֪�6LL���Ҙ&�s15x�!�X�Q��#�@bt��S�z.-��[-���,F
GWk&E"aC�4��:mdE �ą�w�(Fp����ދ3��ʈ�A��9a_��
GG���Kf�9�C������Sm�
C`@#Y@>Ǽ�0
G$(y�R�2)��V6���B�	������g
i�1ک���iW��
�$X(o��]�����u�|>����8�ʛ �#�cY�8�i$�rr�+W]2���ɡ�d��@��;�߶���$<�S�ϓ�]���
y���%���!~&uq��Z{D�B�s�ܕJʣ��뢒��T�s�C��4�'�D�9<C�{�"���c�0��JL���"<F<f�"�����~_�U�3�p�D����?�
��Ȋ�y��.G�5���z��݌�բ*\�z����v�-5 �W�y�u1�t���<�Z;av���D��D�cr
l�v�����Z-��=
5h��r�s2e�
Ppݩp�{)�Ujc~��
��o}@�\�cw��d�L 4�_%�����/���#/v��>�a�3��
�Q��ܺ,	Ju��S�y��G��.���!
 H<8������Kы��Ī��%�/^Ch�T
-ud�Ca [...]
Dȃ��

Q`��
'���Ϙ�����W��F�2
�
3S���y��p⟻������GIf;���$N|iQ��;�0��o1�8�;4.�ʡd�]M��
Z��Y@����NM�^���(e�
��G�E
���7�J���<\
����4<�ӷk�h	C�q��0�����y��~�G��1|v'P!�[Y��mY����4)�	�uaU$c�5"�*c�
!���%*E��j�co�;�Y5�&�:�	����f�I�����ߊ$F�s{���n%������^��c�*��II�o Wy�>�|���s���>��7`����<Q0"cy_��|���XW�FE��v��U2����7 Tq>���
���H��x󝺬��hW�NM+��
�j�gc~���H��b���
J� O,���-���)t(TˍO����U�䗼=���:�n�9,Uy�>�)
J>�ͱ��X�e��'m�.
#Z�hs�c�9d������1y��m}�
.:M1���NaD��
�l2�_�
�����j
�7C�l.���j^��a�� �zWTko����UKr�3i�u at h1�������
�/#���Q�_S;�w�S4=>��0SZc�ޛ��>��K{׽W1W�
��	�T�7ǫ{$����$G]��
w�jf��"��k�P%��Rf��m�ﴱ����H ��+_K�~Z����V�ʫ�P]9F`�+K��I��)����!S��1�; f̣~[�9ͣ�:��d�<�nb
��4��<���e��3R*yt+�
-��O����f�T����T����7�`1�=��RZ��������ߍ��4�<�<���8�
-��:O�#;`
�"��ҫ�O�/IF�����gj[�Hb����ڶZ��
�G�nСȫ��MU�n����B�
϶o ���y�<��$:��o����
-endstream
-endobj
-11197 0 obj <<
-/Type /Page
-/Contents 11198 0 R
-/Resources 11196 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11191 0 R 11192 0 R 11193 0 R 11194 0 R 11195 0 R ]
->> endobj
-11191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.333 640.48 425.662 655.195]
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-11192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 362.502 322.446 373.406]
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-11193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 180.959 116.998 191.863]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-11194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 136.208 206.372 165.274]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11199 0 obj <<
-/D [11197 0 R /XYZ 89 770.89 null]
->> endobj
-11200 0 obj <<
-/D [11197 0 R /XYZ 90 721.073 null]
->> endobj
-10866 0 obj <<
-/D [11197 0 R /XYZ 90 451.511 null]
->> endobj
-11201 0 obj <<
-/D [11197 0 R /XYZ 90 435.366 null]
->> endobj
-10867 0 obj <<
-/D [11197 0 R /XYZ 90 293.877 null]
->> endobj
-11202 0 obj <<
-/D [11197 0 R /XYZ 90 277.733 null]
->> endobj
-11196 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F7 538 0 R /F8 537 0 R /F13 578 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11208 0 obj <<
-/Length 2054      
-/Filter /FlateDecode
->>
-stream
-x��Y[��~�_���b/")
Їt�	�&�ifz	6
C�8�PYRtY����CR����lw
�@_,�<<7~琦�&��wWz���V� &��*xx
b�0&RA/
��BM��~������۟�>�y�p�cWo
�~�b0D�H��`��z��)�(q��]r�<������бL���bT�D�#�9	�uc7�]+�xID�⽸we�d��i��Ί.�]�*��5�봥�&�a�uY4m��Gn����\{�-��\Β:KV�i<�ڏ���u�%�󑠂S�i�K�!�7k�$f�
2_(`�����
�
�0
���Rqfϐ�����hÅP��B
�y,�����)�)�YY�7>� 
e��Ϊ̘"J������.R�vk�+�M�
�����d�۱+Rjs�:�I��߷�KZ���o�ɞ[�� ]@`�/XH���T�q<p�m�
�I�t;t7v0��[��6�q����0�ڬ,��P��eYe�f��vk��Kj����~��20��S�mP����l�uj��r�q��
����zg�����g���������j����@^���k���G7��*{€�*;����
f�ψ䳴�>Np ���
L����]�a�}��'7n�����
-��G���r�`!�Xy`M/
:�00t4���N_IN��1� �Ƽ��[k[��s�����ď�����ڷ N֙X�n��^'�el����[׶v�����k8
����A��s�b�Sґ��#�'y�6Ή���6L�X��M�}�
@^	�DCC×��sW��#�Ų݂]�e�>�bN��|:b:�����b��$u�36E`�̕�c�)������wW�;;�`|���{,l{��Eg�l��;�
L��2�]�cY/f���*��b�D���vU=���Q��e�9�d��̨�2����]��FS��05x@̜�yE�A�7��4��6�~��ԵW~���U.$�
@x��ߨ�M	��:��-�ֵ���.̃E$���Ԯ�!M��M�:�7�#��L�FS{��
���T�p�!vm8�=r�c�Lʳd&�!��&�r���6Uk�4^zɱPa���Ra�ߦMon@�Rj�g�2�7��3$ɡ�x�B��
���1t�)^��H�?/�6�|��0�[����x x% [...]
-R���Lp|8.��2�h�<`g2
-u/$���;��s�
a!��;���]���*�̟�&���٪N꧛�1yΰ����j�б�Bd�e���K[0:OHN
��
���!!��PO8M�'1��k)��!��P2������̾y������~|��~=� NE��0����">D���:���}�Gp_��!'�6�wY�<ך�9_H��B��tZ&A��;�u٧c�;=�Ǘ��*�j
"��G�uY�iV �7�#4�` 4��}��Z�a:"T�s!r	�� p)���%���kXu�jh�M�ԝ�
�䛲�켙���@�V��>ޖ�y�~��mWא����k�5�����@�A�$%�@�u?�'\cK[
���@�pA�B]:��'\�)<�-a�����0�
̳("�:�/ ��/A@{���5��m
��`yo,Y��p��O����'�!�1!+6{�j�C�:�Մ���
��˜�a1uT|>���. at o� ���BЫq��;��7=�}�^�z��)�F�z���ҏ���V��3
]�c�1TbG�95>��
L���ϑ�*�*+��ǹ�1�G���rC/�%��
`H^D�����}-�o<$O
��;��2J<���P֬�:=M(�7Q'��
��J*��O���
-�
�� ,������ {�"-"kv	�!TlJ�������w���>���_S5�r�
�SRt}�aV���}�C"% L�����������g�^XFBC6t �m�V7�������YU�������4�F\X(�3N�{�to�4l�O��/�U
-endstream
-endobj
-11207 0 obj <<
-/Type /Page
-/Contents 11208 0 R
-/Resources 11206 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11155 0 R
-/Annots [ 11203 0 R 11205 0 R ]
->> endobj
-11203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.155 618.835 392.657 629.829]
-/A << /S /GoTo /D (main_Wrapping_Operator) >>
->> endobj
-11205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11209 0 obj <<
-/D [11207 0 R /XYZ 89 770.89 null]
->> endobj
-10868 0 obj <<
-/D [11207 0 R /XYZ 90 506.656 null]
->> endobj
-11210 0 obj <<
-/D [11207 0 R /XYZ 90 488.821 null]
->> endobj
-10869 0 obj <<
-/D [11207 0 R /XYZ 90 312.722 null]
->> endobj
-11211 0 obj <<
-/D [11207 0 R /XYZ 90 294.887 null]
->> endobj
-10870 0 obj <<
-/D [11207 0 R /XYZ 90 77.486 null]
->> endobj
-11206 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11222 0 obj <<
-/Length 1584      
-/Filter /FlateDecode
->>
-stream
-x��[��F���+xjm)��0wW}H�$U�Ji�}iY�=�F��
���g0���q�T���̹�`���ޫѳ���K�=���wy�i�I�p��>�	FLO|�1
��<�u8{;	�8Y�f���?��4L��isxB�8�'~����*�2w��\�⚉��L�1�d��������ˈ�f�#N�����чO�[��k#���+��

(������Gx�(B!
�EL��}��%�TT�C̜N����_Lg�ha�(�����M�&��9�'q�[#=
 ���B�s�Q��~�w\�%ֈ v��H�^�X�*�'�����*dN
��W0���?bL���௠�7
˂_F*�߫IXC��#
?�‰��!���|>��	?-<^�Y�t��P��m;���ﴪ�\FY��@
�ZȸES�mW�;N���<Yo�9dD���Lw)�ޔ������P�<�<*�]b�"W&�w��`w�����0^t�CRR
�ak�V0Q˖����s��L�BVeQTb�6�I����<�,%
-I�!E�<h�ָ���Cy��S�MY�U��0/
��a=y�o���.O��!�L�q
F�
�Ө+��"*�s�+E��ߎ��v_QZ�
-8�cլ�>� Iz(���g���M
%q��g
<�Cw	��
K�Ck*F�NA�«�q׳<I]�eWm0o�WnF�
�B�G�Ѫ� O>�L2Ew qې��Eƶ�S��wKW\`"Q�ݨ��f��{5ʸ<˗U{:(�Q�
�
-����/�����V8\A
#Ȳ����ŷ�)�p��!^N����c�U�����vm�|����Yy�L�
�[Q1��;��3��<C�lBl�s���P�"
QR���8��:Cr������0��ST��ԉ,"�M
���l���,jގ:6A�j$()b��������àe���,f%��oy���͘�`�����"Q�E0���Lc���0�����ܬ#��5��<�XN�@���)^��x�
-\-���CKQI��i&Z�d�h�
��m��T�5�_�@��N�L�y7S���Z�xbqvv{{�IA����&�o��8ŧ�� ��Uj���Ƥ!��OpFZ��&�F)��(M6;[/�Qx�����¬�=�G����S%��*���t(�����4TSOuK
�S6
-�,z���w���N�#��K�͝�������|�tL��z��$�g� v��T�]��D
'�Z�{ؕKV���Ů����U�fW��nW�6^�ߋ��{9�BX���z��2�>Ű�	��
��bXТg5�}a��jC
;���V5ȭa�����PVm*y0�r�T�
����Ь �D������E+���Ѭ
k�l��P׶��)�O�lq� �
-���46���^��d�M ���`��O
-�����0�}|���?f_���0{�ő
�����K#�Q؝H�_�K��R�M-�8�i�8�
w�Of�_m�*��0� ���.KS�inЂ
-�m>��7�G�e����ͨ��Z_�$0ҡ��y��^\�v;4��6�6)��
�����m�BX���I��:IM�l`p]lc���y���
-endstream
-endobj
-11221 0 obj <<
-/Type /Page
-/Contents 11222 0 R
-/Resources 11220 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11204 0 R 11212 0 R 11213 0 R 11214 0 R 11215 0 R 11216 0 R 11217 0 R 11218 0 R 11219 0 R ]
->> endobj
-11204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 654.028 353.45 664.932]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-11212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 583.947 268.34 594.851]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.885 432.661 373.57 443.565]
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-11214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 420.706 167.927 431.61]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-11215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 335.118 268.34 346.022]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.644 171.877 376.001 182.781]
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-11217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 159.922 167.927 170.826]
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
->> endobj
-11218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 74.333 268.34 85.237]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11223 0 obj <<
-/D [11221 0 R /XYZ 89 770.89 null]
->> endobj
-11224 0 obj <<
-/D [11221 0 R /XYZ 90 721.073 null]
->> endobj
-10918 0 obj <<
-/D [11221 0 R /XYZ 90 519.586 null]
->> endobj
-11225 0 obj <<
-/D [11221 0 R /XYZ 90 505.211 null]
->> endobj
-10919 0 obj <<
-/D [11221 0 R /XYZ 90 270.757 null]
->> endobj
-11226 0 obj <<
-/D [11221 0 R /XYZ 90 256.381 null]
->> endobj
-11220 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F23 364 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11239 0 obj <<
-/Length 1489      
-/Filter /FlateDecode
->>
-stream
-x��YKo�F��W��J@��'�T�C�)�6Mk��-�-""������r�/���@��2������#��;;�G��G�+�� 
����`G� 	�"�ØK:�4�0�G$�`W����w�W�������|�eD�v�Q ��e2��	;,�q0b���*�����ڹ
�3��|�&?@sG�(���.զ����L8T2�"����H�V�����e4�����}���E��m��=��+���G���Q���lB�x�N\!�8��[�W�]����Ǣ��cf�$�
-��oԖ��02��)C�e~P����
� �U�р�-�!C�D�׈��2ޗ�&[gw{7N�Y�	��f]���,7"Q
�- knUT.%OB^�E����Z�ͥ��1�Pf��=P�
	<q!��	��,�&.x�^_�y.�O(���+�����&��l�]�����2X��H�qz��"�K���X�%T^Y+?�[9'(bP�=�~2�
�&�n9�[�c�8�m�]nSm���+���i+��D��M�m��(o��Z	�f�$<����1E��zr	�Hp2
-1���"^��ِ��>�Dgy�c�
-)sh����&9�5��4�%T��
d
Zh���,��z�|��E��{�F�;���(��
-���7�7���C����Cg�@yР
�����pk{0LT��oDmaA;�
Egp���&EۚYZ�,,m �n;�H6��l�r(�`���QuI�e�V�.�dz
1�\z�z�~�`�A�$W����H(��i�:dD��j҆k}�!�q
-)4��1��Њ6�T�����qXM}�(��t�6���6�1��4X
5��UPf�u!�
-@\��1B���ڶ0�d^���/�`
n6���;��b{U�jhj
��H�ýT�U�*
���c�Q��'�x|�
3
�����(
 ~��@�ғ��#FH��hˏ��Ɋ�h�l�..�V�C�"��c+�8�K-��Q_�<�B].@]&d\��c��<����K 
�
�c�K紗��
 �\\�R%'#�
|��i�iі�>5�$�q%y�+�A�Q�D�2%v)&A�Q"
�D-Q"}�D��+��5J���[�����N� 3w�8u:���#�
�-
�ɣ�
B
-�߶�xe�Qy�v"���Q ���T��Q�eq��1��v.[����,5�ڧ)ˏ�s��D���Mw�����ԧ��&�O�����G'���uۓ|��]�������n�m
!����`���Gث���.���k��{>}hM_�'���:��@�}�z��Y�Z�8N_�a&/�a��3�9������LL\�
�u�b_���㬇_��&��G~a��(�K�I2�rZ�4���;æ>�z�����^��e.-����
-���͵��0�VL�~%0l*�l5� jf�� %�U
D��g�����T�h_�5)_��f6��v;�,�6�79��)��É��Bx�ɭ
ڰ$�UM�a1���A�*��
-endstream
-endobj
-11238 0 obj <<
-/Type /Page
-/Contents 11239 0 R
-/Resources 11237 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11228 0 R 11229 0 R 11230 0 R 11231 0 R 11243 0 R 11232 0 R 11233 0 R 11234 0 R 11236 0 R ]
->> endobj
-11228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.526 579.483 335.736 590.387]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-11229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 505.758 268.34 516.662]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.631 347.259 359.783 358.163]
-/A << /S /GoTo /D (main_limited_extrapolation) >>
->> endobj
-11231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.531 347.259 513.996 358.163]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-11243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 335.304 128.077 346.208]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-11232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 244.787 268.34 255.691]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.644 86.288 376.001 97.192]
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
->> endobj
-11234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 148.55 85.237]
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-11236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11240 0 obj <<
-/D [11238 0 R /XYZ 89 770.89 null]
->> endobj
-10920 0 obj <<
-/D [11238 0 R /XYZ 90 668.902 null]
->> endobj
-11241 0 obj <<
-/D [11238 0 R /XYZ 90 652.416 null]
->> endobj
-10921 0 obj <<
-/D [11238 0 R /XYZ 90 436.678 null]
->> endobj
-11242 0 obj <<
-/D [11238 0 R /XYZ 90 420.192 null]
->> endobj
-10922 0 obj <<
-/D [11238 0 R /XYZ 90 175.707 null]
->> endobj
-11244 0 obj <<
-/D [11238 0 R /XYZ 90 159.221 null]
->> endobj
-11237 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11250 0 obj <<
-/Length 1795      
-/Filter /FlateDecode
->>
-stream
-x��Xɒ�6��+x�Tea���ON�v��TM���v�8"Fd,�
-	Y��>�����r�� ��^
��m����_ofW/B
�(�T7wA����HH����9��Nj%�ϯϓj������9Si����o��:�V����e�XR��풺v���N�w��(�˸s
����W��7�g,�q�F�f?{�
),�
-0bq���>��s���5��)�E�ã�pDq�
�N%{�UU[3Ɗ�^��=5$B!l_�
�Ԝ;�^�q,��|�8x��t�h�L�{[C��(j���(n�n�Ӹ)
��J�4/�N@��)b�6;�a̼
�'dLhet��S&0�F���!|KG�0	�1BܞM}��!ڢp�y�s��ލ˻��ZW��w�t���rA����Q
�~p�SՂ���C>Y
�ý
Q2���0�<�,���q8
܀t������x�cQ�[g(�~\Pa�'�;��׺��b�^;�`�8�o�F� ��Ĥ�S��:��`rC��vFc�����S�l���$�A�λ�p؝�-
i�I�j�����Y𶻁V��묹�֠>�~W�v��
�MV��
�L��a�1�4
�4����>��Q�
��
ĝǵNW+�8�&�<]'���W���L�.�!F�JNp�"d��n"}y�������}2��Tζœ'4�}�NER�J(F8n�l�
���I*��%db�=/�bS���m����r"i��pkK��#��
y
��b$���>��@Đ`�~4aX�&�C�-mq�J�t]��Z�v�k at m� ?-v���A��or�ݰ��rN
#2��ɶiL�	�.H7�L\�4�"n��Hľ�=K�z�j
JGG�E�˶��ƶ/�7��psGv`a�G��ܥ��4/F���\��h9����	@"De�{��a��.�6� [...]
-���a9a���B���	|����Xg_�r��
��*�n䀇A��^
-_n��-�N�
�NZ�����w���
H�,r݊�"`H���p�"��˞�k
`��nl
��A��D1
[p��\��s�!�mS�T}�醥�x�����b
T�u����B /7��`'
Z6����v\�k�d(
-����)P�M
���|�TN9��߁
!�߂S�!MQ���p+{RS7n>��.\��b��AcF�u܈�&�I��py�D����7bs���
�p�L��߂ ���2|��C��c��	'��~쬦�/t`C�.E��
G�O�_�������
�'
�z2��i��
�
:��9���sc�Ԙ>�?�dz�����x�,��$��#��!�,��Ir+;��Z@���X�?�ᰮA�
-
B��FA}m�1U�O�2릾ֺ�ߵ�~Y1��gR
OM���.*��]��hu��A�����?�<�4��
�$
-�@�I�i}X]]�N'��ѱ����᰻�����p�J�ҳ/+Ք,X�'&�.��n�<
-endstream
-endobj
-11249 0 obj <<
-/Type /Page
-/Contents 11250 0 R
-/Resources 11248 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11235 0 R 11245 0 R 11246 0 R 11247 0 R ]
->> endobj
-11235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.659 646.426 268.34 657.33]
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-11245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 382.239 300.161 392.52]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-11246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 74.956 300.161 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-11247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11251 0 obj <<
-/D [11249 0 R /XYZ 89 770.89 null]
->> endobj
-10923 0 obj <<
-/D [11249 0 R /XYZ 90 575.788 null]
->> endobj
-11252 0 obj <<
-/D [11249 0 R /XYZ 90 558.133 null]
->> endobj
-10924 0 obj <<
-/D [11249 0 R /XYZ 90 272.684 null]
->> endobj
-11253 0 obj <<
-/D [11249 0 R /XYZ 90 255.029 null]
->> endobj
-11248 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F79 502 0 R /F23 364 0 R /F72 400 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F11 442 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11262 0 obj <<
-/Length 1854      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W���@�%%>$��I��M�Y7�$0�c��%G��u}���٤�9욤FC�73�
�������׋��;��ϝ�'Ž�b
f��֥�.߯_:�8�������٫��z�x�^|Zx�
b0$B'9,޾�N
-�/
��(t�Z��P?�߽s��s��ga|tB!f��N.=�7�K��g5���'v=�2��"������F��JԻ���]���9˷F�n���NV��dy*���w꟬�h�7ڤY�
���b�ɴ,�'j���]��:�!�ť����b�3#ƌ�qR�2�G�K/��{{1������R��`���7��2��2
���n����J�guָ��۽���)�5F�,N��[ag���V*��J� ��E���M��n]�_����N�������w�+��<�@O�'R!b0O��,���%���,V����yE
��9`h	���	��G1s�a�7��	�`�_-��H��H��(�	'�|�e���8^O*�-8q�ZK�r�1#+S��0�0��� Ýk��� ��N�ڌmb��V���8�-'�G`������lDÁyT��",1f�H_e�B�,�.=
���O�ZI�DԺ	�N2�?D! M�6���� 
��'5��Q
=���V�4pt�d�F�$a�*
 [...]
-�#ht�!VCȞi�OH���#��~Ԭ���
-6(R��"D��SD(@����/	v�,5a}�fqy�70��b�$���x�[v[��e��V�l�I�]��
-�+�k���&��l�����j���F�k$�� �0
f�e�P�h�3��4�1��/�>��*�I���]�8�R�=��.�l�(�`�jf�C��NH��t�ֶ�_,���0
��!���[�h3� ��W��|�i�N���nv�Ѣ��hh6��"L�#�fyC��uCQ��\2梁ٓ�&�P���
6���%�X�r���1�/�6�H:��:]��P�"�g�&.�'(��0��

%-���-�- at c✧T����T�([%eS�
-(r���eyR
���	��2��d+yDU6�Cu/�m��Ȳ�&�
h
-A���
B�Є_n�-Xf�^:kF;�S#�ħ�
-۷�"=hS�Z�K�m
�LaDL;�H�^�z�0ܓ�#�=@)���u��6z�M�Md�Y�AB|�X�Bh��	g�@Dy��Q=�R}
��c�x^�P�jurlPe�wįJ�
��YF~�_on�-��@ĺ\�
��
r���
-����
�km�aa�(nz��竎2� Y}���H������#�� ���mE�-
���*>H��|�A���!n�ř�#�R�1�q�):�W�7KBH��٪u�7 at a�J�z�c��.���1�ӆ��޶}{߇�!���?Z���S��V�H=I[L���܀�ͳsV�̨�풺Y��:�Pl�66��P���n�Ʀw����21%����nG�tJT

��w�|*�|*�G�S�]����}<����ԗ��eP����\�7��6�C���T
p�{�K�j:��Qi
s
Ko�ِ;�A��*�q=z�\�
�(��%�\�a�~���G��	� 
-�������G��8���Hհ'�f
b�^�bd��P�#F�����
D��l���dwZ�
�4oK	͝r?Ѿ�_àq.
;Ե���0�a��wO(��n��n���+o�u��ʠ�>� �(
��kŠt�a
3��c&U��Qݬl�=���D+1�PZaCh#_%����t#�6�}t�ѯ���
:@
m�������:��(��)ώ%���q5
����Vɇ��:�%�a�{���-���
-endstream
-endobj
-11261 0 obj <<
-/Type /Page
-/Contents 11262 0 R
-/Resources 11260 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11254 0 R 11255 0 R 11256 0 R 11257 0 R 11259 0 R ]
->> endobj
-11254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.334 534.911 236.659 545.815]
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
->> endobj
-11255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 458.192 256.157 468.09]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-11256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 309.024 206.372 338.089]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.024 261.114 483.212 292.083]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11263 0 obj <<
-/D [11261 0 R /XYZ 89 770.89 null]
->> endobj
-10925 0 obj <<
-/D [11261 0 R /XYZ 90 628.336 null]
->> endobj
-11264 0 obj <<
-/D [11261 0 R /XYZ 90 610.308 null]
->> endobj
-10926 0 obj <<
-/D [11261 0 R /XYZ 90 446.921 null]
->> endobj
-11265 0 obj <<
-/D [11261 0 R /XYZ 90 428.893 null]
->> endobj
-10927 0 obj <<
-/D [11261 0 R /XYZ 90 239.89 null]
->> endobj
-11266 0 obj <<
-/D [11261 0 R /XYZ 90 221.863 null]
->> endobj
-10429 0 obj <<
-/D [11261 0 R /XYZ 90 77.486 null]
->> endobj
-11260 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F23 364 0 R /F31 503 0 R /F7 538 0 R /F1 577 0 R /F8 537 0 R /F11 442 0 R /F100 1387 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11273 0 obj <<
-/Length 2404      
-/Filter /FlateDecode
->>
-stream
-xڵY[�۶~�_��D��X\^�N��ӦɌ�l�b{4\�eL�*Iy���ąIk7y� 88�;w~��������bw� �Ae��0+�w+�Q��C�1^�Y�ʻ}�}��x��Ϗ����O�}�wϛ��񚤫�Y����wu��j�V���N4� �,��*J���ݏ7������ g8 ���4(�7�>ࠄ�?�,
��E� �
���כ_n�E�A��dB
�T
6����!��}
˦�),L"�;���Z�O f
���{��E� 6Ty�}}l��DN� �����=�H�ybV|�t۪tN9QK(�!Ib�`
-�2��
*�l��a��Bl�j/�
���K��=渀� ��/߸�-&�
����갃-
Y)C�YC*��	���#ջ���F|P;x<��)b@"��?M���DՆ9<
-5pd�y�[, ��JC۩���E�ve�<�-�~<Z�2��A���n�w�냂P����Ě4�
�B��,B� LS%�V� ���=QqDR��i�0�
-�v9�RؔR��;��_(
�(�����^�C�Hx�]�E^<��m���G1�5�?�
v�����eS!��o��
o����單��>U�X�k�]S�z���Ƕ���
-�#K0�H�8*�@�L	p߶�a
A�1� ��-ڲ��U#�qt���K��;d�V;1
����G
'E�Ϻ���;Kb�*���*oJ5h��Y�̫"9�ġ�h��Z;���N�
$6���(�
�L"Q!�^���ɪ��f-}�it��^Y
��8f2���ؔ�=ƴ���C�ģ	��g�*�
�9�P�����B�Q����	�.Y
��
�_�u=�����s2
�љ�&אi������%}����Z%�
-q�:«WʎA�� @���A��
��3�9{d(�6�9n�F�����t���J	��W��ȇZ?s�؆���<�_���m��_��\�B{JH9 ����W�OR��>
-�(�H��<�����er&qt^[ߕ*�M��3n��HbK ���T�˹U���b�h�,�i4�~�?��u߷&��P��L�
jƄ�
в��l��]�R��o��߿D�1�Dc�|�$���e�!^�ڒv
*D+��h�	�e�
!�{7Mb�=�� ��=uf��y�
71�R{�:�38��֎2~�h������?y1Hc"�l~PLW�j�3D�% 8�P��(�(��q/�L]q��R�
PK'|�M�g�{AI��%��U���
-Y
e$���w�e��fk_1�/z-	@G9*�i�����aD�X���K� k�ҳzA>�~{��D�+���䕱�E80P�,���}00
-�$��ݣya��_?�����R�k{o�I0J3�T�]�m�k�^g�G�	�'�,�D:�J�8�z;�/o�DS�mڡ
t�l��� YE��1�f=�t��zPc�8�͌/|��`�XD<���j6���V�C�V�
-b���&WS�}ڟ��Q;�z���
����{�|3��3-nHX�X�h��k���8�p^A�QV��\���/�a
�'���..|�M�t�By�5�Z���|�P��'Qe,��:�@���k�
��,&�N��n}d�)2�")��,�xӢ��
˚j����X�RAHh�!soQ��4���
V���ХO
��0��|�����<��6�ŋǩ22�����}	�{�M%ĥK
-=�,���k�ݹKX*�{y颪(mt�y)�f�i��6�+pYQ�u��+Q��
�My6��Y� kM�[���������L�~���˚cz4�*��υ8����Mn��f1��Oy]�ۼ{8��%�3��f��T+�\j��[��vL!�Q��K�X�U~}�DW�B�Y��V1bV��ax܊�k/�=4�t��
��x�l��y9�)p	
[��(�6(7��
- Q�$0tn�c�ni�c]��E~��J

�\j#�@E�%`���w4��"��	�g���R�Q�|�m/�ռ�>�P��̉��:8C$�cg���E��˛wR�GSf��g�(�ڱA���>e��&U)$a耳���Q�$�jIp�tޗA�8D޾�D��4d<1_mR��i
��)Ŧ�C�
�(��}>��A�W�x
-;��1�}!�c�c�
��xj���ԡ,b'�Uє���&{Yt�+��OY�)�ՠj��@S�9��{8P�0�
q�s+lN�8��:�_�%JW�;] 45�WO�@1
'�/�?AY��k�֣�uz0Zf��w��V���)r�ω��\~���H�߼�o�plJX��uG	t:颒�_��:��1]���VGM~�E���~Λ���'��:0�F�WT3a�
�T�}
���*EM��4��1E�a8lno���PѣcS
:T
��C}{��fT��Kdg����md��
���|.���?o�X0
-endstream
-endobj
-11272 0 obj <<
-/Type /Page
-/Contents 11273 0 R
-/Resources 11271 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11258 0 R 11267 0 R 11268 0 R 11269 0 R 11270 0 R ]
->> endobj
-11258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.376 641.66 385.519 652.564]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-11267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 341.594 239.856 352.498]
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-11268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 115.876 300.161 126.158]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
->> endobj
-11269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.144 74.333 182.164 85.237]
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-11270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11274 0 obj <<
-/D [11272 0 R /XYZ 89 770.89 null]
->> endobj
-11275 0 obj <<
-/D [11272 0 R /XYZ 90 721.073 null]
->> endobj
-10928 0 obj <<
-/D [11272 0 R /XYZ 244.439 344.747 null]
->> endobj
-11276 0 obj <<
-/D [11272 0 R /XYZ 90 325.953 null]
->> endobj
-10929 0 obj <<
-/D [11272 0 R /XYZ 400.69 77.486 null]
->> endobj
-11271 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F8 537 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11283 0 obj <<
-/Length 2182      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�~ׯ�S#�,a\Hp'�I=���e��jڌ���EZb#�
I����
�$٭�$ �s��w΁��������Շ{IN�7�$��@���[��O���>Ͽ��H_��7?}���4�Ss����S�#z�E�[n'������w
FL
-o�.�ze���&?O�YYA��3	F C
�|�1�~�<-�d�S)���-����vFa|�N�*^��=Tq�|}=
��4�fDL����qFCNu/�E�mӼΊ�����x	oMk��"���dj�~�I
-g��&�wi�x�'����t�RDP(Hg�/qU�U��$B67�����
���9�Ш�(I���;s��-Ո^��"�b�(���Ӌ?�Hk�Zk׀ۇ�j��2
�g���E�	I�M`�@9
-po�,o
-�V��N���N
�~#��C܁q|"l�ا�4ПX�۴I�����>�+�@���@8d����l1)"�w߼�n����|�b�Z�`��ۉw���:#����d�J���̲���.�<��qh�r�vk��#�"M�|��m�h� qi��QŒ�F!�
"�SFȑ>��� /���,�T��^%=Ӭ�FOdu7ҭ!�<n���
-{[�~nQ�U��<֘DQ`#���2-��ʯB�
��n��k� �1�d�"�V;P�e��(���B�w�2&���Q�p��n��p`�
 9�]�Μ�
!*X�>�w����b[�ʝY�o5�Ϛ��A�]dub�-*�n˙r�~)rs��5c���������0)�.
�&��49G�@w�G��Ӧ;�{}����
��
��8�
.�&�W��1dp�5l�C��PEM�N��G:D� ��8!_�
*��9���&'��
Q�D��,-Fy�*������HL���1J$��'�8�����0
/���
�Ӂ��
H�.P���ܼ4=]��4͌��ѷM�D���JM�Am �3	mzد�Z���6~ʶ��z2�V����d�u0��`� {�U���H��.�衮t:�Ԙ"|
6Y0���aE��!�Cqd��̋F
[�ۇ�2���)�m�xyف�s��-���
��L�d��4�Q
B���~�*=_���˕d�¹/�a�@��A 
������)!G�ɇB���C�^vG��8��m������ԟ�v�xř�����<;�lC�q�D�
�g$hϫ�Y��<���^��#v�)�����e� C* �m��Wm�i
Sc�|
]L
��)���P~p'f�E�hG������\.���C�Yƹ��
נ� E
- �k{��V������/���޶O��v�������
��ճms�!�Pe7�;��B
� 2�h�n��f�XI:L�]�ۥ;��/����_�fWu�'�?���QEIՉ��mx�9(��T�GW)���Bs�;�t�JB���T/��
T�n���`�86��F��9@�����
B/��%�αΜ��p3��z@
P��s,8�D ��r�_��K��/;N���w!b��E]l�E^�
�t�V���'�b��ݤ�S7��p��1P8����
��{V���ܳ� �lҧ�y^�l�v�. ��O���
W� :dϳ�C��}YM�l���T�[�ӭ��ۢ��*�����l�n��ULD>
-ߦ��X�d("�R�ǂM
�x5���mrmRu��j
\E���Ԭ,̌.�վ�UE�&$L�:̮�ݕ�\ET��>)O�𐜄x�34��
�v�❼b�>p�*��b0H�Ry��iU at P@��{O�h�5��Ԡ�=&����i��
�f���?��6��

--��1O��,?�aA�
h*�gj�zW�}��ߒ#
-��ۦ�S��VW^��
��m��V j'�v���]:�j�
ƛUQ�������ǂ���<�Sr:'��7;����<���K���an��jdP��c�� ���u� J��(��s�,��!
.y���SD����Y�
�}����O?����翹�H���I��OSh
-%g/�Ӵ����*���!��
"�q �[e'���k��������ouZ}5
éq̏q�뀦2�6ye.�`� ������K;xh�~����'�9GB���>Ӭ��������hY�]��ʚ���\
n�
DՐ�u�P1R� �ap��W��4���
-endstream
-endobj
-11282 0 obj <<
-/Type /Page
-/Contents 11283 0 R
-/Resources 11281 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11227 0 R
-/Annots [ 11277 0 R 11278 0 R 11279 0 R 11280 0 R ]
->> endobj
-11277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 613.452 206.372 642.518]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 544.328 163.823 555.232]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.397 495.956 362.844 507.024]
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
->> endobj
-11280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11284 0 obj <<
-/D [11282 0 R /XYZ 89 770.89 null]
->> endobj
-11285 0 obj <<
-/D [11282 0 R /XYZ 90 721.073 null]
->> endobj
-10971 0 obj <<
-/D [11282 0 R /XYZ 487.765 499.109 null]
->> endobj
-11286 0 obj <<
-/D [11282 0 R /XYZ 90 482.944 null]
->> endobj
-10972 0 obj <<
-/D [11282 0 R /XYZ 90 374.03 null]
->> endobj
-11287 0 obj <<
-/D [11282 0 R /XYZ 90 360.022 null]
->> endobj
-11021 0 obj <<
-/D [11282 0 R /XYZ 431.18 284.957 null]
->> endobj
-11288 0 obj <<
-/D [11282 0 R /XYZ 90 269.415 null]
->> endobj
-11281 0 obj <<
-/Font << /F70 398 0 R /F100 1387 0 R /F56 363 0 R /F72 400 0 R /F23 364 0 R /F11 442 0 R /F8 537 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11304 0 obj <<
-/Length 1850      
-/Filter /FlateDecode
->>
-stream
-x��YY��D~��PrU<;�R�P��,�C���ڳk�,9�
��zz.I�h��

O�ƣ�>���[��u���'ߜO�
�8HQ�(8�
-R
�<E"��e�<$	<��q�dJp�����ɔ�*�+������:���YV�v�nd;}y���!�$e�E
N���-�
-p$e���pDH�����V�Y�LgT��|��P�7E�J��T^�zJ�P�
X��!�c%t����Մ�
���$X�'�_�`	ˏ�X�;�i
p��Z�&�N�Q'��&�cp9�^~T�\Z}�.�NM��}x�-m^���a�خe�fz	�Sg��xC%{B�.��i���ڈ��\�������b'@�v�
^��$q[^`�o:���×c�p����
%�p�Mg�YTe��C\�㜋FOK9��"+l�Ǒ�d`
q��pAI��ymB��l�`猉�4�q
-����e�n������%�4��l���[	�`\���D! ���M��
-�^�M-�zSueͣC�Y��49t��2�i��� ���4s^eE#G
-�͸s{nmف]����c��hBN�Ո�¬4G@ڷ{s����/����Q����ގ�Ac�

��5�$�eA#(����3�26n
K�
7��W�)i���p[�S*��
-	�z͏C3a!u��y���4���fߴrm~��5�Tu��mc~X��2/�Gԧ1�
MO֟�k�$��+Y��F�3�d�)TpߟYQ�t񵄅�&|UZz�+嗝yh�&�{�ܛ����P V:h�=.��K/���S���̳�w�&�#�oF�����0�~�4S�>R+>>��.��� ��+�M	
� �2g��Vea�=N/�
xܓ� 
u\�Ď0G�)>p�!�E�T�B'�m�\�f�
���ʸ_
~�T�0
�U֎(ġ=��Ui�n�
-�.�ǭYg{�ӥ֍�m�T���Y�CΠ���e�KUj���j���uY��:@A�����VUc�^d�l �
h����Z�2+
F<S�����g����L�1*�cT1������Z��U�dI6�l��bMwl���V/��H"��{��H��$��F9�Ԍ}��f7�
IT���p�$
�DS�γ�\�Y�p�t ��`��X
������o�\�b��{�z�r	���z�J儺iWl�~p�� ؇kY�A
����{U:aEa*�*ض
aZȹ
l�h���D#W OoS*�]�uu�l
-��d���İz;��&G����(�=E�ӄ���̎���g��
9az
�]��s �`�112&:��`�s��6- at y3�Ȯ�+
����
�	¦�g���v)G<��Gd�(��! <9L�$��Y#�e��r������1���
;J^�0N���aKi{�t�v�V�gvq�<�11_�k�I���*y
��W[���9P��(�|u�c:�:k�S���T��(�&c9�*B�<�*�|�u�;����®�����o�.�en�5Z��w��V�Cp�N˼�C}°gU�U��x�iiػS�U+�
�Y푅T��n��A�Rq�q���
i�\�	M�s֧��ES�h��:
T1��O@u-�i�c��'`F���u�ۇȡڈ�
�s� )��H�
8nj:��RD�/u�� H��څ�&�QN��S��6/Z�-M��c:	8�w����;G��y�����S��YF0�Q�D�ߝ��ÿ$D�?
��/	�W ^���_0�49���
t��ѵ�������F�_�֖��ʭ�w5պPv
�%�j�Cjt�P�\Q3����&���%	Le�#�U�n�gg��-�-�M���
:ӳ�;ǁ�P'��u֕� �����ә����7��
-endstream
-endobj
-11303 0 obj <<
-/Type /Page
-/Contents 11304 0 R
-/Resources 11302 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11289 0 R 11290 0 R 11291 0 R 11292 0 R 11293 0 R 11294 0 R 11295 0 R 11296 0 R 11297 0 R 11298 0 R 11299 0 R 11300 0 R 11301 0 R ]
->> endobj
-11289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.034 223.289 264.203 234.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-11290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.941 223.289 305.705 234.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.181 207.741 391.739 217.646]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.046 182.58 290.215 193.484]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-11293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.953 182.58 357.729 193.484]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-11294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.435 167.032 345.993 176.938]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.8 141.872 266.564 152.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.301 141.872 341.41 152.776]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
->> endobj
-11297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.817 126.324 323.613 136.229]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.8 101.163 292.576 112.067]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-11299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.313 101.163 393.434 112.067]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
->> endobj
-11300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.817 85.615 347.024 95.521]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-11301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11305 0 obj <<
-/D [11303 0 R /XYZ 89 770.89 null]
->> endobj
-11306 0 obj <<
-/D [11303 0 R /XYZ 90 721.073 null]
->> endobj
-11022 0 obj <<
-/D [11303 0 R /XYZ 90 703.849 null]
->> endobj
-11307 0 obj <<
-/D [11303 0 R /XYZ 90 703.849 null]
->> endobj
-11023 0 obj <<
-/D [11303 0 R /XYZ 264.215 602.419 null]
->> endobj
-11308 0 obj <<
-/D [11303 0 R /XYZ 90 583.605 null]
->> endobj
-11024 0 obj <<
-/D [11303 0 R /XYZ 161.222 496.168 null]
->> endobj
-11309 0 obj <<
-/D [11303 0 R /XYZ 90 479.357 null]
->> endobj
-1470 0 obj <<
-/D [11303 0 R /XYZ 90 352.341 null]
->> endobj
-330 0 obj <<
-/D [11303 0 R /XYZ 90 344.582 null]
->> endobj
-11310 0 obj <<
-/D [11303 0 R /XYZ 90 241.287 null]
->> endobj
-11311 0 obj <<
-/D [11303 0 R /XYZ 90 202.6 null]
->> endobj
-11312 0 obj <<
-/D [11303 0 R /XYZ 90 161.892 null]
->> endobj
-11313 0 obj <<
-/D [11303 0 R /XYZ 90 121.184 null]
->> endobj
-11302 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F21 2356 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11341 0 obj <<
-/Length 1715      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�J3Af���q�I㸉{�3
J�l$��aG��] Eєd�r�
lB��Ƿ/;�v~��LN9vB���\̝;�
��W�|
z<}�x�P?@$�aW��廳�Wg��������v�&���b��vbx������sW/Z8�K�8
�N^A��3ϫi"g�����XLE�ǧU:+e�53��}:�C�Sg캈��{X\�լ��Bӈ�XN��٠69e~�3B�ǀ$A~�j����:
(u��F/�c���<�lx'�B�;`^�p��?�+�(t`��# ��g

�kNN�<��R�3[��|4��#+��F��F��4+�l��ټ3�̀�lWL�(�F25�UQ
-CB�!�P
Я
jb�,W�	+�Q��[�0��Ó+�
���f���Z��̳�c��2[���rD�7U��H?�ŏ�����99���
q�F�X�o��w��`<��6�

���z	 ���4Y��F��Jwq�
�<������8�9
��w�оu�㇢`r
-{M'@���q�)֢n���B��1�G���6�
�-��l3�>�!@�rx��y��*�`���̢�m���c�s��LҨ�~�n�Y������,Kv��X\b즲��J(T'��G�u�:8;�e��
�q:
-��ڧ ���\
-��1��+o�
טƴ�0�x}֍,���V8聻Ö�;�}01�W�
<إ��v�<J�^̈́�zG�
?H3��V5���Lq%
��4�Q 1�aq�� 5�
悊8=���
-�p -F�-3�Lt��vž�[�Vb�LL��6݅H��U%q7��@���E|x� �@:w�dž"Y\��rg2xʸ���q��n�; 
�f��:�
������S�|�P�Z� �XD"
�����:���I��'�kx�d��#ʇb�
Z�
�w9b���	M�Rykyxd�
 ���ga�B�X�m��������=5ի~
2��#zo�Q��k˪�m���"��A�����b�A��R�Mm0���jS�
f
-�tP��Jj���[���7��Ўj!Y��*�?�\-��]5�Y%Wf�L���R?��&)�-hz��ޞ�YG�5�F� �IZ��X��ߠ%4��Y��"��zS��c�Z�	�e�!���^y����=�[)�������"J#;�տ=� ����٨�wO������6��{u�'�(Itsf��os�.�<���^�F�TK���,E�����

�F��� 
�l���P}���к�{[��R�-�6O$$�`��q��G�\VI�6n��D���H}�m}5 �݆���_� A^�"�f�)��E7��'��E-U�
��O��=b���r��J�3���0
7:�_z��ԟ�сAu�8��j
�c
���t����EdfL�l�+2+TT�2JU�̏Ψ4�+�t)� ��J��)x�w)*�=5s7�lb
��(����xhZ�]��b��'�
pL֕�QI����V��d��m�2�l+��K�V���i�Q~�{}��{?9	�������?$�WQ���V<Lu���x�]w�*�뻲~C��������
-j�3X͘ф�j�b}���|a*��,Y݈87?���<���߅�16,��Xي^	r�H��hr$`�Z�L��7>,�x_
;z�`ﶙ8��{���\>�L���Ь@d�
�r�\&����E�x�oDs�础l�x���:��_�{�
-endstream
-endobj
-11340 0 obj <<
-/Type /Page
-/Contents 11341 0 R
-/Resources 11339 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11317 0 R 11318 0 R 11319 0 R 11320 0 R 11321 0 R 11322 0 R 11323 0 R 11324 0 R 11325 0 R 11326 0 R 11327 0 R 11328 0 R 11329 0 R 11330 0 R 11331 0 R 11332 0 R 11333 0 R 11334 0 R 11335 0 R 11338 0 R ]
->> endobj
-11317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 664.049 163.361 674.579]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) >>
->> endobj
-11318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 627.114 163.361 638.018]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e) >>
->> endobj
-11319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.698 627.114 228.964 638.018]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 590.926 163.361 601.457]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) >>
->> endobj
-11321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 554.365 171.11 564.896]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) >>
->> endobj
-11322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 481.404 215.923 492.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) >>
->> endobj
-11323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.26 481.404 281.526 492.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 433.884 171.65 444.787]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) >>
->> endobj
-11325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 386.737 187.151 397.267]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) >>
->> endobj
-11326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 338.844 202.902 349.747]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 338.844 300.037 349.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) >>
->> endobj
-11328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 302.282 202.902 313.186]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4 302.282 314.263 313.186]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) >>
->> endobj
-11330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 266.095 161.677 276.625]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) >>
->> endobj
-11331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 193.133 204.985 204.037]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) >>
->> endobj
-11332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.214 147.455 182.698 158.359]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770) >>
->> endobj
-11333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 110.894 172.198 121.798]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f) >>
->> endobj
-11334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 155.859 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 74.333 180.337 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508) >>
->> endobj
-11338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11342 0 obj <<
-/D [11340 0 R /XYZ 89 770.89 null]
->> endobj
-11343 0 obj <<
-/D [11340 0 R /XYZ 90 704.266 null]
->> endobj
-11344 0 obj <<
-/D [11340 0 R /XYZ 90 680.581 null]
->> endobj
-11345 0 obj <<
-/D [11340 0 R /XYZ 90 644.14 null]
->> endobj
-11346 0 obj <<
-/D [11340 0 R /XYZ 90 607.578 null]
->> endobj
-11347 0 obj <<
-/D [11340 0 R /XYZ 90 571.017 null]
->> endobj
-11348 0 obj <<
-/D [11340 0 R /XYZ 90 496.407 null]
->> endobj
-11349 0 obj <<
-/D [11340 0 R /XYZ 90 450.909 null]
->> endobj
-11350 0 obj <<
-/D [11340 0 R /XYZ 90 403.389 null]
->> endobj
-11351 0 obj <<
-/D [11340 0 R /XYZ 90 355.869 null]
->> endobj
-11352 0 obj <<
-/D [11340 0 R /XYZ 90 319.308 null]
->> endobj
-11353 0 obj <<
-/D [11340 0 R /XYZ 90 282.747 null]
->> endobj
-11354 0 obj <<
-/D [11340 0 R /XYZ 90 164.481 null]
->> endobj
-11355 0 obj <<
-/D [11340 0 R /XYZ 90 127.92 null]
->> endobj
-11356 0 obj <<
-/D [11340 0 R /XYZ 90 91.359 null]
->> endobj
-11339 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R /F107 2329 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11394 0 obj <<
-/Length 1645      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�)�f*w��e&m�̤��Mܧ$�M�f"�*IG��wq�DѴ.6m�
�X�=g� ��� �G����^)
D(�T'� �ZI�!$	<��qx<&8��y|z<�8,fחiRƧdge\^?�ͨeZVi=�t���!-�$b�I�[�?�!.���E͈�=F"$����;M�:��j<��'㈆�|1�����K�i9&:L�s�R���
�v2�gD�
�CF ������'
$��&��E:X�A�S�Y�~��{��Wzhp�0�r�n!j�~��Wenܖ,�ss�aV_E�E�~YY^g����.\o}��������݈$�>_�����)�l��Ū폦H��`��aQ{G�fL}�U>�Q��&͠�/'/�7����W�p�\fUjܵ
3��X-lW�Z3i0��
%, ��HDn�4O\�7`#��Ȇ�� 
��E�	�Hr�ԇ�#��cĐ���ly�z|��&��
m\5>���X`�#�~w1����]6�1"ܬ@| [...]
�L�MM�_Z��0���6�=4�vi�#�t[��	�Is�h����4�mhҬ�,̉����M����ؚ�
�v)�

���� �L�T�_��f�?�r?��[�T[��ȓ�L�5u�K�
�-�B�
-�\�p����j)�q}�bŒ
��r�%�P,8�
~5�e�cvk��T�_�S,��`��سtZ�G,�:.kG��(>��qO>�f�t��1=>��͚V�T�f;Eo
iU�𤭠�n¦��MW�t�m�g�M�h�ҙF���7~�JgIяIت�7wj'w!L���n��I�=�|�z�s������i���~�G������$9mdq�;�|�.ϒ�d�I�`Y�*0�9
�NfHI�
��^o�*H��扤Ǧ@�����X�$�qN�IY,v�Vj�O�\UVgE~
-�,�\��”3��
�uhl��y��P"b������.�&ޡ��sv�c[`Ĺ^?��虀��q��Z��VNwu*�b^��nֳ���
F4��Y�4�n::�� �:ǹ}�=��R ���L
����=�WPl�`�ST
$ ��g���^�mN��yO�	��Ӭ��>��l�:=�"D�*�ڲiWN5!HM8�=�]%��̊ZB�Ćd��,�ˇ8���]{
Y)��pD�
|���_?˦���Ǧވ���#L"�|�ަ�tS�2����*�b_/���o�$�^w�����y�9��Y
�@L�0��!�E��Dž�6ן7�$y��\��%���WK[m�t��>,=i��*���i�5�?�� �VK�=jqxrX�/�E�[�
-��]f�e_^WHF�A������v
E��ڀY�.
z�@�ӳ�*ON
��Y����m=�0��
�M��7�!1wka��J��l�

-
!N�P^�v����b��@D�F�z����G��OL��B8�rR#����r���B�Cl�����>p
R0��g
-���tgk=��h9�}��O
-���N�Wi��X��jJ��*���!b���
�l'F�S����Ĉ��i��V�%h�~7D�-�VN�
8�u�x~t�\.�y���lQ��>Z,fG7뫖(N��ȴ�4��_~�C�<6%�
��X�Z;
-endstream
-endobj
-11393 0 obj <<
-/Type /Page
-/Contents 11394 0 R
-/Resources 11392 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11336 0 R 11337 0 R 11358 0 R 11359 0 R 11360 0 R 11361 0 R 11362 0 R 11363 0 R 11364 0 R 11365 0 R 11366 0 R 11367 0 R 11368 0 R 11369 0 R 11370 0 R 11371 0 R 11372 0 R 11373 0 R 11374 0 R 11375 0 R 11376 0 R 11377 0 R 11378 0 R 11379 0 R 11380 0 R 11381 0 R 11382 0 R 11383 0 R 11384 0 R 11385 0 R 11386 0 R 11391 0 R ]
->> endobj
-11336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 674.75 155.859 685.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 674.75 172.735 685.281]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) >>
->> endobj
-11358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 638.1 181.871 649.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-11359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.369 638.1 206.349 649.004]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) >>
->> endobj
-11360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 591.238 181.871 601.768]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
->> endobj
-11361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.369 591.238 198.748 601.768]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b) >>
->> endobj
-11362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 554.588 189.204 565.492]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
->> endobj
-11363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.702 554.588 216.999 565.492]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a) >>
->> endobj
-11364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 507.726 189.204 518.256]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
->> endobj
-11365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.702 507.726 209.398 518.256]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5) >>
->> endobj
-11366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 471.076 215.216 481.979]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
->> endobj
-11367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.714 471.076 243.011 481.979]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622) >>
->> endobj
-11368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 424.214 215.216 434.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
->> endobj
-11369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.714 424.214 235.41 434.744]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) >>
->> endobj
-11370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 387.563 198.011 398.467]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364) >>
->> endobj
-11371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 351.287 155.859 362.191]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 351.287 213.143 362.191]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
->> endobj
-11373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.959 351.287 247.723 362.191]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 304.051 205.762 314.955]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-11375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.577 304.051 240.341 314.955]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.322 304.051 292.086 314.955]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 268.148 166.449 278.678]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) >>
->> endobj
-11378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 195.968 163.361 206.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.1 195.968 214.907 206.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) >>
->> endobj
-11380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.244 195.968 280.51 206.872]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 159.692 167.466 170.596]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_afe22acf3f8e5b6c20880acd443350482) >>
->> endobj
-11382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.281 159.692 209.547 170.596]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 123.415 252.795 134.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) >>
->> endobj
-11384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.132 123.415 318.398 134.319]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 87.138 229.552 98.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) >>
->> endobj
-11386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.89 87.138 295.156 98.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11395 0 obj <<
-/D [11393 0 R /XYZ 89 770.89 null]
->> endobj
-11396 0 obj <<
-/D [11393 0 R /XYZ 90 691.331 null]
->> endobj
-11397 0 obj <<
-/D [11393 0 R /XYZ 90 655.055 null]
->> endobj
-11398 0 obj <<
-/D [11393 0 R /XYZ 90 607.819 null]
->> endobj
-11399 0 obj <<
-/D [11393 0 R /XYZ 90 571.542 null]
->> endobj
-11400 0 obj <<
-/D [11393 0 R /XYZ 90 524.307 null]
->> endobj
-11401 0 obj <<
-/D [11393 0 R /XYZ 90 488.03 null]
->> endobj
-11402 0 obj <<
-/D [11393 0 R /XYZ 90 440.794 null]
->> endobj
-11403 0 obj <<
-/D [11393 0 R /XYZ 90 404.518 null]
->> endobj
-11404 0 obj <<
-/D [11393 0 R /XYZ 90 368.241 null]
->> endobj
-11405 0 obj <<
-/D [11393 0 R /XYZ 90 321.006 null]
->> endobj
-11406 0 obj <<
-/D [11393 0 R /XYZ 90 284.729 null]
->> endobj
-11407 0 obj <<
-/D [11393 0 R /XYZ 90 210.9 null]
->> endobj
-11408 0 obj <<
-/D [11393 0 R /XYZ 90 176.646 null]
->> endobj
-11409 0 obj <<
-/D [11393 0 R /XYZ 90 140.37 null]
->> endobj
-11392 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11430 0 obj <<
-/Length 1877      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~ϯ�Sk1Ë(J�0 ]�a��fm���b1�6�*�M��w(���Ȏ�xE�$�"��;Wc����oG�.�N^
-�E(
-h�]\y��!
����8�C<�|��cA�H��v�׷o.^��x��
��8�rD���!���Y~��3�X~�aĢлm7�O<3���_G��eӳ�+<"P �HD�p�R�rc�y'
��eYfݺf����|��
��U%��e9/�i�4�u1M��rL��[<S�D��O��YY4j;��rL��V֍
$�d�H�}�Y"/�_�L)
-|�ME
w�9kym�-)Uj2'/	+�X�Bg�O3�)Z�� �v��I��=C" �M�\��T�T�ym5i^˫!�������؋�n�K�pDn�b��]%Ҳ^��I5��f�;�8�
{�\�G'�݄�w�q��&@�
-�
�_�t�&�јK�:��h���i��m����!?��/G,|�H�Q�a���Y�eq��M�z
2~���L�I��?�����RC����+�0kZ���
�`�v�֎�T��T��͢�d.
�u��	=�|&�
���G�יTea���*N
���.fuV��\M��=a���
-�(�Q'dqmp
�!
�<�Gp�)�:��������b��ɤ�u�Q���1,��c�J%gJv�]��?ZT��]/ ��'�L���U@,���JNO���8�Y!*0"����ѿD`.�?�� t(�e��
Pug��/sY��=����D$ ��#
-E�	�F઄H=& ��ji\Ӽ2@����q�*�I
x�=���g
-O�{�˪��4U��UYo@v�tm�Nz�\�Ԙ�V/We��Yy;��H�Uvޡ��
��Fs�~~�������=59xh}F�����iu=�A���q[\
��2��U�KM=-��������y���1?����-�.��s�]����E/���}Eo��Im�p�����
�W����]R�v&9%�iW�I
K�8{L�#�"��n��05ռ��E,�0u��W�����v1ƣ�F�x�`\�sq��H��`��.8���N�G
�c�Y�
޻2!�==e
5~
������'�	,��6q����K���*���
 
2�~�umt+�B�-�l`��k!h۟��a���*a����5�m;u���VY<sŀr
*[I���
�z�|ܿ�<ow�A'Ѯ�!=mp�8I���SS�;N�Z6����4��xk���|n
O��{���$�u�
A!���?K
#I����x��0͖�o�Ԛax�B�k�{�`
s
-��i�nr�a����b�n4�jDzk�`���Iw�"�f^�N
�Tq��ֽ��[H�>
]���i���7��!�������
 �Ʃ�[NJ?ڎΐ������G�vt�L,������๬g֪��@O�Ս�K��W�
��SE�6�!?pr+	
*dJ#>�o��
-�/ȲS_��Q��"�;�<K��^L�V&�N��@t�B8"����;b���P�Y�s77�ⴾM9��*[|���8�}�`*��cfWw7%���z�9�x��vȞgjm���=�x"DL����0�кZ��%��}/��e��C������h�|���Z�4�lcC}�T�^j�����6փ�h\�y��m(G]X��gg]ck��2K\�]��=�a��^s���C�h�������߳��Ӈ:�
�klB
H��f��p
�
l���?�pH �[W�ݐW|%�:��ۑX�w��2[�Ȥ�~��^��͏�៎9��z
�����Tuu��;� �Q���D{�u#�?�}�C���2
B���yo��NONnooѬA�"�j���'w�
-��#nX�������nmF��
-endstream
-endobj
-11429 0 obj <<
-/Type /Page
-/Contents 11430 0 R
-/Resources 11428 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11387 0 R 11388 0 R 11389 0 R 11390 0 R 11411 0 R 11412 0 R 11413 0 R 11414 0 R 11415 0 R 11416 0 R 11417 0 R 11418 0 R 11419 0 R 11420 0 R 11421 0 R 11422 0 R 11423 0 R 11424 0 R 11425 0 R 11426 0 R 11427 0 R ]
->> endobj
-11387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.299 697.644 266.673 708.548]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) >>
->> endobj
-11388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.01 697.644 332.276 708.548]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 664.066 196.347 674.97]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) >>
->> endobj
-11390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 664.066 261.95 674.97]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1 629.788 179.739 640.692]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) >>
->> endobj
-11412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.79 543.223 245.959 554.127]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-11413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.256 505.66 295.178 516.564]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) >>
->> endobj
-11414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.269 468.098 347.203 479.002]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) >>
->> endobj
-11415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 389.208 210.607 400.112]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) >>
->> endobj
-11416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 351.645 168.555 362.549]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169) >>
->> endobj
-11417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 303.123 144.674 314.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.173 303.123 332.409 314.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499) >>
->> endobj
-11419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.143 303.123 417.907 314.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.888 303.123 469.652 314.027]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
->> endobj
-11421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 265.561 321.152 276.465]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) >>
->> endobj
-11422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 216.043 226.666 226.947]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aba65a2c1a6d563f5058479bc07181b9a) >>
->> endobj
-11423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.004 216.043 292.27 226.947]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 137.153 154.079 148.057]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
->> endobj
-11425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.578 137.153 193.083 148.057]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) >>
->> endobj
-11426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 101.648 167.639 110.494]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6) >>
->> endobj
-11427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11431 0 obj <<
-/D [11429 0 R /XYZ 89 770.89 null]
->> endobj
-11432 0 obj <<
-/D [11429 0 R /XYZ 90 680.521 null]
->> endobj
-11433 0 obj <<
-/D [11429 0 R /XYZ 90 646.243 null]
->> endobj
-11434 0 obj <<
-/D [11429 0 R /XYZ 90 559.648 null]
->> endobj
-11435 0 obj <<
-/D [11429 0 R /XYZ 90 524.108 null]
->> endobj
-11436 0 obj <<
-/D [11429 0 R /XYZ 90 486.545 null]
->> endobj
-11437 0 obj <<
-/D [11429 0 R /XYZ 90 407.536 null]
->> endobj
-11438 0 obj <<
-/D [11429 0 R /XYZ 90 407.536 null]
->> endobj
-11439 0 obj <<
-/D [11429 0 R /XYZ 90 370.093 null]
->> endobj
-11440 0 obj <<
-/D [11429 0 R /XYZ 90 155.481 null]
->> endobj
-11441 0 obj <<
-/D [11429 0 R /XYZ 90 155.481 null]
->> endobj
-11442 0 obj <<
-/D [11429 0 R /XYZ 90 118.038 null]
->> endobj
-11428 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F107 2329 0 R /F97 1185 0 R /F11 442 0 R /F38 2117 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11463 0 obj <<
-/Length 2208      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�F~��`_�Z�93����m�Y������%�ln(�%);j����̙�HJ��6�E�H��\�s�s��s�x�?Ͼ�>;yN’P����I<'���9o]���͹�y��ܴ٤�W3�U��UY�.�˗M��..hWݫ�U���o�_r>���d�wM�9-� ,�L슫#D�=��GI|]�m;���s�g�pզ.�N��k�V͌Ǯ*W0�w��#ѳ\��|Ɓ��pB&`Q�6go�
��q<&�ع׋6�/$<
��ٿϼA朁NZ��
-��H���r��UْZA8��9s᳀��G/𾯬"�m��7՚��1/ee&7j������b@�T�B;<d���a �}�P�`�J��$�8�3?�Q�,�Z �_'"����F�B�QOiW�2�M���=�h�#��ϢP8s�=	�s/��0����c�נ�[ͬ�U�vU���
�E� ��a"���!1�o
��?�叆�$����P��jD���Ӫ�;p�pQ�����k�g�p��I.m�u��\
V�A�
z?l�ƛG$���vQ�6�W����bGo0u�X
*���ЏX(�]�d��6aҋ�;A�_�63�&�����.-Tٱ� �b}P<�Hb��D�'K��&��>I� \?Z��C���Z|H~�,Hl�������Tq:U�]vqQ�]��
���q̻}J���������q&�#��?��XIx􉫕chb��Fa�ö��Ɨ�\mι�a.-
}���;�����n{�������9�Ɠ���
L;y��|�B�x~���xa�Oᗧ(��x�X�͸��t
�wc��ns�@��c˝
-5�X�������8�ٛZ���Q�NL_0o�:Y���?�>D
�-�NI㍎q��܇2?���k�+եya��+ծ���6L{�q����"��MFĢ} ��A�<x
?�^c����(W3�d����y�.{����EdӇ_�"*`�zzD�X�V_SЈ}����2mռP���N4�U�4/|$䭡g0CBkܴf��{�J��+�����
-
�e+ǭf��ځ[���'uu�����O�0�GL›2ј8S?z�(����7je}��N OOw=���q��È�X
���J�y�P(
��gN�wyyC��f/)N�!K��tY���n�̐И7ey�_����a�i�V�O&U�!�CnxZ/@�E[�[�T�@w{�y�7�oZ�X
.��j8\/���ViQ�<4��zIi���P^����
sZ_M�n��G�Y���D9'$1P�CW�÷�d�"����콙�E����_�t3>*������P�P��C���N}�BmD��u�s��2f2�W��B�#-Ir�]c��C�
�WiI

-�/��dI���&� �����)�i�k
�厶l�OC�����cλHL
-&��=uLJzr	�1��.�&	��ms
-�*zfMU�|U�)mzxn�ƌXH M�4���!����L
;� �7C0�2�[��w�G�c��y�
�-^c�@9bn
��w�(%=��O1�+�i�Nm��F��6_W6�����h��.�(#h����6�VOR�Ĩ҇
9�����
<�S+�8"b�`�™9EfW���j[��~k2&bL#K��lр[fii�.w�}�9*�,7
���L����1�ш9��PV'^��
�"��"z�8�>r��b��S!
��š�p�>ߗI�yuiSSݓmLLSb����6_��e�ݨ
��UE�~~u��������0,�\�+^�������c��qR
:�uq��g����Š���&/�r��+���2z�N�.�����~��g���e/''7PC�6�2��2S�ɋ
�
-��Ө�d�)��V��H���_�����U'H�yn�������߉�c�Xâ�c�oP4_�?b��Ԡ�D�4��i��y���j�X[���z�{�h�MZ�/�]ե�����b��Tk->��#�����ez6�4Rm�7���8􊂎KO-�8��I3�Zm���Y

-�.�?_���~7��ҞB�]tU}����/o��y��]�l�dl���i$����[��&�>M�F�iU�Y�������
�4�-g�����(�$i�αo��{y9t r��o���8?���g��m˼nXޝ�uq~x�5�Gc�����jz3��F7Ql��o[-�
-endstream
-endobj
-11462 0 obj <<
-/Type /Page
-/Contents 11463 0 R
-/Resources 11461 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11447 0 R 11448 0 R 11449 0 R 11450 0 R 11451 0 R 11452 0 R 11453 0 R 11454 0 R 11455 0 R 11456 0 R 11457 0 R 11458 0 R 11459 0 R 11460 0 R ]
->> endobj
-11447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 645.522 180.54 656.426]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a057c4f38d0e8b8a146af731dbd91864f) >>
->> endobj
-11448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 645.522 246.143 656.426]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.548 645.522 353.814 656.426]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 593.974 178.239 604.878]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a2a7c225e4f50e2287216dcd77eaf27d5) >>
->> endobj
-11451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.576 593.974 243.842 604.878]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.247 593.974 351.513 604.878]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 542.425 226.034 553.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8691a3facce4d6f973b48743fa42ec42) >>
->> endobj
-11454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 542.425 359.442 553.329]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.167 490.876 156.533 501.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa55b32c299b7d7bec303f636b66ef624) >>
->> endobj
-11456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.599 490.876 309.948 501.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.899 490.876 506.247 501.78]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.612 360.693 316.827 369.54]
-/A << /S /GoTo /D (main_powerset) >>
->> endobj
-11459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.08 341.012 366.346 351.916]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11464 0 obj <<
-/D [11462 0 R /XYZ 89 770.89 null]
->> endobj
-11465 0 obj <<
-/D [11462 0 R /XYZ 90 704.1 null]
->> endobj
-11466 0 obj <<
-/D [11462 0 R /XYZ 90 440.4 null]
->> endobj
-11467 0 obj <<
-/D [11462 0 R /XYZ 90 389.346 null]
->> endobj
-11461 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F38 2117 0 R /F79 502 0 R /F97 1185 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11478 0 obj <<
-/Length 1833      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~��P_Z��$uP2� I�H�d����&0d��U�����}��a�+�f�}صz����
��k
[�F�g��_�B�Էf++�sC��p[Wc7��ϳז���>|�}���w���fŻ������+l)�C,�����3�bx����	k�.�,�:�ZG��p���a!"�����+�%������������rQO����^��&6��8�cyQ��V^�W�
W��+���e���.��<�y���YY��5�6��l�c(d���.F�c�M	�`�V�EQ����|Q�u�}�
�?"/
�=`���Р/�?b[�烚��7�$Oj�n�]������n��ŏ�s��m�"��)�3Ȑ�k{�Riq�3��+���#�0�R;�D�8 �xy�l�
��M� Ml��G�s	
-
Y�(��ԃ��!;S�,Rj�E��gH
J	�c��.aSj�!r}O.�OG��
-��*�[Dm�
D��6�w
Q 8���A
-��IJh�xo��ŗI�c���D-b�����V$�
�f��%�P��󨪒��h����ZI���PG����&���q�	�����J�`�8ǰ�u��z}��6��wXԬ���!��G�
��eE�!�P�|�澕с(|��x��X�t^�UR�&�AB��X)Y�Aܔ(��S�KC}7X���;!��C�q仙�fU�i1��x���J%H��.�Jw����)�W���=dMu��ښ��"c(	4�ǏE\Tu<�U]�(S)U=�J/�n�m�PY���@S�o�&J���%�w׉�Nq�0�o
9�������Ya��Ak>yr��n[�^����w��sL��
��&]�����v�����k����&�E���?M<o\�_��;�q������b�n[�r�o{�M\ֶŶCsT"ZoD'6�`��<[�f6a�x��0�(�Ų�
��Ƣɀ
�/
%�0p
��B�дȏ�2�\Ӑր#�2���;�ݦ�
���@@GXO��
�D�&�t��>�4=���<�
ƨ����	��Wf��rB! ��
��h�k�(�r;���bՆ�M|���;����j[
̸ �&0Ny�a�=WM��T�()R&v��f�պ,j��y�y0���1�1�<����̀Կ��@̵�;W
��d���
-��e∸�"�S�ۅ0�5*�d٤Q)�;��hoݲm�f��+aZ(Ju�۴��2���D�rU�AVۘ�v؀��U�U��h�GƋh�E��
-)
!c�:���+���M0�
�6l���C��8wR[�6�-C�w��~�@�I��s|/���`�ޥ�T��.Ё�����y�D�S'<��!�w��)CL�ڼC�K
��{��&:!W��!R���#
y�qI9qؘG�ݖ�{��n*�"��hB[����'՟M���>+D�����:���jd]��/�$�m��{E*j�	<ȋ��,�!��珛�
k�e}#�L\�0��!��c
-uD%�u`��e���1�z���?������ ��!��zW��F	�K)y��R���o��:`����g�
ML�e��k��1c�j��a�%��	tul��:
���AdL�C�z��K=�
�:�[%eU�ֶ
&��$p
-"�A�f��M�r=�'i�O媦4��K���Ow����Y���	t�v��fi�����Ë�D��^�.���@
��j0�+�
�
���`?u��O�*�7�C-�-���f�R�^���
��<��������T����Wod4t@
9�S�^O/.6�
ZV�ɓu���b�N/#����>�
����a
:�/�=�
-endstream
-endobj
-11477 0 obj <<
-/Type /Page
-/Contents 11478 0 R
-/Resources 11476 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11314 0 R
-/Annots [ 11472 0 R 11473 0 R 11474 0 R 11483 0 R 11475 0 R ]
->> endobj
-11472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.255 115.868 379.521 126.772]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
->> endobj
-11473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.603 86.288 349.878 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
->> endobj
-11474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.519 86.288 513.996 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-11483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 216.526 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
->> endobj
-11475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11479 0 obj <<
-/D [11477 0 R /XYZ 89 770.89 null]
->> endobj
-11480 0 obj <<
-/D [11477 0 R /XYZ 90 328.013 null]
->> endobj
-11315 0 obj <<
-/D [11477 0 R /XYZ 90 303.799 null]
->> endobj
-11481 0 obj <<
-/D [11477 0 R /XYZ 90 303.799 null]
->> endobj
-11316 0 obj <<
-/D [11477 0 R /XYZ 111.081 204.688 null]
->> endobj
-11482 0 obj <<
-/D [11477 0 R /XYZ 90 190.474 null]
->> endobj
-11476 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F11 442 0 R /F104 2226 0 R /F79 502 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11487 0 obj <<
-/Length 2200      
-/Filter /FlateDecode
->>
-stream
-x��ZKs����W�U�h���*��$�Ne7[q����b��PB� M�ߧ��-�9�0�t�t��x���?������m�
-�����B�E��%��K����5�/߭^FU
mޭ(^��ӣN�h��t[E��ݝ6����u��p���[B�b�
V��禌T�%)S��&�(�N��gE�)��z��/�W�.u�ϢF��蝮VD.u�P((_rɌЛ��o~�! /��@�\����x���
�������/8e�?[�|��|�Ʉ ���1b��?�|
Y��
��I���}WƇ\Md�@A��
1�F�����.��b��!D��i��(1p�Ԟ�0
g6E�N�G&e�8��Z�"FÙ��0eƚa�0%�5l��9�?�uwW��!ڸHJ���_���G�]\u�9�C�@1�h+�}Zdi�?��"�G�(f�5�B�-��=D8�j����\�e��P�=��6��΍&i�/^���p�A �
-�a��z��1󞠃Y|8�yL�	�)�KvFY�V�:�eQ�<����3mb�v�벝5Sz
-O�z��z��l­��R:�
-v�H��AmV��oνYiM�\�y,s���X��,�*�d��
�g�1�Hv��:��~c�
-/��
-�h�ͭ
-�

���t�G+���Ƅj��ѓ{!~����f���	@f����J{�@��c��
h�4�|��Pt(��Hc���7nŴ��_�
�)���15�h��>a!#��	�H�u(�`
#���t��A�����^W�m	ٷ��>=�|��������%|�-asmI'�7m!8���WO28�t tPZ&�	��\SNh &�/'̽��J�#M9������_����4��g��'���
�B9�W�d
-�I0D�	)���+k�"�/
-�-
-
p*]��

5�LGm4��9$$��
-	�^��e�9EXJ�y�
�˾ĊY��ږe����i0
�r^		^^7�n�?A��\����Y{^��whgq�]��W��p$�
���
g�V�Da�o�*�@�x`mUQOiBJwNm���k#-Tu�S�b���kJP �Y��O�ޛ��
���8�Gp��Ԡkn��;8�q��e)�`�`��'ʌ�Vb�l�?V�9
}]M';o���?����$�kp�:-�2��qb���B�b�I"~J��YBh0]B
�^�+�p�+P��٪09�x��j�̄Plt5e�
=W��s �eL�t�/�|pԒt�W3
y��
,��dG}�xMS曖!��
�S��C��`+���Ă
��?�
q�ٗLV�����C ��w�o����X�A�I� �iղcg
586
�/
-��0��e�D
->�
-���*
7:9C����9>�$�)��LA5�D�*�りqǪM����';��=�ԅI��>�i�0%�PQ���-.�hX�&<1�uv��=��n\-�� ���(a��Qդ��37�,�?��@!
���n��B�]�Ŵ
|d�$�ٞ�`���{[dk
���K�[`�<��1m
�,8��u�_�в�{��J.��}Y����I[�
�.&�^Cէ8g�.���|��UW�xX=O��͐!c$�,fC�sk����]�33,#k
-�t��`���Q���9G�Yۧn!7�8�s�CuvRMʩ82}} .�|�_p�L��_"<<�� @B�W��q���V�
��0`��=�
M��T�&�=�
�����U��r��V���E���}KjKx�Һ�}X�V�
�]��ms$xG̞c>z�سI�
ׇ8�u�;d�.�]�O#��-6�&�i�A|������Rs��,.H|5�/��hAfh�h�fW�
_�u)9꺔�]�
-�u]���s]�̞�=�2P'_�.72��1l��9G
08���K}
���I�h>�����ztW5�*��1�d�j��1����2���u2b�y	���o;�ʆ�z��P�'0��=2,:<6�����c3�~��v5{�t��˨C_3�����h���<
������\[��0��
%�"w
���,�l� ������}820�#��+ ��s���f��-V�[���'�]���G�OQq����t_U�����!�5����ן��F:���h�~�����K$  ���i�w�����5:�Bis��g�ϩ��8o���]�ɼ�l9����<�B|��� �
�
-endstream
-endobj
-11486 0 obj <<
-/Type /Page
-/Contents 11487 0 R
-/Resources 11485 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11484 0 R ]
->> endobj
-11484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11488 0 obj <<
-/D [11486 0 R /XYZ 89 770.89 null]
->> endobj
-11489 0 obj <<
-/D [11486 0 R /XYZ 90 721.073 null]
->> endobj
-11357 0 obj <<
-/D [11486 0 R /XYZ 90 704.266 null]
->> endobj
-11490 0 obj <<
-/D [11486 0 R /XYZ 90 704.266 null]
->> endobj
-11410 0 obj <<
-/D [11486 0 R /XYZ 305.44 591.298 null]
->> endobj
-11491 0 obj <<
-/D [11486 0 R /XYZ 90 575.289 null]
->> endobj
-11443 0 obj <<
-/D [11486 0 R /XYZ 321.092 488.268 null]
->> endobj
-11492 0 obj <<
-/D [11486 0 R /XYZ 90 472.259 null]
->> endobj
-11444 0 obj <<
-/D [11486 0 R /XYZ 90 353.119 null]
->> endobj
-11493 0 obj <<
-/D [11486 0 R /XYZ 90 339.267 null]
->> endobj
-11445 0 obj <<
-/D [11486 0 R /XYZ 360.931 204.426 null]
->> endobj
-11494 0 obj <<
-/D [11486 0 R /XYZ 90 188.417 null]
->> endobj
-11446 0 obj <<
-/D [11486 0 R /XYZ 140.132 77.486 null]
->> endobj
-11485 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R /F100 1387 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11499 0 obj <<
-/Length 1651      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_�a@5�w�F[�]�a��vM�))�fa��Jr=���(��r��ے�ؾآt:��s��n<�}7yq69>񱧑�Tzgמƞ�5VK���+>�p��cR!�%�U���훳Wo�N�ɫ���	�G�#��@������-��k#���)�V
�
�#�t���)
!��'�H $�3�1>*�*���X�O��}Sq؎��>q
�>5k�b��8X��j|���KU�?�a�I&�ò1a�/��"��l{�65YP$���<o�M,
����%�t��Q�0���_
�H�Y� [�����Yf���UR��ژ,7E�\#��]�\����Rܥ�5`��<
�l��2H�h{8�ͨPGX�E�[
��O��.f
��\v�ׯ�Tl�G�qѣ�ޣ�U-�

�����t&�H
u�1�l����z6��!���f�;
�����8
-cbI+͒�,
-����r׬TP$ vf�!Θc�$ϭ� �
�#G���Ƭ��v��U#Tq�=P�8&-�q�f&_G��N��ia|ӳ���d��������Q�h��k)LdV&.*C�q�!ֈju��e"���^`v�C�o�A�(�4#�:>��峳RI�v�d����4�RQ�nI�����޻*�pJ�b�t7��Ű�hE�@�����QV�`q�v��t�j�jmn��T�����"Y�I������S��ny�%��( �6~�A�ɨ` ���dU2�v*���}�%ИH[��F\wZ^5
-'Yh�ee����]�7�@W��u
&��^&���HP޲��~�º���lE�oE�X��U�u�U�D�[R��ӧv-�ՏT�t�����
�
��T����ʞb
�o�eO��ڲG�џSև�
ށJϠ��/��X3��W[�����Xgqޓ�
�T�A���(f�u��S2��mU��{����2����ۥ�I�]��eR����� 	~�С���Wp�E
��h!��B᱃
�b-d�_�h�w�B
� ���>�#h���l�� Z>����E
�@���� Z���0Z��;Z�I�7`��� �o
<���X��I^dSb�ݕ����n��#0����I/H(���84�[O"@^*�����=��Qm�k]�~Մ�QD��Y�( @�ĩ
k��V|�}�h�t@@ f����H��)������4�Z>�`�
���gS��a�	Rwec�>�g�
�?VQ[�*���i���As@��RIr$�|���?�l-��l���KJ6*d�&�)
�� 
-7}�J
#��e��
�ᨩ�G4�#��	��AtN�n�d��*���(ȫ�M��jqcb�
����`t�\�I�)��Ӕ�.0����_"�o	�ns�UpNT��)]��r����m|�b�V�džhWX
G��4vߛ�v�����N��Y�
�ڸ/�:�z�Pi�Fp�cG��b\��J���x��f`��?g�!�ܵU�ځ�{S����߇���ء߇��B`xɷ��7��Yh�����Ⱥ�Z�>q��1n�Kn�ol��� ^Q
U��S�7��!��Y��3�?5��ԩ��W_�0)͸#����M��E:?>�l6h��u
�
-�c��q�v�����I�Z��n<�n���C�N����	
-endstream
-endobj
-11498 0 obj <<
-/Type /Page
-/Contents 11499 0 R
-/Resources 11497 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11496 0 R ]
->> endobj
-11496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11500 0 obj <<
-/D [11498 0 R /XYZ 89 770.89 null]
->> endobj
-11501 0 obj <<
-/D [11498 0 R /XYZ 90 721.073 null]
->> endobj
-11502 0 obj <<
-/D [11498 0 R /XYZ 90 590.164 null]
->> endobj
-11468 0 obj <<
-/D [11498 0 R /XYZ 90 566.393 null]
->> endobj
-11503 0 obj <<
-/D [11498 0 R /XYZ 90 566.393 null]
->> endobj
-11469 0 obj <<
-/D [11498 0 R /XYZ 90 491.344 null]
->> endobj
-11504 0 obj <<
-/D [11498 0 R /XYZ 90 469.477 null]
->> endobj
-11470 0 obj <<
-/D [11498 0 R /XYZ 90 396.465 null]
->> endobj
-11505 0 obj <<
-/D [11498 0 R /XYZ 90 374.598 null]
->> endobj
-11471 0 obj <<
-/D [11498 0 R /XYZ 90 301.586 null]
->> endobj
-11506 0 obj <<
-/D [11498 0 R /XYZ 90 279.719 null]
->> endobj
-1471 0 obj <<
-/D [11498 0 R /XYZ 90 149.033 null]
->> endobj
-334 0 obj <<
-/D [11498 0 R /XYZ 90 138.379 null]
->> endobj
-11497 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11514 0 obj <<
-/Length 1930      
-/Filter /FlateDecode
->>
-stream
-xڵXYo�6~�_!�@��4Q�h��H�n�}rC��^5������wx�+i����E��Ù�!v�
����i��|
`'B�O}g�q"�>A�g�:7.� /Wc�^/	v㦈o���U�ۊ��o��]]}�Ƶ��n�$tE+9�!+�oߋ�O��*���o/_2�"
1�Q ����S&F��EÌW�b��
���u���7sxR��yܶZ�zQWu
wB�sV�Q�#�Y�"����b#��D��p�0��^�������B��
�
�q�NR,n>a'��F,
-�G5�p<��?w>,�\�g����9�W���\��E�M��޻
��+�Ίzh�׏�$��.��w��\�0ׄp��fr��Ӭ������9ݶj�~�Te�5p�U3��Ɲ��,	wwI.�ufUw������Rm-"k����
Qv�:<=�
l��� �]���r�����Q�[��EVQ�|�iEke �L�D}/V�UC��1����)m��U����
�1i�TŰV
��ZR�>Z#?bLsq��k����c!
���gb�#�|:�f�!:�:GۭM
-�!*ca5�a
��>c�Cv��˘��>w^
��b�t������T# �Co�\9kE���<�������	
-�7ɨ�
�d��n*�Y*�ى7�Q��E�Ah�Ƀ�������*���VE���l�N�^ų��L�>G��3 8�Nf�+@�g�t
[SH�(��9H^E���
����]�%z;�Dq'�^��rR;	��qؤ`�v")427����49��$��I���c������ rB���T(S�{�Q��M<�M��݀?,���AJOlz5h�d�g��Aeq��wG<a�U��V��8��WD[�"
q����2B[��/�M/s��͒�>_�PU�
�.�
qe���� ��2;�
�
t%Z�k��;��K�Y��nH�I��/�I�⮭ѱ�����%
�cPf�
�U�K���*�6�_�!������L'3�{W�eڞX^���4�s��o:=�
����j�����~L���RD�O�<��)Nw��V���%�,E�
�~��l�&D�oQ�#f��K��P�|� ��<I(��9��a@?�Cd�;��_W&�
-�nTϡ
�6 �j���]-ʸ���=_y�y��ce=aF�������bW*���E'�����
8��x���֖f���,�c�%�� qV|���'���q[|�����dr����C�bi�a���*�N�u_�
7>�v�P�h������l]fP�4�]+�i`I��t����{$_G��a�0j��f���-)���L� 
”��*$WI_��7g&ž=�UdeVd��Ԫ�Ѐz���r
�ĵ�Ҍ%��%7��}-�W�/d��eƁM
m$[�|ng�7
P,�B5z����	
X���n�]�������Ǎ����O
�ꈃ�L�&�a�p�ǜ��}���v�~��9�T�TVf��V���&
G���b���X��`�**�#V�:|8#��e������txn[�QCؑ9��"��T��O��\WB�0�Vo�����X*�i%d��|�L˜�Đ�e�öMU0CP<�4�
��~� �m?$;����
���S�
�
�Y2Ľ0�
����^f_�����<kу�1Y�~%
���gdz���f/�U�#�',(S�8
�N.<������je�i_�᪅Y1ئE�/����2y�`더
������t�WW��B#
ѽNzB'�ע�
z�Iy�#D�?�����i�i�;H�+���R�=�~X@7��
� �(�݆�-�5��^��Ę~�
���%�I�wq	�����T%�֦,T~�6R�y���zg��A�m�n(���0@
[�n�����|||DI��2��u�u�_
�&��@mX%�.����J,�����f|�
-endstream
-endobj
-11513 0 obj <<
-/Type /Page
-/Contents 11514 0 R
-/Resources 11512 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11507 0 R 11508 0 R 11509 0 R 11510 0 R 11511 0 R ]
->> endobj
-11507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 479.96 233.78 490.864]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4) >>
->> endobj
-11508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 440.213 197.875 451.117]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6) >>
->> endobj
-11509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 378.548 241.529 389.452]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) >>
->> endobj
-11510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.763 245.988 304.184 256.892]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-11511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11515 0 obj <<
-/D [11513 0 R /XYZ 89 770.89 null]
->> endobj
-11516 0 obj <<
-/D [11513 0 R /XYZ 90 721.073 null]
->> endobj
-1472 0 obj <<
-/D [11513 0 R /XYZ 90 620.366 null]
->> endobj
-338 0 obj <<
-/D [11513 0 R /XYZ 90 613.208 null]
->> endobj
-11517 0 obj <<
-/D [11513 0 R /XYZ 90 499.381 null]
->> endobj
-11518 0 obj <<
-/D [11513 0 R /XYZ 90 499.381 null]
->> endobj
-11519 0 obj <<
-/D [11513 0 R /XYZ 90 398.087 null]
->> endobj
-11520 0 obj <<
-/D [11513 0 R /XYZ 90 339.776 null]
->> endobj
-11521 0 obj <<
-/D [11513 0 R /XYZ 90 276.987 null]
->> endobj
-11522 0 obj <<
-/D [11513 0 R /XYZ 90 165.964 null]
->> endobj
-11523 0 obj <<
-/D [11513 0 R /XYZ 90 143.452 null]
->> endobj
-11524 0 obj <<
-/D [11513 0 R /XYZ 90 143.452 null]
->> endobj
-11512 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F56 363 0 R /F21 2356 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R /F100 1387 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11532 0 obj <<
-/Length 1831      
-/Filter /FlateDecode
->>
-stream
-xڵXY��6~��P�����CԱ	
-�ݴHڤ۬����⮅�p$:���;�dJ�n���0��Ùpp�������O	2��4�wA��$���Wo�(����/��d1���?��j����F�-���p@���4�ԋ7�pP�� #���A
�AD�W���������YA��=�[�\���������و�
t��od�6���D�˶S=ޙ

!�F���w�lDo8��Y

���}^��t����Z�����:�|��j�̿�N��ׇ�X�qnL�O���bL���7��Q�	3���G��z���+�I���7��=[�B��hB�U�%�si�K��������m.O�f���E9�N�FՉ�8��F/��
Ĵ�D��	�)��M�,�˦��?�YT��|�O���KQ�9�"U_:
E[ö�-*Q�I՞�ԋ7���b� Ff�$B����-�s߻���
k��f����+�KȰ��V�]l�l྿���
a��.1AD�4
붳#�����Ԅ����%� p���F�)L���Q]
� j�$>./!�b�L�3����j�1bŢXii��k���LG'��^(��k
�@�����@h��۽H��sv�H�]�[
���Z��zFWc��SyQ��Q���Й�H��٦�y({uH%.x��>t�D\
�
x�^��g����2R�ܪJ��pШpP�'H$a����~*
�yn�ƨ�=�)�Ι�a
W��
\k�l?I;+�2@ފ�(��h�^�$y-�G�OZ�Ր%8���s���[2Y
 ��
w�*�R1�z�MAےǓ���)VV�d(�������b����$>}�e����M~��0
Ӛ����̓�v۹�ʥ���ʮ��R�UU��<<څ!�J\��
H
l���3�S뚷��ԛ�`��BۭeM(*tXQs�VMD���g�8������K�ö:nE���-o��;^^��y�}�z��&����$E��z���AC`��"��xxE�FQ6��w�cCye��h
���.W*�u7�(f�oX�E�߯�
�v�6���d�b�,1I9�H�d��
�_{u��0�mqSV�\��@^C��t�d�U�l�}a
��$���t�QjEP�:?�FzGi
��Ļ�,Aaka{���mUn�5/E}+��?����� ��!�"������3q����c���2ɂ�G:Ɓ3"��2b���w���~���c	!!�����+�
LeY�8�?i������߆�2���2����](D� Ҏ�s7���K	w	��P�1Ϗ0v���务
]zoս� D3A�
��&f�zOGg�Hp�MKؑy�j6RO�s=(&;+O�j0J����`I�H�>
� ��<=�x0�-fx��
l�c�L�
��/�̔f�ʈ@J���h�؜v%d^V.�
���9ujNO�R��)�%��
Og(ot[���/U3�� !M���F
-
-~}�\��4$l�Q
-�YmO��F���O��Sk�SĦ/�y#�|b�8ʭ��;6�BJw�����;��(����q�m��$L�2.
�����
�ѩV}��y�CC�i���~2/\e/�F���g�0c���,ך
;XUUG�DQ
G��1�
`8u��nT�������\ag}F���\)�~��~��o�1v���x
~f_���}ڂE	 �_A��ijt�b�%չ�:
�����ы�%�M
/�f�
]��>)U�zF`�΄�Nj7¹̘�!p�_����]��ޭ��ˋ���6=�7�C������
-� .�Aɐ
��	�*�\��3'���Q
-endstream
-endobj
-11531 0 obj <<
-/Type /Page
-/Contents 11532 0 R
-/Resources 11530 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11525 0 R 11526 0 R 11527 0 R 11528 0 R 11529 0 R ]
->> endobj
-11525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 323.493 188.41 334.024]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30) >>
->> endobj
-11526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 277.292 197.875 288.196]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1) >>
->> endobj
-11527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.838 196.159 242.368]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) >>
->> endobj
-11528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.134 86.288 268.555 97.192]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
->> endobj
-11529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11533 0 obj <<
-/D [11531 0 R /XYZ 89 770.89 null]
->> endobj
-1473 0 obj <<
-/D [11531 0 R /XYZ 90 479.942 null]
->> endobj
-342 0 obj <<
-/D [11531 0 R /XYZ 90 468.983 null]
->> endobj
-11534 0 obj <<
-/D [11531 0 R /XYZ 90 345.58 null]
->> endobj
-11535 0 obj <<
-/D [11531 0 R /XYZ 90 345.58 null]
->> endobj
-11536 0 obj <<
-/D [11531 0 R /XYZ 90 254.044 null]
->> endobj
-11537 0 obj <<
-/D [11531 0 R /XYZ 90 182.812 null]
->> endobj
-11538 0 obj <<
-/D [11531 0 R /XYZ 90 118.631 null]
->> endobj
-11530 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R /F100 1387 0 R /F21 2356 0 R /F11 442 0 R /F79 502 0 R /F97 1185 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11546 0 obj <<
-/Length 1499      
-/Filter /FlateDecode
->>
-stream
-x��X[o�4~�_		��؎�K�H@)b�Jewؗ��$n'�I���{�c;���Ex�i����9���%�փ��V�nW�+[!
-=�Y�{+Ė�B�=�%֭M0��Y��}�lGu
��8�evڋ����]
է���vH`�R��2�)��wY�4j�F܋NF1�K\�um�·������+�a�(C8�+�W�����WFnX�N(�u�7�ޮ~^�>�\r�N��Lꬻ:q����]��!Eu��@P��
�ܛ(BD�jE^eQ+���
-�L�-m�~�$&F�p7�E�B.#�%����
~<f��Op�]�b,F.&�G���녛%4��G�2M���B���X��ESX��+
=
��Q��{#�Cl �[G|��9\ d/�%.�{�κ48��勋J�Ux�h	K�ڐ��1�y��T_���y�^[B>�`�G�4�y�.�kFB?��$F	�]��בф�M�,-�u ���D�i�(���u72�jY���e%�-u�ܛEU�U��pr�xP� 9`#L%؉�(�VӚ��2�R�PdB�_�!���΁��Cb�3"Q�,h!
 �ϱ��Q��"H��
	�P���^�j��x��N�
Cy?s��IC>�>�io"D`A
F~x��	\i3���[>�U98jDYSjʈv���
-��J�8
��#7 �A��|W١�T�V�����g�� J}sw
������1��7��e
-1>,D닙ʩk�T2��c��+d�#�C�C�{��m����4O۽�\<��c���<�Bf�H�ɺ�g4�/��t(��}���������2���5�:OU���O�n�
:iUeh��k��B���j\@��aHy�,f
���4}��~q�� ����G}
-�
-�>/f	�um��}�qvH�
@��I�ϵ�1����Q�y�Z�:�#�� J]Ͳ��.Kc���$՜�aW�yF<�u{�2����l�hA9.�zn|�
��|���J�R�������D�
-?Sj��`�Ǥ���ю�4d&�j�q�<�9p�9��
�I(!]�#ը�v,B�6<���C!6�ː\�nsC����>�
/�Äa۞�2ez���8K�p�mG@�s|f�)����a2��F��s�'�vC�A1�	G���/E��	եh�:��Qv�(x��b:���bW��+
-�IQ �| 3��
�ŭ:������%�;<d�Z��5)�:*�TU���4:$9%L��+�Hi�z��=�v�@�Ds;2�*;e���
��p~W

-
b[�G�47S&���
������z3�������
�*����BۗV��l���m����ouHo2�$�y�
�Gl��M��\{��e{�1�l���텟-�� �,�0��^�x8
���Ȑ魉��^�i/��g��:^�������*��!y�,�Py\��[a
-���7ˬ~Zu�� ^
q�κo��b�9
�(nСH�����<
FZ`�{%}��e-L��üKO4��O�J��
-endstream
-endobj
-11545 0 obj <<
-/Type /Page
-/Contents 11546 0 R
-/Resources 11544 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11540 0 R 11541 0 R 11543 0 R ]
->> endobj
-11540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.418 340.029 204.56 350.56]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b) >>
->> endobj
-11541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 298.476 194.963 309.006]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) >>
->> endobj
-11543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11547 0 obj <<
-/D [11545 0 R /XYZ 89 770.89 null]
->> endobj
-11548 0 obj <<
-/D [11545 0 R /XYZ 90 721.073 null]
->> endobj
-11539 0 obj <<
-/D [11545 0 R /XYZ 90 703.659 null]
->> endobj
-11549 0 obj <<
-/D [11545 0 R /XYZ 90 703.659 null]
->> endobj
-1474 0 obj <<
-/D [11545 0 R /XYZ 90 470.99 null]
->> endobj
-346 0 obj <<
-/D [11545 0 R /XYZ 90 462.703 null]
->> endobj
-11550 0 obj <<
-/D [11545 0 R /XYZ 90 359.979 null]
->> endobj
-11551 0 obj <<
-/D [11545 0 R /XYZ 90 359.979 null]
->> endobj
-11552 0 obj <<
-/D [11545 0 R /XYZ 90 318.545 null]
->> endobj
-11553 0 obj <<
-/D [11545 0 R /XYZ 90 256.396 null]
->> endobj
-1475 0 obj <<
-/D [11545 0 R /XYZ 90 145.814 null]
->> endobj
-350 0 obj <<
-/D [11545 0 R /XYZ 90 137.527 null]
->> endobj
-11544 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11580 0 obj <<
-/Length 1182      
-/Filter /FlateDecode
->>
-stream
-x�ŘYs�6���)��J3�?�w&i��j_�"a	
��m�� AZ�n�v^$
8��wAh�,h�ѻ
�F�
��ص��V -�	 q�]d��
�|�l�(pU���՗�����7�]����_�W�B� x�&���Њ��v�[�U��r���c��W�!���3�B0QM�t]w�r�c��� bRw�Ø��n�¾�EJ�F[^���Um0���,�i�V�w��с�+\G��1p
l
��k,��)-�jȼ�^�E<��Տ"v!Ny:���ܼ���q}�U�"V�������Ә	��̎O�v �����j�Ә��h����˹Y��"vol
`e8�v{=+e^��}���g�D�
Z���
-]\d�%�I=�;�{}f�����B�o
�i�wj�ͱ��7�4�������_�'�LYQ__7#�
r��4ڽ�Ӏ��G<a������˒Ǒ�(�K�C�Z�"���YY��-$���'.V��4bzk?icGׁ�l��u3���-V�'@10���X��Oq� ٸ��w,�
�J���
-֚����ɲH��=�����T��B�bm�n�%9�������[8_�4d���/!�<�f,��	B���%K�8Zc� \��}ੈfD�ҡ�AIpa+9�b��0'��� ��SՔ�$+��#�V9~b��t2]�N�}A�xإjC���]�_���xm�y�e��M�hc�Ҏ��jڄ ����]E�'Ɋ���T���������
\�������S����=��НfY��t���y]�Y�3��4��r��1y,�Mګ
�J.��E'י7R
b��ׯ9�3Z5�N��ф>M�ɥ/*959O�d-Cv+=��6�М����w�#y��I�w�b�Iqt��5)����@��r~[��n�!�>@�n�&��7��VkөiY�&��7U^�T�*�͑M�Ue�x�z��
Ka�
�V7l��c�
��>;|�
�
A`���<S ���v	Ks"M��Ͳ�Z�k
q����_㪯p�y������:Q�U�tTq
���ޯ:��"��6�s��O>-�_
V�6 �o<�eSojg?�X�
 ������VE�
k�G��Vs�Q��F�
�a�|.e~1=>>�P�2�y�
�y<ZOUK� <o�V��j3�z��u(
-��wl5^
-endstream
-endobj
-11579 0 obj <<
-/Type /Page
-/Contents 11580 0 R
-/Resources 11578 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11495 0 R
-/Annots [ 11542 0 R 11554 0 R 11555 0 R 11556 0 R 11557 0 R 11558 0 R 11559 0 R 11560 0 R 11561 0 R 11562 0 R 11563 0 R 11564 0 R 11565 0 R 11566 0 R 11567 0 R 11568 0 R 11569 0 R 11570 0 R 11571 0 R 11572 0 R 11573 0 R 11574 0 R 11577 0 R ]
->> endobj
-11542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 681.932 177.053 692.836]
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
->> endobj
-11554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.284 590.279 254.064 601.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
->> endobj
-11555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.206 590.279 384.393 601.183]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 498.626 149.098 509.53]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
->> endobj
-11557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.914 498.626 218.557 509.53]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 455.138 179.554 466.042]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 455.138 189.795 466.042]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
->> endobj
-11560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 411.649 179.554 422.553]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 411.649 250.666 422.553]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) >>
->> endobj
-11562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 368.161 191.718 379.064]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 368.161 288.852 379.064]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) >>
->> endobj
-11564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 324.672 191.718 335.576]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 324.672 303.079 335.576]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d) >>
->> endobj
-11566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 281.557 150.493 292.087]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e) >>
->> endobj
-11567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 189.53 203.075 200.434]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 189.53 296.324 200.434]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
->> endobj
-11569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 172.592 309.384 182.498]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.437 146.042 239.129 156.946]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
->> endobj
-11571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.945 146.042 330.725 156.946]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
->> endobj
-11572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.206 129.104 329.585 139.009]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 102.553 225.212 113.457]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) >>
->> endobj
-11574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.182 102.553 315.981 113.457]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2) >>
->> endobj
-11577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11581 0 obj <<
-/D [11579 0 R /XYZ 89 770.89 null]
->> endobj
-11582 0 obj <<
-/D [11579 0 R /XYZ 90 703.223 null]
->> endobj
-11583 0 obj <<
-/D [11579 0 R /XYZ 90 609.667 null]
->> endobj
-11584 0 obj <<
-/D [11579 0 R /XYZ 90 609.667 null]
->> endobj
-11585 0 obj <<
-/D [11579 0 R /XYZ 90 519.917 null]
->> endobj
-11586 0 obj <<
-/D [11579 0 R /XYZ 90 476.548 null]
->> endobj
-11587 0 obj <<
-/D [11579 0 R /XYZ 90 389.571 null]
->> endobj
-11588 0 obj <<
-/D [11579 0 R /XYZ 90 346.082 null]
->> endobj
-11589 0 obj <<
-/D [11579 0 R /XYZ 90 302.594 null]
->> endobj
-11590 0 obj <<
-/D [11579 0 R /XYZ 90 210.821 null]
->> endobj
-11591 0 obj <<
-/D [11579 0 R /XYZ 90 210.821 null]
->> endobj
-9502 0 obj <<
-/D [11579 0 R /XYZ 90 167.452 null]
->> endobj
-11592 0 obj <<
-/D [11579 0 R /XYZ 90 123.964 null]
->> endobj
-11578 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11605 0 obj <<
-/Length 2065      
-/Filter /FlateDecode
->>
-stream
-xڥXYs�6~���SK�#O�}hst�g��yI3
��,����������%�v�O��b�o�z7
�~8�����mL��������R/RF��>���0\,���`ԗ�N^�[p�W��V�ky�s��e�py�a�r ��P�%����Mc���F�
����`�q�� I��~<{su����nj
!�/۝}�D�5L��Q"�Ļ�D;/�������g�Qu#�mޫB�jmz{(�6��%�xF�}�[򀀄f�_4��V�U���֍Tc'emeewj���x��"��i���
�H 8�Qj�<
S}\���]_^VM[+�3���dh���Z�ހ��^ղ�j�#ءבQA�A��7�'a1I��Ѣ=fDi^�A�����a��2�T3�=�T/Z�z	�(�2MH�ޒ�$a���C�?XG�
,�
�X2����K�I@ЀH�������q�
�4s��IO�|�\��(�_�O��=���$C��VQ�Ke�]��ZYX7�
�kU�卝)����ԐS�cz)RB!^ E0>�R��<�Z�2/\��VMV�{��G]F�-�"L�u�Se�;�7�����p7�'�!�����"�e$B�;�i�7P���A�$~���Io!��B
��א~ʶ1���dײj���
�04ʛ�&����J��I5��) �W�nU�����{mp�2��F�[^:A��Рk�]Z�&��A�����ӹe^�ḳ�����tȋ�ٵ�
����\ ����E^*��b�C�
-m���
�K��Ff[�~��a_�pF��k�z�pךı�z0+�|ʪ\�����N��
h,��5ˠX@!p���Σ:B����ް�Z�_��xuFͬ��Ѿ*�&�(:�SCep�>�Q��i�JO���Y�������xh���q�֌�����������h��Xj�q0
K����p'�v��¯,�����4�Ŵ��J�ܭ��^�T�0�������TN"��A�c+w<F�&��u�Vʆ���lh���9��oFyxbk�1>E�N��
!HH
����$P͋p��ֲvP��
-H�̜�PV��iɀ ��N�s�Ĺ�f�bI{F��`��Ǻj1a���D��Gv
-���)Y��a�I�P#
 ����~���d������:�K��V�٫�OB0�z��>�2vb=΍)��6��u�K� 8�2�d
_�N
辮>`�]B�Lx�Bv�

-C�;�!C��]�JZ�ZZ��:?7�B�7yci'��ʝ.0$��(���(H%�AQC�l��k���MU�m�+R�1�+=UW.
�b>D]�����:�̐��D��9>�rdž?ͦ��Bz���W@%��� �2�*���}�2?Cs��D�N����34���<��`L(�#hB�
\��8�K栴aƃ�u���
\db�t��kn yA��mb?t������ڨk��h�i��
цs��������kf�I����Ϲ=}��S����È���m���ZJ�El�rs�r��3�����{4���PZ�j��m�v���9
�@$�no��s�>�-<t�� �8����8�����96�ߌ$�9��y�	�-?)h��Q
W��"����l(�Dp�p"�{����6�P8.��P��&�f��^�6���(�9x)��c�A��jX�O��x�IB�~I
���gj�=���؅
:�� i�!�7
-H�7��Zյy9uяw�����)e�O
[A{��w~>��9%��8\4Sj}�-�
! ����C�N�_���C7B��?-
Iy<
���~
C��x6,�m�w�/�p�E�$8!h�/���

����{����
�aT��}vP�W�.�Q9�x]T
����L�eUfE�`�j	����,�3s�$i����so�X�شGƷ��
1�x�B��Uk=�Êm2j��?
�$�}���E-��s�$ �D�|R��!��K�sߐ��1��b�طcpv�&+��o� N���i~-D�ϟ���^��o��,�9
�6�{��k����jA�rw��?��d
����f���m�������
�r(�}M��b�/.�Ā
��q�d��i^XLU�ɝ�#��#�1M
-endstream
-endobj
-11604 0 obj <<
-/Type /Page
-/Contents 11605 0 R
-/Resources 11603 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11575 0 R 11576 0 R 11595 0 R 11596 0 R 11597 0 R 11598 0 R 11599 0 R 11600 0 R 11601 0 R 11602 0 R ]
->> endobj
-11575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 656.746 226.034 667.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a56a9fd5bee6f87ae9079aed0bc3de31a) >>
->> endobj
-11576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 656.746 356.363 667.65]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 616.517 151.051 627.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) >>
->> endobj
-11596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.866 616.517 190.054 627.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.867 616.517 235.055 627.048]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.961 530.463 361.149 541.367]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.006 455.554 331.193 466.458]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 205.308 465.948 236.152]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
->> endobj
-11601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.628 75.394 201.531 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
->> endobj
-11602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11606 0 obj <<
-/D [11604 0 R /XYZ 89 770.89 null]
->> endobj
-11607 0 obj <<
-/D [11604 0 R /XYZ 90 703.873 null]
->> endobj
-11608 0 obj <<
-/D [11604 0 R /XYZ 90 575.983 null]
->> endobj
-11609 0 obj <<
-/D [11604 0 R /XYZ 90 350.713 null]
->> endobj
-11593 0 obj <<
-/D [11604 0 R /XYZ 90 327.078 null]
->> endobj
-11610 0 obj <<
-/D [11604 0 R /XYZ 90 327.078 null]
->> endobj
-11611 0 obj <<
-/D [11604 0 R /XYZ 90 189.767 null]
->> endobj
-11594 0 obj <<
-/D [11604 0 R /XYZ 90 166.938 null]
->> endobj
-11612 0 obj <<
-/D [11604 0 R /XYZ 90 166.938 null]
->> endobj
-11603 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F79 502 0 R /F8 537 0 R /F72 400 0 R /F100 1387 0 R /F104 2226 0 R /F23 364 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11636 0 obj <<
-/Length 1662      
-/Filter /FlateDecode
->>
-stream
-x��X�n�6}߯P YY��DQr���E����	�D�Bu�.��~}G"���ڍ�$E��$r8<��
�ظ1��������c�C�C
�����m1�B�rn{��|�ڰ
ρY���_�����6��b�׌�'li�!�A2����^�60�<�X��æ������>�
!��&��1d�
�1���H��\P����P�s&b���N�*�R��2
�D��߾j�����e{����*<>�ʪ0�;~"�<�?Y.
-�ʊ���	��u�0�١��O���G���!�0��V��q2��\O.'�[��Lxb.l'�Ҳ�V?�
��E�_���:.A̶����:6�L�]m��� �vp\���r(sz#�������	�%g|����F�36G�tؐR�(�ʲX�E��Ӏ? d	B9�=rg(�_3k;,�I�	�rlv'�ɝ �F
�!�/�'�i* �����W`eE(�(�QO*�V&ezw%��v����V�+
�^��H���Fj� �5)k��#��F�
�:���,�S�6�Y��R,���S�A
d[.�=C+'?Qʆ�.[��<F��
' ���(*3��0�[�9Jf���E�/OM
-�ś[��mtU�����/�ry.��_l8�B��4L�r�3�j�EJm/��`�|��0	�i�(�`�t�F�͟�4��PL�<f!�u���-����}hv,�\�+2�L�ƒH$�
-s[<���(��z'�+Q

@9�w�d�	
-��ڣ	YۊU��:�|4	!C*GZ�9FGoϦ��{�
�8v������ۨn�y^G��u��E�WE����r
B��x�qa4
�
~�\�0ldm�'�ɚ�36e���A���MbQ锵�rW��2�qQ�$�V�
�-K
�]2_�(��b�#ț�.`~�'m�C'��L�5S����_��
��
���!JGv�&�����t���P�&�و��]��SV�M��%]�^�G���g!
-J����
-%��e������~ ��̃9xGh�N�g���t,����lE��1(F)i%�J�Z�UR����)f��t�S�۬{�����b�E��{���@Ѹj�>Qx8�������w�׳�7U�W�Wc�;���ډ�`�[㾡�|s����Q
-���z�����,�n$�
�A��2��e���>��3g��k-����V�C%G�BĶ�M�Y����TZ|v��ի�_:�ё˟�ם��f_�r"�N�u�v ��js 3�,1
�$v��B~�He!0���t��~��k
0"(u�����
$�<�T��]�oۭ]��C�ݴ���xL����u;lNB�u/,�����N:�rE-&�k��le�"��� ���:~2�
a��ǵ���=Ѕ
�A�l;�{�:��.b�H�b�,���=�X�s/��(]^m*Q��bF�^���aXC�[�UN:�>A�G�o�Q3�0	۶�
$L	b�G��p��]�e�]�"����p�?��C�<�
$����S���
���r����*��<���9�d�Xw�7o��aWNs��ʋg
��9b�;��;m[�"Q�{��RJ>��)��
~
7�^1��Ok�
�=��+�b{�ňD����p.t���i����ڋ���.G�h������h�^��Du����<��v/qzV@ܼ3��-�@;A�ˤ��hL�?؅�
-endstream
-endobj
-11635 0 obj <<
-/Type /Page
-/Contents 11636 0 R
-/Resources 11634 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11616 0 R 11617 0 R 11618 0 R 11619 0 R 11620 0 R 11621 0 R 11622 0 R 11623 0 R 11624 0 R 11625 0 R 11626 0 R 11627 0 R 11628 0 R 11629 0 R 11630 0 R 11631 0 R 11632 0 R 11633 0 R ]
->> endobj
-11616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 394.543 170.687 405.073]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) >>
->> endobj
-11617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 355.933 170.687 366.463]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a6faffe6889615dc0491bf86dd601172c) >>
->> endobj
-11618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.024 355.933 233.211 366.463]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 317.323 170.687 327.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a5842c4add70aabcc093269aea7a348e5) >>
->> endobj
-11620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.024 317.323 233.211 327.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.297 317.323 309.485 327.854]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 278.34 179.554 289.244]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.052 278.34 250.666 289.244]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) >>
->> endobj
-11624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 240.104 158.044 250.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb) >>
->> endobj
-11625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.86 240.104 197.048 250.635]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-11626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 201.495 176.505 212.025]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915) >>
->> endobj
-11627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.408 186.623 450.955 196.528]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
->> endobj
-11628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 151.552 191.718 162.456]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 151.552 288.852 162.456]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) >>
->> endobj
-11630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 112.943 191.718 123.847]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
->> endobj
-11631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.216 112.943 303.079 123.847]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) >>
->> endobj
-11632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.114 74.707 150.493 85.237]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c) >>
->> endobj
-11633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11637 0 obj <<
-/D [11635 0 R /XYZ 89 770.89 null]
->> endobj
-11638 0 obj <<
-/D [11635 0 R /XYZ 90 721.073 null]
->> endobj
-11614 0 obj <<
-/D [11635 0 R /XYZ 90 704.266 null]
->> endobj
-11639 0 obj <<
-/D [11635 0 R /XYZ 90 704.266 null]
->> endobj
-11615 0 obj <<
-/D [11635 0 R /XYZ 90 642.631 null]
->> endobj
-11640 0 obj <<
-/D [11635 0 R /XYZ 90 628.171 null]
->> endobj
-1499 0 obj <<
-/D [11635 0 R /XYZ 90 518.362 null]
->> endobj
-354 0 obj <<
-/D [11635 0 R /XYZ 90 511.383 null]
->> endobj
-11641 0 obj <<
-/D [11635 0 R /XYZ 90 413.021 null]
->> endobj
-11642 0 obj <<
-/D [11635 0 R /XYZ 90 413.021 null]
->> endobj
-11643 0 obj <<
-/D [11635 0 R /XYZ 90 374.53 null]
->> endobj
-11644 0 obj <<
-/D [11635 0 R /XYZ 90 297.311 null]
->> endobj
-11645 0 obj <<
-/D [11635 0 R /XYZ 90 258.702 null]
->> endobj
-11646 0 obj <<
-/D [11635 0 R /XYZ 90 220.092 null]
->> endobj
-11647 0 obj <<
-/D [11635 0 R /XYZ 90 170.523 null]
->> endobj
-11648 0 obj <<
-/D [11635 0 R /XYZ 90 131.914 null]
->> endobj
-11649 0 obj <<
-/D [11635 0 R /XYZ 90 93.304 null]
->> endobj
-11634 0 obj <<
-/Font << /F70 398 0 R /F11 442 0 R /F100 1387 0 R /F104 2226 0 R /F56 363 0 R /F72 400 0 R /F79 502 0 R /F97 1185 0 R /F107 2329 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11663 0 obj <<
-/Length 1583      
-/Filter /FlateDecode
->>
-stream
-x��X[s�6~�_�S�L��$��!q�Ӧum7}p2
�hm&\��z�ߣ
,`���̓�XĹ~�;G`����ϳ�g��C�������c��1bܥ���`X�
�1��ϓ�H.�}��U~{-�:��5����v��Sؐ%��l.Ne�/(��<i�<�+Y�D�e�� �2���x�v�����ðG�!
q�-���G���[� �Vo*��pͽ��3l}�^���'��(T>#,<N"ĸyp-�ʧO��le�I��E{-����FyY�vwR���
M�f���L�v�>��Y4���R��!�17v}����x�
���	�R�L����;ѻ�]�2�.�M���PO?`����UٴN{'���$
����:k�
F[)){���� D"�A��޴���Rֵ�9�0�ٍIid�:=8:2K굹4�l!ܕ�V��@���c�B���C$��:k
�Q��=3�E���7�:�U��2)L�^4�(�prQ�m2͟�i�e�&"F
P�������+�X�h\A?��BP�#�or�&F��g�Ħ��+�4�b�{��Z�I[՝���� ��˗�$DA�
�Ĥ�B�C��� ��мz�p�4);�\����,.�7���\*�7#5�����}#������,�
-Y6����]ˉ���S$�/�u�����
�y"�M]6�V
ʳbc�M[�
���a���������`��uR���	{"=k�p"󤕩#Փ
c�"av���oU+�0$m�Fv��]��}X
`��t�;�ءI�\�14��+�xR{d�b
 ����<G�����p��U�_�<�
Ձ�x
��7�zc�������t1��`��
���6��Sod���uk��
TF�+
l
ɦ��+; C�b}���F�T�g�O6Ȳ%
뀁'"�S�����z�T1����
���Zn����Vl��P�g�(��2 ҷ�.��旰ȥy���(� <���#F�>��
�Y0
�����A1cf���A�M��	.
���u(��d٠��(
U�!.)�L�ͯ7Y�N��1�06o���UcyuR^�媮
-� 
G���� 7(K�]f�J P����1`�a�C�G�1�n�� d
c$t�������ʡ
�C����2$ ���K�4����m��_DP
-��r$(��
-a�6XY��(ޡ��ċ.Q�K<�Љ�ws��&A<&Oͦ�~����<�]Ҿr4B.ɋCv����9# Q�u`�ź���Qf+�
|W^�z�5�E�
��P/rd`��d�U�2��8��8xԇ����������G� F�A���x�����O�98�c�|z 
q6�
	w�l���-�2Ŝ� O��A��p(�
�y^�D}t�u�C
�d�ݳ�>���J��*
�
��(醅��lIB�W��z[�x�͕,��O���쾪�R<�U7{B�4���ih�=pG�S���~"x��`k�mB��XL�=��
���̭

�͟�����]Rn���97�����#H!U�U*�����׭~�i���KG�n4�n�����v�E�m�l]���[��3�@
-�\y/��cQ��M��йF����2me
-endstream
-endobj
-11662 0 obj <<
-/Type /Page
-/Contents 11663 0 R
-/Resources 11661 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11652 0 R 11653 0 R 11654 0 R 11655 0 R 11656 0 R 11657 0 R 11658 0 R 11659 0 R 11660 0 R ]
->> endobj
-11652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 683.86 181.845 694.764]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) >>
->> endobj
-11653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 644.632 181.845 655.536]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
->> endobj
-11654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 605.404 154.727 616.307]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) >>
->> endobj
-11655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 523.762 203.075 534.666]
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
->> endobj
-11656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.573 523.762 296.324 534.666]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224) >>
->> endobj
-11657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.005 508.955 328.312 518.86]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-11658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.349 414.843 226.034 425.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ad7bdf8849f22908ce11574a04ba875df) >>
->> endobj
-11659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.176 414.843 377.952 425.747]
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
->> endobj
-11660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11664 0 obj <<
-/D [11662 0 R /XYZ 89 770.89 null]
->> endobj
-11665 0 obj <<
-/D [11662 0 R /XYZ 90 703.14 null]
->> endobj
-11651 0 obj <<
-/D [11662 0 R /XYZ 90 663.912 null]
->> endobj
-11666 0 obj <<
-/D [11662 0 R /XYZ 90 624.684 null]
->> endobj
-11667 0 obj <<
-/D [11662 0 R /XYZ 90 542.923 null]
->> endobj
-11668 0 obj <<
-/D [11662 0 R /XYZ 90 542.923 null]
->> endobj
-11669 0 obj <<
-/D [11662 0 R /XYZ 90 461.282 null]
->> endobj
-11670 0 obj <<
-/D [11662 0 R /XYZ 90 376.915 null]
->> endobj
-11671 0 obj <<
-/D [11662 0 R /XYZ 90 319.767 null]
->> endobj
-11650 0 obj <<
-/D [11662 0 R /XYZ 90 295.314 null]
->> endobj
-11672 0 obj <<
-/D [11662 0 R /XYZ 90 295.314 null]
->> endobj
-11673 0 obj <<
-/D [11662 0 R /XYZ 90 177.069 null]
->> endobj
-11674 0 obj <<
-/D [11662 0 R /XYZ 90 154.673 null]
->> endobj
-11675 0 obj <<
-/D [11662 0 R /XYZ 90 154.673 null]
->> endobj
-11661 0 obj <<
-/Font << /F70 398 0 R /F79 502 0 R /F56 363 0 R /F97 1185 0 R /F107 2329 0 R /F106 2334 0 R /F11 442 0 R /F100 1387 0 R /F72 400 0 R /F104 2226 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11679 0 obj <<
-/Length 341       
-/Filter /FlateDecode
->>
-stream
-xڍ�MS�0�����	�.�@xԩ�T�:�S��T�2P����i{�}w����| ��q��$0���(<���6݀[�p��#
<�էo���|���1�/���>�rc�%�����������
}f�2^
Y�Ix'L�<t
$c�� ��\�Om��	"��2L���%���d�x�n�������J���	�ؚqA�ń�<e��$�^��1}W���[
�+K�
�ST
�l�7$��:-�!I�=r]bh�
F�*�G���O���n��ڗ����4Mum�m���c�V
-��ֿg��ݥu��r(� ��j��:�G�f��%�����
-endstream
-endobj
-11678 0 obj <<
-/Type /Page
-/Contents 11679 0 R
-/Resources 11677 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11676 0 R ]
->> endobj
-11676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11680 0 obj <<
-/D [11678 0 R /XYZ 89 770.89 null]
->> endobj
-11677 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11744 0 obj <<
-/Length 833       
-/Filter /FlateDecode
->>
-stream
-x��YQo�0~�W����I�>�kQ�vC
���2�K��������=PW$NBh��)��/���;���\φ��K�Z�Kl0| >�ǖ�{`�������m��顓KL�o��&��6�\��ֳa,(� �^̸H����?�GN�x:��,�b�h� )C6]d[v�^�
����
�D��C�6
��5H
D���[�kc�&�Fep�a6J(K�h,�}��o���)��x�|�d�:I&����<����~�OG\�E��6Q����uh��$)��3�W*,z�8��*(�
M��j_�Xι��]��u��~}d��]B�l�e|ċ"�S�|_FaQ<	�n�K��q,ؤ R��W���IJ�_��Fl2Y���mθ���<P�=���I
"�xnm`��y��
L�XK�/.ղ@�����*E���`@��a~yo�_�~e���3�
s~%�d�E_�|���~���
M��
�P�
-Q�َ��VN�-Y3	��;h!GXZ@�x�nZA��� �� {U
�3
�=
\GQp=E!9���GQ\QP���k���ɦ/-(a�|�� ݔLs@�#D!Ƿzm�
s�%KcY�����(i
��	?C�d�n�����hP� "��t>ٚ�s}(;f�hǞ1[A(;f�=2ru
	�d�^,f��`f��h�,�E,�(N�x�$ST��r=�����mUΙKS�1�)��sL��yJ���Z�r�3����yS�gd�T˄�-�]��Z$�R-R��Ajo�DIm�zrT�f"GHm�xjW���
`�e����~%��~|G룰Y���X�U���?Q�,P&B�U?6�
�oT��{���~�#L
-endstream
-endobj
-11743 0 obj <<
-/Type /Page
-/Contents 11744 0 R
-/Resources 11742 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11681 0 R 11682 0 R 11683 0 R 11684 0 R 11685 0 R 11686 0 R 11687 0 R 11688 0 R 11689 0 R 11690 0 R 11691 0 R 11692 0 R 11693 0 R 11694 0 R 11695 0 R 11696 0 R 11697 0 R 11698 0 R 11699 0 R 11700 0 R 11701 0 R 11702 0 R 11703 0 R 11704 0 R 11705 0 R 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11720 0 R 11721 0 R 11722 0 R 11723 0 R 11724 0 R 11725 0 R 11726 0 R 11727 0 R 11728 0 R 11 [...]
->> endobj
-11681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 660.334 208.774 670.52]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-11682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 625.035 145.791 634.001]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 610.815 296.564 621.719]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 586.252 285.097 597.156]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 573.97 258.537 584.874]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-11686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 561.688 260.191 572.592]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-11687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 539.508 145.791 548.355]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 513.931 221.606 524.118]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-11689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 489.694 187.046 499.881]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-11690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 476.695 287.867 487.599]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-11691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 452.131 285.097 463.035]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-11692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 439.849 258.537 450.753]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-11693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 427.567 260.191 438.471]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-11694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 405.388 145.791 414.234]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 379.811 221.606 389.997]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 355.574 187.046 365.76]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-11697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 342.574 287.867 353.478]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-11698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 318.011 285.097 328.915]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 305.729 258.537 316.633]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-11700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 293.447 260.191 304.351]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-11701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 271.267 145.791 280.114]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-11702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 246.91 145.791 255.877]
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 221.453 221.606 231.64]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-11704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 208.454 295.069 219.358]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 184.934 187.046 195.121]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-11706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 171.935 287.867 182.839]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-11707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 147.371 285.097 158.275]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-11708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 135.089 258.537 145.993]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-11709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 122.807 260.191 133.711]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 100.628 145.791 109.474]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-11711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 76.39 145.791 85.237]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 660.66 438.087 670.847]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-11713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 647.694 511.551 658.598]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 624.207 403.527 634.393]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-11715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 611.24 504.348 622.144]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-11716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 575.504 403.527 585.691]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-11717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 550.288 504.348 561.192]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-11718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 525.79 504.348 536.694]
-/A << /S /GoTo /D (page.462) >>
->> endobj
-11719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 501.291 476.672 512.195]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-11720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 476.793 476.672 487.697]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-11721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 442.277 362.272 451.243]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 428.09 513.045 438.994]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 403.886 411.527 414.79]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-11724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 379.387 494.684 390.291]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-11725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 354.889 501.578 365.793]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-11726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 342.64 475.018 353.544]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-11727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 330.39 476.672 341.294]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-11728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 308.243 362.272 317.09]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-11729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 282.699 438.087 292.886]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-11730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 269.732 504.348 280.636]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-11731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 245.234 501.578 256.138]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-11732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 232.985 475.018 243.889]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-11733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 220.736 476.672 231.64]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-11734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 198.589 362.272 207.435]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-11735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 173.044 438.087 183.231]
-/A << /S /GoTo /D (page.377) >>
->> endobj
-11736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 160.078 504.348 170.982]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-11737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 135.579 504.348 146.483]
-/A << /S /GoTo /D (page.462) >>
->> endobj
-11738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 111.081 476.672 121.985]
-/A << /S /GoTo /D (page.265) >>
->> endobj
-11739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 86.582 501.578 97.486]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-11740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 74.333 475.018 85.237]
-/A << /S /GoTo /D (page.154) >>
->> endobj
-11745 0 obj <<
-/D [11743 0 R /XYZ 89 770.89 null]
->> endobj
-11746 0 obj <<
-/D [11743 0 R /XYZ 90 685.014 null]
->> endobj
-11742 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11807 0 obj <<
-/Length 1196      
-/Filter /FlateDecode
->>
-stream
-x��Y]S�8}ϯ��&3��lK�x[(K�͒t�:a���_�����_m
�u
�/�-˺�
�{t-e� �dp8
��m��kX��)(�AT�坣\
b��N?(:*P��5�^�;�J
���o��
(0�������+P
��A�N,e�u�C�忧L��2���@ �5����V�#��L���C��;��3�V0�tpp"\��
R�E�
-P�'�zOC`��F�!�*����㟟��X��
�7��)f�:��U�{U�jM�6
���=�x;���nk�x�����^U�\rgns'eI^$
��[[�2n1%�1B��|�
V
��%�j�9�#fs�>b7
b��F"����O~��Tւ<|�
9D� �0|l
����:�;�Q��H�y�nidl
���NB�	O�θx��C�eX'��`%�	��hܫF �dw
�	�HC�E.
v�����
��L�y ��,8it�
�w)� ��S�g3�cɃ;�<�ڭ�a�$�0ި�d{ɓ��&��y~q!�5e�^N�1n��)	�!�P�Y�U�)��e�Y��h}^�e�w�
%�t%Ӿ�Y�R��7�ѻy`'Yu>�{
�
��� Rm Q
_��պp�_Z�*�Lb]W�f��e.� %=�]
�b�.>ӣ�������g����
]]e5��A0��n��u��2�"�
�(����t�|t`�Z:��QW���I���RGi.���cS�?
�h(8�r��Ћ����7E����b�u�2��d��
���f6Z}h�Y#��RN��C`s\�8vg�G��~H3L.�s��fB�������"��{ݲ �ӭ%��(�/
�N�բ��������፦�VLA��><B�}��D�(�X*a4��7�dF
/ޟ�.\��ʴ�E�,���g�w�����@>.� ����^h�;���o����N'j�F�}W֊a�bv����븋�Wq�z��6��\,�v	�]`r�2:�W�cP9�E�ڽ ���޲�۸w��;[��_v����m��Cj���[�!5��%D�T)j��=e ~�]ܖ���ͧ��?F
����s���7 ���PR�ӯ����
M>��hO��7��8w�A)��I���e��@+���$:��_,�
������&�Q��p��:4T�� w�ȁ��(�w��g哺2������v

-endstream
-endobj
-11806 0 obj <<
-/Type /Page
-/Contents 11807 0 R
-/Resources 11805 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11613 0 R
-/Annots [ 11741 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11785 0 R 11786 0 R 11787 0 R 11788 0 R 11789 0 R 11790 0 R 11791 0 R 11792 0 R 11793 0 R 11 [...]
->> endobj
-11741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 707.957 260.191 718.861]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-11747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.104 145.791 694.951]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-11748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 662.194 145.791 671.04]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-11749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 636.943 221.606 647.13]
-/A << /S /GoTo /D (page.383) >>
->> endobj
-11750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 624.271 295.069 635.175]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-11751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 612.316 287.867 623.22]
-/A << /S /GoTo /D (page.473) >>
->> endobj
-11752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 588.405 285.097 599.309]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-11753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 576.45 258.537 587.354]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 564.495 260.191 575.399]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-11755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 542.642 145.791 551.489]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-11756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 517.392 221.606 527.578]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-11757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 504.719 287.867 515.623]
-/A << /S /GoTo /D (page.473) >>
->> endobj
-11758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 470.911 145.791 479.758]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-11759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 444.943 295.069 455.847]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-11760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 409.078 180.112 419.982]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-11761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 385.168 285.097 396.071]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-11762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 373.212 258.537 384.116]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-11763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 361.257 260.191 372.161]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-11764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 339.404 145.791 348.251]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-11765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 314.154 221.606 324.34]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 290.243 187.046 300.43]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-11767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 277.571 287.867 288.475]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-11768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 253.661 285.097 264.565]
-/A << /S /GoTo /D (page.112) >>
->> endobj
-11769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 241.706 258.537 252.609]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-11770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 229.75 260.191 240.654]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-11771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 207.897 145.791 216.744]
-/A << /S /GoTo /D (page.345) >>
->> endobj
-11772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 182.647 221.606 192.834]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 158.737 187.046 168.923]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-11774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 146.064 287.867 156.968]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-11775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 122.154 231.409 133.058]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-11776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 98.244 231.409 109.147]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-11777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 74.333 231.409 85.237]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-11778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 695.967 447.89 706.871]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-11779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 672.705 425.255 682.892]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 636.771 403.527 646.957]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-11781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.629 600.836 470.584 611.023]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-11782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 564.184 396.593 575.088]
-/A << /S /GoTo /D (page.237) >>
->> endobj
-11783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 540.239 396.593 551.143]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-11784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 506.362 362.272 515.209]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-11785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 469.787 447.89 480.691]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-11786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 445.807 509.015 456.711]
-/A << /S /GoTo /D (page.99) >>
->> endobj
-11787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 435.909 362.272 444.756]
-/A << /S /GoTo /D (page.101) >>
->> endobj
-11788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 398.635 403.527 408.821]
-/A << /S /GoTo /D (page.434) >>
->> endobj
-11789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 373.938 501.578 384.842]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-11790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 352.05 362.272 360.897]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-11791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 326.014 504.348 336.918]
-/A << /S /GoTo /D (page.470) >>
->> endobj
-11792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 290.796 403.527 300.983]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-11793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 266.817 425.255 277.004]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 242.837 425.255 253.024]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 218.858 425.255 229.045]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 194.879 425.255 205.065]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 170.899 425.255 181.086]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 146.202 501.578 157.106]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-11799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 134.213 475.018 145.117]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-11800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 122.223 476.672 133.127]
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 100.335 362.272 109.182]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 75.05 438.087 85.237]
-/A << /S /GoTo /D (page.381) >>
->> endobj
-11804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11808 0 obj <<
-/D [11806 0 R /XYZ 89 770.89 null]
->> endobj
-11805 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11871 0 obj <<
-/Length 1247      
-/Filter /FlateDecode
->>
-stream
-x��Z[S�6~ϯ�[��bt�d�G�[�-
)d�Laǣ8J�Y�*;
���/	
[q�L��`��9�>����M5��uN����L�ٺMՆ��i�:��5���?����h�t@�
��0l�uw>
;w��,Fݴ47��}�Xvр�mK[������k7�?:�))��̈́P���9�A�e"`� �3>̹�F����� ��4�s�Å�p�
��6!����Hw�����
}[LK��g
���50*?( JAO�Jx��(lRE�*U�Pe��F�<
��&�
�@!wb���M�㌉:�ӏ�͌ż
��sx`�C�t[K?޸A<2A�xKE����i2���*SÆ���/S����ƨ��x�J��H>4�5�������9�l��N?_���3��`q�ԋB�%�7
_8�uX�&T��ٴ�q
&j�yZ�<�
�
gس@ws�꟬�
�pa4ۙ
\8��[GZ�
]�6�.���w�e�Mx��ne�
4S!��b��g��7Ngo��%�DD��FQ�X�WMC ���
-yۯ����Z�^i��i�:��_Bux
�Ɏ>6���������e��_��z�r��eևvޤ`�����=Bt� 9`�.!� �@���˿`�t��|y�|��NjS\�y��5O��D��
�t�1l�����7i�x=|-a���(�:E�!khZI�ړ��fjoR�9��v%7'7dB!�
�/
-���i4�i�:�0�i�6A�s���<ܛn*����.�����g���/��.�����x������)q�Hq^�Z�
֪�H�8����"��؝,߉]�®ϙh���� �Ό|
��.�dx�`0PP]�Cۮ�o^\�|���
��/���8�!,�D�VY
-�\?J�;qf��
H�!7�_ o`�/<+ck����W#�
���!(��S1�a#(h���NjI�J��d
�עl�x%��t�5U���J��\X'Y�v��!� p3�[�-����I��e��s��FE�.�+/��Ϊ,�Lk_��|
 �%��꒥���t��;���
��=L��s�2�ր@aWӗ`��2����M�a㭩o�l1B�WUn�k����k��� [�źa��.���,�׫Q6WKR�ź�o	���&E�+
��/���]J��T�@�F��{GXRw�y9�bf?��������2u
��������b���D��^,t/=�c��m����͵�I$
-`A$��{��
��\���_TuU
-endstream
-endobj
-11870 0 obj <<
-/Type /Page
-/Contents 11871 0 R
-/Resources 11869 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 11803 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11848 0 R 11849 0 R 11850 0 R 11851 0 R 11852 0 R 11853 0 R 11854 0 R 11855 0 R 11 [...]
->> endobj
-11803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 696.719 187.046 706.906]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-11809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 684.012 287.867 694.916]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-11810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 660.033 285.097 670.937]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-11811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 648.043 258.537 658.947]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-11812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 636.053 260.191 646.957]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-11813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 614.166 145.791 623.012]
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 588.881 221.606 599.067]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-11815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 564.936 187.046 575.123]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-11816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 552.229 287.867 563.133]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-11817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 528.25 287.867 539.153]
-/A << /S /GoTo /D (page.471) >>
->> endobj
-11818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 504.27 287.867 515.174]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-11819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 481.008 208.774 491.195]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-11820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 457.028 208.774 467.215]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 433.049 208.774 443.236]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 408.352 285.097 419.256]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-11823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 396.363 258.537 407.267]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 384.373 260.191 395.277]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 362.485 145.791 371.332]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 337.2 221.606 347.387]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-11827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 313.255 187.046 323.442]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 300.548 287.867 311.452]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-11829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 276.569 285.097 287.473]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-11830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 264.579 258.537 275.483]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-11831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 252.59 260.191 263.494]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-11832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 230.702 145.791 239.549]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 205.417 221.606 215.604]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-11834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 181.472 187.046 191.659]
-/A << /S /GoTo /D (page.422) >>
->> endobj
-11835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 168.765 287.867 179.669]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-11836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 144.786 258.537 155.69]
-/A << /S /GoTo /D (page.135) >>
->> endobj
-11837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.526 144.786 278.462 155.69]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.429 122.258 203.384 133.161]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-11839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 88.38 145.791 97.227]
-/A << /S /GoTo /D (page.163) >>
->> endobj
-11840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 88.38 165.716 97.227]
-/A << /S /GoTo /D (page.166) >>
->> endobj
-11841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 707.957 501.578 718.861]
-/A << /S /GoTo /D (page.116) >>
->> endobj
-11842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 684.764 362.272 694.951]
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 684.764 382.197 694.951]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-11844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 660.136 501.578 671.04]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-11845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 648.181 475.018 659.085]
-/A << /S /GoTo /D (page.154) >>
->> endobj
-11846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 626.328 362.272 635.175]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-11847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 600.361 475.018 611.265]
-/A << /S /GoTo /D (page.153) >>
->> endobj
-11848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 566.552 362.272 575.399]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-11849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 529.347 403.527 539.534]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-11850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 494.821 362.272 503.668]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-11851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 458.956 362.272 467.803]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-11852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 444.943 511.551 455.847]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-11853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 421.033 498.241 431.937]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-11854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 397.123 498.241 408.027]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-11855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 363.315 362.272 372.161]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 338.064 425.255 348.251]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 313.437 506.55 324.34]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-11858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 301.481 499.924 312.385]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 289.526 498.241 300.43]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 267.673 362.272 276.52]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 231.808 362.272 240.654]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.821 194.602 408.757 204.789]
-/A << /S /GoTo /D (page.126) >>
->> endobj
-11863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 172.032 362.272 180.878]
-/A << /S /GoTo /D (page.278) >>
->> endobj
-11864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 148.002 362.272 156.968]
-/A << /S /GoTo /D (page.293) >>
->> endobj
-11865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 112.256 362.272 121.103]
-/A << /S /GoTo /D (page.410) >>
->> endobj
-11866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 87.006 425.255 97.192]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11872 0 obj <<
-/D [11870 0 R /XYZ 89 770.89 null]
->> endobj
-11869 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11936 0 obj <<
-/Length 1194      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�J~������u�v����uқXɝt����0E�.��F)�
-��"�����s�s��D�J���i�?�P��M4�8cņ�i� q4R
U�&��gE�!�!O�N_��:ɅF�i��H�C�Oc`Z�p�x���8�Y�@�-e��i��.��2h|m�M �l AP�kX1�^�M�U�O]���3q��xO��ˋ�Wt�����+X)
>ɀ�u�cK�PE�nH=���pac,�#�Uf
�������L���/�؝���0��If8

kێ[[wɸ�.ƞ��K�Z�U��;6�و�y(v�Ft˨
,�8b�
L���au����������SaP��,
<ޞ��a0�s
����p^�/�~�p�`�lZ՞yK
��6s�uXm���[x#x���Q�M�?�ce;��S �b�zAT�HY��M�S��V9��Nʩ�3U���zG���"GU�|8쒪4����=_�
��q�T�_���Ա���p$əiZ�t�l��W��g6��DPqܛO�?#2%�<>�`�7L�?V�!�Ă�ׂ��U0��LRA0�ӵ�D���y��̧;e1�'��R�V���'OWC�~)�p�ŅmU���&BHu��;�ߊ���(��h�)K j B;#��q�{]:p�.W,9���ٸ�4Ь=�����;���
��t���s�?]��NPӀE��b��	
wcF;�.�l���o�LJ*��qҿ���eB$�y�
�_-=�+�C�P�oA���4��-f�y�X}
�n���%�Ӻ��e�t���[p��Ū
��o�5z��&}+�E�E^�x9c��<,!�#/�
�VJ�kV+�]���E�;���>�
���˲�@R�RT��I�~(��ϛ���n*�a)G:��d��SQ0h�I
�hN
D
-y�3Og���#��D�
�G���G�n��|�ѪW�*�oOW��3-E�~ �%�M,�0a��0L�#�7��m��v�>�Mg�25�a���]U�:vU��:_���7
�^�
�
�p%��2�	��.�e|�E\<d���8w�P0L��B�5W~s�
�	M3VӃ����Qz|�s�O��C
_Sb�
�'!A��K4[��d�X6�tx?���?��	�MЖ	t���7�
dz�v{�X�a�7���۳����0?td 󷑱��+`Ӑg��qr�&Q�
�I�(���
-endstream
-endobj
-11935 0 obj <<
-/Type /Page
-/Contents 11936 0 R
-/Resources 11934 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 11867 0 R 11874 0 R 11875 0 R 11876 0 R 11877 0 R 11878 0 R 11879 0 R 11880 0 R 11881 0 R 11882 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11 [...]
->> endobj
-11867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 707.957 285.097 718.861]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-11874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 696.002 258.537 706.906]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 684.047 260.191 694.951]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-11876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 662.194 145.791 671.04]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-11877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 636.943 221.606 647.13]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-11878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 613.033 187.046 623.22]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-11879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 600.361 287.867 611.265]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-11880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 576.45 290.068 587.354]
-/A << /S /GoTo /D (page.190) >>
->> endobj
-11881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 540.585 180.112 551.489]
-/A << /S /GoTo /D (page.197) >>
->> endobj
-11882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 516.674 260.191 527.578]
-/A << /S /GoTo /D (page.271) >>
->> endobj
-11883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 492.764 285.097 503.668]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-11884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 480.809 258.537 491.713]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-11885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 468.854 260.191 479.758]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-11886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 447.001 145.791 455.847]
-/A << /S /GoTo /D (page.336) >>
->> endobj
-11887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 421.75 221.606 431.937]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-11888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 397.84 187.046 408.027]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-11889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 385.168 287.867 396.071]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-11890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 361.257 283.443 372.161]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 327.449 145.791 336.296]
-/A << /S /GoTo /D (page.408) >>
->> endobj
-11892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 291.584 145.791 300.43]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-11893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 265.616 285.097 276.52]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-11894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 253.661 258.537 264.565]
-/A << /S /GoTo /D (page.141) >>
->> endobj
-11895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 241.706 260.191 252.609]
-/A << /S /GoTo /D (page.260) >>
->> endobj
-11896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 219.852 145.791 228.699]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-11897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 194.602 221.606 204.789]
-/A << /S /GoTo /D (page.373) >>
->> endobj
-11898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 170.692 187.046 180.878]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-11899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 158.019 287.867 168.923]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-11900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 124.211 145.791 133.058]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-11901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 110.199 295.069 121.103]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 76.39 145.791 85.237]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-11903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 707.957 511.551 718.861]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 683.94 511.551 694.843]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 659.922 511.551 670.826]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 635.904 511.551 646.808]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 611.887 511.551 622.791]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-11908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 577.73 425.255 587.917]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 552.996 501.578 563.9]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-11910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 540.987 475.018 551.891]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-11911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 528.978 476.672 539.882]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-11912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 507.071 362.272 515.918]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-11913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 481.767 438.087 491.954]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-11914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 457.803 403.527 467.99]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-11915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 433.786 425.255 443.973]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-11916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 399.153 362.272 408]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 385.087 513.045 395.991]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 361.07 489.145 371.974]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-11919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 337.052 498.241 347.956]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-11920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 315.145 362.272 323.992]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-11921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 289.071 511.506 299.974]
-/A << /S /GoTo /D (page.115) >>
->> endobj
-11922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 279.173 362.272 288.019]
-/A << /S /GoTo /D (page.116) >>
->> endobj
-11923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 265.107 475.018 276.011]
-/A << /S /GoTo /D (page.152) >>
->> endobj
-11924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 253.098 476.672 264.002]
-/A << /S /GoTo /D (page.271) >>
->> endobj
-11925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 231.072 362.272 240.038]
-/A << /S /GoTo /D (page.349) >>
->> endobj
-11926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 205.887 438.087 216.074]
-/A << /S /GoTo /D (page.383) >>
->> endobj
-11927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 181.923 403.527 192.11]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-11928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 169.197 511.506 180.101]
-/A << /S /GoTo /D (page.470) >>
->> endobj
-11929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 159.299 362.272 168.146]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-11930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 123.086 425.255 133.272]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-11931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 98.351 489.145 109.255]
-/A << /S /GoTo /D (page.295) >>
->> endobj
-11932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 75.05 425.255 85.237]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-11933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11937 0 obj <<
-/D [11935 0 R /XYZ 89 770.89 null]
->> endobj
-11934 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12012 0 obj <<
-/Length 1244      
-/Filter /FlateDecode
->>
-stream
-x��Zms�8��_���g.DH@�]�\&�&�6��ݤ
�
���+�_�-��c
p^�s_l��j�ٕ0�0��&��_
`x�G1&3��c{&&�.0���oN�}��5l� 5�x`{N�<8�
��j,Gc�q
?
\F�����<�X�b�F��������
D�|�&�����#�G6���|�g	��G���U
�#��Lƌ�E���d�]8�L�ON^�$�$
���|�Z�+�����`� �:����-��ҏ€��a���甥i8O��{��^ݰ߁
"�
!�6�]
R� %�K�%۔#m��o{,��
�A6- ��K�	�ob-�]��~��"aўy�ft
���-�t1lx�������,�TL��~��
-��e�DG�8ӱӈ���C�_����LD�W<�����<�y@/���vnn~v1��IV�5�{}�F:�Q�h����
�(#c���gT�5��B����;��2
���!��V_/�
f!��5=�>�
Qx����T�R������ʄ)�v`�<�W\�n{ ���l�>Y����|�c

��aB�댧�CI��Ԕ�P
��Y��q��*#�E�O�W�V^);}�B>K2!�̹�o&�{��>��՝��k���Keu��X�ya�>[,��G���ۂ�K��A��,g�]��ϥ�7ҁ����I$�Ab�.2�e��"�>k�V�`y�{ ���!�'a�JYs?����#&8�Lp�
Ҷ4����U�*���7N����(��,�tU)���0fs��R�l�GAb�ֻGt��TNKD��O�m����-�Z6��ߨO9�{�CN[?�v�mԱ��=
-(�R�B�U��M
q�6!������a��.�GT
ɟ����W
jY�d

�򺛨W��\�P�j2�W����a����U��*�=���2N�ev�����|L�D�̿�옗K�c.��������t<	�y�ZYk�i��"�
�"�|�
-?bɴ�]�N�{;����j�Ϣ��_
6V��odt��I���r��VS���[;��&��,\V_=����V��}�
MT���e<
 w�K�@&�G,��A
-5ȱ�� ��X�/POn���
���u(o+Eʛ�)�?�0
���KT�ן uP�NU4S
-�G�

Yj�}�y�l�����-?�����cZ ��Ln�lqr|�Z�L?5�I��f�
/���ZCh���KfB��b!+��D5�,�hs�E����V
-endstream
-endobj
-12011 0 obj <<
-/Type /Page
-/Contents 12012 0 R
-/Resources 12010 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 11938 0 R 11939 0 R 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11948 0 R 11949 0 R 11950 0 R 11951 0 R 11952 0 R 11953 0 R 11954 0 R 11955 0 R 11956 0 R 11957 0 R 11958 0 R 11959 0 R 11960 0 R 11961 0 R 11962 0 R 11963 0 R 11964 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11 [...]
->> endobj
-11938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 695.966 283.443 706.87]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-11939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 671.984 295.024 682.888]
-/A << /S /GoTo /D (page.123) >>
->> endobj
-11940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 662.186 145.791 670.933]
-/A << /S /GoTo /D (page.124) >>
->> endobj
-11941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 648.038 258.537 658.942]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-11942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.526 648.038 278.462 658.942]
-/A << /S /GoTo /D (page.160) >>
->> endobj
-11943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 636.047 281.759 646.951]
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 614.158 145.791 623.005]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-11945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 578.221 145.791 587.068]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-11946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 542.284 145.791 551.131]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-11947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 528.236 296.564 539.14]
-/A << /S /GoTo /D (page.242) >>
->> endobj
-11948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 504.254 285.097 515.158]
-/A << /S /GoTo /D (page.121) >>
->> endobj
-11949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 492.263 258.537 503.167]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-11950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 480.272 260.191 491.176]
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 458.383 145.791 467.23]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-11952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 433.097 221.606 443.284]
-/A << /S /GoTo /D (page.385) >>
->> endobj
-11953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 409.151 187.046 419.338]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-11954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 396.443 287.867 407.347]
-/A << /S /GoTo /D (page.475) >>
->> endobj
-11955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 362.563 145.791 371.409]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-11956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 348.515 296.564 359.419]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-11957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 304.076 145.791 312.922]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-11958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 268.138 145.791 276.985]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-11959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 242.099 285.097 253.003]
-/A << /S /GoTo /D (page.121) >>
->> endobj
-11960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 230.108 258.537 241.012]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-11961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 218.117 260.191 229.021]
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 196.229 145.791 205.075]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-11963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 170.942 221.606 181.129]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-11964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 146.996 187.046 157.183]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-11965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 134.288 287.867 145.192]
-/A << /S /GoTo /D (page.475) >>
->> endobj
-11966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 110.306 231.409 121.21]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-11967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 86.324 285.097 97.228]
-/A << /S /GoTo /D (page.104) >>
->> endobj
-11968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 74.333 258.537 85.237]
-/A << /S /GoTo /D (page.141) >>
->> endobj
-11969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 707.957 476.672 718.861]
-/A << /S /GoTo /D (page.260) >>
->> endobj
-11970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 685.948 362.272 694.914]
-/A << /S /GoTo /D (page.339) >>
->> endobj
-11971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 672.019 504.348 682.923]
-/A << /S /GoTo /D (page.459) >>
->> endobj
-11972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 627.448 362.272 636.414]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 613.519 513.045 624.422]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 579.518 362.272 588.484]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-11975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 565.589 513.045 576.492]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-11976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 541.605 501.578 552.509]
-/A << /S /GoTo /D (page.112) >>
->> endobj
-11977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 529.614 475.018 540.518]
-/A << /S /GoTo /D (page.149) >>
->> endobj
-11978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 529.614 494.943 540.518]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-11979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 517.622 476.672 528.526]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-11980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.661 517.622 496.597 528.526]
-/A << /S /GoTo /D (page.268) >>
->> endobj
-11981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 494.393 362.272 504.579]
-/A << /S /GoTo /D (page.345) >>
->> endobj
-11982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 494.393 382.197 504.579]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 470.446 438.087 480.632]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-11984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 470.446 458.013 480.632]
-/A << /S /GoTo /D (page.380) >>
->> endobj
-11985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 446.499 403.527 456.686]
-/A << /S /GoTo /D (page.431) >>
->> endobj
-11986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 446.499 423.452 456.686]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-11987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 433.79 511.506 444.694]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-11988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 423.892 362.272 432.739]
-/A << /S /GoTo /D (page.467) >>
->> endobj
-11989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 397.852 501.578 408.756]
-/A << /S /GoTo /D (page.113) >>
->> endobj
-11990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 385.86 475.018 396.764]
-/A << /S /GoTo /D (page.149) >>
->> endobj
-11991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 385.86 494.943 396.764]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-11992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 373.868 476.672 384.772]
-/A << /S /GoTo /D (page.268) >>
->> endobj
-11993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.661 373.868 496.597 384.772]
-/A << /S /GoTo /D (page.269) >>
->> endobj
-11994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 350.639 362.272 360.826]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-11995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 350.639 382.197 360.826]
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 326.692 438.087 336.879]
-/A << /S /GoTo /D (page.380) >>
->> endobj
-11997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 326.692 458.013 336.879]
-/A << /S /GoTo /D (page.381) >>
->> endobj
-11998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 302.745 403.527 312.932]
-/A << /S /GoTo /D (page.431) >>
->> endobj
-11999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.516 302.745 423.452 312.932]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-12000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 290.036 511.506 300.94]
-/A << /S /GoTo /D (page.467) >>
->> endobj
-12001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 280.139 362.272 288.985]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-12002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.896 242.86 388.832 253.047]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 218.16 476.672 229.064]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-12004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 182.939 403.527 193.125]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-12005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 147 403.527 157.187]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-12006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 122.3 511.551 133.204]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 98.316 475.018 109.22]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-12008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 74.333 475.018 85.237]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12013 0 obj <<
-/D [12011 0 R /XYZ 89 770.89 null]
->> endobj
-12010 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12075 0 obj <<
-/Length 1231      
-/Filter /FlateDecode
->>
-stream
-x��Y]w�8��Wp�z�6M�wN�:ζ�Q:�s�99ReG�8N�����*).unB��y?��}����Z���_T,`�XW�Gł��Y���-P�ښev���Ղ��H�Z5��
�6�в�֏V���&�0ֺ��@4R P-SY�:�
����Z�[p�K@��,������!Z�`�	�ޘ('I�o�A���3���ӄ�G/Ç؋���>D��\��������R�N0�mD̢C�KL�)�0Johw;��k���ڟ;�o:lw/wC\���[�ŏ��gxtc
����뼆�7
!��R��$Y� �%���=���Ab�
汐L�!g��)N{���K�x�
-�yu1/)
�M��O��I�|�H��7�10��?]��!S/I�1���
:�x�HD�DN��8[7E�B�f`��x	�O㰃I�g�M�y�3J��Q�L�rr/���Hb�('ԏ֬_0������et��So
q�����A1�J�mF��v��T���燒�!
>
� ��CZa���#R|
K"v�ݘQ�K�nU���`K�T����S�v��u¾B�aI�O��6ܳ/����������n���u���B�����\g\za�l�
���:r|�a�8�/�pd/LF}�wi�
d����¸���n�

/<F�WG
�gc�|��<
-�:��
-t�5��	���hy�l��%�i���
��|��%���|��<'���=��2����xW���+�	����8^0��<�c�lV�[F�H�
��a��o(�U[H��)�0�Y�y"S�4|��Ͽ<��O��A�*��񦪠�U�$�$g?
#��8n�
��9$�4���25��˛�>�Cj<rP�g��R�j<�p@�5�Ndv��a��,e��%u�hH��9�2{��8�5KuH��:n��d�R�7E��q�J~W��&��נ:z?����Xx�0}:4ӫLː4���7��LP?�j�K��.��ή�G*[��
(���@�֡O�$2�UBC�
��"���{GlƭPn�
�=���g��Y��u�_�&:�tU�x}�+��]�""z
������NXge�g�׵��k�j�r#*�?:�������b
ɟ�!�?��Ă(r��.�蜨�N#�
-�s��+맿��s�	�4�
-���|������r	�,x8�A������6,��4`<O��9�Y�\4� /&N�$'7
-endstream
-endobj
-12074 0 obj <<
-/Type /Page
-/Contents 12075 0 R
-/Resources 12073 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 12014 0 R 12015 0 R 12016 0 R 12017 0 R 12018 0 R 12019 0 R 12020 0 R 12021 0 R 12022 0 R 12023 0 R 12024 0 R 12025 0 R 12026 0 R 12027 0 R 12028 0 R 12029 0 R 12030 0 R 12031 0 R 12032 0 R 12033 0 R 12034 0 R 12035 0 R 12036 0 R 12037 0 R 12038 0 R 12039 0 R 12040 0 R 12041 0 R 12042 0 R 12043 0 R 12044 0 R 12045 0 R 12046 0 R 12047 0 R 12048 0 R 12049 0 R 12050 0 R 12051 0 R 12052 0 R 12053 0 R 12054 0 R 12055 0 R 12056 0 R 12057 0 R 12058 0 R 12059 0 R 12060 0 R 12061 0 R 12 [...]
->> endobj
-12014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 695.952 258.537 706.856]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 672.658 208.774 682.845]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 648.647 208.774 658.834]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 623.919 260.191 634.823]
-/A << /S /GoTo /D (page.253) >>
->> endobj
-12018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.179 623.919 280.116 634.823]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 590.011 145.791 598.857]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.045 145.791 562.891]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 517.177 285.097 528.081]
-/A << /S /GoTo /D (page.118) >>
->> endobj
-12022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 505.171 287.867 516.075]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-12023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.237 481.161 291.174 492.064]
-/A << /S /GoTo /D (page.221) >>
->> endobj
-12024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 457.15 285.097 468.054]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 445.144 260.191 456.048]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 423.241 145.791 432.088]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-12027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 397.94 221.606 408.127]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 373.98 187.046 384.167]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 361.257 287.867 372.161]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-12030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 326.447 231.409 337.351]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 302.436 231.409 313.34]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 278.425 231.409 289.329]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 254.414 231.409 265.318]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 230.403 231.409 241.307]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 206.393 231.409 217.297]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 182.382 231.409 193.286]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 158.371 231.409 169.275]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 134.36 231.409 145.264]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 110.349 231.409 121.253]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 86.339 231.409 97.243]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 707.957 447.89 718.861]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 684.047 447.89 694.951]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 660.136 447.89 671.04]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 626.328 362.272 635.175]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 588.405 396.593 599.309]
-/A << /S /GoTo /D (page.197) >>
->> endobj
-12046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.582 588.405 416.518 599.309]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 564.495 396.593 575.399]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 540.585 501.578 551.489]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-12049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 518.732 362.272 527.578]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-12050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 492.764 501.578 503.668]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 480.809 475.018 491.713]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-12052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 468.854 476.672 479.758]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-12053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 447.001 362.272 455.847]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-12054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 421.75 438.087 431.937]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-12055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 397.84 403.527 408.027]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-12056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 385.168 504.348 396.071]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-12057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 361.257 476.672 372.161]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 337.347 501.578 348.251]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-12059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 325.392 475.018 336.296]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-12060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 313.437 476.672 324.34]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 291.584 362.272 300.43]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 266.333 438.087 276.52]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 242.423 403.527 252.609]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-12064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 229.75 504.348 240.654]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-12065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 205.84 506.55 216.744]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 181.93 499.924 192.834]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 169.975 498.241 180.878]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 148.121 362.272 156.968]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 122.154 506.55 133.058]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 110.199 499.924 121.103]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 76.39 362.272 85.237]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12076 0 obj <<
-/D [12074 0 R /XYZ 89 770.89 null]
->> endobj
-12073 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12144 0 obj <<
-/Length 1273      
-/Filter /FlateDecode
->>
-stream
-x��Z[S�H~�W�m�j�}I��:�2
�(�e�L�Zh15�M'���~;7�	�>�[w�;�|�tP&
-P.g���_P,�ґ�

(�f�Dgc���i߶~�*0U at t1.��YVr��
6~7��
-��&�a*#�q�(cq��Tl��s���h�_W�i|k��@���@ T!̖s"��cւ�9a<�È(G�)�4����{�
�쉍9����|vrr��F�Z4���O���LMȰ�In��E#�[��&9����3���T��e����� ��ij�h�wDK*���ئ�����Zs��[B����� d�
��O�?b5������Є\��,��%
��&�^g`x �{���P[�Q�ཱྀ��! �Yx*��8p��3��Dn�G1�BKVAP�� ,
wg��
"6��U���"�
��q5~�i>3
�2�4m���J@���Jo��T8٦Q�L�z�r�žy�ai� �~��/e��+!r�,
�!te��`~�ֲ����W��N��%������o�y]}uG�NѲk�2���{�؝E�U�@
J$�ˢ�
�� �⮓��
��DE�on�k��-��{K���fp��}~{����1AKE_7da
/O��_�u<��c��w��z�EQD���;h�W�Z�_�$Ȥ��;��LQq)��ڀ�y~n��L��3%j9t���
-���
���V/�g�ϊ��j�Pt�U
i{�
���@/��b
�:,�nR4p
&\�yiX�E(�~���س!	*��~��3dFdֶ5q�]��k�,� ��%X����z�<m��v�%��!X/��i��T����e�3 at U{m��ѽ`[ 
)������@�Wb����*�L�i��l2q�ܣ�
���;L��	�ѻ
-��F�<��g�[� ��W��d���-ݗ\pe7c'}߲9®�x:d�qPd�$ۀ}@��;%_��r��vz���t�8�\�7&�޶X��z�E���z�$��izV��u.� �G‭��4�rB̊��>F���k���^KV�����@�K���x$��ͦ���P6Is�h�Ắ��
	ɱ�Y���wD���u������;*�����7u����e����� ���t�P��� >�V�䜄��`";���N�G���"�e�=�O��
� ��L%r-i�Ӌ@�"q
��#,
{�Xnlf�/�8�;�z���*v	�_
��8<9>~~~VG�:����N|
���}+VC���|�ǀg�Dj��;����rui"���&;��
-endstream
-endobj
-12143 0 obj <<
-/Type /Page
-/Contents 12144 0 R
-/Resources 12142 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 12077 0 R 12078 0 R 12079 0 R 12080 0 R 12081 0 R 12082 0 R 12083 0 R 12084 0 R 12085 0 R 12086 0 R 12087 0 R 12088 0 R 12089 0 R 12090 0 R 12091 0 R 12092 0 R 12093 0 R 12094 0 R 12095 0 R 12096 0 R 12097 0 R 12098 0 R 12099 0 R 12100 0 R 12101 0 R 12102 0 R 12103 0 R 12104 0 R 12105 0 R 12106 0 R 12107 0 R 12108 0 R 12109 0 R 12110 0 R 12111 0 R 12112 0 R 12113 0 R 12114 0 R 12115 0 R 12116 0 R 12117 0 R 12118 0 R 12119 0 R 12120 0 R 12121 0 R 12122 0 R 12123 0 R 12124 0 R 12 [...]
->> endobj
-12077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.071 145.791 694.917]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 650.138 145.791 658.985]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 614.206 145.791 623.053]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 578.274 145.791 587.12]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 552.239 290.068 563.143]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 518.364 145.791 527.211]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-12083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 504.319 295.069 515.222]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 480.341 290.068 491.245]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 468.353 283.443 479.257]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 444.376 260.191 455.28]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 420.399 278.203 431.303]
-/A << /S /GoTo /D (page.482) >>
->> endobj
-12088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 385.902 285.097 396.806]
-/A << /S /GoTo /D (page.124) >>
->> endobj
-12089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 373.914 258.537 384.818]
-/A << /S /GoTo /D (page.160) >>
->> endobj
-12090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.526 373.914 278.462 384.818]
-/A << /S /GoTo /D (page.161) >>
->> endobj
-12091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 361.925 281.759 372.829]
-/A << /S /GoTo /D (page.233) >>
->> endobj
-12092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 338.699 145.791 348.885]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-12093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 338.699 165.716 348.885]
-/A << /S /GoTo /D (page.357) >>
->> endobj
-12094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 304.106 145.791 312.953]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 290.061 296.564 300.964]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.188 266.083 275.124 276.987]
-/A << /S /GoTo /D (page.490) >>
->> endobj
-12097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 242.824 208.774 253.01]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 218.846 208.774 229.033]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 194.152 285.097 205.056]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-12100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 172.266 145.791 181.112]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-12101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 146.231 287.867 157.135]
-/A << /S /GoTo /D (page.471) >>
->> endobj
-12102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 122.254 285.097 133.158]
-/A << /S /GoTo /D (page.118) >>
->> endobj
-12103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 110.265 258.537 121.169]
-/A << /S /GoTo /D (page.153) >>
->> endobj
-12104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 88.379 145.791 97.226]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-12105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 707.957 476.672 718.861]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-12106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 683.976 476.672 694.88]
-/A << /S /GoTo /D (page.273) >>
->> endobj
-12107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 659.996 476.672 670.9]
-/A << /S /GoTo /D (page.273) >>
->> endobj
-12108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 636.015 501.578 646.919]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-12109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 624.025 504.348 634.929]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-12110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 600.044 498.241 610.948]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 578.156 362.272 587.003]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 552.118 498.241 563.022]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-12113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 516.182 411.527 527.086]
-/A << /S /GoTo /D (page.302) >>
->> endobj
-12114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.516 516.182 431.452 527.086]
-/A << /S /GoTo /D (page.303) >>
->> endobj
-12115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 480.964 403.527 491.15]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-12116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 445.717 501.578 456.621]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-12117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 433.727 475.018 444.631]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-12118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 421.736 476.672 432.64]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-12119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 399.848 362.272 408.695]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-12120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 374.563 438.087 384.749]
-/A << /S /GoTo /D (page.385) >>
->> endobj
-12121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 350.617 403.527 360.804]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-12122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 337.909 504.348 348.813]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-12123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 314.646 425.255 324.833]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 289.948 511.506 300.852]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-12125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 280.05 362.272 288.897]
-/A << /S /GoTo /D (page.103) >>
->> endobj
-12126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 266.003 475.018 276.907]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-12127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 266.003 494.943 276.907]
-/A << /S /GoTo /D (page.140) >>
->> endobj
-12128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 254.012 476.672 264.916]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-12129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.661 254.012 496.597 264.916]
-/A << /S /GoTo /D (page.259) >>
->> endobj
-12130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 232.124 362.272 240.971]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-12131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 206.839 438.087 217.025]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.076 206.839 458.013 217.025]
-/A << /S /GoTo /D (page.372) >>
->> endobj
-12133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 182.893 403.527 193.08]
-/A << /S /GoTo /D (page.422) >>
->> endobj
-12134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 170.186 511.506 181.089]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-12135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 160.288 362.272 169.134]
-/A << /S /GoTo /D (page.458) >>
->> endobj
-12136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 134.967 425.255 145.154]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-12137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 110.986 425.255 121.173]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 86.288 511.506 97.192]
-/A << /S /GoTo /D (page.103) >>
->> endobj
-12139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 76.39 362.272 85.237]
-/A << /S /GoTo /D (page.104) >>
->> endobj
-12141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12145 0 obj <<
-/D [12143 0 R /XYZ 89 770.89 null]
->> endobj
-12142 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12215 0 obj <<
-/Length 1364      
-/Filter /FlateDecode
->>
-stream
-xڽZYs�8~�W�m�j:,�٭�
��LB��le+�R9 �k���f��_�� ��l1y	>���k��Cm�A�u<j�>�P��m`CM5j�nj���vצv��>kĆ��H�J_�O�n���Q�g+y5�ͦ����u�
j����-�)
4�tLį�
[_[p56� (�1�L� B��AѶ�
6��G>	
v�>�N�rtt
<��"ʠ��
��yK��b
-�H���L���E �J�?�I�|L���
	���ؙ��ᣳ��P�CF��9pB�m���(Y����u<�uS������O� 
�E\�b�m`w����������Y�rE�����C1���Vu@٣�/�eV[��������`����h;�.	}
��:�ְgC�
�\1Ah׼{��B��	��
��
6��x�5k������2 <�vl;c^ ����
͗
�<q��9Q���be�=y��	0�����kE ��j��_
؅�O2fV�>�y:*s���
�$x�_ɚu�*@�Q S`�v?3�}�L�fnD�����
%b��?a�)���2�m~Ȫ�U0�Ȓ���ptsq2b���	��::l����0^?�CG�*�#(���@����xc4�p�����l,���xgĶ\U��I
6%��N�,�J1\3	����/�X>�>�8KJ��K���yLS9�HT�R��Y��F
�m�.u_Zc2
>�gi�#4�0�ÛE���"2�|Μi"�
B,nB����36]���
|v5l������߁N&m�,Z���O"��6�� d�U��aK��w�gƐ ��f���C
Cw��B
-6F��HGXl��^wD��=FzQ�� [ň�f�C6d��.
�5�?>��d�M㷉QZG��Ⱦ�
iUc�Őq�Z�(عֲ����)��wY6Y1�+��kQ5#K��S.�Ź�;q�Xe��+��|D-$J"�,�(0!�Q���iDQ�G��3M^�ʻz��
eO���m+�ϝ�@r�Ξ!�"���$�T#}"Hw{webj5k��)UU_xn��F�ss��
HP���P![&jF
B�!�L���t4P�,hGGQI0t�\�3O���b�VM��#&���7�s�������##��!��C��k�����M�B��O!$޺�XzU�lx EV�U|�Ѩ������ԭՀ����b �޳�@�'�{R�V
�'��-������P�"��P`����d+�@���B�n*&��G��������veev����|�x�G��v��_9����{H�D�H"f!�b�
-�N�?
9�-�������$�W�MЖ	�+�
�xq��===�q�����
����]ӑ̵����<s�]��w ��`K� �jA��
-endstream
-endobj
-12214 0 obj <<
-/Type /Page
-/Contents 12215 0 R
-/Resources 12213 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 11873 0 R
-/Annots [ 12140 0 R 12146 0 R 12147 0 R 12148 0 R 12149 0 R 12150 0 R 12151 0 R 12152 0 R 12153 0 R 12154 0 R 12155 0 R 12156 0 R 12157 0 R 12158 0 R 12159 0 R 12160 0 R 12161 0 R 12162 0 R 12163 0 R 12164 0 R 12165 0 R 12166 0 R 12167 0 R 12168 0 R 12169 0 R 12170 0 R 12171 0 R 12172 0 R 12173 0 R 12174 0 R 12175 0 R 12176 0 R 12177 0 R 12178 0 R 12179 0 R 12180 0 R 12181 0 R 12182 0 R 12183 0 R 12184 0 R 12185 0 R 12186 0 R 12187 0 R 12188 0 R 12189 0 R 12190 0 R 12191 0 R 12192 0 R 12 [...]
->> endobj
-12140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 707.957 258.537 718.861]
-/A << /S /GoTo /D (page.140) >>
->> endobj
-12146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 695.782 260.191 706.685]
-/A << /S /GoTo /D (page.259) >>
->> endobj
-12147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 673.708 145.791 682.555]
-/A << /S /GoTo /D (page.338) >>
->> endobj
-12148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 648.237 221.606 658.424]
-/A << /S /GoTo /D (page.372) >>
->> endobj
-12149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.595 648.237 241.531 658.424]
-/A << /S /GoTo /D (page.373) >>
->> endobj
-12150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 624.107 187.046 634.293]
-/A << /S /GoTo /D (page.423) >>
->> endobj
-12151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 611.214 295.024 622.118]
-/A << /S /GoTo /D (page.458) >>
->> endobj
-12152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 601.196 145.791 610.163]
-/A << /S /GoTo /D (page.459) >>
->> endobj
-12153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 565.01 145.791 573.856]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 565.01 165.716 573.856]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-12155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 539.319 208.774 549.505]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-12156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 504.352 145.791 513.199]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 490.12 296.564 501.024]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.727 465.769 272.664 476.672]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-12159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 416.544 145.791 426.731]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-12160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 416.544 165.716 426.731]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 403.651 296.564 414.555]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 369.402 145.791 378.249]
-/A << /S /GoTo /D (page.318) >>
->> endobj
-12163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 369.402 165.716 378.249]
-/A << /S /GoTo /D (page.321) >>
->> endobj
-12164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 342.994 283.443 353.898]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 318.643 290.068 329.547]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 295.009 208.774 305.196]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 246.407 145.791 255.254]
-/A << /S /GoTo /D (page.332) >>
->> endobj
-12168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 246.407 165.716 255.254]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 208.044 180.112 218.948]
-/A << /S /GoTo /D (page.237) >>
->> endobj
-12170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 195.868 260.191 206.772]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-12171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 171.738 180.112 182.641]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 159.562 287.867 170.466]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-12173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 135.211 278.203 146.115]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-12174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 110.86 231.409 121.764]
-/A << /S /GoTo /D (page.81) >>
->> endobj
-12175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 86.509 231.409 97.413]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-12176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 698.059 362.272 706.906]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 684.047 511.506 694.951]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 674.248 362.272 682.996]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 648.181 501.578 659.085]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 636.226 475.018 647.13]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-12181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 614.373 362.272 623.22]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 600.361 506.55 611.265]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 576.45 396.593 587.354]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 564.495 499.924 575.399]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 540.585 396.593 551.489]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.719 528.63 507.655 539.534]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 516.674 511.506 527.578]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 506.777 362.272 515.623]
-/A << /S /GoTo /D (page.233) >>
->> endobj
-12189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 480.809 396.593 491.713]
-/A << /S /GoTo /D (page.238) >>
->> endobj
-12190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 468.854 476.672 479.758]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 447.001 362.272 455.847]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 421.033 396.593 431.937]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 397.123 411.527 408.027]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 375.27 362.272 384.116]
-/A << /S /GoTo /D (page.316) >>
->> endobj
-12195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 351.359 362.272 360.206]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-12196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 326.109 438.087 336.296]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 313.437 511.551 324.34]
-/A << /S /GoTo /D (page.402) >>
->> endobj
-12198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 291.584 362.272 300.43]
-/A << /S /GoTo /D (page.410) >>
->> endobj
-12199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.629 266.333 470.584 276.52]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 242.423 401.016 252.609]
-/A << /S /GoTo /D (page.441) >>
->> endobj
-12201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 218.512 401.016 228.699]
-/A << /S /GoTo /D (page.443) >>
->> endobj
-12202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 205.84 504.348 216.744]
-/A << /S /GoTo /D (page.477) >>
->> endobj
-12203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 193.885 494.684 204.789]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-12204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.669 181.93 491.606 192.834]
-/A << /S /GoTo /D (page.490) >>
->> endobj
-12205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.258 169.975 513.194 180.878]
-/A << /S /GoTo /D (page.491) >>
->> endobj
-12206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 136.166 362.272 145.013]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 122.154 511.506 133.058]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 112.356 362.272 121.103]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 76.39 362.272 85.237]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12216 0 obj <<
-/D [12214 0 R /XYZ 89 770.89 null]
->> endobj
-12213 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12274 0 obj <<
-/Length 1272      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~�W�e��t�l���t&)$C7/�mfӎ��x
-6+���ׯ|#�_ɶ3}����
}��Ȃ�\��e�|��\hP0��bU�|
(h����f­ؿ��n�O�w�u ���E���Vo����x+P<� M����'(�x�;�ЅM�i)(X�
a������� ȟ14� B񜦄�h��m����Θm]9w�f''o=������'�F�-ᶍ�E�p�#��[>8�(T��Q��00�wǷe��^`C�{y+���ca�����M�2H��7o�.;��HXK,�e����	A�ά���r��HW�8�U9�����i��6F "c�q/B��4Q��Wit��
W���Ck�B�Hie
p��fV;Z�}�{�V����9
��2$�A:��� g�]�4�
�
-��}������^*JH&J4m_��F"!�E"���t�Ry�Zy�����>����t")W�Pl?G��r«.#�~�d�-&���.��������G�+��'�<�N�p��9[SwJ
� �X�-��Ϋ U�szZ�;�]k|o�
-��o`��޷"�D�o�i>��p}��jB~��8Sg=?|Չ�lN=7~��,�FzS0]P�t\;(Z �D�<���X4�
LœY�����0R���u���*VJ�j��{���C�A����g�9���� ��2���s�EA���@&���ɟ�c/x�p�
#:[OyV4����͸�B�}ӚH2�9���=99��qO9
+1k/�P- ��q� �cV���d*@�H`uiy&�2��Ey�9�i�O���o�϶�Rީ���yp�.�W����e���J���Y�`�j�^�i=x��)�n����q���L=
A:�#�րg�� �@0���77/R(�
V�v��T����?����ZՑ�@qx~�
�W
(F	�?B1�D=�wǝ[+�[?�.?N<O0��b
j�f�(3	=���u�Z5Sh����L�I��߽���0, >X��9
��\k�
@�L f�����.�׽�O�����
7���5!��
�q|j٫�6l�w�u�]�H�K�h��Ek��`�I�#��
� ���7%�g��Ao��sf��������/&*0T��}qzO�i��\X+ �4��J�����ה\��0�_����."����v��"~�	����&ܨ����2�1�	٘�!}�3�`�O�"]2��}�}�N:��f�>X�Ί'��0��/�!h[#�=[z,�︼q`����> �
-endstream
-endobj
-12273 0 obj <<
-/Type /Page
-/Contents 12274 0 R
-/Resources 12272 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12210 0 R 12211 0 R 12217 0 R 12218 0 R 12219 0 R 12220 0 R 12221 0 R 12222 0 R 12223 0 R 12224 0 R 12225 0 R 12226 0 R 12227 0 R 12228 0 R 12229 0 R 12230 0 R 12231 0 R 12232 0 R 12233 0 R 12234 0 R 12235 0 R 12236 0 R 12237 0 R 12238 0 R 12239 0 R 12240 0 R 12241 0 R 12242 0 R 12243 0 R 12244 0 R 12245 0 R 12246 0 R 12247 0 R 12248 0 R 12249 0 R 12250 0 R 12251 0 R 12252 0 R 12253 0 R 12254 0 R 12255 0 R 12256 0 R 12257 0 R 12258 0 R 12259 0 R 12260 0 R 12261 0 R 12262 0 R 12 [...]
->> endobj
-12210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 707.957 295.024 718.861]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 698.059 145.791 706.906]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 661.511 145.791 670.357]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-12218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 624.962 145.791 633.809]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 610.608 295.024 621.512]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 600.81 145.791 609.557]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 562.104 195.046 573.008]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 525.555 195.046 536.459]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 491.064 145.791 499.911]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 464.755 195.046 475.659]
-/A << /S /GoTo /D (page.303) >>
->> endobj
-12225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.034 464.755 214.971 475.659]
-/A << /S /GoTo /D (page.304) >>
->> endobj
-12226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.96 464.755 234.896 475.659]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.885 464.755 254.821 475.659]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 428.206 195.046 439.11]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 393.715 145.791 402.561]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 367.406 195.046 378.31]
-/A << /S /GoTo /D (page.304) >>
->> endobj
-12231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.034 367.406 214.971 378.31]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.598 343.871 184.535 354.058]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-12233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.598 319.619 184.535 329.806]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-12234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 282.353 195.046 293.257]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 257.76 290.068 268.664]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 233.166 290.068 244.07]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 208.573 285.097 219.477]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 196.276 258.537 207.18]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 174.081 145.791 182.928]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 159.727 290.068 170.631]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 147.431 295.024 158.334]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 137.533 145.791 146.379]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 111.223 180.112 122.127]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.237 98.927 291.174 109.831]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 86.63 281.759 97.534]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 74.333 260.191 85.237]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 698.059 362.272 706.906]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 672.055 396.593 682.959]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 650.166 362.272 659.012]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-12250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 624.879 438.087 635.066]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.629 600.932 470.584 611.119]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 576.985 401.016 587.172]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-12253 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 553.039 401.016 563.225]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-12254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 540.33 494.684 551.234]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-12255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 516.346 506.55 527.25]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 481.125 401.016 491.312]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-12257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.08 457.178 401.016 467.365]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-12258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 422.58 362.272 431.427]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 397.257 425.255 407.443]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-12260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 373.274 425.255 383.46]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-12261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 349.29 425.255 359.477]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-12262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 314.692 362.272 323.539]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 288.651 511.551 299.555]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 254.77 362.272 263.617]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 229.447 425.255 239.634]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 205.464 425.255 215.651]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 181.481 425.255 191.667]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-12268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 146.21 494.684 157.114]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-12269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 110.989 403.527 121.176]
-/A << /S /GoTo /D (page.434) >>
->> endobj
-12270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 76.39 362.272 85.237]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12275 0 obj <<
-/D [12273 0 R /XYZ 89 770.89 null]
->> endobj
-12272 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12381 0 obj <<
-/Length 1540      
-/Filter /FlateDecode
->>
-stream
-xڵ�Qw�H��������a��C,]D��M7�3�l��v?�΀��D�}H����;��� ���a��m��w�dȆu�]I��
C�tv��
�����I5�l �ݕ���;���0���?$%�[��=��6
�i�N���=�)�h+u��>i��� /�h��E�%p�)ޒ��T�®���f��]1i)Z�-F�(��!K���/(�?߽R��$$'�=U�I���鰑q�S.�u�gR��j�=M9�ꠏ�
�тLH�'�k�z�k�fQ�O�(D�_�3]N�$
ylC
4;���
1�m���Y0z�8

�#���м��1G�Z-�3��������rjC9c�qѝ94
s�o)��tͺ�U��
-6w�O�tVY��r��鶔^s�T�T�����Z欲��us�����ݟhd9�
�{˱���᜖�5�Ε
�g<
���r&v}�M�X0��2bhV[
�VVa���-6�[�U�.݄
�0N(���bc`~l)�9�9�o�c* �.g��ܩ5pyY�]���������
��SMƖ#
-
��m	C�"���� ���5?�Ŵ+��}\�/�38���n���9��*��W�|��|Ě�	��^މ���:�UQ�
�(h��Ĝ�~�nh�S����㴀g�fMC��{;
�Q׾j�$����u3ß�hQ��k��o2Q߶��]6c%��Tt�Ӄ����;y#�[��㽊���va�}g��g�3Qp�j����^n���ql�GNY)e7��~�ۼ���+�l�
 0$��
�>�8��k�ڇ
b��h�%��%BP4��;�������5�ّ?���\W�W�=�6������H�{�H�S�$�I5asZ�
̑�EFO̵���uS���db#��%���3��A�����@�� s���b� �Ҕ�n���b��XN=�
�"��Xm#����T&J���|�o Ł�fߣ���o��l�w����"Y~�D^�鞄�� =?���b!�[�v�B_+M
V�4�|�~z)gu�4�F��{-�-	��p��vA�"�b\���o"�,���{���-^
cU�[9��U����
�K���������y�7����/��'IB�*Ym�סЖ�`Y�����
-�wʃ
O@'7JRv�V4�"���"����k>p$����������b�{eu����bv�)͔�,y8!���@D�,���;%�0Z����F�P�ˋ:-y.i�Cq�%(d���x:�kB�.*���<]T����+p�Ru���B����
����2qV;��|����u9��y�%�y�OK�0��
_��[���2,�^8���>�w���&����x�
�

-�o>�:)E�eCW���r|���U{�eEcW3q�����R�Rϭ���؟g��7)҃yL�o-Mk����{
d߿ 
dʼn���N������VМr�83�t�������*��Wv6I�{ws���${���
���f�
nN|xn�ґ����ʄm�^6����6-V�	�M��q�
-endstream
-endobj
-12380 0 obj <<
-/Type /Page
-/Contents 12381 0 R
-/Resources 12379 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12277 0 R 12278 0 R 12279 0 R 12280 0 R 12281 0 R 12282 0 R 12283 0 R 12284 0 R 12285 0 R 12286 0 R 12287 0 R 12288 0 R 12289 0 R 12290 0 R 12291 0 R 12292 0 R 12293 0 R 12294 0 R 12295 0 R 12296 0 R 12297 0 R 12298 0 R 12299 0 R 12300 0 R 12301 0 R 12302 0 R 12303 0 R 12304 0 R 12305 0 R 12306 0 R 12307 0 R 12308 0 R 12309 0 R 12310 0 R 12311 0 R 12312 0 R 12313 0 R 12314 0 R 12315 0 R 12316 0 R 12317 0 R 12318 0 R 12319 0 R 12320 0 R 12321 0 R 12322 0 R 12323 0 R 12324 0 R 12 [...]
->> endobj
-12277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.104 145.791 694.951]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.415 648.899 172.351 659.085]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.788 624.988 155.743 635.175]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 613.033 182.861 623.22]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.972 601.078 167.927 611.265]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.016 589.123 166.971 599.309]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.527 577.168 177.482 587.354]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.012 565.212 223.967 575.399]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.028 553.257 192.984 563.444]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.52 541.302 208.475 551.489]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.92 529.347 189.875 539.534]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.918 517.392 208.874 527.578]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.885 505.437 161.84 515.623]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.292 493.481 197.247 503.668]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.464 481.526 183.419 491.713]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.968 469.571 224.923 479.758]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.96 457.616 165.915 467.803]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.897 445.661 187.853 455.847]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.227 433.706 217.182 443.892]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.493 421.75 178.448 431.937]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.01 409.451 157.965 419.982]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.01 397.84 157.965 408.027]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.01 385.885 157.965 396.071]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.904 373.93 156.859 384.116]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.097 361.975 164.052 372.161]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.987 350.019 155.943 360.206]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.01 338.064 157.965 348.251]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.763 313.81 180.7 324.34]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.155 301.855 252.092 312.385]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.576 289.9 230.513 300.43]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.611 266.333 210.547 276.52]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.595 254.378 153.532 264.565]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 242.423 160.177 252.609]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.895 230.468 150.832 240.654]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.595 206.557 153.532 216.744]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.327 194.602 190.264 204.789]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 182.647 160.177 192.834]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.761 158.737 170.697 168.923]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 146.781 292.061 156.968]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 134.826 289.899 145.013]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.42 122.871 229.357 133.058]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.526 98.961 230.463 109.147]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.875 87.006 254.811 97.192]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.128 75.05 278.064 85.237]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.117 708.674 479.053 718.861]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.302 696.719 459.238 706.906]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.411 684.764 491.347 694.951]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.485 660.854 410.421 671.04]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.01 648.181 427.965 659.085]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-12326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.639 636.226 502.594 647.13]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-12327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.602 624.271 512.557 635.175]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-12328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.627 612.316 476.582 623.22]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-12329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.59 600.361 486.545 611.265]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-12330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.5 589.123 369.455 599.309]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.49 576.45 417.445 587.354]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-12332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.155 565.212 376.11 575.399]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.175 552.54 477.13 563.444]
-/A << /S /GoTo /D (page.81) >>
->> endobj
-12334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [475.138 540.585 487.093 551.489]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-12335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.306 528.63 450.261 539.534]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-12336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.426 517.392 394.381 527.578]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6 505.437 406.555 515.623]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-12338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.467 492.764 436.423 503.668]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-12339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.161 480.809 433.116 491.713]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-12340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.525 469.571 426.48 479.758]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-12341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.488 457.616 436.443 467.803]
-/A << /S /GoTo /D (page.81) >>
->> endobj
-12342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.717 444.943 476.672 455.847]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 432.988 412.613 443.892]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 421.033 416.488 431.937]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-12345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 409.795 405.987 419.982]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 397.84 409.863 408.027]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-12347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.127 385.168 455.063 396.071]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-12348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.501 373.212 448.438 384.116]
-/A << /S /GoTo /D (page.107) >>
->> endobj
-12349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 361.257 490.101 372.161]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-12350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 349.302 491.207 360.206]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-12351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 337.347 399.093 348.251]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-12352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 325.392 411.816 336.296]
-/A << /S /GoTo /D (page.112) >>
->> endobj
-12353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 313.437 385.515 324.34]
-/A << /S /GoTo /D (page.99) >>
->> endobj
-12354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.503 313.437 405.44 324.34]
-/A << /S /GoTo /D (page.101) >>
->> endobj
-12355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.086 301.481 458.022 312.385]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-12356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 289.526 438.386 300.43]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-12357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 277.571 451.108 288.475]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-12358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 266.333 428.932 276.52]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-12359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 254.378 429.539 264.565]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-12360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.936 241.706 457.872 252.609]
-/A << /S /GoTo /D (page.116) >>
->> endobj
-12361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.21 229.75 446.147 240.654]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-12362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 217.795 424.239 228.699]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-12363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 206.557 387.726 216.744]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 194.602 380.533 204.789]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-12365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 181.93 417.345 192.834]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-12366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.428 169.975 473.365 180.878]
-/A << /S /GoTo /D (page.115) >>
->> endobj
-12367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.353 169.975 493.29 180.878]
-/A << /S /GoTo /D (page.116) >>
->> endobj
-12368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 158.019 453.02 168.923]
-/A << /S /GoTo /D (page.123) >>
->> endobj
-12369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.009 158.019 472.946 168.923]
-/A << /S /GoTo /D (page.124) >>
->> endobj
-12370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 146.064 449.554 156.968]
-/A << /S /GoTo /D (page.121) >>
->> endobj
-12371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 134.109 440.856 145.013]
-/A << /S /GoTo /D (page.121) >>
->> endobj
-12372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.073 122.154 387.009 133.058]
-/A << /S /GoTo /D (page.104) >>
->> endobj
-12373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 110.199 449.992 121.103]
-/A << /S /GoTo /D (page.112) >>
->> endobj
-12374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 98.244 462.714 109.147]
-/A << /S /GoTo /D (page.113) >>
->> endobj
-12375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.497 86.288 436.433 97.192]
-/A << /S /GoTo /D (page.118) >>
->> endobj
-12376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 75.05 389.38 85.237]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12382 0 obj <<
-/D [12380 0 R /XYZ 89 770.89 null]
->> endobj
-12379 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12504 0 obj <<
-/Length 1554      
-/Filter /FlateDecode
->>
-stream
-xڽZY��8~ϯ��N�v<�!S��,��B�0[��@�[I��
B���>2L<A��ه
v�O�V���/F��@��ٓ���3�z�g\/���؃�ĸ9���O���~i�(0������������̂�Ȱ����F��n>!#��/
d:a`lۋ2õ
�L����g�! ��
�w�e��Ս���-|��<ڔ%�/�M�D���*��2j�N���ָ�*���{�|fܜ��Y��_Ѝo�0P��ϑxE�y/EDb�*JX�� �hɋL��.�X�!;g���I
SEKm�8t��)�XM��ɋ��]ZsR)��/�@?�Օ�#P��"��2�J�OXF�
-�+����;���J#�>��9���f�������+`+����E�`����1��I�ѣ�C���
��_"u��k�n`z�s艽A���
\�
-IYN	�ޥ����4ڲz
�E��
-�ҥF�J��z�lE�±�zb����I��եj���IFϊ���5o4Z��r��43db�eeʖ�hS�|լL�3�*�4�3��t�"ÊWc�iH�vn�3RJ�-N�5�/��)+�mn�B�M~Ժ!-CI�r�Ě
P�fC�%�BnW�s���VWl
X�����Do�t��	'�_l�	�]^>y��r�+�k�PPL�_S�����ERg�wxU\d%�RR����sޖ���=���啚a�p�О�a�w���<I�$�s�!X5
�bBtm
�j4(a����)՛���;�l�ܡ�t�
�-h"��8����İ8�����g}Q�2���j�Xr:f��d��b1�V5[r�������N�#�uBe�M���퉘
-���+:?ڷDx�&�A��m�λ	4E�Z.��}��nYBs
H���h�P/U@,�G�<'���a�?
��L7�
�_�v;��bI9U�"]�
-�𢌪��
����ZY�01���SXz��6�X�������eC����"�ՖE�h7OX�*KN�6I�M���4�Zќr������^�ƙ���&���[T��Ͽ5֐�ĵk��$��u����N�t"�e[�!�ʶ��<E�
��mXJZ�I*�$����%��*!;ڛ�E�H��	a_U
��N��
-�X,XB�P��
����O\��U^�x�^��A�k�F�׺����>�z�ө�ÒV�c��P����굤!�&�	���pI?�-�KR���-�5Tl	%�kҒ��DM���Ҥ�.<�
�ҫۓ�fX�
L
�є#<�:C���֛4
�(��+�4���#�ߛM��\w�cC�E�
~(O�Mz"�ު�����S�l�DEI������!g��[A����@š4�-�{B�M��H���
BX�}9I�
�,�A.��Z^FIB�
�(�4Q���q��
>��=� 
�'��O��M��ι����־�5����M�g���������U��k�oH�}��0�
ޔ8�Id�Kl��2����{J��v3�b쿽j
����k�� {�'�뺼���n�f\�����d�EY���ڲ\ӿYB��a�O��p2k�Q� ��7`��
-endstream
-endobj
-12503 0 obj <<
-/Type /Page
-/Contents 12504 0 R
-/Resources 12502 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12377 0 R 12383 0 R 12384 0 R 12385 0 R 12386 0 R 12387 0 R 12388 0 R 12389 0 R 12390 0 R 12391 0 R 12392 0 R 12393 0 R 12394 0 R 12395 0 R 12396 0 R 12397 0 R 12398 0 R 12399 0 R 12400 0 R 12401 0 R 12402 0 R 12403 0 R 12404 0 R 12405 0 R 12406 0 R 12407 0 R 12408 0 R 12409 0 R 12410 0 R 12411 0 R 12412 0 R 12413 0 R 12414 0 R 12415 0 R 12416 0 R 12417 0 R 12418 0 R 12419 0 R 12420 0 R 12421 0 R 12422 0 R 12423 0 R 12424 0 R 12425 0 R 12426 0 R 12427 0 R 12428 0 R 12429 0 R 12 [...]
->> endobj
-12377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.79 707.957 282.726 718.861]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-12383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 696.002 207.219 706.906]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 684.047 196.719 694.951]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-12385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.969 672.092 234.905 682.996]
-/A << /S /GoTo /D (page.124) >>
->> endobj
-12386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.161 660.136 290.098 671.04]
-/A << /S /GoTo /D (page.117) >>
->> endobj
-12387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.67 648.181 274.606 659.085]
-/A << /S /GoTo /D (page.118) >>
->> endobj
-12388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.573 636.226 268.509 647.13]
-/A << /S /GoTo /D (page.119) >>
->> endobj
-12389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 624.271 225.481 635.175]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-12390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 613.033 170.139 623.22]
-/A << /S /GoTo /D (page.102) >>
->> endobj
-12391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.128 613.033 190.064 623.22]
-/A << /S /GoTo /D (page.103) >>
->> endobj
-12392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 601.078 168.485 611.265]
-/A << /S /GoTo /D (page.103) >>
->> endobj
-12393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 601.078 188.41 611.265]
-/A << /S /GoTo /D (page.104) >>
->> endobj
-12394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 588.405 179.539 599.309]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 576.45 175.28 587.354]
-/A << /S /GoTo /D (page.122) >>
->> endobj
-12396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.814 564.495 238.751 575.399]
-/A << /S /GoTo /D (page.123) >>
->> endobj
-12397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 552.54 227.125 563.444]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-12398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 540.585 231 551.489]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-12399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 529.347 220.5 539.534]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-12400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 517.392 224.375 527.578]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-12401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.04 505.437 183.977 515.623]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-12402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.966 505.437 203.902 515.623]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-12403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 492.764 268.34 503.668]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-12404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 480.809 237.904 491.713]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-12405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 468.854 254.681 479.758]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-12406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 456.899 196.709 467.803]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-12407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 444.943 151.22 455.847]
-/A << /S /GoTo /D (page.125) >>
->> endobj
-12408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 432.988 208.325 443.892]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-12409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 421.75 177.332 431.937]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-12410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.321 421.75 197.257 431.937]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 409.078 213.307 419.982]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.292 397.123 250.228 408.027]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-12413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 385.168 180.65 396.071]
-/A << /S /GoTo /D (page.115) >>
->> endobj
-12414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 363.315 145.791 372.161]
-/A << /S /GoTo /D (page.125) >>
->> endobj
-12415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.211 349.302 165.148 360.206]
-/A << /S /GoTo /D (page.126) >>
->> endobj
-12416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.401 325.392 234.337 336.296]
-/A << /S /GoTo /D (page.185) >>
->> endobj
-12417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.675 313.437 238.612 324.34]
-/A << /S /GoTo /D (page.126) >>
->> endobj
-12418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 301.481 196.132 312.385]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-12419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 289.526 200.007 300.43]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-12420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 278.288 189.506 288.475]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-12421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 266.333 193.382 276.52]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-12422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 253.661 238.582 264.565]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-12423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 241.706 231.957 252.609]
-/A << /S /GoTo /D (page.143) >>
->> endobj
-12424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 229.75 273.62 240.654]
-/A << /S /GoTo /D (page.154) >>
->> endobj
-12425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 217.795 274.726 228.699]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-12426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 205.84 182.612 216.744]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-12427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 193.885 195.334 204.789]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-12428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 181.93 221.905 192.834]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-12429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 169.975 234.627 180.878]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-12430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 158.737 212.451 168.923]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-12431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 146.781 213.058 156.968]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-12432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.518 134.826 147.454 145.013]
-/A << /S /GoTo /D (page.135) >>
->> endobj
-12433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.443 134.826 167.38 145.013]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-12434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.729 122.154 229.665 133.058]
-/A << /S /GoTo /D (page.154) >>
->> endobj
-12435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.112 110.199 226.049 121.103]
-/A << /S /GoTo /D (page.153) >>
->> endobj
-12436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 98.244 207.757 109.147]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-12437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 87.006 171.245 97.192]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-12438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 75.05 164.052 85.237]
-/A << /S /GoTo /D (page.141) >>
->> endobj
-12439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 707.957 417.345 718.861]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-12440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.428 696.002 473.365 706.906]
-/A << /S /GoTo /D (page.152) >>
->> endobj
-12441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 684.047 453.02 694.951]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-12442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.009 684.047 472.946 694.951]
-/A << /S /GoTo /D (page.160) >>
->> endobj
-12443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 672.092 449.554 682.996]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-12444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 660.136 440.856 671.04]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-12445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.073 648.181 387.009 659.085]
-/A << /S /GoTo /D (page.141) >>
->> endobj
-12446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 636.226 449.992 647.13]
-/A << /S /GoTo /D (page.149) >>
->> endobj
-12447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.981 636.226 469.917 647.13]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-12448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 624.271 462.714 635.175]
-/A << /S /GoTo /D (page.149) >>
->> endobj
-12449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.703 624.271 482.639 635.175]
-/A << /S /GoTo /D (page.150) >>
->> endobj
-12450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.733 612.316 394.67 623.22]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-12451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.871 600.361 416.807 611.265]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.12 588.405 417.056 599.309]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 576.45 423.701 587.354]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-12454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 564.495 413.2 575.399]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-12455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 552.54 451.387 563.444]
-/A << /S /GoTo /D (page.160) >>
->> endobj
-12456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.375 552.54 471.312 563.444]
-/A << /S /GoTo /D (page.161) >>
->> endobj
-12457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.151 540.585 491.087 551.489]
-/A << /S /GoTo /D (page.153) >>
->> endobj
-12458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 528.63 441.962 539.534]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-12459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 517.392 386.62 527.578]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-12460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.609 517.392 406.545 527.578]
-/A << /S /GoTo /D (page.140) >>
->> endobj
-12461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 505.437 384.966 515.623]
-/A << /S /GoTo /D (page.140) >>
->> endobj
-12462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 492.764 396.021 503.668]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-12463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 480.809 391.761 491.713]
-/A << /S /GoTo /D (page.158) >>
->> endobj
-12464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.898 468.854 430.834 479.758]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-12465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.773 456.899 434.709 467.803]
-/A << /S /GoTo /D (page.146) >>
->> endobj
-12466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 444.943 455.232 455.847]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-12467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 432.988 443.606 443.892]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-12468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 421.033 447.482 431.937]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-12469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 409.795 436.981 419.982]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-12470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 397.84 440.856 408.027]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-12471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 385.885 400.458 396.071]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-12472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.447 385.885 420.383 396.071]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-12473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 373.212 484.821 384.116]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-12474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 361.257 454.386 372.161]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-12475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.627 350.019 393.564 360.206]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-12476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 337.347 471.162 348.251]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-12477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 325.392 413.19 336.296]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-12478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 313.437 424.806 324.34]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-12479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 302.199 393.813 312.385]
-/A << /S /GoTo /D (page.146) >>
->> endobj
-12480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 289.526 429.788 300.43]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-12481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 277.571 466.71 288.475]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-12482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.194 265.616 397.131 276.52]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-12483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.113 253.661 496.049 264.565]
-/A << /S /GoTo /D (page.161) >>
->> endobj
-12484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.955 241.706 404.892 252.609]
-/A << /S /GoTo /D (page.163) >>
->> endobj
-12485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.881 241.706 424.817 252.609]
-/A << /S /GoTo /D (page.166) >>
->> endobj
-12486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.397 229.75 452.333 240.654]
-/A << /S /GoTo /D (page.167) >>
->> endobj
-12487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.937 217.795 510.873 228.699]
-/A << /S /GoTo /D (page.167) >>
->> endobj
-12488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 205.84 390.496 216.744]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.148 193.885 412.085 204.789]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 181.93 380.533 192.834]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.665 169.975 391.601 180.878]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-12492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.827 158.019 377.763 168.923]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.547 146.064 364.484 156.968]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.914 134.826 383.851 145.013]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.962 122.154 413.898 133.058]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12496 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.615 110.199 415.552 121.103]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.262 98.244 456.199 109.147]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.098 86.288 396.035 97.192]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-12499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.665 74.333 391.602 85.237]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12505 0 obj <<
-/D [12503 0 R /XYZ 89 770.89 null]
->> endobj
-12502 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12619 0 obj <<
-/Length 1418      
-/Filter /FlateDecode
->>
-stream
-x��Z[o�6}����0�e��s
��A�u˚
�#1�P�r(����GYrˎHY��ے���

R�� ���������
\��wF 
�LǕG�q3v�=�|�ΰ` ʻ6������?���ף�Qy
���1=����g`D��;�V���E�a#K~'���x
-�q� �@�F��AhBX��#:���_�I��
��B56_� >^���)r�zA}A5���Js��T�b�,�ʆ��m�8f� @,k%
WmKl\\P~�1��X�bXx,��ǬHo�����2^��e�VCi�`T�r��ʩn����n���y]
-ْr"2^^4{#��[�Y�	g�ֿTW�4�gJB�^���2�%m��n4��
�
Ӗl�
5��X�R�g~� �_�:?�/{�|��p�����O�V�x�
��t [�yO��
-���$��:AΘ$�Z
{�%�VN�������S� �$_M �e���L��4��Zΰ�v-h޳�/Xx�6����I�eY��_f���F����[N���췌-xAY�.��,���
f�,�Rj�1e�z`k,��@���CA
�����a��8�
,�/9���B� �Y�-�$=�LN��F��8�b$�:Ln��
��{FZ&yQc��a�5PM��
��*�\pY��$�Z8D[�
��ֲ��g���oXV�_g�D.��
�d�U�	�$#$Eʔ�I�kR�
-�֞�X�甋�F4���~�����
p���z�h�ΪԞ����������@s�v��&��yliT�"Δj&��l�o�8\ӑ!se�]dW���Y�Ǽ
�v
�8:�TFb�ԏ�3�`B�r�>:�#��[����Ȕf�TO ;H
�5Ÿ��	]�A��Ȏ�
��j��HOۅ!6�#:W�AÆ���k���I
�wm��>�z0	 �"s���|=��x��]����!�����Ј'���hT�?L~��D'��:9RāC"
.�j�v��3rw��$��-�^Q�4fDt
��X��|0��TQL���KYB��l��^O��l3�m34�Z}U��g�,c|YZOح#]P�מ�j��:�a���x�iwԾ��yEa��⨮�\��-�$�(a8�꟔�Y�]nd�Y�(�&O
�wFl��z3�3ͧd�f�4��E��hN�}-P9o��%�s�(��i�"L�2�V;�䨷�,
J�0�q��Hi�}���=
���Z�p��0�Tl��H�W�^|��o�_��
�����5;��.�o�9��K�����z�&���WKt�g:򦪭��d�1:��6D�a
�����'�3��$�~�Z��<���$0e\��
���%�����ʽ/�����]G���@ے�by6��V+3�͂�Kn�b�\&��6]���=����f�v?fw峥r�b��I�/��]
-endstream
-endobj
-12618 0 obj <<
-/Type /Page
-/Contents 12619 0 R
-/Resources 12617 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12500 0 R 12506 0 R 12507 0 R 12508 0 R 12509 0 R 12510 0 R 12511 0 R 12512 0 R 12513 0 R 12514 0 R 12515 0 R 12516 0 R 12517 0 R 12518 0 R 12519 0 R 12520 0 R 12521 0 R 12522 0 R 12523 0 R 12524 0 R 12525 0 R 12526 0 R 12527 0 R 12528 0 R 12529 0 R 12530 0 R 12531 0 R 12532 0 R 12533 0 R 12534 0 R 12535 0 R 12536 0 R 12537 0 R 12538 0 R 12539 0 R 12540 0 R 12541 0 R 12542 0 R 12543 0 R 12544 0 R 12545 0 R 12546 0 R 12547 0 R 12548 0 R 12549 0 R 12550 0 R 12551 0 R 12552 0 R 12 [...]
->> endobj
-12500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.209 707.957 187.145 718.861]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.393 696.002 151.33 706.906]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.328 684.047 171.265 694.951]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.053 672.092 169.99 682.996]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.668 660.136 200.604 671.04]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 648.899 200.027 659.085]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.917 636.226 192.853 647.13]
-/A << /S /GoTo /D (page.176) >>
->> endobj
-12512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.742 624.271 175.678 635.175]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.499 612.316 200.435 623.22]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.035 600.361 174.971 611.265]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-12515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.96 600.361 194.896 611.265]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.854 588.405 171.791 599.309]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 576.45 179.539 587.354]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.473 564.495 177.41 575.399]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.854 552.54 171.791 563.444]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12520 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 540.585 179.539 551.489]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-12521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.473 528.63 177.41 539.534]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12522 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.724 516.674 169.661 527.578]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12523 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.224 504.719 167.16 515.623]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12524 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 492.764 175.28 503.668]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.375 480.809 156.311 491.713]
-/A << /S /GoTo /D (page.182) >>
->> endobj
-12526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.006 469.571 171.942 479.758]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-12527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.748 456.899 144.685 467.803]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-12528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.742 444.943 175.678 455.847]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-12529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.119 432.988 195.055 443.892]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-12530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 421.033 151.22 431.937]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-12531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.554 409.078 225.491 419.982]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-12532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.271 397.123 181.207 408.027]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-12533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.207 385.168 270.143 396.071]
-/A << /S /GoTo /D (page.186) >>
->> endobj
-12534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.713 373.93 172.649 384.116]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.049 361.257 178.986 372.161]
-/A << /S /GoTo /D (page.190) >>
->> endobj
-12536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.636 349.302 174.572 360.206]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.137 338.064 190.074 348.251]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.438 325.392 219.374 336.296]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.579 313.437 189.516 324.34]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 302.199 170.687 312.385]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 289.526 179.539 300.43]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.875 277.571 166.812 288.475]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.494 265.616 172.43 276.52]
-/A << /S /GoTo /D (page.191) >>
->> endobj
-12544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 253.661 175.28 264.565]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.023 241.706 177.96 252.609]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.339 229.75 192.276 240.654]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.638 217.795 200.575 228.699]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-12548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 205.84 151.22 216.744]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 183.867 145.791 192.834]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-12550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.99 170.692 247.927 180.878]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.37 158.019 213.307 168.923]
-/A << /S /GoTo /D (page.197) >>
->> endobj
-12552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.047 146.781 152.983 156.968]
-/A << /S /GoTo /D (page.197) >>
->> endobj
-12553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.972 146.781 172.909 156.968]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 134.109 179.539 145.013]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 122.154 151.22 133.058]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-12556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.498 98.244 240.434 109.147]
-/A << /S /GoTo /D (page.202) >>
->> endobj
-12557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.792 75.05 191.728 85.237]
-/A << /S /GoTo /D (page.199) >>
->> endobj
-12558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.359 707.957 409.295 718.861]
-/A << /S /GoTo /D (page.199) >>
->> endobj
-12559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.062 696.002 479.999 706.906]
-/A << /S /GoTo /D (page.205) >>
->> endobj
-12560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.194 684.764 389.131 694.951]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.905 672.809 388.842 682.996]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.756 660.136 412.692 671.04]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.619 648.899 406.555 659.085]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.061 636.226 405.997 647.13]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.336 624.271 388.272 635.175]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.261 624.271 408.197 635.175]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 612.316 396.021 623.22]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.954 600.361 393.891 611.265]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.88 600.361 413.816 611.265]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.336 588.405 388.272 599.309]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.261 588.405 408.197 599.309]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.954 576.45 393.891 587.354]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.88 576.45 413.816 587.354]
-/A << /S /GoTo /D (page.212) >>
->> endobj
-12574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 564.495 391.761 575.399]
-/A << /S /GoTo /D (page.211) >>
->> endobj
-12575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.75 564.495 411.686 575.399]
-/A << /S /GoTo /D (page.213) >>
->> endobj
-12576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 552.54 367.702 563.444]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.068 540.585 367.004 551.489]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-12578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 528.63 513.996 539.534]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-12579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 516.674 396.021 527.578]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 504.719 391.761 515.623]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 492.764 367.702 503.668]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.979 468.854 456.916 479.758]
-/A << /S /GoTo /D (page.200) >>
->> endobj
-12583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 447.001 362.272 455.847]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-12584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.359 432.988 409.295 443.892]
-/A << /S /GoTo /D (page.219) >>
->> endobj
-12585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.793 421.033 487.73 431.937]
-/A << /S /GoTo /D (page.219) >>
->> endobj
-12586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.188 409.078 452.124 419.982]
-/A << /S /GoTo /D (page.221) >>
->> endobj
-12587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 397.123 396.021 408.027]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 385.168 391.761 396.071]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 373.212 367.702 384.116]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.623 361.257 506.559 372.161]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-12591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.379 349.302 478.315 360.206]
-/A << /S /GoTo /D (page.223) >>
->> endobj
-12592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.628 337.347 401.564 348.251]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-12593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.194 326.109 389.131 336.296]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.818 314.154 374.755 324.34]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 301.481 453.02 312.385]
-/A << /S /GoTo /D (page.232) >>
->> endobj
-12596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.756 289.526 412.692 300.43]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 277.571 451.387 288.475]
-/A << /S /GoTo /D (page.233) >>
->> endobj
-12598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.335 266.333 362.272 276.52]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-12599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 253.661 396.021 264.565]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.01 253.661 415.946 264.565]
-/A << /S /GoTo /D (page.233) >>
->> endobj
-12601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 241.706 391.761 252.609]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.875 229.75 367.811 240.654]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-12603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.114 217.795 360.05 228.699]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-12604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 205.84 455.232 216.744]
-/A << /S /GoTo /D (page.231) >>
->> endobj
-12605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 193.885 367.702 204.789]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-12606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.068 181.93 367.004 192.834]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-12607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [495.7 169.975 512.636 180.878]
-/A << /S /GoTo /D (page.234) >>
->> endobj
-12608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 158.737 387.726 168.923]
-/A << /S /GoTo /D (page.237) >>
->> endobj
-12609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 146.781 361.714 156.968]
-/A << /S /GoTo /D (page.237) >>
->> endobj
-12610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 134.109 396.021 145.013]
-/A << /S /GoTo /D (page.238) >>
->> endobj
-12611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 122.154 367.702 133.058]
-/A << /S /GoTo /D (page.238) >>
->> endobj
-12612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.979 98.244 456.916 109.147]
-/A << /S /GoTo /D (page.201) >>
->> endobj
-12613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.183 86.288 493.12 97.192]
-/A << /S /GoTo /D (page.238) >>
->> endobj
-12614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 74.333 390.496 85.237]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12620 0 obj <<
-/D [12618 0 R /XYZ 89 770.89 null]
->> endobj
-12617 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12732 0 obj <<
-/Length 1492      
-/Filter /FlateDecode
->>
-stream
-xڽZ�r�6}�W��LE�
�h������mZ�3��3��$��
BV��/@R�$��$�D�<��˹
	�����/���7>0B3�lϸ]!0|74�'��������w����������� �ӣ׷���%�êQ2����8�� �ƶ�(1\�߱q3�k������mC÷,Ӳ�5�b��M�pQ�U�s�~�0[��}=2�6c۵�
�%��T`�V`
:����db��|�
-
G
��5am
XNX�c��$c;DS4�qR(��e��«h1��P-�0xq�
$]fX+�%�J
4�1,���Q�
�7��AI��x`|�-6���g�L��^N�?JC`�`�1�wk�`}�s��n6�ft�V
��$e�mH)m�Y��>Sj�k6S�Vp�i�S��(�V�hER�0�XW�=
��U"2I�E1�0���*���R���qDD>LHZP!8���dN�����s�}&�
���|��D�RG��l�c���^����l�.��:���j�-Y&R�<���(?��0�Ɲ�8��o{b�P�0'����_Ϲ�w �im邤4�-$|K%iE
-ʠ��
-���x at Qa���$�ܬ�
=��e9*���4KE��U%F�3
6�u��\r��(��F�/��)WuŬ�]2� ����?�_�Qə?ݍ�w���f͠�D��D"#���2I�����f�m�{����v�5.֢�X�i��'d��B$Z��Ä7-Dx#���
-�$�2��Y��يF8�w(��B]�(
ӄ�J�-4�b1�B�
-7ۯ��т�%�i���i�D=�6l�3��6<�1=��/�E��k�DM4��h��-�
�����e�W��]����ٜГ��$�ŋ���
4���_Җg�n`z�}���@/_��-F�d��|ݦw:���+�����bLt����QA��t��YϘU,20zA�<��
�2��r��dSѳ	Mӈ�$�[h7W��vb�1λ�E�\���v��\Tn҃[�
#lr��l�)4�"�D��}O�aKĭH�

R�9�S;+ǜ�a�Jz���r�����;�(�
��P�KXj��+'4h��{���앖XVpf��%h�X׺�K?��(9�E%�t@�T�
�J u���B�oR9��i�t��U�ゞ@�)
x������z��GV^O\�_�4�6��ގ�T��k6�s;	�x������t��KU��fWp�����MED)�3��RCK���6{�������sQzFE��i�z�����c7����
��^+o�o�����=X�:}�+�>�;�
��N��)]�����
-ڽ�6S0Ir�C
�!T���I����{M�\��״�I��;A�b��P\_��5���LW��W
�F��4���qQ
���
���� ��f��NS�������
sCH��jg��_��`���V������<�]]m�[3*�MJsfR~���Չ��vmY��@���K����ۧ�8��B�H���j
-endstream
-endobj
-12731 0 obj <<
-/Type /Page
-/Contents 12732 0 R
-/Resources 12730 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12615 0 R 12621 0 R 12622 0 R 12623 0 R 12624 0 R 12625 0 R 12626 0 R 12627 0 R 12628 0 R 12629 0 R 12630 0 R 12631 0 R 12632 0 R 12633 0 R 12634 0 R 12635 0 R 12636 0 R 12637 0 R 12638 0 R 12639 0 R 12640 0 R 12641 0 R 12642 0 R 12643 0 R 12644 0 R 12645 0 R 12646 0 R 12647 0 R 12648 0 R 12649 0 R 12650 0 R 12651 0 R 12652 0 R 12653 0 R 12654 0 R 12655 0 R 12656 0 R 12657 0 R 12658 0 R 12659 0 R 12660 0 R 12661 0 R 12662 0 R 12663 0 R 12664 0 R 12665 0 R 12666 0 R 12667 0 R 12 [...]
->> endobj
-12615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.667 707.957 195.603 718.861]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.48 696.002 197.417 706.906]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.134 684.047 199.07 694.951]
-/A << /S /GoTo /D (page.242) >>
->> endobj
-12623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.781 672.092 239.717 682.996]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.184 660.136 175.12 671.04]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.209 648.181 187.145 659.085]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.742 636.226 175.678 647.13]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.499 624.271 200.435 635.175]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.035 612.316 174.971 623.22]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.006 601.078 171.942 611.265]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.29 588.405 176.226 599.309]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.742 576.45 175.678 587.354]
-/A << /S /GoTo /D (page.242) >>
->> endobj
-12632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.119 564.495 195.055 575.399]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-12633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.554 552.54 225.491 563.444]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-12634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.329 540.585 240.265 551.489]
-/A << /S /GoTo /D (page.242) >>
->> endobj
-12635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 528.63 196.132 539.534]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-12636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 516.674 200.007 527.578]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-12637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 505.437 189.506 515.623]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-12638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 493.481 193.382 503.668]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-12639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.927 480.809 208.864 491.713]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-12640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.803 468.854 212.739 479.758]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-12641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 456.899 238.582 467.803]
-/A << /S /GoTo /D (page.262) >>
->> endobj
-12642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 444.943 231.957 455.847]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-12643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.378 432.988 251.314 443.892]
-/A << /S /GoTo /D (page.265) >>
->> endobj
-12644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 421.033 273.62 431.937]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-12645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 409.078 274.726 419.982]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-12646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 397.123 182.612 408.027]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-12647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 385.168 195.334 396.071]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-12648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 373.212 221.905 384.116]
-/A << /S /GoTo /D (page.269) >>
->> endobj
-12649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 361.257 234.627 372.161]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-12650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 350.019 212.451 360.206]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-12651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 338.064 213.058 348.251]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-12652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 325.392 207.757 336.296]
-/A << /S /GoTo /D (page.274) >>
->> endobj
-12653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.777 313.437 248.714 324.34]
-/A << /S /GoTo /D (page.271) >>
->> endobj
-12654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 302.199 171.245 312.385]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 290.243 164.052 300.43]
-/A << /S /GoTo /D (page.260) >>
->> endobj
-12656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 277.571 200.863 288.475]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-12657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.947 265.616 256.883 276.52]
-/A << /S /GoTo /D (page.271) >>
->> endobj
-12658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 253.661 233.073 264.565]
-/A << /S /GoTo /D (page.276) >>
->> endobj
-12659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 241.706 224.375 252.609]
-/A << /S /GoTo /D (page.276) >>
->> endobj
-12660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.591 229.75 170.528 240.654]
-/A << /S /GoTo /D (page.260) >>
->> endobj
-12661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 217.795 233.511 228.699]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-12662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 217.795 253.436 228.699]
-/A << /S /GoTo /D (page.268) >>
->> endobj
-12663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 205.84 246.233 216.744]
-/A << /S /GoTo /D (page.268) >>
->> endobj
-12664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.222 205.84 266.158 216.744]
-/A << /S /GoTo /D (page.269) >>
->> endobj
-12665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.478 193.885 240.415 204.789]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-12666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.172 182.647 149.108 192.834]
-/A << /S /GoTo /D (page.253) >>
->> endobj
-12667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.097 182.647 169.033 192.834]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 170.692 172.899 180.878]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 158.019 207.219 168.923]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-12670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.52 146.781 173.456 156.968]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 134.109 196.719 145.013]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.554 122.154 225.491 133.058]
-/A << /S /GoTo /D (page.257) >>
->> endobj
-12673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.334 110.199 297.271 121.103]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-12674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.436 98.244 246.372 109.147]
-/A << /S /GoTo /D (page.273) >>
->> endobj
-12675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.035 86.288 288.972 97.192]
-/A << /S /GoTo /D (page.273) >>
->> endobj
-12676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 74.333 225.481 85.237]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-12677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 708.674 386.62 718.861]
-/A << /S /GoTo /D (page.258) >>
->> endobj
-12678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.609 708.674 406.545 718.861]
-/A << /S /GoTo /D (page.259) >>
->> endobj
-12679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 696.719 384.966 706.906]
-/A << /S /GoTo /D (page.259) >>
->> endobj
-12680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 684.764 361.714 694.951]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-12681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 672.092 396.021 682.996]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 660.136 391.761 671.04]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 648.181 443.606 659.085]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-12684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 636.226 447.482 647.13]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-12685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 624.988 436.981 635.175]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-12686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 613.033 440.856 623.22]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-12687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 600.361 484.821 611.265]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-12688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 588.405 454.386 599.309]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-12689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 576.45 471.162 587.354]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-12690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 564.495 413.19 575.399]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-12691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 552.54 367.702 563.444]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-12692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 540.585 424.806 551.489]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-12693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 529.347 393.813 539.534]
-/A << /S /GoTo /D (page.265) >>
->> endobj
-12694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 516.674 429.788 527.578]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-12695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 504.719 466.71 515.623]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-12696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.36 492.764 414.296 503.668]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-12697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.194 480.809 397.131 491.713]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-12698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.295 468.854 503.232 479.758]
-/A << /S /GoTo /D (page.278) >>
->> endobj
-12699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.693 456.899 381.629 467.803]
-/A << /S /GoTo /D (page.278) >>
->> endobj
-12700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.882 432.988 450.819 443.892]
-/A << /S /GoTo /D (page.186) >>
->> endobj
-12701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.622 421.033 501.558 431.937]
-/A << /S /GoTo /D (page.279) >>
->> endobj
-12702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.194 409.795 389.131 419.982]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.549 397.123 414.486 408.027]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.818 385.885 374.755 396.071]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.366 373.212 383.303 384.116]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.906 361.257 388.842 372.161]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.756 349.302 412.692 360.206]
-/A << /S /GoTo /D (page.285) >>
->> endobj
-12708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 337.347 396.021 348.251]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 325.392 391.761 336.296]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.222 313.437 387.158 324.34]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 301.481 367.702 312.385]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.068 289.526 367.004 300.43]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-12713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 265.616 396.593 276.52]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-12714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 254.378 387.726 264.565]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.528 242.423 369.465 252.609]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 230.468 361.714 240.654]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 217.795 396.021 228.699]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 205.84 391.761 216.744]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 193.885 367.702 204.789]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-12720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.979 169.975 456.916 180.878]
-/A << /S /GoTo /D (page.203) >>
->> endobj
-12721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.189 158.019 502.126 168.923]
-/A << /S /GoTo /D (page.292) >>
->> endobj
-12722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.693 146.064 381.629 156.968]
-/A << /S /GoTo /D (page.293) >>
->> endobj
-12723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.882 122.154 450.819 133.058]
-/A << /S /GoTo /D (page.185) >>
->> endobj
-12724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.283 110.199 469.22 121.103]
-/A << /S /GoTo /D (page.293) >>
->> endobj
-12725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.762 98.244 389.699 109.147]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-12726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.652 86.288 453.588 97.192]
-/A << /S /GoTo /D (page.295) >>
->> endobj
-12727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.781 74.333 392.717 85.237]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-12729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12733 0 obj <<
-/D [12731 0 R /XYZ 89 770.89 null]
->> endobj
-12730 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12856 0 obj <<
-/Length 1747      
-/Filter /FlateDecode
->>
-stream
-xڽZY��F~���[�ku�*� ���&�
-PSc{l
t1�b�_�
I��Z{kɋY������c+�2^��݌�^�������҈,#�"��ma|#˟|�ym��eF�
O5�_]���/�������_�
�}�Ah��чO���˯
�t���47�����G���]E����m�g�m���Je�e9�tb�񷸬hV�$y�hҪ�V�.�^��SYc'�Za�2��
l�����蔕���8-�xy��2�Vx�gU�y�IYƫL������m�I!�	�a�vk����k�a)��yr��
F�x��}����*(#U�J���g�=Y��F
-\V
���6='V��k:��ME���N��q�^ uw8�BӲ����޲G{����[�,���e��t�Pn[��F�;n&�7~<i�}}H��t�;�����l`F�	�'#X%t=C_�j�W���.N�!������aO�=<���%
?�V0
->�g�"�,8����Z⨤��k9�x�=v-W�Aޅ��s]ӎ�
���^�J7����
M?rE
-A~:�$
-��J
8����s
<>�9����2f_���
�I<�'|�'%N>:�ݿc�v���,\C���HQֳ;�V�r�a�3��W���峄��Ž_(ݠ\!qV�mOh�}���ʂ�)^�)�x0/1��B������
��U��h]QvO֩:��	$��PT�<�
#HJ+P�ޥ��	�Nl�
��

-O��^ �T��t�W�,�
.��-	KJ���
-��q�K(�J�1 
H`
W��R���G���,Bl_���$xK
-:p���;�<��6�jG=qrȓp���I�
�V^^^�]VX�BS��j��#�GH��:�f{
/�1
�K���>��9~G��
G`̎P�9f
��"��5��*��}߯I!�*�
+V�L��R�;:��a�K"7��%��j���^�B}��j[��>��C�z��
��M�A��x��:<�K�:�-y�����Vr{��j��j�ٯo����
��<��� �^��:[ ;N����l�@�]�%�SLf9�ZBv�qg4ɹ�S1����rx$.³���y�n�-��F��0֮M�F�h�e}A�{E at G�F+i�r}P�#��q��%e<8�n����ʩ�e�R�#v[צ.u��o��y��d3ˊ���|I3��\���
�R`q��̓�v׎āx��W�O�<xj��V4�.,���/��/{��Qu����XR�פ\C���7m��Z_�D�S�}O.��t���$�K�n��7�d`�I .4�W�C�X!{�sY-zl�*�S��$Gm�
ʜ�|��tu#�+���'Ck�4��`B�Vi�x��٠��Gϫ�yB��U�a���u��`���J���v@�gA�ES>�nE1/��.a�C��M\�u�|[��c����SW�����`����5�;��e4�i��:^�O�D�zB��
�lu�)$Y���x�Ur��/P��"qԯ [...]
-ܰ��p7h�&����^k�=�ՙ����g��3j�叒��&����[��$i?���='	1��h�`~����'~Oi��vy_�����SgW�00]���ʺ��'gg��Ɯ�f��3��(��=��n{fp��j�Q,���~�3��6����M��x<
-endstream
-endobj
-12855 0 obj <<
-/Type /Page
-/Contents 12856 0 R
-/Resources 12854 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12276 0 R
-/Annots [ 12728 0 R 12734 0 R 12735 0 R 12736 0 R 12737 0 R 12738 0 R 12739 0 R 12740 0 R 12741 0 R 12742 0 R 12743 0 R 12744 0 R 12745 0 R 12746 0 R 12747 0 R 12748 0 R 12749 0 R 12750 0 R 12751 0 R 12752 0 R 12753 0 R 12754 0 R 12755 0 R 12756 0 R 12757 0 R 12758 0 R 12759 0 R 12760 0 R 12761 0 R 12762 0 R 12763 0 R 12764 0 R 12765 0 R 12766 0 R 12767 0 R 12768 0 R 12769 0 R 12770 0 R 12771 0 R 12772 0 R 12773 0 R 12774 0 R 12775 0 R 12776 0 R 12777 0 R 12778 0 R 12779 0 R 12780 0 R 12 [...]
->> endobj
-12728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.383 708.674 199.319 718.861]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-12734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.7 696.719 194.637 706.906]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-12735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 684.047 254.681 694.951]
-/A << /S /GoTo /D (page.295) >>
->> endobj
-12736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 672.092 151.22 682.996]
-/A << /S /GoTo /D (page.297) >>
->> endobj
-12737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.841 660.136 271.797 671.04]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-12738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 648.181 173.457 659.085]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-12739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.001 636.226 268.938 647.13]
-/A << /S /GoTo /D (page.297) >>
->> endobj
-12740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.812 613.033 269.749 623.22]
-/A << /S /GoTo /D (page.297) >>
->> endobj
-12741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.595 589.123 185.531 599.309]
-/A << /S /GoTo /D (page.298) >>
->> endobj
-12742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.324 576.45 297.261 587.354]
-/A << /S /GoTo /D (page.298) >>
->> endobj
-12743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.667 564.495 195.603 575.399]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.167 552.54 206.104 563.444]
-/A << /S /GoTo /D (page.302) >>
->> endobj
-12745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.093 552.54 226.029 563.444]
-/A << /S /GoTo /D (page.303) >>
->> endobj
-12746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 540.585 179.539 551.489]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.087 528.63 169.023 539.534]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.706 516.674 174.642 527.578]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.724 504.719 169.661 515.623]
-/A << /S /GoTo /D (page.303) >>
->> endobj
-12750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.65 504.719 189.586 515.623]
-/A << /S /GoTo /D (page.304) >>
->> endobj
-12751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.575 504.719 209.511 515.623]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.5 504.719 229.437 515.623]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 492.764 175.28 503.668]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.224 480.809 167.16 491.713]
-/A << /S /GoTo /D (page.304) >>
->> endobj
-12755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.149 480.809 187.086 491.713]
-/A << /S /GoTo /D (page.305) >>
->> endobj
-12756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.843 468.854 172.779 479.758]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.119 456.899 195.055 467.803]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-12758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 444.943 151.22 455.847]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.525 432.988 278.462 443.892]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-12760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 421.75 189.506 431.937]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-12761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 409.795 193.382 419.982]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-12762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 397.123 273.62 408.027]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-12763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.005 385.168 267.941 396.071]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-12764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.267 373.93 150.204 384.116]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-12765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.348 361.975 235.284 372.161]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.242 350.019 234.178 360.206]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.899 337.347 242.836 348.251]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.358 325.392 187.294 336.296]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.386 314.154 182.323 324.34]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-12770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 302.199 187.304 312.385]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-12771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.293 302.199 207.23 312.385]
-/A << /S /GoTo /D (page.313) >>
->> endobj
-12772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 289.526 179.539 300.43]
-/A << /S /GoTo /D (page.316) >>
->> endobj
-12773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.667 277.571 187.603 288.475]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.552 265.616 199.489 276.52]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.27 253.661 221.207 264.565]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-12776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.792 242.423 151.728 252.609]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-12777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 229.75 151.22 240.654]
-/A << /S /GoTo /D (page.316) >>
->> endobj
-12778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.017 217.795 293.954 228.699]
-/A << /S /GoTo /D (page.316) >>
->> endobj
-12779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.86 205.84 202.797 216.744]
-/A << /S /GoTo /D (page.318) >>
->> endobj
-12780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.785 205.84 222.722 216.744]
-/A << /S /GoTo /D (page.321) >>
->> endobj
-12781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.916 193.885 235.852 204.789]
-/A << /S /GoTo /D (page.321) >>
->> endobj
-12782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.179 181.93 280.116 192.834]
-/A << /S /GoTo /D (page.322) >>
->> endobj
-12783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.878 169.975 192.814 180.878]
-/A << /S /GoTo /D (page.322) >>
->> endobj
-12784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.343 158.019 292.28 168.923]
-/A << /S /GoTo /D (page.323) >>
->> endobj
-12785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 146.064 196.132 156.968]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-12786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 134.109 200.007 145.013]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-12787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 122.871 189.506 133.058]
-/A << /S /GoTo /D (page.339) >>
->> endobj
-12788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 110.916 193.382 121.103]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-12789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 98.244 238.582 109.147]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-12790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 86.288 231.957 97.192]
-/A << /S /GoTo /D (page.340) >>
->> endobj
-12791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 74.333 273.62 85.237]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-12792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.271 707.957 491.207 718.861]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-12793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 696.002 399.093 706.906]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-12794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 684.047 411.816 694.951]
-/A << /S /GoTo /D (page.345) >>
->> endobj
-12795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.086 672.092 458.022 682.996]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-12796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 660.136 438.386 671.04]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-12797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 648.181 451.108 659.085]
-/A << /S /GoTo /D (page.347) >>
->> endobj
-12798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 636.943 428.932 647.13]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-12799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 624.988 429.539 635.175]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-12800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.936 612.316 457.872 623.22]
-/A << /S /GoTo /D (page.349) >>
->> endobj
-12801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.861 612.316 477.798 623.22]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-12802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.21 600.361 446.147 611.265]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-12803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 588.405 424.239 599.309]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-12804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 577.168 387.726 587.354]
-/A << /S /GoTo /D (page.336) >>
->> endobj
-12805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 565.212 380.533 575.399]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 552.54 417.345 563.444]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-12807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.428 540.585 473.365 551.489]
-/A << /S /GoTo /D (page.349) >>
->> endobj
-12808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 528.63 453.02 539.534]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-12809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 516.674 449.554 527.578]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-12810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 504.719 440.856 515.623]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-12811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.073 492.764 387.009 503.668]
-/A << /S /GoTo /D (page.339) >>
->> endobj
-12812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 480.809 449.992 491.713]
-/A << /S /GoTo /D (page.345) >>
->> endobj
-12813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.981 480.809 469.917 491.713]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-12814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 468.854 462.714 479.758]
-/A << /S /GoTo /D (page.346) >>
->> endobj
-12815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.703 468.854 482.639 479.758]
-/A << /S /GoTo /D (page.347) >>
->> endobj
-12816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 457.616 389.38 467.803]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-12817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.271 444.943 499.207 455.847]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-12818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 432.988 423.701 443.892]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-12819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 421.033 413.2 431.937]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.45 409.078 451.387 419.982]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-12821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.375 409.078 471.312 419.982]
-/A << /S /GoTo /D (page.357) >>
->> endobj
-12822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.643 397.123 506.579 408.027]
-/A << /S /GoTo /D (page.350) >>
->> endobj
-12823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.151 385.168 491.087 396.071]
-/A << /S /GoTo /D (page.351) >>
->> endobj
-12824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 373.212 441.962 384.116]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-12825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 361.975 386.62 372.161]
-/A << /S /GoTo /D (page.337) >>
->> endobj
-12826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 350.019 384.966 360.206]
-/A << /S /GoTo /D (page.338) >>
->> endobj
-12827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.667 337.347 417.604 348.251]
-/A << /S /GoTo /D (page.332) >>
->> endobj
-12828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.593 337.347 437.529 348.251]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 325.392 396.021 336.296]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-12830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 313.437 391.761 324.34]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-12831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.295 301.481 455.232 312.385]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-12832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.221 301.481 475.157 312.385]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-12833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.837 289.526 478.774 300.43]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-12834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 277.571 443.606 288.475]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-12835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 265.616 447.482 276.52]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 254.378 436.981 264.565]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-12837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 242.423 440.856 252.609]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 230.468 400.458 240.654]
-/A << /S /GoTo /D (page.336) >>
->> endobj
-12839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 217.795 484.821 228.699]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-12840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 205.84 454.386 216.744]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-12841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 193.885 471.162 204.789]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-12842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 181.93 413.19 192.834]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-12843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 169.975 367.702 180.878]
-/A << /S /GoTo /D (page.357) >>
->> endobj
-12844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 158.019 424.806 168.923]
-/A << /S /GoTo /D (page.348) >>
->> endobj
-12845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 146.781 393.813 156.968]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-12846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.802 146.781 413.739 156.968]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-12847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 134.109 429.788 145.013]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-12848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 122.154 466.71 133.058]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-12849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.194 110.199 397.131 121.103]
-/A << /S /GoTo /D (page.348) >>
->> endobj
-12850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.31 87.006 398.247 97.192]
-/A << /S /GoTo /D (page.357) >>
->> endobj
-12851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 74.333 412.613 85.237]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-12853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12857 0 obj <<
-/D [12855 0 R /XYZ 89 770.89 null]
->> endobj
-12854 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F23 364 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-12973 0 obj <<
-/Length 1533      
-/Filter /FlateDecode
->>
-stream
-x��Z[��6}����L�
-!n;�Csm�v�M��N7�
���[����� ol���%�>�mX8|�.GG� �� ��ɳ���+���5nWF 
�㊣ȸ��t��埳�o
|8�����<yz��v���g�a�w;��a2�� �H�~c �|cW]���;6�M~��CC�WC, ~C��,˴���$�p��k��iH��+�'�uc����n
0�=���~���
��q�Њ���J0�Lm��D�4�Y��>�i�Q_�v/Ck[�)�.rR
���Ș��ɒF*p�����#
����[͠3} L)f	YS�3}���10��6�DȺ�[�IqX�h��.�g	&�L&�g��v�����q&-�
��������`�t`Z=W1ܲR
�n
tĪ�(�\�9F�o5-�Y��,�8�R,x���)�y��*�¯о��O�_	����,~L)J�v�^Ӕr�zU�i��M��~�h�6�lQ;�lH�SND:Z�/��ƬiP|�)[����MH�=�
���Xv�L
4�-a�ރa���~���-3./�z%d�W}hۦ8{5��I}ɱ�tL$tgsIׄ�#�t��AO��߅d5�KF��
���65�����2�{����onn�	NZرrs�5
-�K����{w
		v���49P=x��17v���!#�
O����-Cx���$W��&B)ƇiL�B[��k�m���k�m.�Wu���1 f+\�#��
��E4e麧�V�X?Gq	��,��Ј�
[r�ﯯ?-�
2����M؁�;�q�%���*]�.c����ߝl�����	:h���A��N(3�NZv�5��aL	�kc��\��b��Cc��V�=���Y�5%�+��-�D>4\!v\�����K�>p��K��
R�BN�D��Ѝ �<M� <'��q�fy)e���"���p�u ��TR
REV�\�TF�x0Z{;S��
���f��4�|�y���`�sn^R
n�3C�pj�^�1�Y.�%�1�]��s�J%���N)4j
�U��\��Ю�o2�\_�C8�θ�َP�Tϻ����&�`�%�Y)D����T��ۨԐ~k��K�?
�1�e�A
�m)b�
-Fb�@�
�����4�v�Wci|�������L����q�0�?G��у��^9��l�j�5�ã[m�
a���(rk��Z|GOu�ulU���Yi�"i�i�ؠ;�MM�Eo�p�a]��n�f}�1�F�9Ͼ$�h����
v;c?{��fDD%�b��+ at v�dz��_���6M��|��.�aw`�����q��.��7wl�C%��;�b�\̰��bUh7�U��ܥE��,F0���b|�f1��ћ����]��]�|�<��>}��q���u��ڿ�%n�l�y�
y�#��Fy�����
-�9�ː���"������
gZ�ǿ�tK���{��c�
B}�±P��2gs��w�6��G�����Y���|ϴ�K�MY��WW���

s�����������}'��,dz +!#+Ò�7�g�8�T��y$��/筦
-endstream
-endobj
-12972 0 obj <<
-/Type /Page
-/Contents 12973 0 R
-/Resources 12971 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 12852 0 R 12858 0 R 12859 0 R 12860 0 R 12861 0 R 12862 0 R 12863 0 R 12864 0 R 12865 0 R 12866 0 R 12867 0 R 12868 0 R 12869 0 R 12870 0 R 12871 0 R 12872 0 R 12873 0 R 12874 0 R 12875 0 R 12876 0 R 12877 0 R 12878 0 R 12879 0 R 12880 0 R 12881 0 R 12882 0 R 12883 0 R 12884 0 R 12885 0 R 12886 0 R 12887 0 R 12888 0 R 12889 0 R 12890 0 R 12891 0 R 12892 0 R 12893 0 R 12894 0 R 12895 0 R 12896 0 R 12897 0 R 12898 0 R 12899 0 R 12900 0 R 12901 0 R 12902 0 R 12903 0 R 12904 0 R 12 [...]
->> endobj
-12852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 707.957 200.007 718.861]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-12858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 696.719 189.506 706.906]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-12859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 684.764 193.382 694.951]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-12860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 672.092 238.582 682.996]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-12861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 660.136 231.957 671.04]
-/A << /S /GoTo /D (page.377) >>
->> endobj
-12862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 648.181 273.62 659.085]
-/A << /S /GoTo /D (page.383) >>
->> endobj
-12863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 636.226 274.726 647.13]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-12864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 624.271 182.612 635.175]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-12865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 612.316 195.334 623.22]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-12866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 600.361 221.905 611.265]
-/A << /S /GoTo /D (page.381) >>
->> endobj
-12867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 588.405 234.627 599.309]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-12868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 577.168 212.451 587.354]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 565.212 213.058 575.399]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 552.54 207.757 563.444]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-12871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 541.302 171.245 551.489]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 529.347 164.052 539.534]
-/A << /S /GoTo /D (page.373) >>
->> endobj
-12873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 516.674 200.863 527.578]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-12874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.947 504.719 256.883 515.623]
-/A << /S /GoTo /D (page.383) >>
->> endobj
-12875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 492.764 233.073 503.668]
-/A << /S /GoTo /D (page.385) >>
->> endobj
-12876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 480.809 224.375 491.713]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 468.854 233.511 479.758]
-/A << /S /GoTo /D (page.379) >>
->> endobj
-12878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.499 468.854 253.436 479.758]
-/A << /S /GoTo /D (page.380) >>
->> endobj
-12879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 456.899 246.233 467.803]
-/A << /S /GoTo /D (page.380) >>
->> endobj
-12880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.222 456.899 266.158 467.803]
-/A << /S /GoTo /D (page.381) >>
->> endobj
-12881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 445.661 172.899 455.847]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 432.988 207.219 443.892]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-12883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 421.033 196.719 431.937]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 409.078 225.481 419.982]
-/A << /S /GoTo /D (page.385) >>
->> endobj
-12885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 397.84 170.139 408.027]
-/A << /S /GoTo /D (page.371) >>
->> endobj
-12886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.128 397.84 190.064 408.027]
-/A << /S /GoTo /D (page.372) >>
->> endobj
-12887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 385.885 168.485 396.071]
-/A << /S /GoTo /D (page.372) >>
->> endobj
-12888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 385.885 188.41 396.071]
-/A << /S /GoTo /D (page.373) >>
->> endobj
-12889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 373.212 179.539 384.116]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 361.257 175.28 372.161]
-/A << /S /GoTo /D (page.386) >>
->> endobj
-12891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.339 349.302 240.275 360.206]
-/A << /S /GoTo /D (page.366) >>
->> endobj
-12892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.264 349.302 260.201 360.206]
-/A << /S /GoTo /D (page.370) >>
->> endobj
-12893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 337.347 227.125 348.251]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-12894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 325.392 231 336.296]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-12895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 314.154 220.5 324.34]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-12896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 302.199 224.375 312.385]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-12897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 289.526 268.34 300.43]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-12898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 277.571 237.904 288.475]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-12899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 265.616 196.709 276.52]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-12900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 253.661 151.22 264.565]
-/A << /S /GoTo /D (page.387) >>
->> endobj
-12901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 241.706 208.325 252.609]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-12902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 230.468 177.332 240.654]
-/A << /S /GoTo /D (page.377) >>
->> endobj
-12903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.371 217.795 213.307 228.699]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-12904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.292 205.84 250.228 216.744]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-12905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.878 193.885 197.815 204.789]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-12906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 172.032 145.791 180.878]
-/A << /S /GoTo /D (page.387) >>
->> endobj
-12907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.208 158.019 275.144 168.923]
-/A << /S /GoTo /D (page.388) >>
->> endobj
-12908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 146.781 189.506 156.968]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 134.826 193.382 145.013]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 122.154 273.62 133.058]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-12911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.318 110.199 280.255 121.103]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.267 98.961 150.204 109.147]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-12913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.348 87.006 235.284 97.192]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.242 75.05 234.178 85.237]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.586 707.957 468.522 718.861]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.868 696.719 398.804 706.906]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 684.047 396.021 694.951]
-/A << /S /GoTo /D (page.402) >>
->> endobj
-12918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.66 672.092 427.596 682.996]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.532 660.854 400.468 671.04]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-12920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.457 660.854 420.394 671.04]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-12921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.301 648.181 403.238 659.085]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.501 636.943 379.437 647.13]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-12923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.273 624.988 368.21 635.175]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-12924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 612.316 367.702 623.22]
-/A << /S /GoTo /D (page.402) >>
->> endobj
-12925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 590.463 362.272 599.309]
-/A << /S /GoTo /D (page.402) >>
->> endobj
-12926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.29 576.45 398.227 587.354]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.178 564.495 420.114 575.399]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.102 553.257 427.039 563.444]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.042 540.585 410.979 551.489]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-12930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.98 517.392 456.916 527.578]
-/A << /S /GoTo /D (page.322) >>
->> endobj
-12931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.389 504.719 502.325 515.623]
-/A << /S /GoTo /D (page.405) >>
->> endobj
-12932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.746 492.764 428.682 503.668]
-/A << /S /GoTo /D (page.410) >>
->> endobj
-12933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.559 481.526 390.496 491.713]
-/A << /S /GoTo /D (page.408) >>
->> endobj
-12934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 468.854 396.021 479.758]
-/A << /S /GoTo /D (page.410) >>
->> endobj
-12935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.211 456.899 366.147 467.803]
-/A << /S /GoTo /D (page.408) >>
->> endobj
-12936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.126 444.943 386.062 455.847]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-12937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.273 433.706 368.21 443.892]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-12938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.705 421.033 407.641 431.937]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-12939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.629 397.84 470.584 408.027]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-12940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.586 385.885 423.541 396.071]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 373.212 391.039 384.116]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 361.257 386.78 372.161]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-12943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.913 349.302 511.849 360.206]
-/A << /S /GoTo /D (page.410) >>
->> endobj
-12944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.676 337.347 412.613 348.251]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-12945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.552 325.392 416.488 336.296]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-12946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 314.154 405.987 324.34]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-12947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 302.199 409.863 312.385]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-12948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.31 289.526 398.247 300.43]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-12949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 277.571 399.093 288.475]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-12950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.879 265.616 411.816 276.52]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-12951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.939 253.661 435.875 264.565]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-12952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.023 241.706 463.96 252.609]
-/A << /S /GoTo /D (page.434) >>
->> endobj
-12953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.229 229.75 449.165 240.654]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-12954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.45 217.795 438.386 228.699]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-12955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 205.84 451.108 216.744]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-12956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 194.602 428.932 204.789]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-12957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 182.647 429.539 192.834]
-/A << /S /GoTo /D (page.422) >>
->> endobj
-12958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.86 170.692 424.797 180.878]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-12959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 158.019 424.239 168.923]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-12960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 146.781 387.726 156.968]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-12961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 134.826 380.533 145.013]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-12962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.408 122.154 417.345 133.058]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-12963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.428 110.199 473.365 121.103]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-12964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 98.244 449.554 109.147]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-12965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 86.288 440.856 97.192]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-12966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 74.333 449.992 85.237]
-/A << /S /GoTo /D (page.431) >>
->> endobj
-12967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.981 74.333 469.917 85.237]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-12970 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-12974 0 obj <<
-/D [12972 0 R /XYZ 89 770.89 null]
->> endobj
-12971 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13092 0 obj <<
-/Length 1524      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�F��Sp�J3��]��ܤ͹��vg:�3�Z��M9yAUܧ￀
���pۋD�o���X��f��jr�ڳ��
"���,�s��Sl��OW�
'������򻟾��������n"�[�]?�M�7����eDp��a�N����p���q9�eb���
!��6<�6m�>u�R&h��bQH�3��7��R��طI5-b�u�fb\����c77ԧ��	t��é� �
EY�J�4���E6���O��
-�=��݆ƧB�i�"#��>��OK�-J��!-
-�J��A'e�#^|� 9\�,Q�ٝp1OaNE�%�J-{�p	��"�
D&,- Q�
-�( ��
Y�h��%<Ճq:�S.��`�`�f�v�n3�(�X�2��I�J[)U���v��ȣKV'�5�a�Ki��JlX��
y�`ծ���-JAA�JX2�*�Íi��wh4y�1ً�ᚯ�L��o�Cz�w�P�$���>�<]I9�L
��
�N�12�U�IK�_q�ȋ�̶�4W��wZA	�
�r�
�|:�tm�=џ�<bi�ܤҖ'�����?���]W1��Q�	� ߯Y$h��Tܟ��K�w�Y��=z��>�5�:�1�!YeT�	y��k����]�c�ޕyϟ׷
Vf�t��knQI�me��$p
!Yӹ��WvX/^���Y_��ZÆj�B�ϵu4���XZGch]^R�my

�X��
u鮠����8:h�5
�z�#0Z����1�Ԅ���*�[H��_�llu��G�����Cn�m!M��%�,R�{�0�\d���

-�����BkRA���A��˷�[NXUN��իx�ng��6i�
��Q{X�?
d���A y�v
�-_��FNM��a��B���Ny��,�E5g	��^[�������u�"&D�-Y
-�t�wU�u�+N�L�{,�5ʀ쟇E�T
-��M㸂8�t�q��Ե��
j��e�kED%pwӹ��w���N��*�((��L�W�
�7�
�p�����ݗ!�ov@�
�6;` M�iE��y��'�
�S�0w
�+"��(
��g�2<�~#��Nl�Fh�=�V���萠\�/"^��%�I9��
�z�㸵~Ǎݞ�L�d�h��#��$��(��Jr{�#0������������G(�`�}�׻���r�
	��`(L��ց�
��H�Mm[�������fe	ݠ,�@2��]
&��Wo�
eVkh�Ž��o��Hk��+&�Iݚ�@���r��ߤq��H��St��x^(�yaBό���qY�z�D5����
dV#��{0�˦���	�qO�.��m�wi�){Jh��~#
0YG���ݛ`����������
��Z�YE�G��
[�φ��ǯy��a<-��?�tC�������{[vꋖ	�C�'ۜ�
0�K��k��0v�>����>Ѿg:�y�,���vk.
-s��\��<�8;�a�u�5��%D���$
�<��IU��@����z��
-endstream
-endobj
-13091 0 obj <<
-/Type /Page
-/Contents 13092 0 R
-/Resources 13090 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 12968 0 R 12969 0 R 12976 0 R 12977 0 R 12978 0 R 12979 0 R 12980 0 R 12981 0 R 12982 0 R 12983 0 R 12984 0 R 12985 0 R 12986 0 R 12987 0 R 12988 0 R 12989 0 R 12990 0 R 12991 0 R 12992 0 R 12993 0 R 12994 0 R 12995 0 R 12996 0 R 12997 0 R 12998 0 R 12999 0 R 13000 0 R 13001 0 R 13002 0 R 13003 0 R 13004 0 R 13005 0 R 13006 0 R 13007 0 R 13008 0 R 13009 0 R 13010 0 R 13011 0 R 13012 0 R 13013 0 R 13014 0 R 13015 0 R 13016 0 R 13017 0 R 13018 0 R 13019 0 R 13020 0 R 13021 0 R 13 [...]
->> endobj
-12968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 707.957 246.233 718.861]
-/A << /S /GoTo /D (page.431) >>
->> endobj
-12969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.222 707.957 266.158 718.861]
-/A << /S /GoTo /D (page.432) >>
->> endobj
-12976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.379 696.002 216.315 706.906]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-12977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.13 684.047 216.066 694.951]
-/A << /S /GoTo /D (page.424) >>
->> endobj
-12978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.962 672.809 172.899 682.996]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 660.136 207.219 671.04]
-/A << /S /GoTo /D (page.429) >>
->> endobj
-12980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 648.181 196.719 659.085]
-/A << /S /GoTo /D (page.421) >>
->> endobj
-12981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.339 636.226 192.276 647.13]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-12982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 624.271 225.481 635.175]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-12983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 613.033 170.139 623.22]
-/A << /S /GoTo /D (page.422) >>
->> endobj
-12984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 601.078 168.485 611.265]
-/A << /S /GoTo /D (page.423) >>
->> endobj
-12985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 588.405 196.131 599.309]
-/A << /S /GoTo /D (page.434) >>
->> endobj
-12986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.274 577.168 204.211 587.354]
-/A << /S /GoTo /D (page.418) >>
->> endobj
-12987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.199 577.168 224.136 587.354]
-/A << /S /GoTo /D (page.420) >>
->> endobj
-12988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 564.495 227.125 575.399]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-12989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 552.54 231 563.444]
-/A << /S /GoTo /D (page.428) >>
->> endobj
-12990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 541.302 220.5 551.489]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-12991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 529.347 224.375 539.534]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-12992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.04 517.392 183.977 527.578]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 504.719 268.34 515.623]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-12994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 492.764 237.904 503.668]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-12995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 480.809 254.681 491.713]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-12996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 468.854 196.709 479.758]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-12997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.284 456.899 151.22 467.803]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-12998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.389 444.943 208.325 455.847]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-12999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.396 433.706 177.332 443.892]
-/A << /S /GoTo /D (page.428) >>
->> endobj
-13000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.56 421.75 189.496 431.937]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-13001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 409.078 180.65 419.982]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-13002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 387.105 145.791 396.071]
-/A << /S /GoTo /D (page.439) >>
->> endobj
-13003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 373.212 179.539 384.116]
-/A << /S /GoTo /D (page.441) >>
->> endobj
-13004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.224 361.257 167.16 372.161]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-13005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 349.302 175.28 360.206]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-13006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.607 337.347 179.544 348.251]
-/A << /S /GoTo /D (page.440) >>
->> endobj
-13007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 315.593 145.791 324.34]
-/A << /S /GoTo /D (page.441) >>
->> endobj
-13008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 301.481 179.539 312.385]
-/A << /S /GoTo /D (page.443) >>
->> endobj
-13009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.224 289.526 167.16 300.43]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-13010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.343 277.571 175.28 288.475]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-13011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.607 265.616 179.544 276.52]
-/A << /S /GoTo /D (page.442) >>
->> endobj
-13012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.005 253.661 267.941 264.565]
-/A << /S /GoTo /D (page.443) >>
->> endobj
-13013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 241.706 196.132 252.609]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-13014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 229.75 200.007 240.654]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 218.512 189.506 228.699]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-13016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 206.557 193.382 216.744]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-13017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.896 193.885 187.833 204.789]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-13018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.772 181.93 191.708 192.834]
-/A << /S /GoTo /D (page.462) >>
->> endobj
-13019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.646 169.975 238.582 180.878]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.02 158.019 231.957 168.923]
-/A << /S /GoTo /D (page.461) >>
->> endobj
-13021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.347 146.064 230.283 156.968]
-/A << /S /GoTo /D (page.462) >>
->> endobj
-13022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 134.109 273.62 145.013]
-/A << /S /GoTo /D (page.473) >>
->> endobj
-13023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 122.154 274.726 133.058]
-/A << /S /GoTo /D (page.473) >>
->> endobj
-13024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 110.199 182.612 121.103]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-13025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 98.244 195.334 109.147]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-13026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.393 86.288 239.329 97.192]
-/A << /S /GoTo /D (page.470) >>
->> endobj
-13027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 74.333 221.905 85.237]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-13028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.172 707.957 451.108 718.861]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-13029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.509 696.002 510.445 706.906]
-/A << /S /GoTo /D (page.471) >>
->> endobj
-13030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.132 684.047 491.068 694.951]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-13031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.995 672.809 428.932 682.996]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-13032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.603 660.854 429.539 671.04]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-13033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.302 648.181 424.239 659.085]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.79 636.943 387.726 647.13]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-13035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.597 624.988 380.533 635.175]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-13036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.428 612.316 473.365 623.22]
-/A << /S /GoTo /D (page.470) >>
->> endobj
-13037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.353 612.316 493.29 623.22]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-13038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.617 600.361 449.554 611.265]
-/A << /S /GoTo /D (page.475) >>
->> endobj
-13039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 588.405 440.856 599.309]
-/A << /S /GoTo /D (page.475) >>
->> endobj
-13040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.073 576.45 387.009 587.354]
-/A << /S /GoTo /D (page.459) >>
->> endobj
-13041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.056 564.495 449.992 575.399]
-/A << /S /GoTo /D (page.466) >>
->> endobj
-13042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.981 564.495 469.917 575.399]
-/A << /S /GoTo /D (page.467) >>
->> endobj
-13043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.778 552.54 462.714 563.444]
-/A << /S /GoTo /D (page.467) >>
->> endobj
-13044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.703 552.54 482.639 563.444]
-/A << /S /GoTo /D (page.468) >>
->> endobj
-13045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.497 540.585 436.433 551.489]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-13046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.444 529.347 389.38 539.534]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-13047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.764 516.674 423.701 527.578]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.264 504.719 413.2 515.623]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-13049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.431 492.764 504.367 503.668]
-/A << /S /GoTo /D (page.471) >>
->> endobj
-13050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.054 480.809 484.99 491.713]
-/A << /S /GoTo /D (page.472) >>
->> endobj
-13051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.026 468.854 441.962 479.758]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 457.616 386.62 467.803]
-/A << /S /GoTo /D (page.457) >>
->> endobj
-13053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.609 457.616 406.545 467.803]
-/A << /S /GoTo /D (page.458) >>
->> endobj
-13054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.03 445.661 384.966 455.847]
-/A << /S /GoTo /D (page.458) >>
->> endobj
-13055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.955 445.661 404.892 455.847]
-/A << /S /GoTo /D (page.459) >>
->> endobj
-13056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.778 433.706 361.714 443.892]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-13057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 421.033 396.021 431.937]
-/A << /S /GoTo /D (page.477) >>
->> endobj
-13058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.103 409.078 440.039 419.982]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.476 397.123 415.412 408.027]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.329 385.168 393.266 396.071]
-/A << /S /GoTo /D (page.454) >>
->> endobj
-13061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 385.168 413.191 396.071]
-/A << /S /GoTo /D (page.456) >>
->> endobj
-13062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.67 373.212 443.606 384.116]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.545 361.257 447.482 372.161]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.044 350.019 436.981 360.206]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.92 338.064 440.856 348.251]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 326.109 400.458 336.296]
-/A << /S /GoTo /D (page.456) >>
->> endobj
-13067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.885 313.437 484.821 324.34]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.449 301.481 454.386 312.385]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.226 289.526 471.162 300.43]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.254 277.571 413.19 288.475]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-13071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 265.616 367.702 276.52]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-13072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.69 265.616 387.627 276.52]
-/A << /S /GoTo /D (page.477) >>
->> endobj
-13073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 253.661 424.806 264.565]
-/A << /S /GoTo /D (page.469) >>
->> endobj
-13074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.877 242.423 393.813 252.609]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.194 229.75 397.131 240.654]
-/A << /S /GoTo /D (page.469) >>
->> endobj
-13076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.822 217.795 474.759 228.699]
-/A << /S /GoTo /D (page.477) >>
->> endobj
-13077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.945 194.602 404.882 204.789]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.163 182.647 376.1 192.834]
-/A << /S /GoTo /D (page.482) >>
->> endobj
-13079 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.284 169.975 405.221 180.878]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.084 158.019 396.021 168.923]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-13081 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.824 146.064 391.761 156.968]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-13082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.15 134.109 438.087 145.013]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.568 122.154 385.505 133.058]
-/A << /S /GoTo /D (page.482) >>
->> endobj
-13084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 110.199 367.702 121.103]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-13085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 98.244 429.788 109.147]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.773 86.288 466.71 97.192]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.501 74.333 496.437 85.237]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-13089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13093 0 obj <<
-/D [13091 0 R /XYZ 89 770.89 null]
->> endobj
-13090 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13184 0 obj <<
-/Length 1411      
-/Filter /FlateDecode
->>
-stream
-x��Z[��H~�W�X�"ͥ���8�.	�43����؎�z[��ο�n�1*d+/"����\�4�3�
�
�^�=��ʩP��7cT��H*'Cr6e
Y��k��o�GF���!�ߐy�^nh^� Wy$�e��0O���7�����U�y�-I�q����H��g� ���s�@f�p�#g�x��i�##�
���͍;�79!�p�#X=�V�XT9EL�������t��
֫?c�	��9�?6�ǖ ��逄 A!��
�&\S8RT\R�B^Vt�GsT\���K�Щ��7�MAf_��g�E�W�4 �nPF�)�8��pT�"����v
�A�����E��>�>|H�d�ȜDr)
r-���pP�������4X�UT$�����t��ժ�ws�[/7~�'(RM1!o���)%�ר ������3���X�&�
OI鎋P\�O���B��A���.,G

�G�� ���X�s�l��Gw(b����	��KH2K��c
��8e/QU�S�[���{�1P��
�-gq��]q�R$�w���5Y�).o�7��qD��/2ݤ)�M<4J��2��ި矧
JfE�8����q!�h��\v���=���ش~޶ny�>īd
�!"J�pS�/�T�J��جI�(��(�zP"�IqϊCrR2�P�
ˡ����V'I�
����`Fy�p�W�1�(x^�̌�R~W	��bz��b�[���I�`�0����T2�{� �S`�����l�*-]���g��/t_(�$K���)�$Y�m�43<�`٦�%=�m:�v�{��o �9��0�t�P�*4G��}
-�l
�Z������=A)�"��@D�(� �T3�f:���ihw4ƴ'��4��}35B��*hﯮU
��\�f�1df�GI
����TYݮ���[u�Yi
]��lǣ
�>2i��4緆f���a�Za�d�D
�t����:A�r�z�����V_��/�{���Q�q�a�_檅B�$�8�'d�j<���e�����Y`iZ���1*ي�=�;Ռ��Z��ة���TRW���U�C���[�T�ڪ���n���V�\�^\�享Uk	�V��j.���ģQMJ٧j�&��O�-1SI��k	TC�D@�#����.�-R��:(!Ǩo�UF��j��l$��W�<�u�}z��FwMP�ݯflԖo�
�֡�Q9$��Qm4U���A��(����2�T(��b������3
���d|LЛ�f,��Lz����c��q��?���Fɹ�v�"�����
-���rr��Mr
p͖Hv.Ʃ��f3����)�_�t8���:�����~yy�"n�
-6!lۛ͢�1ߑ� H\�
d�b�u����ťO�q b�� a�Za
-endstream
-endobj
-13183 0 obj <<
-/Type /Page
-/Contents 13184 0 R
-/Resources 13182 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 13088 0 R 13094 0 R 13095 0 R 13096 0 R 13097 0 R 13098 0 R 13099 0 R 13100 0 R 13101 0 R 13102 0 R 13103 0 R 13104 0 R 13105 0 R 13106 0 R 13107 0 R 13108 0 R 13109 0 R 13110 0 R 13111 0 R 13112 0 R 13113 0 R 13114 0 R 13115 0 R 13116 0 R 13117 0 R 13118 0 R 13119 0 R 13120 0 R 13121 0 R 13122 0 R 13123 0 R 13124 0 R 13125 0 R 13126 0 R 13127 0 R 13128 0 R 13129 0 R 13130 0 R 13131 0 R 13132 0 R 13133 0 R 13134 0 R 13135 0 R 13136 0 R 13137 0 R 13138 0 R 13139 0 R 13140 0 R 13 [...]
->> endobj
-13088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.792 696.719 191.728 706.906]
-/A << /S /GoTo /D (page.485) >>
->> endobj
-13094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.878 684.047 192.814 694.951]
-/A << /S /GoTo /D (page.485) >>
->> endobj
-13095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.575 672.092 294.511 682.996]
-/A << /S /GoTo /D (page.486) >>
->> endobj
-13096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.878 660.136 192.814 671.04]
-/A << /S /GoTo /D (page.487) >>
->> endobj
-13097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.877 648.181 264.813 659.085]
-/A << /S /GoTo /D (page.487) >>
->> endobj
-13098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.262 636.226 255.199 647.13]
-/A << /S /GoTo /D (page.487) >>
->> endobj
-13099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 624.988 145.79 635.175]
-/A << /S /GoTo /D (page.490) >>
->> endobj
-13100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 612.316 179.539 623.22]
-/A << /S /GoTo /D (page.490) >>
->> endobj
-13101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.532 600.361 199.469 611.265]
-/A << /S /GoTo /D (page.489) >>
->> endobj
-13102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.105 589.123 164.042 599.309]
-/A << /S /GoTo /D (page.489) >>
->> endobj
-13103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.324 576.45 297.261 587.354]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-13104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.851 564.495 276.788 575.399]
-/A << /S /GoTo /D (page.490) >>
->> endobj
-13105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 552.54 179.539 563.444]
-/A << /S /GoTo /D (page.491) >>
->> endobj
-13106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.694 541.302 185.631 551.489]
-/A << /S /GoTo /D (page.491) >>
->> endobj
-13107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 505.437 221.606 515.623]
-/A << /S /GoTo /D (page.366) >>
->> endobj
-13108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.595 505.437 241.531 515.623]
-/A << /S /GoTo /D (page.370) >>
->> endobj
-13109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 480.809 295.024 491.713]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-13110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 470.791 145.791 479.758]
-/A << /S /GoTo /D (page.399) >>
->> endobj
-13111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 445.661 208.774 455.847]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.415 409.795 172.351 419.982]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-13113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 385.168 295.069 396.071]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-13114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 361.257 295.069 372.161]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-13115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 337.347 295.069 348.251]
-/A << /S /GoTo /D (page.398) >>
->> endobj
-13116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 313.437 281.759 324.34]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-13117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 291.584 145.791 300.43]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-13118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 265.616 281.759 276.52]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-13119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 230.468 187.046 240.654]
-/A << /S /GoTo /D (page.418) >>
->> endobj
-13120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.034 230.468 206.971 240.654]
-/A << /S /GoTo /D (page.420) >>
->> endobj
-13121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 205.84 287.867 216.744]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 181.93 287.867 192.834]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 148.121 145.791 156.968]
-/A << /S /GoTo /D (page.167) >>
->> endobj
-13124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 124.211 145.791 133.058]
-/A << /S /GoTo /D (page.321) >>
->> endobj
-13125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.597 98.244 292.534 109.147]
-/A << /S /GoTo /D (page.454) >>
->> endobj
-13126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 88.346 145.791 97.192]
-/A << /S /GoTo /D (page.456) >>
->> endobj
-13127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 708.674 425.255 718.861]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 684.764 433.106 694.951]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.906 672.809 383.861 682.996]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 660.854 378.88 671.04]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 648.899 378.88 659.085]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 636.943 378.88 647.13]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.943 624.988 373.898 635.175]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.155 613.033 376.11 623.22]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.647 600.734 375.602 611.265]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.279 588.779 444.234 599.309]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.871 577.168 419.826 587.354]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.7 564.869 422.655 575.399]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.292 553.257 398.247 563.444]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.091 541.302 417.046 551.489]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.216 529.347 413.171 539.534]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.703 517.048 400.658 527.578]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.401 505.437 470.356 515.623]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [455.083 493.481 467.038 503.668]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.99 481.526 459.945 491.713]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [446.864 469.571 458.819 479.758]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.189 457.616 436.144 467.803]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.428 445.661 476.383 455.847]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.027 433.706 412.982 443.892]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.02 421.75 419.975 431.937]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.288 409.795 447.243 419.982]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.391 397.84 470.346 408.027]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.124 385.885 395.079 396.071]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.491 373.93 462.446 384.116]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.192 361.975 454.147 372.161]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.806 350.019 479.761 360.206]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.604 338.064 477.559 348.251]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.286 326.109 474.241 336.296]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.647 314.154 391.602 324.34]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.3 302.199 393.256 312.385]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.304 290.243 424.259 300.43]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.865 278.288 402.82 288.475]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.329 266.333 388.284 276.52]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.846 254.034 367.801 264.565]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.066 242.079 453.021 252.609]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.325 230.124 445.28 240.654]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.846 218.512 367.801 228.699]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.846 206.557 367.801 216.744]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.066 194.602 453.021 204.789]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.099 182.647 391.054 192.834]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.207 170.692 418.162 180.878]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.331 158.737 414.287 168.923]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.84 146.781 398.795 156.968]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.329 134.826 428.284 145.013]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.005 122.871 415.96 133.058]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.74 110.916 366.695 121.103]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.933 98.961 373.888 109.147]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.824 87.006 365.779 97.192]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.855 75.05 386.81 85.237]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13185 0 obj <<
-/D [13183 0 R /XYZ 89 770.89 null]
->> endobj
-13182 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F11 442 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13256 0 obj <<
-/Length 1440      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~���mafC$@��
͸M0ŴM7�h����r�
-\���+q�:�
�n_�����;w�� ����78=�)���
ޓ`a��2���Lx��@6do�G��u�o
,o�π_,�F������
f��Ȫi���H��
Ca2x7 �@���_A�B�B�|+���a������#{�}�3�Q ���{3
�D]/����i"Tɼ_�,WҀ8�+˖T$^ؽ�X
%蕄�Ğ�`��o�
�Ǿ�&�\I�zۺ�+���.P�\�ɱn�wƓ��Z�kM,ۓLU���=�\g�p�g�
�_��� �}� �)Ƀ��ӥ��G?�%1&D�%��@R����<M��*� ��&lf�r/�U<#3<b���9�ؓ
 n��
u�3 j�կ��ݕ�dIIJ�bYM���}� �e�~:���9a�(Ӏ�n��E˰�v�m�U�iG��
]�K�	�3���D-P�G�,��+2����V
�(����	�ݍ
��䑭O��z�x�Q�=wF|��H?oq��g��g��&��ݏ�-A�����m��7�O)ε>�ڬ�^�K�¦�M��
-�K�U�3�\���x��z�O
�3%e?W��Zt�5)/���:���j��@ᎮF��aż<�4򱓄��Q��ԧ�W����A,�P�9�*�;�TS6�

O<�r�����
[��4_y�2���9/$����T{ֽw9
��
�]R��[�Z`��z��lו�}�4`����$\��э@��Elk�9e�G�[�#GWUYW�m�c�?|�b��Ӹc!
�54��d��f�v��*��tE�)I��A;�\A��fM5a;@iF}F�) )�P
<v���탨*J_.&
�
W�Yp�tG��N�-!��z2��tё��y5���K.1��+��ߗɷ&���2��F�>H�Ϙ�@�@)������5�ʇf?\uL
2��7Il��W�#�G�Z_?��s��+4Ŵ�
�� �S'Fn�?iD�uH`e��
�0����Ek�ħx���2>��4��
}���ɑu�v��Efg��U�~
mXO3��~�@���vӃ� UEzs�@	����;(�g�v�Q
��L?M<�z�`��=-����G�sY��2�uKt���
A�*���L�}��_���u�-x+[�n��e F���P��� 4�5ѪwO_�ܭD5سM+o��7M�4��N1K4e�a���Ix�D�}����a�C��hʰ7��Rs��
-�DX��E�/YdwB�:��c#]6u��>v��^�F�����-����K9toA�
ď5���B��r5��{6�!!$�����X��TY�x�/����[P��T�O���Ƒ�-T����e�1�U�T���,[�:?_���4�YXR9�Η�����K��<�!�)���W��_��Q��]~&��_��2{
-endstream
-endobj
-13255 0 obj <<
-/Type /Page
-/Contents 13256 0 R
-/Resources 13254 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 13180 0 R 13186 0 R 13187 0 R 13188 0 R 13189 0 R 13190 0 R 13191 0 R 13192 0 R 13193 0 R 13194 0 R 13195 0 R 13196 0 R 13197 0 R 13198 0 R 13199 0 R 13200 0 R 13201 0 R 13202 0 R 13203 0 R 13204 0 R 13205 0 R 13206 0 R 13207 0 R 13208 0 R 13209 0 R 13210 0 R 13211 0 R 13212 0 R 13213 0 R 13214 0 R 13215 0 R 13216 0 R 13217 0 R 13218 0 R 13219 0 R 13220 0 R 13221 0 R 13222 0 R 13223 0 R 13224 0 R 13225 0 R 13226 0 R 13227 0 R 13228 0 R 13229 0 R 13230 0 R 13231 0 R 13232 0 R 13 [...]
->> endobj
-13180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.821 708.674 226.777 718.861]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.923 696.719 191.878 706.906]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.315 684.764 159.27 694.951]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.365 672.809 151.32 682.996]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.58 660.854 192.535 671.04]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.406 648.555 188.361 659.085]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.23 636.943 275.185 647.13]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.028 624.988 272.983 635.175]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.466 613.033 233.422 623.22]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.607 588.405 262.562 599.309]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.8 576.45 261.755 587.354]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.335 564.495 284.29 575.399]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.078 552.54 249.033 563.444]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.935 541.302 169.89 551.489]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-13199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.384 528.63 199.339 539.534]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.307 516.674 209.262 527.578]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.561 504.719 189.516 515.623]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-13202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.725 492.764 201.68 503.668]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-13203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.708 481.526 211.663 491.713]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.716 468.854 206.671 479.758]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.39 457.616 208.345 467.803]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.225 445.661 191.18 455.847]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-13207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.969 433.706 229.924 443.892]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.411 421.75 229.367 431.937]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.692 409.795 242.647 419.982]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 397.123 195.613 408.027]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.374 385.885 151.33 396.071]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 373.212 183.429 384.116]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 350.019 208.774 360.206]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-13214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 326.109 208.774 336.296]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 302.199 208.774 312.385]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 278.288 208.774 288.475]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-13217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 243.763 145.791 252.609]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-13218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 207.897 145.791 216.744]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-13219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 172.032 145.791 180.878]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-13220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 136.166 145.791 145.013]
-/A << /S /GoTo /D (page.311) >>
->> endobj
-13221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 100.301 145.791 109.147]
-/A << /S /GoTo /D (page.408) >>
->> endobj
-13222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 74.333 295.069 85.237]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-13223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 685.949 362.272 694.916]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-13224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.273 648.793 408.209 658.98]
-/A << /S /GoTo /D (page.199) >>
->> endobj
-13225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.273 624.848 408.209 635.034]
-/A << /S /GoTo /D (page.219) >>
->> endobj
-13226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 602.242 362.272 611.089]
-/A << /S /GoTo /D (page.322) >>
->> endobj
-13227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.864 576.239 455.8 587.143]
-/A << /S /GoTo /D (page.485) >>
->> endobj
-13228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 554.351 362.272 563.198]
-/A << /S /GoTo /D (page.487) >>
->> endobj
-13229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 528.313 475.018 539.217]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-13230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 504.332 475.018 515.236]
-/A << /S /GoTo /D (page.146) >>
->> endobj
-13231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 459.905 362.272 468.752]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-13232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 445.858 513.045 456.762]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-13233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 421.877 498.241 432.781]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-13234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 397.896 498.241 408.8]
-/A << /S /GoTo /D (page.229) >>
->> endobj
-13235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 373.916 501.578 384.82]
-/A << /S /GoTo /D (page.123) >>
->> endobj
-13236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 361.925 475.018 372.829]
-/A << /S /GoTo /D (page.159) >>
->> endobj
-13237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 349.935 498.241 360.839]
-/A << /S /GoTo /D (page.231) >>
->> endobj
-13238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 326.707 362.272 336.893]
-/A << /S /GoTo /D (page.355) >>
->> endobj
-13239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.261 326.707 382.197 336.893]
-/A << /S /GoTo /D (page.356) >>
->> endobj
-13240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 302.009 489.145 312.913]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-13241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 268.13 362.272 276.977]
-/A << /S /GoTo /D (page.354) >>
->> endobj
-13242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 242.092 489.145 252.996]
-/A << /S /GoTo /D (page.296) >>
->> endobj
-13243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 218.112 501.578 229.016]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-13244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 206.121 475.018 217.025]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-13245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 194.131 476.672 205.035]
-/A << /S /GoTo /D (page.263) >>
->> endobj
-13246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 172.243 362.272 181.089]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-13247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 146.957 438.087 157.144]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-13248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 123.012 403.527 133.198]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-13249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 110.304 504.348 121.208]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 86.324 501.578 97.227]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-13251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 74.333 475.018 85.237]
-/A << /S /GoTo /D (page.145) >>
->> endobj
-13253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13257 0 obj <<
-/D [13255 0 R /XYZ 89 770.89 null]
->> endobj
-13254 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13323 0 obj <<
-/Length 1193      
-/Filter /FlateDecode
->>
-stream
-x��Zݓ�8����� |�Uoʽ����jv+�`Tn܀����>�
?"��pj��_7�uw M% �W>X���:�L��
-���dI�La�K��N��
�>[%
2@��K. ��J۪|�@>
-$��F�nHμ��Hc>�Q�j�*�4�4E忞4��Yo�p�?�@��
-�teS��DU��m���
3�<�/�f���=sǿ&�R,l���W��;����lB���q�&B�{NdO���pf/�NU0ƍ7�����n۬�곋�k{�+�KnɆ��
�x��1鳀7�
Qut2�����F�0��5UW��i i�q:�t(���o�T����' ���͈�a�ln�Ok��>�l�����Et���N �m
�N4T�h�>`�
-D�$�z�’�fߪ'0
����b�5��7��Գ#7���u�x��� �шpoP6�AP��C|�X����������*���U8�գ�9'�I�(�� �+�+�^�eV�� �����v���a�N�b����O:�r�)e�2��0��o�%3w:���
Nh2v��9
Kδ
-(���ߛs״������=<ڍ

�
ִ��>��m�2�Ū*cE�J����0z��3�ſ��2��	�?�(�?eO�2o'��I�����3�V�����=U��\_�h�����,
�����E�v ��
h�����Vpo�K�
�KJ�]7�1�W�Q�@���m�V����_��ގ�0tA�=\=��ۋ��ۭv�H�֠ӴȠ��[
BX�:��5�<���=
P���hWYӳ,C�uI}��ּ?v�g
-CpF���łm�,��EE�X�x!�S��[.7�����C�ȍݓ�����DQ5��~\|�xt~\���X5e�����L�����"ޛtQsF�/1�x��]�_�
зy
-P�S��'~�!x���
�)K�|h��"d
�T�n�4{����c�k]><;��Q�aԱ�>/�8���;y%�0��N��U�=z���QaJ���sg�9<²�U������|��ً �.#>?�n�h-��Æ��6$�f֤����_jUô�h�K
ē�'�@�XC�A so)��kw*�cCJ3cS˾H���
����e(��fQ�h���JvBy�
&�Q}�����Y
�&�?�����3D�r�I��8������܈��
-endstream
-endobj
-13322 0 obj <<
-/Type /Page
-/Contents 13323 0 R
-/Resources 13321 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 13252 0 R 13258 0 R 13259 0 R 13260 0 R 13261 0 R 13262 0 R 13263 0 R 13264 0 R 13265 0 R 13266 0 R 13267 0 R 13268 0 R 13269 0 R 13270 0 R 13271 0 R 13272 0 R 13273 0 R 13274 0 R 13275 0 R 13276 0 R 13277 0 R 13278 0 R 13279 0 R 13280 0 R 13281 0 R 13282 0 R 13283 0 R 13284 0 R 13285 0 R 13286 0 R 13287 0 R 13288 0 R 13289 0 R 13290 0 R 13291 0 R 13292 0 R 13293 0 R 13294 0 R 13295 0 R 13296 0 R 13297 0 R 13298 0 R 13299 0 R 13300 0 R 13301 0 R 13302 0 R 13303 0 R 13304 0 R 13 [...]
->> endobj
-13252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 707.957 260.191 718.861]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-13258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 686.104 145.791 694.951]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-13259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 660.854 221.606 671.04]
-/A << /S /GoTo /D (page.375) >>
->> endobj
-13260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 636.943 187.046 647.13]
-/A << /S /GoTo /D (page.428) >>
->> endobj
-13261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 624.271 287.867 635.175]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 600.361 285.097 611.265]
-/A << /S /GoTo /D (page.108) >>
->> endobj
-13263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 588.405 258.537 599.309]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-13264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 576.45 260.191 587.354]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-13265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 554.597 145.791 563.444]
-/A << /S /GoTo /D (page.341) >>
->> endobj
-13266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 529.347 221.606 539.534]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-13267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 505.437 187.046 515.623]
-/A << /S /GoTo /D (page.426) >>
->> endobj
-13268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 492.764 287.867 503.668]
-/A << /S /GoTo /D (page.463) >>
->> endobj
-13269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 468.854 285.097 479.758]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-13270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 456.899 258.537 467.803]
-/A << /S /GoTo /D (page.144) >>
->> endobj
-13271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 444.943 260.191 455.847]
-/A << /S /GoTo /D (page.264) >>
->> endobj
-13272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 423.09 145.791 431.937]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-13273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 397.84 221.606 408.027]
-/A << /S /GoTo /D (page.376) >>
->> endobj
-13274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 373.93 187.046 384.116]
-/A << /S /GoTo /D (page.427) >>
->> endobj
-13275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 361.257 287.867 372.161]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 338.064 208.774 348.251]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 313.437 295.024 324.34]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-13278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 303.539 145.791 312.385]
-/A << /S /GoTo /D (page.106) >>
->> endobj
-13279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 289.526 258.537 300.43]
-/A << /S /GoTo /D (page.138) >>
->> endobj
-13280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.526 289.526 278.462 300.43]
-/A << /S /GoTo /D (page.139) >>
->> endobj
-13281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 267.673 145.791 276.52]
-/A << /S /GoTo /D (page.336) >>
->> endobj
-13282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 242.423 187.046 252.609]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-13283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 229.75 287.867 240.654]
-/A << /S /GoTo /D (page.456) >>
->> endobj
-13284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 205.84 296.564 216.744]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-13285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 181.93 285.097 192.834]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-13286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 169.975 258.537 180.878]
-/A << /S /GoTo /D (page.156) >>
->> endobj
-13287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 158.019 260.191 168.923]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-13288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 136.166 145.791 145.013]
-/A << /S /GoTo /D (page.353) >>
->> endobj
-13289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 110.916 221.606 121.103]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-13290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 87.006 187.046 97.192]
-/A << /S /GoTo /D (page.436) >>
->> endobj
-13291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 74.333 287.867 85.237]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 695.971 501.578 706.875]
-/A << /S /GoTo /D (page.120) >>
->> endobj
-13293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 683.984 475.018 694.888]
-/A << /S /GoTo /D (page.155) >>
->> endobj
-13294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 671.998 476.672 682.902]
-/A << /S /GoTo /D (page.275) >>
->> endobj
-13295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 650.113 362.272 658.96]
-/A << /S /GoTo /D (page.352) >>
->> endobj
-13296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 624.832 438.087 635.018]
-/A << /S /GoTo /D (page.384) >>
->> endobj
-13297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 600.89 403.527 611.077]
-/A << /S /GoTo /D (page.435) >>
->> endobj
-13298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 588.186 504.348 599.09]
-/A << /S /GoTo /D (page.474) >>
->> endobj
-13299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 564.213 447.89 575.117]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-13300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 540.958 425.255 551.144]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 516.268 447.89 527.171]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 492.295 447.89 503.199]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 469.039 425.255 479.226]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 445.066 425.255 455.253]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 421.093 425.255 431.28]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 397.12 425.255 407.307]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 373.147 425.255 383.334]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 349.174 425.255 359.361]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 314 494.684 324.904]
-/A << /S /GoTo /D (page.482) >>
->> endobj
-13310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 290.027 475.018 300.931]
-/A << /S /GoTo /D (page.157) >>
->> endobj
-13311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 266.054 447.89 276.958]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-13312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 232.183 362.272 241.03]
-/A << /S /GoTo /D (page.314) >>
->> endobj
-13313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 206.153 447.89 217.057]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 172.282 362.272 181.129]
-/A << /S /GoTo /D (page.181) >>
->> endobj
-13315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.613 146.252 506.55 157.156]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-13316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 122.996 425.255 133.183]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 99.023 425.255 109.21]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-13318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 74.333 501.578 85.237]
-/A << /S /GoTo /D (page.111) >>
->> endobj
-13320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13324 0 obj <<
-/D [13322 0 R /XYZ 89 770.89 null]
->> endobj
-13321 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13391 0 obj <<
-/Length 1250      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�6~�W��x�qt�|�[Yh�mB�@:�;�Y_X�,K}elR`m,[	�K⋬�O�#��Ѐv��M;���@s
�B�6}�\�٦kK�͵�.�H�<��a.�����?�#{�L;_;�s���kb؎6
;���6�?j�������B�DX��I�S�!�
�5"�
�a.u�C��x��q
l^؜{���
�\]���?o�P���t��
/]h:ŀ\��s!fw	��������e����ӑ��qI{9w��[đ�ɋ�d��`F�UL\6�C��dďc?J�ҋ�Y�~g,��j�01P�?��:Y)�Ee%q�J�8�W;��pL�<~
-XX��Sh�W4�2y�
�[	8e�cH�����7db�:&]�
�s�HO�Gzb�p<Z��7ct�,JZ[��:�P��=AI
#�+c�_yJ�$�-!}xa�/:]6��U��x#��׷c���l���"l�H�eҺ0����ÔG�O9�	���
��d9���{"j֩�̪�ܟ�����(�&�P��5�ȸ�"SYo���;'tx�D�
�X=��/S�
�jWg�{6_̈́�`+.�
�'+ �� "g� $=,�4�������v�_�hV�b.��z��*������;�+x�1������%gI���\X�����3f�e���
�Ha㠜��
|+��*�l��՘l���2���*�fSI�B�	��R�C�����-�-�

���Ll�C?�ҺeG��
@�X&���q/�k�
-�BP!�<����S���H�?��@���ֳZ���c�Ү��2���
U5����M���EZ'.[Ui�9n (@���X<Qּ��&J�c��}�ƊB8-��B��Q^�*ߵ��i��c��񘶺�4`���B�pq!m�A��Ӕ%)��
�y9du��ʆΞq�@��=��S`v��!�,�	�akd5p*����H�5
-�v�
-��L9 ��W�Ǧ���H���6P�ʼ
���{��5Y�
�#��^��ߛ�@�qB907m at HD��f���,�8U
�=S��͒�
���ﲇC���1+��O����è?��m�|�
 ��n��
���p-,{�;o��ٞ�1Z 5m����5a���WB��
+�mAM~�0��NH7��o�h���_���<�oO¶�!(B�4�
,�x�X�i��mw�[�k�ڱ

��W	/i����\���,1V��䆟^.���wǪCӰ_'y�yLD�B}?zκ�Y�b
/�?�֟�
-endstream
-endobj
-13390 0 obj <<
-/Type /Page
-/Contents 13391 0 R
-/Resources 13389 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 12975 0 R
-/Annots [ 13319 0 R 13325 0 R 13326 0 R 13327 0 R 13328 0 R 13329 0 R 13330 0 R 13331 0 R 13332 0 R 13333 0 R 13334 0 R 13335 0 R 13336 0 R 13337 0 R 13338 0 R 13339 0 R 13340 0 R 13341 0 R 13342 0 R 13343 0 R 13344 0 R 13345 0 R 13346 0 R 13347 0 R 13348 0 R 13349 0 R 13350 0 R 13351 0 R 13352 0 R 13353 0 R 13354 0 R 13355 0 R 13356 0 R 13357 0 R 13358 0 R 13359 0 R 13360 0 R 13361 0 R 13362 0 R 13363 0 R 13364 0 R 13365 0 R 13366 0 R 13367 0 R 13368 0 R 13369 0 R 13370 0 R 13371 0 R 13 [...]
->> endobj
-13319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 707.957 258.537 718.861]
-/A << /S /GoTo /D (page.148) >>
->> endobj
-13325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 696.002 260.191 706.906]
-/A << /S /GoTo /D (page.267) >>
->> endobj
-13326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.727 684.047 272.664 694.951]
-/A << /S /GoTo /D (page.295) >>
->> endobj
-13327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 662.194 145.791 671.04]
-/A << /S /GoTo /D (page.344) >>
->> endobj
-13328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 636.943 187.046 647.13]
-/A << /S /GoTo /D (page.430) >>
->> endobj
-13329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 624.271 287.867 635.175]
-/A << /S /GoTo /D (page.465) >>
->> endobj
-13330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 600.361 295.069 611.265]
-/A << /S /GoTo /D (page.401) >>
->> endobj
-13331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 566.552 145.791 575.399]
-/A << /S /GoTo /D (page.315) >>
->> endobj
-13332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.133 552.54 295.069 563.444]
-/A << /S /GoTo /D (page.400) >>
->> endobj
-13333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 530.567 145.791 539.534]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-13334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.188 504.719 275.124 515.623]
-/A << /S /GoTo /D (page.489) >>
->> endobj
-13335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 470.911 145.791 479.758]
-/A << /S /GoTo /D (page.180) >>
->> endobj
-13336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 456.899 296.564 467.803]
-/A << /S /GoTo /D (page.242) >>
->> endobj
-13337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [105.611 445.661 117.566 455.847]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-13338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 421.033 283.443 431.937]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-13339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 397.123 285.097 408.027]
-/A << /S /GoTo /D (page.105) >>
->> endobj
-13340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 385.168 258.537 396.071]
-/A << /S /GoTo /D (page.142) >>
->> endobj
-13341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 373.212 260.191 384.116]
-/A << /S /GoTo /D (page.261) >>
->> endobj
-13342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 351.359 145.791 360.206]
-/A << /S /GoTo /D (page.335) >>
->> endobj
-13343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 326.109 221.606 336.296]
-/A << /S /GoTo /D (page.374) >>
->> endobj
-13344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 302.199 187.046 312.385]
-/A << /S /GoTo /D (page.425) >>
->> endobj
-13345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 289.526 287.867 300.43]
-/A << /S /GoTo /D (page.460) >>
->> endobj
-13346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 265.616 290.068 276.52]
-/A << /S /GoTo /D (page.192) >>
->> endobj
-13347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 231.688 145.791 240.654]
-/A << /S /GoTo /D (page.179) >>
->> endobj
-13348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.627 217.795 296.564 228.699]
-/A << /S /GoTo /D (page.241) >>
->> endobj
-13349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.109 193.885 195.046 204.789]
-/A << /S /GoTo /D (page.306) >>
->> endobj
-13350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 169.975 285.097 180.878]
-/A << /S /GoTo /D (page.125) >>
->> endobj
-13351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 148.121 145.791 156.968]
-/A << /S /GoTo /D (page.184) >>
->> endobj
-13352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.132 134.109 290.068 145.013]
-/A << /S /GoTo /D (page.193) >>
->> endobj
-13353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 110.199 180.112 121.103]
-/A << /S /GoTo /D (page.198) >>
->> endobj
-13354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.506 98.244 283.443 109.147]
-/A << /S /GoTo /D (page.214) >>
->> endobj
-13355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 74.333 180.112 85.237]
-/A << /S /GoTo /D (page.218) >>
->> endobj
-13356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.719 707.957 507.655 718.861]
-/A << /S /GoTo /D (page.222) >>
->> endobj
-13357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 695.944 498.241 706.848]
-/A << /S /GoTo /D (page.230) >>
->> endobj
-13358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 671.977 396.593 682.881]
-/A << /S /GoTo /D (page.238) >>
->> endobj
-13359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 659.964 476.672 670.868]
-/A << /S /GoTo /D (page.277) >>
->> endobj
-13360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 638.053 362.272 646.9]
-/A << /S /GoTo /D (page.286) >>
->> endobj
-13361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.656 612.028 396.593 622.932]
-/A << /S /GoTo /D (page.291) >>
->> endobj
-13362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.208 600.016 489.145 610.92]
-/A << /S /GoTo /D (page.297) >>
->> endobj
-13363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.59 576.048 411.527 586.952]
-/A << /S /GoTo /D (page.307) >>
->> endobj
-13364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 554.137 362.272 562.984]
-/A << /S /GoTo /D (page.316) >>
->> endobj
-13365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 530.17 362.272 539.016]
-/A << /S /GoTo /D (page.357) >>
->> endobj
-13366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 504.862 438.087 515.048]
-/A << /S /GoTo /D (page.387) >>
->> endobj
-13367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.614 492.132 511.551 503.036]
-/A << /S /GoTo /D (page.402) >>
->> endobj
-13368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 468.881 403.527 479.068]
-/A << /S /GoTo /D (page.438) >>
->> endobj
-13369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.569 456.151 511.506 467.055]
-/A << /S /GoTo /D (page.476) >>
->> endobj
-13370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 446.253 362.272 455.1]
-/A << /S /GoTo /D (page.477) >>
->> endobj
-13371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.748 432.184 494.684 443.087]
-/A << /S /GoTo /D (page.484) >>
->> endobj
-13372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 397.238 447.89 408.142]
-/A << /S /GoTo /D (page.80) >>
->> endobj
-13373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 373.212 447.89 384.116]
-/A << /S /GoTo /D (page.81) >>
->> endobj
-13374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.642 349.187 501.578 360.091]
-/A << /S /GoTo /D (page.114) >>
->> endobj
-13375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.082 337.174 475.018 348.078]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-13376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.735 325.162 476.672 336.066]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-13377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 303.251 362.272 312.098]
-/A << /S /GoTo /D (page.348) >>
->> endobj
-13378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 277.943 438.087 288.13]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-13379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.59 253.976 403.527 264.162]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-13380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.411 241.246 504.348 252.15]
-/A << /S /GoTo /D (page.469) >>
->> endobj
-13381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 207.323 362.272 216.169]
-/A << /S /GoTo /D (page.177) >>
->> endobj
-13382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.109 193.253 513.045 204.157]
-/A << /S /GoTo /D (page.240) >>
->> endobj
-13383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 159.329 362.272 168.176]
-/A << /S /GoTo /D (page.178) >>
->> endobj
-13384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.988 133.247 499.924 144.151]
-/A << /S /GoTo /D (page.210) >>
->> endobj
-13385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.304 121.234 498.241 132.138]
-/A << /S /GoTo /D (page.228) >>
->> endobj
-13386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 99.324 362.272 108.17]
-/A << /S /GoTo /D (page.284) >>
->> endobj
-13388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13392 0 obj <<
-/D [13390 0 R /XYZ 89 770.89 null]
->> endobj
-13389 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13454 0 obj <<
-/Length 1069      
-/Filter /FlateDecode
->>
-stream
-x��ms�8���)�naf�H����:ޫH��v�d�ҖY/�z��7<�*k�m�ٝ�W� ��;�$'<����h]k�Ad�`@����	+���г:����T�K�]� #%�n�n�{�ZP�5�4
L��o�X� %���&{iTYa�9p7
�
Œ�� ��e
4�$�rM��ӫ�[,?z���s���G�Ȩ� wMC���\4Qn�����^/��2N"/Xf�
z��h�Q;�??��ȣ��>�狋v�:O��
�U"0��q�7?� H�q�<��'�Ꮚ�!����|
��(�U��	>h��p�x��қW��P�U�
�
UQ����x��|�L��ͫ7�g�?�v���
-L�>
�n��&;e,l���V����z<yU���"j�.=���K���tг�=U(
Yq�v?���b�g�M̑c�V��Rvz]���M�#�z��}5����|��;G���9��#]�
-gU�*,�_Őt�B'������gvE
��ӣd�\Q˹j��s�G�>\/gԋ���|	4KM��O����������w�DFޗ��'��YJWj��6M��
?�i��75p�y

���,K�ڄ^M\�#:��~�D`B;�	��̧A<�́��z�yHMݛsz[�2
"a�C��HDV_)ؔ�;�g]���n$�
����d8���|Ȗ�k����Q�����3�y�ϼ���Nz�%�z�+Ov��/������s�q�p�����\��>�ѭ/��r	s�̫��r�
��G�������7\Z<\��4���ޝ����0u�
AwnF"���Yf�G
�2�ʽ�R�19��e��O��8�L{d:�劆"\���!��A������鞉�%�Q��Z���'' ��T��N̮jϞߦ� )ml��VL$�(uX���#Mы^U��Q��O��ɿ��-}^,\�
�؏~1�<�ko���1�35�Gq�ٞUB��Hf��$6֔
�/��=�lᆭ'��/�5I�����)IV��f�����^�H
-��j5o텯�5B���y�
lF����U.�t{_�3���C��O
-endstream
-endobj
-13453 0 obj <<
-/Type /Page
-/Contents 13454 0 R
-/Resources 13452 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 13456 0 R
-/Annots [ 13387 0 R 13393 0 R 13394 0 R 13395 0 R 13396 0 R 13397 0 R 13398 0 R 13399 0 R 13400 0 R 13401 0 R 13402 0 R 13403 0 R 13404 0 R 13405 0 R 13406 0 R 13407 0 R 13408 0 R 13409 0 R 13410 0 R 13411 0 R 13412 0 R 13413 0 R 13414 0 R 13415 0 R 13416 0 R 13417 0 R 13418 0 R 13419 0 R 13420 0 R 13421 0 R 13422 0 R 13423 0 R 13424 0 R 13425 0 R 13426 0 R 13427 0 R 13428 0 R 13429 0 R 13430 0 R 13431 0 R 13432 0 R 13433 0 R 13434 0 R 13435 0 R 13436 0 R 13437 0 R 13438 0 R 13439 0 R 13 [...]
->> endobj
-13387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 708.674 208.774 718.861]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.088 683.979 295.024 694.883]
-/A << /S /GoTo /D (page.109) >>
->> endobj
-13394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 674.081 145.791 682.928]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-13395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 660.035 258.537 670.938]
-/A << /S /GoTo /D (page.146) >>
->> endobj
-13396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 648.045 260.191 658.949]
-/A << /S /GoTo /D (page.265) >>
->> endobj
-13397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 624.818 145.791 635.005]
-/A << /S /GoTo /D (page.342) >>
->> endobj
-13398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.78 624.818 165.716 635.005]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-13399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 600.874 221.606 611.061]
-/A << /S /GoTo /D (page.377) >>
->> endobj
-13400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 576.93 187.046 587.116]
-/A << /S /GoTo /D (page.428) >>
->> endobj
-13401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 564.223 287.867 575.127]
-/A << /S /GoTo /D (page.464) >>
->> endobj
-13402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 540.962 208.774 551.149]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 516.984 208.774 527.171]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-13404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 493.006 208.774 503.193]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 469.028 208.774 479.214]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-13406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.415 433.094 172.351 443.281]
-/A << /S /GoTo /D (page.404) >>
->> endobj
-13407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 398.381 145.791 407.347]
-/A << /S /GoTo /D (page.409) >>
->> endobj
-13408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 372.465 285.097 383.369]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-13409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 360.476 258.537 371.38]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-13410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 348.487 260.191 359.391]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-13411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 326.6 145.791 335.447]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-13412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 301.316 221.606 311.502]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-13413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 288.609 278.203 299.513]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 264.631 285.097 275.535]
-/A << /S /GoTo /D (page.110) >>
->> endobj
-13415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 252.642 258.537 263.546]
-/A << /S /GoTo /D (page.147) >>
->> endobj
-13416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 240.653 260.191 251.557]
-/A << /S /GoTo /D (page.266) >>
->> endobj
-13417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 218.766 145.791 227.612]
-/A << /S /GoTo /D (page.343) >>
->> endobj
-13418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 193.481 221.606 203.668]
-/A << /S /GoTo /D (page.378) >>
->> endobj
-13419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.266 180.775 278.203 191.679]
-/A << /S /GoTo /D (page.483) >>
->> endobj
-13420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 146.985 208.774 157.172]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 123.007 208.774 133.194]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 99.029 208.774 109.215]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.819 75.05 208.774 85.237]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 696.719 425.255 706.906]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 672.809 425.255 682.996]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13426 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 648.899 425.255 659.085]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 624.988 425.255 635.175]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 601.078 425.255 611.265]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 577.168 425.255 587.354]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 553.257 425.255 563.444]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 529.347 425.255 539.534]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 505.437 425.255 515.623]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 481.526 425.255 491.713]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 457.616 425.255 467.803]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 433.706 425.255 443.892]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 409.795 425.255 419.982]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 385.885 425.255 396.071]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 361.975 425.255 372.161]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 338.064 425.255 348.251]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 314.154 425.255 324.34]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 290.243 425.255 300.43]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 266.333 425.255 276.52]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 242.423 425.255 252.609]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 218.512 425.255 228.699]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 194.602 425.255 204.789]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 170.692 425.255 180.878]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.3 146.781 425.255 156.968]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-13448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.669 122.154 491.606 133.058]
-/A << /S /GoTo /D (page.489) >>
->> endobj
-13449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.258 98.244 513.194 109.147]
-/A << /S /GoTo /D (page.491) >>
->> endobj
-13450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 74.333 447.89 85.237]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [276.306 44.211 391.275 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13455 0 obj <<
-/D [13453 0 R /XYZ 89 770.89 null]
->> endobj
-13452 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13481 0 obj <<
-/Length 668       
-/Filter /FlateDecode
->>
-stream
-x�ŗ[o�0���~H�c�ҷfM�t�ЄN��
-y�$h�!����`�5QZ(Қ'|9>�w���� Г:�Ծ5��m�p�F��mH
���L&XW
�;����U�pt��������Kڍ#��jM
������5���h
tU��L�{	=!�	�c��'o�hD�
8�����M�0qLd���s��i��z�����c�*ٲ���$0k�ɦU�
����
�x2�
�;�q pS�?���	1�C��ķkƿ���!x�{��{����}pQ���ʗ�~�٫�=���m�����

M ���$��,Ƚֿ���;��y0nVA�k�	�fC��c�;��
Ͳp7�Я�QM���E1��4��ΩS:��f
���ިH��:1��(�Q�s�MW4
*h0&��$����}��E����9]&1�*�:��~�kl�a�^;w����^�w��$��eԹ�W8�?���w�Ӏ�<aY�e
��<����KZ�n=����"S�vu0&ܚ碛�����`:�Vv�	�n���<d��"g�?��F��
�{犿a�A�ko��)
����<
�R��O�o}��E�ϡ-jH��-��<�j���-�gp�)�a�NӨ}��i�X����"al��2�0�k�sfx�o�_P<�
-endstream
-endobj
-13480 0 obj <<
-/Type /Page
-/Contents 13481 0 R
-/Resources 13479 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 13456 0 R
-/Annots [ 13457 0 R 13458 0 R 13459 0 R 13460 0 R 13461 0 R 13462 0 R 13463 0 R 13464 0 R 13465 0 R 13466 0 R 13467 0 R 13468 0 R 13469 0 R 13470 0 R 13471 0 R 13472 0 R 13473 0 R 13474 0 R 13475 0 R 13476 0 R 13477 0 R 13478 0 R ]
->> endobj
-13457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 696.002 231.409 706.906]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 672.092 231.409 682.996]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 648.181 231.409 659.085]
-/A << /S /GoTo /D (page.78) >>
->> endobj
-13460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 624.271 231.409 635.175]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 600.361 231.409 611.265]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 576.45 231.409 587.354]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 552.54 231.409 563.444]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 528.63 231.409 539.534]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 504.719 231.409 515.623]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 480.809 231.409 491.713]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.454 456.899 231.409 467.803]
-/A << /S /GoTo /D (page.79) >>
->> endobj
-13468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 411.788 187.046 421.974]
-/A << /S /GoTo /D (page.437) >>
->> endobj
-13469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 387.16 260.191 398.064]
-/A << /S /GoTo /D (page.272) >>
->> endobj
-13470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 363.967 221.606 374.154]
-/A << /S /GoTo /D (page.382) >>
->> endobj
-13471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.161 339.339 285.097 350.243]
-/A << /S /GoTo /D (page.115) >>
->> endobj
-13472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6 327.384 258.537 338.288]
-/A << /S /GoTo /D (page.151) >>
->> endobj
-13473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.254 315.429 260.191 326.333]
-/A << /S /GoTo /D (page.270) >>
->> endobj
-13474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 293.576 145.791 302.423]
-/A << /S /GoTo /D (page.348) >>
->> endobj
-13475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.109 268.326 187.046 278.512]
-/A << /S /GoTo /D (page.433) >>
->> endobj
-13476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.93 255.653 287.867 266.557]
-/A << /S /GoTo /D (page.469) >>
->> endobj
-13477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.767 231.743 291.722 242.647]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-13478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [336.661 44.211 451.63 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-13482 0 obj <<
-/D [13480 0 R /XYZ 89 770.89 null]
->> endobj
-13479 0 obj <<
-/Font << /F70 398 0 R /F56 363 0 R /F72 400 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-13483 0 obj
-[511.1 460 421.7 408.9]
-endobj
-13484 0 obj
-[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
-endobj
-13485 0 obj
-[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3]
-endobj
-13486 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
-endobj
-13487 0 obj
-[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
-endobj
-13488 0 obj
-[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
-endobj
-13489 0 obj
-[761.6 489.6 761.6]
-endobj
-13490 0 obj
-[603.2 544.5 368.3 544.5 603.2 368.3 368.3 544.5 309.5 955.6 661.9 603.2 603.2 544.5 500.4 485.7 397.6 632.6 544.5 779.4 544.5]
-endobj
-13491 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6 506.2]
-endobj
-13492 0 obj
-[799.4 285.5 799.4 513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4]
-endobj
-13494 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-13495 0 obj
-[826.4 531.3 826.4]
-endobj
-13496 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
-endobj
-13497 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-13498 0 obj
-[686.6]
-endobj
-13499 0 obj
-[1083.3 458.3 1083.3 736.1 1083.3 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 736.1 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 1361.1 1083.3 1083.3 1361.1 1361.1 736.1 736.1 1361.1 1361.1 1361.1 1083.3 1361.1 1361.1 875 875 1361.1 1361.1 1361.1 1083.3 441 1361.1 944.5 944.5 1222.2 1222.2 0 0 805.6 805.6 944.5 736.1 1013.9 1013.9 1083.3 1083.3 875 1113.5 919.3 782.1 1083.9 770.8 988.2 850.4 1194.5 819.5 958.3 1055 964 [...]
-endobj
-13500 0 obj
-[722.2 888.9 611.1 1000 1000 1000 1000 833.3 833.3 416.7 416.7 416.7 416.7 1111.1]
-endobj
-13501 0 obj
-[1109.9 1007 867.4 1064 1110.4 626.7 772.9 1138.9 955.6 1284 1075.7 1047.5 875.4 1082.2 1030 856.3 832.3 943.9 827.8 1279.2 1112.9 824.3 943.1 597.2 597.2 597.2 1361.1 1361.1 597.2 774.4 633.3 649.4 739.7 677 684 700.6 827.6 533.6 588.2 758.1 480.3 1228 880.8]
-endobj
-13502 0 obj
-[575 575]
-endobj
-13503 0 obj
-[632.9 520.8 513.4 609.7 553.6 568.1 544.9 667.6 404.8 470.8 603.7 348.1 1032.4 713 584.7 600.9 542.1 528.7 531.3 415.3 681 566.7 831.5 659]
-endobj
-13504 0 obj
-[1027.8 402.8 472.2 402.8 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 402.8 402.8 1027.8 1027.8 1027.8 645.8 1027.8 980.6 934.7 958.3 1004.2 900 865.3 1033.4 980.6 494.5 691.7 1015.3 830.6 1188.9 980.6 1027.8 900]
-endobj
-13505 0 obj
-[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4 1138.9 769.8 769.8 1015.9 1015.9 0 0 646.8 646.8 769.8 585.3 831.4 831.4 892.9 892.9 708.3 917.6 753.4 620.2 889.5 616.1 818.4 688.5 978.7 646.5 782.2 871.7 791.7 1342.7 935.6 905.8 80 [...]
-endobj
-13506 0 obj
-[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.5 472.2 8 [...]
-endobj
-13507 0 obj
-[446.4 446.4 569.5 877 323.4 384.9 323.4 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
-endobj
-13508 0 obj
-[833.3 777.8 694.4 666.7 750 722.2 777.8 722.2 777.8 722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 2 [...]
-endobj
-13509 0 obj
-[592.7 662 526.8 632.9 686.9 713.8 756 719.7 539.7 689.9 950 592.7 439.2 751.4 1138.9 1138.9 1138.9 1138.9 339.3 339.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 339.3 339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 3 [...]
-endobj
-13510 0 obj
-[777.8 555.6 722.2 666.7 722.2 722.2 666.7 611.1 777.8 777.8 388.9 500 777.8 666.7 944.5 722.2 777.8 611.1 777.8 722.2 555.6 666.7 722.2 722.2 1000 722.2 722.2 666.7]
-endobj
-13511 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 0 0 0 333 500 556 8 [...]
-endobj
-13512 0 obj
-[517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489 [...]
-endobj
-13513 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-13514 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
-endobj
-13515 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-13516 0 obj
-[472.2 472.2 472.2]
-endobj
-13517 0 obj
-[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8  [...]
-endobj
-13518 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-13519 0 obj <<
-/Length1 1410
-/Length2 6087
-/Length3 0
-/Length 7035      
-/Filter /FlateDecode
->>
-stream
-xڍtT���6`�
�� �4CwwJ�� 

303t�J��J��*!%-�t���J����{�y����}k�z��{_{���qs��+9!
 �8�_H $
��)[� HD &��0��a���
f$
-��K�B	�1:U0�C�mo $�K
IH�@�0$�7��T�>P'@O �F�!(��?������p9rBRR|��%��z`�+���
��P��!�d]�hOiAA___�J �t���|�hW��� } N�/ʀ>�� `�
-E�e0F8�}�H�Q���8
-��
w� Lv�XK��	����
��) $ �p���;�


�`�?�8Ca஺� ����N��`
-�����0����`@]� c��rDB=�(����0�2���T

8E��~�P$�Sw�?�u�#|�K�P���/Nޞ��p��7DK��"�����@ ���$ � ~������{B~�~�1
�=��3�$�
����> ��������uD(����1j��_2��H�`Œ� �����3aN8�����-�UU��5��C�_Fee��/&�
�� !!qQ@s�g�U�o���`���GD-�3����z��3\ֆ�g}f�! ׿��$r�|���K����7��������7R���~۹��?v�����go4f7��
��7�
��B+#`N�m�B�1�w����P�:��d E;��5Dw
�C
(����ˆ�9Gẉ����	�Y��T�;"�~�0��`$�O�i=F�0K���=ۀ� 
�Ƹ r��3I𫣢R� �����K� H�o�?29z#��-�=
�k�-�^y��H05�p�y�V���R���m at n�c�<��?p
-����7������RZO��ס�4�e�v]
nT}�a�yЅ]���Z��Э���m��&|F~���K� �p�ku���
�^ޒ$��'��~�
%3}��
�+�u/JF��Lc��
?s�9d�Ѳ�D�3��P���~><���ɢ��K�'�2�rQ8�t,`��D�Bw�Β���!E�0g���m����W�
r�����'��ѱ��"��=
�m��ݒ���
	3s
�8�T�Fri8�����e1BCO/ٙ��-��x?�2���6�%'�J
�}�`>��\n�
-�8�)X
-
��5�>���H�q^��Q*�� �g���c~�knQA��
����~�4�5){_/_6'��X�VR
RG
��5IE�
���DR�J
<���Q&�Z�%٭�� ��@1���9Y�2w(��^f5}-Q�1ܥ��
-1�ь#�},��j7�Ϩ�<|Ur7[�)�Δ޻@5���#�V�\;:�
:.��W
�!ڝ<vk
�+��b�4��W,�Ba����d�t �V��O�0w�
ꍗ��PEW$�E"d���]���
K�P��$��3�c5����2
���!��af��^x�ڼv�xn�5��{>:S�, ��x����^�f�ZJ��[�R�F\��;�[��4��^�*��?�A�Pc

-(m�̇>���CtW�EP�mo��XSiZ�i\A��4�E
z�I��
��Z4L���P]�X�|�L(Ҙ����@��v����~{�XIi����o0�Rz����(X����/�9�sZ~�/�.�i��$B9iB�_�߹����A<2n�$�Y�XCv?r�*��t��K�PÅ3)��F.h_�+3�hЖ���.�9�'V�y���'�����&_uqSSl�K-
-���vh��R�-[�	28V�r������ޢ^�MH�_V��&���c��)ejs�YO<=$�9����N7LH�gl�J"��!����N�5��}��ã�
�幺6q

� ��æq��o[p�������V��j��;�������"
�P�XҭX.��>�YR<	�S��s(M�Ճ}��ٛ��9n�r��x�
f_E��p%XՍ���Eѓ
��A�YA��?��T�xE�<��Z3<d�
��Q��+j�sJG��.*�im�		ipF��׸���b�J��C���@
-�ރL�NC������y��8S��J�����	�r���5�)4H,M��[�}��
-�f���-��؁4���j����n��I;�M�?am��d���ڎ]ٯ�.x[)N/mL��G�8i%����n��6�
>�h�:<�b��dw��{���W�NQ�m�/�]�*�i����X�uVnժ��+����,��fU��p6�E<t�߀f5�M�aQQ�U�n;�y�)0�z8�&����3�Ce��]�)9�6k0��w�:Š;��2�h�s��F7�H�z֓>tG
�5ά͐En7������6��ǯ#�oH�٫�_X����m��n��m
�����
IP��v$�:G�g��e�5ːg*_�	bL��Ũ4,���
w����.�Q&�����\X�������T��k�M��d?�'���5�
���v��K����.2�IU�e)�b��5+��Z��O��g<�R}B�g�Q�k����Vd�8�e_;�?}A�I�t���/�z�η�`��Nq�̈�@*�}uh���ΌO��������D����d�%����ɼ���s���鑾��O��(N@��G� [...]
� �U��#�5�C.�q�79���J�ӫ܏�o�
$Æ�-��3��+?�ľ��,\��x�/f�pw!���rCV焾?%l�Hx�++��Wa;*�r�9�Ϡ�s�(h�ܽ�H�^���<�0�f��7���A��,��|FņJW��,�
-+e���y>]��
���7(k�!a�<�+Y��%
�����&�|�����
gS:ѫ���l:Ûnuߓ�
T'=����Ⓘ���%f�`2��jit}�a��s |�Q7�S��&"��X�Y��p��j(:y��Z!�
�I�;RP�.���m݈��\[y�3��b�gj���ns!����dD��!J,���GS��}�����]�7c�< 5/���?$EmLJ{�I��Us�2�/�$�V
-޷
��)|FQj�ZcgϏ��M%��5xa�F���8U?�8Mt]W�e�@}�[��@�څ��&f�.u�D�ȬZ���k	��Dx���`%��4�n�x����4���cVd������2yJE'7l.^���\u��L�����I����4�,��|�w�t#��)�|53Q7�Hj7��~>0&�>Ӟ��'�0�Ǎ4犜
'��<K��#�1�{AWHm"a��Ow�o_��<J���2z�m���z�l�l��[��5��|��!�*�/�C��:���.��"x���t��
�h
=�Պ(q�t������{���4�-�a�|����y�R�mѭ
�Q��
�$z��ơc��'E�T�q�R�ԇ���f���jC� oӌ$N��S�?����
��ͦEi�S�Zk��H��޳^m���%��UZ��^ ���7z�V�';LbqFD��3g�q���%�Ib�ۧ�)T9u��ٍ]	��&������e$L9��e���)+���
�����Hkì�5��;���3��Z�UF���y������7�����bSoR��dI
����P�c���ݻ��L���?���L8�"�=�
ZJ
.y� ��Q��XJ����h��[��O�/�'3O�CP��Q0Wsc���9��C�c�-��ѭl��{�y:�R�^�2��c
�������[VED�d�d���
�L�����?J���k$;�����vbv��Z
';�eq�����5��;W3�be���d�2����U�����bjG���|"��!��$>��jY"?g8C!����d�!ʮ�r��5�
l��u6|���o��"������$.��'�
�x+p��}�9EaY�
�r�=e�Г;}>"A������"{;\�+,:O6��$谫b�]q��"Z�'�q9���%���A��4%���N��.�
K빱E�Eu�����\+��`Y�
��Cq����J��lL�:���� �q�glU����N
��JD˜�b$soJ� �'=�;,k�K@ʢ4�,���Ù�,����������

]R�^�i�o�j3{�W-^��CTj�O=��}��Yp�8#Z��|%�@ٜ�������\y�{����gS
���p`�j|���rk���ڽe�9`\V"��d�-�0~���d����q����u^WI�(*֞������7x;�z~�e�9����
m3k�7U�+��dW�I��+��!�x��ɓ�4��߿
-әT�
4�j�:3f􇠁~�Mۡ4
���j�f��l�;���k�ڛz.l#���$�\JUP�*�|:Y9�c�
-x
�ܹ�iѢ�Dg$�B��m���'u�h��X,
�
�'C
�^lⁿ�_�}�!zI�#�4����t��4�h�"�/�lsKG8�(�
�}�*��o���].�sWH
�6s�Xf��~t+T����CT0����I�Wn���
=mBC2%e[W[3D޾p�[Ί�ϑ�-%�?�; $Ѷ��1����G]��c�G�խtw� ���A�
nU��q�q�Ƭ
-gQ�#ᒽ�a���>b<_vfR;� <�>on���@���O�u�xg���Er�ގd��ܒx�;�x)
��mk��6���}�C1!���伞xG��^Z��j9�4����3��z�ŵ&�oAەH+���2��YG,�y+�
+�X;�횁�Ir�'�#����K�L&&K�\��,o/�tl�f8jZؾ]��t��pIxE��i\�M>;˾�h�hX?�i�
-�1"�%l��0t1=�~��y��-Z,��N�K��/��-Q�r��D�ڸNM ��
��io?-�=��L�c���q�ƿ�&���<]�l�2X������S�K�F�3'_������EYk������|��
-�Ɉ�ݏKvW�a��
�)LGov�a�\�SYO���?��5f��Ga�|w澳�s!�x��UM�,t�J���
N�2�����ߑ��
ٍ�Տ����,Kr�0����z$��(n�DouOW���W�"t��jU��\IV����3�J�#�
-�M,����&���y� }������f�.�w�������.v>g8�눗j�;�C��ktXE,|?Pb�
�Q
�f� �
G����x�J9J�w�D�H{(��V� Ş?ޠ�)m%u�2��y\S�ڋ�%ʶ�"Y(��[w�c�����K|���~��8Z�H�����Y�%�"m�e�
^c�戆�\@��'�p�:�N7ʆ3�bf�����m�5�{�;�vWn'�2�&��� ������J[i�����3����NlCP�k����XqM�Ѯ�p� ʥ��MF��S

���U
˝JSw6y%��
���{��R-��=6�D�&~<��ƽFy�
%;�TO�!iU�X(|�5F�����;��͈i�&Vo��n���O��\��t�V��S�c�8+��V
{ﰄ�g��
-�ޖ�
-����=��>Ua�g$�ߛw)�&/U|<���"��Y#�_LP�.�IX�eH�ҀME�3
��
-.�m����
n�_Ū�$�nO0yُ���B1W�ad\7���/��.��;լ1ޓ�)�'3[���[週�-�@L��Y�Og61E����/�-lƣ&�q
��	�z����|��.vxv6������[��c'��A�xy�v�H5�������x��B�1�Z=����x>\��U�5?�u
J�C7c&�����^��h<SP k43!]��ݘy���
��ŧ�U�±KC�A17�W��
�
�N
-���N\�3��3��;B��ۛ�h�$\���`���5�dpQu�b"�lb�Q�_�sņ��=�Y��8РB�%�K��d�God��U���K�`a�O*�a�T��f�/�7���M
S��<+�tW;�㝩��ri�wdf7��ﶚ���j:�5*T5I*���-��m�%��v��%h���עU�U
��$��|M$���O KÓ����B�Y���X*��\�^�D��y3U{��A�ðs2q�d e��
��`K���4
�"-��ΏV��K~x���_�,�Zl�I	��y!��'�v�?���DW��T��Ëu����
���踬�{W,W�,Fg	4��· �Y�5�o�Jn��,z>��$W��K�l�<�#��#����َ
�
,i}oB$�e7��-��
u����o�
�
���
+����ޗy<:*�^��X�	E��a�?A	p��}�Ʈu�-����V:9�
�2����V<��[!	] We
�h�ٟ��wx�M���䓘�����D��,���v;��&����ڊ\b2�f�C׆��
4S4�W��a
����
��[���M!�l���g1�k�J
�=U��m���JT�8�7JtE�g=D�^�L��o���,W�����1[��=������/��U�*_(�x
9Zj����5�=���F�ދȨu
�\�����#��1\�`q����_��~&)��2���5
�󥤶�{��x�
-�UR��+�:��%�]V����)��J��\
���w����C"��_��	$��r��"�wJ�u��
�
�|�:���\�
`kJ��Br^=q�f
��y�+$w]�������ns�o�ch���
�`�m
C�|QްBw�J;�E������ȑ���
-��[S�M1|��[OϷ?97K�OrI��GR�VM��,��A�{;����#�Jr\*��>T\��о��V�Z�+h-Wo�BM]W>�s����a��?1���
-endstream
-endobj
-13520 0 obj <<
-/Type /FontDescriptor
-/FontName /LDBHLR+CMBX10
-/Flags 4
-/FontBBox [-56 -250 1164 750]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle 0
-/StemV 114
-/XHeight 444
-/CharSet (/one/zero)
-/FontFile 13519 0 R
->> endobj
-13521 0 obj <<
-/Length1 2167
-/Length2 10412
-/Length3 0
-/Length 11616     
-/Filter /FlateDecode
->>
-stream
-xڍwT��/�ݨ� ��R���
5b�t7��-�! ]��tw��yy����s�=;g���|;��FC���"f1IC�,
�� 	%�7
� vv.VvvN4M0���F�
rtC���p�O�$�$���;� 8� 
��
|��� Nvv��!�� I�
�
��
-��؁��h$ ��`
K蓟���M 
|̿��lA�`S�
@	��>y4� 4 �`��_&�_YB���ll����@['V���03�
����@�. 3�o)����?ScE�hZ��� 4 �PW�#�؀MAvNO*�vf G��w���"@�
d����̀?��`���ܟڿ���
45������v s�
�"��
-u�2�vf�	m� O�@ �h�$�{�@��� ����9�:��N�N`��rd���S����$ �� ;��o�I�
A�Ouwg����vW;ϿN�`;3���0s�gӲ;8��$��y����, at P � '// �  ��Z���@��
�;�������=�
`���
lz�@�t�� PGg���ĿOh

 3�)`� ۡ�c�	��q~�#�
���4~
 ��^3|�03����?⿷�ML[JWE��ϔ�&��!n ONn 
� /;�������	�����K�W����@���bR��
�#������˟�A���0 ��A�4�  �?�o���n���������߆�7+����oD��66�����۸�)�4��Ч�P�<���Eu@l��
�l�_V
-|Z1;
��
	v����T�PS�?��><��ہT!N���
 
;����3�~�W����;zڪ���3����~�<� ��#�
��O'
�'�Ӟ���~o �
��xJ�
`qD����� 6G�)�I��
�x��?@�9T
l�7�������
N��0<�R���������r�[�WSP�_�����}����(�_�_#��7�K`�2����~e~	��fn�8��*<���\�I�b��*<]>f`'{��?�>U���*��o_��5���+�K*�������࿖��O�*��+�/�<�b~��/[�:����;�STNζ��?��[~�_�'s�8��9�=���6P����i�]�ğ6�	������k�L�
����~�=��u��9��/ S��)��P�UM��*��,�#���l�0�x�:�:�`!'2T��/;^�%t�,�Kџ��Q�{�7�!�4ǫ�ܾ�3z�>�ق63J��-_���
����ֻ{�w�~��M���4���X���W�=2n��%�_��6ն*y��J�Y��"
�>N��dL�P!AY�P�Nܰ'�/��e}{��τ�u�U੷�}=�X����A��T��
�
�����N�<�gQ�R�e�����������9���HC��cX��B|@<�@
ž0��U�r"#���5k��y�����
�`Z]MOj�2L��g$)
�f��

&.�ނ�T�H��
"AZg�
C�
Ty.z�ȃ�m=�Z(
�<�
��
-��
�\��_�G�F��7�.��=��g��,h�"ʴ��$�u�
-zW�'j��6�'U3܄�h

3pE�W`���psd�+V|7��o���g�=]���r�|���Ҽ˶��\S]���'B
9��z��``0l��X?C�F�&����� �̌
-]"��ҁ�۬��?<"
w�_}�s��f����W7�4O��?�*o�\L'G8v�pӎ����W�˰d�,��+�8�l9�A>�Kڌ���#aPT���$
-�d����0�N�y���E@����l�D�v�R��	���ό7�\O|3��j�Z`���ٯ^_U&�����5��qԊ��X�� ���0��4��ِ�ǥlPq����ܗ��u�gY٪ݬ����p���V�<��m�b
\*������p�[a���̓d$k�S��jpxQ�V4o�6-|yA���[A�+8����p����D���.d/_*>�
<��P?F�mҷ�
��~�d6�M)�a�/��QB	XT}��ŵ
-�E$(���,,�&1d�MǨvj��
��E��N�3��)^���F�=���5��7B�I[\mF��`kz�L�.�eYӰӽ)}��e	ըE ˜�������γ��"���%����k��E%D�t1B�[ؠ2��Q
������mw�j�}���f�Vp���2")��yA��H�σ��E��\>z%�|�S�g�e��3�-��������
o���i^�߶��|�cq�3{�Gb���]���Do~?bAoy9ܵ��=�ː]�摅����[��@�|�2� �6.�E��Z����L<H��ŵrSP�t�^Y!ťCnj��T.S�g�/a>�V/?6|uɬ��Eֻ<*�
�H���}ݪ�m��M���YN��3��y�n_ّ�l�:�$*�:�(�d�xl
e��(�������>]�h()G�*W�'։��b���ŭ�l�
pQ�]
�v0|�]�H�s#?�lj��S�"�bC����
%lD��/r!e:&el��SG�K��A9�>w��OF���(��B|ٵO?G�tD�4. [...]
-�/��Ɵi�����8�H3=z�m��;��n��|�EA�
-��c��	�cp�O#��6�]�5%�v�*z�=�W�R�(-��Kz��u{�e�
-��8(�#(7���E�?�~+��c���
`go<):1�� C&��˪HZp#�\�{�ܩ�#��
���1
���5�:**�V%��W{�"4�6!��B���&.��s�}1N��J�b�C��8[�n�)��j�"�ɚ�#%�Jk�$��2s=C�Pr&����.7&����L�R���q_{��%���ȼ�
�����O�$w�-&39V� lL�?+�V�t3Z�ួIg��6�WU~1
���)hN\�W�s� +ǟ
�7��-�g�̴���X����
U:�(<��z4<�
����H&�d����'�y��.�8ީ`eO��/4͉�Q$��5�B[�r��k���6-(�s$4�;3�)��~
�pgAW�{���b��0
��S�.~%̼Tt5���ZY���}���x�a@�	��'�W�-*�gh䗗T0�B�w�u�
K���)�
��w5�z�Uv��~”jk0�T�.��m_�[�!�
_;d��h�N����{�EA��eTךf���
�x������8�M��"(5�'�T
-�
I�H5t�^�<O�+�L��2�y}{��
�xFv$%��:�zDpHIe�7Τ�f@�Єy��8��N7�+��^e8���94�]�1��7��˩�N��̈#'C�(E���:��K5|/n���Oq�� ���z�vz���OX7�`O�cJԡ<��Wz0�hV�I��y��������*��2��w�`Fe��}2�RO�qZ��Ls�W/6
��_>��������̡�#�d�
 �Щ)�?5�9�����}n�a'E��ͬ��R&n�\�?܂�|��'��@m�;�q��'�Ey�舿��J�~
��>�F��6)�?���;
#�4�Y�2M�i�D6GR��
/��R�J6g&n�FS:IV������g�
���2��g���?dja=a�<u�`48�7zP�P�j�
������5)e�OVV�("h���%��n�ƒ����.���v���x虮y�xQ�|�$jn�U�GE��+��D׶��?b��euu(;1$���TH�Dd�@�$Q��z49�3[.UB��¨��g��,<suR��A~R�HBM%!-��M�d��t+C�l�Yn�#�ѷq��wWퟭPS-0����L���+�G�z�00'f~MI��'T�[-�yf��T��,�DC��dT<��|7�:�P5rߞ$���1S�O��
4<Hu�U<�a��\�����7���Nտo
-̼��1k
�v�H
4���O����Pm���6KQ6���)��ϫ�|��t<1���Y������f��!_�������g�u9�8���G��=~p6xΏ
?�ɀ��^ϐ���;������H����]ǧ_8����߫;����S_���1�GO9�= (u��:���\X���)	�w|�{�آZ�k{
��n��X�+�솀
����P�T�B�
-"B	�6�Lw7u�J� ������������ūCM�JD�&���*��{g�����ڧ_.�bŔ����n
�Ƽ�^�޾A;�8!yi���cC06�T^v ��[�^ג�p�Yp}�- W����J�w��ب��X@�̯Jk�;r暒���"@�F ��g�Y����(��H��L��"�oo�E9�w�( ��Z5��FA5������lf)d�dT�|�D��0ҵ��/�8Ѷl�T�lL�u��epo����X{1AX(05�E��k�LD=��Q��j�b�
GB:.��rx�����{�Ud+ at b��!�g#�8�VG�hu|�
���/t7:Fߪ��9�� �+_Mi�ˍ�zp����P�
�|\�.ۺ�TȠ@t��i<�7�
X�Q7&�L��:���^͘�)�c�,�Yg05�.��.��Z�[m�[����*�"9����[�"q��
��y^SEn�)��"/��Ͱ��D�?[����_��T�g������/�Ch5�U�h�Zo��y����V-�ڜ�� [...]
-	�z��5F�o�o�N���'���0!��P��1���CH��Z����+��3�eeT2�RC�BeC�.b�Zq�B4�x��R�m�76H����I��j���8�Lg��[�a���W�ˀ���UE�VV�ϧ�>���4sn���aB�=�'ĭ��Æu��,�y�9�ɨn���mo���=p�(��
�"
�&
��z-U㔐��z�q���|
�0�9�����܆5:�Hة��J�����A�V�l��ŕ�ó
��3��t��
�",#zE�L-g3�(o)L�t�#�T"qZ�oL����
��x���
n���')�b�
߮����+~l@��ᚵr	�8�
1�+�ۘP����o
-_�\B�	v3�ַ�J�J� 3ecܽA��K�9K}�.X�
��6j�|��$^�Qauu\A�7�4�����af����KHwe!ҹ�{��~�CoL�G��[�I!�!��G��'��-i\��DȋZ��uj���7ҏ�����:���
��Mߤ��R�;X��t>�JJ�x��8eR�j"Irਲ਼.��U
޾\�b
-pd�-�I��L�@�]��2iO70�*rqB~�-�h
�ɏV�ȟx �KG���%��yp�^�t��"��f<;1�J��Q at y
�	��xwiH&��G̝c��
�~/���%$�/b���ل
h'l��
-@��G�� uY�H�Dl�C�����3
n
YK�� �j����u?�R. �v0����؍��
�<��� ��zu�.TG���J�D�����P,
����� �P�
�m���WpY�����;�yNBG��:R���MG[�5[nEU����l�
^xb��1�Mbb�څ�o
���L
lcU5��a
���̾5� 3�r�j�j���0��sHv�H�KY����6E5t �l�>��ard��<��z�&"E��xgg�>�LbF���9,]i�:�-Ԉ���a�ycC���Ua��Yd��Qm��jf�.asﵞJZ?�1Sɽ�,*Z3�wj�y��%����RC�y��ɉ��t�\�QI�
�n6�
� ��
��#;K�
-�r*j���K�2�L�,Z�cIJ�4K��P��k.�҆i{��XRU‚���"��_�Ph�
-���[��h
S at f��X��
ܔ`�|�������gp�M�]|FX~��JJ�X���!�r��b
�u�C(��aᛷh��Xk�1���l�/�K)�����
��w��Į�ѧ�e@���&
�'Fk�)�����������)������y��c���֩k�ض�G؋ol�=])�d`#�S�΃ni��~���>���ȣF�m���
T��:>/
h����(>۳��wZ��K�
-ǽ��N�gG�ia�@�uc�FA�'!-��!�D at e��
�P��;��-YE	�m��h�� V���p�!�K,e�,�)�wt�tۊ
t0���Kg���
�x�Zfa�I�<Kܥ���EǼ�p!x��
-Dp ��
+�?I�>��Ed�B���6C�0oLY�D:MI��VUy?|��7�x��
R������:g�xf���W[�UC���"�h+�J�4��E���Z�6��U�ظ�����2t�I��b��
�7o�+�e��󪖂�uf0d������q�
-)�0���L=��,Λq�>�O�I\�0�^%��u
m=��p�/��V�mXBT�4��1-ݨ�$�c0XK��w�gI�������M'r�J���M.��D��{i.	�ֆ(<0���[Q"en[\+��4���R?���ڏ
ُV}ߋ*�>&���+��^��۝��N�q�Q� �����/���y��P<<��
���e�2�f��P[� �E>�J
�v
��p�
:�k_�_�l�
-H}1=�Ǖ���J��ږ+���}�2a<�u�
�r;�+���0a4ۋ�K�4��Wxdj���XM�7Dr�h��s�*E>
��k�l���WK��A*�r,�^c\���
/��S=.^�=��=��Qη��u+����T���T��W�R[��W�I)�7�D�n��ذ��Zv3Y)��%�1��Q�e�Jg���
rM������J��p%���
�bؑ��"it� �Z&����n��.�of��ҷ�\t�V���x���g\c�Iw���
�s�zɆtH��!8�)���
@�����f�5ȫ�-��R�U
-���g��^6��T�{!{�`
5署��Z7�`(�i��Q4X��8
��]���f��_�!��F��^��Nprq�Jx��ѕl��_�����!
��]�#������H�
��y~k~
0&��G1 E7�Q

����|��V
�CF�b�`�����
-�����K�#���xP���r���|�xZf�$�N]5-vWa�0,$���TD�R�Z�`��u~�i�;�9|w^����Q]�`u�:և��}�別�6���
��8�h�A2N��2âê2k*\5��Z랴y!,m'�-*23���ykB%�c��,��Xx�OMo0�'�eDC�������MIB�
�̫�Im�t��gT�p���XrwЗd�����h�X�kR�����Y�j�\�ᒓ1zg�����<��~ �Q�Kw��S�=+!@Ǧr7���
�OQ=�Ĝr,5rYAZ��QW�\��ׯ����TR�����c}j�mlP3���	b<��+ſ��3�(��kܛ�����U��\��¹9U(
[�A�)їynY}Ӗ�/sz�swCU?������]�cU
�y�o90˗�5N�K��(MMűq�+���Ԉ�<п���bkl�}�ޢ��K("�C
-�N�Y14o�W
�h�R���8���#"�-�i�:�C�ˆ�ϩ��R
@=#3Q@��q \m�S���Z����biB�G9f{,P��d�?Zɭ:�3����?�˿Tw
�9���qXi�*I�I�g$�� �.�m4�����t_T.3TNe�-e!t���O�_5�?�kݪ��Nq�-x��T!�}�1�[b�]~ H0�2��Ĭ
-�k��㙗D��]
ߊ��(� ����?�D�Ԇ�Q��"���[�
��OCS�M���YB`PZ�	����:
�������Vl��-O
l�/c2d�F<G�b��Y���}G�����?��)�\�Y�����
v^!�m�
�&HHa�Щ�hͰ�G���X���w[�tG���+����y�Xڇ�Z�ޫ
����p|�6X����9���W��uw����H���xc��%ƀ����;�ƾ�ZC`��� ���ӂY���J�C:t�:�ܼu5���I!�6�f)iJ��
�w�t����e�` ԂFs��
�6�7\�E�'
����
h��b�C����a	�oE�:��⃜k\u~X짣
R
9�?e�b�7�����(�#�H����59����_�1��n�l�6Π�5����'D�z�FH�^�ad�;�<O>Q���4�I�X��n���v���77a]肹2JIT��q|��ѷ Z��['�ts�ӚOA�GU%�c���b%Y�<}ɟ!����a�Iё����`��-<{$�v� T^�h~���4��
�@�;��~4"dd�t��`&�����
���7M�v�M(��H`}���$��6�T>cn8{k�#@�]l"3A���;W��W�%�r�M��tok\pazb��v��u(��$���KBdLT]�<M
q#��Kc��O�+��^���jo#Qsw�/����C�"���^�+�+�Ǔy�@���#	�K_˥ck�`A*��m"ƈ)�Nq��B�
&��b
�h������D.D�
JdPX%zUN;����+@��ӌt�tzn�rw� ��#G����]�W�/YIϙ�au\0��

lg2��Ea�� ��|~ф�6�0�e+�ll͵
���~X���A9�NX�B���W:��yd�mϢ�C�^��E#Բ�����T߯~��/�#<�ˬد�T�>j�^ٮTa$�fv��	�)>/YN�a��
�x�yW�~6��9z�����%aq��	��Ŗ\����ڎ��ӨM�¸�_r�������P�Y�ӻ#ֿ��e���<��AF�IR�]nz�Vg��,��M�a�,��d��ʎ�J-�1%rfO���Ȣj$��{����p��$}�~��J��YȰd�p�Z�F�:U���P'�{`�G��`as֘�Sv���CPcD�;� Z\�Nۧ�J
�S����N�Q��n��I.�C�rC��
-����l�lYH���T
6V
�
��K���K���2W�yVڛ|Egba3�A,
X��Q�G̠��>���f)=�i�)5���=�v���"��JQg��⡡���a��ރCR�y���
;��	����"0s&L�E������[H)���_
�?����+]�W��~
A\��$��)�
4N��7Y�
��w^ij�+S���)��L1é4�a��[�yc
N0�3��"��
Kr�J�%WGB=Y��e/j�s���z��W�
���|�}��\���%�*C������X�Q��ÙϖZH�|�
�pS�����QG
��aظ��US�H9O�d�g@��z��Vq��-Y]��d����ꖥMIH8�īW�ig�X]f���`v�!D��l�.2M�<3�
-��x�����X�;]!��g[(�����}����Z�FS_P��
�
 L��
g&I�2g��*���v`��Sd\e�m�S֜_�h�V
񱱆N,Z&���?��a�/�n�^
ū�?wR|oi([1���?f'��\��@۬w�m�n�epn��!ycδ^s˗g3  �"?��u���J �0���f�~~��=���jF�"�
(������*:�@<�Z
�
6�}�'�>�
�C
��z�<6���Je ��
��k4�}����n[޻|�|����-^�C/���~�t�\��=7T�@���0X�t̊J7�Z�QՒ����\G�7��{2K@�F?��
`�"T��#���������
SA,t�3��v!@����\�p��!�(1W��gy�ev&]b�f�."�ʏp��҄�=!�&	�B�
Ԉ(o��y�c.d� �ZYk��]��G��-���p8%亼c��nK/W	���+�j=Ⱦ
r�����z��oG��PXX����Q���r��#A �,��nV@/|�ZS���r��ǡwg�$�����2,��>��1l�����шy�v�u��^
��	3�`����7D���;��Q+��x��u�s�.�\�a@���+��d��=�
i�����r5���)���
��C��0�iҜ�R���9��h!���]v}�eV at _Q�
8�(�4
')�`7��&���q��R=%���MI��&�߇JQN�=����a�}I�� ���q}oח]��(͛�����>�
3
z���
��(/dI�0h8�����=�Q�x;�xDz�X��)7��Ǐ�[ڥrAǮ��m4��i�^��4
m��
-k�?��G)ԏ�C����eʈ���爴�����
�*� ���Q�x�L�n��f_�
�P��nj�𫺚�
�g�g�ф�
9E� 
<��Ŭ��	/Yf+����쟓>�2��g	���eS}�4��־����
�dw�C��:3~����Q��bcNG�R��
��N�-�W4��8�'�0�D!mF��(歿s��{������6UL�oRf2)�`|�^�Ed��x}�2�JK~K���JT+$�
���4��Ü��R����*�)V�.�.�^;���-ն

��n$Gq\��s�� �o�P:܎GW�y�[�����'5Q%�k#B!�/��wk[8����U�Q�,���t�:�@�Am���ʱk�_%�"7
�r_�����GX��&�x���dM5�l�C�
-�V�ݠ[����V{����$��m���he�l_;�}���vL2���"}�w�%�^'���x�P�&�"��S�rm���?L� 쟢����Mć'���D�
�f�A��g.�͕[�Rs��"
��f��kq�9Q2�ߎ�Rì��Q�NW��A���H����Հ�a�B:ZD$2�߲�dz^�>
��
&��
�&vF~�M�;�z7%�f h<�e��=�N
��;���X��ި��}�Q��e�)�/��vr�ko��e+Z�HR�/5��?��!P����8�%� ���,_a�YO���P��i�,y��ᘬ�����t
���z���Pͤ��|�+:�
f��}oǕz[qFp��k�##wi}���������
�J|���q�����⑀&����`i� D��y8{�7X]��\�eL-	���>��}x�^�L�b�:O�
Ŧm-��֓=Bac�
���p���W,;&k΂ʨ�j>�����D��gtWp��`�R�ʱ��1oY_䨳*�
7���ϝ�YU>���Z���c>�ÿ��"�Z[SR�y��E�%�VP�+t)
䩄��oo=HaU|��}Yp,�h+ ]�^i�i�Z=��'Z�J����t;�9y� r�(��5q�Q��k��C�n7�r�^l5���p�t��~�^ȑu���}�I���a����鮠#b���
��n�〝y�eels�Rt�\����ftx��ǒ�V�\J��*�tY��3�[�6J�T�-���>��V�/�gʔ���
-Pa49��]TS3_J�q����>W�ޝ�Ua_e�w�n�Z�E�����ӳ��k�
�JL����1��^��]�O+����	��s8a
]�Þ�7")�~�n��gM�fU��r�ՀVJ�Α�
����
-ڎ�-E)�ˑ8c���
~�t}G��
��s�R+��c����W�Yw7P.z���)5T3�&��$b��k�Q
C{��"G�
-endstream
-endobj
-13522 0 obj <<
-/Type /FontDescriptor
-/FontName /AVEYOS+CMEX10
-/Flags 4
-/FontBBox [-24 -2960 1454 772]
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/ItalicAngle 0
-/StemV 47
-/XHeight 431
-/CharSet (/braceex/braceleftBig/braceleftBigg/braceleftbig/braceleftbigg/braceleftbt/braceleftmid/bracelefttp/bracerightBig/bracerightBigg/bracerightbig/bracerightbt/bracerightmid/bracerighttp/floorleftbig/floorrightbig/logicalanddisplay/parenleftBig/parenleftbig/parenleftbt/parenleftex/parenlefttp/parenrightBig/parenrightbig/parenrightbt/parenrightex/parenrighttp/summationdisplay/summationtext/unionmultidisplay/vextendsingle)
-/FontFile 13521 0 R
->> endobj
-13523 0 obj <<
-/Length1 2182
-/Length2 15413
-/Length3 0
-/Length 16729     
-/Filter /FlateDecode
->>
-stream
-xڍ�P�k�
-�Z��(P���ݡXpܽ��k���w/�E�C��p��������s&3�s-�ֽ֝��LY�A�dl&	�3�02��dX���l��̬H���V`[��ȑ(5͜��@����s2��d�@��
 �b
`a�p�p�23X��y�cr��]�L
-� Y���3����������?� j 
��� ;3'+�=@�4�{�h���L���
����
v�ebrssc�93��,i�nV`K��������)�/� E��ٿ�1"Q�-����P��݀Nf�7������󛋋����-;@MF
��`f�/c����
 
#������@V�;ML at v@{+{
����@IR��� �M�2�:�����@+[���ߥ�"* ���s6q�r ;3:[��ő�0om��7�ٙك����O������
L�>\{����������_4L]
�4�
]�d��m�&B�#�08���ظ9 f� 3wK���{8���d�K������ 0�a�cen�����
t5��\�|����_���0�2��,���D���
�����;����� ��z��I�m�LA��
��>b&
%M-]9�S��RT��b`c0�r0X�ٹ\o>��
�����@�W���2�� �_)�b�־�0q��hP�{oh ��B�6�f �?����l�����y
�v��7�E����[������z����vV�
��xh��r(��V����j��k��L�\���V
|[{��Ag`agdf����Y����T�
-lb��a��i�尵�7S9[�u�y13����ؼ].�og�/��m��_��m���	{��_;���	 :9=��F�
q �Xޖ�����01ڃ�o.�7�> s��_��`�K�/�	`��� Lb7�I�����$���d� v ���S�z���_��
`R���b��A� &�?�-���[��V���`2�/��
��+���:��?�[V�������oy-�����8��-���x�?NoM��|��?�[�6���o�m�vƦ���V��_C�_Jol�uo�#�3�?a��s��}[f&��7�ß��5��m%A���f�`��������v����d	�����z9�89��-�+a��v�Z[3�?4�9�(�u������OFoE����w�Y�
-p3�z���N��������?�[i
��o}����V��89������������gf�nf��� 2�
��
!tc؛�=O��fe�,2@ H�n'�eg��}�\�g�4��Vu���X��ڭ'm�`��@*y`Aj
���r>�떈|�"_+E����� �2q$z���ŀ%��Ǻ��D7*�RI.ِŮ���,y
"
͓��V�a�=�k���?�b�v���S3�����ܪѷ�F��0���EȺ�]P��1$������5�
-P�r��
g`zKa	��oҤ��)^Z�^
�Q'�pY%�G��x�c8�a��9��G��愑B7	&�:k��[I�nT� ��

��X���zr�K��45LM�� �R�{��H��j

-���&cW�'����<�`��6{�7uȼ�'�4�u��5��6m
66W��*
T�ƟC��:��<�_
-���D�V
�#�1�<��׼3���Y�FL�k��<��{W�o��ف�}*=;�8N�1b�@� Ҝ����h<ƶp��՝��7$Pq���y��8��6$�Ҁ��c��c�
�"�C�'�W��|����C�P����R��e��D�ǟUٚZi�����
-p�v1y0�C�\���v���,}�V�cP�U��b�:D��[s#i�j	�O�u�
- 0���:�f� $��@%��eH�j�
-2|!J�Y��08�t�ENz��۔�ٻ�<�J:+��'Q���^��E)�W�I
ވ��\ �f��$�v�6ԲX�VY���u�w�f�~zuYF1����tn��:�N����	+�_�9��
-����a��|�  |\0D �e��<�:�W���&6�6������N�Oֲbl���J�
U��tf����ɣ7�2Nȸ�
kE "������
a�b�=N>���ͬ`�A��h5ֱ�:�����á��G���>��K��f��:
��D�����s�HC_�����^Kp����̖&Ӽ]
0m"k��3e/(T/F[���yp��`"K���G�9�
^;����[�2��6 t
4��c��yh��C�
-2��~/��ȼ����Z�)f�¦�����
�>z:�CP�
�
P~̏`�>M}J��k: � �>/<�{�䊗�z�x�9\�ӼJ�p��c��==H���<;�%[�g���BX+�
�yKà3U���m^�0�L��s$�K��b�ox8
��-�>�ya��킠6r.�KGp���O��LMM(7���v�.&�s�u��A�vP:eϻX�춐-/��h����21;��
�$e�O��*��O/K
v��x7�
a3�kS�~�#���Ό��pw���;+6>�� сVb��G���w�3�r&���HHׂO#O��"Z"�����"��Xp��D��:�lV]6^��f�a~
�/��WM�hNjC'�pp�����W��PV}+��o��W�s�	��vW��jK�o�r˵�z�K:�nX�
-Džl���
>�_�yJpkr�9�

�f:�>qМe�>rA�g��58��Q��L_8{|�™/mD>�؞	�%lh���։��qw�����ߕd��$�4�&�n�WQ5���
Z��g� �*��f���c�O�ެ_{���4��
S�Z[�H]�o,�FE�4X���`B��O
���J�u$R�S�}�}��$^�D�iZG��uU<Ƭ����4�Nin��=��m|�
SBU5�ͻ������K��
��:��_�Oصs>�3��[�J����בi���u5���k�����(��>�K
�Ͼxd��i
�>9����eE�B�H'��I��������UT�IR�5X�C�x���fd ��$=�(J��5��䠠m�9�
��=���|j����i)V��m��tj=@��M�Ug��uj�i�z
�4��Bm9���M�$�pt�Ä6���O8�k��i������2�����0q��h(;~�U�':~�jR����c�%��'�9��C��!rR�
�H����O
�XއIp����V@ŭ@�
����B��E�
C
ye��ơQ\E��}5��߭ο��&�b
N�~�{����v���V_���A$���eY�d���xD�
��|"����J��
ES[J��0�
�����m��'�_�th
��r����,�s�n ���2"5zX!�X� ����M[��
y��)p{
)�F
���b~���,-�c�:6OܪD+T����J�·(��C�}<T�4
	9��g�s/:��
I���&�W6K��x�zm����,���������N��J��Z��0DS��s�m�G}Aַc�S]W��w6�g׼{� �w
-�Z_33���a ��
�Tֱzf�\
�į�	fi��_7j7�؏��m��9ƙ!6���M��74C�@U�k�p�L�m
G�8Ї���'�E�"���K��U �Y������)���yu+
Y�Vk�_�fʢ�Q��;��~<0:m �@�\I|*c��xn>�A=*
��Lًu��E;ښ�(��,����E����H�/E�3;���ɬ�l��p��іH]�Þ�����B��æ��5g0Ŧx���]���.r]xðH���b�n�\&=���ݼ�'���h߱���pd8�D�gn;�囟Y0�]�|��xp3	�]�
�S߷�I���'*N����oz����8�{D6o燌�v��y���p!t�c�__4J(i8	����D��W��G����(
��+�{���!tV�VUE�_�s�����c�:m��!>Hz�`i�#���{�t&$��=@�(���Y�λt�
-��j®��g�^F�T��0�;����_pV�����&�Z��u[^
( T�Ё_�($�&HJG�A�l�n��V�7U��2m)�)�mȞ��y�yN2�������<��E��7(�\:����l�B�6���v6��s�ze�E@;�S�
�Ѝ<��ޑ�V_�F�� ����<8�'5-����ذ�j������7a��I
��GҋU9^�Q�>kc
�fΧ�8u�6����xT5�&l�9��:�L�WUg��|W[�Ъ��!t��� hrX$��zY_a

��Z�A@��w��Z���i��RO�� |O���1��
�1���N�
(�/N��!���`e'_l";Zǥ$,���� 
-������w�y"��@z��@�T}U0�	�gw�G�o�|�
3{!��vu���
����O��I]��'r�l}�[#��/ĕ��q��3Z����
��%Ⅻے�Y
���ys���+�V�������o���}촲~5*l�Lz:9���D-?�9�c&:w0A���H~�FSJ��-O�=�ܰԓ22��
$�.�h��޸
6�`êv�h��9߹�%/u�l��~���J�}X!�k��`,u���"�f�
-���n�3���}�P.��&3C(\=b ��,10
��&'�=�<2�ym�
�$�2'�c'�wN���(1�
&;F��~��%?�?�R���r�}M�icN���"
B���+�8����_�e��3
q��Q����EA|C������'<_��~b����9@:�:�	���wu�)V�%eӚv?Bȋv/*�Cq�k��"���3��a��	�,�Ԭ��`
�Vk�����V�Y"m{�hC�e��8�ݪ&B������J���E��n
��
zYkά�vg/B9�K�rM���nn�[��C{r{c�(�ϣo�u�
o��n����
-��X?A�	�����v&�x�ɺ�_��8
&��h�bM*���g�V
� �-踷_$����ݡ��
���y��ԇ�3Gv^��1}�`���_&����	Ȇ|`��
���#vb�/_�`%K�����ݭ��@B�(�RW�:���RR�=:L��J��R��18D ˝�ք�\��	�H\�
&�"P����[��6?l.��ݳ:c4m>�4X�J%N(�
E�
��?�-:a2���p}�1�ێ<��Xw��1J��βu��f�_�NW4#̖;Hb�'>�2���r�
� :��=�����+���������
af&U=�Ux��
+"ŧ�(&��.��:��A���PFyN��[��D
���P
���;�{��߶6_���U���T��s�Y=�B�q���|H����4Ճ>�slG�$;H�v��f���H�`"'��U�	��
��
2�IҦQu?�H8���wG�a\�,���&.����<
e����G���Nh�y at 1�#
�థ��zË$��k�tȓo��ey�&�<ֵ:�S�s	i��H��Q�Pa��m���5s���g����"��^��徐ć_������G�6�s����
�e�i^���`�}�f]5���i��R���2���/*~l
JMa|K��h�P�8�Q���	����Τ@�]���!W���`
-6
��5�m3JbUp �o|����
-��������O %Fj��ϓ�K�Ɂ*��"��fwBx��$-����7��h���cڵq��t�w`�0�Z�����SsG]J$4���{��`��\�B�����������D�g���Y%��P�q�|=�m4zwèo���=���Ja֢+;�B!B�?��aۣ!�>�\{�'-w��i�~H0���x��`�m�U�Y���A�NF�lur�aa�}��S�s�Lpp!P=) �߱�dw���q
Z��s�)�;�k<Wg%�� u��U��
����)�1�A�6Z\{�
���C$����
Y��a����}jtZ�<M�篫�h��~�i.lRW�g��hYD�A�8M
-0բuS�H��H���`����FID���]�#V��h|��RM�(��^��@T��X(��Kl�����r�0jH���9��c�k5񣐊��V�tN�v��7�4o�yt���u��3O�a

��WB��P���J):ݞ�\Ѩ�͈�#�Z�� u�rn_���i�[�ݶɽܤ�H�:[,e�K��P[G����x���Mf�1�m��k&��5�� *�Xf�n�IiIc%�.SJ�V��1�<A
A��k�����~���T}؁Kp�_����[����ﬨ����r4S�(���o\��� �kޘ��k)��^�3*�S�'����s�݂�W1f�-'�mx�\O� ��,�
-���
��꠻�I����~ZP�q�Y���^�e��rt)�Hū��ߑ
ر�Z�(o*
%��"���]�LM��;���a�&����1���
-(��?�@0�e�ȗ&
Q)��lHۍc��|l��&���
��	oC��K
-�e+�d��[��
胥Ì�!e��
$�j
�`1���l��0+�gˎ��6oF�oF*ʅ�
�4F��RUT�����o�9��
�mb+lV�>#pH�	M�J*��l���|�؉9r�1_ل��~���dA3�(j�?��?��$����� ��D�'���(�!����d܃���A��s�;�G�oa�/�
��ag���)V����&�9�x�T����}뼭��JE��#��yK!"1 B(i�ుx;�
-���C��BD�����a
���\��'m��U��
�D�0�
�9�c��71���*���wMr�ɋt�‚f�
+��s�/b�U�h0)�������3z���t�)\�@)���+��/
�Gy@�Uo��DA�����Bx�{oK�Hq�:����/C��Z�!�
-$��d��ƒǿ(������q
-���C6:m�9)"�
�~���c���Ƀ�0�Aݮ�����
��p�
-`(Y
M���=i+X��^8�����I�
�L>��� ����
g����EVQJ�{rrGt?�-�j96�:��@1�}; 
�w��E�5��|�
�� �$<H�O�H��?}���<�GM�j��!��i�0��c�c�3D���
-�k�Џ�J�V��x�
aa��&�
R���~��ǖU aE����L�G�w�����Gǿ+sn̎s���9��"�1��u��N�;��*��4���q���8zfY%�[ܵ6���@���E6�<�^�;x��:ϣ��ܟ�c<A��J�����
j��ͭ
ڶ��?0*��d�gM^�,��Х?L��쯅
�jF��H�p^O�ɞ]�=U�R���1�ZF�G�6�o�t��C� �aq���u�
-K1W��G���h�g��Teڌ�
�_� �z���3��M�ևգ�0W?��`ڮh
�'r���s��L��~Y�٤�w�)cͩ;{�+�O�F�|��y�j�5<
��&E
D�����af
�a�
-�uY��Rm��Y�
]��.#�5�����pܞ��d(ѡ���}/�X@�]ճ�*�y�3�{�2��t�#����>��J}��xZ7u at J�R�
LU|�h��^�� ��Ҿ}���V3Ng���_�E��.�+�U�C��{�f�uN4.�u�
(�G\RR枰\����0�LbH(Һ�Y�b�a�V)TQ���	��B���v��]�I���Ʌ
�� ;�m��1������#ۡS&�dy��<�Z�a
-�t7��/�Q�4��5翠
�������y��_�L��$�
�O���\�齥��
-�m|M�Hq��Dw�Aq�)��޻�������u�Ӥ�DuJ.4�d���35
-�Jk�<��q���F�9%
Z������sI
-"c��n��?���z
g��!�g��):�����{���	=����u�ƨVཝ�в��&��Vw�k�im�����I����T$�	��b>	/�NV�|�
R-��¸I�N��1��N2A��I����%����5��05�2����u��;lr���6oҜ5�W�U�q�6H(|=�C�SYS�@����i|�H:��ֵ�R�������O�;�,�gB�|6������yw>��T�c�^�
���rQp= �|;X��ܐ��up��W��2�0�ae�'�Φ6�oAJ��C����A���3��5�X! w@
-�5� (��R����{
-�Ù
�1�.�x:b���b69���ZTl@ �!�.�i�I+�!c,E�|L���F���ټ��#[��o(�VW�
!���{����oC��獧}���ZBF��}�ę�0��S�2
'���^TH��25��e�����+�%�}��h�m�B��:^�?�|�e�;k����jI-��WZ
�Kj�5<��Q��:W8Uz�/���H�\ (���C�м9~��pe�M
�m+����My���S=����Na�I�J�������`����\�;}�a�
X
1����H�N��������žgn]��M>��P��<����*~����O���&��]	��5�O�`ŢiX(�Etv����"1k���Kf�Z7��
-#{`
�_;�u� ^�d��n=����Rfդ<�A}j:�) R����g3~�IW���O�K�g)W�A�#;���ѯNaV���c�g!l+`����I�ma���";ɹR�/EI��酭y�Z���b۴�uek��F�}{���TV�=�m�������������9���^�
6c��
8v��
� ��o
��Y���ɦ}&���rR�-��T��Z��(F�s�ʗ
�m|_p�{4�E�O�_�Jm�o�e<p���Vl�߬��6+�ܡ[��m��-i�a=c�0�᧠��P�'���T�6(y��o#;;r���M�"=[{�%xKt9���
b
{����:>;2&[�
L����D��k(Ƥ������H�!�h�g��O>��U�Ʊ�2���^�F�%u�|�ُ4�p�bj��D�|ԏ�ӓ@ڰ�Ym���<J#!j�٭��k�9�vA�	��L��d�pяX;�4�<�|_7��=潤B�[R�r��O���4��F�J5��[8�*O�Bg�>�N�i�Y�:c�����>	|��sf����5n-h����S7�{�� �A�Ŭ6�2�w�hP�
-�q}$a�S�8�}�N�0�	Z"�P�GE�jS���#�<�a$|�9�k�sf2���
-<ν�q�F�V
� vK�����}
J}�����&�u�u��[�z3��.��n_��X��^?�
-x.�ݯ:4[�

�~�o
t��
B�
G��Ōs)�i��=e�����4�&��%!C3H�#8�y#�f�����O����;ɴ�vy��Qwu5]�+�
 2�klpSl��s�v�\ɐVKغ���\H����@�/��8�+[vz
�q�z�6ߺ�e<�������D���zk��� ��b�z���O�5�
�s�
-�+[�߬�
�ʙ��x{?�	�y�� �� +��%�D-*�~��X7��&�����Ǐ���9f� b�����
;�\�D}ǎ�rb�ӕ>�i�A�mޗ}�E�k�5,xIYx)��VJS�3�0x�����p>2�#�2�9=~� Uw C�n�5�{�
-[=��&��N

�kp�/ZNM�d��mu4ܞ��_�A`OdŴs����+�Fj��t��!�M�
�8��$����(�ˇg{�7N{S����A��k�
�t����uZƗ9t]��kVI'�*�@F&����x+����ƺj�i3OL�Š�Y��:��da9,�}���Id�q��-8[
dΨN51rBD�٘�ݱ�dV!��.Z�9BO
��/'��Ԓ
{&�)<rg�qlim�t ~I��bN��1��H�R9[=� Q9m��H����e����/��_jم����Kig~���`@�{�����Q���L)
-�X7���ac"����[�L:�
-�~�2�Ri��BU���D��`�DA��ZJ����
E4�c2��&\���]��
�A�izn��!o�o$��<�z
K��cin��'~ևwcɳ��5��S�]�62�7W1�O�"�a 
gi�?����?2\

���5�X�~�S�Ǝ%*���Ӡ�#�;��U���Qi��G|
wh��y�ּ�M^�KP�A���
9�)\&?V7Iq�0����O'{⸾�n�fi�@�iYZV=
��v+���Q���3
��V�������V�b_�q��1U�ah����45ҹ�LFc�ғ`�i���Pm2��V{\�[c&�x����'�G	C��Mݡ�,!�:r`��R_h9
�����x�f�t�d����ɢ���:�-�<�y{�
r���M�E�qw���-T�
_����~���
M�(0���z�i������~#����S,���[��CIR��Q�z��c
���j�rri�� �HO��|�T=R�Ҩϕf�̉V"$u_�B��ȁS�`�Yw�dGG���%ș��^�|��.�j}XsG��-��5l2�4��7�a��E�
:~\��f'�ڳ���KC�
m@�B�+�w�o(�|��W,��2�
-�^J̃E��
��m���f
g>("OT���[z�w槂m#YB޸�
����Zm~�����m�_����

-���"�G�r������M�W����
-9䶅����
-������Y�3�X���I��{c���Ȁrl�G���j\��O�� ��Eb����y1M���uԥ-�ߨp=.|�~M�i�}m
�;Cv62}���i��x	I��қ>n�w�u��L�O�@���ȗ�
�ݻc�3O�b�(�){���
��G[I�Qt"S��|�3�=��c��!ڡ�����,M����l�M��M+�I�/5i�B�]j��U.�zJ��8w���Ĵ�/��_Y�2�N?�S����H����O��J�
? }k'���-^:�����
{v��K��#2����rd�~_+��.�|K����*Փ��aH�Ǖ���ۀ
�t��[q��yB���DHM#n̟d!�H֜��� ����
��Ua	��MMU�q�;O����i
-��d`r�M���R����r�����k��99\ޏ˼7O�)gF���W�2���߂
-�
-D���Z��]�t��i�L\�;	4p��!n5f�|�O����0/x{H.~�I����(�u�sW�t��m�(z�܅��g��rA�s�D���|F�R
f��񠗩�M_e�X�7EVu��І�ihF�{�D�#�|�M\�Z�ё'�Ma�85]-�����#]�Nг��� =B��
FQd8a��DS�+6	G����M��|�z�o���k����u
/����5놬cU��bv
}�
-
-O�!�b���A3�/ׇ�V���Y%�F$��#�-�B������(�[�<J�h��_AM�7z�d�����5sGW�py�v�V%0dy�As(
n:M~��?�4
����y�JQO��[��P.�-�A��*gX
���(HD|�2#�5*M�=��e�
���xB
^	E${�
-�'3�0"|y[6�å
;@{��8̵����p�ș���ع���)m��犄
��i3
^J���
��'�����
��Y-8����HR��
���KyWcq%h�Lxչ5�CJ��|L����+�2�Ԣ���|>��j��	8��x�|�m���Z�:�˵%��a3 Q�'+�
�Z��4�~=�so[\�t�v�9h�#4�#�
_����KCg�Գ�8ĝ�Ե�.�����1�*4���k��������B�8S�j�����`eD1��w��W9
\�hR:c���5��I�(���3~??���D���Bp
�y��}z
-�,f|�A��E�x�`�X�e�.v BL�-*��ː]�a[R�����1��:�
n

�y��%fq�P�
ak��w�!��
Ƃ
DHm��)
-��x]����
�S��
-�
h2�;�T�
͘;��P��R��7j=�S�_��]�\~pɌ�|bIV�9�������,�i

�j3j#���k1��QN�^ևO?��0��ܜȅn��J���T�j�:�%�q
�����
NW\}�\�c�^�Vh�
��9a���r�!���]����
{��G�?�	��zL�W9Z=��̭
=���3�;%'�����4��\���Ҁ^}z�a�O�҄�N�S�
<���c����Ǡ����J|�f�,�Y�U�>������35��#)ƍX�v���8���1F *J0�����?���n�!>��0��H #KeUZx�p�3F:����
X<��J�%e@
T�w����>$an��<rr��!�����^������CţN�j�MBt���/A�c��T�*�TA1�_S���g�1UòN��C\�Rt��8{��2�ʒ*Fdjz@�l��h�[,�u��A"'aY�z�|�
䉍u�VP+����ie������$��Ѫ�K�f�Iq��t�w��t����1����G��V0}��M�*i@3�I��e���B����JڹMD"�J���N��$a)�ʫV��3�Z:W��tz�e��]<�W
-���̡�h�
-Q���I8`m��{�BL�ĉ��ԀG����k�c5Szd
I�r'?�h|X!3{�e��/̅s�-�����]UB���S��>,/�-�i_�w!9Ρ���bP
��Q9����z�7�r�*]�=��s�bd`���=���n��_+��c/?TrK"�
<1�н32��?�84�g�	;@�w��\���p�
]�).�؁<�7^��A~\|����A˩���%f�O
aW��������*��,��H�
Q��g�.�ؒ�@:
S�!�(��d��"�(+V�
�gf����P�s����~.��H+��b�E\��H�N��e}�J���_B귟�3���0/,cZL�<���=��$�bC<���ҷ˳%x�ˋ��`N�����V����F�����c�Y���?��~�}A�倘o�>h�
G���!���J��-�?���SSO��P�D�[��?<��5'�t���TQ�3��a�:�
��(�gG�K�
�LG��qZ]5�]�	���>���`��O�#����+a����
[�6�x0��;H��L�g��NCPj���Z�ڧb�4��M�kB�!�
IV,j,��!�8F5�w�B��W�qx�#(9N={2�������m2�]���ͱ��ct���Գ�c�mceW�+��^/^�y���*�j�������[<ߺy��a;��Jw���nʕ'V$3
���'�G�TP��M-C������Qb��ʏK��ī
-E.O�m�Փ�ޜ�0d�@Ùae�z�i�/C�)�AP�l��Ӄ���9�Is?����a��
)���N����&��ͣA$���=z
j�X�5 �
N
$l���A���'tt�P��
. ��[�E
��3�m"� 
z�/�	�
-�AX4�a��.��ñK���&Y2v"��3�	6�sqXJP�'�U��|�gp`�פPo_d��r���
-1�䮬�E��{�)�^&������ʩW�&��
]"z��c~�n�_~;˙�=���3�!-���@��,a����t���!��D���±;&S�
�b��n����0Z ED��2�G��oV�%�����4#
-��)�Y�*ְ�
-O�C�ݯ_��4�������d>_����ӡ�R������g\J B<ۍ��~��j�/���dG�Ar�
-�J����
l�J��M��g7.�V�O�5�%�]a&�
�:v�0e︳i%Jl��u�=����ܟ����jW����苴1�O���r���yDD?s��d�v6ϜP
��A�:i��=�S�I�|�*��]�_a1z�eg���D4xv�2�߿��2�|��&y at 8�iB|�3�Ō����P��ML��׿2�v
�UJ��_q�z4���LN$euV�y��� �$Ro�s��A?�����U��򗆾�zy��9>�9��dd�~�B�V�wP�(~�GG��X���o5xW\P���M1X�u�tV�A�q
-vW�0����H��.B�c�A)W�|K=�q�bS%P�Hr,p�c�U��7o����҅�${`Au���.���� �=3��}����@G�U�f6.m 

_���2]b�F7�
Ԥ]ޔ��D+|�ڎ;bc��ʎ4�
���1��3����:
D��	U�y(�F�:�U炰A�[���ܨr��.G��F��
-%�}�4�������K�+$>���Jl��%�gV�Ӡ,��}�ފt*�
�@ �6�A[A�"h���S_��i���[�T���^������Ɩ�¦�e���a�8e��ajM�@K�cSl�~�ښ��_�HJ����%:�!M���r�
������d�=Zz���
�T�4ν<�e
xՖIO�{���5�r�n�jjY�����c��X����fbԡoR?+�&��B�tI҆H�ڑcۭ�õ�
-
�5
-��i
h����	
e~d���_�s��^�c�i�I¸�
�э�R 0�	�����>�u9�'�(�ca��p���e����C!YDC�1�Tm/��]����H\3�)�ӯ��
-/��\a3�' #&�XD�w��L�ʆ�Y��K�O�$�2��4�—1Ȃ?GG�I�3����XO������NhO�=_�a>ZU��pDm�����
T��vLRA�
��
����TT 
v��,��4!�-�.Hzʁ[��4<��~��uAK�;	�����پ�`��T�^zP欘5�����
/K:amR��A������d^D]�S�
V�/�j���ҽ�
���	�����]�n��Y?Bi��4�	�;�0��_#��p~Vӛ��%�G�٧;�+�
�,[Of����.Q�y87�5x[��
<��
|c:,R�u:nsB6^(� ����aa
�@
��&#:k0��&G<�zk_�z��	�V)�^�U	��P(�\E��K(��rTJ��IM|J��9\��oSnI%��=�."��xmm<}�
2	�����z�:Ӊq��0dq�m��bo�~�=/�z&
E����ӆB�
�:�Y�&�>�_��tS��
~K�!+���K
�������6¢�>�V���E�AR5i�6S}h�,#6ũj�].��]�����`�uA���石��c�AIv>(B�d�KH�|��Kr5���;i7o^����u��� a%���l��M]�H
��=B��{�C�IЁ�f�����`9b�w
�!}�Qܹ*�zh����'TVw��Oe)�����$�����nv��
�;�d�o@䰁jJ�������d�@ۆ��Q��i�q�z��|��O��߇�:c�X>҄MYڽ
N�p��
j[���! �����7jyf}n9��
����t�f
/d��I�(�
���h��"�"O��n9�oE�"jq4Xc+af���3��bOR�'���֏����#uC�2Ƈ��b����	~�fj��B���˓��#t%n�쀕�����9|�{K)���&�
Y0����k��������+(@�c/i`yGm�RJ$�%.
X��.���M�
�p���B at 9��Z�����z������6#=�D���T�!�S�k�K��}������ֳ���~�Ƹ�3�k4��@��)B���U,3
�<l��W��b"Z��W�

�N
-k( ��b
�ͷm
-LD
����N�9C}�����<�O�{��R�j/)b�h�v��k~\HL�_��Z�N�u��/¢��I<�#��->�6
:J�|�p���m4�%V��9��
o��)[;29�Ȅ����vA����,c
!~cu_㎦X»�;��y�C+�]�w
CីF�Y���n���,w��i2Jګ-0O@�'�
��$��l�S\
�H�����

��e�4�`|�X�{�Ŝ�yWjj�o��~̤F#����
Q2p���(��z�3�/�|Wm�X�H+��(�����vB�O����H����Em)r�O�k
x�G��n*�h��
-:��e��_�ɀdނ��C	*
�ۊA���콕)}�
��8e�������
��~����o���-�$�r��[��S���> �,B���^Z�Fv=��tS誋ٽ�{��p恦�H�8�]f�fb̄ի�p�D�.{�I>SL��i�Q�Dž�	���
i��D����pzi(o�s��^�B������ p�č�%@y^�Ʃ e�CXz�T6T�WEÒ�[h�Oo�
Gbmي!kb���j����ȅoV��8$e�N�Ñ�8&�ʺl�\�`;��j.�u�O��ɓ��g��p��K/��-/hR�<S�_i	��:.���
˨
}n�8g�Ư�'����+��
-��8��
����}W�P=�5Ԥ1M-�C6�ޓ 	�~KjS�(B�GTtA�]?X������0Jíe}�tR��~SKن.�8	���A�g4H"��*��zKUu��)u�
4����u�5#'��Eq���szCO�1��z�c�a{��
pz��<�Cn_��&�C��`m���t}U+_d����!�<���C�

-����Dsxm�g��I�3�ܜ�!FFK�_����l|�ީl�� ��}�U�$�v�y�W,x�.c���!����sc�.�%�75+�P��3h8��啝�G�l��Ɠ��FGSN�T9w�>���'��;?p� �յ�
-endstream
-endobj
-13524 0 obj <<
-/Type /FontDescriptor
-/FontName /UOVWZK+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/A/B/C/D/G/I/J/L/M/P/Q/R/S/a/b/c/comma/d/e/f/g/gamma/greater/i/j/k/lambda/less/lscript/m/mu/n/p/period/phi/q/r/rho/s/slash/triangleleft/triangleright/u/v/w/weierstrass/x/y/z)
-/FontFile 13523 0 R
->> endobj
-13525 0 obj <<
-/Length1 1438
-/Length2 6052
-/Length3 0
-/Length 7022      
-/Filter /FlateDecode
->>
-stream
-xڍW4������n�����j�ڻ���$$���TQ{oB�Q�Z�F��=����j����}�����{O�I~�~>���|'���F���p;�
��
-I�ut4�� !!!!abNNc(�򗞘�>���a���C�0:
-��4=\ @ P\(!-$�������<�� 
�&
As*��|PG'��_� .07 (%%��+
��
-A@� @�r��b*�A. #8
-A��+��
-�&-(���% rE
-��r�| /(�	`AB�{�O� ]�+�4bN����`w at y� F�C`HL��
� `��4�zn�og��|�?� 
- �N�'�g"(�W0
����`>P�#���i
��Q| ���#�	�ă<AP�
��W� ��� �A������H��O��?�`�Yf�
wu��PH���@0��}�
�!
���Kr���
~°�p4�A�= *|0*�t�@LHRBDR
 q@��N�?
��A~�?�
~np7�$ � ���!A� 
-�	���K�@ �

-F� �P�?�1j��o3�`)�� �����5�a�p���?�F,h���kp��俍JJpo���/,& 
-	�$0����	����V�ӝ�?5`pL��(0���?����7܀�Ѕc
p��+!1!0�
��ނ_!��f�?���
�y����s�v�v�+�����
(�r��1+�OWS��ց�C=\�Ӫ�a�D�!:?PT at H�
�T�zC���(��o2�5
L
(
�GB^<�(!���av�s� 13�m!1���5ޟ2�j��C����Ia1q � �c(��� ~@���C�q
 ( ��0! 
� �
A�s��� Aǟ7
�0��:!����&~*�U
�@`��EL+ɿ��&���eœ��Z��(2x�
���}7�*�!D���>��`��5�U�6��f�ܡ���=g~��o��兏�7~�uG�g�W߰?%��0���5a囦(1K� z���;���
{�8����uO&zݾY�&�ު��YS��M�(u{��l�o�"vD{'w�5.t�UT�n��l�)q�W5�B�@�,�������!+{
(
-U�~FQ������%�[�~v�T��F:�������Iͻ�V�f�YQN��[�dmk�N��S��P���Ol�
�����7O<
�9��[Xv��9��+��ߩ�� ��;E�h�*���i
d�*�
%�X��I�:0U�;��� �=\�::�(������a}����~�`���ɪ���
D��/���dE����P��+�TARr��N���M�|b�QN�u�$]����	wO�
%����k�
ˣ�$
˷�����R�w�Zn}O�l�4>V�u�^
�j�)
���=�ъ����XT�H�}{�|�1}l%,춄���r�
g*\D	�L����|���JȂ�lӭ#�)����ÚYOo
�5����8�Wz
��BZ�E(��$>Pqci����*��f{a]���M��g� �崿K�x�J�6 '�d&[ÄS�1��ڌ�S�Z����on�Rj��t��O��Z_
��W���{�
-5�p���6E�G�+�!�3�����T<�
+�M��7D
-sP�ۻ
	ӃO
�
`�'�Ác��"�֏�e��;���'&����'��ʙ�Ƶ���h�wb�
���-�a�Ĵ�hb�4�z]^@B
�a+�HwyRl����0_��j���"�F�xM��U��
V\��g����ڴ
-Crh�%Sq��
��ܔ��,����b8��V��g�
��d�&O��
��M����M�>�,Ta���v.��
�y�_���	�\^���=r)ֹ�� J�>�����	��y�bq�
Q괹��Wz�

��O��F��H�L_&ٹ�
��HfqV
����
����
cV at sPtɚ)'lΆ
 
R����ꠔE�U�u|��"��>�����K������+�2c��	K�K
���ɭ�����r�c�
-�w�&u������|��I09k?���}�+�T
-_�5x��K}�n��aKiӞ�:>� }%�z������!��5�4�E����ym� d��m/%�h��2#�_�-�����u*7�8�
l2��
g�g�Z';����2ߣ���!į�C c�p9�����K� j��y8�g�Du�9�+-�Gi2��('��r�>DOpV���tݜ	�=�Z�'@��J#����Z�$���9Tr�IS�h

->$�m��o�,4hꖆb� Z1
���k��b��
|�3hY��������pI�-�t�}itW��gӡ�
�+ň�!�ljT4*_	�AKF�.T����aEH�̿�j�Թ�A��9׹4�	d��Pb9�|��ְw���S� ���@������e������A){��'� 
@�¦̭8Qp�IQM桓N/��h&�0�k[�RA:_xM��>p��_b=
��}Ǻ���
!b�L[N骔S�\E�1{��ᫌ
�b�c�^����l|ޛl]�L�b%MZ փ�����y�g�;7WO
YS�6��+[��[�T�,�l>@����S�MF��X5�u;���A3+��7_/I8����}����I	��\o|���˻j�.ja�
{�
�
H?�d;���~8#�U�9�s�Jn�1�L��m�Umq��@o�Q��6ix���G2�E��o��h�����h,����+˱T�x=N��`yW{

6�|p7^��ܼc����T�f��������j��=K)��4t3S⚒��#�Gt^cɮt��3�(y�1���H����x���w��ٿ�.���NtI|�Id8.���K�^�"
-�5�
��v~���m�
'��!�Ti�eM�k�2Ұ;����0MI~üIk����5�2�9����#ה7�I�f:8��Љ�d����S�����N=�f�b��U����
����
����
�\��g<
�
���=+8p�{�&|�e�ш�6I;_
'o��J0
��p/�_ҖF�%4Wf7��C�G'ih}�"��N �t���Ać�Vx6��j`(�л�`g��P�޲�n�y���1��[z�Ru�Ih�fAN��+ߖ�[��-�UBS.Ӟl&±�7%.�B���
r���w!�֞�v,=�6nsظR�B�C�}����	젘W,��3*�U+�j<,{�(�/���l�Bo��;��%_��"�MA��C���C�ӑ^�[֨(�ݖ�q���H�Z+[�B���%;��{������
������IL��j��Jús��Eu�l�U�'�>!G�t6˱c&E��1蝠OO�i�	74����?l��
��Y�:V����*˝�M��
-e���
;�]k�C�v��5���^�]��"d�0�:�
�%�5���C�^3#0P0|��a���{cX��n�[��k
��I�
���)c#�]���*
%��63 �\�c���9�M�#�4�IƙI<�x�V})���[�]��
jLzd{��LU9{�����^
üdYMq
-��������	��78<��	h���=N
-[�.�k�
�V
'�^,�Ÿ<�B'9���p#
Qc7�n~�%4@�F�+�
-ߣM�BQ���`S����C��NJC���B�(��}��izG����$��u�[c!�}v�Jj}��w.폵�ɸ �;�f\1�I�`�F�腾�20Fxm�^��Ahx�Wj�Κ���/^o�5��,�i�:VP(��]����z9���V�k��х������Z�B؇��
7�������dM�d�+��+��|Ƴ�X�o����#0k֪��w��E��T���ndI4"��T���f󍒺� 
u��D1�
��
-DХ���q��	�m��X�u_�X�`�;����ʩrg7��1

-�&��R��}��yt��/�D8!�/oN
U��o�Ҫ��m%�ow��3[D����%ϼ�~��^��m�o_P�H}����B�6�E�vt��܊�Xj]:�l��`��~��bHa�06���{V��>-�l�`�d�o�Pu΅���չ��Z-j*�X:z�l���TY�i�q;}@�w��:�^��eV���<"!�mC3�
[��J
���ԾrNS�kL
�x	�r����-oL��;
r�0�D
i��
���ڙ�v�w]��A�("=���ް�*cr������1��8�i�hm���>OhD�{�.ܯlOHB����C�
.�:�L�?�Y�%���e���K
J|/N
u
-)�lo�`�3$�
_?������H�K��֫�)<��hn�m=UDL�$���a �-�nّ���`t1�3�5꩔gN��BźCzY�=�q�9`����L"T+x4�<�b�G�Ks�(gv8�ZrO�����Ԝkx/f�S;]�h����6������F�E
Ԕ/d��l&Ɗy�R&+��
�\�fq�T�
1���`y�c��ʹ1��U����mmZ�9�-	fgd}א�˖�
��$Q�Az�+f��Z�=�l2�LT� ��-�a�!�e�"���e���O���TW��"�`r�Őj�Q�w���2���z�6x��9���s@�M�b���೽��z4��\�W$j��
����������s�⢰>Bō�g"��l)��I
NAtS�o�S�����
@�%a����s���.��U	{��\�P�/(��R�����Wķ]T-?��'��2
-�nqj{e|�0�J�Js)�5*�E?����[Nެ�#�O���`�W���������LkX)�<��+Gj���z��G*�6E�BT���FS�	�Ն���L��.�a�R3w��$���kR�x�]�����A@�]2��jHVZ���
ҹ'��{�Fc��]��o�S
-�=� �7q���&�XQ��&�S�\8#.W
-���#r"�s^�ԛ3���%�1��j�Z=>ȉ1�f�J�
�\zx;�E���j�

-��������7f9��q�w
��D^�Ǔ0:nJ����Y�}���Ɣ%�RjL �%��
]�5�ٲj�O>BD�_�X+�ͦ�e7l*�64�JְK����Rn��2��7K���>BvU�e��s�꺙�r��Ԫo���]l+#�
�J\X�\�K��֔)���-vΚ
-�
t%]u9Q	�箱a����k�}�/�:
-��I�L��e�<
��������l��?'���̛6�I�I]
ʝ�u�=� �
�7
�x����hA�
r�q X�{���xu�6|Z<�& 2Z� � ;e��z��نI����ַ��x�8��sL�����[5G)���-�|̢T�(
^M��
m[�
�cj�
F�.
�*x�e/��I�ڱ2&�"_=`���:�>�Y�S?�(�
k�g�5�4�!AԺDɯour��{��6qgLE��ǃ
hD�G�b
��	{h;�C�!>y�ַ�ү�83�e�Ė>>V�
q�xJ�e�;�^LѽM
V�Ux~M^¡3��U\�~2�'/ev^��͌��S�����~�
 �
f3C[����9}��)cc�
%���3|f
:�7*��Y��Gxx� *�AB_��ؿz~�����{E)k8ej3İ܆�	��{��b���4<�j�d��������,����N�aDJ��D �v�*��#&��+œ�Y{�������2>��˦Ix1/Ֆ^Q8�pH�)���c�–�mjKC��ͬx�����z�d���h��|�e+U��/S�D��g�
;����vVM;t�g:472����Ex�����.��q(�j.>)�o��DRl�V_s(�L��-�5F��#�7��0�M�����
�Ŕ�?�>ᓹ\8^eꀞ�w7��(<�3�"-����5�_��v�L���
��2�"j���Wr at g�K���d��o��MB�{G���O)4�k��%8Nؒz�Y뒯>8|?�/l��"�$���%��]o�5�Q�Z���\_����ŝ�i
���(��'MG������O��>L/�<��6�]��];��nP~�
e�da�/ͯ�]����A��;�u����r5�#��=@�{\|8���������]�-����ǡR���W$�J��G��ll�u�H� <�V$Վ���b���kn�vRH��;�x?|�*7o~.��{��Of��Y�d�E�
���Aϓ�� �����H��4��]��_�_��a�:��lgV�>g%�ÍHQh�*o>|d93I'�՛ϑN�GR��دh7�GE�o

4=xPx������:]鏔[{/����.
�z��~�4���c<��MpǴ7$/���w�L�Ɔ�.R�y�ْ[=_�<��-��O�U��j���'4J�уHd�[00�@;>�j2�=O2D��>,���H:M\�~A-�2�aˇ�|Mvڝ=������C<a
o+��@�.��]�S�Uur��Ƌh�i���J��z-��N�:�/L�
x�G~�:yH�qѩQ땳��DK��WH�������\
=�ؐ�i�\�n�(lN���пa��L�/�~g#[]�k�+�N�}�HD\��Õ�g����v�L��;6�xc�
$��`�9�
G��U�>7��}�Mwֽ��:�I>HM��׋P�A��L�
mV�m!\��>ꊷ7��*~}�w
g�j%��Q��F�MhQ��ȴ�S
,��=WmC��Ee�5&\�-ϛ8����N�|+w+�Y����
�� ��BcRHK%�+�ZM�ִd���{��B�h�����V��
��0��d ^��1�)6���9����z��<��6����#�("^�֝���<��'�є�Ujhᘟ��� �`�ˇ��YI+3�,���֜�i�dNT�.�sH{rw�
�
1
VT]b���)*+�U�\��nᒎ_=>�v�Q@��f�	+�r�U�4-��v^y���vx��l�s���?�%�2|��ȃcv!'q�{.�|������上ͧ4�h�7C��hL
�;	=Ż�V�L9���
�
�������G��9�Y9���]C)��p�η*�Ef+}>
�IW5���I�L��[e$�M���W��C�Y
-endstream
-endobj
-13526 0 obj <<
-/Type /FontDescriptor
-/FontName /ZGGNQH+CMMI12
-/Flags 4
-/FontBBox [-31 -250 1026 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 65
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 13525 0 R
->> endobj
-13527 0 obj <<
-/Length1 1451
-/Length2 6815
-/Length3 0
-/Length 7792      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.)]"!9�twww��
0��H#�]"-�Ҩt�tHJwH�?�����w�Z�Y���羞��^z-]vik�%H
-��ssp� d�Օ�\\�
\\<���z`��/7&���
����Y��a�<u(��� ��p
�p
�pqx����N��� ��`k�:@
-�b��B�<]��v0�1������‚l��Ҏ �P��@���� ]���W
&1;�I�������u��`fx�av 
�+��
d
��t�AƁIг����Bm`
@ �p [� ��
-7�5� ?
����tA�$��I`�u7 n������W#0�w1��
-���x�!� �����{c !ֿ��Px=�
v Z�~O(Hk�p��s�r;�\9\�� r�j�ey��,����b��O���_�'���C�
�
0���k7'N}��
�,�W
-܅����s		�
-q@� �++;�_��<�@��ܿ�p��NP'�

�l��az��A ������mars��V0�%�
���;�
��c×�~0�s������738�������P㹚�
������@_�y�<�\p��	�/�����c�������럆�(���������/Z0�%f���Ѐ¹
0�C}S.~.+����[ �K�o�����E��
H����w��w��
��%�����B

-�S
A����9�wT��Cb
�8;7�?�U�
-d��Y��!�߻��� ������__
x��ળ��U\����%���_6.��!��Z�R#�  ���Ąn���Ჵ���w '
-�� �}6P�_kp��r��~M�i��L~ '��N�o�_3X������M
��ۿ? �+����J4�eup�e�4�����a��s
��stX��؋�D��9�
-���
-�/�h�8_�]���VC]��w�N��eKm?�p�8��}AA;�׀�k�*C%R�҅�E��C�ڶK�
χ��c&Ƀ��{A����_��g�S��Ё5Z���2��p�
Z�6�H�ȠU�|���Q�����;O�I��Z�=p��Y(�@^��B���`>�6��}7㱷�"�ԮuW�s�e�Ɖ��ɮ
�s��z�N�B5�D�����D�����	�Sea��'����HBQhF�n�D	6ԑ��=�ھ�E��
^�M�垗N�
�|0X�X|

[��x��8@����=oAe��Ad�s(j�xho{�
�e�tb���P|��e�xb>�����N��?Oqra���Ҏ�O�).��}˂77>cN����>���\^?�
��h�
S:�LA�G�<�U�Q���
-
�c�Hdz��1�
��l#��ʦ����w�/P��·�n0�Ob8�J;�@{��]B
O���6���t#J��D|_!#5.}�$�mz�2�e-�x0��s[ɡƍ�GQU�
�(�k�}�&��	>���3׮�W�S��*E��
�(ͩ�O�R�!���y��$
-oHw�_g��d���3�q3^I��=(�C�a����N�L~�f�z���E;n�]"R�I��__��:��$o�Ɍ����%�&��@62]�[7�Ƈ�if�w.z����e��y�ғ��PB����]W�	sC
q��U��i��4���TU�����7s���^O�-<\�P�@Ew�G��C�����7RC��ls��X�1V�
��g\��<���h=B^(��[N�_i��7Il�2a�[.Zʿ!�\]1�"�
i�!''~��<X����C͇�j�˰�1���
�3���T:�K|
�@ҋ G!~����PN�#X�BM���U혘I�Pn�)����kef$�xK�&-���l�>L�!����CX��CCͱ�����h�9S�á��!t�4���[��m��Oc���XC,o"UZi�O�
�*r->]ln'�c�*#����k��$��Fac?�_�m�#V/;��q�~�?�fh�̡�h[Do`��@C����>�X��f ��\
��z_8��
A/n�V�	���#
-~�
����lV�\�
-�wT+t&��*2����o�������R���L�'�+g�͉l���f��k
]S޾�L
��~�YT��ŅpVo�M/k,q�St���(�흘#j^9���g��nN�L�s��
�~�Ͳ�)ma����I�� �7+���ݕ��5-���I��yĵ�c�g�u��4�
-���<<�|J.��_�eۅ�N�ҝ��5��<�ߨq?�
f\nZp����
�\2��~|e��B��O��ԇ��#;?�E�>f�I�>�Õ�DZ���i��C�}!׃3�z��Y^]��B~
�ҙv���0��<��Π���
rt&)>e|}X�8jl
�A4��>�F*�/�D14��l�K���T%�ܿ
�MDy9!mي;�|!�P.���Du�T�?�:��B�ً�u�|��
aZ�sK\����6�˒�����Ě暲�)��vK:�/zCzϰ�2�&dGΆF18!�hu��Z���f�$���� jX�54yO�;H�j�,Ľ�gls���6��
٤���k���L����Vgf���t'Ԟ%\�,1�[�jC(��
.�����=��E
J��BN
ڞ�C�Jm͑v�u�۫i�tU-�O��؟��dڥ,�	l��xá��ݵ�q�K?ı�n�zvTC�P��u���'�����R�9�L�)^�q������_Z��0[|�HW�O�s�
sC4H�}"��Q���"-/�w�:X�2+��X�7:{���@�<e�XB��0���czc5͏k���ͫfv��C�y��_�Er�p�r���i�L��گ�j
fU��ǫ�u�C�E!�u.6��  �~G?Z�#�]�R���@����91�'�eT��ٕ`b%�83/!���9�U
�e�
D�_X�o�k���)�\�
I�F�b�-^ר-�Y�VL+�uBU�E1Q+G묝Zw�j�Ȫ��x�@Q:^ͭ%�Z �d�<G볧Ċ|�C�+I���-��n�B�A���
��	����(W�sgo��Xה����wudt��0����Vd~8�
ɬV XI��7Ƅ9�pS�rn�^q�����e8��f�b�Oc
�������3K�
���|!��x��6�U֪7;o0��� [...]
w?G��P��O�� ����Y�����n#��r7��\,>3����80���1�Cl
SwR��y���o���5�l�E�u+x�a�u?0���?��͘#m�#�7�5���������##�+��Ҽ�A(O��(u!
��`:
6ui�C�x㒞Q���Ž{^t�՞c�����)�.f,�sQ$+g������j�l�[���댋B���
���1���{�l��%b��9�F�}�*|�^y�ҩEm�0yA����'yJ�!���
f�I֥�{j8cfm��O#��m�����&���Qy�է:�W��鎮H�����X��C����#-Ւ�/ ��dz�uu�q�#o�˃��%�Һ��lg�6�Bp!>]���u�����
�����nQ�3	"
�T[O�Zw�:
��N��NӶ��r�*

�JF�#�5�
-0=L:��G
�&�T�
�|���5�Q�b�3&e=��z�\�Y��������W�ѓW
�o�
�&�/,����i�*z�5D��{�U�<#��cUl��B�w<� _�z��*���c����}ʤ7��00nЮi=�ɜ���G�
�&���54,|�
+I�����g�7Q
�_�2����d���d�o��4Jy`�5� o�ט"
�1��ͫ0���x	��e��7U
>�TNbd��<�/�\��<rj��up
���+���(�4}��]Jsz���K
�/=v3�!eKL3��u���9o����*�o
��&]xm:���$Xk��"PY�GL���)瞪�D<�^���f!›z���^/�rn at oh=�P�r1�R��|����� ���K�����q�Hc�Y�
�y��aV[
�s
F
-g���#�vX�-�

��h���ҫ�`���/}�Dž)��'��骲���J
E<(�r�{��.�-���������g��"j_����%��,�
_�����'�C�O�J
��1�e��
�^�1�ݪ��-���P���K�9��u�)�[8
�ӯ��aX�H��y�#}d��2�4�Ϡؗ!�s[�5�3�gA�B��B�S\����`޵s�ɹ"i�縨�)��/��W
-`�;��L�ƕg�jX�t�
�&UH��8^"~�b2?�O�}�C�	�^.��|���*D���]Y������=�Ga�����
mQ4
�ۊ�#�}���P�˺;1�%�^~��*�o����#��l��~I�7V���Ǝ�5k��
?H������Z�PP�7K��?'o��kZ�]Ɔn�R�h�'�����{N
��
l6�^����B��]����a���n�ʶ��Z3��+	�����To������.�I�����F��U�s���ޚ$r�|�
�֥���k����U`]O�q��D�w���J���v|��z%G9ۺ�Q��վ9��m8c�щ�!�AQ<��A7ݠv�u�"�
-�1���
3NV��ʡ�'�;R��IT�;�X��'}#L��������&�m�ȫ�qR�����@N߯1��ʉx$��5�
YQ!)���j7lbx�4�
�#�-�7E�z�x�c�Alx����o��t/����މ�if�յ?~B
��x����v1�4�(�o�e� (#�1~pw�+�̜J�߭=�D��=ڔ޽0c�z���7��
-N��e�R�F�
8�
|����<�q(8�)SDh
 �4��@�5�VM�2��-��\�	��ܿ���vD\�A��W�v�A��
��	ȓ�9�ؿ����3�Lk�bRPg�0�
RU9�:j���[,�
�
�/�J:�+�0�K��1�	��H�;�{d&��$�nN�m���	�\���d���W��x����
&?��4� 
s,i�D��f���R�3T��Y�3O�[�n�TmUՋ����b�}
7@��8
��M�M'��/b��c������?����]+���_�
��G\>�a��p�b�
\���s\�_ePV�jz�b�޵S���I���
���gΪ��g�C�5Bю�B�p����9���Թy6'�!�FG%�w]�b�5-xH�$�?��1Y�fR�
S7��U,���U!�mS�l�s\�K�93h��ъ�"����y�^)�����2���Mx"sKԯ��F��G7�x\�</����:xފ"iOo��(�(�,?1���,Fu;6?�eFUx��ط��?��`��P����d2*�
���ѡ}�LtG��
���'��	�a	���U
��
-M������S�UA/̐|�'��j��������=\r0���n#�Ǖk.)Q���vM�׌#C���o2��|"����I��s�ඃk��R���������$'�8��_g6�;f�y9����f�$z��(����'ʚ�טK��N���py.��Dh/�
���JxJP�K���
56�c�F֮W[C\��Z��b�����m-^���ߊ�ڴ�5�K�tn�l;Z�9Ω=��E�f��$�~WFt� Z���;~�?3庫��{��ep��Ρ�����G�\O�ή�)
-�2��K�������NK���
'�4'm
7}�����!6�4M��h�|�3�Țj [?�a�%ӊ&���\+��N���
-�D��O�D#"�q���4�y�f�ջ�(�#tT�Ƣg�����ku
�[�`R��Ei@��2CI��L�M�w��s���w<]m�.){c�Ly$.y��
��ޞ�(j]���N�w,����3��M��l����}W ������;�ra���Z&��@���O��΅�|ӓ���E�Hu���@�?��=�M�
{� T#0% �y,$&��sޗ����%DK��B5�Tz^�'��m��]:Ħ�o�$�r&0�Rt@�1(��*�bC2���'���N�V"o�#MJ$����Ey"��J2;y�qg�=��
b�'[�*B扮]
��IEh��C�ѡ���f,~�k�ϸ�)��!a%�4���&����Ќ��"��⛫.�����	�Ź��1��[+�7��_$D\;�1��Ċ!�/R1�K���Uq^,���潛�M��
cJ�T�b:����ĆM���;�]9��
þ�"'�
�U>���s����q�؊.��+8tK�jC�$`�\��YВ.2��ʛ
-����-H�7�'<"ă�
�T��I�(��Y��'�}7�&�T�t� 4�Za��0+T�a��h
�%�?�'z��j�ڂ��
-4���ib_�(�mSr����-� �=���
��>�~݀
-�]���	�"��30��
���T���2t]zʨ?�cG���ɭ:��
נ��^��
���}v�#�
g�}�B2O�=�+����
7	�బa%�O۷؀�njC�8���"{��Y%�mP��6At�E�w&\ӎؗG��-���O�k�˅IO�^���1���
-�R����yB.\=1�M�l����%�f~�]�ɕ
Ќj(��T!G�^��ǫ�m�_�=&�:Q��6��A8W
/��漊�T�' �0.3����ͼ��'q�Qq�pz�'�x���	�ɫ8�(�<�?/�2��o9���9(��^KJ�]�]~/9 K͍��JxJ/��~�V��x{H0O�2��z��;@FƲ���p���9害
��P��-��/����i&Q�0œ|C6�ǩg�x���3޸��
-%O��:�� �[���� �R �j�����„�9J�/�
��Tп�>w�qL��f��W*R�a��B�����#��>{ϕ½`�Z<��Z@����t�5E�}gA��� 6��(�����
D7��'�_�z
�/����ei_��uVY$�w�3
�v謒R~^P�-}_k�ݤ2�f�y%��Eh�u�ԑ�H֧����YC��{������2~�[�X�o�
����
�I��4�n�#3�ޅ���W�'���]:2��W<4��}I>�״�
-�*��WnaX��|��,���?H�
z�ނ�>��$S,���{k7x*.��
��P��E�<WNm��¦[�ǩ5)��F��ʾ
6���e-�c�$����7q"��QN��\��
v��Y^��t���
�Wk(u&��p�]G��Q�I���
Y����I���iܥ�UTj�+V�+m����d5'^W�¹�VU���EI�T��
͊��]
]����(���O���ẾM�ߪ� �!GYy' 9"ϑ���k��Y?=���N�B:�F�FHW�2Z9O>�
�����X<%l��_�"�)�
	��y�>O��&��1ª7���]]�X��`��l�m���se,8&w
-yZ�ms�T��=̹���񤪛(Ȃ_,
�����[?
~�S�v���i��
�;������S4���Q6�*=
:Rb�
�V�ң�w�(ov�{��+��D�)��ќ�!᜶r�:��E�4w)�?+���-������b>b��W�d�~�
�xp���?�D1�
-endstream
-endobj
-13528 0 obj <<
-/Type /FontDescriptor
-/FontName /WNXLJT+CMMI5
-/Flags 4
-/FontBBox [37 -250 1349 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 90
-/XHeight 431
-/CharSet (/D/d/i/n)
-/FontFile 13527 0 R
->> endobj
-13529 0 obj <<
-/Length1 1467
-/Length2 7070
-/Length3 0
-/Length 8050      
-/Filter /FlateDecode
->>
-stream
-xڍ�Tl7NJ���h��ɑ#�1��`�����.���F�$���T�o�������9�wv�v_}���w��`�3�W�E�@�8�_X at H�
iH ��D��D98
a(g�_jB#(�
������2
-F�u*`���4=�¢ a	aI!!�����ߎ�
@�	�� �8ԝ�C�ꃄ�;��e�>�!< aiiI��� E(� 0�ꂮ;
���r(�������� ��] �����x�P��Pw(�j
��v��A&@�0t���� �P^`$�V8� P�;:�n
E��� ]W(����>�_w�O���%���!��+����`�P�.P[ ���ᶿ
���t<�
s۠
~w �`4���C�0W���;��D�_iз�
-�UF��@�(w�_����P��}�L�	����%���v�@�z�
->���<�*��U����(�������0 ��zC
�7�q��6�V����"\vhP�
�C����PH����-
-
la�j���
�������G¼fBh�	�~}�s�@��w�����|uAƺ�z��Ǧ�����k�
�EĄ���������k����z�'����}y������
��%th.C��P�\H\���^��!������F��m����������1�]`�>9���B��^���C��2j
�p�_�
-�^E�=����bBb�0w �j�CA
���Y�k8��P=�;�׋���z� N�W�
=�?&�;zQ���K�����}��!�_�(". #�`B4!В8�赵�z��;@P �@�C h�� ;��ט� h�K��(
���(
t�GDD�_�$@����� 
H$���TB7������B����YD6ı.���"���
�a�����
K|T���Z�AN��Vp�Oh�إ��v����7�O��
>bg���
{f��ٛ3��I~�
���-ƩJL2��~
=ƨ;o
���p�>��K��(Jj���t�yY��M� m����j3d�)~B���m
���ɪ%�yI��U{gupxh�ncwT��g���s�]U�!1�Z����Wy��{�d~6j��T���4�Cʅɭ�4�Wlx&��I�{4�
�����gi���=�Riy�Y��#�l喁�u�~��>��]
��L�f��;��CU��Ӏw�Q��5S~�|�,yA�=/��y��p��wn�����P�G\�7y̭a��
��3�}���e^v`ƌhʨ�m���Y|p�5����&'&lj��c�o��ķ�S����M�`y���<]A�u��������?
o[�_bW�JsP�\\�yL�K�Z��"k1
�I
����cY9�������Ko�6�T�h`��g��� U`�#�|�D\��sw惾��*�A�� 휲g��Q�»��(NABE���Jv����
-FI����a��(]M��J�姘C��M�`��7
�"� {��ZJ[B�K�E��B����@�8+�����E��D�t��%�\�
-M�wk�H��E�J�g�����ĩ� .[����E21^D졖<o�I�|�y(y_'c��k�5�e��+��M�W�T�[�\=�q>��ќ�l����w��b��m���r�O}�#�?ѓ'&��լ�.�
-��d����&QZ��Y
Ű�؝����������2;�����cC�b����U��g�
�����%ń͌��h2t爝=;��
L
���_HM�6��qY�OE7�k*Ju�����\��GV��oߵ7&K�+���Ǘa��6�0Y{Ż;������l�d��iE����@��Bԉ�8y����8�ckuC���:ɍ[�� �B)&e��t�g9�w
�����g:wP�J��{���V)��h�
�.�L�����ع��I�G�/)�w	
n½���
|w��w��cO��|���`�?G^���&bTwqB9q�
-=(
��35y ~���9��`@��;q�
��u�S[������~>�D��:KQdncX��J��
����d�c�X�h���O4��J���Hd��ȋ���i��LW�|���Cn�5
-�,Ͷ	!˕�6KqS$�
�W�٭�So�H
���z�<?0��V�8\m4L��
�c iq��a�({�e8��x�v��R�!6�,;�KBo��5�
rs�hӗ�hH��$�d<��K���<u�J~�6I��~#��Y��/�RloW����N���~�J��L��&�O�!�D����U�]�����إ
-���
-���Ƹ��s��/�	%�|z�8|�t,�:B�K�P����iƚc7-F��'�W��gp��Y�D@��N���D���S&�[�S���#U��kڵg�ǐ̽�6�Ùx�

�����!
9TQ����S�ځ�t_Z�=�6 at D�<��
�ܣ-p�:�Z�/�O
!aj[ɠ�
� .{=���D`6�P�g�[]�|�+��0~u
2
t��Q��P��
 �&�6���k{�\�S
�K�� 9
-��Uڞ���V��9w,����^K��H�����(
y9�`��؆Ҫ|%�Ak| ?��p��-�L�s��O�r~'7�},��y��q%���l�ph�zD[�����j�#���*[�{E�\�o�N���3��Cs�
-�
،V_�g������,ߖ�b��y'R)`�l����l.�K?��i�5�]��`FYhp��z��mȠ����-�Yr�
�[6�]�M��"��� �h��*kF��
$HpNc�ql�6�M�@{T�p��w�c�I��F�xA�]��m����U�k�ڣFZ��k3h)��T���R����l�F_����馫�8�?�������U�����G4qM�J��>�w�
���wC��M�c�
���"ޓ���8�҂2�U��	N�o��6���al��@����V���ZH��8Mc%Q�z7��v�㽾W��

>#|����j��V�Pjo;�HKg�(;Ӧ��gQ!��qr:��ܸ�u�vƦ_Ǝ���.�{��DU�*i^�*PZ0-b����"Mw���5t@�
ި��:�M��PJ��t-�$�j����D�$.H%�E�
-�K#��W
�q5�Wu>54
�z@ו�I�"s�,�/�B�5C@
-v�1��uR�"�R�Y�#ޖa1%��F
�G�ɽ�3����_nʏ
��f�Kؾu��y%|5���Jm���y�<���|�{�]G�@G7��Kq3�3�����WbMѾ
�uC���#j�|�r���ʦ��8��
\�}
���	��%B>�
-K�d���#���4~հ�ZW�Fu=�nKv��ۣsZ+���֎�P��
�
H)o{\E��4�M�4�x�� �)���lT_�
ŏ��V	�U-R ��������3|���	�[�/�{�<y�c-�5�YP�<�Ɏ���ҭ}"1ǰp&�G�N�~Ź���g�`�V�n�r�&�ӤI��/��ɻM
N� ��E��'�
��S��P^E=Ŀ��,t���`kՓ`��5�
���OtI�u�{����~l/.���z��ܦ/��:�<�}[X�"2�r�F;��Y/��*�L��d���B����uJR]���by
??�>�N��`%�s�t��f�%?��(<��t�\9���Z�7HnK��hk�;]D�E�Hm
=����

�nRF�2S�n�}V��W�!꿴�kX�(�]�3��1ŝ�?�̍����2����0*���x����y�����0�1�
(��|����i�<7&���*G�"�=��SG�]5��o�K��m��h�}T!c���&3��d^�I��3@��>}��M��wm�̙2��4
@a$I8�c&����K���fF�x�}`l��"#�@��ǖ�
6�`%VC�
_/�.̴�v�ՠ�C����@��z�I�@����w�5fU����.���m�
-�,�O�
{��h�R��$�E1��rQ&Ac��RӅy�ϟ�U���{K�WSD�TF'�X���J
�u|w��J+�l�6��玊"�}o��ue#Ԍ��
��
�A'��Ǘ�HlUۊJ�s���F��x��,b�s.V�>�����W2˽M�/�a�����)�2�"
��WH����K7
Zi�1�����.v\in��U�4}J�7��S|n%[�:�
+\��@	�.<p�
��#
\�^�%�C"�+Ы!�H��ͩ�]��ueK�O&G�^�+
?���ph���a�^C��K��
�ⓤV}:S�"��P�F{ڣ�R���'|�ŏσ�龑oU�d~���.ҭj�������y�nܺ
�p���׸� 1���h�5f��R��5T����n��c7�ڻ�%�5?cM|��y�E8��uM�j�(��H^��<�&��᐀gon+����Y���������s��`?1(�:���D6��*R$I��'��;s}��(���
M�{�s�];E�+��[�;��R�_=�4v����h~
-QGݜ2���*dK�~p���4(F�����G���}��]Bf�1QT���
-l��*OM1��?��*a��ݬ�r+�9�U
l��ǯ�.�V!!S�{�
-�ʼnAS7��6�'��������g���\�#y���Єi�G��1�W��_&��a�M��������7��TU�nN�o#��Įg�Fk��sS����?%��(��=��}5��pl:üq�
-'K��䀞�
ͷ�f&v��>��*E�k"������?��c
r�3�?}%�$���B5:&��*|��9���·f�ҙ��|�R.�A#rRg7
��E�Q�4��i2X'�M�LN9pW�
#:��;�����'���O�(�rR�پ

� _?/vvt3~o��C8�}���U2c��f�9y�_�8�v�4��~�A���6c��)�P_X��E�2�ŕȞ�'^"� ���uZ
���=�t z���6���#�߰(�D7*\F���]��&��=;����MYtY���A���H|尔��v�PstE;���;� c$$VJ�*G���h�$b>�
�/�dcq���Tk��L��1���?ح�V�-����g���a��u0ן$�ty	o�c����\���:��,�y,c���#�ʞ��]�z��e�H��w`n��]>�HK]�X*��wZ�Yn�ӏ�.�I�4����R��H��Å������b@
7��#��=Ma�&ȡe0Ԗ8|��R�a�$���+�
���@�A��"�,��c�
�� [...]
_ע9��ڐ�w���6�#f����gd\��-�:��OU
JD��/5u�t_`f����<�n.P��6%2�T�%���·�#aZI�
�R��_�ү�ގɃ�/�Ĭ
���\~y=!���Y�$���#��U쵈��Y���<?��᪋Әy
��y�)��rOz܋���Q,E�ڧ�wď0y��`�ǨuT��ni�j~�3�(/
�"���H��vV�����۴�?�~�0
-l?i����8��+ow�bCR
�R�_<��/�׆:�v.�2!ǂ�w�h����F�,�a��
���l�
-�B�Բ���͡F
�
s�[����*�j��vY�I��ŧ��x�T�I����u֏b
�Ħa����V��q�G�щ���TO���˺�j
�!��
]Ӻ����f at sO��D
q�ެ�;���g������t�
�R���T��1���n�������W]2s���G%��,:�/*\v�"E�f��k[j=�w��?=a����-+����lw��@��[��G�=�=��o�7SW+���K흱�录�aXk+>� �>��-
ٹ7N����체�Q�<"��ڴ���1^ֱ���SB/�nƇ^���Z2k\���Ɉl4G�~�!@�ɲ/~��y�����+���YZPqxT�&b�,� RE���>\k�X�C�����7l�w�6�tRnU�=��z��GIs�a��
���J�.���̎�i�OG$���=��]fB
�}���+��QLW'h�s�k���
--�����K
�`�\1BM#ߪ1X��5$y"��4|�~��ӭ�%�ט؆<��yţa%�LF��R�fu#��dzbcC�
w�S��0�w�2�OU� �}}�0gᗪ*�
R#�-�b��E����
-[rn};

oDpK��?��pf0�b�����fʧ萖�݅o-P��=gR�n5p���RB֨�O,��\�qd�EZ�"��L8�p�3e���zI�U���e��Ȧ�����"�7%��
-Q���>Va爩<�3_lim읝W��Ih�	�)����T�ʌ�+~������I�!4��ߊ-fC%b{F^�~�EQr���X���kY|5Y��&��E7��žm3����L�XA
	S�?��Y4�z�ލ�߁S�(�*P��C��!�F=�!
Y7��F�7Y�^���a��AE�����4	C�Gx,�(_-�������
c���[x��qa�(.����E�0j*�����
-�S�/�	������
�_ȷ�'}���{=pH[9�ٙ��x�q�k�b�c`��|t$@c��f���U��6�ju5>�&�J����
�x������%��� 
3���f�IC�ǝ�������
-	�P������ߌA�
dw݉KKE���
Ng�\�`�d���`bi
%��cл]�	l_X�>��6��'��.��J3�r�d��(r�U��6��ʏ�
��X#c��D������bM"�Ya�0{�;�Li}qc�j�+�a�<�y|uS�3"gݛ<oOo_�8{�+q�s
��y
\�\�r2P~1o��Qѩ%���`6p�<�:�u�!i=8��<�����Y}v{MٝHN��u�i�S��F�7��?LG�v��F
�qj�|O�8�U�Y�(�^��jx���A�_A����Ҏ�X��_

'/��|��0�
�_���t웥�����`o0�Bo��Ӱ�c�x���C;f�:�����8󂪏�+�:�!	|_q	-�Q���}�@���3F7�ǘ��%(n�
̱�
�c��H�
3�J�j��f���.=Պ����
3�D�33�����O��u%�D3��ֲ0��F�j69�=RS]} -s�q��(ګ�Ґ�I��\=4k�^,
􋇋��"�0`�}=+�;XZr��N�la�ǷO_,M�=V<'�J�+h�e�sc�6=�T<&�(ǃ�
%a�	N!N����]�|�����
-�֓/�#���±�֌ɮ�dO8��8KM��=}O�GW�
-��Vrp3�w��I��$dp��.�#�P���S
��P<�|Z�:�;˃ƻ'������g���0v(8O�7�*�M`
�������
y�9�@(~!�G�O�{
�m3���s4$�j�������Ғ��~�%
�
�Pgj��ߌD�=l!h�4�.��	�d5��]�����KѺ�[WŽ[
�����]�J=�)�K�#Ѭԃ���e���Li��r�0���	[
i�&��#��
V
�
���b=�e��!�l�~��He�k"{�}9���k�5��D��ytN]�3�DV�o�
-��c��_Ɍ��
]Su��X,�a��_���e~�r�#�k`�!�G|h��x�mGU��ҽF|���B�I\x���^R�~�͔
aa��
�����_~�y
�P���.�1~
�T'
�L�UY�Y����
K��Ng��E7��-�,O���~�ُ�>��L�M��o��8�	�h�3�N�4���$E���'�����l��'���$"!uU�w:���f
�qxur��)<�v�h|�b�LlK7�l-)��P�L�.��!��3�(���^]���c��E���j.T��.�y�՜
��F)��T��4��4�L��b��qx?��"��$��CoޏT�%Y�0����#x��Ď�_�oH��U�\���k�S��_�
H
!.����L�oq��N�W��4(����ua��۵���!�|�K��S(v�TTu�
������SZ���5��dtj���
k\
-t��p��ĮX�ֆ�S��)����J� Ɉ��
-endstream
-endobj
-13530 0 obj <<
-/Type /FontDescriptor
-/FontName /OMWOOP+CMMI6
-/Flags 4
-/FontBBox [11 -250 1241 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/d/e/m/n/u)
-/FontFile 13529 0 R
->> endobj
-13531 0 obj <<
-/Length1 1699
-/Length2 9936
-/Length3 0
-/Length 11027     
-/Filter /FlateDecode
->>
-stream
-xڍ�P��-��wh����!h�4�@�Ҹ%�$���;	���@�\
��;3���{�U_��}�������f��p4�9:@X9�8� Ҫ��� n6.Z��`�
�/1
-�.���� �/i�"�B^�T

 Jnv Nn '�'����C�?��.B �;���Prt ���J;:y����!/i�s0�38�Y�pHڃ\��@�*b
��h�h;��A��
-� b
�8	��{xx��]�
]��Y 
`�5@
�
-rqY ~��A2cC�����)�v��x ]@��
�
������`r�$h+� ԝ@��i���n �l�����w ���@ssG{'����
-`	���T� � ���!��������^
��
��� _�E����qes�����;��-�:XH;�ۃ
 �(�����_�݋����:8z8��,���IX�9��8���@�2���P��Y�  ^~n. � �4�f�
����%�o�
?'G'��
	������
-t .n ?�+��pr,����
-��O�1��O��|�'�
���q8~��>��������?��]WGZI^��O�뤤
=>�� V.^ ''?'������Q����H5��j��'����#���O/��
���_+���j�/�
0�3�o9x9�_>���
����������-H����5����h�����e�� /k����
�k��s�UA`7���*B�/�!�`�2⬜<l
<���r`O��bn�� ��/9�� 
GW���ŋ��t/[gn�򪸾t�O��e!4�7�,��!�`�h�{�x� @���@� ^����Z�<��w ;��#�����`����|� v�ߢ?�]�o$�`����#���eS���f�n�/�	`�
r�-�_��_��
�d������v�/��R^���|A���R��?�e��
�_�;�
r؝��\/�\�
��~���/����_wo����Ҝ?V�1��<� �'�
ei��\8ئ>��V�ăuk\�$�F��u��	2 ;m�#^;+sY�\n��S�ئ[M��&��
�fE��+�ܮ�Y����l��5)�<f+T�^��P�� �Yԫ���Vڴ����}�	
t��r�J!
j]�kK3U�Iu7� mf__o�^��l�����6"E-�JY��%ޣ������U�~����J�[�4�,Yᯤ2<�5���9%���>f�8R
-�o�Jc�2���j��?n����9(Ȕ��HƇ�i�9�e븡�����%��0!�{���j�S�l���s����
-
��������e:���W4e��p
��h� t�!��	ݑ>�E�r��>��o�ӷE�)V�O�-���#�
lgJ�Ҋ���
1e
��WU]l/@0����.(����B�jwfYP�zia��\��V%�3@��o2E�o��"������6=7�ߴ��6�Ub�)=�@�y��)��g�L���bia�`���M�D��B��eM�U�[��ٯ�gU~I�ц�"������N:�Y����k� �gE1#�kB�n�9�a�e�=��Z�B�3�8�x"k����rfg?*yr�2�}���o��ޢ�|�V\�b���E_0pJEij�9V�XT��M
jZ�iu�@�7�GF��f٩���PX0"��
��h��M��`x!X�?��Z����i{���$�
�瞔{�]��ȷ��P,6�>�xG��1��緌"g?�#}˹�e�x6t�k�<hV��4r\�[z����JrheK+�H�}���\��i�o�H���Y�N�f�?I�|�
me
x
'�幀�$��J_�^���Y�j)&C��@{�Z��0똪�ߗ�Ŋ�;�,n~�}w^���=9�.67I���@��kx�j��N�2s�`ҲPUgp@�\q��L�!{a�5U��y+`��	��u&J����h��*�se=&�Mj޴f��LJ�Y���<JP[D�p⢜.�B�*�G{yC�gAMw
�
~�7e<_3������8#3��
"�iY��Iנ��0�2�F��;�3ߌ%�ê���6�
}���Ta��2ɗ���b~�H�L��dJ�ѱ�F��Їv�x�0P��˄C�i�j�`m{���g1AW�a���d�`�֬��4s#福�� �m��+2����N0x��`3���e��W�
�[�qR[���������~P��A��N�Rp�+=
-�N.�^��V{�g��F����������4���Y���R^3�a�v?�3R�^,Xi<g|<�S�9x�FO��@�����E���B&O-���ٶ�a���}���| S��9�yx�p�v�?X`�%^k.�R�#7�W�	,�)��G4a�~�g���/q��B
-�X��u����4O����iɣ��$<d�7�WZ��1�CJ`������4w�K�b
.�p1
�����
�J�3��"UU�c<��}�yv5�IZ�j
YD�M}
-���=���	�)��t��]0����,�
� �sU?��	elB8��`3:\�WJE
���
&ٰ�T�;���jh�����bլ�<Ԡ�XL�I���/��N�CAqjK؉6!(�;�OK"��y=�{Xw I���lK�ƖDޏ�0�3*�ltItD���Oc
�O,��T�ԩ�M���F^;+vI�0�	`�?��P�������J���>�s�
���A[�%�*��b%2n
�d�l)nG��/�zf��̼��`�t�\�$q���`̚[#�(-T��:��`�(��o��b�<��&
)�
�D��h

W����a	;m!fI]&=�
-�
.��������h���;w#~(�jA�����l�%�]�]��G�H��VP��!c8��zLv����>s���P�v0
G��l�`)[[|�q�~4�CC�H�k�p��K,�'Ǟ܄r�t��!�2�ΈI��cm�r�fA Yo��Q�=�ڒv�P�
�H߬P$���]<'�@�jj�=�^�w'�S^Ԍ�z˃-�����h+L<~�F�.Iѧ'[F�|l����i��F�x"���m�Z
 ���ի��L
Ά �����Q�����9wg7T\_ɖ�6��A�m�Z\^<c����1Ŷ@���e�!R_�z�ir�B�a��sd�P�e�7l$ow���2�����
[�-̯�BG�v�J6�-!�Y��X�S$�
-H����Aź׏�?�����`k�~�W�̎�5���{c��5W�b��	=W���Q�
���ԟ�Ң��\����m��R����t
'��Z��O 	�f��/�<��Q~�ZFG
��E�ŏ�U����ޡʊ��6��
K�o�ׅ]<_��y �ݱ��
�g̈V�p#K�#KuL�?��u0b�&
��t����P�?)��Y$N�v5DV����~ݵ�U�ڄ�s{֌w�}��D��F�yK�Q���I7.F���s
�a���z���ѷ�r�}C.ƥ�)SK��!�����jԷ��5�i�S�����cb�8=�N�U��"�]}iB���>K��xukqz�d��\UZ��}v�1��6��E����1KJ#��%����W�n��{s����^�1
�z�K�?��j7�"��+�&��{�t�����H�Z��͝��%�G�_�?Jv�����;�@�j�I�BWX�
\��(0�/�cq�
��=GF7��ٽ�,�NQ��n����L������Bam��7d���^p?����2lorV̯P���y�j�HzܸU�!jõ�y'�S%��4���'��i�gN����K�UuG5}"���"��<��EL�
b�4�S~��O��fR�l��sm��+�
7
�-�{��b���&E� \^Q�m
)i\���7M�&�^pe��E[#g)
-�� �����ķ-����ѷ�b|�\���Ί��0�}��
O�j�_��x��(H|�(��<��!۔���M7t�F|�U���:U�T�2��y�B�%��_ ���-{����=� NUF�/��H�WH���vX�����'��{�����L�?�Y�A�}�=O	��X�#k�n��\��pt��
�'�M)�h1'��Ꮆ�tË�W
�ռ\���.c{F|;�L�0ɰa���hq+����z?�L���NG�y�9�ܐk��J���j��\
-�_-a`�j�I����Nk6%A8��
o���'9��FQ���!$� o������2�Z�5�i�`

��C]�f#
���	P�0�k��lҲV<Uci��0����
�
��Z�sF�Ueԅ ��w�������)��|��
-��Sm
�c{�%I��h�@�4�$kc�^/	�O��Ǒ�˥e��B�L̫ᵢ_ep��a�����CAߺ��=,
Up���M�@Vg �k�k���
�D�q9��"���
V8S9�z��h���O}��
����H�T{H�7��Ie�篚t:h��_��#����	{&<�O����TR�h/w>���ZU�-g}*"�w�'ă+�T&���視��7��	ǐ7�c�������1lH]�(i�X�/B\�v� �h�m]�r��{��-�r��~�=`� ��G�#M��G<$�!/kF��
�7�ɥ�m�S�X;^,��g��s���_�"0Ʈ.�6�YW��tvr0$�f�~�)��0�%�o��^d����&��`�rs#C<��3����{���S
����\HFBlq�+vH0�����y��O˿nQ at Cd��p�z�����&�ŗ�M�m��P�V:u�EY�
L��?P����?Ku��#. ��C#l�^^�>!/	*�;�p�߲�Aq����8�iF-$ [...]
�}P����N�H9���=ѱ2p��:ډ���!Mn\;������w�
��+G��pQ
�	��Dd�	};����0��E��E���&%������y�p'R��إ�LrBtH%� - ���M����x��g��4�h;Q�;�*b�8r��r��ևfG����4
�5��C=z28�L'Jl�<��z�~���XoiE:�t�q��
����܆U�Y����]hޝ�c�i ��������'�O�<�Mr=�}�
�p,�	$�T��9��S���F�/ò�~5"4���hf�+z��бz��Xc�3�
]hL�R�C�zDr��ڼ�v�����ܚ��\�J�|g�6;������T����a�q��*�}e�&�%DK+m�
��S���{G�l�Q��,����B;6��oGB��������3eee�qT�
-2ڣBz�Hۅ�P�P6.�.��q��w΍
e�Df������`��W��u�?Y߂y��k��
E��ު��GH��o9\U�}�
<��Ffe��o�|b2����E��g�$ns��)������i5V^|l)��(ƚ:'� <�����!�@�r��k6�?�v�n�T1]mQ�.�,�	���I�>�
�
5�����ۚ�;�|��
 )�cT\ޏ�����P�b� Z���ǹ%�ِ�mx�CÄ=n��@|��-��(���PX�C#�f|nq;'29�ʌ�A-���B�|E򃘖������mk' �tD7���*ĜM��g�5�x�
U�D�u'��4�y�ɍ�Pu���/�e�$�o�{�����V�/��=�*;G%��8�>H�0%61P
=�e	�\�{'
�lDq��
>j�p�WD�S7+��]��)�
�;3�`F���0J��L����%�LV�;��`o��I;&��
t_���y�q‹���\=
�Z�d�˟P�?
bڧ�<��8u�2cUH0����|���	W 0���:��|��"'/J�֪(5+�Nu`#ג|?�^+�[N����1�o�p�׍����'F����:aa��+�_�r�`6�w��ל>��� ��h'j�Ls1�Ɗ:��J2��S=���aG�s�Q‹�g
����C�|#+����+�
���b�747o����|d8� x����������i��iO{xaTC<�>�>0V��m�ya��y�T&"0l
-j:r��	ag����I�
ji*��vm�?5G����qP�O2<.�ƌ�<�N�5e�3��%���
�u��x{ҕ���ye^?]��SR݈](C��XlNEj�	5-=�v$�
�^d��ؽK��<Һ�4u��*�d���x.b��o<q�L�H���jM�f :5�?��
-�5�� w�ݏ�/�
���w�80��f��GK�F�~�a�g��\W����%q�
-�:Ƈo��s�
��U�5�B�
��?k��mt�onH�lӬ�UfcPf�J'rc�'�p�3����ީ�t��
��=]�\����A��=����k雦f���IR�z����������[	:*��f�8�(���\;Ղ������U��_|���8x����#|�&/�n��ԃ#��2#�ώ��)ƲBG�������PP:tդ8[�J2`���7oz-�b#n;�%��@oj�0"8��k���%NswvKm5��pt;5�? _�	@o��V)�9�9
��t��LZD ����ֶ���O{��
-��%E)��Dl� ]�&��~(�z�X�4-���<�5�x[�!�{6E�G�ڶ�˔�j�9��MO������:o�T4���C�A�}
K
-�>�!ծD�ʱ�x]��
�^�O��mcF
��8�����~��LT���m[{�8Vvf�����	'�w!]�
-���j�m��n9��af�Z�P�'�� 7�Ce�pϜ��~d�?���~\�\<;�|2�]�K'��&tWil�<$��0ȝ BmmM��ネߞ�#A�a)��T�}/�{�s�a�#t���G�|ذ+XBz?���7p���0!l�j5��|���@!K���%I_C�L]4���W�B:ŴN���}�Z+�QQ� ��"�t�#˨4� g2��vkq:Ox��1h�\C���;
ZR�_��b
�,'N��xAg��8om�I�ӕ|�X[�r[�xĢ&ZmZ�i~�
��s��d�u���3v��e�x`�]!%�[��h9�B1�5:��H�j��W����	��U��L�SQE�$q�� ����V=p��Uq����2"�<v�c޸Х~��r�v�r8'���������3 �{:Tm�4�t��X.�G"���C��1���&*�\�)���†:F:4��us_Ǣ�G�Aʞ�.a/q�=E�ͯRU25-�˼��y�a�'4™�?��웬�aѝ���$%�	�
>JG�x�5o [...]
�d��B�g��
��e]��K'�5����I���Z)��1���Zn�D@>4҃��ڤ��`4V�c
ʌ���D˳֘�
�5
-���:�y�3+�H'3$%���1G�geTa�`�& A��W�1�����*u��b��
-y�
q�l?�4}Iy��I�	+����B$=/��+*��%¿�~|	sư$XY�k/�����M��M��K}�����$.���;� ;mQS��_'(�H!j�4�4F_m��m=�s�D��|��wq�G��+��);�_�4yX����:��􄉯�H�@���=?�I(���^RB]��-΍���+��e�Ң��T�5�:e�O4��(ٚ�]8A�۱��ΐ-��QGT$x���M���mV]%S4N�
NJ���T����&�
��z���{��g�p���N��S,�l����]���W
���w�ڠ'����
�V"�OD����<{&�-���p��o��S,�ӵ��T��r��	�=���3ht��כ
}6�Y��H3:�����wHM�zSh�o\-�'K*���gL����g��K�rx���U!4��K¸��
������\��aw�즢�u�$U\�Q��Oj��@!:4�t���&P�Ʈj>�5��b2��a�B�\.`�o,<��E�J]�֘�1X<��F�
��{i �+�s����:�z�WȾR��a�	��q�O%�H�>�(Y�%��n`O0D����
�����w_�E��s�
L�
���2�uQ��P���zT��4ʿ��G/���ݞ�����	qҭK����E^�B}U&M�u�ג�
�2tt at J?�{�5=�}�Γ,�Hb��H��G�v�h쭯�z?�'LGR
�Z_�b؀�-#��F��,��ą���/J��g} V�*�
�Z�p������4��+J=JW�tAG
�X�)}܄�%���{���x2(@����O�s(���
h�
��Hڨ
X��d9���n�d}�qPW�-ՆkL� �Pz�����2η��=}�S(�
-��0��^��Y
-ʗd�r��|�"��;zp!"J��Wu�h�EJ�f7)��YΦ���R*�*�K�3�`����M
;L�R&�n�G��Ɉ1}��A7��0~.2� �`�Gp��ۧ��N��۵!���#ܻ�n��Γ�{cj���y��-S�����U�#��7F�
��j�	4�@i�MY�3�B�H�VH铁
lp
����zLƄz<�{� �1Q��l��3���
�؂C��_��
��G�EN���F�04���3B
4�
M�Ӽ
- �3�g��
d]<#\"����1xy
-��i��Q��n���5o���ed뾫����i�;
j�g��b�=�l�u3�&d:�$F������&5��+;�m�=@x1*�s��C
�:�E�2p�[˿#�Iwg����d�(�R����\I����s��
-���B�U�w��	���>�\5�
�q����X:�l�=��N��@���F��3\�wb@#G
����ш�blb/ڮ=��$c�.s�����>v�u`Ǽ��k�
6t�mZ���K�0�.��h���Z��~At��'�]���
#�����
-
--�á�8'g{=g
�&3v�|WBI�?
-ߡ� çT�@��R}p�)PR׈n��($��۹ZJ7t�� p'�2n0��H�
�b�{r��)UDs�Q� đ�In��1���
Ֆt�aWn���ۏ!��Q�*�(9out�đx���g̞������[)W��et���3�׼!������ѹ�]Wַ�l�q�4�����4-�
T���
�vJ�
�Ԧ�.���_I0����{�.f-�nqs�U��t�C~��MNe2/���.1�O��=T���W�1��/"+���o;�r�\
-5�$d�#�`n(D�O�y)~��5q�@&�2\�@��h��<�~9�K���}�4+�"��|`��u
��7W��"��rwܭR�BK6���fڶ2=��@�p &Y������=����#�J�;�h
��+����S�����!ײ��l����B����f}�5���X>h���s>J:|�n,°O��Q)�|!Haz?ƍh&��16�Ě$�]��~��!Ŕ))����63+��k�ZЊ��?'�'w}����)��"H��
���'x�e��2w��Ś�A�1����kѲy4�]{\xŞ��u_n��/%�
D+���i �F�l�R�
���~'6${��?� �
-�2Cb�C���f�~�+�J���J��bujW�%c�����	w�SQЩ&b�%���
Ա	q2~�K4�y�H
R��,���y&Z�����K?���<���U_;�H)���V��͚�H#�͢ڪ�cKD	T�l at 0�ƹ|'�kz6-��\0�)�����L��"u��#[a<v.�/!b�����ew4�����B�JN�1���*H�H=
D�}z�7
�J�����ڡ�6]\�`k+�jG��N�5����q�y�"
�

7���f�a������ƻ`7
-�*�e3���
ZsL�&��MgQ�ߊN��
�Y���"��еu����_X��+�K��{\s��X�;�����f�ղ���`bnA����HE��SjJL�k9=�w
����汤I9y:��TI8���;��
�H�'�N���f�9>F簞s�`��SlVt��Ƶ�O�'E��O=
�%�a~k|��,Ty�r�=N/�*e�"�LM��;��@�b� >��ʹ�gCj.
-��$������[?�
�z3�k�����t�F��v�̣QY���O�\KZ��2��ى�|z�������H
�D�
�KT]G�ѯp��[K��&>'K�g���QBM,_����Gw���.$��歞]��}n�lG�j��?R��64u�Iǔ��^��-��9e�k2��Ô��@U*Ƴ��"1�ﱨdL��f�
-h�1&Q�&�@<&D�
$r����ť���l��Ť�������X��k"��hs�ǰ�ux2S�0B��
��B,D�E��>%	�Z��b��zw7��~��5��j���@�o�=|6�;�0)��D�`y�%Zo��S�x
�����&�:�aqH�~44Rq���z�ch4h,K��W�+�3��(����}
-�Y�c:�R������DM?I�n�L��H�ށ�K�	�0��p��<%m꽉-WZN��Ȋ�No�\0���������fo<���p��?�8�߈�ڃuи�z��H��p�X�}5u�˾p�Wd��~���)3%�y�u��

1o:�z#J^�7\�<r�C�~Y�iPNh
0�m88v]�4�u��)������v$��;��(���>��l	�fTm�\b->����(H��Ayl��6�nz?)5��N/1Z�A

�g�E�2g��:���*'�F���ꆄ�׭�oڍt��Y������X۳��fq�儨?��X
�P���<
W	�~�ZAܯ7W܂�)�^�G9�I����thY�4���܌pe��D�bk'�X+�R���
�x��X�¹��5�Ϸ��D�2?M�����mF[ޤ�w�`�c(�Z^�#����HK��/Ek����^��'Q��<��c{�s�s��p�DŽj�.����)X����̯o�v{��k6FȹS0���)XT8�P��ekh���a�k`2fϕs��Lr��j���k���j>�L����QkȠ��n#�F��v�VM��N*���=2o�(s$�ޥ�8�ItJ]bL8�_U�O4�������v�^0�e��)ԗ�?Q�`�
-endstream
-endobj
-13532 0 obj <<
-/Type /FontDescriptor
-/FontName /VUCJGC+CMMI7
-/Flags 4
-/FontBBox [-1 -250 1171 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 81
-/XHeight 431
-/CharSet (/A/B/a/c/comma/d/e/f/i/j/k/less/lscript/m/n/p/q/rho/u/w)
-/FontFile 13531 0 R
->> endobj
-13533 0 obj <<
-/Length1 1430
-/Length2 6052
-/Length3 0
-/Length 7024      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.�H(RJ�/
�3�t�tw9� �
0Cw#!���t	**HI�t
-
-H�t�������uΚ��y�Y׀O�
e
SA!1|~�����&��B�`� 1�!
����&f3�y��(���rP�A1X����B!uO  ���`0 ���� ��^p{@�PG!ahb6E�����	�-���� ��wy��0�
	hA1N0WlE;(0@��a���r�`�$������h~���
/�
�8�04��
f�
hC]a����Np����
��XnC���H{��-�i:n0�g�?��_w@�!�I�W�Dp��`��
��
��#
8�h�c|0� i���@���P/(
��:��

-���P,����<�n4?��Q�W�-+#�Q��0$M��?%��{�&�Dy#��
�H{�_ �=���pwO���_.X�?:G��`� ���I�WzC_7�o#�� ��
�8`A��0��?�0
��@��m��D
� �p;
`
s�#��ɎU�
����{�} 
0�{ ������^�($�����0��4R�����?6���'(
�	���b��N�
��o�.�Ws�2�!
P 6�o�����_���kg����Fa�
8��%Xl��@��7�w�����������
�x"�͜�����
-G����'�Z(�v ����g��`�pO����a����G:b9��
����*p��.
c��I�[G�tQh��'��
�vv.�g�����A�����a�-�w�H;���u�

P_b,!�����=��7�~$
-�
����1�
-���6�5`
t`@ �_�U�������$�V���0�̎xze'�\
�x\%O�ͷ�Q
-+��T��c�5!�Cy�f�����r��v���s����q���=���;��‡|wTV
��&M\
^{���2A�'�$M�I�ԣG�1���H�ޱÀ�4�����co�[e*w�#��Z�ʲ5�č�/�c��v.���p�.�&���|���ɢ!�tB�Ȼ�l���{����5.T�+ly�5
-C�,�͠$LPi<[p�<��k#���V�R��@+�Y���[� ����9���9���c�
���ߊ�P!�'B"m�b�c,ю���Rs*�!Mo'�{G�����{��[�8�AN��v����
�3^ڙ����&(��)����׏ުBҥ|r:�v3�"%���#1i�3Q��]��L�
e�I��=�\V��r[<
��Q���e
��Nq
��F�S0=��J+��<�1!�Y-6S�_�
�
�qc����-�;���r���m��|�0
���y��+&
�a��C��=��0��G���hOF>]}����ʎo*����CN��	���P�]~F������ɓ���#XzCf֒Ol��ǩ�a��r
�v9�bJNb��gyn~_�25��T�[�/e46�ZЛ�毞��Z}H9�cmv���O�A6��.��K����r��d�nX24�6�[
��e�(D����F%��[b��/g�`�
VU� �	��0hU|q�N!(�<eU)N͖���5�뢼�%g�P�C�jZ��I6�^�(�e�nr���n=��m����������LM��v��C�w��
�Zė�>z{�+�U{f+���
-��8���7�0X���t �̵
��L�S����f%��xZ|
������&[@Q�~���'��l�$Y:d,�߽�����O~>�$���Rn\�����I�KN���ø��{�؁yX{�r%6DžA�B�<NAW|���zy�(,��.���uy}�ď���q��9A�*]~���C�t�U�þ�N_
��i�ζt\�s$���r)����D.�'%h<Di}Y�`u���
|7Õf9B-��m������֓��R�
�O��
���/����D�2����mB�
}Œ���qgL�1�b�� �yf[a� Ǯ$bB���.
o��
E� d�o�픝�u9�HxM���nĆ;s�,�AD�fP����?�o�11+�����
�jAT�U����Q�
-x�l$Bf]K��ƕI�!��{��Wj2�~Z�H�B�Y�M~uZ^�۱c�d��
�ۧ�V��d�Hd�Yp4��ĄG�8��q��>7`M^�������9u�n#�e�����g������
�ѮF�:7掃��Fiߊ��hg�E5���Q) Q���dvҪ�|���4�*�4�~�v���*'V����D�{
|
R
mTL�$\����ΚA�Oi%ꃈ�-˔�F+l��I	6���i�j���_�
=a�w(
-��3
-��='�T���;S���񹊽 էU� V��ơ~�s�

��l�ć8;��=>��x�jC��A)��䖧ɜDZ��f]
8c����U/
�X9/ٮ��E�y*%d��Tv
�_.�m+�7��h�(�j����i�w �7\���U�$��ez���4ͳ�d�����A��lG!��\�1̫�]���&�>\�3�
}$
��4��-�QDt����g��gv��Ù�@��V��߾�
]�iX����i0>��9F��]Щ	H��
u3p��@�.�N��,U�����
-��Y%M h^�Q���P��y)���g��4˕��l�����&~2zaDޥ����Rˎ��b{C�{��E�I�1�
-3� ���'�R��f�T�d:ER�|�W��8z��[�t,��N���.�WxNj-�e�����˽��W�
,�Z
/Z
&�[h�S��>��~��j呱v����X��>d�l�z�̜\Y
A�B.-��w�G6a�Ԏys���]&�L��u�>���\d3��b at w[(f��������rL�N�}ɑf�+��|��?��i<��͖�u�{7��>���ݵܭ���l�}B߼(�����1�{#w�l�6�
���盇%
�ͥ�TH�;_�151S�.X%`�9x#�z�p� ���S}^ݤBݙ
�m��A��
�ۜ�k4���f+�
^d�I�|��F0usg�E��M�K|
�ZsF�tI��S7#M
-x4s��]���x\D"��8��ήk6��賮~�-@��H�O������Z��qJ�5�Q�og�1�>�㾙TڴxT��r+�Y��V�E+ AR�S���FC�
 rp��}~����Ff]�AD�ҊY�0]/�In���ۮ��7)6���9���<�����b^v�(#�s�z�pu��F�j��ݷ0݋��M�Yĕ�q��
�iY�ȋ�

�M��ҙ���l�%7�7
7��*��rnF�P�����'�Y�]�!x&�u�OeUR�Zp�&??]ϯ�D�Lݕ�{�}�S.f
- r8�ʻ��uS��?"z�f�������CL���`�*���,Q��A�{�7{� Id�{_�A
j�vS�7ŀu�Kv��U�3)�=�|/�.�.��w� $�0�z�Vc���
�
h l�P��fӟ�s̶R������d�$��6R����%�����}Pt�k
-�+��������5SGL���u��*��ߝ��]� ��E̅A��B
-%�/ڵ>6�E��:�
�=��[-�]��_H��g�}
�PS�C��b޴�j~��
��F�M�TW�
�m7��4z6t~�c���>���EMd�Ey���
NG���;?��[Gd:C\�{4�7�ܨ����>j�G~Ԭa�)η�i�c�J���p��n�v�7��Ċv�+��JD�qg�w������8�����Feu�?�j�&_U��+�8�!W���6����|~��$�3�[��>ؕ�޵+	MdH�
~gk^����j/�3
��,�^2�/߉#L{���k�
--����$���F�˖��&3�Ր=w|�X�ܑ,��_����镆&R���Ɲo6F_v�8�?L;�>��NM�����㚫rG|\i<�����%"�~A3�e3���(�6^�RX��b���/Z��E��o{'�_�O�gj8�t�:ǥ
���(;�	nC�`�/���X[@��"�d�4�7Ydؤ�䈿o�Ĩ��ibv�T���
�Վ
��[W�-�U��R_�1�

-%��
�(�W�dk
���]ǩ����|�p�X��

�Ԣ�D;� �/N� /��
5/@�+��> �=�ͥ��5��1�d�c� "�d��~�:�I?~�z�
-q81�S�ѝ�(~У�ȅ��]S}��<����r��r��f)�|�'ǻ���gW�
q�j��<{
-����K�;�k���F��
���ʭ��*��>�eCU��H�F�~~2��v�<$������<��� L
u:��V+(
��<�7��$��$�2 at Y/��WȮ��3���"A*.�A��<�<���dN� [�O�U�W2�T
-�H�]�#�}�"�Ҥ(�n�Xƒ�

����4�����9��w�����5?���)��&ؘ���W_�߅�55���Nϧ`��	Bl�#

fH�V��o����M�i-P�W
��m~ ,r�KÔVäy��y��#
ʯn���}MN^��d�S��%*Z�r@>�b1�N$��$�Bw��J�)珥t0�a%�n���ﺆSs?�a��
�j���eށ�
�����y/g�v�<�!}	<e
e�0��/4���ό�H~�>���^%v���h���3�"�����6�Xw�W}����u7���_d�r��K�6��6������j���T�R�m�~�d���|a2|*�h*�a���6��-k���3
m�Rc �%PCO=��٬H�V�'�w-���y�����ᗴ�ۡ����)#O��|�޳��T�
�����#?A�~ۭ��4�������#����C/�mwR��W�2P��"��_����
[�zI��=(�Z&��Hr}�vI�9�-}�S���
��
i�>��c�1ϲ��5Y����|�X���
I���
?E𬹝���m��Bp�L
dU޸5�
�
9���C�s�G�y5�)�|h���J}�vu$qt/{����4����z��+_E��M�t1/��fTĔ��`��LDξ���v��P���	&'1�r�P�<x�Mbs�j$�f�ph�O����*џ��dBg{7Џ=�$l�@w��N��
-!��Ƶ�%v>+ʪ+y����u:2�Ew�
+��$
e �i�(��W�Z�,�v�l��k
�����@��>Dq�A�d�g�Ed��nM)e�4�dp��՚\mF�
?'�j��PYT�^T��
k}��k�`*�)N�m� T�D���~
���

�-Oè��фz����
-e����7�/����1z͘��S:*�2 Qr]#�+,���Yo��bf�OZ9��S�n"YA�#��[�Z?ϭ��	��68�Nx�N,��0-$��ϲ����r̓�>���,*�x�}��<C3�r����4�";�l���x�2E徟;�_
-��|*F*3��GY̥���C��c2�3�h���b��%�(����2Ƒ~3���R
��q�!���w�X���߆
�IE�p�2W�~�f�tѫ
�u;���;w�Ƅ���sp���{�\����K���
�|N�
���9
!�d?�W�ةo��f�������y���ݣ�
�M>�Q�8�b
�-H���t�l
'�ءW��T�\���7%y�A���~񌀄3+�	���)�/֦k d<1љ&��9�K�3�N�/E|途�T�Q���Z(l�#��i����GP�=1�p'�g*?����X����d���<G����s�Q���^�ǭ�\�j(�T��
�9�H{
0� �h�G��$�[I�G5x��L��rY��1E"�/x�ǘk�Q�=�xe�����}|�k����m��ct
�[��i�����d���|�Ȓ\P+�6Yu��
LFw�Ѓ�ӞZ7�/�Ɖ�U�gH�����¯������?N$�m[�P���Q���
<>w͒���B������г~Π�tg+�`2 [...]
�?Q�Z�oț<<}9RR��^���p� 4˲7��>rrnb#B��$���1`XVN��:	�Ɖ~ˏ���L߾n��w��A7i�a�d�NE����tf�CD�͛��b�B;����K	�
��>���
�C�G��)c&�kc�M<4�
/R5�M�'r��p
�Q۶x�Wě��.�&q�J1�sX�������w��~�M[�y��X���Y��V��r[�\I�B�hAI�f�ޏ��-H��e7M�����C�*�
-dX�?�2��
�.Y�7�Ӧ$x
n(�KX��+6�����p;��8Q²����{��E Em�H������t})�3�C�Ԯ4u!6{*�%0��f�+�U`��zh��y�{]bmP�"&�n���@�_�����ꚇ�iVA��g�����Υ�Pք�ʼv���I��]|+�Zޑ~L���s!a�fe�u�|䓓�ދ��
�掲X�vͧ-C�qj�zi�Z��N�/(���%���fG	q
-�DULFł{
-?%j)�}GYL�`����tzA��k�)�`ʷisj&��\Fq�����d9���vn�{�.i��]���N:�Ue(s-��4�!���s�M/��>��(<YD�o!��������:S��>�.�|�I(ƃ�Q7hc���0����w��J�t�Z`��N�T�N��p�7^mȍN����e
���#�f�p
��Of��-h�˟�l��0W��|5̟��y$��}��}����:����<�m�c���:C�o�0�s�=*{�_�n�B�p$�%2%�x)��H�V�%�a�<'\����H)ۄB�Ŧ[3iA���[�Å��̳$
zy�틟4]x��޶�U��1�gV��7&�ω,�劾�~�9]
�L��yT�W�p��?����
-endstream
-endobj
-13534 0 obj <<
-/Type /FontDescriptor
-/FontName /ZRLUIR+CMMI8
-/Flags 4
-/FontBBox [-24 -250 1110 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 78
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 13533 0 R
->> endobj
-13535 0 obj <<
-/Length1 1576
-/Length2 7246
-/Length3 0
-/Length 8293      
-/Filter /FlateDecode
->>
-stream
-xڍwT�m�.�!HꐂԀtw���
0�
0C	H7�J�����(�݃H�H�?������9k�z��y�k�k�k=��:zܲ60+�
������55UE@�c
 ����U�p��&`5��!0���r�w�(���ӄAj�N �� >!1>a1 ����s(�< 6 M
�

-����\�� v��1�ح9 |���\����`7�5
-�!���AN =�5��������/���'��s����xB��'`8��l��r�A�C�
-����`�O��R8A��P8*�
jv��j �]��?�
� �����O���%�@���a�. �7j��8��J</ ���r��P� �	d�r�]9�$�
 � �n�qA�y��_y�AuYj#svCp�_�)@��֨�{����#�	��K��@ml��qw�5�B\���
-��T����� PD���  �
- {Y���J����m���F!��q�� lQ �~[0��� n�`?��m�O���`�F ��v(���Qj��5|7����
 ���ϛ9�^60�������kd�m`h���?699����_��/��¨��L�O��[���U
�ߌ�P[*����
��/^���3
��<B
�"3��/�̀�@kԃ��{~��߈�+�����]�����o3�o��a9C���r at q�
��
Mj;���j��˚`���[U �~�B�P
�����]\	��с ���0��Y��p�@�:08�ו���ˆZ;kGԵGM�	G� ��p�`Ԗ�g
�Pk�ͯu����@�(B�$A�jom�^�	���� 
-���F�k��B ^�_�ߒ�(���Π4|(������v��BT����N�j�'�#^�vT�n��F@���Я�9�m���5�a�?9�QY��������
ՠߴE5�o���{��	�a��!�!�g��t�ܛ#��g���#�x�>�q˵D���y�b��^>%
�-9׳��>Ț��'����=����=A�L�9�g�&mD�3J��/�ޭM�!�N'���]�
+�����$O6�B%a��V�����L
*zQý�'�&������s֝�7b�"S�ҙ�%��	=+�
~X$�e�T����� S�@� �[a����*��n:����]�]�����j�#{�Ѯ9�#����^��
���y���2�	�?̦Ká�^|#
Ҏy^4C�Q��a��r���Z���J*�ݵ��}�`�{,'�J�#�����c;�e���~;=3�Y_��

=M���qI|���`
����m
�l4
��x
�
�R[�ɢ{�h�GGȔGE��3A���6�o4�`�n
1G>���m��'��U_?��ĩ����Iw?�heH�ku��/���&�������[ W0�
%χ
�'�u7!)�����!�Wzv2�����h����y��|�h1��yv�XԂ��7��Gn��8��
.���S��}�w*�H�W�qͲ���#n��p�{J*�7��_�&dH�G{�D&��-xE�W`܏z�*[J�-�瀼̛��y���
��ISVZ%��9o+�|y ڇ6�{�J�O'u�'D9�p2�4������~z���h'&����� ;y (��vz/�����
?*���Q1
��
-`aP�IN糳
-O���p��
��W/.���~� ̎l��.}���.����~�D��#�W�����(�ܦ�}ݻ�<ڱ�
-
�
ұ����ɴ�
q�Q+r,���X]�Mf:Fo��(#�q���W�HՆǃ�[2 FE��%�XC�fI�����/��z
-|�Y-�&�k�8�Y���L-�.;���#���ܛ�TE���
y
-<*e���(
�V}�,f�$JuЃ�;����=�u}��,:Y�Eg̜
n'��`��,]
�����#ӵ��X��f#kE�5HA�nDzI��&�����[�1�5?�vS�L�jEw���s���D�LI�,�
����<��F�4���
,
�E~F�y"�4yN~I9dxI��!m��ў�g{[<g6��	�t9���ܿq�8s�WZ��F�҅��
�V�-&ш��
-~8R�����~���}�.I��}�)
@'<{Ul^����u�la��~���P�-������b����&�;��I���ml�$�j���k�j����.����Y�S??�x�L�`+6�+���.;�2�h������*�
�t��\�o�8߉P#�
ՙ�o�	`_���͘�+�����\�����Bk#E��IU."%7�)$�2�
A,�V�CL��х
�ǎ~
(�>q�Tǃ����@@m��aU/˞�ö�m�\�NĽ��þ����Tv����tl�Yt�s�w�z�M]�O�To�R��^�>��Ll��H�p�_��V
8����}��W:>�Ěm���C��xtȞ��)��Sv�/��DR��<	�M 
�W��[���M�S�K
IK�
�y�|u՛�9.9�
]ʁ�lL���~��.`�r�_�Pjtxh��
��
�]$4d����j�T'�#�0��-�A@�f����o�����d���O��O�_J$���u�<���2_���N��i�zp&��лe+��F��,�'�D��
ok
>
����C��	��)�nMh��/&�����9
l
�Ť�T��¦�74k����#�k�\���]�������;����_�W���� L]�P2
�=Q6�C�
�ir�9��m�,f�u�M��ﶬ� ������qC��-L�{4��X�<�˂
-��y�Pu����%S�YȮ
+'GY�<�gl S�S8
�H���
�!0�c�u5����t��{I�D��j�a��>Y�L�Ǐ|-�g�'7a�/�[�p��������Ċ���R��*�(�[q?��+�_6�ck
���1�A�V�a�}��D�~���[�������e���҉ⷺQh�����y\���^
v�
��/n��k����Q�q�>�ֵ�:�_����
-w��:�
v���;M �j��\��D�h[;$l
��eϴU��-$=�i��/�
��I�x at F�Ă��y��Ÿ-��W�$�~��
K�
�f��y`,
�	��i���
ѱ
b|K��%gm|�ؚB]��fr#�
��3
�y	y*��
���6K[t���khx�^]Diy��B�ui��%�5�
K�<�3�=:m��Z�2Ӧ�tiS
��+D<��}%ZH�K,�����ƾ�iÜ���I
�-fr�僇u�t>�~DAt����un�m�w�w!#6������4G)�9��G��g�9{$�����+ ���%�My
S���w�>¨�+R-�
-�v$
�
- �.�"�#�	KJn�k�	g/΀Z���*
��$���K� �}���b�[�m%s
0
��H��Vk���8;c�9�=���™�-"�z��c��
h�I���U�	���y;���&��qd$���PV,���������9�� �=J�Y=�Nb�j�'�&�Xz/�}����%�mi�1y{~j�bRfC������Z��H�/6�J�O�oJC���1B+�*&}ԏ��
��R�Yl�O��Yp3[�:)b˙���B%�f
.4�d���-�FP�WJ$7�(O"�tw�:u�Ѡ"�r�	-��W�&A�}Q�><Mf���ojx
�㰺��(�K�x�KB%��B�<)߇y��m�9.uN��dž`;�����%GX�54d��
��*n��֑���
+�
]��yJ�O�ܹ�z�Z���*��qSPU�_�5���C�vUl7#}�Z�@��!�e�)�?6�o�����m��۬Pl��HI���d$BU�Z�|<��A��q�3�M�栵�1"�~f��k/�"`͓4���&I�m�F#��_ړ�H|�z>[��kS�=�V��X�r%�R_���*�
(�	�
�_�
-'�n�T��i0T�3�ԮڑW��<᢭
1�EG��P�
�e]��ଚ�P݁���%�Nrr��x.g�b)������7���B����
-2.��k�w�t���?mpU����μ{���p��*��
y9��ZE!/;j���t��I��$~e^���R��� 7�Bo�Y�@2`��dP��2K���%c#o�c
���B��� �����d�n�xz����U��p
���s3�B�~8���z�a��Y��w䘺R�j��S��U}�cY���w%6J���EmH��ހK��
ԧ�uY�եa�59A��zc�S�KԲ�� �L�t
N��
6����WQD������ڑ��Kxb�U;�P-�O�/��(&)tMۗ}��4f���ew
-�!�mJ�x�K�L��3�
Y���j���Fa����n�x>� q
/_�.�)��
- 4A�C��� ��q�
���Ў�S�,��p�vWc�e#
ﵡ���	[+y�Q
-�q3�G���~�}a������B�S'N��\#�\�M�"�ğ	
���:��*_�<�i�[��`y	)~����妷��]`�$wоK�%v-5�y��
���q��voZ�#[���cЍ��
C���EϹi�@L.(:�fP�:0��5��zz\4+��FPf�@"�Cu=E��L���D)��氜�~=u*U�fV29�@��?����0Zy�� ��8��<�Ԧ�� iy���P����~��5����߿��f}M���	� �����Y����k�f�|�3���n�-��
������Rilj<w[z�)U��qU��`
���
�X�tD�
;���h:�J���
��[�Y/zS+��g��̙U���}�B����E���sӍ ~�Ccͯ���I�4�[jR�hG�{f;��7$Rb�Q�ݔꬊ�x�%���;
*�esj#o�MN
�۟0��r
�-�c��:ۥ����;�E��&���?�Hʶ��–�%������W'[��V
�ç�^#�%U\���8b^�o�q�_o�4�����є0Р
L�&$�1����>�ڞ��~���Ћ��s�x�G�^�$\���S��Ȇ��RE�T��Go>���bA���+.�޼�q�R�K�Թ̆�STd�C��	�&2�L�6=���Hw[J
-\m�����o5��F�Ľ�h�J8A!5�>��U�J�I�R�����_��C�3�f���vO�������
Kc�{���2
�x��Τ2�yo�ɳ���XB�K�C���
��x���늣l-R��_�g��0*i7�.�H���p	[��^3p�?
40��=�$�d����>'^��%�Nc})u>�5����Q�tTQ	
]����h*z;(u*�zٕ�o����E�L�Fin��gS%9�)B�	���9�d:��k
-s_�ϯ�~Q�ƭD}�m�jw�
-��m
��"�%jV�� �l�O
)��<�A�Ez�;4%��ч~f̈́ %�U0��oH7a��>�S7=?9��������J�3�.�ѭ��N_��u���"�X�o�K��2�eMD6�Ԙ̞^v�YPe�_������~=>�
��`\���2ԁ%�����l�
�)!R
��M���M�m��A��In &�����|��KǼZ�'��j�U���^-�Z�d,Q�?��-�>�b3���U���.��H�t�ƒ����ǭ�f�T�/"�	��}B"�V��^r�@���h�&��A�����i�LTEɊ��E���j+Զ$Dz\�8�R�"�{��Fn�,Yw8N4D
d֦J8����l���<9�e+VVh��,��xŜ�MD�)�د
Ze�ؽG
-�Xy�$�{��
l��^�b�Q�<^��I��k\�C�H�s]O���+kGF@�A�
6�L�]j���:��:
-��?��;�~ʔC;�Y�NJ
�k�o؉�p��y]<t�Z
��H��Tr���.��WM-KA
���e�z�$�C�Yde�j�qv���GN8�nױ�l�d�AOSi)�#����	��h���m��4&
2
��Xژ���8η77^h�R�;y���+ە��'�Bi�l1?f҄.j�Dܶ�,�<hm�d~�|L{nH�qߑ���w ݐ��@��;#�d�
�N/N���N}v@�Y�/��%���˜�b����ɣ��(!�\��d��㇣��t��2{�[���
�.Q�+
moJ����u�w�9qo<�= �@��;*uM��kZ����d���lj~233���q�Q|s�n��[sO@ �C:��y��s�7
de�(ll��樳���΃6�[䷯�?{r�5�އ|4��V�����m���h�D[���R-g�d�?&��ƿ���@V��k,&W޻)X��q*���{��ܜ7������(3���~G_�L����;֐��~f�gڕw!E�g��ɍ׻w|H5=���հ������:�hD����"�r~��]G�b��O��F�r�󮒳���
� �;*h [...]
���u[�N�8t�8d<S^�:đm%�3,L�Azx�T�=�D(�KŭӚ�e�#�ߜӡ���n�Y����@�3�8�����ҹz�~
�?�^I�#�
��i9���}Ҭ���$����ǼWA�!9��W�L�WC�m)*d��۷�l�1JT��ߺ=
�,�~&�u0�"�'œ�K�$SK���
�01It��_[S�ȸw�ۍ�!	���)���ND�,�Z�j�5�eBΏG=/W����|4���IJ�d��x����^*e��R�,f�9�xH�#�@G���}V��f��(�q���<>�j��:�Ɲ
\w�ɶ)�E��
�U

�
-)�`%S3�{��W)�6m�NfzjY�_5}ҏ��/�t�t���x�bAVPs���&�Y������q�O�R���L"�F�*�,��ZuB���[���R�����U?�����|w��U	vh�/�o��-���I��I�U���]�,��u�B7.S!��4O�Q�1f�gr��Y��Te�*\��b�.��UxmV!w.�Ng\}¾��LN�!&~��u5b
�
i����kݳ��������.��
��S'�=��+��v��R�n����A@��l��f�5W:��?��Z0�#]I01^�2
v76"�/��1e�
-�:|Ӗ��
�M�t��y�����k!d�I��J�Lڝj����^��`�!��Pq�Z�2��.s��`\�y<���׾ 
���V�~gn�lob$�aç<D_^��
�+^�Eq�1���
�
-V
ċ�Mx��}W! n����Mj�h*�V��SS��B�Ƿ�e��yD��׷M��
^�n���V�{|�ʱ^��/��C���m���K7�?X�_�����/�_�x�.G"�\ќ�2X(*f�Y���
S��Y=]�
uK��%0+��(V=�~Q��yC���&q�잀��������V�0�H�7�i�
2tD��!��X~�uĨz�O�h�
1	�T}Ri�Ǻ��<����qA�
Ī�
�����#x�zj?h�%�/cS��*2���G[QX�ɩ|P�}S������YU���p���Fռ��˼}�/�)<���Ӆ)Q_��J��#i�v�\�oOEC�۳�W�c�?�N��}�T �3xPt{d��
���|�φ�l�<�h�����������>m�F
-&"��
���+�c��|՗*k��d�}�;L�=	2�>RKr�P�bD��\���uH�a
-��
���֓ը�������C��S��Ç�/��О�
��VH
��rm��"�B�����u-��c}�(5
\�t���V�tw2m��/I�;�v�8x%k�YgiӌN3�"W�?�ro����۞½�bN�3��е����m^���Σ?IyvJ��T0��a�x؇
���,Q�i
(��zv��LR�,�����̓Tj�{�������BΟ���Y�/��{ӳ)�r# ��V��iY)�wC�npD�ii�B��,�&-A|����.3���(��c�`�F�.0T4��S��M��B����&����N=[�k?�Z@����JX�
�m�X�����ے<�ϸ�c��N��{�ooP�E)���`G`��u*Q
Fl�G� ^=z�����Y>�=,{����/�k֮���5��;qL�㮍�qSDS��j4m�OrY�?i*f��й��Q�')�χF�wx(ǿ��	X�a���Q�/�R�N�
R�!^�͐e��eH�iS� �&�0�c�ӥ�
�@}ۍv��&�Pl�64!r��>$z	7���vS����
^�dw~�麮c�ffm�|s9��?u�$
-endstream
-endobj
-13536 0 obj <<
-/Type /FontDescriptor
-/FontName /WWOUVU+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/L/comma/e/greater/less/n/slash/triangleleft/triangleright/y)
-/FontFile 13535 0 R
->> endobj
-13537 0 obj <<
-/Length1 1528
-/Length2 8257
-/Length3 0
-/Length 9259      
-/Filter /FlateDecode
->>
-stream
-xڍwT�o�.�
R�,
J-
�)-!
.�.,,K�t� HH
��)!-%]�݈ԇ�����{Ϟ��{f��y�yg��3�smNi��9D���	��Ȫ�)� y <<|\<<����:0g8�o6�.��	f��E�r��Ɂ��jv��

 � E�B�<< ^

���v�� 9�+

P�(�! N�̲v�
�0K+��B=�,�@!��� i[�#�� ���� ��- at p���
���lbV������nnn\ ['.;GK	v���
-�q�8�B��_�� [�_ڸ��:V0�?<�vPg7�#po��, ����/�VRh�C�U� p �� ��;ݟѿ���Av�� �
a	������*���3 � �"��Nv�� W
2�'�>;� �	 �K�S���#��ى�	�%��W��>�#��v���������
!������~mvn��!� C	��s�@�
\ Jr��M���,!� 
a!>^ � q����UB��
��	�e�W��eog��
�x�l/'�+���������a� s�%
��O�{3��G�;���~� �_���L�
l��{�C�}��z�j��Ϟ���o����;��( ��� y�� ����&����m}��y�eTB@� ���o�_J\�
�?W�
��
-�v�3
����<<�_���E�
���_Y��+𿏤���&����? [��O��P�8�/����� �7U��Z�����ۧ�
�_i����s��x���Ü`��s������
�t�Sο����o��#,���֋W@ rty`�_�= x��
q�=� n.���}���� ��#��p�~��@� n�����o�;nȿ�=������ ���� n����.����\����yy ����[�8:޷���ݷ�/��_q�X`OO�Y<
��j�Q&M�ƹ6�ˏ�}
q���*Oạ +vy—
9%�6�
y�D�ÛWk�O�cc��*9R�l��	
j�������
'U�u��V×|�%�A�V�۩��#�����-E1����b�
֚].\䡨H
raa>\�f���r��%&�c���8����~^���B���d��m<{�Ӵm���AJ��#�1��y���Ӧ 6s���	�*�)SW=
d�S�r��ԯ����Zwaz�\dj��tgL
����dz�TNk����o|
�
~L������$,h�
^}�]���w�.���\��1����H�|�L�c�ã�.��1D�X�6}G����=r��6EO4�4������^�~KN���5�V9 ��+�Y����6�����
:��A���~�}s��?���J���H��X�2�47��6��(�	B�}�{���w3F�q��R��اi����:.�!}l��2H�,
��s�Ab
-m7<�z�$}XG0w8)H�@�4�xhȧ#���n)�����хHa���#�Y�)U$vJ�<�~f[��CQ����ԛN���l,��1��0�B�����9�t!i��J
^4�)X���b���O������ToglGrG�$�E%����6�I�R��-�*��~�u�Rp��m8}�уr�u[����\��&Qզ�k�g4k
��
��
�Y̑�Xx��j� P
#���3�2�ELl�����Ec���T���'���Q�!>svTgV��Bt��
��3F�f��κ�_|�u�ڢ��S���9��Q�~��	g�Ѐ� ]u&
�qa�:φـ.����YF��-�g�����5a�%y���Ў�{
�#R$2���3�҇��N���hX�-���
~SM�K�'ɷ�q36 ���78ʶ�����Wt���q�*W*Փ��:�����6%
�Q%�`%����r����#�ͤ��C�����G��Z��j�L���q$6�!߾l�Ԑ�[ۊ_����h&X�
9X�Ϛ
�]y�/�VVG���V?�L[ 
��8�XK��q��u�˽!9Ѡ<�Y�דq�����u听�_���V�J���(gC�-�2�2��F�w��F�v��P����.��hj+�rۏ&�9�
>��N���e��U�d�ŀ�4m6O���R���ro�D3>�s��:�=�b�6+�>L�c��˪
���	C�~c�y����,�R�y�Vqͺ��7�PM�#QC�K~���GM�QZ�
�<%WR`m��B�9�k��'�����㝘J���7n$Vp�
�1�œ�M~����
-�0�e�]�@�ˈ�bZ�f5t�������я�*
-XZJa����h�8�����i?..�v^��eK'��s����fՆ;4��;�
���}K��؀�Cw���#���NlA������ŽKV{��)��s�s�?	Zy�y4َ�ZtO|#��1��
,'��X���
-M��Cn),�+@#�ߘ��>èb.~�R@�i����%u�` wT����<�7,�VOdHʕxH/�H+�GitV'v���E��aZ����Ju��֏ue�W
1�D:����7�a�%hhK����� k�J���L��%�L
#]�Mҙ{>�?�����Sz$�
Qk�
��=��X���
��#���Ff �%��!�:od�Pˁ�V{Д���e��O
7
t
-�Y����g�5Y5��?�'���#�h�J��N���QCrW<��f�yC�(L�J��o�������产���
FÎf����'�:�M
-T$�U�� �x2`�g��I��ɦ"<�+{�+QeOĞ��| �����5I9G���,��O�%%�QJ

��� \X��T��X	�0�
-b\EZ�a�x��}�h�PP�f�-[k"��f���
e+4���n�m��t�@AB��ij�t�727�rMn�c<��L���(W��$��o��p]�54��.�F�&��3S
�Ϟ��"�v ƻ=�����mA��d��8b��b(~s�+�:�7� :
-/k�H�^���S6�a�Բg�"x�Z	����FW�����
F�n3֢��4�SL]þ��w-�
'��
ȷ6F�
|��
kƨs|���7���g�������v ��V��d�>�[�T}��Wsq�h�ά'`�+��V��d#
;�Q���>ӷ.뇦q�v�Hii����2~4���d��hiM3.z=�f�>8U���ߡOB*|T���qȺN­��.�c�P����ӵ/��m�:��%��w�V7J�y��<~�w��y����[=w�u׈8��U�_�j"�'��kx@!��d����4
wJ/CJ��G�y�,�����Ѻu#��XG2[�/��f�L
�u�|=��8��
7r�Ըd�s�Ӫ�zs|�~`�i
-:���,�i�W#"�`��ơ��/��kώ��E��
�=~YH�E�Y"M�d�* J̜jhh�s�fOɳr'��ԉ:
��l�I�@���]e��������WjvR,�7%KYď�|H�Yq��B�X�3���cr�!�ޣ�{������d�+���	
�U�#�J��J+V��ǖ�ۉ����{��4Q�.(Um����{v��ƻ?�QP��f�)�H��rU�_M�
���Z+�e��gAV�r)�
'��_<
���9���
��S����ɾQp��.������p�$��
��T��*�瘕;K��b[��^�Θ�H�4�	��m����1\�[>���:��w��f(��Xg�3��Kl���{�C��L{Ը�Ɵ�{v�!*U^��yN�
w��x���W~�'��3Y'���S��[��+O���dȧ���/��[�,�FR�qO�?flw��i6�D�7M��{WI`5����$��1H���9�r�"9
�s>䲬��T�BB�� w�l�n��<
-zeT�/6���0"p#噤��C��<�;�����
V��5��bўS�:y�B��F
t걝���� ���8�w��#��%*��u�;:,�L�
���7��sKg�23��f���|?�r�e�o
d���`�S��5��p�����_o�kl]���C���w�ef��,J�)��R�s���Q�T�M� �r^�����X�t[xI���Y���Cvf2T�����?(L�Կ�

u4dq�'�/��o���(�?�^<A���O]L�ۥ}Y������Y�y5w����<z>��Q��tɁ�@��
�u�����z�F��APGl�0!c+_s�>ݝ:	���q�Kc�F�� uz��q�� v��U1mi��%���rWo��U���>�ծ_��i6cW$l�T�kwe����!��`����3
M�Z�
�D.$0
�Y�a�-��,J� y�9
ྒྷa%v|.�&�u8$#֣Rh��,>
��p@Ѓ�A���5�υY���=&�5���]~��ix�	� [...]
-4|�)��C�ժ{�W�b"��X�a|�IKj	�b�-�,�:N��
�P�M4{O�jx�����{�Ȳ1���������Z�P��hC/�W�U���Cm ��P�e������p���h`^P-ͷ�Vƣc�ϴ�q�����
w�����>�R�g�/-�)���r�
t����U ��c�Ci��~Q����KLy
ބӀ��T�!�b�Nm��aq��J�;�6r��`.�]�|�3���ESE���T��4?�-
-d�#�o��4�նR��x������`�m�����g�Q�D}�+��[J
��\ܮſ�|���r���v�!Msu�M����iw< �v�
-������i��,"�
��
2۬|� �rL;�o�)��>T1�&w�h�G��"�>��9�
�'���mY70�%[kg����
��J�1�a�}�[)A�ب{�e=��܎�V#8�V�
q�#�m�ת��q�y�{�R$��kDV��^��Nc��A�a]�}�/8��
���4���b��r5B��\�E>!XK���U���F%�S6�[�ڌk��/4
-gV6�j
��FA
-�
{���Y�(��A�/���BF��^�-߉��Յpaʞ�<�ҫ�0?��
-q�@�UqVD_�#Ӛl*H�!�6<�B��.�t?��nO86�،
�ۡI��V��mC��pӞo�8[�𵦉��[&$�%�T���1�"1�/'ON���6����Z6Y
I	�Y
B����,�wn0��jcOp�}!̨S����f��Vڍ��5���V �]g^�Ќ��Ψ�
�]��X���竦��F_���@��q2��-�
%�Q��R��`�U�
�啜?ӿ]�v�A���d}�6�A�3��B��~����-힇3]��HEGi�6kq�ro�m�;?�hc
j	&,�N+��tNo�ɐ�
l\��貪B�� ��}{��6"�,g�K���{��]�3����RP0K��F&��ؙ��GHW2*����mT%�~؃��ξ
-^�E(�b8Yr��
rQ֝-Y;�Ql��|VS�*r�k�N#x�����Q�6O���[s*�`�\1X�R�6�Û
{,���Ɨ��#}q�>� 6g�z�)p[�Y�e�9( �=���@R9ź��
w1��q !D���
Gܬ��J3� �m��

GԱ�x�� "O���=k��~��F�pn!��C����W#�Æf�y�zS����wIq�x3t�����(/m8�!Uз���-���B{��p_iN�ۋ'��
c���1
~�(5�@���R�;��L�ŀs�Vz�
��|�?���y[J̚y4�S�K#5ڎw�#XZ�|N�'"{�x!���{�jj�'E�GS��D�� Ru��J�<괸�O�A��\�� =p��|R��q�C+4CW��o�Į�5�5���;ɶ��!k��.4?���a%�5�nc�(�W�/���]�{$�)_>�$:��!�>4Y,
����|��=���S��;�
R��O�%�m"�U�O���>�����4��;'|���^l3�{�`��I�
֝�c}��,NILmT�P�N�O�7eF��H�3��6� �=�}���X0���� R�O�;c'�ϣA����ͯ�h�L��x���z�K
-�/:볈��\��=ì�($/I�i4�fD|9&u�柣b��<�s��:�n��
-�"��M���e�]� ��J��%_�ˎ
-��;���Zw��%��9� 7�C
-
�:FTk�X
�Vs��Uu���޺ \\׹6���d�/�����L���b�
�g/��Dk|q��}9I�S��P�N���$�
9�
���t�r3EƢ�G��p�b
D'�,�a9�L��v���~�
�bE�X$�S/�'
nY�Ƨ&�*���"�\�*�4�VQS=[
0 r�0Ƥ�㘚zwo�^%��f���N�'���-=���6"����G�63m'M`X�B�xe-�>AوF�!#c���׽�	Čs�C��GncO��z�
g�O��},�2���^�q0�M��N�,�+=���_�
���o��qY$�>�߭�e�g'-`.���h�;DnhR��%㵑��\'���_�c�)N
�n�{��J��X4���Tv��p�T0�������
7���\�n���gY�Kć*�g��Dq�LL��q��A���ބݹUlt���!O�+�NU`ڪ(�A��Y����ߔ�,���b��s�Jp=�;�N�~a8ܡ̔�]@�>Z�A�G'��bl)8��?M�\6�:��FLvR�xyp�V.'A!�
A����&���Mۇ!�Q4m�}�q\V��tM��~�^�o��b�bE��E��Ġ������9_kMH�$�A���3�ѐp%�����,�>#r?4�tf���-��s�a��h�6�1�8���`ʥ�����;djمI
eq|��+��H���.���[�~��ٳj�*N�H��p��ي��E��u�&�2�ڄ=1
ћ��,$g.���Q�m����qY�E�}��5,������:Aef��ڷˊ��hVQ���m'CY��ج�?�0��~�p��5 [...]
 ������nK��\wN$��ʱw"��F�o�`�
iRj�:5i����k�H(��N֚|�)W<>-#�}�Q����E����
J�~��^x�⇞؉>�b㨛�8�nf<}{"�u�/'�Mf�0���7��Ir�%�fR��/|��u���!�\�h$�u+/T�oBh4x��S�%��6��V�
]�ĵ2�18n"����/m+�Ձ��؍iC�!XA�

SR�T��E߹�(�U�~�cY��5э'%�Zz8����f�Ά��2]�$�J��u1�*
B~dU�[!��,�w�
���x�z���$
�L��["����7a�^�*�)�H��3���0Z�Ѡ�&
\p�yŚ��Zx��ҢПʼx�/6L���3��}������7�t'���
��ވ��ՀR[dL�d���5Vh;��4���U����`��GH_��[����L�@䂰*�V�V��r�^��ϰ
��a�<�
�2
�"�"$GֳM��~"b�h_w�}��
�U>B��_c�a�Z�##�dV
-���gw�{
-]�O��8�e
-��ɪ<I��I��q�
$J�R.�� t ~(�s��lܮƍ#�o%"-Q��ؽ&�X��X6,��������+���0���xr�G�#S�0�;�d1q��GD�	F���2V}&��U+��E����ix����|k���·Ϡ�a�ʨ4y��\)X��D��V]ʦߡ�UqTX���K�����֯��}�w�F�Q�h����ܠ��n�3���,�\���!\0=rP �E��s'w���'�7�b��ź���8RAR���v�Bū�T
�O�e�ܡYE}��>��j���P27�&7IJȝ��<vMa2r~�' ��9;�B������KA�������*[˜s
)?yY�|�~}]'��1M����&���6h�W�p���w��/�w�	�w�o�����Y{���w��
S�?^�Ǖ~�#"B��r[
�P�|b�~��f;��i��Q�B;~��G���P�g�Éě�}<�����o����h���s�|b��U��n������Ox"C�
��+j�
°�h���QL>�����m��� [...]
i�d��ڹ;��A�
��Ăۏ;ɴ)>D��hgm��@;�����M�
�<��Z���
X�������B";~���W�!�ޮ�u�C�}�U��n#�ޗ7��%�hs�&kSNVf�I-�#��
���'�9
-��m�_J_�W��N
��3E�n�f��
��z�790p�j�P��v2�Z$Ћ�+gR��i�m��g�����DΧwܘ7.�A�7�����>=�z;�0�\
-+�E����A�1�Ё���+��π����.��Q�(�[PU�
I�E9^�J%��G~1hlWXd��Vߗ��aMyg����2��!K�/N�?(�!V	���1XLv�������0ρ���e��
�zx�P�����ǎ8]�%.K�T���~z�u�Wl=�Ss����c�9*���u�nS�7nx�~I8��BE%%���=�+:E
H�s�TM��1
-��l%Y}�+�Vu��V1
�h��̐��>*�ȗ؋�2��)Q�C��-�'�gF��kq��ҳ-^B
�ig��:�׽v9���
�U
ǎ����
$$�ޖ��+I�a�fH�
-;�p�i�ӯ)�`�]"Qվ�@����`)��Xa����DL{��׏���z�l�0��==�ٝv��
�܇V�C2�tec�
-�Z]��ЛѾ�B�
-)�!�_0a�n(1�P�%'Kz��9��^�֊��5t�9�.DS�`��wڀ���b�g�0��R��6�G��z�
-����v��)�9Q���|�o�e)����k
t�Dad������c���
��V�����Z��5�]��� ֹP
-endstream
-endobj
-13538 0 obj <<
-/Type /FontDescriptor
-/FontName /WLMXSH+CMMIB10
-/Flags 4
-/FontBBox [-15 -250 1216 750]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle -14
-/StemV 113
-/XHeight 444
-/CharSet (/a/b/c/e/l/p/q/r/u/v/w/x)
-/FontFile 13537 0 R
->> endobj
-13539 0 obj <<
-/Length1 1358
-/Length2 6062
-/Length3 0
-/Length 6991      
-/Filter /FlateDecode
->>
-stream
-xڍwT�k�-�tA����kB/�	HoR�J �H�7�
�4��Q@��"UA�&E@���?���|��u��Z�;3{f��̞��pq
);"�`
%�����U����	���ȸ�L`(w��~2.S��7
��_U/(��AP8�.��q � @IY����( $**�7�%
P���
�� -
�Mƥ�@�{��]P�>?x
� @)�_� e���BP.P\G�;�� ����U�W��Bʊ���ha���0��Y�O���\ FPo��/��2@��CM��
`���
0F8��/( �p�9@�޸�#�
��0���GB��:���?� 
-�S�O��B0��d���	����� '�;��F����O ���ˇ�B`�{
���! ��! �c�����
�������(�
��Ꭺ(
�M��|j0/����E�
�
�@����`pG��4
}�"��0O�]�?����3�����@=P?��
L���_A�O7�Cp �8�h@�aNP�Y�7�
- at y�@��w��p�9� �Pg���87�鷍���`%�� ���'k��
pw��F,r�P���H���UT~�@!)�HB'Yq @
-���2�������@`'�O��p'@�7�������0x�l
��
�89C���������
����R�o��Y�����>����W��7���C<`��89��p����-���f�����pw���]� �pg�ȅ��¢b�0o0��h C9��V�o?��N�_S�iCq
���p����IH ^^2�dq� �[AG��/�D��.�;{0�	�E�s`@  ���#�W]//\�_��5�����P�ԁlz
-� �Z���V�-�<|g�k�,�O(p���	%q:_Mn؜סrz��럖�y�f��7�_?jI5l=
:�M6]n%��g�dC�E7+)����Jйg�i�A3~�W���4�Aэ�~/�+?FM-��Hj��U�	�ߋ�Z6�Uh�7��I�b%���88
��k�]+Y�,x3^�4�r
�p<0�����t�ɒ���fp�;Pe�����כ����Ϸ��C��2C�K���9
i����R�mO����UM)�[�^x����k~�`��SFߓΡ����&�C	y3�}d�
-��K�F\H�D���5��ZG@dϱ����8W
-4����L��ke�k�Hɍ�*��ԙB�36�
,9����
t
�Ib#\���"6Ϯ-J�<��z%E�Y9��^y�����}��=x�3~,�$���fR2$djǬ`���

V��H��P��M�4�0.
���E�	�?�?̀�oLgbl����8Y�K
̂�����hp,���(�*����:]s�ɧWgr.�G&K�@��U�d_�$��8[-�
�͙��1���#��a'�EKg�̍6��a,?�l��	8�V6tHF�&���gAsn����6Իnr��	5ι�z{��h &A:�*&�M�=(���V�-Q��x����{\��օ�
�6���M
†s
���
��������s�͚�[�e�;����_���,��>jy`4O��.�ly�q�@�ƳK6R���u2TPf�$��X�D�l�D���D�\��*^K���;��O�M��?e
)�
�婉x-�m�fBx
D4a�3��6s�ͧ��ƆAF�3�<tu��)��V�C��&��g�F����W�#?��N��
����hT1N�z슑��ے2�>�p|�/����)�_�
%��V��@tS����s�dz�	�*�g��Dj�\���E{���	V���rY#)�Ǻ���g{���GZmO|�����,ԝg���=�6�f�D������%��
�}���+�%t��_�о��U�x�9�T�ؙ�I+�tg�����R53�_��]�T��EE���՚q [...]
9���\�Dm�qGb�s/�\���W�f ��ϰCC���ߵg�%aھ�Uxj�HA<�
-�����O=�TT
BA���mS�.fgu��Ę��ɸ��XԮ�%�K/�3꾞�G<�*�F�𗎛�wȶ��R�Xۙ�=�L��4.���w*\�Ƿ�
�����$[

߭O�*9�,��*��\șV��85�0�R��3�s�\��2H�&[grf6{


d]\TB��
-JsKA�
d
-~����-c�1=�V����d�<㏈Y���-5
��m��d�8�]G�Z�%2����9?
l^�}/}Hw�N�2F}��2�6���|��lkS{0 
a5
\�Q
��IÄ�0���黛�
O�qt�T�?
,�_���Kg��s����c;�
mɚ��Q��l���r>�r��YC}��JhF�|z��N9)E2���a[AA{���]��J2,
)2 �'9j	�/܇�
���"�����M���nn����<$���Z���.��@Q����U�6�؉a�*޻S��Ri$�-x�:�rA.[��p,��.�r
1��\^�w0�K
-***��r�(�Ԃ
ۼ��-�q�+&���lx����Q<N)�2m��(S�F�ꪶ���
�m� ?K�o�o�Nߪ��^�+�
	ר�Y
�Nw����.2�iB3�ǻ�='{�u��T��Q|�+��|k�+}�>�4Z'i��|��W������ݕ��u��j0p]{,����	{Ix���}��™
�-3��އ$2[��H��y~��O��a��'25��
#�����
�k��Ji3��ف#�$ləϙ׉x#V�z��
Xoh�DW�<�]�_ t.K�}�*��
�d��+I��Ę�dK�דGe��-Y��q|�_<")��誁*�C��\�4T[��;5��I��^~l&e�;xğwC�2̽�a�Hb�#׍�BP����)e;ɰ2����W.�+�_��n���`N�����&�K=�󽜈���4{��Q��I��:��

T��7�;ۑ�R�]���H��e8M�o^���h����>{�)�I�HYo��W�	;Iw���Y�w7���4��A��}d�h�w8L�#�:�]X�_ڡ��p�ӻ�&�����&��\��=-��Q9��_�8#�OsI�![z�U`§(z�C느�-��o���C2���t5���a�Hs��6��x�dx����d�l�����i�+=�����Lok��1��jp'tw����<���|7J��׏
�r�k����B�`ж@Hh;�XȈ���
�Z���3��OpΧ��zKn����ʴ��>hq��_{��[{{͐�M�R���/ƍgՅg1e7�17!�R��ī�^�
-��80
0�
-
/P/r��-ss��V��6�n?}
�2�2H�^~E`��(�1�+��;���6>Q��ާG!��������h��T��
�5_�ۘ�-�E����>�/�X�+sK���-jO_�,�����B
�3���@��L�>S�9@��,�"��
��7���x��
�G��9�4.E�����Ģ&�V�do�.���0v�fN��w�''�(��x�&�쮫_v4�Vp$2Q���UN�y�
�J1]	�Y~��vϘ�;�I(
�F
-�1
-����O��
`±����"VB�
-���0�g�[��/z"�����8{�]_
�,�����8�ꥰ�̨i&�V �%�+�{�	�b����
�g���o�D(���M��������
-�OQJ�W� ˴�:LGvs�\�1�N���}U�G%���/��u�N|�[	f��?'d��Sp?��䫓u�/�kڍ��-d
C�����WM�������o��'��c��)��:AF-�
����r�z��6��Y�z����1\����Vo^�j��35B"�:�)Y��~ړ1�ϩ+=o�F̵��-������lV�n���{�9�t�l�<*I�V�J�q|KS1�-P�`k�
-��b
Z%��B⟬oEwא<�]}���WE��=NMk4�s{ļ�\�|?e��I^L"����d�u�`��v �d�>��ǧ��@V�*��O�
XV�^hb!�a�{��_���6
��ߺ
�"IC���ٜ�۔���)/�(NI������*����U�1�o��;`9�~C=��U��y���덲
z &�F��B�!Ջ+����(����rPq
�I
t�����2�H��i���7��i�5<�ĭ�2_< �P���g�h5��
���G���
����*G���Oc� O��G���6�9�;|p�����i��Z��x�4���Q
,�Q��JU.�jH�O�$Y{�;H�w��]���i^c����q��`rQ����D�� E�%�S߹%??���絵 X�8�T���>�Z�_>TAh+�v];;Q��6:�������z����L��*V��V߭�@'u��_
i�D7�s��ڍ?-w���
-�TX\�/^�h���Q�t
�l��rҲ+�p��-��t!��,ME^tU
�����?S���
с(�U���q��w|�r���>.7��N�[���?E�n�Q?�qh2o\�٘�KVe���!������0�^��3e۠�QN��v>��d���4k�U�"��m͞&�;.��&`�U&��8%[��)G
-�Eq��(��X`��Yw���'[�V
-i;S�?�(�i�f�t��k�TF4?ZB���IP��o�_��gE�SԵ�T�>�Y���S���}L�V�.�k9J2;�.�A<�f�M�1#y�amY���0�~yM�����&c����ʩ�8{�h
��7�G�!��E�\`��\�i�D�
�M醺���4ߪf�$�
�k�h�I`l(f��Ƹ��L
����aW xf��S��	�֏��q�(�μ��
�
	�%��
~��8N~��6�C��z貺d�C�T�4c&O��y�5��M ~����tUf
�et�r`��
�U��d5�)W6zC#Q�@����W<� �A���J�e_����n����C0��d��S��W������m����h'��g��M`�?�k_Y��䘼
�r���q�'�i���
(4�!�w����20�0�� �.����ս��ˁ<���Ĵ�
[�P��>��D�*�]F��,�����Oޖ>/1
��Ċ<c��C/���j��ʑ�UI
��w*��C~��\���l[$��k�?o�MS �L�� I�`�;;4=l
�OL6I�|�T�^h��zk��/�_{˪y�x�͈��>�x��_��]����@	��yY6�������Ac�x{�4���,�m
Fg;�߽^��4�Z��i!Mhv���$�H�~
���3�����wSD�Ҽ8&-/�fV����+0#��9n�~;$Q���%�d&���0�7ɨ
D�bf��$��tK��NJ��],�%aB��v_�a켓h���#S�xpc<�ZyE1��Ws$�"vq>Y��z�w8V��������'۵���Ut�'
�Ucg�T���{��X�G�3�4U��}	���g[�E���ц8�W�mp�?K7
=��,z!����*me�c���͇�>N��9�3���/>�WX�!k�f��0+��4�D(�[�`�;���4;��W�!��^;�^g/�?q��`�CY��Z�8P1-�+�eE�2���k>�'��p��[CI�Ӎ�7�/Z��"F#��۟2"��L�&e��
ߒ2�՛���.�b寙Or�{C���\�=���(h‘*jwy˜^U(R�
R!>U
^��Ɵ�EW���߮��]>�'|y�
-��S7!�T������O�F�^�A����ڤ��Ǐ�blA�=����
2����,�'X�>�"	�NϨ95䆺<*A�Ն����KT^^�ȿ���6�i�p�I�E03e��w�L���9^��P��n��Ӡ������R9�+Nź�s}'
-; �D=a��%Y�J�d�t��A��GѤm��(˫�z�԰
k:�]���5��"��n�1٫'�
�9�D��>S���RI���A;f�zf9�����E]2z�5야1�t���-j��ǚ�N�]�H}��2}���*1+�*8S�� {O7�0�S{F�u���~��sHd� ��C��
������cI��W� �3M�M}��
�έ�9|�ϖ�BB �j�@�g����r��:J��c���G��Ϥ���g��\���^����x��x��#3�k�Z����3MO�xC�Djȟ�'�4�5�偊�ս9�g�]/�H�5�s��+��)�1
��i)���s#�P��SӇ��j�~���i���#g�خٶ�
���g�SCi�:�z���{ʂ�r6����&��p/���]�ϼ��M��0v qi�++��	s��h�h�[�{��{Ú�6H�%�m~�	�{���
b�ȪJ�y1���{G���_QG�6Á<�L� ��H��I9m��z��f
z����l��o1&�3��?���
-��M
��
�����ؽ
�^=#��5f�]?����#|����~��I�Z9�ߕHV��>A6.��,|��g�|&E��rQ '���
��\Ϣ� 2����4��O��F�FAE��	c�Bx�hi�Q����@֢/瑱����ݹGy��O�j��MQ ;�E���1��ն�ss��AE�B
6���ٱ�0*R~=��C�����?��
-endstream
-endobj
-13540 0 obj <<
-/Type /FontDescriptor
-/FontName /UQOYSR+CMMIB7
-/Flags 4
-/FontBBox [-7 -250 1341 750]
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/ItalicAngle -14
-/StemV 63
-/XHeight 444
-/CharSet (/p)
-/FontFile 13539 0 R
->> endobj
-13541 0 obj <<
-/Length1 2091
-/Length2 16112
-/Length3 0
-/Length 17397     
-/Filter /FlateDecode
->>
-stream
-xڌ�T%z�
gۘj��ɶm�ζ���v�d��&۶mo�s������w��n_���MN��L'hbg��u�c�g��*11Y�����U,������Հ�Nv�\�2v:�D
�?�d�lR.� & ;�.FF 3##�
�
� "��& Yz���-�	�\���������#�����L��_h�t� 
-�
m����@���Ɔ� e;c
�������1wv��b`pss�7�q��s4㣦�Y8���N at GW�	�� 9C�_����*�Nɕ�L��

�����1���������HP����m�2��ˀ�wo L�L�
����,l�t646���7����5�ZX�b2���δ C[�?

���>�
]
-�
�>
��� &�0� �7='cG
{g'z'
�?(2��ˢ�&�v66@[g'�?��p�݃��Z�ڹ�z�
L-lML� a�bϠjk������C���
�
`cdd��� : ����
�W���d�C�������
`�A�ca
-����d�
-8;� }����_��0�0v�,l����!���?��h��f��=& ������^&v��
���9_	Ue5���W'$d��ce�1�1��X�/_|�7���J
-�.�_%mM� �q�h�x���T�
5�3��}�2@����0�1|0�>�?]����Q��V��$�bm����O���������o��Uvq�8
Y���������NYhb�b���Ά�!hkf��6Z8�Y�M,����ڡ�L�#���-P�����@�1����88c����cV����)Em��L�8<f6v��������?����BM���6��������A�`j���D� 
"@kg�?�	
�6@�$�_ 
�B
 �Ї�������I5u�G�	`0�/b��1�����O��4&��q��س�?��	�z�����
+����������l,@���Co�����&f����� 
����A�_�?�����G��! [...]
a�(�-�G9N@��

�6 at W�$A�>^��|L'��l���$>�8�����X���V��
~����1x��������W��9
cǏ�8��t}\��?O@�;�nq�Θ;ز6���Zߍnw�w�|W=���kѱ��		:��*3p��N0i�
ee[��V`���븹:�%A�׳��~����/��	����c������T��_
�����AK��:�p )|Gp�w��[�<:���W�.
�R:E��M'�h�<�(k�ʙ� �3څ;����4Z��;�T

��IK���s���j�
-�S.��-��$���A���Wq�J߂{3OQ"m�
-

-�sF��R�mcw���b;�Nn ��}'���CߑD
��~$�s
����Th��N���2�����w�
����S��s����P�}hJ��`��v��z/�'37�Ϣ��+�\)��Σ`
�@I
�%�$�H�
��K�'<��|FF-�nБOgl�ޗ�>�r�3���nh�A�A�r�F�S..�q�YD
2C��2D;���P*r��g�J.6*��EJ<�d��.��
-X%Żw�+#t=,9П�U���e��H�sI7zP0 ��ygr�uWV&��yh��xQ�.4���%8�k��N��|��`$X���l7�驊�+�Mc
��
-���hG�m��9e��l��!O����HA7n�� ���F��6�*�L��h�̽epR���F��7<!|e��爛 ��S���Ó�d^�:E�=M n�oi��q�������T�"�L#��T��>�d���OF �H��X1��N$ �%��k24�s	ٖ[�YOD1M��N:�k�<!e�:
��d�"��G�{/�I9S��y���e���;U�s����p2� �5���7�~���LC4a�P#a@�yf)1jc�/��XD��jP)Q7�&�����!{j���@��KA(���@Ų����MtOt
��I��'\G2�
!�͛����%Ƹ]*��yW��)�폥��O�6�d21�xä���:�9�k|\�\4�X�
^�8􇩯�����5���|��?�
���~�����4Kp��<� ����͞����(��t��*
i��U'�\Q;9�s�C8��kLH���p��Ҳ�*��J���/����g�
fߞq$
�:Aٕ�ԣl�&c�H���:N��C7 �1�a0����
<1KeJS�~E�h���[|H��0\XKH<�
���c�
-)B�2��Y�qZ-��]R�����𩼉.{C��x8:�Џ�+=2O�Ln�hT�v/5��F�b�+[�܃����6��9���B��.IJ�w��c���=?����q���7u.�r�+(�K���{n�m�T����Z�rM�t��2�ǖ����
-ԙ݉8
�eL�*���}w���
�
-��<�3�wj��y>��>N�����T��
�t�\�dֵ+�^T��K�#�
�	ٜ�Aas�3!�,$���
x��v,����qdlٔ��(J莧����=�9�px(�w�F^[%_����v�� H�L�2�Ƴ6����
$�'G6=�곡8�6+F䌋����
ҏ�{��Lo�����D������d�xJ����K����gYsWz
w�S��,h@ڊAœ�D���sx)-�ţv��`S��_�	��I{�����M�����}�kC�ؑ=xg�/˭�k�7t�&��g:�c��$Jl`� $M�6F������z]��)o�
�&��f]�XF�%�W	�XP�Q�䳯F

��<�l�K�w
�Vt���ՄU��K,���M!���Mb����G_{LC-
���F1�
-QE���5(�8Do�����g��Ԕ�u�̀��
�
�x?�/`��΂'��`�:鉫:��_�3�ѧU�D��t�?
-�*F�����?��k�t6�B��@M�{!�u4|	�R�^>{Â����l�0�;4�,�W�wC�Dl�IZ�A%��95�]- ښ�ڬ�3k�h�"j���t6yvXg��ѐU�	�z�Pƹ�V�T4R �wҳ:��d�a���	]�c?�k�L�'�n4�E�#|D��� W9��HY�/�d�2o	�
f�����
�aR�1b��W<Ұ��
-���т�8C��	~kS��)��4w��(�@ԗ&v�(:�3H�p1�,`-�\`����8�{<%
-fsX@�<说sݛ�V��]*J����Y(/0�%��K���x8�DFjW�{I҈	}wʸi���仹�in��魲�V��
$`�}��_iN��߼8�"D�nD�<c2X�p��v�9�^$y��㾠��
��$���U���>����:7����$�>~6s��0{����wW�_B��"�%���I)�w��D�"�K�[�-�w��J�iۤ)\!����\j"@z_�2a%6)]
�;����h&�:@�
-
-~��uD!(��f��[y��)h|�������¼��^�`�Rp��BN�z�DaQ�����m�=䘊	cbv
-m=[��A~d��m$�,,��
-��'ZQN�a�����'�K�\r�'Nӷ���DP�A�z�!̬nh%֞�{d3����n�!}'�F�?vI�
sЇFջ?���2x�~S��
L�QL���\�b��uu�'�3��!k��L��S�E�KL
�R�܉�cA�ˀ�m/���Ч�f�BA���f���
ܘ������o��A
���(k��@�Ɛ%7���'gvhS�h�5��B��=Ԥ�Y6�jP龤�p�YOc�շM���Â��J����
�H����#��__�г�0Z�=��:5����
�l���������u.��Ҳ��5�)����F���)	�����Vk
�s�/ޒ�!��
�

#�8�9xbaa�H/lczu?���s�=Fl[�
#�3'�T2�I�����

-
��hM����;u
O�=�
4�c��
ŮAD���B��Ca9�7���3�0P`G׭��a���?�9pg�m���p�����`
���j
-x(��^�䀥U<Z�	�
�'�%g�3>
4F�%"��?����j��>(���K��bzA���q/��a�h���ݰ-^��=lJ�L�iC=0%�����=p���1��%�z]�� ~�`FuS⎩H��̧]��1� ����E�DƩˎA�d�QImQ��:xh�u�^
)ӣ$�G�$dh�����~�fW-�lQ����2�y4z�
-�z|��g������<b�5�ijc
-�O��;s��dP�E��#Β���~�􋚟.l1�
�Q�oNlW�`��_��� �dm�#S�!�װ��C��0��}���b��
�'N�����.؁=
�+DUqMp|�ֿ��B�ʾ�MSw�6d=�\1DqC+�R"�5�r�8CH�X
-
a���
�b�
k�\Vt �.�O�R�l��F���u��]�q	p��fJ������9���8L��DNx2	+�t|�����K
Sf
�g)�J�]
-N�����'�!l*�2��˱IUFxSw//�FH$Wlh5OW��D�������)��PL'k&�
�<πJ��h�O��J��V5�>g�
--�H���+C1�H��[P͑F�Ce�K5�v}�
�<
� �
-��%�܄�Q�t!J&�5A�"C���W�'���
2��೺�E$,þ�l;a:b��$���w�-M�UU�[�T.Y�pS$W���/�W_c�M'w�<3
���oK�(KP$�C�ƟA ]mA8���?�l�Ք��^V{x�ns]N�`d�p��L4�}����`�ò��q<\ؿM"^��Z�Oi*�4	=C������rW�ؤ�S��?3On9�O,�~
)/�38M����}V;v��%�䚇T��B
-G�]��L)l�������J��t���R �'
6ݰ�Ο#M��8"���N
�N��*����t�`~�V��rـ��̕�Ҡ�R�:��o��x��%�vZ�k��+�;�hU�9�
|������AV�Yƶ��B���
-��U��u�
����C7
[��/���l��C�	�*mh�s.����Un�|H�2U�>P>�@L���a
-����`��N�+|��3(;$CBK�<F��u��q�s[gcX(ʃ�_Ne�����R�x���C*��n�%���b{^B`%6�t<�ժI��8��Օҿ߆
�rTy�K��Ȣ��
����s�?+zm����]���3���
-�������mD�l]�m�~�a��
��󱇢�3-5�4'#x*��8�}4XЛj���f+��w�?��#��p.X�b*���j�R�ߵ��}�6y~2���rH r{��dB�T �
-HtFE8�+��Š�j1,�l1��Ԟ)ry�Q��ᔎ�
F�Q�.1� �q3Lh���s��w���!I���j��&ST*�a\��mN�A�)���:���K3���\�k�|�g<�7���U���"�����A 
����sn%��.�Oo�
��!�c����"�p 1B�j,�`�}D4�G�^'�!!>B��ŕ�a06���P�����]�^?w�s�H�]�0��TF��H^HU��Z%�בICh�|M�
�D�t2�?��ϥ
� u��]���V:������y��9
s�Uqh�X��4�f��}-8ێ6j�H��s����l�p':֥N,w2��]��c���|��s+؀��;+��nW,k�D������t��	�]mf���/�}A|������4	��l���
-�/$�^"�J<
����7�N����V��7�?J2'����_�i�
5DO��Q�6�;&�I>K-+A�X�$���t yn��H at 1�(x �@S����
��m�\�.�k�2��&�W�e�J��wֱ��}�
�qʻ���G?1l5q�9Z�},'�r��
=����n��;P�o��叏Z���"%�,�@���>Kj
us�
��p����ロ��S5�Y
d��"aLj�>���xS�W���
->ܐ$ӭ�wӤcq*��Hb�O:�x��z3	�x���i�
�GJ ��@D	��w��׉T�,E�#nwҦh"�k"��RK#��e�&g�8h��<���LG���.\w��f�V>���z]�Gp6�v���	1nZ9�bJt���9�N�+��ћ	�~�S��s�}�wxhe��U��r�_��sPm���b"��1��
?U����!'�Cl�|^i�õ�D1'�Ao���5ᣔ ���]3w,�S:p

Χoo��l1�b���QA��ޑ����a��Ȫs(��:Di��+w|/\�j��`�|����%}���uH�0a�YT�<�.]v�2M�G�Cn֋��Ec�9�_T
2�ܨ+/��#�1
f�6L,I
��V0�͡
��
2[������ſ�l�Tx+N���>���<��C}~����)�Gp����ڴu	����](�3�����i�4i\Hx���Y��EX��
-��d	����jعݒi�/Cp��-��c��
wDʵ�V����.d<Im-66.�%C1�N{e�G�S��D��2�1�
�F
�ܯ!e6�Ї�Ο�Q��$�s=�?�T[Ww�J�{a���j?���A�?
PcF|K��Ð#v����,�)��vL�4��7`����{�
[_!��FdJ��}

��Ý_U/P�U�
�,�
���Yy��915"zμ0!�����TsG}��VlMT6n^7}@��V��%39�b�ޖ�
���&����I�ߏ~ҥ~/�B{��`�'�#";NDŽQU/[�ave�k^��S����*�VE{�9%�{y��Wuy�Rz���
-<����A=�J�}i���Fnr畑��_
�{�4MꝈ�M�y �c�1	!R�iF8"_�GxQ��R4��)�V̎�
��G�^�P�F	Eۭ]��
�$sm,a
-D؆�
�
ﷷk�a�/�8�pO�w3�	,S����wHM4n��)H�Oz3ƍ6���P	��$u'X�'
*{�~�%
6$�A�Q�L�R��O&lu���	��6w	�XA���.�����Tr�[�B��Ly�:&uH�EV��`c/C��մ��>o���vs���,���}D<o㜋��
��nI�k�Jr�o�X�5Id���r�4�B��Z�Ym�)�Q'M 
�F��7xontL��1{
��"�f��[#��m�[�U�t�@���=��
-�\�c�L���
Dvl�Md ��I�.
S�z/�8,ꥈ_s�9�])f���pd U	=Q���"�~�+�:+���w<�M����b��W�g�3�2㟁�Sjʾ��g|{�*��:m�HY���2"S<P�O2�*��ja��YK�[��nУ�5g���
d�
l
v4���!�=6+�(Aw0�f����qt�xο�+aWc]��Y�*���1�b��<`��ǜd�i���
�;D�*���c1@�?m��1Ii�a
���~���'�Z�+0�hH���.UZɡ�l�TA�1A�
y�1|���
���#�uu_�ȩ>��b���>c�C��\�A����g�K��P�q�
�{
Hqm;��9B�k�@���/nߥ
���{�t�X�����^8'L�
aA gx=�2��7���);���rb�$A6ſt��KP�GZCA<�����%�s ��v?��ޗ}��aB8x$��K��~�3c
-
B�ΤN��t�F��90�J������-�XB�gY �{f��7^�H0��j�4BGm?�Ri�$��r��'Ȅ�D;���Й�U�]�y7����ZZ�
f����7��v��!�}8������§��H��	����'Q��!��$e�3з]f>C
�8�X;r,Ù̀m�go
DV��Q�ZO�v�/�G8�B3Ǜ�|����Wn\m�)�k��g4�X� gx�
<o{sK^St
Fih|:��ړ��I�P�fE��
ls����
�g����y��%� �AX
��~��%���r�'Ɏ�Ku�Q�a�@e��6�S�� E1�p_��z��<�7|�>aS�t_%[�(V�kj�pA
�H	����}��>����<F]��y��9�
-ߩM�
h�d)F�m���<a\�f_<Uފ4@}^�|�*�f���/��-��>k�S؎�O���a-i�j	��DI/5��2s�Mq����
���_��wYg>�}ur.�`�ui\��QM��]���Ї)c��R��]X�!*b�~��7�Z�M3��Pv�z�s�f�u �{�:Ǐ��$�5�6(��!woXK������|~�i�+�}]�[�S�|
.�F�,�U:Ne�4��k��	�m�Y�wv��ߓ�~�*{Ɲ
kqs7UT,�-U�;�$h\`_�,�kj���D�����;�.BD#ݧ��D�Ҷx�x��y9�f���
fT���Y��dK%�(���_�1v[Aۿ�q�g�:픴��wg��z_xZ�6�uަ`�0�ǃ���7��X��@
�������mb���-�PZ��
�\�U�hWs��MJ����N�
J����LK�86mg4K{]PN�Ak���q����d� �����
�|y������\�)RO4�k5X�֐w����/������6m�Dl�Z����
@���J �~XZ<w��r%lǩ/
R� O����kK��pB�]�%���龍X��x���Z s2��
Y㠖�ħ�$��Ӂq�M�ܫ�_~?42�4
�
�O���#Ԏ�_B$_3�
-I^(���ߔ_�b
L@#ľ��rEᎇ9.[G3?�ޣyn�0���+
�����B|�������?1�m1m;�('D��E�
\��Ah��
f��m*A�5vǘh�ouc�|��!Ξܐ�i�i�m�:7�|12|<Ɗ7Hw�*�
b���8�}8���ż�<E1�����_a�6K�vA�=+"
�#Ƞ� E��t{��E��+�ܱ��YK?jG��/9\.X��$�5�qp{���
�e[(/8�h
yދ����p���7پU�v�ݞ1#�=�wc
-Ҕ�E��
�^v������E�"��
��d�CN z4�o
�X���1��3���
�ȅ)��1x���$�
�K$����/UE�̻���
�M�g�y�8���1�J�vw/
�z'+*ȁ��������|J���f����&H)m�2ꪾ&{�p��J����
�X�����S8Ґc����W;�2�3{����4�"�O�����4^��f�b��o��A8~�������d���j�K�E
-�l��O��%H
հ�o��������J�)�
�vRjL�ya�N��������lhI]a�羨9=O^l$�?�5����5X�#@kjr1�N�cs�Ғ��m�I��c�q�����J���>
k�[v���pz�j��
�G"Kp9����A*Ҽ�W�@�cڕ���*�U~���j���6��ZJ[ h�Q�9D��66��������Kt}���Iz`�cYC�PYTwO���FG���
6ي0
+���SU�ws���Ԫy�
�vw
-b���O�5���@%?x�����M’��$�"Xz��ήa���wY���l�s�
�u�y< �����TB(:~�=|��*EMo��m�=��	"��y,w%IWB|��b��~r$�*m�^���BUS�,m��[���aj�8�o���h�识��gs�8>sp��7��a(87�׶��
�+q�w.��ض�0
�9}ݒ���͉.�R��s8�R��*
L����d8�r7��W����0�%��Ծ͜�Qt-��<^�F;�W�~�8�|�� I��O�(�p�\c�ZF+s���jB��R8�KMfN�V����Y~_x�n/Љ2�ne��x=_
-����N�^H��<D
x
0�ES����Ya{,���
ڝ�MQ�u/�\=�P��f�/!F�窯�t��N�� P�F%n̽Ǻ�}���]���4 �$C
+�[vV�x����6�S��,;�
-;Mu���%4�7ߎ��1(z8z���[(̃�-6YI-��<D��T�IF��`��?�T��I.]�ul���.�P
-*�T
���s�7������L!�Ӷ
���M�4�_�]��n��$KU���s>��!��V��@��_,B�#VR�8n��6ߡPI:
-�2K�K�|!AQj�g�e�����5��jh$���9���D�g�4��+W�&
甯�ke�E��n��I9��cwuZ�lq�:���
y Fb-(�z������I�����r�Ӑ�4�j�k����

�5��^ �%����
�>*"t�~�j�,#ލ�­v��ۆI��,8��,���
-���0���k 2�rπF���������]�m�L�ܵ�[��2���W�j�j���E�mv�n"rdʋ���س�6�[!�ok���mc
/��Z
o"*0�%8��*U�������5������E�/>M̖V��[�{^��g�J�la��T+�Ҿ9HH�ܟ�6�L�g�r�V
E?�;�]�9
�������?
U���T�<
W����߇
){i��CZ�|CC��0V0����d�i��
��В:Ҍw��x��r0��6B4a$좔��p�VS���d�ٽ�.X
rW�mI
g�\ٓ���7+"E����9%
�
Sc�c'g�ϲ]����W�ep4��
�G]{���x�~�hm��
�RNZΌv���r��w����*�˔%*i��o~��a���.BY��e.h���T�ˀ.
8,�&�YB��=�ԑ�n�K�b6�=�Z]�|NAY���l�E0�*T�Z�\�αA
��J�0��?k8�zQa��"�� 9��Sέ{d�&Ssl�w5��V�eui_ߐ��:<��k~V;��AXŊ^�P�"�
�>
���%,JI_�"�U`>��B��¡|���׹D7�&6��
.t��+�
%���1
5�4G&����_J2��]���T'o�:�M
��g�GjU��0
Ɨo��h?�;%�i�.FT���
��	OKo��o��BU�o�����������ˡM�uP
�x��>	�3܄�J�9����=r$KڭV�u�S6�c!��-����;�1
�Vʷ��[�py�4������t�S�^����6�rRS�h������s����
���{<�aa��m����P�VM
R���o��vp6��
-
�n+�6�$���`[��q����o�2�6e�#%E}k���
�}�*=W�?*� 6��%
|q��*��<^.��J�e�~��A���^q�WZC�u��x�f�4�)���]��Yq�ζ�lf���{�*m/�
-������,������
>[�[<B�s�?G��ꢫ�u�
-v��޼�
�> d%��h.��N�z�b�怤�'��R�ڸ
�̾��\J@�zu�J�v��<�M3(�ڍa�<�h{�!�z�V�Fl�5�_0*B��(*
-���У�tk�$��H�h��Z�"2�2��C܌��<"h`��V\
?3&�B��/�9�7�8W��P?K�do�
-�A�\�
�F�3�v	��F�O��������7C�	���I� ������%
�?nhW3ᚦ���V3�`$u���:e�4Eˉ�!���
-vC5F�=�c��� �b��W�̈́Т�{F����KQ�KyR��1�A�l?�g����4K�@�:uĚ�~!/3��1df���Q�ii�u�	E#�La��.���RZ���g�Se��ߊM���Ÿ���4���s
ޖ�'�4�rC<�?���3�nv�^z��
�s"B��
W�йPw~Az����N{���:aBƤ��
���
II\���~cp�KfH�{+ӕT���Ӣiy��l����d+���&�*-[�ШyW�_
9oAЅ��L��
-'Q!2ϖy[_�ƪ�+:;�a��)�h]������
�	X�ֈ�D��A<"�j�x	��ؗE��e�P*ٞ��^�0���ێC=u� ��q�[��s8Ѳ�G}����4��a����tHP��j޺q�e���3n
�:���c��
[��Lg���a҉��X��z�&Q:��!
�N��dC���.	��W���

;ɽ�E��=�������;i�t��������8r�WA'p$�KrM7��7�/
e@Qy��t�$�E���|{&"1/��C��pS���

7ᇋ�"C�'�#\ ��P��V�;��F��f�kUͯ,UG�()�b&nm�IPOΐ�	���D�}��#��=ѻv�%9���M��n2l�Ⱦu ��xOy�w5+B]���yns�8���>w�da�)��w��:����`�`�BaI>�|ĭ�ŭ����yw|�a-�B�
-�|�<�:���5���
V�����Ϯu연����HND���,�F��j�t@�+ź����YUur�&6a
G�it�����
ZD{+1an:]���:��
�I��U����
^;F;Q��\<uPuC��v
�A�����P��~���J�{w>�` o�6�75;h�J�{2L\����A_�~�#�
�S�z���Z�y��T��
;�;g��5
-nğ�2�
�܂6z0�xT��@DB�3{�B�
	�i�n�

�
b
ױ�~�f���*.u?�v
-] ������%4՜�׫�!�\D!X�mM���;����E-�9Yq�	����$��8RƧ֨N1.��r��uĎi!ao^U����

A�-�]����mD`4��yv�Y]UK}��Y���+���ۓ��`�s'��
-F
gD��ڤ
��/3N���>�/��u�#9(G���7�G�.���"���ߝ,=
R�CƮ3���H�FK��$ѲGl=.4D��u�`������=�~� �A�e���\_�
-5Ζ�S/;�f�d��
�
--'A�i#S�3�:������z��w�r'S
-b@�R|\�T#�g�G�9���,��;�Fe�aXya�?�JeWQ��Y�gB7��"T�O�q;�+��ЎPo#GJE~�G�?t�
l��h�!�)ܵ��4��80���ҀO�Jp�G;���g�y4간O\`�
[�oo\s����@k��d��x��Ő҈�
b+aHy�KI�1,d at 3�n� ��O��/t���%垓Q�d���[e%E�
��k���:��ب�-�0�˥�n�9b+��^���<'��;1�S2�r���.���*E��E�.��k�����m,I~�+x�����
-y�8��MwV�@��O�m�3�ls�<]��)ϡ!I�(3�Զ��N5t���|x9��4kh9R��7}I���lT�}{Y��x~Q7n��<7Cp0�w-��h���S�ų�K��
Z�i >��i��nY?y���˸(v����[D�A�a�����
-�~���O`|�B8
�2�
�D�j
�8h��8!���E��<�)�p��&�9:ݝ8�� -�|�`k	�@�]�R�����*�]B����kk�Eʏ�Q��s!:z�cE-�R�̗]��
<�ן�7�{xU�����]+�I�-�'b8F�`���
dn��\��
ܷ(���Z>��x��IB�RXs�ST7ۈ�)?&��0%m�|��z�A8�;?m@���I?~- ��I�)�bD>�-�;x�a:ʹ�0i�5�R
�����K�&�2���9���-�j6��e��}���(i�� cR7֘�r�Ǧ4z���9Â��ц�#q�`( �,�S3z����__��
C D�Q'���q�B�I�
��P@��nNmv�,�,��72��(��>�/F���9�B�w�6Ey�1�u0�S��ndv�T��^*��My�t���
l���F/��~hd�ҷ7
�9�e�u���p�zĤ���7�h�W��F
-l"n7��&��&��]+}~K�z��X6{�"?�'�˔��%'^��n:ˠ�Ddԣ�a�ߛ��
���yRYE3��TC�d
-�
-�
�\	<�򵻲
�)#৓�=7��$��p�c8��'?a`���.~Z�YM_��Ǔ��U��`sT݋X�W
-�v
B���T��-��~�_K�C�qQm �o��J�
�l_4-�6��&�;��	��3���є]�j�
k߼$u�!��Y�s��}:{?9�V��z*����9�#lH��q4�b)��g
7����xJ����m��r/�
T*OW�D|=@4�3�=�PAE�A��+<<
�ɬh�i��KY�=��+�D��)[����A U���#��Ϙ���!�&������LՎ�G��\<��2�k�btKH�Վ�Ո=mM
���^�>j��)���8����5
ߓ���>iW@���N�Aw���(ۏw��z�Q
Q»�RC����
�`N�s_�%�,$��?��y=K�v�5�햪2}�u����oLɓ�a+��������6����Vr�׬Z�{���Πtj�D�`�4轵����V��܃f��%^J����4�y��ߋ��
��ϴ�X��.�
J]m���ͨ &�~�:�3�cN��[m�T
�_
�aDJ�]������Z�h��b|9VU�vU8Ӕ���7�~�/�B����:�fTR���jFu��r��x
ufz��b��F=�38j*��$��
u�܍�E�_ʗp����� �,�պZ(����u��
/���Y��U!�V̾��,�Mq
��J�e@��˹ .��9�jR��HO�.����]���3�Wp>
-�.{�{
��$�4T01���/�]�o�-�%�}������3C����q�U�k�ؕ�1t�����DG�+do,�x�h�c�5ЫSϰ�tKq(s��p�f!��s�=�箏��1�Z[K��94x�u|a�r�#
nD���%R@����_�C�r�<LRnv�F
]�$yn���(Q�6�������l�yԱrf�>�
Ɩ
1�zy�#�
�d�x�@It
��
V
,�f���Dž�2|7.PUX�[��eɷ����YҜ��:x�t���	�&�~��9�P��nީ�GN�Bi���Ѵ�o�]:�Iv�T��
�B�-�U��[���@��
�hr
e��k~���!
bЯv\���L����-K7��3d~̯ʌP*��#q�qr�����Z
�?CzGw��
N
sGw���
w�GW�A ��:��[�O@�SK`�5��Qr�$��Q~�hH
-bU>3f�Y/f�%i1m\�/0
�w>̡t
��r�:4�l��%����7��ք��9��g���xC
-vl����د�kҁ`X�QN�
��9vjH���1Y�V����pYT������iI�S[L�1�5��w�w%ᔏ�䤖�
-���j�wɓ��F@ ���
3S��
C��
3�')G9+����9�ȥ��G0��P��T8����I���SD|!uMI{kI�z���h4n����uXZ���R�z�p�ҥ���}�{�ȮY�t/��
}��b!���"/�+
�R������/9a�M��Mu����{4�I4?H
�x�"_�ldB[�壄���B����
�5؞@gڗ�0V�s
U�G;��
���q�B��vg)����@+�W�d
N?�w(jn)� �_�[
�]��V6�C�
r7�X�-�a;g�����[b�j��|���:���9sS��W���/���V�<��a��
˽��t��+��տ��^�9�>=�^���Y��;{]�y���=)[��!�f�4X�ѓ���I�=ʎ�Q����a
ֆ1{CI}��}��h������.��_%ň�}�˜B��D �V��5� ��i��:	�~^��'�9؍i=��FC�!^��n:qϻ��
w��c
����E

�s�̖�?F����)l��j_���f�ŏ!ԗ��ř3u}̹��Ǽ���`�G� �(u&?Sy^uM����S�{�̥�O���՝��}gHQxj�pǚ��],��*�E�
-���C�͉�.�(0��e@�}��Tg��;�h}/4k��qg&K��y
-S��Z?��x=�?�7�aQ�I�΁P�`(��� 1���g��^5]�F9��oW���H�ߎ�
�,_'a��S��
��wk��y��k{ ����V�$�#ۢ�_f�KIt�� �d��r���$r�_T�ه�c@��4vs-�}׮�����H��~p�޲i<W*��2�I~�
-\�O

6�`��/���i
ƣr����2���c�e0o��/��Y	I�B���yStz��F{�]bӦ*Q�tK�;�G4�����Б�{>֯�p�
��QVcCkT=3���Z�}�d	�A�澛��vS�<.&��i�� ���L�0��=���P	o��k���
�ls��~Y"m�	��%�Om��s7e�gOq}��'a����
k��
��
V��h���DK�
#Y�Jr����8|E��-��2�L|T�s���qW����&��g0������sqa�pCNa�{8�����<�
��rj�oo9�����Y�Y��X�N�3�{���y���A�a�f�^n<��H٨��-_�#��\īٰi��D��yF4�sUVg��}_���놝�<#i�]�
�#
��'�q�j�Q���$��uLnT��^�mb��&�o�]�6Kx0��\n杯4�:�a�	�S0.[�Ax�+�=���d�N�ɭ��|���	�������W���8O�jB��XE!X��U�M����:�
�%���5sƷ����6�W�-��^#	��
�diFZxȨ��]f�Ҿ�<̓�&q�E+�9�~r�K!��cQ"��7m���4���[�%��'s���/�w��V5�Q�]���`��v�N��n������ʒ�+���$�
���t�AU�b 1p?�6e

bn`)H���7�����I�E�)�
�r�
�"|�=s��o%��.,�%�R+�v��xh�3���$cN���D|&>�~YO�YZuȽb�R��ebu�y����V�7�ƂL,���dTR�P�-�2���k"k���{�J.�q��|���y��u��}=l�9 ٖ��v}�~�����
��n
]o� �OX�6�a~N-<c
p at p��1U
����f1x
-��,.����m
OM�P�H�?@�<��â�b؍����n�-]J^F�r��)��rF�g�_;�Gj��[�f|$Q���SƲ\!��N]�(�#-��p� q֍_�G�y<|R�U+9D���)W��`��<O#�J���h�V�OQ��@�RK�|
-�>�=��^�Pi~?����d�\���� �%2f�o����
:~���ԩ��t�
�����2��Ю����<�aZW��9ªބ�v�
-�L���k��	u<B?�r'�#�,ѩ��4��L,�H�R?0�
 ke�_�����
��f��]D�ؔ~�n��ϯ��6�y)���e�x��ђ(.X�\�Fk�
-endstream
-endobj
-13542 0 obj <<
-/Type /FontDescriptor
-/FontName /HUPSVD+CMR10
-/Flags 4
-/FontBBox [-40 -250 1009 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/Delta/Omega/a/b/bracketleft/c/colon/d/e/eight/equal/ffi/fi/five/four/g/h/i/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/plus/r/s/semicolon/seven/six/t/three/two/u/v/w/x/zero)
-/FontFile 13541 0 R
->> endobj
-13543 0 obj <<
-/Length1 1427
-/Length2 6368
-/Length3 0
-/Length 7335      
-/Filter /FlateDecode
->>
-stream
-xڍWT\���;���[BBJ�����ah�T�K钔n�S�����A�~������[�s�>qϾg��6&m=^y[�5H
-��
-�%�4uE @�(��Ʀ�;��@��
A0w0"���` +8S��#�4����3@@  *) &	�@��
�0I���'���P�B@�xl���>0��
y�_K �
@@BB��w8@��XA �Vp�
�D+g�
�
���+��
�*������g�����?��x�� ]�;�	���
xb��M��
�� v�փ����`  pۀ �� �-@�
�S� h�� 8k�����j |��3�W"0�w���
���
-������ ���������r�rv�"�<���V�H�߅[��u VH~�s���]��|�`�_
��A^����������O
� o݇�w[� P/��k;0���[W~����������"@ PL\
 r��m
�%��q�6
-������B]vH
-� �
����n�	�a
� ��n��O@ `
���A�`�?ّ0��=��0�7���  �����
�-[(��������x���������&�7��W �"�
-�!���7����F�����'�*�
-����������&8�
.��OxE���G��@�
���[��C�7������?�Q�pv�m��e�V+��ϟv��=�ȉЄ"��OA
�&����VU�r2�!��_"�]�
���m
��_=@�wC@�Pw�g�l�?l�Y�qB>%��N�6�����#� 6P�_3'("
-����|�G�D ~��y��5���#C Hz ;(
�W?Ł ~�_���t���:{����}A0�o�_��x�`���-d��� �7�oaj#�X�vU-O�Ż=.�m��+.^�X��;��*+d
v!�:�C����y.�x��o��=vxK�N���D���V���T���u}
��x���ߺ�;�7�v���y�i�_y��x���-������R%����l�7� �4�x��u�

3����wo���Odo&~�WK��
8�*�3^����]��t�e�5�a@?'�d�S�IS���+)\��n�.����'}���oG�uX7����st�C�sn* �����srMi#��Y����"�
^#�b��SX�2՝e�K:�)�/� Gg�K��K��
������M��8�Lhf�fϿ�إ�;�7� Bw�=M"h���w�~~�z����i˳�"N�L^����
Q�[Z������f���{b
���J�m#��,z]Bg�Y5�W��������AX
b����)�O���8� **D�
��-s�f��6;�3��J'&Nł���l�^�a�>u�T���P�[Q��TN
R��q��{I���Qヘ�yC9�����,)y?�v�,�Tb�y*��칀���WF�[DR��
`Q2��
/����|�W�����?��~�<ָ����BzZdF7M�����c��.���9��k�R����ŭI��8o�Ҋ��0�[���=
0"�

HgQ"�'WQ�+1��|�? r���fYK��(S�,�Cwq�,aD�(����$�v~����eX9���:~%�!ӓ=+�4u�f�TZ.��Ƀ�ۖs#��{�8�'��˧�yt�
-G;��荒lP�����
"#'��
��;3ɑG�)~�$��%�3
�[�Z�3����=*�T��yro3z��e.Qv��p�uO���f��_GIA��&��(��5�FZ�j�-����BR�-����uv�9��_��h��4��9ܞ?��ԏg�;$���e�8W�4xjh-9^6?��/#�yc_���=��>�t�.Th2�Xc�{
{��}�]�P���kޢ���ζ
�X�����v����G_�z��V�VUV����ug�6�I|5�=r�
m��Rx4|H>>2�
�ӲI��ÑqIa�Dh�Rk���X�k��F���Dp��nj�B��?���
c"�c��$��Ӕ4%�h��E"J/�9y�������X��Q�xTD�~g���0����Ƽ����:���Eesy$�t��d�/�
X�EC��9Wt�0x�.vw��>+ӥ
� [_rh?`��L���\1��V���
���B�i����8A�Ib[��	©�+�Cn����N�*V��sT��3��m��%.\�˙X���vՎ�Z���^��T����X�,���A���xlaVi\�
Y����nj��ץ6��8"�u'�����*��i$'LC�
�nQ�GO�ܰ;%q�!�������N��
�c
F�
-���ȟJi|��ݖ�_�d'Զc��!���
�z<
�$
{���$X��&����3�a;�a��6eyi�$��j�
fD,ꘚE�i�8��;q5��T����D]���8��v�97��bbF����x���)��ۗ�f-�)���bsi���޶�
4���V�Icit	�l���9I3V��4k~68�c����і�)�ʾksc��
-U`,:�%��D��8V���ӣPz��
-�G��O�1_ڪ4�6ǂ;⁧�����;�M	�ΙRT��p�
-����*PS�c�~� ��єCs�ڊH'욟~�ʛ��AW¶C�/�򐴡
-������R\q�M��^�n2�r�m�k��|IY��Z����4�=L&4�T,��ɓ����+�:Y�s�/�2%�e���1����~*�Ǫ-e
-��}�D=uM����ǂ�O��+��B��}�YBi�{�,CRh�T���\�1�E��,��̊ek3�Ꞃ�?��|�LDb�e@���"6߳+��k�I2�1T�6bɏ�	��z75�j��
��Z����ј
/���'�o�nF����r`�LI'r���N���:��Qw�{~m1�|v��OʹZ!Sש}�=�a'-rB5��d�j�����f��|��ŝ���ʆ�D&�樦�.�ר �
���mr2\
�����4���ļ�Z��a�5��<DR����(�,^K�����eD{k���
:c.�]}���R�����
�w���T������)(t�r|8��̢��w%9>�5a�*�f�`K�*C�
�`_F����*�q�Vi���
��8���!S{p�˥q:��XYԔ&eI�A!�K93��zO2L���3
�y6����֬�8���l�q��D�A���"�r4�5unw ��pc��̳�'���i��`HPn
���v���.��̤�U~?q}3�&�i0�v{:Tb<w��R����M3 ��\T�M
�k��FY�'�>�|<�ɰ�X��#&�~ɕ�.D+BP|�f��
��q_��[�F�
-�ĕ#j����缧rķ;�&�t�<�t�11e���
ʣ�4�G�I��g916�S��Cߝ�����~�T�?��^�u��}%}��/aĺt�9��z&�U9~(������-&�%� ��j#�e� �G���I���緟�KS+�eJ�^����Q/PY

w�*Y�
Ĩ��~���'庒zM�ͭ^���
�u������;���'���3�͹En�34Ԩi�6Sj̇�6��ԟ5Ҷ*H���1q����zw�K>
	�����E,V

W乔�&K"
�
S�;R�[������U��5ip���`��f���:�$�
�Z~%�>�)�}��A�P�!1�ul��
3���x.Z��+�1�=O�v���6����NxY�6	��(��6i6�9�O�,1��`('bc�'y̐�y�j�
-Pt§
-aX����O �F��#����uy���!�j��oKH5I��!#�Ӛ
-�%%B�K��s3�{W���}��iz���^��� S�c�黱]��s9��ģWޚo�*��TRTMu��/َɪã"�
��z
і
-ڻ��%� Ю ۙ׭(b��t���6x��t
��m�v�0Nݭ���n�0�č/�aqRe4��9���H)#���囆��s��
E��c���w
{���]�)��B�d.୯
aS뒀������lH��m�:�i�� �܃
?}j�y��-�#�|K���.MB����{t��D5�]�[��x�Nn� )
�0{Iqz737��-k\.��ɘ[�l�mL��@����Ӹ&E�X��D�Qxu�-��A
%0i��)_�j�N$,
Y��/�bz���n2��)�n��ܺZ���
��E���9r�Zޠ�U,�1����|*g��N&kqHpJ9����%��h���kx��8t_����>�}<C�^ ��G��^Z�o��4L$dcyz�����g+���n9ѥ���p"�N�E��P}J~t
��YŊ9�T��$Jf��vCP�"��~��,���n~���
�?����2��1�޻=E���ȴ{ԡW��HdT6Jq��n�|J5��mC_]
-l�-G%�hj��-��a�
E�N]���Ha�e��Dȳ�ƛ�벼�v�:�?��"tW	-���^sx�v���+md��w��8sSKš�,�)����EgzNo�e|��,�s
��˦�� ���z�Ԝc�}�ZI��%��޸����x�(
�����(*��]~^�dX�|y/�ޟ?���ZV��"Kk����{���N
�ke��/�XX䤉\f���X�|)�����RG�I����G(�y����s���[�>#2|�wW;D�o��֪�
�"�tR�g�!�$�]_,jTH�]���0�4MW�-$��
U^�{�)�
g�-�;�P�L_Z����T*{}��� �"�F���}b�_&�?8'�
-
8}2�BE^���$����kYiY�2y7/	ԴNF��I�ݮ��\����lmajP�ar����ǵ*���\��n�49����X�ԛ0�-𬝙��E�+�m����p��MFO��7�x
?R3��o2�UKy�ۤx	..�O����.:��dž׌D-,l��
��L��8�D���;kqP�rvfN+��MM�&I��ܮ�
�/��+��o�hL�
��>��1�C|"���жB&4N�r������
���~�s)�tyA^оS�����~Td�
Jo��gyl?e?SV��6�u�y3��
�iL�ʈ΅��Sg��\�n�|�
|4�;�i��9��N�c��h�q
��������e��a
]�#�l��?�
�a΍
�H�n�\|҉�>��K|�
���p�1f-�GsL��a>��j]F}���.6 ��,F���{�x�l���>$̔	9H��
=��L@�B���É#7=�-�����Si�@.��b�sa�sIR���������BK�'�s ���G�$��@4��w��	�B
-&�DŽ۵�����Ln�E�w��끝q�fooB�;�[�-~ؗ4�3��
�N:+�
�_��+��5�D1��8�������C>�J=>|֡�,�Va�Ƚ��A�l�i�F���گ~���nZ0�
2d,^�`O�
-��leǷbFy-D�-
-�������@qZ
�dŊz���
�M�w
Ƃo|�\n��u����w�u�8٤gk[!z!:�°f��ۨ⒚2&����+�f:Rէ!��}�����s����465�s���o���5�[�j~�H�X�&�3:r�4Q'��-ܿ�oS��P�J�kF��a����u׎�*��5o�t�����+���P�.7��r^��+�c�¤�~�QT��*4�Yf�jI�|xC#C�)Є��ή�Ώ�ی��˵�"��=�*&O��N7]G��d0�+
_
 җX�6Ql�Ҽq��|��Pۗ	L
x���(�^�\53Ӗ��ϭ�@��K�l\��v�/%8�Q�o
U�t��4q�d}�/�Uݖ^o4\�F�
���F�p����:�N�ۋ\爋��eK9A�Ko��n�sͻ8�w���O�^I�JG
��*+}�N
��3X�%���nW�(�೼�	~���hU���^�x��8��+�;����~�N�u�d:	;�cqTP�h��+ϻ�( %�l���6�s K��@x�&��P�1Lm�Ќ	�&����� vFE?i�LYt�����
;M�oU���>�������1>VZ���ur[�4���7�����
�i#���"��,����BlЮ��x���I���>3L��
�ӷU�č^��>�f}�5#B"�(��E
D��_��c�k8�/��VuP~H����.��YPO�ͬ�w/pK�s���}�G��b�/^�2v]�6[�_����`���&��g�U6b���Hm��M~[�}��!����yx`%��eU�&�<q���!͝��;(��u�y��U�%�T
?m�R�
@[n�g��<j\�uʹ<դD,����E�eU��� �
�;������`r:
-Hnd�L�򢟵~�h�
�����/�'*�N�F��K�r_�(������g5�z
v�ώ��9ם�N��(�4qk7S=��'����Q�Q�g�ޜ	�����†q+	.���
�I�j,!�
-����b�T7=��tj�,
����<���!ի���R�d\�{����`��@��Ο9/bJq��jT�w_L	�*~
��X.E1^ȡwO	�+�ʛ��p|�"�Pj�nY��U� g^\$W=譪0>/�b�8�cڽ0XD�	`�zlO��i�큲Xq�":�΋٦Q_a&�
%�^p��WUe�� >M��pa������p�/7�9߆DĨ��j�
��:��?V�;�{��e�s�������
�z,W�=��X�y�Y�U���*�#�:�w�k(>�Ps�i�ƈٽ6���o�]SW�)B
|�2
eĺ�S�	i�/��
�d
�dh����{��"l��)��H�C��yS��r_p��y�ȟ�,�� *x���痓�t[�S����z۰�923B�U�h� �Zb��^���!
-����
+k,��$$�`΋4,J�Xw�Ɍ|qё�i�DjW"L���m��vch�O���k|��@|.��C#�p;B�ڒP�P2�p-��$���c*[��@����+�d��	�8��ث�'��L�˧����b�EG�_�0����}��i���z�;y����g���ɇ3ia4���H�*�4yFJ����Ƹ�4�1{9���D�>�Im\�Nϳu��/�W�I�5�<;
�~}M;���3�E��nE�
���>yd�MxŦL�K�TSx/U��l)�E�
F<�KK�X&u_ɷF݄I�&E�)i�@ꨪ- E�6����I��K��b�L�������ș�nivzf���A9�oK�R�-
�Z��
-�7�Y%��pଘ�Fڭ���]܊=����ꑔ�:�J�
{X�9����[O��"\���(�T��;u����Ԕ�2���pE#��E��c���"\K�
-endstream
-endobj
-13544 0 obj <<
-/Type /FontDescriptor
-/FontName /LYFRJR+CMR5
-/Flags 4
-/FontBBox [-10 -250 1304 750]
-/Ascent 694
-/CapHeight 680
-/Descent -194
-/ItalicAngle 0
-/StemV 89
-/XHeight 431
-/CharSet (/P/one/plus/zero)
-/FontFile 13543 0 R
->> endobj
-13545 0 obj <<
-/Length1 1620
-/Length2 8625
-/Length3 0
-/Length 9672      
-/Filter /FlateDecode
->>
-stream
-xڍ�T��6N��t�0�����)��p��n$iD�;��CZ��x�o���s����s����
�6FZ-]Ni�XEprs�D ��: ��
��adԃ 
�Hq
�p
*�/�,
l����Y"���aP���#���- �-(x@ �
ap������P�A�.8��0gO8��
q�_� kV ��� �ow������-�`���-
�0k���,b�������e�����I�r �!{��
w� ~�hX:���a��C\���l�p0�^��C]�
\�6`8��l���@�
��X����psq�
�O�_� ����0'gK�'j��8��
-j\�j�����v�o�f	q���7���%@AZ`y��Ov.�p�3
����!�W��"�CmdaNN`(��W~r8������mu��ܡ�<�B�6��(ظ:����`e�?-�E8���� ?�_ �
���_��<����ܿ����z;Ü����[����������}����/����@� +�
��O�{1��|�y8�`�<n ����'��ٲ�A
=�1��\������
�o��dd`
 oN
�������?��7������[�e	�37�?���0���k�
�?g���ua��
��
�,���)�d}����<��]��f�W�����o>
-�����,��������O���"�7B
v���55����`����j����!
�s�����F
����c����}xG�s���f �� ����w����*q���o�~��{�<�f�k�x� �p��'�}��?���~9m�
�� ���.�{z� [
�W?�@�_�?� h�7����_� �
����{_�Aa ���}
-�/x
-�7价��1��� ��� @���  ���W�p��K}O��x�
@�����

���?��v���o�ߓ~_���

� [�,���EC�ׄ�]VI?v��
�f�4Lc��^������La��
Z�_H�
v?Z�,�r.����{��3�%I���ϵy���f+��i�x��tm�l*N=�-��>�����Us_�
-�i�]��(z���,���mjoU
-��^�Lq��ǘ�0�Ye͒�a 8�`�
{�Ϝ_L��Ѩ$������z���]�z����tR0P�?A='
�d��~�B6���p
>�:K�>�����⵩�s	�����q\���
�J�

�֢��TD����u�����M��ʅC3r��(X�V6��vˊ�������d�箼
oBT3FlS��D��e��nʣ�
]6M��m��k��gU�9�14�T����?�1.��v�BHj.F��&�d�JUΠ��p��M�m��KQ���/�ˆ�˜����Z�5
8�WL?�Uy*f��e��$���kP
-����������P�h��,�.77�n����`��ɤ�X��
�΀85W����VR�1t,6�Y��b~���כ.3�j���NJ�^,��3l�
�O��^�j��p�X��:�ёh��
�A��gҀ�3�
�ko
y^]
�;��(v�d�B͛|�
�µt=M���)ڰ�_��Q+��V���B������<��.c���m�
�V;��U�DZvU�&�]D��V��x%������b�̍�N��N���썎֕��1�rr��gs�^�D �0�3��s�`?
t��P-H>Ã9�I�
ՉV��Q�O�Q�4PLJ8��-pC��vu��h}
O��d�m�^AU�y��h%(�9�q�ׂϒx[�/�K�����3�v#���4sDP����琧�I��0�LY>�n7=dA�&咧�zi�A��1�� �яm^^t��݄lE~��3���E+��=mq�]
}�
-
��贆(2�ہ�T�
oQ���%�(�l?-�N}
Y�~�h���^-x�7�#n��c
oC��ƶ��'��M������c����w�'��<���}o�,(א���{���"���f��	�h}��I��]O�wD��juD���
�I�fv	U�D�3�o`.�%I�������B��Q���Y��Ix���
+��C���_G�R
��-�G�"҇���
L���
F�t�f��f/@@�$Nܮ�A�d�|�L����~L���SXvv�%�l�'�ķoʝ���`p/4�T��b��͕/�|ym
6H`�^�����Q
2�
�� 7κt0�#�w7X,��u���.^���a�-�)
FBG�5ZI�س��`QeԂ�F
��_Up�؞?o;?L]��lm̛��^d��_��qa_gK���̬�Y�7�a���3�a��^eDC��b������*-~ů��[;ա
߾t��Ї�ҿ��x��h�d�-Z�7>e\��ʈ{3�u�]��3��Y'&�
�՜�;�7
$��TO��
�����	Rb��9����N�`�}����y��Y�n҆D��8�~3*��&
I�6���]�(��Nr��X�pi�5/�
-�<���
2�%*��{�Ӡǖī�iu�Y?H�:��Қ|Z\�E���tC���㻡�#
��.�Ï� Õ�����<�~����zCѽ�l�)UP��V��¢���r-��Q�Vϻ��"1�����Ⲋ
�c�WMR6�]��~�����BAҜ>k�V�^��ϑ u��^�>���?�������5]��.�����ׯ��r�G�j麳��e^�[�R�n阛55�_����ۛ�=����o���zk�!C�����؃�5����
s+���;�\ܓ���
���`5��
-j�C5b�E��1dy��t��S��PF�^��# F�ju�%#��w�
Ld�qM,���5�e47*b%�b���г*��d:v���S�����4���J�J���ͥ��$�<ߟ��
yJߤv�}�OٗR�iwg��؏M�ɆM��)���:nmz���Is�U6
���j�;��O"�,*�)��ak�i᣼4�<Eh���N���
-m�X,�%���
-���O&_�@���X���(&�L-�	u��UXA
-�SNrs��ٵ]��C����d��Gܩb:ts�̶�rN�L=0kc��i�>�@^��F
�)
WrV7����<��;���y�j�t\�'�e����y?d������$�}��B�L�v�N��N��s�tۑ����k^Q�A�
��ЙT�Ͷ9pK6�Y0�^2�*�.��r^mN���P�
5y}���M���)���S�Fk����{���r���򻵊0S��C:�
-�-7<�
l��FΙ�Zfw�>w�>p͏�����;2 ��XU��ܽ0�� Y��Ο��

-I�m�f�~��<�[�g��ǹ?��V���A�he�1
-�h�P��ڛ����<����L6�	5����8�ɪ��������8���f�X�L
?zk#�F$F�|��#���-�@d
�C�D�h���)�d=mL�G��W�

��-�A�ڗ�Xw_�P6��k]"	6F=^� ���
-���m���w N�LE�'�S!�,ylW'��m�5���|�4MK��w=�G�D9�͌ޜ��y?,J�V6�D?����PP�<^}�sj�L�~l'���΀���b��(I�T���Il�^4�S��
U���%��6���������)^��G't�(ÿ�-�t�a"w�<�(�
�q��[���>4���^*�$VNm��ux���W
-фn̔Ŝ�-���0d�
-M�ȎJ?�+
P>�wS,�^��%ח����WRV���������ʩ�b
-�3h at v�����y{]\��/a�O
0��m�*��	��R
-��4 at d��53p�	���R5<��FsĨɺٱ��A

c��
종���%}	�x�,yyj�( 
(�]�
�b���!Y����r��=��nԈ
u7k	
RC�w�e��{pu�rK컇ʤNn�~h�vн��!
-a�e��kY=*V�4J
���g�Tc��,��F"R��Iķc��O�&2�$<��Qc񤠮i�jS
$r���#�13
MH⮾)�N
)O�=�>�x��m������^$�7�x�l#
���m�f��ڄ�,��o
k	z�uD:�Q;�}
���ag�D:�Ƣ�Y����Hn{Y���S\]G�����e$�i�b��|{�������� ��
2RQ9RA�+H4�K*ٹ�Q�E��l��p�
��*C���>Wis��
�[�c��`�9IB['�d��^�ʂr�/z�
���K<�zϬ����̞�Ͷl%v|�&\!�'�>�3�����&t G��D�;M�D0e0?���5�a	��4h��-���$7G��{���ͷ՜���*l�{HP����ؗC�~S���z{�{��s�q;�
�;��P�8���+�UL��
�N"�`���g�Q\�)׷-2)����,�n}��J���w~Hr9�
����-?��M<�J���5!y<�A����u���s�&��=BG�����
(+�U������5V[�{L
�G��Q����x%���鷫rخ�x��K;��0L���QH-)!��'��n�Ix�O�~L\��1�ȇ1���z�s�hC;N�x��
��?)<M��0X�t����G�c�e�����doŅ�yV��6�Ik�e�n�R���*�~�9����>�)��
�?�o
^f�l�k!��m�]ĞPF���

{U$B
��
�o/'�/�Rh򄉂>�<9�\]�ZrҚ�����O��Q��8N�_�������J�L�H}K�^�in��m�U�g �G�p���U�c�bH�����`��?�!����vC�j]J�]'^�-'��
�R�d݀	򮛢���0�K��G:b
�$�_V�7x�,���.�Hs�
egr/��64�

-�
-6З�|��S�>?�\֫��"�6�39ڜ��M\�UZ<oFH�]��w|6�%��;T���#��>`ӫ|�4`��?>�P���P�<��q��3fb!˴K���a�5s
M���ļ{S�Ԋ�!��

�FG�'K���3��q�6r�+Ng^��s=f�$a5�s��^����h
�$8��"gg�-��N��|��%F
�yW�Z�қկ���^���Ͽ�L���"秇;}��,?ƃ1�����L�{	A���瓵�ٓ,��=�,
��o5y�qw���ֹܴ���^�
&t
� �Q~ݺ�Pî��	#�H[�_44��p��z�� �O����m�
��L� �]�GF����K��h;�i����C��6Ư����H�2�
��߱XV*�ҙ�𞥟�eGk�=7߮^�.�
�y��΄�-5�<>���

�f.ڂ����8��9�y�MS��Aע�a)��$6�$��-��K��-�O�֢S�ow'0µr�^P�N��kC��鼱Ǟ�C8�Ƴ�4g�g�x�v�
(�렟rf�95�NɱWZ3�����cK���q-��H����Z� HXw���� �:�kև#�M���w',�F6�$3��B�O��i��%j|�S����g�̽բ�{"�@k#��%�Wnf�h�i����-s5����NB=������s�C�.�Y��\6���'[����˪�_�yD+eW�~V�<t�%|Y�@7M�gR�)W�2�A?j��
i
a�&� XKS�"�

7��9��",�̪L��@��3
|wU/�qKd������#��}c��/FsEL�M���v�
��
��"T�*]���b�q[�����e��9���'�9<��|�çu [...]
-�ʲc�Nn�/�
��"��s�f|4�
{d�
�_���-������!�D&�庒f�d|���/
���
1� pq
� /?W�������G;���&;�s��P������2��`������C
RW,8����zO�����yI4;�n���b����B���ٱ��W�IV)#kx������66!\���J�"U�c
mX<r,��7o�K�K��UaeY
Y�E��D#5&F� �
-�LĔ���~�n�������{��%��O�O�s	O�3h �薛[�1������ϼ��UYj���g�a�����6Wn>�*
Y����IDך0�k�6"
���;D�Cgף��\��{]#�U�F3�ƴ�e���1]�M%b��+�b(ؚ�R����NH�1���n����^��&b�z}�@��X=�1�@t����
nC6�u���)�YΛ�,�B��,u�uˈG�ԗ��#���‘s���\�~����U�c�}�t��xۇ�!Q�{��Ȁ>��UD���b
��\&
M�u��H�
����[I~Dz)�sL�${��,���ㅊ�<
��P�����ч��=�������p�e�D�g�DP5zUЈ;��
-�@����QkE��"_y��A/���U<×�/�sJ���-ߝ��s`��:���3��׺�l��U���ҋfdw����FMZ#����
-�
-�T�|(�df�5�6�XZ�b%)ބWl�O]F���ٲq
��nR
-]��
 �3]*@ٮ
���5�|NW(�}�)�f�X"q��Ӧ�Ѧ�Oy��`.���0[\��B/���}�b4��p���,�kZ��wYᕢm��J��M�ƻ�mds��dm�p�c'��
�S�q�<�qbd�
n��r�F�]{�eV�v=�j_h�`³"��w!9��ˋR;$����tӄ�(�H��ف�`+OFl���<���xq"y�)���s|��;��rX�D���o$���;'-l��
ҋ������g�%�$M��3	�~����jP�4I��j�j��C�d��>
-�x(l�K��wIN-?��A]�O����c[�Wz��=1�����0�]Ĝ����}����$��kl�g�Q�ȉ�|ꠃb���{�V�?��v����3����
�f͢����C�D��]u���� N�
(����0ܚ"��;��s���k�Z�
���:O#:a���/w����w��pR��?0
��.�h }!�RA���<ޡ���M7�R�
{�Y�9��S��J��g���m۾�\��n�����f�Y6/�w��(�@.�&n�B4$
��c
-g������I-ރ�e���ص�pT���=���	�Zi�ɫ���v�_�||'3߳��!�X��

��q��dj-y@U�Z��zZ4
-��Q	ZCڧM���!&��
���
�����t�d}b�C��Vk&���r��֊c���`M@��̻��v�u"��e��c��8�h�="��I�v;n���u>d�y<��u8�Ao�ip�����<,�T��nUZ��Ň��T*D��޽��&�|�W��U�@�n^�Ԫ!�`������OBO�e�J��h�-��y�ܴ�li	8WX['Z(�6����$��_�DW
]��=�;=����@w紆g�3�ې�dҚsLg��c��^�BYJA�8�cܿ���U�y}F-iX��C�N�P�1�hg$��
����N�x�K�%�1�&LѨeOc����߸_,e��v�� ��\p�����|M���?��
�dzǂ�EP
-��4K}FVh��:g��8VJ��h,^{ObQ�����\3	�1��7�W,��$�R�T��T�?��.���O������eNr<�¹\\{_�ý�e
{�MMs޵8��n�zL���9�Cěb����w�U�
��v��g-�9#g'���3���+���
-�cB�>�|xb�k�j�
�IX���&v+�@l��3k��9R<)��^� x
-<�����p쎽�[B@]<ӣ����(�+O����`��zЛ�b<��풲�@+;�S�
>cS����vvݧ{���IP=
��gu}\� �:2��b��}VƉ ��{�*�,���_����?���KE�ã�ɬ�S$��c�N�ܩ'j��%D�eN����4Ղ�~)�3A(����h��Jb����RW���2?�P�R�1
-_+���en�PQ܃�;x�l�!��7�o���>��4ý�Q;���
-
-8��C/������S�o�)
m�W��]�n�֜������8����A�ܚwҜpWܹ��T�ܙ��Z���%��σ�gi`W{�t�u�d���(�b� )���gڥ
UF�ر(��:4����(/`�I���A��8����l�jK<��~���t�=S~�~�h��Q_�c�xE�����w�SPhD��qm��6
/�{f-B�b��g��"��/��q›��_s�FP)>���=�\�]KZ���.���"_k�-
�H�O����:�g���)�͋�����6��^�l��͒(�Er�g^�eUrc+�S65�w�<��Q�R�A9�0��n��P����$U���C�������u�ۖ^��2�;�C�U�&r��˵�3'���NQdng�*%��/9VՓ]{܁4�.d�Ik2�L�<§���ڝNgLO�*W�ڼ��7�]Z������ȦX�=9�
�
�Yǯ�!O����ѯٌ�5��zO����љ
w�
�Q�?��
C�6�h at W�unE��/���a��FR3��rY=V֖rP�YN���R����'�w�U��xf�kW�b���*�+�v%b���%*N��Œƫ��z� ��Q���ow�H��as�
�0+�
� [...]
-���R��Jm�q��6a>(Ӱ��a�5$�'�1��ȳF=^�� חv����u���f�+
M�\�r

Eˢ�@R�[׊����N鞛�!�)剉X��
z�f��fc1���7�V�͖M��&(��p�&�m�;#�

�m���חG�
'�
-�2�5`�F�,%���oJ���y�UU-ƻW=�
�9��l�y��
��QR����bҖ�M��uҠ`���N
������]���������0bd�q�3L�.�L�˴ij���L���0<R�SE;iw
�(o|�����W����A�� �
��C�z��gz��ψx�,�
-2'�
�<�3Ծ���FQ�5�C��4�LY�ʵs��
n�G�?B��]�)�T�� s!f��'K�LC�I�h<jB���LJ�H>�%��v2Ʃ���m}X�X!;��%��T�n���
*�y�E��}Z�q#�?]x�Q
fV #��‚'�I�]�u
HZ�h�p�n]��i�%���2ɪ��5uZ��c�l�O��^�b�E�

a�T�O
c4�FRv�0�$
/U��V�F�
.�	
-.	����$�O��bƐ�
/)��>�:��_��1�'xa�
꡴×�y&��pVf-R��?�
9BW���X�8��w����xCu�e&P�|w
�~Β�b�΢�?�Y�5�m+DE?ϱ�
-BӲ��,aZ!�W�Z�h���aE���hi(�_�OF�9)�/q���i���FD���*߀93эXehv�"x�8ŋ�E��U:�{R3�6Ԫ�u$k�nʗ�L�
��\�:�;�y����'Ү���
x{s��/6����.�- ^$h�r�0�7/"�J
�}�]\v0ˠ�T�6/Y{��1��.[�!g�v�r-�l�=�~{�
�թY�ZE_��q�DYgMdq�l}��g�5鯧�+��<Tu[�}$�����9�3�C��"��
-endstream
-endobj
-13546 0 obj <<
-/Type /FontDescriptor
-/FontName /YPFGSD+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/a/b/d/e/i/l/m/n/o/one/p/r/t/two/u/x/zero)
-/FontFile 13545 0 R
->> endobj
-13547 0 obj <<
-/Length1 1842
-/Length2 10758
-/Length3 0
-/Length 11919     
-/Filter /FlateDecode
->>
-stream
-xڍ�T��-�www���=x ��8ݸ5 8	.A�B�wBp$Hpww{df�����k��X
�]��N�:Ug�H���S�j	V�B<8A\@����  ��y�u�=��Z�_������n`
�'���Ǔ�P�t�x ������u�Yx�[Ը *P�
�Q���fok��t�>,V� ��� �� ig�����f�av~:���	�je����,bv

."�����\��\P7[	V����
@�v�[~��[8��ƅ�б�w���j��m�<����� O�5�
�t6��*@�
��Y�O�_���@��+�w"{��VVPg
��=�`c�h(�ry�xp , ֿ
-�ܡO�^�N�OnP��X<��K�������;����o�ܿ�<5Y
b-
uvC<���'g��z�/����zC`~��C�m~K��t�օػz�����x2��c�{ ��@��0 v�}��'��u�A�~�����@] 6O��6�?�0w
/0���
 �7��
X�[y ,�����?��6⧛w��� ������i���'����\n}m����������� `�<� N
~  ��>}�w����G�VM
��j��Qb�)�w�����L���.���>A
�4�` �?co
�Z=��?�!�3�;��e���
O'�?X������p�w����bO���P�>��]��.������Ye��͐��:��D{w{������ݟ�;xJ�dkB��?3 N�?�ӮY9>=%� [...]
-<�
 �@��ߧ�[��$,��	�-�A� n����Z���A n��P�7r�|��
x �6C~�'d��O�o�����'�A~ ����Sm���T��?�T
��O� O���T�o��
�/����d.O�&�	l���������T�������=u�_�@O:��
- ���~�n;7���t��7�_Ob<��<O��?�?u�����͉���S�
������P��>`+�)��h����ji
-o���q�u�tVN،[��
6J
-���E�
��.�_��,�R�4����Z���$��[�;�D������c�_G��J��R�Qr�Hm�߻��
vDl�oWa�s���, ���Q��-�
-�Z���(�
����X��	�|�w��t�
�T�l�G>8������4*���{ox�`�K<qד~�tx�;��
I���3�d�RUH~�J�
-'�=��xu��(N��	���'
-}���H�a�|�׎�0�P���M}�q�Q���c�x����l��
��3]��{A٫�
��� zZrq�s�d�#��Y/�Y�3��*�pn,-,l���^ngj
-�|��
:Z���\��A����wh�I
*�uadH
G�&!��~�$$�?�(�N��#
���
4��Z��!�
92q$m�Ie
=�GZQ�%A$/�G&�"�Xs�R'ch:�G����8v�nD���1�����}�
#�mX2����?�Z�^�-�-� �~�|��e���
����Z
��&����U!?���a�"3H���z)�tB���cb�����њyGV]�|�.+�`�N��AF�&�s���f�N�4rS�
3��m�J�~O9k��i�8-ԋ42�6��|�[9�>]K�Mˋ�կ�
rcA�?V���
SIƕ�%)��_�O3ϭ�d<��1(3�<�.��T���T�O�z��8���ӻ'��21�M`��"`tX�2+n'=[�82�,��N� ���jZ �ی�i�p����{��I�[�έ4?���z�
l����A�;�̰n��)��@_}���*
ÄR�~�ф_�I,�����</;HX�������[cY<�w>l"�i"Cy�O�
�$5_�����|�
��E��v�2������'��OE�Gw�h��
S^�5-�P��E�r/ʽ}�/�>���z���Q��LJ���v����Gz�|vH�?n���yM8�S4�̂x�����0�u�2�\�*ɭ
���&'W�
-v�L��{�����3?��G~� �p�+�
qB/�e�*=�`�
cW纹�
���d�
�ҧ�rKٍnc2!K��	���	��xo���f
�v��'
�x��>�?d�n�|�?#~�u@�Z��$\N.z�^�$��5S�C02�i��'��A�t�Mt~�j�@g�.d���ϝiF�^��^V���/�QĽ���]����&�Њ����"�<����1��$���W�YS�!yVE̎.l�@fy[^�sd,%�'��.�҆�O�;�nv�r<���`����l�$���
݀1�m�T,ک�⼉O�7~�ϙ��.%g(�yW�t�Y�^4<3����X�N�Y��%���Qb� S�>'���jԧ��+��
-
>&T�^I�"c��R�o��`�b��_��2�n2	V�s9y�a�^�YiK��D�0O2Ut��1ij�9� �+���
\�y�{R�"�ov�^��V��eI8O�k��
�{��4�^�����x�DH����Lk�l^_:�n�������qHpHJ�'������7�id���%ʴw,�����OH�7j���l;��̈�Ž�k뻐v�FXvNu
Gs(�%��5����G�丸�B�M����
T��-Glϝ�X6���&�qC�B�]D�8w������G#_���H\���J
,��>~yq��Y�n$�Q��z��]/�T~�� ~#�$��M���˝�ɤ���f�
��t�0���}��
-��"�
�MJK��9�cV����	i}�Y����ǒK]�\1�:�8U������6��Mxv�Sʱ̘
�ڤfE���¹]��]� 2A�X�6��*V�i���s׏2��x��8#$�c�o�ѹ
\�~i�5:��
<X7�aW�
9���N���>6N�j7�0ݙ,M�C�Ũ���h��
�xu��
%d�<ͱ%��[�<�
 ]sQ����f��6�oF/�sS��=Z?*
��M��6�֒��ֵ�M2}{}�Gs
����8!
�9x(7��v�����g��Ee��,��jA���"�C��j���
`�"'/
-wkИ_DX_�;�!A;kі��Aϵ.�а�4q�9(�s2>�'��n�З.'
-u��={�J�7�)X�p�+ߔ����V
��b�9oy�[ԗ�������w�&��6��uuж
�*
RU��1ԭ�$�l;��mY��G���x��sqFiO
-&��U[��W��^Hi\
-UfT�ҩ�
-1�z2����z�<~)�H%%�\�_�R�� �
ܔ���0�H�o�,�"?VH�^7}+�)���Sn��F� �}��:&[;���F�G�C�Z򠰥�N;���֬�#���ҕK� ������K�G[�?
��t< �"L�>~Q
�2%�Z���f�q��Ľ�:h6e
f+��!
���?4���
��
�Wb�aɉi��
L���0�T��R��w�JP
ʑ�Jj�=
z�A�O�G�$�F3[�G���;_@�E���LJ�Y����]�4�b
�諑#m��lAL��z���~reGy��5��rj^�}Л�`>7m�U[������@��ݏ�X?��3��
-�7�*,�
-.\!H�n��9�kl�V�D�G��5�O�YH��~�k at h� E��Y/5��bBÃ�(K�£3:dU�-�� �����.p������ᴓa��4����p����m9��~b����S����s
P�[5M�8Х
R>#o
�3Su�>M%�:`�Ѭu���Z�'
-k��^*�6[�?/€�cI�;�M��찎P���(�t�ѤV��>��=���� �������Յ)9�c��"��JW�\=c����u�\�h�b�E��s";�պ���em���18�p!�M�������Y�i(G�SلW��D�v/�k�$xz�_�jLJ:�й.��|����8�t<G�3
���ˡ/Ä+2Wo���W���6�ɮ��[���}��
⾱h�ݧ��Hb1W��I&�ѧ]8X�
Bq@)>v����\���\����VN�{6G�|r�%	}{n�'���R���QiKȭ�ɞ,w,q�jX���UZ���p�m��9����g���h��+/��:�f�
�%���������;�K�#�	��%��­�%�-6�\g�� 
-�Gꀨ�W��_@�ήRL��V![a�)���Q�V����HP5�奵����dV�K�o��Xl��k1A8�+)��(�Q(d
	�˓�	Y]~�^.�
]<*i��i��
U�E�����[)+�DW�ع��������Ĺ��MP����U�C'-/5R�"o�}�;ٷ�(K����8�R�7�Q�n���_��l(�r�yu��9ZoQ<q�h��=^��r���<x�
��o�
‘��{t�,;��\�j�o78H#��4�F�
�����s��_@��3�0��M�K~�"c˾8*p��
o��h�my�K��Z,�aR�>��dB��{C_
nI��
�V�
�^焾#���1�I�5ٰ�����s
xNfZW
��l�M��>�,
-���
%Լ$b_]�FOv~��1��@i	79A�aWe��|")M�N�9{0%���)��_��?�fq�g��
�a�xZQj��Nj�'l��Խ�K
�m���Jݏ�U�V�*9f�o���[VhM�G�1
-�Wn97.-�q��$�F�5���3X���p�"�ky��O,SR�=��a��o@���G�`~a�@H�N1�Ps�K�{/�{J	7\�p�8��=�0�󔬥!7�p�C�����D�����fR���45�
a��$��~͘]|��p�
7B�y"(���Z���g��n�p�1�
/,�1u��^��s���k,ֽ�K{�3�*��1V�0o#6���Ub]J���ީ�
;��wd��f>���;��q+���GAH��k?q9c��;L��h��~<'�=�,����10�����]o�p����2�83ک�������J+
-�H����q�?�Mi	����أ���FӰg�[�;��;t^� p{j�OB�R�\ �.��o��xpX�Y͕��L�M��P0�ཊ~Gͅw;3̿�1�\�<<��4��[j�A����;(��A�ˑ:�I�jzc����AL~�/�
�2ޏ���}�B��[���š���e
��>3<$�R4.�������BS�\.�$% �h��2�3�x!��b�l��a6�
-�f#�
-��~6�wn����h���utn�2w�I��У�a��Q��ry�Y1��#��~3+������y�}71ǭ����u.�(��������I�**��a����N��R#_5�ڜ���>)`,�3f�%��)�g��"P�����*�c/��[��� �K3�,��	@kū�ĸ��v�h��
Њ��{�ⓕUC�����۱n�R)�#^-.���(6[�b3�(A�o��R���\
H�Z7To��ۥ�_���ъ#[���܎����� �� E�0<@��}���"�'��/���,4�,��<'��s��L�����v)uJ����
�Fj����ε�h]��
DC.��I�ȇ&67X�4>E`�3���W�P�l����N���b�\F�E�ݺ�1*^�
_.�muj�o�!����R�n@��,���$뼖L�Ǯ����n����\{�z�
��
{G�(�y��p�jp'Ala�y�f�'�Γ��C�*�ޱ�9��S=��˃�c'�
*�m�����v�3Nl�l$,��dq�W�l��S�������)WԖ(*��W�Pj�J�H�)'A
�_wU�X,޼�����9���ڳ^�e��|�O�O�
-_}=�jg��ȹ˵n@�Thr���^�M��[gm����?Eݐ�v
�Jm
�Y��
-ѡX�X�Q���2neD���5ۓ�&`�?��9i`��a�Br��?�uCӮ���h�&�Pd��6�3H�Ʋcfnvmr⌣��;:l���r�8ҽ���_�p���a�2&�\�*L�4��S!��`�l3�_]Υ2M�RG����vL	�
-���á�ď77{֘���[�
l�,֦2��Z��=ɽd��73U���|��i�+�e^�CFr)�r5��=!�]���=�b��#����L'�xHÿ�����K_x�t}U�Gn$y!St�`���(�_�Xq�
1}�*������\��L�惯��.��e���F�%*o//�:�B�xp��<J
�
&]s���pvd�n� lz�W��\0~�6�]_MZˮ6���s�O4�WG�)A6@��O� ��G!��0,���_х#�[4����M+�@�
��P�08�j�6��S'5-x�7\4M�+�G�s᪅l�0+8gF�gs�4��et^�E"Q*�3 a�pQ	x�����٥M��7��� �ޢ�
s>�
��텖�j����Q��
�
~��������2��4n��gh1�	��e=�+�
�A"ˏ�g �o�sl�Ŵ�M*���{L�o���3[@�KeW�z"���,O>(R�F=o�;���ܚ���5>i�7��u�irw�&>~���ݺ���$f>�K��C
-�؋��	��x1݅R�"w�+6�1�����Y
ͫ�n>}qD��Z}
�}��K^
�� p���$	>�ym�s����):t�8���B-�X#����\C���E�cN;/��M�
��ځ�'z�@z
InD���E~��_Q��
WV�
������?Y
c��w�ࠛ�Pqa��Q�)�'���e�_x�7ˑo"����1�(��>ۇ�w�r����Ä�����8�R��_
�[dϋIalҔ�e��Uُ�M����JxE֔
qޔKI-�.>�e%�+�u�w�n-���ޕ�>��g�Z��C�r̯z��w�F�*
-�7��tԘ߄I,�U;�:%�c(���%�Hy\��(�����b�Ud�I&��qF�y��ׯ!<S ݢ��,#"�� B\��Nhb���i�
-�
��f��"-��	'j�,�RzV����N��g_��������#���Jy�Z��흣���(���H�@��Ǒ/�6R�+����y�\�]އ2
Ih�n��8�7*�`*(=��#.
�|����Luv�!���X���J��|��Oc��ʤ��4Z�m���L��
���U'�Lp�0[wJ�)_u���/�:L��p��
^d��(�<ó���s�@���4"jߌL��1TF�
,�uQx1K<1�7)n��+�[/�6�9~(a�fr���!�
��H�N���7�f�R67�
�w�l��d尲A
�����
9��[���ۃ�t;:����ͽl	�	["�M������4"�R�D"���k�|�=�ԇ�jd
C���`HFXbͲ�n���X�z���87m>��7N�ըT��Ƹ�1n`��~���-{ï��p&f[�I���1jU_q�JRM�wv�����5���!���*C�a/����1Q%|L;�`	6z��{�9���
-7d��v9�R��6�;���`��W��~�- v��pe���r^�6H+d��5�
��_�6����(1�Ci
h���X�G�X��oiT�NLx���[�&����a70� ���Xh�a'�S�*r��N�+M��"���	�jw�
I�3�
g�6R���Q����@�GO�,=a�VgD�uU�Y]
*<�v�o��
T]�%�My=
-n�+����#pt�Q��SVD�m�
v��ғQ�K�5��M[]C�nƩ@�((�G�	��l���pIF�n�j
þ�'<�
����_�oG\��F�4��©�HN�QNx�_4n��A1�j�.�lS&cI�H��O�Q���.�
-d�

-<���JSp!�
-�n�`6�k�^!�7�a¿_L�8E�#	eH�����H;ɸY5
���G��`��
��y�-{���]�
w�h���8�jr�I6"�ց��Z
��z
1b"K~�j�b��/rJ��$���BJ�7��iι~Md��0j�|?��ٽtnN�Jl���
h&4/�9�`\���"�A�ȡ��F��a�x��츑�E���
4�
-T}C~��4�F&~�,l��8�JcB��5�|z#��C�O
R+>:��j��R.�	��m_��ce�^+���W�|�N�񶥢�(w��t�L�^����f-o��m��s�`yԕ	m�
�G|��O��o?ru4"�LL�� 4��qE�£~p�z\�cZ�S�~^���/g���c��Z_���:��L [uw��+J�QJ�������
���;�	E���mi��A��_!������.S`U�q��6�g�-R4�u��]��+�;1<;��
-�
qJ��'
�j��#=�$M��gEr+<��*�
f�#?���F���5���6��!���g�>dss��[���l*�>2~
-x/� K.}F�(1��	�A��m���"l.�m�ю���w�
e
>�:�\C��;؎�=�
-��o�g��r�(�~R}�6\���cYDZX�p����Bs�y�ϝl{O��m�nhK�z}���
y�<�)�#���#o�9��:����;��9�%�=��
vK�C�X���?U��(-��Q'��\c��g�G���O�u��K�Ob�h,'d��ŬK�W2�Y��.��c
Y�ImX�5%�[|�0$�
O^��i�>���bP���5�����"�۵��1�u3)��
��}_����6^���\A=��
����\�M_t4�
��E����k:�hL�-#��n����
��m�v(���bf�6{
cF�)����R��Ĩ�Gr�[���8#�Ə�&Q�jBz���ԹW
�RN%
���K��c
)������[�Hh����E���X�j�W�Ũ�o9So=���1��_��.P$�Ui3�x�$�
&P>�Յ�I�����-)K�	+�^���^X����P�a��g�"��h�cm���)�5E�1^�Ju\rF�Pw���+���R%���br�;�A�x� [...]
P��9\V���
�N�6^��
���:2�2�*
���q�ߒ��Ƚ����'�|��^r�ٕW��1;��=)7����ʮdk&N�;��)8��W��gӂ��}&-�����M�bc�n�6`��W��E�І����e��AS
F��g�P�d���
LN2~�W�"u�$�E���?j~sK�
-<��\�1�C�u�
- ��$3k�N�*�P�P�l�q�, ��V>/�l��z����b~��3�ȗq��D��"�|�nk�e���b&����U��+�Q�
-��L��ԍ7��U?��p���%\���~�@�}Nq؏��*��p
-�P��&e4�B�j�������l���Ѻ�n��eiU�:�&I��3d�
���*�w��Ƿ�ጾ����2�y�/�[PӘ-�R_#t��f��ա=�����m`W)m
3[�B���Բ�Rٓt�+fD\�&�+�~vM�:m:8ykE��Zd��g]T�ǣjh]�$�x����N&
vd����g at +ض۰ӜIe���S����ն
��J3����d�AD�`FQ
',|�A	

k۱��3$��/�>6�J�4DM��2;�:�a<��b2.x��+M$:�
-ObEiϥ���_õR��]�*�y��z6d�F=WN��,}���D[; ��mg�S�&"�Z	�_�l�̬ww�%)�:4�B�4
�.�
-�w6r	4~F�F3�~v�f�Q��j�А���[�޾D��2,.��d?�O�x�:,��默Bz�I�Q��Ⱥؤn�zE���sR9�缐l�aoυe��Ŕ����2�_���2l�iȐZ�X�j����)��ו��E�E���_՜�^�4ND$�/�̆���ה���ر�/眹��ھˬ�X
�n�k�y�U��E	�
��:��S��mM�\�a�Lmu�ߚ.̢���hH���d���n����G���|� 㽽Z�Z�{���\�L+	�-6�Ŀ�W�%�yH
��o
�3�����K�D_�l�&��� �@��eA��*���ᯢ�>����4�)�G^����p5V�Z�ȑ/�����?ȸ���v�Y��\mj'� 7����Mw�h5�t 6�
w�2��~���\�
�|��t�g��
�"�,Q���O�n�Bs����d
-��~������M^"
r�g_��aH+
*�kn
��!�����Q!�;�7�U"�(���9�� n'+s�e傁�ИfW���
3��\�"�$�꾨�d�t�E�t?���j�Y�b�U�-��ȶ��xQ�+�d��!
-VEy��A܃C3gz&C��Fq:����ϲ����1B٩
vN��r�Z�MUqN'��R�a��f�՟&�����e�^{8?vmq�G>���Z��#�yf�'��d��<y�Xmo��D6�&q�;��cv�ɚ��}�{�\�m�uV������E=�p]���E�0�O���˭g�mB�w�?��H�L�+��
V|�8�N����Q�e���,p�&
ͿK5�Q���eF�N
u�E�bw�����0/�ǐ��p�j�F��Eyo_t���Lqr�1Z=WqyJ7�}�

f��gx�6'����rn�UBD��rI�p���l�E�u�0�W��S��T���ڎ�9��F%����2�Z]S�+GrEhl
� ���m�M�[̤GUiq��Q���¼�f#�
+
��aՔ�����H��H����fc�F��.2�/��+&w��N*�C~�����#>��g����ev��cT@�S��H�ſ�>���� J�N�#�ʏlj����zCCg_2�m-a@X���7&D����&J
 ��0����"|�7�i6>�/����x�1����$"ne*��4�cL�xǘEL�!�5wm�ci�m�7WP�?�@��޷X�D��X3p\
��������]J�S+j��M�"�]�#Mg%kj�LJ�٥v�����a�b8�/�b�Ps�>��Ӏ:�e�\�\�P�����涉��W�W�)�H�AZ~a�0��4�r+I�ϔ�	
-����꓂��3m�C'oD�T��
�sⲾ���D� ����8�4`�E�`ޥ~�k�G&���3#)�^�?<$�3��8-��奟oݥ��
�)F�O�y,��p
7*��S�Ҷ�ugţ���O�n�R&X�Wu�!���ZI�B�H%������A�����
��ɟ�w�5UF��Nߝ�Y�_�U�X~ξ�K�
�)���P
V|�����{��{�b�;�g� �5�?j�j5��#m���T��0��N�H�5��r���Ӯ 8����[›Z?y��OP
!
'�
X�
S��#�I�<�1��rٌ��gC[n8x��A�R�W����c����"_y^.bR^X���� ���ǟb3i7��Hߛ�?�
�s
k�E�V�}�k	�J�~��∻E�)�
׳�_�2�I��Rr�e~#��W��e��a����N�6~���o��Q$Ih�.���ۯ3_�4<ܣ�e��p�)υ�+�������CX�

Qȼ��M�*�w�fU(�|̾��oX]W5Y���NPj [...]
-endstream
-endobj
-13548 0 obj <<
-/Type /FontDescriptor
-/FontName /XRMVPU+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/T/a/b/c/d/e/equal/f/five/four/g/i/l/m/n/nine/o/one/p/parenleft/parenright/plus/r/s/t/three/two/u/x/zero)
-/FontFile 13547 0 R
->> endobj
-13549 0 obj <<
-/Length1 1678
-/Length2 9808
-/Length3 0
-/Length 10897     
-/Filter /FlateDecode
->>
-stream
-xڍ�P
�-�wָ������F���-hp�'@<�-�[��n��	{df�����{�U�g���}��4uؤl V at y����)
�Q�pr�srr���邠N�?��t�@7w,�/����,���>�� `�������/�% ��	�����&
���� ���0�
�N������>{���h��`��:@�����,��@�g�֖N 
�5��/���P��0������;;��N��������@7O�
�w� uKg�����t�A��u �P/K7 �Y���ݟ/x�m�n�g� 
%U��
�'Y�O+�� �ع�6���߆@�?.[Z[C�],�> �
��hȫ�C��� K��o���;�����%�����G� y)-��s~e�n�r������~g����s���62gg ��;>Y�����>
��
���y��ml�`��¡�z �d�b<�P���� >NNN!n � ���m\�������9� ?�
��9` ������n�	@�<�~�V�7B��؀�� +�
����g1��O��y7�7���y� ��?�L�g�v����Gs9t��du�Y�H�o��4����#`���pq����m������RMK�_�q�cQ	l
���s�����_3��׺0�ۃ:�y�� ���'��������q��o�[������#���������t9����b��F�A����T�K��y8��V	j��R`;���r�y [...]
-Yu��J
��^ڐc��\�|�;h�EzӔ��|�o��=�Ռ:���o,�@���
��MWr����_?���]�.��CS3�ƫG����tq8bfKk��_�t�-N/�Up�]�Շib�P6rdf�So����I܏cO�ʉ,��q<~�k��Ӿ�_t��;HhI����p�����wӔ�f��
���E
(?b��/�a��rgV��c�
�U���m\�9��0�>��䪒|s7j
��f�<h�#�|��Vz��Z���!�lAh��	0-@�\��
�5�l(܁Γ�1_��d$�(�
-����-��=у��CvGO��a�e���"�E�t�k���%S*j�����q7�C婂X	����[�D�Q0���g�f��m1D���7��t�^�~@�ht\ݶl�1ئYF�p���D
]
0�]�!H7q�N�2�2GC::�Ó�3B:�ǿ�l�s��3J��4��)����f�K��&Ƣe�=�/�[�pd��P)���Gf":%Z/��셬����^2������/��=Rt��.=��G��#�}��C*6�߶l��?��K�����
_�:��I?8m+^f�
�附ˇT�Xh]�0Y��-��� I��
������Hc���x#T
��0�:烾��L�H��أ}��:{�!�vW�I�U��
FRU�(�%�Ⱦt�_��+�'[�|Ο�1���דC,�
�I�ͯ��I
-`�ܲ��1���I��P�4���譴�Ŭ�A�ցր
-��u
-~������ܹ��J���.�n��!`諪.��1�) ��
�{o�F�j���-�C5q�5&
fcGIX�2������9i�q%2z$�.���#��Ql����|�`h�:
� �D1|
(�,�s0{����$����L��]�E�b]�[�H�8m c���H* &�)� ��LֻӒ���̪kq|��"J�s����"콳���[Kkbo�2��edUit����
Ԙop�Ud��5�!i�-ַ����N�q$Y�Tw��g�W6
�)������R>M�;���qU�(9
����3�����!�1��� q��Qf�w�9
-�U�‡�g۟ {�6}��i�7zI|�KŎ�'��JH��|)(��?#�-��kmT+�ԉ�ZH��v�A�65{aG�d�B/F�0�=����7�~�t.6V
���z�K|�R�v�::o�dS
L��Ad����ȸT7N�U�r�m�Lnٌ�";\��0o&B� ���_+^�t/����"��UuP�>lhE6ً
ۻ��i-9�΃kDگ��=Qƴ]�+϶#N ��h��qzX�V�����+#�I��V.kr�,G��8e�R�6���>g��ٚ�\��
�=�+��:��
w�P/8�wP��,y[M�t�S7yd��qOO�=��8�������
�϶x~5�@�$�O�[�u�,���9�atb|�^��3~�F�z&b۬>����b�?���>��})hB�w����	?��oJH�Ё@�����d�]��t�~�s�JԚ
�zN���̀�콏?�7J?�#�z�#�: �.�dc)���dg��xM
'(U�
۶��ko^[i0��=ҵ�hP�ʀ����#�{��Jۇ��_8��X7ƗK_l��fdlm��t�}r��!Y4oDT(vp�����ɀ��˓�}z�>�d��`�AQQ^� 4Q������ϕ
$�Y�erg�� o��~*vc�e����_(���/E�<�(d�m��X)b *��_K���)z�N:ģR�_8��&��ijU���2)�P�/����ӹ��H��ゃI^F��F��a���M幈�`���s!� ����
�T�w?\��w���]}֋�Fb:�?-Z�.��8p�ke����O�D�������fJ��|�k��ZĨ_��y'�r��u����;���ej�ش�����EW�Rd��.&���c�J��"���l���B�U�N���0_Ƞ. ���1=c�0�;ѕq��L
���xH o)R�kԻսF�J��F��	�[z��
�9j
=�
�A�\������RdmD���PL�
��"��NL
�?!|������C+��D�����YK,�T�J��d�h���U�~k/��
�gA�5�����Lz��J���
k�zF���E.G}_�(f���d�@?����sX��߿#�X
��y;�Ʈ
��LTeE��;C3�66��`��s��P�V��jr��K�ݬ��,��[���
-�u��'�[\OM�W��+-`���cΫ��ռ
��

-_;lQa
-�y@B���C>�f�
�՜���2��>ox�1z
-�|]=�U�߭
'�
nhʪS����U}�
� ���+:ܽ�*d��]wp�] D��zy������)
4��9��H4+�y�B�
w4`s�؁�Ʀ�kƓE�Q=�
"�ЉuW��m��-p��*a�
&��%S��[�k��|��S�yw�g?�~��̈́���u
�䝑>{��I�
Z#셃#��`�Y�P���]�KY��r�P冥X�^�,�^�u�R��칉���
�}_�/{�4�䠎��b
-!y��{���C�?D]��^���A��B����8�"c�KKFp�a�~��ra���D�B('A'?��Q��"��]TR���<�0�bР"�[I�/=��f���4�+��H�g2�Bx;_�Tu�
����jZPfp�U��c��O����g.I��g�
����}Q�jnWm��W�uL�Y���C�H�ӟ�
�#�G��u��y���-�@�j���q��6�LI
-��C�!�Pq
sT�8� k*1}T
��J���,n�s� �[[y�i�n% �8P�V��s�(�?=�
�]6S�*���
-
T�|Y�Z�Ҡ�s@��f����)@@���?U8��jA�@�-�*��ۑ�s��AU�*�yP�a�"VH��|?[i�SF�Ǫ�\(��~L
{2v�8�߭Q
�c�i���!�jw����7@���Eqj!�L������.�H�ר~�:�0�.&�ҩo�![L��$����2�[�Ӌy*�
hu󜭲)I8#��7n�%&�W� G�M�Q�������lʰ���c����zx365G���e���@��D/>v��*!Kl�V�������9Tm��6
B(��Ė���hĄ�N�P�U=���6*�z���1�t��ML���V�2�ߊ�bQ�b�C}����d�+�
��<�ø����`T�_�zY

DRH
뷷��b]
�z���՛f0J�4�"
Ќ|9��Y�����ge��z	��u���졡��9�d�ur,ey�(Z2����f
��@&���z�p�
�+�
7�*%�ou�<#�EX\���Ĺ7�o��'�.��ܭ<�Q�����-=��>�bl?�w��ȶS.)J~l�h����\�
-A�w��E���!��� Ŗ�
L��
��G�%���/�Ͷ�ab}�~(s.h�n�X�2�X$��my at 6{�
-&�
e�����QṚ����tؿ�vU8
�'�"m� ���'x8��F�17�%��A���f:'����g
- T�Z�{�g����TL�M�>�,��ot<����Ĵ,�{
O��7Jk�:&2C��Zϻ���}�v��-
-���P�"
^�;�K�PTJ搝�^1�Z^D߃-L�0+�S2O�He]9_�UCs;
���v�����e���wF�hd:��BY��
5��pH1.O7֢�ߊ�$dǃ�.M+n�3�P��	3���$��k����Br7:�L��қ�����p�]�Y�tsR�GF
���L�4U�&�Is��v]��r~!x���=�kا�Vd��U՛�&zO�VR�jN(48���*s3.�&I� �R{KN��z�2
G�|�|թy�CsY,�N���QL�J�ڼx�fߤ1���g��U_��و�"�j]�#����w��Dl�^�_�+�,/O/�_�-D<�.SZf�3Gb�k���v�z�����/rΩMl���b:��W���*j� �$B�{�$E��	v "����%5�*�$�#W9�*5`�m����FP�?p\���wz��3@\~)gB�MN��+2ŔO�KW�h5x4��Ӄ�H5I7}e(�0�'y7��
���[mezި����7���?�Wo�R�j �^
5 [...]
't��z

p1�9��y�iJ"_͞LM.��0�
)�����G�� \��ko��k�d�+��|!)
���v�S1
ֲ-�6�r?��],Z����
��W��=����d�!	 ������D��M1�dk���q��P)�1}���
��/}��p��=l�������ޚ>Q�7}�k2
�jx���B9��*H�D,n��Ѐ�o�7ĥY8�0ɢ�^��"�Y�:��|�n�r�W��8cL�^*^�����[��8K$TO����j]�\3�5���c���慖�^ ��=J3^�
^S+���mm�Gɔ��}�3W��Q3�v�ő��|��x�VE��#2�o�~��Z�}{+��C����#-w���H��ps
�P�ؤ���3q�9�SJ�|
�^62_<��G���VTd%���F�R���;3D�G�����+kkL��2_�� M��k��0�
-N����	��K�b�Lm���
7�Q�+�pDL���ؙGu�h
l�Es޾�
�tv
œs�h����^�=}L$�-2����
ivG
-H���#T��P�af�T��c��[d�$�������k��V��g�.J)3��&g�p
�eV�U|�1�ѢRj�-""��Oʪ<}�k\}�k
ͽ0�V;"ZdY:6�
S��L~�"5Q�2�l��.]�<	AJ`{����a�K{�K�x����<B���ǡ��{�
�0W6yG����|�r��
W��KuZe�R�_`U�M?iW�o�$�u��F�
n��GaW�6�
�j���;ej�s\�QC�����/L�'�|e���4I�h4�̰o����X�+3׆0�k���
-�q�U�(XbS�Z� q��Րgl�k&����2�0Z��?��R�T5'����IFF.�i��t�2��V+r/E
�8�*�,����9vФ(�������8�Q�{�)]y��kR��S��v�
�
��2ŷ��Bͪ�wI�}��lq��Ҙn�
�����XIkڈVl�MijNRau�zNo9ϡ)S%V1��Wq�T�
t���

��,j����fQ�9���	#Ϗ"w�drŽ�;:i��
"KJ�ѵCiOL�ɟ�TeG�o"���Qe���8
RD(
o�ϴd1�
-������&F�_[R�P���Y��ĦF�$��$R���\i뫹����8����U|���,�݂��
ڑ�jA|6��{]� �ڲ`�}����^Ӏo�7�W4*�
�#����4<���o0
a���?���4�)�E��U��{0
��,o��|6h:�2/�=X'�� �$=Vkt⫞qӎV��Ty�+.���ǜI�	-N	���IT9�8�Z�]7��
r���C-l�O�0���?�?ԑ�
-�Q$:���5�4hAI7>��G����8�e���k�Rlˈ�掉 �[�d_�Mfw.�^#dv��
��T����~�C��L�����x�N�'A=”&ﳲd�W��,%�V�?������Y�[�7��]8��0�V���>r��ͯ	+�
��Kr>�g��x�}����+��5{8d�8\���Yi���v�8��>^�Ԣg�
��-dT�]�F�C:
]�Wck��/�*���M.�1�'�d�e��k ��x�&�l�:��_W�}�jO�M��3���d�$
����\�#m�ה6�����do����ɛ-��U���37]��J�d� K^N�
��^�{dܱ7w|`�"���
^/bR�Z7?��� ^G�L(�:���U�o(߭uʕ�@&��U��]ض�����r�[����G�j@)�͘�nM�wtV^�� ���k���Cg� �N�n��l�
X5�#"��BW��u�fJ���'���d�-O9刜.�jڵ���Qy2��2+�Ro�V�`� [...]
-�T�SֶRy��
=�L�����z>��snK_D*�5�eL
ƨB���ŋ{
��{W����jf���=����TwEw��wg�g|}T��	����Z�ٍ7���u��\���{���Unss1u/�8+R��~�äk�*~��,���q孮7�=����{�哑��h���?+�^4͗���Z[�_��8F��;b��u{$��?L�8
�'&�zK0��K��R��Yu�p��L���
-�o�)@�^ej�AX#g5��m�m]�c�MI����^
)���w��Ά��s�0ǰ���(Q-�Du
�,�# i�����VzC~�>Me!~)4Rjw�`R��+�2���uT��
.ݱj�{ԶK���{~�	�P/��D�p�ء�HJ�����V��:��C�*_DT�o\V,�Y
}J��G��V��&�Q�^��5�d�q����P���S�
-�
2c�I�{?�r���6P�.6�e�yr>ֆ#
i��	�fA�A
Uf�l3M�.�N)�t�FdO� �̑a#h&H
-��:q|F�Xb��(
��J����������}6��rH^
�nBH��b�>c�$�����o��=~2��B$�R!�.F�yAۓ�����m�P�	�2� �
-��|oY�)|n��u�lL?
-t�z�ьv1��-�īG��}#)~�J���0��bB��j,��_hUv[k�
�^\�ք���}M�2q�3����,ƾ���
�}�}�l{���#��w�Yn�&�
�i��
���7����k�/��	���[�$Rp_�G��/Z��	����
~�
fƠ���*�b/�`
ZUӕ2;+�K��N�+�Қ�
�혒�	|w���a��
��C�b�=5`�s��:.��2oi�SĴƧ0����>��˧��H�c���ɂcCl�6*鉫����w�z?�
-�Z�ks��l�JU�D�b~�v�
aϟY����8�x��-��I���?�h��ֹ��D�6	�k��h�3)���bX�u?&+-
��X�}yν1=f�bc#��!��ס��C0azM�0��/��꺶��v��	X>���tC�9���*�� �M��#v�=;M�I|V
�	�
ȭ�2����&�Ƅ��u�wf�*ag
-�AL�~E�
-�}�"�8�n��r��痚S�9J���Ȏ�X��S0�o.4񇌠ڮ��P��
-�͖D�`��F����\�[��8�bžh?6z`��U�8�7�u4�ڀ�f[�br�3k��Hq�i
-)^8\WZ�Ć����@�9Զ��
k�/�y�u�e�mX�~��5��V_P��f�[�{�E�
9N '�\��	; k��@��gHsL$�	��i
�!ն�e�q�VH�vgQ���~�I���;�5!ͫ
aB�!��!��4��X�\�O�œ�3w��PS��l4MQ2���
���=%x*�؀�����\y`H%
	��ύ��p�~��Hb��k��f5�cg�
R���D�s�P,��U9�܊��WF�:X��6
���i5��
�P�yL;آXJ�y9E-��S����
e5�O�\�G��i�ܛۆ�qߠ	l��w6�9�eFkqO<e�}>�DhQbv��t��eCV“��ѕ��f�V1�!����}5k�	k!YO+џ`�=
t�Çe�:U9����d�R�h.,�=X�'(��E?��5

-w�]�ԟ�c��kӵXN��VD�*k
n�%F��b9[g�=lפ�D���r}5�I]#���kW8I�k>>��̓U�{���
�U\X�����-A|�@jox�Ko
������v���`���|�����T��C��_jN�
c
%5}�K��s����抔x����

T _㭉�t��9�0�K=�8��\Ik�yq���f�
`��=�.��ezK)[����r+_?A�p�%(-i��
:O��mg
�,�O�м��nP ���X�~��LKTTa~t�����n.ǩ7]���������������#�{@韆�n�	g�yW�ć��Jw�wlF !��ڸE�Av��"_
i
Qb�r&<��7V���&�2�\���#v��U	�u�S����z0�
^*o�y��aQ�*Q�7�)\���\L
��V��.8��6Ÿ
��6���Rإ'���<����Mfk�o�d��r�J��o��v�7��z�M�
z�;5z1,����[�4�ɓ�2�B�O�
|ٸl�'H>�pƝ5��Y_��C��|Txɒ}����K͸sF]�d�%��Q7�L�2�٫�~ew'�ܡz�����W��5���`L6�4L��>���t�}�Q���I at 4|)TB��&(d0E*��et֧A�`׊��e釒7�t˵Q�)"�=�IV�Y�g
?�b���Kd��͛
-�
���T�8^�0R�f�d��
p���͎P�j�<
m�l;�3	��EZW�

-��B�|
!�x�jG2q9&y��
�|�4��%4*���*<�_��%l�<��%-���#ӶM{�9�%�~G����~�����'N��r�����>;6�b�E����BUyr��%9FV�x��g�'*d����Y��fK�G���3��,f2m��z�q���G��'�(����uꗅJ�t���"�
)��2b���߀��VA�Zr at Lˋ,��2;+[̰���lКϏ�~�?���΂��]��W�wtI������*��SU^�����{��[��s�ռ�T�]^�j��_A�I&[�z�
xLh#5��4<[q8��:���,W��%����� �S��S�f�9=e%�ye�1�&��f��do� �3dtq�d�iy��]4فl駫I���n�s���S�ѿ�6>ob���O��xe�ē�����՜S�L�(�^�|�*�4�O[�5"SX
��~�!�����+�i*�";��ea�h	�wL^�|�#5Zw�C��4�����ۑe�
-�t��|��e/:,���&f5
-�aY��|����c�p=�X.,;�K�E�v�
YDJS2�����;Fk��L�Ԉl���~!�Aa�/+����?qy\J�4♿�(+�5�

-�"���(�أ׻�I�c/f󂑿;��ew�)�`�=��
9J�~���ʺQ�?ޜ�yj�I�]�v,�g�Ƽm��7K����SĿh�Qjq�n��-R�g��۽S�_�l��
9%�E��X+��:3nTF=O�u�ȇ)o�?�GX��1(
_r
M���C�9]�����A�R?��i��ȑ�՚|�}y�k����GV�z*��컈[b��	�o��u����2���<�H��O�j�u�M�������r���1=n�B���5�0\�^'�i�Y:��؍���{�r
�w
-��
�}��l���Y��N
�hkQ

����0��x���s��笰�QX���-�0./� 
"���<Z\�f�n9���ٛ�mm���kA�y��,�S2�,�zKR��`�[?]wT
���@��
$v��C��K�$~u8� u��B��o at K3g���)Ig[l	$�}��m�1���<I=?�N[�m�n[�;���;	�񄁖��0�_��[�\�弲���i�?���9o��۫D<�o�T�ļZ�LU�I��g�!�{y	�_�`:�"d�����猰_Z=��
-X~��u�G�K
�>
o���U�{0�4{���
)?��H�
��s��]��Ry���X�n.VP
]� Š�0�ԡ�Yi��R��Ee�+����V�n��q�h�@<2B��� �6.�
-endstream
-endobj
-13550 0 obj <<
-/Type /FontDescriptor
-/FontName /SRQDSN+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/two/u/v/zero)
-/FontFile 13549 0 R
->> endobj
-13551 0 obj <<
-/Length1 2390
-/Length2 13166
-/Length3 0
-/Length 14601     
-/Filter /FlateDecode
->>
-stream
-xڍ�T�7L
Hw
�--]��!5�� 3t��R�!�!����%ݝJ���ݻ����y��90����ρ�Z]�]�
-l�;Aٹ9���*Z�\ ..^..
tzzm;(��N�
t�؁���!!�4��0s(LP�Pt�y�����\\ 
..���.� s7;+�
-@����K��=]�ll�0?}0Y2�����PH:]�,͝ *�P[�#̣�9���B=�e��-�,������a�� �؈1��� M ����N�j��35tz���
�?
-�5���� ;K����dt����j�@��+�G�
�gq �
��5���oCvN(�[Z�
�͝<�l �v  @MN��e�;Y�4A�0}s7s;��L���r� sX���t�s�B8 v��9r�6+����4�������O��h	��'��up�;y�EY�9YY�N��ՙS���+PA�O��7f���������� ���-�oڞ��?���
|���� kX@_;k ��7��
���}����7���
����,�6vN�[��@����y ��`��
�����O&�	�;�<���Ŝ��Z�
X�L��L))����G�.�������|�m��+�?Pus�?���E'k0@�?I���W"nNӟk�
��U0l�� ���ߘ�������y	�P�����V�����ɹ�@��#���;ځ<���ͳ+�*`؆8���
�?
���su�_��
�#�N6�9g�~����?�
D��h�n����,��
���P

��}w`Z\\�Ã����@`-���mֿ��:Y��~� ?�����
60���
�U+��#��pCa* X�� k�
�����8�~C�� �������S< ��S0=�)! ��)A.ؤ�M��h�M��h�M�8��Kq�j�i�dc�bn� ��kk�?x|���g��b��9��v�� �K�%�ߌ��
-��q��f�
��р��t�A
`k�wd�M䴀E�C�s���]��R�
>�������V-�\,A at GW����X�Y��}���|�j�f:�V𿲿q;X�NP;ؒ��
	8�A`�˿���w,<�2��~��.0���&o�;�vп���
�d!�{�{��k76���!k:l���~7��a��vN����a��V����{[��N�7���)��� 8�aE[�^�ߙ�틟��%�
<W�?��3��?��F]�0
����&����=��!�7��?X<�x!v�#��B0PW'����A�$\��YT!�?�?��w����?k���a������
��_��8��D��[���W�4ߖK���o
��������2�~�U~�*?�V�̪�x0I}�0l|Ƈ���v�ø#=p%�u&N�gC�=���E�
��
-Lj3*���s�A���Ɉ1No�>T��w��v�C+d�P� �ȻƦN$�FJf�
 |0��[�cG�%�j+�> |����j�H��s�(*e`y�{zoO�y�RWi
	��"u��>��t�:
�ߵtaB

I�c�
-�����dvoSl�k���t�s5��Z�*0ߌhF��9���4ퟜ�����m�ʓ��ˬ��O�xA�]H�� ����'�Ip~���2�B��g~����cķf����<&	� ��_���A�΃�z
�� x��x�
-����k���l
W_{����.w�7t�;�
SL�跤
t���)�]O����C+�f�mo��3�'�533�ԛZ�E
%���h�uy_di��j+��%���JLbc�9
R|[(��"T/� ��8v
-/�q�]��\��'�i���)'��Rf���Y�*�"�e�]�A�����D���J�ԣ���?�L�Ȼ���˚�L}ɪ������	��7_�(Z
{�ȓ���Zv<^���F:ų��	��F�5J/�����+7_֣�tY�^���6�y��l�[�z�|W�VJ���q.T�w�T%�A�	㽮�
� .��XMό��u-�&H\i�0����C}N�/y���.�e��
-rN�>/��� 9�;7uޥ��j��=%�m�~;&zo�d�TP��\Ϳ���6��
��W�=U~��x��𼴡�:����c�����ٕħ	�y{�KO��B3U6�<�(�!z��!~#D%�Dh쯌��i���R.��,�tԗ�
S������ɄB�f=
f�
%NW98�����[����9.5��,�6)r
�Ğ��Q*R럈�Vx��r��n��J��
tRO$�m�,��U����2��7�\�K����Օ��9�\1��B����Y���k=ɂ��u�*�ݕ�GL���`]pUҢ[c��'�Ϊx*���
-��%1��ލ��Vc�⟵	�D�G�n��	s�H�2��$X�o�2��_�8�FZX�v$n�M��R��S���_{90Y��{��PF�
j
�+TY{+�CHC1��
ʚ��8�:�G����(��ղ$R^���ZQg�R�:���;��KWMc���"~Yu ���2"�5K$���
�ݐ'������7!\{�Jк1
@꩑�.�A�9���K`r{�
+-D
#��'M��x�{���Lqdl�._mf{���K%
����j�π�X3J_x������6�M�ĒR0�‰T�-c0�6�����j�DG��3:�OK �eu���m��,Է�F
�(�7��F�v'��MA��tu
�.�MpA	ћu����Θ�uS�Tj�� s�
�������5��-�,��݄{WS8�ptI��~)Q��l7���
�Ҕ��f���B<N�av_���������S��
--�G���7�'L{a�����C~�f �f�Ts�6�Jt6G����
SM.wŧ�0��-�Y��d[l��'��n�o�Q4����b� ���G��7h
1d7
.�7�
"�U���m��ns�B�8Q�5�?y:�����n ��I���DŽO5CLJ��,���i�|�˹�Ի��������t�u
�O-S��-Q��s��V�%][md�
��y�8�z �gQ�����>�-a8��ޓvg+c	��_�GZ^Ԍ���J"Ҕ_�N5*-]^�f0'_={��:�hi��3ܔ�����Fe���D�3.\]�2���ъ��B�VA�
+��
-}$<�`����U���#��W�R�U�{U�]�V5���GMy�豹$�
C��>����8�'��$��j$(
�������F�{����I�
/[c5U9��I��`���� :�x��6�.]��z�C#�w�y�,3ä�;K�(��c<��N9�f����j�|A	H HɚL�k�%�͑�<�7c���0}@
SqWBE�	��RU�ׄr�a�OC�
<e�K�?׸d��k#H
�~�_H���+A}_�}�d�^r3���
-j�y��e�
�QɦUg��F�Y�¹;,�#��}��,�ZmG9�uD�E1�X]ܥ+n׆��u�#���Ӗ+f�d艹�U��ط��F�6�Fz�$�"�d��1^�
�iK���?g7ԯ1�'9
9L�r�$��etZ�CؾL�H���>���
e��Ղ�|��
�K!
$�|�a��xS����l>oa|5fв�d?�����)��E��6���Y8*��D�H��Q�ˆz�=�Wp#�$�}���]��p�p)�\0�G�]�f9�9���+�c&���΃
-
e�p���O����� �Lz�C�<����7�4����I7�ۯ{�(�=�|B�����F$���|�M���u�wmŭ���P\<a��_��J���ET$��b��mx]�y���
�W�$�beÜ~iv'/T�����+�$mx�Q
mE�
��T�'g�29�₫��d��I�'��98��B�,ed���W�;b}ͩ�,�+��Ñ]B��?ً�Rx4q�Cc
[��d�U�IJ��ԉ��[��5ox1$I����t|=��jZ�9
�+%fQydK���|�TƮ��(�T���R=O'���λ_>ip��(?�tC��u"�ߪ���O��>}L�}���S�Q�Bم�
-��SF�nnű�S��8K���u������H�	�]Mc|:I,�I�#�����+ #�o��N�j��5F pА�1lIIڰ�� 7g
�Ϗ߁�%�+��ޜ�KN���k�IQ�^�ѝ
-�f7�؋�0�~�vG.{��&W��f����g���ʹCɂbܵ������/�V�W�_�<��|�3v��Mݚx
-��mF�'��r����KN�Q�r����暊�H��6�y��L����Q߬���C�uDK��r�)����A�ĥ
��D�T,�-E
(�;�(�ᚂ�L��R�0-�[$�T
�2����SwL �
H����h&t�_��~�r ��E~�y���i
�l?����#���Z���
�S�]� �`�H����V���A�S
iP$
-JJ�4C�iE_,㽥܋u�{��~�W�#=9I7���G�O��E��X�����<
!�Rt����ߴ"�k4/\m2橦�W��!'�a!�
�ۛT�:]��)fy���
��ކ·X8aRDz�%�0`��d����?�P��{
^���[\�����q_o�5�	�h!�!8���-��` ��{�<�Z
-
��ڎ-)4��ˁ������Aҩ�u}֯2�&i$�D����;���I�T ��/q�)�Hk���5_ȵ�޶ʍ
"�y������t��1��)�Q)ʛ�K��t[J��������(a�A��3F‡����N��Wd�
�9Q�
y
I�3G�/ʎ�ֳo=i�6�����Ȱ�5(�9� �

��;RŬ%�.NdWO���
6jJ�_�~�U����M߷��d�6�-"M�ڟ&���gQ�}M�E����!"m�u-��Ź�����!S���e(��p$�x�.m���̌T�|����*'��b���WZn�s�F�̷�n
�e7ҫ[��p�ʆ�*wmuW�XBHs�h��z�V�ϥ�Y:�*�tn�i��F��X��'
Z�x�\�L	רvVdd���"6τ:p�
�c>�̾]
��M�lK������e��5�w\�z��>�z��>MS��T,6�/trS��e��uIŝϟy�'5૯�ˉ6u��J�C���ΒW�S���S�6�GRx��>@�T��ke�m��db���@x���WY�{F���am���W
�Eг� �uU
�l�
��� �g���s����K�E=�t��^����B�s���z$"�8nT1������"�!RT������9��D�3��s�8��A�uL6�
׏x|���="�%@*�)ZƲh!���g���!�t��1����%�_�_��e��+"
g��1@�/�]�D�l^.\�GR�Թ2��U��Z�JH�tk<�����oS
n��$Gï�Q�%���pɺ��1�EB30Y<.zx�[9
-� +���Q���-s�~��

���f�V����֕���SDT�@�R���z�l
t�=���(�w/�b���ҍ�7D�.�#�OytM[�_²|��`F�>fV����*�=4?xc�y6��tv�f2bң�0�G
�6K�����ר�S4M�V��d��+{�m�GƠ��f�R�9�v_����*��-g�����סax�)/)��ۼC*����,�y�'�1]�$
0�h~MC߫�c����#��ƹ�LXz\8��C�C����L~ӎ���%��l�8F?_�{�Х~��ؘ��%��܎�x'4~.EKGmIJ˞G��(�G���X���/�����A�2���c�<����t�+gU��V���Y,^�wb)�d�g��PF�+!VY��S�M�����=&�
>s�#y�{���4E�kE�F�� !
� ����
�w��B�"ۭ�Y at N
L<�m��Bh���&��&N*��Ǒ�y��K)S�h��8ޟm,R�y��]����Vz���2ߨ� ͦЩ���W͂|م48�s�T���s
}���5�؇���&y�mh{M��o�y^��'��"aB�;�ʍF [...]
-�ȶ2n�Ůg���8�H�XW~3 Z��䮺���
T$
Nw�Ʒ�����f,\�+�Zi�7|l��tk����G!�
-k�^&g��k�Y�4y�Ѵ��A�F��ϳ3��|�O����
-�D҉J҈���
�/
hM�}Ӹ�
�V�̾��'�HvG�њG*W���̀�G�)'6
�S+b������j�L���r��$�A#��Cj�Z��q
-u�v�҈%t5�|�_�mEW�Ղu�C-�dT����|�_�R�MF�R�I�;�4&	w�<ݔ�N�}����r?�(M_H򺕠�����M������a�{��Ү_�5�5��oA{�o���9�i�	�]��0͗d�)yh��*�
#��'�v�~S�Wlَ��v�S���/�?����Z���;����@!���#��Y����I*�U�b���1\�0�6M��
�����"�
Wu$QW�W��o����)��uj�
�j3�x�5
:�_x|�=@�z�уz�.e3�����Д�F3[J�8��i�HV�6��E��wv)pP���@��2��MHu
�C�n���)��w9�5�nW�ۋh�yj\ѓe���nY���!��猤��
�W�?v,�kT�^��k�p3�{�1$�^��H�W���9𔼌U�"Bv�7ne���m uy&pDU��x��쁊�}�?r�'Hu�y�������~��yѦ���%X��j<�%���]#�e���e|�������(^��� n�qJ�����}6I>��U���t�����5LsG�*�/�
6K�]��^U6�m���|��=�{�IDzO\q{��`�m���f4��-�j*@�+�ߞ��;��o�bS��'�H�|Xvq�)�l�+�_���ʐ|S��(��L;"<%$��|����9n/Z�1zfjLk��**��ոz�LY�a\���Š���BG�j�P���gZ�
�/��qrl?�)�&��o�2�N��W�^N��8�;Ǻ�k�}���^��zC� 5�!8U<�]
���D��:
;jc�؞$�[P�w
��O��e羠���˹h���&|�jb��Yp�s��}�}@C�R,}Qu)�jA!���t�9
���/�L����UӴ9p��8�e�B�����3E뗛�֙���9g�MF��Pͭ�:(�1�e�"���ZT���E�6߬ʁ����UЯ�+�R�ט�?H9�C�h�1���7Zy���r*��kx��UW�Gۉ�a�	c�HU�ߗ7�F�OU��1��1�Hw8Ors0���4SФ�]@�E�Y1%Y�2ƚ�&V�Xyir��2����8�ҷ�kqE�?�:� 2�v�2���D-����z�G�~�Q�6����Z�Du4�֠��r����c
�6�rd
�׌L�Dsg��67χV�P�u�7۰�MR���Y
�p#�4�FT�Y6�,l���I]_���*9
EI��o����D�@}Ec|]	/�
x
-����
�D���a:l����׏��y
`���%f=a?]}�'�
8|�k0#���}`C ޺������L���������)�f�S�'���$/�/�i+���z�Zq]�-LvoT2dge�q�t]����\��k�_�#z��{}��
'����>d�C\p�y�`藿ë���ytA�mI%����lqk d1�"P��S�|h�5��j�s�>�/�O�����[� ~pH8ڂ��L��[H�M1>�쵔���C9}���&I���ĴE�U�Lc�ݸvo�h�:D���
���s��ף��'�s�;
�rՅ���1ؽlZ�s��gZ�T?��س���si)p�y
(�H�:�ξT61�&�1��B<y}���1;�����F��'r�|Pn|
k�#
H�פ.�����2���~�v|hOG5�1o<h���)iT>�L=����O����UDzfu
1��z�#�aB��_���Oi5�޾T
`z_=�็z7�[�KD���q�������
T�Ox�����D��v��O�g�l4�:~��w�(�
����ӡ��������2�N�G��˦�|�4[򶭃�]ԫjuɏ��rvk��ЌB�ۼ���9���2�� 6��8:9��,�Eű�%
o���)h"���
��[Y���Q�?9o��_*���DJM�lf��}�]�Nc��b��#��

��fM�,4�U
Kr�["��ͅ%b���8�h����0�`>�
	�_�/���S,1D˶ޤ���px��z��ɀ*���7��R��d&�����(T��髌�<�}
����k|ej�6��$u-T)�
-O�����P^�-i�Ȓ�eO7~��5L�w�W��)��c���k~{�ާ�oT�#�O���M!Y���&T���;k�
,�N�{h��J�
�4Є[�ū��|�ɋ����r��jh�7�˦�)vY�٩
��¸�~V��*���j6��R��8�G&��
׶����j�дq�cm�J��氬�X���P�
w�K��tġ#8� ����_�%���s�
�9C�F����__q�.N�&쇈�g%b�Z	:.i���]��a
�3Yp���:��RLAjȼ�W¤3p���[�4�p�n��T�M�ڈ�|��V�T���=��8�M+����f�Y��?����O�/�u�=�x����)���F��t�J�ōi�Ŵ^�V���q�z9�u���w�Ȟ6]��x���!�f
-�l�*
:S�lfv�������0m7_-	�#�Qm ������_����5Ӽї�[3�M��wϣ/w�L���L���Zgk���	Vu��&=��4Yu��W�5\i��
M�).6OU�R�깂r-ԟ���@;�\nf!�gy>Ǭ����:^�U�����`/L9�
��+�e`�zDz&�5�-�S�Ք"���H�
�=�V���}��`��+�;�l�e>
����"�JK�cb�
�W��b�w��S�v�h�
�^=H�	D
]���5߻��
�0�����s���/�ֳ
�16���n��ԎT
H��
�>�Ү��ofU0�����[).!
Ɩd�D���):��:kx�/1Q}�Р�Ȁ�{���?�q�t_?P�
N�(=�'P	����G}uRD�^ž�Z�c���rG
:�)�4>��+�mp2Ⱦ(g�B���Ċ]�s|mr�@^�q�����n�v^����sC0G�׳�w��n�u��"qu���o���K�g�Csːi[ ���U���莌U�f��<�[=8v�n$,�Y�r�\�
�$i&�M-S�X�μS
�_
�yK�l/�%ɨI�3�=��YP�90-&n.���z��*
�
-��B�������~I?V�4V��lE)-�d��ͮ8��XvL;=#�?��)��|�Xp_+� ��t����ƭ/�O�< P��,��W$�LF҄�<���W	Oń�+�Y��2El�~_������_7��y����>��0
#�[�ݛ�����"�J�2�6�@ �M�.���;�-�/d
�(x�����
�e|B
ZI-�h6^
-	Z�V��U���9
WaG�L'
jo7
C�!n:�X�����W<�`Zμ�@@p�Z�+.�DG5#�
`��Iw��٨��/�[�nK�����h��JojdF����
6�̠g!�i��]��Þ����F���ո֏���Q��%�G#"�=O��=K�U&j*�
������������d���/F/�`.y
U<al��,+�9�P9?ۘ�d��G_�ň	�
޳�+V�$	`.�8\CK93<﩯vU
-h�
,�2��1	M
{VU:P��}�QJ����c$�S���tJ�"
�}�I���X�ig���,���9l�?�(�͞�m>RC:w�+"�B�K�0�D���`u ������z'�(�'~D{�g�G�XS�ǴH}���SXÅ&���-%�-
S��k��:
��@���X�hrD���8�T�� U��`�!٘�X�����&�œ�VH�A�!~K�k�}W���#u�
�
;��*7L^������O�N�ۛ�}��#����;=���O  =@w��y�
���Z��cƀ���:Yj?���
��%B�#�Ex�s'ү��t
H�����W4��`�$(�z�
-%%�'��*p6��� GxCvͮ�1})�H
�Rђ?���%	/�@�vM���7m<
-c�˅�MR�<��YPW2y�O���Ṵ�V�{>��X��P򠦻z����erh:�	��=�J�e�F���9�
�(�.�̵��kMwn���B�Q=-��=���i�-�I���#UMڈ�Y�G�l��j[Q^q��luH��J��Kq;�QX�
D
5���UH?�|�'�G��4���3j�j�h�ǍƹT���o�XQy
-8���ݿ_��O�O�F5����G-�1���\���#����U
u�d�x��G�5g�b��{Qe��"���rҳ=o����ϣ�N�ES����<zl4�M�̓���r�Bu�
�1�Y��R��t�k���F؊[X>���$Cq_Z��č���:����{;�Y�a��͵�u
�D���{V��D���TNO�ψ��z�wQ<D��'- at s��
�L��E�ӏ��h�'��|v/�b#z#%�^-˘H���}�)s�f�,5˔iݲZS�$Laf��e�&��x!��&ܜ)�
�"�2ۙk�=d���l
�X
-�q�p;U���W�����
b����y���
9�5�Q�BQR��P���6{[��L�{�ɹ��#��L�0݂���6� -�t����'B��/{�
�@M)͓��#��g�ӧ}���6qVu�:�Y
����8��*A�y��9l>�
��O����Q�a-/ߤ|k���/&�J�l�u���šo�~^\��b`v�1-۞@�"�/���E�s_^w��
\xK����d�w���L7�xh�����/L +��]IHՏU�)�Į���yV�oq;�M�vh�=��Ƣ��|8þ�<
����#��
�H�dߣ1B-������a��2,\���/OtTܟ�;��SnB��.����3'&�w^_��Y�@f���҄�4�V��&�#���E�9��?
����Ŝ�$a�>��y���;j��H:# �܌�ϑZ��6d
��}+6�,$��y�q�;
�?������;�t7��%�j��#��0��_Ї
-_	�u�M
��
�v#U�=���: #2�1�2�6�$��80��V���7�u����j�w���RL�F�w�\���Q9�����tNH�QN�
\�
-��f����Yk�*8�|~�ES��<�����FA�Ħf�)�~%L�{k*@�����T?-8��j�ݯT��lf�̀�W��—�|���r:�U�lX�Ϙ�`��_���5�]
�J��!��dE�̊#g���iB+��uN7^���А�Km�:d�n^;�m�w���K�;"F��
�,�t'
��E�\�j�!6���x����ވ�*�TL�B&\�k+W��s
ڍ��q��ސy�24;[�R+o�y��v`��,�I�����R���DD��,w��&<�I�&�l�$�Y3e��%�1ՠ�|��˭�%�KrK�Y��h��k��Y�P��4�
3�wU]����n�t��^�>^q.��5����E~d�Q��`%G���r�!�[�4��·>
-H�1�p�j��_�Z��D��d����V��7(�CK��Q�hx��<c$�?8.1��Bx-����?u
-�\�X�3�����������H�hT�>!��0�����vgqR��Oֻ��dxU���81�E�}�
o+��zU�[R7(Y0��9���]��C��C%����B;� ZHk�F:Y-�?����TlOr��d� ���<�����
BH��b$ͤ�$i
���|��h�O.!�H.<��G��
f�"ނ�}>)d�K;��41y��[OS�~�Sé����2!��g��i����NB�3
ǽ�
-�*�_�D�[AY!zs$<c�쿾~����f࿏:��&`����ʧV���$G�*5��\��ɷ
��q-��F!"�Q��
��5�K�ֶ
�u��Kx{���O��lT(����4�X"6L�����P���X�8�c��f*�|:rMf��H|�얿�>�G] E����pz��c��+D�:`�*���vo�s��m at 8�.���W,sad$s5-�4�iZ?��/��a0���q�%����1H�۾BA��J!/0�MTaDᙕ;W ��@
�n+Vs;�m��'<���=7N~no
�n��+sk���
l�Z���a�7
-Z�����>�mT���\�CX[>I-�o��AA
���`sݪ�3���W�$�I��6g%���~�\���
�fgCŤ�̸���'Ɲ9�TTx
�
�l^��Op�)I���~]�IJ�{�V�^�q���2�ɲ�܎�#����)����U�D� �d�K�z�zq��F
wU��C�[��w/,�l�W�߫����Z�并vY	
�
Y��S��؇/��9ܷ�]�x5�Q��V����a% k�Rad��'���'�p��
������ML���\$
-�M[
�>��9�p�PJ~8O"��͓��վM*Mؐl���8�E�Y���ǥ������ƕ��a���$o��=�H�
����p�tX|��u/w��%=�
�:����z;C&nHU��"l����I��6-�
���q���M�םy�ܷ�Z���#ظ9Z�+}���cߨ;���9�I�1�\����
-ț���42P7��!��>љ%Q��r�7�5�6�Qή
�
����-�$.��c�B�4��s
-:�4�X(~2][
F��+
=ѷ���E�}����}5-�JCϑ�`��[���sԍ�]vs!?�R�W�I</w'B|�� �a&G�.���(�
߼tv���A̽��9�;S�
�
�$����k�Q/�ܦ�P�ja\-d�
-��#����:g��}s at e�1�,UW䉭���!����/0|C�
#��N@�ɷ�%P�q�
�X�!m�;���׀��kݧ�	�H���R�=�
-h���8J�#�@.b	�����
?�f$��|o���x������ej��H��+Ž��C��}��f���{~QG 
-4sDB���3CPW�yѲ�"�Ŝ]��y�2B��`��[
����6�5[�݈$�a?�8$���~��3�r�y�@0�}�y�8蝴?��s~j�Y
<<�k'q09�g�ZW\"s�ܲaZ����wx�B�ܞ��&�nclZ%
-e
©��>��d����s�^%BRw��@���uH ���f���}M����P\�K�
�Of�%�T�a��eh������|������<f���
ɒ
�
#*�c����E�v�
�
��u�z����g�����K@
�f[�����,���Z����Yg���6\)}Z�U�B�J��D�%-Ng���`S�yͼ��Yt�Y����3B���zR�w�������^�r�c�$�;�y�p�$�͂ٛ3���q����0R��^P������b&�n��Ja���p�?AP,��r���XC x������}I�ay�A�
���ڦ'D�`,�����������J
��>G�
A��N|:��h�7�*K��E
*z���ix�ٍE�2���� ^��z,RS$ü�:���x=�c&٤� �R�W���պ�3žr��i:���rҌ����� �ՠʝ�qƜO��<mՖ���*7�DL��Y+D�d��|#��}�o�L�{بݘ�9
�}�� 4������V��S��;{��H(��=���ܕ�u3��d���. 6�R�ʁ��.�ć0
�sIA�V��}e���i�ٕ%�X�zAŋ�?���j�|�Q� ��Ks��P{�p��}h�*�rj��I�7�iѸ�uLA�ҹ�`F �gW�٢�G�s*_kհ.1����_-�]w#L4�5�J��	0���W:��a5��
-����i
�3�fI�̝�X�?e&Ts*0�"�Ip�4Z����Q�LMGi�7���2^{�^Ҽw��ˇ3���k��
�$���6�������?�
Y
�?��B�)q���k���:u����-i��k�Yy�5�q�9��qoh��{:�bI�������~.j�@��4n6?�A�uKí&�߃
9Z��I(��<X6-� �>��ךb���0�o`�fQc�_�~u6xυ��`B�C�b-��S
Q����Ԗ��\!$b\��=�~�
z��hBM��)����H�z��S\��
a��.Ny�W���5l� @?��!k�ȬaXb�S�ҟ
-%�#~�FoK�n�B�
������8�GK�ɺ[#��E4F(��Z:xF=ST�>�G�Z�s.«7ݕ>��Ŀ[����V�������z��"�{��hw��M�����U�I,A�ۤ�w
�
*}�8z�/����M��[Y�U&�H3ބ\�����
-endstream
-endobj
-13552 0 obj <<
-/Type /FontDescriptor
-/FontName /PACSHY+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 40
-/XHeight 431
-/CharSet (/B/C/G/H/L/O/P/Q/R/S/angbracketleft/angbracketright/arrowdblleft/arrowdblright/arrownortheast/arrowright/asteriskmath/backslash/bar/braceleft/braceright/circlemultiply/element/equivalence/existential/floorleft/floorright/greaterequal/infinity/intersection/lessequal/logicaland/minus/multiply/nabla/negationslash/periodcentered/perpendicular/plusminus/propersubset/reflexsubset/reflexsuperset/similar/turnstileleft/union/unionmulti/universal)
-/FontFile 13551 0 R
->> endobj
-13553 0 obj <<
-/Length1 1436
-/Length2 6211
-/Length3 0
-/Length 7187      
-/Filter /FlateDecode
->>
-stream
-xڍvT�[�6(H���<H8t�4H!]#3�30
ݥ��H)ҝ�tJ�t
-Hw)�4�7�9�����k����f�}�y�}��v�>�<���D�yx�%E-}��_���_���� �v����Pnp$B�9(�`4S��1~ZH�����b���� ?��ߎH�$��C-^@
����+"]�Qp;{4��ߏ �
  !!�
�;�PpЂ��aΘ�6'@i������S�
�v�������8��"Qv��@�'
m���`(�EІ8��0�%d
��np}�-����	nC�a"�P
-���4
⏳���� ��I�W�Dp��`��
����#� [�
�Q��E{�A ��qrCb�!
����w�@E^�`�E��wA����~Q�������"���@���O	���`�ݛ���:"��߿�p��	��
�C��
���
"����~	QQaQ �
-��l��~�7�v��6
-��1
�}]�.�-��n
����A<` ����߆� (�
<�����d��0�?k���^�?F{ ����,0�"N����>_>�����{�Ǧ���| 
	aa@@XX
� ����?����C����OB5�-��C�w���K�M
��
-�H��a �?�7���|	���w��M��������
��;9�6s���f�3���/���ј��Bbf�߮F�?����ݝ�۪��`�C
a�Q8��0/��
���A�p���
�}�Np
�t���p0Q���e�
��#�Rq�
�o
3S�����AB
���( A� ބ��	�� ��)�¼~���E ј ���E�
+?��
G���B���������(�3�N0[�o˿��qG�0#�[,��^��`0/�
��$�F*̡:��R���gm���RKd�IW��c*��^�ꨫ�5������#�~
�_N���Ӄ�d����V�y^8��n�
E��
��D�P|M�e"�6�1��h4y.�!�Q�����m�Tbp��Y��O�3Zv�E���-��L��co��R�
�
��
�=Qh��;�^1�M뛛�M��J:���-{LIG�Β��Y
uB��;7,�cŢ��;tyΏ9�[��_�ew7&����i+��uC�{S�x/��9�ٮ_
�&k��ľ��"h�
�dH�/�N'��U�y��
-h_���a�T�)
��&f����-��N����5"1�O��n��i��hw�ns�����d
"�ՅD�����W
-	��
�������[u�HϤi�6;F�n��
1[�A!
DŽ�:ר�@�6����Ĩ���3
�n����#�=V˱_e�/�������-هl�_N4<|a02�
.�=g���M;%W���k���\Fl�j����ɡMP�W������.T^�BYn:��
��'}?�~�����F�.i����^_Pm�b�K�붲hPw�qb���i�n���
���QU��L�S�
����˛�b�	fImn�U�m�
?���4�������:~����X%��m:����oat2����Ff:W��E-�z?)�,���ԡ�l��R8j�� 
���y����6�)��3�3�_�ƫ�tE����(���F�z�C�ѼbLY~bcO���`�է�?��$z{�$>�ɟ���V��Q_�q���S��K�=��%�2
�<1x�9=�ƍ��G��7��
�
��7/��[z�X�( y�w���N1tC���
-�O��>/RS<��^}D�
��-���'��"��#�zj��ά���o8�{./�V�Ch�j���ʰZ
�
1��
�`'���/�J�y����a���P��:�� [���-��ȏ�����Ck?q��#=��m��G"���Z{ŵ
-��hʬm�2Al�%F��O��*��|D��%W47�	Y��j���|�i����Z���
��}��RhΧ4�QG
��t�#��ZH�~��`�Р� OR�J���{,�92��ɾ5��w��
(��h���?!T�~��/�)���]
-�Q��$��ղ -{�|��(��q��X�=!��p��"\u�'���(z�Έl�y
�;�Q�t7���SSU��R��S�,����w�]e��`/{���E �r��4�����E�E���+:+�M^�-�ʛ���z�\ˊ�[U�����b�
P�p?}V.�
�@YK�O:s��E_�J����-I�Ŷ��>+�m���;���i��0�Re��r��#z</
�
��~H���+fCi�C�+{m5֎h�'������k�Jw�D���ן3�ح��myԣ����ཌ@�֏��;U�*�GB�z�U�
�źLÓ�b��_��9P$���ҷ�h;5�����q��̕� ٱ�������
���s�T~P4�p1Ae��o4
G��
Qй�K?�`�$�����1���`���I"���mB���6����k��z/�s4�|��4F�Z�X�܀@E�ԩ�ֳ7�c�ɮ>��ꇖ�Xg
D8�gd)_2$.*A���'��W0
�
.�X��3�
ؿªM�~�!8͕8�?�7�

C����KŪ}�qq-�����T��i���i}��NA�>&�UB�}�*���h�x�8�mW��(�LZ���e	V��{�4��i�"@�ZĠ)�jǼL���
�e��[ڿǦ�#|B="%�s%dj]��n�$o*q2&	�{$,4h�Rف���}��pmU��Z_�a�B~�^F����1UW��h�3�B
�9�ҝI^��������9�G��,�,7�䚼Qi���.�����N�$J����Q3[��2 at E��I
�z;�j��(�����,W8d��:a���xL�?z���|nA�h�U�����D�h��D�L�{�a
��k+
�O�Ր��b�����y]��YB0��5_aQ�(��55�-[����\���l=djKe?�������������H�
���P4�CT�'���5�4]��$��+Y��,:�8fֳ�
a����Xpj?[	���[��
�O@������I����D�@�ګ
��X��0���`Y��jQ>a�����M�0Ah_��������x [...]
-���ª`�C�������;>�4S����������E]ܛW���k
4,.8��b��_�;�0�^�0�H�=
=��q�r�C�%�J��`E�
-�8ר���9Ug݋��o��	��uF7��T@>����,�ĸ��Υ�_X8m���b��
-����i�)xoR��Pi��9�ݰj E#��r# ���l���NE���`sW 6#-wH��T �����t␒����S���@�x�(n�e�@
Q�y{��<��� ^��x�����`��>j�"y�.]�1�>�UN@�j��)h�Ek �W��u��>��\g}
k[pT[~}���Dw=���g�,.i����٧�6��̷�u�u�8g�8�<7�
|
��X4Zm"BF����o�u�ݻ
-5�&�:rmC1u����fʁ"�ۭ]�'�SqUH�#2灗A�ʸ(�c�ֳ,�>
-[�5S�,�8	ȫm���Y�m���zs�>�F�L������_�B�k>7 � �n��A�,nu��2
�X���_5�))��4z+��
-���u�֚���6qN&ڴ/�Hq	[>���R�p�7(G�~�}�����֏5_n *�	�󫬉x,�
��n��ִ�J�;qT���b
�
�L�qa��&�v�5�@:#Q
���R�B��� BL��,l�
���]�����lOdd�*~�V$�Y,�2d܋{ �7xtB��e��1/�z���F��e0�`>���4�`A�D#7GluK��w0~Ƙ�Jq�Fp���$�d�gPno�s&�vk��5�9�2`_�U;�DX��W|rTz��&��ǩ6(���T!�x�kATy4������-���HApsR��k��QA���ڶ��
����H��x��:���7�o�\jݮHvCn�4j�S
%k*�T(_y{p�[5R��o�~d�upʐR��e��h�0+ǻޞ���c�(UX@!��N
�n����Ԅ���G�O����h
V}Z���ĦH�u5خp�����%
�\ Y�;�nƟ�
E>rJ 	��:dq;$L�w[�x�!~/&a�����o���I� >dֿ�����4	-��(b[2�Y�c�����үkpG�Rr����2
��
Et3�r�A�Ke�r�����"'��
~��q[��C}��N�����K�%mҨ٫��
y/EI6݁c�D.�j�ZmHGg<�A]�ׂ���͜;�S�Lfͭ�5�(������l0]f�"
-�����M���7�����{�)��^��2|���5���B��"V�T|GuJ(𫋄I2J&��&g���v��%�cS��L��?�!,%:_=q�';?t �Y�%��j��ۅ�~꿯N���1#��<{Mo���_3�V�b��ήMU�^��6x�>���b:G<;���֊������O훞B�� ��8�~ȔnaV�o��nz�n,�O
�u��2W
-���$g�&6���X�t3�@h׾VZ����
�Y��(���c��}�	�-�r�ݡN�۟.
��Z�`+jP�v��gcN�
-����
��t�/�V��U�W�z�S�3*7��
�۽G�
-PO*L�
kP
F����O��{�EB
�P�g�w�浚t��(_?���$
�"�s�
wP-����ޫ2�6�7-N��go�P==�\N����3_0Icɂ�����H�;�A
ʨ�
X�ȼ�X~�	v��Ε���D^Iz#�{H松
��~�:�Nj-�y�76�H��$���ht��)���X,G�gLN��vѾX�z6q���m���Y��1x�knl���*�q�K����@�7t1�O�X=�>�
ͽe�0���-�aJ�]M'�-�̚N��}
-:�ezt���g�0�8��!&>�
���lZ���&j��F>	p�}E.�
�o�o�M��%K-�
h�����Q���ӊC�t
r����P~�.K�����߸#i9��Z�7ѡ���N����Į�m�uP@��V,k�'L�p5�m��#s���u�!������C�rND�'6��xL�e��ڋ�דsވ
��v}}����X�
p���6�P�������p�k��*e��ui
��F[��>	�kgsQZL�
�
�/Mm�XVN��q��ꂆ��,O��۷=�p��Q�$&K��%�]>j�K�e��'��r�~��K��.skA]������]���l�]�h��F��T���6
�;������
��C�{���p
Q
L�����tj����
-[�Ir
��@�g�Ǘ�Y���9k�GpD@:�1l�С�������D�
��~c>r�!�[X���˘�G'�2��#M�dG[�|̅�O���i�^�h���,���Z5d��j6�E<�!s��
s~��j��Q��i����p��7�� %\�\����n�o��Kcc���4C�����P���C8s�E��Js~��HE�yϣ2�
��X�~��m8���q�O����������؈��l�������%�y5~�m_����'V����E��8>�(:�Qb�R-cf}(+�
�e���^j�Z��-��]���ᚽ}
�ݽ��`�ғ��_[/���"ߩ߮��wM��W�2�u#\�`��9�u}�����y��~J���S�erZ8Nqr�y����I���{����GA}�R����ޒ�ũ��� �ns�T��O����;q31�s�Jz�`ŧ��w*�4���b\	��׺�Y�Kf�<A�ƣX,~��/�Jig�7 0|�Ҳ����z�I���9�o�_E�]o�atC�� [...]
-bckg}S�x˼����#/f�3�C	�X��繜F���3�85�]�B��5\��S���"�^I2�P�$tO�@��3�7ye/i/��T�>$|K�.
P?��
�Kr
4��2�<�g��6��v�r}��X�G��� לTVB�&�y
��~c�h��X<�񙎪W�uJ��h�h#���Am��Q��]�3&����Λ�C�)F,�oc��L*�{����"N�ZQ��T��lK�4
-���4A�}����*�9�s�W��Ǘ;}��:%,%|955�����ݘ��z(�u��j"�k��έH���^�����w�7r�Qx��5Ʒ7[�/���T��}눺��
�~�]���[z"[p�Eq���ȴL�	�:�F_LWd���J�>��X��F�5��E���cl�ҷ�0H���Ǝ�&����*Y
-6K偳�[T�!����t
=����#�[�qf��"ig�Hk+}n�iޛ���$��V�Gѹ��
-2�T�k#�샫��H]�����77���x�rbs�7�?�af}�)}�x�E��n��1k��~�t�e����)>�q�ن}����A���;ɏ�^�fAgS�qh�;Zy�>;����ζ{��
�9�M����@�A�_�$����ۧ���br����*ҜHQz��8&)���5�)�d�^t�mb�)�)wNJ{΂�c~Y�A穀aCS
߮���$��㑰�i����|�
q3k���1q�!��F�[BjwmB,��x�ߥ8_̍��`j���
�e�ԗ�|�
-���5��S.&h���
-l�Z�P*1��i���ܦ�5�-�I
��9Ѣ8�Q���֑�,��'#9���|ήҨ/+��5!�x%
�$r_�A
�kl��1#vC,R͜�O(QE���R��l�����O�\�S�I	*E<FϮ�VZ�g^�$X�
A[iٍ��SꂙV�
��F{#upZy�QR�P"2k�i
-p�{���k�Ur��d����L�i���i\�c;g�,�ߺ�SyM��`�k-��lEa>�洕	�
����Q����wl��`)�Gb�O�$�

-endstream
-endobj
-13554 0 obj <<
-/Type /FontDescriptor
-/FontName /TPJSSH+CMSY5
-/Flags 4
-/FontBBox [21 -944 1448 791]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 56
-/XHeight 431
-/CharSet (/minus/prime/turnstileleft)
-/FontFile 13553 0 R
->> endobj
-13555 0 obj <<
-/Length1 1502
-/Length2 7159
-/Length3 0
-/Length 8176      
-/Filter /FlateDecode
->>
-stream
-xڍvT���6�R҈���ѩ"�

-
���T��KJ�NI)�AZ%�n����o���=�}���>�u�s��u�8Xt��l�VP%$# �� ����  �0"��0�a���D
FP�DH�/y��b
-
�O� ��:�� ��X\
-�@�;"QR ���	�!P4�<�����`������%%�����P�� hB0�P8��5�	����A1����[�
�q�twwB�h ew������h(�
j�E��C�0q 
�a�?�>��AAX�	f
E���(
-�-�W� h;C�5�8���
 
����_�`���kk$���!� �0'(@[I���� �_�'4q��� VX��7� ��t,��衭Q0g
��9��(�+
�ˊy$
E`�D�� CA��m��3YG�
��������E���Y�sq��*�傅�����(HRLLD
 u@=���7�t��6��X���Hg�-��f
��y�!nP �
-���߆�<�� �5`��!��͎������`
 3V{` ��矧�Xy� N����������������
>Dz �D �"X�
-I�%� �����s���@`�
�oBU�- ���w�p�K�m
�?+h!�R���U�9Hd�����w��M��������Rrur�m��m�?�8���/��]1ح�Dbw�߮��?��	�����۪��`�Ca�U� X����J0��
cm�GG�[�	��� Ѱ_/
l�_6��Y;b_*h��~��؝�Ϻ�k�ͯ�@P(�'�1!QQ�7��6P���H
6���
�E��~�U Ac9�Ў�)��2���B`��
��ێ1��1+�`I� 
��=vt�� Ag
���A A4vyq��kW
-���%����
-��Z�L"���
j�ZO����������
u��b8��{�kd(tyhiS~{0Ug�U����鰇yg�ӹ�\
�b�ׇ{y�?;�wm�w�>����؍�e�eiv݌+�x�<X�Kx�b��
�j*�	�^
���0`��r�6q#��/b
���P���\
T
?\�F�bN
�F����j�>0;ۗ�ӝ*|����R�<����K�%g0���&>K����P�X�Ur
+}<�s^3fdd�yG��
�`a�P*�e�n9Tȶ�Ŀ�O���>��4O
��Sz���E���c*m��� Z���f�i�t�`�J�l��^���G)8����W��M��8��E

|&�7T?����ڦZӉS=k��bq����;W�'|�e�L���
��
�黊I��ƽׅ�bl~T)�z��W�ʋI
��<�&irdC�O��

��u#��=��F�B԰ʱ�e�8A�}SQ�W���iZfe5/�b/��L�n���y)�|HuQ����T.RE�P��洶V^�V!�-iµ�
>��@ϻ��骼LK����1��Ɏ�d�����H}W��W|��y#�
�b��gfdy���g���R�K����k�v�Xl��P&oIj���Cm��n/�2�ϩpjl-ZtL����
覒���9�����)��F��03��hx
�
���@a�:G�2���.���}�����J���4��x�繃�x�2
V�^�"UF��=m�w˔��ڕY-�AG���c�[I�~�<O�(���桌��{����C��p��>ũ+�ˑ�����k���_+��-�7[�I$�����/%G[��'��D�E_�=.	𶰷	>\]n�|-�3�/�*�\o��
���B��"
$����{���ž����[��pgo*�=C5Z��G��W#�*�^��1�3_KjQ�r��
>��7��b�nP5���:�uӺ�n����﮺�:aTP��M�kL�.*�>?��/~䆜���|��z����B�?ɠu�Z^��(d��4]���ܬʌ�{Sƙ'x�U5��"���`�P�W%d8+|F��A�sUi����V�D�����L�Qf�>�&�YƷ����39�*��ȿ�o
̲7
>j[��YG�Ĩ��Ƚ�#��,�,�0"�|���)�y��{�$�p���f!�QG/����-�����
�� T�iG�>���߭����tlP��-O\���P{�M��a2�o�e���z��4�<IY�Q��<c- at 3e��EY��ZW;�b2��Hn���� ��fT1콏��O�/F��JX9}������K��f�=�z�!M��JGlF1"�%?�_	�N��8�=
�b�=
z
-Q5�`�%�m1�U���{6���E��
��;@�n��K
]h��؉�k�y廓~"~�*Q���{�>�����I��_4�+�6<�
���+'�o}
�I`����O�+�:����2���,���-��N"����|�s���+�Y#g�2nn�Su��K
-��*��s~|-�"Cݔ����9�]+�i�����
9�%|,ׯ�2,�����N��쏻
-5��_$D|o���+y�.�fs�w�
|�]�T G��˃�O�6��62f-��B�L��M����8J'��'SjŰ[��|����VR���U�ԙTRd�e�S1%�g�6��Yz[s,�]��Ex\�
75dݜ1g�\#�c���~ɪ�Q�[�w^�씊?�}H�����
�J���D�EnZ��uU���q7��-y�
\Z���\SN�p%l>8�ɕ�e]zꞆ�l�  
�7��R�^jg�e�Q�]{럷���1�6�x
z��mt����h=|�
t��TP棧ʖ��|����wQ�Mt�ז��H9y(h@�Q�'�5
��c�j��El'w��n6���ɻ�h�
��'���B��U�1�L�wv
��䃈�鼩ٺ&��f4�s��(T���fh�<���1N�an��
�
����u��|��M#���k����ey�
���x��ogZ�**��޾N�U��X��
�i	{4	1�s�Q�|-~��DX�rzr��I�c��ͷ���0�j�i!�yg4].�`�퐄.k�i]�7��݄��-�%�
B�n�qF����z�"%�$~�2����(��������~M��������s�~�{>��Ӯ#i_�6$��Em�)���Q6�QҢ�Ŗ
S	ߑ�<qS8YeN�w>�L���DY�{|2"ٗ��03�f��$�P�r
*���^�XW��<�����[��.8b��d��a� ����)��H��ehqt|!s�A)7������wjb
u��
�nC���7��8Y
-��AWe��׼V(X����
-�<�:�,sd9�
�M��Ng�v=���ʟ|�f�
��|��L�v�`;s����`�B==ߕ���%²��_��슃J����I�uɹ�� ���w���;9�y�
�%�$��/�|�����s��e�8��VX�Q3?V���02��3USe�N޳u�npf�mꢞ\~i'}�UH�=�f:�v��ɒ:Y7�+�8��{�
-�̫���o�&E��'3x�W�
�2�v�4�
SZm���
�Y�'XĞ��q\�xޙu�_wy�
��Tϥ���~ҡbm��]{�(f��*�H�<6?���=��l �}j�$�9_�
-����VA޸̿��|����}{�#��)��'����D��tk
-B,�|��[$2��������ǃ(�(0~
-����H)n�����u���9�9��!>$'����l8�
����=�JZ�[�x�^�������r��؄��(��px⡠��\��\��l]?�����l� tI<�q��:]s��8��+�{��t��S�~�\���p���4�3�
�4~�n��{|z���P�R�G���V۪tH�U<�	 x�{�5���@��.1�|A�{�%�_���\ ��sCܨ2�B�n��Ye6Ǹ2�E���y�hH@�{
�������G.�'� �M����-'���+�p����y�'�:��EUyE�ل��^#o��Q7>/��8�δB*�/�ڱ%;�O��?a���dB6���}c���Of҉`ޙ���9�G���VDJ|aX�x�L�=‡h)�a�
�՟�Ta�!��>��&o�q&z�3����B��HṈ,N��w����s
������a��fݏ����)S��/�~
֭�]��R�~��P�찜��q����٬�!
�!=����V�2�^��7e�d
-
�B
=�[�	"ɔ���
�H5�F_*��d���7@�ON*O[D��\��T�M^j��VR�]�J3�엤���^5f�e��uׯY%
%��_$�F�1�O����G\�/=���\��rn&β�H�ZX��\��F�G�E䣋��<{UgѨ^$���i�L��#
-���;q�O�$�I�^@F���om`�Z�{wN��
�\g�T0�f�Ƅ�G��َ5o��%�.�6��)�>��i�:�j����
�>[����3�B���N�jI�ӌ�\U���t#i��

������nO�/��	�uM.�(#rg7��k���V�
Nt�\�l at Dq�:>h�C��Q�d���|J����
5�Ol�+���"���7��䰛b'F����\��l�GDG�Bj͹xg��ąZ����� ��EϾu��9�z-Ϗ��|ұ8]�`�q�6���I�'�H�����|�S��
9�
��������/�1)�h�^�'����}�W��l
w6=CK2o�lTF��D}���	��nϵL9'kPo]&�ϋ�V�XJ~�Qލ{�;�g��3�mܵ8�9"[j�C��)��o2�
-�P��[��*��6{�������i��\�Ⱥ�jGKt갌X�!��q�s��`�'�G�
� ��u�b�
-���%�&)4|^�+
?>�OhQ�Y&�s$� k�:�;I��>�
kS9.��_O�A|3���M�c��o�Z��c˂/�����Ě�$}��$o7����ݾy��::��6���<���G��л^V$ͭ�\x��5����
$���̓
-:�,Kr�6
0-�<�\�ߕ���āL ��u��z�Y\!Q���x���y�D�@���j���s��y0�)q�jZ���S�:p
��0������o
�h'���

< (r8�D�kw�V
n}ȉ
#@zy�<�?�����:� �\8wa�����8fyE(
-�9�&#E�΀�;��J�JyP�7�ꮆ��M�$pD�~�K�KmD�ʔk�Tz�ie&�Nz>$�9?e۸)����]|���P���A�����޵
Ռg� z��6����#�]�`�*�
|
7Q ���Ѕ;@?�"
���5
�"ր2�i�󋂭+8��1^BO
_���.�Ys�Qb��u�YN�v��w��	���W�ް���y޻c�ľ�
-�����=�[+4�ƕ�jV L���3'�=�zG{��C8�1�`���4��ֈ":����,��Rj	�U���M��
1�oLaXhGT��J)�0����]p�zc�\	�t�4��63Ic��
o���
��cx�sT
�Ml$����^�+o﾿w�)3�
ݙ6�b=q~���'9���S%
f�텉s=��Jˋ'{��I������KQH
��L����d�NKe�e#$��M�x�Q�������:�],�W[�H
-��&՗�C
-�dR��8�{�^���kD+[LJ5����
-f���m�~�e��[s#��h���,-k\�Y�� �3J�@��'��q_+xU�9u��-e]j��Kȭ>B�.���U�����wq�4���^緩?�o-����fz�C,V(��}�H��2b=�>���FR��d�	{�Ǿs'
��:)���ۋ^*��2��������n,s��L�|�uK黝��Zh�ql�~�<��KqW���
�1�4�G��D31Ù�~�T8b�j|Ԭ�D^'��by�
P/��.�|�H��$2�	��V��,Aj~S.���K�f�mQ۴� �a�
�eր��Va)�_"I�<Q��[ c����T�p�ܢ\kn�
�������m-iBqv7H�u�p
?2�G���8���b�D�I��pI�j��Y7JB)+���]Y��n����}!�R"�^�v���rԲ��.��M��Bui�4�
-x�} �
�Z��^nԹzC�|��,�tQ�l_��$����Pp�0��σ��L(?�B�s����Nf�lT�g�l����L�˘�U�6�i����b��ۇ���9�m=#��4EyU�8�ʱ;���2a=Q�CV$�K_<1��Af&�es�$��+�(��� jSA�9?&ڟ����2ҋmx��1�Ӎk�;8U��7lV
>wȰ�	vnެy����Fl�����k��/n�����:�1�+

�d0�?o$Yt��䑍����b�����
ns���қ���j;�ʮ���D�
G�:�wl�)���
��-Ӵ����l_���*[ҵ���0
-).����6�|샓�;J��$�o���jq���L
ǎ�p]��Ex���d��bΩ[Q-f~
V�B�9�Yl�����.�F��}dy�� j]�啨���b��
Cd���d��4���`<�
��)�d%��[��
T_I��)�{e����=O&��,�x�3�'X��u��n8I�g��w��cF����v�ғ��
Ν}��c�Bt���w�^hSXs�E XC9Q�
灱qF�=G"�NÍ��}K�-g�%�R�	����iOѲ���\���kt�
�c޼�r縶��8۹�Z5��O�O�����'J���h���\�+��r��`��
a�]�<q�����uWw
�7\C�u��ݠf�/�)|�MʌJ���?���:����ڎ=�ŧ�G%,.\q"EW5pZ79�eRm���^{�pd�P:L�h�
�a�cj��5'd'���ͣ�
�l��R`$�u�L�b��QY
7�0���=<nڸ+�(�:?b�||'
�P�=�<Y��'��з=_�Ӝ�C5?'���s���)�
#������c�
<��ٓ��������gcwr�aǴ�����;Q���!O��l`=*����K��'�F�_t�6<M��(-�lg��U_��h��,�~g��Arƒʲ(^�}�y	���e��q;�,L�
I	�䲶q��󖹎�ܱ=�[��R7S���%��G���|�y�FKhhr�7B9���Ae�" ��Б1HI
��|j�0]�C3�Xn�^e� f"��
-\�iv�owJ)�,
q:*�g&)���W@�!��[���fD�v�N��w�=7��#�(
�3~}N/0�q��\d~R�����&���_�}�A�No�-$+I+[2
��!�A��Qx�FQ~��R��L����
�f��`�������oK��hv�U>;-����M�ҍ����A@��H��Y�]���~����2
��ٴN�����C��$,� ����2 ��Q
<7F��~�۶��ӉEFs�"䦂fTs��Zd����G��
-I��s�
ƼS�Y2�ɣ�8�'��g���ܧsN�y�� |v at +�6F$�
έ$[��J�E�y��녰�NҌZ�bpt�}��e��q#��"
uߡ�ղ|5�&T{���_$�K�E�t��ܯ����;dMxY��6��C���ܜD�Vp>
mud��aó��"J5n�0���f�܉��p$.�^KMʚs���Ͳ��B�m�Xy at d<|sm�H�P���B�c�saI���J���i6#9����Q��������\BLٕ�J��
��n
k_�^l��G�1�=e
�D�݃
=�ox:�\����r�¯�5=m�~[A��ӌ��4�G���Va�Q��DHBS�O�Sm��SrV���1X��g�1���
zf��u�n��v'����sզ�$��jU������Ĝ�u}�j�ָXUʥ]>�$��&Y�Z����J*�����1?R��/�{�B�����
6�����G
߹2t���� ������S伇�jG�?�7�(S��<odY�v�Q�U_n2G��}RH“o̷]l�#
-�� l�?ۈv��̮�
�q��W:J0sWI׎�P�.>��"D~ݬ���Fn�^
���k�c���S\�Z�
��%#_8���q\����-�ի2��v6�R��@������{B٬ԝ���d����g�ǟO�9��������
v��u	�\|���`�%�>v�����%X�>]OG�azz�l�/!���
��T���&�]y`�C��w��i9��u�w���p8Vm�h煙��u
-1,�L��U
-endstream
-endobj
-13556 0 obj <<
-/Type /FontDescriptor
-/FontName /JLSCDF+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 52
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/infinity/prime/section)
-/FontFile 13555 0 R
->> endobj
-13557 0 obj <<
-/Length1 1523
-/Length2 6867
-/Length3 0
-/Length 7899      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.�  ]
-"
C���H
� C��0tw#� �H�t*�]� �
�J������u��y������~�Y��xd��PE
����i�� ��x�������a(�_0��C�����

-F�1y0
-��T]
   HX
$"��������ȃ�`V 
^�*u!b�C8y"a6�(t��_�. HLL���p��#	��� 
0�ꈮ; �������(��8����
vt�E m��
�a([�.��t�Z~h�
�����ma.p=�5�
��Ѐ
���#\�VP$ ]
����r���8��qx��7 /�?������

�@�N`�'
n��9@Z��(�C n����@ǃ��0�%������2: 0��_�\ H�ʅ���"�Wt��VrGG(
�B����aH(�vO�����p��0���/V�N�'p��+TE�/4D�fE��Ą�EPg �b
��^��	�����z;!� �hP_�5�G��v�PHW����6��D�`�j���

C�����G�< �|h� |�~�y{����������
�
�t���0��MV���	xĄ@ ?�!"���w��4�o�Qm0쯏��'�
-���ݼ�y��%
οV�
��
-���� ��o�'�A?@��
�;����_Y�_���Rtup�m��m�?�`G���_h)���k��@/��]
�VYjsu�o�
-
-�^�
Z�< A^>�?8�E��҆� ����(�5
`p�6����AG����
�u{��
�o�T��� � �~m��0 �D�=���"�x��kj���o ��@�C h�� k���X� @
�90t�і� ? 耮
-uvEO�oTL�"l~M��n�
�}
apW��р�
-���OF!t,
j��juq ���ǂ!�		C���/nW$���%�&����5�z@!DS�D�]UH�Y�
�;�� ��RSd�qg��c򵷭:~��gg�gV�t������N�0>�v6�a֚8�����P�\�=���=?n���X!l�E^E�P�'�0�zf�cz�����P�6������&�
�
�#��;9k2#*V&�i+ژ�m	�glF
G�4Mq�Wy2|�
��!�C�b��77ד���J��Z{�pi�mz*/U֬��nz�
�:
Y��rEI�w��
�8�
��ALLlq
�|��B&�~Xf"R��pM}�� ?G�$�O/O���R�d
H�$-0�GV�	��,�KhZo:�T�Y[�Lr
-��eF�u���q�e�E;(�ij]D-n���;�K�����)�5�֛Q�"������}�=^7��NII'w���h}2M�pg3pB�@��i�0
��>�†钆Ņ��QD�p7����Sւ�e��E�&�~�9bVp�fk��5I�R��"߬ٵ9p�x�H���z��&���$
!»�'k٤�U�=��.@��X����F�ǟ�o����1BiT��^�V�t,U�k}��W����(�C�������\��r��kBL��KM�甴/h��)���(�
�G���c��x
ê�Hzx}��5�(��Q!�N�'���
c�@6���L��Y�p�
=�s�걮�
-Y�~��8��EՆF���[\ʽ�g���$ƔG-�m��w��
�>`U�)e�L�h���酔�C�1�?ƒ�|�US� ]ч�->(�7r����
@=H��u�P
v//��4]��}�P�:���~����G���KH �?�
�P(wm��񞖸�
�\bfx��ddȿv��MP�A�-�������~,�=/d
MV������ـ���U��3oA("
�m
�,t�w<����BX�lH�S� X�i7�X���h�&<��`����w i�~=��9[ٝ�3=�
q3�0;
�=��u~
�q�|`���z�>�/��`�h<-�|�x��Hrӏ�0���� 6�%�1dOw`.�d�5̈́�����Q�Z#1��[��y�*�|�7@��r?
'f}����1����ǧ��DU*Y�1����>�"��?�r����H�JN*X
|�"R��/	��1���_ z��Fu��
ޛ���{��R�,$�1-��}�]11��	����eN=�9s(I�%V�T
�j	rf�vo=�����2g5`ǻX	��,
-�
�0QqLaII`HGj���F�*Z��
y��"J�
n_X���L��l�Q�^w"�܏Q�q{
]�E��
-B"�v�i��_����
Y�n��d-���-�?�ϣ��@�h|��V�|�k$
��ƅ�A@'�ߣ��Z>��4|gЉj��W�NE9f.��Λ�J�X�"�����{�>/�g�璝]/
�|]�S�0ߗA������޽�����7����vfB�:�vY'�Ą�Kn�$m�9pp}�Sm"�s�d���+Y��T��U=�30\
����j����'�&�!s��_u��	c�
��-_�
˥�[��C}y==c���S�X�Li�~?���d��������]�����
�d�nyXv>
6|LXܛGxg���t���]��+C��2{(+`��R���^.]�h+���� �����1`$\�0�J��|"D��!
�>�er�s~Jd���#�6y���3*A�S�L�����pt�*�n�l�V,��>�)}�m����A)�cq�s4�K]�q�l�L�/
���/�T0��n���$Zlv"�s˽����s��z�kwKn{�i
(�[1��rGL6���`��ˇL�0������i’9]��0���~o��
 D\x�
��=�lj�_
-�x"D�V�
#y�O�0k��h�>0
-
�]�W�c������^]��:�xa����m��ͭAƤO˼0��"+��˥I�{�,��K�����'�&�ڭ�f�|�*e�9���k��)P��7mS�e�(�
�q�Zpnb��n=��r�gx�7N€)`%�N^.�
�E�Y�U���7���
-⾑e���9���
��4	���O�Ϭh�]�4EBq��ػ��^K��,�s�an�|y��C��5I���dW M�
�!�|�U�:��ʱ�=Z�
�$`-�=�p�e�SC7�g�!_��9
��:��w%��
�o�xbo,WY��p��K�d�����$ds�:�k�I
k�l���&lM�k*����xm���U�sCU
��+gKW�sD�
��0u�g���P.�!i��
#�է>}���q-K<Af�R��7K�ۜ�F��LЭ�"¤�8��e��4Lkn!;$�/�G�
?p&��W�H��K2 \�a����הp1Y�O�wLƓ��zƻ�hH�~�=\NQ>-��
����E��>��m��S�>��,������Έ�N�R�ı�WV?zz��
��$�ng�D��ׇ�
��|�BG���KM�J!'�b�T�q�ξ�@

�&n��'�r���W�̬UO�NS*�?a�۞���_����������2�<Z�mP�R�9����ӝI�bM�y?ê��7f�tHݻ�29e��OIiJ�~������
G=��;���#f0�����������cH��أ[�3�B���'6T�_�e�<������Y�Q}b�c�z}����󝮒�FX����ʯ'�*��t�Ej���*�H��4)����m{���B
/�`&�r�kf�p�o�|���>3�q���j���-�o|�&��x@���Gw!2ט
�F [...]
-�1�AUBӉ$	N]5�^G�hm���vh��f���4J�n?.�2�R�z�T�EL��nô�9�u��m�_ݐIO�l���-����h�Χ�@b9C��SK��K�ή�����A���l�)�Q�~6�,�E�_x����~�`�,���Ќ�";�
~��$k��0Ʈ#j�yuS;(BRe����Y(���=J�j�}<���V� �}��5]�����

�x	
-Zy�%qo����c�gp_E+cZJ�b�rpZ�i���8�P���������=L=۶��ܪ��[t�3�<|��$Wb�z�6`�l���
����FW�U*�U�ZNi�B-9෤a�;�]_��^�>�6a���:-p���E�S�-H��o�k��}������Х�ղ�G嗥���9�v/�F�z����]���	��V�"�ǭX�2
,��:�W�����.s.�ĝ�?c�����i߄+{|e^����}o~��W�$��?GRu����nO�Q��
W����)�����c�{]
ӣs��SZ>�$V��[��=gv�A�H4���G�FvA;��/�5j���̩�3S�̻��
�Xʯ[R�61��_;<�;�j�Ǿ=D��F���J�m�u
]�ڏ�X]�#j���f�'�p�B_便�b�Mi�/�0���,ɸ��<��W !�W�r��&O���p�הT�sK�NWƪ�tw�f����t;�ۊ.�鳏5,1?Lwr�r׋�\</�3&��]�<��A�~� [...]
U�nG���FLF��6` �<ii;Hg��'V�*$���ӌ�k��C�v�{��U<�/���H�l����_`Î�	3R��0Nw���)�����32̮�|Tn�
���a��0�:bG���A^#�H��n��s����ֺhCN���O�Q�Z�1�T &���2)q^r�
�p,�xsH�$<��HTlS�O��
-X�0h�,�C�.[��6V���LT��mCU�3�)�x8�&=��ih�=ܸ��N�:�g�1�^���(�rM~���f�IG��ys�'��l�
�(
���<�[����epÚ�U�{]�hB�sᠼ�)�q/�P���qs
�G���5�Ua������}��[?]X���$8�$[F�Kᷞpz?��g�.IS���}?�
 ?=u��#��0�S�9+qk@?�e�T���$�G�'o3��I�?`��
z��B�BÆ:�R����t�4df����'OF���!�}
�l!7���,�OSͷ5��;M�����c���d�ձ^�OQ�C2D�i�rb�m�#5����2/z޶���g�r��m��:b��-}�9��p}c�=��1�-+�q�_�GS�v
��ţ��c�TsZ�H�E�G���
�v��&�
�b�hS���9�A^�;"��s~��3�%�
�����W�m�ٍ�ܴ�;�"�A�&9���Ed[�_hg8Uddi
=�m�H���ލ���OJh��%5w?�w*��$t����SX5ƵD�O)�bS7Z����l2~��%z'����O
�����(L�h��&��ԇ��άiV�4�23BҴ
-#u�1��W�h{�"�y�"�p���kO��Fj��{�l�}�ǧ����kK8O���"(��D=ӿh^^�{�6�n;a��cz�h�
����ʓ��vv��H�j�E�v���+**�-\��ۉ��K-Q�W��S���Q��

%G�,6g����>Q!��_lkiCg��?����
W�|��}�£�@�g	V�3�}b&�c�1YG�2����P�9.�A��R�JfcR��uaR���ˎ�p�n�Uފ�S�%f�<�j=Ȋ����S���o�:
�%Ѭ��7=Fe�Ҍ��CSd��n�G
�کN���޹/X
P�����.M���q�
�ϧެ���M_����}	�(�!�>`*���e�������*����o�oc�� �'
��;Q����%�~����o

o9|�#�G�~d��.'�p��h��"�I�l
���!�fb$ �f�5(�h[�K�!�x a(�b
�JGʮv$��Hz���o�'QJ']����
m<x�
h[]�m�����!��Y^����-��`�� T��!�
v�f������J9t����x�q����ݳQ�� 5�F��7�ǵ2#>�XJ�����[������Z�2+�
�F��]
��
:��
��}f�H����P���i�(�|��L'z�-� ���Cj�+xVQt�AU�"��F)�#VX�i�`�S,�:�`��X^1�e)0���Ba�e&�R���V����'��:q
�N�C�ŽQ�4"w�c�[��V���>g5ޙ=�kB9:�9������Gڅ�Ј���^��ᒵ�U]ͽG��97�i�TגC�X;<J��
�����KN�����A� 
-�����Y�]O�V��tj)���r������?�$_�Qt&�E�!zm��G�J��s:Q�b網�`U޷E����p�S�JvmU
���`��Y�Mf0#�I�:�fe,� Ʉ���z�
)d��X�oT���K�A���N�	Jt�8��q��b�Q�š|%Y��q/ Cx�u��ּ��䉇E��ˡ%T�������&��.;�S��
(�.
?3�@����FTM���_5k��ī�0����
m̻
�60[�	w�
���  7�r>�l����vP7t�g��t�\S��u�?!�~���Ib.ޫ�D��6?OjW�E����h�X�gFKƺ.-w-#
Ff{,�bDŽ.�ī���|�8�MU�w��@�
���7���
�.�W:�����D�<�4)\o/iL;�
�=-/$e)
���=讽�S�qO�S�㫕�+gmq���W*�
-���zYN=�v��g����iE��lqC
E�'%魙����RI���]&v��4�y]R�nOΨ��7K�~�	�{G�
��g��JXBǃ<
EU���`Sd/��T����
-�7a~�ś3C9O�4j��Rx� �VrZ ��i�_�${�>�DGe/�}Q:���#�*�VǏq*{�Z���ʷ{ɢ�s(Lg���Q�k��f|�dm�(�*��G���h��c���=�Y����t�L���<;��}�hmD�߼}�g�ٟR�wz� �4�X�n)f+O,������
hC�+�Wl~M+=��5�#����Uօ%g=ʫ���*���ݡ�`q���
I`��#�PA�J��I)��k#����N5�[����Y���3Q߯}���l���+�
c[#�C����Ԙ���d�އ
-���c�ɘ�Է(�����?
-88�
��%�����7
�ѩ%Q쇹�]=4Я�:�i���<��is4x��.S��KKXHA�Ɨ���/<�%�<'N?Y��7�%4���|�)| }r��.��FA-�Zs&��χBP�ڬ�Kz>q�	���g?$󋗈�r)6�Qv�O%�}-��a� �Ua��-��V?(6�lFQq���|��ޅ���]�T��z9<�t�$�k
 �Q�
hs�QP����I#��
�7�{d�(�;ӫ�\Yr�P�"
-2"g��XO�w�%B���o(�p������sp��h��R�d��2��~b��M�jyV��\�Vg����;l�ܪ^��Q�X?W�����r�x=�.-V�d��P"���.�)E���TT���og��s�LhHx~��@��G{\Mq	�O_�I��Fm�	�X<A��3�dU͔[Y��>?�'bE��[)��t��2�W&f&N���z�}N�u3�_���1ہ�d�d��KU;޳^ѳ�=�2�}�A�{B"a����E/y
-{�&_�F�a�l�

�$SUJ8�(��Н(;d~��Y�e+�'҅�u��y������pV��\��Y�mY�I�a/ώ�y�(PhDd��Y^����%�/�0
�ϯ
�q*E~r��iJ �e� �:DI��LoJj+��qf�o�G��"
oyx��*6*�7����٥�U�g�s���Y�	M����6�,&��
6�/W�p���V��ۈr"�2���DR�-��=s}
,^}Hp����B����Xּ������oঌɝ�x�i��Bͺi)�a�ߪ�6r��:|�?l�[�
-endstream
-endobj
-13558 0 obj <<
-/Type /FontDescriptor
-/FontName /WSWKRG+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1251 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 49
-/XHeight 431
-/CharSet (/infinity/lessequal/logicaland/minus/multiply/negationslash/prime)
-/FontFile 13557 0 R
->> endobj
-13559 0 obj <<
-/Length1 1440
-/Length2 6665
-/Length3 0
-/Length 7641      
-/Filter /FlateDecode
->>
-stream
-xڍuT���6-� 
R2tw#
��]3
13Cw��tJH���t� -!�H��t��������Z߷f��g_w������ag�7�W� ��p4����
PE��B
-($$* $$`g7��]�� vS(C�e�#A	�1�*���E��Z��@aQ��������PDHH��DR�
-�A��@-
��� �}�0G'4f���\`n����$��r��	��@]�	��
r!�0(��-�d��hwAAooo�J �t���z��N at C(
-��B���ܠ�	 ؁�N0����!�@
�
-C�(L�'
E1��4u�z�P��d�?	|���(, ��vU�j��.��7w�w:�\�@��:h4��J���z��
-��$��
��d a�EF���(��E�_m0���� �ܠp4
-�k>U
-�
����u�#���-
`p��/OwA8�����W
-�s����B�b�@��v�����
�;(�
�0�wG�
0$��0(��yA�h�'4��?�\���
��:��w��P�?k��#a>@+!����B�>�z���
�����;���
-j�Z����a����2���/*�
-
K�%%����l����oT�k8�wԄ; ��8`�o
^ɂ�/�p���F�P ׿�o-$.�|	��
�����_]�7���@�=]]��~���0�
���WFʞh�-ts��;�
��ʺP����h�
JpG���������0�}��C��������
-�C�(د7�JH�bׁ]0o��~��S�s_58��>q	 ���0"���_cS�緾��pS�p
: ��_�*,"
��

1�1��0��1����B at A�~����c�'���o�`��{��� ��@����^�󋈶�:%zo�/�>}�M��Gs�>�wҹ��>��R}g8]�<jb&��g�t�Ǻ;'t)M#��ֿ���_0tv���
A�9�I�Ǯ��>1`$yh�g���l�2R�Gt�f����a)�
�,9&eN�G?V�����Ȃ��3���5i9�*��X�d�
-�,�D�-���w�*!���⛜��t��ڽ��Q��~Z�y�Ƀ�TOr��QX
���*�I,��ݢ8�pA���V�-][hm΍ǻO�7�g�S��ꘛ������XԻ�J.ܶ
S N>_����j"���H�-Nh;Xs0ex"?�BBH\@w��H�Ok��a��#$F��5�B�r��cBv,��RO�I
E�#Cs�qTm!}�{�lz�|�s�-�m�{G�}�*��L�ud�=�����P<_�����!�o
LX�	xz��pV��
aꄽrWU�a:���Ҫ���v�g_�
�Z�ŷx-:g?Ohއ���
�J��<�b��]�*~�N}�Cn`/���T�`��~�s�"��@��~����/��̞�.=�'yg��V�x��A�o��U~o�o�c�yiG4�2A���c�OJ���&�~+�=N��ř8v�B����Ü�D��e�vq�E�&߾�xv�2\�iȎ��d��!�K��[�!^�Qx�T$k6�,a�l�*G�y���
�y��鸓��Xq�UN&�{2G�:�w��uɜy|�07f[��x�o��8 K�
˭��Bj�64�^^) ��AI�R�ji�;�2�U���� ��F�&L6�ap2S>NJS�P�P��Srq��ͽV���D&�f��3�,�X���QR�b1��)4dǒcQG�a���T�1����x��
��I�8N(>��q��rdk�zO�����{���$o��������(����i��t���t��
-l��
G�!}�L��d^��$��2Y�?�:oHG�W�3e
-V�d� $���)N�pU�O{C��$9{��6��PHS#�����
�N��:�芟��Q�FV�җOiK�h���7ZM�W���
-�>���zo��åsx�uCPxV����鳱Ao��p

<��s�+��W��2�m�WnD�V�����Ò���b[9��(:��C�[�O�ϰ
J
%��,?Ʊ^�87�=d����Q�+x�s1,Tf~�
׃Ͳ��)S
��p����8�s��M��,a�D��$䗫�ΰϸ��3cfã������n��
-�}[��Ձ���d���
G�3?K��^X�j�Ȍ��5m.�pB:���uh�n
V��
L5�o[���	[��[
u��lz��~Qᡬ
-$'ᜋ=]��|
��.;��<���Kc@�:�A�~c�և��>5z��N�D��͖��G�r?�-���Ƀ{c�2�6۹�\��٬����>1&�=�`�q� ������w���ʓ���^����*��y�x����
��B�>�2>`
o�%�:kZK
��r,nԵ�����H�Q�a�O�>�$���Ma��jx���g�|
/�����c����=~����M��J���$M����ӔS}N�&��tUE$&.֊�|���d�"G����XTW��(�X
d�pb�f�� h�}Q
��.#���J���hZ�?���}_[�J7<e���{�Ǒ��ŀͷ��Yx؝Ap��sq���,W?g�l
���
_���M�[�瓳
�
-���P����7�


���Σ�"շڭ�*[��>�gy�&�N���wO�c[�i
[�ĥ&���ح_ʸK;����;yy�'�����
���Jo���U�I�@K�M֨�Èc�${pf3���Y`���n���Yd���q$�Q��t���06\�R�;;u��J
�"����j�
�&�
��d�����l���k���o�zu2
dn
-�n��u��̀:�C�W���$)�Y�S�9Q����w���{�=f����Ǐ׎=��ɑ
���xe�y�,D܆�l�]y�b�c�k"�פ��{^M�U֭w��k��°��B��s�T���;�褓�/s��o��&"�>-�
�*�����]�b����"�Ԍ�Wʜ
���t���)��뇔��V;:��6w|q쩠5i�=n\�/Z��A�rm�R9��&l�[1� �
-u�E8?J�Y���MdLJ�s�	R��Uo��_F�$<������~�V=���	X2%�wN��b�$)d��a����u���5I���#�n����kP���Ц��Ur���q ��&�7m��2���ٸ���i�_��?y�����0�R�T��C�
w�p!8W��Tה9�и�g�5�/��e	�&�ţח_}ybEnN���
-����}�P_�J��<9��#=e�HFk�!�,�֧�Q0/u�0]�TNm�]����Ð�
-#�z!�w8ti,�
/�B�.k����+

�3��
x�����wx��<�D�߅���u�8����� y���A0� i����W���Qh��F��):����Gɝ)74 x���j�
�̩��R'2_��V}z"�O�m��
�.kM�]fИY7������ѓ�SE
�;V�c�5.��q. ����F���b��Պ��r���q��&��|��\��jq�]2���mv�<V�rW6�4�I,^:V_���
\�؎�
Iv]f@<z��$��
Ks�hA.� 1:]
 )S;����ʓ\e��p8P�~bH�q�
���2)Ǥ+
�Q��Z��
~�E�³�w8��ڜ����<��y��
m��\$�؊xL'�}��~�4���T�gR�@L��Gu�ѯX�r��h�FgrV�<��i+�Y� �BuQJE`2S��伭^ׅb�=�3ǃO���
�X*XM�p˅h�Oe~u���f�	Y�����	ٻĆ��&�?��a�A5���YS�[���-�q���['
��KMhQ<93��-���T��{��-K�*Go��_aܜk��[$���	
�
ZR��P��)7'̓�6�Q��m;_�wµ&&�4
7w�v�W{!�[l���ȑ�6�����SB���͌�	V���)�h�7���wQ�Q�	z���`��Ӊ���N'�(�
��Ĕ{��ĥ;���\>7_l
}R3ޖ�
���S·�
"KY 8Q������2?��x*D,
p�S
�
o��g��i���B��<a����l�!�����w�H(�k()N�J6q��'u^þ�km?�������/���y��ӫ��_A�:aJ{T3oa>�]Ϋ�
�U�H椚>��Ԡt+���{^!�&ʜ[
g�ų���k�$ޓm�,^�X�W��c���n׭7h��H�oy�R�A9s���\U�cC�«���g^lL���}4GV�sk�4&-����F	��Ó��S/�r���AmY������W>����/x�Dn<�]k�.��5��~{o�$q��VT72�8��5S�ꄂ���v~�e��h~o���<�~"�H�Յ�b��?��d
��,��|0	�
)4�aG-k���i6�p�
[p#'@ܝd���ֿ��~�8f���X�?ͳ�.�M�#��Ֆ]��a:�z���nERnE/�E�e.@;�S�U���c�uˑ��aKiI���:JV��10E
-U{���6
d>������!~V�݁��5�Z�@�
5f†
޹�b�8�Ŭm�
�ⷈO�	Y����z����Q�!��r
-�qs�
G�|E�,=�W�D��c�m 
�5R����6e`_T�b�I��j���@.��@Z][��u�Q�@�}����mE��Ĵ�T�\�eAr�\�H�������:��c��<H�"=�.���D
�/��Z��/�{
O��x��c�J�:
���E\
[���l�M����N��T
-�E�֥}���DD���� �:����
��Q��
-��^l��Ϻ�(�����m~��� ��B-"��D�w�뙪��F%m��!��1��
��H��*�l<:��M_^�0P�o&
�1R�Fv�|5B��E�gi�rc�h�J>J���h�q��c+4.��5�Ѡ]X�I��ݔu!�����U`�tӭ{�?��S��aԲ�=��z�ua�tIE��nj��,Wb��)�]* E���P軤��H�͓q�'<M��%ۑ�����\�T42��S
9�/Q)I
Y���h���Y�뱋oF9�FuΌn�j�/؜$>⁨U,DŽ�iL%�Qq<��KTpA�V=YL~�K��}����ī'����ۥ-`ӳ·tFo�8f����:��E�N���a��`��)y􆟼��]��	
��[�at{�f�r�H����W�ʫ�u
������ٲ}[�S�R��]�ܦl�<&�ɠ�m̫{
�x��ܰ�j�{��3"
H�$P��)�O�xw��p����
�P� �*�A����Sl�wz������ܽ!Sv�d����;=Q���Y!

�'�+��o$H�X	P�<�
�\o&��C�X5�.���j�ɧ��4rSM�
^�l`����N�	0���N��@K��oE�����Y1[?}��*�b�R�
��6�@_[C����R�@
8�m35vU����e�L��Ro|��^j+[�"_�!K(I��"�?��@�N�Hk�ֱ���>1�֚R�C �L�f�2�ϝ9|�^~���".�u���P�Y�g�V}�i�l]
��<g
3� �
B;
OˮZ�I�)��I�A�
-���m1�K����
��ؤyI��ztm�����p��j��;���V����ۆ���b��gmճ�F�B��b(�e՛�m%����GPh��
��@B�7_;R��eN��B�*j�1��2�1���-��|i�mD�Cf>jR�ts
���ӻo��S�k�v�[��]팷N]4�|�-�:�߈$nؾSy=tȵ�
̴gE����*W�t+
儢]��D��;u2
I��Ct:�]8=�fpV���[$��ul�qS\��X����$ص��J 1,ډSܢ��@_�
3��eOڟ_�	�Β���:n�,�ptz��,4Q1�=��ő\F;��`�*��
/�Ɔ䎤�����b�-|§�h�S�J�3 �J1��[�#e�5 $�d��dY��P��I��v�*d+�7��0���?��R��p�{�޴�u�WM�>O��2=ɾ�b򼀙k�����)X~M;m:{rׄq;�)D!���[7���J	�2o)���� ��_t]
��-�
I�:�,�Z-�
2d4�����,�{�>��UrG��9XKv߿��΀h��e�+��`ҹ=���͚�n��}
�K���Ƌ��
�I��G�d47&l
�k�q�AM���ո��Tʾ|ִ0�g��=Ϣ�KH���۝w�� [...]
|�M�ڳ*"σJ� ��b�
��O2����-I����͘�vGq��o�RZ-����o;.Q�RJ��,;���f���v?��q�B��w��w\KZ��X�>%gI+�4��Eǖ��
kpᔢ�M�[�j�����cG㎽O���
T5^��g/&��zp-�Z<�$U�+{�o?ccH�%���ȳ�eL�WD!f�=�=y���f�i('c]Pݐ^~h��|�����
�[���;ܼ+6^���-��$�{M5ɖJž���y���{�m�_���
Z��zG�uA��S��0�
�:���/NE$zCq3�iW=岟W��D�g��Y�@cJm"	�Sޝ��?�G:r�1ŝsq�N��)����λJ\���ܷ���!2q/S����~`��8�h,<�#�p�쩸`�'O�_�c镻��Kh��$��c;"o�d��X
�\۝ȶ:p˿��!i8^�� ���ҶZa� �����C�*:{�O�LD�^����$m���2R���)�;i۹6��N�~
-�V�\|ֶ�
�s*d�흐��ԅE�Z'�{'.�M�+[��%.|�m/k\�Dn�
�n���a�˔t^
������
�1��z���޸�����S�*.)��dv���!�块���������L���r�*���CH{]��b����ǂ"�Lf-��l�u�ڦ˟�>f����
g�
������WZF��t\Cȇ6(ժ;��i��*Vo�߾y{J��p��.��'�,?ax=�=�'�j���,e&R`F�����JG٨r�Yk^�
���V/�
-ol���8�+�U�?<
����)���9+m�����V�nу��%�^���Z
�x���`~�����־�q�ۢRETn�%��
wlY��P�����W��7�U�=�؄�!!�r+eC�~�p˿Ⰼ�=�M9j�}o-aHn_�O�󽣛�9����Bx�@��Ģ>
*Uj��퐢���&�	n�V�>�W��k�\ �P��|�ɬ��#H�H:˅�(,9�����,u���naw=P�	�0��Y<��+<$��
?�� {�r�A�@B��En!�욝
6c���=&Kl�\���$��-�>EZS�Ֆ������X
-endstream
-endobj
-13560 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 46
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 13559 0 R
->> endobj
-13561 0 obj <<
-/Length1 1465
-/Length2 6537
-/Length3 0
-/Length 7530      
-/Filter /FlateDecode
->>
-stream
-xڍtT����"��t
I�ݍ�tJ)c0��F��"ݍtw� -!�*"JwH7���������s���m�u�����p���+A��P5$�/$ ����K�@ P������C��I�L�h

���_*h(��TAX���r��D B��B�@ @��������`�� @
��bH�T�(O4���+��_ /�@HJJ��w8@����A�� u�U�� #$�z�+����tww 9c�h{�;| w�`�@�nP�a�.���� 	�����!�� 4��00��E�" P4 W
`��
�CA���8�������?�������

���(������P���� �� ! �
Ap
r�� [����A 5% G�/z0��b00�/�����n�>��tv�"��_����P0��=�L�	�tGx�u��! v�H@\Q�&��+TS�/
D��
�����ŀ �
 �v�����m���z��(�
��f���xc at nP �
-���߆�H�� 
����$�Ɏ��vθ�a
 K N{B ��?��q� p������������ҽ?���)+#= ���R ~)1I����8 at BB���4�\����� �_���Qa�H�ျ��y��%
޿V���t�8-C����P
�}	�/�����e�I��Rs���y��3����'eW,n-t���@�����*�@!0W���jbA��PB��$�/$* ���0j0(D�;��ߣ�Հ�P}$����E��e�m
�	��` �
-�[�׽� #!��OXL
 B�A�$@�Ȅ�� �B�5�@=~� (�@bq! 
G_�
M�k�" A��q�M���7.
�q��.������@g�� D႑�À˂��/˿:���8�o!��������B=�`��OH��S�ڧ-'�JL��K�Wg��Bc�{Bİ��������\�m ����K�G?�0��~2�a��E�t�F�����
�����7�PV��~X"9t�r;ր��ƒВ'����3�N������6̊���PxD��Ą�T�l��7g����[QDQ�-S\�5M�/��aQ��-
��
�Q��߾�{�'Yd/�AW�xE05�-/-�́�^��Z
�+��bG*%�1�
-����	l$���s�6������������ZK�E*f��5t���'�&�=�ޣi0وQ��٧2�o�/�� _�3Ka��
�L�Ί�×�����O �p֎p�(k�nFtR�.�b8w:G�+�Sך]X>�[Z��!LB��5A\�d�������]���ЫEm(/6��0zyK�$�*_!�}U���Z��6z��d�h����#J����
J�����EE�ҁ��f6��J{�EE�S}�}k�r��d�y�<��W]�W�>SByG�C�.��}�Kh��o�q㴴|f�}�W��˞V��׍׉�s��I�ڨ�g
�p-
V���F�x
��+y�%2$�^��:Ǒ��A�~^
��]6X�I��g����K�=�{�Wh����^��t�P���o'rd�����l�_�N
�W`t隣��؝�y�����п˜�H�1��>Q�4��q+�`�}8�%H��䲢������W�:wU�c��[Q}�Nm�>�[�c�-?�ou
3R��ew�uI�o�~��4&4�AA^��K@~�Ʒ
��-_�dհ�}�>�����%hCLu�<
�l����ί;I׉]2A����H�X�a�%��y*��l)���K�\RG��	�k�
缗mTY�5]趸�Rj��������>_�V{=�6Q^
-����t3�����e�Ub�񩸫(*>nt���赽�GC��s��(��
��
�h�נIzQ��x��\�G�M�p�a�e��h�����K��.�t�f�K�~JK�����
��K+b'��Z,�v\��l�c({g�a\�����X<:
]mZt�̲�r��������wD��lQ�:?'�ޅ_�&���
�.6��E2dF�k
tEз}�.���v
��Z2�fap��h�c���LTٜ!�* <äVlC� V�N���/�C���h�d���b���OZ�t|ʱaџ���4���|X��B�	
cS���7Z�1��(7r�:4��ior�
-sL�QW��yf�fH�����Q��E�Y7��e!�j�.��:��b�*w�4�M�|*��+ʽ��r?*���F���zu>���H�1�yn�͚�t4+щ��\���
t}|�xބ��^d���4��\��
^p�`�s���1��/�m��J�JE�/�n.R`s7Bo
�97�X�E����8��`�X�S
�!��'�؋�y��M<�"So�y����%�&Q�������������;�Z��õ����~kh�HM�y��7�� �]�Q�⽙Y��Nd���c�"������y�����M϶�w��33��L��ԛh�T�3�4ꨆ��X��;��|�#>-T)��~/Pke��_��ÇA&���lO_��]?y�J��,���ǁ��}M��t�d��/�%j���}�F[��O��&�}	�A)'%jRP��/�,���~_O2hN��O��v�@��}��,re�7m��<72��S}�QU%qД����S
��Q�A���qGn�Rf{Z�d7@�½&ԗ3� [...]

�x3�d����%���1��׃"�4��_�x��N猃
�mB _�ϫ�ѕ��aIम�<��Ը�CZM|�
%f�W�*׫|a at L^߄v��(y�&�b�4Բ�%�C�R�h�����h��#t�DT��
��m�� O�C
MRe`��dm�����s^»Cj��ر�0�>�&#��d�N��\�i�
������'{{�C�iMa��d'�����X��іAO�R�0b�a"�S
^�B�CEV��\�e�
Ԧ��&�N��j��O��S���]d;
E|�T���&T��.���r�6
����R�����d�S���f���#qz��]
�Ze��/1�����h��S��B�?��"ќ���Q��
7�G����/b���
an/��D���
 �(�Gl���ˎ���Q-b4W?~ek
-d(x�VS�D�����
-�}��;����7r�/;}�{�a(ѓ���Y�7F
�8��j�K3]�o
xP鸱^r���%~��Xe��ٍ�����ǩL�N?�d�\��?^Xe���a�8�f��(�hܞ~�(�+�
5Q�O���K�>
��J��m��9� �|"�k"Ɓ��6/盷�"˦OL����k]
�R�&�Bmq����<}�0+�>��;���
��ah\� Z=8�/t�3�]�S:k��)�뫔g�O��3jTo�F��'�|j�a�*�9���5��5��w(̌����j�����)��
���SRO���ͬ�,���2��g[��];�

|_��X��
��F�C\:_��/6�ۦ8-�ݹx�K���W
Z+�_|dz����Y`D���^.���; ��Uj
zl��c
U���\�^)U�p'b[̷wl��D�Q޷���Ѭ=An�{
�w�����]y�s+�
-�r,� 44�)��z~W��ꨩ��
-N/Z+�
U����41;Dܶ8T�]��1�̄*P�I�J���'4-�t��>�GJI�Uq8�M?!MFעFQ�zc�
-���>d;��S�t�A[
����71	�w��}̴���'s�
-r)ԣTv��i��Mؘ�����He�(�m߾�mӧ�rӀ7��ӑ��O[�cϰ�IP���S?�p7�c��+�z#��w/ʇ��<;�M�屬|"M�i����
�����
�m�_�Ka��Pr5 4������¸�۬�� ����[]�N�������{���L�
]���O�Ė��Eޤ�Ȅ��k��4aم
眈�O��r�!
�����7�n��t��O��`�&)�S�B�S,ڲ��mӒ������W��+!�YXE�jX�������	�w�
�T(���k�}�s��FFF�uC��e]����<@����e�&�~8�����z���억�I�������Z�W�Ǔ�A!�.�n2Y�*�Q���L��74��U\���A� 6��ٌA�"��2�+!�N��f�K�JH�M���9�t�C5��^%@��LN��a�1����
s�O'��+$�d!\{җ
m��K��
X-��,˟rÏ����ή�|��s��
�Er<�:�27-xM�u_-�y�xLw��6 <��W
�ék�B
�t��a�,��M*��SF��`5N�J���0��H0��yx��ey����B��l_��zD��%^��SQJs,�_�W��<QHKMo�Z�3M�
-Ͻ����9�W\��MB��U���l��7�1a
��f�Z�������E�
���htZ��ȶk�=h,2�q��g��!|c���� <jœ�ȭ�)����t���~�z���y��)�SEf�#�{��x(�U�
^�q2��
��N��w=���z����p󑷴�t�Y^�K�Ni�����u�3�E�h�T5�Q��F�����m�4�(��+`C���DԴ�4��u'as��G�`�	S!5�&�%����{T���Z�%^*�f�2��?�1&Hp<}�@���;⩨[�-���
Tb&AM�*<��d�Aګ
E3�w�[��K��$7�����u
�O'Q��B\�}/��Gg%��U��|#�.�x�p
-�lf�g��t1j'�MMk�iD�m����k'��@��<Xė��3�#��M����x��۽Y����|�� �]u����eW�5��t��7�蛗�#T&,��<Gr����Tb�֋�P�"�x������
����8�W����ӗ��,^��ݕ8�
-ҷ��v��:�5�3�$���}{�JC7m�Qi��i��M~�h��LӀ�h���)��/�
��y9������B���t�E����;݈c�ΖC�w�^y����f�2�9������Ŧ���W�;�KA���J����ƒ�W�K4�>���)�-}0�����\�=eԀr��g�2�{�
-���d974ʂ&Ϭ��6����i˅��h ���ʵ�D����~������������:
$뚲��wFHJ����e�p��Ox���f5�>��Q]���v�
>��P�,iɥ;�5�<�6� TG��B��(M�e?�?� pI�}��q������zz{b�7Tҏ$�;��S�w�c
a3i��&��{�8M��^�q�rR��6�n
�=2�u]

�6�
 ݌���a��4	�
aY�x��Wu�D�K���כ�=zU�3�[�wF_�/�
 �R4�Z�p���P���2R|+�&��B�(�l�K�'v���2^��2���f��d̯`���W�A^q25�}�tm�:����g�����x����SD�~>-u[=�K7C��BG�p�5D�M��m9����ถ:�0=�Ч�6ׯ�����aPN�����J=���:�����V�j���#Gq� 
�K�^]���g	9 ����0'���30
�(��\�'��_a�nUx�{���6�秥��g�!)aA�,�v~|I�����GT�y�
Z��ʶx��<�0ޱ��im�j4F+��h�0��P���̡Z����b��l�����yj�@�N��T�?%���P�z&w
\�cqb�c8O�z��Hӯy�Hގ'?T�P�� ��
�����\���/#B��H�K��ތ ,y�Q
Es
�(��?�JS!��P٩X�B����i턙�c�������t�~��渟�F����0�vo	���Ql8��U(��o�����6&7���.ⷒ)���ll?�	��d^2�F�n�
܆�Z�$�D�ɉ�/:}�.:�B�P��I��f|'
ϔh�e����mT0>�

C� ���i
[��ǐana�V��mNfQO���6Q�&��~%d����a[2����X�+�
1��|{������E_N��S���:
�
,&u[�5���1�������\ZcO�
�ûW�Q*~?/+��Tp����@��3L�
h}�y�;Q$��AX�J��s\�v�{��a�Ĝ[>�}7�ㆮAcc�]��Z�
-8�¿�86�}�3�Y�)λ{�A��I��H�+�q� ��Pv~��T����{s�������y�^��X�!��x�Nj��d6Ngf�f�D�	E���ao�D[�����k�
z^Ywӌ�
lz�n�)�O��"�w�S~:
0�H�KP
�]E0U�?b
. �+!�� |?&���h�!mH�ZƇ!)g�/fb��2�����a��F7�L��3M�K�ÍgI��w�RE��8���y����V;*S}�[:F{
��R�ʉ{
�S$���[�2
�!
��T���o?i��P=n�>�(����q�~
��,���,�!�
�`��4����Y�M���e���nf����4�E��\v�2��om
���gi����[Q{ܷF��l�`�N���\U{MT�xTeg磃|����nʛ(r��5���}+e�n��v@�߿�SP��$Ä��j!����¡��H,Ȫ����
-���ݽ8��|<Uyiz
5�� jT�eJ�J���I];�o���8/I��#�}�	'�O֏�ٮڎ���Ͱ;�
�EL���o�V$�=��y�28�褀��u����=;����A�w�{5�E���֧Eݰ[��}xo�Bl�����3�Bv�lR�֦��
�D�+Tg���_�Q/{�?~n��F�����y��.��l�D�-�'���3>fgԼ!ni������ۉj�2����7ͷߴ��#�Qj0H)3�+i9��q"�+eg��K��F�r�Xj�߼5)od"
�D���W�S ^���w(���Zv	�D��4-�7�Tݗ�@�N�N*_񶕥��n��I�����x�Dř�%�s���;�\�����
-�����\klЍ<}�-���>)H����F��c�^��D�)ዛ�FW�U��_���=C94:f̵�hd����D��u|�}C�B*:*��Ic����Ϣ�ys�^��p���W[��PX�m����t
�
����x��Bq;|�������J

�o�)�0�ؘ�����\FѼbk�M���8Ժ�0���^���������h�M'���r_�

fx~�T\97(Y���糢)״���
�|��=����ү�z5#�����.(q).
eȃiY��Ur��������i�+kąC�C�ڕ2=���lwLʚ�9�%x%�Q���̎E�_��2*������6��5۷O�Dt�{��ͻ7%31�t�
U^:������x��Z��0B��SҴ���9
eڌ�
P��
-endstream
-endobj
-13562 0 obj <<
-/Type /FontDescriptor
-/FontName /RDTRNA+CMSY9
-/Flags 4
-/FontBBox [-29 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 43
-/XHeight 431
-/CharSet (/asteriskmath/lessequal/minus/periodcentered)
-/FontFile 13561 0 R
->> endobj
-13563 0 obj <<
-/Length1 1414
-/Length2 7012
-/Length3 0
-/Length 7971      
-/Filter /FlateDecode
->>
-stream
-xڍtT���6!�
�<4CHwJ��R�0�3�
�RR"
-H�tJ�HKw*Jw~��{�y����}k�z��{_{�����6&
��r�+�2��/��/(h�	������� |66������	C�����
-�n|�`�
P
�9������q~~ ��/�7�*(��aր&/��"���^�0[;�M��_N  &���w: �u�A�p@���:�t��
}Ey����

-�,������
vB�"\m��x �Ѓ"���Pk�e@
��C��
0��!�
-�#lP
`W(p�p�A�p�M���
-�t��4 mg(�/��_ 
��� ��*�'�W!�w2A89��^0�-`s����(O �[��
���|�;����>:P���7
��CB\a�($/���#߯27׬�V at 89A�($���)�\���{���3\8���e�[���a���g���A��`n\����BQ�0??�(H�� PO�
߯^���A�_�~>�g���f����A�ݡ ��
���Z��5
����08���߸�6�7�w�yO�o�' �������Fa���׿�Ģ�e�g�������O�羠0p$����7/~������o���t�QQ
n� ��"qs{q��
�?k�����F�P����7���<��K�;����_U�W������

�9��?q�����F�n����D�l���FпZj
ss��
-|�#rp�������C*�<��:0��/-�=��
�08T������d���W�f� 7����~��7��ϾJp���
-��E ��+�
�F7�0�#p���P���x��M
-p���A����V >�_�?�0���m��
����f���
ۿ�

-��B����򐆓R��
�������"p�V����t�$O��EMʵ�~�:]$��_�8S�;�/��D�SOU6`�X����K�m"5�@�ԛ�[
-­m��k�>y
Ȏp���~
K[W�d�->�`���Q���c :
-�VTT�#�Q.��X�Lnd�I��';�3���iJg/Hx�k��
��r{c��Y� mC���6zu�!`�m�M���g�AC�SN+d��
�D�����j���m�j�"fg2���
�E<���V
�����?FN%�x

-s��PH)�tL�)�)�}K��Q�3
on�LJI���M����������F���x������Ʊ�p��
D�f7����1�D���d	z���+2�է"ˤJ�;�k���D
Ϸ�V�E��n}�����0ꍲP	��o�xS&t�`vcꟽ���G�e�V���W�$�CǞT0d2r�n���;��$�ٌ\֭0�>3�������(��N}阾c�|
zǰ��&.���o0�%�
�*�>�'��W��{A&�~syaG��!kb����u�\�9~�kƷ��t�d6�������
��e���X������+o@[��a��K����e,��R�86�V�{#��V��T��l�X}�9ʬ���6����� ��b�Uq����n���{��
*B�ؤ��t��9Y�nj���=GFo�ܺ����_J���v�w�����L�^S�"h6X"I:��M�	��8����
L��Cq��ڏ�tg���i�GN���D�p燖�$(���2��]��4Rד [...]
���D�[��[\��w���6e_8d�|a\��b��Qd��v��i���;W��<�m!>h�L)�F���e���^��Qi��,��
�iC�x�a��^��1Fհ���aAq�w�D��u�Ec��
s�
-�I\W2��V��uỤȋ�X2�Xn��
Ff�oi(�ߵM���w)�5�	�l�{�}�4E��Ĕ�n�j6�Y!Ƃ������d=}��A@��|d]0�hɬ���I��ν���B��v�⶷um_g��qPZ�/?�1ױ�+��e�.lH#_��2��ŴѲ�H}��_���y
����2�yƓ?�~�V-"",
#�H���9DC�#���7����ٝ�}X���Ɏ֫GRf���4��}�Kє��މ�3f�@�5�;���u��+���O&��LQk�y\^����o�G�m�
��n��̞qfS�1۳�8��P����rb�J�b���&�دHo���y>W�_ SX2s�,B
C*����
-3�3���^�@r��
弪����Й�U��S���؍y~��>
����V����E�#;^:tvH���|ZN{�1!T�d�$�a>�����ˆ�"�C�x���;_���	
H��"m�Ӝ2��Y�m<�h�������$�n�	�ц�v%���D}���_�
6�̓G���>��e?�UM�uK_�
-,ү�A<�3������\�.nZdG��$�U��)��
+sm�C���W�z/ �_�ʆ��d���V�t�sP�kdWف6���m�LJ�6���=S���ƀ/��R�������Ɯ�b�bAv�}�P!]q�n�W
��p�Q��q�ME�x2����+���΄Vt�Q@~-o�
,�����m�n�ks���V��%�[��n	Xv�D������#��&$�����
-�c��FB�o��V$���K��՜�}AF�N<��6Uj�
n���}F�~�K���kŧ��L�I�	��P�YK3��
�l��k��c$�=��X*Fǝk㾒_�Š*95�cV���eP;tN�;̣��WW ��a��'��wdA�]Jf�oWa��r��{$�Z`a`���9Y�vy� �-&�m^9�uQ�)�>T6�s������4�f��O�7\?��&M�?iJ
��4{c3f�M����n��$���P�l�i�,���K���8��~^J"���-�J��>8,t^�C���1�B�}K[)z�b�9.|��r%����g4�T57%�`���m[��V�Xa\l%1S�����k{�x�7`���jK�	e�h�����
^��W�3Qޓ-ǟ%m$���ddq�|E'��%8R8A:f�xK�㑲�|G�����E�wIK��8|� ��B�ƅѡ+��y��P�s����r��d��,����,�$8�ǂ@�ұ���"l�
�jnF����`�k��C�����AU_� [...]
-�S�ܣD���o��aj0f`��n���tʏ
-��ӧ�D��au\�j~��J�s����^�kH=.�:��v7�JC�+����H

*��b�ؘ�R��;&?�
�����x�忝Z�9]*G�Q�5s�(�<T�A��r�%�cI�T��1�GG��������how��/1��ܛ
�z\2��^@
�[����9��G��\�Y耨}���?rz��{�
�u������k�H0,KI}%����O�qO
�{�M�_Գ0�/zb(���b�x��u�k� �-��y��s���e��h4�U
�b��%�_���3����ǐ��Ux��lp��Q�s�L_��[��P�o�w
=�E^�?|$���"�@]��vw7��j

�^5k��
6�n�
x�
������J
\/Zh$Ɇ�
z�k}���S��6�����
����m{��#X3Ҟ�ɗ�Űkeu7@��*5�2_dcC�B�j�u���R�d����F�����EV"�<?'-<Q�{
�t�8)��q
D�U��8�
-枬
=n��z�Npy
���Tn[I�a�.�R�Q��HS�z<v�:>d����dA��Z6y�����;j�9
�[n	� SR6ZwFuiE�������t �s�_Xq��(��Ux�I`�^C��^��3��
��WG�o��5���W�3�-�
o+ڜ0-.H�F��N�c��_�&p6�=�l��W!�F�ߵH���P�C`˰·C[!�=N������nFuk��c��6룂a12�����
U�פw�(���j�P!c��.}�?�R��8@���|���|��>�b\j��|��2�tW�����E�)��%&-�)'*�� �=�&.-����Y�����LTrb�B��J]�#�������;t
�
��O�l>;_�+��ٽ�p��K���
5��
墷��C�g���O�p�rx�=
*e��K�p��ZD�F��+Y
�֬Ϫ�Ǔ���z�
hC��P����T�� !w;��7��[���"��K����
�Ƨjٍ�cF{r�2g
bxd
�C%<���
F��n�zj�[�
��
�b�9�C���w�����c��4/��:��H���U�T���8P�F�F�ß/����Yub�Њ]h-�`FW����Mװ��Ý�p&������J!��8�kD���!���ç
MIY�᠐��F
Q��:i����B���h�@u����f�fS"�;ѬɣS=��?�4��۔��"��X&Dѡ�=��	��eI�Z���������yXi	3��r�1X֒�4�+�w�
�Hhf�{��04��_V����OL��mz��Z��k��e
-Ar5k�3
��U�> �yH��2��
�
4�l�Y�
6�A\��� 
rB��%�q��bJC_�A
8}���)T��h�=	��(
9!���f{*�LrGv��!�eތ�4��0�]�
m�)z�|�+�U�i�� �Y&��%�в�]�^�9ᘃ`O�>#1~3ѐҿ�n�z�$%���Ȕ:� _�*����
-g��
����`s�b�~O
p�A�4�!��o:Qm�q
 Ƕ��V�\B�*c��T�����xo$c�+zS�=��itɅ)�T�6��P
:!�
�7Xc�–kuy�s�dz�~|;��]�O�Bߵծe�C�v5jcґ����-Z��9>Y�a�*�wS��R�����ƚ
��v�ǭ=�������Lj6Zl4?Ao���鸨��Jg�Z�״)���d�L�mY�g]qH��6O�C��k�a�ɡ^��X��x�;2Tdҝ0��kto]�M�b;�8�<%��ޞ)t���x�1�S�#��?�wzj�V�Ӭ��A,g��1�n(��I ���N��ʕ�������]�a'<���}/3U�Ks	-b/U�x,�9f��cרZ�mނ�����T�G��D�;>�^
-s�
-V�QCM�Hk�S$�V�
P8�&$f��_�o�
�5�Z}��3jA��M
�V,��5V=#O3��I��o
-��e�_r8hMT��yg%Nz��sj��0*ma�![Y���$n��6���ډ���ʊ[���%=��G�<�./�z�f17#�օ��
�p�ZV�P$C�f���>�%2�ļ�i�.�u�}�8Ǟ�FIO
��k�!��� ��
n�%ʭ&�ab��N1[�(a����� x�
m�,yݎ�^j��ܽ9�C)���?
Eb�l�sR��'���
-��`27�"diPK>��r�r��^��8
��d�H������ŦU�琍!�ƋX#2��lY�0���"�Й�����j�]I�
&#:���'9���@����:���c&�3ڻ���^��&p1��c��X%���8����#N�b�����?�
o��} lg;$�R���]�n&c���ɋlW��׭O3x>���	*W{�
*� �?X�~��s�}Tq��<:��!
�-zס�
-$�� ��ϙn���Z��zH���:��&v׆�VxԟK���$F�]�� �XNr� �d���)M���V�]/{�ɢ^��u>��)�
�|��
H�U)$P���[�P�:�A�� 2���g"Y�)��YJN��p�[Ѽz*+��ra�������uP��
_|u��2��a��H��E�9�)UVL7!�f��aʨD��dw����� QSh&6
��eN�?{�vT�r>*M�J�s��
��|�U��W���V�q�\ȑ���X�{�W��*�'�n�P)3<�L8�	�'�W��n�BM����
�{ZA9�Gk�{�mK��YV�\̼�I��	�T P���ϥ1��8M�6�e�^_ 
A�Ҷ��+4}�c �7u~p
��4�y���uT�*�QȭбQ��;z݋7�
���S�ir]Ѫ���/[���~ʞ�g���ζmu��x������k�|&(٦
^� �S�v] ��>D3��*%�D�V�fh���h�@��ƅ�ں/�^|c[�I5���JP��}��6��k�A�s�QE���2�����h�oȤ�UG6�� 
�Z�T
-;��0�ud���JHumy8�`�crQ9��D�ǚv�_:)
�8��8Zɰ���_u�CÇ�`o&h(/6]	J�H�N�n�MM��)�me&�ky}��G��r\�8=���=�A� �
;v[|'@�f1�w~��8u�\Ee�Exhi��|��V�}d�ѷ=�[��WJ�V�6�=�\>��U6T�sGO9
o��	}3�
-���޼.F?J�pDF��yP�bhud
�
����!]7E1����y����g��/�(�>��7K��������_k����=1�$��&�4�*
ЗiE{�1�5%c�gȯ���"_�ˎo��L�q�9�x�L(���|� ����`�X�l�ۂJ��
{aI�BG��0KW�i�����Д��#Rq��ift��z?�;�Ƈ�E)f2>,
����Õrfc���\��+=�
�=��B= �+��r� ߈�b�w>L��Ԁ��{q^6�Ҕ̞z`"�?����K�Z0�H���,}�Uc*�����F�#�V��-~����5G��7*+���_�
���X
�$�
v�j(=�Aw^���ȹ�Em�dJ:���Ho���Q�dؚ�x�: �w�4aN�d���j��
Ln�*=Og#}8����p,�����������w,5_ߡA�`��
Ė�wF�o�.@����Ϊ;�\�ǟr��Ț�
e����}-���p^1}#�~e`�"�dlp/~8���a�6�[��U�N4�������ھf��k���{��$�4�����0�
���5���U������1�jͦ�R��c��\Ȗ
CN*��R�ĕw�W�*�u+�7n
-��Zas��c������ڨ-1!�Ջ͊�V;�T��f;���ճ�
����u/a���� �1!7��=KOt`����L��~�y�}9�\�-
c�����¤���rd��	��1*}�[9*�
]Tޮd��M�~�Nc��	v��
C-f
pF�?
��=f���"࿛���S��CR\Yk�x�6�'�ۼ�q
���v_<��۹�bH����l�5��?
-��m}/Z\�	�|Z��d�L��h�ѤȆ��)���c���`��f�1OR�g�
h^����~o��6E��?A�C�t���0P�H��Wl
=�
-���3�w����z
iL;k0:p(���i�?�i���d�Id��+m�C;�X����Q����O�
"E��=����W$s����
¤�h��ܭL�DE��ha�{��
��VWķ�zl��%
~�H�>�=��3��q�I3�Ŕg�y�K��_p��|;Zo%�
�M�}k'SԢ�M�Hī�C8�����D��:?���Z�cg�3�K���
)��	�|m�ڱ��F���"
��*�����R�\?NC;�s��R��K�|%(Jy����k�6a��g�>�����a,�5D`F�V��{���\J��cm�}Qx�3�X�_1Y�0Iz��ݙ,3*?^����g7��-�:��c��P�A��ա4
��F�Ahy��7�Դ~�����I�A���t�B"w^
-��\P��~��.h��<�MoC���Ɗ�0C�k��>��t�b�PN�IS�B��%9m&��.�(���� n-8aմC���{�=5
��o?$����_*��ʹ�8u��Dn,�DK��I\|2�#�C7�Y����h�^
=6z�s[>'TZn�Y�Z���WĖ3�*�O�M&r�01����y
-endstream
-endobj
-13564 0 obj <<
-/Type /FontDescriptor
-/FontName /KNYRWO+CMTI10
-/Flags 4
-/FontBBox [-35 -250 1124 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 68
-/XHeight 431
-/CharSet (/p/s)
-/FontFile 13563 0 R
->> endobj
-13565 0 obj <<
-/Length1 1466
-/Length2 7322
-/Length3 0
-/Length 8307      
-/Filter /FlateDecode
->>
-stream
-xڍ�T�6�4��t	C)��ݝ"�0��0�
݂H�t�� R" -HH���]"|���s�����o�Z3�������Z�ʨg�-o���� �n��<|@Em#uQ � � ���������@P�P\�
Q�ۭN	�v맍�5�a@~A ����P��O�oGJ����y�8����p�FA�
�n��}��ف���\�Á��
��An�ۊ`
h� C!n��J�&����"������rv�A��eع��P7�����ꀜ!�� X�FP�?zC���'�*`P0�z������Ł��Z@]����.�_w����O���%����`��
�
���0PWE���ˍ
���r�\�� ��u��9�"���
�+uqs�q��~A�������ᶊgg���?%(
-��vo�?�u�#<�	vP���/��.��p(�
���˭
-��
����B�@�؁�Wz#o�o#�/�-_�
���j�����< @7�;����
�� ��@[(�
h����d�UC��ȷ�GA���|��������dqK/[
�������j<R�3����?6�З[@�- ����
����?�7��Z=����ɨ�C ��`����qx�E
��V�
��
-:�[.C�l�P�	�0�����y~�����W�����!w췙���c9Ca�9�R���v-����_WSȟUֆ�Bݝ�ת��]y��-Ź��x���衮*P/��
�
��H��

-��!\��^��(>����n
���Uq�
�o�v��]WF���>a �yn�+	}�o������@^
8��6x��h�@~��WM^�_��D~ /����
-�/Q ���_����(p���[�W�`w�v�3����߯��'`�ǚ���*yZO�a!����c\ӯ��
���RG��QS�
��QK$[%7�N�(��,�ң$(��Z��lV��FH�/�\���5��[
�m�)��
z=����)��kY�U�
4U�U8��<l�湋>
�C%&&x=�U>��R�Z~l�M���Pnx��}�����+=3e\w��鴛�.��Y�2i�:Eh4�G�c�_;��~ij���ٸJ��"��+�,Kĕd��0��S�k�����6�{|F5ǧ������m��n'$�� ��5}87I?�Gat,yҺmw�\IX�w1������ͬv⇃pM基J�E��[�s���?�
讯�h�.-�:0��O
a4#�>���3��t
-�
K=s
y
tc
���9c+�Xtǔ}gjb�����
o�+��w�F_]t�z� ���� �Ö
-/�9���z�ƒzu��k�Y�2V�f�bt�^������?�rE���[I�qS!�������1~s�����%B^���{�/g��
�H�	������|
Ģ�ڰ�
�{��%�
X=�����v�xϪ�VңZn�Q��
tˠ�ǓAO-�]�P�(�JU�v�Ԛy�ڛ�
-&ŏ�-k��8����_
-���>G>y�-��{{";^�@8�1;�\��?n0Ne�=����@*�-�~�O'5^ߡr��;ы�<hV�2�
+f�P2���GQӇj�.�[��]~�
����8�ϫ�z��W�
�2"Z\#�l�i_�h���<�8Y���ukk�)
�›q�%V�|aED�k_T�w�
ܤ����͑�\�q��̅Ѳ���
q�$�s#A)�Md�/]��J�&?��<n�,?�c���
Sj�G]W>a�����(p|\n���oz+�[_#k�����4���=�r�\G|
vj�%GiO�vQ���+��/�
Ve�
Z�d��?�Q��Q)�nzs��(l��*|f��.
e���0(�ߎ.u1+�X�������e�,�����<µ����e�����q��w�r��Ad
��q���\y�]|�����LΜ��s�KDž)�Q�CJ�@n~���\��0
ߨ�i+h�jOC�mԔS3�ٖ� ge+,-�Ó��զ���Ƥ���~Mu2�Y�+���f^�UP��G��'���=����v%�ٮ����c�������Pq��L�d��:�4���4�
-��ǽ�����V(ҋSrE��F�1sQ�<
1K���ZG1x�+�͘�(ىx��;q50�Q�]L5�s��fmT�|�ˬ�-�l+�a x��wa��]%�{Y����
-q�w�J%�̴�w�Ň���k�6
ߗ�W-
� &��O8CȈ�<���r��V�M+
���	y����̵sVck�<���F�aÁ��U����U���8��#�c�ft!��r=��mO��/&|����A
sC��
�i*@���q4��X��1Y
���Ǥ;L,����_}�G at W�cz�f?��
6
����>B*;x�+�kT槟&����!����eZ�;.V��
�kX�h:g��3J��YQ�;��]�����,�xZ`hFW'C����;
!>b~��I�h���{=�$����9�ol�\D�)�W�7�᳕Zy�U�]��k�
e�Q�KqO�`
-wa�@���F	Xub/�Ɂ���]=�[[<L�Q5Ũs�`
�|fq��
����X7����3ߗc)�8�#;R��	�+2Od��NJp#(BX�9�=�������
-I�x�jf��M��	

��ʓ�O&
1[ՠ�d}��)..��{��)۳�.	��4ner�O��Q�
h)�ј���.|U�����Y͗���L����P6���g�z"k�Ͳ7�f�!�UQ	
V#k�[47�
C�.i�A�C
��PM��������14H��{���M�2W�W
-<��a򒲋
6
�v� �C��hR
$k3a����?6�i��
-I�}��C�>�P�l��n[����
-z)��}$
'��n=2b�3�h6�\�ɗ� �c&+�<Ϻ�E�U�P.|�|��̆��\rZDs9�І�|s�
Jm�N�!MO����c��x5NW��:�?�A)�F��,{��3OW|h�U�خd"�1�X���
�DH��n��}�C�w
��!])��]�}�Z
c��4�;�
0�7�Vd��+1[��:x����}�c�3>�	[j[qwnH�bG�-6����%����&�զ5�mY+V�y��r�슐ם��#��ރa�r�*CV�ӛ>������+Ҝ���>=e��S%�l=��vqJt6��
f�QJ{��F���Y ��V���{�,A��B}Y�e��L�TYt���x+�"o�O�v+tkԌ��DS�y{W� &��*���ڌ��L�y])v�{�1'���|�|�]
��,��|��uzӫ׶+O�A��	hz�C�Ah�?X��=�,b{�Y��jd�0vp�9��t��l�Bt�?ٗ}���ֱ��?F���rC��
-*ֆ#���~��
JOZ�>�J,K}U;F��
�w����
F
+�F��e���e/}U�z
~��jY��65j���F���(9 �#�Aw�U
�7�O�}y���2��>��$
<���%>�`��E#r��!S�Ⱦ���4#�ŧz �8�qѰ���7t+�x��#Vd
\Ȇ�ͷ�|g�+'�p^V~�
Ƈ`�h�v
�h/���y��Mg���f��_Y�
��+	?@�e�	`
�.��z���Lt퐋!˚9�ܐ:���|[�<���UשF�i�E��l���&ky�u�
�
�%Wm_�
2gA��G�#D�l�?�挒a/F��<���fL
Τ�QM
\��_�y�J� ��> ��,��8�m�\�nˊt"e�6�j_T$���ާ*Ƌ��#aO����\\�aY����+sS��E�9��E��(�
F(�4�mK�H>/x<Ȁ�(�e��xPJ��;/0%��{Vu� ,s��/�����
n��=�ڥ
�����Y�P��-�䬡�Pr��&�`�������ޮ'S�����X|feK
���(ڬ�����pnu�:�G����`
Ɩ�QŒ��{��.�+����M1(�Sz��D
�

�0Sᄂ'��0�.
�G���%]��wi
X�Ȇ�Z9�W|`���)�{I at aqF�	�y�b�R˯��� 2n�z&wx,Ga�ס�����ᴲԗ
N�F�h)�3�\
Ec�}�}.�v�
-�l��J>��$�s`wݫq\J���8�s,!����<�[rW��w]x8�G2
S�
-����V���O7��R���0Ƶ�5��'U<x�6�nl�m����c��۶��hQ�u
s�y��dbB����S.�WN�Xʮ.��gy�Û��:ɣ=g�9/�%E0r��3)J
k_���R�w���e<�2��s|oDQg��@����T9r���
�p��qĻ	֡��UJ����d��po9*��Ψ*�f�$�
ƕ�<s
Ge����hS��s�+��d2E��Y�
i`��+^>�_J��5����>�̔1��7PfʕZ�S:
�Ca��.TNH.(�XM<9��̤�y�F	 ����Zϸ�NX�v�ׂ/j��ogcZi
^-���,ޙ��&�k�I�?{3����E+L����6	�D�
�S�#f�R�3��u�q���ݕ�g�ZG�X�_��sd˟�a�%z͢��>êD��j��ME��b
���3�c�m��9�b>���2X�}U
pL���
���w��絸���0�ٓh�q�d�A ��C}="�Kƻ����9C�
�qC�]�!�g�ڝx�SAݘW�N���
�J�Z���m�8��8�^)u�~f���zk����ų;U9�,��l���ֳu^�������X�nR���|��X�LO�o�ma��?٥�F�$
�6&wM6
��o��$��F��z/_��W�i��y�Lv
-	����Q������
`g
Cv�I��
<m̩j� ���������WZV-]}�x\j3�ӴYx}
&]vђ;�=����$m�Bր���Q��[��;��
-�
�4�fX~<�0Ƿ^��+�$�"�VE#��ї�$.Ʊ {���|�����n#	{xBM]#�p�"�jn������
p^��?�sH���Jow2����꣎v�+�����i(�&L��)��Z$�n
��׵�Aaՙ��IW+}fP�Ǚ�%w���(�?�
��ܦ�٘n��Jh����u�
��j�
-
{��餞"ż��bv������Ν89'X*����=M�����#���7gp@����ո]�u�*��oM�;��d��Q��V
զN4.���}
���V"�X<��� _z�~(
�[�R��C�{ڕ������6]�1�i��=����U�g��:`�)l��	��E8��8"r����K�@��
s�٭h@�
�R�|3L�%��c�L8ڈ���L"�0 �U����$��>���� ����i�$q5�-�є�>O�,�#:�©�dMxf㹵�r��4-�%����be�Zh���&�9O���NT|�&3@ۆ�0D~�,J�J��|>�?X6�9��1rNA����geڂ��0�~,U1�e�2ie
�J���l\[Æx8���(s���G��Ȃ�Iq�C�]-f�ZAc&,I����t,b('�s���`���jm4\X�T��E
l�����A�%���u����J�.�7Y����Yvk=�a1���#��j3~�D��
�D~~ίj..?9�
�-�����>��)�{��Z*
Z,
�����%߂m�lZ����B�)�'J�cz-����n�� ?�˨fD��Y<���FD@ꥐB����3�۩Ў�w�#x' �
�Q�|�
)����� �Dc�{h�Mb/�+}�s0O���lL>2Bzk��3;x".��R�[������W,|��
��̻�S�qь�g�0��0�i�x���
�R�j~O�"$s�E�Rd�0F��B���E��2��Qg܌ЯBW)�����1E�t����v�_cH�d�.iy��Z��A��AK��53�p�6.h�� 
�X|�
3���
k��XEv���U�6��O
C
R$աs�iUZ�
��T����>zd�e����k=
u@�N�&�!R֕c��Ʒfk��4���I�����
}�%`b(�3�U���E�
��܎�Ƨ�!Ů�v�6L����/��/���O�G�&g�4C�{�;É��C�Q
�tA�	���f?��R�ԙ���d�
x�
���
g"��%�]p�:�1�(l��m!DE� eԆ��差�r��*JS��K)��:
+h<q7�
i�s��C�d�-5񎗺
s4�I�p 8�3g�J_��|�ߩ�%c���A�R<fz��,�@>�I2�h�7N��o][�	�`��8[�!Qf�
�
�~��׽��&Q�x��'¹���ql#:��c�{�x��r+�O5Z�T2+�S!O���Z��uuF[
�NS�В�I�n���SJ*�3��v���*`�x�8Q��nы尪�/������
@��!![Oe�k�cy�@|�}���ٳ<q�s<�~���w���A�f��Aʐ0Z�+��S�ITe����M�
-��L
������}��'�
vۼ�uSi�'壓�/��i'q
PR�&�u01����ѕ�Z�J���V�D�5��Qc����y���T �#��� ���������p�,��Ӫ���S���������yY1�WN���7C��u���>�^�|�4[����j�"���d�N��N@ڏڐK!��J�IuΦ�w�j%
��I���]�-l�-�*�;��PC;���6e�uG2�r�f���M
=?�?S�
�Ae����Hv�"�sr� 4��%�Ȣ"�A@,�ʐ|��$��
�%�#nT
3�$A��
��-���O�O&
�iB��)�>�c�o?P�GX1=R�l�7G{�����D���}*i��:r�]OA@+�������qO�
�O���#X�c�E�W
tIUJ�?*qnT͎i���
�
'B`
S�puz��x4����:�i��y�wmv�S�.� Z�w���lCJy�VS�r�*3+��)��U��D�������t�u���'($h��"�9���z�2z_M>�o�[UŶ�h�ot�-�f�^�'��� [...]
-³�f�_�#Y� �;3J��3k���Y�8$�
N�+�9���u���=i*�g�8F5r�C@�u��bT�
��n4�T��-���1�+l��
�a/P���^���T|pW%��C�����
�^�L�

��D5,�_�|�V}<Wh�<��*�>�x�bHBPbƨf�v�i^�nb~|s�]��E���|�����ݠ�EsU9�\	�G(�3�n�D7�%SG(��abR�f\�b9���K�qlٲA��}�Ͳ�p��9��VRw��׶:��*�B�\��z�v�N
�0���=�i�r{�P��::�t��2��F	*6'�X��r��:�f7��$I����l�%��>�gTŤ`tw���Sl|T�i�T��8�X��l����H5=������P�cz�
_u�;����;p�V�Ք%�:��k9��յ?��t�����Ӧ�ag���o:��?B���s�}#�2Y4����[LD���dX
!��
��3�]&��LY�RQC���ZT
���盅��M�n���u�_Bݘ,�ݜZ�ϻb
-��9�r�(�󢔎3!�+_R����^���V;�6����a*��o�}�Xc���	#�_���<
6�B
M��*�Ʌ۸�7D��4�������+w�Yf�>�^s.��W0��פ<F�}��|2�
=�͚��~�U�*#��w�@����$�˛���S �
�r��9z���i���cy'�?����c�Md�)�
����i��\�.:�� '�]�d�*�P��6�[�9�Q���ԂZ���.�f)���~�q�w/'�|L�#9�Tc���
-��S������⥽��02~e�xl�^FTiA���r�)[u��Q�'�9[���=�
-\r�}}�F�+n��j̢��Uu�0��/C��
JCoG�~����f���aӐ�̦�j#��m_�-�����/>	�s�tc�@\�Vt��JH�۠�OBV�h:��{����t�i��ء��h��U��
+�V�9����
�|���
�@�m��
����DWih��.e��wT݌r_Ӵ^
�c�R���Z+
��z n�ޤ[F��׀2
=<䵻L�š��|'�cYo�K��7��<���s;�
��
Gn}�1�x�U�����
�a�S���׹
��W
�b�=-DB��G�g�d2;y*����T�ܵ�����
-endstream
-endobj
-13566 0 obj <<
-/Type /FontDescriptor
-/FontName /GJXGPY+CMTI7
-/Flags 4
-/FontBBox [-27 -250 1268 750]
-/Ascent 694
-/CapHeight 678
-/Descent -194
-/ItalicAngle -14
-/StemV 76
-/XHeight 431
-/CharSet (/d/e/n/p/r/x)
-/FontFile 13565 0 R
->> endobj
-13567 0 obj <<
-/Length1 1481
-/Length2 7969
-/Length3 0
-/Length 8957      
-/Filter /FlateDecode
->>
-stream
-xڍ�T��6Nw7�� �ݒ�

H,�K-,K.�J� %҈��(ݍ���4R��������?��Ξ��33����=�<�Lz��
-`�
D����(i�� a>!<VV �
�Ǐ�j
�{@a�R��P�C@�{��
�
shx:��bR��R !��0��	�

-h�4`�<V%��/
j���+�Ö ())��'
���CmA� m��r���
0��B!��*�!�@�I��{{{�\<�`p{YN
�7� 0�x@�^0�7e���75><V ���W�f���!�{�3���q���
-������Z ]7��_`�� <��/ �'��rg�.u��
������\}��� ;�3����A� @���@���>��:�l���(�@�
���a
��!<�<�ο9��.s�ʮ`%��
����|O�p�������=\'W��+���
-��M���o�
-u���?�s�����
� �
-H
 � �����@_7ȟ��o�=� ��
`wO �����!=@^ �		@�g�-<AA j� �@졮x��~���e����
��O ����7�{��a�ξ���1�������ߔ�TT�� ��" ^!aa���8 at LR
��U�����z ��g��z�v0��_���^�����w
ؽ�! ���������C��y����)�w������D*����
�?q�
���oĽ�=���
������@�Zgm���Qu�~C\��u�P��E�:�Q�?c���
u���<���7 ^A���ݯ����7��~XB�����ʮ�0�����p�/�����DEH��
C|�H���
-Cܧ �� �`p��#��?��oS���o�^����0E ���0� ���B ~��0�s}���ub[O8�~�����?��/����6��w�	�|�^�Λwm��8�I'/����%v*gUv�"�T!���d~U��D~����X�
�)Y�����*�`l�	of��{�pG���!.=/P~�����8�	��E�5��S�H���ܻSէ��ln0rjM�JL���+o�Qܳ��	�|�ד4�Xއ8\d>�'��d�#w���x���o�fKB/.&�*�B
��,�f4�O��ؐ��i��Ȓ�����9�|(��]��-L?�̵�ɨ���$UY�j�C�v�f�Z�qո�M�p�y{���~,�\��=��s���^b��"ח�a���h���1��7�[��[��oP\xr�
@��E�.��_�U�R��p
�u�Y�1��]���I��]��ILB^��8k_�I5��3�*�&�gm��}��*Fs|��"?��2$4������}�SF��Em�
 [...]
-�!݄>F�"FMԔvUƬ��p�0?�+��Ny���0[^�:~�����)a��4b7'��h
��lV*����*�v9{�L��Z��C	2��z�[�_V�}|R�b>Hߑ�������A��6��~�ު�����'��[(Yld�k�&��%�"�.�[:�@'S�|V7��y�j��
�������/�Ƶƹ|\>NR���K��ݝ'䃯�W$��!����ɗo�n�����jv��;/6P����^s�%���r��d>�:v���Ppp���`a���������>��@u�ȷ��T at q�y�+]=�>�
	qj���ȧ�9�5I�9�]�OO��=�?��ir�KPT�\��c��.�w��/"`���91)r�i�K�m��#�U��k���ѯ}�i�o���
�3c>�d/�r}{����~k
�Ћ ��z.B�
�wX�����hl��t'Ύ뢜�I}!�d��^���"+[t��� n��{��m�;P��t��^RNZԱ� ?ʨ{���Q��계F���H [...]
-H�
%
�8�ȳ&[8�Z
�>�^ ��0�E/q<�(7l\?-�g�2VQ¿�{�	�c�fۥG�s�hvI�)�B�4%
Z|ԺxɽV��'D|�D��^�}�t
��8���,�n3`��Γ�v��M~�)ѵ����zf֩z����9���S=����|�f�5�GG�Æ�
����F������B�v>P�'�W #�D��H�G*<��^}h- %ȩ�%�';�&C!+��:[�q5+�╫���zF�1���W�����n�,��](�7�_���%4�#���b� ~�*��㷬U�V4�u�Z�o���{:�(�qJ�Q�FXs�ö�m�༫$
�^g�
�q�o�'``s�!��
��o�������?UW�n��P��v	w3��\'�
��E|0��?�
��jt랹����^L5ɠw�����
��O���^�w
-��t8��ƝC��{�K��o(�3�Å�K/^v��
F�@-đ_DVi�}'�83�d%'[�t�
���
-��\Dd����Mp�6#�;I�ܩ	�w˞�"���K�0Z��!�����-"�������v���r�O�<{}�Tm����M��"2a<���o���4�ؒv8���<��[��l�邿�i����L��>���h��쮸Ѯ�V�P��r�4�(׏:ģ�Âq�6�L�w��b�|�3�'(����▼�%'��U%�k�]\$,	!lo�a���_!��[��Wؚ���)���7�+0.4_,Ƀ�@|���l�6d��)SQ���M[#������o���1ȿ�KݨlkT�1���Y���b��
;�ʹ�
�&�
F�I�L&��o|o֊��
�DK���bЌ�~wr�or�:�4%��e&J�ڦO�m�N��Jq�aJÀU̜��S�);~��Ś]���
���g�6y��£n��` �
}
3�
�,��i1[�As�r��E��V�vd'������ %�"��.�4-����@t���A[�+�� ���E1ʆ���EA�5芸��
K�H5�}]-`�Tk��k8詿	k�Z8z|�^�n��cհ`H�/����wN|�Ulأ_��XC�M�z�d_���
P[nS�7S?���0��e�N9]�Q�
��S
�����L���k�2��P�b���a,�<A&9�%�e�ƴ5*�#��%*9�Ʊ�T�����߫\�JD �с3���.�#�eNx�n��׉�ga��Mnl.ԧζ{�>G�oݠ'$R���"{I�r��J�'�P�p��y�B�fʲa�Y�^y2�I3-�C�גJj�n at f1�����s��ho���
����k[�/Ϧ�EKg-tso);��
-�������EZ&
�Z��V�`�"�O�{�W Ԓ��J7#ӀT]�Q��
�

-ߏ
��0-8a0�]�
-v��yW �I�W,�e�%�Q@�����g���U�U��j�P�L��
`[(�����
5f���Ï��Wjmd�PW�)+BÍw�V$��X�xtY��M�*Qb��@���|ty]�B���'q�5@�z7�IYP��S�*1�;n@?��G�
�o�pgNM�X_|̺�(���:B���$�54RG��~�6v�(�&O�ҩ���Yױ%�˃w����u�&���
�ړ�鱜e�i�ږ��4M��$�v[�n���4���ȵ�z�ș��l��ۈ����lF�s�u_��e����EM�4G
��
Z���
���E'�<�B�N�)����V>�:�/x���J�ɏ��#	`qN
MY���j��U_l���G&Xb����C4>�vt�_/��5Ǧ�ç�[��
_����>��C�6��Կ
�uҳ�	�A��ȯn�8/�[U�d
-'�}�5(c�y�Z�˟���R��¦��%�V��s���mt��+�>3�ɓ�-�2�^l��X�rǻk'r5��D��7�I�o�ѺҨ|d��H��'�]<_G�]�n�*�m��H'_�Z	�����a�щl1�|HUX3Z�}�LDDX
-��Ha���B��ob�q�=����'�
5,��x���n	J<�����Α�f��b�b֖�b��ݚ^q��Q���-�0�@��,9����eO���+�e�uoY�;&�����o#� Q����A촿@f� �
���S�
��a�`�W�4f}�o�a�,��I���g���'%��u�E��2#
���.�DU[��!$V	�aK|:F+\p:�s9�� {o�7֝�*��AM��J��
-s[����i��3��{�HH��^i�B?���^��:��y�EW4O���Bƾ�� #��T�����\�@��c
�֍N��~�<����z& �b`�U�]���#���HIw���y�uP�򴮚p��œ�֚,(�
�Yd:yR���\�ޖ��U%JQ���)[B���΀����
�Σ|�i����W�..���椕+���;-���+
���WG5 
��`��<�+^�x���M\�AtRCw��
-�=+9
-7#���Y?�0	��(��I20�f�����@P�pthtn��
eք}nQ�����"+nD�`���r��|�6l�}^by��
��@i�����q�Y�'��KrǾ�R
-4�/�V]��4��4�o�Z\:
��o.�
�z�
��
����`4�����;�
fr����y5^Ý�!_��g��(�`��T�Mm4EIr����!�!��z�*u��� ��^ղ���6��Go
�2Xs��-uے�iē�d��),rv
�
鳯H����mFo_g��p# ��'��>�*�ISX�ɀT
-O�����*�
-�����aR�dh�'�v�c�F�7�����6
-L�^�1h�4� 
�+��U�Rs��a�D?�eS�S�Cz��
���-��;
-��b�R]���.i�\���
�J�7r�9&k��ғ������R���?�lj^
{��"�8�hl#��.���
-{��	���Em�w.�d���Z�im"Br3��z:�+�q�OŽf-�82q����.���*塄}�:*ˉ*O�ݠ��o��vQ6u�
�m�<��_i��ė5�$���pF��'@��0�P�OzF{�i6��
	�ɔ=�|�m�SF[��O!�y
A4	-{���q����d\T��}�$e����~>��
W� 0� �ST6�MNx
�}�l��3�49y9��WB�v���������a�j��ѵ�^~�Y]a��o�"/�Kz!�6g��ʍ٫@>�
�\�CT�=��M���kJJ��ߥ�|e�����6Tz������o?����Մ�
o� �{Q���ڤ�꼲�T�)�{(�Q�G�d�{l��/�#
UF��_,~��jR$E�.���W1qGj��zf��7�Vz�ڰ����v5�u�(~З�ֆ}�ˋD�^���.;q=S�3͓K�W��j��g��,A� ���;c
���v�*&�^����\"p9��;�W����Q, at p��ɧ'��&y�>+�Ơ��R�>��}nj]�a�a�X���P<�~�E.A�$��w4�C���٢�}Vѳ��eӒR��I�B��4���]nj�a�'�
	'�M��'4�?�#=(g�,%^G5����O?�Ğ��N�{c�ͭ��v
#�߽�M-�*aב�&֎f��V��Ë�gG�8^�_��
*�
1%xa]�BpV=�
�?��/e��X����t>0s��Q�%��

�x[m�=�*��
x̲kp�p�[;_q�Y�ˎ��!e�X&\j'���T/%��� �K���,D�[� '��e"
-�4NӋ����
h��p�������(���\����7_�U��v	
�<Ap��C@�T�x���u�G��L������E�A���(�K�!�ô��7
(��p��4�!��6����,�[�eS�ƻ 
�4�����oV�sHO��
-�L�
�)�ug���l����nO�^R
-
�j���f^-:�z� �<g���o[�Gu�w/�����
-1���t!�{�
�y�an[U���I����IU!��n�h�=�"��ߎ��3�h�
-�f����D �M�[����WV6K\xAvc�N at x?��3۬L�Z�Q�k���jD����~.~��Ra���k��n�KFY1�B4;8��-�1�7�"8�@��q��-Hd���Y��V��Tj�~0b��RT�0�
�p\�S%*���^� rZ���C#�2�l�:��`R��
{�7?4+鬘F�f���m;}����
-���
Yb�	[�ea�v$�$��3�M�������5��U���V���>ѨJ�\t[{皎��-���v�
/(��:�fo�<�'Dn
�ڐ~�N)���;c��h^�W�̐�����7�l�ɒyI�
�J� ��H�
e�F"���v
*�����p@��	S3SE8��|��)2S/%���H�� �)�W{{�5��V�y�F���oN2̌c3
�Y�'@
�JxW�oאۤպp��όW6��nS����щd�a���'�ɲY�zaK[C�_;��>WN��ȣ�
����>�m24N��+h
í�\MZ�_�m�Zn�fO�����t^
^O

i����
)4t�4��lxL�'�FyM�W\�ڞ�.�̧�S{I����\��
���9��]��J�<��G��d�M�)��>������!.����S�
�|;	�e�
z�T�N��Lj��k�_��4�
�!g�=gs2Y!����-��Z��~
p����${D��v��J��}N\Q�W9?&��[5՜�?G��KD�e���Iy��:_�L�:�'�46�UUטW�n}E*T��3�uyU��8�у�a�rI��*p�2}��&/֍�T�J������u�-��z�*lZ��Xz�f�2�d�ܖ���d�>ț�3���}LH�Q�klvJsG��eͰ�ES [...]
0�� $go�0���1�YBN��K2J�J��q�y��|=�!���$���j���prX�H�:�����Ѫ������?���
f$C��{�;�H� �����,/���T���
-/8��c�MnZ��*e�|��5z�*V�������}�ު^��Ļ0�Yz�~�0�����C5��S��ȓ��
-��!b/1�|ތ�H%��B^s���a&�=}�$-��c
J,Ls�#y,~���`�Hȱķ�U��J-4��	D=���,0�f�W7'���
�A�1���&����bG�X��iu��jg��
-�ZE��_�fya�g���MﭴBQN=~���Y&��D�><pb-�Tղ`eg+FO�
y� p��YWn�CF�EG�>�w��vu�
-'�I��U�̉��ȇ���pK�za�7�T1� ��e8l]KM�i�#N7�h�Fs�*j$��锥���]yKCO^�����>)�<���􇩥��uܥ�����1B�*��OO[�+�5P���`�����7��"2LK
DMf(�QUyO��w�I�X��acU��+�ў�zi�m�!�4��/�C���D�������1����씹����3qD2�x���K����Pv]���6��ۭd�7��R���$jʼ;k� 2BL+fWӲ���;zK�9<m�÷�A~��
-_uFi1Ƽ*�dt�m��2s���]\5���(��'��DҮ8��e�S���z�q�ß:�a�Y1��3ǚ
��U,~w���VE�]�)}� ���c��{pO�s\��pĶ
-�BI���7:�B
��d�
�
-�X+U��)��wd��Q���D�����3-6���
�'
-�
ǿ
`X/�KT�4;�E#���\�������{"��hm����f�,�U'�Q�|"ju۫��d�s��,#&p� |�@X^����V��ͤ#l��I:0S�*����qG�
-
�߱B&uCUq�2�-3Q˨���.�Za�=�R,됻���C�|�i��T�N6�[�����Ϭ��������m9�#d���Jaӱ+%�
-��1KќWV]:ۃ������E��2z�9��!��%��
��F
���.Yr�0�>��y��P���	�\�Β<儧c��`3X�
RЊ
������
�1/-
-�Jh�`*\m��x�ߢݾ��H� f�4�C�v�~�'�,9�,�P����M,�ɏ.MU�#a<��*�7|:}�}V��9��������N����Ψޱ�vB�q? \��kIj�c��g~$׽?�J/L��<��͋��D"%��K���^���e�l�=/�<u\
E��$�s�f&tk�����﷈E8@�'E�;d������e����Q��o5���I
R�oDK��=���~�o��wcp�+
~
z� #��*����#��!�=5�����%
�{ݤ�<	�#9���@�����d%
-endstream
-endobj
-13568 0 obj <<
-/Type /FontDescriptor
-/FontName /BKKFBC+CMTT10
-/Flags 4
-/FontBBox [-4 -233 537 696]
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/e/l/o/r/t/x/y)
-/FontFile 13567 0 R
->> endobj
-13569 0 obj <<
-/Length1 1413
-/Length2 1686
-/Length3 0
-/Length 2587      
-/Filter /FlateDecode
->>
-stream
-xڍT	T�.��բ���D�@2I
�UA6�ň ��2I&d ��2�M,"��E9*
-V*�����fU@,V�
�X�oP�����9���~�����w�ܔ��ƅ�s
#l�T����bR!�A17@	!2ᦘ�G�2�
�p�"0A��`����X
)t&��:З9@`@��{ .u n�
�_*X�c��bc�h�� ۼ\K@��_f�I."D�ra
�„ �
���ù(B�|R��I@b-**�
-�dT\���D�� �#2D*Gx at M��"d��b�lܿ�Q��C�rLFfDb<D
-��`��X#F�q��8�L�
�S��Md�
��&�rq��bP,
�Q!�x�P�h��O
��2�̇�0*�9$@srx��0Ip���+Eń�*C�j�4u��1�+.!!����J.y�1���F`x7a�Q��W��E�i�*�D��& ������A�
� �\M]> F�h�t��d'�ŀO�@�Q>B�Q�d�
�4���{�S�B�
�% 	C1�������h4�H����}x�@ʋ�c˜�p�|i�n^�n>V�?�V�ģA�

�0�
�Z���� ��"迧��at�h��z^��
ȫ{�B>!
-�����v��I%#���C!�%��[�����zu��%���)j����a*�� �B�$ȥ�����>�!����H��Q/&��
~�FT�F#<6Jp��Y]�b���/
��C�g1r۸��DF�JB�e���;��y�c�l,��1���qtr=yH�F׀F�p�L$�x�ǥ�@��h��7n��&�h2 @�֘�t�FJ��.jdA
齭Y|�F������J�z�t1��y��X���bאN�C�9��k]�^���S��r�F���]�
��w������w�d)
fw�UM�s
Xoi5��M��'���]S��f&�
�=P��5��f���d�Q{�SO��E#'Ӗ���MjNSL3��c�MJ�vɮ.ZY��v��"�
����=����`�o�u�Z
��e�왾�{(���Ojm�zonm�kݍG�Z$U%m��Ȯ�3&��g=951��~�»�`a����X<���z��G�"�3o�Ӭ��h�[�%���
�֑<o2v>�Wz�Jښ�=���=���9��'��
��i�W_
����*k�!�z��i���jM*1��u}�Zt��!�8�u��gFjh���o��
�J7q�[F
V�
-��^-

I�]��Nu��X{T����_L
]���[̖W��LB���g/(u<
����p�u=k�Ɂ�da�]��7g]��4kA�����Y��W0���X�֧�?Ք
[J�_ߺe�ݱ;�
�ۭm͢��qH.���Rp�/6��;>�i[�<}�%x��g�k�j����1�6��v����r߼�����ܜ��5�#�Ϯ
7���G�a
�����7[�X=İ�k�¡`� �S��߳�L�탋�&n63h��Îr|�
B{����
}��`E��˅��}q��ˡ��$�}~�2�S��׼(1�x�B<�+��ɾ�88]a�x���S9<�ا�?�/�Ce���:���!���J��V2u�s�o$J��K�ݷ:�)":�<uij�V�X�H��w�$dO�M�����Hg^���jレ����=U��ϗϱ���2�\�h1~:猬Du��Pmӊ�
�*3���	���eQɭz1_\t�-u������?X�wH����9
�3��
�޾/;zC�VB���
�=v�&W�-ݴ;?EO{}���Ǒ��gT!g~���5���-�n�p,+�-�
+�^��OÝ��J��:���3o{7����Ǝ�\N���x�+v�dꑺ.���͐Q�Veӹ�@"�'4������G���ϖ��&P��5R8F,h�.����[�L3�������M��T��
"���t�k}�9��j�/[>�P��P�á NOGWh��('�����Ufd� [...]
M*��R��ߨbWT�a5���?�S��۠��':���T��-�븕 %~��?a��̔)K�b?����"�_��W��vS�Cb�D�U��T��
,J�:t�I����\�
̵*_RV/�43�F�9]���Zw� k���w�d�����ml�V{�H61���n�^��/����&��|)�
-���8[e햸l�\0�$�q�$B{w��i������\h�Kt�'�h�u`����O��4��M8=��@�f�a|gϻ51.��
����j�3����e�<Ir��.��}Z>R#_�ɔ���vWE6�b
@�cs�o88��)1U�/����Y�
��sJ�S���E�B���vJ��l�����|$qڸ�<���������W6{/G��fG�p�\9�ݦ����X
@
-endstream
-endobj
-13570 0 obj <<
-/Type /FontDescriptor
-/FontName /UDIUDL+CMTT8
-/Flags 4
-/FontBBox [-5 -232 545 699]
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/ItalicAngle 0
-/StemV 76
-/XHeight 431
-/CharSet (/e/p/x)
-/FontFile 13569 0 R
->> endobj
-13571 0 obj <<
-/Length1 1359
-/Length2 6420
-/Length3 0
-/Length 7343      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�6!�!!��4C�tw��80

3034Hw�4��t��"
�)
� H�|���=�����k�z���v\����΢oħ F�@Tp4� ?P
-�c��# ���@�!;�1
��m'dA����!���Ʀ
B�"� M7@P (&%(.��@ɿ��@�t��8EȮ�p�BB�
�R�^��\ AIIq��� gj
�t at h��ME[
`���B�^�J����v�����9��H{Y.^�� 0�� Hw�2@�
��?!;�����0Bء=@H�� ��Bਛ78��Tih�\ �?`�? ^�_��
����_����� [[��
����0@OU������_@
������0��
�w� ��� t��/~([$���GAa�8
-�Js3f8X	��
��Q���S�"!�7s���r�����';(
l����E�uu�h(���1��fAD�‚�� �+ �i� 𫀱�
�������
�`wC�������@� ����oǿO��� 0�
���C���~c���9��?�	� ��O ������Fa`
����+��0�U1����?NEE�'�G�'"v#WaaA���~�N�� �&�۪����%Ԁ�! �8�
�o
�	������.�F� ��o	��<��w�w��M����?���;Ru��~�9� �?�
-���Pq�A��`
-���:0���{5��P�����
-�����h[�?��m�ܬĿcU�����H�!�F B�� ��%C<k �G�oB .nh?�
I��J�� 7Q��v�������%p���~��U��
��Y��7{������
�xBl	�������mg�
-

|�#2웦Ϲ�|��n�x)\UY�>"OR�ߒ/��p���3_���ㅽN2h���a�`8��J8;F�n��B]�]F>c�-�+W߇�N�-����y�n���Tg
=j�u��
C�ӛ[UbZD?J?�ŘD[O���ɞ����滋�M�œl��t�2w�Y3���o?F���|E(�|�{��X�E�FoNw��rh��Gq'U�vƧ�p�ݬg3ʱ�x�P0��^��ޟ�n	I1��=$�^��n
�$�E�a��ޟ鲏�岖.���/(����4
�˫��,EZ�M!�N�I��@1�a^? �J;��\X:���y>��&)
�
�K at B�Y�'�۱�xuޔ������Ӈ���Z~�@�������s��h���w�Ȗ�_�W�}F��pb�5�*0WaWXK�U�||�q\���^	=\�/ۓ�2�y̭
v�)E7<}�����+�ǿ�bH�~��}�^�ķF?�}�;�+�����9b|����[�r
��%���J
`Q�/���a�Z/u)0�7}k �3S�0���m [...]
a�
9�Q���cj]��ʳ������1p�_%_�6���U���h?3���4�й�?�����v�~�]0�컬�
�"��cb�)>��jĉ8��
+���|_xJ�yMǵ��ej K
�L�^,Ӆ��g�
d�wc�qU(�� HU�EW��
�;�K��<#�83�c%KY

�<�pi|hp��8mt"rK��VQ)���Z�H��:b ����g�	LS�����5ݘ���	.V�K[����G��]}���ilD6��m��"�ܨ�m�����`G��"!Sg�COz3|�羿|��͵h,w��� r�@˛��5��Рo.w

<q����������.ja�]�F
S���-��g�O�p�*�v{��,d��x��m�}F2?~���'�1�dr\"r�!(�
i¼�KlW[e
�*��}�oP����l�����̍󜯗�sC괞�y
�݈����pǫ.�v�( 7=�f������ߡE�yr'��	�e�)�[�5�p
�tos�јA
�
�����5�\$c�z�ux�5Ѵ0����
R�,�5m�k,q3�`Q���c&�m>­L�&q���.
�0���G�1�y�g ��ƱH�(�w�T]q�:6rF\����ޛIB!ʩ>*J4o�GZ��qm�Ǒ�F��˴i�	"�[x7��;?>�
�p
��uke��\��Ԃ�lD��J�x�B�&'V�_L��<Vl�K8�?����b�}�.�T��lg��15
--��
#Ԡ;�*qX���Z]T��0W�&v��FZ����G�a ��D�6�,ג>�s7��JADnl��B�
O�RHhƓ+���kT�d�a��d�G+��TU&u}>�C��%
��I�y�I
w1�/��X��v?1��fj�uER�#�˱����E�D�H������yYsFx$6�u�����m��z��Ӊ~��q]�4�˞�l��jk��
xzz�
a^^5���on�b��1��/��
tzX�Q�T�ҟ���9���dQG��c
-+�l.�&�qE[�f:-|<�t?~�'�)xw���e{;ګϭ՛[�ę2�r*7�ά��P� ��g�V��1r�Ϳ�~�
MP����1����s.��K���R�ǩ�i]�z��!*�Ģ[��_�3�	�L�
]$Դ���
��x�u�.���1
$��"
��6���
f��
��W�.�9��K�ӚU�E\v��
r�;�VU�|�
��/��J4Ak.�;O�_�7��W
���
ѯ7a�����ś$�
{o�D#�;�<���� �ʥ)���se���g��e�nSd'���gOX��u�L�
��<��5؉{�N�C7l�
��f��dh���Y�ى�n�����[�`��`~��W���ĩ�K�
�.��$k$(:�Z�|>��\X{�dB�Ҁ6�<c���؏!�C0>s�n���}��>[�C)'�'
ۛ1rZ'<2�T��B E�-N!"t`��K��&^F֞���ە,:����U��IGÈHז�C���:�

��a��[��꼳+cg��
-\�bH�j��L�i�*햸����Q�t
-t㓛���2m���DS6�%ٟ&���tK\�7��
ܭy�`����4�Y~z�E�΁Nj���1��c��;�k�/[���ɘ[�
4��=;b(s��k�)
�c{��B����T�U�L?���]��w�S�yqi��&�4R.�
���S�XB���yD����:����b��������7�>���S">9����Y
=�/aȶU
#�Bt;�7U߃�7j�k��,[�� �iV
�E N��񦐗P�W���8���d�_P	vXqGk
$.`)M��TB�Sә����v�"�
�r�o�P�2��T9�>�Kf�|�L7��B��v���Y)
#b��
-4/L

�
?N_�\��o��� �q/>�M��+�krW��U٣�)
�o�|�s+���Cw{�*�}�v	�z}�H�[�"�����`�K�/ʊ�v9V���z�0���0�c�Q���u�PC��[���ܽ�ܧ/ӏ.��j���῝��P��X%����HH6�)N��k��k׉U���k��.j_S�V�8���P�ao�*
���X����
-6�g�,�N�T�1��u��ډ#2^g��|�BX��8x.S
��b&R⪡���+���RN�&G�R.� ���<�t��U�4��r�*��G�r��ƒVu��:�0��V��y�ݻO�ڳ��[�He��mN��U�N��p
-�a0��e�;%@�
�"6o}t�-���,�pI��]�7|c�%�])D�EBr����({ùp%���@qÕo{$���g��)�u�y�ins��\��c
'{�ZS��&w�F
�����:�CӺ�?�K��3A��0
ӓ(�Td�qA�1|I�����x�1�)�?����i�N8/a�.�f~6[���B
���Gl]�����q��N���T3�IT6D�b���4hi���JӤ�_�}!��4])cO�zǭh":���I���6��d�̓�č�f����"!�8P��R��"�w���)�
TV�
�-,���N��R�b>��r��p��i�@C����[��/�q0e��X�̀�
-
,�n
ơ/
V��F��uDFpo1�L���
6��"+�wo�����or&Ew�n��˦K�j2�H5=�*�1��f�}өp���i
-J��g����P5�)�Fo�3�nF	D$��J
����ׯ=���u�Y_p%%�[{Ij���!��&dG�4�֠q�2�(���rG�n�����c��H
���ݥp҅!��b���rN��c#TEׅ��ˆ�WwGbe��|�5�k�@@g���1��'i��z	3l3����ߦ�m��kdm�������
�0�Z*l��}ıdO����t��o��Mcu�~\i��#�%+z�����jo_�
�O��5o
�����"�C�o^�ء���'�{�,��
e98�D(O���O&(,.2C�pi�ؙ-��W�r�h�5`��7��7����R�*⇊f%�xǩk�Z���J���m�
�i��ej�t�n�m^:�[}2}c�n����~4����_L>>yU�p|�#0ɠ��S����~�
� ��Ϧ Կ�۽���H�r��Y�)�D�g+�ٯ�
����QlQ#���Q.�c���}e��;�c�W
x�4�;���^v4F%aO28lZTDY[|����!��D� [...]
���´gc}-�s���.��8=.�?��n��f����9������L>;�[9^���ީ7ͻ!���qǔ Ye$��0v��[>����d(>��ްc_�SM[Y��V�"7M	�����{P�n�i��������_�m�^K2FOS��Z-�m���
�
i�c���t�j~a�ٷ�@G��g��D��8œ"nT)�:��H˪�����G	b�
�1DzB�
��횰.�7}8�W�l˺H���ғ�Fض�/�"�} ���ös�	Ksbg@(������j�U�'����y��t����
�ۊ�>��P�xm�k�X�\�T�ؼ�����+K������NH^���Jl�Jm#L��l��G�#ש?���S�����*�)՜��Y�2���
�G���
��$׊�Ԏ�p�j����.��]g%F�������q�W�7
,U�#�'K��]2��x1��
v'��G�a =�y���nlY��>܍��(�ޡ5(�
^6����
.�5����ȴ2ٮ}E�
KdnQg��
�����>���P�eW��D IF��
�Y+�x_�3�}a�
g^�v��s�!�w�Ŷ{��-T�*�gG�p�R'W[I[���
�n~�K_�hڼ��\���k��y�_O-�Tb�<I��4�%���RFE��J�v��>1�Q�
V
M���ȍ�F�
�0�>,���P������������t�����,�{�v�)�X]�ƇP�3�$J߿�[�F(cs�n*j��R	��{�3]�r����s��E���
�HQO���
�<_|b���,��]�Ix��'i6&}"��Jx�On!����am5�{)��A8�)��A!��G	z	>1�9)
�ײ���񑟘�n!Ì7�
N]�z�cN!��]]x\�9ԩ<�mZ~�`�S6>`:����똳����-Ű�/b��5ؤ1��!���
QctH�l=��Q�䂜n�]�sb1�J�`�݃;�C���~�fr-'�c�Ϻ��S���^X�ܓN��&
�؇}�c�t�l���:�ޅ�#O�Ѥ�5
�;��m��naر	2cP�u����1�W�
-��8����:~���R�����;�!��~=������[6חM�t��E�z&=i�Zκ�d���N��q),K���n/����7%�#$��
-�]�Y���wt���3$
�/%�mp���%�
-/�} y��ޛ/�5*��F$~
�W��G�{�O���"؛���zh2�߷�F�v�>#Kp�]�4h;`��6���O��a�-5bz-�ml�EB'ۖ^���~��~E;�f�E�t���>�3/��N"ʪU��U��T�g
�
>�f�ym���D����8X{>)h�3\��`oː`�����o)a��}H�BU�&�\��w��;s��;�WA
��
-�(��cu�
�O�Tg4[l6Ԓ"> ���%Ӭm�kE�˜{�ޛ���L�lZ��'fo�/
��Ve�<����-|V.M�eA3�Qg=�U���7���>*iR֤<�
��ތ;���L����U����I/��ւ=b���Q��X`R���689/,�mF�6:_�F���.o,d�6����
k�>�0�!86�O������P���ea���!s((b ���F^��&
��:�B�1��m%�S��ID�zY�.��&��곐rJ�%�T�^�A
�����.R��j
��/�3?��f=D?A��,��c�@���Y �F�[��8?����֗�W?b��ǦJ�Ȋ�O2�^����7��zoV�IK��i��]Rǵ<#Ъ��|���9S��
c)Z��j�8Ar�
'"^���s��8�عP=i�$u��(?����C�L�w�;-��G
;,�E�r�8,6�
-.���O���^ie��������gL����ҏ��1MH�7[��e�
R=����d-��������+'����pޕ&�i��BTo�.�$p�L����>���b"k �`c��� �
4!�5Q=��_N+��2r.�����D�u�}��բ��d�� ���8�ޟE
�ȵղ����A���j��/1��j�k��Le�����Z����2�
�2�~yj�w<��^)4,�q��⸤�0���R7V���&�<
X�Ni3���{Jm��c��jJ�G^A�t��ۚ�y�iN�
$5k��@���g�X�t������o�j�m}naFh-n�\��P�(���;����_31�V>6��萉y��1�+z/�R��C��cŃM*�p�Gp.@���P�⽹蠵M�'FP�z��V�;Ζy_�cc{7�}ki嵸��0�b/0:>c��f���y�"<�
�!��L>��ޘ��*C��h�� ��Y
-endstream
-endobj
-13572 0 obj <<
-/Type /FontDescriptor
-/FontName /NIRNEQ+MSAM10
-/Flags 4
-/FontBBox [8 -463 1331 1003]
-/Ascent 692
-/CapHeight 550
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 431
-/CharSet (/arrowtailright/forces)
-/FontFile 13571 0 R
->> endobj
-13573 0 obj <<
-/Length1 1447
-/Length2 4435
-/Length3 0
-/Length 5383      
-/Filter /FlateDecode
->>
-stream
-xڍvPS]׵)A��t�" =$�.HW�.����@(I��
"
�F��*��"қ4Ai_P}���g�o2�ܵ����u��w��m`,�j��Ahb�xQ("�_փB D
�����LPx'�?q�u��A��C
���	1u���AWܜ � �����C �8"����a�([@
\��� >5
�
�����
�  ����Y�:#p(8

����gŠp�`���x��P����bb


`��+��S<Px{����#l���5�3�40�0�G��Jc�xN(8�J(qC�"p au�XG��"пȺ�"����`�v��O��?�ap8�
C{��v � �5u�xO� C۞aN�B=�
�r��?�4U
A�o}�p

-�w���N4���!
��V
��@�]A'�SG�p¹{���\G4���B�ж��nX1S4��
����C����x@
-"��. �n/v����3	=	4��`1X I���C!���+�
�qn?��L���P��6;�;!�@�„�ǡ<����� ����Ɋ�0[
���/���]3����&�[����O�GTJ
-�'�TBR�#<���ϟ�G�Ϩ
�{w��Q�� 2�DN�!!�{l��p
C�3�kK�N������g����']�W����4ݜ�~�~��<����������7�
�k���(7�����a��PE�9�9>��&�ak������g
A���j��ۓ���`8
�
!8D�p�>P”�"<��1xB	�u��H
tr%�2���I�'��bZ�,�+�,3��LÿH
3��$ 1�?H�Pw��&��X��+aDN��Rw�����0������
c�
-�/�k�JU�=Dg{�%��7#�)̾h����)~ߒȈ
Um|?����x�q��9���GߔHy�����H��~z�ˮ�n�sWnXK�m�֫�:<�U�E\6f���/V�ٯ��Z�!$g���8C
\��VW|�����z
^�M���8N���)m]�R����E�P�)�KK�ث�iK��
��lW���A�/�,�1�۵�6���JZk.e

-cnC?\fl�2�X�v,�P];M�IY�eБ_r�|���C\��;���^K�3y���G��0�a���#j�J��G���s�i
�M��	S��#�(
^�55��$��9DL���Cr�'�}}��0����(��D�
��.5�{����=v��+�y�.o����ַq�_�kvwe�c�����?~3�&�cX�,s�8���4ۘ��mgI����t@��G�5Y�
&�a/�Ww�=Ky�!�_�XEQ����:��cҩv�}2��y����>�
��}s�d#�^������70�u4�R��(_�i�Os�T-�b�ɒ��O<��|���-PPb�� �D�G����V�v∁Ikj�M#!�pC
�\��ubgj	|��Xh���
=�5jbh�T|�Z?Sz��C�Xf�KԎ��-�m�v�V��9���F�8�I1�Fp
I�ћ��Bgq�t������b�F��pm��w���/�1PM��op�� �(
�n�Cc��Be��
D�ŷ
D�G|W�D.7M:�}��Il��/�8jQ� ]�S
�x�Q!針%�C4	� �[�*���M�Y7�s��⸖ԔK�Z]
zhzj��Z`uc��)����PW�;��
-�`V=ȦM\�19K:�]q�W�yQ�!�𨓉�
$=
��
f�V
�_���\��I���r��'�2�c��M�ҴE�*�!�WY-Z�5�k^���I���L������*�";@2�'ɉA����_�
�i
�Ձg�K|=�B�
ȅQ�
��ǧ��~��Z=���K<�g�X=>5�GCt��m��p1o����Rz���i�ֵNJKF.T���Sw��񢳾�}��?Jc�2�(Zz�63f��i�>����Z�8v`$i4o�<�FTPs�kL<����/�����s�H���7v��w�
��l�-�=����}|SR��D�
6߭���H_(1!B��\.[�*U1×M7
�.��T�=8%ܥ��3�H���^���C0w&Q��4�N����We1K�!�i�lU��?�p.��[�)/�0O߱;p^��Yq�.|î2>�����N�����H�+��-ꎗ�.�П���2s=��e��#ϲq����(������<tk����w�Шq����]I�
-���ᾖ�<�o��g4�d�kpp�?(�+][VM̞M,.�}�J�l�t[�h����9s��(�!���v0��@�k���\��B�NU-y⋴���֨JR�%Πƍ�r/�+y�A{�2<���_��

33�v�
i&uT�&V�[�QF3���uc�94�g-k(�<պ�(��b>���Vϸ/��օ��{M����
�ȇA��D��:�����Y}7k�N�
euY<��
���P$�m[*LKq����y�š��Q�Ć���ʰh�=
�5Hi38�
�e�T�z���ؑ�%̣q��"��KW��V���@_Ue
��l�WX+*ǁ
"��.xf�[Tt0���&'|��7dQ[y}���������G��T�<�Z�	X��
��ݬĭ{�$�#�5�+"8��뛯BY*���D��[����C��ݮ
d���,P��
Q[��Ä
f���%�0��asCi�7�z
c
;g2/��?� N`�$��%���3�)_����]�=�ӑ:q��6�:O�?��+���e��`|Ic�6���̱0+�}������|�����/&,�+1�t��=�l$��'�t��Jq��
�13��3&p\�
-�9�{"d��V�G�	\

~঑RU?��zIy��c_�t$�Qq(Z5�������-迓q�g������@T.�=�K���:-'��v��~(��g�7����ʾ��ٞ�c7dŚ�n�Ѣ
	+)�1
�
��}�I�R��!q����+���C�t�ql&��N)
j� �Nj�
�6��~d�B(����L��C�X����!��D����x�=ۺ��}���S�To\A�cs�I�6G
-j����N���
�d/�ysտ �Ϳ<☏�����X��~�6�^�{
���4��Z���6ۄ)j��7��ϠeNa\Bc��F_��XVR;_�H��F���o)��|F<�taBX��ԚW�	���KԲ�/)��;ذ�&���X�_�Ж`��J}q[�pW�nǮ
��=��ԍ
�鯽J�L�O
�W`�(�B"���&JI>�5��}�޻�����e����{��5�ό���K
-��ֲe���F)�#�oT��d9�
S�䚖�
F7�����ne\l�
��0O������ϯ}�
V2�H<g;'eL��
��������E���Ͽ��������\=
-U�xCL��5u>4�m��Z����/y�Y.a�/Ւ]����R.$R���s���C��^>=ԁcr�.�Ի�ZF�@J�5s�p���>��!�Ē����m��nD�>k-���ʌ�q�#�\���L�{V!����A?�3
-�q�� ��e*fT��,��
�;Ĩb����=?ޛV�/

Y�nE�i�sP�R���O��]��ZNp���SU]�Yc� >�lR4Q������F%��Y�]�y5wPE�
pzj؂�[E�S�7
�f?f�ud�)B'-E�G�ӛ�a��L
�y�]�6A����՚f����OIO֨���U26vk'����x���WI�ܗ�_Q0��w.�K2%ۜ���3��
�hX������W،��D����h^�� D�Og5��/A�
�L@wZ� R���E3�s�τ��/h�iP
.��s
����
�������]}��
Y�y���+�l��t�W
E�*3)z�Wd�[�|���M�5m�X0DщB��	�+-͎AE�C��(U�����K�$��W+��d
���kފc�<�ͭD
�Vbm�l�a
@��U���)I�
Vү<Iz���X�]
-�S	�
-�s�׾�k!��[�?;�Km���0n!�����e7x]��s	�v��Blݑ�z]�c3�]&��o��C�
���xN�J�h���?�@!�d<��
�ZX1�%�&ʽ^J�$�SK��z*��
-H
�}�4 �d�@
���O���$�>f�x��?:��ۚK��hBEE�Q��/f��;[B	%��}T��q��)����xR���C�e�����X��\�̖
]�;�B匷=�{�fJ�/0����#�=��?���6�
ɫ��Ξ���*s&����۪
�L���׎f��oN��>�5=�Pd�#�}��@��9��'W*�
��$�q-
���?.q��h/Q���}&5rKxw�Y/�i�yF@�#]R�Qo�������Ei���������V�M,R��v��b�,�S�G�%~�&_)E�D%��u�粩�#�������7o׮�I
n�N�s?�8g�Le3xo`�orH��ڨ9��k���`Yay?V
^����9���,�5��~�&��yI
���*��^���Kz���M[��.�1L��OS�F)c6y��
-��&�{I�����X���5_M��o9�de��v����ұv����î72e+v�5�s���w� �<��� �x���ӌ����9�҈���������8Pݓ�M��Ge������KA�e��ocG�?
-y�GT�T���<��Ɋ�����P0��T뽭	�Zt,��?p_����ݠS�$��6K[��}�n���-����.���B��{˘
-4�-�H��H?�
-��}�N�S���{�W�5Z�@��ƷW�o�s&�(�vWh(84視:X9��GZ#�
���N1z�5
O[{�IE�z at e��Q��})��O���Y�ƶ

Wڞ�����Q�P��
4m>�2̬�P�5n�yʱ�hk�R��6�d�86���bv����+����#�N���~���&:�!�$8��v
-���%
����:�2=)�I�q����~���lD�Z��9��/:F�L�����pERA�{��
���z���%	Pmej��}
-�*u
-?��b	��P��0H4J���P
`��2�m�
.b������ȱ%�0���;p�Z���2W���7�6-v�p�z�W�ȼ�����Z�����-퇳ңUF�^�
n�N�D��
<P����J=ԑy���`F�W�Z{6�#e�%��N+L��С���;_*�(�ݭ��
�N0��\e�.g`[ͬ��0{{ZXK�`��*�S�7���X4K���ղ���5	����sľ�����Q����y���=94D�}a]�|ZN{#�y/�Ds�
ͽ}R ��g� ���ON3�VF,�م5�}�]��jY
�k�<�M?�{���T�X�p|
$�\
pq�(�}��:�!��b.�ג�އ����
-endstream
-endobj
-13574 0 obj <<
-/Type /FontDescriptor
-/FontName /NUYYNC+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/C/G/N/P/Q/R/S/Z/emptyset)
-/FontFile 13573 0 R
->> endobj
-13575 0 obj <<
-/Length1 1606
-/Length2 11956
-/Length3 0
-/Length 12786     
-/Filter /FlateDecode
->>
-stream
-xڭveT�ݒ5�!�K����ݝ� �Cpw���]Cp��	N�x�;3w�������k=��ή]���j
-5Mq��X��ޕ���]�bmg���`��"� ތ<(44��`sWk{)sW� @
H�� NN ��� 
-
@�������+�^[C��������B ���y��bme�}���88ځ�]� ��5�`��G0��H���˫��eU��`{��9��f����`{0��� �� t�Y�U�
���
�
��Z�]{ �����`g;k��o��
�������� k{ �
��7���߄
�
�"��|o`j.�. at gkGW�[V5)��t�h��Wn�77���-� t����}o0o^Wsk{�+����\` ���b����
����on.��V�d�
p[�;� `�7�7쿺��:��zsGG��߷
���/֮.`�%+
-�[N��[n+k{��E������;���?}���7����ax#ar��x@`K6׷� ���ʬ�>��
�[�����_5�o������Z�
Q1�{�,�ۆq (��1�_���5�����@]�?�O ��om��z�����Fkk0H���`iy���vm{�bm~���6X8���ŧ��hk�W�y��ۃ����<�fS��ї6`��m�w�ڛ�Z��o���e�
��p� x�psX8����
 ~>��!��0
�<+��:[{ 
�Jf��������d�/0��@�_S��jnz��2���9;����[+�?��8���,: �Blҳ2\���&�
��8`�B
���
�8���Gl	T�=׆�6M
-�i�\8q|�S`�������
H|��bn�v�1������8���}1��	g�ˮ��=��aR��@:���tq�@��0 �������ۅ��UWtrJ�ttwK70:<4�{�u��)7�F�
�/�"�����������.cO���ǕIH,�����6;� �D3lspF��yكr�e���ϑ�RA'��/�F��9�ϪJ�?j��k?,�*$�C��W�|��{�y��l�
����r�{���c��_���-0�tj���qAJ7�^٫C}�dW|�,85��y���9����h.-��Bb鑭Mjh���8;�0�vX�pêH��_�i�����1��̋
no *�����y�?��Gf;рA�Ic���/Yжc�K)xHT��U�PӀ�4��G
-�
-Ӓ������S
�{�d^:�C�)d:4��lTg.�Q�	�&4^�[V���I�PP��"����Tz��[I{)�����Ѫb+��,����_<2fI�α��'B/�E
���
�

W�a� (5hO�-'�,Q
7�ujxጉlCh���eh�u��;���ҋ� j
�θ	28Mk�g
�J�G�y���j��
�w7?�o�*d����
$��yi��h\^����u����j�0+7O���1AiB�N��>gϖR��*�e7^M�lxT�R�G��&�V�H.��٪
=7'�@�	�@f
a�s �Y.����#�+sb�꡶�ma�)y�}
��]zk��j>g�7�II�Od����٭*c}�ѡL�hH��z��\�`Fj<� ��Ĩ
1���
��5��?p]��g��x�.� $Np�m���L�j��TBz�W�RZ��4�����b���o
b�`q�
Y�v�'�Z� �P�y��OӀ�gV
�-ћ�����-3=z�
� v
-��W��r�~du.�
���n)�;
���ʗ�i�%o%[ڸJo�,C���q�rTG�
��Q��i&�
-{v�`m��h���RHlT}�p�P
��gTe�����T�G.3��m/��ͱ,8�W�N�1X.��<���+D�p�yA�.c�K�7�
��8 ?���e�J}����G��hX�4LOs���
�h؁�c2r���M/�+Lqb�F�U�IRטܔ���bvg�/<��
-��2��M+��
[�>U�*���U��(���l4�3�U��{b�
ow��b�P�5
-
S�
�9DFJȱ��#��
�u������m�m�F�!�{�QR� �L� F C�51�s�/.�*0�f��o���ɐ�f˕j��ҲIfQr3�����ɗ������Da�/�|�a
�,���߻��s�J
�t�$:([J��� a���|�mN�k=a,<v�C��N1Y|p��!]�k<�s{:�]�2���a� �&|��V���W���6.�G�5�a_>�4|
�0���GPi i1�d��J �{}
]񋌢�
W����+�wRxz|o/���&�W��F�����E�
w�W

�����M�b��
������
!���
Ǝ�=�z�0av�POƱ�%�Ʀ�

�e�s
^�b*+\L^��k�u�F7���AR���־�����
^���1r�Hq�C��M,��	�+�����h�)���E**�W�w+B_�֦����L|���
�Nݛ���9&��\Ө�7!�hr.��6�`���U���u ����V E� "�p-D@��7�&Ã��(�:�0}��Q%f+�-	X^ 	*��YQS���j7�È��Uz!��X!��L��8xXh�׈x�d� 2[A��m��\c�1�[�-�+݂�آ� �hBc=SF��ԑh@��GY�9m�h� �9
��
��;�8~�G��L�+����Xms��^u*��[��ŧU;m�to�BS]�'�}�н�WLX�";r�Y�O� KJ�*�	v�B��9��O��F����&}=�p�.=���������mr�9��õ؂�U=Nd�����Y�@���qK��#�ܚ�A�7{o�h�G�:~� [...]
-���� � ԃݳk���	�
	������
��� ?{��y<fyZ:�\`��V�أ5��i�
��Ib]zA�%�f���
�f���L�!
��B��u�JBH�B`�-�x4V��=j�
-ӊ��������<��/R�Ƹ	�[��:n[�	�
ɲ<c�I���,��dk�l"[S?
tq�>c�z��JC�m�>p��
���^���G*�V��;:J{�Ct@%~�n��wA�d������W�
��вֵI�y>�>�{PL�>!��	��Vn<
Oa
-(��ō�Z���X�?8�"[v�-�"{��K��BwV�G��mz1�*.��ï�b��S��^
Yu+I�f%��� �|'��>��a�
=�G�,�f��-�Ή:�g�3dq�ܫ��D3i�Ͻ Fv1�#؞�
��g�{QWF4&�ۼ	�Q�G��W	�
��M
��".�ݜ��%��O�FΤS�|�j�͸~ܝ��r!uC4w��7Q�M3,�]L
����@U�kuR�]ճp�:���2
\��^�T/u��mWc�s���%W�����90c�Nr%��=�l,����#D�y��I�6O���lڍd�6J�+~��~���{��
��="��\�|�
-�3��Q
�jK2����]��-F�,oR|�إ "z�t��
�4tR��3�|h�I~�3�|
�|�n"V���N�8��Jf
_'Cr����my�'D����3�1g��I�qԕ
��&
S�I��g'?í醛�?I�
h�6狗>�v�Z�@�;uQX�����)�2�A�5b���P�	E���t�}�0��|�
�����"?��nW��7}��tt�*z=/Z�T�
d*��/fh�=Zئ�s=G�9�0�]�;�
����V3�81��t��X3[�Dj��sN~�E�J��	��V�$��vo���/�\�3�9
-�T��B�_���UK�_�U3/w�.څS�;Fl
-�H~�\`�O�� j��zS��E���47�1[P�7T'���i�i�C߀Tr���e~@�#s�\�Yk�)A�)d�y3�c�4XPb>�^t�i*�B&pv��1�2������@O�3C�
�	j����O�07hs�6:���'2V�z��	�|�
d�hhBc���"�2T�t��J&U���/6�>#�ʪ�;�,��
�7Q���� �r��4Y5:E��β�Q�	���}�
f�����&�[���YS*�9��[��Hّ
��W
-��(i�U
�Cv�

�_��
J���U�`̃m<ٗ�/H�L>_�9�n�tM��O@������Ĝ�����
bo�J/�ՙ��Cǀ�-�&��r�>ĤF

-fhP�����:(|��o�
��0`ʦr�KѢa����;%����!�6ԅ�����þ�D nWӋ�M{�(�M��U�ɀ��ӀF/D$>uE�T��Aw�{���h���}��
8W����c;�
'��w�E	ċ�~D�
�"��d`Y����H�)qp=�yWe

�K��rAl#f���˻�	wqdF
-)}n��K��O˴�0�EK�<v���
�%�p-<�{z�=�BW���N��\|fh�:�^��&�HT���Is�b"��ُI_d@P�ND�N���C���ؽ!$^�)�>\t�3l��n5vZ6eÎ��l?��~�L:�4��X{��.�O�w�F�Z-����ɥ�ت6�Ad<�b�
#@,J��@�]�W�t���0�йdU���Ad>�]WyS��g��c\Ӝ���we�K�<u�c���reʟ<�x
+?R�8ο!�K�r��-�x at w�|Ʋ�	�
~
�(� �"�%ع�a��T'���v6�P�2�-�M[o
.#� ]���4.D�㹇G��
-_l�x�}^
L�xږ�'y�G��p����q�3��G�[�ш{����~G'�G�Sk�?��!7U��v|�O�m�H�)�7m��.No�ڀ Ec�
t_�9�yGu�'�m��y��������Q`�ѝ�����8�HӁ��K����:��
-

�,�P<�{v��wh�������y���h�M����zm��eO7���J�z�I?r;3��^>��E
T��V~�
�TVd-�N/�;�1��T��^�L�	���
�/�����+�S���^!
���%��c�NS�c(����ӄM�nA�h���m�uE�-v�H�oF��zA���]��ƶ��
U��.�������[�'߿�Mz
��ĉq�?�A�,��M7�v�
^���r��&�K�扗�~�e��C�q��5U��(��RG�_
-OS�ݯ�)Ja3{򰁑\��0|]�̿ۚ����3���#��|7R
�Z1U7O���JnfÒE����H"������_���1�
����AI���I��y�
A���;
N[ډ�Ǟ��Si@�G
�� ּ�M��@�;+��,GX|��ȴ}uJT�l��k��RN�K��nI�D�鿴R0��ߕ#]m�U�����+UT�t�
f}�u��w�wDq��+?����e~�3�=���|t^���Q���# ��甔ؗ�46��?ւfH�h��M�l6
��@�V�=�jv�^�n��

�
�y�1��wO�b=�)|��f�@h at 43�7	 ǡ-K䫉���bfx_U^��*d����O��Ȯ�,��|���~�eڂ"<Xl� ��KQ�\�@T�y<-�yNN{���a
�_,��
|�,�)O
{[=xˬ�ޗc�	#x�K@;��G׽�G���7�?�z�ۄ_��%��!�G����S�<�S

,�:�R,c)D: pX_�����,rF��D����`~�L��١�$��ѥ�.���{��!���K�`�������ov�qup�Vj=ϔ��y}��s��o�����w�Ș�ބ�H�3��zw:��XGa��Ѥφ�2�����d�TvY<y� �_)%;��Q�
-B
���
�N���
1m�I܁�ij���>e���8���
�����b_���M��=�=�Z��
_�G���^yfT��4
-�l�Q|1�z at _/��L*NZ�߷O�"
�I)�T���܀�l���N�&�fs�

���Ӊ��� �C�&R�ꥵ���](/G�x�m7�+͊c_�oq�e؇��^�
+٭.^jy���(T�2ϥe<�
ܛ� ����6�I�5�'�l<
-9��$�|!�c�V,�h�E!(�}"1��Ѳ}8��j�틞`�P4�^�#
���7ɯ�����ij���*�	=S������H�;y�
i�7��|1i��w����B�qН
�"�q;��¾���w���']��CHpI0����3��� &���I}������jZ�(Է�T��q��V_'C�
-i�rN
r_)ƊvFΣ~%�\�~B�j��h:��
b]���
v��^@���j��e
��S�]��޸��R��ޣյ㬯$h��
�_�27f�
�k㞮���M�ZS�U��9���z�]�B�ٯ|`u
ѹy)��.l��*ג>�è�l
���@�܅泳׶���*��qż鹹Gx`KU
�$|̂�3h��H-Z8u�� |���:CC2�M������qE�B�K���_e֘*�(��ksU�~��;�
�l|���9裏N�v��|�
z�7�Y���zćo0Ԟ������U�s�XB�s~_T�yI~��
�
�T��o!�X�Z�-�+}
�D�
*�
2ԚE?o|B	sCB�"�&:��7�Dy�T�����F��y��c�(����
��{}?e�g`;��R��6ȡ�Cs㜫{������:r^֬�3�̬[��nG�
 
(��
|���H�m�?�
�.~��]��nj"�����s��g�Jo�>�D?�8!����L��K�X2�f����5��r]���
��Ԥ�1 5���R�g��@�
�pJ"��B��1����� ����,���@�ޥi7�������y�U�3{���:u��yʀ���0�����t]���F� W��dnS���AO�ќH߭2n��ŔV�n˄�
�R�aAZ�P֊�-�ӟ�ʓ����;j��P_�x��j��]xŦ���bB8�QD�$O��藢�f:a@��4����*��%�������O���~k���
�z�. at 3\����
5#�a�]�
��w
�+��!�[������[��XY_*~�����m�6�|�����12ȶ�[��t]�E+�P>X2��i�#�tN�`;��u
�,_����^*�
ʅ�|n/�H>�
�w~�%Q�
9���#iG"�y4���~I
�f�p�pE8��
C�bv��&���A�Vӟ�5�TX�ǘ˳v��d���&6r��/�B?$�����;�ȭ�s����d���A�:�t^#)��,|MfK*x-��9�'�"qPc��I͙�p��o�.�̄��Qa+�Q��#��pj ��V�� �h�`�,�(�%_Fw�5����2H��˧�J�!m����4���������T�9�˝�0�~x=���8(2YBS?9�?�t
-�I�\�Xa�����( l�Z���������4�Bn�0�XԞ��;.�,Ox�4�D��`0Oh�i�V���M/#��%%{j�M���*�{�_�s#�m�,�����ᡫ)��~A���*b�p�z%B�ā�����\��Yt�����ն�Ut��pd�=�O�O�^�['Τ_��ղ���x����Ps.s�E;�~+�T֜��Hk��w^�_Ts[�p�Z�_�0j�C�тH�{�Xݹa�$�f��~1L��
s~j���S��>�y4���w��9$�D�9�"]ܝ�f
����[��2����('���*=�Yq�Y�BpŌ0>��R��;�j^萆L����GN�ҕo*u|m ě��\`�[��NK��$ d�#��+Y��5���a&��S�=:��r>q��g�ӓ*�3qq	�D$.�?�R>��X
-���f�<e�A�
�)'L�U�*n�~�0�v���ٿ�5�44hlM�KO�#z�hUɳ��ɮ�ۀ[��m
�%���Xz1����W?JӼ#][S$�����

���X���!��e��9
[6��H"�찔�
�N:��m�������n+��uĪN�[h��H�}��o_'��U8���r���Wm�-��]5fO�[zܟ/O�����~Vݨrř&w�WMh������g��7ߎ��fv���~��9�l���3۩BQQ�*e�O[VRr
��.���	8�&�+hF*>��͎�z"�s�Npk
-Qw��:֘я7��drԋq�Kfw0q�`�W�O

�����\�w����
�!���Hh�c�Έٛk�hȮ�$��>���
-㗶�]�`����V
-����g�<w��7X�+�=K~�����t� }u
k��r��K�6���Z?�ϓ���
`�
"Q��o=���I�]i	IF�76�>����AB0�C�������
������w0�Cn�o�͑~�K�k�����f��}��C�<M�i�b���
-�<���5�"Ӥ�)��~
䞸D]�
-�v͟�V��o�y�2� rlL�=��.���J��.�>[�nMb����"C��$]G�G��Q"m1�
v��Y�ZD[x�� ��?�ۏ���Oh�&Ƃ��\�
-y�1�Cl��'*C�{�,�k��bqk`?Ŏ���?�
V۬�H��Qx�+�~�_����q
n><]��^1��f���
^۹.��n�Cu%�@��;��<Q�W���c�L��F��<cqG�
֛�Jy
��-��ʯvj%�8J�g���Q�)�f�v�G��R5ӊ7�����=65��Տ c`�l$T�#����=�F2K�����ѷ;S�
Ʊ�.őr�O7�U�ߣꦻ� U�B�qҙA�ޱ'	(�kI�y&ۢ�y�Ʉ��T	��V��6���Q�@D�A3v��h�6۶��)����?ݍ�?�C֦�󞳸	�ִ˦+�ͫ
N�d�WV�Vq��3�Oj��J{��=���8L���9�lgt�
���D+_`I7�51p՟�q|�]�\m�7�� �9�`�$%�?��@���%����H8ѫ�ht����;��[~\�"}?�S�+�m���O���1�(��#�����}1����
����a�X>�xAZ#�_n�=�q��LPN��i>`\uI��>O~
� [...]
���^��
uNhR*�|Y�dP��~8�h��17���%A�A��]��/�H'�ZB-e:snd�A�^O�s��wB�![�;R�����c�1y��,�������a}F�h�J0���`{���
�~I�4X���0"�sۢ���b�X�5n��O��J���X�v��
�J~���	��P�Գ2�~B�H7�t�4�ר�[��^��$^M��LRe&*�l���
�%mh��!���$�,N8�/i1Ff�7,\~�V&"Ŗ�������
�
�˒J|�
]A7٦�j���p�|ڪ�8�D���K;�u����GD���`���BM�4��
-�����&����e���9�k奩/li�K���KR���0��K
0y8��Qތ\�&������}�Ϥ'”(_=�ts��C������Y�o,Z�g�RBZ�
g��(�vŭ�3ibL����1v�>4�EW�
���3��H��\��g.���.�k����.q�
�ۄXu�;k����kp�W���	���ݩH�F�4?u���.�b�m:z��-&�+<[�Z��}�o�0��3�����^��-�1J&��P�l�
�B��o����
1/����7r+q
�T.ܑ7�C3E����IH����y��c�*��!!Z�yUo����7Ti7R>~��v�OzR���k��
%��T

����?�t��
5\�S
��m獻E��_��HwE@�˨�ǻ
��4����f�%dE����"p7�̹�?���P�y�Zz�%�q��+

-��L���v�
����a-���î(�}񬄕��m
-S�59Ѳ��)��
-�<�ڌ�T��Xê�A�K�x@]��~	�P�)���Z �q�J=*�}ь�e�Rx�ɩ�����rūM=*��,���_a3���%c
����~2.A#��s((�3���)��[3��9O�7��A��

�Qj������V�1uk,�)�{��|yor	63��������TC�tz�gb�궹a�c`�LB���
�4���9���u8���FĞe�ٻb�W2哘�qi
�V��G�
sM8�(�J�拝
Q��8�W'����g
�u�xrЪ0�З�
(��/�Kv4���%v������H�T�����R[�D�l��ZD]7�����U_�`�@8nU
iذ	}��ߧ8�:@FGp�2�p�C	��A�U5+%��a�k��� ]M��Z�9ƺ���ga7�e��	n
�l�Q���G�u
0n0��4]���S��l�wNv�MM��m7�.�u���:�WGVzD޸����*o��QE'CO?\��yp
3v�f
˳�5p�u`I�@G+����!�@�D��F-�E���Nߏ�P"�}jK��9<j
���1�6]-
x;���=kA���p�|mR� [\��
-G~���A�
��Jav�H��$��n�mJ�Y�|c��A���~\�3�Q½����G%��\K��&�u꫇P�56�
-�\ÝO�|Q7�L��Ce�
��x���U"��'���Joc���]A�����9�ao&uee�y^���m��TqŐ3���]͂

�L�3T_d`5�$þ�6�ϖ��AY1�Ҥ�Sj��$*F�L�H��MW��z�FA
�C��՟.3�<5�
ؕ#=R��s�x�����ɬ~-�b���Ц��ڊ?�*Ӏ��KU���)�m����m�g���6ݏ˥�0�t����?,��e�*��!��� Z�7��~:A����.F,W��"[��q.��H/�?B}���M��;7����?�>��)�9�ّ\�$�[�g|��)q������i%�����m���Q �?��d�Z�e(�����A�$�on�#x�{�#�Mm+7=Y�8@��Y��G�������]�5�=*��j����̯+4��ؘOI�'��}�G�����]ZZz�_�V���ժ�p
�I���oЈ8��
��
Qb�
�i�Н+�EЃg�#D}� ��+ѩ�ĸ
ł"�B���y+k��{�
7�e!,���Z���`��uG�ueD7��D7g/
-����s��*J��|���U)�`Is�3��aL.`��rFk�誒�����x�
i�����C1�l���`�=�;�y��F�]��|��2B
�;,NGKn���	Ǥ�2�Y��_���!g��^*�{+O�B|�H���RՕB2�ߞ-�/hu��{{���k��^��KV�A��Ǜ=v����\׼�6�B�����	qL˾L;Z4o��������;��"�aW�)��A�W8�"O�U���P��q*��ф�d��im�Xt �E?c�P�Q�T?�\M�I^Z5���E9m8*(�„��Q���8�P��@�j�V��ST�\�s��\0��y�O�E��O��q�DE��o(2C/.0�T��mCU��e���6��:�Q���0(�绻�+����?�P/�@��U�r��)g���܈*�ż�~�n�ѳ_r���z���A��}�^�*�t|��0���D�/2�������3�i�:I3�^��rZ���*N��"5�hFfT+��V��.��G��
�.��� [...]
ɒT
E-c�<5�EP��K��b"��_eh�g��b�T�&:��R�-畯�O8���6ac9*�|��ɁC�1�a�����%�a@�$�|���}G
s�,��lb at g,�v��D��΃��"d�z����S�;�/:O栌Nc����;�Ok�:X��i�(�G�ߖX�c
�%7zs�$�l
-���
���"� �z
ijr��
K�I������S�K�!5�X�L�,H�9��8��n�WHL^�
�Tj�Q�W���F����=!�d!���
v\~�ɄSK�R�u��	=^��Hی�S)1����E�z���H2�\�7����Y�$͏����K�%P�.9
Fik�A��P|�\~������]�Ž��$�.��^����;b�����9�y�a�}!�S��IҫtS4<�t��rF���$���p_�
GMk{v]��@�(����Y
-�B�K�7Ը��TWZNd�=�H�
9��Y�����g���
m�m,9�T��8�� ���'ZwH��c
-���'R��¹�����:�]�sj<,U;��!�
�
ǐ�ߧq+��s�� �������Wعt��ʜ%�.KpȬ�'����J���M9��B���2
���U�s
�y07Bլ���������	|�
��%�劗wI�9���;6�iebb�4�X�Y�J�ߺdeΠ�s*�z��٫���SV�
-endstream
-endobj
-13576 0 obj <<
-/Type /FontDescriptor
-/FontName /OUVYEZ+NimbusMonL-Bold
-/Flags 4
-/FontBBox [-43 -278 681 871]
-/Ascent 624
-/CapHeight 552
-/Descent -126
-/ItalicAngle 0
-/StemV 101
-/XHeight 439
-/CharSet (/A/C/E/I/L/M/N/O/P/R/S/T/U/V/X/Y/Z/a/bracketleft/bracketright/c/colon/comma/d/e/f/hyphen/i/l/n/o/one/p/parenleft/parenright/r/s/six/t/u/underscore/v/x/z/zero)
-/FontFile 13575 0 R
->> endobj
-13577 0 obj <<
-/Length1 1612
-/Length2 18893
-/Length3 0
-/Length 19727     
-/Filter /FlateDecode
->>
-stream
-xڬ�ePd]�%�;4�
��x7и�����;4����N������;w��}��̛qvf�+s��qN������!P��������5�6tr����fP�:��((�
� s[a��4� �� nnn
-��������@���FCGG�_�B �n��������@���hekg
����?ި@f@��� $'�!!+��U�m�V y'C+s#�����H0�u X��`dkcl�Oi���
 G;����m at W#��?.z�
�������3��`�``���-��������&���s��a���L���h�`n��*/,�<Af�r;��ulM�F�9�Sҿ��0� sG �
-�'�!`l�hge��7�_0;�i89�ۘ�z������
-����/�?���:�K�vvVn���7�r09�LXX��4��mjn���ϠHؘ�X���n�d��>g�ÿ
��gfh��00���rM�dmAS���Tf��'������E����w���C���<�whQ'++Y��
��
c
��s�X8���
�ͭ��7�{��?H��H�
�6C��� ̌��a4w5w˛��� &V;��]���`en����0�03�7�������?�g�������+ҿԙd45$EE�����o��_�A�nv���Rdl����
AA[W���������7!
���&ۿ0,���1 9��������o����_+��#bcdk�Ϭ(�
l�����4��6rrp���'�o����wЁ@W�����@���TP5N�ะVo7
�`�]Q�r~�o�m�OJ�w��[Uc�$�G�������$��p7�UW�"�MO.�:e'ݾ?�nr�Z����&�&�������n�
�d�7��G_2�\_L�;o���h�v�z0�꼓S�����������k�=��hx��8މ'$	 7}��:��gN���
-�同�	�^� �K��(��P��F
\����~P�R6�HA�/�h�do=��@��
�
���f���Sg��>
�ɔ�cm?�ϵx�5�mצA�{��N Y�Ͼ��VRq#�3��H�L���*8C�߾���%�7����
���\�,��b5
��]�14sLR1O_�����倞�����ڈ�  ֞��">�� &��PjJ�eJ�g{[�OO��
�`@
�
��,�I���[�
� �J���N6��!�ᅌ>.l�F�
-d%�)w5T�Ӟ�0(o���V�d�#A���\l"��|N��"~M at _������~�v��no�ʞp2�9oN�i��W�R�c�Q���*f~Y���I��w�-
��1rO
-�Ss١^7�����sq����w�"�~�A]9G8���l��\~����˜�]O�E����ݾw��l_��l�n1n��[�C}��2f��Q��wXߥ�pğP�n+P�?u
؊Ծ֔~zI8��R��g'<����:��=��Í�D+c��u�G����Z���Д7s/�9�{I_�ȱ����cy����P�l���m�^�E���KcbR�����,%�G��d��r� �{e���L��
-ᤪƤN���uwA\՚��g-���X�
-��a]����VY� WYEQ&N�C*ރ-�����(nU�צ-�
�I���,��ib�c�nV��(�s�
�L��
ގ(T% .���C�F�b��aԭ���*B�#��lh����|M�}��x��<�'
c�=��Jj�;�8Ah�,��K�g�f��H���߲�Un�<q���Ü�;�B�-}�^��:6$��򡠬U��ds�s�
���R^;�ŀ�3���?q:(�\z��:����*�����]��܅g�
=��Qc?)�:}d0�k��'�C�g�
�˿�B�i�f���T��mG6��o�b
�>����z��;�V��d��Cr�G(��t73�VYK{�Z�PK����w��?+�e����LO�
?�-�����O"
���-B�%(���+
�ȴ��+�
-
� �G���G����`�f�L{WN�4?��9~��7�
-V��>^q<��
-��
^�d�¸�
��pW�5 �
�L� D�
c?�b��z6��$N�6!;P��/�_߀F���SgM��W$LA+���Y�
~�m1�Q�3>uJ��<bj�dd�Jy]Yԣ
���ˢ���޲>V:8�TJ���F��`�q�I�ܝ/��{��l)����W�'����K8��:
	|�q�����Y&���n#�&}�FB
-e!�z����A\
����͘D4}%��
-^S�_ՐZS
}ATz�"K�1iO����V������{*�l���^+����	`5k.�o.
�`I�<�U���"�uup��ʳ�-��]�4�q��
d>�p���5L׾
�/k���,��y��O'�
-�MuF�bo�95��~A��&�G��p�(a�E0�Nm���T�
S�4T���4)&�
�%4�J @��n�Q斌�|X\�)5D��6�[��qF˄7�:[!�T[�H���<��H���J�Ƿ��F��=(��5=bIZ�
Je��g'Q�3��6y�B$J� ��z)�W(6��K�S��n���(/<���DbF������K��m$�+t�5q�h���R�3=����&9�s���~凪js�T:���ƷFgA�Ҷiay\~���m�.�ꪫiO�}���-/P��k�BSvr8
=/�n�C
���9��P>u�	�
�
]Jj
-�^ۼ�/�B&���E�Pg��滂6�~
-.��
!D�J�Z�ς�,-O�ߘm��
J�-��a�r�)n3�[��u{�N��������<V���	��5����7��?��	��
-d�e����,r��h
�h��<u��
��j!����Do���01���J:6M	���z0p�W`�V�:S�+i�	��5��.z�)!
�����_�/�ѐ�l������FP?��@n�Ub�
0
)b
�n]WI| �6�
��o����w��RG��pO�99R����NE!cp�̶ؐwz!�~�Y
����DŽY�Ȉ
;������/1�������D 
�be�K�f��å�3��&����qI�U�)h��'竻B�C������'��Cf���'�kY#/}j�d�f�*��ixD�=�;^�)�&Lfs5-彉}
-�4�bx�ژ4-W��5��@����
��*`ESg�
�_
fE٬��Wz�+ԃ"M��*L���&y8�����sې��j٨}�ҿ��2K]��=bv8?]���7��П�1Q���p��
[������
���{����<�ޏ#
�v"����dR;�%���$
;�G^��|���O����t�H���ꉵu�&<���,{����s+��~��VO��G�e;���z!��MO
�uW��4�B±�n�*Rя�A+���'*������V��?ZT���E�G+�ݮKQQ�
;O�$ls��d��@��JC&
�-�

-�����0op�*vw�	�]�wF��
�oӬo���<����S�J��GL,QSpe�2�����R�b���wBRur*3l"�Cs�e��]%����үt��iG�T����M70pD����Ҧ�E�����,%���
B���Up�����S������hX���Ϩ��|��Em�"&TJ��z~�&����#d�8�i�a�Cx�H��X�?���u�
�d(}
Շ*K}ݬ�K�+ӝ�x_�!7EG\�pW<2
��]�{ni}	;7�c#ϏH́�:��۴kM�X��BD'מ�
ؠ�
-	+N�cE���k�T��
�0�}��e`���y7�D����>���
�u���>|�'��Of�����l��7|�.o�8���-U�?}��;ci�B
!�t+�,�v?B����'̎��XM�0&)�
S��J��6n�?�������-�X��鞧=�"�
+���~2E�^��+���&0�9�e���L
����v�.C�ퟄ�H�GM�~��{��3�
�%[�V��ɒgz@���Z-?�rL�/�JPF�#���='�h��P�-i�=�N�܊`�8�[���(`�y��
~�Rc��;�#�&��T��Z�� �I���Z�ґ�j��8޼��plK��[M�7���X1�^2Z��f2�vB���?��6���o��
-%i���%5L?U���ŭȾ�ݗ<Z��2K��+d�����K5k��#I�@aLu�9!Uh��G�F�����L���mY�`Dί���!$���c���z�#QUd�oD����d6�"a	�e��hw�Pt���N
-�

K�9����gW��VPT�3B��-���
��v@I��
��%�5a
�|����=�WY���n�DQXD�)?q J�
P
��
E��^ )_PxP�Oi�O�-:�����.ӿ^�`�x���ͫ�*�<ʮ�^_MP��
X����=��b�r-����7���8!$Q1/y�"�)ų��;�:nb�J����&q6.L
��a1oS��#&��:�7�
�1�C�,/
�"NYJ�,'
�'��Q}4�ED"wn�aF
&4�h���3M���YZ�B�)u��5��+���F��ҩ:��.��}���L^p�`
�Dypu�5V�x٪ك�n�5ʶ��&���s,�ɚ
�
_n�o΀��N���s?�Ǎc���
Sa9�)�Ҵ�%�x�M��譟:�ߗ `�n��Hp����g��%����g����0}�3+�p��U��r�~�Y[��	�������oI/�
�?#5y��"�o��
C����6���v(r����P�&֒F���8�����Q�� e7�	c��{EA׋[I��+�׶�#�Yi��E���S*�;�K�m�Q�
�s���'��X���H�Y�$ؙ��İ�ij��\���9%�L̟D��|���
f{5(}�8���ӕ.�mH_�<֖|h�����
{�������6�NQ2�"䎫{��Ϻm�r�P��<.�9=_����V��K
��ѫ�@ԦI#UK�oÕn�:?�2��A��#�3y�<y�q�ǚWM�.�
���
-[��3��}

� �b�M�8&%yIkL�7���m-e�Z�U �gBVh�Y(�w�,�L�-39+�&w
��˴�oN옙)Mq�G��z�>2�S�NT�p��b�!?�"[*�������}ݣz��zg�����U�e�6�][W
�V�LJNI3CH�����~�W��1���b�\������U������M�^b�t����1Xl.�nq�}���	��el�ڗ��6�������s�!��2� #�$
-J��X|N��LG�wl
<�"]�w�"5lw9�^�6b
�Ʊ$�S�S
��.E���y���
���x*��
��,�#a��E8�֣S��h[��Ar��j�|L_��&��6j��^�%��:O,{J���?�W��	/�G�,H�a�D����'�`���4�q3�Ǡ�8�[��x�� Q&-���Og��K}v|O�]�n��v*hy��`��R��Ρq�Q�/&����̈�f�G��剠"��fl?��dJd��RtIIZv�Nb���9~�#�6GD
�G廊�ӊ������S��XMh�
��_,��GS��ח�g�<7�����V�,����k�"cH�ۤ�1���V�h�A���R�N5�r-x������Ud
o:)!Ԗ�X��t.u�*�i��������)pH�
�k��+�MY68�M�
;��
C,�?f�Y�\1�n�����d�#�]D��j7��/��vt��D}c�GF!x�b?-�#A��͋sx���,_6Qp�D:vk�kG����e�C��ki^>�����Ǵq�Ŵ �3>v�ho5��ҹ1�
(��A[��� [��e�#Ǻ�f��2%�]�w�M~��.���?k����]6V�����
6��9��ra�?v��Cl�� \�6�D��0u�k�$���Ƞ$���. q
T�JR~��:��e�a��n>ӧ�SB7�hNJ7Q=
��� i�����
��R�ʹK�z�G�!!��e1
��mi��r��R���;�S>c����N�$��PM�ـ����QH���1���+��A�VPIȯJXKD
-v�p��մ��-�o�i���X��ˏ�N1�0�t�t�#T��٨������&&Rd9dez�:���Ҩ�%�Y�6�"/8��=��4V�yN�"
�󛳆ECr�%��3w,]3�g#u��E�o���p~�`O�-�r�k��_�B�k2��.]�]�vyWc`Ԯp?I]�S)�FV��!Ɛ͝k�Px��վ�r����J�\�_FJ���%䬕i���.��"D�j����6r�Ƚ�Gt�5�$zW��O,1���˓U?�V��%�:�XM��u��
�P�.\��
��&�-�����m4�u�d����@��k@֜�9�c#���l��u���G.v��ӱ���<xfT�nZ��n�́�~�-��M�wy��x��W�f
l�=l�ˆ ���I��9�0G���*Յ����[ˇ�����L�K��#�U�	��&�K-��e��vh�2�����1x�����[���N�[�l]�0�6�����oK[4u�����a�t.턹H�+�pxkQ����j��_� [...]
-��5ģ��t(3l�"(r����
a�s���6Lv�
^wӣ�.	���~|�X����B��VO�c�n�V�w�TO��ymzf��?���m���2+���
Ջ�Y��{"D�U~�I$��ւ3
]��(g]2J�ĤH at M.0-w�863,�
wMpl�!Z6����@�'Җ(0�˚c��d�)��
-�
��
 >_d��A*%�1�Q
-Tܻx��
&!E,��Tժ�\8����)
����ۀ��}��6�:�W��9ѻge�@^)�3+�
���c<$$c_����<NX��*{�ڐ��Ջ!����K�h�d5pDq�ޱ
߃/��tz������yMR}�4�r2�|�ѷ� M+�5U!f�� ��
^\n��vv�J�WAB����.�fޅ�;~� �L�;9�A �cq��4����
�n
������P-ɨ�7�N��<
���Ϭ�sM$=	:MM7�՘9���t�[�L�Ba>�:3��T}�%[�g�4\��dcT��W`��c����XƷe}>cDkO�N����Ÿ ٧����UQ:,� HTUu�����f�
=�x�rB�5	��u��b��ZC}wƓ�g���h=� L��f�܆e��\.zd�Z�5B���x=�au(i��	�^����j����
7�����1M�a�Ιf�
Q��N�J�
��+�uڎQ
-���n�����$h7]��r�׾x�I⡄��F��p*ye�`
�h;Omc8�u;��s��!FWM/��3rYr���Ȧ���l�*n�����vB&fwH<6�a`�}A^�[���#�O�y�
y�q�
�o]+�����7��{^���N�H�G;Ӯt�|'g��`�3�����1\Z��A�1CL�-(��{|�Ț���\|�����J��
#Vq}��
�nNmh���}���u
��<t1ۮ	wf�����V;Ơ4�'ylH�㛱��ěG��"8������g�D�E|������Z*c�=�>�DThg�����I��?��q�R�O2��-�A@��݉�r�i�2/�)ۉ�Ql����B�ٽ&�@��n 4mP�y~�@����0�qbD��O�����qVhx��P{����7�iLRJ��/��b?�����������+�;��B��֟�S��)$ˑ��&9�۰�B'�7_$%��Խ���7S��S]�$����opZϔl��j��^�?��z`Y����|��_�+���0+�HI�C���T_�];�¥_���ͳnċn	�yA��ΡB����)깜)��P]^�5�����`m�Dz��b�c|+H|ckUgSrߢh�%�=�@����

�kS2���p�)��܇
�����v壌�
-`=�$��l5
-�ZO�gTQ{<�d���%t ��ҽ��M�_�a�Ry�E�0μg����J��/.z�����Y1
-Z�f]�{U�MC�υХ�fGC��W��Y���|k�����7�Z��Ų{#�C�»F��
b����r�6e���Oy
�z�o��%�\
G�P�i2<��>�a�]�!�l�Ra����yN�g�Ae�n�� �K� ���8�}��a�C��e8[J1}�M�XYZ<�*6I���R7�~V���
]�냱|����+�z^pf-8R�
-�p�y��e4
N�E4{�")�"�xg�[v^x��
�?`>Cn�r��&J�sL��N=�c���ڭ���p��4GM�
�0����y�h���>:��G���CX&����H=ے�`�����j��r\�����6�+�
g
����#U���3��ᢔJS�9�j�0��1�p��a������H9xd1+�G�����k?y�?�a
�$
��{���|lY`M헒0R���l���7B�
��	��#���B�#�
����׬i��]��:zK�1$~�~Ԙ�7C6՟C��]��T����Ç�&�zيW�c����`2��/*k�t��f��R�D
��vX*��w,}L��p��q�!�� D>˨��
R���?菷�;p�;�ҾI�������K�^E�UQ���繫��CC4����ru�����la��B�*4R�1��S����.Da����T�7�Y���ZA���@[�I����~�W,X��>C�5�;~p�j�R�

2��Jr��+ܮ_�BS
� ��
�a!�|,O�C��$f�K��z&bEы�C�Eyo �2�����
-����g�}��]��t��6�U
gn%F�`�(!cB��WEҼ&rS���v6�f��4Ì=o�]�����YcPa���h���I�+G�g��Y�@�]~�{Jڸ�hwu�G�x|O�`����=�C��V�����8ɮ�A�W4屳@���5gR
�iJ+hlM��3([�A'R,��V�~��5�~&N���{W�āq
���3Af��2Ci[-NRѡFL}Er��<�	?�GЛ!�����m�O2��ߺa�F'��O�p�v���M�G5`���1uk~�\|#��g��R� '�Q}�%Ҿ�}fD����������0j�s�]I���xz9�
[�rd
-�a��~�����2�]1�r��U���5�Z�r�'�ϲ�ؠ'�]�VV���&�e6��.�	8�
�W\`�jk���}
�k)��Y668��
-�~��+I�aF���w��aE�������B�NTyL��	�
\�D��3��гn?@��
vb�X:���4�,>�БZ}J�
��4DmX�Ȫ�I��<с�`z����?g��_*v��ּcbx�y�N9[V)Ԍ��u��K,�Q���LL�N[S�
-���t��L��g�+�I�3ic����u�V�W_�B0���cs^���8�� �"`
 <hom,
��ˢ�?B��O���A��,�u�>M�Yۜ>�P���%vh��(S
=��tD�f�U���=�thR�bb��N�>�~�`ϓ����
�#�k�3*?��R��\�a�
���6?�p=����q!+�E���z�ʹ
�R� 5�.�)��?�wfetaK0u�qɧ+Q?5���((�u-\��s�!�&�ܱ���~ \��4���?2�B�ł�wx�>Q�ߐ)���7�Dl-�����9׻$#�P)�Mz�
_e��S�Ĭi�˵����}�q
-/7���9�6^|���� m�%�o�K�� ?�ud99B�4��
o�=�~��U�
�
e��]֚������Ԉ�Mу�A
-[�;�cd��fNϡ���#~�2
q�vz�G�ũΕ�X�\;zK+q�ޢ�ߢc�z|Z~
UP[
g��-`����ډ�
��Pd>�<q�*q�u�����8���j�A�����&�H�p�U�!SF>���I��?� �\�����;m�i�V2J��|�_�=�
Y
ѳ�A+��ڃ;�Ž�H�fl�k���ov8?uǽ��`+;�"<��6�R�������w��LJ �B�.��7*��4��'T2���:�0=�
�#��<��e1�`%��(�[���G"8���g�OL�[����/��`�0h�����?��3������'ą��l�ҁf��nNƋ�C#(/
�\o'�,��:�H���v'ѡ
7*9D:�� ��< GB>�=,sD�E�F1i�>�IIGU|�Ԁ c��A��e��w`X�ag���
-m��_1�j%mc�5�L2׉%nI��s��k�L�����t�!>�[ SU�g�H��:�t�8Q��
-1�l�hng(2]1�A.���o,�h�
�>3�7CKm�m�h�@��wS����3W�u��u��7q�

l	�z�Ђu)�/�
���z
�
;/m
�0s�%����0����%R)(�4�f> $��${��
{'��l�I��N	�GKP]�w#��/oI��
E��J��s�0��	{zDR�	�᱑H�a%˙`��i�!�}�1T�5%\�Ĝ��E��5�V����}�e�w4aղK+��*��\,�Ek[��أ�y��)"��GY��d��*���DpQ�;���d3i��BZɎ�H^�Ʊ7)S�?6�h(:͓�$����A棛0�uqڙ�gI����*��(]�.���p����KҷƬS��b�IQ
-|�`D>����r�0#���E�
8�LO�Dz�V�\ �ϫ3W��jjSf�������s�i>z�k.
T�7���r��
�e5�F�_���3�i�����2K�����I�d�x��2	��B(܊�}a��w�Cxn��D/Ѻ�� H �x�
-��;��;)��έ��`tU�ІoTS��FX��߀X
Q�V�d0�/�>�`�m�3�p(�<=<��h��&�
-U(�yb�5S��t���K�I������˺�5�x�
�"�c��F�3�:���{�gFk�].����5|���豝��g8h����q��`S��Gԭ������cʿ�"��R�{��f�}_��#ň&��l��؅�H�u&�������Vk�i�.����A�I�ztM
����qA
ċ�1d\P�_�����t�jCKw����˩^Nר� �\X�y]�����z��AO���� ���"��ul����xYםK2�E�Ɛ�Q�w
���\V+�Г{���ul
�b�):��T�s�
"���W�F�^Nє̞��G�Y^
@SC.��x��P�\ ;܆��8YA��_n�[V�d��&�>�����(sL@�X�T�v� ��{��9b�Es5�rOc*do�.58��R��C�e�a���b

-��a�ו'�5e�>�G�m���BN��v��~�
��鵜W$��jO�Y�;�>����ʉ~�,��)�w��J�ׁ
r�3x�
F{8��#d�`c=���GsZ�
�i����t���BJMQ
���ւ�N��֩�.�E�e����|y��ͯ�&�;u +�:~���%`
�:[��I0ru���r2�F2�hƏ�
rs2�?��
�
�:� XZCB�+z��6ЌX�
�w̞���筯�o�ߐp��T��m�l�8n��Ǥ���Ws[VT���k.���ɛD�WS��	��ē�+�{9[���i�g[�x"y4CBkK7��m**�l�i/�{�z��#�FK�Y�����>�W�cj�>���:T$��
�d�\Q�D3N!n��:�yߴ��z܅7�G/*�O���|��
�h�ͳ����#aPD >�=�k'X�T
�s�1����Y�!;~x)��	�
qv�P���/���
݌3�Xd�a��u�h����
C5c�0]5|��(=[��&��9�Ɛ��� �x����A��
�.9�%�Z�܋=�\ow��#q����Ɏr�
�!�i���gM���~��-�[3����l�9|����y̎G�T�S
��\`�����fʞ&1K
�k.���;�!s9����9u��~�v��ے9�g�=ǑYk�z����<(2�1�ωk���H��R\g�L�xI	�w�`j��v�M�`j��+I1�L踾�
�J��t��@	~�K�����>��R�/����;��/e�iT���,U�!Ti'#�u�8�������4�e)�c���
g��S��m��Db�Ӽ���8�r������
�hu� wڗ}�T}=W�o"\��v��,�e��J
.�����z�����[p%汿�����������J��	�B�ɟ-��/�̜/�����4�d��'U6��ꕦ��I�����ԤH}�໊c�n����s�|l=}\��	��l,YP�
࣡�:;�%��3%Ņ�&z,us��\�Tl��N{���,�Rw�Ie�_�۝����E���
�0��D��[]k�'�7��SY�5r3��KԊ4B�g8�ֆJ�E/��H�L6~S
-AzV�yt%X�7����e����Y:��S�!�DP)mY�ک��jA
-�w���'���%<	�L�3�Ǝ��O�z:NO&t���!9g�
��D���y�(�8T�S�T�?`��PZ~�ę*��]yM
��>��!��_!����n)h��ǝ��¾�!��i�^�;H��[
��N�/�6;h��
�Q9��W$ҏ
9�\���*�^�;
-�j3Ϥ���+�%)TV
��fE�+K9~�6��R�J-�ͯ7%d�.�����)��c���)�ӠP�Я�ۄ��pXɧ4��*P2N읦
�?�
��,�^O\��!A`�&�@�"���|Fj
���ubO_�����좝^Lv�O��ԡ]�ђ�#�9/�ed�i�BUD�˨h�F��
H��Pb1�@�i#j�ӚT�l����jU}�%�ZL�81���
����Kd��`J�ic��h	�s���Q�j��zd�5��/�k��h��2��y��e��Kk�Wo�v�",�
5H��sױ݁�8�/��Eڟ��%�<'��
B~�


�%�qZ�
-r�(`f^�$x��b
%+xu�X*P��J�{QU��أ�!���:�U

@
�Zݷ
)�^w���A",�
^9���H��(j�O�*��Kr0��UQ�͊$q��[5˙������G��e]���	u#!�T1���q��z3�
H$S!t��+˩�2��m��~�j���>|����!"a
z���K�b��D)7���~�J��M�q�pV/8�q�����dZ�Mj6�Gx����
-`,�G�y{�� a�i��B�
_�41I��J
~�?�h[��0�2U���$�wςjQͩ
�b�.f��?�X"Ln��KE)��w��ʃA�-:�
�=k�,�U��/I�Q���#�u5W��_;.�d��Z�f�{�+S|Fc���^>���h�)�zU�Q��k��Z˚����y'Mf�~=ͤL��;��X
����b�a�k����(��B_"����I'M����TDV��(q��8��
��9U��>ǚ
��0�&Vڑ��-_���1wS��Q���*�����8|���:�f�M��	-��aP��;��d�����O�$��Š�7�WO� 8=4�ς��,�*�=��>�x)J�0A8�]�[\��E���A �i�8S��պf�
��v�M���g�z��?�펜_�dU�@���į��]�Eא�뫧T�
U����W����a���;|�?��
�����LQ^@��{���9��͘�'����M��`���3�U���pil͕
�e������
�.���uM̾��j���o��H�$���
%�)�A2�"u?j$�u���^�dF����p�b9rHq��y	S���0��;�r
-�e��e�r���@�:a��z����k
q��ձ������*I��[��/���I��6�ה�s����o�
�xɄWV㭔`
�����Ef"I����y��9����v�u�����Y ��c����B���1��8�ڲ{͠/�G	5B�ڌqw%C�)����bK�Qa�b ��{�Q��E�J�uI�ځt�|�/�9x���WGԩ�v���b��#f�v��+�'p#��/�ͥٝ���ޒڡr�x�ō�̸v�1�w��� ��'}���d�24��8X��*���[;g�EX͈���]1�_��Z�%aj�G[�5dt�Q6u?E�%[���
3m(��*:
&tm�H���t
Z4�
-�!�
'���n�-x��]��X�ɉH>V)�{۳�2v��k&[a
�E��
-lF7BZ�iW^+|[bZB;MBX��+����G�1�_���w����y��V�'��+�r2�-’\U��O�Yz˒�5ޒ�1��c�e�,)�����X��;� �
-����� /
\����5����Z��8T�
��	��2Y��O�t
.�j���
&���X���n��ni*�*���[�9�	�D�+I�P�)�|��'��T�iy��e8�E��
-~���
�`]�ȱ���}_��Gf���QY0�rQ��P

7��V�P )Q�Lwr�>�f-�w5=1t����R��|�Ѡ�*5�<�M�u@\�?���^�I0�w_�;��ʘ��
&R�	ˏB�?�l���&��/33���6!EW+LTd���
�
>\�����$��5t͙9��(���n���4�Ȁ��v:V � �sh}���
�+|���q�ju⒇�
��g����#P�p�}o^
� ��e�a��	�3R��aX�v��I at wI&�Z}���R��ϤA$��e�HA���|_ih��{4�	.~�I���o
3(=q?����+Ml�v����M��
���wN�Y��Ì_xui=L�Ր�YMnrwR��O{I�&��m7j�n��p=k��
X/�"nzw8�9fl8GF�*�}K�㏍��F�f���ߧ�x|#+_���?�0ӕ��
>Q�*J��UZ�zP�H���-���f�o[-'���y~
[L�1������"�2}��-�2�U��sU+�á�d7ɸ

q��ew���+�����-�&���8՟��G�TsSA��
G
����VϼR��6�􄋛����aW��V��W'��[?�1p�����ws��z2?��,���m[A!�n�猼(G7�e���Z�f
�n22\���@�|Ѷ�!%�}{���'�a�&c��
U7�w4x ����\��R��2��,r��tĐ
yd������Q_��gb<���LΠV���d�룓��J�6Kn頞�F�
�m��]��|��� [...]
-�-?/�:*�FJ�"N+zP2%+�!*
�̟��f�?�TY+uw����
hɏd�_p7��$�ҏ����4-I�xR�f�j)�0s�U(�eRI�d������;�u'�+�m���auW=�l�	rS��{$�t[�F�Xݑx�E�\���\tem^�Jǜ��F��>��6w����@t������l�ulZ]`Q���3?lք��)7�Pw at Q/jƮЌ@��\��u�-�WX�ڈ����t���N������ڟ��
:Y�E�9�`y�X'�@�|\����/�w��g��H!��d��w
-�,[]M(n��V��=/ǝ�A�
��.��=�D�
R�5��$��y~q,Jx�`!���%Q�o�s�#��������5��i���$�ȡ�HJG�2�
��)+k �ʻn�
-�8���/S�
�lqj�'��Х^�U5	
mω���)�8$_�d
95���p�Լ
�{n��
�
-��G��# �E2� &|�x�怊�j~�ላsOU�׶��i���@�w�Q��)z��>�׻�V
iW���4�<_y���2|��A�F^�x�ʅ�Z>f��,B7�d\Mj���*�і��
l_[�����O�9���"�!��`���w���W�������M��u�;&Y#
��o��
!ףp8
C�v1��_C����c���T�����1�=����~/�<?�*��DI�����t|7E�>�b�K(:�%��H=��k�}�����ӳ���cڍ�ێ�N2<̮}���ͦ�����M̐��-�@��ȵxOc��(ƈ^ЪЭ�=�̈́r����⁘)4;�YD���<h_/*6��cW�Q���3{��i�Zo
8F8��K.���WB"N�d�����$��]望	��s�z��wf��?OBSFt�]�__G� 
�{�G9���$
-�F�Eo�|�5���Š
;?]�E��R���Y\�����C
�~W��.[�(
-���ٱv
-h��ed  /��4�q�
��
���h|Í�a��mJ'Vsȣ��i$d����O���	C�Q�j$Pjr
-�w
�
)�>�Gt�T�(u�1��K�[�Ze�_�m��`�;�H8�J��
�u�A4fU�+�e6"�[�"ϟ��_K���zX��<	�W��\�Z�U��
-��+<��� U�˶y������+�]�-5��M��K+Ѳ
�0��K��X�rͅ�#e. at 0�{ �C�G�)F�F�-
�8U
��'�iE/�Թ#e&��'�Fl�+���'
������X������5�r bn
-}NZ�k��H�)xq��)
�eA�eX������P#Z)_�Ժ�v�#��e�3~�Wٻ���:.좃�������	������Q��kA�oFR��յm2��&�R�YV�{CJ���-���3�����B
F���3��V	�b��A��`Ȋ
�ɚ �i�Z��2Of�׶|`i�#��^��_1
Vk���5��,i��Xw�c�\�ХM�1\���WR[��⋈$�a_ިi>
�Q�N�
-;)
-8D��l?�����[���\���X�†���
Uݤ	
B
>�V��1F�����g��ٱC��A���t]/[�6"b<�
#@�w׿��xF樛}sr�S���$�$->HRuD⏀�P�
��J6x��-	�Rq
-��.ss%`
��=ܹk��w��-!�z
-1Gx�!�j��
�u�-,��1ţ�5.~��D(�p�Z
��5�K��.+��ʖ0RA
e�����
�8��ī�<��e�VQTLA��:��W��T����]B��\�-����%�/~[��lc
��.�M;�|��7��A��Xw��FJ$���W,Н^H�`Ϣ9�N�j�q5���J|c`�|�x�k�
��E� n�G$� D�K8��b��"�`�f��'u7CbLC�P�#Ue��@���xIa*<8����&ʙ
����s ����
�!e8�⧹7��.�K��dz	���+E`�D�BX at s$�ɺ�~�ך�6��4�D��b`��:��c���d��\t�����z%��+�$7����.���
8Eg��J�S���
k���=Ne�J��
-�^��įoe����`�Mw�r���P�W�e��K�;�
>k�qC������1^
-�_2��I�5U��^�/��)�y��e�b�t>F�'��q�������>if4sm�/t��ln�9��̥	9�s!���S���!��J�Yf�����om_��{
V�GD��[�t���0����{:K\bY����%�Wْ��J���e�������˅U�Iu�?鸝Hgg�a��i�?z���_ś�s�g_U�,߃n�Br4Q��8@�,]��zirk�u~��
����YB_�����
�q;�d�jU�7�U
-F�#�c"v&XH4�b?	ɗ:�+�w��������-ӑ6���{'��;�c��'���	��ǡ�;�֫��
-�_�
pB�o5eʏ�M���>�x�/��c�V�w��7	\�[����N��h���U�
�"�%
�#��]�v�~\�
X"aE�l�b���E4M�n
-��w�
� ���R�ZޑdV5
�W�b�{Մf�7'�{���ot�38=��.�]�o�r�E���?

����9Ջ}N���5��D��_[��)�
�@�
-!���h6p ��t�D��_]DF)�M��}���4���j������O:����|�V��S��C��F�f�S���vl�2���-�n�,�-S|]9b��D�Y�`&'��[�2���/��h'p��YqA��
l��w:�� =O
��	L�G�Z���vu�g{̞~�ƻ��A�<8b}"�Y�OL�A������R�M�{ ���1�׬R�ĸ���uN��o�
-����}
���XүƔ≍!���'��B���e��'��)�N�MqC������
I�Y�[U�ɸ�x��E�D�������
,�)�>�Xf�[#f��cQ���zUK���C��l��
�BN�
�w�#Ԗr��K����G8
� O�ߚ�(}��a⺵�CI	\�a�+B��YR�E-ȗ	
k.H\"b�SgѺ�ا�X������#�5��Z�����K�'E�.@�2A"
hVd�`~�C�� K��߃>(oB��ia��pH� ��\�e
20�F� �!���"̓o��!U�B�o�����ojD����r]˕_Co�(��'Qq����>�b��ɾY�_�
Z ��%��������(J
m��D��1�G
��B����xr�2���}#��.�f:�RD#|7{�Q_�>�͍�\��5 ;���
-8�`��f��gc
-�}|�ÙX�)�2RP�zF���c8��C"�#�!���q��w�Ӿ����)�IO�
)�]F�b+7��/w/
-�ne~��i�^�7B���˞Z�d��"j�5]�uԮ
&zpX��/��ї��$�măf�8/��ü
�:�5�
ب��Ń�36����)T@����m�
��d�3��������wgJݛ
,U$ڡ�0֌����E��P�����x
�\��
��4��E
x��L=�ǔ	;e��nmZ�b
�0)�I
-��̠�� S�08��!?(�BDe/�
|��m,<	O'�� �,���3 ��Z�ԴytA�>HM`�C,,}�ݫ�8!C�8��B
>P�"}����h/���k��"�����lR}:"��O�6+�v�k;b��|��^��K6�>��&���P��jo��}��L}I��m���f�c�p4��Fc˪2(ԉ��Y��
-�?����-f���Uv|n�����}![
�d0�K�{�(�<k0hS���ʝJ�D�^��
�u�	�E���E�:�t���1Xa�!.=E�U�c�-��^�v��x�f)b}G
�\�Bg�4;��~
Y��ȱlO�
v�
�
�	�7�W�0����`������'�W7S�G�G^
��l�Ҵ^���.�a���P��ZeO��I�D%
	{�䊾�W�2z�*I�0�;�ڣkkX���8:� �p#
%Y��T� �}e�vH����=�g��<�l��f���d�t��ur�X-G�bZ{�+Qo6G�����P⚂�}zD��X&\"��]���K���rN��p�v܂/��!��-
�&��<-
>zx ;�u�K<�FU�s5�oW�*�
�4s��� 9 ���)�}���`oA��2N�=�QHb��N?��C at 9���h�QU^g�$����{-f���<�
6B�*#
�����4��)hA@��t�ׯ<��ቶ5��;�xKf����"�y����

��$<�<�p�Z��S\��1c
-endstream
-endobj
-13578 0 obj <<
-/Type /FontDescriptor
-/FontName /MZYJFE+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/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/ampersand/asciicircum/asterisk/b/backslash/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 13577 0 R
->> endobj
-13579 0 obj <<
-/Length1 1630
-/Length2 12365
-/Length3 0
-/Length 13214     
-/Filter /FlateDecode
->>
-stream
-xڭveT\�5�
\ww	���и6�\�Cp�ݝ��ww�x�;w��ͯ��ѽ�S�j��:�:���j�"掦@IGWFV&>����������<�*��M����p"PR���&�֎�&�@>��
 4��Xyyy(b�N^ kK+W ���-==ÿ,� L���|D�X[: �>
܁v�N�@���q�p�,�� 1%e
E) ���@
-� ����>Z1�[�
\�� 
G��������_��0}p�� L .N at 3�0����/���[��|<�] � ׏�:�
�����*��n��wAN ���L�����
d��
-�Ȫ,.��:]�L\���b�
-><�
���j�o��u5�vp�=]��e
-�[�8ٙx}�� sY�]������*` ���& s;�����_��W���ҽ������ю{�g
֮.@;
&V���f��-�
��Z
G +�?��nN��܁��D����~ab��`�0Z 0+:�~����Tf����@����O��߉�������>�;�����������|�2� y�_���	��]�����L�����w�������wX���c("��0��1���l�"i�	4W�v5�X��}��o���9dg� ����~����nemf��������^��\Ϭ��#*�K��ݰ{*l�����i�
��������'��������
��� ���7��a��Y��d�	�cabaa|���������H8�9���9j�&������`37�C������y�{�@O������o�58�?����zX!�:׫/�r�H���-7~�ej��{k��?rzݑ��
�����N��������S�s��3#g
k���������b���WQ5,z�!�lg������bR�9������cu�5�a�

S%
��Q�
�
쾄��!�ω���7��O9"Mv�2�ԛ�A?�s{l񫄠U at 2
'���
����
�4�@����.h���̘Q	�p-U��f��H� �H;���r9A��`��MrA�#�9;���D�@�ezY
-,Gq�
�"Bd*4����bL�zw��+ޛ#�b���%�P��ˍ�~�
��[�t(�K�j��UPq#�5,�nVc���Ba�gNŝ�ʒ�
��
3	��]�y����W��#��sU�RFn�-_�l{�nT`�⎍̠�i������b��2���,�\k�}���TsO�P=�z	ߝͯ���h�(�n]�Fg+�D��VG/�
	��zSًj���uP�;�Z�	�ēKQ9|��0�R��S�
=�<G]��S����OQe
/�
c�R~$r�l㧇og�tR�y��\��G�ʽW3���o>v�C�,D�
-�,�ppT�w�%�&U�I
 ����mn��Ѿ\n�$�4��{
-Jmi�h`!N����l�|��N�v�LJ��Rۤ��Ĥg����--��j8�p�MЋ48���d���8Q܁wg!�^,���S&G��if1҉\�>�}�:t��Ș� �F��U��怵���u
���C�����vP3���Zb3
]�>�l�َ|�E����Z��R�¼Qh�[�--t��?���o&ۋ
%KǨhL	-V��]oeg/0B/�'s�wkk$�|kZX2}�49j�Q�%��ROz�!��D�{a�Eg6�e
T��u.����8�g��)]d���U�X'u�
�
%�/�����?H+�Q�
<s�
�\i/;A��r�٥R:���p�P��_g?JE��H�U���%p/��T��\g0��	�ҁ��ä�
$8s���P:�xw��c"O����^GUM���B�r��DN���6Ԟ�V�3FyT��"W/����3�cQ?�Y<��M
�����T�
�
X��?L/�_?K����=��
�g���ٿ����
L��u@ͧ�3���
C{J���� ���9�C���3
�1X���
�{���'.�Iw/�\
h���<��k�bAޠ�0�s�����z
�DPβ7�z��{>[�`0*�DHܖ��i콅�{�.���l��

-�i���.��}�t��8Kp�:S�ܣ)b�{�N��i'(M�����m��
<U�%6n;u8m�
[���f(��
�D��'�ؠ���sŹh�q� ��"�c�Lj[xq�j:����wym2\�AS�&��2|	And:(��.	(��ò�f�a��|�͍��+��/�^f�rI9D:����`��V��0o�QI]�
ku��>w��SôK��e��s��9��q�=��k��]p���lt_ou#�sn�k��S�����S��
-H���ΖPxS����M(V�6����t_2��Ȇc&���
��,��~�8�;[��W�

!��"O�)�ؠu@}w�P���Tf�z��;��3���
ݪ~'��!vf���n��C�=��r\��
�Ό����͹J�N�A�=}8��]�����X�j�Е[cW|'z�I8�O����di�l���}J	���8hP;�h�	A3���hV�5+�h�o�F(H�v�J��S'��|W���
r8bam1��b\��i�h@�<��:��'�0��A��zݸ�
-�E	��ͩ*ğ AMDT���h�-!-��χ���L�
����y�{�f�B�'>���i&Ea��+�j?J��U��'�o"s�ԭv0�
&q�>����
F���b�i�$���C�ݹ�6d�z�
�ff M
�h~D��v�
��v�DE��H��?��d7:�-h&����օ��*���
π���4|k?��u�sL��~��煬 �-�1a���颇.뒘ރ"u��hCx_GCeF�����z�⼖����t y����� {8��w�4��p]}�M��o����QL�Hu�
��׼	�$w��{Dճ���<'2�(,B8�.
-ک���"Ӈ���
��g�$Ǟ���1�|Jcy�Ã{�#C��<U?YZWj�
9QGk�,p-�ə;��%�>�Nc���7�=��g���v�sr��ڝ�i}���������ǣ�b^�=��K��ߵp5R��s���^�?���}�Pf`���r*������#z��W���&PS��M9�Y�
O9<�~>^����vh8o˽���2��D�4]�ZC�~ƀf�~D�9�
�P8�O{�ءIK���7�NV+uG.��O�z�k�i��]&�jQ������$�d=)�4f�K�%V�|�.��h�k,ض�6d��_�7�P$�&n�����mǛ������I�=5��K󫹳?+=��n��/��
-��C�>i�`H�$!Ͻk�
��s"D����-9����( kf�v���[�x�l�M@�%)-��m�9T�$�dƈ�;��w�=�:%�3ݯ���D6
-�~���H�-ZOd_�x��e��� ��:�|||"���q�I�IQ��hQy5�d���󧱚����+$�`c9�N�W�T�`��N�8���=�+�G�X�t�� C�0�+�pg3�}��m��h氓�8?�j�&<�]�Sy�����R�h�w ��� ��˻��8���;��J��`N�&ɱ�g
�`����Do�!ȟ?����mN'nA�v]��`�=+��bU�5�u��Z�5
p�,��w�p�sr	�H����"Աw��
�)
-Y���yZ�K��{,�n�v�N

�e
����ă�AE��ܕF[��%J�h��nU_�-�Y(
 K�z�> C��������3��

"Z$R�C'�T�\;;�6z��7o���ZYd�-�A�����Y����,�
���
h�q�6����m�oJ}��u_VmΘͩt���
/B^���w<ۛ"(<�:bT�ە\�K������m�>��A�𖀁ː�"�0�E�»\�}
�<��o@*��H�ʗ�v7uFld�%�v%1��Hq��jc��G1�V��7��ȢO�.@�Z	J	UG�xB�c���<���_X��9X�
-
�E��v��C���v{���������
-u�����BI�n���|����;Sm��<�ђ0!�(LƝh⃄�W�a���4����u�R��D�
�7C�/�-z�4�"�1
-Z��|���""S/� �i�S%���P­w�ʌ^/A�#!�~�)��<����84Mb��wU�!�C��B
-쫼5c�T�0��­J�r�X��z�V'a� �ˆ����SYo����>�!j��ȜT��-�E�H Cb��(}q��{�K( k(i>�)��I�ǖ%(֘�JVud�
�2P��lX��8G����~�|�{C�
��� ��d`�@�z
~���_/%�J
FD����F�����q���x8�r�ҕ��U�~���i����=
-|��y�k�%ǜ=�<��(J�G�� �M�40b�e���f��^�2g]�P"cbop�����
%��M���AV�̟���մ;�c��[�@u�TF������+�Z�G4)��������F.��O�
����ջ�
au�\��I�y��e�2^i9�����]n��hX��Z��&�gRBxj:��T�C��Y��Ѯ����\�wE���Mⶤ٦(=�:
�ay�$��9`yaS�ww%�U�/z�q�m�[qJ�,���N3I�Z� �v��+�+v�s����9�����h<o�m3�uwO���Y917
-�h�@V%�
�n�S,���
&�C�aS��6!�x�E	ڵ�
-�/�%ڿ�<QYh��щ��\#����t9@�qw؇�%����g�ʎG
�wLܖU�
����l@l�o2�q"��LE!֋Cj��w�u��?Չn�������b����O˚
Ɔ�iq�
“q��*�Kҥ���z2$)�n?�
x����
�l�yo"P��F�q=��2S
-���|z䤈�L�L�m�<���K�pν
w��
�혵���VZ�������q��?g.�+� {�RA������֛�4�뙽��O}��'/
-�~��,f����l?�V��
@֚vAv��4����*�vO ����9Β�\I��M;H�q5�,���C�h�	���4<`�g(���g���� {/:u���E�u����V.�_|-��a�x���=c��k�S
-q3���3��w.�3s�����/]S%�nA�����s���%�0��H�Aı�K�N��G��ǵ�5�� 4�O�����l]�^m��E��Il��Bݿ�������ŭF�019h+.V!�"�5r�G
x���Kk����J��h�s^o�4�%��ȴ
��4xX4��z=�'(PRv���8��ɶ���#���e�N�3X�`�����j$Ix�eMTm'y��b�u���j“z;���*�<zLI��2I~
+R�����'�G?"@E3��Lm�зѱX��	�c�Y�ߤeϣ
�&Y���%*$�Sd��x�fgN�i�2�����:��q
V�/GvT��1��z�o����֣�D*g�wa����-y-��RqB�Tw�4\=}>�AҲ�cv��	)��#4��Z��[�gӌ	�n�8;���<�q1�`�me��D�����!��6n�x2
�3�򺕇�Ixaz�D:�]4U�`�0��~�S;���N#���|ו
�
�lr&FeX��v���)��l��&�f��
-n
��=�p���P�\7�'\j����2�,UG]�5��R����M
dRf��F; Řoct��/eF.n���!�X�>K�Tiw�(o
��َ��Z�R�'����P�}��XI#�i�>ʖB���p�Y��=��}ĉ�)&� ��+����Z;O�,��bżWE�p>�/*S��S��)�b\]�&��7�X�-�31��FX�윩�z�&-�aΚ<�������J.�4ʑ^�>zP�T�]�s=�a�v5���yX!d��q~ﺃڮ�k�`y��ԡ�3��o\ͥ
U���M܋F5!�7���ɱ$��Ec�o��:XD��[�WF
�p����Bw�
�O��������f�뱕ǘw��+"��*�{�B(��|�W`v�+�,�z��kòC�B�?�
%��`���d�;0�U��M���ю���ig+��嶧
��$%�R@(L�0��,(W��ؘ�<<a��*\�R��*혚s1�%��]~aiC��6�ü}K��NZ�c�eG�
�qJ`�
`����s6a�{/��lSXl�[��6�◚OY���'���yV��V
�T�IE�oy�H�=%4�}��N5(��)lpK�I)}+l��`��|t	�k��D�+=h�$5�
2�<��s�x�[��qS�
���6I�M��
R8���F��sG
-�P#��mi)�G�X���Kj�^��
-?؟�Y�@V���	7!����}�)
��)�K��
-j����)������j	Qu����]I�%�e^����*��%�
-���;��߂�@��Þ%�XS�†v�Cl[��}Y���v]��k܍��%���oY
-~��;Bby�q��8�#�.
�&�-�ڮ��tc���
�hǥ�0wd��{�B=���_P��r�Q���=}��/Z�֛!�u4H��*��5:�0s�YJ�i�^/,:j��'�r\��W���<NO�΅���%���y��[	�d
{CB{�գ]y��G0�*8�67I7�9���|T�����fW���tW�
?d���w�ᇏ$���dt�-�1�I�zLWi㒵�{Iw�٪���š_`�J���kz�%��m��
�1QYR+�
9m?�;����Y��z�����A)%
p�֞�I;��
��ԧ�mO�Q��B�?���ѿ�*�0��k
��:�2M����c��P>˳�t���d���؝Gq���*q�"p5� ��q��싼 ����`��OS
qG�A���<�ya5/��/�FV�6�#���z�&�����C�=�ߏ+��?��{
-J��i�`��0q4� ��w��B܂'lLk��m�����`���;s�tQ����9�?���AJt�9���M�pvJ�g��¡D�~6�CC���K��j�6��qE=z��bE͟�����4c#l	�����E�W+�o\��%������q�U�h<�;͹ؑ�;�f��I���f��M,.���Ҏ�9�<�{��R
-u�|f����͚ü��k
>9�����u��`�
�r�a&e7
fI1a��C7�{V%}�ơx�M��D3b�wP�Nc at v���7$��
��a��2�Q����j�#~@U�
�����W�V�&	gt��X�2�=k{���o��\�n�����ҿ3)#rb0��J��_��U��i�V��B�3K=�%uԤޔn�#b�
��屵�P20��|�?��n�ĊN��H��Ȏt
<loce�3ٽ>�ސA�:1��ƫw�G�`���<I�Hs8�"�:H�����)a����)��,�Ϭ���c�v�)���Y�(��B[_�%��	���E�?JhЈz��rDKi���̌D3�½U
��OF	6PH׫z�fj,��	+��2����e]
��(�����쒴,�ؕg;���Bi���t��m�`{�������y�/���`����Z��
P��������X��FB�Sd_�()�Ł�x���}qp�
-�,�����
ޥ��2��8�\H��d;�0�r�F�<u;�`�������1�z[��PGN�hi^Ń�(^s��j �Hr�E�B,�C_llgƨ-#�����e�S�ja$�(�n3j�
>��A,"ߺ1�}<�U����0����$�
���F)�+
��@ʼY�M�ɖ�ƨ�t���l��Wt���f�#�6C4O�T3�<�y��r���7�y9
-y\�o�
��
-[�Eɿ�_�Rs�r������W�0��Փ���U
����q|�x(
-�8<�[��rY>���'<�����s�h
^V��0�:�؜~�m���C=��s��I���4���XB��o�ۮ"���{"�� �m<�j����x���EPW
�x�nm�xBv�
�7�彏�}�\/�C��j�*
�㖽ͽ���u���+U0�z��|��{y#|[����
!ߪU }2��7xk�X����R���	�P�LU�Q�z�M`�*.�����|8

-
�fbtЫ2=Ҥ����y��lj����E��
M٬@�F#o��
���
��~�'��;Ef�{/pj-R�:�����b0�h�FC�l���ʲ�m�BP���:�����	�bl��ŦNt��������[�y����I����6ڋG|��i�L{s��0��-ɦ���X�.!S)�y���K�oڱ�g�#ܸ�n�R�sp��m���c��+3yn��d�\�
�1s\o�WQ~���
a�9�
-��-�k�
���auuə�]��H1�IG?B��
T>t1�v�#zL[�e�WE at 3p�~J��� 
�QkIUf������@��
���̒��p���YG�K}���r����_����
�\Y;
�2��}�:������+��u�LN���Y�FI�)D� ����� "�������fP
^
�Q�*�jBX|����n��1i$�a�U����eEG�g�f�w®����<U�}m��	���Լ������M���m,Z���
-�ҫV`��dĘ��6P�Q�r}�kg�|�=��"#�*�t�F������q;9�u�3�j[8��F���3������G�m�>a��ߢe��$]�j�R�3
ե+kXT2߅H�����u(ܢ�EZ�;Y�8�X���=g��I�X<L[�+������#s����dѢ��gH����xc^T<��
ژ��6�M�L̈J,r�0>JF��9��9'#"h7��gܢs�Vn߽0+
�A�O>���4�4��*�����l@&�nI�`=dԣ�\K���������w=K��<aWM���oHOMOM.��U��w���``��x��S^ϭ�Pg��Cd\M-�D�p�Z�᡽���rPƫ�A�#��6�j�0�J��l3����;_N�$
�
C�]�<�R��"7���H��?����u[s\���RI�q�&v�\��u���;�i:�>�Q�a�>'��Oo @�V�����'���\�i�
o�p��
���s��4�R#�U�@~X�d��S$���.o��
n��F��v�Yc7��6�R;!S
ևW���4b|
�w`���K�
�YSө�:�{�Z�sO�Q��
��?rЀ�O	��a�x:�m�"u���ϴ4Up�P/�[�@�N[X�An7{�3
�?��n:l�2� l�
�pJ�?Z��=S��1�)��^���)BL=q�&�#�䦻��eoƬ� � w=3��|���T��0/����vE��
-\2�/j��
�D��-��8��yܬ
���f�5�#��
-8O����|�3��M0�9_��ሺ�R�yOC/n�m�ƅtNV���;2
'�&
0)��W�7�B��X6g�J�@7���Z�����)Y�p�Kc��ve��͆~���#n�^bq������-|��ӵ)�
-���ly��W����$��C�U�DL���@l}�=NTD�<Bѵ:n�,A����m+��W<�h3��H��|1�YV'XP/�CꦃUJ6m���7����i^�q�>�bb��7��N�ި�ij�
t
�����m��epa�=҇j8D�w�T
>Oc�I�X��SL|��S�������ܟ �sү+�?�Kcg�D�*)̗�P0�q3}�����X�E�;5f��H9%�I�z�	��:[*�����U�N��5����t%u很�Q�L��ܐ���}솂��A^{�}
��%"��`��5������W�#2�u�bGYi��Y�
"U+j�L��_ +g
���L�Q=�� ��M+/.�Y:�B���!�+�#�OS��5N�$���U�
�
g�s0��;�@M��~�d
����ѻ�8��I�4I��b��N�SUo�>�Y{��0��}��8����o��}W$9;E³�Rժ��α� S^���x��k��!y�t
��� ��S?
-��y_YT=>���8���
]{������M��
،�QA�p"Yj��u5걾������h�9l���:���wt�*B�w��A*H.eh�h���Р_��/�
g �������XIA
#4��=��
N
���C���4K"���7�؝�����6 �铱�0u�d�ꋉ?{��g3E�c.�SM2�&�By��I}��zVS
�n
T�YHf����J�
�~5	\�?�����kܙ*�aKHg.N��ߺͱr���mȍY��2Һ��Q���.t��
h�q�P�;��X*�![���QƘ���P��@qDP]Չ ��c�
_dh�o޴�&̾y.a3VY�{�Oh�żF.���<�jQ.�G�a��H��F�b�����(C��V��)����x;M�������
����58sX:�=~kmi��W� [;�/2�]K�.Ga�;���
Q�ޚ7ֿ�9��F�P�
F��r���
K~/�~���s&K�R'eIc��q^t*0
�)��]��v��Nc�+�K����nF�1% �-V�"��@�4�E/�RB�s�)�/w�D
F��b$錎�*b���
�n
-p���L�_N�
�I�H��3�gڀ1����74z��ǰ/S;�:⠖�?�Q��9ُF8�^����V�2��{��p��!nWuD���&61�*fk�jG==���r��?�9e���F���}���/v�
-m(-�*�U)�[<��Q�MN�U�x�r
���d�
$(_C�*vp����-�"�m�C> ���F-��=�5Q

Q<i�G�7�)�nǧ�/�z`�ܟD��/Qn�,~�Iʗ��DH:p#RNj�+<�
O���
���E�c���5@,�s���Z�jE��M
�� 
��u�J�R�Œ.N�iaA��yK�1NP
�&\%��
C��Pe�g��Z�80��rK*e�]�
-���:��b ||��o���i;�!��'�
-
�K
k�v�5�
�r �|�BX�v����}h�z��uԴ��ؼ~�J��\	�Ͳ���%���0dW;����^C8?Ag���
�l�-���*
 �`���;
�u�
��E�s����%\��P9HF�4��R*y��)P��r�p��p��ۃXUq���r��$&�xa@��@�Pj���[���*ר[�^S�,™�#����{�O^�{t�2I�A9%iz��E�{;�|���S]L��U�Hh��ѥs���*r0��Q[�_y~Ca%�e���;�Y�hA��K��hB{:
H/�z撊
waҹ�z<�jv.I�=�,
���j��@�/�񻈘Z&śUYj�2o�({q� k��3$��V�i��Oi�9�aE�!s��;�,�
-݄.>�s�SeL��
�ɽ{� Jؑ6�c4=�B�8�L�2K����q4v�����w�R�7��]����������,E���pl��㉨�J��ӡ�Ņ����|�4�S���ib*`�f�u��R6�`̙��#�]9(w�Ʊ��=��'�E�{������e�m�<P��ۣ�O�0	��@_gxT��N�?}�v�2V8_�2�{���tUcjn���\��C�(
\ʈ��q灾�*V2Z|�*���
��
R%
%��ڕ?A
R�*
-i`L�kv���I�j=�\X���^����f^�*�:٠5���W�9"�
-��އ�Q9]�����x�|��3��C	�%��0�
މt��2�FK�
�)v�����k"��O1�Q,}���!��v8�s=F��_�w���qm�ϑʱ���/Ia������
-5�� �>m�&
-�(�à�̲������yg^��D9L8s�����+�y�gyv
-�;K��JC���}?(xʓ��I�I
-bYn���B{�[�����8��Y���]2.��<��2[�����_���,0���%QuuP{�K�[� �lw�侏�x8d�Y��zY���6a��i���r�*��M�
V
-�H�Vx�[�!~�_:�`d���ـ�bk����v-�#UX"-n��w��Ec�\�M2��
�L�[
�i�Z��pq��1.���K��	Ζ#�^����Q{^����Jv��^�kW���Ů
RI�h�,!�C�
��V����<p��
-S�"
����'��
-�W�SϮ!!��{��pB�$l����gqG�a��z�`�e�#�AGF $�N&��F�d�U���
�t���&v�bؓK?��0�̫���kEC˚n�ԩ�OM�T,{
�o Ý&>T�;J�qJ��?���30?N��"��
Ž�ה0�Ouq���Ƨ0�����t��P�0�k
��E��?�a��l�=�=D ��x�WV���}q
-�0��
-������U�n���t}; q��
Tp�-�L�=U��#KP��7
?�&gN6B9^qf=�[�R��7�s6]��k��5�����^D�~��V{��V� ��Ϛ�*�����ט��`��� �u�
�ۍQ
-*�^�T�]�RIdN��NF�8r�~s�S�y�@u,�-kZ1�
P����멲A �ō�b��ej_�L]go���x��
�T�������L���0�U#^_H�L�-�6<����--���?Z���6.��gZY
-�r�RV�
1*�|<=9-�N}G�e�=�6>�qz

�
l�`�K��ɾĊ
�@
CU�
3o
���l-��T�ek̖�fT֠G��k�f���z�Q?�d�/��ױc-�Ш�"�"������3�I�
-iR��}U��2
fW��̝��V����r�o�Nt sQ͈4�g��8�.�R~�7����#�Z�c
��j)�����T�����=����%��;�?q���F|��C��?�J]fM��(�cՋ����ǎ��7���C�QD�Yec��_�<c3�T�u���2W������^�\t�����@����Hw�
�cPX���݇��|!f]���7�
ص\�i`{9��u����P^`��K#�Ǔ�����:e�
 �Μυ�
-�	���
�wB▇L'���N�1�H�u���z�s�K��''1޾;}�!&�{��NE�*�
B�`�����hM����>�u����41�#��uFO|�%�梸q ��C��
��I�I���տmO�2
E��������bY-����~
��0��=DF)�V1��~.WQ�ы>�8�.�(��}|n���"͍
��κ)]��QNJ�E�~��}*�8s�{p�T&��9��[�L\ק^duk'Rk�=W�j��U�5������Os���/YI|
-endstream
-endobj
-13580 0 obj <<
-/Type /FontDescriptor
-/FontName /UMYBJZ+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/A/C/D/E/G/H/I/L/M/N/O/P/Q/R/S/T/U/X/Y/a/b/c/colon/d/e/equal/f/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/slash/t/two/u/underscore/v/w/x/y/z)
-/FontFile 13579 0 R
->> endobj
-13581 0 obj <<
-/Length1 1626
-/Length2 18364
-/Length3 0
-/Length 19205     
-/Filter /FlateDecode
->>
-stream
-xڬ�eT\��&���S at pwwww�
-www
�kpww�@Npwכ����z���O���
c��Ϝ�\�FmJ2uFQ
G3����#+
@	do���h��ȫ��� ��9()�]��n G	S7 @h� ��� ����� qG'o����FSM�����$�� ̼��毧+��@���h��dtp����Q
�Y� ; @\YEWVI@#��	�: ]L� *�fv s��
��
-�X:� ��} �;:X��)͕�o,QW�)��	h���2:��b 8]�A��� W�������
�9@�v�� �+�t� 'ǿ�u��8�������� ��HH������?�]A� G˿�������/��0�n� W����\f@�������o���\@����
-r��/
 �����
���o�������	�ߪ7ur�����㿬���+�Β	���oNs����@��̊���#����r
w���� ���A4��
�_��v� 
�%����ߔ ��;����H�o������z�����
�o����}���R�vvJ����;�wɘ: ����E�n��r1��y�9���6��h�
�,�S'�f��%�Viaab���*�Z���̭��v��/������ ���Z
-`dea���5����8��:X�'��T�
<������
��a���P���ix;���?JQt��_�ˆ�9z|Y�x ��
���_@�\,�����
-��_gES7�@�o�,����<�u2��0�����������I�_����..	����[��<�k�@/�9��/Gs�0������p�F�$��X!G�5�
�j
{3��y+M�jÙ�f�>ڽ�N��������p�{ӁD�����T����!�Fe��N��|/���X���L������t���]>�Qxa}ypB	0�hH��Bkè+:9�J=z|�

��#��M���7�
H;!���m�r�h������9��'�"Δl�ܑ�hY�A��y��Z���Rm�í�b�V�a���C���{��B��3T���1XcRY9�fR�c|�T����
7
's
�
{U]M�Uf�1#)�y/��qA6��z� N�7!���X`�]�18�X�9�n����1T3���
-�k�xɦ�ew�i����\>�|�U���1��L�|
�;���q���m3>ܱ���<>ƚ��Uxo���/�o���:wVU�����ˡ�L���D�%�
-��R���J��{�WIA�
-GdU�I:^�5N�>
F���|+�
os?��N.�U�hFf�yF�1�"S?�t�۫"�2�FZ��F�w����n�a�7�2繅�&e8�옳[�.~�6?�@ʻ�*� w��`���h�s&"��I�dz�5_�
��9��FR���缡�w�P](���)
	�x�J-Yc�gʹ{�����5&�BX��
דNK$���)��E��׭0�����f���-KniĠ��Jf��a���ױ�t����c�NU�Y�w�����l���
T��
��~�?��VM`��<�=y��p�;�P�s��&њ���`�L�!��sy\%�"��+���|��T�Cv/��m�� ��
��谑
�+S������ �+��sw ��g���?���vF�P+��3��Mn�l��\��wЕtO�1�}��"�����Z/���8E>
-+�zl�~���$(�Ch�J�k�������ӹ�$�9�J��U�'^ ����Z�n�
����e.� ���r1����:�	�N�!8��2�K��.�U
쇈I�
A}o�o
�9نT�����MXA?u@�}�����e�ƀ�d8r�u��)��/�1
T�QJ3����S�h�b�,ɘ^�v���^�>��*�d~i��M����y?B,Z��ȵ8�2�,|�ޏ؊e�%
o����] �?a0=}�->Ap
�vM�T����H�
1
���V��7�3u���yD�>�(��f���{ޠZ��U��u�-�R��Y��j�z�!�1zGZf��7��Z���ga��|�nI"+4e������/��� �
UCz ���R�~c`b�/[
l��)^�\
������ �?��.?�[�i��v�|R�JX������Dv�JϤxXp;��0��\(��JL�+ .�:S)P�L�!'��I������%�}��j�Qc�CD�M��4t�_כn5]d��[1v��v� V�f��Ы��ڮ�w
��g �.�fk
������u�����/��ݝc�Y�_0[$��,
k��Ļa�;
��%:�v�p�G��%��i��Դfo���yY�
[���]
��2/���RO��[�qU;�`ʨ_�׳��KD
`R�Y��&,��:��OlFĄ�Z-?�O�����D����v��.��)���$�Y�{�(V4;���Y$71�����i'p4�@�‹`[�n>�5Gv�~�, W
ڌzY
-�D���dT�vB^	"
-w+k�iWs2p��P>�gT�mG��"��ޕ���LǦ|����Ѡ��q�c��a$l�
�
��{��n�xd�
�v�6�&V]�,c,1�D<�c�H\��tj���(9���2�d�i�����U3�
��b��ڶ�2��B�ymd��C�C���%�W��]���M�%�/S��E��`�:�7����w�J����b����:�I^��"����b5�!���
�H[!5���үt����
������(i�+�k��XL����h
4����xi���jr��_��F��h���vD8�
$�F��9������ɈD�	 
Z��h1�x$RR��}O�1i��Gr~�1���P_4����
�F;��*w�q��f������D�L�R"�q�����e̢"�N�!�8�z�Dž0��u���3x��r�AIWuC��쮟�k���Jd�[�|�E"����r�/��Ӻ�l�Z�0�H'xD���gO]��-�
g�G=|�h���$qL#�Z���������	�� [...]
�uXۣ	�fU�-* F"��V��{��箟
��ϝ�k<�qQ��j�RC(�����V�yrՂ"��
-�W�5
J}B�I�(C�@m`0R�.�P=�i�t8�
��m��SH��zX��w����N
l�v1����W�?�

SG2l�d�ptG�Z�j�
g��;��7[�f��wAk.L�
-t�a�2X����R�֑).�qx%{�꼺��]���R�Ái4�4�g`��,?���f�����|/�{��^��oCnt/�G9��!�e��D}��vM�5��S��_|�>
�{�e}p<���5(�9������i�a���;ꫫ�(���*����ⱸ��v�9�nmO��x-�
^�T��|�{b��j���[�*|�h��5��A}�S�m�g)
-y�<�-��P�3M�W~WD�������ϑ����_���pk�ۙ!�4'
�9�Y1� Y�h\e����Z,`��F���%�B-���R���0�eI�!��
zcȳʠ�p�]��6��`	-o����>n�
�o��
����.2���>ݨ+
�Kj�uO��&�,c�uh���p�G�Բ1��}H�%T�Jn^`�,�1(�f��l~Z/��cR���GE��fi]�Z����Gi�P�����gE��h
���y=:6�j�y���4A.�7D�?7�4�k�ʆG�,�/֯��- ���~�Ʃ���M
j��0�=�;�U�BC�~J
�&��
p��ڦ��jp�
x��h����y��)�]pC�"ܻ��4|V=z傿[j�]/�[����6���Ļ�)<͑�k�$z����"�PO@�;0S��h[_�8V�ܡ��LFu�����E���-"#�����t��\�Q~A
@�� U'2��TW�w�
-&K2u�l��i�|�
C�&�.�
��ޅ2�]�
$���k��K�'w�!/8��忿�\u at f�v�Y+���k�
�=�H8dk��8�K<�F
IPw
-
�c�<+��㿪瑨�:�m�ط��l�B����}�h{����
�
!	

v��/��}a��n��ƨO���b��< �E_t]�SZ5}��+~�@�ri�Q�߭
7$��*�<7Z
�e���]�:�m
1@�i��?��� �l���J��KD�򗉱\f|�k�+�
N+��8?���J��,���&�*�5��X�6Iv��
�㠟׆B'#Q�h�U�%KS��W�A5
�pUh�Q�7dAx\�}Q��Km��%�]
-|��G@�/
"�B������z8�G� �M��N�
O�8��)�3,��`h��2}�ݩ�R)G���M	a�R�*ea*�����e�뤯Q���ƍ����+�5]�b6V�hj&�
���̴��qh����Nz1v}%�b��tS��r�y"(wi%F
p����#L��3��t�G
"ݺ�MS��u
����GX�溬Lx�J:9��h&E�p���D�Gl���N �>�b�-R���9���	�y�dR�|k͘Qc�p�x�����#ת�9�z�V6�
T@�쌉
֕~݆�p!��qf����� C;�ރ�����V
-$
[�(y<�۫
v𡪭��z`~.
B���VԾ
�w�.��zXgc}nqD�^���Vuʟ]|̙6(�;WLq�O���{u}N���i�N^���|-țNЄaG�(;揞�8<�Ι7�����c�16��m�G�����l}�LV
-`���`�?��U�v:w�1Y�q��mR�k���ˈڼ�YߔsW�����{{*pޞ<D�Bd"�f2`K�{���S�b
��8�rJ����r�}��h�wzdת��X�0�2
6iH��ì��w<�T�m	A�ի�ͥ[��7s�$z�|�ߩ7�9p �8����g�
A'��v1�4^F�a9̈Л�	��$
�`6#8����>�N�,:h�f.�9Z�n�	Q����rwGdw�c�
�e.|��N٠p��}X���7���Ix��Am��T8�f��!�$��{&��?J�C��Qx�[�P�
nqC6U���7�$�W����s�f؝{�C�hC��q볯񡫛�j
}��^?�/!'|s��^�̬\�"�)�&O
-��卓+��~B�ĥ#�ڄ_���Ȕ�t�BY}dY6��!Y��ǨsA{��B-\
M���� �[FM��;|+'�P�"�MKČg�S�Xփ,�`�.v�pG?
�ƯD
\�"ͱ$J�1
��������h��O~��������TR�+�T��8R0�O
-��z��?��0��~�S�
/����Ŵ`I�������;٬$�Z-8LeH0ZV0��Lohģ\�}�
q�����Ep�dRx^��j{3~�(�٩��f: /���󙶵8AoX�1r@%��됴Z�_V�)]����%4�`���Q�]�%i��5ֽ�ôf��#�B�[��M��E'�#��P��<CC�x�wY��˺z��d��
�� }ϟ�r�#��3���?$/{ٓ�*?�j�f��8P"3�c�
���=��Z������Tt��ח�uzS.���ˣi��nJ����+^�%���;(
/Nxk%X3�C~����z^�NtS&W,9�BzVM�mMV疃{�5�R|�w���Nw���C�	g]�dzM�a)��e��S�>ށ	�xm�~f{��+D
��E3��JƠ6��|"K:��ZM5i�z�5�j��
�X�
���4�_0�����8�>A�2�-"�PA��Fo�@96_�n���C�
?�O���w�P�6
_' j�IJJ�pl:º��J��BZ1�� ��:o(J��^���!
���GV����J�o���}<�(q醘
M~��,��y�z)
�t{�7]�C�~h�ɡ����A~W@�M�➥�����|��9�s�3>���,�D��A٣�i{��� \�lan��!�SB)�K����
�E�Z%[�T>�
�d~+u�_��p��r��TI�j-������
-1ߕ�E0	�+���L�k�3!i
2�	*i�;��|����㫸�w�Wi�ղ�:$��,��M����tޖ��̏L#������Bï��tg��ti�B�RP�"�F��0'��ŧ�����Z9��;
~zd�zr�a�)6����|���t� �n=�(�ŗ��|W��'I�`Z�g��ӥ���b<��H�
? �_
G%eR�FoxZ�
&���
81�`�̞g�_��k�"�7T
-�em ��=8+�8d��2�
�)Z��>j��f�ua3�"X���
�„3���ʑ���^y���A-/^l��"Q��ѧ��H��^$I��MY���q��U�J#��l���
�m?�k�z���8
�$E X���/Fi�/�_�op
4�$�Q9�����O*���fcǗ�W:�H��#�ڧ_Z�����C
`S
ȘIyW_����(�_�3��M�]���Pa�7��׶>�I�޾wc5
j������!�YP� [AU��V�g�<�N��&��B�Kx9�ڐ���hL*�Z�I�<�Y���(�����;����X
Yj:Ҫm�*
-7��'ɪ�Zd��L>Z�z��W	I�,�n񩞰��^�}X	ʊ,O��d��?I��ܗԂ�f.m n����̻��鼦/b7
��ﳆj'���pT�d�
�6��|��	�$�Ì���<�5�͒���PW�u�k�Q1�?~����Ѳ
uuoo��I��%�Lբ���M&� ��W!�����>��c���j
-�B�}�Z�m��Eq*�)��g�x�7��6�UDF��O��wi%[OqZ��.�]�8U6�[�$��p��̶fԀ
-3σ�":�Y���K�P�/��D�#/�2������Gig�����Gx�gyr��
�� y{o'�“o3��b�_�����Mu� ��'KO\��-������C�^� c6ѕ!��H�
!�h}�#eI�*[��O�i(
�/�ݪ�����\2�S��̻�Ǚ��9����C5S;�@��1ӷ��d���A0�(2�%�	'̦�I���N���q\�vJ��y�ro����S�v�m��
R���>�^�$����x22� ��V���)//
�������QՎ�NE}������5#C
�/��-��
��i��u�
�E�����>��h�T�r�G`�H�r
�l�\Y��f�Yt�|#��C�m�i�8�� 
.���8�H����(��,l*;ʉ+*��&2~ Ѡ���^��������ÚDɆ�#FR|�����ܸ� 
�^m�l�-(��*��#p�l�
�m	��W�
-�3�@�Q�A���J��IX��D��~le[�`�e��	��m��N��CR�S�i\0{2���^>%(�{����nC
	�L�Cɉt�ȥ$�>aP��Ѫ��[�˙f������VX����%�x�籕�W��u�H�x�ήEh�~b�=�
ݹJ9e析
��
�['DY�p���b�*qKh���s�K5ˊI��k����?i�J��N��^f�咗���t��G.۳#�k�����
-��B������������;7�H���������|
F�#�ߩ��b����3��
#�SX��i!�v��&��^�Ioy<�Q�pI�����,��4�/�ޞ�"�zo�d_�+:$GDi
���
-)!qT=].^���-
�m��8�-�Q9W��E�?=:}�v�u�r�l��Z����N�ǯ7u�2ٽ�z��XC0�nQ>��
�*TNz�
05��Z��wt��.&���7J.��'IK
��\�g�<�[�?�(o�;v4��~m�+L���e���	,P�_���%@�
�pqA�<���
�4��p�%
=�c/�����;!�!�PW ���;�1Q�f#�LXB�"�l�����
��lN0��3@�I��
�u��E���q|/����,XY	W&���ၢ��JS��Bȸ),ҏ�<�G��1�Ы��_�R�*�`�N4l������Ga�ji�FHH�'Tԏ�D��c�߸[������FZ�莺�ŵ�Z��q�EL�r��P.��e�S,�W��yJr�=0K��vgm��"�Z8����7g�\��#js��g],U*���
�Y^x[%�:��vW���Rw����S
�5�!�.jJ(����öy��lA۽TѰ����2������O��Rh�G����-@��w_��l�|����7�C�����ߒ
���L�b�
�6�2�"�a�D_��7S�_���w��
5Сk�@�[��8y���q��ؤW��>���@	=y�hc�N� ������}f�5_B�����1X`��sk`�'!%�9�\"e��-yS R��+��a��0�P8=gg�51��^?���b��:y^إw�V� �����i[1^[�x�oZ�]�qx
�Y�U� ^��3�[�\���S�1��}�p w��{G�""�k���
P�9ӏj��G9ʹQ��5,]p�4I�rC��zK�	�͑L<���Yt�k뱈؉]f���J��[W��2�'��=_4j
���s�@3��l��N�0
l�UI�]cB	�j��*��+���}����T��ܬ)
-�]XV�Ĩ�'.���Ai�>�J�֧{�-�G�y����	x�u��pܜ�Xz\�%��T��;S>
�_f�`�$�
�M��[�ހ���?��c	�q朖�f}`����(A�"V��T$3�b�˴�Nm0��qx�<�9U�z�qH%}2�/���$��6���`�X���5��.�(秥�>��:�&]�GZ~�CS�����
���#�<K�X�hQ`�
{�D����o��8N��f`u8�,(
�v��]�g��0f\~�]�@
�$�.���������>E���D�g3dn�Wfy=)�8^ye@����6�V�<���7��0Q�Ϊ�ζe+������g���ĩ6�$��OjB Ԓ�
�|�v�d��
�0��O���
��8<6��

�<ɩ�"�<h�a<�zɷ���;/��J+�#ʺ�RN�a*�hw!��2�"�AQM�	�m܇���`��鵷%%
����iݓ���x(��
�#h
5���wz�\"��Rzt��i.��o<��[V!��_
c��z�����~���)O[���CB�|��
A=�{��I��W
��0[��|�d�

9�T�
J�J&�|N
��;�V�B�sc�% *��gb�5��Ap
�i4�
�X(3��|C
��s㿸����
-�Y5i{��B֢.—�GA� �U�e:xI-
C'k��C�xOQ{� 	w��9�GC����~�`ɂ'���,1�xdfb��3��g$��*��"qQW
v�
�[<�"�ƌ��D�*H���w�nU�[Z
����E��,:��A�j&�ڈ�1$��`����6s��p��b�)�T��Y�
X>R�F+�N�	E�����W�=w�tiz&��b�d
]��$�i��r���h
�)���MLӳI>�+�93̿�$v�����$�BX�!-]!+S2��x���\*�9���+^�AÙ�&К���=F�T�bsd��Y�:�w���g�r
4e	6�e)j��B� _����O&�nb��X�g����)	'd�#��L��@�
i�
-<�Ƈޑy��|C8a(ݘ�7�z�C�9bN��%0���F�4��S �i���O�X�6��%)�,ȯC:�A�E
�W\-kb�S�.����D\�.?
��#P�7�6�
F=��l�!��&�Y���]X�N��H|�f�}�1�N�ӐJ���>δ�UoJC"�.6腸��
�����E��.���~e46��@�CJ��2�¼b����8ǃ�Y�f��!����Y�-oU�v� ȟ�Haq�CRͳ�C�������C
V��u�p톏���އ�x�w�Ԗe���ΝW��"H��K�[��g����چWjECb������K�;ّ�
'9�h����X\A��e���6x�3YJ
F����~�o8�n`�}�0�yd/l�[^}9f]��K�c�W=(�_�l֐�)j)�y�<4[
-��ɭ��|TE�B�͉��ˍ�b
���T�_ ��dw
�
-x��=q�,4ru��9��m!rY��!��O��"�/��G���j��f��I��ʩ�NE�ֱɕ(m��so0�)��ey�Sn��Qc�k
LN!�ܩmB���$��A��·�����7_�D�P�ff��W_������t�q1���T��gWCXhxPvY�������ء�N� ���k�����A�o�_u_����|��f��B說���e��Pc�2���
k?M?}��$�E7
6y	��Y(�8R�s����?Uq��+|Z��:�ןO|R��;{��e��.ׇ�$$d�<��αqU�U+�9�'�q��mK�
ɫr����^F��Duy���l�&�?4-���0ֱÍ���1m��D0k��tG�iK�����
-
-{�UJ�u��������ۅ��sZ���1�-1j��V�}<�l�����LItޱH�>m�h9����}p��ᓕaP���+���0��ڬ��^a����w�r1�����
o6����?�>��*89Lz��H%-��I��I�
Kv��M���N�\���xT����wL�3류�eܢd��Q���ԵH��������\ċ�н����J�Ҩa�����5J=�Ȓ��8�ï<��a�)�j,�&~i�Y�n��e��GK~_��_�S�iC�`�Yب�Eӷ�\�x ��Yy]I<3��i�2%t�w�@�3��h„f��RW�
-b�环����\Y[�Z�9"$�k��9_d��
7pF3l�c5�R���04_
�_J����Ʈ��W��j���C#�|[{l!���9�-�2�2�>�A�@p�d0���JL�
-�F��+gȶ�`�&�p�~,����Oe��.��(�1�UN���
��jF�Ly^
M&L�`s)�ٹ���+	���5�q����L��jD�5��k�r���a�{L^T�$F at 1��^���������
-U7��g~#f��/6�u�դV����az�&��|*���e��-�t�Xd�R27_<��������'�Mɐ��AwY���V�{$�7.k
-)�J��P������W�k�GHY��k"=��{t%b�k�'�O�s0��7-G/L5?�+���dV��ݡe
o��ˁ���"����ĕw������q��x��S
3�o�~���
��ʶ��?h�I=<X^���Īq�P��\Zԁ
��{�������
0/�)�_/�m�y^Sg@�'s�Bh�4�}
�ޜq�Y�P�����nV�3~E*�
}�K���w	��)�_|�|�"�oR
���_�"�>�dC�
n6���Z_�t�hXKSM%*�ܩHgY��k�:��-ǖ�� D}��2ȟ	�����z���U}���qn|�4x)�7���]�t�3�*�h��W�\�p�kO0��g�
v�Q��
�($�gĦ}SG`䔲*pTJ
����3'g��
��aݥ6y�En+sI��B�st��5�[�Ċ�G
��
����ږ]$嫣�_�H҈B�s�MLa2�R��[���{r�^ɶ;K�b�W �-o��z���^ˌ:��/�C�)�_�rѝof�*
�$�����Q������}^�/K���W?���-<
-�0b`O
IJ��#<rjY��rs�x"�k��2��9N'5��h�b|�����Gt����P
��m��n�a�׫��(p�.��]=��#=�]�ҍV�}���A�O��YI1��lK��3m��B����_�.v-�w)�Mjc�Y�&db�n(j�w�ڠ�ȥ�jݛ�,\;��C�et:�&{�CR��T�[��)%{��p��R�*���QYs����
>OuZ�a��K{�"A��LM�:���C�
-�ɝz�[
��G�Xd�ꄅv�\�@j��ȸS�\�tL�Z���N�l8@����)#�Lb�κ=U`�&��������X!��KNueSW
��12Ig��n7oN���e6��x�Ӎ��	_�.��~؁���x��do��8Ee�J���z�a�M*~ْɌ��g<&�j�r��ݣ6�Z��PlkVDA57�J��1��&l��tVS�
�C��y��F���
-
xq=n�C#�ݗ�d��h�<IW���h��
��C�iq
@W�Ia:
-*�Z�^F3{2�%�����i!z��|E�Z��

-
��R�R�Pm�R��+�M�mGȾR�}
 �,�ų� �"�����ke
-k�f���
}��̭����R��D���s�8Dv�d!����xߐt�Y�"�cj�D�l;	t����/����!J4�Y0�75�~�(>뚹AI�zⰼ��B��
-�> �6�V6�˿̨m:Pa����僵s��E���z�
��F�N�=�c
k���w"�����`��VN�p}� SE
F.N�>I	
�D�ٞT�`�a�=���"����!<� C
➩��
��"
`�/��Fq�+^�1z+���5�
�����[�k�V5��Ni�q����Ԕ��H�R���!D��kP/�?Á[�AN88�m��L
�	�JT���`��n��W���
ֱ4f􋪄{�̸�F�/[�eq|+Z0���6RX6��1�߾��?2�_�^w@/�#�e]�A��FS߅%��7��Uf���
����[��z�I/0vEL��_�ATyl~��G܉�A!}� �k
�s�`����������R8�B��@�
;L��
Π�7�(�yɚ��#�����+^�	C�LIk�&�
f
-�(k�v�e�:HQ��"

���RIm���3�Ԟ�
�a�ʬ3/�Q�x��P���߄�G�*�"[=-TG�H�br�4��艌<���y�u��[�t�'�m��p�W��
� �y
-W��������-���)�xy�YT�Tq!��/Z,��/��M�w[�8ܛ%!�r��]W��#M'���bs�ت߷��Ԃ���
ãZ�)�"]�
s��tS�c��5���pT�^�q-"w8�;�Nm�6Q/}eh�*a�)��2�J�~�?ܐ!H�ɝ7����KҐraI��P���2U]��'�{P8�X
��f�8������>�^����O�D?Z�b�F|����/�1VO�0n�B�?v�
�:ݲn��b@T�~�-Td(b��mӋ�!�oP�AC&|�I�<�
�.��~׊��CU�^��r{��Qx���v(���E��d]�Z5E���t'X�W���
D�E�U@
@��؃,7b�*�@Z��q
�Q��i҈��s[�:�N=[��ڵ�>���xѷv�ր�R�}q"��<�C!
���DIk6��~����Y�I��wԅ��<�2�+Y������ܟ�'nk��N�k��~��AFU�`Wݑ��r��
p�
-�f�R���F�J�Ü`"��r����L�4I�ZK8�;��<”��Y�C:3���a� ��
��ա��MT
��8R@�VPKBG	a�L����Ab�
J1�u������r��Q_����`��b��TX���#����V�j3��/t
�ƻ����[�~��1�U�1s��
��K�i8#
O�"u�6�v,g<�x}�?g���B����J���	k�!O
���3�\Żּ��6UN��@q�Y�=�u|3�8��v4�S��(��CjH!�I�[�֎f�l����03��q���{����̶����cg�/7SO'�o
߱�h������ʣ�ZJJ�ʋ61J�_�SѺn�
-��R��ˈ��c�8�@l35x��0�9B���㪞�A
͑��
-�!
-_�5�v�0oO�0u�A��&���mg����1Ov	8Z��K�/���odx��Z��B��{�Ƞ�쿈��nT��71c�V�z��~J�`��鼐X/�޴Fۤ������j��v�I�
�F
����
KhCs
ഝ�v�DsY�?���դ;��ړ�2e{Lu�Nzm��0{�x%��
�ƈ
-�)
�G��%��Ѻ�����
��a�ĝ,^)nV����-u}��`
3zy��V%��=�6�H�"ELm��
�k
Yd�
HVͰ�}m��֍�τ��
��G���i�t7��ϣ�e�=��B�I����Ph�E��T�
x���mߞ˙ nN�gF�f�%�X�QyT�?�����	
�'A:��F��ħXs��C
�c2 �
��n+�S6h�M�
-Z��L�!~����}�5��
-Cbl��k�m�
|1f�#�r
1�
���ey8�aI����δi�K���f���
��.C�DHYѴ��.R���4[턂ɂ��\ߨ�."邜�#��3���A��a���
N�e*�̗�������!�jkD�q�z
���8���RY�=�u����
���!�1t,.��q6�	���
���&#g�}��,� k�S���lU�n�C��:_�l�EK��c��5�;�u�L�
�L��랃PL�B
�q���QX������|��{�a��j��*�n/�ݵ3�\ѯ���4[8��(���1�A
�t_�?�[�@�A�f��Y�����7���;
�}Ο-I�0�*�Z���"�><�QX�z�ê�Cf�]?�����&�X8H�&d�h���)y�x>8�������m��ۙP���Ԝ��=��Cy_��9�����&���24N#�P����jl�R
�	����#��H�D�l��q��=�Z�U7�F�����:
o;��G`�%�#�����J�U�md!n��o���^b|���9�^'R8_Qm,cT�'�!6�D�T�'$���n�G�5�PA�_�>.�/
�� �f��P������J�?/>1��؉f�B^��V_�)�
��~�J���?€�l�V!��
�5�|�K3��:���o���ƕ^�
Rr����N�A1�C_��u�\��V}#�9f$PկC���g�j��qtC�l��7�]+����yl�|6k)�vn�s��;�KG���5Y�������j
-��M}���i�%�PX�A����ߍ\'�Otjl3��A�!s0�|>�+��
'tS$�\3#�g2ծU�`��٠i�\�W�E�]I���_+J:J��˾
-A�Ƚ��#$��5,X���a3�
54V��bi�Z��J��Uz�?[�{�������Bx=@�Y.�Ú��Xo(Z�ޑ�@�S�#�Ad8	�&���U@�Ÿ���"nk��.a�ϙt�����#N7`���pd��~� �t��Ӯ���/E��YK@\Jv=�.�B��%W�o�(���&
Z�p�z�*
W��Z�k}�&���5��-C�N(UP���Ad�|����,q,�7�t5H1�~���q.Ĝ�G
�~��^͗�y�^��w�B�]o�U7�J3C
�X�N��Jk�9wb�E�m
���V�`k�J��Id�O�m8s�\>�Z�s�R�4DX�z
Cr\QF?X	ؕ��42:[\-ڕ
!`:ہ'�>i��p�:yS!�c������	F���VJG�X��1v��3L�xX!ţ���?��4!�qj�}̝u�R���+��b$���2�:����_�<�N���]�[�s�֤8Xh���c��D�z��>&���ɥ$+��Qk�K�K����fŠɐrU�[��֨�C�u*h����Ox��9d��9UQ-���5Y���1�=`X���n��Su�sP}�g���
-�[�j�'�=_����H�gbo
}�aQ�|%�K
��H	;[��?�)~><q��
�88�a:A����jT��,��,-0��S���%7’^��)}Sd�����`�8����&:�5��R�?g�"�����
-XV��
�̂
Sc��ɯ:���m�ߴLߦ,��טT�*�G��(��5,����̲�H
-A5��oȕI�,}C߀'�юd���
��c���R�z���գ{@S�����z���\ �3��Fo���-��2��
-����k�
���~h��j��LJԸ��=�L�PVR��MkCj�^tes|�|�ƃ� ��Z#d���5��C���9�A���

�e*�
��,!4dl�k������?�zF_E�+�!�9����~g0�%<Қ
������#̟�Q+� ��A
\E��v;P��"p/������j��A�2_
�YN��
�Xg���*}�����k��dz�M�r	.�#�K��m���ū~�=��#����D�	�t`����̲�Lg�?�V�@��0�J��,�����.
+�–�PS�0������-��b:j
!���jK: V/���S�Fr�Cpd�m2}iٮ'ޜG��f
\^/*k��qEgQm��.'^��Md���Q�.l��#=�di��7��dxB�̾��!z��p�� fe��ù�
1�o���x�!�ʱJ�l����VLa�)j
��Ľ���
�V;�`��&γҀ��QB 5�R�(K�礕�ڈZ�,��1�l����Ҋ�]�J�2c>����.tZ��ft���f at 4>��Տ��nA�X
-
���{��
S�G�5yT�����;��70�*��*
��$dž���Dؘi��=E���K�V�%����fg��,
��:�R�A��Y)���'�	���7h��Y۽��
�e�hWhydj_�����s��嬨�sEr�
�H|���sຐI�h�[U"h�t��FXp��R� �8PD
H
,�*Dqv,N�
��&�i	^pЀL���9eW�z���|�m����
�7���b��8
�b3���n�T಻>|7Kb�=�����'HxQt�W��W/F>�*q�aq<xHrh:����˺���5oQ�J�ԠB�����(I<P�D����>h�C%�����ğ�Hv }��$Nz�Bu�y%
#X�b��^��'��\�e�k�%.��Kx8��Մ:d��?8��4}y���/(�@8֮�?�ޗ�j�~l}Mc�la�V�7��p�C�t�~O$�c��Q���!Ev
X�KpYd\��e����1�"!0��X��F�̣Q;R��+a=�u
���rQ�M�t1@��Ly��Y�1�v���t����@��ǰ�Z�Q��Bn& �#a~���H�u-���
�ǻ=���kH�U3��9<f�m��U7�$MG�7*�Z8��ŷ���%j�"��A�\�%6k*���G��8f��Ҷ !,��~oF,���B5��d��C���Y��K0k���t��&]v��H��q`��N8��fx���е5��eۘz����B��
��(�
V�މ����5T�����R������|����'��}�{q”p�����V~���ّ��X�\E�f�zA�
�P�\�њ� �KC&�������X�Ɇ}2{w2�[v Iʺjh&�gT� �l>�L���*�V�sd��sl7�PZFf��28~�[#�Ș㯯�}*��6f�'jȺ_A��=[�w@Ŝu���[������?~�˘N�y<躹�=Ѕ\�j�=w���
-RI*5��
�8��(�(P
��S���Ƭԙ�1�
���q0pA��j|_"5kŮ�<r�l�ٟTY(���‰!�
��i�Q|��Kw�~�8��/�JZi�Ѿ�:�ŏQb�z
-~��mѣ��c��#Z�2���
-����T�r?�}��Gb�7�dN-�8� xq�;:�B�����;������u�R7�~��:����B܉�����&�nu/~,�Ds�
-���g�>gP�Cס�O�Wv�eX��^r�
Ζ�a�H
i]�$���[�,FH�t��N#d�XW�n�� �n_ޓ ���|=b߹�B�IA��c��
�E��|�ݩu�PS��s��{H�*!X�{�
8$�ɩ��P�\׊[;w�A{���1+ޡ��}����ܮ��BuO& N�`Фl1#ד
��k�5�?������-@|馸{B�y���B�����r���KS#��~���#`��UZ��(V�+���.���sĈ�ʆ~���	������u�N/C��j�� �-��0��zZ����a���2m!�LYx�z9�+J�R�^qH4�!��%��P�	u�a�g��6Q~`0 �"�7�{��¸�3t�j閏$�
�����۱�VlY���Okbڷj9~Ӷ}XK.MR�[�o�&�����A����
-����S;�D
��9UC �GAD���h{�F���6������Yi?r{�ٷ��>�H��a;���I�K�QX�x���S;	 n=���� �FE�6��CA<�>,�Kͪ⦪�Ǫ�
-�
MU�́J���_�fO}���
u��~�
+�Sbs�W.I��;�޺9j�P�琙���;{x
GH���\��`!B�Ks��$C=����`�����u@�� ��Q:���,&f1P�
�N���(����f
:��4�����p��!��r�ա�|����hI�^.I��h
���t������
-_��ìN���aI��qw��՚�i�܋Lyp�LBx�
v(^<��~�4xQ�ܥ
����	�U��T���e�Pe�ز�S/a�:vo�o�)`Y
����J{V���
,��&: �Ⱦ��G��Y�l�r�}K��/��O[�ĥ/D�"H8�6X�;�ʪ������=Pm]m�kJ�GL

<��������
-V��D?�w2�HJp뿱��V!�3
s�7]�v��s/�~��w����O��
-i����(����t7Jǃ��
f��X�֭n���+뜽�a��|Z$>e^r�6�u:��G��"b;��$V���ak|Q�zs@���=�;Ǻ��׊茊s�"n����v�e��+;��z�-��mh�̢M��%5	�з��,3O�.s���lL����:c^Ţ���m�aB����xӏB�G;SP�����
`tV�g��c� ��Y�-�D�6�%=���V�Pf��a�L}SPh$$���R�?�81���o���&3l�2[{O��{J��v�!;#<3٬���'�.S�0�N)_�p�|aa��=󭖑�"�f��U�J����'E��8n��԰����&�4�L`��#Ù�=�U,�V�������ަǘE&ۂ��^{:-��;©��,Z����,��.t�
�\�cTQ�|�	�g��
܋��q�oۏ"b�50ӈ���TC���
*���0�M���
(��
-endstream
-endobj
-13582 0 obj <<
-/Type /FontDescriptor
-/FontName /MUQVXJ+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/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/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 13581 0 R
->> endobj
-13583 0 obj <<
-/Length1 1642
-/Length2 14973
-/Length3 0
-/Length 15835     
-/Filter /FlateDecode
->>
-stream
-xڭ�eX\]�-
-�]�k�����]� �4�������=���	n������<�������Y�ƬQUsԪg.j
-5Mfq+�P�afga ��
,�\5�*`~%fe�H
bnxǸ���%]���Q�
 �� R at K ����� 	v�r��B t���L�e�g
���?�wOW��#����
hvr :B�)��
5�@ �����j��*� :Ym�,���^����=���:���`��� K����\Y޹�]� W'�%��
�i	t�b8]
@���� �+�����~0 �hi�f�O�vk�rr��px������WK��
UMJ��yBl�!��v�� ���N+���?%�
{�yG!� GW �	�'�`ru�7�z��N���Wn� G��ʀ	��1w�����Ӽs�s:�U'��������_�����
@W��5
2;�{LK�{l�#2�?�"�h
����n����;��_D�O�п'anv��X��YU���� ��3�Y��D���D��y������//�����ߩe���U�
���s�>h�
���gظ9 ��7 �����������w�������c��w�yW�������f��
�h��X������_vmG+��=��.���݉��aZ� K;����7t����k���Y�TT
�d�7��_���;������t��V����JB�	�a�xO����
�����������/
��Z+�C\@� C666v�����ke��h�
-�V���&��������l����.���{����W���@K���`���LH-~��O)þ
v��0��z����pw at F�&����0��I��V��#��]�?#=x���i��B?*��"�5�v^�?��&�h�Ǻ�>�sJ�<l:�~�k��=ÓN�s� ���R��|�uB��L��ہ� �][|tL�|pwK;0:<4�}	׻K̘�D- [...]
-����rw#
�<~|X���T��������!�'7|넓퍌1^��j}4��12~
��􃘚q0���T�o�8�7�!�O����󿍉�ɣ^�f��A{��
���"�$A���=5T�?dė�[A}��;g�,0���#9��W�����n��l���}���
-ɧ������WA`W�̉WG�C[4l�O�+�yL���.��A�u
B}ν� k���&g��r����-��������
����.��.�`{r��W�aCe�9���b�e�����n��DՐ�
җ
-��1��Ӕ-%/�\4��*�M}lfN�q���-�8w�~�c�ɵ�U,Q�KRI"���+
rJH�z��#y�F��ck~�	t�������1tw�Ұ0\��?�x�/�xFm35��&&	?�E���pd�����S:Ŭ���
g�3��7��1�Ҭ���oT_�

��B����`Oq�a�	��
�9�
sD`����+:�����F�珍�0�}J6!�kU���OB*}�v�B�W�G�FX;VÂ����L�&츌\B�ˬv;�"�_�jl9�()2i���ۜ�'k�3�������t`��k�A��e�IPE\:�n9��r���}R!�*I)g�߁ܔ��eJI-��V{�K�(~"8HN��ݱ˄.Ct4�]'��N=���N��dWpM-�6Q�2����=�hF���f�b�ϱ��LH����rs?ё��~O*L�1
	5�h���l���Oa�T���(j��`gU~�� ?ep�KY1#����&^�|%�����'M�h@�N1�H�;��掔1�P0
W`}��򃖢�!�W%�P�D��I�=�>ؔN��,uE.��9�K%��Y��2 [...]
-ٹ&����m�7����\���<�(}��ì����'zx��&t/�=� ��q��#R�s5���f�l��4�����Ub�K�l8�S�����C�U4XD�_��Zb�p ��i5HLĔZ�QXL���b��c;��]`�A"�Oh
!ED���@�y��ղĘ�U�c��+�[$�-�5+�j�e�	��7�l�y�,��r���2~Ubۺ�!��w���- at D����X���?Ǐg�[��?��D��o)MR�*�{�VX���#�>��Lr���V�\����(7/L��>�m~I�����V�UV�FG�D�����n�t�`C�ʼn��^|
����L�EcE�}(��V��r�S�"Ə1^����l 
���$`���j�)��j5��م�0of� 	�w�e�q�X��]��
�dŷ��y�&��	��t�q VZi�^�wN�D ?��h�e�<X��e��0��
-�����+�cc.���
֡��V
��n���g�����l����>�m��
�SQ���
�$6S��"8�Ab�5�.���l)��ս�g�.��8�k4�XDM��^ã�,l������D��.��#�/w̭���E� ���i*��8�oZ���:��I��i��;��0��:2�ra� 
;p}f�K�@�/Ռ�w#K����^7��J�<���

��
	
(�I��s�zt�C(��R+��-���_�.�zz�g�?Ý&�
-���[@7J?
i����d��Ү������ �L~�S"��_~Y�S�B\��l��g�uH�G�!v���s?(��w5�y
�Ŵ�"��E�l �䬰�t�!�H�g
&r�8����xN�|�
�#��z��mNj���_
^�{_MGH�L~<��1x�
nՐ1��
�$ZnZ�
�
��
-4io
�N��o�j~�Ռ8ذ�e�

蜺�<��C�S�މ%����5 ��ϻ�2���h7�;I�[+�v��	xI6�������a��"x�Qv�7'_��7�/��}�
-���INL���/�^E���@+p 
'�w� c�5B1���
�����짩D g"�A魢i})������9�ʡ�e��P�FԲ$!㫽�8O}
ֶ�=�uv�1?K�X�؆
6��*֧8{	�7�у8ؿ�����$r�i�GO�R��~'��� V�t�
����
Z1�T
���E�͇�����9-��|㒶��J��&����:���%����Gu;f�����.6�ɍ�v�y��Ӹ踠��������P��qx�v$�t�<�ؗ��Y<a��
Nru�
�N����J���}"u$�w���q<
h)B���Q�f�$��Y	`��$�1�[/y
1�0-����6�lP@�b
��vV�񭢮tR�&�B�c&)�B>O_�to����� �Nt����RM����R?/3f�պ{��,Ӝ��e

5*��@��ӛl}�;��ר����ӘR�t�ڨ ;3�HFb.f�m�
B�Y�x�������	�Ɯ��X����Ds+R0�C7
���$Z؊H| e8��ҷ*-=i�"�i [...]
��_Q�Q&��L��{�h��"���x5!��1��ү�~��rN�Xʎ�G���e��B¸�?\(�5
-c]<����1Z�='NݘU�Yu�

(��t4c��P�.dԉ����4^�q7������m|$N׊��Л��2|�!�6���mZ�GMVۖ��(�^�J*zh&�-��!�LA|���@��V�S��g�<���M��ZF�QrxɻϦ�I;;2
�(�������:�dl��n61T0:}����(U1
�����K���������a����h3��'
·
�.N��\��Yޒ�L��;�
������� ?���9���ٞ�����+��d�1!Oh��tfD�ͼ�_�b�%8R�ݞ+�xt)��ƾW��`{
�����:y�����+"�E��*�R����^�}*�.
- |W\2�-/K8@�ӕЕ
��仕�wX`z����d��#�Ҕ�B��A��[�
��B��_�+��h�S?c�,T�����L���s쉁��w��t��a�e�����k�R���UTQ��
5�����ᴯ�ro�
��'b�U
d���R�X
T��|�
-^�
�V��иi�Q�)�[������`��+E+�+oi����Wj��'7Sqw�/��Z
�b�v
�(.{��iN�Yqg
YC/!��8�Y~-��}��X`�u��c}���4�*�y�=
��_'ԑ$�9�
-�Y�������Mg#����>q�Ik�@��
J�j6 V�������	��v�u8n�;)�P��kN�M1�sQ���֭Ua��H��eU8��tl����M����F>�j`fG���w���ڌ[I?�#���px��je
�M���fjz1���t�J*cX�b���k�
;b�9�:�v��'����h�\[�OXp~?���Y~�}!pwx
M����c,D��:
-�@��j���~�j��|��u�������*M_`�Ξ����aj���\w��͸�$�=]�s��1t�񐖻�|��t���]۰��YG%��J�"�J���
�j]f$?~K����<�����"!S$�}5�nk����HX=NW�9LkC4���D���{�P�4��9?v��L�H��6�-.'��)!6<q�b���T�jl|{p�?C
-��
�͚|�!�5�j~�ָk��&�/|�A�3

��O�X=?.��鋀�/f�o,U�-)������3�of#<�e�B����4�;b�͎ެ�
p�hK�xog�
]��y�_���1a�`��m��-��$$bEJ
-;³��>��
��1��F�9l�ϟߐ% �`����ȝ�>:������Tֱ
�SJQ��]�Wƙ%�d�by
��W��PRfw�+�
^"6�������Z��b:ݽgϻd��
����2�
� ��}���^5S��/�?h]�U�\}�ΔO	��`xM��c[�7��P���d�Q������׽�$����w����2�M�����&�`��mK�e�OUW�dS�4d���n�s�� ׃6�f
�0�	�iSa���^ċ�D�Z��b=�
b�ie�����e�Zm�8��ħ���F�[3w�
�ih&�0Vw�8��ߢ]?�ס��5�_�&J��?M�:`Y�H�1�D�#N� ����P:|	q4�_*���f���&U���������g�nտc鰩�V��{�R��䄵�g,h����i�W��B�޳�ymp��qz)��W�	W�-\)�tQ|�����lq�\C�穠���4��+;,���U�pԅ/�$w��BK	�Į������>�]��1R��Pr��b,�-?�
�}���؇�<[�A���<��4��U�?
~L��wB#j9�҂-��
3��ٳIJ�܋��as�,�M�	�5�"D�������k�4�^�LR#�U���[�p*�2�>s䣒��r�,cg�=�H���j̛��߽����|x��!l��JI��U�u�g���ʂ*�!W�L>�?�?
z��s�x���B�9~8]���=	����_�{M /E�(�ʨ���Jr֌ʩ���3l����a��^/B��K������vq�E<�S�.t���	5� Z��&E��_3 [...]
-	#��;\ȳ �
�!|��9A${���cy�q�NC�Ȗ+rd��>9���%s���0\@�6۳�56��M�̒����8�i)C������x��$*2�@��o�@�
�-��46�
��Ѫ~�,����y.��Y�~�A2Z|��%~���1���6���:i��hg�F�G�x|�^�oP�B\��6�gê��l��}�R��]�,��e7�9��i*
�Ԏ{�m
-_1
ܗUc'9(i�q=�)�Ib�I���e_���	_~
Dl� �/ r%�̗������}i2ݻp
�L�^;�I]�2��<2�
��Ï��Γ��
ba��]e1�������()G����i�K?��"��ԅ�������������X��!kq�*e�n�������!&��

˲g���j�va�0�mM_��av����"�9�
%j���ߝ��0\	�pB�LC� ��g˞�/q6q�]М�O���@��uq;�d�V/&ͪ40�w�����PCC%
��؟��8�dc�S�2S���a?Y?�^.X3n0f�����`�6O���X�����_<>�wV�&��rb�_}df��	
iY&��1���)�Ȼ�{!=ɮ��o��P�j�8B�
,��n�,��Q�8�
�h���i�QdGw�M2gϯ�Hg#XiD�U^P=�g�(�
��R��"2�|� 6$��y�7�`��љ�$
����6/3ݪn{��de������I� �ľ]ّ
@؍��Uj߬1v��
]�1�kT�|��B�������})MM6aj��)d��8��M�Y�m�
���}��6����ᚑ��
�F�P0)��y��ٖѺ|?{*���|*��
�	B�!��^�R�p+ G��n��=�n	�
÷�.�#��y�37�����+
���{q7
�y���R�����^
-
�����~�z����%����8�O:	T���
��ݫ���2|0K/�S�ݳ��::%9�~�]��ЏѮ[�
�̕�le?R��
�8^��>� ��ͭ[���[�<Q%��m
�ur�3�o�
6��e��Zi"
�ѹ�fx��:��5��l=��귅���\[�l�i\��}�,��R���5��f#�Fqr7=D�9��\;-
���v���)���O�b��βk3���k���	�]8
-`Ɍ	z��W�LD���_UP
-��-�J �&Zz�im�
M��ꪶMRmSOG�/l�SS<� �~�'��
�u:�Ȋp����ڄ
I1��n0m����u$t�

�����C� y���q�\_*o
-��t�ZR�o�*���.Xֶ�
p1c
�_p�?��r��
�J�6O�&�3|�2Rw��
-	G�HBD�S����AkO�Q4�5J�a��U�:�e�Y/�s�]T�q-��ȥ�
-w��%�K=�z�*�&�
�
�r����M-d�
��
���
�)�\�9�J�Y�a4�~G"r�1�[ ��G!l�z��7��9��?`�N)w���
.GV
L�H簧���nB�G�Z������Y;������ ���!v:
�j��H-\f���Zv��y[�M���%�_��/g���
-��r	�b:;]�(��ڈ�����`�l�d)!z|�
>
-�g���R&��ϣ�aչ
q��Ro^��<�ց�KQ����y�6䱌�6r
���
=��j�,U���x����
<����F�L��
���c|әO�h�o�LJ�ȼXKg�"�I�%�X��lU�	UŒ2tJ\����@r����o(��X ơ��V���|�2IV���
�䢳Iݦn���ro�YI;Ua΄�^>�������xj�Ʀ՛"�
=
-��/�
�P ��b6�T�@�������'<7�+
-�dG|����LԤ_�U��e��.&,<
ro��5(&Kʯ6fbM��	j��	8P6��4�N,Y�'��jR���nz֦�GQ�C��
5TM[�lu���zyR�
A�{5��U��\
;^�	��g�E
��70)�kQH�
u����zR�%��j�n��g�T���9�z|�> ��
��c
9f�4���F��	�p�R?̷$�P��J�)�?��.���z�ԑ���߈�+
��R�#k�w!���gs�e��������/Ge꫓=
���$9�
�M (�T�ʌ^8ho=.L
[-"|MU� L��1�n�U�x���Ҙ?��>m�l��
�-����Qh/��?~�c 
-�w���Cd
f���^w
-7��5����3��mdF"��
�Ò&LM�۱\<��*�֧����L���]�t����*k��

GӦ~��1����H�pt�]pwN#B(����ߢ�d��oO�+Dqնc�
A�����ް��:��L�g	4���N�S����
-�'�P�'�T��QlD�(���ZPd��$��O: ��ف�ej��K*���'�BObu�)��QC)��x�ntW[{��);�Y&`���
n�Un�*�r
��?lhu�Ǧ�q��x�1>w��Z�T�b�b�7�?%���n�U�c�Qg�p��(���i�V
1
?�I��{=����3C0��\W#,5�)��Ԅ���ݘ)o�P��o� ��P
!�����I��3�r���$��]u�C��d�A� ��^�~��wFUU4���]���E�
-I������Qs�!X<MƺGxiʜ
o�x�Q�ͦg��
�۳�1½�R�Њя��N1D�s��%L���<�GV�_ʹ�<k���l>
-~s GgJ���@_`�
}�$5�6�6ږx��L�b���Vu1R�6���u�
;A�r�mNCb7;�C�8�yp���
 ��W����\�����3|q��$T?��)��`�g�<~�������f������A2ٴ�;�^�R��́N�ȷ��5Z�8�8"��1�R_"
�E>�}������LF����r�q<柅5�4FE���o���|�3�8�j�cr���ʪy���nR�fA��K�')� ���q|~F�-`CԠ\U�����
E
-T��ꓯ���x����v�3)gR&���XnB˕�|d��Ĉ�*o�
Y�
���$�tO�LY��:5���E�M�l1���ך�f�����ŷ���
���G]J_�E����i|`
H�!R
Q�?Q�O��ȇ}=��>��M�ŕA�	�iQ��!BJUx�T���"^�.�1U* ��_Z7C�]Gz�M��hp2�
�/�*I���g,*~R{Sd���&�����]I�7��pP�!����hFEwP"9ib+�&�� 
_�
�B�G
s���6�
F٦����Fw�ӽ4
�/���m3�a�����.�n�`,]s����7���n.en�W��qwb������7�
D�L��,�}�袀^B
��H�IM�Th��V��o�O�9ŧi'+�0�o�ꩅ����c�V���q�8
��M��|�o��*c{럂V���W�fm~��p�SLCw!��^HT��[�;����n�`s�ⵞ�ԥ���[
K��kZ$�}
Cm�h �LX��9mIr��}�R�?��,`դL���� �$�<����R��Ti}sn��&[�I7�2��T��\�k� 
�q�J֨
|NO/4�:�s�m��}F��sy��L���؉���o"��vp�=n���޸I"!�����&�r��$�j

�l����2 V 
-�_�lj
-���:�N�XP�#p�M���/�i �b熪/������
ͫ�>�Ƣ�9���
p(��̈�-Z�T�6�������+ZA9�H�}J�];
���c\���6�����5%
�
 ��
�y��Qͼ�%���Z�zK�7lm$`����#i��`��������y��
�NɊ�o��(��'H�>b{����-9���@����6[D���[�&`\Qr�Ħ0s�埮і��L
 )�>MWd�K�~�!�h6�T���tV��*�
Fڸ���U���o�+y
m>ߊ�u#k��$X��bn��
-Ҫ�J�1��-5�����ػݫ2���(�2L��A��.w;��{qX%(�MRr�lmS�Ě�R�=`��rH��W�!`cV��8�1�W0y��[�
z ���{ӣ��
�G�i�	l�'=g����\`�-�٧�f���J��s\���� �l�Ή���Y��)�f��شc0̆�>�d�ùa��m��Z����ĭv/�_"I1�$�`Td�h��Iiy�G�|E��qɬ�p��1�8�
j��������rfv�š6� E̛(W`�7��4`�w�f���D^�͙O�88
����F�$�[����F�V�ߡ�j�r�P�$�I�$��-j��Rx��,��a�'|Q�'��c述xKu�:��b�E����6g�#�H�f��We�*H}�գ�*�R�_Se���C��)�^�jIK4.b�mO�>Ֆq�[��������E���.3�\�9���Y�z�!�U��c��v�חf�m=�H�t��Sm���l(����\6"��S
-f��|������aW0�E𲇪L�|dX�� v	���
�#D�p8��Ų�Ͷ}���fMW�k�_�NXҳB7��8Ϻ��
-�B�4�T�9]�utf����!��d#x��#Uq��!lx"D�X�Ʊ�E%C���uvN.p�u�O���+MR������T
O��?%=1w��x.>!ŋδ];b���
����]$zr
�	?$���V��?lF��m��w��L0�뾼��4�!�Y��}��JՌ"��l.7�!�B�	|.����
-����`���i?�j������K�#?����`X̀�;��ZZ3y�%43r��n�f�)�.8�}�`���

�^�p��Ñ�î�L<���K1˦�͝��~�|^��@^��*c�̼1��qx#�5�^�N�zG�I
#g����1���5����
˔V�]�o�kr�I��͋�?qR01�|t	馼��lmA2��
v��%��CM>"���*���Es��`�g�6�H�2u�=iB%C��!K�S�%�J��5{k�%���5� 
e�ٷ��v��%Qf$*�_[�'�{��G�˻�\$��BD��V�8��%��LW�CoMb�2b���
����a,��� 6�H
��l�.�0�8l��k�
�dr`,�&��DU4��}m�s�4�n�
C	����J봣]����Uii�d�{�)&�F8Xl����~�{�&��(�ߝjX��v��qa{�uؽ�
d
-F�V��g#������R���7�
N��7^،�~<ތ���*�� E-�ݐ�D�������2��W�c?�, �d�S��d[e+ֶ����߿�=��R�M�m�avW�.)���)0qr�W�:%��%/oz9��X�Yw�-�-�)
�
�P��a�6z�ߝg�<ٻb[3J'f2� M�Ц[����7u3�E��
΃�.cD���a
�Y��~Q5��Co6�

!�*�%��c*_�l^H�u�KRk�'��8�g?}�ZѰ
)�+�x�z�n�8{a�P�lm%{�.ԿU\ګ�ͅ2�
0�O)�
-�����ԇzha>��^�+�-z�"
��؏�`�(RXD3��/�.�3A�"��dp�t��x!x�\�=
-D�h�n���ʉ7���oS,�M�����2TC�J����2���
q�A�<CfR�X��Z����5_���ܡ���&-���n&
-™�@D��s�:�u�3�h���)�
"׍i4مK,���Q�S��,M@;��&�Ρ��|��}����=&]�(�M�Ո!��k�%�jg�9fa�	��a�'#��e�+n�
��_����J�����w���0���6��3g�UZTXM�ś����"��w�X�L�֏|�h��[o�5U�#sM�z�h������F<
mwi���I�Ї�6Va��q���C
-H_}iN�Q
XB�A�d�`�Ě=q���l?RD8�
�)�n2��˻
�;�}��4����tJ�5���N�I��?~aX
�!ܒz�E4
��.RfF
��sBb����`v�h���V7X ���Bkw�*
�����hd�DQ b��0
$ѥV���bވ�
-ς�D�'YwV�Y�hf�E�
�^��.δ����Է�����I_�D>�xF��t2��4
����@�~1LQC){?���W��@�1Z" <�j(Ê��ý�����c"'����Y�[g>~�a8���^E5���	�20���ɻ�Ng����H��dQ{Ұ-I�e���LF�E�z��ϣ(��nn�$��k
�u���}�<_���=�;h
)R1�>_�ϩ��uQK�-����֖�Jq����0?ÊJ�V��#�
CR�K��&�
�

HG|{��	ُ��`
l$W��v�SȲ���*|�I� c�Gu�X(��(�x��ɇL���
��9ۗ�>r;�絰�M�E��UÎy��z�P�\�}r�qQ���;}LT��MN!ţ��s��k�p�qwd�k��)(��cwu4Ȑ�h���D�D80��;Y�|�.{n�l)���x3��G
�r�g�n���Ӽ��BI��
'e�#R�ih�DY1��1Bc��^D}Nad�Up�M
�*����أ������j*/��$H�NA�+SWLaEӈ`��D���&��Hd�
�!�������z��w1a�h��x"�
��x}\n�č��&x�	�ɀ
*��$�KQ�I
�:��ܷE���Z+R;}
Z�
-S��
�OSNj+��
�
����ñL�p���>�sWf0�!$���{�$�R�Rll¦��b\�͓�e�z�7�'�
HE�?+���@¿��։��q��\~
��^'�
-�=��JZ�un�ܹNz?�>�L�*t(���`P��GY'I���;��i)�a�[z�{���UYϜ�dV[|��%�
��I�S�Fd�po������*
X�Y�Z�Q����*��X��GD0IQ�Y��������$=mw�"9p-Q5��H2�l$~{�c16��!���seQ�{��� �w݋d�
�M��ʎ�Nh��
�@o
#�
��@��#�.
�E���
�YCiΎ�/D�
��]j�p�2�s��v�ql�RgI���S��!3%�
���O-��z
����_��I�)����B3�^�'1����OV:j~�ێ�dCoI��S�

i�FJ�yr1��%
-���KǶ9� 	�6��\�=+��Q5
���P/�ި�,H�1
�`wd�\/�|M�hP�4FQ5�Dɇa��Ie�k�I�aT�����
� �R��/���c�y!�6s��p��������
���e{_� 'Țh�I*��1݉����_�6:T߽+*ڏ�#�PĠ+�
s���(�8!U<�}���uA�dڌfN"��Ϙ��l_���S{nG��${c���gK�w���ԑ0sx�k��p���p$�W��0�1�L�
Fr�֮<��X88y+};
L��N܆�
�[S�7�\�=�ՁM�
���#�����h������-���6I
Z�q�����-�����E�w���P�f>j�c�T��U�e�U;�Bm��44� ������0˥;�
�0ŐiR`�q�1eeq��]RgS�T/P+��f���=>W<zl�L�ɀ����9��
�ate��}�oO�[_��� �^����b&&����_W�3�bt��fחv_�es&3�T
�<|S�J91#�\i��L��p;7*.1��φ�B���#�
�៣W�xB&�0%
u��=ַ��6#���p-!	|I���m�v�}
-h�t�ؓ��p
�ʕ9؜��3��	���΋�^���A�g0ɮfӛ����ّ��f;�DS��
F�@/�
��/�X,�a/�[�<��T\
-6�&?�Y���F/�"����˾�r,�'<�śT�"j�����d��V_���6�9�4���0+�BRКU�=;<=A�x��s���
�`�7
�oŔ�_"J-1�y>`l
��8Us�Y3����j��8>P2=�?�'����~��3����IW�m�Ue�+HA��c�9XHL7���
-_��}Ts�-~8]�J����4��Œ��۴U�:=�U����=u2�ԏ�7�;�ڗ�K
�l��e�:
��>��qG�7��״��'��1�Z%�%�Q�w
jIOɝSp�1e��C��6��O�֛馁/��e�;�8�K��8[��z	*Ȱז��5J
:�?��suY=z�nĉ�>b�,
��P�F�>-��siш�n=C�~

�h&���}���W�ܮ�]��Ţ�uI��MgEo�����;����#���~햻T��]��	��w!�?�ݍ�<�������p���|�*al�%�a��F�&�q�‘��k����>H;č�
�ۖ�e�P�
�PL�Y�c���6�J�h>M���^��Ŭ�X�6�	ƹ�'R�<7�H���E�kk�a/�>�_�Ț��X�G��__E���v@
��ƒ���J���y<SGI���q� �-z
�\$K=������8��ʘ����U0�� ��5���_("���u��p��w��k(�SoX!�EIoD��x�BHX�H�������/�V6BnM7��c���<z�d-��x��ԗ��'V���+L��Sa��&VS�<��M�E��~�%��I�a�ި�
-n��u�M0���:]mq��D�6�x�+��T;�K#�6㬐�d�6k��񎞪"��j�*�K�E-^xbN^��2=Y)2��6�#k����
�~֌�y�ZX��ig	>� ~��!�*k)������1��7�omO�_|~��KEvj�8uj�	\��z��
nv�.�����/�
��
Fm���/fl˴�g��������B�N	��9�����j�����;]SU����
-��4�
��5�ȱT``-��lHN�
�A�g*�u���8��޳/�M�k�'�u��SU���Z=V�`� ��M���&�hBե|W����1���u!#K�j��Hz��u�Iދ�e�ߓ���N�P�{���Mw�{|I
��+��m[��"��
����
ޛJg�X���Y��\VG��{-2��c�����J
��
-y|ڏ��<��(��a�
���ˤݥ�B/'QPZvş�
ضv���4��W�� Pc
��g��?.(��n
��8�H���Cm��1 ���7�XyvP]Mܦs�+��Ÿ4�
4�i�s�YC�
�"9��M;��ENY�{�ԑv�S�.R
-&`Cj��gt��I�}#&/��\�'
uZz�����.?��a���]��`F�̔�PC�=r�
Kf��ϲ�|����$0Y+C��Qwғq��=��;ыX��i@����
-���8��^�&-��I~P���A���t>�����e�wb��x�U��*��o� �2�l��rXb�2�:���sޱ�ʴ
S�:EyZ�wS�r<���e{v�(v���:.�

-K1/B
-�
�@��hљ�6�IL`
��Uk%����	�{���;Vc~��/��<�+�|�s���d_����3R����O$CF,�Ώ�}I�)!�A
��J�^/z׀��|7jí6d���d̸�� m;����5��Y'��H��|����(�⾾�)^>^̱�1�8��I)��{��<�6|�)��וӝ�Mn�Y����.ת!�O_�h��=5�e	��R>�͠؈���@������
0��U���>�˺g	�����4��$���Bv|O����,�Ԑ�' ��j���NA

-endstream
-endobj
-13584 0 obj <<
-/Type /FontDescriptor
-/FontName /LNNZHF+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/d/e/eight/f/fi/four/g/h/i/j/k/l/m/n/o/one/p/q/r/s/six/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 13583 0 R
->> endobj
-13585 0 obj <<
-/Length1 1630
-/Length2 21312
-/Length3 0
-/Length 22155     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctf]�&
�v�Tl۶��m۶��m۶mV�������ӧ����t�{��&��k�9�"%RP�4�34��u�e�c��Y��8)����q��*��� ��YaHI�
M
�-�lE
�M� �&� # ����� lg��haf�
�PUR�����O�?& C�����t�0���}q5����1�u�
��lbp67�ZX� ��4%���r� q[Gk������@�����Ʉ`j����`dgkl�OiNt��  '{#��n&�F&���h �&�6NN�N 3G[�=p�X�Y����_��ݿ�w��ka�W�L����������7���ؿ�t67p�'���_5�������?%�K�������	�l���O,C������������
-��������f@p413p4�6qr�
�����g����z{{k�y�����`��dbmJ���7�����f�0��̊���
����rc��й�8��A��
��$
��l�=  [...]
-�Q�8:�%�_
�o��q��ܛ�������q[�ge8�a�L��
�c
	�/mT)*���K�����
�k���j�X>��<��:
�ð&�M5����!��/@�&�d�>��-�ϸP����$�
��Ơv�?���[��?�����ҟص����
��(�!�
�	�����,����|h|td�����:'��� �7�(��C����
�͕ݩj9�U�9I���}Ņ��1v�1㊙��[��A`�0N��:,6��(���pBxVEJ��kE�b�m㲁�+�*k�3��wSԊx:q�������R�Vh���R���Z�,;K=?�(B�@��xE�@q�n��oP�J�`��
�^
P���n�<
���T�O�oJ�,��<8 ��MBӖU
#����ͱ�ȵn�ׇ��o�a��6M�\ђ�����)���?�{�EY���gO��K��<G4%z��ʤ��b��|YR�.>�
k���h~F�j�U�fw�f�F�
$s�g���`
����N���GZ!,�סH�?�ћ1X�I�h at 7 �;���~�6��G�ڀ�����|LoA
-�����$W�m��G���B{��f-���V�v,��5{� cj�k�7f�oͺBdo�ƛZ��૧���L�u+6Kᖻ纺�X�<�d+NڙȐ�GsK{S�V�Wj
�I4���f�A�	-�
q�wRCzru�Gc|,P`R �p>h � �
^��T�@�d� 6V��
�9P� 1Γ��k��zJ��ͫ~9�f�evҳu��`ُ��4�뷤��T,2 at b��_�����
���9�	Ѿ�m;�
vwP����$�N)���ٗ�+��A�QAk;��iwf�H�����fv�gGr h[䓹N��|�*��d��1J�Gl at O8Q9(��z�̗�v���R_�G:�
 �❏Rq���=2Ċ�rOG��*,��*�ݢl;��ʤj&UFv6��O���77�f�i`J�>'ft�ͭs��LP��K<�9l��(�:VjV�t�uv�,�a��HQ!�^.f8��S��l�����i�+3��|�2ȣWOG����W^[v�22��rS at W"���/t��G3aB���� [...]
���K�ٌ@��W��D�ŭx�&�d�ΈC�|�4MQ��r*O�n���^���2��-3�߹H<^S%�LX!� t�J�B��Z��3��_.��|
��>4Jk�=���K �\7wbU�E}��m�M�|pyR���)>.g�����`q+�j�
������0w_? �/u[�����r6�
�Q�8,|�	Q���^� ūTaG�!^���Y?�7�RE^��
Bck�伙`t{���L�rmҒ
&�WcG��j�{Dui�Z�Q��ٕ
G�3�
�Z:e�'BH�`3�Z(U��X�	{/\���ְ��._D�g$�y at 6�*��?��Z����B&i�k�s‘�V�D��W���6����_�G�`h��V�mѩχ�s������ U*�JB�O:?�^ w�a
�
��UΏ���YЭ�ĴNP|
��k�� �K@�0ꍠ)1
z,+����.�d�j$PS�����qҦn,uik)�
SZ����V
Q]Yّ=H-h�?�R;��q�
-a�X�?pn�X�h�Y=���
-��,t|Q���Ѵr��Ҿ�A��N�
-Ч	|���G� �-���D��?6��
=�)��
r&F(�F�큊jڋ��\�#>�ʺu�����K�Rz���;�D�����; ���|)�9����8�c>:C�m�]��l��>S�Q�̑i���~�<5H�zs�(:��џ�ʫ�q�zYp���'��^�;�-(}�
Ӗ�-P�$h8�)��½�AĚ
y��!C�E�� T��|�R�HVN�@���禑^ei���˥�_�ǟ�ҟ����I�d�pSy(��������Z@��(�I��ǭ�u
- �[��B��_9ܴ5G
�"
�0%<d&�&R�U��msq/�<.b����&k�O�t������j7A�
��o�S

&����u�%*�F�x�����̍�Y��n�pB(�<�
-*�[��x���v/}�Ͼ(�hԽL�J��@W#���K�ȯwuNR�^_��@&@/y��T.�S$:si6,�#���
-i!P� ���I{0��#�.���iK��J��
���_ %�8����-��bfI��1@��欲�O�T���3Ӥ����n�E#���*C����E�kN�D�
��>@;���9X��arX`�k�Y#���Fu�&��W��I at 8�, d�����K�e�|����Bq8�Y��[+�r����ߜ@��
t�j��B1�
#�F��N�+��a��x������Nh/ۥ3�Xk�d��T_��f�/v
�q
s
��4�MR�����j�
>�@�b�H)�;4����$l#���
-�=��w2��P7`Dt��&�4�";W
�.����ô=Tު#��ʥ�Ãq�2������σ�n�o�@�~��E�2�����������IGl�Ȯ�Ѓ�}Fl�XL�Yϩ��K�[#�y>�O
���l�!���x�^S
�������}j<�:4���
-�7�Φ":�fA�M�׬SE����G��i��ߚ�
�/�x�%"�_GvVE���'���7vڈ�
�n�N�v�����Kv%eЯch0Ğ��1�~[��=��vh�C
�R�r��y6�nF�(���~"��$�AY ߸"�ʸ JZ�j�Q��8Þ؉14�Z
`�:��ܱ�4���V�f�A�i�̣��ח�?�-l|��;
‚�>��&q�E����^%�
r��E(�Q�+{���Ω�[��u�$���ȶ H��W�z�����`�Y�$�l2�os�_��H#j��:��x�	����o1�G��L�9k{y��U�<4�����

z
�*�(U�$Ac�!?�g�­L�J�g�gxS^�p�An������<��������
|B���ANȷ��2�U[�\�
�L<���Wƽc�?9�x6&iAa���,P
@�A��_q��������5=Zj���V�X�(ũ&�57,
����ꛇ�E
�a�'�s������-C�_��.������'�
��Z\#����f^������y��৻���ͨ���F~c
�HO���CB�ź!�+��EX�o�Y���?=V�͍�a
���F4�
H�X!�s9�ɇm�2��,,����)ߑe
y
�j��
ㄣj�ƺ�_�)��O#���
K$![.ܞ�-���С�g�i��f�R\��e�#U�-n��ND2���F��5��Ɛ�gLDVt�I+Y�q��\
-݁�n��	�3?ywu�\����(/C�g�
3�<���!� � �$�z�r�� Xz�Gu�Ya;���p`/�!��"�w����\^�����Bj$`�=����?��
-��c�c��\�	��H.�ؗ�������7�<
�����
�ē��}�K(&���9��}��E�
�m$��

{>�Y����w��ld�oLO+0�����=fD��"'m:�s�_u�P~9C�@@������џx�xZ>"Q%Bϊ�y����A�
-gi�s�=ѯ��d�5b
-,�F
SF�*�z:\��Px0�q�A�TD�D��

6�JZ�Z�-��x
Fc�¦�x� ��߿
�F ��*�>uKk-�{]�<�c�B���-{*�ґuM��
�ЊMu
�%kY�H4���kFb>H`k`�*�o9t��w�<n�JDU��*#��)7�.������^�q��Z�ze�q�W��g�
&�\Er҆�ձ���q�"�p�����o�t���^{�:�&祉$�f�X	��6J
�I��a��9���9
�G�K�Vxɭ���7�Ep	T
(W�n$���k��]͒��b����S��>�Q�	!��x�12_��mt'�A�
-0�6e�'��&�ߗ�Dj������(%�� BA�O<���fC�l�9�rՁ�2��~{�ud%0�m5��{?����$d��TR
���J^�<��~��$�M �M��>k_YW��2����zu!
��d�
����2J�����X�,
��4�r-$�Ǥ�<f�B)�e]N���@e��?���1�VULc��s��z��rx�o��Φ<8��	�r(��+\,V��?Ǐ	����Θy��I�P$	�Aa�	�x��DG��$�!6�P�����c�)�o���~�Ljs�R��I�����]A�.��`��gd"�|����Q�P�'رA�� '��
��
\�.U+�����c[�1O�����A�"iA8&
&%���
-�7�+�$��	kcl�2�EW	�%�1m�y�N�4�r_����
D

U�@���� q��'��Պ��h��[֒R�`��9�y��1S[�{w��m�B6�V�D�$���n6& ەB�����*�a��G0���z1����o։��U0"�6�8&�ͩ�7q�G�>C_�>Mf�bp�XI���خF��B�O>�[���o��H���T���~�Ck��f;)
��/�T�2�d"�����S-�9r2�Z%�
�$�Fg�
-X�E��&B�ծL�hwhD�
�ao_`2�~������8�+���r9���y�Xe|[{�@1T@�Ȱp�n�F6�5٨����p��`�x��vg�p�gB�3��cV��W�S�A� �Eh�`��p"��4��
}���u��s:���i�aۼ�W5Υ�� �J����iЌuދ�&����
-�Zc�Ag��eT��XhQ*��
�r�{GeK��$�.j�r#������,si�D��r
��]P����a|�	G
Ľ��;�lw��M
oz�΂�ɪ2�� ����Dɍ�g����jfT�
)�}KW�,��
$ҧA��
�$tf���ېo���'4�ii"��=o��3�}��>kK�q����G)Ԏ׉#n�>ҏʴ� 4+�7�(�ٽx��A2 ���I
�/�~Һ�H�U�u~���މd�"��-��/|<ZV
-��;�� z
-�s�������LCGS,�ͣ|��Ɲ�����!$8�a�k ���Z�6��!��b�"��m���G}���S��
-�
OI���d��	���.�9�~���0ܔ��y[S[�Ր�,+�L��.=���T�\�oYN=\������e
P�ک�*Th�
g�}�� Nl�T9�M8�F4�E ���2�8 �DH/O�]
��Q���A�Ϋޝ܄Խ��0�%[�
����8�0�m ��0�
���-���
�Mז�z9ZQM�t�]�,0�T]rRo��.���k�s�R��������h��{g����'�YC�� �ߢ{w
���W�?�M�'AQU�g0��<8n��6��DB���~vmw��|\`�	F�9?J8���C

*�'9K�Ɂ��
7xX��+ϐG���@_l9��
-
!�$�;Y�
F��P*%N]����J���
-����L,	k���j���K�"A�0����t�>K���ӧw�{�94b�g#;����"
nD?X*_�b+|D��'b�;2u�BK��Vga㔒`-�O.n[G��>v�U�J�Բ
6��c�L�����$0���q`���]�f
Ҽ?<F)'�О��ht�30lԖb4G*���@��?�z�T����u}�iy�eJ�^�5�%��kS������Y�`S����Tx��pz���ʫ0�SGB�B�ȀMYYe'?3㜪"��"mq��k�;[��H�
c�b�
r�s�����kd#s����G(��{��I��E��2��
�f;0
���O�R2Rx��K=}���B�0RW�Y�C�0;�
#���I�/��L
��
-/�$�ȋ8�.2ТYnf�v�Z
-��ő��\�,)��E�@
Ɂ]ᕠN
�����{6�)��Mx�B��{�:gDSH���ޥ�\���Ep}7�)����H{0��:
�@��<��� ��r���R7`P�Ώ�����s
Q��)V�ۙ��ku$��&����?��vGE����W��B{נ��T���<f�����e'���M.��dM��
��dy/�4Ϙ_��+	z��୬?�H��Y'��_�&�q�" >������q�H,�	�U��I�M��al��*�VJ(������V7��)rn㷓�X���kg�ZsM�`q�
�)e�I|��,�J��
�>C^=�4k���9��ϗ��QU�=Ys��E���K��?�C���6�/[
�;�c���+U1��}
��楀4��z��D=Lf	�����ٷ�� �ϛBK�o|��X"����
��!wr�
-gnB��
-�މRZ�9��
�pj��@OW����ܞ�E�hq�10*\	�S�U�b���ʳ�+�8��-��i���Յ�
��1,�5�������u�����`
ߊ��;����ϩ�IH�1���-���w�9�����
�aH�c��� �H����Q<x5�}��i}~iG��G��P�X�ڣk͓mh�Ck&�ݎL��"�UZ�`!^�`.���'TKp�9�EGkq��A� ��Q�/�2�$�(�×\;�-7�
-{}o߻0<`,����'�"��ق��'*zw�.4_�Z�Mj�=3�|>�k4E&}7�)��k>@�˜Nw����H���b/*H���z'�hŐ3���b���t
�l��tר�s�
�Y��B��c�G_����
�l�
�D]!A]:��� $E��}!2�3��
�|�V�!�<7���*��WN'�Zwd
-�JFG����3-R\ėf��i�;
d%E���a�����zX`�&�9�J��ׯSxVJ��
Ms#�u`�z!X��Shޮz��GQ2�O2��C��ȩ����q9
�XW����}
{b��
$*� 3�3ֆtKŢ�6���~�x�
ԥ�f���jyv�?��|,��Q�q���
,Q�t
W"pz��ն0%"�(GXwl�PY#�+�kII�������
+����D�
@�r}h?�(��tvl�3Җ�6:!-��
���M�/���[����*��tObb�F��g����m0R��`�'�Qg@�T,h��L�=afz]s��Ǒ��'��(abuīԱ�G�

�$�B{��cѹ�p�^���
�^����� a�CX�y��ҏ	�@�*�G����q�ǠS�3a0SP4�I

-$���r�%T��_>rm��@�	
q�[������;u�@Yg谤+e��ۄ�� pB~h��6)�	��xT��)�CB%Î�9�w��)�a �Z�m u�eB,�s'�j��
���̬a�e �Y�K۫򮯊��Y������h�_��F�A�tn��.ؙO�GN�)�h��y>��W�O����<,�sP`��"-O�
-�wx�iC�� f����$���`�"
$�SK0�2Ƙlf�L��V
-9��G�ҙ`�
��ڛZ�/
�`��k�BRy7��m$�{���H:��ڹ�������~w���%�.��]lTp^���i���$
<��nJt<�u�:��i|\���d`&��M~�����9��/:��a�Y�ob���nj;��)�L'����\$����2�xl���
-��+��c0��*���/�ח�a�e�
��b�g�s�Cӑ�y�^2:U�Dnݒ@&59��[�9a���"�,�n �����G�s�E�K�)I� �%V�z媫�Θ��Z_0
4-q��u
-V��"��Xƅb��0���\�gٮ�y̴{�
-��[�u�22�F��I�
W�yb=�(��AL���<�~�Hs������+Î��.؂T�М����ΐ|hh�M߆�
	Sp('�f�8�p���p��9'�՜���:�0��Դ8 ���>��2��Jւe�D�
��5�6
-nw�w��@b�ei�
$����pR1�[R
���)1�p[
١�NO:kNg��7q��Yh�,_��HMN*�n^��i;ڃȹ�t9���x�F=S�5�iZ�?lK�V)Va 
��i��eB@�V3���
q���,�:/O�;Z�D����B����W�d1<��B�H�qE;�N�(lA��L�@6?�Q\kl	���4"�
�q�� �	۞3
-�߄�4��)]��?FDDi�I7/g�X�� sP>]
��o�S�-6�T�'��u���_���
t�����?7�C^ &��[3� z�Vn��$?��"7�����(]o� ��͆�!p���V^�~�4i����1h���-�{�$�"ye���E��!
-C�$o9ix�K���d�oc�
esN�G�H[Z�ln�A�f�~��oP΋�vs��^��M�[�ԣ�!ӭ��<:\�"��X�J���2�|��jT�i����g�<bT���6� ܯ:""]���L�\�~e�n�7���<[8 at n�$��|����,��tt#Q
-L�5�$��A��~���Y��?c}tw���ʲ�vw$��_
\�`��T��M��T�K�#�Xa�X��M�TK�V���� �W}���C�(
-o�{���*̌p:�Ln����&���X��m�MҰ<��B2�IdE����Q4���tu�[0a���p`�هҤ�@~�f	b�s.
-�"<*s0'X�&*W6�o���y5�{j8����SɎ��t�0E���sʨ�6F ����MY���՗"%S�)�g8�)~����³� �E��O>�q^���a���P��Ϲ��F��z�}t�
,"Jy��ۡ}❲٥�(�����)��l�k��Z�Qv0X-K�8�N?
��$�+:6y��&���O�wMi�e�}RE�R��$>}>�Pf|h��3�����Z�fח��k�a�u����
�<$�x��lI5Y����7�@�*'���N�2�@����x�-�{*m������'�*?T�
�d�t���������s����$�4&~,
ʨ�
e����m7٨�a j6#��@1��k�Ï�w���[L���9«�OL�z�Ǻ\
��e�9�k�t_We0U�
-�m$��Z/��:��k��P�����YS	~h��fk�=P�a&էNee9<u�+��~���,4{&����=-< ^ ���'��
-vpz�}��ˡZ��(X���{^C�e
#+�k�7�1�
�3@�L�Ō�Qb��,(
<n�����;'}� ������GX���D�Ōj�[��S�!l����Œ]�ʷqt�=��"Aʖ5������.%_�`�����!���'f�x����jB�82�
U��q��)̺�dE'�@�O�K����ޭUw4�lᦾ�.�-emЯ��Loჵf�u���N~�E^+�7\Ż̶�>|{�]}�
х�<�F]nt0�4
-c?��]�Cs5W��vP��9�m�
��O���d�z҆�3~�	`�kƞ%�=m��1� ʳ��5Y���
�u��r�.�
�	bO�/ �ӎQ����(�E�Z�^괒�(֊�T�8y���_)D<q�
-���^
-��OC�
�K�ə��4��eP�����f�\�be�Nl��T�
~���(�3C�E��#��:���W��iRf^uԫQ��>�ˏ�-�S
|*�7�,�աI>LoͱB�F��7���=d��E@���!]cc��p�r��1OߛB�qD対���6��3a��%l��v�e���O�Ve�Z����^��@��:g�޸N���Q�Ճ�_�z]~�
��xMD1��
z�D���ĽZ����ʹأ_`�3�Az�l�����	u�y��
{�ο~�W�(҇��3��2"ۈ�Y�1
1�:Q��Jpi�M��YU��~ �� z��UQ�}��ģ�""�*��<s3�T}�=�
'��.�\&w� �}@��N�O�Cd�Y� D�H�T,�T�~gR���ˌ��gw�/I��_�X[ַ��r�8�.β̫UԄ6QHs�0SYƟ�����M���y�~Fxk�u����I�`�'���LD)����NZg�~q�rVEm�?<�kd�J�Q`R2��7Oݣ
-�#��c!�������D�X��u�2?�G�v������O�jk��oFU���w�ANr��ќbȚ��b@|f�.V�g�.�f.(�P�1�d���D?
C'�*���zA�Q���߉��UA|[�a���$��H0�Hq*�x��T����P6�4����lu�"�r
#_7�Xf�]]�[�OL�H�k*�>
-��ߛ�e+*��
c���X*\���
vE���(#�F�v}?��|�Kћd<!���}�E0�����/P�
``�J����'�N諷V�'�-l�?H˳(��*�&��85�0j�(Rw�+&���TB`���FkƥM׽��6)B(��h'U����-[��j[�:x���UO���~�D��_#�Ⱥ�Z��Uj�d�Gt *��y��WS��YJ�}�=Vb�}$��z,u'	�
��G���+���W��us�"]$%೎^���uX�r/��»ؿ�{�ԭܸn�P��pU��+'�ZZ��Z�jTqf���=pc֥mqUw�@!PzI��`��t��4�
�1r�x��:�jD,�+a�C�,��T䜈��� ���x�� [���p0��͆�L�N�/�;�D�c{�>q���㸖��� ʽ��Z��W����W
Ά`�A�)FV�
s���S�LX�-�8�2݄h��"����NZS횕� 
A(K6��.-~����"k�������< ̯CO��0@@�L��s [...]
-�� ����L�5�\��<;u� TԃA�;�
˲���rf+O	��V�:[��ъC\�~�G�1՛�e�J�D�85�/��p�HkaK���p�4�JeZl,0�rxk����$=$�N���Lm��cy^Z24�z���]^����B�>�Za4����]�4m
.���.��%�]���^(�w�U[.���~����>�1<�1��0n�q��8`��:�n���i�����?�
��օI�����:M��ׇA�-ѭ�
��2
a����c�:�Y0���9���(U�J�J�Ɉ�z1��M��BrE�?#��z`�JU����d�:��m��VRo"A*
>��$[_��OK�|5?��Ι#��_
V=���^�h����÷�h]�� �J0�}��L>3K�x ���(
��21�<|��K6Ϩ|ћ�}�4����Z��!��z[���"F���Q��!Z�8��^�,��x�_��B�m������G2�Y�c%a��.矇Iw��c�v�A���	��3���Z�)b6^
�2�]�Ϣᮃe�åv��U���8�fz���?LZVl,�7
I�,����=���'"]C<5

D���挎/H�g�&Z�:7w_���2��8�=�X���=>ֶ.DU=�}���WIs|�N���Q�cq{%�ĕ�F���Vdw�rS���	*���M5&�I��{��u�~!���%&�d��.�
�����~i�V X
���K��F�\Dm�"QC W
hYe2���u|I ��s�t� �t��N;;0��

-��P�j(,���e��x��_Fw�	�=0�f �
h��?y�@73�đ�x�C�_�
��`�\�:E6�������w�Rw���A��8l��g�N*�kU���!�
-_��x\����.�'��.��n6Oi�zag6܎v.5[�ǒ[�Q:X���_|�m��	�4��S�Pݠ�6�WV�����7T���φ�����'X�z9�O=N���|��iyug���<���A�t%Z+/[B:A3ß���R]��%9�!#>�W�Haڵ��̟\�r�0K
-ό^�O�ć�?MD�L�����[H<�ԫf��2���0�z�L[t�'<T\��2�#���3J[/\tݯ���6'�nh��d�
�N��r[x�(�EF�
�����
���P ��My��bR�
������^�p�o y	1��"
-e�N<�(k^0��ڜ[uq����	��pzN.�Fw"<e��e!l�q{8EFz��2*��9*��=]vT@��ݚ��z��Y��1&8�v��A4S����=h�/#������ǘg.G�8o$p�K;�à�g�4U���H�+PĘ�M�y��s�]!΃ҙN���גWu����r
$�m�?����'A?q8��lB����ev���w�#^��pP'�N�y7�
�M�b�~-b8�+
����
g��f�v!e�Ϸs�0����N��M_����v�l'����#r�
��S�a
� `�x@����Q
�
����“��S���w��>亹���$g��#_����'aF
�⪗o�F�@��W�h0�f� �9
�.�cP�E6=�V����Xp=�Zz;�ǧM̛]���%�M�
-$��
	=�I.��;&�3��9B��
f�63�C�;�"t�1��[��
�`�L#wϝJ��"���
*��2�z^-��*"@�����{!��xT2�嫪ހ8Ѯ"��+��Ʃ��8��� Q	����_�V�O��1�e�q��o��9 at oʑ��@.��}�@
�\B���oURST�
��;e
,ݟ��B�h�9,�
�g�
-��拱�
.wi�x�ߴWj��#�Nq�t���V>0E�d7�5HP�	�c��`ţ���X��ϻa^�?�q�V�
)�~��)�/
ٚ�����D/=E�AR��?O-� ��.'�	�M6�焈I��kQW���D<�h�
]��a����l�C?}
H�����!H���`��R7���-��t�L�vH��R>ʩ���?!��
Udc'҇�
�f�㟮�X
`���b	-�����yHz��Lў��O�noGϷ^ܤK�^��D�L4ȃ��b���¦���:���f���
�R7��C�K�sy�_�fN�O�UDў.}=T�R����7�
�Wk��AD��&����F^
-{�u�v{��T�G��n����������F���.�ϩdj��6!H�� ��t�k����^�{�^��6C����7�(�]�@s�0�gω�X���L���QQcx[���B�b��ݙ�ww�c�_�=d��Re_B��
��'9
;A�&cߘ�
v^���+F�2-Ng'Nb�=��Gɚ;�R8o�>c�1�nd���S�
Uc8����C���Ƅ��u�M�7��|?����}�R����.]��a�4
e��5�
� ��<b6�k�
�k�#U
23��\n��+D�Վ8����~�֧��F2�=�+X�{D�%����b���0h����O#��"�dq|$�C�_�?‡�sHHg�ZkN���ϴ
\��C�O�����V)�7C
�xj��ciĴVQ�r€�DG�{†�r\
���� �
�1��}�8��FZ��O2c��q�6�:C��%�;�V^���J���dL��o��4�y�r�y�������i���m���*+���w�~7�Ho۶����>�)��]~a�ţ��垖a�Y�|W��L��X�
x�qp9��'i��t~<���ch�ͪ�h��@_��k؋�bd���l�O�K��H�
͔���I��ʓ �Gֵ�>ԈNa$ԝk
-z��+"��������h�У5$���E�n7E��F׺"�T	���b����)5�k�e0gB��nQ�Y]2nA�����c�
-�t	�"�n����w��D����36�SY�J�0�c
������O�s�7^�
�.W��n�[B �Wy�̀�WF��"�S�f:�OLV��1lDӭ�}�hc�\�
��i���2�M
^!zr8����H�֊��u�3C��芚��jq�]��w.ч	���K�FJ��`�����]"
��r�}��r~OBxżk���V��m�c�
��{��������>WP!�й>�2
>DۈLs�f�D�F`������-��t�N{Ѷɩ���@����7e���0
�$��.z_O���(����`�
N.�nӊt
܌
hl�M~�T�?�2W,�Po��R6?��|�K��ڡ���5�ѭ )7�-�B��2w���Kg�%���9��p�su"����<|��ע�r��a=�~���~%.Rr���H<�߄:j��
��+W�
�4�Ka12�t�
;�&��h�V�t�
��A�	��T J���L�qm�5��br�X.�ieT�h��WP�v��1�it�9
%
e>%��Y�k�ϯ��5�i
�׳�5E&�N����y k��l\�"��B}����f�\H�Qm��l
��
@���I�������ؚ�JWK�ܕ���qY�-�VY`
�#��S�
'�"�۷w��C��ӆ']վB\������#Oq�@���|��f�F�:г�;8E�
[EO�R�nľ[Ú9V��L�������<v�X�w2��<.A����R:z���?)D���eX+�r֛�<�Q[Bۇ�`� �nU�"@$�{�6�7\K�-Åaa�(W
�'�D!�����ܶH�
�	"ukf���kdl�K�kM��b��kIE�ƿg��ﳪ���]
�5�������
���y��4
-�7%�6���
�x�j�
X�r��0nl��
ܺk*��X��(=%�6%A5kP�QSVЬψV���L�V��qL���7��9=��P�����8���~�c�y����MMPԉ
��[e>�`8�I��i��D�r����'y�l�n�I�<��u€ɽ�:�ײ>�M�_J�*�u
	b��	
w�������%������ėg��a
� ��mn���S���i�[�=��]k|�
8�O����\e-
��J.�:;1������� /�:�{����|ǚ��=��E�
���鰛�����dn_�ЎI?�F�
�C�G���1�X�p�9E~��⌆oK�_�;5Nk�h
|p�ғ=iӰ�p%��LӂF�m��f�ZD�C
-ļ���Uj����*,{�!-!�Rv���<(K;�fq$؈���d��!���h3�q�b���K��[#ႣjqoEX灩b&E�f9B�����ÃlT�cO_�H�Lq2��ѩ,j;�ٗ�z��f���}oi�.�n�>(Dfo��k����l^'�0m	��b��u��Hi�WCT��-A�o�Z"��4�%3�����6�C�&)�Wplk��N�΅W_�wN[ITg3a��4�zѝxƛ-M"���
����4��������vD
F�z��8
�ce
�6���*�,���;�������fbC�:���ZH
�\U�}�(��EWsKc�Le�
-�`~�@�7N
^���a�A	��� �Y�o��܀�m�2�p�0�Hv��
���o��0Pq�ג�>6(��L��];�
��*�hz�X��
λa�a��W(�
��f� oIPD��[�7��@�\��%��*�R��Q��L@ǝ�d褙̖2��_b��u�f�3;1CuY�fk�T�
Owf���纠׽�zQF~�ָ�H�k5k�l �/��tG�`q��FVd^\�Z`
�\�\�6|�aa�4菢����X9�d�.I0�[�b��~�JN�Grem���9
��T��KhWl�O
_O�!�0���/��*��/�|�HO�у�Cұ��L~�
'�ˏ��5f`��L�Q�Z����A��!D
-����
-U�.�֖_��W��s�6+�$���=+�P�_�"�Gڹ��s�RDz3 �]�76$@uF��{��ړ�����Ȧ8烰��s��;x���O�5Q.ő�X>�Zz&��/9
-��h7C���R��޺�vk1
����Û
g'|^�/q��a��鏨�7��`y���Tʀ;��JZ��[2L.��
�<�
�/u��e~$+�
=�r��՛���Q�&zW^B��G��2��
V8 EHy��g'̟AENPڶ�yN�[7�R��P(@~���_FB�[�
�p5�"�җ�x�K�`Z.�%�Pۆ|���
���R�G�(�
���%t��+��o�F	�wA/����%�@��������[�p	��J���`h}D���
��J8��C���UI�ҫ�N}�����
��+-�JX���l�
-Ch� d�2�34!��y�P�[���˻������T�a�~	K����Vw㇒u�m3:�ź-"6'���s֘�֐�:Z'9���h��s�6J�[��d�&������_Tա�������C�[e � �� s!S���hn^�"&��vh*k�G҂�}�WM�G9�Q倉W&q|?'��L�D���2hV�����! ��#��
�(>��fP+HR1dBs����'Yj5�ӘK�4
�<^�9�Q��8&M�6=Wwm�{�{�����k� ert;]��3���eZ��P�?|{��p��5Uy�ֲws��pV4̎�l��!�s9@��a��OG|n<��
):�	C�D��Z�h�aϛH���O���Ȏƻ�u�O���2a���Խ�6�e���N
-�z���'��?.{���x_�p$��i8��&��*NY��3������I^�%�~ᘉ֐��.
�q�XL�+��A�1�6/���
�N�[�$5�I[1�V7FE�
-�����G at bN�{	h����>�n�~���$P :�
��=�S�[�0�d�*�����
��z�,f�uG�5�qٟ��s�WL
-ʙ9�z�k
z6�"�-I�
 �Q1֕��VT٦�Z���;Ѱآ��7��1�~k|m[i���X�uE���Ȅ��n-
��
-����çNY�M�5��6��L�
)��>u�����'5y���$��s���ݽ�1�����-�ҩ�Y��s_?מ�8��}>.U2M%�/����#�6�d�?e���
�'�U�*=�+
I�
���=i�bH�3�(�PѶR�$�v
-'�r
�A��M<K{p3��)�u"�Cu�UO�淕���4��Qg��
d89�x��w��B�N�����$�p�{7��h<��e 1MFBZE{4*�Q<V��.!0��.�/�oJ�p��Ig�А��ˌͼ�g7)srżjљ*[?]Z�hu��J>�4�
N0Ӏ 3��c�0��(|��J��G�U[�؅�Se�Xy�dk�zV-����3����S:z��2f��Ϭ�yG��*�}ӥ�����q�O���p;�6j���C�t|E����Ax�~�*x��oVA��L�ZmR�C���*B��:�U���d�
�F��<WL�5x��^
�|=�
#�&��7�UAd��E�L�-��d���i�F�6G����{~�?�>�oH�C�1������h&��
2�+� pg�'j&�/#T
g-ǻI�/��!�B�*;�-9Q_QNi��[����z�:T�?���2w�W @j�9��_k��>��R�����fjT���L4w��8�ŗ���u
��Ċb@}�NP��� D=��vb����1RYJ9"
D=�,��(d�ډ���#��c�ȑ<"G��Öz^y_��6
�)�9#�ǪC�"B� �Ha�I��i0/��5w'!b���q��Qcѹt�x��h�
��Gg��-j�5k?�͂-,����k�h��v��QC�fCsS]H���K�90(�
8&��W�����v

�=.�	h%��=VՔ"{���n�߿�T��7�f�%/���:��=X�
ϐ
vi7;=�h8Z�f��.���D��X�����]�OZ�uqEM�ϼ*P
d�#u`M&�'DSM>'[���hHqbP�
��Lg����)�}@�tq�`��D���
����Y�(K���6ѽ�����AKs�M���xC��0Ql���{Y���1�^4�
�)�U��{s<ɒ����$lU
\sة��K���oh�#$Ŷ����&-�J��~�%����L�"�c\�B�)���'��i�@��߿+ 5�f7�,�qU�7�Y�gH0�YX���D��%�g�&
.���#��~ "
��B��4\W8B~�G�cd,'�)�B��r%��(D���.� ���rb)����j1
�_�
�B�b���F at e�g�Ⱦ�.|��5
-�i��x?�m夈��6
t
�
-�ώVͧ�DJC��� �r�nmcܙ�r�;�w
L�B�"���k�����:I}>3�垠��'�
�*�J�
�pU�9	ըN��;�
��sF�o�[ �=EzD���c͕�~O��Sd��]�&�+zc�[l��ӟr�5<��x�l\d���P�|-�l�Œ$~���̤�����e+֙R�p(
-�Gf�D�b4+��G��<�XOm�
L(M��#� 
B���� �p6���s^�
� "�9̥�G�p��&�����F=k�V!��p��� ��"�KQ����ry����y�_��4F
7���3��1

3ն�dTR�t�;�=���:^m)�7O�/�OF�
�N1�
��骃���e����)�Ѩ��-lz"��I�1=mA鯺ZW��)?�8:A�k��
-Y�!Va��ڳ� :�x��	V�0���
����S��(�G���EXS�I~��]#=�a x;Eś�tԠ��Y�f.�cV�R�:�<�����^�f{��Ϯ2d�К�%ε-�W�J`��&��
�mV{�]�$� Q���k��g�K+Ϡ�)�½�^�\���V������p��H�rs`@H�֬���}	L|Z{^֟��u'�u�_X@���0ޯ����/�z:j�u���Y\��yBQ���`6�
-�����A���S�	����ӑ�!���� 9�k�B�a��4A�=1�4�BHR�Y��������P��W�@���h��/�*~X�+ؿe�Æ���}y�9�vt�/:ts���(��X�()w�:
����o�bJQnr ��]�u�O82�h%W�6U�W ��]"U
�
�s��oџ���+�g0lwX���:m��>�
6�o�*�-��o�^o	w�4� ���&���1�bU�T_w�
��ф��5���1��dW��y�;o�j���T��2	x�31�{�/��F����[��D�}K�u%�Z�;D��
-�� �-�2v�ӂ�PT��!Τ�����}���l٧��H���t��؈��1�涶"N\�䱷�#Q(�����H��6�]?E��E"ĒY
��H�q��\��ݧ���t茰D!;0���Fv�fǮ��#"���uu®5�^��\�M�G��c3$(��,���c� �۔xPF��N_��V�>K �u��	��=�Z�
B��}�⻖��/��s����s*���Ѿp\�s�Ki�
� n�����ߤ�80|O�I��
�G�
��'����,�\�tܕ�`y}�7\v���/ O�D��c���*qdž����
h�
-� ss�u��3��M��{ݡ�f��HrCYаm"���ۀ5:�
κ4���L�@1�����U����P�<]͒�C��מ�k��<L���!,� �/��4@�9�=��Fx���FUU;��4���?C���	Bw)v�5��F�(2�'4B� �OX
�M�1;�J�]D�24E+p;��^��9
"�q~���5�v
t~�"���5����+�mR��=$*t�0iW��9%���Ћ�AH3P-	(�0�Q�i�-j����ʪ�ǹ'9���λ̘�4�p�Ì� H�˃w�A�jE�aZfx/�h$׉��Ѵ1�5�F� +�

���gqW6�����/z¸�J����ݨ
?�v�`�o��	5hT�xr�#c�`Bm�'����F�䋤d��eſo-����
�{٣��#"
e��2D�\�Q;9G8@�l�ɑl=&��>W
�>GI
�B�֥A�6����5 ���%�1�Rʱk�_�]�ers�6�bv��.�}_"�4�������bg%��#��"����
��j+�G
�RJF4�|��K���p�M
@3
_�b��� ��c�{���X�������o~���U�^��
�G�8t����&��*Ŭ8 ���"����{f�n
	�����܍L�}�σt����5���{�Z�� pe�+�	�w����p܁�
-��>�V$|z,#%Πi�րMn�E�e<������p
tC����9�6]�V�
-2�0�c�t���ܞ�1B
-0���ɚ�'��@_Xf���;[8X�'������`$����}��
-��"�c�"hV�38��Ӱ��n+� �.�Q�x?^�v�~�'8�-��<,k�*�+6f͡oӬ{1�[(R�ߖq�i9��f�a<E
�2�F��Z:�
7���%:2���ϩlY^oR�XЏ�^ڑgИ�Գn�GL	��f�a섖N8.|1��k��pln�WjPy��5?�
���I��u���no��+2>s<����wf��쥈/�)��}c�_�V��bo;�!ee��AA�>�^����w���j�;�@C)�-�P� t>��O��s>�����|p���5s�5iP�E���cC�8|
�B����|�w�x:(�l_��ļ{��V���ܬ�,�J
�yE�q2�ǀ�����w|�	&����s��(KM�WU*zd��
-�"p��4�\䉰y��Ĵ�%��	s�'5�sޛ�P-�C\�b���l�ب5J��kɃx�����˳\f� t}�I�>m�^g��ڃ�m�h#0���������ח������C�f����I�y�wI�t��!���r�H���G�r��9���LI_;b��쒪@�G��E���Q��{5P�F��ؼ���_����SDC-ȕ\�K1�
jv,Dj�r=�!v��3$*�8����N����"uX�+����|q�'�Q:��{�8nA�D �,��ׯ�H��H�ʎZ�H/���a_��No�R�}��czx�W��Ԓ��B�k
� ��P_t>��f� �:����&.3� �x�v�nwr�!�
�EpX�*
w��F���cP�~��,�Y6�\ݩ7�wH�V����C��_�1	��q��|
-�er�ۢ�{6xq�jgX<(�'ނFšn�W���xB�9�ڊ{����ɞ{�t�{�\�jf^���р{��9\���&��sh"���b�tB8�)־{o`��e�P(v��̬��
̲��E	sD��>�;
-y�)���_�W�}�r5�ر�y�]ze�d�>��^�g�dsxn��ѝz[�B˪��3҆I���P��n�|�8��N�?�8C��	3�Hm'
-endstream
-endobj
-13586 0 obj <<
-/Type /FontDescriptor
-/FontName /DIHFWX+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/A/AE/B/C/D/E/Eacute/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/aacute/adieresis/agrave/ampersand/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eacute/egrave/eight/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 13585 0 R
->> endobj
-13587 0 obj <<
-/Length1 1647
-/Length2 17977
-/Length3 0
-/Length 18838     
-/Filter /FlateDecode
->>
-stream
-xڬ�c�eݲ%���ʝ�m�ҶwڶQiU�Y���Ҷm�6��s����~_��?�~֌1cD�
1c-rbEzaS{c����
=3@�����Y��Vޞ[�^h�*�bd���Ñ��:�\,��Č\�< 
�)@
h`a0sssÑD�
<�,�-\ Tj�Դ�t�i�g
���?����v ��n@{[���_��kG �b�Y� �
-�Z�� *Iy5�$���EWcK���	��H
0�w��{0��3���4g��\�� #���������Dp :�Z:;�}X:̝��\����=������������������
���d���.�&N�.��Q�$�������?��-�� {��;M�M\�)�_�_�������3����O,c ��������o�dN��J������?3�8͍�Lm���i�r�s:�Y'��������_������r�tqژ1�1���i��7���

�?�"mgf`f������?07�ӿ�꟞���������'�h�(o��7$���Ne��>��$�o��E��7q��F��%�����Z���F���o�{� �#;��Y��3ll�� �

K��������������� �;����_���3��=3;��͖��
@SEK
��������]���dci�+������T-,M���Q��������W�U���"+,�B����ڬ��+\T=
���IC���-���� x�3sp�Y8�� [...]
�J�Lw���

���f
u(�W�]Pe���c����:��a����©�Ǿ
��p7�
eW
-�2������ u����� �Q�1�L#��j^v
B��I�`g\IY��
�p���	��:�ԭ  �����$�.�
�����E���#e����@�
d�>>mN
,9��_�)�OOC��z�O�W7NWxwDo��W�@;�4{�Z��� ����I]�T���&���{
Q~R at 8A�{�O�D
i�I��5�~/�2A�&��ZF��f�C�r
-��#kƹ�ǭQ���&�E3��*��a&�ʣ��Rӱ?
Fb~����`�tW
Qu����B;qʄ�D���-,�c�"�!�	VT�r4������s'�*3F��ڵ��r���[��:
N)�Ie�N�|�Y_�~�
-P��Ƨf榪1㻮#���ҜU���J�ˤ
>��d����ؘ몢
X��n��x��lY�@�;��h��qy=6v��R�j�l�)�\*n�E����p+�ԟy0�9+P���Q��X:�8�l[pZ��/q�b<��58]&~�H��g!|:뎠�;و���9U%?H.S�[�:��yz�)S��d"`�q�	��8�֙9�]h<����T-���
����wXb� �9.D�sG����z-S���BkTY~�ҌJ$��x�eON��-	rE����}c��Gs�OD{`[�P#��AԈ�'G��U0�
�����
��S�H[���� ܪKZjS#�����Y��z�\-�E�	滚f�Ot��ך�&|қx*f+�
5� h��i��5;���cAR{�M���t�
��FA����Sio�*�
b��a3��k���<��TDI[n¿~h��^73�?�s
$G�n��pxy?�Yo��|%�R`��Ȉ�"cV�f�Mg~�aM�&��xe���"$\0(�Fh�c���Kă����d�Y;nwk�f�@�P�6[\RϟC��Ц������D
��	��!���K
6k��y�p
�ط�`r?����N'�>?
���%��,�^�g���{U���4�t�]B*VF0�@��0���fB
����Z�>W�꺹��pJ�Ě����fwj�*��a�[��@ْ+�e�����7-/r���h��?_�
�(rԩ�3��[a� b�v�߫j<}E�!�#dr�O
�+����S�t���!^�k{H��t�Ef�~�9	O<��\+ퟘva/U�H
��SPM������||��'�A�*�
r�����
-�v�YaM)s�Dw���
�rλD
Q��
�`Q�"�������`'��.(]*^o��������c�o��]�W
M
[\
�%�~�&p�I��{���9����OFd��n�3�V��;�ne�R��J���)
P_)��
�)[@[(
��-���q�J�y~W�8�
-{��7$�u=�y`
�Ef;}l�W�	fo�t�f(@�$�t.�P^%kH
�`OId֔]�A2cU���-ᣭnuE<�����{3˾(g��@��7����a.o+?B^\u�I"I)��SC���7���A.�5��,6�
)2�ͱ@7��4�q*�.�m�3�
Sk��^v9o'���N2��^���b+�fb��D1w�t�{�2yq���$:x��|�9T2��A�0����bC�d�r����R��h8s	
de��Ը˜��Tʶ��̝�\xJp��6��M��B���vA��q�)�(�����,�ψ�'@�-��4	� O�O��_\
k�y3�#�ޣ�J������Lud��l
5Eo�Ӝ3�+�[X�bf��8y�ff�BN43��w�j2>\��
��F������RַZ��l�As-�Nv���d{{ew��`�A�UD���6��`�5�@�z~=Y�1ٸj8�8�U4
gF٫�F9~�	�>v�gF�u�� ���k����X� [...]
-��\#���Sׅ�e>k=Ə��LYy§��˨��?����%ɮ���
j���G�ݪ�4a�������iO2d�R�>��9�<^�nh���+��*�l�G��?���*j5���X�$
��xm�pp$���״�w	w�4^V+�oȔ$o
nѲ^#��ǡ5}o(�K	��`૔J���G�X�Z�V0��h��%�$���2��a\xt�b��f7U��
/�
-�^��1d�*�
�a�kM�y��3� ��'��k�Z�$�b}:�����Av�0(���ޟ��@�r��'��VI�A1�
�����Qd�$����;ٺI�u��~�a�[�{�X~��T�
-N'�	�c���#�\}��F����2L�e�]
-�U��� �C��?w�/�0{ǰ"[u�x Nx�aR���T]N\��Q����cĶ���~]������z���
5v5�h��|�@*���$ϰ��K� ����I�B�z��V�C
-i}N���<%
c�]
-vB-��Y,
���./�I�^R�
X������s�BV�FP0�
-f�n�
-)�
�����	�3��+~�]���<6i��l�����;�lY6,�k�}YR_���Y�Ik"�L��ZQ�#>͐��$@�Xo�C?�[�z��0���� ː����I��N�h� :����Zj��A"
"��r^��.
�ݦ��Q.�L����x��*�쳭�-�R}
�kA]Ԩ7�p[R��v8������v�j��M��	�;$�w:�[�a���{����h-���^�|���.���QlP;�_�����8�u��wj�T�/W=�V�I?�s�a�e#�8J$"V��.R�K��Z�'��͋^'J��y�V+L���&ҫFܟ�p������5�_(&Cl� u�3-/I1�����)8��XI�3}?]�.��8����X�TAh�kG^���O~-yI`��&\#Dqe��.#���|yf�z�U-?���p>
�)��g����O��OT6{b��
-6�aIOo����w�4���-�8�1��?Z"�j��2\)���Fz�:���s����
��CA������y;B��y�ޏ~PH�;>�ɭ4��+�Lz�	q7,��J-_A�PPw�N��5)�2"��98볫��}Mb
����ʻ�IY�����[^Mh�1z-�v�
��2uo���n.-}��˄
d��H���Gɶ�6
���]�Q��WX�
6
�ۚ:e����W�z3׶�
�NŐكnP����.?��x
_�9������,�2X��
q�f;OF�������/�%ȼe��ι�ב���Ùf�^c��
�����z�����g�Z�
�ع\x��(��[�&T)���
B�R��$�^�ƽ+�7��n�
�ijopP;�kS5O�	��?w�ԥ�]B��ǻ����ՎH�7yG�^�;y
�# �w��I	v���+Zh����%>��T�/7|x?#����$�`
-����9��ۤN��� RURr{�PpB��u�5K�"�o�LԺO
cE�QR�X�
6���B%OB�M!�3�ӱs�Nv:�\�%m��\�¦c�~���:Tx3�,�,C{W4���j��aG��#�1����@|�D4�q}��㵻�v�
-Ķ4~#���sz#V�Ӵ"Uׇ��2����ֽ}�p-�_�8vn�ⳓ�?�� ���5���`�{+�@?i(Z?�E �|
��ՃG_��b>�B�h�4��
-٥
�s���^�7)QO�i�@��v�K�R/�p���C�n{����!R_x:bm��'?���e�2���Ώ�@ke^<�p
�G��I)�
8��Hy�^���0��$��w��7*���;���%�IӔ���wu��=2�+~��8�-�� !���&;��V_��ꬮ�Qu�[����jd|��G�v��wf���*3gv�!'��������;45���=,�
�(��\xG�E� �f��\�4��}�t�)1���ɝ����U
|�$�
0�����.��h.�03���h�(�hܱW�q�����ѥL��[�ؚ��CL�ñ������5C�����]��Q�;|U#��}�`���vL����ιK�F�SV�ns�Eַeu)
�
&�7bt)p��y�
-j5��pgۦ�]FN���
x�В���������8:�k�AN^l������~b�gi�_)�A��xB�<���f��u ݿ����-�R�����&�{Aw03|�[x�J��fuQ��l��|=�B������Q�W%c�t9N�i���r��ۅ9���.����[#

ڔ���V���+J�eʵS��޼EO�h���_&/՝��B�'�y>�� ��$S��
L����,
-�7�.�z{��sGW<�Df>n8@��{�	�45(�?��a�
�S�r-����'À΢�W�~�kň��ߞҿ��V�g�I�6JbڍV^�*Z
-\�»$L��t�znjc���*�����nkB
uFH��4T�r3�c�KH������DS9��q
�3=����Cz�,
K��*~�Gd�j�@�3�7�^��w�� ���]�k�\dRl�����?������H�d, "<�2��9��ξ��H����v�91���e���X��p.=N>|q�9�'f-JKg�c���qn*�Y��؁97�B�!��QN%o�N��]�{ƔIAx�*��"N=aD~y���O���
�ՋS&_T�Q��>2)�&:�an��VغH2B�b
\���`�-=y��
��H�xZ[Z�1��D��P�Ȅp^Z
�0NL���"��_��,X�ç��u�zl�b�w]Q�����Mcx`�����c��Qܑ���i��?(I����K���x�̰2������
"{�&��
\m<��ʽ��[ZY�{.g	��V�96Eۙ���Ji&�g�C�0q�á�R��Q�E�D_[����R�����/6B&�/{b	�����g�DZ���"���w����N3� [...]
-Y����^�P�	fj���L�O,�
�⤲b�������_4��k�RX�?�D� ��ש�XOb
���!>�������^]b�&��&�r*tgi�=ng�
�Y�>���:,��M�r�|�B���D$T@�
G0dUh-�������I
t�b"臊p����V�Vq�P�M6��6����
`T���HnA��w�&��sP�㌜�Cr��+A*��n�R�-֎t
q�O�(оtkW��"I
PU�4$#U	�!'o|��rZ?Ӧ�!�4bԵ�����l���%��
-,A?�E�d���X$�ܿ��T��$�Ɗ����S�:�'�*�����Ȯ�B���~�V%��I�g
���k���
�V�
�

�s1X{���px��5`r��S�U,f���uX
;+E9\��0�h�:�ĉ������b���Lлj�c]
䗯]
-�e��,d=mxQw���
bJ�Ԙ@�nÖ�����\�\��T�YPxvtDl
gw0��hD{
-�E��Z}��H�p�LLSgbn
�!f�)��m���E�u��~�Q�]!5^�����_hw��Q���y4!U�Wf'�e�
{��xI�ּ8<)w3\�k:`
++[��Q�ʻijI&
8�vo
�ۘ�E�\��
���1�c\�djMQ���z&�58+*a���s���
�P��\�l�
ЧF+�
ah�m���<z�k��#��Q���5�&��j�)�V$�N
B�c�O-~ZH�l�>k��f^2�uv��Dh�(��M�Rx��z5c9�yAp
wm����9+T_�v{.����'u7䱴Z0�6�a
����RQ����ǗC��6��|����ph��6�=|:7��!���*�Z�\�jB
}�5N ��f���/Wؑ�k����|W���=ϑ���^����m{]X6�>��@�F~��T3rp�Hm�H�
nM �x�/�O��>���r����D���|.|��u
�����j��
V�0���"�5�M��̟���0�<� :�z��K#(�7S�g���D^����
�B��ސ��B��,)7���l�|I�T&�+I
qg=
(�%�����^��i�"sڏ��pZ�B� o ��[q
���O
s/C�D�PR��Uy�d�����ɼ(]����n�KИ���(�&k at n��}U�G���
-�I1U���p�I#w
�
/
y)Ѷ|��V;]4�7hB�Ÿ�^[
�����H=�G]e6��!*
#������������mQ9_/�OK;E_^�Tq�χ��bԛ��2A����ën!
@��['y�qP�L�LώڷV58��H�%�1���2���O��Ƹײ���&�8L���@7Ы�����r5��]�Ջ�ߩ��~�/���U�/g1���
�y
�>F\Q�EgT"���w[:���8��y�"t��)E��)r%we)B荾�
j1[�E���jKEN��5�=�j'�<�K�Yy���xo}��P/7�☦��i=��5:��i#�M6[����d7a
�Ҩ�ޢ�b
�
v������g�
-�*1JʂV��/r��K���wZ��:��#���T���yBo����]ق����L]
�&� (N�P�H�M̳.]�>��K��uLj��OC27���H�����CZyW=�4["���c�_��*�q��
#*�,�g�+���
�D�M��U����1�
�
����-~
�K�>F$:;���%�]

��[7 at T��k^������S���Gxe��i<`�T qil�
�>W�i��NΦ	�
^�	�k����n-K����.Ⰳ�������z7|H���)sX�"ޮN�з��8x��zm
-�9��
-�vTh�ìZ��T=�}C|�(6����}��
9g���TlHy��
�7�('s���s���M�/�g�Z��5p\t
dB����a
6�Qh���l���ɭ���*��Du�L������Y�{��9���	E�B
g������L)��-*�ܱ{s/��9���o�$�.
���������\�v�
�-È
w��Z������!7�*XY���:�=}��i7L����)c�)���1=�c:J�uv{�J�M�ir���XFHc�U[��Tm�T�
�I;�c��o�� �Wж�����a��h=6op�^�m�����y���(����b�̐��@�# L�
���k�Ew)f��O�(�W2K�,-�ѓ�(H_����1
c�t

�K�7���@
=�5�����LiM���c�Y�����spo��c�
���N�L��:#+�j
��N�rm���)6-��Vm�;?MQ������ۼ�D�s�Պ�*ҟ��aw��. n�xUc�aSO�t�f�{IX�!�Kv[(�#���p��P�

�} �a:�
}���6;���Z؇��)D�耟ڷ���'1�ǭIo.�E�i�X���C�:t��Ò���KZ ��'��@W^38���oA���^�[�r\����`�=v3�7��.��
�1:'
- 
#S��-�a�jĔ4^ #EǞ�i �R��i��q�خS.)�) �7C�)��(UN�
��:
&ٙk&� |���r�W�N����ͽ�<��E���)�E���d��}td�mC�`���9
�.�%���MQߕ��"���{���Ţ��Q��N5��6�Q�
t�ݤ�5�0���#�K�l�3�˱%�o�i����1�+
��Q���������*#��}6�"gUՀ GH�}U������)��?�?��z*,z� G��Q~�L�T���I��D/n�09t��zm5E
-_���,v��%����2�5J�W;tk:�aL%�p����PQ%�b%Aa�3�5� 0j�ϡ�6A.Κ�}$�s� 5��qi
-����M`QrP0!��vv��t���G��f�����zҲX�MV�Ms�G���Pҫ'��;M.��AP�ԖG�!<�$+ǎ�zn�.g�:��#�-n��m�:���z�46g%�"�&��D#�y\�4�0hP[
>��T�
#�Ư��hzt�C"G
�:�
���+ۻ�ڶ5t_|��,
e`��%
-3������ ��+	,+
�#0&ݶ�1,j��8k��ܤ�%��v�p|x��W^r��)'����A(^?�u���]H��a��~
��j��:�<�����FH���2��ƃPl	;;A=���v���Yc�q7�3�`;���)[@S�ي�!��<P�1+6
흌
_i��s~��D��y�p����+Y�,ަV�000�<
�27���P�N��(���u�0����a޿�:H]V����v�����
G�1�:Ц,�H��:,Z�d2�;����/'|Al��&�5#�;���m�o��B���&�XY��u�?	���<���T'�5����c_ž?�>��� �ǹ�Ǯ�#���a����ߩi4h���Y�G�i!�,�v�
�Gf���y
-icc�R���f�	����@�5�yq�+�
��]E;8��{vf*a�D��$�
ξo{v=�U5�4�(����
�!�ze5Á����د#�v��nM����sa��Lj������,D
>�EgSLFe�4�����UۄnEx�9%TPC>C��k+�֙){v�#׫!���p�A?I��t��)ʊ_t�Sӏ�cb��*��H��հ@���6�����*s<�턺T�hD4�ߢ�[��8tJI��� �����(�T�Ty3'�Q܅s�7�p*vzݤD� �6�A	�՗\��>r�x�Q�\�����o|��ls��
���w��	o�K�����P��/�i�n����~��zk;�:->u�q/ۇꝽ��I*���Fe1�S.��&U�P��Gp��d�z�o�~��S
6�ro� ~��ƞ�6�zH6���A�������S��j�v`m��NnJ���h$��>�*Q�P�ΞA����8�:��r��Ҋ�y)�

������1�<�`
-���
q�2Z�
��d[�4��hR�;E���6(ݗr�b!�uV]cΙ�C_��ީ�-$xcF\�(�����	+���""$��.1��A�J{�0�U���,&�m��W�R-�wN��\�9�C��|A�Ւ��-'Z0q�=�;01���iFA*$���q�$�n<R������!)��T�����'
�����D�o�Mm4�Jʐ
-4st_��ߖ�L��xy V�9�F�F��/:%ЫzS\Z�R'W�
��.!
x �(8����v��s�E�*�j
Ug#_'M��(�E�%{�1�7Z�N�
o���$����.��ySٟ�Z����"t?E|ZvP<L<g
e�j����������R|��rhi�H�M��y��>��梃n�P�A5]�(�7+�����)��08.!�b<��
-	���+hl�ƫm~�`'�R_�
k����e���PxJ��TAp_^j�ҫ�/�|��3B�-
������\�E�Tp�\a�O���T��:Jǹ=�?
�t_�
�/A}�S
�
`p��	b�T����T&���� �/��h�u��<r��0ˈ�l[��Lid
�����D��B�"g$�ZW�)���R��ꚈG���Q��
| �Y�aL�����/�Ĥ;�іC5us�9
x��!z�qT�oj�
�.�;ޞ�s&\�/ލ-p�f�cù����E
���T�4�Fكo���$�;����"��8"

{�lt�t9�Qn��8�Sj��
-�&���nH���}V_����[u���MU�a���g��i��$Yk��i���]9��/$�֌vK�� ۊm!�|b*���`'��&i��z��dO/�1V����)^�jc��3��o��-�����A�Z}2V��1�џ� ��s�1����	��.�WK#[�]Ƚ�;4��7yC�9�9H�jh��m��J��Lq��Y7vU�J�;���r�O�)�%"F
�+��38b!�K��FT�s���2I?��
-v�^��R��wa�ݜsa�G�[�N�:r�:6\"l��d{ni�F�@<��i,��Wk��)�.�y.������LS�
	��[WW[����r淨��V��)�d=���Qv:ʿݘؼB�}�c~��iߧ��@!�(|�/��
�{�����?ӯ�^��u!�*��Ί$���gZ�|��R�懡SJ�P�~�c��k�C�mJ��F.����rT
���	��b$^'�k�vT��
L[Em8�0؝ՓR#��F
�M��|߰(~�����N�,��%>9�$�#e)�u|���%�j������W���M

��u��*!�wkY�]��9��HA2��a������++(o6�<K�����3V�
��|�;�c	�z�a�f�1f��X�eL�V9�b�!$
ko��
����УTY*�{W~y�S��r9c
I��'�ڝe
H`��
-o��!%�������`Gs�ҩCD
��
��~��;����=n�`�9�%]�߫�M �0��c�E���DθxUOWfh������<2,
I�w[��4�\^%�|%_s����_
-�j4��&��̈�
�����[G��Ŋ*�[�E5����j��]٧���8n�N �ߐ�
-:�@u��	���$v�a���ͤOz9f����<Ġ�$�H�y���?��x���\�\v��>�36 �
�؝�#ea{����ud�x��h;O}]�wtƴa*�|iGv�<�e��c��G�y͘p���1u�Q�P.�p2�u����FE��_7�~v(S���Ly)��cY�[�Em��1��Bc�����	q�M��
���t
���H���e�d\�x�
53	>�
�@ ���
��
����-N!��S=1��߯#]�Y�n7\xdS#X
�E֩��VGw�Q'vs
�VY"c/��D
Ɯ�5 ��g������&5�Dk8w;���%����{���9��VkJC�d��?\
L�m�{�4
���S#7�
�͝�6r�)�����8�����E�
�+�IEF�&�j��?����,
�
I�6���/0U��@j���鎒����Z�=J����ˉ[�W8`6��ܔ`GքH(8�j�0��
-�^%�kr���yz{�ep\U*ܴH����aqq;愦�|����V�I�%B��0J���B���J@����?,������{$�$�a�ך��t��
d��	�xs��d�9�Ǧ��'��&�H�o��J�m?�u`Fg�EQ-xT�<��?gm���p�/�
8�N?�y\�������_}D	���]]�[j�H١O�GŐ�bW�ݔ�}����n`�	n�����
G�ܱ?I�,+X�����"��(�P��_�� r���
Ԓ���7[�'S���Y
�!��K2�3����NF�}�GiE�	����v
�-F���g��7a�_+՟�5G��FZ���榄p�G�b��7>�.���5xD7���Yt�����/�`3�'���k�d��û5�i��KJ�$����aW/�����3G����,�.nP�j
V6{�!�����x��������ON�^R��F/q.�����M�����pK6���S������H��Ո)e��MW�
o���KA�N�(2��Y�Kl0��q�y^�ri	�`���3�\x
�)�@���Py$��cU
�u�y��Ƕu�K���@vL3>6��E��` ���gY^Ѥ���J��ι, xr7d��2���4�Zw@����
��[.'�+�b��h�l�r
!N�9MQ�Ơjki�Ob!��h�>�
��<��F�1�^Id�p~���C�/��pQk0�/��;��<���@����3��
�5�#���w�D�L5���rR�_6�ٯv�4&���L姑4
-�[9�
���Ɵ��",	ORi��
��k4
-''E�1��F��&iB��o/�B���Q���#�O*qw�C�Y�V�
i&'ӅJ~�
nK'e-h�ꗋ
�ť�=���H�DS�&��Iy�j�|����6x7��E��U��\��ҽBǥ��1y�оL������ ݎ�
-�`t�+Gf�:�
F�`X��	�M�fV�����dm
��U�b[�����){��#E�������s)�fOl�'���~��b��ԯdN6��uz�VM~6gN���'�bL�+w��v�nrT.D���D���8s�u�7h�ZbZ�}�K{F�%C/t]��q���‹��[gN(Y��dbp�9��L)�Y�_���܎��N�nɥ��� ��|�,~i,6��V��o��8c�
T�>5���*�r����*�˹x�$�H�^��~fB�@��s��uI�
F|d���oO72E��	�j�)
)���S���b�.��Ѫ����=w,AZ�?�����\���x!���.
Zc`M�	.wq��tƫ��Q���!�p5�7T2���5R
��̀��E���wrq��ۃ����@#�Q�Y�����V@��i�YV�gj�������^Bˋ�:ѵ���b
E�׶dH��G��OH���&��|� ��8����
�
�Ĥpy�]-4KW��SE-;��T���4u�;T��"����x�'
y� ^��Ў�a&�,Q�آ���z���'_x�<`a:��B�]f���Y1�럃��
-s�_F
��ʊ��d�H[��'@
�����D ;�����9@{�!i�L���l
��
��[���(c�����T��`o�&p��#j�׃P �wRE˼�4Ɗ538]rg�;	9�Ӝ���_��KՐ���8. �?܅ئ�&�8�Kו�
IJ�j�3%E-��M峍��ӖA�=u�%Hą��1�LGo��W�+0/#{�mL���m��q�>���?dO���3�k��N��1
8�?L�5�p�z9jC͖�S�۷�ީ���D�\.5�ͫa��,��W�nK�j6��V�Ձ;/�<i�Ӽ�)A
�I�K�

-H�
)��
g�G
�Zj�մ^:����:R܂#�C���3�L@<�J
�3聣&�*��7A����<�:��WҔ�-�g��i΋*#��.t}~̋
�����A��A˩��Z�FD�`צPv.kLH%;j�� d�B����
� �Q�1�P,��e�_�P�)Ҋg��5��M;Ţq�=��m�O䪲�̉�������/���V�q����4�,SE\ ��,p��C!�SO)2��L`�%sȖ��P �Ѻ~9�l��i^�	��QG
���
�7$��V�<C���C��(j4�Bƪ��7�6���]y���S�5�BF��E�'��̾!Tdm����=�qvߍ�6�UeM.Z���΂?�éu-
^�H��ҝ�8�?�8�*2Dx�|��}�V�`ZR=X��#u�0���uu����/�d9J��W�?��қ��&0�F��� 
D�f$4X
~D,�@�C��;ꑇX
�^��Ha�
_A
Je��n�v�c�0Lo{:٢}{�W��W&3�f��0�����P� [...]
���|}
=�NE����?G�u?�st��i�����(�%Q��G�{�UI}���6;��E�~.��������4�}7�=�;EX�Ѿu-�
e%�b�19��_Ϭs
l?sg48�3:0k��vs74��?H
��0��}��
A�$j2t��B`�o��@Ua��QɵN
mffC���cn֬$��jd��k<b_�1k�qR>/�2Zs��<�>�^g��Mx��Tx��CF�_��ȟ
�P`cC�$�x������՗�q�Q�^��˷e��اtF�� ���#X�Յ%�l��d7�N���Y$��*�D-Ʉs]vn�����<��v�Co�T譾���9�֥��"v�â��t��"B��2��`L0���*G�����i��#I��dǒLA1���fC�Wۃ`��
�9��896�$���-w�;��qLPQ�h<eD�����
����z�l�v���y�����
]�����mk
r�<dX��y�d�~�|���{�t��L�@��o
-u�O�?�~�&z��>Y܃�-������x����[�y����
���=�,�<N`ɯ�dc�W�S�&s| �N;d
Z�|33���{�z��
����

b�z�����5�|�OT��붽��
-V�>�+��V	)�����s$��
T	�ǁ�q �ݵ��a#3��֎E��)�p�xY|�E���2��u��z*��P�<w8��&�
@����]�*ˈ^�ү���K�Z�97����{�ܲ����������`��	a3!=\o
�䃕�n���t�fM��6��Qd
�mU�{Y� �i���5�`	�7���jD�w>�n�q��Ԩ),�ns�;�[���Z����b����4��
2�\�t�I��4��ZJ�
/(}l�0hl�m��0C�P��{�i�Qn�NjxY��A����G�_�b�<�Ƚ޴�1AlK�:��G鐔��Vn�m�N"��A�TIS��2�N�:`�
7^�◍LD��b�b�k-4�~%$c��mkJ-���;
���$�5����
}l\���;�5—��v�0�k�2:k���
�ܸ�ՏE����
E��0�?��՝h��!¾C�p6�h4ʆ:ց��h�!r�B����K��Vgxc!�TO6%�-�k���i���Z�2�[�t�cD�){�������v
�J�*g�)��TG�Ǐ�v!9�MO�G6a\"�<?i��<�!�Y2	�m��R���k��vھ̑hL��_3sF�^^��P���&>U��u *����9�wR�#$��o�
�t~�JƺN��n��9��z�GD8&K����;�)&�X�jb�r�e�-�̞��Gy`�K�
�?
�
�5�(�ݼK�U
-��!���Bc�
-}8��P�
�"]ۍ~<�_��x���cW2����4 5OԐx���L+�y?�8'�Op3��b��c
-��|�,e�S)�40h�#�9Ə�4��:b(��?
-��g.\�/�{g���'6�
Nl¬��I\� 2BR����0jc���Z��T����*�&����� �u���)���x�؝��>�
�=y�i��ZE�t�-��
P�����o��.���9���.�'2�1a�,+"
|�Y��zĀ�%u�ߵ�ξ��Lx�9� �R�NJg�Ia(#
r$��$^Յky��f������̂��Dq� U�
-�g�1ݗ��g��s�#��r���qZ1�	���� C$Ǯ-�>�<v�0����7&?eD��j�+�	Җ2j��;
-+�e)zw�b�IR
L���Rٿ�
�{O�\�Y���dT9/~�� H]K��TH
g+�;r�0����Ub\l
	�����T@�9Hvmtbd�d�W�=��E��ʸ�GU���ō�*ڤ�.�v�s�����I7�m3����'�єWE�bF�l
��;��%�t��|�D��_��.��x
xҐ�~2~4$C;��ZM�--x�}!I�{0�s%Q2ޙ���@/�<�y�)9���#����z�����J���^N~�+��
���/;�%�QY�ab{6����\GIHR�R
@�w{&���<��QM�w��I���
&1����).��ڃ�
��F</(
	#���2+�����VTO�x���8�L�H�~���b�2~Ɛn�Ȅ��YXT��,�&d˓�CRK=IF�dK�X%kO�:�K�D
[����5�f�ZDYWYc��
��U���
RMɾO�Dz�Kf(�	=?��4ɨ��#�b��?H
!`™�%��*����DDF��%���9�P�� 2��4�r��r-�s��P'�	?a�Q���q�K��ڵ�
�[��u~���ލ4��L&��8�L>�+�Sب��n
�J���[�!�~������c��F ]�D�H��@
���
Iq��ܚx�/��腣��B�MW�1�/��:��mU�т���^�t+Ië�÷ƒ�;
g��^ndxzJ�i2_q*�˼���X{��Me���(�6
-�Qj��"4’�T�.d47�
-�/�?�����i�ɐ3���Q�%��
�(�}��Ԭ����l�G
X8
_�Y�[���M_����x'�)���q��aK���)���
��NQ��RPN�����S�J߅d
zyյmS�@攔vmb'��/3��������96)��'N�u�C�	��Mr�y'�����u�ԓ�
,����qC#��|VQ!|$z���5�WՕ;��@�
�$����V��������W���lq����
�<�@V�	m/�yA
U�q6��l��F"h��_Di��&wlhtk�
&0䒖*�wv{Zs��+�6����J�('of���a
�a8���/-{]�I���(S03:UҔA�w�*O_��v��箂��6�'o˹qh�H0�"�ؖ�lN�-d�9Pm�<X��b���7��_��^�"�����
�
����dV(�MG�
�y+�34<��A��-I�\!��
;t��'.#�
��G��h���}�Q0E~t����"'���qJ?8��$P���' `僭 [...]
I-*b�cV��G��<�i�hb2'[>�����$!I�,fj�咯� H?�t
~jޫ��M8e
歲
-�����knt��= �
��[l��t
C�c�OK1�
$�-�Y\���Y���8�]/��>���|�|��
-pm�{4_��#�K��g �����# ,�˞ު
�����y0�
g_�X�S��-x�U;�����D<���fc��q�>p���7�"-��w
�r :>������EP�/��b���h�l=� N٘�w�]Ԣv�+}
j�,�ʼn�A|��jP��yt�ϧYg��b�i1�
h���6��UF����x�a��2q�O�so 
�H%��mO�r���Q�0[��Cӡ:7��E���F�����Pj%����5ndL
-.�$��(���G�/���$�%3
ɦZ%��XV��
$�?දER���KN��UJ�ꊲ�G@�u`1�j����R>
-endstream
-endobj
-13588 0 obj <<
-/Type /FontDescriptor
-/FontName /ZSLAIS+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/agrave/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/eacute/eight/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 13587 0 R
->> endobj
-13493 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/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/braceleft/bar/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copy [...]
->> endobj
-595 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LDBHLR+CMBX10
-/FontDescriptor 13520 0 R
-/FirstChar 48
-/LastChar 49
-/Widths 13502 0 R
->> endobj
-577 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /AVEYOS+CMEX10
-/FontDescriptor 13522 0 R
-/FirstChar 0
-/LastChar 111
-/Widths 13506 0 R
->> endobj
-442 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UOVWZK+CMMI10
-/FontDescriptor 13524 0 R
-/FirstChar 13
-/LastChar 125
-/Widths 13512 0 R
->> endobj
-2356 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZGGNQH+CMMI12
-/FontDescriptor 13526 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 13489 0 R
->> endobj
-615 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WNXLJT+CMMI5
-/FontDescriptor 13528 0 R
-/FirstChar 68
-/LastChar 110
-/Widths 13501 0 R
->> endobj
-7669 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OMWOOP+CMMI6
-/FontDescriptor 13530 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 13484 0 R
->> endobj
-504 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VUCJGC+CMMI7
-/FontDescriptor 13532 0 R
-/FirstChar 26
-/LastChar 119
-/Widths 13509 0 R
->> endobj
-2117 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZRLUIR+CMMI8
-/FontDescriptor 13534 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 13495 0 R
->> endobj
-2334 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WWOUVU+CMMI9
-/FontDescriptor 13536 0 R
-/FirstChar 46
-/LastChar 121
-/Widths 13491 0 R
->> endobj
-594 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WLMXSH+CMMIB10
-/FontDescriptor 13538 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 13503 0 R
->> endobj
-817 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UQOYSR+CMMIB7
-/FontDescriptor 13540 0 R
-/FirstChar 112
-/LastChar 112
-/Widths 13498 0 R
->> endobj
-537 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /HUPSVD+CMR10
-/FontDescriptor 13542 0 R
-/FirstChar 1
-/LastChar 120
-/Widths 13508 0 R
->> endobj
-593 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LYFRJR+CMR5
-/FontDescriptor 13544 0 R
-/FirstChar 43
-/LastChar 80
-/Widths 13504 0 R
->> endobj
-2635 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YPFGSD+CMR6
-/FontDescriptor 13546 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 13487 0 R
->> endobj
-538 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /XRMVPU+CMR7
-/FontDescriptor 13548 0 R
-/FirstChar 40
-/LastChar 120
-/Widths 13507 0 R
->> endobj
-2455 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SRQDSN+CMR9
-/FontDescriptor 13550 0 R
-/FirstChar 12
-/LastChar 118
-/Widths 13488 0 R
->> endobj
-364 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /PACSHY+CMSY10
-/FontDescriptor 13552 0 R
-/FirstChar 0
-/LastChar 114
-/Widths 13517 0 R
->> endobj
-675 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /TPJSSH+CMSY5
-/FontDescriptor 13554 0 R
-/FirstChar 0
-/LastChar 96
-/Widths 13499 0 R
->> endobj
-366 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JLSCDF+CMSY6
-/FontDescriptor 13556 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 13515 0 R
->> endobj
-578 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /WSWKRG+CMSY7
-/FontDescriptor 13558 0 R
-/FirstChar 0
-/LastChar 94
-/Widths 13505 0 R
->> endobj
-365 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 13560 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 13516 0 R
->> endobj
-2329 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /RDTRNA+CMSY9
-/FontDescriptor 13562 0 R
-/FirstChar 0
-/LastChar 20
-/Widths 13492 0 R
->> endobj
-10269 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KNYRWO+CMTI10
-/FontDescriptor 13564 0 R
-/FirstChar 112
-/LastChar 115
-/Widths 13483 0 R
->> endobj
-2351 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /GJXGPY+CMTI7
-/FontDescriptor 13566 0 R
-/FirstChar 100
-/LastChar 120
-/Widths 13490 0 R
->> endobj
-3026 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /BKKFBC+CMTT10
-/FontDescriptor 13568 0 R
-/FirstChar 101
-/LastChar 121
-/Widths 13486 0 R
->> endobj
-4358 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UDIUDL+CMTT8
-/FontDescriptor 13570 0 R
-/FirstChar 101
-/LastChar 120
-/Widths 13485 0 R
->> endobj
-674 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NIRNEQ+MSAM10
-/FontDescriptor 13572 0 R
-/FirstChar 13
-/LastChar 26
-/Widths 13500 0 R
->> endobj
-503 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NUYYNC+MSBM10
-/FontDescriptor 13574 0 R
-/FirstChar 63
-/LastChar 90
-/Widths 13510 0 R
->> endobj
-2226 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OUVYEZ+NimbusMonL-Bold
-/FontDescriptor 13576 0 R
-/FirstChar 40
-/LastChar 122
-/Widths 13494 0 R
-/Encoding 13493 0 R
->> endobj
-400 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /MZYJFE+NimbusMonL-Regu
-/FontDescriptor 13578 0 R
-/FirstChar 33
-/LastChar 125
-/Widths 13513 0 R
-/Encoding 13493 0 R
->> endobj
-1185 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UMYBJZ+NimbusMonL-ReguObli
-/FontDescriptor 13580 0 R
-/FirstChar 39
-/LastChar 122
-/Widths 13497 0 R
-/Encoding 13493 0 R
->> endobj
-398 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /MUQVXJ+NimbusRomNo9L-Medi
-/FontDescriptor 13582 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 13514 0 R
-/Encoding 13493 0 R
->> endobj
-1387 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LNNZHF+NimbusRomNo9L-MediItal
-/FontDescriptor 13584 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 13496 0 R
-/Encoding 13493 0 R
->> endobj
-363 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /DIHFWX+NimbusRomNo9L-Regu
-/FontDescriptor 13586 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 13518 0 R
-/Encoding 13493 0 R
->> endobj
-502 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZSLAIS+NimbusRomNo9L-ReguItal
-/FontDescriptor 13588 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 13511 0 R
-/Encoding 13493 0 R
->> endobj
-367 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [358 0 R 395 0 R 439 0 R 479 0 R 495 0 R 515 0 R]
->> endobj
-539 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [533 0 R 542 0 R 553 0 R 561 0 R 574 0 R 588 0 R]
->> endobj
-618 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [607 0 R 622 0 R 632 0 R 643 0 R 654 0 R 668 0 R]
->> endobj
-692 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [686 0 R 695 0 R 705 0 R 725 0 R 746 0 R 762 0 R]
->> endobj
-791 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [780 0 R 797 0 R 813 0 R 832 0 R 844 0 R 857 0 R]
->> endobj
-882 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13589 0 R
-/Kids [872 0 R 892 0 R 919 0 R 938 0 R 949 0 R 967 0 R]
->> endobj
-1002 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [989 0 R 1016 0 R 1033 0 R 1051 0 R 1072 0 R 1096 0 R]
->> endobj
-1123 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [1116 0 R 1126 0 R 1134 0 R 1142 0 R 1149 0 R 1155 0 R]
->> endobj
-1167 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [1161 0 R 1170 0 R 1178 0 R 1191 0 R 1197 0 R 1202 0 R]
->> endobj
-1210 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [1207 0 R 1213 0 R 1220 0 R 1251 0 R 1288 0 R 1325 0 R]
->> endobj
-1388 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [1384 0 R 1455 0 R 1494 0 R 1520 0 R 1542 0 R 1573 0 R]
->> endobj
-1668 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13590 0 R
-/Kids [1654 0 R 1725 0 R 1757 0 R 1769 0 R 1776 0 R 1787 0 R]
->> endobj
-1805 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [1798 0 R 1825 0 R 1850 0 R 1871 0 R 1951 0 R 2009 0 R]
->> endobj
-2078 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [2061 0 R 2111 0 R 2165 0 R 2195 0 R 2211 0 R 2222 0 R]
->> endobj
-2241 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [2236 0 R 2245 0 R 2253 0 R 2261 0 R 2268 0 R 2276 0 R]
->> endobj
-2304 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [2296 0 R 2325 0 R 2346 0 R 2386 0 R 2447 0 R 2509 0 R]
->> endobj
-2570 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [2564 0 R 2632 0 R 2699 0 R 2747 0 R 2805 0 R 2825 0 R]
->> endobj
-2838 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13591 0 R
-/Kids [2832 0 R 2841 0 R 2850 0 R 2858 0 R 2868 0 R 2877 0 R]
->> endobj
-2891 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [2884 0 R 2894 0 R 2903 0 R 2911 0 R 2920 0 R 2931 0 R]
->> endobj
-2949 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [2942 0 R 2954 0 R 2964 0 R 2974 0 R 2985 0 R 2996 0 R]
->> endobj
-3014 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [3009 0 R 3022 0 R 3033 0 R 3045 0 R 3058 0 R 3067 0 R]
->> endobj
-3084 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [3078 0 R 3087 0 R 3107 0 R 3134 0 R 3178 0 R 3237 0 R]
->> endobj
-3311 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [3304 0 R 3362 0 R 3431 0 R 3487 0 R 3538 0 R 3585 0 R]
->> endobj
-3609 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13592 0 R
-/Kids [3601 0 R 3613 0 R 3622 0 R 3631 0 R 3642 0 R 3651 0 R]
->> endobj
-3665 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [3660 0 R 3669 0 R 3678 0 R 3686 0 R 3695 0 R 3706 0 R]
->> endobj
-3722 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [3715 0 R 3728 0 R 3739 0 R 3749 0 R 3759 0 R 3771 0 R]
->> endobj
-3788 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [3783 0 R 3794 0 R 3804 0 R 3814 0 R 3826 0 R 3834 0 R]
->> endobj
-3851 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [3844 0 R 3854 0 R 3884 0 R 3927 0 R 3944 0 R 3953 0 R]
->> endobj
-3967 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [3961 0 R 3970 0 R 3997 0 R 4045 0 R 4083 0 R 4137 0 R]
->> endobj
-4199 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13593 0 R
-/Kids [4183 0 R 4244 0 R 4299 0 R 4354 0 R 4403 0 R 4417 0 R]
->> endobj
-4442 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [4431 0 R 4445 0 R 4458 0 R 4469 0 R 4480 0 R 4491 0 R]
->> endobj
-4504 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [4501 0 R 4507 0 R 4525 0 R 4554 0 R 4592 0 R 4646 0 R]
->> endobj
-4686 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [4681 0 R 4694 0 R 4701 0 R 4712 0 R 4725 0 R 4763 0 R]
->> endobj
-4827 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [4810 0 R 4846 0 R 4863 0 R 4873 0 R 4887 0 R 4912 0 R]
->> endobj
-4951 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [4939 0 R 4963 0 R 4989 0 R 5015 0 R 5057 0 R 5103 0 R]
->> endobj
-5185 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13594 0 R
-/Kids [5180 0 R 5231 0 R 5248 0 R 5253 0 R 5265 0 R 5277 0 R]
->> endobj
-5301 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [5290 0 R 5306 0 R 5343 0 R 5390 0 R 5412 0 R 5424 0 R]
->> endobj
-5455 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [5445 0 R 5487 0 R 5523 0 R 5544 0 R 5581 0 R 5633 0 R]
->> endobj
-5706 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [5699 0 R 5722 0 R 5730 0 R 5736 0 R 5756 0 R 5771 0 R]
->> endobj
-5790 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [5784 0 R 5793 0 R 5801 0 R 5825 0 R 5866 0 R 5894 0 R]
->> endobj
-5914 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [5907 0 R 5929 0 R 5997 0 R 6018 0 R 6032 0 R 6059 0 R]
->> endobj
-6123 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13595 0 R
-/Kids [6113 0 R 6171 0 R 6232 0 R 6296 0 R 6361 0 R 6421 0 R]
->> endobj
-6481 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6466 0 R 6491 0 R 6498 0 R 6503 0 R 6508 0 R 6516 0 R]
->> endobj
-6530 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6524 0 R 6533 0 R 6540 0 R 6552 0 R 6563 0 R 6572 0 R]
->> endobj
-6586 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6579 0 R 6589 0 R 6598 0 R 6606 0 R 6616 0 R 6626 0 R]
->> endobj
-6645 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6639 0 R 6650 0 R 6660 0 R 6672 0 R 6685 0 R 6697 0 R]
->> endobj
-6717 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6711 0 R 6726 0 R 6737 0 R 6753 0 R 6761 0 R 6787 0 R]
->> endobj
-6839 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13596 0 R
-/Kids [6825 0 R 6874 0 R 6921 0 R 6941 0 R 6947 0 R 6960 0 R]
->> endobj
-6984 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [6977 0 R 6988 0 R 7027 0 R 7072 0 R 7105 0 R 7120 0 R]
->> endobj
-7140 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [7129 0 R 7156 0 R 7183 0 R 7217 0 R 7236 0 R 7248 0 R]
->> endobj
-7266 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [7256 0 R 7286 0 R 7325 0 R 7398 0 R 7465 0 R 7489 0 R]
->> endobj
-7507 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [7498 0 R 7510 0 R 7524 0 R 7538 0 R 7560 0 R 7613 0 R]
->> endobj
-7674 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [7664 0 R 7708 0 R 7729 0 R 7741 0 R 7750 0 R 7759 0 R]
->> endobj
-7776 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13597 0 R
-/Kids [7769 0 R 7793 0 R 7843 0 R 7865 0 R 7875 0 R 7883 0 R]
->> endobj
-7899 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [7892 0 R 7906 0 R 7936 0 R 7990 0 R 8043 0 R 8106 0 R]
->> endobj
-8170 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [8167 0 R 8235 0 R 8294 0 R 8353 0 R 8375 0 R 8387 0 R]
->> endobj
-8401 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [8394 0 R 8404 0 R 8413 0 R 8422 0 R 8432 0 R 8440 0 R]
->> endobj
-8455 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [8450 0 R 8458 0 R 8466 0 R 8475 0 R 8486 0 R 8498 0 R]
->> endobj
-8515 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [8509 0 R 8520 0 R 8530 0 R 8542 0 R 8551 0 R 8564 0 R]
->> endobj
-8581 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13598 0 R
-/Kids [8576 0 R 8587 0 R 8599 0 R 8611 0 R 8619 0 R 8630 0 R]
->> endobj
-8647 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [8641 0 R 8683 0 R 8737 0 R 8792 0 R 8849 0 R 8921 0 R]
->> endobj
-8983 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [8972 0 R 9007 0 R 9039 0 R 9054 0 R 9061 0 R 9069 0 R]
->> endobj
-9082 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [9077 0 R 9085 0 R 9093 0 R 9103 0 R 9110 0 R 9117 0 R]
->> endobj
-9133 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [9126 0 R 9136 0 R 9147 0 R 9155 0 R 9168 0 R 9182 0 R]
->> endobj
-9199 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [9194 0 R 9206 0 R 9215 0 R 9228 0 R 9238 0 R 9252 0 R]
->> endobj
-9281 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13599 0 R
-/Kids [9270 0 R 9313 0 R 9366 0 R 9424 0 R 9459 0 R 9475 0 R]
->> endobj
-9487 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [9484 0 R 9497 0 R 9510 0 R 9518 0 R 9523 0 R 9530 0 R]
->> endobj
-9550 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [9543 0 R 9553 0 R 9563 0 R 9587 0 R 9639 0 R 9661 0 R]
->> endobj
-9697 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [9686 0 R 9726 0 R 9774 0 R 9799 0 R 9821 0 R 9834 0 R]
->> endobj
-9891 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [9880 0 R 9933 0 R 9987 0 R 10042 0 R 10114 0 R 10166 0 R]
->> endobj
-10222 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [10212 0 R 10236 0 R 10247 0 R 10255 0 R 10262 0 R 10272 0 R]
->> endobj
-10286 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13600 0 R
-/Kids [10281 0 R 10289 0 R 10297 0 R 10306 0 R 10316 0 R 10326 0 R]
->> endobj
-10342 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [10336 0 R 10348 0 R 10360 0 R 10372 0 R 10383 0 R 10395 0 R]
->> endobj
-10414 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [10409 0 R 10422 0 R 10435 0 R 10449 0 R 10479 0 R 10510 0 R]
->> endobj
-10554 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [10540 0 R 10570 0 R 10606 0 R 10656 0 R 10717 0 R 10777 0 R]
->> endobj
-10858 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [10850 0 R 10914 0 R 10955 0 R 11008 0 R 11030 0 R 11037 0 R]
->> endobj
-11045 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [11042 0 R 11048 0 R 11057 0 R 11065 0 R 11074 0 R 11084 0 R]
->> endobj
-11099 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13601 0 R
-/Kids [11094 0 R 11102 0 R 11110 0 R 11119 0 R 11127 0 R 11136 0 R]
->> endobj
-11155 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11148 0 R 11161 0 R 11174 0 R 11186 0 R 11197 0 R 11207 0 R]
->> endobj
-11227 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11221 0 R 11238 0 R 11249 0 R 11261 0 R 11272 0 R 11282 0 R]
->> endobj
-11314 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11303 0 R 11340 0 R 11393 0 R 11429 0 R 11462 0 R 11477 0 R]
->> endobj
-11495 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11486 0 R 11498 0 R 11513 0 R 11531 0 R 11545 0 R 11579 0 R]
->> endobj
-11613 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11604 0 R 11635 0 R 11662 0 R 11678 0 R 11743 0 R 11806 0 R]
->> endobj
-11873 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13602 0 R
-/Kids [11870 0 R 11935 0 R 12011 0 R 12074 0 R 12143 0 R 12214 0 R]
->> endobj
-12276 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13603 0 R
-/Kids [12273 0 R 12380 0 R 12503 0 R 12618 0 R 12731 0 R 12855 0 R]
->> endobj
-12975 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 13603 0 R
-/Kids [12972 0 R 13091 0 R 13183 0 R 13255 0 R 13322 0 R 13390 0 R]
->> endobj
-13456 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 13603 0 R
-/Kids [13453 0 R 13480 0 R]
->> endobj
-13589 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [367 0 R 539 0 R 618 0 R 692 0 R 791 0 R 882 0 R]
->> endobj
-13590 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [1002 0 R 1123 0 R 1167 0 R 1210 0 R 1388 0 R 1668 0 R]
->> endobj
-13591 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [1805 0 R 2078 0 R 2241 0 R 2304 0 R 2570 0 R 2838 0 R]
->> endobj
-13592 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [2891 0 R 2949 0 R 3014 0 R 3084 0 R 3311 0 R 3609 0 R]
->> endobj
-13593 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [3665 0 R 3722 0 R 3788 0 R 3851 0 R 3967 0 R 4199 0 R]
->> endobj
-13594 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13604 0 R
-/Kids [4442 0 R 4504 0 R 4686 0 R 4827 0 R 4951 0 R 5185 0 R]
->> endobj
-13595 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [5301 0 R 5455 0 R 5706 0 R 5790 0 R 5914 0 R 6123 0 R]
->> endobj
-13596 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [6481 0 R 6530 0 R 6586 0 R 6645 0 R 6717 0 R 6839 0 R]
->> endobj
-13597 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [6984 0 R 7140 0 R 7266 0 R 7507 0 R 7674 0 R 7776 0 R]
->> endobj
-13598 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [7899 0 R 8170 0 R 8401 0 R 8455 0 R 8515 0 R 8581 0 R]
->> endobj
-13599 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [8647 0 R 8983 0 R 9082 0 R 9133 0 R 9199 0 R 9281 0 R]
->> endobj
-13600 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13605 0 R
-/Kids [9487 0 R 9550 0 R 9697 0 R 9891 0 R 10222 0 R 10286 0 R]
->> endobj
-13601 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13606 0 R
-/Kids [10342 0 R 10414 0 R 10554 0 R 10858 0 R 11045 0 R 11099 0 R]
->> endobj
-13602 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 13606 0 R
-/Kids [11155 0 R 11227 0 R 11314 0 R 11495 0 R 11613 0 R 11873 0 R]
->> endobj
-13603 0 obj <<
-/Type /Pages
-/Count 14
-/Parent 13606 0 R
-/Kids [12276 0 R 12975 0 R 13456 0 R]
->> endobj
-13604 0 obj <<
-/Type /Pages
-/Count 216
-/Parent 13607 0 R
-/Kids [13589 0 R 13590 0 R 13591 0 R 13592 0 R 13593 0 R 13594 0 R]
->> endobj
-13605 0 obj <<
-/Type /Pages
-/Count 216
-/Parent 13607 0 R
-/Kids [13595 0 R 13596 0 R 13597 0 R 13598 0 R 13599 0 R 13600 0 R]
->> endobj
-13606 0 obj <<
-/Type /Pages
-/Count 86
-/Parent 13607 0 R
-/Kids [13601 0 R 13602 0 R 13603 0 R]
->> endobj
-13607 0 obj <<
-/Type /Pages
-/Count 518
-/Kids [13604 0 R 13605 0 R 13606 0 R]
->> endobj
-13608 0 obj <<
-/Type /Outlines
-/First 3 0 R
-/Last 131 0 R
-/Count 10
->> endobj
-355 0 obj <<
-/Title 356 0 R
-/A 353 0 R
-/Parent 131 0 R
-/Prev 351 0 R
->> endobj
-351 0 obj <<
-/Title 352 0 R
-/A 349 0 R
-/Parent 131 0 R
-/Prev 347 0 R
-/Next 355 0 R
->> endobj
-347 0 obj <<
-/Title 348 0 R
-/A 345 0 R
-/Parent 131 0 R
-/Prev 343 0 R
-/Next 351 0 R
->> endobj
-343 0 obj <<
-/Title 344 0 R
-/A 341 0 R
-/Parent 131 0 R
-/Prev 339 0 R
-/Next 347 0 R
->> endobj
-339 0 obj <<
-/Title 340 0 R
-/A 337 0 R
-/Parent 131 0 R
-/Prev 335 0 R
-/Next 343 0 R
->> endobj
-335 0 obj <<
-/Title 336 0 R
-/A 333 0 R
-/Parent 131 0 R
-/Prev 331 0 R
-/Next 339 0 R
->> endobj
-331 0 obj <<
-/Title 332 0 R
-/A 329 0 R
-/Parent 131 0 R
-/Prev 327 0 R
-/Next 335 0 R
->> endobj
-327 0 obj <<
-/Title 328 0 R
-/A 325 0 R
-/Parent 131 0 R
-/Prev 323 0 R
-/Next 331 0 R
->> endobj
-323 0 obj <<
-/Title 324 0 R
-/A 321 0 R
-/Parent 131 0 R
-/Prev 319 0 R
-/Next 327 0 R
->> endobj
-319 0 obj <<
-/Title 320 0 R
-/A 317 0 R
-/Parent 131 0 R
-/Prev 315 0 R
-/Next 323 0 R
->> endobj
-315 0 obj <<
-/Title 316 0 R
-/A 313 0 R
-/Parent 131 0 R
-/Prev 311 0 R
-/Next 319 0 R
->> endobj
-311 0 obj <<
-/Title 312 0 R
-/A 309 0 R
-/Parent 131 0 R
-/Prev 307 0 R
-/Next 315 0 R
->> endobj
-307 0 obj <<
-/Title 308 0 R
-/A 305 0 R
-/Parent 131 0 R
-/Prev 303 0 R
-/Next 311 0 R
->> endobj
-303 0 obj <<
-/Title 304 0 R
-/A 301 0 R
-/Parent 131 0 R
-/Prev 299 0 R
-/Next 307 0 R
->> endobj
-299 0 obj <<
-/Title 300 0 R
-/A 297 0 R
-/Parent 131 0 R
-/Prev 295 0 R
-/Next 303 0 R
->> endobj
-295 0 obj <<
-/Title 296 0 R
-/A 293 0 R
-/Parent 131 0 R
-/Prev 291 0 R
-/Next 299 0 R
->> endobj
-291 0 obj <<
-/Title 292 0 R
-/A 289 0 R
-/Parent 131 0 R
-/Prev 287 0 R
-/Next 295 0 R
->> endobj
-287 0 obj <<
-/Title 288 0 R
-/A 285 0 R
-/Parent 131 0 R
-/Prev 283 0 R
-/Next 291 0 R
->> endobj
-283 0 obj <<
-/Title 284 0 R
-/A 281 0 R
-/Parent 131 0 R
-/Prev 279 0 R
-/Next 287 0 R
->> endobj
-279 0 obj <<
-/Title 280 0 R
-/A 277 0 R
-/Parent 131 0 R
-/Prev 275 0 R
-/Next 283 0 R
->> endobj
-275 0 obj <<
-/Title 276 0 R
-/A 273 0 R
-/Parent 131 0 R
-/Prev 271 0 R
-/Next 279 0 R
->> endobj
-271 0 obj <<
-/Title 272 0 R
-/A 269 0 R
-/Parent 131 0 R
-/Prev 267 0 R
-/Next 275 0 R
->> endobj
-267 0 obj <<
-/Title 268 0 R
-/A 265 0 R
-/Parent 131 0 R
-/Prev 263 0 R
-/Next 271 0 R
->> endobj
-263 0 obj <<
-/Title 264 0 R
-/A 261 0 R
-/Parent 131 0 R
-/Prev 259 0 R
-/Next 267 0 R
->> endobj
-259 0 obj <<
-/Title 260 0 R
-/A 257 0 R
-/Parent 131 0 R
-/Prev 255 0 R
-/Next 263 0 R
->> endobj
-255 0 obj <<
-/Title 256 0 R
-/A 253 0 R
-/Parent 131 0 R
-/Prev 251 0 R
-/Next 259 0 R
->> endobj
-251 0 obj <<
-/Title 252 0 R
-/A 249 0 R
-/Parent 131 0 R
-/Prev 247 0 R
-/Next 255 0 R
->> endobj
-247 0 obj <<
-/Title 248 0 R
-/A 245 0 R
-/Parent 131 0 R
-/Prev 243 0 R
-/Next 251 0 R
->> endobj
-243 0 obj <<
-/Title 244 0 R
-/A 241 0 R
-/Parent 131 0 R
-/Prev 239 0 R
-/Next 247 0 R
->> endobj
-239 0 obj <<
-/Title 240 0 R
-/A 237 0 R
-/Parent 131 0 R
-/Prev 235 0 R
-/Next 243 0 R
->> endobj
-235 0 obj <<
-/Title 236 0 R
-/A 233 0 R
-/Parent 131 0 R
-/Prev 231 0 R
-/Next 239 0 R
->> endobj
-231 0 obj <<
-/Title 232 0 R
-/A 229 0 R
-/Parent 131 0 R
-/Prev 227 0 R
-/Next 235 0 R
->> endobj
-227 0 obj <<
-/Title 228 0 R
-/A 225 0 R
-/Parent 131 0 R
-/Prev 223 0 R
-/Next 231 0 R
->> endobj
-223 0 obj <<
-/Title 224 0 R
-/A 221 0 R
-/Parent 131 0 R
-/Prev 219 0 R
-/Next 227 0 R
->> endobj
-219 0 obj <<
-/Title 220 0 R
-/A 217 0 R
-/Parent 131 0 R
-/Prev 215 0 R
-/Next 223 0 R
->> endobj
-215 0 obj <<
-/Title 216 0 R
-/A 213 0 R
-/Parent 131 0 R
-/Prev 211 0 R
-/Next 219 0 R
->> endobj
-211 0 obj <<
-/Title 212 0 R
-/A 209 0 R
-/Parent 131 0 R
-/Prev 207 0 R
-/Next 215 0 R
->> endobj
-207 0 obj <<
-/Title 208 0 R
-/A 205 0 R
-/Parent 131 0 R
-/Prev 203 0 R
-/Next 211 0 R
->> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 131 0 R
-/Prev 199 0 R
-/Next 207 0 R
->> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 131 0 R
-/Prev 195 0 R
-/Next 203 0 R
->> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 131 0 R
-/Prev 191 0 R
-/Next 199 0 R
->> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 131 0 R
-/Prev 187 0 R
-/Next 195 0 R
->> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 131 0 R
-/Prev 183 0 R
-/Next 191 0 R
->> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 131 0 R
-/Prev 179 0 R
-/Next 187 0 R
->> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 131 0 R
-/Prev 175 0 R
-/Next 183 0 R
->> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 131 0 R
-/Prev 171 0 R
-/Next 179 0 R
->> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 131 0 R
-/Prev 167 0 R
-/Next 175 0 R
->> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 131 0 R
-/Prev 163 0 R
-/Next 171 0 R
->> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 131 0 R
-/Prev 159 0 R
-/Next 167 0 R
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 131 0 R
-/Prev 155 0 R
-/Next 163 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 131 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 131 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 131 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 131 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 131 0 R
-/Prev 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 131 0 R
-/Next 139 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 13608 0 R
-/Prev 115 0 R
-/First 135 0 R
-/Last 355 0 R
-/Count -56
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 115 0 R
-/Prev 123 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 115 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 13608 0 R
-/Prev 107 0 R
-/Next 131 0 R
-/First 119 0 R
-/Last 127 0 R
-/Count -3
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 107 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 13608 0 R
-/Prev 99 0 R
-/Next 115 0 R
-/First 111 0 R
-/Last 111 0 R
-/Count -1
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 99 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 13608 0 R
-/Prev 91 0 R
-/Next 107 0 R
-/First 103 0 R
-/Last 103 0 R
-/Count -1
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 91 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 13608 0 R
-/Prev 83 0 R
-/Next 99 0 R
-/First 95 0 R
-/Last 95 0 R
-/Count -1
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 83 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 13608 0 R
-/Prev 75 0 R
-/Next 91 0 R
-/First 87 0 R
-/Last 87 0 R
-/Count -1
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 75 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 13608 0 R
-/Prev 71 0 R
-/Next 83 0 R
-/First 79 0 R
-/Last 79 0 R
-/Count -1
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 13608 0 R
-/Prev 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 13608 0 R
-/Prev 3 0 R
-/Next 71 0 R
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 3 0 R
-/Prev 59 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 3 0 R
-/Prev 55 0 R
-/Next 63 0 R
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 3 0 R
-/Prev 51 0 R
-/Next 59 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 3 0 R
-/Prev 47 0 R
-/Next 55 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 3 0 R
-/Prev 43 0 R
-/Next 51 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 3 0 R
-/Prev 39 0 R
-/Next 47 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 3 0 R
-/Prev 35 0 R
-/Next 43 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 3 0 R
-/Prev 31 0 R
-/Next 39 0 R
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 3 0 R
-/Prev 27 0 R
-/Next 35 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 3 0 R
-/Prev 23 0 R
-/Next 31 0 R
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 3 0 R
-/Prev 19 0 R
-/Next 27 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 3 0 R
-/Prev 15 0 R
-/Next 23 0 R
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 3 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 3 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 3 0 R
-/Next 11 0 R
->> endobj
-3 0 obj <<
-/Title 4 0 R
-/A 1 0 R
-/Parent 13608 0 R
-/Next 67 0 R
-/First 7 0 R
-/Last 63 0 R
-/Count -15
->> endobj
-13609 0 obj <<
-/Names [(Doc-Start) 362 0 R (GFDL) 1194 0 R (GFDL_GFDL) 402 0 R (GPL) 1121 0 R (GPL_GPL) 403 0 R (Item.1) 549 0 R]
-/Limits [(Doc-Start) (Item.1)]
->> endobj
-13610 0 obj <<
-/Names [(Item.2) 550 0 R (Item.3) 556 0 R (Item.4) 557 0 R (Item.5) 558 0 R (classParma__Polyhedra__Library_1_1BD__Shape) 524 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) 2706 0 R]
-/Limits [(Item.2) (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032)]
->> endobj
-13611 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) 2397 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) 2639 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa) 2645 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) 2647 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) 2762 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a)]
->> endobj
-13612 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) 2403 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) 2391 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) 2404 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) 2527 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) 2707 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) (classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd)]
->> endobj
-13613 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) 2396 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) 2520 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) 2456 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51) 2763 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) 2572 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209)]
->> endobj
-13614 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) 2813 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) 2515 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a24d2b69146ab1b2216e437468a818cea) 2713 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) 2457 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1) 2463 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a221657648a7e456dba61589e37765cd4) (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3)]
->> endobj
-13615 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) 2574 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) 2569 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6) 2717 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) 2519 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) 2581 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964)]
->> endobj
-13616 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) 2568 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4) 2710 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a47a21a1c8a88c306877d15d4dbc697b4) 2814 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) 2526 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da) 2640 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) (classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e)]
->> endobj
-13617 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) 2810 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) 2575 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) 2516 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5616d386d85dc734e155a67f12e7752f) 2709 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) 2708 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a5049b85730d6720536be440753b11ed8) (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294)]
->> endobj
-13618 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) 2524 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) 2514 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) 2759 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873) 2466 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) 2582 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07)]
->> endobj
-13619 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) 2641 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) 2525 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) 2465 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96) 2649 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) 2453 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8)]
->> endobj
-13620 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) 2643 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2) 2638 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) 2642 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) 2523 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) 2567 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9)]
->> endobj
-13621 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) 2817 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) 2580 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) 2578 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) 2459 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) 2395 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529)]
->> endobj
-13622 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) 2648 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9bf45a32e428970068f654258dd7fb0c) 2451 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685) 2756 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa07f93a685253eb04edab43b5ebd27b2) 2462 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) 2452 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1)]
->> endobj
-13623 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) 2577 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) 2400 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) 2760 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) 2758 0 R (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) 2450 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) (classParma__Polyhedra__Library_1_1BD__Shape_ac65231748a66ac5c074502cc8e652e10)]
->> endobj
-13624 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) 2458 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ac91aac77237c2405df039c4fcfa08ab0) 2764 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) 2521 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) 2513 0 R (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) 2755 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0)]
->> endobj
-13625 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) 2811 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) 2579 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) 2573 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) 2390 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) 2454 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_acdc537f0aa5117fe3749d3c50b7dc4fd) (classParma__Polyhedra__Library_1_1BD__Shape_ad0a9267e420144cacfb867076d00a803)]
->> endobj
-13626 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) 2583 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478) 2571 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) 2704 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) 2460 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) 2716 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b)]
->> endobj
-13627 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) 2399 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) 2646 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae5c66812ab981ee2d1ab96ce218a7782) 2815 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a) 2518 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) 2751 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70)]
->> endobj
-13628 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) 2715 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) 2393 0 R (classParma__Polyhedra__Library_1_1BD__Shape_af4b0f891a6911d7784216f537fa3e473) 2812 0 R (classParma__Polyhedra__Library_1_1BD__Shape_af6351727d099ad178db8b8e742507f4c) 2818 0 R (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e) 2757 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) (classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936)]
->> endobj
-13629 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) 2402 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) 934 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) 3118 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) 3114 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae) 3113 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_afad498a5802a7928442fd0d4b8c6183f) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4)]
->> endobj
-13630 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) 3116 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) 3115 0 R (classParma__Polyhedra__Library_1_1Box) 526 0 R (classParma__Polyhedra__Library_1_1Box_a00f095adfc747a3b56312f5beb93b621) 3500 0 R (classParma__Polyhedra__Library_1_1Box_a025c54a0d06e882346b74c0624ee6e71) 3554 0 R (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99 [...]
-/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99)]
->> endobj
-13631 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) 3309 0 R (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226) 3441 0 R (classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) 3547 0 R (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) 3551 0 R (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) 3320 0 R (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7)]
->> endobj
-13632 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) 3444 0 R (classParma__Polyhedra__Library_1_1Box_a1915597423b1aa0dbed55312b2308efd) 3555 0 R (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b) 3544 0 R (classParma__Polyhedra__Library_1_1Box_a1d8eb71bd67ae50436968e7323bbeb7e) 3145 0 R (classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) 3548 0 R (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81)]
->> endobj
-13633 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) 3242 0 R (classParma__Polyhedra__Library_1_1Box_a2d20e2dc8d4d0fbbdf87bd01a51dc01e) 3592 0 R (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) 3498 0 R (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71) 3367 0 R (classParma__Polyhedra__Library_1_1Box_a2f516cd923f94296daf57c8ace328af9) 3256 0 R (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2)]
->> endobj
-13634 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) 3183 0 R (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558) 3246 0 R (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) 3315 0 R (classParma__Polyhedra__Library_1_1Box_a3a5a6288b0ad32439b465341c6c1c528) 3503 0 R (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd) 3314 0 R (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73)]
->> endobj
-13635 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) 3436 0 R (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) 3195 0 R (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) 3318 0 R (classParma__Polyhedra__Library_1_1Box_a438eaa92ba7d9f7d8ec085fe9b00ec0b) 3593 0 R (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) 3505 0 R (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) (classParma__Polyhedra__Library_1_1Box_a4b5e1306956d46f1ee477428b451b44b)]
->> endobj
-13636 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) 3322 0 R (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) 3542 0 R (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) 3323 0 R (classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) 3543 0 R (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) 3312 0 R (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb63816 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) (classParma__Polyhedra__Library_1_1Box_a597f9740fbc8534391d2c8cb6381660c)]
->> endobj
-13637 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) 3553 0 R (classParma__Polyhedra__Library_1_1Box_a5c02cdac1cee4eda75e568ef9f550da9) 3255 0 R (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) 3184 0 R (classParma__Polyhedra__Library_1_1Box_a6592baa6045a08fe1eb0ba33e8ed2942) 3591 0 R (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) 3378 0 R (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a5b6323dfa423ea57b8d845237d9b576d) (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58)]
->> endobj
-13638 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) 3375 0 R (classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) 3496 0 R (classParma__Polyhedra__Library_1_1Box_a6df86d90bff51a8827ba3011506639e2) 3501 0 R (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) 3307 0 R (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) 3373 0 R (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b)]
->> endobj
-13639 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) 3243 0 R (classParma__Polyhedra__Library_1_1Box_a7e3ffa1dd9894e6418bd153a4cd2de12) 3252 0 R (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) 3247 0 R (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) 3187 0 R (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) 3188 0 R (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d3757 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) (classParma__Polyhedra__Library_1_1Box_a852ebcee0de832c12a87ad15d37570a2)]
->> endobj
-13640 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) 3590 0 R (classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) 3380 0 R (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) 3313 0 R (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) 3245 0 R (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) 3319 0 R (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a8653fd3779f7a28930872b1f885f25ee) (classParma__Polyhedra__Library_1_1Box_a91546e88fe3474f55bc6f0eceffa7251)]
->> endobj
-13641 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) 3549 0 R (classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) 3372 0 R (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) 3376 0 R (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) 3491 0 R (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) 3249 0 R (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cc [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a)]
->> endobj
-13642 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) 3381 0 R (classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) 3321 0 R (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) 3370 0 R (classParma__Polyhedra__Library_1_1Box_aa7961325727c376428ef2f9431e0c204) 3191 0 R (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) 3182 0 R (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce)]
->> endobj
-13643 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) 3369 0 R (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) 3192 0 R (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) 3181 0 R (classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) 3371 0 R (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) 3504 0 R (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f268 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb)]
->> endobj
-13644 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) 3379 0 R (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) 3443 0 R (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa) 3308 0 R (classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) 3499 0 R (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) 3190 0 R (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b5 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
->> endobj
-13645 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) 3189 0 R (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142) 3244 0 R (classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) 3240 0 R (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) 3141 0 R (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) 3193 0 R (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac)]
->> endobj
-13646 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) 3144 0 R (classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) 3438 0 R (classParma__Polyhedra__Library_1_1Box_adb355a57fc1949b2ef9627d45be5f9bc) 3253 0 R (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) 3186 0 R (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) 3251 0 R (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) (classParma__Polyhedra__Library_1_1Box_adf00a3a6522cd0b27a52ba3e2ab5c8ab)]
->> endobj
-13647 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) 3442 0 R (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) 3185 0 R (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) 3437 0 R (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) 3374 0 R (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) 3446 0 R (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) (classParma__Polyhedra__Library_1_1Box_af03e6aabc70746d795e2fd524e15f283)]
->> endobj
-13648 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) 3552 0 R (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) 3502 0 R (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) 3254 0 R (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81) 3440 0 R (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) 3447 0 R (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e26 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc)]
->> endobj
-13649 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron) 507 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) 3932 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) 3891 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) 3890 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) 3889 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d0 [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron) (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd)]
->> endobj
-13650 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) 3941 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) 3933 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a68e25304a250a8c739927adfb90043d1) 3936 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6b286c9e001bf126a0ab85aac675786d) 3938 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d) 3931 0 R (classParma__Polyhe [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c)]
->> endobj
-13651 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) 3935 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) 3895 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574) 3939 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) 3892 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) 3894 0 R (classParma__Polyhe [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) (classParma__Polyhedra__Library_1_1C__Polyhedron_ae9a2b78be6811d666fb9d145078d796d)]
->> endobj
-13652 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) 3940 0 R (classParma__Polyhedra__Library_1_1Checked__Number) 1329 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) 4141 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) 4150 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) 4196 0 R (classParma__Polyhedra__Library_1_1Checked__N [...]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16)]
->> endobj
-13653 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) 4146 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a0acb1530838a14041c43002dd8ee3541) 4251 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) 4095 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a16b12775a696c6e304cf9ee7ffe2213e) 4407 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) 4192 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a08ceb442794b5f60c1ad09ce744371e1) (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9)]
->> endobj
-13654 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) 4361 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) 4050 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) 4089 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) 4142 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2857ee1039a41cfab001c0ba21c69ac3) 4149 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a1d723d4d200b4a6a694b141c7b6f408e) (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b)]
->> endobj
-13655 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) 4248 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2ee8a6019070192609b3ea6e5dfa3018) 4410 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2f03dea4f9d5f0e15e18785cf3dd58a3) 4259 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2f9c525f46f4ff5707b505a88c82aee0) 4303 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a307453961ae9779ce9e1e3ebcc94496d) 4310 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a2b39d89b5938161bd8922b7c1f28f637) (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72)]
->> endobj
-13656 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) 4250 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) 4194 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3f5e732694ad7d879ac7eaef0668073a) 4307 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) 4061 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) 4055 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a356bd3ccfaa76c0ef4452a34ce767897) (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938)]
->> endobj
-13657 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) 4249 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4ce2f9170fb3470ba10d87607c3c0bf3) 4007 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4ced0eee2a4a2c50779c2d01ef022500) 4412 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) 4051 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) 4090 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_a59638854527a5bebee3676750668c63a)]
->> endobj
-13658 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a5fa74080d6f3e00a7a0291e03f897390) 4363 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6133c234bff425e6feac34cef06b74b2) 4413 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) 4143 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) 4100 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) 4057 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a5fa74080d6f3e00a7a0291e03f897390) (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b)]
->> endobj
-13659 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) 4101 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a72ef8379745ed9575b39216ba1e51d18) 4188 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) 4056 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a755f1ffc7dbac4ff01984c02774c9bc6) 4253 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a761744f24a8e2faed19912950cf13baf) 4152 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) (classParma__Polyhedra__Library_1_1Checked__Number_a76b5e4c5b9628c14a7d227517b8fb349)]
->> endobj
-13660 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) 4060 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a798df1392d067294fc936bcfa19745c4) 4306 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a79a5a323f582c4260790552d3be140fd) 4367 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452) 4094 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) 4186 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) (classParma__Polyhedra__Library_1_1Checked__Number_a7e90d52413515d81ad9b68fb1740d869)]
->> endobj
-13661 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a80993a2a72759ec030dd3cde21c8a00d) 4145 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) 4048 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a84ea81a9b4eed51ac13029dbccf67662) 4252 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) 4147 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) 4091 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a80993a2a72759ec030dd3cde21c8a00d) (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5)]
->> endobj
-13662 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a956de4112c520bb87767ce894b4d512d) 4140 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a95ac9759a14fe23bf8d02a621e4e9e5c) 4313 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) 4096 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9a28ec8161898b61530de9bbb4a3251d) 2305 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9b45abd63e1255df8341775c8f42b842) 4364 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a956de4112c520bb87767ce894b4d512d) (classParma__Polyhedra__Library_1_1Checked__Number_a9c4298d04019ab7b5233ddceb430be03)]
->> endobj
-13663 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) 4086 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa355ae6b2a2a704e88060541fbaa6562) 4408 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) 4087 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa7885d402d5653321f316029ca0af517) 4414 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa831d9698f64ff610fa1b3341025603a) 4311 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) (classParma__Polyhedra__Library_1_1Checked__Number_aa8f66682c527ff5a5a2496de0e3fb2ec)]
->> endobj
-13664 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) 4099 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab1b19ff2b88ffca75ac27208cdd877a2) 4305 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) 4144 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) 4053 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab65697a5fab14ca76c391a3aa523e3f6) 4247 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) (classParma__Polyhedra__Library_1_1Checked__Number_ab733c7c83da19667a83c2a3abafa5d05)]
->> endobj
-13665 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) 4009 0 R (classParma__Polyhedra__Library_1_1Checked__Number_abb6ca6c02bde2f04d412129e4be9743e) 4258 0 R (classParma__Polyhedra__Library_1_1Checked__Number_abe0aef8acc1101523cfbf50ebce7528e) 4312 0 R (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) 4059 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) 4005 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) (classParma__Polyhedra__Library_1_1Checked__Number_ac32024703f8ac04b6b68ff1761575d2d)]
->> endobj
-13666 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ac62afeb287031d74441101af60be319a) 4261 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac95c1fbaee07d3a9cead4d07683f6168) 4187 0 R (classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) 4052 0 R (classParma__Polyhedra__Library_1_1Checked__Number_acdce8391d61c3090aa51f9d0656524a2) 4255 0 R (classParma__Polyhedra__Library_1_1Checked__Number_acf004b26ba068e346217011b6fd43ae3) 4362 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ac62afeb287031d74441101af60be319a) (classParma__Polyhedra__Library_1_1Checked__Number_ad3d8562d66aeed544d8ef75b941e807c)]
->> endobj
-13667 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ad5c5cd5266cf95dcdc0f03d0108168b5) 4409 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ad5ff0dd1267079af85d9938bb4a975de) 4360 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ad6c64cb3cfad6b8d7fb952e3f85347aa) 4254 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) 4062 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ada7d59af059bdfb2e485d341213e6d19) 4304 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ad5c5cd5266cf95dcdc0f03d0108168b5) (classParma__Polyhedra__Library_1_1Checked__Number_adda98cdf0bda436acac3193162fa53b0)]
->> endobj
-13668 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) 4195 0 R (classParma__Polyhedra__Library_1_1Checked__Number_adfb768d4ea63e2eb5d58aec03b999f17) 4256 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae179c684a9ed7eafbbac1825d17f7daa) 4193 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae3a660d2b2a34f69d2d0cb1cc77f6f69) 4063 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae4bfe4a80fb074c50ec17657eee225e8) 4359 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) (classParma__Polyhedra__Library_1_1Checked__Number_ae6fa6e27a794dc71b88169df7f08fcac)]
->> endobj
-13669 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) 4064 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4) 4098 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af1952cf5da3ecbadd8401b948e899a31) 4365 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af2441164b4c23a8203f399f561c9a7c7) 4006 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) 4058 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) (classParma__Polyhedra__Library_1_1Checked__Number_af9af63978105e142642222864ce7c3be)]
->> endobj
-13670 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) 4092 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4) 4097 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) 4093 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afc3433d8ec297e2d1fbdf559d93f9080) 4190 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) 4088 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8)]
->> endobj
-13671 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Checked__Number_afed617fd6598839b510b46a3857387d4) 4257 0 R (classParma__Polyhedra__Library_1_1Congruence) 1389 0 R (classParma__Polyhedra__Library_1_1Congruence__System) 1390 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) 1394 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) 4998 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__itera [...]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_afed617fd6598839b510b46a3857387d4) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af)]
->> endobj
-13672 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) 4995 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb) 4994 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) 4996 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e) 4997 0 R (classParma__Pol [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b)]
->> endobj
-13673 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) 4972 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba) 4974 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a044dbf593127c9e8cbbbe2a0d169c30c) 4769 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a067b4c27cf8643f8ded50ebda77da8aa) 4780 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) (classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae)]
->> endobj
-13674 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) 4853 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8) 4815 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) 4850 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) 4819 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) 485 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) (classParma__Polyhedra__Library_1_1Congruence__System_a37857f2dfb7b17609b671f9070be15ca)]
->> endobj
-13675 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) 4773 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7) 4777 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a535895e2351f7618e9107a38d9285d73) 4778 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) 4824 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) 481 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3)]
->> endobj
-13676 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a5cd2538767045bd89360588c37d2aedb) 4860 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a6b5016000dff8b0c774381316acc0a11) 4770 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) 4851 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) 4822 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a7f5a110ccdfd8efa5e0eac984f90d753) 482 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a5cd2538767045bd89360588c37d2aedb) (classParma__Polyhedra__Library_1_1Congruence__System_a99161b46c175aa485608154dbcc866cb)]
->> endobj
-13677 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) 4772 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa) 4818 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) 4823 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) 4855 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ab30ab523e337d72baa4edc802452e532) 476 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272)]
->> endobj
-13678 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) 4820 0 R (classParma__Polyhedra__Library_1_1Congruence__System_add39af06cea8afa45c772e94db8a1309) 4826 0 R (classParma__Polyhedra__Library_1_1Congruence__System_addf5f330215fb1878018673eff609704) 4775 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f) 4776 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) 482 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7)]
->> endobj
-13679 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) 4852 0 R (classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) 4774 0 R (classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) 4600 0 R (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b) 4603 0 R (classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) 4661 0 R (classParma__Polyh [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2)]
->> endobj
-13680 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_a2c93e938cd478716c7c9e5e9988f7a98) 4564 0 R (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c) 4652 0 R (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) 4664 0 R (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) 4605 0 R (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d) 4597 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a2c93e938cd478716c7c9e5e9988f7a98) (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46)]
->> endobj
-13681 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) 4596 0 R (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811) 4601 0 R (classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) 4599 0 R (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) 4690 0 R (classParma__Polyhedra__Library_1_1Congruence_a57362a4d56c397575a6d043cdbcec0f9) 4656 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd)]
->> endobj
-13682 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) 4650 0 R (classParma__Polyhedra__Library_1_1Congruence_a5b3db7ba1765b3a04f8d320968f70447) 4657 0 R (classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) 4611 0 R (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b) 4660 0 R (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) 4689 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf)]
->> endobj
-13683 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_a7facb7a06ac72f1af2bc514c788f1a38) 4655 0 R (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) 4654 0 R (classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) 4604 0 R (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) 4607 0 R (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) 4663 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a7facb7a06ac72f1af2bc514c788f1a38) (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15)]
->> endobj
-13684 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) 4563 0 R (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf) 4651 0 R (classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) 4562 0 R (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5) 4609 0 R (classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) 4602 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) (classParma__Polyhedra__Library_1_1Congruence_ac8652f34bdfa731c02c1900f62bd5e88)]
->> endobj
-13685 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) 4653 0 R (classParma__Polyhedra__Library_1_1Congruence_ad67d37524d1fb7f31766c0b02cb8591a) 4598 0 R (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) 4665 0 R (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c) 4688 0 R (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) 4608 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) (classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59)]
->> endobj
-13686 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Congruences__Reduction) 1391 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194) 4892 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) 4896 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0) 4891 0 R (classParma__Polyhedra__Library_1_1Constraint) 1396 0 R (classParma__Polyhedra__Library_1_1Constraint__System) [...]
-/Limits [(classParma__Polyhedra__Library_1_1Congruences__Reduction) (classParma__Polyhedra__Library_1_1Constraint__System)]
->> endobj
-13687 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) 1392 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a311a973ff993328d8cb3627f3af31129) 4920 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a3e8a8932563dfdc292fde93931f0bf2e) 4921 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a4fa3c4bbfb1c6905d95c08c2d90af526) 4922 0 R (classParma__Polyhedra__Library_1_1Constraint__Sys [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a6ba82ff86685d87dd34f4d441a7d769b)]
->> endobj
-13688 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_aa02f5903786b4da29daecddcb0db6cbf) 4919 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ab404db5180176140a7600b31616f9a07) 4923 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_ad8c2dc06b66e812182f2b1445940e7ff) 4942 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_af3c5bf7dd0135194b6c180dcb232ef54) 4917 0 R (classParma__Pol [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_aa02f5903786b4da29daecddcb0db6cbf) (classParma__Polyhedra__Library_1_1Constraint__System_a1097cf7cb41f29a02ba271abd2f00f5e)]
->> endobj
-13689 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) 5394 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a257775ae01cfcd011aca9bcbccb03da7) 5347 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) 5396 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) 5358 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) 535 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) (classParma__Polyhedra__Library_1_1Constraint__System_a3badc2f43376aa26f481af4800a3515b)]
->> endobj
-13690 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a50423c4391d0c3064787f19661914973) 5348 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad) 5395 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) 5362 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) 5354 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a61e02a6ed1b9dd0d6d306d76f5da55a2) 534 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a50423c4391d0c3064787f19661914973) (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc)]
->> endobj
-13691 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) 5393 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577) 5355 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) 5401 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad) 5397 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) 535 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c)]
->> endobj
-13692 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) 5350 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35) 5351 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) 5400 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ac92d2324f8ddea454926272e5ccc6dad) 5398 0 R (classParma__Polyhedra__Library_1_1Constraint__System_acd7d1ed2a688f0c6af96e1cff336f933) 536 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca)]
->> endobj
-13693 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) 5407 0 R (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9) 5352 0 R (classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) 5402 0 R (classParma__Polyhedra__Library_1_1Constraint__System_af882ff84afd3c2507e17ffa62ffd20a0) 5406 0 R (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) 5187 0 R (c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) (classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832)]
->> endobj
-13694 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) 5107 0 R (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42) 5116 0 R (classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) 5111 0 R (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30) 5244 0 R (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) 5066 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a)]
->> endobj
-13695 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) 5119 0 R (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) 5118 0 R (classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) 5241 0 R (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) 5239 0 R (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) 5062 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce)]
->> endobj
-13696 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) 5237 0 R (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) 5195 0 R (classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) 5070 0 R (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) 5189 0 R (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) 5242 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f)]
->> endobj
-13697 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) 5191 0 R (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7) 5198 0 R (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) 5190 0 R (classParma__Polyhedra__Library_1_1Constraint_a66a2134e0f7fc74d62b14f46631dc2c7) 5243 0 R (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940) 5112 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) (classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78)]
->> endobj
-13698 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) 5106 0 R (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) 5109 0 R (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) 5236 0 R (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) 5200 0 R (classParma__Polyhedra__Library_1_1Constraint_a8fb8b2fe343e5afa80edc06bfa31460b) 5076 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d)]
->> endobj
-13699 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) 5071 0 R (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) 5064 0 R (classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) 5117 0 R (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) 5108 0 R (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc) 5069 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) (classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb)]
->> endobj
-13700 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) 5183 0 R (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) 5196 0 R (classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) 5063 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) 5072 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e) 5075 0 R ( [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41)]
->> endobj
-13701 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) 5074 0 R (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) 5197 0 R (classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) 5245 0 R (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) 5186 0 R (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) 5192 0 R ( [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22)]
->> endobj
-13702 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) 5240 0 R (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225) 5120 0 R (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) 5194 0 R (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) 5199 0 R (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) 5188 0 R (classParma__Polyhedra__Library_1_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9)]
->> endobj
-13703 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Constraint_afa6ba487c08199e83a970fc49b53d3d0) 5113 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction) 1398 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) 5434 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab) 5432 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) 5433 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_afa6ba487c08199e83a970fc49b53d3d0) (classParma__Polyhedra__Library_1_1Determinate)]
->> endobj
-13704 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) 5495 0 R (classParma__Polyhedra__Library_1_1Determinate_a0861f18ccca1904bf9286f202c5b2648) 5505 0 R (classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) 5499 0 R (classParma__Polyhedra__Library_1_1Determinate_a0faddc05083260bac541ab1a8248c74e) 5504 0 R (classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) 5529 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) (classParma__Polyhedra__Library_1_1Determinate_a3596cd03bb91402d705bbf959506cb4b)]
->> endobj
-13705 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) 5539 0 R (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c) 5532 0 R (classParma__Polyhedra__Library_1_1Determinate_a589dd33f61bab61ce8dc566ae3955aa6) 5453 0 R (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be) 5491 0 R (classParma__Polyhedra__Library_1_1Determinate_a61f92a8e4bf29b1d20c3091cf7b4cec9) 5541 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) (classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6)]
->> endobj
-13706 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) 5534 0 R (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc) 5497 0 R (classParma__Polyhedra__Library_1_1Determinate_a84957b848ff686880af9d36337dcaf94) 5503 0 R (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) 5492 0 R (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) 5531 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509)]
->> endobj
-13707 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_abe00577479ebd726359fe57e7005d412) 5500 0 R (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94) 5454 0 R (classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) 5496 0 R (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38) 5494 0 R (classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) 5493 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_abe00577479ebd726359fe57e7005d412) (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207)]
->> endobj
-13708 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) 5533 0 R (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa) 5490 0 R (classParma__Polyhedra__Library_1_1Domain__Product) 1400 0 R (classParma__Polyhedra__Library_1_1GMP__Integer) 1403 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) 6014 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) 6012 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1)]
->> endobj
-13709 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) 6005 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) 6006 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) 6007 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09) 6011 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) 6004 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2)]
->> endobj
-13710 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) 5937 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce) 6008 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) 6010 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c) 6015 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) 6009 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a)]
->> endobj
-13711 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) 5939 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_ab2dfd07539bfb516c7ca2d04460064fa) 5940 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) 5938 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) 6013 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) 6003 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) (classParma__Polyhedra__Library_1_1Generator)]
->> endobj
-13712 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System) 1402 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) 1393 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a032aca0bd08a3c854d46b4a7c567b41b) 4967 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a16e25a87d3f2f1a0a454883b84bcf177) 4947 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a28cff68f198562b6921add86c58008af)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2f74f2b935a0e1900eafe79b7a305a02)]
->> endobj
-13713 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a47e2d2f9114f640ca24b3dc68b701152) 4945 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a83d49cacc2666db32082dabdac76acc4) 4949 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_aa2b418d948cce672416e77deb99b45b8) 4950 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ab2c21b4ce7f4f822e98343689525f1b8) 4966 0 R (classParma__Polyhed [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a47e2d2f9114f640ca24b3dc68b701152) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_afbb0b8b086aaa82499371c7faee19c3b)]
->> endobj
-13714 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) 5881 0 R (classParma__Polyhedra__Library_1_1Generator__System_a02e5a05e31a64af8bb2652645f74190d) 5877 0 R (classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) 5880 0 R (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) 5874 0 R (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) 5870 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec)]
->> endobj
-13715 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_a605b7611d045e0ea0ff47c2ec36c2268) 5831 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433) 5834 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) 5883 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) 5882 0 R (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) 5876 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a605b7611d045e0ea0ff47c2ec36c2268) (classParma__Polyhedra__Library_1_1Generator__System_a71a39e295673dabbc4661c7c0a2c3445)]
->> endobj
-13716 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) 5873 0 R (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1) 5835 0 R (classParma__Polyhedra__Library_1_1Generator__System_a9db5a39fe27d6c659e9c6ce626e83dfa) 5832 0 R (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) 5872 0 R (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d) 5837 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3)]
->> endobj
-13717 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) 5836 0 R (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe) 5875 0 R (classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) 5871 0 R (classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) 5838 0 R (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) 5879 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda)]
->> endobj
-13718 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) 5833 0 R (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) 5710 0 R (classParma__Polyhedra__Library_1_1Generator_a0fb144e5f3fb6815e4c28c89883607be) 5715 0 R (classParma__Polyhedra__Library_1_1Generator_a10cab5245f80aacd8000d0312730ec03) 5708 0 R (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) 5638 0 R (classParma__Polyhedra__Library [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) (classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293)]
->> endobj
-13719 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) 5594 0 R (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74) 5707 0 R (classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) 5646 0 R (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) 5586 0 R (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) 5647 0 R (classParma__Polyhedra__Library_1_1Gene [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783)]
->> endobj
-13720 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_a5363ddeed325652ee6c064a8936cfe57) 5712 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) 5595 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) 5597 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) 5596 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_a5363ddeed325652ee6c064a8936cfe57) (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f)]
->> endobj
-13721 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) 5648 0 R (classParma__Polyhedra__Library_1_1Generator_a5c56451d80b8c02636854053de9e0440) 5651 0 R (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) 5703 0 R (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) 5704 0 R (classParma__Polyhedra__Library_1_1Generator_a6b8dae6436867a53e27720ee211f1cc7) 5650 0 R (classParma__Polyhedra__Library_1_1Gene [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_a584f3fd5a19536644a66818169b16ac6) (classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420)]
->> endobj
-13722 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_a775a8cec41b0fcc88689a171f5be8546) 5643 0 R (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2) 5637 0 R (classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) 5590 0 R (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) 5639 0 R (classParma__Polyhedra__Library_1_1Generator_aa98511973ca14e8904e4e2c1f774bd3a) 5713 0 R (classParma__Polyhedra__Library_1_1Gene [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_a775a8cec41b0fcc88689a171f5be8546) (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0)]
->> endobj
-13723 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) 5649 0 R (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249) 5641 0 R (classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) 5645 0 R (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) 5709 0 R (classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) 5591 0 R (classParma__Polyhedra__Library_1_1Gene [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926)]
->> endobj
-13724 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) 5636 0 R (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4) 5592 0 R (classParma__Polyhedra__Library_1_1Generator_ae6206985cd5536c4dac181de5fb21247) 5711 0 R (classParma__Polyhedra__Library_1_1Generator_ae67eb83f2626818420b3201db09e3d58) 5726 0 R (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010) 5702 0 R (classParma__Polyhedra__Library_1_1Gene [...]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a)]
->> endobj
-13725 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) 5593 0 R (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb) 5642 0 R (classParma__Polyhedra__Library_1_1Generator_af4abff14e1b88cbb929f0733432477ff) 5714 0 R (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) 5600 0 R (classParma__Polyhedra__Library_1_1Grid) 527 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate) 1404 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) (classParma__Polyhedra__Library_1_1Grid__Certificate)]
->> endobj
-13726 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) 6796 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) 6794 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) 6799 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) 6792 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) 6793 0 R [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72)]
->> endobj
-13727 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator) 1405 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System) 1406 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) 1395 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) 5028 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) 5024 0 R (classParma__Polyhedra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb3496510a68512516cf65f8d214c2)]
->> endobj
-13728 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed) 5026 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) 5023 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) 5022 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) 5020  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e)]
->> endobj
-13729 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) 5027 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) 7039 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) 7078 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) 7084 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__S [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419)]
->> endobj
-13730 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229) 7085 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) 7044 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) 7080 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) 7108 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a642db539e09ba9a9746d490390097d73)]
->> endobj
-13731 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) 5915 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6c21214d11e4dc9738dad1f72501a286) 7032 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a72f8cca084e83cace83223ea0ea42bca) 7034 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) 7088 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f43fd48c07a63db5efa3564769)]
->> endobj
-13732 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d) 7079 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) 7116 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) 7036 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) 7110 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0bfafeac6438cecb2d2114e665)]
->> endobj
-13733 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e) 7076 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa2e9eec4ddeaf5dca3afa1976d36b703) 7041 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa8e33c8dd37c45144bf92a6984c7706a) 7086 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) 7075 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c083b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2)]
->> endobj
-13734 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) 7081 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd) 7043 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ad85c523fefc56e289bd9fdf878bb339a) 7117 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) 7083 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4ba [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b)]
->> endobj
-13735 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) 6926 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a065895a1428f9dc6b3002818686eff0f) 6933 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) 6888 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) 6934 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) 6886 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) (classParma__Polyhedra__Library_1_1Grid__Generator_a0fafb66fa4df451fd3e2f0392329f27b)]
->> endobj
-13736 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) 5741 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876) 6842 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) 6841 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66ae9cf46c5e08ead7689807e1c8ba30642) 6840 0 R (clas [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) (classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8)]
->> endobj
-13737 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) 6884 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1a15765e7fd1f486a9ee12a061dc4c76) 6935 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) 6835 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) 6881 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6) 6836 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c)]
->> endobj
-13738 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) 6837 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b) 6887 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) 6834 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a68e8cef74c6b4b5a56e2c791f41566e4) 6882 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce) 6938 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) (classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd)]
->> endobj
-13739 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) 6885 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471) 6883 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) 6878 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) 6937 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) 6830 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70)]
->> endobj
-13740 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_ac05ff6bef376a2835adbb0ca123a8e79) 6833 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac061731c4fec7f60c48e02ed9806b4bb) 6932 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) 6880 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) 6925 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) 6877 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ac05ff6bef376a2835adbb0ca123a8e79) (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c)]
->> endobj
-13741 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) 6891 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14) 6927 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_aedf9116549ffcced7a39f4596e65e5d0) 6931 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) 6928 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) 5780 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38)]
->> endobj
-13742 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) 6068 0 R (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd) 6190 0 R (classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) 6372 0 R (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) 6310 0 R (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd) 6425 0 R (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9)]
->> endobj
-13743 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) 6071 0 R (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0) 6237 0 R (classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) 6431 0 R (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114) 6243 0 R (classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) 6249 0 R (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b)]
->> endobj
-13744 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a19623ff8cea2239d66331f29c1d0268d) 6127 0 R (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553) 6472 0 R (classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) 6182 0 R (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) 6433 0 R (classParma__Polyhedra__Library_1_1Grid_a1ba0bd59426889233904d052224cab76) 6126 0 R (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b0953 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a19623ff8cea2239d66331f29c1d0268d) (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d)]
->> endobj
-13745 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) 6484 0 R (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) 6470 0 R (classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) 6303 0 R (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) 6186 0 R (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) 6368 0 R (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329)]
->> endobj
-13746 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) 6180 0 R (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564) 6070 0 R (classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) 6429 0 R (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) 6478 0 R (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) 6130 0 R (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da0 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf)]
->> endobj
-13747 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) 6122 0 R (classParma__Polyhedra__Library_1_1Grid_a470e6a581b91bc6d5a4a6388d1ddde99) 6128 0 R (classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) 6469 0 R (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) 6124 0 R (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) 6119 0 R (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec9 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f)]
->> endobj
-13748 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) 6181 0 R (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6) 6427 0 R (classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) 6434 0 R (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) 6482 0 R (classParma__Polyhedra__Library_1_1Grid_a60138f2b5d41fd62c862fdcd7c4a1e61) 6436 0 R (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497)]
->> endobj
-13749 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) 6308 0 R (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a) 6438 0 R (classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) 6175 0 R (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95) 6178 0 R (classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) 6069 0 R (classParma__Polyhedra__Library_1_1Grid_a732d3b59f8a0ba21a72877d [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) (classParma__Polyhedra__Library_1_1Grid_a732d3b59f8a0ba21a72877d5fa4b98a5)]
->> endobj
-13750 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) 6477 0 R (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791) 6435 0 R (classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) 6177 0 R (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) 6300 0 R (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252) 6246 0 R (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790)]
->> endobj
-13751 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) 6483 0 R (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4) 6120 0 R (classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) 6174 0 R (classParma__Polyhedra__Library_1_1Grid_a8c7fcb89eaea13582c4fecacc52d4ec3) 6375 0 R (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8) 6241 0 R (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499)]
->> endobj
-13752 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) 6301 0 R (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5) 6236 0 R (classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) 6118 0 R (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) 6312 0 R (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f) 6248 0 R (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3ee [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e)]
->> endobj
-13753 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) 6307 0 R (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf) 6430 0 R (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) 6485 0 R (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) 6373 0 R (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7) 6247 0 R (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a)]
->> endobj
-13754 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) 6245 0 R (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf) 6131 0 R (classParma__Polyhedra__Library_1_1Grid_aa598904833b374d50efc72c51914112c) 6426 0 R (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) 6377 0 R (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) 6370 0 R (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5)]
->> endobj
-13755 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) 6378 0 R (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70) 6311 0 R (classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) 6374 0 R (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) 6305 0 R (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c) 6432 0 R (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6)]
->> endobj
-13756 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) 6179 0 R (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe) 6244 0 R (classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) 6176 0 R (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) 6313 0 R (classParma__Polyhedra__Library_1_1Grid_ad452407f89cb560e83fb81938c12a585) 6495 0 R (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22)]
->> endobj
-13757 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) 6184 0 R (classParma__Polyhedra__Library_1_1Grid_adf002bbcc4dcae5efdb56bae2971a64b) 6129 0 R (classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) 6428 0 R (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) 6309 0 R (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) 6304 0 R (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7f [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e)]
->> endobj
-13758 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) 6474 0 R (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0) 6471 0 R (classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) 6299 0 R (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) 6473 0 R (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) 6437 0 R (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0)]
->> endobj
-13759 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) 6371 0 R (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38) 6117 0 R (classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) 6189 0 R (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) 6476 0 R (classParma__Polyhedra__Library_1_1H79__Certificate) 935 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504)]
->> endobj
-13760 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) 7166 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a51b29c5dffc073c2d350471ae9bb879f) 7163 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) 7168 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) 7169 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c) 7165 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) (classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb)]
->> endobj
-13761 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_aefeb88699fb82bb331a2d24ce724bb07) 7167 0 R (classParma__Polyhedra__Library_1_1Interval) 528 0 R (classParma__Polyhedra__Library_1_1Interval_a1c76acbe653414cc28fac54c69622446) 7231 0 R (classParma__Polyhedra__Library_1_1Interval_a241f107b045949a58b49469a6a09caf9) 7221 0 R (classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) 7192 0 R (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881 [...]
-/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_aefeb88699fb82bb331a2d24ce724bb07) (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab)]
->> endobj
-13762 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) 7222 0 R (classParma__Polyhedra__Library_1_1Interval_a6a869e3c010e87dff868fb410d4f0a20) 7229 0 R (classParma__Polyhedra__Library_1_1Interval_a79370159de3dc1738441b20eff866329) 7245 0 R (classParma__Polyhedra__Library_1_1Interval_aa71726a7725f9269553ed9e594b0d74a) 7227 0 R (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) 7193 0 R (classParma__Polyhedra__Library_1_1Interval_ [...]
-/Limits [(classParma__Polyhedra__Library_1_1Interval_a5915be624de343f1598d246ee4f1bc42) (classParma__Polyhedra__Library_1_1Interval_ab5160fe536bd1bc8d42c12de33f40493)]
->> endobj
-13763 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) 7230 0 R (classParma__Polyhedra__Library_1_1Interval_aca669c9659132e9fa6adc7a9afbef642) 7228 0 R (classParma__Polyhedra__Library_1_1Interval_ae34390c17dbd12de9906817c4b6cf479) 7220 0 R (classParma__Polyhedra__Library_1_1Interval_af3699ea93d8ec71859566480bede9332) 7232 0 R (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) 7191 0 R (classParma__Polyhedra__Library_1_1Linear__E [...]
-/Limits [(classParma__Polyhedra__Library_1_1Interval_ac3abadf1d96bef1880657113014d46dd) (classParma__Polyhedra__Library_1_1Linear__Expression)]
->> endobj
-13764 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) 7406 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a04aff92d245522832391c1704f455992) 7299 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0651bfc78898bf691898cdb599198ea9) 7342 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) 7336 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) 747 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87)]
->> endobj
-13765 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) 7411 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd) 7343 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) 7471 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) 7338 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) 741 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3)]
->> endobj
-13766 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) 7482 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) 7472 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) 7478 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) 7334 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3fc6b9758fbac86e0592d37c23f14b1e) 748 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a)]
->> endobj
-13767 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) 7412 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) 7405 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) 7408 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) 7297 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) 733 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a)]
->> endobj
-13768 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) 7476 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5) 7475 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) 7470 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) 5766 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) 729 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6)]
->> endobj
-13769 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) 7474 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) 7415 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) 7414 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) 7481 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) 747 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36)]
->> endobj
-13770 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a9a14be758de0e77faef8de4a11bd8e8c) 7296 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) 7407 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) 7330 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) 7413 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) 733 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a9a14be758de0e77faef8de4a11bd8e8c) (classParma__Polyhedra__Library_1_1Linear__Expression_ab82fb79015a9e4959fe801e608b2a0ae)]
->> endobj
-13771 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) 7401 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6) 7333 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) 7328 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) 7331 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) 733 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5)]
->> endobj
-13772 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ae7df198cd5bdd6e9f87192fb3170261f) 7295 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f) 7294 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) 7402 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aede3aa1f7d5925d31d3f66faf655dc66) 7340 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d) 748 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ae7df198cd5bdd6e9f87192fb3170261f) (classParma__Polyhedra__Library_1_1MIP__Problem)]
->> endobj
-13773 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) 7676 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) 7570 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) 7571 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) 7626 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c)]
->> endobj
-13774 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) 7672 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7) 7681 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a22183a1ac7a9af9929c6153e2a7a659b) 7682 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) 7712 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) 7718 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) (classParma__Polyhedra__Library_1_1MIP__Problem_a30c23ab257a58da3708591becad2bf1f)]
->> endobj
-13775 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) 7684 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a) 7625 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) 7618 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3) 7678 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) 7675 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca)]
->> endobj
-13776 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) 7716 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd) 7683 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) 7680 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) 7631 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) 7630 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) (classParma__Polyhedra__Library_1_1MIP__Problem_a623847fa141f97cd59f3d85627536379)]
->> endobj
-13777 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) 7723 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a7f2b2dce631b12fb46f6f1fa719e6c84) 7685 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) 7673 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89) 7623 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) 7619 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) (classParma__Polyhedra__Library_1_1MIP__Problem_aa682606a24cf76b2d13ef9d70b0b4dde)]
->> endobj
-13778 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) 7622 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) 7572 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) 7575 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0) 7573 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e)]
->> endobj
-13779 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) 7713 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd) 7670 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) 7671 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_adda1de457524bc20064ace508201876c) 7569 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57) 7677 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) (classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5)]
->> endobj
-13780 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_aee0ae23c1027e709991811b8398b9f46) 7629 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1) 7624 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) 7667 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1) 7621 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron) 523 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f [...]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_aee0ae23c1027e709991811b8398b9f46) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187)]
->> endobj
-13781 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) 7802 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a25b59f3491de4996c701bbf044746fe5) 7857 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) 7848 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) 7853 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a5d2426c9804102311d41fd445b122cf9) 7858 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a)]
->> endobj
-13782 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) 7856 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553) 7850 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) 7804 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd) 7851 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) 7854 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5)]
->> endobj
-13783 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) 7855 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360) 7849 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) 7852 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) 7859 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8) 7803 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) (classParma__Polyhedra__Library_1_1No__Reduction)]
->> endobj
-13784 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) 7912 0 R (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4) 7911 0 R (classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) 7916 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape) 525 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a025902247d9c8b46d92c514c1646ff69) 8364 0 R (classParma__Polyhedra__Library_1_1Octagonal__Sh [...]
-/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737)]
->> endobj
-13785 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a047e2a717168ae129338109f1afc9a7a) 8253 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6) 8182 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) 7993 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a8906c6b7e5b785bd457641007d1359) 7999 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2) 8058 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a047e2a717168ae129338109f1afc9a7a) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176)]
->> endobj
-13786 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) 8120 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb) 8113 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) 8121 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c) 8310 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) 8176 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120)]
->> endobj
-13787 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a137dcf52993d2ff3dd6e4678b45baf56) 8361 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960) 8297 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) 8243 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) 8112 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c2f0ae89d7bf247a76c40282f31758e) 8362 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a137dcf52993d2ff3dd6e4678b45baf56) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1c59e94611b71ddd67acd033a05bbbc7)]
->> endobj
-13788 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) 8123 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08) 8252 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) 8305 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) 8116 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) 8055 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028)]
->> endobj
-13789 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) 8246 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8) 8060 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) 8357 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a34dbbfe20e987a3d55c7a3f2d08f1aed) 8309 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) 8050 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61)]
->> endobj
-13790 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) 8300 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5) 8054 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) 7943 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) 8248 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) 8004 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586)]
->> endobj
-13791 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) 8302 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04) 8117 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) 8356 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) 8250 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) 8172 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907)]
->> endobj
-13792 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e4f3b53b4dd4f7f57a13df638b162e4) 7994 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) 8002 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) 8311 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a62d44847fe22abb82cbac84a776a9c72) 8382 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f27f62cf5d65574cbb44025b1b3e585) 8367 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e4f3b53b4dd4f7f57a13df638b162e4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430)]
->> endobj
-13793 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) 8245 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) 8304 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a715054228bad30a232707ed0357cdd98) 8381 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) 8181 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) 8053 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a)]
->> endobj
-13794 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) 8111 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) 7944 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) 8059 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) 8303 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) 7941 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356)]
->> endobj
-13795 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) 7997 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8) 8185 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) 7940 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) 8254 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212) 8174 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0)]
->> endobj
-13796 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) 8051 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81) 8118 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaf0214aee8884dc52be4e061d6b4df94) 8365 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b) 7946 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) 7998 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057)]
->> endobj
-13797 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) 8046 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b) 8049 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) 8308 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) 8184 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) 8179 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1)]
->> endobj
-13798 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ac2cd6705bce0af4bd9880b990baf1198) 8363 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac5f6c7896e64b8750e2cd9729c19d66e) 8000 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) 8173 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac720d2c0875eba7d87a4068876092025) 8005 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) 8114 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ac2cd6705bce0af4bd9880b990baf1198) (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749)]
->> endobj
-13799 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_acd9e3b1c74e12ebb2cec81b9670cc566) 8312 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807) 8115 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) 8062 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) 8242 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) 8251 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_acd9e3b1c74e12ebb2cec81b9670cc566) (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835)]
->> endobj
-13800 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_adc326b7c8687b685c42817f7fec425e0) 8007 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae057b1ed68adc20261654109ef5be01c) 8249 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) 8001 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) 8052 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) 8056 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_adc326b7c8687b685c42817f7fec425e0) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d)]
->> endobj
-13801 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) 7996 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77) 8047 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) 7995 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a) 8057 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) 8307 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da)]
->> endobj
-13802 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) 8048 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc) 7948 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) 8301 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) 8006 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) 8175 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) (classParma__Polyhedra__Library_1_1PIP__Decision__Node)]
->> endobj
-13803 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) 9318 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a06d16b96542481b3a4d2de4ebed025bd) 9326 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) 9317 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) 9316 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6)]
->> endobj
-13804 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) 9320 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c) 9277 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aafdb58651683fa65f4bbfccf374249ff) 9327 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) 9321 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea308fdc)]
->> endobj
-13805 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428) 9319 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) 9280 0 R (classParma__Polyhedra__Library_1_1PIP__Problem) 1464 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) 9391 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) 9389 0 R (classParma__Polyhedra__Library_1_1PIP__Prob [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428) (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece)]
->> endobj
-13806 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) 9382 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3) 9381 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) 9441 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) 9437 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e)]
->> endobj
-13807 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) 9376 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) 9429 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) 9433 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) 9431 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) 9374 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) (classParma__Polyhedra__Library_1_1PIP__Problem_a450dfb042f6d81fb394227bdbcb6fb5a)]
->> endobj
-13808 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) 9378 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538) 9373 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) 9438 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) 9392 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2) 9428 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) (classParma__Polyhedra__Library_1_1PIP__Problem_a77abbac6ae63133e96588f4b57b5c861)]
->> endobj
-13809 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) 9379 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) 9464 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8f465629efafec94694b1397a27469b4) 9442 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) 9383 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a31110533316a56c835287f82cba44ab6)]
->> endobj
-13810 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) 9386 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) 9387 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) 9388 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) 9436 0 R (classParma__Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) (classParma__Polyhedra__Library_1_1PIP__Problem_aa221ca31e0aa489ae726efef9234c6d7)]
->> endobj
-13811 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc) 9440 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ab31e5714def3177833661bb27f9aff79) 9471 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) 9466 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) 9439 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) 9371 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc) (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b)]
->> endobj
-13812 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) 9432 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) 9427 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) 9463 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) 9430 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) 9375 0 R (classParma__Polyhedra__ [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) (classParma__Polyhedra__Library_1_1PIP__Solution__Node)]
->> endobj
-13813 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) 9655 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370) 9644 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a2890d075ea848067ec261a99518ba12d) 9643 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a330d5c424c32abef2330e921ed0743c7) 9654 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a35a36fe85a7865e86d210e8db5e26a04 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56)]
->> endobj
-13814 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) 9514 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d27d4c) 9648 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) 9597 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) 9652 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdfb492 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa)]
->> endobj
-13815 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) 9595 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a91a8e2ea09adb555ec9808380d95446e) 9657 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) 9596 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) 9645 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab7bee7241acd10a165a5dcaaa15d40e4 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0)]
->> endobj
-13816 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af) 9649 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) 9650 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node) 1466 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) 1328 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48) 2342 0 R (classParma__Polyhe [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d)]
->> endobj
-13817 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) 2330 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6) 2336 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) 2302 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a5e151ddb186280f9ac6825e4b38e3d4d) 2333 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97)]
->> endobj
-13818 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) 2335 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a) 2337 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) 2332 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9) 2341 0 R (cla [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ae52cf600a1fc364b32296578016e12ac)]
->> endobj
-13819 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_af4e852fd76b79c9ef3e8b56a8575fe09) 2306 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b) 9730 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) 9783 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) 9330 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567 [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_af4e852fd76b79c9ef3e8b56a8575fe09) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a41a2c12dc16089ad91de449b4bc72bca)]
->> endobj
-13820 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) 9780 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) 9731 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) 9806 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a51de11008f96ecfc0debcd83b616a3d0) 9785 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a5f0557451b4e3556d65bb5bb703e9b46) 9331 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2)]
->> endobj
-13821 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) 9739 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020) 9779 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7b1088e26353bd6fa17d49bd9226a4b5) 9787 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) 9729 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a87dfbdd33330c1f2f7d43582fd060ba7) 9788 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8a5634a2b7dfa78c19c2fe626e790c89)]
->> endobj
-13822 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) 9734 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) 9513 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba) 9805 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) 9694 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) 9778 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091)]
->> endobj
-13823 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab7331f9317fd2f4cf0c2c7bd066eee90) 9786 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) 9803 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ace96e068dfc0f943f7d0c8da778648cc) 9504 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) 9812 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad130cf335514a1939a5d63e56a774c05) 9782 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab7331f9317fd2f4cf0c2c7bd066eee90) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca)]
->> endobj
-13824 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9c8e6971861ebe65aa043657a6a49d8) 9696 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) 9732 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) 9695 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5) 9735 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) 9733 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad9c8e6971861ebe65aa043657a6a49d8) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8)]
->> endobj
-13825 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) 9329 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) 530 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) 8858 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0e39243c24d99f8d374f9c14e3da8d98) 9049 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) 8864  [...]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00)]
->> endobj
-13826 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) 8866 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed) 8740 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) 8984 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1ae424886d05361c1a78c89dbdd5b7db) 8988 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497)]
->> endobj
-13827 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) 8746 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf) 8854 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) 9018 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93) 9017 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e)]
->> endobj
-13828 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b3eb71543b3284872781f0b4481fe39) 8698 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b4e2b95a505c70e40370e121cd179a4) 8696 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) 8932 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) 9021 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2b3eb71543b3284872781f0b4481fe39) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533)]
->> endobj
-13829 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) 9013 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41) 8742 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) 8859 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) 8802 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b5db50d397654bd1a8d4067d90f7419)]
->> endobj
-13830 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) 8751 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1) 8990 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) 8755 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) 8797 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c)]
->> endobj
-13831 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) 8743 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31) 8690 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) 9011 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) 9014 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a57fc3d9d838fd7e20e80806307452a91)]
->> endobj
-13832 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701) 8938 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) 8688 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) 8863 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) 8748 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a732e7355673aa63a2fc22a470a36f707)]
->> endobj
-13833 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b) 8935 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) 8807 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) 8868 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) 8989 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7ea45b608af772cd69e2c23d7d62a3cf)]
->> endobj
-13834 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92) 8980 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) 8979 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) 8806 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) 8867 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f)]
->> endobj
-13835 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7) 8928 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42) 8931 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) 8936 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) 8800 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9bd884fea397d9d6cde6426e6f47cc4e)]
->> endobj
-13836 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) 9022 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e) 8801 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) 8753 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) 8860 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3)]
->> endobj
-13837 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) 8804 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab95eae83384d8c6b41b9ed8f9fd16704) 8697 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) 8929 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abc31d844172a202d43d08e299e26322f) 8692 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332)]
->> endobj
-13838 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) 8985 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac6434b8a020aeda5828830fd4b639277) 8852 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) 8930 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) 8975 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c)]
->> endobj
-13839 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) 8752 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3eb603756ab7be783cd92410ac7aed7) 8693 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) 8865 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) 8798 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ade7792cb469ddf1d5d8944bbe7f1f55a)]
->> endobj
-13840 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) 8981 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932) 8795 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) 8987 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5) 8933 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b)]
->> endobj
-13841 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) 8857 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd) 8695 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) 8991 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298) 8986 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2)]
->> endobj
-13842 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) 8808 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset) 529 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) 10047 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0b8990ac561387e44e8c81debd1c3336) 10131 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) 10054 0 R (classParma__Poly [...]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f)]
->> endobj
-13843 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) 10055 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc) 10056 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) 9995 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01) 10226 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99)]
->> endobj
-13844 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) 9996 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) 10000 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) 10126 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) 10177 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3c28caf6c53b59565d9fe51ad448cbd1)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a)]
->> endobj
-13845 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) 10220 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91) 9895 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) 10172 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) 9940 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a4ff18a1555828c7264a09d6215013279) 1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5)]
->> endobj
-13846 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a5f25c8e732cbe55784504ff6d4f4c49d) 10171 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974) 10048 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6390d5b6fde026f0067da39fd1278809) 10175 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) 9998 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69571f990b874f16d0f62235088427ca)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a5f25c8e732cbe55784504ff6d4f4c49d) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95)]
->> endobj
-13847 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6b7fdfa5a1979cf3d8e24265225b986e) 10228 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6e44f3d4115b10d2b7365390182c4714) 9945 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) 10046 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) 9897 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) 1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a6b7fdfa5a1979cf3d8e24265225b986e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8)]
->> endobj
-13848 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) 10002 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a) 10129 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) 10059 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) 9991 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e)]
->> endobj
-13849 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) 9884 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f) 9896 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) 10178 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) 9997 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a931d9a960753fc8314d50a6dbb9f5885) 10 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9)]
->> endobj
-13850 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) 9892 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9739127a6b925714e0e6cf8d86141938) 10179 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) 9889 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) 10132 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd) 1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9d108150f1f059e76bb60deba0612e92)]
->> endobj
-13851 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) 10003 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107) 9942 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) 9890 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) 9999 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) 99 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229)]
->> endobj
-13852 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) 9993 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aada5fa9557c7ce77d8bfacb622a113cd) 10227 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) 10058 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) 10057 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce)]
->> endobj
-13853 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab441eefb3b97b983de4d29baff5a4122) 10224 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab8f4c68d176d4a8300a87af39ebe621b) 10174 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab9f1d84ccf75cdd4871b4a4b1ff28325) 9894 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) 10128 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab441eefb3b97b983de4d29baff5a4122) (classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d)]
->> endobj
-13854 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) 9886 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10) 9938 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) 10169 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) 10004 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) 1 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088)]
->> endobj
-13855 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) 10127 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9) 10060 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) 9885 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) 9948 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) 9 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81)]
->> endobj
-13856 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) 10121 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec119fe2d10b776a4fd9460fd5de4455) 10225 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) 10053 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) 9893 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211)  [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b)]
->> endobj
-13857 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_af9a9dc6ee0a1a214d8d7bbf4ef0d9c67) 9944 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1) 9949 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afe0167a0ee971c067b50d643ae6c7189) 9943 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) 10216 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) 10 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_af9a9dc6ee0a1a214d8d7bbf4ef0d9c67) (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c)]
->> endobj
-13858 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation) 1467 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a) 10493 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) 10486 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65) 10490 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) 10491 0 R (classParma__Polyhe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7)]
->> endobj
-13859 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) 10517 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb) 10492 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) 10487 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d) 10484 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d5 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645)]
->> endobj
-13860 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) 10494 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) 10521 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) 10524 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) 10519 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) 1468 0 R (classParma__Polyhe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1)]
->> endobj
-13861 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) 10577 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7) 10549 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) 10548 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) 10579 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d3 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342)]
->> endobj
-13862 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) 10547 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56) 10552 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) 10583 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559) 10584 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f [...]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) (classParma__Polyhedra__Library_1_1Polyhedron)]
->> endobj
-13863 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) 10670 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3) 10790 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) 10861 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) 10729 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) 10958 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) (classParma__Polyhedra__Library_1_1Polyhedron_a0d69bc8c9bd9843262551c7e3e33f5a2)]
->> endobj
-13864 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) 10666 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5) 10728 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) 10919 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) 11017 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) 10961 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923)]
->> endobj
-13865 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) 10918 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) 10619 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) 10926 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) 10675 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) 10784 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c)]
->> endobj
-13866 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) 10967 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) 10789 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3de85538032f58e387a151ab6a9960ba) 10867 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) 10929 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) 10615 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f)]
->> endobj
-13867 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) 10860 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) 10733 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) 10862 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) 10923 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) 10959 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57)]
->> endobj
-13868 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) 10726 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec) 10613 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) 10671 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) 10793 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a67a7d08f3cda46f7a743d46f3a6f33b5) 11024 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58)]
->> endobj
-13869 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) 10963 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495) 10724 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) 10917 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) 10659 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) 10870 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7)]
->> endobj
-13870 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) 10429 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38) 10725 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) 10617 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) 10731 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) 10780 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a787615432c9f1d6aac5a6394aea8cfa9) (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39)]
->> endobj
-13871 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) 11016 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb) 10972 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) 10925 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) 11023 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) 10664 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839)]
->> endobj
-13872 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) 10868 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740) 10783 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) 10922 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) 10616 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71) 10866 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d)]
->> endobj
-13873 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) 10669 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff) 10667 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) 10788 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290) 10962 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) 10968 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_aa4fa3b0975b2971f5a2cbc5bc9621a81)]
->> endobj
-13874 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) 10924 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4) 10964 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) 10794 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) 10782 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa) 11015 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) (classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451)]
->> endobj
-13875 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) 10618 0 R (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94) 10668 0 R (classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) 10787 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) 10727 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424) 10672 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) (classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c)]
->> endobj
-13876 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) 10721 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424) 10660 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) 10795 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aca90e7afe251a0d4174dcf538b34006b) 10971 0 R (classParma__Polyhedra__Library_1_1Polyhedron_acb75fd68aa10bd15e590e8e8954c5002) 10661 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8)]
->> endobj
-13877 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) 10921 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec) 10785 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) 11018 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) 11022 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) 10663 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6)]
->> endobj
-13878 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_adad834921ba7c139b0cb10c507b4070a) 11020 0 R (classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) 10927 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) 10857 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) 10620 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) 10673 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_adad834921ba7c139b0cb10c507b4070a) (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c)]
->> endobj
-13879 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) 10722 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) 10864 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) 10781 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) 10960 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) 10920 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29)]
->> endobj
-13880 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) 10859 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647) 10970 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) 10732 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) 10674 0 R (classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) 11019 0 R (classParma__Polyhedra__Libra [...]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) (classParma__Polyhedra__Library_1_1Powerset)]
->> endobj
-13881 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) 11443 0 R (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b) 11398 0 R (classParma__Polyhedra__Library_1_1Powerset_a057c4f38d0e8b8a146af731dbd91864f) 11468 0 R (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499) 11444 0 R (classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) 11409 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e)]
->> endobj
-13882 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) 11433 0 R (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5) 11400 0 R (classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) 11397 0 R (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770) 11354 0 R (classParma__Polyhedra__Library_1_1Powerset_a2a7c225e4f50e2287216dcd77eaf27d5) 11469 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) (classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c)]
->> endobj
-13883 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) 11438 0 R (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) 11312 0 R (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) 11405 0 R (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) 11404 0 R (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) 11348 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364)]
->> endobj
-13884 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) 11435 0 R (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) 11351 0 R (classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) 11436 0 R (classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) 11441 0 R (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) 11402 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f)]
->> endobj
-13885 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) 11313 0 R (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f) 11355 0 R (classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) 11357 0 R (classParma__Polyhedra__Library_1_1Powerset_a8691a3facce4d6f973b48743fa42ec42) 11470 0 R (classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) 11445 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f)]
->> endobj
-13886 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) 11344 0 R (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622) 11401 0 R (classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) 11396 0 R (classParma__Polyhedra__Library_1_1Powerset_aa55b32c299b7d7bec303f636b66ef624) 11471 0 R (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) 11316 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a)]
->> endobj
-13887 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) 11407 0 R (classParma__Polyhedra__Library_1_1Powerset_aba65a2c1a6d563f5058479bc07181b9a) 11446 0 R (classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) 11347 0 R (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) 11352 0 R (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) 11315 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6)]
->> endobj
-13888 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) 11432 0 R (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508) 11356 0 R (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) 11311 0 R (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) 11410 0 R (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) 11350 0 R (classParma__Polyhedra__Library_1_1Powe [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169)]
->> endobj
-13889 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) 11346 0 R (classParma__Polyhedra__Library_1_1Powerset_afe22acf3f8e5b6c20880acd443350482) 11408 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) 1472 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6) 11523 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) 11519 0 R (classParma__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4)]
->> endobj
-13890 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Smash__Reduction) 1473 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1) 11539 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) 11536 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30) 11535 0 R (classParma__Polyhedra__Library_1_1Throwable) 1474 0 R (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c [...]
-/Limits [(classParma__Polyhedra__Library_1_1Smash__Reduction) (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b)]
->> endobj
-13891 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) 11552 0 R (classParma__Polyhedra__Library_1_1Variable) 1475 0 R (classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) 11594 0 R (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d) 11588 0 R (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) 9502 0 R (classParma__Polyhedra__Library_1_1Variable_a56a9fd5bee6f87ae9079aed0bc3de [...]
-/Limits [(classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) (classParma__Polyhedra__Library_1_1Variable_a56a9fd5bee6f87ae9079aed0bc3de31a)]
->> endobj
-13892 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) 11587 0 R (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2) 11592 0 R (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) 11593 0 R (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) 11591 0 R (classParma__Polyhedra__Library_1_1Variable_ab80d28775828a4ee502fab82ba1a278c) 11584 0 R (classParma__Polyhedra__Library_1_1Vari [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0)]
->> endobj
-13893 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) 11615 0 R (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e) 11589 0 R (classParma__Polyhedra__Library_1_1Variables__Set) 1499 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) 11665 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) 11647 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4 [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c)]
->> endobj
-13894 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) 11644 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915) 11646 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) 11651 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) 11648 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a5842c4add70aabcc093269aea7a348e5) 11650 0 R (classPar [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224)]
->> endobj
-13895 0 obj <<
-/Names [(classParma__Polyhedra__Library_1_1Variables__Set_a6faffe6889615dc0491bf86dd601172c) 11643 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb) 11645 0 R (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) 11666 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ad7bdf8849f22908ce11574a04ba875df) 11674 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) 11642 0 R (group__P [...]
-/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_a6faffe6889615dc0491bf86dd601172c) (group__PPL__CXX__interface)]
->> endobj
-13896 0 obj <<
-/Names [(group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) 1752 0 R (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) 1695 0 R (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) 1688 0 R (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) 1739 0 R (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) 1590 0 R (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) 1708 0 R]
-/Limits [(group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a)]
->> endobj
-13897 0 obj <<
-/Names [(group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) 1685 0 R (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) 1702 0 R (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) 1589 0 R (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) 1587 0 R (group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) 1578 0 R (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) 1585 0 R]
-/Limits [(group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8)]
->> endobj
-13898 0 obj <<
-/Names [(group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) 1711 0 R (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) 1588 0 R (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) 1745 0 R (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) 1591 0 R (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) 1699 0 R (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) 1586 0 R]
-/Limits [(group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800)]
->> endobj
-13899 0 obj <<
-/Names [(group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) 1748 0 R (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) 1584 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) 1698 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) 1696 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) 1697 0 R (group__PPL__CXX_ [...]
-/Limits [(group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab)]
->> endobj
-13900 0 obj <<
-/Names [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) 1689 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) 1690 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) 1694 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) 1692 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667 [...]
-/Limits [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb)]
->> endobj
-13901 0 obj <<
-/Names [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) 1741 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) 1740 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) 1744 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) 1743 0 R (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd [...]
-/Limits [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123)]
->> endobj
-13902 0 obj <<
-/Names [(group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) 1686 0 R (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) 1687 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) 1706 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) 1703 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152b [...]
-/Limits [(group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860)]
->> endobj
-13903 0 obj <<
-/Names [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) 1705 0 R (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) 1713 0 R (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) 1714 0 R (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) 1712 0 R (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda [...]
-/Limits [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e)]
->> endobj
-13904 0 obj <<
-/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) 1671 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) 1674 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) 1682 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) 1599 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
-/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da)]
->> endobj
-13905 0 obj <<
-/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) 1592 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) 1601 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) 1603 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) 1602 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
-/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd)]
->> endobj
-13906 0 obj <<
-/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) 1678 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) 1593 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) 1680 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) 1675 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
-/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77)]
->> endobj
-13907 0 obj <<
-/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) 1670 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) 1679 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) 1597 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) 1669 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
-/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5)]
->> endobj
-13908 0 obj <<
-/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) 1600 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) 1673 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) 1595 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) 1677 0 R (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61 [...]
-/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5)]
->> endobj
-13909 0 obj <<
-/Names [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) 1749 0 R (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) 1751 0 R (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) 1750 0 R (index) 498 0 R (main_A_Note_on_the_Implementation_of_the_Operators) 941 0 R (main_Adding_New_Dimensions_to_the_Vector_Space) 662 0 R]
-/Limits [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) (main_Adding_New_Dimensions_to_the_Vector_Space)]
->> endobj
-13910 0 obj <<
-/Names [(main_Adding_a_Disjunct) 897 0 R (main_Affine_Hyperplanes_and_Half_spaces) 596 0 R (main_Affine_Independence_and_Affine_Dimension) 646 0 R (main_Anc91) 955 0 R (main_Approximating_Bounded_Integers) 568 0 R (main_Approximating_Integers) 565 0 R]
-/Limits [(main_Adding_a_Disjunct) (main_Approximating_Integers)]
->> endobj
-13911 0 obj <<
-/Names [(main_BA05) 956 0 R (main_BCCetal02) 773 0 R (main_BDHetal05) 794 0 R (main_BDHetal06) 970 0 R (main_BDHetal07) 971 0 R (main_BFT00) 972 0 R]
-/Limits [(main_BA05) (main_BFT00)]
->> endobj
-13912 0 obj <<
-/Names [(main_BFT01) 973 0 R (main_BGP99) 932 0 R (main_BHMZ04) 974 0 R (main_BHMZ05_widening) 787 0 R (main_BHMZ05a) 793 0 R (main_BHMZ05b) 975 0 R]
-/Limits [(main_BFT01) (main_BHMZ05b)]
->> endobj
-13913 0 obj <<
-/Names [(main_BHRZ03_widening) 735 0 R (main_BHRZ03a) 738 0 R (main_BHRZ03b) 976 0 R (main_BHRZ05) 977 0 R (main_BHZ02a) 992 0 R (main_BHZ02b) 993 0 R]
-/Limits [(main_BHRZ03_widening) (main_BHZ02b)]
->> endobj
-13914 0 obj <<
-/Names [(main_BHZ03a) 994 0 R (main_BHZ03b) 933 0 R (main_BHZ04) 884 0 R (main_BHZ05) 995 0 R (main_BHZ06a) 996 0 R (main_BHZ06b) 997 0 R]
-/Limits [(main_BHZ03a) (main_BHZ06b)]
->> endobj
-13915 0 obj <<
-/Names [(main_BHZ07a) 998 0 R (main_BHZ07b) 999 0 R (main_BHZ07c) 1000 0 R (main_BHZ08a) 1001 0 R (main_BHZ08b) 1019 0 R (main_BHZ09a) 1020 0 R]
-/Limits [(main_BHZ07a) (main_BHZ09a)]
->> endobj
-13916 0 obj <<
-/Names [(main_BHZ09b) 1021 0 R (main_BHZ09c) 1022 0 R (main_BHZ09d) 1023 0 R (main_BHZ10) 1024 0 R (main_BJT99) 1025 0 R (main_BK89) 1026 0 R]
-/Limits [(main_BHZ09b) (main_BK89)]
->> endobj
-13917 0 obj <<
-/Names [(main_BMPZ10) 1027 0 R (main_BRZH02a) 1028 0 R (main_BRZH02b) 600 0 R (main_BRZH02c) 1029 0 R (main_Bag97) 957 0 R (main_Bag98) 883 0 R]
-/Limits [(main_BMPZ10) (main_Bag98)]
->> endobj
-13918 0 obj <<
-/Names [(main_Basic_Geometric_Descriptors) 520 0 R (main_Bounded_Difference_Shapes) 768 0 R (main_Bounded_Polyhedra) 610 0 R (main_CC76) 772 0 R (main_CC76_extrapolation) 788 0 R (main_CC76_interval_widening) 757 0 R]
-/Limits [(main_Basic_Geometric_Descriptors) (main_CC76_interval_widening)]
->> endobj
-13919 0 obj <<
-/Names [(main_CC79) 1036 0 R (main_CC92) 1037 0 R (main_CH78) 792 0 R (main_Certificate_Based_Widenings) 930 0 R (main_Che64) 1038 0 R (main_Che65) 1039 0 R]
-/Limits [(main_CC79) (main_Che65)]
->> endobj
-13920 0 obj <<
-/Names [(main_Che68) 1040 0 R (main_Collapsing_a_Powerset_Element) 900 0 R (main_Combinations_and_Hulls) 616 0 R (main_Concatenating_Polyhedra) 660 0 R (main_Congruence_Relations) 790 0 R (main_Constraint_Geometric_Descriptors) 522 0 R]
-/Limits [(main_Che68) (main_Constraint_Geometric_Descriptors)]
->> endobj
-13921 0 obj <<
-/Names [(main_Constraints_Representation) 613 0 R (main_Convex_Polyhedra) 598 0 R (main_Convex_Polyhedral_Difference) 658 0 R (main_Cylindrification) 711 0 R (main_Dan63) 1041 0 R (main_Double_Description) 636 0 R]
-/Limits [(main_Constraints_Representation) (main_Double_Description)]
->> endobj
-13922 0 obj <<
-/Names [(main_Dropping_Non_Integer_Points) 566 0 R (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) 677 0 R (main_Extrapolation_Operators) 751 0 R (main_FCB07) 1042 0 R (main_FP96) 1044 0 R (main_Fea88) 1043 0 R]
-/Limits [(main_Dropping_Non_Integer_Points) (main_Fea88)]
->> endobj
-13923 0 obj <<
-/Names [(main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) 680 0 R (main_Fuk98) 601 0 R (main_GDDetal04) 682 0 R (main_GJ00) 1045 0 R (main_GJ01) 1046 0 R (main_GR77) 1047 0 R]
-/Limits [(main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) (main_GR77)]
->> endobj
-13924 0 obj <<
-/Names [(main_Generalized_Affine_Relations) 709 0 R (main_Generator_Geometric_Descriptors) 545 0 R (main_Generators_Representation) 627 0 R (main_Generic_Operations_on_Semantic_Geometric_Descriptors) 547 0 R (main_Geometric_Comparisons) 907 0 R (main_Gra91) 1054 0 R]
-/Limits [(main_Generalized_Affine_Relations) (main_Gra91)]
->> endobj
-13925 0 obj <<
-/Names [(main_Gra97) 1055 0 R (main_Grid_Affine_Dimension) 824 0 R (main_Grid_Affine_Transformation) 835 0 R (main_Grid_Extrapolation) 865 0 R (main_Grid_Frequency) 839 0 R (main_Grid_Generalized_Image) 837 0 R]
-/Limits [(main_Gra97) (main_Grid_Generalized_Image)]
->> endobj
-13926 0 obj <<
-/Names [(main_Grid_Generator_Representation) 807 0 R (main_Grid_Minimized_Representations) 818 0 R (main_Grid_Relation_With) 849 0 R (main_Grid_Space_Dimensions) 822 0 R (main_Grid_Time_Elapse) 847 0 R (main_Grid_Widening) 861 0 R]
-/Limits [(main_Grid_Generator_Representation) (main_Grid_Widening)]
->> endobj
-13927 0 obj <<
-/Names [(main_Grid_Widening_with_Tokens) 863 0 R (main_Grid_Wrapping_Operator) 851 0 R (main_Grids_Double_Description_Grids) 820 0 R (main_H79_widening) 734 0 R (main_HH95) 1057 0 R (main_HHL90) 1058 0 R]
-/Limits [(main_Grid_Widening_with_Tokens) (main_HHL90)]
->> endobj
-13928 0 obj <<
-/Names [(main_HKP95) 1059 0 R (main_HLW94) 1060 0 R (main_HMT71) 717 0 R (main_HPR94) 1061 0 R (main_HPR97) 718 0 R (main_HPWT01) 1062 0 R]
-/Limits [(main_HKP95) (main_HPWT01)]
->> endobj
-13929 0 obj <<
-/Names [(main_Hal79) 737 0 R (main_Hal93) 1056 0 R (main_Images_and_Preimages_of_Affine_Transfer_Relations) 690 0 R (main_Integer_Combinations) 803 0 R (main_Intersection_and_Convex_Polyhedral_Hull) 651 0 R (main_Intervals_and_Boxes) 755 0 R]
-/Limits [(main_Hal79) (main_Intervals_and_Boxes)]
->> endobj
-13930 0 obj <<
-/Names [(main_JMSY94) 1064 0 R (main_Jea02) 1063 0 R (main_KBBetal06) 1065 0 R (main_Kuh56) 1075 0 R (main_LW97) 1078 0 R (main_Le) 1076 0 R]
-/Limits [(main_JMSY94) (main_Le)]
->> endobj
-13931 0 obj <<
-/Names [(main_Loe99) 1077 0 R (main_MRTT53) 1086 0 R (main_Mapping_the_Dimensions_of_the_Vector_Space) 672 0 R (main_Mas92) 1079 0 R (main_Mas93) 1080 0 R (main_Meet_Preserving_Simplification) 715 0 R]
-/Limits [(main_Loe99) (main_Meet_Preserving_Simplification)]
->> endobj
-13932 0 obj <<
-/Names [(main_Meet_and_Upper_Bound) 881 0 R (main_Min01a) 1081 0 R (main_Min01b) 1082 0 R (main_Min02) 1083 0 R (main_Min04) 1084 0 R (main_Min05) 1085 0 R]
-/Limits [(main_Meet_and_Upper_Bound) (main_Min05)]
->> endobj
-13933 0 obj <<
-/Names [(main_Minimized_Representations) 629 0 R (main_NF01) 1087 0 R (main_NJPF99) 1088 0 R (main_NO77) 1089 0 R (main_NO80) 1090 0 R (main_NR00) 1099 0 R]
-/Limits [(main_Minimized_Representations) (main_NR00)]
->> endobj
-13934 0 obj <<
-/Names [(main_NW88) 602 0 R (main_Octagonal_Shapes) 770 0 R (main_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) 952 0 R (main_On_Object_Orientation_and_Polymorphism_A_Disclaimer) 945 0 R (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning) 943 0 R (main_Operations_on_Convex_Polyhedra) 650 0 R]
-/Limits [(main_NW88) (main_Operations_on_Convex_Polyhedra)]
->> endobj
-13935 0 obj <<
-/Names [(main_PS98) 1101 0 R (main_Pairwise_Merge) 924 0 R (main_Points_Closure_Points_Rays_and_Lines) 625 0 R (main_Points_Parameters_Lines) 805 0 R (main_Powerset_Extrapolation_Operators) 927 0 R (main_Powerset_Meet_Preserving_Simplification) 736 0 R]
-/Limits [(main_PS98) (main_Powerset_Meet_Preserving_Simplification)]
->> endobj
-13936 0 obj <<
-/Names [(main_Pra77) 1100 0 R (main_QRR96) 1102 0 R (main_QRR97) 1103 0 R (main_QRW00) 1104 0 R (main_RBL06) 1105 0 R (main_Rational_Grids) 801 0 R]
-/Limits [(main_Pra77) (main_Rational_Grids)]
->> endobj
-13937 0 obj <<
-/Names [(main_Rational_Polyhedra) 648 0 R (main_Relation_With_Operators) 730 0 R (main_Removing_Dimensions_from_the_Vector_Space) 664 0 R (main_Ric02) 1106 0 R (main_SK07) 581 0 R (main_SS07a) 1109 0 R]
-/Limits [(main_Rational_Polyhedra) (main_SS07a)]
->> endobj
-13938 0 obj <<
-/Names [(main_SS07b) 1110 0 R (main_SW70) 1111 0 R (main_Sch99) 827 0 R (main_Semantic_Geometric_Descriptors) 500 0 R (main_Sho81) 1107 0 R (main_Single_Update_Affine_Functions) 698 0 R]
-/Limits [(main_SS07b) (main_Single_Update_Affine_Functions)]
->> endobj
-13939 0 obj <<
-/Names [(main_Single_Update_Bounded_Affine_Relations) 700 0 R (main_Space_Dimensions_and_Dimension_Compatibility) 639 0 R (main_Sri93) 1108 0 R (main_Syntactic_Geometric_Descriptors) 518 0 R (main_The_Powerset_Domain) 877 0 R (main_Time_Elapse_Operator) 713 0 R]
-/Limits [(main_Single_Update_Bounded_Affine_Relations) (main_Time_Elapse_Operator)]
->> endobj
-13940 0 obj <<
-/Names [(main_Topologies_and_Topological_compatibility) 619 0 R (main_Upward_Approximation) 564 0 R (main_Vectors_Matrices_and_Scalar_Products) 591 0 R (main_War03) 1112 0 R (main_Weakly_Relational_Shape_Interface) 783 0 R (main_Weakly_Relational_Shapes) 767 0 R]
-/Limits [(main_Topologies_and_Topological_compatibility) (main_Weakly_Relational_Shapes)]
->> endobj
-13941 0 obj <<
-/Names [(main_Wey35) 1119 0 R (main_Wey50) 1120 0 R (main_Widening_Operators) 732 0 R (main_Widening_and_Extrapolation_Operators_on_Boxes) 765 0 R (main_Widening_and_Extrapolation_Operators_on_WR_Shapes) 785 0 R (main_Widening_with_Tokens) 749 0 R]
-/Limits [(main_Wey35) (main_Widening_with_Tokens)]
->> endobj
-13942 0 obj <<
-/Names [(main_Wil93) 603 0 R (main_Wrapping_Operator) 579 0 R (main_affine_relation) 689 0 R (main_bibliography) 954 0 R (main_bounded_extrapolation) 754 0 R (main_convex_polys) 505 0 R]
-/Limits [(main_Wil93) (main_convex_polys)]
->> endobj
-13943 0 obj <<
-/Names [(main_expand_space_dimension) 676 0 R (main_fold_space_dimensions) 679 0 R (main_intervals) 756 0 R (main_limited_extrapolation) 753 0 R (main_pointset_powerset) 885 0 R (main_powerset) 875 0 R]
-/Limits [(main_expand_space_dimension) (main_powerset)]
->> endobj
-13944 0 obj <<
-/Names [(main_powerset_domain) 876 0 R (main_pps_bgp99_extrapolation) 926 0 R (main_pps_certificate_widening) 929 0 R (main_pps_geometric) 906 0 R (main_pps_pairwise_merge) 923 0 R (main_preamble) 499 0 R]
-/Limits [(main_powerset_domain) (main_preamble)]
->> endobj
-13945 0 obj <<
-/Names [(main_ps_add_disjunct) 896 0 R (main_ps_collapse) 899 0 R (main_ps_meet_upper_bound) 880 0 R (main_ps_operations) 879 0 R (main_rational_grid_operations) 826 0 R (main_relation_with) 729 0 R]
-/Limits [(main_ps_add_disjunct) (main_relation_with)]
->> endobj
-13946 0 obj <<
-/Names [(main_representation) 612 0 R (main_sect_rational_grids) 789 0 R (main_use_of_library) 506 0 R (namespaceParma__Polyhedra__Library) 1254 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators) 1255 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) 2282 0 R]
-/Limits [(main_representation) (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95)]
->> endobj
-13947 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) 2123 0 R (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) 2074 0 R (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) 2075 0 R (namespaceParma__Polyhedra__Library_a077909c2e2a30e356b03d74e287d2545) 2198 0 R (namespaceParma__Polyhedra__Library_a079a46ea302194faf75833bf0f1beb6b) 2173 0 R (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) 2013 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a02bcf74a81fe5f35657f5f006c56bb29) (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433)]
->> endobj
-13948 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) 2121 0 R (namespaceParma__Polyhedra__Library_a0f5fece719859502d9761d128734baea) 2122 0 R (namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) 2079 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766) 2019 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a00b00eff42cb35b0009a39ceb4202ac6) 2026 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb5 [...]
-/Limits [(namespaceParma__Polyhedra__Library_a0d0db024e7accefca878d7e09d815788) (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a16951436466647aef85cdd1f567200af)]
->> endobj
-13949 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3181ff1b549af004ba60f7c664037192) 2031 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3388ff37939783f337c4aeca28873c8a) 2020 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3bdee6d73627cc8338fb846f4a1fa935) 2025 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a4fbc5cd99bd48b3a521a9f2c5e7b0c00) 2030 0 R (namespaceParma__Polyhedra__Libr [...]
-/Limits [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a3181ff1b549af004ba60f7c664037192) (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a5e739a5468d529a02f4248c77a4776a7)]
->> endobj
-13950 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a78a1e232394b81ca2319e8f3f066e377) 2032 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad2496277dd6e1de91ca84a903ed28b64) 2022 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ad57704b5d1b446fc9840009f06a5cb49) 2021 0 R (namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766ada806236c55c963a0f138b67310de3b8) 2024 0 R (namespaceParma__Polyhedra__Libr [...]
-/Limits [(namespaceParma__Polyhedra__Library_a1c146f8a7a8bb517f38dad49696f2766a78a1e232394b81ca2319e8f3f066e377) (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497)]
->> endobj
-13951 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351abd09) 2171 0 R (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6) 2076 0 R (namespaceParma__Polyhedra__Library_a31f5a518ab35f859aafd220bc3e38dfd) 2115 0 R (namespaceParma__Polyhedra__Library_a3504c6384a7e40501e2cfc49ba870ad5) 2203 0 R (namespaceParma__Polyhedra__Library_a3aa0f8a865cbe18e6202b99d388af956) 2200 0 R (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) 2067 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351abd09) (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48)]
->> endobj
-13952 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) 2015 0 R (namespaceParma__Polyhedra__Library_a563b92eac806093d3e743ea4dfcc0594) 2177 0 R (namespaceParma__Polyhedra__Library_a56eb4e32ec57658bc9e7823cd42ecbae) 2073 0 R (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) 2069 0 R (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) 2034 0 R (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c) 2125 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) (namespaceParma__Polyhedra__Library_a64ce78ed8253fa6b08455b187380805c)]
->> endobj
-13953 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) 2114 0 R (namespaceParma__Polyhedra__Library_a68ba0ee40d5b2fe4d512a046e19025d3) 2174 0 R (namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) 2068 0 R (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) 2035 0 R (namespaceParma__Polyhedra__Library_a729bdafa0ec2ae7a6664cbdf38c09755) 2176 0 R (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) 2066 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed)]
->> endobj
-13954 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a75dfd397f7fab1fe9da3eb150911853c) 2178 0 R (namespaceParma__Polyhedra__Library_a83e1eb0462a99f105974ae38c55e5382) 2168 0 R (namespaceParma__Polyhedra__Library_a8f608e24421a818d8e065a74425d8573) 2124 0 R (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) 2077 0 R (namespaceParma__Polyhedra__Library_a95f3cc785d7b89f59b3ca216461c34b0) 2070 0 R (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) 2017 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a75dfd397f7fab1fe9da3eb150911853c) (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41)]
->> endobj
-13955 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_a9bfba21dd2d808e2eabd2348e92cb96a) 2202 0 R (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) 2064 0 R (namespaceParma__Polyhedra__Library_aa6a2ae8d135b40f8bee030f76d52659c) 2126 0 R (namespaceParma__Polyhedra__Library_aaeffe6c0f315667496085d5673d2a14c) 2127 0 R (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) 2080 0 R (namespaceParma__Polyhedra__Library_abe0911e6125f86a771adc88932d96fc4) 2169 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a9bfba21dd2d808e2eabd2348e92cb96a) (namespaceParma__Polyhedra__Library_abe0911e6125f86a771adc88932d96fc4)]
->> endobj
-13956 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_ac40e401b77b5ec6e9625c317ce6d760d) 2071 0 R (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) 2116 0 R (namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) 2018 0 R (namespaceParma__Polyhedra__Library_ad0719a31106af8ca454d1d1d77dbde4e) 2180 0 R (namespaceParma__Polyhedra__Library_ad11992da5c89caef7922c215278d03a8) 2182 0 R (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) 2065 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_ac40e401b77b5ec6e9625c317ce6d760d) (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2)]
->> endobj
-13957 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_ad4f28a7482372281b01b4221b8543bdc) 2175 0 R (namespaceParma__Polyhedra__Library_ad6c6b997fe2c49a8098bba1b6a45a008) 2120 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) 1957 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446) 1961 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) 1958 0 R (namespaceParma__P [...]
-/Limits [(namespaceParma__Polyhedra__Library_ad4f28a7482372281b01b4221b8543bdc) (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd)]
->> endobj
-13958 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) 1959 0 R (namespaceParma__Polyhedra__Library_ae2684e5d6c84a8e156f58121be0dbd03) 2201 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) 1962 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a44ed03f4b908d58ac405493b10be3012) 1968 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b10 [...]
-/Limits [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c)]
->> endobj
-13959 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) 1967 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f) 1964 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) 1966 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98ae9e9040024adaad2b7a0d9ceea0c8b62) 1965 0 R (namespaceParma__Polyhedra__Libr [...]
-/Limits [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) (namespaceParma__Polyhedra__Library_ae6a8e238a8400e68173c88d38dd8a8da)]
->> endobj
-13960 0 obj <<
-/Names [(namespaceParma__Polyhedra__Library_aec4c213c066101e1cd926125ccc4c81c) 2199 0 R (namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) 2033 0 R (namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) 2016 0 R (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) 2014 0 R (namespaceParma__Polyhedra__Library_afb314bce856c60de821bc388a02571f5) 2181 0 R (namespaceParma__Polyhedra__Library_afd604dc4c87ae10e8c41bceaf9eed8c3) 2170 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_aec4c213c066101e1cd926125ccc4c81c) (namespaceParma__Polyhedra__Library_afd604dc4c87ae10e8c41bceaf9eed8c3)]
->> endobj
-13961 0 obj <<
-/Names [(namespacestd) 1256 0 R (page.1) 497 0 R (page.10) 624 0 R (page.100) 2843 0 R (page.101) 2852 0 R (page.102) 2860 0 R]
-/Limits [(namespacestd) (page.102)]
->> endobj
-13962 0 obj <<
-/Names [(page.103) 2870 0 R (page.104) 2879 0 R (page.105) 2886 0 R (page.106) 2896 0 R (page.107) 2905 0 R (page.108) 2913 0 R]
-/Limits [(page.103) (page.108)]
->> endobj
-13963 0 obj <<
-/Names [(page.109) 2922 0 R (page.11) 634 0 R (page.110) 2933 0 R (page.111) 2944 0 R (page.112) 2956 0 R (page.113) 2966 0 R]
-/Limits [(page.109) (page.113)]
->> endobj
-13964 0 obj <<
-/Names [(page.114) 2976 0 R (page.115) 2987 0 R (page.116) 2998 0 R (page.117) 3011 0 R (page.118) 3024 0 R (page.119) 3035 0 R]
-/Limits [(page.114) (page.119)]
->> endobj
-13965 0 obj <<
-/Names [(page.12) 645 0 R (page.120) 3047 0 R (page.121) 3060 0 R (page.122) 3069 0 R (page.123) 3080 0 R (page.124) 3089 0 R]
-/Limits [(page.12) (page.124)]
->> endobj
-13966 0 obj <<
-/Names [(page.125) 3109 0 R (page.126) 3136 0 R (page.127) 3180 0 R (page.128) 3239 0 R (page.129) 3306 0 R (page.13) 656 0 R]
-/Limits [(page.125) (page.13)]
->> endobj
-13967 0 obj <<
-/Names [(page.130) 3364 0 R (page.131) 3433 0 R (page.132) 3489 0 R (page.133) 3540 0 R (page.134) 3587 0 R (page.135) 3603 0 R]
-/Limits [(page.130) (page.135)]
->> endobj
-13968 0 obj <<
-/Names [(page.136) 3615 0 R (page.137) 3624 0 R (page.138) 3633 0 R (page.139) 3644 0 R (page.14) 670 0 R (page.140) 3653 0 R]
-/Limits [(page.136) (page.140)]
->> endobj
-13969 0 obj <<
-/Names [(page.141) 3662 0 R (page.142) 3671 0 R (page.143) 3680 0 R (page.144) 3688 0 R (page.145) 3697 0 R (page.146) 3708 0 R]
-/Limits [(page.141) (page.146)]
->> endobj
-13970 0 obj <<
-/Names [(page.147) 3717 0 R (page.148) 3730 0 R (page.149) 3741 0 R (page.15) 688 0 R (page.150) 3751 0 R (page.151) 3761 0 R]
-/Limits [(page.147) (page.151)]
->> endobj
-13971 0 obj <<
-/Names [(page.152) 3773 0 R (page.153) 3785 0 R (page.154) 3796 0 R (page.155) 3806 0 R (page.156) 3816 0 R (page.157) 3828 0 R]
-/Limits [(page.152) (page.157)]
->> endobj
-13972 0 obj <<
-/Names [(page.158) 3836 0 R (page.159) 3846 0 R (page.16) 697 0 R (page.160) 3856 0 R (page.161) 3886 0 R (page.162) 3929 0 R]
-/Limits [(page.158) (page.162)]
->> endobj
-13973 0 obj <<
-/Names [(page.163) 3946 0 R (page.164) 3955 0 R (page.165) 3963 0 R (page.166) 3972 0 R (page.167) 3999 0 R (page.168) 4047 0 R]
-/Limits [(page.163) (page.168)]
->> endobj
-13974 0 obj <<
-/Names [(page.169) 4085 0 R (page.17) 707 0 R (page.170) 4139 0 R (page.171) 4185 0 R (page.172) 4246 0 R (page.173) 4301 0 R]
-/Limits [(page.169) (page.173)]
->> endobj
-13975 0 obj <<
-/Names [(page.174) 4356 0 R (page.175) 4405 0 R (page.176) 4419 0 R (page.177) 4433 0 R (page.178) 4447 0 R (page.179) 4460 0 R]
-/Limits [(page.174) (page.179)]
->> endobj
-13976 0 obj <<
-/Names [(page.18) 727 0 R (page.180) 4471 0 R (page.181) 4482 0 R (page.182) 4493 0 R (page.183) 4503 0 R (page.184) 4509 0 R]
-/Limits [(page.18) (page.184)]
->> endobj
-13977 0 obj <<
-/Names [(page.185) 4527 0 R (page.186) 4556 0 R (page.187) 4594 0 R (page.188) 4648 0 R (page.189) 4683 0 R (page.19) 748 0 R]
-/Limits [(page.185) (page.19)]
->> endobj
-13978 0 obj <<
-/Names [(page.190) 4696 0 R (page.191) 4703 0 R (page.192) 4714 0 R (page.193) 4727 0 R (page.194) 4765 0 R (page.195) 4812 0 R]
-/Limits [(page.190) (page.195)]
->> endobj
-13979 0 obj <<
-/Names [(page.196) 4848 0 R (page.197) 4865 0 R (page.198) 4875 0 R (page.199) 4889 0 R (page.2) 517 0 R (page.20) 764 0 R]
-/Limits [(page.196) (page.20)]
->> endobj
-13980 0 obj <<
-/Names [(page.200) 4914 0 R (page.201) 4941 0 R (page.202) 4965 0 R (page.203) 4991 0 R (page.204) 5017 0 R (page.205) 5059 0 R]
-/Limits [(page.200) (page.205)]
->> endobj
-13981 0 obj <<
-/Names [(page.206) 5105 0 R (page.207) 5182 0 R (page.208) 5233 0 R (page.209) 5250 0 R (page.21) 782 0 R (page.210) 5255 0 R]
-/Limits [(page.206) (page.210)]
->> endobj
-13982 0 obj <<
-/Names [(page.211) 5267 0 R (page.212) 5279 0 R (page.213) 5292 0 R (page.214) 5308 0 R (page.215) 5345 0 R (page.216) 5392 0 R]
-/Limits [(page.211) (page.216)]
->> endobj
-13983 0 obj <<
-/Names [(page.217) 5414 0 R (page.218) 5426 0 R (page.219) 5447 0 R (page.22) 799 0 R (page.220) 5489 0 R (page.221) 5525 0 R]
-/Limits [(page.217) (page.221)]
->> endobj
-13984 0 obj <<
-/Names [(page.222) 5546 0 R (page.223) 5583 0 R (page.224) 5635 0 R (page.225) 5701 0 R (page.226) 5724 0 R (page.227) 5732 0 R]
-/Limits [(page.222) (page.227)]
->> endobj
-13985 0 obj <<
-/Names [(page.228) 5738 0 R (page.229) 5758 0 R (page.23) 815 0 R (page.230) 5773 0 R (page.231) 5786 0 R (page.232) 5795 0 R]
-/Limits [(page.228) (page.232)]
->> endobj
-13986 0 obj <<
-/Names [(page.233) 5803 0 R (page.234) 5827 0 R (page.235) 5868 0 R (page.236) 5896 0 R (page.237) 5909 0 R (page.238) 5931 0 R]
-/Limits [(page.233) (page.238)]
->> endobj
-13987 0 obj <<
-/Names [(page.239) 5999 0 R (page.24) 834 0 R (page.240) 6020 0 R (page.241) 6034 0 R (page.242) 6061 0 R (page.243) 6115 0 R]
-/Limits [(page.239) (page.243)]
->> endobj
-13988 0 obj <<
-/Names [(page.244) 6173 0 R (page.245) 6234 0 R (page.246) 6298 0 R (page.247) 6363 0 R (page.248) 6423 0 R (page.249) 6468 0 R]
-/Limits [(page.244) (page.249)]
->> endobj
-13989 0 obj <<
-/Names [(page.25) 846 0 R (page.250) 6493 0 R (page.251) 6500 0 R (page.252) 6505 0 R (page.253) 6510 0 R (page.254) 6518 0 R]
-/Limits [(page.25) (page.254)]
->> endobj
-13990 0 obj <<
-/Names [(page.255) 6526 0 R (page.256) 6535 0 R (page.257) 6542 0 R (page.258) 6554 0 R (page.259) 6565 0 R (page.26) 859 0 R]
-/Limits [(page.255) (page.26)]
->> endobj
-13991 0 obj <<
-/Names [(page.260) 6574 0 R (page.261) 6581 0 R (page.262) 6591 0 R (page.263) 6600 0 R (page.264) 6608 0 R (page.265) 6618 0 R]
-/Limits [(page.260) (page.265)]
->> endobj
-13992 0 obj <<
-/Names [(page.266) 6628 0 R (page.267) 6641 0 R (page.268) 6652 0 R (page.269) 6662 0 R (page.27) 874 0 R (page.270) 6674 0 R]
-/Limits [(page.266) (page.270)]
->> endobj
-13993 0 obj <<
-/Names [(page.271) 6687 0 R (page.272) 6699 0 R (page.273) 6713 0 R (page.274) 6728 0 R (page.275) 6739 0 R (page.276) 6755 0 R]
-/Limits [(page.271) (page.276)]
->> endobj
-13994 0 obj <<
-/Names [(page.277) 6763 0 R (page.278) 6789 0 R (page.279) 6827 0 R (page.28) 894 0 R (page.280) 6876 0 R (page.281) 6923 0 R]
-/Limits [(page.277) (page.281)]
->> endobj
-13995 0 obj <<
-/Names [(page.282) 6943 0 R (page.283) 6949 0 R (page.284) 6962 0 R (page.285) 6979 0 R (page.286) 6990 0 R (page.287) 7029 0 R]
-/Limits [(page.282) (page.287)]
->> endobj
-13996 0 obj <<
-/Names [(page.288) 7074 0 R (page.289) 7107 0 R (page.29) 921 0 R (page.290) 7122 0 R (page.291) 7131 0 R (page.292) 7158 0 R]
-/Limits [(page.288) (page.292)]
->> endobj
-13997 0 obj <<
-/Names [(page.293) 7185 0 R (page.294) 7219 0 R (page.295) 7238 0 R (page.296) 7250 0 R (page.297) 7258 0 R (page.298) 7288 0 R]
-/Limits [(page.293) (page.298)]
->> endobj
-13998 0 obj <<
-/Names [(page.299) 7327 0 R (page.3) 535 0 R (page.30) 940 0 R (page.300) 7400 0 R (page.301) 7467 0 R (page.302) 7491 0 R]
-/Limits [(page.299) (page.302)]
->> endobj
-13999 0 obj <<
-/Names [(page.303) 7500 0 R (page.304) 7512 0 R (page.305) 7526 0 R (page.306) 7540 0 R (page.307) 7562 0 R (page.308) 7615 0 R]
-/Limits [(page.303) (page.308)]
->> endobj
-14000 0 obj <<
-/Names [(page.309) 7666 0 R (page.31) 951 0 R (page.310) 7710 0 R (page.311) 7731 0 R (page.312) 7743 0 R (page.313) 7752 0 R]
-/Limits [(page.309) (page.313)]
->> endobj
-14001 0 obj <<
-/Names [(page.314) 7761 0 R (page.315) 7771 0 R (page.316) 7795 0 R (page.317) 7845 0 R (page.318) 7867 0 R (page.319) 7877 0 R]
-/Limits [(page.314) (page.319)]
->> endobj
-14002 0 obj <<
-/Names [(page.32) 969 0 R (page.320) 7885 0 R (page.321) 7894 0 R (page.322) 7908 0 R (page.323) 7938 0 R (page.324) 7992 0 R]
-/Limits [(page.32) (page.324)]
->> endobj
-14003 0 obj <<
-/Names [(page.325) 8045 0 R (page.326) 8108 0 R (page.327) 8169 0 R (page.328) 8237 0 R (page.329) 8296 0 R (page.33) 991 0 R]
-/Limits [(page.325) (page.33)]
->> endobj
-14004 0 obj <<
-/Names [(page.330) 8355 0 R (page.331) 8377 0 R (page.332) 8389 0 R (page.333) 8396 0 R (page.334) 8406 0 R (page.335) 8415 0 R]
-/Limits [(page.330) (page.335)]
->> endobj
-14005 0 obj <<
-/Names [(page.336) 8424 0 R (page.337) 8434 0 R (page.338) 8442 0 R (page.339) 8452 0 R (page.34) 1018 0 R (page.340) 8460 0 R]
-/Limits [(page.336) (page.340)]
->> endobj
-14006 0 obj <<
-/Names [(page.341) 8468 0 R (page.342) 8477 0 R (page.343) 8488 0 R (page.344) 8500 0 R (page.345) 8511 0 R (page.346) 8522 0 R]
-/Limits [(page.341) (page.346)]
->> endobj
-14007 0 obj <<
-/Names [(page.347) 8532 0 R (page.348) 8544 0 R (page.349) 8553 0 R (page.35) 1035 0 R (page.350) 8566 0 R (page.351) 8578 0 R]
-/Limits [(page.347) (page.351)]
->> endobj
-14008 0 obj <<
-/Names [(page.352) 8589 0 R (page.353) 8601 0 R (page.354) 8613 0 R (page.355) 8621 0 R (page.356) 8632 0 R (page.357) 8643 0 R]
-/Limits [(page.352) (page.357)]
->> endobj
-14009 0 obj <<
-/Names [(page.358) 8685 0 R (page.359) 8739 0 R (page.36) 1053 0 R (page.360) 8794 0 R (page.361) 8851 0 R (page.362) 8923 0 R]
-/Limits [(page.358) (page.362)]
->> endobj
-14010 0 obj <<
-/Names [(page.363) 8974 0 R (page.364) 9009 0 R (page.365) 9041 0 R (page.366) 9056 0 R (page.367) 9063 0 R (page.368) 9071 0 R]
-/Limits [(page.363) (page.368)]
->> endobj
-14011 0 obj <<
-/Names [(page.369) 9079 0 R (page.37) 1074 0 R (page.370) 9087 0 R (page.371) 9095 0 R (page.372) 9105 0 R (page.373) 9112 0 R]
-/Limits [(page.369) (page.373)]
->> endobj
-14012 0 obj <<
-/Names [(page.374) 9119 0 R (page.375) 9128 0 R (page.376) 9138 0 R (page.377) 9149 0 R (page.378) 9157 0 R (page.379) 9170 0 R]
-/Limits [(page.374) (page.379)]
->> endobj
-14013 0 obj <<
-/Names [(page.38) 1098 0 R (page.380) 9184 0 R (page.381) 9196 0 R (page.382) 9208 0 R (page.383) 9217 0 R (page.384) 9230 0 R]
-/Limits [(page.38) (page.384)]
->> endobj
-14014 0 obj <<
-/Names [(page.385) 9240 0 R (page.386) 9254 0 R (page.387) 9272 0 R (page.388) 9315 0 R (page.389) 9368 0 R (page.39) 1118 0 R]
-/Limits [(page.385) (page.39)]
->> endobj
-14015 0 obj <<
-/Names [(page.390) 9426 0 R (page.391) 9461 0 R (page.392) 9477 0 R (page.393) 9486 0 R (page.394) 9499 0 R (page.395) 9512 0 R]
-/Limits [(page.390) (page.395)]
->> endobj
-14016 0 obj <<
-/Names [(page.396) 9520 0 R (page.397) 9525 0 R (page.398) 9532 0 R (page.399) 9545 0 R (page.4) 544 0 R (page.40) 1128 0 R]
-/Limits [(page.396) (page.40)]
->> endobj
-14017 0 obj <<
-/Names [(page.400) 9555 0 R (page.401) 9565 0 R (page.402) 9589 0 R (page.403) 9641 0 R (page.404) 9663 0 R (page.405) 9688 0 R]
-/Limits [(page.400) (page.405)]
->> endobj
-14018 0 obj <<
-/Names [(page.406) 9728 0 R (page.407) 9776 0 R (page.408) 9801 0 R (page.409) 9823 0 R (page.41) 1136 0 R (page.410) 9836 0 R]
-/Limits [(page.406) (page.410)]
->> endobj
-14019 0 obj <<
-/Names [(page.411) 9882 0 R (page.412) 9935 0 R (page.413) 9989 0 R (page.414) 10044 0 R (page.415) 10116 0 R (page.416) 10168 0 R]
-/Limits [(page.411) (page.416)]
->> endobj
-14020 0 obj <<
-/Names [(page.417) 10214 0 R (page.418) 10238 0 R (page.419) 10249 0 R (page.42) 1144 0 R (page.420) 10257 0 R (page.421) 10264 0 R]
-/Limits [(page.417) (page.421)]
->> endobj
-14021 0 obj <<
-/Names [(page.422) 10274 0 R (page.423) 10283 0 R (page.424) 10291 0 R (page.425) 10299 0 R (page.426) 10308 0 R (page.427) 10318 0 R]
-/Limits [(page.422) (page.427)]
->> endobj
-14022 0 obj <<
-/Names [(page.428) 10328 0 R (page.429) 10338 0 R (page.43) 1151 0 R (page.430) 10350 0 R (page.431) 10362 0 R (page.432) 10374 0 R]
-/Limits [(page.428) (page.432)]
->> endobj
-14023 0 obj <<
-/Names [(page.433) 10385 0 R (page.434) 10397 0 R (page.435) 10411 0 R (page.436) 10424 0 R (page.437) 10437 0 R (page.438) 10451 0 R]
-/Limits [(page.433) (page.438)]
->> endobj
-14024 0 obj <<
-/Names [(page.439) 10481 0 R (page.44) 1157 0 R (page.440) 10512 0 R (page.441) 10542 0 R (page.442) 10572 0 R (page.443) 10608 0 R]
-/Limits [(page.439) (page.443)]
->> endobj
-14025 0 obj <<
-/Names [(page.444) 10658 0 R (page.445) 10719 0 R (page.446) 10779 0 R (page.447) 10852 0 R (page.448) 10916 0 R (page.449) 10957 0 R]
-/Limits [(page.444) (page.449)]
->> endobj
-14026 0 obj <<
-/Names [(page.45) 1163 0 R (page.450) 11010 0 R (page.451) 11032 0 R (page.452) 11039 0 R (page.453) 11044 0 R (page.454) 11050 0 R]
-/Limits [(page.45) (page.454)]
->> endobj
-14027 0 obj <<
-/Names [(page.455) 11059 0 R (page.456) 11067 0 R (page.457) 11076 0 R (page.458) 11086 0 R (page.459) 11096 0 R (page.46) 1172 0 R]
-/Limits [(page.455) (page.46)]
->> endobj
-14028 0 obj <<
-/Names [(page.460) 11104 0 R (page.461) 11112 0 R (page.462) 11121 0 R (page.463) 11129 0 R (page.464) 11138 0 R (page.465) 11150 0 R]
-/Limits [(page.460) (page.465)]
->> endobj
-14029 0 obj <<
-/Names [(page.466) 11163 0 R (page.467) 11176 0 R (page.468) 11188 0 R (page.469) 11199 0 R (page.47) 1180 0 R (page.470) 11209 0 R]
-/Limits [(page.466) (page.470)]
->> endobj
-14030 0 obj <<
-/Names [(page.471) 11223 0 R (page.472) 11240 0 R (page.473) 11251 0 R (page.474) 11263 0 R (page.475) 11274 0 R (page.476) 11284 0 R]
-/Limits [(page.471) (page.476)]
->> endobj
-14031 0 obj <<
-/Names [(page.477) 11305 0 R (page.478) 11342 0 R (page.479) 11395 0 R (page.48) 1193 0 R (page.480) 11431 0 R (page.481) 11464 0 R]
-/Limits [(page.477) (page.481)]
->> endobj
-14032 0 obj <<
-/Names [(page.482) 11479 0 R (page.483) 11488 0 R (page.484) 11500 0 R (page.485) 11515 0 R (page.486) 11533 0 R (page.487) 11547 0 R]
-/Limits [(page.482) (page.487)]
->> endobj
-14033 0 obj <<
-/Names [(page.488) 11581 0 R (page.489) 11606 0 R (page.49) 1199 0 R (page.490) 11637 0 R (page.491) 11664 0 R (page.492) 11680 0 R]
-/Limits [(page.488) (page.492)]
->> endobj
-14034 0 obj <<
-/Names [(page.493) 11745 0 R (page.494) 11808 0 R (page.495) 11872 0 R (page.496) 11937 0 R (page.497) 12013 0 R (page.498) 12076 0 R]
-/Limits [(page.493) (page.498)]
->> endobj
-14035 0 obj <<
-/Names [(page.499) 12145 0 R (page.5) 555 0 R (page.50) 1204 0 R (page.500) 12216 0 R (page.501) 12275 0 R (page.502) 12382 0 R]
-/Limits [(page.499) (page.502)]
->> endobj
-14036 0 obj <<
-/Names [(page.503) 12505 0 R (page.504) 12620 0 R (page.505) 12733 0 R (page.506) 12857 0 R (page.507) 12974 0 R (page.508) 13093 0 R]
-/Limits [(page.503) (page.508)]
->> endobj
-14037 0 obj <<
-/Names [(page.509) 13185 0 R (page.51) 1209 0 R (page.510) 13257 0 R (page.511) 13324 0 R (page.512) 13392 0 R (page.513) 13455 0 R]
-/Limits [(page.509) (page.513)]
->> endobj
-14038 0 obj <<
-/Names [(page.514) 13482 0 R (page.52) 1215 0 R (page.53) 1222 0 R (page.54) 1253 0 R (page.55) 1290 0 R (page.56) 1327 0 R]
-/Limits [(page.514) (page.56)]
->> endobj
-14039 0 obj <<
-/Names [(page.57) 1386 0 R (page.58) 1457 0 R (page.59) 1496 0 R (page.6) 563 0 R (page.60) 1522 0 R (page.61) 1544 0 R]
-/Limits [(page.57) (page.61)]
->> endobj
-14040 0 obj <<
-/Names [(page.62) 1575 0 R (page.63) 1656 0 R (page.64) 1727 0 R (page.65) 1759 0 R (page.66) 1771 0 R (page.67) 1778 0 R]
-/Limits [(page.62) (page.67)]
->> endobj
-14041 0 obj <<
-/Names [(page.68) 1789 0 R (page.69) 1800 0 R (page.7) 576 0 R (page.70) 1827 0 R (page.71) 1852 0 R (page.72) 1873 0 R]
-/Limits [(page.68) (page.72)]
->> endobj
-14042 0 obj <<
-/Names [(page.73) 1953 0 R (page.74) 2011 0 R (page.75) 2063 0 R (page.76) 2113 0 R (page.77) 2167 0 R (page.78) 2197 0 R]
-/Limits [(page.73) (page.78)]
->> endobj
-14043 0 obj <<
-/Names [(page.79) 2213 0 R (page.8) 590 0 R (page.80) 2224 0 R (page.81) 2238 0 R (page.82) 2247 0 R (page.83) 2255 0 R]
-/Limits [(page.79) (page.83)]
->> endobj
-14044 0 obj <<
-/Names [(page.84) 2263 0 R (page.85) 2270 0 R (page.86) 2278 0 R (page.87) 2298 0 R (page.88) 2327 0 R (page.89) 2348 0 R]
-/Limits [(page.84) (page.89)]
->> endobj
-14045 0 obj <<
-/Names [(page.9) 609 0 R (page.90) 2388 0 R (page.91) 2449 0 R (page.92) 2511 0 R (page.93) 2566 0 R (page.94) 2634 0 R]
-/Limits [(page.9) (page.94)]
->> endobj
-14046 0 obj <<
-/Names [(page.95) 2701 0 R (page.96) 2749 0 R (page.97) 2807 0 R (page.98) 2827 0 R (page.99) 2834 0 R (page.A) 361 0 R]
-/Limits [(page.95) (page.A)]
->> endobj
-14047 0 obj <<
-/Names [(page.i) 397 0 R (page.ii) 441 0 R (page.iii) 481 0 R (paragraph.1.1.2.1) 521 0 R (paragraph.1.1.2.2) 536 0 R (paragraph.1.1.2.3) 546 0 R]
-/Limits [(page.i) (paragraph.1.1.2.3)]
->> endobj
-14048 0 obj <<
-/Names [(paragraph.1.3.2.1) 580 0 R (paragraph.10.1.2.1) 2350 0 R (paragraph.10.1.3.1) 2353 0 R (paragraph.10.1.4.1) 2355 0 R (paragraph.10.11.2.1) 4698 0 R (paragraph.10.11.3.1) 4705 0 R]
-/Limits [(paragraph.1.3.2.1) (paragraph.10.11.3.1)]
->> endobj
-14049 0 obj <<
-/Names [(paragraph.10.11.3.2) 4706 0 R (paragraph.10.11.3.3) 4707 0 R (paragraph.10.11.3.4) 4708 0 R (paragraph.10.11.3.5) 4709 0 R (paragraph.10.11.3.6) 4715 0 R (paragraph.10.11.3.7) 4716 0 R]
-/Limits [(paragraph.10.11.3.2) (paragraph.10.11.3.7)]
->> endobj
-14050 0 obj <<
-/Names [(paragraph.10.11.3.8) 4717 0 R (paragraph.10.11.3.9) 4718 0 R (paragraph.10.11.4.1) 4720 0 R (paragraph.10.11.4.2) 4721 0 R (paragraph.10.11.4.3) 4728 0 R (paragraph.10.11.4.4) 4729 0 R]
-/Limits [(paragraph.10.11.3.8) (paragraph.10.11.4.4)]
->> endobj
-14051 0 obj <<
-/Names [(paragraph.10.11.4.5) 4730 0 R (paragraph.10.11.4.6) 4731 0 R (paragraph.10.11.4.7) 4732 0 R (paragraph.10.11.4.8) 4733 0 R (paragraph.10.12.2.1) 4867 0 R (paragraph.10.12.3.1) 4869 0 R]
-/Limits [(paragraph.10.11.4.5) (paragraph.10.12.3.1)]
->> endobj
-14052 0 obj <<
-/Names [(paragraph.10.12.3.2) 4870 0 R (paragraph.10.12.3.3) 4876 0 R (paragraph.10.12.3.4) 4877 0 R (paragraph.10.12.4.1) 4879 0 R (paragraph.10.12.4.2) 4880 0 R (paragraph.10.13.2.1) 4897 0 R]
-/Limits [(paragraph.10.12.3.2) (paragraph.10.13.2.1)]
->> endobj
-14053 0 obj <<
-/Names [(paragraph.10.18.2.1) 5257 0 R (paragraph.10.18.3.1) 5259 0 R (paragraph.10.18.4.1) 5261 0 R (paragraph.10.18.4.2) 5262 0 R (paragraph.10.18.4.3) 5268 0 R (paragraph.10.18.4.4) 5269 0 R]
-/Limits [(paragraph.10.18.2.1) (paragraph.10.18.4.4)]
->> endobj
-14054 0 obj <<
-/Names [(paragraph.10.18.5.1) 5271 0 R (paragraph.10.18.5.10) 5285 0 R (paragraph.10.18.5.11) 5286 0 R (paragraph.10.18.5.12) 5287 0 R (paragraph.10.18.5.13) 5293 0 R (paragraph.10.18.5.14) 5294 0 R]
-/Limits [(paragraph.10.18.5.1) (paragraph.10.18.5.14)]
->> endobj
-14055 0 obj <<
-/Names [(paragraph.10.18.5.15) 5295 0 R (paragraph.10.18.5.16) 5296 0 R (paragraph.10.18.5.17) 5297 0 R (paragraph.10.18.5.18) 5298 0 R (paragraph.10.18.5.19) 5299 0 R (paragraph.10.18.5.2) 5272 0 R]
-/Limits [(paragraph.10.18.5.15) (paragraph.10.18.5.2)]
->> endobj
-14056 0 obj <<
-/Names [(paragraph.10.18.5.20) 5300 0 R (paragraph.10.18.5.21) 5309 0 R (paragraph.10.18.5.22) 5310 0 R (paragraph.10.18.5.23) 5311 0 R (paragraph.10.18.5.24) 5312 0 R (paragraph.10.18.5.25) 5313 0 R]
-/Limits [(paragraph.10.18.5.20) (paragraph.10.18.5.25)]
->> endobj
-14057 0 obj <<
-/Names [(paragraph.10.18.5.3) 5273 0 R (paragraph.10.18.5.4) 5274 0 R (paragraph.10.18.5.5) 5280 0 R (paragraph.10.18.5.6) 5281 0 R (paragraph.10.18.5.7) 5282 0 R (paragraph.10.18.5.8) 5283 0 R]
-/Limits [(paragraph.10.18.5.3) (paragraph.10.18.5.8)]
->> endobj
-14058 0 obj <<
-/Names [(paragraph.10.18.5.9) 5284 0 R (paragraph.10.19.2.1) 5428 0 R (paragraph.10.19.2.2) 5429 0 R (paragraph.10.19.2.3) 5430 0 R (paragraph.10.2.2.1) 2836 0 R (paragraph.10.2.2.10) 2861 0 R]
-/Limits [(paragraph.10.18.5.9) (paragraph.10.2.2.10)]
->> endobj
-14059 0 obj <<
-/Names [(paragraph.10.2.2.2) 2837 0 R (paragraph.10.2.2.3) 2844 0 R (paragraph.10.2.2.4) 2845 0 R (paragraph.10.2.2.5) 2846 0 R (paragraph.10.2.2.6) 2847 0 R (paragraph.10.2.2.7) 2853 0 R]
-/Limits [(paragraph.10.2.2.2) (paragraph.10.2.2.7)]
->> endobj
-14060 0 obj <<
-/Names [(paragraph.10.2.2.8) 2854 0 R (paragraph.10.2.2.9) 2855 0 R (paragraph.10.2.3.1) 2863 0 R (paragraph.10.2.3.10) 2889 0 R (paragraph.10.2.3.11) 2890 0 R (paragraph.10.2.3.12) 2897 0 R]
-/Limits [(paragraph.10.2.2.8) (paragraph.10.2.3.12)]
->> endobj
-14061 0 obj <<
-/Names [(paragraph.10.2.3.13) 2898 0 R (paragraph.10.2.3.14) 2899 0 R (paragraph.10.2.3.15) 2900 0 R (paragraph.10.2.3.16) 2906 0 R (paragraph.10.2.3.17) 2907 0 R (paragraph.10.2.3.18) 2908 0 R]
-/Limits [(paragraph.10.2.3.13) (paragraph.10.2.3.18)]
->> endobj
-14062 0 obj <<
-/Names [(paragraph.10.2.3.19) 2914 0 R (paragraph.10.2.3.2) 2864 0 R (paragraph.10.2.3.20) 2915 0 R (paragraph.10.2.3.21) 2916 0 R (paragraph.10.2.3.22) 2923 0 R (paragraph.10.2.3.23) 2924 0 R]
-/Limits [(paragraph.10.2.3.19) (paragraph.10.2.3.23)]
->> endobj
-14063 0 obj <<
-/Names [(paragraph.10.2.3.24) 2925 0 R (paragraph.10.2.3.25) 2926 0 R (paragraph.10.2.3.26) 2934 0 R (paragraph.10.2.3.27) 2935 0 R (paragraph.10.2.3.28) 2936 0 R (paragraph.10.2.3.29) 2937 0 R]
-/Limits [(paragraph.10.2.3.24) (paragraph.10.2.3.29)]
->> endobj
-14064 0 obj <<
-/Names [(paragraph.10.2.3.3) 2865 0 R (paragraph.10.2.3.30) 2945 0 R (paragraph.10.2.3.31) 2946 0 R (paragraph.10.2.3.32) 2947 0 R (paragraph.10.2.3.33) 2948 0 R (paragraph.10.2.3.34) 2957 0 R]
-/Limits [(paragraph.10.2.3.3) (paragraph.10.2.3.34)]
->> endobj
-14065 0 obj <<
-/Names [(paragraph.10.2.3.35) 2958 0 R (paragraph.10.2.3.36) 2967 0 R (paragraph.10.2.3.37) 2968 0 R (paragraph.10.2.3.38) 2969 0 R (paragraph.10.2.3.39) 2977 0 R (paragraph.10.2.3.4) 2871 0 R]
-/Limits [(paragraph.10.2.3.35) (paragraph.10.2.3.4)]
->> endobj
-14066 0 obj <<
-/Names [(paragraph.10.2.3.40) 2978 0 R (paragraph.10.2.3.41) 2988 0 R (paragraph.10.2.3.42) 2989 0 R (paragraph.10.2.3.43) 2990 0 R (paragraph.10.2.3.44) 2999 0 R (paragraph.10.2.3.45) 3000 0 R]
-/Limits [(paragraph.10.2.3.40) (paragraph.10.2.3.45)]
->> endobj
-14067 0 obj <<
-/Names [(paragraph.10.2.3.46) 3001 0 R (paragraph.10.2.3.47) 3012 0 R (paragraph.10.2.3.48) 3013 0 R (paragraph.10.2.3.49) 3025 0 R (paragraph.10.2.3.5) 2872 0 R (paragraph.10.2.3.50) 3027 0 R]
-/Limits [(paragraph.10.2.3.46) (paragraph.10.2.3.50)]
->> endobj
-14068 0 obj <<
-/Names [(paragraph.10.2.3.51) 3028 0 R (paragraph.10.2.3.52) 3036 0 R (paragraph.10.2.3.53) 3037 0 R (paragraph.10.2.3.54) 3038 0 R (paragraph.10.2.3.55) 3048 0 R (paragraph.10.2.3.56) 3049 0 R]
-/Limits [(paragraph.10.2.3.51) (paragraph.10.2.3.56)]
->> endobj
-14069 0 obj <<
-/Names [(paragraph.10.2.3.57) 3050 0 R (paragraph.10.2.3.58) 3061 0 R (paragraph.10.2.3.59) 3062 0 R (paragraph.10.2.3.6) 2880 0 R (paragraph.10.2.3.60) 3070 0 R (paragraph.10.2.3.61) 3071 0 R]
-/Limits [(paragraph.10.2.3.57) (paragraph.10.2.3.61)]
->> endobj
-14070 0 obj <<
-/Names [(paragraph.10.2.3.7) 2881 0 R (paragraph.10.2.3.8) 2887 0 R (paragraph.10.2.3.9) 2888 0 R (paragraph.10.2.4.1) 3073 0 R (paragraph.10.2.4.10) 3110 0 R (paragraph.10.2.4.2) 3074 0 R]
-/Limits [(paragraph.10.2.3.7) (paragraph.10.2.4.2)]
->> endobj
-14071 0 obj <<
-/Names [(paragraph.10.2.4.3) 3075 0 R (paragraph.10.2.4.4) 3081 0 R (paragraph.10.2.4.5) 3082 0 R (paragraph.10.2.4.6) 3083 0 R (paragraph.10.2.4.7) 3090 0 R (paragraph.10.2.4.8) 3091 0 R]
-/Limits [(paragraph.10.2.4.3) (paragraph.10.2.4.8)]
->> endobj
-14072 0 obj <<
-/Names [(paragraph.10.2.4.9) 3092 0 R (paragraph.10.20.2.1) 5451 0 R (paragraph.10.21.2.1) 5540 0 R (paragraph.10.21.3.1) 5548 0 R (paragraph.10.21.3.2) 5549 0 R (paragraph.10.21.3.3) 5550 0 R]
-/Limits [(paragraph.10.2.4.9) (paragraph.10.21.3.3)]
->> endobj
-14073 0 obj <<
-/Names [(paragraph.10.21.3.4) 5551 0 R (paragraph.10.23.2.1) 5740 0 R (paragraph.10.23.3.1) 5760 0 R (paragraph.10.23.3.2) 5761 0 R (paragraph.10.23.3.3) 5762 0 R (paragraph.10.23.3.4) 5764 0 R]
-/Limits [(paragraph.10.21.3.4) (paragraph.10.23.3.4)]
->> endobj
-14074 0 obj <<
-/Names [(paragraph.10.23.3.5) 5774 0 R (paragraph.10.23.3.6) 5775 0 R (paragraph.10.23.3.7) 5776 0 R (paragraph.10.23.4.1) 5778 0 R (paragraph.10.23.4.10) 5805 0 R (paragraph.10.23.4.11) 5828 0 R]
-/Limits [(paragraph.10.23.3.5) (paragraph.10.23.4.11)]
->> endobj
-14075 0 obj <<
-/Names [(paragraph.10.23.4.2) 5779 0 R (paragraph.10.23.4.3) 5787 0 R (paragraph.10.23.4.4) 5788 0 R (paragraph.10.23.4.5) 5789 0 R (paragraph.10.23.4.6) 5796 0 R (paragraph.10.23.4.7) 5797 0 R]
-/Limits [(paragraph.10.23.4.2) (paragraph.10.23.4.7)]
->> endobj
-14076 0 obj <<
-/Names [(paragraph.10.23.4.8) 5798 0 R (paragraph.10.23.4.9) 5804 0 R (paragraph.10.24.2.1) 5911 0 R (paragraph.10.24.2.2) 5913 0 R (paragraph.10.24.3.1) 5933 0 R (paragraph.10.24.3.2) 5934 0 R]
-/Limits [(paragraph.10.23.4.8) (paragraph.10.24.3.2)]
->> endobj
-14077 0 obj <<
-/Names [(paragraph.10.25.2.1) 6022 0 R (paragraph.10.25.2.10) 6036 0 R (paragraph.10.25.2.11) 6037 0 R (paragraph.10.25.2.12) 6038 0 R (paragraph.10.25.2.13) 6039 0 R (paragraph.10.25.2.14) 6040 0 R]
-/Limits [(paragraph.10.25.2.1) (paragraph.10.25.2.14)]
->> endobj
-14078 0 obj <<
-/Names [(paragraph.10.25.2.15) 6041 0 R (paragraph.10.25.2.16) 6062 0 R (paragraph.10.25.2.17) 6063 0 R (paragraph.10.25.2.18) 6064 0 R (paragraph.10.25.2.2) 6023 0 R (paragraph.10.25.2.3) 6024 0 R]
-/Limits [(paragraph.10.25.2.15) (paragraph.10.25.2.3)]
->> endobj
-14079 0 obj <<
-/Names [(paragraph.10.25.2.4) 6025 0 R (paragraph.10.25.2.5) 6026 0 R (paragraph.10.25.2.6) 6027 0 R (paragraph.10.25.2.7) 6028 0 R (paragraph.10.25.2.8) 6029 0 R (paragraph.10.25.2.9) 6035 0 R]
-/Limits [(paragraph.10.25.2.4) (paragraph.10.25.2.9)]
->> endobj
-14080 0 obj <<
-/Names [(paragraph.10.26.2.1) 6512 0 R (paragraph.10.26.2.10) 6537 0 R (paragraph.10.26.2.11) 6543 0 R (paragraph.10.26.2.12) 6544 0 R (paragraph.10.26.2.2) 6513 0 R (paragraph.10.26.2.3) 6519 0 R]
-/Limits [(paragraph.10.26.2.1) (paragraph.10.26.2.3)]
->> endobj
-14081 0 obj <<
-/Names [(paragraph.10.26.2.4) 6520 0 R (paragraph.10.26.2.5) 6521 0 R (paragraph.10.26.2.6) 6527 0 R (paragraph.10.26.2.7) 6528 0 R (paragraph.10.26.2.8) 6529 0 R (paragraph.10.26.2.9) 6536 0 R]
-/Limits [(paragraph.10.26.2.4) (paragraph.10.26.2.9)]
->> endobj
-14082 0 obj <<
-/Names [(paragraph.10.26.3.1) 6546 0 R (paragraph.10.26.3.10) 6575 0 R (paragraph.10.26.3.11) 6576 0 R (paragraph.10.26.3.12) 6582 0 R (paragraph.10.26.3.13) 6583 0 R (paragraph.10.26.3.14) 6584 0 R]
-/Limits [(paragraph.10.26.3.1) (paragraph.10.26.3.14)]
->> endobj
-14083 0 obj <<
-/Names [(paragraph.10.26.3.15) 6585 0 R (paragraph.10.26.3.16) 6592 0 R (paragraph.10.26.3.17) 6593 0 R (paragraph.10.26.3.18) 6594 0 R (paragraph.10.26.3.19) 6595 0 R (paragraph.10.26.3.2) 6547 0 R]
-/Limits [(paragraph.10.26.3.15) (paragraph.10.26.3.2)]
->> endobj
-14084 0 obj <<
-/Names [(paragraph.10.26.3.20) 6601 0 R (paragraph.10.26.3.21) 6602 0 R (paragraph.10.26.3.22) 6603 0 R (paragraph.10.26.3.23) 6609 0 R (paragraph.10.26.3.24) 6610 0 R (paragraph.10.26.3.25) 6611 0 R]
-/Limits [(paragraph.10.26.3.20) (paragraph.10.26.3.25)]
->> endobj
-14085 0 obj <<
-/Names [(paragraph.10.26.3.26) 6619 0 R (paragraph.10.26.3.27) 6620 0 R (paragraph.10.26.3.28) 6621 0 R (paragraph.10.26.3.29) 6629 0 R (paragraph.10.26.3.3) 6548 0 R (paragraph.10.26.3.30) 6630 0 R]
-/Limits [(paragraph.10.26.3.26) (paragraph.10.26.3.30)]
->> endobj
-14086 0 obj <<
-/Names [(paragraph.10.26.3.31) 6631 0 R (paragraph.10.26.3.32) 6632 0 R (paragraph.10.26.3.33) 6633 0 R (paragraph.10.26.3.34) 6642 0 R (paragraph.10.26.3.35) 6643 0 R (paragraph.10.26.3.36) 6644 0 R]
-/Limits [(paragraph.10.26.3.31) (paragraph.10.26.3.36)]
->> endobj
-14087 0 obj <<
-/Names [(paragraph.10.26.3.37) 6653 0 R (paragraph.10.26.3.38) 6654 0 R (paragraph.10.26.3.39) 6663 0 R (paragraph.10.26.3.4) 6555 0 R (paragraph.10.26.3.40) 6664 0 R (paragraph.10.26.3.41) 6665 0 R]
-/Limits [(paragraph.10.26.3.37) (paragraph.10.26.3.41)]
->> endobj
-14088 0 obj <<
-/Names [(paragraph.10.26.3.42) 6675 0 R (paragraph.10.26.3.43) 6676 0 R (paragraph.10.26.3.44) 6677 0 R (paragraph.10.26.3.45) 6688 0 R (paragraph.10.26.3.46) 6689 0 R (paragraph.10.26.3.47) 6700 0 R]
-/Limits [(paragraph.10.26.3.42) (paragraph.10.26.3.47)]
->> endobj
-14089 0 obj <<
-/Names [(paragraph.10.26.3.48) 6701 0 R (paragraph.10.26.3.49) 6702 0 R (paragraph.10.26.3.5) 6556 0 R (paragraph.10.26.3.50) 6714 0 R (paragraph.10.26.3.51) 6715 0 R (paragraph.10.26.3.52) 6716 0 R]
-/Limits [(paragraph.10.26.3.48) (paragraph.10.26.3.52)]
->> endobj
-14090 0 obj <<
-/Names [(paragraph.10.26.3.53) 6729 0 R (paragraph.10.26.3.54) 6730 0 R (paragraph.10.26.3.55) 6740 0 R (paragraph.10.26.3.56) 6741 0 R (paragraph.10.26.3.57) 6742 0 R (paragraph.10.26.3.58) 6744 0 R]
-/Limits [(paragraph.10.26.3.53) (paragraph.10.26.3.58)]
->> endobj
-14091 0 obj <<
-/Names [(paragraph.10.26.3.59) 6756 0 R (paragraph.10.26.3.6) 6557 0 R (paragraph.10.26.3.60) 6757 0 R (paragraph.10.26.3.61) 6764 0 R (paragraph.10.26.3.7) 6558 0 R (paragraph.10.26.3.8) 6566 0 R]
-/Limits [(paragraph.10.26.3.59) (paragraph.10.26.3.8)]
->> endobj
-14092 0 obj <<
-/Names [(paragraph.10.26.3.9) 6567 0 R (paragraph.10.26.4.1) 6766 0 R (paragraph.10.26.4.2) 6767 0 R (paragraph.10.26.4.3) 6768 0 R (paragraph.10.26.4.4) 6769 0 R (paragraph.10.27.2.1) 6800 0 R]
-/Limits [(paragraph.10.26.3.9) (paragraph.10.27.2.1)]
->> endobj
-14093 0 obj <<
-/Names [(paragraph.10.28.2.1) 6964 0 R (paragraph.10.28.3.1) 6966 0 R (paragraph.10.28.3.2) 6967 0 R (paragraph.10.28.3.3) 6980 0 R (paragraph.10.28.3.4) 6981 0 R (paragraph.10.28.3.5) 6982 0 R]
-/Limits [(paragraph.10.28.2.1) (paragraph.10.28.3.5)]
->> endobj
-14094 0 obj <<
-/Names [(paragraph.10.28.3.6) 6983 0 R (paragraph.10.28.3.7) 6991 0 R (paragraph.10.28.4.1) 6993 0 R (paragraph.10.28.4.2) 6994 0 R (paragraph.10.28.4.3) 6995 0 R (paragraph.10.28.4.4) 6996 0 R]
-/Limits [(paragraph.10.28.3.6) (paragraph.10.28.4.4)]
->> endobj
-14095 0 obj <<
-/Names [(paragraph.10.28.4.5) 6997 0 R (paragraph.10.29.2.1) 7133 0 R (paragraph.10.29.2.2) 7134 0 R (paragraph.10.29.2.3) 7136 0 R (paragraph.10.29.3.1) 7138 0 R (paragraph.10.29.3.2) 7139 0 R]
-/Limits [(paragraph.10.28.4.5) (paragraph.10.29.3.2)]
->> endobj
-14096 0 obj <<
-/Names [(paragraph.10.29.3.3) 7159 0 R (paragraph.10.3.2.1) 3139 0 R (paragraph.10.30.2.1) 7188 0 R (paragraph.10.31.2.1) 7243 0 R (paragraph.10.31.2.2) 7244 0 R (paragraph.10.31.2.3) 7251 0 R]
-/Limits [(paragraph.10.29.3.3) (paragraph.10.31.2.3)]
->> endobj
-14097 0 obj <<
-/Names [(paragraph.10.31.2.4) 7252 0 R (paragraph.10.31.2.5) 7253 0 R (paragraph.10.31.2.6) 7259 0 R (paragraph.10.31.3.1) 7261 0 R (paragraph.10.35.2.1) 7494 0 R (paragraph.10.35.2.2) 7501 0 R]
-/Limits [(paragraph.10.31.2.4) (paragraph.10.35.2.2)]
->> endobj
-14098 0 obj <<
-/Names [(paragraph.10.35.2.3) 7502 0 R (paragraph.10.35.2.4) 7503 0 R (paragraph.10.35.2.5) 7504 0 R (paragraph.10.35.3.1) 7506 0 R (paragraph.10.35.3.10) 7527 0 R (paragraph.10.35.3.11) 7528 0 R]
-/Limits [(paragraph.10.35.2.3) (paragraph.10.35.3.11)]
->> endobj
-14099 0 obj <<
-/Names [(paragraph.10.35.3.12) 7529 0 R (paragraph.10.35.3.13) 7530 0 R (paragraph.10.35.3.14) 7531 0 R (paragraph.10.35.3.15) 7532 0 R (paragraph.10.35.3.16) 7533 0 R (paragraph.10.35.3.17) 7541 0 R]
-/Limits [(paragraph.10.35.3.12) (paragraph.10.35.3.17)]
->> endobj
-14100 0 obj <<
-/Names [(paragraph.10.35.3.18) 7542 0 R (paragraph.10.35.3.19) 7543 0 R (paragraph.10.35.3.2) 7513 0 R (paragraph.10.35.3.20) 7545 0 R (paragraph.10.35.3.21) 7546 0 R (paragraph.10.35.3.22) 7547 0 R]
-/Limits [(paragraph.10.35.3.18) (paragraph.10.35.3.22)]
->> endobj
-14101 0 obj <<
-/Names [(paragraph.10.35.3.23) 7548 0 R (paragraph.10.35.3.24) 7563 0 R (paragraph.10.35.3.25) 7564 0 R (paragraph.10.35.3.26) 7565 0 R (paragraph.10.35.3.27) 7566 0 R (paragraph.10.35.3.3) 7514 0 R]
-/Limits [(paragraph.10.35.3.23) (paragraph.10.35.3.3)]
->> endobj
-14102 0 obj <<
-/Names [(paragraph.10.35.3.4) 7515 0 R (paragraph.10.35.3.5) 7516 0 R (paragraph.10.35.3.6) 7517 0 R (paragraph.10.35.3.7) 7518 0 R (paragraph.10.35.3.8) 7519 0 R (paragraph.10.35.3.9) 7520 0 R]
-/Limits [(paragraph.10.35.3.4) (paragraph.10.35.3.9)]
->> endobj
-14103 0 obj <<
-/Names [(paragraph.10.36.2.1) 7733 0 R (paragraph.10.36.2.2) 7734 0 R (paragraph.10.36.3.1) 7736 0 R (paragraph.10.36.3.2) 7744 0 R (paragraph.10.36.3.3) 7745 0 R (paragraph.10.36.3.4) 7753 0 R]
-/Limits [(paragraph.10.36.2.1) (paragraph.10.36.3.4)]
->> endobj
-14104 0 obj <<
-/Names [(paragraph.10.36.4.1) 7755 0 R (paragraph.10.36.4.10) 7774 0 R (paragraph.10.36.4.11) 7775 0 R (paragraph.10.36.4.12) 7796 0 R (paragraph.10.36.4.2) 7756 0 R (paragraph.10.36.4.3) 7762 0 R]
-/Limits [(paragraph.10.36.4.1) (paragraph.10.36.4.3)]
->> endobj
-14105 0 obj <<
-/Names [(paragraph.10.36.4.4) 7763 0 R (paragraph.10.36.4.5) 7764 0 R (paragraph.10.36.4.6) 7765 0 R (paragraph.10.36.4.7) 7766 0 R (paragraph.10.36.4.8) 7772 0 R (paragraph.10.36.4.9) 7773 0 R]
-/Limits [(paragraph.10.36.4.4) (paragraph.10.36.4.9)]
->> endobj
-14106 0 obj <<
-/Names [(paragraph.10.36.5.1) 7798 0 R (paragraph.10.36.5.2) 7799 0 R (paragraph.10.37.2.1) 7870 0 R (paragraph.10.37.2.10) 7889 0 R (paragraph.10.37.2.11) 7895 0 R (paragraph.10.37.2.12) 7896 0 R]
-/Limits [(paragraph.10.36.5.1) (paragraph.10.37.2.12)]
->> endobj
-14107 0 obj <<
-/Names [(paragraph.10.37.2.2) 7871 0 R (paragraph.10.37.2.3) 7872 0 R (paragraph.10.37.2.4) 7878 0 R (paragraph.10.37.2.5) 7879 0 R (paragraph.10.37.2.6) 7880 0 R (paragraph.10.37.2.7) 7886 0 R]
-/Limits [(paragraph.10.37.2.2) (paragraph.10.37.2.7)]
->> endobj
-14108 0 obj <<
-/Names [(paragraph.10.37.2.8) 7887 0 R (paragraph.10.37.2.9) 7888 0 R (paragraph.10.37.3.1) 7898 0 R (paragraph.10.39.2.1) 7917 0 R (paragraph.10.4.2.1) 3605 0 R (paragraph.10.4.2.10) 3626 0 R]
-/Limits [(paragraph.10.37.2.8) (paragraph.10.4.2.10)]
->> endobj
-14109 0 obj <<
-/Names [(paragraph.10.4.2.11) 3627 0 R (paragraph.10.4.2.12) 3628 0 R (paragraph.10.4.2.13) 3634 0 R (paragraph.10.4.2.14) 3635 0 R (paragraph.10.4.2.2) 3606 0 R (paragraph.10.4.2.3) 3607 0 R]
-/Limits [(paragraph.10.4.2.11) (paragraph.10.4.2.3)]
->> endobj
-14110 0 obj <<
-/Names [(paragraph.10.4.2.4) 3608 0 R (paragraph.10.4.2.5) 3616 0 R (paragraph.10.4.2.6) 3617 0 R (paragraph.10.4.2.7) 3618 0 R (paragraph.10.4.2.8) 3619 0 R (paragraph.10.4.2.9) 3625 0 R]
-/Limits [(paragraph.10.4.2.4) (paragraph.10.4.2.9)]
->> endobj
-14111 0 obj <<
-/Names [(paragraph.10.4.3.1) 3637 0 R (paragraph.10.4.3.10) 3663 0 R (paragraph.10.4.3.11) 3664 0 R (paragraph.10.4.3.12) 3672 0 R (paragraph.10.4.3.13) 3673 0 R (paragraph.10.4.3.14) 3674 0 R]
-/Limits [(paragraph.10.4.3.1) (paragraph.10.4.3.14)]
->> endobj
-14112 0 obj <<
-/Names [(paragraph.10.4.3.15) 3675 0 R (paragraph.10.4.3.16) 3681 0 R (paragraph.10.4.3.17) 3682 0 R (paragraph.10.4.3.18) 3683 0 R (paragraph.10.4.3.19) 3689 0 R (paragraph.10.4.3.2) 3638 0 R]
-/Limits [(paragraph.10.4.3.15) (paragraph.10.4.3.2)]
->> endobj
-14113 0 obj <<
-/Names [(paragraph.10.4.3.20) 3690 0 R (paragraph.10.4.3.21) 3691 0 R (paragraph.10.4.3.22) 3698 0 R (paragraph.10.4.3.23) 3700 0 R (paragraph.10.4.3.24) 3701 0 R (paragraph.10.4.3.25) 3709 0 R]
-/Limits [(paragraph.10.4.3.20) (paragraph.10.4.3.25)]
->> endobj
-14114 0 obj <<
-/Names [(paragraph.10.4.3.26) 3710 0 R (paragraph.10.4.3.27) 3711 0 R (paragraph.10.4.3.28) 3718 0 R (paragraph.10.4.3.29) 3719 0 R (paragraph.10.4.3.3) 3639 0 R (paragraph.10.4.3.30) 3720 0 R]
-/Limits [(paragraph.10.4.3.26) (paragraph.10.4.3.30)]
->> endobj
-14115 0 obj <<
-/Names [(paragraph.10.4.3.31) 3721 0 R (paragraph.10.4.3.32) 3731 0 R (paragraph.10.4.3.33) 3732 0 R (paragraph.10.4.3.34) 3733 0 R (paragraph.10.4.3.35) 3734 0 R (paragraph.10.4.3.36) 3742 0 R]
-/Limits [(paragraph.10.4.3.31) (paragraph.10.4.3.36)]
->> endobj
-14116 0 obj <<
-/Names [(paragraph.10.4.3.37) 3743 0 R (paragraph.10.4.3.38) 3752 0 R (paragraph.10.4.3.39) 3753 0 R (paragraph.10.4.3.4) 3645 0 R (paragraph.10.4.3.40) 3754 0 R (paragraph.10.4.3.41) 3762 0 R]
-/Limits [(paragraph.10.4.3.37) (paragraph.10.4.3.41)]
->> endobj
-14117 0 obj <<
-/Names [(paragraph.10.4.3.42) 3763 0 R (paragraph.10.4.3.43) 3774 0 R (paragraph.10.4.3.44) 3775 0 R (paragraph.10.4.3.45) 3776 0 R (paragraph.10.4.3.46) 3786 0 R (paragraph.10.4.3.47) 3787 0 R]
-/Limits [(paragraph.10.4.3.42) (paragraph.10.4.3.47)]
->> endobj
-14118 0 obj <<
-/Names [(paragraph.10.4.3.48) 3797 0 R (paragraph.10.4.3.49) 3798 0 R (paragraph.10.4.3.5) 3646 0 R (paragraph.10.4.3.50) 3799 0 R (paragraph.10.4.3.51) 3807 0 R (paragraph.10.4.3.52) 3808 0 R]
-/Limits [(paragraph.10.4.3.48) (paragraph.10.4.3.52)]
->> endobj
-14119 0 obj <<
-/Names [(paragraph.10.4.3.53) 3809 0 R (paragraph.10.4.3.54) 3817 0 R (paragraph.10.4.3.55) 3818 0 R (paragraph.10.4.3.56) 3829 0 R (paragraph.10.4.3.57) 3830 0 R (paragraph.10.4.3.58) 3831 0 R]
-/Limits [(paragraph.10.4.3.53) (paragraph.10.4.3.58)]
->> endobj
-14120 0 obj <<
-/Names [(paragraph.10.4.3.59) 3837 0 R (paragraph.10.4.3.6) 3647 0 R (paragraph.10.4.3.60) 3838 0 R (paragraph.10.4.3.61) 3839 0 R (paragraph.10.4.3.7) 3648 0 R (paragraph.10.4.3.8) 3654 0 R]
-/Limits [(paragraph.10.4.3.59) (paragraph.10.4.3.8)]
->> endobj
-14121 0 obj <<
-/Names [(paragraph.10.4.3.9) 3655 0 R (paragraph.10.4.4.1) 3841 0 R (paragraph.10.4.4.2) 3847 0 R (paragraph.10.4.4.3) 3848 0 R (paragraph.10.4.4.4) 3849 0 R (paragraph.10.4.4.5) 3850 0 R]
-/Limits [(paragraph.10.4.3.9) (paragraph.10.4.4.5)]
->> endobj
-14122 0 obj <<
-/Names [(paragraph.10.4.4.6) 3857 0 R (paragraph.10.4.4.7) 3858 0 R (paragraph.10.4.4.8) 3859 0 R (paragraph.10.4.4.9) 3887 0 R (paragraph.10.40.2.1) 8391 0 R (paragraph.10.40.2.10) 8416 0 R]
-/Limits [(paragraph.10.4.4.6) (paragraph.10.40.2.10)]
->> endobj
-14123 0 obj <<
-/Names [(paragraph.10.40.2.2) 8397 0 R (paragraph.10.40.2.3) 8398 0 R (paragraph.10.40.2.4) 8399 0 R (paragraph.10.40.2.5) 8400 0 R (paragraph.10.40.2.6) 8407 0 R (paragraph.10.40.2.7) 8408 0 R]
-/Limits [(paragraph.10.40.2.2) (paragraph.10.40.2.7)]
->> endobj
-14124 0 obj <<
-/Names [(paragraph.10.40.2.8) 8409 0 R (paragraph.10.40.2.9) 8410 0 R (paragraph.10.40.3.1) 8418 0 R (paragraph.10.40.3.10) 8437 0 R (paragraph.10.40.3.11) 8443 0 R (paragraph.10.40.3.12) 8444 0 R]
-/Limits [(paragraph.10.40.2.8) (paragraph.10.40.3.12)]
->> endobj
-14125 0 obj <<
-/Names [(paragraph.10.40.3.13) 8445 0 R (paragraph.10.40.3.14) 8453 0 R (paragraph.10.40.3.15) 8454 0 R (paragraph.10.40.3.16) 8461 0 R (paragraph.10.40.3.17) 8462 0 R (paragraph.10.40.3.18) 8463 0 R]
-/Limits [(paragraph.10.40.3.13) (paragraph.10.40.3.18)]
->> endobj
-14126 0 obj <<
-/Names [(paragraph.10.40.3.19) 8469 0 R (paragraph.10.40.3.2) 8419 0 R (paragraph.10.40.3.20) 8470 0 R (paragraph.10.40.3.21) 8471 0 R (paragraph.10.40.3.22) 8478 0 R (paragraph.10.40.3.23) 8479 0 R]
-/Limits [(paragraph.10.40.3.19) (paragraph.10.40.3.23)]
->> endobj
-14127 0 obj <<
-/Names [(paragraph.10.40.3.24) 8480 0 R (paragraph.10.40.3.25) 8481 0 R (paragraph.10.40.3.26) 8489 0 R (paragraph.10.40.3.27) 8490 0 R (paragraph.10.40.3.28) 8491 0 R (paragraph.10.40.3.29) 8492 0 R]
-/Limits [(paragraph.10.40.3.24) (paragraph.10.40.3.29)]
->> endobj
-14128 0 obj <<
-/Names [(paragraph.10.40.3.3) 8425 0 R (paragraph.10.40.3.30) 8501 0 R (paragraph.10.40.3.31) 8502 0 R (paragraph.10.40.3.32) 8503 0 R (paragraph.10.40.3.33) 8512 0 R (paragraph.10.40.3.34) 8513 0 R]
-/Limits [(paragraph.10.40.3.3) (paragraph.10.40.3.34)]
->> endobj
-14129 0 obj <<
-/Names [(paragraph.10.40.3.35) 8514 0 R (paragraph.10.40.3.36) 8523 0 R (paragraph.10.40.3.37) 8524 0 R (paragraph.10.40.3.38) 8533 0 R (paragraph.10.40.3.39) 8534 0 R (paragraph.10.40.3.4) 8426 0 R]
-/Limits [(paragraph.10.40.3.35) (paragraph.10.40.3.4)]
->> endobj
-14130 0 obj <<
-/Names [(paragraph.10.40.3.40) 8535 0 R (paragraph.10.40.3.41) 8545 0 R (paragraph.10.40.3.42) 8546 0 R (paragraph.10.40.3.43) 8554 0 R (paragraph.10.40.3.44) 8555 0 R (paragraph.10.40.3.45) 8556 0 R]
-/Limits [(paragraph.10.40.3.40) (paragraph.10.40.3.45)]
->> endobj
-14131 0 obj <<
-/Names [(paragraph.10.40.3.46) 8567 0 R (paragraph.10.40.3.47) 8568 0 R (paragraph.10.40.3.48) 8569 0 R (paragraph.10.40.3.49) 8579 0 R (paragraph.10.40.3.5) 8427 0 R (paragraph.10.40.3.50) 8580 0 R]
-/Limits [(paragraph.10.40.3.46) (paragraph.10.40.3.50)]
->> endobj
-14132 0 obj <<
-/Names [(paragraph.10.40.3.51) 8590 0 R (paragraph.10.40.3.52) 8591 0 R (paragraph.10.40.3.53) 8592 0 R (paragraph.10.40.3.54) 8593 0 R (paragraph.10.40.3.55) 8602 0 R (paragraph.10.40.3.56) 8603 0 R]
-/Limits [(paragraph.10.40.3.51) (paragraph.10.40.3.56)]
->> endobj
-14133 0 obj <<
-/Names [(paragraph.10.40.3.57) 8614 0 R (paragraph.10.40.3.58) 8615 0 R (paragraph.10.40.3.59) 8616 0 R (paragraph.10.40.3.6) 8428 0 R (paragraph.10.40.3.60) 8622 0 R (paragraph.10.40.3.7) 8429 0 R]
-/Limits [(paragraph.10.40.3.57) (paragraph.10.40.3.7)]
->> endobj
-14134 0 obj <<
-/Names [(paragraph.10.40.3.8) 8435 0 R (paragraph.10.40.3.9) 8436 0 R (paragraph.10.40.4.1) 8624 0 R (paragraph.10.40.4.10) 8646 0 R (paragraph.10.40.4.2) 8625 0 R (paragraph.10.40.4.3) 8626 0 R]
-/Limits [(paragraph.10.40.3.8) (paragraph.10.40.4.3)]
->> endobj
-14135 0 obj <<
-/Names [(paragraph.10.40.4.4) 8627 0 R (paragraph.10.40.4.5) 8633 0 R (paragraph.10.40.4.6) 8634 0 R (paragraph.10.40.4.7) 8635 0 R (paragraph.10.40.4.8) 8644 0 R (paragraph.10.40.4.9) 8645 0 R]
-/Limits [(paragraph.10.40.4.4) (paragraph.10.40.4.9)]
->> endobj
-14136 0 obj <<
-/Names [(paragraph.10.41.2.1) 9058 0 R (paragraph.10.41.2.10) 9088 0 R (paragraph.10.41.2.11) 9089 0 R (paragraph.10.41.2.12) 9090 0 R (paragraph.10.41.2.2) 9064 0 R (paragraph.10.41.2.3) 9065 0 R]
-/Limits [(paragraph.10.41.2.1) (paragraph.10.41.2.3)]
->> endobj
-14137 0 obj <<
-/Names [(paragraph.10.41.2.4) 9066 0 R (paragraph.10.41.2.5) 9072 0 R (paragraph.10.41.2.6) 9073 0 R (paragraph.10.41.2.7) 9074 0 R (paragraph.10.41.2.8) 9080 0 R (paragraph.10.41.2.9) 9081 0 R]
-/Limits [(paragraph.10.41.2.4) (paragraph.10.41.2.9)]
->> endobj
-14138 0 obj <<
-/Names [(paragraph.10.41.3.1) 9097 0 R (paragraph.10.41.3.10) 9121 0 R (paragraph.10.41.3.11) 9122 0 R (paragraph.10.41.3.12) 9123 0 R (paragraph.10.41.3.13) 9129 0 R (paragraph.10.41.3.14) 9130 0 R]
-/Limits [(paragraph.10.41.3.1) (paragraph.10.41.3.14)]
->> endobj
-14139 0 obj <<
-/Names [(paragraph.10.41.3.15) 9131 0 R (paragraph.10.41.3.16) 9132 0 R (paragraph.10.41.3.17) 9139 0 R (paragraph.10.41.3.18) 9140 0 R (paragraph.10.41.3.19) 9141 0 R (paragraph.10.41.3.2) 9098 0 R]
-/Limits [(paragraph.10.41.3.15) (paragraph.10.41.3.2)]
->> endobj
-14140 0 obj <<
-/Names [(paragraph.10.41.3.20) 9150 0 R (paragraph.10.41.3.21) 9151 0 R (paragraph.10.41.3.22) 9152 0 R (paragraph.10.41.3.23) 9158 0 R (paragraph.10.41.3.24) 9159 0 R (paragraph.10.41.3.25) 9160 0 R]
-/Limits [(paragraph.10.41.3.20) (paragraph.10.41.3.25)]
->> endobj
-14141 0 obj <<
-/Names [(paragraph.10.41.3.26) 9161 0 R (paragraph.10.41.3.27) 9171 0 R (paragraph.10.41.3.28) 9172 0 R (paragraph.10.41.3.29) 9173 0 R (paragraph.10.41.3.3) 9099 0 R (paragraph.10.41.3.30) 9185 0 R]
-/Limits [(paragraph.10.41.3.26) (paragraph.10.41.3.30)]
->> endobj
-14142 0 obj <<
-/Names [(paragraph.10.41.3.31) 9186 0 R (paragraph.10.41.3.32) 9197 0 R (paragraph.10.41.3.33) 9198 0 R (paragraph.10.41.3.34) 9209 0 R (paragraph.10.41.3.35) 9210 0 R (paragraph.10.41.3.36) 9211 0 R]
-/Limits [(paragraph.10.41.3.31) (paragraph.10.41.3.36)]
->> endobj
-14143 0 obj <<
-/Names [(paragraph.10.41.3.37) 9218 0 R (paragraph.10.41.3.38) 9219 0 R (paragraph.10.41.3.39) 9220 0 R (paragraph.10.41.3.4) 9100 0 R (paragraph.10.41.3.40) 9231 0 R (paragraph.10.41.3.41) 9232 0 R]
-/Limits [(paragraph.10.41.3.37) (paragraph.10.41.3.41)]
->> endobj
-14144 0 obj <<
-/Names [(paragraph.10.41.3.42) 9233 0 R (paragraph.10.41.3.43) 9241 0 R (paragraph.10.41.3.44) 9242 0 R (paragraph.10.41.3.45) 9244 0 R (paragraph.10.41.3.46) 9255 0 R (paragraph.10.41.3.47) 9256 0 R]
-/Limits [(paragraph.10.41.3.42) (paragraph.10.41.3.47)]
->> endobj
-14145 0 obj <<
-/Names [(paragraph.10.41.3.5) 9106 0 R (paragraph.10.41.3.6) 9107 0 R (paragraph.10.41.3.7) 9113 0 R (paragraph.10.41.3.8) 9114 0 R (paragraph.10.41.3.9) 9120 0 R (paragraph.10.41.4.1) 9258 0 R]
-/Limits [(paragraph.10.41.3.5) (paragraph.10.41.4.1)]
->> endobj
-14146 0 obj <<
-/Names [(paragraph.10.41.4.2) 9273 0 R (paragraph.10.41.4.3) 9274 0 R (paragraph.10.41.4.4) 9275 0 R (paragraph.10.43.2.1) 9534 0 R (paragraph.10.43.2.2) 9535 0 R (paragraph.10.43.3.1) 9537 0 R]
-/Limits [(paragraph.10.41.4.2) (paragraph.10.43.3.1)]
->> endobj
-14147 0 obj <<
-/Names [(paragraph.10.43.3.2) 9546 0 R (paragraph.10.43.4.1) 9548 0 R (paragraph.10.43.4.10) 9569 0 R (paragraph.10.43.4.11) 9570 0 R (paragraph.10.43.4.2) 9549 0 R (paragraph.10.43.4.3) 9556 0 R]
-/Limits [(paragraph.10.43.3.2) (paragraph.10.43.4.3)]
->> endobj
-14148 0 obj <<
-/Names [(paragraph.10.43.4.4) 9557 0 R (paragraph.10.43.4.5) 9558 0 R (paragraph.10.43.4.6) 9559 0 R (paragraph.10.43.4.7) 9566 0 R (paragraph.10.43.4.8) 9567 0 R (paragraph.10.43.4.9) 9568 0 R]
-/Limits [(paragraph.10.43.4.4) (paragraph.10.43.4.9)]
->> endobj
-14149 0 obj <<
-/Names [(paragraph.10.43.5.1) 9591 0 R (paragraph.10.43.5.2) 9592 0 R (paragraph.10.44.2.1) 9666 0 R (paragraph.10.44.3.1) 9668 0 R (paragraph.10.44.3.2) 9669 0 R (paragraph.10.44.3.3) 9670 0 R]
-/Limits [(paragraph.10.43.5.1) (paragraph.10.44.3.3)]
->> endobj
-14150 0 obj <<
-/Names [(paragraph.10.45.2.1) 9810 0 R (paragraph.10.45.2.2) 9811 0 R (paragraph.10.45.2.3) 9824 0 R (paragraph.10.45.2.4) 9826 0 R (paragraph.10.45.2.5) 9837 0 R (paragraph.10.45.2.6) 9839 0 R]
-/Limits [(paragraph.10.45.2.1) (paragraph.10.45.2.6)]
->> endobj
-14151 0 obj <<
-/Names [(paragraph.10.45.3.1) 9841 0 R (paragraph.10.46.2.1) 10242 0 R (paragraph.10.46.2.2) 10243 0 R (paragraph.10.46.2.3) 10244 0 R (paragraph.10.46.2.4) 10250 0 R (paragraph.10.46.2.5) 10251 0 R]
-/Limits [(paragraph.10.45.3.1) (paragraph.10.46.2.5)]
->> endobj
-14152 0 obj <<
-/Names [(paragraph.10.46.2.6) 10252 0 R (paragraph.10.46.2.7) 10258 0 R (paragraph.10.46.2.8) 10259 0 R (paragraph.10.46.2.9) 10265 0 R (paragraph.10.46.3.1) 10267 0 R (paragraph.10.46.3.10) 10293 0 R]
-/Limits [(paragraph.10.46.2.6) (paragraph.10.46.3.10)]
->> endobj
-14153 0 obj <<
-/Names [(paragraph.10.46.3.11) 10294 0 R (paragraph.10.46.3.12) 10300 0 R (paragraph.10.46.3.13) 10301 0 R (paragraph.10.46.3.14) 10302 0 R (paragraph.10.46.3.15) 10303 0 R (paragraph.10.46.3.16) 10309 0 R]
-/Limits [(paragraph.10.46.3.11) (paragraph.10.46.3.16)]
->> endobj
-14154 0 obj <<
-/Names [(paragraph.10.46.3.17) 10310 0 R (paragraph.10.46.3.18) 10311 0 R (paragraph.10.46.3.19) 10312 0 R (paragraph.10.46.3.2) 10268 0 R (paragraph.10.46.3.20) 10313 0 R (paragraph.10.46.3.21) 10319 0 R]
-/Limits [(paragraph.10.46.3.17) (paragraph.10.46.3.21)]
->> endobj
-14155 0 obj <<
-/Names [(paragraph.10.46.3.22) 10320 0 R (paragraph.10.46.3.23) 10321 0 R (paragraph.10.46.3.24) 10329 0 R (paragraph.10.46.3.25) 10330 0 R (paragraph.10.46.3.26) 10331 0 R (paragraph.10.46.3.27) 10332 0 R]
-/Limits [(paragraph.10.46.3.22) (paragraph.10.46.3.27)]
->> endobj
-14156 0 obj <<
-/Names [(paragraph.10.46.3.28) 10339 0 R (paragraph.10.46.3.29) 10340 0 R (paragraph.10.46.3.3) 10275 0 R (paragraph.10.46.3.30) 10341 0 R (paragraph.10.46.3.31) 10351 0 R (paragraph.10.46.3.32) 10352 0 R]
-/Limits [(paragraph.10.46.3.28) (paragraph.10.46.3.32)]
->> endobj
-14157 0 obj <<
-/Names [(paragraph.10.46.3.33) 10353 0 R (paragraph.10.46.3.34) 10354 0 R (paragraph.10.46.3.35) 10363 0 R (paragraph.10.46.3.36) 10364 0 R (paragraph.10.46.3.37) 10375 0 R (paragraph.10.46.3.38) 10376 0 R]
-/Limits [(paragraph.10.46.3.33) (paragraph.10.46.3.38)]
->> endobj
-14158 0 obj <<
-/Names [(paragraph.10.46.3.39) 10386 0 R (paragraph.10.46.3.4) 10276 0 R (paragraph.10.46.3.40) 10387 0 R (paragraph.10.46.3.41) 10388 0 R (paragraph.10.46.3.42) 10398 0 R (paragraph.10.46.3.43) 10399 0 R]
-/Limits [(paragraph.10.46.3.39) (paragraph.10.46.3.43)]
->> endobj
-14159 0 obj <<
-/Names [(paragraph.10.46.3.44) 10400 0 R (paragraph.10.46.3.45) 10412 0 R (paragraph.10.46.3.46) 10413 0 R (paragraph.10.46.3.47) 10425 0 R (paragraph.10.46.3.48) 10426 0 R (paragraph.10.46.3.49) 10427 0 R]
-/Limits [(paragraph.10.46.3.44) (paragraph.10.46.3.49)]
->> endobj
-14160 0 obj <<
-/Names [(paragraph.10.46.3.5) 10277 0 R (paragraph.10.46.3.50) 10428 0 R (paragraph.10.46.3.51) 10438 0 R (paragraph.10.46.3.6) 10278 0 R (paragraph.10.46.3.7) 10284 0 R (paragraph.10.46.3.8) 10285 0 R]
-/Limits [(paragraph.10.46.3.5) (paragraph.10.46.3.8)]
->> endobj
-14161 0 obj <<
-/Names [(paragraph.10.46.3.9) 10292 0 R (paragraph.10.46.4.1) 10440 0 R (paragraph.10.46.4.2) 10441 0 R (paragraph.10.46.4.3) 10452 0 R (paragraph.10.46.4.4) 10453 0 R (paragraph.10.46.4.5) 10455 0 R]
-/Limits [(paragraph.10.46.3.9) (paragraph.10.46.4.5)]
->> endobj
-14162 0 obj <<
-/Names [(paragraph.10.46.4.6) 10457 0 R (paragraph.10.46.4.7) 10482 0 R (paragraph.10.47.2.1) 10518 0 R (paragraph.10.47.2.2) 10520 0 R (paragraph.10.47.2.3) 10522 0 R (paragraph.10.47.2.4) 10543 0 R]
-/Limits [(paragraph.10.46.4.6) (paragraph.10.47.2.4)]
->> endobj
-14163 0 obj <<
-/Names [(paragraph.10.47.2.5) 10544 0 R (paragraph.10.48.2.1) 10578 0 R (paragraph.10.48.2.2) 10580 0 R (paragraph.10.48.2.3) 10582 0 R (paragraph.10.48.2.4) 10609 0 R (paragraph.10.48.2.5) 10610 0 R]
-/Limits [(paragraph.10.47.2.5) (paragraph.10.48.2.5)]
->> endobj
-14164 0 obj <<
-/Names [(paragraph.10.49.2.1) 11052 0 R (paragraph.10.49.2.2) 11053 0 R (paragraph.10.49.2.3) 11054 0 R (paragraph.10.49.2.4) 11060 0 R (paragraph.10.49.2.5) 11061 0 R (paragraph.10.49.2.6) 11062 0 R]
-/Limits [(paragraph.10.49.2.1) (paragraph.10.49.2.6)]
->> endobj
-14165 0 obj <<
-/Names [(paragraph.10.49.2.7) 11068 0 R (paragraph.10.49.3.1) 11070 0 R (paragraph.10.49.3.10) 11089 0 R (paragraph.10.49.3.11) 11097 0 R (paragraph.10.49.3.12) 11098 0 R (paragraph.10.49.3.13) 11105 0 R]
-/Limits [(paragraph.10.49.2.7) (paragraph.10.49.3.13)]
->> endobj
-14166 0 obj <<
-/Names [(paragraph.10.49.3.14) 11106 0 R (paragraph.10.49.3.15) 11107 0 R (paragraph.10.49.3.16) 11113 0 R (paragraph.10.49.3.17) 11114 0 R (paragraph.10.49.3.18) 11115 0 R (paragraph.10.49.3.19) 11116 0 R]
-/Limits [(paragraph.10.49.3.14) (paragraph.10.49.3.19)]
->> endobj
-14167 0 obj <<
-/Names [(paragraph.10.49.3.2) 11071 0 R (paragraph.10.49.3.20) 11122 0 R (paragraph.10.49.3.21) 11123 0 R (paragraph.10.49.3.22) 11124 0 R (paragraph.10.49.3.23) 11130 0 R (paragraph.10.49.3.24) 11131 0 R]
-/Limits [(paragraph.10.49.3.2) (paragraph.10.49.3.24)]
->> endobj
-14168 0 obj <<
-/Names [(paragraph.10.49.3.25) 11132 0 R (paragraph.10.49.3.26) 11139 0 R (paragraph.10.49.3.27) 11140 0 R (paragraph.10.49.3.28) 11141 0 R (paragraph.10.49.3.29) 11142 0 R (paragraph.10.49.3.3) 11077 0 R]
-/Limits [(paragraph.10.49.3.25) (paragraph.10.49.3.3)]
->> endobj
-14169 0 obj <<
-/Names [(paragraph.10.49.3.30) 11151 0 R (paragraph.10.49.3.31) 11152 0 R (paragraph.10.49.3.32) 11153 0 R (paragraph.10.49.3.33) 11154 0 R (paragraph.10.49.3.34) 11164 0 R (paragraph.10.49.3.35) 11165 0 R]
-/Limits [(paragraph.10.49.3.30) (paragraph.10.49.3.35)]
->> endobj
-14170 0 obj <<
-/Names [(paragraph.10.49.3.36) 11166 0 R (paragraph.10.49.3.37) 11177 0 R (paragraph.10.49.3.38) 11178 0 R (paragraph.10.49.3.39) 11179 0 R (paragraph.10.49.3.4) 11078 0 R (paragraph.10.49.3.40) 11189 0 R]
-/Limits [(paragraph.10.49.3.36) (paragraph.10.49.3.40)]
->> endobj
-14171 0 obj <<
-/Names [(paragraph.10.49.3.41) 11190 0 R (paragraph.10.49.3.42) 11200 0 R (paragraph.10.49.3.43) 11201 0 R (paragraph.10.49.3.44) 11202 0 R (paragraph.10.49.3.45) 11210 0 R (paragraph.10.49.3.46) 11211 0 R]
-/Limits [(paragraph.10.49.3.41) (paragraph.10.49.3.46)]
->> endobj
-14172 0 obj <<
-/Names [(paragraph.10.49.3.47) 11224 0 R (paragraph.10.49.3.48) 11225 0 R (paragraph.10.49.3.49) 11226 0 R (paragraph.10.49.3.5) 11079 0 R (paragraph.10.49.3.50) 11241 0 R (paragraph.10.49.3.51) 11242 0 R]
-/Limits [(paragraph.10.49.3.47) (paragraph.10.49.3.51)]
->> endobj
-14173 0 obj <<
-/Names [(paragraph.10.49.3.52) 11244 0 R (paragraph.10.49.3.53) 11252 0 R (paragraph.10.49.3.54) 11253 0 R (paragraph.10.49.3.55) 11264 0 R (paragraph.10.49.3.56) 11265 0 R (paragraph.10.49.3.57) 11266 0 R]
-/Limits [(paragraph.10.49.3.52) (paragraph.10.49.3.57)]
->> endobj
-14174 0 obj <<
-/Names [(paragraph.10.49.3.58) 11275 0 R (paragraph.10.49.3.59) 11276 0 R (paragraph.10.49.3.6) 11080 0 R (paragraph.10.49.3.60) 11285 0 R (paragraph.10.49.3.61) 11286 0 R (paragraph.10.49.3.62) 11287 0 R]
-/Limits [(paragraph.10.49.3.58) (paragraph.10.49.3.62)]
->> endobj
-14175 0 obj <<
-/Names [(paragraph.10.49.3.63) 11288 0 R (paragraph.10.49.3.7) 11081 0 R (paragraph.10.49.3.8) 11087 0 R (paragraph.10.49.3.9) 11088 0 R (paragraph.10.49.4.1) 11307 0 R (paragraph.10.49.4.2) 11308 0 R]
-/Limits [(paragraph.10.49.3.63) (paragraph.10.49.4.2)]
->> endobj
-14176 0 obj <<
-/Names [(paragraph.10.49.4.3) 11309 0 R (paragraph.10.5.2.1) 3948 0 R (paragraph.10.5.2.10) 3973 0 R (paragraph.10.5.2.11) 3974 0 R (paragraph.10.5.2.12) 3975 0 R (paragraph.10.5.2.13) 3976 0 R]
-/Limits [(paragraph.10.49.4.3) (paragraph.10.5.2.13)]
->> endobj
-14177 0 obj <<
-/Names [(paragraph.10.5.2.2) 3949 0 R (paragraph.10.5.2.3) 3950 0 R (paragraph.10.5.2.4) 3956 0 R (paragraph.10.5.2.5) 3957 0 R (paragraph.10.5.2.6) 3958 0 R (paragraph.10.5.2.7) 3964 0 R]
-/Limits [(paragraph.10.5.2.2) (paragraph.10.5.2.7)]
->> endobj
-14178 0 obj <<
-/Names [(paragraph.10.5.2.8) 3965 0 R (paragraph.10.5.2.9) 3966 0 R (paragraph.10.5.3.1) 4001 0 R (paragraph.10.50.2.1) 11481 0 R (paragraph.10.50.2.2) 11482 0 R (paragraph.10.50.3.1) 11490 0 R]
-/Limits [(paragraph.10.5.2.8) (paragraph.10.50.3.1)]
->> endobj
-14179 0 obj <<
-/Names [(paragraph.10.50.3.2) 11491 0 R (paragraph.10.50.3.3) 11492 0 R (paragraph.10.50.3.4) 11493 0 R (paragraph.10.50.3.5) 11494 0 R (paragraph.10.50.3.6) 11501 0 R (paragraph.10.50.4.1) 11503 0 R]
-/Limits [(paragraph.10.50.3.2) (paragraph.10.50.4.1)]
->> endobj
-14180 0 obj <<
-/Names [(paragraph.10.50.4.2) 11504 0 R (paragraph.10.50.4.3) 11505 0 R (paragraph.10.50.4.4) 11506 0 R (paragraph.10.52.2.1) 11524 0 R (paragraph.10.53.2.1) 11549 0 R (paragraph.10.55.2.1) 11610 0 R]
-/Limits [(paragraph.10.50.4.2) (paragraph.10.55.2.1)]
->> endobj
-14181 0 obj <<
-/Names [(paragraph.10.55.3.1) 11612 0 R (paragraph.10.55.4.1) 11639 0 R (paragraph.10.55.4.2) 11640 0 R (paragraph.10.56.2.1) 11672 0 R (paragraph.10.56.3.1) 11675 0 R (paragraph.10.6.2.1) 4423 0 R]
-/Limits [(paragraph.10.55.3.1) (paragraph.10.6.2.1)]
->> endobj
-14182 0 obj <<
-/Names [(paragraph.10.6.3.1) 4425 0 R (paragraph.10.6.3.10) 4439 0 R (paragraph.10.6.3.11) 4440 0 R (paragraph.10.6.3.12) 4441 0 R (paragraph.10.6.3.13) 4448 0 R (paragraph.10.6.3.14) 4449 0 R]
-/Limits [(paragraph.10.6.3.1) (paragraph.10.6.3.14)]
->> endobj
-14183 0 obj <<
-/Names [(paragraph.10.6.3.15) 4450 0 R (paragraph.10.6.3.16) 4451 0 R (paragraph.10.6.3.17) 4452 0 R (paragraph.10.6.3.18) 4453 0 R (paragraph.10.6.3.19) 4454 0 R (paragraph.10.6.3.2) 4426 0 R]
-/Limits [(paragraph.10.6.3.15) (paragraph.10.6.3.2)]
->> endobj
-14184 0 obj <<
-/Names [(paragraph.10.6.3.20) 4455 0 R (paragraph.10.6.3.21) 4461 0 R (paragraph.10.6.3.22) 4462 0 R (paragraph.10.6.3.23) 4463 0 R (paragraph.10.6.3.24) 4464 0 R (paragraph.10.6.3.25) 4465 0 R]
-/Limits [(paragraph.10.6.3.20) (paragraph.10.6.3.25)]
->> endobj
-14185 0 obj <<
-/Names [(paragraph.10.6.3.26) 4466 0 R (paragraph.10.6.3.27) 4472 0 R (paragraph.10.6.3.28) 4473 0 R (paragraph.10.6.3.29) 4474 0 R (paragraph.10.6.3.3) 4427 0 R (paragraph.10.6.3.30) 4475 0 R]
-/Limits [(paragraph.10.6.3.26) (paragraph.10.6.3.30)]
->> endobj
-14186 0 obj <<
-/Names [(paragraph.10.6.3.31) 4476 0 R (paragraph.10.6.3.32) 4477 0 R (paragraph.10.6.3.33) 4483 0 R (paragraph.10.6.3.34) 4484 0 R (paragraph.10.6.3.35) 4485 0 R (paragraph.10.6.3.36) 4486 0 R]
-/Limits [(paragraph.10.6.3.31) (paragraph.10.6.3.36)]
->> endobj
-14187 0 obj <<
-/Names [(paragraph.10.6.3.37) 4487 0 R (paragraph.10.6.3.38) 4488 0 R (paragraph.10.6.3.39) 4494 0 R (paragraph.10.6.3.4) 4428 0 R (paragraph.10.6.3.40) 4495 0 R (paragraph.10.6.3.41) 4496 0 R]
-/Limits [(paragraph.10.6.3.37) (paragraph.10.6.3.41)]
->> endobj
-14188 0 obj <<
-/Names [(paragraph.10.6.3.42) 4497 0 R (paragraph.10.6.3.43) 4498 0 R (paragraph.10.6.3.44) 4510 0 R (paragraph.10.6.3.45) 4511 0 R (paragraph.10.6.3.46) 4512 0 R (paragraph.10.6.3.47) 4513 0 R]
-/Limits [(paragraph.10.6.3.42) (paragraph.10.6.3.47)]
->> endobj
-14189 0 obj <<
-/Names [(paragraph.10.6.3.5) 4434 0 R (paragraph.10.6.3.6) 4435 0 R (paragraph.10.6.3.7) 4436 0 R (paragraph.10.6.3.8) 4437 0 R (paragraph.10.6.3.9) 4438 0 R (paragraph.8.1.2.1) 1736 0 R]
-/Limits [(paragraph.10.6.3.5) (paragraph.8.1.2.1)]
->> endobj
-14190 0 obj <<
-/Names [(paragraph.8.1.2.2) 1737 0 R (paragraph.8.1.2.3) 1738 0 R (paragraph.8.1.2.4) 1760 0 R (paragraph.8.1.3.1) 1762 0 R (paragraph.8.1.3.2) 1763 0 R (paragraph.8.1.3.3) 1764 0 R]
-/Limits [(paragraph.8.1.2.2) (paragraph.8.1.3.3)]
->> endobj
-14191 0 obj <<
-/Names [(paragraph.8.1.4.1) 1766 0 R (paragraph.8.1.4.10) 1801 0 R (paragraph.8.1.4.11) 1802 0 R (paragraph.8.1.4.2) 1772 0 R (paragraph.8.1.4.3) 1779 0 R (paragraph.8.1.4.4) 1780 0 R]
-/Limits [(paragraph.8.1.4.1) (paragraph.8.1.4.4)]
->> endobj
-14192 0 obj <<
-/Names [(paragraph.8.1.4.5) 1781 0 R (paragraph.8.1.4.6) 1782 0 R (paragraph.8.1.4.7) 1790 0 R (paragraph.8.1.4.8) 1791 0 R (paragraph.8.1.4.9) 1792 0 R (paragraph.8.1.5.1) 1804 0 R]
-/Limits [(paragraph.8.1.4.5) (paragraph.8.1.5.1)]
->> endobj
-14193 0 obj <<
-/Names [(paragraph.9.1.2.1) 2207 0 R (paragraph.9.1.2.2) 2214 0 R (paragraph.9.1.2.3) 2215 0 R (paragraph.9.1.3.1) 2217 0 R (paragraph.9.1.3.10) 2256 0 R (paragraph.9.1.3.11) 2257 0 R]
-/Limits [(paragraph.9.1.2.1) (paragraph.9.1.3.11)]
->> endobj
-14194 0 obj <<
-/Names [(paragraph.9.1.3.12) 2264 0 R (paragraph.9.1.3.13) 2271 0 R (paragraph.9.1.3.2) 2225 0 R (paragraph.9.1.3.3) 2228 0 R (paragraph.9.1.3.4) 2229 0 R (paragraph.9.1.3.5) 2230 0 R]
-/Limits [(paragraph.9.1.3.12) (paragraph.9.1.3.5)]
->> endobj
-14195 0 obj <<
-/Names [(paragraph.9.1.3.6) 2231 0 R (paragraph.9.1.3.7) 2239 0 R (paragraph.9.1.3.8) 2240 0 R (paragraph.9.1.3.9) 2248 0 R (paragraph.9.2.2.1) 2283 0 R (section*.1) 401 0 R]
-/Limits [(paragraph.9.1.3.6) (section*.1)]
->> endobj
-14196 0 obj <<
-/Names [(section*.10) 1146 0 R (section*.100) 5830 0 R (section*.101) 5878 0 R (section*.102) 5897 0 R (section*.103) 5935 0 R (section*.104) 6065 0 R]
-/Limits [(section*.10) (section*.104)]
->> endobj
-14197 0 obj <<
-/Names [(section*.105) 6067 0 R (section*.106) 6475 0 R (section*.107) 6479 0 R (section*.108) 6480 0 R (section*.109) 6790 0 R (section*.11) 1152 0 R]
-/Limits [(section*.105) (section*.11)]
->> endobj
-14198 0 obj <<
-/Names [(section*.110) 6791 0 R (section*.111) 6828 0 R (section*.112) 6829 0 R (section*.113) 6924 0 R (section*.114) 6929 0 R (section*.115) 7030 0 R]
-/Limits [(section*.110) (section*.115)]
->> endobj
-14199 0 obj <<
-/Names [(section*.116) 7031 0 R (section*.117) 7087 0 R (section*.118) 7111 0 R (section*.119) 7112 0 R (section*.12) 1158 0 R (section*.120) 7160 0 R]
-/Limits [(section*.116) (section*.120)]
->> endobj
-14200 0 obj <<
-/Names [(section*.121) 7161 0 R (section*.122) 7189 0 R (section*.123) 7226 0 R (section*.124) 7241 0 R (section*.125) 7263 0 R (section*.126) 7265 0 R]
-/Limits [(section*.121) (section*.126)]
->> endobj
-14201 0 obj <<
-/Names [(section*.127) 7290 0 R (section*.128) 7291 0 R (section*.129) 7341 0 R (section*.13) 1164 0 R (section*.130) 7403 0 R (section*.131) 7468 0 R]
-/Limits [(section*.127) (section*.131)]
->> endobj
-14202 0 obj <<
-/Names [(section*.132) 7567 0 R (section*.133) 7616 0 R (section*.134) 7717 0 R (section*.135) 7719 0 R (section*.136) 7800 0 R (section*.137) 7910 0 R]
-/Limits [(section*.132) (section*.137)]
->> endobj
-14203 0 obj <<
-/Names [(section*.138) 7914 0 R (section*.139) 7939 0 R (section*.14) 1165 0 R (section*.140) 7942 0 R (section*.141) 8299 0 R (section*.142) 8358 0 R]
-/Limits [(section*.138) (section*.142)]
->> endobj
-14204 0 obj <<
-/Names [(section*.143) 8359 0 R (section*.144) 8380 0 R (section*.145) 8686 0 R (section*.146) 9010 0 R (section*.147) 9012 0 R (section*.148) 9015 0 R]
-/Limits [(section*.143) (section*.148)]
->> endobj
-14205 0 obj <<
-/Names [(section*.149) 9019 0 R (section*.15) 1166 0 R (section*.150) 9023 0 R (section*.151) 9042 0 R (section*.152) 9046 0 R (section*.153) 9276 0 R]
-/Limits [(section*.149) (section*.153)]
->> endobj
-14206 0 obj <<
-/Names [(section*.154) 9322 0 R (section*.155) 9369 0 R (section*.156) 9372 0 R (section*.157) 9465 0 R (section*.158) 9467 0 R (section*.159) 9593 0 R]
-/Limits [(section*.154) (section*.159)]
->> endobj
-14207 0 obj <<
-/Names [(section*.16) 1173 0 R (section*.160) 9594 0 R (section*.161) 9646 0 R (section*.162) 9690 0 R (section*.163) 9691 0 R (section*.164) 9693 0 R]
-/Limits [(section*.16) (section*.164)]
->> endobj
-14208 0 obj <<
-/Names [(section*.165) 9736 0 R (section*.166) 9737 0 R (section*.167) 9784 0 R (section*.168) 9802 0 R (section*.169) 9807 0 R (section*.17) 1174 0 R]
-/Limits [(section*.165) (section*.17)]
->> endobj
-14209 0 obj <<
-/Names [(section*.170) 9883 0 R (section*.171) 10215 0 R (section*.172) 10217 0 R (section*.173) 10240 0 R (section*.174) 10483 0 R (section*.175) 10489 0 R]
-/Limits [(section*.170) (section*.175)]
->> endobj
-14210 0 obj <<
-/Names [(section*.176) 10513 0 R (section*.177) 10514 0 R (section*.178) 10545 0 R (section*.179) 10551 0 R (section*.18) 1175 0 R (section*.180) 10573 0 R]
-/Limits [(section*.176) (section*.180)]
->> endobj
-14211 0 obj <<
-/Names [(section*.181) 10574 0 R (section*.182) 10612 0 R (section*.183) 10614 0 R (section*.184) 10965 0 R (section*.185) 11011 0 R (section*.186) 11013 0 R]
-/Limits [(section*.181) (section*.186)]
->> endobj
-14212 0 obj <<
-/Names [(section*.187) 11310 0 R (section*.188) 11343 0 R (section*.189) 11434 0 R (section*.19) 1181 0 R (section*.190) 11437 0 R (section*.191) 11440 0 R]
-/Limits [(section*.187) (section*.191)]
->> endobj
-14213 0 obj <<
-/Names [(section*.192) 11465 0 R (section*.193) 11467 0 R (section*.194) 11517 0 R (section*.195) 11521 0 R (section*.196) 11534 0 R (section*.197) 11538 0 R]
-/Limits [(section*.192) (section*.197)]
->> endobj
-14214 0 obj <<
-/Names [(section*.198) 11550 0 R (section*.199) 11582 0 R (section*.2) 1122 0 R (section*.20) 1182 0 R (section*.200) 11583 0 R (section*.201) 11585 0 R]
-/Limits [(section*.198) (section*.201)]
->> endobj
-14215 0 obj <<
-/Names [(section*.202) 11590 0 R (section*.203) 11607 0 R (section*.204) 11641 0 R (section*.205) 11667 0 R (section*.206) 11669 0 R (section*.207) 11746 0 R]
-/Limits [(section*.202) (section*.207)]
->> endobj
-14216 0 obj <<
-/Names [(section*.21) 1183 0 R (section*.22) 1184 0 R (section*.23) 1223 0 R (section*.24) 1498 0 R (section*.25) 1576 0 R (section*.26) 1577 0 R]
-/Limits [(section*.21) (section*.26)]
->> endobj
-14217 0 obj <<
-/Names [(section*.27) 1579 0 R (section*.28) 1580 0 R (section*.29) 1733 0 R (section*.3) 1129 0 R (section*.30) 1828 0 R (section*.31) 1829 0 R]
-/Limits [(section*.27) (section*.31)]
->> endobj
-14218 0 obj <<
-/Names [(section*.32) 1874 0 R (section*.33) 1954 0 R (section*.34) 2012 0 R (section*.35) 2204 0 R (section*.36) 2279 0 R (section*.37) 2300 0 R]
-/Limits [(section*.32) (section*.37)]
->> endobj
-14219 0 obj <<
-/Names [(section*.38) 2339 0 R (section*.39) 2389 0 R (section*.4) 1130 0 R (section*.40) 2392 0 R (section*.41) 2750 0 R (section*.42) 2754 0 R]
-/Limits [(section*.38) (section*.42)]
->> endobj
-14220 0 obj <<
-/Names [(section*.43) 2808 0 R (section*.44) 2829 0 R (section*.45) 3111 0 R (section*.46) 3112 0 R (section*.47) 3140 0 R (section*.48) 3142 0 R]
-/Limits [(section*.43) (section*.48)]
->> endobj
-14221 0 obj <<
-/Names [(section*.49) 3541 0 R (section*.5) 1131 0 R (section*.50) 3545 0 R (section*.51) 3546 0 R (section*.52) 3589 0 R (section*.53) 3888 0 R]
-/Limits [(section*.49) (section*.53)]
->> endobj
-14222 0 obj <<
-/Names [(section*.54) 4002 0 R (section*.55) 4198 0 R (section*.56) 4421 0 R (section*.57) 4528 0 R (section*.58) 4531 0 R (section*.59) 4534 0 R]
-/Limits [(section*.54) (section*.59)]
->> endobj
-14223 0 obj <<
-/Names [(section*.6) 1137 0 R (section*.60) 4558 0 R (section*.61) 4561 0 R (section*.62) 4649 0 R (section*.63) 4658 0 R (section*.64) 4659 0 R]
-/Limits [(section*.6) (section*.64)]
->> endobj
-14224 0 obj <<
-/Names [(section*.65) 4684 0 R (section*.66) 4766 0 R (section*.67) 4767 0 R (section*.68) 4849 0 R (section*.69) 4854 0 R (section*.7) 1138 0 R]
-/Limits [(section*.65) (section*.7)]
->> endobj
-14225 0 obj <<
-/Names [(section*.70) 4856 0 R (section*.71) 4890 0 R (section*.72) 4894 0 R (section*.73) 4915 0 R (section*.74) 4944 0 R (section*.75) 4971 0 R]
-/Limits [(section*.70) (section*.75)]
->> endobj
-14226 0 obj <<
-/Names [(section*.76) 5018 0 R (section*.77) 5060 0 R (section*.78) 5061 0 R (section*.79) 5114 0 R (section*.8) 1139 0 R (section*.80) 5184 0 R]
-/Limits [(section*.76) (section*.80)]
->> endobj
-14227 0 obj <<
-/Names [(section*.81) 5234 0 R (section*.82) 5314 0 R (section*.83) 5346 0 R (section*.84) 5399 0 R (section*.85) 5404 0 R (section*.86) 5405 0 R]
-/Limits [(section*.81) (section*.86)]
->> endobj
-14228 0 obj <<
-/Names [(section*.87) 5431 0 R (section*.88) 5449 0 R (section*.89) 5452 0 R (section*.9) 1145 0 R (section*.90) 5501 0 R (section*.91) 5502 0 R]
-/Limits [(section*.87) (section*.91)]
->> endobj
-14229 0 obj <<
-/Names [(section*.92) 5527 0 R (section*.93) 5537 0 R (section*.94) 5553 0 R (section*.95) 5584 0 R (section*.96) 5585 0 R (section*.97) 5644 0 R]
-/Limits [(section*.92) (section*.97)]
->> endobj
-14230 0 obj <<
-/Names [(section*.98) 5705 0 R (section*.99) 5829 0 R (section.1) 2 0 R (section.10) 130 0 R (section.2) 66 0 R (section.3) 70 0 R]
-/Limits [(section*.98) (section.3)]
->> endobj
-14231 0 obj <<
-/Names [(section.4) 74 0 R (section.5) 82 0 R (section.6) 90 0 R (section.7) 98 0 R (section.8) 106 0 R (section.9) 114 0 R]
-/Limits [(section.4) (section.9)]
->> endobj
-14232 0 obj <<
-/Names [(structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) 1331 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) 4532 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) 1333 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) 4559 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) 1332 0 R (structParma__Polyhedra__Library_1_1H7 [...]
-/Limits [(structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318)]
->> endobj
-14233 0 obj <<
-/Names [(structParma__Polyhedra__Library_1_1Is__Checked) 1407 0 R (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) 1408 0 R (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) 1458 0 R (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) 1461 0 R (structParma__Polyhedra__Library_1_1Recycle__Input) 1471 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare) 1330 0 R]
-/Limits [(structParma__Polyhedra__Library_1_1Is__Checked) (structParma__Polyhedra__Library_1_1Variable_1_1Compare)]
->> endobj
-14234 0 obj <<
-/Names [(structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) 4529 0 R (subsection.1.1) 6 0 R (subsection.1.10) 42 0 R (subsection.1.11) 46 0 R (subsection.1.12) 50 0 R (subsection.1.13) 54 0 R]
-/Limits [(structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) (subsection.1.13)]
->> endobj
-14235 0 obj <<
-/Names [(subsection.1.14) 58 0 R (subsection.1.15) 62 0 R (subsection.1.2) 10 0 R (subsection.1.3) 14 0 R (subsection.1.4) 18 0 R (subsection.1.5) 22 0 R]
-/Limits [(subsection.1.14) (subsection.1.5)]
->> endobj
-14236 0 obj <<
-/Names [(subsection.1.6) 26 0 R (subsection.1.7) 30 0 R (subsection.1.8) 34 0 R (subsection.1.9) 38 0 R (subsection.10.1) 134 0 R (subsection.10.10) 170 0 R]
-/Limits [(subsection.1.6) (subsection.10.10)]
->> endobj
-14237 0 obj <<
-/Names [(subsection.10.11) 174 0 R (subsection.10.12) 178 0 R (subsection.10.13) 182 0 R (subsection.10.14) 186 0 R (subsection.10.15) 190 0 R (subsection.10.16) 194 0 R]
-/Limits [(subsection.10.11) (subsection.10.16)]
->> endobj
-14238 0 obj <<
-/Names [(subsection.10.17) 198 0 R (subsection.10.18) 202 0 R (subsection.10.19) 206 0 R (subsection.10.2) 138 0 R (subsection.10.20) 210 0 R (subsection.10.21) 214 0 R]
-/Limits [(subsection.10.17) (subsection.10.21)]
->> endobj
-14239 0 obj <<
-/Names [(subsection.10.22) 218 0 R (subsection.10.23) 222 0 R (subsection.10.24) 226 0 R (subsection.10.25) 230 0 R (subsection.10.26) 234 0 R (subsection.10.27) 238 0 R]
-/Limits [(subsection.10.22) (subsection.10.27)]
->> endobj
-14240 0 obj <<
-/Names [(subsection.10.28) 242 0 R (subsection.10.29) 246 0 R (subsection.10.3) 142 0 R (subsection.10.30) 250 0 R (subsection.10.31) 254 0 R (subsection.10.32) 258 0 R]
-/Limits [(subsection.10.28) (subsection.10.32)]
->> endobj
-14241 0 obj <<
-/Names [(subsection.10.33) 262 0 R (subsection.10.34) 266 0 R (subsection.10.35) 270 0 R (subsection.10.36) 274 0 R (subsection.10.37) 278 0 R (subsection.10.38) 282 0 R]
-/Limits [(subsection.10.33) (subsection.10.38)]
->> endobj
-14242 0 obj <<
-/Names [(subsection.10.39) 286 0 R (subsection.10.4) 146 0 R (subsection.10.40) 290 0 R (subsection.10.41) 294 0 R (subsection.10.42) 298 0 R (subsection.10.43) 302 0 R]
-/Limits [(subsection.10.39) (subsection.10.43)]
->> endobj
-14243 0 obj <<
-/Names [(subsection.10.44) 306 0 R (subsection.10.45) 310 0 R (subsection.10.46) 314 0 R (subsection.10.47) 318 0 R (subsection.10.48) 322 0 R (subsection.10.49) 326 0 R]
-/Limits [(subsection.10.44) (subsection.10.49)]
->> endobj
-14244 0 obj <<
-/Names [(subsection.10.5) 150 0 R (subsection.10.50) 330 0 R (subsection.10.51) 334 0 R (subsection.10.52) 338 0 R (subsection.10.53) 342 0 R (subsection.10.54) 346 0 R]
-/Limits [(subsection.10.5) (subsection.10.54)]
->> endobj
-14245 0 obj <<
-/Names [(subsection.10.55) 350 0 R (subsection.10.56) 354 0 R (subsection.10.6) 154 0 R (subsection.10.7) 158 0 R (subsection.10.8) 162 0 R (subsection.10.9) 166 0 R]
-/Limits [(subsection.10.55) (subsection.10.9)]
->> endobj
-14246 0 obj <<
-/Names [(subsection.4.1) 78 0 R (subsection.5.1) 86 0 R (subsection.6.1) 94 0 R (subsection.7.1) 102 0 R (subsection.8.1) 110 0 R (subsection.9.1) 118 0 R]
-/Limits [(subsection.4.1) (subsection.9.1)]
->> endobj
-14247 0 obj <<
-/Names [(subsection.9.2) 122 0 R (subsection.9.3) 126 0 R (subsubsection.1.1.1) 501 0 R (subsubsection.1.1.2) 519 0 R (subsubsection.1.1.3) 548 0 R (subsubsection.1.10.1) 836 0 R]
-/Limits [(subsection.9.2) (subsubsection.1.10.1)]
->> endobj
-14248 0 obj <<
-/Names [(subsubsection.1.10.2) 838 0 R (subsubsection.1.10.3) 840 0 R (subsubsection.1.10.4) 848 0 R (subsubsection.1.10.5) 850 0 R (subsubsection.1.10.6) 860 0 R (subsubsection.1.10.7) 862 0 R]
-/Limits [(subsubsection.1.10.2) (subsubsection.1.10.7)]
->> endobj
-14249 0 obj <<
-/Names [(subsubsection.1.10.8) 864 0 R (subsubsection.1.10.9) 866 0 R (subsubsection.1.11.1) 878 0 R (subsubsection.1.12.1) 895 0 R (subsubsection.1.12.2) 898 0 R (subsubsection.1.12.3) 901 0 R]
-/Limits [(subsubsection.1.10.8) (subsubsection.1.12.3)]
->> endobj
-14250 0 obj <<
-/Names [(subsubsection.1.13.1) 905 0 R (subsubsection.1.13.2) 922 0 R (subsubsection.1.13.3) 925 0 R (subsubsection.1.13.4) 928 0 R (subsubsection.1.13.5) 931 0 R (subsubsection.1.14.1) 942 0 R]
-/Limits [(subsubsection.1.13.1) (subsubsection.1.14.1)]
->> endobj
-14251 0 obj <<
-/Names [(subsubsection.1.14.2) 944 0 R (subsubsection.1.14.3) 946 0 R (subsubsection.1.14.4) 953 0 R (subsubsection.1.3.1) 567 0 R (subsubsection.1.3.2) 569 0 R (subsubsection.1.4.1) 592 0 R]
-/Limits [(subsubsection.1.14.2) (subsubsection.1.4.1)]
->> endobj
-14252 0 obj <<
-/Names [(subsubsection.1.4.2) 597 0 R (subsubsection.1.4.3) 599 0 R (subsubsection.1.4.4) 611 0 R (subsubsection.1.5.1) 614 0 R (subsubsection.1.5.10) 649 0 R (subsubsection.1.5.2) 617 0 R]
-/Limits [(subsubsection.1.4.2) (subsubsection.1.5.2)]
->> endobj
-14253 0 obj <<
-/Names [(subsubsection.1.5.3) 626 0 R (subsubsection.1.5.4) 628 0 R (subsubsection.1.5.5) 635 0 R (subsubsection.1.5.6) 637 0 R (subsubsection.1.5.7) 638 0 R (subsubsection.1.5.8) 640 0 R]
-/Limits [(subsubsection.1.5.3) (subsubsection.1.5.8)]
->> endobj
-14254 0 obj <<
-/Names [(subsubsection.1.5.9) 647 0 R (subsubsection.1.6.1) 657 0 R (subsubsection.1.6.10) 699 0 R (subsubsection.1.6.11) 708 0 R (subsubsection.1.6.12) 710 0 R (subsubsection.1.6.13) 712 0 R]
-/Limits [(subsubsection.1.5.9) (subsubsection.1.6.13)]
->> endobj
-14255 0 obj <<
-/Names [(subsubsection.1.6.14) 714 0 R (subsubsection.1.6.15) 716 0 R (subsubsection.1.6.16) 731 0 R (subsubsection.1.6.17) 733 0 R (subsubsection.1.6.18) 750 0 R (subsubsection.1.6.19) 752 0 R]
-/Limits [(subsubsection.1.6.14) (subsubsection.1.6.19)]
->> endobj
-14256 0 obj <<
-/Names [(subsubsection.1.6.2) 659 0 R (subsubsection.1.6.3) 661 0 R (subsubsection.1.6.4) 663 0 R (subsubsection.1.6.5) 671 0 R (subsubsection.1.6.6) 673 0 R (subsubsection.1.6.7) 678 0 R]
-/Limits [(subsubsection.1.6.2) (subsubsection.1.6.7)]
->> endobj
-14257 0 obj <<
-/Names [(subsubsection.1.6.8) 681 0 R (subsubsection.1.6.9) 691 0 R (subsubsection.1.7.1) 766 0 R (subsubsection.1.8.1) 769 0 R (subsubsection.1.8.2) 771 0 R (subsubsection.1.8.3) 784 0 R]
-/Limits [(subsubsection.1.6.8) (subsubsection.1.8.3)]
->> endobj
-14258 0 obj <<
-/Names [(subsubsection.1.8.4) 786 0 R (subsubsection.1.9.1) 800 0 R (subsubsection.1.9.2) 802 0 R (subsubsection.1.9.3) 804 0 R (subsubsection.1.9.4) 806 0 R (subsubsection.1.9.5) 816 0 R]
-/Limits [(subsubsection.1.8.4) (subsubsection.1.9.5)]
->> endobj
-14259 0 obj <<
-/Names [(subsubsection.1.9.6) 819 0 R (subsubsection.1.9.7) 821 0 R (subsubsection.1.9.8) 823 0 R (subsubsection.1.9.9) 825 0 R (subsubsection.10.1.1) 2340 0 R (subsubsection.10.1.2) 2349 0 R]
-/Limits [(subsubsection.1.9.6) (subsubsection.10.1.2)]
->> endobj
-14260 0 obj <<
-/Names [(subsubsection.10.1.3) 2352 0 R (subsubsection.10.1.4) 2354 0 R (subsubsection.10.10.1) 4560 0 R (subsubsection.10.11.1) 4685 0 R (subsubsection.10.11.2) 4697 0 R (subsubsection.10.11.3) 4704 0 R]
-/Limits [(subsubsection.10.1.3) (subsubsection.10.11.3)]
->> endobj
-14261 0 obj <<
-/Names [(subsubsection.10.11.4) 4719 0 R (subsubsection.10.12.1) 4858 0 R (subsubsection.10.12.2) 4866 0 R (subsubsection.10.12.3) 4868 0 R (subsubsection.10.12.4) 4878 0 R (subsubsection.10.13.1) 4893 0 R]
-/Limits [(subsubsection.10.11.4) (subsubsection.10.13.1)]
->> endobj
-14262 0 obj <<
-/Names [(subsubsection.10.13.2) 4895 0 R (subsubsection.10.14.1) 4943 0 R (subsubsection.10.15.1) 4970 0 R (subsubsection.10.16.1) 4999 0 R (subsubsection.10.17.1) 5029 0 R (subsubsection.10.18.1) 5235 0 R]
-/Limits [(subsubsection.10.13.2) (subsubsection.10.18.1)]
->> endobj
-14263 0 obj <<
-/Names [(subsubsection.10.18.2) 5256 0 R (subsubsection.10.18.3) 5258 0 R (subsubsection.10.18.4) 5260 0 R (subsubsection.10.18.5) 5270 0 R (subsubsection.10.19.1) 5416 0 R (subsubsection.10.19.2) 5427 0 R]
-/Limits [(subsubsection.10.18.2) (subsubsection.10.19.2)]
->> endobj
-14264 0 obj <<
-/Names [(subsubsection.10.2.1) 2828 0 R (subsubsection.10.2.2) 2835 0 R (subsubsection.10.2.3) 2862 0 R (subsubsection.10.2.4) 3072 0 R (subsubsection.10.20.1) 5448 0 R (subsubsection.10.20.2) 5450 0 R]
-/Limits [(subsubsection.10.2.1) (subsubsection.10.20.2)]
->> endobj
-14265 0 obj <<
-/Names [(subsubsection.10.21.1) 5536 0 R (subsubsection.10.21.2) 5538 0 R (subsubsection.10.21.3) 5547 0 R (subsubsection.10.22.1) 5552 0 R (subsubsection.10.23.1) 5725 0 R (subsubsection.10.23.2) 5739 0 R]
-/Limits [(subsubsection.10.21.1) (subsubsection.10.23.2)]
->> endobj
-14266 0 obj <<
-/Names [(subsubsection.10.23.3) 5759 0 R (subsubsection.10.23.4) 5777 0 R (subsubsection.10.24.1) 5899 0 R (subsubsection.10.24.2) 5910 0 R (subsubsection.10.24.3) 5932 0 R (subsubsection.10.25.1) 6001 0 R]
-/Limits [(subsubsection.10.23.3) (subsubsection.10.25.1)]
->> endobj
-14267 0 obj <<
-/Names [(subsubsection.10.25.2) 6021 0 R (subsubsection.10.26.1) 6494 0 R (subsubsection.10.26.2) 6511 0 R (subsubsection.10.26.3) 6545 0 R (subsubsection.10.26.4) 6765 0 R (subsubsection.10.27.1) 6797 0 R]
-/Limits [(subsubsection.10.25.2) (subsubsection.10.27.1)]
->> endobj
-14268 0 obj <<
-/Names [(subsubsection.10.27.2) 6798 0 R (subsubsection.10.28.1) 6944 0 R (subsubsection.10.28.2) 6963 0 R (subsubsection.10.28.3) 6965 0 R (subsubsection.10.28.4) 6992 0 R (subsubsection.10.29.1) 7114 0 R]
-/Limits [(subsubsection.10.27.2) (subsubsection.10.29.1)]
->> endobj
-14269 0 obj <<
-/Names [(subsubsection.10.29.2) 7132 0 R (subsubsection.10.29.3) 7137 0 R (subsubsection.10.3.1) 3137 0 R (subsubsection.10.3.2) 3138 0 R (subsubsection.10.30.1) 7186 0 R (subsubsection.10.30.2) 7187 0 R]
-/Limits [(subsubsection.10.29.2) (subsubsection.10.30.2)]
->> endobj
-14270 0 obj <<
-/Names [(subsubsection.10.31.1) 7240 0 R (subsubsection.10.31.2) 7242 0 R (subsubsection.10.31.3) 7260 0 R (subsubsection.10.32.1) 7262 0 R (subsubsection.10.33.1) 7264 0 R (subsubsection.10.34.1) 7289 0 R]
-/Limits [(subsubsection.10.31.1) (subsubsection.10.34.1)]
->> endobj
-14271 0 obj <<
-/Names [(subsubsection.10.35.1) 7492 0 R (subsubsection.10.35.2) 7493 0 R (subsubsection.10.35.3) 7505 0 R (subsubsection.10.36.1) 7721 0 R (subsubsection.10.36.2) 7732 0 R (subsubsection.10.36.3) 7735 0 R]
-/Limits [(subsubsection.10.35.1) (subsubsection.10.36.3)]
->> endobj
-14272 0 obj <<
-/Names [(subsubsection.10.36.4) 7754 0 R (subsubsection.10.36.5) 7797 0 R (subsubsection.10.37.1) 7868 0 R (subsubsection.10.37.2) 7869 0 R (subsubsection.10.37.3) 7897 0 R (subsubsection.10.38.1) 7909 0 R]
-/Limits [(subsubsection.10.36.4) (subsubsection.10.38.1)]
->> endobj
-14273 0 obj <<
-/Names [(subsubsection.10.39.1) 7913 0 R (subsubsection.10.39.2) 7915 0 R (subsubsection.10.4.1) 3588 0 R (subsubsection.10.4.2) 3604 0 R (subsubsection.10.4.3) 3636 0 R (subsubsection.10.4.4) 3840 0 R]
-/Limits [(subsubsection.10.39.1) (subsubsection.10.4.4)]
->> endobj
-14274 0 obj <<
-/Names [(subsubsection.10.40.1) 8379 0 R (subsubsection.10.40.2) 8390 0 R (subsubsection.10.40.3) 8417 0 R (subsubsection.10.40.4) 8623 0 R (subsubsection.10.41.1) 9045 0 R (subsubsection.10.41.2) 9057 0 R]
-/Limits [(subsubsection.10.40.1) (subsubsection.10.41.2)]
->> endobj
-14275 0 obj <<
-/Names [(subsubsection.10.41.3) 9096 0 R (subsubsection.10.41.4) 9257 0 R (subsubsection.10.42.1) 9328 0 R (subsubsection.10.43.1) 9468 0 R (subsubsection.10.43.2) 9533 0 R (subsubsection.10.43.3) 9536 0 R]
-/Limits [(subsubsection.10.41.3) (subsubsection.10.43.3)]
->> endobj
-14276 0 obj <<
-/Names [(subsubsection.10.43.4) 9547 0 R (subsubsection.10.43.5) 9590 0 R (subsubsection.10.44.1) 9664 0 R (subsubsection.10.44.2) 9665 0 R (subsubsection.10.44.3) 9667 0 R (subsubsection.10.45.1) 9808 0 R]
-/Limits [(subsubsection.10.43.4) (subsubsection.10.45.1)]
->> endobj
-14277 0 obj <<
-/Names [(subsubsection.10.45.2) 9809 0 R (subsubsection.10.45.3) 9840 0 R (subsubsection.10.46.1) 10239 0 R (subsubsection.10.46.2) 10241 0 R (subsubsection.10.46.3) 10266 0 R (subsubsection.10.46.4) 10439 0 R]
-/Limits [(subsubsection.10.45.2) (subsubsection.10.46.4)]
->> endobj
-14278 0 obj <<
-/Names [(subsubsection.10.47.1) 10515 0 R (subsubsection.10.47.2) 10516 0 R (subsubsection.10.48.1) 10575 0 R (subsubsection.10.48.2) 10576 0 R (subsubsection.10.49.1) 11033 0 R (subsubsection.10.49.2) 11051 0 R]
-/Limits [(subsubsection.10.47.1) (subsubsection.10.49.2)]
->> endobj
-14279 0 obj <<
-/Names [(subsubsection.10.49.3) 11069 0 R (subsubsection.10.49.4) 11306 0 R (subsubsection.10.5.1) 3934 0 R (subsubsection.10.5.2) 3947 0 R (subsubsection.10.5.3) 4000 0 R (subsubsection.10.50.1) 11466 0 R]
-/Limits [(subsubsection.10.49.3) (subsubsection.10.50.1)]
->> endobj
-14280 0 obj <<
-/Names [(subsubsection.10.50.2) 11480 0 R (subsubsection.10.50.3) 11489 0 R (subsubsection.10.50.4) 11502 0 R (subsubsection.10.51.1) 11516 0 R (subsubsection.10.52.1) 11520 0 R (subsubsection.10.52.2) 11522 0 R]
-/Limits [(subsubsection.10.50.2) (subsubsection.10.52.2)]
->> endobj
-14281 0 obj <<
-/Names [(subsubsection.10.53.1) 11537 0 R (subsubsection.10.53.2) 11548 0 R (subsubsection.10.54.1) 11553 0 R (subsubsection.10.55.1) 11608 0 R (subsubsection.10.55.2) 11609 0 R (subsubsection.10.55.3) 11611 0 R]
-/Limits [(subsubsection.10.53.1) (subsubsection.10.55.3)]
->> endobj
-14282 0 obj <<
-/Names [(subsubsection.10.55.4) 11638 0 R (subsubsection.10.56.1) 11670 0 R (subsubsection.10.56.2) 11671 0 R (subsubsection.10.56.3) 11673 0 R (subsubsection.10.6.1) 4420 0 R (subsubsection.10.6.2) 4422 0 R]
-/Limits [(subsubsection.10.55.4) (subsubsection.10.6.2)]
->> endobj
-14283 0 obj <<
-/Names [(subsubsection.10.6.3) 4424 0 R (subsubsection.10.7.1) 4530 0 R (subsubsection.10.8.1) 4533 0 R (subsubsection.10.9.1) 4557 0 R (subsubsection.8.1.1) 1734 0 R (subsubsection.8.1.2) 1735 0 R]
-/Limits [(subsubsection.10.6.3) (subsubsection.8.1.2)]
->> endobj
-14284 0 obj <<
-/Names [(subsubsection.8.1.3) 1761 0 R (subsubsection.8.1.4) 1765 0 R (subsubsection.8.1.5) 1803 0 R (subsubsection.9.1.1) 2205 0 R (subsubsection.9.1.2) 2206 0 R (subsubsection.9.1.3) 2216 0 R]
-/Limits [(subsubsection.8.1.3) (subsubsection.9.1.3)]
->> endobj
-14285 0 obj <<
-/Names [(subsubsection.9.2.1) 2280 0 R (subsubsection.9.2.2) 2281 0 R (subsubsection.9.3.1) 2299 0 R]
-/Limits [(subsubsection.9.2.1) (subsubsection.9.3.1)]
->> endobj
-14286 0 obj <<
-/Kids [13609 0 R 13610 0 R 13611 0 R 13612 0 R 13613 0 R 13614 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3)]
->> endobj
-14287 0 obj <<
-/Kids [13615 0 R 13616 0 R 13617 0 R 13618 0 R 13619 0 R 13620 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9)]
->> endobj
-14288 0 obj <<
-/Kids [13621 0 R 13622 0 R 13623 0 R 13624 0 R 13625 0 R 13626 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8d6c186583503c4394603550b50edf59) (classParma__Polyhedra__Library_1_1BD__Shape_adf78023ac662762ffc808902b970597b)]
->> endobj
-14289 0 obj <<
-/Kids [13627 0 R 13628 0 R 13629 0 R 13630 0 R 13631 0 R 13632 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81)]
->> endobj
-14290 0 obj <<
-/Kids [13633 0 R 13634 0 R 13635 0 R 13636 0 R 13637 0 R 13638 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b)]
->> endobj
-14291 0 obj <<
-/Kids [13639 0 R 13640 0 R 13641 0 R 13642 0 R 13643 0 R 13644 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
->> endobj
-14292 0 obj <<
-/Kids [13645 0 R 13646 0 R 13647 0 R 13648 0 R 13649 0 R 13650 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c)]
->> endobj
-14293 0 obj <<
-/Kids [13651 0 R 13652 0 R 13653 0 R 13654 0 R 13655 0 R 13656 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938)]
->> endobj
-14294 0 obj <<
-/Kids [13657 0 R 13658 0 R 13659 0 R 13660 0 R 13661 0 R 13662 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_a9c4298d04019ab7b5233ddceb430be03)]
->> endobj
-14295 0 obj <<
-/Kids [13663 0 R 13664 0 R 13665 0 R 13666 0 R 13667 0 R 13668 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) (classParma__Polyhedra__Library_1_1Checked__Number_ae6fa6e27a794dc71b88169df7f08fcac)]
->> endobj
-14296 0 obj <<
-/Kids [13669 0 R 13670 0 R 13671 0 R 13672 0 R 13673 0 R 13674 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aed795d57d70d782ccf2a584cce183050) (classParma__Polyhedra__Library_1_1Congruence__System_a37857f2dfb7b17609b671f9070be15ca)]
->> endobj
-14297 0 obj <<
-/Kids [13675 0 R 13676 0 R 13677 0 R 13678 0 R 13679 0 R 13680 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a39867871dd0a4fbe2f3cef2695881345) (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46)]
->> endobj
-14298 0 obj <<
-/Kids [13681 0 R 13682 0 R 13683 0 R 13684 0 R 13685 0 R 13686 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) (classParma__Polyhedra__Library_1_1Constraint__System)]
->> endobj
-14299 0 obj <<
-/Kids [13687 0 R 13688 0 R 13689 0 R 13690 0 R 13691 0 R 13692 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca)]
->> endobj
-14300 0 obj <<
-/Kids [13693 0 R 13694 0 R 13695 0 R 13696 0 R 13697 0 R 13698 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d)]
->> endobj
-14301 0 obj <<
-/Kids [13699 0 R 13700 0 R 13701 0 R 13702 0 R 13703 0 R 13704 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) (classParma__Polyhedra__Library_1_1Determinate_a3596cd03bb91402d705bbf959506cb4b)]
->> endobj
-14302 0 obj <<
-/Kids [13705 0 R 13706 0 R 13707 0 R 13708 0 R 13709 0 R 13710 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a)]
->> endobj
-14303 0 obj <<
-/Kids [13711 0 R 13712 0 R 13713 0 R 13714 0 R 13715 0 R 13716 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_aaaa520f25230108e6839b82747cae794) (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3)]
->> endobj
-14304 0 obj <<
-/Kids [13717 0 R 13718 0 R 13719 0 R 13720 0 R 13721 0 R 13722 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0)]
->> endobj
-14305 0 obj <<
-/Kids [13723 0 R 13724 0 R 13725 0 R 13726 0 R 13727 0 R 13728 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator_ab36bf020da4fb4583e6e1a6b94197cb4) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e)]
->> endobj
-14306 0 obj <<
-/Kids [13729 0 R 13730 0 R 13731 0 R 13732 0 R 13733 0 R 13734 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b)]
->> endobj
-14307 0 obj <<
-/Kids [13735 0 R 13736 0 R 13737 0 R 13738 0 R 13739 0 R 13740 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c)]
->> endobj
-14308 0 obj <<
-/Kids [13741 0 R 13742 0 R 13743 0 R 13744 0 R 13745 0 R 13746 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ae1887d907ab06bddeaa2682bdf94d268) (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf)]
->> endobj
-14309 0 obj <<
-/Kids [13747 0 R 13748 0 R 13749 0 R 13750 0 R 13751 0 R 13752 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e)]
->> endobj
-14310 0 obj <<
-/Kids [13753 0 R 13754 0 R 13755 0 R 13756 0 R 13757 0 R 13758 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0)]
->> endobj
-14311 0 obj <<
-/Kids [13759 0 R 13760 0 R 13761 0 R 13762 0 R 13763 0 R 13764 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87)]
->> endobj
-14312 0 obj <<
-/Kids [13765 0 R 13766 0 R 13767 0 R 13768 0 R 13769 0 R 13770 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) (classParma__Polyhedra__Library_1_1Linear__Expression_ab82fb79015a9e4959fe801e608b2a0ae)]
->> endobj
-14313 0 obj <<
-/Kids [13771 0 R 13772 0 R 13773 0 R 13774 0 R 13775 0 R 13776 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) (classParma__Polyhedra__Library_1_1MIP__Problem_a623847fa141f97cd59f3d85627536379)]
->> endobj
-14314 0 obj <<
-/Kids [13777 0 R 13778 0 R 13779 0 R 13780 0 R 13781 0 R 13782 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a6ba0be34c122032442a7409f194e157d) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5)]
->> endobj
-14315 0 obj <<
-/Kids [13783 0 R 13784 0 R 13785 0 R 13786 0 R 13787 0 R 13788 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9bb0903a2b33f94b096f71e604f07648) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028)]
->> endobj
-14316 0 obj <<
-/Kids [13789 0 R 13790 0 R 13791 0 R 13792 0 R 13793 0 R 13794 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356)]
->> endobj
-14317 0 obj <<
-/Kids [13795 0 R 13796 0 R 13797 0 R 13798 0 R 13799 0 R 13800 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d)]
->> endobj
-14318 0 obj <<
-/Kids [13801 0 R 13802 0 R 13803 0 R 13804 0 R 13805 0 R 13806 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e)]
->> endobj
-14319 0 obj <<
-/Kids [13807 0 R 13808 0 R 13809 0 R 13810 0 R 13811 0 R 13812 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) (classParma__Polyhedra__Library_1_1PIP__Solution__Node)]
->> endobj
-14320 0 obj <<
-/Kids [13813 0 R 13814 0 R 13815 0 R 13816 0 R 13817 0 R 13818 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ae52cf600a1fc364b32296578016e12ac)]
->> endobj
-14321 0 obj <<
-/Kids [13819 0 R 13820 0 R 13821 0 R 13822 0 R 13823 0 R 13824 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_af4e852fd76b79c9ef3e8b56a8575fe09) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8)]
->> endobj
-14322 0 obj <<
-/Kids [13825 0 R 13826 0 R 13827 0 R 13828 0 R 13829 0 R 13830 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c)]
->> endobj
-14323 0 obj <<
-/Kids [13831 0 R 13832 0 R 13833 0 R 13834 0 R 13835 0 R 13836 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3)]
->> endobj
-14324 0 obj <<
-/Kids [13837 0 R 13838 0 R 13839 0 R 13840 0 R 13841 0 R 13842 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f)]
->> endobj
-14325 0 obj <<
-/Kids [13843 0 R 13844 0 R 13845 0 R 13846 0 R 13847 0 R 13848 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e)]
->> endobj
-14326 0 obj <<
-/Kids [13849 0 R 13850 0 R 13851 0 R 13852 0 R 13853 0 R 13854 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088)]
->> endobj
-14327 0 obj <<
-/Kids [13855 0 R 13856 0 R 13857 0 R 13858 0 R 13859 0 R 13860 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1)]
->> endobj
-14328 0 obj <<
-/Kids [13861 0 R 13862 0 R 13863 0 R 13864 0 R 13865 0 R 13866 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f)]
->> endobj
-14329 0 obj <<
-/Kids [13867 0 R 13868 0 R 13869 0 R 13870 0 R 13871 0 R 13872 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d)]
->> endobj
-14330 0 obj <<
-/Kids [13873 0 R 13874 0 R 13875 0 R 13876 0 R 13877 0 R 13878 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c)]
->> endobj
-14331 0 obj <<
-/Kids [13879 0 R 13880 0 R 13881 0 R 13882 0 R 13883 0 R 13884 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f)]
->> endobj
-14332 0 obj <<
-/Kids [13885 0 R 13886 0 R 13887 0 R 13888 0 R 13889 0 R 13890 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b)]
->> endobj
-14333 0 obj <<
-/Kids [13891 0 R 13892 0 R 13893 0 R 13894 0 R 13895 0 R 13896 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a)]
->> endobj
-14334 0 obj <<
-/Kids [13897 0 R 13898 0 R 13899 0 R 13900 0 R 13901 0 R 13902 0 R]
-/Limits [(group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860)]
->> endobj
-14335 0 obj <<
-/Kids [13903 0 R 13904 0 R 13905 0 R 13906 0 R 13907 0 R 13908 0 R]
-/Limits [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5)]
->> endobj
-14336 0 obj <<
-/Kids [13909 0 R 13910 0 R 13911 0 R 13912 0 R 13913 0 R 13914 0 R]
-/Limits [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) (main_BHZ06b)]
->> endobj
-14337 0 obj <<
-/Kids [13915 0 R 13916 0 R 13917 0 R 13918 0 R 13919 0 R 13920 0 R]
-/Limits [(main_BHZ07a) (main_Constraint_Geometric_Descriptors)]
->> endobj
-14338 0 obj <<
-/Kids [13921 0 R 13922 0 R 13923 0 R 13924 0 R 13925 0 R 13926 0 R]
-/Limits [(main_Constraints_Representation) (main_Grid_Widening)]
->> endobj
-14339 0 obj <<
-/Kids [13927 0 R 13928 0 R 13929 0 R 13930 0 R 13931 0 R 13932 0 R]
-/Limits [(main_Grid_Widening_with_Tokens) (main_Min05)]
->> endobj
-14340 0 obj <<
-/Kids [13933 0 R 13934 0 R 13935 0 R 13936 0 R 13937 0 R 13938 0 R]
-/Limits [(main_Minimized_Representations) (main_Single_Update_Affine_Functions)]
->> endobj
-14341 0 obj <<
-/Kids [13939 0 R 13940 0 R 13941 0 R 13942 0 R 13943 0 R 13944 0 R]
-/Limits [(main_Single_Update_Bounded_Affine_Relations) (main_preamble)]
->> endobj
-14342 0 obj <<
-/Kids [13945 0 R 13946 0 R 13947 0 R 13948 0 R 13949 0 R 13950 0 R]
-/Limits [(main_ps_add_disjunct) (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497)]
->> endobj
-14343 0 obj <<
-/Kids [13951 0 R 13952 0 R 13953 0 R 13954 0 R 13955 0 R 13956 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_a273d8b57c5c3158b59a66a98351abd09) (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2)]
->> endobj
-14344 0 obj <<
-/Kids [13957 0 R 13958 0 R 13959 0 R 13960 0 R 13961 0 R 13962 0 R]
-/Limits [(namespaceParma__Polyhedra__Library_ad4f28a7482372281b01b4221b8543bdc) (page.108)]
->> endobj
-14345 0 obj <<
-/Kids [13963 0 R 13964 0 R 13965 0 R 13966 0 R 13967 0 R 13968 0 R]
-/Limits [(page.109) (page.140)]
->> endobj
-14346 0 obj <<
-/Kids [13969 0 R 13970 0 R 13971 0 R 13972 0 R 13973 0 R 13974 0 R]
-/Limits [(page.141) (page.173)]
->> endobj
-14347 0 obj <<
-/Kids [13975 0 R 13976 0 R 13977 0 R 13978 0 R 13979 0 R 13980 0 R]
-/Limits [(page.174) (page.205)]
->> endobj
-14348 0 obj <<
-/Kids [13981 0 R 13982 0 R 13983 0 R 13984 0 R 13985 0 R 13986 0 R]
-/Limits [(page.206) (page.238)]
->> endobj
-14349 0 obj <<
-/Kids [13987 0 R 13988 0 R 13989 0 R 13990 0 R 13991 0 R 13992 0 R]
-/Limits [(page.239) (page.270)]
->> endobj
-14350 0 obj <<
-/Kids [13993 0 R 13994 0 R 13995 0 R 13996 0 R 13997 0 R 13998 0 R]
-/Limits [(page.271) (page.302)]
->> endobj
-14351 0 obj <<
-/Kids [13999 0 R 14000 0 R 14001 0 R 14002 0 R 14003 0 R 14004 0 R]
-/Limits [(page.303) (page.335)]
->> endobj
-14352 0 obj <<
-/Kids [14005 0 R 14006 0 R 14007 0 R 14008 0 R 14009 0 R 14010 0 R]
-/Limits [(page.336) (page.368)]
->> endobj
-14353 0 obj <<
-/Kids [14011 0 R 14012 0 R 14013 0 R 14014 0 R 14015 0 R 14016 0 R]
-/Limits [(page.369) (page.40)]
->> endobj
-14354 0 obj <<
-/Kids [14017 0 R 14018 0 R 14019 0 R 14020 0 R 14021 0 R 14022 0 R]
-/Limits [(page.400) (page.432)]
->> endobj
-14355 0 obj <<
-/Kids [14023 0 R 14024 0 R 14025 0 R 14026 0 R 14027 0 R 14028 0 R]
-/Limits [(page.433) (page.465)]
->> endobj
-14356 0 obj <<
-/Kids [14029 0 R 14030 0 R 14031 0 R 14032 0 R 14033 0 R 14034 0 R]
-/Limits [(page.466) (page.498)]
->> endobj
-14357 0 obj <<
-/Kids [14035 0 R 14036 0 R 14037 0 R 14038 0 R 14039 0 R 14040 0 R]
-/Limits [(page.499) (page.67)]
->> endobj
-14358 0 obj <<
-/Kids [14041 0 R 14042 0 R 14043 0 R 14044 0 R 14045 0 R 14046 0 R]
-/Limits [(page.68) (page.A)]
->> endobj
-14359 0 obj <<
-/Kids [14047 0 R 14048 0 R 14049 0 R 14050 0 R 14051 0 R 14052 0 R]
-/Limits [(page.i) (paragraph.10.13.2.1)]
->> endobj
-14360 0 obj <<
-/Kids [14053 0 R 14054 0 R 14055 0 R 14056 0 R 14057 0 R 14058 0 R]
-/Limits [(paragraph.10.18.2.1) (paragraph.10.2.2.10)]
->> endobj
-14361 0 obj <<
-/Kids [14059 0 R 14060 0 R 14061 0 R 14062 0 R 14063 0 R 14064 0 R]
-/Limits [(paragraph.10.2.2.2) (paragraph.10.2.3.34)]
->> endobj
-14362 0 obj <<
-/Kids [14065 0 R 14066 0 R 14067 0 R 14068 0 R 14069 0 R 14070 0 R]
-/Limits [(paragraph.10.2.3.35) (paragraph.10.2.4.2)]
->> endobj
-14363 0 obj <<
-/Kids [14071 0 R 14072 0 R 14073 0 R 14074 0 R 14075 0 R 14076 0 R]
-/Limits [(paragraph.10.2.4.3) (paragraph.10.24.3.2)]
->> endobj
-14364 0 obj <<
-/Kids [14077 0 R 14078 0 R 14079 0 R 14080 0 R 14081 0 R 14082 0 R]
-/Limits [(paragraph.10.25.2.1) (paragraph.10.26.3.14)]
->> endobj
-14365 0 obj <<
-/Kids [14083 0 R 14084 0 R 14085 0 R 14086 0 R 14087 0 R 14088 0 R]
-/Limits [(paragraph.10.26.3.15) (paragraph.10.26.3.47)]
->> endobj
-14366 0 obj <<
-/Kids [14089 0 R 14090 0 R 14091 0 R 14092 0 R 14093 0 R 14094 0 R]
-/Limits [(paragraph.10.26.3.48) (paragraph.10.28.4.4)]
->> endobj
-14367 0 obj <<
-/Kids [14095 0 R 14096 0 R 14097 0 R 14098 0 R 14099 0 R 14100 0 R]
-/Limits [(paragraph.10.28.4.5) (paragraph.10.35.3.22)]
->> endobj
-14368 0 obj <<
-/Kids [14101 0 R 14102 0 R 14103 0 R 14104 0 R 14105 0 R 14106 0 R]
-/Limits [(paragraph.10.35.3.23) (paragraph.10.37.2.12)]
->> endobj
-14369 0 obj <<
-/Kids [14107 0 R 14108 0 R 14109 0 R 14110 0 R 14111 0 R 14112 0 R]
-/Limits [(paragraph.10.37.2.2) (paragraph.10.4.3.2)]
->> endobj
-14370 0 obj <<
-/Kids [14113 0 R 14114 0 R 14115 0 R 14116 0 R 14117 0 R 14118 0 R]
-/Limits [(paragraph.10.4.3.20) (paragraph.10.4.3.52)]
->> endobj
-14371 0 obj <<
-/Kids [14119 0 R 14120 0 R 14121 0 R 14122 0 R 14123 0 R 14124 0 R]
-/Limits [(paragraph.10.4.3.53) (paragraph.10.40.3.12)]
->> endobj
-14372 0 obj <<
-/Kids [14125 0 R 14126 0 R 14127 0 R 14128 0 R 14129 0 R 14130 0 R]
-/Limits [(paragraph.10.40.3.13) (paragraph.10.40.3.45)]
->> endobj
-14373 0 obj <<
-/Kids [14131 0 R 14132 0 R 14133 0 R 14134 0 R 14135 0 R 14136 0 R]
-/Limits [(paragraph.10.40.3.46) (paragraph.10.41.2.3)]
->> endobj
-14374 0 obj <<
-/Kids [14137 0 R 14138 0 R 14139 0 R 14140 0 R 14141 0 R 14142 0 R]
-/Limits [(paragraph.10.41.2.4) (paragraph.10.41.3.36)]
->> endobj
-14375 0 obj <<
-/Kids [14143 0 R 14144 0 R 14145 0 R 14146 0 R 14147 0 R 14148 0 R]
-/Limits [(paragraph.10.41.3.37) (paragraph.10.43.4.9)]
->> endobj
-14376 0 obj <<
-/Kids [14149 0 R 14150 0 R 14151 0 R 14152 0 R 14153 0 R 14154 0 R]
-/Limits [(paragraph.10.43.5.1) (paragraph.10.46.3.21)]
->> endobj
-14377 0 obj <<
-/Kids [14155 0 R 14156 0 R 14157 0 R 14158 0 R 14159 0 R 14160 0 R]
-/Limits [(paragraph.10.46.3.22) (paragraph.10.46.3.8)]
->> endobj
-14378 0 obj <<
-/Kids [14161 0 R 14162 0 R 14163 0 R 14164 0 R 14165 0 R 14166 0 R]
-/Limits [(paragraph.10.46.3.9) (paragraph.10.49.3.19)]
->> endobj
-14379 0 obj <<
-/Kids [14167 0 R 14168 0 R 14169 0 R 14170 0 R 14171 0 R 14172 0 R]
-/Limits [(paragraph.10.49.3.2) (paragraph.10.49.3.51)]
->> endobj
-14380 0 obj <<
-/Kids [14173 0 R 14174 0 R 14175 0 R 14176 0 R 14177 0 R 14178 0 R]
-/Limits [(paragraph.10.49.3.52) (paragraph.10.50.3.1)]
->> endobj
-14381 0 obj <<
-/Kids [14179 0 R 14180 0 R 14181 0 R 14182 0 R 14183 0 R 14184 0 R]
-/Limits [(paragraph.10.50.3.2) (paragraph.10.6.3.25)]
->> endobj
-14382 0 obj <<
-/Kids [14185 0 R 14186 0 R 14187 0 R 14188 0 R 14189 0 R 14190 0 R]
-/Limits [(paragraph.10.6.3.26) (paragraph.8.1.3.3)]
->> endobj
-14383 0 obj <<
-/Kids [14191 0 R 14192 0 R 14193 0 R 14194 0 R 14195 0 R 14196 0 R]
-/Limits [(paragraph.8.1.4.1) (section*.104)]
->> endobj
-14384 0 obj <<
-/Kids [14197 0 R 14198 0 R 14199 0 R 14200 0 R 14201 0 R 14202 0 R]
-/Limits [(section*.105) (section*.137)]
->> endobj
-14385 0 obj <<
-/Kids [14203 0 R 14204 0 R 14205 0 R 14206 0 R 14207 0 R 14208 0 R]
-/Limits [(section*.138) (section*.17)]
->> endobj
-14386 0 obj <<
-/Kids [14209 0 R 14210 0 R 14211 0 R 14212 0 R 14213 0 R 14214 0 R]
-/Limits [(section*.170) (section*.201)]
->> endobj
-14387 0 obj <<
-/Kids [14215 0 R 14216 0 R 14217 0 R 14218 0 R 14219 0 R 14220 0 R]
-/Limits [(section*.202) (section*.48)]
->> endobj
-14388 0 obj <<
-/Kids [14221 0 R 14222 0 R 14223 0 R 14224 0 R 14225 0 R 14226 0 R]
-/Limits [(section*.49) (section*.80)]
->> endobj
-14389 0 obj <<
-/Kids [14227 0 R 14228 0 R 14229 0 R 14230 0 R 14231 0 R 14232 0 R]
-/Limits [(section*.81) (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318)]
->> endobj
-14390 0 obj <<
-/Kids [14233 0 R 14234 0 R 14235 0 R 14236 0 R 14237 0 R 14238 0 R]
-/Limits [(structParma__Polyhedra__Library_1_1Is__Checked) (subsection.10.21)]
->> endobj
-14391 0 obj <<
-/Kids [14239 0 R 14240 0 R 14241 0 R 14242 0 R 14243 0 R 14244 0 R]
-/Limits [(subsection.10.22) (subsection.10.54)]
->> endobj
-14392 0 obj <<
-/Kids [14245 0 R 14246 0 R 14247 0 R 14248 0 R 14249 0 R 14250 0 R]
-/Limits [(subsection.10.55) (subsubsection.1.14.1)]
->> endobj
-14393 0 obj <<
-/Kids [14251 0 R 14252 0 R 14253 0 R 14254 0 R 14255 0 R 14256 0 R]
-/Limits [(subsubsection.1.14.2) (subsubsection.1.6.7)]
->> endobj
-14394 0 obj <<
-/Kids [14257 0 R 14258 0 R 14259 0 R 14260 0 R 14261 0 R 14262 0 R]
-/Limits [(subsubsection.1.6.8) (subsubsection.10.18.1)]
->> endobj
-14395 0 obj <<
-/Kids [14263 0 R 14264 0 R 14265 0 R 14266 0 R 14267 0 R 14268 0 R]
-/Limits [(subsubsection.10.18.2) (subsubsection.10.29.1)]
->> endobj
-14396 0 obj <<
-/Kids [14269 0 R 14270 0 R 14271 0 R 14272 0 R 14273 0 R 14274 0 R]
-/Limits [(subsubsection.10.29.2) (subsubsection.10.41.2)]
->> endobj
-14397 0 obj <<
-/Kids [14275 0 R 14276 0 R 14277 0 R 14278 0 R 14279 0 R 14280 0 R]
-/Limits [(subsubsection.10.41.3) (subsubsection.10.52.2)]
->> endobj
-14398 0 obj <<
-/Kids [14281 0 R 14282 0 R 14283 0 R 14284 0 R 14285 0 R]
-/Limits [(subsubsection.10.53.1) (subsubsection.9.3.1)]
->> endobj
-14399 0 obj <<
-/Kids [14286 0 R 14287 0 R 14288 0 R 14289 0 R 14290 0 R 14291 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6)]
->> endobj
-14400 0 obj <<
-/Kids [14292 0 R 14293 0 R 14294 0 R 14295 0 R 14296 0 R 14297 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) (classParma__Polyhedra__Library_1_1Congruence_a3a4c3af6146717b3302f467368eafe46)]
->> endobj
-14401 0 obj <<
-/Kids [14298 0 R 14299 0 R 14300 0 R 14301 0 R 14302 0 R 14303 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3)]
->> endobj
-14402 0 obj <<
-/Kids [14304 0 R 14305 0 R 14306 0 R 14307 0 R 14308 0 R 14309 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e)]
->> endobj
-14403 0 obj <<
-/Kids [14310 0 R 14311 0 R 14312 0 R 14313 0 R 14314 0 R 14315 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2560fe5ce16277c4b4db17e951047028)]
->> endobj
-14404 0 obj <<
-/Kids [14316 0 R 14317 0 R 14318 0 R 14319 0 R 14320 0 R 14321 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8)]
->> endobj
-14405 0 obj <<
-/Kids [14322 0 R 14323 0 R 14324 0 R 14325 0 R 14326 0 R 14327 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1)]
->> endobj
-14406 0 obj <<
-/Kids [14328 0 R 14329 0 R 14330 0 R 14331 0 R 14332 0 R 14333 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a)]
->> endobj
-14407 0 obj <<
-/Kids [14334 0 R 14335 0 R 14336 0 R 14337 0 R 14338 0 R 14339 0 R]
-/Limits [(group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) (main_Min05)]
->> endobj
-14408 0 obj <<
-/Kids [14340 0 R 14341 0 R 14342 0 R 14343 0 R 14344 0 R 14345 0 R]
-/Limits [(main_Minimized_Representations) (page.140)]
->> endobj
-14409 0 obj <<
-/Kids [14346 0 R 14347 0 R 14348 0 R 14349 0 R 14350 0 R 14351 0 R]
-/Limits [(page.141) (page.335)]
->> endobj
-14410 0 obj <<
-/Kids [14352 0 R 14353 0 R 14354 0 R 14355 0 R 14356 0 R 14357 0 R]
-/Limits [(page.336) (page.67)]
->> endobj
-14411 0 obj <<
-/Kids [14358 0 R 14359 0 R 14360 0 R 14361 0 R 14362 0 R 14363 0 R]
-/Limits [(page.68) (paragraph.10.24.3.2)]
->> endobj
-14412 0 obj <<
-/Kids [14364 0 R 14365 0 R 14366 0 R 14367 0 R 14368 0 R 14369 0 R]
-/Limits [(paragraph.10.25.2.1) (paragraph.10.4.3.2)]
->> endobj
-14413 0 obj <<
-/Kids [14370 0 R 14371 0 R 14372 0 R 14373 0 R 14374 0 R 14375 0 R]
-/Limits [(paragraph.10.4.3.20) (paragraph.10.43.4.9)]
->> endobj
-14414 0 obj <<
-/Kids [14376 0 R 14377 0 R 14378 0 R 14379 0 R 14380 0 R 14381 0 R]
-/Limits [(paragraph.10.43.5.1) (paragraph.10.6.3.25)]
->> endobj
-14415 0 obj <<
-/Kids [14382 0 R 14383 0 R 14384 0 R 14385 0 R 14386 0 R 14387 0 R]
-/Limits [(paragraph.10.6.3.26) (section*.48)]
->> endobj
-14416 0 obj <<
-/Kids [14388 0 R 14389 0 R 14390 0 R 14391 0 R 14392 0 R 14393 0 R]
-/Limits [(section*.49) (subsubsection.1.6.7)]
->> endobj
-14417 0 obj <<
-/Kids [14394 0 R 14395 0 R 14396 0 R 14397 0 R 14398 0 R]
-/Limits [(subsubsection.1.6.8) (subsubsection.9.3.1)]
->> endobj
-14418 0 obj <<
-/Kids [14399 0 R 14400 0 R 14401 0 R 14402 0 R 14403 0 R 14404 0 R]
-/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8)]
->> endobj
-14419 0 obj <<
-/Kids [14405 0 R 14406 0 R 14407 0 R 14408 0 R 14409 0 R 14410 0 R]
-/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) (page.67)]
->> endobj
-14420 0 obj <<
-/Kids [14411 0 R 14412 0 R 14413 0 R 14414 0 R 14415 0 R 14416 0 R]
-/Limits [(page.68) (subsubsection.1.6.7)]
->> endobj
-14421 0 obj <<
-/Kids [14417 0 R]
-/Limits [(subsubsection.1.6.8) (subsubsection.9.3.1)]
->> endobj
-14422 0 obj <<
-/Kids [14418 0 R 14419 0 R 14420 0 R 14421 0 R]
-/Limits [(Doc-Start) (subsubsection.9.3.1)]
->> endobj
-14423 0 obj <<
-/Dests 14422 0 R
->> endobj
-14424 0 obj <<
-/Type /Catalog
-/Pages 13607 0 R
-/Outlines 13608 0 R
-/Names 14423 0 R
-/PageMode/UseOutlines/PageLabels<</Nums[0<</S/A>>1<</S/r>>4<</S/D>>]>>
-/OpenAction 357 0 R
->> endobj
-14425 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
-/CreationDate (D:20110227101234+01'00')
-/ModDate (D:20110227101234+01'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
->> endobj
-xref
-0 14426
-0000000000 65535 f 
-0000000015 00000 n 
-0000057990 00000 n 
-0003376705 00000 n 
-0000000060 00000 n 
-0000000248 00000 n 
-0000058159 00000 n 
-0003376635 00000 n 
-0000000298 00000 n 
-0000000415 00000 n 
-0000076450 00000 n 
-0003376551 00000 n 
-0000000465 00000 n 
-0000000595 00000 n 
-0000076567 00000 n 
-0003376465 00000 n 
-0000000646 00000 n 
-0000000786 00000 n 
-0000087168 00000 n 
-0003376379 00000 n 
-0000000837 00000 n 
-0000000947 00000 n 
-0000092210 00000 n 
-0003376293 00000 n 
-0000000998 00000 n 
-0000001209 00000 n 
-0000106252 00000 n 
-0003376207 00000 n 
-0000001260 00000 n 
-0000001446 00000 n 
-0000143051 00000 n 
-0003376121 00000 n 
-0000001497 00000 n 
-0000001625 00000 n 
-0000148107 00000 n 
-0003376035 00000 n 
-0000001676 00000 n 
-0000001826 00000 n 
-0000153187 00000 n 
-0003375949 00000 n 
-0000001877 00000 n 
-0000001977 00000 n 
-0000169576 00000 n 
-0003375863 00000 n 
-0000002029 00000 n 
-0000002205 00000 n 
-0000185281 00000 n 
-0003375777 00000 n 
-0000002257 00000 n 
-0000002415 00000 n 
-0000185565 00000 n 
-0003375691 00000 n 
-0000002467 00000 n 
-0000002701 00000 n 
-0000191060 00000 n 
-0003375605 00000 n 
-0000002753 00000 n 
-0000002929 00000 n 
-0000201377 00000 n 
-0003375519 00000 n 
-0000002981 00000 n 
-0000003099 00000 n 
-0000205981 00000 n 
-0003375446 00000 n 
-0000003151 00000 n 
-0000003238 00000 n 
-0000251221 00000 n 
-0003375357 00000 n 
-0000003284 00000 n 
-0000003450 00000 n 
-0000285473 00000 n 
-0003375267 00000 n 
-0000003496 00000 n 
-0000003682 00000 n 
-0000304665 00000 n 
-0003375140 00000 n 
-0000003728 00000 n 
-0000003818 00000 n 
-0000304722 00000 n 
-0003375079 00000 n 
-0000003869 00000 n 
-0000003931 00000 n 
-0000310620 00000 n 
-0003374952 00000 n 
-0000003977 00000 n 
-0000004082 00000 n 
-0000310677 00000 n 
-0003374891 00000 n 
-0000004133 00000 n 
-0000004233 00000 n 
-0000310733 00000 n 
-0003374764 00000 n 
-0000004279 00000 n 
-0000004364 00000 n 
-0000310790 00000 n 
-0003374703 00000 n 
-0000004415 00000 n 
-0000004520 00000 n 
-0000325155 00000 n 
-0003374572 00000 n 
-0000004566 00000 n 
-0000004652 00000 n 
-0000325212 00000 n 
-0003374508 00000 n 
-0000004704 00000 n 
-0000004785 00000 n 
-0000352281 00000 n 
-0003374375 00000 n 
-0000004832 00000 n 
-0000004963 00000 n 
-0000352398 00000 n 
-0003374310 00000 n 
-0000005015 00000 n 
-0000005159 00000 n 
-0000411991 00000 n 
-0003374176 00000 n 
-0000005206 00000 n 
-0000005352 00000 n 
-0000412108 00000 n 
-0003374097 00000 n 
-0000005404 00000 n 
-0000005659 00000 n 
-0000520960 00000 n 
-0003374004 00000 n 
-0000005711 00000 n 
-0000006039 00000 n 
-0000525659 00000 n 
-0003373925 00000 n 
-0000006091 00000 n 
-0000006240 00000 n 
-0000525776 00000 n 
-0003373804 00000 n 
-0000006288 00000 n 
-0000006414 00000 n 
-0000525893 00000 n 
-0003373725 00000 n 
-0000006467 00000 n 
-0000006896 00000 n 
-0000536319 00000 n 
-0003373632 00000 n 
-0000006949 00000 n 
-0000007316 00000 n 
-0000714216 00000 n 
-0003373539 00000 n 
-0000007369 00000 n 
-0000007707 00000 n 
-0000719549 00000 n 
-0003373446 00000 n 
-0000007760 00000 n 
-0000008109 00000 n 
-0000894464 00000 n 
-0003373353 00000 n 
-0000008162 00000 n 
-0000008470 00000 n 
-0000919580 00000 n 
-0003373260 00000 n 
-0000008523 00000 n 
-0000008963 00000 n 
-0001023595 00000 n 
-0003373167 00000 n 
-0000009016 00000 n 
-0000009351 00000 n 
-0001027531 00000 n 
-0003373074 00000 n 
-0000009404 00000 n 
-0000009792 00000 n 
-0001027825 00000 n 
-0003372981 00000 n 
-0000009845 00000 n 
-0000010218 00000 n 
-0001032940 00000 n 
-0003372888 00000 n 
-0000010272 00000 n 
-0000010650 00000 n 
-0001033234 00000 n 
-0003372795 00000 n 
-0000010704 00000 n 
-0000010999 00000 n 
-0001069404 00000 n 
-0003372702 00000 n 
-0000011053 00000 n 
-0000011386 00000 n 
-0001103957 00000 n 
-0003372609 00000 n 
-0000011440 00000 n 
-0000011900 00000 n 
-0001109473 00000 n 
-0003372516 00000 n 
-0000011954 00000 n 
-0000012370 00000 n 
-0001115330 00000 n 
-0003372423 00000 n 
-0000012424 00000 n 
-0000012835 00000 n 
-0001120516 00000 n 
-0003372330 00000 n 
-0000012889 00000 n 
-0000013305 00000 n 
-0001126283 00000 n 
-0003372237 00000 n 
-0000013359 00000 n 
-0000013798 00000 n 
-0001139844 00000 n 
-0003372144 00000 n 
-0000013852 00000 n 
-0000014147 00000 n 
-0001188386 00000 n 
-0003372051 00000 n 
-0000014201 00000 n 
-0000014534 00000 n 
-0001212737 00000 n 
-0003371958 00000 n 
-0000014588 00000 n 
-0000015048 00000 n 
-0001217569 00000 n 
-0003371865 00000 n 
-0000015102 00000 n 
-0000015496 00000 n 
-0001237063 00000 n 
-0003371772 00000 n 
-0000015550 00000 n 
-0000015975 00000 n 
-0001244444 00000 n 
-0003371679 00000 n 
-0000016029 00000 n 
-0000016319 00000 n 
-0001299880 00000 n 
-0003371586 00000 n 
-0000016373 00000 n 
-0000016701 00000 n 
-0001323232 00000 n 
-0003371493 00000 n 
-0000016755 00000 n 
-0000017058 00000 n 
-0001347394 00000 n 
-0003371400 00000 n 
-0000017112 00000 n 
-0000017377 00000 n 
-0001516553 00000 n 
-0003371307 00000 n 
-0000017431 00000 n 
-0000017759 00000 n 
-0001524092 00000 n 
-0003371214 00000 n 
-0000017813 00000 n 
-0000018131 00000 n 
-0001561783 00000 n 
-0003371121 00000 n 
-0000018185 00000 n 
-0000018541 00000 n 
-0001598172 00000 n 
-0003371028 00000 n 
-0000018595 00000 n 
-0000018918 00000 n 
-0001603512 00000 n 
-0003370935 00000 n 
-0000018972 00000 n 
-0000019404 00000 n 
-0001621909 00000 n 
-0003370842 00000 n 
-0000019458 00000 n 
-0000019840 00000 n 
-0001622144 00000 n 
-0003370749 00000 n 
-0000019894 00000 n 
-0000020393 00000 n 
-0001627981 00000 n 
-0003370656 00000 n 
-0000020447 00000 n 
-0000020885 00000 n 
-0001628216 00000 n 
-0003370563 00000 n 
-0000020939 00000 n 
-0000021272 00000 n 
-0001683392 00000 n 
-0003370470 00000 n 
-0000021326 00000 n 
-0000021629 00000 n 
-0001732905 00000 n 
-0003370377 00000 n 
-0000021683 00000 n 
-0000022001 00000 n 
-0001757797 00000 n 
-0003370284 00000 n 
-0000022055 00000 n 
-0000022479 00000 n 
-0001757973 00000 n 
-0003370191 00000 n 
-0000022533 00000 n 
-0000022948 00000 n 
-0001763842 00000 n 
-0003370098 00000 n 
-0000023002 00000 n 
-0000023404 00000 n 
-0001932325 00000 n 
-0003370005 00000 n 
-0000023458 00000 n 
-0000023959 00000 n 
-0002080906 00000 n 
-0003369912 00000 n 
-0000024013 00000 n 
-0000024349 00000 n 
-0002091062 00000 n 
-0003369819 00000 n 
-0000024403 00000 n 
-0000024706 00000 n 
-0002158968 00000 n 
-0003369726 00000 n 
-0000024760 00000 n 
-0000025096 00000 n 
-0002179581 00000 n 
-0003369633 00000 n 
-0000025150 00000 n 
-0000025466 00000 n 
-0002212441 00000 n 
-0003369540 00000 n 
-0000025520 00000 n 
-0000025947 00000 n 
-0002363782 00000 n 
-0003369447 00000 n 
-0000026001 00000 n 
-0000026337 00000 n 
-0002375366 00000 n 
-0003369354 00000 n 
-0000026391 00000 n 
-0000026727 00000 n 
-0002388409 00000 n 
-0003369261 00000 n 
-0000026781 00000 n 
-0000027076 00000 n 
-0002553391 00000 n 
-0003369168 00000 n 
-0000027130 00000 n 
-0000027494 00000 n 
-0002594759 00000 n 
-0003369075 00000 n 
-0000027548 00000 n 
-0000027866 00000 n 
-0002598457 00000 n 
-0003368982 00000 n 
-0000027920 00000 n 
-0000028408 00000 n 
-0002602472 00000 n 
-0003368889 00000 n 
-0000028462 00000 n 
-0000028892 00000 n 
-0002605686 00000 n 
-0003368796 00000 n 
-0000028946 00000 n 
-0000029236 00000 n 
-0002606049 00000 n 
-0003368703 00000 n 
-0000029290 00000 n 
-0000029575 00000 n 
-0002625064 00000 n 
-0003368624 00000 n 
-0000029629 00000 n 
-0000029942 00000 n 
-0000031340 00000 n 
-0000031572 00000 n 
-0000029994 00000 n 
-0000031459 00000 n 
-0000031515 00000 n 
-0003354818 00000 n 
-0003352148 00000 n 
-0003352731 00000 n 
-0003352440 00000 n 
-0003355180 00000 n 
-0000033980 00000 n 
-0000034146 00000 n 
-0000034296 00000 n 
-0000034462 00000 n 
-0000034759 00000 n 
-0000034934 00000 n 
-0000035085 00000 n 
-0000035242 00000 n 
-0000035399 00000 n 
-0000035556 00000 n 
-0000035712 00000 n 
-0000035867 00000 n 
-0000036024 00000 n 
-0000036181 00000 n 
-0000036338 00000 n 
-0000036495 00000 n 
-0000036653 00000 n 
-0000036810 00000 n 
-0000036967 00000 n 
-0000037123 00000 n 
-0000037281 00000 n 
-0000037439 00000 n 
-0000037586 00000 n 
-0000037737 00000 n 
-0000040083 00000 n 
-0000037886 00000 n 
-0000038172 00000 n 
-0000033641 00000 n 
-0000031683 00000 n 
-0000038059 00000 n 
-0003354455 00000 n 
-0000034612 00000 n 
-0003354096 00000 n 
-0000038115 00000 n 
-0000285589 00000 n 
-0000251337 00000 n 
-0000040240 00000 n 
-0000040391 00000 n 
-0000040548 00000 n 
-0000040699 00000 n 
-0000040855 00000 n 
-0000041006 00000 n 
-0000041163 00000 n 
-0000041313 00000 n 
-0000041470 00000 n 
-0000041621 00000 n 
-0000041778 00000 n 
-0000041935 00000 n 
-0000042092 00000 n 
-0000042243 00000 n 
-0000042401 00000 n 
-0000042558 00000 n 
-0000042716 00000 n 
-0000042874 00000 n 
-0000043032 00000 n 
-0000043190 00000 n 
-0000043347 00000 n 
-0000043504 00000 n 
-0000043662 00000 n 
-0000043821 00000 n 
-0000043980 00000 n 
-0000044139 00000 n 
-0000044298 00000 n 
-0000044456 00000 n 
-0000044615 00000 n 
-0000044774 00000 n 
-0000044933 00000 n 
-0000045091 00000 n 
-0000047718 00000 n 
-0000045248 00000 n 
-0000045476 00000 n 
-0000039680 00000 n 
-0000038270 00000 n 
-0000045420 00000 n 
-0003350085 00000 n 
-0000047877 00000 n 
-0000048036 00000 n 
-0000048195 00000 n 
-0000048354 00000 n 
-0000048513 00000 n 
-0000048672 00000 n 
-0000048831 00000 n 
-0000048989 00000 n 
-0000049147 00000 n 
-0000049306 00000 n 
-0000049465 00000 n 
-0000049624 00000 n 
-0000049782 00000 n 
-0000050098 00000 n 
-0000050257 00000 n 
-0000050416 00000 n 
-0000050574 00000 n 
-0000050732 00000 n 
-0000050891 00000 n 
-0000051050 00000 n 
-0000051209 00000 n 
-0000051525 00000 n 
-0000051684 00000 n 
-0000051843 00000 n 
-0000052002 00000 n 
-0000052161 00000 n 
-0000052319 00000 n 
-0000052478 00000 n 
-0000052637 00000 n 
-0000052796 00000 n 
-0000052954 00000 n 
-0000053112 00000 n 
-0000053428 00000 n 
-0000056776 00000 n 
-0000053585 00000 n 
-0000053814 00000 n 
-0000047283 00000 n 
-0000045587 00000 n 
-0000053758 00000 n 
-0000049940 00000 n 
-0000051367 00000 n 
-0000053271 00000 n 
-0000056935 00000 n 
-0000057093 00000 n 
-0000057252 00000 n 
-0000057412 00000 n 
-0000057574 00000 n 
-0000061088 00000 n 
-0000061277 00000 n 
-0000061462 00000 n 
-0000057761 00000 n 
-0000058333 00000 n 
-0000056589 00000 n 
-0000053925 00000 n 
-0000057934 00000 n 
-0000058045 00000 n 
-0000058102 00000 n 
-0000058214 00000 n 
-0000058276 00000 n 
-0003354997 00000 n 
-0003353771 00000 n 
-0003350677 00000 n 
-0000087106 00000 n 
-0000201315 00000 n 
-0000894406 00000 n 
-0000061654 00000 n 
-0000061833 00000 n 
-0000062013 00000 n 
-0000062198 00000 n 
-0000062391 00000 n 
-0000062594 00000 n 
-0000063121 00000 n 
-0000060885 00000 n 
-0000058496 00000 n 
-0000062766 00000 n 
-0000062822 00000 n 
-0000062884 00000 n 
-0000062941 00000 n 
-0000063003 00000 n 
-0000063060 00000 n 
-0001732847 00000 n 
-0000536261 00000 n 
-0001763784 00000 n 
-0000719491 00000 n 
-0001347336 00000 n 
-0001603454 00000 n 
-0002212383 00000 n 
-0001932267 00000 n 
-0000065855 00000 n 
-0000066141 00000 n 
-0000065716 00000 n 
-0000063245 00000 n 
-0000066028 00000 n 
-0000066084 00000 n 
-0003351417 00000 n 
-0003351855 00000 n 
-0003355299 00000 n 
-0000068842 00000 n 
-0000069416 00000 n 
-0000068703 00000 n 
-0000066302 00000 n 
-0000069014 00000 n 
-0000069070 00000 n 
-0000069127 00000 n 
-0000069184 00000 n 
-0000069246 00000 n 
-0000069302 00000 n 
-0000069359 00000 n 
-0000072332 00000 n 
-0000072732 00000 n 
-0000072193 00000 n 
-0000069527 00000 n 
-0000072505 00000 n 
-0000072561 00000 n 
-0000072618 00000 n 
-0000072675 00000 n 
-0000076165 00000 n 
-0000076858 00000 n 
-0000076026 00000 n 
-0000072856 00000 n 
-0000076337 00000 n 
-0000076393 00000 n 
-0000076506 00000 n 
-0000076623 00000 n 
-0000076685 00000 n 
-0000076742 00000 n 
-0000076803 00000 n 
-0000081262 00000 n 
-0000086090 00000 n 
-0000081412 00000 n 
-0000081754 00000 n 
-0000081115 00000 n 
-0000077020 00000 n 
-0000081585 00000 n 
-0003349938 00000 n 
-0003352586 00000 n 
-0000081641 00000 n 
-0000081698 00000 n 
-0000246390 00000 n 
-0000086265 00000 n 
-0000086420 00000 n 
-0000086573 00000 n 
-0000086725 00000 n 
-0000086878 00000 n 
-0000087578 00000 n 
-0000085911 00000 n 
-0000081966 00000 n 
-0000087050 00000 n 
-0000087224 00000 n 
-0000087286 00000 n 
-0003351563 00000 n 
-0003351119 00000 n 
-0003349791 00000 n 
-0000087343 00000 n 
-0000087405 00000 n 
-0000087460 00000 n 
-0000087521 00000 n 
-0000225016 00000 n 
-0000230067 00000 n 
-0000245805 00000 n 
-0000251163 00000 n 
-0000091618 00000 n 
-0000091806 00000 n 
-0000092502 00000 n 
-0000091471 00000 n 
-0000087828 00000 n 
-0000091979 00000 n 
-0000092035 00000 n 
-0000092092 00000 n 
-0000092148 00000 n 
-0000092264 00000 n 
-0000092326 00000 n 
-0003350381 00000 n 
-0000092383 00000 n 
-0000092445 00000 n 
-0003355418 00000 n 
-0000101797 00000 n 
-0000097108 00000 n 
-0000097635 00000 n 
-0000096969 00000 n 
-0000092738 00000 n 
-0000097280 00000 n 
-0000097336 00000 n 
-0000097398 00000 n 
-0000097455 00000 n 
-0000097517 00000 n 
-0000097574 00000 n 
-0000101392 00000 n 
-0000102033 00000 n 
-0000101253 00000 n 
-0000097872 00000 n 
-0000101565 00000 n 
-0000101621 00000 n 
-0000101678 00000 n 
-0000101740 00000 n 
-0000101859 00000 n 
-0000101916 00000 n 
-0000101977 00000 n 
-0000105729 00000 n 
-0000106369 00000 n 
-0000105590 00000 n 
-0000102221 00000 n 
-0000105901 00000 n 
-0000105957 00000 n 
-0000106019 00000 n 
-0000106076 00000 n 
-0000106133 00000 n 
-0000106190 00000 n 
-0000106308 00000 n 
-0000110395 00000 n 
-0000111094 00000 n 
-0000110256 00000 n 
-0000106594 00000 n 
-0000110568 00000 n 
-0000110624 00000 n 
-0000110681 00000 n 
-0000110743 00000 n 
-0000110800 00000 n 
-0000110862 00000 n 
-0000110919 00000 n 
-0000110981 00000 n 
-0000111038 00000 n 
-0000115186 00000 n 
-0000115343 00000 n 
-0000116084 00000 n 
-0000115039 00000 n 
-0000111306 00000 n 
-0000115515 00000 n 
-0000115571 00000 n 
-0000115628 00000 n 
-0000115685 00000 n 
-0003353624 00000 n 
-0003352295 00000 n 
-0000115742 00000 n 
-0000115799 00000 n 
-0000115856 00000 n 
-0000115913 00000 n 
-0000115970 00000 n 
-0000116027 00000 n 
-0000230125 00000 n 
-0000120403 00000 n 
-0000120560 00000 n 
-0000120958 00000 n 
-0000120256 00000 n 
-0000116334 00000 n 
-0000120733 00000 n 
-0000120789 00000 n 
-0000120845 00000 n 
-0000120901 00000 n 
-0003355537 00000 n 
-0000126096 00000 n 
-0000126504 00000 n 
-0000125957 00000 n 
-0000121208 00000 n 
-0000126268 00000 n 
-0000126324 00000 n 
-0000126386 00000 n 
-0000126443 00000 n 
-0000130696 00000 n 
-0000130849 00000 n 
-0000131002 00000 n 
-0000131758 00000 n 
-0000130541 00000 n 
-0000126729 00000 n 
-0000131175 00000 n 
-0000131231 00000 n 
-0000131288 00000 n 
-0000131344 00000 n 
-0000131401 00000 n 
-0000131463 00000 n 
-0000131520 00000 n 
-0000131582 00000 n 
-0000131639 00000 n 
-0000131701 00000 n 
-0000235399 00000 n 
-0000235515 00000 n 
-0000135869 00000 n 
-0000136242 00000 n 
-0000136395 00000 n 
-0000136548 00000 n 
-0000136702 00000 n 
-0000137339 00000 n 
-0000135690 00000 n 
-0000132007 00000 n 
-0000136874 00000 n 
-0000136056 00000 n 
-0000136930 00000 n 
-0000136987 00000 n 
-0000137044 00000 n 
-0000137101 00000 n 
-0000137163 00000 n 
-0000137220 00000 n 
-0000137282 00000 n 
-0000191116 00000 n 
-0000235047 00000 n 
-0000211944 00000 n 
-0000141620 00000 n 
-0000141774 00000 n 
-0000141927 00000 n 
-0000142079 00000 n 
-0000142249 00000 n 
-0000142415 00000 n 
-0000143164 00000 n 
-0000141441 00000 n 
-0000137539 00000 n 
-0000142588 00000 n 
-0000142644 00000 n 
-0000142701 00000 n 
-0000142758 00000 n 
-0000142820 00000 n 
-0000142877 00000 n 
-0000142933 00000 n 
-0000142989 00000 n 
-0000143107 00000 n 
-0000147875 00000 n 
-0000147338 00000 n 
-0000147490 00000 n 
-0000147647 00000 n 
-0000148400 00000 n 
-0000147183 00000 n 
-0000143352 00000 n 
-0000147819 00000 n 
-0000147932 00000 n 
-0000147989 00000 n 
-0000148046 00000 n 
-0000148163 00000 n 
-0000148225 00000 n 
-0000148281 00000 n 
-0000148343 00000 n 
-0000225133 00000 n 
-0000211374 00000 n 
-0000151932 00000 n 
-0000152083 00000 n 
-0000152237 00000 n 
-0000152388 00000 n 
-0000152545 00000 n 
-0000153304 00000 n 
-0000151761 00000 n 
-0000148600 00000 n 
-0000152718 00000 n 
-0000152774 00000 n 
-0000152835 00000 n 
-0000152892 00000 n 
-0000152954 00000 n 
-0000153011 00000 n 
-0000153068 00000 n 
-0000153125 00000 n 
-0000153243 00000 n 
-0003355656 00000 n 
-0000229596 00000 n 
-0000211830 00000 n 
-0000211431 00000 n 
-0000157727 00000 n 
-0000158425 00000 n 
-0000157588 00000 n 
-0000153479 00000 n 
-0000157899 00000 n 
-0000157955 00000 n 
-0000158012 00000 n 
-0000158074 00000 n 
-0000158131 00000 n 
-0000158193 00000 n 
-0000158250 00000 n 
-0000158312 00000 n 
-0000158369 00000 n 
-0000162378 00000 n 
-0000162530 00000 n 
-0000168818 00000 n 
-0000162687 00000 n 
-0000163509 00000 n 
-0000162223 00000 n 
-0000158650 00000 n 
-0000162860 00000 n 
-0000162916 00000 n 
-0003351268 00000 n 
-0000162973 00000 n 
-0000163035 00000 n 
-0000163092 00000 n 
-0000163154 00000 n 
-0000163211 00000 n 
-0000163273 00000 n 
-0000163330 00000 n 
-0000163391 00000 n 
-0000163448 00000 n 
-0000246274 00000 n 
-0000168995 00000 n 
-0000169173 00000 n 
-0000169348 00000 n 
-0000169989 00000 n 
-0000168655 00000 n 
-0000163723 00000 n 
-0000169520 00000 n 
-0000169632 00000 n 
-0000169694 00000 n 
-0000169751 00000 n 
-0000169813 00000 n 
-0000169870 00000 n 
-0000169932 00000 n 
-0000178764 00000 n 
-0000173879 00000 n 
-0000174402 00000 n 
-0000173740 00000 n 
-0000170226 00000 n 
-0000174052 00000 n 
-0000174108 00000 n 
-0000174170 00000 n 
-0000174227 00000 n 
-0000174284 00000 n 
-0000174341 00000 n 
-0000178929 00000 n 
-0000179085 00000 n 
-0000184367 00000 n 
-0000179251 00000 n 
-0000179883 00000 n 
-0000178601 00000 n 
-0000174614 00000 n 
-0000179423 00000 n 
-0000179479 00000 n 
-0000179536 00000 n 
-0000179593 00000 n 
-0000179650 00000 n 
-0000179707 00000 n 
-0000179764 00000 n 
-0000179826 00000 n 
-0000184520 00000 n 
-0000184673 00000 n 
-0000184825 00000 n 
-0000184990 00000 n 
-0000185733 00000 n 
-0000184196 00000 n 
-0000180083 00000 n 
-0000185163 00000 n 
-0000185219 00000 n 
-0000185337 00000 n 
-0000185394 00000 n 
-0000185451 00000 n 
-0000185508 00000 n 
-0000185621 00000 n 
-0000185677 00000 n 
-0003355775 00000 n 
-0000206208 00000 n 
-0000217973 00000 n 
-0000190998 00000 n 
-0000189162 00000 n 
-0000189473 00000 n 
-0000189651 00000 n 
-0000189972 00000 n 
-0000190371 00000 n 
-0000191347 00000 n 
-0000188967 00000 n 
-0000185957 00000 n 
-0000190543 00000 n 
-0000190599 00000 n 
-0000190656 00000 n 
-0000190713 00000 n 
-0000190770 00000 n 
-0000190827 00000 n 
-0000190884 00000 n 
-0000190941 00000 n 
-0000189318 00000 n 
-0000189812 00000 n 
-0000190172 00000 n 
-0000191178 00000 n 
-0000191235 00000 n 
-0000191291 00000 n 
-0000195316 00000 n 
-0000195468 00000 n 
-0000195621 00000 n 
-0000195775 00000 n 
-0000195945 00000 n 
-0000196111 00000 n 
-0000196262 00000 n 
-0000196415 00000 n 
-0000196610 00000 n 
-0000196802 00000 n 
-0000197599 00000 n 
-0000195105 00000 n 
-0000191570 00000 n 
-0000196975 00000 n 
-0000197031 00000 n 
-0000197088 00000 n 
-0000197145 00000 n 
-0000197202 00000 n 
-0000197259 00000 n 
-0000197315 00000 n 
-0000197371 00000 n 
-0000197428 00000 n 
-0000197485 00000 n 
-0000197542 00000 n 
-0000211716 00000 n 
-0000217916 00000 n 
-0000714158 00000 n 
-0001598114 00000 n 
-0000201087 00000 n 
-0000201775 00000 n 
-0000200948 00000 n 
-0000197760 00000 n 
-0000201259 00000 n 
-0000201433 00000 n 
-0000201490 00000 n 
-0000201547 00000 n 
-0000201604 00000 n 
-0000201661 00000 n 
-0000201718 00000 n 
-0000205571 00000 n 
-0000206265 00000 n 
-0000205432 00000 n 
-0000201899 00000 n 
-0000205744 00000 n 
-0000205800 00000 n 
-0000205862 00000 n 
-0000205919 00000 n 
-0000206037 00000 n 
-0000206094 00000 n 
-0000206151 00000 n 
-0000210041 00000 n 
-0000210242 00000 n 
-0000210438 00000 n 
-0000210603 00000 n 
-0000210778 00000 n 
-0000210962 00000 n 
-0000215799 00000 n 
-0000211146 00000 n 
-0000212115 00000 n 
-0000209854 00000 n 
-0000206376 00000 n 
-0000211318 00000 n 
-0000211488 00000 n 
-0000211545 00000 n 
-0000211602 00000 n 
-0000211659 00000 n 
-0000211773 00000 n 
-0000211887 00000 n 
-0000212001 00000 n 
-0000212058 00000 n 
-0000215983 00000 n 
-0000216166 00000 n 
-0000216350 00000 n 
-0000216515 00000 n 
-0000216669 00000 n 
-0000216852 00000 n 
-0000217016 00000 n 
-0000217199 00000 n 
-0000217363 00000 n 
-0000217516 00000 n 
-0000218431 00000 n 
-0000215579 00000 n 
-0000212226 00000 n 
-0000217689 00000 n 
-0000217745 00000 n 
-0000217802 00000 n 
-0000217859 00000 n 
-0000218030 00000 n 
-0000218087 00000 n 
-0000218144 00000 n 
-0000218201 00000 n 
-0000218258 00000 n 
-0000218315 00000 n 
-0000218373 00000 n 
-0003355894 00000 n 
-0000222296 00000 n 
-0000222480 00000 n 
-0000222635 00000 n 
-0000222800 00000 n 
-0000222976 00000 n 
-0000223170 00000 n 
-0000223353 00000 n 
-0000223518 00000 n 
-0000223672 00000 n 
-0000223855 00000 n 
-0000224040 00000 n 
-0000224196 00000 n 
-0000225191 00000 n 
-0000222053 00000 n 
-0000218542 00000 n 
-0000224369 00000 n 
-0000224427 00000 n 
-0000224486 00000 n 
-0000224545 00000 n 
-0000224604 00000 n 
-0000224663 00000 n 
-0000224722 00000 n 
-0000224780 00000 n 
-0000224839 00000 n 
-0000224898 00000 n 
-0000224957 00000 n 
-0000225074 00000 n 
-0000229041 00000 n 
-0000229246 00000 n 
-0000230360 00000 n 
-0000228888 00000 n 
-0000225303 00000 n 
-0000229420 00000 n 
-0000229478 00000 n 
-0000229537 00000 n 
-0000229654 00000 n 
-0000229713 00000 n 
-0000229772 00000 n 
-0000229831 00000 n 
-0000229890 00000 n 
-0000229949 00000 n 
-0000230008 00000 n 
-0000230183 00000 n 
-0000230242 00000 n 
-0000230301 00000 n 
-0000234495 00000 n 
-0000234699 00000 n 
-0000235808 00000 n 
-0000234342 00000 n 
-0000230485 00000 n 
-0000234872 00000 n 
-0000234930 00000 n 
-0000234989 00000 n 
-0000235105 00000 n 
-0000235163 00000 n 
-0000235222 00000 n 
-0000235281 00000 n 
-0000235340 00000 n 
-0000235457 00000 n 
-0000235573 00000 n 
-0000235632 00000 n 
-0000235690 00000 n 
-0000235749 00000 n 
-0000239749 00000 n 
-0000239939 00000 n 
-0000240093 00000 n 
-0000245152 00000 n 
-0000240243 00000 n 
-0000241356 00000 n 
-0000239578 00000 n 
-0000235920 00000 n 
-0000240417 00000 n 
-0000240475 00000 n 
-0000240534 00000 n 
-0000240593 00000 n 
-0000240652 00000 n 
-0000240711 00000 n 
-0000240770 00000 n 
-0000240829 00000 n 
-0000240888 00000 n 
-0000240947 00000 n 
-0000241006 00000 n 
-0000241063 00000 n 
-0000241122 00000 n 
-0000241181 00000 n 
-0000241239 00000 n 
-0000241298 00000 n 
-0000245688 00000 n 
-0000245305 00000 n 
-0000250341 00000 n 
-0000250495 00000 n 
-0000245457 00000 n 
-0000246743 00000 n 
-0000244990 00000 n 
-0000241481 00000 n 
-0000245630 00000 n 
-0000245747 00000 n 
-0000245863 00000 n 
-0000245922 00000 n 
-0000245981 00000 n 
-0000246040 00000 n 
-0000246097 00000 n 
-0000246156 00000 n 
-0000246215 00000 n 
-0000246332 00000 n 
-0000246448 00000 n 
-0000246507 00000 n 
-0000246566 00000 n 
-0000246625 00000 n 
-0000246684 00000 n 
-0000250649 00000 n 
-0000250813 00000 n 
-0000251454 00000 n 
-0000250170 00000 n 
-0000246855 00000 n 
-0000250987 00000 n 
-0000251045 00000 n 
-0000251104 00000 n 
-0000251278 00000 n 
-0000251395 00000 n 
-0003356019 00000 n 
-0000254884 00000 n 
-0000255291 00000 n 
-0000254740 00000 n 
-0000251566 00000 n 
-0000255057 00000 n 
-0000255115 00000 n 
-0000255174 00000 n 
-0000255232 00000 n 
-0000258564 00000 n 
-0000258973 00000 n 
-0000258420 00000 n 
-0000255390 00000 n 
-0000258738 00000 n 
-0000258796 00000 n 
-0000258855 00000 n 
-0000258914 00000 n 
-0000262325 00000 n 
-0000262674 00000 n 
-0000262181 00000 n 
-0000259072 00000 n 
-0000262498 00000 n 
-0000262556 00000 n 
-0000262615 00000 n 
-0000266398 00000 n 
-0000266689 00000 n 
-0000266254 00000 n 
-0000262773 00000 n 
-0000266572 00000 n 
-0000266630 00000 n 
-0000269993 00000 n 
-0000270283 00000 n 
-0000269849 00000 n 
-0000266788 00000 n 
-0000270166 00000 n 
-0000270224 00000 n 
-0000273854 00000 n 
-0000274263 00000 n 
-0000273710 00000 n 
-0000270382 00000 n 
-0000274028 00000 n 
-0000274086 00000 n 
-0000274145 00000 n 
-0000274204 00000 n 
-0003356145 00000 n 
-0000277796 00000 n 
-0000278204 00000 n 
-0000277652 00000 n 
-0000274362 00000 n 
-0000277969 00000 n 
-0000278027 00000 n 
-0000278086 00000 n 
-0000278145 00000 n 
-0000281274 00000 n 
-0000281740 00000 n 
-0000281130 00000 n 
-0000278303 00000 n 
-0000281448 00000 n 
-0000281506 00000 n 
-0000281565 00000 n 
-0000281623 00000 n 
-0000281682 00000 n 
-0003354273 00000 n 
-0000284692 00000 n 
-0000284869 00000 n 
-0000285046 00000 n 
-0000285242 00000 n 
-0000285647 00000 n 
-0000284521 00000 n 
-0000281853 00000 n 
-0000285415 00000 n 
-0000285530 00000 n 
-0000289664 00000 n 
-0000289896 00000 n 
-0000289520 00000 n 
-0000285760 00000 n 
-0000289838 00000 n 
-0000293806 00000 n 
-0000294037 00000 n 
-0000293662 00000 n 
-0000289995 00000 n 
-0000293979 00000 n 
-0000297423 00000 n 
-0000297655 00000 n 
-0000297279 00000 n 
-0000294136 00000 n 
-0000297597 00000 n 
-0003356271 00000 n 
-0000301061 00000 n 
-0000301292 00000 n 
-0000300917 00000 n 
-0000297754 00000 n 
-0000301234 00000 n 
-0000304041 00000 n 
-0000304218 00000 n 
-0000304374 00000 n 
-0000304779 00000 n 
-0000303879 00000 n 
-0000301391 00000 n 
-0000304548 00000 n 
-0000304606 00000 n 
-0000306535 00000 n 
-0000306713 00000 n 
-0000306870 00000 n 
-0000307065 00000 n 
-0000307223 00000 n 
-0000307379 00000 n 
-0000307537 00000 n 
-0000307696 00000 n 
-0000307854 00000 n 
-0000308012 00000 n 
-0000308170 00000 n 
-0000308328 00000 n 
-0000308486 00000 n 
-0000308644 00000 n 
-0000308803 00000 n 
-0000308962 00000 n 
-0000309120 00000 n 
-0000309278 00000 n 
-0000309437 00000 n 
-0000309596 00000 n 
-0000309755 00000 n 
-0000309914 00000 n 
-0000310073 00000 n 
-0000310232 00000 n 
-0000312582 00000 n 
-0000310389 00000 n 
-0000310847 00000 n 
-0000306175 00000 n 
-0000304878 00000 n 
-0000310562 00000 n 
-0000412049 00000 n 
-0000520896 00000 n 
-0000525600 00000 n 
-0000312741 00000 n 
-0000312900 00000 n 
-0000313058 00000 n 
-0000313217 00000 n 
-0000313376 00000 n 
-0000313535 00000 n 
-0000313694 00000 n 
-0000313852 00000 n 
-0000314011 00000 n 
-0000314169 00000 n 
-0000314328 00000 n 
-0000314487 00000 n 
-0000314646 00000 n 
-0000314805 00000 n 
-0000314963 00000 n 
-0000315122 00000 n 
-0000315281 00000 n 
-0000315440 00000 n 
-0000315599 00000 n 
-0000315758 00000 n 
-0000315916 00000 n 
-0000316074 00000 n 
-0000316233 00000 n 
-0000316392 00000 n 
-0000316551 00000 n 
-0000316710 00000 n 
-0000316869 00000 n 
-0000317027 00000 n 
-0000319593 00000 n 
-0000317183 00000 n 
-0000317415 00000 n 
-0000312177 00000 n 
-0000310959 00000 n 
-0000317357 00000 n 
-0000319752 00000 n 
-0000319911 00000 n 
-0000320070 00000 n 
-0000320229 00000 n 
-0000320388 00000 n 
-0000320547 00000 n 
-0000320706 00000 n 
-0000320865 00000 n 
-0000321023 00000 n 
-0000321182 00000 n 
-0000321400 00000 n 
-0000321559 00000 n 
-0000321746 00000 n 
-0000321904 00000 n 
-0000322101 00000 n 
-0000322259 00000 n 
-0000322440 00000 n 
-0000322598 00000 n 
-0000322788 00000 n 
-0000322946 00000 n 
-0000323139 00000 n 
-0000323297 00000 n 
-0000323495 00000 n 
-0000323653 00000 n 
-0000323862 00000 n 
-0000324020 00000 n 
-0000324226 00000 n 
-0000324384 00000 n 
-0000324589 00000 n 
-0000324768 00000 n 
-0000327757 00000 n 
-0000327945 00000 n 
-0000324924 00000 n 
-0000325270 00000 n 
-0000319170 00000 n 
-0000317527 00000 n 
-0000325097 00000 n 
-0000525834 00000 n 
-0000919521 00000 n 
-0001023536 00000 n 
-0001027473 00000 n 
-0001027766 00000 n 
-0001032881 00000 n 
-0000328104 00000 n 
-0000328300 00000 n 
-0000328459 00000 n 
-0000328659 00000 n 
-0000328818 00000 n 
-0000329033 00000 n 
-0000329191 00000 n 
-0000329403 00000 n 
-0000329562 00000 n 
-0000329777 00000 n 
-0000329936 00000 n 
-0000330156 00000 n 
-0000330314 00000 n 
-0000330502 00000 n 
-0000330661 00000 n 
-0000330855 00000 n 
-0000331013 00000 n 
-0000331213 00000 n 
-0000331371 00000 n 
-0000331560 00000 n 
-0000331713 00000 n 
-0000331872 00000 n 
-0000332065 00000 n 
-0000332223 00000 n 
-0000332410 00000 n 
-0000332569 00000 n 
-0000332764 00000 n 
-0000332923 00000 n 
-0000333113 00000 n 
-0000333271 00000 n 
-0000333453 00000 n 
-0000333612 00000 n 
-0000333807 00000 n 
-0000333989 00000 n 
-0000334148 00000 n 
-0000334340 00000 n 
-0000334498 00000 n 
-0000334699 00000 n 
-0000334858 00000 n 
-0000335052 00000 n 
-0000335211 00000 n 
-0000335397 00000 n 
-0000335556 00000 n 
-0000335745 00000 n 
-0000335904 00000 n 
-0000336134 00000 n 
-0000339030 00000 n 
-0000339232 00000 n 
-0000336291 00000 n 
-0000336523 00000 n 
-0000327181 00000 n 
-0000325382 00000 n 
-0000336465 00000 n 
-0003354634 00000 n 
-0003356397 00000 n 
-0001033175 00000 n 
-0001069345 00000 n 
-0001100237 00000 n 
-0001109415 00000 n 
-0001115271 00000 n 
-0001120457 00000 n 
-0001126224 00000 n 
-0001132626 00000 n 
-0001188327 00000 n 
-0001212678 00000 n 
-0001217510 00000 n 
-0001237004 00000 n 
-0001237239 00000 n 
-0001299821 00000 n 
-0001323173 00000 n 
-0001511149 00000 n 
-0001524033 00000 n 
-0001561724 00000 n 
-0001621850 00000 n 
-0001622085 00000 n 
-0000339391 00000 n 
-0000339587 00000 n 
-0000339746 00000 n 
-0000339935 00000 n 
-0000340094 00000 n 
-0000340286 00000 n 
-0000340445 00000 n 
-0000340662 00000 n 
-0000340821 00000 n 
-0000341012 00000 n 
-0000341171 00000 n 
-0000341365 00000 n 
-0000341524 00000 n 
-0000341728 00000 n 
-0000341887 00000 n 
-0000342084 00000 n 
-0000342243 00000 n 
-0000342433 00000 n 
-0000342592 00000 n 
-0000342789 00000 n 
-0000342947 00000 n 
-0000343140 00000 n 
-0000343299 00000 n 
-0000343493 00000 n 
-0000343652 00000 n 
-0000343845 00000 n 
-0000344004 00000 n 
-0000344197 00000 n 
-0000344356 00000 n 
-0000344544 00000 n 
-0000344703 00000 n 
-0000344889 00000 n 
-0000345046 00000 n 
-0000345239 00000 n 
-0000345398 00000 n 
-0000345604 00000 n 
-0000345763 00000 n 
-0000345957 00000 n 
-0000346115 00000 n 
-0000346301 00000 n 
-0000346460 00000 n 
-0000346643 00000 n 
-0000348726 00000 n 
-0000348917 00000 n 
-0000346800 00000 n 
-0000347031 00000 n 
-0000338490 00000 n 
-0000336650 00000 n 
-0000346973 00000 n 
-0001622319 00000 n 
-0001628157 00000 n 
-0001683333 00000 n 
-0001754742 00000 n 
-0001757914 00000 n 
-0002080847 00000 n 
-0002091003 00000 n 
-0002158909 00000 n 
-0002179522 00000 n 
-0002363722 00000 n 
-0002375306 00000 n 
-0002388349 00000 n 
-0002553331 00000 n 
-0002594699 00000 n 
-0002598397 00000 n 
-0002602412 00000 n 
-0002605627 00000 n 
-0002605989 00000 n 
-0000349076 00000 n 
-0000349263 00000 n 
-0000349454 00000 n 
-0000349644 00000 n 
-0000349877 00000 n 
-0000350079 00000 n 
-0000350272 00000 n 
-0000350458 00000 n 
-0000350656 00000 n 
-0000350850 00000 n 
-0000351046 00000 n 
-0000351256 00000 n 
-0000351444 00000 n 
-0000351641 00000 n 
-0000351836 00000 n 
-0000353988 00000 n 
-0000352049 00000 n 
-0000352515 00000 n 
-0000348429 00000 n 
-0000347143 00000 n 
-0000352223 00000 n 
-0000352339 00000 n 
-0000352456 00000 n 
-0002625004 00000 n 
-0000354174 00000 n 
-0000354370 00000 n 
-0000354585 00000 n 
-0000354773 00000 n 
-0000354973 00000 n 
-0000355192 00000 n 
-0000355385 00000 n 
-0000355575 00000 n 
-0000355772 00000 n 
-0000355981 00000 n 
-0000356175 00000 n 
-0000356381 00000 n 
-0000356578 00000 n 
-0000356765 00000 n 
-0000356955 00000 n 
-0000357140 00000 n 
-0000359409 00000 n 
-0000359590 00000 n 
-0000357333 00000 n 
-0000357564 00000 n 
-0000353691 00000 n 
-0000352640 00000 n 
-0000357506 00000 n 
-0000359781 00000 n 
-0000359973 00000 n 
-0000360155 00000 n 
-0000360336 00000 n 
-0000360523 00000 n 
-0000360715 00000 n 
-0000360909 00000 n 
-0000361109 00000 n 
-0000361309 00000 n 
-0000361515 00000 n 
-0000361706 00000 n 
-0000361910 00000 n 
-0000362099 00000 n 
-0000362252 00000 n 
-0000362438 00000 n 
-0000362633 00000 n 
-0000364762 00000 n 
-0000362822 00000 n 
-0000363054 00000 n 
-0000359103 00000 n 
-0000357689 00000 n 
-0000362996 00000 n 
-0000364957 00000 n 
-0000365113 00000 n 
-0000365318 00000 n 
-0000365523 00000 n 
-0000365728 00000 n 
-0000365933 00000 n 
-0000366137 00000 n 
-0000366341 00000 n 
-0000366545 00000 n 
-0000366749 00000 n 
-0000366954 00000 n 
-0000367192 00000 n 
-0000367431 00000 n 
-0000367907 00000 n 
-0000368144 00000 n 
-0000368381 00000 n 
-0000368620 00000 n 
-0000369097 00000 n 
-0000369336 00000 n 
-0000369572 00000 n 
-0000369809 00000 n 
-0000370280 00000 n 
-0000373222 00000 n 
-0000373459 00000 n 
-0000373936 00000 n 
-0000374175 00000 n 
-0000370517 00000 n 
-0000371040 00000 n 
-0000364384 00000 n 
-0000363179 00000 n 
-0000370690 00000 n 
-0000370748 00000 n 
-0000370807 00000 n 
-0000370864 00000 n 
-0000370923 00000 n 
-0000370981 00000 n 
-0000367670 00000 n 
-0000368859 00000 n 
-0000370044 00000 n 
-0000393300 00000 n 
-0000393418 00000 n 
-0000393536 00000 n 
-0000393654 00000 n 
-0000396714 00000 n 
-0000396830 00000 n 
-0000396948 00000 n 
-0000397124 00000 n 
-0000399245 00000 n 
-0000399309 00000 n 
-0000399373 00000 n 
-0000399437 00000 n 
-0000399501 00000 n 
-0000399565 00000 n 
-0000399629 00000 n 
-0000399693 00000 n 
-0000399757 00000 n 
-0000399821 00000 n 
-0000399885 00000 n 
-0000399949 00000 n 
-0000374652 00000 n 
-0000374890 00000 n 
-0000375129 00000 n 
-0000375367 00000 n 
-0000375606 00000 n 
-0000375844 00000 n 
-0000376083 00000 n 
-0000376321 00000 n 
-0000376560 00000 n 
-0000376798 00000 n 
-0000377275 00000 n 
-0000377513 00000 n 
-0000377988 00000 n 
-0000378192 00000 n 
-0000378431 00000 n 
-0000378669 00000 n 
-0000378873 00000 n 
-0000379110 00000 n 
-0000379348 00000 n 
-0000379822 00000 n 
-0000380060 00000 n 
-0000380297 00000 n 
-0000380534 00000 n 
-0000380739 00000 n 
-0000381216 00000 n 
-0000381693 00000 n 
-0000381931 00000 n 
-0000382136 00000 n 
-0000382612 00000 n 
-0000382850 00000 n 
-0000383053 00000 n 
-0000383291 00000 n 
-0000383530 00000 n 
-0000384007 00000 n 
-0000384246 00000 n 
-0000384484 00000 n 
-0000384689 00000 n 
-0000385166 00000 n 
-0000385405 00000 n 
-0000385609 00000 n 
-0000386085 00000 n 
-0000386323 00000 n 
-0000388506 00000 n 
-0000388711 00000 n 
-0000388947 00000 n 
-0000389185 00000 n 
-0000389659 00000 n 
-0000389898 00000 n 
-0000386560 00000 n 
-0000386792 00000 n 
-0000372565 00000 n 
-0000371152 00000 n 
-0000386734 00000 n 
-0000373698 00000 n 
-0000374414 00000 n 
-0000377037 00000 n 
-0000377750 00000 n 
-0000379584 00000 n 
-0000380978 00000 n 
-0000381455 00000 n 
-0000382375 00000 n 
-0000383769 00000 n 
-0000384928 00000 n 
-0000385848 00000 n 
-0003356523 00000 n 
-0000400013 00000 n 
-0000400077 00000 n 
-0000400140 00000 n 
-0000400203 00000 n 
-0000400266 00000 n 
-0000400330 00000 n 
-0000400394 00000 n 
-0000400458 00000 n 
-0000400522 00000 n 
-0000400586 00000 n 
-0000400650 00000 n 
-0000400714 00000 n 
-0000400778 00000 n 
-0000400842 00000 n 
-0000400906 00000 n 
-0000400970 00000 n 
-0000401034 00000 n 
-0000401152 00000 n 
-0000401216 00000 n 
-0000401279 00000 n 
-0000403268 00000 n 
-0000403332 00000 n 
-0000403396 00000 n 
-0000403460 00000 n 
-0000403524 00000 n 
-0000403588 00000 n 
-0000403652 00000 n 
-0000403769 00000 n 
-0000403833 00000 n 
-0000403897 00000 n 
-0000403960 00000 n 
-0000404077 00000 n 
-0000404141 00000 n 
-0000404205 00000 n 
-0000404323 00000 n 
-0000404387 00000 n 
-0000404450 00000 n 
-0000404514 00000 n 
-0000404577 00000 n 
-0000404640 00000 n 
-0000407689 00000 n 
-0000407753 00000 n 
-0000407817 00000 n 
-0000407935 00000 n 
-0000407999 00000 n 
-0000408061 00000 n 
-0000390135 00000 n 
-0000390340 00000 n 
-0000390816 00000 n 
-0000391292 00000 n 
-0000391496 00000 n 
-0000391973 00000 n 
-0000392450 00000 n 
-0000392688 00000 n 
-0000392893 00000 n 
-0000393712 00000 n 
-0000388191 00000 n 
-0000386904 00000 n 
-0000393066 00000 n 
-0000389421 00000 n 
-0000390579 00000 n 
-0000391054 00000 n 
-0000391735 00000 n 
-0000392212 00000 n 
-0000393124 00000 n 
-0000393182 00000 n 
-0000393241 00000 n 
-0000393359 00000 n 
-0000393477 00000 n 
-0000393595 00000 n 
-0000408125 00000 n 
-0000408242 00000 n 
-0000408306 00000 n 
-0000408370 00000 n 
-0000408434 00000 n 
-0000408498 00000 n 
-0000408562 00000 n 
-0000411376 00000 n 
-0000411440 00000 n 
-0000411504 00000 n 
-0000411622 00000 n 
-0000411686 00000 n 
-0000411750 00000 n 
-0000411873 00000 n 
-0000395983 00000 n 
-0000396173 00000 n 
-0000396364 00000 n 
-0000397242 00000 n 
-0000395821 00000 n 
-0000393837 00000 n 
-0000396538 00000 n 
-0000396596 00000 n 
-0000396655 00000 n 
-0000396772 00000 n 
-0000396889 00000 n 
-0000397007 00000 n 
-0000397065 00000 n 
-0000397183 00000 n 
-0000399014 00000 n 
-0000401337 00000 n 
-0000398870 00000 n 
-0000397341 00000 n 
-0000399187 00000 n 
-0000401093 00000 n 
-0000402799 00000 n 
-0000402977 00000 n 
-0000404698 00000 n 
-0000402646 00000 n 
-0000401451 00000 n 
-0000403151 00000 n 
-0000403209 00000 n 
-0000403710 00000 n 
-0000404019 00000 n 
-0000404264 00000 n 
-0000407042 00000 n 
-0000407221 00000 n 
-0000407399 00000 n 
-0000408620 00000 n 
-0000406880 00000 n 
-0000404812 00000 n 
-0000407572 00000 n 
-0000407630 00000 n 
-0000407876 00000 n 
-0000408183 00000 n 
-0000410707 00000 n 
-0000410897 00000 n 
-0000413699 00000 n 
-0000411085 00000 n 
-0000412166 00000 n 
-0000410545 00000 n 
-0000408785 00000 n 
-0000411259 00000 n 
-0000411317 00000 n 
-0000411563 00000 n 
-0000411814 00000 n 
-0000411932 00000 n 
-0003356649 00000 n 
-0000413894 00000 n 
-0000414080 00000 n 
-0000414273 00000 n 
-0000414463 00000 n 
-0000414691 00000 n 
-0000414893 00000 n 
-0000415086 00000 n 
-0000415272 00000 n 
-0000415468 00000 n 
-0000415664 00000 n 
-0000415852 00000 n 
-0000416049 00000 n 
-0000416244 00000 n 
-0000416431 00000 n 
-0000416626 00000 n 
-0000416812 00000 n 
-0000418865 00000 n 
-0000417013 00000 n 
-0000417362 00000 n 
-0000413402 00000 n 
-0000412293 00000 n 
-0000417186 00000 n 
-0000417244 00000 n 
-0000417303 00000 n 
-0000419058 00000 n 
-0000419249 00000 n 
-0000419439 00000 n 
-0000419632 00000 n 
-0000419829 00000 n 
-0000420026 00000 n 
-0000420223 00000 n 
-0000420417 00000 n 
-0000420614 00000 n 
-0000420802 00000 n 
-0000420992 00000 n 
-0000421177 00000 n 
-0000421372 00000 n 
-0000421554 00000 n 
-0000421744 00000 n 
-0000421936 00000 n 
-0000422118 00000 n 
-0000424093 00000 n 
-0000422298 00000 n 
-0000422530 00000 n 
-0000418559 00000 n 
-0000417487 00000 n 
-0000422472 00000 n 
-0000424280 00000 n 
-0000424474 00000 n 
-0000424668 00000 n 
-0000424868 00000 n 
-0000425068 00000 n 
-0000425274 00000 n 
-0000425464 00000 n 
-0000425669 00000 n 
-0000425861 00000 n 
-0000426049 00000 n 
-0000426203 00000 n 
-0000426389 00000 n 
-0000426585 00000 n 
-0000426774 00000 n 
-0000426979 00000 n 
-0000429953 00000 n 
-0000427184 00000 n 
-0000427474 00000 n 
-0000423805 00000 n 
-0000422642 00000 n 
-0000427357 00000 n 
-0000427415 00000 n 
-0000430158 00000 n 
-0000430370 00000 n 
-0000430615 00000 n 
-0000430860 00000 n 
-0000431105 00000 n 
-0000431350 00000 n 
-0000431559 00000 n 
-0000431803 00000 n 
-0000432048 00000 n 
-0000432293 00000 n 
-0000432538 00000 n 
-0000432782 00000 n 
-0000433027 00000 n 
-0000433272 00000 n 
-0000433517 00000 n 
-0000433722 00000 n 
-0000433959 00000 n 
-0000434198 00000 n 
-0000434436 00000 n 
-0000434675 00000 n 
-0000434913 00000 n 
-0000435152 00000 n 
-0000435391 00000 n 
-0000435630 00000 n 
-0000435867 00000 n 
-0000436105 00000 n 
-0000436343 00000 n 
-0000436581 00000 n 
-0000436819 00000 n 
-0000437058 00000 n 
-0000437297 00000 n 
-0000437536 00000 n 
-0000437774 00000 n 
-0000438012 00000 n 
-0000438251 00000 n 
-0000438490 00000 n 
-0000438728 00000 n 
-0000438965 00000 n 
-0000439204 00000 n 
-0000439443 00000 n 
-0000439681 00000 n 
-0000439920 00000 n 
-0000440159 00000 n 
-0000440636 00000 n 
-0000440841 00000 n 
-0000441080 00000 n 
-0000441318 00000 n 
-0000441523 00000 n 
-0000441761 00000 n 
-0000441999 00000 n 
-0000442238 00000 n 
-0000442476 00000 n 
-0000442713 00000 n 
-0000442952 00000 n 
-0000443157 00000 n 
-0000443396 00000 n 
-0000443635 00000 n 
-0000444111 00000 n 
-0000444316 00000 n 
-0000444555 00000 n 
-0000444794 00000 n 
-0000444999 00000 n 
-0000445237 00000 n 
-0000445476 00000 n 
-0000445715 00000 n 
-0000445954 00000 n 
-0000446192 00000 n 
-0000446397 00000 n 
-0000446636 00000 n 
-0000446875 00000 n 
-0000447078 00000 n 
-0000447315 00000 n 
-0000447551 00000 n 
-0000450187 00000 n 
-0000447787 00000 n 
-0000448078 00000 n 
-0000429125 00000 n 
-0000427586 00000 n 
-0000447961 00000 n 
-0000448019 00000 n 
-0000440398 00000 n 
-0000443874 00000 n 
-0000490360 00000 n 
-0000490478 00000 n 
-0000490542 00000 n 
-0000490605 00000 n 
-0000490669 00000 n 
-0000490732 00000 n 
-0000492894 00000 n 
-0000492958 00000 n 
-0000493020 00000 n 
-0000493084 00000 n 
-0000493148 00000 n 
-0000493212 00000 n 
-0000493276 00000 n 
-0000493340 00000 n 
-0000450392 00000 n 
-0000450630 00000 n 
-0000450869 00000 n 
-0000451107 00000 n 
-0000451345 00000 n 
-0000451583 00000 n 
-0000451787 00000 n 
-0000452026 00000 n 
-0000452265 00000 n 
-0000452469 00000 n 
-0000452708 00000 n 
-0000452947 00000 n 
-0000453185 00000 n 
-0000453397 00000 n 
-0000453641 00000 n 
-0000453886 00000 n 
-0000454131 00000 n 
-0000454376 00000 n 
-0000454620 00000 n 
-0000454865 00000 n 
-0000455110 00000 n 
-0000455355 00000 n 
-0000455599 00000 n 
-0000455843 00000 n 
-0000456088 00000 n 
-0000456333 00000 n 
-0000456577 00000 n 
-0000456788 00000 n 
-0000457000 00000 n 
-0000457210 00000 n 
-0000457422 00000 n 
-0000457633 00000 n 
-0000457844 00000 n 
-0000458056 00000 n 
-0000458268 00000 n 
-0000461092 00000 n 
-0000458478 00000 n 
-0000459120 00000 n 
-0000449719 00000 n 
-0000448190 00000 n 
-0000458651 00000 n 
-0000458709 00000 n 
-0000458768 00000 n 
-0000458827 00000 n 
-0000458885 00000 n 
-0000458944 00000 n 
-0000459003 00000 n 
-0000459062 00000 n 
-0000493404 00000 n 
-0000493522 00000 n 
-0000493586 00000 n 
-0000493650 00000 n 
-0000493714 00000 n 
-0000493778 00000 n 
-0000493841 00000 n 
-0000493905 00000 n 
-0000493969 00000 n 
-0000494033 00000 n 
-0000494097 00000 n 
-0000494161 00000 n 
-0000494225 00000 n 
-0000494289 00000 n 
-0000494412 00000 n 
-0000494530 00000 n 
-0000497879 00000 n 
-0000461304 00000 n 
-0000461516 00000 n 
-0000461728 00000 n 
-0000461940 00000 n 
-0000462152 00000 n 
-0000462364 00000 n 
-0000462575 00000 n 
-0000462786 00000 n 
-0000462998 00000 n 
-0000463203 00000 n 
-0000463414 00000 n 
-0000463626 00000 n 
-0000463831 00000 n 
-0000464035 00000 n 
-0000464247 00000 n 
-0000464450 00000 n 
-0000464661 00000 n 
-0000464865 00000 n 
-0000465077 00000 n 
-0000465289 00000 n 
-0000465500 00000 n 
-0000465712 00000 n 
-0000468982 00000 n 
-0000465922 00000 n 
-0000466977 00000 n 
-0000460741 00000 n 
-0000459245 00000 n 
-0000466096 00000 n 
-0000466154 00000 n 
-0000466212 00000 n 
-0000466271 00000 n 
-0000466330 00000 n 
-0000466389 00000 n 
-0000466447 00000 n 
-0000466506 00000 n 
-0000466565 00000 n 
-0000466624 00000 n 
-0000466683 00000 n 
-0000466742 00000 n 
-0000466801 00000 n 
-0000466860 00000 n 
-0000466919 00000 n 
-0003356775 00000 n 
-0000498002 00000 n 
-0000498125 00000 n 
-0000469194 00000 n 
-0000469403 00000 n 
-0000469607 00000 n 
-0000469819 00000 n 
-0000470029 00000 n 
-0000470182 00000 n 
-0000470394 00000 n 
-0000470549 00000 n 
-0000470761 00000 n 
-0000470948 00000 n 
-0000471103 00000 n 
-0000471314 00000 n 
-0000471687 00000 n 
-0000471841 00000 n 
-0000472052 00000 n 
-0000472242 00000 n 
-0000472397 00000 n 
-0000472609 00000 n 
-0000472988 00000 n 
-0000473143 00000 n 
-0000473355 00000 n 
-0000473546 00000 n 
-0000473737 00000 n 
-0000473891 00000 n 
-0000474103 00000 n 
-0000474292 00000 n 
-0000474481 00000 n 
-0000477279 00000 n 
-0000474634 00000 n 
-0000475041 00000 n 
-0000468568 00000 n 
-0000467103 00000 n 
-0000474807 00000 n 
-0000474865 00000 n 
-0000474923 00000 n 
-0000474982 00000 n 
-0003350824 00000 n 
-0000471501 00000 n 
-0000472799 00000 n 
-0000498248 00000 n 
-0000501686 00000 n 
-0000501804 00000 n 
-0000505430 00000 n 
-0000509527 00000 n 
-0000509645 00000 n 
-0000513389 00000 n 
-0000517192 00000 n 
-0000477491 00000 n 
-0000477703 00000 n 
-0000477858 00000 n 
-0000478070 00000 n 
-0000478282 00000 n 
-0000478436 00000 n 
-0000478647 00000 n 
-0000478833 00000 n 
-0000479045 00000 n 
-0000479200 00000 n 
-0000479411 00000 n 
-0000479783 00000 n 
-0000479995 00000 n 
-0000480150 00000 n 
-0000480361 00000 n 
-0000480553 00000 n 
-0000480765 00000 n 
-0000480920 00000 n 
-0000481132 00000 n 
-0000481324 00000 n 
-0000481535 00000 n 
-0000481690 00000 n 
-0000481895 00000 n 
-0000482098 00000 n 
-0000482303 00000 n 
-0000482508 00000 n 
-0000482713 00000 n 
-0000482918 00000 n 
-0000483120 00000 n 
-0000483322 00000 n 
-0000483522 00000 n 
-0000486767 00000 n 
-0000486969 00000 n 
-0000487171 00000 n 
-0000487373 00000 n 
-0000483722 00000 n 
-0000484780 00000 n 
-0000476838 00000 n 
-0000475181 00000 n 
-0000483896 00000 n 
-0000483954 00000 n 
-0000484013 00000 n 
-0000484072 00000 n 
-0000484131 00000 n 
-0000479597 00000 n 
-0000484190 00000 n 
-0000484249 00000 n 
-0000484308 00000 n 
-0000484367 00000 n 
-0000484426 00000 n 
-0000484485 00000 n 
-0000484544 00000 n 
-0000484603 00000 n 
-0000484662 00000 n 
-0000484721 00000 n 
-0000487575 00000 n 
-0000487777 00000 n 
-0000487979 00000 n 
-0000488181 00000 n 
-0000488383 00000 n 
-0000488585 00000 n 
-0000488797 00000 n 
-0000488997 00000 n 
-0000489207 00000 n 
-0000489394 00000 n 
-0000489599 00000 n 
-0000490790 00000 n 
-0000486497 00000 n 
-0000484919 00000 n 
-0000489772 00000 n 
-0000489830 00000 n 
-0000489889 00000 n 
-0000489948 00000 n 
-0000490007 00000 n 
-0000490066 00000 n 
-0000490125 00000 n 
-0000490184 00000 n 
-0000490243 00000 n 
-0000490302 00000 n 
-0000490419 00000 n 
-0000496799 00000 n 
-0000492603 00000 n 
-0000494588 00000 n 
-0000492459 00000 n 
-0000490957 00000 n 
-0000492777 00000 n 
-0000492835 00000 n 
-0000493463 00000 n 
-0000494353 00000 n 
-0000494471 00000 n 
-0000497222 00000 n 
-0000497434 00000 n 
-0000497589 00000 n 
-0000498365 00000 n 
-0000496619 00000 n 
-0000494715 00000 n 
-0000497762 00000 n 
-0000497820 00000 n 
-0003353918 00000 n 
-0000497011 00000 n 
-0000497943 00000 n 
-0000498066 00000 n 
-0000498189 00000 n 
-0000498306 00000 n 
-0000501146 00000 n 
-0000501301 00000 n 
-0000501454 00000 n 
-0000501922 00000 n 
-0000500984 00000 n 
-0000498533 00000 n 
-0000501628 00000 n 
-0000501745 00000 n 
-0000501863 00000 n 
-0003356901 00000 n 
-0000505044 00000 n 
-0000505199 00000 n 
-0000505548 00000 n 
-0000504891 00000 n 
-0000502140 00000 n 
-0000505372 00000 n 
-0000505489 00000 n 
-0000508987 00000 n 
-0000509142 00000 n 
-0000509295 00000 n 
-0000509762 00000 n 
-0000508825 00000 n 
-0000505778 00000 n 
-0000509469 00000 n 
-0000509586 00000 n 
-0000509704 00000 n 
-0000513003 00000 n 
-0000513158 00000 n 
-0000513507 00000 n 
-0000512850 00000 n 
-0000509992 00000 n 
-0000513331 00000 n 
-0000513448 00000 n 
-0000516805 00000 n 
-0000516960 00000 n 
-0000517315 00000 n 
-0000516652 00000 n 
-0000513737 00000 n 
-0000517134 00000 n 
-0000517256 00000 n 
-0000520258 00000 n 
-0000520487 00000 n 
-0000520665 00000 n 
-0000521312 00000 n 
-0000520096 00000 n 
-0000517545 00000 n 
-0000520838 00000 n 
-0000521018 00000 n 
-0000521076 00000 n 
-0000521135 00000 n 
-0000521194 00000 n 
-0000521253 00000 n 
-0000523529 00000 n 
-0000523756 00000 n 
-0000523951 00000 n 
-0000524202 00000 n 
-0000524452 00000 n 
-0000524647 00000 n 
-0000524898 00000 n 
-0000525116 00000 n 
-0000528341 00000 n 
-0000528593 00000 n 
-0000525368 00000 n 
-0000526187 00000 n 
-0000523313 00000 n 
-0000521514 00000 n 
-0000525542 00000 n 
-0000525717 00000 n 
-0000525951 00000 n 
-0000526010 00000 n 
-0000526069 00000 n 
-0000526128 00000 n 
-0003357027 00000 n 
-0001023178 00000 n 
-0000535789 00000 n 
-0000528811 00000 n 
-0000529062 00000 n 
-0000529280 00000 n 
-0000529532 00000 n 
-0000529750 00000 n 
-0000530002 00000 n 
-0000530254 00000 n 
-0000530506 00000 n 
-0000530758 00000 n 
-0000531009 00000 n 
-0000531213 00000 n 
-0000531465 00000 n 
-0000531669 00000 n 
-0000531921 00000 n 
-0000532173 00000 n 
-0000532423 00000 n 
-0000532639 00000 n 
-0000533519 00000 n 
-0000528035 00000 n 
-0000526327 00000 n 
-0000532812 00000 n 
-0000532870 00000 n 
-0003352879 00000 n 
-0000532929 00000 n 
-0000532988 00000 n 
-0000533047 00000 n 
-0000533106 00000 n 
-0003350971 00000 n 
-0000533165 00000 n 
-0000533224 00000 n 
-0000533283 00000 n 
-0000533342 00000 n 
-0000533401 00000 n 
-0000533460 00000 n 
-0000535966 00000 n 
-0000536143 00000 n 
-0000538815 00000 n 
-0000535498 00000 n 
-0000536377 00000 n 
-0000535354 00000 n 
-0000533688 00000 n 
-0000535672 00000 n 
-0000535730 00000 n 
-0000535848 00000 n 
-0003353176 00000 n 
-0000535907 00000 n 
-0000536025 00000 n 
-0000536084 00000 n 
-0000536202 00000 n 
-0003350233 00000 n 
-0000539036 00000 n 
-0000539228 00000 n 
-0000539448 00000 n 
-0000539669 00000 n 
-0000539889 00000 n 
-0000540109 00000 n 
-0000540330 00000 n 
-0000540551 00000 n 
-0000540755 00000 n 
-0000540976 00000 n 
-0000541180 00000 n 
-0000541401 00000 n 
-0000541622 00000 n 
-0000541841 00000 n 
-0000542044 00000 n 
-0000542247 00000 n 
-0000542468 00000 n 
-0000542655 00000 n 
-0000542860 00000 n 
-0000543081 00000 n 
-0000543268 00000 n 
-0000543473 00000 n 
-0000543694 00000 n 
-0000543890 00000 n 
-0000544109 00000 n 
-0000547720 00000 n 
-0000547941 00000 n 
-0000544303 00000 n 
-0000545124 00000 n 
-0000538437 00000 n 
-0000536561 00000 n 
-0000544476 00000 n 
-0000544534 00000 n 
-0000544593 00000 n 
-0000544652 00000 n 
-0000544711 00000 n 
-0000544770 00000 n 
-0000544829 00000 n 
-0000544888 00000 n 
-0000544947 00000 n 
-0000545006 00000 n 
-0000545065 00000 n 
-0000703562 00000 n 
-0000630390 00000 n 
-0000630508 00000 n 
-0000630626 00000 n 
-0000632828 00000 n 
-0000632951 00000 n 
-0000548136 00000 n 
-0000548357 00000 n 
-0000548545 00000 n 
-0000548750 00000 n 
-0000548971 00000 n 
-0000549152 00000 n 
-0000549337 00000 n 
-0000549542 00000 n 
-0000549763 00000 n 
-0000549945 00000 n 
-0000550150 00000 n 
-0000550371 00000 n 
-0000550564 00000 n 
-0000550769 00000 n 
-0000550956 00000 n 
-0000551177 00000 n 
-0000551364 00000 n 
-0000551583 00000 n 
-0000551770 00000 n 
-0000551991 00000 n 
-0000552196 00000 n 
-0000552416 00000 n 
-0000552621 00000 n 
-0000552842 00000 n 
-0000553031 00000 n 
-0000553227 00000 n 
-0000553446 00000 n 
-0000553642 00000 n 
-0000553862 00000 n 
-0000554058 00000 n 
-0000554279 00000 n 
-0000554475 00000 n 
-0000554696 00000 n 
-0000554917 00000 n 
-0000555113 00000 n 
-0000555332 00000 n 
-0000558786 00000 n 
-0000559005 00000 n 
-0000559200 00000 n 
-0000559404 00000 n 
-0000555525 00000 n 
-0000556285 00000 n 
-0000547234 00000 n 
-0000545307 00000 n 
-0000555699 00000 n 
-0000555757 00000 n 
-0000555815 00000 n 
-0000555874 00000 n 
-0000555933 00000 n 
-0000555992 00000 n 
-0003352001 00000 n 
-0000556050 00000 n 
-0000556109 00000 n 
-0000556168 00000 n 
-0000556226 00000 n 
-0000633069 00000 n 
-0000635605 00000 n 
-0000635723 00000 n 
-0000635846 00000 n 
-0000635964 00000 n 
-0000638490 00000 n 
-0000638608 00000 n 
-0000559608 00000 n 
-0000559828 00000 n 
-0000560024 00000 n 
-0000560229 00000 n 
-0000560434 00000 n 
-0000560621 00000 n 
-0000560842 00000 n 
-0000561038 00000 n 
-0000561242 00000 n 
-0000561446 00000 n 
-0000561667 00000 n 
-0000561863 00000 n 
-0000562067 00000 n 
-0000562271 00000 n 
-0000562458 00000 n 
-0000562679 00000 n 
-0000562874 00000 n 
-0000563079 00000 n 
-0000563284 00000 n 
-0000563693 00000 n 
-0000563897 00000 n 
-0000564118 00000 n 
-0000564305 00000 n 
-0000564526 00000 n 
-0000564712 00000 n 
-0000564933 00000 n 
-0000565120 00000 n 
-0000565317 00000 n 
-0000565537 00000 n 
-0000565724 00000 n 
-0000565921 00000 n 
-0000566141 00000 n 
-0000566328 00000 n 
-0000566525 00000 n 
-0000566745 00000 n 
-0000566931 00000 n 
-0000567152 00000 n 
-0000567373 00000 n 
-0000567594 00000 n 
-0000570572 00000 n 
-0000567813 00000 n 
-0000568279 00000 n 
-0000558246 00000 n 
-0000556481 00000 n 
-0000567986 00000 n 
-0000563488 00000 n 
-0000568044 00000 n 
-0000568103 00000 n 
-0000568162 00000 n 
-0000568221 00000 n 
-0000638726 00000 n 
-0000641380 00000 n 
-0000641503 00000 n 
-0000644806 00000 n 
-0000644929 00000 n 
-0000647058 00000 n 
-0000647181 00000 n 
-0000647299 00000 n 
-0000647417 00000 n 
-0000647535 00000 n 
-0000649683 00000 n 
-0000570793 00000 n 
-0000571014 00000 n 
-0000571235 00000 n 
-0000571421 00000 n 
-0000571642 00000 n 
-0000571861 00000 n 
-0000572049 00000 n 
-0000572267 00000 n 
-0000572454 00000 n 
-0000572671 00000 n 
-0000572865 00000 n 
-0000573084 00000 n 
-0000573280 00000 n 
-0000573499 00000 n 
-0000573694 00000 n 
-0000573913 00000 n 
-0000574109 00000 n 
-0000574328 00000 n 
-0000574516 00000 n 
-0000574734 00000 n 
-0000574922 00000 n 
-0000575140 00000 n 
-0000575336 00000 n 
-0000575555 00000 n 
-0000575751 00000 n 
-0000575969 00000 n 
-0000576154 00000 n 
-0000576319 00000 n 
-0000576538 00000 n 
-0000576730 00000 n 
-0000580670 00000 n 
-0000580889 00000 n 
-0000581076 00000 n 
-0000581295 00000 n 
-0000576894 00000 n 
-0000577303 00000 n 
-0000570149 00000 n 
-0000568420 00000 n 
-0000577068 00000 n 
-0000577126 00000 n 
-0000577185 00000 n 
-0000577244 00000 n 
-0003357153 00000 n 
-0000649801 00000 n 
-0000649919 00000 n 
-0000650037 00000 n 
-0000652174 00000 n 
-0000652292 00000 n 
-0000652410 00000 n 
-0000654587 00000 n 
-0000654705 00000 n 
-0000654823 00000 n 
-0000657153 00000 n 
-0000657271 00000 n 
-0000657389 00000 n 
-0000660002 00000 n 
-0000581480 00000 n 
-0000581700 00000 n 
-0000581884 00000 n 
-0000582105 00000 n 
-0000582292 00000 n 
-0000582511 00000 n 
-0000582698 00000 n 
-0000582919 00000 n 
-0000583106 00000 n 
-0000583285 00000 n 
-0000583506 00000 n 
-0000583692 00000 n 
-0000583888 00000 n 
-0000584067 00000 n 
-0000584288 00000 n 
-0000584474 00000 n 
-0000584670 00000 n 
-0000584849 00000 n 
-0000585070 00000 n 
-0000585256 00000 n 
-0000585461 00000 n 
-0000585657 00000 n 
-0000585833 00000 n 
-0000586053 00000 n 
-0000586248 00000 n 
-0000586452 00000 n 
-0000586648 00000 n 
-0000586824 00000 n 
-0000587045 00000 n 
-0000587231 00000 n 
-0000587436 00000 n 
-0000587828 00000 n 
-0000588005 00000 n 
-0000588225 00000 n 
-0000588420 00000 n 
-0000588624 00000 n 
-0000588820 00000 n 
-0000588997 00000 n 
-0000589218 00000 n 
-0000589403 00000 n 
-0000589599 00000 n 
-0000589991 00000 n 
-0000593782 00000 n 
-0000594003 00000 n 
-0000594189 00000 n 
-0000594385 00000 n 
-0000590177 00000 n 
-0000590408 00000 n 
-0000580094 00000 n 
-0000577457 00000 n 
-0000590350 00000 n 
-0003351708 00000 n 
-0000587632 00000 n 
-0000589795 00000 n 
-0000660120 00000 n 
-0000660238 00000 n 
-0000660356 00000 n 
-0000663453 00000 n 
-0000663571 00000 n 
-0000663689 00000 n 
-0000663806 00000 n 
-0000666745 00000 n 
-0000666863 00000 n 
-0000666981 00000 n 
-0000670291 00000 n 
-0000670409 00000 n 
-0000673468 00000 n 
-0000594777 00000 n 
-0000594964 00000 n 
-0000595182 00000 n 
-0000595369 00000 n 
-0000595537 00000 n 
-0000595758 00000 n 
-0000595950 00000 n 
-0000596155 00000 n 
-0000596564 00000 n 
-0000596768 00000 n 
-0000596964 00000 n 
-0000597130 00000 n 
-0000597349 00000 n 
-0000597553 00000 n 
-0000597774 00000 n 
-0000597965 00000 n 
-0000598169 00000 n 
-0000598388 00000 n 
-0000598607 00000 n 
-0000598794 00000 n 
-0000598960 00000 n 
-0000599181 00000 n 
-0000599368 00000 n 
-0000599535 00000 n 
-0000599754 00000 n 
-0000599941 00000 n 
-0000600105 00000 n 
-0000600326 00000 n 
-0000600513 00000 n 
-0000600709 00000 n 
-0000600871 00000 n 
-0000601090 00000 n 
-0000601277 00000 n 
-0000601610 00000 n 
-0000601831 00000 n 
-0000602018 00000 n 
-0000602214 00000 n 
-0000602381 00000 n 
-0000602600 00000 n 
-0000602787 00000 n 
-0000602947 00000 n 
-0000603163 00000 n 
-0000606300 00000 n 
-0000606521 00000 n 
-0000606708 00000 n 
-0000606904 00000 n 
-0000603348 00000 n 
-0000603698 00000 n 
-0000593197 00000 n 
-0000590606 00000 n 
-0000603522 00000 n 
-0000594581 00000 n 
-0000596359 00000 n 
-0000603580 00000 n 
-0000601444 00000 n 
-0000603639 00000 n 
-0000673586 00000 n 
-0000673704 00000 n 
-0000677690 00000 n 
-0000677808 00000 n 
-0000680911 00000 n 
-0000681029 00000 n 
-0000681147 00000 n 
-0000684500 00000 n 
-0000684618 00000 n 
-0000684736 00000 n 
-0000688279 00000 n 
-0000688397 00000 n 
-0000607063 00000 n 
-0000607282 00000 n 
-0000607487 00000 n 
-0000607706 00000 n 
-0000607910 00000 n 
-0000608129 00000 n 
-0000608313 00000 n 
-0000608483 00000 n 
-0000608701 00000 n 
-0000608893 00000 n 
-0000609111 00000 n 
-0000609315 00000 n 
-0000609534 00000 n 
-0000609725 00000 n 
-0000609943 00000 n 
-0000610128 00000 n 
-0000610332 00000 n 
-0000610550 00000 n 
-0000610742 00000 n 
-0000610926 00000 n 
-0000611131 00000 n 
-0000611352 00000 n 
-0000611573 00000 n 
-0000611794 00000 n 
-0000612014 00000 n 
-0000612201 00000 n 
-0000612388 00000 n 
-0000612911 00000 n 
-0000605886 00000 n 
-0000603921 00000 n 
-0000612561 00000 n 
-0000612619 00000 n 
-0000612677 00000 n 
-0000612735 00000 n 
-0000612793 00000 n 
-0000612852 00000 n 
-0000691738 00000 n 
-0000691855 00000 n 
-0000691973 00000 n 
-0000695448 00000 n 
-0000695566 00000 n 
-0000695684 00000 n 
-0000695802 00000 n 
-0000699754 00000 n 
-0000699877 00000 n 
-0000703743 00000 n 
-0000615310 00000 n 
-0000615531 00000 n 
-0000615718 00000 n 
-0000615939 00000 n 
-0000616126 00000 n 
-0000616313 00000 n 
-0000616534 00000 n 
-0000616727 00000 n 
-0000616913 00000 n 
-0000617098 00000 n 
-0000617302 00000 n 
-0000617523 00000 n 
-0000617716 00000 n 
-0000617901 00000 n 
-0000618087 00000 n 
-0000618290 00000 n 
-0000618509 00000 n 
-0000618701 00000 n 
-0000618887 00000 n 
-0000619072 00000 n 
-0000619276 00000 n 
-0000619495 00000 n 
-0000619687 00000 n 
-0000619873 00000 n 
-0000620060 00000 n 
-0000620264 00000 n 
-0000620484 00000 n 
-0000620676 00000 n 
-0000620862 00000 n 
-0000621047 00000 n 
-0000621251 00000 n 
-0000621471 00000 n 
-0000621663 00000 n 
-0000621849 00000 n 
-0000622036 00000 n 
-0000622240 00000 n 
-0000622461 00000 n 
-0000622648 00000 n 
-0000623021 00000 n 
-0000623312 00000 n 
-0000614815 00000 n 
-0000613092 00000 n 
-0000623195 00000 n 
-0000623253 00000 n 
-0000622835 00000 n 
-0000703861 00000 n 
-0000703984 00000 n 
-0000706562 00000 n 
-0000706685 00000 n 
-0000706808 00000 n 
-0000709219 00000 n 
-0000709342 00000 n 
-0000709465 00000 n 
-0000714035 00000 n 
-0000626999 00000 n 
-0000627189 00000 n 
-0000627377 00000 n 
-0000627565 00000 n 
-0000627753 00000 n 
-0000628102 00000 n 
-0000626819 00000 n 
-0000623493 00000 n 
-0000627926 00000 n 
-0000627984 00000 n 
-0000628043 00000 n 
-0000630099 00000 n 
-0000630689 00000 n 
-0000629955 00000 n 
-0000628277 00000 n 
-0000630273 00000 n 
-0000630331 00000 n 
-0000630449 00000 n 
-0000630567 00000 n 
-0003357279 00000 n 
-0000632538 00000 n 
-0000633186 00000 n 
-0000632394 00000 n 
-0000630869 00000 n 
-0000632711 00000 n 
-0000632769 00000 n 
-0000632892 00000 n 
-0000633010 00000 n 
-0000633127 00000 n 
-0000635373 00000 n 
-0000636022 00000 n 
-0000635229 00000 n 
-0000633328 00000 n 
-0000635547 00000 n 
-0000635664 00000 n 
-0000635787 00000 n 
-0000635905 00000 n 
-0000638141 00000 n 
-0000638844 00000 n 
-0000637997 00000 n 
-0000636164 00000 n 
-0000638314 00000 n 
-0000638372 00000 n 
-0000638431 00000 n 
-0000638549 00000 n 
-0000638667 00000 n 
-0000638785 00000 n 
-0000641148 00000 n 
-0000641626 00000 n 
-0000641004 00000 n 
-0000638999 00000 n 
-0000641322 00000 n 
-0000641444 00000 n 
-0000641567 00000 n 
-0000644231 00000 n 
-0000644413 00000 n 
-0000644575 00000 n 
-0000645052 00000 n 
-0000644069 00000 n 
-0000641781 00000 n 
-0000644748 00000 n 
-0000644870 00000 n 
-0000644993 00000 n 
-0000646826 00000 n 
-0000647593 00000 n 
-0000646682 00000 n 
-0000645219 00000 n 
-0000647000 00000 n 
-0000647122 00000 n 
-0000647240 00000 n 
-0000647358 00000 n 
-0000647476 00000 n 
-0003357405 00000 n 
-0000649393 00000 n 
-0000650095 00000 n 
-0000649249 00000 n 
-0000647748 00000 n 
-0000649566 00000 n 
-0000649624 00000 n 
-0000649742 00000 n 
-0000649860 00000 n 
-0000649978 00000 n 
-0000651883 00000 n 
-0000652468 00000 n 
-0000651739 00000 n 
-0000650250 00000 n 
-0000652057 00000 n 
-0000652115 00000 n 
-0000652233 00000 n 
-0000652351 00000 n 
-0000654297 00000 n 
-0000654881 00000 n 
-0000654153 00000 n 
-0000652623 00000 n 
-0000654470 00000 n 
-0000654528 00000 n 
-0000654646 00000 n 
-0000654764 00000 n 
-0000656701 00000 n 
-0000656862 00000 n 
-0000657507 00000 n 
-0000656548 00000 n 
-0000655036 00000 n 
-0000657036 00000 n 
-0000657094 00000 n 
-0000657212 00000 n 
-0000657330 00000 n 
-0000657448 00000 n 
-0000659420 00000 n 
-0000659585 00000 n 
-0000659771 00000 n 
-0000660474 00000 n 
-0000659258 00000 n 
-0000657662 00000 n 
-0000659944 00000 n 
-0000660061 00000 n 
-0000660179 00000 n 
-0000660297 00000 n 
-0000660415 00000 n 
-0000662867 00000 n 
-0000663044 00000 n 
-0000663221 00000 n 
-0000663924 00000 n 
-0000662705 00000 n 
-0000660629 00000 n 
-0000663395 00000 n 
-0000663512 00000 n 
-0000663630 00000 n 
-0000663748 00000 n 
-0000663865 00000 n 
-0003357531 00000 n 
-0000666159 00000 n 
-0000666338 00000 n 
-0000666514 00000 n 
-0000667039 00000 n 
-0000665997 00000 n 
-0000664092 00000 n 
-0000666687 00000 n 
-0000666804 00000 n 
-0000666922 00000 n 
-0000669470 00000 n 
-0000669647 00000 n 
-0000669824 00000 n 
-0000670000 00000 n 
-0000670526 00000 n 
-0000669299 00000 n 
-0000667231 00000 n 
-0000670174 00000 n 
-0000670232 00000 n 
-0000670350 00000 n 
-0000670467 00000 n 
-0000672863 00000 n 
-0000673050 00000 n 
-0000673237 00000 n 
-0000673762 00000 n 
-0000672701 00000 n 
-0000670718 00000 n 
-0000673410 00000 n 
-0000673527 00000 n 
-0000673645 00000 n 
-0000676714 00000 n 
-0000676883 00000 n 
-0000677048 00000 n 
-0000677234 00000 n 
-0000677399 00000 n 
-0000677926 00000 n 
-0000676534 00000 n 
-0000673954 00000 n 
-0000677573 00000 n 
-0000677631 00000 n 
-0000677749 00000 n 
-0000677867 00000 n 
-0000680181 00000 n 
-0000680348 00000 n 
-0000680515 00000 n 
-0000680680 00000 n 
-0000681265 00000 n 
-0000680010 00000 n 
-0000678081 00000 n 
-0000680853 00000 n 
-0000680970 00000 n 
-0000681088 00000 n 
-0000681206 00000 n 
-0000683436 00000 n 
-0000683604 00000 n 
-0000683768 00000 n 
-0000683936 00000 n 
-0000684100 00000 n 
-0000684268 00000 n 
-0000684794 00000 n 
-0000683247 00000 n 
-0000681433 00000 n 
-0000684442 00000 n 
-0000684559 00000 n 
-0000684677 00000 n 
-0003357657 00000 n 
-0000687327 00000 n 
-0000687494 00000 n 
-0000687661 00000 n 
-0000687828 00000 n 
-0000691010 00000 n 
-0000687989 00000 n 
-0000688515 00000 n 
-0000687147 00000 n 
-0000684962 00000 n 
-0000688162 00000 n 
-0000688220 00000 n 
-0003353325 00000 n 
-0000688338 00000 n 
-0000688456 00000 n 
-0000691178 00000 n 
-0000691338 00000 n 
-0000691506 00000 n 
-0000692091 00000 n 
-0000690839 00000 n 
-0000688710 00000 n 
-0000691680 00000 n 
-0000691797 00000 n 
-0000691914 00000 n 
-0000692032 00000 n 
-0000694454 00000 n 
-0000694625 00000 n 
-0000694846 00000 n 
-0000695032 00000 n 
-0000695217 00000 n 
-0000695860 00000 n 
-0000694274 00000 n 
-0000692308 00000 n 
-0000695390 00000 n 
-0000695507 00000 n 
-0000695625 00000 n 
-0000695743 00000 n 
-0000698692 00000 n 
-0000698883 00000 n 
-0000699073 00000 n 
-0000699294 00000 n 
-0000702731 00000 n 
-0000699463 00000 n 
-0000699939 00000 n 
-0000698512 00000 n 
-0000696064 00000 n 
-0000699637 00000 n 
-0000699695 00000 n 
-0000699818 00000 n 
-0000702916 00000 n 
-0000703102 00000 n 
-0000703272 00000 n 
-0000704107 00000 n 
-0000702560 00000 n 
-0000700106 00000 n 
-0000703445 00000 n 
-0000703503 00000 n 
-0000703626 00000 n 
-0000703685 00000 n 
-0000703802 00000 n 
-0000703925 00000 n 
-0000704048 00000 n 
-0000706330 00000 n 
-0000706931 00000 n 
-0000706186 00000 n 
-0000704274 00000 n 
-0000706504 00000 n 
-0000706626 00000 n 
-0000706749 00000 n 
-0000706872 00000 n 
-0003357783 00000 n 
-0000708988 00000 n 
-0000709588 00000 n 
-0000708844 00000 n 
-0000707073 00000 n 
-0000709161 00000 n 
-0000709283 00000 n 
-0000709406 00000 n 
-0000709529 00000 n 
-0000711446 00000 n 
-0000711655 00000 n 
-0000711885 00000 n 
-0000712115 00000 n 
-0000712303 00000 n 
-0000712532 00000 n 
-0000712728 00000 n 
-0000712958 00000 n 
-0000713189 00000 n 
-0000713386 00000 n 
-0000713616 00000 n 
-0000716992 00000 n 
-0000713803 00000 n 
-0000714686 00000 n 
-0000711203 00000 n 
-0000709743 00000 n 
-0000713977 00000 n 
-0000714099 00000 n 
-0000714274 00000 n 
-0000714333 00000 n 
-0000714392 00000 n 
-0000714451 00000 n 
-0000714510 00000 n 
-0000714569 00000 n 
-0000714628 00000 n 
-0000719373 00000 n 
-0000717189 00000 n 
-0000717404 00000 n 
-0000717618 00000 n 
-0000717803 00000 n 
-0000718017 00000 n 
-0000718202 00000 n 
-0000718415 00000 n 
-0000718618 00000 n 
-0000718821 00000 n 
-0000722384 00000 n 
-0000722599 00000 n 
-0000722804 00000 n 
-0000723009 00000 n 
-0000719024 00000 n 
-0000719784 00000 n 
-0000716758 00000 n 
-0000714883 00000 n 
-0000719197 00000 n 
-0000719255 00000 n 
-0000719314 00000 n 
-0000719432 00000 n 
-0000719607 00000 n 
-0000719666 00000 n 
-0000719725 00000 n 
-0000878304 00000 n 
-0000878427 00000 n 
-0000881623 00000 n 
-0000723214 00000 n 
-0000723409 00000 n 
-0000723624 00000 n 
-0000723818 00000 n 
-0000724032 00000 n 
-0000724227 00000 n 
-0000724442 00000 n 
-0000724637 00000 n 
-0000724852 00000 n 
-0000725056 00000 n 
-0000725271 00000 n 
-0000725475 00000 n 
-0000725690 00000 n 
-0000725905 00000 n 
-0000726120 00000 n 
-0000726335 00000 n 
-0000726550 00000 n 
-0000726765 00000 n 
-0000726970 00000 n 
-0000727175 00000 n 
-0000727390 00000 n 
-0000727571 00000 n 
-0000727776 00000 n 
-0000727991 00000 n 
-0000728172 00000 n 
-0000728377 00000 n 
-0000728590 00000 n 
-0000732155 00000 n 
-0000732370 00000 n 
-0000732566 00000 n 
-0000728784 00000 n 
-0000729606 00000 n 
-0000721961 00000 n 
-0000719977 00000 n 
-0000728958 00000 n 
-0000729016 00000 n 
-0000729075 00000 n 
-0000729134 00000 n 
-0000729193 00000 n 
-0000729252 00000 n 
-0000729311 00000 n 
-0000729370 00000 n 
-0000729429 00000 n 
-0000729488 00000 n 
-0000729547 00000 n 
-0000881741 00000 n 
-0000808435 00000 n 
-0000808553 00000 n 
-0000808671 00000 n 
-0000808794 00000 n 
-0000732759 00000 n 
-0000732974 00000 n 
-0000733169 00000 n 
-0000733383 00000 n 
-0000733577 00000 n 
-0000733769 00000 n 
-0000733984 00000 n 
-0000734180 00000 n 
-0000734395 00000 n 
-0000734591 00000 n 
-0000734783 00000 n 
-0000734998 00000 n 
-0000735185 00000 n 
-0000735390 00000 n 
-0000735605 00000 n 
-0000735799 00000 n 
-0000736004 00000 n 
-0000736218 00000 n 
-0000736405 00000 n 
-0000736609 00000 n 
-0000736824 00000 n 
-0000737006 00000 n 
-0000737211 00000 n 
-0000737426 00000 n 
-0000737631 00000 n 
-0000737835 00000 n 
-0000738016 00000 n 
-0000738231 00000 n 
-0000738412 00000 n 
-0000738625 00000 n 
-0000738806 00000 n 
-0000739011 00000 n 
-0000739225 00000 n 
-0000739429 00000 n 
-0000739643 00000 n 
-0000739832 00000 n 
-0000740047 00000 n 
-0000740262 00000 n 
-0000743740 00000 n 
-0000740475 00000 n 
-0000741117 00000 n 
-0000731642 00000 n 
-0000729789 00000 n 
-0000740648 00000 n 
-0000740706 00000 n 
-0000740765 00000 n 
-0000740824 00000 n 
-0000740883 00000 n 
-0000740942 00000 n 
-0000741001 00000 n 
-0000741059 00000 n 
-0000808913 00000 n 
-0000811255 00000 n 
-0000811373 00000 n 
-0000811491 00000 n 
-0000814069 00000 n 
-0000814187 00000 n 
-0000814305 00000 n 
-0000814428 00000 n 
-0000814551 00000 n 
-0000817076 00000 n 
-0000743955 00000 n 
-0000744170 00000 n 
-0000744384 00000 n 
-0000744598 00000 n 
-0000744783 00000 n 
-0000744979 00000 n 
-0000745192 00000 n 
-0000745378 00000 n 
-0000745575 00000 n 
-0000745789 00000 n 
-0000745976 00000 n 
-0000746173 00000 n 
-0000746387 00000 n 
-0000746573 00000 n 
-0000746787 00000 n 
-0000746982 00000 n 
-0000747197 00000 n 
-0000747392 00000 n 
-0000747606 00000 n 
-0000747802 00000 n 
-0000748007 00000 n 
-0000748212 00000 n 
-0000748425 00000 n 
-0000748620 00000 n 
-0000748824 00000 n 
-0000749028 00000 n 
-0000749215 00000 n 
-0000749430 00000 n 
-0000749626 00000 n 
-0000749830 00000 n 
-0000750034 00000 n 
-0000750249 00000 n 
-0000750445 00000 n 
-0000750649 00000 n 
-0000750853 00000 n 
-0000751040 00000 n 
-0000751255 00000 n 
-0000751450 00000 n 
-0000751655 00000 n 
-0000751860 00000 n 
-0000752269 00000 n 
-0000752473 00000 n 
-0000752686 00000 n 
-0000755432 00000 n 
-0000755647 00000 n 
-0000752865 00000 n 
-0000753274 00000 n 
-0000743191 00000 n 
-0000741300 00000 n 
-0000753039 00000 n 
-0000753097 00000 n 
-0000753156 00000 n 
-0000753215 00000 n 
-0000752064 00000 n 
-0003357909 00000 n 
-0000817258 00000 n 
-0000817376 00000 n 
-0000817494 00000 n 
-0000819796 00000 n 
-0000819914 00000 n 
-0000820031 00000 n 
-0000820149 00000 n 
-0000822877 00000 n 
-0000822999 00000 n 
-0000823122 00000 n 
-0000826370 00000 n 
-0000826493 00000 n 
-0000755827 00000 n 
-0000756041 00000 n 
-0000756221 00000 n 
-0000756436 00000 n 
-0000756649 00000 n 
-0000756837 00000 n 
-0000757050 00000 n 
-0000757246 00000 n 
-0000757458 00000 n 
-0000757653 00000 n 
-0000757865 00000 n 
-0000758052 00000 n 
-0000758265 00000 n 
-0000758460 00000 n 
-0000758673 00000 n 
-0000758869 00000 n 
-0000759082 00000 n 
-0000759270 00000 n 
-0000759482 00000 n 
-0000759678 00000 n 
-0000759890 00000 n 
-0000760078 00000 n 
-0000760290 00000 n 
-0000760485 00000 n 
-0000760697 00000 n 
-0000760884 00000 n 
-0000761097 00000 n 
-0000761293 00000 n 
-0000761497 00000 n 
-0000761710 00000 n 
-0000761896 00000 n 
-0000762061 00000 n 
-0000762272 00000 n 
-0000766184 00000 n 
-0000766348 00000 n 
-0000766561 00000 n 
-0000762462 00000 n 
-0000762752 00000 n 
-0000754973 00000 n 
-0000753428 00000 n 
-0000762635 00000 n 
-0000762693 00000 n 
-0000828692 00000 n 
-0000828810 00000 n 
-0000828928 00000 n 
-0000829046 00000 n 
-0000831205 00000 n 
-0000831323 00000 n 
-0000831441 00000 n 
-0000833557 00000 n 
-0000833675 00000 n 
-0000833793 00000 n 
-0000836483 00000 n 
-0000836601 00000 n 
-0000836719 00000 n 
-0000839181 00000 n 
-0000839298 00000 n 
-0000839416 00000 n 
-0000766742 00000 n 
-0000766955 00000 n 
-0000767134 00000 n 
-0000767349 00000 n 
-0000767528 00000 n 
-0000767741 00000 n 
-0000767922 00000 n 
-0000768136 00000 n 
-0000768316 00000 n 
-0000768495 00000 n 
-0000768710 00000 n 
-0000768896 00000 n 
-0000769092 00000 n 
-0000769270 00000 n 
-0000769485 00000 n 
-0000769671 00000 n 
-0000769867 00000 n 
-0000770046 00000 n 
-0000770261 00000 n 
-0000770447 00000 n 
-0000770652 00000 n 
-0000770848 00000 n 
-0000771025 00000 n 
-0000771239 00000 n 
-0000771424 00000 n 
-0000771628 00000 n 
-0000772019 00000 n 
-0000772195 00000 n 
-0000772409 00000 n 
-0000772604 00000 n 
-0000772808 00000 n 
-0000773004 00000 n 
-0000773180 00000 n 
-0000773395 00000 n 
-0000773591 00000 n 
-0000773796 00000 n 
-0000773992 00000 n 
-0000774168 00000 n 
-0000774383 00000 n 
-0000774568 00000 n 
-0000774764 00000 n 
-0000775156 00000 n 
-0000778956 00000 n 
-0000779171 00000 n 
-0000779357 00000 n 
-0000779553 00000 n 
-0000779945 00000 n 
-0000775342 00000 n 
-0000775574 00000 n 
-0000765617 00000 n 
-0000762893 00000 n 
-0000775516 00000 n 
-0000771823 00000 n 
-0000774960 00000 n 
-0000842053 00000 n 
-0000842171 00000 n 
-0000842289 00000 n 
-0000842407 00000 n 
-0000845526 00000 n 
-0000845644 00000 n 
-0000845762 00000 n 
-0000848658 00000 n 
-0000848776 00000 n 
-0000852010 00000 n 
-0000852128 00000 n 
-0000852246 00000 n 
-0000780132 00000 n 
-0000780344 00000 n 
-0000780525 00000 n 
-0000780694 00000 n 
-0000780907 00000 n 
-0000781122 00000 n 
-0000781314 00000 n 
-0000781519 00000 n 
-0000781928 00000 n 
-0000782132 00000 n 
-0000782328 00000 n 
-0000782492 00000 n 
-0000782704 00000 n 
-0000782907 00000 n 
-0000783122 00000 n 
-0000783313 00000 n 
-0000783517 00000 n 
-0000783697 00000 n 
-0000783912 00000 n 
-0000784079 00000 n 
-0000784260 00000 n 
-0000784475 00000 n 
-0000784642 00000 n 
-0000784853 00000 n 
-0000785033 00000 n 
-0000785248 00000 n 
-0000785429 00000 n 
-0000785625 00000 n 
-0000785792 00000 n 
-0000785973 00000 n 
-0000786187 00000 n 
-0000786520 00000 n 
-0000786733 00000 n 
-0000786938 00000 n 
-0000787149 00000 n 
-0000790226 00000 n 
-0000790439 00000 n 
-0000787351 00000 n 
-0000787700 00000 n 
-0000778425 00000 n 
-0000775785 00000 n 
-0000787524 00000 n 
-0000779749 00000 n 
-0000787582 00000 n 
-0000781723 00000 n 
-0000787641 00000 n 
-0000786354 00000 n 
-0000855126 00000 n 
-0000855244 00000 n 
-0000855362 00000 n 
-0000859292 00000 n 
-0000859409 00000 n 
-0000862683 00000 n 
-0000862801 00000 n 
-0000862919 00000 n 
-0000866707 00000 n 
-0000866824 00000 n 
-0000870150 00000 n 
-0000790618 00000 n 
-0000790830 00000 n 
-0000791022 00000 n 
-0000791235 00000 n 
-0000791440 00000 n 
-0000791653 00000 n 
-0000791843 00000 n 
-0000792056 00000 n 
-0000792242 00000 n 
-0000792447 00000 n 
-0000792659 00000 n 
-0000792851 00000 n 
-0000793035 00000 n 
-0000793239 00000 n 
-0000793453 00000 n 
-0000793633 00000 n 
-0000793848 00000 n 
-0000794063 00000 n 
-0000794277 00000 n 
-0000794458 00000 n 
-0000794639 00000 n 
-0000794854 00000 n 
-0000795035 00000 n 
-0000795216 00000 n 
-0000795429 00000 n 
-0000798784 00000 n 
-0000798999 00000 n 
-0000799192 00000 n 
-0000799372 00000 n 
-0000799551 00000 n 
-0000795608 00000 n 
-0000796193 00000 n 
-0000789839 00000 n 
-0000787923 00000 n 
-0000795782 00000 n 
-0000795840 00000 n 
-0000795899 00000 n 
-0000795958 00000 n 
-0000796016 00000 n 
-0000796075 00000 n 
-0000796134 00000 n 
-0000870268 00000 n 
-0000870386 00000 n 
-0000874028 00000 n 
-0000874145 00000 n 
-0000874261 00000 n 
-0000878183 00000 n 
-0000881922 00000 n 
-0000882040 00000 n 
-0000884699 00000 n 
-0000799756 00000 n 
-0000799970 00000 n 
-0000800162 00000 n 
-0000800342 00000 n 
-0000800521 00000 n 
-0000800726 00000 n 
-0000800940 00000 n 
-0000801133 00000 n 
-0000801313 00000 n 
-0000801492 00000 n 
-0000801697 00000 n 
-0000801911 00000 n 
-0000802104 00000 n 
-0000802284 00000 n 
-0000802463 00000 n 
-0000802668 00000 n 
-0000802883 00000 n 
-0000803076 00000 n 
-0000803256 00000 n 
-0000803435 00000 n 
-0000803640 00000 n 
-0000803855 00000 n 
-0000804048 00000 n 
-0000804228 00000 n 
-0000804407 00000 n 
-0000804612 00000 n 
-0000804793 00000 n 
-0000804974 00000 n 
-0000805323 00000 n 
-0000798352 00000 n 
-0000796361 00000 n 
-0000805147 00000 n 
-0000805205 00000 n 
-0000805264 00000 n 
-0000884822 00000 n 
-0000884940 00000 n 
-0000885063 00000 n 
-0000887496 00000 n 
-0000887619 00000 n 
-0000894283 00000 n 
-0000807619 00000 n 
-0000807798 00000 n 
-0000807989 00000 n 
-0000808144 00000 n 
-0000808971 00000 n 
-0000807448 00000 n 
-0000805504 00000 n 
-0000808318 00000 n 
-0000808376 00000 n 
-0000808494 00000 n 
-0000808612 00000 n 
-0000808735 00000 n 
-0000808858 00000 n 
-0003358035 00000 n 
-0000810808 00000 n 
-0000810965 00000 n 
-0000811609 00000 n 
-0000810655 00000 n 
-0000809113 00000 n 
-0000811138 00000 n 
-0000811196 00000 n 
-0000811314 00000 n 
-0000811432 00000 n 
-0000811550 00000 n 
-0000813837 00000 n 
-0000814614 00000 n 
-0000813693 00000 n 
-0000811751 00000 n 
-0000814011 00000 n 
-0000814128 00000 n 
-0000814246 00000 n 
-0000814369 00000 n 
-0000814492 00000 n 
-0000816786 00000 n 
-0000817612 00000 n 
-0000816642 00000 n 
-0000814756 00000 n 
-0000816959 00000 n 
-0000817017 00000 n 
-0000817140 00000 n 
-0000817199 00000 n 
-0000817317 00000 n 
-0000817435 00000 n 
-0000817553 00000 n 
-0000819564 00000 n 
-0000820267 00000 n 
-0000819420 00000 n 
-0000817767 00000 n 
-0000819738 00000 n 
-0000819855 00000 n 
-0000819972 00000 n 
-0000820090 00000 n 
-0000820208 00000 n 
-0000822646 00000 n 
-0000823185 00000 n 
-0000822502 00000 n 
-0000820422 00000 n 
-0000822819 00000 n 
-0000822940 00000 n 
-0000823063 00000 n 
-0000825734 00000 n 
-0000825916 00000 n 
-0000826079 00000 n 
-0000826556 00000 n 
-0000825572 00000 n 
-0000823340 00000 n 
-0000826253 00000 n 
-0000826311 00000 n 
-0000826434 00000 n 
-0003358161 00000 n 
-0000828224 00000 n 
-0000828402 00000 n 
-0000829104 00000 n 
-0000828071 00000 n 
-0000826723 00000 n 
-0000828575 00000 n 
-0000828633 00000 n 
-0000828751 00000 n 
-0000828869 00000 n 
-0000828987 00000 n 
-0000830914 00000 n 
-0000831499 00000 n 
-0000830770 00000 n 
-0000829259 00000 n 
-0000831088 00000 n 
-0000831146 00000 n 
-0000831264 00000 n 
-0000831382 00000 n 
-0000833267 00000 n 
-0000833851 00000 n 
-0000833123 00000 n 
-0000831654 00000 n 
-0000833440 00000 n 
-0000833498 00000 n 
-0000833616 00000 n 
-0000833734 00000 n 
-0000835764 00000 n 
-0000836192 00000 n 
-0000836777 00000 n 
-0000835602 00000 n 
-0000834006 00000 n 
-0000836366 00000 n 
-0000836424 00000 n 
-0000835977 00000 n 
-0000836542 00000 n 
-0000836660 00000 n 
-0000838728 00000 n 
-0000841413 00000 n 
-0000838891 00000 n 
-0000839474 00000 n 
-0000838575 00000 n 
-0000836932 00000 n 
-0000839064 00000 n 
-0000839122 00000 n 
-0000839239 00000 n 
-0000839357 00000 n 
-0000841578 00000 n 
-0000841762 00000 n 
-0000842465 00000 n 
-0000841251 00000 n 
-0000839629 00000 n 
-0000841936 00000 n 
-0000841994 00000 n 
-0000842112 00000 n 
-0000842230 00000 n 
-0000842348 00000 n 
-0003358287 00000 n 
-0000844702 00000 n 
-0000844881 00000 n 
-0000845059 00000 n 
-0000845236 00000 n 
-0000845880 00000 n 
-0000844531 00000 n 
-0000842620 00000 n 
-0000845409 00000 n 
-0000845467 00000 n 
-0000845585 00000 n 
-0000845703 00000 n 
-0000845821 00000 n 
-0000848072 00000 n 
-0000848249 00000 n 
-0000848426 00000 n 
-0000848894 00000 n 
-0000847910 00000 n 
-0000846035 00000 n 
-0000848600 00000 n 
-0000848717 00000 n 
-0000848835 00000 n 
-0000851239 00000 n 
-0000851416 00000 n 
-0000851593 00000 n 
-0000851779 00000 n 
-0000852363 00000 n 
-0000851068 00000 n 
-0000849086 00000 n 
-0000851952 00000 n 
-0000852069 00000 n 
-0000852187 00000 n 
-0000852304 00000 n 
-0000854538 00000 n 
-0000854725 00000 n 
-0000854894 00000 n 
-0000855420 00000 n 
-0000854376 00000 n 
-0000852555 00000 n 
-0000855068 00000 n 
-0000855185 00000 n 
-0000855303 00000 n 
-0000858106 00000 n 
-0000858271 00000 n 
-0000858457 00000 n 
-0000858638 00000 n 
-0000858817 00000 n 
-0000859002 00000 n 
-0000859527 00000 n 
-0000857917 00000 n 
-0000855612 00000 n 
-0000859175 00000 n 
-0000859233 00000 n 
-0000859350 00000 n 
-0000859468 00000 n 
-0000861951 00000 n 
-0000862117 00000 n 
-0000862285 00000 n 
-0000865734 00000 n 
-0000862451 00000 n 
-0000862977 00000 n 
-0000861780 00000 n 
-0000859682 00000 n 
-0000862625 00000 n 
-0000862742 00000 n 
-0000862860 00000 n 
-0003358413 00000 n 
-0000865901 00000 n 
-0000866069 00000 n 
-0000866236 00000 n 
-0000866417 00000 n 
-0000866942 00000 n 
-0000865554 00000 n 
-0000863145 00000 n 
-0000866590 00000 n 
-0000866648 00000 n 
-0000866765 00000 n 
-0000866883 00000 n 
-0000873046 00000 n 
-0000873232 00000 n 
-0000869918 00000 n 
-0000870509 00000 n 
-0000869774 00000 n 
-0000867137 00000 n 
-0000870092 00000 n 
-0000870209 00000 n 
-0000870327 00000 n 
-0000870450 00000 n 
-0000873418 00000 n 
-0000873609 00000 n 
-0000873797 00000 n 
-0000874324 00000 n 
-0000872866 00000 n 
-0000870726 00000 n 
-0000873970 00000 n 
-0000874086 00000 n 
-0000874202 00000 n 
-0000876966 00000 n 
-0000877181 00000 n 
-0000877350 00000 n 
-0000877536 00000 n 
-0000877722 00000 n 
-0000877892 00000 n 
-0000878485 00000 n 
-0000876777 00000 n 
-0000874491 00000 n 
-0000878066 00000 n 
-0000878124 00000 n 
-0000878245 00000 n 
-0000878368 00000 n 
-0000881333 00000 n 
-0000882103 00000 n 
-0000881189 00000 n 
-0000878652 00000 n 
-0000881506 00000 n 
-0000881564 00000 n 
-0000881682 00000 n 
-0000881805 00000 n 
-0000881864 00000 n 
-0000881981 00000 n 
-0000884408 00000 n 
-0000885126 00000 n 
-0000884264 00000 n 
-0000882270 00000 n 
-0000884582 00000 n 
-0000884640 00000 n 
-0000884763 00000 n 
-0000884881 00000 n 
-0000885004 00000 n 
-0003358539 00000 n 
-0000887206 00000 n 
-0000887742 00000 n 
-0000887062 00000 n 
-0000885268 00000 n 
-0000887379 00000 n 
-0000887437 00000 n 
-0000887560 00000 n 
-0000887683 00000 n 
-0000890137 00000 n 
-0000890324 00000 n 
-0000890548 00000 n 
-0000890753 00000 n 
-0000890958 00000 n 
-0000891182 00000 n 
-0000891378 00000 n 
-0000891602 00000 n 
-0000891798 00000 n 
-0000891991 00000 n 
-0000892215 00000 n 
-0000892410 00000 n 
-0000892634 00000 n 
-0000892829 00000 n 
-0000893022 00000 n 
-0000893246 00000 n 
-0000893442 00000 n 
-0000893665 00000 n 
-0000893860 00000 n 
-0000897110 00000 n 
-0000897334 00000 n 
-0000897527 00000 n 
-0000894051 00000 n 
-0000894581 00000 n 
-0000889822 00000 n 
-0000887897 00000 n 
-0000894225 00000 n 
-0000894347 00000 n 
-0000894522 00000 n 
-0000906578 00000 n 
-0000906696 00000 n 
-0000906818 00000 n 
-0000908786 00000 n 
-0000908904 00000 n 
-0000909022 00000 n 
-0000911309 00000 n 
-0000897732 00000 n 
-0000897956 00000 n 
-0000898137 00000 n 
-0000898323 00000 n 
-0000898528 00000 n 
-0000898752 00000 n 
-0000898939 00000 n 
-0000899144 00000 n 
-0000899368 00000 n 
-0000899562 00000 n 
-0000899766 00000 n 
-0000899990 00000 n 
-0000900172 00000 n 
-0000900377 00000 n 
-0000900601 00000 n 
-0000900791 00000 n 
-0000900995 00000 n 
-0000901185 00000 n 
-0000901410 00000 n 
-0000901600 00000 n 
-0000901790 00000 n 
-0000902015 00000 n 
-0000902207 00000 n 
-0000902430 00000 n 
-0000902654 00000 n 
-0000902844 00000 n 
-0000903069 00000 n 
-0000903260 00000 n 
-0000906094 00000 n 
-0000903450 00000 n 
-0000903976 00000 n 
-0000896687 00000 n 
-0000894749 00000 n 
-0000903623 00000 n 
-0000903681 00000 n 
-0000903740 00000 n 
-0000903799 00000 n 
-0000903858 00000 n 
-0000903917 00000 n 
-0000911427 00000 n 
-0000911545 00000 n 
-0000911663 00000 n 
-0000913648 00000 n 
-0000913766 00000 n 
-0000913884 00000 n 
-0000919403 00000 n 
-0000906287 00000 n 
-0000906936 00000 n 
-0000905941 00000 n 
-0000904183 00000 n 
-0000906461 00000 n 
-0000906519 00000 n 
-0000906637 00000 n 
-0000906759 00000 n 
-0000906877 00000 n 
-0000908555 00000 n 
-0000909140 00000 n 
-0000908411 00000 n 
-0000907065 00000 n 
-0000908728 00000 n 
-0000908845 00000 n 
-0000908963 00000 n 
-0000909081 00000 n 
-0000911077 00000 n 
-0000911721 00000 n 
-0000910933 00000 n 
-0000909269 00000 n 
-0000911251 00000 n 
-0000911368 00000 n 
-0000911486 00000 n 
-0000911604 00000 n 
-0003358665 00000 n 
-0000913358 00000 n 
-0000914002 00000 n 
-0000913214 00000 n 
-0000911863 00000 n 
-0000913531 00000 n 
-0000913589 00000 n 
-0000913707 00000 n 
-0000913825 00000 n 
-0000913943 00000 n 
-0000916133 00000 n 
-0000916360 00000 n 
-0000916564 00000 n 
-0000916791 00000 n 
-0000917018 00000 n 
-0000917244 00000 n 
-0000917436 00000 n 
-0000917662 00000 n 
-0000917854 00000 n 
-0000918058 00000 n 
-0000918250 00000 n 
-0000918477 00000 n 
-0000918682 00000 n 
-0000918908 00000 n 
-0000921866 00000 n 
-0000922093 00000 n 
-0000922298 00000 n 
-0000922525 00000 n 
-0000919112 00000 n 
-0000920048 00000 n 
-0000915863 00000 n 
-0000914144 00000 n 
-0000919286 00000 n 
-0000919344 00000 n 
-0000919462 00000 n 
-0000919638 00000 n 
-0000919696 00000 n 
-0000919754 00000 n 
-0000919813 00000 n 
-0000919872 00000 n 
-0000919930 00000 n 
-0000919989 00000 n 
-0000999477 00000 n 
-0000922729 00000 n 
-0000922956 00000 n 
-0000923161 00000 n 
-0000923388 00000 n 
-0000923593 00000 n 
-0000923820 00000 n 
-0000924025 00000 n 
-0000924251 00000 n 
-0000924455 00000 n 
-0000924681 00000 n 
-0000924885 00000 n 
-0000925112 00000 n 
-0000925317 00000 n 
-0000925544 00000 n 
-0000925748 00000 n 
-0000925975 00000 n 
-0000926179 00000 n 
-0000926406 00000 n 
-0000926611 00000 n 
-0000926838 00000 n 
-0000927043 00000 n 
-0000927270 00000 n 
-0000927475 00000 n 
-0000927702 00000 n 
-0000927907 00000 n 
-0000928134 00000 n 
-0000928339 00000 n 
-0000928565 00000 n 
-0000928769 00000 n 
-0000928992 00000 n 
-0000929181 00000 n 
-0000931950 00000 n 
-0000932177 00000 n 
-0000929371 00000 n 
-0000930603 00000 n 
-0000921407 00000 n 
-0000920244 00000 n 
-0000929544 00000 n 
-0000929602 00000 n 
-0000929661 00000 n 
-0000929720 00000 n 
-0000929779 00000 n 
-0000929838 00000 n 
-0000929897 00000 n 
-0000929955 00000 n 
-0000930013 00000 n 
-0000930072 00000 n 
-0000930131 00000 n 
-0000930190 00000 n 
-0000930249 00000 n 
-0000930308 00000 n 
-0000930367 00000 n 
-0000930426 00000 n 
-0000930485 00000 n 
-0000930544 00000 n 
-0000932404 00000 n 
-0000932631 00000 n 
-0000932858 00000 n 
-0000933085 00000 n 
-0000933312 00000 n 
-0000933539 00000 n 
-0000933766 00000 n 
-0000933993 00000 n 
-0000934220 00000 n 
-0000934447 00000 n 
-0000934674 00000 n 
-0000934901 00000 n 
-0000935128 00000 n 
-0000935355 00000 n 
-0000935582 00000 n 
-0000938969 00000 n 
-0000935808 00000 n 
-0000937043 00000 n 
-0000931653 00000 n 
-0000930755 00000 n 
-0000935982 00000 n 
-0000936040 00000 n 
-0000936099 00000 n 
-0000936158 00000 n 
-0000936217 00000 n 
-0000936276 00000 n 
-0000936335 00000 n 
-0000936394 00000 n 
-0000936453 00000 n 
-0000936512 00000 n 
-0000936571 00000 n 
-0000936630 00000 n 
-0000936689 00000 n 
-0000936748 00000 n 
-0000936807 00000 n 
-0000936866 00000 n 
-0000936925 00000 n 
-0000936984 00000 n 
-0000939196 00000 n 
-0000939421 00000 n 
-0000939648 00000 n 
-0000939875 00000 n 
-0000940068 00000 n 
-0000940295 00000 n 
-0000940488 00000 n 
-0000940680 00000 n 
-0000940906 00000 n 
-0000941099 00000 n 
-0000941325 00000 n 
-0000941518 00000 n 
-0000941711 00000 n 
-0000941937 00000 n 
-0000942139 00000 n 
-0000942332 00000 n 
-0000942557 00000 n 
-0000942750 00000 n 
-0000942976 00000 n 
-0000943169 00000 n 
-0000943362 00000 n 
-0000943588 00000 n 
-0000943789 00000 n 
-0000943981 00000 n 
-0000944207 00000 n 
-0000944398 00000 n 
-0000944623 00000 n 
-0000947648 00000 n 
-0000947841 00000 n 
-0000948068 00000 n 
-0000948270 00000 n 
-0000948463 00000 n 
-0000944813 00000 n 
-0000945810 00000 n 
-0000938573 00000 n 
-0000937181 00000 n 
-0000944986 00000 n 
-0000945044 00000 n 
-0000945103 00000 n 
-0000945162 00000 n 
-0000945221 00000 n 
-0000945280 00000 n 
-0000945339 00000 n 
-0000945398 00000 n 
-0000945457 00000 n 
-0000945516 00000 n 
-0000945575 00000 n 
-0000945634 00000 n 
-0000945693 00000 n 
-0000945751 00000 n 
-0000948690 00000 n 
-0000948883 00000 n 
-0000949110 00000 n 
-0000949303 00000 n 
-0000949496 00000 n 
-0000949723 00000 n 
-0000949925 00000 n 
-0000950118 00000 n 
-0000950345 00000 n 
-0000950538 00000 n 
-0000950764 00000 n 
-0000950957 00000 n 
-0000951150 00000 n 
-0000951376 00000 n 
-0000951577 00000 n 
-0000951769 00000 n 
-0000951994 00000 n 
-0000952185 00000 n 
-0000952409 00000 n 
-0000952602 00000 n 
-0000952829 00000 n 
-0000953022 00000 n 
-0000953249 00000 n 
-0000953442 00000 n 
-0000957071 00000 n 
-0000957273 00000 n 
-0000957500 00000 n 
-0000957702 00000 n 
-0000953669 00000 n 
-0000954665 00000 n 
-0000947243 00000 n 
-0000945962 00000 n 
-0000953843 00000 n 
-0000953901 00000 n 
-0000953960 00000 n 
-0000954019 00000 n 
-0000954078 00000 n 
-0000954137 00000 n 
-0000954196 00000 n 
-0000954255 00000 n 
-0000954314 00000 n 
-0000954373 00000 n 
-0000954432 00000 n 
-0000954490 00000 n 
-0000954548 00000 n 
-0000954607 00000 n 
-0003358791 00000 n 
-0000957929 00000 n 
-0000958131 00000 n 
-0000958358 00000 n 
-0000958560 00000 n 
-0000958787 00000 n 
-0000958989 00000 n 
-0000959215 00000 n 
-0000959416 00000 n 
-0000959619 00000 n 
-0000959844 00000 n 
-0000960048 00000 n 
-0000960250 00000 n 
-0000960454 00000 n 
-0000960680 00000 n 
-0000960884 00000 n 
-0000961085 00000 n 
-0000961290 00000 n 
-0000961516 00000 n 
-0000961720 00000 n 
-0000961920 00000 n 
-0000962124 00000 n 
-0000962349 00000 n 
-0000962553 00000 n 
-0000962780 00000 n 
-0000962973 00000 n 
-0000963166 00000 n 
-0000963393 00000 n 
-0000963586 00000 n 
-0000963811 00000 n 
-0000964003 00000 n 
-0000964230 00000 n 
-0000964423 00000 n 
-0000964628 00000 n 
-0000964853 00000 n 
-0000965046 00000 n 
-0000965239 00000 n 
-0000965466 00000 n 
-0000965659 00000 n 
-0000965851 00000 n 
-0000966077 00000 n 
-0000968727 00000 n 
-0000968952 00000 n 
-0000966269 00000 n 
-0000966500 00000 n 
-0000956531 00000 n 
-0000954817 00000 n 
-0000966442 00000 n 
-0000999654 00000 n 
-0000999772 00000 n 
-0000999895 00000 n 
-0001000018 00000 n 
-0001000141 00000 n 
-0001002384 00000 n 
-0001002507 00000 n 
-0001002629 00000 n 
-0001002752 00000 n 
-0001023296 00000 n 
-0001023413 00000 n 
-0001002874 00000 n 
-0001002997 00000 n 
-0001003114 00000 n 
-0001003231 00000 n 
-0000969145 00000 n 
-0000969372 00000 n 
-0000969565 00000 n 
-0000969758 00000 n 
-0000969983 00000 n 
-0000970176 00000 n 
-0000970403 00000 n 
-0000970596 00000 n 
-0000970789 00000 n 
-0000971013 00000 n 
-0000971205 00000 n 
-0000971431 00000 n 
-0000971624 00000 n 
-0000971817 00000 n 
-0000972041 00000 n 
-0000972233 00000 n 
-0000972460 00000 n 
-0000972653 00000 n 
-0000972846 00000 n 
-0000973070 00000 n 
-0000973263 00000 n 
-0000973490 00000 n 
-0000973682 00000 n 
-0000973874 00000 n 
-0000974101 00000 n 
-0000974294 00000 n 
-0000974487 00000 n 
-0000974680 00000 n 
-0000974907 00000 n 
-0000975099 00000 n 
-0000975292 00000 n 
-0000978639 00000 n 
-0000978866 00000 n 
-0000979059 00000 n 
-0000979252 00000 n 
-0000975482 00000 n 
-0000975714 00000 n 
-0000968286 00000 n 
-0000966666 00000 n 
-0000975656 00000 n 
-0001005083 00000 n 
-0001005201 00000 n 
-0001005319 00000 n 
-0001005437 00000 n 
-0001005555 00000 n 
-0001005673 00000 n 
-0001005791 00000 n 
-0001007676 00000 n 
-0001007793 00000 n 
-0001007911 00000 n 
-0001008029 00000 n 
-0001008147 00000 n 
-0000979445 00000 n 
-0000979671 00000 n 
-0000979863 00000 n 
-0000980055 00000 n 
-0000980248 00000 n 
-0000980441 00000 n 
-0000980827 00000 n 
-0000981054 00000 n 
-0000981247 00000 n 
-0000981440 00000 n 
-0000981632 00000 n 
-0000981859 00000 n 
-0000982052 00000 n 
-0000982245 00000 n 
-0000982472 00000 n 
-0000982665 00000 n 
-0000982858 00000 n 
-0000983083 00000 n 
-0000983275 00000 n 
-0000983465 00000 n 
-0000983658 00000 n 
-0000983885 00000 n 
-0000984078 00000 n 
-0000984271 00000 n 
-0000984472 00000 n 
-0000984673 00000 n 
-0000984862 00000 n 
-0000985052 00000 n 
-0000985278 00000 n 
-0000985480 00000 n 
-0000985682 00000 n 
-0000985871 00000 n 
-0000986060 00000 n 
-0000986287 00000 n 
-0000986487 00000 n 
-0000986687 00000 n 
-0000986873 00000 n 
-0000987060 00000 n 
-0000987283 00000 n 
-0000987514 00000 n 
-0000978108 00000 n 
-0000975882 00000 n 
-0000987456 00000 n 
-0000980634 00000 n 
-0003353475 00000 n 
-0001008264 00000 n 
-0001008382 00000 n 
-0001010802 00000 n 
-0001010920 00000 n 
-0001011037 00000 n 
-0001011155 00000 n 
-0001011273 00000 n 
-0001011396 00000 n 
-0001013288 00000 n 
-0001013406 00000 n 
-0000990099 00000 n 
-0000990301 00000 n 
-0000990503 00000 n 
-0000990691 00000 n 
-0000990880 00000 n 
-0000991106 00000 n 
-0000991308 00000 n 
-0000991510 00000 n 
-0000991699 00000 n 
-0000991889 00000 n 
-0000992115 00000 n 
-0000992317 00000 n 
-0000992519 00000 n 
-0000992708 00000 n 
-0000992898 00000 n 
-0000993125 00000 n 
-0000993327 00000 n 
-0000993554 00000 n 
-0000993756 00000 n 
-0000993957 00000 n 
-0000994183 00000 n 
-0000994383 00000 n 
-0000994587 00000 n 
-0000994813 00000 n 
-0000995018 00000 n 
-0000995245 00000 n 
-0000995438 00000 n 
-0000995639 00000 n 
-0000995842 00000 n 
-0000996068 00000 n 
-0000996273 00000 n 
-0000996500 00000 n 
-0000996693 00000 n 
-0000996925 00000 n 
-0000989667 00000 n 
-0000987740 00000 n 
-0000996867 00000 n 
-0001013524 00000 n 
-0001013642 00000 n 
-0001013760 00000 n 
-0001013877 00000 n 
-0001016661 00000 n 
-0001016779 00000 n 
-0001016897 00000 n 
-0001017019 00000 n 
-0001023060 00000 n 
-0000999069 00000 n 
-0001000204 00000 n 
-0000998925 00000 n 
-0000997121 00000 n 
-0000999242 00000 n 
-0000999300 00000 n 
-0000999359 00000 n 
-0000999418 00000 n 
-0000999536 00000 n 
-0000999595 00000 n 
-0000999713 00000 n 
-0000999836 00000 n 
-0000999959 00000 n 
-0001000082 00000 n 
-0001002093 00000 n 
-0001003289 00000 n 
-0001001949 00000 n 
-0001000359 00000 n 
-0001002267 00000 n 
-0001002325 00000 n 
-0001002448 00000 n 
-0001002570 00000 n 
-0001002693 00000 n 
-0001002816 00000 n 
-0001002938 00000 n 
-0001003055 00000 n 
-0001003172 00000 n 
-0003358917 00000 n 
-0001004793 00000 n 
-0001005909 00000 n 
-0001004649 00000 n 
-0001003444 00000 n 
-0001004966 00000 n 
-0001005024 00000 n 
-0001005142 00000 n 
-0001005260 00000 n 
-0001005378 00000 n 
-0001005496 00000 n 
-0001005614 00000 n 
-0001005732 00000 n 
-0001005850 00000 n 
-0001007444 00000 n 
-0001008440 00000 n 
-0001007300 00000 n 
-0001006051 00000 n 
-0001007618 00000 n 
-0001007735 00000 n 
-0001007852 00000 n 
-0001007970 00000 n 
-0001008088 00000 n 
-0001008206 00000 n 
-0001008323 00000 n 
-0001010512 00000 n 
-0001011454 00000 n 
-0001010368 00000 n 
-0001008595 00000 n 
-0001010685 00000 n 
-0001010743 00000 n 
-0001010861 00000 n 
-0001010978 00000 n 
-0001011096 00000 n 
-0001011214 00000 n 
-0001011337 00000 n 
-0001012997 00000 n 
-0001013935 00000 n 
-0001012853 00000 n 
-0001011636 00000 n 
-0001013171 00000 n 
-0001013229 00000 n 
-0001013347 00000 n 
-0001013465 00000 n 
-0001013583 00000 n 
-0001013701 00000 n 
-0001013818 00000 n 
-0001016371 00000 n 
-0001017137 00000 n 
-0001016227 00000 n 
-0001014090 00000 n 
-0001016544 00000 n 
-0001016602 00000 n 
-0001016720 00000 n 
-0001016838 00000 n 
-0001016960 00000 n 
-0001017078 00000 n 
-0001020741 00000 n 
-0001020973 00000 n 
-0001020597 00000 n 
-0001017304 00000 n 
-0001020915 00000 n 
-0003359043 00000 n 
-0001022829 00000 n 
-0001023653 00000 n 
-0001022685 00000 n 
-0001021148 00000 n 
-0001023002 00000 n 
-0001023119 00000 n 
-0001023237 00000 n 
-0001023354 00000 n 
-0001023477 00000 n 
-0001025196 00000 n 
-0001025428 00000 n 
-0001025613 00000 n 
-0001025799 00000 n 
-0001026042 00000 n 
-0001026239 00000 n 
-0001026436 00000 n 
-0001026676 00000 n 
-0001026870 00000 n 
-0001027064 00000 n 
-0001027999 00000 n 
-0001024971 00000 n 
-0001023795 00000 n 
-0001027238 00000 n 
-0001027296 00000 n 
-0001027355 00000 n 
-0001027414 00000 n 
-0001027589 00000 n 
-0001027648 00000 n 
-0001027707 00000 n 
-0001027883 00000 n 
-0001027941 00000 n 
-0001029782 00000 n 
-0001029964 00000 n 
-0001030205 00000 n 
-0001030400 00000 n 
-0001030595 00000 n 
-0001030776 00000 n 
-0001030958 00000 n 
-0001031179 00000 n 
-0001031367 00000 n 
-0001031588 00000 n 
-0001031776 00000 n 
-0001031997 00000 n 
-0001032183 00000 n 
-0001032404 00000 n 
-0001035635 00000 n 
-0001035839 00000 n 
-0001032591 00000 n 
-0001033525 00000 n 
-0001029512 00000 n 
-0001028138 00000 n 
-0001032764 00000 n 
-0001032822 00000 n 
-0001032998 00000 n 
-0001033057 00000 n 
-0001033116 00000 n 
-0001033292 00000 n 
-0001033350 00000 n 
-0001033408 00000 n 
-0001033467 00000 n 
-0001060558 00000 n 
-0001036061 00000 n 
-0001036283 00000 n 
-0001036469 00000 n 
-0001036691 00000 n 
-0001036913 00000 n 
-0001037100 00000 n 
-0001037322 00000 n 
-0001037544 00000 n 
-0001037766 00000 n 
-0001037988 00000 n 
-0001038210 00000 n 
-0001038432 00000 n 
-0001038636 00000 n 
-0001038824 00000 n 
-0001039028 00000 n 
-0001039250 00000 n 
-0001039454 00000 n 
-0001039676 00000 n 
-0001039898 00000 n 
-0001040120 00000 n 
-0001040342 00000 n 
-0001040563 00000 n 
-0001043766 00000 n 
-0001043971 00000 n 
-0001040784 00000 n 
-0001041665 00000 n 
-0001035275 00000 n 
-0001033677 00000 n 
-0001040958 00000 n 
-0001041016 00000 n 
-0001041075 00000 n 
-0001041134 00000 n 
-0001041193 00000 n 
-0001041252 00000 n 
-0001041311 00000 n 
-0001041370 00000 n 
-0001041429 00000 n 
-0001041488 00000 n 
-0001041547 00000 n 
-0001041606 00000 n 
-0001063155 00000 n 
-0001063273 00000 n 
-0001063390 00000 n 
-0001063513 00000 n 
-0001063631 00000 n 
-0001063749 00000 n 
-0001044193 00000 n 
-0001044381 00000 n 
-0001044603 00000 n 
-0001044825 00000 n 
-0001045013 00000 n 
-0001045235 00000 n 
-0001045423 00000 n 
-0001045645 00000 n 
-0001045833 00000 n 
-0001046055 00000 n 
-0001046251 00000 n 
-0001046447 00000 n 
-0001046635 00000 n 
-0001046857 00000 n 
-0001047053 00000 n 
-0001047241 00000 n 
-0001047463 00000 n 
-0001047659 00000 n 
-0001047881 00000 n 
-0001048103 00000 n 
-0001048325 00000 n 
-0001048512 00000 n 
-0001048733 00000 n 
-0001048921 00000 n 
-0001049108 00000 n 
-0001049329 00000 n 
-0001049517 00000 n 
-0001049737 00000 n 
-0001049924 00000 n 
-0001053906 00000 n 
-0001054128 00000 n 
-0001054316 00000 n 
-0001050111 00000 n 
-0001050991 00000 n 
-0001043343 00000 n 
-0001041821 00000 n 
-0001050284 00000 n 
-0001050342 00000 n 
-0001050401 00000 n 
-0001050460 00000 n 
-0001050519 00000 n 
-0001050578 00000 n 
-0001050637 00000 n 
-0001050696 00000 n 
-0001050755 00000 n 
-0001050814 00000 n 
-0001050873 00000 n 
-0001050932 00000 n 
-0001066033 00000 n 
-0001066155 00000 n 
-0001066278 00000 n 
-0001066460 00000 n 
-0001066578 00000 n 
-0001066701 00000 n 
-0001054504 00000 n 
-0001054726 00000 n 
-0001054914 00000 n 
-0001055101 00000 n 
-0001055322 00000 n 
-0001055518 00000 n 
-0001055714 00000 n 
-0001055901 00000 n 
-0001056122 00000 n 
-0001056318 00000 n 
-0001056539 00000 n 
-0001056726 00000 n 
-0001056913 00000 n 
-0001057100 00000 n 
-0001057450 00000 n 
-0001053618 00000 n 
-0001051147 00000 n 
-0001057274 00000 n 
-0001057332 00000 n 
-0001057391 00000 n 
-0003359169 00000 n 
-0001068755 00000 n 
-0001068873 00000 n 
-0001068991 00000 n 
-0001069109 00000 n 
-0001069227 00000 n 
-0001060268 00000 n 
-0001060676 00000 n 
-0001060124 00000 n 
-0001057694 00000 n 
-0001060441 00000 n 
-0001060499 00000 n 
-0001060617 00000 n 
-0001062864 00000 n 
-0001063812 00000 n 
-0001062720 00000 n 
-0001060868 00000 n 
-0001063038 00000 n 
-0001063096 00000 n 
-0001063214 00000 n 
-0001063331 00000 n 
-0001063454 00000 n 
-0001063572 00000 n 
-0001063690 00000 n 
-0001065743 00000 n 
-0001066759 00000 n 
-0001065599 00000 n 
-0001064029 00000 n 
-0001065916 00000 n 
-0001065974 00000 n 
-0001066097 00000 n 
-0001066219 00000 n 
-0001066342 00000 n 
-0001066401 00000 n 
-0001066519 00000 n 
-0001066642 00000 n 
-0001071554 00000 n 
-0001068464 00000 n 
-0001069462 00000 n 
-0001068320 00000 n 
-0001066938 00000 n 
-0001068638 00000 n 
-0001068696 00000 n 
-0001068814 00000 n 
-0001068932 00000 n 
-0001069050 00000 n 
-0001069168 00000 n 
-0001069286 00000 n 
-0001071769 00000 n 
-0001071998 00000 n 
-0001072227 00000 n 
-0001072413 00000 n 
-0001072642 00000 n 
-0001072828 00000 n 
-0001073057 00000 n 
-0001073251 00000 n 
-0001073480 00000 n 
-0001073674 00000 n 
-0001073903 00000 n 
-0001074098 00000 n 
-0001074328 00000 n 
-0001074524 00000 n 
-0001074728 00000 n 
-0001074958 00000 n 
-0001075187 00000 n 
-0001075382 00000 n 
-0001075611 00000 n 
-0001075841 00000 n 
-0001076071 00000 n 
-0001076259 00000 n 
-0001076489 00000 n 
-0001076677 00000 n 
-0001076905 00000 n 
-0001080395 00000 n 
-0001080625 00000 n 
-0001077099 00000 n 
-0001078038 00000 n 
-0001071176 00000 n 
-0001069616 00000 n 
-0001077272 00000 n 
-0001077330 00000 n 
-0001077389 00000 n 
-0001077448 00000 n 
-0001077507 00000 n 
-0001077566 00000 n 
-0001077625 00000 n 
-0001077684 00000 n 
-0001077743 00000 n 
-0001077802 00000 n 
-0001077861 00000 n 
-0001077920 00000 n 
-0001077979 00000 n 
-0001096681 00000 n 
-0001096858 00000 n 
-0001096976 00000 n 
-0001099696 00000 n 
-0001080821 00000 n 
-0001081051 00000 n 
-0001081280 00000 n 
-0001081495 00000 n 
-0001081710 00000 n 
-0001081940 00000 n 
-0001082154 00000 n 
-0001082384 00000 n 
-0001082614 00000 n 
-0001082843 00000 n 
-0001083073 00000 n 
-0001083303 00000 n 
-0001083533 00000 n 
-0001083737 00000 n 
-0001083967 00000 n 
-0001084171 00000 n 
-0001084401 00000 n 
-0001084605 00000 n 
-0001084835 00000 n 
-0001085038 00000 n 
-0001085267 00000 n 
-0001085497 00000 n 
-0001085693 00000 n 
-0001085923 00000 n 
-0001089268 00000 n 
-0001089473 00000 n 
-0001086128 00000 n 
-0001087184 00000 n 
-0001080017 00000 n 
-0001078236 00000 n 
-0001086302 00000 n 
-0001086360 00000 n 
-0001086418 00000 n 
-0001086477 00000 n 
-0001086536 00000 n 
-0001086595 00000 n 
-0001086654 00000 n 
-0001086713 00000 n 
-0001086772 00000 n 
-0001086831 00000 n 
-0001086890 00000 n 
-0001086949 00000 n 
-0001087007 00000 n 
-0001087066 00000 n 
-0001087125 00000 n 
-0003359295 00000 n 
-0001099814 00000 n 
-0001089703 00000 n 
-0001089899 00000 n 
-0001090128 00000 n 
-0001090358 00000 n 
-0001090553 00000 n 
-0001090782 00000 n 
-0001091004 00000 n 
-0001091234 00000 n 
-0001091427 00000 n 
-0001091657 00000 n 
-0001091853 00000 n 
-0001092083 00000 n 
-0001092278 00000 n 
-0001092667 00000 n 
-0001092863 00000 n 
-0001093051 00000 n 
-0001093812 00000 n 
-0001088962 00000 n 
-0001087340 00000 n 
-0001093224 00000 n 
-0001093282 00000 n 
-0001093341 00000 n 
-0001093400 00000 n 
-0001093459 00000 n 
-0001093518 00000 n 
-0001093576 00000 n 
-0001093635 00000 n 
-0001093694 00000 n 
-0001092474 00000 n 
-0001093753 00000 n 
-0001099996 00000 n 
-0001100114 00000 n 
-0001096390 00000 n 
-0001097099 00000 n 
-0001096246 00000 n 
-0001093976 00000 n 
-0001096564 00000 n 
-0001096622 00000 n 
-0001096740 00000 n 
-0001096799 00000 n 
-0001096917 00000 n 
-0001097040 00000 n 
-0001099465 00000 n 
-0001100295 00000 n 
-0001099321 00000 n 
-0001097304 00000 n 
-0001099638 00000 n 
-0001099755 00000 n 
-0001099878 00000 n 
-0001099937 00000 n 
-0001100055 00000 n 
-0001100178 00000 n 
-0001102821 00000 n 
-0001103054 00000 n 
-0001103287 00000 n 
-0001103520 00000 n 
-0001103725 00000 n 
-0001104483 00000 n 
-0001102641 00000 n 
-0001100499 00000 n 
-0001103899 00000 n 
-0001104015 00000 n 
-0001104074 00000 n 
-0001104133 00000 n 
-0001104190 00000 n 
-0001104248 00000 n 
-0001104307 00000 n 
-0001104365 00000 n 
-0001104424 00000 n 
-0001106573 00000 n 
-0001106821 00000 n 
-0001107069 00000 n 
-0001107317 00000 n 
-0001107566 00000 n 
-0001107754 00000 n 
-0001108003 00000 n 
-0001108191 00000 n 
-0001108440 00000 n 
-0001108689 00000 n 
-0001108937 00000 n 
-0001112184 00000 n 
-0001109184 00000 n 
-0001110121 00000 n 
-0001106330 00000 n 
-0001104665 00000 n 
-0001109357 00000 n 
-0001109531 00000 n 
-0001109590 00000 n 
-0001109649 00000 n 
-0001109708 00000 n 
-0001109767 00000 n 
-0001109826 00000 n 
-0001109885 00000 n 
-0001109944 00000 n 
-0001110003 00000 n 
-0001110062 00000 n 
-0001112433 00000 n 
-0001112648 00000 n 
-0001112844 00000 n 
-0001113064 00000 n 
-0001113310 00000 n 
-0001113557 00000 n 
-0001113804 00000 n 
-0001114052 00000 n 
-0001114239 00000 n 
-0001114487 00000 n 
-0001114674 00000 n 
-0001117792 00000 n 
-0001114921 00000 n 
-0001115801 00000 n 
-0001111932 00000 n 
-0001110303 00000 n 
-0001115095 00000 n 
-0001115153 00000 n 
-0001115212 00000 n 
-0001115388 00000 n 
-0001115447 00000 n 
-0001115506 00000 n 
-0001115565 00000 n 
-0001115624 00000 n 
-0001115683 00000 n 
-0001115742 00000 n 
-0003359421 00000 n 
-0001118040 00000 n 
-0001118286 00000 n 
-0001118533 00000 n 
-0001118781 00000 n 
-0001118995 00000 n 
-0001119190 00000 n 
-0001119438 00000 n 
-0001119685 00000 n 
-0001122783 00000 n 
-0001119932 00000 n 
-0001120809 00000 n 
-0001117567 00000 n 
-0001115968 00000 n 
-0001120105 00000 n 
-0001120163 00000 n 
-0001120222 00000 n 
-0001120280 00000 n 
-0001120339 00000 n 
-0001120398 00000 n 
-0001120574 00000 n 
-0001120633 00000 n 
-0001120692 00000 n 
-0001120750 00000 n 
-0001123032 00000 n 
-0001123220 00000 n 
-0001123469 00000 n 
-0001123657 00000 n 
-0001123906 00000 n 
-0001124155 00000 n 
-0001124402 00000 n 
-0001124650 00000 n 
-0001124899 00000 n 
-0001125113 00000 n 
-0001125309 00000 n 
-0001128350 00000 n 
-0001125520 00000 n 
-0001126341 00000 n 
-0001122531 00000 n 
-0001120976 00000 n 
-0001125694 00000 n 
-0001125752 00000 n 
-0001125811 00000 n 
-0001125870 00000 n 
-0001125929 00000 n 
-0001125988 00000 n 
-0001126047 00000 n 
-0001126106 00000 n 
-0001126165 00000 n 
-0001128603 00000 n 
-0001128856 00000 n 
-0001129109 00000 n 
-0001129362 00000 n 
-0001129554 00000 n 
-0001129807 00000 n 
-0001130000 00000 n 
-0001130254 00000 n 
-0001130508 00000 n 
-0001130761 00000 n 
-0001131014 00000 n 
-0001131268 00000 n 
-0001131488 00000 n 
-0001131688 00000 n 
-0001132684 00000 n 
-0001128080 00000 n 
-0001126508 00000 n 
-0001131861 00000 n 
-0001131919 00000 n 
-0001131978 00000 n 
-0001132037 00000 n 
-0001132096 00000 n 
-0001132155 00000 n 
-0001132214 00000 n 
-0001132273 00000 n 
-0001132332 00000 n 
-0001132391 00000 n 
-0001132449 00000 n 
-0001132508 00000 n 
-0001132567 00000 n 
-0001134613 00000 n 
-0001134835 00000 n 
-0001135090 00000 n 
-0001135345 00000 n 
-0001135600 00000 n 
-0001135821 00000 n 
-0001136008 00000 n 
-0001136228 00000 n 
-0001136415 00000 n 
-0001136636 00000 n 
-0001136823 00000 n 
-0001137045 00000 n 
-0001137231 00000 n 
-0001137435 00000 n 
-0001137657 00000 n 
-0001137878 00000 n 
-0001138100 00000 n 
-0001138322 00000 n 
-0001138543 00000 n 
-0001138765 00000 n 
-0001138987 00000 n 
-0001139207 00000 n 
-0001139391 00000 n 
-0001142757 00000 n 
-0001142961 00000 n 
-0001139612 00000 n 
-0001140608 00000 n 
-0001134262 00000 n 
-0001132851 00000 n 
-0001139786 00000 n 
-0001139902 00000 n 
-0001139961 00000 n 
-0001140020 00000 n 
-0001140079 00000 n 
-0001140138 00000 n 
-0001140197 00000 n 
-0001140256 00000 n 
-0001140315 00000 n 
-0001140374 00000 n 
-0001140433 00000 n 
-0001140490 00000 n 
-0001140549 00000 n 
-0001176510 00000 n 
-0001176628 00000 n 
-0001176692 00000 n 
-0001176756 00000 n 
-0001176879 00000 n 
-0001177056 00000 n 
-0001143183 00000 n 
-0001143387 00000 n 
-0001143609 00000 n 
-0001143830 00000 n 
-0001144052 00000 n 
-0001144274 00000 n 
-0001144462 00000 n 
-0001144684 00000 n 
-0001144905 00000 n 
-0001145127 00000 n 
-0001145349 00000 n 
-0001145571 00000 n 
-0001145793 00000 n 
-0001146015 00000 n 
-0001146203 00000 n 
-0001146408 00000 n 
-0001146630 00000 n 
-0001146818 00000 n 
-0001147040 00000 n 
-0001147262 00000 n 
-0001147450 00000 n 
-0001150638 00000 n 
-0001150826 00000 n 
-0001147672 00000 n 
-0001148666 00000 n 
-0001142406 00000 n 
-0001140775 00000 n 
-0001147845 00000 n 
-0001147903 00000 n 
-0001147962 00000 n 
-0001148021 00000 n 
-0001148080 00000 n 
-0001148139 00000 n 
-0001148198 00000 n 
-0001148256 00000 n 
-0001148314 00000 n 
-0001148373 00000 n 
-0001148431 00000 n 
-0001148489 00000 n 
-0001148548 00000 n 
-0001148607 00000 n 
-0001177174 00000 n 
-0001177292 00000 n 
-0001179714 00000 n 
-0001151046 00000 n 
-0001151233 00000 n 
-0001151454 00000 n 
-0001151650 00000 n 
-0001151846 00000 n 
-0001152032 00000 n 
-0001152252 00000 n 
-0001152437 00000 n 
-0001152622 00000 n 
-0001152809 00000 n 
-0001153030 00000 n 
-0001153226 00000 n 
-0001153413 00000 n 
-0001153634 00000 n 
-0001153830 00000 n 
-0001154016 00000 n 
-0001154236 00000 n 
-0001154431 00000 n 
-0001154626 00000 n 
-0001154813 00000 n 
-0001155034 00000 n 
-0001155220 00000 n 
-0001155406 00000 n 
-0001155593 00000 n 
-0001155814 00000 n 
-0001156010 00000 n 
-0001156197 00000 n 
-0001156418 00000 n 
-0001156614 00000 n 
-0001156801 00000 n 
-0001157022 00000 n 
-0001157218 00000 n 
-0001157414 00000 n 
-0001157601 00000 n 
-0001157822 00000 n 
-0001158018 00000 n 
-0001158205 00000 n 
-0001158426 00000 n 
-0001158622 00000 n 
-0001158809 00000 n 
-0001159031 00000 n 
-0001159227 00000 n 
-0001159423 00000 n 
-0001159610 00000 n 
-0001159832 00000 n 
-0001160018 00000 n 
-0001160204 00000 n 
-0001160391 00000 n 
-0001160613 00000 n 
-0001160809 00000 n 
-0001160994 00000 n 
-0001161214 00000 n 
-0001164153 00000 n 
-0001164340 00000 n 
-0001164562 00000 n 
-0001164758 00000 n 
-0001161408 00000 n 
-0001161758 00000 n 
-0001150008 00000 n 
-0001148837 00000 n 
-0001161582 00000 n 
-0001161640 00000 n 
-0001161699 00000 n 
-0003359547 00000 n 
-0001179891 00000 n 
-0001180009 00000 n 
-0001180127 00000 n 
-0001180245 00000 n 
-0001180363 00000 n 
-0001182187 00000 n 
-0001182305 00000 n 
-0001182422 00000 n 
-0001182540 00000 n 
-0001182658 00000 n 
-0001182775 00000 n 
-0001182893 00000 n 
-0001184672 00000 n 
-0001184790 00000 n 
-0001184907 00000 n 
-0001164954 00000 n 
-0001165140 00000 n 
-0001165361 00000 n 
-0001165556 00000 n 
-0001165743 00000 n 
-0001165965 00000 n 
-0001166161 00000 n 
-0001166382 00000 n 
-0001166570 00000 n 
-0001166758 00000 n 
-0001166980 00000 n 
-0001167168 00000 n 
-0001167356 00000 n 
-0001167543 00000 n 
-0001167764 00000 n 
-0001167950 00000 n 
-0001168136 00000 n 
-0001168323 00000 n 
-0001168545 00000 n 
-0001168731 00000 n 
-0001168917 00000 n 
-0001169138 00000 n 
-0001169325 00000 n 
-0001169512 00000 n 
-0001169734 00000 n 
-0001169922 00000 n 
-0001170144 00000 n 
-0001170366 00000 n 
-0001170553 00000 n 
-0001170898 00000 n 
-0001163721 00000 n 
-0001161942 00000 n 
-0001170726 00000 n 
-0001170784 00000 n 
-0001170843 00000 n 
-0001185025 00000 n 
-0001185143 00000 n 
-0001185261 00000 n 
-0001185378 00000 n 
-0001185496 00000 n 
-0001187739 00000 n 
-0001187857 00000 n 
-0001187974 00000 n 
-0001188091 00000 n 
-0001188209 00000 n 
-0001174005 00000 n 
-0001174237 00000 n 
-0001173861 00000 n 
-0001171127 00000 n 
-0001174179 00000 n 
-0001176220 00000 n 
-0001177350 00000 n 
-0001176076 00000 n 
-0001174399 00000 n 
-0001176393 00000 n 
-0001176451 00000 n 
-0001176569 00000 n 
-0001176820 00000 n 
-0001176938 00000 n 
-0001176997 00000 n 
-0001177115 00000 n 
-0001177233 00000 n 
-0001179423 00000 n 
-0001180421 00000 n 
-0001179279 00000 n 
-0001177567 00000 n 
-0001179597 00000 n 
-0001179655 00000 n 
-0001179773 00000 n 
-0001179832 00000 n 
-0001179950 00000 n 
-0001180068 00000 n 
-0001180186 00000 n 
-0001180304 00000 n 
-0001181897 00000 n 
-0001183010 00000 n 
-0001181753 00000 n 
-0001180638 00000 n 
-0001182070 00000 n 
-0001182128 00000 n 
-0001182246 00000 n 
-0001182363 00000 n 
-0001182481 00000 n 
-0001182599 00000 n 
-0001182717 00000 n 
-0001182834 00000 n 
-0001182951 00000 n 
-0001184440 00000 n 
-0001185614 00000 n 
-0001184296 00000 n 
-0001183152 00000 n 
-0001184614 00000 n 
-0001184731 00000 n 
-0001184849 00000 n 
-0001184966 00000 n 
-0001185084 00000 n 
-0001185202 00000 n 
-0001185319 00000 n 
-0001185437 00000 n 
-0001185555 00000 n 
-0003359673 00000 n 
-0001187293 00000 n 
-0001190528 00000 n 
-0001187508 00000 n 
-0001188502 00000 n 
-0001187140 00000 n 
-0001185756 00000 n 
-0001187681 00000 n 
-0001187798 00000 n 
-0001187915 00000 n 
-0001188032 00000 n 
-0001188150 00000 n 
-0001188268 00000 n 
-0001188443 00000 n 
-0001190757 00000 n 
-0001190984 00000 n 
-0001191170 00000 n 
-0001191399 00000 n 
-0001191595 00000 n 
-0001191824 00000 n 
-0001192020 00000 n 
-0001192249 00000 n 
-0001192443 00000 n 
-0001192672 00000 n 
-0001192867 00000 n 
-0001193071 00000 n 
-0001193301 00000 n 
-0001193531 00000 n 
-0001193761 00000 n 
-0001193991 00000 n 
-0001194221 00000 n 
-0001194409 00000 n 
-0001194639 00000 n 
-0001194869 00000 n 
-0001195084 00000 n 
-0001195299 00000 n 
-0001195529 00000 n 
-0001195744 00000 n 
-0001195974 00000 n 
-0001199535 00000 n 
-0001196202 00000 n 
-0001197434 00000 n 
-0001190150 00000 n 
-0001188657 00000 n 
-0001196376 00000 n 
-0001196434 00000 n 
-0001196493 00000 n 
-0001196552 00000 n 
-0001196611 00000 n 
-0001196670 00000 n 
-0001196729 00000 n 
-0001196788 00000 n 
-0001196847 00000 n 
-0001196904 00000 n 
-0001196963 00000 n 
-0001197022 00000 n 
-0001197081 00000 n 
-0001197139 00000 n 
-0001197198 00000 n 
-0001197257 00000 n 
-0001197316 00000 n 
-0001197375 00000 n 
-0001199765 00000 n 
-0001199995 00000 n 
-0001200224 00000 n 
-0001200454 00000 n 
-0001200657 00000 n 
-0001200886 00000 n 
-0001201090 00000 n 
-0001201320 00000 n 
-0001201550 00000 n 
-0001201746 00000 n 
-0001201951 00000 n 
-0001202181 00000 n 
-0001202377 00000 n 
-0001202607 00000 n 
-0001202837 00000 n 
-0001203032 00000 n 
-0001203261 00000 n 
-0001203483 00000 n 
-0001203712 00000 n 
-0001203900 00000 n 
-0001204086 00000 n 
-0001204316 00000 n 
-0001207776 00000 n 
-0001208006 00000 n 
-0001208202 00000 n 
-0001204512 00000 n 
-0001205509 00000 n 
-0001199184 00000 n 
-0001197588 00000 n 
-0001204685 00000 n 
-0001204743 00000 n 
-0001204802 00000 n 
-0001204861 00000 n 
-0001204920 00000 n 
-0001204978 00000 n 
-0001205037 00000 n 
-0001205096 00000 n 
-0001205155 00000 n 
-0001205214 00000 n 
-0001205273 00000 n 
-0001205332 00000 n 
-0001205391 00000 n 
-0001205450 00000 n 
-0001212317 00000 n 
-0001212435 00000 n 
-0001208593 00000 n 
-0001208789 00000 n 
-0001208976 00000 n 
-0001209267 00000 n 
-0001207578 00000 n 
-0001205678 00000 n 
-0001209150 00000 n 
-0001208398 00000 n 
-0001209208 00000 n 
-0001212558 00000 n 
-0001211327 00000 n 
-0001211560 00000 n 
-0001211794 00000 n 
-0001215615 00000 n 
-0001212027 00000 n 
-0001212972 00000 n 
-0001211156 00000 n 
-0001209430 00000 n 
-0001212200 00000 n 
-0001212258 00000 n 
-0001212376 00000 n 
-0001212499 00000 n 
-0001212621 00000 n 
-0001212795 00000 n 
-0001212854 00000 n 
-0001212913 00000 n 
-0001217392 00000 n 
-0001215820 00000 n 
-0001216002 00000 n 
-0001216190 00000 n 
-0001216343 00000 n 
-0001216566 00000 n 
-0001216788 00000 n 
-0001219994 00000 n 
-0001220217 00000 n 
-0001216983 00000 n 
-0001217803 00000 n 
-0001215408 00000 n 
-0001213154 00000 n 
-0001217157 00000 n 
-0001217215 00000 n 
-0001217274 00000 n 
-0001217333 00000 n 
-0001217451 00000 n 
-0001217627 00000 n 
-0001217685 00000 n 
-0001217744 00000 n 
-0003359799 00000 n 
-0001220413 00000 n 
-0001220635 00000 n 
-0001220823 00000 n 
-0001221046 00000 n 
-0001221267 00000 n 
-0001221455 00000 n 
-0001221676 00000 n 
-0001221865 00000 n 
-0001222086 00000 n 
-0001222275 00000 n 
-0001222495 00000 n 
-0001222682 00000 n 
-0001222853 00000 n 
-0001223075 00000 n 
-0001223264 00000 n 
-0001223487 00000 n 
-0001223676 00000 n 
-0001223897 00000 n 
-0001224086 00000 n 
-0001224308 00000 n 
-0001224497 00000 n 
-0001224686 00000 n 
-0001224909 00000 n 
-0001225098 00000 n 
-0001225287 00000 n 
-0001225510 00000 n 
-0001229206 00000 n 
-0001229429 00000 n 
-0001229617 00000 n 
-0001225699 00000 n 
-0001226694 00000 n 
-0001219598 00000 n 
-0001217986 00000 n 
-0001225872 00000 n 
-0001225930 00000 n 
-0001225989 00000 n 
-0001226048 00000 n 
-0001226107 00000 n 
-0001226166 00000 n 
-0001226225 00000 n 
-0001226283 00000 n 
-0001226342 00000 n 
-0001226401 00000 n 
-0001226460 00000 n 
-0001226519 00000 n 
-0001226577 00000 n 
-0001226635 00000 n 
-0001236533 00000 n 
-0001236651 00000 n 
-0001236769 00000 n 
-0001229994 00000 n 
-0001230216 00000 n 
-0001230439 00000 n 
-0001230662 00000 n 
-0001230884 00000 n 
-0001231072 00000 n 
-0001231295 00000 n 
-0001231484 00000 n 
-0001231688 00000 n 
-0001231911 00000 n 
-0001232115 00000 n 
-0001232338 00000 n 
-0001232561 00000 n 
-0001232784 00000 n 
-0001232937 00000 n 
-0001233089 00000 n 
-0001234146 00000 n 
-0001228891 00000 n 
-0001226875 00000 n 
-0001233263 00000 n 
-0001229806 00000 n 
-0001233321 00000 n 
-0001233380 00000 n 
-0001233439 00000 n 
-0001233498 00000 n 
-0001233557 00000 n 
-0001233616 00000 n 
-0001233675 00000 n 
-0001233734 00000 n 
-0001233793 00000 n 
-0001233851 00000 n 
-0001233910 00000 n 
-0001233969 00000 n 
-0001234028 00000 n 
-0001234087 00000 n 
-0001236887 00000 n 
-0001236243 00000 n 
-0001237297 00000 n 
-0001236099 00000 n 
-0001234329 00000 n 
-0001236416 00000 n 
-0001236474 00000 n 
-0001236592 00000 n 
-0001236710 00000 n 
-0001236828 00000 n 
-0001236946 00000 n 
-0001237121 00000 n 
-0001237180 00000 n 
-0001239190 00000 n 
-0001239382 00000 n 
-0001239603 00000 n 
-0001239857 00000 n 
-0001240111 00000 n 
-0001240364 00000 n 
-0001240618 00000 n 
-0001240838 00000 n 
-0001241024 00000 n 
-0001241242 00000 n 
-0001241428 00000 n 
-0001241649 00000 n 
-0001241836 00000 n 
-0001242040 00000 n 
-0001242261 00000 n 
-0001242480 00000 n 
-0001242700 00000 n 
-0001242921 00000 n 
-0001243142 00000 n 
-0001243363 00000 n 
-0001243584 00000 n 
-0001243805 00000 n 
-0001243991 00000 n 
-0001247482 00000 n 
-0001247686 00000 n 
-0001244212 00000 n 
-0001245150 00000 n 
-0001238839 00000 n 
-0001237453 00000 n 
-0001244386 00000 n 
-0001244502 00000 n 
-0001244561 00000 n 
-0001244620 00000 n 
-0001244679 00000 n 
-0001244738 00000 n 
-0001244797 00000 n 
-0001244856 00000 n 
-0001244915 00000 n 
-0001244974 00000 n 
-0001245033 00000 n 
-0001245091 00000 n 
-0001277169 00000 n 
-0001277287 00000 n 
-0001277351 00000 n 
-0001277415 00000 n 
-0001277479 00000 n 
-0001285648 00000 n 
-0001285766 00000 n 
-0001247907 00000 n 
-0001248110 00000 n 
-0001248330 00000 n 
-0001248551 00000 n 
-0001248738 00000 n 
-0001248959 00000 n 
-0001249179 00000 n 
-0001249400 00000 n 
-0001249621 00000 n 
-0001249841 00000 n 
-0001250062 00000 n 
-0001250283 00000 n 
-0001250469 00000 n 
-0001250656 00000 n 
-0001250877 00000 n 
-0001251073 00000 n 
-0001251260 00000 n 
-0001251481 00000 n 
-0001251677 00000 n 
-0001251864 00000 n 
-0001252085 00000 n 
-0001252281 00000 n 
-0001252467 00000 n 
-0001252688 00000 n 
-0001252882 00000 n 
-0001253087 00000 n 
-0001253308 00000 n 
-0001253495 00000 n 
-0001256932 00000 n 
-0001253715 00000 n 
-0001254595 00000 n 
-0001247068 00000 n 
-0001245317 00000 n 
-0001253888 00000 n 
-0001253946 00000 n 
-0001254005 00000 n 
-0001254064 00000 n 
-0001254123 00000 n 
-0001254182 00000 n 
-0001254241 00000 n 
-0001254300 00000 n 
-0001254359 00000 n 
-0001254418 00000 n 
-0001254477 00000 n 
-0001254536 00000 n 
-0001285884 00000 n 
-0001282682 00000 n 
-0001282800 00000 n 
-0001282918 00000 n 
-0001283036 00000 n 
-0001257153 00000 n 
-0001257340 00000 n 
-0001257561 00000 n 
-0001257748 00000 n 
-0001257969 00000 n 
-0001258190 00000 n 
-0001258377 00000 n 
-0001258597 00000 n 
-0001258783 00000 n 
-0001258969 00000 n 
-0001259189 00000 n 
-0001259374 00000 n 
-0001259561 00000 n 
-0001259782 00000 n 
-0001259969 00000 n 
-0001260156 00000 n 
-0001260377 00000 n 
-0001260570 00000 n 
-0001260756 00000 n 
-0001260943 00000 n 
-0001261148 00000 n 
-0001261369 00000 n 
-0001261562 00000 n 
-0001261747 00000 n 
-0001261933 00000 n 
-0001262137 00000 n 
-0001262357 00000 n 
-0001262550 00000 n 
-0001262736 00000 n 
-0001262923 00000 n 
-0001263128 00000 n 
-0001263347 00000 n 
-0001263539 00000 n 
-0001263725 00000 n 
-0001263912 00000 n 
-0001264117 00000 n 
-0001264336 00000 n 
-0001264527 00000 n 
-0001264711 00000 n 
-0001264896 00000 n 
-0001268998 00000 n 
-0001269218 00000 n 
-0001269410 00000 n 
-0001269596 00000 n 
-0001269783 00000 n 
-0001265099 00000 n 
-0001265567 00000 n 
-0001256419 00000 n 
-0001254751 00000 n 
-0001265273 00000 n 
-0001265331 00000 n 
-0001265390 00000 n 
-0001265449 00000 n 
-0001265508 00000 n 
-0003359925 00000 n 
-0001286060 00000 n 
-0001286178 00000 n 
-0001286296 00000 n 
-0001288667 00000 n 
-0001288784 00000 n 
-0001288902 00000 n 
-0001291356 00000 n 
-0001291473 00000 n 
-0001293876 00000 n 
-0001269988 00000 n 
-0001270209 00000 n 
-0001270430 00000 n 
-0001270616 00000 n 
-0001270778 00000 n 
-0001271068 00000 n 
-0001268773 00000 n 
-0001265747 00000 n 
-0001270951 00000 n 
-0001271009 00000 n 
-0001293994 00000 n 
-0001294112 00000 n 
-0001273891 00000 n 
-0001274123 00000 n 
-0001273747 00000 n 
-0001271362 00000 n 
-0001274065 00000 n 
-0001276654 00000 n 
-0001276879 00000 n 
-0001277542 00000 n 
-0001276501 00000 n 
-0001274311 00000 n 
-0001277052 00000 n 
-0001277110 00000 n 
-0001277228 00000 n 
-0001554122 00000 n 
-0001279445 00000 n 
-0001279630 00000 n 
-0001279850 00000 n 
-0001280036 00000 n 
-0001280257 00000 n 
-0001280443 00000 n 
-0001280883 00000 n 
-0001281113 00000 n 
-0001281325 00000 n 
-0001281512 00000 n 
-0001281953 00000 n 
-0001282181 00000 n 
-0001282391 00000 n 
-0001283153 00000 n 
-0001279175 00000 n 
-0001277732 00000 n 
-0001282565 00000 n 
-0001282623 00000 n 
-0001282741 00000 n 
-0001282859 00000 n 
-0001282977 00000 n 
-0001280664 00000 n 
-0001283094 00000 n 
-0001281733 00000 n 
-0001649620 00000 n 
-0001284964 00000 n 
-0001285190 00000 n 
-0001285417 00000 n 
-0001286354 00000 n 
-0001284802 00000 n 
-0001283282 00000 n 
-0001285590 00000 n 
-0001285707 00000 n 
-0001285825 00000 n 
-0001285943 00000 n 
-0001286002 00000 n 
-0001286119 00000 n 
-0001286237 00000 n 
-0001558532 00000 n 
-0001558650 00000 n 
-0001288376 00000 n 
-0001288960 00000 n 
-0001288232 00000 n 
-0001286509 00000 n 
-0001288550 00000 n 
-0001288608 00000 n 
-0001288725 00000 n 
-0001288843 00000 n 
-0003360051 00000 n 
-0001291066 00000 n 
-0001291591 00000 n 
-0001290922 00000 n 
-0001289115 00000 n 
-0001291239 00000 n 
-0001291297 00000 n 
-0001291414 00000 n 
-0001291532 00000 n 
-0001293644 00000 n 
-0001294170 00000 n 
-0001293500 00000 n 
-0001291746 00000 n 
-0001293818 00000 n 
-0001293935 00000 n 
-0001294053 00000 n 
-0001296134 00000 n 
-0001296334 00000 n 
-0001296548 00000 n 
-0001296775 00000 n 
-0001297003 00000 n 
-0001297190 00000 n 
-0001297418 00000 n 
-0001297613 00000 n 
-0001297841 00000 n 
-0001298035 00000 n 
-0001298262 00000 n 
-0001298457 00000 n 
-0001298661 00000 n 
-0001298890 00000 n 
-0001299117 00000 n 
-0001299345 00000 n 
-0001302772 00000 n 
-0001299531 00000 n 
-0001300527 00000 n 
-0001295846 00000 n 
-0001294338 00000 n 
-0001299704 00000 n 
-0001299762 00000 n 
-0001299938 00000 n 
-0001299997 00000 n 
-0001300056 00000 n 
-0001300115 00000 n 
-0001300174 00000 n 
-0001300232 00000 n 
-0001300291 00000 n 
-0001300350 00000 n 
-0001300409 00000 n 
-0001300468 00000 n 
-0001303001 00000 n 
-0001303230 00000 n 
-0001303444 00000 n 
-0001303658 00000 n 
-0001303887 00000 n 
-0001304100 00000 n 
-0001304329 00000 n 
-0001304558 00000 n 
-0001304787 00000 n 
-0001305016 00000 n 
-0001305245 00000 n 
-0001305474 00000 n 
-0001305678 00000 n 
-0001305907 00000 n 
-0001306111 00000 n 
-0001306340 00000 n 
-0001306569 00000 n 
-0001306763 00000 n 
-0001306967 00000 n 
-0001307195 00000 n 
-0001307390 00000 n 
-0001307619 00000 n 
-0001307846 00000 n 
-0001308040 00000 n 
-0001308268 00000 n 
-0001308487 00000 n 
-0001309544 00000 n 
-0001302394 00000 n 
-0001300724 00000 n 
-0001308661 00000 n 
-0001308719 00000 n 
-0001308778 00000 n 
-0001308837 00000 n 
-0001308896 00000 n 
-0001308955 00000 n 
-0001309014 00000 n 
-0001309073 00000 n 
-0001309132 00000 n 
-0001309191 00000 n 
-0001309250 00000 n 
-0001309309 00000 n 
-0001309368 00000 n 
-0001309426 00000 n 
-0001309485 00000 n 
-0001317974 00000 n 
-0001318092 00000 n 
-0001312399 00000 n 
-0001312628 00000 n 
-0001312822 00000 n 
-0001313050 00000 n 
-0001313245 00000 n 
-0001313633 00000 n 
-0001313828 00000 n 
-0001314014 00000 n 
-0001314363 00000 n 
-0001312183 00000 n 
-0001309700 00000 n 
-0001314187 00000 n 
-0001314245 00000 n 
-0001313440 00000 n 
-0001314304 00000 n 
-0001322932 00000 n 
-0001323050 00000 n 
-0001316849 00000 n 
-0001317222 00000 n 
-0001317456 00000 n 
-0001317683 00000 n 
-0001318210 00000 n 
-0001316669 00000 n 
-0001314564 00000 n 
-0001317857 00000 n 
-0001317915 00000 n 
-0001318033 00000 n 
-0001317036 00000 n 
-0001318151 00000 n 
-0003360177 00000 n 
-0001592640 00000 n 
-0001320357 00000 n 
-0001320592 00000 n 
-0001320814 00000 n 
-0001321003 00000 n 
-0001321227 00000 n 
-0001321417 00000 n 
-0001321622 00000 n 
-0001321844 00000 n 
-0001322034 00000 n 
-0001322236 00000 n 
-0001322455 00000 n 
-0001322642 00000 n 
-0001323349 00000 n 
-0001320114 00000 n 
-0001318375 00000 n 
-0001322815 00000 n 
-0001322873 00000 n 
-0001322991 00000 n 
-0001323114 00000 n 
-0001323290 00000 n 
-0001592763 00000 n 
-0001338521 00000 n 
-0001338639 00000 n 
-0001338757 00000 n 
-0001338875 00000 n 
-0001325836 00000 n 
-0001326058 00000 n 
-0001326248 00000 n 
-0001326470 00000 n 
-0001326660 00000 n 
-0001326849 00000 n 
-0001327069 00000 n 
-0001327258 00000 n 
-0001327479 00000 n 
-0001327669 00000 n 
-0001327859 00000 n 
-0001328081 00000 n 
-0001328271 00000 n 
-0001328461 00000 n 
-0001328650 00000 n 
-0001328872 00000 n 
-0001329062 00000 n 
-0001329252 00000 n 
-0001329442 00000 n 
-0001329666 00000 n 
-0001329855 00000 n 
-0001330045 00000 n 
-0001330235 00000 n 
-0001330425 00000 n 
-0001330615 00000 n 
-0001330836 00000 n 
-0001331025 00000 n 
-0001331214 00000 n 
-0001331402 00000 n 
-0001331624 00000 n 
-0001331814 00000 n 
-0001332004 00000 n 
-0001332194 00000 n 
-0001332416 00000 n 
-0001332606 00000 n 
-0001332796 00000 n 
-0001332985 00000 n 
-0001333206 00000 n 
-0001333395 00000 n 
-0001333584 00000 n 
-0001333806 00000 n 
-0001333996 00000 n 
-0001334186 00000 n 
-0001334408 00000 n 
-0001334598 00000 n 
-0001334788 00000 n 
-0001334978 00000 n 
-0001335200 00000 n 
-0001335390 00000 n 
-0001335580 00000 n 
-0001335804 00000 n 
-0001335994 00000 n 
-0001336184 00000 n 
-0001336373 00000 n 
-0001336543 00000 n 
-0001336891 00000 n 
-0001325206 00000 n 
-0001323518 00000 n 
-0001336717 00000 n 
-0001336775 00000 n 
-0001336833 00000 n 
-0001338993 00000 n 
-0001339111 00000 n 
-0001339229 00000 n 
-0001339347 00000 n 
-0001339464 00000 n 
-0001341527 00000 n 
-0001341645 00000 n 
-0001341763 00000 n 
-0001341886 00000 n 
-0001342004 00000 n 
-0001342121 00000 n 
-0001342239 00000 n 
-0001347095 00000 n 
-0001347213 00000 n 
-0001338231 00000 n 
-0001339522 00000 n 
-0001338087 00000 n 
-0001337077 00000 n 
-0001338404 00000 n 
-0001338462 00000 n 
-0001338580 00000 n 
-0001338698 00000 n 
-0001338816 00000 n 
-0001338934 00000 n 
-0001339052 00000 n 
-0001339170 00000 n 
-0001339288 00000 n 
-0001339405 00000 n 
-0001341236 00000 n 
-0001342297 00000 n 
-0001341092 00000 n 
-0001339651 00000 n 
-0001341410 00000 n 
-0001341468 00000 n 
-0001341586 00000 n 
-0001341704 00000 n 
-0001341827 00000 n 
-0001341945 00000 n 
-0001342063 00000 n 
-0001342180 00000 n 
-0001344335 00000 n 
-0001344540 00000 n 
-0001344756 00000 n 
-0001344971 00000 n 
-0001345175 00000 n 
-0001345380 00000 n 
-0001345595 00000 n 
-0001345791 00000 n 
-0001346006 00000 n 
-0001346201 00000 n 
-0001346394 00000 n 
-0001346609 00000 n 
-0001350193 00000 n 
-0001350408 00000 n 
-0001350603 00000 n 
-0001346805 00000 n 
-0001347629 00000 n 
-0001344083 00000 n 
-0001342479 00000 n 
-0001346978 00000 n 
-0001347036 00000 n 
-0001347154 00000 n 
-0001347277 00000 n 
-0001347452 00000 n 
-0001347511 00000 n 
-0001347570 00000 n 
-0001437148 00000 n 
-0001437266 00000 n 
-0001439253 00000 n 
-0001439371 00000 n 
-0001350796 00000 n 
-0001351011 00000 n 
-0001351212 00000 n 
-0001351427 00000 n 
-0001351627 00000 n 
-0001351820 00000 n 
-0001352035 00000 n 
-0001352216 00000 n 
-0001352402 00000 n 
-0001352607 00000 n 
-0001352822 00000 n 
-0001353009 00000 n 
-0001353214 00000 n 
-0001353428 00000 n 
-0001353621 00000 n 
-0001353825 00000 n 
-0001354040 00000 n 
-0001354228 00000 n 
-0001354432 00000 n 
-0001354647 00000 n 
-0001354829 00000 n 
-0001355034 00000 n 
-0001355215 00000 n 
-0001355430 00000 n 
-0001355612 00000 n 
-0001355817 00000 n 
-0001356032 00000 n 
-0001356237 00000 n 
-0001356453 00000 n 
-0001356623 00000 n 
-0001356818 00000 n 
-0001357031 00000 n 
-0001357227 00000 n 
-0001357442 00000 n 
-0001357638 00000 n 
-0001357854 00000 n 
-0001358048 00000 n 
-0001361054 00000 n 
-0001361255 00000 n 
-0001358262 00000 n 
-0001358905 00000 n 
-0001349689 00000 n 
-0001347811 00000 n 
-0001358436 00000 n 
-0001358494 00000 n 
-0001358553 00000 n 
-0001358612 00000 n 
-0001358671 00000 n 
-0001358729 00000 n 
-0001358788 00000 n 
-0001358847 00000 n 
-0003360303 00000 n 
-0001439489 00000 n 
-0001441606 00000 n 
-0001441723 00000 n 
-0001441841 00000 n 
-0001443962 00000 n 
-0001444080 00000 n 
-0001444198 00000 n 
-0001446471 00000 n 
-0001361470 00000 n 
-0001361671 00000 n 
-0001361886 00000 n 
-0001362083 00000 n 
-0001362298 00000 n 
-0001362485 00000 n 
-0001362682 00000 n 
-0001362897 00000 n 
-0001363089 00000 n 
-0001363286 00000 n 
-0001363501 00000 n 
-0001363687 00000 n 
-0001363883 00000 n 
-0001364097 00000 n 
-0001364283 00000 n 
-0001364499 00000 n 
-0001364715 00000 n 
-0001364929 00000 n 
-0001365144 00000 n 
-0001365325 00000 n 
-0001365541 00000 n 
-0001365757 00000 n 
-0001365972 00000 n 
-0001366185 00000 n 
-0001366368 00000 n 
-0001366584 00000 n 
-0001366780 00000 n 
-0001366996 00000 n 
-0001367191 00000 n 
-0001367406 00000 n 
-0001367602 00000 n 
-0001367807 00000 n 
-0001371498 00000 n 
-0001371713 00000 n 
-0001371909 00000 n 
-0001372114 00000 n 
-0001372319 00000 n 
-0001368012 00000 n 
-0001368833 00000 n 
-0001360604 00000 n 
-0001359088 00000 n 
-0001368185 00000 n 
-0001368243 00000 n 
-0001368302 00000 n 
-0001368361 00000 n 
-0001368420 00000 n 
-0001368479 00000 n 
-0001368538 00000 n 
-0001368597 00000 n 
-0001368656 00000 n 
-0001368715 00000 n 
-0001368774 00000 n 
-0001446648 00000 n 
-0001446766 00000 n 
-0001446889 00000 n 
-0001447007 00000 n 
-0001449461 00000 n 
-0001449579 00000 n 
-0001449697 00000 n 
-0001372506 00000 n 
-0001372722 00000 n 
-0001372918 00000 n 
-0001373122 00000 n 
-0001373326 00000 n 
-0001373542 00000 n 
-0001373738 00000 n 
-0001373942 00000 n 
-0001374146 00000 n 
-0001374332 00000 n 
-0001374548 00000 n 
-0001374743 00000 n 
-0001374948 00000 n 
-0001375153 00000 n 
-0001375562 00000 n 
-0001375766 00000 n 
-0001375929 00000 n 
-0001376145 00000 n 
-0001376327 00000 n 
-0001376543 00000 n 
-0001376724 00000 n 
-0001376939 00000 n 
-0001377153 00000 n 
-0001377341 00000 n 
-0001377554 00000 n 
-0001377746 00000 n 
-0001377960 00000 n 
-0001378155 00000 n 
-0001378369 00000 n 
-0001378565 00000 n 
-0001378777 00000 n 
-0001378963 00000 n 
-0001379177 00000 n 
-0001379373 00000 n 
-0001379587 00000 n 
-0001379783 00000 n 
-0001379994 00000 n 
-0001383189 00000 n 
-0001383401 00000 n 
-0001380180 00000 n 
-0001380412 00000 n 
-0001370967 00000 n 
-0001368974 00000 n 
-0001380354 00000 n 
-0001375357 00000 n 
-0001453093 00000 n 
-0001453216 00000 n 
-0001453339 00000 n 
-0001456533 00000 n 
-0001456656 00000 n 
-0001458918 00000 n 
-0001459036 00000 n 
-0001459154 00000 n 
-0001459277 00000 n 
-0001461394 00000 n 
-0001461512 00000 n 
-0001461630 00000 n 
-0001463628 00000 n 
-0001463746 00000 n 
-0001463864 00000 n 
-0001383595 00000 n 
-0001383809 00000 n 
-0001383997 00000 n 
-0001384210 00000 n 
-0001384406 00000 n 
-0001384620 00000 n 
-0001384821 00000 n 
-0001385034 00000 n 
-0001385234 00000 n 
-0001385448 00000 n 
-0001385634 00000 n 
-0001385799 00000 n 
-0001386013 00000 n 
-0001386205 00000 n 
-0001386370 00000 n 
-0001386584 00000 n 
-0001386766 00000 n 
-0001386980 00000 n 
-0001387161 00000 n 
-0001387377 00000 n 
-0001387558 00000 n 
-0001387771 00000 n 
-0001387950 00000 n 
-0001388127 00000 n 
-0001388341 00000 n 
-0001388521 00000 n 
-0001388700 00000 n 
-0001388916 00000 n 
-0001389102 00000 n 
-0001389298 00000 n 
-0001389473 00000 n 
-0001389689 00000 n 
-0001389875 00000 n 
-0001390071 00000 n 
-0001390246 00000 n 
-0001390461 00000 n 
-0001390646 00000 n 
-0001390850 00000 n 
-0001394895 00000 n 
-0001395066 00000 n 
-0001395282 00000 n 
-0001395468 00000 n 
-0001395673 00000 n 
-0001391045 00000 n 
-0001391276 00000 n 
-0001382685 00000 n 
-0001380553 00000 n 
-0001391218 00000 n 
-0001465677 00000 n 
-0001465795 00000 n 
-0001465913 00000 n 
-0001466031 00000 n 
-0001468339 00000 n 
-0001468457 00000 n 
-0001468574 00000 n 
-0001471274 00000 n 
-0001471392 00000 n 
-0001471510 00000 n 
-0001471628 00000 n 
-0001474618 00000 n 
-0001474736 00000 n 
-0001474854 00000 n 
-0001474972 00000 n 
-0001396065 00000 n 
-0001396235 00000 n 
-0001396451 00000 n 
-0001396647 00000 n 
-0001396852 00000 n 
-0001397048 00000 n 
-0001397219 00000 n 
-0001397435 00000 n 
-0001397631 00000 n 
-0001397836 00000 n 
-0001398032 00000 n 
-0001398202 00000 n 
-0001398418 00000 n 
-0001398603 00000 n 
-0001398799 00000 n 
-0001399191 00000 n 
-0001399378 00000 n 
-0001399594 00000 n 
-0001399780 00000 n 
-0001399976 00000 n 
-0001400367 00000 n 
-0001400554 00000 n 
-0001400767 00000 n 
-0001400949 00000 n 
-0001401114 00000 n 
-0001401330 00000 n 
-0001401522 00000 n 
-0001401727 00000 n 
-0001402136 00000 n 
-0001402340 00000 n 
-0001402536 00000 n 
-0001402702 00000 n 
-0001402916 00000 n 
-0001403120 00000 n 
-0001403335 00000 n 
-0001403525 00000 n 
-0001403728 00000 n 
-0001403942 00000 n 
-0001404156 00000 n 
-0001404337 00000 n 
-0001404498 00000 n 
-0001404710 00000 n 
-0001404891 00000 n 
-0001408129 00000 n 
-0001408341 00000 n 
-0001405049 00000 n 
-0001405340 00000 n 
-0001394283 00000 n 
-0001391417 00000 n 
-0001405223 00000 n 
-0001395869 00000 n 
-0001398995 00000 n 
-0001400172 00000 n 
-0001401931 00000 n 
-0001405281 00000 n 
-0001477748 00000 n 
-0001477866 00000 n 
-0001480994 00000 n 
-0001481112 00000 n 
-0001484374 00000 n 
-0001484492 00000 n 
-0001484610 00000 n 
-0001488281 00000 n 
-0001488399 00000 n 
-0001488514 00000 n 
-0001491791 00000 n 
-0001408522 00000 n 
-0001408684 00000 n 
-0001408900 00000 n 
-0001409082 00000 n 
-0001409278 00000 n 
-0001409439 00000 n 
-0001409654 00000 n 
-0001409835 00000 n 
-0001410030 00000 n 
-0001410192 00000 n 
-0001410406 00000 n 
-0001410587 00000 n 
-0001410782 00000 n 
-0001410943 00000 n 
-0001411157 00000 n 
-0001411362 00000 n 
-0001411552 00000 n 
-0001411765 00000 n 
-0001411968 00000 n 
-0001412158 00000 n 
-0001412372 00000 n 
-0001412553 00000 n 
-0001412724 00000 n 
-0001412937 00000 n 
-0001413129 00000 n 
-0001413343 00000 n 
-0001413548 00000 n 
-0001413927 00000 n 
-0001414141 00000 n 
-0001414332 00000 n 
-0001414546 00000 n 
-0001414732 00000 n 
-0001414937 00000 n 
-0001415150 00000 n 
-0001415342 00000 n 
-0001415526 00000 n 
-0001415742 00000 n 
-0001415954 00000 n 
-0001418706 00000 n 
-0001416134 00000 n 
-0001416482 00000 n 
-0001407616 00000 n 
-0001405536 00000 n 
-0001416307 00000 n 
-0001413738 00000 n 
-0001416365 00000 n 
-0001416424 00000 n 
-0001491909 00000 n 
-0001492027 00000 n 
-0001495360 00000 n 
-0001495478 00000 n 
-0001498741 00000 n 
-0001498859 00000 n 
-0001498977 00000 n 
-0001502889 00000 n 
-0001503007 00000 n 
-0001503125 00000 n 
-0001507134 00000 n 
-0001507256 00000 n 
-0001418920 00000 n 
-0001419134 00000 n 
-0001419348 00000 n 
-0001419564 00000 n 
-0001419780 00000 n 
-0001419984 00000 n 
-0001420197 00000 n 
-0001420402 00000 n 
-0001420616 00000 n 
-0001420832 00000 n 
-0001421037 00000 n 
-0001421253 00000 n 
-0001421434 00000 n 
-0001421650 00000 n 
-0001421866 00000 n 
-0001422081 00000 n 
-0001422263 00000 n 
-0001422445 00000 n 
-0001422661 00000 n 
-0001422842 00000 n 
-0001423056 00000 n 
-0001423235 00000 n 
-0001427282 00000 n 
-0001427498 00000 n 
-0001427680 00000 n 
-0001423415 00000 n 
-0001424355 00000 n 
-0001418355 00000 n 
-0001416650 00000 n 
-0001423589 00000 n 
-0001423647 00000 n 
-0001423706 00000 n 
-0001423765 00000 n 
-0001423824 00000 n 
-0001423883 00000 n 
-0001423942 00000 n 
-0001424001 00000 n 
-0001424060 00000 n 
-0001424119 00000 n 
-0001424178 00000 n 
-0001424237 00000 n 
-0001424296 00000 n 
-0003360429 00000 n 
-0001510482 00000 n 
-0001510662 00000 n 
-0001510780 00000 n 
-0001510903 00000 n 
-0001427862 00000 n 
-0001428043 00000 n 
-0001428210 00000 n 
-0001428380 00000 n 
-0001428670 00000 n 
-0001427084 00000 n 
-0001424524 00000 n 
-0001428553 00000 n 
-0001428611 00000 n 
-0001511026 00000 n 
-0001430690 00000 n 
-0001430922 00000 n 
-0001430546 00000 n 
-0001428847 00000 n 
-0001430864 00000 n 
-0001433993 00000 n 
-0001434224 00000 n 
-0001433849 00000 n 
-0001431071 00000 n 
-0001434166 00000 n 
-0001436857 00000 n 
-0001437384 00000 n 
-0001436713 00000 n 
-0001434398 00000 n 
-0001437031 00000 n 
-0001437089 00000 n 
-0001437207 00000 n 
-0001437325 00000 n 
-0001439022 00000 n 
-0001439607 00000 n 
-0001438878 00000 n 
-0001437601 00000 n 
-0001439195 00000 n 
-0001439312 00000 n 
-0001439430 00000 n 
-0001439548 00000 n 
-0001441374 00000 n 
-0001441959 00000 n 
-0001441230 00000 n 
-0001439736 00000 n 
-0001441548 00000 n 
-0001441665 00000 n 
-0001441782 00000 n 
-0001441900 00000 n 
-0003360555 00000 n 
-0001443731 00000 n 
-0001444256 00000 n 
-0001443587 00000 n 
-0001442101 00000 n 
-0001443904 00000 n 
-0001444021 00000 n 
-0001444139 00000 n 
-0001446180 00000 n 
-0001447070 00000 n 
-0001446036 00000 n 
-0001444398 00000 n 
-0001446354 00000 n 
-0001446412 00000 n 
-0001446530 00000 n 
-0001446589 00000 n 
-0001446707 00000 n 
-0001446830 00000 n 
-0001446948 00000 n 
-0001448985 00000 n 
-0001449171 00000 n 
-0001449815 00000 n 
-0001448832 00000 n 
-0001447212 00000 n 
-0001449344 00000 n 
-0001449402 00000 n 
-0001449520 00000 n 
-0001449638 00000 n 
-0001449756 00000 n 
-0001452488 00000 n 
-0001452675 00000 n 
-0001452861 00000 n 
-0001453402 00000 n 
-0001452326 00000 n 
-0001449957 00000 n 
-0001453035 00000 n 
-0001453157 00000 n 
-0001453280 00000 n 
-0001455895 00000 n 
-0001456081 00000 n 
-0001456243 00000 n 
-0001456719 00000 n 
-0001455733 00000 n 
-0001453544 00000 n 
-0001456416 00000 n 
-0001456474 00000 n 
-0001456597 00000 n 
-0001458627 00000 n 
-0001459335 00000 n 
-0001458483 00000 n 
-0001456861 00000 n 
-0001458801 00000 n 
-0001458859 00000 n 
-0001458977 00000 n 
-0001459095 00000 n 
-0001459218 00000 n 
-0003360681 00000 n 
-0001461104 00000 n 
-0001461747 00000 n 
-0001460960 00000 n 
-0001459477 00000 n 
-0001461277 00000 n 
-0001461335 00000 n 
-0001461453 00000 n 
-0001461571 00000 n 
-0001461688 00000 n 
-0001463396 00000 n 
-0001463982 00000 n 
-0001463252 00000 n 
-0001461889 00000 n 
-0001463570 00000 n 
-0001463687 00000 n 
-0001463805 00000 n 
-0001463923 00000 n 
-0001465446 00000 n 
-0001466089 00000 n 
-0001465302 00000 n 
-0001464124 00000 n 
-0001465619 00000 n 
-0001465736 00000 n 
-0001465854 00000 n 
-0001465972 00000 n 
-0001467885 00000 n 
-0001470456 00000 n 
-0001468048 00000 n 
-0001468632 00000 n 
-0001467732 00000 n 
-0001466231 00000 n 
-0001468222 00000 n 
-0001468280 00000 n 
-0001468398 00000 n 
-0001468515 00000 n 
-0001470621 00000 n 
-0001470807 00000 n 
-0001470984 00000 n 
-0001471746 00000 n 
-0001470285 00000 n 
-0001468759 00000 n 
-0001471157 00000 n 
-0001471215 00000 n 
-0001471333 00000 n 
-0001471451 00000 n 
-0001471569 00000 n 
-0001471687 00000 n 
-0001473857 00000 n 
-0001474036 00000 n 
-0001474211 00000 n 
-0001474386 00000 n 
-0001475030 00000 n 
-0001473686 00000 n 
-0001471873 00000 n 
-0001474560 00000 n 
-0001474677 00000 n 
-0001474795 00000 n 
-0001474913 00000 n 
-0003360807 00000 n 
-0001477117 00000 n 
-0001477287 00000 n 
-0001477458 00000 n 
-0001477924 00000 n 
-0001476955 00000 n 
-0001475172 00000 n 
-0001477631 00000 n 
-0001477689 00000 n 
-0001477807 00000 n 
-0001480175 00000 n 
-0001480346 00000 n 
-0001480517 00000 n 
-0001480703 00000 n 
-0001481230 00000 n 
-0001480004 00000 n 
-0001478103 00000 n 
-0001480877 00000 n 
-0001480935 00000 n 
-0001481053 00000 n 
-0001481171 00000 n 
-0001483629 00000 n 
-0001483815 00000 n 
-0001483980 00000 n 
-0001487083 00000 n 
-0001484143 00000 n 
-0001484728 00000 n 
-0001483458 00000 n 
-0001481409 00000 n 
-0001484316 00000 n 
-0001484433 00000 n 
-0001484551 00000 n 
-0001484669 00000 n 
-0001487269 00000 n 
-0001487485 00000 n 
-0001487649 00000 n 
-0001487863 00000 n 
-0001490498 00000 n 
-0001488049 00000 n 
-0001488572 00000 n 
-0001486894 00000 n 
-0001484907 00000 n 
-0001488223 00000 n 
-0001488340 00000 n 
-0001488456 00000 n 
-0001490659 00000 n 
-0001490831 00000 n 
-0001490993 00000 n 
-0001491166 00000 n 
-0001491328 00000 n 
-0001491501 00000 n 
-0001492085 00000 n 
-0001490300 00000 n 
-0001488714 00000 n 
-0001491674 00000 n 
-0001491732 00000 n 
-0001491850 00000 n 
-0001491968 00000 n 
-0001494070 00000 n 
-0001494231 00000 n 
-0001494404 00000 n 
-0001494566 00000 n 
-0001494739 00000 n 
-0001494899 00000 n 
-0001495069 00000 n 
-0001495596 00000 n 
-0001493872 00000 n 
-0001492240 00000 n 
-0001495243 00000 n 
-0001495301 00000 n 
-0001495419 00000 n 
-0001495537 00000 n 
-0003360933 00000 n 
-0001497701 00000 n 
-0001497890 00000 n 
-0001498106 00000 n 
-0001498294 00000 n 
-0001501268 00000 n 
-0001501440 00000 n 
-0001498510 00000 n 
-0001499035 00000 n 
-0001497521 00000 n 
-0001495751 00000 n 
-0001498683 00000 n 
-0001498800 00000 n 
-0001498918 00000 n 
-0001501656 00000 n 
-0001501842 00000 n 
-0001502028 00000 n 
-0001502407 00000 n 
-0001502598 00000 n 
-0001503241 00000 n 
-0001501061 00000 n 
-0001499224 00000 n 
-0001502772 00000 n 
-0001502830 00000 n 
-0001502948 00000 n 
-0001503066 00000 n 
-0001502218 00000 n 
-0001503182 00000 n 
-0001506099 00000 n 
-0001506289 00000 n 
-0001506503 00000 n 
-0001506718 00000 n 
-0001509849 00000 n 
-0001510035 00000 n 
-0001506903 00000 n 
-0001507378 00000 n 
-0001505919 00000 n 
-0001503396 00000 n 
-0001507076 00000 n 
-0001507198 00000 n 
-0001507319 00000 n 
-0001513073 00000 n 
-0001510250 00000 n 
-0001511207 00000 n 
-0001509687 00000 n 
-0001507530 00000 n 
-0001510424 00000 n 
-0001510546 00000 n 
-0001510605 00000 n 
-0001510721 00000 n 
-0001510844 00000 n 
-0001510967 00000 n 
-0001511090 00000 n 
-0001513255 00000 n 
-0001513462 00000 n 
-0001513644 00000 n 
-0001513872 00000 n 
-0001514100 00000 n 
-0001514281 00000 n 
-0001514509 00000 n 
-0001514704 00000 n 
-0001514932 00000 n 
-0001515161 00000 n 
-0001515356 00000 n 
-0001515584 00000 n 
-0001515765 00000 n 
-0001515946 00000 n 
-0001516141 00000 n 
-0001516322 00000 n 
-0001517258 00000 n 
-0001512785 00000 n 
-0001511374 00000 n 
-0001516495 00000 n 
-0001516611 00000 n 
-0001516670 00000 n 
-0001516729 00000 n 
-0001516788 00000 n 
-0001516847 00000 n 
-0001516906 00000 n 
-0001516965 00000 n 
-0001517024 00000 n 
-0001517083 00000 n 
-0001517142 00000 n 
-0001517200 00000 n 
-0001519190 00000 n 
-0001519376 00000 n 
-0001519603 00000 n 
-0001519863 00000 n 
-0001520123 00000 n 
-0001520383 00000 n 
-0001520609 00000 n 
-0001520802 00000 n 
-0001521027 00000 n 
-0001521219 00000 n 
-0001521446 00000 n 
-0001521639 00000 n 
-0001521830 00000 n 
-0001522056 00000 n 
-0001522242 00000 n 
-0001522446 00000 n 
-0001522673 00000 n 
-0001522893 00000 n 
-0001523120 00000 n 
-0001523347 00000 n 
-0001523574 00000 n 
-0001527116 00000 n 
-0001523801 00000 n 
-0001524798 00000 n 
-0001518857 00000 n 
-0001517440 00000 n 
-0001523975 00000 n 
-0001524150 00000 n 
-0001524209 00000 n 
-0001524268 00000 n 
-0001524327 00000 n 
-0001524386 00000 n 
-0001524445 00000 n 
-0001524504 00000 n 
-0001524562 00000 n 
-0001524621 00000 n 
-0001524680 00000 n 
-0001524739 00000 n 
-0003361059 00000 n 
-0001554240 00000 n 
-0001554304 00000 n 
-0001554368 00000 n 
-0001527343 00000 n 
-0001527570 00000 n 
-0001527797 00000 n 
-0001527983 00000 n 
-0001528210 00000 n 
-0001528414 00000 n 
-0001528641 00000 n 
-0001528845 00000 n 
-0001529072 00000 n 
-0001529299 00000 n 
-0001529492 00000 n 
-0001529719 00000 n 
-0001529912 00000 n 
-0001530139 00000 n 
-0001530343 00000 n 
-0001530536 00000 n 
-0001530763 00000 n 
-0001530990 00000 n 
-0001531217 00000 n 
-0001531444 00000 n 
-0001531671 00000 n 
-0001531898 00000 n 
-0001532125 00000 n 
-0001532351 00000 n 
-0001532543 00000 n 
-0001532769 00000 n 
-0001536002 00000 n 
-0001536195 00000 n 
-0001536422 00000 n 
-0001532961 00000 n 
-0001533959 00000 n 
-0001526729 00000 n 
-0001524977 00000 n 
-0001533134 00000 n 
-0001533192 00000 n 
-0001533251 00000 n 
-0001533310 00000 n 
-0001533369 00000 n 
-0001533428 00000 n 
-0001533487 00000 n 
-0001533546 00000 n 
-0001533605 00000 n 
-0001533664 00000 n 
-0001533723 00000 n 
-0001533782 00000 n 
-0001533841 00000 n 
-0001533900 00000 n 
-0001558768 00000 n 
-0001558886 00000 n 
-0001536616 00000 n 
-0001536808 00000 n 
-0001537035 00000 n 
-0001537231 00000 n 
-0001537424 00000 n 
-0001537651 00000 n 
-0001537847 00000 n 
-0001538052 00000 n 
-0001538279 00000 n 
-0001538471 00000 n 
-0001538698 00000 n 
-0001538925 00000 n 
-0001539118 00000 n 
-0001539345 00000 n 
-0001539572 00000 n 
-0001539765 00000 n 
-0001539992 00000 n 
-0001540185 00000 n 
-0001540570 00000 n 
-0001540796 00000 n 
-0001540989 00000 n 
-0001541182 00000 n 
-0001541409 00000 n 
-0001541602 00000 n 
-0001541794 00000 n 
-0001542021 00000 n 
-0001545833 00000 n 
-0001542248 00000 n 
-0001542834 00000 n 
-0001535588 00000 n 
-0001534130 00000 n 
-0001542422 00000 n 
-0001542480 00000 n 
-0001542539 00000 n 
-0001542598 00000 n 
-0001542657 00000 n 
-0001542716 00000 n 
-0001542775 00000 n 
-0001540378 00000 n 
-0001554491 00000 n 
-0001554609 00000 n 
-0001554727 00000 n 
-0001561134 00000 n 
-0001561252 00000 n 
-0001561370 00000 n 
-0001561488 00000 n 
-0001561606 00000 n 
-0001546026 00000 n 
-0001546316 00000 n 
-0001545680 00000 n 
-0001543000 00000 n 
-0001546199 00000 n 
-0001546257 00000 n 
-0001549587 00000 n 
-0001549819 00000 n 
-0001549443 00000 n 
-0001546567 00000 n 
-0001549761 00000 n 
-0001552137 00000 n 
-0001552357 00000 n 
-0001552550 00000 n 
-0001552777 00000 n 
-0001552969 00000 n 
-0001553195 00000 n 
-0001553390 00000 n 
-0001553620 00000 n 
-0001553832 00000 n 
-0001554785 00000 n 
-0001551921 00000 n 
-0001550033 00000 n 
-0001554005 00000 n 
-0001554063 00000 n 
-0001554181 00000 n 
-0001554432 00000 n 
-0001554550 00000 n 
-0001554668 00000 n 
-0001556743 00000 n 
-0001556936 00000 n 
-0001557163 00000 n 
-0001557359 00000 n 
-0001557589 00000 n 
-0001557801 00000 n 
-0001558021 00000 n 
-0001558241 00000 n 
-0001558949 00000 n 
-0001556536 00000 n 
-0001554927 00000 n 
-0001558415 00000 n 
-0001558473 00000 n 
-0001558591 00000 n 
-0001558709 00000 n 
-0001558827 00000 n 
-0003361185 00000 n 
-0001563838 00000 n 
-0001560785 00000 n 
-0001561840 00000 n 
-0001560641 00000 n 
-0001559091 00000 n 
-0001560958 00000 n 
-0001561016 00000 n 
-0001561075 00000 n 
-0001561193 00000 n 
-0001561311 00000 n 
-0001561429 00000 n 
-0001561547 00000 n 
-0001561665 00000 n 
-0001564032 00000 n 
-0001564252 00000 n 
-0001564486 00000 n 
-0001564719 00000 n 
-0001564911 00000 n 
-0001565145 00000 n 
-0001565350 00000 n 
-0001565584 00000 n 
-0001565784 00000 n 
-0001566018 00000 n 
-0001566218 00000 n 
-0001566453 00000 n 
-0001566653 00000 n 
-0001566857 00000 n 
-0001567092 00000 n 
-0001567327 00000 n 
-0001567562 00000 n 
-0001567755 00000 n 
-0001567990 00000 n 
-0001568183 00000 n 
-0001568417 00000 n 
-0001568617 00000 n 
-0001568852 00000 n 
-0001569087 00000 n 
-0001569305 00000 n 
-0001572673 00000 n 
-0001572908 00000 n 
-0001569523 00000 n 
-0001570580 00000 n 
-0001563460 00000 n 
-0001561995 00000 n 
-0001569697 00000 n 
-0001569755 00000 n 
-0001569814 00000 n 
-0001569873 00000 n 
-0001569932 00000 n 
-0001569991 00000 n 
-0001570050 00000 n 
-0001570109 00000 n 
-0001570168 00000 n 
-0001570227 00000 n 
-0001570286 00000 n 
-0001570345 00000 n 
-0001570404 00000 n 
-0001570463 00000 n 
-0001570522 00000 n 
-0001592522 00000 n 
-0001573128 00000 n 
-0001573332 00000 n 
-0001573567 00000 n 
-0001573770 00000 n 
-0001574004 00000 n 
-0001574208 00000 n 
-0001574443 00000 n 
-0001574678 00000 n 
-0001574913 00000 n 
-0001575114 00000 n 
-0001575348 00000 n 
-0001575583 00000 n 
-0001575818 00000 n 
-0001576053 00000 n 
-0001576288 00000 n 
-0001576523 00000 n 
-0001576727 00000 n 
-0001576962 00000 n 
-0001577165 00000 n 
-0001577399 00000 n 
-0001577634 00000 n 
-0001577835 00000 n 
-0001578040 00000 n 
-0001578275 00000 n 
-0001582113 00000 n 
-0001578474 00000 n 
-0001579530 00000 n 
-0001572295 00000 n 
-0001570734 00000 n 
-0001578647 00000 n 
-0001578705 00000 n 
-0001578764 00000 n 
-0001578823 00000 n 
-0001578882 00000 n 
-0001578941 00000 n 
-0001579000 00000 n 
-0001579059 00000 n 
-0001579118 00000 n 
-0001579176 00000 n 
-0001579235 00000 n 
-0001579294 00000 n 
-0001579353 00000 n 
-0001579412 00000 n 
-0001579471 00000 n 
-0001582348 00000 n 
-0001582583 00000 n 
-0001582784 00000 n 
-0001583019 00000 n 
-0001583246 00000 n 
-0001583480 00000 n 
-0001583681 00000 n 
-0001583882 00000 n 
-0001584117 00000 n 
-0001584318 00000 n 
-0001584553 00000 n 
-0001584754 00000 n 
-0001585155 00000 n 
-0001585356 00000 n 
-0001585549 00000 n 
-0001586135 00000 n 
-0001581825 00000 n 
-0001579686 00000 n 
-0001585723 00000 n 
-0001585781 00000 n 
-0001585840 00000 n 
-0001585899 00000 n 
-0001585958 00000 n 
-0001586017 00000 n 
-0001584955 00000 n 
-0001586076 00000 n 
-0001592940 00000 n 
-0001593058 00000 n 
-0001593176 00000 n 
-0001588692 00000 n 
-0001588923 00000 n 
-0001588548 00000 n 
-0001586299 00000 n 
-0001588865 00000 n 
-0001591155 00000 n 
-0001591539 00000 n 
-0001591767 00000 n 
-0001592002 00000 n 
-0001592231 00000 n 
-0001593239 00000 n 
-0001590966 00000 n 
-0001589110 00000 n 
-0001592405 00000 n 
-0001592463 00000 n 
-0001592581 00000 n 
-0001592704 00000 n 
-0001591347 00000 n 
-0001592822 00000 n 
-0001592881 00000 n 
-0001592999 00000 n 
-0001593117 00000 n 
-0003361311 00000 n 
-0001595040 00000 n 
-0001595246 00000 n 
-0001595473 00000 n 
-0001595700 00000 n 
-0001595927 00000 n 
-0001596115 00000 n 
-0001596341 00000 n 
-0001596534 00000 n 
-0001596761 00000 n 
-0001596988 00000 n 
-0001597181 00000 n 
-0001597408 00000 n 
-0001597636 00000 n 
-0001597824 00000 n 
-0001598758 00000 n 
-0001594779 00000 n 
-0001593394 00000 n 
-0001597997 00000 n 
-0001598055 00000 n 
-0001598230 00000 n 
-0001598289 00000 n 
-0001598348 00000 n 
-0001598407 00000 n 
-0001598466 00000 n 
-0001598525 00000 n 
-0001598584 00000 n 
-0001598642 00000 n 
-0001598700 00000 n 
-0001603336 00000 n 
-0001601100 00000 n 
-0001601297 00000 n 
-0001601517 00000 n 
-0001601703 00000 n 
-0001601921 00000 n 
-0001602125 00000 n 
-0001602345 00000 n 
-0001602549 00000 n 
-0001602769 00000 n 
-0001606479 00000 n 
-0001606691 00000 n 
-0001602986 00000 n 
-0001603922 00000 n 
-0001600875 00000 n 
-0001598969 00000 n 
-0001603160 00000 n 
-0001603218 00000 n 
-0001603277 00000 n 
-0001603395 00000 n 
-0001603570 00000 n 
-0001603629 00000 n 
-0001603688 00000 n 
-0001603747 00000 n 
-0001603805 00000 n 
-0001603864 00000 n 
-0001606910 00000 n 
-0001607122 00000 n 
-0001607342 00000 n 
-0001607554 00000 n 
-0001607993 00000 n 
-0001608213 00000 n 
-0001608392 00000 n 
-0001608611 00000 n 
-0001608823 00000 n 
-0001609261 00000 n 
-0001609466 00000 n 
-0001609677 00000 n 
-0001610114 00000 n 
-0001610319 00000 n 
-0001610531 00000 n 
-0001610751 00000 n 
-0001610962 00000 n 
-0001614522 00000 n 
-0001614742 00000 n 
-0001614927 00000 n 
-0001611182 00000 n 
-0001611647 00000 n 
-0001606137 00000 n 
-0001604130 00000 n 
-0001611355 00000 n 
-0001611413 00000 n 
-0001611471 00000 n 
-0001611530 00000 n 
-0001607774 00000 n 
-0001609042 00000 n 
-0001609895 00000 n 
-0001611589 00000 n 
-0001615886 00000 n 
-0001616004 00000 n 
-0001618856 00000 n 
-0001618974 00000 n 
-0001619091 00000 n 
-0001619209 00000 n 
-0001615298 00000 n 
-0001615477 00000 n 
-0001616122 00000 n 
-0001614333 00000 n 
-0001611828 00000 n 
-0001615651 00000 n 
-0001615113 00000 n 
-0001615709 00000 n 
-0001615768 00000 n 
-0001615827 00000 n 
-0001615945 00000 n 
-0001616063 00000 n 
-0001621732 00000 n 
-0001618625 00000 n 
-0001619272 00000 n 
-0001618481 00000 n 
-0001616304 00000 n 
-0001618798 00000 n 
-0001618915 00000 n 
-0001619033 00000 n 
-0001619150 00000 n 
-0001621382 00000 n 
-0001622375 00000 n 
-0001621238 00000 n 
-0001619454 00000 n 
-0001621556 00000 n 
-0001621614 00000 n 
-0001621673 00000 n 
-0001621791 00000 n 
-0001621967 00000 n 
-0001622026 00000 n 
-0001622202 00000 n 
-0001622260 00000 n 
-0003361437 00000 n 
-0001624533 00000 n 
-0001624751 00000 n 
-0001624979 00000 n 
-0001625208 00000 n 
-0001625435 00000 n 
-0001625630 00000 n 
-0001625859 00000 n 
-0001626087 00000 n 
-0001626314 00000 n 
-0001626499 00000 n 
-0001626727 00000 n 
-0001626915 00000 n 
-0001627143 00000 n 
-0001627329 00000 n 
-0001627557 00000 n 
-0001630829 00000 n 
-0001631057 00000 n 
-0001627750 00000 n 
-0001628566 00000 n 
-0001624254 00000 n 
-0001622544 00000 n 
-0001627923 00000 n 
-0001628039 00000 n 
-0001628098 00000 n 
-0001628273 00000 n 
-0001628332 00000 n 
-0001628391 00000 n 
-0001628450 00000 n 
-0001628507 00000 n 
-0001666183 00000 n 
-0001666301 00000 n 
-0001669422 00000 n 
-0001669544 00000 n 
-0001631245 00000 n 
-0001631449 00000 n 
-0001631679 00000 n 
-0001631909 00000 n 
-0001632095 00000 n 
-0001632325 00000 n 
-0001632555 00000 n 
-0001632785 00000 n 
-0001632988 00000 n 
-0001633217 00000 n 
-0001633421 00000 n 
-0001633651 00000 n 
-0001633881 00000 n 
-0001634111 00000 n 
-0001634341 00000 n 
-0001634571 00000 n 
-0001634801 00000 n 
-0001635031 00000 n 
-0001635261 00000 n 
-0001635457 00000 n 
-0001635662 00000 n 
-0001635892 00000 n 
-0001639042 00000 n 
-0001636086 00000 n 
-0001637202 00000 n 
-0001630469 00000 n 
-0001628732 00000 n 
-0001636260 00000 n 
-0001636318 00000 n 
-0001636377 00000 n 
-0001636436 00000 n 
-0001636495 00000 n 
-0001636554 00000 n 
-0001636613 00000 n 
-0001636672 00000 n 
-0001636731 00000 n 
-0001636789 00000 n 
-0001636848 00000 n 
-0001636907 00000 n 
-0001636966 00000 n 
-0001637025 00000 n 
-0001637084 00000 n 
-0001637143 00000 n 
-0001669667 00000 n 
-0001639272 00000 n 
-0001639502 00000 n 
-0001639697 00000 n 
-0001639925 00000 n 
-0001640119 00000 n 
-0001640349 00000 n 
-0001640545 00000 n 
-0001640741 00000 n 
-0001640935 00000 n 
-0001641165 00000 n 
-0001641361 00000 n 
-0001641554 00000 n 
-0001641783 00000 n 
-0001641975 00000 n 
-0001642169 00000 n 
-0001642399 00000 n 
-0001642584 00000 n 
-0001642780 00000 n 
-0001642974 00000 n 
-0001643204 00000 n 
-0001643389 00000 n 
-0001643575 00000 n 
-0001643769 00000 n 
-0001643999 00000 n 
-0001644195 00000 n 
-0001644389 00000 n 
-0001644619 00000 n 
-0001644815 00000 n 
-0001645011 00000 n 
-0001645205 00000 n 
-0001645435 00000 n 
-0001645620 00000 n 
-0001645806 00000 n 
-0001646000 00000 n 
-0001646230 00000 n 
-0001646426 00000 n 
-0001646620 00000 n 
-0001646850 00000 n 
-0001647046 00000 n 
-0001647240 00000 n 
-0001647470 00000 n 
-0001647655 00000 n 
-0001647851 00000 n 
-0001648045 00000 n 
-0001648275 00000 n 
-0001648471 00000 n 
-0001648657 00000 n 
-0001648849 00000 n 
-0001649077 00000 n 
-0001651845 00000 n 
-0001652039 00000 n 
-0001652269 00000 n 
-0001649271 00000 n 
-0001649738 00000 n 
-0001638448 00000 n 
-0001637373 00000 n 
-0001649444 00000 n 
-0001649502 00000 n 
-0001649561 00000 n 
-0001649679 00000 n 
-0001669846 00000 n 
-0001669964 00000 n 
-0001671776 00000 n 
-0001671894 00000 n 
-0001672012 00000 n 
-0001672129 00000 n 
-0001672247 00000 n 
-0001672365 00000 n 
-0001672483 00000 n 
-0001672601 00000 n 
-0001674972 00000 n 
-0001675090 00000 n 
-0001675208 00000 n 
-0001652465 00000 n 
-0001652658 00000 n 
-0001652885 00000 n 
-0001653079 00000 n 
-0001653274 00000 n 
-0001653468 00000 n 
-0001653696 00000 n 
-0001653891 00000 n 
-0001654077 00000 n 
-0001654271 00000 n 
-0001654499 00000 n 
-0001654694 00000 n 
-0001654888 00000 n 
-0001655116 00000 n 
-0001655310 00000 n 
-0001655506 00000 n 
-0001655700 00000 n 
-0001655928 00000 n 
-0001656122 00000 n 
-0001656308 00000 n 
-0001656502 00000 n 
-0001656730 00000 n 
-0001656924 00000 n 
-0001657117 00000 n 
-0001657344 00000 n 
-0001657539 00000 n 
-0001657733 00000 n 
-0001657963 00000 n 
-0001658159 00000 n 
-0001658344 00000 n 
-0001658534 00000 n 
-0001658760 00000 n 
-0001658952 00000 n 
-0001659137 00000 n 
-0001659331 00000 n 
-0001659561 00000 n 
-0001659757 00000 n 
-0001659943 00000 n 
-0001660136 00000 n 
-0001660365 00000 n 
-0001660560 00000 n 
-0001660790 00000 n 
-0001660986 00000 n 
-0001661215 00000 n 
-0001661411 00000 n 
-0001664809 00000 n 
-0001661799 00000 n 
-0001662090 00000 n 
-0001651260 00000 n 
-0001649877 00000 n 
-0001661973 00000 n 
-0001662031 00000 n 
-0001661606 00000 n 
-0001675326 00000 n 
-0001675444 00000 n 
-0001675562 00000 n 
-0001675680 00000 n 
-0001678102 00000 n 
-0001678220 00000 n 
-0001678338 00000 n 
-0001678455 00000 n 
-0001678573 00000 n 
-0001678690 00000 n 
-0001678808 00000 n 
-0001682980 00000 n 
-0001683098 00000 n 
-0001683216 00000 n 
-0001665005 00000 n 
-0001665191 00000 n 
-0001665376 00000 n 
-0001665834 00000 n 
-0001666359 00000 n 
-0001664620 00000 n 
-0001662257 00000 n 
-0001666007 00000 n 
-0001666065 00000 n 
-0001666124 00000 n 
-0001666242 00000 n 
-0001665606 00000 n 
-0001669131 00000 n 
-0001670022 00000 n 
-0001668987 00000 n 
-0001666561 00000 n 
-0001669305 00000 n 
-0001669363 00000 n 
-0001669485 00000 n 
-0001669608 00000 n 
-0001669731 00000 n 
-0001669789 00000 n 
-0001669905 00000 n 
-0003361563 00000 n 
-0001671486 00000 n 
-0001672659 00000 n 
-0001671342 00000 n 
-0001670276 00000 n 
-0001671659 00000 n 
-0001671717 00000 n 
-0001671835 00000 n 
-0001671953 00000 n 
-0001672070 00000 n 
-0001672188 00000 n 
-0001672306 00000 n 
-0001672424 00000 n 
-0001672542 00000 n 
-0001674223 00000 n 
-0001674681 00000 n 
-0001675738 00000 n 
-0001674061 00000 n 
-0001672788 00000 n 
-0001674855 00000 n 
-0001674913 00000 n 
-0001675031 00000 n 
-0001675149 00000 n 
-0001675267 00000 n 
-0001675385 00000 n 
-0001675503 00000 n 
-0001675621 00000 n 
-0001674453 00000 n 
-0001677352 00000 n 
-0001677812 00000 n 
-0001678866 00000 n 
-0001677190 00000 n 
-0001675880 00000 n 
-0001677985 00000 n 
-0001678043 00000 n 
-0001678161 00000 n 
-0001678279 00000 n 
-0001677582 00000 n 
-0001678397 00000 n 
-0001678514 00000 n 
-0001678632 00000 n 
-0001678749 00000 n 
-0001680734 00000 n 
-0001680958 00000 n 
-0001681215 00000 n 
-0001681439 00000 n 
-0001681696 00000 n 
-0001682209 00000 n 
-0001682466 00000 n 
-0001685970 00000 n 
-0001686193 00000 n 
-0001682689 00000 n 
-0001683568 00000 n 
-0001680518 00000 n 
-0001679008 00000 n 
-0001682863 00000 n 
-0001682921 00000 n 
-0001683039 00000 n 
-0001683157 00000 n 
-0001683274 00000 n 
-0001683450 00000 n 
-0001681953 00000 n 
-0001683509 00000 n 
-0001714913 00000 n 
-0001715029 00000 n 
-0001715093 00000 n 
-0001715211 00000 n 
-0001715275 00000 n 
-0001715338 00000 n 
-0001686398 00000 n 
-0001686621 00000 n 
-0001686826 00000 n 
-0001687018 00000 n 
-0001687408 00000 n 
-0001687612 00000 n 
-0001687835 00000 n 
-0001688039 00000 n 
-0001688234 00000 n 
-0001688437 00000 n 
-0001688660 00000 n 
-0001688865 00000 n 
-0001689061 00000 n 
-0001689257 00000 n 
-0001689461 00000 n 
-0001689684 00000 n 
-0001689874 00000 n 
-0001690097 00000 n 
-0001690285 00000 n 
-0001690506 00000 n 
-0001690695 00000 n 
-0001690899 00000 n 
-0001691123 00000 n 
-0001691315 00000 n 
-0001691539 00000 n 
-0001691762 00000 n 
-0001691986 00000 n 
-0001692207 00000 n 
-0001692429 00000 n 
-0001692625 00000 n 
-0001692849 00000 n 
-0001693053 00000 n 
-0001693277 00000 n 
-0001696822 00000 n 
-0001697046 00000 n 
-0001693499 00000 n 
-0001694320 00000 n 
-0001685502 00000 n 
-0001683723 00000 n 
-0001693672 00000 n 
-0001693730 00000 n 
-0001687214 00000 n 
-0001693789 00000 n 
-0001693848 00000 n 
-0001693907 00000 n 
-0001693966 00000 n 
-0001694025 00000 n 
-0001694084 00000 n 
-0001694143 00000 n 
-0001694202 00000 n 
-0001694261 00000 n 
-0001715461 00000 n 
-0001718840 00000 n 
-0001718957 00000 n 
-0001722145 00000 n 
-0001722321 00000 n 
-0001697250 00000 n 
-0001697474 00000 n 
-0001697665 00000 n 
-0001697889 00000 n 
-0001698077 00000 n 
-0001698301 00000 n 
-0001698496 00000 n 
-0001698719 00000 n 
-0001698914 00000 n 
-0001699138 00000 n 
-0001699342 00000 n 
-0001699566 00000 n 
-0001699767 00000 n 
-0001699990 00000 n 
-0001700213 00000 n 
-0001700400 00000 n 
-0001700605 00000 n 
-0001701013 00000 n 
-0001701200 00000 n 
-0001701424 00000 n 
-0001701611 00000 n 
-0001701835 00000 n 
-0001702059 00000 n 
-0001702263 00000 n 
-0001702467 00000 n 
-0001702691 00000 n 
-0001702914 00000 n 
-0001703138 00000 n 
-0001706233 00000 n 
-0001706455 00000 n 
-0001703361 00000 n 
-0001703887 00000 n 
-0001696399 00000 n 
-0001694503 00000 n 
-0001703535 00000 n 
-0001703593 00000 n 
-0001700810 00000 n 
-0003350528 00000 n 
-0001703652 00000 n 
-0001703711 00000 n 
-0001703770 00000 n 
-0001703829 00000 n 
-0003361689 00000 n 
-0001722439 00000 n 
-0001722562 00000 n 
-0001724684 00000 n 
-0001724802 00000 n 
-0001724919 00000 n 
-0001725037 00000 n 
-0001727306 00000 n 
-0001727424 00000 n 
-0001727542 00000 n 
-0001727660 00000 n 
-0001727778 00000 n 
-0001706679 00000 n 
-0001706883 00000 n 
-0001707107 00000 n 
-0001707311 00000 n 
-0001707535 00000 n 
-0001707759 00000 n 
-0001707949 00000 n 
-0001708172 00000 n 
-0001708396 00000 n 
-0001708620 00000 n 
-0001708844 00000 n 
-0001709068 00000 n 
-0001709272 00000 n 
-0001709495 00000 n 
-0001709684 00000 n 
-0001709907 00000 n 
-0001710096 00000 n 
-0001710319 00000 n 
-0001710509 00000 n 
-0001714047 00000 n 
-0001710888 00000 n 
-0001711707 00000 n 
-0001705891 00000 n 
-0001704057 00000 n 
-0001711061 00000 n 
-0001711119 00000 n 
-0001711178 00000 n 
-0001711237 00000 n 
-0001711296 00000 n 
-0001711353 00000 n 
-0001711412 00000 n 
-0001711471 00000 n 
-0001711530 00000 n 
-0001711589 00000 n 
-0001710699 00000 n 
-0001711648 00000 n 
-0001732611 00000 n 
-0001732729 00000 n 
-0001714242 00000 n 
-0001714432 00000 n 
-0001717939 00000 n 
-0001714622 00000 n 
-0001715579 00000 n 
-0001713876 00000 n 
-0001711861 00000 n 
-0001714796 00000 n 
-0001714854 00000 n 
-0001714971 00000 n 
-0001715152 00000 n 
-0001715402 00000 n 
-0001715520 00000 n 
-0001718163 00000 n 
-0001718386 00000 n 
-0001718609 00000 n 
-0001719074 00000 n 
-0001717768 00000 n 
-0001715733 00000 n 
-0001718782 00000 n 
-0001718899 00000 n 
-0001719016 00000 n 
-0001721465 00000 n 
-0001721689 00000 n 
-0001721913 00000 n 
-0001722625 00000 n 
-0001721303 00000 n 
-0001719241 00000 n 
-0001722087 00000 n 
-0001722204 00000 n 
-0001722262 00000 n 
-0001722380 00000 n 
-0001722503 00000 n 
-0001724394 00000 n 
-0001725154 00000 n 
-0001724250 00000 n 
-0001722779 00000 n 
-0001724567 00000 n 
-0001724625 00000 n 
-0001724743 00000 n 
-0001724861 00000 n 
-0001724978 00000 n 
-0001725096 00000 n 
-0001727074 00000 n 
-0001727836 00000 n 
-0001726930 00000 n 
-0001725281 00000 n 
-0001727248 00000 n 
-0001727365 00000 n 
-0001727483 00000 n 
-0001727601 00000 n 
-0001727719 00000 n 
-0003361815 00000 n 
-0001729985 00000 n 
-0001730172 00000 n 
-0001730398 00000 n 
-0001730603 00000 n 
-0001730808 00000 n 
-0001731033 00000 n 
-0001731227 00000 n 
-0001731453 00000 n 
-0001731649 00000 n 
-0001731842 00000 n 
-0001732068 00000 n 
-0001735324 00000 n 
-0001735550 00000 n 
-0001735745 00000 n 
-0001732262 00000 n 
-0001733022 00000 n 
-0001729742 00000 n 
-0001727976 00000 n 
-0001732435 00000 n 
-0001732493 00000 n 
-0001732552 00000 n 
-0001732670 00000 n 
-0001732788 00000 n 
-0001732963 00000 n 
-0001746908 00000 n 
-0001747026 00000 n 
-0001747148 00000 n 
-0001749156 00000 n 
-0001735938 00000 n 
-0001736164 00000 n 
-0001736359 00000 n 
-0001736585 00000 n 
-0001736781 00000 n 
-0001736974 00000 n 
-0001737199 00000 n 
-0001737387 00000 n 
-0001737591 00000 n 
-0001737816 00000 n 
-0001737996 00000 n 
-0001738181 00000 n 
-0001738384 00000 n 
-0001738608 00000 n 
-0001738787 00000 n 
-0001738989 00000 n 
-0001739215 00000 n 
-0001739402 00000 n 
-0001739607 00000 n 
-0001739833 00000 n 
-0001740027 00000 n 
-0001740232 00000 n 
-0001740458 00000 n 
-0001740651 00000 n 
-0001740856 00000 n 
-0001741048 00000 n 
-0001741275 00000 n 
-0001741468 00000 n 
-0001741660 00000 n 
-0001741887 00000 n 
-0001742078 00000 n 
-0001742303 00000 n 
-0001742529 00000 n 
-0001742721 00000 n 
-0001742948 00000 n 
-0001745795 00000 n 
-0001743141 00000 n 
-0001743666 00000 n 
-0001734838 00000 n 
-0001733203 00000 n 
-0001743315 00000 n 
-0001743373 00000 n 
-0001743432 00000 n 
-0001743490 00000 n 
-0001743548 00000 n 
-0001743607 00000 n 
-0001749274 00000 n 
-0001749392 00000 n 
-0001749510 00000 n 
-0001751807 00000 n 
-0001751925 00000 n 
-0001752043 00000 n 
-0001754329 00000 n 
-0001754447 00000 n 
-0001754624 00000 n 
-0001745987 00000 n 
-0001746176 00000 n 
-0001746369 00000 n 
-0001746559 00000 n 
-0001747266 00000 n 
-0001745615 00000 n 
-0001743847 00000 n 
-0001746732 00000 n 
-0001746790 00000 n 
-0001746849 00000 n 
-0001746967 00000 n 
-0001747090 00000 n 
-0001747207 00000 n 
-0001748924 00000 n 
-0001749568 00000 n 
-0001748780 00000 n 
-0001747434 00000 n 
-0001749098 00000 n 
-0001749215 00000 n 
-0001749333 00000 n 
-0001749451 00000 n 
-0001751517 00000 n 
-0001752161 00000 n 
-0001751373 00000 n 
-0001749697 00000 n 
-0001751690 00000 n 
-0001751748 00000 n 
-0001751866 00000 n 
-0001751984 00000 n 
-0001752102 00000 n 
-0001754097 00000 n 
-0001754800 00000 n 
-0001753953 00000 n 
-0001752303 00000 n 
-0001754271 00000 n 
-0001754388 00000 n 
-0001754506 00000 n 
-0001754565 00000 n 
-0001754683 00000 n 
-0003361941 00000 n 
-0001756689 00000 n 
-0001756913 00000 n 
-0001757138 00000 n 
-0001757362 00000 n 
-0001757566 00000 n 
-0001758501 00000 n 
-0001756509 00000 n 
-0001754955 00000 n 
-0001757739 00000 n 
-0001757855 00000 n 
-0001758031 00000 n 
-0001758089 00000 n 
-0001758147 00000 n 
-0001758206 00000 n 
-0001758265 00000 n 
-0001758324 00000 n 
-0001758383 00000 n 
-0001758442 00000 n 
-0001760675 00000 n 
-0001760903 00000 n 
-0001761096 00000 n 
-0001761324 00000 n 
-0001761552 00000 n 
-0001761778 00000 n 
-0001762006 00000 n 
-0001762234 00000 n 
-0001762462 00000 n 
-0001762665 00000 n 
-0001762892 00000 n 
-0001763096 00000 n 
-0001763324 00000 n 
-0001766906 00000 n 
-0001767134 00000 n 
-0001767339 00000 n 
-0001763552 00000 n 
-0001764486 00000 n 
-0001760414 00000 n 
-0001758683 00000 n 
-0001763726 00000 n 
-0001763900 00000 n 
-0001763958 00000 n 
-0001764016 00000 n 
-0001764075 00000 n 
-0001764134 00000 n 
-0001764193 00000 n 
-0001764251 00000 n 
-0001764310 00000 n 
-0001764369 00000 n 
-0001764427 00000 n 
-0001923110 00000 n 
-0001767544 00000 n 
-0001767772 00000 n 
-0001767966 00000 n 
-0001768171 00000 n 
-0001768399 00000 n 
-0001768593 00000 n 
-0001768798 00000 n 
-0001769026 00000 n 
-0001769220 00000 n 
-0001769446 00000 n 
-0001769638 00000 n 
-0001769865 00000 n 
-0001770057 00000 n 
-0001770285 00000 n 
-0001770473 00000 n 
-0001770678 00000 n 
-0001770906 00000 n 
-0001771087 00000 n 
-0001771273 00000 n 
-0001771478 00000 n 
-0001771706 00000 n 
-0001771886 00000 n 
-0001772089 00000 n 
-0001772317 00000 n 
-0001772504 00000 n 
-0001772708 00000 n 
-0001772902 00000 n 
-0001773130 00000 n 
-0001773324 00000 n 
-0001773550 00000 n 
-0001773743 00000 n 
-0001773971 00000 n 
-0001774176 00000 n 
-0001774403 00000 n 
-0001774606 00000 n 
-0001777588 00000 n 
-0001777776 00000 n 
-0001777972 00000 n 
-0001774832 00000 n 
-0001775357 00000 n 
-0001766420 00000 n 
-0001764669 00000 n 
-0001775005 00000 n 
-0001775063 00000 n 
-0001775122 00000 n 
-0001775181 00000 n 
-0001775240 00000 n 
-0001775299 00000 n 
-0001853587 00000 n 
-0001853705 00000 n 
-0001855939 00000 n 
-0001856062 00000 n 
-0001856184 00000 n 
-0001856301 00000 n 
-0001858856 00000 n 
-0001858974 00000 n 
-0001859096 00000 n 
-0001861426 00000 n 
-0001778198 00000 n 
-0001778394 00000 n 
-0001778621 00000 n 
-0001778817 00000 n 
-0001779045 00000 n 
-0001779241 00000 n 
-0001779469 00000 n 
-0001779697 00000 n 
-0001779891 00000 n 
-0001780119 00000 n 
-0001780312 00000 n 
-0001780538 00000 n 
-0001780730 00000 n 
-0001780927 00000 n 
-0001781154 00000 n 
-0001781341 00000 n 
-0001781538 00000 n 
-0001781765 00000 n 
-0001781952 00000 n 
-0001782149 00000 n 
-0001782376 00000 n 
-0001782562 00000 n 
-0001782790 00000 n 
-0001783018 00000 n 
-0001783246 00000 n 
-0001783474 00000 n 
-0001783702 00000 n 
-0001783930 00000 n 
-0001784157 00000 n 
-0001787708 00000 n 
-0001787936 00000 n 
-0001788132 00000 n 
-0001788360 00000 n 
-0001784342 00000 n 
-0001785163 00000 n 
-0001777156 00000 n 
-0001775538 00000 n 
-0001784516 00000 n 
-0001784574 00000 n 
-0001784632 00000 n 
-0001784691 00000 n 
-0001784750 00000 n 
-0001784809 00000 n 
-0001784868 00000 n 
-0001784927 00000 n 
-0001784986 00000 n 
-0001785045 00000 n 
-0001785104 00000 n 
-0001861603 00000 n 
-0001861719 00000 n 
-0001861837 00000 n 
-0001863926 00000 n 
-0001864043 00000 n 
-0001864161 00000 n 
-0001864279 00000 n 
-0001788555 00000 n 
-0001788782 00000 n 
-0001788978 00000 n 
-0001789183 00000 n 
-0001789388 00000 n 
-0001789614 00000 n 
-0001789809 00000 n 
-0001790013 00000 n 
-0001790217 00000 n 
-0001790404 00000 n 
-0001790632 00000 n 
-0001790828 00000 n 
-0001791032 00000 n 
-0001791236 00000 n 
-0001791463 00000 n 
-0001791658 00000 n 
-0001791861 00000 n 
-0001792064 00000 n 
-0001792251 00000 n 
-0001792478 00000 n 
-0001792672 00000 n 
-0001792876 00000 n 
-0001793080 00000 n 
-0001793488 00000 n 
-0001793692 00000 n 
-0001793920 00000 n 
-0001794146 00000 n 
-0001794334 00000 n 
-0001794559 00000 n 
-0001794754 00000 n 
-0001794980 00000 n 
-0001795176 00000 n 
-0001795402 00000 n 
-0001795590 00000 n 
-0001795816 00000 n 
-0001796011 00000 n 
-0001796236 00000 n 
-0001799911 00000 n 
-0001800137 00000 n 
-0001800325 00000 n 
-0001800550 00000 n 
-0001796431 00000 n 
-0001796721 00000 n 
-0001787186 00000 n 
-0001785332 00000 n 
-0001796604 00000 n 
-0001793283 00000 n 
-0001796662 00000 n 
-0001866596 00000 n 
-0001866714 00000 n 
-0001866832 00000 n 
-0001866950 00000 n 
-0001869628 00000 n 
-0001869750 00000 n 
-0001873052 00000 n 
-0001873175 00000 n 
-0001875426 00000 n 
-0001875544 00000 n 
-0001875662 00000 n 
-0001875780 00000 n 
-0001877933 00000 n 
-0001800738 00000 n 
-0001800963 00000 n 
-0001801159 00000 n 
-0001801385 00000 n 
-0001801581 00000 n 
-0001801807 00000 n 
-0001801993 00000 n 
-0001802157 00000 n 
-0001802383 00000 n 
-0001802575 00000 n 
-0001802739 00000 n 
-0001802965 00000 n 
-0001803158 00000 n 
-0001803383 00000 n 
-0001803575 00000 n 
-0001803803 00000 n 
-0001803996 00000 n 
-0001804224 00000 n 
-0001804418 00000 n 
-0001804644 00000 n 
-0001804838 00000 n 
-0001805066 00000 n 
-0001805260 00000 n 
-0001805439 00000 n 
-0001805667 00000 n 
-0001805853 00000 n 
-0001806049 00000 n 
-0001806213 00000 n 
-0001806441 00000 n 
-0001806627 00000 n 
-0001806823 00000 n 
-0001806986 00000 n 
-0001807214 00000 n 
-0001807400 00000 n 
-0001807605 00000 n 
-0001807801 00000 n 
-0001811801 00000 n 
-0001812029 00000 n 
-0001812225 00000 n 
-0001812430 00000 n 
-0001812626 00000 n 
-0001807975 00000 n 
-0001808207 00000 n 
-0001799407 00000 n 
-0001796862 00000 n 
-0001808149 00000 n 
-0003362067 00000 n 
-0001878051 00000 n 
-0001878169 00000 n 
-0001880411 00000 n 
-0001880527 00000 n 
-0001880645 00000 n 
-0001883303 00000 n 
-0001883421 00000 n 
-0001883539 00000 n 
-0001883657 00000 n 
-0001886751 00000 n 
-0001886873 00000 n 
-0001886994 00000 n 
-0001887112 00000 n 
-0001890206 00000 n 
-0001890324 00000 n 
-0001812803 00000 n 
-0001813031 00000 n 
-0001813216 00000 n 
-0001813412 00000 n 
-0001813804 00000 n 
-0001813990 00000 n 
-0001814218 00000 n 
-0001814404 00000 n 
-0001814609 00000 n 
-0001815000 00000 n 
-0001815177 00000 n 
-0001815405 00000 n 
-0001815601 00000 n 
-0001815806 00000 n 
-0001816001 00000 n 
-0001816177 00000 n 
-0001816404 00000 n 
-0001816589 00000 n 
-0001816784 00000 n 
-0001817174 00000 n 
-0001817360 00000 n 
-0001817585 00000 n 
-0001817779 00000 n 
-0001817948 00000 n 
-0001818176 00000 n 
-0001818368 00000 n 
-0001818573 00000 n 
-0001818982 00000 n 
-0001819186 00000 n 
-0001819382 00000 n 
-0001819548 00000 n 
-0001819774 00000 n 
-0001819978 00000 n 
-0001820205 00000 n 
-0001820395 00000 n 
-0001820598 00000 n 
-0001820822 00000 n 
-0001821048 00000 n 
-0001821242 00000 n 
-0001821409 00000 n 
-0001821637 00000 n 
-0001821831 00000 n 
-0001821998 00000 n 
-0001822223 00000 n 
-0001822416 00000 n 
-0001825834 00000 n 
-0001826059 00000 n 
-0001822578 00000 n 
-0001822867 00000 n 
-0001811171 00000 n 
-0001808418 00000 n 
-0001822751 00000 n 
-0001813608 00000 n 
-0001814805 00000 n 
-0001816979 00000 n 
-0001818777 00000 n 
-0001822809 00000 n 
-0001893641 00000 n 
-0001893758 00000 n 
-0001893876 00000 n 
-0001897340 00000 n 
-0001897458 00000 n 
-0001901430 00000 n 
-0001901548 00000 n 
-0001904332 00000 n 
-0001904450 00000 n 
-0001904568 00000 n 
-0001908085 00000 n 
-0001908203 00000 n 
-0001826253 00000 n 
-0001826481 00000 n 
-0001826675 00000 n 
-0001827067 00000 n 
-0001827228 00000 n 
-0001827454 00000 n 
-0001827648 00000 n 
-0001827814 00000 n 
-0001828041 00000 n 
-0001828235 00000 n 
-0001828431 00000 n 
-0001828598 00000 n 
-0001828824 00000 n 
-0001829029 00000 n 
-0001829255 00000 n 
-0001829459 00000 n 
-0001829685 00000 n 
-0001829878 00000 n 
-0001830049 00000 n 
-0001830274 00000 n 
-0001830466 00000 n 
-0001830692 00000 n 
-0001830897 00000 n 
-0001831123 00000 n 
-0001831314 00000 n 
-0001831540 00000 n 
-0001831726 00000 n 
-0001831931 00000 n 
-0001832156 00000 n 
-0001832348 00000 n 
-0001832532 00000 n 
-0001832758 00000 n 
-0001832939 00000 n 
-0001833123 00000 n 
-0001833328 00000 n 
-0001836267 00000 n 
-0001836495 00000 n 
-0001833556 00000 n 
-0001833965 00000 n 
-0001825348 00000 n 
-0001823092 00000 n 
-0001833730 00000 n 
-0001833788 00000 n 
-0001826871 00000 n 
-0001833847 00000 n 
-0001833906 00000 n 
-0001908320 00000 n 
-0001911468 00000 n 
-0001911586 00000 n 
-0001911704 00000 n 
-0001914675 00000 n 
-0001914793 00000 n 
-0001914911 00000 n 
-0001918577 00000 n 
-0001918694 00000 n 
-0001918810 00000 n 
-0001922865 00000 n 
-0001922987 00000 n 
-0001836723 00000 n 
-0001836950 00000 n 
-0001837144 00000 n 
-0001837338 00000 n 
-0001837565 00000 n 
-0001837758 00000 n 
-0001837986 00000 n 
-0001838180 00000 n 
-0001838374 00000 n 
-0001838602 00000 n 
-0001838795 00000 n 
-0001838988 00000 n 
-0001839182 00000 n 
-0001839387 00000 n 
-0001839615 00000 n 
-0001839808 00000 n 
-0001840001 00000 n 
-0001840195 00000 n 
-0001840400 00000 n 
-0001840627 00000 n 
-0001840820 00000 n 
-0001841013 00000 n 
-0001841207 00000 n 
-0001841412 00000 n 
-0001841639 00000 n 
-0001841832 00000 n 
-0001842024 00000 n 
-0001842217 00000 n 
-0001842421 00000 n 
-0001842647 00000 n 
-0001842838 00000 n 
-0001843029 00000 n 
-0001843221 00000 n 
-0001847271 00000 n 
-0001847499 00000 n 
-0001847692 00000 n 
-0001847885 00000 n 
-0001848079 00000 n 
-0001843424 00000 n 
-0001843891 00000 n 
-0001835808 00000 n 
-0001834146 00000 n 
-0001843597 00000 n 
-0001843655 00000 n 
-0001843714 00000 n 
-0001843773 00000 n 
-0001843832 00000 n 
-0001926079 00000 n 
-0001926197 00000 n 
-0001926319 00000 n 
-0001926441 00000 n 
-0001928965 00000 n 
-0001929087 00000 n 
-0001929210 00000 n 
-0001929331 00000 n 
-0001848284 00000 n 
-0001848511 00000 n 
-0001848705 00000 n 
-0001849092 00000 n 
-0001852735 00000 n 
-0001849283 00000 n 
-0001849633 00000 n 
-0001847037 00000 n 
-0001844044 00000 n 
-0001849457 00000 n 
-0001848899 00000 n 
-0001849515 00000 n 
-0001849574 00000 n 
-0001932022 00000 n 
-0001932145 00000 n 
-0001852923 00000 n 
-0001853111 00000 n 
-0001853297 00000 n 
-0001853763 00000 n 
-0001852564 00000 n 
-0001849852 00000 n 
-0001853470 00000 n 
-0001853528 00000 n 
-0001853646 00000 n 
-0001855648 00000 n 
-0001856359 00000 n 
-0001855504 00000 n 
-0001853981 00000 n 
-0001855822 00000 n 
-0001855880 00000 n 
-0001856003 00000 n 
-0001856126 00000 n 
-0001856243 00000 n 
-0003362193 00000 n 
-0001858566 00000 n 
-0001859214 00000 n 
-0001858422 00000 n 
-0001856501 00000 n 
-0001858739 00000 n 
-0001858797 00000 n 
-0001858915 00000 n 
-0001859037 00000 n 
-0001859155 00000 n 
-0001861194 00000 n 
-0001861895 00000 n 
-0001861050 00000 n 
-0001859356 00000 n 
-0001861368 00000 n 
-0001861485 00000 n 
-0001861544 00000 n 
-0001861661 00000 n 
-0001861778 00000 n 
-0001863636 00000 n 
-0001864397 00000 n 
-0001863492 00000 n 
-0001862050 00000 n 
-0001863809 00000 n 
-0001863867 00000 n 
-0001863985 00000 n 
-0001864102 00000 n 
-0001864220 00000 n 
-0001864338 00000 n 
-0001866364 00000 n 
-0001867013 00000 n 
-0001866220 00000 n 
-0001864552 00000 n 
-0001866538 00000 n 
-0001866655 00000 n 
-0001866773 00000 n 
-0001866891 00000 n 
-0001869338 00000 n 
-0001869873 00000 n 
-0001869194 00000 n 
-0001867168 00000 n 
-0001869511 00000 n 
-0001869569 00000 n 
-0001869691 00000 n 
-0001869814 00000 n 
-0001872476 00000 n 
-0001872657 00000 n 
-0001872820 00000 n 
-0001873298 00000 n 
-0001872314 00000 n 
-0001870028 00000 n 
-0001872994 00000 n 
-0001873116 00000 n 
-0001873239 00000 n 
-0003362319 00000 n 
-0001875195 00000 n 
-0001875838 00000 n 
-0001875051 00000 n 
-0001873465 00000 n 
-0001875368 00000 n 
-0001875485 00000 n 
-0001875603 00000 n 
-0001875721 00000 n 
-0001877642 00000 n 
-0001878227 00000 n 
-0001877498 00000 n 
-0001875993 00000 n 
-0001877816 00000 n 
-0001877874 00000 n 
-0001877992 00000 n 
-0001878110 00000 n 
-0001879960 00000 n 
-0001880121 00000 n 
-0001880763 00000 n 
-0001879807 00000 n 
-0001878382 00000 n 
-0001880294 00000 n 
-0001880352 00000 n 
-0001880469 00000 n 
-0001880586 00000 n 
-0001880704 00000 n 
-0001882720 00000 n 
-0001882885 00000 n 
-0001883071 00000 n 
-0001883775 00000 n 
-0001882558 00000 n 
-0001880918 00000 n 
-0001883245 00000 n 
-0001883362 00000 n 
-0001883480 00000 n 
-0001883598 00000 n 
-0001883716 00000 n 
-0001886035 00000 n 
-0001886187 00000 n 
-0001886341 00000 n 
-0001886520 00000 n 
-0001887170 00000 n 
-0001885864 00000 n 
-0001883930 00000 n 
-0001886693 00000 n 
-0001886814 00000 n 
-0001886936 00000 n 
-0001887053 00000 n 
-0001889415 00000 n 
-0001889579 00000 n 
-0001889742 00000 n 
-0001889915 00000 n 
-0001890442 00000 n 
-0001889244 00000 n 
-0001887338 00000 n 
-0001890089 00000 n 
-0001890147 00000 n 
-0001890265 00000 n 
-0001890383 00000 n 
-0003362445 00000 n 
-0001893047 00000 n 
-0001893224 00000 n 
-0001893410 00000 n 
-0001893934 00000 n 
-0001892885 00000 n 
-0001890634 00000 n 
-0001893583 00000 n 
-0001893700 00000 n 
-0001893817 00000 n 
-0001896510 00000 n 
-0001896686 00000 n 
-0001896863 00000 n 
-0001897049 00000 n 
-0001897576 00000 n 
-0001896339 00000 n 
-0001894126 00000 n 
-0001897223 00000 n 
-0001897281 00000 n 
-0001897399 00000 n 
-0001897517 00000 n 
-0001900515 00000 n 
-0001900684 00000 n 
-0001900849 00000 n 
-0001901035 00000 n 
-0001901199 00000 n 
-0001901666 00000 n 
-0001900335 00000 n 
-0001897768 00000 n 
-0001901372 00000 n 
-0001901489 00000 n 
-0001901607 00000 n 
-0001903933 00000 n 
-0001906858 00000 n 
-0001904100 00000 n 
-0001904686 00000 n 
-0001903780 00000 n 
-0001901821 00000 n 
-0001904274 00000 n 
-0001904391 00000 n 
-0001904509 00000 n 
-0001904627 00000 n 
-0001907026 00000 n 
-0001907193 00000 n 
-0001907361 00000 n 
-0001907525 00000 n 
-0001907692 00000 n 
-0001907854 00000 n 
-0001908438 00000 n 
-0001906660 00000 n 
-0001904854 00000 n 
-0001908027 00000 n 
-0001908144 00000 n 
-0001908262 00000 n 
-0001908379 00000 n 
-0001910567 00000 n 
-0001910735 00000 n 
-0001910901 00000 n 
-0001911068 00000 n 
-0001911236 00000 n 
-0001911762 00000 n 
-0001910387 00000 n 
-0001908606 00000 n 
-0001911410 00000 n 
-0001911527 00000 n 
-0001911645 00000 n 
-0003362571 00000 n 
-0001913986 00000 n 
-0001914157 00000 n 
-0001917594 00000 n 
-0001914385 00000 n 
-0001915029 00000 n 
-0001913824 00000 n 
-0001911930 00000 n 
-0001914558 00000 n 
-0001914616 00000 n 
-0001914734 00000 n 
-0001914852 00000 n 
-0001914970 00000 n 
-0001917780 00000 n 
-0001917966 00000 n 
-0001918157 00000 n 
-0001918345 00000 n 
-0001918873 00000 n 
-0001917414 00000 n 
-0001915233 00000 n 
-0001918519 00000 n 
-0001918635 00000 n 
-0001918751 00000 n 
-0001921635 00000 n 
-0001921862 00000 n 
-0001922033 00000 n 
-0001922219 00000 n 
-0001922405 00000 n 
-0001922575 00000 n 
-0001923168 00000 n 
-0001921446 00000 n 
-0001919040 00000 n 
-0001922748 00000 n 
-0001922806 00000 n 
-0001922928 00000 n 
-0001923051 00000 n 
-0001925729 00000 n 
-0001926564 00000 n 
-0001925585 00000 n 
-0001923335 00000 n 
-0001925903 00000 n 
-0001925961 00000 n 
-0001926020 00000 n 
-0001926138 00000 n 
-0001926261 00000 n 
-0001926383 00000 n 
-0001926505 00000 n 
-0001928734 00000 n 
-0001929394 00000 n 
-0001928590 00000 n 
-0001926719 00000 n 
-0001928907 00000 n 
-0001929029 00000 n 
-0001929151 00000 n 
-0001929273 00000 n 
-0001934488 00000 n 
-0001934726 00000 n 
-0001934931 00000 n 
-0001931731 00000 n 
-0001932383 00000 n 
-0001931587 00000 n 
-0001929536 00000 n 
-0001931905 00000 n 
-0001931963 00000 n 
-0001932086 00000 n 
-0001932209 00000 n 
-0003362697 00000 n 
-0001935136 00000 n 
-0001935374 00000 n 
-0001935570 00000 n 
-0001935807 00000 n 
-0001936000 00000 n 
-0001936238 00000 n 
-0001936434 00000 n 
-0001936672 00000 n 
-0001936868 00000 n 
-0001937106 00000 n 
-0001937297 00000 n 
-0001937502 00000 n 
-0001937740 00000 n 
-0001937933 00000 n 
-0001938138 00000 n 
-0001938376 00000 n 
-0001938558 00000 n 
-0001938763 00000 n 
-0001939001 00000 n 
-0001939182 00000 n 
-0001939368 00000 n 
-0001939573 00000 n 
-0001939811 00000 n 
-0001939998 00000 n 
-0001940203 00000 n 
-0001940441 00000 n 
-0001940635 00000 n 
-0001940839 00000 n 
-0001941075 00000 n 
-0001941278 00000 n 
-0001941480 00000 n 
-0001941716 00000 n 
-0001941919 00000 n 
-0001942121 00000 n 
-0001942470 00000 n 
-0001934020 00000 n 
-0001932552 00000 n 
-0001942294 00000 n 
-0001942352 00000 n 
-0001942411 00000 n 
-0002014979 00000 n 
-0002017036 00000 n 
-0002017154 00000 n 
-0002017272 00000 n 
-0002019523 00000 n 
-0002019641 00000 n 
-0002019759 00000 n 
-0002022158 00000 n 
-0002022276 00000 n 
-0002022394 00000 n 
-0002024539 00000 n 
-0002024657 00000 n 
-0001944707 00000 n 
-0001944911 00000 n 
-0001945150 00000 n 
-0001945355 00000 n 
-0001945592 00000 n 
-0001945797 00000 n 
-0001946035 00000 n 
-0001946240 00000 n 
-0001946479 00000 n 
-0001946667 00000 n 
-0001946836 00000 n 
-0001947075 00000 n 
-0001947314 00000 n 
-0001947510 00000 n 
-0001947747 00000 n 
-0001947943 00000 n 
-0001948181 00000 n 
-0001948377 00000 n 
-0001948616 00000 n 
-0001948808 00000 n 
-0001949043 00000 n 
-0001949240 00000 n 
-0001949478 00000 n 
-0001949665 00000 n 
-0001949861 00000 n 
-0001950098 00000 n 
-0001950284 00000 n 
-0001950481 00000 n 
-0001950719 00000 n 
-0001950905 00000 n 
-0001951144 00000 n 
-0001951383 00000 n 
-0001955236 00000 n 
-0001955475 00000 n 
-0001955680 00000 n 
-0001951621 00000 n 
-0001952795 00000 n 
-0001944275 00000 n 
-0001942609 00000 n 
-0001951795 00000 n 
-0001951853 00000 n 
-0001951911 00000 n 
-0001951970 00000 n 
-0001952029 00000 n 
-0001952088 00000 n 
-0001952147 00000 n 
-0001952206 00000 n 
-0001952264 00000 n 
-0001952323 00000 n 
-0001952382 00000 n 
-0001952441 00000 n 
-0001952500 00000 n 
-0001952559 00000 n 
-0001952618 00000 n 
-0001952677 00000 n 
-0001952736 00000 n 
-0001955919 00000 n 
-0001956158 00000 n 
-0001956397 00000 n 
-0001956583 00000 n 
-0001956822 00000 n 
-0001957018 00000 n 
-0001957257 00000 n 
-0001957452 00000 n 
-0001957690 00000 n 
-0001957886 00000 n 
-0001958091 00000 n 
-0001958296 00000 n 
-0001958533 00000 n 
-0001958728 00000 n 
-0001958932 00000 n 
-0001959136 00000 n 
-0001959323 00000 n 
-0001959562 00000 n 
-0001959758 00000 n 
-0001959962 00000 n 
-0001960166 00000 n 
-0001960405 00000 n 
-0001960601 00000 n 
-0001960805 00000 n 
-0001961009 00000 n 
-0001961196 00000 n 
-0001961435 00000 n 
-0001961640 00000 n 
-0001961879 00000 n 
-0001962083 00000 n 
-0001962322 00000 n 
-0001962557 00000 n 
-0001965861 00000 n 
-0001966098 00000 n 
-0001962743 00000 n 
-0001963151 00000 n 
-0001954777 00000 n 
-0001952949 00000 n 
-0001962916 00000 n 
-0001962974 00000 n 
-0001963033 00000 n 
-0001963092 00000 n 
-0002026795 00000 n 
-0002026913 00000 n 
-0002027030 00000 n 
-0002027146 00000 n 
-0002027264 00000 n 
-0002029721 00000 n 
-0002029844 00000 n 
-0002032502 00000 n 
-0002032625 00000 n 
-0002034765 00000 n 
-0002034883 00000 n 
-0001966286 00000 n 
-0001966523 00000 n 
-0001966711 00000 n 
-0001966947 00000 n 
-0001967135 00000 n 
-0001967372 00000 n 
-0001967567 00000 n 
-0001967803 00000 n 
-0001967998 00000 n 
-0001968235 00000 n 
-0001968431 00000 n 
-0001968667 00000 n 
-0001968862 00000 n 
-0001969098 00000 n 
-0001969294 00000 n 
-0001969531 00000 n 
-0001969727 00000 n 
-0001969962 00000 n 
-0001970146 00000 n 
-0001970311 00000 n 
-0001970548 00000 n 
-0001970740 00000 n 
-0001970905 00000 n 
-0001971142 00000 n 
-0001971347 00000 n 
-0001971584 00000 n 
-0001971788 00000 n 
-0001972026 00000 n 
-0001972229 00000 n 
-0001972466 00000 n 
-0001972671 00000 n 
-0001972910 00000 n 
-0001973096 00000 n 
-0001973292 00000 n 
-0001973471 00000 n 
-0001973708 00000 n 
-0001973892 00000 n 
-0001977985 00000 n 
-0001974086 00000 n 
-0001974318 00000 n 
-0001965366 00000 n 
-0001963292 00000 n 
-0001974260 00000 n 
-0002035001 00000 n 
-0002035119 00000 n 
-0002037089 00000 n 
-0002037207 00000 n 
-0002037325 00000 n 
-0002039413 00000 n 
-0002039531 00000 n 
-0002039649 00000 n 
-0002042387 00000 n 
-0002042504 00000 n 
-0002042622 00000 n 
-0002045076 00000 n 
-0002045194 00000 n 
-0002045312 00000 n 
-0002045430 00000 n 
-0002048436 00000 n 
-0002048553 00000 n 
-0001978163 00000 n 
-0001978402 00000 n 
-0001978588 00000 n 
-0001978793 00000 n 
-0001978989 00000 n 
-0001979166 00000 n 
-0001979337 00000 n 
-0001979576 00000 n 
-0001979762 00000 n 
-0001979967 00000 n 
-0001980359 00000 n 
-0001980535 00000 n 
-0001980877 00000 n 
-0001981116 00000 n 
-0001981312 00000 n 
-0001981517 00000 n 
-0001981713 00000 n 
-0001981890 00000 n 
-0001982061 00000 n 
-0001982300 00000 n 
-0001982496 00000 n 
-0001982701 00000 n 
-0001982897 00000 n 
-0001983073 00000 n 
-0001983242 00000 n 
-0001983481 00000 n 
-0001983666 00000 n 
-0001983862 00000 n 
-0001984254 00000 n 
-0001984441 00000 n 
-0001984680 00000 n 
-0001984866 00000 n 
-0001985062 00000 n 
-0001985454 00000 n 
-0001985641 00000 n 
-0001985876 00000 n 
-0001986080 00000 n 
-0001986248 00000 n 
-0001986411 00000 n 
-0001986648 00000 n 
-0001986884 00000 n 
-0001987089 00000 n 
-0001987326 00000 n 
-0001987530 00000 n 
-0001987769 00000 n 
-0001987960 00000 n 
-0001988164 00000 n 
-0001988399 00000 n 
-0001991748 00000 n 
-0001991985 00000 n 
-0001988602 00000 n 
-0001988892 00000 n 
-0001977364 00000 n 
-0001974472 00000 n 
-0001988775 00000 n 
-0001980163 00000 n 
-0001980706 00000 n 
-0001984058 00000 n 
-0001985258 00000 n 
-0001988833 00000 n 
-0002048671 00000 n 
-0002052910 00000 n 
-0002053028 00000 n 
-0002056768 00000 n 
-0002056886 00000 n 
-0002060266 00000 n 
-0002060384 00000 n 
-0002060502 00000 n 
-0002063244 00000 n 
-0002063361 00000 n 
-0002063479 00000 n 
-0001992189 00000 n 
-0001992426 00000 n 
-0001992630 00000 n 
-0001992802 00000 n 
-0001993038 00000 n 
-0001993230 00000 n 
-0001993467 00000 n 
-0001993672 00000 n 
-0001993909 00000 n 
-0001994099 00000 n 
-0001994336 00000 n 
-0001994522 00000 n 
-0001994727 00000 n 
-0001994962 00000 n 
-0001995153 00000 n 
-0001995336 00000 n 
-0001995574 00000 n 
-0001995811 00000 n 
-0001996016 00000 n 
-0001996253 00000 n 
-0001996490 00000 n 
-0001996727 00000 n 
-0001996966 00000 n 
-0001997205 00000 n 
-0001997410 00000 n 
-0001997647 00000 n 
-0001997852 00000 n 
-0001998089 00000 n 
-0002000676 00000 n 
-0002000881 00000 n 
-0001998327 00000 n 
-0001999031 00000 n 
-0001991334 00000 n 
-0001989103 00000 n 
-0001998501 00000 n 
-0001998559 00000 n 
-0001998618 00000 n 
-0001998677 00000 n 
-0001998736 00000 n 
-0001998795 00000 n 
-0001998854 00000 n 
-0001998913 00000 n 
-0001998972 00000 n 
-0003362823 00000 n 
-0002067242 00000 n 
-0002067360 00000 n 
-0002067477 00000 n 
-0002067595 00000 n 
-0002071512 00000 n 
-0002071630 00000 n 
-0002076030 00000 n 
-0002076152 00000 n 
-0002001120 00000 n 
-0002001359 00000 n 
-0002001598 00000 n 
-0002001836 00000 n 
-0002002075 00000 n 
-0002002314 00000 n 
-0002002551 00000 n 
-0002002789 00000 n 
-0002003028 00000 n 
-0002003266 00000 n 
-0002003469 00000 n 
-0002008599 00000 n 
-0002008837 00000 n 
-0002003877 00000 n 
-0002004932 00000 n 
-0002000406 00000 n 
-0001999227 00000 n 
-0002004050 00000 n 
-0002004108 00000 n 
-0002004167 00000 n 
-0002004226 00000 n 
-0002004285 00000 n 
-0002004344 00000 n 
-0002004403 00000 n 
-0002004462 00000 n 
-0002004521 00000 n 
-0002004579 00000 n 
-0002004638 00000 n 
-0002004697 00000 n 
-0002004756 00000 n 
-0002004814 00000 n 
-0002004873 00000 n 
-0002003673 00000 n 
-0002076334 00000 n 
-0002009041 00000 n 
-0002009280 00000 n 
-0002009485 00000 n 
-0002009894 00000 n 
-0002010132 00000 n 
-0002010336 00000 n 
-0002010742 00000 n 
-0002010933 00000 n 
-0002011125 00000 n 
-0002011307 00000 n 
-0002014080 00000 n 
-0002011460 00000 n 
-0002011869 00000 n 
-0002008329 00000 n 
-0002005071 00000 n 
-0002011634 00000 n 
-0002011692 00000 n 
-0002009690 00000 n 
-0002010538 00000 n 
-0002011751 00000 n 
-0002011810 00000 n 
-0002076452 00000 n 
-0002080601 00000 n 
-0002080724 00000 n 
-0002014319 00000 n 
-0002014501 00000 n 
-0002014689 00000 n 
-0002015097 00000 n 
-0002013909 00000 n 
-0002012085 00000 n 
-0002014862 00000 n 
-0002014920 00000 n 
-0002015038 00000 n 
-0002016804 00000 n 
-0002017390 00000 n 
-0002016660 00000 n 
-0002015264 00000 n 
-0002016978 00000 n 
-0002017095 00000 n 
-0002017213 00000 n 
-0002017331 00000 n 
-0002019292 00000 n 
-0002019877 00000 n 
-0002019148 00000 n 
-0002017532 00000 n 
-0002019465 00000 n 
-0002019582 00000 n 
-0002019700 00000 n 
-0002019818 00000 n 
-0002021926 00000 n 
-0002022452 00000 n 
-0002021782 00000 n 
-0002020019 00000 n 
-0002022100 00000 n 
-0002022217 00000 n 
-0002022335 00000 n 
-0003362949 00000 n 
-0002024249 00000 n 
-0002024775 00000 n 
-0002024105 00000 n 
-0002022594 00000 n 
-0002024422 00000 n 
-0002024480 00000 n 
-0002024598 00000 n 
-0002024716 00000 n 
-0002026504 00000 n 
-0002027322 00000 n 
-0002026360 00000 n 
-0002024917 00000 n 
-0002026678 00000 n 
-0002026736 00000 n 
-0002026854 00000 n 
-0002026972 00000 n 
-0002027087 00000 n 
-0002027205 00000 n 
-0002029431 00000 n 
-0002029907 00000 n 
-0002029287 00000 n 
-0002027477 00000 n 
-0002029604 00000 n 
-0002029662 00000 n 
-0002029785 00000 n 
-0002032211 00000 n 
-0002032688 00000 n 
-0002032067 00000 n 
-0002030062 00000 n 
-0002032385 00000 n 
-0002032443 00000 n 
-0002032566 00000 n 
-0002034475 00000 n 
-0002035177 00000 n 
-0002034331 00000 n 
-0002032843 00000 n 
-0002034648 00000 n 
-0002034706 00000 n 
-0002034824 00000 n 
-0002034942 00000 n 
-0002035060 00000 n 
-0002036798 00000 n 
-0002037443 00000 n 
-0002036654 00000 n 
-0002035332 00000 n 
-0002036972 00000 n 
-0002037030 00000 n 
-0002037148 00000 n 
-0002037266 00000 n 
-0002037384 00000 n 
-0003363075 00000 n 
-0002039182 00000 n 
-0002039767 00000 n 
-0002039038 00000 n 
-0002037598 00000 n 
-0002039355 00000 n 
-0002039472 00000 n 
-0002039590 00000 n 
-0002039708 00000 n 
-0002041829 00000 n 
-0002041992 00000 n 
-0002044659 00000 n 
-0002042155 00000 n 
-0002042740 00000 n 
-0002041667 00000 n 
-0002039922 00000 n 
-0002042329 00000 n 
-0002042446 00000 n 
-0002042563 00000 n 
-0002042681 00000 n 
-0002044845 00000 n 
-0002045548 00000 n 
-0002044506 00000 n 
-0002042895 00000 n 
-0002045018 00000 n 
-0002045135 00000 n 
-0002045253 00000 n 
-0002045371 00000 n 
-0002045489 00000 n 
-0002047847 00000 n 
-0002048025 00000 n 
-0002051261 00000 n 
-0002051438 00000 n 
-0002048204 00000 n 
-0002048789 00000 n 
-0002047685 00000 n 
-0002045703 00000 n 
-0002048378 00000 n 
-0002048494 00000 n 
-0002048612 00000 n 
-0002048730 00000 n 
-0002051609 00000 n 
-0002051797 00000 n 
-0002051974 00000 n 
-0002052145 00000 n 
-0002052335 00000 n 
-0002052510 00000 n 
-0002052679 00000 n 
-0002053146 00000 n 
-0002051045 00000 n 
-0002048944 00000 n 
-0002052852 00000 n 
-0002052969 00000 n 
-0002053087 00000 n 
-0002055621 00000 n 
-0002055812 00000 n 
-0002055988 00000 n 
-0002056158 00000 n 
-0002056349 00000 n 
-0002056536 00000 n 
-0002057004 00000 n 
-0002055432 00000 n 
-0002053338 00000 n 
-0002056710 00000 n 
-0002056827 00000 n 
-0002056945 00000 n 
-0003363201 00000 n 
-0002059515 00000 n 
-0002059702 00000 n 
-0002059871 00000 n 
-0002062844 00000 n 
-0002060035 00000 n 
-0002060620 00000 n 
-0002059344 00000 n 
-0002057196 00000 n 
-0002060208 00000 n 
-0002060325 00000 n 
-0002060443 00000 n 
-0002060561 00000 n 
-0002065751 00000 n 
-0002063012 00000 n 
-0002063597 00000 n 
-0002062691 00000 n 
-0002060812 00000 n 
-0002063186 00000 n 
-0002063303 00000 n 
-0002063420 00000 n 
-0002063538 00000 n 
-0002065990 00000 n 
-0002066229 00000 n 
-0002066401 00000 n 
-0002066640 00000 n 
-0002066826 00000 n 
-0002067011 00000 n 
-0002067653 00000 n 
-0002065553 00000 n 
-0002063765 00000 n 
-0002067184 00000 n 
-0002067301 00000 n 
-0002067419 00000 n 
-0002067536 00000 n 
-0002070650 00000 n 
-0002070841 00000 n 
-0002071221 00000 n 
-0002071753 00000 n 
-0002070479 00000 n 
-0002067808 00000 n 
-0002071395 00000 n 
-0002071453 00000 n 
-0002071571 00000 n 
-0002071031 00000 n 
-0002071694 00000 n 
-0002074758 00000 n 
-0002074997 00000 n 
-0002075212 00000 n 
-0002075398 00000 n 
-0002075584 00000 n 
-0002075799 00000 n 
-0002076515 00000 n 
-0002074569 00000 n 
-0002071920 00000 n 
-0002075972 00000 n 
-0002076093 00000 n 
-0002076216 00000 n 
-0002076275 00000 n 
-0002076393 00000 n 
-0002078804 00000 n 
-0002078996 00000 n 
-0002079189 00000 n 
-0002079420 00000 n 
-0002079651 00000 n 
-0002079882 00000 n 
-0002080079 00000 n 
-0002083896 00000 n 
-0002084089 00000 n 
-0002080310 00000 n 
-0002081258 00000 n 
-0002078597 00000 n 
-0002076682 00000 n 
-0002080484 00000 n 
-0002080542 00000 n 
-0002080665 00000 n 
-0002080788 00000 n 
-0002080964 00000 n 
-0002081023 00000 n 
-0002081082 00000 n 
-0002081141 00000 n 
-0002081199 00000 n 
-0003363327 00000 n 
-0002084320 00000 n 
-0002084512 00000 n 
-0002084743 00000 n 
-0002084973 00000 n 
-0002085204 00000 n 
-0002085435 00000 n 
-0002085639 00000 n 
-0002085870 00000 n 
-0002086073 00000 n 
-0002086303 00000 n 
-0002086532 00000 n 
-0002086728 00000 n 
-0002086959 00000 n 
-0002087148 00000 n 
-0002087353 00000 n 
-0002087556 00000 n 
-0002087782 00000 n 
-0002088164 00000 n 
-0002088391 00000 n 
-0002088584 00000 n 
-0002088814 00000 n 
-0002089004 00000 n 
-0002089196 00000 n 
-0002089401 00000 n 
-0002089628 00000 n 
-0002089859 00000 n 
-0002093442 00000 n 
-0002093664 00000 n 
-0002093919 00000 n 
-0002090064 00000 n 
-0002091119 00000 n 
-0002083491 00000 n 
-0002081455 00000 n 
-0002090237 00000 n 
-0002090295 00000 n 
-0002090354 00000 n 
-0002090413 00000 n 
-0002090472 00000 n 
-0002090531 00000 n 
-0002090590 00000 n 
-0002090649 00000 n 
-0002090708 00000 n 
-0002090767 00000 n 
-0002087973 00000 n 
-0002090826 00000 n 
-0002090885 00000 n 
-0002090944 00000 n 
-0002188266 00000 n 
-0002208253 00000 n 
-0002208371 00000 n 
-0002094174 00000 n 
-0002094363 00000 n 
-0002094587 00000 n 
-0002094842 00000 n 
-0002095098 00000 n 
-0002095609 00000 n 
-0002095866 00000 n 
-0002096122 00000 n 
-0002096310 00000 n 
-0002096533 00000 n 
-0002096756 00000 n 
-0002096961 00000 n 
-0002097184 00000 n 
-0002097389 00000 n 
-0002097581 00000 n 
-0002097804 00000 n 
-0002097993 00000 n 
-0002098216 00000 n 
-0002098405 00000 n 
-0002098629 00000 n 
-0002098819 00000 n 
-0002099023 00000 n 
-0002099247 00000 n 
-0002099435 00000 n 
-0002099655 00000 n 
-0002099878 00000 n 
-0002100102 00000 n 
-0002100323 00000 n 
-0002100545 00000 n 
-0002100769 00000 n 
-0002100991 00000 n 
-0002101193 00000 n 
-0002101394 00000 n 
-0002102216 00000 n 
-0002092974 00000 n 
-0002091286 00000 n 
-0002101568 00000 n 
-0002101626 00000 n 
-0002095354 00000 n 
-0002101685 00000 n 
-0002101744 00000 n 
-0002101803 00000 n 
-0002101862 00000 n 
-0002101921 00000 n 
-0002101980 00000 n 
-0002102039 00000 n 
-0002102098 00000 n 
-0002102157 00000 n 
-0002143678 00000 n 
-0002143796 00000 n 
-0002143860 00000 n 
-0002143924 00000 n 
-0002144042 00000 n 
-0002144106 00000 n 
-0002144170 00000 n 
-0002144234 00000 n 
-0002144297 00000 n 
-0002144420 00000 n 
-0002147633 00000 n 
-0002147810 00000 n 
-0002147928 00000 n 
-0002104529 00000 n 
-0002104753 00000 n 
-0002104945 00000 n 
-0002105169 00000 n 
-0002105357 00000 n 
-0002105580 00000 n 
-0002105774 00000 n 
-0002105998 00000 n 
-0002106202 00000 n 
-0002106426 00000 n 
-0002106618 00000 n 
-0002106842 00000 n 
-0002107034 00000 n 
-0002107258 00000 n 
-0002107482 00000 n 
-0002107706 00000 n 
-0002107929 00000 n 
-0002108152 00000 n 
-0002108376 00000 n 
-0002108600 00000 n 
-0002108824 00000 n 
-0002109028 00000 n 
-0002109252 00000 n 
-0002109456 00000 n 
-0002109680 00000 n 
-0002109902 00000 n 
-0002113094 00000 n 
-0002113317 00000 n 
-0002113541 00000 n 
-0002110089 00000 n 
-0002110789 00000 n 
-0002104151 00000 n 
-0002102414 00000 n 
-0002110262 00000 n 
-0002110320 00000 n 
-0002110379 00000 n 
-0002110436 00000 n 
-0002110495 00000 n 
-0002110554 00000 n 
-0002110613 00000 n 
-0002110672 00000 n 
-0002110731 00000 n 
-0002150406 00000 n 
-0002150529 00000 n 
-0002150647 00000 n 
-0002150765 00000 n 
-0002150883 00000 n 
-0002153071 00000 n 
-0002153189 00000 n 
-0002153312 00000 n 
-0002113765 00000 n 
-0002113989 00000 n 
-0002114213 00000 n 
-0002114437 00000 n 
-0002114642 00000 n 
-0002114846 00000 n 
-0002115070 00000 n 
-0002115275 00000 n 
-0002115499 00000 n 
-0002115687 00000 n 
-0002115911 00000 n 
-0002116101 00000 n 
-0002116325 00000 n 
-0002116514 00000 n 
-0002116704 00000 n 
-0002117348 00000 n 
-0002112797 00000 n 
-0002110945 00000 n 
-0002116878 00000 n 
-0002116936 00000 n 
-0002116994 00000 n 
-0002117053 00000 n 
-0002117112 00000 n 
-0002117171 00000 n 
-0002117230 00000 n 
-0002117289 00000 n 
-0002153435 00000 n 
-0002158673 00000 n 
-0002158791 00000 n 
-0002120682 00000 n 
-0002120871 00000 n 
-0002121102 00000 n 
-0002120529 00000 n 
-0002117502 00000 n 
-0002121044 00000 n 
-0002123685 00000 n 
-0002123872 00000 n 
-0002124062 00000 n 
-0002127563 00000 n 
-0002124286 00000 n 
-0002124518 00000 n 
-0002123514 00000 n 
-0002121240 00000 n 
-0002124460 00000 n 
-0003363453 00000 n 
-0002127782 00000 n 
-0002128008 00000 n 
-0002128461 00000 n 
-0002128923 00000 n 
-0002129139 00000 n 
-0002129335 00000 n 
-0002133149 00000 n 
-0002129524 00000 n 
-0002129755 00000 n 
-0002127338 00000 n 
-0002124643 00000 n 
-0002129697 00000 n 
-0002128234 00000 n 
-0002128692 00000 n 
-0002613394 00000 n 
-0002187737 00000 n 
-0002180051 00000 n 
-0002133338 00000 n 
-0002133565 00000 n 
-0002133796 00000 n 
-0002134020 00000 n 
-0002134252 00000 n 
-0002132969 00000 n 
-0002129867 00000 n 
-0002134194 00000 n 
-0002203699 00000 n 
-0002174206 00000 n 
-0002137099 00000 n 
-0002137322 00000 n 
-0002137553 00000 n 
-0002136946 00000 n 
-0002134440 00000 n 
-0002137495 00000 n 
-0002140307 00000 n 
-0002140539 00000 n 
-0002140163 00000 n 
-0002137740 00000 n 
-0002140481 00000 n 
-0002143009 00000 n 
-0002143199 00000 n 
-0002143389 00000 n 
-0002144538 00000 n 
-0002142847 00000 n 
-0002140726 00000 n 
-0002143562 00000 n 
-0002143620 00000 n 
-0002143737 00000 n 
-0002143983 00000 n 
-0002144361 00000 n 
-0002144479 00000 n 
-0002146953 00000 n 
-0002147177 00000 n 
-0002149951 00000 n 
-0002147401 00000 n 
-0002148051 00000 n 
-0002146791 00000 n 
-0002144730 00000 n 
-0002147575 00000 n 
-0002147692 00000 n 
-0002147751 00000 n 
-0002147869 00000 n 
-0002147992 00000 n 
-0003363579 00000 n 
-0002150175 00000 n 
-0002150941 00000 n 
-0002149798 00000 n 
-0002148231 00000 n 
-0002150348 00000 n 
-0002150470 00000 n 
-0002150588 00000 n 
-0002150706 00000 n 
-0002150824 00000 n 
-0002152571 00000 n 
-0002152780 00000 n 
-0002153553 00000 n 
-0002152418 00000 n 
-0002151068 00000 n 
-0002152954 00000 n 
-0002153012 00000 n 
-0002153130 00000 n 
-0002153253 00000 n 
-0002153376 00000 n 
-0002153494 00000 n 
-0002155637 00000 n 
-0002155829 00000 n 
-0002156045 00000 n 
-0002156275 00000 n 
-0002156464 00000 n 
-0002156657 00000 n 
-0002156888 00000 n 
-0002157119 00000 n 
-0002157350 00000 n 
-0002157547 00000 n 
-0002157778 00000 n 
-0002157972 00000 n 
-0002158199 00000 n 
-0002162203 00000 n 
-0002158383 00000 n 
-0002159438 00000 n 
-0002155376 00000 n 
-0002153695 00000 n 
-0002158556 00000 n 
-0002158614 00000 n 
-0002158732 00000 n 
-0002158850 00000 n 
-0002159026 00000 n 
-0002159085 00000 n 
-0002159144 00000 n 
-0002159203 00000 n 
-0002159261 00000 n 
-0002159320 00000 n 
-0002159379 00000 n 
-0002162434 00000 n 
-0002162664 00000 n 
-0002162895 00000 n 
-0002163099 00000 n 
-0002163330 00000 n 
-0002163533 00000 n 
-0002163763 00000 n 
-0002163993 00000 n 
-0002164189 00000 n 
-0002164419 00000 n 
-0002164615 00000 n 
-0002164832 00000 n 
-0002165063 00000 n 
-0002165253 00000 n 
-0002165443 00000 n 
-0002165674 00000 n 
-0002165864 00000 n 
-0002166095 00000 n 
-0002166284 00000 n 
-0002166489 00000 n 
-0002166693 00000 n 
-0002166920 00000 n 
-0002167303 00000 n 
-0002167530 00000 n 
-0002167761 00000 n 
-0002167992 00000 n 
-0002168185 00000 n 
-0002168415 00000 n 
-0002168605 00000 n 
-0002168797 00000 n 
-0002169002 00000 n 
-0002169229 00000 n 
-0002169460 00000 n 
-0002169665 00000 n 
-0002169857 00000 n 
-0002170062 00000 n 
-0002170291 00000 n 
-0002170495 00000 n 
-0002171435 00000 n 
-0002161708 00000 n 
-0002159635 00000 n 
-0002170669 00000 n 
-0002170727 00000 n 
-0002170786 00000 n 
-0002170845 00000 n 
-0002170904 00000 n 
-0002170963 00000 n 
-0002171022 00000 n 
-0002171081 00000 n 
-0002171140 00000 n 
-0002171199 00000 n 
-0002167112 00000 n 
-0002171258 00000 n 
-0002171317 00000 n 
-0002171376 00000 n 
-0002174029 00000 n 
-0002174324 00000 n 
-0002174441 00000 n 
-0002173490 00000 n 
-0002173680 00000 n 
-0002174559 00000 n 
-0002173337 00000 n 
-0002171602 00000 n 
-0002173853 00000 n 
-0002173911 00000 n 
-0002173970 00000 n 
-0002174088 00000 n 
-0002174147 00000 n 
-0002174265 00000 n 
-0002174383 00000 n 
-0002174500 00000 n 
-0002176748 00000 n 
-0002176945 00000 n 
-0002177337 00000 n 
-0002177554 00000 n 
-0002177770 00000 n 
-0002177996 00000 n 
-0002178189 00000 n 
-0002178416 00000 n 
-0002178643 00000 n 
-0002178870 00000 n 
-0002179065 00000 n 
-0002182350 00000 n 
-0002182547 00000 n 
-0002179290 00000 n 
-0002180109 00000 n 
-0002176496 00000 n 
-0002174701 00000 n 
-0002179464 00000 n 
-0002177142 00000 n 
-0002179639 00000 n 
-0002179698 00000 n 
-0002179757 00000 n 
-0002179816 00000 n 
-0002179875 00000 n 
-0002179934 00000 n 
-0002179992 00000 n 
-0003363705 00000 n 
-0002182774 00000 n 
-0002182970 00000 n 
-0002183197 00000 n 
-0002183424 00000 n 
-0002183650 00000 n 
-0002183854 00000 n 
-0002184081 00000 n 
-0002184308 00000 n 
-0002184534 00000 n 
-0002184761 00000 n 
-0002184987 00000 n 
-0002185191 00000 n 
-0002185418 00000 n 
-0002185622 00000 n 
-0002185849 00000 n 
-0002186036 00000 n 
-0002186263 00000 n 
-0002186488 00000 n 
-0002186676 00000 n 
-0002186902 00000 n 
-0002187094 00000 n 
-0002187282 00000 n 
-0002191095 00000 n 
-0002191282 00000 n 
-0002191509 00000 n 
-0002191699 00000 n 
-0002187506 00000 n 
-0002188559 00000 n 
-0002181990 00000 n 
-0002180291 00000 n 
-0002187679 00000 n 
-0002187795 00000 n 
-0002187854 00000 n 
-0002187913 00000 n 
-0002187972 00000 n 
-0002188031 00000 n 
-0002188090 00000 n 
-0002188149 00000 n 
-0002188207 00000 n 
-0002188325 00000 n 
-0002188384 00000 n 
-0002188443 00000 n 
-0002188502 00000 n 
-0002203817 00000 n 
-0002191889 00000 n 
-0002192114 00000 n 
-0002192302 00000 n 
-0002192498 00000 n 
-0002192724 00000 n 
-0002192951 00000 n 
-0002193148 00000 n 
-0002193375 00000 n 
-0002193564 00000 n 
-0002193769 00000 n 
-0002193971 00000 n 
-0002194196 00000 n 
-0002194577 00000 n 
-0002194770 00000 n 
-0002194996 00000 n 
-0002195186 00000 n 
-0002195378 00000 n 
-0002195583 00000 n 
-0002195810 00000 n 
-0002196000 00000 n 
-0002196227 00000 n 
-0002196454 00000 n 
-0002196659 00000 n 
-0002196886 00000 n 
-0002197113 00000 n 
-0002200280 00000 n 
-0002200470 00000 n 
-0002200697 00000 n 
-0002200887 00000 n 
-0002201084 00000 n 
-0002197340 00000 n 
-0002198102 00000 n 
-0002190681 00000 n 
-0002188726 00000 n 
-0002197514 00000 n 
-0002197572 00000 n 
-0002197630 00000 n 
-0002197689 00000 n 
-0002197748 00000 n 
-0002194386 00000 n 
-0002197807 00000 n 
-0002197866 00000 n 
-0002197925 00000 n 
-0002197984 00000 n 
-0002198043 00000 n 
-0002208489 00000 n 
-0002212088 00000 n 
-0002201311 00000 n 
-0002201506 00000 n 
-0002201733 00000 n 
-0002201959 00000 n 
-0002202186 00000 n 
-0002202413 00000 n 
-0002202605 00000 n 
-0002202801 00000 n 
-0002202996 00000 n 
-0002203940 00000 n 
-0002200019 00000 n 
-0002198269 00000 n 
-0002203169 00000 n 
-0002203227 00000 n 
-0002203286 00000 n 
-0002203345 00000 n 
-0002203404 00000 n 
-0002203463 00000 n 
-0002203522 00000 n 
-0002203581 00000 n 
-0002203640 00000 n 
-0002203758 00000 n 
-0002203881 00000 n 
-0002212265 00000 n 
-0002206267 00000 n 
-0002206456 00000 n 
-0002206686 00000 n 
-0002207146 00000 n 
-0002207335 00000 n 
-0002207564 00000 n 
-0002208021 00000 n 
-0002208547 00000 n 
-0002206051 00000 n 
-0002204137 00000 n 
-0002208195 00000 n 
-0002208312 00000 n 
-0002206916 00000 n 
-0002208430 00000 n 
-0002207793 00000 n 
-0002210926 00000 n 
-0002211155 00000 n 
-0002211615 00000 n 
-0002215178 00000 n 
-0002211798 00000 n 
-0002212499 00000 n 
-0002210746 00000 n 
-0002208689 00000 n 
-0002211971 00000 n 
-0002212029 00000 n 
-0002211385 00000 n 
-0002212147 00000 n 
-0002212206 00000 n 
-0002212324 00000 n 
-0002215408 00000 n 
-0002215638 00000 n 
-0002215868 00000 n 
-0002216098 00000 n 
-0002216328 00000 n 
-0002216558 00000 n 
-0002216761 00000 n 
-0002216966 00000 n 
-0002217162 00000 n 
-0002217392 00000 n 
-0002217587 00000 n 
-0002217792 00000 n 
-0002218022 00000 n 
-0002218218 00000 n 
-0002218423 00000 n 
-0002218653 00000 n 
-0002218858 00000 n 
-0002219062 00000 n 
-0002219256 00000 n 
-0002219486 00000 n 
-0002219682 00000 n 
-0002219877 00000 n 
-0002220107 00000 n 
-0002220303 00000 n 
-0002220499 00000 n 
-0002220729 00000 n 
-0002220920 00000 n 
-0002221125 00000 n 
-0002221355 00000 n 
-0002221548 00000 n 
-0002221753 00000 n 
-0002221981 00000 n 
-0002222161 00000 n 
-0002225358 00000 n 
-0002225588 00000 n 
-0002225781 00000 n 
-0002222364 00000 n 
-0002223066 00000 n 
-0002214728 00000 n 
-0002212668 00000 n 
-0002222538 00000 n 
-0002222596 00000 n 
-0002222654 00000 n 
-0002222712 00000 n 
-0002222771 00000 n 
-0002222830 00000 n 
-0002222889 00000 n 
-0002222948 00000 n 
-0002223007 00000 n 
-0003363831 00000 n 
-0002292054 00000 n 
-0002292175 00000 n 
-0002292296 00000 n 
-0002292422 00000 n 
-0002294622 00000 n 
-0002294743 00000 n 
-0002225985 00000 n 
-0002226215 00000 n 
-0002226402 00000 n 
-0002226607 00000 n 
-0002226837 00000 n 
-0002227018 00000 n 
-0002227204 00000 n 
-0002227409 00000 n 
-0002227614 00000 n 
-0002227843 00000 n 
-0002228048 00000 n 
-0002228278 00000 n 
-0002228508 00000 n 
-0002228738 00000 n 
-0002228968 00000 n 
-0002229198 00000 n 
-0002229428 00000 n 
-0002229624 00000 n 
-0002229854 00000 n 
-0002230084 00000 n 
-0002230270 00000 n 
-0002230500 00000 n 
-0002230696 00000 n 
-0002230925 00000 n 
-0002231119 00000 n 
-0002231346 00000 n 
-0002231540 00000 n 
-0002231743 00000 n 
-0002235319 00000 n 
-0002235548 00000 n 
-0002235744 00000 n 
-0002235949 00000 n 
-0002236154 00000 n 
-0002231946 00000 n 
-0002232589 00000 n 
-0002224935 00000 n 
-0002223249 00000 n 
-0002232119 00000 n 
-0002232177 00000 n 
-0002232235 00000 n 
-0002232294 00000 n 
-0002232353 00000 n 
-0002232412 00000 n 
-0002232471 00000 n 
-0002232530 00000 n 
-0002296905 00000 n 
-0002297026 00000 n 
-0002297147 00000 n 
-0002299951 00000 n 
-0002300072 00000 n 
-0002300193 00000 n 
-0002302569 00000 n 
-0002302689 00000 n 
-0002236341 00000 n 
-0002236571 00000 n 
-0002236767 00000 n 
-0002236971 00000 n 
-0002237175 00000 n 
-0002237405 00000 n 
-0002237601 00000 n 
-0002237805 00000 n 
-0002238009 00000 n 
-0002238195 00000 n 
-0002238424 00000 n 
-0002238620 00000 n 
-0002238850 00000 n 
-0002239046 00000 n 
-0002239276 00000 n 
-0002239471 00000 n 
-0002239701 00000 n 
-0002239896 00000 n 
-0002240126 00000 n 
-0002240323 00000 n 
-0002240552 00000 n 
-0002240739 00000 n 
-0002240936 00000 n 
-0002241165 00000 n 
-0002241351 00000 n 
-0002241548 00000 n 
-0002241777 00000 n 
-0002241964 00000 n 
-0002242169 00000 n 
-0002242397 00000 n 
-0002242602 00000 n 
-0002242830 00000 n 
-0002243060 00000 n 
-0002246268 00000 n 
-0002243288 00000 n 
-0002243756 00000 n 
-0002234833 00000 n 
-0002232757 00000 n 
-0002243462 00000 n 
-0002243520 00000 n 
-0002243579 00000 n 
-0002243638 00000 n 
-0002243697 00000 n 
-0002302809 00000 n 
-0002305388 00000 n 
-0002305514 00000 n 
-0002308097 00000 n 
-0002308223 00000 n 
-0002308344 00000 n 
-0002310479 00000 n 
-0002310601 00000 n 
-0002310722 00000 n 
-0002310844 00000 n 
-0002310966 00000 n 
-0002246496 00000 n 
-0002246724 00000 n 
-0002246912 00000 n 
-0002247141 00000 n 
-0002247330 00000 n 
-0002247559 00000 n 
-0002247756 00000 n 
-0002247983 00000 n 
-0002248179 00000 n 
-0002248408 00000 n 
-0002248597 00000 n 
-0002248825 00000 n 
-0002249014 00000 n 
-0002249243 00000 n 
-0002249439 00000 n 
-0002249668 00000 n 
-0002249865 00000 n 
-0002250094 00000 n 
-0002250281 00000 n 
-0002250447 00000 n 
-0002250676 00000 n 
-0002250869 00000 n 
-0002251035 00000 n 
-0002251263 00000 n 
-0002251467 00000 n 
-0002251698 00000 n 
-0002251890 00000 n 
-0002252095 00000 n 
-0002252324 00000 n 
-0002252553 00000 n 
-0002252750 00000 n 
-0002252978 00000 n 
-0002257342 00000 n 
-0002257573 00000 n 
-0002257770 00000 n 
-0002253174 00000 n 
-0002253469 00000 n 
-0002245791 00000 n 
-0002243910 00000 n 
-0002253348 00000 n 
-0002253408 00000 n 
-0002313067 00000 n 
-0002313193 00000 n 
-0002313315 00000 n 
-0002313437 00000 n 
-0002315421 00000 n 
-0002315543 00000 n 
-0002315665 00000 n 
-0002315787 00000 n 
-0002318268 00000 n 
-0002318390 00000 n 
-0002318511 00000 n 
-0002321125 00000 n 
-0002321247 00000 n 
-0002321369 00000 n 
-0002321491 00000 n 
-0002257958 00000 n 
-0002258189 00000 n 
-0002258376 00000 n 
-0002258573 00000 n 
-0002258753 00000 n 
-0002258984 00000 n 
-0002259171 00000 n 
-0002259368 00000 n 
-0002259548 00000 n 
-0002259779 00000 n 
-0002259966 00000 n 
-0002260172 00000 n 
-0002260369 00000 n 
-0002260547 00000 n 
-0002260778 00000 n 
-0002260965 00000 n 
-0002261171 00000 n 
-0002261565 00000 n 
-0002261741 00000 n 
-0002261972 00000 n 
-0002262169 00000 n 
-0002262375 00000 n 
-0002262572 00000 n 
-0002262750 00000 n 
-0002262981 00000 n 
-0002263178 00000 n 
-0002263384 00000 n 
-0002263580 00000 n 
-0002263757 00000 n 
-0002263988 00000 n 
-0002264174 00000 n 
-0002264371 00000 n 
-0002264765 00000 n 
-0002264953 00000 n 
-0002265184 00000 n 
-0002265371 00000 n 
-0002265568 00000 n 
-0002265961 00000 n 
-0002266149 00000 n 
-0002266377 00000 n 
-0002266574 00000 n 
-0002266743 00000 n 
-0002266974 00000 n 
-0002267167 00000 n 
-0002267373 00000 n 
-0002267784 00000 n 
-0002267989 00000 n 
-0002268186 00000 n 
-0002268352 00000 n 
-0002271794 00000 n 
-0002272024 00000 n 
-0002268580 00000 n 
-0002268815 00000 n 
-0002256634 00000 n 
-0002253611 00000 n 
-0002268755 00000 n 
-0002261368 00000 n 
-0002264568 00000 n 
-0002265765 00000 n 
-0002267578 00000 n 
-0002324573 00000 n 
-0002324695 00000 n 
-0002324817 00000 n 
-0002328435 00000 n 
-0002328557 00000 n 
-0002332083 00000 n 
-0002332205 00000 n 
-0002332326 00000 n 
-0002335876 00000 n 
-0002335997 00000 n 
-0002336118 00000 n 
-0002340450 00000 n 
-0002272221 00000 n 
-0002272393 00000 n 
-0002272622 00000 n 
-0002272819 00000 n 
-0002272992 00000 n 
-0002273189 00000 n 
-0002273420 00000 n 
-0002273617 00000 n 
-0002273814 00000 n 
-0002274045 00000 n 
-0002274242 00000 n 
-0002274471 00000 n 
-0002274668 00000 n 
-0002274897 00000 n 
-0002275103 00000 n 
-0002275332 00000 n 
-0002275537 00000 n 
-0002275766 00000 n 
-0002275962 00000 n 
-0002276190 00000 n 
-0002276383 00000 n 
-0002276612 00000 n 
-0002276818 00000 n 
-0002277047 00000 n 
-0002277276 00000 n 
-0002277463 00000 n 
-0002277669 00000 n 
-0002277896 00000 n 
-0002278088 00000 n 
-0002281550 00000 n 
-0002281755 00000 n 
-0002278272 00000 n 
-0002278811 00000 n 
-0002271336 00000 n 
-0002269040 00000 n 
-0002278446 00000 n 
-0002278506 00000 n 
-0002278567 00000 n 
-0002278628 00000 n 
-0002278689 00000 n 
-0002278750 00000 n 
-0002340572 00000 n 
-0002344952 00000 n 
-0002345079 00000 n 
-0002345201 00000 n 
-0002348147 00000 n 
-0002348269 00000 n 
-0002348391 00000 n 
-0002352546 00000 n 
-0002281985 00000 n 
-0002282216 00000 n 
-0002282446 00000 n 
-0002282642 00000 n 
-0002282835 00000 n 
-0002283065 00000 n 
-0002283296 00000 n 
-0002283490 00000 n 
-0002283687 00000 n 
-0002284072 00000 n 
-0002284254 00000 n 
-0002284450 00000 n 
-0002284632 00000 n 
-0002284862 00000 n 
-0002285044 00000 n 
-0002285226 00000 n 
-0002285457 00000 n 
-0002285640 00000 n 
-0002285837 00000 n 
-0002286020 00000 n 
-0002286250 00000 n 
-0002286446 00000 n 
-0002286677 00000 n 
-0002286873 00000 n 
-0002287265 00000 n 
-0002287493 00000 n 
-0002287683 00000 n 
-0002287878 00000 n 
-0002288068 00000 n 
-0002288606 00000 n 
-0002281081 00000 n 
-0002278980 00000 n 
-0002288243 00000 n 
-0002288303 00000 n 
-0002288364 00000 n 
-0002288425 00000 n 
-0002288484 00000 n 
-0002283881 00000 n 
-0002288545 00000 n 
-0002287070 00000 n 
-0003363960 00000 n 
-0002352733 00000 n 
-0002352853 00000 n 
-0002352975 00000 n 
-0002357564 00000 n 
-0002357686 00000 n 
-0002357808 00000 n 
-0002357930 00000 n 
-0002290874 00000 n 
-0002291066 00000 n 
-0002291259 00000 n 
-0002291442 00000 n 
-0002291637 00000 n 
-0002292481 00000 n 
-0002290685 00000 n 
-0002288788 00000 n 
-0002291811 00000 n 
-0002291871 00000 n 
-0002291932 00000 n 
-0002291993 00000 n 
-0002292114 00000 n 
-0002292235 00000 n 
-0002292361 00000 n 
-0002294326 00000 n 
-0002294864 00000 n 
-0002294177 00000 n 
-0002292624 00000 n 
-0002294501 00000 n 
-0002294561 00000 n 
-0002294682 00000 n 
-0002294803 00000 n 
-0002296671 00000 n 
-0002297206 00000 n 
-0002296522 00000 n 
-0002295007 00000 n 
-0002296845 00000 n 
-0002296965 00000 n 
-0002297086 00000 n 
-0002299594 00000 n 
-0002300252 00000 n 
-0002299445 00000 n 
-0002297349 00000 n 
-0002299769 00000 n 
-0002299829 00000 n 
-0002299890 00000 n 
-0002300011 00000 n 
-0002300132 00000 n 
-0003353025 00000 n 
-0002302274 00000 n 
-0002302935 00000 n 
-0002302125 00000 n 
-0002300448 00000 n 
-0002302448 00000 n 
-0002302508 00000 n 
-0002302628 00000 n 
-0002302749 00000 n 
-0002302874 00000 n 
-0002305153 00000 n 
-0002305640 00000 n 
-0002305004 00000 n 
-0002303091 00000 n 
-0002305328 00000 n 
-0002305453 00000 n 
-0002305579 00000 n 
-0003364093 00000 n 
-0002307863 00000 n 
-0002308465 00000 n 
-0002307714 00000 n 
-0002305796 00000 n 
-0002308037 00000 n 
-0002308162 00000 n 
-0002308283 00000 n 
-0002308404 00000 n 
-0002310244 00000 n 
-0002311026 00000 n 
-0002310095 00000 n 
-0002308634 00000 n 
-0002310419 00000 n 
-0002310540 00000 n 
-0002310662 00000 n 
-0002310783 00000 n 
-0002310905 00000 n 
-0002312772 00000 n 
-0002313559 00000 n 
-0002312623 00000 n 
-0002311182 00000 n 
-0002312946 00000 n 
-0002313006 00000 n 
-0002313132 00000 n 
-0002313254 00000 n 
-0002313376 00000 n 
-0002313498 00000 n 
-0002315186 00000 n 
-0002315847 00000 n 
-0002315037 00000 n 
-0002313715 00000 n 
-0002315361 00000 n 
-0002315482 00000 n 
-0002315604 00000 n 
-0002315726 00000 n 
-0002317645 00000 n 
-0002317809 00000 n 
-0002317973 00000 n 
-0002318633 00000 n 
-0002317476 00000 n 
-0002316003 00000 n 
-0002318147 00000 n 
-0002318207 00000 n 
-0002318329 00000 n 
-0002318450 00000 n 
-0002318572 00000 n 
-0002320703 00000 n 
-0002320890 00000 n 
-0002321556 00000 n 
-0002320544 00000 n 
-0002318789 00000 n 
-0002321065 00000 n 
-0002321186 00000 n 
-0002321308 00000 n 
-0002321430 00000 n 
-0003364226 00000 n 
-0002323911 00000 n 
-0002324099 00000 n 
-0002327474 00000 n 
-0002324278 00000 n 
-0002324939 00000 n 
-0002323742 00000 n 
-0002321712 00000 n 
-0002324452 00000 n 
-0002324512 00000 n 
-0002324634 00000 n 
-0002324756 00000 n 
-0002324878 00000 n 
-0002327654 00000 n 
-0002327832 00000 n 
-0002328022 00000 n 
-0002328200 00000 n 
-0002328678 00000 n 
-0002327285 00000 n 
-0002325095 00000 n 
-0002328375 00000 n 
-0002328496 00000 n 
-0002328617 00000 n 
-0002330921 00000 n 
-0002331112 00000 n 
-0002331290 00000 n 
-0002331481 00000 n 
-0002331659 00000 n 
-0002331849 00000 n 
-0002332386 00000 n 
-0002330722 00000 n 
-0002328871 00000 n 
-0002332023 00000 n 
-0002332144 00000 n 
-0002332265 00000 n 
-0002334866 00000 n 
-0002335054 00000 n 
-0002335242 00000 n 
-0002335412 00000 n 
-0002335580 00000 n 
-0002336183 00000 n 
-0002334677 00000 n 
-0002332567 00000 n 
-0002335755 00000 n 
-0002335815 00000 n 
-0002335937 00000 n 
-0002336057 00000 n 
-0002339465 00000 n 
-0002339631 00000 n 
-0002339818 00000 n 
-0002339984 00000 n 
-0002340155 00000 n 
-0002340698 00000 n 
-0002339276 00000 n 
-0002336376 00000 n 
-0002340329 00000 n 
-0002340389 00000 n 
-0002340511 00000 n 
-0002340637 00000 n 
-0002343672 00000 n 
-0002343826 00000 n 
-0002343982 00000 n 
-0002344155 00000 n 
-0002344353 00000 n 
-0002344546 00000 n 
-0002344717 00000 n 
-0002345266 00000 n 
-0002343463 00000 n 
-0002340866 00000 n 
-0002344892 00000 n 
-0002345018 00000 n 
-0002345140 00000 n 
-0003364359 00000 n 
-0002347256 00000 n 
-0002347443 00000 n 
-0002347630 00000 n 
-0002351275 00000 n 
-0002351506 00000 n 
-0002347852 00000 n 
-0002348518 00000 n 
-0002347077 00000 n 
-0002345435 00000 n 
-0002348026 00000 n 
-0002348086 00000 n 
-0002348208 00000 n 
-0002348330 00000 n 
-0002348457 00000 n 
-0002539700 00000 n 
-0002351722 00000 n 
-0002351909 00000 n 
-0002352095 00000 n 
-0002352311 00000 n 
-0002353035 00000 n 
-0002351076 00000 n 
-0002348674 00000 n 
-0002352486 00000 n 
-0002352611 00000 n 
-0002352672 00000 n 
-0002352793 00000 n 
-0002352914 00000 n 
-0002355917 00000 n 
-0002356113 00000 n 
-0002356306 00000 n 
-0002356698 00000 n 
-0002356881 00000 n 
-0002357269 00000 n 
-0002357990 00000 n 
-0002355698 00000 n 
-0002353203 00000 n 
-0002357443 00000 n 
-0002357503 00000 n 
-0002357625 00000 n 
-0002356502 00000 n 
-0002357747 00000 n 
-0002357075 00000 n 
-0002357869 00000 n 
-0002359918 00000 n 
-0002360150 00000 n 
-0002360382 00000 n 
-0002360614 00000 n 
-0002360846 00000 n 
-0002361044 00000 n 
-0002361276 00000 n 
-0002361474 00000 n 
-0002361706 00000 n 
-0002361904 00000 n 
-0002362136 00000 n 
-0002362334 00000 n 
-0002362566 00000 n 
-0002362764 00000 n 
-0002362996 00000 n 
-0002363194 00000 n 
-0002366478 00000 n 
-0002366709 00000 n 
-0002366907 00000 n 
-0002363426 00000 n 
-0002364573 00000 n 
-0002359609 00000 n 
-0002358133 00000 n 
-0002363601 00000 n 
-0002363661 00000 n 
-0002363841 00000 n 
-0002363902 00000 n 
-0002363963 00000 n 
-0002364024 00000 n 
-0002364085 00000 n 
-0002364146 00000 n 
-0002364207 00000 n 
-0002364268 00000 n 
-0002364329 00000 n 
-0002364390 00000 n 
-0002364451 00000 n 
-0002364512 00000 n 
-0002367105 00000 n 
-0002367337 00000 n 
-0002367535 00000 n 
-0002367733 00000 n 
-0002367930 00000 n 
-0002368162 00000 n 
-0002368360 00000 n 
-0002368558 00000 n 
-0002368754 00000 n 
-0002368985 00000 n 
-0002369182 00000 n 
-0002369379 00000 n 
-0002369610 00000 n 
-0002369807 00000 n 
-0002370707 00000 n 
-0002366169 00000 n 
-0002364773 00000 n 
-0002369981 00000 n 
-0002370041 00000 n 
-0002370102 00000 n 
-0002370163 00000 n 
-0002370223 00000 n 
-0002370284 00000 n 
-0002370344 00000 n 
-0002370404 00000 n 
-0002370464 00000 n 
-0002370525 00000 n 
-0002370586 00000 n 
-0002370647 00000 n 
-0002375184 00000 n 
-0002372670 00000 n 
-0002372902 00000 n 
-0002373134 00000 n 
-0002373366 00000 n 
-0002373598 00000 n 
-0002373796 00000 n 
-0002374028 00000 n 
-0002374226 00000 n 
-0002374458 00000 n 
-0002374656 00000 n 
-0002377898 00000 n 
-0002378129 00000 n 
-0002378327 00000 n 
-0002374888 00000 n 
-0002375974 00000 n 
-0002372421 00000 n 
-0002370877 00000 n 
-0002375063 00000 n 
-0002375123 00000 n 
-0002375245 00000 n 
-0002375425 00000 n 
-0002375486 00000 n 
-0002375547 00000 n 
-0002375608 00000 n 
-0002375669 00000 n 
-0002375730 00000 n 
-0002375791 00000 n 
-0002375852 00000 n 
-0002375913 00000 n 
-0003364492 00000 n 
-0002378525 00000 n 
-0002378757 00000 n 
-0002378955 00000 n 
-0002379153 00000 n 
-0002379350 00000 n 
-0002379582 00000 n 
-0002379780 00000 n 
-0002379978 00000 n 
-0002380174 00000 n 
-0002380405 00000 n 
-0002380602 00000 n 
-0002380799 00000 n 
-0002381030 00000 n 
-0002381227 00000 n 
-0002382127 00000 n 
-0002377589 00000 n 
-0002376174 00000 n 
-0002381401 00000 n 
-0002381461 00000 n 
-0002381522 00000 n 
-0002381583 00000 n 
-0002381643 00000 n 
-0002381704 00000 n 
-0002381764 00000 n 
-0002381824 00000 n 
-0002381884 00000 n 
-0002381945 00000 n 
-0002382006 00000 n 
-0002382067 00000 n 
-0002388228 00000 n 
-0002384215 00000 n 
-0002384407 00000 n 
-0002384794 00000 n 
-0002385000 00000 n 
-0002385223 00000 n 
-0002385428 00000 n 
-0002385649 00000 n 
-0002385854 00000 n 
-0002386076 00000 n 
-0002386266 00000 n 
-0002386463 00000 n 
-0002386686 00000 n 
-0002386881 00000 n 
-0002387102 00000 n 
-0002387296 00000 n 
-0002387518 00000 n 
-0002387711 00000 n 
-0002391196 00000 n 
-0002391393 00000 n 
-0002387932 00000 n 
-0002389016 00000 n 
-0002383886 00000 n 
-0002382297 00000 n 
-0002388107 00000 n 
-0002388167 00000 n 
-0002388288 00000 n 
-0002384601 00000 n 
-0002388468 00000 n 
-0002388529 00000 n 
-0002388590 00000 n 
-0002388651 00000 n 
-0002388712 00000 n 
-0002388773 00000 n 
-0002388834 00000 n 
-0002388895 00000 n 
-0002388956 00000 n 
-0002391616 00000 n 
-0002391813 00000 n 
-0002392036 00000 n 
-0002392238 00000 n 
-0002392461 00000 n 
-0002392662 00000 n 
-0002392884 00000 n 
-0002393082 00000 n 
-0002393304 00000 n 
-0002393492 00000 n 
-0002393690 00000 n 
-0002393912 00000 n 
-0002394099 00000 n 
-0002394295 00000 n 
-0002394515 00000 n 
-0002394701 00000 n 
-0002394924 00000 n 
-0002395147 00000 n 
-0002395370 00000 n 
-0002395593 00000 n 
-0002395782 00000 n 
-0002396005 00000 n 
-0002396228 00000 n 
-0002396451 00000 n 
-0002396674 00000 n 
-0002396861 00000 n 
-0002397084 00000 n 
-0002397281 00000 n 
-0002397503 00000 n 
-0002401356 00000 n 
-0002401578 00000 n 
-0002401775 00000 n 
-0002401981 00000 n 
-0002397698 00000 n 
-0002398540 00000 n 
-0002390737 00000 n 
-0002389216 00000 n 
-0002397872 00000 n 
-0002397932 00000 n 
-0002397992 00000 n 
-0002398053 00000 n 
-0002398114 00000 n 
-0002398175 00000 n 
-0002398236 00000 n 
-0002398297 00000 n 
-0002398357 00000 n 
-0002398418 00000 n 
-0002398479 00000 n 
-0002482930 00000 n 
-0002483052 00000 n 
-0002483172 00000 n 
-0002485126 00000 n 
-0002485248 00000 n 
-0002485369 00000 n 
-0002485491 00000 n 
-0002402187 00000 n 
-0002402408 00000 n 
-0002402604 00000 n 
-0002402809 00000 n 
-0002403014 00000 n 
-0002403202 00000 n 
-0002403425 00000 n 
-0002403622 00000 n 
-0002403827 00000 n 
-0002404032 00000 n 
-0002404255 00000 n 
-0002404452 00000 n 
-0002404657 00000 n 
-0002404862 00000 n 
-0002405049 00000 n 
-0002405272 00000 n 
-0002405468 00000 n 
-0002405674 00000 n 
-0002405880 00000 n 
-0002406291 00000 n 
-0002406496 00000 n 
-0002406719 00000 n 
-0002406908 00000 n 
-0002407131 00000 n 
-0002407318 00000 n 
-0002407541 00000 n 
-0002407760 00000 n 
-0002407947 00000 n 
-0002408168 00000 n 
-0002408356 00000 n 
-0002408576 00000 n 
-0002408764 00000 n 
-0002408985 00000 n 
-0002409182 00000 n 
-0002409403 00000 n 
-0002409600 00000 n 
-0002409819 00000 n 
-0002412974 00000 n 
-0002413195 00000 n 
-0002410013 00000 n 
-0002410248 00000 n 
-0002400787 00000 n 
-0002398682 00000 n 
-0002410188 00000 n 
-0002406085 00000 n 
-0002485612 00000 n 
-0002488146 00000 n 
-0002488273 00000 n 
-0002491379 00000 n 
-0002491505 00000 n 
-0002493981 00000 n 
-0002494108 00000 n 
-0002494230 00000 n 
-0002494351 00000 n 
-0002496584 00000 n 
-0002496706 00000 n 
-0002496828 00000 n 
-0002496950 00000 n 
-0002499044 00000 n 
-0002413391 00000 n 
-0002413612 00000 n 
-0002413808 00000 n 
-0002414029 00000 n 
-0002414226 00000 n 
-0002414447 00000 n 
-0002414636 00000 n 
-0002414856 00000 n 
-0002415045 00000 n 
-0002415265 00000 n 
-0002415462 00000 n 
-0002415683 00000 n 
-0002415880 00000 n 
-0002416099 00000 n 
-0002416284 00000 n 
-0002416450 00000 n 
-0002416671 00000 n 
-0002416864 00000 n 
-0002417030 00000 n 
-0002417251 00000 n 
-0002417440 00000 n 
-0002417661 00000 n 
-0002417850 00000 n 
-0002418070 00000 n 
-0002418256 00000 n 
-0002418477 00000 n 
-0002418666 00000 n 
-0002418843 00000 n 
-0002419064 00000 n 
-0002419253 00000 n 
-0002419476 00000 n 
-0002419665 00000 n 
-0002419845 00000 n 
-0002420068 00000 n 
-0002420255 00000 n 
-0002420452 00000 n 
-0002424714 00000 n 
-0002424937 00000 n 
-0002425124 00000 n 
-0002425321 00000 n 
-0002420631 00000 n 
-0002420986 00000 n 
-0002412445 00000 n 
-0002410390 00000 n 
-0002420805 00000 n 
-0002420865 00000 n 
-0002420926 00000 n 
-0002499165 00000 n 
-0002501373 00000 n 
-0002501495 00000 n 
-0002501617 00000 n 
-0002501737 00000 n 
-0002503887 00000 n 
-0002504009 00000 n 
-0002504130 00000 n 
-0002504252 00000 n 
-0002506786 00000 n 
-0002506907 00000 n 
-0002507029 00000 n 
-0002507150 00000 n 
-0002510097 00000 n 
-0002425500 00000 n 
-0002425722 00000 n 
-0002425908 00000 n 
-0002426113 00000 n 
-0002426309 00000 n 
-0002426485 00000 n 
-0002426708 00000 n 
-0002426895 00000 n 
-0002427101 00000 n 
-0002427494 00000 n 
-0002427671 00000 n 
-0002427894 00000 n 
-0002428091 00000 n 
-0002428297 00000 n 
-0002428494 00000 n 
-0002428672 00000 n 
-0002428895 00000 n 
-0002429092 00000 n 
-0002429298 00000 n 
-0002429495 00000 n 
-0002429672 00000 n 
-0002429895 00000 n 
-0002430081 00000 n 
-0002430278 00000 n 
-0002430672 00000 n 
-0002430860 00000 n 
-0002431083 00000 n 
-0002431270 00000 n 
-0002431467 00000 n 
-0002431861 00000 n 
-0002432049 00000 n 
-0002432269 00000 n 
-0002432458 00000 n 
-0002432628 00000 n 
-0002432851 00000 n 
-0002433044 00000 n 
-0002433250 00000 n 
-0002433661 00000 n 
-0002433866 00000 n 
-0002434063 00000 n 
-0002434229 00000 n 
-0002434449 00000 n 
-0002434653 00000 n 
-0002434876 00000 n 
-0002435068 00000 n 
-0002435273 00000 n 
-0002435494 00000 n 
-0002435713 00000 n 
-0002438974 00000 n 
-0002439138 00000 n 
-0002439361 00000 n 
-0002439550 00000 n 
-0002435900 00000 n 
-0002436196 00000 n 
-0002424005 00000 n 
-0002421128 00000 n 
-0002436075 00000 n 
-0002427298 00000 n 
-0002430475 00000 n 
-0002431664 00000 n 
-0002433455 00000 n 
-0002436135 00000 n 
-0003364625 00000 n 
-0002510219 00000 n 
-0002510340 00000 n 
-0002513884 00000 n 
-0002514006 00000 n 
-0002517527 00000 n 
-0002517649 00000 n 
-0002517771 00000 n 
-0002521481 00000 n 
-0002521603 00000 n 
-0002524602 00000 n 
-0002524724 00000 n 
-0002524846 00000 n 
-0002439747 00000 n 
-0002439918 00000 n 
-0002440083 00000 n 
-0002440306 00000 n 
-0002440495 00000 n 
-0002440692 00000 n 
-0002440862 00000 n 
-0002441027 00000 n 
-0002441248 00000 n 
-0002441437 00000 n 
-0002441599 00000 n 
-0002441819 00000 n 
-0002442008 00000 n 
-0002442231 00000 n 
-0002442420 00000 n 
-0002442616 00000 n 
-0002442787 00000 n 
-0002442948 00000 n 
-0002443171 00000 n 
-0002443358 00000 n 
-0002443555 00000 n 
-0002443726 00000 n 
-0002443888 00000 n 
-0002444108 00000 n 
-0002444313 00000 n 
-0002444533 00000 n 
-0002444737 00000 n 
-0002444958 00000 n 
-0002445145 00000 n 
-0002445317 00000 n 
-0002445535 00000 n 
-0002445726 00000 n 
-0002445947 00000 n 
-0002446153 00000 n 
-0002446373 00000 n 
-0002446564 00000 n 
-0002446783 00000 n 
-0002446968 00000 n 
-0002447172 00000 n 
-0002447390 00000 n 
-0002447581 00000 n 
-0002447764 00000 n 
-0002448059 00000 n 
-0002438375 00000 n 
-0002436408 00000 n 
-0002447938 00000 n 
-0002447998 00000 n 
-0002528578 00000 n 
-0002528700 00000 n 
-0002532334 00000 n 
-0002532456 00000 n 
-0002532578 00000 n 
-0002535759 00000 n 
-0002535881 00000 n 
-0002539335 00000 n 
-0002539457 00000 n 
-0002539579 00000 n 
-0002543697 00000 n 
-0002543824 00000 n 
-0002450316 00000 n 
-0002450539 00000 n 
-0002450760 00000 n 
-0002450949 00000 n 
-0002451169 00000 n 
-0002451390 00000 n 
-0002451611 00000 n 
-0002451834 00000 n 
-0002452057 00000 n 
-0002452263 00000 n 
-0002452484 00000 n 
-0002452690 00000 n 
-0002452911 00000 n 
-0002453134 00000 n 
-0002453340 00000 n 
-0002453563 00000 n 
-0002453752 00000 n 
-0002453975 00000 n 
-0002454198 00000 n 
-0002454420 00000 n 
-0002458035 00000 n 
-0002458256 00000 n 
-0002458462 00000 n 
-0002454643 00000 n 
-0002455670 00000 n 
-0002449967 00000 n 
-0002448228 00000 n 
-0002454818 00000 n 
-0002454878 00000 n 
-0002454939 00000 n 
-0002455000 00000 n 
-0002455061 00000 n 
-0002455122 00000 n 
-0002455183 00000 n 
-0002455244 00000 n 
-0002455305 00000 n 
-0002455366 00000 n 
-0002455427 00000 n 
-0002455488 00000 n 
-0002455549 00000 n 
-0002455610 00000 n 
-0002547340 00000 n 
-0002547467 00000 n 
-0002458668 00000 n 
-0002458888 00000 n 
-0002459076 00000 n 
-0002459281 00000 n 
-0002459502 00000 n 
-0002459698 00000 n 
-0002459919 00000 n 
-0002460116 00000 n 
-0002460310 00000 n 
-0002460531 00000 n 
-0002460726 00000 n 
-0002460946 00000 n 
-0002461141 00000 n 
-0002461334 00000 n 
-0002461555 00000 n 
-0002461735 00000 n 
-0002461922 00000 n 
-0002462128 00000 n 
-0002462315 00000 n 
-0002462537 00000 n 
-0002462726 00000 n 
-0002462949 00000 n 
-0002463142 00000 n 
-0002463348 00000 n 
-0002463570 00000 n 
-0002463758 00000 n 
-0002463981 00000 n 
-0002464170 00000 n 
-0002464359 00000 n 
-0002464582 00000 n 
-0002464771 00000 n 
-0002468318 00000 n 
-0002468505 00000 n 
-0002464960 00000 n 
-0002465377 00000 n 
-0002457546 00000 n 
-0002455840 00000 n 
-0002465134 00000 n 
-0002465194 00000 n 
-0002465255 00000 n 
-0002465316 00000 n 
-0002477702 00000 n 
-0002477824 00000 n 
-0002477946 00000 n 
-0002480053 00000 n 
-0002480175 00000 n 
-0002480297 00000 n 
-0002482747 00000 n 
-0002547588 00000 n 
-0002552955 00000 n 
-0002553077 00000 n 
-0002553204 00000 n 
-0002468669 00000 n 
-0002468860 00000 n 
-0002469053 00000 n 
-0002469379 00000 n 
-0002469675 00000 n 
-0002468109 00000 n 
-0002465559 00000 n 
-0002469554 00000 n 
-0002469614 00000 n 
-0002469216 00000 n 
-0002472230 00000 n 
-0002472464 00000 n 
-0002472081 00000 n 
-0002469852 00000 n 
-0002472404 00000 n 
-0002474716 00000 n 
-0002474951 00000 n 
-0002474567 00000 n 
-0002472639 00000 n 
-0002474891 00000 n 
-0003364758 00000 n 
-0002477407 00000 n 
-0002478073 00000 n 
-0002477258 00000 n 
-0002475114 00000 n 
-0002477581 00000 n 
-0002477641 00000 n 
-0002477763 00000 n 
-0002477885 00000 n 
-0002478012 00000 n 
-0002479818 00000 n 
-0002480419 00000 n 
-0002479669 00000 n 
-0002478291 00000 n 
-0002479993 00000 n 
-0002480114 00000 n 
-0002480236 00000 n 
-0002480358 00000 n 
-0002482513 00000 n 
-0002483232 00000 n 
-0002482364 00000 n 
-0002480549 00000 n 
-0002482687 00000 n 
-0002482808 00000 n 
-0002482869 00000 n 
-0002482991 00000 n 
-0002483112 00000 n 
-0002484830 00000 n 
-0002485672 00000 n 
-0002484681 00000 n 
-0002483388 00000 n 
-0002485005 00000 n 
-0002485065 00000 n 
-0002485187 00000 n 
-0002485308 00000 n 
-0002485430 00000 n 
-0002485552 00000 n 
-0002487851 00000 n 
-0002488398 00000 n 
-0002487702 00000 n 
-0002485815 00000 n 
-0002488025 00000 n 
-0002488085 00000 n 
-0002488212 00000 n 
-0002488338 00000 n 
-0002490801 00000 n 
-0002490982 00000 n 
-0002491144 00000 n 
-0002491632 00000 n 
-0002490632 00000 n 
-0002488541 00000 n 
-0002491319 00000 n 
-0002491445 00000 n 
-0002491571 00000 n 
-0003364891 00000 n 
-0002493747 00000 n 
-0002494416 00000 n 
-0002493598 00000 n 
-0002491787 00000 n 
-0002493921 00000 n 
-0002494047 00000 n 
-0002494169 00000 n 
-0002494291 00000 n 
-0002496288 00000 n 
-0002497010 00000 n 
-0002496139 00000 n 
-0002494571 00000 n 
-0002496463 00000 n 
-0002496523 00000 n 
-0002496645 00000 n 
-0002496767 00000 n 
-0002496889 00000 n 
-0002498749 00000 n 
-0002499287 00000 n 
-0002498600 00000 n 
-0002497138 00000 n 
-0002498923 00000 n 
-0002498983 00000 n 
-0002499105 00000 n 
-0002499226 00000 n 
-0002501138 00000 n 
-0002501797 00000 n 
-0002500989 00000 n 
-0002499415 00000 n 
-0002501313 00000 n 
-0002501434 00000 n 
-0002501556 00000 n 
-0002501678 00000 n 
-0002503429 00000 n 
-0002503592 00000 n 
-0002504312 00000 n 
-0002503270 00000 n 
-0002501940 00000 n 
-0002503766 00000 n 
-0002503826 00000 n 
-0002503948 00000 n 
-0002504069 00000 n 
-0002504191 00000 n 
-0002505960 00000 n 
-0002506126 00000 n 
-0002506313 00000 n 
-0002506490 00000 n 
-0002507210 00000 n 
-0002505781 00000 n 
-0002504440 00000 n 
-0002506665 00000 n 
-0002506725 00000 n 
-0002506847 00000 n 
-0002506968 00000 n 
-0002507089 00000 n 
-0003365024 00000 n 
-0002509263 00000 n 
-0002509443 00000 n 
-0002509622 00000 n 
-0002509802 00000 n 
-0002510400 00000 n 
-0002509084 00000 n 
-0002507338 00000 n 
-0002509976 00000 n 
-0002510036 00000 n 
-0002510158 00000 n 
-0002510280 00000 n 
-0002512674 00000 n 
-0002512852 00000 n 
-0002513043 00000 n 
-0002513221 00000 n 
-0002513412 00000 n 
-0002513588 00000 n 
-0002514128 00000 n 
-0002512475 00000 n 
-0002510543 00000 n 
-0002513763 00000 n 
-0002513823 00000 n 
-0002513945 00000 n 
-0002514067 00000 n 
-0002516543 00000 n 
-0002516735 00000 n 
-0002516913 00000 n 
-0002517105 00000 n 
-0002517293 00000 n 
-0002517831 00000 n 
-0002516354 00000 n 
-0002514321 00000 n 
-0002517467 00000 n 
-0002517588 00000 n 
-0002517710 00000 n 
-0002520475 00000 n 
-0002520662 00000 n 
-0002520832 00000 n 
-0002520998 00000 n 
-0002521185 00000 n 
-0002521725 00000 n 
-0002520286 00000 n 
-0002518024 00000 n 
-0002521360 00000 n 
-0002521420 00000 n 
-0002521542 00000 n 
-0002521664 00000 n 
-0002524201 00000 n 
-0002526945 00000 n 
-0002524368 00000 n 
-0002524906 00000 n 
-0002524042 00000 n 
-0002521905 00000 n 
-0002524542 00000 n 
-0002524663 00000 n 
-0002524785 00000 n 
-0002527109 00000 n 
-0002527278 00000 n 
-0002527448 00000 n 
-0002527611 00000 n 
-0002527780 00000 n 
-0002527951 00000 n 
-0002528115 00000 n 
-0002528282 00000 n 
-0002528822 00000 n 
-0002526716 00000 n 
-0002525049 00000 n 
-0002528457 00000 n 
-0002528517 00000 n 
-0002528639 00000 n 
-0002528761 00000 n 
-0003365157 00000 n 
-0002530779 00000 n 
-0002530941 00000 n 
-0002531110 00000 n 
-0002531281 00000 n 
-0002531604 00000 n 
-0002531773 00000 n 
-0002531942 00000 n 
-0002534913 00000 n 
-0002532100 00000 n 
-0002532700 00000 n 
-0002530550 00000 n 
-0002528978 00000 n 
-0002532274 00000 n 
-0002532395 00000 n 
-0002532517 00000 n 
-0002531443 00000 n 
-0002532639 00000 n 
-0002535081 00000 n 
-0002535303 00000 n 
-0002535524 00000 n 
-0002536003 00000 n 
-0002534734 00000 n 
-0002532856 00000 n 
-0002535699 00000 n 
-0002535820 00000 n 
-0002535942 00000 n 
-0002538332 00000 n 
-0002538505 00000 n 
-0002538727 00000 n 
-0002538914 00000 n 
-0002542626 00000 n 
-0002539101 00000 n 
-0002539760 00000 n 
-0002538143 00000 n 
-0002536206 00000 n 
-0002539275 00000 n 
-0002539396 00000 n 
-0002539518 00000 n 
-0002539639 00000 n 
-0002542817 00000 n 
-0002543008 00000 n 
-0002543231 00000 n 
-0002543401 00000 n 
-0002543888 00000 n 
-0002542437 00000 n 
-0002539950 00000 n 
-0002543576 00000 n 
-0002543636 00000 n 
-0002543763 00000 n 
-0002546500 00000 n 
-0002546687 00000 n 
-0002546874 00000 n 
-0002547045 00000 n 
-0002547714 00000 n 
-0002546321 00000 n 
-0002544056 00000 n 
-0002547219 00000 n 
-0002547279 00000 n 
-0002547406 00000 n 
-0002547527 00000 n 
-0002547653 00000 n 
-0002550084 00000 n 
-0002550305 00000 n 
-0002550526 00000 n 
-0002550713 00000 n 
-0002550933 00000 n 
-0002551153 00000 n 
-0002551340 00000 n 
-0002551559 00000 n 
-0002551779 00000 n 
-0002552000 00000 n 
-0002552219 00000 n 
-0002552440 00000 n 
-0002552659 00000 n 
-0002553692 00000 n 
-0002549815 00000 n 
-0002547882 00000 n 
-0002552834 00000 n 
-0002552894 00000 n 
-0002553016 00000 n 
-0002553143 00000 n 
-0002553270 00000 n 
-0002553450 00000 n 
-0002553511 00000 n 
-0002553570 00000 n 
-0002553631 00000 n 
-0003365290 00000 n 
-0002588009 00000 n 
-0002588131 00000 n 
-0002555999 00000 n 
-0002556220 00000 n 
-0002556441 00000 n 
-0002556628 00000 n 
-0002556849 00000 n 
-0002557069 00000 n 
-0002557290 00000 n 
-0002557476 00000 n 
-0002557696 00000 n 
-0002557917 00000 n 
-0002558123 00000 n 
-0002558342 00000 n 
-0002558548 00000 n 
-0002558767 00000 n 
-0002558988 00000 n 
-0002559207 00000 n 
-0002559428 00000 n 
-0002559649 00000 n 
-0002559868 00000 n 
-0002563514 00000 n 
-0002563734 00000 n 
-0002560087 00000 n 
-0002561172 00000 n 
-0002555660 00000 n 
-0002553862 00000 n 
-0002560261 00000 n 
-0002560321 00000 n 
-0002560382 00000 n 
-0002560443 00000 n 
-0002560503 00000 n 
-0002560564 00000 n 
-0002560625 00000 n 
-0002560686 00000 n 
-0002560747 00000 n 
-0002560808 00000 n 
-0002560869 00000 n 
-0002560930 00000 n 
-0002560991 00000 n 
-0002561052 00000 n 
-0002561112 00000 n 
-0002591127 00000 n 
-0002563954 00000 n 
-0002564173 00000 n 
-0002564392 00000 n 
-0002564613 00000 n 
-0002564834 00000 n 
-0002565055 00000 n 
-0002565276 00000 n 
-0002565497 00000 n 
-0002565718 00000 n 
-0002565939 00000 n 
-0002566160 00000 n 
-0002566381 00000 n 
-0002566601 00000 n 
-0002566820 00000 n 
-0002567041 00000 n 
-0002567262 00000 n 
-0002567483 00000 n 
-0002567702 00000 n 
-0002567923 00000 n 
-0002568144 00000 n 
-0002568363 00000 n 
-0002568550 00000 n 
-0002568769 00000 n 
-0002568955 00000 n 
-0002569174 00000 n 
-0002569361 00000 n 
-0002569580 00000 n 
-0002569767 00000 n 
-0002569984 00000 n 
-0002573717 00000 n 
-0002573938 00000 n 
-0002574124 00000 n 
-0002574342 00000 n 
-0002570168 00000 n 
-0002571253 00000 n 
-0002563055 00000 n 
-0002561327 00000 n 
-0002570343 00000 n 
-0002570403 00000 n 
-0002570464 00000 n 
-0002570525 00000 n 
-0002570586 00000 n 
-0002570647 00000 n 
-0002570708 00000 n 
-0002570768 00000 n 
-0002570829 00000 n 
-0002570890 00000 n 
-0002570951 00000 n 
-0002571012 00000 n 
-0002571073 00000 n 
-0002571132 00000 n 
-0002571193 00000 n 
-0002591249 00000 n 
-0002574527 00000 n 
-0002574746 00000 n 
-0002574966 00000 n 
-0002575186 00000 n 
-0002575407 00000 n 
-0002575628 00000 n 
-0002575849 00000 n 
-0002576069 00000 n 
-0002576290 00000 n 
-0002576511 00000 n 
-0002576732 00000 n 
-0002576953 00000 n 
-0002577174 00000 n 
-0002577360 00000 n 
-0002577580 00000 n 
-0002577801 00000 n 
-0002578022 00000 n 
-0002578927 00000 n 
-0002573368 00000 n 
-0002571408 00000 n 
-0002578196 00000 n 
-0002578256 00000 n 
-0002578317 00000 n 
-0002578378 00000 n 
-0002578439 00000 n 
-0002578500 00000 n 
-0002578561 00000 n 
-0002578622 00000 n 
-0002578683 00000 n 
-0002578744 00000 n 
-0002578805 00000 n 
-0002578866 00000 n 
-0002591375 00000 n 
-0002591502 00000 n 
-0002591624 00000 n 
-0002591751 00000 n 
-0002581666 00000 n 
-0002581886 00000 n 
-0002582073 00000 n 
-0002582260 00000 n 
-0002582481 00000 n 
-0002582668 00000 n 
-0002582855 00000 n 
-0002583076 00000 n 
-0002583263 00000 n 
-0002583483 00000 n 
-0002583669 00000 n 
-0002583855 00000 n 
-0002584012 00000 n 
-0002584198 00000 n 
-0002584612 00000 n 
-0002581387 00000 n 
-0002579096 00000 n 
-0002584373 00000 n 
-0002584433 00000 n 
-0002584492 00000 n 
-0002584551 00000 n 
-0002594211 00000 n 
-0002594333 00000 n 
-0002594455 00000 n 
-0002594577 00000 n 
-0002586871 00000 n 
-0002587058 00000 n 
-0002587277 00000 n 
-0002587714 00000 n 
-0002588258 00000 n 
-0002586682 00000 n 
-0002584766 00000 n 
-0002587888 00000 n 
-0002587948 00000 n 
-0002588070 00000 n 
-0002588197 00000 n 
-0002587496 00000 n 
-0002590831 00000 n 
-0002591816 00000 n 
-0002590682 00000 n 
-0002588399 00000 n 
-0002591006 00000 n 
-0002591066 00000 n 
-0002591188 00000 n 
-0002591314 00000 n 
-0002591441 00000 n 
-0002591563 00000 n 
-0002591690 00000 n 
-0003365423 00000 n 
-0002593855 00000 n 
-0002594818 00000 n 
-0002593706 00000 n 
-0002591972 00000 n 
-0002594029 00000 n 
-0002594089 00000 n 
-0002594150 00000 n 
-0002594272 00000 n 
-0002594394 00000 n 
-0002594516 00000 n 
-0002594638 00000 n 
-0002597176 00000 n 
-0002597414 00000 n 
-0002597655 00000 n 
-0002597895 00000 n 
-0002598101 00000 n 
-0002599004 00000 n 
-0002596987 00000 n 
-0002594974 00000 n 
-0002598276 00000 n 
-0002598336 00000 n 
-0002598516 00000 n 
-0002598577 00000 n 
-0002598638 00000 n 
-0002598699 00000 n 
-0002598760 00000 n 
-0002598821 00000 n 
-0002598882 00000 n 
-0002598943 00000 n 
-0002601290 00000 n 
-0002601517 00000 n 
-0002601746 00000 n 
-0002601974 00000 n 
-0002602178 00000 n 
-0002602834 00000 n 
-0002601101 00000 n 
-0002599187 00000 n 
-0002602352 00000 n 
-0002602531 00000 n 
-0002602591 00000 n 
-0002602651 00000 n 
-0002602712 00000 n 
-0002602773 00000 n 
-0002605505 00000 n 
-0002604767 00000 n 
-0002604987 00000 n 
-0002607911 00000 n 
-0002605209 00000 n 
-0002606108 00000 n 
-0002604598 00000 n 
-0002603016 00000 n 
-0002605384 00000 n 
-0002605444 00000 n 
-0002605566 00000 n 
-0002605745 00000 n 
-0002605806 00000 n 
-0002605867 00000 n 
-0002605928 00000 n 
-0002608110 00000 n 
-0002608331 00000 n 
-0002608518 00000 n 
-0002608737 00000 n 
-0002608942 00000 n 
-0002609147 00000 n 
-0002609368 00000 n 
-0002609573 00000 n 
-0002609794 00000 n 
-0002609999 00000 n 
-0002610220 00000 n 
-0002610425 00000 n 
-0002610646 00000 n 
-0002610867 00000 n 
-0002611072 00000 n 
-0002611292 00000 n 
-0002611479 00000 n 
-0002611700 00000 n 
-0002611921 00000 n 
-0002612108 00000 n 
-0002612329 00000 n 
-0002616057 00000 n 
-0002616277 00000 n 
-0002612550 00000 n 
-0002613515 00000 n 
-0002607542 00000 n 
-0002606277 00000 n 
-0002612724 00000 n 
-0002612784 00000 n 
-0002612845 00000 n 
-0002612906 00000 n 
-0002612967 00000 n 
-0002613028 00000 n 
-0002613089 00000 n 
-0002613150 00000 n 
-0002613211 00000 n 
-0002613272 00000 n 
-0002613333 00000 n 
-0002613454 00000 n 
-0002618290 00000 n 
-0002618473 00000 n 
-0002616463 00000 n 
-0002616684 00000 n 
-0002616871 00000 n 
-0002617058 00000 n 
-0002617245 00000 n 
-0002617432 00000 n 
-0002617653 00000 n 
-0002617872 00000 n 
-0002618595 00000 n 
-0002615818 00000 n 
-0002613670 00000 n 
-0002618047 00000 n 
-0002618107 00000 n 
-0002618168 00000 n 
-0002618229 00000 n 
-0002618351 00000 n 
-0002618412 00000 n 
-0002618534 00000 n 
-0003365556 00000 n 
-0002624760 00000 n 
-0002624882 00000 n 
-0002620840 00000 n 
-0002621066 00000 n 
-0002621292 00000 n 
-0002621479 00000 n 
-0002621705 00000 n 
-0002621892 00000 n 
-0002622079 00000 n 
-0002622283 00000 n 
-0002622509 00000 n 
-0002622736 00000 n 
-0002622922 00000 n 
-0002623149 00000 n 
-0002623376 00000 n 
-0002623581 00000 n 
-0002623808 00000 n 
-0002624013 00000 n 
-0002624240 00000 n 
-0002624465 00000 n 
-0002625670 00000 n 
-0002620521 00000 n 
-0002618776 00000 n 
-0002624639 00000 n 
-0002624699 00000 n 
-0002624821 00000 n 
-0002624943 00000 n 
-0002625123 00000 n 
-0002625184 00000 n 
-0002625245 00000 n 
-0002625305 00000 n 
-0002625366 00000 n 
-0002625427 00000 n 
-0002625488 00000 n 
-0002625549 00000 n 
-0002625610 00000 n 
-0002630197 00000 n 
-0002629770 00000 n 
-0002627750 00000 n 
-0002627976 00000 n 
-0002628203 00000 n 
-0002628430 00000 n 
-0002628636 00000 n 
-0002628863 00000 n 
-0002629055 00000 n 
-0002629282 00000 n 
-0002629475 00000 n 
-0002630502 00000 n 
-0002627521 00000 n 
-0002625855 00000 n 
-0002629650 00000 n 
-0002629710 00000 n 
-0002629831 00000 n 
-0002629892 00000 n 
-0002629953 00000 n 
-0002630014 00000 n 
-0002630075 00000 n 
-0002630136 00000 n 
-0002630258 00000 n 
-0002630319 00000 n 
-0002630380 00000 n 
-0002630441 00000 n 
-0002631275 00000 n 
-0002631509 00000 n 
-0002631126 00000 n 
-0002630702 00000 n 
-0002631449 00000 n 
-0002633264 00000 n 
-0002633415 00000 n 
-0002633568 00000 n 
-0002633721 00000 n 
-0002633874 00000 n 
-0002634024 00000 n 
-0002634177 00000 n 
-0002634330 00000 n 
-0002634483 00000 n 
-0002634636 00000 n 
-0002634788 00000 n 
-0002634941 00000 n 
-0002635092 00000 n 
-0002635245 00000 n 
-0002635398 00000 n 
-0002635551 00000 n 
-0002635703 00000 n 
-0002635855 00000 n 
-0002636008 00000 n 
-0002636159 00000 n 
-0002636312 00000 n 
-0002636465 00000 n 
-0002636617 00000 n 
-0002636769 00000 n 
-0002636922 00000 n 
-0002637075 00000 n 
-0002637227 00000 n 
-0002637380 00000 n 
-0002637531 00000 n 
-0002637684 00000 n 
-0002637837 00000 n 
-0002637987 00000 n 
-0002638139 00000 n 
-0002638292 00000 n 
-0002638444 00000 n 
-0002638596 00000 n 
-0002638748 00000 n 
-0002638901 00000 n 
-0002639053 00000 n 
-0002639206 00000 n 
-0002639359 00000 n 
-0002639512 00000 n 
-0002639664 00000 n 
-0002639815 00000 n 
-0002639968 00000 n 
-0002640121 00000 n 
-0002640273 00000 n 
-0002640425 00000 n 
-0002640577 00000 n 
-0002640730 00000 n 
-0002640883 00000 n 
-0002641036 00000 n 
-0002641189 00000 n 
-0002641341 00000 n 
-0002641494 00000 n 
-0002641647 00000 n 
-0002641800 00000 n 
-0002641953 00000 n 
-0002642106 00000 n 
-0002642257 00000 n 
-0002644614 00000 n 
-0002642529 00000 n 
-0002632525 00000 n 
-0002631609 00000 n 
-0002642408 00000 n 
-0002642468 00000 n 
-0002644767 00000 n 
-0002644920 00000 n 
-0002645072 00000 n 
-0002645224 00000 n 
-0002645377 00000 n 
-0002645528 00000 n 
-0002645681 00000 n 
-0002645831 00000 n 
-0002645984 00000 n 
-0002646137 00000 n 
-0002646290 00000 n 
-0002646442 00000 n 
-0002646595 00000 n 
-0002646748 00000 n 
-0002646901 00000 n 
-0002647054 00000 n 
-0002647205 00000 n 
-0002647358 00000 n 
-0002647511 00000 n 
-0002647663 00000 n 
-0002647815 00000 n 
-0002647967 00000 n 
-0002648120 00000 n 
-0002648271 00000 n 
-0002648423 00000 n 
-0002648576 00000 n 
-0002648729 00000 n 
-0002648882 00000 n 
-0002649034 00000 n 
-0002649186 00000 n 
-0002649337 00000 n 
-0002649487 00000 n 
-0002649638 00000 n 
-0002649788 00000 n 
-0002649940 00000 n 
-0002650092 00000 n 
-0002650245 00000 n 
-0002650398 00000 n 
-0002650551 00000 n 
-0002650702 00000 n 
-0002650853 00000 n 
-0002651006 00000 n 
-0002651158 00000 n 
-0002651311 00000 n 
-0002651463 00000 n 
-0002651616 00000 n 
-0002651768 00000 n 
-0002651918 00000 n 
-0002652068 00000 n 
-0002652218 00000 n 
-0002652368 00000 n 
-0002652518 00000 n 
-0002652671 00000 n 
-0002652824 00000 n 
-0002652977 00000 n 
-0002653130 00000 n 
-0002655683 00000 n 
-0002653280 00000 n 
-0002653514 00000 n 
-0002643895 00000 n 
-0002642616 00000 n 
-0002653454 00000 n 
-0002655836 00000 n 
-0002655988 00000 n 
-0002656141 00000 n 
-0002656292 00000 n 
-0002656445 00000 n 
-0002656598 00000 n 
-0002656751 00000 n 
-0002656904 00000 n 
-0002657056 00000 n 
-0002657207 00000 n 
-0002657358 00000 n 
-0002657510 00000 n 
-0002657662 00000 n 
-0002657814 00000 n 
-0002657967 00000 n 
-0002658118 00000 n 
-0002658271 00000 n 
-0002658424 00000 n 
-0002658575 00000 n 
-0002658728 00000 n 
-0002658880 00000 n 
-0002659033 00000 n 
-0002659184 00000 n 
-0002659336 00000 n 
-0002659489 00000 n 
-0002659642 00000 n 
-0002659795 00000 n 
-0002659947 00000 n 
-0002660097 00000 n 
-0002660249 00000 n 
-0002660401 00000 n 
-0002660551 00000 n 
-0002660700 00000 n 
-0002660853 00000 n 
-0002661006 00000 n 
-0002661159 00000 n 
-0002661311 00000 n 
-0002661464 00000 n 
-0002661617 00000 n 
-0002661770 00000 n 
-0002661923 00000 n 
-0002662075 00000 n 
-0002662228 00000 n 
-0002662381 00000 n 
-0002662534 00000 n 
-0002662687 00000 n 
-0002662840 00000 n 
-0002662993 00000 n 
-0002663143 00000 n 
-0002663294 00000 n 
-0002663447 00000 n 
-0002663599 00000 n 
-0002663751 00000 n 
-0002663904 00000 n 
-0002664057 00000 n 
-0002664210 00000 n 
-0002664363 00000 n 
-0002664516 00000 n 
-0002667025 00000 n 
-0002664664 00000 n 
-0002664899 00000 n 
-0002654944 00000 n 
-0002653614 00000 n 
-0002664839 00000 n 
-0003365689 00000 n 
-0002667178 00000 n 
-0002667329 00000 n 
-0002667482 00000 n 
-0002667634 00000 n 
-0002667786 00000 n 
-0002667938 00000 n 
-0002668090 00000 n 
-0002668242 00000 n 
-0002668395 00000 n 
-0002668548 00000 n 
-0002668701 00000 n 
-0002668852 00000 n 
-0002669005 00000 n 
-0002669158 00000 n 
-0002669310 00000 n 
-0002669462 00000 n 
-0002669614 00000 n 
-0002669767 00000 n 
-0002669920 00000 n 
-0002670072 00000 n 
-0002670224 00000 n 
-0002670375 00000 n 
-0002670528 00000 n 
-0002670681 00000 n 
-0002670834 00000 n 
-0002670987 00000 n 
-0002671139 00000 n 
-0002671292 00000 n 
-0002671445 00000 n 
-0002671595 00000 n 
-0002671748 00000 n 
-0002671900 00000 n 
-0002672053 00000 n 
-0002672206 00000 n 
-0002672359 00000 n 
-0002672508 00000 n 
-0002672659 00000 n 
-0002672812 00000 n 
-0002672965 00000 n 
-0002673118 00000 n 
-0002673271 00000 n 
-0002673422 00000 n 
-0002673572 00000 n 
-0002673721 00000 n 
-0002673874 00000 n 
-0002674026 00000 n 
-0002674179 00000 n 
-0002674332 00000 n 
-0002674485 00000 n 
-0002674638 00000 n 
-0002674791 00000 n 
-0002674944 00000 n 
-0002675097 00000 n 
-0002675250 00000 n 
-0002675401 00000 n 
-0002675554 00000 n 
-0002675707 00000 n 
-0002675857 00000 n 
-0002676009 00000 n 
-0002676156 00000 n 
-0002676390 00000 n 
-0002666276 00000 n 
-0002664999 00000 n 
-0002676330 00000 n 
-0002678676 00000 n 
-0002678828 00000 n 
-0002678981 00000 n 
-0002679134 00000 n 
-0002679285 00000 n 
-0002679438 00000 n 
-0002679591 00000 n 
-0002679744 00000 n 
-0002679897 00000 n 
-0002680050 00000 n 
-0002680202 00000 n 
-0002680355 00000 n 
-0002680506 00000 n 
-0002680659 00000 n 
-0002680811 00000 n 
-0002680964 00000 n 
-0002681117 00000 n 
-0002681269 00000 n 
-0002681422 00000 n 
-0002681575 00000 n 
-0002681728 00000 n 
-0002681881 00000 n 
-0002682034 00000 n 
-0002682185 00000 n 
-0002682338 00000 n 
-0002682491 00000 n 
-0002682644 00000 n 
-0002682797 00000 n 
-0002682949 00000 n 
-0002683100 00000 n 
-0002683251 00000 n 
-0002683400 00000 n 
-0002683553 00000 n 
-0002683706 00000 n 
-0002683859 00000 n 
-0002684012 00000 n 
-0002684165 00000 n 
-0002684318 00000 n 
-0002684471 00000 n 
-0002684624 00000 n 
-0002684777 00000 n 
-0002684930 00000 n 
-0002685083 00000 n 
-0002685236 00000 n 
-0002685389 00000 n 
-0002685542 00000 n 
-0002685695 00000 n 
-0002685848 00000 n 
-0002686000 00000 n 
-0002686153 00000 n 
-0002686305 00000 n 
-0002686458 00000 n 
-0002686611 00000 n 
-0002686763 00000 n 
-0002686915 00000 n 
-0002687068 00000 n 
-0002687221 00000 n 
-0002687374 00000 n 
-0002687527 00000 n 
-0002687680 00000 n 
-0002687833 00000 n 
-0002687985 00000 n 
-0002688138 00000 n 
-0002688290 00000 n 
-0002688443 00000 n 
-0002688595 00000 n 
-0002688747 00000 n 
-0002688899 00000 n 
-0002689047 00000 n 
-0002689198 00000 n 
-0002689349 00000 n 
-0002689500 00000 n 
-0002689735 00000 n 
-0002677817 00000 n 
-0002676490 00000 n 
-0002689675 00000 n 
-0002691878 00000 n 
-0002692029 00000 n 
-0002692181 00000 n 
-0002692333 00000 n 
-0002692486 00000 n 
-0002692639 00000 n 
-0002692792 00000 n 
-0002692945 00000 n 
-0002693098 00000 n 
-0002693250 00000 n 
-0002693403 00000 n 
-0002693555 00000 n 
-0002693708 00000 n 
-0002693861 00000 n 
-0002694013 00000 n 
-0002694165 00000 n 
-0002694317 00000 n 
-0002694469 00000 n 
-0002694620 00000 n 
-0002694772 00000 n 
-0002694924 00000 n 
-0002695076 00000 n 
-0002695228 00000 n 
-0002695380 00000 n 
-0002695532 00000 n 
-0002695683 00000 n 
-0002695835 00000 n 
-0002695985 00000 n 
-0002696136 00000 n 
-0002696287 00000 n 
-0002696437 00000 n 
-0002696590 00000 n 
-0002696743 00000 n 
-0002696896 00000 n 
-0002697049 00000 n 
-0002697202 00000 n 
-0002697355 00000 n 
-0002697508 00000 n 
-0002697661 00000 n 
-0002697814 00000 n 
-0002697967 00000 n 
-0002698119 00000 n 
-0002698270 00000 n 
-0002698423 00000 n 
-0002698576 00000 n 
-0002698729 00000 n 
-0002698882 00000 n 
-0002699034 00000 n 
-0002699186 00000 n 
-0002699338 00000 n 
-0002699490 00000 n 
-0002699642 00000 n 
-0002699793 00000 n 
-0002699945 00000 n 
-0002700098 00000 n 
-0002700251 00000 n 
-0002700403 00000 n 
-0002700556 00000 n 
-0002700706 00000 n 
-0002700940 00000 n 
-0002691149 00000 n 
-0002689835 00000 n 
-0002700880 00000 n 
-0002703175 00000 n 
-0002703328 00000 n 
-0002703481 00000 n 
-0002703634 00000 n 
-0002703786 00000 n 
-0002703939 00000 n 
-0002704092 00000 n 
-0002704245 00000 n 
-0002704398 00000 n 
-0002704551 00000 n 
-0002704703 00000 n 
-0002704856 00000 n 
-0002705009 00000 n 
-0002705160 00000 n 
-0002705313 00000 n 
-0002705466 00000 n 
-0002705619 00000 n 
-0002705771 00000 n 
-0002705924 00000 n 
-0002706077 00000 n 
-0002706230 00000 n 
-0002706381 00000 n 
-0002706533 00000 n 
-0002706686 00000 n 
-0002706839 00000 n 
-0002706991 00000 n 
-0002707144 00000 n 
-0002707295 00000 n 
-0002707446 00000 n 
-0002707599 00000 n 
-0002707751 00000 n 
-0002707902 00000 n 
-0002708055 00000 n 
-0002708208 00000 n 
-0002708361 00000 n 
-0002708514 00000 n 
-0002708667 00000 n 
-0002708819 00000 n 
-0002708972 00000 n 
-0002709123 00000 n 
-0002709276 00000 n 
-0002709429 00000 n 
-0002709581 00000 n 
-0002709734 00000 n 
-0002709887 00000 n 
-0002710039 00000 n 
-0002710192 00000 n 
-0002710342 00000 n 
-0002710495 00000 n 
-0002710647 00000 n 
-0002710800 00000 n 
-0002710953 00000 n 
-0002711106 00000 n 
-0002711259 00000 n 
-0002711412 00000 n 
-0002711565 00000 n 
-0002711718 00000 n 
-0002711869 00000 n 
-0002712022 00000 n 
-0002712175 00000 n 
-0002712325 00000 n 
-0002712475 00000 n 
-0002712626 00000 n 
-0002715357 00000 n 
-0002712776 00000 n 
-0002713011 00000 n 
-0002702396 00000 n 
-0002701040 00000 n 
-0002712951 00000 n 
-0002715508 00000 n 
-0002715661 00000 n 
-0002715814 00000 n 
-0002715967 00000 n 
-0002716120 00000 n 
-0002716273 00000 n 
-0002716426 00000 n 
-0002716579 00000 n 
-0002716731 00000 n 
-0002716882 00000 n 
-0002717034 00000 n 
-0002717187 00000 n 
-0002717339 00000 n 
-0002717492 00000 n 
-0002717645 00000 n 
-0002717797 00000 n 
-0002717950 00000 n 
-0002718103 00000 n 
-0002718255 00000 n 
-0002718408 00000 n 
-0002718561 00000 n 
-0002718713 00000 n 
-0002718866 00000 n 
-0002719018 00000 n 
-0002719171 00000 n 
-0002719324 00000 n 
-0002719477 00000 n 
-0002719629 00000 n 
-0002719782 00000 n 
-0002719933 00000 n 
-0002720083 00000 n 
-0002720236 00000 n 
-0002720389 00000 n 
-0002720542 00000 n 
-0002720695 00000 n 
-0002720847 00000 n 
-0002720999 00000 n 
-0002721151 00000 n 
-0002721303 00000 n 
-0002721456 00000 n 
-0002721609 00000 n 
-0002721761 00000 n 
-0002721914 00000 n 
-0002722067 00000 n 
-0002722220 00000 n 
-0002722373 00000 n 
-0002722526 00000 n 
-0002722679 00000 n 
-0002722831 00000 n 
-0002722983 00000 n 
-0002723136 00000 n 
-0002723289 00000 n 
-0002723441 00000 n 
-0002723593 00000 n 
-0002723744 00000 n 
-0002723896 00000 n 
-0002724048 00000 n 
-0002724200 00000 n 
-0002724353 00000 n 
-0002724505 00000 n 
-0002724658 00000 n 
-0002724811 00000 n 
-0002724964 00000 n 
-0002725117 00000 n 
-0002727678 00000 n 
-0002727831 00000 n 
-0002725267 00000 n 
-0002725501 00000 n 
-0002714558 00000 n 
-0002713111 00000 n 
-0002725441 00000 n 
-0002727984 00000 n 
-0002728137 00000 n 
-0002728290 00000 n 
-0002728443 00000 n 
-0002728595 00000 n 
-0002728748 00000 n 
-0002728901 00000 n 
-0002729054 00000 n 
-0002729207 00000 n 
-0002729360 00000 n 
-0002729512 00000 n 
-0002729665 00000 n 
-0002729817 00000 n 
-0002729970 00000 n 
-0002730122 00000 n 
-0002730274 00000 n 
-0002730427 00000 n 
-0002730580 00000 n 
-0002730733 00000 n 
-0002730885 00000 n 
-0002731037 00000 n 
-0002731190 00000 n 
-0002731340 00000 n 
-0002731493 00000 n 
-0002731646 00000 n 
-0002731799 00000 n 
-0002731952 00000 n 
-0002732105 00000 n 
-0002732257 00000 n 
-0002732407 00000 n 
-0002732558 00000 n 
-0002732711 00000 n 
-0002732864 00000 n 
-0002733017 00000 n 
-0002733170 00000 n 
-0002733322 00000 n 
-0002733474 00000 n 
-0002733626 00000 n 
-0002733778 00000 n 
-0002733929 00000 n 
-0002734081 00000 n 
-0002734233 00000 n 
-0002734385 00000 n 
-0002734535 00000 n 
-0002734684 00000 n 
-0002734833 00000 n 
-0002734986 00000 n 
-0002735139 00000 n 
-0002735291 00000 n 
-0002735441 00000 n 
-0002735591 00000 n 
-0002735741 00000 n 
-0002735893 00000 n 
-0002736045 00000 n 
-0002736195 00000 n 
-0002736430 00000 n 
-0002726969 00000 n 
-0002725614 00000 n 
-0002736370 00000 n 
-0003365822 00000 n 
-0002739328 00000 n 
-0002739481 00000 n 
-0002739634 00000 n 
-0002739786 00000 n 
-0002739937 00000 n 
-0002740089 00000 n 
-0002740241 00000 n 
-0002740393 00000 n 
-0002740545 00000 n 
-0002740697 00000 n 
-0002740848 00000 n 
-0002740999 00000 n 
-0002741151 00000 n 
-0002741302 00000 n 
-0002741454 00000 n 
-0002741606 00000 n 
-0002741758 00000 n 
-0002741909 00000 n 
-0002742061 00000 n 
-0002742213 00000 n 
-0002742364 00000 n 
-0002742515 00000 n 
-0002742665 00000 n 
-0002742816 00000 n 
-0002742967 00000 n 
-0002743119 00000 n 
-0002743271 00000 n 
-0002743422 00000 n 
-0002743571 00000 n 
-0002743724 00000 n 
-0002743874 00000 n 
-0002744026 00000 n 
-0002744179 00000 n 
-0002744331 00000 n 
-0002744484 00000 n 
-0002744637 00000 n 
-0002744790 00000 n 
-0002744942 00000 n 
-0002745095 00000 n 
-0002745248 00000 n 
-0002745401 00000 n 
-0002745553 00000 n 
-0002745705 00000 n 
-0002745856 00000 n 
-0002746006 00000 n 
-0002746159 00000 n 
-0002746312 00000 n 
-0002746465 00000 n 
-0002746617 00000 n 
-0002746768 00000 n 
-0002746919 00000 n 
-0002747071 00000 n 
-0002747222 00000 n 
-0002747373 00000 n 
-0002747523 00000 n 
-0002747673 00000 n 
-0002747824 00000 n 
-0002747974 00000 n 
-0002748126 00000 n 
-0002748277 00000 n 
-0002748429 00000 n 
-0002748579 00000 n 
-0002748731 00000 n 
-0002748883 00000 n 
-0002749034 00000 n 
-0002749186 00000 n 
-0002749338 00000 n 
-0002749491 00000 n 
-0002749644 00000 n 
-0002749797 00000 n 
-0002749949 00000 n 
-0002750102 00000 n 
-0002750255 00000 n 
-0002750408 00000 n 
-0002750561 00000 n 
-0002750714 00000 n 
-0002750867 00000 n 
-0002751018 00000 n 
-0002751169 00000 n 
-0002751322 00000 n 
-0002751473 00000 n 
-0002751626 00000 n 
-0002751778 00000 n 
-0002751931 00000 n 
-0002752084 00000 n 
-0002752235 00000 n 
-0002752388 00000 n 
-0002752540 00000 n 
-0002752693 00000 n 
-0002752845 00000 n 
-0002752998 00000 n 
-0002753150 00000 n 
-0002753302 00000 n 
-0002753455 00000 n 
-0002753608 00000 n 
-0002753760 00000 n 
-0002753913 00000 n 
-0002754066 00000 n 
-0002754218 00000 n 
-0002754369 00000 n 
-0002757818 00000 n 
-0002754518 00000 n 
-0002754752 00000 n 
-0002738179 00000 n 
-0002736556 00000 n 
-0002754692 00000 n 
-0002757970 00000 n 
-0002758123 00000 n 
-0002758276 00000 n 
-0002758429 00000 n 
-0002758581 00000 n 
-0002758733 00000 n 
-0002758885 00000 n 
-0002759038 00000 n 
-0002759190 00000 n 
-0002759342 00000 n 
-0002759495 00000 n 
-0002759647 00000 n 
-0002759800 00000 n 
-0002759951 00000 n 
-0002760104 00000 n 
-0002760256 00000 n 
-0002760405 00000 n 
-0002760556 00000 n 
-0002760709 00000 n 
-0002760861 00000 n 
-0002761014 00000 n 
-0002761166 00000 n 
-0002761319 00000 n 
-0002761472 00000 n 
-0002761625 00000 n 
-0002761777 00000 n 
-0002761930 00000 n 
-0002762082 00000 n 
-0002762234 00000 n 
-0002762387 00000 n 
-0002762540 00000 n 
-0002762692 00000 n 
-0002762845 00000 n 
-0002762998 00000 n 
-0002763151 00000 n 
-0002763303 00000 n 
-0002763456 00000 n 
-0002763608 00000 n 
-0002763760 00000 n 
-0002763912 00000 n 
-0002764065 00000 n 
-0002764217 00000 n 
-0002764368 00000 n 
-0002764521 00000 n 
-0002764673 00000 n 
-0002764826 00000 n 
-0002764978 00000 n 
-0002765130 00000 n 
-0002765283 00000 n 
-0002765436 00000 n 
-0002765589 00000 n 
-0002765741 00000 n 
-0002765894 00000 n 
-0002766047 00000 n 
-0002766199 00000 n 
-0002766350 00000 n 
-0002766500 00000 n 
-0002766653 00000 n 
-0002766806 00000 n 
-0002766958 00000 n 
-0002767111 00000 n 
-0002767264 00000 n 
-0002767415 00000 n 
-0002767568 00000 n 
-0002767720 00000 n 
-0002767872 00000 n 
-0002768025 00000 n 
-0002768178 00000 n 
-0002768329 00000 n 
-0002768482 00000 n 
-0002768634 00000 n 
-0002768786 00000 n 
-0002768937 00000 n 
-0002769088 00000 n 
-0002769240 00000 n 
-0002769393 00000 n 
-0002769545 00000 n 
-0002769697 00000 n 
-0002769850 00000 n 
-0002770002 00000 n 
-0002770155 00000 n 
-0002770308 00000 n 
-0002770461 00000 n 
-0002770614 00000 n 
-0002770767 00000 n 
-0002770919 00000 n 
-0002771072 00000 n 
-0002771225 00000 n 
-0002771376 00000 n 
-0002771529 00000 n 
-0002771682 00000 n 
-0002771835 00000 n 
-0002771988 00000 n 
-0002772141 00000 n 
-0002772294 00000 n 
-0002772446 00000 n 
-0002772597 00000 n 
-0002772750 00000 n 
-0002772902 00000 n 
-0002773054 00000 n 
-0002773206 00000 n 
-0002773359 00000 n 
-0002773512 00000 n 
-0002773665 00000 n 
-0002773817 00000 n 
-0002773970 00000 n 
-0002774122 00000 n 
-0002774275 00000 n 
-0002774427 00000 n 
-0002774580 00000 n 
-0002774733 00000 n 
-0002774886 00000 n 
-0002775039 00000 n 
-0002775192 00000 n 
-0002775345 00000 n 
-0002775497 00000 n 
-0002775648 00000 n 
-0002778897 00000 n 
-0002775799 00000 n 
-0002776034 00000 n 
-0002756489 00000 n 
-0002754852 00000 n 
-0002775974 00000 n 
-0002779050 00000 n 
-0002779202 00000 n 
-0002779355 00000 n 
-0002779507 00000 n 
-0002779659 00000 n 
-0002779811 00000 n 
-0002779963 00000 n 
-0002780116 00000 n 
-0002780268 00000 n 
-0002780421 00000 n 
-0002780573 00000 n 
-0002780726 00000 n 
-0002780878 00000 n 
-0002781030 00000 n 
-0002781182 00000 n 
-0002781335 00000 n 
-0002781486 00000 n 
-0002781639 00000 n 
-0002781791 00000 n 
-0002781943 00000 n 
-0002782096 00000 n 
-0002782249 00000 n 
-0002782402 00000 n 
-0002782555 00000 n 
-0002782708 00000 n 
-0002782860 00000 n 
-0002783013 00000 n 
-0002783166 00000 n 
-0002783319 00000 n 
-0002783471 00000 n 
-0002783624 00000 n 
-0002783777 00000 n 
-0002783930 00000 n 
-0002784083 00000 n 
-0002784235 00000 n 
-0002784387 00000 n 
-0002784539 00000 n 
-0002784692 00000 n 
-0002784843 00000 n 
-0002784995 00000 n 
-0002785147 00000 n 
-0002785299 00000 n 
-0002785452 00000 n 
-0002785603 00000 n 
-0002785756 00000 n 
-0002785908 00000 n 
-0002786060 00000 n 
-0002786213 00000 n 
-0002786366 00000 n 
-0002786519 00000 n 
-0002786671 00000 n 
-0002786823 00000 n 
-0002786973 00000 n 
-0002787126 00000 n 
-0002787279 00000 n 
-0002787432 00000 n 
-0002787585 00000 n 
-0002787737 00000 n 
-0002787890 00000 n 
-0002788042 00000 n 
-0002788195 00000 n 
-0002788348 00000 n 
-0002788500 00000 n 
-0002788653 00000 n 
-0002788805 00000 n 
-0002788958 00000 n 
-0002789111 00000 n 
-0002789263 00000 n 
-0002789414 00000 n 
-0002789567 00000 n 
-0002789719 00000 n 
-0002789871 00000 n 
-0002790024 00000 n 
-0002790175 00000 n 
-0002790328 00000 n 
-0002790481 00000 n 
-0002790634 00000 n 
-0002790787 00000 n 
-0002790940 00000 n 
-0002791093 00000 n 
-0002791245 00000 n 
-0002791398 00000 n 
-0002791551 00000 n 
-0002791704 00000 n 
-0002791857 00000 n 
-0002792010 00000 n 
-0002792163 00000 n 
-0002792316 00000 n 
-0002792469 00000 n 
-0002792621 00000 n 
-0002792773 00000 n 
-0002792925 00000 n 
-0002793077 00000 n 
-0002793229 00000 n 
-0002793382 00000 n 
-0002793534 00000 n 
-0002793687 00000 n 
-0002793839 00000 n 
-0002793991 00000 n 
-0002794143 00000 n 
-0002794296 00000 n 
-0002794448 00000 n 
-0002794599 00000 n 
-0002794751 00000 n 
-0002794904 00000 n 
-0002795057 00000 n 
-0002795210 00000 n 
-0002795362 00000 n 
-0002795512 00000 n 
-0002798814 00000 n 
-0002795663 00000 n 
-0002795897 00000 n 
-0002777648 00000 n 
-0002776147 00000 n 
-0002795837 00000 n 
-0002798967 00000 n 
-0002799119 00000 n 
-0002799271 00000 n 
-0002799424 00000 n 
-0002799575 00000 n 
-0002799728 00000 n 
-0002799880 00000 n 
-0002800033 00000 n 
-0002800185 00000 n 
-0002800338 00000 n 
-0002800490 00000 n 
-0002800642 00000 n 
-0002800795 00000 n 
-0002800947 00000 n 
-0002801100 00000 n 
-0002801252 00000 n 
-0002801405 00000 n 
-0002801557 00000 n 
-0002801710 00000 n 
-0002801863 00000 n 
-0002802016 00000 n 
-0002802169 00000 n 
-0002802321 00000 n 
-0002802474 00000 n 
-0002802626 00000 n 
-0002802779 00000 n 
-0002802932 00000 n 
-0002803085 00000 n 
-0002803238 00000 n 
-0002803390 00000 n 
-0002803543 00000 n 
-0002803696 00000 n 
-0002803849 00000 n 
-0002804001 00000 n 
-0002804154 00000 n 
-0002804306 00000 n 
-0002804459 00000 n 
-0002804611 00000 n 
-0002804764 00000 n 
-0002804917 00000 n 
-0002805069 00000 n 
-0002805222 00000 n 
-0002805375 00000 n 
-0002805527 00000 n 
-0002805679 00000 n 
-0002805832 00000 n 
-0002805985 00000 n 
-0002806138 00000 n 
-0002806291 00000 n 
-0002806444 00000 n 
-0002806596 00000 n 
-0002806749 00000 n 
-0002806902 00000 n 
-0002807055 00000 n 
-0002807207 00000 n 
-0002807358 00000 n 
-0002807509 00000 n 
-0002807661 00000 n 
-0002807814 00000 n 
-0002807966 00000 n 
-0002808119 00000 n 
-0002808272 00000 n 
-0002808424 00000 n 
-0002808576 00000 n 
-0002808728 00000 n 
-0002808881 00000 n 
-0002809032 00000 n 
-0002809185 00000 n 
-0002809338 00000 n 
-0002809490 00000 n 
-0002809642 00000 n 
-0002809794 00000 n 
-0002809946 00000 n 
-0002810099 00000 n 
-0002810252 00000 n 
-0002810404 00000 n 
-0002810556 00000 n 
-0002810709 00000 n 
-0002810862 00000 n 
-0002811015 00000 n 
-0002811168 00000 n 
-0002811321 00000 n 
-0002811474 00000 n 
-0002811627 00000 n 
-0002811780 00000 n 
-0002811933 00000 n 
-0002812086 00000 n 
-0002812239 00000 n 
-0002812392 00000 n 
-0002812545 00000 n 
-0002812697 00000 n 
-0002812850 00000 n 
-0002813002 00000 n 
-0002813154 00000 n 
-0002813306 00000 n 
-0002813459 00000 n 
-0002813612 00000 n 
-0002813765 00000 n 
-0002813917 00000 n 
-0002814070 00000 n 
-0002814223 00000 n 
-0002814376 00000 n 
-0002814529 00000 n 
-0002814682 00000 n 
-0002814834 00000 n 
-0002814986 00000 n 
-0002815137 00000 n 
-0002818805 00000 n 
-0002815288 00000 n 
-0002815523 00000 n 
-0002797585 00000 n 
-0002796010 00000 n 
-0002815463 00000 n 
-0002818958 00000 n 
-0002819109 00000 n 
-0002819262 00000 n 
-0002819414 00000 n 
-0002819565 00000 n 
-0002819717 00000 n 
-0002819869 00000 n 
-0002820021 00000 n 
-0002820174 00000 n 
-0002820326 00000 n 
-0002820479 00000 n 
-0002820631 00000 n 
-0002820783 00000 n 
-0002820936 00000 n 
-0002821088 00000 n 
-0002821241 00000 n 
-0002821394 00000 n 
-0002821546 00000 n 
-0002821699 00000 n 
-0002821850 00000 n 
-0002822002 00000 n 
-0002822154 00000 n 
-0002822307 00000 n 
-0002822460 00000 n 
-0002822613 00000 n 
-0002822765 00000 n 
-0002822918 00000 n 
-0002823069 00000 n 
-0002823222 00000 n 
-0002823374 00000 n 
-0002823527 00000 n 
-0002823679 00000 n 
-0002823832 00000 n 
-0002823985 00000 n 
-0002824138 00000 n 
-0002824291 00000 n 
-0002824443 00000 n 
-0002824596 00000 n 
-0002824748 00000 n 
-0002824900 00000 n 
-0002825053 00000 n 
-0002825205 00000 n 
-0002825357 00000 n 
-0002825510 00000 n 
-0002825661 00000 n 
-0002825814 00000 n 
-0002825965 00000 n 
-0002826117 00000 n 
-0002826270 00000 n 
-0002826422 00000 n 
-0002826575 00000 n 
-0002826727 00000 n 
-0002826880 00000 n 
-0002827033 00000 n 
-0002827185 00000 n 
-0002827338 00000 n 
-0002827490 00000 n 
-0002827640 00000 n 
-0002827790 00000 n 
-0002827943 00000 n 
-0002828096 00000 n 
-0002828249 00000 n 
-0002828402 00000 n 
-0002828553 00000 n 
-0002828706 00000 n 
-0002828858 00000 n 
-0002829011 00000 n 
-0002829163 00000 n 
-0002829315 00000 n 
-0002829467 00000 n 
-0002829620 00000 n 
-0002829772 00000 n 
-0002829925 00000 n 
-0002830077 00000 n 
-0002830230 00000 n 
-0002830381 00000 n 
-0002830534 00000 n 
-0002830686 00000 n 
-0002830839 00000 n 
-0002830992 00000 n 
-0002831145 00000 n 
-0002831298 00000 n 
-0002831451 00000 n 
-0002831603 00000 n 
-0002831756 00000 n 
-0002831909 00000 n 
-0002832060 00000 n 
-0002832212 00000 n 
-0002832365 00000 n 
-0002832518 00000 n 
-0002832671 00000 n 
-0002832824 00000 n 
-0002832976 00000 n 
-0002833128 00000 n 
-0002833281 00000 n 
-0002833434 00000 n 
-0002833587 00000 n 
-0002833739 00000 n 
-0002833892 00000 n 
-0002834045 00000 n 
-0002834197 00000 n 
-0002834349 00000 n 
-0002834501 00000 n 
-0002834654 00000 n 
-0002834806 00000 n 
-0002834959 00000 n 
-0002835112 00000 n 
-0002835264 00000 n 
-0002835417 00000 n 
-0002835568 00000 n 
-0002835721 00000 n 
-0002835873 00000 n 
-0002836026 00000 n 
-0002836179 00000 n 
-0002836332 00000 n 
-0002836484 00000 n 
-0002836637 00000 n 
-0002836787 00000 n 
-0002840173 00000 n 
-0002836938 00000 n 
-0002837172 00000 n 
-0002817466 00000 n 
-0002815636 00000 n 
-0002837112 00000 n 
-0002840326 00000 n 
-0002840478 00000 n 
-0002840631 00000 n 
-0002840784 00000 n 
-0002840935 00000 n 
-0002841087 00000 n 
-0002841239 00000 n 
-0002841392 00000 n 
-0002841544 00000 n 
-0002841697 00000 n 
-0002841849 00000 n 
-0002842002 00000 n 
-0002842155 00000 n 
-0002842307 00000 n 
-0002842460 00000 n 
-0002842613 00000 n 
-0002842766 00000 n 
-0002842919 00000 n 
-0002843072 00000 n 
-0002843225 00000 n 
-0002843378 00000 n 
-0002843531 00000 n 
-0002843684 00000 n 
-0002843837 00000 n 
-0002843990 00000 n 
-0002844143 00000 n 
-0002844296 00000 n 
-0002844449 00000 n 
-0002844601 00000 n 
-0002844753 00000 n 
-0002844906 00000 n 
-0002845058 00000 n 
-0002845211 00000 n 
-0002845363 00000 n 
-0002845516 00000 n 
-0002845669 00000 n 
-0002845822 00000 n 
-0002845971 00000 n 
-0002846121 00000 n 
-0002846274 00000 n 
-0002846425 00000 n 
-0002846578 00000 n 
-0002846730 00000 n 
-0002846882 00000 n 
-0002847035 00000 n 
-0002847188 00000 n 
-0002847341 00000 n 
-0002847493 00000 n 
-0002847646 00000 n 
-0002847799 00000 n 
-0002847952 00000 n 
-0002848104 00000 n 
-0002848257 00000 n 
-0002848409 00000 n 
-0002848562 00000 n 
-0002848714 00000 n 
-0002848865 00000 n 
-0002849015 00000 n 
-0002849168 00000 n 
-0002849321 00000 n 
-0002849474 00000 n 
-0002849626 00000 n 
-0002849778 00000 n 
-0002849930 00000 n 
-0002850083 00000 n 
-0002850235 00000 n 
-0002850387 00000 n 
-0002850539 00000 n 
-0002850692 00000 n 
-0002850843 00000 n 
-0002850996 00000 n 
-0002851149 00000 n 
-0002851302 00000 n 
-0002851454 00000 n 
-0002851607 00000 n 
-0002851760 00000 n 
-0002851913 00000 n 
-0002852066 00000 n 
-0002852219 00000 n 
-0002852372 00000 n 
-0002852524 00000 n 
-0002852677 00000 n 
-0002852828 00000 n 
-0002852980 00000 n 
-0002853132 00000 n 
-0002853283 00000 n 
-0002853436 00000 n 
-0002853589 00000 n 
-0002853742 00000 n 
-0002853894 00000 n 
-0002854047 00000 n 
-0002854198 00000 n 
-0002854351 00000 n 
-0002854503 00000 n 
-0002854656 00000 n 
-0002854808 00000 n 
-0002854960 00000 n 
-0002855112 00000 n 
-0002855264 00000 n 
-0002855417 00000 n 
-0002855570 00000 n 
-0002855722 00000 n 
-0002855875 00000 n 
-0002856027 00000 n 
-0002856180 00000 n 
-0002856333 00000 n 
-0002856486 00000 n 
-0002856638 00000 n 
-0002856788 00000 n 
-0002856939 00000 n 
-0002860334 00000 n 
-0002860487 00000 n 
-0002857090 00000 n 
-0002857325 00000 n 
-0002838914 00000 n 
-0002837298 00000 n 
-0002857265 00000 n 
-0003365955 00000 n 
-0002860640 00000 n 
-0002860793 00000 n 
-0002860945 00000 n 
-0002861098 00000 n 
-0002861250 00000 n 
-0002861403 00000 n 
-0002861555 00000 n 
-0002861708 00000 n 
-0002861860 00000 n 
-0002862013 00000 n 
-0002862166 00000 n 
-0002862319 00000 n 
-0002862472 00000 n 
-0002862625 00000 n 
-0002862773 00000 n 
-0002862924 00000 n 
-0002863077 00000 n 
-0002863229 00000 n 
-0002863381 00000 n 
-0002863534 00000 n 
-0002863687 00000 n 
-0002863840 00000 n 
-0002863992 00000 n 
-0002864145 00000 n 
-0002864298 00000 n 
-0002864449 00000 n 
-0002864601 00000 n 
-0002864754 00000 n 
-0002864907 00000 n 
-0002865059 00000 n 
-0002865211 00000 n 
-0002865364 00000 n 
-0002865516 00000 n 
-0002865669 00000 n 
-0002865820 00000 n 
-0002865972 00000 n 
-0002866124 00000 n 
-0002866277 00000 n 
-0002866430 00000 n 
-0002866582 00000 n 
-0002866734 00000 n 
-0002866887 00000 n 
-0002867040 00000 n 
-0002867192 00000 n 
-0002867345 00000 n 
-0002867497 00000 n 
-0002867650 00000 n 
-0002867802 00000 n 
-0002867955 00000 n 
-0002868108 00000 n 
-0002868260 00000 n 
-0002868411 00000 n 
-0002868562 00000 n 
-0002868715 00000 n 
-0002868868 00000 n 
-0002869021 00000 n 
-0002869174 00000 n 
-0002869326 00000 n 
-0002869479 00000 n 
-0002869630 00000 n 
-0002869783 00000 n 
-0002869935 00000 n 
-0002870086 00000 n 
-0002870239 00000 n 
-0002870391 00000 n 
-0002870543 00000 n 
-0002870696 00000 n 
-0002870849 00000 n 
-0002871001 00000 n 
-0002871153 00000 n 
-0002871306 00000 n 
-0002871458 00000 n 
-0002871611 00000 n 
-0002871762 00000 n 
-0002871915 00000 n 
-0002872067 00000 n 
-0002872220 00000 n 
-0002872372 00000 n 
-0002872525 00000 n 
-0002872677 00000 n 
-0002872830 00000 n 
-0002872983 00000 n 
-0002873136 00000 n 
-0002873289 00000 n 
-0002873442 00000 n 
-0002873595 00000 n 
-0002873748 00000 n 
-0002873900 00000 n 
-0002874053 00000 n 
-0002874206 00000 n 
-0002874358 00000 n 
-0002874511 00000 n 
-0002874663 00000 n 
-0002874816 00000 n 
-0002874968 00000 n 
-0002875120 00000 n 
-0002875272 00000 n 
-0002875423 00000 n 
-0002875575 00000 n 
-0002875728 00000 n 
-0002875880 00000 n 
-0002876033 00000 n 
-0002876186 00000 n 
-0002876337 00000 n 
-0002876490 00000 n 
-0002876643 00000 n 
-0002876796 00000 n 
-0002876948 00000 n 
-0002877101 00000 n 
-0002877254 00000 n 
-0002877406 00000 n 
-0002877556 00000 n 
-0002880567 00000 n 
-0002877707 00000 n 
-0002877941 00000 n 
-0002859045 00000 n 
-0002857438 00000 n 
-0002877881 00000 n 
-0002880720 00000 n 
-0002880873 00000 n 
-0002881026 00000 n 
-0002881178 00000 n 
-0002881331 00000 n 
-0002881483 00000 n 
-0002881635 00000 n 
-0002881787 00000 n 
-0002881940 00000 n 
-0002882093 00000 n 
-0002882245 00000 n 
-0002882398 00000 n 
-0002882550 00000 n 
-0002882703 00000 n 
-0002882856 00000 n 
-0002883009 00000 n 
-0002883162 00000 n 
-0002883315 00000 n 
-0002883467 00000 n 
-0002883620 00000 n 
-0002883773 00000 n 
-0002883926 00000 n 
-0002884079 00000 n 
-0002884231 00000 n 
-0002884383 00000 n 
-0002884535 00000 n 
-0002884688 00000 n 
-0002884841 00000 n 
-0002884992 00000 n 
-0002885143 00000 n 
-0002885296 00000 n 
-0002885449 00000 n 
-0002885601 00000 n 
-0002885752 00000 n 
-0002885902 00000 n 
-0002886054 00000 n 
-0002886206 00000 n 
-0002886356 00000 n 
-0002886507 00000 n 
-0002886657 00000 n 
-0002886809 00000 n 
-0002886959 00000 n 
-0002887111 00000 n 
-0002887263 00000 n 
-0002887415 00000 n 
-0002887565 00000 n 
-0002887717 00000 n 
-0002887869 00000 n 
-0002888021 00000 n 
-0002888173 00000 n 
-0002888325 00000 n 
-0002888477 00000 n 
-0002888628 00000 n 
-0002888780 00000 n 
-0002888932 00000 n 
-0002889084 00000 n 
-0002889236 00000 n 
-0002889386 00000 n 
-0002889538 00000 n 
-0002889689 00000 n 
-0002889841 00000 n 
-0002889992 00000 n 
-0002890144 00000 n 
-0002890296 00000 n 
-0002890448 00000 n 
-0002890600 00000 n 
-0002890751 00000 n 
-0002890901 00000 n 
-0002891052 00000 n 
-0002891203 00000 n 
-0002891354 00000 n 
-0002891506 00000 n 
-0002891658 00000 n 
-0002891809 00000 n 
-0002891961 00000 n 
-0002892113 00000 n 
-0002892265 00000 n 
-0002892417 00000 n 
-0002892569 00000 n 
-0002892721 00000 n 
-0002892872 00000 n 
-0002893024 00000 n 
-0002893175 00000 n 
-0002893326 00000 n 
-0002893477 00000 n 
-0002893627 00000 n 
-0002896465 00000 n 
-0002893775 00000 n 
-0002894010 00000 n 
-0002879548 00000 n 
-0002878054 00000 n 
-0002893950 00000 n 
-0002896617 00000 n 
-0002896769 00000 n 
-0002896920 00000 n 
-0002897071 00000 n 
-0002897221 00000 n 
-0002897373 00000 n 
-0002897523 00000 n 
-0002897675 00000 n 
-0002897826 00000 n 
-0002897978 00000 n 
-0002898127 00000 n 
-0002898278 00000 n 
-0002898429 00000 n 
-0002898580 00000 n 
-0002898731 00000 n 
-0002898883 00000 n 
-0002899035 00000 n 
-0002899186 00000 n 
-0002899338 00000 n 
-0002899490 00000 n 
-0002899641 00000 n 
-0002899792 00000 n 
-0002899944 00000 n 
-0002900095 00000 n 
-0002900247 00000 n 
-0002900399 00000 n 
-0002900550 00000 n 
-0002900702 00000 n 
-0002900854 00000 n 
-0002901006 00000 n 
-0002901158 00000 n 
-0002901310 00000 n 
-0002901463 00000 n 
-0002901616 00000 n 
-0002901769 00000 n 
-0002901922 00000 n 
-0002902075 00000 n 
-0002902226 00000 n 
-0002902379 00000 n 
-0002902531 00000 n 
-0002902684 00000 n 
-0002902837 00000 n 
-0002902988 00000 n 
-0002903141 00000 n 
-0002903294 00000 n 
-0002903447 00000 n 
-0002903600 00000 n 
-0002903753 00000 n 
-0002903906 00000 n 
-0002904057 00000 n 
-0002904209 00000 n 
-0002904362 00000 n 
-0002904515 00000 n 
-0002904668 00000 n 
-0002904821 00000 n 
-0002904974 00000 n 
-0002905126 00000 n 
-0002905279 00000 n 
-0002905432 00000 n 
-0002905585 00000 n 
-0002905738 00000 n 
-0002905891 00000 n 
-0002906044 00000 n 
-0002906196 00000 n 
-0002906349 00000 n 
-0002906500 00000 n 
-0002909030 00000 n 
-0002906651 00000 n 
-0002906885 00000 n 
-0002895646 00000 n 
-0002894123 00000 n 
-0002906825 00000 n 
-0002909183 00000 n 
-0002909336 00000 n 
-0002909488 00000 n 
-0002909640 00000 n 
-0002909792 00000 n 
-0002909945 00000 n 
-0002910096 00000 n 
-0002910248 00000 n 
-0002910401 00000 n 
-0002910554 00000 n 
-0002910707 00000 n 
-0002910859 00000 n 
-0002911012 00000 n 
-0002911163 00000 n 
-0002911316 00000 n 
-0002911468 00000 n 
-0002911620 00000 n 
-0002911772 00000 n 
-0002911924 00000 n 
-0002912076 00000 n 
-0002912228 00000 n 
-0002912381 00000 n 
-0002912531 00000 n 
-0002912683 00000 n 
-0002912835 00000 n 
-0002912988 00000 n 
-0002913139 00000 n 
-0002913291 00000 n 
-0002913443 00000 n 
-0002913594 00000 n 
-0002913747 00000 n 
-0002913900 00000 n 
-0002914053 00000 n 
-0002914204 00000 n 
-0002914354 00000 n 
-0002914507 00000 n 
-0002914660 00000 n 
-0002914813 00000 n 
-0002914965 00000 n 
-0002915118 00000 n 
-0002915269 00000 n 
-0002915421 00000 n 
-0002915572 00000 n 
-0002915722 00000 n 
-0002915873 00000 n 
-0002916024 00000 n 
-0002916174 00000 n 
-0002916324 00000 n 
-0002916473 00000 n 
-0002916622 00000 n 
-0002916772 00000 n 
-0002916922 00000 n 
-0002917071 00000 n 
-0002917224 00000 n 
-0002917375 00000 n 
-0002917527 00000 n 
-0002917678 00000 n 
-0002917831 00000 n 
-0002917983 00000 n 
-0002918133 00000 n 
-0002918281 00000 n 
-0002920879 00000 n 
-0002918432 00000 n 
-0002918667 00000 n 
-0002908261 00000 n 
-0002906985 00000 n 
-0002918607 00000 n 
-0002921030 00000 n 
-0002921183 00000 n 
-0002921336 00000 n 
-0002921488 00000 n 
-0002921640 00000 n 
-0002921792 00000 n 
-0002921945 00000 n 
-0002922098 00000 n 
-0002922250 00000 n 
-0002922403 00000 n 
-0002922556 00000 n 
-0002922709 00000 n 
-0002922862 00000 n 
-0002923014 00000 n 
-0002923167 00000 n 
-0002923320 00000 n 
-0002923471 00000 n 
-0002923624 00000 n 
-0002923777 00000 n 
-0002923930 00000 n 
-0002924083 00000 n 
-0002924234 00000 n 
-0002924386 00000 n 
-0002924539 00000 n 
-0002924692 00000 n 
-0002924845 00000 n 
-0002924998 00000 n 
-0002925151 00000 n 
-0002925304 00000 n 
-0002925457 00000 n 
-0002925609 00000 n 
-0002925760 00000 n 
-0002925913 00000 n 
-0002926066 00000 n 
-0002926219 00000 n 
-0002926372 00000 n 
-0002926523 00000 n 
-0002926676 00000 n 
-0002926828 00000 n 
-0002926980 00000 n 
-0002927133 00000 n 
-0002927285 00000 n 
-0002927438 00000 n 
-0002927591 00000 n 
-0002927743 00000 n 
-0002927896 00000 n 
-0002928047 00000 n 
-0002928200 00000 n 
-0002928351 00000 n 
-0002928502 00000 n 
-0002928655 00000 n 
-0002928808 00000 n 
-0002928961 00000 n 
-0002929114 00000 n 
-0002929266 00000 n 
-0002929418 00000 n 
-0002929570 00000 n 
-0002929723 00000 n 
-0002929876 00000 n 
-0002930029 00000 n 
-0002930182 00000 n 
-0002930335 00000 n 
-0002932711 00000 n 
-0002930486 00000 n 
-0002930720 00000 n 
-0002920100 00000 n 
-0002918767 00000 n 
-0002930660 00000 n 
-0002932863 00000 n 
-0002933016 00000 n 
-0002933169 00000 n 
-0002933320 00000 n 
-0002933473 00000 n 
-0002933626 00000 n 
-0002933778 00000 n 
-0002933931 00000 n 
-0002934083 00000 n 
-0002934235 00000 n 
-0002934387 00000 n 
-0002934539 00000 n 
-0002934691 00000 n 
-0002934843 00000 n 
-0002934996 00000 n 
-0002935149 00000 n 
-0002935302 00000 n 
-0002935452 00000 n 
-0002935605 00000 n 
-0002935756 00000 n 
-0002935909 00000 n 
-0002936062 00000 n 
-0002936215 00000 n 
-0002936366 00000 n 
-0002936519 00000 n 
-0002936672 00000 n 
-0002936825 00000 n 
-0002936978 00000 n 
-0002937130 00000 n 
-0002937282 00000 n 
-0002937433 00000 n 
-0002937582 00000 n 
-0002937732 00000 n 
-0002937882 00000 n 
-0002938032 00000 n 
-0002938182 00000 n 
-0002938332 00000 n 
-0002938482 00000 n 
-0002938632 00000 n 
-0002938782 00000 n 
-0002938932 00000 n 
-0002939082 00000 n 
-0002939232 00000 n 
-0002939382 00000 n 
-0002939532 00000 n 
-0002939682 00000 n 
-0002939832 00000 n 
-0002939982 00000 n 
-0002940131 00000 n 
-0002940280 00000 n 
-0002940429 00000 n 
-0002940579 00000 n 
-0002940729 00000 n 
-0002940879 00000 n 
-0002941029 00000 n 
-0002941179 00000 n 
-0002941332 00000 n 
-0002941484 00000 n 
-0002941633 00000 n 
-0002941868 00000 n 
-0002931972 00000 n 
-0002930820 00000 n 
-0002941808 00000 n 
-0003366088 00000 n 
-0002943078 00000 n 
-0002943230 00000 n 
-0002943382 00000 n 
-0002943534 00000 n 
-0002943686 00000 n 
-0002943838 00000 n 
-0002943989 00000 n 
-0002944140 00000 n 
-0002944291 00000 n 
-0002944443 00000 n 
-0002944595 00000 n 
-0002944747 00000 n 
-0002944900 00000 n 
-0002945052 00000 n 
-0002945205 00000 n 
-0002945358 00000 n 
-0002945509 00000 n 
-0002945662 00000 n 
-0002945815 00000 n 
-0002945968 00000 n 
-0002946120 00000 n 
-0002946272 00000 n 
-0002946506 00000 n 
-0002942719 00000 n 
-0002941968 00000 n 
-0002946446 00000 n 
-0002946606 00000 n 
-0002946649 00000 n 
-0002946777 00000 n 
-0002946918 00000 n 
-0002947023 00000 n 
-0002947481 00000 n 
-0002948112 00000 n 
-0002948151 00000 n 
-0002948298 00000 n 
-0002948773 00000 n 
-0003349183 00000 n 
-0002948921 00000 n 
-0002949274 00000 n 
-0002949313 00000 n 
-0002949790 00000 n 
-0002950147 00000 n 
-0002950174 00000 n 
-0002950811 00000 n 
-0002950913 00000 n 
-0002951193 00000 n 
-0002951222 00000 n 
-0002951382 00000 n 
-0002951637 00000 n 
-0002952236 00000 n 
-0002952929 00000 n 
-0002953412 00000 n 
-0002954083 00000 n 
-0002954667 00000 n 
-0002954853 00000 n 
-0002955751 00000 n 
-0002956398 00000 n 
-0002956791 00000 n 
-0002957367 00000 n 
-0002958060 00000 n 
-0002958099 00000 n 
-0002958761 00000 n 
-0002959661 00000 n 
-0002966818 00000 n 
-0002967050 00000 n 
-0002978789 00000 n 
-0002979428 00000 n 
-0002996280 00000 n 
-0002996677 00000 n 
-0003003821 00000 n 
-0003004058 00000 n 
-0003011972 00000 n 
-0003012202 00000 n 
-0003020374 00000 n 
-0003020606 00000 n 
-0003031755 00000 n 
-0003032032 00000 n 
-0003039178 00000 n 
-0003039414 00000 n 
-0003047829 00000 n 
-0003048112 00000 n 
-0003057493 00000 n 
-0003057743 00000 n 
-0003064856 00000 n 
-0003065081 00000 n 
-0003082601 00000 n 
-0003083010 00000 n 
-0003090467 00000 n 
-0003090703 00000 n 
-0003100497 00000 n 
-0003100758 00000 n 
-0003112800 00000 n 
-0003113124 00000 n 
-0003124143 00000 n 
-0003124440 00000 n 
-0003139164 00000 n 
-0003139828 00000 n 
-0003147137 00000 n 
-0003147385 00000 n 
-0003155683 00000 n 
-0003155958 00000 n 
-0003163979 00000 n 
-0003164267 00000 n 
-0003172030 00000 n 
-0003172278 00000 n 
-0003179930 00000 n 
-0003180197 00000 n 
-0003188290 00000 n 
-0003188518 00000 n 
-0003196947 00000 n 
-0003197182 00000 n 
-0003206261 00000 n 
-0003206495 00000 n 
-0003209204 00000 n 
-0003209429 00000 n 
-0003216894 00000 n 
-0003217134 00000 n 
-0003222639 00000 n 
-0003222883 00000 n 
-0003235792 00000 n 
-0003236180 00000 n 
-0003256030 00000 n 
-0003256668 00000 n 
-0003270005 00000 n 
-0003270419 00000 n 
-0003289747 00000 n 
-0003290306 00000 n 
-0003306264 00000 n 
-0003306661 00000 n 
-0003328939 00000 n 
-0003329642 00000 n 
-0003348603 00000 n 
-0003366181 00000 n 
-0003366303 00000 n 
-0003366431 00000 n 
-0003366559 00000 n 
-0003366687 00000 n 
-0003366815 00000 n 
-0003366943 00000 n 
-0003367071 00000 n 
-0003367199 00000 n 
-0003367327 00000 n 
-0003367455 00000 n 
-0003367583 00000 n 
-0003367713 00000 n 
-0003367847 00000 n 
-0003367981 00000 n 
-0003368085 00000 n 
-0003368220 00000 n 
-0003368355 00000 n 
-0003368459 00000 n 
-0003368546 00000 n 
-0003376816 00000 n 
-0003376987 00000 n 
-0003377331 00000 n 
-0003378069 00000 n 
-0003378807 00000 n 
-0003379545 00000 n 
-0003380283 00000 n 
-0003381021 00000 n 
-0003381759 00000 n 
-0003382497 00000 n 
-0003383235 00000 n 
-0003383973 00000 n 
-0003384711 00000 n 
-0003385449 00000 n 
-0003386187 00000 n 
-0003386925 00000 n 
-0003387663 00000 n 
-0003388401 00000 n 
-0003389139 00000 n 
-0003389877 00000 n 
-0003390615 00000 n 
-0003391378 00000 n 
-0003392081 00000 n 
-0003392771 00000 n 
-0003393461 00000 n 
-0003394151 00000 n 
-0003394841 00000 n 
-0003395531 00000 n 
-0003396221 00000 n 
-0003396911 00000 n 
-0003397601 00000 n 
-0003398291 00000 n 
-0003398981 00000 n 
-0003399671 00000 n 
-0003400361 00000 n 
-0003401051 00000 n 
-0003401741 00000 n 
-0003402431 00000 n 
-0003403121 00000 n 
-0003403811 00000 n 
-0003404501 00000 n 
-0003405202 00000 n 
-0003405972 00000 n 
-0003406742 00000 n 
-0003407490 00000 n 
-0003408276 00000 n 
-0003409062 00000 n 
-0003409848 00000 n 
-0003410634 00000 n 
-0003411420 00000 n 
-0003412206 00000 n 
-0003412992 00000 n 
-0003413778 00000 n 
-0003414564 00000 n 
-0003415350 00000 n 
-0003416136 00000 n 
-0003416922 00000 n 
-0003417708 00000 n 
-0003418494 00000 n 
-0003419280 00000 n 
-0003420066 00000 n 
-0003420852 00000 n 
-0003421638 00000 n 
-0003422408 00000 n 
-0003423370 00000 n 
-0003424237 00000 n 
-0003425047 00000 n 
-0003425857 00000 n 
-0003426667 00000 n 
-0003427477 00000 n 
-0003428287 00000 n 
-0003429057 00000 n 
-0003429803 00000 n 
-0003430549 00000 n 
-0003431295 00000 n 
-0003432041 00000 n 
-0003432787 00000 n 
-0003433533 00000 n 
-0003434185 00000 n 
-0003435079 00000 n 
-0003436003 00000 n 
-0003436813 00000 n 
-0003437623 00000 n 
-0003438433 00000 n 
-0003439243 00000 n 
-0003440029 00000 n 
-0003440775 00000 n 
-0003441521 00000 n 
-0003442267 00000 n 
-0003443013 00000 n 
-0003443759 00000 n 
-0003444505 00000 n 
-0003445350 00000 n 
-0003446162 00000 n 
-0003446908 00000 n 
-0003447602 00000 n 
-0003448356 00000 n 
-0003449110 00000 n 
-0003449864 00000 n 
-0003450618 00000 n 
-0003451312 00000 n 
-0003452074 00000 n 
-0003452836 00000 n 
-0003453524 00000 n 
-0003454338 00000 n 
-0003455292 00000 n 
-0003456094 00000 n 
-0003456896 00000 n 
-0003457698 00000 n 
-0003458500 00000 n 
-0003459254 00000 n 
-0003459992 00000 n 
-0003460895 00000 n 
-0003461633 00000 n 
-0003462371 00000 n 
-0003463109 00000 n 
-0003463847 00000 n 
-0003464493 00000 n 
-0003465295 00000 n 
-0003466088 00000 n 
-0003467090 00000 n 
-0003467978 00000 n 
-0003468828 00000 n 
-0003469678 00000 n 
-0003470528 00000 n 
-0003471378 00000 n 
-0003472212 00000 n 
-0003472998 00000 n 
-0003473883 00000 n 
-0003474669 00000 n 
-0003475455 00000 n 
-0003476241 00000 n 
-0003477027 00000 n 
-0003477791 00000 n 
-0003478489 00000 n 
-0003479187 00000 n 
-0003479885 00000 n 
-0003480583 00000 n 
-0003481281 00000 n 
-0003481979 00000 n 
-0003482677 00000 n 
-0003483375 00000 n 
-0003484073 00000 n 
-0003484771 00000 n 
-0003485469 00000 n 
-0003486167 00000 n 
-0003486865 00000 n 
-0003487563 00000 n 
-0003488261 00000 n 
-0003488959 00000 n 
-0003489657 00000 n 
-0003490356 00000 n 
-0003491150 00000 n 
-0003491861 00000 n 
-0003492591 00000 n 
-0003493273 00000 n 
-0003494083 00000 n 
-0003494893 00000 n 
-0003495703 00000 n 
-0003496513 00000 n 
-0003497323 00000 n 
-0003498133 00000 n 
-0003498943 00000 n 
-0003499753 00000 n 
-0003500483 00000 n 
-0003501278 00000 n 
-0003502040 00000 n 
-0003502802 00000 n 
-0003503564 00000 n 
-0003504326 00000 n 
-0003505187 00000 n 
-0003505949 00000 n 
-0003506685 00000 n 
-0003507471 00000 n 
-0003508257 00000 n 
-0003508971 00000 n 
-0003509718 00000 n 
-0003510512 00000 n 
-0003511306 00000 n 
-0003512100 00000 n 
-0003512894 00000 n 
-0003513688 00000 n 
-0003514482 00000 n 
-0003515276 00000 n 
-0003516070 00000 n 
-0003516864 00000 n 
-0003517658 00000 n 
-0003518452 00000 n 
-0003519246 00000 n 
-0003520040 00000 n 
-0003520834 00000 n 
-0003521628 00000 n 
-0003522422 00000 n 
-0003523216 00000 n 
-0003523948 00000 n 
-0003524766 00000 n 
-0003525584 00000 n 
-0003526333 00000 n 
-0003527194 00000 n 
-0003527956 00000 n 
-0003528718 00000 n 
-0003529579 00000 n 
-0003530473 00000 n 
-0003531235 00000 n 
-0003531943 00000 n 
-0003532761 00000 n 
-0003533579 00000 n 
-0003534397 00000 n 
-0003535227 00000 n 
-0003536213 00000 n 
-0003537199 00000 n 
-0003538035 00000 n 
-0003538821 00000 n 
-0003539607 00000 n 
-0003540393 00000 n 
-0003541179 00000 n 
-0003541965 00000 n 
-0003542788 00000 n 
-0003543670 00000 n 
-0003544552 00000 n 
-0003545434 00000 n 
-0003546316 00000 n 
-0003547198 00000 n 
-0003548080 00000 n 
-0003548962 00000 n 
-0003549844 00000 n 
-0003550726 00000 n 
-0003551608 00000 n 
-0003552490 00000 n 
-0003553372 00000 n 
-0003554254 00000 n 
-0003555136 00000 n 
-0003556018 00000 n 
-0003556900 00000 n 
-0003557697 00000 n 
-0003558511 00000 n 
-0003559325 00000 n 
-0003560138 00000 n 
-0003560952 00000 n 
-0003561765 00000 n 
-0003562579 00000 n 
-0003563392 00000 n 
-0003564206 00000 n 
-0003565018 00000 n 
-0003565832 00000 n 
-0003566646 00000 n 
-0003567459 00000 n 
-0003568272 00000 n 
-0003569087 00000 n 
-0003569899 00000 n 
-0003570654 00000 n 
-0003571478 00000 n 
-0003572267 00000 n 
-0003573091 00000 n 
-0003573828 00000 n 
-0003574580 00000 n 
-0003575332 00000 n 
-0003576084 00000 n 
-0003576836 00000 n 
-0003577588 00000 n 
-0003578340 00000 n 
-0003579092 00000 n 
-0003579844 00000 n 
-0003580596 00000 n 
-0003581348 00000 n 
-0003582100 00000 n 
-0003582852 00000 n 
-0003583604 00000 n 
-0003584356 00000 n 
-0003585108 00000 n 
-0003585860 00000 n 
-0003586612 00000 n 
-0003587291 00000 n 
-0003588027 00000 n 
-0003588763 00000 n 
-0003589499 00000 n 
-0003590235 00000 n 
-0003590971 00000 n 
-0003591707 00000 n 
-0003592443 00000 n 
-0003593179 00000 n 
-0003593980 00000 n 
-0003594655 00000 n 
-0003595357 00000 n 
-0003596093 00000 n 
-0003596824 00000 n 
-0003597608 00000 n 
-0003598279 00000 n 
-0003598889 00000 n 
-0003599499 00000 n 
-0003600109 00000 n 
-0003600889 00000 n 
-0003601771 00000 n 
-0003602653 00000 n 
-0003603535 00000 n 
-0003604417 00000 n 
-0003605299 00000 n 
-0003606181 00000 n 
-0003607063 00000 n 
-0003607945 00000 n 
-0003608827 00000 n 
-0003609473 00000 n 
-0003609816 00000 n 
-0003610026 00000 n 
-0003610239 00000 n 
-0003610463 00000 n 
-0003610665 00000 n 
-0003610873 00000 n 
-0003611077 00000 n 
-0003611284 00000 n 
-0003611602 00000 n 
-0003611820 00000 n 
-0003612145 00000 n 
-0003612455 00000 n 
-0003612776 00000 n 
-0003613097 00000 n 
-0003613449 00000 n 
-0003613739 00000 n 
-0003614064 00000 n 
-0003614350 00000 n 
-0003614552 00000 n 
-0003614870 00000 n 
-0003615071 00000 n 
-0003615359 00000 n 
-0003615592 00000 n 
-0003615829 00000 n 
-0003616260 00000 n 
-0003616608 00000 n 
-0003616827 00000 n 
-0003617104 00000 n 
-0003617377 00000 n 
-0003617749 00000 n 
-0003618128 00000 n 
-0003618453 00000 n 
-0003618708 00000 n 
-0003618992 00000 n 
-0003619272 00000 n 
-0003619551 00000 n 
-0003620006 00000 n 
-0003620672 00000 n 
-0003621437 00000 n 
-0003622367 00000 n 
-0003623231 00000 n 
-0003623897 00000 n 
-0003624563 00000 n 
-0003625229 00000 n 
-0003625895 00000 n 
-0003626561 00000 n 
-0003627227 00000 n 
-0003628025 00000 n 
-0003628889 00000 n 
-0003629753 00000 n 
-0003630419 00000 n 
-0003630608 00000 n 
-0003630794 00000 n 
-0003630978 00000 n 
-0003631164 00000 n 
-0003631347 00000 n 
-0003631530 00000 n 
-0003631716 00000 n 
-0003631900 00000 n 
-0003632086 00000 n 
-0003632270 00000 n 
-0003632456 00000 n 
-0003632640 00000 n 
-0003632826 00000 n 
-0003633010 00000 n 
-0003633196 00000 n 
-0003633379 00000 n 
-0003633562 00000 n 
-0003633748 00000 n 
-0003633928 00000 n 
-0003634114 00000 n 
-0003634298 00000 n 
-0003634484 00000 n 
-0003634668 00000 n 
-0003634854 00000 n 
-0003635038 00000 n 
-0003635224 00000 n 
-0003635408 00000 n 
-0003635594 00000 n 
-0003635777 00000 n 
-0003635960 00000 n 
-0003636146 00000 n 
-0003636330 00000 n 
-0003636516 00000 n 
-0003636700 00000 n 
-0003636886 00000 n 
-0003637070 00000 n 
-0003637256 00000 n 
-0003637437 00000 n 
-0003637623 00000 n 
-0003637807 00000 n 
-0003637993 00000 n 
-0003638176 00000 n 
-0003638359 00000 n 
-0003638545 00000 n 
-0003638730 00000 n 
-0003638916 00000 n 
-0003639101 00000 n 
-0003639287 00000 n 
-0003639472 00000 n 
-0003639658 00000 n 
-0003639843 00000 n 
-0003640029 00000 n 
-0003640213 00000 n 
-0003640397 00000 n 
-0003640583 00000 n 
-0003640764 00000 n 
-0003640950 00000 n 
-0003641135 00000 n 
-0003641324 00000 n 
-0003641514 00000 n 
-0003641706 00000 n 
-0003641896 00000 n 
-0003642088 00000 n 
-0003642278 00000 n 
-0003642470 00000 n 
-0003642659 00000 n 
-0003642848 00000 n 
-0003643040 00000 n 
-0003643230 00000 n 
-0003643422 00000 n 
-0003643612 00000 n 
-0003643804 00000 n 
-0003643994 00000 n 
-0003644186 00000 n 
-0003644372 00000 n 
-0003644564 00000 n 
-0003644754 00000 n 
-0003644935 00000 n 
-0003645111 00000 n 
-0003645289 00000 n 
-0003645465 00000 n 
-0003645643 00000 n 
-0003645819 00000 n 
-0003645997 00000 n 
-0003646172 00000 n 
-0003646347 00000 n 
-0003646558 00000 n 
-0003646824 00000 n 
-0003647098 00000 n 
-0003647372 00000 n 
-0003647646 00000 n 
-0003647920 00000 n 
-0003648194 00000 n 
-0003648474 00000 n 
-0003648754 00000 n 
-0003649036 00000 n 
-0003649310 00000 n 
-0003649583 00000 n 
-0003649849 00000 n 
-0003650119 00000 n 
-0003650393 00000 n 
-0003650666 00000 n 
-0003650940 00000 n 
-0003651212 00000 n 
-0003651484 00000 n 
-0003651758 00000 n 
-0003652031 00000 n 
-0003652305 00000 n 
-0003652578 00000 n 
-0003652845 00000 n 
-0003653111 00000 n 
-0003653383 00000 n 
-0003653657 00000 n 
-0003653934 00000 n 
-0003654208 00000 n 
-0003654482 00000 n 
-0003654762 00000 n 
-0003655041 00000 n 
-0003655315 00000 n 
-0003655592 00000 n 
-0003655866 00000 n 
-0003656146 00000 n 
-0003656426 00000 n 
-0003656708 00000 n 
-0003656989 00000 n 
-0003657271 00000 n 
-0003657552 00000 n 
-0003657834 00000 n 
-0003658115 00000 n 
-0003658397 00000 n 
-0003658675 00000 n 
-0003658949 00000 n 
-0003659223 00000 n 
-0003659497 00000 n 
-0003659771 00000 n 
-0003660044 00000 n 
-0003660318 00000 n 
-0003660595 00000 n 
-0003660877 00000 n 
-0003661158 00000 n 
-0003661438 00000 n 
-0003661712 00000 n 
-0003661986 00000 n 
-0003662263 00000 n 
-0003662537 00000 n 
-0003662815 00000 n 
-0003663089 00000 n 
-0003663362 00000 n 
-0003663633 00000 n 
-0003663899 00000 n 
-0003664171 00000 n 
-0003664443 00000 n 
-0003664717 00000 n 
-0003664990 00000 n 
-0003665264 00000 n 
-0003665537 00000 n 
-0003665811 00000 n 
-0003666084 00000 n 
-0003666358 00000 n 
-0003666628 00000 n 
-0003666894 00000 n 
-0003667165 00000 n 
-0003667439 00000 n 
-0003667717 00000 n 
-0003667999 00000 n 
-0003668280 00000 n 
-0003668562 00000 n 
-0003668842 00000 n 
-0003669122 00000 n 
-0003669404 00000 n 
-0003669685 00000 n 
-0003669967 00000 n 
-0003670246 00000 n 
-0003670521 00000 n 
-0003670795 00000 n 
-0003671072 00000 n 
-0003671346 00000 n 
-0003671626 00000 n 
-0003671906 00000 n 
-0003672188 00000 n 
-0003672469 00000 n 
-0003672751 00000 n 
-0003673032 00000 n 
-0003673314 00000 n 
-0003673588 00000 n 
-0003673862 00000 n 
-0003674138 00000 n 
-0003674412 00000 n 
-0003674686 00000 n 
-0003674960 00000 n 
-0003675239 00000 n 
-0003675521 00000 n 
-0003675809 00000 n 
-0003676096 00000 n 
-0003676384 00000 n 
-0003676671 00000 n 
-0003676959 00000 n 
-0003677246 00000 n 
-0003677534 00000 n 
-0003677816 00000 n 
-0003678096 00000 n 
-0003678376 00000 n 
-0003678656 00000 n 
-0003678936 00000 n 
-0003679221 00000 n 
-0003679509 00000 n 
-0003679795 00000 n 
-0003680081 00000 n 
-0003680369 00000 n 
-0003680656 00000 n 
-0003680944 00000 n 
-0003681231 00000 n 
-0003681519 00000 n 
-0003681806 00000 n 
-0003682088 00000 n 
-0003682362 00000 n 
-0003682628 00000 n 
-0003682901 00000 n 
-0003683181 00000 n 
-0003683461 00000 n 
-0003683738 00000 n 
-0003684010 00000 n 
-0003684282 00000 n 
-0003684556 00000 n 
-0003684829 00000 n 
-0003685103 00000 n 
-0003685376 00000 n 
-0003685650 00000 n 
-0003685914 00000 n 
-0003686172 00000 n 
-0003686432 00000 n 
-0003686690 00000 n 
-0003686951 00000 n 
-0003687212 00000 n 
-0003687455 00000 n 
-0003687671 00000 n 
-0003687887 00000 n 
-0003688105 00000 n 
-0003688322 00000 n 
-0003688540 00000 n 
-0003688757 00000 n 
-0003688975 00000 n 
-0003689192 00000 n 
-0003689410 00000 n 
-0003689627 00000 n 
-0003689845 00000 n 
-0003690061 00000 n 
-0003690277 00000 n 
-0003690500 00000 n 
-0003690722 00000 n 
-0003690946 00000 n 
-0003691168 00000 n 
-0003691392 00000 n 
-0003691611 00000 n 
-0003691835 00000 n 
-0003692045 00000 n 
-0003692254 00000 n 
-0003692464 00000 n 
-0003692673 00000 n 
-0003692883 00000 n 
-0003693092 00000 n 
-0003693302 00000 n 
-0003693510 00000 n 
-0003693718 00000 n 
-0003693928 00000 n 
-0003694137 00000 n 
-0003694347 00000 n 
-0003694556 00000 n 
-0003694766 00000 n 
-0003694959 00000 n 
-0003695143 00000 n 
-0003695908 00000 n 
-0003696499 00000 n 
-0003696875 00000 n 
-0003697100 00000 n 
-0003697329 00000 n 
-0003697573 00000 n 
-0003697816 00000 n 
-0003698060 00000 n 
-0003698303 00000 n 
-0003698547 00000 n 
-0003698790 00000 n 
-0003699034 00000 n 
-0003699276 00000 n 
-0003699515 00000 n 
-0003699740 00000 n 
-0003699995 00000 n 
-0003700271 00000 n 
-0003700547 00000 n 
-0003700823 00000 n 
-0003701095 00000 n 
-0003701364 00000 n 
-0003701632 00000 n 
-0003701905 00000 n 
-0003702181 00000 n 
-0003702449 00000 n 
-0003702717 00000 n 
-0003702985 00000 n 
-0003703258 00000 n 
-0003703545 00000 n 
-0003703835 00000 n 
-0003704125 00000 n 
-0003704415 00000 n 
-0003704700 00000 n 
-0003704990 00000 n 
-0003705280 00000 n 
-0003705570 00000 n 
-0003705860 00000 n 
-0003706148 00000 n 
-0003706438 00000 n 
-0003706728 00000 n 
-0003707018 00000 n 
-0003707303 00000 n 
-0003707593 00000 n 
-0003707883 00000 n 
-0003708173 00000 n 
-0003708467 00000 n 
-0003708763 00000 n 
-0003709053 00000 n 
-0003709349 00000 n 
-0003709645 00000 n 
-0003709936 00000 n 
-0003710215 00000 n 
-0003710489 00000 n 
-0003710670 00000 n 
-0003710865 00000 n 
-0003711128 00000 n 
-0003711391 00000 n 
-0003711648 00000 n 
-0003711899 00000 n 
-0003712150 00000 n 
-0003712411 00000 n 
-0003712684 00000 n 
-0003712959 00000 n 
-0003713234 00000 n 
-0003713512 00000 n 
-0003713785 00000 n 
-0003714024 00000 n 
-0003714290 00000 n 
-0003714563 00000 n 
-0003714829 00000 n 
-0003715097 00000 n 
-0003715371 00000 n 
-0003715642 00000 n 
-0003715938 00000 n 
-0003716240 00000 n 
-0003716515 00000 n 
-0003716779 00000 n 
-0003717032 00000 n 
-0003717285 00000 n 
-0003717552 00000 n 
-0003717833 00000 n 
-0003718108 00000 n 
-0003718380 00000 n 
-0003718656 00000 n 
-0003718933 00000 n 
-0003719210 00000 n 
-0003719483 00000 n 
-0003719725 00000 n 
-0003720029 00000 n 
-0003720329 00000 n 
-0003720616 00000 n 
-0003720915 00000 n 
-0003721205 00000 n 
-0003721486 00000 n 
-0003721767 00000 n 
-0003722049 00000 n 
-0003722323 00000 n 
-0003722588 00000 n 
-0003722853 00000 n 
-0003723116 00000 n 
-0003723378 00000 n 
-0003723625 00000 n 
-0003723890 00000 n 
-0003724189 00000 n 
-0003724404 00000 n 
-0003724561 00000 n 
-0003724719 00000 n 
-0003724868 00000 n 
-0003725042 00000 n 
-0003725207 00000 n 
-0003725404 00000 n 
-0003725649 00000 n 
-0003725834 00000 n 
-0003725959 00000 n 
-0003726084 00000 n 
-0003726209 00000 n 
-0003726334 00000 n 
-0003726459 00000 n 
-0003726584 00000 n 
-0003726709 00000 n 
-0003726834 00000 n 
-0003726958 00000 n 
-0003727083 00000 n 
-0003727208 00000 n 
-0003727333 00000 n 
-0003727457 00000 n 
-0003727579 00000 n 
-0003727713 00000 n 
-0003727860 00000 n 
-0003728006 00000 n 
-0003728152 00000 n 
-0003728298 00000 n 
-0003728446 00000 n 
-0003728595 00000 n 
-0003728743 00000 n 
-0003728891 00000 n 
-0003729040 00000 n 
-0003729186 00000 n 
-0003729333 00000 n 
-0003729481 00000 n 
-0003729630 00000 n 
-0003729778 00000 n 
-0003729926 00000 n 
-0003730074 00000 n 
-0003730222 00000 n 
-0003730370 00000 n 
-0003730518 00000 n 
-0003730666 00000 n 
-0003730814 00000 n 
-0003730961 00000 n 
-0003731106 00000 n 
-0003731244 00000 n 
-0003731377 00000 n 
-0003731509 00000 n 
-0003731642 00000 n 
-0003731774 00000 n 
-0003731905 00000 n 
-0003732121 00000 n 
-0003732292 00000 n 
-0003732433 00000 n 
-0003732578 00000 n 
-0003732726 00000 n 
-0003732875 00000 n 
-0003733026 00000 n 
-0003733177 00000 n 
-0003733328 00000 n 
-0003733467 00000 n 
-0003733656 00000 n 
-0003733914 00000 n 
-0003734186 00000 n 
-0003734452 00000 n 
-0003734717 00000 n 
-0003734993 00000 n 
-0003735272 00000 n 
-0003735529 00000 n 
-0003735709 00000 n 
-0003735856 00000 n 
-0003735981 00000 n 
-0003736105 00000 n 
-0003736240 00000 n 
-0003736386 00000 n 
-0003736533 00000 n 
-0003736680 00000 n 
-0003736819 00000 n 
-0003736958 00000 n 
-0003737095 00000 n 
-0003737296 00000 n 
-0003737495 00000 n 
-0003737630 00000 n 
-0003737727 00000 n 
-0003737844 00000 n 
-0003737886 00000 n 
-0003738071 00000 n 
-trailer
-<< /Size 14426
-/Root 14424 0 R
-/Info 14425 0 R
-/ID [<748DB86BCC9552CF231205B6AC10ADB2> <748DB86BCC9552CF231205B6AC10ADB2>] >>
-startxref
-3738399
-%%EOF
diff --git a/doc/ppl-user-0.11.2.ps.gz b/doc/ppl-user-0.11.2.ps.gz
deleted file mode 100644
index b9843e2..0000000
Binary files a/doc/ppl-user-0.11.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-1.0-html.tar.gz b/doc/ppl-user-1.0-html.tar.gz
new file mode 100644
index 0000000..e75ee3e
Binary files /dev/null and b/doc/ppl-user-1.0-html.tar.gz differ
diff --git a/doc/ppl-user-1.0.pdf b/doc/ppl-user-1.0.pdf
new file mode 100644
index 0000000..e4a4e5d
--- /dev/null
+++ b/doc/ppl-user-1.0.pdf
@@ -0,0 +1,147794 @@
+%PDF-1.4
+%����
+1 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+4 0 obj
+(\376\377\000G\000e\000n\000e\000r\000a\000l\000\040\000I\000n\000f\000o\000r\000m\000a\000t\000i\000o\000n\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000P\000L)
+endobj
+5 0 obj
+<< /S /GoTo /D (subsection.1.1) >>
+endobj
+8 0 obj
+(\376\377\000T\000h\000e\000\040\000M\000a\000i\000n\000\040\000F\000e\000a\000t\000u\000r\000e\000s)
+endobj
+9 0 obj
+<< /S /GoTo /D (subsection.1.2) >>
+endobj
+12 0 obj
+(\376\377\000U\000p\000w\000a\000r\000d\000\040\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000o\000n)
+endobj
+13 0 obj
+<< /S /GoTo /D (subsection.1.3) >>
+endobj
+16 0 obj
+(\376\377\000A\000p\000p\000r\000o\000x\000i\000m\000a\000t\000i\000n\000g\000\040\000I\000n\000t\000e\000g\000e\000r\000s)
+endobj
+17 0 obj
+<< /S /GoTo /D (subsection.1.4) >>
+endobj
+20 0 obj
+(\376\377\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.1.5) >>
+endobj
+24 0 obj
+(\376\377\000R\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000s\000\040\000o\000f\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+25 0 obj
+<< /S /GoTo /D (subsection.1.6) >>
+endobj
+28 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000C\000o\000n\000v\000e\000x\000\040\000P\000o\000l\000y\000h\000e\000d\000r\000a)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.1.7) >>
+endobj
+32 0 obj
+(\376\377\000I\000n\000t\000e\000r\000v\000a\000l\000s\000\040\000a\000n\000d\000\040\000B\000o\000x\000e\000s)
+endobj
+33 0 obj
+<< /S /GoTo /D (subsection.1.8) >>
+endobj
+36 0 obj
+(\376\377\000W\000e\000a\000k\000l\000y\000-\000R\000e\000l\000a\000t\000i\000o\000n\000a\000l\000\040\000S\000h\000a\000p\000e\000s)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.1.9) >>
+endobj
+40 0 obj
+(\376\377\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsection.1.10) >>
+endobj
+44 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000R\000a\000t\000i\000o\000n\000a\000l\000\040\000G\000r\000i\000d\000s)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.1.11) >>
+endobj
+48 0 obj
+(\376\377\000T\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.1.12) >>
+endobj
+52 0 obj
+(\376\377\000O\000p\000e\000r\000a\000t\000i\000o\000n\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000C\000o\000n\000s\000t\000r\000u\000c\000t\000i\000o\000n)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.1.13) >>
+endobj
+56 0 obj
+(\376\377\000T\000h\000e\000\040\000P\000o\000i\000n\000t\000s\000e\000t\000\040\000P\000o\000w\000e\000r\000s\000e\000t\000\040\000D\000o\000m\000a\000i\000n)
+endobj
+57 0 obj
+<< /S /GoTo /D (subsection.1.14) >>
+endobj
+60 0 obj
+(\376\377\000A\000n\000a\000l\000y\000s\000i\000s\000\040\000o\000f\000\040\000f\000l\000o\000a\000t\000i\000n\000g\000\040\000p\000o\000i\000n\000t\000\040\000c\000o\000m\000p\000u\000t\000a\000t\000i\000o\000n\000s)
+endobj
+61 0 obj
+<< /S /GoTo /D (subsection.1.15) >>
+endobj
+64 0 obj
+(\376\377\000U\000s\000i\000n\000g\000\040\000t\000h\000e\000\040\000L\000i\000b\000r\000a\000r\000y)
+endobj
+65 0 obj
+<< /S /GoTo /D (subsection.1.16) >>
+endobj
+68 0 obj
+(\376\377\000B\000i\000b\000l\000i\000o\000g\000r\000a\000p\000h\000y)
+endobj
+69 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+72 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+76 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+80 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+84 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+85 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+88 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+92 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
+endobj
+93 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+96 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+100 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
+endobj
+101 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+104 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+108 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+109 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+112 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+116 0 obj
+(\376\377\000C\000+\000+\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+120 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+124 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.9.2) >>
+endobj
+128 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000s\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.9.3) >>
+endobj
+132 0 obj
+(\376\377\000s\000t\000d\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+136 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+endobj
+140 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000A\000p\000p\000r\000o\000x\000i\000m\000a\000b\000l\000e\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+endobj
+144 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000A\000p\000p\000r\000o\000x\000i\000m\000a\000b\000l\000e\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.10.3) >>
+endobj
+148 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.10.4) >>
+endobj
+152 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000D\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.10.5) >>
+endobj
+156 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.10.6) >>
+endobj
+160 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000i\000n\000a\000r\000y\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D (subsection.10.7) >>
+endobj
+164 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000i\000n\000a\000r\000y\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+165 0 obj
+<< /S /GoTo /D (subsection.10.8) >>
+endobj
+168 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000o\000x\000<\000\040\000I\000T\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+169 0 obj
+<< /S /GoTo /D (subsection.10.9) >>
+endobj
+172 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+173 0 obj
+<< /S /GoTo /D (subsection.10.10) >>
+endobj
+176 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000a\000s\000t\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000>\000\040\000C\000l\0 [...]
+endobj
+177 0 obj
+<< /S /GoTo /D (subsection.10.11) >>
+endobj
+180 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000a\000s\000t\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+181 0 obj
+<< /S /GoTo /D (subsection.10.12) >>
+endobj
+184 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000a\000s\000t\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+185 0 obj
+<< /S /GoTo /D (subsection.10.13) >>
+endobj
+188 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000h\000e\000c\000k\000e\000d\000\137\000N\000u\000m\000b\000e\000r\000<\000\040\000T\000,\000\040\000P\000o\000l\000i\000c\000y\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+189 0 obj
+<< /S /GoTo /D (subsection.10.14) >>
+endobj
+192 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000B\000H\000R\000Z\0000\0003\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+193 0 obj
+<< /S /GoTo /D (subsection.10.15) >>
+endobj
+196 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+197 0 obj
+<< /S /GoTo /D (subsection.10.16) >>
+endobj
+200 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+201 0 obj
+<< /S /GoTo /D (subsection.10.17) >>
+endobj
+204 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000:\000:\000C\000o\000m\000p\000a\000r\000e\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+205 0 obj
+<< /S /GoTo /D (subsection.10.18) >>
+endobj
+208 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000c\000r\000e\000t\000e\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+209 0 obj
+<< /S /GoTo /D (subsection.10.19) >>
+endobj
+212 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000c\000r\000e\000t\000e\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+213 0 obj
+<< /S /GoTo /D (subsection.10.20) >>
+endobj
+216 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000c\000r\000e\000t\000e\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000T\000y\000p\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+217 0 obj
+<< /S /GoTo /D (subsection.10.21) >>
+endobj
+220 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+221 0 obj
+<< /S /GoTo /D (subsection.10.22) >>
+endobj
+224 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+225 0 obj
+<< /S /GoTo /D (subsection.10.23) >>
+endobj
+228 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+229 0 obj
+<< /S /GoTo /D (subsection.10.24) >>
+endobj
+232 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000O\000\137\000T\000r\000e\000e\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+233 0 obj
+<< /S /GoTo /D (subsection.10.25) >>
+endobj
+236 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000I\000m\000p\000l\000<\000\040\000R\000o\000w\000\040\000>\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+237 0 obj
+<< /S /GoTo /D (subsection.10.26) >>
+endobj
+240 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+241 0 obj
+<< /S /GoTo /D (subsection.10.27) >>
+endobj
+244 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+245 0 obj
+<< /S /GoTo /D (subsection.10.28) >>
+endobj
+248 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+249 0 obj
+<< /S /GoTo /D (subsection.10.29) >>
+endobj
+252 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+253 0 obj
+<< /S /GoTo /D (subsection.10.30) >>
+endobj
+256 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000I\000n\000t\000e\000r\000f\000a\000c\000e\000:\000:\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000i\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000 [...]
+endobj
+257 0 obj
+<< /S /GoTo /D (subsection.10.31) >>
+endobj
+260 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000a\000n\000t\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000> [...]
+endobj
+261 0 obj
+<< /S /GoTo /D (subsection.10.32) >>
+endobj
+264 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+265 0 obj
+<< /S /GoTo /D (subsection.10.33) >>
+endobj
+268 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+269 0 obj
+<< /S /GoTo /D (subsection.10.34) >>
+endobj
+272 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+273 0 obj
+<< /S /GoTo /D (subsection.10.35) >>
+endobj
+276 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+277 0 obj
+<< /S /GoTo /D (subsection.10.36) >>
+endobj
+280 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000e\000t\000e\000r\000m\000i\000n\000a\000t\000e\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+281 0 obj
+<< /S /GoTo /D (subsection.10.37) >>
+endobj
+284 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\00 [...]
+endobj
+285 0 obj
+<< /S /GoTo /D (subsection.10.38) >>
+endobj
+288 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000i\000v\000i\000s\000i\000o\000n\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000> [...]
+endobj
+289 0 obj
+<< /S /GoTo /D (subsection.10.39) >>
+endobj
+292 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+293 0 obj
+<< /S /GoTo /D (subsection.10.40) >>
+endobj
+296 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000D\000o\000u\000b\000l\000y\000\137\000L\000i\000n\000k\000e\000d\000\137\000O\000b\000j\000e\000c\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+297 0 obj
+<< /S /GoTo /D (subsection.10.41) >>
+endobj
+300 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000E\000L\000i\000s\000t\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+301 0 obj
+<< /S /GoTo /D (subsection.10.42) >>
+endobj
+304 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000E\000L\000i\000s\000t\000\137\000I\000t\000e\000r\000a\000t\000o\000r\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000 [...]
+endobj
+305 0 obj
+<< /S /GoTo /D (subsection.10.43) >>
+endobj
+308 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000C\000o\000n\000s\000t\000a\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+309 0 obj
+<< /S /GoTo /D (subsection.10.44) >>
+endobj
+312 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000C\000o\000n\000s\000t\000a\000n\000t\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+313 0 obj
+<< /S /GoTo /D (subsection.10.45) >>
+endobj
+316 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\0 [...]
+endobj
+317 0 obj
+<< /S /GoTo /D (subsection.10.46) >>
+endobj
+320 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000F\000P\000\137\000O\000r\000a\000c\000l\000e\000<\000\040\000T\000a\000r\000g\000e\000t\000,\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+321 0 obj
+<< /S /GoTo /D (subsection.10.47) >>
+endobj
+324 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+325 0 obj
+<< /S /GoTo /D (subsection.10.48) >>
+endobj
+328 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+329 0 obj
+<< /S /GoTo /D (subsection.10.49) >>
+endobj
+332 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+333 0 obj
+<< /S /GoTo /D (subsection.10.50) >>
+endobj
+336 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000M\000P\000\137\000I\000n\000t\000e\000g\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+337 0 obj
+<< /S /GoTo /D (subsection.10.51) >>
+endobj
+340 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+341 0 obj
+<< /S /GoTo /D (subsection.10.52) >>
+endobj
+344 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+345 0 obj
+<< /S /GoTo /D (subsection.10.53) >>
+endobj
+348 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+349 0 obj
+<< /S /GoTo /D (subsection.10.54) >>
+endobj
+352 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+353 0 obj
+<< /S /GoTo /D (subsection.10.55) >>
+endobj
+356 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000H\0007\0009\000\137\000C\000e\000r\000t\000i\000f\000i\000c\000a\000t\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+357 0 obj
+<< /S /GoTo /D (subsection.10.56) >>
+endobj
+360 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000H\000a\000n\000d\000l\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+361 0 obj
+<< /S /GoTo /D (subsection.10.57) >>
+endobj
+364 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000H\000a\000n\000d\000l\000e\000r\000\137\000F\000l\000a\000g\000<\000\040\000F\000l\000a\000g\000\137\000B\000a\000s\000e\000,\000\040\000F\000l\000a\000g\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\ [...]
+endobj
+365 0 obj
+<< /S /GoTo /D (subsection.10.58) >>
+endobj
+368 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000H\000a\000n\000d\000l\000e\000r\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+369 0 obj
+<< /S /GoTo /D (subsection.10.59) >>
+endobj
+372 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000g\000e\000r\000\137\000C\000o\000n\000s\000t\000a\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+373 0 obj
+<< /S /GoTo /D (subsection.10.60) >>
+endobj
+376 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000g\000e\000r\000\137\000C\000o\000n\000s\000t\000a\000n\000t\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+377 0 obj
+<< /S /GoTo /D (subsection.10.61) >>
+endobj
+380 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000t\000e\000r\000v\000a\000l\000<\000\040\000B\000o\000u\000n\000d\000a\000r\000y\000,\000\040\000I\000n\000f\000o\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+381 0 obj
+<< /S /GoTo /D (subsection.10.62) >>
+endobj
+384 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000C\000O\000\137\000T\000r\000e\000e\000:\000:\000i\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+385 0 obj
+<< /S /GoTo /D (subsection.10.63) >>
+endobj
+388 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+389 0 obj
+<< /S /GoTo /D (subsection.10.64) >>
+endobj
+392 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000F\000o\000r\000m\000<\000\040\000C\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+393 0 obj
+<< /S /GoTo /D (subsection.10.65) >>
+endobj
+396 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+397 0 obj
+<< /S /GoTo /D (subsection.10.66) >>
+endobj
+400 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000M\000u\000l\000t\000i\000p\000l\000i\000c\000a\000t\000i\000o\000n\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\00 [...]
+endobj
+401 0 obj
+<< /S /GoTo /D (subsection.10.67) >>
+endobj
+404 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000N\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+405 0 obj
+<< /S /GoTo /D (subsection.10.68) >>
+endobj
+408 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000:\000:\000N\000o\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000s\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+409 0 obj
+<< /S /GoTo /D (subsection.10.69) >>
+endobj
+412 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000N\000o\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+413 0 obj
+<< /S /GoTo /D (subsection.10.70) >>
+endobj
+416 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000O\000c\000t\000a\000g\000o\000n\000a\000l\000\137\000S\000h\000a\000p\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+417 0 obj
+<< /S /GoTo /D (subsection.10.71) >>
+endobj
+420 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000O\000p\000p\000o\000s\000i\000t\000e\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000> [...]
+endobj
+421 0 obj
+<< /S /GoTo /D (subsection.10.72) >>
+endobj
+424 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000l\000y\000\137\000R\000e\000d\000u\000c\000e\000d\000\137\000P\000r\000o\000d\000u\000c\000t\000<\000\040\000D\0001\000,\000\040\000D\0002\000,\000\040\000R\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+425 0 obj
+<< /S /GoTo /D (subsection.10.73) >>
+endobj
+428 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000P\000e\000n\000d\000i\000n\000g\000\137\000E\000l\000e\000m\000e\000n\000t\000<\000\040\000T\000h\000r\000e\000s\000h\000o\000l\000d\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\0 [...]
+endobj
+429 0 obj
+<< /S /GoTo /D (subsection.10.74) >>
+endobj
+432 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000P\000e\000n\000d\000i\000n\000g\000\137\000L\000i\000s\000t\000<\000\040\000T\000r\000a\000i\000t\000s\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000 [...]
+endobj
+433 0 obj
+<< /S /GoTo /D (subsection.10.75) >>
+endobj
+436 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+437 0 obj
+<< /S /GoTo /D (subsection.10.76) >>
+endobj
+440 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+441 0 obj
+<< /S /GoTo /D (subsection.10.77) >>
+endobj
+444 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+445 0 obj
+<< /S /GoTo /D (subsection.10.78) >>
+endobj
+448 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+449 0 obj
+<< /S /GoTo /D (subsection.10.79) >>
+endobj
+452 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000P\000S\000E\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+453 0 obj
+<< /S /GoTo /D (subsection.10.80) >>
+endobj
+456 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+457 0 obj
+<< /S /GoTo /D (subsection.10.81) >>
+endobj
+460 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+461 0 obj
+<< /S /GoTo /D (subsection.10.82) >>
+endobj
+464 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+465 0 obj
+<< /S /GoTo /D (subsection.10.83) >>
+endobj
+468 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000w\000e\000r\000s\000e\000t\000<\000\040\000D\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+469 0 obj
+<< /S /GoTo /D (subsection.10.84) >>
+endobj
+472 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000R\000e\000c\000y\000c\000l\000e\000\137\000I\000n\000p\000u\000t\000\040\000S\000t\000r\000u\000c\000t\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+473 0 obj
+<< /S /GoTo /D (subsection.10.85) >>
+endobj
+476 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000h\000a\000p\000e\000\137\000P\000r\000e\000s\000e\000r\000v\000i\000n\000g\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+477 0 obj
+<< /S /GoTo /D (subsection.10.86) >>
+endobj
+480 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000m\000a\000s\000h\000\137\000R\000e\000d\000u\000c\000t\000i\000o\000n\000<\000\040\000D\0001\000,\000\040\000D\0002\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+481 0 obj
+<< /S /GoTo /D (subsection.10.87) >>
+endobj
+484 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000S\000u\000m\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000>\000\040\000C\000l\000a\0 [...]
+endobj
+485 0 obj
+<< /S /GoTo /D (subsection.10.88) >>
+endobj
+488 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000T\000h\000r\000e\000s\000h\000o\000l\000d\000\137\000W\000a\000t\000c\000h\000e\000r\000<\000\040\000T\000r\000a\000i\000t\000s\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+489 0 obj
+<< /S /GoTo /D (subsection.10.89) >>
+endobj
+492 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000T\000h\000r\000o\000w\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+493 0 obj
+<< /S /GoTo /D (subsection.10.90) >>
+endobj
+496 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000:\000:\000T\000i\000m\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+497 0 obj
+<< /S /GoTo /D (subsection.10.91) >>
+endobj
+500 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000U\000n\000a\000r\000y\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+501 0 obj
+<< /S /GoTo /D (subsection.10.92) >>
+endobj
+504 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000U\000n\000a\000r\000y\000\137\000O\000p\000e\000r\000a\000t\000o\000r\000\137\000C\000o\000m\000m\000o\000n\000<\000\040\000T\000a\000r\000g\000e\000t\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000T\000e\000m\000p\000l\000a\000t\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+505 0 obj
+<< /S /GoTo /D (subsection.10.93) >>
+endobj
+508 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+509 0 obj
+<< /S /GoTo /D (subsection.10.94) >>
+endobj
+512 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\137\000F\000l\000o\000a\000t\000i\000n\000g\000\137\000P\000o\000i\000n\000t\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000<\000\040\000F\000P\000\137\000I\000n\000t\000e\000r\000v\000a\000l\000\137\000T\000y\000p\000e\000,\000\040\000F\000P\000\137\000F\000o\000r\000m\000a\000t\000\040\000> [...]
+endobj
+513 0 obj
+<< /S /GoTo /D (subsection.10.95) >>
+endobj
+516 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+517 0 obj
+<< /S /GoTo /D (subsection.10.96) >>
+endobj
+520 0 obj
+(\376\377\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000:\000:\000W\000a\000t\000c\000h\000d\000o\000g\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+521 0 obj
+<< /S /GoTo /D [522 0 R  /Fit ] >>
+endobj
+525 0 obj <<
+/Length 1354      
+/Filter /FlateDecode
+>>
+stream
+x��WKs�6��W��)5!x��^�w��3�%�����d�$��P
9�
,hS�2I{�x�v���V���7�
�ӈE�
+By%"%4gQ�
�}@��y�x���3������eщ>���t�:
�=��>K��儳4��ˈ%I�$JF�H��m�1�ߩɔ�E|5Ih,
lҸ�-��n�w��L����^�����?�o�4'I��1���@�7�2?:
=
���;���;��
lf ����G
R�<�OrT�;�Ew]�2�	��
+²t�N�	دL_�1�@gOZF�`iMEBҌ��k�P���j<$W�
�{
	�r��2�B)�,J�%j��C��� 1e����q
p,��ѽ$���n�=�yFh�=b���^ļ$9/vO;@>��r���j�}����p�����e$O�.�a(���BH	��ء/��8) 	A�,��v¡��P¼x�q���N�V*�(+�o�����o]�Et�ڈe%ae�&�A���Jx���y��J��J�K�ز|^�
9	ޱ
��L
�WCW���.2���;��x!{u�$W��6�U��Zo�
�lz�����M�Kd^�UUC|D"�4�z���ȇݭQ�q��JY�,��j$*�Y��;X�I�ʸ�]�Ѝ�NC'�t�2�@�$I�`���0"�I/�ꐴ��6[����Z�B�X��O �o���d°�m��K�r
iZ	s(����;��U�:[C�x�,�z%Mu,0�OUYܸ񢜺�(���dA&��jc�d�<\���
�Ki�T
��zO~����0�.o�gs�.��L�z�Í�^���^��ce�+ ��_������9���2PN�K�1����#5�W4�zخ�̶�t�gȽUm��>T�f������.���>�d���~�Q��F�}��)�#�a�2>m�	�Y5}��~Ӻ��dz�d�b�"Kmpq����
�.�,^�"�DU��k^��YiS�;�(O9^(�?]
���>����p�pu�il�+ۿ��lX���@F���8��@������"3�˽
+Z~�0Ơ�v��G<��Tv�j{r
+�vi
2�d�`�(S�yYM��ϪɅ:�!�}����
$}W��Op<>��]��
8�2xW��ÓN�B�Ga�3Pgzi��e��et�]ȗ� ϕn�5�W�'g��H�n1��Qad=6�;�0`�9P���[�$�j�H��ٹ)��?
)�7UO6]�6n<�ھB��o����0NG#,H�
���8�_Xph��q�?��#�������0�M���i�����rx-].jI��a�f�_�^u+R������<��f�ʥ����{� ?2J����=��Q��Z����e
+���
+
w� �&
+endstream
+endobj
+522 0 obj <<
+/Type /Page
+/Contents 525 0 R
+/Resources 524 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+>> endobj
+523 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 534 0 R
+/BBox [0 0 640 829]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 535 0 R
+>>>>
+/Length 2688
+/Filter /FlateDecode
+>>
+stream
+x�m�K�#�
D�ZEm�4	�
{�(�#�sD��'�*�>��j�V��L��ǑS9���������9����qӸל�i�Қǟ�>�u��V���)�2k�%[�׍�jk
e���<F��bȣ��u��5�ID���q�^��%�R��ˬ���|�T�4��yԮ������hYϔc�ԭ��V�»�>�������������J�k�>�si���3�4���Hݏ��{�l��V����^.&ϩ�<&;�����u��I
@����Z�KD�P���\�i����s|��R4�h}�9��艥����b\K��؆��j�ik�L���=�̸�"ؼZI��(	���%s6W���+�y�1�H')�ql�
��g���y�Qs�_7������/�;ji�y�'x���k%_�J>8{w@�wv�NQȁ�l�=("JY�s����Iy
ǹ�k�S���+���}hk�>"���Rd�'n$�4��
�įGh
�Y�ϲ����Ȭbeh&f������3(0Ϝw�9��Б ��‘�^@�A}� �T�4D�߶V�?5�$��[e��!�f�b[�l��E�4����Y4�9p��	���n<���
��9;�D4%�q�+^�kK��%��9�5��|?ĝS�Ī��@.�"�A���T�5&�%^�n59:�/H��(%�~����a	Z=�d�I��fJ+�^+�︌�B2X����#ѥ�S�����0V[-NS� �(b&�C��*�s�

��*d�K
��5ɫ�6�؄KC�hz�4��)�
�y� DF^Akz�\3W��m9�`����@�l:�MYe��B�:x6+b� h�6$sܨ��W�Z�^,����Ddx&hI���
��$�a"q���
�:��RSH�2<Z<�H�r{v%��.W次�8��?�BJ6
b�H4
,Fߎ� �Ԛ�������2��B�Z�	�.Ŋ�>@��񸵊��d�J�
�S����Q��ufG�.-�+���]��ҢxR�ِNV1�0	K��r�ہ�
��.�Q�<��͙N��*7b�_<��6���G"Cd�t�6 D�x�RkT����`; F'���́�����Gy����.C��EK�+��
(�eC�K8T�2�Q)� [...]
���B[�}��T�<��W��Z�.q[C�T"WCNҵ�e;WCk��KC�CV �E���*!��h�n�o�v������"?�1˪���롋q� vZ��K�	��.����_�6=:�+Ң�y�����
���K�4zx��
�L�ť���IoOCE
;Q6M�`]�����TD��s��E��a�,|ʙd9�Iङ��CK-���{|�׎�Aг�=GD�~W�#�J�6l=��W#,�8�$���9G�=UT�����o	���2+�S�2��Q{��u���QnU=�Qc����0Wv�b�0�����J
�QK
Ց7�4<�U��
�Sz
�j}��RdJ-��U"�
Yl���U-��q"N)����I�+�F�ۜ+����Ӽ
��M�תoÂ���l6����Q�j�q�'���}BR�
PKǧ��ѓ�%2V����,^��
j�b�K����L�N͙
�q����MW��.�P��W$������
+D���5G�\����84I���$�h<u�k�L59�0%Q��)�FX�C��ӻ�
�����
���a:׊]G'�u
��Z��B�^LE��e����Z7D�C���c�I��
U��]��iQ8s�2��*'��X�"���h6b�B��k���L2(:����I�1�s�˹�����{�uo:�k�%�.�k[��x�R�����u�
�<�����-�o�ͻ�m���

�	x���}�H�e�.��XD
�8r�D��\�%#
����k�6
%o؁zW>
 ><�ϸ�x�G���/�#�"pb:�h]�F��7��>��KHݗT��r�kwت �ӠD���Ւy��K���կ���,�G��C�Ss|��<g��uo?�������K@�
��	4�ͺ'��)�$&O:3
��.��[�G�¸���E�;{
��*����Kw�-K���T@�O���+LH�㛃��ӊwĪfgh*�� Mj�TV���F1�k
I
�?5ڮ����åےT�ѻP.d�wѩ/��"\G�
���
��G"�
�u��+��t�bg��[����pS�jeg)s_�螢bM��R
-εQo��
}� ���������@1n�M͢
���6"�-lW�Z7U���
;���mD+�|G�F��Z��@
����Q�5����(g�`R���X�6T�����.��|��6���ч��
�?��3
o���3��� m�B ��MY:c�q�P}E'�-2���
+@!S#����s����I���U$ZJZ$��\!X��P8���+�x^�|�f�:��d|?@__��h���^�a9��n]چ�*5s|Y��E���v_�#^��[�/�s͢O��
�?v�s`\�ؿ��^X{��~Ej�aW�K/Tz�
����Z���\��j�
|��>�?��a��x(~?�B�
<q����
T��5F#��
�s�B�
+����[���N��o�ِW]r�a'tܯ�_�|�"�8w�VۥDD�#��n���f���?�
�
+endstream
+endobj
+534 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+535 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+526 0 obj <<
+/D [522 0 R /XYZ 89 770.89 null]
+>> endobj
+527 0 obj <<
+/D [522 0 R /XYZ 90 721.073 null]
+>> endobj
+524 0 obj <<
+/Font << /F58 528 0 R /F24 529 0 R /F41 530 0 R /F42 531 0 R /F60 532 0 R >>
+/XObject << /Im1 523 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+538 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+537 0 obj <<
+/Type /Page
+/Contents 538 0 R
+/Resources 536 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+>> endobj
+539 0 obj <<
+/D [537 0 R /XYZ 89 770.89 null]
+>> endobj
+536 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+550 0 obj <<
+/Length 1536      
+/Filter /FlateDecode
+>>
+stream
+xڝWQ��8
~�W�풙%�NBH���-����r��M��C ���&���ߟd�$��wO�%Y�%}�͜�Ü����ӻ�'��;����x��a�G} ���n�}�����
��Ý��H��g��|�ʜ��;����vN(sg�����&��eUq�sN�nʽǙ�\e���"b�q�	��!��qF�i���*iq�n��J�.�~[������E��)`q<x��I��mΌma̡���l�pG����[��oz��'�{�Բ���rwb:��"$��mV��U�<�da�d����4L��4�x<r�jg;)��\ٳ�g�*��g&�{�쟘6���j��uV^7 g�
7UZ(��w1�H\�y�ȽR0pWY��E}N%I,-V�����\e�g�����
������ѡ�/#\�Oxܽ{x$�m%�T�5�S��% ���R���U���㜻���|�
b��HH

�3-�TIC�����"��-�
+�
��E� `�
;���|�"�}=��k���M+C�E3%D��@�Ep�_Qh�>ej{��Bb���
x,�Z�T��gr�Jk
F�?J�Ve��7%Z6�DFߝ{1s%R��P

wio��&��:]~{�#n�P��uC��XǪҊ0�H�b�IN����	��2?� �N�gp�鼴���TN�B����SmL���0�BC1�)����-��
���"�溎!1�K�hX���f� q�VA@���by �eZФ�/Ї��G�-��u`MY�,�B���5<B
Nd!�4��	ba�)ǰ���iM�6X�����DL
+`�X��C�@�J 
U�81�
�N�'l��v�H��bSM�BZ�K�(��������'�K�O��r`� a����逑ҁ*lx��
G

-�@h�	 ���p���a4
�_�������@b|3z���$D�$D8 ���W�Y���m�����B�(OY��la��\�+C$մ�k<��qNbÇO��q�N�Ç�'/��Bj���*��R2�K�1%9��� ����}&
+�`�~MoށA/���
ߏ矌@E��x�0�����&C&��p���;�<�
{�8�|��|�1��'��s����B���ާk�;��TҾ`T����3Ɠ�jl"��m����(M*��Y�mH�ٺ@`�̲0J�W at X�p[j
+�&�uS�6w��X��F>/�
���T�aV�2Dx;�Z
'7������+"���o��qz
��-���L�JeDn��v�y	���mX�e��Z?
id
F]
��0
gË�%ߪ��v:iv�wU��
'+�:v�[����?����椻4���9Q���y���M~��b�����W��Tuo��{��~G�o$������A�?��
�
��H���iwBo���~MͿ����C2���
vT`
�<����Tҿ,�!:�v�̓E�E-�_�Ge�&�␶>@g�dlF��n 5>��_�:]�+<
+�(�z%Q'�9?G�3����T�.}�ӵ���
	�J��X�T6�WR���_/��
+endstream
+endobj
+549 0 obj <<
+/Type /Page
+/Contents 550 0 R
+/Resources 548 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+/Annots [ 540 0 R 541 0 R 542 0 R 543 0 R 553 0 R 544 0 R 546 0 R ]
+>> endobj
+545 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/bugseng_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 555 0 R
+/BBox [0 0 640 166]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 556 0 R
+>>>>
+/Length 1662
+/Filter /FlateDecode
+>>
+stream
+x�}W[�
7
��S�	��8F�
�c6���)R"��Y��Z��J$U��ʩ\Y��Ϗ�o��ۿ��|��r)�j5�hu�9��]^�<r9��m)S�M�:)��v��� j��a+%�z}
$�$�/�*i^�jjS.*s&,t���R�<+h�:��wݱ��)�Z��
i%�z-�{�
Q݆��V,�Y���W���I_���'�ԫq�"��
��'
�*���b.i��\O�>���%�h�&�Ȥ�~˄@�D���N���$�_�&a#��e�Uj�|[Q�^o��2o���îi!cZ�ף����
i����s4eW

E����݆��
�<+Z
I��P꽇�8Y�Ɨ��3����4�W)�����/r�]w��<�ʶ�q�<��~�t��
�_u)�V��Y�U�����
+����/ 8� &���Ua���j��Je��+%
+��̉�)i�U
�
�S���F_@��rG�T���HE�
nw�6[.�:�o��@r�������ЊCAT���F_�n�n��)|�d�Q��
H�i��?
�h=�8�8΍=U��UPC%Ӎ�.
��(R�ae*77=�󱁉�S�^�
+��3��j_
��
�Z�|>j�$�3�#a���>�׹2D���'N)�
�+ }��"��{�7��Aw�a���mŏ�
+FVCg��
�ԭ����)_����'�\G�^����\��1B��g��n�\ڠ�NY�
:��Yq�&�Fa�-��� B��S��f���7�G	#S���
٬7��E�� 9�D��M
+G
+�20��Ci�e�+������D�����ô b�~#����z�'�\.���F�է��]xv���i�@ I�8a�=�z[PjVkn��w|0S��t�h�m�ل֩�H�F��@0#����5�jN�1�-�R�F;p1jվ(�֙EHG´��i
�;i�`
 {��&4X��s[4�I�
d�!
޴r/^�a��@��Ƕ�?Zr�W��U��PǗ}2
��di8�ÍU���Q{?��b:���H��l�D��
�0ձ�vxk�ڱ�ʜ�

ו��^Y�"Ƃ۸���8�z��Hح�(;�����_۲h��a
�
+�e���f���hX�R�iqV`z��!��9s���}���g�z^���A�.a?�S�*To
+�W�h@�+V�C�`�x�k��a�<��]a�M�:r�#�`[�{���T�|�W��$̽�g����+�xآ%��
-$�*^*��w��+�M��M1����Q���o*Z6�P)�P�n�+T�`����jV�
+	�
+�,r ��U��W
O�qj�T�M�J�p/������5쐯�kC����u�%��u_(�@�3~Gvig\��W�A�^���j;+t,q�pLM{9i�I�s$��!w�tꡎ�+�!�HB�$���� ������d�_
d7e"�yξ��W��w$����+N�n�� 8�uXl���W(��DY6�~٭����Ȧ�<6��IJGfQ%?4�
�
��L+Bt���{1m�8�MS&L��r9=56*�Q�*�RȾ�{O�C=��P���Yb���
���h��k
9K,k�8�n#�f:Vl07�:��+��i�v,��~"[
�k�� :)��
z��U����3���b��X��?k���1�G���f��σo��?Q��B
+endstream
+endobj
+555 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100335+01'00')
+/ModDate (D:20111106100335+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+556 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+547 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo_no_ppl.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 557 0 R
+/BBox [0 0 640 640]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 558 0 R
+>>>>
+/Length 2432
+/Filter /FlateDecode
+>>
+stream
+x�m�]�$7���y��%R����
+��C��s���ʬ��6
�Z��"#�d�u�Tά������ۿ����_G>K>{���gM^ο�8�s��(�czʥ����z���-U[�%�b�
9'cYSu��ó�T�*�^���δ��i��O/<��Y�J�8�|�6�i�G����T�2
�Q��R�RNk
]ΙϞ=��ǟ\�ۡ�Z��~��(�����YZ�<k�-����5k��Z��Q����~]7���Z
F���~��f��|����B5n��1�Sֈ�g
�
k+���㨥���h}�Sd�R�6{��X7S0�>��zʤ�@�����X�k���bq��x����e��2�ݒ9O�~&3y�-�qN�\Vy�V6����׍��}�p��
FX��k�0H
m֖F�uM@��办®�M쒑Rqp,�񶖕���y���W�2��
����:9FLs9o���n�	��S(v�A'{��� �\w|Q���҆�<i=ML�ZR�%��
+�&�
/81���L�n������``^I���*��g
��l���q��Ǘ�_� ������Q�Ov��vT�p���в8>���
d��o�ўAC�+���
b�8�$=��Zs����	~�4��ɓd�7^�ۣ�� X�~�����>�v��Я*�6[�h�b��h�G2o '
L4��dV2��?�i=�kq���@�7Ye�i���
�|G`ped�m��ڵ��\*'3�	
+�V/#�0�ۜ��!0�x/uA�N��ㄵ�"3 H�W�
v"젰aC"`� 6����{	�T�g��H]~!
b��S'����Z���>���]<ˀ����'
?��M��������
q�K�ؓc<1�c�3����x�h�H/r�ђ�'�
��(
���4��-0Y�~�BJ�1L��	�
^,t�����

"��bQ�N�b�3J"�� ����B	���
�����6\�h,�0pRٖ��Ѡ= Pz=�%�B�Mޑ�>ؙ�/1��
#��@ңvR��`r+pB���{Qo`
	@���_轁D^��j�J��H���(�B�3qy_�
�����G��K�cG� ��-TlFq�4T�G08��2�
�,E�
⃝VTD�
JY��&x;w+d�H\��)SU�t�����_!ԙ�q��P��h�[z
I��f�Q�M�sTQ؜���"�Ch&,�ɮ� ������M�k���C[�}���<��N�Ӑ7�}���C<;�d��./�F\KXS�>�"�
+}W,T&w�>8�[�����
+wx�_R�O;��{U�⑨���A��Wn�_N����#b��,���n~v�7�hI�W�{�Zw�LV1'�HI(6�;�C���
JBCFU$�=z����Ԝ�� ��8 ��{S�b�wH�g�Uk"�n�)[dA4ohw�@M�z�|��Z?��v#�քD�v��V�S"�Ed��
�5���:ND
,��	��{�!���}����?>'��+�S�2����mj� ��A�U=�Zf�wH�x�d��y�J����H#��� �Ҙ�
y�NP�'
b���#�U�
�\_j���D�[���</������r뤈J�o���jQ�e
+��3��˵O�yK�b���C���C�a��!쩨.6%g�'���Ս��@�/��4qS�@
bgS}w�}-���Cw#B�ZD�k�B�,&%U4�һbܴ������!'QE��n���	�� )�rO��1
h���m@��P�&�q��S��J��Yn��PxV��S;uc��D���z�S�_b
���-�]���8,�@GC�U���$�
zٲ�4w����L�@ԁ���SQ�H&�0�tJZ�*6�?�R���A��e� �!�0nI��-���R��ʵ� ĞƮ'*اq��n/���u�!m� 
����ss
 =��-
+ z�`�k�,�~�D�x�mC�`M�`�+_���x?�d�։U�uh�g}P�d�v-���q����:(��ڕ/�Ƿ�'��_�D�Q�fBc��/�fMj%�i���	%�8���U`�ԏ�a�l� 0v��s��DRn��h|�n�r��6pd�q�e�c�h�v0��Af�
���� ��jw-:��v��{�Њ$�&H��

�|��|�zL�w�zW|ׄ����_�N+��H�z)x_�{h ��\1Dz^ �Kc��!�aw�w�h
�(��.����
m��HA3À%�br�\�g�(���N�m��Ppn��
�88}�B?
+��?��"�`�����tu8��5���w\�S��i��h�R;�%{��.�L�
�
����3Lp	�rp
3Z[���&=K٣�E'h�>��o��4�	���^4�ѵlP���m�
�p#�י)ח�,�����M��ڮ5unT��7���*�G�F�Xjf%�A�H�K�;�4�ьw��
�JV��q��
<��d��������S2
�
+endstream
+endobj
+557 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+558 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 648.798 490.947 659.702]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 626.945 322.585 635.792]
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 595.308 337.877 606.212]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 583.353 513.996 594.257]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 573.455 169.87 582.302]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [204.862 457.687 398.138 467.585]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+551 0 obj <<
+/D [549 0 R /XYZ 89 770.89 null]
+>> endobj
+548 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im2 545 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+563 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+562 0 obj <<
+/Type /Page
+/Contents 563 0 R
+/Resources 561 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+>> endobj
+564 0 obj <<
+/D [562 0 R /XYZ 89 770.89 null]
+>> endobj
+561 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+611 0 obj <<
+/Length 1684      
+/Filter /FlateDecode
+>>
+stream
+x��[[O�H~ϯ��:�2��R�V*�P�-e!�J�V�I�`5�S�i����
;���I��%<�{�|�2g<�:�9i
v[ǂ8
+(��ӽqtU�q�����
}<�9�^��t�9C��y3����k�鶾���
��̀�N���:s��Q���=46��C����_-X���P��� �	�DI�	ͥEC+�⤪t:
+i�2jw��=с��Q��tO��6fn�����f���������������Qh�\5�fb4R�:
�d�N�	ahF�b>x��|��d�*�S�v�5��U��H�ո�6_[��&?��E/���L��ηf��,��7D�&DI�(���!

oJt1w��u�$Ϙ�b)��� �6a�{
+b��
@���V"��*���@-C�,�zb��&Y�m��lNȯ�g��j
 �E�����y�-�S�?N"�f'ܘ��b�F��{Z�x#
��Tu�eP�B*Vb�?û9w�����������;z���(	/o�ɲ�k/�W�'�����h� �I�� QO��;q7/e4�5���CO���q @ȂY����4��0��N�D'Ѵ�l�@���6��L�[��d;��ĿTE�P�H��~�����z
��nA��P=e���ݛZ at _�xx����3�$�[�NR���~8�L�EA�@�W,�S�H󜎘��*.*���
y�}�x�9�ϣ�|��E�п
��0�&�m���B<�O+�&�Z�;��Ec���VN�
��1K� _����Sҥ�*�yy�*�8j#�j]D��t\�%��eX2���r���!
LG���
��� �(:��5�qw�� *��oZv�s�K
+R��~
����f�3k�3o���_m�1%�e|��
V��"�'5?�fm�������ȋ�ƞη�t[s���sB��&�F��	
�g_,�[��̮v1�Xf�e^N��~y
p��,�XR��P
+�r�E�/D�8��e�
��P����l��_�b8W{d����dr�<����$��n��Ui��t3‹�^������l&��]�
�nxJ���V�u$m�xS��k0y���c/Q�0���izg�*Ұ���]�8<L)�>�w�'�����>[L�k}��4n+��'H]�.��
����y�v6ە����\eM[*���
��q��1Bsb)3m��{��"�P\V�t�����C�,Q Y��,�6	�����N�I���
��b,z2�!��}_Z/s�T3Kc ��t�! Mw~z��	s#�{g�@F��B���QϾl⪩��{�X֔F��
m����^�;���H�����+�5�� 0!7��UwH�MrwhBy"�nI�]����,�%�1�5���ſ��tA�R�FD����(�ؒ��<����[VE�U���䈑+� �[(�&�0��F���$��&�¸�UTV����06�`.�t1��8������@�UyH6"cx�,�s��� [...]
+endstream
+endobj
+610 0 obj <<
+/Type /Page
+/Contents 611 0 R
+/Resources 609 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+/Annots [ 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 614 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 615 0 R 606 0 R 608 0 R ]
+>> endobj
+565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 687.591 244.609 696.567]
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 675.558 214.074 684.405]
+/A << /S /GoTo /D (subsection.1.1) >>
+>> endobj
+567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 661.449 234.179 672.353]
+/A << /S /GoTo /D (subsection.1.2) >>
+>> endobj
+568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.396 234.129 660.3]
+/A << /S /GoTo /D (subsection.1.3) >>
+>> endobj
+569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 637.344 212.002 648.248]
+/A << /S /GoTo /D (subsection.1.4) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 625.291 288.923 636.195]
+/A << /S /GoTo /D (subsection.1.5) >>
+>> endobj
+571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 613.239 270.662 624.143]
+/A << /S /GoTo /D (subsection.1.6) >>
+>> endobj
+572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 603.124 217.551 612.091]
+/A << /S /GoTo /D (subsection.1.7) >>
+>> endobj
+573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 589.134 243.991 600.038]
+/A << /S /GoTo /D (subsection.1.8) >>
+>> endobj
+574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 579.02 197.207 587.986]
+/A << /S /GoTo /D (subsection.1.9) >>
+>> endobj
+575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 565.03 255.867 575.934]
+/A << /S /GoTo /D (subsection.1.10) >>
+>> endobj
+576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 555.035 247.04 563.881]
+/A << /S /GoTo /D (subsection.1.11) >>
+>> endobj
+577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 540.925 302.382 551.829]
+/A << /S /GoTo /D (subsection.1.12) >>
+>> endobj
+578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 530.93 262.263 539.777]
+/A << /S /GoTo /D (subsection.1.13) >>
+>> endobj
+579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 516.82 296.564 527.724]
+/A << /S /GoTo /D (subsection.1.14) >>
+>> endobj
+580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.768 209.651 515.672]
+/A << /S /GoTo /D (subsection.1.15) >>
+>> endobj
+581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 492.716 191.35 503.619]
+/A << /S /GoTo /D (subsection.1.16) >>
+>> endobj
+582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 472.349 229.087 481.325]
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 449.945 252.131 458.921]
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 427.541 165.446 436.518]
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 415.509 173.686 424.356]
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 391.182 180.928 402.062]
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 378.996 202.726 389.9]
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 358.629 155.484 367.605]
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 344.539 202.677 355.443]
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 324.173 155.484 333.149]
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 312.141 178.398 320.987]
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 289.717 206.393 298.693]
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 275.627 236.261 286.531]
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 253.358 221.874 264.237]
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 241.171 335.637 252.075]
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 229.119 395.95 240.023]
+/A << /S /GoTo /D (subsection.9.2) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 217.066 241.72 227.97]
+/A << /S /GoTo /D (subsection.9.3) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 196.7 196.43 205.676]
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 182.61 419.761 193.514]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 170.558 513.996 181.462]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 158.603 201.053 169.506]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 146.55 467.421 157.454]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 134.498 426.003 145.402]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 122.445 399.865 133.349]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 110.393 384.354 121.297]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 98.341 513.996 109.245]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 88.443 164.809 97.289]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 74.333 409.953 85.237]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+612 0 obj <<
+/D [610 0 R /XYZ 89 770.89 null]
+>> endobj
+609 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+658 0 obj <<
+/Length 1935      
+/Filter /FlateDecode
+>>
+stream
+x��[Yo�F~ׯ�[% Z�}E�#q�Ī��@���eZf�á���
��E���7���<�s�7�C�u=콮�j׎��
2�J�}��)n���߭��
E�O�
�#����������uz�vڮ}���=�?/��^�_��	{�p���3������8e���k�����;^�jL��s�̑��S� BrRF��$B�z�AD=���������8�/��8��^�<��
M
+����(?�
+��8
tŒ�	Iއ&ô�M����1�'�u"���e��oX7BLy'�ǥ���?�
�$t�h����<��h�8�mGg �����oYR�zz�Y�?$a��A����nh\z_4����r33$7C��EF�R�@|R@
eg���K1)���q���n(\�� 	�4�Ⱦ4��~6u��:�i*��iņ��
]>�q�
c{2F�\G�2ב3��3����/v�a��a��;2	���n�� Ҋ���܂eh�l�Z��iP\�x���LԢ)���?�[l�+{cf�j�72
+
+V��Ȭ��>�|n��[��c��[`BD"�U�QR>�I��/r��wF������
h�ɲ�̷��\�YP[/F
+Q�H�*Gn#�Wo����?�$��1� ] �a�!��^'�c')!Vcfi\�Y��
#o�ٞ
^1XWfMڰ�:�n��i�=o�!�(��hB�j��*�%�kF-gyN��*t
�8L�yj
'��>ME>7�E�
p3m� FQ��
K��� ��
��%Ծ�Ռ:�+|@1u�W5�IM�R��mc�W
�K޺�cF�5'���0�\�>kP�&��i��}{AX �J�=37.G�Ux
�pM����,v=�'$�\�Ohq�A�2pKf���ԹXF��^�3;^{.�(q.��U�p|	q��z
\�
�ďצ�ff���4ngUI\D�0���9Xt��1����� ɧ�y5L��ߊVˆK���R|
+UVO�T��!~�o\!c���8�qr�*�F-1�\���
���)Jl���:�TUJ�[0�u	�ҁz�Z��y�o�C�M���	]=�Q����n'����Z1+zp��a�bLNw[��`�Y�D~4u><f�yNy��v�+�`���(	�;x^)LYr�xP��Ϧ���|����q��l��b
��;v�`��h��\5jm6q ��P&��ޗysH���	¹ZVD�Y��ud��~��F���rm��`��Ÿ	�1eS
+s�y��_W�kJ�=h@� ��OT+$�XU�f>	A��h0��.qH
Cs{���O�E�P��;�S�E^/Rf�q�
+��DwiN
S阄
R�� 	��WI$�^��)˾
+M��+a~��+�W�&-)V�e��3�T�_�
��
Ab��VCn�ns at n��
i����U�z2�C�K
�4�vP��
��{{V�2��ې%l�:�����]��A$Y���l�4�����pozOp�`2?sy�w�k"o��NKg�\:s��)�^D���;���֍�"���ћ|ja�9�[�fv:�)��}Z��ΖHwd����F+��
i��$�FȰFB���f5�'���V��y �[5=�礇�0i���(%��rp�w櫴@Rmn@9�e�J�Ͱia��|� +Ő�K���P�
�9;��`r�K8AaU����LkRj%K�ƾX܈�5�Ȋ��+�!��$n՟U^�A�W؝�	i�e��f�RhJE�é?�2H@�Q�@��J�'Ju���z��mq���so)�@����"E���sr��ɾd�R��S�=��
g'όO
���w2��f�5a��l��ǭ\M���I֤
ߓ{��8�Z���0��!D}��w��1���A�_S��l�� 
�	�'��É�r�>O��5�X��#8�����'��ˣ����(
tQ [...]
��.�f@'ZV޿� �
+endstream
+endobj
+657 0 obj <<
+/Type /Page
+/Contents 658 0 R
+/Resources 656 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 533 0 R
+/Annots [ 607 0 R 616 0 R 660 0 R 617 0 R 618 0 R 661 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 662 0 R 626 0 R 627 0 R 628 0 R 629 0 R 663 0 R 630 0 R 631 0 R 664 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 665 0 R 637 0 R 666 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 667 0 R 644 0 R 668 0 R 645 0 R 646 0 R 669 0 R 647 0 R 670 0 R 648 0 R 671 0 R 649 0 R 650 0 R 672 0 R 651 0 R 673 0 R 652 0 R 674 0 R 653 0 R 655 0 R ]
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 707.957 374.411 718.861]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 696.002 513.996 706.906]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 684.047 284.058 694.951]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 672.092 374.949 682.996]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 660.136 513.996 671.04]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 650.239 157.068 659.085]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 636.226 484.782 647.13]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 624.271 444.139 635.175]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 612.316 424.761 623.22]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 600.361 425.867 611.265]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 588.405 394.316 599.309]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 576.45 402.067 587.354]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 564.495 513.996 575.399]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 554.597 179.195 563.444]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 540.585 426.725 551.489]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 528.63 364.987 539.534]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 516.674 399.307 527.578]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.719 513.996 515.623]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 494.821 157.068 503.668]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 480.809 413.892 491.713]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 468.854 513.996 479.758]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 458.956 164.809 467.803]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 444.943 452.427 455.847]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 432.988 459.63 443.892]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 421.033 433.628 431.937]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 409.078 474.564 419.982]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 397.123 513.996 408.027]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 387.105 179.195 396.071]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 373.212 513.996 384.116]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 361.257 294.579 372.161]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 349.302 358.361 360.206]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 337.347 392.682 348.251]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 325.392 452.447 336.296]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 313.437 497.404 324.34]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 301.481 449.245 312.385]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 289.526 513.996 300.43]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 277.571 300.118 288.475]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 265.616 513.996 276.52]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 253.661 294.579 264.565]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 241.706 474.152 252.609]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 229.75 513.996 240.654]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 219.733 164.809 228.699]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 205.84 513.996 216.744]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 195.942 164.809 204.789]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 181.93 513.996 192.834]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 169.975 201.053 180.878]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 158.019 416.493 168.923]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 146.064 513.996 156.968]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 134.109 201.053 145.013]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 122.154 513.996 133.058]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 110.199 252.935 121.103]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 98.244 513.996 109.147]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 88.226 164.809 97.192]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 74.333 356.678 85.237]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+659 0 obj <<
+/D [657 0 R /XYZ 89 770.89 null]
+>> endobj
+656 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+722 0 obj <<
+/Length 2112      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�H}�W�m!b(���ؘ����3�6c����	B
e�X�!z��)	qPez�w�B��Y'O��*�`���ٻ����b�AFRt��
�
�O������]�����S�	G��k�[E����ٟg�Y
�r ����O�` �
+0bF�N|����/gx�,����|����I��tsd8!���)F\7[
�h7�h��8쵓��
�a�C�9
�狋�6�i�%i��<��٢��Q8����Ѧ6��ª깂O-�U5[�7��Ƭ|S7���;nz >[`�bi�y���~O�^��g}Lׇ
R�4���&�d��v�6�l~��z<�0��f�u
+
�8ٟFw��QG6��!k~��"�~��~�]�4�~ǘ�C@���#�������El��Ü�n:��n���
L,lc>�	����K��9=�r��.�ߎ'#;�qfQ_\��Ըf��A2DŽ�`�C�L�I�q�VofA�f�;��@Ѳ�faKV�S�,/Y+x
��V���ޅS�8�Ǝa[T��^��kF3)3��+.�6nX�m�=�"�b�9�G	
�
8-Π����o�Y���g�-����Ҥ��*�sF�Vj�Qj�D��z��K4D���i�MA���}���]��zg�짰:I��
*�K͆����nTp|i1]�Z����I4�!�Q!�eu���&��M��30=e0���ȀX^�����ߑ��Hn�����B2�ҤpŨ1D�}v �t�w�,
��M)?�a|?&5#K����-��e���P*�z�ۤ�j���u�L4Rk/.��\
�%���9)�Qlôw��Ij��yw$t%���z�=��ɯI�q]����ΑsY3�A�

��qh{�D�T���
+�5��?޶{�4�<�Q��������
�r�g�,���~Q#��J� 
¥�	+�U'�8�\X���M�q���W���[eF7QB�s
+���{XW]p���G�+�[�V�{�-�1f6N����rqڇu�Ч��~�tҒm�N2�Qr�
 ��%eA��*s�;Y:�gS�1]ƣ�)�T<�
�J�[S�c��"�2Ʋ$�"���RҔ
���� ��SgqĶ�r�R��,
&1pW�)��:'�e�<��n� 	���iRP'��J΀A�PN"�~2I�P�z�
j�X���v����W�I�Qt
�2��cJD|��������Hm��ҙ��E�h�\R�
��[�q�

%�>��5�c����P7�)���ʨ��gD�O	?�6z�#�S�W]����y�{}c�m�A�g��5ui��ʢ̹r�>%>%�A
)��ޔ�b\�m��e�T[�|X*�#�o�K�CχhZ

�%'f/�$��E�
+#�Ok�Q��^[�LAX����{����_�*�E��I���+ۏ��JqWf��h1.���Q��J�~��߷ĥ�r�R/ҡ
ڛ���<6o(g�]��=���7�2�����n/���f�[�]���~y�(�(s���u��N��ŏ�ܵ4�:A�ѨdHp�
��<�������km���E���&�ƾ�/3�
�X��M]��m<*b��.MA<2�fn
�K
+D��A
+W�
AR����4�g]��;�kĩP��������n��,�����c�v�$�'TYvj�/�
��E��+�)׻�
��.�@���de���b@2�m��zr$��W޸��v�d�v*�;�p��qD".��J��²�b��Ğ
!R�
�n�j'����
+꿃��$��u��Uo]0��
+��Y��Xi�
m6�.v�
+�{�F��O[�I|-���E�ʦuСQ�䵯'%�Gߢ��vs�n4{C�p�
��яe���
?�<D,��+����=�l���g�hl}6r�8�
��8��_c���O|��Q�N8�����u�|O$�����K��Q��+�\!�ϗ*�S�n(~�
+�M!s�|
�Y8*��]
Jf!Z	�p��|�
�m[��|�����۵b�QH�yY,��lrq~�y6��x���x��v�����|��tnP?
�U/�V~8/Hi�	p�ga�-�X=.~��8?q~;f�U^���_����
+endstream
+endobj
+721 0 obj <<
+/Type /Page
+/Contents 722 0 R
+/Resources 720 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 654 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 724 0 R 684 0 R 725 0 R 685 0 R 686 0 R 726 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 727 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 728 0 R 698 0 R 729 0 R 699 0 R 730 0 R 700 0 R 731 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 732 0 R 712 0 R 713 0 R 733 0 R 714 0 R 715 0 R 716 0 R 717 0 R 719 0 R ]
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 707.957 390.998 718.861]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 696.002 450.764 706.906]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.047 371.482 694.951]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 672.092 335.109 682.996]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 660.136 381.594 671.04]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 648.181 379.92 659.085]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 636.226 414.241 647.13]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 624.271 380.488 635.175]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 612.316 463.257 623.22]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 600.361 513.996 611.265]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 588.405 252.935 599.309]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 576.45 513.996 587.354]
+/A << /S /GoTo /D (subsection.10.58) >>
+>> endobj
+725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 566.552 157.068 575.399]
+/A << /S /GoTo /D (subsection.10.58) >>
+>> endobj
+685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 552.54 385.32 563.444]
+/A << /S /GoTo /D (subsection.10.59) >>
+>> endobj
+686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 540.585 513.996 551.489]
+/A << /S /GoTo /D (subsection.10.60) >>
+>> endobj
+726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 530.687 164.809 539.534]
+/A << /S /GoTo /D (subsection.10.60) >>
+>> endobj
+687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 516.674 467.706 527.578]
+/A << /S /GoTo /D (subsection.10.61) >>
+>> endobj
+688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.719 387.88 515.623]
+/A << /S /GoTo /D (subsection.10.62) >>
+>> endobj
+689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 492.764 392.104 503.668]
+/A << /S /GoTo /D (subsection.10.63) >>
+>> endobj
+690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 480.809 435.816 491.713]
+/A << /S /GoTo /D (subsection.10.64) >>
+>> endobj
+691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 468.854 373.305 479.758]
+/A << /S /GoTo /D (subsection.10.65) >>
+>> endobj
+692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 456.899 513.996 467.803]
+/A << /S /GoTo /D (subsection.10.66) >>
+>> endobj
+727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 444.943 300.118 455.847]
+/A << /S /GoTo /D (subsection.10.66) >>
+>> endobj
+693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 432.988 388.797 443.892]
+/A << /S /GoTo /D (subsection.10.67) >>
+>> endobj
+694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 421.033 466.853 431.937]
+/A << /S /GoTo /D (subsection.10.68) >>
+>> endobj
+695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 409.078 464.19 419.982]
+/A << /S /GoTo /D (subsection.10.69) >>
+>> endobj
+696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 397.123 453.111 408.027]
+/A << /S /GoTo /D (subsection.10.70) >>
+>> endobj
+697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 385.168 513.996 396.071]
+/A << /S /GoTo /D (subsection.10.71) >>
+>> endobj
+728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 373.212 294.579 384.116]
+/A << /S /GoTo /D (subsection.10.71) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 361.257 513.996 372.161]
+/A << /S /GoTo /D (subsection.10.72) >>
+>> endobj
+729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 351.359 179.195 360.206]
+/A << /S /GoTo /D (subsection.10.72) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 337.347 513.996 348.251]
+/A << /S /GoTo /D (subsection.10.73) >>
+>> endobj
+730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 325.392 242.696 336.296]
+/A << /S /GoTo /D (subsection.10.73) >>
+>> endobj
+700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 313.437 513.996 324.34]
+/A << /S /GoTo /D (subsection.10.74) >>
+>> endobj
+731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 301.481 218.617 312.385]
+/A << /S /GoTo /D (subsection.10.74) >>
+>> endobj
+701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 289.526 398.202 300.43]
+/A << /S /GoTo /D (subsection.10.75) >>
+>> endobj
+702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 277.571 369.988 288.475]
+/A << /S /GoTo /D (subsection.10.76) >>
+>> endobj
+703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 265.616 396.558 276.52]
+/A << /S /GoTo /D (subsection.10.77) >>
+>> endobj
+704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 253.661 380.688 264.565]
+/A << /S /GoTo /D (subsection.10.78) >>
+>> endobj
+705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 241.706 473.364 252.609]
+/A << /S /GoTo /D (subsection.10.79) >>
+>> endobj
+706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 229.75 395.452 240.654]
+/A << /S /GoTo /D (subsection.10.80) >>
+>> endobj
+707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 217.795 395.442 228.699]
+/A << /S /GoTo /D (subsection.10.81) >>
+>> endobj
+708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 205.84 362.785 216.744]
+/A << /S /GoTo /D (subsection.10.82) >>
+>> endobj
+709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 193.885 420.214 204.789]
+/A << /S /GoTo /D (subsection.10.83) >>
+>> endobj
+710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 181.93 377.011 192.834]
+/A << /S /GoTo /D (subsection.10.84) >>
+>> endobj
+711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 169.975 513.996 180.878]
+/A << /S /GoTo /D (subsection.10.85) >>
+>> endobj
+732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 160.077 179.195 168.923]
+/A << /S /GoTo /D (subsection.10.85) >>
+>> endobj
+712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 146.064 478.585 156.968]
+/A << /S /GoTo /D (subsection.10.86) >>
+>> endobj
+713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 134.109 513.996 145.013]
+/A << /S /GoTo /D (subsection.10.87) >>
+>> endobj
+733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 122.154 284.058 133.058]
+/A << /S /GoTo /D (subsection.10.87) >>
+>> endobj
+714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 110.199 477.967 121.103]
+/A << /S /GoTo /D (subsection.10.88) >>
+>> endobj
+715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 98.244 359.657 109.147]
+/A << /S /GoTo /D (subsection.10.89) >>
+>> endobj
+716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 86.288 451.849 97.192]
+/A << /S /GoTo /D (subsection.10.90) >>
+>> endobj
+717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 74.333 382.132 85.237]
+/A << /S /GoTo /D (subsection.10.91) >>
+>> endobj
+719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+723 0 obj <<
+/D [721 0 R /XYZ 89 770.89 null]
+>> endobj
+720 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+742 0 obj <<
+/Length 720       
+/Filter /FlateDecode
+>>
+stream
+x��V�R�0}�W��L�H�.��C)�@)�Ĵ��Dq2�%u
-��%!� �L�L�dEZ�ΞݳY�bD��]`���Ck�$
+&H���B¯1��g%��s
!O��j	��ӓ��$Vg�A`��(
D+�R�⒠1l!�=��Q�8������"-��z�~�Z�����c�9R�bJ(�`�
�A�C�
i��vj�E
Ϯ�����;����M�y��i�gU �>��{�	�=�
+�Mc����\Y�O�U��vl�M
U��5��C�b7�
�e�ߊ�&�'Qi��33q딸L*� �
lh!���0���yY2�.\�S;� ��p���3�/$m��'r=�}��_��M1~q(�p:���*�`��:,!Ǜ�ȵ��>C
yH	ߙ����Q9�b��eex�k^��b�Y����S��Xr�4��ì4ō� N������>avM_�fm8mO
��*�
��$uN�!��3�U:p�Q�SU��O��h(���|��|X;b��Y�Ch�[kJ������A>r
+���B�h:��
�/�I�{��ӄdX����4�v�+,t=���&T)V�����v�w�z�}��ܹ�Ͻs��L|ȍ䵪}�9��i�i+���Y�/L���n��)ʮ��Y�
�T	6E���M�	�S����f������('����Xu�iY��z���xa����
�`�����$/0i^�ͲI� '�&�7��SJ
+endstream
+endobj
+741 0 obj <<
+/Type /Page
+/Contents 742 0 R
+/Resources 740 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 718 0 R 744 0 R 735 0 R 736 0 R 745 0 R 737 0 R 738 0 R 739 0 R ]
+>> endobj
+718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 707.957 513.996 718.861]
+/A << /S /GoTo /D (subsection.10.92) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 698.059 164.809 706.906]
+/A << /S /GoTo /D (subsection.10.92) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.047 350.042 694.951]
+/A << /S /GoTo /D (subsection.10.93) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 672.092 513.996 682.996]
+/A << /S /GoTo /D (subsection.10.94) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 660.136 294.579 671.04]
+/A << /S /GoTo /D (subsection.10.94) >>
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 648.181 371.631 659.085]
+/A << /S /GoTo /D (subsection.10.95) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 636.226 356.997 647.13]
+/A << /S /GoTo /D (subsection.10.96) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+743 0 obj <<
+/D [741 0 R /XYZ 89 770.89 null]
+>> endobj
+740 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+757 0 obj <<
+/Length 2612      
+/Filter /FlateDecode
+>>
+stream
+x��ْ�H��o��պ��؁�v����(Ke�
F=����ʬ��V0�/V�y_��Vە��>�����Y�r7O�du�Y��*�r7N`V��9��e{εld'*�<o6�A�]-�6�h��N��͛�0H�� �ܾ8�����x��Oxb7�VE}��oU���y��Ӈ�U��V7g�>�d�
b
� X~�Q|ύ��r�{ޔ� �,�3`�|� 
H�2nB�y
k���2 Af>�u
�[�P�����~��Y�MT��"7�B�GP��y��
���mu�ɲ��K��Dw��{/��	����z��ÑS���Zz��
�)�M��`0�kѨ�X��J��o3ֲS��1�j6V��&�C�"~���8�hh�����
d#�A�������oU3��R���_=�����$r}/ �[CGf�AYf��T�lz�U�p?��e1h ��(�
�
�G�c����9Xs��D��`�ù�9�
h�lk�m ��s�,8�
Ӝ�)�<����C!�2�WI���X��i�#3�_�"�yŸ����h<x
��xf����v[vڟ��V��'K� ����
��	����X���__�\2Y�w�ƀ<7��%F!"�
� �&d�0 �@�D��͌A2����X6
�;ѕwH9�ڷ�a�U��
� 
-"K�;5�X�}�
� ��ƚF5[�e����xd�E�8��)�vc&oT�V����m'��B�D�
�V�
�?4Ůk�vd����V��"��5�;�	��m�aG����
��h�^ޝ��;���Q�E
Ώ�#�
v�ݙ1"/��6F�v�6�@�Z�fX�9-
 
Dw�g�V4G�<g/�A�:Z�֕���0e*`����64��_�=`@���FD��w���ZJ�V������HɇL�A�HY2���
kݢ(�;!�@ �D��P5|��*�r��ɰ��0y
@��v��w�
O
�^����`����.{�th�n;��p��I�T�f���g%5OX�^�4GE���㵉��l�=�i
[���[���

3�
��m��	�����Q��;
������X��n'ӡ�!m�X/������:-��UY�\zm苁g
l�ǥ���J;�E��IO�
+8Y
�dcj�p���������� ^������4�'nfP�@��sY�>�dqCѤf�� v��S�)��c��
�H�w��H�i%n��&�C�J �#�t!�&���2[�_.@��x���a3���9��RQC�'�� "u�|7�N�
�O ������(��41�����t��f1
<�O��S$xB��S
Q��)��(�t��ĺb����a4�\K�	�9 at kzmc W�V��q������F,cu6��vO����[H
:�RN���p�_��N
+왃߯�4�� ��t�:5�$�0V	�j���^����^�>8[2��*(��;�Niz���4
u���)�PE�*�
Ezً�d
+�i	ɦ#��1�
��F��	�T��[V#c��2qy�_��M�[��bڱ)�w��v�z�_�:B�
�g5L�
�w�k.�Z��]�Ί�u�)��~��B��R���k��c�!��ľ?1�
+�=p.��
�]mH��q�X8s� �o<���
�l^����
+{�T��9q�`+m���)����O.ċID��:�'���)�	���{m0�[o:tv��37J�y����it�F��NZ�8>�X���N�b$[$x�<
� �������ۅ�ԛq]�2�/U�]���^(9��-'M�y�B{=����vX�X^ |K�x~�s|���B:��-m�K�'�]��X��*u^��i����cDĞ^�
��Dd��tœ`p̛��l͉I�2qC�ܵ�e�h��0?�{��0l,�~^wF
d�ז�:fQ�
+����X�\������) $
T��_ֶ�[o{.�S�8�
����~���,�ʅ��8cY*[wÎ(?����	�
���
��M����
�,�L��c�FBMA� ��o3}������/�H2�R]�O���y�m
�[��h��
c��RyD~�F��i�� �g~H����m�1�N_�i{/u������io��y
+!A�~
�B7��?�b�|99��� ��b�]�yѧ�<�Q�~���)�ONEu���;�n
�s��%�M�	���aI+�A��:�&/��� Q��6Zڭ����oe ܻ6`gN'`��d8	
�[@��ژڃ�ڈ/��c�<�ʅ�
+����򾭥��DG[�=��	҂67
�Q��O�0��3�����
F	�Q<���DmpZ�4r��2sq����9���z��K)��O��(�#P�瞂_G�O����ՏR�������vxSj����#�!�a��F0
+��U%?��by��,w�$����*^�}_ŷ�-5=R��/W����<$�S|۪iz����$��~韙�oK@��$�-��c8?o�Qu��P
��C���Dc�"X�p�9�4|��?]0
�H���Vf�/Rɑ?�\�K����㫫���e�u���/�	��
��67���ɿ���[��1�|���H��j
�O�@�������
W��p���/��1�
+endstream
+endobj
+756 0 obj <<
+/Type /Page
+/Contents 757 0 R
+/Resources 755 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 754 0 R ]
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.351 628.995 427.818 639.899]
+/A << /S /GoTo /D (index_convex_polys) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.548 273.425 337.122 284.329]
+/A << /S /GoTo /D (index_use_of_library) >>
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 155.605 190.125 165.503]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 135.443 202.08 145.341]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.281 187.689 125.178]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 95.118 229.532 105.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 75.05 169.757 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2 0 obj <<
+/D [756 0 R /XYZ 90 721.073 null]
+>> endobj
+759 0 obj <<
+/D [756 0 R /XYZ 90 699.812 null]
+>> endobj
+760 0 obj <<
+/D [756 0 R /XYZ 90 699.812 null]
+>> endobj
+6 0 obj <<
+/D [756 0 R /XYZ 90 699.812 null]
+>> endobj
+761 0 obj <<
+/D [756 0 R /XYZ 159.628 264.623 null]
+>> endobj
+762 0 obj <<
+/D [756 0 R /XYZ 90 247.629 null]
+>> endobj
+755 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+779 0 obj <<
+/Length 2277      
+/Filter /FlateDecode
+>>
+stream
+xڭYYs��~ׯ�[�*s4��JU��*�$������R��HB-� h-���==8	Q^��1����������q�����叡�b2���^̽Џ��m�}\���<DL����o�y����-�]�[_|�0�=A�5
#/�]|��{[����Lő�d'�<_*x���ſ.�ӄ5
+�@#���
�`B����v�~9�^=85>\��@J�� n�����h�dK	;r��~eM�҂)
y+�����
Me^�Dy�ԥy�}�i�ƙ�bj�N���J��"�Gqؙ*K�9�
�"�H��n�,
H�h_�"�d+w���]�'u=��V,M2�0
��>'Iu�P��rp<QR�
��8/
+|,�fF��Y}�ZY1'C�,��9'c�b�.�Ds�5��;�UR,�5
+���𜐐��
M�����eE�X
+�8�KyO���P�m
S��ߓ��קl�<R�a��,��C��z��KrS4���RA�b`��nή0-���j����"�k�[RlI���tU�P
�
|�'o���ܮ%�2q% ��
��~��9'pF���/�NϬ���H
������]_�6��^�{pE�%��ᛖ,�]�6f�ϓ�moӖ�
E����X�
(^�2Z�f�
B������gH�Z�/���9~�bi�ۗt��ۚ9��q8p�Tr�Z����q�K0buH�%m0��
��W&=T�
IT�1
h�*w�J�V���
8�H��2΢�ѵ~4�i]����� �K)�)!j��ݔO��Y
+���!�[��L��=ss�n=#��Q��9`�3��t
rL@)���e��>vH�&�
�>��!5ۻ���Ƭ=����E{t��+*@W�5>�H
׵��O��&���s��H���c�C3���+h>��(
ZN9D�bޝ�J>'�C(�]�(w���v0ޮ�hJ
��=�����Ì
1�
��r�{T8MV:�ʽ����)i)
J��yf��ɉ:d<���ۀ�P
�u[���SԷ��
�)(s |'��P���
�
j�_�Q���R
�Qj�R�=��_�-
G�-%�FZXQ<@�+A���Q��I�nD,L�����݅#V�ֵ�
�ڟh`�����O���j�s
�X3��v��Y�E��[\p�h�m�����r=�N����m-�֓��sYխ�L�V��L|v*�
0p >
�aPr�*Lp�6���rŒ/n��rg��}��J�8���
�p�� �\МV��d�<��<,_
6�,`7��w�

��{2���h͂‹����6�ZZ�2��I7 ��c�<�43��ڢ%M�:�TƸ���a<��߲b����,* ����
+$3
 ���3BC���:��>/ϗ����G�
y2!L��s��<�	��I[�t7��0$�!�xV:p��B.�"^�B�"h���R��j�6F>�=��T ��\$6''�V>�� �c�ר��v�'qW�0�2
��+c8:a�, �nB���z�FE���
[��;��a�A���Q�O��S��*�\
G��t���!6���2{+���Z��\
']_�q_5|ȉ�:����I���
�E�P. ;��!�l�
+�a����n)t�a�Ǩ{Pi�cFb>���&!�q��~��v�B8�,
���w�
��"c���7��z����}A�h�*�񒩤�
+��]��D�S
��ž[O��.9R�ƭ���¾
�K�r�B��O$GZ�u9e��`
*��:q{��z��u[� ؘa�mb��l�Q��3��(���K���D�6�w�_W
%�pP
�p��B���4�Qw�k��sb"]YrH=�\+1�����կ�q�nn��R}������p�z���
���5p�7���땓Dh S6����!��gv���&�M�
��mb� d"]���Hg�����
�G��۔����2m��㵼�V0���S`�C)L���1C���a"�2z:�—!G�W�Xcݮ
\9�����s���{��-	��D
,g �`�.��
�һM܄YT}2m��4}�c��F�o(C��S�)����r��#	'���<Fԓ� ����
=��lb��jv$�/&#��M'���Y�~˘I�^�8���RK}�oE��>������b���~����
l׸���;�]� ��y�^`�
6|ˁ#�|0����]��OK��_�L
+ @}�uwٺ��8UA �p�3��^��N�Ӈ��>@ڴ�h�c��__^n�)
XZ�N��_
nj�����&��%�&#�:�ܖ"
+endstream
+endobj
+778 0 obj <<
+/Type /Page
+/Contents 779 0 R
+/Resources 777 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 753 0 R 773 0 R 774 0 R 775 0 R 776 0 R ]
+>> endobj
+753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.674 142.304 718.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.957 613.938 268.261 624.842]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 552.315 259.42 562.118]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 532.496 337.129 542.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+780 0 obj <<
+/D [778 0 R /XYZ 496.074 468.299 null]
+>> endobj
+781 0 obj <<
+/D [778 0 R /XYZ 90 451.663 null]
+>> endobj
+782 0 obj <<
+/D [778 0 R /XYZ 390.898 352.07 null]
+>> endobj
+783 0 obj <<
+/D [778 0 R /XYZ 90 345.43 null]
+>> endobj
+784 0 obj <<
+/D [778 0 R /XYZ 338.874 146.894 null]
+>> endobj
+785 0 obj <<
+/D [778 0 R /XYZ 90 140.254 null]
+>> endobj
+777 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F11 613 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+793 0 obj <<
+/Length 2513      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۸~?�Bؗ�h�#��.I�Rdt�-�H�>$��l��je�+�9��
��(G�I[�x�ƙ�􉂛 
+�^������T9���wA
i�3�@�
>���՚GQ����Z�(�kQ5�z�*��p�V<
u�ZK��$�����p����_�8���*�f��p���((a�� b2ς[Ctb!�[��~Y#_�$�D�Q�b�)!9��Qe6w˂k��U����޶�Mw��V3$
֜��$�A��/�{P<��b��C��_4��h��Nݰ׎�.���EB�42���!�cmcy�v�����Β��6m]�h��ʱ���Pl�jk����^�k�djr�+E꽜i�w��j�
+U?h��5��JO#iv�^���7��4��<B7�M"��G�2�@G�1").�DL���"�G��OL5�e�U�8��b����y(NC[�7ն������St����x�sN:'�y��'��Ǫ
gЗ6gq6��yA�
b�{��dq�>�ϛ�Ԕ�\��5����s�W)����O�d��Q��Ŵ
�yф���9xJ>҂�v(n��y1�A�hn���h���ﰘ|�b�W9h������Ǚ̯M��SQW��9֓	S�}֛
�?�4[T�C��{�K�FR=N��m֠F�������A�L�7�g��쮐�
����.���L�������w�@��_���!{{Y0e
�a��SB=)�Y�'�A�������&�a_
�e�&4E���MkI˪�W
fd#�JY",�zW
�����*Q�
�(��n �Tj�T��Mm&m��
S��G�:L��n�`J��h�0����{MS��&L� !'�|m0i-�`�]��)��M 
MAʑd�!�ų`�W
�ɣ��*�	g"��|� [...]
g�HD�	��I6!�-b1�q�?��RE�����u�s��yC �I�GV�gۗcB����U��M
c^�Pyx�3�'��H+iA���L���[j����L�����������Ě�T�嵅l�!uCv5��$|��PW�BA;�cdV�P �e�ѻ~MHFU��JD��f�^�Rڌu
��7��\݌�GK�s(󸁽���
q��*�T�$���\΢+eJ���
�� ��KwAɒ1z��i����(A{��2�3v��<t0��F7�s2{�3��%����6<�1O�u�ؐ���~�Z�I�5�8�R�<�]q|;*�����;�f�AMO3opp\jjp	<K��
���0�m�ӠG6z����t7���t���ih�(��.�v+f:�U���3h�!��2�c3���6ʲ,�h�υ��0��T�
"�
q:8��>$j����p
C��^7DR�d4���zH���ڊ=S�2�2�
�
+]�
DpB%�9t�����T���I� iꢽ>[Ժ4e1���o��&�1/ ���Az�����j��l*w�H�o8o�K�a�w
�4�>"�����V�T@��L�����s
]�EW�$�=6�{��tlJo
�ʏ������;����d�

�	�"�ʞ����g�(rt��=���uۛ���kVqd3������^�]Ad�lh\�#ƴ���0�U�<��&�����/���a��`��I8��~˖~.�����䧁I|�L�C��2�z�V��S���=��4N�w�����?� 7���.��K19���,�Ǘ+��ko�e� W^pt���� ff�tT�5�:R�h\�&J�O��
}*�jG_�=�&��B��VA��n�2��5�3��
��I�ƛ�p�
���� ��H�:��L�Z��̋Y~�����;�YA
�w&�����t�.�)��_��v*���(��*ha������G����
��!�O�z���o��4\�4=��0���KF���M��lL�
+'X�*��z��eu� =�E����
��J��
&,2���B���+��ȸ�Q��y�/���VDt�D��������d!
-j;}�_�
� ��<�s&�O����fO
��� �Y�q1
�q'�/�'uW<�y�/3�)�j!�S�#�mь�uc�k����u3��G s��]�
 �� �_�
�����_nf) �~�_��CWo6�NGL(l���@k
�v	&U��*��r��~/�J�Rĝ�
������
zBg�EV05CVпDV0D� �h�
B��
�L��q�\?hye�U�}շ������k�Pt��N��*a�I��'5�W*o0J�4�b�U�y��
���{>eoq��o�mJ}��c��Z�f�κew�_�x����E / ۪wO���8@[����u���2�i�]>zO�}=��˿�HK�|�_w���� @��Mx�u
�G�����B����JAr�Ҝ��([���0�Eڡ D�;��		����~�2�{���)5��0
_^_oN7�� [...]
+endstream
+endobj
+792 0 obj <<
+/Type /Page
+/Contents 793 0 R
+/Resources 791 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 790 0 R ]
+>> endobj
+790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+796 0 obj <<
+/D [792 0 R /XYZ 90 67.689 null]
+>> endobj
+791 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F8 794 0 R /F24 529 0 R /F11 613 0 R /F7 795 0 R /F93 763 0 R /F75 554 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+803 0 obj <<
+/Length 2463      
+/Filter /FlateDecode
+>>
+stream
+x��ZY�7~ׯ��j�,���yK������x��N��%uҗ��<��������e�5n� H RtyX����������H�;��a���2p#��P�-?�ܻ?~Yr?$,�a�j���o?���
�?>,>-t�%��=��8[|��.w��˒
�˓�-]��7]�_�{A�$�8
�c�Zc�#�i	�D
��֌R�z+sY����֎B��dS%����u\%%v3���Ж��O��
]�
�h��<
%��������
q[U2o�G]�۲,��ֵ�t��0#SQ���{�=
���7��8K��� '���
�����`�e�>
�گ��
�h��6��&S�"ɛ���T��H+�.�I.��Ƽa�XH{��;T�n�\��H������
+F�j�G[�j���� 
��C�h�����
+u)��#�N����x�2�
?)ri�2�`F�qv�
w�X�}Qɾ~Ǽգ
�</]�m
�qa�ьD�т-�Ꮇ*�$�w� ��n�q�s�[�"o*Q7����J�z�H+)v��`AX�����I5�3Gb�q����f��w�=�����:
��I
�Sl�PDZR{�JI�� �XŨO|7��t@�CeI��is�8~7�3�D�
��4��	�I�@�8�a�E#$��󮣭�E���{�y
Z]@-���`.�
F�sV���Tm�g�L�<�s��W�N-^ɬl,��kP@����9�g�M{@07sKaU`��ְE�<���8g3�^�2-弄�Q4��Q2m�� Ki���Q?捈��L�G"�o�#8[opp!q�ЪdRo��~�
�?vF���A�_�#�.�(P�����x�h��F�!��G�C�4}��ifz��x�u��`��
 >ߒ:�Ft�Z\g
�@}[����#g�%�B�@�I^o '�AV��W������j"���
uʗ�����B�j�id�+�D�'j��:�f.	
�+Դ)�n2��#,x�}ɯ�>�z�6��m��r�,�@@�X�~�j��+�'��rB��nѬ�~&���R_%�Ko�_�,��4%>��o8~��tI�B� XC���Q�B>#*��.�����c��eAhu��y
��
+�{���5�@!U�$9����


3<��	,	�U<~Y� ��}Q�Rw�����b��[p����t�f�5����OmR����B��q��
�EelXȋ|}.�BL��&�p^�ԕ'�tN�Q�8X4��~R�"�Vqe#%��cS��q3�� ����{z��Y���,���Ͽa�A���}��f���D����"�3C>�y]df�l�V���7\Z�
�R"�g��as�k� ����g�d]�\>�fs��]�6�5�.
�x��x?�yg�|��ι��%{̧"O+1�-`q��XG��
%r&r���	�G�1�3�&����'�<F�׉�
b)JCU�> N[DqlՄ�5o�D*ݨ�6�6:6f�R`Ku:�u0�[R�E�թO2wf���n�J�65`�T�%�?�"��hb��vB{�c0@/�!�o���!C�qP�۷f�N@�Gᙚ�륀 ̒ٷy�{o�*��8�s
 �+�Q��$�4V�{�`��ߘj
�����ۤ��̏uB��ԛ}UdW]Yfٙ'�����v�b�<�`�M'G���O#q���]���]�r���`�
�B�
�[���=ƅ�T�=�:$��3��������'�y�� �)�5OpF�K�#
'A4?�(�����T�<?�m��72e=�xD<ϙM�8��
ʷcI��
B�Ri��`ܱhd/$��̳M}�U�v`�|b���^�m{�\��[{y��c걺�����
�Ю_YX��t#��}��_"��iqz9ҙ��d���ゼ�?� J���#m�L�0
| [...]
��*L������2���
����jx3�wuboDMt#�+�41�Y
Q�z�N'�I&��-��ym�N�²o�@Φ���Rв�f����˂�^`���Oυ�ҙ��g,2 ^4_s�:{����&?g�d��-�`Ynt�p
�֒Z+VB������$�n����
Tjo/�ar��7m(��Tw$�Mv���IJ�i���Ax�t�6w
�()�Q�wL�����
��~����IZ���P�9
W�c��`�˜!Ź��tLbt��$i�P��
�%���4ե�9T���q�݄���<F��j
�A@�����Z?f�"=���&��>�w}s���'oN��SK	�i� �]����t�C
�X�s�1����_p|ZP�:<����sL���_�)�XOn
��=A�������:CF\0T3���.�S��w��2w��yko����e�Qp@�o�Ki�J��w'����
��
��Ǧ)_��o�(��@*�4��'��\��ZF����.�� q�D
+endstream
+endobj
+802 0 obj <<
+/Type /Page
+/Contents 803 0 R
+/Resources 801 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 734 0 R
+/Annots [ 797 0 R 809 0 R 800 0 R ]
+>> endobj
+797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.273 240.069 513.996 249.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22) >>
+>> endobj
+809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.828 228.114 191.619 238.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22) >>
+>> endobj
+800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+804 0 obj <<
+/D [802 0 R /XYZ 90 721.073 null]
+>> endobj
+805 0 obj <<
+/D [802 0 R /XYZ 292.568 600.052 null]
+>> endobj
+806 0 obj <<
+/D [802 0 R /XYZ 90 583.872 null]
+>> endobj
+807 0 obj <<
+/D [802 0 R /XYZ 90 557.291 null]
+>> endobj
+808 0 obj <<
+/D [802 0 R /XYZ 90 538.521 null]
+>> endobj
+801 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+814 0 obj <<
+/Length 2775      
+/Filter /FlateDecode
+>>
+stream
+x��]s�6�ݿBo'�D0 ~��8�M���<�$
MA���T\ݯ�],@��,�i�����]����O���������ț$,	e8Y�&	�D~‚F���`b6���b�fs��/i^R��LS���z&�jfsOq8
f�-~:{�8��L 
>�7`Q<�6g��%L�4��K�Ƀ�L|�A[Ln��}����Ր;[2f^N"���/R�~9R���6�/����3?��^�6Y��U����b�l��H��v�+�
=�%�
�[�6�S�ͣ�E›̅�/0(j����G#�n^nw��-�ԩvm7YmU��yU6l at x2�|�EH%�'	��F@����X�ֻ��j4���V+jSj�I�6�hty�ӪT4�ic��js2
+ *g"���$ȡv0��<�
Zoc	U�
b~���%��ˊ�M�;eq���;��'&�H|����!�g^4]�t��g>��g�ђ&L����d�v5��h�Qi�����]���)˜Y5(Cّ��̠�5��\�22�KkX�4
+�O�
+[q����dZ�&
��U^�
Mj���jWg�&�-	��+���I>E����j����̦�h0�bzSm�#�Sd�>��ʆ&�ֺB=~͗�&а�  7�B��ϼ�X�F�ڊ`���k�[�ٚ�{�g�-��j&��v at huU��
���֍
+`��ZeyC9��N�jL��E�9
��6�4^[֝�׳�/��ݞ w
��p�H
��ϵ���oyC�@Y�@
"�X�
�r��L�R[3�6�G���nߴ./G+�U�/�M��E�4y�
A< i4 �g��0=b� ځ��X5v)@���Z
���&�RjV����'��zi`�'8�@#XQKN
:dz��l�j���*q��H��U
����:�#���c��|1
O,N���q��
h�L��O	2�#
-
C��&���ք����<Qk�I
����y����fߴʠ�jg'ݲ��`��w�D�&Eb014nc��|�,i�1_�}�,�:�9
�(mUT/@����
�jۂ-f�n�����-h�1�t�v�*MB����gD���M"��KS�MڲjGX񄽲I��CЉ|E�"_>E��-S[s0
2�����#�2��~4GRo
[��t�T��T9b�Q��F3ʥ\�2#�2`	��#�(E=��.��=7I
%
I�B_r�G�g���x�#�,ɋ0���g�:�D0�P/!AQ���8��mH��"�g�Jb1������ #��Bb(0f����R<,�O
+� �u�D�x���
��~��
E��w=rG��``ݑ�%Z��\��<�o��
��ÕU}@�"`�Ӻ?�D�/�
 2%���P|\�HE�TY�{�
�x�t�m�yR�jE
+�
�ԝ�v�.M��m'�(hK��i���
�j��j��iv�լv�Vn�ȴ�L��Y�cU���.L����������)�ӽZ��y�9�]�@�V���brZ ��F��E�<N�q�	ԧɷP�n�C��â���Gܝb�ȝ?r�ғ��x1j�Bd+p�
��
��LX�&}��r�ڐ�b'g�3z����}S>6�;x\�L��}�a3�%z�1������Uu�(
�X+
�4��`�q\
AI߁�
K:�|��; ��u
��"o�J�wG�F�I��$��=�Ri�s�}s"�
���6��r*6.N�temJM�o��B�ciI�l
&�%�l�ٵ�8
+�9U/�qJ��F0$hۢ�x�P��iڢ�1�K5\���"SWy�G���:N�-cIf���B��W&��ۚ=���NQ��{l�:���q�󤋑��b����H��W��M4~ P�k_ǵ�,��X"�a
j̔L>~c�r{y�
���nbޡ�Y(�;ͻ=و1�=6�fU��}�Q�F�
Ht�=�z:�d��3
�5^\��5�/�Bt���l
�ev˫��+�4}�3�!�G�%�C;��e~���PFG
���Mjr7��ɤ^��p�]�vYew_c�
8���-[��A�7���S�+
�����E��i���	L��.���%�^
x���T�Dz��˷l�=��/�Si�
�$cfrPp]�J�y�
Җ,�h�/������npl���
0��n���б�?�{JK[�9ڿ%.�A"Փ�SF��^^N��C��a2̖�M��%HI�S���������3�
Uf��~��
+u�
+
k�{+�V�vb��
_��0
�fr �%`J��Q���(��i-
�l�J�+̨��-�-���
'f~]K�&�tnLmڍ�ZK�C�r�:NϷ�mn�
+%�!u��+���C��z}��Au,�����Շ7�?]����uf(:�����t������!�J��S9�"���U�fq}�f��?����뛷oǨ`E�g������O�1S�����[��;>.�u�����cQ��/���6�C5PS�|F��łE��b�>��I|0\�eM/���^�5uaT��*6<,�eI�����;��5

^xH8�Z>�x����� ;%
�Jğ�8�~� ��vg �e����k�#8�w����8�]P(A�ީ�
������%?b��o�����Q�?fA0m��ʝ}�D9Q�^7�-�`��b�] ��8m�����La�ߊ ��9Y��������Q�=˪���8|$�G݁�^���!/�$�6��/��
|u���H���{8�s���]h&ί6���?����
+endstream
+endobj
+813 0 obj <<
+/Type /Page
+/Contents 814 0 R
+/Resources 812 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 798 0 R 799 0 R 811 0 R ]
+>> endobj
+798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.828 708.58 209.552 718.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae15725ff36519df514dce8b2a52c8f9e) >>
+>> endobj
+799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.54 708.58 286.264 718.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af5e8cc3b25cdc1ef3e37bb82a4e8c7c8) >>
+>> endobj
+811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+815 0 obj <<
+/D [813 0 R /XYZ 89 770.89 null]
+>> endobj
+816 0 obj <<
+/D [813 0 R /XYZ 90 691.846 null]
+>> endobj
+817 0 obj <<
+/D [813 0 R /XYZ 90 589.061 null]
+>> endobj
+818 0 obj <<
+/D [813 0 R /XYZ 90 546.051 null]
+>> endobj
+819 0 obj <<
+/D [813 0 R /XYZ 90 69.588 null]
+>> endobj
+812 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+826 0 obj <<
+/Length 3370      
+/Filter /FlateDecode
+>>
+stream
+x��ɲ����B��U�0�u
�-e�O����vMQ%�,�.~~�����8�]N��'�F��{�
+W�U����'wϿH�*Wyb���~���4�U��l��!H�z�je�L�<�=����|���>�{s�a)\i�
�4[m�w?��v �j*�g�GB:�"c������_w�p*��/������8�`�5����_�0
��.�E{��`w�6&
�v�д�7Q�ku.����Sw��/�pr�p�6��mƔ�%PΓ�R)�s!���t,w�L��6m�>�'q�
�`ߴ���Nhl���x�x,[�5��x¯Ŷ�i[véw뺑��kΗ�/wB��U�N��Rn��� *��2�!��Z�O�k��T����;X��x� ��&��M��4r�0��m��=(��?����HY뭩��N�&b�)�Eݯ�$� ն�ҕ��-���Y�U2:�Eݑ �4"�8�c�g�TΆ�(c�9�X�D`�\���6�'�u}[m�V7\ʶ+eF�O ]�\���;#qY3�
�F��׿E��D�)��~��{�+�-W[{��l�� ���6u�W��~�.(#be��1*1f.G��$���
h7��; ͅ
�^�����΂:"]���K��]Ֆ$V�X/M��5
u-���s�&^h�汞*l�1�nAd�iA�B��0+�fQD��x.�R�'Evf��>`<l�:��DN����M�,P
��Aı�����$�;sq w��!�
C�n�{l�QI6����*��1C2��m΀�$���)0o��(��O0��@i�Q�M
q��ɼ�����
�tF��%)��j{
�A*OB��{[1�)��
h!�ѩ�����q��6��6��Z�>)I�,��
BL��R�`��	
,
+Zt�bG,�q:���� �J�K������5��$�0��'��=�%��
IԲ���s�DW���02��l�>���P
�]��{�!��[FnF�Y��H�sf"���QF�/� 3z
�3h	�M0���Hp6�)
+��#�ķ�1]
�
+�ʁLar#I��5�~92���S�i[^�A��8���1�p��
�\
�h��ٚ+

ᘶ6�I�>U����l�[�>���HP�\��H��3�aq�fL>�2�Y;
�/{�:�eB������$�'#H�h�
��"
C�Y@n/��Ϳ��q�1��X�"��7
�l|
���&�fpD�K����s>Gx[
+X��qd83GNA
v�
�Yq|]{6Vں��Ja�PS؁�˺/a� K
�巗��<��V
��,^�'s���y��נ4"�;�-8�9-!d�����ހ�!�.)�ضեoڎ�]�J�|*����i�d�!죤[�ݦ�J(��X��˩����T��[4��|��g
+��y+-*��|�x;l��T�|uoM�U�+��#U	����Q�
�(Q�c88�G�y��H�
3�"ƛ�2E%���
(4���Wɀ.^
��멵�i��i�]U\��f�iJ�~�3��U�8����ʀ�BR�FP|D�@�my;�l�G�u�TW2u! ��'
l��l�����M�-���C&�B���<ݷyX8�>T��M� ��&%އ����M;b�ݘ
�#���M�J�4�v/`��no�6��
X�k��k)�
���h�e���-�������>Z��Ji,�q�W�#����aS���Fp����(
�GG�5�$��:3�RHMl�_M���L"���
&���HF�#?
���Lq�6�P�(] p#��A=Z��W1�`���O
r��d5 �Ug� 
+����é��ѓ�.��ы�&�qS����\�����dP�'b�pS%T��i)�”�&,CGUv��f��!��o��=aj���Z,�4|kV��fF;$����h��A�/�����
ʺt�$��0�s�ג�Q
�I1q@o c�.�L�n���yI�7�?�>0пM��̞�p���vX`��_����ARC)
�,4
��
}[������a�y�b���
��)�`a0�Eu*( �2w6D��L�c8�
Y�|�D �SQ��T^$�ʷ\q�̂Mկ�F���V�(/f�Nd`�`,�OI�No� �T(��{tm�sp�=���s=�e�BeB��FjX��hʸ��T/g�zT�
DD�]���Hs�݁� ���\���¡��j�"Uڔ�+�&Jf-Ve�d�R+���ʗ��+
�������
+����4��]^CEN����@����"ICߘyQK���
��i.S6v�
V���ǫ���Y�5&�<��ny���=/�Ӫ�G�c�8=7���N�f��B���,<LF*���ar������$Y�q��ZҩM�2&�ۆ�7M�*��� �

�
�iruW�qw]x놄�$��`!�T����\e��p9l�G5��,��k�q�ݶ�=�C��r,AT
�7�Z�z��M�gR�V�K��3s��`"��� ��P�~�撔s�3x�ӂ��4S���~���LE�7�3�ܤ٢���eQD��Ӏ��-H��R���Yi\WG�|�U�Mʽ�`;gjQ���&�aa�vF�Y$܁���Bg�A� 2,��L��t~���$h���%�W��;t %i
M޴�-ljJ"��Q��_\K�������1J? �i���#{�
E��E3���Ab(��Ñ�6����½C��~{�{?7����y�`�`��Js

+`� $�
��'K�*'��5�||�=���gn�C��l����~a
+A
��
�?�;�z�NUh�k��24�C���$��5��i��4�
q���8-�M��>�T�%�ĩ��?�`��篋�'�����m�A�H1d:}p�&o�W�^P�d�t?��w�h�-f�H�(��ԕ����U�?&q-(L���Y��-�o:���cՕ�]�
�t�"m`��8�~W��w�9����פ��<
��\
�����"������+3���5�w[ڀ�PX��`m���g,��!-�
n{�U��OCIݭ
�"\
B����x���K�~8�^"���
L�s*�{��y�/�<�����*�

wZ=�s�J��������_ip0i#��4
�Ka�}!vM�p8��
+�F��z�������㯈���)
W����2���4��8=��
A`�#ĝ� ;�[UPI�J�����.���Q'����M6F�9�}��]M�Z��i����/�v�Y�Frk��
	ҿ��}2p�$"�����g������;�������P�x��M,��V��[�
G�RD�|�����
��O��#�_ş�}y���f8te}P`L��`ܜ�Ee��՞l0\9�_�Ե��
Z��P
+endstream
+endobj
+825 0 obj <<
+/Type /Page
+/Contents 826 0 R
+/Resources 824 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 823 0 R ]
+>> endobj
+823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+827 0 obj <<
+/D [825 0 R /XYZ 89 770.89 null]
+>> endobj
+10 0 obj <<
+/D [825 0 R /XYZ 90 721.073 null]
+>> endobj
+828 0 obj <<
+/D [825 0 R /XYZ 327.954 555.065 null]
+>> endobj
+14 0 obj <<
+/D [825 0 R /XYZ 90 537.395 null]
+>> endobj
+829 0 obj <<
+/D [825 0 R /XYZ 376.313 483.442 null]
+>> endobj
+830 0 obj <<
+/D [825 0 R /XYZ 90 465.771 null]
+>> endobj
+831 0 obj <<
+/D [825 0 R /XYZ 234.018 354.034 null]
+>> endobj
+832 0 obj <<
+/D [825 0 R /XYZ 90 336.363 null]
+>> endobj
+824 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F7 795 0 R /F24 529 0 R /F1 833 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+844 0 obj <<
+/Length 3774      
+/Filter /FlateDecode
+>>
+stream
+xڕٖ۶�}�Bo՜�ApO���Iݴ��q�ϩ�J�H�)R�by���@P�q�..p��R��Fm~�������hSE��͛�M�6Y\I
+o���6
�ۻP)��K���j��6T[���N'j��V�m�<
M՗�wQX��6����7{s��&�S�&d�I��������`�DE���i�������_0U��0
+�m�0
/9��y��nM��J�;s,�j����{����n��7
t�gi'��y�Ѿk��w�.�x��x��
S3���b���̟M_�u�0G'�W#/�Ì���9E�0=��
��]��#\)��E�7���-���M�oc�˦
�^ �c9�f��3��l�3�|�7>�|��T�
X4b��	�o�\8�2��0o���w_�S9�* U�¾R�;͒�g3�W�s7 g���ޅ�$YE1�Ц�H
�3>-�HN�@3a�`׉�0۔�a*F�_D{����g�mS@��;��@/�^vΕ��(�>���F �22��YB�E.��Ζ��
�� �,��� ò�+����n�zO2�����J��%B��w��Gu (���T2jû� �Cv�5{3
`'�ܫ���^ѧ�t�;
� T#�9ˮd��T�T
|�vjU�� T��tQ��P��[�[�
 �η?�!�
�S9���������"aI�e}��
�{�B�aDI�F
ʄG�,s��
�e�W�YB�
��$�"V\�+�^�: �uh�O�-,� �ނ��[C�,BV�B���@I�8�/B�,)���ӕ�}�c���\a#F�� !��n6�����*��`5\<h
%�7|ܥ2����[����k�
��s��kU�	�#�=��
hI��Ϗ����.��HG��e3oh�B�"hf��
+�g��^��@\jv?�A[�.Y�G=]q^X����YaY �78�d@�
�,�
��v���λ]=�?�C`�PZ{�;|�
b�`+V��ұ
+�8�J���C����,')^iʝiؿ���g���k��A'��/+'AZ8�Q9��5\y�_�Tj�-{=M�A�̃[��dx�N'Ӄ�n���ᆽ�ס�G ��H	�pSeAV�k�K�	�#G{�gɏ��+�%��9�g 
/+RG�{�5�Dz��j����jVX8�al�)	�J0�g�—��]���BY3�<�@�`_�i��Ṗ��y
�1�|n�A
�غ��*T
�/
)ӛ��aEhؤA�E9��0H�h��X�$G*
+�Q
+�������A
w�!���"�(�3g�?œ�)�,�$|J?�1��4w��6�$p�l9}u�4H)��
+�Xh
�Z�|�^A#�]�l�D�K��ƟZOH��1��^�,*"�ueg�
+G��_P{:~�M9pb
/��-g`EI(��0��#��@t��-&��0�^�	�G��޾�F[y�D"�5
>�V�F�Y,O7���w��a멜��d �@	P�
+����	��0�=B,<L��G���R}�{���'�0�Y�|�6R���
�����{��W����D0����!�V4c
+���!b�o{���
W��|�� "�bZJD`a�@|d����4^�VU͜����0�%򸋫WX����+�P�s�\�Q'S�P
�NC

��_b
�ʑ�$1���B܇xL�.l9
#N��4���q�;�5jLEt"
;WK#�z�]�-� �SO�L$uy�C!G��ԕ�
�ZUC�= �
V��
v� }�
�@�l�aCvxE2�@�~�.�۷Ǻ�yH�:�͘�
����(��i�@���f�
�D7�l�x��0�b=QNH
ʰ��*x�q
[�ˆ�`��y8ѓ�M\�l� �#�͠��=���Non�u[��+�t�c
�
�M���ܝ_>��ı�l1
eҖ����X����}�s?�b^#x�KsB�%�r��
�Fp���]�M��

����Q��ؖ�ԃs\�`՝ DO�g�JmLe�.H��E�X��} $w/
+ێ��{QH?��6���,\喤������ �I�KMd#y�Zh
�ﺽ*�!6���Qy;S��}wځ�H�̢ςT
z.�T�}���<��A�
+�+��O��Z�
���\����obJ�p��\B02cO};��}��|g�|��Y��a*�<��֚0�j��af��r�fq׎:I4�I���M$I�	�6������
;l�=�ݡc�.n�
��B
+w
9�I�N���r^m��C��\
��><�9q�
|��4�v�s��hW��Ĉ\��5�0����0ď����
�N��b�2�),�Y�9�&��g�$p����f]J��E�����YX�e?�.&$}�}`h�ʐ����S9�h
ӭ#X#��)V�u����&�0�
���xhc�o
Z⅞�
z]���OG
+H������
�gl�7;-�L����T_�_
�6
�
�8͞&���?��]{W�@{�C����͎�C��dʲ9+8;��3�A�B�?c��q�E���4=�
��;�l���T������u
+��z�.4�H
�ng at mIaAD�����@�o�
.��Ō������/|徢o%Y,�4~v���L��
�:iE��o�
���J��
O�E� �Ǿk
Fz��.�zXĀD��>��{�k�&*#GQJ
!e������f^�ѶrfJ�� @c��#n��׋S�U�����$�A�<��;/�G��k(��M{��#���<L�|g���„�1
+S�{S.��K�]��ߟ1��ą��u]c��0��i�I$F�Uꚇ���U
���
?$�M�c�
8��>��}1aï&J����
E�기	E\x_c��J�
�� I�H�/���e��X�y,e=*�Mĭ��ּ���
ɷz�c5
&�/q@�2ߒ�k?u�K��KBf
�Lr0���3�eL�N�K��o��ʴ�����y�k������MQ9�%�X���ɯ ����L"`�gx��_�)�zpuV�;�
Y�:}��4I9��M���a�ˮ��_�����

>���
+ɲ<��+s�e-N�
�
��@�
E�{�6���3��{Dqo�I�u���膁�w�ȫ����-j��u����y
+�W�l�A�j��DYY©1>�f(� ��z��G����+�
�`�1�%�k�-T�����Fk@y�q�K[���pK_��vyJoN~~�&����Ǧ� ��`m at yU���P�s�:�0��A~l����AXv�U)Y8S�������S>I ����E�J�F�[�q�E�.�5�-1EL�Q��Q��.%9%����O�
~��.
N'�D�r����vϬ����+����9�/�����*	[���B�+
�Ua���ʕ]0e��q9�rɯ��;�rE������\p�r�(8(��;��c\��`����V���Ja'3,��o�8���n
�g?���Z��Q�q��$H#?�p��[�q�5��!��'�$�s��𪵱��X�\��k
w%�-:'D!������=ŝ��&ho���qѳ�]���"�|�A�(�����i
o��S�ރY�Ä��'A�k�[�t�k�/����>���I�_9d���
+f���]������]�ݓ��/�`����"��w��6_������(ֺ)�����v��n�2
���s��o�AG�X��gAR��9����my���l'뾸���`2
�k
+��Nf|�;�񆾬�W	�8@����q
�߼|�����
�੭yt���GW��g��)h`�1h���0HSm9���Wa�i��Ǵh7���W�h���˕��
a��
+endstream
+endobj
+843 0 obj <<
+/Type /Page
+/Contents 844 0 R
+/Resources 842 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R ]
+>> endobj
+835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.728 573.012 314.05 583.916]
+/A << /S /GoTo /D (index_SK07) >>
+>> endobj
+836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.144 203.018 490.683 213.922]
+/A << /S /GoTo /D (index_Dropping_Non_Integer_Points) >>
+>> endobj
+837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.353 96.717 378.495 107.063]
+/A << /S /GoTo /D (index_BRZH02b) >>
+>> endobj
+838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.484 96.717 415.576 107.063]
+/A << /S /GoTo /D (index_Fuk98) >>
+>> endobj
+839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.565 96.717 453.752 107.063]
+/A << /S /GoTo /D (index_NW88) >>
+>> endobj
+840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.618 96.717 506.753 107.063]
+/A << /S /GoTo /D (index_Wil93) >>
+>> endobj
+841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+845 0 obj <<
+/D [843 0 R /XYZ 89 770.89 null]
+>> endobj
+846 0 obj <<
+/D [843 0 R /XYZ 90 625.695 null]
+>> endobj
+847 0 obj <<
+/D [843 0 R /XYZ 90 625.695 null]
+>> endobj
+766 0 obj <<
+/D [843 0 R /XYZ 258.486 176.592 null]
+>> endobj
+18 0 obj <<
+/D [843 0 R /XYZ 90 154.208 null]
+>> endobj
+848 0 obj <<
+/D [843 0 R /XYZ 508.248 99.312 null]
+>> endobj
+849 0 obj <<
+/D [843 0 R /XYZ 90 77.486 null]
+>> endobj
+842 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F75 554 0 R /F11 613 0 R /F24 529 0 R /F32 764 0 R /F1 833 0 R /F8 794 0 R /F7 795 0 R /F10 765 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+859 0 obj <<
+/Length 4285      
+/Filter /FlateDecode
+>>
+stream
+x��\Ys��~�_�������Ǻ6)ljsz���I��<@"$!&� WV~}z. ��J
T �9����!����Ͱ�����p��ի7_+63�H*gW�3�g�$$�Z;���?��0cR#b$�������߼��h����ի_x�gĿ.�ҳ�ͫ���g+h�Lˌ�=�N��
����Wy��u����zA���	�,�c<�ۂ�yy�5�!���bI��St��l���^���7ź����7��M׺-Dr��Z��Ƴ%�q����B�|0��UY7��W��G;ț�
�+��E���� x&�QL�

+(*f
I"|��wJ��7l�
����0�#
Q��t�����U�)�j�b����R�����7a�M�vbw�=ƴ\�|���7��8T��\��6C
+�4�L�2��H�,G�����YP1(W~����O�����n�u�E�̖ 8FD�5�f��=.���Œ)2�ro�M[v�����X������ui�s���B<�|O����V�����7f��q|@��G6��݄��<�SI�l�)l�k'�;������H
gH��ԕ�A���DB�
(�
����t*zJ��禲ۊ
� �j��^���x��7֙�0���
DgV��N�:G2�$+��P4��:��(��)��
ij�U�y$�d�8/3A��*�UH�v$b��!�u��
+cd~�l�M]֝�I���f�B��{,�M��oj�#���,��&FGH���Pc��E��n��Ը�r&L�`|2�:Iټ�qiƤ�@�r|�p+u2]�K��
�b9^�D���T�S+v�?�!�q�p 8�;
�1@�͐�{'��+OH޻J+W�UZy��Ќ�/��)11 �<a�ke�D8�Dg�0���;}�]
�	<�5�5��*lu��@���߼��+@2����L#���%21�/�?U���������A�����_�]��'0��;��r
�l���i |t��\0w�9`HY0�uS�~
ץ�
8�ͪ���vWzOliԆ.����ğ<�V`�#��H� �.܉��j�ˬƔFyj��
�e����j�_nﶡ��iv+���oطNv�m�'��d�ޮJ���� "���֫��Z�vE&�|�_w�v]���w����[��+�� �쌥
+�Ft.p���A�� C��g����'ݻ]Q�ۦ���mKśr���'����|�ѫ�C'Z$�@A�CJ�/xo�?B��u V
+���i��-x�Xrs��g�5�fp����'~��i�!�O�>�x�9����gr�8aw>����s۳����)�!�&�=�n�E�]��B��.����X+��q�I
+T� �I��pBx"��hA�G�
2`/a��
wAm���٘JN�c�}+�v�TJ�n�Ȭzq %���e<Ez[�e�+t�$P�_
�d6�J"#j6���P�'�6#tK��¬3F��j�Hge���
@a�;��9V���<���1��H3�n�%[�
�#Xx��Q��� ��Y���ϛ����g6�t��or�C�th����pe�� ���Xg��
�@�4�LV�o�&0���%1���'�yf*w�9�ҧ��]>l��m�K~
�\�m��6>��>��K����\tY<i.r�\4���x��R��:.b�E�evE��>���ݹ4�[�8O������#���2�4d�uaF���{�BĶ.������ҥ����90고���v%����,2�2 ���;�O	'�a����%DQ0�!�Ί�O^��
=��³2��	��)�1j��/-��I3I/
+y*q$��0,�'㭗
��d�a�����Yg}A�G

T��"BF��%��H
+�3>E�$
����
����� �Gѓ<�/r˦�
���4��b�9��X ^i����2F�7M�B�^�]���}y�Vd#5����O��9=
!G�q�%U:�]B0����Bz�l�&�l�4`��� �b2�z^��[
+��G��H����r� �
Mi!oõKC�8�KV��?1E%zݏtH
��yR!�X�zr���2ч�
��1	����LD�6x� �
���LJ�M�F2��6�2\�}��H����=����g�	:6*O䉵 9�R0�G��
v)�en>��Ͷ�_��/KQ����4E�ɋ���~$�8"��bK
R�LS�,�tv$ ���^�J0ԅ%	U��A[j3r
+�����_��I���)G�"�)D����G,�|����b�r�|�;Sp$
�ݩC
�҃x�J
+�]����ކ��Ri���)��bI�P���a
`
}
��7
��<дgc�tH%p�p(x?�	'yo at j����
�p.e�I�>Ep�jdn ���/����P�$�Shg��E�u6���
	��Pq �+vkK�΁���r��
�&�qIf���'jL���\�!����飐Ϙ�Wz��gϲ�wR��b���$o�9��bziOԢRì�
q��x�#K3�v��Wn�_.��
��|�v���>�`�[�kݖ�
�9���x�a��h�7�;t�K�p߬K�<)5�GޛF���Ԇzv 
Nۘ$�����Op�0�ԉ�S�r��P�ևeK
�`�~�?�
P*� c"�		=$LXH�|^�
ؗ���P�h[ L����r�+.H���҂�a���E�����Ȏ
ˢCD���
f�f��:mV�D���

��Z��0�bW9D	
����@B�-	)v$�6���t�5�,"5C�7T0%˱�-=�޿�����Bb0nN�THNX��7�.�5�t�ג��i�KZ��'=�X�<d2���sꙜ�<I'��Hd�:��H�K-p�EQ��f
+�L�E��@W��
J�~8�L:Z��Ȁ�W��@
v1@�1��f�����g���XnZL&�J�'sB�ͤdW�U5|t��|��h}-�K|�V�p��d��%/rͩ����V�[��b�
���୩'�މ�C
�
��_����(j�+��I�A278or�N���H�$�'�:��N��氜�E��q!�Ȏ3I�e�p+���?M8���z��cF
�kH��CS
m�M5��r�KL�xγ�+��f	�%1�Lk
?cz"�I���#r�0��Ԩ3���~o�a�됈eF!*'emSsm�7�FE�����GNimW�sd���7�p�;������(11����Q'R� �`Be�� D?W�b$!��I�7��ݹ�Bࡦ�C��f���kSOßG
+V/���l��jЂ��YY4���
�W9cG��}���� Ldj��~
dpU�|���	���,A�H[9�ld�޷�aU<�r���tcؑ0��8���c���036̑�
�f�ڍ����-�2�ccPv>9{[���l�vg�>���Ql���[��v���&�9
Q~uw�?.��&�Y�Ϡ��^34���^�9�Ui9���uIM�DCDqV��%�=���`0`�	�:�z^ٜe���
� �,�B�U��bco��?�C8����'�i�\��Dd��.�lS�i
AZ�����lvegO<BC�۴�s�b�$�%�uL
+��!I
�
'`R`�e� �
�d_�b�v�A������T�%�_�K��]��m�����|\
��)i$w�Q�3
I��9�:b̀�i���C�d�|Z�@�i�`�E���2
�pA��
��m�k�)&�-[�O��!<{�,R�_���܇�l-ou��@��+�T����\ �/�a�l��gT��|>�5hTRR�>���������/X:����\B�u��V&�$�����q�Q۩�� �hh�,1���:�>�kK�:���	N����v�
�S��9,?�U��M[l❥���
���
v�-,1�5nC8�%�8?�H�_��(�%ur��

�QL��l�F����{�{h��������f]�w��-��ο�X,!t"4
���t�
��?ϳ��b���d
z� �m�!i[F��_������u��ӕ��.��l�8����C���~�k����vz��&|
����P�.���2����_�t���?�E�z���4�bn�G?�H���6ͮ��@���
(o���`�]�vb���%b���`��|�/��� ��,x
bϪ��Q�)p��ы
tʸ��#�
L������=�7�߰ٯln	�-���g��kظ��s����OM~��'�m[�~�"��S���:x��DNVnC�c�-~]?������b�
�����۾}��z��C ���#��	����6��^�<��ƍ3hʼ� >�)�
+endstream
+endobj
+858 0 obj <<
+/Type /Page
+/Contents 859 0 R
+/Resources 857 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 855 0 R 856 0 R ]
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.096 86.288 457.668 97.192]
+/A << /S /GoTo /D (index_Topologies_and_Topological_compatibility) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+860 0 obj <<
+/D [858 0 R /XYZ 89 770.89 null]
+>> endobj
+864 0 obj <<
+/D [858 0 R /XYZ 506.258 542.516 null]
+>> endobj
+865 0 obj <<
+/D [858 0 R /XYZ 90 525.581 null]
+>> endobj
+866 0 obj <<
+/D [858 0 R /XYZ 155.86 348.917 null]
+>> endobj
+867 0 obj <<
+/D [858 0 R /XYZ 90 332.316 null]
+>> endobj
+857 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F32 764 0 R /F10 765 0 R /F11 613 0 R /F6 861 0 R /F24 529 0 R /F8 794 0 R /F101 862 0 R /F7 795 0 R /F13 834 0 R /F98 863 0 R /F93 763 0 R /F1 833 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+872 0 obj <<
+/Length 3725      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�[������8
�mҤ�Ǎ�郝��$8$��-���� �Iɉ3�x�X�Ź��]����ξ;���ٓo����\��\�
+:3� J�_���#j�`����v3gyVuU�-�u�t�W4k���E��%�>�ͪ;�՜Ä��Mu�)�0Le���7?�����og
Ƞ3�_���g����_��n�0�D�죛��I.ບ�>���9�4�QC
3�a�s�.��v�*��%��l�n*;bYu5�*{G)_����~�UF�
IY���K��V�G�e���٭/��8��p��m����vU/������j�Gm/r�F����AZ $`qlJy>�7�v�\f����-������쒂�l�j���R�O��Ϭ��qw��V��ޮ뗹	��^߮����]�uc)y����1$�V{����
Fg�F�N��\ D��
K%�R��5��W�e?wus��x�����
uNH
^h��IeD
F����z]5�N�p�
��'M;�n�K�pۆg������uQ5�5����jӮ��D�,7U���*��ݦ\���iY㧄+k���
XpKd��/� B��%���iw����	.6g,
g�����$*�~��'�	�z�AS\F?�5���::�4�u0c��}ۀ��ܛ�:l�L΢I^� �$d&t��� ��ń�-�7P[������!���n-�9)��yG���D�0�OA�@�O�ԙ$EJwl3`8�_~r�h

��-oz���S��ӔH	��9�B'�f�1Ü
+���g��^�,Q�4|��f�!$DqB6��'1
/
	�]$��R�
�> Ѳ�
+����"�u���)E��T0�x�D�a�(6��
´"�cl�Q�
�b�x��F�'�%(��\�l
�
B�(Ombp�g`�&�092���1_A��&{j/�_L���Ģ���i���Q?��ۍ&ZN��!+���֟"\ڇp����H���]�C���B��}H)HdJ�]�TX
�`C�9��|*�>l��B�KI
��Ғ�Hp��ԇ�&��ߟ�|��<���e���E��m��m�vb���u灅
n�,�h�jۯ�u��*��I��8�O���po�|��xGm7~lQT���p�E�-0T7�"����@�k 
�r�n�Y
/��Sn�u�����*xb��8�k(‚r_$\��Rm?Bs�[
ʂ �Y���V���X��
#��V����ކ_��\��U���������>�����}���f\hSˍrp���u�*2�v��y�
+k���,��V�_��
f}
����U�I�hU[���H��*���Q�~w8�@�$J
���%ت
	#�ZR��0"# 2J�`5��W����禶fc�.dV���ã��qH$c��"�F��.<��$9�أI. ��%s���w|)���]�@�P6���_�pM5�␴���ݶZ#��h=0�$	I*�Z��az(T�MВ�Iy.-� ����N���I7a�.!��i}$���MiKo�J)�]P)�%��Da&."=T�#f���}/�3�!�-�i�P;�w
ft��X� �`S
��FV�Ѥ�(
Qb�����
�<�c��
�ej�wr��~���45 ��}j@��àcbZD��֛,���a��xaP�`��(A��P<���	�_�A�	�aI7���#�G�3 M
"�����.h�
+���
��
+��|�(j�NC�F_H�3,�@�0ӂ�+y�
>�|����Cĺ�2u��s��QfF&kGp�-g�֟��$��Q��B,��-���>L�&��^��Xƣ4Q��8z8dG4�!�D��fY��yH*�O����PyH����T���%� 'b�o
�� ,i����c�U�3P�� ̨��h��

+4��<NS/��]
Q�o@�
�s��*�=Yc{1�
eA]u�R�_"��i�f��
+s;)+���׬�B'�j��̑����n�ք'�ܭV�#*��-ֽ2Ps
Zy�$��FO�S
+L,���$���[";�6���+��^B�c&�c��}B~ų�1%PY(Ţ.tZ�	bFp��!PP��m�E��m�$
+M��+�����z�\�N
GF��[{�a��k]�2ݲ\��5I�Bz�)��m5���݌�m�>(���*cv76i/�Q���1?��:VSc�*E�ɍƬo!
8���]�$�a�� s���l����6�a���"��
 �"OJ�X�`���1݁���3N]�W
GM�=

X�l
�L�������ɦ���e}�v�.���$���ѡy��6�A�l�
�:�
CZ�<��#�xY��Ob�
�bl_�N��a��!z��"N$`4���ؽ6=�U��^�㼷
E��!Z��A���v��y�)���z�nͲm�%��nX�=�H��.:��A����SM��(�
7���4�*3	�e�(�NG,�Ad
[m����Cu����}\
��ӧ0$�|:��,o-+ȏy
+����]in�:a�
b�
�
a�=U�/f܀��(��V���
 ���=?��vRV!LvRS�1{|��Av#�w��e8�U�N�
��*����u�F׋v{�o�ڨ7�j�
o5U؂�Qwt�;ϩ����M�
��}aC��c3$N[i�
+�g
.O���Ѓ��̡؀ZÆfl1�i(?R@$�ʅd,��Od_d�)r�P�ɑ4���
�&���FN�Xi�,7�;�w��>�L��7�TƬ�q[������+���S@!��4��4a<؃��J��~% pȊ"mhD�ƍ��xq>�w�S�*� C1O���(���d�<��5*H~O�S4!���S
��_�k^`��C�qɁ�Ըg�V���q�m��T�v>Š�$�l��աl��[t������
!���?C
���C�Q� %�L��<SH4�h7��fy�X��,��H"�<=�x ��t����Bw���������e5q3�S� �<��)�� N�{Z�]�[=�Ѯ/��NQ��A��5b�9��? �s
�O����8�kDJ�A�B����v]a�a�ts�M �Ui�9�Z��/O;ڢ��`a�\k��3W�P(�+�#݄�?�
O��𨜚���^a�V at 50:�iZ{�-$�	U:MH���ޒa�?�c�=H�"Yx�i�a3�l����
7Po1<�뗶uaL��G#"�MB��`"������O8
���P]��Ƈ���B���>��(?����iP��
!w�x�?X�P����j̾�3�/�����cï�P4�+=r��c̠�@
���Z��
k���
+�v���9�pc�n��s#
+���Q��N4�����
dF�H�
+����&$�C��!�7*TJ鋓.~V\�
m�#'��n�{�ɖ���mW���認O
��
�
M����.��h�B��^q��t��B�����z
8�A���L��/��aC�F�p�J�T�1����xS�k9���õ����M"?W����b�/'��
�.�H~I`�2�>�� I�x��^��෻�7���ѐ�ci˘�r�wW^���~�p���RY���e�+W����7ݰQ��ѱ�ث��9O�~�/���HaJ��K������'��j�	����" �F�p՟�_�n��2@��
eDk�K���%������=�n<�~-foA������!�0
+endstream
+endobj
+871 0 obj <<
+/Type /Page
+/Contents 872 0 R
+/Resources 870 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 869 0 R ]
+>> endobj
+869 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+873 0 obj <<
+/D [871 0 R /XYZ 89 770.89 null]
+>> endobj
+874 0 obj <<
+/D [871 0 R /XYZ 90 674.303 null]
+>> endobj
+875 0 obj <<
+/D [871 0 R /XYZ 90 669.307 null]
+>> endobj
+876 0 obj <<
+/D [871 0 R /XYZ 282.028 584.385 null]
+>> endobj
+22 0 obj <<
+/D [871 0 R /XYZ 90 566.491 null]
+>> endobj
+877 0 obj <<
+/D [871 0 R /XYZ 325.434 512.494 null]
+>> endobj
+878 0 obj <<
+/D [871 0 R /XYZ 90 494.601 null]
+>> endobj
+880 0 obj <<
+/D [871 0 R /XYZ 481.318 353.504 null]
+>> endobj
+881 0 obj <<
+/D [871 0 R /XYZ 90 335.611 null]
+>> endobj
+882 0 obj <<
+/D [871 0 R /XYZ 480.615 77.486 null]
+>> endobj
+870 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F32 764 0 R /F10 765 0 R /F90 758 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R /F6 861 0 R /F1 833 0 R /F101 862 0 R /F8 794 0 R /F7 795 0 R /F9 879 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+886 0 obj <<
+/Length 4162      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�6~���[�i����N��4�vӬ7��>4}�-��T�\Qn���{p� P )�N��R

��w.4�������?.N^�RlV�BR9���x�x���O��/s�O��iƤF���#���_o/~x{��|w�����'��3�~/�ҳ���/���
�4Èz��Z�8ep]�ޟ��{R0��ܚ�'
�J	#��B�����O�o�f�~u��T��V��~[�߾+O��?��S�,�͛��Z�����dL�-(G���7�Ό~��h��+����t�$�S7��x ��V���g�i3B"��lA/�ոQ	U
+�ϢA�f�������3ws�Y=�V��A@��۪I6<[0�`Z��9��R���e!�륛����j��v[ u�"I�M�e����@aJ�;f$�vI�X�n�r���~��WK�glwF
+2sSjxލ�\�#U��w
��n�7=����n
+��g��U�`��f����W ��;z�?
+/f
I"��o�z���w`���y��j������ɣңg#(
�t햬w��vDG��ۍ���T�6�S����7�7<nx�:���T
�SaŽ%R�)QS�U��6��L<]���%9,K���F�����m<͐�0H9�"}�'�
ЉM��}�ET�r"Ȟ38K��{���V~
�;0�Y &�pD�CNX"x?���N���p���q�t�k�|��6���R�&c�2FY�(9c�ww>[V�
�S���n��3A$b��ob:$�z`_�H����N����	=Z�Ɯ腈�� �+�X0
'�ު^�C�Vi���R�%����d��c��i8�
-"�
X�[X7z�%�3�
+
6o�bL�eV-%�1&:t�`�����W���`R�LY
��
�
+�p^`y0ZOp���}/7��
_)�j0��t ��:0
)Mi��lb�[*�C+�Kٹ�m�Ў8|Α|�����R��
�
̫b
"1��曫���j���a�
;�ЂGV[h��I�w��SAJ1�� ����g��������S���p;�\!bIr�Xz�4�w�}U{�]�M���&\2�ʨ��w۪m+?A�'��
+��;;`G����GR�}�Y_�M��3�āGm�2}�� %������n�I���������#�ܩR
�-
!i
��*3��=�EƼ��9��iY;[��
�B)A
脡\$1�����
%���9�ٹ�b]�
B,n. �ۃ3%�!��`��z����N���^����\��íl�W���m�zW�Rщ��+"�+���W��^��4F�rV�@�_Ej, �~��d��@�h�
+3n�>j9z�r�����
ɘ\�Ɏ7�����`�@��T�y�DžzD�� (b 9|�	��ɓ4v��Y�Un-�P<
+t��
?]� �G�.
$�S4%a
`aN���.�pol��$B��I��!�3P�M"�z
�a��
�D4���5����u�v�[
����͍{t��7�.3
O[����)n� �Cg3

+�C�CM[/��,���G�U/�Ԗ� 'M܎\$�$�{q
��"BTȈs�]5ն4D2���w�q at U�s���D��խq�ܧ���,8�8F���<�$�����HR�$���澁`�g�w���
�v�n�>U⇵�CX�n�6���#*���l����PA�(f�	J��Jrқ,I �0���q`%�L�z�l��t�G)��=�7�&�+xԳ��Q ���c��*��
���߭���K������
�"�c�1f$w�{�|
+'��B����a�� ;N��PYvA��ä�W;ڲ
�#�0J� �wc얱
+�tR���u�Ӏ�C�x��z�V��Y6���m_մ{{X�j
�@��r]$
gl�A
.�9E�
5ͯ��H
�=�c�_���?
`�M.����R��_�
8��*G�)�~
+�
N�X��&K ���"|V
+�	����EJ�CZ��Q���D�ʖ
zr��������$�喇k�_���D�U�[����(��@���o��B�;3p��Y"-m�c�>��__��g��*v� ��N�GԳ�W&
�%;�-K{e��A*��x
S�	�Xa8Ѹ�l\m����
���t�Ń���(�>�<��#\�|:- at X��8§3�}� �K�|:�*�&��r
|3)�G��]u���/C�t��G�]��?;�)
��O����1�yI�o٠S�
+����Ӄ��BM:b��ۨw�f����ow�3��
��r�s"&
1�S�4R�m�\Unݏ������|ԓ���@ko%������j�{����䳸`��.���xJ�,R����Ԕ��<+��9b{�&�~����/İ�
�����o�b(d93�Uշ���y#W2�R��f���L&�@&�ql�PW��D��~�{�Wf��ZА�=\�?
��V
�&��K;��N�o�I�1�piQX"Φ� � AxF���� ����1#�̛c`ք9fbjL5���F`L���=��b����B�<� �\M���H�i�:�~�n2�,X�-$K��
�A���(8!���Jk��m��
x�Ю��h����N�b��F���Y�n7�7�9!0�����%ň�*@q�i��n��
��%=(�G�!�
��ByH�(�H
+S�ʸ�jT�	��z\끱��"=��R�r[[Y�)lJ
+�qP��Ovg	��Y
+*�b��D
+�Wd�I{e�v���(%��dm���ja����c<�����ݕ����}
)�(W׋���h�u�K�L ��D�ʶ�T�4�. ���[��6�Ҧܩ�>wՅ� ����ߛ��n[�?S�. at wB'�C�
-�$]e�owF���c��qj#|.Y�s����ƺ
Ŏ~0���2yI5����K����|Q_�'{>:���
��5l�M���fC/Ł�2��ͩ��X�X$�m7,:	>��U
�8�I��/2��d�@*4vĊ����r�
+ n�t��p�mZ�S�U�#�
�����H�d�y��BOJdq
#ɳ1R!��F�#Iz��9�P;O
;� z5�
K���ہ�p0�
�¤���;������ 퓏6���y���U~��Nڙ���k�<�HSo
���>$͆�2��$��q�f��I!�i`�Aw���0�m���<�*�X��Nj��T�
��5i�k�?�M���w���j�+I?��+ӵ&tZ�`8�H�x�od
���[k�`ݽE�'J��6���[�|��1�9��*D���2��
+��[��Ln��䞎�;�j��bH�qm��E�+��]�Y��_������d�}o@��ȩ��G>aǸ�i��1��w���\��V�H�3�o�r�����%
"�
#iB`�:���!�e
+���!����l���
�+M�jJS\��H�����W �+
Pn����5�1�Y0M�<�W�2J���m�e���80w��(o��v瞗�i$P��Hx�Q�@yy",a�ɯD�
+�\�\��4�[�8�FO�~��*�h���X)����K�ᄄZ��S�秤�ө<�R�	n������4^��A�
+o���f`���`�I鉤Hb>"����� ;�7m��S�Մ
���\�i������9���#�2iPn�
.�i�
��b�r at w@O����I�y(�^��G�=�>h���LT�e�
u�
��(q���/7���j�����e�^m�#6�f�/P�F�.�"�To\3��p]ZB/��
������\��	H3����y*�
���i`@����ic9���)1f	��ԽE�i��֌��68I��5����*�W*}_��b�
��
+��`	�`� �/#9��to
�t�˗��<
�"��
�p:�7K�
�;��P��8E�:�&��� �L�0!>���3�����(����v���u�W�/	��yg���X�����'��W����'��B���*�w��([ԃ���~���?x���^n`�0��[�	�P��jت�N����	~�/��|���w����f?��}��
���RD�X
	®a�v㾯*�*G�o{��i�Ռ��
����nw�����7m�ܠ�����C�e���G�7]�n���&P�����f
+endstream
+endobj
+885 0 obj <<
+/Type /Page
+/Contents 886 0 R
+/Resources 884 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 820 0 R
+/Annots [ 883 0 R ]
+>> endobj
+883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+887 0 obj <<
+/D [885 0 R /XYZ 89 770.89 null]
+>> endobj
+888 0 obj <<
+/D [885 0 R /XYZ 90 721.073 null]
+>> endobj
+889 0 obj <<
+/D [885 0 R /XYZ 213.944 517.221 null]
+>> endobj
+890 0 obj <<
+/D [885 0 R /XYZ 90 500.572 null]
+>> endobj
+891 0 obj <<
+/D [885 0 R /XYZ 252.717 255.864 null]
+>> endobj
+892 0 obj <<
+/D [885 0 R /XYZ 90 239.215 null]
+>> endobj
+893 0 obj <<
+/D [885 0 R /XYZ 175.241 145.908 null]
+>> endobj
+894 0 obj <<
+/D [885 0 R /XYZ 90 130.06 null]
+>> endobj
+884 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F101 862 0 R /F93 763 0 R /F8 794 0 R /F98 863 0 R /F11 613 0 R /F6 861 0 R /F7 795 0 R /F1 833 0 R /F13 834 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+898 0 obj <<
+/Length 3052      
+/Filter /FlateDecode
+>>
+stream
+x���r����-P�r43x
`WR�h�.;�k�����DdA�@k��O�t0 !j�[��Ḅ1��(W+����wW7oL��D��duw����D����V?J��k%�
~(��J��+�>�˦��:�AsO�ۦ��d����A���^k ���Ů�a)�*�����]�v� �Rto,L��
�~�U�v���J�0KW�谊t�j����W�'!�3�J�(

��Z���k
�5�eAލ{��Lǟ���}ѴE_n�`ڢ;U}G�ݞN.����y���
Jܢ�j�m��ޗ����i�F�L~�N+Z~#���_�Y
�y�дe�? Ba�M��(�6�㩷x�zN��-��
\F���!�P9
���P���/_xo��l�[
���AP��؝�]^�4��}��u��<u��}�vb8ˈD�Y�N[@@e��>���&H>��s�QN��V��'Z���H��߱|�
�cU
���y�
�
o�2�������e�ģ/��
+�-Q��S�b�������#��m���DAgY���/ڮ�:��-����������C�|�Ӳ�vŎ^z,�=������Zc�,��~�R/��-
+�$;�N�R�ւ`�ԑ�$Θ`͚P��`p�L��|VN�ׯ�y��
RjB�����M1\�&����a�Cn/˜��:Lc��4�1q
X���T
>����
Ce���a�|w��������\�9
��
�aSVe�Dײ�yP�PG"�]�w�[i�o;8�Gy�4�x>������������ I��捎�U�E�5�lo|K ���L
D�8�Ŷ躼-�'Z�VMW�
:/:lʇ�iy��
�rr��
��Z�P��L?P���J�+�Ϟ���p
+��n�D1�4�C���$��Щq�E�L�lbI�޼�"������KЎ�?\�M���~J�$�=�,�B���p�ZA"B�
F�3����'�֎�8�L%���J^u
�<{1��;؄��eJ/��:R1X��Jq�X�t�$Aߖ�l��+I�Ӽ��P�&�����C%dl^`��`
+�&�;�Uނ��u�Z`J�
+��dJѨ.�8����q��&fn%VR0
1-��3Cs^�[倥��'�Sny
�S^��
+p6�LF=x4�Yg&�۟�0�-
+�=.�����40WL l�sLGIO'�u����[��<;�5 ��XCK=�Jƭn�s�B��H��	���Q�����B�0/$Z�
��#&*M�
]
e����㘁㴩��D���Q���
��/
X��v �	P�I/QWe�A��+�B��DP�w��0&
��ܴ��
��e�NOdl^A�酗W�/Z���S�v"��'�"+|�
Յ�)�
"09p�9a8;7(��30��ZG2���g\_�.��$�=�G/��u*���>��
+z�
j4e~�^-��H={�͓s��EێiH3KG�<�.K��npӞqŜEr \�
v4�g������"a�l$ܺ�0�D�E��G���U[�!
Ny�K�5���D3[ 9����d!6�)�M��f �*���َ��-OE
�L젧�F
�C�߮([@�-��_�&)�ܮ��K�M���

�8
SM�X�
�&����L�#���ԏu���ޯ94����Pu�r�A
+�(���l�«��8 ��V*4
+<W�pm�)��>�q�Ҟ��7��+�&��o�j���5��ق&/��g����p��I8&�rC
ԉP����)���XJߣ[#l��
+7�UŻ��,��H�o!?F���ϯ.?L�|�r�(���2%��ҙBĆj���� �m
��]"�E���A� ��e���\e�,6u�
�Mpoದy�Ep���ܸ��L,�f�3��v��"����
��=f!�t6��X:f
�ڣ[��i:�D%�1� ��3������6��>�+g�n���'�P�f�Lm�'�2
�0D��D7:}։�Jh�~�ʡ��ͮ#XT6�����^C���9�(w��'O��yo�w���Ia����`�ۦ���@���<\�E?א�4%r�=�r{��1߲F�� Xw
��.ŰA��?ؤ��
^[�"�C��1:�ví
�T�c
b�j���i�ƙ��
�,�Qc���� C�J(
Ϊ5%!	�
T�6
�)���ӟ%�S�C��VEm�B5� �yQP��|�
1K2
�KD�P�4z��X`�J�"��ѧ!k�'�:�%y�P����h�Z9�ھ_��ñ@�o�?��(C���o{J

���ݑ���
|5Be�
+�
��յe�Oe��bĖ�Ȍl�SG�+lyN�(B�w|ź*��P��30̰g_�G4:b���
+L���[��@��k����&����%4}+ѱ�4���
Tv���il��0J.�� �yY�9Bn����f����U
>'�����Y�[����

.��6 |�tDV?4?,�a?���
F�H��8v2o�	�B>��3��Km�u~�6"c�;t�?�����k����
+�[��m�e*���
S�(
;�$�ˇخ�ߞA�
L}X
�r���*��<Yd>_��%�c8�/��x���Q��@�5K'�Ƕh"�<g�CeD(3bz��Y���
wɼ?�Đ2
���dEcRw���G�� ��oB�:U�ib��&HE%�����f^8j R��'x3��;~�Zд��쒪�c0�-�+�l=ƨ�L�"~�\@�
�њ>$�T�`>Q&�;e�O]ts�0�_V�x��U&�����:4 (�f)�e
��E��aџ�ah�����m�H��O�f�f�i=c��gq� 0%�>'o3�۸���6,���`
�i�V�Џ�J�IJN���w�7�rޝ
�q���[z��;`��D
a�#�|��t��F$��*2V��j�� ��[���_�̏����>6 o�IÍ X�A���'�߯��_���CE���ǂl���/nn6�����켫�ё����}@�
�d�
v��
�76��X*�$�q��ەR�-�?���E^����^7����m��<W�
+endstream
+endobj
+897 0 obj <<
+/Type /Page
+/Contents 898 0 R
+/Resources 896 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 895 0 R ]
+>> endobj
+895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+899 0 obj <<
+/D [897 0 R /XYZ 89 770.89 null]
+>> endobj
+868 0 obj <<
+/D [897 0 R /XYZ 175.23 633.71 null]
+>> endobj
+900 0 obj <<
+/D [897 0 R /XYZ 90 615.685 null]
+>> endobj
+901 0 obj <<
+/D [897 0 R /XYZ 316.33 314.352 null]
+>> endobj
+902 0 obj <<
+/D [897 0 R /XYZ 90 296.327 null]
+>> endobj
+896 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F8 794 0 R /F11 613 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R /F101 862 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+907 0 obj <<
+/Length 3446      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��J��
A��!�:m
'�N:灒�+�)�T��_�
�$(h���>t<�"A\�s?���nFg�]}ys���L�4�)Og7�3MgY��L�m3�e���כ�g"U���֯~xy��˛����77W�|�3��%��l����W:�@��3J�V�{�i?K������ՏWtLJJ'�0F�5ޖ�b�䩘w[����C�vm�r_TmYW�Z�b�
_�u�vM^Vݵi�|�]QM�Ս��ڇ�+���M�g-[l̏]�ϻr��v�i��Fm�����,�t���h)q3UQl���Ek�
�����x;�j�_C���C�{���^�_e逧��h�ͫ;K�it�����]�.;?�n���]��: 4-�
�ڌ���c[���I��;|:
�C�Ċ	%\^����z�k�KH��H�KF)�q��R^��p5Qm�C��kɫ
>����;)��,��u��~C�tn�)��ڢ���=� F���ٷ<ͦ$a�y
��
��QXL�=�c�l��	e��V�$����4�,I�g�N�+���O�?��y
��s� �F��md˰�ǔ�-��9��3M8��-�Sd�
̌�	�2�)�)`�"0Z�Q���C�
�N�X~�`
+Y[X
N��0u�UI�Ǘ�F[�pr�Ac"��$Y�b�A�rY���e�8���3�Sv���k��&JO8��
t

fh�2y���d��R�	�Iꬉ�;Ż#�U�ڑݰ�	�k0���4�
r�A�a�wd:J�����u+OyƁg��?��qb�c$�4��a�cF��(��f�^�4�K�fJ	U�x�ϝ��;1 ��
�F6n��<�14N	
��[�P�Jf��
+4|���

Qԛ�=�ݢ
|�5>�������>TJR���(F�@��p�����ŋ&�mdg`O��}\G��V��
+�\>Av�E��ޔ_��ya�
+�KDs7ɍ5H �>_�{|���U�`�=����r�7�m�70����}�M�zDJ�4ϗ��|`�Y��/
=_���ޫru
+�	���W0q/,!���$� �3�\�8@:��_�(Y�/S�ղ����:�1������WEH=sO�U&�

��RB�
sX\�c2t�Q�T��1�5�4���<u��������f
�N��QB��y�\4`�U���
(��<�ӑ�*��,�6k1$�
NEFJB�]�
�PI#�q
+Ꮮ���ųD
�A��2Q�{� 
0�#Bcv�j ���M���
���I�l����	
H��Pŀ��)���o���䣵�����<�� �
)ؼ)�y��<s��A+Ft�0-4
+�)\��+tri��~���LR� �繟ۯ�7nJNlA
�JY
+9o�јd��D
�X#�z䨒�Y���e_�:	x������*�'~0�$ա|i�b�#��:.V�q���Y��-��HPqL�
+�S�1(W��-����������n[����o8U�
�|�	~�"ή���b�	�ԝw�5�>�ch�_0����)8n�G?�����aq�
9)瘕b�!��QLE�	�ـ� aD���G�4��e���g�ru���7�9���L[`(��!
+��<W$�$
^�KjY^P"N�:��o�YJ+�chx4F�I���L�B��� N��ql;��ZPC��a*{l�ˇ�������3���$��+�9P��X��
W��KG�F#
)�c�3%���o˵1<C+�S���0VH��y��E���mY�a;��5��s�ǔy�v�A
?���
�ZA��E�
�+��]�[�7\ �X�^�|��%?5K������1��� ����t:�[ϓ#(�Cu��hf3��@N 4$�}�����mb	�.�rL�`
+��NA3�d�Y$
�Fy�r]���V�Rt�W7��\�޸��ͯc4@�!���V����y����*˲6���yАw��
"8�AL��Y����=&��b�^���
+f������Ja�
�0�NW~�1S��C�W
���݂���	�'�U �g���Y՘�
�_s�Tlb�3L�
���z�"`@B:����E:\ܚC�`�
3i̡)Z�m�ǃ
�,�|�
U�	!~��j��ޜ��޻
~G7����$5��P�ݜf딅�ٶ4=��m]}$�^�n���@�������&[F��S��ͨ{��S�!w
�'��:�LȠ�
����� ���bq���+�����
y�
+��_� ���t�ـ
D��8�|��ڕ��� X���T�²`��w�ɛ|q�k����p���C�h	x덓��)�s)� ��n�]�m6�=��n�!S6_l���0�.f�ʠ%�9�2�
;<��w6k�G���
+�9��G �hʵҘ2�
4a�C�9��ήk�um���X6��ڱ<Xdt���ռr��8bۣ
�̲mL�z)8�j���HލM�H;�
��@W���n�x�t��"1�\C�/����3�?�M�,kZ1�T�����1��?���]_�v��!��w[[5�E<x��uSz-�Ǵ�w7ؚ���
��ܫhp; ��[^�R9����0�
0'�k���
��v�oG<�}"�ߚ=�����
�吗��|��c#�"!ψ���tx#@s
$~gΊ���y�~T~�J<Z/�``N;MΈO�:Ig��t3�Q�kDԕv��&i:TRQHu��B��!(<��fZ?��qg�p茍�q6�V*�MJ<�,8МQD�dƴ�X���� ��Jc�!�KC���LRC�cj�@�z�?2�9�K�G!���cⷜ�����
-��*��a�y�TdwD��J׺oc�΀O�ӅFe�IB����3���&��-&�ܗ����%�D��>�}G�^|=�0q��T����q��Bp�N�l������A�m at tfbp)z8`s��N�(6�^�V��#D<�"u��dj�C{��r8�j8 [...]
�e�4B�
�u������Q�#[VeeB�S�'2J�pKq_����1�Lut��#rN�V��=���M8�M��e�)���}qp���!7Ȼ�\m,�è�����L�ix}��_zY,��^ã�����
�?���h`bR{��
�T�aM����G?�5<{���k�l�n	�-�	��|�J<�3�KR�hx��ի�ÿڢ�������yu���}u�7>�P<��V�u�O���=�7�_A����bն��={�:޵EuG���4�kM�p��_���Mo%�j�	��
�
+%
+endstream
+endobj
+906 0 obj <<
+/Type /Page
+/Contents 907 0 R
+/Resources 905 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 904 0 R ]
+>> endobj
+904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+908 0 obj <<
+/D [906 0 R /XYZ 89 770.89 null]
+>> endobj
+909 0 obj <<
+/D [906 0 R /XYZ 155.574 687.2 null]
+>> endobj
+910 0 obj <<
+/D [906 0 R /XYZ 90 667.229 null]
+>> endobj
+911 0 obj <<
+/D [906 0 R /XYZ 90 377.062 null]
+>> endobj
+912 0 obj <<
+/D [906 0 R /XYZ 90 371.373 null]
+>> endobj
+913 0 obj <<
+/D [906 0 R /XYZ 317.494 265.796 null]
+>> endobj
+26 0 obj <<
+/D [906 0 R /XYZ 90 245.825 null]
+>> endobj
+914 0 obj <<
+/D [906 0 R /XYZ 474.355 203.368 null]
+>> endobj
+915 0 obj <<
+/D [906 0 R /XYZ 90 183.397 null]
+>> endobj
+916 0 obj <<
+/D [906 0 R /XYZ 285.407 77.486 null]
+>> endobj
+905 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F101 862 0 R /F7 795 0 R /F11 613 0 R /F10 765 0 R /F32 764 0 R /F93 763 0 R /F1 833 0 R /F8 794 0 R /F98 863 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+920 0 obj <<
+/Length 3623      
+/Filter /FlateDecode
+>>
+stream
+x��[ݓ۶��Bo���o���!M�L�ֵ�k^���'Qwl$�BR���. � Q�咉�3&��~�v���̾������ϲ$SLͮ7��̴���m=�iN�XRB��?�E��e�oK&ɼ����d�nAɼ�`�^/
�>��:7]��S����۫^_�vEay2�v9��t��]��
�����Ix��ޛA��`
���Wo����$Lbn0W�JJ�m$�m	�l��XP:G�Y
+CO��
K���Un6
=/�b�*
�
�_*=2[2l�˽\P9�j�#��|�o�"��y麫�}�z����g���%��e�"�3�k;D�T�i��h�l���Ȥ۳
,���3o�g��`
K?j%�E'�V��A���"	�h-J��H�����2A
�=�f|��vt��8#�U)3t��@��`e҉gTij.7
��7E��NF�P�����?I@
�I��dٓ��-/�_f�Vқ���Q���$yLe�%�����ߔ3�|������O��"XFY�qcJ�r��τ�}�����F)�F�˷ۢi�۪wLr^��9u��
�k�r_�o���^��h˕� ��$
+��:��	��"���s�e{�
ܘǠ�Q�4��Ns�}���d~[�!,l�޴ 6s,����]u���МM����g��T���;
��rh�������y�ެ��94ʁ���b
-���
�.
C+���\��cLQ�|��czP��HD�2���z/(0��.��ב[�S	�OQ�4ɤ
ݥoU��V���]��Z/>���m�j����b�,��c� j�ꦨ�����5N���]��ZU��Ck
؎/��;Ɲ�pK&��G
S9X:
�O�9l˛:����r���b����3�
;��=ԃ	��Esض����
�}�l at 9|@9��-���K�\h���q�@�ƾ�[F
zb
�豻�~��F�;����
��mc�,ۦ��ܷ
F5�����e�4�|���1��bsغI+��l�uQ�^�
+��'����
�4(�����>W!?�+��gU�zv<w �to�W!�m%Y��;���I�k�Na�L&0�V:*���P ��Q`���!��U"�
+������4���M�:�dT|l�{��*���Sv�����bXx)S�0T�6��d:<���v;�b��!3Iz���g-�MJ�����.{���'|�=:
��p�����3Ā��A`J����6PCF�+@%f̺pH+��ODʥ7�s�� }J(�`F��gF�\N�Q�~J<;8�b϶Ǥ5�
Y�I��gcK���>�}����������X�D�)Y�&1$�X/���GC���T�1�?�qr|a��ρt��ЏfA�0���f�u�
R��!oT
Q
+:����-�$Oe�44r�%�iM�o*��)a�4ޭ��CAR���6�֦�\c�UMO�Zh�uM>F�Lhy
��y �;�>�R6$T��!��i*���Ae����DL4K	C\a��89�q/�E�!�KM���/���0�$��L�\1�MQ�tÁw�l�3w�M��V&�h^X
�U��qËݍIf���JLr��8�c���ܢr�؇�aWm�v���&s����d򉎀�L8K��u��8�#�J+�ūo<�P�r�*
 ��]U��e��l��r���2��kW
������i(�Rm�cN��P�yd
B>
 z����0sAz�I|"�me��e�_���e��LM�}W�w�k컑>>����#2:���F���mV��R ���2�
䠘��?��
+�seNQ����S��������%��a\$�
z
ͩH��4Pw��͵�C�#Ϧ��
J��L� p��ɣ�Q�:��e吝�
b��u<�]jx��}�;�Z�1͜/���>���a����i�i�J?#�D��v*
��ǣ��Vp0� aE�	sq�7��mk��r\c���[�u���ANyBɨ:��Uԧ>ݔ���lV5�y��̻���]y{�W����\M�Ws�P-}+��Y�c���	�3Ԣa�o
Yo�ݼ���F��aN
+�����
kb��>퇵
a�J�x�ՙ�J�8ȼ��͆^��V��
+ü/�>2�d
�Y�S>һ4�V���08��������~@]]��ڨ��N5;S`���zڛ8G����9��7v��|���������@I@��S�f�$�4 !�P^�,e�
$
���b? &�tY�Es_�]��Q&��i0���
lޭ]B��7T��&XfO��n����~U<���H�-����r4tl�j������b��RM��g¢��.g�
Z�Rh�QQy�Lr�
�1X�=��ޕ������}����n���
��x
PX�ڝ�ʝ
�>����H���.w'��hȦ!����J��$
A�觌=���#fdSy��,��}�g�b �'�:X�K['
\3
U�Gp��2��h�#e&.��,���!I!�6SR	�#���$I<+g0P��|���\n���C&�9f��%�k�K&'�d:�(D���t�^88
+�$��!*�TY哰�&l(Xd/3m�Aı
6��P�;O�9X]��� X�I\���0��aQ: J����K��3��E�IX�a�����0�r
�
��ء��KEc2a�|�f�J����#�
�h)S��)Љ

a���0y�_mk�4�p<Qͷ'H15�4
����ٛ^^`b�*���.��m��|f��W�xv�H
���a�d�������l�����,~;���'��fܻj�
z�LuW,�DomO��n��
r�� �I���%hM�%�Z�"�Ck�SDk�(ڟ����&/;� �H�����.D_��%/:U;��>�>�䢣T>u��d��L��e0
/H��0ԫ��W_�\y�+Y���s����ת�_��V
?�j�ٯU��V
�u�	���,�QeY�]���
=��*�Ԗy*�iyՐ��{H�'��!5e��X�
����l�~Ph6%ɾ4�VA� &�ػ�gS{*��7��Ewzd�`�����,
`��%D(��	q�+�$�o�'G����*
˽_��de����
[��Bd�,("N�G|��Oh
)�V������8bm]�
��$���[<-�
Wo�U����S�mɒ+7#t�K��e�����`���)��g�
�=�ͷE۞8
d2��͕��F�'/��(�KYp
�o	(�+�Uԇ㈜dg��:�S<��p\x�"�|�#�����N��`�W��>�Jh�xGxX�FC��Y�:v�� �%L��VX��m�x��4}�u���w�/�~�������p	A{w�Ix�_�v u%��ٜ��E��>9�c�O-�o��9f#~�gH�z���)c�Zfڂ�?��}�	���'�.V*>�:>$��թ�qe:�W~-�E Uǟ�*�h�^~j>��Яc��=�Ndw��S�ׯ�e�m��o
)��f���ݧ(£�04!����j[��u��
8H�@� G�������7�ۦ��&+{�bvoȧW�M�Sv=�,�뒝���t�v|�
�:N 3�d�Pml
�ym�c�����7;>��_����
+endstream
+endobj
+919 0 obj <<
+/Type /Page
+/Contents 920 0 R
+/Resources 918 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 917 0 R ]
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+921 0 obj <<
+/D [919 0 R /XYZ 89 770.89 null]
+>> endobj
+922 0 obj <<
+/D [919 0 R /XYZ 90 721.073 null]
+>> endobj
+923 0 obj <<
+/D [919 0 R /XYZ 409.479 633.06 null]
+>> endobj
+924 0 obj <<
+/D [919 0 R /XYZ 90 615.275 null]
+>> endobj
+925 0 obj <<
+/D [919 0 R /XYZ 392.938 489.429 null]
+>> endobj
+926 0 obj <<
+/D [919 0 R /XYZ 90 471.645 null]
+>> endobj
+927 0 obj <<
+/D [919 0 R /XYZ 90 211.176 null]
+>> endobj
+928 0 obj <<
+/D [919 0 R /XYZ 90 195.549 null]
+>> endobj
+918 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F7 795 0 R /F11 613 0 R /F32 764 0 R /F10 765 0 R /F93 763 0 R /F8 794 0 R /F1 833 0 R /F13 834 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+934 0 obj <<
+/Length 3748      
+/Filter /FlateDecode
+>>
+stream
+x��\Ys7~ׯ`�>,U1a܇
�îcW��ĉ���xS49�hKC���x�6�
/[��R)=�p�F���1ƒ�
<;����ç�

2��������		���WC�O_�7`R#b$��=��ߟ���K���7�'���
+���@J&7'�^��
7��=�s�n�2�^^��x�SQ$.D!��|6;�b����aӞ���ñ���I�o����]�歕��S�m�`���
n|�lH�
+յ�nV+���j
��/����v|
����֡�E�$���_�j��y���f�h��5��Q"�R�0��4��f����jvy�,GnUF���@pSs
q���WŪ6Q�Q\N۵իW.̙1�EdLv�ϒ>���)������7���٤��rٌ�Ͳ��j��͗�mР�r^Y.��j�ri�x�Z�tV;|j���9q
��i��Y�Z��Ic�BX���N�uOyҽ�v̻�_��J�o�h**���_ˁDF1�zBXk�q���(��$����` m3��b�㕿�i.��N�7��Y{�a)�z�߹�O�W����ܧ�����E�D�*������1�ex��ܾ4���(X�C[�^�{���L�D��u7�v
ü+�D$�Y���~�H���,��'�7D�Ma����	��G M���f��.5Ң�a�6;���x	�B6�����r��|Sn	.,N
�&Ei$���5cz���)�r� �Vf��0Z���
�S�Ƿ�g��Mj5��
Q��+D���!y:"����b�͇�`Vp�$qK���i��ؽ�L����Υ9yB�)��,
1؎^����]
	z��f�8�S���Xz?<��=o���^ם׳7��2<�QV�����_
����;I�����Tz:�+l���8�5Jzj�~��(i5�L�˩_Ypj.�J���b�\�\����-H����ⶅ���/
��w[?cF7��L#�Y- ��������

���I�#"��/��<�ۊ

��q"W

�}��'�$����������O�����)�+}u;�
+kkaҦz�����AI�{� ���P������mY.�Y�K�
˵)i��9�B�gq�qe�'�ɝ�Ǫ�
�����"��g�ر�+0W��[P��w��(!|���R^�?��Z��
p���6�@�&D-�mp����8�o�0$#x8^6����'5
Sb_*�
АͽXhNF����S����
+�
�
�4�շU�$� Z���-U�3�<��4}O,c ɨA�-�Eb����fG Q�h0�W���hQ���M0�}�ĸ��p�\�9�B���'�6�F��)���[0�uh���r�J�b�
ns���
�[Z�6Yȷɍ��
�n�S ~&��mg�!=���5��(����6$b��|N�PDf~*
p��HD���;��w�US��3���Vp91���
tK��"�ئX�)��Y@ &��eɔ�m��%
�����TY�j��N
ܓ��L+A�:D��U-ˢ��
:���
ҳ�K�_D�"�����#M�Mj�B%��>,0���Z�
+���ʤ�@,:�J��` �TI?�Օ�@B
+�Hw@��M�­ԇΓ�y�}�{�i�<Y�gE2�Ѹ��ƒtwbH7�{Κ�j�LrX�
)h�~Tf�h(
*�f�za�
�
+�'�fm��?V��2������
+��/Ҫ�f�k3ݳC��{/i��v���V֐��a���w\�A�r���t�
+��.�(iE��}QqCi�37T� ��8���!4c1i�G���,�
+,�7�-�
��z�C[�G����_�[~mq�I�
IvP%w�
�eӛk��S�
�X�8�搳
vDGf*f
z��~O���7�g��n^_�
��N����R'�+�S;n �v
�s�q'���b"
 ��:�L��d���z`��5��ݩL�H ���67)��%/ҽF%yVte�砪KEத�r�ϐ�����A����@�
h�_Y`�;�T�,�{{G:+|l��$e�(zR0��䨌��dD�
��x�/�sP]2bo:�
\��WU� �N�t	
�o��:lA
;B��d��ui���y�^�2xӫyV�!
���U����";�_�R  ����Т���ϻ
�b��__8��3�"��¦eP�>lW�V� �t� �v��u�,��}�=���0���Y��*��A�n�5���藭�`��ѷl���� Xw��:i	��j���gH���?b�i�I�T4���B���8�Ȑ��B)�(��]؂X�Z�y0
�9wd+gq��V���Y�b����Q��^vogNZ��on�AX�(�]"�_
��r�ܺ�0����9)˞;hɐ1Tb`fA�W^$R�p~<w�s�E:��2������dg(g�)1Du߰fJ�
�V�m͒
���,���oIDa�l��cL�]
�м��עޖR�_;I
�>W�]5wL�&7G‡�YMq&�xWk��$(S�
Z�f�<3�w5 ��=����u����A
+R-f�di�: �<>�<�z�#�'5���D(�p�[���98$�=����/

��b��6�6������2
��������ճ'O�����Y����^��T	�"q�q�t~
i��T���Ŭ��
+r�)
��P�{uu|��a�4`�#�)�i����ݡ9���%+o��e'�@�'�#�  ���`�\
WP8�D�	l!F�R�{�yRfgHL�L���8�L�nݮ��e��ņ�f�?;KS��b���(R���]-�H�v�k
-�)N�l?>�K�.୧��Fӷu>�:"s���i�|5_(D�ܲ´X�m
$�:I��Y}�/5뵮���vZ3 ��I0�;�i����%��^8�֌'5���0�X�LE
+b+���jZ�g&dc�sN4�z�!��8�Up�4
@~
{���_����D*
+
���5��	I:g�l�Ct�~�l~�~�r���뮇�L-���L) 
���
�x�%�Q��E�s��R
#�A�ו�`�
{�
 �Ūz�x��1��ኻ�ѹ��4�6���i
Q�D�x�rZ&��)i
�FⰡE��b��t@���=f

��u��v��a�����:��W�������b�_���x*��#i�"T�~
�)��C�NLz�z�
p�()%��<W.�9�< {�u({�?{@e�>�@}Y���
{Pϲ�s$
�/e�[�~m�-�`���
��3
rqNz���/��
�ׯ��Fq�=���z�e
�QS�:�'�to�Vs$�tm��.Rg��i�P�5�3f�վ��}̦_���g��_K��zt{9�/
+L0�?⯺��G�
+����q� �1�o~T
���
3���e�w��㡋
�@ZwE?nC�|Ca�K4�	ڪ�'���^{ɽ���ö���S�:7�Y�H_3����BZ�Z0~�e��`�o &I���KU�,������N�0����
+�BKv�l
��NG
[�YqM
*`�T�zڎ7�j��e<�C��^��B�ۏ����HDߴ�u|g*0���}u|=[�<V��l
>�RD�5s$��%
��f���K-�P����d�0<(�Շ�H��9�_}$?�
+���!��`�����_r��~
<���
�̡������$⪾���5���&9�
s��_��߫f��S!�A���m���bxi+�������/��r/׻^���d"F�)\�׋����^���M�7�5��cc�F�������u��yl,���&=�
+endstream
+endobj
+933 0 obj <<
+/Type /Page
+/Contents 934 0 R
+/Resources 932 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 929 0 R 930 0 R 931 0 R ]
+>> endobj
+929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.653 358.91 290.207 369.814]
+/A << /S /GoTo /D (index_GDDetal04) >>
+>> endobj
+930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.653 74.333 290.207 85.237]
+/A << /S /GoTo /D (index_GDDetal04) >>
+>> endobj
+931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+935 0 obj <<
+/D [933 0 R /XYZ 89 770.89 null]
+>> endobj
+936 0 obj <<
+/D [933 0 R /XYZ 90 647.598 null]
+>> endobj
+937 0 obj <<
+/D [933 0 R /XYZ 90 633.7 null]
+>> endobj
+940 0 obj <<
+/D [933 0 R /XYZ 90 504.666 null]
+>> endobj
+941 0 obj <<
+/D [933 0 R /XYZ 90 504.666 null]
+>> endobj
+942 0 obj <<
+/D [933 0 R /XYZ 90 490.768 null]
+>> endobj
+943 0 obj <<
+/D [933 0 R /XYZ 90 359.906 null]
+>> endobj
+944 0 obj <<
+/D [933 0 R /XYZ 90 359.906 null]
+>> endobj
+945 0 obj <<
+/D [933 0 R /XYZ 90 346.008 null]
+>> endobj
+946 0 obj <<
+/D [933 0 R /XYZ 90 75.329 null]
+>> endobj
+947 0 obj <<
+/D [933 0 R /XYZ 90 75.329 null]
+>> endobj
+932 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R /F24 529 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F1 833 0 R /F90 758 0 R /F10 765 0 R /F29 938 0 R /F12 939 0 R /F6 861 0 R /F13 834 0 R /F101 862 0 R /F9 879 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+952 0 obj <<
+/Length 4426      
+/Filter /FlateDecode
+>>
+stream
+x��
�r۸�=_�>U�]!�L��l�Mg{٦M��m��Dۜ��+ʱ��=���C�����R 

����������o>�z�>����٧�YNg�̉��k=�aΈ�X0J��/��ay,���b���w��-�H:�|��x�c.8L�<����
9g�⟟���w�^����t��v�df�ھ��t���?�(��ݻIۙ�����W}E�peo�%��J��a�9��A��./������
{n�����|8e����_����|W�_�.�����
+�?��b�d�ZC��������D�������>,P,W7����+�~'i�9aF�:���A�����&�Q�����<��(Q�Y�oa+:le��a��	���v�V�>[D�,��� l�����OJЗ{�d��c���e��n
����TN2���3�
��Ŋ"�b���kh����`(���'����"�xS�yy��$R6��}�
Y�k"Y^ϾۭA����1�'K�i���Y�MU
1"�!�pN�:
�5"	��X]#���L5������Ѫ���C,�f�3�_Ή������ϘYt`˗
6���i�⪿(V�xM{��'q��� nؑ�PS�H��@���r�Z����jF�|\Z$��H
KYB;I�F�1i�Y�
D�L:ܓkj@�8�y0B9vdE�h��3��
�6�urڏ�o��� ��
�:�8�1�C(k�}�-����b@}��G�܊I�K*��
�L1,a�7�\/xÊ'
�~�Xn���PK��|�	�kc��
5AyF�@�!l��u�NtcW)&��7j��1ѹWKzTm���H �-Z��w�$����sX>=��3����0
Z>�
�
.�vcP���بT�e�P�� ���d�sH��
���
��0�]�,�/���fy�we��Ef8��3z�(F�%sZ]�I�~ZZ`�d��6�D���
Xc�q6b��1Ξ6��s��ub/��:�Ү��9g��S
�d��)K<�#:Ii����	TBN1�j̘��c�M3�lԘ

+�W����+0�j�
v��
g���:Ҟ[T�GK4:��5w��\@
+���JG28ղ\�}��S�l�4�&��n����)�Ů*�DP��Uq�\� ���f%�$x�3 N��e�<��ӄ�+Jr�ozI��|�d+ _d
�:��[,L��
��*���$a�u�C
�gF!_^]03o]���1
Ҡ�3o��jX��������:b^Y
�P�ߨ����p�{4��lYu�l����o�%���d���G��yv�6f
�I�**	>�͚���.;+�[�I�u
�
��XB�/g��C�F
�G��V߻�2�E&�� �Q�c�J&���`�s�In���/d�ur����
/�}G��V
�14/BM6�Ɠˮ���U�2Bd�oF3+p���
 �΋��7.@�Nz�$|P��1q�{� m��
�癪�q
-��4l�E0�����K-Zo;<�
+����]"Ǒ�}5z��i��V�Z&�\B�#ϖ	ߢ.��юt*�� 
�΄!8�ޑ?�"=�˘"�W�#��(1���(���\�$��:ה����	�6�:�r�tq�z�ao�V
��,�_L�pon��D�
�z�Y0NX�0.����1�fH˼X �,�1.�
+ ��ba����#a�K"!L�r%[��ڒ-�om��=�)YޚZOL�1�޼{�7���%�/o���*]��B�%����+0�7D�,��^�*�?�ZV�^2�CS;��q[���.��X�~��_\����R�f�[�'� 
<j�'�5~�P�
�r��b����v��0L�<��.kO��n���#SGhv����o��C��V+������g
����V���
�x�xm�5�ar�&�T��}��/�-F��q@�F`�V{]�Ʉ����m0�����k,@�j�Ds�@������rŤ Y�8 at 6�w$BS#d�?��������
+3k�(wJ��$�7�)rxk\��	w]4eQ��7<m
~ �q �D�8O*X��p��V�ql>�����D��M+����7�n����ڛl~�v�ٟ�����f_k�
���{y{�)W�pO�������a0x���z.XRP��~0����\x?Gf��[�6u-�]�N[��`x�js�B6^���
�i�Y-�a��a[
��~�f�YW����p��0'�5��M����	�!���u|u�^��
�d�{N�X<~.��:��T�H�q�v��$�D�
+���叮b^�������lO>�.X]�[y(WG�3]�z�^�7ZX�`Ě4�p3g21s�4z��H�<腢���^�
l*S6mϙ�˗>���R�
�R�t
.�������[�;�����~]l�-�����a,w밚����o�<�ڍn7u�
��n��[{y����X
��<�r凖UU^�@���ҡ"��#IM5�J\�lH����ZgՎ�`
+ [3np��� �]�h����e���
Gt~}�<�+�
!�E}�*O�"��t͊)E�L�̝��*Z��5C�s��
+�ݖ�\�i�(�M���n�e�{~�8���� �jM������&���4ں� ��i��
��~ ��+���9��9�-}���E��T:�Ob{�Z�>�S��<���u�f�$�;�0x��1B`�&ii�$�QW���Ӣ}���E*��zz�%�L�E��y��>jٺ=�H�������V�,��r��
 �(�5�e-�Z��C����6
U+�mI��5��3��#�ש��b#	�/iI�GZ�6�
Q�MV/@�Ǩ� *���W�6��Q:!0�rfʤ
�V�̰PA����ӹ@v�Y,�w����l��	O:��>4�h��@*G��

�
��)�q��PM���)�ZH�e�2\�D
+�
%;I��W71��i�I](�%Rw$����)���fl�@fC�-9&
+dqZ������#�����bb�w8�΄���juw�g���j���[�Ŧ׎7ƻ��8��ހ�e
E�@Ñ��i�F;�<���#Bi��W�buy��!l@��2?���"��u[���iv��ށ���U�F�\,F�
/Q�(���4�c]�V5��X�j�j�<=

�p(EO�tMu��B�TJ,f]�١�C��qw\���~�����)�����M�r<j�su�Aq�N���%��r�n浈�X�޽�Ɖ�ۙCj
@t�VyЭA���8��a��q_ڀ���X�&�Y�^��RK�CO�
)Ó2�a�]��Zd-��$_$��ݣ���7վ	���T�.�&�;��$�l�y	`z����I���x�j��mӅJ�
A��
��EX[z��%������vc�n<�XMwebk����rBńw.���X/{*��;��W.�Km4�v
�#�/d��m��3ϊ�O�<}���C�r>�j�.�Ey�i�
+����S��� ?�1�4�
+,rEГā���t��p�I���1��sU��yj;b�G�m�c��&
��d4&�-r��A�y.dA�Gj��}E���E�&�rLۄ�Z�z��~�����]7�l���Җf�&�T2|qKm���/��D� Y�3�Ԛ���pM"�.Z���}y�Ф�Bsʻ��(A�ef_�WfI^u�n�&�
��6��#�fH�w+�Y�X����<�8i��҇�6�����1��?P0��� ���=b�;�_ 7��«Ϡ�i��yM'�A{��y#I�#g�.?/u����r[_�Lp���TE*c�ɸ���0�8�.]����u�y�8�tpΠtN)|�\��{��^�V�[�hu^�04� �MD�:��>NP
o�H��-�ô�NsF2%��P/�&�o������,7��]��}�C^��0��ooR�W��k]$w˸�
�D��xn�_b�$�ɡ�\�@��.W���*�G��j��[׮�U�W�CyY�����վ�,N|�6��U�V�������oX1>b�����߮����үS��� [...]
+6�i_6����\�����1V��?��׌v��ɝ�iݷ��L�I���oe��b_�ʾ%龊i{as�	�>|����;�>��Pj
�����]�"g	jP����8�m�
����{���w�U(L��n��ws<޾y����*�9���D��Aq4ho^����O�;��=߱�:Z�QQ� >
+� d�~e�#4�E��a��a��w[1��
�~��?þ�U
+endstream
+endobj
+951 0 obj <<
+/Type /Page
+/Contents 952 0 R
+/Resources 950 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 949 0 R ]
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+953 0 obj <<
+/D [951 0 R /XYZ 89 770.89 null]
+>> endobj
+954 0 obj <<
+/D [951 0 R /XYZ 90 721.073 null]
+>> endobj
+955 0 obj <<
+/D [951 0 R /XYZ 395.521 157.573 null]
+>> endobj
+956 0 obj <<
+/D [951 0 R /XYZ 90 141.213 null]
+>> endobj
+950 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F8 794 0 R /F93 763 0 R /F7 795 0 R /F1 833 0 R /F101 862 0 R /F13 834 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+960 0 obj <<
+/Length 4557      
+/Filter /FlateDecode
+>>
+stream
+x��\�s7�����ߎ��c��m�%�u*��m�u6�U�4�X�H���x���03 3CY��ݺr�51@�я_7$���}w�͛��4���*�fonf�̴��T��z��9U��W��V�K���?���o������o.~����Q�����]�_���dv
Ϳ���[3{t��g�q����p�?$&E��J+J���w���	_�����V��z���"T��_�~&�FI�DC�o�8������R�{�t2[P]I
���i��պ�f�l�%�U�ac���"Z+f6K���BP��
F8�,y�
+8���a
k$^�J�O�y\���=j��D�aa�D>���p6P\yy�$�ۂU�ؼ]�v�
�a詀g<n�q�+�ڴ������Ӆ/��
Pƭ�J�p���u�D��@1���)�K�S{�7R���,��H�K�AE%`[�^�K���@Lk�
���6��Q/�������U1��T����!zt��l,��9cצ���-� c(�sv at N�@��mq,;ct��*�b�\���Ȝ�8�g���`F�:���t��˜
�i٪����;���d�he��Pc��P��@.�sm����|'���@�
%���	;A���'\����H�r@�m�1[p“m�Ļ ��dt��;�u6t����D�E�%o���sdQ��G_c��T��|��+�a
r�
�%@�/�moҭ�ɋB�_v
Q7�&�>Q���i�mN]
�R�g�
L�^�1|~�+�W
����Ժ05D�\�xB�C}�W_�� N3s��'*�e�#$�K�]]=
��z��*C�D��������v�oK6M�l�Ǫ9u�D�T�3�Ǔ��dr��\�AUƶ^���:�x%��0���w��i��f3$�[C���x-+jb^��r�����{8��o
�W��%��JkP����*Lb�t���_�����%�����;|��N�C�
+pi**Tj���w%�l��2=bF�Y��+D^z�2���w��+Q �.��FB����!���x�
�$�dʛ�v)�4���i׷�
+"��.��HX��`ͼ	'Ҟ�-�m�lK�f��[X �)�a`̊��C��z]�΀d 
ş��yp�L���`������qXeh���)�
 �!l!�'Y�L�8M�_���N�
F�2�G��0�{ʬ�
�Jw����m��#(���������sR�V�h)傚6^�ꜚhPP�˷
�/K��Y��b�L�l��q�6�#S
Cvi��Kjp�l[���t��_^R2����������ݾ>,��w�v���S}�����I��f�܆�ݍ�����������8�4�AQ�Z�.�s��Χ=l��C	�  kU�� �J��ؒ�P9d'�
D"ցPbƒ+���߭�ݕ� ��^�&�N��HĒ�l�	
+4�
����lӁ�bHj��†�� VQ��_!t�a��T��*����r{Ur��Ώ{ O(<��b\l(�k�Ũ� �\��t�����r{��
��k����L��ǟ
��лs�%$X�"����o�S�H�X�L�l��o�-*`C��}��%�>��f�Q���طZ 
��8�`�j
%%�o(�M2����2 �P�!�$eЃcx��I+�����?;�|�d5A�����$��eY"�G1�&���b �I4')%z�-�
��k�΂fqpT��������^�6����d!��l��%H�N���3#�5O���q�Dž�j��?�!=��s�H**եy�Be�3`}���S@�23��0-�*h�
+-DJ�s"���S�#���ty*jCܷœm|�)��I9	A��ǗE�Ӛf ��
����(�T<!KH
+��0�=g�&fC�l�BNĔ2�1WL2�	���$h�并��7�
#�
]כM
+p�œ�n`*��pXѤ���Z@�y�v�<,7�z��=,�
�J
���R�byi�2뒄v�`J8��
���
|@��� exd�|C���B<ׇ�)2���)'�$�b8؊�/�Y�Z���'��d�?;�� C�
Ai0
ק;�/w���.�P
a�&(�.X��d
�r�{�
ߓ�CC�@��k�Y���|��i	c�|k;�f�-�@0A*���NZ,���?	)�S��(A[�<[�����7WZ��oׁ�ˣ���!�
�iS�P����U]>w!�Vtj���rV.b ��n��X�꒑�����]�[ F
+#/�< I���cnٳ�#�,;'�
�X%�\�%�L��R<�8�k�ք�g�%9�Z��s'^K��'I
Yi�R�������i���G�0
f��<^���(���ln
SPۘ
����?������n�l,|r�%~��L��@'b��bb4���<U&,؉K���TbU�i��'Vq�.���
͙~���]�b���hn�Q��f"I��tnUVT}�ܪ9�U0
�V�Hn��|�ܪ�ʭ���*�r��)ܞ}��� eYn�W����*c�˭2����
�Jog]�c�[����o��m�<b���G��j�=#��Fj��_�*��]M,;��y�̘�X��7�ۇ��A�
�rS@�5q��h�3;�x�g�I��v�*���`K��)`o�*�>��T���1I_�n�r�
��q���X
�5(��#�ԎO��U���C>e���@��?={��ݘ��a}�n}J�ݥCۑ�}-'�V˫��J�����v�2x
͂����s݌#�aP���Y���VW݈]ޣE�=]ŦuN˱��5G����U5V�`�4ʹ�RU%]}�����8�{���\�C��45�=�F�S2=lT�E�x\0�[����S��b �v�����a���V�%ď����!"x\��@��k?G�_]�i�
+M�L�g>*�Q�%]XE'�WV���"֤,
B� )����XZL,X���i�a�����-��� �֭N\����;lŌ9�&Q&�.SN����؄�-f/
�i��-��0z%���#�����ևݗI�"��(:�b����n|G� M��y8��V�Q �%^��?�]@t3���P����J��@�G�� ڲ��_c
\���C\~�?|}���Ro�H�1���ė��h\�z��2p���?�X���j ߪOSn�K�q�E��9xĸk�I����A3�8��3�aE�7S�@�kO���
�
c���6����ը �L�����Y�ŏcLK�-L�mW��EJ?q؆L�g3�z��Wviat�e� NV��5�Zu�F�z��y�j_"��
+���gq���nV�}��)��(�	E!��1PO4YZ9Kt�Az
VC��XC��G�~]{v7;p,e��i��X�j\�)ɣt�
���4ةtw��ʌl%�͊��a.,(�J`S:�
�"�5ms
K0�BHm>	���RKr_vbZ"<��]��*η��%��J��%�;�H��3g���-�K�N*S��B�t6d������wEE�PΚ�	�ۯA�O��
gثDz�r^��[0G�M��	j��|�}���䰜�9���}����T���#��G�aX|�����c�eM*����Pj����=
�%�&�,<�gac�j��
��X����ua ,��̀�D�����e+���ѷ�q�dS���"-ЙR�'�
(�C(��O\=y9
.L��%f!M5�5�Qѫ������S��h�.�*���Xq |S�Ԍ'G�+�Si�Zx��7��Bd�
K�e|&�ކ.ۇ�U}8����1d
m.f�>��?W�.�6,n�Zc�a��_$ c��I\�����l\�� [...]
{�n��^p�Ϲ�
�<���2ɱՄT��.���ˤ�
)�E(���#^D
�:�s1��:~ět��'�
���o�1��1�$g��
zf't EW��eY�z�����\H�r4������w��ɯ�Ww�s��WkӰ�*� 
�P	�W~���,���)+�}�3C�|

�[s���&
�ȁ�8��q,����
��,�i�T�;��
M(CV����fөT�1���[/���[9�	A�4C�S�3̟�L�Oip�����S���H���S iue�=������T��M�WAj�ک��*j
+�U&+��.Ys�0��
l��Q6I���~��Q�Tƥ��񍚁���L`�.I�ꭑ� af���ׇ %^g�|�몚v'��@ �]EN�6,�*hVۅ?7R_�5����J���6��P��4����^�j���E��P�b
�=�/�wB����w0X7��[t6�@
+6P)��􀃂Ň>mq��S�_��?��X��R�y�����>4�
�J�I�=�k~F��u
X��zے�{�qVӃ?b�����������"��
+�O?�нl-(lA7��~w��(�G�@go�����
+endstream
+endobj
+959 0 obj <<
+/Type /Page
+/Contents 960 0 R
+/Resources 958 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 903 0 R
+/Annots [ 957 0 R ]
+>> endobj
+957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+961 0 obj <<
+/D [959 0 R /XYZ 89 770.89 null]
+>> endobj
+962 0 obj <<
+/D [959 0 R /XYZ 199.887 353.06 null]
+>> endobj
+963 0 obj <<
+/D [959 0 R /XYZ 90 338.514 null]
+>> endobj
+964 0 obj <<
+/D [959 0 R /XYZ 90 235.527 null]
+>> endobj
+965 0 obj <<
+/D [959 0 R /XYZ 90 221.08 null]
+>> endobj
+966 0 obj <<
+/D [959 0 R /XYZ 139.584 77.486 null]
+>> endobj
+958 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F24 529 0 R /F7 795 0 R /F10 765 0 R /F13 834 0 R /F101 862 0 R /F93 763 0 R /F32 764 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+973 0 obj <<
+/Length 3772      
+/Filter /FlateDecode
+>>
+stream
+x��[Y�۸~�_��T�Z��I��u�6��Gfm��`o�85�D�$�c�קq� 	���nR�����n��uD��Z|}�ח��t��yF����"G
��gp�Y�Jp�-W!���X�E_5u�\���6��������|g�]-	
ؿߕ��Џ$K�X���/_^���0=Z`3
O�\��~A�
<�n�R��ŝ
tX0B�s�xq������pu�>�
@+���A�S+��e
��/W2)7�������4w�˽�5�<�Y����Ŋ�TPi&yQ
�}���/3�<B�$��T�;_�<K���{���:�i�y���<e2)�K,���L$풊��f肄#]�DJE��F43����Q7��rEa�׈�����"Ks-�vA��K��"��T�|��F�K
�>���B�A�v����

t�EJv�6�ve[�iR�$�X%���I�7�������T���uTZ��Ob$@D��"ld�a�j.Q����?��t��a7�Tr��&�"E�zKq����yPml�/�r$~�e�M�����V
�T��+�Ԝs+O[��.I���T^��ؖ]7�Aߓ�yJ䠤�G9a�ў��}�lc8����%�b!ƀ@X��H!�OVFN�E�!�<���a"+����)�g����rKb>Z=�]��p���7rS����v&�;�g. @����\2f�<�t���Z`o���PD�1>wSxAZ�B*���̠:�T
]y [...]
:�� +���~���q�%�P
O at P@)�/1X�m֯hS���"P�JQ_׍��o�?�HLQ'
�`
�]���Pv�|s[��oտb_ֽ!�7�����ٗ�������D���X$���px{[�O��J[¦�Lg�L�
O��o
PZ!*;�T��9܃
�,�T�1s��2��9��)�F!�.���jP-AmG5n�‰��
��U�9]�8ɓo{�r�J���w��u�P�8R�
�<�ޮ�O���y�%
0���j�LJbe
�m�Tp���YC[�{m(�%�z}۶�5���gX�D\��
��|�z[�)��
}��^CkxPXN�mup�F�H��78\�\T��5F�,"�L@&g~�� �&��^�8v�(��d۴n��/��4��i>K����miG9��"!&�9s2�l�=�atC&t�)�P9�5fX&�|�
�h?�I���Ȅ�C��1����3�P̖pp&�s(ᤵ$�
��S��b�1�C�
���$�0
+
�:��v ���W���T�]�8N��A��t|��}���-`�}�cob7�X�s��|&S����r��K[�hf��ze=��ڽ���>����y�@��7?���@�WFέb�z�h�̮���T�5�~w,׽����Z�.� ��&m
E�R�T�
+����H�x.��T|l�C�:���,�Y��Z�B��K
��gH`E+j��(�*����8�Eu�d	v�� 'pQ���y�u�x.�o<���x�|��-?�o�ʊ�a����Ƴ3 C��믥��Iv1�
��X�W�PE΄�nX��@��z]���|���<��E)H?����JH
�x���U����������2�=$ � �AIJ��G���Y1�|l�W�8�2�{���֖|��5���&�-���K;�unV���<��H�2���n�G�Q[�U���K2TR��TS
�IF�N��_��cZ���y�<U,^�P{He�
�m>t_�>l<T�f������Y74����N[��R~��R����_��S���<}3�I�8�'�F
+`#Il��uj���DT&t*����plz@�y��ߟ�{
H��X�}���P��K���<�[J��4W���⺍y
9�vo���>�͒NW���X�K��Ժ���(Pi�&]�A=h���.���- Q1�%_�QC��"�@C'��8����6J`@1�
3�g>��,��d���Y@
@��S�
������
�ES|�15�5�KX�՗��ؕ�TL��� ���W�f�H�Ke�!.��EYnL���ץn��#>���T� �_���7W�s1-
0�
��u�r��*@��Z?�XSUDkL	�βr��@I����6�i
���hߛ��
�ݾ������
8q�ϴd�9'�J�Y�sk;EeI��1�lK��ұ�4rW�N�T��\�b�����Ԇ����g�b9Nu��)���}�M����n��@f����F���
v�
\��]YF�7�6�鄩`�
�?�uNB*Y�22� V�`��mc�wS��
�G�~�K.��P�'��u��iȄ��e$G�t��-;e�(����J�X��J�2
纩���MG�v�h8G􄧘`��K�g��c
���[#��	h���7�}M*>�r�Ψ
>�p��W�x]��9up�����g�ͷ��\��	�+�(�"��k�y[�f)|���|-D
+̞��H��\wYWPm[�Ըm�$�Q���Q�����"1��p���xN�}��J��7��������w�jKl�K&-��

���4վ֔���<O���i*^�E�~��F��
+���0]�",T&���m;$�
m#p��Tk
]�#��I��J��Ƀ>�k�;
XM�Z�g Εe�;ݹ�˲_]V;
 ���?���E���_u��`*�B%B}�:
��N�9H��;B�Wg��C� ?���t� ����RF>�7* �1Ҹu���F��� �ח!�^q�f�l ���.�_�%�o�������Qu��"mq��L�h�8�9iS��PdP��.�"=

&��؀���vfQ1���cfU��uqF��3�����5��\Ez��lD�O� �o�((��@�FUǽyx��3�r�C��V���Z�ή�:������:�D?�(=(����$��fqr������ >����-�*��1�M��U��M_�3w�-,�EJǃs]$NOլ^<��S*���
�ĝ���H�k_����QO����cР�l|5�-�k%J��NBx`���'�s9�g���X��(�FPZ�;{�.ڍj�U}U���[~�d���~�Ĕn
3�O���l�.Īc!�h��@ۦ��B�w����>�2��  [...]
+}�]Ӗ
�k�;V�쁒���� +U���
��4=�m��
u�o�^*8u��oX�
<�_��Lz���A�!�X6}�+#��
+�����]��j?BZ��.�j��������?��?/9O�}�XԷ���͋NN��K �T�.��^����0���]}��U��`�R>�d�������׷7�"7�9��'G�`��Q�ͺ���:e0j4���x+�G�	P���
ݧ�?�Z�~h<��@k@��+u���r
+endstream
+endobj
+972 0 obj <<
+/Type /Page
+/Contents 973 0 R
+/Resources 971 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 967 0 R 968 0 R 970 0 R ]
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.648 505.225 370.375 516.129]
+/A << /S /GoTo /D (index_HMT71) >>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.151 352.961 315.118 363.865]
+/A << /S /GoTo /D (index_HPR97) >>
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+974 0 obj <<
+/D [972 0 R /XYZ 89 770.89 null]
+>> endobj
+975 0 obj <<
+/D [972 0 R /XYZ 90 721.073 null]
+>> endobj
+976 0 obj <<
+/D [972 0 R /XYZ 175.548 567.257 null]
+>> endobj
+977 0 obj <<
+/D [972 0 R /XYZ 90 548.584 null]
+>> endobj
+978 0 obj <<
+/D [972 0 R /XYZ 291.462 414.992 null]
+>> endobj
+979 0 obj <<
+/D [972 0 R /XYZ 90 396.32 null]
+>> endobj
+980 0 obj <<
+/D [972 0 R /XYZ 400.848 275.811 null]
+>> endobj
+981 0 obj <<
+/D [972 0 R /XYZ 90 257.139 null]
+>> endobj
+971 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R /F13 834 0 R /F24 529 0 R /F101 862 0 R /F32 764 0 R /F10 765 0 R /F1 833 0 R /F7 795 0 R /F9 879 0 R /F75 554 0 R /F6 861 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+991 0 obj <<
+/Length 3227      
+/Filter /FlateDecode
+>>
+stream
+x��ے۶�}�Bo��D0n$�f��8I㤭����LmO���Z6)�T���=�E�v�$��/n�����.����7W��lԢ`E&�����
�
�f��,�&"�~��Be9E��/�{y��˛78w���Շ+S|!����|��_�}��v��*�Ž[�_h���xs������P�`BЙ7w�z)
+��U[��9�͵H�����h���UU���m˾i����
���q"U�
P��aW�>�x�z�㺩{����f`
+%X�M�vt�m8��o�}Y�
�[���
�I�{����t_�<eX�iJ��we��:KZ�ۺ�NIa�����]���f5_���_
Z���g��m�+�k�'[���?���s�.�*���m{�/.h;����8��h���idʓ��7�>�
G:�w\@~�ٰ�a�L'2��
��ǎq����8x�5~Q"(8{�>�����
0����}��	
+8Z-��ʮZS�����Es�|D
m�,7*ٶ�&��	�����<i�}�m�rG��]y�
� �^f<K�XK
Wv�\�4���N6q����"�u�q�G4
�����x�S}��v����W��n�)�#�F$+�J���k��z!��m���2 c��5X�b��p��X��%,c€�qΓ�v�_�P��,2O�
�B�d~܉�þ2eR�����Bagn�p$�#��(����'R� E�h=�Իkv�a���������;��N�ڃ�K
N؊�}�
��[��'}`JI[[{
+�i2WDM�9
Mg�\��H3`�փ�}3��i%�
+g��������9vaw~�(��"��,
N
����=�bN8�{�z����:9�{/� Ŕz
_������k�0��`���x�qP��8���]��V泣��Q��o4#���r?�
q
�I��`9���{��n���`a#`gL�a��-4�r �c��AD%r�ab�>��I���IV�S��l���rLI9��	�1N?Lv".&�G���`�0���d�
DT������8寸$j�G9�e>�22}z�%��������m\�U/���@-Ú���"/�d5���6��U`�� ?:�q.���>D�w�s
9Y3%�Tq!�#`0�j��ͩ
bb)�V6v�c~N#���6�8��
�
�1{
X�|���c��f�C���}�2�=
8Cg_Hv$���u�PʙΊ�
+u��H�����"c� -ip�6��`�h�$Bu��
���/��;�4*��T/e��'z��
�T
���SN�s"��bhU :fm6���ZHnd�ɈC(�E2��+Ub��Bi���Y��Ƚp���_���%��3l�翝�e��~�^W�~��i�piI��l Đ�Qe2@��Q9�?�+ʑʃ
AX�="���	�MɋG�I0��c�4G���UR=�;��#e<j�RH�'R
������R.KmƸ.�"s��f��K���%�8���{����[2���$h�̴�Co>/����ζ��Q�Y�tT�O
�J#�Fz����^��������_�Y�_n��TR3��]q
���"�?3�;[^K>���~��*����z
·��3�
��귷�9�D^�Q){3���4�<��j��M��b":K�\�\&/"{�q�F��}�"��l9��*� �ű�\讧
+���w*`�����`�î�-�U�渶�_=��$��vh���#U�T�,sM
��A36���B�L��G�i�oq(~�	<;4�c���s7�
�� 
���O%��왟��SS�烀����c
�V'��	VǤ��L(:����
��B^����4���4̠�>eW�~��'�w̪T�^Ya�!����ܼ�Ue��I�.�-�
�f�x�	Ӛ�c0{\u�}�e.����g�p�x�wΑ4ez�x
_��!v[^�*g��?y?�Uw��� �'������8h?u�"��'�䄘��Ł�s���B�+O.�
�c>�33R�R���q��f��L���iO��s��C��5ُ_r�]Lk)�o��3��V�N�{L��������Tt���6���[B����|�c�1�յ[�E�������5D�
9��~a�� n$sAK�M|��T�к 
��}
����]�
�|B�
-����ݫ�/�����+{ɨ��ܭ
���]w�������xZ0�[e'�
�u���Z�@r
��/�{ 5z����¼?��,�V�˦G��:�,�яXX7�ñU6�q~E��\ӄb�L3�
�D.�i4 =*FW3
7�3
9+ʞ��T)^fN�W����Hd$�'_��-
��%�Ba,�d�~���CT��
+� �EUOɭ;�o!~�Z'��+��π��b��W
e�k��j55��k"p�1�y봜�IA�ܮ�� 8�C8T�i���ו��q�vTJ
$3��5������C	V��T/���6c[�3�3��͝�*�sg�p����#����������1�e4ā�����!�,�?����∨�0�0Ϡ#:��~�R�L'o	�2f+@&��d��ɫ
�.�R/�ׂ�g`��=#��tf��tJL�d1�7�M�N���)��AU8��O��j�N�Dz-��Z?�7���f"e& ;�tǝ��o9�݄���S�v'�$�Uwr�?�ԎF���,�C�8��b��ar�ℍ��yz
��A��]�g��]�;vXq��+	h���:���0��9�
��;j���~
b:�jgSzv��}�@
��\c�k:�{ӽ۟���m�/�
��1<���琛�g��l�_���(��l~�s�U�9Ej��UݠH^�Z�҄Q>=Ae��0D�0�pl[2���R�0�A�?�gzav5#���G6�C��'���5=h�׊S~y��ԯ'^�3zN��|���$H$=f��S3�1������wd��
P�
I���������w��n��U�la#?Jf ����Fq���ܧ4�l�勞�k���s��3N��ߎ��~de��i��m�۶A�bG��t&̤�3Z�ˇp���ȲI5��_-��
l��Է��5�Ѕ{d��%.��nr�v��?�웽Z|��f�vK�o9n^"��
P;'�C��߯�>�����_��w0c��1������N�Rzs8���Z
+��O��T�O��rO'�2��
�����Ϟ��[��-[S�s���c�rxo�oB���ap���y�yS�S
+endstream
+endobj
+990 0 obj <<
+/Type /Page
+/Contents 991 0 R
+/Resources 989 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 969 0 R 993 0 R 985 0 R 986 0 R 987 0 R 988 0 R ]
+>> endobj
+969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.267 654.467 513.996 665.371]
+/A << /S /GoTo /D (index_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 642.512 234.367 653.416]
+/A << /S /GoTo /D (index_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.859 278.715 492.835 289.619]
+/A << /S /GoTo /D (index_Hal79) >>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.791 266.76 180.758 277.717]
+/A << /S /GoTo /D (index_HPR97) >>
+>> endobj
+987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.388 213.27 148.972 224.227]
+/A << /S /GoTo /D (index_BHRZ03a) >>
+>> endobj
+988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+992 0 obj <<
+/D [990 0 R /XYZ 89 770.89 null]
+>> endobj
+994 0 obj <<
+/D [990 0 R /XYZ 90 643.508 null]
+>> endobj
+995 0 obj <<
+/D [990 0 R /XYZ 90 643.508 null]
+>> endobj
+996 0 obj <<
+/D [990 0 R /XYZ 90 624.492 null]
+>> endobj
+997 0 obj <<
+/D [990 0 R /XYZ 130.944 355.703 null]
+>> endobj
+998 0 obj <<
+/D [990 0 R /XYZ 90 334.529 null]
+>> endobj
+999 0 obj <<
+/D [990 0 R /XYZ 404.764 293.823 null]
+>> endobj
+1000 0 obj <<
+/D [990 0 R /XYZ 90 243.846 null]
+>> endobj
+989 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F24 529 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F101 862 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1012 0 obj <<
+/Length 3897      
+/Filter /FlateDecode
+>>
+stream
+xڕZ[�ܶ~�_1o��2/�(�h�8��mj;.�	�
wW�FK����\H���k�e�w

��w%6������W�^�)�2W���ͦ��I�C�y����]K!��e;�~'��#�TͰ�V�#�w�,�ia�t+���o����Շ+	[��䥳�������bs��6"�e���A�M�4�7�_�^_	G��
���h�5gڋ2"���2e��FK���z�"��"1��\ÿК�~��ɳm���;˅C5��M�c!��:(��x�}5v��޵�;{�o�^NS�m}:7�d۱k?���
�mm�ף���ݬ���z:<4
�Zʤ�2>д3\���
+n���^pˁ����K�
z;\��˸٢�>ڶno݂�sS��Al��
+��{w
+e~�����띂��U�
�z��G�#��;|��f[�����(�m��=����0�S��3�ȥ���|�E��Pi(�?3�m�,eE$��F��G��
n���*��F�&2q�c#k)(��L\��	J�iL]
�ȼ�́�������Me�ܵ��s���Չ�}�����7 y����C�y�M��#����g�Z,Z �R���~�,�%��v#�(Q>��0� ��4;��
��b)�B�A}�&va@�K����GS����
+$��k:;#
+�-/��_7
o�SyoG�,����yR�������ȸi둵�j�L�K��W�NA�g&|�P�M���:l"kT9�YE�?7�����42�(a��BE6)��]}�[�#�R��n�L�d�p�͊f/	�U	�de�����[����'/rP	NHur%�ض��
����A.�C�
���c�3[
�
�ִ�P��ݑ�
��3���Sv.hgy\�K�g
��
l�Ȃ�A�٨�yRI��@VS�c���S߀�:z�Y
^�υ���E�g"MU��9��$��6Vu; �
�Uc��/�#r*s�
�-�
I�\��pD�L )�@�<�����i�Y��<�

. �,DJ'i������|f��1���	�T��6�jdj����k��B]�Ta��P�C�?�dҖ���
{���
7�[��#>��so�/ǚ ���s-��
ؓ^�e����T�Q7
�����J��h �Āc2�҂����d��k��"��R�A��I!'i�Kl�ň�Q?)�Y	d���+@� &������ٌ;��w]s
��A�B����

��~�eP��%�ދ��U��Pp�W`����
�]�:Ѕ	rz��֭T�~��BS���XmHǡ֢pB��^�ۨݪ1\��P�`����E ��
�%��mj��̇?y�
G@�h���r(��{�0�X�0Ч�$��կL�6���S}n��.�p`*ݧsG��Cw:_�� \�i�
űc�t+Y�
�'?w� 5
��}��;�v�:�
Fͮ�T�ܤ^�,�40+P&�:���m�.N��P���*�8pSL�7
k
v8_�껊�Adsb�=e`�b�K:+ep��J@��Ҿ��@�2D�)w-[]A�t�Pߠ
+P�򀵛�;q�]Ɗi�D�P�}�M��$��Ad�k� �I�R�\�!��=�'V ��4\�g�����J��/nǸ��E�����0R��	Ӏ{G�
�K� �:QjƂ�}XS�4v��&MżD�o>�٢L��L���?^3�R���,!�����}a!g���CK��p�� �W�7 �d�A
��#�U�J����=Z���
փ��=7`���r�_Ѝ�Cᚡ�������Z� 
�&"ۂ0M����
�50W߂7�ǢقڥX`�=�f�Y��ƻ� Xb���CZ�ce�ҽ���Mh}���
c'r���=a��"����J(!�:���4�S�զ8Ƨp�Ԅ�'����I��
*��$wg ��WM
I:'#
%��_�3�ph:
�	X�4�;�~:t��lÅS4�;��a-��8t����GS$�n�S%����Tn�0e��E|��~�y�^N{
+4q��؍{D8�n(
�\�l#p-���P���
4ܻ4C8���!�&7�@
uN��/�|�/\>�T�\��
ފ�\�R���
�ǜ�#�;-�r$��4��2,�`f�<ӈ

(ѥ�?�9�j7�}#fF"��
�c�-�N�%�I��vk*X������n�
Ɏs�
��ܢOm7�Y��a�=v�d}O�ϑ�I��� "��e'���p�[��
�x�N�uZLY`j
��
+�
v��L��̸}�;���*�UY$�,#�
�3�CG� ��%kE&
絲
dp3
A����y@�
2�KdU����!
+�l�f]˅��X
�)�>vrX��W��b]�[n��
�Di
\$�һ��r/��[1�E	Qף����!���ў9֡����ܗ����g�_�j
+܍��k'���Wh�$
++!K��t��zc�U�͘��(��%RN��ԧMa�ωD���X�D{
����Ȓv_�
x@�M"��	}s���Nn����ז2O��q`R@�}9�c�4-�$s�
���W@��A�}��D��#Hv󎆿��՛��P�*��|�
�i҂����$E�J8�k=��jcņx�j��`Q�mP
@^On
U�lX?rΈ<?��8���_@��mR�U�ڴ�<���;W�n6Fke{�mÉGS�|q鵡X�55#'~d%����M�M�)YM�'l�A�g�ay
+K,��0�80���1�i��� =���R� v\
��w��O>H��a�
�@�Q��a
+�]�Q�H�����s�P�F3R����b}�X�T���
�C7-���K�
�������K>�NO��l�������*a��!���\�.�����6떜#w�}��ȹ��b���P�wۄN���Y�� H�X��
*�A��,n\M���	㪥Z<gC��һ�n����">Q��
+M�Wj�Hz�!�lnh�Wmx��Nr��'�����ܼ%K?tQVp�^څI�˧����R��+�*L$
G�Tu��p�}��
��J�$"�1՝s򳧧�фX�Cz�
���7��d��*�+t+H��X���x
��[�"��\��
$�ez�d3s�G�Yb�"���u�b�����)1�w;�
?�̚���6�n�޾z�O,�
H[���V��8���W�^�:�O&冞�k�{��O.ڎ�	߱��9%��&A��u�LJ������I�Qn4nt�0�
���c�O�V�bo� ���(������,���&(��H!\3�@
���%E̯}o���
���p�
�n��8'��4-����
b�W���3䘌��HnR'r
�t�>�^���_L_J,i��G"
�D���Qs�
�;�ϱ����
�m�L�K���MqI���+�r����
~ �2�O� �z)�o;� �c4I���"�љW����
\��V{���4�S?�'~VS��=������]
�S�N�}y��w!��`[=DH�ӤHӯp�1~��ar˰�
�n�@+
+��P\
5Qė"TV�ԛ��uO�f3�S�o��bg}@��Y)���HR5ryaa+��T����Z�
)6yR]���$��Dm4�%�t0j����g�b��}�v����8��)�3a7�sۻn
N���e��%��`J��߷�l�'�o"/��I�^��/�
7k��#[� 	��*��"�H�_cd����	�m��iRr�X�ZUφ b��k����~�J��
~ݐ�OrSP���cF P��`�?a������_?36�.�to��>�%�s�b=xd��o|�W�-�L����������g��-������H*8G	p��	`�8r¼k
��\ '=�S����
�4Fш�L�~�kx��7���w���/��
+endstream
+endobj
+1011 0 obj <<
+/Type /Page
+/Contents 1012 0 R
+/Resources 1010 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 1004 0 R 1016 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R ]
+>> endobj
+1004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.531 473.228 513.996 484.131]
+/A << /S /GoTo /D (index_BHRZ03a) >>
+>> endobj
+1016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 461.272 121.432 472.176]
+/A << /S /GoTo /D (index_BHRZ03a) >>
+>> endobj
+1005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.089 277.611 416.057 288.515]
+/A << /S /GoTo /D (index_HPR97) >>
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 229.791 126.971 240.695]
+/A << /S /GoTo /D (index_HPR97) >>
+>> endobj
+1007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 188.256 242.088 199.16]
+/A << /S /GoTo /D (index_CC76_interval_widening) >>
+>> endobj
+1008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.64 188.256 327.726 199.16]
+/A << /S /GoTo /D (index_Intervals_and_Boxes) >>
+>> endobj
+1009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1013 0 obj <<
+/D [1011 0 R /XYZ 89 770.89 null]
+>> endobj
+1014 0 obj <<
+/D [1011 0 R /XYZ 90 565.24 null]
+>> endobj
+1015 0 obj <<
+/D [1011 0 R /XYZ 90 560.105 null]
+>> endobj
+1017 0 obj <<
+/D [1011 0 R /XYZ 233.411 392.694 null]
+>> endobj
+1018 0 obj <<
+/D [1011 0 R /XYZ 90 374.387 null]
+>> endobj
+1019 0 obj <<
+/D [1011 0 R /XYZ 90 308.187 null]
+>> endobj
+1020 0 obj <<
+/D [1011 0 R /XYZ 90 230.787 null]
+>> endobj
+1021 0 obj <<
+/D [1011 0 R /XYZ 484.168 191.409 null]
+>> endobj
+30 0 obj <<
+/D [1011 0 R /XYZ 90 173.101 null]
+>> endobj
+1022 0 obj <<
+/D [1011 0 R /XYZ 90 116.864 null]
+>> endobj
+1010 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F8 794 0 R /F11 613 0 R /F93 763 0 R /F32 764 0 R /F101 862 0 R /F10 765 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1029 0 obj <<
+/Length 3828      
+/Filter /FlateDecode
+>>
+stream
+x��\ݓ۶��Bo���o�I�N�$��i���郝�D�1֑�Hž��]`A� �Ɍ�
H� �X���
::���ً�g�O�N�,'��zv���t�ʜ(
O��������̄��5|d[����W�]�2�.�������+:c��"i6[�^����V��͌�g�w���Lr�����?/hH
+�R#��7f�'_3ʂ>�d��*\���&����g�!$�<�{��
#:���PE�H��y߁̙N�'��yr��5
z��p!������y��
+��W%�Ai��<�%��z����Rl�eS��n�TR��iJ8��ݴ7����|��j;|,j$��W�&‚��m:a҈�)at���=k업�Q��C?�J�<�~G�ݟ���K�_>��:B��D{i~C)�P2��a�Q
%��p
㴹�;���M���8�x�nv�ɛMd�
�4њ���R8��- at -�y�_�D���0/}���
���f�H�IG��U>��ٝ������ٰ�G��Ғ}��0By~~e��g��(�1�Nq�Bs���"᠏
Fd.GR��G��)�
������P�H.o��^B��,�l
)
�9��[�,پF�]_�uݸ�/]��Ms}��AE�	Z��1҅�6�V�f|�hrS�x��7�d�1y�
�S��R��mx
�(6l�.��i�O��h�c�gD������б�i�|���x\r���4�Y>�#
+�zs�	�л�����a^�vQ��D ˶��c
��CԈ�\yͳ����̘��h�T�۲��:Z��8�"��`�`<�i��<SI[��/�kl�1����ud��d|� H�n�zsΔ$l��2�sF�B��X
;�'@g��
U4f9,G��R
L�9Xسv����
+�
i�`���k���薛5.�^��#p���bܽr�Y'^TuD��`�	
�Jp0Q\@x:�ƪ���!50�@�!SAR����
�H1���9����B2�*�xYۦ���1ί�V>���]S�x_���ed����O�m?��2�p�f�es�i�����W;��	�F�4���Kv���46w�
hPy9 ^��a83,�\/W��~�^
N�PcF/�ݮl�M�2��2�PgZB/��h�*��u��G���83(1���@�A@�����H���S�
+9!*�� �4&-r*�Th�d���_d	��޷�
p*�Q 
�GЀ�m{�hdx��ɷݭ�G����E%/ա�
��d�	�g9`D�`�Adƾ������Z�e�iZ+
g�F��Ɂ�/��(���s3�t�'l�e�-vj��%ɫ�����
����
�ϡ;K��m�
���&��
�q�
��X��Zm[b���ߑ#ފg�x�2�&��q��^�:�
����N�
-����Q��vp�9�Q8�>���ǀ�Jq8�Q��^�
�O N.�i��u��6S� ڭ +�7����CNd�
+��>�p�rq��:��P��uVW!�\L[����ˀ8�#�y_���Ae??2�<;w�W�8��."a\(=H�j,�0z4���G�@�v	~���\�d&`�Iz��
��a� �_F�	�392�q�ɑ�
�]j(��Yh��r*�ٔd>�xռ�'S��
����m��IYYo2�%���Rtge:N6ø�0p[v�Ҹ��f�7�j߱�j-�U]��&�;�q���
���Ug��a;`�RYDzW�ٙ8��������$c���N�rz��0�iDm����D�4,X��4��nv�`�A?�b����b� ���/V�mY����&&� >ZD�<C��X���tQ�

���h[���
z�5��� ���I|4%x�,�D*�� ��r
~D	"�;���
R'�H�IM8�N�N���ƹ�H�B�Ľ'�E�ؾ	*N%�r���J�.�s4���q:�p:�臭����۲�7��J��b
BA�&��q&�ػ�9�MJsy�����r�}`��:��}k��Zء߾v=���01����ˋ
P��*S�1�
i�PTc�`����ժ���噛n�z�
�.0�a����0�ƒ��WϚ9�`�aZ��r'|���$�5��f=4M6�ծ���'�]c�� ���^�
����'�~dkg�� ���@U�<yQyɨ�K�n��{|��Me�,0�D�+����Drz�e�^g� t:��Z ���4B�v��@�O�>6�z
+�)x�<Ջ�}�\~:�)�v����&���:|1	�")$�$s�d��9L99�Q���$
�],�4
+�� ��
��!�^\�^���
~
�'_�D�a**
s�)L�������
^L
+u�ي�nۀ ���ESR]�v ��4����-�%:�z�hi���h�����eWl(��oR��2�D����H��1���X�3�8�({@��`��
�(e�
�}� �qG���
T.ћV��FF������:���!n�
+�5n-�
+a�����Td���З�ۍ����%���ÛW7�����s��|�����7������w<�gs��wE��+k��Z�o�]���/�������ZP���ܔKt�찀I����>
��c��}��x������{�p�	�|lTzY��A�
��dgց�#̝AW�
:��S���M�%s �q�4�r��=eo8��fs���o ���!�L��2�iz$~O��0p�s�]�/]r
������p�u�s
fڧ�ঽ��^,�����2�s
K�1�ν*��
+��j�g��V�����:8���s�Ls���
�S�+��g��J�e�^'j����7d���\��|�	j	����$o�}q;^���lx�χw@4
��%�����E,; 9��$e8�����Pڏ�ݍ ��@���۽r9��n��ؑ.f*��&ǖ��#l���NtI����4z>1H<��Xs�T#���������!#�p*����FJ��=���B[
+b��Q�K PӃL4��&���0@\A�˲d
�F d���-�׫m���w
�w� 4B�sU-�6�F��>^w�~�I�"#�f��V��ٯq��IO��;�
�<<�y�
���zZ�ݧc�
"Ms���8�4stq,Mx?�9{��;�����_lDs"h�4�)�?�V��~�9��1�����}�x��a��l�^}� z���#��=�g��f�ޘqΈR��b�=����8R�r�Ow�G
+�y:9ܷ�o�C�V�m���Br�3{rB��4|��o�|'������I���J8�I�b�9p
s�M��b
ܦYX�KU������j�:��a]۞,Bј�;$1�ƙ�#?��
��t�S��x��l�&�W����g_�
+������Sy�6{؋��1��➹돚0����?s��;=G��l��Y�J�p�=7U
���f
d_���k!p at oV��銗�h� ��Iw[��p����H1	�̗17_�av���9�z� =�pGL2o�
+A��e�| �O��|�{�'��"Ze.�>��.��~�G^@z��F�_�J�1��F�9h��02���H��0���>�H�q�x�8�ڟ	�`�=����[�h�9�?8j�>F���ϕ����C��� |�"v�
;�?L�40{��v
V
|�{��=�P�ۙ���|a�|�����e��kx�[1�����p
o�����e� -��$���	jn�AXs�����Os�gW�Q�{<�LmT�Դ�@##�wF�jN�We�X�t�
����g*�G�� �M�m?}��jݖ�5Y6��Ω�8�	�A� g�Mo������t�y���z�
+endstream
+endobj
+1028 0 obj <<
+/Type /Page
+/Contents 1029 0 R
+/Resources 1027 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 1024 0 R 1025 0 R 1026 0 R ]
+>> endobj
+1024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.462 470.508 244.342 481.412]
+/A << /S /GoTo /D (index_CC76) >>
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.855 458.219 194.766 470.174]
+/A << /S /GoTo /D (index_BCCetal02) >>
+>> endobj
+1026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1030 0 obj <<
+/D [1028 0 R /XYZ 89 770.89 null]
+>> endobj
+1023 0 obj <<
+/D [1028 0 R /XYZ 90 554.153 null]
+>> endobj
+1031 0 obj <<
+/D [1028 0 R /XYZ 90 554.153 null]
+>> endobj
+1032 0 obj <<
+/D [1028 0 R /XYZ 90 537.754 null]
+>> endobj
+1033 0 obj <<
+/D [1028 0 R /XYZ 434.16 461.706 null]
+>> endobj
+34 0 obj <<
+/D [1028 0 R /XYZ 90 442.816 null]
+>> endobj
+1034 0 obj <<
+/D [1028 0 R /XYZ 253.525 365.109 null]
+>> endobj
+1035 0 obj <<
+/D [1028 0 R /XYZ 90 348.61 null]
+>> endobj
+1036 0 obj <<
+/D [1028 0 R /XYZ 138.148 196.139 null]
+>> endobj
+1037 0 obj <<
+/D [1028 0 R /XYZ 90 178.926 null]
+>> endobj
+1027 0 obj <<
+/Font << /F73 552 0 R /F24 529 0 R /F101 862 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F8 794 0 R /F10 765 0 R /F32 764 0 R /F7 795 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1047 0 obj <<
+/Length 3299      
+/Filter /FlateDecode
+>>
+stream
+xڝZے�6}����r�F0@�ؕJ��}7k�ǩTe�J�$V(R!��g�~��
�ı�������� �값��n^��y�m�W���0^�ۯ2�J�L���V���ZI)��yW�U^ޮC#��b������U���:��܀Pa��7�n��QP)W�&5"IW�����r���WR�,]�w�N�(��,W�7���c�b9�O)���He���n#��V�����O�s]>
�f�ٷa4�*M��X�7�k
� ��:
uTP
����
uQr�,ѩ�E�F��QQ?^r"}"�ըKђ�m^�H஦����9ϒ�m+���So��V���������.,��Qo�ߤ����hȾnh��X7
4)�/�^�
U�U�8m�Ew�͂�U$�J��k��!��ǖ��ZG2��!��g
�:� ����ƶ��QU���BQu�i�!K5�����7)ê�{u9ml3�z=
���]��ļV�[(�Ѱ!�"�!�^:F�H|S%i �4�J{t��
�4If�M��5*
V[���Ǘ�����;��NC�쓈8d4��&uf`��C\�?�E��Z0.��l�K�#����`o��v���ʶ�^yE5�d#�ܪ����K���~<e�O��S�������W��yl�@���0Խ �'B�@��m��o���X���o;_Mډ
���rzP��v�Q�-O�P	�]q�UK�����(�
Z�?��Y��;�۰����#K�;�Nv�n�w��S�v��7�4>�� ������P�}�H��
��m�"���U*x\���R��
� [...]
+
F�!�!
���IE(����R�q�1O+'Q
�r��!�$
���&�-�H�$�}S
�
R��D�"�U *0��&@�&1�Z?W����9�9
+��`�r�d-7��ͺ�!V T����Lo�$TQ
�h��
\=�`����fDv���yC��r��y<١�T�3�mK��š���|��~6oy�����]
���)�*�.鎔7�1(F$����(>��!> ]�NLD�I���
6W4
\TeZD`cv�ͮ]/��M��PQ:&�,�����zpQH�O�)E��ќ�	
+h
:1?aU}���4g���\IƃBc�Y����
��is�͐�������>���?
��t�ͷG*
I�\Q
²
Dg!9�h�ĄP��Meww
�h��K&u��7!�
+x/��w��E�$X<M�`y?�8�)����
kp�+o�'���PyQ���y��}>��hC�OC,�H��af��am�c�x�
��ۢ���C���~����tTs
��/.�kP��^�\�F��
^���3JkPh&�v�����tn(P��G>������_��ө�/�:�tDG/f��H�K��(���R�����椮���� dXd�'�N3�4��- N�zn�qa7r��>[�������K�wʉ�sx�'A*���9&��~��r���T���h\�`��iy�j6ww.�ƹ���3g�j>���+�j���
+�rq�d�Ѓ(t�%���뮢��X_G_���z�
�<o�Kl�y�!�������GY�2�
���XK8�ÑԵ
��n5��v9�B'8)�:��v��
2$i�.�Uۥ�g�a���|V!�q���!�
�c\�rSwi*:�be�&==�
5&?��u~G�P�\<���%��0���c
H~�� (OU5�[Z�^Z�`�#��2S��v��� *�Ў�tdT2�F���Ͼ�&�8�ZHf �2v��
lKef�bd\O�t~���^
��� 4|6u�7�,z):r/m����#���n]�;X�d���6�N�K���O�K�
�������Gԡ�CzcwK^�K̹7�@�)�#��?���0��|�%8��
6I=S��a��4�
W�pu���xE��2
+�|��!Jz�U�=!q�e�o����O_8���p��Bh��lr��f�8�Fr4�,6M�<ҐQZ�C�AѾ)\�
��W�k
���{���P5�@:�j�Ip�z�^�7���H
vx�}��>�3x�4�"ꀽ��g��%'��:��ܝ������'�������4�
=7W2�-�T{)=�S�ʍ�KñbC�����L�`�r=R�ă9�yT�*�M����Nmʝé��E�ˡʞ-��p����
E���ijx~�
��F&���ҟ=���m�^�>zL��`
+<�k^�J�
��mg�LܮF绞��~���_��g=�
����V5��`4r)�<�|�n���{�픱NP`>�Wlx�*��
G����"Zsw�������lx]���{��Ck,I
����ݣ�s���^�y�5�]C=��ؿ��€k�pq�س͘��j�}^�>��/��O���Dlfgg�bx��X�n�>~�4M<P
+c�'�
�'��NR��ȋV�J���ϼG&hj��$
��`	�*�M��8U@�����k�y�����1�ēG��nGW�:3���&�O#
fyx�����Ki�w��A��&�Aߢ\fB�0�Mq�f���t�����|���3q�����i��
�/�N��b��+V ��*�{h.L�a`����.]!>y I�L��|��f=�f�P��
��
_�E
��j��@Ki3�'t�=~�Me`��޴�d��ҙ,��)����l���ܫ�%.w��w�_�"����
-�<��c;�
Wo��+�>���y�
�߉eB����gng���xM��v���
��;�/��E&�W"/@�8	6���7�xe8��^�h"��f�f���w�[�*Y:@z�!���<�z�8
]��JD:m��;E�J:Pwv���5��D �]���D){ed
at4�k���$Q�m�_V�tx�#�‡ZHeq�\�
J����!���/&�~����/z9�'=�@����WHq(�P�WH��#g���>rVM'�So���
+?���2 F�Oyu�<�����&%$��p�&�OB����Zf$�2�0C�8v����g��R�Al��u��#�����s�������sy=�D
�eM�2����^�$t=�e��rųNz�u
+
>��?Y��
+endstream
+endobj
+1046 0 obj <<
+/Type /Page
+/Contents 1047 0 R
+/Resources 1045 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R ]
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.191 295.569 208.619 306.473]
+/A << /S /GoTo /D (index_CH78) >>
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.494 295.569 511.506 306.473]
+/A << /S /GoTo /D (index_BHMZ05a) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.906 254.035 492.786 264.939]
+/A << /S /GoTo /D (index_CC76) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.084 172 458.091 182.904]
+/A << /S /GoTo /D (index_BDHetal05) >>
+>> endobj
+1044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1048 0 obj <<
+/D [1046 0 R /XYZ 89 770.89 null]
+>> endobj
+1049 0 obj <<
+/D [1046 0 R /XYZ 121.551 657.62 null]
+>> endobj
+1050 0 obj <<
+/D [1046 0 R /XYZ 90 643.362 null]
+>> endobj
+1051 0 obj <<
+/D [1046 0 R /XYZ 480.711 366.809 null]
+>> endobj
+1052 0 obj <<
+/D [1046 0 R /XYZ 90 350.494 null]
+>> endobj
+1053 0 obj <<
+/D [1046 0 R /XYZ 90 326.14 null]
+>> endobj
+1054 0 obj <<
+/D [1046 0 R /XYZ 90 272.655 null]
+>> endobj
+1055 0 obj <<
+/D [1046 0 R /XYZ 438.959 233.277 null]
+>> endobj
+38 0 obj <<
+/D [1046 0 R /XYZ 90 216.962 null]
+>> endobj
+1056 0 obj <<
+/D [1046 0 R /XYZ 505.567 133.618 null]
+>> endobj
+1057 0 obj <<
+/D [1046 0 R /XYZ 90 117.303 null]
+>> endobj
+1045 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1064 0 obj <<
+/Length 3948      
+/Filter /FlateDecode
+>>
+stream
+x��\ms�6��_�o'M#���t�zm&=_/m|s3m���i[��"�N��o�@-E%��:7� �������g����N^������w��Xb5ד�����BZ�4�u=�e���׋�'B¬������o�x�;�������脅�+R�����_��n?�DX3y��&�
�\Nޜ�xFSQ4��a,�y^��rϿ<�4aT�r�	#�LFb�m��\H:��fR�Ң
�c��մ^ SH"y7�O�,E���0 {fI�a� 2�KF��͘�nv�97rZ�Ww�JL���j�Qi&+#��*Y,щZ}PB��i�щ&�ƍPD	5D��Y��##'�lԜˢ��E�&'�7�@�L���1
�z���\_e�W��ՈQ%�Dv*�|1�3�	�-�
��U��,�.���
d�|������;�/6��"��f��,.`��<{RMD��
l
+翦
�C0tS,�^zK9C��o'3�3"�
?�A�2DI3I]�6�
T���u��Mp}p.��� .�Ra�Sk�ߘ$:>�r��J���^mַ��j}U��w3QL�e����Xc6g����������I�-k�I3�zK)_W�a�����.j D��	�ZGO��&�J��K�����A$<�


0|@��0��~�DR���L3�
c"�L�! ߒ�֮ ��f�����L~��c�/\i
�"N��J�g�?l�N~؟�U�_�ؖ�1�����\cL�=���{-;��� (�X�U��
�t��Ք�"��͡[0�S�bv� �p-�M<�Ȕ��=@K
<&�/��xW��"2
+4P0£�P4�o��m]&@�\ᙣ6�}a�t��0j���g].����M�s�b �Y���������v�
�]�
�߁����
L:	LN�10i\�K�E]���8� ����RE�"����*L�{̠�� �:
&���GTu��a ,��/���#�����~��C��S
(�@(�G�
��DY6�d���D(�3R���!�l)��1�.Z�k�}(N��~w(�;G:
119��<���I�z���_���T"maSZ���QgvLo�
݀~A,��eYWA��ž��K7�c2���E�s�
+)c�w�5�/�5���ѝ��uu��Pk�Z��x"D#;��Hƒ;�R�$cy��p
�#l����O���0��X�
e� [��F�U�"����c���q5
����>Bd�.K��C8�YC�YB�}3a9( 
�'NHŧ��~R��iɚۂ9Y�ރ� �4���}O���H��&�y@����f��YN6�q�d=�Ee�{��X�D�pslSҁ��Hv(NV��C�2,�fbE
�OS�,�t����~�p�]]!�h��Ų�p�|Xv*'��JS����J�д��w�u�y�% ����<sf�̌���U`���+�^'
 �s���n���f�r���ôMշ'5�yH�t[��4 V�����@[i���vkgils���UQ�dZ��$,1.\_t��sF���~s
�����v�p�\N7��c��~U-��0���DCHA	�1�}�@�`-aݝM�TZb
+2`51+@��e���F�Y�<)�p�o�žjj��iIx���Տ��Za�Dӌ�T�L�SњaC��cC�	��s�>bۏ�v��^�����)
b���r(�4� �ȉ�N��燋Y���ё~=�#_�ϝ
`k���yAH����� �5�pYo�+�2j�a�@���
��.���q�]W��nq��j��!/U�>V�gÒ
+^����$�\����=����f��	��U�14q�g=�@B��mTv/���ʣcP�fU�[IAL���rp+�~x/%���r�l���[�\�v(��[�
+�Ⱥ�ގc��U��-E�ƈ��8�m�WNb&%1��_
�-Pb��� Q	�
+���z�/` �d�pl���"�IKk�&!�Q��,;��I�A���f�x�ѽl $ĺШB5�ۋ�n.�`�z�_�1&f��93�&9gA+�LJr�]VϚ����q{x���e�w�#�u�v��R�Ao/��'�X>a�6���.-�B�Q�L�!��),��U!y��UU���`��kY�
+B���?�W�CO�5��-�r��vaԧ��Sc�d��l��b�>�@��D��_�
�;�w�@,u _
���x�/��
�z��\U��r�K��Xg����P~��|mU|
Γ]L�6��WU�xp5_O�?M���v��������	!�[���0�����v|�حØ�k�W�����~f�㿫�C� M�R�%�OSj4\�pє�e�����*
+ L��j�Tt�Kh뙖��U4��]�|��F)0��V�Ď&�9ܐm:��B�̏�
xp)2��eJ���B��
+-HL�g���i~�k�����u�y��m+���Q�6I����ʊ���Ek8�T
܅��B��������r�I�����v6g΋�W��\�|�i5mvK�+w�V7���)�rq{�}]-�xk�9V�|��S��Nj��;=�K0�[y�N�
xC�zN��|T���D�=�lw�!���e�����C��1��0�	�2%�m�΀Ũ^~�j�K�@�ͮ�/��Dk_�V�3��A��j�O�	�J�#U]SY�A1%��Wܯ�z��!�I�W�w8������j�� �ԯ�����r�n����]�m���DŽ�
���	3�rO
k!L�����$g
+IH8K��P�%�M���y~�>t�(��7qx�X����ա$��g$4;L )%
ׂD�w
��1��<���4 �>W;�6�J��!`�mO-�FR��*��ɢ�!���m����ij�xL�ےR�Զ�7�z��8DW��5b3G��r&�PZ
K�?��1

h�u��C'�1N_���-A�ț2�PO�WH�
+����z�
��Q�\U�D/\�Qs(�ۡ	�]���@s�����Ķ������f�9mg��[�X
�C[��:Mpl�+
 �.b� x&���Ȉv�A��4|]E����C��+	�zvm�L
�Ew�+��tN��J�м�.
�m�;k�D$
	�D
4x�:�^�tN
+���0��r�(+֐	
+��H
�
��N,��x��*�%��\��>��R?�z]a�R���G(*;�o�u���
p���
�!
��8�m�
�$�(��B�?M;|Z�k���V��*�:�����q<�:m+�Q7n}�[�n"R7�P��3*E��u{=s'��rU�
�E��!偋�E��4F�z�.�t*ms?�|�|(�`�����:ƕm4�& 1I��*��\�n��!�
�u�l�XT��h=�z�[�O 
�]w&rX�uFÛ9�6��
N3"�����詗Z��FVB�+X�q�	�װU����.>��
�K�M���]���B)p�x�>*�'t}ǻ>AZ�Y��γ��=
(V|�q[�Α����Nṟ,��w���A�\_,9�
*1�Yp�b�?Q��xO��z�i/���5m�6��/����aB��h��[�� ����p���'Å��� $��Y��=�Ѹ��8Y�`�{�.˃����_���(�	:��,�

w��Ԍ
+?� g���� 瞠{��`���m�0�~��l��P��x{I�
+`�3�`�r�+��
+P��o��`�R\ ���`�8

+ʎ��Pi�Ba����EŜ��V\��	
ր��m`�p1
����oQ
�I\ΐ�}u"
jɝ$���
���z`�
+��o��_
��K2����$p��O���}-��3�wg�$��
�%����7͍�Vb�
L������x`��
�̀��v���`����p���e�Դ!��(��mY�eRmwqWB`��\�a�o��QU���N쿻�
B��(I������/�?������-��0݈?���[{����6ق��������
��
+endstream
+endobj
+1063 0 obj <<
+/Type /Page
+/Contents 1064 0 R
+/Resources 1062 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 982 0 R
+/Annots [ 1061 0 R ]
+>> endobj
+1061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1065 0 obj <<
+/D [1063 0 R /XYZ 89 770.89 null]
+>> endobj
+1066 0 obj <<
+/D [1063 0 R /XYZ 393.496 576.359 null]
+>> endobj
+1067 0 obj <<
+/D [1063 0 R /XYZ 90 552.631 null]
+>> endobj
+1068 0 obj <<
+/D [1063 0 R /XYZ 322.875 352.393 null]
+>> endobj
+1069 0 obj <<
+/D [1063 0 R /XYZ 90 330.021 null]
+>> endobj
+1070 0 obj <<
+/D [1063 0 R /XYZ 222.161 245.362 null]
+>> endobj
+1071 0 obj <<
+/D [1063 0 R /XYZ 90 224.384 null]
+>> endobj
+1072 0 obj <<
+/D [1063 0 R /XYZ 90 66.713 null]
+>> endobj
+1062 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F32 764 0 R /F24 529 0 R /F11 613 0 R /F101 862 0 R /F10 765 0 R /F98 863 0 R /F93 763 0 R /F1 833 0 R /F8 794 0 R /F7 795 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1079 0 obj <<
+/Length 3527      
+/Filter /FlateDecode
+>>
+stream
+xڵ[�s�6�_��>��V>	�7�N[_���N���
�>Pm��HU�.������$@A�Ӥ��A`w��]�tv?���o�\<�^�YA���7w��δ,���i9{�1R\��4{U��)W�s�hv�����oo~�I&�spa{/����
�t�pRE��ݮ/��FgK��iF�(����I.�w5{}qsA=}�pe���S
s��2F�%ʓ��J�q��V�T�r�n��U��V]��
c��~�g���2t<�s\�?��fvv�g�ec:���}7�2�=�m �<�Gz��v�>�^�`-&sh�^��8��tka�M`�fsFd!q��("Z�x3
�m۵����R��=��~�U;|��a_��c��ͮ��>�lSn�u���]ϬghU7U��.���}�u�2g9'�1Ѐ�R
+骭�tTI��:�{�Ů��}��{�岾dYs��%��b�m�^�
�{�؂�t�M�q��/�k=U���A1K��Hxsrz�.����F{�Q\~'K�7w�\�>U�/
+
�U��*�ϸud�H��{�~����B�"
^�^�n�\g7�7�^&M�l�Qn=���HϨ׳n�>a�)�o��� 9�OZ ��y0ʊ܍�27W��w�Q��

h"���z
h��ۡ�$���W��q�����%8��j�+U41H�$H�a
��0��x����q��R���"�_"��p2M���n"�_)��Z��e�)wD�_��պ��=Tй`� I����		%�݃ot��E����k�l\실)X{�>lj�U�����n�]2�L�y�w���/����n��  ���&aJL)�M1j�\j��sN���Ս`L�I-�g���	c�m�m�*����
�}�Db��F��x�(X\��� ������\�"{����(~�Є���k��[/���j�85�����|{�C�+WTMWr�F@�F#���|�߬���C<���4���V��ᬂ^�3����1nӀЮ���v^B
�B�S!VU�G�����[��Q�S���~�\���x?��nW [...]
{%NH�D�,�P�E� K0'���`19�m�:!+ 7�?�
�
+�h��#v�@>��
�.{��
Dv	f��D�)Y�;0!
J�#F�}}.�X�#iQ�
��PRDN~H/����F�6��>������|p:�#���1
�u��<����1
+�����`a�|�X���i�c�:{�S8��%z�;��۬�]�������Ӹu)
����x2�����?�3*���#�N��mB�J��"Ca?OY%jT���HH.�D"�:��	�gp�~�I�������:7�y��$f(`�A��}��� �
+F�j�=x
+�Q
�*ƢQ�F ~�u��˹ɪ�|׋�(}� /�l5�k\�Z�ش�� �۶������BE &� д1�|�'A�s��>����5,r���M�E�������m�+ (�������1\�T��b�t0�q
��))!����
�{w
Ɒ�"���<.��1��H
�*����%u�ȃ��K���r���@���NI8?.aH�
Sl�/�Gw���ζl��x�ծ7�><҇�
������W���=���C���~�uۥ�6��l
MR�iҮ0[КP3����
+�?.�y��]�[�r�r(#W�
�O3}q��H�������(Q���N�葒�ÙcY �8jԧN5��
���qA|����P�I޻ �
i�"��CLN��qe"�A�L�
+L
.��F�TIT(A�_��ezJ
YO��p�'(C�5�A	���G�.��,��,��_�q�N���w�
���n��xbƎy�G� 
�L��[����S�y�fM��RF�6�#j �
+�djn�.HA��%���K��P'�H��ŗ�#D��u
 &+"�}(g�%��ء�A�VE�Gh��Z��lM��!Ih]Q��C���'�w����֣�v;�&�j��\��m���
@���4��'W"T��d)W�@��u�֝ Z3��9�#
 ��4�1�
��N�!�0��>��j��K�����U��n�?샎;[��ϯ�#��f!���6 �\J���N�
���M�z|���҂Y.��l��H��I�K�L��c*����|��
�K���)��˙"�w� �v�������<,�
ɀ;�}�窧�����˓�R`Lܜ��4@���~�.2+}�R-O�qS>\��Ӷ�h�[����ʦæ�K¯�X&�\
+V
�w�
,#톎MY�-f��{G�`&�[�jZ����w	����PT;�dw���W
��eX,�z����#S�y-R�D�b)B�	
�M%ڐ�
o
��I!�p���ܶ�U0f_����<���u��c[u�����d���t���~�����@F���������vxT�
� ����}m_�
�m�M
+Ͳw���k��i�GX��S��8־ǫ
�i��o���a��
�B[.֛�n�������j�wE<���QOgxad���H=���
+�x�t��e> @#�?
.q���~����X���_��[%��C�,���m�U��3i۱ެ�u<a�غ�N))n����M���^��e���J�MK�(�Ү��xAg�
6nI��f�x:
+���A��My����\��=�rዹU9ˢ^նX��(!��	�x"�!���l��r8���;��������Q��^�G�0p��S\��[r�|��W>�t�a|
��X?i��|6V`x�ğAL����<��@�m�k۴���C�E�ϸ_����x���UR�
�� �H	Q{y3�<0y��F�"�J�� �9��	��
�Ic=x
�o�I��vx3���񲅝�
+ls�;�����Ԭ�Ŷ�q�>�~Բ��w˔{��z�_2��n�7w�
?X��fYm*�����`����Qj�
$�
|�xGc��&�:.S&,\
o٫I�(�&�^�5O0m
+`)d3фkS�rK�o\����C���@��1��R�B
+��)�G

�9 
+���D����>lHǀ�#��S��=	ۺ}{��h��⻤��2�;�ޛ�ƺ��^�����׋����j��q�w�TF�dW
zփ�p��.��u�W
H�?�jbFW\w���b<u{��������t���X�+�
��\
�jQ2�ó?K�MU�//�
�
���g:���EY����I٨���P^�D
�
+��QCȤ�K	�e�#E�����w�x <o�u?"(
#G��������D�A��S�p����
Z�������D��1��]z��6��U����}��l���s+V��u�e��K� ���Q�~7�[��[�R��g��(v��WϞ-���+� ���*� T�8}�P��7��c8x@�?A��(#9D:/	� ~ʴ+y����^���g?����L�����q}
+endstream
+endobj
+1078 0 obj <<
+/Type /Page
+/Contents 1079 0 R
+/Resources 1077 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1073 0 R 1074 0 R 1076 0 R ]
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.832 582.067 133.366 594.022]
+/A << /S /GoTo /D (index_Sch99) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.954 582.067 292.961 594.022]
+/A << /S /GoTo /D (index_BDHetal05) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1080 0 obj <<
+/D [1078 0 R /XYZ 89 770.89 null]
+>> endobj
+1081 0 obj <<
+/D [1078 0 R /XYZ 90 721.073 null]
+>> endobj
+1083 0 obj <<
+/D [1078 0 R /XYZ 393.867 544.019 null]
+>> endobj
+1084 0 obj <<
+/D [1078 0 R /XYZ 90 523.034 null]
+>> endobj
+1085 0 obj <<
+/D [1078 0 R /XYZ 116.849 405.797 null]
+>> endobj
+1086 0 obj <<
+/D [1078 0 R /XYZ 90 385.506 null]
+>> endobj
+1087 0 obj <<
+/D [1078 0 R /XYZ 353.539 267.576 null]
+>> endobj
+1088 0 obj <<
+/D [1078 0 R /XYZ 90 247.284 null]
+>> endobj
+1089 0 obj <<
+/D [1078 0 R /XYZ 127.27 182.844 null]
+>> endobj
+1090 0 obj <<
+/D [1078 0 R /XYZ 90 162.552 null]
+>> endobj
+1091 0 obj <<
+/D [1078 0 R /XYZ 195.948 98.112 null]
+>> endobj
+42 0 obj <<
+/D [1078 0 R /XYZ 90 77.486 null]
+>> endobj
+1077 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F32 764 0 R /F10 765 0 R /F11 613 0 R /F24 529 0 R /F8 794 0 R /F93 763 0 R /F102 1082 0 R /F101 862 0 R /F13 834 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1099 0 obj <<
+/Length 4908      
+/Filter /FlateDecode
+>>
+stream
+x��<]s�6�������F
��d��ۙ�^.���>%�U�D˼H�#��x�u �!PҌ�[)W�$���FCeA�l=+����[��������BK*gog��U\B��j�Ӝ���ˌIU-�#��������?~�wW�x���W���EQ��r{�����
+���2�f���v�)��f���We�� ��B�"x$�N
w����e9���ׇv���
J�|��돦��اw�v�@�U�~+�`��lAy���|
�0}�t0��<6?�5�yLj�Mw2ߏ���ͤ�޻/�d��[�T�ë]�nw����\����ٛ�n[�u��=G W����
�fQi��v�/��ū��pvlZ֝m�q
��

���6}h�8�C)}�v������'�9��r���?�
/矮��7��7���n�t׬�uD) ��^p*�l6�k*揶�cc�����`[VM�ܷ7Ͱ$Dh!��@,�{wW_�0�r�ԇ�}�z"]�zӸ�����h]_�*������ ��\�}�l
�׻a�y��Y*%��!�X��B�e� NJ����,i�Xi�v[_W���B�'6�}����i�ח
�70��r/�,3t��������R�}�L�v��v�M�����>4��on���a�ۇni�0LA@�)q(�Λ�f_�
H�
��]5n��耗��5����bf��J:n��{�h��7F=�Y�t�nq2��ξ��RA���m}�1z���'��`F��Is]ʙ,t�v��
`+8\L�_l���U!A��,G  ��kj��",���~��QTZ�����>�ܯmWʃ�
 �z�{7@
����C�:�|Y�R

��
�
NU��
i���
/IT����H b&F n2����Ȇ�����j�~�v��i��.*X^�V[�R���끫��a�I ���(?�Lf3�]
��E
+"�[Y
Ôef.جf
�o�H�p$�J�Uf��I�U˪�c�-��q
ؿ
+�:�c�.a1�pXB
r<
�
���8olF�厜�c�08�"�^�Y�.�$�¾�d�"���|�d�|)�Z4��Z�H:z�
�
��'�p�k��1�H	l̵��cud��/>�U :��V�&l��(���W`Xd�����j�|e?eE�V�h�.#z��T��
2
�
+�VC�

A���x���&3�6<�\�9:Y
�K�(��u�q�2®�j��egc^����h9�T�BJ�au4G7��J�/a~�����#�)-��l���-@B�e^��p�ӑ

+te/�9�T�/nƢ*� R{<(u2J��9��RR訕�5w��P\��6+njD�ω�1%ۜ~��#��*?2�2��/�7��S�Xo�B6�VFqXɢE)cőe�._P����jL:����`�e>�9OZ�X{Tz��,����(z����_��KТ"��~��r��8`d�O6Bg$���$kw��9^k{��y�t�:���?��
�7�
BAZ�4�`Gq�s�6
���nP߳ۤ�&��U�sۤ�gB�`���`�P\/���
��v����+H@
��
��\�posG��."�8FBP!��KIX`&Ͱ7n�џjV��;̋;@���f�Sa�f�ح�r~�A�#Xe��!'��a��]/��;
��<%�����i
 �7��Fo`0�s����2g0�u��FM
+܍�W�T�Q��-
C�:�6�^�f{�ٿ
d6�<r��X>�F�.$!9����?��S�Y��-fgI��p��u}

9����H�nj"�|�D�U'�DebPxT'�<�A��l�i���-�
+|D=˺;Z�/�?�G.��?[ �ia,��MH���	s� �C�Ƒ�I�bnXJ�f�W���h�~ɥv�k���,q	��T>M��yG���$���\�FЈ�
�c�����X_B
�Xf&�S�d�
�›o7
9��!]
	)_��|A���$v}l7�h�7���P���a����f�	���B���w�8 at U$G��VQÛj��(�5���7�΃��X��-f
ܾ	�L�o
\
�94�S�����|�U��v�r%G�PF��s6
A��
�Y�-.���r�MʼBV�z1�-.����� �	��]�Y�k��5#V�#g��)���I��T~���'�Oq�x���"��� �{��S�E
��}��������\%�.q�R�c�3K�50�������)�b9�NYP�1���)b`�6���)�E�A�a|�j��X���l9	n�[\��s���m���pY���Nx`�T��
+.�GY.�cI�Y�~��0�L�A���oy����V�P?e�U^��8��2�J�;�r��tA���
1���SݚN
�d�lF�Si� -�n����7
���
J@[4ūllqw�Oz�T��K����@���$	�Z<
�cn�#
��4�z2�z�^�؋i��
�
o�XO݀���	�����8�?'�#4uc�V��?��s"�nbr��y��W�r���gk�f�h�A
�&���͡���q·Up[���mi�9t�R�
+�q&�}���A"i|���sd���������B�ޙ3���F
��ڍ�ŵ�olOa�ehf���`W��Πs�G�֕$���U�_I�NU�}�i��ܬ�fL(ԟ�^1�o^ #H�}��8M3�ق
�d��A�
�iz>��9
�F�0�;�6S�'3��`�q"�J}��d�
<�PK�
	�4��ʪ
+�� ��+/{C
+��BV*f�n,��|�v���AK}o�h:��k�W�������-��kZ
M5�
�np�}����o�ۇ�J��*�����\n���r����J��
�
ki�u�sUU\@�s�1����&ۗF�'$�<7?65c6ĢPL�B
� 0�T���b��Vd��Y)C3֢*��
��k׭-D���x�A�IN'k*?���_LQ,��]��� %�f��]�G'�pZ_'Z�I�
�QI�2SN�������S�J1\S)����������C� �p{N��(ij�����8�
ӏ��f,�0
���MrW�##�bQQ�l�\I+�*Y�atz�u��=|,Wt;f�0g,�g�F��m��<�;���;w��`,eI��
689x��"����h�P��!�I�d���dT+-?� �}���2�����K��3gm�w%��e�؜�uk��+�o燛�ُ5�|�E�$,k^
��j�kF�^�MwȆv�ԥ���ɐ%_\
�&�����	�SS3
��ܩ�I�e������:|��~�?���g>L&�U�bS�(;,ɏ�k����}h�Ϩ�β��鿳�M���{W��x�������{�:�ր2�����A�>v;[��ߌ��$I*�ˏ�0`�B��!§�BNJ+���y��}�
� ��K�;�軚|9��r��f=�e<("����]�ޜJ���h�&��������D�0<��`.{N@�X��\���K��̲%J�b��ڗ�ǹG\zR����ϙ�'�O�Q�S�8�~S���M" yns�gJ�0>��$��t]%�F8�u.G����[L�$�q���.X���!$[em���\�sTi�e���t�VY".���E֢�{�\F�RgA��:N��h��+�BH>��k�ߛ&/P�/N�{��:�I~Of���§��NJ�A,
�qg �w�=\}i'��,8f����Y�c{
��P��NN��Ov=
�@hF�4���
+���z�
�*���aN�
C�@(M�4����S9ra�qz"!]�O�]ʹ�� lI�89VA������iH������%J"p�x�<��SV�Jo/^{R�##K��=�Sb�I0��MQ�+�tA�욆:TJ�X���T���N/����.Ν����ʥm*�H�xs0��qϓO��E[���)�V�>k�u�!�3о�?�G�[����
�)�ɭ���8��'W�)��iTR�΢�L:���	������
Wk��ˌ��Bis$��S�_�{`\�'��}g4�4��T2z��
+�Tĥq�g>�L�M�HzŠ���U����QO���d{~�3�� &�3f�x��/ЄŎ�*�(0�z�a����ҽ����ByY��FM<
� ��S��8f���g�PfR
&���[w��~f]b�Yxm~}�0��t-�0�ˊ�#�76xX�匯������w��!er��q�d�
m0]e�
vQɋ0�v9�j���6)��}�U�w53��|���Fi��fU��<����H���pgG��YF�
׹���.��/q��=�r�(���Ν��,�<�o�O���:�M
��hO�t�l!h�I�1�D{�ni��u5�9���ą��C���D�e�C��):�݄_�=���E��h����3<`�����#ϰЉ �����H�#s��B*��I}��7t�
���9��}]�)&@J~�FV4B�H>{R�H�X�psOKs�vmq�����6��we2�OT�SS�X.�U�� ��|�%If���>��ʥ9m�:�;�c%��	̟MSg4+���
�| [...]
+�p_Gz����>��s{o
�Mm�^�Ψ��g��𼵶?�t�H�0{�F3�M��<O��7�$�e�{�o��ʜ���Û6���y9|�^�e����`~������b�)X��P�s}|����6���o��y-������a��+�3�g֏[j��#��>)�ƭ&
�/#���?V'Bx�
1���p�����úo�u��m����Xk�/}���c^�ݐ_l�q��x����M
+endstream
+endobj
+1098 0 obj <<
+/Type /Page
+/Contents 1099 0 R
+/Resources 1097 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1075 0 R 1094 0 R 1095 0 R 1096 0 R ]
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.78 671.653 389.769 682.557]
+/A << /S /GoTo /D (index_Operations_on_Convex_Polyhedra) >>
+>> endobj
+1094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.559 603.537 333.579 614.441]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+1095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.336 266.646 346.916 277.55]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1100 0 obj <<
+/D [1098 0 R /XYZ 89 770.89 null]
+>> endobj
+1101 0 obj <<
+/D [1098 0 R /XYZ 439.645 662.851 null]
+>> endobj
+1102 0 obj <<
+/D [1098 0 R /XYZ 90 646.507 null]
+>> endobj
+1103 0 obj <<
+/D [1098 0 R /XYZ 225.341 325.959 null]
+>> endobj
+1104 0 obj <<
+/D [1098 0 R /XYZ 90 311.673 null]
+>> endobj
+1105 0 obj <<
+/D [1098 0 R /XYZ 150.808 157.557 null]
+>> endobj
+1106 0 obj <<
+/D [1098 0 R /XYZ 90 141.213 null]
+>> endobj
+1097 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F101 862 0 R /F1 833 0 R /F13 834 0 R /F32 764 0 R /F7 795 0 R /F93 763 0 R /F9 879 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1111 0 obj <<
+/Length 3458      
+/Filter /FlateDecode
+>>
+stream
+x��[K���ϯ�%Me�Ń �6�ĉ��8�����D��֐ZR����t 	��}�+�9�C@`��u��
�.�t���o�n����&:����n��"K4�)��]��d�����.�9M~,몽]qI�ue�ߛ������)��!�L,�����W7�xu�����7H������ǟ�b
��ZP"�Z�3�
	p�/~����¦t$,	����}�2$�]S�9����#>��_7�á���m�-�����^�v
�ܗ�&o�Ӧ8�;o�Z�G��”�	B
�r��I��tg�sQ$��y�����oo�\��Sa���%Ɍ�����ti�B��
ۛ'�$��A�{'+���#�%��&%��C|
"!	�'�."��u��tR)�i����p���uD���)�K�X>��N���)b��(���a�0%
+����ț��22{J�F��xf{�<�'Y��+��D���#��z���?��S���
���R�lo�	VKP�Xq"�}���Ĵ��J����H@�c��D_���x�e�¦���29�;��ܥb�P� [N�U�2o���f����CM�����ym R�C��eD',�E
]�z��n��,�+�
��&.�|�n��-zOp�Bs������(_[�����)�U���>)[��|���g�þD/o�u����ٖ���^�\l����D)l�>"��}��-�� �z�x_l��Y�F�۩7���EH���}~(�g�O—����o۬�O(�_�D��Q*3�iso�6ykzA��G�,T
6�;�2�д�ݘk�k��G(�&H����gdve�
�jS<3A���j�����_�4o��Ux̧aXӽ�~
Rd0jz
+��,J8�::c 8�L��4�
� =�6�%�\��:�������,wv..D�
���ߤP�SB7Hn/����F1=�%�@
ѻ�MD^�X��r`0��c���1R�8`J�%sk��́����1>�� �7�|_
�
T��={xM%-~=4ַ���T��+6�h�o�`��E���VIJ�d.��h(�yL0Jq�&20t��'$4
+�$�#��hXl���6|e
+$A%sTC
�c�H�����X����i(C��I�8���X�c����r��Z~��Gr�C��h:?a�V>����em��3I��'��a�bQز5���"�
�jߖ?��+�g^łW�Ą��N;>J�����e�E��K.�(X4`�^�g�Lo�grLC@�1{ą-��F�����X�wEQ���$�J�Ki,����>q��p��CVhd%IQڶ��c{���Ň�p��`��? .���$�������k����IL(W��Ic
�:����Q�C��N�%�����3d���~���{]0���@i�n1�
��4�Ԏ�|����C�rK�� 0*^�沈��ɉ�P��"�DZ�4�V>�p���
��ؚaf�V'�*I
����k�w,��W�{��K�����R�d�ޕ�(�GL��Ű	��WZ{�'��JUk��JVk;XN
�7��旲���Y_ 퍓�>���[�G�~޴��b\�i�$�kQ�M]�5H����~�
��)r
�r��j��������������
�n�QJ�w�;3�v����Pw.t�����m�����KM��#^�V�τ*��P>�"6:%t��a�cFo��Ѯ5�;hؾ�}l�Ńmk�CS�Eu�ՋX$
�˹	�hٳŕ�I�/+�ə�n�"g�	{��7 ����<Sk���\1W�7�4�°Ԍ��=}m�w5�FkC2�jC����DRw
 	J�lP��k�l�(]
�5�hz���<5���nL&�t�Ծ�C�qN��&�w%�J�e��G`:ʟ�
��;k:eA�`E8章��e���
c���L�u��- �pq&�`aDh�A�`Gm�޻�:��U:Ϩ�``#|�p!��z�
+��
̣��8�&�
\t�8˜;����S�w-	B�#Ho2p�C��ngp#f�|5�Y��h"vر�m��\ch�,'�{�]S?D��O�f��8d�}�r'E��
B`���L$�.b)<� .�
+��NCS��
$���_�� ư�ak�6!���v�Nj��-�
�J:�1�m��M-�z�rW"���eM��4),=
��C3!>7#�*���0T�0d���rs4%=���Ek
+�Ef���+��X8�6�|�1�:�1�X
m0�QM3��<��n�tt��(���ߑ�췙�k*�6�2"��)ڍ��p��F��
�d7�rG�5v�l����f�<�kn/��p�7�$���\G���<|��~_4���(�Df�=�eh��I���F�
e�ٟ�]U'�
ү�w���;����c
�4�|b�2��G�`lT��]��}��r�8r$ �<���Tm �w�48�@,u
�S����D̞�D�B���{�f�g��G�Y�HG�\�za6:w!��
#ѽ�]���Y��q¼��+�����fVW�p���0�xb��,���}��mW/�j��kE����In'	���;�}��l"�eۥ�V�.y׆i�Hd�
���`S*�~_9}���*�[XFru@�H��\|{�'�zl���!=d�2pr,\�h�F܈�!+�,/;�S\�1��&#��}d
&��
����%6̻k�V/m}/��]׺|�-���^�z���
+~�lw�Q��|�=6i����bP4�a�@^*��r&��>����!1z�b���K��g>
�T.H���hfX/����8_P-�.��($����\'�;$��I�P�H��лP�W|��Ռ���K�F�H�"�gv�:.�|�
+l�
~n]9��)�u�`B9:�$S�f��T*��9���$�I�S桑� <�&�B+���yM�	����2-�	L�Y�OG�<�*��:��KP��+V�w`"�L5��tN�
K#�poݞ
��Ǣd�<��Z�2F�~k3�Q��cHxz���/� �Y���3gfq��4�9�MC�g�M��,3N���P���_8pU]�KAFIG��my �LM�
u,>@��}�d�
�3��i:o�J]�6,}n��
TX�j��Հ�f_�'�mC{�.%�쑍kO� ��
�����4��n`�uյ�X	%4��A���L��6��FJ�������6]�
��l�0��,�p`��y�YT�y�y�wޅNAfJq	ȡ��GP:��9Q���ܾ5z����2s^�4J=�L�<�,h ̈�����wA�2����?�f� �
9_:t�a��[�a��D@����`[����$%"qm
}��\��7_W~?�}7�����n.�j|7G��~����O[4�S6nz�ΫS����s����E�����p�[�Ytw���
�'
+�	������x������V�ll�����	
�Ю[�KU�
+
>���t_"vz��*�4�|sC��d&��wo����� �A��'��W�Q
+endstream
+endobj
+1110 0 obj <<
+/Type /Page
+/Contents 1111 0 R
+/Resources 1109 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1108 0 R ]
+>> endobj
+1108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1112 0 obj <<
+/D [1110 0 R /XYZ 89 770.89 null]
+>> endobj
+1113 0 obj <<
+/D [1110 0 R /XYZ 453.524 621.116 null]
+>> endobj
+1114 0 obj <<
+/D [1110 0 R /XYZ 90 600.797 null]
+>> endobj
+1115 0 obj <<
+/D [1110 0 R /XYZ 90 513.931 null]
+>> endobj
+1116 0 obj <<
+/D [1110 0 R /XYZ 90 496.102 null]
+>> endobj
+1117 0 obj <<
+/D [1110 0 R /XYZ 491.236 77.486 null]
+>> endobj
+1109 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F24 529 0 R /F101 862 0 R /F1 833 0 R /F32 764 0 R /F10 765 0 R /F90 758 0 R /F7 795 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1124 0 obj <<
+/Length 3917      
+/Filter /FlateDecode
+>>
+stream
+x���r���_����#
�&�Cs�IӜ4q�3M2
Z�e�H�BRq���..$HA�퓙f:z ���b�X��zFf_\}|s��s�gy�+�f7w��̴�3��m5�~����7_θ2�|d{?y���g_�|�cW��\�tEa�̨�^f�̖۫�$�t9#����N�����̾���񨐌Il��#k��4��a -���%�����}�[_/3���)���ȅ�_����l�D�E�V��/�\�y
}
���'Rfb����wѶ�z�掖WyF�s�M}M���jU�
��G|�y�n�ۦh
�����
x�M}����uS� );�q;Cz7kO�o���}o'<j���c��[�pk��۶�GC=N����ɔ�РY.��\�/��3|���宭�]����=
����a�kZ`�XW�ٟ�N��u�և���T����u��/���b���׌�5<İ|�/��
��S���
p�W���Rγ� ���=id�x�u��(I�?I���j[�Z�^�t�������n�j݄��l�]h��j�^Sd
&�����/Ųs�FX�	��wuW6��Ry�m��k4%R���wM�M�у$�Z�k��v����
HB��9w�.J�TK��*�eS�a{m��Йb
�w���nK'LLD��U�8
��,�͜���Ei�a��/�
Jf*�578Cg�� .H�p�Rҫ3��Y4�
�0(5��������XSЌ�
�/
жߑ_5�"�ki}��8�F�ѽ�AW$v�ģRe��aݹ)&�!����vpB����r����
:<>t���Z��� y#�x��iFK��\'�:� 2�AfW���X�d�ZtN�q<�e��A<T���5-���b�Ħ���!�
Ӕ*�	`�`M���h��K��|�HS���ɟQ�͡L�&&J���=>��G)�B�k&
u�1�Mb	p&xOJ2�`7F�dR�����Q�&,=�����L������&�Q�S�V9h'=��H�8�ᙢrt�#��e�E4k��L:�	[E
iyY�a�Ox�1��N�i5?��k���O�0#3j�9!�$�
lB��M���	�.0��|`�g����<�Z\:F�8F��a��� IGS��1}N��!�N�(!*fQy�E	W���	�<Ob�A����P�%���?CW9�
��p\
�!���0�vIF���� [...]
�ɽV)w��
.�1�<sAd��# '�
֗�D�sԅq�(JǕ�X�vŮ�w
+O= �
w�@�L
�mRB����Y�yH�G�[�#����o�HM���a�%�c�L����UBI��葱#	�%P_��@�H��B>X���h��<�pճ�C�لXd_q
z��Pg�
+a�8T
�
�`<#�3���il.	��M�����m+�d��j
D퀏
!f_m�\ �;{�rCl�n��꿱�#�v���0$O�wY���ryѯz(�w6
+Jx��'q�T��5�}ю��w�M��s�xd	�^
��}ԩ�:V�V�cDN	�$���Y2����c"3	�_���
̘���E��(���&��p��MЌY���i�
��ͣ�w���L0�M
Ē|����8o�5;w�8� �
+=Kz���O���2�B�Y�74���̸�F�ӡ𪰫S��cDzHkp��X�����JYt��a��X3+A�dž��!U�N����Hgcl.��J[�Di�9�Ј���6�6���Sh��by�Fω �P~�@�;H	?C@\ ~
/H�c7��j�vu�VpØy�AyZ�U��\�J
6r+-m=�
x�b��
+�3DO%�
�S6��9%L��R�~¯�������$?��P���� ˜�	fS�%D���{�}�J�q
��D�0��.	�4ݠN{���E4
����+*���7�|�g�ZY�ۖ���/�b[ve����X},I*]j�ܩ��K�@0�с	���MI.�XR�$w��M,����b�Qr)��~��d�<"髐�`S���az3d�����y�\�⽏�eD
+g�ׅz�C�r7����~l�r�ڽΞd�x�Ow=��D$<×G$�X��Z��ά���Y�
+S��-p at A��`�!�(6MY�
��-D/����
�K�ޭ�C�[&�j�A���i
{ �>�@�T�=ˇ
��&��x9�y2A�s��
���Idν@���_B�a?L�w�#W�Q8o�4�9b�K�����K2w�A���=�V
y�Fz�ب�;���wl��M}�I�b��I��ćuR{�
�P]���S�򝏮=��)����\s�s�\�t�\�^����9��ܶLi��R<�,�"�(����(�.��<
��1#��r2z:��=
'rp���$R�
�3�$���{?�ޏ�?�~�9�R�f6't$���o��DN�ä~Ѩ�lRj���1� ����t�7�V��ތ�y�ܢ3˅�/0�y\,�/�s>N~с\%
+~�PJlq����Zە��]�fUo

����gK�@�ii�#w˾;�=C�`�W��n"dd��Vr؀}��C��{��U1d��v�u��
+;�qY�t�
���)�bC��צ��t�D���6��W����Q
ո��3|L-�tg��;"z�k ��!��%�1\��6�M�>��pHb������
�������f� �e��&8�V��My�%��jLu��'bnkĶ害��R���uW�yE�����b��G6
=�~¤����	G_�� S���z�x_��"������o��Զ&���5�<$��ы0�r�#B���s���{�Eu��r����D��O�`MJ4�q<� xT����7�&�W�7v�W���b������ļb�����V
���=�hÜ�)1Ԃ������d�G����z��l��nB�6�)�BLC�"u}
g,����<�~ ��c,n�E�::�q�⼡�`N!���6Ӝ��z-�����0�e��?��Q^ѩ���yÜ��r�fS�(�E�Վ����*�\K��N��t�%"-��T]ٯ��Mp�
�)�R��R:� �����+��X��M(��._ `;-
C� �� [...]
�
�-`�Ű��{"�^�K4�&���3$xp��|�k�����Ϋ����3���m_�H3��6ߕ��ux�������b���R������~}{X��n�-����":|�����+����V�B��;���/@�7
+endstream
+endobj
+1123 0 obj <<
+/Type /Page
+/Contents 1124 0 R
+/Resources 1122 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1107 0 R 1118 0 R 1119 0 R 1121 0 R ]
+>> endobj
+1107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.077 683.608 412.698 694.512]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.366 356.065 371.373 366.969]
+/A << /S /GoTo /D (index_BDHetal05) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 153.973 230.92 164.877]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+1121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1125 0 obj <<
+/D [1123 0 R /XYZ 89 770.89 null]
+>> endobj
+1126 0 obj <<
+/D [1123 0 R /XYZ 90 721.073 null]
+>> endobj
+1127 0 obj <<
+/D [1123 0 R /XYZ 90 418.612 null]
+>> endobj
+1128 0 obj <<
+/D [1123 0 R /XYZ 90 410.296 null]
+>> endobj
+1129 0 obj <<
+/D [1123 0 R /XYZ 90 205.259 null]
+>> endobj
+1130 0 obj <<
+/D [1123 0 R /XYZ 90 196.943 null]
+>> endobj
+1131 0 obj <<
+/D [1123 0 R /XYZ 319.418 157.126 null]
+>> endobj
+1132 0 obj <<
+/D [1123 0 R /XYZ 90 141.213 null]
+>> endobj
+1122 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F11 613 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1139 0 obj <<
+/Length 4070      
+/Filter /FlateDecode
+>>
+stream
+x���v���_�>�|��o�������mv��M��-3�H-I�q�ɿw� �r�I�"� 
fs_l|���Go.^|��E��T��77��/2]�$�����R0!.��|�涺��	_���|�^
+�������Om��a5�m=��Rf�߾���7�.���VHX�/V��������\p��|qg�Z*��.^_������|�@	�/`]����zuؖݥ���Й�˛�÷�*W�4n��kj�՗b�����P�p[Ԫ{�l������u��S�UW���eI�Wm�U��m�8#��ŧ��e%%+D�2�o�]=Tk�P	�e��U��CW��mIx�E��~� �+�^\R�$�u�Ў�Pzyw[
�l�*j\W��5��HK�z��V�����-��`B
�]=�>�FJu���[xґ�f�eE�&��mS�;X�ʞ��U���ke�#��6�ž��b�ּ������[;��&g�W��O�
�$bN�!�
Y���c��� �[��AC�
����%���f�
�fUQw�Վޕnhc���g/���\�*$Fչ�"����
��}�9n�C-�y�7$╒bY�a����t���vm0
���?~���
O#J�� Z���ڡrӔ��C�:
��l���-:�f�9��)l�
++ ��m��JXA
iNc��K�/7D
���0�
Ueǚ����ӈk���
ʺ1x�'���5R����@��� 
>���Qif�s�!QW��$_I$a����v�:tԬ7���N�g�I���9L&x(��3� O	 ���Q��D��2M�$j�� �H��@��ov�a���[6�&~�jxb�%-,:��7�˦
�Ӿ��ɨ��g��0��-v�wR񱤹�]uE�U��CCx�nw��S
����+G�j�,
�1��h�d�,�e5ht�ۓ|��u�h lܐ�x�n�<�:��	7|�Co�W�9� ��R']G�
�a��L��
v�UG��� �a}�'<M,�pW3�}S�RU���i�[��A_�Ț�@"

O�����}
+���rS�G�
%N���-��v���:o�����\��5��@{pM���u��ժ=
+� 2�" �*
xZ�(R{z4�aj����x��}�3c�!���4?6�������#5�no���5N��O
� ��v�2�_J�B�z<����u�˒�p�d�zP�S5_~<B�	��	��,%A0�`dO����2��se�
���?�ہ
o�vG��ƅ
%��
+4�ն��6X���}���d2X?��
@h����������nV�ú"Ȍ�N�{e�%���ڣ��h%��� 9���w�R���gω���qY*#����p
+=�M!c�+�i�LiY��S�r6��T�ze�m���u4+���~f�i�A�n�����
+����Zr\�9Q���(�3����?��'
��I:��5�ap
#
&
+p	��y at K5�(�"�(�gzƤ�
9Kd��!�<�L �c�[�ۭs�BO.ay:�ݴ�Uw	.Y�>4k~��x�j�[Z�j�q��Ȓ����O�;����'0S}C3�@���1� �"�g
 � ;a
�a��|t�$zl�@Dt�m"F�G�'��Ÿ�<O�5�N�.�
Ēy/���E��`�tZ,�A`:
+P�	
�
+L(c���"��!����_F�X���-&�->�w����i�
e�YK���8�\�k��%`��t�b"�9�_B�<� (�8�R
T^���dT��
+,fŅ��3
��&���`��)�<�/��QO�ۛ�xT_s�i_�ZQ$}Q$�(�'DQ�D&E�6D5��z�r[2>�|�㭀�I��)`L�
��
 �S�O*��R�Uf��&���-$˥��UL0�U�Z��D^�N�7�!l#p' ��c�$@P�0�1�
+o�����0���관�}!��1
H��G��x%eP�y��88g`��1��$8��P>�~��_~&�%���S�ⴅ� E#��R��
�
�/Ó_~Wٕ��8��?+�0�I
���@�cZ��&�6p�s�0h\��<�֋���s;וY؄����ל���<��

�oԎ�

g
}�п97g��x�+�r�f�8C�h���'ɲ���L��fBA@� �ױY��!ER-A���J�u!�����F�L!����&�Ȗ
i����p���3c�H�gC�,w��}lBW��M����È�o̞�!�0czR�pp"h �b2�3�u`��]�qP���q���Q#�
;�/i�Cy
v�
ψ$���|l�c j�T�7���$�/�2B�(p
XR�L
+��pd�G�
OI��I�P�S�bz��&ц�F�E�DŽ�d�L;,jf���<I
��1�3��h�y��u�Z��M��*�
�ǽ���_���o�Q�p��Y����
+�U���ս�x�ʎ2�
��4v:�c<�.b� I� -~����5I��X���I�)5bp��M�ڑ��*ʀE�Y�4�(r��C~b�4���jỪZ����K5��a
x�Y�3m��pkBU�Y�;ش��t�8��8��O�ͽfx7B�S	���<�-
�_Ӝ9mС��
��14l��x"�Kp�'��Q����-�v]�:�̤"
�賈�HL��\�m,az��L
�f
%�"c�NIj�!RwJR�[a�E�W
:�Z���L�&2�a?����N�1%הW9C`�1&��]]�~[�j��Z@��;LV{X̾�̞S�I58)������u�#�9孩�'i��o*͔�$q"��$����w
�ٴJ�;�&��m�>�V9� �C�Ӫ��&WXg��Cm
��6`ܔ�C�DzGϏ�
VxT��	���/�Fi�ĩh�N"��d—c�x�U��ˤ�A����298J�Cr4��.��2Mehy����gUt�P�`l��������P��7/F ����>,���~
�Db8Q����Q���FHႨN��o�H��O���X<c|ʗ��M��'ڬ�J�6�4�>ڑ�AɊ�z��ș�y �^�<�a�@���h0�*=�ms���W�AWۭ��j��)͗�A��2�A���O�����,�Z�v%�"�:��t� ���bv�B�•�e� [...]
+&l
��Q��s�f�T�Y��%��`0��'�����)N
�)
+W�œz�"���bg�h�0���I>
��F�
&�|��@?ѓ�`��q�X.&3��@HV3�$^dT�1���35Ŭ��Ԕ��A�x<p#�'K��l�j��Aͳ�\���+����
+
K�D��@戗ށIe��
d��^�y�
=���a��6��7�����j@�ܱU��d�pQx�������3���`�8U��N��m��}̠ə�#�\--��<��;�~�9O����U��&)��y8i�����Jf��T%�/J���"��9�ϠCk�y���@�����|���hUWv]*�����ݸ��hJ
\B�7��s�M?��#]��N?X��)�����ħ@���vWm�Ψ�㈺*9�ɥ~�T�.؆aS������6�G�:
��@���h'L�&���M,��y
��nhе
�w�
+�Ω˾[����q�g��M
+'� g��@
|)���k�@_�Q��%DmS�%]�00�6yw[فMU�]-�K�c��j`�s.B��@�u9V�J[���+#����hn��k��n�am�s$��W���U����MX�Ƙ�j Amn�H�nܨ��
Zo;8��VQcU2�n��v��6�;s4�n)w�lN�I �9y�
���w-’8Z͌I�S.�Hr��gG�C�3�͘J00Թ��-F� ��n1�%E�{c�:ށ��?��{��v�v�k�
\
E�u����Y0n�f(���N��?,\��FvM��D�dJ����ׇ
��
[��>�Qo�	;��Qo7�+����:<&\���� �
�J�K�~ۼtڎ_����<]�/�u&
+endstream
+endobj
+1138 0 obj <<
+/Type /Page
+/Contents 1139 0 R
+/Resources 1137 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1120 0 R 1133 0 R 1134 0 R 1135 0 R 1136 0 R ]
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.533 696.002 486.501 706.906]
+/A << /S /GoTo /D (index_HPR97) >>
+>> endobj
+1133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.495 565.77 266.135 576.674]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+1134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.01 565.77 392.525 576.674]
+/A << /S /GoTo /D (index_BHZ04) >>
+>> endobj
+1135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.467 542.233 428.905 552.764]
+/A << /S /GoTo /D (index_pointset_powerset) >>
+>> endobj
+1136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1140 0 obj <<
+/D [1138 0 R /XYZ 89 770.89 null]
+>> endobj
+1141 0 obj <<
+/D [1138 0 R /XYZ 296.413 651.334 null]
+>> endobj
+46 0 obj <<
+/D [1138 0 R /XYZ 90 634.643 null]
+>> endobj
+1142 0 obj <<
+/D [1138 0 R /XYZ 90 543.23 null]
+>> endobj
+1143 0 obj <<
+/D [1138 0 R /XYZ 90 543.23 null]
+>> endobj
+1144 0 obj <<
+/D [1138 0 R /XYZ 90 528.695 null]
+>> endobj
+1145 0 obj <<
+/D [1138 0 R /XYZ 90 136.02 null]
+>> endobj
+50 0 obj <<
+/D [1138 0 R /XYZ 90 131.251 null]
+>> endobj
+1146 0 obj <<
+/D [1138 0 R /XYZ 90 75.329 null]
+>> endobj
+1147 0 obj <<
+/D [1138 0 R /XYZ 90 75.329 null]
+>> endobj
+1137 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F11 613 0 R /F24 529 0 R /F8 794 0 R /F7 795 0 R /F12 939 0 R /F9 879 0 R /F13 834 0 R /F29 938 0 R /F6 861 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1158 0 obj <<
+/Length 2970      
+/Filter /FlateDecode
+>>
+stream
+xڽZIs�6��W�6�*7��X��
��2�$�f���T��$:ݤL������B ��b{�x�{+'W	Nޞ�<?y�F�$G��"9�Lr��,G\��6��R����DŽ	�H.�#����w�ߝ�鱓��'�N
���9�*��O>���-t��`�r�ܚI�$�
������'�m#�uS?��`�pc� B��EY�	�8��,�՚R���6~��)[�|�
�W�t������ɚr8�[�m��<�sExZְDF����
�ve�饞����W�
+:p��ΐ�@�dJO3��	���
�N
+6"�2�&v�3jD �GQ��e$�,��&�=��
��Wn�I�rE�
��g* u9��O}R�4;�᫙��$@T�D�Z��%)A�a�Ȩp��Q	��� �٢��<Q����o��~t�6V�rk�p�9�Iw�E[���h[����fS��4ʣ��,CT`$A9����
"�
�%@�'
	����
ݛ���r#�@
q����q#��kk�y��$���%
A���? ����I��CD��>j�A�>��R
�ÿ�`=[S�b�K8ʀ���}e���߁
2��
P�$K�
Ҩ0	�����Fa�@0f%�\��6������
+y��i�n��aS����h
ꪩ��F�zh��o�hj�heb�3
�3��̞�?����iT�RJ�䨎 
v�[L�zҖ�M��='���<E�n~��׌E
+�f�N�z�\�?�+ zU_9o������_���`�Yz��۲�8��rW�˺�9c���$�5�,�J��.�ؗJ�AB����+׻ғ@��ްD������|���P�߹B��01@vw�	���
p�y�	bt��g����,��GJCwk�9�
�FhLޜ��ܟ2C
+�<l�d���[ٜ����4��Ո�zJ�b�L�O�G�>����V�!�L�8�������nW�ts�q�b4�-J�膄��$��.��d#и�Y��I
)�
�c^��>�f���Ǝ>����'BK� �,ᶱ/#�f
�ET֞P?������o���i��4��(FMsIeWu�(Lsi�E�\�	�)N�6J'�v3

lBw'@��S'*��~�0��z#��!p78^5����
KEi��Ԃ�г�+��0�
c�� h���������u՗!�c�mi�(
Cgڣ7�Qu��^���?oO�fҹ�>�oWOC�T��]�
�%-���̺�n:#wh0e;
+`��r�D.�y#�9Y*�8X��K׸��-'�c�+����Q	P�u_m��U��˾��"ݖݦ�nLi�+����ف2
qk�t�~v�I#mx{�ц�W!m��h�]�`b �}m6�P7
}��r.�30��{�
����z]�.�w
Z�	�0Z9���&�6�g�
��1P�
0L���-#6J1s��醧���1��a:M
�_|���A�]
9�
;-D�c��k�
�9���G��f���,[g�o����mk�}띖B3@�*�'�]
�V���îhݔf����
�y��9���B��	XP=\�Bڢ�C
+D:g��fWi{�)�8n�*���B>,��A���8[�l���{�E9���hAb������q���!�C��l�#F�G�BZ���I�'wug�q�3�y2&����a��K���D
��@I8	��� _����� +|�����y�4��g�"O��H��qXg߀�]��
+�d�ܧhj�=���3uWIL��좳o:~���&J�r��{�8�鎎[����Ь��]�w�h7.�=1�x�"�J@ɀgL�"
)-�|f�B�5q�,¾
q���o�A�҉f��(-*b�%�7��T��6bQ&��y$t[���sW&�/�#V�B�K��RI"^*
\�
t!O�
`���+��zO�g:���ҝ�&)���epهD��+Ly���EԷ8Lg�P~:;W]���,�7�������CsΞ+�J���-ɝ7�Jʧxę�]�@�!�F���*�IO*W�+���8��Pim�"ߜ�E���ٔu�2��3���˳�y<�۶O�0jr��b�EKˆO�u�@�45e �L8Qg_I԰)„/k�7*k�&
��c3=f����O$l �� � ~��`�d8�9�Y*�m�͘H�bs
�a@`l��	����
�j[xY�9..BN����&X@�����p��eQ��R�Ⱦ���U����ti+r9��r,.	N����h�Ҥ���;�@�
R�����&*FH�����)�	y��佾n~��,zE.�|
+�f��7c3��yV�4��V��Z��.0ٺ�����O�l��������E��&���<CR��%#a��ao���H�����b#y�#ۂ�Z�hY��ו��w�E�YqK�qQ�n�/
+��^�� ���#��Ͽ��n��W�:�0������(�]y�fC]��i�y
��\g+��2�Nu at m�,Lul���|��`�vH��k����h:
V����+]1
�
C[6�YX�B�=/6�)��z�j���w���v.�q�upR�ZfB�ڕ ��]_��a��iһ��6zEA�I��`�X��׼v�fb4vJa�~���<*7d����.\ؾ����VT���%ծh�!�_D8��m�p9��y�s�B�"
+
�մ۲
����p[F��j{W�ZR&Q'��rS
�2DS]uϦ���e1�
_�&��0��p�
}å�����'�b���z�zn��n흈�
���g��*�(e����W��ewiۅ��c��.ԝ�M�{I�C�&�}�����k?�`p�҄����fp��u<�aϒW
,6-����ӂ�o� C0���T��� "�
�i���#4~��ۊ�ԩ��E}(v�]��U��Q-�ڦ���YY:V�}�1n�_'ơx��җ�N/������������Ц�/����yn�61�
+W��7m9ܿA��؏���z�
+endstream
+endobj
+1157 0 obj <<
+/Type /Page
+/Contents 1158 0 R
+/Resources 1156 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1092 0 R
+/Annots [ 1151 0 R 1167 0 R 1152 0 R 1153 0 R 1168 0 R 1154 0 R 1169 0 R 1155 0 R ]
+>> endobj
+1151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.512 460.123 513.996 471.027]
+/A << /S /GoTo /D (index_powerset) >>
+>> endobj
+1167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 448.168 181.006 459.125]
+/A << /S /GoTo /D (index_powerset) >>
+>> endobj
+1152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.703 436.212 287.736 447.116]
+/A << /S /GoTo /D (index_Semantic_Geometric_Descriptors) >>
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.972 418.588 513.996 429.492]
+/A << /S /GoTo /D (index_ps_operations) >>
+>> endobj
+1168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 406.633 164.282 417.537]
+/A << /S /GoTo /D (index_ps_operations) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.712 406.633 513.996 417.537]
+/A << /S /GoTo /D (index_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
+>> endobj
+1169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 394.678 181.684 405.582]
+/A << /S /GoTo /D (index_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
+>> endobj
+1155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1159 0 obj <<
+/D [1157 0 R /XYZ 89 770.89 null]
+>> endobj
+1160 0 obj <<
+/D [1157 0 R /XYZ 90 721.073 null]
+>> endobj
+1161 0 obj <<
+/D [1157 0 R /XYZ 90 670.477 null]
+>> endobj
+1162 0 obj <<
+/D [1157 0 R /XYZ 90 670.477 null]
+>> endobj
+1163 0 obj <<
+/D [1157 0 R /XYZ 90 651.697 null]
+>> endobj
+1164 0 obj <<
+/D [1157 0 R /XYZ 90 596.927 null]
+>> endobj
+1165 0 obj <<
+/D [1157 0 R /XYZ 90 596.927 null]
+>> endobj
+1166 0 obj <<
+/D [1157 0 R /XYZ 90 578.147 null]
+>> endobj
+1150 0 obj <<
+/D [1157 0 R /XYZ 270.222 526.863 null]
+>> endobj
+54 0 obj <<
+/D [1157 0 R /XYZ 90 505.927 null]
+>> endobj
+1001 0 obj <<
+/D [1157 0 R /XYZ 122.378 385.876 null]
+>> endobj
+1170 0 obj <<
+/D [1157 0 R /XYZ 90 366.996 null]
+>> endobj
+1171 0 obj <<
+/D [1157 0 R /XYZ 90 77.387 null]
+>> endobj
+1172 0 obj <<
+/D [1157 0 R /XYZ 90 77.387 null]
+>> endobj
+1156 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F7 795 0 R /F11 613 0 R /F6 861 0 R /F93 763 0 R /F8 794 0 R /F12 939 0 R /F9 879 0 R /F1 833 0 R /F10 765 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1186 0 obj <<
+/Length 3535      
+/Filter /FlateDecode
+>>
+stream
+xڭZm�۶�~�B�/��X4@��i;ӳc�yi�ĝ���x(��c,�
+I�r���7� :���Dp,��}vA���B-^]\��x�25�<ȓ0Y��-r�H�<�x�.�-u���J+��oo��U���P-��w)�Z-o�v��hEUc;	�e�_����7o/~�а�Zh^-�l�9\�{�[ �P�ɳ�-
:,���s����JWAc�
�5݆���� �}�*�Cٷ�$
����p,ڪk��K<}��
���<g����0^�~��e�[L�eO�I��q�
��
�d��
+O_���X�4Ha����C�E��pD(c+
Dy,��A���OD���g-��Z)�AU��V�]�A5�.ڙ.��P2i]t�j_�j�3}k��E��i�U3�9��c����P�]��OPN�
�)K"h� �ņ��7&�S�gW�a#�����)UA���ɑ�f���D
g�5��5�b��cq6�:����᳑,
B�=J
����v,�s*��DF�J�EŪ
v�At���_O���^͔f�3��%
����D��W-�]#-w�<[Z�
�%Yr�1^�	����)
+B�6�������Bp���|�ګ�4PY���1��k�3�=o\���_$��GǓ#Dw��<J�Y������X
<N�&<U.�	��U�|B/��h�+�4�Z�'� ,�����Oay`����gg ��+����6e�� �z��V]�h�#9
��0�|oC?�F��B4A�h��^�5���':Y8�P��3d��
+~x�
���CQ��[��W/�)w�u��<�k��ȓ1(_
�F��U�}{09p
��8� �8�N J�qx�KL��IBs,ۢoZ	�Y
djff}�xu�?�դ	��9�ؾ���r_h�2ƪezL&Lf>qL�0�����e����G�-�͉�	� !l[�M_n��le��΋Z��A��}j
+�hp�@w;�S�0���Y� s@���U�5�Sϖo����qO�S��Zr�Е ��!��
��Fz�@*�Pt]u]㪴���
t��
�0�.ƻϷiQ^�����m H���c
+tU�t^�eٯ�Ҵe����Anr>	��򸇤qdr`���e;��h{Sm!π�7$g�,W�f
�9o �ۦ.�Ֆ�S�9ዣ0D����ѫ���I����p
�ɣa
�w8���o�t��YV�jx���#��R ���q%�@��N{
qUr�0͂,4�\�VjěKB޲g��*
�}��@;Lf8a�ǃ
���"D��	�H�_|6��X'�pX��������rr�1���}�4��m4�	�4" >w���o�c�/zv ��
��P̷ *]�u[`��/��8Fu�J���a�}�_�,��U*�
Jof��8+
��o �	�S�k�/Ƕ9lE��L�\���wW+�e5��Wo���D#�������<
����W��C��P"��]c(t�!xR@���V�=m1\_D���
kF`#�����Z��F!d��t�(n�
t
�Y᳨%�y�(�T��Ѥ���mǍ��@�/uB:�#�9������l$�}9�����[��RyN�1�Ld\�w�C�\��fb�L�MN8~�����F,�����O�� ��d�J%�hL '
� 2�,Vd�hfE�;�� ��[ҭΦ�!?öY^����,'w@��2RCB�3�0E�
7FU��9� ���g
]	��W����e��tX۫,˶��cǻ�mL��'pELc,/O���p�fY`�|½]Y>�`���o���{���@
���Xp�9nN��U�����	��o1�ǂB�K�
+�
r�A��(��qw�g���"�[��9P���t̍S|��~1�Ų���lq�X*Y�ċ /&�ư�j�|��:x Da�8O��E{��4��t's�Ɏ����	�~��EO
U�,@�� ����|PI��J�:G���e�Q��:*�۵(:���mڏ�0�ř��0�Aĵ6m�
t%���J�P��e��<��z)u�%�&SC�p�\Q��j��!��y�84��D�0�c(�76
+� &,N�}���%O��D�����}I�����!�	K�����8M��Id��mK<��O��6��讃-�ң�'���œ�:f���a��O�"���%�s&
W�K� e���?/��bcӴP�
�z��P�y���!�"�2˖d�<n��<yt("���X�e"���z�
�hN�'�-\|���[x�I�&�ĽC<~���gV����MUt//��J�P�l���8��G)
d�7Af�ԟ*��\���`�.'�\�|�P��T�7t
gNr�'jB�'���
��A
+п.�����
+���
�8=�!�&�
 :�93���>�j�� �
HbcS�g苣xW�՗0���J�?P҄��<�R���I�7KJcp��[�������ѫv�� ��$����>�B�r���]�	ǫÊ",~����@.Q��o*��
t�ioD���o�[��-x���$�����
��A@ש�Є��)���f�(v�b�,H���*���Z���yX~��1$���{Q�&��RG�*�	w
)r��
+�_�q?�zp�$��(Kk�y'B�y�1�A�[BL��|�g�u�i;*#��Ac���;a���l�q���??XGr�K�U����]	�m�d�v>!��W��.
��m=��7�6��>���Q(�"%Q�w�K�t����:#
��0~:H����q��v$��S&�\7��>vΈ�wߪ�����>��P��0
��H��7~����Mi;e3J�nD�
c�DFj{CK52
U8Y���p
1�ړ�X{
��^C�8
��6�a�୞���7�{�!��Y$ 
vY
7��κ�.eյ�>�ݱ��V;���FF�����]���Rɝ��u�T���I��%�ة�����D�w�—��`���~ZTB��]���[8
Au����&���a��ʙ+��~?���&4\��Pa	nA�7��jo�t��
��D�ddМxMG7t����\{C�;Gm�Y�t��Z��M���)�m!� ��i�����(�=}8~��
�gϮ��	s���ύ����6���7�+��:~n�g��⤝rA*$0�klk`�V>��L/9�Bs{e�oӜ)6^tO���(�
�"2#@ �� eÁ|Îxa��yh�2�=���2��Hh��Ip,Tq��^	D7
�������1����K��[	P
����1�]
3�>C�X./�����'-5n�oֲ��3���7�%	�G��6CL�ʮ��Î�g
+��`z�ؑ�tp��ta0b�psF���u��$�'�#�L
\�9�&5�3	�44���&��	�x�xɟ����0މc�K)�$B�_��?��;~���O�bE����6$�@�)��?���������;�(��#������Ϟ>]�����@3��C�}�����M
+6�����!Y���z���$�� e�v���4�n�:�D!<}}0�
(x�E���S�
+endstream
+endobj
+1185 0 obj <<
+/Type /Page
+/Contents 1186 0 R
+/Resources 1184 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1173 0 R 1174 0 R 1195 0 R 1175 0 R 1176 0 R 1177 0 R 1199 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1200 0 R 1182 0 R 1183 0 R ]
+>> endobj
+1173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 561.335 210.548 572.292]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22) >>
+>> endobj
+1174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.724 475.777 513.996 486.681]
+/A << /S /GoTo /D (index_BGP99) >>
+>> endobj
+1195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 463.822 117.009 474.726]
+/A << /S /GoTo /D (index_BGP99) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.136 416.001 238.651 426.905]
+/A << /S /GoTo /D (index_BHZ04) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.642 330.444 266.138 341.348]
+/A << /S /GoTo /D (index_BHZ03b) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.848 199.554 513.996 210.458]
+/A << /S /GoTo /D (index_pps_bgp99_extrapolation) >>
+>> endobj
+1199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 187.599 197.394 198.503]
+/A << /S /GoTo /D (index_pps_bgp99_extrapolation) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.115 187.599 375.525 198.503]
+/A << /S /GoTo /D (index_pps_pairwise_merge) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.5 151.733 513.996 162.637]
+/A << /S /GoTo /D (index_BHZ03b) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.88 140.336 144.396 150.682]
+/A << /S /GoTo /D (index_BHZ04) >>
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.381 122.154 513.996 133.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 110.199 259.791 121.103]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.892 98.244 272.525 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1187 0 obj <<
+/D [1185 0 R /XYZ 89 770.89 null]
+>> endobj
+1188 0 obj <<
+/D [1185 0 R /XYZ 90 721.073 null]
+>> endobj
+1189 0 obj <<
+/D [1185 0 R /XYZ 90 648.008 null]
+>> endobj
+1190 0 obj <<
+/D [1185 0 R /XYZ 90 648.008 null]
+>> endobj
+1191 0 obj <<
+/D [1185 0 R /XYZ 90 629.185 null]
+>> endobj
+1192 0 obj <<
+/D [1185 0 R /XYZ 90 538.64 null]
+>> endobj
+1193 0 obj <<
+/D [1185 0 R /XYZ 90 538.64 null]
+>> endobj
+1194 0 obj <<
+/D [1185 0 R /XYZ 90 519.817 null]
+>> endobj
+1196 0 obj <<
+/D [1185 0 R /XYZ 90 416.998 null]
+>> endobj
+1197 0 obj <<
+/D [1185 0 R /XYZ 90 416.998 null]
+>> endobj
+1198 0 obj <<
+/D [1185 0 R /XYZ 90 398.175 null]
+>> endobj
+1184 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F7 795 0 R /F11 613 0 R /F93 763 0 R /F75 554 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1221 0 obj <<
+/Length 2778      
+/Filter /FlateDecode
+>>
+stream
+x��ZY�۸~�_��P��A�p���Q�ػ�z���rQ$�L�2����t�^ñ��!/#h �����y�y/.�vy��y,�4H#y�{/e^
����k��%[}��ٓQ�4�I���_�|���[
�xvy�����8�WA�x������A��

d�x׆��B�oώ����+��Ӟ�j-���
+�^���uI]۪\����+��]n�
�u���f�Vk%��rOcM�=R�,
�����>鲥���߲�
'�>�V�����_�
|i��\Y�W��:�:k������Fh���S�J�1�M���[� ��
 0!b��T�@V��V�j�c�_ˬXq��4x!���/@!+�<�������V�s�����f&�V�A$B���hPb�o��
>v����F�1��o޼�F�i �-˄��Np�8k-Qm�u��Qko�ı󹮾�'{�����iO���n���
d �~�j�^�8s
����%
+����*a�
�WEQ�^^ӷ=�"����Cd��D ���k@����ޛ����&��CYiֈ�ӊ����'f"�4�л��;�Q�}�`I;ݡE�ZM��N�}���
�{�
�cИ8
�X���
QL�=YO`����R�h/�f��L�a��14�PY�g���P���/ld�J�L��C�!� [	2_>fV4���bt�u2���='Bμ�H�0
+X� Y����n�I���U��B�#B�1��x���/��F�
����n���DV�����h��E�v�)�5���F��S�=�mFuW��/Zl�%
SN��;V� ���.T���A��s?����*�
1�OJ�%�������= �!�~�u�ۂb��
��&��Ɉґ���(lV�+��9�u�Vh+�	�(
�\��l���e����ozKV#ng6;3���gfp�m���]/z�2os�,\t 	�
���		�L8*�
+C��Hx��G)^��o
_��P-��Nxd���J	������W Ȭ&�G��
+X�|��Gj�hS	E1Y�<�ޛ�%���{|�
]�:�)��h[�V�i�q���F��2�yV���+�@�ꕌ}�4.B�1���d׫�{}L�����ߴW�ck5^9����
��ڍ
h[�k/�?!������*� D>�A0>>������&��H at YD2��!�A��Y�X�{�Z��%e�v B
+vѡ�^3Q�	p�'SǍ�i
X�
o~BM���AF=?eM��A@����У)�(�@$�,L�c��l��

����a�f�:����;���0���\5y�_0��j`��wqqD..�q	6J��+4�\`'�
]��7�y�ˮ�CL�vg���׌kt,L�s�Ьw���CJX�H�}۝
h^���Gs��737�t'jP$#&é��⧈4���]��P-{�����<��zƓ �F���I�K�Rf�lJ��]��{vg�k[?P�y:~L�l�R.��D����X�~
z�����E�56�@C,��\8���ݨV��q�3�
�m�b8ګ|LT
g�p��M��[���u�?�i~�7�n�L.9�8褽�ͪ�T�|�ћ-i��#~�9�O�

P��[y�(��1p�)�E
+���	�W
+�W
+ʼ��4�
�q�)EG�
a���/��(N��ek�Gވ�g�~�Y��`1�);��̞�I�M�`�Z^~e&�*� G�
B.ܴUml(��XLľ��p-[�

+^&uC���b{
C
+���pi���P�IJ�'69��
�+`�&$&�=$'�zP��`u����a�x.�F0^��j��M
�+����'Vk�$ЌA�9da
t"����Q���p�
d�
ad�/��6��Nڽ�,�
��ب�L�[b[@������|a?�RLl�ja��oBɩ��A�1D�d������6�Nɍ�/���$��DW

�
�
)�[m_kӚ�8�,	��������S�B�e�b�x=�"
W
+�r(ИT�������
��Q|]���  ��}1F�G���\dK�c&�
+�!�[�	�{�T�`�C��Bw9t�u
s�XyX�e������t[`kSu�i����

v��~����!��x�
%�
z~��
>]7��n��d	Xu:�6�?h��:D�C�E�6�6��� X�r�rRh�t{�v�
+�t8U�4r��i�~�`}R4j��P+z�;:��^u��k�i8�7���jl,
�\>��![:O�߀(��Sn�
+]cgn��*��Z�)/g��m����Tћ�#Zx�h�O��Y��
���1r�ެ"eL�9E�a�!��n��m��%�Ҩ;��o�ϝG��1�*��P�	\!��Rq�E�
v�/RR�)^(R6�����1�a�޶���.�{[�D\��;޳�����!�؜k� C��"��͢P|�mi#c.d��ؚ�B�{�qR��T����F\we
1�ԥw �\�l��&�w��'8>d��
+��Ao�
+�8��uv�#�%	4F�O�Zn��(��l��S-y�m(R5�@����c�(CI�� �1;a\r��'�Lo���"�>�1/05���R�jZ&�
��ʁH)�zdž�Y
4N�u��&ض,�`E-u΢�a������	5�}��a41������|���X��q�
�9���˓�V�ذ��[
��H@�0��:l�fi�T��<�c㟍���8ZC��]V8���B���E7[�~���_�z��N&2�Gaj��Ƕ=?y�x�
]
P�ۦ2LNӀ
9$���̉r(��D�l�g0� �T�n
+endstream
+endobj
+1220 0 obj <<
+/Type /Page
+/Contents 1221 0 R
+/Resources 1219 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1206 0 R 1207 0 R 1208 0 R 1226 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R 1218 0 R ]
+>> endobj
+1206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.002 623.859 381.199 634.763]
+/A << /S /GoTo /D (index_Min04) >>
+>> endobj
+1207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.308 623.859 511.506 634.763]
+/A << /S /GoTo /D (index_Min05) >>
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.723 517.844 513.996 528.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+1226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 507.946 90.996 516.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+1209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 480.305 297.721 490.203]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 459.157 321.631 469.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 438.009 321.631 447.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 416.238 321.898 427.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 383.134 291.743 394.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 361.986 334.671 372.89]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 328.882 357.021 339.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+1216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.779 321.488 306.683]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+1217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.691 86.288 176.633 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+1218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1222 0 obj <<
+/D [1220 0 R /XYZ 89 770.89 null]
+>> endobj
+1223 0 obj <<
+/D [1220 0 R /XYZ 126.802 699.155 null]
+>> endobj
+58 0 obj <<
+/D [1220 0 R /XYZ 90 683.109 null]
+>> endobj
+1224 0 obj <<
+/D [1220 0 R /XYZ 461.12 579.192 null]
+>> endobj
+1225 0 obj <<
+/D [1220 0 R /XYZ 90 561.089 null]
+>> endobj
+1219 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F8 794 0 R /F93 763 0 R /F75 554 0 R /F11 613 0 R /F1 833 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1246 0 obj <<
+/Length 2790      
+/Filter /FlateDecode
+>>
+stream
+x��[�o�6��B��P-�K�-)�}H�k�6��.��yW�
+�]m$9���wH%Q��7N�<�0।9��͋�ht����'g'��%"�H����.��F�̈�p��^Č09�3Ji�x��o���͹�qu�~_R*��-���zW���5�fw�³jk^�T�X�ٯg?������	
h�ܘ�$i�؜���FK��cD�����m"�����'�8�C�5
�πg渿��Z��ܺ�vU❦X־6W2n*w�����"_絥��u�^���z�h|m��7��y��h��͌+��G�e�r�@Pp���WW�e^�ECfsA��l�=V��F��`�s�]���^�u�
����m�׮� ͼ.�7�ʶ4���1��`Y �|[,����^W���yd89��
��S�͹ ,Aѿm#�4!i��,BE�(KG���R�l���ȨAKF�FI�ih�I����)I���C�A21 ���8��G�3O��9���,2��*�RЍ Rp�9��
��%A�2� 
+��R

E�'GijPF��PԠ[�H�g	����1��?fF�J"�Ivx?Rw��I�P at i�D�1��|0غ&*InNJ�8L]܊�d
++C �
��ַ�4sd��b_#�h�`n�3ud��'
Z �
ut�}e�=
���C��%e�
໏�!��I1��8I2���c��JX&�IBw�p#Q�R�q�.P.��D��~8��Yޞ���c
Li�y2����:�f��9O+ z��
D�A4�g���!�>��6��� �eQ��DA�f�A�8IiAv�(�}x�}@K���ď���s��G���r�����.�ST�ǯn�����c/�<�n��( My*�a�J�O:���fG���@|����X�?�>N�{�X�cܯ	����q*A�"%:E7��UQb�xdy�"� �ԇenF
+���fb8I$O��V������龣���p�-�.'g�pv����(
�Y��k at f���Pq��
/��.�]�]ڍI�l��讷�4��$���2�{�v=�m�w����/�C)�e������X\�
Q״�B����L�iqc������U���\/�)ag&ჲЛV JN	gr��������� �N5e1�N�H0�3eO��.7
]�K�7\�[�m��
���6҃ߵD,p
�2��n���w��z[n�BI����y=v�eb����9P5e[��Qhn�Ӵ��G�y��f�|�w���g"��)ah���4��Uc���g+
�m�T�27�5�E�X9�ʌ��8��e~��7q��G[\� ���1�3��XY�!��:l��H��)���f�~۾�OVT�ߤ?ǽ��B��syݺ�����
x�B���UH�b�(���P&}��
l� ͑����D�ǚ
+�#��l`w�Oe�L1��T��� M0k?�G�q��;]�1�Tw�0N/!�7�&�4�.��f�S��D7�cAXpFH!��3)��B��BH���@w���H�C{
�˯g.��lAj��w!b&�H;�O��N�����
+
F5H/;P�i�G�.x�
����B���}x �H%��	��0�t�
��
S�)�$vsH@��Ё�:p�-
h�Сt:	'�26�����k�P�j�(��&;�rt�ܱzw:�+�b��q�u����3���0�̾��3���K<%����Y��|M��z�~R�
`;��&�"J
+s����ӝ����\�G��A
��NP

TQa|��a���W7���X�N�m�

���G֐�y�~���l� 6��
cp�iy^���L�xp��Y�
+�
+f��̶�m*�*0 �ImS��
+����W%���U����
��1��C9���S۝J��4��� �~��E�� X`��!qY-,���G�G,�zk0�t�-�``Ew�
1��#��h5LyL6�~��N���N}ҩU�eR�G 嘷	�`Y�b�w�Q&
w���.�j�Fg��X1�H�X�]˧
+���	R̹��쮰���	s�� §�
+�\ݨL�"�R�6޹�™��;
�,��ql���,j�$����ͤ���ا�1)�� �BB��,�gˀ"
+H
4x�L��ۛ~wX6ȫ�u*�5���͓���OB�x�¾]�G�9�WDQ�<NAy��<�zUl���n�S�Cg�1���Wt�%�S�8�j�HM!7T�"5��H�Q]�S��Y���*�����Y- �`^��'��+�
�E�/�I�rY��a���W�mM�=Q�C�8
��/$\i7]⸇��L���$'
�8�T�vaO�
js��p<��/Vy����Q�� (�ղ�X��Ņ�L�tA��}�l�ؚ�
�/nIǨU���٪.02������܋Z=�S�={��G^E��(�,eY�'����*���CQ���!�q@���E�_V ��� ����R
�ǨP�'����U�U��]�qhD]�p>Z�å�c�'�CA���#���pk_pa�bh�
�K��e��py���i��O�ֲ������� �c��G	�>
|�b���	�{�=�8j],�����-��]yb~
C\�7w�"��#b��W���
+ޗ��Հ&���ٛp~�ˉ��+��ۼ�t̔��.�s~Q7��w��ܨ��f�Gd�
����hN�VG~����dJ�0o���	x� -�P�����1�ηW�W���/
 50(Ǵ�y���1�*򭟜���0%��=ªmw�NOϯ.�ҽ$ �}s�##4钷c$
+��rT�Lͽ$@��!ZP���oж��x�􇍈��@��'V���� 
+endstream
+endobj
+1245 0 obj <<
+/Type /Page
+/Contents 1246 0 R
+/Resources 1244 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1251 0 R 1243 0 R ]
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.681 299.1 301.234 310.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.196 116.241 335.441 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.382 116.241 432.469 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.228 116.241 513.996 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 103.913 90.996 114.817]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1247 0 obj <<
+/D [1245 0 R /XYZ 89 770.89 null]
+>> endobj
+1249 0 obj <<
+/D [1245 0 R /XYZ 90 170.144 null]
+>> endobj
+1250 0 obj <<
+/D [1245 0 R /XYZ 90 160.083 null]
+>> endobj
+767 0 obj <<
+/D [1245 0 R /XYZ 335.706 77.486 null]
+>> endobj
+1244 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F1 833 0 R /F11 613 0 R /F8 794 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F93 763 0 R /F32 764 0 R /F75 554 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1256 0 obj <<
+/Length 3546      
+/Filter /FlateDecode
+>>
+stream
+x��ْ���}��o��0��N�ʶ,�G$��T
l���@����_��	I����b�3����7��W�ꛛ/oo��L�*SY����~���$�T��n��g�����V&NU�Ű��_�~u���۷8w������ ��U��#����x��/�j��V�2Y�z�E�U�
<��ۛ���Š�t�C|c�+TE�q�A�,�(Zo���te}��h�z����r���z�z���2�1
�_mt�L��$T D�`���^(4��o���
m��}�&��Ţ�'��}Ӯ���f�=��
,�L���S��7F
�]s�Vnl��-O� ��?4;
��|kkO��&����� ���k
D�ş�~j�ǃݵ�3x��Y)Rؐ��)�
+��(`
+�<6]?�0.��:Y�?���e+�r��ܝ��(ߌ��� ��9
+��~�t��|�q�nʺo�H(��k`�ʰ� '�^e�
_
����yuߴe8v�~���
���`�ڮ�y'D��@��˼b`��%�L�?���S�M��_������"���y�������
R�+!	ԏYz~�U��
��
�ʺh�(*�A�΃
 ��š.ߟm��<� 
ٰ`��-I
ɝ�&�^�
?��	��0�ǃ����(��5/<�� �ǥ;<�yї�
bCqwjX��X���[Dg��۪$�q:U���I at q&G�%�hp5x���
�|�2
�+���,�>�@�fw.���ͨ���7�O�X>��Q��<� ���D��M��<�'���� U�
b�ܼ� �=�jc�X%Q2-H��n�U
dm�����⚾�T�����N�� �}��4�����"=H����Q��
��8��$�2b ���wp�cY���w��w�����j4I�~� $qj�TJ0[9DSW�"F��i`����9�j�sݡ9W;����sgw@:�w�8@��=�	������|��;��!�`�Cr~����Tvwos�H��
+�f��e��S��oK'�wq
+L�@UOD�q"o�0�U.
�47&�ޗy�6[
f���]�#�-%
��c�$b�@B����N�L����)
{O�$x9+1�-�օ �����v
��3�� 
+���PX�.nk3�k����cX!��
�ѥj=u�$BP��=��1'�FS�,
�W��K*L9��$ h
0��t��@����l����E�^[AN�ԊC9�o<����"
=I��%��-
+�`�r��0�� 󰠔d�.���+矉��q�ԟ�|�
+\LGhV��}!9��Qv
��:�1R�,ɲ~/
s��<�ɂט&��=>��a@����Pq��ӹ��"�#�X�z
v}YU�ߑח	[w2,��
,<ت�8��\L�,��>/�
J�ER �kG�q[.����mB<
=3�
+�T�.�J��{����B��>g�	��{?b:�{/�
�
V����3U�4[�Pa���4�#cC�\ƾ�锯����&��M}_=2�;w'��S�[=�Y� ���]'B���P{<��p�g�М!{�4߈�����Q)M
)U�y��Q��p8	9�\�)��`��X�����X¾0p�
�]�ҋ0H�7]<�#Zr9t�A��H��ԓ4�-f1Cm
+>�UGYpI

��^
�㰼8��B��z�c:,^�arӾ�n �(A"��w���֑��R�;%��FR�Y	�AC:��
+H��t<������Ԑ��%k4�,	��$=J�}��:�
1����FJ󵁪���,#���
�g�A���6?�1��h�uV�y'U��a�u�l2�m��X	Q�b��1~���󴎧|�<�U��+f���$6n
+�8P��mC9��7��p�1������ٴ'�`�keŬNb�` s��#�����z�Ԁ�O�a5�S{f�y&Mb9�r�w��LEA����]�#E����Ш4
��Ϲ}MH.��Ryx��<�2��2��R섻�Xdf�N`�y�Ll�PgV���MQ��DߢAߢ��
�[ v�Q���#�Z�h�O[}JK�t�ޠ�5�L:�_�!�8U�oVƠ�~��U�fC7��
'��*�jӘP�F8b��Ã�Zy�g�8��ٱJ	@_Jpc���S
%w� �`y���s�����5�,V�! �1Udjɣm�ˋ�� {h��L���LǴ�$f
��gf�y���������g���7o~��X�KN
+����O�K��؏(���sWv����ְ ���w'�����˩X�93���5�v,A�c�q�ܯ�X�޵|�w�����v�)�.
+Ո�\Q���|:5mO]e�ꄏ��g�o��},���yOC
Z8��C�_�����l=v�b�
�o�ӹ쥶��gF����$!��?I��j�2n��{.����������2���}SU,��Kr�EZ���<nv)^&ʤ�
Ao��iF�}���d��8�[^@
+�=
�y���m�X��e!8f*�֟t/���NFB�]�+�{#v�p�0S�y�!^��1�Z?.`�
��ɇ���_�(
�r;�d�۱��ck ���]j ��th���n�G��`�Yit�˂|�� z$��<��&*L��5^r9z�4��Go�

;v�~2��X����Uǟԩt<�
�=� ��઺���US� ��-�c���^}_jT��O��M[.�3�$��E��7u^ݹ�1�Κp���
�]��
.1}�A-��He�G�1�;O�p
_����a��u��6�-y�7�)>����ɗ�'��)nYJ��E��z��-��붜*�dΘ\s�|l�9�y����
+L��<rK�_�o��Ԓ &ӆ8$3TE]
�C0��Q�
�8����f�=
+����Z���>w/�vy/(�Ǔ�`A��#
+�����
R5��JW���
>'h�^S
�JQY�����
��ó��^��~PR�G_��p���(�����ے���$�X*x�ǟUi�eq3T㾭P� �#�R�󗜅sbˀZf��<��
�e
J1t
J�l׷��T]�=�xIQt��k?Q��c��g(�w��B3m
(�T at _�����y)�a�"��S��%޹Uy?��ܰ��h.�A�M�����LC1��t��?>%{�Q�ԽB�I�p��y[��`��!��u. �c��ƐE
�	�m˱��� B����8ly+Nc�d��m���r�QF���y��|�U� ?oʗ�
א��=fA%���/��;��N��F�'�cu�=O���B�:�*�uρ
S*M�%	�CR�9��w��?�a�ꕒ�2|�\�ޤl�%~C����)W���U;��43�%?��FZAc��lC��K�Q
A<^�t���
�C�����8
�~�p`iH����<~��R��?kp�6O���d#�
QFv{��D��tL�n� �{4�
 �m �fDH�L
+��C.���d�$�E�����l��uyr}���'
��\����zk����z7���
�鄟(T��}��������P�B6
���Y��1	ٻ��q(�˚>ˠ�]]޿0���
+endstream
+endobj
+1255 0 obj <<
+/Type /Page
+/Contents 1256 0 R
+/Resources 1254 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1253 0 R ]
+>> endobj
+1253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1257 0 obj <<
+/D [1255 0 R /XYZ 89 770.89 null]
+>> endobj
+62 0 obj <<
+/D [1255 0 R /XYZ 90 721.073 null]
+>> endobj
+1258 0 obj <<
+/D [1255 0 R /XYZ 90 701.791 null]
+>> endobj
+1259 0 obj <<
+/D [1255 0 R /XYZ 90 701.791 null]
+>> endobj
+1260 0 obj <<
+/D [1255 0 R /XYZ 90 355.742 null]
+>> endobj
+1261 0 obj <<
+/D [1255 0 R /XYZ 90 350.298 null]
+>> endobj
+1262 0 obj <<
+/D [1255 0 R /XYZ 90 183.145 null]
+>> endobj
+1263 0 obj <<
+/D [1255 0 R /XYZ 90 177.701 null]
+>> endobj
+1264 0 obj <<
+/D [1255 0 R /XYZ 475.551 77.486 null]
+>> endobj
+1254 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1268 0 obj <<
+/Length 3505      
+/Filter /FlateDecode
+>>
+stream
+xڭۖ۶�}�B}��f�坔��g/Yw
;q�M�s�
� Y��y�F���`��7vO_`0
�P�d3�&�N.nOή�p2w�I�Lnד�7I��'0ZM�:��'ә�y�s��қZl�;��/��'��^�5�
�=����É@o���M�ɲ<y��7Y���s�y6�7H�$
+Bh�ɛ��x̝�1v�a^�֐W����n���XMgA�9��j�٥�k�l+�4O��9M�<
Gԕ�6
ݵ�msI����5���z�:���R6��ZQ禕�hu=�}�1°�9�N��{�Y�a4'�_��
A�zK
����
jQ�zG���J��`V����0�R׼v+jQJ`����h	WX��\0`�� \�
��,�R
+؞Z��1�c:�k��=w�UQP��-u��e.�
ng��?�X� �m���Ux8
@��@��J֖��4�
w:��Թ����Ű�X��Cڅ�cg�����m��y
+#��\����%��
���X8Z���M�̩'x����`��t�������*
���u�b
�A�"g�F¾�ZҨ�� v>"�8
;�}�h���Q-�+-B�'N%��Q�bG3���b��r[�RVVLp���s\���Pa"�-��������C�z�^�G;�P[
��Z,��g]�{!�>p����rU[�qЪ�!<��Z����f״��~-��l�A�Tq�:?窐4�抩�a�� p@����&��EzLO�)pڔ�v̟��z��4tJ��[�w�0Z�g���wS�s�I�9e]�O����!m}Qlt�ڼ�=L �N�Wj�;"��
~ԕ(� ��(	f\Z�Ee��o�1�4)ݍk�1ECT�`,��Bf�;
��(5
�#��c�F������qV]��	�
XtC-D��Z�W�٧�s�w&V���!�@ �G�a� �X��\��CC�h���?��1���w^�-F�B�47n	�Jal�~�

����3��\�UU! [...]
�Pӎ
��#�NjB�i/��s�C�]4�-c
�WH+� H�
�����,�CȎS�Ɲ��^;ם���_0�@#���:}H�oK��;�]�R�l���;�
*��!'�J�O�!��M�Uc2E�ט���$q�i��|$t��Eqv6�%�H]+�
�	jz��!�is�U��
v�ڄL��*]�d�mw�`�8�u�?q�C��!�
�@�S8������[C����oL��+�i�����݃��_�~m
��1��O����55��i܅ܨj@4�e�s
F���#Cr��Φy/�*<��Q��|�_�s_}��S�)�
iP�}���j�wռ7�b9��=��

�컣m
������M�z1D�ϵ!6���%�G�����  2�����xr�*��1�����A,�ɺ�3�
9�!)i�.�v���>C�Y>�
G�V>z\o����N��90�_�Mְ�k��ԯ�'C�|G�2��E��{�����kH5��7Tű�;^��7��]���1��G`\�xT�og~ x����X+sU��
+�&��O���C�|�#�o�e���
S��7�84ugr�,!mޕ
L��"S�
���@�;Kn�X!QMD}����Fٕ�����*
C
�$
��Fm1�`��X~q`)
���A�s�0�\/4E��LB��B�݅G�]S*�
�̙��BJF�W�>	` 
�$v~Э�;̲�8A�O���
*6���foL|��{ � ������
Ƕ��9J���"��=���d<�nM��ߢ3�9������
`��O�}7�}��c`�����E�r#�L$}m?$��n
�����
x�
�	p
;�dn�X�
�
(�$3ND[rY�JJ�K��%�ə4
���

+��Q���7O+؊}M�PE��������R5S�n)Vv��
$��q
�����#�J���a1��;p�(Ӹ<�M6-��V�}�k��j��û��
�
�2lm����v�:�E$�b��ӗː��W�}j�E�u,��Z����(�'�r�PC�~�׫z�U�?Vތ��($��d�
3�Go�[z�B�
q�ȚB�z�
�U�+4�4����%��6S��1�м:�h��E�ݪ�<
�^1�Cz��_Z8��������|gͻ���ԛ�S&���'q�
N�
'��3}���΃��1U��~�~{^-��/���溱�C���`��jJ����q�&�~��wa�W�S#��Z�ku	������4���PׂZZ\5*Z����4YBE���m�7��)a��$ށ6hE�\�Z��0udC�)��̇~Y�(�HA��A6z�_�]�Q
?�T�C�Q7���i�:�+s�Z���oN��<���G
��}���s�=��@۳8t}<��M��/ν�Q���9z�=�s��%���Z�x��#[����U�w�K/�/@
಄ZHQ�>�V�. �票��m.pf�\��>����`E3��%t=���Sz���
J��tG���賌�
T��"?tn�C���
���Z�\[
Ѡo9����A~E�wGCUA��V~gn
]��)�H�c�a����{
�l��c#L �����k�P��qv$�l��������b �}�T y`��f0�U|U�߉�,��(��b�9B�{�=��<}<ynrȄ^��y
�U��"�!~�+ъX�=�;�D�k�[=���E-�ب��
+ �F�l�rv�Š���t�L��4L@��'b/�8��(N���\)�o�r�h�d���Rs�P��X�Z�O�
|�E�Tc�{ݛ���0��6��xᭆ����V���y{5���1��
�?�,��������
������C�����~����&}ih�� ��
� !%I=���,4��
���Mӣ
�����F1�
����Rq^���.��dG�d̑��,1h>�I��z~/j���2ϟk��>�8>�k?�u�h�����4��<#����=��IKzp/xT�0~p�
�- q.@��\b	�!ޙ� ���\ۙ�c��
��2��^0�������s�vN�\��W��J��w�h��B�
����{�w^������+�
��b�~x��������w+�J�mWo�� q���5�%M[��XP�v�8�X�v7[֪5kG
+�.g�*�����B�V&(�6z��
RKtJH�n*������
�Z��K
Pc��#i"�9O��k^�Z�%y��
O��>(�Λn���&gT��1�?
q��t��
���A���2�JZW3b7%��ޞ�jw�����
+oqj��R��oɱً��0��K��C\�@��T#
=��8Iঐ�~��p�?n�� �M��3����4��<L\y���(���i{;T�|L��ï�5\S���FJ柘�����Te
X��ȍ~������٢ۀf6�R�cD�
s�K�I�ږ��?���S���� Ĥ�J���2�O��`��f�.d��MN�4��W���ZŃ
+endstream
+endobj
+1267 0 obj <<
+/Type /Page
+/Contents 1268 0 R
+/Resources 1266 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1265 0 R ]
+>> endobj
+1265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1269 0 obj <<
+/D [1267 0 R /XYZ 89 770.89 null]
+>> endobj
+1270 0 obj <<
+/D [1267 0 R /XYZ 90 721.073 null]
+>> endobj
+1271 0 obj <<
+/D [1267 0 R /XYZ 118.403 310.764 null]
+>> endobj
+66 0 obj <<
+/D [1267 0 R /XYZ 90 294.098 null]
+>> endobj
+1272 0 obj <<
+/D [1267 0 R /XYZ 90 265.567 null]
+>> endobj
+1273 0 obj <<
+/D [1267 0 R /XYZ 90 234.976 null]
+>> endobj
+1274 0 obj <<
+/D [1267 0 R /XYZ 90 190.559 null]
+>> endobj
+1148 0 obj <<
+/D [1267 0 R /XYZ 90 158.813 null]
+>> endobj
+1039 0 obj <<
+/D [1267 0 R /XYZ 90 127.068 null]
+>> endobj
+1266 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1284 0 obj <<
+/Length 3161      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s۸~���S��F0��7'vnk���i;�恢�c������= o�8�mg:}�s �������N^�=�=;��$$������IH'Z�D��|�~�}3~@X�� C}����Woo�;��=���N�
��&����':Y�̈́�{�i7�\�s;Y��vF�K	�KaL���f�0f?�fʕ�gI9�q�{��6�8�ʴ}��O�mR�ϧ�ƶ�iQmV��'\��
��?�S�X�l�	��/SN�|[�;��i?c&��I x3�uWu1�s���U��ԭ�y���UR�5/�4��dly���Gk�e4�/��
,T�v
ԌрLg�Qo�/�l
��-��>e�yI���8���3xI3��)����Tf��g�9	C'���._���?�gJ5��~ k��T}:��`ۜ��}�;Ѱ�h�EEka��ꨗ���3G�1�s�9>��{�n����#��l���([Y��!����<eȄ�0`ޅ�É%QaǬ�]�bE�缰b�!��@*Qm��,�e�U��
�UZVE�D�ԕ�3�
���4����\W���҉�]�ϋ���)B�'�mo��
kf���5�>�'�2e
+PQ��C�u�
��:IV����_;̨�f���L�z�yX� ��
3�`&���5�W)�-F���
�!�9@�r�Q�h8�
��Q\Yq�ke$��GC�s
h�@�F�\
��:(9
��|\6h��TK�!�F�mbg�*w����M�֯(d�?}��>m�親�O�����I
�#[D��
���-Ƥ�;߀���D{����<Ȧ�mOɝiA�j>|�,
W��Bt�g���PM��;��������nPB�ZB�+7b�|Q�,�U�t:ST@��i�L�h
*�0���m0�>�<0_\z�]���>o�d���i�d�V�$I��
{]�Q���u��]��l���M�a1�S���vv!��
vP�΍6s
��(7�n�0�
��pH�7jL��q�(�<zfxV�|f��˴ލ�v�(��z�t��g��j�
=�"A�
B
�B\�2����n<�A{6��xD����#�l8b�
1�q
mdi�8��
+ at 4���9�3q�i�V������-�'�U
+"�n6u�L�DWD+T2���/�ze���Eeދ)���q鞷Hˋ"-S�H���gf�m��q�عH�|��V���
+�O�g��:;�����&Y��dQr(�6<�#�x'1c�E]��ؾ����
�r
-a�|}a]ݾ��jP�{Yܧ�7�U���J��� D��Du��c��j�<՗I�K���U��M��1,�;#��~
���c6<�
ā��w�����I6cJv�d?�`� _ބ�iAJ�T��[
?�P�=��Ud��;C���b�8O`v���Ӑ7Co���!�i98H��f�&��ׂy�<��H�ʎ(�*ٕ�`���:[��b�7R0숁uc5YH|�f][�b�>�9��e�E
CXɾHJ�������ȿ��
恥���@k!�P����f��
�� yh�
���
2pe�:�@x�F
6e�9
�;
+����udx�����
w�cٷ"L�p�
�(

��3
�
P�0�Q�G	E�
��j��ʓ�T H��1����3݅gȚ��
ϐհ�o�RGs@
Z�hp�C�
�NW�.-Z!k��6��ᙡ�'���aV$��>4Q�O�� ]����h	��:�(0h��� �g�NYs Q����Ӹ$7��T2�%1&O&���� �1�>w��J�^�����#I�+!���V�x�1�#��$���AT�������{�f0��!�y�
W������.p�F��R.M
]�r���֦����_�	�`�38��&�\�$h@��ý�Z} :(
+�����A�h6�����!`�\T|M���X����(`��.���_�	ׇ)�^��\cy�rU������5� ��͝6P��c&CE�m�I���
�u��Yg3�5wϦ"����lҌ�@b�
��d6��l���
g3
���
�w=c��
Gpd8���VG+�vah�]y��>**�
o���</��f�
�~��8��EO��Q#لr��XAC��
+�����3J�ݾ iu~S/�h�$ A�	
	H!�w�˓����A 9 ����}@JH��o0':@���pL�
@
+zH1�h ) 	�q�w	��!_)�=�R���|ew��Y/
�׎��C/ό���8��冀��h�}Q��	&���H�b�'��Kq�e����+��+�a�qSLP⨘ �S�&��
��yu0,&�
��ܶƋ	���
/&���� MSL�Uv�f�'�1$	�<X^�
�	ks��"
+#���y�ʳ���U>䤭ֽ�@�܀g3
MRڕ�X��A��ui*{�*�ޥq�:Z��6�Q��>8�I��e������S?|5ꇽ��I�f�^�:���@7Q�V����+<���h�%��X�E0[_�̞�Zd����n��@`��Z�q
�:Y}���w�fw*����-��������m �J�kko�i���o��	"�At-��f�B`ʨg�<��I�1_D�K��Mds�x
mS�D�Fn���
wX����`�‰��±��-�q��d-�^����5w�F㨽�CR�q��X7-s\�TO�W�q����B�a�ƅ�?�q~؋� |�`��E�0�⚚�	�
�-���h
��10�m��
�W0E#}r
_��g?m�
����ǩ��# <}G��P�A�%���+ڳ��Y}�Y}��:R�A�$6�Q
�>�W�ꋡ���߷�\''K�R�":�00�o�~h�?'*H��y�]���ej�l�MY�3�?��E����@�<;����"ՠW
+z	
�����'O�]9ި<�
+�������5_YӢU7W��o�]SJ���7fy�L'es�
+*
\�Q�nly<��-��1�z�(�P
R@�-M=C��(�.��) d��M�1?�������T���>��T��RCfo������i�
��6�f�#��މ�e�u��`�Y7���l)�-��hj���ݹ>���q�|ss��2)~����
ϣ�n�4P�[�7�fPVW�2qF��Xo=X��.ޏ+H����!��
��׆����m(�ګ�#��
��

+endstream
+endobj
+1283 0 obj <<
+/Type /Page
+/Contents 1284 0 R
+/Resources 1282 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1201 0 R
+/Annots [ 1275 0 R 1287 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R ]
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.519 614.155 513.996 625.059]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 602.823 289.253 612.72]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.322 367.695 328.933 378.599]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [345.113 367.695 538.388 378.599]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [211.932 320.794 429.117 331.698]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [123.594 156.803 340.779 166.701]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [211.932 74.333 429.117 85.237]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1285 0 obj <<
+/D [1283 0 R /XYZ 89 770.89 null]
+>> endobj
+1060 0 obj <<
+/D [1283 0 R /XYZ 90 691.48 null]
+>> endobj
+1286 0 obj <<
+/D [1283 0 R /XYZ 90 645.297 null]
+>> endobj
+1288 0 obj <<
+/D [1283 0 R /XYZ 90 598.301 null]
+>> endobj
+1289 0 obj <<
+/D [1283 0 R /XYZ 90 538.822 null]
+>> endobj
+1290 0 obj <<
+/D [1283 0 R /XYZ 90 503.876 null]
+>> endobj
+1202 0 obj <<
+/D [1283 0 R /XYZ 90 469.05 null]
+>> endobj
+1291 0 obj <<
+/D [1283 0 R /XYZ 90 422.149 null]
+>> endobj
+1059 0 obj <<
+/D [1283 0 R /XYZ 90 363.173 null]
+>> endobj
+1292 0 obj <<
+/D [1283 0 R /XYZ 90 316.272 null]
+>> endobj
+1003 0 obj <<
+/D [1283 0 R /XYZ 90 257.416 null]
+>> endobj
+1293 0 obj <<
+/D [1283 0 R /XYZ 90 198.56 null]
+>> endobj
+1294 0 obj <<
+/D [1283 0 R /XYZ 90 152.281 null]
+>> endobj
+1295 0 obj <<
+/D [1283 0 R /XYZ 90 116.713 null]
+>> endobj
+1282 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1310 0 obj <<
+/Length 3384      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�H��W�T�E����
��xb�<�3�5I�DK�P������� Eʔ�j�j.�@7����h��r"&o�^�
���$��@���I,&��}��b�ѓ�
�3)��^fwyV.�d��J�=L?��:1R�B�0�S�[��o��<��(&���~M�룏��dͿN���h��)�'Fi��'7G�
	��xr��&�_��Pw�ݳ�^'���b��v����L��{�,���J/9���z�S)�礡w�Z�dy���K������~��w?��i��` 
��NI�HQ����r�K���Z�M�;O�:����$�S~�,fn�g
+����
� ����_J�?Mg*�ަ�V���X�EA�,�?K���u�Xyg���[2_�Uڰ̭�o��[�g��d��t�5eU��N^�����
��~]M���y���4&� جRj�u��+/K��廴�U�x�e�{
+�(�/���@GzeA�g�zSi������xS�7��kx������4/7kP�FZ3\\�7y��I����w��L��mU�9�����j��-�.1�1
��{��l�Vx7u��k�́�—�s�c�I�iM=�	g�j\%�*[
�$+X��Ph����-8t�������}O��뻴��ˋks=�1�
�
-���C����!Vu�H4�u�g�'m���	�-R�L�5vM�ۼi��j����6��!�=O�L؏qnJ��z���A��U#Th# T$w ��+�g�@9����@�;"Ԝ��C�١�uce�Fm�q�?B
б�١ٵ����PEY��25b>@�Z��
��t[N����
7���X
��ZEO,��_Wi�d���h
�&��t��p
ouvI�b����/�f8�%� ��T	o۔�IY�p1��O�>��5����{Ve��h�95
vd��[+��
��'[Or&À7�Y%�MS����q��i��{�#>4pp��

�_�ܜ�n�ϰ�L�;�;t�@�hџ��z�s�v�
Ҩ�C�#6��C��"6���ΨC�2� ��iA�T�MZ%h�4��vlߔ�gaK҆D
0���q$�`5�y�/�@ jR�GZP�I�a�K�
_�C�<D���n7j�Xy��r��4��
+"��
�M�wuS7$�(���P�$z�V��
=�\6Ɏ�2
�'��
۬���3�]l�YYܧ��b�����_��^�-ث�&9�gJ������a�e�]�p*�!=� dog�؏t窗��v�z�+����!��J� Nў���3���S��7j0e�~��v&M�~�SSn�h����]{Xp���-��`���B�dɚ/�&��[�k�؋Þ�'�������Q��.�j��zUAN��9��CQU�='v�sb�I
.�N��;'Ƒ~�&
0Ȓ_���c��Ę��&��
C4�����
+b��
N5z���iİϵ�j������C��#�*z:

�4�gyr��4B��
�
�ˤ�z�/��-N�:ҳj�͋��o߾��ϭ�`����٦���B���);��Wݡ�Ӷ&C�k��}��i��M��1�'O��6�
+��<��[ V��enf?s����D�

�;�E]��":
4�E����q=��M�G��N�U��ǂ���6L85����z�	�З
���$�f�d���_(�0|���~�& �X=B���x@��>q����;��F?h;g�8�ġwK����)u�޽L���z�@`�
q܀Ղ�`�y��IG�;�Q��^
��*�: ���
ݐ������x�@d}����[�cр���V0[�u�׵�tz ����c�o� R�3�2j��S3�}����s�g�v>
�a��S�ç~|8���g��,l C���g,}�
|"��N��L��fG��6��c0�0�c��cR�'��&sus"�DdG�\�6
����yD�s�#��0
.9��*�?��F�1��0*%�_�W���O~ 4�!�c�&xff��
�G�I������ZR�s�
 5r�Ԁj���Dj�}��@KGj�k��;�
��؆���gî�U�9���e��� m�����
�6x�P=3�&�"
&�ĺpbL<3ApL1����J�:�@��rw�鰢d5�kN=�E ������n<Njhr��@�\n�����%\�w-wi�Q9[o*|e9'�����X� #�b��t���
x��%�iʆ��S-����������7�����0H���>;����<A�=��*�'����e��� ��n6
Z��c*��Q���玹�5]l����
��EJ�Zn�3%,�

+AlT�;
����`��.X���~x��.��j?<�H.ԁN?<���C�RI
A
�%�8� �˯C7��`���2��V�#��OD%��z �Y�}�%��=*��DI
y�y%�ޜ�PH�ԏEI
�%.Ə��P��W�1�n�.
��t?�„����n���Kt�?^��� ����ƙ6wo�媡KL����b6�/�*kVk���p��'԰X�*��I�T��2�d�6�Fǵ"�9.�M�x-,l�8�
�
y-�
p�~���.=W
�}v� �È�0�Î
~
i���oi��Eq^=u�
s���a��vT�2�M���7���*|�H�����c~
��D�d?V��`$�ާ���ro3��
(��u:�u�
�9��
��RZ�N7�������ѓ�6��<�U�}4\
<�u��SZ�Q���$�#��'�(��3#���gU
X�fl��|��|4aa�U�Eی��[7��Ap���uy�/��?y�=�P����SX˄���mOaAvβq;��qʧ��#���Q�1iQ�����p�
�ۂ��)7��'fU��=�*Z�+H^c�ȧ��rY����j� 1��k���i���,�c;�²'��0~���GH0F{�#�
!q��?ՠ�F4<W�&?W�x|ȋ�.o��@i
4�xvԍ�;;��������Ύ��-:pv��+�w]*�u�G
&�5x�&�g������5v�D	���
����%�z��Hrz�A���#
(_�֛���^W	$3�<��%�>ܜ
�7�s���G�Q��x���sGK���e�0~U��p�7�~u[�
��
�b#��o

����

+�j��
Z��������
�{6/��?GN����]�%�X��B�CV�G�B<�rF��
�!��)��>
�O�්��D�P
+
�hB߂>q�/���������_�
��
�b�
���*w�����ι��t߇���m�uZ,�yG^{��[G싰cR
ℷ.+^P�>�rf�_}��h����	��?� ��0TN��mGn8�X�ɫ6x�9��,�
+endstream
+endobj
+1309 0 obj <<
+/Type /Page
+/Contents 1310 0 R
+/Resources 1308 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1296 0 R 1314 0 R 1297 0 R 1317 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1307 0 R ]
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [440.273 511.24 513.996 522.144]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 499.908 265.342 509.805]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [482.116 419.946 513.996 430.85]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 407.991 307.186 418.895]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [154.856 396.659 258.468 406.94]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.646 350.389 426.585 361.293]
+/A << /S /GoTo /D (index_BHZ07c) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [294.32 304.742 511.506 315.646]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [365.665 292.787 469.276 303.691]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [194.168 247.14 411.353 258.044]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [316.241 235.807 419.852 246.088]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.098 201.493 414.595 212.397]
+/A << /S /GoTo /D (index_BHZ06b) >>
+>> endobj
+1307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1311 0 obj <<
+/D [1309 0 R /XYZ 89 770.89 null]
+>> endobj
+1312 0 obj <<
+/D [1309 0 R /XYZ 90 721.073 null]
+>> endobj
+1313 0 obj <<
+/D [1309 0 R /XYZ 90 656.959 null]
+>> endobj
+1203 0 obj <<
+/D [1309 0 R /XYZ 90 598.64 null]
+>> endobj
+1149 0 obj <<
+/D [1309 0 R /XYZ 90 541.038 null]
+>> endobj
+1315 0 obj <<
+/D [1309 0 R /XYZ 90 496.013 null]
+>> endobj
+1316 0 obj <<
+/D [1309 0 R /XYZ 90 461.699 null]
+>> endobj
+1318 0 obj <<
+/D [1309 0 R /XYZ 90 392.764 null]
+>> endobj
+1319 0 obj <<
+/D [1309 0 R /XYZ 90 346.494 null]
+>> endobj
+1320 0 obj <<
+/D [1309 0 R /XYZ 90 288.892 null]
+>> endobj
+1321 0 obj <<
+/D [1309 0 R /XYZ 90 231.913 null]
+>> endobj
+1322 0 obj <<
+/D [1309 0 R /XYZ 90 185.643 null]
+>> endobj
+1323 0 obj <<
+/D [1309 0 R /XYZ 90 116.086 null]
+>> endobj
+1308 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1338 0 obj <<
+/Length 3496      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[wӸ~��۸kWW��@�e:�s�Y��&j�cہ���goI���M�5�[ںY���/
+��fd�������K�g:�	Kf׷3MfJ�X&PZ�>F<9���͌'iLu�l��_�_����B����ї#
+"2����U:[��>�IfK�~3#1���m��	��Y̮�~;"~)��(�)us|����?��]���		�Hͺ�~���<aѳlUfu�J�F�ǔ�ȋ.�G��re��՝�6d��LF����(2$"�N7�"_dm^��kZݺ�����3�:+\��Zo�mز�\���؍�3�T����ZJ�Y��M]�na��������'B��
녝
�wY��fW[���Muۆ"5�Mk�M��8y��`
_�n;��LUs���p>�_fjW�Z�\7��d(#1��XO���%��$"�_:w�e
��h'��D��H4�D�
�@a��9�&
+�01g!�n
�P"GR tL��3��͂I�L�ȂI�
�P��ug��4�t���-Z���U^��KӚ�;`������⁀?�=�\3���|��@����ܮN�L���4m��ys�e��6[���\�
M��&��|m��˖�{^d �
�b����2�/��m��d��eY�����-��8� �
2� X
h�02
��EvS �)����c�ϳ��-�E��P_w�wm�yzr��۷x���2��qޞ\nozu?9� �Z �
���U]ÙTH�i&���M]���
�.ձ���yn���"��P0.Ve^d�ڂ�-��YNJ��	N�-�_˼
��QEǭ,!����	b
H���T���Y�z�
�5�f�
���h��=���ĩ[�ƽ�S��x^͝�ùɏ���W�n}xu4�h�cn���s,�8�2hk��L*K%��%M
�@��\�'��y�$�(:�
���o!�� �\�~�\�>$h?����&Ʌ'IH.<�#�D��������VR)c�z2����_��J>uB4`�R>ik$ln`j80�g�D�)��+�n�HU`"�-:��#;F
�$��ʿ�U�:H)���Ǻ����P��v��f�jL����8MZnms��%PMc����A�S
3؇	�/��2���Lv�%���C�$����&����8%��>��������>�]�1��â+=\]!�ӇM��.wo��)VU��wk�"�
���n�
��)K�L�bT��Ѵ۴��2��Rn�
��UK?*8V^Y�ν�0M�*���<p�B�
�\����)=�?��,N1e��')9L�`I)
aN?Ċ
+��
�챢��Cݙ�Mc8��$�q4��4	��3%�8�@�)����)�}� NJF�dgC7

�)�1�����l0��L�6m}���z�y�cbG�>6Ib���I ,����υ�SN�#����4����k���\����xfRD�@c�I>��52�
�
+oL	l�[9����|�
+��U-�7y����
+�C4'e�a'g7%FR�⮮�j۸vEV����X;�ѹs�Tł��).��p�u
��
+n�\G���e^|�c �6>ZU7O����X�~î
7Ʃ_=�B��=�� *Y�\5�������DxI�;�r^B�W�@��]ݯ��˷�)%"N�8��6�0����0,Ć4�'����&
+
�
��;�.8u��W�i\w��@��b�@�*x��5Ϲ���u�P5I� �/�S�
�A�-�MG�C�4��԰ǰ�ҹ��A���Q�"[y�z��s���jqn�~f�B�p��"k���v�j
s��[��-2�)K���
��k�h�yW�_�Ƶu�	/�v������b����`� �ޙ,o}Ͷ�CYr�'D�v3�b�XJ��C)
+a��EĦ��ʅ��e�ײ�E;���Z��Z�3��-��z�s��O&3&:�#�UK��Iu���/������w��I�G�l�=��[�p������C���m$�^�
�;�EV�?�k�y���R����c]j	��/߽8�׾�pp�	ס�Pr��Xf�Q>h��'[q��{�
w�q�R1Iv8�o�SPy��);�X�X�cƼB[�F粳a�@�@�K_����}eM
V�~u�ߨNQ�Ѹ�3���΁{PK��)��/.s�$�S9�m��r� ��0^�$K/9�i�m�'C��֟y�t~�Y���ȶm����Y=���������L��:*�b'*������m���sA��
�7-����m����re
l(y�
 � Mr�-K�t7M2�r�g����M<�����#��I+(��?8E&W�

b�]J�����‚eKNbj�]��8�|16J���c,����b�˧C���OBLB���!�b�'��B
�͒ f��$�Hn�4��B�q��S�@���b�t/Yq���G-�W6�������Xb6�A���G�4&J�d
�/S�' �Rl�,U���M�璌��>��
�H�>e|�
"��
��b�
+�+#JeDɩ�
����NQ>

e]8����\�����-k��z18^��X�T�K�q��q�7oƩ]���}0P�5w2/�0q���y�;s;�n O� ��0
sS�T�y�&g�
v��yѻ�����q�e��ډ�I1���$�~�
ˮ��m�L��o��il~��4	�/^eUM�߀�
ʪu-E�?�df�|GG����^e�1��{᥷��d���.�����)$��+�[�
",�65w��Ųr����|�˭��;��Ϝ�m�^�
#t�sm�p���&S�������#mk�XC����hL�|�q��L(�O<�j'q"�t

}�ZkC�t���플S&�!�Á5'����n8�
o���"[�%���M����/�
�0����Y���5��4��QgI��%FB
/��|m�����nRc�+Ad��p�^c�Rv�XX�ŗNc��T���
%�]�Q|'�X�z���8��ű�b�?x�(g)^2�{i�2��9�4�����{�U�.�^��1����
3�S��.���Ɓ���������I������KL�Ċ�q��G��^?�VP7m�D����т
vF���Y]��V�D,^@۴��q�b�<v���1���!���`$M�����V�8M��h'8ј���:���'
�1����*y4���zJ�mKZ\w�)�n'��h�[`�}L������.�fE�e��ځ��v�[�4��U��?����V`�3?��<��ɐQ;�GR��2�C)@&�J��gx�2��
���Xq���ַM��M8
J���:X^
Q���/�7](J�;J��t��v�0p%
�^l˪���@��� [...]
����z_E������tYzX̺�M�י>��;����w
+endstream
+endobj
+1337 0 obj <<
+/Type /Page
+/Contents 1338 0 R
+/Resources 1336 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1305 0 R 1306 0 R 1325 0 R 1343 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R ]
+>> endobj
+1305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [188.47 639.905 405.656 650.809]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.587 615.994 394.526 626.898]
+/A << /S /GoTo /D (index_BHZ09c) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [482.116 583.807 513.996 594.711]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 572.475 193.611 582.756]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [210.986 572.475 404.261 582.756]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+1327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.005 339.186 357.146 350.09]
+/A << /S /GoTo /D (index_BMPZ12a) >>
+>> endobj
+1328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [194.985 295.667 298.596 305.948]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
+>> endobj
+1329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [318.23 295.667 511.506 305.948]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+1330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.297 283.089 243.016 293.993]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+1331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.831 151.22 224.415 161.566]
+/A << /S /GoTo /D (index_BRZH02c) >>
+>> endobj
+1332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [277.924 151.22 495.109 161.566]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [188.779 119.033 405.964 129.379]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.334 119.033 501.476 129.379]
+/A << /S /GoTo /D (index_BRZH02b) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1339 0 obj <<
+/D [1337 0 R /XYZ 89 770.89 null]
+>> endobj
+1340 0 obj <<
+/D [1337 0 R /XYZ 90 721.073 null]
+>> endobj
+1341 0 obj <<
+/D [1337 0 R /XYZ 90 681.622 null]
+>> endobj
+1342 0 obj <<
+/D [1337 0 R /XYZ 90 612.852 null]
+>> endobj
+1344 0 obj <<
+/D [1337 0 R /XYZ 90 569.333 null]
+>> endobj
+1345 0 obj <<
+/D [1337 0 R /XYZ 90 526.506 null]
+>> endobj
+1346 0 obj <<
+/D [1337 0 R /XYZ 90 492.5 null]
+>> endobj
+1347 0 obj <<
+/D [1337 0 R /XYZ 90 436.284 null]
+>> endobj
+1348 0 obj <<
+/D [1337 0 R /XYZ 90 380.186 null]
+>> endobj
+1349 0 obj <<
+/D [1337 0 R /XYZ 90 336.044 null]
+>> endobj
+1350 0 obj <<
+/D [1337 0 R /XYZ 90 279.947 null]
+>> endobj
+1351 0 obj <<
+/D [1337 0 R /XYZ 90 247.76 null]
+>> endobj
+851 0 obj <<
+/D [1337 0 R /XYZ 90 191.662 null]
+>> endobj
+1352 0 obj <<
+/D [1337 0 R /XYZ 90 148.078 null]
+>> endobj
+1038 0 obj <<
+/D [1337 0 R /XYZ 90 115.891 null]
+>> endobj
+1336 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1357 0 obj <<
+/Length 3451      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�8��W�TmD �Gnv
{�<�{vvg2Z�%�)R!�x�_�_���YI|�r�	5�&���	��r"&G�7G��7��8P���n�I�Ǯ�k1�ӑ�
�3)�pN��<+�U�YM�v
��\N|��
��
�B�
��9�|$A�,�F����Ͽ�d��D�^
M
̠��W
������#aW'�Rbi����Wa��ys;��<�	^��:hWy5�R:�t��*�u�p;)���Ӊ����cݤ���ܹH�lYp����"	�[vI�Xg5�
+�;�ө
+���NY�׆o�)h����p����j�\M}�e����X��K�
f
����d��Z�f���T�u�w���IQl����9y���?�7e�m���,�yUe�<��im�w<Ϯ�����z�%�wI��&���a����YH����
LT��I��T�T�l�uR�M�=�MYd%�*-�����o�'�%�0&)c-f�D�����E��f�}, O%\?�
�b�,���t
2mA���A�h�z�TF�4Ɯ"5.��4HB{^E:o2:*b�q|�i���ERU�T��l��d��3�
=W��3%Ɔ����M����MZm��I蕴�8"К��.?O��cQ�K�^ba�4���NV�X
N:�rSV��=����~��F?�ói_��U$�6,x��3㭶�v�Z��m�J �� �ŷ`g�5tf�,-�a�)̊,�|��
�	���Pk0�
m�̷�+�#v��FOB,"��b,�Ѕ�h������
i74�Cِ^*�&B�$`C��gi1O�,YBzFg.�Vω�� [...]
+
E��/Y��h~!3 ��ܲ)�u�!��])�]�Y?F�Ox(�	��*����Ch�)/v>��Ґ�@���z�¢qN���ڢ��N���ābݘ<<��i���FMf��}����a)U02�H
d4#���o�uYX�I�}����Q�
��x���4�bӗ�R��5�ӑ�Q���
0����D$
5B
:�wN�eYe�j�c�ʊ9|B
�����c�ie�)�]os��M��EY̊�^���}MF�e���V��g�?�HG���ڄed"�A
w�A���֘b���QEw2����^��8g�fk��
+b�>�>���<�}�N������>T)
�
]����OZ�����Ȥ���:�P�ϱm ��?�z y�
=��?�<k��	
.��	
��C �bH���NO;����0
�&H]���<BaH�ý
C���~C�7��$�t v0��
p{GF:#Z�
S��!�s&
��Y�
+rα����އ�����a1P�O at C

=�6���04�Ej�"�F@�x��jp������tE�:!ߞ�YR���?�� ���GΩy��7_��>����Z���'�r���¨�7iQ�S������NgM�c���1A8�V
�
+2��}?<���m���.m

+л�k
w[N��'������S
���ƽ��P,�<M�M�!:C�Dn��;;�"S��<O����m�Jd��;�Iݔ�|��
���}su|�m�e�/�3���\��J�)+0W��Ğ_�ΙN�-��v0�5h2������`"+3�ts" ��#
��q��Ӭ
�.��#���
��2D��-%"H���>d&���wҰ:���8|�Rh7���Ȟ
+�$�n&�I�m�Azh�����H��DO�(�7>�dw 
���ӏ|�N�>����
OD�O�V��6w����iɇE.�<ߟ?�����(�(rl�c�{3D/�*��(��q=ë�_��aY��;����t�9��o	�m���WU�0Փ�S�Y�*�c���*��j8�UigW��@�O�0�=Sz�����Y���
_��D��ۼ�w��jXs$��Q$���Kb�H[��>3N�Ce�y�ߧ��۬H0�x.bf�@��f@�ښ�4�wD�3�uNel�rv9��r�i��X�OL�}��v��j�1��|ծ$��cb���;܇���*��7Ӗ.�m^�y:gÀ!l�6x+��u�!
������a�ǰA�"����
Z��9���
���
+�ƣ��E����D�+D�tj
#M6�On�X��t�H
|�T�n,�Xs��������5qXhU�ģP�2\����,��>H��O~������t�vS�u�5!�4i�7��e�*ʼ\>N�2��wɶN`
+yX���6�������������W�b������t�'���i�P�Z�~Ҷޒd����
t�HVM�yy|����f��.�ϕ

�՝���߉(�hg��A;����B�;#��
�~�|n�n��H�Z��`լ�C���,���?r#9�ggf!�|(���s�4��
�Ѐ.We�����E	+g8�k��,{��
:>�IJ5�D��v���X��馶C8(V���u���m�9�w�0`Q����ɩ�iЪ��uRe_S
PE��E����KQ�f�%$�I@�ݩ�u���yU.Ҽ�J�>�U�C�G�%7����띪��SH��!(:8U� ��vޖ�e����{��bϳw����#��Y��uD�@����nN^�\3;��>/ ��w��y;^/@�1��^B ����f�UL���7O��?
+�~�M��
�T-�L��uI5O�hz�I:�@B�wrX���
�q]��R�����5-��"� ��r�xc*c��v�eY?t����"�R
��
���}�D��/�N�T
��-��n�-�@�,���A�L�$$�V�1��3���鴀��P�k �|c� #�jotsxa�5�&y���<�O�x�w��8���p��\j����MDX��1��a��;^�
VZ�%�dBoQZS{+
>H5B.��}{<��>ͪ��'��ۺۗE�xF
+ʟD!R�=($���!b�����q0� �h�g����U�s].����T��k���J��Nq
����ڴ?D���>4�˴\��h[��G�o������=_W�f���@�![��;
+�/��9f
�[�C�Vg��Ǩ��5�ب3�l	W��v����w�h���|��:��c Q��O����0��e���x�d�/���o�����C;�}~L���s<�����6M�B�Y�X���э�5\DHZw��d�bd=��*���]q��� T�F	�W�M5.+IS���l��)�+�p�,�_Oѥ>T���2_KaAd��b�Z
+ʪ1��$��D8WW�,D`��Ayn�֙-�Ѧewвh+Y�v�:�4=�[�K�ڇ�ǹ��v�xp�BۿE�`@W�b<-f]VvCYA�F�+�
Z+G'�ZI@������L�7h��v�%
�Y{���?P����
+endstream
+endobj
+1356 0 obj <<
+/Type /Page
+/Contents 1357 0 R
+/Resources 1355 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1353 0 R 1368 0 R 1354 0 R ]
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.563 264.531 513.996 274.812]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
+>> endobj
+1368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 252.67 139.813 262.857]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
+>> endobj
+1354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1358 0 obj <<
+/D [1356 0 R /XYZ 89 770.89 null]
+>> endobj
+1359 0 obj <<
+/D [1356 0 R /XYZ 90 721.073 null]
+>> endobj
+1360 0 obj <<
+/D [1356 0 R /XYZ 90 681.491 null]
+>> endobj
+1058 0 obj <<
+/D [1356 0 R /XYZ 90 614.515 null]
+>> endobj
+1361 0 obj <<
+/D [1356 0 R /XYZ 90 568.053 null]
+>> endobj
+1362 0 obj <<
+/D [1356 0 R /XYZ 90 524.366 null]
+>> endobj
+1363 0 obj <<
+/D [1356 0 R /XYZ 90 479.961 null]
+>> endobj
+1364 0 obj <<
+/D [1356 0 R /XYZ 90 446.794 null]
+>> endobj
+1365 0 obj <<
+/D [1356 0 R /XYZ 90 416.282 null]
+>> endobj
+1366 0 obj <<
+/D [1356 0 R /XYZ 90 381.894 null]
+>> endobj
+1367 0 obj <<
+/D [1356 0 R /XYZ 90 351.382 null]
+>> endobj
+852 0 obj <<
+/D [1356 0 R /XYZ 90 293.084 null]
+>> endobj
+948 0 obj <<
+/D [1356 0 R /XYZ 90 249.397 null]
+>> endobj
+1369 0 obj <<
+/D [1356 0 R /XYZ 90 192.319 null]
+>> endobj
+1370 0 obj <<
+/D [1356 0 R /XYZ 90 148.632 null]
+>> endobj
+1371 0 obj <<
+/D [1356 0 R /XYZ 90 104.227 null]
+>> endobj
+1355 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1375 0 obj <<
+/Length 3677      
+/Filter /FlateDecode
+>>
+stream
+xڵZKs�8��W��v�  �Gn���v
�ky���́�`�e>�J���ۍ�f�Mv�t 4@<����!6������뻣�o|gڡ'����,d3�
m���z�����.g��<��=�p}wv}�Ķ����/G
�،Si��,Ύ�����P}9c��oZ(��g:[
������'�Ĺ�9}�Ϸe��N/�x�������͜sn���t�7��K�5
�e
�IL�Q
�sn
����➞i����r\�r��X�{`�/�(M�D�>QT�:Ҋ�$Z���#F�ؕŦ�23��\���{��xr;������
+䫇9�ցj�|��к���e��3�|%�h�����R�.��7���7a�y l�y�{w�7�o�^���|��
oʹ+�"V0F���˸*�J�UT��kU氳n�����(��6k4�,����t
�2��p���y�UEy��^2`6�Q
G؈��sY���"�jN�~Ui��T^�VHn}��Q��̈��撦ŗ}��F�@�q��BUB�Ɔ�9N7s���E�`渏(�!�,K���g&����
l;9
�@ǹ�l/l�I/��±�Z�СaW
5��vr��z�������@]uRd�=�,�-�D���\�a<�]����;^h��7f��{ႇ�H�.�Ͷ.r���;S�a�mR��L�9êt��L�M3�$�=���,�k�
�!��nb�_�>���-�`k
1��� >��"\�a�J�-�ӳ�
+��}�R�A��:��V�Z��WU]���"�	=�3��0c
��4���jT^
��`W���$�0��M�v�Yǰ D�W8�)Lq��f0>��[��
�-ٮ��V+����=�SF�{�T�F:��p3��N�丶`���΀�1 60 ��	ۗ^߀�c
Hw~ �*L�2�����X�0����C��{0wh��lE�Q�OZ�L�oQ�Z�haA��7��(�V�nI[��^�~�-��*A�
��u�Aݗ�vՎ�V�x�R-Z��U��QB�W��G�+�ό	,)#�#
 ��$#iܼ�ɀ��9���=L��+���)-�@qE�_ړ;�a:�R4��<
���K��A�62/���(�V�����=O�!EQ@���E�|hU��5��^��=�V5
���:��t4���ʋm���``{
2k��UW|y��z?�	œ���O*��X���4�с�#Z��ڢ��:��,�b_Q��t� F��|�ؗq�_�Z[+���aT
&�ܻAB-��uF�#!���T�ƱVz�\�O`.�G��Ѝ0*��\�c.����q��"t~�[
�ڌ�����o���Ч�y
��nC v��9�ý�� 2���>"���,ી�����F
�8�L�YZ��u��j
l���^]�.�L�<�?a]��X��颷��&��M��6aqn��
�t�����
SIS��0�MP�v��
Z��ך�l��
 �s �U���G��m|�k{��2˿0N��	�R?a�y]E)�JOZ��hd��
��m��\�X}��b��<1x�]��eTV��@�z"�2�m]��Y�
�P�*�h�Z�;���!���a����]�.8���
���j).��cCR,����	t�#����|�ίB�4��`_�3�B��u�Wi�z�k��,@O��h�T�q@ݥi��ʽ� ܵξ��.x�
2s��@\���� � (��cU����2���2?�;P:���
�4��6GO�{
 ��e���
+]���x��������A��U�֜���=
�}?�7K*j*}z��}�N*��&be8Y�+����38�>�	�;���1�d� pM+@$�B���s����̈ޔ��i÷'s) N�e�7��6�jݦ`ԋk�>����Z��g9�~M�Q�����
8��qD����g-�w� ?1bd��
fa
�ی
+��pq}FeD���Ηjȵj��
U��i�q�
�Ck
=�Ĉy�/��Jr#@1 �h�է�}Z#��H�G:R�&<zᮃ3\ʩE;;��R}���@ 9�~g�%cHq=�9�UQ�H"WUM2@#�t@@��N�ԮH��h
+
ijZ�P�@Ɩb���Wi��C;�|
+Ɂ}��8̜�����ؔO"���k�@v�O�7"�*�eN1}��8gd@������Lط�掃��\	�ѥ�����"�Y
ǘ;�
��y �[Vɤ�K����N�֥�t@�Q�2

��
�&�)O�K�R��?����.΋4�Y��
g��u�K@�&� ��_1�����Iڜ�bx��:^8DO��'��Mv�:�&�����Z�O�4ԇR�^/Y���#�Tu˳Vzf*�M�k��L�a��	:��%u�
�+�A��=�(��>?�@��k��W��'���2����%����$��K���
t(C�7�y��8X��&]
��
��|��}*��uF���2S �\J�O�u��|:�}�l�a�X�c(�0R�xvM6
)�p��M�u����	=�
�8-�n}��A�?��FS���xl��?4E�yd�
�� 
+^n�}�p|�p�xkDs� ����N���E����‹�X4v�CC,M֎����S��3�m����Qf�kb�I��b=�n(���)8�M>�H�7J����K&0��K�٩���QC4&�ǰ��=��$�.���Y8�.�7`�s�^��`�����1>���о�HtL�T�C��J��418,�p���L
�`�@I�D�Ʈ��G�����
ڄ�c��
.��	����V
��^C���_0��b�T�	���E��R�ө˅�ہp'o��"|L
+�BdOggg��
����td�i[i�]ž����;���+b���P �e��5���%��\�S���]��e(�Q*D���Y�
C^M�#��*1�8�(PG�q��G j��J��܆88�r/(^�I��/a���8 &�)T
s1�S
O�38�k���͜G�>DP��똋��ɼ_��
Ӓ�Ҏ	h+�uk�oL]HX�p[���V�ۻ���в����
��8�b�5]�M�����p��
~N�P4��9�N
B�u�E�fK(�s� sl�z]�9�v�~=�ף ���ےu����d��ko�4�F
����k��jj�?,4�S��(��8�΍^���!~��h�>̨�Jiރ���dQ>T['��!P�AF�
���
|+Ӽ˷�/&y�i2�!k�<z ���b:N8�]�
+ĉy��5շ�Q�2)LŇ2���EE��D��m€������3�Ʃ� ?k,����z~���`������_�>�=�]��yOڻ�4�D����m��%�H�xڙ��)�w�J<Pݡ2rM�Y��*ts�i s��./o���$��Ĉߪ\�tBZ�4����UTC*�Q(��#��L.�8�6a��F�)���`�F�&UL�Y��
+����
+o^P�zڽ �
+�`D��SxFS.LNg�('T Y��2|d�%�?�y����������?�
1�q_['�ze���1//2gvZ�`�p
o�
��^��.x.�(��†b�[��77Wƒ*U����T�%-q*,#���
68Ѹ��VѼ
�i�C��� ���~[׻W/_���J�;.��&�uC���D�	&��jؾ��8�� ��M�
+endstream
+endobj
+1374 0 obj <<
+/Type /Page
+/Contents 1375 0 R
+/Resources 1373 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1372 0 R ]
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1376 0 obj <<
+/D [1374 0 R /XYZ 89 770.89 null]
+>> endobj
+1377 0 obj <<
+/D [1374 0 R /XYZ 90 721.073 null]
+>> endobj
+1378 0 obj <<
+/D [1374 0 R /XYZ 90 656.863 null]
+>> endobj
+1002 0 obj <<
+/D [1374 0 R /XYZ 90 602.56 null]
+>> endobj
+1379 0 obj <<
+/D [1374 0 R /XYZ 90 556.815 null]
+>> endobj
+1380 0 obj <<
+/D [1374 0 R /XYZ 90 511.693 null]
+>> endobj
+1381 0 obj <<
+/D [1374 0 R /XYZ 90 467.288 null]
+>> endobj
+1382 0 obj <<
+/D [1374 0 R /XYZ 90 424.821 null]
+>> endobj
+1383 0 obj <<
+/D [1374 0 R /XYZ 90 390.434 null]
+>> endobj
+983 0 obj <<
+/D [1374 0 R /XYZ 90 357.984 null]
+>> endobj
+1384 0 obj <<
+/D [1374 0 R /XYZ 90 327.472 null]
+>> endobj
+984 0 obj <<
+/D [1374 0 R /XYZ 90 269.174 null]
+>> endobj
+1385 0 obj <<
+/D [1374 0 R /XYZ 90 236.724 null]
+>> endobj
+1386 0 obj <<
+/D [1374 0 R /XYZ 90 192.319 null]
+>> endobj
+1387 0 obj <<
+/D [1374 0 R /XYZ 90 159.87 null]
+>> endobj
+1388 0 obj <<
+/D [1374 0 R /XYZ 90 103.509 null]
+>> endobj
+1373 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1396 0 obj <<
+/Length 3616      
+/Filter /FlateDecode
+>>
+stream
+xڭZIw�8��W�꽈�Bdn����q�ݓC�J�%�)Rͥ���T��Պ2��E
+;��b�͌�ޝ�}89��r�q(����,f3
ľ
+���}�����3Ƽ��2K�M��s����o�g�>�f��e�ԓˇ�?N8ٌӔ���l�;������~�|G��l��,������'��
�%��qZ��/��f�������ӫ�
F‡��[��?_{���\�͓CUJ��ٟs��d�fi�L}�|M�U�WiU�|E�a��EI�,�M���&�S�>��@
L���ǝ�^��cJ
�*��
��L�����$�vay {~ g
��X)�lv��*ɰ3�n���fϴ��R4�
�%^S�P�\/���c���
qd~�a��A���僡�8���Pt��

+1�v��g�9�L9瑷1�"xgԖ��U��=ߚ2O��y��j��WQ�$�eZow��^��D���DeyHcӼ��͡��b��C(�`{�w��g��ޒݾ����q<d��2
3�I�,5���sS��U��+��'��#�?L;�-
+��u���u����%�`�j�?�J]����%�v
'������I�k8���x
LF���Y:�޲L�g�;
�]���&����2�`M��Y;��5�2A�&Ձ�4K���nI�n�P�i֖~��TC�#_�N4�u�o�ZSc�9=MW��oU]&�r�?��t"L˅�U�_�d�k��
"X�p�g����1Fr����$ʍ D���p� B1r6��
�ʒ�TԐ֕�
�\����P=�@��!?��;pFԴ��Z<���
�g&�ޝ̾��/����,�cф�~F�?��{"
j�R�ދ��nC��5��n�k
JL��s�( *o$���q2c�5�[�OD+Sx6
+"}�s���Hdoׂ=��
��hJ$�`r��0
f�Hܰ���EĎ3��<P����P�n�j�RuAj�@M
�P_�b!��7J��
+�
��q.r`�RbbJn��;V̻����
��<Jy�n���<D�Z(ɽ��L���؛�5ψ�5uE�
��
+0�9��j	��3� 4/�0xo�.�5UA76e^�c'
P�i�p�:?�j΀���:���Y�~P9%#.J+ at D@oͫA��pv~C
SA���"�O��&̩��SӪ cU� ��`�|�(�����W���VԪ�ma�g����Bu�;a�8w�_�vv�D���Ya5U��0�)�32J6����
��U�s�JR�g|��Q��rg��+0⾗1h=�e
j�:Q�a�A����M`Q�h�i�q����h=�s��{Ტ�
���_�b���֯�

2:�4�7�Ur�*2��0�F

�%�I�
+<�C
� �[Z�%����� ��1{Ӝ��8C_����!�k��@8#�km� ����V��7�g��B5��]��ԲL*��@.
i�>�L�y�u�e���bI�
G�	���m�\04>;S��HM8I�7�̧�D.y���F0
+=���(��|)����o�
Nf�;�AY�r�ϻ}Q���u��{������H�����ݬjGF�q{v�N�6:�`��y9$�������\>�?�o���0^I,i�L����'� k'i�G7*m
�s
�V`�v�J-���
��~��dw-d�P�X�Βr�T�ra�]R>ٚ�7�^��� ��������6xʒ�Ӱ�PI�AMT��q�Ҿb�V2�
+
8b�\��dc%*�&�P:M��o��H�����i��]�2�l�-�m�_�O�@��D�^0T"�8��� �ۆ��2��K(�2�@poJ7m`�����oJ-"�� �`�X���S���nĮ�n�z3�*kGzg �sJF�

��d*�]_^^��:i%��-=�d��
���Y����}�3�"p
=;���C-ZxB90�XB4T
5���o�Wu�b���ܪ�-�7��n:@>��Џt8��w>EI��Yf�
��1�����{_'���
�����<�rM. |���[�L]> �@} 7�����q�
'� ���_�e��σ�{;FP�A����p��P;��&
&G
��,p��]��&Y���U����6Da�u$���!ܝ:$������)#=v�b$�u�L��>v�
h�@Ղ!�eL6s��i��*�|Q�;7Ԕ%����ay��p϶�t�p$t�
=��2�<�~m�Y?$��Il�X6k�bg\����UD�b�T�bU��"P���Ls�Ѐ���U;߮���
GGm�

S��������C�L�
�q�z&�����X8�)S��^��v�5�|Nv�
GJ�K
�mR�L"��
��O�j�m�?�mߴ5�G�
��S��w��_'��U0�S�L��q�|op�z�Zj��j*P.��
��X���A�� Ҽ�^�@[���A�+l�W䮨 ���̠��L���4 1J�D�����A
�����t���yX�
��{��7E�����(��w�
�P��5i�?�������48�`�~�xؖI��<�"[�EC�`�	�jU�{���Ɲ��ź��c���]�f!�����A	����]ٺ9Q0��� Ҭ싅q�i��ǁk{ ��%*VӾ7��6i
��E�܅ͦ�B#��%;��@Z�T���@��>�#`~���0��9��<�R�	8Pl2 "�*r�~��FUD��Ӂ}�-� ��:����7�Р�BKdo��R
+"^n�_����W+zЃ!ַu3uCl�{�ˉ�`���9���v�d�'�����{!��ꄰ��)��j�R�EA���Y۷� �k�d5�,z��X�f��
E;� �c�>�q�,�/�]x��|�C�����O��4U^Q��^
+����1�O���*����K;��\b�+���P~
M
�@`���u$�E$uo��wx��ESh�����{�l��c��џE�� ���q�sG�p_��mY�ž nW�q��\�N2�
u׊H�G"�U���Ġ�Jw�{�.S���)V.� ��8q^F���A�L^;�bwr^�Љ���i���� B��_�b���<c ���q���8B�i�\*Mi �<�Hzg�BG�6�{_��AtAP@-�ڻ ƒu6h�����L��2���|�q����EY�oM�ڶ.��i���$K�'y�
���m�l�
+8��m~��������W;	��wG��@���*���B��5ZM	��i�7�/
JxW�aU�>Ư�*�&h� ���d��D��b��4_��
+�����[�J&Aw��;�6�\�lK�h4�xu��
��S1<)�g�|�=v����睝����xx�������H]I��Gr������$n��}쟖�7�tm�/���
�;��+����.���p�P�
V\����#w����9�{����#��}zQ��ݷ
�շ
�'>�qľ�=��T(|-���_)��(`F��ߨ@�
+��1ٶ�0��W���c��
�r�
݇Uv�!���͘�������*���t�l �7��ؽT��9@�ugݟ>�Ҵy��)���������ho.�����=�e��t��띜]p�����
IA�
+endstream
+endobj
+1395 0 obj <<
+/Type /Page
+/Contents 1396 0 R
+/Resources 1394 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1389 0 R 1401 0 R 1390 0 R 1391 0 R 1393 0 R ]
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [482.116 643.058 513.996 654.071]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
+>> endobj
+1401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [113.91 631.725 350.8 642.006]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 619.705 195.753 630.051]
+/A << /S /GoTo /D (index_Wil93) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.891 146.887 85.237]
+/A << /S /GoTo /D (index_NO80) >>
+>> endobj
+1393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1397 0 obj <<
+/D [1395 0 R /XYZ 89 770.89 null]
+>> endobj
+1398 0 obj <<
+/D [1395 0 R /XYZ 90 721.073 null]
+>> endobj
+1399 0 obj <<
+/D [1395 0 R /XYZ 90 692.848 null]
+>> endobj
+1400 0 obj <<
+/D [1395 0 R /XYZ 90 660.996 null]
+>> endobj
+1402 0 obj <<
+/D [1395 0 R /XYZ 90 616.432 null]
+>> endobj
+1403 0 obj <<
+/D [1395 0 R /XYZ 90 583.544 null]
+>> endobj
+1404 0 obj <<
+/D [1395 0 R /XYZ 90 539.019 null]
+>> endobj
+1405 0 obj <<
+/D [1395 0 R /XYZ 90 506.569 null]
+>> endobj
+1406 0 obj <<
+/D [1395 0 R /XYZ 90 450.209 null]
+>> endobj
+1407 0 obj <<
+/D [1395 0 R /XYZ 90 405.804 null]
+>> endobj
+1227 0 obj <<
+/D [1395 0 R /XYZ 90 361.4 null]
+>> endobj
+1228 0 obj <<
+/D [1395 0 R /XYZ 90 305.039 null]
+>> endobj
+1408 0 obj <<
+/D [1395 0 R /XYZ 90 273.307 null]
+>> endobj
+1409 0 obj <<
+/D [1395 0 R /XYZ 90 216.23 null]
+>> endobj
+1410 0 obj <<
+/D [1395 0 R /XYZ 90 183.899 null]
+>> endobj
+1411 0 obj <<
+/D [1395 0 R /XYZ 90 127.42 null]
+>> endobj
+1394 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1419 0 obj <<
+/Length 3443      
+/Filter /FlateDecode
+>>
+stream
+xڵZIs����W��BV��`|��8�%����sr��19�X�ȿ>_O7�E���]�AO������|����
�>��Aꤑ
n�
R5���	#������qs>��q��,�������̈́�Nn�
��R�LJN�
�˃���
��r�4|�L�A��x���/J���ܒ�:��k����?��ݘק��ৎr�n����K�����vV̸ql;��0}X�t�v�z�ӑ��a�����t��r�gm�k~��j-Sv,Ӳ�W�.�Z��� �v��4�<�xNݎ�G^8,۪�r��U��#'�cH#
Cfn4���G�<��,B'J�n�W��ſ�Py�q�`α�㦉��}�L�Y�]��_$]� @���Y��[�l�q��j"˨�b"���m?T�۪�&�
�n�8RN�<� ��z��VϘD�ao��v
?�\�
��{y^��]�g�†���(:�kS׺!1���i�����_��7�7^���B�*�JPJ'k �z�!x�總�>����Zn
l�FW�ޣ�M��
t}_���a �6sv}69�e�U+���)��Y
���r��B��rZe0�ΐ�RO��
�TŻ���$O�+p
�
�<X��}����"kkke ��@��Cy~%0м�d���(

�
���� �Q���|��G���YSV�j}V�Y�ﬦ��qC�=��������0���NM
W��؈��s'�m�Mte��ˈ
�zZ�F�w�!&,�����������
�dwK ��X�:>$/P��*�u�1;�z)�6r��d���Z���!�� �R�7RQɝ:�﹅×,"z��(�ۜ��;��"�f2�^ [...]
��陡�ޗҗ��/��i�t�
O�Z铜��_ZX�݁�D6�:����#x��}�X8:��g�����C��eV�U���d�D�H{‹Ip�颀tr�K�ʪa�z��i�-^W��H�|�ka*����L���������WK�B��/Q�l��
�'�C��-L= 	6��Ԫ���j!ʆZx�����2͊:b)=~\C"%�<�[��0�קE��*�\��.�( ҝ��#�n�)�����J
��;xvκ�
���l�L�s���sW����A��+�'�
��	��ɕ���D��=�9���e��䙦����t!��m� ��B~�R
ᇆ���FK���rU3�KU.�H�Щ7@��Q���
�;�ڐ-nᴚ�^�
��
�����ܷ\�=�Qc����h�D�8H��������~{������y����D+m�8mP?��[�w��Ef���F�w.<fIΜ*�y#k���c�t�Z!�l��{�����K�ŷ1%��+���.^���+Kc/�M��s�Lsc
���u�]��{��phVt4߷���W{��=�Q�k���������EծmL��}�8�bF+�����J��S��5������O����ȏ��p
+є �X
+}��c��q�G޽����͚<���-f�j�Rؖ+
G��9\٦"LʶY0�|	�Ήeb>�\�9��ï}%Avu���uC���|�����~��>�u�Ik:5RT�٪3���fy�DV�=3�O�
���hQ�d#GJ��r�+zO��O��eF*��)~dl,����d|�7��*��+��E�VZP���r�����r� Ɏ�e�����&�m%� �@����X3��x��Li�l������c�q��������;
�`]4�P�v�í�0��*nKp��� �@�D�	�1���N_�󩺒m[r�ٗܒ>Q�x;����Oӗ�uQ&��yM9 )��l�
{�>�`@5�dwx
�����'��_[_�u8zo�E��mփJ
+�Ԃ��Y��_��PJ����4��&�y���B�	�h
w/�QQ�@q��/@ܗ��z��#v�h˝\ G���˅ ��f�ձ��(-X��N$[2��Κ��V!�
+Y0����D����%td�bְW���t�z
#������t��n�Z]�8tqnrF�
5=D��D�,�=����	EO*Gbwx}�צ~��x8��rv4܀r%�vq*
+���rU֦]������ގ�G�
])�K�>���_��abTMA��q��M[��x�]�E�f�
vU6�i0'?��EKU��N�
�����p7�a���(.:�AB�P$��t�'�Vs]Լ�E��b~�e�:��2���
�&��
�;��,2""�٪VWy6��/��:�[p�%�ʤ�ӎ9	�Y�~l/.�I`Ϫ�~��h��B�� ���n�+�~a����̬��-��=�uSe�
��_[
��+ϊy+G�7cutQ���
�����
DYcodD�Q���mD�x:撱+��E��p�}Ķ�ȉv�'�h�9^�n8����g�
+�Ʈ�'*�~4S�����O%���wɠ^ul��������o�X�m����ц���vܒB�
��O2����%�f�
���45��@�obR�8���|,�$�j?�9)?�}��\�G
(����W����svrr��B"w���
+�G�
�����b!�Y���S��2�K�,�Y�ǒ�m
Kn���%jLk��/_�@<*��@ ��dP�'��>
�0E
���68q�n%D!���)����W������ ċD4R
ɦە^)�y��`R*v0��%��s�
%���S����
c'�UǶ6vD�]c��?.�׆K�.vQ{�H��۽�%����е	خ���q���M�����暾��c
+
Tx
�J�%�	�>��o����m ��)�]�E��3C�"��i�F���.�Η6�W�[D�][�UG�3�
�|a�|���Y�Z@�jJ{z7��v$}\?4�y���o**��S�T�l^������N�e�yJ!�������&��g�p�����6�0:�� ��	U�D�y&~ɗ�O�p�J=�)ω��Bh���x��'�Y��54���G+_��n��(��q︞��tP��Ix��
��
���lf���v'��KG���ni�
/��T��T�Sxs�C��ԑ�-����6r
w��=�w����w�A���o��10��0�&�z�
�Ʊg;7۶�#��gKp\b��tc�7^Oh�i颶�?���e���������B�]�� ��CXE�!(�[�#�:�2�T��ET���~���f����t���ʢiVo^��m�FՇR��Ѯ�0��_B8�b3˲�Df�/���8����%� 
+endstream
+endobj
+1418 0 obj <<
+/Type /Page
+/Contents 1419 0 R
+/Resources 1417 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1324 0 R
+/Annots [ 1392 0 R 1413 0 R 1416 0 R ]
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.327 696.002 411.303 706.906]
+/A << /S /GoTo /D (index_NO77) >>
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.77 601.064 290.746 611.968]
+/A << /S /GoTo /D (index_NO77) >>
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1420 0 obj <<
+/D [1418 0 R /XYZ 89 770.89 null]
+>> endobj
+1412 0 obj <<
+/D [1418 0 R /XYZ 90 721.073 null]
+>> endobj
+1421 0 obj <<
+/D [1418 0 R /XYZ 90 693.13 null]
+>> endobj
+853 0 obj <<
+/D [1418 0 R /XYZ 90 661.484 null]
+>> endobj
+1422 0 obj <<
+/D [1418 0 R /XYZ 90 629.838 null]
+>> endobj
+1423 0 obj <<
+/D [1418 0 R /XYZ 90 598.192 null]
+>> endobj
+1424 0 obj <<
+/D [1418 0 R /XYZ 90 567.263 null]
+>> endobj
+1425 0 obj <<
+/D [1418 0 R /XYZ 90 534.9 null]
+>> endobj
+1426 0 obj <<
+/D [1418 0 R /XYZ 90 503.374 null]
+>> endobj
+1427 0 obj <<
+/D [1418 0 R /XYZ 90 471.728 null]
+>> endobj
+1428 0 obj <<
+/D [1418 0 R /XYZ 90 416.769 null]
+>> endobj
+1093 0 obj <<
+/D [1418 0 R /XYZ 90 384.406 null]
+>> endobj
+1429 0 obj <<
+/D [1418 0 R /XYZ 90 352.76 null]
+>> endobj
+850 0 obj <<
+/D [1418 0 R /XYZ 90 321.487 null]
+>> endobj
+1430 0 obj <<
+/D [1418 0 R /XYZ 90 267.615 null]
+>> endobj
+1431 0 obj <<
+/D [1418 0 R /XYZ 90 234.031 null]
+>> endobj
+1432 0 obj <<
+/D [1418 0 R /XYZ 90 178.355 null]
+>> endobj
+1433 0 obj <<
+/D [1418 0 R /XYZ 90 134.754 null]
+>> endobj
+1434 0 obj <<
+/D [1418 0 R /XYZ 90 103.825 null]
+>> endobj
+1417 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1439 0 obj <<
+/Length 3284      
+/Filter /FlateDecode
+>>
+stream
+xڝZYs�8~���[�*��}d�2�c<gv���V2	I�P��G����(P�3�}1��h��u��ڭ�ջ��
�nߦ�*w�$HV�U��(w�z���o��s����4T������qS��?�R5��NF���?~�z�p�ו{y+�y�n������?�U�W����&
VQ·^�_���1������ﳴ?���Q�0���7
o�&��*
+@�
Fh���&
r��:�
��c�T)�S���A5C�)�2�U�i섞S����׾��:�/��x��Z
�8��I��8v\���mn#<7Jc#��큷՚��R�·bХ��=���"
+�
�5GIf�]â(w����	��͂xu����
r�&�k6���1�N���պ�3}芦�A8/t#�F
w;1���Vi����؛��u/�4��M��������Ɨ����A�_�8�"�a�xLc��OƖv��o���DG�U���a�y�<p����
j:�
U�����g�~�Fyz��f��f
xΈ6�E�V,n��s�t@/Ǔ򁼌�w�A�ܼ�Ͽ־�ǃ,�[r0�L疃��f<l0(p� b�n���i�Zv2��[�+����0VZ���O�c�3�7~���}��R
mç6��N�G��A,��z=��:��צ-|����%���V����Ma{�0v$T��ۮ=|{8\��Lو��;�|��w����3G�y�հ	s@����5n��O���n��J�<�y��Zo:� p�m�Ԫ�͎�Sx��o��D���/E?���c�S�3zM�
+2緎4�#Ё��t��;���3 x�
��������"��kU*��������弪���GL~�
M�������w��� >�I��:Gq�n@�Z��,p�<1
�,�WM��‘En
f��,��x2=D
Z?� �DAQa�3�W�|*|�3u X�\@�N
.�kJ����ۤn
J�����3i%��\�ql�P</�3?u� 2v=b
>uz�x�'/���?���Zo;%������(��zB;6GĸkJr\�|^��O~�mi/s�xJ��a8�����[��v�_�ʍY�+��>���q��F C�o)��IE#Õ�ϹC8	�
����a�&ȅQ�id�7;�S��
�rČ�兗:�Yd�͎�
x9�1��ܴi�^�-!����TZ��!(/���Tq G�[�Co����?��X��"�A~eͨ�V[9Wm/d|�F����T�h�d�g�T������>��R
����s���ơ�n]  F�$p�]QBz&��ȴ��0K+��]�d=�"~
*�
{�6��ĔS;�X���=̗�{��2,�/~��ͅ���
+�˜�N2�'�4�S�a:�
��3�
�g��	��g�n*%��̘D�`wP2YN��q�hm�y��'̬"���1�;)#�Pc�G�
�v��OA�懳-p��w��J��6춌�8q�%8F���gq� ��
����־^2i>�z��[s ��K ��{�X��a��
c<lO��	����Pu�
;n�G��—�C��X#>.�$�tIjM<s�x��?���ţ�M	)Xkf����i�=��t���!��Q��,��N
粉_BK\��C�.�ʇ=�f����GU|fy_:�
Pl
^�-ŬcG�9�ڪ��,�J	Y����
�ϛ��o$|jGljE,0���~0�
�X�E�4
��$Pp|_
�:����/0��u��3�D�h�'9hSƍD�Ѥ��I��F\
����N���$a�"�h��/G��#�X#����
Ҟ�A1l�L��Ji�m%-�
)���)�����t�f�Fr�KrLL'HL}�7	4S
�`��$b�z�.R��-��7��T5^�̔�Eh/��Mk�8=	��`�w���䎘J+�U�1�
0��/K&�
+�F1��'�ju6i#\�zn�]�Z�b
�@�����Yh���Q���� ����}%A$���
K��� %���Y�0DJ���@+�!Qꍮ�@��T�����28��'�[Y0	w�qa:�]���wh+����%��S1m��Q1�'^/>�(cy1�q�@�JHI�㺈_��ñ&��f�#l�<]�4d�Aޑ`^?�{�L���=?���߬Q�`���2"�(�s�p�ֱ�{�M�E��ؒ�n
��A�+��4w�� �D�=�%�3�@� �
+�Q���f��0�.�<�Gf�
��;�,�,L�t}:f�0��g5@�
�k������ �L">.���E��	R��7�=�\���ƴ
&�\�L5��&�r��"�J��T�@y��gn��:��К`
+ڏz�
�ȘW?�c��ﴘk}yA���[�Y^�7�J�ƳX�Eг�y��OV���)'뜫��et�"`kͯ�]k����.|3��-^�G��c���Twk.�s[�Wg�����*c�,
!@F~�c�h&I���{bNy��R��l��)����*C۱�M46,�R)_�Ԉ��Xx�FRP�F�H�:`������|~ oZ�7�4�&��\e=��
���<��]Փ�zF��3��r:/'�|�@	ۋ�"�������x#��syU]/��ұ�����A�G]��M<�E��XphՎ���L�(��<ř�E����\ĕ���>��i.��@J�|����3
���d<YW�ޞ
B��|1�	��B�n̬.�38���	�rQ���R�����5�m���!B�7㖸�d��r�o��
������+9�RVO�˦lG��`~c|�����
+}��!�4��r�.�o?E�h�N���(+
+/c1�a;�ӯ����͝;|�
+M!��
���mY���B�
���nŜ
��a�1.������
K��
;_sr�k
+W�$��R��
 �G�4�1�
���>dؠ�
��D�hVQ�N�_�k�Ȏ�4b0\�]Z�j��p� \�b�
���w��'ώⵂ�����B3v�N����3��Wtڬ��
�h3h�`e���J��T����)=X+0|��QT'����
1>
+�c)��Ǿhє�ȜH�'ӵ�ێW���^�
�Q��� }_3��)x;.�G;
�o�jȃ���~�?I�A����A��x��͓$���R7������I����~:��/ q����j��S��a�%w����9��Ǒ�?>��ٌ�^5;��~��~x�Α�^:�,�=WQ��_7@<�k�k�{���P7I�	P�_W���i�
�M�f�n���u

+>�[���p
+endstream
+endobj
+1438 0 obj <<
+/Type /Page
+/Contents 1439 0 R
+/Resources 1437 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1414 0 R 1415 0 R 1435 0 R 1436 0 R ]
+>> endobj
+1414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.101 696.002 304.554 706.906]
+/A << /S /GoTo /D (index_Wey50) >>
+>> endobj
+1415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.932 652.665 405.385 663.569]
+/A << /S /GoTo /D (index_Wey35) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 524.699 388.718 535.603]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1440 0 obj <<
+/D [1438 0 R /XYZ 89 770.89 null]
+>> endobj
+1441 0 obj <<
+/D [1438 0 R /XYZ 90 721.073 null]
+>> endobj
+1442 0 obj <<
+/D [1438 0 R /XYZ 90 693.262 null]
+>> endobj
+854 0 obj <<
+/D [1438 0 R /XYZ 90 649.925 null]
+>> endobj
+70 0 obj <<
+/D [1438 0 R /XYZ 90 595.574 null]
+>> endobj
+1443 0 obj <<
+/D [1438 0 R /XYZ 90 562.835 null]
+>> endobj
+560 0 obj <<
+/D [1438 0 R /XYZ 90 562.835 null]
+>> endobj
+1444 0 obj <<
+/D [1438 0 R /XYZ 90 457.465 null]
+>> endobj
+1437 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1449 0 obj <<
+/Length 3132      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ۸��_�[���en�ܜ�����{N�9�IH˜��LG����T��\D� 
+�� s���w7�x�y�sm�]v���&�7I�����߼8�����&:�� ;�"����������ݼ}��v���	x�~�������wS ������t�L��M
F�-77����
�+R�`��ϦVey�
����.JCOoý��6�{�� h��ڮ9u����;�;�]��yS�����
�'Y�7��y��괠�eC���M�� ]�ٟ��|u3p�k��g�+����.����������~�L����W�NT6m�y@�7�^s�9���f
��{�w��kǮm첼��q�]�W���~F�����������Ȓgz6�Y&�
M!�?�1/
θ6ȼ�չQ%C
U�t��@���j��h�� w�����
�Y��xC2�����}��`f�~q����Au$p  {�>nS8��a�n�:�Z����gnjn������������q��N�j�-l?	��B5��t]��-�qw������v��dw���i	0���H%T��9M]����p��tv [...]

$�wI
�A�����
+S���n��z�����{6U�ج���
�],�އ`l�h$����خ�]/v�KF�g#w����5 c˽#�㒣b�zw7P��t��4Xٹ�y|*M��o��x��'a]gN灩�!X�
��y�V�o��w�qZ�J�4?�LQcD�{�)�� j���A_M]�2h�%c�t_�Be�׏�YP���וAQ
�pE+��{b��(�>��+�+`�X_U�.<aq�D�d�|�/E7%
�
S�|F�[�'�-�f
�*�l� 
�&��>L��4#�1M��t?��SC
G�o
ڜiB�.K�lb#i�DC��s� �N[���������|ޅ�V����"�L�gv����� k-�w욊[DP�+T;ʲ��`_;"eB�$/�Eg8#�H>�?�J���FӁ�[�D���!���
UMdv�j�)�
bM!�7��R��IE�?
+���`G���t���a�
z$�� n�D
�`�,{��١�U�1m+�uJ�
��l�����A��I9W�v��Uܫ.���4o�r��.�i�H
nc�Q��zq;ht���g[��
+�`���DcEj7�?�B�����سF
��P�W

'Z
+�*E
��9�3lF�/d:r��+�^0l�lm��`�"9
�1y4�3
���1lpq�hg���*�%R�iboq���|Z�TQ�ײ9�̺��Vfp��%Y�hcَ�m��n���wO�
[=����B�%QhH�d�f��2�LN3u^�e&Qv�E��`
W}����z��ӫ0
�k���*�x���@S���E6S|J1��C2�}SiZ�5o�f�Eew�찒�.���9l�ml.R�$�9��m&�&�� 
#sf�z�5�(��t*�$/G0وW�2>�3=�U>��\�R
���ݚ ~ԝs� �x���
�,d��u�xZ�:1��B��n��Ֆ�
\�Ѯ�q�Z���Dao�.��b�ܺ��3����+�9��ž=�AЕ�T�
2[���-'���8��@�-r�
i� �߳���,kؔ
�
Ҁ��x�I����8y���j��*��U��\���GoD�rj5�,��:c��7wg� �(�ؓ=�]���AŹ5�1qoi�}8�@;{i��+p1S�
St�I���t9g�:����`��4[ux������|�
ݒ9Ϭ'|�'�ZHR�F�+�4L�
���!'6ؗ�s�����[��Ņ��¹?
�t���Zv
+WζVE�+-�A#V�p
p��H�c_�A�G�?Z��ך�bS[�y'���*�Ř�ؠJQ���EZJ?Ċp�8w
ʆw�x��8��3�j钜�"�
���#tu��"�[�XT
+�p�`5H��;d5�1�Z���Ke�yUR4a= ̥�21R��N��.r  �(8���FKY2�Ό���h>s�����n`ح���d�?=�1㺆z5p�Rw)��k��U���o"�dD�à0>-�~.�BM��AV�ך�آ'�\�k��†�t[T:EX� ���`Y��
�	�.��wk�������ye�Q'aň��F�ziѕF�򬂒J�.q 
F��Q����T2+ ��>��-Q��r����
�w=͘���jl�zU~we9+.ȝl�-�Z�փN�0pV�p�ٶ@��y����JU"e��w�H@
�y��3 �Ɛ_x
+�%����A6z�\ɁZ�(�bf)�?`�ܔZ�ȱ3�!9��;&/����c����@
�HO d��X�	Ҫ��:q��pL����4�U۠��� ��h$H���!�+��c
 �� ���f�%ՙ�&6�I��'	q�<�c9�y��)
K$�/' <J�:$�'��$
{���:	����U`sI���p����RReġ֘63k�aiָ���
+cr�Sa�0m`����tXM
SNqp��Z[�N�A
+a�p�2���
+�]AFv9��%��W�Ce�l?��T�7�Opd�d�pP�U��%�`�E1��1��-B"[qe���֥�}���=¤��
����t#9_ͲE��� Zp6�>2%%����3G����u5-��t�c�*�
軑#�(bQ
ٚ�	]�)� ��
���
pו_圮�&���Ab�b��B�ו紱�1��ˢL�O �[|c��Q��b �c?
��kA&^4�ȥ
+N��ڊ[6� ��5�(��7��c��ֺ`'��sF&�ƒ�]5��,^�dH�3��(%\qK9���dWJeq��t�8� ���frqX��w"�r��j��H$�v0��軥Gc�3����p��;����f
�d����
� ���$	ipަA�F ��W��M�&tw��nBh��BT�1��`C�/s�/���c��o��ſ%p���G���{��|䐼=h-W�t}ud����ӳ�w��*9C��W�������e�2-β���v�{>���0�O�cwͼ�TIm
+endstream
+endobj
+1448 0 obj <<
+/Type /Page
+/Contents 1449 0 R
+/Resources 1447 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1446 0 R ]
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1450 0 obj <<
+/D [1448 0 R /XYZ 89 770.89 null]
+>> endobj
+1451 0 obj <<
+/D [1448 0 R /XYZ 90 615.819 null]
+>> endobj
+1452 0 obj <<
+/D [1448 0 R /XYZ 90 591.396 null]
+>> endobj
+1453 0 obj <<
+/D [1448 0 R /XYZ 90 267.351 null]
+>> endobj
+1447 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1457 0 obj <<
+/Length 3004      
+/Filter /FlateDecode
+>>
+stream
+xڕZI����ϯ�M`U��l9R�(�8Ǖ�} �&�%lB����m���q�'�~��~��
����߼�������4�
v�D%�����o�谋h�_=��W����g!t������p,M�����jh��h�E�������x��.���M�kǻt�ɫ�_�7������<Ѡj�~��ǻ������#f삀�̛���*��Ґ
@fyo�*����h��އ~���A֓��m{��F���y��E�-P��Ս�L��C��.B<m�k�O��q�Y�}��^W<��9vY��M�cά��v��Q�iJ���s��q�'�Y���Y����m����d�̎��Q�N
�v͹�*�ß.&�pG�i�
V��)�o��
��<��ݩ�*S��/*�u*��G�j�y �r$�@��(�6�R^sbk�e�ay��n�I����_V��F
�����:mۦ.Hd
��\CZ���x�~��PÑ���v�fd�6��zP�ʹ�L:VA�Y�'�� �D9�|x zY],ċ��j\�^@�2�t
�3ǵ�k�U&g���'��M��q���$�
�s8�T�?9?��e�muN~���>P�9��X�������th�0P�?{'X�r���m��,U�ΙQd}�C򦪆����NR
+uIZ@&�r���'�k�e.� 9W	1X�@4���I�[�&Ǎ]z����]�]�"����'�qXd9�
�M�.�
+c2�FVc\����V���Y&�f����\��
��7�_�8��5S|�����o�X|��.�.�p���h����eĄv6C
�V2�:aɧqFV����߁�P���=ԡü��p�$�T�
�?�}�Y��j�=lU�2ւZYS
+�MU��T�K"�oJ�h	�˜/�e���C]�	��S%�'��@tH��R`��~�E=\is�of=ph`�J\��oj��\f� 4�k�s�R	�*t�/�`9S�d�>�
3G��`��'��^�{,�|�H�L��0��)/��
+�ɪ��aW�
�
��TFvN�
�
E�f�D݀݇P�?��Š]�87
+Sq}`7C�=O��C.,Xs( ;c^Ϊb�«�E6��jmhH�;�m�3iꀖ�
����(�'�	�@B1������0�ڍ���M?�T�`\�?�e
��ߏиP
d�$5.��9ŗ�8��Ŝ@�q�����
���,_B_79
��6x~)G��taQXz3pH甏���2ñO[������m�:0��g���@p���	В<��8�h��$�4��a
�4ly�+

+�*fH��ujDͼU^A�
��<^q���ʆ��
U��t�["N#c�l�d�C)�2CK��WC�EXe��d?W

gՅɚ�¿�O�,�MD/�(���J��6�P�y�ae��H�뷢�Wq����$� �A@�J>�6�v�Tǡ�eSdN�P��}�f^�
�8�eK���A���crB.�5L��AE��)W���%@ �����#�U#.Y�I
+f�3™�B�D��9��j-1;C7\������"_�1�rT�����RJ�Y�c"SX�f��
�60�?	�I$�$��A����x���$���j�"�4�چ���B$J�v#��
+�tԗ�<�u�#,��وp~.*h2X�R�&��G㦣gP6����
���@I��fڣ
$�q]�?_���O3�� ��V.y��
��[�P%b�*t��{���V�$;.P���%��
^	6p��3����M��:���
����|S>*��fR�W��#悾�.��D
+�0\P���l׍��!m�
CM^`�7�GǀF�;�sޓ�FfC(h8�ͺ�X-���Y�P0�CGo=����{?�]	ʅg_q��>�Ł���@�����{s��L�� �p��m���B�!��c�8�y1��L]H
5�ZWn0?���+
p�����I��v?��\�l�xdV�3;t�/�#�I��F��Z����P�J�8
%���\;R�0�M�T���ɸQ�(���p�zA sN��5�_��S7 �Fu:믲\Ѵ�ݸ
� S���
xXut;�C�)����W\��
�̺��@ e�1�1Qؾ3���q,�y�w���
��]�%�\4A ��a�^ :!"n�~�w��kT�k	?[�K�fN cJ~[@K���J�w<�ѓ��t4����q��,
r�N)�>'�K�{�H})mx��h3
V՞J�‰c�P&LďK��rc�џ��?fY����Lұ:��-l�z��	���)��
�06/3S=���'Й�݆t��U���&�t�;��7F��;KX�wVXK
`�Z�䞀u�h
�+o�|��߿�D<>ħ?~�D�"�t禚���� ���҇�3�5��
�E?�C�t�_�E��zs���!� �~�Xq�cI���` �Wo	
+�����
+�b�W($�2
��1ݖ4R�$�h�)
�F�kz�S�띒���1>c�z���i�"
�S���Ix]����[��+!OȖ*�����C3X�Ri����
~�>p+�H��
��Y~q�q�����ux�탁�o&�G��%�rs��H)D�̶�@��U8��՟(#ƌ�
�+p��-X߻ױEu������{H�U
Yy�t“+'��!6R��m��辕��}�
N:�T�
��Y@L�Q��ʎV׹^�Ngw�n��W�����$���m�y
DE��Ι�ݹ�R
��If*&��&�[��?>9���Y��f
�f/�j��w��MS$�Zk��(��^�k�@%N��NNO'�����ii���p��E�Z��C�6]?qi���
�
����p�z-E�<z��;Q�T�_���}��C"N"��
������F���	��L�����Ճ�)���/��N׫�� �p���ZK
`�?m
��g@<%��]
+�"Q.}������p��8�r�
=+(�s
v~�wsG�VM��w�6C(b��9����;�4��
���4U4bNS��(���W���Ӎ�����
+endstream
+endobj
+1456 0 obj <<
+/Type /Page
+/Contents 1457 0 R
+/Resources 1455 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1454 0 R ]
+>> endobj
+1454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1458 0 obj <<
+/D [1456 0 R /XYZ 89 770.89 null]
+>> endobj
+1459 0 obj <<
+/D [1456 0 R /XYZ 90 563.344 null]
+>> endobj
+1460 0 obj <<
+/D [1456 0 R /XYZ 90 336.215 null]
+>> endobj
+1461 0 obj <<
+/D [1456 0 R /XYZ 90 188.549 null]
+>> endobj
+1455 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1465 0 obj <<
+/Length 3063      
+/Filter /FlateDecode
+>>
+stream
+xڥْ���}��o�D��t�
�Jɑ��IUJ�
ID @��z��}��X�Je�����鞾A�
��y���w
�������׉�en����˼]fn�[��������w*N]?�aa_����O��?���O�w_�|�v>���$�׻��z��?þ*Kw4�
�z����w��`t ��<�﻾�;G�����m�*p���;�Ust�:��e���]���v��~�����=Gw���ڦw�#���������n�B����s�(��s�(�$@�+n��G�9>�a���ό<�=

@XF��xߵ�.����n5|֊|���h˻ܺ�

�Y
�<u���{T�#�-� �,���S�����g�] .�R��)u� o����j�.�����'

e��*I.D"z$Y��}��U����%yغ�Gkʊ����~w~
יµ&n��F}
+�h9��!�`�O^�3�{���2�0c/�)�{�
]�F72ҴCUh�D?�ݑ�n�y�k/�W�H)os��J�����Z� ��f�2�R�I����ۼ�w��̻J��f���񎯖w\ny��
��<er�6�X�,^�SR�-mz9I�yö�z��a�-uyR	�M�;y�
+�V};�(�p5`� ��gL���U��|�0�^�L`����̀Mm�C�82bx��P�Q�Z߶�j��X��ֆ��>����
Q�$�����8�k#vD3���OF
A�M'�yJΏ�K[k2"'J��{�ؠ��|�m�-�P�W-
A.�����9
�u߳�S��<sC�g�Ǒ���)s�0gv.�y�H�,�N�����v�i=��[2RZ3\x�QR��*�c-&Հ�D攬�y���d�Ed,�(1
8fy3�]�
K7eƽ$F�0˞�[�
�E
+J��?���te
�\R����0m%�"�Nr����K�R�2
!op)>��+ΎPz|���}p
r��DD�2�kl�љ4%<�k��/v6;�����q@�d����v:�`)SN����~,.<�.��,iWuZ��K�;K�!��׏&z&)B��Է�B)^!Ȝ7'N�X��B�0|!c0� �/5;	�{���r"т�B�*���ȂKʪ�Քf��D�[W�(a��5OyǮ�H16ꨧ�tx'/����ȕ/�
ɕ���ɠ
�lZ�`}�2�4�
�,���K�p�0�R:ıc���
�i�QVLL1r�06g�
�lM�G�B�o�%�T�GL}t�����Y��MÀS^
���e�鮿ȃ�Kĵbn�o5Z�5���`q��C�tF�t'T��B��������`�J�i�a�6]
I��
g
+J�Kf��]���љGUI$i	f�|6�BgS�2�<B�d��L-���@
i_�^
�95W��@�CQ�:gJ�8
�D3��|���Ǥ#9?���i��*�
��4�m.\�:F�6]%���7W]V#�
�J2���I��f�|��y`�
��N��*X) fs�ĸ��q�����SV	�]u�
�b�ᤕ��+�TB
+<��Z� ��TJ6���L��V�`s߁�@��IȌ،������I:�Z�!9�:��̀���
�Ȯ$�쇧P$0��"�MS�#GS
#���������ș
e�PX_+�r��qq��c/�����܋����x�;kWU�q.h��<�%�^�QB�3�jK�!T�Ɓx���m�wmsX�"^�	����N�PT��U��?(.
Ֆ3V
g���pE{������Qu�t 2Y�2�����	e�|���`
 ���
$�1@��l�4���m�\�j�a�+��.hqhz�>t:/9���Wm>�E!դ�� �
�M�9'i8��py�� ����d���� �@�r\I>$��f����`ï�:RYl�g4]4�r� U
y�D�:��
��e_
���@��.`,�=T05O�
����x�0��[�$v<��q4A6_H�/�a�
Q�
�Uf�3[_3�1׌�X��f�e at P<Qܻ��r�<���a��
HZ�+�``�s�����1��\����D�dqɛ����ѨD�J�SH�T"�*�;l���D0
Kj��Z��S��u�z]�U��J�C>>�
+}�U]5 at zg� O�.��g%O�;��� �ݩ�Qå�R�?�#�I[��J>�E 1�
��7
�����XM 41
�VFY���vk��_Nf�8Z$`�^�p�5�!P
Iw^�q�Y4d�X2H��Ţ{��L��`�Ę�ѕj0+T_4We�m���p��~Cg֑Z-�kW��OIW|N|��Jm��8���-#���GS=WR'O#�|��N�~
�߁��q��w`��
v/��Zb�Xqh*pv/r ;YN �h�Y!Q�t�*�/4��Y�Z ��mcZ[�Q�a�x[�
+::��|�\C�t������
=�2!Fl�U)UB��\}#���q�e��p�]є-�#��,S;����K$�������bʷ?��M7K�q��j ����Ů2�/`
+
�

����͐�[&
�,��L^�G�;ˤ�ʒy>�8C�ҟ��Fcwq5���0B�vo��y
J��ң�|�2j�K˨�mê	YyOmX�a7�����
��h�t�	�
�d7��6��[xS5c.c��M.������V:�G��́PٕOi
���#.��=D�M�D���2�943�أL��p�S|#�FHX)1u_�ᾹLUέ�
��~�܁*�ڶ
H��ff))�
+�Y��&.Tx�2V�W�Z�ES� `V�h��׾&
'_CI�j~�_2�j���|yv�H��#�j�-�<�
�f�o�Q�f5)s�� ��Uj>����g�`҂���Rs���>��E�,�#,_X�֙z�S�d:1i��w���hb����2�	�4s��Xc�ٗD\#��*��@`,2�h>�3�,�$T��-l�Nj8p�@}�/f
�č2��Ɨ;���$	hpӠY#��o�j���M�@�0�?t�
XK�!v5��w� 6������߿e�? )���_�#�h�"��:*���H]��ZD���l��O��K4?O�Q���\����˗������oڢ�g��%�Yk+:Ɏ��bNC-=w}y��%me
+endstream
+endobj
+1464 0 obj <<
+/Type /Page
+/Contents 1465 0 R
+/Resources 1463 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1462 0 R ]
+>> endobj
+1462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1466 0 obj <<
+/D [1464 0 R /XYZ 89 770.89 null]
+>> endobj
+1467 0 obj <<
+/D [1464 0 R /XYZ 90 702.138 null]
+>> endobj
+1468 0 obj <<
+/D [1464 0 R /XYZ 90 361.058 null]
+>> endobj
+1463 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1472 0 obj <<
+/Length 3433      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ���_�[���5ܗ��$��v&���`� ���
E�9m��S@PÉs�&P(
+�BmP�����O_�z�U
��c�E���yW�<)�i�z��>:�Di�������;=��;��S�T����tg4t�8)�Iz���7O{���Sk��i�Ǽ�U���
v5���Ǹ,v��t�%Q
�v���?���,��
��X�.�c2�'͜�
|�r��[7�C���z���#F�a��#���A?��&]3�tg�{?
QAU
���(���;P툚x���Џ���mn����O����a��7݅��UU�6S��3���-Ӕw:�=�����̘߰Ol�T�M�ǽ��j�f݌����3��4��}�^��z�NW͍��o@*}-P��Ol�^A�2Kf�QW?P�K?��
}W�ԍ����c�������?[��h�[mPzy�����aQ�.�Vg�ސ�a��F�zi�ŞQM9]@
��d�=�4��ʀ�z���a���_c�%
+�̛V�Z�ѳ�'�k{{��i][u$P��Ԙ�]�Wm�܈�� �2G�x���^�c����(<f���K�k��_� tTԸ�At�!A�Q��-
�m�;A +BgÒ���h`�/S�Bm�?���c@��|�f����M��ɂ��6��Z�G"�\
)B�0�'�Y�����'z�����3
�W�����Q�(���4ElN�H�C
��3�0:XC�\M���-M��p������]m���O��8���T��m%���(�X~��
�K�� {��ݶ�-)�$E�E
Ao�xR�rN�.�G�W�\[����� �?8
�
RS���L�f��iT�������BI��[j]F�9�����;�4��~�ʄ�k�Z9:f�c���/a���Ã޻���j`� |u#z�S�O�rG
vpBX5���

1�{Y�5ՕoZuB[u�fCgRݥaM@p����	`L&�q
�s
�o�K���ν٠`�EV/RG
- at d]ޭi�q!�q30�@�ڷBc����<`�h"
. ;7�'��6ͥ���i��=[�Bφk���%��c��{�-��|_�궅5���Y�+x���xk:�&&����͕S��Cl���D��f?�����X�@8<�\��6�j9�
�?�7I� ��>�]V�9�D��b��Ut�I�:���U����V	x�e�~��9&r
+�
��
+3^������p�P�E������;��z
�v�CS��c�vߪ���oF3G�g�An��V�
�)AQ׬)i&d&5͟\I"I�������p���Ւ]Rw��
k<�G���P�4���=K��!#G�
�
�F�L#��*
�/D�b�$�X
+�s; f��r	���c
xW�+�q+�
���%E�8�������|��N
��G�UCF=W�ճ�F�Џ[;�����=<˗��0Iޞ
� �0p�+ͩ��Iu�Čh
�+e�n�kѾ�������Z���mBh[��Q���� �����P�7��.���BD�>]�����=�t
������?
P�م[,���[�l�
03d�ܣ�.�`���
�(�P��Z5O�GA�${KB��
!$��,X�Y;�
>3�U�
�@`i&�aB�B�
[A�S��
�
oHDbHp
7
5 -�
����4� q-��23�ɤ��ͩNl�-�IzecQ �
��nv7��<w3c	[R��th���x�L��0Z�h	�]/�h�|zq_��ȉ:C|�G�@��9n���t)�}ҕ��g�ڌ?���jœ���Zo�ͷtx�-g��-�U��%�u�<H�S=����w�w1�p�<2\�TOR��Ȁ�
��pq��b�<J�����zg��n�u��H|I~.�G���f�
 M��d�R�(!�i����89S��4
��~l.�2‚�62=���c ;�*?�m;�n	�Jq�%��7��k��z5CC��&v���q���Lw�s�6<.9(+����m at Xc��Ci����
o��K�P?�]$A@)0`i0��A���@�;AP����8!�f�qYn�n�D����N����
N������kH8p����F
�$�	�D���$��y�!�ZY�yP@�e�Z �a�K��,c.��q6 4C �g͖�&4���(�Ɗ��(�{R',X���%+[��F�&���161��U |��(z�%[���ƛ�6�<�
����f"�m&��G�U��z?��;T��t^�\�p>��
��/p��� �۵����+r[�`���5��<'۔�5��kå��f#��i���b�!lj51ǹ5�93���F�yn=X�<؃_N����M�˾�Wp�٠=K,5.�l�l)*�]���Y.��ˎ$C�w���
��$ �<����_TG�
J�R�O�'?���n������ 
rY�3r�#�I)�n�=s�
,(���R�Fm�?�Ƥ�))]j�6��p���ϫ�t�/�y�ǦoYiV���Z2���M}շ桖�)��5�Z�$U��͘\�q�y��G
F���M���	9K��7�!�
G2~����{<AG�2
+1���P
w�W�y�ϔz���_��Ŗ�%�.@�
�Jɿ��f�[���D��
і����aķ�P曯 %%ޣB���=����U
w�+nG":�N*�6�pɛ��J6���}�
�1������
4n�U} -y����Ո�t/|�6sM�����ӛ�J�e�'�0�:}~Ě+�� N�A�à-�Iw������RP�?O�%K?���}�*cl
:��
h`pg���-��u=�-ᯱ)�Y�@�w��x���XlЖW=�c%�>I^E��d,����B�
�|�g���٤\� <0	[�+Y��
+

i0p�7�%����"�?����\�%�i�
�Gޟ����ӵ�/W��V�h��l�x!�*���I�Y�o�r�VޓD����2 X^�YХ��J:��*�����q3F�(A��2Bu�P!am�jY�T`�@�4z���=zht5��v��<��V ���&m׳���k�5-�cVD��>
�c[DĆSh/j�G�mx������T
'b���$w����
��0���$Nj'����Mg�/
+D� ��"�-oA���CF�x�|(y!�zk<�0�
�|x4ybb022�lH�L=�v9t�ab��U�}ܪ0��e
Z���e_
���C
��nAG�P�B,scp�Nve�}u-b��0B�
�ױ�&
+
c>h�Z\��a�spA^dD�{�Q
ēE�<��������D~c�����
+��o��!��X
��w����F�<'�}x
8?��L_k៙������ϝR��0M�i��r����oޜ���+�:k���<ya纠�}?${i��
��1
����7
�0�#���4h'
+���[��k^~'�_��`�
+endstream
+endobj
+1471 0 obj <<
+/Type /Page
+/Contents 1472 0 R
+/Resources 1470 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1469 0 R ]
+>> endobj
+1469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1473 0 obj <<
+/D [1471 0 R /XYZ 89 770.89 null]
+>> endobj
+1474 0 obj <<
+/D [1471 0 R /XYZ 90 184.366 null]
+>> endobj
+1470 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1478 0 obj <<
+/Length 3009      
+/Filter /FlateDecode
+>>
+stream
+xڭZK�۶�ϯЮ�9
$A�JVn��I
׭��
;
��F8�H��<�������
o�����>�
��<n�槻??ܽ�1K6�p��w���f�6�އ�z��C�w��
~�$�<��;�DԿ����o����w��"R���a�o��݇�Ԧ�/&�|�DL獎�֛�w��Sӣ���(QF�i��}��Ai���N�Eoz�?����+��me��L
NF���
+��S�Q���>I����iW�<��y��R&Ue�6E�<ӝm�Evo7y0�-���p�����L�T�{��>M�V|�TC�߂?e����
�1
-Dw��=���O�<qӯw*�����ˢ�ƣ��錥�\����;��|���i`�x��_(
w��
�m�';���h*�<œl����3wZP
%K؍�iq9=�w8ٞ[oli����X.
d'i��q���I�H�ϭ@�8(��a�؈�Ǚ��1��pj;�_��ó���uѝں2]/�8�	�
��a"��^.�9�fX,��u�PD`b��ɜ��e��m�]��|��D
�c
�s����s�Y��}Y��
+	�躢�yr�6��k�|�-��̔�h�G�H3�B<v�[⳹�.����M98�˂(k*!��G�H՘�z������{�&���ˌX���Dtp�K��m|{�
��E��͛�t_����f�j�b�SڏJ�lW:�L�C�9Ԇ�
&����5s4� �y��\�y2���
0
\�Ȁ������ѣ�r�w�6
k|�
o�T�!������t
獽s���
���J�!
��ړ=8���۾3�
�x@��vRюv7u�WۛA��%��T��j�!��!O�:�Q���
�f��Յ�I at D�G�>�\�����v%�/�E�����A%�{N���p;ON�
V����J��_]����r=Զ�(C����f/��$�Z�e9���pk�b��]�\3��k�f��MY;�O4�1 ?bp�&����צ�l��]Q�7��*�;,�'i%q�зg�-��M�o���2AB;΄0��eҔo`Gj�
��� �Z���!�)%�"o�߉:�K�!��Q�Sf�Fl�~�=
N<� L��?�Zn@��j����w+��h��&�
����[���� �
�d|�*ͮ(��[�����2,�Y*2�Y$v�`�(�łۿ�YP���
+���9�6�joư>��b��t`o����bF>�x��g �N��>��^e�s�_Մ
�H!(�ͽ �-&�)>��Y��0
�:������ۣY'�k7�	�1��LERl�\l��gSH �$�������LdQ�L0K���L��s
đ3S)��W`o�*7�;WL�d�;�7��8�������.��a���
�,_/r�B
��Vf>N�{㎵^O	
+��	
+���[���+1W@@%2A� 4^ij������%N��J�ؕ�v��{�n�JR1+	H��� �����UG�&�
�$�I�6�4&�������
[1=���ͳH���,v$��Z��,$�X���D�|����֒��C�Mc�^��!d����R�8l"�-�0
��<t��%��J�rk�<4����`���E�U� 8�+� �.���ʹ4��״�Z���E��8�R0G�l"��#2*��j#�i#�j�EY���`O����(ueJ5��C����
��"ü���
+�*I�'�C0ܷ׮̝5CX�X;F
WS����7�,���%�1
+��0���
rR��+)�O" ݰ��
�0��c���Z��b��b�=LD��=t�U�%��9%\���yҋ$죑b1�܃�_���r-����B$��|�̒R���<M!���@v��$i�?uv�L�]�YQ�s
��!��Oiq|�@��a
���t�����̡c���j�K���l��e��������M8r��*4������y��hц3D�x!UlR������T"��
\��EzAE9��H� �ƇR����y�}
YFI�̞����t_?��'�).y(
�(�D�3
��:�,�θo��=Yr>-H���c�
�]X+@� E!Rdk+�d

���'KpQ�l!���յ,2����:
��]��Gt�Qj�%�͉�
���V>܏�
�Z����
b�T*:�w�ΞO���*]��Ӽ��8͝(�Rc
P��m����:LD��uX*�

 pS��7�,��ض���N
+2� �
H�)�
+'�9|�F2?P$��p!�-�u��!�/�H��5��ib �5P�gfɣ(vg��d��QJ�t +q
�P3�E��s�H��1���hX\�^7����q=�b���3JٗĵZ���u�
+(@<x;��� V+~��{��
yT�Ovs~s����B��{���S"9$�$�t;��O
���
0����=���t֥���NI�9��
��)A�c\^:ïmg�aS<��F���c�攧��V����V�<1z���Nvz�f�bƣD�����WD���W	2%�Q���D��~�3gV�#����a��#���W�e�ٺ9�v�<:سY
d�s��Hu�K�rש�eb�Y���'A:c/����ia��\).Q6-Ƶn~������N��Kf{W�ìkg�J�X
�Yx&N�D�!k�.�J��x�����\���-�����1K��@�	2��$�x'�֓D
��25�9I��+�1Ɉ�{@%�rk�
6��f����Z*�R-��:ؖ<-�R=V�ڃ
�'�'�GT�ɜ�5f���t�+:IT�缠
 �zV.4����vQ�~�5G�I]M�4xZ�)����S_��ڏ
3&j��������,N��E�L�Y���>�WQ��48mӠ�#��?�����������?:� �wa|�G�D/<�>N$�޽�ƿz��i�?r�ע�O� [...]
+endstream
+endobj
+1477 0 obj <<
+/Type /Page
+/Contents 1478 0 R
+/Resources 1476 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1445 0 R
+/Annots [ 1475 0 R ]
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1479 0 obj <<
+/D [1477 0 R /XYZ 89 770.89 null]
+>> endobj
+1480 0 obj <<
+/D [1477 0 R /XYZ 90 267.351 null]
+>> endobj
+1476 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1484 0 obj <<
+/Length 3286      
+/Filter /FlateDecode
+>>
+stream
+xڕZI������-�{�. E�6�nO�&���g����&2��n�}jJ
�>(�B���"Ż�]������^y�vա*�b������QU����i�S����<����Gi�^ۺ�λ��3
�ߚF���N��2R��/�����ǻ��w	���容���K�;��]|Ȫr�LL��J3�v���u���!ͱ��Z
�$�$a��J�Fo�F?MuߠTi}?L����8�O�;�<,w���I�j�G�6<=
�0N��_����>U�*�y���q4���,ˢ�jl�Q��#��ͱ7
<\��Bk��-�Td1={�v=��F�}�G��Y��
�^��~3<�A��:���ʴwvx��t��e�oL���5�G=��>��~��Q=�7�S^/Oh3�6J�b�����sM3[K��q�t�"��L�2>Κn���y`
��'
�I��~�M�����b���	��8э"�c���G�
����=��φ
xN�
y��Ir߲�7I�oV&��-��=�^��+d�p��M����aoj��dsA���
��O2��u�z��iB攦ix��G�y$�e8��
�a������3r�{Ƴ�q��$\��32���x���S�5������Cx
j�DPV2���g㌢��r�!a
+���`5�Z%��
s�	Y�Y�rh�<V�]����0�
]VgɁ��'ӰZ�d��u�U0���_?<���rՀ�to�=�w
�V�y��`�R�[Z0�
j�S��p��6
����D�
������8Y]_
�6,�`�u�µ
����1f�!	^=>	y�lrH���5���@�*N܀�:�d	wκ#ȁ�W0���<
���-?�њ
��!�������d� x�{\�x=aev�	��z�������u#cnyq&�Z�H���ʝ�ʝ�B���/�<t�Y�l��a�a� �k��SgĎ�O�
+M�5��ͧ�N�`:�fj=Ǹ
+%~��Ho����
��L���d�gT�!�Ltr������9`[���q��
N�=AУ������P�G�70�#�����%�����-ˠ��Û�	�
+�[�މ�ќD��C��E,��4���SF�ì��9��>����5��
�->
{`=s�}Zy6*a���ߣJ�;B�Y�`

DZ
�巰�Ȅ�Vx6^����0RO(��UF*8�?����xn��~

�r�R��JK%�Y��BV|���<��O�x�a
Y��C0��2NLm�7�
�����:b��sd����-��
��u�d5�O-��w3�M�S`?�M�$@�ނ��T%j�dS`�l��?l�8���F����Z�
�C����Եq��W
Dw4	���AB[
f���n��WG�zZs,�^s
������8�y�}af�F��e�Y@�t�J��3
�ϳ�Z��'k\����_� ){���j㖼�R�YY��MNjR�y�t���8�7�l,Koc�|�``��K�pE���P��J„L9}dK���#��G
բ�"v �;��"���6
�� hk�P��Z��ʔ�,s�� 	��4%���xôp�@��b�
�Ab�ύ
	�s�b
�C��<���F���M7�SR͟��Ӽo��\�0�<��6�HA��3���U�<�f�����������7�-���K��w�"�H��wd֥� �W
�RFH�*u�-#�2m�g>d�5�q		m�Rȿ�[�˕�y
ˑ���S����
��
���8���B�78[Q�D��y�l�`�qSZ�h`��s��G;tl�0L���穅�w��i�r��+)y4#�o
���f��R���Ƣ�R�p)�6pp̟[ӴW ��(o>ԣ>a�P�*0
�3��,̂ ���@8���J��}�І�y at b�Q�����O.�C
���HVU�M�L|S#�7�)���ظ��U�Z��Qq���
����/�bCV.qlޙ����
x�Ӌt_6s�
TL����g�+.��L)�����������8\��R�����T2����B/[�.9WQ�M�;3�#
R�eA,�I�1$#�cI ��!k�WG�/Y��ݢr�*�@_��ګ����lWIَ󮼺.ەR����$��C��Ea0&��
+`4P&���,1f4��8`�K~�J�
Aa�@J
+UI�X�Nr�#
��(��P�h�(�.|���{VH
�x�rZ��j��Q5hF7���m�YǤ�p�\
|ΟK�� �R�������)W��2)�_�=GC��1�1(�)
�v�gsb�1����Vk^ɇY�n�q�$s��VNAí�ł��F�&��X�I+)��gs���	:5a�G*MS�(��
+`�@��
�A�"K�
�����:kȽ*�Q8����y����lZ�7h��jn���
0R��
6}ZH�.E�����+��ܫ���c�
��%�I���d_��X[�us��:E�@g�ˮ�Fy}Cs'�Ӄ\'*�
+^���RrFu.�Ě?�v��1�8ӫQ�����
Pt @�Q�aU}w;Q��e�?؊�L�g�Ո��{pz��x�L������Cȗ�<j�w
+�T�~_�91
^$������
���ϲd<�\~hp|�+� �k�Y�3-���&=�/��U[��.)��}VOP;_�K\���~x��� 	Y���9s&��~ܬfg�%����l]�X���w׽�;�͂��>Xr�� �����E�q]x������p'�è<�9]C*�
1ʓ�������
H�
:�9��� 9�8��MR�����A
+�̜;�+8��0�e\ϗ VăE���c�un�o
PG��n".�	ɹ�B�o�v�
�<VB�
@����9�@4�r<�顠�)�b�T63
���h�V��?�
�MM)r]�W��ɖ�l���xӲQ�7J ��$�c9R)
`RgH
��<�'��)���Y��0e̗��A��M��y�����o]�C)�
4���L*��.���-�W?�
��|���r>a�‰⒋�)m�y�<�
+�;�*�#;%�T�d�����c
��]*lurg�
OS��
��$���GR-?��=��
�[��N�� ��{X�I��b>r�@�8S�m�~����q�O�"=
����ӄ�SRĻ�P������!~R��
�{��?�
S�������TLL���q��"?
�a�Z��r�@�$W�<Oa�Di����_?̏�>
��ݖ�sT��X��g�/��t|J��?;N����H�&@���C�
�)q�mt����K��| /���A�o
+endstream
+endobj
+1483 0 obj <<
+/Type /Page
+/Contents 1484 0 R
+/Resources 1482 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1481 0 R ]
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1485 0 obj <<
+/D [1483 0 R /XYZ 89 770.89 null]
+>> endobj
+1486 0 obj <<
+/D [1483 0 R /XYZ 90 701.618 null]
+>> endobj
+1487 0 obj <<
+/D [1483 0 R /XYZ 90 581.663 null]
+>> endobj
+1488 0 obj <<
+/D [1483 0 R /XYZ 90 356.791 null]
+>> endobj
+1482 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1493 0 obj <<
+/Length 3261      
+/Filter /FlateDecode
+>>
+stream
+xڥZɒ����W�&2B��·�-M�<�=-G8$
@ $��¢��~�P`�#d�BTe&j���e���q6�
��������$�$���i�8�8H�a�^��i
v�<}����M"��Կ���雏O������ï.X�ƕ��}|�d��O�8�
��6��O�g�7���Ym>?�����9wKqݽ�ʜE~.v�^�o�K:|M�h{�y�v
�lOmgT�E3H�*���
}�֎*���.p����p[�ϭl�2�4N�CD�"���u�m�Eze#�Լ16Cw�E�Vg����]���
�j��^�c_�Ɲ�#6����=�}0[;+K:,�t�%A4��ݒO��*7�{/��6���0u�)�̱��g���c�4Qu/�2���rrf;w�
��چ/)
��ʣ:PWڷ���V�Ǣ*��.�N�'��|?��#Ogx��$�^ǮS�?�yh�;o�����N�"ʶ�s9\��
+���HD���SKZF�lι��+��-q�����h�f5׮���
�5�T�ۚ� ��
[�﬍�6
�$0-��c��;�"!cYF��E�܉�
Q$��I}N�X��.�EF͜��i7�E/
�GQ���6Dpe�/}!Y�B�Kە��Nؑja�-%�y�;'X(�I!�?/O7d�H��c~*��
+�&'Ʉ��WZ�䤳�C'k1�Y�+�ƫ�
.j�S�
�Y��`+��
5�^���N�2K��&,���+�X
��tސ����:���#�k�<��y��9���[��Y
�gi��c"��y~^�YW�e�mw%P��Ȕ���з�VIe�Uc^�� �O�N�
��s��x�zI�la����R
U�}���`�ݬ�ӥXE.��j� ��F	�h^R��uR��Ԗ`S��k��WT�
����F���
��
�9�){v	5�H#�����Gsƈ��R|�~��S\��ڹ��D�No�࣢ƪ��
��}o� Z6
+I����$��y

+Z:-;	q#:E{
���D��V�nFu"�H�X�l
���� d��W><a�CW*N��jߞ�&6C���e��|)��4e�h�����h�7����[�l���6čװ
k���ј�� }�K��
+�VI
�z#�
+���d�G�Q����I�k޴-Ц3w�~{
JUA�k&[󦥽��s�Cb}��ژ�u�d�@��nVr�<�1�N][K
Z��x��AXFB��!ԷC����	�?�t%��6:���U��}H��{��d��d��Z�H#Y9^#w��S3]�+�u7m��:��D��J�4��C��֌A�
e�ԽBeiWV:-+�+���~���DWՠ��
�DB�nj�)��
+<����UJ�"��y͐�:�h�g��*Mk� ���T9��E �����1x at gg�mC[��ݽ̌O�%>�`�[��u(zH'���>��K��8��ԏ-��}
+�I'h}�V��]ހ~,&�"��Fo��&!�`�4�9�
+�4L�9`����^ɍ�4��2[h3/N��	���2%[=iuֵ$C:�4�>�2I
+,*�`PR�Y:��������f��q���g�Y�

�=`�{z�Cq���=�����ؓ���pZxz����
+��S����
 �+!|�E��:��%�]$`./�G�g�>��8����8��N
�Rˈ��\�Ł�ihPx�rN$A�G��A�mG+G��	H}�˔3��mF�i
����PE�e6�𫵏�
I6�$+�|�.>Gr�$��V�m�P�
9�Kʕ��
Yyxj�m�<��t7f�64���^�6�q��t�JT��w������s�~��ٟt����jH��
�Ji2|�9V�	~��,t��K�Y�>�Ůk
+d
	PG�{
� �"��g����d��rlB(JS�R�*~

�艠�-����a畚�R��yVydn�%)O �y�c�����s��KS�!�EW�k�� ۃ�c~פqpdUUd�pS�u-W�i%�W�8�%���~(N
�yLS&Ɣ9�f]�@�S�"}լ��5�m��fA�T;Zb�gɥ\l�+u��0�RY-5Y�
+;sÖrɳ��|���fE�]q�?o��+*Ű��W����dU���<\_���{EK�)9�x��Gi�=�v���UyE���Χ�>�t'Ÿ���w���
aCsYY>�sx��#U�
��0�"sDQhh/6yw7�D���~
��
Ϫl�ؗ̌����ŽD�+g׿�Q����5�c+��Ed��3��_D�2
��
 8oOFNE�*c:=tpzrt�l:1P4�� nOA[�b�
U<��
�_���z�xѤ�W.��\{Dp�
yD�a
��("g�$b��t|g��)�\f
��?lF3�����m����B���jI�r���]���
�x����
�7�j�CB�CB�V�
�t'/�
�ⴉ1�6:�i�m�VѯT�D�_��G�®���B*d�m���
������]j:�
�ޖ�غ�$OK�Mӏ��y���s8�4��I&��W�?
�
�q���M|���򶟭["�qp��놉� �įth�E��|���^���I6�|�(z�ЦHl0Kb��1b#!����Yh���"e]h�5Ċ�/��?�� �O
��n��V�@�I����)��ײc`�E�}㊠!�
k
+��]��<s��F^�YΔ(��U�e����m�l��k����5��P�ZS���|7^Fy"0��l�V)���{�I��S�;k�4c}�&C*&C�<�����B:��I�1��\�,6#w#����o��@B���&��a�����1�`�����6�:�n'2֤�%�����
b?D,��a� �8K�@2�J۫~�
w�9Pu�� �20��6&]&%΢�#FQ*�	4�� ��њ���%"�f�zq*�T�LQ�^���ƌ}�͋_٦�4	˘F a���͍�J�̍:�M����A?m0N���r�$-V���~Ɍ
���Պg[yѾ���}�Kۚ;�Y���9�׾�U��m톪];�>Ѻ�g�R�+��`
,�w�L\cP��$��߄�񷖀B`V�:��: ��a��} 4}�
�C e>t&8
�L3e����D�>��?��� އ	�w�W�Ǎc��v���
%�y_����l
��=��?�
  �� �{p�����(���O��ګ����w�͘*0������
��"G�Y|.��d]_�e���{��	�}z�OF�a���͛�xF�<��^����$�;���{2iL�U2��m�>�� P��
+endstream
+endobj
+1492 0 obj <<
+/Type /Page
+/Contents 1493 0 R
+/Resources 1491 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1490 0 R ]
+>> endobj
+1490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1494 0 obj <<
+/D [1492 0 R /XYZ 89 770.89 null]
+>> endobj
+1495 0 obj <<
+/D [1492 0 R /XYZ 90 438.052 null]
+>> endobj
+1496 0 obj <<
+/D [1492 0 R /XYZ 90 308.024 null]
+>> endobj
+1497 0 obj <<
+/D [1492 0 R /XYZ 90 201.991 null]
+>> endobj
+1491 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1501 0 obj <<
+/Length 2723      
+/Filter /FlateDecode
+>>
+stream
+xڝMs���_�mMUB��
�;9`�`l�LjgLp��Y�L���O_6�%UoީՒZ�VK�V��zo��Ǜ���~�3Z���ҭV�i
�V�;��֭��}����8]�Q
&ܙ�I�bx������7�}�;h��v�7�h0���X����[������5�k�
c�o}Ӯ��
h����Fm�i�jjZG�X�U��ĺ�,#nE���Дr�������_ڦ�����(�2�E��fn��*ڗa��.���m�T���ۚ����G�.LARr�C�����H�=fʌ��6��t`0X�
�k`��0Q
�[�D� b��
��H�#���pש�:��eAX
�k���;��b
&��#�q[7���Yq ��u\�r�g"z�v��M��-��
���AOyʐ�#:M�����;���4�dح����%i�4�xk��)��
,��Ne1p��(
�a�v���0�1�߷b�m��#!�����QqH���Z�P%
�4N�e��jӒ��~&*��9�g������<B

�q �7��.k&��+��X��$�w$Y����׶����0-�m�Td���@�	�n�kH�O����>��2�q���<{�qo<�
#3�f���|˽`vAv��4V�{v��1σȴ��;��������2�_�
E=���T���>9S��p��/C��� v���sw��
 [...]
+�4��
Ͽ��tt�&��=�AK��^�:>��"/����!X���u��W[��>`�
����l0���4�[{�vM�/�t��`���r�{��)L�vM�
fw��t8Y��4�X
LgL\ؼJH0�=��)���ctpHY
�ɲx5�v���w��R��f��
���t��H�>�}��؞��|�;
fBݮ��蒷�=�s�/
�V`K
���!�ua�Z�*j!|�y��Ca�՜��7
;�H��e�m��\�·͟��M�"���X�/���3v�����2e����g�B�p��"�#�d¤�3#��۵(�
��
�o`.��z
Ϥ
�<U�M���fIz�Ļ��c�<�M�p'���5
{��Q2C�p^(!j1��[Y���
p�S
*���)��q=F؏�Ã,r��D��W�|-�M����H at x��t�4�M��8���>��<�p\�9�h��,�h��	��89n�3�g��3r:�
n'��k��
P�!��CUF�����2�N;"�zb{t��gOp��U��3t�
H�d
�c�}�ZX�ۊ�^�dj���</�l����OL���E�q�֝��VO� �5�
 ���w�T+Ǒ�o�F��:ߒ
<����${ft5��fH�ϊ�7�1O
+Hϙ���
@��
�
M���>�I����S՝�	@s�i�	�\otչ����
�+hmnƶ;YPfFژ[Χ ����_:��%)�HI�(c���1x���kш�X-��1��b�-M"����� J
'E��aQ��G/.�8Jd�` 
X�[9�p\;HL���?�gE�g���<��k�hUJ� =��6Lׂ�~*�n�p-c�}�$�UuyEB&
xA�.���qH�8�C��P�.T�x3��#.#�2AA�f%�K�5�T��VX��,�<L$���MPXf��
��R�Хb.�eS���k@�As��|ԣVPn��,�a�0:���P4D�$D
?D8� �B�U5TQ���*�B���.�,9�W�Uޞ�Y��ř�n��""V�K��G��•�)��?�r�v ��$�WiSBs�1��(�a�?Ig%��|�o�}���y5XՎ���em.�iZU��!�,�E�&��
��R:�
՘� \�A����6r����$�
+�n�
�x��5����_(��

��#w�mD��}=�|�[��)\
Co5d�s�
2G�)B7�G��u�� �5dZUE�A/.�C���� ��)�Z���H̸OOJ]�RCR"���C������d
�>ŵ�ћ��Rc�,Y���W="��m
��͐���U[���?Qf�2"/�<L�mJ	�|l�Ֆ���1K����ȃ!Q�y�l��2�
Z��#H��
��)����:W_��{q	VWYSk���|Q�2$��F��q�$� ��+�T���ـn��V ��%c�~��w�1�4��bv"0�12�
s�Fn��ַ��XE�.�UUO��I&���
Uk�'���
���/e�V :��^%�B�D]�D���՚�����T�j�Ul�C"
�w�tl��P2%�¢���2�
��%㊛'qz�G��Y��e�{l�<�ȶ�C"O�� 灱���o'��ij�9��bҭN0�D�%�IQ`��(���{���l���n�@�#��e
�WAf����hҮ����~�3ߙ
�U��Vx��'M
�E�/�<�|�}�c
�`
y�B���?S��I^P���\'�zfƀV�D�>Ar~B���_�KiJB�I�P�H`�{<W�e�xsʫ
�Tܒ�ζ�䣭��F�"T�"ة>E�?EH�j��Pl#����̄�?&�������cR���l"�=8���ի
�|������S��az�>x�U���uT�
̚�~����
+�r��	�
�s�sm�r������^D�{�U��
4�1訽�1���.���S@���ߩ��*;��ֱ,���/��Z��G&b5P���h�20��S�s���
+endstream
+endobj
+1500 0 obj <<
+/Type /Page
+/Contents 1501 0 R
+/Resources 1499 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1498 0 R ]
+>> endobj
+1498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1502 0 obj <<
+/D [1500 0 R /XYZ 89 770.89 null]
+>> endobj
+1503 0 obj <<
+/D [1500 0 R /XYZ 90 628.067 null]
+>> endobj
+1504 0 obj <<
+/D [1500 0 R /XYZ 90 487.345 null]
+>> endobj
+1505 0 obj <<
+/D [1500 0 R /XYZ 90 334.668 null]
+>> endobj
+1506 0 obj <<
+/D [1500 0 R /XYZ 90 221.652 null]
+>> endobj
+1499 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1514 0 obj <<
+/Length 2612      
+/Filter /FlateDecode
+>>
+stream
+xڍYmo�6��_!엵�X��K�O�6٦�&�عâ-p�L�B$ѕ���7�ʒ��
��
���
�X˱�\\/.�n���q(Bk��bǚ��
�0ZY��g���W�
#ۍCX���7�9~��Y\�u��'�ri}`O#+-.~�ӱV@��rl/����TX��ͭ�ſ.��(��(�����knlM�u]ڸ���$t��m%�7W��T����*i2U^Af������j�B�����|����%/W�>�cM\ǎ�����	���G�g�j���7��Iy�N�4g"�Zs���mDhÅ�]۬�U�Jm����!�����徑+�P�
e�vҐ����,ϩ��9�Z�����ya���/�/
�
�1u��<{X|�ɰn�ʬ�o�\������J�������_o�?�̮����ڛ��[<���<x|f٨y�=/�>��Ϙ�����8���W��Hy�m`�//���,e��ž��<K{�B����P�
W�I��~�}S{ZT��r��6ycV�Le�f�P����;��~�N��ܜ�Ӱ>3H��;޻T
�M-%�"ëez�]X�Ӫm��>]]
{S�mUm�r�����
��
+��
�N��
+1��bJ���Z�'" 
�V��J��B"�v��"
h��T�M�648�`gy�V�2m*U�
+�&%o�Kv���-���V�S;>ɆjrcAW��֯������������QV�$��&
6x
� 
o����P�T1�tK;�Yw=�*�[��.ϺI��6r��<�
��6v��ɒ\���]���4h�W���t>�B��
����҃پ�	���6[�:�?�H����
;�ەG�����oRȾ3%{e�����m2b�k��SU��ܙf�������=dz���`���$�G��
w|`��!W>	e�u�<kN��&c�ڤ��2�c��ʄ�Sj�KW��D��l`*+8GiS�24����+�8��wDŽ�:�v
��;�΀�%� o����4�5Q���Ԓ����)7!��g4f�dF�����4oG�����:��S�F*����q؋��#r�Fp�}����'b��8@F3�=;�
+r �"(�5�l�gY�J�
\� �����j����d
�Z���=�: ��s��d&�����K�E����ߏ�<���՜Q��t�O(@o#�6�p$�(���6|à���y�!��W�XsK
k���>�)�_�[� NM<'
�pX���q���N;8=۔=ި��ZB�lj�K�$C@=�qv�lLQ��D$
PK�u�TZ� �qG�(
�7(9�t�R�LK��9��D�Ċb("���G��Dd
+��ӷ�iD�4�/O��������B�v"τ�w����Sۛ
+Æ�q"<��A̞Q.(��,w�!ՠ0�a)"�
p?+SU�TW��L����xB�UK��!�:�
+��
�CT2�ov7:�n�S��eN����y��آ�q$�Z$G�A��t>�
�����"���6�Հ�<+_I$_�|�

��d�X:٠d1�b!"vw�ǐ�h�𔌗���K*�FGD�}%����U�y
���El
@�O�Ab���P�$c(8++�F&+�����
t�8�����#����Y�2!�$v`�N�r����ε�f���n{�:l���I�����)���
+;��]86�L�W� �o{~(t���
Ƿ !B˕���cJ"�
=`�g��
�m�< R�,��d��ƿ!�����&�
�
�T�������;���3�>
�.��C`�\�?�R��*��/%we:�
�[��_s��һ�����JUL�VuӲ�:ca
��3�Ȕ���
��7o�:�R��+������S�"�s`
+�p���2��=��fϼ[��\�`��H�M�MfJf��bX�X���su�+F���7��Y
tV'O�7����7X���$��C��C��y����`�G�0�s4�9��q���Qb��>A(�gJ4忛�R�LҀ[zj�M��RW�:�!'����_��o�I�X�|�2~�D���
X�@��s�k��*>!���q�������T��e�xJ����˛0k��x#S�%�X8�}�
2
d�#'
��ּ�
����H��21���M� xY�X֑��A�*{9���K,��*��L
��B�]
�U���D���m@ʃI�:��
��)`e�d5��S���Z#h�N
Z�I)j�!"o�Y�Y
���`��/�㰳����
rE��`;$-͢v
T<&�4!�0t7�J�����׃?T��s8��ݐ�/$O
����]僱�\��xЩ�M�4���4aď�H�C�ÿ�̠è�[�ߋ�3�9&��}�|aBQ��À�b��A.�'
`�H�̱S�W�T3(񡨼k�+�, ܼ��䍔 �� $�qz��Dh�����&$f��J�����vK,����g>2�����2Ӫ6�J��y�	�wソ�t��ib���_�
w������G��	Ww�g���ى��MN
��.a�y̍\ۇ
�s:���tO�
+�K���
A}�%
h���A��im��j��<��R����~泱�^�	�N���v�-6mo������?.�R:,�
+endstream
+endobj
+1513 0 obj <<
+/Type /Page
+/Contents 1514 0 R
+/Resources 1512 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1508 0 R 1509 0 R 1510 0 R 1511 0 R ]
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 600.478 472.963 609.585]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 390.239 321.452 400.521]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 336.127 508.501 347.031]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1515 0 obj <<
+/D [1513 0 R /XYZ 89 770.89 null]
+>> endobj
+74 0 obj <<
+/D [1513 0 R /XYZ 90 321.223 null]
+>> endobj
+1516 0 obj <<
+/D [1513 0 R /XYZ 90 289.159 null]
+>> endobj
+559 0 obj <<
+/D [1513 0 R /XYZ 90 289.159 null]
+>> endobj
+1512 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F60 532 0 R /F110 1507 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1520 0 obj <<
+/Length 3692      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v���_���R��Z�%�O�k��ݸ�N�4�DB���%����HH�ۼ��`0 s�����_|�x}���&Zd�,
���~���M���z��/Z]���}��#7޷�`�iͽ�u>
uի���>�\W
��~�xI�����Ż��o��/^#Yo���x��o�� �Dž����⑐��8��[.�.�~��M����:x��\m}֎��wP���~_���3�.��Lǭq��1�Э`��
F����Z0��TٝA���	]��W��V_��� �v:W#�yL�
��
+�%	��Һ�u��N
+7^!װ
+<���`�4��9^���:2�;�CYp;���[��?0�t& �Ld��0����L��Q��JE}�,���@QTN�z�
Dwk�
��C�0��Sтa��{��hz�\�T���
�BEɕ��N���)�N
+��I����Z<J����˹#����J`E�;�\P��o7����;G��$y� �ǃ�I��*Ͱ+Mw ��[����T�
���W�o
+U�� ,�
hY��GÀtsӨ�|b�|���[{<��Κ�m�
�o���O��i�^�����?�S���:
c�M Rs}{������O7�?3��/o�X�{�����/wL�Ē��g
D�:D[O5Mi���]��(����t}��˃�IL��$ck�.�p
�"��k0��-��� ��?5��馡�Z�l3��
n�5R��w�K�x(ݝz"=G��� `g���ř
Z�Ao�
�ي����ǎa(�RD�+�w7���Q��|�U��ɰ��,��d��hn�
�����b�n����
�dC�!�
~��%��X[1- &�
�!l��e��"�p��Ab
�;p��^��hS#b?��������K�g]֫0����)�I���B�x!�#.#x�V�������N _�3���ӂG�
�`G�!�Hڃ�rW�/��<
h3�TEт�$�dl��|��%�'ʼ�W�r�<�M�m�54��]@����d�X
�|�c�Xf���d��{*�g+8��KT�gP	�VL�:5s���t�h ��@�\O��)����H
-�P�f��g8ͯ����p,�@0`��X�=�
�J��Z�����
�Cb��^��,�`�ꊻM�:o��%�jCs�p>����
h����wpC�6�ʪ
���E���t��!�#<�J
7��zԃ>�y<�<
+Roy�Q�U��}���m�J�W񧂰�HӀ�5`/a=���-0�j�
+ �i��a-��4&�3XI��
�A�c��
��X�4(�\r�趘���ꠁ��9���0�nr�ڎ�	�#��ё��f��,Gt\�0��U�Р��%�F����)�����foBG���9�^ .������:��R|!Qt��=Y��M�zbľ5����A�̇AO�g�����]� ٷ���O��/�#<�>�ߨ�g�b��n1^�3��Ӄ����Q��S\���QFi�@)XGӇ��na�Oh��E������g#��
�B�mF���N��X-B	
|!�����g�
U��<���Rk��)^��Z�Mx��K�|����g�TNiByi
 �mnF at s0e����G$��6u	�����L�$!qM�q־�#H�7�*F��L�H� .��-�K�V1M�۞Fq�pO�l��/uwF��w�+%�!�9[��8%ݢi�3xn�ж;�K�E-��6�d��5� � ���6NqzFA2���{��y�E���$J��=C�,)�9��: [...]
��"
LZ�&1�^\
�O�
+8���!��qT9�L��ժP�R���i>���k ��R�
��l��+VG%˰�����;	ֵ��)�Tb1p
+<S�v�B�T
/6
t��
w8S���V�T�n �0�D�
k)�����
v�NԋIhq>�4�0�L)~o�
Nb�0��a�
�G�qH��P=� �~�� h�l.B.%c���=CHn(���t�q�0D=åJ-��΂�˴�#
�
V�_(��[���,���.A��C�
�d���5���{] �M�p�
ָԌ�0�1%:�>O
'
+�$�
�T�# �?�զ�-�Zߣ�'��j3/�1pڻ
1X��M&������Qc���n�h�
+�L�������>��P��3C1���!�3
'ͅ�

�yT�ס�(Ηr0q�a�1��rV �i
+p��Z��j�Ѱ�'��3i^"�"�
-(�!?��ᅃ�V$行ʵaxh�X
R�������%�4q�:F?����ϟ��3(L�w����S��P<Z�
$$�N�X�|d�:Vpl����e#
�j����3�D\<HpJ[�Y��(`�r�.��ul8������+���Q
_�.�<c�R!J0M��I:`�I�ƻ�{ss�M��5��L��6վ�Q�f�;���O�	}ؤ�Q좥�݇ϟ����
�K���î�|��g��o��R��H%@(�*W���/�:;���Ip�}���K��B�q���븙��[���{LϷf��a8���N5
�z8�t��YƶtT �ړ�
{�8��5����$�n�|���Oo�ےi�co?�����Q��h��4۔w=C���7�P�56
gk���
���%f	۞,>[7K��{0�뮫��a�
+g�U$,V�[���ЃN���		C�*�D��o�^�.;A�(�4|νKdE�	��E/&
+�'�-#�S ��b`K�Ih��d�
��I ���!�3w�
+D�尐���EW���wT0
@L/��Bw������pb-���hc@ȗܥ������-b)����TC�믂7V���l#z�k��r/���
:[-c@�j�r�<[���B��0/��
�,�YNjgfW� ��$�Po!ؤ�����} |�O���F��
/Pu^��`0=�YF@��ׁ�؏��+�㻯��)�I���d�nb3z���o-8���l���b H���t�t$��(�pl���T���� ��'B�,A���m�
Ea8LFXf���°���HMЖ@[
*���i'"PM�Qc
2����
CS�2�ц�T����]Eۢ�	����Z���=*��G
{�����=��6��6'sn�{��д�
My!��F�B�@DM���Y����#���JU1�}�A��	�gʋ�K�D�
+J-�����e
:��y_L����;��PC���{>��װ�?���zF�f��e�u�����,ެ�w�*���'n�������m<��Z�W�`�c�j�蠵�7�ua[ÿ�%�V�$^'IC��C�7߽z�
 �yXC�}ˆ�sdk��sG�r�m]�Tl�(`���Y>&~�N��r����_��f�ۦA;Q �n���m

����_��
+endstream
+endobj
+1519 0 obj <<
+/Type /Page
+/Contents 1520 0 R
+/Resources 1518 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1517 0 R ]
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1521 0 obj <<
+/D [1519 0 R /XYZ 89 770.89 null]
+>> endobj
+1518 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1525 0 obj <<
+/Length 3585      
+/Filter /FlateDecode
+>>
+stream
+xڝɲ�6���B�.#UY2wR�yK�2�팕�x�
 �8������7p
��JU���
rDž��������w���n��-v���Y��vF���-Co���Dž%w�$��|�v�����ݽ��}�sa�Y�<?���"=������ ������d�HH�E���-�~�s�[���V\w㺼�Z��$Y���;��J_�MnJ�ꬱ�]�W�R�8�3��uaV^�|\E��	���n��T5c�?O?��W���@����W:�S�T�,�_������,ְ�m��M�Z�!��!�S]�7�;��ZG~�ܭgip
H��t��/+7\j�Ҝ��[��2o
+}�}s�/� [J ��y<ii]Mˋ�M���L���w֪�-�`��
��g�#�:tC��o:����q�_�}/�ij�,/��m�|O�P�4�r�#�M�v��<Y{���"g�{w��
�˴h3��"�UU����Wy�*?�f@����2���a
!�4M�ʊ����u�@�][td��$���W�2U].E�3̤%cW����m�
+bLT er�xz
@Q�� �y�+�����˸�IF�W�V� SʴC��|*�ȩf%~��eK�.MY\��H����>� Re5�e��<�\{D�׳�:tA�K�)�
0��f~��f2�
+.��k��k88�PzftRx"��(�VL���E�U)����R[Ш
@7�oD��!����{��n҄�Ͷz�^=�ݯ�������'������o���#;;Q��+&�� �H��'1H�/��`:'��ښ*���<�ff�(B<��!�����g����-u.7
+X�9�*
+A52R�r4H�|��.�����,�Id�h	_։1Xs� ]�
��ʏ����Ԃ̗Mt57�N�a~g0`�VW�[���a �5
�c�>����uB�tlT�)���qD(
+n��rھO�$h�+�b/�32C�ů�5'B{��UNr z
+��(�#�P6vS�
�q(�5����p��0z[OL��G�2�%����
P�Vu[7�G�$�amS���_8OS�B��U��J�S��/m�|�y,=֡�1<��R�|8�o�q Z�>!�`q���
+x���KF\
+x��'}�H<��4
�� [���F�+��KO�<�&v�aY������̵M�� 
(T�r��Q��4��$Ʊ=�gلm:Ƕ���Z,��6�Pc㒼�	L�qLL��J�6Z����w������9�m�
��lb��FDj�V�.��ċ\ovri�`d
+��/�
���Mዃ�.�f?���Ͽ<�{�}��� ��|�<h���t���Cb�}hC�됄M�$��E���)���g�#�`�gV�9Z�
k#�
,Y�e���`�d�1n�x�b�a��<�M7'6v�C꿭 ��y�w� ���Jns6W�{9�?#�V�Uզ�5Y8pk�
Ђx�0u��Y���W�<�o�1
g	�B��͚�`�ZU$�0�OXu����ar
�”��`tt�g�T���0���� #a���e�#
+d1g�����/T�i�*�'�"�mi �=���xQ4�`�_
+1f��&_&����e8��F�
' :+�'!�[v9&��r$�Jb��a�����
8�B�pq�	�`T��
&���f��@��C
}����ʎR`$K�dw���Q�� 5��p��Bd���bb}В/y

D;�0���+El
+�0S�*���
�J��86�un�6���$�]G�-�� ��q�R!�<(�+��%����S�Fe�9���U����<ʱw�!Ft嶰I{86��}k��QG
�t�v�u�K�i�[�i�����6�������{X��y�Ad6� ���	G�@<Pφ��<O
+$��+{`��Ǔ�	6��D'pg�H�np�X� ���� ��������E��d�"���m&[G:U-�L�e�y�$�������%kC�ۭUmJ;c?;�ڪ�i)2�9k<�y0
��VOh�}u��-��?*���F꨿~��g�n�F*t{��T�]��V�x�H��r��v9v at 4�
Ʊ�
v%6��
�Z�K��Q�S�'�nk�Z�24PѰRe}�#69� �'b
��V�iE�-���&��.�E0�Z�"Us�ПR�Nl�D����
+of]�F|zZrn��} �ҙ[R��&��
u�+2� 
PZ�5_�9��6Uqh'�K�5��`'eaT6wKB5��6���2�O�X�iLj����?x�B���
��U���3��-L`��t�p�Pi=����y
�nná7Y�0��I xZM
!�k����_�j���]6���ף��5&<z��L�b�F_8݊���S:�{��%wGʌ�1W���$���� �L�k�K*���	~d��1�Xf`t	���U�xF�d����S�
&RL�$Z!����R�/[~'6��
:��r�&Ǖ0 iq%�F6�f�bMn�ߣ
khF7���Aw ��" Z<�19q�
��>8״)b�U+��*��~وc2�soT^t�߸���_h=��z�h�><< ��0|18@���|xn_ �\O�U��Q!u[q�+w}r~*(�����T� �e�0�����I�\������c� �������ϸr��j͓1�y_���z
�0�M�xڠ`;)�	E���r��HІ��m��-����oVG�������w/��
޽��'Ր��Q�K�r{ 큭��s䡟LFO�t> �
+�����A
l�9��l�Q�5A4.B
HHUL��d���O��Y�ɴ��۲2��
�j�8ڎKct\�O�
{
}�N�Z���Ckj�5(��vDb��2V̉�����Ldy
+�ʐU�؏��
���Ȟ� �:Z7�����{�Mw�<�o��
�#~���4�ٓ�������g���7�,���Yƞ|�~�����pcR��4wt6�����`�A�p�M�'
@%�
��y�k���&���o
�73z�z���P~�w�H�Vl���
=��#O�Qz�a�{Kĵdž��2I�}��\
J�>K����B��@
q$v��aG¼�n≋��PP�rڑ�0A/��q�X>&}$�9����5�Oo����U�bztL&�+!�(���6�J<y���5��m�j: �
����9}�,��` ��`��"��
6(��}����~����R_�/#���#ׅ �v[U�9��!���K3�j��`[��?��3]���EW缮��,z}Z�r�����Ӌ��X_��&��sɒ����#���U(�ؘ9
`��00"h�Q�/�)~%��
����0L��]�jB�g��]��� ��UN�E�:u���J�id��-R
\b�3ۉ�������f,	
�}w�!@%��u�0��=��k+ֺ[�Z��~,u��x�1
[-��y�/�
��W��5�ěpK�|�l
7�=
�i���Ӈ��xe�XOn
��=A���-
+H�w��	��C ��߿���{�A��ʮ^���F�܍#&��mY����m��
�p?a�	C�J��i.Ϟ>ݷ�Z��
���
f��8qb�
l�#/S�<xV͍*���y��
+endstream
+endobj
+1524 0 obj <<
+/Type /Page
+/Contents 1525 0 R
+/Resources 1523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1489 0 R
+/Annots [ 1522 0 R ]
+>> endobj
+1522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1526 0 obj <<
+/D [1524 0 R /XYZ 89 770.89 null]
+>> endobj
+1523 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1530 0 obj <<
+/Length 3065      
+/Filter /FlateDecode
+>>
+stream
+xڭ˒�6�>_�5�UWyd�z��ر�f�[[Ij�ݭ�
m=���� (Qj���I$ � �E9���ټ���������$v�p��$�&�;��o~���
�Տ�P�e�ucKJ��7�PɺO���	��d�!>t��
+���on^<�|�qaMg���
ś����wg���Ʊ�$�|RD��
|�����7��n�캮o'N��\�v]bY3���o��NZ��i��-�������2>
�c�vϠ�
���{Ly�^nE`}�-u�cZ��
��?�n`IX�USy�P���4�D�z�,e���ιx���4uѡA w��$h���8�č�J�ZH������AL�GԿ	̨�NC
"�NM�������$p���q[��s/����� uZ����4�ʢ;�hW�@)˜��ܺ�kɶ|F <�+s���p���XZ�/H�~+
kUbpZQ��޷��-)�Z9c4kN[ױ�mq8�,���
�]��V��M���*��ʆ\��$��x�k��
GX���6p�H3 ���h;��7-
�o	T��fʠt<��4S�{}C�H hzҖ��Zp
�-e�	ݯ8���yWޱEi��uV�D�C��*���J��"��t�+������> �z�f	����hkG
+��P(+Tԇ���*d<ɶ*��,7�@�hg�����*B��X\D1���\��
{��X݄�Y኎Z�:p�$U/Ƃ�T�ꎍ2�LqA	�)�|`�,�|^^�����V��
?�r�cA
�.:�� �I��%���p?(s�h;t_T2��z�;�u`�)\@uW � 3}��(�sj��ȉ�9#�Z"x�F�����J�Q��f=�]���X����e36mv4pO},�_qa�'��m1�=�i	:�����K�[t�`����6����-���O��[�)ϏI����бY/�
=qN���Au��|�QI$Vf���gR�<�Hsn�!�%Tt��ZO!+��B4AH�2F;=)���L}h(�qi�dڢzs���茀
P��<����<���"����8���\�i6�u�ٌ����
{{����·p�i��a�Z*��@�� ���� ��`�cf��¡H�*g�T�QM-�x:��#G��0S�h:��WQ2+�"f�yt["m��1��VQ@V#kB)eĆQ^
�����J7U�g"]DH.��-v�G�<SV6��jFt�2�f���ZI�49l\�Oo��\�>
h^�A^����?��k� ��P���!�RYP��<���e��n QQ�fw�d,�:Qg�F@��
+���M����#���h
�3l6��Շ/1
�~�!�
���
Fƥ��l�XH	�1H��R *�+KS�d����� ��N/�&�����;�"�^b�@`{|�ڏGI;��*=rǀS	Qu���eV����.�$5����"_��NGVS_�:= �2[ٗ� ��,��*���$m�q��q��&'�=����ϋ&���$�&�̒�yr�rt�ܫP¬���Ř"�B���})�5����|���V�
}M�b��?�M��J�$���$/
-t��{!f
+?u�M���P
`U��n�R�u{��,
S��,h���M� p%d/����3�����k8
�}��qCc�`)}���
x�:���̽r�آxݷd�
M�1I��=8*�vC���S��/~ް�� /uhrX�,�\��^Q�ع��1�d�����xabd5H�
�9�4�IlF�U��ȋ����0��2�Q��Q!A)�g&��QA0���x�����s0:�^I��vJ�tRwE>%%�
�+6�3�7�}³}�z��-���^�RՀ|Ǵ
��
`
� ��u&�
Hh=
��4+(ǃ
��w�hA�]�{�%)��2�c�~��_��~���Nŵ��]hî��=g���B"�wM�c�`��y&������L���[sd����_
C���8gM_��L�k�
+P�
a<�����:�Jav�Y��k㥄 �g�}�eeZT�
l
+��=`S�7�}��t�K�0sN7��R��v��\��[p
wUګb!�F+����oz:�:��1��1�>i	��R�L�o�<m�c��]�YɡJ#����@���$
h�IN��3��R�aiD��A��i�
+� ��ah5'm���C�O�囊[df][�D��!^q��Q##��8A
�k)���yDmh�6o��A����#�c����
3i3����<BQ ����Y)/��ĘgV�S������ -rt�0�jWC��u��\�����wH��?�kp}�O�9��94���
�L�N�L�X�6�B�G��"�d�i���8�=�cԑƬ�GňTu��̊M��,6dw��>uU5@ ��Bv`�BN}��iu�b�Ku��!�_9q��<Fg�c�
�G&�Z�SD��gOdSJf8=ݭ�<�QK�hew�WX��|�b�����p|�lGE�kUS�c[h]L�u(���4j��t��[��+�B��Oiש�K�)��C��T��/����5�x����Ke�UwěUw<�P4��K\� �%p��l���ZƀH��2�K��%O>/�K<Аun����uÖ��b	w�؀ a�b�hv��?���H�~��3�U�
i)V��~N0� \)�eTl��*��9�Vp4��I�v�(�a���c�
�#�br�.:N�K=6ЌN!��Q"*|����
�`����?'@#0�!�cD��4?Sg�S�>��I�f{T���~�Lug!�Yi���Yd��A>�i�ݝWu} �~#�֐�LQ4=�2oQ�E��� )K�F�sM9�5��Ǵ�3LՐbJ! [...]
��ι��W��)�b��F�~�|$0Xq��1�8����ϟ�C'냝�����|��D�
��U���U���g�tʝ@�Z����a(�$@�o
�q�H(
+���z �����}�~��ޓ�
+endstream
+endobj
+1529 0 obj <<
+/Type /Page
+/Contents 1530 0 R
+/Resources 1528 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1527 0 R ]
+>> endobj
+1527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1531 0 obj <<
+/D [1529 0 R /XYZ 89 770.89 null]
+>> endobj
+1528 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1536 0 obj <<
+/Length 3085      
+/Filter /FlateDecode
+>>
+stream
+xڥ]s�6�ݿB�R3�����)���mb��:7m(��p�BP����.v�4��̽��b�X`?���zX���?l/^��F�|�'a��
V��JE��蕫߽X�������l�	L��7�wۛ��'
���^|�`�_4?ޤ�j�\����*����Dy�z�H�J�|�է�\�.+�?c%6A at kn���*LB�8Ǯ�Ï}?�hK=�w�T�j�z݁C�۟��
�Wv�m���vO�RQ��W��h�A����k
�
�;U}#��]�;�<��P�dϫM�����+�c
Ǵ�C��O���ቺn��:|
��~����T�-�^U�O�9�Yg��])����*���u^��f6��LI��t���ud�������w�wo�����_�-���P�m�
��0�O��@����w�N�AIp�p8�r8����%�(�髺*��

����p���=��\&(f}�/#��V
D(A�Qy��Z�0���]��n�AZ��h
!�B�2P�V$�� [...]
h�Ʋ���4v� =g�k+�Z�2��ۡЛ�`K�3�|�/��
�Ɍ7b͹
�f"��-
KQSwAD�"Z�v
Q.�]E߾:��^��
�=<u
+�(�>Ԍmw��
8�T��-�@�U�g��4F�Q v4
+Ȑ;B8�:2 ΞZ�m�֡�-��K
�
rڑ	�v��3
9(lȡ�&y�ȫ���Z�l[�/a���/g=)����,�ȸ=��H��%��\I&y*��#h5�K'��Q:�0N�VjVI�{��G�P蛌a~N�8N�m&����m�g��j�2K���\�x.�מ�
�k�AG��9 `���,�}V��M�找˪ORTSc1��q|Ɇ <*�
t���)Y���=�-����R7��y�1{�
���H��x �Y	�(��q �i�ᔄ{�
F�?]RW�13: s&�Y�Q*�s�r
֐����H
A��F8��
��0��z%�4��
+w��j�"���{�� {�	����P��.g'�S�p�C��*�+��K�圌
0X\�*!����o�Tm.�w6��l�ݻ�7����OD����'�L�a
��8��}W�V���*�)i��y�ױ��H�5����TL��T�i(�L��Q1��Ey�L����G
�N �%ے�$�<��� �;����?M��f�

��~
z3�Atg78N�[}L��9]����*ʬ��ԯ$�9��w$����Y
��<87yp&\�d1D��������bS�zL2Ğ	�����l�1<��zXR𥐋(�B�s����֨�
AR�
�r���8�"����X�����F
+�)a�
5f
��a
J�$1�@f��HL����T�-yũF��2��އ��= ���Si�Bp��l��+ȌE�&��.
�啄pn�z���X����Y�
�v�1�
�a�ٍ�}u
�Q
���]ج�<r�FC4I�?�F�Ҏ6N㸹p�M|�}>e���ۏ7o_�
�[���'N;�o>���ݖ��?��
�5�[�IN��[(j��7�Y
�p�+��h�" �`�I
N1��,
+kG T$���K�k�Y� �����]}�;-�
�m����_���
M�������s
��x��$&�%
����AW�ڡ".U:�j��xY<<84T���4yD�H���@�����
��Ȍ�d�L�0�� �TP�3E>��ѷ���A���ߚ �)EhZM�eŸ,�a��n�.�3
;M�ky�G2
+wYtU�M�,�ݜ
+~`OWt�c��if�
+CO�,�ʓ���s��93n%s�b��Vwh�)��� F��b�q⋻���œ+�u�t�����w	;�QU=ڤ�
_2�E6��E�]������&k�����h�N}��	�W_�(:&3V��G�ZNg
����yi� �x�$-g�c<����:��\�بPA
q*��A�ٷ�7
�����A�����і�Ώ
ndW�o����|�=_�����xYS�AX���]R�u�ch��){f�@3�wƖG0�v��ha!�x�„��Z��>(ʨ��]�\R4�y���v�T/�]�w�'���=��4x$?��ƻ�iU�w�֔!�1w�g<O2��I���x��\���
�`ƻ�~|}��
�/'��l�Q��E�l�>�T��U
�
%l>����Y�
�4з5�����N���'�>���x��lyQ�58��]aC���E�F� v�
��4z!�878
���p�ʒq�%c�!��q
c�=L?%F<D�!���H(�/o��XU����@a`���o���.l_]y|����_�h���q�~���M���T��Str��.q����2�O�h�e�-
��X��-3h
Q6)��{�?�B
�=��8�Ms�E�S�G����3�Ô�:��Zh�kа�M�&�v�Z�7{����˅�9עe�bd� *jm���$LF��d�uw^��D�
+� Z����`k��"]i�2*�����
{�����sC�w�<�
3�+�
T�>�&g��J�nA}�2�y�r��Ӛ�������9����~>֔ϔ��͢=p����aƟ3H�*ɩ�ƨ,�S��'��3�����~f�y���2g� uj� }�
7�I5�a�p��3ܮ��
ǡ����c�����C�}���Ӽ�ϩ#��d��>ՙ0��8@��`�
�=a?����y}C�!7������w6��
���$	7i}�K��"݀���/���4ԃn[�9
xu�D����䮀��H��w%�M&7d�F�~�y�EI}xG�_A`&����(Z{~(�gzl|٧��"�>[�����.?���qh��s
���^�ڝT�>l����6��?��\�W��3� [LN��o���/�B�%
+endstream
+endobj
+1535 0 obj <<
+/Type /Page
+/Contents 1536 0 R
+/Resources 1534 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1533 0 R ]
+>> endobj
+1533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1537 0 obj <<
+/D [1535 0 R /XYZ 89 770.89 null]
+>> endobj
+1534 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1543 0 obj <<
+/Length 2456      
+/Filter /FlateDecode
+>>
+stream
+xڕY[s۶~�����PӘ�b�S�:�Z��X�L'�%BOyQy����´�x�v��bw�����a��~�^ݾ�<#���
����m#�c+���Lu����J�\q{S�����O��x��E ��R��W]9@�
��V�6��է?l#�O�my�ڸР��]���p�˕=V-�g�9��8��o+DZͪ�"�,�'l�fY�L�W�
xZ���
I�YTiv��t�<۫�Q2��yr�5m��V�mv�b��I1��j���u��	��{unyXҌ��Z5M�Ĥs]!�1KUʔ/�
�&���
�2�f{�@�g�=kj�n|��y������V�mU�� ���8����S[x���<��Y���#S s0�Y��|��U��RI�2�����
�������I���B�lU]deB
��Tu53��xj���x<�	Z��Bom��Vn`^�D��ߦ=�#��m�d��Tq㔠�<���^e���ǁUa������bp�k�PW�ִ
l����;�ֽv� ��#HS�x��D���᡽S�6��<2%�E�nb^o$תH�r�5A�

:R0@{�<K�=&̐�GV��<ݱ-��|�q���
K�p���a���w߽����F(��wo�X�
f�tX��|Y+j��Cuh/x
�Z�Є� b�*y	0�x
�SK
+�����P<d
��Kt5 ��IՁ9

@x���\)}�z
���
�$�̬PҪ4e0�q�ٞ����V
:�\I`K|Ak'�����y���Zүx�r����h*�1;�����*vP��R�&Y�q�.A������
 �]�
+a�R\BH�e#��ȶW��0��i��Ϙ
�QP9al���ܩm����^.�XvVUo�ruhoE$'�Yl:ady�:
ƍ�E���Ӹ�K�o�?q0�<_�/z���|�#�*yB�
�<v����Eʮ؁G� ��	���
�ѯ:�|�ݜ�>�ݶ]��qI˭d)�	\�
�b(��u�h��#pD�u%b�>B'���x-#πQ�[A��'`^���4�s;�o�Vy�yG
���	��q^h��|&��2���c��{��#��̚91��

=��u����4Q/�9�a�N�rё
��X�w;�)Aa��
t�:9�0���l 0bk
+�ě@4�$̤�t�K�qEF�U�_h���O�ƻ_@9	�F��������|�
��*N���8bbs�NJ22-�M��D�O�32-rw�:#3$� ib��
Mpf�"~��Y��|+p\����p�YK���L�6
���:Z���U���Rqi�w�
+:���v<I��5H����^_Wy�
+*@̖%7f�CY��
�j
(Ȅ����;���y�����ަ
Ei��@��^���
�8C]�ȵl:��X
�B%w�8h�>%�
+ at YI��_����
+l�˴Y�/��䨾��gp��5�)��M�k�Q
�Z[�'��$N�+�?�
Ȏ
�����w?����Y�l0B���c����q�
뤤�;��Ŕ���r��{
��:��ؖ
O=i��s��b�'�D�{lbLxTb�O)�f� ���ޯ:��X�
zI)�
�c�q<4��=�
�"� P&z��]Z���b�M���p3g?�=e�g�Q/�lo^T�Z٭���A���?$�?e�X��@N�$�����+��0�
9٩���4�
���`�K���W���n77���	�r����h֦���#‚v �G� ´��qBg"
�]E�<d��xb���#
��'{�$k{�5�eY��53�TKi���!)k�	~\��
~����� ���U�O�����뻍@�v���{�X�
+_���H_\i
�
��N�?[
��<Z�Zn
J��y�Bh!y0NCm�NX�`A��b�
𚊮� E������
>hp��%;�%O�8d"��i��<��j�^͕��^怖��P�If�Ц��YZl��*��k��
����Q���$@����w"�ռz��Lc%�9'eB�7
ҝ�\��T��.�yѸZ��`��G�*WI�%�j��/�`$*T��pI�+T
��_�B�H�D�~��b*�	���!>BM
b�
~���OQ_$p�<�J�D�+U�:
���%3�'��c0����Lj�N�C�����
������-���R����j�m��ѡ��gt,�?O!lA,i��z�t.	�����S+�V�ޭDw�
C]����@�_��|t��}`
�U��	��w��3^R
����� �����sL}�>��2>�	}3
W����V�z������a� � ^��A�����Q��D,�&)�Dl����`�fcm��P�*N W�`� �뎍*�
� [...]
�
�,� c��i;�c�ߨML=Q���3~����o:�)�4
+endstream
+endobj
+1542 0 obj <<
+/Type /Page
+/Contents 1543 0 R
+/Resources 1541 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1538 0 R 1539 0 R 1540 0 R ]
+>> endobj
+1538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 600.977 428.041 611.881]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+1539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+1540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1544 0 obj <<
+/D [1542 0 R /XYZ 89 770.89 null]
+>> endobj
+1545 0 obj <<
+/D [1542 0 R /XYZ 90 482.933 null]
+>> endobj
+78 0 obj <<
+/D [1542 0 R /XYZ 90 180.648 null]
+>> endobj
+82 0 obj <<
+/D [1542 0 R /XYZ 90 146.228 null]
+>> endobj
+1541 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1573 0 obj <<
+/Length 1230      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�8}�W�m��"�iY���44i�f�l��a�c��b��f��^۲��h`�I�,]
�{�����޷N��Ιd�Bʥ����$WH��5��m�:_�,�z�(������U����:������
$=+�Z�_�5��FLy���Sdqʠ�Zw�?[�@����Z�"
1������ s�cl_���f~��6��}��C��Xb�l�2M��4��6�_�ˈl�}f���Ι�W�;�#�;�:-
+l�YU�U1-씵����N��(	摎s=������=�'Um��ڌ
�,H�Y
&q�]_wS�I��K���
�&� �D���8���?�q(`�.&z����p���bm�€���+Z+��Y?,(L
�ٺ&���FN�ğ1�q��<1��ѐa�~�&�M<����gXx�
�m��A@�{q=����ϓ4{������x6�;�<��蠱R�a����”Ķb��EV
���
��r?
��A�{�fg�TH!m�_
�e�hS��V�c$
\�Dso�g��3V�,�b�<?��
8Ҟ��.��viOts�~�3�.Y�6i"M���t���դ�B����$��ͦ:�k]��l�u
������E��֡ž�Jm'�a��zp�t��x�~]O0[���-�<,�A/��$.���B�Q�l��U]�Y�0U��;������7X,�!f���
O��"�փ^"�
�0��}��ɻ��ğ�
��+��%���m@�2��)�{^�p�8
?���AO�yX$��Ϸn>
S�0vX���1��N�e~%���Q���t��	wOi�Ǭ
�"�
�<o�tv�<n�jv���p����I���![	������Y��)���D�����[��”��DX�M@)�㑉���hp5��:�$L�e�����G3q,6Q�Wl_j8G��cS�)�ap
���[��R�(~X�K�sp�փ�y�����#<�l>U�G�]�x
+�	G�K⠚:׃��ꔨ�,��sX���S,[r�����ގܔ���89p
Ce&[̶�ٕ�b{���R$���
��@.�P���7�lbHz���Z/�cLC�"bֻ�-͵�^{i�|1����ۅo=�8���Y����\V��2���@�3��?�x�w��X��;�NK՗���B;AN��K�t�j��k�c���G@�MƟ�����
��L�c7�/����yaٜ���Q����-���/��К!p޿#B
+endstream
+endobj
+1572 0 obj <<
+/Type /Page
+/Contents 1573 0 R
+/Resources 1571 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1570 0 R ]
+>> endobj
+1546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 630.668 221.094 641.547]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 620.616 513.996 629.592]
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 596.467 288.052 607.346]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 586.415 513.996 595.391]
+/A << /S /GoTo /D (subsection.9.2) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 564.169 117.901 573.145]
+/A << /S /GoTo /D (namespacestd) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 552.214 513.996 561.19]
+/A << /S /GoTo /D (subsection.9.3) >>
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 434.329 513.996 443.306]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 412.083 513.996 421.06]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 389.837 513.996 398.814]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+1555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 367.591 513.996 376.568]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 345.345 513.996 354.322]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+1557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 323.099 513.996 332.076]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+1558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 300.853 513.996 309.829]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+1559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 278.607 513.996 287.583]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+1560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 256.481 513.996 265.337]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+1561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 234.235 513.996 243.091]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+1562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 211.869 513.996 220.845]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+1563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 189.623 513.996 198.599]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+1564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 167.377 513.996 176.353]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+1565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 145.131 513.996 154.107]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+1566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 122.885 513.996 131.861]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+1567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 100.639 513.996 109.615]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+1570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1574 0 obj <<
+/D [1572 0 R /XYZ 89 770.89 null]
+>> endobj
+86 0 obj <<
+/D [1572 0 R /XYZ 90 721.073 null]
+>> endobj
+90 0 obj <<
+/D [1572 0 R /XYZ 90 697.175 null]
+>> endobj
+94 0 obj <<
+/D [1572 0 R /XYZ 90 534.139 null]
+>> endobj
+98 0 obj <<
+/D [1572 0 R /XYZ 90 501.687 null]
+>> endobj
+1571 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1608 0 obj <<
+/Length 1298      
+/Filter /FlateDecode
+>>
+stream
+x��YMs�6��W�Vr���
��顑�:q&��Ni�CK��F$
�N���d)�H���b��xx�ط ����u=�m:�+fi�%��tail)�������hKD�!��o��f�
����I��!�=[9D�[g�(����4};���
��-R�(�r�Y8��	[sx��ˆi�����
~����.�
�~�`��Q� B
+��`�OBߛ8��z�2���n�����|G���D3�c-@&������8�Kצ��&���X"Li硽��&5���+�)�}!�xwf�4K�8ʆ��{f)�Hb�����09"Q^���Eh�hMo� �V���0���@���%�4C�r]V�:>xSGq;�fc./gq�I� �O�䄃�����y
tD�O��
D�
8Ȼ	׵^r����KLWwq6����R�=��QO
+Ab�
��$4#6�
q<��E
�s�����+	��^�
�k@$ϋ���ě���Nx8W��:/��$�{�&*����$���k/<
�]n����H��eq��
`�4�a�S&)
�x_C7K��E���x헻P �}j�T����u
Q%]U�aH�;٦\wRն��
8#
"?55ȉH��<Lu|�\1:�b(nw���~�C�*�f1Qǃ�3�cBH��g|�^ʬ��1��R?��/G
+�Og�y���zzXo�:��ud�އ���Dv�R��`I�=���P�n�MZ���x낹.�5"�hh�?����T6��H���72�<���UaW�و'#]#�w3��J^��yMwCF$ԫP.��O
щ2&9Rr��~R@�8�n�i�1c؅�uP�sE�H�
}�"zag������{�湎��j"E����~
<�a��+��d]������`{ij�H��z
�f�]r5���a�\GS���G�IQjgX�����|�hJ���C�
�ZAe
���|Ґ��
��Km}���r���
��Z"���g<�n`
+��.�V�F�#��
3
^e
)f*
�kET?
W��U<�P�s�$Q�
��P�*hq�nS

��۵�� ��ZPF��w,�`1;�x
�Pn��9N�����d����U
+մ�<(������� ��a��@5��ߙhH2�
+
�T-���
9em����-(�����WH�}Y��Bv&����ύI~r���{��~�䯋翱�_����~�_Bd�{�
(X�}o����g�zz�1 �A!�#!v�`����Oˍ��h��
�C��w*���2�I9� Z�������x8�Z1d~`��R4�x����/.nBf�b x��3L��
+endstream
+endobj
+1607 0 obj <<
+/Type /Page
+/Contents 1608 0 R
+/Resources 1606 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1569 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1596 0 R 1597 0 R 1598 0 R 1599 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1605 0 R ]
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 709.994 513.996 718.971]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+1578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 688.092 513.996 696.949]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 666.07 513.996 674.927]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 643.929 513.996 652.905]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 622.027 513.996 630.883]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 600.005 513.996 608.861]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 577.863 513.996 586.84]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 555.961 513.996 564.818]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 533.82 513.996 542.796]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 511.798 513.996 520.774]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+1587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 489.776 513.996 498.752]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+1588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 467.754 513.996 476.73]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+1589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 445.732 513.996 454.709]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+1590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 423.71 513.996 432.687]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+1591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 401.689 513.996 410.665]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+1592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 379.667 513.996 388.643]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+1593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 357.645 513.996 366.621]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+1594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 335.623 513.996 344.599]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+1595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 301.646 513.996 310.622]
+/A << /S /GoTo /D (subsection.10.73) >>
+>> endobj
+1596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 279.624 513.996 288.6]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+1597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 257.602 513.996 266.579]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+1598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 235.581 513.996 244.557]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+1599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 213.559 513.996 222.535]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+1600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 179.701 513.996 188.558]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+1601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 145.605 513.996 154.581]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+1602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 111.628 513.996 120.604]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+1603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 77.651 513.996 86.627]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+1605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1609 0 obj <<
+/D [1607 0 R /XYZ 89 770.89 null]
+>> endobj
+1606 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1640 0 obj <<
+/Length 1279      
+/Filter /FlateDecode
+>>
+stream
+x��Xَ�F}�+�#���EJ��I/d �C��rC5mی1I��sm����k9u�{Ov�v�Z���ŭb�AFR�
�
�
�
���W����'�I����){��4�y�o��A�[��'쐢�@J;ð��;#x�������7
+
N�N�~��^@���/4B4b\:�DH��&�����zm��x��nG��=���|t���IL'��O�8�n'1<D�E� J���I�h��f�"[��-
���ak'˵�P4ف��b��=�>Jm�a�+8��,v�1HQ��Eko�V������
*p���M�ê�8�"�Wh~�CPp��A�|��
�^\�e/��_9�N�)@J 1 5�&���i<
R{�Tc��+�� �i�Tt+���|�W@,�j�/#
Qe��8#M��5����㨕I�*���
�
�
4YjZH���u%��  �)�T .V��8��o
+
�ur������d�L�Mt�a%�����H6
i�
+�?'�pbKp(5���$�l1(B��9��:��e�lRY��lL��+ T�Fl��䝍l�q���ҡ4�Ru ��cg���Ԇ�C�t顺�
+e�7��Y�A�9@��i�|bB

]�mU0͂aN
�$UL*���O?�we�4��1e+ `��
y��� ���2��30�`#H���N��geꇁ
�2�O��p:�����Iw���p�t�>�ǀϏF��MA��@u`S��j� kA�j�K�D�����.�Yn�0u�
�a#��vѮ[�%|��c��sx���ͣa��:��1�x�*l����d�]eyߏҪ
+����O� w�C�;?NPq�q)�&�\65%�7-�G=.�bJv�U�����T�!+'|ϣ
��]ظ��-��%�K���4%G���ǒSW�Wυ�,�
+�ۭaX
ә|�i��D�OJ�-�P�K�3d��}o��)
5?-�Z }1�ڴ��`̰kD��Ӑ��٪Lאl��#ަ��Jƀ������Ј����Iu�>B�zy�b8�U>�p�2�O+�L'�x2�/�
+�<�E�M|8�ϪL�eF�L�َ�2����~�&��vM˲>�o��/;53�2)̔��ݻZI����]�FG��0�%��D��?n>��}/.�C�\�0�z���Y���J�hX
천`�8�sѦ(����{(
~��们v̊��~4���?�C��M���$�{��
�ۥ�.p����KF���#8bE�{�N�����Fc4��-�wc
�jU�ޠ&�`�8Y,(���;
������
���g
+endstream
+endobj
+1639 0 obj <<
+/Type /Page
+/Contents 1640 0 R
+/Resources 1638 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1532 0 R
+/Annots [ 1604 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1617 0 R 1618 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1637 0 R ]
+>> endobj
+1604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.66) >>
+>> endobj
+1610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 664.091 513.996 673.067]
+/A << /S /GoTo /D (subsection.10.71) >>
+>> endobj
+1611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 630.142 513.996 639.119]
+/A << /S /GoTo /D (subsection.10.87) >>
+>> endobj
+1612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 596.194 513.996 605.17]
+/A << /S /GoTo /D (subsection.10.94) >>
+>> endobj
+1613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 574.201 513.996 583.177]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 552.327 513.996 561.184]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+1615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 530.214 513.996 539.19]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 508.221 513.996 517.197]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+1617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 486.227 513.996 495.204]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+1618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 464.234 513.996 473.21]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 442.241 513.996 451.217]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 420.248 513.996 429.224]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 398.254 513.996 407.23]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 376.261 513.996 385.237]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 354.268 513.996 363.244]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 320.319 513.996 329.295]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 298.326 513.996 307.302]
+/A << /S /GoTo /D (subsection.10.58) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 276.333 513.996 285.309]
+/A << /S /GoTo /D (subsection.10.59) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 254.339 513.996 263.316]
+/A << /S /GoTo /D (subsection.10.60) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 232.346 513.996 241.322]
+/A << /S /GoTo /D (subsection.10.61) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 210.353 513.996 219.329]
+/A << /S /GoTo /D (subsection.10.62) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 188.359 513.996 197.336]
+/A << /S /GoTo /D (subsection.10.63) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 166.366 513.996 175.342]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 144.373 513.996 153.349]
+/A << /S /GoTo /D (subsection.10.64) >>
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 122.38 513.996 131.356]
+/A << /S /GoTo /D (subsection.10.65) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 100.386 513.996 109.362]
+/A << /S /GoTo /D (subsection.10.68) >>
+>> endobj
+1635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.69) >>
+>> endobj
+1637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1641 0 obj <<
+/D [1639 0 R /XYZ 89 770.89 null]
+>> endobj
+1638 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1670 0 obj <<
+/Length 1177      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W��L����C���4qKi�
���S^
�J���&�2C�
i�D����bqv	Z"����5G��}F� -
�
+~-н��#&�s��uټ������
�c�5�T
�&�
��
�
(tD��$�.�G��O-��
"�}+EH0�M�Bv�}���)�hJ1�%�ɐ�O#ߛ
q��ie��

R?}��|?��e��7]��6|�f�-k4f���[9�`g��vĬa�)W���
ZJ>�eE�����hؘn��FU�	A#n8v]�F�aMXG�Y��wg��]x�tH]'�Y�q� XS՝�1��t�1�w
�
+���=i2.6�ד�X�
Y��
C�8� �//�
*���|�H�9�0�Ƌ ^”ue�p��1��Ή�pR?��M�k�U_�$Ê�[�;�7�Lj�y �~ 
ݏZ�#�"=��_r�c�ֻM�F8B�v��,���y��9W.��OO�4	7Y�1 �X�yU�w8�lXܡ,��ʑ����ŵ탂uCї����&-�L��;��q��AB�r�C�{Z2no{�p�M������~����fӵm
+�Tl��Q|�(�ʞ��Q����+�>�8�m���M�6�i�~֨���J�
�M_5	�q!ߠ�HY�_h��V�:������"7
�

�u�#�v���B�W�
+��
�g��;;��ֻ�7Y�� �JybIQ$���k����J����#�L!klhw��	�&�H�����!��!�c�i�W�TP���$�/g|G�<K�0[U
�J
���_��ƒ��d�
+s��81gq���2����i
i�q �y�,GDm��IA
��i���>��G��Y���'�r؞�s{��Q�
Ÿ���}j�����Kۜ�_�~f@ϩ�u8J�
o�_%���rE��M���ڛ��w��
��^����vO
�#3�������ϐ<+�W.�j=.�o�-$RBv�D���!�������ê���B��XU,��� tJ���	O���#�l�
M&o��Gx�J�Te�w~��ò����JDZ���x8�����>U��խ?sw�{P�XU�=^^\<l�k/�<��G��9̾�
�� %iu� ������<JBAm��	 �
�O�֬��.��'V
7G��p`�� �Oq�
+endstream
+endobj
+1669 0 obj <<
+/Type /Page
+/Contents 1670 0 R
+/Resources 1668 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1636 0 R 1642 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R 1647 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R ]
+>> endobj
+1636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 709.994 513.996 718.971]
+/A << /S /GoTo /D (subsection.10.70) >>
+>> endobj
+1642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 687.292 513.996 696.268]
+/A << /S /GoTo /D (subsection.10.72) >>
+>> endobj
+1643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 664.589 513.996 673.566]
+/A << /S /GoTo /D (subsection.10.74) >>
+>> endobj
+1644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 641.887 513.996 650.863]
+/A << /S /GoTo /D (subsection.10.76) >>
+>> endobj
+1645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 619.185 513.996 628.161]
+/A << /S /GoTo /D (subsection.10.78) >>
+>> endobj
+1646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 596.482 513.996 605.458]
+/A << /S /GoTo /D (subsection.10.75) >>
+>> endobj
+1647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 573.78 513.996 582.756]
+/A << /S /GoTo /D (subsection.10.77) >>
+>> endobj
+1648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 551.077 513.996 560.053]
+/A << /S /GoTo /D (subsection.10.80) >>
+>> endobj
+1649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 528.375 513.996 537.351]
+/A << /S /GoTo /D (subsection.10.81) >>
+>> endobj
+1650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 505.672 513.996 514.648]
+/A << /S /GoTo /D (subsection.10.82) >>
+>> endobj
+1651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 482.97 513.996 491.946]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+1652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 460.267 513.996 469.243]
+/A << /S /GoTo /D (subsection.10.67) >>
+>> endobj
+1653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 437.565 513.996 446.541]
+/A << /S /GoTo /D (subsection.10.83) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 402.907 513.996 411.883]
+/A << /S /GoTo /D (subsection.10.83) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 380.205 513.996 389.181]
+/A << /S /GoTo /D (subsection.10.79) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 357.502 513.996 366.478]
+/A << /S /GoTo /D (subsection.10.84) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 334.8 513.996 343.776]
+/A << /S /GoTo /D (subsection.10.85) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 312.097 513.996 321.073]
+/A << /S /GoTo /D (subsection.10.86) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 289.395 513.996 298.371]
+/A << /S /GoTo /D (subsection.10.88) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 266.692 513.996 275.668]
+/A << /S /GoTo /D (subsection.10.89) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 243.99 513.996 252.966]
+/A << /S /GoTo /D (subsection.10.90) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 221.287 513.996 230.263]
+/A << /S /GoTo /D (subsection.10.91) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 198.585 513.996 207.561]
+/A << /S /GoTo /D (subsection.10.92) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 175.882 513.996 184.858]
+/A << /S /GoTo /D (subsection.10.93) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 153.18 513.996 162.156]
+/A << /S /GoTo /D (subsection.10.95) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 130.477 513.996 139.454]
+/A << /S /GoTo /D (subsection.10.96) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1671 0 obj <<
+/D [1669 0 R /XYZ 89 770.89 null]
+>> endobj
+102 0 obj <<
+/D [1669 0 R /XYZ 90 110.349 null]
+>> endobj
+106 0 obj <<
+/D [1669 0 R /XYZ 90 77.486 null]
+>> endobj
+1668 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1713 0 obj <<
+/Length 1457      
+/Filter /FlateDecode
+>>
+stream
+x��Y_s�8�����L�H	����&MҴ�����pi�� �L
�����߂�ml�k�yBi����#�S���
.��<�N.
j$�ō���pl���и39�
�3(w
6U��oF7���[�b���#�	D�g�q� ��}�F���\*\�Z�E�97n{�p���!�A�Y�#x%D
� ���y>��?�,���Eŋ���
��1����h�����
��
�z�Te�J��E�

+��L�4��I�QR�l�'0���}T��h�Er���̃,Z%����g	a6���t��
b#�"��fX
�ž7�[�L�3f��!g~�xz��o1s����5Ӈ(��s�}�Y��$�
f�C�m�u���4	Ԯ��K>(�2�A.5�&�L�(�֠m.�d@� �AOc��-�kF�Q2�c�l���!ka1��yǀ�sr	��V��0dѕ'���4�
�@�^1�

�)y�ʢ�"�嶣����
��1r�9�=��M�W�I)c��QX��#.���T6�
z��cעH�&
%h2+�/`:A�Ͻ���ug
|bc�~�7�:4�'
�q�/���5/�~�,�;Hgo�ۙ��-FF��lL�2[{m��4"�u�S��R�5��e�:���d'��Z�=�rN
S�G���0�Υ���oG�t�bc�Gy����JРAt�mWIM1�sS(�UDN2�4;ৄ0jJ��W���������4��m	�C�<���#Vq_2�vKk
�0�	��^�i��H���
���b�A�{f�y!

+�
S��C[|�
��9�^�>�i
�`�c�e6�pb�3%iQ$���Ϣ��V]�˰���<
�P�B\�f�'�|�)��O�� �]z<���:%�^�V����:���m�?�uL������.�_���"�Y��f��bL�Tr�$���&�
z�e/T2T%UUr�=�:,�T�m1p��-��1n�$I�E�z)P#
C]�i,��. �j2[@�p�#����0X��
��zb�E���x���x��"��`��$IJ����J[g۶�t�<���\�86e�
�Hڙ��[e��w��Ǫ��N��k��BͫMϞG�c�� �
+�QG�F�՞$�3�Jd֢�d��O���s���F��)�U6��ߣ3j~<���1��4^���:G�"-t��f!�A��J��9�'�B�D
)&�u�Q��s���g
��,
+�o ��
+�K���=/�@^��,vG�>���ƺ"U��?���
F�?����~��?ic�TS<
�T�x/R�w �B�E��ll�
�Duy���fU7��G���8����&bkr�7X��86\�v����\���2
~P��s��������~�Ԑ~�
�({
���#(*`������RkW��m���2ݰM~�%+o=��4+�����x9�e2EA��q�7C�Ď��Nt.�S}�%���>Q�(�_W|�
+endstream
+endobj
+1712 0 obj <<
+/Type /Page
+/Contents 1713 0 R
+/Resources 1711 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1715 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1710 0 R ]
+>> endobj
+1673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 659.759 336.132 670.639]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference) >>
+>> endobj
+1674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 649.707 513.996 658.683]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+1675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 624.799 428.64 635.679]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference__Common) >>
+>> endobj
+1676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 614.747 513.996 623.723]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+1677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 589.84 389.939 600.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+1678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 579.787 513.996 588.763]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 554.88 299.694 565.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 544.827 513.996 553.804]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 519.92 315.718 530.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 509.867 513.996 518.844]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+1683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 484.96 301.89 495.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+1684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 474.907 513.996 483.884]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+1685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 450 394.399 460.879]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator__Common) >>
+>> endobj
+1686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 439.948 513.996 448.924]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+1687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 415.04 282.529 425.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+1688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 404.988 513.996 413.964]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+1689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 380.08 288.79 390.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+1690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 370.028 513.996 379.004]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+1691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 345.12 513.996 355.999]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+1715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 334.798 127.862 342.551]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+1692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 323.232 513.996 332.089]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+1693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 298.205 291.918 309.084]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator) >>
+>> endobj
+1694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 288.153 513.996 297.129]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+1695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 263.245 384.426 274.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator__Common) >>
+>> endobj
+1696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 253.312 513.996 262.169]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+1697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 228.285 362.289 239.164]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 218.352 513.996 227.209]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+1699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 193.325 362.014 204.204]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+>> endobj
+1700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 183.273 513.996 192.249]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+1701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 158.365 341.531 169.244]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+>> endobj
+1702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 148.313 513.996 157.289]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+1703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 123.405 344.301 134.284]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
+>> endobj
+1704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.245 111.45 224.72 122.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 113.353 513.996 122.329]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+1706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 310.189 99.324]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+1707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+1710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1714 0 obj <<
+/D [1712 0 R /XYZ 89 770.89 null]
+>> endobj
+1711 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1770 0 obj <<
+/Length 1374      
+/Filter /FlateDecode
+>>
+stream
+x��Yms�8��_���3gEz#ss3M�tڦs���)�x�-;Lyq�\���$�q��ӌ�	!i���G�����������Rz��|A�3Y8>v$�p7wn\��pD0���(���r�^�y1��|r��$�U	
R�.&���!fA��rf���;s���`���y��b�Q��s=�{��nO��r�Ү��K{�"0#	A���C�� ���xH��F�{=ς�Ux�����}�̲!Q�.��⿕�y�&�9�a�g���>�f�ɽ6���
�6@�
s
��>�����ֆ��q�T�fD���K|�R�y�@_�7��د�2}�Ʊ��`��O�D�����qH���d�SP�Tf���=g���e���#�(���
t��Őr7�^�9�RL��9��d�z��ݢol?D� �)��
+�2{�ɬ���%Q�� k�l��e��h�bvl�����qo�r#�����}A,��]J��|�U�fE�M*T ��s�Ұ�9��}N�� E{�	���O�&̟�ɉ����p��lQ�ɘ��j*��}:�`��mx�f�r�p��A�'���S"��ɿ
�;��)�[^L�BgA�����53l�5a��Sح,)E:�I�[���\[��ټ6��!z�s������vUQ�.��WQg($D�,�ZE�c�BI�Z)���DP�{�ى"�=�Rz8�P���5P<\kB����;��z/e���V���,�����u���D��,k���|�̗�����ͷ�|�&Ѻ�Te@������1M�d�#��A
�v�;-��B��>`(���,�O?�Ę{x��W��%hbG�:{B� i���ޔz0w̞
aӰ~�<�x��B�����S^I1��Ҡ�H���jG�{(�0{�S�9.��&��i5�sW	�rT}�:
+6x�P��)s⠫�c
�~UY%�U=TQΚ������&s{ѳ�!�3 C�
�<���F�x��X�%�M礙�9�sR�Ɏm�+5:
���BE(p
�od��
ظ0��ul`�� ������R�����B��o�6 
�*���G�e�5�f
&A�; '�#!�;p|}1�
+Y��<G|�<I�0�G����U�4
���'����"�US�A?�vou��b�خ�f��֜n��aD6_1�[pU�o��,�7\�
О5�e��S��)�c�-Zl6��n��Q���,X����ʇrQ�P
w���oA��^����~�
@fU0�8ȷ�fV.,��:�m�Ks�%H��3�o�c�Nԙ7		,��
��=��w�
}.��o�B8C�7���buzrr���u�D�4މԶ
>�[���4ӵU�z��K�#�	Ak$ ��0��V���a���8�{�y
+ o���t���
+endstream
+endobj
+1769 0 obj <<
+/Type /Page
+/Contents 1770 0 R
+/Resources 1768 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1708 0 R 1709 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1772 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1767 0 R ]
+>> endobj
+1708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 318.129 718.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+1709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 673.003 410.637 683.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 662.95 513.996 671.927]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+1730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 637.914 343.962 648.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 627.861 513.996 636.838]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 602.825 279.196 613.704]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 592.772 513.996 601.749]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 567.736 314.612 578.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 557.803 513.996 566.66]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 532.647 381.587 543.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+1737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 522.714 513.996 531.571]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+1738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 497.558 333.043 508.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+1739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 487.505 513.996 496.482]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+1740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 462.469 439.967 473.348]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator) >>
+>> endobj
+1741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 464.491 513.996 473.348]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+1742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 439.335 374.756 450.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+1743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 441.357 513.996 450.214]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+1744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 416.201 381.003 427.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+1745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 406.149 513.996 415.125]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+1746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 381.112 354.811 391.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+1747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 371.179 513.996 380.036]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+1748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 346.023 399.264 356.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+1749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 335.971 513.996 344.947]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+1750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 310.934 461.061 321.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface) >>
+>> endobj
+1751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 312.837 513.996 321.813]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 287.8 513.996 298.68]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+1772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 276.587 173.262 286.724]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+1753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 265.793 513.996 274.769]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 240.756 273.666 251.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+1755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 230.704 513.996 239.68]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 205.667 309.083 216.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 195.615 513.996 204.591]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+1758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 170.578 373.82 181.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+1759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 160.526 513.996 169.502]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+1760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 135.489 376.057 146.368]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 125.437 513.996 134.413]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 100.4 326.234 111.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+1763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.053 76.49 243.251 87.369]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+1764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+1767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1771 0 obj <<
+/D [1769 0 R /XYZ 89 770.89 null]
+>> endobj
+1768 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F112 1773 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1830 0 obj <<
+/Length 1664      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�F~�W�b�{�V��әԱ3N���d��f
V
�D��{�& ;)�����s�w.�vfv^u~
tή�D(�;��a'�"�sXM��.��O���!"����Ż��˷�[y�s9�|���
���Q:�E��'�L`����B�Z8
e�;wn;�w�1��T�ό��M��!;!�mZ�K��x��R�f�������&�q�>?�L�"���X
��Y\&�̈'i9������"�R����ߜKC�X��h��E�qD�#V�?�NKy(v�(���A7���R<��(��UOŹGC�p@�
����ixե���We�9�ʖ_$6�;F��dM�
8���L�"O�zQ��޳aҫ*Vz�0`
�9{$Ą�ԧ5#�#&{(��tJ�Z��H��s ���oq
+^�0�,B��v@�Pob�C�� h~��E��þ2-���M�#�>��$QV���<71�M`R�

+��>��1�K
+���x
꒻v��e&���q:��_��\_�����XdU�	+z'R-"���RՐ�1-�
+�Q��j	G��F�)���$�x�l�,Q��"��G� �
+C��$�'�B�%do��������I6�)��� ��� 
ߍ�:Q*[
�|
U�'��(.��ca�˩.[�������:O�3uh��p(����mN�c�vy�ec_���
+�J`Р#B��-�'���CX<���@_�'�L<pt�w�b$&|Xͥ7�J�� �d�{̍�SpJv
8X[��JK��^�w�>�%nzo��meI�VR�`Mln���궒��.
+1�%^�,ܟD>
a�r��I��5�Ÿ�i���o��҉�
��m,��sN��dR�����T�[٦J�8T�$
���4T���\diQ��c: fZKo�ac�Ʈ�:�K�Ģ5c}�_�.�=t�!���$jDU������.�2mi!�w��&��i�/�ƀ}7j�w�v�ij �px���G���D�0����lG�C>���iJw���Ɔ�'R��RØ���K
+½�Tb�.��0���C��S
���C�6
J(b4lKM���P�N�:t�QQ�g�^U��e&#͸a����GG��F��$�)�}7���N<_�-r��X��̾9������{��h��țH������'��^uS����ovvR1�,�/+����,ө	2��$�ѩ-��ژv�P/B���
�nUB��ζX�49D�� �!ǣ���+��m�O�Y
�S����u����:����yV�*�Y����E
ui at N���v]��h�Z\�:��t���~�B�'.
�iFҮC5Z�Iyq��.6��x�i�y��?9,�1Kt�w�Wotם�I�!
e�t�EH=g�L�Hȭ�h����R�
�s�Ȉ���d�:�g��W"�4�W��
��	�b:�ߓ��3��@Qt�MB��\}Z
ה>���ﺀ�������'iE��e�$�2�F����'�����
�Sb��B��Y��md�
����5w�������g�A/@~������ ������i�1g�
��@�F]��6
+տC
;P
�{�Ʌy@ԌL=#5��������7q��4K��"�t��e�����1 �V���v�Wf�&٢�m�����r��ry~v6Z�
+���
�YsF��+�Z�Y.lלZʅj� � ^#��
+endstream
+endobj
+1829 0 obj <<
+/Type /Page
+/Contents 1830 0 R
+/Resources 1828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1765 0 R 1832 0 R 1766 0 R 1792 0 R 1833 0 R 1793 0 R 1794 0 R 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1802 0 R 1803 0 R 1804 0 R 1805 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1811 0 R 1812 0 R 1813 0 R 1814 0 R 1815 0 R 1816 0 R 1817 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1827 0 R ]
+>> endobj
+1765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 513.996 718.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 696.879 173.262 707.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+1766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 686.084 513.996 695.06]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+1792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 661.892 513.996 672.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 650.679 167.175 660.816]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+1793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 639.884 513.996 648.86]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+1794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 615.692 350.414 626.571]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
+>> endobj
+1795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 593.684 513.996 602.661]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 569.492 452.245 580.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 559.44 513.996 568.416]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 535.247 402.527 546.126]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList) >>
+>> endobj
+1799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 513.24 513.996 522.216]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 489.047 441.252 499.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+1801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 478.995 513.996 487.971]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+1802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 454.803 334.358 465.682]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant) >>
+>> endobj
+1803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 444.75 513.996 453.727]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+1804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 420.558 426.867 431.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant__Common) >>
+>> endobj
+1805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 410.506 513.996 419.482]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+1806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 386.313 492.37 397.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+1807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 376.261 513.996 385.237]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+1808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 352.068 403.972 362.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+1809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 318.106 513.996 327.082]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+1810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 293.913 271.993 304.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+1811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 283.981 513.996 292.837]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+1812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 259.669 307.409 270.548]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 249.616 513.996 258.593]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+1814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 225.424 372.146 236.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+1815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 215.372 513.996 224.348]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+1816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 191.179 286.936 202.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+1817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 181.127 513.996 190.103]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+1818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 156.935 248.212 167.814]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 146.882 513.996 155.859]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+1820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 122.69 298.005 133.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+1821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.941 110.735 289.417 121.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+1822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 112.638 513.996 121.614]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 297.457 99.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+1824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1831 0 obj <<
+/D [1829 0 R /XYZ 89 770.89 null]
+>> endobj
+1828 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1888 0 obj <<
+/Length 1588      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�o����$c�$M�.M�&�>��!K�-T/�$�Ϳ�I$�ؑmu-�~�)�:
��{�N����Ϋ������cN�I�s{���x����عs=D�#�1v�Ұ��#*�{�T����k��0�@V�X�fv��v�i@`;D
��(�}�N
ӯ
�X�;_�E��)��Թ�5�F�����rn��Ҟ`��x� B�R�!�nXf�t2��-҇���pz��ʰ|�_�I<}�rU�uQNo
�Ze�A���(����@-�w�E�����^��A�Y���}�nDAy�2&7�<||PǨE)b��y�?�`z��:y�1��Z�>jT�C�����l~�x�277D�S�C*ܢ������z�%�U��s��R�'‰�.��88]f�Te*��:)�����nXG����a
���ݬ��0��)gae�z
�
�Zp��Qk�
�a���>�c 
����^�����B�1�����rʯz�&I��1��3=\_ & ��#���s6��� [���(�����8�����.�3�
�G$yU�ij�
�?�#������hQ���.�7�B*���ߛs~� �&��<iNdb���r]�`�Us~$L�Z����q���Zn��}r���q{y���<��.�DU�?=����N�,��m�6�	��Q���5��
+{�Vw��\��{Y򷇰�e�ӃD�
&���
+6dzQ��0퀒��G����*�A�P��>�e����`O���">
+�h�Pr�g�B-�̆ya,�� �$}��,*�e��1����jS�������0
���~��;{;�
z�(���ި��8Fnq�}¤��J�6����P䊲�]�}�̀��%�=8yB�Sp
���\���eE��H�&m��F�
|,����/45e]�ȗ�w �u���Y�(%>G>�yW5��{��i&�Ŏ�3�����$�_)S"�t������tҺE1K���|�|��s�4���k�`D�?/�,[WA�g�v��<�<�H`��:Y�IԖ��0��f9ص#
��mE���Ar��
&��
�i�a	�D���C���6�s6`®�A�}�����]V6Iɘ|
=g!2��8�˗=	�HF�9������l�V���C���U�W��;6��#�
Gz�0
+�)�U���E
����Eo&�du�ڶ�5���ֱ��k�A�3t���/�
���.�Ԧ�*��rF��#՝��;����v����oΉ)L�i��Sҷ��H��x�]$ճn�Pp
|�j�:�<2gl�2U/�x�˵�D?�6�4����v�У
+��H4�6w-r ܛE�T]F�~�-]]W�AX�>���~��ښp�*�*�<L�����SƤ>F<�P�<�/g��܋�ɝ�D��MH�N.�g�v���i���	ӗ���u�M���!)x������!�����[��
��P�9�dr�W����
��	�uԦ
��P�*�5����5��������џ
��*Dp�u�������d��W*���ȶ�y� aoݩ�[�ʊR����u
+���HG�)%�H ��:ϣ튧���}�L�\f�9/ ��L���J
+endstream
+endobj
+1887 0 obj <<
+/Type /Page
+/Contents 1888 0 R
+/Resources 1886 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1825 0 R 1826 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1890 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1858 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1891 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1892 0 R 1882 0 R 1885 0 R ]
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 332.874 718.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 673.751 295.235 684.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 663.699 513.996 672.675]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+1849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 639.411 387.578 650.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 629.359 513.996 638.335]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+1851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 605.071 513.996 615.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 594.749 127.862 602.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag) >>
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.472 581.161 197.891 592.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+1853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 583.064 513.996 592.04]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+1854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 558.776 430.756 569.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function) >>
+>> endobj
+1855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.472 546.821 197.891 557.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+1856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 548.724 513.996 557.7]
+/A << /S /GoTo /D (subsection.10.58) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 524.436 302.438 535.315]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Integer__Constant) >>
+>> endobj
+1858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 514.384 513.996 523.36]
+/A << /S /GoTo /D (subsection.10.59) >>
+>> endobj
+1859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 490.096 394.946 500.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Integer__Constant__Common) >>
+>> endobj
+1860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 480.044 513.996 489.02]
+/A << /S /GoTo /D (subsection.10.60) >>
+>> endobj
+1861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 455.756 346.847 466.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+1862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 445.704 513.996 454.68]
+/A << /S /GoTo /D (subsection.10.61) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 421.416 305.925 432.295]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 411.364 513.996 420.34]
+/A << /S /GoTo /D (subsection.10.62) >>
+>> endobj
+1865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 387.076 308.366 397.955]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 377.024 513.996 386]
+/A << /S /GoTo /D (subsection.10.63) >>
+>> endobj
+1867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 352.736 312.705 363.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+1868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 342.684 513.996 351.66]
+/A << /S /GoTo /D (subsection.10.64) >>
+>> endobj
+1869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 318.396 288.421 329.275]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 308.344 513.996 317.32]
+/A << /S /GoTo /D (subsection.10.65) >>
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 284.056 513.996 294.935]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 272.843 179.349 282.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+1872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 262.048 513.996 271.025]
+/A << /S /GoTo /D (subsection.10.66) >>
+>> endobj
+1873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 237.761 303.176 248.64]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+1874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 227.708 513.996 236.685]
+/A << /S /GoTo /D (subsection.10.67) >>
+>> endobj
+1875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 203.421 384.918 214.3]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+1876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 193.368 513.996 202.344]
+/A << /S /GoTo /D (subsection.10.68) >>
+>> endobj
+1877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 169.08 338.419 179.96]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+1878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 159.028 513.996 168.004]
+/A << /S /GoTo /D (subsection.10.69) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 134.74 329.582 145.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 124.688 513.996 133.664]
+/A << /S /GoTo /D (subsection.10.70) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 100.4 513.996 111.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 89.187 173.262 99.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.71) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1889 0 obj <<
+/D [1887 0 R /XYZ 89 770.89 null]
+>> endobj
+1886 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1943 0 obj <<
+/Length 1529      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����d`fH��%tMR��:/����0h�����Jr���
��lٲ�4��'�I�|߹[

[o�M7�c(p�kM� [

waYm�
?M�Z��#����}�LJ����z7���
��Q�9�|+L?a+��FN�[���bԁ�ؚ
�
`}����|�Ͻ�,�
��A������"O�l<����ǥ�r1{���"���
ʕ���ٝ�6��f�|H|;�AY	uq�m?DF
i��E-ٻ
�N`V\���#ʱ}E��]DZ�AA�͞_k4��{Ǐ��Ʈ5Y�Ֆ�R���F 5��Q���;��ٽ�-*825��EX���З�'��8"����
ֺ�����
+Y
�}��MֱLdZ��^��]n�2\F٢b6�4Z��ٵZ��C)�'�
�ˈY0]* �eG]�q�XЏ7ǥ�6�i�z��cQ��~H���-%�<hY�H	��V���z�ê\��\F�!=^��O��p����7
߯�N��(�YC��cv.Ve�e�
�ܞ��P9��ey�RmGy$��Ћ��R�&��
��Y>N!�\
+��P8�
Ϯd�*��ه,���Z��M/���[���
X���@��~"�95Z�����b-B��hEo��`��l��`��e&p4�M,Y�P�ݦ�\H�T�`��ȥ���M�C
ؖlU���]�p'p ��u�
T&������P����^�A
���;�)�$
^[�����2�!| ��k @p&e��W�
e��T[
d]�
C�Ih�`1�\O���^�
r
�'������
+V曰��nE)@kEi��y3
�7�(
�s��:���U��?S�f�g����d\G��մIi��V��e� e�
+	k��ڥ�Wi�Z��p�S6
���	>�
+8o�g!S��R�9>�.`Cϫ8;72�h���B�ΧA�
��[(q��Qr���n��~�
���
�t|��K#.�{�K���YQ5�w��xב�RG/`6g�y����c��m�ޔ�s\��U�#�8���m�����fHӐ
>O��R���C!;ʫ�_�r�n�gt���P@��ѝ�GWG�O{FS�#�
�ު8�t��*q"Y�e8M+d���O/���O4��b5��<�����H��3ID�<I(	� �PC���Qtְ<�;��;~
�3�$��8e�g&ߝ]3Mq�D]�\���ܺϪ"R�t}�X��kY�
�1,�Q@&�+
z.r�=�<���2�3S� ���`�`
�
�q��0
 xs�<��jΚޖ�;�qz�Fu0���a+���%U4�]��Y
7�4&&��Rn�Y�
a��5T��e(��Yp
�Ӝ�4F��
�
+�{���ʰ�wOM���%��ȩz�;�Q���bq�ԤN߿Xv6B8�����e 2�<Z��}�_�=z��6q��
�
7��F��g\lAz�B�Xi�O��k��c�T�OC�m���"݈x���Ze��d6�� \���p� ���K�������� ��}8C|kx˲\_^\�7�B�
fɞ�������P�71&�ri����_�=Q�  �?��Z
+endstream
+endobj
+1942 0 obj <<
+/Type /Page
+/Contents 1943 0 R
+/Resources 1941 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1672 0 R
+/Annots [ 1883 0 R 1884 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1930 0 R 1931 0 R 1932 0 R 1945 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1940 0 R ]
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 407.868 718.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.72) >>
+>> endobj
+1904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 672.345 490.068 683.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element) >>
+>> endobj
+1905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 662.293 513.996 671.269]
+/A << /S /GoTo /D (subsection.10.73) >>
+>> endobj
+1906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 636.598 454.173 647.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 626.546 513.996 635.522]
+/A << /S /GoTo /D (subsection.10.74) >>
+>> endobj
+1908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 600.852 311.853 611.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+1909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 590.8 513.996 599.776]
+/A << /S /GoTo /D (subsection.10.75) >>
+>> endobj
+1910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 565.105 285.103 575.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+1911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 555.053 513.996 564.029]
+/A << /S /GoTo /D (subsection.10.76) >>
+>> endobj
+1912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 529.359 311.315 540.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+1913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 519.307 513.996 528.283]
+/A << /S /GoTo /D (subsection.10.77) >>
+>> endobj
+1914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 493.612 294.877 504.491]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 483.56 513.996 492.536]
+/A << /S /GoTo /D (subsection.10.78) >>
+>> endobj
+1916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 457.866 350.643 468.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 447.813 513.996 456.79]
+/A << /S /GoTo /D (subsection.10.79) >>
+>> endobj
+1918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 422.119 310 432.998]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 412.067 513.996 421.043]
+/A << /S /GoTo /D (subsection.10.80) >>
+>> endobj
+1920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 386.373 310 397.252]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 376.32 513.996 385.297]
+/A << /S /GoTo /D (subsection.10.81) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 350.626 276.615 361.505]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 340.574 513.996 349.55]
+/A << /S /GoTo /D (subsection.10.82) >>
+>> endobj
+1924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 314.88 293.826 325.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+1925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 304.827 513.996 313.804]
+/A << /S /GoTo /D (subsection.10.83) >>
+>> endobj
+1926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 279.133 289.158 290.012]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+1927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 269.081 513.996 278.057]
+/A << /S /GoTo /D (subsection.10.84) >>
+>> endobj
+1928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 243.387 402.896 254.266]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 233.334 513.996 242.31]
+/A << /S /GoTo /D (subsection.10.85) >>
+>> endobj
+1930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 207.64 354.478 218.519]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+1931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 197.588 513.996 206.564]
+/A << /S /GoTo /D (subsection.10.86) >>
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 171.893 513.996 182.773]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 161.571 127.862 169.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+1933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 149.886 513.996 158.862]
+/A << /S /GoTo /D (subsection.10.87) >>
+>> endobj
+1934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 124.192 358.443 135.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Threshold__Watcher) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 114.139 513.996 123.116]
+/A << /S /GoTo /D (subsection.10.88) >>
+>> endobj
+1936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 273.945 99.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.89) >>
+>> endobj
+1940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1944 0 obj <<
+/D [1942 0 R /XYZ 89 770.89 null]
+>> endobj
+1941 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1985 0 obj <<
+/Length 1481      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~ϯ��@T],_2;;��-Ѕ�> �qm5�_�����=�$;q�4�v��؎�s��O�����_���щϬ�
���b�wC�=xJ��v�)���"Y-��YīL�MԤE��Om�;_��G����#��E�-��������J���F,
��vPf���ui}�3�ڭ�Wi��k��9N�����QΟ;�Q�E�s�b�X�,DRE�������4+���e2���
5�")���!��f����b��k�a��s5�s�L���Z�^:��E�
*iH��R�ti>Wo�<Q7Y���j��ʢN�TFp%4���K�FT��hYk7�PY��sH��F$w�
A�`)�Q���e��U� ��������|�@*�e*4PM������c�l��?
Եd�nX�O�B~,��"˔wG'@؞ɔ��eU�v�PCdG�5�NHab9�\4[
29�3��܈v`xL=1�u�tx�b?�~����}R�����v�@��m*�K��BǪ�:�(�C�.�~I [...]
y���ܽ<&��;f���NMm6u|׾)�3g�2l�����爄�&����,�V���A;r[F�"U��
����`�Lv���W��?02�?�
��j3w��}�$�I-��"P����-?D��\&�1�aA��^W����[���1�|�!�孼Hr���	��QբC8�5f!���4��N��@��5AI;n�C
W��6~��|��U��6D�z��t/�fJ��k�%m��%za�.���2�fC��蜐:ަN?�ܩG�@mO/W�U�4"7LSW�)wo#��4���P9�6�D۪�4
DL<� ¦(��/��ac�on
��/]��-��]�0�U12+ 7�C�fM��R`4G������U���b���_�[7��e�A�|�_ܿ`L����,LN����Ǜq�C�QP��to|耽u:^Şt��
�>�ɪ��&Ꭵ�zt�))w�}r![׹�P�@�tK-="q�Z��c!2���/�J<�e/�^[����4��`ND[d���j�&��[(j�t1�
� [...]
�,
͈�-F at M�
��;P
�#��l�z����}�B�f�v|se*4.ĥ�������o��ㅈ���d�v�](9;��~���v[��So�����
��̿_z`>��J�k%_�R�9�+6�f��S�[�z L��;�)L���,e(7.J�cQ�"��C�E��N �
L�>�a0"]3�]��C;�&�W�k_0�W2zQ�K-A�'�3��a��r��e����e��
+�.���EӔ����ռ�
�Ev��kq����m����
��v
�D����1A
�4 �w�V��>mG�߷/͇���ӌY/
 �?y�4�E
+endstream
+endobj
+1984 0 obj <<
+/Type /Page
+/Contents 1985 0 R
+/Resources 1983 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 1938 0 R 1939 0 R 1960 0 R 1961 0 R 1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1987 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1982 0 R ]
+>> endobj
+1938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 374.109 718.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) >>
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.90) >>
+>> endobj
+1960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 674.144 299.669 685.023]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator) >>
+>> endobj
+1961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 664.092 513.996 673.068]
+/A << /S /GoTo /D (subsection.10.91) >>
+>> endobj
+1962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 640.197 392.177 651.076]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator__Common) >>
+>> endobj
+1963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 630.145 513.996 639.121]
+/A << /S /GoTo /D (subsection.10.92) >>
+>> endobj
+1964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 606.25 263.893 617.129]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 596.198 513.996 605.174]
+/A << /S /GoTo /D (subsection.10.93) >>
+>> endobj
+1966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 572.303 513.996 583.182]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+1987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 561.09 173.262 571.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+1967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.279 548.392 199.435 559.271]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 550.295 513.996 559.271]
+/A << /S /GoTo /D (subsection.10.94) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 526.4 286.03 537.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 516.348 513.996 525.324]
+/A << /S /GoTo /D (subsection.10.95) >>
+>> endobj
+1971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 492.453 270.807 503.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog) >>
+>> endobj
+1972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 482.401 513.996 491.377]
+/A << /S /GoTo /D (subsection.10.96) >>
+>> endobj
+1973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 330.916 327.956 341.82]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 302.723 173.725 313.627]
+/A << /S /GoTo /D (namespacestd) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 232.222 282.038 243.126]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+1976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 204.029 326.869 214.933]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 175.837 291.652 186.741]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 147.644 309.565 158.548]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 119.452 328.39 130.356]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.259 377.356 102.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1986 0 obj <<
+/D [1984 0 R /XYZ 89 770.89 null]
+>> endobj
+110 0 obj <<
+/D [1984 0 R /XYZ 90 465.469 null]
+>> endobj
+1988 0 obj <<
+/D [1984 0 R /XYZ 90 433.246 null]
+>> endobj
+114 0 obj <<
+/D [1984 0 R /XYZ 90 433.246 null]
+>> endobj
+1989 0 obj <<
+/D [1984 0 R /XYZ 90 348.061 null]
+>> endobj
+1990 0 obj <<
+/D [1984 0 R /XYZ 90 251.279 null]
+>> endobj
+1983 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2025 0 obj <<
+/Length 1158      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�o���&%Q/�0`i� m�z��/i!�2��%����ߏ/�l%.�fr�}2}<
>�;
IR����x6��.�`�;>�-A�@�E����\[�o���B
�b�����qv�qv%�F'����.�
O`�d5����B���(ߕ�
+x�+~sp5�c�(h��v a�C�
A�1�X��8DMn���1A�JrZUM�����g��dMmL,�W4����
[p_dsN����yQ3~g;B#�f&�b�
(���~�*��BǍ��q�)²�덭�?/��
ӾL̸�:�{�;9�\���'��
ǁ
!`�	D��&~�ӥ6F+ϒ@Q�M�%��(��-H�b�Fm]VU67]�v�U�0S���e�,���G|p��
�ͅ�9���
+Fy|r��beYY�
�-Ч$�ʮn3�A��@"'��ߖ��DT|�C,�vC�n
���	Z9!�OP�
��3��0�cB��rn��6^$�
nd<m����
�]�x���&*F�R����i�K�v����
+v��J���B縼߷��P������3
+�?�Y� 
+×ms��`�
�n��gnjYU�K�����n
֌�MjZ���>�6��WU�V=9b���0\�)�Rh�|�����XA�����U4�!3��Q��T�vg��r�d�Wq�f�jP�%��h�����9R
���,�u����&�J2g�wƊQ������b���݀J+SU
>��^�{�5�J�����}CgP��qȁ��C��a%3)ꑼ9���1%8�\����������GDJ�����|Oy9�{�S�ٽ)�啚$B;HC�WD�>
+�ֲ��/��6'�UV�
s�SB
Pf뜟_!ӷ����^�f�����,��]|uC�l��6� 	�@��
+
/=
�d?�sy
mr�-m
ZK����~�
��5��o�C��^��g�h��
��OIMӲ��������_�����OF� ��\�˽��%B����E��^{�,y�=��|[r����
�H"��w;BbuA��ݶ�4c��|�w�0�57��[��o�#1��got���tz�_*����M�uI���)��d��-h1D�Oh�]��37��_-��)���!"��D�M]��&��&�X�¤\=u���(�hImQ�*93�&B�R�����7IDZ�
+endstream
+endobj
+2024 0 obj <<
+/Type /Page
+/Contents 2025 0 R
+/Resources 2023 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 1981 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2022 0 R ]
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 360.28 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 679.922 324.1 690.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 651.887 290.357 662.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 623.851 288.673 634.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 595.816 311.916 606.72]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 567.781 296.982 578.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 539.745 302.527 550.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+2004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 511.71 324.677 522.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 483.675 384.442 494.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+2006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 455.639 331.303 466.543]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 427.604 391.626 438.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 399.569 327.447 410.473]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.534 322.994 382.438]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 343.498 382.759 354.402]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 315.463 327.437 326.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+2012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 287.428 294.78 298.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+2013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 259.392 305.301 270.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+2014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 231.357 346.237 242.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+2015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.322 267.104 214.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 175.287 318.577 186.191]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 147.251 306.407 158.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 119.216 345.685 130.12]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+2019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.181 301.983 102.085]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+2022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2026 0 obj <<
+/D [2024 0 R /XYZ 89 770.89 null]
+>> endobj
+2023 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2052 0 obj <<
+/Length 1559      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�Ԥ�q! ��LcG��ɨ�ۇ:
,�����
�})K���mE
? I����.L�
<�k��h
��R!
��kOaO
+�z}�җ�4[c��z�lQ��S�
&z`\�CR��Z�lW
+&�P4�^|l��h|kx
����#!�ިq�{}��aĔ�n˛F^@���y�� �Y�!�Jp�&=A"ā�B)/_^?�]�8@��:ϫ
N6�p����et���:�n'����it������7���Ŭ{l�"��1���̽g�����'kX���0�^�H�
+�Ű"��&� �7&k{�&��Iz�ŹW�C�i�E=���ڷQ�$Q2p�t
�څ�!�Gs�(mMqR�)����B=��O�& {j*��R�.��O������Y̋\�(����x:
,=2T֛�E�0=��:�⻊�8�MA�&��w76��4����t>���{f��^9������P"!LZ��ݲ�e������|B�L��������0-�b,X
�Q^k`�pt;��C܀��
1�t��ˡ�)�i����h�Y�sn���tt at j
�I^d ��Wk� 
��)��p�4ud�t���u���u�*��:l����J+����H;e��e=��&7�
l����
+Q�@\�b����#Wt��Ք=^�g�?�+e%
+j:z ��0�UO"�H�8|��.���;'��ly��b$��i��gK�

+���lD�J�q��1�w��Pz]�y������������&EIU�����m숝�KG"`;J�!�V��������tlˮr�94:�S��6�1En-G-:����6p�Q5gT
]K���
C�@o.Q�c�����
7	��	�}U�r�뼞�֡Ii?Ѝ��İl��B��mg(�u����M��[���LJJ���/�D��n�DD 
�������Ǿ_W���l����ҹi��Rrc�
ѕt׈C-)��T��}"�	D����i
�j�/(3����y�mǩ.�d΂��>��8 

1���!Oukw��A���
w/��wcq�!p�m�o��@�ˡ#�
щ�3�K[z�T�ۙ,�U�
��Z5'��u�b0t-C.
�,�MM�#78� ��NQ�� d������
��^J�/E+J^�����:��Ul��V�@�u��'�VJH���K�r��k�Q�!Z#l�a�d�u�k��M"5U�D�I���@��4�tM-][��Mf��*]!��PZ%!m�k�`�7�k&��ܲsx-�a�&r^Õ�3��1#!�d3�-aDZ�J9��j;D�)Q���4��h
G=mSɭ���0\���m�a�]�N�|^�5�
�k����J��>O�
��O"+�M�o���S����Q��0~9J
���75!(
+Qi�oj�oh� S��(�Eᴬ�;7�/M������N&�*ɿ`�o,�P�N�q�	��
��:1q����֟��#>�&��â�>:��
r�
P/
�h�3�P
Y?;=�
���+������5�
6�0�5@�������7�./�VGF�;I���ϖ�EgT
+endstream
+endobj
+2051 0 obj <<
+/Type /Page
+/Contents 2052 0 R
+/Resources 2050 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 2020 0 R 2021 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2054 0 R 2041 0 R 2055 0 R 2042 0 R 2056 0 R 2043 0 R 2044 0 R 2057 0 R 2045 0 R 2058 0 R 2046 0 R 2059 0 R 2047 0 R 2060 0 R 2049 0 R ]
+>> endobj
+2020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 331.861 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+2021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 680.368 312.483 691.272]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+2027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 652.779 313.589 663.683]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+2028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.544 638.312 273.474 648.217]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 625.191 320.793 636.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 597.602 371.159 608.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+2031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 570.013 389.978 580.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+2032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 542.424 396.603 553.328]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+2033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 514.835 416.529 525.739]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+2034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 487.246 356.763 498.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+2035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 459.657 419.706 470.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+2036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 432.069 341.819 442.973]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+2037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 406.642 160.373 416.547]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 393.521 312.788 404.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 365.932 365.938 376.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.569 338.343 513.996 349.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+2054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 328.155 123.652 335.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.17 298.799 513.996 309.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+2055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 288.611 123.652 296.364]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+2042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.17 259.255 513.996 270.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+2056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 249.067 123.652 256.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.845 232.832 197.225 242.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.397 219.711 513.996 230.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+2057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 209.523 123.652 217.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.78 180.167 513.996 191.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+2058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 169.979 154.775 178.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+2046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.459 140.623 513.996 151.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 129.644 165.295 139.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+2047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.17 101.079 513.996 111.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+2060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 90.891 123.652 98.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2053 0 obj <<
+/D [2051 0 R /XYZ 89 770.89 null]
+>> endobj
+2050 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2108 0 obj <<
+/Length 1469      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~��`��gj"�����8	θu�k�t�m������N7����GH�KHb
�;}AI�>}G:�A�[r��j�ۍ�n[�
��$������b�os����/�[N�tA44h�}�X�i�cR�0�Ʒ�E�i{Uh��,h|���9|~�!A6t�{V)�I���ƍ�
Ĩ�mJڢ$"MPd�k�� ���gIR���fܧ��?��$a�N�d�FY�@��)���3���[<�]��Mc7��f�ZE��b��Gn�K�䅩c���q�xQH�Ϻ�cCP2� �F.�o���
AS��Bw����wM	������¯�-	I��K8F�1-�%""q-�PU
+���
��Yא9
 4%�TD0{
R]�)@zW�l���!����KB�r]�ې0'�W�RSn�T)a�ў -I�$i�����H�R&OX��*N�,q\E���R�p��9��Q{Yɕ��3�%.KA�IJ���-�hҌ��x�3!a��$�h��)�!�`�0���,C����2�Ȉ]Զ�=~���I!~�&þsc�ƽ��\w�F�X����ǭ��ٹl��g�l����Ş�@�fj���hҳ�5A�5��5�ŸS��y�#���B�Yw^��B��M�su
���ԥ�B�g�@��ը"��Q���@y	-������mm at E�'C�y�O�Q���M0k�s�'
+�Skb?Z8ۇ�c��VvnA0T�$��m�&����
�JЫc��v�$��My�����!S���b7�
Y�xQ��R\60�v���s��Cp����sk�\�N t���,��}1���!	�ka�d��X�q�3�^M
D�Cq^��~bU)�ͨs�� ��SiL�����v{=��
���|�� C�@=&qt5I��^~J-���L��

:��
�Şk���k�ɑ
�
�m~
��
X
+u;
[�
�1���O˼�ߏ�ꂢ�1ۓ]�8���������-@��o��n
�tҷ+t��7���x9� �-�QY֟��W�3��+��0�U�_U��8�t���N�����1K�ݝv�x2�Yl��'c2��ի���)�!�<���=�E2�R��S4��<N�C�wGœ�cu�����=r&ֻz�e����

�E-_�]�!���e��x�!�d
U���Oz�
\�+}:����'����TC5���G6l�W��
�|�0l;���{Q��p0>�n��kb����
C`�9p�Ȍ��!?ʮ�/�$�~~�_��(����e�}B�Ϛ�f?�Y���^z�4�F ��:��!����&	mI>��h���T#�w���m)+��g�y����e`��6���Ԗt�((v�:���hh���W�
��w��<���TtG����W�( �.
+͖
Z�q
ZS^_
��Ƚ���GUU-��n�t���l�^B<�@��a�W[��q ��Eļ�n�ʌ�/��
G
+endstream
+endobj
+2107 0 obj <<
+/Type /Page
+/Contents 2108 0 R
+/Resources 2106 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 2048 0 R 2110 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2115 0 R 2074 0 R 2075 0 R 2076 0 R 2077 0 R 2116 0 R 2078 0 R 2079 0 R 2080 0 R 2081 0 R 2117 0 R 2082 0 R 2083 0 R 2084 0 R 2118 0 R 2085 0 R 2086 0 R 2119 0 R 2087 0 R 2088 0 R 2089 0 R 2120 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2121 0 R 2094 0 R 2095 0 R 2096 0 R 2122 0 R 2097 0 R 2098 0 R 2123 0 R 2105 0 R ]
+>> endobj
+2048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.17 707.957 513.996 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.769 123.652 705.522]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 668.278 303.478 679.182]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 599.699 251.782 609.626]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 571.975 251.225 581.902]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 544.25 264.505 554.178]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 516.526 244.032 526.454]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
+>> endobj
+2066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 477.843 213.038 487.771]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) >>
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 407.312 348.737 418.215]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 379.587 360.902 390.491]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.455 351.863 421.554 362.767]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 282.308 277.077 293.212]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 270.353 272.923 281.257]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
+>> endobj
+2072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.314 270.353 413.843 281.257]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
+>> endobj
+2073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.234 270.353 513.996 281.257]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+2115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 258.397 145.791 269.301]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+2074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.779 258.397 287.309 269.301]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
+>> endobj
+2075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 246.442 252.44 257.346]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
+>> endobj
+2076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.31 246.442 393.734 257.346]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
+>> endobj
+2077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.604 246.442 513.996 257.346]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+2116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 234.487 141.357 245.391]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+2078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.346 234.487 288.963 245.391]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
+>> endobj
+2079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 222.532 294.502 233.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
+>> endobj
+2080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.893 222.532 455.347 233.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
+>> endobj
+2081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.738 222.532 513.996 233.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+2117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 210.577 205.008 221.481]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+2082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.997 210.577 422.899 221.481]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
+>> endobj
+2083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.622 337.66 209.526]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
+>> endobj
+2084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.608 198.622 513.996 209.526]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+2118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 186.666 169.581 197.57]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+2085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.992 186.666 388 197.57]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
+>> endobj
+2086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.411 186.666 513.996 197.57]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+2119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 175.429 142.463 185.615]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+2087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 162.756 308.898 173.66]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
+>> endobj
+2088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.289 162.756 485.235 173.66]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
+>> endobj
+2089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.626 162.756 513.996 173.66]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
+>> endobj
+2120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.801 277.496 161.705]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
+>> endobj
+2090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.484 150.801 465.499 161.705]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
+>> endobj
+2091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 138.846 283.433 149.75]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
+>> endobj
+2092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.824 138.846 485.235 149.75]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
+>> endobj
+2093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.626 138.846 513.996 149.75]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
+>> endobj
+2121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 126.891 275.294 137.795]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
+>> endobj
+2094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.283 126.891 457.768 137.795]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
+>> endobj
+2095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 114.935 290.078 125.839]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
+>> endobj
+2096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.469 114.935 513.996 125.839]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+2122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.98 156.859 113.884]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.25 102.98 420.638 113.884]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.029 102.98 513.996 113.884]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+2123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.399 229.924 101.929]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+2105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2109 0 obj <<
+/D [2107 0 R /XYZ 89 770.89 null]
+>> endobj
+2111 0 obj <<
+/D [2107 0 R /XYZ 90 617.631 null]
+>> endobj
+2112 0 obj <<
+/D [2107 0 R /XYZ 90 532.724 null]
+>> endobj
+2113 0 obj <<
+/D [2107 0 R /XYZ 90 424.222 null]
+>> endobj
+2114 0 obj <<
+/D [2107 0 R /XYZ 90 301.216 null]
+>> endobj
+2106 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2212 0 obj <<
+/Length 1633      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�H~�W�zf$�
|33�(8������A�v2��fs��o5
j��0g�	l��ꪯ��.ǍA�e�ܩ�u��XM�eƹf4�(��J2��2��*�5�
B�~��]��K����қa��
]{�SU�.k��ǚ��~�8Ђ�J�XEe&�ڷ����G���2��#�\�]�\C��h�Pm�!��Q8��8j�w��R��k̷���`��Ɖ5�,3k�� �48��E
�
��<�<��#/zh���2������Ѷx���!�*+��
5I�&>���
�c]�[j����i�%RG��2��
��dEۊ�K�����L
R٦带�w�N!��p
lgh\8�P�
�2�i���`~=�j�]�e1E��r�_M�jR��
N4��)�<I�0���u�/�N�	�=	���K��O�oeG��YY�A1��2�q_
L��p�#/��>�

$ۊ���ZF��>��ע�bwOF�S����J����Yt��,�!������(54�X��	
�$tS�	�zZV����������y���� ��
���:�fy�GH1�d
ݢK8��ˡ�v�a�Ua�\�k�״�e"�'4}�P��2���X�!I3&Nq�f<�s��k� �\���<�s/�w�B
K�X����7ڽ�|wa�=����p��
�H��D��k��������u+
���x���r6'$n��xX<Be�m�/��)�C�U�
!J�bꘂ�a}�(�v1�%�eV�l���LaU�W�v*�q���6n���,��oG�<qNJE<u�!�Y��U<�b����4�9��{n8��	/�_ ���y�
R=_%2S��x�햺�W+屫�$�٪=�X�Oе*E��G{3�;��<�C|��c�Ǖ
<R
9��p��9�����پ��M�J$�JO�ko���Q��������#$�
^��o[@�?�P�Ʋ���YW�հ=��,�V�GfG�������J%Tx�m�=�R����g �7ޝ��@���uJRj�:���V�v����#
ڻ]�*�0A�SNڦ��>L �I���Z���t����Z�`���
+<��Ϧd�6���s?�^D'ӊ>W��x���,B��J����1�?�$�s��R?X�Zު��ROz8����O����l@�<�Z@��|��S�´��d��ڹ�{�ҵ;!��
���n��
anR�ZU
Q���$�ڽn���˵
�W����su
kt^H�Ѱ�?�ڝ�������pW���f��=jC�y��a�//+v���r^�Y[��Ǫ�	���?��>+ϒ0���TƔ�R�YҫG�vc���}����
����q���JFfWo�2d�{mQ�
-�\�J at X�t&�B?��
6��(�	lCx� ��uyCv%n�Z�����
W�
+"A����bcD�s�"�
q��0^���9���Q��c��
+���
+
������̳
+/��#�����@�����!�Y%ɠGoF1�~#�������7���t̎���ḏ��UiQf㼻J����w�ȇҦ7%��$

���$�m��l��A};c���y���E�����;�S���^v����%ı��� g��!q�§36�Ӈ�������N^��/�N��
+endstream
+endobj
+2211 0 obj <<
+/Type /Page
+/Contents 2212 0 R
+/Resources 2210 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 2099 0 R 2100 0 R 2101 0 R 2102 0 R 2214 0 R 2103 0 R 2104 0 R 2160 0 R 2161 0 R 2162 0 R 2215 0 R 2163 0 R 2164 0 R 2165 0 R 2166 0 R 2216 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2217 0 R 2172 0 R 2173 0 R 2218 0 R 2174 0 R 2175 0 R 2219 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2220 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2221 0 R 2185 0 R 2186 0 R 2187 0 R 2222 0 R 2188 0 R 2189 0 R 2223 0 R 2190 0 R 2191 0 R 2192 0 R 2224 0 R 2193 0 R 2194 0 R 2195 0 R 2196  [...]
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 707.957 309.177 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 298.367 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
+>> endobj
+2101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.758 696.002 466.964 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
+>> endobj
+2102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.355 696.002 513.996 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+2214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 234.328 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+2103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.807 684.047 458.575 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
+>> endobj
+2104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 356.489 682.996]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
+>> endobj
+2160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.94 644.182 334.411 655.086]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+2161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.987 644.182 503.317 655.086]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+2162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [505.708 644.182 513.996 655.086]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+2215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 632.227 235.444 643.131]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+2163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 604.318 321.36 615.222]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 592.363 260.739 603.267]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
+>> endobj
+2165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.883 592.363 433.858 603.267]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
+>> endobj
+2166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.002 592.363 513.996 603.267]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+2216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.408 237.107 591.312]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+2167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.096 580.408 431.756 591.312]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
+>> endobj
+2168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 568.453 330.477 579.356]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
+>> endobj
+2169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.953 568.453 506.236 579.356]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
+>> endobj
+2170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.169 528.588 324.718 539.492]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.751 528.588 513.996 539.492]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.633 185.083 527.537]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.474 516.633 412.349 527.537]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.74 516.633 513.996 527.537]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+2218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 505.051 212.201 515.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.495 476.769 332.376 487.673]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.06 476.769 513.996 487.673]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 464.813 130.289 475.717]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.278 464.813 322.158 475.717]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 436.904 374.78 447.808]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 424.949 258.537 435.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.047 424.949 410.655 435.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.166 424.949 513.996 435.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+2220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.994 157.975 423.898]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.963 412.994 310.571 423.898]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 401.039 268.499 411.943]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.94 373.129 409.44 384.033]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.015 373.129 513.996 384.033]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+2221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 361.174 172.351 372.078]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.34 361.174 408.513 372.078]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.315 333.265 388.279 344.169]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.604 333.265 513.996 344.169]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+2222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 321.31 210.547 332.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.938 321.31 443.333 332.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.724 321.31 513.996 332.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+2223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 309.355 274.746 320.259]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.94 281.446 310.78 292.349]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.355 281.446 462.53 292.349]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13a39adc66b0a3d8cae2a7dc2abc8885c69) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.921 281.446 513.996 292.349]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+2224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.49 192.844 280.394]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 230.622 344.464 241.526]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 218.667 294.502 229.571]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa0e276f8d715a744e012830a77880eb6c) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.893 218.667 486.889 229.571]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fad29b7289ecceb32e5c0020885fb8293d) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.28 218.667 513.996 229.571]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa9a536188402a81d1494837de4269d35d) >>
+>> endobj
+2225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 206.712 283.583 217.616]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa9a536188402a81d1494837de4269d35d) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.572 206.712 469.923 217.616]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6faf050a7168b9fa5d10468384bfe007c5a) >>
+>> endobj
+2198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 194.757 359.239 205.661]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fab25413bda9bbd45d2f22366d0e0ef831) >>
+>> endobj
+2199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.63 194.757 513.996 205.661]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa28dca27d7ee1f30dd8b1797aa8f26a2d) >>
+>> endobj
+2226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 182.802 135.27 193.706]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa28dca27d7ee1f30dd8b1797aa8f26a2d) >>
+>> endobj
+2200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 182.802 315.533 193.706]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa8d3ab7646117632841be76c043efc39b) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.853 154.892 334.408 165.796]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+2202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.81 154.892 513.996 165.796]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+2227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 142.937 193.402 153.841]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.39 142.937 434.555 153.841]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.777 115.028 338.649 125.932]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.897 115.028 513.996 125.932]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+2228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 103.073 202.806 113.977]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+2206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.197 103.073 456.085 113.977]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+2207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.476 103.073 513.996 113.977]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
+>> endobj
+2229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.118 284.708 102.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
+>> endobj
+2209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2213 0 obj <<
+/D [2211 0 R /XYZ 89 770.89 null]
+>> endobj
+2210 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2314 0 obj <<
+/Length 1649      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�8~���SW*��D
�b�m�=�fw6-�f���H���C��N{Sd�'�<�s|����s
[��ǃ�~�Z�|�[�3+�V�E���kf��
~��\?D$�a�}��p�w8>�s����������PZ�lp�	[3~ca�F��M-�,���έ��_lX��2ٕ�a
h�#�9�{�vR��d�s^)N:Z�
���$��<7�
�"�
�����^��a��\T�С
��2Rfl'�9��G��["
�F�v>b��5��=��]s9����I�jz������Xq"�?�fI|�ϯ/��L�w�L��gϒI"f���\tUpQ���K����<+�� a�*h��ȵB���$����8���<��ZE�����G��6��R��)/�z(�|����{6^1��F�u\���3�1��;���kQ@,��7�>�K��g�TtSǼj��k�̛ݣĜr��/�:/��R�;?b�;9���S�.�]�"�ߌ�nR��x_s
H�Q�;� [...]
l^��V�\
"�l^�b��,M5*��6��H�kóq�"Rkh�p��"?b?d�c>W~}{��}J?Zņ���-<�:�3�v~�P�9�������n
�m�Q$�1��n�z��K\�
)b��)㣐�D]�w3��a�\L)72�y���	�

+w
�F�X��_��s�A����a�Ҭ	�P�;�o����.�?�.R1�ɨˊ�ݾ�t+wy�����p#C���}z�n���O��ot���|ҽXf�:
+~�x풧��x�
�v����/�ׯ�ﭡ��(��'��u�l����+>?�V��˩���B��d�YG���.�-��$���s�ߴbG,�`�)
���K�� !�:����iY2]�ԏ�o` ү��]F��uU���Ϝ����hⲥ��-S����[
$i�?�l�rP!�}*��
��k�*5�TІ�]*xb�
'�
������H�`O�<�K/j�`oS�u��u4@��e��w���
+�0�(��D��l��do��&>�.U�cM��	�c��»�M��w��,�Y��N���r�A�������aD�&���IM��xm�8�
+����g\��4�K3^_�3ݟ����D�j����p]B��F�_6������?Z��m�e��o� �wXz���eLW�)�,SU��{��O8�@�C�Cl/E/d���y
+����3�������'x��ڈ� -�xR%_
�:��g&P�q�
�au�F;�Z%�A�W\,*/7`�5��sHZ8�����z
z��:<
뒭�P϶b����Db��_X�.�<S]X�]T� ���@����8�n0�&4F���X���SP�����6zb���R/L����徚l�����̵^�@lA�z΂�*����NH��7k��[�st�Nw>T��mȘmJK�h���K�
��xa�
�q�tEm���ұ�V���-��<@_��梮�g�Ѥ9��8G�<��X���sg��L>�M�3���Q�e
+endstream
+endobj
+2313 0 obj <<
+/Type /Page
+/Contents 2314 0 R
+/Resources 2312 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1991 0 R
+/Annots [ 2208 0 R 2284 0 R 2285 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2292 0 R 2293 0 R 2294 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2311 0 R ]
+>> endobj
+2208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.892 684.406 469.663 695.31]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
+>> endobj
+2284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 611.732 295.886 622.636]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1755dd7580d51df2976efb2f0275790e) >>
+>> endobj
+2285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 597.836 290.903 609.791]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga266a81f442cf72bfded10a4ecb79f130) >>
+>> endobj
+2286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 584.607 291.253 595.511]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gae45a5a00d54a1e42ac214eab207d720b) >>
+>> endobj
+2287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.435 571.045 327.995 581.949]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga95f3cc785d7b89f59b3ca216461c34b0) >>
+>> endobj
+2288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.609 541.928 351.237 552.832]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gac40e401b77b5ec6e9625c317ce6d760d) >>
+>> endobj
+2289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 512.811 336.841 523.715]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga13bf4cf2db045bfd362c5c8aae7f785b) >>
+>> endobj
+2290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.965 455.691 327.986 466.595]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga984f2c32e934b6510731f6a7faf28296) >>
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.965 441.795 323.002 453.75]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga5eff576922bf3646f7dd85cb1a05b93c) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.965 428.566 315.264 439.47]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga56eb4e32ec57658bc9e7823cd42ecbae) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.965 399.449 326.332 410.353]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga5d78cb515ce33c9a54c7fd82098d06e1) >>
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 385.887 297.301 396.791]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga6aaca5d438457de4baabe545c7e732f0) >>
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 372.325 285.376 383.229]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaef6aa41f2904a20dce16a55ee8073a38) >>
+>> endobj
+2296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 358.763 300.868 369.666]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga809c78f95611c4b838b4e8f097a03e32) >>
+>> endobj
+2297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 345.2 321.341 356.104]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3ccd0ef2cbdc282106525b2f0e734c7e) >>
+>> endobj
+2298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 331.638 331.303 342.542]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga62bbf00f3cdb29436772c58f7f2bb67e) >>
+>> endobj
+2299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 318.076 298.098 328.98]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaad2f9666d98048451c6cfe54e37b16ca) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 304.513 303.637 315.417]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga34d9dfd53548ce172ae94462d24f41e6) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 290.951 330.755 301.855]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga6f9e36186616092e3affae42fd9728a0) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.172 277.389 403.801 288.293]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2a514a2edd5c272133f56c6cec381142) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 208.314 331.323 219.218]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7968ac8ddb26250cb705117e6ed23048) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.631 193.082 462.977 202.988]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.98 167.242 343.151 178.146]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gafdc6a039a856c60836df918848a21416) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.631 140.055 462.977 149.96]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.703 114.214 383.562 125.118]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4c655d3e5468ef60a37ff40ac0f744f6) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 76.49 194.248 85.974]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2315 0 obj <<
+/D [2313 0 R /XYZ 89 770.89 null]
+>> endobj
+2316 0 obj <<
+/D [2313 0 R /XYZ 90 704.011 null]
+>> endobj
+2317 0 obj <<
+/D [2313 0 R /XYZ 90 629.274 null]
+>> endobj
+2318 0 obj <<
+/D [2313 0 R /XYZ 90 473.233 null]
+>> endobj
+2319 0 obj <<
+/D [2313 0 R /XYZ 90 237.811 null]
+>> endobj
+2312 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F110 1507 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2373 0 obj <<
+/Length 1403      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6���<��$����7�$�3��^�d8�I
��BRΨ���EI�#Վ�qu�X,��~\ "�&�Nz��zGoC׊Q
���[1�B/F~ O#�ڎq�cl�x���S�Ol��ӻ���
�c��
����ޛ�ޗ
�^�E�U��5�zן�5���Fn
Y_�Rfyԅߙu����� q{�n
�� ynd�� B�`?Q���M3�&Dq��h!/��B*�<��X�E���n�ң!��(��4�,ȏ���r�s�i��_�����=�����jF�(D��>�(�}�8(����pd9�
�8�Y�}C�mVf,9/f�)�,9M%+��^9O�ء��	c
+%�o�|����N�<9�L�ϴ�O���"�jG�"f%�_���%	S��Vz`
��^�^Q������R��𜗬.J��-�[�6��R�.,`
�\~�>���S�]91�y��9SI`��hD�i=Ue 弪Tq)�'��j�kT��j*�.J�9L·
�`��g<��B1�}N���x=-F�p�Teg��Y� )#cv�j.�,��ƕ\�@Puyzsw8^�>;����kj�m0Z�G)
+<
+=R�li�u(��t� ��lv?Q �?P���K����������Q9qi�9��DHkh���ID��!2]�I����
����DȂ�F�2��%υ��x�83��@��A�3�����AT�G֗�ҝ���ݢKv%9��B�G��~'T�Ȍ���Lhb蹛�A��G|�<g�E6_ W`���.iWʽD,��D�W�F:L��{?w��6b6�N���7M���4�?W�'��o�\_m�u[��ߤ��
����n�
��:�ӭ�(ԭ����<J6��z݄z�v)������ۧ������}�֫mX"v`���&��F
�f�}�C��b��?��a�]�!mu���]�Ѓ5a.�L�4�+��zRN/��U7�*QW \,l6~��\��8D���8wu
�X'�.��W��N���nt�}B�
+|7W�/Z�3Q��DP�f`R��|��Y��9��x��x��G���*[�Eu�U.��'�'#��OP�"�۷��I`竹�]��z�]�n�AO��	%��O�
+���
��]�!�7�����2��32w�ae
<h@��	��N7�`#�ȑ��
9hPЀ&:X��5�:�������p? �|��$�햅�T�G�:����C�-
�g���ED=�>����z�����yi�󡀢���~>d>Z�
��B䃾��μu��O��W��_
߷+�|���9�%ѭ�"/��Ar��
aҗ���e��+�
D��|�F�u=ut4XL*�Oаȶ�-�y����el�V��4�K.����}LPP�	p�
F��!�mYV�����]�Z���Z�af�u
+endstream
+endobj
+2372 0 obj <<
+/Type /Page
+/Contents 2373 0 R
+/Resources 2371 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2309 0 R 2310 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R ]
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 696.002 391.338 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7e927a18b0f68715e9721e7f62e82b38) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 658.928 194.248 668.412]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 633.317 380.628 644.221]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4fcd1fb98a48b131a0448fb694cb9504) >>
+>> endobj
+2345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 596.244 194.248 605.727]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 570.632 390.59 581.536]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3895a522ff33b50d1540541ef2fcd9e9) >>
+>> endobj
+2347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.902 533.559 194.248 543.042]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.432 507.947 408.754 518.851]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga60f87e33c0dde9f5c2c7d3b4b78818ab) >>
+>> endobj
+2349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.503 470.874 209.849 480.358]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 445.262 416.603 456.166]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga470bfc567789301bfdc28fd70ed82f92) >>
+>> endobj
+2351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.503 396.234 209.849 405.718]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 370.622 329.111 381.526]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga46ae7a59153f96588076702dc876c4aa) >>
+>> endobj
+2353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 356.041 228.857 365.947]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7968ac8ddb26250cb705117e6ed23048) >>
+>> endobj
+2354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.266 356.041 454.611 365.947]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 330.852 338.476 341.755]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3e0617011cb5b87be0b1d614fbcfbe7d) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.719 304.315 238.867 314.221]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gafdc6a039a856c60836df918848a21416) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.953 293.778 208.298 303.262]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 268.167 379.164 279.071]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga899c609558397160b3227c19d6ccc82d) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 253.586 273.385 263.491]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4c655d3e5468ef60a37ff40ac0f744f6) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.793 253.586 499.138 263.491]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 228.396 389.126 239.3]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2173e32c6bc6800c0d43b2a92ad49fb6) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.622 201.86 282.298 211.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7e927a18b0f68715e9721e7f62e82b38) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.103 190.901 233.449 200.806]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 165.711 378.416 176.615]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga233295f67896774a4fa42920a4b8522b) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.675 139.175 273.393 149.08]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4fcd1fb98a48b131a0448fb694cb9504) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.802 139.175 499.147 149.08]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 113.985 388.379 124.889]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gab5cd24a1e332f51c649d05482bc7c90a) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.622 87.449 282.306 97.354]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3895a522ff33b50d1540541ef2fcd9e9) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.103 76.49 233.449 86.395]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2374 0 obj <<
+/D [2372 0 R /XYZ 89 770.89 null]
+>> endobj
+2375 0 obj <<
+/D [2372 0 R /XYZ 90 400.219 null]
+>> endobj
+2376 0 obj <<
+/D [2372 0 R /XYZ 90 360.027 null]
+>> endobj
+2377 0 obj <<
+/D [2372 0 R /XYZ 90 297.763 null]
+>> endobj
+2378 0 obj <<
+/D [2372 0 R /XYZ 90 257.571 null]
+>> endobj
+2379 0 obj <<
+/D [2372 0 R /XYZ 90 194.886 null]
+>> endobj
+2380 0 obj <<
+/D [2372 0 R /XYZ 90 143.16 null]
+>> endobj
+2371 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2392 0 obj <<
+/Length 2323      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�8��W�fKU,� ��G�q6v��v���)E�g(QCR�ڿ~�� E�a;�kj/���5�n�sn
��������]$��%���xN�',a4s>���6~��0f<	a���}�
�.ǟ���h|���O��i}����G����;
�I���I
����t�#Ϩ�1`���+�9�4 u
��y�[դy�f��1���WM^.�zV�ɻ���s��g�O��x�`y�YY�^�Xj��M�yiZy�m�6v�ՀnZ-R3,����Uf�!�Viuo����Uy�(�07�٫Wl0�R���a}�.T�J3u
��s�0��y�0<���.��瞕�U���|9S���G�D�)+ꤳY��K3>-Z�a´\7�Ui6�^�/o
E�Yڤ�k�W���{`n!	jK�d�l�ɋ4�P��B����27� ���H���Enë���1V�����n �H0ɝ�'LD�c�,X'm<�F.�&�D��`ch�~
]:�x�+Wp��0~	��,
���� [...]
+�o�N�k�A��LER��_
��p'�`j?0v,��ڀ������!�?�����E��$�j,U�NE�]_���
8�������5yj�"�R�}_	b�����](df���Kٖ
M�e�?
���\��#Q���
	�
�≹��uԭ�}�$m
@9��rvr5�F�jvb
+���Y��
o�=z�&�p����&WY�ۥjK�F����-C5�~�Z)��h/d]
�"ԪU_q!���ۀq[H�P�X�P
�(��	X���"m�����̨��7껁���;��Fx�L��GA���AVQ�W�ѻw�g����+
+����,J����F{bFHr��9+�
��Y�=^������I�<�~gRi�& ��b7�ބ��]�4;�0el5��ٶ�>N��{��@k�B�l�
�����u�㚒��А���
 �Wd�k�aWc�U��+Sa�H
�@.�J+��[
��G>}�რ
�@���l*�RK�UKU�MY���VFA;i�σ���0ڼ
J��#�.���f(=�U+�Y�
Oi
+�yY+C����u�^�۶����D
+汵Rv�B�IY€q�[]�^��1u�� �/݄��,���}+ݍ
+��eb5͚uZ�ȝ��ޮ {|�E1�`Xh&�@����� s��=��D�n��p�'?p������R�6���&��{7���,Pu$��uez�U�fl7%tiS�f������M���IV at y���Ժf��j(�n
��0�7��͌�W�L�%���:Q��>�2u�A\E�b��NQ��m�o�v��u]4m�ߍR���p�|�9�6\<��> #	��M�ԪG�Tj�(�0�l��?P?5�\�c�v  �B/h8J�S�T�r�Y�(=cUy��tO����� ��l:x��
\&WvP�CJ
��o�up7���G�.KsG�f��� <C�T��p��
�ڔ�e�}60�z�^�C�a �x��ɗ�0���,�����	�)Y��)d���֗f��$���1��<4
)�nDlC��i�����i � �P����d<��J��W-zޓ�a�r>U�ئ��U�j����t\ u\�� (���F��%�:0�0<� ��v-
���B׫
mF�N;:����?3Cȱ�|��~ĂD�
�'$�
�"�?v���]c'�
�-�ن
���p�P��pǘI�:
�9��H6s�/�m
��ZU�Aa\q�.�6�Gow�3�����C��=��$�����U��G�
+��O`A{�Λfuzr2]�Bzp
��b7��,N��*��� e�v����x
��
+endstream
+endobj
+2391 0 obj <<
+/Type /Page
+/Contents 2392 0 R
+/Resources 2390 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2387 0 R 2388 0 R 2389 0 R ]
+>> endobj
+2387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [131.844 154.004 188.471 164.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+2388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.066 123.937 264.446 134.841]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2393 0 obj <<
+/D [2391 0 R /XYZ 89 770.89 null]
+>> endobj
+2394 0 obj <<
+/D [2391 0 R /XYZ 90 721.073 null]
+>> endobj
+2395 0 obj <<
+/D [2391 0 R /XYZ 90 658.895 null]
+>> endobj
+2124 0 obj <<
+/D [2391 0 R /XYZ 90 636.518 null]
+>> endobj
+2396 0 obj <<
+/D [2391 0 R /XYZ 90 636.518 null]
+>> endobj
+2125 0 obj <<
+/D [2391 0 R /XYZ 90 594.814 null]
+>> endobj
+2397 0 obj <<
+/D [2391 0 R /XYZ 90 590.331 null]
+>> endobj
+2126 0 obj <<
+/D [2391 0 R /XYZ 90 552.656 null]
+>> endobj
+2398 0 obj <<
+/D [2391 0 R /XYZ 90 548.173 null]
+>> endobj
+2127 0 obj <<
+/D [2391 0 R /XYZ 90 508.441 null]
+>> endobj
+2399 0 obj <<
+/D [2391 0 R /XYZ 90 503.958 null]
+>> endobj
+2400 0 obj <<
+/D [2391 0 R /XYZ 90 371.99 null]
+>> endobj
+2128 0 obj <<
+/D [2391 0 R /XYZ 90 346.725 null]
+>> endobj
+2401 0 obj <<
+/D [2391 0 R /XYZ 90 346.725 null]
+>> endobj
+2129 0 obj <<
+/D [2391 0 R /XYZ 90 306.933 null]
+>> endobj
+2402 0 obj <<
+/D [2391 0 R /XYZ 90 302.45 null]
+>> endobj
+2130 0 obj <<
+/D [2391 0 R /XYZ 90 262.718 null]
+>> endobj
+2403 0 obj <<
+/D [2391 0 R /XYZ 90 258.235 null]
+>> endobj
+2390 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2407 0 obj <<
+/Length 1572      
+/Filter /FlateDecode
+>>
+stream
+x��Y]s�8}���m�t�H񑷴v2n
۱q:�mǃm�01���n�ׯ����N6��'@��s���P[kP�j��Zg��������yw�
5�t���J��; �;B�x�����?^g�:O�8
蝿䏎mغm��y[=�����,PCbTlG[F�/ߠ�b�5
��~�"���n�i�%@0��"Ჱ�"Rh�)��ⶭgQ@�4Lb�;��6
�q��n�d��TtࠏO˚:���fQ�b
�}�K� �p���W�6��O#>nc�'���`E�� \P�>��O�]�Ip�]Zek;rD�
 h�q��.\l�;�,]&Q��Ow����>X>p�J��0���4\�I������:���P��%�z~8V�zv�.
�
`CW�+4
1��w=�~�#�`�X�`ۻ��mD�?�e*
� 9�%Kq���������v�\
D�
��xS����w�|���!��)
@�	*�^-(�m�TW���w�ū��l�Z ������a���*ic������0*|{�D%�/��bt�k�_��Ê�Gq��\
I�ԫ�%���OƱ��`�
 6�Ȉ&�b��DF����`��M ��k��܂�,ZT�U���Wq
�r��~�`��$��������`�jo���r;�m��-���V�ⵂϟDʐB
��r�QZ��+$0R��u��P�.#0Vׂ7��Ƶ�Y UM�&���T��S,�VC�7fS���_��#�r����<�q�����O��e��?�
�)�V�ٻy��������L&
���	���I���a`��3Z{
89r5����1!@J�"�=fO� F����-�5�d>~�C���6U���R&,t�*E��$�k(~���D�.��[B9K��n�v�Go2��g9��T��
+��{�/���
+h� BU��3��v��
� ���y��#H�,�h(,ʸ{�W�?T�d�G:��]����I9uſ
7'�	7���{}(1�2�G�Z��M߰T�v���p��$JV�&����j���b�cHg�F�����L��b
��G�����R�pĽ���F���%�i�H)��^�M��ΏJm���P!�ɠ�\�}������=�E����񴤋�dr�
r�7�{W��  6i���{�Ӡ�7����M��/�=i�DT������sR��
LKE�Y5����U&1��>M�Q�
+�"�՚�LӼf
���:
MO�� L췲�x����*�
'��7�
�����?B6K>�W
I�c3l�{~��?9�=/DAy��:F�T����Lk�ݐ��lur��4X�QI�]B�Qw��sT,
͆�y�-�ڸŲ
��ל��\�9�+�
l
:��&e�D�CͱT�
�Q�&p��ą
�e�� "�D+�g�xw�L��*	
����
���0��qꏑ�����b���bڀ���
x<
���.���A��ڏ3�/�d�ى�$�(�>�>�>
�_�~Њ�O��)A�"D9�>M��gg�l͂��U��]%;\ mE�Z[QBUm����	�d�#�X.�`d~gk
"��y��}���P6��#C�&��������5
+endstream
+endobj
+2406 0 obj <<
+/Type /Page
+/Contents 2407 0 R
+/Resources 2405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2404 0 R ]
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2408 0 obj <<
+/D [2406 0 R /XYZ 89 770.89 null]
+>> endobj
+2409 0 obj <<
+/D [2406 0 R /XYZ 90 721.073 null]
+>> endobj
+2131 0 obj <<
+/D [2406 0 R /XYZ 90 702.288 null]
+>> endobj
+2410 0 obj <<
+/D [2406 0 R /XYZ 90 702.288 null]
+>> endobj
+2132 0 obj <<
+/D [2406 0 R /XYZ 107.713 620.79 null]
+>> endobj
+2133 0 obj <<
+/D [2406 0 R /XYZ 107.713 604.885 null]
+>> endobj
+2134 0 obj <<
+/D [2406 0 R /XYZ 107.713 588.98 null]
+>> endobj
+2135 0 obj <<
+/D [2406 0 R /XYZ 107.713 573.074 null]
+>> endobj
+2136 0 obj <<
+/D [2406 0 R /XYZ 107.713 557.169 null]
+>> endobj
+2137 0 obj <<
+/D [2406 0 R /XYZ 107.713 541.263 null]
+>> endobj
+2138 0 obj <<
+/D [2406 0 R /XYZ 107.713 525.358 null]
+>> endobj
+2139 0 obj <<
+/D [2406 0 R /XYZ 107.713 509.453 null]
+>> endobj
+2140 0 obj <<
+/D [2406 0 R /XYZ 107.713 493.547 null]
+>> endobj
+2141 0 obj <<
+/D [2406 0 R /XYZ 107.713 477.642 null]
+>> endobj
+2142 0 obj <<
+/D [2406 0 R /XYZ 107.713 461.737 null]
+>> endobj
+2143 0 obj <<
+/D [2406 0 R /XYZ 107.713 445.831 null]
+>> endobj
+2144 0 obj <<
+/D [2406 0 R /XYZ 107.713 429.926 null]
+>> endobj
+2145 0 obj <<
+/D [2406 0 R /XYZ 107.713 414.021 null]
+>> endobj
+2146 0 obj <<
+/D [2406 0 R /XYZ 107.713 398.115 null]
+>> endobj
+2147 0 obj <<
+/D [2406 0 R /XYZ 107.713 382.21 null]
+>> endobj
+2148 0 obj <<
+/D [2406 0 R /XYZ 107.713 366.304 null]
+>> endobj
+2149 0 obj <<
+/D [2406 0 R /XYZ 107.713 350.399 null]
+>> endobj
+2150 0 obj <<
+/D [2406 0 R /XYZ 107.713 334.494 null]
+>> endobj
+2151 0 obj <<
+/D [2406 0 R /XYZ 107.713 318.588 null]
+>> endobj
+2152 0 obj <<
+/D [2406 0 R /XYZ 107.713 302.683 null]
+>> endobj
+2153 0 obj <<
+/D [2406 0 R /XYZ 107.713 286.778 null]
+>> endobj
+2154 0 obj <<
+/D [2406 0 R /XYZ 107.713 270.872 null]
+>> endobj
+2155 0 obj <<
+/D [2406 0 R /XYZ 107.713 254.967 null]
+>> endobj
+2156 0 obj <<
+/D [2406 0 R /XYZ 107.713 239.062 null]
+>> endobj
+2157 0 obj <<
+/D [2406 0 R /XYZ 107.713 223.156 null]
+>> endobj
+2158 0 obj <<
+/D [2406 0 R /XYZ 107.713 207.251 null]
+>> endobj
+2159 0 obj <<
+/D [2406 0 R /XYZ 107.713 191.346 null]
+>> endobj
+2230 0 obj <<
+/D [2406 0 R /XYZ 90 179.313 null]
+>> endobj
+2411 0 obj <<
+/D [2406 0 R /XYZ 90 174.83 null]
+>> endobj
+2231 0 obj <<
+/D [2406 0 R /XYZ 107.713 93.392 null]
+>> endobj
+2232 0 obj <<
+/D [2406 0 R /XYZ 107.713 77.486 null]
+>> endobj
+2405 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F112 1773 0 R /F24 529 0 R /F8 794 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2416 0 obj <<
+/Length 1397      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~�W�ma�V$�׼�����Vpv��vJ�/�6M��#K2� ;��� YFG�|�w�$c�A��M���u�֡��<۰��^��
�lxZj�ڎ��
�Ө�"��0��
L���������-��"i}���%
��0���=UJ4Ӡ��ڴ����+x�%B�
�v�C���
LF���Y�f8���j��[��umdK�=���2J:�a�vT�v�b�!V��c�Ò-�h��6�:��~b�|d���?�QG��'�Xǥ4��gM�r���zk?D�c[m�@3z]����
8
+fC߿���A@��\�
�����ЦY);�-���n{G,�/ْ�^�.�K�u.G�ǰT=9��X
�Q���\����{�
A�Y��l
��=\HD�T"��� ��y�ڒ�G��,�(U��7��_h2 �
�iLzW�l���Ao4<��<Æ�*�aQì�����]��S����떷�p#:a*Zk���}
-XsʗTh]��ŷ|T�b#�M�r�>g�c������Qs\�y�%�u�B�2	?2,
o8z�.z:��MAU�"ד� E&�
�`
>��N����g�ȣ�B~���y��
֏7�l���~4��|syy�
X���f~���^ui]7
��k��ҥ_v��["iYb3/�4��M5
�#j�n@�:P��

�2Y~ٴ��>+�.r��SC��
���'ӣ��r�kц�y@�4�VԼ`�0��
E
����c������H�s�
+�D�Jo����ݱL�
j?
�%�rs��;.Xy���vL͟��L��t�̳�|I;��5�@Q�U�J������$�_�a�N'4%g64����Y�G�hٷ)0�V쳢P�	�K���W
Mf'u]���eeY�	�^���p�f�wr~ԡ�i�&gP󳱐��|
64�$/.��1Q�����I�l��>�
��嵏��
��C%���%�
+6�}����*AS��!�@uV�T�\l���7�~��2
�A�۟]����w|!P'<�N��:.WUQ�Pm+�5͒H��hbr�4��h(nګ�;�MC�ڎ�)<Z��,-_�U
�V�e}$�a
o�:g�!���R�:
�t�iwxwf���,���r�7'@?*8~ݢ��!��ٹ6Z�Q�[���
^�l�(��:���#	��Κ�ް7��}�.���zD�^h��C5�[#[��^�=�3y�t?��
M�?���O,��
����eg�� ˫��|
1q
�z�ۯ^�9rࢗP�:c[s:�ӷ�74�̶MA
�
��i������,��繄`��������X
0N�~ʔ�__j���o[֮?lwV}�~,�����|�P��A�?gp;��v�̼W��$�����*��y��2ɪ
+endstream
+endobj
+2415 0 obj <<
+/Type /Page
+/Contents 2416 0 R
+/Resources 2414 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2413 0 R ]
+>> endobj
+2413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2417 0 obj <<
+/D [2415 0 R /XYZ 89 770.89 null]
+>> endobj
+2233 0 obj <<
+/D [2415 0 R /XYZ 107.713 711.11 null]
+>> endobj
+2234 0 obj <<
+/D [2415 0 R /XYZ 107.713 693.956 null]
+>> endobj
+2235 0 obj <<
+/D [2415 0 R /XYZ 107.713 664.847 null]
+>> endobj
+2236 0 obj <<
+/D [2415 0 R /XYZ 90 638.952 null]
+>> endobj
+2418 0 obj <<
+/D [2415 0 R /XYZ 90 634.468 null]
+>> endobj
+2237 0 obj <<
+/D [2415 0 R /XYZ 107.713 551.122 null]
+>> endobj
+2238 0 obj <<
+/D [2415 0 R /XYZ 107.713 533.968 null]
+>> endobj
+2239 0 obj <<
+/D [2415 0 R /XYZ 90 520.028 null]
+>> endobj
+2419 0 obj <<
+/D [2415 0 R /XYZ 90 515.545 null]
+>> endobj
+2240 0 obj <<
+/D [2415 0 R /XYZ 107.713 432.198 null]
+>> endobj
+2241 0 obj <<
+/D [2415 0 R /XYZ 107.713 415.044 null]
+>> endobj
+2242 0 obj <<
+/D [2415 0 R /XYZ 107.713 397.89 null]
+>> endobj
+2243 0 obj <<
+/D [2415 0 R /XYZ 107.713 380.736 null]
+>> endobj
+2244 0 obj <<
+/D [2415 0 R /XYZ 107.713 363.582 null]
+>> endobj
+2245 0 obj <<
+/D [2415 0 R /XYZ 107.713 346.428 null]
+>> endobj
+2246 0 obj <<
+/D [2415 0 R /XYZ 90 332.488 null]
+>> endobj
+2420 0 obj <<
+/D [2415 0 R /XYZ 90 328.005 null]
+>> endobj
+2247 0 obj <<
+/D [2415 0 R /XYZ 107.713 244.658 null]
+>> endobj
+2248 0 obj <<
+/D [2415 0 R /XYZ 107.713 227.504 null]
+>> endobj
+2249 0 obj <<
+/D [2415 0 R /XYZ 107.713 210.35 null]
+>> endobj
+2250 0 obj <<
+/D [2415 0 R /XYZ 90 196.41 null]
+>> endobj
+2421 0 obj <<
+/D [2415 0 R /XYZ 90 191.927 null]
+>> endobj
+2251 0 obj <<
+/D [2415 0 R /XYZ 107.713 108.581 null]
+>> endobj
+2252 0 obj <<
+/D [2415 0 R /XYZ 107.713 91.426 null]
+>> endobj
+2253 0 obj <<
+/D [2415 0 R /XYZ 90 77.486 null]
+>> endobj
+2414 0 obj <<
+/Font << /F73 552 0 R /F112 1773 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2427 0 obj <<
+/Length 1858      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vj�x�[������JsH:J�$���T\��wXP����Lgz".v�o�]�{
�{�{/F���Xy)K#y���r/RF�6�>�	����/���?�!�/�b��ھ]����_�X�~
�
���z�z�pOX�!�o��}��{3����L��wg��^ <W�m��
'9�!�A��B0!ZoY�b�X��߮ѝ�]�	KU̪���~V���M_r�\�zVe��|Re����嶘������xԏ����}����Y�-;��ΣCdm %<�6��nV��˹}N�)�����}�i'0Z34�"f���w�)
͒��6yY���<�hT

+���=���m6U�G��X�����L��D7bG�p���D�TH�(�*k��yW����\y�N$,�)
D¸�V݋���89�N�
~B�͛�
���:<vZ�)sA ٤�9�}�=Zh�{J>�
�~��(x�=��f{B���S�*�G�$��c�`!Oy#��x��TH
��E��4}2��˨�`���H�%��!�wW�����NE%LY��
�:_n���  ��$HI'��
��~ss9|3���C((��p�ܒ���f|�ԕ���F����
���N?�D���ھgvU�Wp�v�l�bw��w�0�M�a_<a��$,
�VM��f�נ�
�u٤.Wۆ�Z����@ґ���av��Zv_ƥ��ȹ*qx�����
	������2Co>�e������/÷�������ps{2�8DJ��
G�嗸��qx�`�e�I��d���v�f=4�#p��k+��YA�2kH�
��s�E1��{�$�U�λ;+��@��� 
+���g2WA�i���C\A���9�����
�Z�u9ۮJ�Nrx�P�E�6d��Ľ��1$�|�&�S,�w� ��B�p��
�Wt��^
�/
��| �C$H�O#A��N
$�Q��Ǝ1��� �*	4xP\
�[�u�옰�CĆu5
GLJэ�=�-7�Jm쬂6�s��
1<�G�'�0�.��ì�5, "��]� ɇr�8T���C�I�Ρ�.�8N��\�fI�� r���U^nk�b����v2o�iҵ������̊l��i�>J϶��)��L�#��l�
$�K�� 

��Nt�<Q9-�M 
+�i�0��(
��e1��
���Y�����A
�@�ɬA8�|����͡
�� ����H{|Z�0 ��'�*ovv��8��C
L�K;
\�����B	�*;\gE>׵娺�����S}����W 0,�;�a}_$1��dF�ρ���']������xq9|��b�/O$���=w�|`����^�꣄�>�H@�F*:~�1�_��&:�yE�hڶ�-��Q5��(Y�
+zJ���09�s��(�X�l���г����e��ځ�68�.i�Ynk3��Ԅ2y1˧ĄV�A�Lƒ�< i��ΕB
�
*Z�
��-�N�Kճ�S]אcT�.̪�h5D��Ӽ�w/�7����;�e�m�#łD<����{1i�܋o�(�/-m�
��@��&����\Gp�֟����y�sf���*/tV�/��
�N9@1�V�h;x�1�v���Fx5_��C�dy�V_g�Gf�	��
+��&!m�Ws�^��vɭp3e�/�%��_��d�TO�ek~�B|�6E��
b�J=r軹���w���������f+;�c�
�HѺm6�W�u�wύ~����+"
X�=�i6���&�`c� @�qv������
�� ��&�b���v�r��H�����	�E
K#q86�B�8�X+�U	��+���2
+endstream
+endobj
+2426 0 obj <<
+/Type /Page
+/Contents 2427 0 R
+/Resources 2425 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2412 0 R 2422 0 R 2423 0 R 2424 0 R ]
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 668.225 294.501 679.129]
+/A << /S /GoTo /D (index_Approximating_Bounded_Integers) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 484.112 294.501 495.016]
+/A << /S /GoTo /D (index_Approximating_Bounded_Integers) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 340.156 294.501 351.06]
+/A << /S /GoTo /D (index_Approximating_Bounded_Integers) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2428 0 obj <<
+/D [2426 0 R /XYZ 89 770.89 null]
+>> endobj
+2429 0 obj <<
+/D [2426 0 R /XYZ 90 721.073 null]
+>> endobj
+2254 0 obj <<
+/D [2426 0 R /XYZ 107.713 627.99 null]
+>> endobj
+2255 0 obj <<
+/D [2426 0 R /XYZ 107.713 610.618 null]
+>> endobj
+2256 0 obj <<
+/D [2426 0 R /XYZ 107.713 593.247 null]
+>> endobj
+2257 0 obj <<
+/D [2426 0 R /XYZ 107.713 575.876 null]
+>> endobj
+2258 0 obj <<
+/D [2426 0 R /XYZ 107.713 558.505 null]
+>> endobj
+2259 0 obj <<
+/D [2426 0 R /XYZ 90 547.889 null]
+>> endobj
+2430 0 obj <<
+/D [2426 0 R /XYZ 90 543.406 null]
+>> endobj
+2260 0 obj <<
+/D [2426 0 R /XYZ 107.713 443.876 null]
+>> endobj
+2261 0 obj <<
+/D [2426 0 R /XYZ 107.713 426.505 null]
+>> endobj
+2262 0 obj <<
+/D [2426 0 R /XYZ 90 402.992 null]
+>> endobj
+2431 0 obj <<
+/D [2426 0 R /XYZ 90 398.509 null]
+>> endobj
+2263 0 obj <<
+/D [2426 0 R /XYZ 107.713 299.921 null]
+>> endobj
+2264 0 obj <<
+/D [2426 0 R /XYZ 107.713 270.595 null]
+>> endobj
+2265 0 obj <<
+/D [2426 0 R /XYZ 107.713 166.968 null]
+>> endobj
+2266 0 obj <<
+/D [2426 0 R /XYZ 90 131.5 null]
+>> endobj
+2432 0 obj <<
+/D [2426 0 R /XYZ 90 127.017 null]
+>> endobj
+2425 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F112 1773 0 R /F11 613 0 R /F8 794 0 R /F10 765 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2439 0 obj <<
+/Length 1915      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�ӆ��8
~��Y'>��\��d�EK��
+Ejxd����@��(K
95��������n��γC������U ��D>���҉�x�>�Z8���~���?$,�a�����l|7���x6�2`0E
��%	Bg�
|�L�
��P"���j�
�
hSg:�y@�*mK��]�XA�V�0"�zN��<�f�
�^�"������J�mϮ�;�XH9#h�(�r|7
w��]��*x��a���Re��DH�Bm
+U����$�·#�Gn����\-�\��Q��	���R}�U6׋��M�=Qj����q�C&]5�8�/�
R�3�� F")Q�$���"ɞ�#������[���8������S(\v{��/؋�Y*-�+���O�;��V�z}צ8s��Y�6S��$\B7[�NZ�ثKU�1l��
+;�*��Z���e�K�쑠K���Y:��� u�N.>~�<
��h�3�ąa����qf�)�u�^�ZP�
"�1���%0D-�k^���Y�5=oJw
g�R���
C
ΉF�����xNJ7Yo@�D��Q�1�Y1ϳ�^o�ca��
lQۑ*Y+����)�V8���q]*�ȲPj�i�)�E\�vY~�6��
�
B�{}Z��7:���f]�-���?�12P�S[P�g֖�9¶�z�Ba
��L��t��}��g��0��һj�����y���[0I'6,,
+m�D���G""�`�r"��J��2J��0mka{E��
Y#c�b
?N�
2]��R�"~�I���x9?�Js�M�l瓬z��Hr�S����
��h��5��F����ȳ��=�MR��ge��9T�T�M#�k�Y3�R�� �����5�
�U��{x.�b���B��� ?�^��qY�Q��8�˪���5Ņ�'�S+�`&
�,�j��;N���ģ������F��W���� >~�S�"�ӗ�a�F�[P@
1�<_o��ܮ�O�+l��
k�$C;��n���)%\k�����r��
�ǁ�
�uqs�G� $B�7,�
��^���Z��<)��m�լll+�Į����&� ����Z/Ϊ�,㝠>V�vX��.���݇�ޢ$�X6Hyϩ:�N�C�£�x3:�_��7�.����� {�^�E^?
C�{���$y��o�g<�燋�^ZF��ܗ:^
�%b�!&{;8�`
<On��
ǿ�[�r܋�yP� A40�ޝB����w,
+�ƕ�:���d�����5�����a�v�^�
�o���'�
+��=!
�'���	{�j�ǃ�{��V]�o^������p;�G�G��֕�p��wo�un?�{�~&ד�I1d������f]���3��2i͖��`�W��M�H�Ǻ��=��2O�-P
����2-����L?�]�/��:a�{۟3<ȶb�V-�� ��s�-Ul
L��(�Si�'����_Ǘ'�&"=�_�U\�o�3<��q�<�z�6��
&%L���{�������=��@*��	�R;��{�����4靪�S^�"�M�Ph�4mc�dՠ
+0�ߋEPZ�b1��6�
ī:��O.<t/�9p���v���M�$/ܕH���GU�i�!l=����@��	���}_�9�¨�F��+0
���A��&q�bȘ�)����S���p>���a�|LP�Q�B��Fy����d
G��K�,�X���F����ɟ�pQ7#B�7��x �m?Q�
�g��}��uBb���8oc�S��I�>�������5.N����F�"�/p�p3��7��
;pv��e¶��N挶�S!PC�
�#C*(X�ܮ�F�dr���R?�tn�6��&N��m�/�GMx���Ƒ`�Y
�z�ު����G�)۷ת�6�ggO�s��g��u��n���Aˀ�>�t\	.�Hww
+endstream
+endobj
+2438 0 obj <<
+/Type /Page
+/Contents 2439 0 R
+/Resources 2437 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2381 0 R
+/Annots [ 2433 0 R 2434 0 R 2435 0 R 2436 0 R ]
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 532.54 248.743 543.444]
+/A << /S /GoTo /D (index_floating_point) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 329.404 245.973 339.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 215.126 249.291 225.054]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+2436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2440 0 obj <<
+/D [2438 0 R /XYZ 89 770.89 null]
+>> endobj
+2267 0 obj <<
+/D [2438 0 R /XYZ 107.713 695.907 null]
+>> endobj
+2268 0 obj <<
+/D [2438 0 R /XYZ 107.713 655.76 null]
+>> endobj
+2269 0 obj <<
+/D [2438 0 R /XYZ 90 607.331 null]
+>> endobj
+2441 0 obj <<
+/D [2438 0 R /XYZ 90 602.847 null]
+>> endobj
+2270 0 obj <<
+/D [2438 0 R /XYZ 107.713 493.438 null]
+>> endobj
+2271 0 obj <<
+/D [2438 0 R /XYZ 107.713 477.202 null]
+>> endobj
+2272 0 obj <<
+/D [2438 0 R /XYZ 107.713 460.965 null]
+>> endobj
+2273 0 obj <<
+/D [2438 0 R /XYZ 107.713 444.728 null]
+>> endobj
+2274 0 obj <<
+/D [2438 0 R /XYZ 107.713 428.492 null]
+>> endobj
+2275 0 obj <<
+/D [2438 0 R /XYZ 107.713 400.3 null]
+>> endobj
+2276 0 obj <<
+/D [2438 0 R /XYZ 107.713 384.063 null]
+>> endobj
+2277 0 obj <<
+/D [2438 0 R /XYZ 90 373.64 null]
+>> endobj
+2442 0 obj <<
+/D [2438 0 R /XYZ 90 369.156 null]
+>> endobj
+2278 0 obj <<
+/D [2438 0 R /XYZ 107.713 288.162 null]
+>> endobj
+2279 0 obj <<
+/D [2438 0 R /XYZ 107.713 271.926 null]
+>> endobj
+2280 0 obj <<
+/D [2438 0 R /XYZ 90 259.361 null]
+>> endobj
+2443 0 obj <<
+/D [2438 0 R /XYZ 90 254.878 null]
+>> endobj
+2281 0 obj <<
+/D [2438 0 R /XYZ 107.713 173.884 null]
+>> endobj
+2282 0 obj <<
+/D [2438 0 R /XYZ 107.713 157.648 null]
+>> endobj
+2283 0 obj <<
+/D [2438 0 R /XYZ 107.713 141.411 null]
+>> endobj
+2444 0 obj <<
+/D [2438 0 R /XYZ 90 124.017 null]
+>> endobj
+2322 0 obj <<
+/D [2438 0 R /XYZ 90 101.507 null]
+>> endobj
+2445 0 obj <<
+/D [2438 0 R /XYZ 90 101.507 null]
+>> endobj
+2323 0 obj <<
+/D [2438 0 R /XYZ 90 77.486 null]
+>> endobj
+2447 0 obj <<
+/D [2438 0 R /XYZ 90 77.486 null]
+>> endobj
+2437 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F112 1773 0 R /F60 532 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2452 0 obj <<
+/Length 2868      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�6~���S+Mc�Kfgg��e�MZo⾬���mk+Q
+E����
�MH�DJȎ�O�$���}瀇ˆ��� ���3lO������+�I���n`�@q���O���P#2:'��w�|3:�ߎ����>�>��ˬ��ڏZ15Tj������Wg������*�҃����G<����f��ww�|�)��l���_g8��`��&!��%��H�g���<T/G���|�
�(�uv6��Qd�i�m�!#&ڐ.G��!��٤� �#�S ��!"u ����s=����b��rQX�(o�+%bl���S]3�/�
<:�B�Qv��Z70��<�X�
�_��U����Ka-[�Hu�akz\_t=�g�<���� ��F��(�@�"�U�r�(�Im�4�)�Y_�%@�9 �����y56]�C�@���7)�k�6�xȠm��h��
+a�O�`��$�FT(���W���� �E
+�W�� E��"$O�k$
!�-v��
�4���B2�pk��8]�" �l�m!80���	~�JnP��M���ߖ�*2(����l]��{��qQVg��,�AOt�w��
�"[��ey9���
���MV�8
>��X瑫��|��X��5�i�3�4���k�Emm��QD���=a�
~D�����V�Lك)��ǜ���"?,|��� J � ��qtѽȘ4��+X����	A<�l0�!�
+g�f����kP�D�����&$d�ٷz�A� F�:�@5=�$>��["Q�<*jJ#)y��͚�R�� �Q[��������$ 4E�
B
]"��8�L�2�
)h�)/��9�0���Fy�/��d��Gh-a�0�BB4�N�5�#)�3e�r���Ԯ��@\)!y)0P
�
B� C��Ҳ*

�؀M���F���`j�41+�H2ML.
��X�>���*E{�� �q�St�s��6Q��3?����3���]N��x�rdxt1�݅
+7�S@/T0E}�Q	U��Be,�!��
+�$'T�!��*�0��8�g$EϜ� f{�w(��C珁�
�3ȨaJ��.�<�q�N�
�2�Ҋ<X�Mg�s
�	p!�ȭ)�h[�vy 6�<�
�B

ENe r*6 "���oYa����o�`%Fژ(̻�z{�bt�[.�'�X�	�0���O��}V��|3�a�v���X�l�f�ٲ�d��AA��r��$��
k:�,b�E����^����?���8
I�)n���n���r���䥔����B�;�	�	�6�)�)nBD�W[S��
n�@6
+n7��D�
1t��H�4$KF�Œ�N���xj*1I�æ�N0&~6:9%Ka��`Q
+��ڦ�.�d:8%�ųaj7�Yl�%�)���uxÇC�k�3t��+��
�8��Lu&8x7��@��M��+�)d�
+��0�AJ��da�����}�U�tD�U#ꦹ��	,���|( ���A�b9�@5�����چi���fy��7���Y
�X/{�2)LD
+,
2)
�|���{qj ��;qv
��Z�O�5��S}� ��wA_z������1��E��	���;s"
fj�y���-�hr�Ѕ�8ncX-�p
L	��s�t��m�9� ��xG��=3
���S5a�7ͲI6�@3����
(�956�d �q݁#�(a1�������S\�� @��j#�-�0���8�
+A�^X�F���:[����b���Ĵ}��BHO�b@[��Qڲ%*M�a�AU��#��6���J �k���ݖ}3�{eR�~#*u��/�[��;H��Sm�,ǭ)�d�/�@�9
 ���0j�8��#$�1J�	�6�`�,ĸJĘC�G�]SE�,Ě"�� �'{Ao�'����Ʊ*��m�,
�z��Zȸ
��Y��'\"@*����i���/%���K���[�#j�8T��@�i�G�Ν���}={�a�$�'E�ھ*��֫�$Z�iu�H�~Ss6\~^�'�r�MKVM�@�%=�� :82F0\�d� [...]
+�5Y��Z�H�X�-6�2��9�
j�����4Atd���W+��|	�C�;Ԯ�������uҼ�Ui>�[�22����*bS�r��|�=6 at VBM�u���7_
I�
����Q��k�$��ݕ�(�.%���@\m@�_f�|�嘆��r�H8���� I���X	!A:M��#��}��"A
�H2�]�+�
3\1���UL�nÞm�i����($�[��β*[H��_�
�&�*C�V��3�US�4��Η��z�:i��eX��1ͳ�a1��o�7��e�|\L����CVd7E�O�;`'���g���������w��&8�)���tr20O5�9����ޱ�3pe��-�:��a���L�������~�g���/m"F�q��
�x at mйa���lZ���,��!0vY��Qd����Jel#U�5Ԅ�
����
{��S
ڄ�$aolժ��6���
��tGnV�C����?r�&�2z�\L��*�}Z���E�6��QNI�k'3{ry����|׷x�N'����핛
+8͒^`:��7��rn/�"�~|��e��B��1(_����-;W��ϗ������k�N�"'&��N�Y{Ҿ�˺�i�'����@�oJ�B��qӕ�Ž
��UV|=bX�о���:��M�e� \�}|������_��g�V�P��H<�K�P���7��U�ߣ��|{�j��@��P�ο
+=�
���X�r�+���B�T���H�`~���?���}�~�7�_\�����
��l�	���
+endstream
+endobj
+2451 0 obj <<
+/Type /Page
+/Contents 2452 0 R
+/Resources 2450 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2448 0 R 2449 0 R ]
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.838 173.771 463.556 184.674]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2453 0 obj <<
+/D [2451 0 R /XYZ 89 770.89 null]
+>> endobj
+2324 0 obj <<
+/D [2451 0 R /XYZ 90 704.136 null]
+>> endobj
+2454 0 obj <<
+/D [2451 0 R /XYZ 90 704.136 null]
+>> endobj
+2325 0 obj <<
+/D [2451 0 R /XYZ 90 682.422 null]
+>> endobj
+2455 0 obj <<
+/D [2451 0 R /XYZ 90 682.422 null]
+>> endobj
+2326 0 obj <<
+/D [2451 0 R /XYZ 90 642.631 null]
+>> endobj
+2456 0 obj <<
+/D [2451 0 R /XYZ 90 638.148 null]
+>> endobj
+2327 0 obj <<
+/D [2451 0 R /XYZ 90 598.416 null]
+>> endobj
+2457 0 obj <<
+/D [2451 0 R /XYZ 90 593.932 null]
+>> endobj
+2328 0 obj <<
+/D [2451 0 R /XYZ 90 571.885 null]
+>> endobj
+2458 0 obj <<
+/D [2451 0 R /XYZ 90 571.885 null]
+>> endobj
+2329 0 obj <<
+/D [2451 0 R /XYZ 90 538.823 null]
+>> endobj
+2459 0 obj <<
+/D [2451 0 R /XYZ 90 538.823 null]
+>> endobj
+2330 0 obj <<
+/D [2451 0 R /XYZ 90 504.76 null]
+>> endobj
+2460 0 obj <<
+/D [2451 0 R /XYZ 90 504.76 null]
+>> endobj
+2331 0 obj <<
+/D [2451 0 R /XYZ 90 463.968 null]
+>> endobj
+2461 0 obj <<
+/D [2451 0 R /XYZ 90 459.484 null]
+>> endobj
+2332 0 obj <<
+/D [2451 0 R /XYZ 90 437.372 null]
+>> endobj
+2462 0 obj <<
+/D [2451 0 R /XYZ 90 437.372 null]
+>> endobj
+2333 0 obj <<
+/D [2451 0 R /XYZ 90 415.264 null]
+>> endobj
+2463 0 obj <<
+/D [2451 0 R /XYZ 90 415.264 null]
+>> endobj
+2334 0 obj <<
+/D [2451 0 R /XYZ 90 393.157 null]
+>> endobj
+2464 0 obj <<
+/D [2451 0 R /XYZ 90 393.157 null]
+>> endobj
+2335 0 obj <<
+/D [2451 0 R /XYZ 90 371.049 null]
+>> endobj
+2465 0 obj <<
+/D [2451 0 R /XYZ 90 371.049 null]
+>> endobj
+2336 0 obj <<
+/D [2451 0 R /XYZ 90 348.942 null]
+>> endobj
+2466 0 obj <<
+/D [2451 0 R /XYZ 90 348.942 null]
+>> endobj
+2337 0 obj <<
+/D [2451 0 R /XYZ 90 326.834 null]
+>> endobj
+2467 0 obj <<
+/D [2451 0 R /XYZ 90 326.834 null]
+>> endobj
+2338 0 obj <<
+/D [2451 0 R /XYZ 90 304.727 null]
+>> endobj
+2468 0 obj <<
+/D [2451 0 R /XYZ 90 304.727 null]
+>> endobj
+2339 0 obj <<
+/D [2451 0 R /XYZ 90 282.619 null]
+>> endobj
+2469 0 obj <<
+/D [2451 0 R /XYZ 90 282.619 null]
+>> endobj
+2340 0 obj <<
+/D [2451 0 R /XYZ 90 260.512 null]
+>> endobj
+2470 0 obj <<
+/D [2451 0 R /XYZ 90 260.512 null]
+>> endobj
+2341 0 obj <<
+/D [2451 0 R /XYZ 90 227.515 null]
+>> endobj
+2471 0 obj <<
+/D [2451 0 R /XYZ 90 227.515 null]
+>> endobj
+2472 0 obj <<
+/D [2451 0 R /XYZ 90 155.882 null]
+>> endobj
+2450 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F24 529 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2479 0 obj <<
+/Length 2736      
+/Filter /FlateDecode
+>>
+stream
+x��ZY���~�_����2GsR*Ur"'q,Y�6/�T*,	�L4ȍ����@
 r�Z�U.�	���������]g8���חO�Q,3�H*��efp��AB��"{;Qz���یI��������._��|c�]������+���@Jg�����8[��F���#Zg�2���7���A��������{�A�L�
�Ҽ�R>ɛ|]�fJ�d��p
�a�ֿ��+��b��L���ux~V��L&	E��c\A�INzl����@8E���1F�P��Ͷ�y
��)���v"%2T��<�Ψ��M]V;+<�I��4���:�Mɤ�������W�M>�x���n�H�
��U]o��Ǜz��Z�U�+�����.LA'y���~)����AF/꥛_��S*�X��jUl�PY-�y|ț@��V�<����/k�<>n�&f����f�1���
�"!z�
!�̈́��qS�l)��e�jŴ%����!I
`O�:4�R��6��.�i8Lc2�8@�#z6��&O�E����g~pL��flD
�� O�)cR�n�A���+��v�n����G,�uQm��o=+�5K,��Sq��M"�	
æ��`�k�L�a���ػ����:��vf�
	���֣�3#�G����C� ��C��Nw��w�
���{?�:.��Qp����kz��مu���f�@
�4���7��&����4���}"}D�M�i�mQ�<�_;�IW���BoB`�w���z��P�||�Q�so��e퐔ܛ ��
P�E�Dz�$��D7 wW��n*�

��Q����0��A¸����3��������|iÞ�U�Ư
�҂HD
��5���g��>��ÂJ� 
3���P�n�j<��] �Ha?R#�Bl�kn���(%d��Jk��y5%brgT�<7܆2n����� �����mp
ó�3/
+�
Z��bu�'�!N�}62���Ư��j;�:Ɛ`��:��Az��C6|�#e5����v[�
Z�V
d
�ڤ��>�)��͔c�5-*��C�!�1B��Ĺ`=��H�i�LM�y���Y�F-��2�9(���mH���I��r.���?���% c�x"��d#�hi"88��kNS�%��U�Ո�$�)�:�C,�{
 Ը�f:�-�HS�5
+�Z�"�]k�.^�L'"��k�-(�.�5ۈvݭ����@�`7c��(��(�p��A��z��nb��8���	kM�
�[[��m�
+�R����7/.GxJ�����Oow�U]�C����aNa�jȖ�kv
8)�����`kH�J�6�f`�+�k���fD�Z�C��"��������ӧ��l 	��H�E

�&ā�pRF`6z�Y� If}9R{�
̏�gN��"�9���wX��K2춀Nn���,�c���K�
_���4}\���@������t:"�;s�x)��D[
p�"�>��[A�,'��j�bw7�:�\�㫣�:�t��Qi#u���G��%Q��
Q��^�� ��g0� Q�r��$��80vڱ���E
�x_���>�;���X���u�opW�9�,�U�,z��
�$WMQ�?�X�6�A�?@f��ѽ������>�z�NP�
�
�
�
d�:*��I��*
X�<��șB
$:����>=��
<]��b-#�x2Ah�Ǖ���9��:
�8�bx4E�<^�T
+v/@#$�ZӍXuX��"(f�\
9�����'
�0$�,]��<(�;�P����l��eʸ��
��fo^��ο���ᓸG˅
g#�0V�"���5�������I,��ɭ�֋D��-R{[��
ܗ�2��|��
�)��
�������h�2��>	SV����stư�Qv�Z$D��N��s�1pČ�����JQ.�<�i�H�F�&�L�!W&ݦ�}�W��f$tL커hGBю
�Ց��\?݆�H�+������t
[�b-ϭ����<lE�y�Z��֧E�7` d�p�p��h�\�k߅V��[=3�ˡ���ꜛ,6w��
ˠ�ܱ�����Z=g�ՋSj��l�zqJ�^�Q�4'�p?
3��	~N?7G�S��[:8A�O�p
�+8MLѲ�m"uz?R�q��c�[�.zC�Go 5W����ɖ
?��
+ߏ޶NHڊ^'˔�,��øV��a�>p�R����o�_Z�_Z�_Z���}������۲�g�>���W7[��=<��W�+�q���O-ا>�s�t�y�2-�w����+���s�s߼�S��)t�9�tO-�
��_
+���DrjA�X1�S
b(
uu�e��@
8�pNAt�)��n�)�XR�.�Z�qa�/4��ֶ���ϴw��i��J<Gg��n���V�]��7ۄS*-����8�r�[ʄB��n��C���-<��I�`��H?_"�R��b,[X�^�pR5�F��Ab\9��;<��1?� Ri��aJ�;>j���0;d�In Y&�+�ރ��Ht�R�� ֠�{��>�,�K,�
�yur� 
+M�W�!Dr�`
��
�:~��5�<�YNR�G�� 9J�~��+m���z��[���h\��'@'L���e�޽�߄�'�Z���50۳��ٞa
	4,Wr� ������k|؛�n���SpIA�/��6_�{ۢ;n۶8wl��ʣ�?��n��V�{���#8�5���n��ɓ��k��h^��=��� 
X�������u<-^V6.p���������
+endstream
+endobj
+2478 0 obj <<
+/Type /Page
+/Contents 2479 0 R
+/Resources 2477 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2474 0 R 2476 0 R ]
+>> endobj
+2474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.838 467.468 463.556 478.372]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2480 0 obj <<
+/D [2478 0 R /XYZ 89 770.89 null]
+>> endobj
+2481 0 obj <<
+/D [2478 0 R /XYZ 90 720.814 null]
+>> endobj
+2342 0 obj <<
+/D [2478 0 R /XYZ 90 524.634 null]
+>> endobj
+2482 0 obj <<
+/D [2478 0 R /XYZ 90 520.151 null]
+>> endobj
+2483 0 obj <<
+/D [2478 0 R /XYZ 90 449.58 null]
+>> endobj
+2484 0 obj <<
+/D [2478 0 R /XYZ 90 386.067 null]
+>> endobj
+2343 0 obj <<
+/D [2478 0 R /XYZ 90 77.486 null]
+>> endobj
+2477 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F11 613 0 R /F13 834 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2489 0 obj <<
+/Length 2865      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۸~?�BO���
����n�Iw� �����-
�%�d'����!)Y�u|nP�}�$z4�!��
54�Nh����ˋg/�H,����r�X�i���4Oާa�)���~�d2劦���z�_���j[4�|���&5v���./~�`0
M�窈ɒ����G��a���a��#Z'�
���w��A at J��[�q�W,.c��^Z��A�m�ެ�m�={	D�� 4S0�{��"bm��YG���)�|�JJ��}���O-	�l�ʟFx2J��g���2d��	�iެ�����©)�=���X7�_����V�:�h��NOA
�ү�bތH 0��
������.����L�����uU����J{2C�0� ���|lbI-��,k/'��k��է��
�Wrb�Y��v4Vx��f۲�F&6Q\�e�
\�@�7��|�����T(N(g��,x�#��U�J�yOsw��
�
&Q�d�s�M[l��8
��zUTE�o��[�2��	��n̛5Q��s+�Ůg/��z�2���%�f��ˉ�iѬ�*w[2�BB�r��ݗr��甆����ϝ�~G�Ӯ����P��4����3��
+ԋ0�c���.����o��ʛy�2ܼ+�b궑��w�U�)��Us
���W�{�6�������K��8�,��k5,�"Bw�)��
�ހ|d��
i
+�\Opӕ�yq��L�!
J%O�2�B��t�g��yfm�iF�T��Rt��2��C��ڀ�g��
+<�"Y
���0���3�@T%YfB
+���U�T���s�B���!	��>�Ss��ґ:�U�c�:�f�.�-&���6���s|4οp�9޼}����]���o�9xO킑QCIܫ>A@)��o����E����S� �69��1�
aJfޖ:�.@�����|����)��I}^�{�;�̂��Dp�R{�/6ES�'b���J~|k"�bg��,L*g��������2i$"
Xq

��C�ӆ�4��G
+�c��>�X�� ;>�܈4߀��Z���Y�S8���
�W�2G(�t�F\���㪮7��˲n�[�\ q�v��
Rz��
+���e��e��>O�s-��"
*�y9�
�&�U=�]�s���E
���K�<N�L@�Y�8��su ��R+#R���׀� kD�!��
�_P���9�E5T�����N�4�.؃'z��6�s�h1��
���	1"�G� O5�
J��� �u�׶�����Z
n�%�6�����U�R��*o�
6�A� 0�ܠ��b�)=�z���	�46�)f`c٣��
ϔi�m�1 ��q�c�Nw��������_��h�8dK��~���p���f���1
[×e��IP��M
3�'vА�)6MѺ�)\��qO��uty#��ӦXH�;&ԯ!�us�m�dWŢv��ܛ��h`pS4@��Dz�$��uY ���׉V�6�hC��� �aP���D�k0�&\.�ۆ����7d�|��'���ކ.��f�H�7�i8��@��
=P�Pe���
+�
PR$C�ZB�����	&=N�Q����eQ��:d�mv�Ht�E���Ł
�NM��5U1G� {�.�?�k޶�u����8��G���}���P;9X�4�A(̢�N���1���h�(�	�jV�=~C���%�?���m
Q���j�_�5�k�u‚Ŭ���b�J?G�/�SÑ�#�59�Q>Ձ�w`	��:��<{�	APH	���x2��$�=*,w\
+G�
�$3|�`�>��4�]����(b|ҕ��ɢD�m`����8�3�!f`��Э괆�n�+���$c���q
�0N8��@�@�H�c��v��t at 4�Y)f٬"J�!+��G�De����Ƕ��E�h3�vE
+�<
�䝁�
[��I�Z�c=��}m54�Y]�:+![�� <�8`�W�>v�w#3N�+����I|P`SW!�`��2��A��d�u�z1V�I��J~����{:�q�
+�Y
�1��������қ��ԧY��<���N��o���.c���
X9ˈ���2B?�
Q����<�Kޝ�
+0!���p.�*�n���q����[g�.і[�7Yw^S�/�
���x��
�N��=���* ����C�Vq�8Q�V�v`����1��q��
��S7H�O}�S�� 
O�'¢`<������DiquF��HO;[�M>��+s��'�S(��ف�!A�,6�L��WՇd#5
�t��[2�'7"FaQ�󴏡c�
+��
�J�"|���vdm%·F�j�jޝ"��C��X*�Z�/���U�Ͷ
w���q
+@��QAҡ&��߲wC��L�[z7�>��
dx�w#��u" ����n���������^���s���� �.�$�g� C,��t�����
3c��`��C򳨌��
�|����I�(_�߼��JB�y�P��9���Aӈ�
���42��
z
���~*���f�n�0ww�|�)ǝ�1����澔Ӈ��O���	f�۳�'~��b��ў
��}��nȑwk�1wn��$�
9�A
9���o�����8
P =m����<ݱ-���|�8������&��w�n�3��u�
��n�H��w��q
�a7{
+p4�����
�3\��
��⮝�Ue��e�1��uz���<��m��~�T��7y��W�
72TȭO	0Ȉ�\<
����(B�BJ������(LI�T_�-����gϮv�mQ]�Y�>�w=�k.�����m]w}e���.�3�&D�hޭ,�/��"w�{�g�bx��Z$�a�����0�
+endstream
+endobj
+2488 0 obj <<
+/Type /Page
+/Contents 2489 0 R
+/Resources 2487 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2475 0 R 2485 0 R 2486 0 R ]
+>> endobj
+2475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 662.497 162.667 672.843]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 268.134 162.667 278.48]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2490 0 obj <<
+/D [2488 0 R /XYZ 89 770.89 null]
+>> endobj
+2491 0 obj <<
+/D [2488 0 R /XYZ 90 721.073 null]
+>> endobj
+2492 0 obj <<
+/D [2488 0 R /XYZ 90 644.609 null]
+>> endobj
+2493 0 obj <<
+/D [2488 0 R /XYZ 90 581.097 null]
+>> endobj
+2382 0 obj <<
+/D [2488 0 R /XYZ 90 336.698 null]
+>> endobj
+2494 0 obj <<
+/D [2488 0 R /XYZ 90 332.215 null]
+>> endobj
+2495 0 obj <<
+/D [2488 0 R /XYZ 90 250.246 null]
+>> endobj
+2487 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F13 834 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2500 0 obj <<
+/Length 3146      
+/Filter /FlateDecode
+>>
+stream
+x��[[��~�_���Fc.�7m�$MҦ�t���@7A�53Blɑ=�L~}��E�.�xf���(�:<$��;�hv���ˋO//^|aDf��\g�י����(
o���$���/�ʄ�	�>r�����Ͽ�|�m�_^�t���f���ɳ�����4[B�W%���;�i�I.���\��V�'�
+��
�=��%���0A��ܼ�r9�7�u�+�)c���k at yt�a�oĶ��hN`a��L���%4�+A�#�i)����4ӂ�zd�j���#V`�j�_�Ͷ��pU\��T�I��в1͡�<�T����
O�Lg��ɦ.�
����MS�R�绲��*1�����)W��������?Wu��5Ū�vߩڥ�4��jU8�-W �JE%�Po��O-Ww��|�fN'3��3���+��܎(�

�.�Sh���§�g�KW��ޗv���VnC[����j����X��L�R]FB�y����¿`S�8_���8��E�9z�u�z!�wۗ
=�@������8W�>/�`,5D�<.�/~�M�aD��
+�NE"#E�;u�H�b������f��?L||�+�`�&�qCr!:�U#[o�e2
�RtRW�P�n���庨�e]��SM������ѹٜ�'�+0�eBC��
+�|G)
����
�u�r�f(�	{��8ho��:��>3=g���i�����S�wN8��Q"5��k�'��g13j�;̠��6�چ�6t��
+
�
}�Ն�CV�<h�5̈�(����
6��]�
�F�lNr��l��oc��XlA4S
��Zu�O��Yt�1�mk��Т���}Ϗ�2�����&�����8�aY�
������ݯ�3>�1
:Yk��C�3&��� �C������	�3O�7t�HKh�7AV��ѻp��'��]�iJ�F�{)'M�i�mQ��E��{O|G���p��"M��7 ���<�)z�w
q*�+[_����*~�T�Pr�P+x��P��]5���5H	w�@�5p
�m)ǩ���!BKvdv~�薕�[h-
������R����G��Y���mySaOG�������.7Wl
+���5q�ˠ�F��^¥����c�u{w&��2$
���.�C��5��F6�|��������7�IA;�$g��@���)q܄J�g�X!ɑ�fD�  �S��3�
6�}[�I8Ȇm�]s7���n�h�����5�th}8�{l�ϽV�7x� h|��/|���+��3��=�w�	�W�?��gt��!�ڎE���
8 SU@�e^{Re��*Z������]F͝�0�bQ����:1�c�
�V���̫�X�@���d�[
HA�����l��
�����Hy
�������;�a84��uF�
�$7|�p=�.aAi7��~1�`�a�N�D9l�4<Z�al�@��3Tq�P� 6�!��:[���X��8p

mn���01�p9BN |6��b�ad^�y��:$�ށ�cj��2����c��f
���]����q`
0d����UgD5�����VQ%
[�4dh0s����}
 \������kSW�֨���x$�Q>�대a"i����������
W� ��m�&��E�'eG��J�

w���w(�P��:�=
���
@#z?�\

Q�����
����	��U�)L�C���X|
�C�N�G^�Ӗ;7��벂���i2�YZ�26;!��?���40�v�ЯbM	�D�X�m�%1��D潘�>�X�{7S��	�J
pȹb���4T��3��(SJ�!4�	q� K�.�Ɵ�-�-�����4���� ��./
�
�P����w��N;	��C�~9%(���>s�Z�C�
�<�K���F
��~U�͒�Nܬ�q���J�R"k�A����`c)JE7D�;i�8�0�V�=
�W-% �W
#�%%x�@�XoV!���.F�� [...]
+�0����RtGN�Qo`L'ʳLY
+�ޔ#�ڎ
m ���,C(�;�7^��zc)��V���j��x�Ε~uϤ�E����hD�8
���Mc
+`L���k�,M��#E#�k�S�{M
,.m��Cʻ1��h�ilwG���u����Ȃ���	�S�w�
܁?�p�A.��N���I�\��K��ݭ?���&�:��[&P����A7��5�Q\j��}j\�!��
WO���^����}ݫb[͛��
+o ��ƒWMQ�?�e��in�.}��E��y����z�F��
�=.yJA?�˝
+
R����<2�zBڔ

�Iw
1?
k��.u�a_�C@
l���,O֧��%]=ZG�O�)����WLx��C50��L
^uN��sN�v)��|���͑�t�Gj	��|a��yr;߶w�M�8\e��U��)^��ڷ�#G �m��3��{,K
e��^`K�5��⍎�>t.�
YD7�Wo����H���`>�
+�
�;�)@�
��x�{��a}�&~�s
f��ys���xLy>pa�*�O9���a�
+�w
�<���S���c2�e_�y�s�����Zc��v���ϥ;�0�Ư�п	�w�(��NH�
�u��<9�q��Αir'K�c^,$w��5���������u�KX�3u�KX�KX��%�q�@@�����Gp3 at r�]A��
+O/�`�פ��-h��"�p��.�i��{B�e�p�אX�Γ�*�2�xĘ�x]B_� �ҋG�І�e��:l�X�^<J	'k0�w}
S��ұ�m�
�R���N8 at z��>�7�" RO>��ެ��pq�Od��3DY���O�)�h��ƴ��7�����"�K
���f at o�'��
�HK�!g.=�t=�C"X�׶h~?Uj6�ռ���|1C8�� *!�F
����)�/V��[���ϳ~�$J�G�����Ww7 �7dQ�������:�Iۛꞙu
#��B�q�P7� ��_�s"�
+endstream
+endobj
+2499 0 obj <<
+/Type /Page
+/Contents 2500 0 R
+/Resources 2498 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2496 0 R 2497 0 R ]
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 265.405 162.667 275.751]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2501 0 obj <<
+/D [2499 0 R /XYZ 89 770.89 null]
+>> endobj
+2502 0 obj <<
+/D [2499 0 R /XYZ 90 720.814 null]
+>> endobj
+2503 0 obj <<
+/D [2499 0 R /XYZ 90 482.328 null]
+>> endobj
+2383 0 obj <<
+/D [2499 0 R /XYZ 90 333.969 null]
+>> endobj
+2504 0 obj <<
+/D [2499 0 R /XYZ 90 329.485 null]
+>> endobj
+2505 0 obj <<
+/D [2499 0 R /XYZ 90 247.517 null]
+>> endobj
+2506 0 obj <<
+/D [2499 0 R /XYZ 90 184.004 null]
+>> endobj
+2498 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F11 613 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F13 834 0 R /F75 554 0 R /F1 833 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2512 0 obj <<
+/Length 3477      
+/Filter /FlateDecode
+>>
+stream
+x��[ms���_�O�4�pxqi;���%i�s�ә�enh��9�H��sq}w�B%˶��i���X�˳�5�\O�����gϾ6bb��\Oί&�N��DixZL�L3�fsF)�~��'�9Wt�}^]��ׅ����U~���f��ُ�ߝ}u~���Y�y���lr�:{�#�,���	%�f��n�j"�������g4,��-��b@�1"�=LO��)f�D3E�>H�N�"Z�Y�I��$c�BL
��H�ٹ�}�Y#��E��$�b�C��i1Z�M���r�F�����|�)��b�{s�s��7�k]/�n�ESW������M��\զ���g_3�[�(����!Yo�&Z��
NgS�G���dqXS��bST۲��k���u���ɜK�Ø�
$Ȫ ��r	�t�R+�f\O�Rʫ����O~wu[]na���X7��u��ľ|�[yS�,����;?��&o�KP��?��0���oۨ޶Ȕ�-֛b;�
.�e,"~�Br�a�~�*J �
�㪷;x����
�������j䜙��2��r
vl���QS*`=DZ���]y ���Io�'a���"T�hi�`�
+cho6z�`�
tJ���87ĂR��rw��d�ƭ���mX+5
��
�8Y���r��]oЯ#�@����DX�>��7ES�)�&*�<���t6�7�3���	�"K��q�f��s����ğ�|����� �'�F�f��	��ڗ���LL�D�Ly5cj
+-(CYV[�D��_T�]�ֆp�r���GII�[��b2�K��9���l��
�2o��bYlƄ�Zb�ǣ�f�����u�d]W�plu���̽!d�u4�l
 ZO��38v
NL�豧��f�Z��]����`���ZpC���[Kt�bCG�u攂&��������B��]��A��5��V�����n�j�� p�
�6)��MP`�Ayz��j�uS���"��JOWE��R��ʡӟ<6��ֿt(
+z�겮.���ޞ`7���75v�/��L�v�1I�(��V;���M0�R�dznf��#��e
+��I|�p
0Q�1Y7|Z\������C���a�uQ/� 
+�?��a�Xn�٪�uS_7��?$
Ye
�
n��#�b
�&8�!
���f~R�"^^��9�
+lԕCtЊG��p)~
�FnAkQG��L����V�z;�9o��*�|[�Á "žh�
ϐ$�'�Ξ@�{�\�QM�]��6�%0�
+��`	<
1�F��?�3K����ݺ������W��:��%��_FH������BN�O(@��7�|7�F�%��m�� 
=��,�e��l9�j&@��3Ʀ��L/��է�^�ly;���E�C�M�?�nwvcH�O1{ 
"�v��*D�;�J
+�I���j[���8mwR�MB�d�R����V�xpwZ����$�K4�h�}�zd>�A%O3�4�0?
����*P� ,l���;��3�ɮ����&�ۙ
��rb>5�08f��ݤ�q
+�2��EeX�:kpL�3�vTw��a����-��I��A�fY���
+|�L���%B�~9�<)��#��rQB!�KV7����\�l/O%�h��Wxt�#:�0J2'�d��N��M)C��Q���z��
B,"��d�~m�
��� ����t��Z
����[��tG
�b�M@�~
�G�U� >"�=†h,�v at 5��=Cd�����;����Ty��
�A�u��/ꛃ���ʟ�p��pJ�xq6y�pݛ/^��7�?&̊��=Pe��9u^��##e6��+�G�4P)@�6��~��CGT�+8(b��d�c�@ӹ	
��a
�l€*�_6����(�~�;���FSL��  �@ˊ~ƀ�z���~�s��	�����p?� �?��4�L-|�n���26�I/��is�^�����_���^}�����z[. jG��y
+ڪ
�˪\a���<į�}�9���Dt��z
�A^�"eg .�'��^MA�������GUqP*�
D����?�6%S<�bI	8]�ƞ'��$L p�x⠴hA�>��� p�k�!�w��j�
:���k�rL���l.�
+|�נ�����_���F������>�d:ۛ;�>I�i�
P��.S
M^g���
Nq�^8����
0-Z
K�b)F�[2w���iYy�0���h�d�B�����+�%���
;L���#�t�a�Ey�T��C�e}�o������a�KVn���`��4�"1e��s5 �Ij#���_w�zwY���@�nPGg��n� �fB$Ӎ_Y�z����ۆV������#	z����}�
� E�p�
[�f�ӫ������{
.��F�Є���3�B6�m�X�9�\�Sh��P=�C�#���3j����ֶo�!�Zo��$4�
c���c���k�5숵�H-s�������p�ĭᆙ����7��=�r3�c�11���7�@Mh��g�yW�� �.vM��r��c��l?���߫��4�
,�"Ʋ���1~_����c��|��J-�ï/|��|v�K~����W���0$x�#�����:)$x4�]g���O�,$E�^���T�@�Z7�w&R�|)�*��e��}(>�$f��kt��]��ͩ|�S
�9�Z�c�
Q)�U�R��&[y�+)b�[
���@W�}�	T�Po�H9nu��
+-ّ��}�sV6
��0��J [�ôv8�.��+j
���.�PB�U l
+6�"]�U:e����.
�H�C
��©�f�S��@�6z-
���̨�.�ͭ�g���MH}J[rj�.����{�����9��Y�"�yH1���2Z$k�X��Ց~�E�-k�������]
S����EWGԢ��֢�c
+��
������Zt��Zt	x"Ԣc�F:(3v�faB
S��H��$��FS���i�Eg��Gݳ
X���+F��Ma�Hq
�Jai�r�Kf6���j��1�S���p��߾]0"�=�-Ò	���v.���/G7|o9�e��v

YE���p���i�.+Օ���IU��*
�CU:6C`£`��`��a���
�_��&
�J�
+
�:2��&��رQ��:�}�G�i5�&c�.y��{�>���0�)b�T��
���
�Q.v����rC�6

7�^
+Hާ'���A?�0ֲ��w��
+ �t�|���LW��ж=P�n�������X�+
�v_��t�F�T�۶�
��W�1(��+�A69 ;9�'�U�?:��	E��	C��

�Ӛz�=��Kv
�@�5^维�D�!\ȉ��
l�sS4�)5
�U�2�n�oc	N�5_�����
�gF����N�������wKa
+O�����v��ٳ��kŮ�e�ڭS������`1+���0�p�$Vc��D�3
9��x��nD��^�CdzoWb�������
2G�
+endstream
+endobj
+2511 0 obj <<
+/Type /Page
+/Contents 2512 0 R
+/Resources 2510 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2507 0 R 2509 0 R ]
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.949 534.387 162.667 544.733]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2513 0 obj <<
+/D [2511 0 R /XYZ 89 770.89 null]
+>> endobj
+2384 0 obj <<
+/D [2511 0 R /XYZ 90 605.108 null]
+>> endobj
+2514 0 obj <<
+/D [2511 0 R /XYZ 90 600.625 null]
+>> endobj
+2515 0 obj <<
+/D [2511 0 R /XYZ 90 516.499 null]
+>> endobj
+2516 0 obj <<
+/D [2511 0 R /XYZ 90 452.987 null]
+>> endobj
+2517 0 obj <<
+/D [2511 0 R /XYZ 90 214.5 null]
+>> endobj
+2385 0 obj <<
+/D [2511 0 R /XYZ 90 81.969 null]
+>> endobj
+2518 0 obj <<
+/D [2511 0 R /XYZ 90 77.486 null]
+>> endobj
+2510 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F75 554 0 R /F7 795 0 R /F1 833 0 R /F10 765 0 R /F24 529 0 R /F90 758 0 R /F117 2446 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2523 0 obj <<
+/Length 3449      
+/Filter /FlateDecode
+>>
+stream
+x��[ݓ۶��BO�4�`|t��$m�6�S��Ng�d<<���D"Jg���w )��t_�K��#	-
`?~�ܣ��������
��p�����k#&�4ד��$�#3�4<-'淪�~��f"�%,����߾����w���W�?]0��N�_c'�����d	����"��O�h3�\�u=yw��
	�
�@�Ƃ<�E����t�/6�u�/P�������Z�J�;O�6�H���E�o�ٜ6}���O-�5�}�	��)�}�8�rZ�����f�o�(��R��m
'�ͺ�;�0�	G�ߴ�3���z����X6	�D�QB}$���U�7���޽z��׉�MF����o9�FG��)�Uq<���h�ǘXRC�b��?��21+g�Rp���fm��Dz�N̫9�V�2�VD
�;w�b��,���L)���Z�˺�
KŴ&`�:ˈP�9B1�
ʇ�X;�w`�N�����2S����A�-������M�GXҹ��ؿH�<��fY�֍�-�
�ܜ� [...]
+1���wES\5EU��O������/&�
��/߼�7�?D�H4���)��T �;":���5��˶
�ܾh�xv����ϋ��u��U:�l�6����	
=���a�3l�
��SW6d��
�a&��T`��U��wl�� D�4��h�h�֧��$�T�����9V#�#mά&6H�Q<^������t[��
0���n�u��
���;�Û�o����o��Jk��]JK�\�Q}Iܫ΃lʪܔ�)��j�L�a�&G�^p�H�����9\
+—�O׽�F�
ٸv�
�Iu
�m�&'
+�6�
+��qN)��?�U)�!l��7��#6ll�N��T)�y]� ��CeI8�	���	g�A��Z���s�q�[;�
L�y�5p#��,��rvϦ.v��
H|U�䈟>�u�G0j��㺮����M�
o�j�#�x�rײ
Sp���
��hXF� .���?"|ɛ2�Z�¡�Z���!o!d��"w.�=��W5�#�O�Wq�g�HD�d2�1�� �E�J�9���'L2#�Ke�^�h�A�����B5�6 9�(�H�&�)��D�Cf���^�����LIH�
+���#yL��J�a� (ȣ�<׵�ۺڇ�������ks뗯mT�R.���8��3�Z�,<
6�KB�Ħ�X��HR�'�E�:s
�&c��
s�<sXLݧ
=�G(=V��t�ϾG��$
~u^��0ց~�����rt���
�o�!��O7E��>���
�Kl�У!ASl�b�"��C<��o[:�0���Λb] ��n��W��(�g�Ι�WŪv���ۥ�e`p[4@���e�I-k� �]�˻�V�9��
H�=@��W���
D�{{���#м}�=p�-�D��W|�[�
����%���(}�H
٤
)���#%���.�Zߏ��&�ۉT��
�3a�� 28nK)���CW_�V=O�$�����q��V{�w��rʮ�J0�X��.���^�B��G�����/��Η&<
:
�������	޹�π�PIw�
1�P�٠i�
�$

l�1dž(�D�o����^E�S�+Rn�_B��s�H3b��e׎a���4�W�yQ���\�@v� �,�A�{��<I�҇�6&��N>�C<Y�N�3�γ|������Z@��(
"
�� pOY\B� �0��w
��)m�3����3�!�r��ƿi3���Eco�x��K�H�K���K����K�1��O&�y	
��D
+�|�,H��7�S.�Q
��xҾ������8��d��Ƃ� �h!�lћ�����0p���}�eX��H 5�x�s�B�?�����4�C2�Nm�
q�,=���tqӅ�H��m��8�B*��˪�V
!��B:^

ʉe]��T�Jʥ�K��8^s�`'� I{D�t���Ƭ�s�DI�g哤�Ïx�'v"_�Q���
3�EL�#��K�O����'�Sy8�i^�Dg��
6і�����B󃢐��C��T=?������{+ �U�K�1�K�N�z�Q$?�5����!0�ȟ�P#Le�G��g���Ϊ�IT_�צ�K:Ц3U����\�u�M����]�N!�c}��_�����B�d���Г(�.�_��a?_�8��#
+>s���T at L�U���v%��z����J��
��ᖥ��LEqr�"���0�v]���V�[�W�@��?j�ے������7E�2�z���>�P�
Ce *�E]-ַ�����e�P��C3���p�rTZ �L��(��:��3m}y! ��a
��W�X�����>{�p�
+�����z� �`���X(�vdps���ԇ��E���8 ��7��W
+׶������)�mG��E�y�y��O� �?�.m`bz��^�OZ3���\y�P~����P�M���Zt{���[G���W��3�
s�i/��)�؞�;��*]M2�v�U �/B��n+�.���.��a��nk�U�R�q]m�LO
���Bw���n昰gr��f�dZ\����$�͑�o
C���
Ip��3�
����t8�1m�p�����y��C�s4��z��\CE6F�3W�]�
�D�%���1���m<%��(CW��Y�U
�����]�
�ˆa�4~��O�>���*��
+q ��L0(����ׇM3��`z}��J5���ND����?���ʰ^����f�}�|
�����t'��O�)�|�ܹ�u1�û\b��k66�@�@+�kr�Ģ��1q�`�:����uj̹G�$
�>M�X��� p$�ɣ��
�=� �&,�3�yb�}` <3;P���g^��ަ��Dߺ~p�:�v[����_��{}����o
}�r���_����� #Gl\�q|F�:�k�f����#.�m]��i���r~�]?�?��N[���
+����3\��B
�O�~'�!*s���HK�Z����~l�	/���?����n�����Z8V-}�N8�Ľ�N�査���LAd��o��6_�{ԙP����hd���v��}!�c'�_/�����T��o���/�n�wEuM��8H^�2�����A�M��T�~Rum�q���/ ��
+endstream
+endobj
+2522 0 obj <<
+/Type /Page
+/Contents 2523 0 R
+/Resources 2521 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2473 0 R
+/Annots [ 2508 0 R 2519 0 R 2520 0 R ]
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.529 650.542 197.247 660.888]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.529 206.226 197.247 216.572]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2524 0 obj <<
+/D [2522 0 R /XYZ 89 770.89 null]
+>> endobj
+2525 0 obj <<
+/D [2522 0 R /XYZ 90 632.654 null]
+>> endobj
+2526 0 obj <<
+/D [2522 0 R /XYZ 90 569.142 null]
+>> endobj
+2386 0 obj <<
+/D [2522 0 R /XYZ 336.065 288.902 null]
+>> endobj
+2527 0 obj <<
+/D [2522 0 R /XYZ 90 282.262 null]
+>> endobj
+2528 0 obj <<
+/D [2522 0 R /XYZ 90 188.338 null]
+>> endobj
+2521 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F13 834 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2532 0 obj <<
+/Length 3186      
+/Filter /FlateDecode
+>>
+stream
+x��[�s��_��R�3�$/Ӈ��GҴ�N��!���e�'�
+I���뻋(R�d���L�?������4��"
����7W����(c��6�YG��1c�j}�L,��<��g�-�����yuw��
+����f�/�2MT�j���WW����J�,<$հ$�����~��
+���8SYݻA�HK���۫\q�`�ˤ�&�x�A�Q�4c��(�e�4�f!u�7�� Bĭ�k"yv��]���&+�)��2�f�6���
+d"�"�5��{A*��b�'bi��F"�`�I at Q�x&i��mѽ�-�u� +(h��m��:?Q';� a-��N�[\+!�}]V
�GW�~���]ޕ�
v���t��B�8�
����5�n�z���Ӡ�>Ҕ��p&v�YҀ�j;��;t�	��0���_�o���%����\
ވ�ڝ���`�]�B�qY�!Y؁+��m�z�V��;V��^���y�o~*Vlq�a�n����d�rIx�̷�z	�{�r�I�F���aJ�oߌ�4���޳��ҌƼ��C0`ڦa?�6'�G�R�o��4Hd:H4h$E��,
�
��&�����ϩ�O&�`6��T��t���',z8�]M [W�o�{�Yh��]Q�e]y�K���
G��k�R<a]^a�28�RA��"��`�"fV=R�]�
#,��g�E�������XX��E'K�S�;eN�*�(5�|���	��I�̢�HDm�
Q;�Ԇ����6�u�
��P�<��V$d0�~kN[��fc���{���N[�T�/��e [�	b+f����A?�x�>��pb��~,��)�O��>铤�A>�c��+��ε����#~��g����W���&���0�������g��˩�s������
&ϔ7
�(KY�o+�1�HmB$�֡�7%�m&`�u���h��
Oá=���h��0�2!&�A�}fNC�Nq"�GǙ������P,4�IcB,����ր�����#�
��>�5܃���
�n@�ArX�hJz�3��ucX6Y8�,�i[pxŹ?Ll
3�Ng����-�*
�$�Ի*��̺h�Z�Gl�č.�O'f�&aR'�#���\�z
F���2
��&c���+�ؓ�`��9ხ��Y�A at 1Lf�f�tI;$/�$/.�Zi&xzB!3O�}���i�F�
+f�7�U�$�#o!=}K90XH���Rv��d�O�>>Q���c����e�-���ɤM�:�[������aS����k��B84{��	�Rf,��$Ħ��d
��Uf6���%���;*@
B�^3�I�q
9:b�\1@
�Fiw�t�~������#ևj��(a��9�8ކ>�y(��wA�e���\n�g���O���aWNc	��3�����(���yV��^!^Z�C�A6��� D6
���UH�o�C�*Vo��	
T5�Iy�dd�Dm�a����A������'\��p��J`� %�a�q2���!K!�(��c��ɾf1C@�m�09��7ij��"�~I���g��bT��h]���M^��P�� �����)@�@��*](�9�4�����q>��g��}T~��4L�
+��D�
rZ��(8t�#�S��"?�[RNE&���;�I�yJma`�f�K
)1]s9#N1%�����)[R���8�`������gQ�;�'4�2�X�?
�s�
�G��Q�'e:��������D����_8
+|�"S
�VR3��c�;fjo�	�i` ��M��6(��S
D�sB!��Wn� �b���g��Y"~�B1��
�\4 �~��c�b?�%��\�%���z��As�6;�����1$Y�)�ԇ�옉d�#4#d�I�4�
�4Oڦ�2�(F�o����7�sen�
+�PDt�bzaM�8�{S�1%)�����NgTr\��89{5���M�Fo̟℀�Z
���Y��ڸ��E�Y\vԿ+���k����]�vc9e������6�L�$��O	�7���n„��zf�_�&�iē8��2v�O��;�ԇC�iT�@9!�t��H
�nN�P)-���L��{�|fq�Y�e��5�{
��'/����@/�
#
c4�	��"�
\C��/ݼeK��s,�<Ͳ� ����-O,:�����
���d�3'k���r�Y���u�
+
+$E�s��G
��
4l�y٪�]V)���\<���?�c��L��_%t��P�j/��
%�&3��UM�5*Fͮ�
9M��j�Z(�Er�@�Y���:%s[$�'�i�E�<@T���W�gV�jm3�} �P�l���0�4Jd �D	�a�N����#?\oAѠ�g�w��Fi��3���?�XEQ�
���NjXeC�u�dړՐ%�[\�K��T� �ٗQjA�,#�.o�
l1�޼�o�G���P�Q�E�
h� ͓,kQ�|�c^�N��
����5�j�����n �mO^B����4�c
ç,�1�n
�<��@k��,��A(.��b�i
(ԥ
QP�(ԇS(�)���Uٕ���S�p�Î�T4�{,��6ž��>
��rS,�-�Aϊ8���?�)x�
�G.۲*�dp4�[�
+�gld��0z� �;�c����`����)��nC-��0|ˉ
[g�!����o4����t
�j���+������2�;%?�
��6
az�(�����j�$�K��
7�nV�+�w�;Oѡ4ʸ���
Qӯ�-X���p
��^��Ŷ�����S�^PY�N��مÀK8�C����B۰a���3��`-!;l���T����� 	�$�ݖ��m���m�e��=�T�m�[g�p��!<�7��^\�

��?�*/�
�C�``".�Q�ù�R�{���o�����9���;��:Z�
��YCG�����-��(MGM���>����$�N�_���}��jn]�C��A*k|�nr�x���]QM��M{Lh��%,ހ�E��QF�@
��
�>}
�|"�S�� 0�)��՞��	3ّؤ����kj��-��,����˫C�=�w��i{l��`}��m��lD��(��z��*�@]d��u�u�7�_�
�����4<
֑�o�x��!)���3p�+�\�M�e{R�C*I��	��!y�"qU�
��fx�w��r��/j��#��_�`5�
+endstream
+endobj
+2531 0 obj <<
+/Type /Page
+/Contents 2532 0 R
+/Resources 2530 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2529 0 R ]
+>> endobj
+2529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2533 0 obj <<
+/D [2531 0 R /XYZ 89 770.89 null]
+>> endobj
+2534 0 obj <<
+/D [2531 0 R /XYZ 90 720.814 null]
+>> endobj
+2535 0 obj <<
+/D [2531 0 R /XYZ 90 482.328 null]
+>> endobj
+2536 0 obj <<
+/D [2531 0 R /XYZ 90 273.098 null]
+>> endobj
+2321 0 obj <<
+/D [2531 0 R /XYZ 90 249.726 null]
+>> endobj
+2537 0 obj <<
+/D [2531 0 R /XYZ 90 249.726 null]
+>> endobj
+2530 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F11 613 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F13 834 0 R /F75 554 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2558 0 obj <<
+/Length 1609      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�rƂ�7�[������j/IF����$�����.^�
�ǍU�D�.v�}ؚ[��8�e2:>�}+Ei�E���J�)
+#�˭�v8_'�,?J��F@$gO��&gW�;�6:����\X–��C'VV�>�Vӟ,��4�
��
+<��u7�}��(�y���x&)�8�b�Gi����
��l�:>��I��8���ž�h'
�=7�yU�`�a��U�f��t\l�����Bږͫ͹n�Z5SsVu�Q?r��^j�
�jb��n�PS
R兡��6���IC��j�n�P�#i*

+�(
C��ㆊM��#�����LS5(ج!�ʉB[/8�SC-� �eê��&���1G��u
�^�ߖ*��?h���u��~�.
+�'yFU�!g�lj}!Ѝ}RDzeA'�R#Xd�Z�9�bϮ�������d�6a�����T���Ѻc�R4R_�����	������(��Ѫ{��
���
Y���s��r�m9R1�?2x� �A��1�б�~�
+V�3v1��)�X�	������e	r��F|=s�M��ztZ������6iJ��5\HiZa�Q�/��I�g�֎wE��=�+J�7��ټp\�^-h�<'C#7��"��1�#S�K\�8�W
+�-�o����*�Lg[i
�@q{`X�t-����X��q���
�^E����Ce�G��k�
�q�s�!m_��#�	(���
�x^�Ak}
�xM(�(l�̵�n�6!����
�x��(�o% JH�y(
+< 7@�),�¤�z�
�e5��
��
Q!4r`_l����^�[@z��R����ۗ�>��^7$+�O�#�Ȝ
ԶY�)T�N�()�P��ԞQ�ee]P��$�ba��hnPC��eH�V�B��YQ�]f⬅^�ǜ�^����GN>���B#I
ej�0����J�0�����7�
���mⵢ,���=�
�ˉ(��x�lj����9H�Z�S�^}��||�vY��c������jzk��u�o��?!�$����5� �R4l.�~���:�v��Fk��ZOL# [ɷh�������/P��RY��24�̒��G'��<��B�E�o�
���ȣo��Z%"���-�pP�^���f���rOJ�k���7�
 �=���1�
n"B��D
yXN4�&�@��ղ��S��GU�6[9����a���UM����>����Z�X�l%�샢t!M&�̶|��J a.L�۬&�\����4?2��j��T�1̲��(��
+�FYh�w��9Bۼ����ijÃ9�Q:W��_r��S
��v���%q=�(�jmkq�A+�)�]CD����}I��XY׼7T���c��Jy%�_9�~dV�E���NSg��\���=���a�t�X́鳨�D�R����`1�

��y�ܹ��7��;���{l�=��{�a�0����Z��8����X.=q|Q���vc�7
�7�P�M\�%��7����o�N���ji��/8���p��ü+
�c�1���[/���!<\�'
�x��/ދ��O��g�yK�9�Ԯ/
�)\������K�����-o�x_��
+endstream
+endobj
+2557 0 obj <<
+/Type /Page
+/Contents 2558 0 R
+/Resources 2556 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R 2546 0 R 2547 0 R 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2552 0 R 2555 0 R ]
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 508.114 216.873 519.018]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
+>> endobj
+2540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 439.05 180.37 448.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 401.176 170.956 410.022]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 373.18 180.57 382.026]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+2543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 343.126 198.482 354.03]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 316.106 190.183 326.034]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 288.11 210.149 298.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 261.195 168.495 270.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 232.118 192.544 242.046]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+2548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.146 213.018 214.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+2549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 177.207 179.274 186.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 149.211 177.591 158.057]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 120.133 200.833 130.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+2552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.161 185.9 102.065]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+2555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2559 0 obj <<
+/D [2557 0 R /XYZ 89 770.89 null]
+>> endobj
+118 0 obj <<
+/D [2557 0 R /XYZ 90 644.138 null]
+>> endobj
+1575 0 obj <<
+/D [2557 0 R /XYZ 90 607.282 null]
+>> endobj
+122 0 obj <<
+/D [2557 0 R /XYZ 90 607.282 null]
+>> endobj
+2560 0 obj <<
+/D [2557 0 R /XYZ 90 525.16 null]
+>> endobj
+2561 0 obj <<
+/D [2557 0 R /XYZ 90 457.033 null]
+>> endobj
+2556 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2588 0 obj <<
+/Length 1072      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~������Z���}�ۦ�n�z�)�02�	� Q���߯�$�z�dMY?!@���w��� ���`t�`'���
+L��	
#y�w�bw�B����!�$�����=]
+�|����;�B�|$%�+�R}{CWT�x�P�
�x2�q�~�����
�t�͆0
��
�}E`)���1xl'� �|y-����2�>��!�(��?1�c���i��3p7
%�� um^(wDf��i�((S�t���ut9��XZ�e��`x`�C�p��_hR���
�^Z�.��7y͇\�5t���o**���M²��8t�[G$
�~�y��𚳺$gMr��Zv�I�k�|e�hm)��^���LZo����4\�
��Mn�F����U�=PsG~=^�db���[�J`&3\"�&7� M�٩��&+�6��O�y��
�ye2����G��`Ρz��
e:~�2��6R�}��?F�U:�;Kg at R1��s��Є��{bQnv�ς�Ԗ�~;\Y
I���R��۞��R4�
+��j��_����ɖHW�ZRX�6�_P���Q"��g3�5-�$�e�2C�~�\�5�.
.%βd�U�����@� �.,����=�ڨt�i�:�
�X�?ؠ��*I�g�ȗI����Qv�|GX�^�=}��ޓ��|N�t��liC~��T��M�]f{Ϻ5�����8�.�_�w��H��׫&?�>4�'n�QW��mfVK����
Lm�^*N��9���n�F-v�wv�}�E�Пe�۾��x���t�OY���x>#�f�iΈ�$�*s&�AǢ�i$S
w
����拆��#?W?�O����qF�5&��C�b�{���3�����
��1��
ٴYY�!��G�Hj<8�`<�@z%lם
���3vH��o�ȃ��?�7�����%�b�����l�A>�T�ᆡc�]��U��D��صX"՗Bw�K��R[Yh��v��W� ��'_���7M�j4Z����
���^9{8&�c��vJ.�կ��J&-�!�0�<˄$�� �}�c���?n_�̓�U�7\����/�Pvt
+endstream
+endobj
+2587 0 obj <<
+/Type /Page
+/Contents 2588 0 R
+/Resources 2586 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2553 0 R 2554 0 R 2562 0 R 2563 0 R 2564 0 R 2565 0 R 2566 0 R 2567 0 R 2568 0 R 2569 0 R 2570 0 R 2571 0 R 2572 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R 2577 0 R 2578 0 R 2579 0 R 2580 0 R 2581 0 R 2582 0 R 2585 0 R ]
+>> endobj
+2553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 710.014 154.368 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+2554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 679.922 213.595 690.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+2562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 651.887 273.36 662.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+2563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 623.851 220.22 634.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+2564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 595.816 216.365 606.72]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+2565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 567.781 211.912 578.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+2566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 539.745 271.677 550.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+2567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 511.71 216.355 522.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+2568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 483.675 183.698 494.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+2569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 456.616 194.218 466.543]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+2570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 427.604 246.252 438.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+2571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 399.569 235.154 410.473]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+2572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 373.591 156.022 382.438]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 343.498 180.928 354.402]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+2574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 315.463 195.324 326.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 287.428 208.036 298.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+2576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 259.392 247.638 270.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type) >>
+>> endobj
+2577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 231.357 265.052 242.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common) >>
+>> endobj
+2578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.322 247.339 214.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator__Common) >>
+>> endobj
+2579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 175.287 245.117 186.191]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator__Common) >>
+>> endobj
+2580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 147.251 237.934 158.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator__Common) >>
+>> endobj
+2581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 119.216 248.305 130.12]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Integer__Constant__Common) >>
+>> endobj
+2582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.181 279.478 102.085]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant__Common) >>
+>> endobj
+2585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2589 0 obj <<
+/D [2587 0 R /XYZ 89 770.89 null]
+>> endobj
+2586 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2619 0 obj <<
+/Length 1311      
+/Filter /FlateDecode
+>>
+stream
+x��Y[w�6~���p�&�
}�8��Z׍�>4��Q@�9�"9N�}G7|���8N�$!��O�fF#	Y

Y:����� �b7��}k:�bd
z���+�����L?[A?r���d�����|4��������A�<5>t����d����BnG�Z�TX=?�2�&�?:HCAې�h
���n/���繞� \�~(��a�U7D�Nr̘�p��u)�Cd�����g�����IMʄ̆�(h�#s�<��+\�����n��[]��F�)fđjY��ZUj'�B�,A���SU2Z��@:��6@
/��
p{$u4>��[�4�4��k
+�����WS;̫3��u���O%'N�
�C6�L]��YIp
5O
P���ZL��
թ�x�O�Ax�:Ahׄ�F4%b��d�ε�,u�4撯xF���U���L4�CR�Lh��\����o� ��	�X��=B
}��l��$c/�VE�����|
��{���˿Q0��g��	���;_���Y&0�Aw*4�PT�y';*wCzÓ����,%e�3��
+W
y�g�����@���[{� ١�j��,=,_����ޟ�k#v4��4X��n�g5����%�d��:�L�EI��w|d��BC�YCyT���-!�LW�ܽ[�WƾI9�M�tF��\O��l��lIӧ|Ua����Z�<�

a��5h��q��K��_	��z%�"o���k`r��$�c�wsߚ�k�:MTSh�k�h9�o�ɳL
I���˱
8�\�<PT�T
�%�C�6�ѰG�ق�}&��Z�}�[
�����
��G��4qRTTM��l�25�p������:
��%)7��&a�Iɜ=%��*P͍s��{wT�>#��EV
��&��ȷ׊Ϫ��GР�*��RQ���~��x��U�
��ZfƗ��U�n��
��~.��=0�ˢ>���sq��t[j�ľ<��r5�3+�b
�������S,����fo�|�C
?�פVG�Z
R�V	o�w`y;��R�_�bF����/g���^��
p	a��pӣ�@�Q �Y:�-�3>��)�2�xf���M����

�ٚ4w�B���[w�Ty/|
+ *`��
U��
�x��Fk~N~ڻ�_������$�8�Ǯ`^+��Uq|S�-�l����?�ѷƭ������k��
|ٹ]��f�n8�T�aq]���4/����s{��������?������N�~��
+���;�����|�E�u�u�=!� ��_�#o��'�a���%��/''��#��Mh�%nDZ��ۜ
+Z�Ac��c��/�;��
+endstream
+endobj
+2618 0 obj <<
+/Type /Page
+/Contents 2619 0 R
+/Resources 2617 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2583 0 R 2584 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R 2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R 2602 0 R 2603 0 R 2604 0 R 2605 0 R 2606 0 R 2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R 2613 0 R 2616 0 R ]
+>> endobj
+2583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 282.746 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference__Common) >>
+>> endobj
+2584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 681.304 190.901 691.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 653.674 201.601 663.602]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 626.044 217.471 635.972]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+2592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 598.414 219.115 608.342]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+2593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 570.785 220.778 580.712]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+2594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 543.155 201.401 553.083]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+2595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 515.525 202.507 525.453]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+2596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.544 500.061 273.474 509.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+2597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 486.919 209.71 497.823]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 460.266 210.268 470.194]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 432.636 229.087 442.564]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 404.03 235.712 414.934]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 376.4 255.637 387.304]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 349.747 195.872 359.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+>> endobj
+2603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 321.141 247.189 332.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+2604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 294.488 205.835 304.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
+>> endobj
+2605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 267.939 187.005 276.785]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+2606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 240.435 160.373 250.34]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+2607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 229.35 174.034 238.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+2608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 200.639 211.124 210.567]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+2609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 172.033 268.947 182.937]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 144.404 286.66 155.308]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+2611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 116.774 284.429 127.678]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+2612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.845 102.286 197.225 112.191]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 89.144 269.505 100.048]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+2616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2620 0 obj <<
+/D [2618 0 R /XYZ 89 770.89 null]
+>> endobj
+2617 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2656 0 obj <<
+/Length 1180      
+/Filter /FlateDecode
+>>
+stream
+x�͙[s�8���+�[��"�
��I�Nz��ufg'�02ȶ��(�
��WB>���k���!��}�w@��̂����wr
�D>���Ԋ���|q�Z7v��GB{� h�*'������㜦�?�IE�G��=h"9�K�Pu��Ni�Ц�lBA�v8_��z�q�{	3��Դ
B+�{7_����w�(���N���8f֗�_=��U%>\Q���Ah���[��vr�u����$#u�oHs����s�EJ9gS{��#��'
+f񈳢��eE��bm����E4�Ba��J1���>����7��LҦ�X�t�
��� �<e�1D]��P�a���f��[���m���1�0&ڙ��Eְ2c�����>�q�:griݱ���:gj��ftU��f�o�<3�q��[ZB�d��ٞH܋�
��bH�DKnX.c:B�A����5�y�ƝRa���ׄ���S>��v};�ES9�'�_�-�f�����!�4����ׇT��pg~g�H**�g�鍍�	��$I�u���Y��2�A���BT.�UI+��}��I;��PJ_��vx��I��z9p}���hw�����Ȳؚ/��	
���}�I�� 
�w�Z���謃�y�{6�%�S
��eѴ��h�U7D��]!j�L�회�ħ&9�մQ��
�w
�@��/�Uˑ#yS�`9�d4n�(ۯ�=yڋ
F5�vZ,���vx����D�S5�up�{�q�8ޮ(��	_�	ٛn'~uI@�Q˗w�X���q��f���MTI��X�I�5s�� 0�H;nh���i�Sɛj���]�q�k�W�i���ͯ_A*����k�Ga�j�fœ��e+a�=������^���,�c��5���\�#��1�S�.����Ro�kadE���@���,�E�SZo8�79���a��lN�F�F�54�%�	���������Z
;���C|v5���<�
~��F���G�-eQ����ս$c&�v����e`A�{��Ɨ�
V��=w�n0����1��;�f�~�M
���m�Π�V�J@��H���ҷЃwry�jY�! E;N j�/��
e�7˜���x+� ���ŭ֔yӔ��L3�g ���Ŵ�C� Ah��^�H
]:�y�A
�"���}lH��E�Q���y{�<�N.�u���%�S�j�
+endstream
+endobj
+2655 0 obj <<
+/Type /Page
+/Contents 2656 0 R
+/Resources 2654 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2614 0 R 2615 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R 2625 0 R 2626 0 R 2627 0 R 2628 0 R 2629 0 R 2630 0 R 2631 0 R 2632 0 R 2633 0 R 2634 0 R 2635 0 R 2636 0 R 2637 0 R 2638 0 R 2653 0 R ]
+>> endobj
+2614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 293.574 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+2615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 677.907 308.249 688.811]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+2621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 647.857 285.306 658.761]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+2622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 617.807 287.208 628.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+2623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 587.757 177.91 598.661]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog) >>
+>> endobj
+2624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 558.683 216.086 568.611]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Threshold__Watcher) >>
+>> endobj
+2625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 527.656 222.98 538.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+2626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 497.606 205.267 508.51]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+2627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 467.556 203.045 478.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator) >>
+>> endobj
+2628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 437.506 195.862 448.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator) >>
+>> endobj
+2629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 407.456 206.233 418.36]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Integer__Constant) >>
+>> endobj
+2630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 377.406 237.406 388.31]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant) >>
+>> endobj
+2631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 347.356 240.674 358.26]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference) >>
+>> endobj
+2632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 317.306 192.395 328.21]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+2633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 242.439 237.655 253.343]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 212.389 249.819 223.292]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+2635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 182.338 271.408 193.242]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ac3020576e4171dbe16a6979ab672d833) >>
+>> endobj
+2636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 152.288 270.86 163.192]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3bb2c0ddb1b766959ee6149bb52a7e61) >>
+>> endobj
+2637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 122.238 271.408 133.142]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_acbcc9c464e7d910f38ad2534e49ff925) >>
+>> endobj
+2638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.455 92.188 310.472 103.092]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+2653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2657 0 obj <<
+/D [2655 0 R /XYZ 89 770.89 null]
+>> endobj
+2658 0 obj <<
+/D [2655 0 R /XYZ 90 260.512 null]
+>> endobj
+2654 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2748 0 obj <<
+/Length 1738      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�H~�W�P5.��oF�aG� &s-�h�aG!#�lvj�������K�k�����s��[a&(B�v
��zM]�d��L!�.X��lX�a¯��El��o��n�d�2DF;��n⹚
�~�T�R��
��&�ڗo�0��?E֭�pO-����s.�����XQd�����ZOSUYU)v*5��-�E��9adM�=�z�c
+�)7�P�4�lh��WM3�`�/uCQD��l
K��1��BWM1@�j^ĝ�8Ϸ)�jS��2���^0l���WqC�
����
׉>q��(\RŊܶ�Ԓ�%�A?�aГ���z�D�-�:��5C)?@s��m"xɳ翇�� ��>�I�-0�3��1��c�
�\��0�*����	��`��f3L���T1����^*�Kk�c,ow�ػ������p�$Z�k G~��� ��w*���T�@��4%��T�s�K�A�#���]�2�l
7D���n%��X�1vGjLd�u+m>

�K
��+I
��m�#rxD��<[+* �2\����J�	�
��0�:)�����~`�Pk��oȔ����!iY�� �oCV�̯���X�K-E��<��#���V�$[����N�c��H�!ޠ��)�I�<;e�ˤ�Y�"�����vU��L~��V9^���J��*�&�,�&�CS{��n��r�2rG}
+s�����இ]���].�>�!h:�(�A;r<��vW*�Z���7E4�m
��-_5�����E��g(��&��9Z������#ׁ��V>�
+ͷ+a}X	������-?�"���3�� (��e���
:2)��g�����u;m���aq��+{9���ň����v����[��~��~`�#;��v˭KY��e��HP��LN�z2��5U�@<���+)
���Ѵ�r���
>���i�7��G�[�:X��&��O1-!�$�g�
�@v~P��j���j��'�,�I��w[$��o"��3� 
�3t>��z��Ȱ��9�a�zO��HR:� qO��qG��I
�
�q�}�E��$ɴ�94D�;Q�8A@�Y�kUPf�jX��j��z�d���5U��`���=��
+P�I]�E+
+���Pd����V5���	SP��X<���8��N{������֓j��'���WE�3I3���M0�_/�P���U��C�=C�b�
>��fΒ2�g/
��5�,�{w�������.)����"�P��]���B���<
5��H}s�Es:I4�I��KjK�i�7�d8G?W(��+�U
%����R]W
q��h���i�Tn�o6�S����$���߹�2

ˮ���9/�f�ts���
3�_7�kp����r�<+9K��$���u�M��²5�b"���)m�7�@W�,�3`1�a���b\
Z�8�m7�F��=��,������$)�]ot^
m[�j}⸑=`�����v����9V�
�{%?�<*���+�T��N`+�h��f�,/{ޠ҅���/p�uʂ�w��_f�q�i�W��zv�䲘�
<x
rj��#��@��<��ꤷ^P��BGj���b�
+���(U�R��g+�&75����<6��a��]~�YQ�M�L>~'�%�
�9
]�f at lC�����3��G�R��[C*Z�?�/�
-öɎj8NW�9}�I�Ul���Te�Fk�CT�Δ�k�?���
�0��à�������z5��9�A[�α[��4[%v}�
i��uʝ�@y�z��~
+endstream
+endobj
+2747 0 obj <<
+/Type /Page
+/Contents 2748 0 R
+/Resources 2746 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2538 0 R
+/Annots [ 2639 0 R 2640 0 R 2641 0 R 2642 0 R 2643 0 R 2644 0 R 2645 0 R 2646 0 R 2647 0 R 2648 0 R 2649 0 R 2650 0 R 2651 0 R 2652 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2751 0 R 2691 0 R 2692 0 R 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700  [...]
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.199 685.688 193.225 696.219]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
+>> endobj
+2640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.317 685.688 266.297 696.219]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) >>
+>> endobj
+2641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.946 685.688 370.997 696.219]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) >>
+>> endobj
+2642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.646 685.688 467.956 696.219]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd) >>
+>> endobj
+2643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [471.605 685.688 513.996 696.219]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446) >>
+>> endobj
+2644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 660.804 204.739 671.335]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
+>> endobj
+2645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 648.849 168.485 659.38]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98af4fca65e2503d4afea11aa9b9da7d51e) >>
+>> endobj
+2646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 648.849 205.566 659.38]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f) >>
+>> endobj
+2647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.555 648.849 241.541 659.38]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98ae9e9040024adaad2b7a0d9ceea0c8b62) >>
+>> endobj
+2648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.53 648.849 278.622 659.38]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) >>
+>> endobj
+2649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 636.894 148.002 647.424]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) >>
+>> endobj
+2650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.991 636.894 183.977 647.424]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a44ed03f4b908d58ac405493b10be3012) >>
+>> endobj
+2651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 636.894 221.058 647.424]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) >>
+>> endobj
+2652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.047 636.894 264.226 647.424]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 623.965 165.994 634.496]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 612.01 161.84 622.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a3d884f787b884a260970cdef004fcc10) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.829 612.01 192.276 622.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.265 612.01 221.606 622.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.595 612.01 252.042 622.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 600.399 141.357 610.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.346 600.399 170.687 610.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.676 600.399 201.123 610.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.112 600.399 237.646 610.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) >>
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 588.443 183.419 598.63]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8adeb9e65ceecfb8271acec22e00a226ca) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.408 588.443 233.78 598.63]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4) >>
+>> endobj
+2673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.769 588.443 287.469 598.63]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.458 588.443 394.278 598.63]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) >>
+>> endobj
+2675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 576.145 226.577 586.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) >>
+>> endobj
+2676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.566 576.145 342.233 586.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abb38c3a22ea0af9a40c568e55afa897b) >>
+>> endobj
+2677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.222 576.145 450.148 586.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a02347568b111860e1ac15154a1832252) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.136 576.145 488.882 586.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) >>
+>> endobj
+2679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.533 197.815 574.72]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 564.533 263.668 574.72]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6) >>
+>> endobj
+2681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.657 564.533 344.465 574.72]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.454 564.533 421.386 574.72]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) >>
+>> endobj
+2683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 552.578 172.351 562.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) >>
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.34 552.578 263.668 562.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a930a62d56d7231cdb1ed57e1d3eff0f7) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.657 552.578 342.263 562.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.252 552.578 413.655 562.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 540.279 178.996 550.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) >>
+>> endobj
+2688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.499 540.279 334.007 550.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.51 540.279 486.816 550.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) >>
+>> endobj
+2690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.319 540.279 513.996 550.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+2751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 528.324 205.018 538.854]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) >>
+>> endobj
+2691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 500.1 198.094 511.004]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 488.862 187.285 499.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) >>
+>> endobj
+2693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.274 488.862 245.397 499.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.385 488.862 328.405 499.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) >>
+>> endobj
+2695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.884 488.862 441.57 499.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aeafcc7ca16bda73dc6b0f7deaf9470dd) >>
+>> endobj
+2696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 476.563 245.406 487.094]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) >>
+>> endobj
+2697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 448.34 223.927 459.244]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.698 448.34 282.945 459.244]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.934 448.34 321.69 459.244]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 420.49 210.278 431.393]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 408.908 149.656 419.438]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) >>
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.645 408.908 210.538 419.438]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.526 408.908 296.326 419.438]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.314 408.908 379.892 419.438]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea94cf20719046117aece5acba61dcae4d) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 396.953 219.394 407.483]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.383 396.953 283.583 407.483]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.249 368.729 214.715 379.633]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.908 368.729 360.933 379.633]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+2709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.633 368.729 478.426 379.633]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9) >>
+>> endobj
+2710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 368.729 513.996 379.633]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+2752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 357.147 180.102 367.678]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+2711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 328.924 221.336 339.828]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+2712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.107 328.924 303.029 339.828]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) >>
+>> endobj
+2713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.018 328.924 383.816 339.828]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+2714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 301.074 263.698 311.978]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+2715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 289.836 147.454 300.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) >>
+>> endobj
+2716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.443 289.836 188.968 300.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) >>
+>> endobj
+2717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.957 289.836 230.483 300.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdad09cef587030649e808d0e255b83d1ef) >>
+>> endobj
+2718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.471 289.836 271.997 300.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) >>
+>> endobj
+2719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 277.537 157.417 288.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 249.313 298.955 260.217]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+2721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.726 249.313 359.627 260.217]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.616 249.313 484.708 260.217]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.94 221.463 275.823 232.367]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.398 221.463 379.035 232.367]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.426 221.463 500.738 232.367]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [503.129 221.463 513.996 232.367]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+2753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 209.881 227.155 220.412]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 181.658 200.295 192.562]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.066 181.658 242.158 192.562]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13a39adc66b0a3d8cae2a7dc2abc8885c69) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.147 181.658 283.682 192.562]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 142.849 233.381 153.753]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.267 183.419 141.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa0e276f8d715a744e012830a77880eb6c) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.408 131.267 265.322 141.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fad29b7289ecceb32e5c0020885fb8293d) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.311 131.267 352.206 141.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa9a536188402a81d1494837de4269d35d) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.195 131.267 427.464 141.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6faf050a7168b9fa5d10468384bfe007c5a) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 119.312 248.156 129.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fab25413bda9bbd45d2f22366d0e0ef831) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.145 119.312 312.355 129.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa28dca27d7ee1f30dd8b1797aa8f26a2d) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.344 119.312 381.535 129.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa8d3ab7646117632841be76c043efc39b) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 91.462 223.01 101.992]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+2739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.781 91.462 365.066 101.992]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.055 91.462 495.138 101.992]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) >>
+>> endobj
+2745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2749 0 obj <<
+/D [2747 0 R /XYZ 89 770.89 null]
+>> endobj
+2750 0 obj <<
+/D [2747 0 R /XYZ 90 704.286 null]
+>> endobj
+2746 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2811 0 obj <<
+/Length 1576      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6}�W�fJ�U�[��
����҇&$�6�T@Љ��wq�(ْ�FV���	�r��b���Υ���z��z��$pR��~�]8)v�0EQ
oS獛"����
�	v)/h6��حf7Wl�i�*s�o��a�����	ӯ'��>���]$I��;L���^���z{``��m#�
�I�{�;S�~�`�C�T8�@;sN{� w%�qG�cC'!��y�����Ns�x��ʦ0�
�4�NԈ Iܣ��M\^�g��NM���
���ub���`������3���kx<ZY��e3����Ϗ_����)��q�x rEZ��,.u�ztvxt����k���,u�vp� #��Pi!D
̃v��Ѩ?���
��vR5bR�嘷
݊+�o����U��κ�]K�"�E	�#	B6
+G�� Ex��H8�8�r"���lNښ<�G1	֘ӝ�J��+k�+7sv�
)`Y��f�̻T�G~�C4!����&N�hxih������YP����U�2]��/K*���|jX�h	�
+�^��\��sڔrO6�l�9�T�β9g�|'��:�� q����F.�F�����.*���(
]�M�l��TW�=���f"{
��hl�Փ�kH>e��cxk��)�yy��l4z�U3%k<���T5�STSf
�h�K��ԏk�95�T��i˽U�[��
+X��̫�4���;��
v�
�*��(��F�bvӏ"w��g��rZm=�3��Z�fVn��d;�Lڽ$�
(s��w��l}�M
R��ʹ��S�zخ���
�Ve��q��%��@�哉} -&/�*�=b�U��GJ�I�J�	NsQ?{�.���\@�y���ƫ]?�;L�
��ȶ�)���&(���p�)��խp
+o�ƞ��d?�d
\o5�/��Le�;���#��Ec�E~��b���ma�$3抖SH�Ȫ�X`\�'x~�R�@���O4ȥ���p�C�0��R��Aeb����- at a����6҈k)�ƕ�=\���}h����Ƭ&:Z{]�7�ò-�*Èl����2M�F��v�M�I�{����AFe�A����7f��μ�n�7I�[rrE��
�ag�� ���:�h�!tF��ķ�:,-�^�'N60l �����%2�6���
���X��iY2�=�;�̓�m0wʮ� ��d9 X\�j�ò�C���
+!��:���w ����	9��+C��䱑���A^5g�����N�k��]ۘy��֯�ys�~�G�
+�v@�
�&NQL����o�Z��h�8^� y^av�B�ޏjM�ތ����z��֌��?:h����m�s5r�$��-R�6�P����V&]U���-�H����Bu�"^CNLۏj��
+��[��0
��
�g�-(��D�
����6-%k���cn��
�1�~�]�	K�	�R����5t^3��,_�G�llI_�ҍgLA k�^ ��)�i����O��
,�j%
+Q��_	16��K��M���ȑ"��~��QT���Bg�J��~�<F�
�e
@��
F�$*���γ���h:�E༨�����^IƆ
+endstream
+endobj
+2810 0 obj <<
+/Type /Page
+/Contents 2811 0 R
+/Resources 2809 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2741 0 R 2742 0 R 2743 0 R 2813 0 R 2744 0 R 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2808 0 R ]
+>> endobj
+2741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.798 708.331 227.588 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+2742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.879 708.331 375.482 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a53f4353b82f1a10a08b1e756bb7c84ad) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.731 708.331 513.996 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.376 124.76 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.748 696.376 258.148 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05) >>
+>> endobj
+2768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 626.349 179.554 637.253]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 626.349 250.676 637.253]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
+>> endobj
+2770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.376 598.558 232.395 609.462]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6) >>
+>> endobj
+2771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 570.767 229.984 581.671]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) >>
+>> endobj
+2772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 542.975 226.677 553.879]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
+>> endobj
+2773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 515.184 243.822 526.088]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 487.767 170.776 498.297]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) >>
+>> endobj
+2775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 459.975 165.237 470.506]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 432.184 322.077 442.714]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+2777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 404.393 319.317 414.923]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 376.228 179.554 387.132]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 376.228 272.803 387.132]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.56 312.248 222.957 323.152]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.56 286.553 223.515 297.457]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.56 260.858 231.565 271.762]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.56 235.164 216.312 246.068]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) >>
+>> endobj
+2784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.724 209.843 206.897 220.373]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) >>
+>> endobj
+2785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.724 184.148 204.825 194.678]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) >>
+>> endobj
+2786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 121.787 152.551 132.691]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.049 121.787 195.988 132.691]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1755dd7580d51df2976efb2f0275790e) >>
+>> endobj
+2788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.804 121.787 227.26 132.691]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.721 121.787 265.178 132.691]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.546 152.551 122.501]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.049 110.546 191.005 122.501]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga266a81f442cf72bfded10a4ecb79f130) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.82 110.546 222.277 122.501]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.738 110.546 260.194 122.501]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.973 152.551 110.877]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.049 99.973 191.355 110.877]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gae45a5a00d54a1e42ac214eab207d720b) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.171 99.973 222.628 110.877]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.088 99.973 260.545 110.877]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.44 179.121 99.97]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) >>
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.619 89.44 228.097 99.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga95f3cc785d7b89f59b3ca216461c34b0) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.912 89.44 259.369 99.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2812 0 obj <<
+/D [2810 0 R /XYZ 89 770.89 null]
+>> endobj
+2814 0 obj <<
+/D [2810 0 R /XYZ 90 645.291 null]
+>> endobj
+2815 0 obj <<
+/D [2810 0 R /XYZ 90 645.291 null]
+>> endobj
+2816 0 obj <<
+/D [2810 0 R /XYZ 90 615.766 null]
+>> endobj
+2817 0 obj <<
+/D [2810 0 R /XYZ 90 504.601 null]
+>> endobj
+2818 0 obj <<
+/D [2810 0 R /XYZ 90 476.809 null]
+>> endobj
+2819 0 obj <<
+/D [2810 0 R /XYZ 90 449.018 null]
+>> endobj
+2820 0 obj <<
+/D [2810 0 R /XYZ 90 421.227 null]
+>> endobj
+2821 0 obj <<
+/D [2810 0 R /XYZ 90 393.435 null]
+>> endobj
+2822 0 obj <<
+/D [2810 0 R /XYZ 90 327.274 null]
+>> endobj
+2823 0 obj <<
+/D [2810 0 R /XYZ 90 301.768 null]
+>> endobj
+2824 0 obj <<
+/D [2810 0 R /XYZ 90 276.073 null]
+>> endobj
+2825 0 obj <<
+/D [2810 0 R /XYZ 90 250.379 null]
+>> endobj
+2826 0 obj <<
+/D [2810 0 R /XYZ 90 224.684 null]
+>> endobj
+2809 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F24 529 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2886 0 obj <<
+/Length 1742      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�J3��NIl���qd��:
%A6k�������.^4%Q�Hn<�Ŧ ,�a��bwIl\�8i��5:Ǯe��wL��
��#����q��q�k�a9
"�B�������y��5�z���.l)O��èq�#h~o`d��� E�mZ�b\6>5�����
\�D��
�p	A�H _L��ş���鵂�=iWm�q�˲b���l�a�2)n�R(�RC�`�U��$j�:��

+��s�[��vl�m�D�M�61�g�r�G��Eh3�YKL��0���,���i���)�;DŽ���cS�4�cf0Pdy�̀����`�6� ���J;�?�Y�\&�9,mb!�m�A�-�|\�C�J��ms�y�d2	�k�x<I ��u�2�Ba�l�9�U��KD��Y)�^�<Z���xZ�CX4
&�?�?䈓I\nd�f�汅
O!>-כ����g� p�l
+��
%��D,�#���
+�[O�"
�1��0eb�~�8e�uv���Ch���"��55,Ry�5sJ�I�Id������9������.z?;)ԓ��d�RޭQ�Kj
��"�����r�.�8�X��N�q��2����)~h�P:Z�i�+3ܢ���a؋�������
H� 
U�ۺs�h��=$B\M5�sq�߇I�M
e{����[Gy��0T�뙟�0ؿA��
y�"���xbO>�rO�yb#�Z�������Y-sF�Y�Ŗ��A�en�^����p‚�[a
�"([hQ�
�hZ�:փ�(21U$��IZ�qf\�mbC����T�<����\8@�<Iٮ�N���*�����Z�£m�R�0�7!
+Y7|�#&F����6B���m�#�z[=hU�
4���A�����<�_���
�
D)���S�Ґ�G#��%�A�'���8��s�����V�T4�LEwu�a}��|�L
+�}o�<Q�.�Q��LY���C��l1%���j\�
��5��Y1�
�v�D� �����W��"��#8}�6���R�Z��k�^[�ei��O�]b����Ofj&���H:JFleI

��e�U3��l��#�?��럞��
�L)Zɾ+������y�&�
b$��Y�w6E ��3`���n�Z}YwV�P�;i���?/�u�M�ӗ�;��!�~�����36b���z�?ew��Ͻ�}
Y���P��W�7��i8��W^�#��uz�5.�lW���,�6��KK�:e�p��sf���H�5�ķ�rӤg����
�*&\B��Td��h
+�`2 �
<�3]d�e<��
13���W���� R���<���I-D]�E~/���s�CfK�멞�4
+c��0g�?�\Ɗ!�%��O��˷�9V��
�P�@([3�R�U_"FS���E��
̈́�)�oU �J���Z*
ؗL���%Rx�ZuWo�.�"�뜾6-��T?'�������b��epٸ`
+�O�݈�;�$f�
~}�؄��[��v�k�*',~����**��c�!�ǖ��a~#��)fY&��G6b�Wo_v+��@5ղ�����y�f?o���m3��
����
�}s��0��c"״6���"h����˯�F���):�ϢS˨��id���i�6��~�PV}1K�
\Wc��������>��X�K�R]�?
�"P�L8iu�^�8�D
�
w>:”�nK���V�PQZ�n�|�k�3(�3_�a-��'a�G�-��XG�O�U	�`��
0޿O*�O
+endstream
+endobj
+2885 0 obj <<
+/Type /Page
+/Contents 2886 0 R
+/Resources 2884 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R 2806 0 R 2807 0 R 2832 0 R 2833 0 R 2834 0 R 2835 0 R 2836 0 R 2837 0 R 2838 0 R 2839 0 R 2840 0 R 2841 0 R 2842 0 R 2843 0 R 2844 0 R 2845 0 R 2846 0 R 2847 0 R 2848 0 R 2849 0 R 2850 0 R 2851 0 R 2852 0 R 2853 0 R 2854 0 R 2855 0 R 2856 0 R 2857 0 R 2858 0 R 2859 0 R 2860 0 R 2861 0 R 2862 0 R 2863 0 R 2864 0 R 2865 0 R 2866 0 R 2867 0 R 2868 0 R 2869 0 R 2870 0 R 2871 0 R 2872 0 R 2873 0 R 2874 0 R 2875 0 R 2876 0 R 2877 0 R 2883 0 R ]
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 708.331 191.296 718.861]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.794 708.331 251.339 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gac40e401b77b5ec6e9625c317ce6d760d) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.155 708.331 282.612 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 684.679 152.551 695.21]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.049 684.679 236.943 695.21]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga13bf4cf2db045bfd362c5c8aae7f785b) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.759 684.679 268.216 695.21]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+2807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 635.837 275.489 646.741]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) >>
+>> endobj
+2832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.357 610.452 358.139 621.356]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) >>
+>> endobj
+2833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 585.067 257.776 595.971]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
+>> endobj
+2834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.921 559.682 380.884 570.586]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) >>
+>> endobj
+2835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.921 534.297 438.278 545.201]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) >>
+>> endobj
+2836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 485.999 273.816 496.902]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) >>
+>> endobj
+2837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 460.614 217.766 471.518]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) >>
+>> endobj
+2838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 435.229 215.196 446.133]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) >>
+>> endobj
+2839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.938 184.651 384.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.149 373.938 228.088 384.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga984f2c32e934b6510731f6a7faf28296) >>
+>> endobj
+2841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.903 373.938 291.46 384.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.92 373.938 361.477 384.842]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.775 184.651 374.73]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.149 362.775 223.104 374.73]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga5eff576922bf3646f7dd85cb1a05b93c) >>
+>> endobj
+2845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.92 362.775 286.476 374.73]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.937 362.775 356.493 374.73]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 352.279 184.651 363.183]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.149 352.279 215.366 363.183]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga56eb4e32ec57658bc9e7823cd42ecbae) >>
+>> endobj
+2849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.181 352.279 278.738 363.183]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.628 184.651 339.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.149 328.628 226.434 339.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga5d78cb515ce33c9a54c7fd82098d06e1) >>
+>> endobj
+2852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.25 328.628 289.806 339.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 317.798 197.403 328.702]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga6aaca5d438457de4baabe545c7e732f0) >>
+>> endobj
+2854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.219 317.798 260.775 328.702]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 306.969 185.478 317.873]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaef6aa41f2904a20dce16a55ee8073a38) >>
+>> endobj
+2856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.294 306.969 248.85 317.873]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 296.14 200.97 307.044]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga809c78f95611c4b838b4e8f097a03e32) >>
+>> endobj
+2858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.785 296.14 264.342 307.044]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 285.31 221.443 296.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3ccd0ef2cbdc282106525b2f0e734c7e) >>
+>> endobj
+2860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.259 285.31 284.815 296.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 274.481 231.405 285.385]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga62bbf00f3cdb29436772c58f7f2bb67e) >>
+>> endobj
+2862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.221 274.481 294.777 285.385]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 263.651 198.2 274.555]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaad2f9666d98048451c6cfe54e37b16ca) >>
+>> endobj
+2864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.016 263.651 261.572 274.555]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 252.822 203.739 263.726]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga34d9dfd53548ce172ae94462d24f41e6) >>
+>> endobj
+2866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.555 252.822 267.111 263.726]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 241.993 230.857 252.897]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga6f9e36186616092e3affae42fd9728a0) >>
+>> endobj
+2868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.673 241.993 294.229 252.897]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.357 231.163 303.903 242.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2a514a2edd5c272133f56c6cec381142) >>
+>> endobj
+2870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.719 231.163 367.275 242.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+2871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 170.739 231.425 181.643]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7968ac8ddb26250cb705117e6ed23048) >>
+>> endobj
+2872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.815 158.24 474.161 168.146]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 135.133 241.387 146.037]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gafdc6a039a856c60836df918848a21416) >>
+>> endobj
+2874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.815 122.634 474.161 132.539]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 99.526 282.075 110.43]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4c655d3e5468ef60a37ff40ac0f744f6) >>
+>> endobj
+2876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.937 99.526 405.76 110.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.688 76.49 221.033 85.974]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2887 0 obj <<
+/D [2885 0 R /XYZ 89 770.89 null]
+>> endobj
+2888 0 obj <<
+/D [2885 0 R /XYZ 90 650.786 null]
+>> endobj
+2889 0 obj <<
+/D [2885 0 R /XYZ 90 625.59 null]
+>> endobj
+2890 0 obj <<
+/D [2885 0 R /XYZ 90 600.205 null]
+>> endobj
+2891 0 obj <<
+/D [2885 0 R /XYZ 90 574.82 null]
+>> endobj
+2892 0 obj <<
+/D [2885 0 R /XYZ 90 549.435 null]
+>> endobj
+2893 0 obj <<
+/D [2885 0 R /XYZ 90 501.136 null]
+>> endobj
+2894 0 obj <<
+/D [2885 0 R /XYZ 90 475.751 null]
+>> endobj
+2884 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2935 0 obj <<
+/Length 1642      
+/Filter /FlateDecode
+>>
+stream
+x��]o�6���+t�I@͐%J�0`��b]x����� �L�Ŗ\IN���
~ɲ�8v�X�+ч�y�><-�\:�y�{1�
���8��3�pb�p� �_�܍��c�<�ݴ������-f7S1)��]6*����� �'�\T�t,��Sq!J�D�ȥ��8bnL�÷�W���
�a`����G�x�;���	��:�q�|RNs�Q�3��G���LBܚ	!
�Ђ�ѳyOi�nn��6
�
�&B,��B9�b�����
�^�qˏr�Xl
�
k=�(�¦����!2:(��WÎ><�M~n�\ͨ���Ӈ	�A��FE133�q,/M at O����c��E�^x4p�cL�G��WY~�\,�q�yr|�е����x\�U�ԸUųE%�d$.�R<���w�_zQ�v��6P�>�7"eZ��d�͗0.�V�Z�؇5�Ð)0D@�}�#j�<�b�r�婜:
3$��j�!v?e�T۠����f�p���Z:]����Ԙ���
����Z�E^k��B;�S�
sQO��6�n��XTyZz>wME�O�U�0*ֳ9�I��%Ϯn���������؈����h��R2-;��
+ҵ�Բ�����n�*��K�-���k=KF����d`�[�\7��u�%���
Y�dPF�a�U+�/��C�p!�����B�*�Pw��Ɩ
Y�\���ۉnnI�a�=���_<�(���dM��&j��6�
��
~'�{e�nԏ����z|�'�.n��q�V�^H6o"3�@�]���NJT1.E*5��d���R�nT,�$߂ʗ�|�
+aE���կ2F�
�A�Id�-*���-�j�B�[Te?��v�ںa3�U(+T���j�\�����C2Jà�Q��ٞ�P��~T
�}T���L(����3~�ޝ
�����Oh?�3y�z���Ƕdpz�K��zf�g�����9��y|&��uc�>�[��
�*90g��4�gjR^��D̪�L[M�ތ��X3�oq��� J�$ʖ(;ʝ�l%0��S��E�;E��[e�IK�|%c���)�A���k�
0�y:����b\˩�+��ձ�4*�mC��J�K�w�
=8������_�k��T��Ϫ��ʹ�g�����>���;U>��^��N
�eK��X�ˊ�S7�� k7��?u
��/�ð�dolv�
L[�@�
��������܃��
Ti����Fn���g���C���NN����\dB���)=j؞(t���uX�~Ya����Atq�~Lf�~�L�$�����Leޒdƺ3S���T�Ce*���ɋZ�5EX婾�rs����"7-�t�qw&�[�s��1?�";�-�a����;�4�������j4�e�{s�h��&�t�#b}4���d����,
<��
�a�29�k�S$cu����Ϯ ݢ�~���'����Qd�Uo���
+9��c�0
+�/;�ĸ^߈7?$
)����C2���j���(�ͳ�Ц���.�Y��/�J�>N�e:�\��UVͨ	RX"��<����}�����k���k
�E�BN�z����hyY���zl'��<b�y�] g�=a�ԥ,W���"�I��c�	
+Cj#��ha�9U
��
��跹��Z@�W����
+
+endstream
+endobj
+2934 0 obj <<
+/Type /Page
+/Contents 2935 0 R
+/Resources 2933 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2878 0 R 2879 0 R 2880 0 R 2881 0 R 2882 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R 2919 0 R 2920 0 R 2921 0 R 2922 0 R 2923 0 R 2924 0 R 2925 0 R 2926 0 R 2927 0 R 2937 0 R 2928 0 R 2929 0 R 2930 0 R 2931 0 R 2932 0 R ]
+>> endobj
+2878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.58 696.002 293.319 706.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7e927a18b0f68715e9721e7f62e82b38) >>
+>> endobj
+2879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 684.42 166.918 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.688 660.573 221.033 670.057]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 636.606 281.327 647.51]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4fcd1fb98a48b131a0448fb694cb9504) >>
+>> endobj
+2882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.19 636.606 422.746 647.51]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.087 613.132 205.432 622.616]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.484 589.165 292.675 600.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3895a522ff33b50d1540541ef2fcd9e9) >>
+>> endobj
+2898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 577.21 184.651 588.114]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.087 553.736 205.432 563.22]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.756 529.769 307.996 540.673]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga60f87e33c0dde9f5c2c7d3b4b78818ab) >>
+>> endobj
+2901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.644 529.769 452.2 540.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.916 517.814 229.473 528.718]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.379 494.34 236.725 503.824]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.244 470.373 317.447 481.277]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga470bfc567789301bfdc28fd70ed82f92) >>
+>> endobj
+2905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.929 458.418 207.485 469.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.137 458.418 367.693 469.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+2907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.379 434.944 236.725 444.428]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 410.978 229.213 421.881]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga46ae7a59153f96588076702dc876c4aa) >>
+>> endobj
+2909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.86 397.045 240.042 406.95]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7968ac8ddb26250cb705117e6ed23048) >>
+>> endobj
+2910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.45 397.045 465.796 406.95]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 372.503 239.176 383.407]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3e0617011cb5b87be0b1d614fbcfbe7d) >>
+>> endobj
+2912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.043 358.571 249.191 368.476]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gafdc6a039a856c60836df918848a21416) >>
+>> endobj
+2913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.137 348.033 219.483 357.517]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 323.07 279.863 333.974]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga899c609558397160b3227c19d6ccc82d) >>
+>> endobj
+2915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.725 323.07 403.548 333.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.86 309.137 284.569 319.042]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4c655d3e5468ef60a37ff40ac0f744f6) >>
+>> endobj
+2917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.977 309.137 510.323 319.042]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.886 284.596 291.413 295.499]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2173e32c6bc6800c0d43b2a92ad49fb6) >>
+>> endobj
+2919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.014 166.918 283.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+2920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.424 258.708 293.1 268.613]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga7e927a18b0f68715e9721e7f62e82b38) >>
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.491 247.749 256.836 257.654]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 223.207 279.116 234.111]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga233295f67896774a4fa42920a4b8522b) >>
+>> endobj
+2923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.978 223.207 434.92 234.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.86 209.274 284.578 219.18]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga4fcd1fb98a48b131a0448fb694cb9504) >>
+>> endobj
+2925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.986 209.274 510.332 219.18]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145 184.733 288.979 195.637]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gab5cd24a1e332f51c649d05482bc7c90a) >>
+>> endobj
+2927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.493 184.733 513.996 195.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 172.778 191.844 183.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+2928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.423 158.845 293.108 168.75]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga3895a522ff33b50d1540541ef2fcd9e9) >>
+>> endobj
+2929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.491 147.886 256.836 157.791]
+/A << /S /GoTo /D (index_BMPZ10) >>
+>> endobj
+2930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 91.727 182.234 102.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
+>> endobj
+2931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.892 91.727 358.581 102.631]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2936 0 obj <<
+/D [2934 0 R /XYZ 89 770.89 null]
+>> endobj
+2938 0 obj <<
+/D [2934 0 R /XYZ 90 111.337 null]
+>> endobj
+2933 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F90 758 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2949 0 obj <<
+/Length 1557      
+/Filter /FlateDecode
+>>
+stream
+x��Xms�8�ί�g�"�������h��t�&�0D⩱�mzͿ�՛1!��N�W��zv����ظ3��u2n
�����1^!6|'D���qk���2�`�^�H��&1{z5w�k���
�
Z^a���.�c�l�~��
�?�a`�#-
���L����VP0�.�C]��A�(\d�M0��+�8as�Mi �b�ǫ2�ROpt���a�M
��P��3��b��e�+9��y�?�A\��,K?cLSq
��L=���4Z�b�� �,k�0l��ݘE�Yc�	������,����/zb��Mۄ��[e]e��\Q�~�\��`-��(_F��E��%��l�G���N�s����"��J6�~_I�( ��"N����VgDp O즳l�
+�W��\���E�Y���Y�5�ty��=��l�l۞�͢�%k~��:�Ky���Yg���飜.��U���l�D�
�iQF�L��R�n��k����l�FYʤ�l�Q^�(�S�i��m;5O�|=�Z�<*�|˥`ػ�vs��_7?��M15O���ѽ���c���=U�R�y��ӻ�0���"VWwh#!6�W�<�
/�i�&#�`9�k(۰���sn�o�0P�������6��}�ز?�b��z(n�v���i��H�˜��Y#.
CA\>
�Z�橘-�S^3�l9e��
+�v�^P�a�G琞7�y^�F~ߡ�GPl��.
+}_/��%
��Eop�r�;�zء�:~=M�7I�'Wß˒�|LEPT�ԑ98g{��go'MWI�ZS�v0��P�HM�Z�V
+�q-��H�P�uޱ�.��㳳w���͉�.o�J:�}�
e*i��Q��4��xp�ū�����������;��U���z�$��7���kx�?ϫ�H+��q�i��UJ�|f�|M+>�'8���)�i%Z�M��&�6Bӊ'�a��Z���7����+����t̻��к�s����Ϸvv��1y�J�
+��`J�X�N��&QQl�ى��^]�m�*h���YU� �;��V$%��� ��5<�M��O�����򸿏���bo
+ЈqBr'C�W
X�Z'�\ج��
G
�۠�Jy�x��V�{&��yo���
$DIo ˼w�������L3X0>.
�>�����@�9�]1(+�_��B��

�as`���cVn��Cb��͞�� ��m#h������{7bɎD�VW�4n�hҽ
�g
�p����3�
�,8c�|���/�E
�M��q66Dc�>���0�|���׽.D�l�-WQ7�O԰��
+Ez���BR��}���oQ�6H8Mޏ_p?�U
y���Է�̐��f
�����9��@'gC��6ȁ��'tҽݛ#q=��+�ū7�登�� Dž��t
'ɞ$�x<(�6��z:I��?������P��}�z���S�.��z��8�-m�,eum���(~�P8��Q�r�'j����pؗ�M���,�5�_.��-���ŲO�
ـ�$A���5�?m$��싖��P��:�u���}Y�:GG��
�w(�4���!$���BSs��U�����ݤ��
+endstream
+endobj
+2948 0 obj <<
+/Type /Page
+/Contents 2949 0 R
+/Resources 2947 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2939 0 R 2940 0 R 2941 0 R 2942 0 R 2943 0 R 2944 0 R 2945 0 R 2946 0 R ]
+>> endobj
+2939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.007 584.672 511.506 595.576]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+2940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 572.717 156.281 583.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator) >>
+>> endobj
+2941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.792 572.717 218.886 583.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator) >>
+>> endobj
+2942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.396 572.717 291.861 583.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Integer__Constant) >>
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.372 572.717 396.009 583.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.712 572.717 513.617 583.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference) >>
+>> endobj
+2945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.989 560.762 229.488 571.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+2946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2950 0 obj <<
+/D [2948 0 R /XYZ 89 770.89 null]
+>> endobj
+2951 0 obj <<
+/D [2948 0 R /XYZ 90 721.073 null]
+>> endobj
+2952 0 obj <<
+/D [2948 0 R /XYZ 90 667.754 null]
+>> endobj
+2659 0 obj <<
+/D [2948 0 R /XYZ 90 643.084 null]
+>> endobj
+2953 0 obj <<
+/D [2948 0 R /XYZ 90 643.084 null]
+>> endobj
+2660 0 obj <<
+/D [2948 0 R /XYZ 239.495 551.959 null]
+>> endobj
+2954 0 obj <<
+/D [2948 0 R /XYZ 90 545.942 null]
+>> endobj
+2661 0 obj <<
+/D [2948 0 R /XYZ 284.469 478.165 null]
+>> endobj
+2955 0 obj <<
+/D [2948 0 R /XYZ 90 472.242 null]
+>> endobj
+2956 0 obj <<
+/D [2948 0 R /XYZ 90 397.698 null]
+>> endobj
+2754 0 obj <<
+/D [2948 0 R /XYZ 90 373.029 null]
+>> endobj
+2957 0 obj <<
+/D [2948 0 R /XYZ 90 373.029 null]
+>> endobj
+2755 0 obj <<
+/D [2948 0 R /XYZ 107.713 319.165 null]
+>> endobj
+2756 0 obj <<
+/D [2948 0 R /XYZ 107.713 302.38 null]
+>> endobj
+2757 0 obj <<
+/D [2948 0 R /XYZ 107.713 285.595 null]
+>> endobj
+2758 0 obj <<
+/D [2948 0 R /XYZ 107.713 268.81 null]
+>> endobj
+2759 0 obj <<
+/D [2948 0 R /XYZ 90 256.365 null]
+>> endobj
+2958 0 obj <<
+/D [2948 0 R /XYZ 90 251.882 null]
+>> endobj
+2760 0 obj <<
+/D [2948 0 R /XYZ 107.713 197.137 null]
+>> endobj
+2761 0 obj <<
+/D [2948 0 R /XYZ 107.713 180.352 null]
+>> endobj
+2762 0 obj <<
+/D [2948 0 R /XYZ 107.713 163.567 null]
+>> endobj
+2763 0 obj <<
+/D [2948 0 R /XYZ 107.713 146.782 null]
+>> endobj
+2764 0 obj <<
+/D [2948 0 R /XYZ 107.713 129.998 null]
+>> endobj
+2765 0 obj <<
+/D [2948 0 R /XYZ 107.713 113.213 null]
+>> endobj
+2766 0 obj <<
+/D [2948 0 R /XYZ 107.713 96.428 null]
+>> endobj
+2767 0 obj <<
+/D [2948 0 R /XYZ 107.713 79.643 null]
+>> endobj
+2947 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F112 1773 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2965 0 obj <<
+/Length 2696      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[s۶~����)5�h x�[N[w�[�ę�L���dsB�
+/qs~��p��R�D}"���
|�-�л�B����\\^%�˂,��w����K�,�1�V�;?
�lN�0�_�H���&_���Я�/�b��ߊ�&o�<~�r�r+����v6�<���7���K�?_��hf$�E%��1�36�p���O7�.�
+=���A�z��Ż��B�/^�,�
T��Q�g齹��"4�	��|��A�;:BB��H��]�ղ+�
+�����^�Qu�*�N�@ќF���Ā�˺j;-p9K�����.�h4�)��ɡ(�Ð�F��	�
m0�����̑,���1���=di6���LѐI�)IIL�bF��!�v��4�D�0 �����z��橏�v�W֓���!g�P�F
�]^�c�sµ`�
H�h��E�7�Y��~,�|�)�l����LU��QT�wwo���W��c
�~ ���$A�E��ݨ��a0}��3����J�����5�l�%
+�ۺ��։nZ'J>�ޢi���,�l��RT-�u+�_�ˏ�I�6**)拮~Л�ɫ~�ϻ�3ʭ�Y�φA� �f�ZI�?|��|a��Ͷ(�xQܷb�ߺZ��Jd��k
�+���ܗ�8��w��Fl�
�kuM^�C/6�*���~�T�u�@�1r�@�+ �V-f�EA�1
X-*�6pL�/���t�"18^���<a
�
����I�k�����~�l�8��bǮKS��b)���	�)���(O�|��ʋJ����r
���H
g0�E�wEUBƇ� G�1�� �g/�B�;��qf
�#��eV�4�Ș�po��wAqOk
+;�L���V�ߜ0� 8�.�R?���/��Sm}Y0V�j4$��v%0iUt������@��Wn��tB�r�#g�'h�G��+ѶSh�b9&�0��\��g	�yQ淥x
Ҍ}�����,�.V��t$��4	"�M�$�
�DQ�<
n0IIB�a%��k��6��&
����
�r
$�§�z^N�_� 6g�� 2�q�{ۈe��VCM��15�A
�*�b��	���
+ �vGo'�)R���$~���>
�h$
�K<�
߈�ݣ[���O����xӡ]/4���/UQ��hL�вĶ��oE� �QZ!QPI�!��ѹU�)�]���e�j�V���I'2	�aFƩ�.=pfX��əP
dXᦁ�d�XCF\L�^O�G�vJ|D� ~�B��L��
�.�
Lh$#���?n���kB1�I
��3����r�n�i��D�x�Hj����
�X�-9�~�{)��(Gұg�H��w�b���:H'���Y$�i���.9	��gB�+��I�E�~#��
�4�
+i��
I���
���JRL�v�!@��ϋJ�G��X-�X�ߩ�����Q���#��
�e�
�
+A�:1�إ�d��Ho��<Xf3"Eh$OF��F��FU at 2A�eM���ip���oYm��D��"��׾E�?���Lf0�kF_�5�,IP��5
���5�`�ᚎ���0�pMǂFf!u_�������=�XH��{
X+�͡bF�Y�
Z���^
�=&���2{Z*
'A�.z��~i����M�2
�z ��رa~�v��qG3n�X�"I`
*bUlk}���議��*ǭ��6wo@��R��
�t�o�[�ȤU@���j���
�DYu�2�Q��"ͻb�$v���ؘ*-����}��be�ՕU�㉎�^sg��/�w��-X�X��-�S�7�wa�"���!��������C�:�,���(2X���t8�W'�Qz�(J�Ӂ��M��9��N��	#�8��_�0"�ĵb;�4���Y�f<�|o�r�O�%�d�C)#�}��J�0�8�D��Q�4�L1޽���N�)�n�k������!��C�=r%�@�e����
�\a+K�ɟ,֒�o�%���B�H�u�s�ΐ0:�4��k����LTo�V�i�l�e�rR|<܋j�s�\f
L� ���X7�FW� 0/
��
+{��M
�[�&�UmJ��\�	��PG
(����‘j�+�/%���`W��͋�N�T��g6�xzb}"���n�\��>
+��X���#ǧ��}"*A�tX�
��h��a%�o�w�q(7h1̍��?mP;
x������!}Kiԡ�>8'�w��7��U���a1��>$�i�' �L��
�'23J����*#Y��+9�	4
�k��_Nݔ� ��Y
�<�HM
�
rZ
)�?u��X�_4꟎��/����Y�/��B7��p���J��Ir
�˺R�l��Vme-|�-����7�X�:N�2���I}�S��77C}d~!8����C�oN�A#:N��{�z,V���m���
dZ��3�w'��O����Jl�{� r����yeȴ<��\0�
h�n!I��՝�o��(Þ��Q� ��oƠ-��H�Jl.&��PW�J�ۮ(�΀�8�����A�
D��,�ִ{A�uv���)iL������d��vc�'5I��t�za� ߶��N�7b��=���r���O
�i��P��o�݅�菞}��B1���r�"|�6�����������p���<G�� [...]
+endstream
+endobj
+2964 0 obj <<
+/Type /Page
+/Contents 2965 0 R
+/Resources 2963 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2959 0 R 2973 0 R 2960 0 R 2961 0 R 2962 0 R ]
+>> endobj
+2959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 348.133 513.996 359.037]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 336.178 155.753 347.082]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.473 232.804 424.869 243.707]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) >>
+>> endobj
+2961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.932 103.659 206.516 114.563]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) >>
+>> endobj
+2962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2966 0 obj <<
+/D [2964 0 R /XYZ 89 770.89 null]
+>> endobj
+2967 0 obj <<
+/D [2964 0 R /XYZ 90 721.073 null]
+>> endobj
+2831 0 obj <<
+/D [2964 0 R /XYZ 90 704.201 null]
+>> endobj
+2968 0 obj <<
+/D [2964 0 R /XYZ 90 704.201 null]
+>> endobj
+2895 0 obj <<
+/D [2964 0 R /XYZ 90 623.119 null]
+>> endobj
+2969 0 obj <<
+/D [2964 0 R /XYZ 90 618.636 null]
+>> endobj
+2828 0 obj <<
+/D [2964 0 R /XYZ 199.727 549.324 null]
+>> endobj
+2970 0 obj <<
+/D [2964 0 R /XYZ 90 544.741 null]
+>> endobj
+2971 0 obj <<
+/D [2964 0 R /XYZ 90 448.685 null]
+>> endobj
+2829 0 obj <<
+/D [2964 0 R /XYZ 90 413.125 null]
+>> endobj
+2972 0 obj <<
+/D [2964 0 R /XYZ 90 408.642 null]
+>> endobj
+2830 0 obj <<
+/D [2964 0 R /XYZ 267.991 339.331 null]
+>> endobj
+2974 0 obj <<
+/D [2964 0 R /XYZ 90 332.691 null]
+>> endobj
+1576 0 obj <<
+/D [2964 0 R /XYZ 487.773 224.001 null]
+>> endobj
+126 0 obj <<
+/D [2964 0 R /XYZ 90 205.941 null]
+>> endobj
+2975 0 obj <<
+/D [2964 0 R /XYZ 90 123.245 null]
+>> endobj
+2963 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F24 529 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2981 0 obj <<
+/Length 2451      
+/Filter /FlateDecode
+>>
+stream
+xڵZ�s��_��C*M, 	�t��i/����ٽs�.7
��-N(R�G]�����X�"e���ꃆ�\�.~�@|v;㳿
�����f	K"�.of	��0a*��j�y���/�?͂(f"�`�m}{����������ˣߎt����x�m�>�4�4�,H�ٝ
���2�o1�t�#�X�L*,��1�ƌ	��p|1��b)8��L��Y-�R�Pk�:߶yUZ��'�!=>[ʐaB��\�e �</�]{��k�D����i[�
U��@�'�*�\��6v�����
-Ӎi�if�b�����_��JC-M?;u�k�P�_�i}���R�fȨ��$%J�DC�y��W�˪���lM}cH�h~��kѮ��5����kLMM��v�(�-Pe�Un!C*A�u2?+�����c�J��s�P����֕E�+7��iƥ�B���������
+A4?;9ǂ�uA�w9n6�7
�mVRl*�Y5�V�PSJլ�Mٺ��ȳAƈ��z
!�
����i�:�b╻G�-x
Nv��3��
 �pq�
+$��C��(LYu�nv���1mrԭ�w
����,3M㖪�%7� �u�W0X�W����ͦ�*�M��
����1���#��}9SP��Jŏh�Z�"�� F�Ӂ�
X�%�k��v�����F+�>�΋�ޤWUq�6�:�zOuzzv~u�-�{���'�����X�
AI��X�hMw��"�2'�WӦjZ*�
5N�g���۔U�H�RG3o;�Ʊ_ă m�C�bM;����Q:ګO�Mk6ߒ�����c�{�[
+y���_��Yî�m^b~���`�\�q��,���8?ګM���[ڣ7;��d��<v�s& x��t��?�2}C{,��RgQ�|t+i�Ho!��|���9ʀ�i%�:C-ٱ
a���1j-
�0������;��:�k��鵷z�Z
[`V��F~�ϥ���]���9=,_b����
�-슨ԘQ2���	�:�l���r��
��b�g����XV{�7֓ZF�?���SӔz�D�mB
C�uz��z�p�@��:�
3���ws�U��%Y�%Y�2�9%YU�m �Ҭ�*�i���'nM�:=k�.\�0/C�����H�5��1�R<�]J��I�_>�$!�e\Ŗ����\,9���s��C f���!X��{,��xn��1俎��2�L�ј�)T��N��B8	��L
+��ᘉ!
��c�,\���@���B7�k��a7�r��4��/��x�P�L�hJ�cbqlq`L�v�r��l�[L`'dШ��R9�0�8�`(A��ԫD�`�ԖV$\�m���H&`W���
y�=
����{�O�"�L at 7�G�`�Vc8l&����Ix���YY�h�"/�IJ膕>̲෬���5���.�R>{�gnc
+��lc¦��9�
�R��H2
�)E~�07|�6br���T6����s�y�2��] 
�/�!��-9E<���SWi�qS�r?�D���U��'��*���GL�!���܆�G��)�{���(`�Ɠ�I��Q������)�`Ɵ�
+��ӏ�R`
^�	3
�@3d���yv�B�Ou'�& ��,� *"��!�X���k���'�>4Cy]���#u�Iɀ�eOˤ���+dz
p�K���CS$�aҨ�a�!��<�h$Ì����g��u
M�k�P�/�,ݹ?��� �b&�^
|*8$`M� ��K<-:
��U�$��Ԓ��oE�dn �����eR���(*8�:g�Wh�W���U��J�i�
��A�	
%/䥈�G���_�������T���e
���h*��!���aAG�7��@"9�
2�
��1>
�!�
����{�'߮}
+�Ui���
�(�d
zx������)>�
�s8zH���y�G�vu9����6D#�
3<���6��[My{�ꎀ+��N3
��e2-��i
v�lti�apE
Տp^��M�w�:�R�}h6mZ��ڱ�����h��[Gn�5����C<�J�XU#V�g5
=�R���w�4��o����+YU�!n�Q>�_a�[k�� ���Z�i���r���+�z�{:M�ዪ{�M�3omSӳ��=���n���3S�~޳����-�ȯqM6$�,�/x�u���kG����1���,`v�;�E�:܌u�j��Rtj1��ͶH[C�fk�<-��鈴p�0��-
a3����*Y�6n^Oڿ�
/H{��/>���yd����#O
�Pǃ�>
�V�2�w�
^\��}&�N�C�!i<����f*���

�\K�9,�N?�5��m��ۑ[�厠l1�$
+��	��/:v
���� /����=-���QJq���O����h��x�E|�ڳ�7zl�GW�n��m�==9��n�,�6=�nrB�Hn��u��(��?�6�h d�
+endstream
+endobj
+2980 0 obj <<
+/Type /Page
+/Contents 2981 0 R
+/Resources 2979 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2827 0 R
+/Annots [ 2977 0 R 2978 0 R ]
+>> endobj
+2977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.669 529.424 211.204 540.328]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
+>> endobj
+2978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2982 0 obj <<
+/D [2980 0 R /XYZ 89 770.89 null]
+>> endobj
+2983 0 obj <<
+/D [2980 0 R /XYZ 90 721.073 null]
+>> endobj
+2984 0 obj <<
+/D [2980 0 R /XYZ 90 469.728 null]
+>> endobj
+2976 0 obj <<
+/D [2980 0 R /XYZ 90 445.961 null]
+>> endobj
+2985 0 obj <<
+/D [2980 0 R /XYZ 90 445.961 null]
+>> endobj
+2986 0 obj <<
+/D [2980 0 R /XYZ 90 375.415 null]
+>> endobj
+1577 0 obj <<
+/D [2980 0 R /XYZ 90 224.782 null]
+>> endobj
+130 0 obj <<
+/D [2980 0 R /XYZ 90 219.995 null]
+>> endobj
+2987 0 obj <<
+/D [2980 0 R /XYZ 90 160.811 null]
+>> endobj
+2979 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F13 834 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+2993 0 obj <<
+/Length 1558      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�6~��������.*����[���(�N�I�+)k�_�Ë.��4Yl��b�u���}<$�."
=�=:��<MX��TR�m�G	O���o
��	�/����"k�|R��J�m�6���#��8��g/f?��>���q�JT�*go��h
�/"�X��OvPq��YDof��?�i

,�
��ạ�0�r��u�j�d���S9��(��4Z�3�=�԰
)���k��jND�g�֍��qۍivz�gE�ź�q���=�Q+�6ۧ�]�9t�t1C9G�H�iql��u��P�e�6n| ^%�Q��Z?���v�MU�+Yт1�K`��B�O�"�aLWZ�v3�?��VM�\����W�y��h*7�Ne��5�ƳWK7�8�\
�¢�_�|p~:\���&�c����9"��|���fk
%iڍD&w��z�
�!���0R��N��6>�����v�Z�.ȅ^���o*C�q�q
����(�����K��\#߶���aI�ʿ3�h�&$�X��F at +�)��'-H��Q�BP���
�
�jO�
��:�N���q%:ӈx��9�qV�١�A��������!�kJ�# D�Av�-��
+�sF� 7�חz]�@1E��I0P
�MD��e~^g@'_��>��j��8�s^f��$.�!,`$A˦�ň@$�!����ֵ�ڼ�Џ� x9N�=��`gzA�e�5����ڮj��������u��
ajm�C���
O��ŦGfhQuT+}O~���
+����/�G�]�]Wk/ӄ�ˇ����#��9�חݮ@��G�0�Ջ�O7qr��a(	�D�$oz�<�m�V#
3u����/�B�},�?���|�����0]n��җ{�\
U�'+|�υ���Z����*�TsS0K��v�0�`�O��ͅ3�E�FdA��TG�]��(ࢳ���C8��e�%106�
[D�{��:
0|�
N��� ց҅�K�(#�L/��!*��qU���'O)
簛E�ץ�X�T���:�Ci
� _7���Y��4�����]�$
f�rJ�]š���ia
u������C f"�B
e�>P�^+zIj������N��?��1�t�3����6+}�o��`ɑL�$�
3��d
E�-�JAQ%�ќ�Ҕ��[�R�
�vt� �hL%)�������d����*8WM��)eu, at u��r
+�(:��
T�$$�}����cir[*�0���6�Eb��7(
��Ȁy�K��eר�bw/��P�Ls�4�0���s
+
]�`db�|y����|P�EB�M�>�TAID�� M1l�<��u�֠��~"��]��Yq��#0�	�Fc�~.�<�����7��g;<oף���n���ErO� ^F��A
Z�N�/.��3��!q��
�m���
+�
�]��r_�饽)6��]?"�n|�m�:�����z8DC%
��_B��]0
�?�����:g�B��0���}ٶ�ӓ��
8�_�H�AV�֑"��諒�j݅:K+����ΏC�$i�	p�GP\L����}�}�;N��,zR������ W�6
+endstream
+endobj
+2992 0 obj <<
+/Type /Page
+/Contents 2993 0 R
+/Resources 2991 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Annots [ 2990 0 R ]
+>> endobj
+2990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2994 0 obj <<
+/D [2992 0 R /XYZ 89 770.89 null]
+>> endobj
+134 0 obj <<
+/D [2992 0 R /XYZ 90 641.366 null]
+>> endobj
+1716 0 obj <<
+/D [2992 0 R /XYZ 90 606.788 null]
+>> endobj
+138 0 obj <<
+/D [2992 0 R /XYZ 90 606.788 null]
+>> endobj
+2995 0 obj <<
+/D [2992 0 R /XYZ 90 514.019 null]
+>> endobj
+1717 0 obj <<
+/D [2992 0 R /XYZ 90 406.315 null]
+>> endobj
+142 0 obj <<
+/D [2992 0 R /XYZ 90 392.613 null]
+>> endobj
+2997 0 obj <<
+/D [2992 0 R /XYZ 90 287.788 null]
+>> endobj
+2998 0 obj <<
+/D [2992 0 R /XYZ 90 233.349 null]
+>> endobj
+1718 0 obj <<
+/D [2992 0 R /XYZ 90 153.178 null]
+>> endobj
+146 0 obj <<
+/D [2992 0 R /XYZ 90 139.476 null]
+>> endobj
+2991 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3025 0 obj <<
+/Length 1476      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���^2�R7JF�Х�K;�񰇴d�N��Jj���
��d;��n:
{0$����w�s!��K
koG��G�o��y�s
G�/5k�����H��=g�y�N3
ρA�ד�>�_���m������@ֈ
o#�ja2����>��02=W�i:%�e�����#�����T!"�<M���e��l<1l�G<�A"�,3!_fcb�H�ū+��?�
��t:;���i�1�C���(�'�����	+��6�k��~ª�5�B�fy9�%��z���p���Mc;N}8>M,�UX�h`d��k�x�
�ș&kS5�y[�Y��L�ڬZ��
��1\�=KL��7U�<K��un�8�2]
"[R�'ð���Z�K��Ƿ#�bbc��
��x�]���1��
zy��^�U��8��بU�[U\J:���RTa��='&��bl`��qT�
�||],[���5��<��RkB��6���k�)f�b���Y�j
Zw;�)
����\�� ��:b�l�ela��\�IƖc�֥F,-�R�,��fV_�%�w�o0�Io���L� ?L��꛰�W�X~(j*��7�NT"�f	O�Z�]
߯摘|de%R���bd�AB��W���8j�����%��z5�u>,�_���h7f�_܌!`�]��9�)Yx~�M
+D���6"��V
��);��zY��n۩��J��&�i;���jH���[
����ʹۖ��
램�L�Ȳx�����C/^<uT9�3
�mbDL�3��ؽ��K�[S�Y��M�	dQ���	T�?��Cvf�16���
���x7�u Wg� �?�~��U�YVE� ��`��i���C���9��*ɿo��6v�M�� 3,���(#(@�Ca
�FNo)�����|�`��Q �A�	R�b��"�@�� �x�� �4��!
�����A)��}�Q�,|��<�e�
�5�3,q=D�t�\���
:��,�,D��n��a�@aF�G�����80�C�)ۜ�VI��[�
S�?��X��s�=�
��GU
Hǎ� ���|��dž3��vf��Kyl�
Z�D�2w�45�
���K;ƠK���x54�K
�"�T$��f�_�
���>
nľf� 9R��n;NC��Y�
 �`�.bby=D����,\b�A���a֨
ϡ��a[+�v�Z��;�j��
+CV�*~6�a�[�2��A�
���=ث�^�=�n��Qj?��'aI&V~��2�\���Q2g�P#��<��:�����FeX��tU��Z�	os��]5�a���4d���@Z�r���m��福3�<�mOzo߈���an�����Y�=��R��RC])��w\)��Bwy �&����e-��Y`էA~޲g6;�/L�\Gų�AZ���q�Rc�D�U^5X��t�Z�H���������7�N����,���񢺄<p�B�r6��V(xӎ�����s�e}(XW�h�x� u��
+endstream
+endobj
+3024 0 obj <<
+/Type /Page
+/Contents 3025 0 R
+/Resources 3023 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Group 2989 0 R
+/Annots [ 3000 0 R 3001 0 R 3002 0 R 3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R 3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019 0 R 3020 0 R 3022 0 R ]
+>> endobj
+2988 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 3041 0 R
+/BBox [0 0 214 206]
+/Group 2989 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 3042 0 R>>
+>>
+/Length 483
+/Filter /FlateDecode
+>>
+stream
+x��T�j
1
��+��H�c(^\�Bm�Y��榄��t�߯�=�[ڬ�0�cY>��3����
����
+�A~^������?���/��A�'us
�N�>�0������+$k��M5��B
lD�Q�by$G��Rf�(R!�[hif��]��0��c���b��;�0����
Lgu�)��G�k3�ĜG�ƍ�%���� �i0.[bu=6��=��}
Oi�B�P
;�aL�Sn�@�f���4�t�<�Ԝ	��y>���$s�!o������k���ߋ�	�U
@�fR�%����v�ua�;�zY������7��ĺ����ۓY���zZ��.SQ
�(�����L^#Y��~oR��=�����0�7�t��>ϋ �Ix����38���ݾ����RS;2
+��r��9�+kAV��� D���/�2è�ԛq�:�n�����/��R�gL���D5Ԣ�y&$\�f%����
�
+?_
+endstream
+endobj
+3041 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+3042 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /KKKUXN+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 3043 0 R]
+/ToUnicode 3044 0 R
+>>
+endobj
+3043 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /KKKUXN+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 3045 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 611 722 667 278 460 500 556 667 500 556 500]]
+>>
+endobj
+3044 0 obj
+<<
+/Length 3046 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��<���!	�����¡?*�{� cr��k<V*�H���^ڗ�

K?�$;Z�
�r4Ow'��t
L�s��D
+o9
+���ܭ�Bck��5K?�8/ne�g5��0��w��
��vߗ����?4�YX�4
S�}�Wa��H,
�}��>,����*�VK,�q%9)���䄹RRg�4���4	�O�+�z-o
r�˳�5��@G*U9���@�4�-R����Agh'� 
@=��@e좠�.�7Ӂ
+�g��|�ɑ�$�Hˑ���[>�gQ��
+P�� _�

�*���W��r䫊0�8�mH�F=6@ޝ��k���{0��L;���_���
+endstream
+endobj
+3045 0 obj
+<<
+/Type /FontDescriptor
+/FontName /KKKUXN+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 3047 0 R
+>>
+endobj
+3046 0 obj
+343
+endobj
+3047 0 obj
+<<
+/Length 3048 0 R
+/Filter /FlateDecode
+/Length1 2404
+>>
+stream
+x�UV{lS�?��#N�:v�k�8
;�C
_?B �!'&�h
�`�C
N*�Bۄ�R�T�֦�
�*�ժ=U�[;iB�EPi��N)m7m�#l*0�im����u��y|���
��w�=�cy��qV?:��c��}
�����''V~��k̟��1=��O�G�ө�HcA�:�An��J�
_hxU��#��3�)�&ހ���gR
s��E��C���� c|��2b`��a�p�
\/uЄ�2_]���;�7
�I��#���LN��kՈހ�]M|r~����>!�]n��n��U#��U���GhA��َ��q;�b>���kL���rw���}{�{i���rm���C��ڪ�����wZ=U�D�o$���\���Ե˽���Y�w5h�ǝ�Zߗ_�&:l�bcQ^�Z�-)��=���o;w$�F}m���0�V�� F	HJ���Qk"����=���w=,����M�
+{"H��q �
m��ʻ���D��ݾTM�~_g_B���:��ڹ#V��K��`l����P�7�1ޖ=��0�����7��^���ʮ��L�*�Zd�[��bE=�>7�O��-.e"�X$|��ۗ����I�
��43s(5+�"&W�RfF�r�!��Y�n�������J�l~�D3�Z�Jn+��J�ns�,ׯ��~�[k+�s��f9��3�2c���h�Ċ�k�j��+�z�4�OŤ��U����6鸒��!�jae�U8�6D
�$
;6��!'
뜤%�W�'�	�C�O>5�5_,HO��{�����	M
<�L|��%X�խ���,�7g�#R�ӯ���`�fR!컨��*�

{��i�s�D"���x�wU�����H�37|(3;�� ��
����u��(-5a��~�r��/l�=������
�w�����\|`P=+�gRN�\�J�i�W�@|�dz��TS���-�8�����O���P;��y7�L��l��� �U|�~�h����V�7����q9y7�<~ �<1`����-��ϭ�����������Wtd5�L��tn`�c}�ob�)O�1��=��,�k��$����>�>���z�Xz|n��uy'UQ��v�Æ���E9&da����)~�%�EA:h�U���utĹ>$�TjVG�=t>�쳊
=�3�#V�����4�P�!ʨ��L�|<im|+��64��ɕ���z/4ذoB'��s1m�>o�@P��X�A]�[V�KB��
E{�SBB7��Z<ulx��2GG�-
�Z>u��ќ=�,}{�w���o�ƞ�x�������J�ijg�|��؎�B#���ޡ��E_Kc�
�|Z���+�P
Z?�Ofge�ӬmA�\�L=���_����Rt�}�
+]���<��xj�Ez����ym�N�||<������������g_�n���Sb���*l��ҭ�3�����;�9`��V�9zL���ս#���:J�	��N��FN�^�^���(+/0[��v>��&�]�N��
to1�;*e�0RFS�;�Ы�[�l=�f�KQ��*瘱R%^y�'^
��� ���ŀ��TD-`�����b���r�h�X���;\��/T}!������7�o��5_��O���^���g6����G�5_n�����߰�†y
�AQV����ހ�b���a̱�<h%h1��a
��͢��Q&�?�
�1A6�5�Ǿmʾ6��Iѿ��7�zЦ7�מ.��-Ë��!�W=�1*�Uxߨ�nQ�P�u��x��o r�ୢ�[Fl�8WZ�/�W�w�⦔�ōu�pE�� I������U
+endstream
+endobj
+3048 0 obj
+1813
+endobj
+2989 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+3000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 422.716 197.097 433.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) >>
+>> endobj
+3001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 394.255 197.097 405.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_abe1602d6e19dcfeda71963b72ed61cae) >>
+>> endobj
+3002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.434 394.255 301.684 405.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 366.167 197.097 377.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) >>
+>> endobj
+3004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.434 366.167 307.621 377.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 338.454 306.286 348.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) >>
+>> endobj
+3006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 309.992 169.013 320.896]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_acd547a5df8e528ed1ab16c8f19c97685) >>
+>> endobj
+3007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 309.992 256.016 320.896]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 281.905 180.54 292.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9) >>
+>> endobj
+3009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 281.905 291.064 292.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 253.817 178.239 264.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) >>
+>> endobj
+3011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 253.817 288.763 264.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 225.73 181.845 236.634]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1) >>
+>> endobj
+3013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 197.642 181.845 208.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
+>> endobj
+3014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 169.555 154.727 180.459]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a5e151ddb186280f9ac6825e4b38e3d4d) >>
+>> endobj
+3015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 141.841 176.505 152.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) >>
+>> endobj
+3016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 126.75 450.955 136.656]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) >>
+>> endobj
+3017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.421 191.718 113.325]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 102.421 288.852 113.325]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6) >>
+>> endobj
+3019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 191.718 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 74.333 303.079 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a) >>
+>> endobj
+3022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3026 0 obj <<
+/D [3024 0 R /XYZ 89 770.89 null]
+>> endobj
+3027 0 obj <<
+/D [3024 0 R /XYZ 90 441.432 null]
+>> endobj
+3028 0 obj <<
+/D [3024 0 R /XYZ 90 441.432 null]
+>> endobj
+3029 0 obj <<
+/D [3024 0 R /XYZ 90 385.249 null]
+>> endobj
+3030 0 obj <<
+/D [3024 0 R /XYZ 90 355.436 null]
+>> endobj
+3031 0 obj <<
+/D [3024 0 R /XYZ 90 327.348 null]
+>> endobj
+3033 0 obj <<
+/D [3024 0 R /XYZ 90 271.173 null]
+>> endobj
+3034 0 obj <<
+/D [3024 0 R /XYZ 90 243.086 null]
+>> endobj
+3035 0 obj <<
+/D [3024 0 R /XYZ 90 214.998 null]
+>> endobj
+3036 0 obj <<
+/D [3024 0 R /XYZ 90 186.91 null]
+>> endobj
+3038 0 obj <<
+/D [3024 0 R /XYZ 90 158.823 null]
+>> endobj
+3039 0 obj <<
+/D [3024 0 R /XYZ 90 119.777 null]
+>> endobj
+3040 0 obj <<
+/D [3024 0 R /XYZ 90 91.689 null]
+>> endobj
+3023 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im4 2988 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3062 0 obj <<
+/Length 2222      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s۶~���S5����K�˙�I�&�S���"dsE�$���gq�H�b�Xy�C"��b�� n
��엫��ׂɘ���2�8�D<����cH0b�9���3�ô^�ח3�êx�SY�^��o�~���|sy}5QX�H*u�{������6��1]�iq턤+ժz6�
�/��i��{�Tvr�P�9��R���������?g���Zr$�`�:��72h�5 ]eܛA� �
~���ٟg�mx��@� đ6 ��$� B�
ޫvS�N��Nُ&������<�ʍ��;�WjUՏ�;-Sm�[����d����q�W&I@�T5���
E�
�P�����
4�%�S?�z#����9e1J8�"ɝ>Q����s����µ듩o��7#����mw�n��9���~Q�M;�Un�
�∂j�Q4<��0��i�3
C"&~P�.-��Te�.�=�u
+h�a͹C��*����W*s�F��=�����%�Z���QD$��*���&��M�h��n���a8��Hz�p�{�*�u�v�7�1��GY�
Ro�f�~Qd�jp�$FK`A����A��F�M��7�>���C�<���A��[������nO_�qτ� ���z�`}¥�����i���y{7&���N���ଏb���Z�Ӹh���j�Z�+��g��P�U��U���[�`��v��OSZ�~e"����*U�|��~>
���\���� �cӮ7΃���r�P���ѽ��l��#
y��=A�)��l&�,ל���ߔw��;�g�Nm��õv�^�i��D�jӼ�_�fQ�k��7���M�Xg��
�
0�K��bcV�1���iњ_�����>��Lb���F�l��m_���v����K�ֶS�{Xתi��п�V7y���vH�
[R<�NK����rQl2��7;!�%n'Y>�<��g�֐���DAp�%���8j3F�lg^�F�[�
�TY��Ҹ+��s� [...]
(!܈bı��Q(����"jD)P��S�@1F���*تm6OB[��k@#Ѐ��h�A�(
jp5�

��
]@(:��Ct.�Yp ޾��==Ԃ2:	
�^�=Z>:J�\�3y
+�"H8M&4Ҏ
ـ
�_lӠ�;�J�0Cyk(��0���-;�̲�G��.�|�3;���6;�t?�q�|D
Tsl��j�tiI
�/�
���IHK$��Ĉb\��3����b�Aƴ�'�X�E���p�B�Um�SF
� �L��U6bM	p�zy2�N%!5�P
꜒`�`K�&����@�Ϻ0s0��{�A
�2$W&�H�H_��
�QF�,LȤ��������R(6(
a��Hҁ����

+� ����BB�0�5,#�|t?Q��
���k;u��l���+6��K���*l"!�$GdJ*֤ ɎT��;,�!LCC<��o ��:h.Sh|�.C� -K*��\�'`����Qf�w�`"ӥ�o=�� �)�/&Yr��yQ�9��ʎk��r+[c�?�M������[��|,���>�x
J%���;�7�{MK�V�Z��0c���$�
a $I�~�����')1�ݾ��[]�̈E0�%�+�m׶#2�Xz@�1���8q�ֽ�v�[�_^�

i��F$CH���
A���h,�1#$r�N���8Y�SH�0� �J�L
)�zX���=���u8<A�5AqJ�
o� �x8I0p�ƃ#ϡX�dW���i�!g��{!�
+��DA(��Z
�4���4/g#>��e�P!2ޚr{�C΄�Iw
+��ݭ2AA ���_�!6���]]����{ڱ�
�H����Xz��(�j�|�*�K0	�����BTtZ��~��ǡ���K_���ܽ�:�_�l6�����P{��m���)Nvn����;�&�{����(ߺKbze�>c{cn@D$�I/Ț[�˷��F���q�Y�]Zn|]�K{k���O�y�շ�����VW����vf����d�خ�k�������Q�-ZT��ұ����?�UUw��:�3#_�uބ	�c�-��̏�Ԍ��N?�5��Y��e�s�����
+endstream
+endobj
+3061 0 obj <<
+/Type /Page
+/Contents 3062 0 R
+/Resources 3060 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Annots [ 3021 0 R 3051 0 R 3052 0 R 3053 0 R 3054 0 R 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3059 0 R ]
+>> endobj
+3021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 695.379 150.493 705.91]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_adcaa7cd147b3ebb7c52d232824de49e4) >>
+>> endobj
+3051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 597.923 156.281 608.827]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ad59c13d00ea95d4ed045bca314f5e5fc) >>
+>> endobj
+3052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 597.923 312.663 608.827]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.875 597.923 483.441 608.827]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 570.028 226.034 580.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48) >>
+>> endobj
+3055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.157 570.028 478.723 580.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 542.133 156.281 553.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ad59c13d00ea95d4ed045bca314f5e5fc) >>
+>> endobj
+3057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 542.133 312.663 553.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.875 542.133 483.441 553.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+3059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3063 0 obj <<
+/D [3061 0 R /XYZ 89 770.89 null]
+>> endobj
+3064 0 obj <<
+/D [3061 0 R /XYZ 90 712.265 null]
+>> endobj
+3065 0 obj <<
+/D [3061 0 R /XYZ 90 644.196 null]
+>> endobj
+3066 0 obj <<
+/D [3061 0 R /XYZ 90 506.267 null]
+>> endobj
+3067 0 obj <<
+/D [3061 0 R /XYZ 90 506.267 null]
+>> endobj
+3068 0 obj <<
+/D [3061 0 R /XYZ 90 406.131 null]
+>> endobj
+3049 0 obj <<
+/D [3061 0 R /XYZ 90 383.754 null]
+>> endobj
+3069 0 obj <<
+/D [3061 0 R /XYZ 90 383.754 null]
+>> endobj
+3071 0 obj <<
+/D [3061 0 R /XYZ 90 294.305 null]
+>> endobj
+3072 0 obj <<
+/D [3061 0 R /XYZ 90 204.352 null]
+>> endobj
+3073 0 obj <<
+/D [3061 0 R /XYZ 90 103.663 null]
+>> endobj
+3050 0 obj <<
+/D [3061 0 R /XYZ 90 77.486 null]
+>> endobj
+3074 0 obj <<
+/D [3061 0 R /XYZ 90 77.486 null]
+>> endobj
+3060 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F119 3070 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3092 0 obj <<
+/Length 2153      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�8~ϯ0�@Wj��`f���:��d/��-�fbae�եi��ϡH](ˎ[xw
v օ<<<��΅ˆ������ϰ�����גM"	*&�I�'2�p��|"5�4�e„B$0�~��w��ͯͻ���g����b�s$�d�>��	O���X�Ej�PZOB��7�\��~�=�j�@��!��2I�G�3�1n�,�Ψ�Ք�A���]��
��%�
��C�Q���mW"%��z*]M
@
B�Ǖ^�#P"S'рR/�����6���L�Wo�F� O����!��Or�GV�P�d�#Τ��l�/..a�De�c�H�tW�V�I
�8E�
1P�/^�R��V�q��?�h��s<�qƂE�)J�ހw3J�!��@jĹ{�w{���ܮaE
��D5}fG"{C�Ģ
�8&aղ
��Q�:���q�Z���H(Qr�D�����7��.�ې�P��Be^i;�J
+1i%w�

l��"ۤ��
+^ճi؛�CDYo/�������UR<��Y~WHI9��'E�P�VH����s���3�R@�@�� ^���*.�ՃAB��у�}�m0R��U<�8��l����Eyp�s�q�m���۵�	8���^
$K���_:n��Xd������d�(DE�
�
��Do���e�p�x�Ӹ���u�Y����{�-*л��G}��:�Ui8\�M'_
����!
+�⭽�9�K\��ֱ|o�S���@�&@}���t��D[�|}>��C���f��'"?
=�1p�w�}��^�aA�����[<|:
�G
����A�v,4Q�-f�q���CR�Ƥ �px( p�V�|�	�0gn#��/u�-�%$���u��2
΀4	�qMߨ�B
�p��1HB��=�@6
]o��P|�.:f��Qԣ��Z�K���
LN��%
+	!
�ű�zT�<
��~��
�[Un+�[�B�:.���� ���7B��|��m/u֏� K��H\�H��]���n��ƀ�)
+��l�LՍ�4�Le��V �੾� ��r$�+�?R��Qf
@�ݦh��u�7j��2��
�)4u���T9a���
��J�t
=5�CjdE��1�RP�D����:x��Wc�#F�$ �9#�׫x�J��
+i��Z���J�kF�DŽ(��[J�m��v���PRΧ!ĉ����?�20��B$
�
�Q嗚��\ΪͲ�K�fn
+���P���_��"��z$�s�Z
L�ɂ|
���c�@�H	�|O�(t����>r8�n�li����q�
�L7e(���}A��K�Ĺa0��;0����fFז���ߍ�}szT�N���"!B{�Dۅ ��
�ռ޵q��l#,d��mpV0��`�#�� #S����Y��M1=^��M����PK2y�=���\�d��6��Ҧ.�� _Km
�.�>�,��
�T�Ye��$�{��ZV93C�_�U��I�4>Yj��M��b�����1>3�A���׷:�;��1�)z>.Ir���ۡ��%�vϏ���?�l�[fM�½I��UWY�=�B�M���1���I�zy���{i��?�_e�	Z�N`U(�v�|C$��=e�wN'Ѡܛ_��\:���7�
<}V�I

1�I����<³�8�h�$�N��m�l��,C��ň
���N�$6��Ft�� �.��o�Ua���8p������}���������@Ə$7
Ƒ<.G�߿� v��˃�NF��}hx
K2
��4�t�c^g���0�%e
�AdCiA�S��}�N���bY-�
+��>
�H����3��˚�	���*@`�G���%��<E��1A����Bo�2|�Xd��K y�h�f
*
�ӌ���}�v�f��6ST
(O��*}>���h�{�Ũ������!���?�
���6�p�
����Z����H��Ǫ�=�*�2No��dss�XZ�#���3:������轉�(*����z)i��]�l��o�l�*a��țu�^�]J�6]4��u���[{�B��������j>W�|1��yѦd�j[9�^��V��j���nl{���.ݮ�r{q~~[�C��G
�|�2��ݙ|{
+�m
~x���
:����
+endstream
+endobj
+3091 0 obj <<
+/Type /Page
+/Contents 3092 0 R
+/Resources 3090 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Annots [ 3077 0 R 3078 0 R 3079 0 R 3080 0 R 3081 0 R 3082 0 R 3083 0 R 3084 0 R 3085 0 R 3086 0 R 3089 0 R ]
+>> endobj
+3077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.857 295.838 243.473 306.742]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) >>
+>> endobj
+3078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 267.771 155.464 278.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 267.771 221.894 278.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) >>
+>> endobj
+3080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 197.563 181.845 208.466]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) >>
+>> endobj
+3081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 169.495 181.845 180.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
+>> endobj
+3082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 141.427 154.727 152.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) >>
+>> endobj
+3083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 113.733 176.505 124.264]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) >>
+>> endobj
+3084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 98.653 450.955 108.558]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) >>
+>> endobj
+3085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 191.718 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 74.333 288.852 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) >>
+>> endobj
+3089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3093 0 obj <<
+/D [3091 0 R /XYZ 89 770.89 null]
+>> endobj
+3094 0 obj <<
+/D [3091 0 R /XYZ 90 642.502 null]
+>> endobj
+3075 0 obj <<
+/D [3091 0 R /XYZ 90 620.087 null]
+>> endobj
+3095 0 obj <<
+/D [3091 0 R /XYZ 90 620.087 null]
+>> endobj
+3076 0 obj <<
+/D [3091 0 R /XYZ 90 566.427 null]
+>> endobj
+3096 0 obj <<
+/D [3091 0 R /XYZ 90 561.944 null]
+>> endobj
+3097 0 obj <<
+/D [3091 0 R /XYZ 90 505.774 null]
+>> endobj
+770 0 obj <<
+/D [3091 0 R /XYZ 90 420.35 null]
+>> endobj
+150 0 obj <<
+/D [3091 0 R /XYZ 90 413.642 null]
+>> endobj
+3098 0 obj <<
+/D [3091 0 R /XYZ 90 312.921 null]
+>> endobj
+3099 0 obj <<
+/D [3091 0 R /XYZ 90 312.921 null]
+>> endobj
+3100 0 obj <<
+/D [3091 0 R /XYZ 90 285.117 null]
+>> endobj
+3101 0 obj <<
+/D [3091 0 R /XYZ 90 216.642 null]
+>> endobj
+3102 0 obj <<
+/D [3091 0 R /XYZ 90 216.642 null]
+>> endobj
+3103 0 obj <<
+/D [3091 0 R /XYZ 90 186.841 null]
+>> endobj
+3104 0 obj <<
+/D [3091 0 R /XYZ 90 158.773 null]
+>> endobj
+3105 0 obj <<
+/D [3091 0 R /XYZ 90 130.706 null]
+>> endobj
+3106 0 obj <<
+/D [3091 0 R /XYZ 90 91.679 null]
+>> endobj
+3090 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F22 2996 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3169 0 obj <<
+/Length 2089      
+/Filter /FlateDecode
+>>
+stream
+x��Zms����_��^{f��!��vfӤ���%ۤw�N��!���p'���{�0N
��s?�v�t8:�s^�#l�
l��^
N^
+f8ȱ�e\�6�� n�_S�Ӑ`d��c<�<t�Н\�(
Ƌ�ܟ&��Mp������ӳ���]��?�~=yIHE,qL$
^�K��R{3���ŀ�"����b��hL9a
��r�f�z������~��#�0>t
)rp~5�2  DY�#a^8��'6���W#k����I|.�����
����a�
�Zf�,u�
A�U�*�Ui����5�3w������a���u��	������d���2��,e=ˮ(D��L���3Ƭ W�����l
�jPmm� N�b��ZXފ+��>
Q"�1��v�)�I
+�d�a��j`|s\�q"
3�֊zݳ����ï��D�b�E�D�*A���9�DYϋ�4�zQ���(�L
++3�m�.��l�F��˙��_b�@8�����'��B6�^҂�F3�2F'�m[����|��S��H����u��J=��L527q�dy�q.������jQqL,X
(�6��QZ&YyY��?)�I�`�~���w�R�>��:�Y]��L@
t����jiB��
�i ʧA
}	��hN�Q�3�S7���81�#?��19_��:M��
+��v�>�{�����[S�9S�ғ�}�t,�uv���V�5�'����
+x�2����%��K�
���#����o��vx{�(Eš���s
d]"��G���E
u��A���*�A�Wׁ�/����x�����__�qH�OFL 2�[$/^�+�O{*���
��-��r&r��Lk���*�X̩���c��V�W�d!�IK�u#7Դ�� ��HPQ�,��D��%#<A�A��,��
|#i�]�BV�|k�jik�Ҙ�kߍ��-J��f:f��.-qd��m$Lsg����ɭ�AГ1Og����U��G/������k��8*�_C
+&�&ڎ�
��{�>��΁�p����*˻PVM.�)8icX��{E�V`�
s�
n��J-	�x%I&�M����	��:Coʬnp�����3KVr�	��8踝�hE����4�+U��I�E�iPrP���Z�+��Y6��F�(C������K|����҅>9�P܄�r�(��M��6N�c�H*Lʃ���{	!	F�X���2H�#
+
�h���1�u �}��~u ux/N;��4��U:a\7�n]�)��mc����j�h*�r�\�_;
�a����V�s��
'�^8��)��>}��3B�M���*��g= l󣧼$�6�9�៳׽x������B����̝���|���d�aֵ��s̻��Φ5�MD��y�]ܷ��~�=��~���Z����{������ny�@b���
@X�cE�'�Q*^���ك

�
����PWE����R���^oudg��9�����.�����t�!�E�^�����qI�p��z�K�(3-�
*�یu7�n�s��ZP
'�]ޓ^��,x8FȶI��_�
��V��.���GY{��BN�
�p��CM���"�.j6�ZjV��*�Ϙ�4%���ʿ�,��I�:	+��o�����Bؑ�B
�╠�~x�� �ry���^�:֝���]������zkk�rV~��aG�5��=�MS��=�����߼��1w�{e�����[�i�Z���G������I��{#�IJm
Gex�2�aDX�p�=k6�M���� �C��AZi
+��9dK�Iɻ(ۄ�LȀ�5��n $n\��!
��P��#h�vwZZ
���cF
�#F��瘶��#Fđ��
���G�+
� 
�����E���@�&2�s�
b
[|�
]�.�+zZ?���W�_V�"�ֵW�z��PԦ�K:�w�
J8��At���E����]��N�U�D�P@�
�����>K��_#·�o�hU�cH�J��ɦ�"��� �]�ESJ�e�~��0��EL�7
�g������j���
���[RW֡��z�MQ��qR���:*n
v� ˢ�%��_a"�GT��?����!3�b0��:�� ���
+endstream
+endobj
+3168 0 obj <<
+/Type /Page
+/Contents 3169 0 R
+/Resources 3167 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Annots [ 3087 0 R 3088 0 R 3107 0 R 3108 0 R 3109 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3114 0 R 3115 0 R 3116 0 R 3117 0 R 3118 0 R 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3132 0 R 3133 0 R 3134 0 R 3172 0 R 3135 0 R 3136 0 R 3137 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3173 0 R 3143 0 R 3144 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R 3149 0 R 3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R 3155 0 R 3156  [...]
+>> endobj
+3087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.067 191.718 705.971]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+3088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 695.067 303.079 705.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3) >>
+>> endobj
+3107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.635 667.667 188.679 678.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) >>
+>> endobj
+3108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.393 170.255 614.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) >>
+>> endobj
+3109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.071 603.393 239.714 614.297]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.878 603.393 409.266 614.297]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+3111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.097 603.393 484.344 614.297]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+3112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 579.604 170.255 590.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964) >>
+>> endobj
+3113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 579.604 242.753 590.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.317 579.604 335.783 590.508]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.582 579.604 479.333 590.508]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 543.861 170.255 554.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a26a38ad6506b5c3154e90e696ea6dc88) >>
+>> endobj
+3117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.428 543.861 241.589 554.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.612 543.861 360.078 554.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.295 543.861 503.047 554.765]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 520.072 170.255 530.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) >>
+>> endobj
+3121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 520.072 275.419 530.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 496.284 170.255 507.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) >>
+>> endobj
+3123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 496.284 282.045 507.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 472.496 170.255 483.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) >>
+>> endobj
+3125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 472.496 273.736 483.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+3126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 448.707 170.255 459.611]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936) >>
+>> endobj
+3127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 448.707 245.522 459.611]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+3128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.715 448.707 344.181 459.611]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.98 448.707 487.732 459.611]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 412.964 170.255 423.867]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a587ebb6173af401b6fc9d274bb839608) >>
+>> endobj
+3131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.496 412.964 217.096 423.867]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.795 412.964 258.521 423.867]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.403 412.964 373.869 423.867]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 412.964 513.996 423.867]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 401.382 134.28 411.912]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 377.22 170.255 388.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1) >>
+>> endobj
+3136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.592 377.22 217.846 388.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+3137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.126 377.22 322.592 388.124]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.391 377.22 466.143 388.124]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 341.476 170.255 352.38]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a96f9f41695040221ad560cb4ec452ef9) >>
+>> endobj
+3140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.122 341.476 270.391 352.38]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+3141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.275 341.476 396.741 352.38]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.805 341.476 513.996 352.38]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 329.895 156.965 340.425]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 305.733 170.255 316.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.995 305.733 221.801 316.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) >>
+>> endobj
+3145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.138 305.733 294.299 316.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 280.074 180.198 290.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a867bed09df5c122833745b9a4cbfa3ea) >>
+>> endobj
+3147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 280.074 229.174 290.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.415 178.004 265.319]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) >>
+>> endobj
+3149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 192.629 190.738 203.533]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 192.629 261.85 203.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) >>
+>> endobj
+3151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 166.97 190.738 177.874]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 166.97 262.159 177.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) >>
+>> endobj
+3153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 153.467 390.082 163.372]
+/A << /S /GoTo /D (index_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+3154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 141.311 202.922 152.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 141.311 248.58 152.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) >>
+>> endobj
+3156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 115.652 202.922 126.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 115.652 296.181 126.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) >>
+>> endobj
+3158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.993 209.547 100.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 89.993 261.831 100.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) >>
+>> endobj
+3166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3170 0 obj <<
+/D [3168 0 R /XYZ 89 770.89 null]
+>> endobj
+3171 0 obj <<
+/D [3168 0 R /XYZ 90 712.265 null]
+>> endobj
+3174 0 obj <<
+/D [3168 0 R /XYZ 90 320.939 null]
+>> endobj
+3175 0 obj <<
+/D [3168 0 R /XYZ 90 295.28 null]
+>> endobj
+3176 0 obj <<
+/D [3168 0 R /XYZ 90 269.621 null]
+>> endobj
+3177 0 obj <<
+/D [3168 0 R /XYZ 90 207.646 null]
+>> endobj
+3178 0 obj <<
+/D [3168 0 R /XYZ 90 182.176 null]
+>> endobj
+3180 0 obj <<
+/D [3168 0 R /XYZ 90 156.517 null]
+>> endobj
+3181 0 obj <<
+/D [3168 0 R /XYZ 90 130.858 null]
+>> endobj
+3182 0 obj <<
+/D [3168 0 R /XYZ 90 105.199 null]
+>> endobj
+3167 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F24 529 0 R /F66 3179 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3247 0 obj <<
+/Length 2058      
+/Filter /FlateDecode
+>>
+stream
+x��[[��:~���)
U�Fh������\���}IN�[�ٵ�x&�_�-$l��ab�ɦ�0���j}���l�,l��p7���g�@£�u7��|W ������&;��l1/@Dx�Tq���߽���V���<
���
+8�k�
|�[������T--�28.���?�؂�6y�b!>��	�D�6���h|��j=�3>�X�
c�M�ҵ��rt��r�l�rl/�8ZF����x� �=j?a��8�/�����'�� :幪S�"�%֐0�yLw���i��&�ۡ:�ڎp��e�ōd������:\D���W�F�Y�G�'���h���2\
T�b.+�䙖"W�\����Q���
dH�z��n7��Ң�4]�:$P���\�DK	� v�����#�e
���Bk
��>� %�t� ND)�jú��!�������I�0׏��>YǓl4M��(�O
��G�O
`vGt��2LGo?�R�eƯ��^I�
���h�uD7
 È�-�� �f��D�T��}�ċ�>�[M�죀nېЯ�62g7Ҵ3M
����4�Fۏ�4
7�PP$�@�� A�
����:B�+��"q(������F�{"�4*�Q��L��s1��?͈�8��pJh
8����
+�����(P�8�qި0[�F�IM��&�5M^;���`p\l5�ε�_�Z/� f���ψFY{�7�ŌOL����8+c�^7@��}% ;2�h���D.W�fg[C#
E����mhe���������`��
7���U��j�0�i
���:�ḃ�
�)�8��<�78\����k�H��b]ΆY	��j��I
i���Hû��Hë���ӳ�;�4̓�q��])�J9/N9�t,ԇUŹ>}�K�\Sg�R��Jϴ�P�A��Lk�i�9�9� ]���Z
P�`�T�3 ue@�
x
�{�ӓ
�Q՚�'N�M�Y�J�HЅ�X���!���
���8���7p>�a�cщ�Z9�a�E�	�X|%��'��m��(V��9]�dqy��H��Ts��^�$�p���I_+K"�Gn����){�;��<���
��;�j���"�m���X2b��\��)����y�&����ȱ�
�}�J$\��X	�[\�6���J
+����n�QaY�#N
��Yy+�F\�S:۟�L�����8zX	
�M��"�:�5�G��6���!cJ�7�
7��=g�0j��Bp�j>�
f��0n0u̦�| 
?`!�E�'jVP[b��3�0>�
�@t��V�p��ՙ�h
FqvF�G��p�X|�9�jB^�hRO/j5�3Ӌ�
U�t
�@��6
�8bA7����Ϟf���8_lF�:x^��v���
�n.����`	x
����n��&Q�o��e�+�^IG�2�#O�S�Q/A�T��rT[���v�*�Gߣz� 	�I�����4�(RR#=*� �rĽQ"i
I�=c������
1���bų�"�?IٴV$, at L��`TEQ�Ƣ�:�2N:X-����a��ɣ��A�,�
�ɼ
�
��M5
��H�K$͚V
���K>C�����|),����}!i�J��Gz͗����!�͙fg2A��=&Mz�2��~_�NY�c},wt�
�%]�����F-
�:�Ԯ�~�6��uD�Q} �>�Ȇu���q%�,jƩ̯z΀N,���ت�pp��*Y$�h
.�^�"���:�����
+P�[�8�`�n�}&Mm&���ޏr��l-�
+���F^��x8���/<��f#X�8��t���ב=cC[[c"x!ì
�x[�e*�Vʿ��q��st�����
B�
�Qx�h��uE��n�1L�Kz,8��.P�o1�2)�ſ����ku��/_B
��z sʺ~�ZyƉ��KׇF��>-nVϋ��3���ߗ��1e;uC�7�),?��8A.�����+�����'��d��s� �0^������OR\�ղ�r�
��V�ѥ�����_ԧ¼�c�"��8m�竿��ܯg��gh�W_���[`M�c��[΂��bg��� ���R
+endstream
+endobj
+3246 0 obj <<
+/Type /Page
+/Contents 3247 0 R
+/Resources 3245 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2999 0 R
+/Annots [ 3160 0 R 3161 0 R 3162 0 R 3163 0 R 3164 0 R 3165 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3250 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240  [...]
+>> endobj
+3160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 209.547 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 707.957 309.432 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) >>
+>> endobj
+3162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 671.665 228.895 682.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) >>
+>> endobj
+3163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 671.665 333.482 682.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 648.039 229.503 658.943]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873) >>
+>> endobj
+3165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 648.039 334.089 658.943]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 624.413 187.264 635.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1) >>
+>> endobj
+3195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 624.413 293.213 635.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 624.413 371.148 635.317]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 624.413 455.727 635.317]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 577.873 187.264 588.777]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a) >>
+>> endobj
+3199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 577.873 293.213 588.777]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 577.873 371.148 588.777]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 577.873 455.727 588.777]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 565.918 220.058 576.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 531.334 186.348 542.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) >>
+>> endobj
+3204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 531.334 293.772 542.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 531.334 373.367 542.238]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 531.334 456.837 542.238]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 484.794 186.348 495.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) >>
+>> endobj
+3208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 484.794 293.772 495.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 484.794 373.367 495.698]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 484.794 456.837 495.698]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 472.839 218.404 483.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 438.254 187.446 449.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) >>
+>> endobj
+3213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 438.254 292.979 449.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 438.254 370.447 449.158]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 438.254 456.762 449.158]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 438.254 513.996 449.158]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 426.673 159.485 437.203]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 426.673 240.62 437.203]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+3218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 391.714 180.496 402.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07) >>
+>> endobj
+3219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 391.714 252.994 402.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 368.089 213.153 378.993]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) >>
+>> endobj
+3221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 368.089 285.651 378.993]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 344.463 213.163 355.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) >>
+>> endobj
+3223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 344.463 285.661 355.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 320.837 205.692 331.741]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+3225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 320.837 261.312 331.741]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) >>
+>> endobj
+3226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 320.837 332.156 331.741]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 297.212 205.692 308.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+3228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 297.212 261.312 308.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) >>
+>> endobj
+3229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 297.212 338.781 308.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.586 205.682 284.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+3231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 273.586 261.302 284.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) >>
+>> endobj
+3232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 273.586 330.462 284.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+3233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 249.96 183.824 260.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) >>
+>> endobj
+3234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 225 192.272 235.531]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) >>
+>> endobj
+3235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 199.667 189.901 210.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) >>
+>> endobj
+3236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 173.96 241.935 184.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) >>
+>> endobj
+3237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 149 193.229 159.53]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) >>
+>> endobj
+3238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 123.292 238.459 134.196]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) >>
+>> endobj
+3239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 98.332 187.689 108.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478) >>
+>> endobj
+3240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 98.332 226.693 108.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 74.707 161.677 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) >>
+>> endobj
+3244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3248 0 obj <<
+/D [3246 0 R /XYZ 89 770.89 null]
+>> endobj
+3249 0 obj <<
+/D [3246 0 R /XYZ 90 721.073 null]
+>> endobj
+3251 0 obj <<
+/D [3246 0 R /XYZ 90 265.085 null]
+>> endobj
+3252 0 obj <<
+/D [3246 0 R /XYZ 90 239.752 null]
+>> endobj
+3253 0 obj <<
+/D [3246 0 R /XYZ 90 214.418 null]
+>> endobj
+3254 0 obj <<
+/D [3246 0 R /XYZ 90 189.084 null]
+>> endobj
+3255 0 obj <<
+/D [3246 0 R /XYZ 90 163.751 null]
+>> endobj
+3256 0 obj <<
+/D [3246 0 R /XYZ 90 138.417 null]
+>> endobj
+3257 0 obj <<
+/D [3246 0 R /XYZ 90 89.458 null]
+>> endobj
+3245 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3326 0 obj <<
+/Length 2651      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�8~ϯ�S��w���3�v���m�}i�b3����Jr;�_����e�Q�3�CT�><���H
+�#<����Wg�i�%������#�5�7}
���`���&��dN�M(
���[3O����:	�݋?��^ކ3��ꗋׄ��͑�,���Oi�
+Q^L�ꠡa����C^.�4��S����c��,�������$�M<�!ř I��y�����g����H�����ox4��_F1櫛�q���rty��3�k���iZ�Q �J���.<*B��~o�m���6�a_�e�6Ws�&eHIRL�n��a<��x��O���Z�_s�Z.�	c��G���n�tŜ4̢�Q��#\.s.�|$�'
���I�Y��
�l��H�H at G@ )܄3s�*Z�8�ֱ'��[:��E�x��5�ksϯ��,�_��d�a�O
+s����G7��u��:�k�J\G%C\ �qMs�R*?}<�a_�_E���`�ȑ���r�ϧ3`5K�(��t�OX`7����^"�f@��1E��IN�"9���
c�?��&W�����O�
���h�u�L!I�	ٺe�t�ff�\�z���&������L�X�3=7����]7!�!R�{�	A��b��9 Q :cP�I
&6�
I=D���%�O�Rm�;8҈�2
�
� �b|��5��EXGB��
UI�ZÃ%�� qgz��	�t��Sڰo���a��ڌ��I��
z�F�&�aє��5�n�4GAk/�?*�:�C�E��aH�Y��rV:H���"
&y�E�څBj����cJ�X�B������Kg%Gw �Li�`&C�
T	��P���a�
���/�0�_
*�O�|O�$>���(�}�Շ�
�XQ�On�|���H�N l�<�!k�#�
&���'�r
����+@����r=ƺK"����^KS��(J��!#�S��N@ٷ�ڄhD��O9�
�A)
�cD�'[��o��QEx��@�8
�Q��ے����BZ���
qY1Q��8F�|��Q�8׭��%�DP
��6&W���ęI �g��7�ͺc%Q at Y�$�) ��	[C軅�yؓ�Z���b&ӛu�����m���]��P�8�%��|mC)m)�q�F9ۘ74�A�}�A#�v���[�A���]��{5Q|�|�D�c�}i�����;M�`j�U�tϖ�&{^KE���%l�Q�*#Z�L*�y�u��M
��	��a��)F\��?K��mvl
?�^%iF����؈'E
4���&
�"p���}�Y�{'��'d�,@`�?�j@,g�����6�g�uI[M�{il��}��A��D�׻�E ����k���'Ly-�!���-�y����%
�S}d�W��i�_��xab�@r���_��K��>)�h(����MC�&�n
�Ep�rח8�?s{�B���� "�jw�>�
|Aʤ����"�Ӓ
+E��NO*�� '�]
H*5�eV���YE��Zl��(t��@(��1t��uSH�3P3{�����,����\E��Wl�"E�&�LEd*ғ�HG�
���Pi��Y.�TM̻i�v�)ғ�dU��Ҕ���E�{3�;�3U^}��;�.>�˫�&|4�+��猞��j�
:��獙E�zU��S
C���㸃F݁�q��#SO0
� �!NQ՛~4�}݁����u�A��Ŵ#6�>x���M��;MƩ1��f��aR�6! �:�K<(*��
�=s�fݼܙ(�I�a�A�ŏ~��bV�A���qi��O�3!������e�N�GRr�}֗��f�Y at 0Ɯ
�����*�y�b����v���S�,,�
Ĩ
�
+
�����i�^�˳�S{��>�� �1"U��&{�$y-�3��a�F�8�>Ц�B�u��ˊ���q�nwE�|
�3���#�J�N/M��i����܀r��v�a7�L���Cu�U
��2��'��A~|�����o�f�
��aK��iNTO��
�0�l-�i�"��tl�luNZUV�i�^{`�~q걜%���!}���Ը;�S��{����z��>wP
g}�P�p��D�Y[�k���z�o�D��/�د%:���rҮ��m�,B�D�
z�r�٘d���"���p�`�*\.m��
zYV���ېr�6�G!�B=�1a@3����y�.wH���4����(�eO1޽��Q��ܚy��ďvZ^iȒ��h�8=dx���}�T*�M]l���m��8ʼH�{o(�
�鑚"B�wt߇n�i
�+
+�	��;y�xmMK���(�d�F��t.��e��e���l��	�T@�r8�,�w-��~P�c\�]<8y�l\����
�=�qUx�
�Sv۲�
�TY���G��.�u�$��-\,�
�Tع�?�bV.����j���
v��Bغo�5o짬��[?��
�)R�����a�ِE���m�I�%�Ǯ��_2K�X��/��˲q��O���/-^5һwo�m��$�1N��g�m�OhE�b��AeIE�\#�
+���)$�L�wT<��~�+ePペ�,ۼ����.R/�l��k����X��q�ο^���
�����G�7�
&HJZh���
#L��Y���^?�.ެ���\},�ٯq�
+endstream
+endobj
+3325 0 obj <<
+/Type /Page
+/Contents 3326 0 R
+/Resources 3324 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3242 0 R 3243 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R 3299 0 R 3300 0 R 3301 0 R 3302 0 R 3303 0 R 3304 0 R 3305 0 R 3306 0 R 3307 0 R 3308 0 R 3309 0 R 3310 0 R 3311 0 R 3312 0 R 3313 0 R 3314 0 R 3315 0 R 3316 0 R 3317 0 R 3318 0 R 3319 0 R 3323 0 R ]
+>> endobj
+3242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.099 205.752 671.629]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) >>
+>> endobj
+3243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 661.099 276.595 671.629]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 637.098 212.377 648.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) >>
+>> endobj
+3273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 637.098 289.846 648.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 613.472 209.627 624.375]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) >>
+>> endobj
+3275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 613.472 314.791 624.375]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 589.845 248.202 600.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) >>
+>> endobj
+3277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 589.845 329.845 600.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 566.218 216.252 577.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a) >>
+>> endobj
+3279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 566.218 328.042 577.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 542.591 254.827 553.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) >>
+>> endobj
+3281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 542.591 343.096 553.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 519.338 236.745 529.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) >>
+>> endobj
+3283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 519.338 307.588 529.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 495.338 243.37 506.242]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) >>
+>> endobj
+3285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 495.338 320.839 506.242]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+3286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 471.711 240.62 482.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) >>
+>> endobj
+3287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 471.711 345.785 482.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 448.085 247.246 458.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) >>
+>> endobj
+3289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 448.085 359.035 458.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+3290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.173 412.503 290.391 423.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ac68574b9eea6918a73dca2ce92a82fd7) >>
+>> endobj
+3291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.876 412.503 374.291 423.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+3292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.612 412.503 416.339 423.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.628 400.548 229.044 411.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+3294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.291 400.548 270.018 411.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.515 388.061 256.856 397.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.505 354.007 339.621 364.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5851243f84aa67103a7f805232daecad) >>
+>> endobj
+3297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.769 354.007 420.184 364.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+3298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.836 354.007 460.563 364.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.133 342.052 274.549 352.956]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+3300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.978 342.052 315.705 352.956]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.256 342.052 513.996 352.956]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.369 317.61 256.71 327.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 283.556 255.714 294.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9f427e126a129393342ba033e08c5d39) >>
+>> endobj
+3304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 260.303 193.577 270.833]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) >>
+>> endobj
+3305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 260.303 232.581 270.833]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 247.443 248.845 257.348]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+3307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 225.717 193.577 236.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) >>
+>> endobj
+3308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 225.717 277.691 236.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 212.857 247.177 222.762]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+3310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 190.758 223.465 201.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2) >>
+>> endobj
+3311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 190.758 295.962 201.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 167.131 229.552 178.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) >>
+>> endobj
+3313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 167.131 302.05 178.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 143.504 266.673 154.408]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da) >>
+>> endobj
+3315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 143.504 339.17 154.408]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 108.919 299.171 119.823]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) >>
+>> endobj
+3317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.508 108.919 371.668 119.823]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 217.109 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) >>
+>> endobj
+3319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 74.333 289.606 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3327 0 obj <<
+/D [3325 0 R /XYZ 89 770.89 null]
+>> endobj
+3324 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F39 2320 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3424 0 obj <<
+/Length 3404      
+/Filter /FlateDecode
+>>
+stream
+x��\m�����Ÿ�6���]b�+��\�K�r�n�I`x��PYrd�n���C�z�LYr�&� 8�V�)rșy晡h<�����.^__��4`3���rv��)<
�BB§��9�t���g3&CD�����7_}y����+�����/|�g��@� ��n/����p��FL��'�h;���dvu�
le��5�)6
A6ɵl�cD�2 R
+��~ߥ��%x^dZ���ʰ�
QX��=ƬlCn5�H�jT�����3<e(��i��$��E���'���jg�fi���8��R�OF��u�Y�p���
�Qzkd�|��`��ҵ�#"�Tu�gO7�z$d,��!��[�u�G��K�QH����yj�ݥ�x~�e���
+����ia0��x�|���.�BG
"�?˕��n������v��ן,��=]�x�N��M3cw�)���|)
+�ꚬ�=&��
�
C����)�,�(*.w�
����X%�:�
�vU�����~[�����3y���r����(��V�
B�8oŗ��w�C�
��$�U��|���Z��-m����X�'�7>�DX�K�A��;_
�F	�]
}�vW</�p��
�������� A��h����fA��,M�e�]�
x�n����������*�W7���G=�*_p<�3�����>��h�/����#p�C�Ս^���k��&��I��QZ,�|��>2�.��ڠ�V`�8��%�$%,���4�����W��>
&K��7
��f,��&�N�
���@�ܔҰ
${u��Y��WZO)��6�;�߁-�^�	43���D=�z����\�{+��!��?mW��J��e���$�z����	�%�E��:�;
V��ie��ƘH��O��k��8i�<Z�7n�}��
���n&�-����
�#(���!
3OH��IG�����
+�)�Z�h�8�c�_���{�H4��x�E�jkQ��F����t�y$]��_�Z$zbB��2�C�7Y��C��<TPY
�rX��vA��€�7� @���&<
w���ց���cC1��u����"�z�zB=w���ʘ47�O�^�/��Xܿd< �(���� ?�T�!?�b
���d�m���x
�=1@��D!�c�
�Ba-jh;���)���n��� ;x	��.� ����
� ��{cP�� 
���OfXz��a7�
+b5���2�\���<��
�cA��25xz�A�ui��{��^��φ��Յ��Rp���
�d���d&ii:Nw��
$��OJ�2���E$�~�V������D!��ARJ(u��GJuģ�ҟl4��(��U�7Z/�m�sN� ܑb�
%���z��d�O�<J��[M
��P�
@J�
d�`<��
֛�ӀN��\nAFu�����N�����

����)�
Erh�A��~	��Nɒ .D\�`^�"�3�!���	x��[|�v���(�<lZ�	����
�V���
+0������™0�#0C
Lw�Xp�����*˽���Y�ŕ�ߡc0�"11�P�^{^��O�vó����[k��c�@XH7rTUκ�h�
"%
��7�����R�o�jK����c�m B�c� <�<��
�\_�l�F�c����H��G�tx  �^ꀠ�̓��r����~?M�����y��D�3M�gsKޅ_}����C2� %��a
��
R�=���䞟 ��U;
��z�
�����@�;,��uP��}�vš$W[1��1OW�G`
��y{����0����� ����� ��Ԛ���
���ˀ����w��i�C��;kH�$�Vm`��,y/	&x��:��Ea=�7�oz��
��I�X.,;`��0\X��n��²��)�;%˳�0�8�\���\�z-�a���E��� ��@������a��a


; <�7ajP� ��}���g�!䇌�`������C�/N�^Q��o
�Mx
� L �����F P �! >(F�}�a��;a8\��0���D6L�
� �bØ1�d{�K0Ĺt_��
������M�k�c
+ ��4X?��v��W�� <�F/��e����}��� ,>
��{"ˬ?M���Z����0j�Yϫ�@�€L/�i��i�K�fd ��\�l�A�c/b;�H�BF
k���'7��v�f�m�c�H5�s �3FD�(�W�]�/I�C{]]�
YЮ�)���LpN��y�)w�X3�3!��(�R׵�O!jA�
�q=H "1�3 ':G�+����i��$,!�SnRz�R#���Gɺ����[d#hs�KT��.��K�R:��t!�*�;��rT�xOE]N+��T�y��^�K��hE��&<�֝�:�'�'2t�{�;9�'
ɌJ�xxf|��∎
+O�
�Of�Q��H�
�)�������ȹaJ�^�b��8U�E![S'n�1�JQ���G�\o�%��n�6���Z'-J=$E}
�
d��

+�
��_�
�[���x���wl,`�?�Mq�
at�l�ج�i�bʲ�S���X�	N�W�WQ�pZv5T�|mI�;{��.ʗ�
H�w��Mb�5D=�O
)���K��a��4�J�?�(�|pOO��3��Qߊrm��^���a$hԔ�� q�%_h�x��󾈺"(o�R�P�_8&�!�N}�_�^�ꨡ��l>�ڰ�����q�,�aE�d��H�Jͱ\se�2Nױ^��x��J��WE������ ��&�� ��P�9M�}�t
�jʽwa�~�hX�WO�nʹO8?9ITZ��n�� 4�Y��[F���Ӿ/F
c��
+�$ 
�^\UI>���囯�x������֓+��X�^�U�v�<[��w���G�X��<(�ؑ� b�U/Nk�ȪS]V�՗�&��]��*��+'�L
]k2��Ą�S�S�g�Ц��1^��~��в�#b�n����Nt�1ᄇr��r�m�7 ��샩�1ü��d'
X��2
ܱe�cm�j[�ѫ�e���2|ѱ���&���# ��g9x��&�(lʓ�N�m�W�p���޳��!Nۧ��
A� cwfp`��S���,����U��M��C>�d�����(į�#�E=���)��9[�3/7 Ci�PXR�)T��M m
�W����S��͚5�2��07]i���V o;���O� ��T��vZr� e~���
�0)7?�_��|Y=co�|�e�O2��<|v�th��I�B
,�A�#�
{������(���	
kb_�҇ʲ��,�n�
d- ����P)�j����H8	��[g|�E����˛�;H
�ĘC�m�g(��#A��@n����}���*�� �,
+endstream
+endobj
+3423 0 obj <<
+/Type /Page
+/Contents 3424 0 R
+/Resources 3422 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3320 0 R 3321 0 R 3322 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3357 0 R 3358 0 R 3359 0 R 3360 0 R 3361 0 R 3362 0 R 3363 0 R 3364 0 R 3365 0 R 3366 0 R 3367 0 R 3368 0 R 3369 0 R 3370 0 R 3371 0 R 3372 0 R 3373 0 R 3374 0 R 3375 0 R 3376 0 R 3377 0 R 3378 0 R 3379 0 R 3380 0 R 3381 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3427 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3428 0 R 3396 0 R 3397  [...]
+>> endobj
+3320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 697.131 271.126 708.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) >>
+>> endobj
+3321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 697.131 343.623 708.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 684.637 326.259 694.542]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+3349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 662.529 198.26 673.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e) >>
+>> endobj
+3350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 662.529 236.665 673.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 662.529 353.317 673.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 650.947 246.458 661.478]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.562 638.079 267.759 647.984]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+3354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.583 604.016 222.689 614.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9743d54c550c39688a16670c49d7272e) >>
+>> endobj
+3355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.988 604.016 261.176 614.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.804 604.016 355.22 614.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+3357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.95 604.016 395.676 614.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.268 591.521 288.464 601.426]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+3359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 569.413 212.768 580.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa) >>
+>> endobj
+3360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 569.413 252.959 580.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 569.413 375.145 580.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 557.832 286 568.362]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.657 544.963 275.748 554.868]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+3364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 522.855 250.099 533.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) >>
+>> endobj
+3365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 522.855 289.446 533.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 522.855 379.512 533.759]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 522.855 513.996 533.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 510.9 416.369 521.804]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.43 497.196 403.696 509.361]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 476.297 250.748 487.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) >>
+>> endobj
+3371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 476.297 357.317 487.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 476.297 456.145 487.201]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 464.342 202.344 475.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.462 451.847 409.185 462.803]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 429.74 261.881 440.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) >>
+>> endobj
+3376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 429.74 300.286 440.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 429.74 388.504 440.643]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 429.74 520.199 440.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 417.784 416.369 428.688]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.141 404.08 414.324 416.245]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 383.182 261.881 394.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96) >>
+>> endobj
+3382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 383.182 365.272 394.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 383.182 460.793 394.086]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+3384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 371.227 202.344 382.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.012 358.732 414.183 369.688]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 336.624 239.984 347.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0) >>
+>> endobj
+3387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 336.624 280.82 347.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 336.624 405.104 347.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 336.624 513.996 347.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 324.669 171.361 335.573]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 324.669 478.077 335.573]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 310.965 432.092 324.123]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 288.863 251.209 299.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) >>
+>> endobj
+3393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 288.863 290.549 299.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 288.863 409.969 299.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 288.863 513.996 299.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 276.908 171.361 287.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+3396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 276.908 478.077 287.812]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+3397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 263.204 456.992 276.362]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 241.102 224.57 252.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) >>
+>> endobj
+3399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 241.102 297.068 252.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 228.608 347.869 238.513]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+3401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 217.459 196.297 228.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab109e8a2fca1324773e2a5777f75c852) >>
+>> endobj
+3402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 217.459 279.215 228.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 217.459 432.878 228.363]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+3404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 217.459 513.996 228.363]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+3429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 205.504 216.491 216.407]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+3405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 205.504 362.977 216.407]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+3406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 205.504 475.081 216.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 181.053 164.537 190.959]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+3408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 169.905 273.129 180.808]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4) >>
+>> endobj
+3409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 169.905 352.41 180.808]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 169.905 495.961 180.808]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 146.261 275.007 157.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209) >>
+>> endobj
+3412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 146.261 362.877 157.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 146.261 472.148 157.165]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+3414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 134.306 233.986 145.21]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+3415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 99.703 255.564 110.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) >>
+>> endobj
+3416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 257.637 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529) >>
+>> endobj
+3417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.974 74.333 330.134 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3425 0 obj <<
+/D [3423 0 R /XYZ 89 770.89 null]
+>> endobj
+3430 0 obj <<
+/D [3423 0 R /XYZ 90 114.837 null]
+>> endobj
+3422 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3499 0 obj <<
+/Length 2568      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�KΘ�`wOڙڮ'�j�y���@�RBC I���
�!Ȣl5�D88���@<�����'��O^��l�@P19_O<�^���o���)�ț�	�xz:#xf�pq:�x�lvWj������,�v/_�z�8�
+S5����o	i�%��d�â��w���2�D��༇G��%�����z��lN9f��m�	
e�|Pk�͈?U�NI�q��i�'�8?��� <!V

I�ܞ|�OVp��	F
��5DۉG|n&g'�<�N��O��M|ح��n=�.
JB�i6��<�.c��"�2
+�q�/J?a�g�(� ������(�D��)CR���i&�19U����ߓ��\&���K��+c����ҩ���'�����k)�J���4ͧa����$v�Y�8�
U�*��K1C>;��a��cD8AE��a��VB-Y`��s�1D��
�=�O����$
+$&�&y���Y�
4�D�t���$�
�إ*����
+��E�����w@�+��Gf�
+8��7& D�� �'J;�D���8��[�
�0��$΋a�͸�e�l7|�
'A-��i��߹���p
��)�.`j]0���w�4����%ҿb���Z;C��挃�?�)���Lj?g� pȿ#@jz���c���V*S
B�.>�.�D| 
+�
�E@��"L%�!
�k�yi�>K �}����6c$�O�G��cA�ԣmT���Adl&ҷ���&;�}��
+���^k�,��bq�ˡ�e�̟��p�I�)k(qir�xp
��C�o�ۦ����Dw7JÒFK���ԢN�8��� ���$q6��;�<��=R�:1�XZ`�������&)���}���A��Js�>8
+˫1g��sP

.��V96X� D�K0�͋;�n6u81i�z0>y5`�t
��`�j�Ȗ�Hz����,Kf�Oo�B��J��H
+Ub��OL��;Rf���2�^����w���y��
�~'�T�r(�K�����p�V�ׁ��q
E��V��2�!�����
�yd�
+e{���9M7��P��8�\�(0a�_%�{5b����d� Â�Nz�2�ם�O��?���_p(�1OXX@�h�Q_�x,	�	��Pz�VԷ��?m�G�4��riP_݃�>y 
+0��ip^Y��M����h��ahH����d����=J��AO���p�G��G��c����6z�� ć<G��f�ɎSq�A�C��@��C�úZ� .�U#��A�'\h%�f��H��#K
+֢���Ui�78zD
��1!�
4�`�g�t�=� qgq���Y�h"S�����P�~�a|�1{4!P�rg��ZN���
h�
�4��n΅k��k��ۜ�ems.��s�~�*a�
n�"D���
W��N���vq�C�B�G.Qj�h=J�&�"J�9����{��*�{~{
/MS�U�l�C'��d�w
��D[Q�X��%�뿀��Z�'1p�,
�j(��<nB+K��%�p�Z�z�Ū�l��
��ү呃<���~
�w����	e�Z�}�A1"�z^������Gl��Uz-�s����QAޱY�qW_�9���I���ߨWN3\Wz�E�AۦY��?�u�lUٱ��*Q�8N��+8s�ه�~�@�7s H˰P1�=��S�gF*��s��d&9�>O�	mY����G�]_��,m��J�8D�
�K�
�Gu�Lm
��O��x�/F�0�‹��g�7
+>�ѣ�0����eq�[�ZF����
���P�Uty��њHʀ���cԫ
U镮�D�I!O��]Ϩ�k�x���ҦW��0�Me>���X5� �39r� }���`��n%+�p�(K�5|8������>x�~!KW&az�@rx�6H�k�>�Y!F���5L�~��ͽ�a����e�tA���9��5�Z�,�a��j�_;
ٹH��Վ���ZA��v�g
�>��#W��m�
�����]�p��'i��Q�uV�>��E�4�[��W~H�$�f77a�7d��`\�#��zb~_ZC��
�������h���!N�"׍k>��"�36��
ƾ�l5�q/��-�a�8��L�8}�w��Be�6�w�:�Y@
+��/��'?���q��)]e�j�NQs7ᅞ�.��~
B�?��J>w���)�dй���zu�\��64�7��H�o}ף@Ͷ�B�3�����
1L�27�ىB/�e����-e^�|�.E��[k������j��hS�~
��F�U'*��M
2뺡���5_�~P��xD�֑�0jj�
9��j @��3=`_�Ω?=������Z�u�
��ۣ�=y`]�$NK�]�K+�����jh/at�_9�l�O}�OzDӚ�“��y�y�>��?ۃ�*��~֖������2�m���u�m�4nΠ�;S�R���G?�>o�@<���UQ�/_�����U|���v?4���[���z���R!�ܚ*4U�c����&@����b"%5�cs��ѝx�n�&oPp�k����[V
+endstream
+endobj
+3498 0 obj <<
+/Type /Page
+/Contents 3499 0 R
+/Resources 3497 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3418 0 R 3419 0 R 3420 0 R 3446 0 R 3447 0 R 3448 0 R 3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R 3478 0 R 3479 0 R 3480 0 R 3481 0 R 3482 0 R 3483 0 R 3484 0 R 3485 0 R 3486 0 R 3487 0 R 3488 0 R 3489 0 R 3490 0 R 3491 0 R 3492 0 R 3493 0 R 3496 0 R ]
+>> endobj
+3418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 708.28 378.454 718.186]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.703 684.956 257.24 695.86]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c7ffb3e15a1f5746c633af2af465556) >>
+>> endobj
+3420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.783 684.956 328.943 695.86]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 660.285 378.454 670.19]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 648.915 257.786 659.819]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd) >>
+>> endobj
+3448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.123 648.915 330.284 659.819]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 636.2 375.773 646.105]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+3450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 624.83 305.745 635.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) >>
+>> endobj
+3451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.887 624.83 377.048 635.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.46 624.83 494.287 635.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.489 600.16 302.72 610.065]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+3454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 577.831 245.911 588.735]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) >>
+>> endobj
+3455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.248 577.831 318.408 588.735]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.912 565.116 521.824 575.021]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.576 542.787 292.328 553.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6) >>
+>> endobj
+3458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.618 542.787 367.778 553.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.662 542.787 491.489 553.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 518.117 310.533 528.022]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 495.788 236.197 506.692]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294) >>
+>> endobj
+3462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.534 495.788 308.695 506.692]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 483.073 357.84 492.978]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+3464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 471.703 214.06 482.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) >>
+>> endobj
+3465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 471.703 286.558 482.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.221 445.626 284.876 456.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) >>
+>> endobj
+3467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.455 445.626 357.615 456.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.095 445.626 476.922 456.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+3469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.902 420.955 286.2 430.86]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+3470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 359.469 289.866 370.373]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685) >>
+>> endobj
+3471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 359.469 359.324 370.373]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 335.384 290.971 346.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e) >>
+>> endobj
+3473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 335.384 360.43 346.288]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 311.299 224.003 322.203]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) >>
+>> endobj
+3475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 311.299 296.5 322.203]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 298.583 272.49 308.488]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+3477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 287.214 254.15 298.118]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) >>
+>> endobj
+3478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 287.214 338.263 298.118]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 263.129 284.585 274.033]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) >>
+>> endobj
+3480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 263.129 354.044 274.033]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 227.088 241.726 237.992]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4780bcf6d4bced818a0cc1b6ed7c97d2) >>
+>> endobj
+3482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 214.373 407.658 224.278]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+3483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 203.003 249.318 213.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) >>
+>> endobj
+3484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 203.003 288.321 213.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 203.003 371.519 213.907]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 178.918 240.62 189.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51) >>
+>> endobj
+3487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 178.918 324.734 189.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+3488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 178.918 389.5 189.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 142.878 278.538 153.782]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0a486044e2b8a3efc48b5d73b6af3267) >>
+>> endobj
+3490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.353 142.878 300.953 153.782]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+3491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.2 142.878 341.927 153.782]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+3492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 74.333 203.075 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 74.333 296.324 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+3496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3500 0 obj <<
+/D [3498 0 R /XYZ 89 770.89 null]
+>> endobj
+3501 0 obj <<
+/D [3498 0 R /XYZ 90 487.058 null]
+>> endobj
+3502 0 obj <<
+/D [3498 0 R /XYZ 90 93.417 null]
+>> endobj
+3503 0 obj <<
+/D [3498 0 R /XYZ 90 93.417 null]
+>> endobj
+3497 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F24 529 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3569 0 obj <<
+/Length 1695      
+/Filter /FlateDecode
+>>
+stream
+x��[s�8���+ؗ�=S+� !:�>�iw���v�S�����p7ɿ�#��!`'N�&~��A:�O�i�����」Q���
ق
+ctn�ذLqs��}�����{�	��-����'��'�S���v���#�$�#K���+6\������ҸH�|ä
~��i�
�uY�Mu��!A7aj����E"$��J�Q���~2Sم�\z����/�I~��|�^�N�]9����iv1qr���s5 ��RS
��	��!�H���L���
�����y�1(�8�7��?
�y.��Ms/~J�sUƑ�h�&s5��A�D�$��*N��ϡ���9�?���R���Rw�L"�~����W�F��"Νy�2���6"&)����&`u0]�|2��蹡V���\"0��&���a��텸=0� �z��L��
+&�&�@D�6M����BcKĸ0��!*ha��I�
�Q��
&	Tk�a
�g�X
[��I����8��D�Ei���3e��Ť�Z�
"�� ��@X�7$S���l
��D&��Xh��0{E�Z�4e!�*���$�V9��B��[2j��HB����D�bHZ$	�`��/_�P`��z�^�BENFEJ�.&&��6�j�#�e�(
�M�+hW��x|:sjmΚ~�YHr��+"���Tk�`�Dܒmn�C�����oZ��g
1b�	�a�,�y�jߧ ��'��b��������_<�=;�,nB�oo�W����V�/�^#)��6�0!����酳h\
)G���^6���̮
/�5
P����a�����ڳ����']{ݛ�b�x�����!�	�A�+���Jp���4���Tc5�娗&�*�&{��i�Ħ�)C������~-p��.�_eW�aVs*6.z=nS�s�y�V�z�R�ɶ�k'и,/8S���p��]
Q�#�ؖ
��?L$��a�.�
����ٓ�<k�
�k� ���u���
�¤5����9�j{�x?Rpv�{�r���ʼn��1N
{��U@�}��f�&��c�r�'˴C�R�
���Q��ʟ�u�iL��^&*pˉ�ù���J�@5`F;�we��h`f񁩺~9�=�!3mD)�Ga<1Ș��n��G��
���;Nq��e�z�t|�EMˤ�E����b��oB�L�zC=o��5(��0���	fN��N���_�OUɅRA�Y�P�m����aM�a6�

#p- ��hE�-�LL�Lڡ
gXl�=���vP~��=��4�o�C�{*��Je�*���*�#M���6�وټ�D=��Q�q�e
ct3*
 �ywD�	��X��aY�X�c�8])a�X� ���	M��YЉ���e�	^g���ҟ��`����
�珊��٬�*X_-'s�UN�Iu�-�M�:�RQ]���%���T�a�.��_*�K$�������3�ˢ���SD�����e�  � P��6�vH���D�a���
������aK;`kٷ�-�Ӷ�����Ӣ���?�_!��ryV�
+�d���}��Ȃ�����M
q;�0�[��EӇ��������>3�C�n�
�ӯ�D�dI�
~.�ź�Ǐe��*�u�y?.�FKg^���kP���h
+�Z���|����2��+��SY�k!0�e
fI�xyxx���*��I�__��m�j�v^4������
���/7���
�
+endstream
+endobj
+3568 0 obj <<
+/Type /Page
+/Contents 3569 0 R
+/Resources 3567 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3494 0 R 3495 0 R 3520 0 R 3521 0 R 3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R 3574 0 R 3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3575 0 R 3539 0 R 3540 0 R 3541 0 R 3542 0 R 3543 0 R 3576 0 R 3544 0 R 3545 0 R 3546 0 R 3547 0 R 3548 0 R 3577 0 R 3549 0 R 3550 0 R 3551 0 R 3552 0 R 3553 0 R 3578 0 R 3554 0 R 3555 0 R 3556 0 R 3557 0 R 3558 0 R 3579 0 R 3559 0 R 3560 0 R 3566 0 R ]
+>> endobj
+3494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 694.531 287.856 705.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70) >>
+>> endobj
+3495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 665.687 294.481 676.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9) >>
+>> endobj
+3520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 554.42 226.034 565.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8a1cd7df2586fcb1c129b1ec5a28fe9f) >>
+>> endobj
+3521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 554.42 366.336 565.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 513.621 156.281 524.525]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a91187ba19738062968cc1cb26b135a6a) >>
+>> endobj
+3523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 513.621 205.257 524.525]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.035 513.621 295.195 524.525]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 472.822 180.54 483.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a54d9925e5f42a7730cfa90a3d537f1a0) >>
+>> endobj
+3526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 472.822 253.037 483.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.336 472.822 366.497 483.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 432.022 178.239 442.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a45fd50a7deed65baf4e64b803a595c29) >>
+>> endobj
+3529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 432.022 250.736 442.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.035 432.022 364.196 442.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 391.223 243.863 402.127]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_acad0e332f148041d23f17cdf85b80568) >>
+>> endobj
+3532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 391.223 321.912 402.127]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 391.223 513.996 402.127]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 379.268 152.426 390.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 379.268 265.885 390.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 379.268 369.572 390.172]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 338.469 243.863 349.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e28c15a0d7487efa59258598e2f78b2) >>
+>> endobj
+3537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 338.469 321.912 349.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 338.469 513.996 349.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 326.513 152.426 337.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 326.513 265.885 337.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 326.513 369.572 337.417]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 285.714 243.863 296.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_af0d016bccf8f6a9323cdbd4743003eb2) >>
+>> endobj
+3542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 285.714 321.912 296.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 285.714 513.996 296.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 273.759 152.426 284.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 273.759 270.18 284.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.786 273.759 377.343 284.663]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 221.004 241.928 231.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a01e1250fa095e6dac631943527b5e41c) >>
+>> endobj
+3547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 221.004 320.252 231.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 221.004 513.996 231.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 209.049 152.426 219.953]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 209.049 265.885 219.953]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 209.049 369.572 219.953]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 168.25 241.928 179.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_abe5a9b3a09856b591bf8d94b53d1e673) >>
+>> endobj
+3552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 168.25 320.252 179.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 168.25 513.996 179.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 156.295 152.426 167.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 156.295 265.885 167.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 156.295 369.572 167.199]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 115.495 241.928 126.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a26ed8b6a9eba118ffd48ecfd8bb74bbf) >>
+>> endobj
+3557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 115.495 320.252 126.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 115.495 513.996 126.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 103.54 152.426 114.444]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 103.54 270.18 114.444]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.786 103.54 377.343 114.444]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3570 0 obj <<
+/D [3568 0 R /XYZ 89 770.89 null]
+>> endobj
+3571 0 obj <<
+/D [3568 0 R /XYZ 90 712.265 null]
+>> endobj
+3572 0 obj <<
+/D [3568 0 R /XYZ 90 683.421 null]
+>> endobj
+3573 0 obj <<
+/D [3568 0 R /XYZ 90 613.122 null]
+>> endobj
+3567 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F110 1507 0 R /F90 758 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3659 0 obj <<
+/Length 1590      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F���)苋f���/���m��
�v���K�f"��p
}�
�d�I#��d
��=g����h;�v�vί;�os
2�J���c���AB�C�K0��
��]�]/
{��.�n4������nb/������_�y������B*�Ñ2*���<3��
5Q^\�(� �Da�[[	/G�t��Q��0C]<y�����?�q�h�pJq&�S���y}���!P
vH��v�·O���wF
�y��
N�
9W��;8�,�FX�Z+%�L;�����Ҭ���=
+�Iz�F\�³�pe
f*vT!�G�V�DB�EI��zc���^͎�e
,ר�D=ꕚ�=B	‚�AF���&�F��i���<�o;·
��
���#�4
�YL���܆�X����O�込�_�������7���x�R�b��1ˁ�%��e���K�f���{��E=��h
�D��U�r�n
+`����˳Q8M��x�K�;=�5�L�;�2^������%��V#��
�l��y�y&�kx�9☵yP���.,�p2�J}�����>
�m�U/�3\1d4�]*=4
�d����
i v�ĵ��'���30��y!U�NA�
���,8u�o%3^PE�
Fƨ|FȬj- �1�rJ�b�f���Ƀ�Edq�Vɐ�h���+$���
��JǥY�V�"[� Zfm�W�"��h2č<(B+�Nd�����B�4S\i�ci)~8��Q|
�?x���K�b��-�-�-�w�ś���T�"���aZ��Q�	��
ct=��8߯
mO�k�x�`<�k&he3�ܓd<�+����,�t����:���Ԝ�;[��b�\a�\���B
�\�\ 3HsڈyŐV�db
塲h��^�/^�R2)ӷ��S�0��O��Z�X�hEPϖ������)k���ǐ�b���e��
��w������ՙ+�&js}��>��;n��`����s0߮<��6y�
]��Lo��a%�HK�U�*:T�6| .�@7����cB�ql�ui����{�x��*t����/����ғ�u�hT�p�T�
�yE�õB��U-�d
+ݐ|.���\¯ �j���2F�k�
k�b�b�
k�>=�傣@ښN��s�t᪐�� is8�	,I,I,I��$ǥ[$s���(�^��0�.k8b��5�촒5Rn��EKW�*YU��1ĥ�k��я%�^�
�Z�0�b|i)�%�]�Y��ߩf7��������k1��ˑ�GE��cٸFڶ�	c��٥�]�Y�
�~\�5�����#_�Y�X�X�
+G������c��9�Ӈ��&O�}�
+k�AL�}�e��i/1Қ�5�W�%r�;i K����,�&���e�z[�W�@đ��}���-׋@����%���4}=B���p3�.���/�H�LTk~	���I�B��&���.O������?S?��+������{��2��)ޏ�Af'A�F��:]�EX�Fq��?��܈��C
��"
�drvzzs;��[4���9Q�� \�3�ؼ1�(�

+B89�h'*�)S�Q`���E$ �_;8�w��-���ō������yA�ˏ��
@g�

+endstream
+endobj
+3658 0 obj <<
+/Type /Page
+/Contents 3659 0 R
+/Resources 3657 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3561 0 R 3562 0 R 3563 0 R 3661 0 R 3564 0 R 3565 0 R 3590 0 R 3591 0 R 3592 0 R 3662 0 R 3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 0 R 3663 0 R 3598 0 R 3599 0 R 3600 0 R 3601 0 R 3602 0 R 3603 0 R 3604 0 R 3605 0 R 3606 0 R 3607 0 R 3608 0 R 3664 0 R 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R 3665 0 R 3614 0 R 3615 0 R 3616 0 R 3617 0 R 3618 0 R 3666 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R 3667 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3668 0 R 3629 0 R 3630  [...]
+>> endobj
+3561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 696.002 240.486 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0ff8a3e3f7c118f923482924b1862c2e) >>
+>> endobj
+3562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 696.002 319.002 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 696.002 513.996 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 152.426 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 684.047 265.885 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 684.047 369.572 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 643.107 240.486 654.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_afd263c6cdcbb67035989078c9058bb19) >>
+>> endobj
+3591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 643.107 319.002 654.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 643.107 513.996 654.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 631.152 152.426 642.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 631.152 265.885 642.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.015 631.152 369.572 642.056]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 590.213 240.486 601.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a21d79f277ceee36111baef3184e8d2cd) >>
+>> endobj
+3596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 590.213 319.002 601.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 590.213 513.996 601.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 578.258 152.426 589.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 578.258 270.18 589.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.786 578.258 377.343 589.162]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 525.363 180.54 536.267]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a54d9925e5f42a7730cfa90a3d537f1a0) >>
+>> endobj
+3601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 525.363 253.037 536.267]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.336 525.363 366.497 536.267]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 499.913 178.239 510.816]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a45fd50a7deed65baf4e64b803a595c29) >>
+>> endobj
+3604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 499.913 250.736 510.816]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.035 499.913 364.196 510.816]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 474.462 243.863 485.365]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a32c0ddfdabd75501718ed9f44f6d9ae2) >>
+>> endobj
+3607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 474.462 321.912 485.365]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 474.462 513.996 485.365]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 462.506 152.426 473.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.412 462.506 273.572 473.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.911 462.506 408.468 473.41]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 425.1 243.863 436.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a830339e65ebcd4c100c672487dc63f33) >>
+>> endobj
+3612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 425.1 321.912 436.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 425.1 513.996 436.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 413.145 152.426 424.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 413.145 265.885 424.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 413.145 393.093 424.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.967 387.694 243.863 398.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_aaf0d15460d44b410c5a223d13b447b1a) >>
+>> endobj
+3617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.531 387.694 321.912 398.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 387.694 513.996 398.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.739 152.426 386.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 375.739 265.885 386.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 375.739 393.093 386.643]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 350.288 241.928 361.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a900609f82bcb2d07dab53d7bd2035ec8) >>
+>> endobj
+3622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 350.288 320.252 361.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 350.288 513.996 361.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.333 152.426 349.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.412 338.333 273.572 349.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.911 338.333 408.468 349.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 300.927 241.928 311.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a43c478e6516cd11d378e25f16e669514) >>
+>> endobj
+3627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 300.927 320.252 311.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 300.927 513.996 311.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 288.972 152.426 299.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 288.972 265.885 299.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 288.972 393.093 299.876]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 263.521 241.928 274.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a1d502ed8aa71e78a52f33d9b16704974) >>
+>> endobj
+3632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.871 263.521 320.252 274.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 263.521 513.996 274.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 251.565 152.426 262.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 251.565 265.885 262.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 251.565 393.093 262.469]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 226.115 240.486 237.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a0aa903d00357007b8ef684059f92a8d6) >>
+>> endobj
+3637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 226.115 319.002 237.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 226.115 513.996 237.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.159 152.426 225.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.412 214.159 273.572 225.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.911 214.159 408.468 225.063]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 176.753 240.486 187.657]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a198e5e17ee2a7484f89d293b8bbf5ccf) >>
+>> endobj
+3642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 176.753 319.002 187.657]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 176.753 513.996 187.657]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 164.798 152.426 175.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 164.798 265.885 175.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 164.798 393.093 175.702]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.435 139.347 240.486 150.251]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a4ac2269cb78d6549ccb1d573929be1c7) >>
+>> endobj
+3647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.622 139.347 319.002 150.251]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+3648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 139.347 513.996 150.251]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 127.392 152.426 138.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.725 127.392 265.885 138.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.537 127.392 393.093 138.296]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+3651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 101.941 156.281 112.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a91187ba19738062968cc1cb26b135a6a) >>
+>> endobj
+3652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 101.941 205.257 112.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.035 101.941 295.195 112.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 76.49 226.034 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8a1cd7df2586fcb1c129b1ec5a28fe9f) >>
+>> endobj
+3655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 76.49 366.336 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3660 0 obj <<
+/D [3658 0 R /XYZ 89 770.89 null]
+>> endobj
+3657 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F67 3037 0 R /F42 531 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3692 0 obj <<
+/Length 3328      
+/Filter /FlateDecode
+>>
+stream
+x��Z��6��������|H��^h�M�w���-���Jmɑ�n��
�!%��#��a��L���p
��N�:��������DL2�I.'���N�(#��_���SF����o'B��eF��/�����_�o7_�߼�a�N�!�$�,w7?�J'+h�vB���ɣD\�s;y}���P�c��
���9c�0f#a�9��N�./��j6�<�_�)�]YW���
�4��2\iW��ۼ+Ԑۗ0M?�$΄]�?L�����l��i_T��0����D��������m޶����y�ˏ����J����p���ۄcqs<�.*RHiF^����cӧM�jB
$1�ѧa!I	#�/M��������w�
.���`@p�X�>�7�>�$�K1K�)	�,�CH-¥�����K9$5W���5�±��GL���P��1��U�0���h�jY��V-�h�#`	�
)�oT�DN��nI�������)	0NI��E O�uH��4�
	Q�{��m�����
���
)����/ˢ�LcS웢���vzD�`��K�5��r�Ͽ���|�� [...]
+><k�$G+��~eʓ5���{�*�|�iƀ�rn
�g���|{@H���pV���)W�6�v�3T
Z �b�x,�[󖷁Pj�\�lfy�aY���cn�\`F	q:r�Z�)vV"�Yr�
+�x���2Ӕ��\b�C�ԃu �m 
I��K
++8�^�휽�	�8;g.��ۚ]���iו}9Ls� �{ u2O2)��`�
="����yL����*(߲l
$�ޮ�z�.����(Ț<
�
+	v'�
�:��tD"�%������¤I{X���g#�p	1�*�����&jP�j���R���Ŕ�f����j�������'�����b�+H(S�(er��P�ʓґ��M(�)a��[+_������^��,I�b>�
4���xc�^ RI�{��B�v�w��	~:+�舂�!�
���w�0SRkN^���ט��`��&Q:����ʱK[B�͑�m��m[*��,͸xY

�����q�F
�x J9aݘ�@������������+��@��grc�R�;��{|q7H�C��Q+�A������Ԩ�~IRh{��ь�-��ֹk�m�:�I���ڀ�1�fTvR�]a=�0[��—usШcd��:��X��}by~����`�{�,��X�,�
�mٕE��dž�
E�[>H�P��W5�� 4M&��mXм+��'
+P��c)X^��W�
�8��cn������<��[z9��&-��:�i���)�٪
Y�3�f���r�*V *�.[+�j(�e��\Xs�h��꧗���C���v
����^�A]3�\�o�̷�ȫ�y���85���%���o���{?g�$'M�'<B��`rʥ4�i���~ٚ�L�.����zH隬�:�߆��AD�`���6A�Nd�d2�UA$������3�@�ivA�J�d<P��&v��? ��
��y���D��C
�Ο
�U�Kl>�T�,TG
+���u��'	�+�*�t��}U�ž��
:e�m��M����z�N�.��$��Od�/\E		��e=*A���=,7�M��P'���hS_�l��ύ��Ў'����g�� O쒡�~�^�^*��s�I.t�A�E��\����[��� ��%th��W��O�⽅�Д/L�c��Aq)
Ǵ�(~���S����b��#(��0@�"��Ԧ5�g��R�g ���,�	+#��)9����(�Gz^m!D�� �O��HB�����H�j ��Kߣ0/C
�';���TV���X at y��-,��\~A������JU�|RHJ��_��&^�4�u!L&)i�ᶮ-�k�]1*S#�/�mmQZW�ѵ9d;�tX��,�j����Ŕ%�ϡ�M�/$��U[�T��
+�B��7�ȃ�D�+.d� ��R6:��H3:�x�#��/M�:<&I	�� D��xg,U���� [S�ͦ/��3ZNa�	;�ю�U2OI09��i���I�ۇg.]���Av�~��8�Q�g*�\��O��E�qe.a$Mą���-�  ��J 7P(1����9�^@��P<smDh
���x�9J�Д{F9r��- �H�?M!\�9*�
WCCsB"�D��Uȣ�nL	K��#����[ʂ緁�
lip.;4�7]<5�9�k-W70�OB�j�?Bk{J
�"�����wcW
qlruB���X���Rn��ѵS�9�=�Apg������)}���~��D��S�@��t���T������!����
��
+�ux��cΠ'E�4zR�,zR���!<���R�v�I�;e}�
�d��B�(ãs�?%��`�Z��k�f/e�;{p�tA�z����;�j�–J�uU7�Pʮ%��� n��Vn��%�(�V�D�
�&�Ou�ޚ5�~�o�6�Ҭ,��5~@y)���+ʈ�s<ˀ>��/���#-�0�8l�NSVxY�[f�~���X����h�|���Jު���6��rNwL ����.�
��8t��q����V���7P�ѝ'���(Twnz����^�Z?��ML��K��n�` ��8ӗ���PBY�3
���v
6�~�������@o��� 䕂�dd���@t��?~|��{��h��.e�~ȫ�EtJ�x-��2���0���.lm����c����~�H�d�
�t�����Ⰶ`�&Kscӿ���2B�
�����]jS�!���p��
{W�4
+endstream
+endobj
+3691 0 obj <<
+/Type /Page
+/Contents 3692 0 R
+/Resources 3690 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3328 0 R
+/Annots [ 3685 0 R 3686 0 R 3687 0 R 3688 0 R 3689 0 R ]
+>> endobj
+3685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 447.037 170.418 457.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.817 250.397 349.323 261.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.725 208.862 193.232 219.766]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.433 115.868 336.939 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+3689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3693 0 obj <<
+/D [3691 0 R /XYZ 89 770.89 null]
+>> endobj
+3694 0 obj <<
+/D [3691 0 R /XYZ 90 721.073 null]
+>> endobj
+3695 0 obj <<
+/D [3691 0 R /XYZ 90 677.646 null]
+>> endobj
+3690 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F10 765 0 R /F75 554 0 R /F8 794 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3699 0 obj <<
+/Length 2155      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s۶~ׯ�S+�D0.@�if��ɤ'm����f4�D[�J�JR��_��$�'�S'3!M-���o��w�a�U��U��d�BJP�]�x
+{�W�
�k�]�	F�`H0�����0[�����t��E�,
���Y��OO���.g�2�����%!-�D�H� -�>5"��a%�WW

+�+�g�4���y>R�A���h���Ed���n�l@�~�L��O���;����#�{Ą�#x�E��=����'#�ܕB
ϧ
�s��[��n^M��'��,0�
+$��$!�,��=��p<���/�1�����2�3��Kt�E�Q��(�EK��V_^���z�!�`,��G�F��}A�!�A�t����K�VC$�-afwzf��&������8�5�&���8����S����<?��$�,ʗi2�_.Ҏ�d5������-˨�P���֦Wk�$"�{
	
32
}�Ko�zbּ��g�C�Y����뼈�>���J�"
��Ow���RC�@2��R�F�E�eti�y0�
�2�Q��QV�$�7��~0�]��z�}�
�����C
/}|�B�s�¾�Wό�x�ߞ��F�
�.� �� ElE]�%
Q,�i2_��b���a+!�?
ua|0I_�Z�|�ᤈ'�ϛ4[X�7��T@)#�5Ǝ�U2��F~�h�Ըɤ��m��F	R�f�/�"^��ʡ|�\�YM��q
2�&B��p��p�.��m��2#e��VY�K�~��}T�K��K�4�����<��x�J�}A�==� �=��
�]1���]
��/z����}���]�<91/�ξ^vh�nLj�[��B[FN#\�W6)�ShLP��}g�#=�y��c��M�m%�[V���C�B7�OA���A�堒Q��~CY���T�jR���)ߘ�Y�}|�NV�0�ĉݼH�8�U{1D�rEE3��d7�jp� O����z%�B�N>��������,�.$�"��/#��D�g�n@U���8�\Kt��&U��4�,{�
ftn9�B>�Z�4�4�!	Fz*/dK\(�w�>%:�����@!M�MMt� A�
+T=B��BwIJ%�BeR I���n%x��o�
��D���P��3O�ё���g�m�Dd��|
�q�T0�Y��w\6�
�.5Y��׿���<wl)�^���� �p ���R��8��I�ޡԇ�R��>�0z�$�ut��Ǔ�x߁�Mj��8 
���&���JZSA�[JS"�f.�e��s���&G�2��aL+2�/��N�	s
�Z &FyCJ-|�
��Bͤ�;��[����G����`����Q[ ǰ�R�u5B�Q

$�doEc���
�eew7��%�����mKV���Pc��G�Z�_�bgD������N��-Ј����V�����
�r��}ۆ��
#�<͛q�z�����s������&�����k4�)9"<��ȃ	��	�
�9���{�g�3�:�\��g�nA�d)�hk1�Ϊc��8i�q"U������؝;�q�%���ېo�w�)%�
�!��k�f&ݤ> �~�L{<��Z�M��C�!6��ƒ�/�9q���H�]��'  
��@<���
*�p��㢧��:
�A���5��"�'��q�
�
�RA�j�&���S\�
+
�.�ˁ+�5���?G/~��������t���qq�=�7��EwRV&)0
KY-��5��	$yu<�Ե�9,34�}T����&5؊�������r���i��$͢):<��.Ŷ�¾�(�����HK������=дw�c�D�ƶ��xC&����R��!��̖�|\�F>`튻�nޡ��b5�:t��r �x��;Oz��O�<��vA^@��7�R �oL��A?�|�=��
 �?8��Ċ����E���/�坩B;Շ�e��Nj������{Ő�����D��{�TM��,%���k�w�͹fIٱ_ث�  ��o�%�&W���o��;����MY�U8o�U�A
\��#y42؆�(��n��۫��o>�4�Y��
�����d��ͣ�A$����B�9����E��_��w�2	Pu�X�� 0`#���I�׺/�^�N^/�w�B��ض�
$Y
+endstream
+endobj
+3698 0 obj <<
+/Type /Page
+/Contents 3699 0 R
+/Resources 3697 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3696 0 R ]
+>> endobj
+3696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3700 0 obj <<
+/D [3698 0 R /XYZ 89 770.89 null]
+>> endobj
+3701 0 obj <<
+/D [3698 0 R /XYZ 90 429.737 null]
+>> endobj
+3184 0 obj <<
+/D [3698 0 R /XYZ 90 406.278 null]
+>> endobj
+3702 0 obj <<
+/D [3698 0 R /XYZ 90 406.278 null]
+>> endobj
+3703 0 obj <<
+/D [3698 0 R /XYZ 90 323.776 null]
+>> endobj
+3185 0 obj <<
+/D [3698 0 R /XYZ 90 243.671 null]
+>> endobj
+3704 0 obj <<
+/D [3698 0 R /XYZ 90 239.188 null]
+>> endobj
+3186 0 obj <<
+/D [3698 0 R /XYZ 240.245 169.876 null]
+>> endobj
+3705 0 obj <<
+/D [3698 0 R /XYZ 90 163.236 null]
+>> endobj
+3187 0 obj <<
+/D [3698 0 R /XYZ 240.245 84.126 null]
+>> endobj
+3706 0 obj <<
+/D [3698 0 R /XYZ 90 77.486 null]
+>> endobj
+3697 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F32 764 0 R /F7 795 0 R /F93 763 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3711 0 obj <<
+/Length 2026      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o����B�Z83|�
+��<���^��@{�@k+�P[�I�����;�b'N
,�)��
��QQ�l�ϰ�B�r~v�V� D��2��!���
>N��O�&5"�����_?��|�_���7�?�L�8)
,�g?�`	�?��,���hpʠ�Wg�<�=�,G@��!���!�E|:#�Iow���
#�oaQ��bkQs�7��GZ!�u�����i���3��d�!�ҢQ�?܊���9BX��rJ�$ʷ����I��[��<�~�|Σ�������u��1O�B
�1����V�	1����z�ŅG"�8kV���Q�P���w,�tƕ�,��(=tg�s$fp�!p��ʬΣ$-���
+8[�N�!ӫv�K-��.AD6L/
+��
���.�x�EQ�(�c�n�4��^��~�YyK)���$����g<+�Dgk$0�E���&�e6*��\�����������u�:�Ӣ�g7�]4J.|Bkp0F���V
Y�� 1#!ELK�(�-���f�a2I�q���]����d�E��
�
.�D
�c�lt�:��	B� Q�@!ѵ7S�
���)!��Oq�zn;�&��0|J����x����!��!��$a5F�g�b|/nB�Qp���H
+�=���"�"�D.�FR����~Gz���C�q�0K
���&iENi2�����i]�c
M��,fu���"ޕ����N�	&G��8G��g�i
I�T�e�T	�dHѼ֡h�	@&���F
7��H(�
�H�
+E���H�)Ǔ?�M����)��-�r��)�HcvJ9A0:�1�_��sx�!γ���u�M��|��è�$���Қ�g*W͒,-!@�fdՉn��:Y��]
�$ͪ�
�bm6w����n��jئSӁ�d�� /�ad¹T�ma���
�O0��)U�uҧ�|� nB�{���^�|K��lJ�U~��x�	i�:�Yyk
x��R�Y@<#EX�"-*�8�[;�/���U
��������s�J�³�S�@�����s�Bn��m
�?�/�����p�~�?����
$	Oi.��x
�gb�$'G�
���I��3дN���&�C�
�O@�LQ������	���@�ǡ���=4/�
4��Ľ$�'N }H����aH�a.�c7�<�t�<�w�<�Z$�ɒ�Cmb�-�|���H��G�ߙ�"
�x��>��H�QcƢ���w$�
^*��q
�Y>��rz8���x檞�
��N~��5�P)��"r�l��E@˭�y������dͽ��k���w���:AN���6R;�4���bP���Ab�O(�z׆�n
�p%�:Ft��	*!����q*
�U���r�]��O���R��'���@�B3J�����{�Y�d�UDg��Hku2pvJIkt6�Fg#���YO�.<�_
+n��Z��t {�w������j|
5+]�����@��U���M9N�x�y
+�Q���EM�;j�QSWOS�'.�
��"<��v�|G%!�5��UfMʻ�W��(|D��<n�_�S"&�-0�'�)� �$���oׯ~���������.
�b�9�l��~��@!S� �U��}xB��`H�=ЍIno����1ɺP�j bj>Ά@���ٍ6�
��z[m�e��������j�����V,b[Yó��N�V�b/� �%^ 9#P��r�
��J=B	�7CG�3��;/���!�!*	R�1���5�����[�Ҳ�kiF�50�� �*Sõ�:�&��=���[؁��d�l�Gm| By8���-v�������Q�e�����n����?`+L��v�۷��;����-
^g@�%7z��`
�4��e�_���/S./߻ο�8���O���(��6�ob����㼽L!��e�ȁWq\�&���>�G���N�V���]���]q�B`��c\�2O�Ǿ�r��6���R��)B|G	G�_c�T
+endstream
+endobj
+3710 0 obj <<
+/Type /Page
+/Contents 3711 0 R
+/Resources 3709 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3708 0 R ]
+>> endobj
+3708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3712 0 obj <<
+/D [3710 0 R /XYZ 89 770.89 null]
+>> endobj
+3713 0 obj <<
+/D [3710 0 R /XYZ 90 640.379 null]
+>> endobj
+3714 0 obj <<
+/D [3710 0 R /XYZ 90 586.69 null]
+>> endobj
+3188 0 obj <<
+/D [3710 0 R /XYZ 90 540.065 null]
+>> endobj
+3715 0 obj <<
+/D [3710 0 R /XYZ 90 535.582 null]
+>> endobj
+3716 0 obj <<
+/D [3710 0 R /XYZ 90 447.227 null]
+>> endobj
+3717 0 obj <<
+/D [3710 0 R /XYZ 90 393.538 null]
+>> endobj
+3189 0 obj <<
+/D [3710 0 R /XYZ 90 346.912 null]
+>> endobj
+3718 0 obj <<
+/D [3710 0 R /XYZ 90 342.429 null]
+>> endobj
+3719 0 obj <<
+/D [3710 0 R /XYZ 90 240.609 null]
+>> endobj
+3190 0 obj <<
+/D [3710 0 R /XYZ 90 181.209 null]
+>> endobj
+3720 0 obj <<
+/D [3710 0 R /XYZ 90 176.725 null]
+>> endobj
+3191 0 obj <<
+/D [3710 0 R /XYZ 107.534 83.504 null]
+>> endobj
+3721 0 obj <<
+/D [3710 0 R /XYZ 90 77.486 null]
+>> endobj
+3709 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3725 0 obj <<
+/Length 2251      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�Ow2P3|��ܾ��^s�.�b�[���%WR�쿿�H�F�
[)��I�p83
�3&FTL�Sl.�O�������bS���r���j<U\#!�i5����lN0��͌`/Hw��͌b/�~ل�4��ݥA����՛ۏ�`�>/~�zGH�h���a��[ۥ52�Dy�aу�a���c��A���T` ��
w�m�����}�Έ���gf�
���b��� 
����?]�&�>��
+� 52�̟E�ݔS�����?��s�_�h��ԋ(��Rʧ�W
a_t؂VH�J���};3_�z��Ҋu��ሢ�l�!��1�t�l��
l1��?fDx��o�GԮ�"e�S<unP�sJi�=�h!��C^L%”
���C���X!N)����랹
+�Yգ��ZH``*��~���ܗ�2�����d�~^%�}�X"�Ցe�Ѐ5.X��$}�e	F�����[��]|�H��.�1�=~�#
%��Jy�p��1ʿ��pу�4��β��������w=���$m��?�����~�������_{&�5R�``1�ES�:�}��m������J���@q$x��>���m�����"���&�bW�������<Dە�����z���$���ou�K
Q�1hI!	s��fcS�I/�7a�m��{�e�`麮�]gQ�7�HuWeǚ3,j�;@��~�S^�ن��]���n���(
;� /�\nVaC�rz
'(�])��ctl8�Hk	�fȗ��n�Ct� Z�-�em��w��ڗ�]w�X"����ԛ_��""��T at rAa�
@�Sg�6�ݟ[�3$}0a�`^�̪xHYDRh�P��:#R"MU[�v�؛4���8��m��>���Q�q����{r����@b��W�#Z��	�:>�_I��۷h�&`�b79��.����-6Qŋ�x� qՅ��M���4\�nY���:�X���LJ��)��!
��]�@���S��N�˳U1�E )C>�/�F�
�O鄯�� `�7yYaķ��p��fxd_8a
�����[���1�j���?�6�I���t�g5`�L b� �pzx�C6-aY�"�v;w�����a��7�a�θ��S�!��g� ����1Ƌ${xz��A�F�z[�[l�dF��'da�@:to�.
3
.a3m��ͼ���'�G���]�G�r`Ų�c��2
M.jp�А����ag[���
+jb�y[	&A0G
��`R�f��>�py�G/
b踫�ȣ��3�D�ԡ_��i�@���X�����+]>&NJ�`�E&�_W%��S%Pb�J0g
h����}�z���k�=@����PzY�q�L�.�����v9��~�����O��l����G��O$��8���y�1�!�NJj�[ĝ���ĝ������̝���ܛ�u�)�;i2�r�EG��q���'�]��yu�����3%
/�

�Hژ4�
��Î-%`����6�)��BAz�UK���u�QEѝk��r��H����;@J<fhtD�I�9W��u& 9b�\�~�H�>��+����b؏ ��1�H�#>����
��3H,5�� f�\�/
^;
]o ^������
����+	{g��1���Z�]S�صˠLCI���ء� c�H��+RЖ�\B�9;
�'
��m�^�f���H���*yO$�glp�D�����"̣|�
+�X��8�N�	�ݰ �,�N������q�g���	�L�~��GR
;�Ґ텋	s��d�B��ɃZ���
+���#�SS����]��O�<X'q�
T��HQ}��B�}f��\
;uЀ:uPc$Y_��_�g�.x]yz��8q�}�:��8��>q`�a����}��|6�]	�t)���:P��܁�M��O6q欪a@[���E
���[��
�YӨGg6�o�����5���EM���A�������8���#���#�.a1���as7���#�HyNa����F[b,9�KU<Οհ $�Ǭ���h�ʔ�٨RH��-x\&Q��5%���
g�b؉`���-�Ft���. a��zN��8�s@��_�W��hrs��������gBx�R?�Ci%�c������H6��k!��n#�B�oZ��kRd)�(x�U����������:
�5�x��4�VU2{��V�
x���wA^qSp��y�90BKM�2�a��s��k�/�]���
��I@����s���
+endstream
+endobj
+3724 0 obj <<
+/Type /Page
+/Contents 3725 0 R
+/Resources 3723 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3722 0 R ]
+>> endobj
+3722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3726 0 obj <<
+/D [3724 0 R /XYZ 89 770.89 null]
+>> endobj
+3727 0 obj <<
+/D [3724 0 R /XYZ 90 618.526 null]
+>> endobj
+3728 0 obj <<
+/D [3724 0 R /XYZ 90 552.484 null]
+>> endobj
+3192 0 obj <<
+/D [3724 0 R /XYZ 90 505.858 null]
+>> endobj
+3729 0 obj <<
+/D [3724 0 R /XYZ 90 501.375 null]
+>> endobj
+3730 0 obj <<
+/D [3724 0 R /XYZ 90 389.11 null]
+>> endobj
+3731 0 obj <<
+/D [3724 0 R /XYZ 90 323.067 null]
+>> endobj
+3193 0 obj <<
+/D [3724 0 R /XYZ 90 276.442 null]
+>> endobj
+3732 0 obj <<
+/D [3724 0 R /XYZ 90 271.959 null]
+>> endobj
+3733 0 obj <<
+/D [3724 0 R /XYZ 90 159.693 null]
+>> endobj
+3723 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3737 0 obj <<
+/Length 2545      
+/Filter /FlateDecode
+>>
+stream
+x��[K������)���<13���d�m�Q��IQmaIpɄh�J���y @|a
'���~�|=�u�,

|w�����o%
4����Y�q �F"�O��}H
}��!`�BDG�+�����|���w滛�w7���
+�	H�`��y�Sx�C��*x�/�N\������`oKuET�[s��̝�J#�y 	C
+
g��O�d],�tc
����i0
+���T�ZoH�{P��2a2t)�8�
i
P�4iI%p%m��g5��9�� ;y�jB����CAA�%<sS�)����$},��I������ҡY���Բ!�' 5��c
�H��աG�F�ܺ{w�<Q>��1�,\�ܵ�'�f��'�v�X%�P�>f33
�1��;%e�e�N�
�"e�J2""�'�MK�*��XmW�C�\:C�i�ac�c��0�cB��$�Ѩ�ӈEW`�`����A#�*��듑?UԯM#��hL0��O��!�ͨ���m:)<T�*�la��>j�b
��hLA �u�xE�Z/�"q�!�f�d+Q���I�����$�W �yx�!�$�J	_u���Y��g��B��_z;"8��U|�vDq�-?ϓi
߿Y<�q�����W�����Ce�1�s�Z��7��S��d�_
����ۇl�N7��H
+:� ��%i�(�JW�ۇ��X#a%	���r�٪C�`����


��7~Ȍ⏉�￰��1Q8�,\tL���
+~oi���?��~&���};ۃm�������W`	���p�w��&9U��`�L�\_��@TUPy�H�`�Fh��1#f�!����H�m�n�40�U
E�M:V{�1m�I��&K���ݢ+�HଊѤ�>'��9�jfy���ě?���g��F�q�n�:�〼Jq1_t�;�,�;�gil���J�8�p���TQ+*41=�LKprM��e��S�bMd�+z!��"�
+fF
�CD�-�8?����>�GL��65�����-WK���jolx� ����SX��Y�k��`���Q�k���,�+ at EmNjt����b
�ɉ���;
F���rƫd
�r+���~�ttN'0A�!H�%@ԉ�n͞�54?$P'>���"�����g�u ���y��x���p��ʡH݅�r2����8�Ѱ
�g�iY
gf鐬�&�V�,�Z���du-W/du
O�����]>c��DJ2l�u�̣�Fq���=#���t�:H��
�u�GGh
���G�(�}�D(��T��ن����X�~�,��}oӺa��{�"��
9~�Q�
�<��q��/���a��d�
� :Y�E���@`ǒ�k�l���ApS	W�Q�ԙ쳩��:wF��F�4��f��a�d�~r*���ɩB
�J���.�G��0N�������-�MnW]cBm#�N�
��N`�A�7X-ģ�g���
�ڧ�fn��Qڼ3°f��c��ƱfsWf�F„Z��a�e͈�Әf���u���3l_��Q�'�wMt[IE��Gޭ�fS�@7��j��ҕ��te_�J�
*���b2/f��6
�I��
��U�
Da���J���p�x�-�˾r1
d[$�s�
�[`�*�吷 aInj�#ECC�9���)���4�����m�0\�%
�������d�?�3�L
�G�D
^iLs�<2�*��ܕ�[ڼ���\듷gVV����CY:o��N&E�nG�ك����_�0p�
��x}����σK�x�J�D:�!+Q�T��8�}z
+�����
K*0�PL�q�y<g��ؓ�t��'
D
+ uBih�J� IҜ��;$MOB�U�t�nH�i�f�E�\P�ԍ��)!C"ih�I�B%(ġ�@���By��0]gK��Z���-��0W�x��Z/��ձ�N��ţrJ0ܪ_��X�y�k)T�j��:�	J��=�L��42=2QyMs��U
>Xs}HO��z��
��
O�4׫���3v8�@$�y~h^.s �(�����Yg���b��5�~��j�H�O���e	»��!�Ѭ-ڵ�@��O}��-�]Glj�6���
�cWf
E����+紲m�H�̉Z��>��N#���w���p����9V�o�/k<�%�s`M|/���W�۴ȶ�y�a��,yi�����_�x��[<��-
-/9ֲ���3�x�y�ӷ>(��k?��#�\՚]��c6W�,�Y�
��]�4$��A��TۣJ
/m������w��Զw�Fol&�����$�-��1�E����_=vȀĽ[M����0�gm �6�j�*_v���v��e;HU�!v�u�H}��'y�E�dz�Y�D���
|sb�T<�{��]"C}/);��g�'Y$�r�_��`"%�_����o���߯X�*a;qc�7�	,ɸ2�܎�"��Ri�����w��M��y$D��8��Kwo�C[��r�ldЀ�wI�������]�f��H�
+r�X߾|��}�$�#�����uf�c
���XƬl|����x�����7y�s�-
+endstream
+endobj
+3736 0 obj <<
+/Type /Page
+/Contents 3737 0 R
+/Resources 3735 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3734 0 R ]
+>> endobj
+3734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3738 0 obj <<
+/D [3736 0 R /XYZ 89 770.89 null]
+>> endobj
+3739 0 obj <<
+/D [3736 0 R /XYZ 90 718.682 null]
+>> endobj
+3740 0 obj <<
+/D [3736 0 R /XYZ 90 667.449 null]
+>> endobj
+3258 0 obj <<
+/D [3736 0 R /XYZ 90 642.916 null]
+>> endobj
+3741 0 obj <<
+/D [3736 0 R /XYZ 90 642.916 null]
+>> endobj
+3742 0 obj <<
+/D [3736 0 R /XYZ 90 570.237 null]
+>> endobj
+3259 0 obj <<
+/D [3736 0 R /XYZ 90 535.567 null]
+>> endobj
+3743 0 obj <<
+/D [3736 0 R /XYZ 90 531.084 null]
+>> endobj
+3744 0 obj <<
+/D [3736 0 R /XYZ 90 458.221 null]
+>> endobj
+3260 0 obj <<
+/D [3736 0 R /XYZ 90 423.551 null]
+>> endobj
+3745 0 obj <<
+/D [3736 0 R /XYZ 90 419.068 null]
+>> endobj
+3746 0 obj <<
+/D [3736 0 R /XYZ 90 324.427 null]
+>> endobj
+3747 0 obj <<
+/D [3736 0 R /XYZ 90 233.676 null]
+>> endobj
+3261 0 obj <<
+/D [3736 0 R /XYZ 211.842 168.856 null]
+>> endobj
+3748 0 obj <<
+/D [3736 0 R /XYZ 90 164.219 null]
+>> endobj
+3735 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3752 0 obj <<
+/Length 2798      
+/Filter /FlateDecode
+>>
+stream
+x��\[���~�_��V���/۠I� �
8�}p�W�Vl%r�Kl���
�Wi�
9��a��(��93ߜ�G.
=�������n^~��� #�
�-F�7HH�4���dJ0��7���f
ݿ�P<�V���|ݿN
6�������޿]FO���ݏ/�#�!����0h.�+wKkd���;�
��
?'�U��N�T`f�8^?��]��/�̈́�q����L�	!V�ͫ���n��#�C �G��ͻ�x4��?�0b`̇����S������7���ꈨ���P�7Ȭu�a�G�0d��
f��<G�xg�$�m�בd��ߺ/�wG�a�`�OZ&�Ƕ���*cF�H$�8%�&�q ��v
!
����;�h���q��5_DR�8P�\z"%2T���[]%i
m�y<!�jo�I��k��
�����d��7�����ÿ�ٮ�7�-�;�[R��,�˯�bO��]
M�{v�d��iB����o��Q�Ȁy���pH8���9"���3㈂�Z!Ŵ[����>���4񂹥I�t��7�.+�-
+\�߃ʛx�_�O�O�G�}|�z[ѽ�-hH(��蠤H
U�BI	�4��4�J�4�C��I�y�f�$�\`�mG�҃H�L�%:0	�8�a�D
b
dJ�0#n	��r	���Ҋ`����6���$⸊dI��(-�j��>���4�"�V����r�����tC	DR.B�3�DN&�����y
r
����I��R?^��AJ�}\S�-�<��e2�tO �f�8�o_؏z�!Y��.��c�v��ԥ���?eI�sלÔ��*��7�Ϫ����2�Ğ�Q�4�ŸH�,���M
�7o�h���ݐ�'=4�h�]�n�B�3,h��[�uU���A�"�z�q?Y��)/(
�aH�)ϛ��9�
2s� 4�({8EGr(���!2�N 3�Z���G�3��B��b
Y�I�混I:��h��cj��1쿓���#�YPK�
@=4�p�T�Lm�K
Ξ�-�[n2��?�U��1Iθ�v4�Q�S�J�*D�
lS��	,����I:��O�Vg=��G�f�6�� [...]
�葦|�h#��E�
ۧ�lYɼ���X{h��A6;���8bH}�]�Z>nY+H5�8�z�PH�
+g�OOq����x{�\!��A�%�ôJ�
�l���n���A�}��~���R�Jsʨ�,��B�o���T����
<�r��3H�v
��
����y������
p����5E�T��_JT
uTTw�
ۉ�վ`펩�3�o�xN�Β"8���z�;G�p���c&Ú� O �Ov�����9W����h
2"�i.��"�>Cm*D�U��B�)�	chަ�mC�/| o�o�)��kUH�j�s4ۍW����@�Ou
+q��8-���P`
���
+�[���6�C���u��Ag�+
��Ru��l�4BD�5�q2o��I�P��ė&(�j<
K�jlݘy8�u�P�v<���I��V=cT��2��r�rI���Ⱦ�@��$����������!sM>,�����Fa��!�o!gm�V��M|\��{_6[��(�l�-7+�k�~f6�3�U� �%�/'aE��$���
���'�R�?�r�k�PX
+B�
>��<v��@��`
ϡ%:<c�ǫ0$�B\
�:�aQe	��5񃹩��|h���
K���^y)HH+��
K6�cRŒ�-u[a�"Bt�&^,�4��
����t��I�>x\�C����zR��܆�L�ҍ��2Ft�.^F��KpF� u�(�bz�A���K*.�������H	
�b�0Ta{ΟA�۳P[3JC�A
�C� Հ�&
�Ғ:0�'
Բ�

T�A�W�{�HBYح�_����>
�N�A��}�d����8L�cO�|� ��t��hy(:� ٓ��c?�6O~�j�H�%H�T��C����kB�~� ��6�=	!�m�]��P[M�BSn'��ejdB29��PtN!�G��Pt�����_��s�)}�g���*g�
�\\�rz~ts�Ρ�(3�²
z �#�\�1��
I��
+E/�t'�����mC�蜆��#I����C���>�w�e�>N���g���Q�cI��
=2�A0~@"Q�I"1�d
/"�$9��/���h {Tu"w��Oŝϧژe���z8x.��L.�PW�Ĕ���+� �8d�?�ļ<'Ҿ稃�Wv���������G�R�����?����6G
���
��}',�@���E�$�j�sS��!���ѽ��>��
��
��}s������CבW5�c���s�W�
�^{����@p�MyF���W�a��������j��?G^]����ҍ%)����
:1�B���U0��u�a:��\C�6TDe6W��g�4��c�o��/lh���|�Q[
ًE-dO�����]>{[���{���?_D��^�n��D��&��%�����3�J�ɔH��/u�O�f�@���kw��m���ľ1�>�#J��ʝ۶�{9eS�
a�B����q\��N���ʳ��'�U!�#!��c��=ݾ|�����#���_԰b^]�/���6����|Ϡ�+X�$%-g&�7X?LT��
+�k��_�?,.��a�F�f0��j��m]8
+endstream
+endobj
+3751 0 obj <<
+/Type /Page
+/Contents 3752 0 R
+/Resources 3750 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3749 0 R ]
+>> endobj
+3749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3753 0 obj <<
+/D [3751 0 R /XYZ 89 770.89 null]
+>> endobj
+3754 0 obj <<
+/D [3751 0 R /XYZ 90 720.814 null]
+>> endobj
+3755 0 obj <<
+/D [3751 0 R /XYZ 90 605.755 null]
+>> endobj
+3262 0 obj <<
+/D [3751 0 R /XYZ 192.853 541.506 null]
+>> endobj
+3756 0 obj <<
+/D [3751 0 R /XYZ 90 535.488 null]
+>> endobj
+3757 0 obj <<
+/D [3751 0 R /XYZ 90 442.381 null]
+>> endobj
+3758 0 obj <<
+/D [3751 0 R /XYZ 90 351.631 null]
+>> endobj
+3263 0 obj <<
+/D [3751 0 R /XYZ 211.842 287.382 null]
+>> endobj
+3759 0 obj <<
+/D [3751 0 R /XYZ 90 282.744 null]
+>> endobj
+3760 0 obj <<
+/D [3751 0 R /XYZ 90 188.257 null]
+>> endobj
+3750 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3766 0 obj <<
+/Length 2706      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�SKΘ�cWI����8uS5V�
�"A	-	� (���=��+�
/�'�d�@\|{Ξ۷8+�=x�{{��������HK*�ۥ���s���o
��:�t��ǤBDKx�����?ݾ�����������+?a�8 �|���W?ao��0bZy_젵�)�ϕ���W8���DT�K�K���J#����N�7��ç,J�� �`
+7���@x,��~��v�ԡ5ؗ�chOj���F��؃%�I�!�s5H{�pDa�s�4�5g����� �
���q6���:��
O��U��
�)�'�ug�^]�����٨��:�@t_S�8"���T�ݐb�(k(z��&S*&_��
+<��F;0Q{�S�$)�(��)u���q\
+�Cy}�%R�_��c�6Ҫ��
���di�_D`�
��,����)Ȣ�U��
&��.��� 2������
a�DL)���-VSH�Q�&�ҬCf�&��)۹�$mC��\%�.�k����]�'�x.ܗe������9�T�ɫ��	L�f�`�	[&g�z�4̶i\�Y�C^BJ�i�d����t�H)U�zպ�
��8F�Q
����S�{3
r/�
���4��T��
+�����Y��?��"��v����q���l #�k�!0Ɠ
�md�
	�=�3�U� ߺ�	|��R�l����H�����:�[ A8J���O�U�����OK��L	��Zw7S�'�j��w��4Hw����p��1xj��E=o~;(Q�V ����X���e~ކ�|�Ovn�~�[�6cPz)�6�Ӫ}d�(kY
+yO���8
һ7&5	7&�H����L(��.�p�Q8%bb@%.��!CR���O�%dD:�r^�7;x c'�n됟2N EC��P�R��~
+yX���&��t��*G,�C$nSLC�Iz����!G�Gѓ3�_�������Ii]7����j�:ԙ�m)�Ħ��t&`[
+�f�8}�%v#r�ֆ��[��rD���İ�(
Y
+
ǚ�.Z�.�xE_�,DU�fJz�_��HBew�$gH?ۺ�i�u
�
+�y�n�v�*y�P��g��xڋ$^��U�S�ڢ��<5E�,�}l��~6l&X3�b��>�6�0�~Y6Px
)���20�b���ڲlXc�ћr	�،[<�D�P��>K�`����b�Oәĸk4	5���axjTMdQ�)�b
,!
�N���f�1�)� �d\������#�
" J�N��MV�Ɲ�2!�D����&����^1")ܼP����Fi N
an
>kي�.FNY�e����1�1�Y�pɠ�]�M߸�8
a_���X8�@�n���!Ou���әr�v�6l�}���TZ^��n(��vo�Nw�0�>W��]�


C
�&A��X*i��}e���W��~-�o��]d��A5H�b]V �"C�V|c���"������CF]ڽ�<�x��ao}�����U�)��1F��[��WP
Lq�6���4Z4ҵ�7�a[U�$
�[·�g̃<
<&y=��9x��y�����V��qq��u�a\�����؈6칆G�
�ָ��@'4�{q�8&�/��5��t>�r8�k/��R��z5�G~���7[#_7.�"�|ZE��}��v����ߖ���c:�V�J���i��r �§���Zv�$�>]��$P�v
–��II���Q��78�u�i~v���n�������<�'H2:���Q�*O;.{^&I���%)=m��:�|M�8�;�
_;1���f�g $gc���Ok�s�z�v9��:���_ �E�q">j��yI��S�=Z�|LM�~���g�����0/��[�;���
�qC�|�ֆ9��,������j�u�m�c(`B՛)��c��J���o�u,��r�� [...]
+,
8a�`��T�!�qI�
`Z�J�i��1Ij
��J5AJ�GR�Դ �{��IR�v��F86I�x��`���]DPϷVgH��%�a��
� �V4�rZ�_�֐NZCi
?���Ik��у�FW�f���<[�� ��P��Lr��N<�<��KĠ.5�_/���8%�cʙ���L��h��o�a]N�d�:��:��1�Mo�S?�q-���X����=�L
+�y/A�(Q�-�R��?�ɨ�0-1#�hW�TbV����_!`��15-�ٞ�g����3K�ηVw$V��.�
$f�l��׉�G03I��afTw13Y
��|�ď`f��/�� u�^$
��\��1a�pkk*s��>&�m6���6�J�<�5g�t+��1�f���3/Ss�(Y�LPV�<�46
4g�����	���ℓ���o��ܿI��	���qd��kv�O�������1&��_;��]��g��߭��C`�
�f`Q�h�5�� ��c�g
+nn޻�n��S!&y��oA�
V���;��V�	���t� �~���N��b���ڤ&x���s>f������ۇM?�����CW�C��.'���rQ
7ׁa���/��[�
+endstream
+endobj
+3765 0 obj <<
+/Type /Page
+/Contents 3766 0 R
+/Resources 3764 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3707 0 R
+/Annots [ 3761 0 R 3762 0 R 3763 0 R ]
+>> endobj
+3761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.931 507.696 186.185 520.03]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+3762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.668 507.696 272.341 520.03]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+3763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3767 0 obj <<
+/D [3765 0 R /XYZ 89 770.89 null]
+>> endobj
+3768 0 obj <<
+/D [3765 0 R /XYZ 90 718.682 null]
+>> endobj
+3264 0 obj <<
+/D [3765 0 R /XYZ 192.853 654.432 null]
+>> endobj
+3769 0 obj <<
+/D [3765 0 R /XYZ 90 648.415 null]
+>> endobj
+3770 0 obj <<
+/D [3765 0 R /XYZ 90 557.31 null]
+>> endobj
+3771 0 obj <<
+/D [3765 0 R /XYZ 90 442.252 null]
+>> endobj
+3265 0 obj <<
+/D [3765 0 R /XYZ 439.299 389.957 null]
+>> endobj
+3772 0 obj <<
+/D [3765 0 R /XYZ 90 383.94 null]
+>> endobj
+3773 0 obj <<
+/D [3765 0 R /XYZ 90 312.611 null]
+>> endobj
+3266 0 obj <<
+/D [3765 0 R /XYZ 90 277.941 null]
+>> endobj
+3774 0 obj <<
+/D [3765 0 R /XYZ 90 273.458 null]
+>> endobj
+3775 0 obj <<
+/D [3765 0 R /XYZ 90 200.595 null]
+>> endobj
+3267 0 obj <<
+/D [3765 0 R /XYZ 90 164.154 null]
+>> endobj
+3776 0 obj <<
+/D [3765 0 R /XYZ 90 159.671 null]
+>> endobj
+3764 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3780 0 obj <<
+/Length 2236      
+/Filter /FlateDecode
+>>
+stream
+x��[�۸���)���@���2(h��E�[ M�}�.[�1jK^Y��|�
�fQ���Lc�E�9�O�C���d
�
|?{s7��N�� #�
�
��
��
+~
+	F|� �����0�v���9�a�}y�WYt���!�����7��?>E�x���7�Ғ%�#e4tZ���l��
=Q^7���0�0Q7�fL��6:
�
*0�ƻ�6���·�1��D�q��[�3¬��ۻ�/328 �;R:X�f?�����!���1��F��S�m�q���<�\���T��㘵A�@�4�п�u��M�
��H�tQ�`;8<�HP58�b���-�kk"bL a�0��]hM��#K�J���{-��>ሂ�+�,
[*��8
�P���Qp���C����$s��O�v����9S��y'y9_��b�̼
+���]K�H5d�l/C�
��1��)K�T���2f6�Uȉ��8EL�:�~-[8�q��}��zD�DZ���˨HVEq���m�~Yl�e��G��a[�)���j�r�Prڠ�ỳU�,ȳ�c%��^��"���d�%��
C�T[B^g��l�����
q�o�/�8�vv�8�M�
�&V#��0S��7���ir�!�a�2(�/�ɨ�� �a�8��V���AB�`Q-��M'NjL���j;Nv*g�����~E�ѦY
��N4�'��`�����&�Q
�
<_p!�%lQy�D��&+����h��=�q
�1�����D6-�=��jY7�ёr������*
�<a�X[���8Β
+
�*�Ԏ��?���&Y��y���q��#iyR0$=�
��$
+�Ѵɟ6��
H%☴�;�e��N����
:�լX�b��#:�_P)�օa���M@��L�W�, Fh�
��	0-�K Fh�`ν�OKk��:�`
K�!��.�
�(����)4�r(0���"��>y�#
+$��~���Q��U
��5��X�b�`�������y��u�\N�}_
}�
+�Y�9�#|<}�������q��M	�
':��J�������^
m8$8n�פy�m�N|�MK��� ��*oh���m:�ND�үm�Ǧ=h1
�
q.�����;T�
���@�Ds�n8lqҳC7��D7���醌ҍ���C�"}�
�p "�R���Y��Y_�F"q|37�ޚ�`|Z���V���3ڬ]�dC�
���X�L�5�;�0�l
�}f�+hX���ͨ�5-�K���������ƚ���Ʊ�����t�P`^�b3}��GH*�F�%��L(�c��2
;�4�J�7gX☽�t�>ɣ�E/WH�^����Xh��J�!�
/��6e�C�0N�\0X�Zp��e�Ȉ�Md���� b�p?Y�D}$B$�xR�Ę���K�Q�0G�+9�yF�	d�"𛬒&ۗ�'����ɵ������9���)0�UO�>��5�
�A5p
+%���QD��xPaS/�Ү�Y��f�����%�Ama�o����<:�N��	o�
�(��h��U:(/�}��A�&���@����@
V���c�1}�H���p��(P��^�=qM���
~H�F�S��=y�nV}��>
䯏 �� =
^QW�Vs�N�*\B��l�f.��p�K��'��@����|�u�4�ιz
��	��$3�G,��GY�N[�{�f^��5��������w�v�&��D���C���j�YA�D�g�0]
xC�-��dW
�|��K��6b�ڢ�����! !��me�0��×��&F�+ m���ػbAM�bO:��`��F8�����
���p��A�@�,
�8���y��zߵ�]VQ��E?����\0��3
�tX�K��d�/{מ`�iR{?�u��w�"�
�=���+
�^��Q*��ԡa^)�v��fb}�pl���m�;n�MtNF�)sڷ6����xx(
F���f [��6mq� �_����ց�ފ*�@�G�Ѯ�#�T
��	S��E	`T���.�֕���~�fy�
+/
�x�jW`nI�\�ʃ��u7�S$4���ɒ����E����:��P)y��Z!atg�{�����?q�ǹaEr���h[~���iNDg�4A��-�K��J���ԟ�6+�q(Dp`�&���|{s��>���b>%�
��� �c���]Z? �$psW<�D���Y>������_fT���>��Xݸ���Rp�q��
27�
+endstream
+endobj
+3779 0 obj <<
+/Type /Page
+/Contents 3780 0 R
+/Resources 3778 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3777 0 R ]
+>> endobj
+3777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3781 0 obj <<
+/D [3779 0 R /XYZ 89 770.89 null]
+>> endobj
+3782 0 obj <<
+/D [3779 0 R /XYZ 90 718.682 null]
+>> endobj
+3268 0 obj <<
+/D [3779 0 R /XYZ 90 684.012 null]
+>> endobj
+3783 0 obj <<
+/D [3779 0 R /XYZ 90 679.529 null]
+>> endobj
+3784 0 obj <<
+/D [3779 0 R /XYZ 90 606.666 null]
+>> endobj
+3269 0 obj <<
+/D [3779 0 R /XYZ 90 571.996 null]
+>> endobj
+3785 0 obj <<
+/D [3779 0 R /XYZ 90 567.513 null]
+>> endobj
+3786 0 obj <<
+/D [3779 0 R /XYZ 90 494.65 null]
+>> endobj
+3270 0 obj <<
+/D [3779 0 R /XYZ 90 459.98 null]
+>> endobj
+3787 0 obj <<
+/D [3779 0 R /XYZ 90 455.497 null]
+>> endobj
+3788 0 obj <<
+/D [3779 0 R /XYZ 90 382.634 null]
+>> endobj
+3271 0 obj <<
+/D [3779 0 R /XYZ 90 347.964 null]
+>> endobj
+3789 0 obj <<
+/D [3779 0 R /XYZ 90 343.48 null]
+>> endobj
+3790 0 obj <<
+/D [3779 0 R /XYZ 90 270.618 null]
+>> endobj
+3329 0 obj <<
+/D [3779 0 R /XYZ 90 235.948 null]
+>> endobj
+3791 0 obj <<
+/D [3779 0 R /XYZ 90 231.464 null]
+>> endobj
+3792 0 obj <<
+/D [3779 0 R /XYZ 90 160.733 null]
+>> endobj
+3793 0 obj <<
+/D [3779 0 R /XYZ 90 107.044 null]
+>> endobj
+3778 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3798 0 obj <<
+/Length 2179      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~���SK�z��(�4I����Vч���E�"*�
+I%տ���"R�(K��^΋E��ogvg��o��{���Ǜ7�����yI�7{�
�7HH�/�>���ɧ�
�#�-w��i��ٽ}v�nv����#�@ ������'�p�#f���5Zy�2�]z�7���-Qa/�Oe`u-#R�G
9���_D��2("k��{h�{S)$��M�m٢����M�b���`M��������h�f�n�eB���aٮ3�D#�Y��Ä`?�V�Ç	�~��.�0

~�� ��ݽy�p��}N��d�Kk�����Vr�-;N��wwA8Q~x\2��t�Ű���6M,
�:�I�;S?O��l%s7ޔ1� ^���Q��
<�r!m��z�Q�ts��&>~U��j5��!���?�����&`qW���{�n=%��ޔRD�._�}�������k2�����E��vN
�7U��yEZ����ȷ9��c}��Ly�jdv1�3Ƭ�D1�r���
)C�i�:#�%��Y�R�] [...]
+�k2�2���/Gq��Q/HQ�T�R� H²���
$�)N�QҤ� �J�0���auM�d���A?.���C.�4��AJ�ӝ5�,���JҢ��0s%c��Ja���岪J��z�fEV��ݫ&޼�ڹ��]��*��St�
b�v�
+���È���5�'��`	M��H��2�G����}���e�H3󍔑3�
K#��(��Rs7cJ�������wj'��S�8>¿V
U��e�8 @���S"�!�y�7�
��F:P0�҆�>��2N�O�b
+�;�15U���f��
H��PrZ�;r��zL7IX�d�	�S��$UA6�I�<�I+�5
����E�
+")������
+�%#�ɣ#���
�
+�qĕ���� %X;"O��+��W
3fGWU����k�\^��.w���
>�1C�b��/+��������Z
+��[W
H^P:��j!^!�8�U�Ѥֈ~�Rk��ˤV�϶Ԣ�
�Z
2c�,�]�a�VO� Qw*g������Gu�����H`}���~q�@�y٣�ۥ�Śe!G9$xI����E<_T�JE�V���ŷ�a��Q���
kL�
+�c���]
�_Q�1���a�\yB���4���W�N�����lJ�v����Pd��Jz�k��(2"�R8(
���Es�x;��/�>�!e���P
��V]����S�-X����j�R���;��ȡP��gf at k����(
�2lĢ|tDWڈ�L��먖��
]w����cF��;
����QO�c����xQ>e��f�ve(�3V�*�vݵ�|��/_(f/���Q���y�|9�yb�B00=��� 8�YP�f�&���l
�
+5K�
�������잣��َ�����75{qX
'
+ at T���O>W`�G���VgL��0�׬>�8�܏�7����
o��P?M�ګ �7+G���ń�n���3����{� l��V�OCO�`
�T
�u�q��ϣ<�,�2�K��f�:��,*6Y��;
��7f�]�5߅?Ѡ�h}*W�i���
F�\R�q߮���	�]��
bTww �/;�
;0^Ne��A j����mo 

�j[ޒÏc�`��8���� �$}�� 	3v�k�^E�R����[1w�@�ϛ��_�`�j�`��۸�� _��*�{�O!�X�V��7��L���k���)(:�h>wa�u���a�Nu��O+�Ml7�����4xdO
l�ڣ�+T?|����{
e���W#�� ���]_,�GY�I�QX���(����럍��q�вGp$Dʋ�X���>n��(yFPz
���e9w�a֓M@֘U�E����U`����	�Yi
+endstream
+endobj
+3797 0 obj <<
+/Type /Page
+/Contents 3798 0 R
+/Resources 3796 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3795 0 R ]
+>> endobj
+3795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3799 0 obj <<
+/D [3797 0 R /XYZ 89 770.89 null]
+>> endobj
+3330 0 obj <<
+/D [3797 0 R /XYZ 90 721.073 null]
+>> endobj
+3800 0 obj <<
+/D [3797 0 R /XYZ 90 721.073 null]
+>> endobj
+3801 0 obj <<
+/D [3797 0 R /XYZ 90 658.004 null]
+>> endobj
+3802 0 obj <<
+/D [3797 0 R /XYZ 90 604.315 null]
+>> endobj
+3331 0 obj <<
+/D [3797 0 R /XYZ 90 557.689 null]
+>> endobj
+3803 0 obj <<
+/D [3797 0 R /XYZ 90 553.206 null]
+>> endobj
+3804 0 obj <<
+/D [3797 0 R /XYZ 90 482.475 null]
+>> endobj
+3805 0 obj <<
+/D [3797 0 R /XYZ 90 428.786 null]
+>> endobj
+3332 0 obj <<
+/D [3797 0 R /XYZ 90 382.161 null]
+>> endobj
+3806 0 obj <<
+/D [3797 0 R /XYZ 90 377.678 null]
+>> endobj
+3807 0 obj <<
+/D [3797 0 R /XYZ 90 306.947 null]
+>> endobj
+3808 0 obj <<
+/D [3797 0 R /XYZ 90 253.258 null]
+>> endobj
+3333 0 obj <<
+/D [3797 0 R /XYZ 90 137.792 null]
+>> endobj
+3809 0 obj <<
+/D [3797 0 R /XYZ 90 133.309 null]
+>> endobj
+3796 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3813 0 obj <<
+/Length 2298      
+/Filter /FlateDecode
+>>
+stream
+x��[ݏ۸�_��V�\~S\����H�-��
��]
�%G�����P�dI����{�K�����p8��
�x��������'�<����{x�4��HH�+�>�#>����aJ�f���Ôb?]n&���_�,̶��o�=~\�k3�����O���͑�LZJ�S5�33�Dy=�a@�F��z��OIx�
�|:��0M}�Z/��TO�a�M6%�o�9<R�	�aeN~|�|��=R�C x����g�E��g#�|+�<N\�����'�y��"*쭽8�̝΁FsO�4�4�r�s�2�U��y�מ����V/�=�p�`��Z&рm-��*�=�%X
�
+�	�B��V��D�a��aM+�_����H
+o�C�W�H�4U]=ަIƉ
�b�bu�&/��j�&,��o�rY�=��a��
K{��m^�Uu�>7��"�Y��yQn,�H;u�����ֿ1fn���(�t@�1�"Ϋ1
�)�9i��~D"r��Ʃ������P�<�����f]İ����@
+X=uT��*�dt�U:`�
�2�zR	\I_��YKb��pD!�*�񞏧Bf �K�1�V&/���8�r�
�q�fS�����$�񠧘� �h'X�C��2��ꈡݭ�5�Bױ�a��S*�o�tư�������<��IS7��$�C��.����I��T�G1�N�i'�t���ii~��P��lh2
+.����M��S�p!e��_z3*!���feBs̥���|Q��.g'��)d�U�\n]�߬�iV��i�+o޹q%h+o�tڝ��L#&o؊�sH�7n
�E��

�(�ˈAH8�\Ԡs�*�$���p�o۵I ڰ���L P���#�S���բ�4��p4x��z�M�_�v�䘙]��,�Q�q���Ⰵ�e
J�����}Po�
U��D�
-�Ғn�b?��JQ��LU3gfo�S"��R 
�lh(&�NTW�.d�$]�Z�\��������
+*�{`
	�C�Z�=���K�]�M��� �Pn%���ܧ8YƉ��:�D
qy	| &�^p��K�
 
��
)��@��
�{��|�ĶR~���K
�Q�
�1T� �x�Z������[(C6g�U@�ֿ1-�&�����K$* aJ//�y��

+���ަ� -�Ѣ�\�Ŕ�e��}7T���)�r��=��53��R'�$w�
���uwP�b��2*^�����}�W��Y�i�S���X<���*�v��-P�s�g1ݫW�p�c���%^����x��
+v��]nI0.�}�e�����R#Rݖ��.��,�@uG����=C���
;�S�W����Mu���I$��
+'�d^��a��z�5eB+�������}�����o^o.�(J�iR��
+�0�7�2�WoJ�Q�
�c
&ը'��U��I:
��[�D��
�ݬ�s�x�އj��ɟ7K�lVMil��KT�^f��dN�2z�
� x2`H�+�&�@#�M
�X�ZN����cX
҄"�BTs��OA��)^�O!��Sd*M�@� �c@`(7u*Cʊ��ַ�X
�
+�\C&cVmGt'�!�Vsbƅ��
mUx�OQ�~ߵ<�2�/hP
Ȁ���#�'EJ�n{�y��Ú����}�nH
iӞI���
+��uϡ����O�&iN#�>���M�jSD�0Wz��*
��:@<���F���~�${��#�����B
�Hg�! pT�$���7*1���h��굹]�*t�ޅ{\
������CW��}���ٙ
��]q8n@$
�<��^�e��Bat��o
+�A�����j��-���=���vO�	9�)@-

�;�
�Һ+�3��
+
1u�-б��(w�`[��$�2ض�it �o�N`���"���P��L�|��
�Q R����M2O

�� N{��~�\����Ӕ
8���A��(^���k�Y+�ՙtwRs6�Ұ�����k絖�3ᡵ�+u�b��.�����tu��.��4�%{Fq._�v
���@ �c��ҭ��TP��Ķ�E�R�rG�X�9`:ҷͶ�[���n��)�u���������
�1��
@��v*�?*��9��	<"l��Z��v?����ع�塎� b at r~�]����>�Z�@��8�w���0لn�lm�j;�&˫�?<$ۚ��1.qTJ�ǫ�~��In�
+
	�t�E����{ڼ�&yA l��G� ��I��e�ߞ�5H�x�
+-EuQo���C�	p�X?L����}����{p�~żw)8x�Z����
+endstream
+endobj
+3812 0 obj <<
+/Type /Page
+/Contents 3813 0 R
+/Resources 3811 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3810 0 R ]
+>> endobj
+3810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3814 0 obj <<
+/D [3812 0 R /XYZ 89 770.89 null]
+>> endobj
+3815 0 obj <<
+/D [3812 0 R /XYZ 90 720.814 null]
+>> endobj
+3816 0 obj <<
+/D [3812 0 R /XYZ 90 667.125 null]
+>> endobj
+3334 0 obj <<
+/D [3812 0 R /XYZ 90 620.5 null]
+>> endobj
+3817 0 obj <<
+/D [3812 0 R /XYZ 90 616.017 null]
+>> endobj
+3818 0 obj <<
+/D [3812 0 R /XYZ 90 545.286 null]
+>> endobj
+3819 0 obj <<
+/D [3812 0 R /XYZ 90 479.641 null]
+>> endobj
+3335 0 obj <<
+/D [3812 0 R /XYZ 90 364.951 null]
+>> endobj
+3820 0 obj <<
+/D [3812 0 R /XYZ 90 360.468 null]
+>> endobj
+3821 0 obj <<
+/D [3812 0 R /XYZ 90 291.894 null]
+>> endobj
+3822 0 obj <<
+/D [3812 0 R /XYZ 90 238.205 null]
+>> endobj
+3336 0 obj <<
+/D [3812 0 R /XYZ 90 203.535 null]
+>> endobj
+3823 0 obj <<
+/D [3812 0 R /XYZ 90 199.052 null]
+>> endobj
+3824 0 obj <<
+/D [3812 0 R /XYZ 90 128.321 null]
+>> endobj
+3811 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3830 0 obj <<
+/Length 2746      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��F��`\	`'ә&�3N��ɮ�
�W�j9�H�����s �"%�N7�O� �� ��
@4�4����۫��,�!�ۇ��@KKT�f��c����ρ
a6��\������/�7�w������.0O@m�����̠��aM��
Z�
x.���_�h�K�$\�+>*��Cc	�2�LC�g��i�*�,-
C[$���3�[�Ӑ(��r�6�l��E�k�a� ���
�0���YO�I�k�t�L�\���E�
��>�qB����S����$
K:�-��]���
͟�qZzy���,](,�o�TIX���4l�!��p�Y��c���}N���(y�սx�e�;ɉYmG�S*� �ڃ�5͘�1)��.!���3?�4K��S�N�
��"ܨ��鼇,\��Σ<�dg	H� 
�$�4[��2�_�d������K�t�I!I��fz��N
���@p\ޭR[
+4�0J騌��ETV2c����$��w~D��&Z6��U�FK� ��=a	�6�kA�N���1��,�U��1w�
��onj��,���cNG���1���ݛ�>��������y�V}��k��w��[ل[C����R��+�-�5���<C�i�
��B0
�\�7�q0Z�hƶ0-�B����ܟ��gVrֲAf�8�;)���̣$-
�nn�
):�H��
I;-l$�CC��� ���b#�U_���n��HaZ��\���d=^
����V��'�"I��L`�Ɂ�h0U	/
�A�/�q�]T������=�g�7�������>�#���e�q�e��5Zٝ��;���>{Jg����
�
�@���K�yOP�`&
?"*�CQI�X1�fc
�!�0�4�<|oj�'����q>flt ���?%�S6$��3֐��C��]��4'J��q�K�K�'Q�A��Bu����[�B��B.�z�Ă[�pq��.L۾�7k��F�y���"���DS�rNE5�1�(�t�Ҭ���
��
G�7��hU*.�y��8��
�����c��
(
+���س)��۔0�k=8nS�Bȴ�&�_���ci�TC��Kp��x(
�
���m,�L��Y���z��Y}B�0
R;_^��H��砆y	̓HM�su4����?R��@jRK�@
)IΎjL�qZg�u-�h�f�)�N���i�dJ
�ikW4��i`��nⴝ�KP�FU�˜
�Z��~���b#&����m�	b���<al�|vp�.sVC��$�VR/t�m�<�.c��u�p�3ծ&��p���������
+�qk[~���:�o>O�����v��k;�-��-&
V��L�Q�?� ���q��	 �f?��|��3���
+��L(E�f��_��7o	q��!�Y��%�LH0Sp�C�!WZ����	�:+�������/��V$���"��� da��"3��&ݽ�
js ��VJ��7!���o����)&f�c�b���v�*�%EH~�+����E���
�G��+�E!�D�>S ����0�E��AP��-�{���-e��|4��`�Ԉ �)�Nj�%I!\:�m�>@��F�
1+
x۰;+
�A�ڞ������׀��j����
��e��g����z1}MJ�������G��p�(��aw�0
+V�o�-,��
���m�t�g�	}rv���I�;h	vm	�}��N(����
�S,ģ^���E�
+!M�P� �G:�V��y�>ۅ�N��'ڋ����o�@��Ƌ�R.ɺ�w��Z@��J�(��b�G�%	y���j qK�W��i�VNJ�
/�<�?�}t8	�<�8f�!��[
���x(ɪb�4g��a1���
���N���U�ލm��f���s��׫���!Rn�͠��뮰s
+
��Q�_Vy\����?�� G[[c�J:���H��d
+�̍\�%��,1ƜU�����x}��?V��n��a�i���):��,�D
����ܘ3At}X�ɡ�El�V�:l�K:�	Ә�r���?��kK}K����hQ�.�ڹN��
p��*�YeގtUv�rW@î�R�Z������kº��(��9t�'EV��l�Q��c�� ���m��Г��4�]
��4���U�xws[U��N���R߹�ک�
o�i.C�֢�6��p�����7�N�\�H��t�#L�0������Z�e�Z���a���kk����@We-ГTd�o[Y
4��qm�\�i�\�?���+���
CÇ4��)�Vg��C.��3�!�
{3�+��~��Yo���2�@
�6�UƇ\i]�Xꙕ��JwUƻx�2�N��T��>��}��t7��)ɯ�:��b_
�������nI;��9
?Tw?_
v�(�K#bX�?�涾=
���E]��r��N���_u�b��z ��%�Ѵ�
.�f+����
+/<��,^���?0�-\���5�<N1@ֳ�[�:��]�E:��ԑ��-L�<{u�ÝY�ϖ�Y���rQ]I�V�<��,=+.��"Qc�����1�O�lC��p��t�
��� ���	��8�?��{�(������2���l���������~ؚ̀��M�kE5��P��e������
 ��o���wE���T�E�ST�S�����ER�_�P�\U�u��׿��~����GI�TS{,�����O�"N�s�����k�A��Yf�͆�YgA[��7���
+endstream
+endobj
+3829 0 obj <<
+/Type /Page
+/Contents 3830 0 R
+/Resources 3828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3825 0 R 3827 0 R ]
+>> endobj
+3825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.403 261.677 224.563 272.581]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3831 0 obj <<
+/D [3829 0 R /XYZ 89 770.89 null]
+>> endobj
+3832 0 obj <<
+/D [3829 0 R /XYZ 90 718.682 null]
+>> endobj
+3337 0 obj <<
+/D [3829 0 R /XYZ 90 684.012 null]
+>> endobj
+3833 0 obj <<
+/D [3829 0 R /XYZ 90 679.529 null]
+>> endobj
+3834 0 obj <<
+/D [3829 0 R /XYZ 90 608.798 null]
+>> endobj
+3835 0 obj <<
+/D [3829 0 R /XYZ 90 543.154 null]
+>> endobj
+3338 0 obj <<
+/D [3829 0 R /XYZ 90 508.484 null]
+>> endobj
+3836 0 obj <<
+/D [3829 0 R /XYZ 90 504 null]
+>> endobj
+3837 0 obj <<
+/D [3829 0 R /XYZ 90 433.27 null]
+>> endobj
+3838 0 obj <<
+/D [3829 0 R /XYZ 90 367.625 null]
+>> endobj
+3339 0 obj <<
+/D [3829 0 R /XYZ 90 332.955 null]
+>> endobj
+3839 0 obj <<
+/D [3829 0 R /XYZ 90 328.472 null]
+>> endobj
+3840 0 obj <<
+/D [3829 0 R /XYZ 90 234.454 null]
+>> endobj
+3841 0 obj <<
+/D [3829 0 R /XYZ 90 144.501 null]
+>> endobj
+3340 0 obj <<
+/D [3829 0 R /XYZ 406.869 77.486 null]
+>> endobj
+3828 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3849 0 obj <<
+/Length 2988      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S*��܇c�&$��]�i�D�l%RK�����g.�8u���O���3���f���G?_�p{u�V�H#-��n�Ƒ�		��ѧ���'c<z?&x��������Q��>��2�{�Mˤ�������LJd�������-!-�Ds�t
�Z�u�3�L��/���Ј0Q��S��L6��
+
�4
���2�R7�!]��ģ4����L�Q���O�W����q�H��lu��O
�a��#�y�/�"N\��ǫ^a/Y`E�[s�rZ��	A��F̈!*�����}1(�$�J2�����
�v����,�ƽr�@P�
��;����CB�S��~�~�+P�$
=��%�}m0��Vp
�c*�HǺQʾ�,���~�f��|�Z�/��1�"��i�bֈ��&�@&�c$� �Z��Q�	��R�
}
n  F�-9P��ͽQ]��e���c�������t$5�H�ר�J�0�-)R
�L����i�̱B���̬1�	g~Ϊ�
�� �X
1+�)%�Y�Y�&eϼ�D�� �2�HgZ�r�3� G/�W8
&��~~���3���
O�ƣY�o�
�)j�������1m��"G�o�Մ	nH�pt�
��d!���
|
=J���R���B!:�v��H��;g�UΑ
��H�s|����QXv���7���&�Z���'�L՛>!i���靂�R�r�������D` �s	�
�x��}˃�>��	N9
�Tf���*Ր�z�RHB�"���]M�e}% l6��r�]�0���Ǎ��K!~r�^5At�?e�q�Z��9��[�&;!�D
��Dp\��"�
�Q�����v���W�b��=��^�~��>�wہ���?�x(�,��
s7a�߻U�"�P���n���
�
7�
��{G�����/=n�|�
+w��U������t��T��2��I��\M��B�U��1�jt�Cm�	G��os}��`Mn��U�iٛ��S���^���)VL��v�~m�q��u:ˌ2����q�_ q���0�B>$v�m)�^:p��
~Z���N�Y�x��y��h�^�	�����Y�
�8���zL���lG��R��#�|�Q�8�
$ء��sx�eP�H
Y=�!

�@�-^�Gh�0�����Vҥ�c2*�υ	�p1$w#�	iO&'ˍ{d�f��x���z
x�.���G��1�'e������?��H�۹�±C�J�G��� ��b�қn�ꗪ(�B $&�s��_z�R�U
��"]��Hβ4������[P�i��t��+L@G.W�A7%��� 38EHC��@���
+�:HV��8���y#��	q�aq]�����00�
<򀁻 0�r
x 
y���̓q��

8��1��?B̥�:l�@�A�9 b���á���ʽ�NCҗ�FBP۪u�3H��
�$n^�N?p���
K��Y<�Z ���|��\L���s
�1��
��2K�F�'2�3r4�MKY
��n2�/���4-��HPv�A��.I�]��
)S,j"e-��P��!�!dh��M5����1ǣ�d���
���x��O1G1f���D�Ke��!ձ����ޔ�+�}(
#�=��E_EJ������[�rLZu=.ʾ���Ȍ_R	�&�cχ�y�� |&Yncd�M��[ս�N�M at Z\�!�o��R�dd��?�QC�
'�b���1S�-_+ۀ�\M����}^b��E^�o!
���-/Q>��]Z�cnڝg��o&�ƙ��ԙ�r�39�0��۷ɋ��$����l~y�R�
+9�������$�5h�	�H�j�ق���1�91�_��o
ˆ}��n*ӃHf��5ԺL�d�yU�몘�Kw����K���n�suSk�{��YճN���EP�a[I:�f��諦Z=P�y�V`R�T�օSY��j����uY|�V��í�8F��,L&����D�:# I�:��aYev#��h�����k�[�*<$���!	�I�!	�P�<q@qz�!	~�!	k��o�ʜ= 'yc�N �
+z�tB}*t��6�Y�� �
�6��N}
+��o<�xBj��_�
'D���`j�G
�+^���yR�>I��>�)�bd��Ӑ�pg�h�y.Y
Vez7���X^���m՝���d�-4��� ����ٲ=�s�9T@<D����Ҷ���,��8�5�}N�x�fץ�k�]nK\f ]M���v�qz2z.�H�_)�?ssX����0Ё�C���h��Rb�����cf�Y��w�c�:>zfMì��+�U
x�>f6{��>�Y�sVws��l2?�1{��[P�
i_S|Y��j�>��f�Q"��M�:�b�%���"��^��S�ǃ�چ\i]
w�zay
��Py
��<~��V�}Y�,�Fh�d,OE�
�b���0��;x:(@/��[uS�� e'fT��yS���u�I؟����q��
Ԧ&�}��i'�,����ݷ����C1ߠ��{�Z:�5:�DK�� I�ѵƠ�,�!ݞU��5�,�k��
����k���[G�n-�*�z,��!;_���=�*���@
6򀃥���'�'_�O�Y���
XA�m$p���M�B�$���z]m�����`w�%��2�Uw��9-m�t�$�1;���7���&������~9��~��m9=K�i��%�s�#~�n�5��j�@ѽ
+�
�5��^|�����J_N���걉
E��0`�3�fH�]	��ug)F|w,�t�,�~=K��&�d�I����H��rs�Bc�9
{ E^���
LSw�
�]w�[���7
+%.;��H���͹Y^wX�Jw?���wޙo��/�,G}2#�����5�ʝ�"����cZ�1�慨���r�
+��kz��������~���D��!h��ծӸ(��������y��Eu��	�R ��^ ���Y0QV���{����\��bяxV�
JL��
+endstream
+endobj
+3848 0 obj <<
+/Type /Page
+/Contents 3849 0 R
+/Resources 3847 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3826 0 R 3842 0 R 3843 0 R 3844 0 R 3846 0 R ]
+>> endobj
+3826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.245 649.984 224.405 660.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+3842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 222.384 174.682 229.91]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.874 222.384 241.631 229.91]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) >>
+>> endobj
+3844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.796 115.968 258.368 123.494]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3850 0 obj <<
+/D [3848 0 R /XYZ 89 770.89 null]
+>> endobj
+3851 0 obj <<
+/D [3848 0 R /XYZ 90 721.073 null]
+>> endobj
+3852 0 obj <<
+/D [3848 0 R /XYZ 90 622.138 null]
+>> endobj
+3853 0 obj <<
+/D [3848 0 R /XYZ 90 519.831 null]
+>> endobj
+3341 0 obj <<
+/D [3848 0 R /XYZ 406.869 443.228 null]
+>> endobj
+3854 0 obj <<
+/D [3848 0 R /XYZ 90 436.588 null]
+>> endobj
+3855 0 obj <<
+/D [3848 0 R /XYZ 90 356.059 null]
+>> endobj
+3856 0 obj <<
+/D [3848 0 R /XYZ 90 302.37 null]
+>> endobj
+3847 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3863 0 obj <<
+/Length 2305      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F~���)+UE�_\[[��LR��&��6/��
��&+�h&��9�
���%��ü�����}�G���={5?;�F�� #���w����		�n��B����w�#�)w�����a~i���~F��� ��������8����E1���n�2��q]��t�k]�
������>ھ�@D7�B"XF�D�W�:�N�Fx�~&1�IY�Mu�^���,p=�Zb_�N����t�de�gW��*�#�l�G�c-���kG��YY�=>�b��kP����Hܙ���ͨBB+oZcB9�Q�'�C�O��ߒ�ʟ_?�c�Z-
��~k�3�
���[�jp����P�i;���
���򭷔���>m]��&�禑#{�D1�5cb�؉-�j]de�P�ax��]�(�
��"&t3*����
�8�
p?�ʳ�u��~<
��p�� �_'7�2)��d��
�RL���>���h6]�0�6�Y�u:��!��3�!V*������͓J!I[k��G�R�
`�:��Vw�'�
�\!����W�@bӲ��S�'yڄS���
�� [...]
��1y\��m���1���:���̎��”wf
+QN6c֗���vL���} B���L�oÕ�9gN�u�a�

�$Ң-��5NAන��t�)T��L�3WW76ڬe�:d�(G��0>N�
s�VB��
��5Hk
G+A6y		
P*��L�P���}�ӻ����
��j1Hԃ:B_V"�	I6tH*��S�u0�%�s��'	)�T&���"��8U�0�%�F�@�y�Ú�-p'w�6׽�c�X4]�;�1�E�	(c��v��$H��G
��%�f����\h(�B–7VW�7�$+[f�$�!i�I�a`~�OƗ�S
k���d[�}�#�]�J�h�It7��B(���yRV� 8��]��W��LM�א*�p�S
���P0�n[�G���,݂�`�:(�)��Y
v{:�gI����0�ֈ8��Z�+;��`��|
`��@w�.f��SbuwZ�H��qS��Å
~p% �����4�S�)�Ĥ�{��Ė �b�R�.})�.��G	�Z�}��r4��[
�E�#��j�`�C�m�rӡ�
3
j�LNJ��tt1=FAR�U�t�k[�c�uk-�Y�L�i���T��Ծ�b��N
�_%�1L�,��b5�]�qj�d5������È@meW{�Fdך%#���%:�ƴ���FbD����.#"�E@�-�E'*�K�e6�(�Z8���M�V$�c���%>�'1 ��N� ����d���
g�
��K�,�#�˒���I�����ƒF��!I[�6$i��}
)�3 I��$)hlP�
	"&E;�}�BqY� ��efw�F�N�����`����Hw�:�AV���(�|(k3��E�Y��+W�j"ٷ� Y�0ȁL��0ڝ� QQ6n�8E�^�pq����
5f�6���q���D�n�
@��\�uD��U�e �5�Pҫ]��l[�5�r�!
!�1@� �R��4��n�ڴ�4��4��
DqSo0zo����3.�Nf(
���?�Ve��=^�t��R��D
��97��G�
+-&�T��L:<�+�r�ـ+�f4 ��t"��vv1����53�g㴡�q��@b��r| X�f������3j'A"���� �n�%����L�]ԁ�:�yG�)k��~b�hppLK<�eꑋ恥�V��z����h�l���b����@�u�l�N!ۄ�7-O��v�eY�#�aק ��pO���(�eׂ��'a-Ő��eEqU�Xl�
� �5�k)���e����OB��S�x�2^,��^X|��ҟ�
Zn��ໟ"��=�R�����>�3&HmE^
�,��Q��
�tp�C3&l�	�$��hPp<+ �y$

��


<v�v&��K �R�SD������e���Et��~��wx&ʕj���sw�y��p��%�^� l#n�f�Mk�y��m?z �;�zL��������eR�c*솽���8[�����zRl�����n���ۃ�e�,"{��ߪ���

}GB��顪V�����2��D���y�}����]^xe�yѮ��ť�����Oyҗ_
+endstream
+endobj
+3862 0 obj <<
+/Type /Page
+/Contents 3863 0 R
+/Resources 3861 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3794 0 R
+/Annots [ 3845 0 R 3857 0 R 3858 0 R 3859 0 R 3860 0 R ]
+>> endobj
+3845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.796 709.04 258.368 716.566]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+3857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 612.245 212.124 623.149]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+3858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 438.719 210.103 449.623]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+3859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 335.311 485.603 347.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3864 0 obj <<
+/D [3862 0 R /XYZ 89 770.89 null]
+>> endobj
+3342 0 obj <<
+/D [3862 0 R /XYZ 227.473 671.568 null]
+>> endobj
+3865 0 obj <<
+/D [3862 0 R /XYZ 90 664.928 null]
+>> endobj
+3866 0 obj <<
+/D [3862 0 R /XYZ 90 586.401 null]
+>> endobj
+3867 0 obj <<
+/D [3862 0 R /XYZ 90 532.712 null]
+>> endobj
+3343 0 obj <<
+/D [3862 0 R /XYZ 90 498.042 null]
+>> endobj
+3868 0 obj <<
+/D [3862 0 R /XYZ 90 493.559 null]
+>> endobj
+3869 0 obj <<
+/D [3862 0 R /XYZ 90 412.875 null]
+>> endobj
+3870 0 obj <<
+/D [3862 0 R /XYZ 90 359.186 null]
+>> endobj
+3344 0 obj <<
+/D [3862 0 R /XYZ 90 312.561 null]
+>> endobj
+3871 0 obj <<
+/D [3862 0 R /XYZ 90 308.078 null]
+>> endobj
+3872 0 obj <<
+/D [3862 0 R /XYZ 90 235.215 null]
+>> endobj
+3345 0 obj <<
+/D [3862 0 R /XYZ 90 200.545 null]
+>> endobj
+3873 0 obj <<
+/D [3862 0 R /XYZ 90 196.062 null]
+>> endobj
+3874 0 obj <<
+/D [3862 0 R /XYZ 90 123.199 null]
+>> endobj
+3346 0 obj <<
+/D [3862 0 R /XYZ 90 81.969 null]
+>> endobj
+3875 0 obj <<
+/D [3862 0 R /XYZ 90 77.486 null]
+>> endobj
+3861 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F60 532 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3881 0 obj <<
+/Length 2750      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�8~ϯ�Ӯ
��)f/�v�:�t��}��ˎ����r���=$u�,�I�L�A�,���9���}���2���3l.������k����2�\�k$$|�&#>����ݔ�I����wS�'���6������:�����/���F�x�����ׄ��͑�!Lj������
3Q^�p�#C#�Du�ߏI�qm���i:�כUT�n�x�SN���gbB�62�^]�}:# ĹC 7�q0����
��loZ�2�\���u�=?[��
߿� 0�v/b����E���J!I�
�d+�x}Cq���hm
ֺן��X��C=���b���:�V=^�`k��IA"�
2�ר�*c.��
ܬ��θKW�..v�
��^�� "� �	~((ҡ�#a�bH`fE�J��l��{��{�PcLK1E�KZH�d���
K	ޓ���H�z�d�3'S�`>ʜ
CPS�xJ��KtS at .�p�_,�tƅ��d��	i9��Rs b9G!�G�W��<����?UT�Y�}��PV7����Y��!�Ƶ"�t���G�XU�8-�Rg

p6d
��
݃o��zR���¥��t�n/��S�uKM�ӰQ�
59@��6ٺ{<ŨB��7r��5W�PҎӤ�4.�n�X�!��
��ⓤ0�a��K�����z�$�5&��$�S=��"��G
Vْ��.[JS3X��s��{f�1��I��.�նo:F!�t{:ӓ��s~?��5LkuF9K'�՗�xS$�پ��O�����/A����X)l���疉�W�$�!�8(�ƗJ�t%���v�pD�ǥ�<-!�{X�@23#E�~ʭͶ�_\$���]�J�WQ>ej�ܭ�p�5�
C�5�s<;�)_PZ}CM$9d��;X#�|;/o�lJ��s�B;�v
�@�1ʀl���2 Q�ԡr".���%P�'�4[ȦY��d�MT$׫
^+����br8{@"'d܌<E�Q�/B "����w����~��r:؋�!��
+�2�Q������E’TP
�M$�cLk�%�ʟv�jPj�#�L
�]���i�� �E�(�JZ{����j�j�(+K�j�Y�g��(� Ǹ�V�
�`��K���A4�d�i�*�dS=L��4%�e_��j���%o1�K�b.{y��6טsJ'(��h'��`'�z��(�&.3K\�x�{C\�C����
��3��
��OPeJE$��B6
�-�gy�=���0FAa$=�LK[8�o�G�--����E:c�1-��K��'R�����R����`
+���Q����0�_0��	����
g��Y"e6�3V�Y�0t
��ҴY�;�淲�K����iܙ�#S*������{w���0PTsl��jo���t�Th�Y%i�.�wx��rO�<��l���&�;��R;}e���-�a4��N�nl�tƤ�$�븸���:�?�<ޖBn��-.n�xa2ҏ�$��߁	��M�#,*��%8����NVI�w;��>�<2c�!v��Q�ʸC
� ;#
�@�U>W��ȕ�C\�`y�+�璉O�d�w&	����ɗ�#|9�rJ͗��b1U ���>c%� @B�4�
G�4�� 
�|(�����x��<�dJ���U���?�K�ڋ��4dc�{���r��J1|{�
�+c/�2l�������ۂ�(�Ў�2
+�D`2�1 �<P���:-E`-
����D�� Pv�D$� �f�
�(�D�Bd��hDaLK+��1��D���;Q�D��5�B�k���<E��C
+��k���g
_��c����}�`�!��v�KM!A��%X��nk�x�GBl�i)V��(oZ!�|����DB�Q&��!�'�������@C��C ���ʠb�q�	V��}T�j�$_����Og���:����x��9x
+�.�,���
+��僽�p�4��S��r�9)n�j��&�GP-?z�%�Y�=Ȫ�jK�E_��Ԉ:�w!��&XE�7�(0h@�i�� 

b��L���|ȷ`�q�)�
��~*ţ@�;�s ���)_����
2-�&���Sc���S at 6�	Hر@���V �c�A�g�d�&[e�{c�>�?}A�̈Ta8j�$�('�����sq&���j ��C6PC����-�����a


-
DH{�L���ʬ��'m�r%�d�_�d
M�&�W��BYP�����&{��?�?3Q�D&M{� 
�ۅwf1�
+K<��ϭ���.C��2��]��IG�ի/�G��Y��)
+�V
���Գ�!6����٬�1����2���5X�S֐)c����]�"��b{qQ;�@8}��i�s
+1�=y
���=�<N�u�FE�� ��
��1��z
X
�޾�ҾW6�@��-��������n��3��d�_0�	�6��t���;�惜�(�g�9��$�2�6�E��6Iq���;S���ףڽ7j-vi	���:�l,�2_�	^�񡆠����ޗ��Z�%��3��(�B��K?UY(�;x e�y-�
\����bM��Mi�
��R
y`�j��ⳝ��1 at y��`��)�])y	,��

����޽u�b�������;{��&A�o��Վ%�&�9��v�>���)������uQ���p���ۢ�\��_��8]" ��)޲C�+�����,�y%
�-�GU��q&�&)i�	p�'@d�W�w���Ճ����5
^f����*��@
+endstream
+endobj
+3880 0 obj <<
+/Type /Page
+/Contents 3881 0 R
+/Resources 3879 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3876 0 R 3877 0 R 3878 0 R ]
+>> endobj
+3876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 242.274 293.971 253.178]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+3877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.332 105.295 235.598 116.198]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+3878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3882 0 obj <<
+/D [3880 0 R /XYZ 89 770.89 null]
+>> endobj
+3883 0 obj <<
+/D [3880 0 R /XYZ 90 645.919 null]
+>> endobj
+3347 0 obj <<
+/D [3880 0 R /XYZ 90 611.249 null]
+>> endobj
+3884 0 obj <<
+/D [3880 0 R /XYZ 90 606.766 null]
+>> endobj
+3885 0 obj <<
+/D [3880 0 R /XYZ 90 523.95 null]
+>> endobj
+3348 0 obj <<
+/D [3880 0 R /XYZ 90 411.457 null]
+>> endobj
+3886 0 obj <<
+/D [3880 0 R /XYZ 90 406.973 null]
+>> endobj
+3887 0 obj <<
+/D [3880 0 R /XYZ 90 336.267 null]
+>> endobj
+3431 0 obj <<
+/D [3880 0 R /XYZ 90 301.597 null]
+>> endobj
+3888 0 obj <<
+/D [3880 0 R /XYZ 90 297.114 null]
+>> endobj
+3889 0 obj <<
+/D [3880 0 R /XYZ 90 212.296 null]
+>> endobj
+3432 0 obj <<
+/D [3880 0 R /XYZ 90 176.573 null]
+>> endobj
+3890 0 obj <<
+/D [3880 0 R /XYZ 90 172.09 null]
+>> endobj
+3879 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3898 0 obj <<
+/Length 2645      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��V��`����8q������pW��+J��v�_��t��>�I	
�|����cD�o����z�QLb�ut��422&J��4z7b����.�k<U^���n^�p��ݻzys���-1/@c���ջ�i4���"JDl��y$���S���W�ҥ�$\����2[
mL(��a���k�f��(Y%�HWc�F�R�-�������ޖe���^�4	�֑�Ib��Hǚ(��I�hFb�6�����II
��PJh��z�OV~�w-�
/�Cww�iMbn�z����+:z?�
+ Ȓ���J��f����T�N
���P���J:fj��r����"�ײu5�
�tJ����&��wBĉtH�
.ѣ�J�u�D;��a�n�cN�&
�˔	B��L��y���b��?'��8X�m�nX�OŇ���=�
C ����,#�a�J
�4_̳���c�u�>adu�i��U�Sb�l�v#"�n at l�-�B
C�d~'^�z�.
��r��A
̬�^�˲˞�&���
G
%����نT�O�)�=֑X^g�p$I/c�F���qBw5gD���ͺ�^_g�X"�'O��%�0�GD��{N%�T
i'�|���B lk���^8�4&(�{v��V
��P�(��g
�v�yPZ"��k󍀶1	
��c]��7��b�rlܕl�F��4�/#���*oZ#��zP�O�.���Y=AL�,#�m��l}x�U�
�f���������U�<�T��۟�/�ˤȚ±���6�X�멪2xk�oo�.˄EQ��*���5�}{��&�`�J�Uc%���D���
+N�xz
�D����
+��m�}%�3�0J�����))R�ތuab�n}�~DO8*I�
(>.�
�+����& PB�i��= �Q޸�
݄@"�t�ú��]�=�h�Pg$O��@�'S������ͮl���ђ��Mx�?��ØAc�F�
i�Ȫ��#A�%V4k�f�ණyr��u ����t�Jn_gw�d��/
+~#X?�\_����Y�
�bD�o'�03Md
K��⢷����CU-nm
�Ę�ПǗ�
�H`\Nֵ��o�j
�X�2�
2�
�J�&���u������6
���[/տ�1o�j�Mw����
Dƚ���G����{ԓE`~���5��:��du����ղm�Ǡ�����������2G�8<?�b��"R����
M�B�������i��"B�&��(`�nJC}'ʘ#�n���p!BFo�O!4X�y��==d 	٦r�z-�F��0�ؠT8a�b
�(y(WN��b�d/�_R/`+�n���n�V�����۫�]��F����A���{L{�V+��V|p
��a�p�Z������.ϓ�2���
��=?����5 5
 ��d#�������v�����λ��.�S֌�ez�9��_�����|�}
�O�/�e������	��P	��L�K+�br@�ap�eG-
��A	yi��R�D�_�G������Gȟo�n�@$��Z�ǜ��Ћ�P�@�vУ]~��8rp�(�[W	�،��j�}�u���8��\�����>d���tIf�>���r��~��"m�y��#d�b�"Z9��%�l�z���Om�؀6nyh�����}��Nj�/^���YQ���fy}�?���rA�Hw
����3wk7������-Nu��%��K&e��<���Eʁ|�e�����
���Ub,�`<�v�<����=;�<0���khi�p��Ĭv
�����]a {��Ӽ�e7�W�+�W��ֹ�HI���f�鱯���W|I���}�� 5U/���C,����@�:�DN͠��"�)Y�xa������l����R��X�Q
K7�d��C
NG�0�ȍ
�St�-:
+E�K�
�fp������z�o�Y�A����P�S(?K�c)?�p����dK4W��K�N���u
�6kAx`vR�HY7S�tụjb�W�-��2@�cv�X)�
��~�J�"�	SFL�y�e��u�d�r�c�^bZfX�
+k��4��`"�(�܃W�����6[Y�\��E
b��B��!����-��6
������&�h�~Q"�
��i���
�졠�w� �hv�JEjT<��[Ģ��
h�!q�%q� �h	�� ��Id�؝?D-"+����!j�F1VD0~���&����۫�m3��c
p��9��Ʌ�'�ҽ�2�

\b��q`O3>(E��KlO�(/�#����,���n]d�sq$�r�ջa��
y�sp�
xBë�dž9&+��dž/T&���2��������poֆ<�9�D+�S9�a�]
eg
�P�0���|�c���	i�Чb�l����
�Z���bt8D
K�
/��7����/���;�F�`T�pV�Lq���➕
�����r`�\��
� �j6l�Df��F��pq�_{' ʳ?x��C�1����^ެ��.�x5��
k�M o�
+�����j��f��z�~���M����u���X�Q�j9ɟ�'��1Q剾t�"������]�Mkr����F��J at v�Q����׬(��/^�=?�����ݶ����	�=�P;�|��
�rw  ):uMw�� ���
+endstream
+endobj
+3897 0 obj <<
+/Type /Page
+/Contents 3898 0 R
+/Resources 3896 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3892 0 R 3893 0 R 3895 0 R ]
+>> endobj
+3892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.953 524.514 250.388 535.418]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+3893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.151 300.766 244.345 311.67]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+3895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3899 0 obj <<
+/D [3897 0 R /XYZ 89 770.89 null]
+>> endobj
+3900 0 obj <<
+/D [3897 0 R /XYZ 90 720.814 null]
+>> endobj
+3901 0 obj <<
+/D [3897 0 R /XYZ 90 642.418 null]
+>> endobj
+3433 0 obj <<
+/D [3897 0 R /XYZ 90 595.792 null]
+>> endobj
+3902 0 obj <<
+/D [3897 0 R /XYZ 90 591.309 null]
+>> endobj
+3903 0 obj <<
+/D [3897 0 R /XYZ 90 496.668 null]
+>> endobj
+3904 0 obj <<
+/D [3897 0 R /XYZ 90 418.67 null]
+>> endobj
+3434 0 obj <<
+/D [3897 0 R /XYZ 90 372.045 null]
+>> endobj
+3905 0 obj <<
+/D [3897 0 R /XYZ 90 367.562 null]
+>> endobj
+3906 0 obj <<
+/D [3897 0 R /XYZ 90 272.921 null]
+>> endobj
+3907 0 obj <<
+/D [3897 0 R /XYZ 90 194.524 null]
+>> endobj
+3435 0 obj <<
+/D [3897 0 R /XYZ 90 81.969 null]
+>> endobj
+3908 0 obj <<
+/D [3897 0 R /XYZ 90 77.486 null]
+>> endobj
+3896 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3914 0 obj <<
+/Length 2958      
+/Filter /FlateDecode
+>>
+stream
+x��\[o#�~���S++�wr��@�\�4�Y�/I`��cK�%9#�n6���s��ѕi�@
�%�����s.%\��FԽ|uE�[�~v{u����d�����(�##3�4�z}7f��ɔQJǯ'���r�߽�p:^=�e~���m��on>����,)&?�~}�%c=�,��dL+��K���e��6B##L�f�_Q��s�^O�\Q���X�<���m�X�f���
)Ԙq�h^}q{��:b�
�;�_\}�
=��aFe>T�#�^�Go��uE;W��о�(֚�P�m�i��U����چ�.�||)���	J���63��
�tF��O�
��1�1�4
/�6DR�O�P��fS�Yb
Ma�L�a
�ɲ�����d�0Q��������.&X�I&F:ˈPr0��f-4v��2E2�U�X#f��=�|Y�2��AU
+Μ3�k%Z��E>1co�I���SE#�-�
���+/����vGMuF:��w��ˉ��Wq Yɛ����jy������9F�����KY<�?.^E6Z ��V���r���wJ�� ����˻/~z�1c��L
V n���!&.`��ń��#�#�$	D�VE���y��D�����5 at Bv82C�)^G�2�o�77��B�BBT�-s!Me�
�x.��
+�q�i���C�\-��|�*
����эV�,eL|�Z�܌��R+b�Mq�,�4���-��Ks�^�����k"��d
a��_�P{Z�c���f���q�g
*"2csl�T��|�����N�ͬ�L���b�z��Wܽ=�?;����f�(��Kq��"����6�C_�T��ۯ�F�U
��	W�:�V?-�X��	��c.�QՅ*�]��C�$�;w��DY;D�:M��S�	V��V�	�j|][�G�[��$R�P,\\��3����JU����|�

�ϲ%�4�P��;�[�Y�Am�K~�+g[;�0�sF, 8�G�}@>H����1�Jx��k.ꁉ���꯵? ���
��o?F�ȸA���X��;
Z���	�-ן2���܅
�I��?�%r��K>�x
R�~�f�ݷ�K��vƪ)D�r�
+�vIk��/K�0�]ᜱ|�iAG��d��$.f�2"{�w�XLs|x�
!�5\��P������ƿ������C��{��D��!�zmQ��$�
���[[�˵+o��
�-���P�5v�!��Hj���	z$ZE��i�(�B�U��M
+3�`�8s���d ��(z
T�qxgA��'y*VRS�`1�0�4a
L���q
+gM]��9�A�2a�P�
�Be�n����Xh*�O�=�m7P5可��C���c� ��I#Tj�
u��m�QSU�
+i�h2���� �.�'��<-�‚�W����E{�O��)F�����
"T���D5=�/~�/^�!r �="sU,#\��3��=�&�iV)-b�>�,�%DH��m�t�둬>g�pԣ5��=�wk�	Eu�%�i�777��D"�D��p�W���y�F�NQ�Q�TS��mU��U�i��a���M
5���+����(��珱V�%�k]�w
#�[��t�;~.��b���d>a�/8#5mK���5Ɉ�m��E��&��v��K�,!3�"s��E©����˭��
e���bU��+�A.nhcH&Z���Q�1����
��j�����V:�i�
�qb�t�
1�%��q9�M��M�^1�:�^�����oj�[��j=�����Зħ�P*-2�4:_B��M*����M��m�ڠM
+K2�d��Hy�-�f�p��I�mS���єB<�m�>a$E�C#)�E���z`,G�>m,�
��M��y��3d.	U��&�Q{����r����A���sPAKĥ�0Gh90�ѽ��e�N�`��xֳ
�6>�Q8�lr�~�㸶���xU�g9naX�y:�g9?�=\��8
I$wc�g�������E� #
 H�H
+k]�ӹ]�
+
+��(8�
;j��	$��޲����U�pjq� ��ّu�ō��|�W����RV��)V5���v&M+1K��W�T���P3�B9�͠@�#'(I:=�+3��.�O�T<����$P�p�t"�55��A.'��8��A�qxk�F1�S�%5E�cZ�D�G!n�D��
D�er�Qҗ����g>_���I�mJ@�M�>3�d�63w�!�62~���qS�&��@�tl��G��e�4�n2s#��J�dN�g�c�R��1+k1z�[�\��1Vq
�5i
��ݳ}���5kÎ���*�b�;Y��%�Ѻ����u>#d(���/ov�v
+�ePO
�!l�\�r_����g����{�@=��1B��ӎ�.�y���ݠ�9�
*������P9��o�P
)�e��Ppnz�g$U[mTK��+H�M��WpM���

J��:��n�}ٵ��+
+D��t�+pʉ�"�}GJKyҍ��
���,@\5xgA��΂�:�� �>4T��@�a*ѵ�
&����][P��]Yc�%w*Huܵ� 2ݭ
�
{kAvĭ���
#��n-4��J}��i���b�p�}*q
i>&��~8�>�����T0.��_�ώ�
5@��Dr�U��;܈�7��=�
bD;]}1>�{
+��a7 �
�J���=)Ŷ%m�3����s�I�c_����gK8���h�w�OEJj�R������PK2�'_R�L�(L�����(��� <@Q�����+�M8�I�'�
ev��ˤ�"�/�o�n���B)Ky)�l��kx
�#^�c�K�fK�+�e�h�!*�[����7�Ϳ�E��	ʯ:��g�|��Y�+�߻=*�u{"��q�2�L��7ES�y��;j�����;Q��գ9u�>�l^n��߾{Z�'r�Z��==�cym_���bU�
+͗�p�w���B�2�5o,c����^�迯�l~Xp���}�������NX
+endstream
+endobj
+3913 0 obj <<
+/Type /Page
+/Contents 3914 0 R
+/Resources 3912 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3894 0 R 3909 0 R 3910 0 R 3911 0 R ]
+>> endobj
+3894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.612 648.705 384.189 661.623]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.679 401.529 395.172 414.009]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.382 164.149 394.782 177.067]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3915 0 obj <<
+/D [3913 0 R /XYZ 89 770.89 null]
+>> endobj
+3916 0 obj <<
+/D [3913 0 R /XYZ 90 622.138 null]
+>> endobj
+3917 0 obj <<
+/D [3913 0 R /XYZ 90 531.388 null]
+>> endobj
+3436 0 obj <<
+/D [3913 0 R /XYZ 90 472.808 null]
+>> endobj
+3918 0 obj <<
+/D [3913 0 R /XYZ 90 468.325 null]
+>> endobj
+3919 0 obj <<
+/D [3913 0 R /XYZ 90 373.683 null]
+>> endobj
+3920 0 obj <<
+/D [3913 0 R /XYZ 90 295.287 null]
+>> endobj
+3437 0 obj <<
+/D [3913 0 R /XYZ 90 248.662 null]
+>> endobj
+3921 0 obj <<
+/D [3913 0 R /XYZ 90 244.179 null]
+>> endobj
+3922 0 obj <<
+/D [3913 0 R /XYZ 90 137.582 null]
+>> endobj
+3912 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3929 0 obj <<
+/Length 3283      
+/Filter /FlateDecode
+>>
+stream
+x��\Ys#�~ׯ�SBV-��%qUlo\v
g�U��T�8�X�Ԯ׿>��0��9�r��$rlt7}}���q@_]}~s��/F

q������с��(�o��C���ǛoB[œƯ��/���͛�n��wWon�~�bxE,P�������`���
(�>�A�����qEs^ʿ�+����9͊C��r`� ���Λ���v�\lC;$w��3�	v���(n�rdw%����4�n�
%R�}t�@(b��)Y���I���F2<g�ph9'��5*qq���'T��3xg��^_�#I��'ϳ��d=f��2�۸^]����"�^�80 ޔTI�6�$�u3��Xq]Л��r����b4V�
g^:l0U���Dp[�i�X�g��v��c�9
#�;ۀ���_2L&��“و
��ҔP#��g?��&���A��4�Ჾ�JaŘS*�$#Ζc�O�����Yd:�-l���ٌ��K>3F���;[�/��vv���	��� ׮h�����'��3b*y{���6ҝ��%w���EC���P�!F�����]@���K�Xgϛ����CMS�I�e�]�ҭ��չ�UIv�
�sf�[>���VaF�/�N��ԓ��I��/��?Ty�f�d
L�"��1����|�fq�K�WW[��qDB
�"�ۏ�l1��}�7-!�e���� �3���~��p9˽A�#�(YZ�������������ǧl���~;�[O���?�����d�&%
.���3�M�1w�X�S���Ce� u}�8�a��ֈJ�����|�ag#ā��ޤ�+md��S�1HQ�r� g���Ĝ!R ��03����̫u6�OF�Atlp��
����{$Sۖ��������"��o����@e���-X4��W�����/-��i���,1����s�t�.��6�F��>�U
c!��]��u�KB�;G/
:`�t�M�v0p6�
+4�%o�����p7
+{�c����?��DžT
�˖h�^HuD8�™��
����
�7�
P�&���%5a��l�yXg�Uv��,@
QOY�O�׏�^�����a���gx�����2][_4��U�f���cKb_`s�A
ۜC$Y$<��١�����(2�
��c�Y�T���(E��eTx��~x��m�Z$ΥU$�DR�4��T
�)#
��`�?gH��������+�E��j��L��5��R1	�M��=�2�Fޅ�"�!BNֈ��
;�
��
���
+5���3X�8>��b(G�\k�?��=%�RHJ8.$Jz��d�t+�i����2���
>n�����=l�'_8E۝M󷩯�<bj�8cġ<�i�.�{�AR"A�ў���	qV0Տ=	F,•B��qFO����8hV���nVuvJ�:���r6��K
�l?�S��o��X�X���||�ca
+��&�\�G������d���ɽ���t/?���4��)��r�(�
�����o�`�>���f�fq9�~��Yұ
��z�9�8��,5��r�u�{��h87-�݂���9�
g�D�&Lk9NdUU^VHI��i���jݦ�Y�.[-�:Gov�����pX��B�����f�L�����x�pa�����I,m���r�޷�{�gG���z�Ev�Pd���w.�y��*=�W¢�*~����w˗Ŵ��j9
w )<��uP�"�!
+'�0p��J��V�13�ⴑ�̍����}������T�9�%�M��li
+��d5��1�t�ָ��� B6,%�'7,E F�7,U�3��v��'^�����d�>���EJۥ
�	wH=c�=R�R�?AMR
��K�Ң$��٣~�'Y�\�$��>�`Ex&��jҕ�b��=u?+ҥ�[�mŜ9��d^�mŬN�ݮ'�����\���
+%��M�kJ
�=�~�=`Wg�lq߾=ᯙh��ܲ��싣��J�����v���|Uo
{�R���~ 8s<.��!�1� ��@��x?��Q*���9(��Pv%���\�(�����,xP �b(��/�n��x݁�z���Z�}�_ʺ7
|W�4ѕ�ns�k�ኬi
�hzd58�#z��25��)�
T��"�Cv�hI
�c�³)T��\�`�0ë��8���&�(kAO3��&)������Qլuy���3v0F�eT�a7�)�e�� �����^�%�6�cNaʠ2)��H�4�
~#ƀ�-"Pk�g�w��IA^�S��e��Xgƒ�L�z���ڋL�({���+r���e5E-V�v�����9Y8�?
Ӗ<_�NK�$���;�h[����ύ]l�Bqk��ǝ���
��:dc���jc	?��-^��:O��	BjSϱ���CP�-
��gvg��m$���;�hv�{��t��)��1�?�R��_N4���i7�:?G���j�)M�l9�
$��݉&�7�hrH��7<[,Η�����Vk�t��.���j�Ds���t��ϗ�P��h�r�P|�+'�8?<�x >։!5��#e�hX�bg��DziZ��h=��LB�$X“��§)
+j��|y�֓��|W0/�Qh��k�m�� �3�<��i`$�8�b������B�
+
+|��C�βղG0�F�0�9�@����
�,�Ȇ�灑��	�;�,H
+�����#�:����
�&�y�!����L�v�~Au%������y�v�5��ڸ��R$���f��(��q�f��2
R��l��Di��l�QQ�O���hh
:��(��hBp������N�S��9�}4�Q��>��go�N'�)j�zu��<��2�Ӻ��������2I�U��Փ��
���0s��&3��W1�
p�:�' ��:!sp�U����6�	H�8tIFW�YZ�V���׿��J�/5&�pI
�����_��
X�
RS�^ZW
c�?�䨸
p���㩦�{p�J�;pp��LfS��\��V���jY��=Lo�޹$��G���v�U��E�oH$�~=x�i��v�"���!RdR��V����w������Y�
�<T�+X����^�+���
�>r���G��\����	�
�!L��ל
u�1��	 c
��@\�c��
qUp3�W����:�� ��||"p9����hN̡�YU�(9�5�����S8/����7���_����%�U�Ơ7�- � ��(d�,
0�Ǥ=�o�����ֿ)5�k¿M/E��{��>Nf�d��v�X 5�n �����^T�G!��s��v��~����q�-
	j�]�\��9BMi_EE<_��l����Rv��� �
+endstream
+endobj
+3928 0 obj <<
+/Type /Page
+/Contents 3929 0 R
+/Resources 3927 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3923 0 R 3924 0 R 3925 0 R 3926 0 R ]
+>> endobj
+3923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.723 588.823 400.608 601.302]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+3924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 351.443 422.924 366.159]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 90.209 425.662 104.925]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+3926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3930 0 obj <<
+/D [3928 0 R /XYZ 89 770.89 null]
+>> endobj
+3931 0 obj <<
+/D [3928 0 R /XYZ 90 718.682 null]
+>> endobj
+3438 0 obj <<
+/D [3928 0 R /XYZ 90 660.102 null]
+>> endobj
+3932 0 obj <<
+/D [3928 0 R /XYZ 90 655.618 null]
+>> endobj
+3933 0 obj <<
+/D [3928 0 R /XYZ 90 560.977 null]
+>> endobj
+3934 0 obj <<
+/D [3928 0 R /XYZ 90 482.581 null]
+>> endobj
+3439 0 obj <<
+/D [3928 0 R /XYZ 90 435.956 null]
+>> endobj
+3935 0 obj <<
+/D [3928 0 R /XYZ 90 431.472 null]
+>> endobj
+3936 0 obj <<
+/D [3928 0 R /XYZ 90 321.833 null]
+>> endobj
+3937 0 obj <<
+/D [3928 0 R /XYZ 90 219.128 null]
+>> endobj
+3440 0 obj <<
+/D [3928 0 R /XYZ 90 174.722 null]
+>> endobj
+3938 0 obj <<
+/D [3928 0 R /XYZ 90 170.238 null]
+>> endobj
+3927 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3946 0 obj <<
+/Length 3492      
+/Filter /FlateDecode
+>>
+stream
+x��[ݓ��߿�O�=s���a�f&ߓ4���n������5�
��l���#	
��zm��C� ���~�S"�<N��77��ݼ�Z�ID"����a-""ܭ&�4 b6�AL��h0��m|�nƂi�y^'�2��>]�q�|{������q��~����הv��H
�0������Fb��p��e��ӗ(|���j6g2 b�&�b׉}�C�3N�l	���rJG�7_���rC�L0�V
��p���|�9����w��p�̓鴝�ẙ����M�$�^	��ċ�7���
F$�DSN"a9�
+�s�Mjd�N+��e��o�K|w4� $��'g��gn
��)AB�h�"Ed OQ�ޔDR
����!D 
A�A@��Yy�K+�!QQ���|��S�H�t����C��� �4^lܓ]������^����3X枔	`=ͳ?������+&6$Ƀ1�5:E��P*�8�b��\MM4�n�	�_��0v
?^���i1��I�yio�Lmr��S��/�]�J��!�%3*q�IU�
���:
���dc�nl�v�o8�$Q`�����΅�^	����î��ٰ��o	���9
 )aIG���-�&"�NO���ˈ
4(.�FqpjWx�d�6��Ҟ������ˎ\( 12X��m�A��3���tzh�Хk��y��l��'t��{��	��������
Eә��H�u�qh7��#(KV�'Oi���U�`�ݦ�
���
�%g�å�0�]��FU�K	�.�V~3�Ⱟ~]&Em��d�}F��	
,N�o���"���2�$��h�p���E�
+� δ4�d�p��P�
T"
��)IU�no�l& ��&]݃�p�h�I̳@�0�c�f�a��
"�OL�g�X���[��e��JM����·�^
|0�
+�ھie��'�a����B
5cL���A �Q;�:�~y�!	��l)�)�`y�"�l�A6�!��@���
�¶O�N+Ϩs
��@j��9.��]��64��4�R@��fjMd�#�p�VA\�y"�e���0��Y��^�"^
���Tǒ�4 ��3d�^��������
+�2h��:M�Ն�*���
R�O��T�'B��Z�T���^ZCxX8���N�
��"��-@����|н%��C�Ä�A)���t�+��4�n:^UT��u�����l΢�������������
:��Q%��P�Kp
+
�&jAq��8;2GJ��5��E�6�D�߻~�Hl���!
}DS�Bc�gs!�t	�N�Ya�[��X at 0��xi�FO��z�� ̠�����s�xۅ}���x/T=�1Ӕ����f�4K~���|Ѡ� V�.Wl�̈��:��e��*�����4��6Mhrm�X��M������|t(�ᛛ���c�k#�z��OI��| �
\���k]�h�>X�
��ux฼�� 1s� ���"�@��$�;�`L_��4I�P	YtAe0K��f	���i���O�
-Ms�M�p0�&O81U_�Лi/Q�ĝ}3� 
��M�Td�U�a^�Z�*$�
��W��54_
1�y~a��G����
_�	����~ �
1#�vHJ� ����zR��XOA��p�#n��-���}R{���vv:
S�E�uM9��xF'����
k����۬N
���n��pw��E�U���F��*ޢ�	Ϳo(�� o.��88�Ia�
+T�<̶�wp�
�G9S��#�#��<�����h�sl>y��s��,�5wڲ5��s.�`D���ع�Ӭ��\����}оw-}F!��׏�ձ&0\:�z��DE�Մ�`
'�
-�
�(@
8���� y��.��c�+������
�.Y�(qP�}�~nc7
+���X,
X)5�X8�e`^C���7�a� 
A;y��@�zt��y��k/[0�m���\b�	��qO"i�J?��]���<
�',�}3R���3A�䇉g'O8̾3L͈�K0�%�H��%emX�2�]���HeU;�q�ɲݢ5��פK� �oID���&�D�|�
��)�4
+S�@G#�i?
��L[і��kT���^Ɍw3��L��_%u�F=\s�@B�#P
��F���Q�>C�9.P�CE8��W��
�
�N����B�\vÈ��cBxd��,�@F�r�@��+̩$��&v;�W��m�[! �6'4�1���n�-lg�B�d��#�0� ����bo�
�BO�'�Eh��"�

�{?y.^/� ����tD��N��UC^��8�@2F1�M�`�b‹�
���hZ&x�MW�3���jM���ŧ=�n��:4��2�W]�U7#������%��b�
#
(25�q��)Z삅����]n
�~�jB��,�^ń�]&,v� n �6
+u�/�7�E�����15�)�ռ9��]ZT�M��͢Z��Z��ʢ�K��j��	 .�0%D�r�xt��X�
�
�1����a�#��fX�eSg�/�A������e�]^U�b�����lg��"G|��7D�0��e[{���-����:��U�W��0uK�F�6�<9,B��?�rƙ�9�j��o�a�9�xX���}�f��7
�~[y�I�rG)�_��B�˄�?g�1��|͜� ��7�C����B�cO�����ӟ։�4˳9������TH$��oKp
E
�9����o ��pp|W�n��퇝X�=nX��k���
+���y�6�c�,�%�W���..W��ΧB��V5izT��u�\�&ZGks��|U$�C^n�� �����3���2�e��^Cl�G(���?.n�ks~��Q�ѵ;�
W;G�2�̚�R�t����)��#V�z�{�
+��CA��x�j�����nXæe
@���X�����^z`��
�̛���3�'�m��>��{�Vx��kN�i�4�Ǚ�X����Y��eg
�u�?�'��g����	�$=��0`
+7D��llٙלj3��r�1�g�v���������H� �TA\
�^U
�_=��������X�m}W�>��_Ź���8�
tض�d�mn�ҧ�E��4:}�;��|V�?g���-��
+���q݌��P��F5qԴa�
J�.��}V�(;v�U��ɝ�&�J|�@Q��k����P,���","b <<
5��>��Ըp�1��"u�
���糔����8�貼��[^IB�?�
�A#W
+�F������;ܭ����q��(3k���M���rPµ�';D\ۖU7 �^������qؓ�c��u�Z����L�l�l��Ы"��_=��lu��w.]�a- �L�YȻ����{;�����7��B��|�6�vO�ݻ�m�UR�q&b���q�k��B��`mО��.��`�>i��e�ߓ���
{V�����\�uq���b�Q�#�w|Դ3��6�yh��lg#%
�MxE���;�k�X#	�/�~՚�
ݶy�|�
��v�'_� ��j��=;�
+endstream
+endobj
+3945 0 obj <<
+/Type /Page
+/Contents 3946 0 R
+/Resources 3944 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R ]
+>> endobj
+3939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 512.16 322.446 523.064]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+3940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 364.279 116.998 375.183]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+3941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 323.083 243.45 337.03]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.883 155.148 361.886 167.666]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+3943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3947 0 obj <<
+/D [3945 0 R /XYZ 89 770.89 null]
+>> endobj
+3948 0 obj <<
+/D [3945 0 R /XYZ 90 720.814 null]
+>> endobj
+3949 0 obj <<
+/D [3945 0 R /XYZ 90 618.109 null]
+>> endobj
+3441 0 obj <<
+/D [3945 0 R /XYZ 90 571.484 null]
+>> endobj
+3950 0 obj <<
+/D [3945 0 R /XYZ 90 567 null]
+>> endobj
+3951 0 obj <<
+/D [3945 0 R /XYZ 90 494.137 null]
+>> endobj
+3442 0 obj <<
+/D [3945 0 R /XYZ 90 459.467 null]
+>> endobj
+3952 0 obj <<
+/D [3945 0 R /XYZ 90 454.984 null]
+>> endobj
+3953 0 obj <<
+/D [3945 0 R /XYZ 90 348.388 null]
+>> endobj
+3944 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3960 0 obj <<
+/Length 2506      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�F~ׯ��V��܇4�
$NZ����Z��"�EKD%R!)'��{�B����%f��`����93����{3{?^M?(�(�Tz�/����M��CB����g�I�@�S��կ�&o�Mn�o�7������G,�@����7��?{���>�AK�S�
�f�� ;]�OD���NC��h�c�)��U����hU�i��� �DX	Z���X"A�^����3��~iL0F�I�"N��4�(Ci��$mD�X
��'
QXd��E�C
��<�P��
+�Y�����2NF
�E<�
�S��z%���.kP��Ĭ�i�d�{h{��qD��3OYwA�
\��d��#*����X:���.~������_��0fv��1(�I9�>�]�1
�
#L�AqnENcX�
�`
'��r��"��}��y�0�@#�K��0�;��Uqc^��
+�a��'���9-�q~�Du*3) �5&�`���b\
��D
W��d���UlN� �=ص��hp0
�g䀝�J#R����_4:<��U,�8b��ј`��E�\-�¹x��Q���U@~oG4�R�P<��$\BH1��t �
W���@�N�
+�qD�0���_�V��r����a�-�����t�4��Yx�6���������ۛy��%$��3P����i�#_Qtb�
��U�y9�FD
��6S R �B.f�Z�}�A!x��3�}� ;�A_ɔ	E[y�e�!*�V���eSM�I�l
���^�R��4h	��"����0�:�s�
��:S΀��y��x�A�����pf(��W
x�y}���۫E�祻��A�Ŭʗ�	�H�)+�
rA>�2��w��^�����7��i�{��B)PLl� 
����cH�C��澋�4ϡ�<�
+Qijy%yG�P��X
Q%聢جMwN�4KW�8��o���Ue��~������,�,r��>M�i�@��Q�G7Rpk!�R$}�,�L�,:��d��	
`�
	����� �@�!;�V��h��P	���i�[��]<[ �L� ��!����^�@$�r�F���%
+�ék4�;\���e�(���p/}��a�ﻛ�b�f�K��<�
�D��1��.�
2E�Nv2���dI�Ce4y�Z�ֶ��T���w�Y�j�eбU�n
eμq^�gM���ܕugk��k���^D�az�&��Б)XU0٬���4ǦR5�6�Gd��JD�g�
d���K�
V�+3h�U����8��'�DŽ腓j(&��}Hu��!u/'�Ah�IB��}w��!�b=RZN:�B�H�6H��l�kP��8�[D��MTt8����J"�"�~=T
u�����

+P���Ïaf��o���x��R<��s7O���
��xrM�;'�Ɠ}V�d�_y
�u<�n�d�Y��v�C�~)
�Ѹ���WSn���倶
�5_�ɴ��E�1o	��T�c���� ��ky���'��
�y�t�'l�u�xN��f -TeS]W�c�y�t��*�.$�.$��VH0Κ!�G���yd/5�+�	�q-:,� f�{h�c8�1a6=�!8y�v{��@�>}�oD��&R��t2�*ɩ]�*u;m]���v�>��N�k���<
�ym'����v~���4���[��g�;�����9��S���yݟ" a�x�=i�����U
+��;[A�LV�A�w�%o� =L<Kjo�\�}��r��1&�����}�T�쀏nv4zDV6~�x��GTsZ'z=�i׻dț~ǻ������Ū��5^�+P���w(Fۭ]� J+����"N�{{@�ȩk
�|i� o�7�����w$EI	��Z/�f�׉}]lڮyY�tdd3"��q�7t�-�hU�n�]T|���c��6�r�	��D�d�e>	�Jm\t�=��12���	�2�㖑�H��~zG44�b���z�#�s6JRR3�!�}��Ļ��K@�^ߔ��[g�	pܺr�庬M�&�m^qFe�&E�iY[WdI����X�<�0�� N_����1�{}��;��p�$RT�)"�9ʀ�YR]ָ#\�<-:=���K�a�0�F������C�7���aj/C7����[}���
h8M��/�T�E�^ޕ��T��P�]
/6 E���đ)��]S,[^ۛ&e$��
	��MP�Z-��/���i�T�7'
j�t��i��V.��'��u�I�Q�u�yw [...]
+Mz=��0m�[c&Oȷ;�?� ��
���	�XB��t�3-�@��Z
��3ծ3Ѝ��A��U�
�B�&��0*A�ͥ���G
�=�Z�C�(���_	gavQ��_
+��
�O ��B"0
��@�V�������w��%�^� ���xXz10P)��r�m�,�67����ڋ�Q��H@���	�u������L̴�؛�mU3��7QYK�^Tj�}`�����f����(V�w�Y
%3���to
�4lڸ����2��L��4�jז"8�
�ӣ
+endstream
+endobj
+3959 0 obj <<
+/Type /Page
+/Contents 3960 0 R
+/Resources 3958 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3891 0 R
+/Annots [ 3954 0 R 3955 0 R 3957 0 R ]
+>> endobj
+3954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 241.234 355.512 252.137]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 175.729 362.353 188.063]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3961 0 obj <<
+/D [3959 0 R /XYZ 89 770.89 null]
+>> endobj
+3962 0 obj <<
+/D [3959 0 R /XYZ 90 718.682 null]
+>> endobj
+3443 0 obj <<
+/D [3959 0 R /XYZ 90 672.057 null]
+>> endobj
+3963 0 obj <<
+/D [3959 0 R /XYZ 90 667.574 null]
+>> endobj
+3964 0 obj <<
+/D [3959 0 R /XYZ 90 596.843 null]
+>> endobj
+3444 0 obj <<
+/D [3959 0 R /XYZ 90 508.26 null]
+>> endobj
+3965 0 obj <<
+/D [3959 0 R /XYZ 90 503.776 null]
+>> endobj
+3966 0 obj <<
+/D [3959 0 R /XYZ 90 411.292 null]
+>> endobj
+3445 0 obj <<
+/D [3959 0 R /XYZ 90 298.4 null]
+>> endobj
+3967 0 obj <<
+/D [3959 0 R /XYZ 90 293.917 null]
+>> endobj
+3968 0 obj <<
+/D [3959 0 R /XYZ 90 225.343 null]
+>> endobj
+3969 0 obj <<
+/D [3959 0 R /XYZ 90 147.345 null]
+>> endobj
+3504 0 obj <<
+/D [3959 0 R /XYZ 90 81.969 null]
+>> endobj
+3970 0 obj <<
+/D [3959 0 R /XYZ 90 77.486 null]
+>> endobj
+3958 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3980 0 obj <<
+/Length 2678      
+/Filter /FlateDecode
+>>
+stream
+x��\[s��~ׯ�SK΄��_4ig|��Ɍ�/u2
H�$LH�&�(��=��X
+ )rU��_
\
�s�;��1�"�I�=|{��)
_����Q,1�H*�����Dq���OWɇ	��Ogc<y7%x����wS�'���6�Z��/���������o�U6�����7���Ñ2nZK��-	�
w��/8�aa�/��.	��iYNgT`f�$[��i��+?e��zJ�$[^�%ř�*�̓o�O>����!�������/8���߃s_/Z$�28Γ�'�<���k���п� 0�u/bH��ǕW��J!I7=�VH�vA��ʖ�����?9�כ
�vXu�uc`�a�t3ú���uZ�!�12L�TQ��M)���84�Z����<�2��C��l���z
�L#b�6GX��6�+D%�fr�ʳ�W��|
\J9"�&���_��6-�C�R���%�lJ���j��
+�D^,4P��X

48��P��f	�z�3�ą�\˲�~a�p�%Sq�4�ϻ���W�ŋP�%�#�n��T��WÂ�lu�
��<0&m���1��'&e5$�R��d�M�	�86�H��r1Ҧ��ni70k�2wFB��eC7?���j��f�E�M
+���>
q$��'H�g_&O������� �"p����cSr�b�*���U��
b�3�6/ݚ@*Ǥ[�T�uV��+w^\��e�X�U����6k,�!��ib��oO���Mf��ƣ���hV^d�}�-�	���-��'�.��6W"�E�À�LW�P`KX�7@�V��7`/2D��5&]C��lA&e(q�8�xuߺ/�w������
��yH��=�>�D(v&��@E�&��Ju�>(҂!	%�ͨ��踣��H
�C�"%l�
+�x������>�Ҧ��s(y]����(5A���E��tY��͆��|(�$CL�a� �d#"�
, ���
#HQ�
Y�7���4
+�9ERAOF���_���ae'Џ�g�}}^,��ߔ�`X
+
+I}R�_6U����lU��j?P
l�8@$�*&�bK�q%
�HF#�
+�&T8�1��t=�>�:R�a@��PŲ�*�hj16O��ƍ�A�7���
�E���ׅ`��
�QBk�lD�o��W�E
.%&�ʶ���}��Y�)9��dR�ӴY�N
��ߦT at C����]��
0�C!�,�^h�^õԲN@>�Tů6�g�8 ��|�F0.�|��+}鿿͚�IW������}~�-���yu�g�V��6�*������v���� �_|
���� ��
.q���Nh�0所��{���/��;��=� ���U����O�I|�.��;�M$p$�"��z"���h,��u�\o�]��`b`T���NY]��A��!v�y~�1]O����-�厢I1G����=� �i*c
���v�Ш�,ݷ��v]��t���/Aa� �q݆Q;���&A^�9%D�,_ZR#�rH����S
�����2q���;�;p-��:��y�
���Pc�� U
ᅪ�op�?���	�T}�~�S�!�f��ˆ��=H�����o<���h�'�� �c8t�Ԓ��Զ
��{�,(x�})�#�Lx��{�/wO�
�},�~_*��C���A�3!�R�.&gA�l4��P9�� [...]
o���<�p��)<�qZ
���
��Ho�h0X�r��'�����#�7*���y$�!bu`}�.�X~J��<RO�1<�%e3�x���z
i��y���/<R�#
�[�!�0,gq���;y$�qHI
�~��<�<_��6�(I �C�m���b�`#	�%)��1��Z|4���-%

�����
��h
E�a V�
+-�eH�e	�F�,�fq��c�C��l'���^��'b��ҝ��lE��8
3���a�Pѯ��5L���%$��㎶�M�]��Z
+d��)7JЄ6�[3��]��B;��?Y=/?s���s7s�
� ,�E��ǩ�ȫ/\<�c:/
w�-��u�G}עl��l7�Q׏����a�����@�'�U�6�a'��
�1�,H�m+P�ޥ}ɏL� ���o�ԓ`9
'��}�<;�_Gd����٦Q����D�XO�(Ą�I�Q
�O��Tb������u�{x�V$&"£Ktע��Yh�����		C�x'ƏSc��>7��i�x��/-/V
f�����q���y
#���$�D�:	���1ib�$��	�~4�qZ
c��������o�x0H�~��^K|ML,I�鹈41!)��z�u�1�n�?���(I�	�s�N��1��a�(�xVz�84����f�Á�=��(=L����5_

�;�a�v��T�:Yw7U���������[�����[t
�
�l���	O������)���� h�?�����=��CA8�
�[Шi��Cs��_��zӽ��@���KJ�_�T1z�{}��w�2[�u*`����]:�d%�kSץ�Z�"A�U��z�>���)�k���qR�S��DG8�V�������̖70��~��a��'ĵ�{�E�Y���=��B��mф	� ����O�{L�����y���as���%�
p�������w�
+endstream
+endobj
+3979 0 obj <<
+/Type /Page
+/Contents 3980 0 R
+/Resources 3978 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 3956 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3977 0 R ]
+>> endobj
+3956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 661.939 355.512 672.843]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 571.727 362.353 584.061]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 449.35 355.661 460.254]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+3973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 383.845 362.353 396.179]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.008 249.513 276.143 260.417]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+3975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 159.699 362.353 172.033]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3981 0 obj <<
+/D [3979 0 R /XYZ 89 770.89 null]
+>> endobj
+3982 0 obj <<
+/D [3979 0 R /XYZ 90 646.048 null]
+>> endobj
+3983 0 obj <<
+/D [3979 0 R /XYZ 90 543.343 null]
+>> endobj
+3505 0 obj <<
+/D [3979 0 R /XYZ 90 508.673 null]
+>> endobj
+3984 0 obj <<
+/D [3979 0 R /XYZ 90 504.19 null]
+>> endobj
+3985 0 obj <<
+/D [3979 0 R /XYZ 90 433.459 null]
+>> endobj
+3986 0 obj <<
+/D [3979 0 R /XYZ 90 355.461 null]
+>> endobj
+3506 0 obj <<
+/D [3979 0 R /XYZ 90 320.791 null]
+>> endobj
+3987 0 obj <<
+/D [3979 0 R /XYZ 90 316.308 null]
+>> endobj
+3988 0 obj <<
+/D [3979 0 R /XYZ 90 221.667 null]
+>> endobj
+3989 0 obj <<
+/D [3979 0 R /XYZ 90 131.315 null]
+>> endobj
+3507 0 obj <<
+/D [3979 0 R /XYZ 90 81.969 null]
+>> endobj
+3990 0 obj <<
+/D [3979 0 R /XYZ 90 77.486 null]
+>> endobj
+3978 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F24 529 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3999 0 obj <<
+/Length 2777      
+/Filter /FlateDecode
+>>
+stream
+x��[[s۸~���S+ͬ`�Az��d��^������xh��9+�
+I�ѿ�����Xbf�v_,^��s��L	W���?�_P{��oo.._1I��
�|�t`dH�����ݐq=z��@耰P������y���ھ�xus���
0G@
&��w���
���"
O��@r���������4|�#�U
Q"� J�ƌR:,��b����5F��4�h
�,�ō�hbd3�X-�y4�Gc�7
�F
��� �3���i��0M��@O�
:��
�v��0�f�����t�z������.����շ��^?F�.)�6DR�OL��.��<
H`�`
U�J�Ъ,�I]]�|i�0X��|�Ð%��'a6ư���0�Ò���GY6bj��>%�m8�P�0��$�np�y�0�9��REGc��p���c�UH�i�f�ZJIyh)��=+i� �)���`Z#��Y�U��Р�R�uP�|��gZFH\p�O�zQ*0��rX�n.ۺm6~�TT�U�AX�F_�c��1
\A�r=(v�fq���:��<+��Ty��;�
�kr��	
	ۚ�4�,J�E�L�-����#���-փ�Jҧ8����y��nU��u���}1xW��>>���}� ��6I�ޚ�UF�e� �b1M&��x�QþƔ��5c�����Q��\ę��ܧ��ۙ��o�K�n3{i!H���K�V� �e)"#
q�P��(����%#%�V����eػ�4'�L
<�eZ�������"b^��Ҏ]<j�/xD�f�:�
��h��XD�{{(Y;�9(`���_��i�NW�n�Eի%�J��+�sm��B�@(i�t���$^�d����*��T��,~��U�h��2�	����6I��Z$��(l,��,
|�%'e���0nu����
+�$��S4M�o�l$��a9���~����J
+y`A|ST!$�	�OT�yiHТx��<f鈫���Ţ�+}KN�f}-�]�G��:��1�*��H�����������ã��|����w��P����9v�ۅ���I>�-Ϡ��`��
�Jy��Nt��f���Q�b	��.��<V6��v�}:����C��wO�}</�U�8]�Y��5��އ���>bA�#7��3ې�7#�z at R�9�#�sL��ر�����D�e-
nY���.��Ŵ0z�B&�2r��OI��]ϕVX[���y/�؂�
Q�Fy�o2nJ\��d�[9�+��ԸhK�M[j��|c�d�eq�M��m�h�?�.��L��PEy껏'eP�Z�^yC
���
h��a
\��Il�<b�\1���C߂�J��D�iW�q�M>�M��>����뤭h������$���S�y��&<
�қ{,�r�iT%��
a2�6&��^����K��M#d[��˕�P��D�G($�v�`]d ��W���R�,2�5VLChE�������Q��i2Kl�� [...]
�g�ay
+_
���X�9 晃X^p�[C��Q@��tR&luǝ�sI�:��l ����Ԭ�.� E�*tt��L*ҌX����]
|@T��Ӽ?T��=|�a�ڕ��y#4ݡ<~4
�$Cs�}8����C�c���DPg�����*U/w�vv�1�
F��Kf�w+�M��]�s��Wl���yś�k����E�Ƙt�U�GM�uX�`,�m9��Xw39�αʼ��Tż��O7��"��t��D���Q"�6�
�!F���)l���b�;�
(*���
+�����Lt��
_
��k���
���[��<b?"z��w�#HJ����):
���cᨲ
�KCm������F���ٸ�cs�J���S

,��VK��ڬ�87~��ԟ������e�m# I���hu}StVG�\����l
��ͩ@"S�5�:��;��n�ks��V9�"f�≦�,b
�=,Fl��˨�T���w�$����I�slo��b����DK�Ƴ�v��@2](��l��]q{o{k at 8������
�
�
+��[�+LJ:T$�
�
J��ڿf6
F� �Ө���x�8O>.+|��:uyw;�N��^'S|
x�u&���w����L����Y
�NY�����s��E����h
������I����Q�z�kC�z�k��]�\���.�T;w��
+��	�1�t�6��9�K�ա�S��q�%d��'s��=)��S
+{v�?c�
�����I&U�Q�ۢ��(�?.a��j����
���pw` E��~��94
(����������L�u��#�"_R�
*�¾5R.>R	��7��2h}�
�M3�D`Щ{3�p��G���IR~�IRs����u�1��8�Uq]�	�n�a��w�|���~/,l?���>[u�
Y׶����i�ْ���>����=_�h
���)��p&[Ҩ�|5Ggzs
+~+������a�c+�;Ų�g(U�1�
\&�a�g �g��	4�����oOW�nk����Lk��}#y����s�4����y�v
����I��
H��˻�,6't��u2��w� :1\
��������G�J�1�|پ._��T.���w)��ɍAo�&X�
+¸�ҝ�dBՓ�
o���.���ٟG
+����
͗Q�em-��hd�ە�CFhu�
���k�t|�ְ��E�[�(���I�E�����[>�������.W��Y��i���S03K�
��

����:	���N 
+endstream
+endobj
+3998 0 obj <<
+/Type /Page
+/Contents 3999 0 R
+/Resources 3997 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 3976 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R ]
+>> endobj
+3976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.011 673.894 513.996 684.798]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 398.789 276.047 409.693]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+3993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 308.976 362.353 321.309]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 174.643 334.073 185.547]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+3995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 109.139 362.353 121.472]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+3996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4000 0 obj <<
+/D [3998 0 R /XYZ 89 770.89 null]
+>> endobj
+4001 0 obj <<
+/D [3998 0 R /XYZ 90 646.048 null]
+>> endobj
+4002 0 obj <<
+/D [3998 0 R /XYZ 90 592.359 null]
+>> endobj
+3508 0 obj <<
+/D [3998 0 R /XYZ 90 467.854 null]
+>> endobj
+4004 0 obj <<
+/D [3998 0 R /XYZ 90 463.371 null]
+>> endobj
+4005 0 obj <<
+/D [3998 0 R /XYZ 90 370.943 null]
+>> endobj
+4006 0 obj <<
+/D [3998 0 R /XYZ 90 280.592 null]
+>> endobj
+3509 0 obj <<
+/D [3998 0 R /XYZ 90 233.967 null]
+>> endobj
+4007 0 obj <<
+/D [3998 0 R /XYZ 90 229.483 null]
+>> endobj
+4008 0 obj <<
+/D [3998 0 R /XYZ 90 158.753 null]
+>> endobj
+3997 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R /F118 4003 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4014 0 obj <<
+/Length 2939      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�S
Θk�
P���q�&Mg\[}r=��D4$@�e���� RBq3͋ ,g����
���&���^]��|#i��D\\IH� .�)
>�8Bl6�Q�og8
+�z�^���(�Vw�<��˟��:����_��|�L7����O/�`���dàZ�7�Kod�0��bDF�0��_���*m�ٜ��%$�כU���]~��3
�y��&�(1�J���g��0��l��#��ه�Q�A�OA�(L�VwZ�P����g�8����+"\ݪ�]o���9NP�@b��տ���7mQ��VhO��f5���@�ȣ����g���2N�@��P��#r�7F	���x(R����1CV�
+���#�lNϠ0AUb$���i����(g,
+?��"�L����v���ٯC�A"�L'�(L
�
gJ)CX�c3]3$Q��M�bYW3�����Lqm\\l�
#�
+�|�_QD�_�n'�ľO�,ӧ��@,��2����t}�F�Ĉ	d��z{V��4�O�\T�M�W�

�,N��)VyЁ�H,٤Ny���!JI0AS>% 
+�l^h]h��R"A�Q�'\"�|��n�����F�h�)�H
�@O h'���yFXX�X���`ޚNJnBv���{��ٜ$1�7	�֘�P-Y�D����u���~�s@��@p���h#ࡉ7�}�����?������Ș	A�L3fy���g�_�:�T`q������)4�؁XL�* �(nTH�
�
�fs&d��dݎO���f
�!���gB�<jBQ��񍎈?8�A��a�fq�8`Α�b�&O������U�E�^��k h��'�[���X��]4�Zr�{lK�my6��h�x��sX<	��@� q��,%QD|���Wo'
+l�I��
�~(�UQ�{xp����0���ؼ��zY
s��'@L	�
�B,D�:o���4V׻�0ʝ��W�~8
>����E��Ey�SH�NC�b��qO�pugFKWMeZ���};d�X��Jf8lL[Q�,�����F�  ��v�ک*d ��9�p%Ԛuͭ�0֢��_]������S7�
+�,��G
+AR.� H%�wB}f���C�� ��`�8v�NmH
ɶULH��Q���1
�K�JJ��'���5��~��p�o�	"�
�zx�� ���D���@	�Ҟ�[}������F��X
�c�z��{�"1�� ��G�����u����BP@��|� ���OX���"�q����%
g*��i,
 ����
��n
���OSc�ƻj\����ᢳ�O�_l��6�V���l?gB��|��Yݓ�|�F@��Z����i'ǧ��< ��{�jj�x��C��$-�m��ŷ�H
V�n��̓��^�A�
+�T�6��=(�O�U�%���j�����j
�ԃ�@�)��+'T�5�����j'��~Q�6/�
���>Q���s��en+?�f��3zXO8�����E�t���F]��W��Ym�X�ŧm�������{����rJ�z��Ǖ�\O&/%��lL&�Z=�L
t��U:^�~l)�#�R2�2���<�L]-y0�'֒{3����=\��>)�W�P�
'�
1&�-H?}��!��H<�k�"�ނ4�I�|]AZ�^��_(H��L�c�h at b�Yt��>�6,8"�i�:
+�h�I�Ȱ*/>ɰ	qi�a�37#�h
+�O14aJTf�m��`L���I�`���}f�������L���U�>�ʛ�J���΀���`����\��`%��0u�J��B�,kF�8�
+N�`�é��u�q�%�~��F̀9V�lP}vP
:��k�~L��]��:�>*	bɔ�yr�
RU]at�J_�b@T �
������(#�*� �-v� C�uV�fك��ӕ?��B}�cS�S%�/��FU!?�..�;�
+�U���B/��!��b�s�ۥa�&����2oZ�P�Y��P_���h���Z at pya�_��}ž��껆�8(��Lsj.��,��,�1

^U[�(3�x�:��)��4j����p��۽ޖ�T�:���f�V'"��r�U)�W�r0b��<|�V����
�MA��Z4׭/^\��z�U�
���!R	�^)���#!�3%=��0u]�ٜ�+D��N B ��򓑬$�A�y��O>��~�Ӿ����L�}
4E���*?4�
Vd
p�5��b���Eq,2�)I�ͣ�	���_��^�P}H�~��� ł�|Z�
�
���~�`*�e���F&h����>vd����@�Cl�~՘�X��2�7��
0 �\eI|�j�����9pL6���Ή����X��]�$0
��Jx�ιMV� ��<�6Q���1��1�#��^�	���Y�{��Z����q��
c�
}�1N1�e��A7�N����q�(���W�2��Gh~޸�=C�I=�r۹��ɴD���ۏ�I�=s�V�o�^�3��My�dr��^�H�����	��/O�b�_��xV��t�o� lOyJ��G	&V���L�!�I�!��O0�Q+W7x��!���
��

�to)����
����l���k
7
�i
��.I�ښ� �x\#�O���T7v�����
F
+O��*iK;�8#�<�(&]Fʒ#�tw�� ����Ì:[�wz��*zJ������m������,%�G5� �0Po��S�QH�d
�g����*A2�(;�W������>��ңuw���v�<'C�
+�>����&�6��P�+A���.k��V�~��'� #�}����g���q
�4���4���>@X7���j�(2gn����ܝ�1J�����i4�Ss���P��m7�/_^mo���A�j���;�H���p���r��
u\|�O�#G_<`�0������);lGt���ѽh^�����
+x���
H+zs
+endstream
+endobj
+4013 0 obj <<
+/Type /Page
+/Contents 4014 0 R
+/Resources 4012 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 4009 0 R 4010 0 R 4011 0 R ]
+>> endobj
+4009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.224 612.733 256.77 623.637]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+4010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 522.92 362.353 535.254]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+4011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4015 0 obj <<
+/D [4013 0 R /XYZ 89 770.89 null]
+>> endobj
+4016 0 obj <<
+/D [4013 0 R /XYZ 90 718.682 null]
+>> endobj
+3510 0 obj <<
+/D [4013 0 R /XYZ 90 684.012 null]
+>> endobj
+4017 0 obj <<
+/D [4013 0 R /XYZ 90 679.529 null]
+>> endobj
+4018 0 obj <<
+/D [4013 0 R /XYZ 90 584.887 null]
+>> endobj
+4019 0 obj <<
+/D [4013 0 R /XYZ 90 494.536 null]
+>> endobj
+3511 0 obj <<
+/D [4013 0 R /XYZ 90 459.866 null]
+>> endobj
+4020 0 obj <<
+/D [4013 0 R /XYZ 90 455.383 null]
+>> endobj
+4021 0 obj <<
+/D [4013 0 R /XYZ 90 384.652 null]
+>> endobj
+3512 0 obj <<
+/D [4013 0 R /XYZ 90 264.612 null]
+>> endobj
+4022 0 obj <<
+/D [4013 0 R /XYZ 90 260.128 null]
+>> endobj
+4023 0 obj <<
+/D [4013 0 R /XYZ 90 189.397 null]
+>> endobj
+3513 0 obj <<
+/D [4013 0 R /XYZ 90 77.486 null]
+>> endobj
+4012 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4035 0 obj <<
+/Length 2689      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S+��܇c�f7M��n���v!�m��H�������2E�
�@��I��3�>�93��� �^|}sq�A�@#-�
n���5~��O3B����&CD�������Ǜ�?�|4�.��\�zA�HE@ ��ŧ�8X������G;hp��
>^��;^0��ܚ��
h���q�a�CB�c<+��~������j�T
+I֬U��h+�x3�|��i���
to��nt����b
�/s�gY��z�&�k���s�gQ����s�g��i��h�Cr�G������,?n����D*�1��jH��!
+
�j-�q	��tM��j��+�~�,���qM�5b��yE:ԍo
z��Җ����"�O�
J�ٿ���r,�ʅ
+��F4�9
+9=�PL���􄣴�PSP�w�Q�� 	�p؈�k�:�.?H�X(kP8qX}�g��4( ��j�}]А��`�4+���x�0�&)�1
Tv���Ď[�'��s����>YfZ�J���
���
�J=�[�"n�t=@�H�ճ�GE �x�
�b�=N����Z>*��u�υ�!Ol?M�\aA	G�[ �X�j������_�S:vE��~?�Kΐ�
��v��{K��i�R)r�ģ�(C��|���O�|֡h���)�F
w
"U��R=#HrH&��imS�뫫m�ޗ�e��s.�𕙎��b�K�M)H�0䡞���7I5"�,X#X�=�n6y6�b��͸�%w����� ��
M`d۵=n��*���Y�*AW�E��V��/�(6C��cGf���h�H?���K�.�mi'Y6t�Js*�*��M�F�
�Gy��
�1���)�<nϡy�P!´�$�
��/��<�e&��
a=%a^�e%�p�Sw�	�˗6�f��!
N2+�+�&��L"�,��\S0u�n�b�1.t,!��
���4Qn�P
��2:y>,
�e=X�Smg�m
.������M��W	�,jR�yЪ�%��Ƥ����:D ��
�,D������PWx�f��=? [...]
ΑWY���>K�Izߔ>�k{��p���^��O��P*�3�v�ـ�'�R�}5�g.�!���o8�Ys�B��~��)�дA͡��JOX�t(��P!a�\ 
��S�@��1$�m�^B�`jv� R>�`�Pκ`�	���œ�[�PJL�2�
!H��4�BD=Ȗ�0g�uI��v{��LB��
�rc��,K�#H��:�L����Pj�#�h���߅�((���2J�z�O��B��Q>(��yau�j7:
؜����3H���8B���^�]m$'����(�@:�62�d
���~�C�`{��	��8D���{�&cfa�L� �Ӟ��E�@��0k:��GK��CE��5�5hj�H���1 .��V:Jբp~q(ހ�q�r��w��4AV-7�S�n!c
�&�����n-
����g���e�]���>&u���L�W��&Zo�3�[�=.{�=Y!�v}zI�ʴD!d����&���쵐i��7�i�+31.�+j��صC��]
�g�W)C�ɰ딂��'i
^G$
B�]A=�j���.� ��s�$�
�E�@�>���{��%��sK��~

4"� ���
P�޶��J>m
�C�$����-|LI�S��
��B�����|�7ƺ��:޺�����2�� �*hhT��Y�W�p�[��C�*���%��
�4�a�"�G�o�
x=9�B>&`w�������5T�d�,)��4�d�/u�2
+
1Ŵ�q؛��Y!v�B�v;���������Saa@߆g�ߘ61 ]CJ�[)�S[�>���
b�-�����7��R����  *�m�/N�|mw�;����[��*����x�z����]'�;����N
+�IwR&�h
�D��I�8:a�II�qO����>��I��2�h�
��S�M8��i���x��զ1���x���=Ğ�S��k)
��H�ʞ5�R�2��J.L��k���p���v�+��yU�'�g��l��J�ƴ@{���[��FL_̄=�	�5���>+�f�h&
�4	�t����Y��%6E}��˧�*[g�(i�����
���E7�F�|��b��X{���RA!��u�
L��=�7j��ۧ�Q��:}��x��Ԏ�l�i��hˌyk���
+_�[e�J�����
��j��n����`2{8*��.�
"�{�8
�ul6��xm��  (i��P_ l��
1ѡ	dgM�ҭr.`�i��a�g���ޚ-Ts]Eۭ�#�����=��
7�_�Ν�ҝ��5lD|��Z
���j��M��n�0���n�
+�x&ĐP�<�[�:��j�g��W�{ӵ�z��zӺ����>����b���m�~ܛtIz*蛯�R[�<��t7b ʵ�Br�D�36�so_�߸���X�M�Zr
��h	ֹ
�OB]n� $օzR?�__�P�����?����`�҇zU6zq���L�.�D�ǸVp��/
�����Gp$D㖛��_]^�>�C�G�lw��ۏ�Ū)��j���Zm��Ý=�����/"Q��
+endstream
+endobj
+4034 0 obj <<
+/Type /Page
+/Contents 4035 0 R
+/Resources 4033 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 4024 0 R 4025 0 R 4026 0 R 4027 0 R 4028 0 R 4029 0 R 4032 0 R ]
+>> endobj
+4024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 673.894 236.659 684.798]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+4025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 618.611 335.755 630.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+4026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 508.727 243.45 522.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 456.468 485.603 468.986]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 250.424 385.519 261.328]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+4029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 75.416 174.682 82.942]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4036 0 obj <<
+/D [4034 0 R /XYZ 89 770.89 null]
+>> endobj
+4037 0 obj <<
+/D [4034 0 R /XYZ 90 721.073 null]
+>> endobj
+4038 0 obj <<
+/D [4034 0 R /XYZ 90 655.872 null]
+>> endobj
+3514 0 obj <<
+/D [4034 0 R /XYZ 90 609.246 null]
+>> endobj
+4039 0 obj <<
+/D [4034 0 R /XYZ 90 604.763 null]
+>> endobj
+4040 0 obj <<
+/D [4034 0 R /XYZ 90 534.032 null]
+>> endobj
+4041 0 obj <<
+/D [4034 0 R /XYZ 90 480.343 null]
+>> endobj
+3515 0 obj <<
+/D [4034 0 R /XYZ 90 433.718 null]
+>> endobj
+4042 0 obj <<
+/D [4034 0 R /XYZ 90 429.235 null]
+>> endobj
+4043 0 obj <<
+/D [4034 0 R /XYZ 90 356.372 null]
+>> endobj
+3516 0 obj <<
+/D [4034 0 R /XYZ 90 321.702 null]
+>> endobj
+4044 0 obj <<
+/D [4034 0 R /XYZ 90 317.219 null]
+>> endobj
+4045 0 obj <<
+/D [4034 0 R /XYZ 90 234.533 null]
+>> endobj
+4033 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4055 0 obj <<
+/Length 3183      
+/Filter /FlateDecode
+>>
+stream
+x��[Y��6~�_���Tk�8	`6����$�*Ǟ͋���H��)����
�(P�ȕ}؇Q$�h4���@
=D8�������?Ii�cG7��Ƒ���-�7����x�rJ�$)����)œ|��1]���]�_�������c�I�����'Bzd��Hj�Z�ߺ!��0�̀� 
�̀�Q��*)��
+
�4����*�Rw�Uz�S�&i6�[�31!T�W?�\}�"@GĉC �����͟8Z��_#�,�
��8e�^_�~�����@�� X��H�m��
V�5c���r�]�/�TL��6m%���KWy���6И�E�N������o��Z&+��~�ͫe�!�����1�3DA����!�z��Q!�HKx
�
G3�P��[�]����7���nʷX������^�2�&��:�J����TkHc�l����^
+�o�v�;s��$���
|��22��h�ˎ�<���#:��Y+���i�H����ǭ�ܻ
1�$�̀;����Y�(�M��iV�
�!u���q�-B�R�0m
�}pV���}5�9�oЉ�BL-���
��΁�3�����)M	�%�,
���-�4����`
��E�[�� ����B҈!D
+6��x����ےj,`@�!%��f����1�c:�������v		����
P�qc(�f�iZ7��0������W�6
�1�x�
+\�d�0
+�'����1���
�۬�bD%b@���p@��@9�ig�ɪ
����H5.�R��q#z	$y�1�92"`l�]U����|zk�BFJ�@��ƠG�E��d���$Y^�
+N5_��$��9�K�J�ۧe�h��C;��7)����H�y��k��iƏ ��0�X,k����r�ΗF�FŐ��Yf�S`$��b�6ji��s��u_N�L(�]$��%�:����dW��J
,y�%��
`�Z����0�N���N
A�� �|�/� 
�C��b�X�M�ۃ\�V6�Z�
p����v}�N	�|�Ԉ�G}Dƈ�#!ؾ؏"�t�٨�_�ԈAdH1�=L����e���R
�� ��m �MU��x,�L���0�sR,��U���� �
�~4:��O��T���~�eC�F]\��A
+����@�a�(��Y�:O(R0�2 ���hl
�+݀y���������
6Z/ �7y�h1'蒉&}����!hƺ(ʋ��a�K� �F���ƺ���2����,!8��S��<�Xr�$Y��;iV��ץ��֑ @Rz�e��@>�=k�&%�@�#��]
��@Z<�
_eb�ܨ�ظi�օ����Q�c��z�6q�f�g�.���bH�u��	��a.�y��h5����2�� ��q���Ә�]��V������ZWʰ&�-�/�1jt�2F��P4����|�A0ލd��G<����������D�p�D�&+߼�[gT'���4�m+A�P�dH���G��p��yM�H���&J(䴆�������א�p��d�\܂�`r�����=��Gavѕ�z`7�p��qȘ徥�y?�(��+�y,r�y>�n#��r�������2?U���WCw��Jt_;a�ǩIw�&?�<�!
b��OѺq����5���tF{#8ݿ|�4١�%�����t�ѫ��v��-��x�@A1�� �R�g��4{�
oӢ�r1ɋ#
�Fkž8+
GЈ���1cĦp5I6t�5hId�ի�f���7!'�om�t�>�E�]-��y�-�Ό�g�>5
p+5C�=�
W���^r�W
:�W�� ƭn֛|���޶dL�~(�%���a�wz�׶1� ����"��4��7�!�mJ�M%�r��(��	����]
�z\��Z�j��ц���*��4eP�R�]�<
�JT���0wE�@�ݮf`ʦB6�1��IՍÁ9�eד����"E�A������7w��[Ly��H��D9�ھe�.>
���)~d�`f
+�ݺ-�0���1`q�P9��4�
V�ҦC�~�t����ޏ.vu�;�>H���K< ^xN��#ѭ��ݔ9�$�g�9?z���
�����#@��,� Ar�uޱ
:��c6� O�	8���c�;�G�
��#�
``4�����u�/�:�
 �P�#��K<b<��?��,3fIA����A"�2ӂWg`�޴^
ش:f\��q��VK�tw����(o_7�5��cYdkK߄`�]�i��V����[T��/��
�Hp���ƀ_�G~�U�<��[�}t߽ /�c��daO%�[�-ݧd��3!��Q#�H��
��h�w���Oŝ�Z i�8�c�ō ��1e�'2�K{̴u�2��J���Pҷ�a
�߽���|ZSe�~�zdG�|э+���^�K��):�{��9pH�)�
#�F�9����A�}
+a��q��8�VޔL�C��<���!��Cl��
H5��rPQ1�_f�)xbK�}�FI�:�9)ӏhܙ��P�>S��������K�V$;H�˷r(�A.���
+4�Q[�M���0���Q<�N\7r�y�8�\#��l*����W���U�U���V�N���Vt��a���oY�e6���w�A�^�l���uu� ӛ�V�a:w��ϳ�x�E>����;��f�)Ol1�?a{\<�U�r�`��C�������!���689�Oia�LҸ4��Y�a�-���qT��l=����K�h���`�=Er�ї�W�U�\
��6܀˽5`��$'To)�Ur�Y��8�R��� ����U��
+8�
e�_M0�H��.����SK��+
O�{+]�
M���\�h��?�V��r�!�?���1w
���T�t���ׇ'.|œ�!܁�{�֣\wO�[���j�u��(q�n��f
+A��
+C���Ț3�dR�"��T����Z���Iɀ�捇h ���}�19����qO`��I%��H�'�.�y\[�js�@a"\!Oj��(T�o��SJʎ}[�q
+x�y�@}�
�}���O��
+1����I�m^&4eV�K/�n(�)=�����c�}�\����
+Dp$z]ª�\?~�}(��A0�[��CۺF�Ms at g�i�Bps�K3A�m Zl^��%�� ��D���y�����7���f�9�����\�e
+endstream
+endobj
+4054 0 obj <<
+/Type /Page
+/Contents 4055 0 R
+/Resources 4053 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 4030 0 R 4031 0 R 4046 0 R 4047 0 R 4048 0 R 4049 0 R 4050 0 R 4063 0 R 4051 0 R 4052 0 R ]
+>> endobj
+4030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 685.438 216.525 692.964]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 685.438 291.843 692.964]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 607.263 239.856 618.167]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+4047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 419.546 379.76 431.879]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) >>
+>> endobj
+4048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 377.448 182.164 388.352]
+/A << /S /GoTo /D (index_expand_space_dimension) >>
+>> endobj
+4049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 280.082 243.45 294.03]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 203.514 535.938 216.032]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 190.129 226.824 202.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 80.973 362.844 92.041]
+/A << /S /GoTo /D (index_fold_space_dimensions) >>
+>> endobj
+4052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4056 0 obj <<
+/D [4054 0 R /XYZ 89 770.89 null]
+>> endobj
+3517 0 obj <<
+/D [4054 0 R /XYZ 244.439 610.416 null]
+>> endobj
+4057 0 obj <<
+/D [4054 0 R /XYZ 90 603.776 null]
+>> endobj
+4058 0 obj <<
+/D [4054 0 R /XYZ 90 535.202 null]
+>> endobj
+4059 0 obj <<
+/D [4054 0 R /XYZ 90 469.16 null]
+>> endobj
+3518 0 obj <<
+/D [4054 0 R /XYZ 400.69 380.601 null]
+>> endobj
+4060 0 obj <<
+/D [4054 0 R /XYZ 90 373.961 null]
+>> endobj
+4061 0 obj <<
+/D [4054 0 R /XYZ 90 305.387 null]
+>> endobj
+4062 0 obj <<
+/D [4054 0 R /XYZ 90 227.389 null]
+>> endobj
+3519 0 obj <<
+/D [4054 0 R /XYZ 487.765 84.126 null]
+>> endobj
+4064 0 obj <<
+/D [4054 0 R /XYZ 90 77.486 null]
+>> endobj
+4053 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4068 0 obj <<
+/Length 2874      
+/Filter /FlateDecode
+>>
+stream
+x��[mo�8��_��{6P3|�m��dѽ�n���>t�@��DX[�Jr���R�

�Rg��
�A�,g�3�<C2Q1��`}���[��>?:>
�$D��rr~5	�$�!>-'����ٗ�'L*DB	�2������݇�3��ѻ�?�|�'� P�&����/x���?��,T�[��z�)��jrv��#�hf4�F� B�BqĐ�9�O�x�YEe�59>���_�T�*���pd(��
��&N�u<�S���
�
��?z�v��Fb�n�!�!�B�n��2�gs5�:#b�
��
qj
�p�o*(
+U�L�C�30����
�O�����. 
��]�uF�4K�ՋN(�k\�qF�4�������lu/����2������9!b�L�m(D�ӓ��o/�n��o"A<�M�VX��
_\���84�''y��4��e
+����)�F9x�)#�Ԟ��x��z<8Ș�!ʤ;f2�TQ�����@	�s5�.�2��'M�F5r�����qwQf�NYƧ�a�=1NC$a�md���|)%�Ļ0�f��:@�|5)���\��	z)�/*K���K��P
«\BD)�u?���h4�e$ň����ע��+s&%�hL�9��H�f�`�I�Ջ,-J;g�;
k��s���4�b�YW��S�
�
D�r���OK
+���^u4�x���n��4PYo��Ƙ�G��E�`Y���ו8���UR���̣��'Mu�I
+�b���y9�qI��T�)D/#�. A�*M�C5�A��+q��%L�՗��]�#������?u�G��J�
'+�+^�"ߕZ��@P�$��3*�x��`Z��^�I��Ӕq†@چtG��:�M9�a��<��E��f�y��;�mS9̧�undյ��h��0�|�����A#��x����,^>'�g���+<HQU�D�>�ŋ�fO�M S`���S�’�$�{I/��ԓA�^F
�zo���Cap?rE�/d����BM����FNׇna��
 \ܩ��6Om)��
����Œ�-�K�7W ��R
bW#J-}t��Ws��z���g �f�Y��HW��F�(]zd @��
�Rq�]4t%�M��."�vs	p��Uu����dc΋�
�
�@�$m��Cz�.��X�����C����Ҳ��0PZB>eL
��`O�$N�E��)07�b
����6]�I�V��f��:N��<��^�H�,
+��3*"#��ˆoZ	{�gq��txyr�A}��u%���m�<*�sFA�v��^��[6m0g΅��i: �)i��x�� �&t���
U���!A{A��Ѐ�s��
�Zĕ{�.hț��\>uB���<xB�-V�U��u �Q
�A��_��fk��	
!,Fb��6���'e�sLq�p�ȇV����	�x��E�X�Y�CU��Y�j|!w�ؠ���EA��Nq2��PӫhU��A0˚	H�1�`X[m��<D���1�ֲ#+����n7��d�>�0���`�
;c��ơ�0(�N�o�c���T��8�p� m�gzh}�M�s�5�8/�Ӯ��JL����}�Y�Cp��Ӆ��]�Ne�i�G��vuv����mR�P�(AӴ�
����',�:�����������ߍ�m��G[^�s�� ��
�8�/��ʶX���hS}�Y
�w%
��C��.
����B5H|�·4I���*C#L"0)��n+
��>@Ȁ�	�ֻqU��w����4{�"�n�s�v��<R ��y��b�Q[�>��JH@�Ɯ�Ǧ/{��e��
C�yC�.�lU	�˾f񔑚�I�˽B��(��
�zȗ
+���G�B��ǻ�����ϴ[
�N�Qn�$����ص�q��1N`�a�z�:�Y~`�+>�{:
;�f�U��V�,]��%:�����X�����o�����c�{���^���
w������6������=��z���L��.��ϓt��7@�/W��:A
''zi�6&��i��xǮ]׳ ݴ�#��O=Xn"/^�Zp5��R3���N{�]�!l�U
�����>��.�����99�Y3��z���{���.Ǡ;i���+
+�>�p at w�\�_���
�Ӭ|4������,߄��fE̥��Ya^TGN�.+��ɓ`��
�
ɖy�f�u�B �/�2�:Q�?N(6!F!Ի'��
�Ѣ�ڧˤ(�t�9�A,:��
+f
@�9*��:u7�vp_�-�&���ċ�u7//>lחq�߳���^��J�*;�]͹�mΦ���8]�ˇ>!
+#-2�,�>�'D1]�� ��঱jg×��A��D!��a?�4
Y%�YP���SHg

�6i����@�ϗ�$���Ġ�}t@
�t����A
$[>���ҍ0|x��x��g��t�,�Hn�����m�e�^_�Mr�~Cml\�/�*�
h�
��qsΫS��@��V�0�z��w{�G����#J�Y �C ��[H�E����[�@�Z�{6�W���=��
���L�� 7���Ak���oD&�T�3-D���
ӂ���	1�ZI{�j��
TX�����
#s�l��.Y۝4�(���暖�O)���G�f���ߡ�\;G���Y���]bV�ϝ���7�66VB�.���L
�m\o��6�j'wv
m�z�g/=U�=
��2t�-�50�s��?���|pƒ찱�b��!�/��M��/&�Y��ν����}p�~�&o3֊���y+�>��@h2a�WMe=����n�U��_��rрѶ=�(p�g��
ȿ�)T�g�=`i���Q��Gf:�@ [...]
+endstream
+endobj
+4067 0 obj <<
+/Type /Page
+/Contents 4068 0 R
+/Resources 4066 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3991 0 R
+/Annots [ 4065 0 R ]
+>> endobj
+4065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4069 0 obj <<
+/D [4067 0 R /XYZ 89 770.89 null]
+>> endobj
+4070 0 obj <<
+/D [4067 0 R /XYZ 90 646.048 null]
+>> endobj
+3183 0 obj <<
+/D [4067 0 R /XYZ 90 608.211 null]
+>> endobj
+4071 0 obj <<
+/D [4067 0 R /XYZ 90 603.728 null]
+>> endobj
+4072 0 obj <<
+/D [4067 0 R /XYZ 90 513.562 null]
+>> endobj
+3580 0 obj <<
+/D [4067 0 R /XYZ 90 489.613 null]
+>> endobj
+4073 0 obj <<
+/D [4067 0 R /XYZ 90 489.613 null]
+>> endobj
+3581 0 obj <<
+/D [4067 0 R /XYZ 206.91 396.575 null]
+>> endobj
+4074 0 obj <<
+/D [4067 0 R /XYZ 90 389.935 null]
+>> endobj
+3582 0 obj <<
+/D [4067 0 R /XYZ 90 338.248 null]
+>> endobj
+4075 0 obj <<
+/D [4067 0 R /XYZ 90 333.765 null]
+>> endobj
+3583 0 obj <<
+/D [4067 0 R /XYZ 494.439 266.61 null]
+>> endobj
+4076 0 obj <<
+/D [4067 0 R /XYZ 90 259.97 null]
+>> endobj
+3584 0 obj <<
+/D [4067 0 R /XYZ 488.462 192.816 null]
+>> endobj
+4077 0 obj <<
+/D [4067 0 R /XYZ 90 186.176 null]
+>> endobj
+4066 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4081 0 obj <<
+/Length 2148      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~����U���/
E�����e+��J�–�,��zFױd�a�\]y�4wO����42�
|=��jv�b�AFR\��$$ܭ��s�_,	�x~� x
f���rA�<]?>D�,��.�������/^^�z����շ_�K
G�hP�~ZL�4�&ʫ	W=2
"LT>��b
�v�%�:�6�u�G��O�]�-��G�-
)�Ĝ0beξ���6# �p�@J����78X��F
�y�&mN|��W�g��Y�<K���>_����o��v��y�&�b$̢�bewi��V��~'����
*`^
ެ��[�]�?n˯�x�n�����on��W�c���x+WB��
���1��.��U-��2]Ƿ
"�}1 at A�;x\r�{*�O����SӞ��T"��`�8’51
��ۼ���CX�����%[�&��Opm��ޱ���ĝ)R���	=~R
����U�HW��o�t]�ˢ�<^�If�X�D .t ��<QCM�Ѧ�i˞~N4� Š��閱�wyh�YPإI
��ҾbH��>)<�
��4,Hj,!�e�8%A@Sf(F`7�PM��=���E� ]�Pi]()����S�"�3�Da�����e�"m&�˰@Zs_��ѹ+��
+@�bmF��Y�����ZS4b���- ���2H�z�-�׼'2(�Ьg
�0Α��)q�K��q�ը�u��B\6j�%SA�p?%�
@G
���T��1%#�Y�h�ѳ~,���O�>YA�~g}"%C�^֪��/
j�f�
�2�T*|�����"�vVo�>V������m
�"��h/
&�J��?���]�݀�viy�}�<�9T`�87TWdww�o�(�Y7e�ڧ�z3Ԫ��a��3^"�d�1]!���VC� �A*$i�� �a���
�p;�Xf�[F8tx*�L�۴�#����?�	�w�"�_0�I��f�����4����I���f�x��_1����y���iߢ4x��
+�`Z��|���\2���KB��
�!Sg�'U�
� {���݅�]�LF۽6����ƻ��C���_�
+/�L���6HҤ��N�r���v(.�k��nc�Uh�Ly�K
]��N��
����a�f	?�
�g� }�oG
��%�_��]�
))��<� v�E|�^��p,$0�	
@a�{mT�.XF3���
y�4� �1"&�Pװ�~m-ف��
�Av {�-�&�aӐ�)�E�9� L��$����!��f�>+�hvA�@oE<�g��&��a1V�Z"�8�K>� ���)G�iN���)b��5&6ψT�j]�k��f���R�L������T2�To��O*G�yhv�+At��a~t�ƙ�A
��2�)ә2��(�U�S&�Ԭ\s���ޖ|�3�"�ԞX�>��1B ah
��=���z���G�]���H�1yJ�h*pw5�IL�K$��J�C
�0Ր &
	b�3��a�2Z�a%�H�������U&= 
+  ��Zpj�
 �W�`Nec,�i�0@�)�bCڊk.8‚��HU{�d���6

+�D�B�H A\�!�� �����'�R�AD�	3>�Z
+L����
+�FC�)�GP0m*�j*���T
+4� Z
?B�4��v:J�$;�p:�7||����>���xR�a�I�$�/:&!0?1'a~��em�'� ,���'�g�dL���(�5��)�ap�6
n[�6dpބq�a��AɊ'�!E�����Ԉ���2�h�`�E����W�� ����
�ݶe�:�OC�n�=�c~N
�{�A� ���н�H0�OG���Bԟ�B���/D	���(�3HgJu�QN��	}�
a6�X�j}x�!Ơ>�~��P�D���Cfs�%��
 k	�B� T����9��

����}(��b��+�U/��
wL��:���;��C�߇���C�3�?�3�����OӾ�T���_�@�(�N��J��
�%/�mQ}t���?��� �]}����Y����(�ձG��-��毢�lŢ
����\6K!�#!�{���󋋛��.J�S���쀒���]u�I���8��U(����i!�<��
܏�r]�Z���ˁ�o6,x���<ض�[��F
+endstream
+endobj
+4080 0 obj <<
+/Type /Page
+/Contents 4081 0 R
+/Resources 4079 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4078 0 R ]
+>> endobj
+4078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4082 0 obj <<
+/D [4080 0 R /XYZ 89 770.89 null]
+>> endobj
+3585 0 obj <<
+/D [4080 0 R /XYZ 90 699.155 null]
+>> endobj
+4083 0 obj <<
+/D [4080 0 R /XYZ 90 694.672 null]
+>> endobj
+3586 0 obj <<
+/D [4080 0 R /XYZ 128.643 554.246 null]
+>> endobj
+4084 0 obj <<
+/D [4080 0 R /XYZ 90 547.606 null]
+>> endobj
+3587 0 obj <<
+/D [4080 0 R /XYZ 442.087 409.337 null]
+>> endobj
+4085 0 obj <<
+/D [4080 0 R /XYZ 90 402.697 null]
+>> endobj
+3588 0 obj <<
+/D [4080 0 R /XYZ 90 264.428 null]
+>> endobj
+4086 0 obj <<
+/D [4080 0 R /XYZ 90 259.945 null]
+>> endobj
+3589 0 obj <<
+/D [4080 0 R /XYZ 128.643 119.52 null]
+>> endobj
+4087 0 obj <<
+/D [4080 0 R /XYZ 90 112.88 null]
+>> endobj
+4079 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4092 0 obj <<
+/Length 2323      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�F~�@^�dU8����l�&�Sq
�Y+O��E���
+I0 [�>=�

��D��@
������0FT7�?�L�=�߯.'�

2����:08P� !�l��Fgo/�LjD�����xy����k{o��r���-
�T�@J����[
���sP̌>�A��S������	�Y�,u�A�da���ٜ`���p�[/�����*�T
+I�s������VH�b��vn�p6��L/g\OAvz���Q'C��ƕ�d��QDq�p��x�)7���8^����rF�t
����4�hD	s�b�tş"�M1�1� �i-�hXl��G���p>�b��a��x��G7�4?c�ӈղv�(Cژ`�!�$}.�<
W�^
7Wa�O�LW��tR�H'�N7�ӧ�v�NcB�
+�� &�}bB� ߈Er�J�zC/�o�}5ct���LMo=�aAz����s�2�Xe��$��:d�䅦e��<�A�U�B�WO޽~�����H���'�������7��ļ��9�i!�%� � �z h_ *"Z�˦};�����#�A�|����vmo�=��Lɐ)ծ�֜"0�el�k �[�hu��
����0J�G,i��#���r$T�@A�%Y�E=��+(^O�7Ih���[טr�q�LV��!�0�')�e\g�:�쎇po��E�}�
���-w�X���Ux��[�uDhC�<~L�Ԭ�4+#�خ�R�.g��#DT�
P�S
m
�
?xz��k0���18�:���r�1�5�v�`�� �˱��h���1݆+��Q2��$���,v�$�m�(�.�שW�!=����g,s�t-⚓���c��{DBd��
C�P@�M�_�$r
+���zv�+b��E�)׋�ާ	����C.$�}�卤H0��M��2�hY�2
)���V�v�e��߅��N\�������qΪ-��b�m�;��D=���^�ʖ���Y�=�$�y&�q���:7ܲ�>N�mz�ی
+x>Z\�C�4����a�qۄ�c��
 #Z�>!qL�y�m;����F���-��f�洈<$-b��<pl� 3'<�[�ӏ����=�P$%
���)�
�#��u���r��֣�3�!vc�Yİ8�t�s,�(ri
Ś���cA�[8���q#q�9 f�t�і

ҫ�c-�0�?9�	
+��-�V岛cَ��C/�ִ�w�b����w
m<�=�c�+n��b(���
�U���6�%��
o�VP��/5�� ���	~�[hWV��,,��Ša���b8��A�Xe��E6��XA�Y���9�#�A��@��QC���P��yW�B�=sJN�
+c�%\T ����=r�.��#\ ��
��˸W���|CtW�@��kT��0!
�c�Y�Øh�p{+�NoY�c����e��.�S5ʑ+���h�R
!?^��Q��J}D��Ӥ>���>��B}�iF}�a��K�c�kqvz4|QPD6q�l����<X
�´ ]��w�

!‹G$
�M@Үi�� rt`;گ�
��{?��&M8�#im����x���Έ���I�@��i�׸�n��8�t���}@T/�V{����a�RP~5�]�M�Z��Y0X�D]s��$�w���9'�o��c�T���dE15h�i��nSM�y��o�ۄi���u{�/%��OT�V�p���A,�= 
���8ʱ uG�
�I��� $� 
b}4�<<
g�"���A�̃>

� H�y���x�=�xЌL�e�JF��a�
+�K.��7�B�h�bЇ�R�����
�S�-`��O�:y�
FĨ4�1 ���s���,�’��H��;K�����Y��s�T��ϒ�М���滳$�xX�ܥ�,Ɋ��� �4�ޜ%��Y�����7y�o�F�&O=���1�ǰ�vf��
�����'A
�_�	_6(#H�H��p�~@1ռ��
�!�C��2=w<dΙi�_�w�_J���.�=N�
Ѕ5�C�����n[�E��s��Ѫ��^Ηo|o��`-Gx��]0vń����x�z���^�����zay�|f��"T{�0�J�t��
ѷ����պ���J��!_4���ՎC�`�l�~�5�_m�'0�E����<I.�{S�+��D��cw3&�p��ObV����y)нT�ET��0�:z׳1u���Ջ��}��c&�4C"�/��E�Sl)�f_��ɾ�Pa`4������0
`j�/���M\�+�`{�Ȫ����WǛ}��A��N�\���.a"@�ԘM��hkq��T>� S�;w���
+endstream
+endobj
+4091 0 obj <<
+/Type /Page
+/Contents 4092 0 R
+/Resources 4090 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4089 0 R ]
+>> endobj
+4089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4093 0 obj <<
+/D [4091 0 R /XYZ 89 770.89 null]
+>> endobj
+3673 0 obj <<
+/D [4091 0 R /XYZ 442.087 588.309 null]
+>> endobj
+4094 0 obj <<
+/D [4091 0 R /XYZ 90 581.669 null]
+>> endobj
+3674 0 obj <<
+/D [4091 0 R /XYZ 90 443.4 null]
+>> endobj
+4095 0 obj <<
+/D [4091 0 R /XYZ 90 438.917 null]
+>> endobj
+3675 0 obj <<
+/D [4091 0 R /XYZ 128.643 298.491 null]
+>> endobj
+4096 0 obj <<
+/D [4091 0 R /XYZ 90 291.851 null]
+>> endobj
+4097 0 obj <<
+/D [4091 0 R /XYZ 90 146.942 null]
+>> endobj
+4098 0 obj <<
+/D [4091 0 R /XYZ 90 112.939 null]
+>> endobj
+3676 0 obj <<
+/D [4091 0 R /XYZ 90 78.877 null]
+>> endobj
+4099 0 obj <<
+/D [4091 0 R /XYZ 90 78.877 null]
+>> endobj
+4090 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4104 0 obj <<
+/Length 2408      
+/Filter /FlateDecode
+>>
+stream
+x��\m���~�b��.�H_E?؎ۤip��_jYZ�	��E�չ��S���h���>���p8�3#��p�E�=�킺�����������n>D�FZX"��FobF�LF�R_'����b|{�p��O��t=��q�~=^?]]=���S�}��������x�&#.i�|>�l���:a&N��4�,h� �w7?\|ws��éш�S�D�h��x�FS|�4��>f���������Գ1�
e��1F�L��Ta�6]<�ݔq&�/qT�I���e�K>“��Հ��C�
/
+�o��.
���M�7D�x�?����	L�iA���ҿf�&rP����<ױN'��|�L��}�
��o3W�ǜω5�r����Dj�y}:�l�n���JE��^KK 56c��o��������k
��sV�������/.����O����:
!����`����[k
��~ۦ�i:��	�h*呲h����kI�e�(V�V�����H�C/�� v�^'�1��&�����P�ZB���oJ�1���=�N��[��,Q��4Y-7�@dp����������C(SAL-�K
b������Bvc�+*�
�P�H�o�6�P�� �4D
r T#�^|�AvY}^	{�z\Ng˻��uH�Rg���`�1t,��J�
���Fo4$w����zbYob�RyH(��V�0)���ҋ@e���"��:uX=}�宒��
`G�C���F�J����H���{Q�A�(�+
�Cs�<�_7
H�
��(fxGp�ފ4�4������s��X o1_v� RuXy*?��&h�aD
���9�����<.
n��g�	z�jD�]�m��
�ÈFqnԴ-�;����"��8�r;���1�L&���H#�֬���|��� H"�L��!1s�!��P#�#���'hL���
���>Dk'�)q
�8��QЃ^�[��
�]
ڂ�QՖե�h�vA4!�"Z[Bg�!�h��i�!D���o~�pS�z�{D5�֠
��S`
Yf`�5{�Z�5k9|��jzoHY��ހp-��(8T�ՑT�r,N'	��|6M��P5��� �ʵV�i�
.
�.'��M]
!z�,5� �溜cG�9@d��rN"%LB=�sN�[9׃޲�������
��CW�K��r:0�CL�nza(�qә	�dM�_5��}0'��ٝ�@zK&��
����
������Y��h�B�؅��Z�-|
�ec�@
�3�e� �}K%i�5s��O,��Eyz�ΓhCo�ׅc}]y���Bn!O��
+��R���u�Z,�}�
�}]O���
��C_���j��Y�9�Us2�5�}a��[]��՜DXk=�c�n5��
��0�	�m{u7
+3��DQ[P��ҝ�^ζO��CE�>t
�p%��}�z� 0����H_s]=���#b�@��r�Gp�tA�Q=:Q�Y����e���
�ǡ�<�>���#�0�G�y�;�{�9��y8Q�w'
=�.�GSu;��Cq�;���n��N�^~��D��ݪh��z+���;Ў�i=4�����Ȋ�6�u�i�㢏�; ִܴ=�w{�:��� Od�ğSH�$�D1�AA at vf�ݸ�(F���H�\[wf�ņ��Z_q�&�G�������h��˟�&���P}�ɝ��`e���e���;�ɇ6��&��mryN
U*�ˆ���LA+��'�"^ͦ��M�X�q��_u0�c!�Yo+�؞���=)��V�LB: 
�V���I��֎
����yO���R�M��MkgRWyn��^]�6�u:^�R�ɿ�_=���v�%�^�K�`(h���*�d$p_�ԅҜ�0�4l@���
�t߰m�)�O��|��3~T��:M�'+����<�rB��|�����Ht��7��
���q�.���lU���FI�d{?+nX�ԗ-}̮l*^ܥKV���z�(?�����U�e�a���<���ʛ��M
dqCĊb�o9�7��H�|x�����?��9_,��Z!��~
+!�]?`�tĐ�=��> 2�|Vۘ��2Y���!S��WfMy�N���*�:o�5[����U[�Y$ L�3
,,$foϱ��������n�§�����uZV��b��\�3�#�~�cZIE��d��v�_��s����N(�)����4]VQ]%X)cع'�СH#�-'��i(wI�u�.�x�tV��ݰ#}l��{g��^ܽ#MaM̡�
i�:�2����٭h\��&����'�ڤ�?;Oy����x^ߠQ�Ц�I�P�I2L?��2
+�I����q����
+��I0�ۇ�����w�tyG&���©a�d]�D
�պ0h��7Y�$��)��aH��'Й���)�Y�
�ϳ�,޸�~ы:x���$�a�
+endstream
+endobj
+4103 0 obj <<
+/Type /Page
+/Contents 4104 0 R
+/Resources 4102 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4101 0 R ]
+>> endobj
+4101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4105 0 obj <<
+/D [4103 0 R /XYZ 89 770.89 null]
+>> endobj
+3677 0 obj <<
+/D [4103 0 R /XYZ 90 669.666 null]
+>> endobj
+4106 0 obj <<
+/D [4103 0 R /XYZ 90 669.666 null]
+>> endobj
+3678 0 obj <<
+/D [4103 0 R /XYZ 90 622.647 null]
+>> endobj
+4107 0 obj <<
+/D [4103 0 R /XYZ 90 622.647 null]
+>> endobj
+3679 0 obj <<
+/D [4103 0 R /XYZ 90 576.629 null]
+>> endobj
+4108 0 obj <<
+/D [4103 0 R /XYZ 90 576.629 null]
+>> endobj
+3680 0 obj <<
+/D [4103 0 R /XYZ 90 519.657 null]
+>> endobj
+4109 0 obj <<
+/D [4103 0 R /XYZ 90 519.657 null]
+>> endobj
+3681 0 obj <<
+/D [4103 0 R /XYZ 90 472.638 null]
+>> endobj
+4110 0 obj <<
+/D [4103 0 R /XYZ 90 472.638 null]
+>> endobj
+3682 0 obj <<
+/D [4103 0 R /XYZ 90 426.62 null]
+>> endobj
+4111 0 obj <<
+/D [4103 0 R /XYZ 90 426.62 null]
+>> endobj
+3683 0 obj <<
+/D [4103 0 R /XYZ 90 369.648 null]
+>> endobj
+4112 0 obj <<
+/D [4103 0 R /XYZ 90 369.648 null]
+>> endobj
+3684 0 obj <<
+/D [4103 0 R /XYZ 90 322.629 null]
+>> endobj
+4113 0 obj <<
+/D [4103 0 R /XYZ 90 322.629 null]
+>> endobj
+4114 0 obj <<
+/D [4103 0 R /XYZ 90 276.611 null]
+>> endobj
+4115 0 obj <<
+/D [4103 0 R /XYZ 90 243.55 null]
+>> endobj
+1204 0 obj <<
+/D [4103 0 R /XYZ 90 160.53 null]
+>> endobj
+154 0 obj <<
+/D [4103 0 R /XYZ 90 152.654 null]
+>> endobj
+4102 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4130 0 obj <<
+/Length 1714      
+/Filter /FlateDecode
+>>
+stream
+x��XYs�6~ׯ�SJ�D0N�[��M�$u��q�CK��	E*$U��})��&N�
������-0�"X�|~�`3����٥dA��F��2�q y�D����0>�x�s�"�H
�);}����o�ߛ�ɋ���	�%
G@ ���f��#0�3\�b��M��S�,x?�m�;�Y��F�#B!��,�*]ً1���etx�D�3�(���
��Tt�f㰪�ݼ�+F�r�zg�P�Ëb�MJ=z����
+a�Rq̈@�3�SK�.�$sâ�2.t��+?��ﳗ���̍纬���<�u�

��47c1� ?�/���v*�,�M��7zs�K7����:-����&���X^
JԷ��

��G�U�
G��2�e���f�
�&���C�'߬%ǐ�{
+h�:�yWEv�֋�b�ȓ�������b�������v>�
u�G
�M-A�p��%!��)��6[l�nS���lw��Q�6Q�c<�ܓ�o����_�۳K��(�!��qn0�΀��$�\5{�GDC����
��V���4����#�������_�B�m�Z�Ӫ�*K���1|���?t����*u�TkA at -��SH�}�@�
I�
E���z�V#�ʪ�H��.����v��ʘr:�
�3�I���,�^�>	7('��
8��@�z����:I3�p��y^�[�'|
��
xu>�8�kJD��p�����*�]ݥ
����V���2B8�
D���h
�\�^ �9��v����Jt3)8d�ש�&
�0x����e�l��nJ
b��+O#��8�
+���?�t��_�pU+A�N���,���ⶰL��
W-�M���tq�Q0����Q�(����mQ��N�0
H�0���d�Abv�%H��.a��������|o�^g$��Ҡ���r�hv$͍���6�͆F��W׍f4���-A���.�l
?=��z�yh
�'�A
,����T�K��-Y�0`�|�[})�n,=�I�����$
��X��H1�mt^'�ҽ��B
�6+������
[n�a[K"����Mq���(Vq��Z"1"�XR�x�^M
�
PMhs�
�H�Ga����:�-�g*�??��
2!b�=
+
+ʅ�]&.l�E�޽��x`md �t�%���L•�2
<3 �Xs�IS5eS�~��
Dٗ�r��%CD�n$aHbA��cb����!�?���t�+�>t���4
l�6B���e��6���J}:$`�[���)\��~���A:�$

���b�Ts�vuž�(#&S5��R
c�
+;lP�p������&�2�V�$���y`����K���J
qpf�#a;�9|�!�b�����J]m5���	��d�Ө�Q3&0h�=�ɢCX�@��L���c(<���
��A���C��U�����|��
S����a�,ܭSV��د="@o����L!��LЛA�n �-��U�X�ɵ�X5̡��|��j.u��$��xx��ihѩ�}����͛�'k�k� �0�H{ �,�M��e�eN�6ތ�2}�E=�s$|c~�
�n3�^wV�/�E|�/��D"�Oߟ!�b"mڀ���]l����W</�؞�
���m�:]
P^��t-su��
~�t���^�o���
��zX��lejro��u0
_�Z����9�Gp$D=�ޞ����V�?��5,w��q��>�Z'��(�arc

���7n?Y
+endstream
+endobj
+4129 0 obj <<
+/Type /Page
+/Contents 4130 0 R
+/Resources 4128 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4100 0 R 4116 0 R 4117 0 R 4118 0 R 4119 0 R 4120 0 R 4121 0 R 4122 0 R 4123 0 R 4124 0 R 4125 0 R 4126 0 R 4127 0 R ]
+>> endobj
+4100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 683.988 177.053 694.892]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+>> endobj
+4116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 610.33 198.921 620.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae) >>
+>> endobj
+4117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.262 198.921 591.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) >>
+>> endobj
+4118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.258 580.262 274.188 591.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+4119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 550.568 198.921 561.472]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) >>
+>> endobj
+4120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.258 550.568 311.268 561.472]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+4121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 521.247 206.669 531.777]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) >>
+>> endobj
+4122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 491.179 163.215 502.083]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) >>
+>> endobj
+4123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 491.179 275.562 502.083]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+4124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 461.485 163.215 472.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) >>
+>> endobj
+4125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 461.485 238.482 472.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+4126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 299.835 191.727 310.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+4127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4131 0 obj <<
+/D [4129 0 R /XYZ 89 770.89 null]
+>> endobj
+4132 0 obj <<
+/D [4129 0 R /XYZ 90 703.796 null]
+>> endobj
+4133 0 obj <<
+/D [4129 0 R /XYZ 90 629.85 null]
+>> endobj
+4134 0 obj <<
+/D [4129 0 R /XYZ 90 629.85 null]
+>> endobj
+4135 0 obj <<
+/D [4129 0 R /XYZ 90 598.422 null]
+>> endobj
+4136 0 obj <<
+/D [4129 0 R /XYZ 90 568.727 null]
+>> endobj
+4137 0 obj <<
+/D [4129 0 R /XYZ 90 539.033 null]
+>> endobj
+4138 0 obj <<
+/D [4129 0 R /XYZ 90 479.644 null]
+>> endobj
+4139 0 obj <<
+/D [4129 0 R /XYZ 90 430.367 null]
+>> endobj
+4140 0 obj <<
+/D [4129 0 R /XYZ 90 284.237 null]
+>> endobj
+4141 0 obj <<
+/D [4129 0 R /XYZ 90 261.455 null]
+>> endobj
+4142 0 obj <<
+/D [4129 0 R /XYZ 90 261.455 null]
+>> endobj
+1719 0 obj <<
+/D [4129 0 R /XYZ 90 68.617 null]
+>> endobj
+4128 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R /F117 2446 0 R /F8 794 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4153 0 obj <<
+/Length 1647      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�CI�\�{3� uM�Mܾ$�@Kk�(E*$����ey�(Y�$E"���ٙ3gf(�,
��:���\\K�h����#�������%	�'c��#�
�U8��(v��ai�Y8}�ea�pyy%�9}�6YX���S�ݧq����so2�(�$3FI@�K�>ܾ�<��|�@�
R��H*g������9|����i�|����2�����?&�9F����Gs<�EҜS{>�%d�x4���
�p�&�'և@1ĕla�  �#
��(n<F��
!n��]S$�:
��� �A�|��@V�#@��݂� QiE@z�vX��%�Ǔ��*�l�/��1�'���� �@�f�)xWQ��N<
��82���H���%盛Y��2S���x��_֙��(MrTB�\�=$�H�ZPC�!Jf�fn�p�n%gH��p���[AZ� -�#vG
+2�Y��v� %��%
+s|��K
+D��xf�0�+�@��|�E��|(�8�u7�7�]6���l�2IV�������2j�i��T�o��,LR"���te5�X
�
���(Y�_�ǘ��r�"�����xO)�z�s�z���RȷV� v�&�W5
�r�΢j�-�N��s`��6�p���I�k$���l�(CX��	�
+$Ԗ���U��ה��Rl	�VhA�U`��z��ʘ.JO�b�,�	�r�C�f�]��<�����:�l/����
�&H�V>aH�~��� x0�CQ�
+s����0|�B��n��'
+:,7�;(�q4���+��3M��$�Ro�A\�ħ���FuG�\�MҼi��i������ӫ�7�?��y�����ŵ�s
�
n^�9�f��C��P���j ��t�oL�ɒ�ka�`��]4�J�?���-3%ĒJ
��:�B��%�#��
-T"f�{�$p��U�stp� W�5�`�Q8��i)d�#ŭ��=a����:+ '�J^� 7�<n3�I�•�)(��H�P�8�V1���
Z_�
k
�l=��b�
��4���
��a(i�)ؒ�����
+��a��pL
�1��#���d��F�,Z,���!�U N��F��K��;"��
��ީ��>q0�b��>�msF
+4tz��w�ٞB_<�M�L
f_�6�A�ߴ�����0+kO7��+(��T�����P;K�M�;�l/98����4%4?~��e�'�@8z�`
�qN��q

�ǁ�< ��:���I�p��H��Y2-�S��@1I�8�[��^_j������o��?�������_L��`�,/&J['��8�bb�a(!i�/c�4W+�؄��R���_cf������Q+����y��7�phӃї�I�L<��A��Y?X§�����Cy�YYb���
�.��
ƦEl��W�瞨+��aO����4.��9���hC���r��>�J����Q8'���V�l��+������M)�[jw�~�ۿ(	
+e�
��R�Ǣ�g�� �u���ps��37ُ
�n��U�l��k��Oeq0Yު=AUÍ<� v����ߎ��}RQ��C_Ļ�vY�ˋ���"7�͠�e�
a�2��8�436�媪J�*��#��܁�7� g~�c"�Q������6_\��bγ
��h�b�v
+endstream
+endobj
+4152 0 obj <<
+/Type /Page
+/Contents 4153 0 R
+/Resources 4151 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4143 0 R 4144 0 R 4145 0 R 4146 0 R 4147 0 R 4148 0 R 4149 0 R 4150 0 R ]
+>> endobj
+4143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 428.318 225.481 439.222]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a3bb2c0ddb1b766959ee6149bb52a7e61) >>
+>> endobj
+4144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.979 428.318 291.602 439.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator__Common_a35b06cfa8331827b55846da95b222287) >>
+>> endobj
+4145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 402.258 224.644 413.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+4146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.378 390.302 230.03 401.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator__Common_aa26b7ac0a5822f668664afb29033b4e0) >>
+>> endobj
+4147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 364.242 224.644 375.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+4148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.378 352.287 235.569 363.191]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator__Common_a5621564b142adc0eaee14971b379084c) >>
+>> endobj
+4149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.367 90.193 219.683 101.097]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) >>
+>> endobj
+4150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4154 0 obj <<
+/D [4152 0 R /XYZ 89 770.89 null]
+>> endobj
+158 0 obj <<
+/D [4152 0 R /XYZ 90 721.073 null]
+>> endobj
+4155 0 obj <<
+/D [4152 0 R /XYZ 90 653.858 null]
+>> endobj
+1720 0 obj <<
+/D [4152 0 R /XYZ 90 567.413 null]
+>> endobj
+162 0 obj <<
+/D [4152 0 R /XYZ 90 557.969 null]
+>> endobj
+4156 0 obj <<
+/D [4152 0 R /XYZ 90 446.394 null]
+>> endobj
+4157 0 obj <<
+/D [4152 0 R /XYZ 90 446.394 null]
+>> endobj
+4158 0 obj <<
+/D [4152 0 R /XYZ 90 418.6 null]
+>> endobj
+4159 0 obj <<
+/D [4152 0 R /XYZ 90 380.584 null]
+>> endobj
+4160 0 obj <<
+/D [4152 0 R /XYZ 90 325.835 null]
+>> endobj
+4161 0 obj <<
+/D [4152 0 R /XYZ 90 276.809 null]
+>> endobj
+772 0 obj <<
+/D [4152 0 R /XYZ 90 215.341 null]
+>> endobj
+166 0 obj <<
+/D [4152 0 R /XYZ 90 205.896 null]
+>> endobj
+4162 0 obj <<
+/D [4152 0 R /XYZ 90 106.272 null]
+>> endobj
+4163 0 obj <<
+/D [4152 0 R /XYZ 90 106.272 null]
+>> endobj
+4151 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F22 2996 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4223 0 obj <<
+/Length 2146      
+/Filter /FlateDecode
+>>
+stream
+x��Zko����_�O����G�H
�p�$���{��(r�%�8��,wI����(�Ņ��v��sf���[3
[ߟ=�]�t��!Ϧ�5��<l9�C†o��~@�=�u���lφY���7��W�Ƿ귳����g~��r\+������n�`a�<׺���
>���ٿϰ�#*ԥ�0����f� B�7���̣`8��
���T����"	�(M�J�F���xi��%6�̵`"r��e�Tt�Z�G�A 2Kx�����;}qn���3c�����L��()e�iH�����Uc>`��J�B~
�ӹ웮%� �h����k�����m��k�9�FD �]����\�`�J��?�!s�N��$��v��\����m�i�.��B��%!x��D(�ڝ>��
�Q�!�
�:
ZqD<���C�ػa��A���+N�ܐ���U��<,��}(�Ɨoei�,�>$�@
f���

dSZ�
�� ȡǃ\��s ��4����_L��^�j_��\��N
��1
"��}�Γ�H	��إ��`�2<�\�
G���y�E����
�X&��������Ǒ+�x\��Z�"�����:���~�pn�QCl��zI
+S�܆���y!{�Lm�z^��p��
�5��
+���AC2�}�Coð��O∉f�~bVL��
�N�c'=�bN���>�6��
#�Hp�#��?�$�'}d{���=�G$�H�f�ie�0Jf��P�=��P�~LZXd��)�X��R�)��������S�C�����.'�.'��?M�`����
�
�p�
��
lσ��K ����.R��
Rp�pi���z#Fav�
=�!��.�R���5�QM+��Ƒ��/g/���5DЊFC|SiU�
�b�,��n���@)[Lmx��P���n�"FE��$�wh:��
����Q��2�� �
�V��Q�t9��=5��1D �z<�3�=(9zf��(����,�=_
��Q�[0s ���N�̼C�	���a��p,)XSPvr,m��G
f,�4_N
+0Ȥ\f�0,˴��37J&�e)OJ�M���� 	k�[&����@�L�ʛ�`�E�GL�}�bq~zvP���J��|.e��doȏG6�_��3�o'��u!#9(r �
�{B
!�a�,$�Nʽ��G`�P~jet4�L�P�Q?&4�ܥy��	��9}
+jcĸ8fG�/�(���8��\��<j����
�T��*����@�}%��ȶ��R�|v{y}�z4��B&�_V��	�M8=q��PU�;�E��k
+y��Mq^
)�
��>9:�މ��
r�Q~�<�o�
�
o�\O$8"6?Jx0Բf��x�<�f�E�d�k�%�l�q�4��_6�X��S����u�c�����s�}�'�\��G��(�z3M?7�o� �͏Z!�c�UIzҝ��k��b��-�w��Cz�#
+|�r����� �¨�(�Y�3͍�{?3�b����
N Qm�`��^�'������7���
��O�U|��t�_T��d�@N��2��f�-J�o�k����wWoo�֦
�|��"�eژ��<��e�$�$s��Q�|�a��H��L��<55�n�W-��j�:FQ�<(V���*IoAk������Od�l�롨\N.�~�[�q;�����W7?]��z��1qS7����	�l��Mԑ�N�� V5�A��Iu����nX�Vs�
M����e8ow�w�J��h�0��_�du�2Q�Ml
+v �w�}��-ldX5MUvA�u�������DW
iS$��4�
+?bD���-�#�ې�v��#�݇��
 	ȉ��y���B꽕2j�*
+��}
 �
���w�
��j5	�rϡڞ�R���:��i�p��I͌A�("�J���i���;�' �g�6b�;!A_�
Vn��J
�o�̞�}+e�e0���$[�f%P���/�NN�@U=��C���7S�2�
�\_��u�@�m������8�
���D� �U���~���r������z��qq
3�E
+�Zq#�7jVo��
�\�8�݌�,=�c���'}�3���T�c
ꕟ,Ꞿ2�'�
2/�&��ΐz�Y��Z���T����G�m<|,�����t1�Rj�`G�t��ZZ�mվRg�q�7�i��7�ޟ����
+endstream
+endobj
+4222 0 obj <<
+/Type /Page
+/Contents 4223 0 R
+/Resources 4221 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4088 0 R
+/Annots [ 4164 0 R 4165 0 R 4166 0 R 4167 0 R 4168 0 R 4169 0 R 4170 0 R 4171 0 R 4172 0 R 4173 0 R 4174 0 R 4175 0 R 4176 0 R 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4181 0 R 4182 0 R 4183 0 R 4184 0 R 4185 0 R 4186 0 R 4187 0 R 4188 0 R 4189 0 R 4190 0 R 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4195 0 R 4196 0 R 4197 0 R 4198 0 R 4199 0 R 4200 0 R 4201 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4206 0 R 4207 0 R 4208 0 R 4209 0 R 4210 0 R 4211 0 R 4220 0 R ]
+>> endobj
+4164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.762 685.198 216.096 696.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a) >>
+>> endobj
+4165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.912 685.198 255.099 696.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.547 182.144 668.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) >>
+>> endobj
+4167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.959 657.547 221.147 668.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 629.523 206.692 640.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a15090c11a17afcd60289117320991a0a) >>
+>> endobj
+4169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.508 629.523 245.695 640.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.249 629.523 309.266 640.053]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.478 629.523 373.495 640.053]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 590.165 206.941 601.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae0cdf58c61934d284e497bb509596fde) >>
+>> endobj
+4173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.757 590.165 245.944 601.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.498 590.165 309.515 601.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.727 590.165 373.744 601.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 551.182 191.737 562.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 551.182 237.396 562.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) >>
+>> endobj
+4178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 523.157 191.737 534.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 523.157 284.996 534.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) >>
+>> endobj
+4180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 495.133 198.363 506.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.861 495.133 250.646 506.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) >>
+>> endobj
+4182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 467.108 198.363 478.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.861 467.108 298.247 478.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) >>
+>> endobj
+4184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 439.083 191.718 449.987]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 439.083 288.852 449.987]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) >>
+>> endobj
+4186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 411.059 191.718 421.962]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+4187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 411.059 303.079 421.962]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) >>
+>> endobj
+4188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.635 383.407 188.679 393.938]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a88ea295438ef6e62d77b24c099f2b9c0) >>
+>> endobj
+4189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 355.009 181.845 365.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) >>
+>> endobj
+4190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 326.985 181.845 337.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) >>
+>> endobj
+4191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 298.96 154.727 309.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) >>
+>> endobj
+4192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 270.935 176.864 281.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) >>
+>> endobj
+4193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 206.163 143.695 217.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) >>
+>> endobj
+4194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.511 206.163 213.154 217.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.317 206.163 382.706 217.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+4196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.537 206.163 457.784 217.067]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+4197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 182.188 143.695 193.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) >>
+>> endobj
+4198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 182.188 189.632 193.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.196 182.188 282.662 193.092]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.461 182.188 426.213 193.092]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 146.258 143.695 157.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a389e6681289ba2b90a1eaad6eff80a50) >>
+>> endobj
+4202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 146.258 189.632 157.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.939 146.258 347.405 157.162]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.204 146.258 490.956 157.162]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.283 143.695 133.187]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) >>
+>> endobj
+4206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 122.283 248.859 133.187]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 98.308 143.695 109.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) >>
+>> endobj
+4208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 98.308 248.859 109.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.388 98.308 330.333 109.212]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+4210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 143.695 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b) >>
+>> endobj
+4211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 74.333 247.176 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+4220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4224 0 obj <<
+/D [4222 0 R /XYZ 89 770.89 null]
+>> endobj
+4225 0 obj <<
+/D [4222 0 R /XYZ 90 704.257 null]
+>> endobj
+4226 0 obj <<
+/D [4222 0 R /XYZ 90 568.506 null]
+>> endobj
+4227 0 obj <<
+/D [4222 0 R /XYZ 90 540.482 null]
+>> endobj
+4228 0 obj <<
+/D [4222 0 R /XYZ 90 512.457 null]
+>> endobj
+4229 0 obj <<
+/D [4222 0 R /XYZ 90 484.432 null]
+>> endobj
+4230 0 obj <<
+/D [4222 0 R /XYZ 90 456.408 null]
+>> endobj
+4231 0 obj <<
+/D [4222 0 R /XYZ 90 428.383 null]
+>> endobj
+4232 0 obj <<
+/D [4222 0 R /XYZ 90 372.334 null]
+>> endobj
+4233 0 obj <<
+/D [4222 0 R /XYZ 90 344.309 null]
+>> endobj
+4234 0 obj <<
+/D [4222 0 R /XYZ 90 316.284 null]
+>> endobj
+4235 0 obj <<
+/D [4222 0 R /XYZ 90 288.26 null]
+>> endobj
+4221 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4305 0 obj <<
+/Length 2211      
+/Filter /FlateDecode
+>>
+stream
+x��[ms����_��\{�Q$�x��ݙM�v�7msߝ�;
Ʋì
,���������c7ٝ͗@@����������y�s��1
y6������X
b6�74�t	Fn�`���=��A6
��
��d2���,�Ad�ׯϓo������#d�Gb�Н�+;�A6��^B���_z��Wm~�Љ��o&A��N)��~ϣ]>M'A��>�Y��]
�p�#����v��;vt�
"�`�q�p���;6�p�#�s����԰�	ljq��o+`W�%Оi�0\�B
ׂ�©C����>�E��u ��<e=�u�����SS��y���d$�cA��Y7(�L��kP�� Cĭ@�F��b䰪	*A��:{g�%
+N��"��
+� j�#_)e��$��X�|�c|9e�0%��!\����8/�͆�E��b�b�������q�j{/7<���	�/�tV4u3�M�sY��F� �ȶ`B��Dg=�������d��N��vdS��=
�o�x�̈́�nc;
�k,�������@wN���A�����E��j1څ��O�hG
dYފ���!`!�b��8�r��;4=�Z��� Y�c�Ԅ
	�S�������v����]���j�����듯E&�V��7D7�n5�m��d0ܪ��[\�[T�}�k�~��i����珟>\�|�������h+����:�]�?�����]
��]��@cD�<��m�0`fU��Mn�F�l�L꾘(ʵZ��˺��"'q0�ma�p=g��1�l71��
N���fa^K
<
gaں,����
�;��
``�Q ���F��h.׬Φ/�
�`uV����>S�y��>I��ӻW�R��)�o)��?~V^�]��C<o��)W,q�
,1V�[ [...]
+?m���d�n�Ox]�Lz/g��;�aj��8�#?Z
+�jf�K%��t��5��,���az`�,У��N�d�{NRYT�� ���������P��$�c4��<.zՈ�ZP5Le	�R����*�bl6�h!/��]Դ\�0.���A������Ѽ�pj�j�����0�9�Q�F�0���. �lX�:��9�Rm���}Yڮ��B�~�PV��M��l��E
�A�7PL"�v�b�!*�+�{Q�A�y��d�F����rAfmעT'�@�?X���t����a���7��/y���
�a4��VAV�
Md�G���ףVs�Eʲ��r��!��'7�Oi
:8���v���nx1�ЭrV��W��yX��r����$�E�\׬��pl�(�%����

+� 3��m�S�z��	���y���K�M��Y9n����J��Q��!��#�?XZ�+́ز�(�"��ZN�V�5�U\�J����q�.�>�rM����U:
$�d;Q��>�� ՅXd3�[���$	�u��(P�A.=~d��ԡM����9&="��8�^��<��
�0* �=�����x-�4�$�(,+"������s����ex	��M�+S�� �E�\�nmXG��0�Ì�E��C��� ���A2��/&}P�X�$���j�X�Zs?����<���{�ď�VéF������:u/��]��J��O�^d���m��#�t�,
+�Fg~/R� ;D1K5�'W̊j����\d�kv.1.��Q�
=�di��{��{}�}b����
���bt��2������i'\4bw�����d��P��ɰ�Z���&��	R��񋵕��A��׸sc;�\|�6����&�1�����I}���{�5�Z}�C�����n:&"�<HK��si��B��k�#Gſ��ֿeo�M6�Ջ��&�0�vȩu�T��?ʒ�
1	Y�:@3W� ���[��|Sa�D~w�nM�V�n�Sj�˖�,�2�d at b諭}}}%O����_=ƺJo�x�?��%�j#Ȑg�&��k���0���.�m�Y��j�(��gg��8����t]K����ّ.�L��J��ⴴ
�#�qd� ۦ	 ��F�8-[,��7�������4. x�����/
+endstream
+endobj
+4304 0 obj <<
+/Type /Page
+/Contents 4305 0 R
+/Resources 4303 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4216 0 R 4217 0 R 4218 0 R 4219 0 R 4247 0 R 4248 0 R 4249 0 R 4250 0 R 4307 0 R 4251 0 R 4252 0 R 4253 0 R 4254 0 R 4308 0 R 4255 0 R 4256 0 R 4257 0 R 4258 0 R 4259 0 R 4260 0 R 4261 0 R 4262 0 R 4263 0 R 4264 0 R 4265 0 R 4266 0 R 4309 0 R 4267 0 R 4268 0 R 4269 0 R 4270 0 R 4271 0 R 4272 0 R 4273 0 R 4274 0 R 4275 0 R 4276 0 R 4277 0 R 4278 0 R 4279 0 R 4280 0 R 4281 0 R 4282 0 R 4283 0 R 4284 0 R 4285 0 R 4286 0 R 4287 0 R 4288 0 R 4289  [...]
+>> endobj
+4212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.079 143.695 707.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) >>
+>> endobj
+4213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 697.079 247.176 707.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+4214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.263 697.079 329.207 707.983]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+4215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.331 143.695 684.235]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99) >>
+>> endobj
+4216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 673.331 255.485 684.235]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 662.453 143.695 673.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) >>
+>> endobj
+4218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 662.453 255.485 673.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.995 662.453 341.94 673.357]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+4247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 639.62 143.695 650.524]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7a1255c5cac46f6115750121e97136e6) >>
+>> endobj
+4248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.405 639.62 216.566 650.524]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+4249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.992 639.62 346.459 650.524]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.444 639.62 513.996 650.524]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+4307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 628.038 150.878 638.569]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+4251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 591.961 143.695 602.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab81be8ef47b7e0e260d2d9a361eb6e8b) >>
+>> endobj
+4252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.716 591.961 243.984 602.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+4253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.407 591.961 372.873 602.865]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.014 591.961 513.996 602.865]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+4308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 580.38 177.448 590.91]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+4255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 556.258 143.695 567.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) >>
+>> endobj
+4256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 556.258 218.962 567.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+4257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.155 556.258 317.621 567.162]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.42 556.258 461.172 567.162]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 532.509 143.695 543.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3c827da439e915a61c30e404828e8d32) >>
+>> endobj
+4260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.032 532.509 191.286 543.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+4261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.417 532.509 287.883 543.413]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.682 532.509 475.707 543.413]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) >>
+>> endobj
+4263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 496.806 143.695 507.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a0acf30ed848cc95eb3c888c0e16952ec) >>
+>> endobj
+4264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.228 496.806 282.649 507.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+4265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.937 496.806 443.403 507.71]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.3 496.806 513.996 507.71]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 485.224 203.46 495.754]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 461.102 143.695 472.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.435 461.102 195.241 472.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) >>
+>> endobj
+4269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.578 461.102 241.178 472.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 435.523 180.198 446.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afcfef0ae2edb80d19b21b211f7523971) >>
+>> endobj
+4271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 435.523 202.614 446.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.958 190.738 384.862]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 373.958 261.85 384.862]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) >>
+>> endobj
+4274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 348.379 190.738 359.283]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 348.379 262.159 359.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) >>
+>> endobj
+4276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 334.917 390.082 344.822]
+/A << /S /GoTo /D (index_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+4277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 322.8 183.824 333.704]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142) >>
+>> endobj
+4278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 297.595 192.272 308.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) >>
+>> endobj
+4279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 271.642 241.935 282.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558) >>
+>> endobj
+4280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 246.437 189.901 256.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) >>
+>> endobj
+4281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 220.858 193.229 231.388]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa) >>
+>> endobj
+4282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 194.906 238.459 205.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) >>
+>> endobj
+4283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 169.7 187.689 180.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) >>
+>> endobj
+4284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 169.7 226.693 180.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 145.578 205.692 156.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+4286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 145.578 261.312 156.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) >>
+>> endobj
+4287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 145.578 332.156 156.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 121.83 205.692 132.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+4289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 121.83 261.312 132.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd) >>
+>> endobj
+4290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 121.83 338.781 132.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 98.082 205.682 108.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+4292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 98.082 261.302 108.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) >>
+>> endobj
+4293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 98.082 330.462 108.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+4294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 74.333 228.895 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac) >>
+>> endobj
+4295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 74.333 333.482 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4306 0 obj <<
+/D [4304 0 R /XYZ 89 770.89 null]
+>> endobj
+4310 0 obj <<
+/D [4304 0 R /XYZ 90 476.288 null]
+>> endobj
+4311 0 obj <<
+/D [4304 0 R /XYZ 90 450.709 null]
+>> endobj
+4312 0 obj <<
+/D [4304 0 R /XYZ 90 388.955 null]
+>> endobj
+4313 0 obj <<
+/D [4304 0 R /XYZ 90 363.565 null]
+>> endobj
+4314 0 obj <<
+/D [4304 0 R /XYZ 90 337.986 null]
+>> endobj
+4315 0 obj <<
+/D [4304 0 R /XYZ 90 312.407 null]
+>> endobj
+4316 0 obj <<
+/D [4304 0 R /XYZ 90 286.828 null]
+>> endobj
+4317 0 obj <<
+/D [4304 0 R /XYZ 90 261.25 null]
+>> endobj
+4318 0 obj <<
+/D [4304 0 R /XYZ 90 235.671 null]
+>> endobj
+4319 0 obj <<
+/D [4304 0 R /XYZ 90 210.092 null]
+>> endobj
+4303 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F68 3032 0 R /F66 3179 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4391 0 obj <<
+/Length 2000      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�8��+|�BՠH�eY[���g�w�=�LQ�]��I�_�-[
�v�ɰSTF�nw��[2ؘ�x�y~�9�MC aS۸
����id|���}�|k��������O/_}��P�u^]vn:���0�
c8�|���\~k`d
+ǸK'�
���j\t��`m����6a�f[�6baDa�	A�d�|�q�����5!xm��1��a"�Y��D�&�$o��S���?��?]d#��D�őC�:��<��e���I�g
�,�
fZ�U�#�{+�j?j;kBE"�
c��:dc�t���G��
��3� h�k��S�#���E�uS�
+w_�
��
����E8�����X: ��`6��ӠGY�nS���
3<
�(�����^Ady�_&�L���J2���.Bp�U�����?3�T4�j��� }N��
~�e�㇀�$Nw��{3�_�y�ID�)�xS��x�Y���B�iw_r�� 
J����R�Q2���XI"�4z�K��=�� �}�X�X���Y�l��!"��< e�ti�Ia9���D�

t��(O�v-1�Z�nю(S�q6��y�X�V�ĦV��%ZV�
֒W)[[<��6��������i+��)w��P��:E�Cx�,��^?�n����Z �a����Dҭ;M��0�!8�'�
�pFN��X'�؏4�U/�o�/C7���zr(���(�P�YVcn�o
x~�
�ev_��&m���,��f� 5�yZ��u=� 1C6�0��ݙ�3�01 ��g@�Ԕ-�4�-0���Ǖ
�P�$)TwT3�r��eS3#N3�
��9
��0f��af�]p	��
>�8lK�N[�<�%�x$�b��e�җ�+�
U�t"����ǖK�D5'�ٗj�/�Ž٤Lz�*��,�jegS8�q�tCy�H,����d�Ѧ���Al龦x@ˈE=s����=��D�jE���QB��P�w����J���z�ץ�
�Q�@�ՀQ-n��,�`�F�W�2�ҏ�Gq�ދT��f(\M|�&�3�D.KOS �:F�y%�a�L�(�ĢMq��3�M���#��s"\�Իq�
�3�nw�ŋ2M
�ǶXx��
TN����6�;�Am䈆����j�D �^�=Q���	�8����biQ8.9��X�c��[�^�Kq�Y
�N3��o�@Ow=�������C~f���m��l&�
�C��"/���oU��'�yb�h^C� U���L+)�e [...]
+���׉?��(o']ݭ}p��>#o���67	a�\?hsk�w�*��UC�
�)�B�+o
2ًJ!g��{.���FQ��
s�`��&Y�M�ę(0u��'&�(��*��ƑT��*�s�@�9�>��$A�6|�i�D�@gp�9�A�^��Z�4x��T1
���ꥱaY4 3!�O�
����
a���P�]�b8����S��"���.�x��3	զ�<�}*��
'-�&(����
+iYٖ���5y�x��T柷`V�i�����N�`

;k
+
�"�z�UI?B�
+.*9e�ֲ��X߾��@��ꈭ�l�
+$�d���%���^~�0S��<"T�	*?*a�����_q��寭���ȆF���h�4��O2w@}�:&~�J�0��x
+ 
{�S���z#f�S�
'(�	U/{TT
y%Z���J���&Z]��� `۰�=	 ���BB5'�B̜���A�C���ڴ)��l��͵-��H�y��������8�2�G_8�cf/��y����7�v�Dr� �zN�\�y�>~�
 ��/=ƺQ���'��WػU�/��6A���M��2��̮�f�S���v2��x����U2��?AÍӰ��a���8�{� \�lg��8�
+�>x�
+endstream
+endobj
+4390 0 obj <<
+/Type /Page
+/Contents 4391 0 R
+/Resources 4389 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4296 0 R 4297 0 R 4298 0 R 4299 0 R 4300 0 R 4301 0 R 4334 0 R 4335 0 R 4336 0 R 4337 0 R 4338 0 R 4339 0 R 4340 0 R 4341 0 R 4342 0 R 4343 0 R 4344 0 R 4345 0 R 4346 0 R 4347 0 R 4348 0 R 4349 0 R 4350 0 R 4351 0 R 4352 0 R 4393 0 R 4353 0 R 4354 0 R 4355 0 R 4356 0 R 4357 0 R 4358 0 R 4359 0 R 4360 0 R 4361 0 R 4362 0 R 4363 0 R 4364 0 R 4365 0 R 4366 0 R 4367 0 R 4368 0 R 4369 0 R 4370 0 R 4371 0 R 4372 0 R 4373 0 R 4374 0 R 4375 0 R 4376 0 R 4377 0 R 4378 0 R 4379 0 R 4380  [...]
+>> endobj
+4296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 696.988 229.503 707.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb) >>
+>> endobj
+4297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 696.988 334.089 707.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 673.057 187.264 683.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) >>
+>> endobj
+4299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 673.057 293.213 683.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 673.057 371.148 683.961]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 673.057 455.727 683.961]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 626.213 187.264 637.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) >>
+>> endobj
+4335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 626.213 293.213 637.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 626.213 371.148 637.117]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 626.213 455.727 637.117]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 614.257 220.058 625.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+4339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 579.368 186.348 590.272]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) >>
+>> endobj
+4340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 579.368 293.772 590.272]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 579.368 373.367 590.272]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 579.368 456.837 590.272]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 532.523 186.348 543.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) >>
+>> endobj
+4344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 532.523 293.772 543.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 532.523 373.367 543.427]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 532.523 456.837 543.427]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 520.568 218.404 531.472]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+4348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 485.678 187.446 496.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096) >>
+>> endobj
+4349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 485.678 292.979 496.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 485.678 370.447 496.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 485.678 456.762 496.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 485.678 513.996 496.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 474.097 159.485 484.627]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 474.097 240.62 484.627]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+4354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 438.834 180.496 449.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) >>
+>> endobj
+4355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 438.834 226.434 449.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 414.903 213.153 425.807]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc) >>
+>> endobj
+4357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 414.903 259.091 425.807]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 390.972 213.163 401.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71) >>
+>> endobj
+4359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 390.972 259.101 401.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 367.415 161.677 377.946]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2) >>
+>> endobj
+4361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 304.878 205.752 315.408]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6) >>
+>> endobj
+4362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 304.878 276.595 315.408]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 280.574 209.627 291.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) >>
+>> endobj
+4364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 280.574 314.791 291.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 256.643 248.202 267.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) >>
+>> endobj
+4366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 256.643 329.845 267.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 232.712 212.377 243.616]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) >>
+>> endobj
+4368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 232.712 289.846 243.616]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 208.782 216.252 219.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) >>
+>> endobj
+4370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 208.782 328.042 219.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 184.851 254.827 195.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) >>
+>> endobj
+4372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 184.851 343.096 195.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 161.294 236.745 171.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+4374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 161.294 307.588 171.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 136.99 240.62 147.894]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303) >>
+>> endobj
+4376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 136.99 345.785 147.894]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 113.059 243.37 123.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) >>
+>> endobj
+4378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 113.059 320.839 123.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+4379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.128 247.246 100.032]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81) >>
+>> endobj
+4380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 89.128 359.035 100.032]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+4388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4392 0 obj <<
+/D [4390 0 R /XYZ 89 770.89 null]
+>> endobj
+4394 0 obj <<
+/D [4390 0 R /XYZ 90 382.319 null]
+>> endobj
+4389 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4482 0 obj <<
+/Length 3100      
+/Filter /FlateDecode
+>>
+stream
+x��\mo�F��_�O9	����\��C{= ׸��-S6q��t߯�Y.ߵ|1Ĵn�%r�3;;�̳�K���/�y������I��z�0x��AB·���K��^]�����e���������>�M����M$��^}}�������7�4z$RBw
��
��5i	!�j���O�^(4�U���t�L���.H��%xy�2t 
ݕ�m���^��."�0c;������
��q�H��f��/xq
��[`Č^��7�/8e�w�xw�
\7
,qSM���'!F�+��R�
/[�|)��r;G��=�QrW��C�ʎ�
���J,a|��!N�$��ۡm�

�����`'/6�
i�)�^�1l�a�0�v�(��,.	E��cZLBv_|p*�
��h�
7��
+i�ʩݸ&-I֦�l�=$ޞ
k��X�Ŭ7�Yt��
���+u�_�5�J�=�ǘ��H�J��>J=*R�-۠��:.rIE�Z�ad�W>����x���c��{���/�����a��4���c��c|\GY�䓕~�?���ži����Ío�	CF�( ��,<���q�~}�����!�P�켾:���s\��a|�B��X�'��
6��(�M"��q���˶:l}s
+YMP3eN�؜r$���[��;��S�0=������M���}��:}­�DW.�!H|^/����^_B����(�sB�xkh�:��%��h�x��` pzb�y=�H����	N?q[ޟ�߅��\�@:OP����6�f=A ��6K0$U;�r�ȇ1`�q9 .�aq4t\t؏Ut���
�	i�Ǹ�
�f�4l��dq����7�&O_��a �F��+Z +2:g��
&)̖%�JgM�*9���s���V��\h��LN�$����H�9�*��/�`f���9�t	�[H i�F��nbz"��Q"f���1L�7�����9�z.Ε�
d�kn`�%�� �9�jr�x��]Dc��tA`"�L\��
����:ڮC�4�l��t�ڄh
+�F
s��k� �U�+�\���n	�t���C��amV5�R7�Т�5�存-��
���&),�
GC���Y�mJ�4�,yGMV�ш�!�����L-$�Ki�f����m>�
v�W�9+pK�p�	����M�F[ˇ�ab�}_�D�[3m͔�U^�g�Iќl�̅�i�?����!��h
k�����;��=�f��d.0�q*-����X,s��#F&
XX��=�bf	�,An{ei-
+ at z�I�G|X5V\��+�}}���ݫ� 
�I �� �z��
�W
����8J����q%��*}r|'/�
ޭ��:�w'uA�ꌲ�}�(��`�nW�.G�>�}�A����1	��㺶�
��f߯a5�M���V���ի\�:	�l�O�F</V�=�,zƇ}�!��ԧbqw��,�L
bC����:
#)�LTQֻ���[�&ȳ��
�8����'�`�s]
+�R΄5� öt;7�}���!.�^�ǣ��—
>�
�T��J�AT��;tD��UT�4�C�FǩK4O+��H�CyN����ѻ��Q�Bh���84���@\��t�fݟk������P6�I	7��԰z���X�u��ީ�kQ����������Dw��O:���_�S
+
(��
����W3�8�1
+��`\������0`A/`��!��Ft��[>�4
.׀_�K��Q�´�
�P
w �9P�@�M��Ȳq��P��]@GכĻ�Og����^� Ȓ�E��4m�j���
�a�
4̘1��2G9�m��L��1�t�Ǖj2���ϔ:Q�{�k�̵}f��KV�N
���3H�I/ i��y�}
 ���/��^� �~$_g�
@Ұ�RM��aP̞m_�
J��]�I���ޮ�ׄT���l��@m�-wy�b��qS��Z�$�.}ܿtE�1B�Gp��s��,4�#\S��qϲ�)d�\USFt�j
+R�P�z��
��'P�(E�&�R.9`2����)��xZ
@���WBv�u8�l�P at XWJ~X	�,��Ӆ�IQ����h0C��
�Ve�r8Y�B+���ʵe�ѣ=
	� ���}��K��R���|�2��^{ �VG|�#�-�e_�H����jbN�C!.(
}t�q��Uy�q�t��Z�iI�'�2Um�5�.�8�r�8�
nGh/�����:8��(�j��j�
5W��ն�$�ǃ�
D"
���:O�R�����8OX���	��L�L)k�	+�ˌ�;�t!d���<l
}\�����.
+���C�"!_�(
+�tQ
��.����� )�
+��Ԝ�/ʾ`m����/t�/X;_�e��_��I�8�V"l�X�%��,���
6m���)�黻z��)>�<l/U��U��Q=����>���
�[����պ]�ȥv)��9��%��@��у"mFj���e��CC?��'�eO��nepG<���Qxf���s[,@����ɽ����h
��d!�$�s���B6+�f�YP��vʇ1pv����X�@Iw3����

+ڮlX�����j��c3�rK��M&�}�Io2��7��퓝�5&� ����� 
�18�Ha6	��<
��>mY�3�NBO"�����x{_���
|��(r�F/v7����i��n�� �É�ϩ:�H�^1�Ν�
*�N�Ӭ�:���� t�:ͺ�iV��7V�f�
-׺�_�`E���&� �n-�w7� �v�E�
+�־�2� {j�#&�y��Y���+
�F�JA{.��g�R�
S��%)��)����K-�5 X��|".5 {�C��j��3<�@"0
�=��y(�2
+1J�X�gS��
�gpgx�A��>�n8k;�uϕM��d���%�.��]��>-u�F��aS�������WH@��L�%�{��{���4L�bO{���A���j���-L�s
�#�ِ�ޅ�؜��]���e�H�N ��K��Yv|uuu�p���
�
��a��A�>�P����Tg��Y�<{�@J;
+
l[��`�_/0�D��4�����f�`q���=[�� ���s� 
+endstream
+endobj
+4481 0 obj <<
+/Type /Page
+/Contents 4482 0 R
+/Resources 4480 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4381 0 R 4382 0 R 4383 0 R 4384 0 R 4385 0 R 4386 0 R 4387 0 R 4414 0 R 4415 0 R 4416 0 R 4417 0 R 4418 0 R 4419 0 R 4420 0 R 4421 0 R 4422 0 R 4423 0 R 4424 0 R 4425 0 R 4426 0 R 4427 0 R 4428 0 R 4429 0 R 4430 0 R 4431 0 R 4432 0 R 4433 0 R 4434 0 R 4435 0 R 4436 0 R 4437 0 R 4438 0 R 4439 0 R 4440 0 R 4441 0 R 4442 0 R 4443 0 R 4444 0 R 4445 0 R 4446 0 R 4447 0 R 4448 0 R 4449 0 R 4450 0 R 4451 0 R 4452 0 R 4453 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4458 0 R 4459 0 R 4460  [...]
+>> endobj
+4381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 707.957 230.598 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) >>
+>> endobj
+4382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.935 707.957 301.442 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+4383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 684.118 234.474 695.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) >>
+>> endobj
+4384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.811 684.118 339.638 695.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.167 684.118 426.81 695.021]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.652 193.577 671.182]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) >>
+>> endobj
+4387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 660.652 232.581 671.182]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 647.685 248.845 657.59]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+4415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 625.853 193.577 636.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025) >>
+>> endobj
+4416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 625.853 277.691 636.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+4417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 612.887 247.177 622.792]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+4418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 590.681 223.465 601.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) >>
+>> endobj
+4419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 590.681 269.402 601.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 566.841 229.552 577.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) >>
+>> endobj
+4421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 566.841 275.49 577.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 543.002 266.673 553.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) >>
+>> endobj
+4423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 543.002 312.61 553.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 508.203 217.109 519.107]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7) >>
+>> endobj
+4425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 508.203 263.046 519.107]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 484.364 271.126 495.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81) >>
+>> endobj
+4427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 484.364 317.063 495.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 471.771 326.259 481.676]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+4429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 449.565 198.26 460.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226) >>
+>> endobj
+4430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 449.565 236.665 460.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 449.565 353.317 460.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 437.984 246.458 448.514]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 425.017 269.939 434.923]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+4434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 402.812 223.206 413.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aeb7acbeca4ad92485f92bf3ea7bcc60c) >>
+>> endobj
+4435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.022 402.812 262.209 413.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.285 402.812 357.7 413.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+4437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.268 390.219 288.464 400.124]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+4438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 368.013 212.768 378.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257) >>
+>> endobj
+4439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 368.013 252.959 378.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 368.013 375.145 378.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 356.432 286 366.962]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 343.465 277.928 353.37]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+4443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 321.259 250.099 332.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) >>
+>> endobj
+4444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 321.259 289.446 332.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 321.259 379.512 332.163]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+4446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 321.259 513.996 332.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 309.304 416.369 320.208]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 295.502 439.335 307.668]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 274.506 261.881 285.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) >>
+>> endobj
+4450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 274.506 300.286 285.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 274.506 388.504 285.41]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+4452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 274.506 520.199 285.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 262.551 416.369 273.455]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.87 248.749 449.708 260.914]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 227.752 250.748 238.656]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce) >>
+>> endobj
+4456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 227.752 357.317 238.656]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 227.752 456.145 238.656]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+4458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 215.797 202.344 226.701]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 203.204 446.071 214.16]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 180.999 261.881 191.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) >>
+>> endobj
+4461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 180.999 365.272 191.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 180.999 460.793 191.902]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+4463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.043 202.344 179.947]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 156.451 466.67 167.407]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 134.245 239.984 145.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) >>
+>> endobj
+4466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 134.245 280.82 145.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 134.245 405.104 145.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 134.245 513.996 145.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.29 171.361 133.194]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 122.29 478.077 133.194]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 108.488 432.092 121.646]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+4471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 86.288 251.209 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73) >>
+>> endobj
+4472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 86.288 290.549 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 86.288 409.969 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 86.288 513.996 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 171.361 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+4475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 74.333 478.077 85.237]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+4479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4483 0 obj <<
+/D [4481 0 R /XYZ 89 770.89 null]
+>> endobj
+4480 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4550 0 obj <<
+/Length 2732      
+/Filter /FlateDecode
+>>
+stream
+x��[�s�6��B�Ri&�� ���f'��<���$
-�2�(R%);��o��S�ñ��\��"��b����b��|�G?�<�<9}�9� �����(�#�
���>���'\�<r��H���j>{������
�����ɟ'>��
���lq��<����FN���b�R~���ɯ'��2�U���ٸ+eY�G�D��DzL�Y9�:.W����%�;��c��1v4!�K�8�k��&)5Qo|: z�e1q��Hф��\�Q_�q~m��W��&�K�=���\�Y��E����`�R�ܘ��O'���U��bk��zB|) �D�qUI�F�V�/
�P�yʉ8K�ӑ-TK�^5h�8"�S�j�
#
+l�	�O��
sA��'�r��:/h�#RՎ�
�7\�
���԰���E�EU^ؼ��5	����(u
!�N
��wJ("��N�7�
c���!j�`bE�-�3D]x�T��}���U���l�y��Q�h�i� �Ԭx m�o1HoQ���AW布wӀ"��Q0
+jL�H)�����0cQ<Γx��
��d!BX$�R��B�!/I�3<˳����Y�������ޗv~}����D9]��f*qm����?D9���rP�P���� ��w�/��*��F�]xU�z�umSӕ���,$�+�xS�i�,��!
��Dk
�>�c
	
��Yz�͗y�ϓY���4/W�>߽��D1��I�
*�µ��q>5q���������`� 
��r�����B���B �$�U*��BT6f�@$��E�x�[`
+�ҁ�<��J�/'>
��"�m��qC�a�n����ܧ*ה��W�
��u(j�}'��(EVmf!�= l�؜�ٛ[�$
+�x�����0
,�x�X�E�`|&I�(ɪ�b]Vb1p-�v\�a� z��9�
q���Y.�b5e�&S���U&
Kfv5̦jޟ�j
V7�ћ<���XS\�Y�/�,N�"n�x���iU��V���F"� ��A�B�HnC�&pȤ6�)i=�" �-�ᤎ$M�[Ȃ!Q0���k�����k\�˰�!1��
��:�2��r�n�
+.�3�Y
+�a��7���
|�{x����_^�������Cҍ�r]�lW��'��T`6��b�
=._��c 6Η�&ǐV�O����fJ>����`n��+�E��`�TT��]�@�c�?�O�N��S"�[��Z<K�< �H�~,v�p"		'���Y��>�5 |
g�����a޻��
ɕ���|
�2�_��Ɨe�Ҿ
Ov_�_֍׹���T�W��oqWE� vή�I�ي��.E�@��>��;ȥ�"n��l� ���d�=��}KN��`É���JO��!�Af
t訇����薂��
�T�VdQ
4���n�C��%�Oa��{���"��3<��U�M$D}�)cKA��j�sH��F.r���i�q9�ܝ	�ec;���
Y�A�����'O4�+��G�̴�7E�\:�Q�]l�)��?U�?f��YT
+�?�_����D��iy�kݪ3��
"*�v��F��1˜�c<駻�vv���.�E�����qyS������J�^L�v��+� >اԡ����ײ�4Ҵ6�=
#��<�
��*#dOe�?�0B}���M"��1���v��2{cLm�
+�8�pD�=,|������/��`:`Z������!_n�|�
�����Rͽ����nˁH `��ˁ�O`�J�MX�̲��l����5���r��j�b�`C9�8MI%�P	��U-s}<��|�����|�ܚOU*���]����J�����*�2N�(�}�<_,u�A�
n��i���] �$��;�p�XBZ̦K�yj���a4
�Ϫ�,���(-s�$�k]Ę)���
�R��Rz
]��If(������̆tӚ�W�n"��9G�%F�����jd���ju�i�=B
��Z{�К F��@��2������8�k)���=i�^K��Is�>d����8	�<��'�0+�X�!�N/��v�|���ɾ�s�d�k�#̽]�����9�FD0�[��
�":�̤�D
/�[����j����� :�n��A����4�)���U�B������@l��(�J,��#���lV�g�m8|���*���� �=���
ᾇ��;��
bG�_����E���
+�8��G�
|���	�����6\�L��/
t�+�K������u�pڄ�L��w��v��SJ��fyZ�:��,�|@����<�ͼc����vY���wh���ݰUc���q.����긂1wU�}��?�vF��rc"���G��ڍM��\�75�G����P�n��k)*��vb�^���ڶA����'_�^C����q�ܥ���l�b V?8��u�k¶�	�a��r �$�ief����𭮬�ֵ�����������R��)�ox�9
���<����
�n�.�A�͏�����]��L^
��Sm�<@��cbo!�\�z��X��oB�eY_]y
�S�0���~ǽ��}m��d~#��5����/�9�(J�'�̼!_>�?�:
]�@�
ҟ'�q#�G����X�1
��
g�<f-�)�
�)�^E�'�{�o�-���/�៥(~�EӲΉ�U}�Xj�\:m�`��.�N
p.FUZ��4b�C�鬇>.bmi禪�ONO�V�Rds4��
�){
 \��y���Kh\�m��6�
+endstream
+endobj
+4549 0 obj <<
+/Type /Page
+/Contents 4550 0 R
+/Resources 4548 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4476 0 R 4477 0 R 4478 0 R 4504 0 R 4505 0 R 4506 0 R 4507 0 R 4508 0 R 4509 0 R 4553 0 R 4510 0 R 4511 0 R 4512 0 R 4513 0 R 4514 0 R 4515 0 R 4516 0 R 4517 0 R 4518 0 R 4519 0 R 4520 0 R 4521 0 R 4522 0 R 4523 0 R 4524 0 R 4525 0 R 4526 0 R 4527 0 R 4528 0 R 4529 0 R 4530 0 R 4531 0 R 4532 0 R 4533 0 R 4534 0 R 4535 0 R 4536 0 R 4537 0 R 4538 0 R 4539 0 R 4540 0 R 4541 0 R 4542 0 R 4543 0 R 4544 0 R 4547 0 R ]
+>> endobj
+4476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 707.071 456.992 720.229]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+4477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 684.884 224.57 695.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) >>
+>> endobj
+4478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 684.884 270.508 695.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 672.303 347.869 682.208]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+4505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.068 255.564 671.972]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) >>
+>> endobj
+4506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 635.354 196.297 646.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab34fdd45afee329b70aa329b05ecab5b) >>
+>> endobj
+4507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 635.354 279.215 646.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+4508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 635.354 432.878 646.258]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+4509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 635.354 513.996 646.258]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+4553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 623.399 216.491 634.303]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+4510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 623.399 362.977 634.303]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+4511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 623.399 475.081 634.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 598.863 164.537 608.768]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+4513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 587.628 273.129 598.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) >>
+>> endobj
+4514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 587.628 352.41 598.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 587.628 495.961 598.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 563.812 275.007 574.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) >>
+>> endobj
+4517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 563.812 362.877 574.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+4518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 563.812 472.148 574.716]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+4519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 551.857 233.986 562.761]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+4520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.498 505.844 248.098 516.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 469.262 275.228 480.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af3171c1a2a80a801ffef9d620bbe1eb9) >>
+>> endobj
+4522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 456.681 363.328 466.586]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.498 434.208 248.098 444.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 397.625 275.228 408.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2206a2c7921d483451f7e2366f0f8166) >>
+>> endobj
+4525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 385.044 363.328 394.949]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 373.809 214.06 384.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58) >>
+>> endobj
+4527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 373.809 259.998 384.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.942 348.096 290.693 359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) >>
+>> endobj
+4529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.714 348.096 336.314 359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.957 348.096 454.784 359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+4531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 323.559 310.533 333.465]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.498 290.128 248.098 300.314]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.034 253.545 278.845 264.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a54ee0d81e7047f0c89c29fd63af3b778) >>
+>> endobj
+4534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.912 240.964 521.824 250.869]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 180.555 289.866 191.459]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) >>
+>> endobj
+4536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 180.555 359.324 191.459]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 156.739 290.971 167.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) >>
+>> endobj
+4538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 156.739 360.43 167.643]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 132.924 224.003 143.828]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) >>
+>> endobj
+4540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 132.924 269.94 143.828]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 98.149 254.15 109.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) >>
+>> endobj
+4542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 98.149 338.263 109.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+4543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 284.585 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4) >>
+>> endobj
+4544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 74.333 354.044 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4551 0 obj <<
+/D [4549 0 R /XYZ 89 770.89 null]
+>> endobj
+4552 0 obj <<
+/D [4549 0 R /XYZ 90 676.288 null]
+>> endobj
+4554 0 obj <<
+/D [4549 0 R /XYZ 90 389.029 null]
+>> endobj
+4548 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F38 3426 0 R /F66 3179 0 R /F42 531 0 R /F60 532 0 R /F24 529 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4618 0 obj <<
+/Length 2066      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�F�� �����0��s���؎"m|q\[f%*<��������^X[�-G�e���������r�`���O���)��&5��R���
1�y�;�`di�c��i�N:�3�b5�8�W�e�$���?�w����G��44�u��+�a#����o�=Z(��J��
Jt��8	�4�)��\��*�U�dbs�\,E�K�
�l�,�D*��2�}�P���C�R�p��=V<8����n[�m.*��7P.f�p��o
h[W,0b!�5�^8� �47�\��
�(LϮ
����k09?��PD�G�P��Nֹ-�t��t
d~tUH�
��z�A�޹
��
���bȰ�2Ƒ�]t�[.�09�UJ�<�e@�NMܘ�C�[�L�!Ӧ�[���m�ő�1�wY�0+�Y9Ź!��Z�rdv�-M �گ�~%"',"�g ��w���:r����
Zv�m	��a�m�6�7y.�^�D]rU���י�.7"tV�|���oF���3�µl�����j	�A���ԁ�H6� ���ꬺ8�b3^vn����
׍s�zP���pdV�6����4B3�=�� #Ѓ����2�w+'򺳶k�v�S [...]
+�~�8�	[/���}�b�

D�t^���w��8>�+�E�d�
�QK=[_j\
ʿ�Ex��p\�{�#�-���,͒�d)3�t3��2���v7�
� ��\��uu����:
c���Y��ڷk��De�yA�,LX�h;F&&�����`�"�4��
�"����/�����G��(S��]�.K�ū_�{q���Z�Y��u�3%�K���J��@_%k�j|C�.<J���n#l�9�\�R�b�΄a��"
���TA���eC�j}JϝDt
	K�l��)ڊz͎bԚދ�S{k����H��TB�q�<,��w���#�ͻ���uk�;
�	��ml�aWC߿-@$���������xg<
 X���f��Tf8$W��67\��N��$g��j��
%9-n�캿�F5��{�04u�C
��-?��_C�H
h�_���J�0���/���r�I
0�,C�1��HF��H�V��V{���#
C�Y�)�%v�A):c(/�V9
+�7�1��䔗z�2�AƓ��o��Φ��vpUr]�wô@CԶ
+^0�5^0���>'/`0�?zZ=0-�1��/�
+�h�_��oY�*�?�
�ղ!ͼ��Z\��آ�6`O�s����֣
I2=����|���l@��
6lD�N���V��2��N�
��"}�݈/�߹f�3��b�� �f�A8�68�Oal`�&������,<?�
��⤩��jk�P�1ܥ�\
�_��
+o�f�o
@��-�گ^h�k�n��3
��r��ȫZ��r#Wn����@�� ~�P|�@�H�Ix�31JۡKJ��GYS��Va��]3��S��x�?�Z��'�OP�dz��CR��8N�xi띂b[�L'�*!�糯���� ���
[6)W��"���U`2f۟�����@M
ٺ��s�c��� �~$F#�%X&2��O+����L���{01f�L̞�����k����z�c'�Y�5�SCKNźa�Q�N�Q*����h�Q�tn���g@���J�:muj�Y��=W��
+�^��;��{�#�\y?���Q�7��:Q��
|O8Q��{X
���9�x�a E�`�,���,Α>L⭑j���Y�t��z�)����/�{"T���E�����1Pap Ă��%����
����{�15��w]�O.3�F�X$�;���I�,#�]�|�qc�Jy�����(�@�U�{�e�㣣��U*�+���6
6��	�–�J�I���

�N*�d)��0A�I�H at 0?�`�#��\�y�_,o,N
����1����?
.��
+endstream
+endobj
+4617 0 obj <<
+/Type /Page
+/Contents 4618 0 R
+/Resources 4616 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4545 0 R 4546 0 R 4568 0 R 4569 0 R 4570 0 R 4571 0 R 4572 0 R 4573 0 R 4574 0 R 4575 0 R 4576 0 R 4577 0 R 4578 0 R 4579 0 R 4580 0 R 4581 0 R 4582 0 R 4583 0 R 4584 0 R 4585 0 R 4586 0 R 4587 0 R 4588 0 R 4589 0 R 4590 0 R 4591 0 R 4592 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4599 0 R 4600 0 R 4601 0 R 4602 0 R 4603 0 R 4604 0 R 4605 0 R 4606 0 R 4607 0 R 4608 0 R 4609 0 R 4615 0 R ]
+>> endobj
+4545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 685.31 241.726 696.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a50155ea93e900c22ab4251298fa70bb0) >>
+>> endobj
+4546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 672.948 407.658 682.853]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+4568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.933 249.318 672.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) >>
+>> endobj
+4569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 661.933 288.321 672.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 661.933 371.519 672.837]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 638.556 240.62 649.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) >>
+>> endobj
+4572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 638.556 324.734 649.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+4573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 638.556 389.5 649.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 571.518 203.075 582.422]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+4575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 571.518 296.324 582.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
+>> endobj
+4576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.198 557.164 309.133 567.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 544.156 287.856 555.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) >>
+>> endobj
+4578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 516.794 294.481 527.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b) >>
+>> endobj
+4579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 409.33 156.281 420.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2ece0bdf729fb3120ccc49ba616371ad) >>
+>> endobj
+4580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 409.33 178.697 420.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.985 409.33 252.585 420.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 370.012 180.54 380.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7321e2cdc1f62423eef211a89ff5a93d) >>
+>> endobj
+4583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 370.012 226.477 380.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.287 370.012 323.887 380.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 330.695 178.239 341.599]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a6f66ccd85fdb7cc3afdfe9a9eec33805) >>
+>> endobj
+4586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 330.695 224.176 341.599]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.985 330.695 321.586 341.599]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 291.378 226.034 302.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a30fb611cd3b23f903e1b5f285c238c38) >>
+>> endobj
+4589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 291.378 339.776 302.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 252.061 245.522 262.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3a1140c13e71533dd97cc2406cb8fd79) >>
+>> endobj
+4591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 252.061 325.229 262.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 240.106 132.511 251.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 240.106 229.92 251.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 240.106 344.117 251.01]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 200.788 245.522 211.692]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a0fc52076243c0da6c56397ae37cd5194) >>
+>> endobj
+4596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 200.788 325.229 211.692]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 188.833 132.511 199.737]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 188.833 229.92 199.737]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 188.833 344.117 199.737]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 149.516 245.522 160.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aa50c3a8544e3182f11f4b971c2b185e6) >>
+>> endobj
+4601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 149.516 325.229 160.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 137.561 132.511 148.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.42 137.561 234.02 148.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.979 137.561 351.535 148.465]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 86.288 243.605 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a36a9d0801d846225758faab4be3cc7e4) >>
+>> endobj
+4606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 86.288 323.607 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 132.511 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 74.333 229.92 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 74.333 344.117 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4619 0 obj <<
+/D [4617 0 R /XYZ 89 770.89 null]
+>> endobj
+4620 0 obj <<
+/D [4617 0 R /XYZ 90 590.16 null]
+>> endobj
+4621 0 obj <<
+/D [4617 0 R /XYZ 90 590.16 null]
+>> endobj
+4622 0 obj <<
+/D [4617 0 R /XYZ 90 561.149 null]
+>> endobj
+4623 0 obj <<
+/D [4617 0 R /XYZ 90 533.787 null]
+>> endobj
+4624 0 obj <<
+/D [4617 0 R /XYZ 90 466.491 null]
+>> endobj
+4616 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4707 0 obj <<
+/Length 1532      
+/Filter /FlateDecode
+>>
+stream
+x��ݓ�H���+��A�
��qe�������)w/�E�w)!Y!����u�6�d�-��tf�gz~t7�w�a�U�ٰ3x��g��Tz�Ϟ���		��Y�p��4|�1�1�J>~�����t�!n�
;_;��G�Rڛ,:g��7���x1��o������������3]6_�
�4�&y��a�)B!�
��j
��^�
+܍.���_O泩?ҷ��*���܏��~�>xI�� ("B�V^�25%����`��
���i�E V���I��
����
}��z}B��&��#���]
+�I|�F\����_\�Ǒ���LE�*�y�ȓT�֓DB����+?/�y
����*}�8[�
��a����
j���Ia��B�ʼ-
.2B���a8��%���E��_u��>g��Q���j5�jә	���]���?��#0���zq�/7���T�b�����\�����q��'בL��F���l�#"w��P��ɶ٫��h�����#M�`�et�	dc֟��m��$V��cD��)\��I��u�M�	+|��u�o���%"��B�3����-�

��I�Ҫ��p
Lg����l���)���ä�TZY#R�0����P�W�ג����!� \n�;��e;`k�$�e\� ˨��Mc~�6��Ƶ6�
 ��m,]�XFM�Q���
-:i!�-q��'������8ݖ�@o����P|/D�8턆t��]`bpw>�1��,��1:�?,�	��5�2Hrz
��]M-=��
#�[��G�-��8|�6;�̀W)Z_>�����!$�Q3�[U	E+�m*,`#+���*�12&/�4��O�RjkK�� �c�)��t!���Ԏ؎؎؎؎�����0����S/~Pf�5[𚕿�=��|�fX�Ye�#��lSh�+�-��E�V��H+���/�����_�N��Y�-�I4�������1*-�T�P���#�%8���[UC
��-j��z�t�8���%,6��5pI�5p�������u��}lkDk9��j9
:��Y�
.iC
y\�
�dm��1��M��S"9�9�
bdo��c=)���@�A�
a[ڰO"�EXd�/
\��yIn��q�x(��)�9r�#9�%.16tHw~ӝ/j:_$��HM
hn��ʭ 
jͭ8�2���pܐ[�c̭
�
�����
�~��j�
Sj����+T.gKL"ܑ��8�@�����Ȃlۖ#��%!��!�4�RܞQ�!�S
+�:-���PmgC{BU{v:��M����%yvC��g7CZ�m���e*Ǯ_�]�ED?:"b��
�ˤ
1
1
1Z����-�P)ʶ�ߖʍ\!a�?|�ځ��(E���uҘߓ}0x�`ދ:+��C����_`d��&	2�t�䏴�{�6��g�/�	��N��9��yz
����M�/W�0{�� 
O��v��Ϧ*��K���?��IL��(��2��~
��+?�@�pq����Bn�9\��,�ef�,���D���?
���
+endstream
+endobj
+4706 0 obj <<
+/Type /Page
+/Contents 4707 0 R
+/Resources 4705 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4320 0 R
+/Annots [ 4610 0 R 4611 0 R 4612 0 R 4613 0 R 4614 0 R 4636 0 R 4637 0 R 4638 0 R 4639 0 R 4640 0 R 4641 0 R 4642 0 R 4643 0 R 4644 0 R 4645 0 R 4646 0 R 4647 0 R 4648 0 R 4649 0 R 4650 0 R 4651 0 R 4652 0 R 4653 0 R 4654 0 R 4655 0 R 4656 0 R 4657 0 R 4658 0 R 4659 0 R 4660 0 R 4661 0 R 4662 0 R 4663 0 R 4664 0 R 4665 0 R 4666 0 R 4667 0 R 4668 0 R 4669 0 R 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4674 0 R 4675 0 R 4676 0 R 4677 0 R 4678 0 R 4679 0 R 4680 0 R 4681 0 R 4682 0 R 4683 0 R 4684  [...]
+>> endobj
+4610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 683.313 243.605 694.217]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a5418f668bf3b5a8590ac6d5d483d5ea3) >>
+>> endobj
+4611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 683.313 323.607 694.217]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 671.358 132.511 682.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 671.358 229.92 682.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.561 671.358 344.117 682.261]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 632.031 243.605 642.935]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae02fa938635a4847617bc270ce5d61f1) >>
+>> endobj
+4637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 632.031 323.607 642.935]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 620.076 132.511 630.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.42 620.076 234.02 630.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.979 620.076 351.535 630.98]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 568.795 239.568 579.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ab4addfca3eaf252964b09cb03b12f701) >>
+>> endobj
+4642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 568.795 317.166 579.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 568.795 513.375 579.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.473 556.84 203.073 567.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.714 556.84 317.27 567.744]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 517.513 239.568 528.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a857138d532c5352b43623e6b5e5a629b) >>
+>> endobj
+4647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 517.513 317.166 528.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 517.513 513.375 528.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.473 505.558 203.073 516.462]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.714 505.558 317.27 516.462]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 466.232 239.568 477.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a507389e04ae54928ad21bae9f8caf354) >>
+>> endobj
+4652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 466.232 317.166 477.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 466.232 513.375 477.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.53 454.277 202.13 465.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.827 454.277 315.383 465.181]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 414.951 245.522 425.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aaba1e38f6fda99261ed2bd61ec99e369) >>
+>> endobj
+4657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 414.951 325.229 425.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 402.995 132.511 413.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.981 402.995 234.581 413.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.403 402.995 376.96 413.899]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 366.396 245.522 377.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_aec5e83677f965ea4672262477c3e9737) >>
+>> endobj
+4662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 366.396 325.229 377.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 354.441 132.511 365.345]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 354.441 229.92 365.345]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.082 354.441 367.639 365.345]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 329.796 245.522 340.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ad303b49ba5f16febd5aba07ba6d1b656) >>
+>> endobj
+4667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 329.796 325.229 340.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 317.841 132.511 328.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 317.841 229.92 328.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.082 317.841 367.639 328.745]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 293.197 243.605 304.101]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a108121fbb775ce12e17480900dc32516) >>
+>> endobj
+4672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 293.197 323.607 304.101]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.241 132.511 292.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.981 281.241 234.581 292.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.403 281.241 376.96 292.145]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 244.642 243.605 255.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a3271b453d7283448ee3b26406f027c41) >>
+>> endobj
+4677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 244.642 323.607 255.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 232.687 132.511 243.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 232.687 229.92 243.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.082 232.687 367.639 243.591]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 208.042 243.605 218.946]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_abf26ba6f468ba6cfd016cf8b8ca51b92) >>
+>> endobj
+4682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 208.042 323.607 218.946]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 196.087 132.511 206.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.32 196.087 229.92 206.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.082 196.087 367.639 206.991]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 171.443 239.568 182.347]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae51d28e968849dc1fc4ac29475dd89d1) >>
+>> endobj
+4687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 171.443 317.166 182.347]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 171.443 513.375 182.347]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.661 159.488 207.261 170.391]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.597 159.488 350.154 170.391]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 122.888 239.568 133.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a1089c9be5304fd1f8bba20e462be1528) >>
+>> endobj
+4692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 122.888 317.166 133.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 122.888 513.375 133.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.473 110.933 203.073 121.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.235 110.933 340.792 121.837]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 86.288 239.568 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a13a65e37276cb17bf0f92c33e4d135fa) >>
+>> endobj
+4697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 86.288 317.166 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+4698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 86.288 513.375 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.473 74.333 203.073 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.235 74.333 340.792 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+4704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4708 0 obj <<
+/D [4706 0 R /XYZ 89 770.89 null]
+>> endobj
+4705 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F67 3037 0 R /F42 531 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4732 0 obj <<
+/Length 2730      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���S:d^D�t�
�NZ��6n�[$�!�ȶ�3�T�4���Ë.�H#�v����H���;ߡ��� ?
}v�쇈
+)AEpv(
D�B\��U�~F0����N���b���)�����dU��Ӌ".n����o��~z�!
�D�zF�wv��(,B���~�Ban��sDS���u\���xv6Wt�l��J쓷�eR̉�%�
)�匄L
=zyv��18 �
E2Xn����
+
�`Ĕ
>�A� �
����ѯG�9w
,���@!�AD
��(�f�z��!a��H�Ʋ�6Ÿ ,n�����yړ��Q#�v�d��9��'2����={�"*y� {�v��&Aҕ3J���r>}��Q�ެX~2��Lw�>`�Gg�\�u��%��(R�ƒe8�BX�C��R��<=l��,D�����-���!X��H�����,u�VV��㼬�$�X�O0�&E\�ŀ�U�c�Q��;� P�
���Mʧ�f�ge���"`3�_?�.�6�t|@;}�
+*/8TJ��(X0�lܦ� �jϋ���u��P	��e�n�4�<��U�тž
+�PJ�[�!�X�C����8���Ͱ�8C���5.q9'|�J���R�_�h�u�:�� 
�K�e��L�y
+А!��a�ܧsF���	���>��(z
$�V���҉�B�
����C


+$�9
��>�۴
*"��R��
����$ˤ,�"]ߺݻ��d�rZ拼H��2�
O��|�Tɲ���u��
+:q�#��z������7��Y~��:7C�d[$%,\��յ�]T��l���׶�W�zN~9�0	AoQ>@�k�n=�|��Z�3�e���m^��
"f��"���U=2��.�,^��W
��!�	Hcp��
��
�D%��,��]k!֔��
�C��`�O�I14IB�/���S��KS�m�t��t�d��@ϖf(�/r
�
��%����nq�qh�)����z�`D�BTh���ŀ�Q�8�ݲ!آ��P��D��sU�
3�
hg
�'E�Qzrl��Y/�t�Uݨm^;� ��z
���P�Kb7!� '�/)&(zD�k�
V�B��
=
6����]'�W���U��<
��f��P37�F�r���EU3�y���>=���@�
G�!�ơtW����U��6�ܦL3
������
��7�
P����v!(Nń
���b�Ȫ6�f���v]^�E*��M�y�۴��@
!�Z��rz�X0���"����
��{bt�4X�i��2�E�m�`�AP崄����M�t�+���
�E3���p9y�a`\4<Ayn=�)�6�[���m���<�ҵ�V����ރre�cW

�7�Ēf�ztR��U�
�i���dCu�����~���N�pq���$n`Lu� Y�{����$॑�t//s��:�
�� ,�y�qV~i��$�u ���z�֋ݐ2ݤ��>$57I��UmH���U�7�����:�հ-M$�ݺ�::�V�'��$�z����.��-�鷨�NL�4I
ɓ���
�ȗf�Ɵً�Ś��@kA�"�Tk&Z3��#�`fg�8j��}>4
b�Ei��Q8�Lݹ�<>
���kF4���h�λ�m at N(ܴK
�9�N�5��=#?�3���f��$a� f@�9J~f_�/L86�]�
+����H�?
+
ڣ���!�8RQ���}'	$†��H��L�%�/׉�t2��&>���t4�3G�=���W��|���@@!�%���@�C�O���i�N���4��}���4_l2�}r�]�˴�x��f���J�ҥ�.]�|*���S�����
���mz��n��&��ƴ�&��|��gV)%
�PD�8aNm }*�y��J_^����k_�w�o�K ���
|����A�
+(� ����
<ؓj��<D�R%��=�v��E}
+ �ԃ�Ά��pģ��T֧�B �|e��T�/j�V穇MC�ks�^?}�q�s�R{ �
6����
�&h!����ǖh�vo4a�K���
�J!�� �]R�Az
�^W�w
����T�-4	sf�aCx{
�=b���I� z��u�x��Ə��L��K����i8� 
+8��92��
��q����Ș
����9����r�#��Y���`(�"��DדȀ\�Tq�#���Q엇�_����
�!.*! �+o��\Ъ�{'9�fr�V��'�	�/6R��M���0g��%��.'H�ay���'o~>}��߯���R)�~o�;NT��'�OT��4�ܮO˶z
�vOm���l�
��9c�l���^ey�����w�ux¾$�p2�'�JP�;��>Ն��퍩z{��>t���XN��C>i�0DTFF��DcO��1m;�	�uDX�\�}
~AI�	�	��<�`��S�
��
�X��L��/+�|;揤U����Щ��/�J��Ԉ��a����-�����=o��8؃2�&�s�F�^
���*H����/
�C
��Io��
O:(�H�����g���Ɵ�ᠽ�
�W lm����;��B�����(��D�=����=Y�
^�J�����k{���]7�s~��]�UJ���Ci�&�#}Žg��k�U�Ϡ��בqL�
+�M�8溪��Ϟ]��$�B���Q�ء�p���M^4���a�+��d��`�0l�	p�_P�1�a��νyYOt��ڰ�En;��&���
+endstream
+endobj
+4731 0 obj <<
+/Type /Page
+/Contents 4732 0 R
+/Resources 4730 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4701 0 R 4702 0 R 4703 0 R 4723 0 R 4724 0 R 4725 0 R 4726 0 R 4727 0 R 4728 0 R 4729 0 R ]
+>> endobj
+4701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 156.281 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a2ece0bdf729fb3120ccc49ba616371ad) >>
+>> endobj
+4702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.002 178.697 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.985 696.002 252.585 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 671.095 226.034 681.999]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a30fb611cd3b23f903e1b5f285c238c38) >>
+>> endobj
+4724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 671.095 339.776 681.999]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.148 572.578 117.749 583.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.986 513.538 125.586 524.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.17 392.8 213.77 403.704]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.732 380.845 218.288 391.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+4729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4733 0 obj <<
+/D [4731 0 R /XYZ 89 770.89 null]
+>> endobj
+4734 0 obj <<
+/D [4731 0 R /XYZ 90 657.521 null]
+>> endobj
+4735 0 obj <<
+/D [4731 0 R /XYZ 90 608.883 null]
+>> endobj
+4736 0 obj <<
+/D [4731 0 R /XYZ 90 367.271 null]
+>> endobj
+4241 0 obj <<
+/D [4731 0 R /XYZ 90 344.894 null]
+>> endobj
+4737 0 obj <<
+/D [4731 0 R /XYZ 90 344.894 null]
+>> endobj
+4738 0 obj <<
+/D [4731 0 R /XYZ 90 274.347 null]
+>> endobj
+4242 0 obj <<
+/D [4731 0 R /XYZ 90 219.406 null]
+>> endobj
+4739 0 obj <<
+/D [4731 0 R /XYZ 90 214.923 null]
+>> endobj
+4243 0 obj <<
+/D [4731 0 R /XYZ 240.245 145.612 null]
+>> endobj
+4740 0 obj <<
+/D [4731 0 R /XYZ 90 138.972 null]
+>> endobj
+4730 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F90 758 0 R /F75 554 0 R /F93 763 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4747 0 obj <<
+/Length 1955      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~�W������Ւ�Ng�4�$M�m��%��xA
��Ml�,��G�llրN�d��BHG��s�α�3s���xܻx&��!ϥ�3�u<�H�!�¯��O8��t���\��u?����������t���#�vH.@ ��ɲ��=v������y���
Z:�2x.��ޟ=\���
,� B�5�s=R���h�Z��� ��}~< �?[/u��=Ab��0��eP1�¬g
�a=��
v��"���:F
+Q�C�1�V�Sm�\<Pۉ�!�Dq6?�#j�%�\��J����F�����
"��.E������㲔y9 ������~����4��_7�oF���]�2�y����l�rD3Z"�;`���+�F
�	�
Q��#�c�
+����+Ї0ID��d��y�j�3:��0���$p�
+)�Lˮ�C�cY
�V�$Mp�U�K,FQ
D��ѽ
�E��
ҸD��b�O
�8�����jL��}����v,lH�BӺ�?^���
?���d��8Z歴0�$?Ŭ
�&Z
rҴi)���ӫAˮ�4��z�
��^s����d�u
��.Е?��i �"	���݀�%HIr
�[CY��A_;�p��
+gA�Š)+ߐjph���%�>k+��7�����]�"��}4��{^�*��J�p�9BQ���X�
�����W��$\��$�W���GE\
+�硨+��"��:�G���o
I�ܐ��bH���I�fZ��t��`?�yW�Vq�&��͛�=�m6f��《��ȧ�Xl�;�m�i�����H�h��3+���
+���z6ߚ"
�1{����71+�Q��4nL�:�V3��m�,:|�����~�{M@(pXuhTgH�z��v��04�y5�#
����uė�:?5�D�b�=�L��E�Z�M�\��C�������Cc
QO�aP��A�g=n s�z�q��I�& {Vr�Ql��@~ dH �
�Q_��p����
���%f�s�ȜwI~�P���!?�h$?5��? ?'_�~ ���.��k��Q1�<�q{�G��B���C��Rn�٦�]��ٮ�@
Y������꺔l�ԟ���_,6�*���ձ��P@�uE9-
+��J@��ד4��vy�q���
�C�<]�Q:�Lt��F��:�]���:Ա&q����=�5V
9��skWylW/$�CL`�s�z�8��r!Gl
u֒��r�����,g4�%x@�&���&)�9u��*yF���T�Ø�Y�66
���E��㻨�~P#e)>�R�P�-*^2�B��g#Ň�W��������H[�Oa&Ɉ>g��w�J�~߂�3L��C��f��N�
�̈U
��
�{"
�'�i�UDf�`�<�k��0���
�x2RkI:
��p�����`z��&�7k9�a��Na?Lkw���,x
�jM�)�鬾��<�
��d�����
U�-�I:���❤e��/G��Udҍc��$s�Q��znDb�:���d
�H������|�H�Ej,X�n/�U�r[�;Z��'��=P��'����gp0����s0�R�?���	������Y��u��w.1�gD�)��
�<\���U/�XY�L�u���Ai��]�T'�8���7j6W�$�����*��%D�i�����ݯ
 ��.�m�\b�pL!
���R$�����R�H�u����E�~
�U��ﷺ|�t�Ė��pyȕpY|�a��nӏ�Ef��80[�e⾕xN�n>���e�
�H���<1g���[��O>ν�
	��"��
 ���f�������� �!����j;���c;.^,��k¶� o�X��ry�A��E����U��+��!�V	~��u���&��_����(����!�d�Jk�!s\����e)@$vb����t5���Y�
��$Z�O
��=p�۴� s�(��� �	|
p�S��\�
+endstream
+endobj
+4746 0 obj <<
+/Type /Page
+/Contents 4747 0 R
+/Resources 4745 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4742 0 R 4743 0 R 4744 0 R ]
+>> endobj
+4742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.658 594.396 439.839 606.914]
+/A << /S /GoTo /D (index_intervals) >>
+>> endobj
+4743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.658 454.933 439.839 467.451]
+/A << /S /GoTo /D (index_intervals) >>
+>> endobj
+4744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4748 0 obj <<
+/D [4746 0 R /XYZ 89 770.89 null]
+>> endobj
+4244 0 obj <<
+/D [4746 0 R /XYZ 240.245 711.11 null]
+>> endobj
+4749 0 obj <<
+/D [4746 0 R /XYZ 90 704.47 null]
+>> endobj
+4750 0 obj <<
+/D [4746 0 R /XYZ 90 618.272 null]
+>> endobj
+4245 0 obj <<
+/D [4746 0 R /XYZ 90 571.647 null]
+>> endobj
+4751 0 obj <<
+/D [4746 0 R /XYZ 90 567.163 null]
+>> endobj
+4752 0 obj <<
+/D [4746 0 R /XYZ 90 478.808 null]
+>> endobj
+4246 0 obj <<
+/D [4746 0 R /XYZ 90 419.829 null]
+>> endobj
+4753 0 obj <<
+/D [4746 0 R /XYZ 90 415.346 null]
+>> endobj
+4754 0 obj <<
+/D [4746 0 R /XYZ 90 313.526 null]
+>> endobj
+4321 0 obj <<
+/D [4746 0 R /XYZ 90 278.856 null]
+>> endobj
+4755 0 obj <<
+/D [4746 0 R /XYZ 90 274.373 null]
+>> endobj
+4756 0 obj <<
+/D [4746 0 R /XYZ 90 174.685 null]
+>> endobj
+4757 0 obj <<
+/D [4746 0 R /XYZ 90 108.643 null]
+>> endobj
+4322 0 obj <<
+/D [4746 0 R /XYZ 90 77.486 null]
+>> endobj
+4745 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4761 0 obj <<
+/Length 2403      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�۸���B�Z��|��h
��r���w�+䂅���Bmɑ�&��
�z�d{_|-�|2M���pf�g8����Ώg�&g�os4ҒJgr�h�(����m�|t	F�hL0����`�OV����b7^n�,�o�»�O��⯣O����ҐH�q
����.im
+��j���=R(,�՚�
a�\�z��hLv'#M�`�^�Y`g~
�dD<7��0���\
z�����1�!�)ϙ��>~��
�r0b�s��V�
>����/g�0,�"��|fYm3��++#ZY:+�ݵ�b{�c̖h����v
D�ʼ���1,���J�c��iD�ڧz����D ����������u at B�(��mM4bL�k~��Ƃ{�4�ҬG�,�c�NU
Q8a
͓�q�ۛm
+�ڳ�V���T��j.�U�N�i��
���.)t�5�:�>��2��O=¸B^%�E�$�g����zN�,UE��[ٔ9�`RL)
("�+��	��<L=7[�ѩ�t�/��9�����`���0�w�ϓpf�f���((��m��~M�����>�V'���'+t�fD!ͪ5h4fL��\��v�h$a�xY~�$�
o�M���E���� J�8�_A�]5�F��#�d��ͣj'��3����G��+3 � �d&�7m��~���>�ͳn�!O����WO����V""Z;k ��R�CX�#�"C+�r�((���֙ۊH
+�OS��/�ښ��/
��:�`�|6���&�U�����O;��
D�$X¯�
��_�����_�ٶ�&�HYnP�8V*�I8�������lo�
����~[��`�8��yTH1)'	���&+�eq-%�E�I�h��	"y��
{8H@�1f
/� 
J!Fd���4�;
:L�^�( e��+(�5�n����2Zo�>��!����j5bî~ T�G3�aZ$W!<�i�*ӌ"MZӖW�t�5�����
���Bn��q���!ZVZ?��0r���<�N�F�
bɑ'�Ø̘�“�OqL ���$
�H؁
��o
�ӧ"\�=�Z�
�%0P�g�g���-��2�9��	pׇ��'i�K�ZZ|�d�K�\�q�SP�ǞϠ+�J?gp<�D
 k`{�'y0@(P LA�lc5Pn�
+��i�$MM^Α+d}ǟ��)�@N�p
+�-}�~D�{$A��յ`�
d��b�>�W
��a�T>
��fq�
璏�ǰ
�H��s:��%
���qD9k�}����
+I�=��
:����G�͍��ek�PhvH;ݯݤG ���"
�NW���������kQ�-�,J�b�����
�p:�.�^���Y��c4쓓��$��;9��S5D
:�����

�u��:�
�r���G�T�j�ә�0�������(�]):����?�w������w�W?��r��e�U�C˦#�1
��O���5�o�7��77}J��h.�p
�C?񔆁IZ��c��luI��e�]����ж� ᨎ�~�(i��6i��fS�~�!ID�*4�/�^�c(�+���eE������k{Q�A�HsGS��n�
������8� ����Q����Z�m(!�|��oRX�jz4��҈�Q��5���J��S���E&���y�qERv��j	�"j%�i�+�
�aEԭ�
X�| V��?��a%.ݢ(Cj�hk�<�3�s9g�D���
��?c�����zJ�Qx�MA��6E}i��<�
jS��
�)�����.�ߥ�t�O�<ƍ�g+�vDxǷ)֋�,+�T��,K�p�������^��aZ�P!0q���$ċdE
�'d�uqB��u0�
���R{�T�`�"��N*�<Oh����O�C߯PE%����T���n�e�A�i����Y
*�w�fʮ��F�<�0 �[-3���ihzBv	3-��׀��c����쯔l�f�p/�{(Hy\�7��2U�ב��{��%�cHz�ٚb�X)�Ff \{9
.3;o��-a�P6[s�3{y�{�B��;��c]�P
�����)a
X�`ią> [X�?����
� la�N^v����-.�p�A���MwW(
��!���y2��}�
�HV�f�IѪr���Z�1��S��Z��:wL�2P7��X��	5�W����E�UI��A�������!��,�W
�o�M�q
�. WnQH%k ��R�� �#5�j� �}U@�;C����;�?�e�
+�[J^6>��ē�-�����4H�<���p�w~�)
G��Ғ�	a�
3ȓ7AP�o���S��~��V� ^Q��"����w�yDsvލ��{ b�����6�*�:�L��2*�M_u�0���%���� �*��h�������s��`���XN��
+endstream
+endobj
+4760 0 obj <<
+/Type /Page
+/Contents 4761 0 R
+/Resources 4759 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4758 0 R ]
+>> endobj
+4758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4762 0 obj <<
+/D [4760 0 R /XYZ 89 770.89 null]
+>> endobj
+4763 0 obj <<
+/D [4760 0 R /XYZ 90 721.073 null]
+>> endobj
+4764 0 obj <<
+/D [4760 0 R /XYZ 90 646.048 null]
+>> endobj
+4323 0 obj <<
+/D [4760 0 R /XYZ 90 599.423 null]
+>> endobj
+4765 0 obj <<
+/D [4760 0 R /XYZ 90 594.94 null]
+>> endobj
+4766 0 obj <<
+/D [4760 0 R /XYZ 90 512.254 null]
+>> endobj
+4324 0 obj <<
+/D [4760 0 R /XYZ 90 456.351 null]
+>> endobj
+4767 0 obj <<
+/D [4760 0 R /XYZ 90 451.868 null]
+>> endobj
+4325 0 obj <<
+/D [4760 0 R /XYZ 126.015 358.646 null]
+>> endobj
+4768 0 obj <<
+/D [4760 0 R /XYZ 90 352.006 null]
+>> endobj
+4326 0 obj <<
+/D [4760 0 R /XYZ 126.015 260.941 null]
+>> endobj
+4769 0 obj <<
+/D [4760 0 R /XYZ 90 254.301 null]
+>> endobj
+4327 0 obj <<
+/D [4760 0 R /XYZ 107.534 163.236 null]
+>> endobj
+4770 0 obj <<
+/D [4760 0 R /XYZ 90 157.219 null]
+>> endobj
+4328 0 obj <<
+/D [4760 0 R /XYZ 126.015 77.486 null]
+>> endobj
+4759 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4774 0 obj <<
+/Length 2281      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�F��_�O=	�����5���N�^��]qE�D�D%R%�:��7���W�-�E�;0)r9;��
9�[x��������k�<��O}oz�i�I�������4"��~�1_!�}x��|�������Gs��rz��	�[�#%���f��O��7���{1���b����q�}<��	�x��
+sjg@��DH�F
+QD�xB0ƣ<\��A
�N_ê�I)�OU��_�m�$o��0V�xB�
���� )|�	�����$�'XCr;s�!��>洛�
R
_�A��M
+G��7?8X!`c�dO*�=&�H�|�M�Z�r�՘�Q����1ţd�p����mt����ٷ��~L#��]��	�
+�-�@X�]��4xv�K �ؠa��D!-���
O��Yg��"#��
�JCy,����fί��1Q�~�.�`K"���炼*bu��=�e�
j
�*��)���
ƴ^�MMBvV �~�����C)�GR7�:O *�/Q�p}�
��ETjD�}g�c"F�R����I�j
���?]��������LrȦ5�LtlK*��2����)��^F�(�\��:�����.�#�8E���6�r��|�<܀�'�Ny�Q�(�way�������.T�K;>d1M	G���*����I�%�t!J}�ƉI��f�ing�����
�
���_�Q���ņ@J6ll�B�N�E�F��*+���K�����s{���q���������(�jn$qE([���g�i��zp�����Y������-��*]�'�
�E�ر�ҽ
W7aZ:��M<ˣ$.]$��*;��~io	�&�#I�C
�'�R����R���R��ޗzm��M�,]�E#Ed/߾LE�0��"QşQ��"�B�d����⨾2��`�ߏc��A7�ЕB�B�5.���G��$����ʂ�W5nk��
���܇0ߤq�"@<��N�nBG�@��Qst[e˸�xI\'B��x
�ȴ"���;`��|
eM�--Q��(.����>دm�7��	��j*W~e.&Ҥ�
�!����N| [...]
��E��
@�%��4!Ej�CTpJw��u���8�>I�\�dq
�(Ţ&���m�J٫XɈP����=\GD������8�\F�kpK&G�"eW�a�A(�Ha6�� �F��2Ƌ�C�^Bc��ӻ4S1��w�(����	1��1Z��x����BI����Ѥ�[G�H�zJ�Do?|��P at ma�1޺5�
I��䳃�(�{;y��  ��}Q���\��y�=ھ�����yC#�
*�
:�q#��ϣm��z
�z�^����B<z�C$E8�$���
+"��
ۜH�V ),]�{@�%ƨ�iP�~|M3Ҷ�U��
�q�Z?�W��ZBp4�,D1��ύ�쎮�{u�.YΛ��&����=�M�"J��
�j�U�߬�ck�D֢����AZ�����r�KA�M�4YO� 6LI0��tH
l�Ӛl���6=Q6��ۀ��6�9^�tg\
+�|WXB3�7a�}�4�b�>t�OD4�o{@I��ch�E4�6&-D���h�RD�8Cp D�8-���f�n�x:䃚/�z�Y�Tλ�I��i@�@�ρi,-ۘN�#
>~W��j�D
+
-Q

�P�n��A3�
�,p
��a\��cp
��3�?�R���D=�X���p�349�m��
n��1%M/=l�
Ar/����Qb����5߅�3��2�@
�k(�Ƨ
:
׀��4��'�#�~w�k�5��C@
1��8�3����c� t=���ȧ_
�GT
�*_�f�h�A
�h:$�A4ļi�
)h
hz�
h��~xfWT
+�[H��{��m�=��$��v
G�܋g�Hi�˓xI<��v<����m�
c�>�"�]_:�l|1w�3_n�M<�
�n\H !X�c����l�ߦf ,Y9�U � �B�`��op���
�1MUд`�~|����o�8
���/�b�4̲
+ �R�1~�+�rfn�m EkD����q���?E�x��獓B
+��ZG��F3�����Np�z��6�+w����
w
(��5��Fz}���bl�#�ݱ��.�կ��1� ���yq�~��p�fż����&@o��+�2m	/g�	�P�޴*��.��ޖ'����/c!F�9��&X��&�J���A�85O$ӏaX���뗆��F��N"Dc��<_����lY/ЬJ8�ϷC;�[ ~��%3�$m�.��F���

��A
+endstream
+endobj
+4773 0 obj <<
+/Type /Page
+/Contents 4774 0 R
+/Resources 4772 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4771 0 R ]
+>> endobj
+4771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4775 0 obj <<
+/D [4773 0 R /XYZ 89 770.89 null]
+>> endobj
+4776 0 obj <<
+/D [4773 0 R /XYZ 90 721.073 null]
+>> endobj
+4777 0 obj <<
+/D [4773 0 R /XYZ 90 619.408 null]
+>> endobj
+4329 0 obj <<
+/D [4773 0 R /XYZ 90 596.409 null]
+>> endobj
+4778 0 obj <<
+/D [4773 0 R /XYZ 90 596.409 null]
+>> endobj
+4779 0 obj <<
+/D [4773 0 R /XYZ 90 523.73 null]
+>> endobj
+4330 0 obj <<
+/D [4773 0 R /XYZ 90 489.06 null]
+>> endobj
+4780 0 obj <<
+/D [4773 0 R /XYZ 90 484.577 null]
+>> endobj
+4781 0 obj <<
+/D [4773 0 R /XYZ 90 411.714 null]
+>> endobj
+4331 0 obj <<
+/D [4773 0 R /XYZ 90 377.044 null]
+>> endobj
+4782 0 obj <<
+/D [4773 0 R /XYZ 90 372.561 null]
+>> endobj
+4783 0 obj <<
+/D [4773 0 R /XYZ 90 299.698 null]
+>> endobj
+4332 0 obj <<
+/D [4773 0 R /XYZ 90 265.028 null]
+>> endobj
+4784 0 obj <<
+/D [4773 0 R /XYZ 90 260.545 null]
+>> endobj
+4785 0 obj <<
+/D [4773 0 R /XYZ 90 187.682 null]
+>> endobj
+4333 0 obj <<
+/D [4773 0 R /XYZ 90 152 null]
+>> endobj
+4786 0 obj <<
+/D [4773 0 R /XYZ 90 147.517 null]
+>> endobj
+4772 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4790 0 obj <<
+/Length 2695      
+/Filter /FlateDecode
+>>
+stream
+x��\K������)��Ѽ�Tvd�
�J�7�AQmaIp�		�AR�ͯOf $�8+�ʺ� v��=�u�7݀pt�臫oo�^�Xd��TF7���Hq���o��CL0ң1���G�I�Lnߏ(����C:-��w�")�����?�>����{B�� ��|��?�!�IaZx{�)��z̟{�0S��n��V�18����E�Nݝ��YZ����l�
:&\Y�Won�~�" Gĭ�@JG��Շ�8���#����S9hq��s�r���
["*����
2�Jk�0��C
���ϓ�q=ϳU�ОȽ)�
v�=�1�=U�/w[�[���21&��#;z at .�&��#��'�i�Y�'
@$*!E�R��E(�̊Qp�m�j=���g#��O�b>�M�S��f�fk�_}���MfA
s @t�R�8"R
�T�wp���7E>�"~ʜ��g��D�w�"&I�s����
j
���zP�M���f�@Z�j̿0f]�!�k9����d����
�g>5�g�|����w�
�0�
�w	2{�Ȋ$�űd
SV�!T�Y1$}fXW�u?n+��;��%[!�u��Ϗi�,�1ܓ
+�@���T�	��m*���EW���`�44�D��
��*s$����Ev�j�����M6]��+.߇͢��P��L����sH��Ƅ�� k�8_v̬�;��Ϭ!
+ڞ�.]�#B�';u4fB#NI4�n�Æ��12�@�\w�9#`����<K����
[�
�l��X|
���6P5� 
+��I�"ձ�%�$�	
+@:�-��!�	Du���l:l� 8�D#
F�\�	�~�s��٪k�`�j�+6�Ѩ
+��
�6��y�x>�%�ݭ���%枻�@O�4���n[4���gͺR
+�[I��x��6+kE�
S��\H�
���|��L#/ ��w܈	��5D^���p
����"x;�$x-K�2���
߱~7�p�
뚗�<���Tk�bx�E��gx¨#
�lK�
O�E
��8���
��L>ϗ����@L�Zyz�T/�S�r~��As�k��
��h���m mҭ7��3�z:��8�����r|�z�W��}�`����
�2z&
m�ƀGQ��
e>wg]��b�m��
+AA�䐵8�I���.�[;E��d�n�B��F�h�n�Yv-	2�NJE/+�/�����1x37ēc}�
�����
�m���a�ȱ�p��^U	�����a���hh�>��|�. |�����O�0R��޴�ORst��q�r����O���/@7O���	K at O��՘W0%�
S�S?=�'����J��$Yy"�~��xE���#�'K������:�X��Y��sNإ�ň��吜 /�me��G�-�����&������tR\byZ�&�
Rs���
&��8=�X�� y����n^�L
��
b �����0�(s����O��yu v��%T'������d]����+����x�h�'�c?�@$;,�\<�����$�MM<CZ�@!8$3eDMn���|�&�`njR�9�3s��s��|vZ�=
J����x�IH$�~����@��9�iz�.ӤHMMj M�,_γ���`;�w
DJ��Z��%0
&8n3feڣ�n�~�����2]Z���SS� ��C��a�X�;�Uh������%��<��%���S
+Q
�1	&�Ta�x���2��&A�h�����$���`e�Ve�
S��[�~-��e��;��F R
y�k��	+���﴾�u�8:Į��jeF񺺣X�]
X<�
C��vE�
+�Vyய��U���cnB쁳.�� =vea��ً�2�fe=�+)`�D�Zz�uY�zuq�C�Gj|P�n��
k���ڑ�y��Ʈ'.ҙ?�o�u��<�E���%/�U���
��5s��f���	��a�pu����O���̱���{
��1{O3H<�ն
+�/l�[
��>gk�r(�E����CM39��L���^m������co�
���
��;�f��f�Ա�z�8�����a>���U�؁	=�uDOh
ѯ���U種,$��1�g>�?=�E�š��y�YLJ"M�2����OP��!m+���H�5��}���,��X�ω�L��&��8�qu�2�%ږ2�����u�E�I�<��%:<C̳G�������ٸ�P�n075�"���V�o�&p�
�m.�AI�	
%8��*�ܺ�P�n(55�B���v�o��T:dw �D&�;�b�٭+"1��g��.ԥ�u�����uu8�J?�@$9�6�y�
-с�1����
G�)@���E���((/ҡ;�5t��CZR;YQ�d�ɞ tM&i:]��_u�4_,�
��q��>s�OV`ۣ��]���d��6��Y�w�{Tb#}�e�q5�u��92��瓺������"
����k��Z&��;���u��ݡ�"ː� ��]�Z�%=[�j�
�j{8#��m�ʁ�ڦ�_��u�v�f�����/<
��?�/�S�(;����-x�o�rU6��
���w��﫴�fd����$�$
wm>��Yl�"a[�F���_��D����ꯎ%nU!�#!���z�x�����~�f�h���n��v at HVuObV�L�y�y7�eBGU��F&HJZ�,毰�(E��������o�,�K
�ݭ���a
+endstream
+endobj
+4789 0 obj <<
+/Type /Page
+/Contents 4790 0 R
+/Resources 4788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4787 0 R ]
+>> endobj
+4787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4791 0 obj <<
+/D [4789 0 R /XYZ 89 770.89 null]
+>> endobj
+4792 0 obj <<
+/D [4789 0 R /XYZ 90 718.682 null]
+>> endobj
+4395 0 obj <<
+/D [4789 0 R /XYZ 90 684.012 null]
+>> endobj
+4793 0 obj <<
+/D [4789 0 R /XYZ 90 679.529 null]
+>> endobj
+4794 0 obj <<
+/D [4789 0 R /XYZ 90 606.666 null]
+>> endobj
+4396 0 obj <<
+/D [4789 0 R /XYZ 90 571.996 null]
+>> endobj
+4795 0 obj <<
+/D [4789 0 R /XYZ 90 567.513 null]
+>> endobj
+4796 0 obj <<
+/D [4789 0 R /XYZ 90 472.871 null]
+>> endobj
+4797 0 obj <<
+/D [4789 0 R /XYZ 90 382.121 null]
+>> endobj
+4397 0 obj <<
+/D [4789 0 R /XYZ 211.842 317.872 null]
+>> endobj
+4798 0 obj <<
+/D [4789 0 R /XYZ 90 313.234 null]
+>> endobj
+4799 0 obj <<
+/D [4789 0 R /XYZ 90 218.747 null]
+>> endobj
+4800 0 obj <<
+/D [4789 0 R /XYZ 90 103.689 null]
+>> endobj
+4788 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4804 0 obj <<
+/Length 2892      
+/Filter /FlateDecode
+>>
+stream
+x��\ms۸��_�O�<!xq��pm.���6n�!���e��HG�⸿�
��2(R����̈́4.v���}���m����__<�A�� #�
�W����		-�w3�����&5"F�[�������?_���]����xA�'
'@ ������{
,��F���h�	8ep]o/�|�ۺH��
!��竕������h$����c��(�jÑѤj��řk��
+�M�Z̉1�hs�?�[=K�>��������v��$͝ܛt�,��{�ڦwޤ�D�>��g��	63]�]��,�t��R������6q��Y�,=
H���G6��H|��u-��w�m1˓Ű��&�
ov��9� ��9 ����-$i�*��
i�f��mt9����*ww�$Ow��h��u�����l:�p��`]�.�4b��D`�g9 n
��D��CX���k��@!X�5��$�X�9�����G�H����yD�z��-n�t]c�c�$�5{sI0
�&����Y�~��ن^�7�p�xu�}�٣
tpS���*�7�[v�$;J��^]m�$������Y9V�`�/�\��"M��c��
t����8����	��eq�x��+
~U�:���nY`�J\/��6�!���F+�tGI�靃l�{��3NVO]<��a��QC9z0�p~��.��#
1M
Yd�&>C	E��
��j`p���P#��u�1t���Ū�S��FP�������]w�s�	x��`)����8S��� �]�����+��7l7�tvʽ��"�d���@�D���ʨlLjx��@	���I�����}y���4x8'Q誑�>�xN���R�i
+#��Rou�@�T�x
��K*f�O
@�Xs��$#̧C��T�&P���.
M
���]�-B����E���"���ߕ7qb���ş��!�zW����"����:̖�;
n1�YYD]Ct�(��a1��I�Y֕���������� 

�R���DOs��/+�y	,=�נ�[��d�t�3x!�L�X��D���1")<<S�J���P�U�ݺ��
+�e�v�L���l_&	�҃?���?�E^��,7����)��]nu��

G-9c
��"l�&���
�%C�Q��L!�NX(U���
�y����֤s��D�0OK<���
v
�N6��A$?1!����$�a|Z,	�$&
����t�&~,�5�������C�Ɇ�Ͻ����)�4�D�&���l4Q�۰@p�(W���e��x:O��J���.�	<Ǥ���\o��x
��Uia��ҽ��0tщF���a���$:%:O��Mj
�:�	�0��
&���z�y��

��#2cn"�p
[����1�2�5�5dh�D���싴�D�	G�J�6
+V�W�-
0+F#!ʴ6˗WW�� �p
/?@j
��[�
\e�B(̲�lRK�
@�7�1^���u� ʺ�^�m�N7���'���g����`�\Q�Q�&���y�vgUy��M�<N�7�����b����`��HuX��K�t�^:�
7Z
�H�S�9T��m#S����[/!d
*��gE�}�E���e
��+���2�^���
ヌC����F����	�1mLOd�$���uW/#�UӯМcK��n}��	���
�f���sJi>>�����)�~7DU�
&�	������`3�����9-ez�
,��s`�J>G��|����9
�����dGX�#8�����
p9
+Q%n���;�a�6&T
+��s9�Y�_�N��6��
3Ĉ�����,�
���h<�ar|8gv��=��e��� � ��mZ�(�2J���0msJ���^���6�8�7"��߈�o��9�Q]T��>��2�?�E���5�OJ�q�F!d
e5".;��SX+bbJ��x+x�Ĕ���%;sF	�(zRފ��ۅ~4ou�2��lG�����q�G��L�5L.���;��\�#Ҍ
�[����mM�ou��3o?��S2
�K,�Da
k3-� w�J
I[���ImE�ku�
�o%JC&���
�4��_MJZQ
�
ʎ&����KZut��#�Ɓ��a�ǒ��-=%:����)!å���u
�S��Lj?�Q��� *������:��.��r�*�
�"ٳO��bE��n��=����f�Bfx�J��ڍ�}Xn������X��n�f���6J�ʣ�P�{^5�(�6L�a�<��=y
+��
+1�2k<]�q�-��FE&gm)�^ؤ�������.3%k�ykK�	*'cm���bm�L=���X����Y��g��HƧ]�'��r�Di���>5�>�{����3r�!>�s�����l���9ħ��3��	[{��1��Ĉ��?}�Ou9_�E9_���6/�q��9�������C���Ô/�C��i(��6����ť�=��*)_Xs)_.d�f8���X
�-k��1G��Q'������� ��QD	;���0����	8�w�=��
\,��x
+K�5 �@���׷�]���c����&2րklĴ�!uC|�����1�	�^�)o,tQb�B�e�̓	��,\}w�<�
+�g�a��bOp+F�	n�xĢ�DY����Fw�Oy���[^��8�˗�e��
.U���
�0�M���}�a$�>�`[i�l�~��|5p^��,�1����C�n x��
2ħ�h��	#l�B�f��㷗s�q�tR�.��ז���QM������賏��`����k�?V���ڰ�)k��A޼X��,�b'
R4ƕm��7o^���f��חB��B����� ���ۆ�$۵���x�6�ʡrz��V�'W�m�# ��B�������ov�Y��"ب=]���v:�U��t[�r��(�=�����
+endstream
+endobj
+4803 0 obj <<
+/Type /Page
+/Contents 4804 0 R
+/Resources 4802 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4741 0 R
+/Annots [ 4801 0 R ]
+>> endobj
+4801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4805 0 obj <<
+/D [4803 0 R /XYZ 89 770.89 null]
+>> endobj
+4398 0 obj <<
+/D [4803 0 R /XYZ 192.853 699.155 null]
+>> endobj
+4806 0 obj <<
+/D [4803 0 R /XYZ 90 693.138 null]
+>> endobj
+4807 0 obj <<
+/D [4803 0 R /XYZ 90 600.031 null]
+>> endobj
+4808 0 obj <<
+/D [4803 0 R /XYZ 90 509.281 null]
+>> endobj
+4399 0 obj <<
+/D [4803 0 R /XYZ 211.842 445.031 null]
+>> endobj
+4809 0 obj <<
+/D [4803 0 R /XYZ 90 440.393 null]
+>> endobj
+4810 0 obj <<
+/D [4803 0 R /XYZ 90 345.907 null]
+>> endobj
+4811 0 obj <<
+/D [4803 0 R /XYZ 90 230.848 null]
+>> endobj
+4400 0 obj <<
+/D [4803 0 R /XYZ 192.853 166.076 null]
+>> endobj
+4812 0 obj <<
+/D [4803 0 R /XYZ 90 160.059 null]
+>> endobj
+4802 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4818 0 obj <<
+/Length 2460      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��V������t:Ӥ��i2�u�}q<;�H��J���V}^%^t����(
+�p��; ��';�o����I1G#-�t
V�Ǝ�		�|�݌`��c<��<��x?�xov��O��_��������?�|�!
D"%�q�/��
Қ&�Հ7��@�0Wc���t9⇍���x�0�tl�7^�;o�U�̉;
�%��D�3µ������
��)�Yno޽ǎ�v0b�u>烶�
>7�o7�����V��
+si>���ZhW#
j)�VrX\��m��Ifi.�r�
����o�a��5��C��U�ڑ��!TM�b֮v�E8L"5��Ԯw`���sbW�o���p�Ba$ދ
MU[��uᢛ0
+��^s"��A��qd������p���Y��U||�6���[a
Q���ݰ��HD.P��C
$�S������O9�:��%�>�(�̑�B���ʫd��,��
�t	��s-iެ�l*�u 2�(�i��vL

�U�rL�`� {I��e���'���93o�R|-��Af/����6�%P��*��
2p�]R��@��{�� *pm��#ȧ���-
!�������&�v���0[?�Ħ^c�䩰���7΂H� �uQ@>��$�[��*�4H�:L{`�u�o/��,��L��d�^�q��_���[���������
+	�8a�O�h�^h�Q'�5E�K�8�{q���I�
�Mqz���h�sLZ�^֌�f5jF~���7;#߅��)HO��:�q���RC���S#Z��
+qWO��i�$ªH}��͑��2I���)IE���m�xYI��.o�TGq�4�
�F��N󴳕��
��zJG�����Ǵ~� PZ��q��2I���)I�g~��0�4� Y7��vbN;[�~�`�Z٤$�l���h	���
+Z��e�A�4�?�)
͐��7$�i�
�&W��#P��q.�p�d�����'
��(A��Y
�1�3#�Y뤙wFs�M,����s�'����
�b�\�&�����2p\"Ր�mb��obmM�@Á}.8{ؕ
8ELV�*(�#i��v
d�f���:��1f]�5��l
�㓕͋���6�"���i��T�4�w�o��@R��
��1]��	 �`�#I��ۤ]�
+��q�
uL`
+���k�Ǩk
+�\Y	�j�ur
�r��<vi�
��;�l"��H�7o�Uф�DY��\~��͂�Wm�O@[Ph��[o�#v,v˳r��p/[)��ކxk��d�� �FdȐ���B ����x
�D\��Ǜ�=t�=p5���&i���[%"rN?��Y�ʦww�8ʼ0J�:���/��e<'�(�:�]P
���wq�
c4��G)<��q{6b��O%�jr
D���u  rE] ���.�B�U��
���Ӛ���m�]Ҏ�c��\~�F��أ�@�D9���E�U��
&'�e��t(%��rou[P�9���`� �1
��
:9G咡�M�����9C�Э�xR�ڀ���rH��|3C�RӒ��z&CmizC��.�
��b���
2	�<�
+���O�:/�
n�
:�v�T����r>�U�J�W�,��U��p�Ѳ^
��U89���Y.��y��;<v��@�չ���	�lWWqhz�&DA����L�[�28
�L(ߣCq�[ʡ�U*]�4�I��c�I��C�@k"�.���������5K���·��ؖ4]"�
+ۢ
�Wc[
���H�� \3�[��[��nՈ��-�4�r2�5��%�j+z&�j���s��m�̜�6�.�
%Z
+�(i-~U�%��#Z�>U9@���*D�`6N�ꭥ#���W{���2c*�
��+��g[[F���?qXd���
+��SLl����&^%� P��>Ѡu\�y�����0&A�o��M];�럴1��=7MǕ��̣�;i�fN�(����\�y	Y��@����M�hI��4=��5�����F�
�jھ�"�Q�F�@
�6_��k6�|M���C��g�d��C����`���
��?�#��@�<�f~{)�s�	�/�O�Ԋ���sR�xa~r
�� P� ��9��Pq`��Ӈ�
gy���.@�g��Vq�p���吝c�����֮:�Vn��tn�@�g�c�.�����²oƴ<�
�Fa��uF��W�.���?g����  �+��E둍���M���!��NuhY0$��@$�r/fy�9�
��<Gڒ�:G��?�\|���|�����)��Bϗ��� )�<~|6`��>`
+���c_�,
5RB�^< ���=����b/��ɟ�B̊���x{m�}'���#�d��
	�|��
+�_����M�vjQ4z�~�j�e�w��^�� zB���vC�|VU�#��K�Fps��
+���
L -�r%`1?��0Q��#�������o���{

\[��~�
+endstream
+endobj
+4817 0 obj <<
+/Type /Page
+/Contents 4818 0 R
+/Resources 4816 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4813 0 R 4814 0 R 4815 0 R ]
+>> endobj
+4813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.931 671.2 186.185 683.534]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+4814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.668 671.2 272.341 683.534]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+4815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4819 0 obj <<
+/D [4817 0 R /XYZ 89 770.89 null]
+>> endobj
+4820 0 obj <<
+/D [4817 0 R /XYZ 90 720.814 null]
+>> endobj
+4821 0 obj <<
+/D [4817 0 R /XYZ 90 605.755 null]
+>> endobj
+4401 0 obj <<
+/D [4817 0 R /XYZ 439.299 553.461 null]
+>> endobj
+4822 0 obj <<
+/D [4817 0 R /XYZ 90 547.443 null]
+>> endobj
+4823 0 obj <<
+/D [4817 0 R /XYZ 90 476.115 null]
+>> endobj
+4402 0 obj <<
+/D [4817 0 R /XYZ 90 441.445 null]
+>> endobj
+4824 0 obj <<
+/D [4817 0 R /XYZ 90 436.961 null]
+>> endobj
+4825 0 obj <<
+/D [4817 0 R /XYZ 90 364.098 null]
+>> endobj
+4403 0 obj <<
+/D [4817 0 R /XYZ 90 329.429 null]
+>> endobj
+4826 0 obj <<
+/D [4817 0 R /XYZ 90 324.945 null]
+>> endobj
+4827 0 obj <<
+/D [4817 0 R /XYZ 90 252.082 null]
+>> endobj
+4404 0 obj <<
+/D [4817 0 R /XYZ 90 217.412 null]
+>> endobj
+4828 0 obj <<
+/D [4817 0 R /XYZ 90 212.929 null]
+>> endobj
+4829 0 obj <<
+/D [4817 0 R /XYZ 90 142.198 null]
+>> endobj
+4816 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F8 794 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4835 0 obj <<
+/Length 2170      
+/Filter /FlateDecode
+>>
+stream
+x��[[��6~���S�j�AQ��E�n�n�ۇ44��c�mM$9���=ԝ��+'ھ�d��x�s�D
�}=�|�X`��T����@q���_Q�fL����
�Ԉ	���o~�i���k�l�b6z?"��H�`�
�y���_1���E�u�)��*x=�e�+Y�+����K%!`�j�0�"
i,Jq^�>��e��
+�� ��(g��	�%T
��� ����sc�2L 5E�
�i
P�
�A%p%��vX�h'
Q��#���H����Bf�b�������v��p<���ѻ0�05^l��&/�5�
�9���\&,��1��T�)�&H�A`��e�
�dB���f2�F���vm7�R��b���0fe'%���Ѵ�?,���+�DZ�S���I�� y.ˍ��Iڌ���jdi@Ӹ����
|k��̓�c�/�V��)#d��=3��n��NK,f�$��1�|yZ��)���SB`H���p�z������c��qT����󇸊V��R���o�_'�;��j��5l:l�����7(,"%�k�
+�p(��0�pS%
�4b�I�)���Wa
�@Hg�R`����/�
�B�7
��x��I29�~��
H!���|�	�5F�aB�8YF��:aL[�U�^MgX��^M(
'���8J�w?.��0}���,iG6b#ʁv��_�`%��9�t{F5���2��IS�K!����U�a��M=]��q'+��ʆ)�q)*���=O9��45F����S�Գ~͐l#�g�
*'��`γ>EXӆeA��A��Z�No���r�ub�N���A=�("X�����
Qō�{� �r~{���:�	!Ys�tɓ�y�r���~`�(��D7�͢'.����F�%0�Nȭڜ���+H�ZÍ ];)8s�B���ty�H
��pNu(@�R�m%b��g�Ee(8<�SS�.lOU��@�BIDh�����H��Z)\����R�]�6���CEqt,�@�B�a$c§�\�x
�L#��w�%F���s��t% o�x�X-�K at R�x�X�VYS,w��1,g�Ţt�bX��l�]��S@:<���r>Ȩ(�C�J"��ѹ:�N��!
f匡��
~)�s 2�-�>>,�U!REӒ�ٲ��4�U6 at i|>����# J���
+ȣ��+(�(q9�zFNŨ
�z �}e@�0*c�)��o�>�2�kʾEM�k�{��ȕ9N�l�C�
8\�װ+"� a�x�
+6��0��|B�x�	`4R0�(&Hi�
+�VW�jz��c�*�?���c�M
go����boT�"��M��<�c@<�����'��7�a2s{�R�^��q6}�2HvDª�X�OnW-����D�w�2���`�O;�
�<��`��|>f_*�{����:�xd|
�+(��m����|
�Ys���^F��u�M����bc
���oȹ�@L!+���u�@�i]��a��p�)��ɵ��q����wa�m�E|/�2~���<�Z�q�0j��U�s�#�a�����c=q����,�߮�	��p���u
+��i�o�j�5�B�F�+>��VO��]�����6�(/I,/}j
�C�,zH�=�BX�u�����(9F�ۀr�Tk�I�z+��(�uʀyPfį=e��5ۓ7�w�n�ͼґ{�8��
��_8�m����yѧ�NI���-¤b�j�='=i
�$��9n�d�%����vi+��O����=�=���N5 �$��{��/a˜!��Ė�y���#��X��ք4���FRZL^��F��)|�J1z��#Ƭ�"�<�\�a
�ѧ�\
+x^�El��O�=R_�������g�,<	��P����W_�K���[e�{�e^F{�Uvi/�j�sRm���IU�E���I&>P�=��{Q"
&la�?(�r�	ۗ���d��I��˒زì(t��H?	����� �^�������
;� ������=��R�xؽ/
�c�����,�g`-��-`�w,F������M��^�X��'��L�W�����rQ{oK����iV�h�H�et���u\�\���F�F��w����C�?����mY�Y ����
l ��
ro)t�z<I��T
+ס�in
+F�?JG�
+endstream
+endobj
+4834 0 obj <<
+/Type /Page
+/Contents 4835 0 R
+/Resources 4833 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4831 0 R 4832 0 R ]
+>> endobj
+4831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.32 681.422 320.92 693.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4836 0 obj <<
+/D [4834 0 R /XYZ 89 770.89 null]
+>> endobj
+4837 0 obj <<
+/D [4834 0 R /XYZ 90 718.682 null]
+>> endobj
+4405 0 obj <<
+/D [4834 0 R /XYZ 90 672.057 null]
+>> endobj
+4838 0 obj <<
+/D [4834 0 R /XYZ 90 667.574 null]
+>> endobj
+4839 0 obj <<
+/D [4834 0 R /XYZ 90 596.843 null]
+>> endobj
+4840 0 obj <<
+/D [4834 0 R /XYZ 90 543.154 null]
+>> endobj
+4406 0 obj <<
+/D [4834 0 R /XYZ 90 496.528 null]
+>> endobj
+4841 0 obj <<
+/D [4834 0 R /XYZ 90 492.045 null]
+>> endobj
+4842 0 obj <<
+/D [4834 0 R /XYZ 90 421.314 null]
+>> endobj
+4843 0 obj <<
+/D [4834 0 R /XYZ 90 367.625 null]
+>> endobj
+4407 0 obj <<
+/D [4834 0 R /XYZ 90 252.935 null]
+>> endobj
+4844 0 obj <<
+/D [4834 0 R /XYZ 90 248.452 null]
+>> endobj
+4845 0 obj <<
+/D [4834 0 R /XYZ 90 179.878 null]
+>> endobj
+4846 0 obj <<
+/D [4834 0 R /XYZ 90 126.189 null]
+>> endobj
+4408 0 obj <<
+/D [4834 0 R /XYZ 90 77.486 null]
+>> endobj
+4833 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4850 0 obj <<
+/Length 2214      
+/Filter /FlateDecode
+>>
+stream
+x��ZY���~�_�������A ���� 'V��08"g$D��$e���V7�)��8���٬���&�
����������2�=�$$����!�HO�c
��
F�:��vBq�Y�I�E^>fQ�{x�n�������7��()�
��
�?�K�Ma�,�a��
*��f͟�a�^�U��)8�M

���**���?��$�
&�
n"tH�D゚�}�#@�Ԇ@J����8����F���[�8ep]���~�+�/����J�@�W3!Dl��"�RuQ�{������M��B�7
��K�Fk+8�Gt+⬣Z�"�����<�<�,�>h��{_�0� "E�ꗊ�1
�*�!���ƇN�E�sg0�͐+Pd�i����
TM�l?ߤ���zb^�?X`�E0e� lL0��F�f}^��r�������r�
�5��Vo��֡j/K44��y�-48d�x'o��� �����t�L�N�u�ܿ�m�Sb��S
+�Ǻ|��q\u�)����CJ�=/�����F�	�Ų��۝J�q��i<��iQm�|�.'T�Ha�JҢa��.�D��n,�>�(ȐZ
��c�(dX#�t�g��}�Tb�
�G��:4!��
Ca3!	s�`��mp��|h�uӧ��Ο�e�=�ץi�|G1DU�d�(�� �H4��xV=�,")ܼ��e���|>fG}����jA�I���D"r�ǭ
$��c���Ϭ�N1�(�(�U�}��<y)��@���H�0��q��d|�.��(Ed�
(�lԡJ�J��k-��>��
��F�O��H(�
@E3"��ɋ���1���h��?Fل��y���|��E�1�i\���1R��e
�}9g�lc�ԗt2��%\>�N/�s
+'=]8�iEi�[�߷w���6>�i�,)���`�
�i�L��KT,W��mI���(��Kv��X@���-#��-�eSF%8D�הU��L�_�����UnM7U���l��V�]�7߾�l�"��Ի�4��!��f
<����93yC 
�R!=L���s
͓�J0M��ů��� 5	�����q�2�w�(�J��W�4�h�PS���i'
+n Y���J�RSy
�"�"�HIh��Y2��w�	�*�c�hh��
PL���g�o��n`^���}���a
�n�1�
�}�0�+pKJFl�G��ZO�%�+*�q�%D�`�����q
%�������2I�g΍��X�ux�\�vD�L��:��2��X�����AjfN�m��$�u�k�+\ʇl���6 ;��0mu&Ľڢ� (bB�
��)^�p�� 
�r�UR�Q��W��
���Ԉ�E���
x+6�a��1nG��0�'�7����q�ṿ��RdR��~n�yYRf��Y5����Qp�t�>�&�n��Bi
+���0�	7����a��۵K��bB�ET��QZ�z��[GqR���7ˠ-r��+� ��K�qoɇP�Ch#��b6+�Ll�
ST=̒b�U\:��2T��
A\,���}Cu,�GOI��q�bc��n�L
u�
a�xa�(�k(=v ��'&Z�9��{����Z��d�ZN/�Qd	T�&=C�Z
 �•3~ӔB1��)K����/�bѳ+���<6ƮƮ�7����`bʅ<z�lY׼5���?T-�P��É
����z�ф���h5���yr�=�mo}:1��a��ԃ���ugq�Ƙ}��G�4g3�O���O(T#�ƄE�St �b��R�

� �Rb��r�Ss���
4x\�z����x���ݓ+�-/�`�,�}�4�m$ũϷ.�)^����cl7
��5f��
+4]�ٰ�Z_�GAv�ddWD�F�vT&�
e�)i
�;��0{@�>��I������l
+郌>�?��%�J�]�
�v={/�>z^o��!���fܰ�����U�Т��
�_��B0X��1�%E�9�e�MK����?�;�(w*{�^NX�9�� ��
����yª L��:c��0�F���
~����K!�
�X�����N�Qv�W�u��x���}*(�0���}�s���~"DXi�(ݺA�(?��l'PI���2�I�6G��]�T��L�7��t�4�g���ht�(�������s����סw��fR5N״��M]�)�\G��Du�6�H���(�TL��nE��{X�Xݸ�a͂�n@����Nr�
+endstream
+endobj
+4849 0 obj <<
+/Type /Page
+/Contents 4850 0 R
+/Resources 4848 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4847 0 R ]
+>> endobj
+4847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4851 0 obj <<
+/D [4849 0 R /XYZ 89 770.89 null]
+>> endobj
+4852 0 obj <<
+/D [4849 0 R /XYZ 90 721.073 null]
+>> endobj
+4853 0 obj <<
+/D [4849 0 R /XYZ 90 658.004 null]
+>> endobj
+4854 0 obj <<
+/D [4849 0 R /XYZ 90 604.315 null]
+>> endobj
+4409 0 obj <<
+/D [4849 0 R /XYZ 90 557.689 null]
+>> endobj
+4855 0 obj <<
+/D [4849 0 R /XYZ 90 553.206 null]
+>> endobj
+4856 0 obj <<
+/D [4849 0 R /XYZ 90 482.475 null]
+>> endobj
+4857 0 obj <<
+/D [4849 0 R /XYZ 90 416.831 null]
+>> endobj
+4410 0 obj <<
+/D [4849 0 R /XYZ 90 302.141 null]
+>> endobj
+4858 0 obj <<
+/D [4849 0 R /XYZ 90 297.658 null]
+>> endobj
+4859 0 obj <<
+/D [4849 0 R /XYZ 90 231.086 null]
+>> endobj
+4860 0 obj <<
+/D [4849 0 R /XYZ 90 177.397 null]
+>> endobj
+4411 0 obj <<
+/D [4849 0 R /XYZ 90 142.203 null]
+>> endobj
+4861 0 obj <<
+/D [4849 0 R /XYZ 90 137.72 null]
+>> endobj
+4848 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4866 0 obj <<
+/Length 2208      
+/Filter /FlateDecode
+>>
+stream
+x��Zm����~���R
+���}��"�:��Թ�j�8Ɓ�xQ�T(ʗ���}!EJ��h;��o�ٙٙg�Y
+� ���nrs��b�FZRL
��5�f���:�0�!`2BDKx��~����뷓w������o7
�8�(��n���
n�`�t<�A��S�e����u���
+sj^C���0�c
(�N���a\ī�L�!���u �s�ç�yv`�x��2�:lk���a�t #����
+�#{B����@ ��&FXS����1?I��UJ��)�����d��ƌ�p�g���Ӭܘ$,s��c⮷�d��<�;)�_1�Y�J��Ƃ�p2�p�ߌG������U��U��e�gN��?.���pɢ0���Z���
�	A|`�J��T�0��H=Ѱ�)$��2�yy�
q.�!O�r��[���jά��$v�M�͗~T�|��L֨U��\��G�d�
�R�K| I# [�R��}��Mt�@�30Fr�0��1�
��'��tH�0�$��m��d_�y�!�އ��XTB�$x�G,BfF�IU����r�CZ��t�#����f at o�S�Q�٠��=At�T*��Lm��Qֶt�(��S��ѡ�9EL�
+E 
Xq��zL�H��҈�zP��:� lDJ�F����
S��g95N�i�Z�䞂)���k"�x�H)鰉y�̗���)H
��y�t���DHa
�,��jV^*�)6�ƈ0
��˞>�Ԝ"su�C��eu�ߋ��mOGD������n��~��a�N��tU���d�d3?g��͐��t�E����d��˭���yG�v��nw�Fg�sL�Ǹ��@�@�
+��i�ܝ|{�'�k�;��m�.�Y:-c� c�U���
���Z�ȗ�"�7�j��ߩ�oW�gI2Kf^;��qD�е
�֞1n�v9s��[�z2��K�:܅��9�
}��|�,(�>
�e�o;��x�"yL���)-���
l�Fc�q��~�Ӿ��
+o�V�bRj��
���x
=�H��?X����k.�~�iY�U3I�2�FD��G��'^�_����cӁ���إ����4�W�8Ҩ��onDk���ϐ;��`=
�L��!R(�k��h����'C�L��r�U�5 
��;xX����^>/�Y?��~,�������u�:��&Z��P�jLU���c��#�[�
+��.Q at J��q�OuX*��a����&
��:BU�_.:fP��d1�6#ړB�΋m�MMdS.��\�
/;VYi��a�v��V0[���o�eR͒��#B���)j�¸dއ�-Z���48J>�e=,g$�R�������ঃ��ĻԨ��A�X����ecq��h�
9��v�
RDB�a�"�/���	hE�㉃K���3�S\�wv��!#SZ�j�өݗ+���i�1�H�#��-������[s|�A$Cn�].�e�<3�����
�&(��
/��S���C�:4D^���"��l�aHK�]�=S/�uhY���u��]����x�H�3h^^#���t� MU���?i���a���dcDѪ]�1C��hLk�]k�9��D�!�yx�����p1�@v
v��4�hӵ���}��/�3
@N��Φ3���SZ�
������N�s��<�*�s��E�&�H{V��0���5�

\���H�wr/`5
)�
+8ajf3�Nњ+��5-=&GS�s���9�� RDlȈ�X��x
(T
�k ��$
�@}�.� ,�fC2���k�
5
P4��Њ��Yz!�i���5Gk0��\�^�s�A
4/��y��༒�6���Olօ�������_�}���Lj"(��uT�|# V������ٟL�&�m�>[vXˡ�`��O&
2���18à�N�`g0��y�i�.��{k��]p��V��pm>�������|�>Dlt�)�5Ie�|%�a
 �l�h�!��
�Ah� ���Ңk�8ǕJtr����$9�r���Y$�r��G��C���b�����E��s���£�жt��b��n�5����
��͊�A�N��w�P��'%w[B�8YMڎ�����	 m��g����m�lJ�'S�bS"A؀?2��%����^���������0���qQ���ۏ��&����2�{�|�R��ʫ�4����^�� y���
+endstream
+endobj
+4865 0 obj <<
+/Type /Page
+/Contents 4866 0 R
+/Resources 4864 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4862 0 R 4870 0 R 4863 0 R ]
+>> endobj
+4862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.9 551.643 513.996 562.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+4870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 539.688 120.665 550.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) >>
+>> endobj
+4863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4867 0 obj <<
+/D [4865 0 R /XYZ 89 770.89 null]
+>> endobj
+4868 0 obj <<
+/D [4865 0 R /XYZ 90 720.814 null]
+>> endobj
+4869 0 obj <<
+/D [4865 0 R /XYZ 90 655.17 null]
+>> endobj
+4412 0 obj <<
+/D [4865 0 R /XYZ 90 530.721 null]
+>> endobj
+4871 0 obj <<
+/D [4865 0 R /XYZ 90 526.238 null]
+>> endobj
+4872 0 obj <<
+/D [4865 0 R /XYZ 90 457.664 null]
+>> endobj
+4873 0 obj <<
+/D [4865 0 R /XYZ 90 403.975 null]
+>> endobj
+4413 0 obj <<
+/D [4865 0 R /XYZ 90 369.305 null]
+>> endobj
+4874 0 obj <<
+/D [4865 0 R /XYZ 90 364.822 null]
+>> endobj
+4875 0 obj <<
+/D [4865 0 R /XYZ 90 294.091 null]
+>> endobj
+4876 0 obj <<
+/D [4865 0 R /XYZ 90 240.402 null]
+>> endobj
+4486 0 obj <<
+/D [4865 0 R /XYZ 90 205.732 null]
+>> endobj
+4877 0 obj <<
+/D [4865 0 R /XYZ 90 201.249 null]
+>> endobj
+4878 0 obj <<
+/D [4865 0 R /XYZ 90 130.518 null]
+>> endobj
+4864 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4885 0 obj <<
+/Length 2484      
+/Filter /FlateDecode
+>>
+stream
+x��[]s��}���)��V����\I
v��5���Ɏw�0�ra
�$h����4
$�d���C�����s.�
~������{-K��*��,
th�T�k
��0J�t�(��7SF'�zݼ�r:�Ϗ�|
���ܮ����շ����/�g�e�)s!�W���y(
›����X�B�10"l=��"���K:��Z>���ET���/�}��23��;\�L�	�������
34`~5$�&�[^��@�9.�P"�	>���A�������/h��͑p�NݡZn��L�XB�f�*�Կ�|��$K�rB;&w
��
�3y���z����6�
��~i��Y(�
�c��Rn�e8�m��w-��u"�dmd
�-+~s:�8�™Ѹ�7'/�WWI:
��c�H�7�z*���i��߯��@�b�Ũ��
��T��0��y�h'�,������:�r9����I�}�!Q7�
9��9�OJE���=�Xӌ)
�܏�N@��6��t�c�)b�����X1$,��YW�>O�79�i��w�r��"&�7K
+
�Ή��r&�GMʳl�(g]�A�TS� \Ue���u��&��-���D�̀�y���&�R���@Ǣ�
���q��I����%J�z��
a��^�	
�n3�
�!fU(
���)rWW+�19�V�TmB7����Y �̆{
G��&>v#�V)RY!�,f��u�XGIZ�r+8P@��,T��ճ�
m�D~��y��#�z�6{�l��ԝ��5�ӷ�Xیi`���]�IPl�/�ϻ��� ;8mq�OÊ�\wW7)�u�@����ř�X!��C�CQ�
ZKև���
{���$�?t����a�9a����W�[<V'�@q%�y�1D�����a��}�޶��^��S9)��_�Ҟ"��L�1�� �C�쭃�[���aձs8�SC�+Z
�V�� �<�%,Q��(s��*"�/G�[,�ԜH�P�{�
�Lc��V��v�
/Sx����2���n��z0a��o�Oy<�gG&�!�����o8
`R9f��m��Pd����Ġ
�/
.�� � �^������j?����&�n�Y��&�v�K�OK����O�[̴����kۈ��`�rZ�Gw��R;
ݝ^��~��~����@�LAӿ����R�|��
��� ���x�)����dzO���o<�,�� �m��y�6�)$�6n���d��g�����6{J�񼲾��
����]�9
���R���Q�4��O�RaI�r�Ӥ�\,�lu\�5�)�T�1��d�/�H
+
���ݕ�K ��
+�/`���� K
���2yNw%4��U��^�Ӻ����핎�����a�=N����N"�����g�|\�7��n�?�P}�:u����7�
<�P�V֑�TJ�1�(�2z�JJ
ͻ�2�F��,��%����
J�Ქ�oZ���A�؄X=-ZG�^�d(�
I 6t���`+�Mp�������0����F��Ջ�zQ\���(&�l�[[=����y~��Ю��;�E�޹�3�:��}M"-Tk
���I���
�5X�Nw�@
��=z+�h���E�
p��3�5_'�����j?���U&4��(e@Ú�����p�U|WT�d���"�vLX���5�k58?ֻ��%]v��1��!7����D�f�ـ!7��]` j=ߊ�s7�un,1������70o�1u��K�)(ʒe#5n@�m@X��N�
��gΣWKw���n��鐣�U�/
;
�
���d��

� LJ��
��-��8q
����u
W�_(�1���Y�+a����Z&��y\��
M��i��\=Q�u<
�y���y�%��4�p�4��$:<���F�p�w�%��;}�Kb�T�����<�v��Y*!����_��
%̀�z�
�Jec�-u�q�3������n�� ���{�q\c۪hX�H�-/v����;��#Ŏ35 v
+���e6�Ћ
��F�ٖ=�ʭ�$��i=�rD���� j��
� 	���0�^P�B�%��Q��u^	����� ������u6����D��ʢ���rD�:����1LRr$I�,��g�$��D s�z�x�dzuQg2]
��B�t��&�RcF��_&�ue��.�� Z�Q���&������fGj\lk$o�h�d����C㱜�|f����G�^�����
q���K0F��0&;
+����W�^E8�diu�.~�a�;9��lw菳t�/А����|�ל(��,J���ٜЄ�Q���>-��|��b�G���d�ձk��ű��Qǹ�:���t`
�n�߼�ٟ����?N�c����ҧh�
��כR�vԝ��I��m\�����짋2,6Sa�r���cQ��./o�
�8} ��]5���B���,�Y��7Iqq���
��J�R�^	,�o�@ʴ���yy��au���RͰ����/o���
+endstream
+endobj
+4884 0 obj <<
+/Type /Page
+/Contents 4885 0 R
+/Resources 4883 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4879 0 R 4880 0 R 4881 0 R 4882 0 R ]
+>> endobj
+4879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 358.943 212.124 369.847]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+4880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 185.417 210.103 196.321]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+4881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 82.01 485.603 94.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4886 0 obj <<
+/D [4884 0 R /XYZ 89 770.89 null]
+>> endobj
+4887 0 obj <<
+/D [4884 0 R /XYZ 90 718.682 null]
+>> endobj
+4487 0 obj <<
+/D [4884 0 R /XYZ 90 684.012 null]
+>> endobj
+4888 0 obj <<
+/D [4884 0 R /XYZ 90 679.529 null]
+>> endobj
+4889 0 obj <<
+/D [4884 0 R /XYZ 90 596.843 null]
+>> endobj
+4890 0 obj <<
+/D [4884 0 R /XYZ 90 506.89 null]
+>> endobj
+4488 0 obj <<
+/D [4884 0 R /XYZ 90 416.11 null]
+>> endobj
+4891 0 obj <<
+/D [4884 0 R /XYZ 90 411.627 null]
+>> endobj
+4892 0 obj <<
+/D [4884 0 R /XYZ 90 333.1 null]
+>> endobj
+4893 0 obj <<
+/D [4884 0 R /XYZ 90 279.411 null]
+>> endobj
+4489 0 obj <<
+/D [4884 0 R /XYZ 90 244.741 null]
+>> endobj
+4894 0 obj <<
+/D [4884 0 R /XYZ 90 240.258 null]
+>> endobj
+4895 0 obj <<
+/D [4884 0 R /XYZ 90 159.574 null]
+>> endobj
+4896 0 obj <<
+/D [4884 0 R /XYZ 90 105.885 null]
+>> endobj
+4883 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4902 0 obj <<
+/Length 2061      
+/Filter /FlateDecode
+>>
+stream
+x��Ys�6���+��J3���t:�#�gڸ}I2ڢlNu�����w��Iɖ�4m�$���2��#
}?��bp�T�� #��.�����		M��C"�����#�)w��_�x���
���������pD
+)
]�/_�h��0bFG�ܠy�)��Y�b�� ��`D����f �׌DH�F1D�hL0��<��fq�X�Ξ¨�I����R��b�'[!����*Y��d4�T�]��!RgO��W
"A?�t#ގ(.�I1�[q��f���#��q6��<Q<\�no�I��)����������}3�H��F_�n�GF�]fٕ2Հ��t�'و��:�����n<p� ��
�fWTP���qq7��H)�A�^��n�h��X4��ŀWX�ј
9�Z.�y�(FieS��J$�޻��X]�7h��U"Tkd�����C�AX�i
+��*����1�
QN#uD�@���nM���jYLBy��Tc�+�Y���=����o�u1�S�J�1i%Ť.���rw��5G�>Z�i/&
r �R[+�I�4���~m��ؘb�&P�Ơ����U����}I}�����߮ǒC
+B�*Ȯ�뎢܈=�L�_L$!�d����"�}�>ɶH�\K��i+^	ɒhڒRT
�>�0�b"P��w�����÷�,����S���<Y���
B1G�����P9�Le��]a��~
`�(�-��ɖ#*���DL��S�$�h2Q#.�b
geQ���5d�8]\-�8O/g	��-+���e
+ٍG�iy�̽�%
�.�{ ��	��`
+a�g+��{�AR��}���Mc�42v?n#�=8l�Z�݁/� F���V�1}
|Ő��eE���ė�M��[��8*ĴC��ҟ��>����Nĕ�P|�?*��
CA�߭��l����_��w
��t�.�Kݪ��n$�	��
+��L�
�
+�
��@�CA�Yp["�AAA#
CZZ�����g�#
+:<�[�)"��v�̽(�a?�J�(HN��d
+�}�8݌�\.g
�@am�� }��2�
�O�@� ��
+��V��^
`ڊ�i���V]�	*��k��ʕ��-
+�֜
 � s�aC�9�e}_���^���
{�w�h��~�.f�"y���5GB)���M��pS৽(��]��.;I�@���
oN��=��BZ�]���4��0��"I�H��V|������/�*)��|? �c)d�]�ک
bg�m��
Vْ%�&[JS����]�N:f[DRL�5w��]�1�
e��Y���{�3��^ՠV~
�
J'�速ɨCK�1� 
+����V��e���Y����Vo
+Y��~�Lˣd�~&F�񁟞�����w��
���
�
�A��-�z8�����w���$�NGj�d��*�8yW at w�%Z�1|T��누D��‚�
���\ ɉ���1���̧ٚ%L"��uf!�lş�A��r������J��G��:���"2h�?�L`T
x�����c �j(�\���V �e� �Y�`��V
+�H��<��iy�̽ FC�0��c��_SX�tz��t�H�Cܙ�1MWM �EXY
6k{Pz�	%C���b���޴���hF�]]P	�(�L����p�/?�_vR�{�e_�×
�E���ƥ�6F��2X~�~�t�̓$��d�do���Yd�@����ŕ��ݿ�"�@2V�_ߥ�M�h�J\+����t�;ܹ�X���y��r�Q;�^C�)Z�?)��׿���I�^�v����p�>�ߎ�xc�;�<a�)�Hȭ�2
aI�>��F�1|M�=�c(�hg�׾�ҵg�#];�>�W���	�+��d��Su���,E�����R�,D9j���y0�u_��ݗ�3即gs}�a��1�7� ��|ۑ/0��sm7�
�2�?����v��GB
˒�s��ij��2�[{�彮�a��"?
�H��$z�U�����kK��hڧ7y�:?;��\���5�@�K(�������2+��/�z��s��W���#��?�fa�
+endstream
+endobj
+4901 0 obj <<
+/Type /Page
+/Contents 4902 0 R
+/Resources 4900 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4830 0 R
+/Annots [ 4897 0 R 4899 0 R ]
+>> endobj
+4897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 215.877 293.971 226.781]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+4899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4903 0 obj <<
+/D [4901 0 R /XYZ 89 770.89 null]
+>> endobj
+4490 0 obj <<
+/D [4901 0 R /XYZ 90 721.073 null]
+>> endobj
+4904 0 obj <<
+/D [4901 0 R /XYZ 90 721.073 null]
+>> endobj
+4905 0 obj <<
+/D [4901 0 R /XYZ 90 655.872 null]
+>> endobj
+4491 0 obj <<
+/D [4901 0 R /XYZ 90 621.202 null]
+>> endobj
+4906 0 obj <<
+/D [4901 0 R /XYZ 90 616.718 null]
+>> endobj
+4907 0 obj <<
+/D [4901 0 R /XYZ 90 543.856 null]
+>> endobj
+4492 0 obj <<
+/D [4901 0 R /XYZ 90 509.186 null]
+>> endobj
+4908 0 obj <<
+/D [4901 0 R /XYZ 90 504.702 null]
+>> endobj
+4909 0 obj <<
+/D [4901 0 R /XYZ 90 421.887 null]
+>> endobj
+4493 0 obj <<
+/D [4901 0 R /XYZ 90 387.217 null]
+>> endobj
+4910 0 obj <<
+/D [4901 0 R /XYZ 90 382.734 null]
+>> endobj
+4911 0 obj <<
+/D [4901 0 R /XYZ 90 309.871 null]
+>> endobj
+4494 0 obj <<
+/D [4901 0 R /XYZ 90 275.201 null]
+>> endobj
+4912 0 obj <<
+/D [4901 0 R /XYZ 90 270.717 null]
+>> endobj
+4913 0 obj <<
+/D [4901 0 R /XYZ 90 185.899 null]
+>> endobj
+4495 0 obj <<
+/D [4901 0 R /XYZ 90 81.969 null]
+>> endobj
+4914 0 obj <<
+/D [4901 0 R /XYZ 90 77.486 null]
+>> endobj
+4900 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4920 0 obj <<
+/Length 2841      
+/Filter /FlateDecode
+>>
+stream
+x��[Y��~�_��D��`p���vv]�7U��/k�G�F�H���_�@R�.�*��.El4�{0�b�0�����?������K�&I��n91x��AB��b�vJ0ҳk�1���<M�M�����i���JE��Uv_$ŧ�ۯ�_﾿yIHK"��q�	���

+�Ц�ww?G�P肛>��L��u��ͮ��ӻ���t�N�Է��.�bF�4�Ρ���D+�����oW��	��H��|s��W<Y@��`Ef��봙p�ພ�������
2B��`j�uC�W&.k5�@)$��X1����M���c�M6v�\��TؙɎM�֦���~F�4�1��i#�\�0��TCs
�O�D4�V`���d�
�t�>_.1\�5c�
��"�M���+�%C��`��M2SӇ�5 �/�/X�y��=����6B����N�,�_7�Q���FT����E�I<�S̲a��~�oweDʐ��:�ʶiR�{�����.˷ٚ"JWo�!�+�N���S+�GW��f��S���,ݖ�א)�
`F����!Sv�ʉ"�*�E������d
Q�T�΅�sʑ42
�H����p�,�=�6�dۤ�
����ꯑ�Ws
���|[
�D�)��~�����$h�[
]�戺y)۽�	c��#����[_�
���1�2����Ҳ��L��`љ�4}�U��}�BZ�}���֮u�P-���^M�:e�匊i�_\
l��4�b�5_F���-��z?mpzs�*ŖO�yi7���$�����߼��<M0> L��1��;��yg��P
���Ch֞�r5�4�=��̾�.|�����F F<�ֻDt,�ƒ�v��DZɞ
Ց�@�f۠`��P��)�)}!��	9�U��p '
륍_�tJ�^�1���h�u�
i���G�V��y%"b�Db!̠S��
?�X�]��s�
�H�"���E$��
���/�B=�VU��D�bw��~Xe�U�T���m�m��
+��E�ş��,`�
�܏)�G����%:�	�gd$�� �"����r�U
��.T&��2
�O��p����qu؎������I
V�K���Z5��rq��IH�cg�Ad]�OY�>
�ڊ��-�f�����0ɺz�%&�\H
����U=���O��[�O��Ƣ�(Оm�~�ia�
�gK����m�|"F��~�q���8�
��3g��;�J�`��e��L �bl6�&
���+Ѿ֒��	G!V2�t�
��BrRd
+�
+�w���6��8 ?Yg�w�W���� �)(a6�<m�
��;Q[J��a��=e�<�VEn7�p�C���eP�=�6
�+�辯
� ���0��:1ے��46���,��L� �OךL$�
�TZ��ӆ����"(X�z�2*��Cd�y�yLʬ	Hk'
5�b����"F�Sm
��r�I��%����mN���FR�1�e�H:I]�������(�:�!^"� ��5��_S��sR�t����o��$1D|[z�}��FB,z�!��
E|
���8R^�ZB0�������[^l"#k
���2���$Y8r�s��; �Ps2�Ι<�s�{w�˹s���p�/�V��m���D� ;�G��D6����K?��ׄ4'��:�/HŹ_��
��KX	y�k��$-DN�v�ܳ(
lD/�7Y�Li
�
��UlX`�ܰ���
�Ov�Dd[�]�G���R���j�
l7�΁�>�@��)�3�Z��?��%�����}�-7��L
G���$�f\��c�j���^�F��h��E�ۣ��g܋+�
�<s�K�
�S��@<9A�'}�!���HB�"-��
�p�c�M�6
����#t��A
8ᴨ����)2�О49�v�; <y�3ˣ�G�9�
��z�\%ՓE�1�<�T�|
+�G
�>�ġ��ۑ}O�z�*���� �<mp������:�m�T?v���P���X�17��Oc��U>ztj�1��5�
_�w
RQNF$�Z/ ��'5�:�7�<kb�3��`�mb�!��{j 
�
+� �&?&����o��e4�h����
��E|v`n	����؟*��@����G���94��	 "
�A�'�0Rڌa
��h�����9@"�x�7:_�� �2H���vK���M�i���sy�ʪ'���,�yY�B  �m���J��u�/�u�R��Ǚ��4�w�}�o��Ь �ՙ�E��������K,ῴH
�P@ԡ@���r0��`�=g
��
A�
��p�
���*։��Ej0�p�� �����T������A�+V��t���t*��t��ST=d��8BՐ/C��Vc)G#T�dj��
��PՂ8Q��&^�0��X��Đ*�{5���Ĕ1����؊�L�TM<��u5q0��w5q�Qf���X )G�&��bb�Z������zbCݢ��y]NL�^��v919������&&�r^WM�
<VM��ǖ
��r���Ga�'2"�1�D��[�J5*M���N"�/�#Jz|Fz�yFV>�GV�?�~��H<,�T�-��x��YQL��
wr=�ı�W��V�?�~ Xf����ct�
Rĸ�l�jbb�7.Ϫ&�P�8�����T�o�~�K����sV���!Eٱb]�A
lQ�/-S�H ���շ��vi�Ǚ���P�}��Ԯr�?헞 ����&��k��&���\4�W��%��'*��|����zإ�4�7ϳ��<L;]����E5�lk��9�չa�
L '��%�����A������
�/V
7�m���9x�Z�3�'
+endstream
+endobj
+4919 0 obj <<
+/Type /Page
+/Contents 4920 0 R
+/Resources 4918 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4898 0 R 4915 0 R 4916 0 R 4917 0 R ]
+>> endobj
+4898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 661.939 238.02 672.843]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+4915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.953 449.748 250.388 460.652]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+4916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 196.421 246.767 207.325]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+4917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4921 0 obj <<
+/D [4919 0 R /XYZ 89 770.89 null]
+>> endobj
+4922 0 obj <<
+/D [4919 0 R /XYZ 90 634.093 null]
+>> endobj
+4923 0 obj <<
+/D [4919 0 R /XYZ 90 555.697 null]
+>> endobj
+4496 0 obj <<
+/D [4919 0 R /XYZ 90 509.072 null]
+>> endobj
+4924 0 obj <<
+/D [4919 0 R /XYZ 90 504.589 null]
+>> endobj
+4925 0 obj <<
+/D [4919 0 R /XYZ 90 421.903 null]
+>> endobj
+4926 0 obj <<
+/D [4919 0 R /XYZ 90 343.905 null]
+>> endobj
+4497 0 obj <<
+/D [4919 0 R /XYZ 364.289 267.7 null]
+>> endobj
+4927 0 obj <<
+/D [4919 0 R /XYZ 90 261.06 null]
+>> endobj
+4928 0 obj <<
+/D [4919 0 R /XYZ 90 168.576 null]
+>> endobj
+4918 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4936 0 obj <<
+/Length 2457      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�SKΘ��_��L���$n��j^܌!
+S�T at J����- ��\O��
< �Ź���O��$��7g_]���͈���N.oG#
Q����Sz���w�Ж0��U����p����w����˳_�^ф��\O���L�1
�P"�M>�����׻���?�heKs%\�[�,�̕��Jeb� ��`��O���2���A"7T
^���T��N�� �MZb?�LL�K��D����	ı5�
W�.�֒X>g�p9�(��%$LM<�qB�8�gaj���E>J:xL���UZ
�L
��lfk�lp*1�"��p���~
+!	�f���
AN
��n^��!W����HI7�o�oX\����Dp[��q6�O�Y��alG�a����
�Ut�k5�|T>ɇlЧKSB����>��)���A�l
�pٞTG�f��S*�<#�6c���b��"
��s a��;*͈kA��Ɉ1�T�|v=�ާ���
>����ﯽ�6�
�ת
�^�)	i�	�7�/�M.�����Zp�,F��2F�<�Ad�JQ��'$����K��EM�'��]
�t|꤫�%XsD��QJ�lz�.�pķ�C�j��1��7��f���>��S`C0>���
��ڔ�?�H��fI<�
��jv�2��
X� ZLӫ�C$�=�f�"�z�(�������
sP��NK���{5��"��
+U���s�����pd�,+P~-�Ǜ�s���h��
�
#g]��M,0� t,
+�4�d�vn�&�,�T���ZA3�Hޥ-��4
��~#�8��h�\
��:���S����0�Ѯ��Gd;M��Qde�̰�ή�=M?����Dp����n�4}�3�(��5V\�[���N���.p��,-�^�
+��E�b7uX�����>s-���
�x��`t'	YX5K��yV"�:�ے.8
���ߞt
��𢨨�ԲH����	]W��0���^HSƾ���n�ͬ�f��@���k\0�b���V�0e���	��|��u.
+9H�J�������&ҙ�@����
+��c��<�0j�W�&3_��
,�=%
�W�
P�����M�r�AYP��0�n{[
+ʼn�&�����6h-��}v�lB��YL��bR��oΒ���:�#��_�7����k%8$��Y��)Īf�^�q����(qp/kQ�&�hV������t�E�Xk��*d-���1��Ru{��ғ�#*�B�z�NT�_k�5֒�%J�C� �����HQ��*��ͫ����>�b��Z�V�d+ z�����⦙����Q�#k��%
���S<��D�NB!�1��ׇn�������G$����|[�I��M�2Cma�=�
�93P�W
������9���@�i�{���b{�� �Ao����촶�i��'��E��
+�k�e
ڻ������m�n>��>��U�V�����n����n�k-�?�٣�\�\ߎ����D_l�}�Sq�'X��W
�
��iy�Ԥ�� <͜~�͹ܕ9��&n�Z�d�E>,�%�x����IUP��L��k���Ju���ӌ�Jۘ*��)�Ͳ>��HGE>�ݑ�6�S�

+۪�Pw���1��F󘨋-�D���hş~�:�m
"�(:��
`��ۇ����]ۜ ;��wt& ��
+x����w����h�1�
�0����%O��Uߕ{��
(���%�Q�D�v�ܛ����nٮ�wޙ��C`~tp�b�K�*fx���i����4)�����>=�
2���
��I��$�@�IaH��dZD7k2m���ȴ��/d��!��
��
2�蕲=uq�Zh\2�$�{�4����f_ȴ��&0
�F!Ӽ(e&�"h�ɴ�f�k|����4�
�
Χْ=>�PSZ>�P[e�|�n/�&���s��.�&<�ã�i^�����"������>m�
�§	B��Q�U�ж�4�4��I�����M�M[W���Ԫ(��.J��5��]u��RC��."��P+�ԤՇPjX��7
+T�ȩU��%L�J�����T�2H5n-�,�iJt��7��%ո���<R�D;zO
;v|����o�
+DR�T�.1���Ѹ�GR��(R�Ds�A�6�tR�x�O-D�T�.1�E1��qI5�*��ډ��C�m�E�
��v�@�P1I���)� #�jG�=�T;͜~ص���&Վ�vLB"�Q���%>�T+�l|R�Y���T�
2˵�4Ҟ�I��$�@��M2��H��n֤ښ�Ǒjm7_H�R�O�
�R��.H..�v�̾���C���o{Wէ���:v�@������}����zp��T$�C�J��F+�u
+��\\�?�g����v[�o߄�-���C�:���
���w&��cɊ(���	�
��L4�������JH��Q
t�dn�������E6�,������%�4��^��yQ9���pZ�(k$��X�/o�:
+endstream
+endobj
+4935 0 obj <<
+/Type /Page
+/Contents 4936 0 R
+/Resources 4934 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4930 0 R 4931 0 R 4933 0 R ]
+>> endobj
+4930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 587.544 431.977 600.462]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.307 327.134 434.874 340.052]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4937 0 obj <<
+/D [4935 0 R /XYZ 89 770.89 null]
+>> endobj
+4938 0 obj <<
+/D [4935 0 R /XYZ 90 718.682 null]
+>> endobj
+4498 0 obj <<
+/D [4935 0 R /XYZ 90 672.057 null]
+>> endobj
+4939 0 obj <<
+/D [4935 0 R /XYZ 90 667.574 null]
+>> endobj
+4940 0 obj <<
+/D [4935 0 R /XYZ 90 560.977 null]
+>> endobj
+4941 0 obj <<
+/D [4935 0 R /XYZ 90 458.272 null]
+>> endobj
+4499 0 obj <<
+/D [4935 0 R /XYZ 90 411.647 null]
+>> endobj
+4942 0 obj <<
+/D [4935 0 R /XYZ 90 407.164 null]
+>> endobj
+4943 0 obj <<
+/D [4935 0 R /XYZ 90 300.567 null]
+>> endobj
+4944 0 obj <<
+/D [4935 0 R /XYZ 90 197.862 null]
+>> endobj
+4500 0 obj <<
+/D [4935 0 R /XYZ 90 81.969 null]
+>> endobj
+4945 0 obj <<
+/D [4935 0 R /XYZ 90 77.486 null]
+>> endobj
+4934 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4951 0 obj <<
+/Length 2879      
+/Filter /FlateDecode
+>>
+stream
+x��\[o��~���SK�x��t��b�)�&�d�lѶP]���K}��}(R�%&E� ��љ3g�s�8
+%\E��.�������WFD�8�ut}9���k��%v4f���͈�x�.&7oF�ƫ���d�Nn^�n�I����էѯ�?]�b�!�i
q�e��	&�$�����
R8��j̟{�W��~>Y�Gc�h|=r<NO��&ɟ�M�t�l�,���1ec��z����
14b�516�[\���FS<�	V�F�A�Hr��<zw�
�93/d��e�`i�u����ěR�]C4�-+�
1�����,'
�N0�cSe�-��zJ�#>���W�i��
�Z�O�p��K�:��17�8ɣ1
�~���*�\]=��
I:�����Ow�
'ND�9"��
X`�u0v���"��L+՜��B)_&�s�P5�̜3‹ET3����s�K������҉�n�\o:�
 r�����2��7/?=徵^�V��[A�c�~Wn�i�y9b��~э9j*��M�7�������j�%�(R
M�����E�zc!`
)B��KB�{�	�E�
0�,�}\w9�A�����2Ԕ����Ō&ai�9a�<��_����J���*�������YS�BEa�
�U;�y��
+p�M��$��{(nW�
�+h����l�O�&��nSY �>&�-������"z���C'#�oL�G\Ņ��sD�6�6w�2b�m �@|�8��đ�8�(U��iW,G�d�Ȉi_�c�Y¾��V`-����]����Iڕ��/�����!%�D#P�5+�t��T���Z����#]��������$0�1���C��պV��GaoGfQ
+k�>|�2�!5NR�ۍ/,X�%����X�i����]�h�n�*go9��I��/+�0��F
���Y�F
+B�y�
+�D�&�
����o,�9
��G�(d
o�q]�v��o��ɲ��z6->m���S1�D�#��1�i��XL��C��jH<
-1Ór�H���╵
�""��b$L\E�C�:S�nX5չ�
���*�n��S�p`\b�P����"̈́�-�
r�A���G'J=j��

ψ>�(@������C��� u���Լ�;Yt
TFJ���.��t�<y=��H�J��@�O�����0��2s/C֞��+k���k�̞�\�hy
!i���U��Tx1hLQ^�7ӫ��r$i���f�����"Yn��S���AW�� @��T�Q6�[j�� �r���1]y?�X$�YW;%9
+{6L?%i5�,�3�Շ��
���	��v^Ĝ���(�9"��;MPk�$�ٲ1��K%�PWcP�V��������y�KB$�nX7?G�A�R:��UM�R�o���k)������Ң
)�ì� 3��e03*�q)TI\���`��SX�:��v\�CĥE�2�#.e��c.ݭ���̥i3���0��0���Ĕ9�2�R�n�RK"��
+�%4��K(�1��{�K
�K<h5�usI���X�R�g.y�\�#�Ksq���%Bq9N��W���CfVb�v����Kuq��H��o)=u%�����55��ܰ�%�dR�H��L5:���_��<}-�{�E��"����%�h��l��D'��uiy�6��
+�9��<Y��}���dC"eh�9R
*74�CR�—M(��CY��G7H�z|U�����o?Djk����GY
+aы��9K\Ÿ����2s7C�Ϝ��l�<���m����8�!WZr�����Y+��Y~�����wIf�svX7?G�AΒ[M
oq��g��8K}4gy��.��<���#��ZC��S�Rߋ2e񱇧��t�����t��p�I�eNR��/b*g����.O�����Mx*�5`��0�4�}L��t�%�'���5,{hAU���r
;u���$�}�e��g
��;d��@X�F�
�3�$�!��ڢm���@PCek��YF��S(���ߖ��f�5���*�|�nVV&��n���i��
+�C�
�ݤ��f}uU�Vkz@9����k��i
�O�{xu�f?#�rO�.Vy�4Y���d�R`�-��ԅ/��I"��
+�|�Z&
��V�آA�ӒXo�L����o>P����V��vG���p�f�Ԙ����$�m߹a�b ��(ݢߡ@M����7�^�
�ԗ�n5���аi��>�:�iu)��4ӻ
����vS,��9BQ}�;�
��̀8�����GK��)Cj�V��U�]�� �s(��B���e�Kfx���9��m� ʢ�"��o#�w6H�Q�
U��\�X�)r�Fc45�	�m�>Xb���:D
t��s6��Ĉ��g�Ë3�I����A��5̗��V�7��Tz@�fh�!�
�D���P�8��>������!��L=:y�@�����C^Y�fO�OS4b�˱��.X�ȣ(���z�
+��%��R� ��-���S��!ʗY�7�o9ʨuc��Ӎ��>Ɩ�E�u�D}bj�sNI�y��gˇ_z���~����j��׃K�a'U�#�a`Y�L"˖�����;O�n�5�9vۧ�/	������n�_
.1�
�G4���sd#vq�c���y
'�k���;K�n�5��gs�n�X��Y�g��e����)Z'�?<�߾��'�4��G�����Vg�4�&�r����Iqf�q$�ˌ�eϹxtԞ���7�ra�-����
����M��.����p�����
1\
���H�@�?K���5ڹ�͛���?�I���Rq������R��<$�t]��g��5��wI��J�+*��v�u�*LI��j?n6OW���ۇu�|  �._�X��Yx�qݗ�x�J�͖x��*HR6[t(�	�KK���a�(3Y�������Ń�"��
+�w�? "(
+endstream
+endobj
+4950 0 obj <<
+/Type /Page
+/Contents 4951 0 R
+/Resources 4949 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4932 0 R 4946 0 R 4947 0 R 4948 0 R ]
+>> endobj
+4932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 661.939 429.297 674.418]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 449.748 440.282 462.228]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+4947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 224.324 422.924 239.039]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+4948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4952 0 obj <<
+/D [4950 0 R /XYZ 89 770.89 null]
+>> endobj
+4953 0 obj <<
+/D [4950 0 R /XYZ 90 634.093 null]
+>> endobj
+4954 0 obj <<
+/D [4950 0 R /XYZ 90 555.697 null]
+>> endobj
+4501 0 obj <<
+/D [4950 0 R /XYZ 90 521.027 null]
+>> endobj
+4955 0 obj <<
+/D [4950 0 R /XYZ 90 516.544 null]
+>> endobj
+4956 0 obj <<
+/D [4950 0 R /XYZ 90 421.903 null]
+>> endobj
+4957 0 obj <<
+/D [4950 0 R /XYZ 90 343.506 null]
+>> endobj
+4502 0 obj <<
+/D [4950 0 R /XYZ 90 308.836 null]
+>> endobj
+4958 0 obj <<
+/D [4950 0 R /XYZ 90 304.353 null]
+>> endobj
+4959 0 obj <<
+/D [4950 0 R /XYZ 90 194.714 null]
+>> endobj
+4949 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F8 794 0 R /F13 834 0 R /F93 763 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4969 0 obj <<
+/Length 3294      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�~���S+�DX�A�mf�t�I�&۬�<�m�6[�R$����x�J����!O�I��\>�
�٥��
}q���՛�1�I��
�<�b:22&J����1S�䧛�FBG���r�?������ܼ����\�|��XI@��W?�DG3<�jD�����h1�\�s>z��+Z��|��W�Qq�-�QL(�#���*�y��}�*�e�q
��ۢ��n��<�Dqs�{��h_�ُMƈG:�D����#.H�v�2|�]��g
��9��C�%�u:z�)M�c�P*����4�bv}��I���<��&�0���"͋�Z}��T��bH1!
��w�B��9u����y�^N��'S��8{���p���$':j��,͗�,O��\���&i�6۔d��b|3c���F`\�x~w���
+m"%���Ut�nV� In�j(n�)2Iѡ�J6�|V��KT���T�d!qԬ)��M`ש������XU6I�)6Wt<� �
��4�URdw���#>�zdB�N�#���D�HHյ��ˢ����Ur��N��C at 3�Q`E��~D7%��5��S"��8�^h)r�V/�y8�X��i,�*
R;O��R:.��j�i�o�:?5�h�@��
+��!F6
��U�'
@C0>���� IeH�
+>
P��)��t��x�U�
�,&Z7�z7a��z�ܾ�p q���������:Y�\_��%�J�>(�c�9a���D�0����*��=��w�m>Kg�� iasq
'nP�o)�m�p����!����9��#5���
|#��W�4[$���4[7b�s�K
4N��I�a�,������1
�ȱ��h:�$d՘�6~�#�*
pI�l<��Y�&�۷6\0�q�o�vO���w!V#�kcھ��ζ����H/�o�t����ѣ
D�qW��>�&a�В�x���:�m at K\��ˑ�Di�k�rG���45Ap72|�Lݱ���|��V8��Lf�mb�����k�N�bs}�ig����p��#ػ���~�>�P��4��N䙱
%��
����rH������e��	�೻�u�[�
hd����U�nn� 1�g�0���3���\�F�bȀp ��C$@
+�L�(-7-}��+'a@�1j��ԱМ�Y�T�`���(Y(��6��J����
+��}q5��-��[�<ز�
+L��:EfR���Q�H�� �ւHRb���Ru
��]��r�V�w��D�f�`�)�p��Z��L���L"韡�n
�(r&\E� B\���)TmE.˅���(��0������*>���*2h`WG�����ݵ+�T�
�
�*ιQ]��c��D��!f�
+��.���
+5%���SJYT�Ng�
�K���1���dۚ:oE����5)�%���6x�e�:�&
���eh��H!�Yu
�֪h�
\��X!G!��{uo����xx!ڏ1@
7>7OU�l}^�պ'��
�ج����,��;NOj'��#1b
�@�~ [M�!�54�[��5�a��3
!�U� #��S�꨽�1�]�Oc]~���E��s-wK�cj^����{����puV\�����lY�A�Ԉ!a74�v�֥�@�S8����jo0_���	î��ɰۮVrg���4Gn�^	��):�Ih�Ư��
 �"YQ5 �‰�1�]�Np]vJ�E�z���b�W���ة4���R�K�������R�K:��+||⽏�M��r5uMG��6^'�
+��"�'UUe��QUۋ���
�mu.���r
�6B/v-E�.�
��	���*�*>x��޳Q�>C�>��C08G�l�v(^�n�B"������Y�[w=�����[��W�pU�5\/k��}��� (��u���<�pQy��5\�Gl�r
�5\|�:�q�ܜ�q�P�A:��Hǵ�PX,����rB����	��*�qXs�X_���`}�[>�'�Mh���a�}�~��6q
	�vN�����t�'S�toGO0"x�
z,	�itԐ��غ�O��i2ݘ�%@y_�Oo� �q��wM
���l�Ƀ_
�taJ��&����4U@]Jۀ�-���p��.�)�vPY��z}��4��X�X�>�k"�95���1�G�l5��_���~lj[�J
^�c�P�h�@P�^A�[tHv�����U��=,1��吒�e���up@�P
�I�����w3���jN"*�6�=�4��@�o��#�W旐<�?r��$b~�(��X{��<��:Y��4J�Lqb��h\O���YR�+/�׬Jޔ�ɛf$84��}���ދ
X�
�cj���gL������2/��t}{31r
���`�<�Y�ڍ���v�������J�t���
IC�h�J�67�5���~�����X
���g��tm
��~��Sj�h�epb�#��c�S!)*�ݑ),^'Y^ܾ���
+J��~\�5�q6�7��<k:�O.P,2y�H��;S��Ҭ�e�S x3/��ZB��;��&�
�BZF�i��mn�]:�6՜��O.� Y������փ�E �h�|�O����Y�z,
��� KԜ����r
$�ȧ0�}���qt�Ј+�y�k$�g�s6�&��K�b�F��iѬ�ih�����~�[^�F�����M�"k�?;\�َS=ҤX���곕:�oگ��5�%1J��
�c��yZ��("l.
N��P���a����g���n.�36�tY/b%�d�Xi������=�_6|�����.��w�>7�U�����1 7E���{���zo}�*���=Ws�X�C�E�V�V ]�� ��	��ܚu�v
+^/b"
�.�R��vi&�j�$�~��۷ȏ\�]�
\�m�v�E�}e�O����ʻ��mt<���\�^A�!�:4��v�(��@V�$<-B9�N�O��EL�!�e���ν�Q��Jq�\��g�
Mԙ��S�n�î���YM5��O�]K��w��j�20�r��=Wy�Hc��1���
v����c��CW��Ũ@�\cy
+t/�!��.%r�3 a�zV5���,�ݥO��<x�\N*T�iQ�b�%
��i���4��b�
���t�hӡQ�
2�s��
@�F�?���b{%N��+��q;��&'������w���M��͗
1���ZrSЛ�k<�-ˮ2s���?�|�����?7�����U���$��t�F��\;�l����
+d���:-��O��߮\5���S�>���͛��#��#A���<l
ǰ_s;�P�^�e}3��x�pnݯŀ������
+endstream
+endobj
+4968 0 obj <<
+/Type /Page
+/Contents 4969 0 R
+/Resources 4967 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4960 0 R 4961 0 R 4962 0 R 4963 0 R 4966 0 R ]
+>> endobj
+4960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 587.544 425.662 602.26]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+4961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 349.281 322.446 360.185]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+4962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 201.399 116.998 212.303]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+4963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 160.203 243.45 174.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4970 0 obj <<
+/D [4968 0 R /XYZ 89 770.89 null]
+>> endobj
+4971 0 obj <<
+/D [4968 0 R /XYZ 90 718.682 null]
+>> endobj
+4503 0 obj <<
+/D [4968 0 R /XYZ 90 672.057 null]
+>> endobj
+4972 0 obj <<
+/D [4968 0 R /XYZ 90 667.574 null]
+>> endobj
+4973 0 obj <<
+/D [4968 0 R /XYZ 90 557.934 null]
+>> endobj
+4974 0 obj <<
+/D [4968 0 R /XYZ 90 455.229 null]
+>> endobj
+4555 0 obj <<
+/D [4968 0 R /XYZ 90 408.604 null]
+>> endobj
+4975 0 obj <<
+/D [4968 0 R /XYZ 90 404.121 null]
+>> endobj
+4976 0 obj <<
+/D [4968 0 R /XYZ 90 331.258 null]
+>> endobj
+4556 0 obj <<
+/D [4968 0 R /XYZ 90 296.588 null]
+>> endobj
+4977 0 obj <<
+/D [4968 0 R /XYZ 90 292.105 null]
+>> endobj
+4978 0 obj <<
+/D [4968 0 R /XYZ 90 185.508 null]
+>> endobj
+4967 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F7 795 0 R /F8 794 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4984 0 obj <<
+/Length 3079      
+/Filter /FlateDecode
+>>
+stream
+x��[ms���_�O)5��J�$3�咹4/nν6s�xh���J�BJ����@R$E��b��L��$
.�g�.!:����ۋ��/^}��&�����~��(��(O���Q�'�R�]���|�\�9����<������m
�O��_eǿ^�����C��xV�g�KkP
��o���H��B�>_�"t���"*��+�]�5���j�c��s|�czqz�&�T�1��Ћ7��]0��#次H��~��)��Q"t8z���#���ѻ��]�Ұ�(s���v�1FՇ���t��i=�&"8(�
M�:b-tˎ�2>
+('��Μw��ʚ��F�T��h<S�v��y�V�*+��v�
��n
w�ʒt�E���]#w���b�G����b
/�x"y��c
���,����QC�<n��N*�
q���`M�*
�	78�^R�+��Y�S�`��ǫ<.b����SV�4Y'Y-\C���"�VI:�{A��]��l���d=�F(V�][K�4J��������c
��|�������>ˡ<̥��{�X��}!��$�=�٘��l�ڬ#3�Vv���YAt�j��&�Z��^��I�t�g=�.�4�	�[�6�d̕�����
fӯ��x��Q��xW-٘I�a̔g����u�D D����>�ݪh�N���h�1��$u}�s��<ڸ�T����6v�e���_��]R���yձ�Q��*�d�Qlk�h�a_��&�]J
3L�\1�X�V��	�1��a���ptJ�*$CMQ�m��%�yէ�3�P�Ѭ�C"�|��D{C����"���V����ۙ��F@}l>Ԥ�g�F ^���>��n�;0�
�N���cxq1�ӓ��s��8Z��Ꜩ��*ʣe�6u-�+d�Rx��=�g�����Y9����}�
J.TkY6O�%��4��
���$	6 [...]
|>��&R–����
+v&�G���؍���!�n���	�=O�~�6u��C�
�lF�:,��}��Z2w�����\�Pc��#���Yo>��+��-
��3����C���\�
�
/�95W���3�+�J4�5$�v�"#;y<�?
'T@��
�t�����KP�ԇh�Lo"���6�-
D=�S�[�'f���D���������ł��<��yf��#�y�}{� Gaxy�����=�
񀩪��Ls���&�M�Q�T�p�.b���qr�ei�d	,��C:�3Ƽ(O"#�Č��#)*�|�r8	C��0�vU�nk�" �6�C�����l��kt0��s�~�1�L�
Y��p���C�#
��!�
��6
��ėz[�"�HU���Ui�@��a���
�@�
�O�8��d��=5/t���WK�QO՞�0��˒i_mL�UǗ�L����U�H%o�.��e�/��.�]^N-o�V�e:�+r>�!�G�?�
��5.v�	"�aV��K�Ud˸gTCq���j�L4h��f��&���� �rl�\w5���xz�8�
��dp)�]w�l+m62��}�� ��u\{m�Q����o	���"���~��H]�C}�3�b$�5�����?�p��������Zc��6n+��z:�y"�sP~
O��ni�p�d6_�iѳI05U�)��ߙ[�m9�4�� �}�md�z϶&��
|mM:�2��,˧I�HY�6�m�c{�&�}�D�2Z!�Չ��#Ĺ5�s�����%Z*-���w��
M����� 2�-����Qo���躪;.�������++Z�}�����l��,`�%x7�)g��ľ|^�!a�:B	�K|^+B [...]
��� ����PQF�כ<G>U�y���E�U��Y�zu�W��&���v7�-��~Y�R�VL�XU%��^P���9�������
����-�%0�m~��
+��`�I�IT������^�T
�H����QT��H��d��Q2��ikГ�����5x�y|�1҉�}��#� 5�A�ޜ;(
�ͻx�(�~�.���א(4
���A]�i�Ȍ9
�Î13N��>�Œ��Œ�V�gŒ�� �K��@,���m9r�%��b�h��֒%�u�%����]W�7�rg wݕ��YQ~�0dY����櫿9BP�u�3o+��V�z�����$���h<� �dX�K�4
��5�K-�04�*H�����)�<]z�{K���)���S��
�R����Nan�E�n
߫B�+�$��8AQ�:ߖ/M���wQ>=1!x���c
2�
\�C+UDr�S����I�������t�|^�!�
�@��X��N��j�g���O:M�s�c���/���<�t��W���aKRZ
�N�kw�#P�M��u{�F���[��n�L�
e?Ԟ���-jQ������O��
ﳣ�-z�I�`�5
���z���}K��BxT���_�}���L@�6��w [...]
+�.��P��׫�W�n7�"Ngp�vc
H�^VO.�bݙ�ߢ�*j��2�������Rʂ��
�{���Ų��ۥ}������;
.�
+endstream
+endobj
+4983 0 obj <<
+/Type /Page
+/Contents 4984 0 R
+/Resources 4982 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4964 0 R 4965 0 R 4979 0 R 4980 0 R 4981 0 R ]
+>> endobj
+4964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.622 626.029 373.222 639.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.622 601.72 373.222 615.668]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+4979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 537.506 485.603 550.024]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+4980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 74.333 340.17 85.237]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+4985 0 obj <<
+/D [4983 0 R /XYZ 89 770.89 null]
+>> endobj
+4986 0 obj <<
+/D [4983 0 R /XYZ 90 561.381 null]
+>> endobj
+4557 0 obj <<
+/D [4983 0 R /XYZ 90 514.756 null]
+>> endobj
+4987 0 obj <<
+/D [4983 0 R /XYZ 90 510.273 null]
+>> endobj
+4988 0 obj <<
+/D [4983 0 R /XYZ 90 439.542 null]
+>> endobj
+4558 0 obj <<
+/D [4983 0 R /XYZ 90 350.959 null]
+>> endobj
+4989 0 obj <<
+/D [4983 0 R /XYZ 90 346.476 null]
+>> endobj
+4990 0 obj <<
+/D [4983 0 R /XYZ 90 253.991 null]
+>> endobj
+4559 0 obj <<
+/D [4983 0 R /XYZ 90 155.41 null]
+>> endobj
+4991 0 obj <<
+/D [4983 0 R /XYZ 90 150.927 null]
+>> endobj
+4982 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5000 0 obj <<
+/Length 3143      
+/Filter /FlateDecode
+>>
+stream
+x��[Y��6~�_���Te�����Vَ7�$�x��}qR.�
gF]9
Ͽ�@R��:��!)=��h�}|�ă�
|�rr����

2����v`�@q�������!�x����#�-w��/?O^�<yg��x=��xA�/< ��@J������ #f���=4p��8�����xi��
+{j�@sá6c>P�!�=7oG��u6��|="dX8�v(GG����i�ۙ�Vf��$�̭E���4	,�Q��	2Bl�����"�����ɯn�:I��Lȶȉ��Pr�b4�����Iy�����	p��`�����` J#�3W�'x�\��t�����¿Hy�E���~�W��H�6
��zy?-b
�67Ϡ�
,�D���FK������WpE�1�;u����
�5�Z!�t%��A~Q�x� �Sb�\���"����r��V.�
��ҟf���bz��>�� �8ͮf��S���tq�/�����a~U]��{و��t�!P.<����
\.����q�p�Fz(�=�x�/�Y�Z͞<n��Ŷ˻����?�_
���7��y�qZ�W/n�i[�꭛|�=U�����LJ
�%��S�۽,�Q)����s��)d��b}��:w*��e�apt/�.�G�Iz���
�V�`o	
�6I�^���O8�`�+"�|p��v�0X
I�X�BEysy	�����fӛ�z����a�/��zO1G��3�����2��j�TC��
�V�=���zi��ceR���)8h��AK�q�P���������y�Pш;��D֕����p
+�Q���z9_e��m��b�v�^vo! ɰN�-ϡ��H����Be�F0�z4&[�?_Ͳ2�� ���RH�F �V�c�88d�<P>��� 6f�o&���m���
i�=�1���i�M��?l�
�Ca at dLMh��>5����H
g�n&ȹ��v��l��)l@��}Wœ����md��7q�}�����-��$\;�lB��Y1��
�2{q̄AJ�*ƪ���H
+���EA"��n���$E�-�ĺg�(�jE��D��h̘r
W
�!d�Z���FB��C�_�曘4�<B��W�5;G
RY��R�8�FU4Q�dTf,��udL��`�$�P��֘�����&�{��=�	�
Vܝ
���$Y?&A���\^fEn��M���(�gʬ�4Q�lH���r[6�L|}k�#;u���A����5�z�}xk����>�Yg~�^�����eǞ�Y��j�0��CunjL�s{�JɈ
0� �}`T��L é#Eh�"7i�����r�dd�<�D8rV�4��S�2�јKn!���7'��M����v�҂l�D�k�-(�Ԗ�n���
يr���rQ>�;:��o}�7���ZȭFm$L� ;܊�dž�
�\
nM�:��E�ޜ�G��h�� 0�:/
f�?w0��竇�p���q��[��U^>�y
M� ����z�;n� 
+�� &��0H��
�0J�
�L��Y�St��
)�R��o;Wr8N&Q3��ώӟ����$�)<5E��
+��0i
L��p�+�
{���aQ
������6?/j(�v��wg��8�ơ�7��z�(���{�0%;yf�*a�����I�fS�:9�P���E^h����y��u���1��\T:��j�j�l���c'ϰ[%�A:i��t��UD8D66J]�FsE�B�_���{�Ȕ��s*"
�=̒UDRδ��lM�ĊH0ӿ*"�"r������9q�my�ފS
i����F��8� ��))h��
!�@e� )�$�,���Ԃ���Ti�H0�P�l:~��Y�
.d�S��tfE@���FG�T�!���$&ŠWPF�m���\g�%h
����
��[_�������긩��]
� ��
+'{1V8Ӳb+�튀FGԈ0q�(6��kڔ#Lb��SkȪ��
+0���3x]��H	����t1��/���b�mA�`7 ��
+_�
�P`�h�:�c�6�
ā�l�J�+��D��In�t]��;�
+v�}8��p�����]m�Q�
+���W���1�K�/n��kr���E��u�	�5��"3��	݈:��A�盠��@�1�a|`G�H� �
����U�ѕ�f[�M��BBA�$
DN�F	X(�Q�9$�)ӭ�]bAdԔ�FmE��c��3��&�v`���VG
�Q�R�SS�
+.�
AӠV)Q��|^��yl�U��Ƥ6ͅ"�
+km��	���4�[������|�֝<�n
vLJ�KM�k
H'횧�8
������k\�����j������	@0�W'<��0K��a牤@����
Q�m�hm脇[��q0:L� ����	�Y��[����ư�`�6�E'6L�N

>��=�0Q��2})'ی�sJ�{
]��������C2r�G�Y��'���=��*�����
� �@�'��{ �}�v��{J�G�sh��ބ���� ,���P�
��E��Nz��I=_�>�L��I�K^�	���4px�}"��k���
�xr���Xc93`
�J·�HAL�}r��c�11{��W�����Ɂc	[A�Z����>e⪣�A����+
}�@�h1 ;��
0�V���|o�?'�t&�������
2ɐB!�L8dO�_g�`�6��P�sa
�2�K���tU9�-�i�7}m�J�>���6�6�l��%(���_+��qL��]�Z � ��L�"[�v����;��!�3$	
J#>6D]W�l����������x�b�҇�<��dݤՊ��C2��;�\���
DԮ��~к�e�-Rݫ�{-
��|o.�ڵ�f� >�������
�I��x�}��?�eQݻz��e���T��UBH
+�cX[�f�k�x�v���H����#�҄��m��6RW�'���ݟ�;Ս�o�l���mȍ��xC�NT�=K�}�@���	1�o�'�-���F�&��l���Y�=8�.|}n�=b5f`]��5N����a��
�	-~�-�4�p_����ϯ
�|q� U�ݘ��
lc���ۺCs��K�S[d�;������t�
+endstream
+endobj
+4999 0 obj <<
+/Type /Page
+/Contents 5000 0 R
+/Resources 4998 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4929 0 R
+/Annots [ 4992 0 R 4993 0 R 4994 0 R 4995 0 R 4996 0 R 4997 0 R ]
+>> endobj
+4992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 671.2 362.353 683.534]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+4993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 524.912 340.17 535.816]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 324.677 276.047 335.581]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 234.863 362.353 247.197]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+4996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.011 88.568 513.996 99.472]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+4997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5001 0 obj <<
+/D [4999 0 R /XYZ 89 770.89 null]
+>> endobj
+5002 0 obj <<
+/D [4999 0 R /XYZ 90 720.814 null]
+>> endobj
+5003 0 obj <<
+/D [4999 0 R /XYZ 90 642.816 null]
+>> endobj
+4560 0 obj <<
+/D [4999 0 R /XYZ 90 608.146 null]
+>> endobj
+5004 0 obj <<
+/D [4999 0 R /XYZ 90 603.663 null]
+>> endobj
+5005 0 obj <<
+/D [4999 0 R /XYZ 90 509.022 null]
+>> endobj
+5006 0 obj <<
+/D [4999 0 R /XYZ 90 430.625 null]
+>> endobj
+4561 0 obj <<
+/D [4999 0 R /XYZ 90 395.955 null]
+>> endobj
+5007 0 obj <<
+/D [4999 0 R /XYZ 90 391.472 null]
+>> endobj
+5008 0 obj <<
+/D [4999 0 R /XYZ 90 296.831 null]
+>> endobj
+5009 0 obj <<
+/D [4999 0 R /XYZ 90 206.479 null]
+>> endobj
+4562 0 obj <<
+/D [4999 0 R /XYZ 90 159.847 null]
+>> endobj
+5010 0 obj <<
+/D [4999 0 R /XYZ 90 155.363 null]
+>> endobj
+4998 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5015 0 obj <<
+/Length 2893      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~ׯ�SBV��91%�������&�x���.D@�Aв���� A�7���"0h�5=��
�4��h��ɫ����ibb
Gg������wY�n�(I�
F)���3:K�U��͜�Yu}w�gu���N���W՗���_~�X�#�c�����֓
�B�~8�����naZ����z=_pEggs�g���:mr?�6���9Kfy�Đa*���Y�'ߞ�|:a`C#潡�N�����e�1�D�$�uD�Hr����瓿�����pe/�Op7xn�N
�0K3A��ùnNWyc�d���k��ݧ��}�cM���e1�����2$̘(6�q5#F�[��A�(Ab=)��{w�y����9��DLG��p=��0�Vd}d���$z�6���kn��Ư���2&��v%�6�@4P�3"XK���&-JO���%�$�%{O�+O���t���b=%�:"r��ń=��{#Բ�1�t���1��Ļ��/���)����$+̞>��+�#\rt�>HN?!
~٘�}��ҍ3�"�Z&u
]
N'�*,��H*�ܬ���KI�����>��\���f����G�#	�
 [...]
���ҳ���s5�-}U-.&�Ċ�
#�X�
QZf|�6�%��	.	�.�<�:�Y��Yc=-�rY�nҦ8���KR��������1;�|�G�*���̟+4]SIj\�����"�7���`��t71�#���t
�.��?�-��,�K?\��u�T����7�1���~�9�"�N"
?
F1�b�j�������:U�����&�޴v �6M����ܚ	�т#��!'��
&��jc��dV4�X���]7��5[���U^��zbm2�]���ɺe�zy�qѷ���V�rD���u�	�	���{�h���Vh�֞ht[�e��%e��Fˮ=Hs�uЗo�l��X� ��R���=�-
6�n�^_O%)iۚ��_���:�X�u]�B���-�eiM��&��6�mWv[@���_�׉
�]�
���_��I���&�|��n�uu1-hx�'Ի)��dP+5�ҌU�B���
�b�ig���˸��g�Q�Z ��d���z�y� ��M

wa�����$h�eG����%�����*8*
�G�
&/P|�p�*�)Dl �:o<��̱���N�{�������x�y�a]�����\ϲ]hn��1�����H`�+j�e���B�I�Xߤ�|B�-q\
C�A�19ڵ!�]�\�0�#�
�N��nj$Q!�s~
�
+!��@d�:o��Mu�+I�.�;�|�k�
0ݣ�ѡng5����W���:L�H���(��2�0haF)Ǧ^$ik5am�&��S��
+�#-������65ll�isΙ�QB����s�kߠ��/�
���'�n�`�v�cح �_x�J"Q�X
���íR*��r��+dZ4cR&$1�C�m`=O�����g]@m���G�m�i�=h#����ip�鈱�T�����-	������X%:C�'灼��
B��UjK�g�ܣ�Aqy��?Z�Y>g
+}��
����ӂ��ba����*�T��"S^�<o���é�]ߡ�w�
?
:R7Il�U^��G�0��S<X�$�����h�⬺H��y�)>L,Ī���U{�ښ�����8��bSv���̾�n�[�����6��ž	���k����Z��y۔
���09T�W�'�-��{b���NXG�6Ԥ�X��7\�đ 1
��r$�
QW|��;�V���Fk��Ȱ>��k����?h&ѓ�����$��{��.�@F� �� hںO'Tp�]���7h�c
�����ij�r�=
+��(z�����~=OL(zc5{TS3i���ޙ�1��C�",�hW�&ۘE
��pxhpL(Z�'�~o�]o��c���o��
(�@1r��
X;. at r5�AL06�H��~�> Rrm���� 
�S��cʯ�)��0�@Xj��*-+���{P�1�X9� \y�-�
�>�,�!4@ˁЛ�U����0Œ����a�G"L;K�G�;x�Ò]�Ϫ<�UӃ�r6-�<<?��s�T�1�����(�Y�X��


�_	U�Qq(��)$}��@t��W�O�~�\K�B��=O�8�D9K�����h������r/��~�Y�A�
~[��ވ�1���:���o	�ϐNf�Ǹ�@�^�o?f�ã�Q5e���
�i�@�a~`�Z
+X�c�`�
+�Z�j��t�մ�c�!W�9SlK�E��؋\�f� ��CW
��=vU}�jz���`0[�j���ߙ���>��&��w��Z&9і	��ó��pv��M��N�i%����@��7 Y�@ ��c-��ʡfc�W����}0V����)���'�CPl���8(V����X&���!�F��~	�����>E&�n"��x��	V!��e�h8�N��'�w�D�[E
��^��bDl�ɾ3�������׳&��zl��j
+�%����
�d���qLJ@�Dž����<�C~U� �d8����O�
4��S�ڝ�q� ���&�U�or����pȰ4�
��
��b���v���P���;�쮖i�/�Yu޴��
�
d>���JFt<
+B�
x��
�Y�Y

.
w��u��u��mu�����"�w��Esu�"1���������;<t�80�.
��
ZĀ�c·+M�IFh�͛���_�y��R� �����U>��\�k�
+���p��
��Z	�{���W<q~٪”$Ju�z�47�/_�o.�yyI��jw��������ݘXU�Ѣ���
w"m��"Eߊ�3x���RK���Q�����0�򇕈~_��[p�/ub�
+endstream
+endobj
+5014 0 obj <<
+/Type /Page
+/Contents 5015 0 R
+/Resources 5013 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5011 0 R 5012 0 R ]
+>> endobj
+5011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.615 695.509 194.215 709.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+5012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5016 0 obj <<
+/D [5014 0 R /XYZ 89 770.89 null]
+>> endobj
+5017 0 obj <<
+/D [5014 0 R /XYZ 90 720.814 null]
+>> endobj
+5018 0 obj <<
+/D [5014 0 R /XYZ 90 667.125 null]
+>> endobj
+4563 0 obj <<
+/D [5014 0 R /XYZ 90 542.619 null]
+>> endobj
+5019 0 obj <<
+/D [5014 0 R /XYZ 90 538.136 null]
+>> endobj
+5020 0 obj <<
+/D [5014 0 R /XYZ 90 469.619 null]
+>> endobj
+4564 0 obj <<
+/D [5014 0 R /XYZ 90 349.579 null]
+>> endobj
+5021 0 obj <<
+/D [5014 0 R /XYZ 90 345.096 null]
+>> endobj
+5022 0 obj <<
+/D [5014 0 R /XYZ 90 274.365 null]
+>> endobj
+4565 0 obj <<
+/D [5014 0 R /XYZ 90 145.612 null]
+>> endobj
+5023 0 obj <<
+/D [5014 0 R /XYZ 90 141.129 null]
+>> endobj
+5013 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F118 4003 0 R /F8 794 0 R /F117 2446 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5034 0 obj <<
+/Length 3169      
+/Filter /FlateDecode
+>>
+stream
+x��[msܶ��_�O��4� H��L��i�4um%_�����$�w�BR���w A�ĝd�ܙ�t<c� p��ؗg�F7��9{yq��QJR�Utq
�4�qJ��_��݂)����H���T�W��������.�b���g��1��$�I�ޝ���Fh�.�D�I��
�E1��Fo��uFǼ(:�1˜������^���aSD����
���N�p��L9��b$�i?�M7�I�Hp��e$�b�jJ;�c9!J�h5���ך(��*̵���\�\3J�=����Jp�ho͋Z\U�L.�ƶ���Λ�������EUھ�l��RɅiW��
+ɧ4q<H�
��hTL҄�c�ۢ	p�AF%�AN�

Է�k "AcI?����m��r���5b��J�t�#Ho|c%J�����Hs�^�Ms}�]�������6o���"��T
���{H���
�Pl����䁥�?ͺ�
���>���TN
�_?
+��'%���٧�J�ƀ���� 1��r���L���s۫"
���t*�%&�rO�1{�&$X���6��
��y����hԟ�I}�g\�[S�x�H� #���x��TҀ
�$ڙ��9��M%��ZX�JL��ј/�+���9>�}���m�X%��Do�20�$�
�����D0��U������S�kk7_

�3�K��ە��p�
v1���	�l��H��D
����1�>����K�7��ɺ�4�I���a�ˀ��f������q|	y��s��$NF��a��CQ0I>��
�u�m}�o�i��*@)a��qh�dD�I=���^�S�X�/)+H�5@�D.>,]d{�����&��Z�m+�̺�u��V,>4�2���yݴ�g��a,��
Z,C�wٺ{���l
+����s� #2�@���a��N�l�0D2&Z:�ߓ��J1��*=�J(ӥ=d0�I&V��̍�Au4`�B�S�.��(�Q�b�	/;i�}7+(��M[gE�6�c�Z
�IN�Yr3;a���.�tJ�+ROi�]Vwh΢�ښ6� 
��$�F`����>�u?�����gP���(�RχX�<+�! 7��6�8� 2�D)�8��<�(:wZ��
�M��e��3�52����Ā�������v�/y�������,�uq���D�z�]�^rP�v�o����������� �fP>0uTDÐ�a�V\C�⚳�?P�[���:�Uh@��y9ϴ"Z�H�
l==V�s��ԕ����e�)��P����r* a�dRNf��C� O��ǫX*�$�UF���CZ�
V�Ȯ�ys��ߕ�U���w�ji/�1��L
-W�	�㐨��n�e������wE�-����
�4����e}��K������.���tk��V��
�^�7���@A�
 ���w#�'n!�2fU2Л>=��^ۉ}Ӎ*��
��w���U��~^� ;���O�=B�F����R/`A4��h)�4�V�=Z
��|HaL�7>�?�+ ��˅���
g�3�D}�q�曳���	L���YJ7���w���qՙt51m/B�\��^��C6��$S�=]o�m���|B�}2Š+Σ1n+Q( +����?���(���?Ÿ��f�Q���v�x�|�Ƨc�:Q�
�
���
�lJ?Q4�,&�ʎF�G����~»Hܴ���\� 1�m���@!���~��G��PO�8��
Kʧ�
+�T���6M	������-�>s�(Bp"�N��l�2��e��9]�YA�W��xf�>-nVr��ʮ� |xb�:

a���\x� ���C�n���w+}�/ʀ���S�����NlZB

+��P�z��
vl�H}�`�
��C'R�	I�<�WP���o���ꌝ���P$�;��-np7*PCIp���r����{�t�F�I���D�`�6�*	qX8�r]�m��1���� �2�U�I'�$2~�t��lM�����H:-�vBbN�F�.�����Δ���F�e�g �﷭C���$�������v2A(�0(��C�2�p9�
+�MY�S�O�o"��U�J~r@* �<>i��
4
 ��O(Pҁ��v4

H� �� ���R_�
�
4H=9=@�`+�[s�F�^��e
�N |S�Y�;=8w9��q�<:mo ��� ��S�d��>
$>yi;P��ň�!� D�L(�!���Q��l8�<�S6��9�
d2��O�.�wAr��6��%�i�~^ :$�o
^ݗ��9�/�\��+���� �Mn =
L��4ާ9
+��4G��8�N���k�5����P�g��`��bu�
+)�U�SL+��dZ^	ޟA��;��F6�\u�rc���N�f�d�	��z
��c
���L*��k�.t���~<����
�fw�����O
<�mUϲZ�^W�|/8;��G��"�����G�+���1���<�F��)�¹&�A�[�!
���>t�<F�g 
#�
$lf����~0\�
y�����<�o<:y��œ�=l
x��'O��u�)|�_;w�� ���;	�"u>j~�F��u�|�-���j�ږ��&���p/ȭ,о�6�CU�(��σ����&Mo0� �
��P�
-�
�U���+��{s	����u��vY1��1��3���r?	}������l�%?�M������d�v����:*17��E/�r��M}���]��s��=γ���Y8����2��ӈo����*���*
+��0�j{�
��	l��;bK����h� ���y_nr<P/�
���ke�o�/�{z؁=�H�+T��
�ּ��Q�m�᳾ol��� x������]��UݵwW���b��A۫�Fz��������|�n_c��ű
+J)�t-�؁�#�	^$�C�9�V;�K{V�#��5��r��ɶY�l5~ �0���W�(O}��N=�}�,�S����_��w=B���}>�fDݔ7́���?
L��
�h2����4>�Ѧ����
��\ ��w���5��v'��* 6�[��@��R4����&�
��I�L�������&���x����GV�������҅
��6�
�����߭�����W:w�mۻ�/��o �ސu��#���wD\%xݣ�,��wYp��
�p�
+endstream
+endobj
+5033 0 obj <<
+/Type /Page
+/Contents 5034 0 R
+/Resources 5032 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5025 0 R 5026 0 R 5027 0 R 5028 0 R 5031 0 R ]
+>> endobj
+5025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 525.934 243.45 539.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 473.674 485.603 486.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 267.63 385.519 278.534]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+5028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 102.137 174.682 109.663]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5035 0 obj <<
+/D [5033 0 R /XYZ 89 770.89 null]
+>> endobj
+4566 0 obj <<
+/D [5033 0 R /XYZ 237.535 626.453 null]
+>> endobj
+5036 0 obj <<
+/D [5033 0 R /XYZ 90 619.813 null]
+>> endobj
+5037 0 obj <<
+/D [5033 0 R /XYZ 90 551.239 null]
+>> endobj
+5038 0 obj <<
+/D [5033 0 R /XYZ 90 497.55 null]
+>> endobj
+4567 0 obj <<
+/D [5033 0 R /XYZ 90 450.925 null]
+>> endobj
+5039 0 obj <<
+/D [5033 0 R /XYZ 90 446.441 null]
+>> endobj
+5040 0 obj <<
+/D [5033 0 R /XYZ 90 373.579 null]
+>> endobj
+4625 0 obj <<
+/D [5033 0 R /XYZ 90 338.909 null]
+>> endobj
+5041 0 obj <<
+/D [5033 0 R /XYZ 90 334.425 null]
+>> endobj
+5042 0 obj <<
+/D [5033 0 R /XYZ 90 251.739 null]
+>> endobj
+5032 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R /F75 554 0 R /F7 795 0 R /F8 794 0 R /F1 833 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5052 0 obj <<
+/Length 3336      
+/Filter /FlateDecode
+>>
+stream
+x��[�s��_�����`|���L��:��3׋������h[9�ԑR���w�
Hɲn��[	-���ⷿq���W��^]��,�H'4�n"�#�5	|[F�c����	�8~;#8N�Mz�vFq\�ʖez���L��on�+��~����5!=�$I@
������&^��	m���9 �Bܶ�vD�M���Ӫ�ͩ���L�8�l��.sw�eY9#*����D��$�������18"NI-6W���n�aĴ�>�F��S��觫�\�Z���)�����1�z�,���%<4�"�D���S�/��
j#<z?O`}6�������n��;�*^�6Y^���n��6
�X���}>)!�ff�j�ý��y�1øH#��k�����(�j�	�~�����Yu̩DBղ�vA�C8Q�9<��0�$�M�{c
+ǻ���̶eVe�.[�
��}������4_�:�a��N��`�T��^�Q��}��,�q�Mt��h�
+�!@�mh6gZ�o
B�HizLI��U�F��>`Ls�����E�����([E�2��QCH,:��`�ʟo+��
���Ѩ�`[

7AIB��� �zl�+�%$b�~
H�sm(����Zײ�0O�������}H�1��*�E��%��D�A��21m����}�#&�@
K�a�,���(��s��*��"ոL��Shō�%���qGF���띻6�7��\탐�,��5�#4D
��dYdu'yQ�
+;T��G���mZ�V��}颒��y�{2W�Eۺ,�����̪E��o_�Ҵ��s�b��ͳ�6[��
i
A���es�'mW�c���r�m w�l��nG4�_���	��e�JCB��d�l�F'e�Tj��ɖH����tc�GG�����$��֔!��X-C�ECPaM�s��W�S�:��`�QH�A�vDam@���f��_�u���	b�E��#2'`EZ�HY(��Aj�0���}+L�a��_A��@���ﶅA`�T��
ou��������*�_�f*�� +�ی1�Y��W!�1(�
.��l(<ѨC%����p`�cA����W�z�g�L�5-0���^Uc�2_�=���Y�&��t
��Ƶ`�q�a/��%
�,!�o�|ن���M4�[�oi���l��1Ҡ_���j�� �"-!�L�B�ʗx�W�{8|�
�güFp 4b:��=�lz2��@D����I�8��/�y��4�#�9�T M����" ��K��[
$ĚJ
��ٺ
���z��7M��l�+س��_�'. j�L|�P@���4�KKt�gb��=�
Dl�.��ŷ����Q�-�?������
b�Mkk�¶���|�N2���1���svIC:[b0
�	��<�J�9���/�lk0�PBP�
+�@���-��N��W�i�
�q�;� |��H�H{�@X TS
)��a�I	���H�k��[��@��!4����6
&��=D�ݴ�S�U����D�Se	�hS�
���3�}*
��|�w�`^�
B#Ӑ�b�8�^Rk�Ij�
͏+ip;@v��Lb�0�d��

B�$��%V7�  �BvuQ���L�t�� MO�2��R��&�
|Z";��]�C���
�z<����
țU�s�u�?��q剎�Gi��b_
���#��}mxN̘qbCq��Ң�C����L�\=�5Ϭt'�A� ����=�l��b�^���t_�-��=ύ}i6 ���4��1[:�NjH�DT-���0�q�7�M���~�Z1&��+�y- %�I���s���E	���l�9_桅y��k6�3��FHt���Yh�A��;vO�*�z�vM�,f՝U��g)�K	�t�z
.��
;�0wtk�^3�hC�
+�i��'U���]w�
 �V�
ݗ�������B�|����J���Գ���4�@(��������Ȼy۸���P��
��U5^5�]�24��V���8ń��N滺�;��W�h�8KN�x@��(o�D���gC��8TA��^s~rO7�9l��#���@�h��cɑ��n���,�g�6���c|؋'�
���!�h�*��_��"&
�PM$��by�$l��E%�b2cV�d�$B�}�^5��^�
�kJ"s.��P�`��^����Hu�Ss���8�"[��&T� �j�M�
+UQ kQI�+�,�*4DJ�r������c0^�WG^׆S�@�V~���Z`,��
 	��G��.%�K�Mݗd��uSf��?��̉
+v�B��%��
p��
B h�!�Kd!�V�p�/K�����R�U�k9�I��3��{�}��B�Y���2B�?���XN9[s��9��
��%Z��
+DH���7d�AvQm��1�}�8���㶣7�Bތ��͡������
¼�R'鮦u��b��ʛ�8�IJ�}��Jk
+�
���w0~zR%�l
�Z��H$��
�/�y�
�A#�_��Cm(v�B�W��<�:I���a��ӓxK\�q(��K.Wƹ�<�w0���_o�
���"���B��]j�2�Mvdž���MԚ��E��Bhq��Qf�
+�ױ�c�����Н;�h�y}��?�1q��m��ys۰��=
S�tup v���RG ���aݿ����P����w(i\��S§�#1a��i�D���b�A$
+�.Hϗ�ȉ���8E�����+��.� �"��d��<���T�r䀃Y�T4<K�#'�:.h�#�p��ۿ�b>��n�S#�%j�g:���f��'�����.�R�4ZUs�\����O���#�_V���|!
������!X
�.��
衾8�n�j�8�>�͉ws�a(�$��sl���RX
7���F֜p�A��.��H��J(PK��S��
�޼�!�C:����)y�D���N`�
c�Y$SZf�ɼ˧C;���<=@k
���Y���D���:	���+��ƴFHx�8?B�㮅�f[y�N�	0��]��1��#���f䉁�rj�&
L[ŎP�Q�
+q���(I^‰sE`
`V&�eS��+w�!]7�S"δ?G� ����7JN�y�>Im)�>Q�
��*�I��
�����;��U�
�*͛��-\�}���_�l
�5x_��e��M�W��f�	4�N}���v
+�Jxs�AB(��}��Gw��*+�4"����4�76&�Ȕ]"�Y�:+�)k"��Ǩ���;��
������n������?VY�� K;\��<����
�sw��l�
nnzh����=�7'kM�2?A\'���pwm6?�o\�ٰ�(����Ut5
+endstream
+endobj
+5051 0 obj <<
+/Type /Page
+/Contents 5052 0 R
+/Resources 5050 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5029 0 R 5030 0 R 5043 0 R 5044 0 R 5045 0 R 5046 0 R 5047 0 R 5060 0 R 5048 0 R 5049 0 R ]
+>> endobj
+5029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 709.04 216.525 716.566]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 709.04 291.843 716.566]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 630.865 239.856 641.769]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+5044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 443.148 379.76 455.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) >>
+>> endobj
+5045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 401.05 182.164 411.954]
+/A << /S /GoTo /D (index_expand_space_dimension) >>
+>> endobj
+5046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 303.684 243.45 317.632]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 227.116 535.938 239.634]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 213.731 226.824 226.065]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 157.971 362.844 169.039]
+/A << /S /GoTo /D (index_fold_space_dimensions) >>
+>> endobj
+5049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5053 0 obj <<
+/D [5051 0 R /XYZ 89 770.89 null]
+>> endobj
+4626 0 obj <<
+/D [5051 0 R /XYZ 244.439 634.018 null]
+>> endobj
+5054 0 obj <<
+/D [5051 0 R /XYZ 90 627.378 null]
+>> endobj
+5055 0 obj <<
+/D [5051 0 R /XYZ 90 558.804 null]
+>> endobj
+5056 0 obj <<
+/D [5051 0 R /XYZ 90 492.762 null]
+>> endobj
+4627 0 obj <<
+/D [5051 0 R /XYZ 400.69 404.203 null]
+>> endobj
+5057 0 obj <<
+/D [5051 0 R /XYZ 90 397.563 null]
+>> endobj
+5058 0 obj <<
+/D [5051 0 R /XYZ 90 328.989 null]
+>> endobj
+5059 0 obj <<
+/D [5051 0 R /XYZ 90 250.991 null]
+>> endobj
+4236 0 obj <<
+/D [5051 0 R /XYZ 487.765 161.124 null]
+>> endobj
+5061 0 obj <<
+/D [5051 0 R /XYZ 90 154.484 null]
+>> endobj
+5050 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5065 0 obj <<
+/Length 2740      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S+�d�3t/@w�٦�q�%�D�D%�!%g�_�3rHjH9��@[?���̙s��g�nfx�׋�.��E�Y�I��j3K�L�		�ֳws"����3&5"������|}����[s������
��8)=[�.޽dz5\�a�K��}h7��q;{{�
�ui��
+sj^C�4�	˜�aHc��y��*���eQ[��D
-�V0

)�%TMjo
��w���e�3��L8b�	��4A���d(Ҽ�i��(X�
��٦#�9�>�P����sN�__^�ł��}����j����ˊ��ט?(��dv֍�v ��p��qD��ک�!�	���ѫ۪\P1�T,�T�y�1����8EL�&������l�2�>��N\Q��I��]����:[���g�������ԟ1f1�P�[���y
S�����i
+�����ieD�Ϛ���9]��t	���J+F1$�bI0��}��ۦ��Y


^U
+I����=�������wY��lp��˫�""�@����cD$1;i��_P>/󵏙^�CE���oB�ڥ�,(����m������*�>_^~W�ч@�����c_����@�ҩm�,uyYg��&���JI���@!a�6������b�U���1O��M?c�#�]20��v���aE��H(9O��m���[L#�d�w�%
���bvՈ��_A5��jkb{��\!�@
,��"
A"vEC�{�ۼ�������,��5�Q����}Y�B�={�X!~����Z7ݛ��\�oS_���C��#k%a�L�w-��A����=�DP at Vv�����G������~��

���OG�c����`~>�sΝ6�g�կD?��>��	���>
O,m|v�\}�ȓ�G3�����q��9?~0o�uYn��Gp�� ��I�qr
+�$�ܦu
�P�n}�h�8�F=�o�!�OYY��`K�XZC
��]ڶl�P�KD�8/��GLj}_f(Dt��^p��tm`GA<P|]�@��j�uP����3#)��nQ���o[��:"��[��J+�A��j�`�_�-�Y#!
_j�q�Œ�"e�!ä�=�Z���;e��h�* �Ѯ��͙�g�
+�`+�:ۺ
��
�6����*��Тh�m�n�,�p��֡�-�$�a�է��
]���0�Ctig�PZ�����5����J,"�<�V�gf��	K
Ø�Kt�XĈ0Ĩ���:��	U���{�jUV뼸�~6���/�����^�ץk�GX~8Xh�`�K8b0\�Ԥ��QpL�������1VR����$�a�iUp��,�������k�p�緩��`=w�zp�z���R;J����e�evr37�Ά�C�D,¡i
��)�u҆A�����&eM�-�����5۲�x�qmy�O��9 �~�l�[�����^��w��/�|nfc V�o{��,�!��lOAWk���؟&~6��;���|��we�v������{��A�N���H�P
��\�n�V/�aV!\�k �:
3�""V�`�6�u,h�

�j+����ʝ�2g�֏�ac����9`jc-�
��H��T�`�IX��x�u�VH�[wR���N��
+�8�J�~�d�M�6��t��N�h
m
���ȶ��j
�0g�tc�<�
����G~@N}�nʭwV}�+�٘�0ş���R1�,}"�A��mu�p7��d l�!m�H+�w���7�vQڤ#���P�7���i�h�=�2=R��YFa1�0�Vx�>�n�j�t��T�ʖ��e 9h[��?�ց^�d���
+�~�r���Y�aesn
�K��M3�p�6��� =H�ۗ�Ԁ�+X���*2'�X$	����%��0j+4
W)��|e��Y��v&͹����v���C��	n2
)���
��x�����&~����o���J���
�W�������dN�%0ǂ�zu���we��s
N�g

�>��gJ0R�x��K
��gUـ�,0�#Tr(�,����ے@�R�;�6k�W�q � ���!#�68Q�?
0���h
�^`T���'�M1 �,L�5��-�D���^�y�V��h*����\��䶩�Ud�u2�9G2"�r�m�%/Vۃ)�Ux���:$g� 4;���o�|NM3,��)lp���?�-�?@L��Q��� �'�?��0A��l
���?"f
CkU���
�FW�뇻�8���?Dz�X&��l�<!
�Y?�2A�X�'�o��Á�#}�O�~�!��d� ����	0BO�~�>���Ӭ�CH?��S��;u��SO����D�=�~�'���
�	�KH�0fL�~򑤟��~�
H?��Dz~T�b��X?�����0��o+�B�B,맓.맵�G�|��#� RqLgq��y��8PF���I��
+O p�7�|%ЬY��3
��� y,���0N,%�W0~�)Ə<1~O���8��L�0~r���L=���}�O4��l?��j?���Z���l	�b���l�Eo�b��#��Q�O�
m�my>�0��{j��0�8E�C�׫�"������&JQ{�{no6��
�_����%
� o6��j0��d��
�fQ����z�͛W��uV�v! ��￧š������e>4%{Lcƀ�Y3�9��ժ�7�
}(ކ��~w�����Ί�r��?����y6�h�+���uSuSS⏜�a�Nt
+endstream
+endobj
+5064 0 obj <<
+/Type /Page
+/Contents 5065 0 R
+/Resources 5063 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5062 0 R ]
+>> endobj
+5062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5066 0 obj <<
+/D [5064 0 R /XYZ 89 770.89 null]
+>> endobj
+5067 0 obj <<
+/D [5064 0 R /XYZ 90 718.682 null]
+>> endobj
+4237 0 obj <<
+/D [5064 0 R /XYZ 90 684.012 null]
+>> endobj
+5068 0 obj <<
+/D [5064 0 R /XYZ 90 679.529 null]
+>> endobj
+5069 0 obj <<
+/D [5064 0 R /XYZ 90 608.668 null]
+>> endobj
+4238 0 obj <<
+/D [5064 0 R /XYZ 90 577.891 null]
+>> endobj
+5070 0 obj <<
+/D [5064 0 R /XYZ 90 573.408 null]
+>> endobj
+4239 0 obj <<
+/D [5064 0 R /XYZ 90 326.797 null]
+>> endobj
+5071 0 obj <<
+/D [5064 0 R /XYZ 90 322.314 null]
+>> endobj
+4240 0 obj <<
+/D [5064 0 R /XYZ 90 77.486 null]
+>> endobj
+5063 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5075 0 obj <<
+/Length 2549      
+/Filter /FlateDecode
+>>
+stream
+x��[ms����_�~I��t�/j��Ď:N�T��~�=��$LH��H����(�<u��
�ǻݽ�g�����v�';�����B��AFR9���<Q� !�m5�0%�ٜ`���3��^��/gO��㝿��럂E�ŏ���G�OW?�]R��H	�qX/����Ƣ�-���w�,��r̷=�0S�x���d6�O�f�N��v�~��ο���S?\B�!BO�vғ�N~;!0
���)=YnN>|“t�8��=��m&�2x�'�O~9�ΰ ��M�pf���f&����C�9S�����P
+I�[�ḽ����q���*�d�m�@�ӖmS�|؈bD����J��2�b
�C&��hSm�<T�1�n�(��s�08���'3�HuȢM���H@a��K9����K���ȥ@ň\j�Mӈ�h�\�#\�S�"V�ɜ1�4��
~a�(~&��Emz�mJ���� �?eQpv!��G
�sJ�:��;?�š
U/0:_i��̔���к��\ @����������9X��:�
�|LCPʐ!��ۆ�O�y�M��M��ɇ��5��)x�c"�V�K>N;�$��3Vz�um��&"�ts	h��U��Z�	�R��br?옜r0M)��[wmw��Z�e��:�
@��э�h�k������@�#%h
b��׋8�Õu:����d�w��\�r�
�i��ۛh���a�e]uo�]sj���("#`�!����X�za�Un��e,�>�|N�dF�����oX��/�H��9��?�
BW: �6j�hU�)�P��!�o�v@\�Fh���
�6Ҵ ��0��d��El5a� Z�q���1�q��1M���m҅
+�
b��}��u���]Hy���10

�Q���/����$b�/+
cE�|�h��^�Z�{�ܹ2��������N�E�	J�x;��v��I��R�>����_���A��@�ϙ( \k����n�
���:!C���4��]�J�27��e)Q�~�[A��L�ƒ�J>�\�q,+�ch-���
r�
k���?H���5�y��x��
'�* f� ���2�l��,֕�3"�~r>�3�� ,�	
e_z��2P	1�օ�H�BB�*�x��OE�U,g��F�@-Y�{
����wN�{U��aB5��;�W���^���5��w^��s��ұ����C:�^�1 ����v�W'3�� ��g#��b����0J�
��P\����~�����u,Vw1y��L��#=�j�«6*IW��Q�ƾ����&�߱�a /�؝8����^�4��[�v�����|$=���(ڍ�1�	*���nF��S�9S	m����f
�ۜR#U�鈵60w��
��]��9�*�C�1/��B�E���j&�4�ϑN�怞���q�#[l	&��e��h/�?`g�"
۝=!�<〝A�c,�I�f��o$�g���W�:��9�ʆ �Tse/I��07Aρ
\����;��=��W�?�6
?�ob���^��f��n�[�����վM���
`B{��slB4PÁ������j�UP(!��.���[�^� T�u���"M7�3mғ��`����$��vO$�т�#�н͙:��B�-�_V�q��
o(5g
���fD��v�*o��qg�gHђ���AM��G�t�B�#�I�^Cݥ~Ң�ux�:,�E��/�
��7��!�����}}�M�V_�0ƞS���"���d͒�-�NL�\q�h(n;*��[�f�C��j��PM�7�qh��3!��S��
�6@>��w������C�ɯײ��iog�F]Bi��
+�P���ʅ�f��V��U/����k��@�"��ξ"���>H|�+6�C�h
4^ݕ^�$��ݢ�V�
���.����
�V��R_<v�� ��l&Zw�P Ӷ�j�����F��ܷ�����=YUn@ro�xcŲ��@,o��g
xPĺ_Y���R̼5��PI_�y�쥸W{3z�iIo��חY�Z�+�������4� ��������2�:��Ǣ�]�q���~]��e�do�� ��5�'cj�Ƀ���� �
Á�Q���Y��Ph3Id�
* �0�z��%�Is�  
� @
(R��'�(���bQEHQ 0s� �Rg�@�Ȯ�C����	�b���a��s�u�~����� ���9���, L��
:���G45���h�>��}�B�ϣ6
+�}�u��>��)l�W2�Q���/A�!A������+��#�
�c��۞��ۆ#�32���
��m���mW�9����m�b7�����%�֫�~0w�SKӺF8X
 �d{_�=�6(@��w
@ec��!c9����%w�`��n9���Oy�_����D$%�uҿg��qR�
A�7�(�n|��.I�B�:)Z?�ܰ���(]�.M��gg��m⇷�i?���0W|S��MT\�u��Q�
;
+ 	���70?&*˝��������8{�a�7��ֶ�۬Ve
+endstream
+endobj
+5074 0 obj <<
+/Type /Page
+/Contents 5075 0 R
+/Resources 5073 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5072 0 R ]
+>> endobj
+5072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5076 0 obj <<
+/D [5074 0 R /XYZ 89 770.89 null]
+>> endobj
+5077 0 obj <<
+/D [5074 0 R /XYZ 90 721.073 null]
+>> endobj
+5078 0 obj <<
+/D [5074 0 R /XYZ 90 640.762 null]
+>> endobj
+4628 0 obj <<
+/D [5074 0 R /XYZ 90 617.251 null]
+>> endobj
+5079 0 obj <<
+/D [5074 0 R /XYZ 90 617.251 null]
+>> endobj
+4629 0 obj <<
+/D [5074 0 R /XYZ 90 575.547 null]
+>> endobj
+5080 0 obj <<
+/D [5074 0 R /XYZ 90 571.063 null]
+>> endobj
+4630 0 obj <<
+/D [5074 0 R /XYZ 490.972 503.909 null]
+>> endobj
+5081 0 obj <<
+/D [5074 0 R /XYZ 90 497.269 null]
+>> endobj
+4631 0 obj <<
+/D [5074 0 R /XYZ 484.995 430.114 null]
+>> endobj
+5082 0 obj <<
+/D [5074 0 R /XYZ 90 423.474 null]
+>> endobj
+4632 0 obj <<
+/D [5074 0 R /XYZ 90 371.787 null]
+>> endobj
+5083 0 obj <<
+/D [5074 0 R /XYZ 90 367.304 null]
+>> endobj
+4633 0 obj <<
+/D [5074 0 R /XYZ 90 229.035 null]
+>> endobj
+5084 0 obj <<
+/D [5074 0 R /XYZ 90 224.552 null]
+>> endobj
+4634 0 obj <<
+/D [5074 0 R /XYZ 128.643 84.126 null]
+>> endobj
+5085 0 obj <<
+/D [5074 0 R /XYZ 90 77.486 null]
+>> endobj
+5073 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5089 0 obj <<
+/Length 2553      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�~ׯ����ZB��$��l�N�f�8����E�#��<�$���}>`N�sɤ|lTz��Ӎn4��o P�Ur�P��3�/������s#G��:��N
M�tDi�͒�#������Ж0��Vx����x�����ٳ��_��E�	P���jy��
Mfx�
g����2�\�w��:���zzq�#��
��I�x�(��]��]Lw����s4�^4�P��
�)k�6�H[4��ߦ��2
O�4����#�����bM��k
�^��/���-f9�%
�n�l����z��nҫ�|1_��͡�%�DZ�%��r?'κr ].�"�Dn�ͷ���*mЫ
ጟD��0�E�����f���U4sW�!81,��5�T
��ҫ�nj����w��t�"��BC�hDِ��n���.]��١K8&��6����1.�^e&�b�m�=�^A��s��b�=�/ǂ�֋��،���5���Dv͝�+d�Z�DPΎ�XSL�CA�hZj�Z������0Y��v��i:jH��C�eR+B�=����F�+�>���5�HTѴj1_"��R�=ֳʴ��-�=�
rTY����[�櫛���7M"� �T:���w�2�$/S?��}���ʱ��Mb1
�8F*;�ԚP�$S"|�6Ȳ,���c��r�_oR_vgoB*���s
����8��w�~�g����n�n}�D�f��
�l�ί�1]���P�B�£�"���t�>MW
��QPV>�nOT�7]͚��T0���C!�8S�'0ӄk�:&0�
��]6��ǘZ,3�_D���e���2&�p��2
H���
��2-2��L�������n�ݭ7i���*���ݬ?̗��|�?Z���w��j�nꔅǘ��� �rg��6�m�ȉ��^�����.m�q�L�c�m��+���t�m�	�Rk����|���0M1�P�;wQ�
�.$މ��;1�;{�������ަWs?T *�L�o�$�)E=W
�#E��g����_�L�U��[y���Ϸ��z�Yݺ�"�����z3��g���������"m�!��zZ��o��Z��Y�I�&����*�
��E>�cDe9U!�F95gE�1Y���4P
��
Z��Q��=�y��՘��b>K����W@�� p
x� ʚ �)��z��);�g.V\�
A�X�O:U
Lwz0�C[�Ȋ�X��z��P%Jg���0+	w2�򄰓�p�oǝ@/g���w �zj	nid��\�
�~������M�u����^�7�t�M{8�����n�;!��
jD|�A5��(��q8��e:A?�{�����QPd��
+�y0���)x-Bj
�s&s�pQ7
�5�2
dEV��0F�يb�l%���d
�s�JH��W��4�(�QX�!��o��F���.Ho��Cz/�
w		VF�0(�Pr���*��i(�G�{͉{(�S�{> ދNx�j�}x�x�/j������_�0><��_&��Ax�{�������Z�,�
�%��ſ}J<�fS�g��?�k�%���'T�ȻG]ް���V/�A�by#o ��cy�[ճ�Q��by���}��H�ϑ�
���QxQ�ܿ�a���=�f�F�4Wk
�c��Z9K9�
~X<:;�"��
��q��"G��i��i��^�h���1�>�S�	�?A�����P_|�?�K������_��P_ ��P�?	P�_�P�F�g�I����
����~3���_��z �7�C\�>e��$3Z �j����\!�I� 2�2΢9`t ��e?�	Ȉ	� ��7)�@K�6&��ռ/Tߠ
+& ���œ�	�S�
�l({^���	h�	�)4k�|��b��	P���
i�S
�՘��b���)��y "G򢄕}L� 
N�WN�c��L ���>@X��
W���	�>mwA�j!�&@��g��Znz-7}L�����f&��
�~����۝�vb�k��x�v'�B*���C�}�tH?ѡ��M_��&�
�E;�X��&ֵ�I�b@)�6- -B�:
x� h�ۿ'Z��(as�0_�47��7o��`k�ЭF�ź��Ri�hy�օ�4�Ke���Rus��?3eY�f*ڹ�J
���j��Le�Af���{�|yP�j�����k+��jD�PV�IU�A-�9���j�RtJ�[�Q�vM��C�Qʹ��=T�k]`7}�&}�
�bYl~�[���"���dD�
�4� �ށv�Z
%(Ưo��r܂!'K��[��pб�_��T��@:,�V�3
P��.�㊋6�����:,q�'$
�1�JWG8D�z�PG8D�z�����zP�j����`�	�IzPǪ/�_�v�r^2\
=]{Q���
/�M�	�	���������K�|���J��&��P�a��iZ�%���Č������l����J������:������n�%qc��I�~�e�*MsWe�������€���$Q����v��?��_��l��
;̥���Ze���@�r]е�ʳ����?g1&
+endstream
+endobj
+5088 0 obj <<
+/Type /Page
+/Contents 5089 0 R
+/Resources 5087 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5024 0 R
+/Annots [ 5086 0 R ]
+>> endobj
+5086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5090 0 obj <<
+/D [5088 0 R /XYZ 89 770.89 null]
+>> endobj
+4635 0 obj <<
+/D [5088 0 R /XYZ 442.087 600.264 null]
+>> endobj
+5091 0 obj <<
+/D [5088 0 R /XYZ 90 593.624 null]
+>> endobj
+4709 0 obj <<
+/D [5088 0 R /XYZ 90 455.355 null]
+>> endobj
+5092 0 obj <<
+/D [5088 0 R /XYZ 90 450.872 null]
+>> endobj
+4710 0 obj <<
+/D [5088 0 R /XYZ 128.643 310.446 null]
+>> endobj
+5093 0 obj <<
+/D [5088 0 R /XYZ 90 303.806 null]
+>> endobj
+4711 0 obj <<
+/D [5088 0 R /XYZ 442.087 177.493 null]
+>> endobj
+5094 0 obj <<
+/D [5088 0 R /XYZ 90 170.853 null]
+>> endobj
+5087 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5098 0 obj <<
+/Length 2659      
+/Filter /FlateDecode
+>>
+stream
+x��\Ys�F~����2���V�6�QN�)%���RA"d�B
+H�ҿ�n�
����e�\�Q�tOO��5�$�[�x?̾���}��g���.n<K<-l �[z�}J3_PB�>���uxy>g�OV�e^����0}x����~���dz�)ݓH�q�e��q��V
xy�)
��j��
B�-G�X���|�$�/����v��ί�M�Ω��5ܲT�*�Bg�]���QC<�{C�x����7�[��=pk��٠�'�ו����w�"
�R�Q��.�sY�it���M�6��_w����m����
�mo���wBX��o\=~���h /
��A��,g� Gx
Fm�A�>U�@�g�\� 
,����.��6��Q~q�7I��i�ۻm�y�_�5g����**�
+-����m��/�E�`�E�˟��WQ�VA�FX9F� B�
p17��8�0���]�YV�/ϓU|=��h
`�=�L#��5eޛA4J
|����_�j���" ��{-eņەA{8'�+�4�6�T
@�n�5����
+apC�;�K�p�����ó�!�}�R��h�Uμp�֛�*IV������Ă2OI
ֲ�=�kl�
���h�"��5S
op�l��áfK���B3�
4dSG�2��B�=���$��hV�>�h������;��%�.8�����|e�,�M	aɵ�
KX~R��<�0���6�S�f��a9����8�iH��P���dӨ�i �PS&�˳�W���9g~�ztk�a2���=w��������QU�H���>%�V5�R��%2$'R��*��"f0t��2 �Z�-�FܷY
. >��
@��`g[u�/ ��l�z���y����
5�ʴ_���j��q�&RA*c@�3s�0������ua�[���f��0�A����j�E�A�m��}�	������S���df!�[@(���6�D !QooT��s���GѦ�Z
e��x�-�M���f��2���<�B��C�	���{	��C�mw�
��8w�
wQH���U�
����AT}�TJ쀻 �P��.R��8�e�A�h	�K�owI��|�M<�%7�G�.ovIۜ
���:�O
+
�ĥ��.�}(Q��J_��.j�	��VB������D�j8	���}��mz8��_�<��J��ۨ�D��K*!��A�
�d
/
+4�>�
�4/4oeA�9
«Q��@
�,H�����-r��( 
N|�r$����I(�P���dH��gH�ɐLC�Pv5�3$��3�	4�
��=̐��\0$G�g͐$�-�
	EIi�1�	�
��{bH'��Y3��`BgԐj��0�>WxZV˽[ߒ6���8��=��S(=B*k�}�'��\R��=��O�&�Q4Q�h�&~y4��41�jZ�y�Q�-8�c�����o]��b�P[3,C���-h������&P0���Hu58�
};
+��)�v�xRz���!뤇��
�
zHa
�д��U��´����zr	W
ř`�M3IR�A���@]�@1�CC��� ky�R�V�HW��m
V_W>���!9 n����Y at O\Y�N
E�
�J"�RD7�
�5�^N�FH��
$n
+���� ��=���8���0%' n{!�Iܨ�����w7���H���%���
_�����_J�ޚ6��� �c;��c�����
�EZ8��
�����
~g�SPcŚ
�k�)���


 4�R�^s;�8R��w��� ��{(��!% (�ƀ.@���
S���|�nƲ��W��k�b�g�(i�@���D���w5��[�ݾ����o�O�}�1ks6E�E)5�};�޲}��=�oO��߾mʩ۷= �>��KG���c�����_�c��h���	�
'�*i�H,i����k�!��€��>�5
5��4����
s��8&�)؞��(Jꡒ���N�W�r���[4����1���'WЀS�S4�ʇ�Cm�eAs�
+ک��
+��*h�
��#�����~����/FDw٩�U���M����Ί'�G19�
�EQR�a&���v�
+�y)W��ۥ ��;�s����!m��]%�
�۝@o��u�z��aoW�z������m��@8�@�[s0�
�{�F
��$�(p(`\A����XP��EIm�A,5��)4+��-Gs��=�]X�>�ӹ�c uL��QTu�d�
O��dÎ���e��Ć?2�OY����Z��P���ޅ���=��FIi%�K�
k�Ly��KH)(i�	&��
��@���U\4pAGA�rjF��f�ũ�{̖�4<�*�3�#OQc`�(I�_ϐ���	�2�QVSW�(b;�ġC��k=���1y��y�(b;�׊)
��u㠗Ώ0ZM'�z�̏a�D���joǪ���G��n����~0���J�/)���/)	H��4������/���ү�R��a�����8��)�/�3Q��N�����`��|���ª|�x��O��)�T�Y���ʻ���������m�y\'�����aR���I�|2�<
o�hxvl<(�a�G	�@w,<���O����]g�X�8{��޷	8��Ʋ�L��
+endstream
+endobj
+5097 0 obj <<
+/Type /Page
+/Contents 5098 0 R
+/Resources 5096 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Annots [ 5095 0 R ]
+>> endobj
+5095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5099 0 obj <<
+/D [5097 0 R /XYZ 89 770.89 null]
+>> endobj
+4712 0 obj <<
+/D [5097 0 R /XYZ 90 681.531 null]
+>> endobj
+5100 0 obj <<
+/D [5097 0 R /XYZ 90 677.047 null]
+>> endobj
+4713 0 obj <<
+/D [5097 0 R /XYZ 128.643 536.622 null]
+>> endobj
+5101 0 obj <<
+/D [5097 0 R /XYZ 90 529.982 null]
+>> endobj
+4714 0 obj <<
+/D [5097 0 R /XYZ 442.087 403.668 null]
+>> endobj
+5102 0 obj <<
+/D [5097 0 R /XYZ 90 397.028 null]
+>> endobj
+4715 0 obj <<
+/D [5097 0 R /XYZ 90 340.116 null]
+>> endobj
+5103 0 obj <<
+/D [5097 0 R /XYZ 90 340.116 null]
+>> endobj
+4716 0 obj <<
+/D [5097 0 R /XYZ 90 293.097 null]
+>> endobj
+5104 0 obj <<
+/D [5097 0 R /XYZ 90 293.097 null]
+>> endobj
+4717 0 obj <<
+/D [5097 0 R /XYZ 90 247.079 null]
+>> endobj
+5105 0 obj <<
+/D [5097 0 R /XYZ 90 247.079 null]
+>> endobj
+4718 0 obj <<
+/D [5097 0 R /XYZ 90 190.107 null]
+>> endobj
+5106 0 obj <<
+/D [5097 0 R /XYZ 90 190.107 null]
+>> endobj
+4719 0 obj <<
+/D [5097 0 R /XYZ 90 143.088 null]
+>> endobj
+5107 0 obj <<
+/D [5097 0 R /XYZ 90 143.088 null]
+>> endobj
+4720 0 obj <<
+/D [5097 0 R /XYZ 90 97.07 null]
+>> endobj
+5108 0 obj <<
+/D [5097 0 R /XYZ 90 97.07 null]
+>> endobj
+5096 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+5124 0 obj <<
+/Length 2103      
+/Filter /FlateDecode
+>>
+stream
+x��Zko�F��_A�@V��F�@�8�t۬���-26�TI���}��)R����bEJ�������siaD�s�`{��
�[��Z���(�d$���c���AB�'��0'R���?9LjD��]����[^�[^��f���3_a�R�Ymf>aLJ�?�bf��5_�q8ep];׳_g�eYn�h[D"�4#�8��]��<
6۵�֒�7��٩�TW&�,V�d+�x� {���	��f�t���l�IϿ���%�H1����֑�v�{�YDSD)�����.p�R^����u!p}of0��1b�
�:EF�:f�!�
+v}ĘFa�x��S��RS(�t@
+2n_�����
�B!
+�P,!x�~_����]T��G,pq<�"Y0*��Y�>#DY���K�<�o��6�Aҟ�L�c9iϾ^P��M.I�Y����Z9��JH����H�Z�N'�0T�S�e෢
�W.��x
�\5�&
�t���h��D���MX�"q%�Ze�lGi֓�#֨{?�D�3`��h�lB�z��3:�4T��*`�jx�����豋�mv�+
]=p��;�ة�m~�"?��n^�I�fɐi<���S����x$H�K
pׂ���I��1��X�'�L'v�Z�'�#��EЎI~�J@��:[	�!	,/�?�m�b<m��Ѷ�

�:����-�A��	�(���7�`�1�t�a�N'
h�GK�8�Bs�8Z��(���s0~�sP`�p

h�&O�
00 at I[Q��㜃�I�<�e[�(��3RM{�
@J�(�9��>�	8�jv1#���Q��q�AW��q{����
�2�>�t�c���I�"�Y��� `�-�C53�_-j�����8퍦�
�RL�(K�en ��
B���2t��
+�Ѫ笃� �C�A�@߁V�OjaD�E.���Qe�E�It��k�
FQ��">�f
���5�(
+A@Q&��K�i�saߍi��!
�KFQ��T��I�������$D�(�RRp�0�#�H[�	�;㔔��pҜ �ڜ�L��dp��JFA�
�P-�)^��j�i2��cN�S�u,��
&sҪؓ ��ώ��1��A�s"(�',��z29�ӥ|
�~!2u	���ŧ���5�z�;V�-4ϫ*��}y-���δ������l��={J�[�8)�^��?kޛ��d4Y�i柟�i�ަ����� 񲸏����{�˗�o
+UCR�Zp�{��u6��I�=
h�L�2�b5�썙�ImF��
��S��;(p���$j����������V5���|yo�N��v� ʼ,����gH��&���n��[�~���+?��ͫ�/w&��T���إb���xd��up޲ٞg��k������
%�ݮ��}��aAѦ��R�	�uA����,Lx���!΂�V�pN�G,CB��g�*�К�,�g�}
+k���>�
(�yC���-%m~o[���/z
�	L�i�@����ǃ�j��/ʜ����g �AT��P�Y(Y@�P�����U�i���`\��&�����x��׹
q�z�������.�V�߇7e�HВe��.�&�;r`��Rt�P�e����eeX�F�AsrQ�w�x�N}_Y�m��\�~{7EJ�t��Q�V�WH��j`H��Q"GPH�?�F�����࿽���jg����F8�cH�_@�ڰ�t-������0`�ʸ�-���
���%�����.Z�.��zۉ{ݯ�*:Я
+K�����u�n��-�਽�4�c�`鍥}����^��P����
��u^U3��\�	#��a�~{�����ח��5��D�0�F����Hr��p��<�W�p�x� ,IbvQ�'<XJ�'qw	p�챸�hW��m�AG�Jmt��9��
�х]�xa��\?��B�d�X����|JR�3٩?����FW5��RUM7�5ͪ����-�y�BЛL ��_�i��������� ��+ļ̏_�h��:�E�OҚ�@'�B�A�\U�v}����,��{��D�J�>˶�gg���4���*�
fP�����j8���&NJ��
nr����i4
J
+endstream
+endobj
+5123 0 obj <<
+/Type /Page
+/Contents 5124 0 R
+/Resources 5122 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Group 5111 0 R
+/Annots [ 5112 0 R 5113 0 R 5114 0 R 5115 0 R 5116 0 R 5117 0 R 5121 0 R ]
+>> endobj
+5110 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1C__Polyhedron__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 5131 0 R
+/BBox [0 0 212 192]
+/Group 5111 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 5132 0 R>>
+>>
+/Length 391
+/Filter /FlateDecode
+>>
+stream
+x��TMO�0
��W�4���$�aB����a�a�
�
�q���)++b�Q��%��m��o`jd'�e�X3
7�������'K��{Y����g��|������(L��
�
���
����)o#i<�R��G�YBi쐭Pd"}�Ɍ}�0�i�?m ����y�ka��L�U$�4[�_��g�Sem&��M�۾K��	u����Ti�wb	]�!O��#�U��T��lS6F�FH�fZ��R���f�L��&�J;z��K��n�y7l�Ofn;�nN�h�'��e�E�b�k���QT6��s
�U/�8�
ƭ�EՓ�r�c �=!+����@r��*OF�ʫ��ݢ�	���+
+W��;c>-+j�JM_j2w+9F�|���p��j�
+endstream
+endobj
+5131 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+5132 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /VQVKTR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 5133 0 R]
+/ToUnicode 5134 0 R
+>>
+endobj
+5133 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /VQVKTR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 5135 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 556]]
+>>
+endobj
+5134 0 obj
+<<
+/Length 5136 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j� ��}���^,9�B�lor�M� FǬ�1�E޾f&l����?���f��q6B�F�bc�8���:�E	ڪ��j�^d���SġqfU�g�f�<��' �{���a�}my��{�����k�hR�W��䀐�y���8o���k�%q�GR���K�A�
E��QCeҨ:�O/Nl댺�@�E*��C^�DǂiGt*���i��
ӑ��NL���].L��L����1��~�Y[� �z2C��DEξ
���z�%����{)pzjJz��:|�?��E����
+endstream
+endobj
+5135 0 obj
+<<
+/Type /FontDescriptor
+/FontName /VQVKTR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 5137 0 R
+>>
+endobj
+5136 0 obj
+298
+endobj
+5137 0 obj
+<<
+/Length 5138 0 R
+/Filter /FlateDecode
+/Length1 1704
+>>
+stream
+x�UU{l�U?�~m�*[��_�
�n]�.����۽�=
+��l+l�
�&�0����pJL�@bL�ј�c"�e��B���hP6u�d#�W�����9��s�=��9�~@  ꀂ�P$8Sk� �v�
<<63���_\��I �bh88����_���2gʫDB�;��B�c���
+��:�-c�CA��5 U����y��ȟG>}v�!�
� "o�󍼱���f2"�M�6
+Zh+���sa<�
� D�*&��7��J�洛�	
O��;@JǦ��k�^o�5�
����K�_�����25�,(�N�mz�׉6��2�
���$�jH5��M����YMR9�ޭ�
*MJ2�-��@ׁ��lm�3U�y;��;+������*'����I�QHk��-
�f�y{�&-!Y�Tef�͖R��ukQ�Z�.��`"Ј�cچs*0)Q�!��@܁@�#�ޒ"���F��"�:M��?�c�,�N�Aϴ����h���ڃ%�-�֮�X&�lT�V^�+��6K�I����>��Jl%棞�Y�
(��z6>8e���c^l�H�?<�~u
;�Ӑ���
��h&gO�O̞�6�|M���h���3�I�|G�Hdp��"�*� ���B��
y�����
�
2"�>
+
�|-�D-y�w�����,>�ٔ�Oz�Q�ƹ�m^�!�OS�l�D~E[Z���"�q�ȅ�ºN�?߻���O���A�t�.I�[
:<�19W
�
�\u�
 ߨ7`.1��	�
�^id	�uJ�S$��?b
+h^�
�{)�6�!Hs�Lյ{VZ,
ὃ�^n�s�P��g�&�����3
�0R���;�h��s�T��v9G_<12��4z|>�W��^�}s7I��'��G�������
hWɰ5
+F�#�*QafJ)x�����c���ߏͱ�N�7������A
+�K�
�q�|sX�
��i͝�]����БJ�=
�����c���g��'7���hO�ĦMV��X[�7�E�
��JH���^���Z{
�h�ʈ)��K���2��[�g�W�4��FO�Ez�A���{���'C���]�����_{���Q��
�xo��u�>�C������^�����vY;��1r�|'�9�%�}A��
+|���?J��X
G��X��'TP&�����ʨ0�DH»�j|R�
4��|��pk ��!M��3�o~��!>?>*+W��&B���}��*z|t�B��%�K�_B7�
}��H4rnh�%����4�u��e`A�D�܃���a�~V��eς4�0���
�3R6�~�w1*�9��pW��F�p_1;-�z:Y�!��l��'m%���Jg�
+endstream
+endobj
+5138 0 obj
+1320
+endobj
+5111 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+5112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 103.949 173.467 114.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) >>
+>> endobj
+5113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 103.949 242.925 114.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.089 103.949 412.478 114.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+5115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.308 103.949 487.556 114.853]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+5116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 173.467 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) >>
+>> endobj
+5117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 74.333 278.631 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5125 0 obj <<
+/D [5123 0 R /XYZ 89 770.89 null]
+>> endobj
+4721 0 obj <<
+/D [5123 0 R /XYZ 90 669.666 null]
+>> endobj
+5126 0 obj <<
+/D [5123 0 R /XYZ 90 669.666 null]
+>> endobj
+4722 0 obj <<
+/D [5123 0 R /XYZ 90 622.647 null]
+>> endobj
+5127 0 obj <<
+/D [5123 0 R /XYZ 90 622.647 null]
+>> endobj
+5128 0 obj <<
+/D [5123 0 R /XYZ 90 576.629 null]
+>> endobj
+5129 0 obj <<
+/D [5123 0 R /XYZ 90 554.521 null]
+>> endobj
+768 0 obj <<
+/D [5123 0 R /XYZ 90 467.489 null]
+>> endobj
+170 0 obj <<
+/D [5123 0 R /XYZ 90 459.814 null]
+>> endobj
+5130 0 obj <<
+/D [5123 0 R /XYZ 90 123.803 null]
+>> endobj
+5122 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im5 5110 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5191 0 obj <<
+/Length 1600      
+/Filter /FlateDecode
+>>
+stream
+x��ZQs�8~���)�gbYBHB���4I�I/msM:s����6q���n�+�8��iܹ{2�j���V�
�11��st��
+jH$�ō�kCbC�1���'�`$�=�16/��n<u]
�Q���Ʊ;8���/�=;���nj�n�b�<�$я�k/{�#$[¦&����u��U�k��j� Z��c���O_�1���FT:��l�԰-
+��q����s��3+%5
����JbI�
C�ц
��`����Z�Ya��J����ie~�HR/����(
+��e��i�23
���
�`߳,�m��e��z}�,VY���'9J�_u�O=��sMA���^��3��ߖ`
g�*%�ڎ���N�{G���(�g�l�։ϧ��C�
+P���E (�}�w�0��䇓��أ8,Ӧ�W^��n�M��$?��䘨�����
��=�HK���"��)��~kAHr�x�N��$��d��?uNj<D���_8E���nyAk�
5���M�]����X�����S��᧋���j��*��
O/�~

�{sq��ﳫ��.�����i�>��a�
+b#�b�/L��Ho��!���ʐ�yxQ2׫�qS.��n
f�O	���-%��
f,��
Q�x�
��Ȗ�9}d���H�$T�n�i-�\��Dۥ
��I
1G��3/t�9 ga��ߺ�8A�l�.-��?��uc%EL�j45g@��!�Q�c
2�i,�&�&U,6+
�1�.�^G䮽(E�l���

���ֵa����C�L�}!{�P������'�SP�C�@#a�m�$l$����ӊH0��dpy�μF6Q�`�[(T"���E]�|��&���8��8�v
�N�r��
9:�k�̕`���ْ1����ލRw�nЂ8�geg3s0k&�-�
���S� j��iK���
.i
����T{E��x3�
�G�'y��T���$��p�m�M���@���֝'I�I{�>]e���w�_̹ﲋ���xQ��g��n�|�5�yJF
4
�t����z�!8_w_N�:�-U_�3�{�,�Q ��"[�^
H�1�u�fq\V鍟�ܚ-
+g4)&��N��K�t�Y��Oy}�;����`wS�
�s=������U�	��yzxL��B))Z15�B
��M�����'��`0�M���
aʶ�Q�S�^��qg	*�5e!xiY�9���G6(S	�o�Y:g�0��� W��̃`�����
���
�{���T8��T����=e�
�p��$�
!v�xm�	ߜx�͛�#�	~�U��7
+��a~���k��=�8��.c8a��$elo'���QRa��0�<�a��f.����W��C��e�n���գL *d0ܟ�ʞeK\﹃b�5��38��h
�)�]��7�6��<j���~Ul׿���-��ɾ�᫑ "l�̯�f�y'$��ߺ����o�p^�nJ�o
+x/V��
$k�����+�Z����O�I�Ŀ�+�{7i:{����
'J��A�bpU������4�s���PtE!*�A*pd� �U������gBXٌ���e�0�M�q�ˏ���N
�
+endstream
+endobj
+5190 0 obj <<
+/Type /Page
+/Contents 5191 0 R
+/Resources 5189 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Annots [ 5118 0 R 5119 0 R 5120 0 R 5141 0 R 5142 0 R 5143 0 R 5144 0 R 5145 0 R 5146 0 R 5147 0 R 5148 0 R 5149 0 R 5150 0 R 5151 0 R 5152 0 R 5153 0 R 5154 0 R 5193 0 R 5155 0 R 5156 0 R 5157 0 R 5158 0 R 5159 0 R 5194 0 R 5160 0 R 5161 0 R 5162 0 R 5163 0 R 5195 0 R 5164 0 R 5165 0 R 5166 0 R 5167 0 R 5196 0 R 5168 0 R 5169 0 R 5170 0 R 5171 0 R 5172 0 R 5173 0 R 5174 0 R 5175 0 R 5176 0 R 5177 0 R 5178 0 R 5179 0 R 5180 0 R 5181 0 R 5182 0 R 5183 0 R 5184 0 R 5185 0 R 5186 0 R 5188 0 R ]
+>> endobj
+5118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 692.168 173.467 703.072]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) >>
+>> endobj
+5119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 692.168 255.109 703.072]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+5120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.638 692.168 336.583 703.072]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+5141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.596 173.467 669.5]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) >>
+>> endobj
+5142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 658.596 276.947 669.5]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 625.024 173.467 635.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c) >>
+>> endobj
+5144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 625.024 253.426 635.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+5145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.513 625.024 335.458 635.928]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+5146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 591.453 173.467 602.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) >>
+>> endobj
+5147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 591.453 285.256 602.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+5148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 557.881 173.467 568.785]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) >>
+>> endobj
+5149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.282 557.881 261.735 568.785]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+5150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.245 557.881 348.19 568.785]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+5151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 524.31 173.467 535.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) >>
+>> endobj
+5152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.297 524.31 277.239 535.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+5153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.608 524.31 373.074 535.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 524.31 513.996 535.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 512.728 123.096 523.258]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 466.828 173.467 477.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a9eb55b3f27138d74d5002cc9782fd381) >>
+>> endobj
+5156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.821 466.828 219.422 477.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+5157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.677 466.828 260.404 477.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+5158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.846 466.828 374.312 477.732]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 466.828 513.996 477.732]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 455.246 123.096 465.777]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 409.346 173.467 420.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a2d68c082ea8fcddda6aa41afdd7ab476) >>
+>> endobj
+5161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.363 409.346 246.523 420.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+5162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.576 409.346 374.042 420.25]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 409.346 513.996 420.25]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 397.764 123.096 408.295]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 351.864 173.467 362.768]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a75d4c8a80362dcd840c664b8c3c8182c) >>
+>> endobj
+5165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.424 351.864 272.693 362.768]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+5166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.73 351.864 397.196 362.768]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.805 351.864 513.996 362.768]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 340.282 145.781 350.813]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 306.337 173.467 317.241]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574) >>
+>> endobj
+5169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 306.337 221.058 317.241]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+5170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.338 306.337 325.804 317.241]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.603 306.337 469.354 317.241]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 272.766 173.467 283.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) >>
+>> endobj
+5173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.804 272.766 260.36 283.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.924 272.766 353.39 283.67]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+5175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.189 272.766 496.941 283.67]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+5176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.194 173.467 250.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.206 239.194 225.013 250.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd) >>
+>> endobj
+5178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.35 239.194 311.906 250.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 205.622 173.467 216.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.206 205.622 225.013 216.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d) >>
+>> endobj
+5181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.35 205.622 326.292 216.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+5182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 172.051 181.215 182.955]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) >>
+>> endobj
+5183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 138.479 241.112 149.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) >>
+>> endobj
+5184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.449 138.479 328.006 149.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 93.949 255.488 104.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) >>
+>> endobj
+5186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.826 93.949 342.382 104.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5192 0 obj <<
+/D [5190 0 R /XYZ 89 770.89 null]
+>> endobj
+5197 0 obj <<
+/D [5190 0 R /XYZ 90 259.292 null]
+>> endobj
+5198 0 obj <<
+/D [5190 0 R /XYZ 90 225.72 null]
+>> endobj
+5199 0 obj <<
+/D [5190 0 R /XYZ 90 192.149 null]
+>> endobj
+5200 0 obj <<
+/D [5190 0 R /XYZ 90 115.773 null]
+>> endobj
+5189 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F110 1507 0 R /F39 2320 0 R /F11 613 0 R /F68 3032 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5217 0 obj <<
+/Length 2483      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�F��W����1�V��l9�(���

�
+$G"6 @`d���y� 	Q��l�^��<z�{���G���q������	�R�J*���(�Q�S$$�ZDc��ɧ�"&"��U���竛˫�k3vvys������# P������'
-���#����NZE�2����/g���i>�3�5�D����$�y�WeVL����]��u�����^�t=!$n,��Aהr�x��(Ed2%���n����f^�k�����e��
���b��yQ5��i��?&D�������U�ԋ�*�U:P"	��{J�dʸ����5mWw��]j�1/�&�kΣ���d�h�^ܾ�6b�E\�u�]�����Ip}�P,Um�W���|�ţ[�e��*R
)J��1u��[u8��rGV�b�V�Uה��LAk��#�Ygs�x`�/G�$��n��Di”��X�3��I�#�d�<��rg7e	�LO��Kme��lBq�ɋE^޻��}NL{� 7mV�݂��Z
�6�M�}��5�m�:��0_A����Ĝ�����v���˺�P?���Я;\

��/K�~pe���CN"KҠw`.�X��y�?o�"oG�,�yڃ�
M�"!�u�ʋ��IIE�$�����<�I���; h�
�>�j��p�j�����[�=5�˝�ie~�kϴͩ��.u����`�vDFo$7P� m���+�7.��1 �L�e耩�1�p�b���D9WU��4ƭ$Q(�)hN!̘[{��/�����(Iw��
=�E�g��T3�
k\�,�_a�kF��0
�ʡӪ���Eq�a��
��+3A��F����ۍ3w��B��1-u3vI�i��[��J�Tl=
7�Y�[׶���c:z��M6��`
�8G٦�U P�
+��՜�‘��3����u�z�*0�8L�� �.�&g�e����	�\f뵽g��V�;�n�֋M����u?��ҵ
#���~�'/{�

,��@xU���.4�u���h*��M��m�
��L𺚐ت�Gߎu�폭���Ah�KGH7�'�m
��$���=��#���H��A��Cla�wn�C�T��f��Ձ��f��-A�3�y��۷Ӗ
�M;�{[o��͂���]U���۲�6
�sB�����y/�>������o�`p����oV3e{���&�"��
+��^e��5&j�gQ0��k�R�v�~,MD����r��0�
+0��c!MW�,P�O����Y��BU�x~~��?��O�?g�@�sP�^T�8+i
+��S��0D�N j�XS�
� u
�i��9��,޶�k��w{�N�0�4��f�/(Eq�^(�pK�%(�E�8m�x�z�D_6n2J�*
�B��W#ꁀ
�:K����~]�^�\�1�)FI������
هJ�QI���ջ]~���� ����u����t
&}��<ѧj
n4%�
+��H��?�/�"���C�,Xk`�LN��7���T�ֵk;��M�oc�����4�Zwj��	�q(XP��Q�7��J��%������4c��&Jdr��!�X�cK��-�'H��TqD���
��\�N�WJ .�%���fu;�IQ
+	^2
Czw���'4J$�ίcv�fH���j
��	�g�!���^�An8[`p�.M�ҥiݒ=x���#�r5<�-�ȅ:%ZOMѡ��0;,��׳p�����Uiςį�c
�=>�!��MҨ=� �����k���S��e�)�X9d-:
+�/V�����S"���,D�\"� P �}qj���#<
+U��� ��B����_@��S�p�� �%�$ͺ
I�O8�X"���qN`3� 2�b�����B����V������À��-��)%9 9tWD�8"���(���Ɔ����^�wc ELv!���C��[��+�t�D����u�m�}�W�P�,
+�Hx��y�n��
3#�]O_ �!�=��z9���5�y1�
�Me�_֜�p��?��'X�G��ɔA7�^`��LJ�m
+SH��<�b��}�%o�p"�u�S	5�~�����T?
)Aɟ�~���P��pl������A
Q�8+��q'm��1�i�j�#x� )]�|�Ujo�]�x?yV
�mn��X	@!����y3B<��|~ʄB@4H���y}J��͟L볃��7�^�|��-v��=���w�̘#y"C�n�g����`
%�'
�ON���
S�DIZ�@5a���-{.G�J6Fs�
P�Ayp��p��W�:�k�\��a $�a�X/��jp�	e���Po!�H���g�C�J�`�m����݊Eo+ �%7z�-����=\��3��3����?�Ư���6"���)+7Y��`!��A�?� �Z�Gt���
��<���FBt�L�l����׳�}	�W�}G�]
n
o��w����Bp���-�>j
�'@��c :
+endstream
+endobj
+5216 0 obj <<
+/Type /Page
+/Contents 5217 0 R
+/Resources 5215 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Annots [ 5187 0 R 5213 0 R 5214 0 R ]
+>> endobj
+5187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.58 641.634 242.137 652.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+5213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.326 496.373 370.268 507.277]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+5214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5218 0 obj <<
+/D [5216 0 R /XYZ 89 770.89 null]
+>> endobj
+5219 0 obj <<
+/D [5216 0 R /XYZ 90 704.286 null]
+>> endobj
+5220 0 obj <<
+/D [5216 0 R /XYZ 90 704.286 null]
+>> endobj
+5221 0 obj <<
+/D [5216 0 R /XYZ 90 470.844 null]
+>> endobj
+5139 0 obj <<
+/D [5216 0 R /XYZ 90 448.468 null]
+>> endobj
+5222 0 obj <<
+/D [5216 0 R /XYZ 90 448.468 null]
+>> endobj
+5223 0 obj <<
+/D [5216 0 R /XYZ 90 377.921 null]
+>> endobj
+5224 0 obj <<
+/D [5216 0 R /XYZ 90 299.923 null]
+>> endobj
+5140 0 obj <<
+/D [5216 0 R /XYZ 465.707 247.629 null]
+>> endobj
+5225 0 obj <<
+/D [5216 0 R /XYZ 90 240.989 null]
+>> endobj
+5226 0 obj <<
+/D [5216 0 R /XYZ 90 154.79 null]
+>> endobj
+5215 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5230 0 obj <<
+/Length 2097      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�6~���Ӯ
�9��b޶�n1�H;٧� ��L"�-e$���}EJ�
Y�1��'���
��>2��c���g�����[�@!�(�{$WHD�k|
	Fj� ��vNp�����vNqX��OzY&�?f�ˤ��ܼ|��8,���
+
�[%Ue����|�y��J�B"�������f_fD���$� ]�>~��^�`�T
��tZ�2x����g�i�=�i
NW���+�1$a(������~��"��^@����`&x!<���rR�f���`_��Hq��&p�7AJ�=XO�i�� ���#
+��@J
<�P���
��030��ͩ���M��9KV��>)�L�����k�_���b�̼*
+��}M�DrJӨo�+D�@ѻ���S���'{���I�F��j����}L�h�2���^�����oYZ;�\��
+֙����	�������l ��^
�*��pa�#PBFE�
��7��e$#�@��"�'��HŪ�DH1��v�(��9!���#"�u�X��b�8,�@��84�����C�����9�-f�K0'�ϸ(J��ć(
SģS$��2�
l�K�B����w���nތ�.�r����=��.(q�#�ތ̻`���`�
����N��J߿ϟ7�rĐĝ���z=g8܎�����=A{��H�(�:}����O��1�K;��f�
��&[-]�K\�aϮ"i��R�fS@�,

8V�P	-�Dm����d��.�6�B�s���2��Ue�b?����� j��B���[�l�T�ֵ)�Hx���S�	�Q��[�����;bS���
+���F��
�H��E�q
	!R����3,�8$��b�
$���"q �5S%v6����9,
T.��P���?�Cݎ�9�/8���~��ȼp/�:]%�^�x<�A�Xv���n�
�`�f�>�4�T�q����B
��זI�,@�MZoJ�^���m|��a ���W�
�Ƙp��}始&!r��
v @���ѣ<Z��`�"��T
�(
+�'�؂Êr�K9ۓ��:Iƽ�/ɿ��5YcI
��Tm�
+O�,MV�m�LuDxK�Ժ����j��We��3�Ze??��eu�E^�
�- ��>m�b��x��1T'�;�� L�WZ�
+����8Fq$}��
�5��+(��F�}j��=U/$�M����+wМ
d�^]�*̣̟����3~:�7Å�>��@�3��Z�?�T��c~��'����A��O���
��!0�W�2.��u���:�e�}�
 �o|�����~�F0 8
F��-h;���D}�yL��7#�0-�/>�?�WY��Ӥ_������]%5���Uߣ��թ~7����dH���T;,"PY�~�	�
+��" y\�}�+�R�QV2�n�X�ٸ��>տ��^��a+ H"|� ]�x
�`T6���#
+B��+�W�l��*�$��
�=�>��'3
f���+E�z��bOіX
Vt�W
�
�
+N-���y;��B�
�q*̠ʾ�g|�B���m�3��vxJ܈�����7��$��
 ��:�Ҧ�^����jSv��;�?N_.ޞ�cT�>��*̣�F
�6;8�"Ng/f8��{Hr{� B�^"��^|�������^<����	��{�x��rw�we1G�-#��,�ז��x������ʈ���T�E��T���
ؔV9�ו��1D$=��\'�(�H��(ò�o�6�f��ڄ�x at c���
<���Isci>dndS͘Gn,itʍ��_���;z��
�W���GAr���zgi½IS��Y^)ɸ[�%���,/_��&���}�ň�+�v�~�@�
d��h^��T�1��
+;�+��{;S�d{�0�������K����ǐИ���
�=�UM������h�'�1��^�J$ڋ��|���h��t�Ϲ�K&?%�&Yٶ!����G�;�A6�
J:Fp�Ak���
��fM%�Ŝi�]y=����۷�7���QZ�_2��
�eW�=�g]�����r����Z��&�mi���_`1��6=���c;нx�~͂o
X��n�	��%
+endstream
+endobj
+5229 0 obj <<
+/Type /Page
+/Contents 5230 0 R
+/Resources 5228 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Annots [ 5227 0 R ]
+>> endobj
+5227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5231 0 obj <<
+/D [5229 0 R /XYZ 89 770.89 null]
+>> endobj
+5232 0 obj <<
+/D [5229 0 R /XYZ 90 718.682 null]
+>> endobj
+5201 0 obj <<
+/D [5229 0 R /XYZ 90 684.012 null]
+>> endobj
+5233 0 obj <<
+/D [5229 0 R /XYZ 90 679.529 null]
+>> endobj
+5234 0 obj <<
+/D [5229 0 R /XYZ 90 591.173 null]
+>> endobj
+5235 0 obj <<
+/D [5229 0 R /XYZ 90 513.176 null]
+>> endobj
+5202 0 obj <<
+/D [5229 0 R /XYZ 90 478.506 null]
+>> endobj
+5236 0 obj <<
+/D [5229 0 R /XYZ 90 474.022 null]
+>> endobj
+5237 0 obj <<
+/D [5229 0 R /XYZ 90 385.667 null]
+>> endobj
+5238 0 obj <<
+/D [5229 0 R /XYZ 90 331.978 null]
+>> endobj
+5203 0 obj <<
+/D [5229 0 R /XYZ 90 285.353 null]
+>> endobj
+5239 0 obj <<
+/D [5229 0 R /XYZ 90 280.87 null]
+>> endobj
+5240 0 obj <<
+/D [5229 0 R /XYZ 90 192.515 null]
+>> endobj
+5241 0 obj <<
+/D [5229 0 R /XYZ 90 114.517 null]
+>> endobj
+5228 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5245 0 obj <<
+/Length 2404      
+/Filter /FlateDecode
+>>
+stream
+x��Zko���_�O�
����Ig�lg�i���
��8Bm�+�����R�$Ӗm�QQ()yyH�{﹤q�p��ӫ��

2��`�

(n����<�2"���N��Ԉ	��Ƿ?�O?�O?�wW�W�\x�RH�`����sx�}�3:��l�
+8ep]���z�
�����␁-!�
#�(��	��
Ɣ��l
""�#
6lo��)\md��PH�y3:J�cBFۗh�u!0
+q-�@@1F\q���)
��D��77���S��|��9Csj�D�Ҥ�1��
��a���d<���~��'\��,M��B�c�҈
�<M�&Jf���m^D���A���o����&�V��-�+D#-U�pN�4�0	�:��|�U�/��z���k�Ե']'��ݐ`B)"XW]?l��<��xV���N���+?g��k�W�Qާ��u�,W��x��B��j��K�m=N^�,.
��n��Ù��ǫ(��C=bӴ
z
�Vď-{`�"tF��Je8	WQe�P�oo���?|[����c��@�u2XJ�.[��Y��M �DX�2
+�+j�V+��u4�9R��I��P�o
_+")<|
�-���P��hxz�䎚���$N{�lY�N�J�|��:N"��@; �.�x6�
͐��K�b��5&C$v�2� ���A�ڇߥ��K�#� ���
H�ݤ���aF���1�
��dt!�NF��c�	O 6y��o�l;[F�w�zStY�
)ܘ�oV�1ãmL�@V�}�p4�&���R�E3�� �	t�W�+���
0dn�T\I��3ي2X��J� &7oR�ѩ<O�jI�%���+x�)���$מ�@�3�+��뙤Emb�
�hޡ���P#�&��7Fk=E�p�G�
N���$W�7�6�p��fVl�Z۬�mu���X9^�Z�)
�p�>t�=� �"�z@��b�R�C�`èkj���`
osɶ�S�H�W� ����S�%\�dʷIΊx.��:�?��=GY�qXD5�b��4��kՆ�)�eM~�X�fy?F^�
�	&��CR�r�g�9g���9a��
s��h>�0���A� ��
���|��0?�=�� P�0��
+s�v���w� m������&.s������kyN����v��[�3�01�V�MW�e����e��]�9�8��d�������S=�CWMB 6I����
o������M�'|:���#����Ҧ
�)H5A�(W��k�
+6
l~)4N6����LsGT;|�!���b���y(@��惿E�3
��I�3ȓ���X�A�I3�HP�
0�Z9�K��D�@�PLO��W��!�������˱��`��!�3���9�B��0����h��\�Q�><z�n
�B�6�4,��b��`�v:ܛx��P�����>��!��A7
�a��ڹܛە��IQ���K[�4����&���KJ śC�b����V���]bc?h�����>���
����`T��wB5S5��r���wIFH��z�fF	�
�Q� �zΉff�-5��PtRaN/�	��)CB
�2^p�Jźz7�1X��#S��
+�F�~H_;�J�����
+����J� [���`v�?� ;&�hu��O���~�R떞��J?�α8����N妷J� �?{�/
����&ܗ8Y�I��*�ʗ6����a��Q�іR���tS�2�5J_��~��)�gHy���.t�ۯ��~�l�*;d�$L��M��5Y�y�ϢY�G����Q̖�y����
T���_Ok���"�/�VVw/a�.\�������ʹ�H�!���X�LWa����'Z�M�Ú�q鵏�|'�Ni��hJ�'��s�K�^g�k��ԯ��|zG�`M23d3�Ŋa �(g��1�Z�a�^ƼQ7�v
]�\�����[�|���-��f�A�2��t���Y�. ۝	�=�=�WgΨʟ��7���6+�"@cc�~�G�J�-�n;��d1��Fϧݒ$98ՠ���J�b~s���E��e٘�V�Nӝb�4fC�f�����D���a�̟��%K�ۯ�#����^�!�}�T�}����Pe
��
#NZ9�ڱY
J~g�F�(�*��uC��
!9mV��p���Z�e�6�$ �TE�vc[�2ہ>��)w�.�j��,�a=�r�]Jp�'�HQ�����8�[%~�q0QeU�v�˗u���nł?�`�57{��`Me
����4|h{�X����ç���y��v,�ȥ��dS�r[i�[;Q����i+8[ @��9�\@�p��������;x�c�)c_�b}s}��Y�2[ H�uY��@NhK���#�UZ���	<������<�7��?�
+endstream
+endobj
+5244 0 obj <<
+/Type /Page
+/Contents 5245 0 R
+/Resources 5243 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5109 0 R
+/Annots [ 5242 0 R ]
+>> endobj
+5242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5246 0 obj <<
+/D [5244 0 R /XYZ 89 770.89 null]
+>> endobj
+5204 0 obj <<
+/D [5244 0 R /XYZ 90 721.073 null]
+>> endobj
+5247 0 obj <<
+/D [5244 0 R /XYZ 90 721.073 null]
+>> endobj
+5248 0 obj <<
+/D [5244 0 R /XYZ 90 640.379 null]
+>> endobj
+5205 0 obj <<
+/D [5244 0 R /XYZ 90 605.709 null]
+>> endobj
+5249 0 obj <<
+/D [5244 0 R /XYZ 90 601.226 null]
+>> endobj
+5250 0 obj <<
+/D [5244 0 R /XYZ 90 512.871 null]
+>> endobj
+5206 0 obj <<
+/D [5244 0 R /XYZ 90 453.892 null]
+>> endobj
+5251 0 obj <<
+/D [5244 0 R /XYZ 90 449.409 null]
+>> endobj
+5252 0 obj <<
+/D [5244 0 R /XYZ 90 378.678 null]
+>> endobj
+5207 0 obj <<
+/D [5244 0 R /XYZ 90 331.654 null]
+>> endobj
+5253 0 obj <<
+/D [5244 0 R /XYZ 90 327.171 null]
+>> endobj
+5254 0 obj <<
+/D [5244 0 R /XYZ 90 214.905 null]
+>> endobj
+5255 0 obj <<
+/D [5244 0 R /XYZ 90 148.863 null]
+>> endobj
+5208 0 obj <<
+/D [5244 0 R /XYZ 90 81.969 null]
+>> endobj
+5256 0 obj <<
+/D [5244 0 R /XYZ 90 77.486 null]
+>> endobj
+5243 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5260 0 obj <<
+/Length 2280      
+/Filter /FlateDecode
+>>
+stream
+x��[]��6}���S�b�)��LS�M6�h���k[�,o3�~/)QmI�ؚ.R̃$�������
J�Ç!6�؜���tp�F��FZR9��5
*���p5~��xB0ƣ�1��0Y��7c�G��q͓����.	�Ǘ/_{7�$ś�
+<z�
+w�����}d�E�Y���lD��8�~:�}@�5<$�+�`8[>}��9��#��t0��6Z9ep\
?�5�^�66���F"�

QDp
_���0��'Wo�U��RH� :�~���l+�x� }�F�p
�������bgy�����$�����J��64�u[�(ҁ.�u� *��%�f�(�蘐Q6��0L�Ҥ��]u C�x�
�jz�p�K�<@\����D �k
�#�T�p
p�x��01�

 � t4�7�4C�7�'T1� %0���l������u��
��!
 ��9Q� 	��8�ڵ�ƙP6�kq7QQ( ���1����2}�ͪN�Q��$}���<	�z�]M7�")���㟿޾����������ZFB�a�HnTTDž1�U��|ZnV�M��,�`i����
	�\�Oї�j9[��VQ���Ȫщ��j�a��c�\��
�e<;l�
+�{�O�{�����3C��|BL-�Y�ETor�YD�2ͻO]��6����:�얅�M_]̝��s�����.w|�D��.r���y1[�����4���/<#6�eFKȭ@�^9�%"5�!�|{���Ż���4�PI$��}��/����j��J'!��*��&�o6��^5�*N�
ISC1u�#�oS�����nxS�H�4$�scz��.�љ����P(3�@W��
��"��<��e�`�ۢE��VO����iZ �ފ�dW�ȺХZdy.M����\?�:�~�[>l���-<,j��!���Xs�n��2\e�
��N�<?�82&E��'"��'5� ; e�!
bb�� B�,=A���A�B<:ʐ>z�eHk:�
\q:��+�	��4|�7�Q�(��
+
z�(ѮG'�^1ѠG�׼E���#�O�#L�FA�y� !B<I�`.N
+���_K��g݄I }�p]&p��fN��iU���u�ڴ�y�ޞfJ�trh>W*ƟB���a��ʕ���2x���BF��B�ڍN�o��ݢ%���	�{?R�.
+΁&S�jN�y����sc��g�6��
0I8�^}[��E�]���6��U�\ms�K�P���i��sь#0�t��<��Ie�@�
+�
Z�=j�%��>�."��L�#
��iЃ���]u�t ~��>z2��l
�E90P��

a 
0f

��I�8�5�%Q�����弆�[�o���Vu!��L
���>��O���L����Ӡ��C�;���)"~�R�t��C���ݪ�&�>�Ͼ�o�|� E<_� F(�L��n�2��'�L�2+hR���
��БZ>�92=��Q��i
~0I�M>P}[���A �C�J��ٻ&�\�|�K���\������h�
�}ӠGd^`�$Y�����o�Xw�l����y��|��.{
t��=t����t ̗{�sO`�)�vڹjf���bߵ�ۼcj)<t�
Y�4z
xTG�'
���t�
�5n���(te��@a��[H��M�<�r�5�QW0x�~���X䕳�#��\t����S�����"W��G�; �6�o��Y�1n���g�����L��y
+3��“!���.�W�����`Vp	��T��<���'�����k
1�(�s}��ɢU_a�K�P����)pUo��VS��)0���H)ߡ�~��{�j<�S�Q`���
+5	�MM�6���o �Fy_�e r��~�
,����̸~	gi6��-Ѽ�إ�>}Aa���o��N �D
�<�Um�yX�k1Ͼ
��2ޚm��߅�f'k�2�Ϻ���{����bV��SErR��m��<T��5�5k����zl�_R�`�b~g�B6�p�t��vkK�M�qM�V
��� ��ݰ�E��@�(�'ȋ�;��1��l�
w Zh�}����2a#�G���`
u���=GYB����)8)SRJ��(kB���ͻ���]����ܭ��f�䗙��5�%�nA�L4�0��(�?s�?Cw���&�t�&[~��H��˫����.�<   �3�d����>N�.[��4�qm	r�P�����L at 2"�����_���t�?\�]��u
	.U�� ���\
+endstream
+endobj
+5259 0 obj <<
+/Type /Page
+/Contents 5260 0 R
+/Resources 5258 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Annots [ 5257 0 R ]
+>> endobj
+5257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5261 0 obj <<
+/D [5259 0 R /XYZ 89 770.89 null]
+>> endobj
+5262 0 obj <<
+/D [5259 0 R /XYZ 90 628.424 null]
+>> endobj
+5209 0 obj <<
+/D [5259 0 R /XYZ 90 581.4 null]
+>> endobj
+5263 0 obj <<
+/D [5259 0 R /XYZ 90 576.917 null]
+>> endobj
+5264 0 obj <<
+/D [5259 0 R /XYZ 90 464.652 null]
+>> endobj
+5210 0 obj <<
+/D [5259 0 R /XYZ 90 417.628 null]
+>> endobj
+5265 0 obj <<
+/D [5259 0 R /XYZ 90 413.145 null]
+>> endobj
+5266 0 obj <<
+/D [5259 0 R /XYZ 90 324.79 null]
+>> endobj
+5211 0 obj <<
+/D [5259 0 R /XYZ 90 276.499 null]
+>> endobj
+5267 0 obj <<
+/D [5259 0 R /XYZ 90 272.015 null]
+>> endobj
+5268 0 obj <<
+/D [5259 0 R /XYZ 90 184.076 null]
+>> endobj
+5212 0 obj <<
+/D [5259 0 R /XYZ 90 161.319 null]
+>> endobj
+5269 0 obj <<
+/D [5259 0 R /XYZ 90 161.319 null]
+>> endobj
+5258 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+5294 0 obj <<
+/Length 1700      
+/Filter /FlateDecode
+>>
+stream
+x��Yێ�6}�W(�Z@��U�"@����ɺOI`hm�+T�
YΥ_�!%ʒ,;��
h�LI�p.��ph�<��6x2
\\I�)�xӥ��'�B"����nH$�?L�{,Q������zz�zzm�
.�����GJ�Л��>`o��{1z���)��Ļ
��J��Qa���d�5
˜{�0bQ�s�e�7E��[�Ёȃ-�
��� 	*Ojo

Z��o˄`(/P
1�	�0� %DG,�_�i�5D���#
+^����[6���i‡�03b$�+��-�q��
?EI��E���p�[�(�u,
s2;��` �v-e�#�S�MR�e-C��y�S1���#*�0^�.�(o����8
�ǘ���hNB*�����V @
ד�t�#�(�����#%Dܢ���R�E
���Fq:�֛��o�NK0���G	dDB&:+)�!�
F^ $g�A�y2�[�G&;���Y^l`�h�D�j��'xU+��<*�Z�gk�T;aIR�.NW�+�M�	
8�& ����=��H`<�lt{[���m&.#G��#'�r�*���?"M|�T��L�
!Q`������e
Wj� �Qd�LGƉ��0K|B�_o�"�с���@a
 h��2��!׍�����i�-zT�
�P�G	2$m�p�d =���֌�;�֌ Q���=F3	�����!�R�����&�[���L�KE�`.��RN� �B}�n����闞�N9�6�YZh
�O>�(�� ��)~PPLJS�n7���K�F=D6u�
���~Df�@E�WY�*�R����rQz�H��:�O�,K��:��$�\�7o�җC��t�[I���G��PȤĪ������y�`	oG5��Ē��8E=�C~�(���'(��n�˙�4f
+��
+;�nɒH�=���
9��0
�����'�Ҍ;�ނ�Ed<W
�U
�;�nb�
��M���ɳ2EV�q�
5�>�ui�֕�($]�[�B)k�,�>�b%��b���
+m��RV
Lܚ+�t�-
 ��=���e�^�8>ٜ �����{
�F���G(šI�fFch?�uՋ�g���5��9�U�#�Ө��a�
z:������X�;2�+���nP�A����"]�e��(��*���$svU���BPC�Vq[�1(1�m,�|�le( �yF��&0M���c��:��S
��ޝh
�qʞ^׍&�{P,��[S����б�J��I�ί��n��{�z3�]6dB!QBv�ssW��i��a!�-Z�R�Z�}+�G��~��2�9(�>��Vf�M
jș��v �,-D��O�N�P�~��|�h���f[�Ѽ�]Y��L���8/i�d_�
M-��K����s�$���n1��T�.1�e��o\G�
pK��ߢL���lf at d.f���C!3!��G�tx��@
+p���
Hm��;���ӓ���.��o�Ǒ�&˒���A���/�]n>���A�ⴌ���Պ��[��@ ���v��U���mz�qլ��vI>"յcÆ�	i_�R$)��_9���	��)]��]��]�.����k�h!A
�V�i��N&/��[���
1�2ǫ(�E��3�޴�|[_�����?b@�k��U��g��������D��ۢ،/.nv��NWh���[#%@#*�]��u�.��ti���6h�o�r��
+endstream
+endobj
+5293 0 obj <<
+/Type /Page
+/Contents 5294 0 R
+/Resources 5292 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Group 5272 0 R
+/Annots [ 5273 0 R 5274 0 R 5275 0 R 5276 0 R 5277 0 R 5278 0 R 5279 0 R 5280 0 R 5281 0 R 5282 0 R 5283 0 R 5284 0 R 5285 0 R 5286 0 R 5287 0 R 5288 0 R 5291 0 R ]
+>> endobj
+5271 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 5302 0 R
+/BBox [0 0 418 144]
+/Group 5272 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 5303 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x��UMo�0
��W��%�aI��C�a��
�ء�!m�C2`�a�mي3�-z
���D=�'�Y��6�Ѻ�U����o��yzě-����������wH5���
+��x��6�"��#~�\���KdpeQ�Y͸
I�&LN�B,2TԩN`���� �)���kj�01v'�9TT�h�p����m�F�V�ib[k5�6����r9��A�@���מ4�ns����a����=�~츘�;b{��T\;�v��I�aʄI�35�#W6���-sO 
Lf��\�b
+��Ʃ~e�`�XN1�"2�f��	���l/$�`�Р���V�h��[4��U,׿�
+��l�L��f~3T
׬��H��6
���9��g�K�Pr�RK��;��L������n�
L����1��"q�we�y�)]���_O�C��3[���9ø�ٙ��M�Z�J�����F[���h���W�	�
uA�?���f?ɵ�"٤�ޜ9	����������gb��ц���)���u�A��z
Q�����mb����X[�}�#���
~^����9
�k
+endstream
+endobj
+5302 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+5303 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /YQTHCQ+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 5304 0 R]
+/ToUnicode 5305 0 R
+>>
+endobj
+5304 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /YQTHCQ+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 5306 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 500 278 611 556 556 667 500 556 584 278 278 500 611 278 584]]
+>>
+endobj
+5305 0 obj
+<<
+/Length 5307 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mk�0����
��E��.�P����? &�Pc���ߘ7l����L�1_ڗV�+�?�,;Z�0jei��V��:ꈧL�r
��r&�]r�-+M�
樮Y���j7vxVsOOc,~��쨯��}���C�%Q�0E�+�*̛���>��*�����v|m�Xꙣ%9+Z��d��RT'n5�
�j"��_<
i� o����mO�"i<��J�<U)(GL�
+�
��@H�N�r�;�� ��
$=塊B,T!P�l�	O<A^�_~N���KP�#��
+�
}r�Up����/C�
~i��/��_N�_:�_�?�W�n��}�#�ֺ����e��Q�c��l�,��ц��
+endstream
+endobj
+5306 0 obj
+<<
+/Type /FontDescriptor
+/FontName /YQTHCQ+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 5308 0 R
+>>
+endobj
+5307 0 obj
+357
+endobj
+5308 0 obj
+<<
+/Length 5309 0 R
+/Filter /FlateDecode
+/Length1 2588
+>>
+stream
+x�UV	l��
��+�qb|5qq�8����r_N
�$�ppHR�
i�iVh���
+m��NT;�m�֭L��Ƥj�V���R���6�5��`G�|����@f�
��������{�c��8s
J�f�}���e`u�ɩ�Ɏ��̏���Dl������cA�ׂ�tI<yta�i�I���<5s(�ؙ:�2@�J�f�\ �_�E�9��+L����Kmz� ׊�4)��W��:x'���� _���U���mn�Jp�<�*≹��#䜚{�5�׸bdN��Wf�ֲ�m�U�V��[Y�0f�	n�Io�~��^�(�:��^㯧=�q؋��۷�t
+��Q�Alܙ�i7�W�"�ޑ���󱺂�
�=;wթ­y]u>��Qg��AߛYZ�i�8
+�rs4YJ�:?��(w���vVF��Zg���Vt��i
F
��`�'�m��H$�S�\�m���'Ż\;�[P`O��
+{l�b�[���n��͓���'V]����5BG��ڮ��PuI�]|�n�q���n�B�)�<��T&��7��`��fr
KR�$B3�z�R�r}�b�ь|x=ʝ;���쉥��P��u_/����7Ν���=ɫ��plZ�EL��E9�� �/F�����S���!(���+��K
+�@�W+�����m�E?;�"׮�8�%����N��t��s�2`|A�+z���!�vv��+?�+�?\e=M�Q��r`�૑2Vj3[`�_Б�0�X�*��0�s��Z��Gr�
�^>���3���Ȟ�}�:�[��'�FW���+�㙏xށ�9�
+K�v�,��|�^�F�NWq����&����D"�M����
U��p��>���
�LEg��M���bk3��?������Y���q����Mv��0��v�k?L$����l��X��8�|r�����G9��O��Ǐ�܄aM-O��/��{��7��Ù+33��i�R�?Fneݒ^��q�G��r�\���)E��W ��o��/p[q�¥w�/v͍߮�>��
<�?h�i��Ӹ{�p��v0����z{���L
��U���@^K�}�
��BԑT�#�f;m���Ϫ���fGUp�s��c4���j�P�m��
��Z����8�`n����D�J
+�Z��uW����8ץV��/I'��%�uNj|
^�$�7X�r�
+wx���\�"�V`P�i���l�K/�2�f�!3�-d��FhU<J��-��W�V���$��
�
���W�>��n"�~W�R���� �S�������1���ި�R���8�f|>>~l|��g�k�sxZ�n.Roؚ������‰��
u�]�������ј�]M7����#ѱ${��|̖�$av�K�����8Nߦ��6
%�G�
��
�2�ݠ,~�J~;���~:��ű�w�:e]��Ƴx���lA�}h�f<�잊/
��5�,�9���}�ԉ
A���&<s�����	SO�R�29��������}�r��3�k�jݵ�Z�%�*���fWV�p�J��(��~�����}���U���hl�.�����>���7,.��
&��+�f��DžW_8� �G�@��Z���I�u��[E
�����O�B
����Ô��z��rw{*���RR��9ԬK
�d���JT 5�� r��)-n;
�].��5�33��ǐ�|&a��mc�YZ"
���5�S��g+��D_�kџ6Ư��T��� 3؆
�_��A�_�~jm������_�5�o�!^�*���*Y�N�]�>e-t�1�+G�G
a�	���l�����S���b�뼅�9�u���;���8ֲ�g¼��u;p��Ժ�x��E�w����
Ƈ�ނ7J4�x�).��}��w%�UJ�D�DŽ
+o)���
+un05�r�/�M��h�����Y��s��"�d�#z\�3׃����fN%C
+endstream
+endobj
+5309 0 obj
+1947
+endobj
+5272 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+5273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 307.322 224.395 318.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 284.388 189.925 294.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+5275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 284.388 260.898 294.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a56648c2436a8c8b290e54ff23a69d7a9) >>
+>> endobj
+5276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 268.82 422.545 278.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.62 224.395 254.524]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 220.686 232.982 230.613]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+5279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 220.686 347.013 230.613]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a311e87a81daa4ca81dfb5ff62bd29b0f) >>
+>> endobj
+5280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 205.118 389.11 215.023]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 179.917 224.395 190.821]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 156.983 254.671 166.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+5283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 156.983 390.391 166.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_aef498310bbb162748eb0cc7c1bb07fd8) >>
+>> endobj
+5284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 141.416 465.458 151.321]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 86.662 169.81 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_ae1df79fdf94dd23fac62d57fe0681842) >>
+>> endobj
+5286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 86.662 309.485 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+5287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 86.662 514.653 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+5288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 74.707 227.553 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+5291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5295 0 obj <<
+/D [5293 0 R /XYZ 89 770.89 null]
+>> endobj
+5296 0 obj <<
+/D [5293 0 R /XYZ 90 718.682 null]
+>> endobj
+1230 0 obj <<
+/D [5293 0 R /XYZ 90 631.047 null]
+>> endobj
+174 0 obj <<
+/D [5293 0 R /XYZ 90 624.356 null]
+>> endobj
+5297 0 obj <<
+/D [5293 0 R /XYZ 90 336.244 null]
+>> endobj
+5298 0 obj <<
+/D [5293 0 R /XYZ 90 336.244 null]
+>> endobj
+5299 0 obj <<
+/D [5293 0 R /XYZ 90 272.805 null]
+>> endobj
+5300 0 obj <<
+/D [5293 0 R /XYZ 90 209.103 null]
+>> endobj
+5301 0 obj <<
+/D [5293 0 R /XYZ 90 105.253 null]
+>> endobj
+5292 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F22 2996 0 R /F11 613 0 R /F67 3037 0 R >>
+/XObject << /Im6 5271 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5326 0 obj <<
+/Length 2463      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o���]�)����0� �
N�B�բ�
ԉ���+w�l���䒼ө��E�������f�ۙY��6�ٟN��89=S,3�H*�����LI�%��u�!'<��q~>!8/6���|Bq��?ޕכ��mu�)6�/_�*����|U���6t����w�כ	�y��V���Nj�O��J
G�
��-��%
�<v8;�|��ˍ��I5���(�?��vp6e�#�E6%!�qg*�(Q��!�Z�U��!3�ǫy��N�T��bbh^.��.}˻��j/g��))r����介��Ñ3�@�)��'~��54�aČ�>�N��S�����_Op�_���ӰL���;y�AXg
+P ��o�eYl��� y}.�������r�U�-��m�PƖm
���վa[��pۊ��Q��3�;@N)E�S��R�E�H�He�[;W��,f�� �;��.���~rΰ��a�~��
��\�q��e��}�3��M�jb�FS�zE�*�[�^Rw�
+DD�^1f�Kq��6
��*̔.�l���SUߍ�D��r�#�Ě��e�
T�a�.&�e�W���{�+����u��s��sbd���,��a�����	g9l�>�	�
V=�K��5�Or��
�i�	D����n.#���
��vlŔAD�
�:]"GF7�4�挤2  �n�T��=���}5��&
3+��V
���m!��W��Sj{(���,W7�z
����5j�v��V�'f|�
XO�#+�8��`G�N#.u�
�L!�ۃ���fw��6���xΦ~�Ξ&�DHv��qS$�h����FBs?ͻҞ��@T�g��Y
�n��a�7����r}Wԍ_lCc�	�Ux�(Wpp�相(`�P��-�ÐN:������֘����3
�m?��z�m	 5TR),�E�cm��/ �!}*I�!R"݆g_�x03FZ�Tr��
\���~�����}rT
+Q�_&c��t��>���LU�����l �LςE�P�Ŀ�P��*Ο��t�;<��P��]QW�擰���C�D�0��o'\C�Gǿ�˯���E�����`�r��;2��h��ʯ+.s��Yޕ��	a~�DDi�.�b\	�P�y]�E5�3B�5�T���SnH0c�H��Ld�q�
�L� ���\�dLP���{*
R
��8|-#1��Ѹ��
+���@Sm�@�G�P����D#lT*�ńkO���V�B
E�w�
�*MR��v�	�~��Tkv�
3�j(r�*��]p���	u
�����T��	��jn7�/;E�@P�
E�g�"��9��C�sD%\��" ��o�.#j��cH�迳��
�L��.�6�
nnH�$
	GX�@:9m�rz��<�ے�^��ĝv��R�
E|͑R$��rZ�P�>�!�''�G�ё @��Cp
{b�#xi�}gHL
�슀���P�.�p���?���Q�/���t�z�sn��}���~�X�r �e����0<��

��?�^Ұ"tƳ)����
W��,��ִ=�݋ ����
�]�k�������a�d �hM�)-��ކ5�’qq��nBK���vA�{[�s�&e�@��l��h�z�ն�4�׫EQ�,�M}Z��B���dZD,��
,�
��}ڋ�`H�.��
��(�@f�0��@2)��ս/��?�{v���8�ۭۻ����M
dc�=��b�.s�q��/����Np���V�i��Bk(��SiwJ�5�;�����$����-G��ڸ��
tR�mu��a���j��`c*�E�C�l$���Ėw�G%�i���:� }`MF�>&.C��@�]������j<]-9*�b,v�Ջ�i�3#2I8%d�D//�M����!�
zC����_��� �W�D��dfZ��
(���������6���Q��77���K����{EX�#��;��v���Xb�¯�]ݻ=+BK� �j]n
+{��yF�JO��$xi�iHj{?�k+�/�ޢ z	�IS��x|��;T�L��@��=\ 
ǔm�2���W�x�c
Ғ��.���ݓ���1Ȁ��A�
"Zf]�~3�T�0AR0��G��ĵHϳ�U�Ĩq�	ը	GvkgM<fgl
������O�����d$�z��dt�7�%)Dj�?��)�~ǭ��Q���6vé��k�d�~�?���u�g!��g�2žp1bm�C,i���(�e�n��E��0�1Qb>���t�r&|z�
<�����$d�	V���e���8|��/�\.��P0W���dL�������m���&B�ᓋ��+X�[W�(7���/����
�{���ŧ?��4�sfk�	;��z������2�[4[-��~G�¨0�fn��xa_-}��$�d�Q`���	 �'�d0Q��
�g�2

�o,{��ۏ�~�jDŽ
+endstream
+endobj
+5325 0 obj <<
+/Type /Page
+/Contents 5326 0 R
+/Resources 5324 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Annots [ 5289 0 R 5290 0 R 5314 0 R 5315 0 R 5316 0 R 5317 0 R 5318 0 R 5319 0 R 5332 0 R 5320 0 R 5321 0 R 5322 0 R 5333 0 R 5323 0 R ]
+>> endobj
+5289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 695.329 169.013 706.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_ac2aa68157ca89c0b63725c3efcdd9200) >>
+>> endobj
+5290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 695.329 306.008 706.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 633.793 258.274 644.697]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a2c0a4ef9e072d80fed2be806ed3eb825) >>
+>> endobj
+5315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.042 633.793 372.526 644.697]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+5316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 597.229 266.023 608.133]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a22e9347af75b6aac3d63edecff007a34) >>
+>> endobj
+5317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.868 492.74 156.234 503.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_aeb54a606e241519ea2831af487cd4625) >>
+>> endobj
+5318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.002 492.74 293.181 503.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.777 492.74 513.996 503.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 480.785 191.18 491.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.868 441.582 156.234 452.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_aeb54a606e241519ea2831af487cd4625) >>
+>> endobj
+5321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.002 441.582 293.181 452.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.777 441.582 513.996 452.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 429.627 191.18 440.531]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) >>
+>> endobj
+5323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5327 0 obj <<
+/D [5325 0 R /XYZ 89 770.89 null]
+>> endobj
+5328 0 obj <<
+/D [5325 0 R /XYZ 90 712.265 null]
+>> endobj
+5329 0 obj <<
+/D [5325 0 R /XYZ 90 650.45 null]
+>> endobj
+5330 0 obj <<
+/D [5325 0 R /XYZ 90 612.173 null]
+>> endobj
+5331 0 obj <<
+/D [5325 0 R /XYZ 90 549.674 null]
+>> endobj
+5334 0 obj <<
+/D [5325 0 R /XYZ 90 394.052 null]
+>> endobj
+5335 0 obj <<
+/D [5325 0 R /XYZ 90 394.052 null]
+>> endobj
+5336 0 obj <<
+/D [5325 0 R /XYZ 90 331.401 null]
+>> endobj
+5324 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F60 532 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F90 758 0 R /F39 2320 0 R /F75 554 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5344 0 obj <<
+/Length 3100      
+/Filter /FlateDecode
+>>
+stream
+x��[ko#���_1h�VV\�N[ M� �&q��݅!Kc[��qF�u6����ypD=��4H�I�����幇4��2�}y�ϫ���eIevu��)n���n��%�﮾ΘԈ	�r��wW_|w��~w����Og���R:���޼��
>�:È�=�F��S����ٿ�p��{�`�$	�|�S1z?&b���&�hj_��-Ƭ�V������X�+����??��f�(��ߗ�tz!� &I=��7�
��
S7���Q߳b�PlU
>��T�tz�TE,2��*���AXho�L8'����n���Q�ReŴoH�K�fNXSs�M:�>O�T;l
��8̥�m�N#�M`(����X}��#,�o�K"Ɖ���*3z
+��k�-U��s��|o�1u�� �@`=!j�k�u>-�*��(W	O9��X=ѯdH+^7�M7�o��S����By�>d'�6‘d�c�$��l|�F.�`ǁ�

��3�4b�7��F�rYX�<m��'�BR�لj�
�q �	b|X@�v�V�)"tS4п��3F����@*�G����I�W�rqw20��b����͡�D��F�'�ʘ�)�����	��6؊�@ip�"!X�ʼnq
+dz�+�ae{�M��$	'~=8�nx"��9o*N�o�͛�?�4�HIՎ�m;��Є$����&N��
�T7�%�L`T�.a+�P0���>��5����QFk��\�?">��Mr�m��d�gv¼ 6@
�\�>�$�>;��,���w�!|:].]�a߬�꾘�r��A�](�~���X���)��N}������Z��h����2_�W��絔a��O9F,]�eY��g_J���LG�tDV��^ܨR�(aD:��Z/QgV��`�DQBm�E	���z�bo?�p��
V]۩���#g\'-��3#P�K�B=#�
����$4���7��c[���[��F�
� M�� �b�m���m�
]<�g�-wݻϋ��*_W�*T��[q�6[êg�D�	=T���JJ��6��oa�q/w5
��z��-'���m�B��a�B�����	��i�'#D=�Ué3�Y�0_٢q<�^N�c�a��A
��#;p5�za�!xa_�qa
f$�:�-��X�n]@қV��
`���#1�+��}n�"��H_"p� �rL�h
+=^_�)
�����^׫KĄ�W׫�M9-?����u�T��z���
�V|p,��Վ�7�.9�#
�Fp����]'��aMqe�(�
+q�o��@��$��E�����@p
Da�@pȦ��؍������s��/~�
+K�&V3"M�`�IN	S�Xh
�k?[ �����O�
x��*<S(��XZ���z�*��
�eU�m
`��U&`oP�)!�a�0�/֖�!'x� ��� l�n卽#���r�q}a5��#�%b�>�
؄I��
����vܬ�+!^�b����nS<u���;�GD"�&�툤�,�j��.

+
��qY��

�);�Н=�����y�(�����>��`[�",��!y�%��o�Г��g��:�/w��ᄅ�v�ƅ�q)Kd�rL�����N��F5���"36
;Q�o��P�!��eZ5#(n�
`�6{س��_Q)W�/6	�l�1i�CϡD�:�.~7� � �}RJa��5"���t�aO�R"mb��ר��o�����1疠
8g�|�u��5��Z�n2�;��j�U��]'q$fXo��D���k�r
;uc�|��
5LT��PA��P9tU0:�9 �].
[����������3�EX\�
�
�W&
��"�������I����U�O;v�!�c��=�V!cdH 
m�� /Tr���CL�d�4m�So��s�;i u�i �*�
+95(��p����f{��Ԑ��h��]x�2�áI
���\�w�-�)l�y<f�4�*���0��<�fy>��/4
+��EC]o��M�W(w�jqݕO�M`�b o�s#�}
���	�l9�^;�7�r��:y[�M��]N�1_t���h:EW1�1e��W���Y!;��r�Ι"����a�[�p�C;��8[�N�p�M��4��N5y�`�@苇�/Ǵur]ofq}5��
+/� ��
��.��r({��+
�b��ctZ�*+#0�]����ʂ�zQ.��|�+�O�m"�������-�U�[F�N�Vr�Q�Q�*�J��%%ѱ��B� H��F��s���1rDX�
�+f/����O*�i{�x�����p�b���U���!$
�0$�W��H〴�^�h����C�{%�^�3�YX�k�D
K$��= �M�<,�2	Ձ
���=@�<�ɵ��t ��Dq�$vc/�!
vfq��eu���甬6��!Mb
�D���t���͵-�O�C�B��\������ZP���g���Ȩ���ݻR��
a2�R�;!q��
+?CP��0�X��K��eDi���~�߯���%����O�|�a���q������\6�xZT�I�	�
�
�w�(�
N��=���17��%7�=A
>9SR�g��<��I׃S���n����o at O�C�6fzbM�璓!����3��Nj�q�b�&&�6��|fbM).�KM��&��$'C��I���=�=�u
I��3����5��]��ˠ��_�Ū'����o�GV�]����J"��IV��[JE���D yxX���]|ƯZ��^[e
��j	M-��#��4q�@�c�)�lo��j
l
?�n3-�|�D}���X�=ыr�u�����gi�]���Uni%\P:-��r�������EP�C~��t�۱�e���{N�7Ij���AyŶ����1��Ƚ�l�i0+�jϥ���v{� RX|*�?	�/�t��{n���2�O�yH��0��<�/�߄^~�b��k�M�ޤ5X���(��~{@��6q¸�|����˿���\��t�X�
[b�� l��dЪ�>Tޯ���
GB!��W���˗7�w�|}�f�j
�
�ն
+jr�����g߷.[��B��
+endstream
+endobj
+5343 0 obj <<
+/Type /Page
+/Contents 5344 0 R
+/Resources 5342 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Annots [ 5338 0 R 5347 0 R 5339 0 R 5348 0 R 5340 0 R 5341 0 R ]
+>> endobj
+5338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.089 633.401 513.996 645.356]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+5347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 621.78 126.862 632.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+5339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.811 621.78 513.996 632.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+5348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 610.671 126.862 618.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+5340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 324.44 501.708 335.344]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+5341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5345 0 obj <<
+/D [5343 0 R /XYZ 89 770.89 null]
+>> endobj
+5349 0 obj <<
+/D [5343 0 R /XYZ 90 597.097 null]
+>> endobj
+5313 0 obj <<
+/D [5343 0 R /XYZ 90 573.874 null]
+>> endobj
+5350 0 obj <<
+/D [5343 0 R /XYZ 90 573.874 null]
+>> endobj
+5351 0 obj <<
+/D [5343 0 R /XYZ 90 461.793 null]
+>> endobj
+5352 0 obj <<
+/D [5343 0 R /XYZ 90 311.597 null]
+>> endobj
+5337 0 obj <<
+/D [5343 0 R /XYZ 90 289.221 null]
+>> endobj
+5353 0 obj <<
+/D [5343 0 R /XYZ 90 289.221 null]
+>> endobj
+5354 0 obj <<
+/D [5343 0 R /XYZ 90 219.123 null]
+>> endobj
+1721 0 obj <<
+/D [5343 0 R /XYZ 90 128.414 null]
+>> endobj
+178 0 obj <<
+/D [5343 0 R /XYZ 90 119.295 null]
+>> endobj
+5342 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F35 1248 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F29 938 0 R /F99 5346 0 R /F1 833 0 R /F24 529 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5375 0 obj <<
+/Length 1777      
+/Filter /FlateDecode
+>>
+stream
+x��Y]o�6}��0�����Hۀ-]��c���-Ŧ
!��J�2��$K�
g�=�!�$S���{xhco�a������d^�€���
�'y�D w�O0"t8"c�rH�e���rH����wz�E7o��,��gg�Q^ܼ_�,*���<],�d�����!sЀ!�	d`���
�J�L[}~=
)Lk&��'
��XU�����|
��pDYP�֋�<*t��JO5̥|����X7���
�|=�20Q�GJ���/?co�_{�Pyv�������a�� �0
�	A�&��7q2��&�g��!�.p��$��U��9���CL �b��0)�� EȪyaJ�	�F�"�h�
H۱�.�x�' #Up���xY�%�՟^�q�7�
 sl�^��ʫԑ�=�`
�@Y|�q2s�]g�pw�|���L�I�>+���.ܨb����h�!�;�ݹ�t�Z褈�:̴J���s7�c\>�Fq73��5X`̛Y��^�U��<
R�?�+��1��t
	 {���?Q*�c>�
c�����
+Am]���##zz�r���
@D��R���������u'�h�A�8����q9dTfH�_*�v+����� d��B)mÑ��� A͔8NR",i;�JP��f$DD�G��Q���,S�)�
�A`t[�:5<�lT<Vʼn?3xVJ��������VRNL�Ն�j�|d{DCfuqD
+�k
�Y�ߣN#����^�)��V��z�G�v*S�z��#F_kS��)��M�>qSh������=)�C���
K7R�DV�!�]�l�p d���
3�Ma
-`�=�I���
�,�׻�*���
?% IhFJ2y�x��2��P�1�N� �d\!%�1R` ���
�H�
+`£��\��;�/t���=����1��j0��ݥh���#i�;*ވ";�Q������8*K���)T���B[�U�{�e�<A��GI%���i���jq��^6�=�nR8h���p�BV�
���_�z'`�P�]N+�s9&x��'�r`"sf~ewԞ9�����'^ǝ�
�h	��i�Z8�U֧(מ1d�Mw׽���MK��7��K�<X �C>�ه���-�en�'�N[���U26—�MP]j��H�GD�6��.���f�������7��Jm�H��n��N
̖��n����e��;:چ�ؿ��0u
��;
�G�(���p�APٝ�asȍj�	�K�:
i�B��ٕ�W�����O׻0����%��J����q2�� �g�+�,�ь�◗$��+�����1'C�q�V6߫�}�Ȧ�e�(`�3��[E
��l5���&^15%�<���}��)��M#�;�~(���c��K=�
e���]��PՄ�N�{��d�.���9H�����aR;`�/IJ3�2�A��֑��〔���.ъNA=GFX�Em5O�m����e��m�N`��8�z�n���h)�9\X��h�עCg�$�#��m[���dN��Ԋ�%��3���/֥�ڻ��t�L��ܼ�{q��١TQp�
� ����ܹ�E��qG����N6�¯�=^��>Z�(qǠ2|����"��SY�ٺ�b�H���zk�E���L���./ߖ��:�v(��v�wQ���Ú�����;z��>#����e��^u���!�I����v��+������j��d�ƀ���l�#DX�
+R��E�Վ
.lEQuZ�p�
uh���<#&RR;b��~X��
���`�� n~(�t���
+endstream
+endobj
+5374 0 obj <<
+/Type /Page
+/Contents 5375 0 R
+/Resources 5373 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Annots [ 5358 0 R 5359 0 R 5360 0 R 5361 0 R 5362 0 R 5363 0 R 5364 0 R 5365 0 R 5366 0 R 5367 0 R 5372 0 R ]
+>> endobj
+5358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 247.594 150.493 258.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72) >>
+>> endobj
+5359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 219.114 141.367 230.018]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 219.114 174.293 230.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) >>
+>> endobj
+5361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 154.512 199.475 165.043]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8) >>
+>> endobj
+5362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 128.131 199.475 139.034]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) >>
+>> endobj
+5363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 128.131 301.193 139.034]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 90.167 199.475 101.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a009f1dc78c8b168cb2256481169157ac) >>
+>> endobj
+5365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 90.167 301.193 101.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.691 90.167 477.247 101.071]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.672 76.49 303.64 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5376 0 obj <<
+/D [5374 0 R /XYZ 89 770.89 null]
+>> endobj
+5377 0 obj <<
+/D [5374 0 R /XYZ 90 694.769 null]
+>> endobj
+1722 0 obj <<
+/D [5374 0 R /XYZ 90 600.725 null]
+>> endobj
+182 0 obj <<
+/D [5374 0 R /XYZ 90 593.994 null]
+>> endobj
+5378 0 obj <<
+/D [5374 0 R /XYZ 90 504.223 null]
+>> endobj
+5379 0 obj <<
+/D [5374 0 R /XYZ 90 454.803 null]
+>> endobj
+1723 0 obj <<
+/D [5374 0 R /XYZ 90 385.784 null]
+>> endobj
+186 0 obj <<
+/D [5374 0 R /XYZ 90 379.052 null]
+>> endobj
+5380 0 obj <<
+/D [5374 0 R /XYZ 90 266.32 null]
+>> endobj
+5381 0 obj <<
+/D [5374 0 R /XYZ 90 266.32 null]
+>> endobj
+5382 0 obj <<
+/D [5374 0 R /XYZ 90 171.173 null]
+>> endobj
+5383 0 obj <<
+/D [5374 0 R /XYZ 90 143.45 null]
+>> endobj
+5384 0 obj <<
+/D [5374 0 R /XYZ 90 117.442 null]
+>> endobj
+5373 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F22 2996 0 R /F93 763 0 R /F68 3032 0 R /F39 2320 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5433 0 obj <<
+/Length 1159      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�3�7HO�C
;�q�X=�
%R2'|�$�����M����%�'��b��}�\� ԗ:��k�O�� �
l��>Y�6������/
$,���N���娼��ϳ����B�i��FC�
�P����y�]~��+�?����ɅB�b"��~�����ض�ÖM	���@�0�
+c����ޞ,K3>������8���_M
ϝ��Ù�t�I)̠q�_;��?ݚ��\�^%�9^G�-���^���H�h���:>��nI9Ub
8E��-
TZ�0�yV��G~�;�����8*��I��œS\V���s1�vʉ��UX_����)Yбv��Qm&����!���Wں�t<>)�u�d��J˥AR�G{FH�� ������=!�GOKziB������v���wr��
��Y�N
���R3IJ��`����������Qb����-��ʞ�3@�� $��K��#��ߍ׳�>�m?~���B�c'�

fI2���t9\�L灓���!��(�s!'2#������ϔi�y�gRh,sP��^l��/�����F���q���je!�1��B��
�+A� I���

���,�_vJ���A�ܪ ͼp82�r�ݒ�PjW����4
0���nW^����$�����0��VC��
��^Z
`a�^�U�����v(���*y'?[ˆp�5��&F*9�6NZ����ȑunz�( @��
�0l�E���	P��i:�Xysa=ڨT�Õ5�t�H �
��
m�&"��X�`�
����JI:d]ҷ�Up�ɵ���s[(�� �
��� ��̣R7-��?dk~W2y�{z
~�����` �����8��ӟ��n��Z�Q��HP� ߚP`b��`
H
�6�����탣
s��
�
������*�\oᬃl s�f��U��}�4Bχ�˟�؝�� l{f7�K

�f�d�;

��_�W�3��G���F.�;�<�Xck ���y�
���yg�>�Ɣ
�Ӑ��b��Q7��F���d)��2
+J�
��u9�;?����;��_Lƌ�7�''ZWs^��7���5�@E*��
	��Pv}�������=���5�u�����z�z�̋�I7����
���‹8��J��B$�<2����|�
+endstream
+endobj
+5432 0 obj <<
+/Type /Page
+/Contents 5433 0 R
+/Resources 5431 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5270 0 R
+/Annots [ 5368 0 R 5369 0 R 5370 0 R 5371 0 R 5386 0 R 5387 0 R 5388 0 R 5389 0 R 5390 0 R 5391 0 R 5392 0 R 5393 0 R 5394 0 R 5395 0 R 5396 0 R 5397 0 R 5398 0 R 5399 0 R 5400 0 R 5401 0 R 5402 0 R 5403 0 R 5404 0 R 5405 0 R 5406 0 R 5407 0 R 5408 0 R 5409 0 R 5410 0 R 5411 0 R 5412 0 R 5413 0 R 5414 0 R 5415 0 R 5416 0 R 5417 0 R 5418 0 R 5419 0 R 5420 0 R 5421 0 R 5422 0 R 5423 0 R 5424 0 R 5425 0 R 5430 0 R ]
+>> endobj
+5368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 199.475 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4ce2f9170fb3470ba10d87607c3c0bf3) >>
+>> endobj
+5369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.242 707.957 291.799 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 682.641 199.475 693.545]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938) >>
+>> endobj
+5371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.745 682.641 320.301 693.545]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 657.325 199.475 668.229]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) >>
+>> endobj
+5387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.525 657.325 323.081 668.229]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 632.009 199.475 642.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b) >>
+>> endobj
+5389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.12 632.009 313.676 642.913]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 606.693 199.475 617.597]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) >>
+>> endobj
+5391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.313 606.693 320.869 617.597]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 581.377 199.475 592.28]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) >>
+>> endobj
+5393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.517 581.377 341.074 592.28]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 556.06 199.475 566.964]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb) >>
+>> endobj
+5395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 556.06 330.264 566.964]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 530.744 199.475 541.648]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) >>
+>> endobj
+5397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.487 530.744 333.044 541.648]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 505.428 199.475 516.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9) >>
+>> endobj
+5399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.083 505.428 323.639 516.332]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 480.112 199.475 491.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) >>
+>> endobj
+5401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.276 480.112 330.832 491.016]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 454.796 199.475 465.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) >>
+>> endobj
+5403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.48 454.796 351.036 465.7]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 429.48 199.475 440.384]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) >>
+>> endobj
+5405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.81 429.48 292.366 440.384]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 404.164 199.475 415.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) >>
+>> endobj
+5407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.215 404.164 301.771 415.068]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 378.848 199.475 389.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) >>
+>> endobj
+5409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.419 378.848 321.975 389.752]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 353.532 199.475 364.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) >>
+>> endobj
+5411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.431 353.532 347.987 364.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.215 199.475 339.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) >>
+>> endobj
+5413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.873 328.215 347.429 339.119]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 302.899 199.475 313.803]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) >>
+>> endobj
+5415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.745 302.899 320.301 313.803]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 265.628 199.475 276.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aca7c785640663dd43199b6f4c9262b99) >>
+>> endobj
+5417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.469 265.628 327.026 276.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 216.402 199.475 227.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a01655d2b2c4a079c9474d9072891e007) >>
+>> endobj
+5419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.812 216.402 301.193 227.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.672 203.071 303.64 212.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 191.086 199.475 201.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) >>
+>> endobj
+5422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 165.769 199.475 176.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933) >>
+>> endobj
+5423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 140.453 199.475 151.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) >>
+>> endobj
+5424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 115.137 199.475 126.041]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) >>
+>> endobj
+5425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.821 199.475 100.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) >>
+>> endobj
+5430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5434 0 obj <<
+/D [5432 0 R /XYZ 89 770.89 null]
+>> endobj
+5435 0 obj <<
+/D [5432 0 R /XYZ 90 721.073 null]
+>> endobj
+5436 0 obj <<
+/D [5432 0 R /XYZ 90 697.761 null]
+>> endobj
+5437 0 obj <<
+/D [5432 0 R /XYZ 90 672.445 null]
+>> endobj
+5438 0 obj <<
+/D [5432 0 R /XYZ 90 647.129 null]
+>> endobj
+5439 0 obj <<
+/D [5432 0 R /XYZ 90 621.813 null]
+>> endobj
+5440 0 obj <<
+/D [5432 0 R /XYZ 90 596.497 null]
+>> endobj
+5441 0 obj <<
+/D [5432 0 R /XYZ 90 571.181 null]
+>> endobj
+5442 0 obj <<
+/D [5432 0 R /XYZ 90 545.865 null]
+>> endobj
+5443 0 obj <<
+/D [5432 0 R /XYZ 90 520.549 null]
+>> endobj
+5444 0 obj <<
+/D [5432 0 R /XYZ 90 495.233 null]
+>> endobj
+5445 0 obj <<
+/D [5432 0 R /XYZ 90 469.917 null]
+>> endobj
+5446 0 obj <<
+/D [5432 0 R /XYZ 90 444.6 null]
+>> endobj
+5447 0 obj <<
+/D [5432 0 R /XYZ 90 419.284 null]
+>> endobj
+5448 0 obj <<
+/D [5432 0 R /XYZ 90 393.968 null]
+>> endobj
+5449 0 obj <<
+/D [5432 0 R /XYZ 90 368.652 null]
+>> endobj
+5450 0 obj <<
+/D [5432 0 R /XYZ 90 343.336 null]
+>> endobj
+5451 0 obj <<
+/D [5432 0 R /XYZ 90 318.02 null]
+>> endobj
+5452 0 obj <<
+/D [5432 0 R /XYZ 90 292.704 null]
+>> endobj
+5453 0 obj <<
+/D [5432 0 R /XYZ 90 243.477 null]
+>> endobj
+5454 0 obj <<
+/D [5432 0 R /XYZ 90 206.206 null]
+>> endobj
+5455 0 obj <<
+/D [5432 0 R /XYZ 90 180.89 null]
+>> endobj
+5456 0 obj <<
+/D [5432 0 R /XYZ 90 155.574 null]
+>> endobj
+5457 0 obj <<
+/D [5432 0 R /XYZ 90 130.258 null]
+>> endobj
+5458 0 obj <<
+/D [5432 0 R /XYZ 90 104.942 null]
+>> endobj
+5431 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5489 0 obj <<
+/Length 1384      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�F�ίЧT���^t:�i2�:q�iں6�dg!
X$aI8C~}�E	+�c�L?	�������]��������)#�<;�`lx�`��#��ƕ� @��"�yn!h�Y��-
�t���a�?G������
�J!
���#�Y_�z��V���X_-�i��b�X�6���Jj�(X�(&
@
���}H����s�v`y���l�\�\� �\�'�r(6��·A綃�h M�5��s���d@@<����b��D<��e�,��u
8�1�
! ���^cL���r�lR¸��1��Tب��yBJn�R�G���z��4��Z!���~�N=b��c+�b����"@��>�,�L
ZY�DE�O��~��
g�M�4��|�؀Jl�t������T��̓0���4��&h�_�����lw<ϓ���?;
���
ɓ�����s��ߤY��Ux���(yI�
+4�g[9�{����ؗH���f���/�"���U�t>��C�W"8R�[���3yˑ�� M�j<�
����a��$7Jȟ
��6�����/��䫖@qˆ�����s��!Z�U��~���
p�' o-� l�E���&�"�?��'����b(��@���Ā� ��\`;n�JQuG{ī�al����ihr u���Ō'~\���L�p_'� �v����0�t
��'
<J�.σ�D(�{��F�~x%�@\XC-G?$��óq[{
ۀBv��z�`w�g��r��$-�l$��항�l�� a��k�a������YX��霫�#s��m�
��=�w�E])`�P5
��K��C3IҌ�oƪ�8���gR�D�Ȯ'2���� ��5�]� (w�
�� ���4˫�]���ND�;
�s6�t�6UG���g�n:�_�Y��a�/��:-�L
��ɻG��*3H��O��p<$	��+�Y�7�e��失~7���B�MK
%�gQ���I�~��Yr7(/�D���̗�~.O�F�I�E
S�A�ΖO��Vt�����L[�����{�E��-A�׭�G��\vb^���.������O���5���fsv�Qǖ@v*c���(�9��y=6�z:/Y��'-ޖ0<���f����T�fѢ�9�v��!(rJ�;{���=�{�N�|���7�xmO�2�P�؀����j�ޓ�����r�e�����y�����	��hc�����
�m���
X*l&j���A�c�����y��%J�2m��O械\�s'��bB"��%���K^%U�W����Eh=r�ڏ�e�yS�~�7�Or�L@�/��+���Ȗo\�
����"M
ƪB�[�"�8�bB�yہ "ư��V?Vˁ�YL��� x�:�o!�

+endstream
+endobj
+5488 0 obj <<
+/Type /Page
+/Contents 5489 0 R
+/Resources 5487 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5426 0 R 5427 0 R 5428 0 R 5429 0 R 5459 0 R 5460 0 R 5461 0 R 5462 0 R 5463 0 R 5464 0 R 5465 0 R 5466 0 R 5467 0 R 5468 0 R 5469 0 R 5470 0 R 5471 0 R 5472 0 R 5473 0 R 5474 0 R 5475 0 R 5476 0 R 5477 0 R 5478 0 R 5479 0 R 5480 0 R 5486 0 R ]
+>> endobj
+5426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 199.475 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) >>
+>> endobj
+5427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 681.868 199.475 692.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) >>
+>> endobj
+5428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 655.778 199.475 666.682]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6) >>
+>> endobj
+5429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 629.688 199.475 640.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452) >>
+>> endobj
+5459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.599 199.475 614.503]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) >>
+>> endobj
+5460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 577.509 199.475 588.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) >>
+>> endobj
+5461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 551.42 199.475 562.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4) >>
+>> endobj
+5462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 525.33 199.475 536.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4) >>
+>> endobj
+5463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 499.241 199.475 510.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) >>
+>> endobj
+5464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 473.151 199.475 484.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
+>> endobj
+5465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 447.061 199.475 457.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) >>
+>> endobj
+5466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 420.972 199.475 431.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5) >>
+>> endobj
+5467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 382.927 199.475 393.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4bffbfaa7f512a0a886493a1a057b135) >>
+>> endobj
+5468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 307.769 168.86 318.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) >>
+>> endobj
+5469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 282.053 187.002 292.583]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) >>
+>> endobj
+5470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.436 255.963 210.524 266.494]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) >>
+>> endobj
+5471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 192.387 199.475 203.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 192.387 251.021 203.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) >>
+>> endobj
+5473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.359 192.387 352.739 203.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 154.342 199.475 165.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 154.342 251.021 165.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae14ac67511e816b1a2f336a54695cddb) >>
+>> endobj
+5476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 116.297 199.475 127.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 116.297 256.64 127.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a257a415453078f71a54d6d0b3b57ff4d) >>
+>> endobj
+5478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.977 116.297 358.358 127.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 90.208 199.475 101.112]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 90.208 256.64 101.112]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) >>
+>> endobj
+5486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5490 0 obj <<
+/D [5488 0 R /XYZ 89 770.89 null]
+>> endobj
+5491 0 obj <<
+/D [5488 0 R /XYZ 90 721.073 null]
+>> endobj
+5492 0 obj <<
+/D [5488 0 R /XYZ 90 697.228 null]
+>> endobj
+5493 0 obj <<
+/D [5488 0 R /XYZ 90 671.139 null]
+>> endobj
+5494 0 obj <<
+/D [5488 0 R /XYZ 90 645.049 null]
+>> endobj
+5495 0 obj <<
+/D [5488 0 R /XYZ 90 618.959 null]
+>> endobj
+5496 0 obj <<
+/D [5488 0 R /XYZ 90 592.87 null]
+>> endobj
+5497 0 obj <<
+/D [5488 0 R /XYZ 90 566.78 null]
+>> endobj
+5498 0 obj <<
+/D [5488 0 R /XYZ 90 540.691 null]
+>> endobj
+5499 0 obj <<
+/D [5488 0 R /XYZ 90 514.601 null]
+>> endobj
+5500 0 obj <<
+/D [5488 0 R /XYZ 90 488.512 null]
+>> endobj
+5501 0 obj <<
+/D [5488 0 R /XYZ 90 462.422 null]
+>> endobj
+5502 0 obj <<
+/D [5488 0 R /XYZ 90 436.332 null]
+>> endobj
+5503 0 obj <<
+/D [5488 0 R /XYZ 90 410.243 null]
+>> endobj
+5504 0 obj <<
+/D [5488 0 R /XYZ 90 324.844 null]
+>> endobj
+5505 0 obj <<
+/D [5488 0 R /XYZ 90 297.04 null]
+>> endobj
+5506 0 obj <<
+/D [5488 0 R /XYZ 90 270.95 null]
+>> endobj
+5507 0 obj <<
+/D [5488 0 R /XYZ 90 207.559 null]
+>> endobj
+5508 0 obj <<
+/D [5488 0 R /XYZ 90 181.658 null]
+>> endobj
+5509 0 obj <<
+/D [5488 0 R /XYZ 90 143.613 null]
+>> endobj
+5510 0 obj <<
+/D [5488 0 R /XYZ 90 105.568 null]
+>> endobj
+5487 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5544 0 obj <<
+/Length 1089      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�H~�W�*��܇*�U�>R�a{��';���U� ��}�d|��H6Of����{>F at slB��O��
b*�8�f��T�T����<������G�p	��Z*y�{|��?��c�~��n =M�*`@Hs�g_�9ҏ?�%��$Ϥ��ߩyj�k��X��ÊM	���@ �p�1K����(���r�[��l�Dn,�= �2
@��'�Og�4q�d�wt3s}�s�f�:�A'� S���U�,=�H�PfG{�K'�����

^���R ֧�oЉ ����p>8r����um#f���p�{���Z�a
Et�Bq���55�(�u
�%,�.�zױ��t���%6�S8�p���<K�^�bp��.�p	5s��h��[E����VbAlT#954���`:�!�ir^ 	�}���iP�L@��@����bL��`�N����E*=�

U@�\���!T)����1�9MRJ�
ǩ�+?1���(U����|>�vaR
��,!d���\�
ƀ�ĉRmX
,C��^p at e=�
��U#
�z�<��,�;�����y +�C�%�exw�k�9��ʮl]O at 6VJC�d��v���E��w�"��;@ޘ��������*
+'7#�-mhiCKV�
VE
��Z��m"1U���&A��!$
X�@I��Y	AP B����/�o�_�h2�޼L� -�*�:h=��tTz'�����l)���B`���۽��]J���<�� � ~��d;�Ow��'��<>�d	�{����}�����C�����6x{\Ҳ�g���z�J^c�N��f�<��z|{٠M����,��7[D B�����?�Ax���������%-�h	�
+���ůh
�����:��t���oV�Pk�zQ�_��gϽ5v��h^[o��4����_�U� L%��}7 �H�
V���\&{�=�he�����)�߹��@�|�/���*����������������_8S��D�7��$�r� ����w��K��V��)N���(`�8���Y�۽X��?ô��;y)����(��2���a����=��,'�'�{��
+endstream
+endobj
+5543 0 obj <<
+/Type /Page
+/Contents 5544 0 R
+/Resources 5542 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5481 0 R 5482 0 R 5483 0 R 5484 0 R 5485 0 R 5512 0 R 5513 0 R 5514 0 R 5515 0 R 5516 0 R 5517 0 R 5518 0 R 5519 0 R 5520 0 R 5521 0 R 5522 0 R 5523 0 R 5524 0 R 5525 0 R 5526 0 R 5527 0 R 5528 0 R 5529 0 R 5530 0 R 5531 0 R 5532 0 R 5533 0 R 5534 0 R 5535 0 R 5536 0 R 5541 0 R ]
+>> endobj
+5481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 672.809 231.325 682.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.315 660.136 252.74 671.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abdf3631e599e5641e1fea94cfd46a3a2) >>
+>> endobj
+5483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 622.612 199.475 633.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 622.612 254.14 633.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3dc4a1fb95b9f86f622fbe557265f85d) >>
+>> endobj
+5485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.477 622.612 355.858 633.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 597.043 199.475 607.947]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 597.043 254.14 607.947]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) >>
+>> endobj
+5514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 536.326 231.325 546.512]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.315 523.653 250.24 534.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a589cc1d8001fd57ded3f964928e66738) >>
+>> endobj
+5516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 486.129 199.475 497.033]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 486.129 256.003 497.033]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6e4e84f9ccaf35d6c56acc6c6c3de53c) >>
+>> endobj
+5518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.34 486.129 357.721 497.033]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 460.56 199.475 471.464]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 460.56 256.003 471.464]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) >>
+>> endobj
+5521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 399.843 231.325 410.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.315 387.17 252.103 398.074]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aafe0bdaacef3657f8ed1368c3d1f374a) >>
+>> endobj
+5523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 349.646 199.475 360.55]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 349.646 253.791 360.55]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ac8b0427ab092068fffe6c4db194e9602) >>
+>> endobj
+5525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.128 349.646 355.509 360.55]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 324.077 199.475 334.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 324.077 253.791 334.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b) >>
+>> endobj
+5528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 263.36 231.325 273.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.315 250.687 249.891 261.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0edbf435f928c1702dc879bc4862bbf8) >>
+>> endobj
+5530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 213.163 199.475 224.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 213.163 259.32 224.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab75c0e7d52f4b166574fa66584ce92e4) >>
+>> endobj
+5532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.658 213.163 361.038 224.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 187.594 199.475 198.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 187.594 259.32 198.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) >>
+>> endobj
+5535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 126.877 231.325 137.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.315 114.204 255.42 125.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3f0416bda0c321489e3eb1fdad315c2c) >>
+>> endobj
+5541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5545 0 obj <<
+/D [5543 0 R /XYZ 89 770.89 null]
+>> endobj
+5546 0 obj <<
+/D [5543 0 R /XYZ 90 721.073 null]
+>> endobj
+5547 0 obj <<
+/D [5543 0 R /XYZ 90 649.751 null]
+>> endobj
+5548 0 obj <<
+/D [5543 0 R /XYZ 90 612.227 null]
+>> endobj
+5549 0 obj <<
+/D [5543 0 R /XYZ 90 586.658 null]
+>> endobj
+5550 0 obj <<
+/D [5543 0 R /XYZ 90 513.268 null]
+>> endobj
+5551 0 obj <<
+/D [5543 0 R /XYZ 90 475.744 null]
+>> endobj
+5552 0 obj <<
+/D [5543 0 R /XYZ 90 450.175 null]
+>> endobj
+5553 0 obj <<
+/D [5543 0 R /XYZ 90 376.785 null]
+>> endobj
+5554 0 obj <<
+/D [5543 0 R /XYZ 90 339.261 null]
+>> endobj
+5555 0 obj <<
+/D [5543 0 R /XYZ 90 313.692 null]
+>> endobj
+5556 0 obj <<
+/D [5543 0 R /XYZ 90 240.302 null]
+>> endobj
+5557 0 obj <<
+/D [5543 0 R /XYZ 90 202.778 null]
+>> endobj
+5558 0 obj <<
+/D [5543 0 R /XYZ 90 177.208 null]
+>> endobj
+5542 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5586 0 obj <<
+/Length 1282      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�䒓
+����C�8�4uU[=�-�'"�TZ��.����$;�;r��G0�.��v���������Ωb��<I�տ�<l)�!!ῡue�s�cl�
�� ���Pl'��X���ޤA:�vߎ������4�ѩ���sJȂ�(bD��B�/�%#@)��������Ӧ�XP�
���Cģ��_w�};	���w<j��n��з`<qm
�K
+j�������)�"%\)�D����B�G
#��?Š����ĺl����x�/I�0C�`}��ה�B��t�=
Uf\|hYWm>jv�|
�2�;�:����;�y��y�4�

dŠ�s�1˅�H^8�"ɉ�&
1,���R�)[��xP�"
��\�C�m�;�-)YA�=�n��
��	��I 9.h��CG�qd2��n?'���ej;B�"�#PBT�б���~P׆t�E��.�I�C�J]�t�0��m�c �#��D
=O�,����n��
Ҫ'՗�.�.ڷ�R��E$���`�6x��O!Oab�s�^]2�F��y
�B��+EmI�DW�|v�� �u�Y����l���!W)p3A����>n&�?�m(��*W�\��l�޳�?�С��f���?S��
:<{�
6�u.�ݺpb�\Zy���L���-�$ɤA��
�M�B��t��Y�s\���F?��Y�0{ ��k�����u�������:��T��������4
+�i��5�4��>�J
�U����q����{?Y�&G�
���\�-s�xΑ+�~�:�������<% ��SoO呧��Sy9�B�F�٧��T
O�Y�lW/8M��A��!N��
e
��|٣/��>�EJ�
��ȅ���[���qy�a��lN�R<��{-�����I�o)[��Bg�I�������^c���t:�7��"�O�b�B�pUq�k��4
���6��a�6D��Sz���|q��c��;���
������R9C;[)DW��7��눔�8�.�)_��C����!��X��
y�|���
�/qs]�{���}�`!
�����E�
��Ɓ�(07D#Q+��H�3W_|Hp
e}�Q�𸿞\!�K������>���3���aW�S��)�� �dM�0��N��
t��R�N*��bխ��s�`
+
	1Go��w�N�f:�t<B�rﵜn���SUso��
+6J��0��(0���~;S�(0$8�
+	 �k
#L��ň�v�e=���E�z� ���j��F�;
+endstream
+endobj
+5585 0 obj <<
+/Type /Page
+/Contents 5586 0 R
+/Resources 5584 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5537 0 R 5538 0 R 5539 0 R 5540 0 R 5559 0 R 5560 0 R 5561 0 R 5562 0 R 5563 0 R 5564 0 R 5565 0 R 5566 0 R 5567 0 R 5568 0 R 5569 0 R 5570 0 R 5571 0 R 5572 0 R 5573 0 R 5574 0 R 5575 0 R 5576 0 R 5577 0 R 5578 0 R 5579 0 R 5583 0 R ]
+>> endobj
+5537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 199.475 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 707.957 256.64 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) >>
+>> endobj
+5539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 681.339 199.475 692.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.973 681.339 246.399 692.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) >>
+>> endobj
+5559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 654.721 199.475 665.625]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.215 654.721 251.839 665.625]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) >>
+>> endobj
+5561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 628.103 199.475 639.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.973 628.103 241.597 639.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16) >>
+>> endobj
+5563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.899 494.501 270.071 505.405]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ade4a2cd219350c0e41006c642f27bbd1) >>
+>> endobj
+5564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.899 444.969 270.649 455.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae0c5fe9f35e5e632c14c559b3f8b4723) >>
+>> endobj
+5565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.899 395.437 262.898 406.341]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1e526c2cec217592b49a1636bd5f497d) >>
+>> endobj
+5566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.705 345.905 244.078 356.808]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a91dd10f097f76e4ffba7e5760368a526) >>
+>> endobj
+5567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.899 296.372 240.034 307.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ade1c60421ba77dae4f75a2bf42e8511d) >>
+>> endobj
+5568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 234.885 173.217 245.789]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 234.885 245.164 245.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_abe7d7a2cba56d2668ac3306afeb98e38) >>
+>> endobj
+5570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.539 234.885 407.096 245.789]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 173.398 173.217 184.302]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 173.398 241.847 184.302]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4ab8f30000aaa8dd4ee1d92dc1afc37e) >>
+>> endobj
+5573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.222 173.398 403.778 184.302]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 123.865 173.217 134.769]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 123.865 241.847 134.769]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a749193ffeb01c2c18a87d7f2965d5dc5) >>
+>> endobj
+5576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.009 123.865 396.565 134.769]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 74.333 173.217 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 74.333 241.847 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa0952cbf70240edacf4abd0f460f98c0) >>
+>> endobj
+5579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.488 74.333 373.044 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5587 0 obj <<
+/D [5585 0 R /XYZ 89 770.89 null]
+>> endobj
+5588 0 obj <<
+/D [5585 0 R /XYZ 90 721.073 null]
+>> endobj
+5589 0 obj <<
+/D [5585 0 R /XYZ 90 696.964 null]
+>> endobj
+5590 0 obj <<
+/D [5585 0 R /XYZ 90 670.346 null]
+>> endobj
+5591 0 obj <<
+/D [5585 0 R /XYZ 90 643.728 null]
+>> endobj
+5592 0 obj <<
+/D [5585 0 R /XYZ 90 577.354 null]
+>> endobj
+5584 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F39 2320 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5648 0 obj <<
+/Length 1681      
+/Filter /FlateDecode
+>>
+stream
+x��[�s�8��S抢oY�N�m:�]�^�=�
�!�4؜m�����mbL�H M� KZ�v�ծ,�5�����Ǡ������TZ�sKcKq���_g֗.�i���Ť���0*y��������Ĵu�:�v4a��R�5�t�|��<�`aĴm]%�&�
>/����
�邫:I\щ`�8�-E"$U�+�"�<��QH+L�q�smcw2�tb�
�?d�ҏ*Ĺ�w|���I�Hت�t3u}g���T�� �x�~��>�ިGD��aV�4����\s�0�0L܇Ek!Ҟ?zw�,[��w8�
��c}I���zw�i�>Y�W,��������
�f�S7��1���b#��m�U]�h�a�S<7ּyj�`��6����]�h7�j��L�����)Z*� \K��0��b
�"6����+g�j�Jw*7��.5�
+IZ��ʋ/���UH�i�"+��ns��ul���y���$xnG�ŵ��ڡ
:F��!D�u.g�"ҧ�7Hb
-e?��E-#J)x��S,��B�I�J��(�6�}?�� €o-2 �_@
���&�$o����

�����ع
fc=xz�уE,�8�Rm
p�o��&�������5�]�n�ov��l��%
�V�s���Άj�A*g�[�A������sz�ߟ7X׻.���hx�Ğ�+���Oᰂ��94��Z��r����"%��T"�����}I�t�F�˸
�B�|Ѧ�B����A��
&u����p13{��L
d�ḍ
'L�P[1�H��^_1f
�r��"YVP
3�����7^��g^ؔQP��d��#�jAUQ�.퇉��WT�+�����W���;pӴ��I���3�%��e�������Zv�$��=�|�
����a0i�i�M8oM.l��ҏ;�*W_��90t�	
�����*����
�9G�$˲&�J���v���N3�&�J��U���(m�iä�H���{R`ēU?r
�& �Վ�>1e�"9������S�-����9�l�����<$9oW0��������s_�ԺD
4dP#��:U1d+�����2̋�%��H�QܭB�RޡB�
I�6V�sʺ�,���y�sJ�G���Aš��^c��`�K�c�<
�	��J�&څl�
����x*'N6d�<���$}E��
t֫�S��"�
��QݛwxT��
��H�� �e��`���m\%�$�*c�&�	��0a���@��R�>��'�7yB�R���
�<���5	m�m��^�U�D�ҝ$�6�����MaO-ux�F�^����yB�.�]�Ԕ@�ϙ�n^Z;q^��k�;q�vq�v�89
�����T���k�T��g���~4uG��Y�<�_QkXb	O���Rbo�����<�<�n
�/�����Y�N���؍g!�75�E��ĺY�T@�� ��:ݶ��N*�	F��ԃ�6�x�\�/����u}�2�x�.
��3͞��%�Sd�������m}�M
�1V
g5d
���b=����FR�(��k*�BB'������.JѤ��=i��d��O��& a��>����T�lN�d>i
+�܌�?��~�'r��zBt3�t�Y
�
��j=��
��A�A@���͙����P�O�e��>�#Q&�q<=��?��#��Q�
�
���&���9TJ)���Nz8	z�r��ǡ]
+endstream
+endobj
+5647 0 obj <<
+/Type /Page
+/Contents 5648 0 R
+/Resources 5646 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5580 0 R 5581 0 R 5582 0 R 5602 0 R 5603 0 R 5604 0 R 5605 0 R 5606 0 R 5607 0 R 5608 0 R 5609 0 R 5610 0 R 5611 0 R 5612 0 R 5613 0 R 5614 0 R 5615 0 R 5616 0 R 5617 0 R 5618 0 R 5619 0 R 5620 0 R 5621 0 R 5622 0 R 5623 0 R 5624 0 R 5625 0 R 5626 0 R 5627 0 R 5628 0 R 5629 0 R 5630 0 R 5631 0 R 5632 0 R 5633 0 R 5634 0 R 5635 0 R 5636 0 R 5637 0 R 5638 0 R 5639 0 R 5640 0 R 5641 0 R 5645 0 R ]
+>> endobj
+5580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 156.281 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aefab59adcb013d5714004cd6b196483e) >>
+>> endobj
+5581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.002 234.477 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.814 696.002 383.195 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.251 655.911 199.339 666.815]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1c255ab3c82434e261f010d0590810c0) >>
+>> endobj
+5603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.676 655.911 301.057 666.815]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.73 630.885 175.818 641.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3f13c2c23ad04a1ca900396fc27d0150) >>
+>> endobj
+5605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.633 630.885 254.014 641.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 605.858 191.718 616.762]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 605.858 288.852 616.762]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a04f1fafc7f28579ed19eea062a2b13c0) >>
+>> endobj
+5608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.19 605.858 390.57 616.762]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 580.832 191.718 591.736]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 580.832 303.079 591.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a249c56a7ba2a6ad434338028cbdd00fc) >>
+>> endobj
+5611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.416 580.832 404.797 591.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 531.895 173.217 542.799]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 531.895 241.847 542.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a749193ffeb01c2c18a87d7f2965d5dc5) >>
+>> endobj
+5614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.009 531.895 396.565 542.799]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 506.868 188.291 517.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.914 506.868 285.72 517.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1ccbc462776ddeb1052d4c4fb35da65a) >>
+>> endobj
+5617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.058 506.868 387.438 517.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 481.842 188.291 492.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.914 481.842 283.22 492.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a610ebadc0a8c71ad8575ea198e800655) >>
+>> endobj
+5620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.557 481.842 384.938 492.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.705 432.905 207.536 443.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af1faacdc4d1bd9cc6efa3df48b9ab40d) >>
+>> endobj
+5622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.754 372.012 257.902 382.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af3c2c2bca173e0697358e9c76afd4a60) >>
+>> endobj
+5623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.909 323.076 175.366 333.979]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.236 323.076 239.693 333.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae4cfb147e2773008ad585185d07e1b79) >>
+>> endobj
+5625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 311.12 173.467 322.024]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 286.094 226.034 296.998]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5371b59fd606148bacb3cd9ec41c5306) >>
+>> endobj
+5627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.157 286.094 400.538 296.998]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.76 237.157 173.217 248.061]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.649 237.157 229.125 248.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a262ceb2e6dc438920274528c8d324344) >>
+>> endobj
+5630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.594 237.157 387.15 248.061]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.137 212.13 223.822 223.034]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a93329bd6701b72b26d8336d090f04c86) >>
+>> endobj
+5632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296 212.13 370.381 223.034]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 187.104 156.281 198.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aefab59adcb013d5714004cd6b196483e) >>
+>> endobj
+5634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 187.104 234.477 198.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.814 187.104 383.195 198.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 125.164 202.902 136.068]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 125.164 300.037 136.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a04f1fafc7f28579ed19eea062a2b13c0) >>
+>> endobj
+5638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.374 125.164 401.755 136.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.178 202.902 100.082]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+5640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 89.178 314.263 100.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a249c56a7ba2a6ad434338028cbdd00fc) >>
+>> endobj
+5641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.601 89.178 415.981 100.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5649 0 obj <<
+/D [5647 0 R /XYZ 89 770.89 null]
+>> endobj
+5646 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5712 0 obj <<
+/Length 1756      
+/Filter /FlateDecode
+>>
+stream
+x��[ے�F}�+��J����ƕr��ĩ8N���O�kK
2K�� ���ӣ
H\4��]��QOwO�szt�^ߣ��_.ZgO5�
1�)��g���!Rᯞ��J��;@)���@�0
���mF�d8��zix�|p������'�Q��
�.�����������S��
�3�A���?�CjN�L�.�Z�?�;LZ�y����0�<���a8
�f/چ���fN��ȋ�
:��]<�$�!��d뷋և��A�.It�uG��o�����<J�	���A#O0��C�e��-2����@<�ƙ��8
L�G�d�����&J�I��3�J[gO��DH��a,7�1�z�&FS�gD���ӤLL�On*�&B����YRDjniv��(*��}+[��ܮq�?[3�1���:���H�Ų�XIB8'4��������[IK��4n��[/0n�V�RD��
dzLjjŜ��c��u6�*i7�Ǔ
��a�%%��+�v�PK0�l��'
j�.<6
k�(%�� ��[
�B��W1RW���pZ�M��Ϧ�
 >i�����s���Ƙՠ��p��S7����F�;!
5G�H
��6Cm+\}�z�A����Pʓ$��^gЏ7U�F;��"�_�Xo�
+`�p	�Z}���(�IR:D+'�G�Z����Y�D�9n�a����g�D��
b�CA�~��a~�c8��'��~vv�u�>]��:�,]h�������8І9a,��ᦶ����|�>ᆫ�u#܀0�҄YG��
��n5�>Y��
�g'�1F۴I�*1v(T�w̶��7p��Xf'b9��w���h"ΰy��
�� ���x�� �3v���@�K��$�	][ɶ�M��fߚ�
əCϔ�+z�~�����l�X�L�3N�6�k�"����x4��<"
*
�hd���H:��GS�H���u!0�[*
+x75^$Ӹ����$J�Q��,�Q�&�{�U�eYN��U����3�'�iyw(�&��?w.��
>�$"�M#z��{E����.�����H3z�+�C�+���
+�Ļ��*!���DEi�w��
+A����
�m!}�iQo��EL�(	;���8Kj��p��ۀk
��ɸDP�p2H��ZWHD�y�o�HG�b7̨q�X�)J�N�6].
��w�ܭ�8�-v�J*�{��UL7�1�Օd}�8%�n���o
M�pe��7�$ 8�
ު�;)��%/(o(y��~K^�\[6�zm�:�R
+01�J��P0��ywC�ke�!���x��p
�4Qc�M��4QB֓��[m�1S퇽��h�����+G(A�qm�zo
q]�a�;d�b8�r��
3N�+Ib(wƨw���%%ʈ�:o���J����g<�a��o౹��w:
+�KǽH�Ξ@{�0�Q��?�EF��*�V�<��y�uV1?���?1���c;:揧WMt
+{n��2v=�R��9ՠ�.:���T��N:ʼnw�@?@�9��c����i�D�w������Ml���u��\��pQ)&k�����3*e�;�E�N���pƨVc�=�XP(��;[L=_�j�Ϋ�>��-\�[���r#o˗r��oU���'4�8>��������W�(��-�_��_a<-ݲ��h�����Z6ҕ��XU���(*�ϝ~�������u)�\���dr����j�Gq�t��*�U�@n��z�w�GI�����r
3Y�QR��
+3���ТȺZ�lD�{�gybq���~M0�������:
+endstream
+endobj
+5711 0 obj <<
+/Type /Page
+/Contents 5712 0 R
+/Resources 5710 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5642 0 R 5643 0 R 5644 0 R 5663 0 R 5664 0 R 5665 0 R 5666 0 R 5667 0 R 5668 0 R 5669 0 R 5670 0 R 5671 0 R 5672 0 R 5673 0 R 5674 0 R 5675 0 R 5676 0 R 5677 0 R 5678 0 R 5679 0 R 5680 0 R 5681 0 R 5682 0 R 5683 0 R 5684 0 R 5685 0 R 5686 0 R 5687 0 R 5688 0 R 5689 0 R 5690 0 R 5691 0 R 5692 0 R 5693 0 R 5694 0 R 5695 0 R 5696 0 R 5697 0 R 5698 0 R 5699 0 R 5700 0 R 5701 0 R 5702 0 R 5709 0 R ]
+>> endobj
+5642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.782 199.475 684.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.098 673.782 296.905 684.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1ccbc462776ddeb1052d4c4fb35da65a) >>
+>> endobj
+5644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.242 673.782 398.623 684.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.796 199.475 648.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.098 637.796 294.404 648.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a610ebadc0a8c71ad8575ea198e800655) >>
+>> endobj
+5665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.742 637.796 396.122 648.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 601.81 195.799 612.714]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa5caf9c1465a76332b9b809a1bf9f9a2) >>
+>> endobj
+5667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.615 601.81 273.995 612.714]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.134 565.823 196.833 576.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a1b71d709b44273380a21cd197d3ebb85) >>
+>> endobj
+5669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.684 565.823 276.064 576.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.387 565.823 454.768 576.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 517.882 191.365 528.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a74af0786f5787a7f7db0a2b6232e56a9) >>
+>> endobj
+5672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.181 517.882 269.562 528.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.528 481.896 192.794 492.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7e4efb96f10ef03b316495c90ae4313d) >>
+>> endobj
+5674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.038 481.896 272.419 492.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.205 481.896 453.586 492.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 433.954 197.453 444.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7c68cdeac59035fabf1603a87f313f66) >>
+>> endobj
+5677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.268 433.954 275.649 444.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.987 397.968 198.34 408.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aceae8deb3688022d007eec835d772695) >>
+>> endobj
+5679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.043 397.968 277.424 408.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.828 397.968 455.209 408.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 350.027 191.216 360.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afc3e3bc6e3d2c5b002d930b32b9631bd) >>
+>> endobj
+5682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 350.027 269.413 360.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.541 314.04 192.658 324.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7148f41de04826e832fe479a0e859f46) >>
+>> endobj
+5684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.916 314.04 272.296 324.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.165 314.04 453.546 324.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 266.099 190.26 277.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5d0001ad77e62cf77498a9504d793c61) >>
+>> endobj
+5687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 266.099 268.456 277.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.626 230.113 191.787 241.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_afb84ec3fc2c8fedbb685c29bbdc7f3a8) >>
+>> endobj
+5689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.129 230.113 271.51 241.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.91 230.113 453.291 241.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.668 182.171 212.417 193.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa03c7854d954ddbffa13a2aca58f22d0) >>
+>> endobj
+5692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.801 182.171 291.182 193.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.593 182.171 466.974 193.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 170.216 250.302 181.12]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.722 134.23 211.923 145.134]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5dee740c35d52d07415f0ba91e15b648) >>
+>> endobj
+5696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.36 134.23 290.741 145.134]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.486 134.23 466.867 145.134]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 122.275 250.302 133.179]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.015 86.288 191.281 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0a674e95cda0698184161e3e009aa570) >>
+>> endobj
+5700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.013 86.288 269.393 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.762 86.288 441.143 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 74.333 222.997 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5713 0 obj <<
+/D [5711 0 R /XYZ 89 770.89 null]
+>> endobj
+5710 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5752 0 obj <<
+/Length 2010      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F~�W�/.L�z�Lә^�NzI҄>%���I �H�v~}��.���Cw���Z�=����}g�7���k�Q���b�AFR��{{�$$�ͼ�}�����7�I����V���ϟ�
?���z�G��
�G�#��������؛�ǿy1���F+�S��ޫ�_=����?��0O�o�[�Lj¥"�8�c.��p0�����s��\z�i�s�o��
+IJ�х��oL��I�Q��4X��ur=[\/�`�����%�"�yf���g�5��g�f�&w�S���Ξ�xD�
�?��4�CJ0R�xC��K^yC��K!�0�oi�en?�W�K�I�3�vT!�M����EŒD�����_OVi�Gɿ�@V����逈,��^�AX�9�!�5a
a�� #D��z at a��4r;u7�t����
2����̷=�D�I<�*�J��7���|�O?�����ꝿ�I6L��Y"$dQ�g�Ԅ J�i5(n�f
�MT�2,
�E[�b�,kqv�%7�
�!�QgX�na��
+òQ��ՉrX�`���ქG�n�T:�ㆷ�Y1|Y�0L�`
 �8����(dG	��1����-�aLkC�)�I�<%=wE�+G
+��"�C��
&
(�}�!G
�+
1T
+a
��E�r'���)y;w
+�Ý`l�;�:�NxZp'�4s'g��;K=7s�Н����Џ��z^��~,���(^E
Vr�
��t�H��b��4�
��2^�i{�5�9�X���~�،jl	j�t���D�6%6oJw1�Z��
�%<���
1�W�k�"�
+���tՠX�ӣ*�)�
	ާp�

��E���V��U���P�c���ŸGy	yY��xU����yy�r��?���@�øN���0| ��J�	�Dw�.����F\m���r��X �ս*1CR�k��Hl�Z��&e�e�
+s\Е���а*Y!%

�^��Ǫdlte��� ��g����
���:�
(�7`�m�v��Yr�X� �΃�PŐ�����8u=Yn�E)U�
�k�*U4�D�� ��$m#�$ ��6�<F)Y��Q�J$n��\�8I�T�(
���.'����:!�6P�
��_;Q��#�T>
Z���|E��.�2�Z%�	h�R�~-��
!haЊ�Z��5dj�}X2�u�ea�B5��	�:��b�4�L�qP
�m��K�bo�iGs_h�.X�U��
-�ܰ�
Kĩ��a,�0c�=�Q��%k|���hM/���Ok�F�m+�*%��n��a�
 �i[�?
+�����SĊC��X�
����T�I�c�+�q
O�M�$v���
U6�5��������v4;
�j��6�����յ��q
VJ��
�M�a�v
pU
DŽ�)s!���P���!��8d�@�]Ug�]��R�b_jo�s«�$9�J�7.�A�a��H��X�2Q��ΐh�%,�PK/�/}@ ��2q�����D�&͎Ŷ�R���d�3�|�]O�{anhe�ѽ�$-�5�uXEJ��P9�JT���z�n�
V.����-:���g0R�ҵ��?ߌK˸�Ðp���u
�1c(�q��,ч���q=g���!
��m����
$R�@j<�|޷�:d	���
��)奦�b|�PcM �Di���%�����
��0�w��R���5�.�5� IEH�ł��"H��ѣ�]�d�+a�
+�$�Z^�d@�<�LeC�|G�?rY.��A�]Y��!�%+�S�}T�'�>At7�s  �#�� �]q�o�{C��4���U)��JyZ�'�tNn�$�p��k
�8~Y��I;�P�����vZ��3��ߗI�e]_Vz�+$L�ô�
F���t
?��I?8�b�/+�
�ް0�ZMV
4A
���I�:�U|�������|k�
����9Yo��;��d�m��p�ui�X��g��1w�w�Y(*�
�E� Qt�����v
��9��}�+m^�U>/�g?|[�|�>\���hw���5D�
+endstream
+endobj
+5751 0 obj <<
+/Type /Page
+/Contents 5752 0 R
+/Resources 5750 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5511 0 R
+/Annots [ 5703 0 R 5704 0 R 5705 0 R 5706 0 R 5707 0 R 5708 0 R 5754 0 R 5727 0 R 5728 0 R 5729 0 R 5730 0 R 5731 0 R 5732 0 R 5733 0 R 5734 0 R 5735 0 R 5736 0 R 5737 0 R 5738 0 R 5739 0 R 5740 0 R 5741 0 R 5742 0 R 5743 0 R 5744 0 R 5745 0 R 5746 0 R 5747 0 R 5749 0 R ]
+>> endobj
+5703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.074 685.549 204.365 696.453]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a53e464cc638472234a399bfcc3fb4fd9) >>
+>> endobj
+5704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.155 685.549 283.535 696.453]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.986 685.549 437.367 696.453]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.594 199.475 684.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.238 673.594 370.619 684.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.945 673.594 513.996 684.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 661.638 159.735 672.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.968 626.784 191.792 637.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7f00bb47581722220814a6a59803e255) >>
+>> endobj
+5728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.476 626.784 269.856 637.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.951 626.784 441.332 637.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 614.829 222.997 625.733]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.197 579.975 216.778 590.879]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5dcbfe8e54c7b465495bc71274c62a98) >>
+>> endobj
+5732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.691 579.975 295.071 590.879]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.536 579.975 467.917 590.879]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.491 533.166 214.054 544.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab2c74f72a54a0b6a18906c124de256a9) >>
+>> endobj
+5735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.261 533.166 292.642 544.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.947 533.166 467.328 544.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.33 486.357 215.546 497.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7c476dda1d63f9a52caece85a3a905d1) >>
+>> endobj
+5738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.592 486.357 293.972 497.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.27 486.357 467.65 497.261]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.922 474.402 250.302 485.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.479 439.547 193.302 450.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ab65c6e56b8c876fadd996e950403e318) >>
+>> endobj
+5742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.497 439.547 272.878 450.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.354 439.547 453.735 450.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 297.957 259.826 308.86]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5a4741faa2f2e8ebf45ed4e3cc044fe6) >>
+>> endobj
+5745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 227.237 265.202 238.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7341b0f373b6f29aabb059318c838dd0) >>
+>> endobj
+5746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 145.053 257.524 155.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a26483f6bea8469aa377bf4a8fa77f64d) >>
+>> endobj
+5747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 74.333 282.915 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a339b5de27c5e23c9ac925b0a7f5bedcd) >>
+>> endobj
+5749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5753 0 obj <<
+/D [5751 0 R /XYZ 89 770.89 null]
+>> endobj
+5750 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F68 3032 0 R /F67 3037 0 R /F66 3179 0 R /F119 3070 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5776 0 obj <<
+/Length 1053      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W��3�
+ 4nMc�7u��d8�LKJHѦ���IP"
Jʣyh��A4	����KMF��oC�&R�hx�F�W����]�a^�`��+�`7��(��(v�d5�o�(����(_
O���]1(�	_<��8��
���ih��#R�/�VCZFh�ԯ
=�?{=�

J���C0S@����O�$Z,*�COQ7N�hWw^Ʒ�x��|�o	N]�B��t��;DK��Tpq�����n��gS��
�"�2���W�_6��fnI$=Cڿ��הV��i�
	JbR�	�A�ز�����8*���#�[��@�%���y�L���5�x�v�S��( -_{�r��
��j��y4J���#ȸ=�Che�v�b���3�r��G���a#Q;t(���m*40
+!ZW{�בƢ��`�5J

�''��B
��h��.$H�w
���
k�w��c�/?5�[Q�<�ˡ�
D% ؤ�۷
�8p����Q_�bl_^�{C�/��"`[�J��
eYҡ�s`�~�~*X1�z|y��RSv��2�Zx , ���}��E�F|�h�l�X����_�h�5�V-avULs���JD	,�
�@Y�q�{L��&���4�WW���?D�y�yk
�.� ���!�7bI�fP���P�.v18��`�P����\3�˪
�<�*��)	L���@�0�@���l�vx�ڶ_�E�:��-�ߢ}Afi�����w��ʪ�V=�}I�/I�Ճ	ۃ
uvz(;f�q���n��U��?@������d�:��:����>���N�}�]���,�����hw���,퐩q����
P���6޷OG����+�

+
+���=xX4ܬZ��e>�
�&.WW���ߋ8����5���|��^dgM��ef� ��O7?�}��_��WϋS��a
+����<].����a���WH����,ט��;
+i��fs}3����P�q�X���5�{&���_�|XO47�)C�g����� ��?�
+endstream
+endobj
+5775 0 obj <<
+/Type /Page
+/Contents 5776 0 R
+/Resources 5774 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5748 0 R 5765 0 R 5766 0 R 5767 0 R 5768 0 R 5769 0 R 5770 0 R 5771 0 R 5773 0 R ]
+>> endobj
+5748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 636.226 261.956 647.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a6b608bb6b2030aafbc57964f63f9a6de) >>
+>> endobj
+5765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 565.823 311.119 576.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aaf7ee24b1de8cacef61bc37c4d280bd6) >>
+>> endobj
+5766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 483.798 256.337 494.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a4b2839dbccb2736dccbb58b0e589b5e3) >>
+>> endobj
+5767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 413.395 293.415 424.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa49993578916331f71d60ff1b9a3951d) >>
+>> endobj
+5768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 331.369 261.956 342.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_aa27860086ead05da8ac152dbd2d6fabe) >>
+>> endobj
+5769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 260.967 298.407 271.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7a8a423b9e5236053b363400e7789fad) >>
+>> endobj
+5770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.4 178.941 256.337 189.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a45a8595dfc15e72d28fd31b5f4561bdd) >>
+>> endobj
+5771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.63 108.538 280.703 119.442]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a0673c1c20598ea950f352d2d5ea2689c) >>
+>> endobj
+5773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5777 0 obj <<
+/D [5775 0 R /XYZ 89 770.89 null]
+>> endobj
+5657 0 obj <<
+/D [5775 0 R /XYZ 90 112.523 null]
+>> endobj
+5774 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F24 529 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5803 0 obj <<
+/Length 2029      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�+�zo�B�m�"i����-�%"�����w��)J>�M�'r��3�s|3��
�~�4
����
Q(��W^�=��HHͽC�ѧ�+�� �P�.����7�o������t�e@`
+{����z��������
�Y��8e�\y��pS��*�����'���h�UOFc*�0N
+-��,��r�IJq��-�>���
&�b�Q�4����/�a�/��
+�>���$/�8gY��o'�`�����ӳ�y�"�e�ę�	G�o%z��m��N𠱚aDXe��c�H6��H�\C�O�$�Oz(p�V.�=$
+j�Y	�%�-s�Q�<NVib�_��X���;\kp
�J�M��{j��z��H��G��RKԈ��"*�k5"x���O���a�X:q6i
wf#�U�Q3=�ڍ���t
qLAR��)X?pf�T�o�Q�c�7����|�ZoVQ��Y�XG}�k
?��^�yWޤ� �֪�eb_����iSB$peǢoLF�ק&(®|�D�+u��'�q{��
���Xuؗ�������Cuq�]��T���Zj��#d�|=�:��*h�
>�>�
�9�
����w�TÎw<FD�5l��7��fR���3M�����
 J鰛��B�
#����7q�R�+���3*�^�	C������

�T�5<��L��U�U9i�e�8q՗m��<����V-,�5��I4�
82
+:�ড��L ��Q����P��f�	 �������f[�Ϸ<,��ʢ"��c�M�(A�a�?��
�,�
K�b��P���7O{hH��q�j ��#{p� �0.!���蘽%�$H���:!�Zo�����p���$͋LEP��'i���uX�?N�ܷ��7۵���ř�T��#����
�d,CD;	�]�5hu�<�� z
g{@
�jbE��Vx
��ަ�x�5���B"�c�0�p�	¶1Mb:�S�^}?��ɟ
�7=�+F׭�$ƭ�zT�F�_�]��X��6K����K�t
Ѣ
-��c�Є+-��
+��%S�2����L,�4Z,c
Bȍ�$9qA@s��%LjC�2��I�>9Al|Ȃ9�gq|1�
��{">߯�
$���2#�8�QKc)���Uy�N"W
+7.�&���Zi�����O7�lZ�7�l��6�⤧d+#mڹ��ȋ[��7��
�֡
�]�5%���^i���ۿQ��T�Q�i-ó{qwt�;Vn�#\���hz���N���q@>&����2MW}E�a���U��Q�ݫR��`�f��;��c�0�[��
�3����E��"�1���"�WJ�@�,���>[��vN* �þPk�
�Xؽ����5�f:����tfގ
��{a��|����|�zWQ���)F�:�o�2��G��&��g)$��j�lK�AHI
)Yb�; �p�T�O�=�\"L;"��/��.�&� Z9�-��%�ک�|I8���jIRgʮ[aH~̭��1���v��\�qԐw�4s
�l4�`�ѵ[�h�)ۭuh���uKc �VIQ�m#�X4 =)��U~��G{�-t���T�w�d�z%s��)
�nP֡�
V��{��Pٕ�hV�^Ƴ��5�9�h�����}
Ca��/��dW�9KՕ>�G��,V���M}FMO��u�@�
�v����Vi��o�������]���b�RĀ#M�e�z�0���ӎq�N�a	3V	pP�/w��S�
+��ni���j�������8	��\Y#�W�
�I
+'<X�V at Q�)��z���OM�:�s0��u�˲4�o�tp_��.���LD�H<s��RO:�j%G7$��k��2�~���]��������l� +L|���滙,���/��{�����k��q�\=dɴ�VS��}m_��U��6�3�oQb���>q&�+�u=��*+ +��J�_u;O4�
��:�,�����r��U�@���Wo�o�noz�*>��6;�kn˔`¿ ��V
+endstream
+endobj
+5802 0 obj <<
+/Type /Page
+/Contents 5803 0 R
+/Resources 5801 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5772 0 R 5787 0 R 5788 0 R 5789 0 R 5790 0 R 5791 0 R 5792 0 R 5793 0 R 5794 0 R 5795 0 R 5796 0 R 5797 0 R 5798 0 R 5799 0 R 5800 0 R ]
+>> endobj
+5772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.89 707.957 218.72 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af1faacdc4d1bd9cc6efa3df48b9ab40d) >>
+>> endobj
+5787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.939 632.588 269.087 643.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af3c2c2bca173e0697358e9c76afd4a60) >>
+>> endobj
+5788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.904 516.727 185.36 527.631]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.327 516.727 247.783 527.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae4cfb147e2773008ad585185d07e1b79) >>
+>> endobj
+5790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 504.772 184.651 515.676]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.533 481.036 237.219 491.94]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a5371b59fd606148bacb3cd9ec41c5306) >>
+>> endobj
+5792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.342 481.036 411.722 491.94]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.884 419.615 257.813 430.519]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_af5e8cc3b25cdc1ef3e37bb82a4e8c7c8) >>
+>> endobj
+5794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.945 358.194 184.401 369.098]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) >>
+>> endobj
+5795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.833 358.194 240.309 369.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a262ceb2e6dc438920274528c8d324344) >>
+>> endobj
+5796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.778 358.194 398.335 369.098]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+5797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.322 320.683 235.007 331.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a93329bd6701b72b26d8336d090f04c86) >>
+>> endobj
+5798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.185 320.683 381.565 331.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+5799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.083 259.262 252.473 270.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ae15725ff36519df514dce8b2a52c8f9e) >>
+>> endobj
+5800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5804 0 obj <<
+/D [5802 0 R /XYZ 89 770.89 null]
+>> endobj
+5658 0 obj <<
+/D [5802 0 R /XYZ 90 696.499 null]
+>> endobj
+5805 0 obj <<
+/D [5802 0 R /XYZ 90 228.536 null]
+>> endobj
+5806 0 obj <<
+/D [5802 0 R /XYZ 90 178.094 null]
+>> endobj
+5807 0 obj <<
+/D [5802 0 R /XYZ 90 100.603 null]
+>> endobj
+5385 0 obj <<
+/D [5802 0 R /XYZ 90 77.486 null]
+>> endobj
+5808 0 obj <<
+/D [5802 0 R /XYZ 90 77.486 null]
+>> endobj
+5801 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F66 3179 0 R /F110 1507 0 R /F39 2320 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5812 0 obj <<
+/Length 3156      
+/Filter /FlateDecode
+>>
+stream
+x��\�r�}�W�I����/����2]r
E��'I��%�%bA/@[�קgfo��@b([��
,ݽ�=���#*FW#l/�`���<=8:Qld��T�N/G�7HH�v1z7&69$���	��i9����P<^��_g������������^g���Qvq��n~����?
���@E�(��|�F�R������'�TX
��|v�
"��?��6���L�K/�tb�8���LW���&��
g�
nIA�D++��Ӄ�H�#��%�ң����<���?���ѣ_\���Sכ�ۃ�
� �� #�?!
�u?��T!X�V�?�RHR�sk [!ś��۬����2
��vn�o��ip:���5���p<��x��o����ʫzHNM��
�0>�F�Da$\	2BxуY��kIxlČ�Y'�s5[
�8�R���np|<�1��_�{���C.��|���u������bZ����z��x{U�e1��ʐ����i�xl�,����Yyq [...]
eH�Fw�ܡb�6b��TP.�  � fK �BU�d�k֓2ϊ
��T��Q\�o2[DU_N��*_�ۋ��n����ՍVh
ܲ�Bj��R�
+
+�u�
���MX�q�/�+��P��d�-� r@�
Wm(k)d�i
+��R�B�" ꀙH��W^^��G��J�
��8��2b�V��R�m�}��W�?G���"�ZF �̄j�SFT�
+E��dm�����?"�.tҶ��
�X�B�?�Zvt0��8�#������$2�$��-_1�PT&A��G2�@`{7 Ǜ~����
+2��4���X�"J�Z�Tb��W�ӈJ)`�Ө�H
�{N@ ?Zs�[��dUQ�����,V�+
t���S$�a-��=Bp����ޕ�>l �u����5��pj��l`E)E�
���b���-l�@m���Ml�B�g�@�l�#@"��� �$UY9�
N�4�(S�D3�V0�.��u=��?���^ ��hB���p�Ќ�v�fz�N� Ja� :��5 at w�����m ��v#@'�YtW� 
 -w h
+i+X�Q
+D9��7qp&HS�D+�KMt��w�P�0g���LM
�A��[��N���v�R���A�%���;����C�$vk�(zfc3s]9�Z������Y��-�N��
t��l�`��ٮ����N��b��~��ήcu�i����$M�rn,$����$5p��� ��#%�[�R<�<��F��ē� CH��e�!�lW��lĤFJӽ�RQ'Jh�/R��!����[��,�=
�v����ˈr�J��!�$"I�,TދQ�B���4�A%
�d��ñ�V�h�� ʒ���G���Ϯ�S��a�J��R� ��)��+�sh�?��U�kpRڼZ�c[�(F�l�T�.�n�T�|��p䞽ծ�2'I�=�c|
P���R)��a,��T�Y
�_��v�^Wi
K9�;S(�� R
+Ԝ�.�*�c���2�Qh��A�H γg�� �o]@wVr��N!�]ĉ����6����S�$�:}"$�е�5m+C�A�Y�T�����TQl����+jR��~y7[����-���(��v�j��G�l�h5ŀ�Ƌ��!���ɧ�{��A��fqW\���ً��n�d�!�.�F�y %{z�]Jѩ��b1[
+��Ƭ(�ٗ�vWDؽ��R��T���e	TVd���L��fTA��U
+6���*P6k�H�،����lf�Nl&��ZJ��j?5��30lZ��Gg�
Rz�{
+�aOg7w�@oeOE�{ʀ=� {Ҷ�
�'E��G����]��OI��<� ����ʌ|�)3�	Y�)��н��4bZ:Q\�}��o�23�M]���p7u�=<ef�)�zmװǙ��)3`*��d<�ә�9ۅ
u{���gQ��m�	�;����axz{ޤ��C`wD
+[d2�3��X�\�bE��G
k�

M�1�m�';�} �����t�ć r� Aoirv39��
m�`Oei�`�|	�
+:��dr�A�5��
��3�n���"�8Պⴚ/�v��
+d��q��v%;�lW�<
+P�c>���yZ��9��I�$"��v��]ؤI�rl�Äj��9(,8S�$�
Y
T�Xo��m�,�
�MAY���
��-����i��s=HSԢ�
#�
�� tiʭ({\�˱� 5Auƅ��R��O�1KCb��۹	Hb��� ����.��%������
'�|�7)0����l����r�g�&��ͫ����C��� �=��Nadlo QL���
b;X����sS��ڋPw
��\pH�4�+�:�-�ݯ���z����C<���9� wz0 k���<]���U
�l�U�QXӀ��K�+���H��6����NQ
���������?G
��w�ꟳ��m���_E_%��x�)rl�V��!�v)��o�@
yB���A
\��K��]^tB�����0����lB���*+�(���Ol
�2��Fr���jE�
�	��)�nI\
�B�=���T�Q��:��ǫ��f^�7����5ɖ�ȣP� h'm��2���7�ӫ͠��ζ���z�#��%�S��ۢ\&�b
�%���a*��O��������Y�������w5U��/�(���p� lC�&�
�Ͳ*D�菣�ӿ��ZS���H�J׫��������2+��̯���<�q����^���05a��s�TcC�G�axg�{O�3�c�\1�����G/�l�b��0բ

+endstream
+endobj
+5811 0 obj <<
+/Type /Page
+/Contents 5812 0 R
+/Resources 5810 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5809 0 R ]
+>> endobj
+5809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5813 0 obj <<
+/D [5811 0 R /XYZ 89 770.89 null]
+>> endobj
+5814 0 obj <<
+/D [5811 0 R /XYZ 90 545.857 null]
+>> endobj
+5593 0 obj <<
+/D [5811 0 R /XYZ 90 522.274 null]
+>> endobj
+5815 0 obj <<
+/D [5811 0 R /XYZ 90 522.274 null]
+>> endobj
+5594 0 obj <<
+/D [5811 0 R /XYZ 90 486.299 null]
+>> endobj
+5816 0 obj <<
+/D [5811 0 R /XYZ 90 486.299 null]
+>> endobj
+5595 0 obj <<
+/D [5811 0 R /XYZ 90 452.236 null]
+>> endobj
+5817 0 obj <<
+/D [5811 0 R /XYZ 90 452.236 null]
+>> endobj
+5596 0 obj <<
+/D [5811 0 R /XYZ 90 418.173 null]
+>> endobj
+5818 0 obj <<
+/D [5811 0 R /XYZ 90 418.173 null]
+>> endobj
+5597 0 obj <<
+/D [5811 0 R /XYZ 90 384.11 null]
+>> endobj
+5819 0 obj <<
+/D [5811 0 R /XYZ 90 384.11 null]
+>> endobj
+5598 0 obj <<
+/D [5811 0 R /XYZ 90 350.048 null]
+>> endobj
+5820 0 obj <<
+/D [5811 0 R /XYZ 90 350.048 null]
+>> endobj
+5599 0 obj <<
+/D [5811 0 R /XYZ 90 304.03 null]
+>> endobj
+5821 0 obj <<
+/D [5811 0 R /XYZ 90 304.03 null]
+>> endobj
+5600 0 obj <<
+/D [5811 0 R /XYZ 90 258.012 null]
+>> endobj
+5822 0 obj <<
+/D [5811 0 R /XYZ 90 258.012 null]
+>> endobj
+5601 0 obj <<
+/D [5811 0 R /XYZ 90 223.885 null]
+>> endobj
+5823 0 obj <<
+/D [5811 0 R /XYZ 90 223.885 null]
+>> endobj
+5653 0 obj <<
+/D [5811 0 R /XYZ 90 189.822 null]
+>> endobj
+5824 0 obj <<
+/D [5811 0 R /XYZ 90 189.822 null]
+>> endobj
+5654 0 obj <<
+/D [5811 0 R /XYZ 90 138.14 null]
+>> endobj
+5825 0 obj <<
+/D [5811 0 R /XYZ 90 133.657 null]
+>> endobj
+5655 0 obj <<
+/D [5811 0 R /XYZ 90 81.969 null]
+>> endobj
+5826 0 obj <<
+/D [5811 0 R /XYZ 90 77.486 null]
+>> endobj
+5810 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5830 0 obj <<
+/Length 1501      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�V~ׯ੅itt�N�3�$�����ʓ��`	˚H� )��} $H�I��Þ={���vFTX
G�_z8:�����b�AFRi
�,�-�
~��k�h��
�XLjD�����?�q1|y1����^{zna�$R��{�7���7013��'
4�8ep�YW�?{��Y��(zD"d�F�!�u�cl/����]z�+�W0,TSDI}�.Q0���:
�\?x�;��>e�
Fl�H~m����è
̦#G�뒉	�H�l��!�@�:0Y<��{�`��}���za�U��U�)�
:R���9�8�f��
+����� �&��
��$�(�˒����C����F�#W�Lݲ�ު�n�jV����W�	��c���Ŀ%&
�:�
D�l�#
+��(���Ћz|�+����6ۧ� F8�@�c�<��w�5,^`�a�Z$g�n9B�(�Y�܎�xcR� �5\
�L�h�7�$,-�c��fx
���x��<��G�����.��
�
"�~2E�:Q�:��uO����ov�K؉v2I[�s�	�L�V����Pn�qb�
�,�}
��D3K��\�$(2�+���Eb��ؔڄ�],�?�@��
&bܴ���E}��
@C at 4���AG+��,"�x+6�Y%3q��f;�
k���\�HmO< ����� iNBw�\�$�;[y�O?،��
,"��r��e�qͫ�Ȩ
�
pS
+%��
��S�����)����?�`�L ;��ALd9|H]P���.*t�� �#�>@��
U!!��)*�O���s��R����%�,�F���鬌IL�\?R�8^�H1��t�I/��[D}
����*�}&d]�8��0� aѵ0Z������3�j؃#��:I���=���)�+"��ž��v`Ϣȟa߲
���n�r�N
��E
	
+�k>>\wχ�K>d	���Ƭ�|�J+D�,\��2B���f*���� n�*6��
!�
+B��m�<dM�C	y�ٵ��
+V���>'$��z��RĦh��p�i}�c=-��tdrto�l��v��	��B�������
�a�V�L�����s��
��d4��a��2�QUٴ)�#F�ƙ�υW	l;7��X)�R!�튑�*F)y]F�]�m^�">)cU7��)����Q��T�^�aU\U0��Y#N��m(QS0Bi,ύ��r��9F� \N�	
+�rS���)�t�n�1
+����6P�#�rF�Y�<Oy�$��-�Q �
+��

��?S�b��<�u���
���}�G�ʹDZ9�AP�?��0�)���:M;�����t��2
���7R�q��O
���
p�(k���փ\��:n?|��0Q��7����3�
��sf�
���\��s�q���O�@aD[�	��͘$�RR���-9y��¯�o7����Wis:��Lj��p�1A8�{��$���m�6��}����xö�
	�e��r���`p��,<�F�|?I�
$_�̾
6%�<��������?:�s�
+endstream
+endobj
+5829 0 obj <<
+/Type /Page
+/Contents 5830 0 R
+/Resources 5828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5827 0 R ]
+>> endobj
+5827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5831 0 obj <<
+/D [5829 0 R /XYZ 89 770.89 null]
+>> endobj
+5656 0 obj <<
+/D [5829 0 R /XYZ 90 674.891 null]
+>> endobj
+5832 0 obj <<
+/D [5829 0 R /XYZ 90 670.407 null]
+>> endobj
+5714 0 obj <<
+/D [5829 0 R /XYZ 90 618.72 null]
+>> endobj
+5833 0 obj <<
+/D [5829 0 R /XYZ 90 614.237 null]
+>> endobj
+5715 0 obj <<
+/D [5829 0 R /XYZ 90 562.55 null]
+>> endobj
+5834 0 obj <<
+/D [5829 0 R /XYZ 90 558.067 null]
+>> endobj
+5716 0 obj <<
+/D [5829 0 R /XYZ 90 506.38 null]
+>> endobj
+5835 0 obj <<
+/D [5829 0 R /XYZ 90 501.897 null]
+>> endobj
+5717 0 obj <<
+/D [5829 0 R /XYZ 90 450.21 null]
+>> endobj
+5836 0 obj <<
+/D [5829 0 R /XYZ 90 445.726 null]
+>> endobj
+5718 0 obj <<
+/D [5829 0 R /XYZ 90 394.039 null]
+>> endobj
+5837 0 obj <<
+/D [5829 0 R /XYZ 90 389.556 null]
+>> endobj
+5719 0 obj <<
+/D [5829 0 R /XYZ 90 337.869 null]
+>> endobj
+5838 0 obj <<
+/D [5829 0 R /XYZ 90 333.386 null]
+>> endobj
+5720 0 obj <<
+/D [5829 0 R /XYZ 90 281.699 null]
+>> endobj
+5839 0 obj <<
+/D [5829 0 R /XYZ 90 277.216 null]
+>> endobj
+5721 0 obj <<
+/D [5829 0 R /XYZ 90 225.529 null]
+>> endobj
+5840 0 obj <<
+/D [5829 0 R /XYZ 90 221.045 null]
+>> endobj
+5722 0 obj <<
+/D [5829 0 R /XYZ 90 169.358 null]
+>> endobj
+5841 0 obj <<
+/D [5829 0 R /XYZ 90 164.875 null]
+>> endobj
+5723 0 obj <<
+/D [5829 0 R /XYZ 90 113.188 null]
+>> endobj
+5842 0 obj <<
+/D [5829 0 R /XYZ 90 108.705 null]
+>> endobj
+5828 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5846 0 obj <<
+/Length 2261      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�6~ׯ�S"UlW�ڤ*�ͤ�MRN�}����%����Dy���i�D
+"iK�qmT~�$����F}��p�n"�.?����^�.^kYbW�����HKK@�Q��(abp�(�����x1��]8��'���h��y|����^}w�
�t%�w�����b��꧋׌mh��4���#�2T�e���@�����A�w<|
�0����M�w�x���^
,�'ӻI�&�/�'�q����R���X'���U�C���
. �D�i��[���faM��i$���$���[�V�!�eT�g���<�D^�AZs{���Y
׊pM�4���]2��n��A�]
΂��]�P�~x�
QFԐ�h�yP�~�~�e>
�����6�B��dXj������wQ����V`�r���@�"�H���N��5�	�
�
[Ax;�Bcx��BI"���q� �R��4”-e=�����z��e��KB�

�m��鄐�M��]��'��`	5P>�v�
+P�
+
�N��"q�u�6����^�V������?��S��뷙�
*�TII��v�ɆH���m��p��'����f�~<Y_����$��LE��5�$�l��խ�IAt1a]�u���ksu6���\���
+�mރ��)�̌Y�:�P�(��Q�F
+�W�=ݝ"
+mH���1
0�&��0� z�����T����n/k%{�
ѶŇl�@�D�1�.��5ٶ�܍��y��\
��\����J{x�6�ョ��u�mŦ
�}�������#
��`��ƈQP��g3�w�"0�
5��Q�Ao��b&�E�2��g�
ʑ"��/�Ȼ���_CBE�+Sv_fC#v��1�
rnS9�A���q�r�
s�ru��،��h�Erob��h��AfSRD12����s4q�����4/��:qۉ�N�֝�����m��m��V-Qq����m�ٻ�j��f8
+����P�1f���� ���'���'�+)O�Rih�Ri�;U���M�XE��6�Mˏ�*y�
F���J��er�T�xE���c��ϊk�o;(m�!X�V�Q�4�}���f��pu�o��t:��Gc�:���|�P�c\!`�T�s��[-��BR0<ֺ�o�S�����ޕK�c�D�e�����R��%��>��a�ܫ� 
���
�?��@I�x{���n�(P��
c�(\
v�����F�K`O,���m�eM����NAՎ"F��������c4��8䜗�9�g���H֢�̮(��<<F��m�L�8o�Yl�ޅ���w�

Sx�!�����c�y��`g�l�����C�B�@�Q�"Y&i:�݄�p�٠_���0(�N�f�\
o���
<����M��v�_�����H
2a_�21�D�� s#�΄}�_
*�0hq�c����лDz™/�QX0/��Kke�[U��0Nw
~8\�
~q�$����S]�TW8����$�C
?]M��ݤ���K���/��@�Q$�(�cvgyޝ�yX�k���nk��s�9����M[F�r��m�:3s����2�]�C
(�
D��P�8*�}��7�����
+�1@���>���ƃ��<Z{�����=���j�*�
�Ґ\W+�D��^����#�'`����ک.S���ej"a#/�fW�K-6R�����e���pU�s������x����D�c���IC����N�!Z�fB�	���C��֍����fO�� �N3��1P fևЌ�cT5{ƐMgz��~fD�2k�/�2̑^8q�g�
��8���۬������\
Z��5-�O�K�=r	�z�S�p2�;�x�MJ��4��b��kNr���(�
+�
3:s��!tb"A����H����H��է�NG=OG=��Ï�•%����S�lU��F�2�Mb�����\�2��9Wi��s��~X��q2K�u���T���$
;n�E��7.+�Z�.�ɶZߓ�f�N��zZ4�lS��'X��]'��{c�~\�"����(�\��Q���bJ�j���<)���i�Q�دhmb��*K���������[��b���9��=t�	XS�����������@���/�lO�ώ%�)%
o;��f�@g�G�6�Q��߽
%?��Ohn��������f��n�p>����zߗv0�/�V�?N��I�Т�(���H �zY`��a�o�sv���⇋�"��
������O�
+endstream
+endobj
+5845 0 obj <<
+/Type /Page
+/Contents 5846 0 R
+/Resources 5844 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5843 0 R ]
+>> endobj
+5843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5847 0 obj <<
+/D [5845 0 R /XYZ 89 770.89 null]
+>> endobj
+5724 0 obj <<
+/D [5845 0 R /XYZ 90 674.891 null]
+>> endobj
+5848 0 obj <<
+/D [5845 0 R /XYZ 90 670.407 null]
+>> endobj
+5725 0 obj <<
+/D [5845 0 R /XYZ 90 606.765 null]
+>> endobj
+5849 0 obj <<
+/D [5845 0 R /XYZ 90 602.282 null]
+>> endobj
+5726 0 obj <<
+/D [5845 0 R /XYZ 90 538.64 null]
+>> endobj
+5850 0 obj <<
+/D [5845 0 R /XYZ 90 534.157 null]
+>> endobj
+5755 0 obj <<
+/D [5845 0 R /XYZ 90 470.514 null]
+>> endobj
+5851 0 obj <<
+/D [5845 0 R /XYZ 90 466.031 null]
+>> endobj
+5756 0 obj <<
+/D [5845 0 R /XYZ 90 390.434 null]
+>> endobj
+5852 0 obj <<
+/D [5845 0 R /XYZ 90 385.951 null]
+>> endobj
+5757 0 obj <<
+/D [5845 0 R /XYZ 90 322.308 null]
+>> endobj
+5853 0 obj <<
+/D [5845 0 R /XYZ 90 317.825 null]
+>> endobj
+5758 0 obj <<
+/D [5845 0 R /XYZ 90 266.138 null]
+>> endobj
+5854 0 obj <<
+/D [5845 0 R /XYZ 90 261.655 null]
+>> endobj
+5759 0 obj <<
+/D [5845 0 R /XYZ 90 209.634 null]
+>> endobj
+5855 0 obj <<
+/D [5845 0 R /XYZ 90 205.151 null]
+>> endobj
+5760 0 obj <<
+/D [5845 0 R /XYZ 287.777 126.375 null]
+>> endobj
+5856 0 obj <<
+/D [5845 0 R /XYZ 90 120.358 null]
+>> endobj
+5844 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F119 3070 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5860 0 obj <<
+/Length 2573      
+/Filter /FlateDecode
+>>
+stream
+x��\�r�F}�W0/	Y��~q9��M씳�㔹O^W��`Y�D�$�]��� 3 �Pl�"2�Ҹ�i4}�g@	W���?�Q�>�99;j����
L�

������!st�z��@hK��pV���ߞO�<����ΞL�>�1�E������۳W���6�
�����n�
���<���&��A�4#�c!!J� �ƌR:\e�n��̧r��N��0�bΏ�#��i��/���6�9w�I��m��{1|8�����`�,�����7 �uP^
�y��p~}Y�_~\�����ny�D9��DP�VdN�ue��VHM�Iu����լ��?T�"�d�E���@x�]�1:�.�x���M�h(�1D�v�jLFZ��w�ZHb�i��Xh�L
�p�N��ȯc,S0��2��}۔(�����ϖ��qI�r[��v��n�l�
+U���
+��0�Ei���*
 �����t����"�O���|�džt�T'��+N�s�
ej�S���%\���� %%�V�7�8"�l�����]V��Aajx�(߰��i�;����6�ty���Z�PE�)o).<�~�#��f�囵(zv������	+>�0Sn}'ol{p
�t
5�˱�d6}��&kht
Rj����ݭ�	J
TQ+I�����6��
�x�.�x�lH[���%m��m�$������jY����ZI�e	�o�H'��
+�3DS�@������eSO�U-�q�@�����	���5��
}�	Mo>�7 x��
�k��uӰ`
+BA��@�
N١XL�h��������X��k-�оܦ��
�E��*��0{�
�12Dդ��M.�F�kc�)
/����B'G(�`����,�-N~(t��
�P�����gC4E�Pm=�� Th��Jȇr�uMygMm�
���Hz�6���+�7��MH���
�=����t5_|�]���/��T:�|c.�Q?2MKɭ�u��D�G��Ҧz�T�
+�k��	�ś�՗�C�FJ��{t�Γ���5�2���
��a�
F�A�%yw)=
ܠ��6����^��ഞ���Q�
�����.���0p��Kp۴
f�z	&���T�k=Vo[���-�&�H�p��ٞs�f�I�W
�։�a޵ag3�R f��n-_g[����|�f�Y�A�cRO*v�I����(h�ʹ�N�6%��QhBgD�yGڬ��I���6븭���i��y��ɁR$C�M4&YO�D���Y�m���1Kڬc
�E�P�h��8�"A�i�H���iX$_��"a���JM�Dlk� �5����2ðI��ӧ����@1r�G҆
F�!�
�^�v��C�
b/�m{�A�%���s�����z>�a�����
Z/�m�z�Q�%�r��e�X�v�H�j�H��D�)W��l�4?J�H�Z�s��bGW��kS�0l�IB�f
6
+Tw|u����%.�;s
��
�te4M)�]�u�6'�Ҡ��(4
�4�:
M#�
y��w'O#�F���5fd�:�25��:���J;ۓ�p#S�q[�zw̒��G�� '�2�,΃rej]�mkz�LSPh�R����u�%B
�����:�w?-283̚^��΂��D�\L�Ɯ
cOAO
+E���>>���0z#�'����$nГ	n����
z2�<N=��1�d��Ɉ~z7���MO"`F=�`b8?]z�O;9?���ݮR��C�W�m�>��I�
/a
��a�K>o´~i$C�t
Te
+YZN�T���hPn��D;��;�
���;��ݶ\;��y���1�*��|r'!����bʇR��#�jiwJ�(j��J2*��
+Z�
�
+J��+�0p�P��
+��1K�P�<
+�	�8�x�gq
��P�h<m[ӿ��~����8��r���i'�YN(����|��_F+r?�ߢ���=Ъ+���XL��R��A-&�mr3���8��s���(��|(�{����
z1�mӋ�Q/&��R5�g������Զ�J�c	�=B�scI��Uy<�Un

ӊ���³a:M
f�m�
`�"���~,�!B��C{�v�����f���0g�w�!���0|��w��$�.���
|���5f���8�
f5T
e��%�������6�F��|�`
���P����8��A�i�w��)��������E��XX�l������
+%?	1)��
�"&���R��w���;�$n�u�V1���d
�H�$�P^��d>�=דa�F1Y�m��c�b����^�oRwy?F�]��[�f���
ΠU.�����������~¤܍3����P0���TM #m�5�!+���EL!
L�.��ŝUl��
l,)�e��mrd�?4�)n]����p����k'JC��_���(�s�����|g<'l8v+?�!Xn
��U��>�x�{��,�p\z8�x��k�_������e���K� �~��J�B��e���<(-F�/0�8�×Y
+X���L�_gy�k�(I�*�w�ՇG��o>]-������U��ɾ�U/�~���|Q��6�BS�ϚD
���C�̯
+endstream
+endobj
+5859 0 obj <<
+/Type /Page
+/Contents 5860 0 R
+/Resources 5858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5778 0 R
+/Annots [ 5857 0 R ]
+>> endobj
+5857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5861 0 obj <<
+/D [5859 0 R /XYZ 89 770.89 null]
+>> endobj
+5761 0 obj <<
+/D [5859 0 R /XYZ 90 674.891 null]
+>> endobj
+5862 0 obj <<
+/D [5859 0 R /XYZ 90 670.407 null]
+>> endobj
+5762 0 obj <<
+/D [5859 0 R /XYZ 90 606.765 null]
+>> endobj
+5863 0 obj <<
+/D [5859 0 R /XYZ 90 602.282 null]
+>> endobj
+5763 0 obj <<
+/D [5859 0 R /XYZ 90 557.325 null]
+>> endobj
+5864 0 obj <<
+/D [5859 0 R /XYZ 90 557.325 null]
+>> endobj
+5764 0 obj <<
+/D [5859 0 R /XYZ 90 492.622 null]
+>> endobj
+5865 0 obj <<
+/D [5859 0 R /XYZ 90 488.139 null]
+>> endobj
+5779 0 obj <<
+/D [5859 0 R /XYZ 90 443.182 null]
+>> endobj
+5866 0 obj <<
+/D [5859 0 R /XYZ 90 443.182 null]
+>> endobj
+5780 0 obj <<
+/D [5859 0 R /XYZ 90 378.479 null]
+>> endobj
+5867 0 obj <<
+/D [5859 0 R /XYZ 90 373.995 null]
+>> endobj
+5781 0 obj <<
+/D [5859 0 R /XYZ 90 328.037 null]
+>> endobj
+5868 0 obj <<
+/D [5859 0 R /XYZ 90 328.037 null]
+>> endobj
+5782 0 obj <<
+/D [5859 0 R /XYZ 90 264.335 null]
+>> endobj
+5869 0 obj <<
+/D [5859 0 R /XYZ 90 259.852 null]
+>> endobj
+5783 0 obj <<
+/D [5859 0 R /XYZ 90 213.894 null]
+>> endobj
+5870 0 obj <<
+/D [5859 0 R /XYZ 90 213.894 null]
+>> endobj
+5784 0 obj <<
+/D [5859 0 R /XYZ 90 150.192 null]
+>> endobj
+5871 0 obj <<
+/D [5859 0 R /XYZ 90 145.709 null]
+>> endobj
+5785 0 obj <<
+/D [5859 0 R /XYZ 90 99.751 null]
+>> endobj
+5872 0 obj <<
+/D [5859 0 R /XYZ 90 99.751 null]
+>> endobj
+5858 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5876 0 obj <<
+/Length 3379      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_���:���_6I�i�8�i�����N}�w�D�r����7P����}h��4>|�
�ň����˷W�~���n��_*61�H*'���'�$$�-&o�a��'��'i�N߽�R����٢H�}��+��������7�([��a��ˊ�/��]�$��e1�����I�tJy��v�x�b:��z��]�#��A���g���*���۩�I�ޮ�2�O~���y��l3�GRЄbM^}s{��+xB|�Rz2__��O��;33z�k��p�ບ�|��+
���?��O�k�������)"���WHq]7(��&]���-�Wh���F�#6�L��
�g[�fD�٤wS����02
+�1�^�as*�m�p
�1��r7���#�sd��h9��v���֣�-$bJn�����hi�8 }�n5G\����H��#I�(]�$�A��8�D$�e���f�`:8TM�[�+E��Dk0;nn>X����
�dƨ}1>���F���b� Li1�� &�%�"�

fM���c� Z 
���Wk��Ղ~c� � �Q��"kz}>l �%�8�oR6�
CƌJ
 x����Hc5Fp1H���!��5&DD7���k	�'8�)�L�S�`*Ύ)
��>	�cI���[ 
�����.�W�>��<c�l���mV�e
�n�k�!�
���2��]��;���j���A�u��X��D�ٮaz�0� �F�=F��i��
J�}�v2�)2���8�֒�����XÏ�����`��}VK��}�񟚸
� o2Њ=qeQ��"��� C�>�P�ܶ�
�8�ߕR
�
��c�[IŠ�SZq�>+���?*�%3�XS����G�֊�nOJ�˻l�b���>��a0���&�#L&!_OIO�A�<?g3T������#�L*��^�.�J�R7�
�D�h>VP���D/���'
C��D�N�%����UX�J�'��k$���Z<g��&��%3h?��;J�D*��.�&(����d6��0`J�3ua&Ƨ�j�s��mlR���G31$`2F��ڤ
vMĶ̠t�.���$�s�D��X�J}:�
� ��Ӵq�l�_��5j�8�g���|2I�/���#`�2��%@!ٕ���|WY�����)Mj��(�(Y°�>W��[_[ĩ;T
p�!&b���ڮ�'�y
v
8XOH

+a�vұ�5�	�n�̋uZ��[y}��
�O���H���)�o��û��Et( ӼA�n�L ��`���@�Q ����%��3�_L$�p�.����;�
`�����Q�[�1��쎍
�F�
xo�p
l�Ӊ5
�hj����h�z��`~�c�j���	�m����O�CPR��h|~Ү�RP���Ҳ�I��44N���

SK�� �e���K�_�y�/؈At�	�'�1�]�3N5��RN��������Ĝ *Vn��ӗ�9
&�3� ������q5G�l�����~Ws�Q�eE��x��U���`�e��1v;-�$��~V4�0�<ɗ�#4���^�A֦0�zNw��2�b��i��.]��� S�`6/+��'�v����-s���L��y��'�2���T-���z�&n�'��q�]
>�����S*���<G�ݼͥp�~κ��u;
���S+wM'
������
�Ӛ��\\��ҝ�q�Y�q�;����]`�{�vgj�>m�Ne��(����۽޳��O���i����eT�,7^�GG�U4�{K������MLG��Ar��CLC��],F�O��3�YE�YK�C��Tþ�4��~����|�Ψ�1p���T�ⵕ
i�Z�
(�B{�k�d����~�?�T��9@�:'#F��"��L�$p=�Z�RA�Y�,��e�F��5.��z$TDRxx�2Q ��
 ��k��s�'�
+fE�����@��\�����|LȌm�C
+M��H�����#;����̉8b�^TK+����n��[=�'��N�l���<���a>[V��tW���
+���<��������O��'��8h��
�#� �|��
�
lq*F� �
��2?�8��Q'm��u��B\�U��v�Z�e�i�|����.�k5&l>�b4y
+am�pБ�I�JF��b���P�Ё�/
T�;
+妷�G�2�����Zd���+�c&�ٳ�]֐�����e��2���|�����4�-�Ҷx
�4����j.Xڦ���,eE�7�!5��Wިg��j�.=��2�Φ�E
���̛��ޛ��勃�-ɫ��xS=�6
5��6/�
+��
�sb�kajT.ݾ_Z��jD��KK[���w�����Y���I�����~�(��$|x�'T}W��P
�j�����C}$�xWM����� �Z�D���,fx���([ 	��֑�{��f����m��v��E7�5�T�ێ\
~�N�
ڃ`��V���4ⲩ���|d�>p
+7Y
*H�Ο�X�jDٵ#
�$m0��`n���L?V&W+?�v���P��
+�.��
b�c��v��ϭ��T������Jk�pZaFp3�
ZjU�QZO�]��
MaɸQP��Hโb�
�CS~��j0S*b����,v�"
I��=�?6����T�����T�<8�6~L�����o�u7_f�ҏh�,/롅�h�))О�$"����|F㣄n
EN͇la9����8R̪�<�$����Hg�
�uZ��d��eлܥ#�:K7#]��]j����X�5ȡ�DCWo�yKےM�����K~iw4x�q�u��wϬ��
{Ca4E�
d(��,D�cg�
�XԂ�18��I�/������X!a��ى%�B�9;-��9��"�V��}��[��L�c�g�������f�ii�~�04�Z2Hk}44�
�6Uh�cCL76���������:6�!��M��]<P̞�
8�
?��"��G9�$�"f�ᴻ��]��?�6"1�57f욚(�������S]G#cOZ�ǨX|w��̗1b�|/4�Q*
�h�Ǥ�^��I �$�]I{c!i���fV�1FA�B��7��wG 	��l����
{C`�v`(蝳Z���nW�[�:w��OI��;�1ͻp7��o븐Q�ٓ�F
�,�!��6���>��&�Hœ�"$�MvxW��q0��%E��nz�����m�1��/�MU�'�_�����.+�dO�Ti��f_�ت��59� lݶ�:�?gY�w��I���Wn�[W� !#M�,�7��w��]�y@�|}�3�y��j&q���΋�b�w����d��PJZG���H3��>��|v_�?�
\�Z���9�]^��
4�
+endstream
+endobj
+5875 0 obj <<
+/Type /Page
+/Contents 5876 0 R
+/Resources 5874 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5873 0 R ]
+>> endobj
+5873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5877 0 obj <<
+/D [5875 0 R /XYZ 89 770.89 null]
+>> endobj
+5786 0 obj <<
+/D [5875 0 R /XYZ 90 662.935 null]
+>> endobj
+5878 0 obj <<
+/D [5875 0 R /XYZ 90 658.452 null]
+>> endobj
+5659 0 obj <<
+/D [5875 0 R /XYZ 90 613.495 null]
+>> endobj
+5879 0 obj <<
+/D [5875 0 R /XYZ 90 613.495 null]
+>> endobj
+5660 0 obj <<
+/D [5875 0 R /XYZ 90 567.478 null]
+>> endobj
+5880 0 obj <<
+/D [5875 0 R /XYZ 90 567.478 null]
+>> endobj
+822 0 obj <<
+/D [5875 0 R /XYZ 90 514.729 null]
+>> endobj
+5881 0 obj <<
+/D [5875 0 R /XYZ 90 510.246 null]
+>> endobj
+5661 0 obj <<
+/D [5875 0 R /XYZ 90 458.559 null]
+>> endobj
+5882 0 obj <<
+/D [5875 0 R /XYZ 90 454.076 null]
+>> endobj
+5883 0 obj <<
+/D [5875 0 R /XYZ 90 385.502 null]
+>> endobj
+5874 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F24 529 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F13 834 0 R /F8 794 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5888 0 obj <<
+/Length 2884      
+/Filter /FlateDecode
+>>
+stream
+x���r�6��_��K�u��N0�}h.ͺۺٍ��L���2es*�*I�q��7��a�ֶ��@� 8��gW3<{{�����7	��(�T��W���"!��r�aNRz����3&"��]f��g�o���뵣7�G�
X�3b(Q�����/xv	���0b����͌S�����
a�

�$� '�%�L�B!���
+s��6���/�&_|��X��-�2[�d^�6y�إ���1f��Wv~[ek��e��mti˪5'���� �� W*bԳ�"
+�X��$���v`���<+5V
AS$U�x�N>
��G
��w��(Uݺ�|� 
b	����)�<􂢅Q�K8"�� �T���Ù��!)RJ�Wb�c3����'3�$q�}��#��	��C����#��,��-
 ��25A`(��d�	ɼG6��.�q�S·�y���H��݂�u��o"���1�+c
$�F�f�
��k&iC��U�-��S�4�

�,'8/4!=�M��Jf���Ҁ�n�ŭ��5���g�u�����*�B\���5��:?^0��h O���t=� "�+����
Q��V��I�;j�$�ʖth���
+5w����
	���� q%&�
��S��1Z�E�4�����p&#T:�J��QO$��L�����56�L�0��d���/�1BA����>�`��1�
�$r.���!����(pbH�=��A���d�
�D��&���
+=�>����c�I1�;�S�C
�x�j�W��1��I��IM{iP~0�
�Br�4!�O7�H�j�P"�T?'z�&X���&a����@-�$8C��=I
�OC
K�H�Ɣd���(j�_ȃ��
�����'��
�{�~6��).��vT�,
2$J(dMY�GnJ'Wvd�`�$�_�U��n[V{��1���/�m��M]�m^: 3���uV��U����A�j'��s���I���k=M�RpuS�U����D�6�W̳�Eq�+�[���n�z]4��e���u��`� RA]��J-��[��v+{�����y��_s�[���eqU����KF,u� ��B�L�����4��z�%WtR��
l9�����u��V���]B ag�I�/�ec5�u$����%.�j�ӳ���Tȃ�N
+��.��:��U�5!�Ы�+��õu�%��Ө�I�]~�1�Q�X��
}�+���D�:Ć5� �}�(
+�`n�ޜ)�|P;8�1ϙ`H@6�ҷ�)>����[�0��J{�K`@[�<
�����6���t�Y
�T���]�0�5F0�<��>��
p��\!�m
h�- ��0ąU�St?�@d
�ў uS��6�\�h�ݮ�܇�j
����
���3Y�ƐDw(u���X�L\�À�O
LH�R�?��� gjF�왁��BL�-#c�\�?k7��wyc��ů:�����Y��%S]��7!	��:�zr�A:
��.'�j�D��n���������^
���U9��c߆
=
 OF�.H*���+��b�`�	i��Q�� ����u����~����B̵/��B��ν���I�x�_��ȍg�e��|s[��;����s���Ҽ��!aU�וV��y��D��H
vD<㗆�
q�a)�Vw>G��iwH�G~�jW.���$�\:tS��c,���%�ь
��G��I�N�AG�
��k��.�&s�M
��՗���ɉ���0Q���=����H�l �Od���]�k�V��j�z��U�o&�0Xd�^�n;m1٦M��a6L�.��˶����wm�U�Z����7A�e��j��Y.Bu��v����*�]T��Lj�jG��uil25f�YÅ�|.10y����	!�� �$s^��X
T�n�	hon@!��I�~2ʥ�j�]CJ��W!z��,8؃�k2�����L��c��_
�k����./
�2TS�Cm��V�ESn0_��(׷Y׷���a�poFR4W�asǥ6�l�h��s,M���%�J� 'f�
f����YoQA>�� ��_��|}���<֋Sú�p
X�j���u޴u�t�̜�����p"	��rW��Tv٭ηȎB�r.��N��y���FF��k&I��0�>�H*����z)�m�>�
�(4�[��iQ��+��ߕ��M�)``R�q�n3���]WhY�F&_y��9e�-�
�ySԺr|�uW
Va�з�l�{�͠ [...]
+�琴
O�m
U8O��l
�f��?A���x���e��!�c��o#��	��5B�|�u������o?��Tl�����F��T�l'���z����oF�)
�6E+
#)a���#D���ofAe#f��;�P<�H�?�Q�w?���w"��4A7;>
\���&
��^	��ҫ�
�>
+D��
���(�z6"�R$�Z��1J��1ut^�����1~��q��������b���kדT�}ٞ=c�2x��&�Q>o�"��pW�Z<;�)��`��q
D�e�:��q��
%.�u�YO3b��>}��9$���l�(���E��/@yb>Ɓ��
a�I�P�8
�E��M<;ݰ��
+�[�y��@�]���Jr۾'�C��`�Vӻw����M^?9b���L��5��7]��t�;A�fiP���c�����ڔm���H�.!�n���g�.vWP:]��}�5��b�ᤫu��yS��r4]��"���_8J�
+endstream
+endobj
+5887 0 obj <<
+/Type /Page
+/Contents 5888 0 R
+/Resources 5886 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5885 0 R ]
+>> endobj
+5885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5889 0 obj <<
+/D [5887 0 R /XYZ 89 770.89 null]
+>> endobj
+5886 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F8 794 0 R /F11 613 0 R /F24 529 0 R /F13 834 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5893 0 obj <<
+/Length 2940      
+/Filter /FlateDecode
+>>
+stream
+x��\�nG}�W̓Mb�V�/���&�
'Y�ck���@�#��H*$e[A>~OO��&���M���LOUMuթKw�&W	M^
}zt�܈���NN/G#
Q�Fɻ
�����QJ{���������u������C:��~�χ󻓓>���tt��vr����O:~�X��f�?c�4
�	�\�����=���d|�w����걿����z�X��}�{���z�LÕ7�%�g��N/pI+�cNx�G?�
�v�@�&,�Kc���ѻ�4��O	%���s6h�H.�y��=����4�M�6�
"�L
c�����0m���

��^�xy�i����L,�"*��{�o^
%��
���� A~��
w���Rb���5_��P*�\ك��\��Dx�ʃ�������pZ
�
H	��߯t���"*�cGR��$���xCG�=•��?^��`��+x%�Y2�'�g'�
�{�r���f9Ys�C $�˻�t:�x���͜���,\\������rƀNR6ܼ�ٻ9S�����d�X���$0| [...]
�U�?�NE��
L�q�f`��x�$W�E(�� ���qk�5
1ܶ遒(/1V�l:x��^�p-�/IG���
_"$
�VW��r���%�p
����RG�k~q�\׭�:@��R
}9��]�/lB�
i�"�2u��p0�Ѣw�'-Z�L�ЅQ�8
�c������a�� Թm��g]ܲ�V�ɵ��Z���\ۗ1�s��\�.��r��1b��Dj'���*���r�)�+8��w�U��,���_�G�ON�N8
+L��U�
]�L�>����
�J�~�jd1C5Dӭ�Q3���O^���-l?�
�{��u��B�D�=h{��R��`
+�\�P�'����x�>L]�N�?<��
0��B��L���z6
,�Ê�!�̊��{q`��p���$6C�e��L
*��P�2�N��A`���WC�d���t�!|�Vg_�p�>W��\�,~u�
�� u� u�#��6T�T*�
+�0>���YpV���\�G��\�f�Q`��3��<�	�2�[OGa�)t����<R쐇8�[ߘ�$"\#�ē0�&C���N��Z�{���Yw�fa�-�T4��M
(�����C�
+ܝ��
ר ���H1���q��L9
�̓���=�\p��~\���bYc�(��3�d)��փ��e��R4<�Ȍ�Rn�_EV����乨�~�$�F����q ��7d�
��aFۤp�����j�_0x E.
w
q@��B
a�������N�T��	\
��A�.S��h��r�:h�II����l����8@�z=����Xk
+IG

������e�b�G�k�&��M ��#��v3|.[�細�I:������ӳUՐ�2"K���rx����>Z"
'Z�}�B2_B����"�/
�"��@Za:�-5ƫ:��4�a��n�U(G�X�y�q�n�.*80�zsXD�k���[��@�0�q, A
���C�=����ۥ�΍jA��JS+�,��4
+
З�pge�2{9
++��0l`�@W�u�!���₆5�NX��u�UX��H��~)��°	+8Rh��>p�`��
��4d+�Q�Ї	
t>��S9i�//��+
+�Xg�	)�W5�
�J+OJ+8]S��_SPpى�.41jro\U��؉��峜*���J�
O��9�`e�2[��hZ����H���7���z��
���kxy*݂�b1��D
+�z�"DƑ>��lV_yR�.��Λ+��7/�֔y~t�6��Z;��<�� Zq_��"�
9pY�F����7���h<�:{6�G��)gq��|g��KI���`b�Z����PX[)Y�P�$��B��&��Ջ,��Ȣ�����"�EV�W�!}%YB[�Y�����ֶ�>��h��+|�e7nڬF�9����b�0j��h�m����J��v%�g�0�D�"�rѶ��i�K�a)L�'��������,�H1�g�Q�>Vr�	��
�&�Y{c�᷁�Zl�2ckl��4(�:��xW��A�Q��-&
���؇lhB
>��j
+��
�L���r���E#�����;nN���6�R�__���L��!w_JY艅��]��
����U��]�j��!�Y
M����)1�f�|��'ʕ�GQ�*d7r[M�hȽ	�$lO�`쀯D
(%����
�p<�!J�:�.����Һ�i�N�n�e��<_A>z�	�$��L(ݯ��tf������&x^4t��sE�Su�1�@�
솧�Y1]�فMPa�6C3X$�r��������m�e/&~/#wE�sE���*�{s�n~���rOٗM[i��w�B�EB�P*�����^�� ��)�%�R�-\E
j}������o+��5[�"�v2Da�Rc��
��2RT�0iY��W"hfk]��0����؛�7X�(낭��ueŗ!j-�	G�4���N�Qm?���y8
FwmY�wY���@l���6�]�P����[kU�!4�!(��x�R
��A�h�\P���6���U�ne�\��ۉ?��_ĬN �"������Y�&�����=��'���	��_(�2;���'���+��]oX��'=DKTi�
�
]dx�xp9�i�K��
��l�&�ۻ�a�mU������a$
�O���0FW�0�Ə�Z�<~j��Sn�OCt�b�
Q�q&���C�b���4�91\���2`�/ᴖ��v@�\�.9����z�����ߋt�؟|��-�?����u��-,
��/Ƴi���oM���~���[�?&�o?��uP�”��s�|X.oN���o���\�>[��H�=���^-�Mf������
;!'YA�J��aDk�����O��V}�Q��{vs�`~���D$�fP�i�/+yq
+endstream
+endobj
+5892 0 obj <<
+/Type /Page
+/Contents 5893 0 R
+/Resources 5891 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5890 0 R ]
+>> endobj
+5890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5894 0 obj <<
+/D [5892 0 R /XYZ 89 770.89 null]
+>> endobj
+5662 0 obj <<
+/D [5892 0 R /XYZ 90 650.41 null]
+>> endobj
+5895 0 obj <<
+/D [5892 0 R /XYZ 90 645.927 null]
+>> endobj
+821 0 obj <<
+/D [5892 0 R /XYZ 90 592.85 null]
+>> endobj
+5896 0 obj <<
+/D [5892 0 R /XYZ 90 588.367 null]
+>> endobj
+5650 0 obj <<
+/D [5892 0 R /XYZ 90 538.737 null]
+>> endobj
+5897 0 obj <<
+/D [5892 0 R /XYZ 90 534.254 null]
+>> endobj
+5651 0 obj <<
+/D [5892 0 R /XYZ 90 480.51 null]
+>> endobj
+5898 0 obj <<
+/D [5892 0 R /XYZ 90 476.027 null]
+>> endobj
+5652 0 obj <<
+/D [5892 0 R /XYZ 90 442.024 null]
+>> endobj
+5899 0 obj <<
+/D [5892 0 R /XYZ 90 442.024 null]
+>> endobj
+5900 0 obj <<
+/D [5892 0 R /XYZ 90 407.961 null]
+>> endobj
+5901 0 obj <<
+/D [5892 0 R /XYZ 90 373.898 null]
+>> endobj
+5902 0 obj <<
+/D [5892 0 R /XYZ 90 339.836 null]
+>> endobj
+5903 0 obj <<
+/D [5892 0 R /XYZ 90 305.708 null]
+>> endobj
+5904 0 obj <<
+/D [5892 0 R /XYZ 90 271.71 null]
+>> endobj
+5905 0 obj <<
+/D [5892 0 R /XYZ 90 237.647 null]
+>> endobj
+5906 0 obj <<
+/D [5892 0 R /XYZ 90 203.52 null]
+>> endobj
+5907 0 obj <<
+/D [5892 0 R /XYZ 90 157.567 null]
+>> endobj
+5908 0 obj <<
+/D [5892 0 R /XYZ 90 112.55 null]
+>> endobj
+5909 0 obj <<
+/D [5892 0 R /XYZ 90 77.486 null]
+>> endobj
+5891 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5919 0 obj <<
+/Length 1838      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W(�R@��
w�+'i��I�/M����TH*����R��H6*�E��Kr93�9s�Pƈ��*�����%
��N�J(���e�p #����4x�ߟ���Q���O_�<�����7zr>�4"p
��H��l9z�
)\~����k�iD��q��>½�lD`�!�F�!�O�8��r�HjmB9y
+�6��I��p;z�%�Q�l�oV:O�z<�
��#؏e����
f���$O.�2\��<Q!S�n
�}٢�Q����)x�n��_���ڛ}����@�
+��
'l�P��a�L���@��'�n%�c�s��
p��L
�%��Yv]���lLx�Q��b
)L���X%�1ه�
����&�d����C���

����?��zQ��
+�r�6�M߹���պv�w�c�<F˜Ȟ�y�	�q���/���(bm�<
�
Ԕ��R��t�Uu���
�\F�CY5�#�&A�w;+�y��W
g�E��lM�=�H
M�fd�x���:����-�!��u��}���) M
�L�^�k����H�jFt��{/_�
�E6"�pL��(:@ʔ�T
>p���.��(� �I��� a�-
O"��
A�#��k�`�bS�n+&�8&8�釗��
z)����
�n�A �-�0я�L�=�
њ�2`B!
����#������]p�	Ԑ��	��:
���-� F��CEPm>�iY�UcB��d����B_.6luDԩ]�A����O�ޘ
�
������9����s7��s'OŞ.��|n��q���R�5(�"w�.���g�[�I�צ�?�ҹ!q��'�b�<�c�E1�<����.�Ø.�t@���4���
�����#�V
4��;��C�7V��=�i&�kӗI�Lv)��q
p�>�R��
�X��N
@
A!�-.}	<�
��uZ�@q
�8J�>3{!��]�Ii��t���ٟ�
�0��ߎ>B,{Q�B;C��:3Ș����b�JJ���M]�g�[��KhR]�|��޹
�
��'�΢NnY��.[h6-�sᰯ�Md�J
@� D=[}���:
X
���8�g�7�6@�&$�b�{�t`�*i?$Aރ�<��shϦ�7m�ծ���a��?·s��.�����{Q ��u��ʣ���5���ņ�V
�p<�����\?�v+8d������G�yc��1��I�`4(!"�Կ~0p��w��u�
+aP�;ۙ�J-
�K<��6s���٥
)�����.�|D>CŶX�:0�og߬Xj?
.��$
�u�.|�
+�=�v9��8�nq��>�z�l����ǺN��
W �Ǻ����N�=T��CZֈ��l�mDË,O��^�:�,��i���\���9�6��	Ŝ��؆�~(���<��ݲ	b]�,����f*���v�Cu�ɤ}���7Z"�(�O
��t�Qx
����|_Iȝ$J�
�H����Q�����J�(:�F1�ptg�r���
��Q�I5���Rr�$C��6��($v�,��q���
�I�M����	����v�ɒ��,���,�G
�_2^�(��$�xM2&��%p�+K`s�M(����&�w5	<�h���5	��&�mMb6:M�d��%�u� Fڤo��UP$)��[;`�������D��௳�7�g����K<.�����M6�
]���`������׿���.�s�=�-��
x
��Q�jeA���x�@`��
ø�>�a�2��������m�u����\��*�_!h�]�o
V
+aٶ\+��E�_�S���� ߂�
+endstream
+endobj
+5918 0 obj <<
+/Type /Page
+/Contents 5919 0 R
+/Resources 5917 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5910 0 R 5911 0 R 5912 0 R 5913 0 R 5914 0 R 5915 0 R 5916 0 R ]
+>> endobj
+5910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 449.761 175.937 460.665]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) >>
+>> endobj
+5911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 449.761 288.285 460.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+5912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.018 449.761 415.028 460.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+5913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 175.231 175.937 186.135]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) >>
+>> endobj
+5914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 175.231 268.908 186.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+5915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.641 175.231 376.274 186.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+5916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5920 0 obj <<
+/D [5918 0 R /XYZ 89 770.89 null]
+>> endobj
+5921 0 obj <<
+/D [5918 0 R /XYZ 90 692.575 null]
+>> endobj
+5922 0 obj <<
+/D [5918 0 R /XYZ 90 658.512 null]
+>> endobj
+1724 0 obj <<
+/D [5918 0 R /XYZ 90 573.915 null]
+>> endobj
+190 0 obj <<
+/D [5918 0 R /XYZ 90 567.038 null]
+>> endobj
+5923 0 obj <<
+/D [5918 0 R /XYZ 90 468.666 null]
+>> endobj
+5924 0 obj <<
+/D [5918 0 R /XYZ 90 468.666 null]
+>> endobj
+5925 0 obj <<
+/D [5918 0 R /XYZ 90 421.736 null]
+>> endobj
+1725 0 obj <<
+/D [5918 0 R /XYZ 90 299.384 null]
+>> endobj
+194 0 obj <<
+/D [5918 0 R /XYZ 90 292.508 null]
+>> endobj
+5926 0 obj <<
+/D [5918 0 R /XYZ 90 194.135 null]
+>> endobj
+5927 0 obj <<
+/D [5918 0 R /XYZ 90 194.135 null]
+>> endobj
+5928 0 obj <<
+/D [5918 0 R /XYZ 90 147.206 null]
+>> endobj
+5917 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5941 0 obj <<
+/Length 1312      
+/Filter /FlateDecode
+>>
+stream
+x��X]o�6}��0`���!)Q��a���A�Ȓ�/I�2c
�%W������K�
�I0/��>����s����7�w2zs1:x�C/AILc���K�ǣ���ޥO0"q0&c�4 �O�Ez}P�W��\N���c>������Χ�G�n�+�i�����Z,�: —��2쟷�*k�}&o�Y+3X��}����Ň�ۋ����#C\x�bt�{S����(L�w�7-����[x�?F��o��D�9����V�j!�6m�4�n���<o�����j>��L���O�u�p�J�(��2�6/g斢������Gb���a�W����1��,����
+�L-��84���0Fթ��k��b[pi����|�b$��b���
A���]4�C
$�(�̋#���8
B
+r
+�
b�X ���=�`4
��ou���"�
��DDC
�9���>JAT�SlH����֙�WƆ��D�W�i�Xh#���fզ�1�z*�N��Ƨ:x=�
�iݩ����
�����
R[���


�8�id����Y��J��r������l�e�/��V�
�T���1s�~},Yz�%
E�B�������&�w�g��Or1Q�R��U����
y$
]v��r�;�'$��8TKUt��
+3
d[L�Z�ڧC:,�ۜ�x��Q��<�k��n���� �H�Eq"
����g�]�&J��=��
;	@Y�
}��b�6�7RZN]J�Ƃ�-�8b��ݖ(�S�!�Ҷ��T�&�l��7AQ��c�[�]��gțb����u/@�v�c٦y���X6Y�/uc�Qj��1��k�fU�0���I^�hb�e-������J��Q�O�]�
\u�
.�o�
��p���y���k
�U��֋�4V�ݽ?/A%��AY5�tR��\���*��"��ǘ��?���O��9����|a���g��3�0>� .�Tw��
!Լt0��q�	R��R���N)��vU��MIL�/� O ��G���A��El��0q��<`���~
����GW1��e��e&� ��LB$"����|őxi���2-�*�Z�p�0�q�o/8�B����
h�i�!����i^؞W�� �:�O��Z���-Ӣ�J��@_ɀ0�C����m��F#��l~n�)�-|��F��q]3�l��
2OO?��F�?����Oi�r�Iu�o�AY7]m!HwX�C�"�҅Ԁ��s��#M�
+aU�5�y�.&�Y#��>�P�s$����-��
��	r�w<2��:&�̯#5urN����݃����E�
W@������	�
+endstream
+endobj
+5940 0 obj <<
+/Type /Page
+/Contents 5941 0 R
+/Resources 5939 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5929 0 R 5930 0 R 5931 0 R 5932 0 R 5933 0 R 5934 0 R 5935 0 R 5936 0 R 5937 0 R 5938 0 R ]
+>> endobj
+5929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.588 622.278 187.842 633.182]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+5930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 548.246 175.937 559.15]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) >>
+>> endobj
+5931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.274 548.246 270.013 559.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+5932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.746 548.246 378.485 559.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+5933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.588 475.211 187.842 486.115]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+5934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.305 457.586 305.559 468.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+5935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 268.296 175.937 279.2]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) >>
+>> endobj
+5936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.753 268.296 214.94 279.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.401 268.296 260.589 279.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+5938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5942 0 obj <<
+/D [5940 0 R /XYZ 89 770.89 null]
+>> endobj
+1726 0 obj <<
+/D [5940 0 R /XYZ 90 674.552 null]
+>> endobj
+198 0 obj <<
+/D [5940 0 R /XYZ 90 667.429 null]
+>> endobj
+5943 0 obj <<
+/D [5940 0 R /XYZ 90 567.659 null]
+>> endobj
+5944 0 obj <<
+/D [5940 0 R /XYZ 90 567.659 null]
+>> endobj
+5945 0 obj <<
+/D [5940 0 R /XYZ 90 518.692 null]
+>> endobj
+1727 0 obj <<
+/D [5940 0 R /XYZ 90 394.602 null]
+>> endobj
+202 0 obj <<
+/D [5940 0 R /XYZ 90 387.479 null]
+>> endobj
+5946 0 obj <<
+/D [5940 0 R /XYZ 90 287.708 null]
+>> endobj
+5947 0 obj <<
+/D [5940 0 R /XYZ 90 287.708 null]
+>> endobj
+5948 0 obj <<
+/D [5940 0 R /XYZ 90 238.742 null]
+>> endobj
+1774 0 obj <<
+/D [5940 0 R /XYZ 90 144.231 null]
+>> endobj
+206 0 obj <<
+/D [5940 0 R /XYZ 90 137.108 null]
+>> endobj
+5939 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+5989 0 obj <<
+/Length 2663      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���K�x����n����O���%�V�"�6��=3
^E���t[D����̹~����r����յb�AFR�>�$$�7
>���ѧ۟&5�1<�.�|����������ۋ�/���	�t0Y\|���)\�9��
��MZ�2��.�~�=/Qa���s�����9xϣ,��Ɣ��z��d�d�:~
+�WײN c��&'�+�m��@A�0{��b��b���e�o.��}���ŢH�����3


+$
�
R*��S�(L,qi
+g�be�\]3S�G�\���hP�HhUR������Kr;�V���c�z�oL����i����#*�h~�
�

a�B�_�
U�-�
+�+͢l6��	�d�c�h����=h�M�w��2�ֳ�Mu�	�Yt�����8[F�/w�V�:ʒu�$�_������um
+F\�bFK�nz�"OQݧ�&���du����Z�xn,��=�
�[G�y�+��Tz���
6���H(�+���`Bq�8�U
+A�WJI�\�
+&�WŘ1
5}�|�:�0)��v��w��l/S�����Q����nkX.�8Ͻ���L֋^�P��P�Fi0v��njJ$�ц�^�1ߥy
+�W��^��R��GZK� i��H2���#�U
���F�r
��y�
�cJ4hˀ�(��3��t���>@W��<
�-�
y��� @�t��j;]�a at W��8^�3����N�GtzF�3�CD�x�%	�9 ����ј��ra7���}�
�<�XWb�XgU���r�k�:�]C���C;QG
x����ͷ��3��_#�h!�Dv�1�YV>�������@L� C�'�<�
�~&��u�q���{��f�X	;A]�A�
�gP��A��
;c��nD�3�@t;�%��k�4&�E�����Z
 W���
芄�b�
�mS3��Ii����gL��`:?��� ]�����~'��;�������d9Y�Y|�P1Nm<��T���`2H���%
I�v�.��,X�{H�WEn��s�h���c�=���sb���l��Z��`3�u at 8�%�S> �B�C!����\
�75���a�R*Y�ک���.��]XW	g�VAvRXW�o�_���q� ���<�6�\X�	�����7r���M��+�,�Bv����JfK��b�L�9L�|����ѡ13k��)N�4�d4&��Wq���q�Wq:Y�V�6v
(�}�I�>*�M�Q�%K
�����+��\�t�p�8ԋs����i�K��ҋ�yd�K�L6ö{h��d�}��/[걙��f7���!��z�tdd��oGR8�%!��]V��.+�����ci��wN�����A5�My<m� � /x�%;gׅ��쳵d4��1���'��o�
܎@�
i�ڪ|ѡz�U�+���+?�(��T8���Cs�rHx [...]
U���ez�OV
.�,ʁ�8A����\�jh� �ZZ�勖%��yNo	A4�eb�ep��9�FA�R�tJ���¢�x��(����rZ�;T�u]
�I�
�`@�V�`�
�D2z�
u�;B���ZՎ-?m�{B>��@A\
�%*彻
VU[e_ë,Ǽ�
m1!�ۨ�@<� �`�e�F���!�CX
�*��
	BCh����KJ-�aIQ�w��p
+�r��,PM\R׶��Cty&L�Z %5���:���D
)gs1U�\n�j�z 43�
�x��O�b��y%��	�Y�U�C��d/
)F̾>F9T��
;\��59��1�u�c��v���u���I�I�崢C7�
�Q���k�O}�Ƙ2
*@�U��_����IB��&užmI�tp`4*ݩ���ZVH���.Or����-�,��No+����>�;퍉�|D��6�p��1�v��
F�MP�N�*��I�(?���"E�
+���X�n:k;Z���ѫ���i�v�%Hī�!�e�������S�,���*IgE�ݧ�\�Q<��}k���n�`�S1D�b���\wx3�
*+h�l|C}�v��[�(_ڮ��F� 0�龏��wH��C��췦	��	��:�t��~��iR%�K��c5��:���4�q�P#�#_��Q�"8ДV3�V�LA�kc�o��Ő1;�p €�-�l�Jl1�S�֫c�؆p?X�V�ͷ#Y�3���7��tOf_<�"�t��lV���koN
iҢ�E/�ں�+ F��� &���vGPĚ�6�NO�E�n��።��g��tǭ�
aY-LTB"� �����U��W��r|(.�(UA��ő1\W��aƊf�
�p�
�p�!Y��O~�������|��n�f�#\�&�h�D����p�Q���+x�R��J6�~�ͲO�f�
���>�g�}����D��`G��#��-��X�$�o���HQ���õ�
�}u�;0��r;�W���3���O
�J�XEn
�������D�]Y,�|ps�&�#��	z��%Zn
+��[��߬Ӳ�$�v�:*��q�.-�뷒�]�b��T�B�%�S���_]�o
�x���h��+���A��
�#�~��?ϖpq�f�����^��
+endstream
+endobj
+5988 0 obj <<
+/Type /Page
+/Contents 5989 0 R
+/Resources 5987 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5884 0 R
+/Annots [ 5949 0 R 5950 0 R 5951 0 R 5952 0 R 5953 0 R 5954 0 R 5955 0 R 5956 0 R 5957 0 R 5958 0 R 5959 0 R 5960 0 R 5961 0 R 5962 0 R 5963 0 R 5964 0 R 5965 0 R 5966 0 R 5967 0 R 5968 0 R 5969 0 R 5970 0 R 5971 0 R 5972 0 R 5973 0 R 5974 0 R 5975 0 R 5976 0 R 5977 0 R 5978 0 R 5979 0 R 5980 0 R 5981 0 R 5982 0 R 5983 0 R 5984 0 R 5985 0 R 5986 0 R ]
+>> endobj
+5949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.059 646.058 213.719 656.962]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_a51da7be45180533a6f05d193a193fde5) >>
+>> endobj
+5950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.48 646.058 310.978 656.962]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+5951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.426 646.058 476.029 656.962]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.454 634.103 373.097 645.007]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.088 634.103 431.504 645.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.557 622.148 231.972 633.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.166 597.241 213.278 608.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_a34ee73e8a8cb7e13a65fc6ed7e0d3678) >>
+>> endobj
+5956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.145 597.241 310.644 608.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+5957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.373 597.241 475.975 608.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.454 585.286 373.097 596.19]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.088 585.286 431.504 596.19]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.557 573.331 231.972 584.235]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.841 548.424 214.617 559.328]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_ae9988816fab7d8ef0cae14eab37167fe) >>
+>> endobj
+5962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.16 548.424 311.659 559.328]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+5963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.535 548.424 476.138 559.328]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.454 536.469 373.097 547.373]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.088 536.469 431.504 547.373]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.557 524.514 231.972 535.418]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.43 499.608 212.188 510.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_a307595e3959d8b493eef756efaf0631b) >>
+>> endobj
+5968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.319 499.608 309.818 510.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Binary__Operator) >>
+>> endobj
+5969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.241 499.608 475.843 510.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.454 487.652 373.097 498.556]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.088 487.652 431.504 498.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.557 475.697 231.972 486.601]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.571 450.791 216.337 461.695]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_a837cb016717cabc430d6309b2d5bd28f) >>
+>> endobj
+5974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.61 450.791 305.704 461.695]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Operator) >>
+>> endobj
+5975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.67 450.791 475.272 461.695]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.454 438.835 373.097 449.739]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.088 438.835 431.504 449.739]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.557 426.88 231.972 437.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.559 401.974 169.852 412.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression_aa13879760b95faeaebfcd40e1723005b) >>
+>> endobj
+5980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.078 401.974 283.29 412.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+5981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.036 401.974 424.638 412.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+5982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.301 390.018 325.944 400.922]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+5983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.85 390.018 384.265 400.922]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 378.063 192.674 388.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+5985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 132.671 525.63 145.189]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+5986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+5990 0 obj <<
+/D [5988 0 R /XYZ 89 770.89 null]
+>> endobj
+5991 0 obj <<
+/D [5988 0 R /XYZ 90 704.286 null]
+>> endobj
+5992 0 obj <<
+/D [5988 0 R /XYZ 90 349.869 null]
+>> endobj
+5993 0 obj <<
+/D [5988 0 R /XYZ 90 293.002 null]
+>> endobj
+5994 0 obj <<
+/D [5988 0 R /XYZ 90 270.625 null]
+>> endobj
+5995 0 obj <<
+/D [5988 0 R /XYZ 90 270.625 null]
+>> endobj
+5996 0 obj <<
+/D [5988 0 R /XYZ 90 156.546 null]
+>> endobj
+5987 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6008 0 obj <<
+/Length 3572      
+/Filter /FlateDecode
+>>
+stream
+x��\����~� ��Z�}?.M�4�Ӥ	�:ע�c
x'�'D/�d���;�KR\j�8�\'@p�#W����pfvV4{��쫋�]]<}fD��\gW����HG����������QJχ���<�~>�tP����e~���f�/�]^~^.n�CfŪ����Ẫ��b8�>��U._�"<_�Ñ���3�WW�\|yu��
+i�E����/^���n�Q"����A�Lr��쇋^К���p���Q�
snX��P*3�q2p��X����ӟ�:�f��|R!��W�u��}�Lw�H�l�A�I����ȗ�_�U+�j}{[�b�$L���J4�M�Y�ZUp"�kF�����*H�\$���F�Y
�FB�k&А�A٠H6H�+����������"R����$�Τ�wFœ˴`D���Ҍ�Xo� I��-e��&�զxS�_hxhX^Ի��4����'�Ӛ8nbz�<p��L`�x-�}��W�2<�E� �ϊ!SH|�`Ī
��.G���׫���w�5�!��U��"a+@̈S*���_$,��DkOd��ӄ�.��؄�yF��{ƀv��s]�� ��?
�q��5��Z"T��Yq�O'%��.)����p���z�_]d/��~������z����7|��>��u����u[�a o(
��3��3`Q
�Ϝ\
LځF!����y6��Љ38^�#(
�.AWq�'�r
��j [�!�^
����ޭq�RJ{N
�{F�!�$င�8(>�B�
�6h,��Z�V� ��$ԥ��ϼ
O���4�������T2NI�9#��g|XR�4�@y9�
й
���Y����/J�x=�/��U�[`|�F>��H����H�-��/V!ja���e��~��sI45���t9<��ix؇1`��a�"�f ��8�0�M=Nt�t�j��N�+��3N�u��z�H4��I��$�Ā�
	� *Z���8E�&
+�
�0�+�#�fu�K�
Q
H�3��,�4s*b."
+"hM������fq�6|T��`�+
e��uZ�y�U�ۭ��+P͛���X
�w(7�]���t9p"h�
��u�r��$l^�@['�g�!t��5��V6�P*M��@v�� ���6Z
#�0�&���GI�Ƿ����P�w����{| N��ٱ�F�K,yp�}�~x����D��L�>����YbP�?�:�
+�	Pa�
��H���%	c"��!� �h��Th�*LXkgM��3Eu�R6?���aeˤ��ao�)��a�
�KI��Fj�$)L���S�*�I°�:�
����.C��2� �m��
�ɼ[�$

�qj�"���X��r�a���
�1�4�
�"�xp��AN��
gۋ���9"J�ca���
\&^�#!�:Xu$
L
�5
r_bjP,�w|��
+��`�J6Z/��
+A�pQ���V���Q�Em�
�OHA�H�3(o��q[���j�*��
y�b�e���o0�еR�
u�
E,�>i��H��
�b������2��>
��6;�t ;��j�֏���pM�&�kX�A����_�Np�$dbo�F�
��:H�כ0p)[�|���g�.AԈ� @
w�
o�ń���HܪݸE$��s�9�ŃV�	�$�i�]�;�*�d0g�Ü=��� 9�!gB�9�r��c4����lV"��V�)�73�Mn�my$x�8��:�;��j:��� ����9���=�Q�a�<�Ԉ�OR�>�t?D�)9���Ô&�R�|�ɿ�Eyb���D��4�f���(�����(�
�`�pN�F�WW���u8Ie� N�jk
+�&�T���
�����IcJ�O���Զ�=gI����;�~5�yag����v�Iw
by�R�����2痉��Hlg' Q
�a��^��VL��|3��T�CjM$úLF����]�d��z��
+=�0��qH��!���v��v*���an���"��x�,f��S�	w���I�2���v��p���Ln[i�
S�+�H�:�Ҫ����r��S�tKz��Mq
�K$t a�Ҁ�8���`���C�6��3@]/��r�<Vp�{��=���ִ�f��~�EP��Ij
>���5]��Պ�K,N�WMg�ͻ:�]/nWm�.nOC��Q�����*gx�K�L0�6;�M�¾�T!��pǔs���˄^w/���=�<e��pc���Kwyl<\�s�I;�j5�},H
{��},8)����v�3w�0�3!�ߐ���6r����AA �q��^S��KZH�7�|�M� ����A����	��ج�p��mS
�ӄ�Q����V`��A�7e9
W��f�)	X�s0%�M�r���aի<���H:���M��P�B�*�|]���oq����PN Tz��(�]�F��dB��
6{�
��O�
�W�j+7�}��je&�{�"�ո儢��n{ք�a�`���I�
"�
?�V
��mz@���~��|�#���A��3��%, �&�
lA�E�:�
��x��P��/�G����d"��E�H F�ޫ%h{�A��:H�� ݄6'�'l�
_^���T�2���WH�lÈ�t^,pS�zՊ "��L��Ą��68mc
��}
+
X�:��
�)P
+
�/x��ǽ
0��8mv!��$�?�r
+ 4o`b
+@��
$= RȄ������+�I�O������Xp���y�k ��	�i���	b��Cg�7�q'��Q0g�P����^�K���@�4~�-"`?¬���Fz;��Iܖmcr�2l�H�wq���-�_�4�����~�˅
+{��ߋ�}��	��u�I#�)p��`j��6y�H6�4'-6��5���;�4�7�{e} oӲ�o�v1��*�6��$�a��N�O��XT	��sb)��'� �R�`����8|F��$�!̫��)ta��%ku7�Z\�z���3Ŧ�a���
r@?�Q�ې�َ95�����i�#�
rl���/�QY{|��{��x`�� ����|�����Ό�>����s,�l��ЄQ�N�~��
+Zs
aa F[9pz�Sx
RqN�B����ô�AT����&���8f�3ķi%*��7���-6��꾸�N��>�4�d�� �]�������w
@3���C�����e*>���J[{RwZ�k�|�x�pD�G`m�U@�E�Ug���0g�4�!FR�p�
�bo�5��ы�]n�?�.96��,�5̴ɮ���뫡�M�r�e~(a�v
K�4;���v�u�`�Bv��w�
N|y����nY�����y9��q9ϧ
2
A8]�ꂻ~F�]G��ͧM��SX��
��]���q�]��oJ�hO�8�#��]�
3����=�#�|ة1<2(�oI���oIl�~���c���R�5nh��$��J��i��Ͽ
���埇J
j��/֍E`M6�~��F(f?hh��P4G��?e��?��6�`�TV߭V��O�ެ_W��5��w;M������F����ܧ�x5]`�Wi2���(#��Z ̟��_}��ε�|�����Ⱦ(A�T��"�?
+endstream
+endobj
+6007 0 obj <<
+/Type /Page
+/Contents 6008 0 R
+/Resources 6006 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6002 0 R 6003 0 R 6004 0 R 6005 0 R ]
+>> endobj
+6002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 618.004 228.516 631.952]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.263 360.562 510.679 372.518]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 209.473 525.63 221.99]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+6005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6009 0 obj <<
+/D [6007 0 R /XYZ 89 770.89 null]
+>> endobj
+6010 0 obj <<
+/D [6007 0 R /XYZ 90 667.618 null]
+>> endobj
+5997 0 obj <<
+/D [6007 0 R /XYZ 430.496 352.094 null]
+>> endobj
+6011 0 obj <<
+/D [6007 0 R /XYZ 90 345.454 null]
+>> endobj
+6012 0 obj <<
+/D [6007 0 R /XYZ 90 233.348 null]
+>> endobj
+6006 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F99 5346 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6021 0 obj <<
+/Length 3669      
+/Filter /FlateDecode
+>>
+stream
+x��\����~����Z�}?��@��iR;q�KP�1�u'D���]���.Iq������pk����r
���Β��{�����g���s�i�{瓞�=#
Q��^�����������9
������;��ξ:?����-�caE��]��^���1\��G�p�����$p��^��댖��G��⡤��Rh
�T�
��@͋���z4ϊl=`��{�vfN>a�n���v8���d�r�I��Ɯ:!�����D�}��
�֤A�M40N�� lJ	u<H�r�������Z9wI�i�E�n��iM
719�7�`ȭ�_N��;<���*[���:ܹZ.�ր�p/0��gy>].ˆb�ͦ�l������P2����M^�[����ɋ���K5��!cā4<�/�"
��4�	QY�/b�4awq'.qB��	�~��
�ni/���]pb4Ή�K�-��Yv��GN�9��������?|}�{5������~�%�����Q��,
�d�i6>bwf��;sJ��z� 2刕�4 ��S�� ������"G"L�8�ݏ�4̚�
+	�0�O��y8]����!��q�3���)��)o��S�0$
�֝�Q�G�(e��r-	��7��(ݏ�4�����/�ӟ)��8���sgr��
SrwJ��u��Ž�q�J)?+ÕQ"n��I8���� ��WY�jK��
���E�f0��P:rni��
ӽ!0�m�=ˊ�0A�pΪPfF�� E�q��?�34' q��@��W�~��
+[��@lE��,�{S��q�p����R�p�q⬋����
�U�&1�$F���H��U��$��M��[B��
+��Y�
��� �6l
��:J��a�}
{QZkp?v�><Kjq�>|�� �;`��
��
�с��4`��i 
���
���@�b�x��?$�3+#�� �
��g�d������ϗ��8�6� ��J�0_r���p�0&�{�QE���	g�ͨx��N�T�I±dT҄�
�GB���|�����0xA�҂�� ���:����Ơ�' ���z�����C`O
��g ���~�B0����hI�X/�V
wT�o�g&]E5�e��ʖIeﺾ]�v]�2��R����h�)4�XJ�8R�_�����]��$
+����R
+\v*�6�����_��yc&N
� ��cMqi��6��
P�%pW�P����
+�bG)ƃgh
�V�}`%
6���,x[�Q�HXoC�����9�X��0�����B�a��@��B�i!{�}Z�>����?,dO��PH��;���*_O\����g�&�!e
�֛�ݧ[�l%+�g����tU^X������Z�G�dG=�'Ġ}�1h�3d�;
����2����xu�7s�ϋ����pR!T�t
�����U��]n����
�3|�-p���:��F'�Ū^T��
�ԦcN�C�e���l�,Õ@�%x
Oe�W
+�đSs�(3�f�� �M2�7�����o��Y�R�"���"v���
� 2 at L���YBh�Xs�"����3q�F�I�׮���r��U����:
+s�H����9K1��
���Ѕ�Z�)Ya���:��*��fK����I
+���6��ت��� �0G�/�r'��I�O�~��ʃ�k���.�F��gE��%�T�p�> @>����t%�IF��1�;ϔ���	��(+xe�V��>�������8I���1K�Ruq���
+���.P
���1N�|�TS���Β�k+�u��F�������ξG��
��$�;� W)��HnjG��DP�͝��F>Q_
��ȅ�JI����Y���g�ש������u���M����hU�s]����U�|D\�R���v��i��b	
an��ٍ"��x��f��Q 
+W�����t��˫��v1��e�mD�M�fɢ���A*ͳ�a�Y���
+
��I���.q�� Lk��
+g���-�8$4m]<E��F�n-Wȃ'�g�['��!
���VniI�b�j�2A
���?����_�8<�"צ���.ߕi�fqUԵ�H��6��F%���/F��r�']rg�EM�?��<��A��a��Ѳꌯ�,�D�o�/��
+T�2Cf����K��.ρ;�9�����������gE��+%Z�����QÝ#
V�`-��`�����BA�m�Lʕ��o�$��y�
�v	 q��) E�b"��8n�H�?Xlj��ܱׄa�Ղ�
0٫ ���r����&���8;_
�b1[�V��@�w�C�t�O�F!�R�������O.����$
+.~�>OK���j�LH��3�ߘ��
�U7�Ux�\%�m
�@!9�B�R�Ӹ�����{���@���
\�n8��j ,�
p�>�v��|?�=���A��7�&b��
��B-
r�HX�݁T���P��/�G���yl"��E�P F��%h7��Fa=H�� ��6'�'�1~�d>Z�2���-,D�B�e
G���l�o�.�Z�loj%&��p��:��u�ѦЀ��Ch�R���`
��)��^�U0g��h at B��q����!0W`�����[8z0�P	���$w5Nf����-3w�2~���ƂWn��w�4��K���
�K'�����h�
	���^�3E��2\
�/.�o28���v�f5?����@V#k[�[�ڔa�G"��cvF8����H��u�´^.P�
+����Vٺ�#��6y#�إ�YRéެ�zE
�Ŗ�j���͜f�^�7�n6����2�r�
f=QCNB��0��η�J��G�`�|�'X�&�R�ѱO$b[�� Qʪ6�,fk��r�z7���ܖ tEE��f�'��H�M�-��[= e~X5A��B�����8�>�PB�Ś����|;�m?
p�' 8~���������=~����7
rȟ���"�/����gğ5f�י$
�{�c��&�7.�C\RuM�
��W~�T�_��A*N�p@(8�s��b���\l�!SM����6������U�L3_eW�ɻ��ʚ
�$��bZ��.ͻk��Y~��⫨�*����Z����ptŇ�g
+G��Һmf<����vv�9��1a�qw��A�z�#j���	�l<�.Vɱ���@�qV�>0z3�]����Æ���Q�qKw4�0Ў���XȦ
���
�͉/�VUo���:�ý2��7[�K#\
/��
�G���᪟��aʀ�
nFaŶ,��7�ͬ
�nF���
���D>(�#=�=`�a�8#;��{�)o�k�i�}�z~Ȋͺs�u
pC����p��\U��&;
�MLj���*����Q*�G_�}�2䦞*��r�
�~;�o�1���X�C���N�Xg�)�ts��c!U7�ur�"UM���ӽ�I~=�I�G�I��?>;�'��*�NX„����ߧ�?v�����O�5~(
Q!��H����(�5����7����E��K�l;��n'���Dc�zO�a��rL�a�/����l���R�r�|>Zl���؄%r��~���\�!ay�U�Z
+t�R��������!U��7E�z�����:��2��B������T��z�:�e;<�.��������
�	\
+endstream
+endobj
+6020 0 obj <<
+/Type /Page
+/Contents 6021 0 R
+/Resources 6019 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6014 0 R 6015 0 R 6016 0 R 6018 0 R ]
+>> endobj
+6014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 671.2 228.516 685.148]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.263 385.167 510.679 397.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 234.077 525.63 246.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+6018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6022 0 obj <<
+/D [6020 0 R /XYZ 89 770.89 null]
+>> endobj
+6023 0 obj <<
+/D [6020 0 R /XYZ 90 720.814 null]
+>> endobj
+5998 0 obj <<
+/D [6020 0 R /XYZ 430.496 376.698 null]
+>> endobj
+6024 0 obj <<
+/D [6020 0 R /XYZ 90 370.058 null]
+>> endobj
+6025 0 obj <<
+/D [6020 0 R /XYZ 90 257.952 null]
+>> endobj
+6026 0 obj <<
+/D [6020 0 R /XYZ 90 116.935 null]
+>> endobj
+6019 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F99 5346 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6033 0 obj <<
+/Length 3763      
+/Filter /FlateDecode
+>>
+stream
+x��\ms���_�63-95a�Ni�!��&u&j�v:c{4'�$qB��ɮ��
�
pđ�D�/��	���b����� :�
�ѳ�o_
=~��QJR�����(��D�Di�v>z9f�03�2J��d��8+���Ʉ�q�xw�������Y���+V�r��8���'��v��z^�&S����E�^����E�����i�S3fi:y�⇣'/�~;b�!
1Ǒ"�͖G/_��9<�aD�H���
I.�s1���_G��
%
+[���
9ƈ��vz��O� �#���)��*�f$�>!Y�����$:
%>%w�(@\j�����L 0�9<�';���hMR��켸��������??;��~zr�Sٱ[S��Xg����&/��9�>5�4a��� $tj��>
$Oс�hb(;
�xB�4N��1N����uH�x?�ݏ�(��f!��*�J׾(ʥkeg�
+ at V�o�z������Ɓ����:4E��D)́
xf��C��Ne=�E����N
A>;-������<?�#j?�ܙ�a5I.�!�sg�-e�Hs����I	�r����������r�=7���}.q�<̯��wІ(���rz]�W�{�OC��"�u�|4�=�S�dz4�8Aʆ�����S���QR����0^E�$m�����O dC%D&�BxRw��o��{\F7������'�~�&����b

����Ԥ��x�H�4eD�2
ͧ%IF��)�!�04,e��O	�
+����#�f�u�1I
����4$n�����+�}�0EGSMhb��C�XR�=�aåT�����K�Ǡ�~l�ȑ�OF�[M
��N��qb}�7��"�@��@m-H�C��ߍ��~�`���fu�^0 ߊ��  ��#�c�9@{m�D�`qNڅ=���NR�7�+ת���x�	Z�iJ83�D%��:!��	�Kz���Row>"�R����`��L9�9�vc�ۍ�
 EAQ����|�.�G:�g %_H�!
��an�$�� _,��TS.��
� �1������N�l�[�2��M׷9�Mק�k)�t}}4�L(%
V
��oQa�
aa��F���Ǵ�Wˀ�!3}E
�l�mBχ��$�Q��
�J�CK���
Kcś���{E]t�$�wR�P:�@}����iX��=�p��l�o�d!�Z��7�e�f2z�u� JP
��H�22�y:
����
,?��uPW�`Ճ8X���M�r�r?��'�?O�
����F1�v��
n�8��L�rLK
�m�g�	W�+��9V8����}����il�3��i��w�#`ڼ��ɔ�d|�W �n+��J�m*���n֦����%�*
*<"������\
�>f��X�+�k��38��-�:��r� -�ѕR�6E��I(b��^��̂#T,����'ګW�J�ӄ�5A;H�J�Wq�4�Ed�nT&	m��#rƙ�p��0���y#����muU?����|���Nu.\'�r-�����or
+�ʨ��7�)�I��@\���
��� <��?����JN��Q?@�C�AE8�l��[��v}
��Am���5D"�c�,L��/A����e�Y�]^�����ӎ�s�J�G��T�ԆД쉦����ؾiV��@T^L%#	���>�L⨔�vz��停����m,ʭb9�(]��
c{)Sf����
u|��[
�CIC�돮nj� �: �EL5��
)%��
+�)��jTJ|�V%��*�[Հea�K�gZ���KdyAX��*?h�q�k�e$��.i7!S�5=M�=��:ƈ䭑���ywCDSa�!W�@)��v�}�U�+����a8�	��ac&<��~E �.z3���^�R�����+��_��=��{�"q�k�±%��É���d�Ύ90c���l�����҇ύ�5�%ǟq�}��oq����w�L�"��ѯ�Dp�8wA|���ݩ�+�S�nK�oԽ
�x�.{:I5���9I�u8o��u��
���pP��X�*����̇��H
6�3]PǍ
ꬠ�����������A{ ~�����`o�R���h#�K�g��q�<�S��(I �wq�xҝo�m���{�Z
V�9����Z������]
�a�q�p$��r1�^O �]�Ms��A�k�&|_�|b(�Z܌���e1���|���̝\�<,>5W1o��vۋ����pN��{��ʛ 2�ϐj��
�ܾt��*�k![��I֥�@�E�
��u<sXh�
6��F�/��K.�Ӽ,��5����ͳ
+���_�?�-���zA�B���
l�WWE}�%	
+'��D
�o�S�\$���tge��
R����g���;sw�P���Ik+�G�Ir�
18�-&������
�q���w\�b���B�pJ��~�ߝW�
%�|��R�
 ��� ��"��ZP9���<�?�A�I�@v�

S���9?��E��o��ճ!Ƃ7�d��S\�ե���`�{g�j��`3蛪9�{���oV��-$�f@�s~��O!�.��K&Q���zAx��z�����p��������F�Y����X7p_�\W�'��V
�x̭��Z�G��ly����0
�lV�`�kIa�e��j�#��j���ޫv���U~S���|�J���!6�xvUkT�}��jn��AӢ>�	[����E�N�&����#ų�sOZ��S׫(���<����U3�pt����g�u
�]iϪ7����ϽS�Ԯ��y=�ލB�;���T9���؊�Hi���ڎ��>k��:_e�����	�x*�����h�J�:?=ټB���AD�
,Kr��'��ks,|�෠@�O$՜b�
U��YDf�Mؑ�����Ā��x1�f
R�E=C�6��&"x�ꕭ{_�i�j�R
�:��ٜ�D,`�z�II�\X�MjQ��wl��w���ce��s"(R�8�4���UV�;��>�'�u�m�'�]��0Ɉ�5����7;������J.m�qV\GН�����ϊ�[�!
���R�m���L=�hs���j�-.q�pq��$�
��҆��X�C���������I��Z<�s��v;�
�� 
hfK�ۼ�av"�lE�T��Ϻ� [...]
�8'HS�O��9?>^fױ�d��
\!Dz�p�sX�q7�jE0�7�t�УAH;��!$oC�>�	X�څ֎�(�����[
Lb��b"��L�W���ķ� t
8�I#;HZ@Đ�oY��W����"2O��%w�g8���ƀk&�v�<W'�sR�6���@�|�8Ûj`��y�a��Жk�����Ҟ�;2������3]��.�
`�u��e{�S�3< �nf��d�V��w	lu$?
���R
+8L� ���:/{ɟ�v����MRC�rE
g�2o��溨��)�����m)j��vhs �5�
���UG�
w��u�ɔ�b
��_1}�ב�p�k�Ŵ�C�HDw&�,�<8o�7�ùe�?�ͺ1�J���*���iu5_G��x�����e���:�o�Ϸ^�̪��)��a\�;�&��{�'�q	y:�Z�{��>�WZjn���Ҳ��
Ԭ�pl��'���-y''�]�����D�q�?�c��e�&�p-;�Bp��J�|@ǿ�͵���_GM�GV�
+�V�Z(\U�����g7��|uI at Y����#�W$����檶���|�����q��l�?pl�$@����)Kl�����c������b���݀�{�{v
+endstream
+endobj
+6032 0 obj <<
+/Type /Page
+/Contents 6033 0 R
+/Resources 6031 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6017 0 R 6027 0 R 6028 0 R 6030 0 R ]
+>> endobj
+6017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 698.159 228.516 712.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.773 266.115 508.188 278.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.522 254.16 418.938 267.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6034 0 obj <<
+/D [6032 0 R /XYZ 89 770.89 null]
+>> endobj
+5999 0 obj <<
+/D [6032 0 R /XYZ 117.716 204.157 null]
+>> endobj
+6035 0 obj <<
+/D [6032 0 R /XYZ 90 199.575 null]
+>> endobj
+6036 0 obj <<
+/D [6032 0 R /XYZ 90 87.65 null]
+>> endobj
+6031 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F99 5346 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6043 0 obj <<
+/Length 3972      
+/Filter /FlateDecode
+>>
+stream
+x��\y�ܶ�?�� �
�yv[�Mbǩ���6(`
�vw�96#�]�����E������4��V�
�������'OO�~z��b�AFR��^&'�$$�5O^N(��ק_'LjD�����Ͽ����oO��N�<=����#�O@ �������8�������[�h�p��w��p��\򂑰W���9B�f'=Dz��4A<&�Z!��*N(C�th�%]z�����K8�X��Yr�"�Tiڪ$J O$Q�"ũW����I��25��<�
+����uȒ�l��� �4
c
�v�L���(6
�o�jR���앜��f����n�UVd[�0��.������b��X��b��m7�^D���U9�$/�+�o�[ }��n�Y���
��
��8C��
�gDi_�_<�ͳ9ڭ
+�
b�h�
ڂ��1վ�Mo_�"m�1�7�
+�t�>
}�Ǧ�c,�j�a�Ri��x������&]��N�Xf�K�
��8ΊaX+f��b��V
��V
/7۲�u�|�$9�b�.s��ZV���:=ϋmzQ����*]��tư��^�]:�S�'��|��������v=��u~��]���uj�3%bRZ{�^a�6�i�“�
��/����`�z��4t\�p�5m�SQ�WP� *y"����)����ݮ��!W�����u�k���Wx,����Е�cR%C��Rgץz��u�n��A�p{q�e�l���
{�q�*z���X��"�L�j�m�.�
+&Q!u$4#F#!s� 7�� _L)�BeY�L����: W`D(x	<���P�;䆣StQFp��fw�����Hr�I8�2�on�2� a�m��Fܓ� CDJd�
+���N���b�n��k>��d۴p
�\�I��Y_�d;��7�Y~��>yV�����
�VS�(_�"��q�_<�1b)D!�j{��G	H�xc� ���h��G;cHS�{����
|����)�I�゚.��2;��c'��6;�;zl3��
��4
{��`_���o��b��1v�І!$�
ud�
b6�)9�(��RHBeY�-/�r�N��=
d�c(�6C�a.�!_]�	`�y�� X�C��|+
H��$�
+��)z
A�@(
�M	���R��9�y���� ݏ�8����Zm�
�h6�#�0�
�1�tT�s4ŻU\C�ϕ���N�N���q��śE^�m��YU����&�u*4Thꆚ��d�9�U
+����=|BH�
WWe�o�[
@�LU��TRh�PW����U��AA�=�e+ 	�U�ZVu�o�Z�8T����?4�����;��
+
��aomZ
)Ɠ~�@�1VD�z
�I!�@(�`X�
zU~��r��Y�ɐ�و���EMb�E���DX�ݺ`�W
�]�r��#jR@:��N3o�ߕ�bD:ו��0�D-Bq^
���e@�g�۴�Y�
+�nɢ��#L
a���uX4×��NyI4	�}ДC���?Nf�($1	
��������j"-
��*�i@���qD�
+i

A&��A�#����=S��%���@of`�\ a`�^�@!ie.�a�����\��
�����B�]�N��vÀ��3!<�W�OaM١J�Ta�;���z>l�j�!�-�+�G��w������Pj_ �;�.d

:��+��0m��
EՀ�Q��"�iWʀ�!3}�	
�l���׆��$ޞ:E�hY��5�f6J�7�:�^Q
�Q�(�
����Z��U�߳
+�M?y$W鍖�$�T�e�B��<QN��iҮ|�F?�[�$bX�
Ec�P�4"
��&!i@�C{S�k��wJ~s��>:�G��@
�|����G�B��[C@�X�vOv�گC��:L��.��;נQSO5d}�qЧ	4@��R��N�D	�z{��.3�줏�3"��<B	�Z�{
x#�S^.��b����
���ڳ������
&YA�G�E=���@�PW�����Ҿh�O
�=;!s���P�4
�o�qUM|��`
�
���X}��#,K����&$
������Y%�5����_I���
^e�[�
bwK�5��${�Sj�])�yD�
i�G@�� �^���p�mB�8���{��8��@|��O�f�HӼ�bY.7o�G�3����#���F����҈
�飋
��=ѸDW��G�~�.l_�@���P
G:�(��F�[�G<@[�`>��_�#��W�-'������Y
�m�}:
����%2���1
;u	m@�6�]pw@���}+��o�\ཌU��b��`��AI�(񛱨���w�҈H>�	ʃLPh���A}�
�Cm��׸5��(W�����n=���	
�ܗ�t%pZM}�C�x-+����?�}
c��Z+�u|�M�c�2�Pp�Y5�ŕ�+W�r�Q_.���r�9�{܅�2��	gZ��t�3a؃�SI�F�`g�h�7_�q��v9l�>��;�a25
����P�r�'���4
�-����tS��-��N�

���*�>wqe2�0��(
��՝z�9��?�k�p1R����#��vϞ���awr�tWy#�3���A�
���O�]
կ:�_��D��
g~ml�@z�W�
���ۡ���+ү:���	#�V[��}X���SLț� 2i4�fL#
+�mWe�^gUV^�j��M	ܽfy��g��>
��n�'Hd� -�|w��/��O���6[�E���w����]�o.i���77я@�
�r���nU`�Y��*+�7��+Aݞ��
����3I-$Ҵv���iK�b	#�fc���ϞX��kk����Ƞ9��|�x�PQ�����S�0��U-�,
�6mi��ȡ��[
+���h
��n�퍪�h1b�Q� �=
��%�A�(7�/~��Y�~v��Kz:l���΃
}��!�m
+�;�ttl��`�RJ����^���-J2��*�gi�6߶E�mQm�8Wf�닢�Kw������A�Yڋ!�$� ��~�Kd��`����)JȯL�0�D���-�
��!����s)q<4c�}�ӕ���ө�d���t���$�ղ ��O^�O��� א$	���M$��ySo"�oa�"
ʶ�('�[wH�e�y�t�g�1���3����N�\W�Ct�#q����_#��_T���
Dž��f��Wi^�G�v�>¨85��Ψ���N��g�0?R�
�j6
���9��]�)}����삧���e��K��>�74�P�Pau��wT	Ta?9�!��M
aoT1�2q�^��rBs*��Ad"\c�Cj���z��6�p��
+�x�p�WD�#�Ձ,A�#����
�d�c0 @Y���
O��=�8cȐN��e�C
@�	�0�
	a&mw��=Z�7��H;WB!���@�w�/V��N���&�f�&^>���
eV'�N4�
*�5bX[
�0�48�wo ���J�’�>�> �D���
pb��K�-v�#
j@:8�pi�`���'������
Sq(�Ց�
;��h,�q�5��èĸ��44�����h�C(�ή��b�^Q��n^
��:��Q�ݧ�cp����
8�
1-���F~�"͒�����.��~1�����F���+���렂�ΆP��1�d�_e˛l۩������ρѨ�h��Xb���k��MxzQxV��K��Z��"_����I�e��'w�`
a�j�
SFx
�MB6[N�2���T����2q:k}r�Y��m�D׋|��P�C�5�
�Uw�
QB�{���n����6[/��	����BL����u�
V�7
>[��
k�̀ެ!X
q ��v��
��3��l�p���s�<��q*Ĥ\��&]�V��٪�
n��ڄ|�Z�=�
��CV
�����f����? J!j�_�ͣ��o��l}�@'}sm^�B7�eUٯ\p�W��]�u��)�tP[+
+endstream
+endobj
+6042 0 obj <<
+/Type /Page
+/Contents 6043 0 R
+/Resources 6041 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6029 0 R 6037 0 R 6038 0 R 6039 0 R 6040 0 R ]
+>> endobj
+6029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 699.589 525.63 712.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+6037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 532.833 228.516 546.781]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.773 197.771 508.188 209.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.522 185.816 418.938 198.758]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+6040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6044 0 obj <<
+/D [6042 0 R /XYZ 89 770.89 null]
+>> endobj
+6045 0 obj <<
+/D [6042 0 R /XYZ 90 582.447 null]
+>> endobj
+6000 0 obj <<
+/D [6042 0 R /XYZ 338.866 177.348 null]
+>> endobj
+6046 0 obj <<
+/D [6042 0 R /XYZ 90 170.708 null]
+>> endobj
+6041 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F35 1248 0 R /F24 529 0 R /F99 5346 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6054 0 obj <<
+/Length 2839      
+/Filter /FlateDecode
+>>
+stream
+x��[����~� �X�}?�E�&��$6�:�O�q�I�I�$����wf�O���A7�(r5��ofgf�h��軛��n^�2"r�i���i�hd�#J÷I�~�(av8b����!��8[��o�����,�d����CgO��ߤ�q6dv���������f3OW�Wt��"�l��d���q2
9��S6�p��ͷw7opH#8R��h��y��F��CD�p6��-#�|.��n�uC
�O�^�G!2ЬE��P*#�q2H}7���r��s�s
�s	��K
�f���t�]{���7�IE5њ˛��� ��i�\�-'J
�K#
+d;T|�]���E�I©*hdI4m	6k”|�H;Khm5��FCa��$6:dN%�T�)
� `��	!	��t��HN
@���;���OkD�҃��'�_W��7�d<�>�W���fź�j�ǫ|
�S�A:-��d��$ᄏ����x�.=���&��2�'Żpg�qJ�����M2!�͡�#B_���^���z��<MY¥�Dzg8�}�-z�ѻ.����_r�,�����]`�����W �_������b�4����Q�q[�qS��B�~,dӏ�~ӏ��4͊��b��kr�� ^l�3������a�g�8�'�2���p$��͊Wz�����
�xU��t���f�n�p=������
���))Ě��`����%j�Ԉp9
y/P��)���y^��9���`�wI��V��$w�靖��������y��θ
]M$E������٬0�b�J�l���F ��8I&��E �~3gD*Qқv��* �W�J�u٧���I��v44b�i:ɣ��
A���[�
��tJ+��:��j"NGU��.�� ��Ga�M�#�3 �@��Pc����&�O0*`p�˙���Z�Z0bZ�M�����Z�J�I�>���"�	�
fu�����l�b��+$;

+ �
�f}S
0��0a�����$��
�3��ErƮc�cMvcGri���?���f]ë̙?n�l�|�
@v�h�!!!5�O��M1�
rNcE? �8V�;Q0�bz�� e�i(���n�5��ko���e�y�)�����a�b��H*+�DP��@�' A�a�F)��h��l���$�\�M7|��T�Y��9$�<�t��4�\��aE.X������|
�H
u�f�n)�D
Ӫ��.c��C4�e��װ�E�x 
�ZZA�
+ֱrp7�
+;]��Ba��V��/����b{�~SUP�w-i��=�N�u�b�U (������}d̗�P=�3 P`��� ���}���2��

^"��;Q�j�C�.��ˬ�+<��g��p����q��O3
`N����X�|�e�R�Pu���R�=lthA���3Zh�SI�4�Q"�XQ��CM/:�q�I%�!uAa�YE��-�H D6{�Z�Y &]�!�� �4�w���'(Q�Ou�4QP����rP~�6�
�2{%4���D+׆}
+�Ē

+�&��X&`&Ld&���x����D����cY��d�LV�k�y���k�J/:J�]��>0ܿ�N�a

v�9��
v�l����~3�&^Z(�aR���-aՠ�����M��c������
]�����gB��L�;�4�Xf.��.	[��k����&�ۻ��&��n��(?/Π€�GJ��U�L�@Rԝ
�8T�Ψ^8�P�i���8Ĭ��ļZ��tպ̪l�3�xm�
���-e��
+��s�ɇV�`'Ӈ<C�.8a�6�3��lN�ʷ�^�:�l�hr��񧫛Ρ<�S
�>/䶮�!���2'�C�DU��P���|���8Ͳd�/�ƒx�����KP�&,�j|T�_l
��s�k	u���I���nK\+�]�ZZ/z���Ȫ�r�N7���sC*� ���
T
.�OjwCl|�����������I��^`cL�8�P�bn�#C�us
��V
w�e�촳%����¥�8��,լ_�fp2H�e#�
-4��Ђ�&+<�rh�wSF��mm\��Me�1�p���08�X��~��y������Z��Z��u{f��{��.�%*��^�i`'T��ZU��Y��+\�L�1M��z^�
�%\.�a���>q�/=�"�O�񁚳g8D��鼙�+���Q���o&�r�I*�{�X�Ȭ�י�oK_4�p%C�0k1�.���Ł$�ux�w�C����2g�%0c�F�yc	W�Ӎ�&;_�6��@�V)t4(���Ŝ�8
�>���)�k�IA�): [...]
+��m�'[�:��պ?�%h�d���8/L;��~۝QF��������īIW���r�>Թg,���gٮ\��f ���W�%����
^p
�"�� L�Hc���UA�6AE�M� _t�c�P�Cq���Hr�ώG�MJU\ ݪKw�h����["T���|Q�֡s� �tTN�:"~ݡ)Al���AB-*���)�`	x*-�ʺÈ���cvD��Q_u��x-���2
1mЄdj�Kl�>��IB�j�s�Y�*��%=��݄ӝc	 �*�X�[}L��v	^�������g�"\��?����J���pĺ
��,]��7M��5��~
Τ-��v:���l4�[iV��nҪ(
��
2����ּ���?)-c,T�
&�
ĝ��������ߛ$��P�A��7�j[v�pl(���#�q 6�@�?%e:
��%*�~

�����{��Ufy��}��a��푀��6�p�֣�e�����+�����<���W�y�	P��
44~�5����ō��/E�\og�L��
+endstream
+endobj
+6053 0 obj <<
+/Type /Page
+/Contents 6054 0 R
+/Resources 6052 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6047 0 R 6048 0 R 6049 0 R 6050 0 R 6051 0 R ]
+>> endobj
+6047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 694.941 525.63 707.459]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+6048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 540.141 228.516 554.089]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.418 353.549 525.63 366.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+6050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 198.749 228.516 212.697]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+6051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6055 0 obj <<
+/D [6053 0 R /XYZ 89 770.89 null]
+>> endobj
+6056 0 obj <<
+/D [6053 0 R /XYZ 90 718.816 null]
+>> endobj
+6057 0 obj <<
+/D [6053 0 R /XYZ 90 577.8 null]
+>> endobj
+6001 0 obj <<
+/D [6053 0 R /XYZ 90 506.069 null]
+>> endobj
+6058 0 obj <<
+/D [6053 0 R /XYZ 90 501.585 null]
+>> endobj
+6059 0 obj <<
+/D [6053 0 R /XYZ 90 377.424 null]
+>> endobj
+6060 0 obj <<
+/D [6053 0 R /XYZ 90 236.408 null]
+>> endobj
+1775 0 obj <<
+/D [6053 0 R /XYZ 90 66.932 null]
+>> endobj
+6052 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F7 795 0 R /F10 765 0 R /F35 1248 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6081 0 obj <<
+/Length 1913      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ Ї�\�\��CN�l���C����H�BQq��;��-J�k9I��0HQ�3�9�����
���
LF'O�4ҒJor�i�)����i�SL����
�!"Z®����^O
����ߍ
OF�G��
qR�7]����

?�0b:�EK�Sׅ�n����`D����R2�E�B�J4�H��`��x�Ƨ|
e�h[
"$
+ð�ʰ�'C"T�\�W�#���q��	__�Y6 �!�Ǒ�½۴%x�gQ������a�L3��)4G��㈡C�HW���2�^�i�͛	F�G�̈́ #���r���<����SX\��/nIϪ
)p�r�ė\��snuj�!����V[~�IU���k?`� T�AVc�Lz��<t�W�,P�ߚ
_�Mf���i.'O$n�m�$⠸�rĩ#� Z[*������H3w-嗕���Oĸ6��w�oxa�V!I�c�S�L��q+�$�JJ�aO�
Z
+�T
V���
��
+��軇��[��
+qBA-	Q���
t���N�����d���&���};:ޡk�f!�L�K%|�T��Z���e�}:�����г&`�&~���+s3k����|�

��6�:��:�y!���E0S$�e"���5�&KJ��/K�(w酻~ �;{ɰERQD
�w����!��
�ܘ>�����tp�	R��R��ݴ�"Nf�i�S���x��@�+*��q0#��5^lRH+L�qٰ0Ke�(L��Q�O�G�%Y&��S
+�P�L��I�,�; �4����}7��>2Y�S1�b1��hs��z�v[�r$O��[y�B��Ծ�E��
�pD�:���tl�y���ŀ�-p�J/$�Vq$�j�ါR�
�T�.�~`�k6!���)@kQW �D_*�H�Z� �	��
)Dd-�$��Uq�%Q��6�Ski
R���1��cp�r�L��\�m5�J(W�Eڷ�f8�]�C�*��
+u�.�U�
�DOU���h?v
 �
�=)-r�U'�)K�<
�d|�v�+� ��
���,7�����3�
Iƿ5tt�ӆ�
i����E���|���n&݃��ʌބ4�v@#o~�8s�%��>X��!��	��
�m~�����(Th�ם�[�=D���#�G�P!����4�Wy�in �.E�
!C��M�
	Ͷ{D;�-xiv��:
$(E��~Q�C�٩��s�Ş�&Pr �2���ƚM�z��ւ B*	���Rw75G�ˣ��bLtE8���$�����AD	H
1��7�=/���9�S�˻����Ř��<	ӛz��T z��Vۮ�����s�w'��o�N7K��Q ]�*��_��8�&1YT��E�.{'ˋt�Hm����y�s��.�i7y�]@��`;J����46����5*��.X�!ŇO:(�x�1&
���궣�c�P�::"�r�q9�YGG�C�
�`^
;:̋	�k�Bvx�$���T:��ȝ���F7�9����	�qL ��!����t����̖�V�s��4�JJ�U�gsc9
W�T������n"W(��<�UY
w��ZKA�n�f�ۤQlD��oh�
�c�,��
n_9�<��ϊC�}Y������u:<��w�
�A��	�z�w��u�x�_
6� �3�gW[4����q.C�����T��^}`�|�L�z�����@\
+u"H}`-$�D�?
L������׺ؽ�Sd��}-��|���]��"�ޝL��Q�<�
t�7�?��v,��)Tk#����o�>C��*�h�׺/����N�-��(b
� �
��̔�&��k���7/��k���
1.��*J6�¯=�u+�umQ�
+oB~��h�LU�:�>�b��^K
��Fŗy�:=99���e�h
+G��xl6�5�����43�+��e�y[��J�>$
+endstream
+endobj
+6080 0 obj <<
+/Type /Page
+/Contents 6081 0 R
+/Resources 6079 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6013 0 R
+/Annots [ 6061 0 R 6062 0 R 6063 0 R 6064 0 R 6065 0 R 6066 0 R 6067 0 R 6068 0 R 6069 0 R 6070 0 R 6071 0 R 6072 0 R 6073 0 R 6078 0 R ]
+>> endobj
+6061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 596.52 225.78 607.424]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type) >>
+>> endobj
+6062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.278 596.52 245.426 607.424]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_aa1ae2d642bd66d32f64b708c28fbf044) >>
+>> endobj
+6063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 568.308 226.029 579.212]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ac3020576e4171dbe16a6979ab672d833) >>
+>> endobj
+6064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.527 568.308 246.233 579.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a603e2a97c5ea7e4e81bad4464a9aba2b) >>
+>> endobj
+6065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 528.515 142.752 539.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_ae7432f48686d9fa7923ed66d070988d6) >>
+>> endobj
+6066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.069 487.974 211.36 498.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a9eeea4961725654dcc5f4526fa729df1) >>
+>> endobj
+6067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.59 447.807 234.882 458.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a6ceeebd94402797c5ad4a69f8bb73bcf) >>
+>> endobj
+6068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 175.904 214.542 186.808]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a722647b9832d183eedcc441913b25edb) >>
+>> endobj
+6069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 147.692 203.643 158.596]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a1558ce3303b13a4d17df20c2f4d20ada) >>
+>> endobj
+6070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 119.481 239.07 130.385]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+6071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.569 119.481 358.183 130.385]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a5d1e8bb981043726cc2ffacfdd3c3013) >>
+>> endobj
+6072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.269 274.328 102.173]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+6073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.826 91.269 427.183 102.173]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_aef17a5e76a36d74b648706582fd2487d) >>
+>> endobj
+6078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6082 0 obj <<
+/D [6080 0 R /XYZ 89 770.89 null]
+>> endobj
+210 0 obj <<
+/D [6080 0 R /XYZ 90 721.073 null]
+>> endobj
+6083 0 obj <<
+/D [6080 0 R /XYZ 90 615.672 null]
+>> endobj
+6084 0 obj <<
+/D [6080 0 R /XYZ 90 615.672 null]
+>> endobj
+6085 0 obj <<
+/D [6080 0 R /XYZ 90 585.726 null]
+>> endobj
+6086 0 obj <<
+/D [6080 0 R /XYZ 90 557.514 null]
+>> endobj
+6087 0 obj <<
+/D [6080 0 R /XYZ 90 517.347 null]
+>> endobj
+6088 0 obj <<
+/D [6080 0 R /XYZ 90 477.18 null]
+>> endobj
+6089 0 obj <<
+/D [6080 0 R /XYZ 90 419.098 null]
+>> endobj
+6090 0 obj <<
+/D [6080 0 R /XYZ 90 369.93 null]
+>> endobj
+1776 0 obj <<
+/D [6080 0 R /XYZ 90 300.805 null]
+>> endobj
+214 0 obj <<
+/D [6080 0 R /XYZ 90 294.007 null]
+>> endobj
+6091 0 obj <<
+/D [6080 0 R /XYZ 90 195.056 null]
+>> endobj
+6092 0 obj <<
+/D [6080 0 R /XYZ 90 195.056 null]
+>> endobj
+6093 0 obj <<
+/D [6080 0 R /XYZ 90 165.11 null]
+>> endobj
+6079 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F22 2996 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F39 2320 0 R /F110 1507 0 R /F67 3037 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6108 0 obj <<
+/Length 2199      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�Vj&��~��$��5uwzH2
Y�eMeҥ���] EP�DEt�
2�hw��o?�8ZD8�a�����J�� #��n�#�#�
>ͣ1����`���1��4��^�)��՗�d�OoY��������,��c��Hn������e��ތ��<%�	8~������]r����
�W*,b�����O��7��GL�q�	�t4{
}���9|�S�3:ڔ�
#N�]E�G����%n�V��n	��3
)B!n�)���ϭ�|��x��(�0���t��oL�dLD�Hrئ�v���}�_%�G�Y6�"�
j�q�.B
+0��
�">b��q��e�h�v/�
�48Cr�
J��4�������9O}����&�go��}w�<L?/�ܯ�o��o�}(��q��r���NH��^{���q�MSC�(؅
v�rqEn,�Hb]-*
�k�(�5A��j
+
�ʖ	�-�E
qsj�\��i�L��8��ʆ2�j*�%F�l'�p����*���Po
u�Kk�"Ƙ"
+��c�#ƴ_��
d�8
bл,[����췟_*<̙��!��^�����c�Z���Lm�}���iZ���|�T��!dk�2M��E�
+k��SւAP[n�
+� bҨ�����*^UM
��B���tV $��l:�ЮAO(���p<�N�ވ�c!����\�>^�VBG�nc�� �5�0t�i#��]r7�?^
H;L+��
+�KY�K��n���$�^�Ү�̓���9��EtC^Y:=�pD`����N�Y���Y?e�nrE�՜��P=u{�TAmW�D����ٚ�+�H�*\�z��;mHR-� ��W٦Cg3�!G��>��X��c�Y�څ�����R��^�ƾ�p{a�i�	�ڢ�v�h�� �U{<:
ft	��ՠ�x"�&)��UYp�o��,_>�4�Vna+	����5��W�ȴ�2y��a�VgQ�������A���d����&jk���G�! e�C�*��ꚪcV���-&�Q���d ��%�ۥY�0���p�����Ea65�*�U��hl���8��jF�;�	�
�5�1��s�`$4���D�i�i�c���d38��b&4c��:t
��
F�0��P�͘k�3nD�0*8=�./+\ܱ�6!!P`��9��U��ĕ�
�

?Z����[J1�nj]"x����%�
+
�\��j�! �V7�
����!4�$��Itѐ�0��n���j�&�3

� ��?w�Ne��nTZV����q�Gy�CC�"��/�;?�]��h��
+B.۩6���d���D
O�A��T�Ì�߱ݞ%Hi����	̝��
��c�C~���y�x;Ҭhz2 ��A��K�	
s�B(��e)�;l
�aG�H)��L'(�9'"���$���
+:��d�¨X �o�r%Z�z?����A,����j�T���R�Q��
+��覐{R�Pwc�
+�W�&1�	�����XŠf�d�
(��-�wccaI�
+� jm��	�ԃ�XyԲ_�C-� �I���^�ѸƤ�W���,�H�q�@�elG�
��7�:�Y:�,���e��p} ��.�▱�>��!,��
��0�p6�0P�0
�
�eC� HI��+���CX��d�L`�Av%a�'��VַT��S�Iq2��̵���Bm�:�]
��bW����j��]Z�Ar]�$ޜN� ���Q-{�Ca��s�����$��!g{kzX
k����@��@���Yu���;�����v{��>T�J��(4��VgU���і���[�͢���B���D-�$��
bP��Ќ��%�Q�핓j�޲��uî؅w޹Vhh��Vl�i��/���V@�����(.�X ���+���xy�t
+j���>t/�
F�*��#6�����0�H��߉���>��z�����t��-=�a��I>-*����N
+�Vnبʹn]%���f�"�D���W�OO+����~�O”���M��ͽ�$��P�F��u}��{�c��ߍ���'~����ո����ֺ�*t5[�h
C
+��'��3���z�yTfO�"�v�:
�������y�N����w���` J7�a�1�Y^��㊼��On{"LS�V� g�=*V-W4����~迸��Eo2p��e�D'�
+endstream
+endobj
+6107 0 obj <<
+/Type /Page
+/Contents 6108 0 R
+/Resources 6106 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6074 0 R 6075 0 R 6076 0 R 6077 0 R 6096 0 R 6097 0 R 6098 0 R 6099 0 R 6100 0 R 6113 0 R 6101 0 R 6102 0 R 6103 0 R 6104 0 R 6105 0 R ]
+>> endobj
+6074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 251.793 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+6075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.291 707.957 383.08 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a67bee18b81c21e09116b7423b3465a2a) >>
+>> endobj
+6076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 678.985 208.754 689.889]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) >>
+>> endobj
+6077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.252 678.985 298.695 689.889]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a7d15247c02efb42a971a2cddbd7ff70e) >>
+>> endobj
+6096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 650.386 150.493 660.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_abf158dc171228668bd20a36339b60f10) >>
+>> endobj
+6097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.834 577.678 248.703 588.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type) >>
+>> endobj
+6098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.604 577.678 317.406 588.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a0c0e22bb6388967d928cb6cde46b9196) >>
+>> endobj
+6099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.623 577.678 445.784 588.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+6100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.882 577.678 513.996 588.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+6113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 565.723 238.353 576.627]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+6101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.27 565.723 438.152 576.627]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+6102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 536.751 249.301 547.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type) >>
+>> endobj
+6103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.799 536.751 307.702 547.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a1b95213b929e61be2683bf1d9c220d70) >>
+>> endobj
+6104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.517 536.751 406.361 547.655]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) >>
+>> endobj
+6105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6109 0 obj <<
+/D [6107 0 R /XYZ 89 770.89 null]
+>> endobj
+6110 0 obj <<
+/D [6107 0 R /XYZ 90 667.811 null]
+>> endobj
+6111 0 obj <<
+/D [6107 0 R /XYZ 90 597.126 null]
+>> endobj
+6112 0 obj <<
+/D [6107 0 R /XYZ 90 597.126 null]
+>> endobj
+6114 0 obj <<
+/D [6107 0 R /XYZ 90 554.549 null]
+>> endobj
+6115 0 obj <<
+/D [6107 0 R /XYZ 90 506.806 null]
+>> endobj
+6116 0 obj <<
+/D [6107 0 R /XYZ 90 448.485 null]
+>> endobj
+6094 0 obj <<
+/D [6107 0 R /XYZ 90 425.867 null]
+>> endobj
+6117 0 obj <<
+/D [6107 0 R /XYZ 90 425.867 null]
+>> endobj
+6095 0 obj <<
+/D [6107 0 R /XYZ 399.149 356.739 null]
+>> endobj
+6118 0 obj <<
+/D [6107 0 R /XYZ 90 350.099 null]
+>> endobj
+6119 0 obj <<
+/D [6107 0 R /XYZ 399.149 270.99 null]
+>> endobj
+6120 0 obj <<
+/D [6107 0 R /XYZ 90 264.35 null]
+>> endobj
+6121 0 obj <<
+/D [6107 0 R /XYZ 399.149 197.195 null]
+>> endobj
+6122 0 obj <<
+/D [6107 0 R /XYZ 90 190.555 null]
+>> endobj
+1777 0 obj <<
+/D [6107 0 R /XYZ 90 68.978 null]
+>> endobj
+6106 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F90 758 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6165 0 obj <<
+/Length 1731      
+/Filter /FlateDecode
+>>
+stream
+x��Zko�6��_!`@g5Ç(Q�2��cX�G�z���"3�PYr%9���w)�i˲�8i
jJ"��s�}�6�6~
�2
��p��"צ�1�6\l8���
W3�Øb��8}i0[ ��0*������7������t�yD�6���#G�r��#6fp���s��%�4,��74ޏ����(WM�SXs�\�ii\�M Г��1
���{��۵�p	!�
�}V1ąS��a�1�
�2��dt
�&!��BΒ(�
+m�iZ�*�J�Ĝ�����i
͓��|iN(㧡����N^��X&�Ced���
7$0!T�dB-�,W��	L��8
"�^��~�.��%��4&r�M-=�� ���L�`{ݓ3� ��~��A ʲ�j�Ţc
Ƒ�y��g�Ɩ�r8+u
djLE�@�����רMM
�]ɴ�
舍,& 8�x1���5��0� �
�#���I2/��.�~��}���U"�4��-#�
�׿���
,^��Lt��:�3x��p�\�B�!�-
�Z/0�{A�+$d�y�6���l�h��co
f�I�L�
+������)�-
����g���,Y�Y��*[H����u�7

���B�ҕWޜK��+/�
���;+��>-3�ߒ��
��H@��>>�����M�'y���B���d yɦ�`U�
+�� 9U1�B��>�z�?~�?�
+kQ�B�;:�~p�1�3}#'
�*��
\�� ʺ��;�Ah[m&�V|S�,��:�����!o^'����R_��k/
��"L��%d��� ʪ��w6��׈
y�u\;yO=�@�]U.�Ѷ�.U�TV
��PB �R��㙼m�:r`ԯ�x%�<��P�����@q5� �ffeo�̇@������

��jg�-:�d�N��j�_':B��u�����ODӿ��
f�ބY��[��N�'[i?Ćݕ8���7&ۂY��Ry �
�p�c�iZ�
�di� 4
��h�\�
o�~�t
$qr�l]U×j�5�a�b��UG߇Lj>���^�D����ˣF�!/�� �w��ȱ�]jۙt��]����
�L�?� �U�ڄre
��ǥ�����4�\�u���A{��w¿�X�%�wvf�����jD4VЊ�mʠ��DU��
��Q�:��!b�6�ڠäA���K���#I#��2��H���2���dDm�*���?mN�G�ԓ	a��
��T91�a��7
+��!��62ث�2���
�@�NWj�W�(���{�� 7���۩g�#�	c�ž�#٪��*�ޥ{
��`�^
� ��2t��t��;X��t��b��]���|

�"�>�1l��7�,��
��OG"�{&��է=Y��Y�1�Q� ^�ۆ���b�U
�R4�eo��a<�q(�w1������
(UuEZQ�{Q�ባ�8�
+���
$�s���̨K�v>+��ˍM} �N.����2}�6e1������Ž�n�
Q�� �z���qX-
�F�^�~JX%*�_���J�_|�
ȶ
�cz��\W�^&��{��?R�����ذ��J�A�W�� {�$A��oD�9��\�y�&N�
��v��
S�8�mɌg1LVO7��&����v�/
+v� g�'�pZ�v~�J7�Le����`�P�g�(��I}�C�^3a���R�ڮO�ٿ��� ������e�ӓ���<��
��rW�ݽ��S�}���2N��(�\v��y�#�
+endstream
+endobj
+6164 0 obj <<
+/Type /Page
+/Contents 6165 0 R
+/Resources 6163 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6124 0 R 6125 0 R 6126 0 R 6127 0 R 6128 0 R 6129 0 R 6130 0 R 6131 0 R 6132 0 R 6133 0 R 6134 0 R 6135 0 R 6136 0 R 6137 0 R 6138 0 R 6139 0 R 6140 0 R 6141 0 R 6142 0 R 6143 0 R 6144 0 R 6145 0 R 6146 0 R 6147 0 R 6148 0 R 6149 0 R 6150 0 R 6151 0 R 6152 0 R 6153 0 R 6154 0 R 6155 0 R 6156 0 R 6157 0 R 6158 0 R 6159 0 R 6162 0 R ]
+>> endobj
+6124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 611.381 223.528 622.285]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.026 611.381 270.292 622.285]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae79e04eb36dcf5595f3c664093686c3f) >>
+>> endobj
+6126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 556.778 164.042 567.682]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.858 556.778 229.615 567.682]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.05 556.778 330.028 567.682]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 529.153 164.042 540.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) >>
+>> endobj
+6130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 529.153 241.511 540.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 501.527 164.042 512.431]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aeb05cfafe5dbcb57a7f831180204ef7f) >>
+>> endobj
+6132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 501.527 241.511 512.431]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.146 501.527 325.904 512.431]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 473.902 164.042 484.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aef9838273809d695f9c52a96b37123b6) >>
+>> endobj
+6135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 473.902 234.885 484.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.539 473.902 314.297 484.806]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.731 473.902 414.709 484.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 446.277 171.791 457.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) >>
+>> endobj
+6139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 418.652 164.042 429.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.782 418.652 215.588 429.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a95560c356a7aa70cccb41b866a8455c0) >>
+>> endobj
+6141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.925 418.652 293.057 429.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 391.027 175.668 401.931]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 391.027 234.596 401.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad76648f21279e7e7c852cfc1daa1887f) >>
+>> endobj
+6144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 363.401 208.395 374.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a42e13324ee4f4b86975c282078a646fb) >>
+>> endobj
+6145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 363.401 273.968 374.305]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 335.776 179.554 346.68]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 335.776 250.666 346.68]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd) >>
+>> endobj
+6148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 308.525 297.728 319.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf) >>
+>> endobj
+6149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 308.525 336.732 319.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 280.526 342.261 291.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) >>
+>> endobj
+6151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 253.274 290.247 263.805]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d) >>
+>> endobj
+6152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 225.649 186.278 236.179]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a11d3ecf7df43ab6f40620de32004f339) >>
+>> endobj
+6153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 212.833 155.823 223.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a844aeb45177c00f4d4ad0755509d9e69) >>
+>> endobj
+6154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 184.834 164.042 195.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.782 184.834 218.358 195.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) >>
+>> endobj
+6156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 157.209 194.776 168.113]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) >>
+>> endobj
+6157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 129.957 195.334 140.487]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5) >>
+>> endobj
+6158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 101.958 224.634 112.862]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2) >>
+>> endobj
+6159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 74.333 179.832 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) >>
+>> endobj
+6162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6166 0 obj <<
+/D [6164 0 R /XYZ 89 770.89 null]
+>> endobj
+218 0 obj <<
+/D [6164 0 R /XYZ 90 721.073 null]
+>> endobj
+6167 0 obj <<
+/D [6164 0 R /XYZ 90 628.242 null]
+>> endobj
+6168 0 obj <<
+/D [6164 0 R /XYZ 90 575.636 null]
+>> endobj
+6169 0 obj <<
+/D [6164 0 R /XYZ 90 575.636 null]
+>> endobj
+6170 0 obj <<
+/D [6164 0 R /XYZ 90 518.652 null]
+>> endobj
+6171 0 obj <<
+/D [6164 0 R /XYZ 90 463.402 null]
+>> endobj
+6172 0 obj <<
+/D [6164 0 R /XYZ 90 437.502 null]
+>> endobj
+6173 0 obj <<
+/D [6164 0 R /XYZ 90 408.151 null]
+>> endobj
+6174 0 obj <<
+/D [6164 0 R /XYZ 90 380.526 null]
+>> endobj
+6175 0 obj <<
+/D [6164 0 R /XYZ 90 352.901 null]
+>> endobj
+6176 0 obj <<
+/D [6164 0 R /XYZ 90 297.65 null]
+>> endobj
+6177 0 obj <<
+/D [6164 0 R /XYZ 90 270.025 null]
+>> endobj
+6178 0 obj <<
+/D [6164 0 R /XYZ 90 229.634 null]
+>> endobj
+6163 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6244 0 obj <<
+/Length 1940      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�8��W�!�" 	.�������'�t�.MA+\������@�F��%9UsH �X��
 6f6~
��~t�γ� .u���`�s�\�kb|2	F�Xc�16�,��HdQxgQl�r�'"
+�'"���"����1�Ɣa�&��Ru?�)�M����&�������O���#a�(
+�|#�F����~����|����M�����p��v�0؆̹�d�� a��A�(�>�y)ɸzG^mcDlK5+`L��X���s�
�L��_�!J==�3�v�fr�2��<)��j%��_�(M��Ř��jA =xM�cB(p�@�� ���L)ۘ��!f�Z>�<2>�� �Y!�a����j��ó$yUQEi��M��aY�rcj;�3f��U\�e����jS8��
���r��T�O Ħ�P���j�k�9�V䪮dT��VԊ��[L�&*ۏq\/>ѳz�A� y�
o
1��
F�M|���� nf~���_~:U�\�Y�G����K|\�������|���j�(���=����6ԛ9�eH��
+?i���@S6#�Dy�-[X�gj�FUR��)�
�H�q��
�x�L�)*�$	'u�����I�S�\}�
F��KYM��c.D�FnO
K�����Vu�l�)y^�|����]��ZXp�x�'�����c�몳�kQV�G��ț�{��G~
r)�>�=�/#����95�I^]8���=ʾ�� �sq#�GI ��l?P�I>�[��zݖł��*��\o�~a���?��ҲW���y�`
h��N
hʴ�"�
4�Ǵ_���Wk�Sa9�,�^�{�%�z;��t�� �7d���������,,���v���;�\�y{�Y�4m��-z]C�L!vÅ<%ռo%��[�9d��)/ ���㰬���]�
e(,��=<�d</�0vK�vD�-�̧�\D1�� �X,�
s��u�ۨk��Y�8Qٯ�!ҧ1
!gȋ�OU4��p�k��g]qJ�8������o��!�G!A�i���k�� 0
@�\�H�u#A�+~�3&|ڄ�:��r��qe�KP U{#�P
�����1֋\�n���>�y$Ÿ�I��=��&�o�S���K�	0J
W%��R������!r6h��<XZ�)o�E]
��Y&�i���~����mG(;���.Ʀ}G�C��
i��2u%�bR�u�Q6���zjvR��C
�
�����k���c�w�b�㡇�ʏd O�+�S�r�M�
K� ��"��A>�d�*��>�WE�#���e��ʇI�B
ҽn�#
\g 0�F�'m%����|�
�%�zY|V6�ɴz�[.3OO����<n ��a^�,J�����߿��W��|���˰��p����̋�X�h伨����^[0r!
	/*��(M[W� �o;��:�~L&ݭ����2�dO�X
��d
!D��D6
1���%�ئP�;mP�I^
�Q߼�,�L����졹����:��
�G/�E��F=$8��R��R���`%�v��>E���{�y���`�tJ-��9U��p��XJ�
+v��$yR%3��n��F>������)�X�x'��$?
���~Rrx�_\�0Cy
,�;��Dؙ�͘|�!U
�wA�m
+>���[
��qӑOo����nj��
�i����94ސ
��ݸ��wJ�%
�Ǝ�?�p`=�W&��&�K۱���-�]��U>
1����e�ʗ�x�[��w���P�;D��c��[Sk4�@8R/J+-[���~B�R�Q��'T�S)w�����Z��k��ݽW���\�M�5j
�(��E�ݣ$����%��!R~����/���*����r�Alu[8������C=+y>CqW���l����B�ʢK}�2��N�@�Z�
�TK��b;&�G���棞��pu���?
���� 
i�*
+endstream
+endobj
+6243 0 obj <<
+/Type /Page
+/Contents 6244 0 R
+/Resources 6242 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6160 0 R 6161 0 R 6190 0 R 6191 0 R 6192 0 R 6193 0 R 6194 0 R 6195 0 R 6196 0 R 6197 0 R 6198 0 R 6199 0 R 6200 0 R 6201 0 R 6202 0 R 6203 0 R 6204 0 R 6205 0 R 6206 0 R 6207 0 R 6208 0 R 6209 0 R 6210 0 R 6255 0 R 6211 0 R 6212 0 R 6213 0 R 6214 0 R 6215 0 R 6216 0 R 6217 0 R 6218 0 R 6219 0 R 6220 0 R 6221 0 R 6222 0 R 6223 0 R 6224 0 R 6225 0 R 6226 0 R 6227 0 R 6228 0 R 6229 0 R 6230 0 R 6231 0 R 6232 0 R 6241 0 R ]
+>> endobj
+6160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.051 191.718 705.955]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 695.051 288.852 705.955]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) >>
+>> endobj
+6190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 667.246 191.718 678.15]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 667.246 303.079 678.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) >>
+>> endobj
+6192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 639.815 150.493 650.345]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) >>
+>> endobj
+6193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 611.637 181.845 622.541]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811) >>
+>> endobj
+6194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 583.832 181.845 594.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) >>
+>> endobj
+6195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 556.027 154.727 566.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b) >>
+>> endobj
+6196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 528.596 176.505 539.126]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) >>
+>> endobj
+6197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 500.418 169.013 511.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad8229aed551687502c5af78a4143254f) >>
+>> endobj
+6198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 500.418 222.961 511.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 472.613 164.042 483.517]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a77a4ec4e4b5b11f3ce61f6c6701d8a7d) >>
+>> endobj
+6200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 472.613 241.511 483.517]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.146 472.613 329.789 483.517]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 444.808 164.042 455.712]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_afd55d0cb3ab31c5e800c18eb849aa295) >>
+>> endobj
+6203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.379 444.808 241.511 455.712]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.146 444.808 329.789 455.712]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.22 444.808 486.978 455.712]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 417.003 164.042 427.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aed38df906a6f7c01305168df91d7d095) >>
+>> endobj
+6207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.184 417.003 233.69 427.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.249 417.003 320.892 427.907]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.248 417.003 477.005 427.907]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [485.842 417.003 513.996 427.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 405.048 177.322 415.952]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.142 164.042 403.046]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aba9d8397055aa341d1ffc6702f67e60f) >>
+>> endobj
+6212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.858 392.142 245.107 403.046]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.285 392.142 478.23 403.046]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.96 377.567 257.863 387.472]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 364.337 233.76 375.241]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a9aa9789183ac22bcb28a092c3e1f804f) >>
+>> endobj
+6216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 364.337 272.763 375.241]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 364.337 323.393 375.241]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 336.533 220.579 347.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a07bb90eb18242945afb161e4deadb09e) >>
+>> endobj
+6219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 336.533 290.038 347.437]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 323.626 231.1 334.53]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_af66a2692f29cc03aa773c48a2cc644ab) >>
+>> endobj
+6221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.915 323.626 270.103 334.53]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.916 323.626 345.559 334.53]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 310.72 197.337 321.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b) >>
+>> endobj
+6224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 283.289 175.748 293.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) >>
+>> endobj
+6225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 255.111 205.636 266.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) >>
+>> endobj
+6226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 185.439 203.075 196.343]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 185.439 296.324 196.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) >>
+>> endobj
+6228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 170.863 322.825 180.768]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 158.007 194.297 168.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf) >>
+>> endobj
+6230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 130.203 188.759 140.733]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c) >>
+>> endobj
+6231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 102.024 211.085 112.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.824 102.024 307.233 112.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) >>
+>> endobj
+6241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6245 0 obj <<
+/D [6243 0 R /XYZ 89 770.89 null]
+>> endobj
+6246 0 obj <<
+/D [6243 0 R /XYZ 90 712.265 null]
+>> endobj
+6247 0 obj <<
+/D [6243 0 R /XYZ 90 684.461 null]
+>> endobj
+6248 0 obj <<
+/D [6243 0 R /XYZ 90 656.656 null]
+>> endobj
+6249 0 obj <<
+/D [6243 0 R /XYZ 90 628.851 null]
+>> endobj
+6250 0 obj <<
+/D [6243 0 R /XYZ 90 601.046 null]
+>> endobj
+6251 0 obj <<
+/D [6243 0 R /XYZ 90 573.242 null]
+>> endobj
+6252 0 obj <<
+/D [6243 0 R /XYZ 90 545.437 null]
+>> endobj
+6253 0 obj <<
+/D [6243 0 R /XYZ 90 517.632 null]
+>> endobj
+6254 0 obj <<
+/D [6243 0 R /XYZ 90 462.023 null]
+>> endobj
+6256 0 obj <<
+/D [6243 0 R /XYZ 90 381.552 null]
+>> endobj
+6257 0 obj <<
+/D [6243 0 R /XYZ 90 204.302 null]
+>> endobj
+6258 0 obj <<
+/D [6243 0 R /XYZ 90 204.302 null]
+>> endobj
+6259 0 obj <<
+/D [6243 0 R /XYZ 90 174.848 null]
+>> endobj
+6260 0 obj <<
+/D [6243 0 R /XYZ 90 148.115 null]
+>> endobj
+6261 0 obj <<
+/D [6243 0 R /XYZ 90 120.31 null]
+>> endobj
+6242 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F67 3037 0 R /F90 758 0 R /F66 3179 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6333 0 obj <<
+/Length 1590      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�8~�_�=\
3�"		A�y�����zm.�=��
�����Ms��`�!�/Ӧ}��Z�~��������W��&����6<�9�1&��
�<�
�75ޛ;���k�v\D<F�_�{;9z;9Um�����@6���p�`1z�Sx�����\��0��:7NG�p�
^���k:� f�� ��@)/&����
c3��,
�1��
�(��NJ�dV�xRtW]^��,�e�Ma�������$>����
�`ӟ��B>`��Gm�u��g.��aj��"�QcL
��+=�Y�D�^��/�e
S^H}U�����^�.
+�j5 at a�q3
��2J�8�m��d�ce�5��3�u���0
q�y�.�	�\
��kN���l���Ƃ9�
+��0԰�
+�6e�9�:
q�
��]��ޟyf�H?��q�@��0�~rv�u�ȴ0�$ٳ�|���r�H��]̉T�e���"�]0��&��\:�P79�mN���|��%�-�̡�'������
�51�@
���`�uYՁht�HE\��I�;Ю !
���
 D8H�*@�=��
�uH  �� �T�a��
�*�!@�,K�0K�� r�!��£mA � ���2�tA�1`��AІ~�Vg�E��
^K�Q�i��N��q2�@L�K�U��
�{c��V��O�w��
��H��z�-l\d���<�\YC]
+�4��r��c6�8u��ӊ���r��[œW�gY�[��y&��7����`U�a�]�nPt�
����vN����
�Za9/�=�@���R_Vzmy*�%�}I�+k���C�n{(s��'r9h���2�5y�-ob�Uw�ҷqV
#.�������'�M��
�8��z.�9эx^�H \��(:���v��K��Y�

ޕ������� y}����LoE� �'
��]��
4h�(NjN�R‹ґQ	�8�_�;hj��	������e�
Z���)�#ǫ���Rw�ui���<���!�z8 �L��8�p���!&n	�����)�C��s0r�;�gN�4j�����*�U�kT�lDpm�g϶�I���hQ%�����{�.���o��l����2��
#�&�n�F��m�h]�rϭ(��w~�OB�M�g�sJ��؃���
+�_q���]Bn���Ï�����
+�W��X�p

+F���	fw�ϧ]�	�e�5�V�� Id���Y�#	�\�(����f��_�Ѭ���tP����=���K��S���WNO�y��Q^��:
�G�BD����n0Z�gw{�����!M(����[��l� �C���R���k�
T.�*�.ۄ��d%l�ˇ73�@���FC�������vצWEafم��Ba�1i�g#U��I�B��v�}
�:�Ŗ�ݙ�Av��*Ώ^
���S�j�Ƕ!o~<�P8��C?
[���W|u�y�&BТq��h�Ɣ��X���1[����J`�I��A�%��*�4�
��7��2yjq^1���(��ﱾ���LVbT|(��	�;���^�j��T���F��k^x�e˃���|��h��\����`��j��jW�|�
.�7Zh�y��]��
+endstream
+endobj
+6332 0 obj <<
+/Type /Page
+/Contents 6333 0 R
+/Resources 6331 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6233 0 R 6234 0 R 6235 0 R 6236 0 R 6237 0 R 6238 0 R 6239 0 R 6337 0 R 6240 0 R 6270 0 R 6271 0 R 6272 0 R 6273 0 R 6339 0 R 6274 0 R 6275 0 R 6276 0 R 6277 0 R 6278 0 R 6341 0 R 6279 0 R 6280 0 R 6281 0 R 6282 0 R 6283 0 R 6284 0 R 6285 0 R 6286 0 R 6287 0 R 6288 0 R 6289 0 R 6290 0 R 6291 0 R 6292 0 R 6293 0 R 6294 0 R 6295 0 R 6296 0 R 6297 0 R 6298 0 R 6299 0 R 6300 0 R 6301 0 R 6302 0 R 6303 0 R 6304 0 R 6305 0 R 6306 0 R 6307 0 R 6308 0 R 6309 0 R 6310 0 R 6311 0 R 6312  [...]
+>> endobj
+6233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 707.957 211.085 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.824 707.957 285.136 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
+>> endobj
+6235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.427 676.814 187.559 687.718]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.052 676.814 213.825 687.718]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a016c2304fe3a1a73988eb83b2ccf1fe9) >>
+>> endobj
+6237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.153 676.814 318.403 687.718]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.546 676.814 441.796 687.718]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.423 676.814 513.996 687.718]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 664.859 131.405 675.763]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.839 664.859 231.817 675.763]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.278 633.716 187.41 644.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.755 633.716 213.528 644.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a5f3003416d324720351da9235a0a3802) >>
+>> endobj
+6272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.559 633.716 317.808 644.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.896 633.716 513.996 644.62]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 621.761 151.877 632.665]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.312 621.761 252.29 632.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.278 590.619 187.41 601.522]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.755 590.619 213.528 601.522]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ab6054ead00332969adad17cdf785088b) >>
+>> endobj
+6277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.268 590.619 467.518 601.522]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.896 590.619 513.996 601.522]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 578.663 151.877 589.567]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.312 578.663 252.29 589.567]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 501.229 222.711 512.132]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.209 501.229 314.187 512.132]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) >>
+>> endobj
+6282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.794 501.229 361.329 512.132]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+6283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 396.515 180.54 407.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) >>
+>> endobj
+6284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 396.515 258.009 407.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.742 396.515 349.874 407.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 365.372 178.239 376.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15) >>
+>> endobj
+6287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 365.372 255.707 376.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.441 365.372 347.572 376.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 334.23 226.034 345.133]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c) >>
+>> endobj
+6290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 334.23 371.308 345.133]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 303.087 164.042 313.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 303.087 213.646 313.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) >>
+>> endobj
+6293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 303.087 318.232 313.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.389 303.087 441.638 313.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 271.944 164.042 282.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 271.944 213.646 282.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) >>
+>> endobj
+6297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 271.944 318.232 282.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 240.801 164.042 251.705]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 240.801 202.497 251.705]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) >>
+>> endobj
+6300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 240.801 279.966 251.705]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 209.659 164.042 220.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 209.659 202.497 220.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) >>
+>> endobj
+6303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 209.659 273.341 220.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 178.516 156.281 189.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a408ca35042312cfb3c8fb63d41ed2bf5) >>
+>> endobj
+6305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 178.516 210.229 189.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.44 178.516 278.572 189.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 163.941 164.042 174.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 163.941 213.646 174.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) >>
+>> endobj
+6309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 163.941 318.232 174.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.389 163.941 441.638 174.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 149.366 164.042 160.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 149.366 213.646 160.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) >>
+>> endobj
+6313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.983 149.366 318.232 160.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 134.79 164.042 145.694]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 134.79 202.497 145.694]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) >>
+>> endobj
+6316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 134.79 279.966 145.694]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.215 164.042 131.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.54 120.215 202.497 131.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) >>
+>> endobj
+6319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.835 120.215 273.341 131.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 105.64 180.54 116.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) >>
+>> endobj
+6321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 105.64 258.009 116.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.742 105.64 349.874 116.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 91.065 178.239 101.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15) >>
+>> endobj
+6324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 91.065 255.707 101.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.441 91.065 347.572 101.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 76.49 156.281 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a408ca35042312cfb3c8fb63d41ed2bf5) >>
+>> endobj
+6327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 76.49 210.229 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.44 76.49 278.572 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6334 0 obj <<
+/D [6332 0 R /XYZ 89 770.89 null]
+>> endobj
+6335 0 obj <<
+/D [6332 0 R /XYZ 90 721.073 null]
+>> endobj
+6336 0 obj <<
+/D [6332 0 R /XYZ 90 695.29 null]
+>> endobj
+6338 0 obj <<
+/D [6332 0 R /XYZ 90 652.192 null]
+>> endobj
+6340 0 obj <<
+/D [6332 0 R /XYZ 90 609.094 null]
+>> endobj
+6342 0 obj <<
+/D [6332 0 R /XYZ 90 521.761 null]
+>> endobj
+6343 0 obj <<
+/D [6332 0 R /XYZ 90 444.411 null]
+>> endobj
+6331 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F66 3179 0 R /F67 3037 0 R /F90 758 0 R /F110 1507 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6365 0 obj <<
+/Length 2539      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s۸������`  ҙ
��d��t�M�^�;.E�[��I*�����$HA��l����!E< ���'x
/�~������{A�Ŝp��ދO�1b
�ͽ�>��)������O�urw3!�_�v�l^%w�Y�T�����bQm�"�&S���UR���cv�U
�zSp�b���O�n/
.0pxXs����t}������㟼 �8�
��
	����t�׋�
8e�V^��`���0F['C�پϚ$_es�D�N�|��e�l��z��oJBD�X��}�U^dI���N"H.$g`�8	͌B���fic����Y)�J��
)�ja$��
�t/x�]3�
$c���Ԙ��F�L
�3�L� �$����\Ѧ
� &�[9��=��AŞ@� ���
G��m�
+T�0`U��
+CF-�Šb��Ϡ=M#,�llH�c��D��T�p����u�m
��5a�d8T�GFd�c;�X��0�
֢�b�YDOΥ8
;����q[4�
۩��p��E
+B�

t+"?�L�0��`]£ȟ;VA����z��P�*dFE�b.@ x��eVe�-	�U��±\�(�-�4	J�62J�?��YQK{Wϥ��f���&I�K��	($��x���q�Yd�l�Ǽh�	f�<�I��~B����Y�h:�<�ȱ�ʓ�*s"7�tZ:
k��`�0������8�����Ų�*�:�.x+��3�+Y��[�Ef�Z�	?)\��"8t<B�?LT��-@`�!�0�.��ն~j��]@�
8�SĹm�aL���
�/�ty	,Ċ�bM�B#�i;V��g��M�� �񙳇m�ʛ�~��������*TL�]F�
+��@N	��!���I!���!��
��0`b�:�p�
 ����
R"k9
([
+��Wp
+O
�
Y&a��b�_�p;�S��BP@^A.Y'���R��,�`���d�
�@>;Jf�`ˆ�=A�aF�*'��:�U�u&��6_��6їԝ0
�s1�k�_I��M}�Y;�#Nc+���8o��!�J�餒~�`��m�4Y�v��LVp$��nf
'��j�
3gi&[GU��n=+Wz���� U��:���K�:��Wf�����$y��x
W(
ڈE9�`/:b�RK
�a_ő'�s�	�!'��d�1�
(�1o�z��6�����ı��Y��:,����e�T۴�u��fZ�̵�5�͌��5�q�
+�A�>,<s���V[��5��#��苔�2z�J�w����Z�����~(�v�B�I���n�h $��"��G�b�.�Q$�Pp-��υ�0D$�|땃����+]�N!�
i
���n۳��X�Z�t/f��\lc��s#�y&s�"3�N�p��|�]��[7/Q=��v���&o�$���a��&���\��k�(( M��(���q
n��ժ��|�Z�Gw�z�ʌ��f�Ȥ��
mLY&f���ȃ�>�
ا�}��
D��J�9�r;�|Wx54_�]�2��a��0a}} ~��V�G�P�AI�Xdr����є��$
O ]͛�.ҝ$�'�~���#=5�C�%d#�����w:|�S�6�A�����`Z��`���r�t������{�L]-�
s�y�A�����g��;�>ɤ@!s�
+���.n�>�y.���s�H�~�D��/	���~ۥ#v��m	�-ñmPA�P�e�����]��Ȗ?Ř'b@�5	1����y��?}�v�Z_�B-P͝0w�'M�i�
�g�LW�^YO�8K�U�	Ŧ�ul�5`�q���� �#
ᏸ�aP�
��o
ѡ� ���D��`^&_�_�:^� �l
�(LαHȰ��P/��G܍b�o-n�6�p���<4LC\օ$�?ƿ
��
�����
e^q��w����5�Ν
A~��p�틶mQ'M^ˬR'i#\�7p��kV�S��蔫���N}�6c}'��~CbO�<�m�8�� &�(M�a'��di.rvv�<V��TU�'c�>Y�ٝ|(��=��R�K]_K�ށp��
+{o$���^,�U�zQ[��
��
 K�ԁ���3�ԺlK�������/�u����Q��޵Y;�]ؽP��=z��qk��P���w]�C��T��I�\�O�>�`�~0r��z�JS%us�|�߇޶�m1v��zY�Q�c���28��"h�
+^���!؝+ᶎ;���*sU�@e�	;�v�
韛ol���=6;}���f��
���Y�,e�&���y$_0H�/�\�jaH��E�l�1s�a���=�	 �є��lmz�B~�Sv��}Y����5�U�
j��ھ7j��1뾧���Ț�W�f�og�郷��jF���a�o�)�Vz�H�#�bZ���(̴��
��惾�[�U�d��p����&��+Ao��'
)�"6ģOY
&������{V0
c]
�l�����l���b��r����u�X���\P�~�촎ڏ�Z9� #鶑�
-�BEa߫�v�yp��zߗ ��k��V`�
+endstream
+endobj
+6364 0 obj <<
+/Type /Page
+/Contents 6365 0 R
+/Resources 6363 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6329 0 R 6352 0 R 6353 0 R 6354 0 R 6355 0 R 6356 0 R 6357 0 R 6358 0 R 6359 0 R 6360 0 R 6361 0 R 6362 0 R ]
+>> endobj
+6329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 665.984 227.951 676.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 348.776 158.921 356.302]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 311.615 158.921 319.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 274.454 158.921 281.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 237.293 158.921 244.819]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.141 237.293 317.925 244.819]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
+>> endobj
+6357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 192.162 158.921 199.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.141 192.162 305.372 199.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+6359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 176.222 158.921 183.748]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.141 176.222 305.372 183.748]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+6361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 131.091 158.921 138.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6366 0 obj <<
+/D [6364 0 R /XYZ 89 770.89 null]
+>> endobj
+6367 0 obj <<
+/D [6364 0 R /XYZ 90 721.073 null]
+>> endobj
+6363 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R /F32 764 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6380 0 obj <<
+/Length 2486      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[s�6~���tfSj��$�6;�u��v�4�x�%�xi��8K�
+I�Vw�����)J�k�!!�w�s������ٷWg��G�H�4���^�Cx[x}��٧�=ƈ�f��˟�^�~{�A~;{}u����'�-��(�����O�[@��
FL�ޭ����Yx��q��.�Q.��a4����@^D����]���lNi�S��X����+��(�›S�0�B��R ���*�jF���+ݕV
�Y�O�~5o�%��Vw���j���03�J?�4�3��kn�Ůؙ��<o��p{B?Kҵ#	i�-�.�`L�<+����ޜ$8׻�!��~��g%�
@�| �\ջ�L3�}��k�*�2Kj=*�3�5l!�J� ��'E�J��
?F�v at R.�*�Er�xL��}�
�fo�Z]��^�]qf�%v�
AgD�"ҋ�X�]�AQ�Y�Z����?�c��+�S�M�!����mJP̄��
+E����_��FB0���c>�.2q��#�n���
+Is&
+"a e�����i�z���5я23��b1@���&[
+Ų�$�:���
��073�����v�ՙ�(�e�-;G�V}ysx�$aݥ�#�NO���E��2� �Y�bh���6�c����,�c#xb�b'�
��E2�~8�d� 9
!9~:�ѤsО�^�^�
�\�DJ�k �
�N�5N�dz+��81ĊHM忻���b/�
F Q�%�Ϫ`s����Y_釢ܖd���MO��+�
�I���F�|�
���Hra���V�t��o�1�Ĉ�oVZ�Y���������Э/��
��a�AGV.�����ٛEeS����V]���%�/׬x	
s�+_9R�����ǫN3dX�\,1z�8vT���˗S[W�6K���E4�������.D7���Ϥ4'�y�y�G'/ʹ�S��l +�I����~�(v�~퐲Z��g���c�o�� '�"�d�\��o'��0�l�4��f�X����bn��.<
��! ��
 �����=ҥ6�J�<��TJr�nmB	b��!�C�1H)�uy��6�*+�j�\�Y�Y���̓a
��>¦���!k����;��q҇�%=–���	iG��
2! ��&�m��v��6�X����9������[�ӣ|�9��>��~�$W{9r�C7{�SN�^�^��aL�8���
����<�����ó	�f<7p�N&><�1*!�F�Y�K�߷U+A&�-i_B�G��2=��P'���p��mR�y�+T�
+�
�e��M��� R�jb$ݘ�;l��4)���Z�*�^BQ!˺�hݚ�A�l��m>��&e��r�&!���B4�V�$�������D��BɨJ"�'" 
+F�uc�Vf΂�?e����E��Y����Rw|W�;p`mҚ4�H}F��4�`	D�"���8��q��\���3���KU��PQ�I���L�*��lQ'�o�:����\\����1f�5�\�#B�[u��j��v�7���a�hݒ����u�x�z�Yݽ�+9�W���
��M�u�u@�3S��hԢ��M�� �>ܽ[fn��&����
��l��4$�Ip����a͑p�<� ����<RH�EW{<�.��*b%�dž������5�U��p#~(��8o���lV:�8��V��
��>���x�%�C_3҅3�y�
��G�*	��S���>�"7
��Jw�U>楬�|:i�p�(�X�q?׋�Z�������b�s�@�N��	����;zD���
��$�
+dGmY:
ȯ��*�I����ŷv
]X��:�����S�ex�;]})�
+,��Z�'�[�h��s�Ȧ�k%m�*谟*@'�qgy�ț��]ެe&�H�f/��}8O��(���xB�
+D�h�x,O
TxO0ly"$'y"�끚�!`j'L<�e�>�݈��Ԃ�-�Ϭ'w��Xj�����#~$
��T
�p_��k��U�b �K�8b�����ij#!쀑apri�l��X�MIWD����"uxjBMU�q����a��PUt��5UZ�d��
�!RJ�%��
�9���4��Sn�$���R���G±JhN���~��t���2��G�|�d��=��XO2)�9"U?�^�	+�μ�#Es�����ᓀ �
�6����� |
@hq
�"��:C�G.�� Ř=�N�a:�*c�v�ѩ��C��YÝ^�k]�(��ZNXG ��S�����rc���Yv�v1ȱ��L{��~�A
"��"o(O�鲆�
H���=��
+���B�A�gX|fD�G��>�9���o�}W��^�
��{�W1\~�p����V�޽{��l��K�t���]�Mҹ�j�C'��֜����PP���N��b��睋\������f�׶Bi�9tD�d! �꠼T9
��j�A�Fyȩ�
����'v
+endstream
+endobj
+6379 0 obj <<
+/Type /Page
+/Contents 6380 0 R
+/Resources 6378 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6123 0 R
+/Annots [ 6369 0 R 6370 0 R 6371 0 R 6372 0 R 6373 0 R 6374 0 R 6375 0 R 6376 0 R 6377 0 R ]
+>> endobj
+6369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 638.041 158.921 645.568]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.192 622.101 188.212 629.627]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+6371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.376 582.251 204.949 589.777]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.454 558.34 167.29 565.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 502.549 158.921 510.076]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 494.579 158.921 502.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974) >>
+>> endobj
+6375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.47 380.972 515.72 391.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.884 258.37 193.016 287.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6381 0 obj <<
+/D [6379 0 R /XYZ 89 770.89 null]
+>> endobj
+6382 0 obj <<
+/D [6379 0 R /XYZ 90 446.049 null]
+>> endobj
+6179 0 obj <<
+/D [6379 0 R /XYZ 90 421.76 null]
+>> endobj
+6383 0 obj <<
+/D [6379 0 R /XYZ 90 421.76 null]
+>> endobj
+6384 0 obj <<
+/D [6379 0 R /XYZ 90 367.398 null]
+>> endobj
+6181 0 obj <<
+/D [6379 0 R /XYZ 90 345.022 null]
+>> endobj
+6385 0 obj <<
+/D [6379 0 R /XYZ 90 345.022 null]
+>> endobj
+6182 0 obj <<
+/D [6379 0 R /XYZ 90 237.449 null]
+>> endobj
+6386 0 obj <<
+/D [6379 0 R /XYZ 90 232.966 null]
+>> endobj
+6387 0 obj <<
+/D [6379 0 R /XYZ 90 162.26 null]
+>> endobj
+6262 0 obj <<
+/D [6379 0 R /XYZ 90 81.969 null]
+>> endobj
+6388 0 obj <<
+/D [6379 0 R /XYZ 90 77.486 null]
+>> endobj
+6378 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F24 529 0 R /F8 794 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6396 0 obj <<
+/Length 2733      
+/Filter /FlateDecode
+>>
+stream
+xڵ[[��8~�_��!�"j�%w/���0��/
�w��\z
����ɒ
�qn�)
�壣s��w$C	W��u?�_Pw��_?\\�4b��Ds=�p3H��Ȅ(��f��C�7�h�(�÷#F��|1�~;�t��?ܥ�|r�:��O򇫫��m�I��t4���'뵿|�ޤ��١��z�i2��Ꮛ.��`Ј��@c����Ot0��?��H��[9h1�\�w>x��
-�\d�Kb�0�XDԫ�\ծ*L%D�|]��B�$6�U�U�iN���&oG�Ê#Ɔޒ�p�	�
8U�2i�=7�a佖'�
�E
��1��j�.����a���C#M�$B�j�/~�j�!�#��ۧ
���3cA�R~�,[��u�Z^�i�h�@	��鈩�ó�h�1!�䙆�g�
�;Y�Rt}?��i�+5��3�t�O[ۧ�/�:�$�i�r̮�~f�sY
��-��2�T.�B�˗�)v̙���0j��wp�0.*�L��߲��_wG���4��R�Ϊ�
+c��H�Z

S�$�@/��sU�����0�&q�_*��C���.�xNޟ�mp��/�Aqn��߲��
��8���4�/�y֓E����<]��bR8���&ΒR
���>y�/���?��7%�o��u�n9RoV������NG�%Y�Z{=6
ޭ�
+.�l���S=�
1
!#�&ny:p+�dG6� �N5�l��A�
+�#N�n^A�T� t���nxk�-�.��p�:������� r���=��	��^�f
+Ƅ�WD0�(e
+TA�R�{r�����˼�b�ּ����*
Ѧ��;�vI����U
5��.ڹ�g]�Dn# ����{�8�(Z�+�ނ! �L�
�M�Z��In\ ?}\I	R�a�ˤս[�d^�����	�F�uU��΀5!�~?��M����jXk�p"#5
�:$��~^��L��߫ �C},�J"�QRU���0t��Cx��0c��Uz��m��
W�ȁL�@,���Q�5	� ��rdh�\:뫫���ʁ
�;���

+�
Ϟ�t�a�o��ش�Bhm�Eg�p\_o�m�0��ׯ����*�Q���	L� �		l����G� F4�r��Ic5�ҍ�+��RiaH@��:[����j��o�
FЊXP���
���M]"Jxs˷�R�4�C�����u��
�-�׈IJ�:Y���u�N��z<�J^�^�G�9����>����#z�;���}�ۍ��w��)�\����j��c�����=O��c�ji�h�RTVA�W�}#6\w�{�ݧ��{��k�F*�ÛM�����?W"a��JT"� �*6c�
�#0?v��_�f�﷕c
�j�!
��p��b��ݭ�SЀ
^�B��
���1���s��o�>�
Ck���:���|qR�=N��kjQiU�|�(�B� � ��,�iU�6��_}����+U	��Ӊó�&�������B�y?.��ƽ	A�6;�j��M�������f9
u���n�ntόe'����H>��;N����*�gw��gq�
��=�=��c�̡Ɣ'�6�C���D��	���H4=� �@�i���1�FQK齽�p�^u[��Q�a�l�y�g�Krb���
��׎v9bu��y���k�\�,n�Y��EKKE���K�M�\��o��6��������1���~ZwtmM!���v�Tt�$��z��.[wL��L1DR�	
4���iZn
�'0Tw������呭=
��̒/pd���:�`1���H�^CdyI�a� $O7�Y�h� I��o����I��A�8�Ff
3�-�����)����J˝0$zk�B�ish�q S8U�+-��A\oΆ� T%e�Y�����ٙ��~�B��H����^V�v„��Bu��������U��+���Ys7��`�(@˟{9��۱?

+���"9,����̣L��7"fR<0���:�2��Γ�;��"�M)M��q*� I:V�
n�6E��G4Y8=Ra/�X�
,O��*�ڃ6�+8���l
8f{Tx��J�F����'Z�Z
��]�	�<vz��Q-���_�=
[t
J
c1w�o#Z��)��i�&cQ;ۉ�H��I��dǀS�!n�:�
�������X0:|��
%1T�,*
&�O�6�U�>]-�j;�k��*+
F��o����
���:�o��o���$��H��� HR
��D�G��� '��3��КP�zQA��Q2Va/����|R���g�LU[����N��&��:'ʝ&����0}�����;����U����� !ku�o6�"��gi���D�+�R�POY��GM��I��C7�d�52>\{�x�`M�s��B�O�v�CmHh/
�.ϱ��C����k�%M
�9
����0
1�Q����E
w�U
�{��lC�!�ƶc�u��:}�T|w*Klb�S9�X�(��YǬ�OZ�(�g��M��� �&:��e7���
+��o�\���
+���u4ݮ����c���X ��m}b�u�r���џ�N��}9����#Sٟ��:�_v%�-��"��fT��rd��S����
 ���7o�} h[g!o߾��Y��wf ��d�;��M�?*η_L��"�{�V'z^�/���_�[��*�9)U�]Q�_]^~��"&oɴ���Q+�p_G�pU�,VyXP���E�3-X���)#U1X���̔G�_�|X�n\�Z��o+����${�
+endstream
+endobj
+6395 0 obj <<
+/Type /Page
+/Contents 6396 0 R
+/Resources 6394 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6389 0 R 6390 0 R 6391 0 R 6392 0 R 6393 0 R ]
+>> endobj
+6389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.381 629.944 193.513 659.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.972 495.686 233.221 506.59]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.539 434.111 193.671 463.426]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 382.952 261.163 396.9]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6397 0 obj <<
+/D [6395 0 R /XYZ 89 770.89 null]
+>> endobj
+6263 0 obj <<
+/D [6395 0 R /XYZ 90 609.022 null]
+>> endobj
+6398 0 obj <<
+/D [6395 0 R /XYZ 90 604.539 null]
+>> endobj
+6264 0 obj <<
+/D [6395 0 R /XYZ 492.815 555.009 null]
+>> endobj
+6399 0 obj <<
+/D [6395 0 R /XYZ 90 548.369 null]
+>> endobj
+6400 0 obj <<
+/D [6395 0 R /XYZ 90 408.257 null]
+>> endobj
+6401 0 obj <<
+/D [6395 0 R /XYZ 90 356.626 null]
+>> endobj
+6183 0 obj <<
+/D [6395 0 R /XYZ 90 332.093 null]
+>> endobj
+6402 0 obj <<
+/D [6395 0 R /XYZ 90 332.093 null]
+>> endobj
+6403 0 obj <<
+/D [6395 0 R /XYZ 90 261.416 null]
+>> endobj
+6184 0 obj <<
+/D [6395 0 R /XYZ 90 226.38 null]
+>> endobj
+6404 0 obj <<
+/D [6395 0 R /XYZ 90 221.897 null]
+>> endobj
+6185 0 obj <<
+/D [6395 0 R /XYZ 413.076 170.21 null]
+>> endobj
+6405 0 obj <<
+/D [6395 0 R /XYZ 90 163.57 null]
+>> endobj
+6186 0 obj <<
+/D [6395 0 R /XYZ 254.215 84.46 null]
+>> endobj
+6406 0 obj <<
+/D [6395 0 R /XYZ 90 77.486 null]
+>> endobj
+6394 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F7 795 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6411 0 obj <<
+/Length 2300      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s�}���K��4��I��C�M:M����ew'#K�ũDjIʮ��{A !R�e��ɋI�н�9�0�"������
+�[��������E
+��&��2R8J�B"����	%x���ۈ%�����o�����w�̻��o��\x�#b��h����G
x�-$fJF�M�M�)��:�p��+
 kA�!���@C�8�Ә`�'wE��Ɣ���)�Y���A�T")E�a�
4��T-�>
"	�)0��2:�L�VzQ � Zp>J9�����Y9������m�ߗ;����MV��0"�
+�^Q�(�lW��>����|�OcE��#�ټȫ���x�M�

SfcCsDpj��]׻2o��](
q�=?k�m�	��F��<��
{S��'{��OS�����V�0f88
Y��^e�i��a/~�
3x��+��]�mx�h�̞\����ݼe�q�(8& K�ܤ(�5�&u�����f�$��^��e�^S*&�Y~��5�
+���T7�dG��I�\P2s��D�[}���Y���Y�tc��t�F"�b�"�R�I�G	R)�2��H��"�0�,w�X�L!
�~����N�Q��&d Ul!h�H���D��P$��q޸D�[n`|�شr�9 
�a�= G�Dq �8\�`���
,�4���*��1M���{���)!=��:���d��3�Jhzb�m�mYluyH�(�8��'� ��3����1���d��_9��	�A-I;�o6�"
��e�+��+]�x�jHB���"�[�-��s��ڍ)Zr�c�s��b�-Q��6�
t�5���A���:Xbc����8+�"<tA�5.H�1���L("��m��
+ ������� K���U���_��F�`��3A��uu�ʏe?m���/��1��,��󌋢�mf�
[�@3���|�<��I�~k��N�'
�2\M��K�׎�g���i��/Gw!�*vO�v/y���
�c�=�bz����{��ؽ�x�`ٖS"&Mm��)�(��;�j��r�g
�4Se�V��|�����2�J�#��Om��n����]�K=��RR��'�A��3zB5
+�>�'^���1�W�9\��<
"pM͐��БM��c7�2z�*��%�
B1���#��!�B�Bx��/��
+����ᳵ&av;Ok�9xsf�a��Z믨ʕ��t�G��
+ˇ;(H#v{��yQ�х��”N�F�E���)qr�@�V�yإ��08&���Bq"ƀ`�I0!
g��u°JJ�@�`�d�a�����zh	�6)%����h�u�mt^eEn	�T+�&"i��~���i�:ߴ�>�
�ա�ׄ����
���S��f���ԋ�����������َ��aw `{ D`$�a��� ��p�0[,�Ӕ©�����w=�o�^���Zt��܃��6��
�x�'�!���Z�
A�N�Ɛa��B���	��y�4KF�`
+�94
 
/�l9X
+`��m�x��� ϱR �:JZVC�0m+�ʒ�X1H�c ��N�d���`)`�
����,�A�0�f�ZgT����P�Q�){��@J�/8�����
+��
���.g�<��%��n�*��l at D[��@

+#楽>��nF*S��zVֶ�@�eYlNmc��ASs���s��@j���4f�LnW���$Y>�-P�Þ�=�0�&GP�_R�
;ų%�`K�9�H(�L
�*����ĮGR�s(���z*��&d=��B�1 @R�����4����C��0�e��
��u��4|���X܆
��w.���	�aew8�
�6MXb��[a
�j�nP���~��h[f����:���5�u�q�Km����ES�d�gS���ا�)˪�O�"���3��O��O?d_ܩyS�̋cw��y��H���1�fBq��T� �� G�v�	����w�y���ׯ��i�=Ce��/��u֍�}Kۯڰ�w͋ݼ��#��]q�Q�

㞟Uf�� [���m�t9��	}-{���(�HB�3�{yzO�n��kDm���@
l�q���!1n
� ]�N1(]o�i~�v��
˷l�y]����7�u���uQV( r�#f0+'�	�?b�|�
�����_�ᘤ)m^v�3����6,�C���b��6 �[�$�푐9�m:K$�������?*]���΍�_f�����̍i�w�a�s	�N`��k7T׿Z��j\c��0}��^������nw_��
�D�'�a`޻ݥ��o��-P�w3c�{���@
+endstream
+endobj
+6410 0 obj <<
+/Type /Page
+/Contents 6411 0 R
+/Resources 6409 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6408 0 R ]
+>> endobj
+6408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6412 0 obj <<
+/D [6410 0 R /XYZ 89 770.89 null]
+>> endobj
+6187 0 obj <<
+/D [6410 0 R /XYZ 90 616.275 null]
+>> endobj
+6413 0 obj <<
+/D [6410 0 R /XYZ 90 611.792 null]
+>> endobj
+6188 0 obj <<
+/D [6410 0 R /XYZ 90 502.321 null]
+>> endobj
+6414 0 obj <<
+/D [6410 0 R /XYZ 90 497.838 null]
+>> endobj
+6189 0 obj <<
+/D [6410 0 R /XYZ 308.538 443.471 null]
+>> endobj
+6415 0 obj <<
+/D [6410 0 R /XYZ 90 436.831 null]
+>> endobj
+6265 0 obj <<
+/D [6410 0 R /XYZ 268.967 381.631 null]
+>> endobj
+6416 0 obj <<
+/D [6410 0 R /XYZ 90 374.991 null]
+>> endobj
+6266 0 obj <<
+/D [6410 0 R /XYZ 391.965 325.461 null]
+>> endobj
+6417 0 obj <<
+/D [6410 0 R /XYZ 90 318.821 null]
+>> endobj
+6267 0 obj <<
+/D [6410 0 R /XYZ 158.014 257.335 null]
+>> endobj
+6418 0 obj <<
+/D [6410 0 R /XYZ 90 250.695 null]
+>> endobj
+6268 0 obj <<
+/D [6410 0 R /XYZ 206.163 183.541 null]
+>> endobj
+6419 0 obj <<
+/D [6410 0 R /XYZ 90 176.901 null]
+>> endobj
+6269 0 obj <<
+/D [6410 0 R /XYZ 507.769 121.701 null]
+>> endobj
+6420 0 obj <<
+/D [6410 0 R /XYZ 90 115.061 null]
+>> endobj
+6409 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F8 794 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6424 0 obj <<
+/Length 2170      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~ׯ�>l���`�/��M�N�t�&ާ4�ad��X"
�j���
�A�$ڒv��EQ p������G?L�����T,2�H*�����Hq���o�ѻ�`D�tF0���)�qR��������&�,�����??�g��:���tF�_,��t�oҫ��
�_	�XƔ�����&�_L>M�Gĭ@ ���j��=�.��OF���s=hq��s���6���H��B!n/o����i
g9�d��3�t����%k�$v�L��S7$��^L��{�/Y�Y���*ɪżt_W�3ɚ���	5�O�Mj�m��-���NV�{��Ϫ䋻�;8)��`�3آ��1_Ww���������"��Ž?{	��5��ت�~���O�D �o��d�j�0�ռ��4o�ʹA�h�����D����"�.�ʨ���Uo�eR�͗��l^-��}�.��W��U/�����*¾X���c�/݌�b�?w߭Z�3.d<ϳ�r���A�A�v
+ �
��@0�X���Z����4�/���m�P�]ˢ
aa�dU��9
�Z�,I�
�����ή�=�m mƈAL20�h�蛴ZY��Q���$pL�A5�������p?m�
Q�m�K`~����i�
�B"�ԆB�LR4�s�݌a
�
+�%*�t'�� (�o�`S��
`e�B�<� Wɲ
1�QĔ�;1 ,l
3�5
(���󼬊4Y9��"--�q��6\�pr�a�l��@�T��NS�q�����F�t���)�[)�χ_)Nk�r.�?M

P
�1>V{w{o��o�M�h�/�N;)�
���Y���r��lr�
��"����ު)	"IF�$*�|�4�@��d�5cҀ)���Xch�S����K��b��1H7{J6#�PH��C"J����<
�D��A4�� [�2���3�bҫ��/lW�n�Q�Tj$� u���QR��C:�����H����p��

[��x��J ��
c:_تp����'$h#E���֧MW��E�'�CAF���D��o�����NU�%��<s�x)@��_�WS�Ő
C��Ǥ�U�,3��
�C�0�H~�gV�d��r�s�A�[��
]h �^1����B>����‰�<��ƘMr�Y���	��2.
!i�9�j����pކ�:� ���@�a
*?�OL3�@�v*�Gҙ��^'���H_�:S���6�J���5P�
�ClNZ.�٦e�
8ʺFك#�s�k�<s����jq��_dס�	@���*�EV�[n�-�?S!�fW��r�\�d�U�
�>�J��L?���Ƙ��#�F�O-һ"-���9M?�^�u�`
+$�wT�]@��җA܈6�r��!��	�Q�<gE�������T*�\�*4��j����Zx&&k�g����y�9�����1� 
� �AP>�$��x��[�F����8��X
:m�.C�S�i��t_�dd�`���
+H�VۇJn��?9�eq(r�� '� S�q�S1����fd����#�s(�)�?"pL�
++�Kr8r�:h�(r�(Rxp3r���|�,R��
�DB���F����n�QHa�F��`�p3u�ǃmr�5��W7M�?�����y
UN	�?'w�F�6�
E�>��!��5Oٌ��>�~Ӏ�j��o5����>�!�z�EBܴ��o�
	�u8Q�zS���!V��.+P6�9eF7� M�:"Z".�lN�5��TT�mN)��g�مz{�eH�@���ݤ�P׻�'s@��X��am��%϶)Cv�V������13�@K`���
$�0#f&ǵd��SCG�d��3G��
8�|�c:2}��vv�4d85'���� N��OUê�0���#ۈY

N>��>T
�����T��}Ą>�:R x=�����`��)L��/~
�;P
1��TG��zZ�S
'��I��q��
'����<\*m���
.m�B:'%o�r˭m����+w��2-�M�_�l�,���y�;�7	��X�A6�6M�]�E�F��ϓZ)�R���s�(zSUw�gg��e�]��+��N�`���.�ʋ��n�,�+{D֞�D��h�YB}0��(��U׾�7��lln���b�w9(��
��TC��
+endstream
+endobj
+6423 0 obj <<
+/Type /Page
+/Contents 6424 0 R
+/Resources 6422 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6421 0 R ]
+>> endobj
+6421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6425 0 obj <<
+/D [6423 0 R /XYZ 89 770.89 null]
+>> endobj
+6426 0 obj <<
+/D [6423 0 R /XYZ 90 671.361 null]
+>> endobj
+6344 0 obj <<
+/D [6423 0 R /XYZ 90 646.771 null]
+>> endobj
+6427 0 obj <<
+/D [6423 0 R /XYZ 90 646.771 null]
+>> endobj
+6345 0 obj <<
+/D [6423 0 R /XYZ 90 605.066 null]
+>> endobj
+6428 0 obj <<
+/D [6423 0 R /XYZ 90 600.583 null]
+>> endobj
+6346 0 obj <<
+/D [6423 0 R /XYZ 90 560.851 null]
+>> endobj
+6429 0 obj <<
+/D [6423 0 R /XYZ 90 556.368 null]
+>> endobj
+6347 0 obj <<
+/D [6423 0 R /XYZ 90 516.636 null]
+>> endobj
+6430 0 obj <<
+/D [6423 0 R /XYZ 90 512.153 null]
+>> endobj
+6348 0 obj <<
+/D [6423 0 R /XYZ 90 460.132 null]
+>> endobj
+6431 0 obj <<
+/D [6423 0 R /XYZ 90 455.649 null]
+>> endobj
+6349 0 obj <<
+/D [6423 0 R /XYZ 90 403.962 null]
+>> endobj
+6432 0 obj <<
+/D [6423 0 R /XYZ 90 399.479 null]
+>> endobj
+6350 0 obj <<
+/D [6423 0 R /XYZ 139.991 320.703 null]
+>> endobj
+6433 0 obj <<
+/D [6423 0 R /XYZ 90 313.729 null]
+>> endobj
+6351 0 obj <<
+/D [6423 0 R /XYZ 90 262.376 null]
+>> endobj
+6434 0 obj <<
+/D [6423 0 R /XYZ 90 257.892 null]
+>> endobj
+6435 0 obj <<
+/D [6423 0 R /XYZ 90 235.845 null]
+>> endobj
+6436 0 obj <<
+/D [6423 0 R /XYZ 90 202.783 null]
+>> endobj
+6437 0 obj <<
+/D [6423 0 R /XYZ 90 167.719 null]
+>> endobj
+6438 0 obj <<
+/D [6423 0 R /XYZ 90 134.658 null]
+>> endobj
+6439 0 obj <<
+/D [6423 0 R /XYZ 90 100.595 null]
+>> endobj
+6440 0 obj <<
+/D [6423 0 R /XYZ 90 77.486 null]
+>> endobj
+6422 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F8 794 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6470 0 obj <<
+/Length 1908      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���0�����E$�`
��2��6k���(���ɒ+�Ͳ_�C��%Yv�Ų'Quxx�s����������!\������SH	*�����'������Χ�N?\��1"�|U?~���ŋ��������ӄ�+�+�#z�z������X��л�'���2������	�iVk2���+�HG$���ؿ��t:�4��.�*/�yb��c����
?γ�2�vK�a��lYluk;��gH������ Dv����jf��xDl�q�L9�
_E��
+�]
lF�F��7����:�*=�P��8S��"3���y�
"X����S�y2� �SB��hӁs�XJ"*�.�}��A�p�	��� p�]t���^_��B�<�"7���ZgUT%yvdAx4�f���F�I?
+�v�n��S���.9،�����gƣ�b
�*�1R��D`6Ϗ%,�T�ڔ���(@���E�@4K3�Cr'�^�y1��bH�/���+�W�䲈 �п>=�����\/�mZ�kd�/�Q@�r`� ��7���OF��Q�
�7�V�ۯ�Ϟ�=1�@�6J#>�G��K��y�!:y��/VT�x_Mx�-�܎ya��R�_ٛ�}Kt��'��
+P��u^龀�-�6��B!Œvw@	D�fJ0���6��m\՚��(��Ae?����WI��ˍ���S�D��?nQ0��S5j������H�I�5��r�0��:�
[���V��������͓�J��6)W�e��\����=j�w�25n��D��Z%�j��^���C�j�Өt�+c���,ufXJ�I�z-�4�k��]�G�ة>���G�ưv
.
��)��Y�f
��f���ʾ�wFa���F*
	�.YS����S�
+�b��@�c��!
ʽ��у��p#�*z���!��
+�xpO�	u_�U]���&@Q�}E�J�m~�|
�o�b*}]�J
�~@�̺(�����X#�D��y� �
�/�CF �}�dq����
(�j���#� ���v �A�����!��{�B
�FƑ7c7]�*�6�F�h2¡`��o_W(��'��S�=��cRنeT��"�MTB�W�uU
�p8E�fM.�F�UM>�M����]t{�ob�Z[6E�l{	��&�u�.]|��b�,�liq�Уv5��E�G |l6��Ĩ��c������	��:����/p
C���|<w�l�!���Ng
V��R� I:w�$r������
�3�S	x]�_X~�@Y-����
�~��xX�w��x
��i�Ȣ�G�}�g����U8ek�&!�V�� m�4w�QWq�v��
� �R@?󵝡m�c:(�!�����	��-�+�ԥ�j�cf0F%Y���,�
���U�-��rz�pR�{��L>�!	�M�q�l:�y1Ĕ�
����o�O1e��6�b�Wb\ZWbͩ�-��B ��S���N��
P���H�6C�ϛ�r}'G�Ղ��3���b�W��k���	��ऻt~,d��ױ��T}���
(����h:���
��zk͘T�
+�.<c�!^�2BM����xw��3=�9Nn�#�9��+E
��(.�����D�}^e�N�O�(M�vBr�) �^���T"E
W8�
��>e�M���Imy�\��)!Ŀ���
��?��c�g����l�x�DO�x�&׃BZ+�U����4���	vw�c��_��2�
���0�����~�f
q��\A����r;P?U���#L�����~�|�
���f��
����@�l'�>!��اh�מ��f���nʹ��(�6ǿƦ�
�E�
�T��ul��@�^�j�:�ϰ:�pȰ�6���jszrr�]��-Q���}���»�W���:/t����zĉ���
+endstream
+endobj
+6469 0 obj <<
+/Type /Page
+/Contents 6470 0 R
+/Resources 6468 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6441 0 R 6442 0 R 6443 0 R 6444 0 R 6445 0 R 6446 0 R 6447 0 R 6448 0 R 6449 0 R 6450 0 R 6451 0 R 6452 0 R 6453 0 R 6454 0 R 6455 0 R 6456 0 R 6457 0 R 6458 0 R 6459 0 R 6460 0 R 6461 0 R 6467 0 R ]
+>> endobj
+6441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 366.292 192.544 376.22]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.528 198.363 306.432]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa8e40c27df6ef5afcad226530be53c54) >>
+>> endobj
+6443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.179 295.528 263.936 306.432]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.644 198.363 278.548]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a1a897aa9f5d0da382de3c8baafba247c) >>
+>> endobj
+6445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.179 267.644 267.822 278.548]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.283 267.644 340.04 278.548]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.76 198.363 250.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a8bca7707491a770d78b523ae5570b139) >>
+>> endobj
+6448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 239.76 275.832 250.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.467 239.76 360.224 250.664]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 211.875 198.363 222.779]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aeb80e8469483bf1408d49901fee73802) >>
+>> endobj
+6451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 211.875 269.206 222.779]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.86 211.875 348.618 222.779]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 173.032 198.363 183.936]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a8f78066abbc29188a3dccfad42477aec) >>
+>> endobj
+6454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 173.032 303.527 183.936]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+6455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.056 173.032 386.814 183.936]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.148 198.363 156.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272) >>
+>> endobj
+6457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 145.148 310.153 156.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 117.263 198.363 128.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a1557515cde9d0030743cd45ce2471e0a) >>
+>> endobj
+6459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.7 117.263 310.153 128.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.663 117.263 398.421 128.167]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 89.379 206.112 100.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) >>
+>> endobj
+6467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6471 0 obj <<
+/D [6469 0 R /XYZ 89 770.89 null]
+>> endobj
+6472 0 obj <<
+/D [6469 0 R /XYZ 90 704.53 null]
+>> endobj
+6473 0 obj <<
+/D [6469 0 R /XYZ 90 682.422 null]
+>> endobj
+6180 0 obj <<
+/D [6469 0 R /XYZ 90 659.986 null]
+>> endobj
+6474 0 obj <<
+/D [6469 0 R /XYZ 90 659.986 null]
+>> endobj
+1778 0 obj <<
+/D [6469 0 R /XYZ 90 489.369 null]
+>> endobj
+222 0 obj <<
+/D [6469 0 R /XYZ 90 482.752 null]
+>> endobj
+6475 0 obj <<
+/D [6469 0 R /XYZ 90 384.219 null]
+>> endobj
+6476 0 obj <<
+/D [6469 0 R /XYZ 90 314.516 null]
+>> endobj
+6477 0 obj <<
+/D [6469 0 R /XYZ 90 314.516 null]
+>> endobj
+6478 0 obj <<
+/D [6469 0 R /XYZ 90 284.898 null]
+>> endobj
+6479 0 obj <<
+/D [6469 0 R /XYZ 90 257.014 null]
+>> endobj
+6480 0 obj <<
+/D [6469 0 R /XYZ 90 189.878 null]
+>> endobj
+6481 0 obj <<
+/D [6469 0 R /XYZ 90 134.518 null]
+>> endobj
+6482 0 obj <<
+/D [6469 0 R /XYZ 90 106.633 null]
+>> endobj
+6468 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F67 3037 0 R /F38 3426 0 R /F66 3179 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6530 0 obj <<
+/Length 2027      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~ׯ�SV��`\��v���4�z
��C���,s*�
+A�U} �$Q��Ў��(���wn ��p������ŷ�9
+<�9��N�
��{�o�|�(�L	�x|=!x
�I8��P<Ζ�9��ٻ�.����,]�k�Fr�~�
+�L����e������2��M���ɘ6�����?���#ra�X98�%�?cg��:��w~5�ǥ
~����G�T	�U�pK5�=�2�� B�z?Q�����z�|Q�q����0���n��`�V�Uy�c�8[�<,��_]���9��T�s�&�f#;��ߋo�� ��jP(E�K�)�����R�"MdZLj�'����B�mͼ󴞒!�z���F�r�`����;Z���;-p
$�_�G�s#�u��|.
d9�:�'L�k�쿕�id�����7��a.�1,b3;jK"yXTc��X�ۂx>?b��Oƫ�y?�,f�~p�>#W&�
��L\�G��@�����q.���]�d�
T����o%0'�:�<OU�Ƭج�i�V!ď��/�1��Ol?�$#
oy�%D�e��t��B���'�MK����6IP
:�@
<�$'�˲e���j&?���
��<yb8w��0"��p�L]p30
��%´t�,]n�U�:]��.�>���r���:0�FE%��O
:��¼�Ϧc%��"�(GDT	U|.�
B5[Ʃ
sK����z������a\�,-#T���&��Bޢ���H��Jv��O���RK�g�#@����,�����IjǀPS���Z���LQ�`<@�(���PQ
�;�q��
\�J㴫�����)~ 
�ae���@.���]1��X-:փ.T���R1���j`{�t���|[�.F�:l�פ����
0„?���G����nAav��ֻ"���`��!곁���H�h?�@��
�]��5�D0�Z
+��a�V�j�d �~���lF�
�½R@�a)�4,�ߊ���R�M�!�5�0
+x��
O���
���!��
���=)eU���ĭ"\ェY�Í��T5f��bWzASyt�b���@^��]9,a(EK��z��k\
Qy
�q3ݧ/
��(�k��J.������Eg�'ۍ�s��
�v؋A���}�/s_V~�cW�P/#�M�~x���w��
},=0�`M��Z�xА/��B�aC��2Y��{�3z����^��1n�&������,.엣Ӷw�v�E�l��Xw8H>=�Ѥ���#�
�� �3�f���Bo��@��
�e
���z�Qn��~{�P˖f��0n�O�v�� z�k����P��
�8
f6ɧUF�BULa�T��vw�A����Ρj���~}xa��
�����z� �5��d����~d
�8L����<UX��~{��>TQ
���d��p�?f��O̅꼮'T1���d�w��yu�
+��ί߿��:�r�#�ٿx��a��x^s\3�eX�:y����;�ȣ�˘V�`Zz�e� 4в����π>z���: i�x��%�,	%������ֽ=
�����ѢRKі�(ʁ_}���5�����8C�$ֵ�Y8�u�õ�lP��Zڝ=2��'.gI��".�wj�l
��)+��h�SO���5<ֺ�� ++�|
�s$p�nӃ�݄ĭ�g���U�:0Ѿ�T
�yl+��|���\�

+� g*�̣��;��a��s :�v�MU��I
+���Gu�j
AϦ���ם��7GH�å�: r4�������`����v��L�|3S����}������8��m�����[vIJ;�u!i��M�g�v����(Z�����ݦ+�볞�����Ź
�y�5��
��t#����q��s�չ�V��zW�e���Lz}��^�O����K�����-�'��̛ �0�^V at Y�q�����f��s�^��y(������z�y��,ٷnK� aQ��ụ�1�LZ�� �
+G�!]{�B��8�ߑ��fD��<�^,o\\%��w 7G�� �]
O
+endstream
+endobj
+6529 0 obj <<
+/Type /Page
+/Contents 6530 0 R
+/Resources 6528 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6462 0 R 6463 0 R 6464 0 R 6465 0 R 6466 0 R 6485 0 R 6486 0 R 6487 0 R 6488 0 R 6489 0 R 6490 0 R 6491 0 R 6492 0 R 6493 0 R 6494 0 R 6495 0 R 6496 0 R 6497 0 R 6498 0 R 6499 0 R 6500 0 R 6501 0 R 6502 0 R 6503 0 R 6504 0 R 6505 0 R 6506 0 R 6507 0 R 6508 0 R 6509 0 R 6510 0 R 6511 0 R 6512 0 R 6513 0 R 6514 0 R 6515 0 R 6516 0 R 6517 0 R 6518 0 R 6519 0 R 6520 0 R 6521 0 R 6522 0 R 6527 0 R ]
+>> endobj
+6462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 198.363 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.103 707.957 249.909 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a705b9ccde802cccb058145896a399b50) >>
+>> endobj
+6464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.246 707.957 361.699 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 679.872 175.668 690.776]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 679.872 234.596 690.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ac759e2fa9ea2058d86292dc3c5b43a7a) >>
+>> endobj
+6485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 651.787 208.395 662.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ab8ae5d861fb56c8ed906f604be7c4f02) >>
+>> endobj
+6486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 651.787 273.968 662.691]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+6487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 623.702 179.554 634.606]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 623.702 250.666 634.606]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) >>
+>> endobj
+6489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 595.616 182.044 606.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0dd6aa622dcadcee1746650f8ca164eb) >>
+>> endobj
+6490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 595.616 293.834 606.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 567.531 220.22 578.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f) >>
+>> endobj
+6492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 539.82 155.265 550.35]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7) >>
+>> endobj
+6493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 511.361 158.044 522.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd) >>
+>> endobj
+6494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 511.361 235.513 522.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 483.276 158.044 494.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a7c083d56e96fb1b5bc3c5fb23350f0a2) >>
+>> endobj
+6496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 483.276 211.992 494.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.627 483.276 294.571 494.18]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 444.605 158.044 455.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a067b4c27cf8643f8ded50ebda77da8aa) >>
+>> endobj
+6499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 444.605 228.888 455.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 405.188 158.044 416.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a8f66b17d5e71aebc89be0af0e3a4c7df) >>
+>> endobj
+6501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 405.188 269.834 416.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 377.103 158.044 388.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aee8ca9a278a53c88ad387a619bc80f27) >>
+>> endobj
+6503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 377.103 246.313 388.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.823 377.103 332.768 388.006]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+6505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 349.017 161.013 359.921]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) >>
+>> endobj
+6506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.932 170.687 331.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 320.932 195.165 331.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8) >>
+>> endobj
+6508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.493 306.217 225.163 316.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.148 295.258 227.817 305.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 282.262 170.687 292.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 282.262 187.563 292.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3) >>
+>> endobj
+6512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 267.173 271.151 277.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 254.177 150.493 264.707]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) >>
+>> endobj
+6514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 225.718 181.845 236.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa) >>
+>> endobj
+6515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 197.633 181.845 208.537]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
+>> endobj
+6516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 169.548 154.727 180.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) >>
+>> endobj
+6517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 141.836 176.505 152.366]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) >>
+>> endobj
+6518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 126.747 450.955 136.652]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) >>
+>> endobj
+6519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.418 191.718 113.322]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 102.418 288.852 113.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) >>
+>> endobj
+6521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 191.718 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+6522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 74.333 303.079 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) >>
+>> endobj
+6527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6531 0 obj <<
+/D [6529 0 R /XYZ 89 770.89 null]
+>> endobj
+6532 0 obj <<
+/D [6529 0 R /XYZ 90 721.073 null]
+>> endobj
+6533 0 obj <<
+/D [6529 0 R /XYZ 90 697.227 null]
+>> endobj
+6534 0 obj <<
+/D [6529 0 R /XYZ 90 669.141 null]
+>> endobj
+6535 0 obj <<
+/D [6529 0 R /XYZ 90 641.056 null]
+>> endobj
+6536 0 obj <<
+/D [6529 0 R /XYZ 90 612.971 null]
+>> endobj
+6537 0 obj <<
+/D [6529 0 R /XYZ 90 584.886 null]
+>> endobj
+6538 0 obj <<
+/D [6529 0 R /XYZ 90 556.801 null]
+>> endobj
+6539 0 obj <<
+/D [6529 0 R /XYZ 90 394.457 null]
+>> endobj
+6540 0 obj <<
+/D [6529 0 R /XYZ 90 366.372 null]
+>> endobj
+6541 0 obj <<
+/D [6529 0 R /XYZ 90 338.287 null]
+>> endobj
+6542 0 obj <<
+/D [6529 0 R /XYZ 90 299.243 null]
+>> endobj
+6543 0 obj <<
+/D [6529 0 R /XYZ 90 271.158 null]
+>> endobj
+6544 0 obj <<
+/D [6529 0 R /XYZ 90 243.072 null]
+>> endobj
+6545 0 obj <<
+/D [6529 0 R /XYZ 90 214.987 null]
+>> endobj
+6546 0 obj <<
+/D [6529 0 R /XYZ 90 186.902 null]
+>> endobj
+6547 0 obj <<
+/D [6529 0 R /XYZ 90 158.817 null]
+>> endobj
+6548 0 obj <<
+/D [6529 0 R /XYZ 90 119.773 null]
+>> endobj
+6549 0 obj <<
+/D [6529 0 R /XYZ 90 91.688 null]
+>> endobj
+6528 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6591 0 obj <<
+/Length 1558      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W��3
�oOҙ6�=Iǵ�^���a�-
+	�V~} H�%1��
z�	��b�>���T���������55�u�ѝ�c͵|d;�+�>�X���;�t<D|V�ׯ?\��\�nķ����ˀ�'�����\O�$������wF��irR�YԄg��
�
`���S�曚�9��PaOs	A�T|\3^�ia
��u>cՠ���Q�V��gjVv�6;aI�/�8H�`}*���^,�<=w�Uf<�i�	c��E^�f!��$>��jRK.J�M�9H��Vl�W�3���<�ֆ�B����R����D>U&��h�6�z%,-�,
�Ŝ�_#�O�d̾�A
��5j�'lc�#��&YZ�5ҵ0m�)r,
+�8�<�'�p����,��X��P�s�k�gs��AӼd����f}���aٺ`�ٶ��pE*��6�B�m���q� �,�oS�������͢�,�"q����N��<��񩍈���{o�ߛ�uH=�!�.J�EN�ݢ���L�_��}�
ςA��4��<3��?� 
��< �4�S|�uw��Z3��2����0,��
��"f�M�K���zB�K�w��� |M�E����)�W\ѡ��3��un}ƪq�<z|a
-J!�AD���5J�j�L�[�|&�k\��H��²2�	��H�����e�PIW��7�r
B
KJ�z�����<<;�7���	���t+�R�#�j<��V֤%���5�=ȣ�6fk�i�e������V�'��b��n0���L�j;•�A.�:ܨ�* *wk��YC�����!g����{�b73�)�C"V���Z�dq��6���뫲7dB���3��@��`)�G�th�-�� d�f�?�&�B�$^?t�fY�����)�P�d�[nu���S��pK�]f�o�)[��b�d�f��!
R��[�Qa98�8�U��G�z�Uyk�z\�|ϔL0>/�	�p�-]Y�lq�ލ���'F���O�Ǿ�:
+��<l
%e�
��`�ؽJ�I��Q%
!�A�9^p/jp�}}Sװ���ۆ�F���������O&��(��E_=�
ғ�4��<n:fɜ/��M�Z����:1gi��+��H Ku)�]��㞁ڔݳV��ʅgg

+`��z���#�\
+�~��8��J���<
+�,ey�*�
LM����:bD̦�� ���@t�E�E�6���*nE�*Q��FA��
ډ(�]䉎�*��Y
4h�F�r�
�1��H֬�a�P/����2��p�B��mzJR��u(HEM �ի0�/ԉ�Qc�foLءGkH
����,PA�:����8}�rL��|o��f�V�c�i2��h�
�,�
>�|^*�ʮ+\�
qZ�Q�j�>�xbh����~��P	���l+
-پ���
�ٛʏ�c��^�^��ML�
�-�
��pIP��9��G��Vs��Fu¹����U��'öu���i��$lR����)� Y!ch�1oX] W|�۰����[]

���������rZ�t�&Y����>�Pns<��T�I���p��I �Z7��	,�
+endstream
+endobj
+6590 0 obj <<
+/Type /Page
+/Contents 6591 0 R
+/Resources 6589 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6407 0 R
+/Annots [ 6523 0 R 6524 0 R 6525 0 R 6526 0 R 6554 0 R 6555 0 R 6556 0 R 6557 0 R 6558 0 R 6559 0 R 6560 0 R 6561 0 R 6562 0 R 6563 0 R 6564 0 R 6565 0 R 6566 0 R 6567 0 R 6568 0 R 6569 0 R 6570 0 R 6571 0 R 6572 0 R 6573 0 R 6574 0 R 6575 0 R 6576 0 R 6577 0 R 6578 0 R 6579 0 R 6580 0 R 6581 0 R 6582 0 R 6583 0 R 6584 0 R 6585 0 R 6588 0 R ]
+>> endobj
+6523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 693.226 179.554 704.13]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 693.226 242.925 704.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) >>
+>> endobj
+6525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 661.772 179.554 672.676]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 661.772 285.516 672.676]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7) >>
+>> endobj
+6554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 630.319 169.013 641.223]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ad7c61256a3d02a8f345701bf5eabdf6b) >>
+>> endobj
+6555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 630.319 257.282 641.223]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 598.865 291.722 609.769]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a87998e7258a2c529be20f456ded30c90) >>
+>> endobj
+6557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.538 598.865 361.181 609.769]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 556.452 246.034 567.356]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6605130131af1ca6e54f8ce1e71a993b) >>
+>> endobj
+6559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.522 556.452 360.71 567.356]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 524.998 233.76 535.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a32012e3b09434b858367d216108e42c6) >>
+>> endobj
+6561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 524.998 272.763 535.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 524.998 323.393 535.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 493.544 220.778 504.448]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a20b0080e4a1abdb68ce945191c540b2e) >>
+>> endobj
+6564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.594 493.544 290.237 504.448]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 415.378 203.075 426.282]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 415.378 296.324 426.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) >>
+>> endobj
+6567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 398.978 352.207 408.883]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 384.298 194.297 394.828]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) >>
+>> endobj
+6569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 352.844 188.759 363.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe) >>
+>> endobj
+6570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 321.016 245.406 331.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.145 321.016 325.654 331.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) >>
+>> endobj
+6572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.844 304.616 367.996 314.521]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735) >>
+>> endobj
+6573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 242.85 237.376 253.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) >>
+>> endobj
+6574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.713 242.85 329.778 253.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 137.405 180.54 148.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aedf8e546cc63ff0ade5d34cb995beb09) >>
+>> endobj
+6576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 137.405 292.33 148.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.063 137.405 418.515 148.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 122.675 226.034 133.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) >>
+>> endobj
+6579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 122.675 405.628 133.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 91.221 156.281 102.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aaf3b18ae83d99811dad22d336a1a117f) >>
+>> endobj
+6581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 91.221 244.549 102.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.761 91.221 347.214 102.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 76.49 156.281 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aaf3b18ae83d99811dad22d336a1a117f) >>
+>> endobj
+6584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 76.49 244.549 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.761 76.49 347.214 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6592 0 obj <<
+/D [6590 0 R /XYZ 89 770.89 null]
+>> endobj
+6593 0 obj <<
+/D [6590 0 R /XYZ 90 712.265 null]
+>> endobj
+6594 0 obj <<
+/D [6590 0 R /XYZ 90 680.811 null]
+>> endobj
+6595 0 obj <<
+/D [6590 0 R /XYZ 90 649.358 null]
+>> endobj
+6596 0 obj <<
+/D [6590 0 R /XYZ 90 544.037 null]
+>> endobj
+6597 0 obj <<
+/D [6590 0 R /XYZ 90 436.066 null]
+>> endobj
+6598 0 obj <<
+/D [6590 0 R /XYZ 90 436.066 null]
+>> endobj
+6599 0 obj <<
+/D [6590 0 R /XYZ 90 402.963 null]
+>> endobj
+6600 0 obj <<
+/D [6590 0 R /XYZ 90 372.581 null]
+>> endobj
+6601 0 obj <<
+/D [6590 0 R /XYZ 90 341.127 null]
+>> endobj
+6602 0 obj <<
+/D [6590 0 R /XYZ 90 263.623 null]
+>> endobj
+6603 0 obj <<
+/D [6590 0 R /XYZ 90 263.623 null]
+>> endobj
+6604 0 obj <<
+/D [6590 0 R /XYZ 90 185.457 null]
+>> endobj
+6589 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6616 0 obj <<
+/Length 2370      
+/Filter /FlateDecode
+>>
+stream
+x��Yms����_�/M��x�
^��$N2NҎj��L�$�R�����{o P�\O����p����}��%
�
~�������D�b
�� �AeD��Tw!���ٜQJÛ�a^o�w73N�js�WE����\�y}����ڭ��-ջ7ǦU�ٜK~�ɛ�t_���g,
q�l�Œ�����۟/~��x�@.0#�$I,�woiP���%"K�=iD\@�	�\��Z�@^�]l����PA�c=���Tm^nT����e]�۲�i�W?��i0�QfV��h��
P�L���i������<���fs!xX-~W���W�m��,�5�<h�zmM�������p|}��$
��Y/7����gO�K�",�"���
6m٨���jЌUpZ3�Ii���B<�=�N4	�l
�4�����rר�-wk��S@;/7�FmP�gpf�
�Njr�v
�|c���vm���r�o6G37/~?�*�@9?Me����[Ӄ�ܐ���2�g��H�B�F)�ioE'}�om�Ì�Σ��ԓ
L9
?�

^�0�EL(K�j�v�R��c��o�FV��>�N��6f\��e��/A>@'�
5�&$J%Ȥ%x4Sј�(N݄|WL��4Iܜ�G9c��겪6�
+h��6�x��$KD���9�$㙎}.���V��< z��JJ���yU
LM=�T槞9���P WD.&l �`�̀;���N,%	E8%��q뜠3�	F��}��r(7��OM7Pת�W��/��(�w.�Z�ke=~]���-}ނ���U�N��u�ޡ%�eq H�l`�	���m��Y�1ƹS�b�3
��ZEu�庙�%�Y
����i�nƦ�:������g�;��k�1gY�c�����

�N���|�����*G��
���
[��A����T]}1��
1|�5�
+�+/��4S��b���%�Q��k�BF'��Sm�t�FI3�|�M��3�#LK�Bڴof���҈�ai��(59RZ,C�
 � 3p	ǝN 	�L ��hc���D�< ~�
�
5-�C3JT��W�����
��iw$���P�A��X{�$��D� �=�
O��Q��[�D�nq
ƉC�Pޟ��e'�
+�h���P���m��NG�{e�
�x�gP-���Қ����danr�ҧ�:�4e_��u��{U���0�@c!����X.b���y�m��xN�
+��4���Z�?��ҿH\�����Ϲ�����
���0��


ؚ��#04��A����_�l�N�<��prpq��f

6�	��D+�(>�+O�h�؏
(�IE�B�$�c�|.)�����8Rr��x� z��rc!t��c0�	h�#n߮Z�C
�N����twh|2�J|��v_
r�����@�e�M�
#tv�iׇ����ܺ��%4����KB"E^�/]
+c�1_�S`��/��
+GG�U���(�֌,��,�yU��.U�J
+`�@ϵ��Z���.Dd���
ru��T����F��"�E�i���O(�C���Nh�
�b������D<�$
_
M����r]�t�����Yn�yso7@�����E���V,��A�Z?`�|f:K�2}�xe�6
��
C���~S.��
k�2E9]�XX�V�
��p��jmʝ������.`��/U��	��P�u	Nh��Kz�h	 մ��? �}�{���� \��G御��>��/!��x����&���:
<���Ml=��q�Ŝ��o�(73,�mf���2;�S0O��
�ւ"�R�l���r� �L�/b
+�f��P���A$pn"�2�xt'd@`5�� }�y�S� ��l�.a�v��23��r��d��y�*����E�w6ĥ�jo��M?NW��O)l ��b�
�Co�V9d�	g ���	E<�$;r		8�z�Dںz
Z�j4�h
+��^��25Tn(�3��r� �v�|�\��]{�TDdws�S���e���_ �(0M8/���Z�{���uYl"�AĤ�=�uS�7�4Ha\�焃�+$]�L�ItDb�L\ �6ҁ$
lڛ�bj/p#���Η�z��@�����1�
�j���G$�}|�<�c��E"��n��V�ج z�|��T!�*������Y����������.��᦯1��鯋�@.>��E
4�T
+������q.�����on~5�����L��^�����z��3ܬ�h0&��7��7���\��y�(L�H�'�m����Z
��k�j�+==2}ٱ߮�OD۪��j�$��
%e$����=�(�]��^_�tځ�W[�������4��f
+endstream
+endobj
+6615 0 obj <<
+/Type /Page
+/Contents 6616 0 R
+/Resources 6614 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6586 0 R 6587 0 R 6611 0 R 6612 0 R 6613 0 R ]
+>> endobj
+6586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.91 665.984 266.363 676.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [111.184 654.028 161.316 664.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 520.539 188.212 527.758]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa8e40c27df6ef5afcad226530be53c54) >>
+>> endobj
+6612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 313.292 188.212 320.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_aa8e40c27df6ef5afcad226530be53c54) >>
+>> endobj
+6613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6617 0 obj <<
+/D [6615 0 R /XYZ 89 770.89 null]
+>> endobj
+6618 0 obj <<
+/D [6615 0 R /XYZ 90 721.073 null]
+>> endobj
+6619 0 obj <<
+/D [6615 0 R /XYZ 90 195.525 null]
+>> endobj
+6483 0 obj <<
+/D [6615 0 R /XYZ 90 173.149 null]
+>> endobj
+6620 0 obj <<
+/D [6615 0 R /XYZ 90 173.149 null]
+>> endobj
+6621 0 obj <<
+/D [6615 0 R /XYZ 90 88.881 null]
+>> endobj
+6614 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F11 613 0 R /F93 763 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6627 0 obj <<
+/Length 2272      
+/Filter /FlateDecode
+>>
+stream
+x�՚Ys�6���+��J3���[�4�
i��Oi&�EZ�T"
�j���.@�&(J�,f:��#�� ��. �h
�����ٳ��
2����:28R� !�S��S"�/��Ԉ	���oyu����[��������W8"� ���V�ٻ�8J��F���k��8e���~�ao
F¾��_
��6G�9��*��D�D�8&Zd�M(��+���z"�s�ŢR��uO��PӟPB(�LG
+S�8m������,_p<�+�dɇ�\05_�i^�9�{�/�
i�&��Aӡ��qD�:��=W)6V���MY,���K*�<��������"&I��WM�@�F�-� �YyQ7ob/<���Ѭ�O�"��2��
R�
�?g�
\��hh.'���d�F(�b�!}��HjO-)��%��_/(���6��~���G���h�ٶo��
�My�`t^l���nҤ
1����TOa���B~ʮJԥ��]\|[��r��t�-�d(�6�+�������q��Ycj
+��
+�
�%�U�;x���@蒹�:�}.)'�h-}5y�sთ�z�u�>��hZ��>
�4
?�Ո���m���p,�����e�&���
<|
��$
+� :�'���/e��q�q�vA�<��nU�B�9
+���9�`���
+ � CL��UQ���q;�{�v	��uhN=GSGh/Ǯ�r�ћ��
L���N�m�>e���5���ۂ���R��x�6�ޤ�eZAʋ��
�=����3���S�B���_���<ɪ:�׻����6nP��`�]���
��۬plȉB��h�`v��C�y$��n�R��z��._yO��w����ƹ��lͤ
1n��x
Y�YbM7G�4��(�7��9� f�(���	L���	L�@��ס	�&0~K6�X0����8�+;�D��fv
+b�8�!P
u�L��@��8� ���/��c����o�8sC/� #���MǗvX�.4� �ޠB�hzVa6V��t��7Y5RRȴ�k���
 h5�0@!��iH�f�|��Z?WeW����|�	ѳ���W��$HT�����=��$M
�,�w@�� ���[
+Iv�)�8�6��� ��v]¸m������I�����*����G�x ��[�0��(��(��C���P�<ڼ��(�O@!FRNb�
IZp	!�M`�!!&0c
�؃p�~R ����D��(�T��W#
+�D���͛tu�ڤ^添zD�A|	(�ʩ�E�4Ld���a)�AX�{E��RHu�(m�
�d �Sq��">8H	�Z�骡&��<����	_t�u�F��'�����]�l��!��I��*>Uf6�G�������#�Lb��9�$Z9Q���>-�X�i��'���&����;����T�\��U ���_���&q
Ls��wD�AX�a
x�RLqDա��}�Rv�A��&AI*{%|r$ m�z'�q8�!���'��6�[�>Ϡ���4o��~�e�"�m��=���5�:�oР���ͱ�bH�L��zb��T����
�U��=����I�0�‡��W�m��}�c���/(�
+���Nz�d�k
j���S^c�D�s�I
+*1�5Ɣ���W�x�x�9�1���L7�(�<����Cyx}�H*���;K���A��Om	şZBYi��)J���j�	Lhk������	
i����)������.�8�=���������DR��P
/�>�9��
>tN�%� d���n�p8�-��>�8{�B�C�PZcz.�ԖV��}�'1�R��p�l��K!.ThHK�8Y�y2�_h�+�B����	���
�ŵ�v�hU�S�@ki��
+� >U#��
��B; ��
�v{����C�b5�DsH�X&�!ʾZ9�N��K�� �zA�8]2���

`u�?�w��XҒƒw��n��)2yt�"
�0<<��:I��L@�
�W&"��/�a4�tmW�0�Atv{Ll���
&u0�VG]���`�e�7d%�\H
Y�Y»����Ħ
��o�v�)dG���0]0�(�TD����
w��󴝲�����#�6��q���;���X²�챿�u�0��m:>�ј(Eݗ���˶����E� �^��-��[3G!��K��6av�����o���?�9�w���]󫄲�~s 9���ك��m���������gn���
��-꛺��x��j���|�V�v?��;�@��^e{DSv�ʵ-;�0\
0y�t��

+endstream
+endobj
+6626 0 obj <<
+/Type /Page
+/Contents 6627 0 R
+/Resources 6625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6623 0 R 6624 0 R ]
+>> endobj
+6623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.531 585.52 227.984 614.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6628 0 obj <<
+/D [6626 0 R /XYZ 89 770.89 null]
+>> endobj
+6484 0 obj <<
+/D [6626 0 R /XYZ 90 688.794 null]
+>> endobj
+6629 0 obj <<
+/D [6626 0 R /XYZ 90 684.311 null]
+>> endobj
+6630 0 obj <<
+/D [6626 0 R /XYZ 90 559.991 null]
+>> endobj
+6550 0 obj <<
+/D [6626 0 R /XYZ 90 537.614 null]
+>> endobj
+6631 0 obj <<
+/D [6626 0 R /XYZ 90 537.614 null]
+>> endobj
+6551 0 obj <<
+/D [6626 0 R /XYZ 349.813 468.487 null]
+>> endobj
+6632 0 obj <<
+/D [6626 0 R /XYZ 90 461.847 null]
+>> endobj
+6552 0 obj <<
+/D [6626 0 R /XYZ 219.882 382.737 null]
+>> endobj
+6633 0 obj <<
+/D [6626 0 R /XYZ 90 376.097 null]
+>> endobj
+6634 0 obj <<
+/D [6626 0 R /XYZ 90 287.767 null]
+>> endobj
+6553 0 obj <<
+/D [6626 0 R /XYZ 90 252.249 null]
+>> endobj
+6635 0 obj <<
+/D [6626 0 R /XYZ 90 247.766 null]
+>> endobj
+6605 0 obj <<
+/D [6626 0 R /XYZ 285.395 190.41 null]
+>> endobj
+6636 0 obj <<
+/D [6626 0 R /XYZ 90 183.77 null]
+>> endobj
+6625 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6641 0 obj <<
+/Length 2905      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s��~ׯ`ә�����BM2c�u&i:qm�}p<�$NI�@���={�e�%Eɴ�:| .�sΞ���xr3���^^�=��$A��rrq=I�D�		w���)���ٜ`��ofO�r�^��Q<-V����L/Y^�iy~�C��)w�&˫˷�b���b3�p���ׄ�P�Q��`y|�rX�I3�y6�S���h�
#HSҌ��Aj?�Ҫr�.f	����*�s��m~��3��f3B��R�
ͳ�]��~f��	q�H�I�>{�O���	F,ѓ;;h=���j���g���GT�K��c�{iޅL)CR��\%���jI��"	�
�
+�	J���N��c	h�M�p"��ue��#0�
~� ��%T��\�z����W�;���v�e1�bz��-�,�E�M3��#�T(~L]��+�>],���l� �ֻ��Vu���ս��ղ^�gDLstXA�HD>CA�]
+���$�O�86"P��!���7�b�+�����`�q���7�t#(�P�t)�7�c�
+��-�̍�S�v�:�~�%P��Ͱ:6�#��U���~e�b��.p,�"ݱ,�D������7���Nl��D4-MƊ�{Y
���:`���P`,�$SQ��m��Aک�i)��(��ԊN��y��5sǽQs���s���='�L�I��K�&��xx(�BL��M&���D}����L�n�2t|��˗q7y/?��#�#�
+\
qA
�
�@�9�n���4e�6K�����bQ7��(�c'ౠ��< �� ���k
_1��
<��(4����A[s�J�l�\%k�f_K_sS�>m�Z�^����h���b����5OW�"Km�i��'m���mY��W��
�/h5�(��;��%Xw]0E�Q�	�$�Hb�+������.�(�8���Ay�|Qh���|�&(puM��6�0��|3c�!S׌�E�� ��)D�
�
Dp��l��
�0hR�	aX#��P�w�U���Ϸ9XWDŽP
��N!�V�P�׍�r
�(=SJ4�Z�5l!�+xsA�4�g�
iȌ�L>r����^��̳�(cMq�0
����L��2�P��[&0-�����!�z#4䝤�ِH�3����r$�-���mg8L�D)$���88R5H���Q2��_����
�#��IJ�n��t����i�{2�
�Z�)RP�O׺���ŗBh(p�0jd��#�B\U(Ho����>sN���<A��2��"�
�
T�P��e^��WC��"3����sG޸��n�G�5�˲�l�����C)]f��o�b�[;G���n���	4��sY���|q
}�
�;
P�\�ҕ�J1�B�m�h�VH�=�P��u	���-�I��BO�������	�ħ��m�%�Ik��盺׆�e
�&.]oW��AF���s<t��Xy�Z�V�O�FX&��E�]w;���Wo��C��
�
ŋF%�P�z��
+
�T1�dP��U�g'���^~�cv�E�D��鰛hK7�Z[H
*��8�0��������ȴ�O���}��v
���c�� ��
���)�Į
+@?s���PX�
M�\� ��	��Q(L2y
+

+���@�G�0�0p;� 
'k
+Ҡ�*�#����Ix�-$�����/fP~��#
pmˠ��n�1 at JPԤ��E#��e}��cHg� 32IB���U�.��hC�I��I��AI�3��$uk@�� '�
��MŐ"x���C;�T�,���!����
ު��l[����]Z��L’���m��<VD��{�����~��pK@��X^�W���f�t嶨��ꩭ{~
�^d�����n}�e���i���ȯ
Q���-}�	�K��Z:�a#
�ׅqpWGN:AZ�-�%-��UQ�G�@/�I�/0ܗ��%H�0������wp�67�����n��6�^����=�ܰ|�9
�"�5ɦt�)t�}g�i��Ce��3\��	�z`W
.]r���Xt+�{�^ ���ʳXPR�C���G:�Ď��p�	R*o��4g�ܨ��ޗ��
���9�,�����Ko� ��Ʋ
+f�5x�eOժ[��6f�FF����`b�O�5)5R����cg��1v���c�̓��,[��M/
=��oj�c���N߸�-�uWow~g���>�c��=���K��8��j$u@5�+�ĩ��(.cE��2ӑ�B*�.E�R@�9	S�Ϥ�{N=�2sy��,��dz�$�c�
?PJW�c��;�5^���:usr�S��KI��=���,����;]�
�妑����3�
��3�i�o��fx[��n�4��}�7�9�Ԍ�
Gl����2p�.ݺ�=]%�
`=2ƈǯ�7�>,0�GחG���p��q
��J�SR73�%�W4w��[�kZj�yCۨ��E�z5��M���-g��;{����䛼Lۥ��X�6�W�Un7�M����  �4�nR�o��p��� G�nW��v_�p��:�B�"�
�ܿ�!$�ZC�����u���/
�oO
+�m�
��dZ��W? ��S@����@�=kUd%�pЄ8� 
�,�V28�
+���Wvo'�L
�b�g^���א
������^�o�;�J�4�s�<sb��S+	��//۵���	�4���H�mK��Ѧj٪ϝ
���b1
+d?���MY�/�4�N�I9�6��M��-b[Ղ!����wЊ յ�]��@�p˻��p�U���=M�l(i������hN�i�͛_�ſ����iJ����nv�Id�#3Uk ��I�~s�]�x�������gV9�(D�u ⶮ��ϟ_�n�|s��b=v��< ǫV����E��s<�fyԄx������^���!�b�l���wm_6��Z�ɫ�����"�
+endstream
+endobj
+6640 0 obj <<
+/Type /Page
+/Contents 6641 0 R
+/Resources 6639 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6638 0 R ]
+>> endobj
+6638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6642 0 obj <<
+/D [6640 0 R /XYZ 89 770.89 null]
+>> endobj
+6643 0 obj <<
+/D [6640 0 R /XYZ 90 735.818 null]
+>> endobj
+6606 0 obj <<
+/D [6640 0 R /XYZ 472.92 670.125 null]
+>> endobj
+6644 0 obj <<
+/D [6640 0 R /XYZ 90 662.155 null]
+>> endobj
+6645 0 obj <<
+/D [6640 0 R /XYZ 90 594.911 null]
+>> endobj
+6607 0 obj <<
+/D [6640 0 R /XYZ 439.235 515.061 null]
+>> endobj
+6646 0 obj <<
+/D [6640 0 R /XYZ 90 508.088 null]
+>> endobj
+6647 0 obj <<
+/D [6640 0 R /XYZ 90 407.117 null]
+>> endobj
+6608 0 obj <<
+/D [6640 0 R /XYZ 90 383.647 null]
+>> endobj
+6648 0 obj <<
+/D [6640 0 R /XYZ 90 383.647 null]
+>> endobj
+6609 0 obj <<
+/D [6640 0 R /XYZ 90 348.673 null]
+>> endobj
+6649 0 obj <<
+/D [6640 0 R /XYZ 90 348.673 null]
+>> endobj
+6610 0 obj <<
+/D [6640 0 R /XYZ 121.143 268.502 null]
+>> endobj
+6650 0 obj <<
+/D [6640 0 R /XYZ 90 261.862 null]
+>> endobj
+6651 0 obj <<
+/D [6640 0 R /XYZ 90 239.814 null]
+>> endobj
+1779 0 obj <<
+/D [6640 0 R /XYZ 90 161.598 null]
+>> endobj
+226 0 obj <<
+/D [6640 0 R /XYZ 90 151.961 null]
+>> endobj
+6639 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F1 833 0 R /F7 795 0 R /F10 765 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6658 0 obj <<
+/Length 2573      
+/Filter /FlateDecode
+>>
+stream
+xڵZYs�F~ׯ�S�2G�@�ڪ�(N9qm�<�)D�$TH�Ak��>�s�3 H�"��0GOO�_7�D�Q}������
+RH&����H�L$��UEcF���7?D\�v��o��滟o>���w7g_�(L%5R���bu���$�`��(!�ȣG�h	�Ṍ>���,��$������
+9��Pj8���βxY/fs���'��U�y�m}�6��@�>��J�,�D�<��D�����X:ڋW���
��,�8O�$��mjj��WUm���VX��$���	��GX*x�KR KȊ`ќ
+RaX�Rw�v��4�ܭ�శ�QJcP
]p>�c�H���|��$n���M��_w-^�s�7VǮ{E
��T�y�bn��D7j6�Y�rp�7݌g�=Ԯ�,h���� /=x�^*իEo��j�׍�XZnI�����m����
���j��Ue&oݢr��=Xw��{
ϵ?%p��Q�+y�����$���{��6ʾܙ��/�v��٦�;˦
+V����6����޺%2�����z3^;ʛ�v��e�'5q�/�xi4c?�櫬v�=k-�ÖA��z�>���Lxdr"d��ۧ�'�}tTF2�!��p}F�F�?��A�
E�9/H!�3�6��r'�47�R}Y/Q�/�EW��A3A��*��_�e��� ,���w���YQ�%9H�߭US��:���t����0�8�& �=u���e�.�4�g��V�ac'	�d)��df�C:;L\��$I�&Ŝ�g���T�
T�M��9�Q&^��s�Q
����/�y������z�X��
+���3�%x��)[��,s
뙴8\�,0��aE�
��F�P��fd�!��׺RvDX
���?W�h+�sP�؏(�&Ś��]A`$C��[��˅'i��}��F����<k��e����7'�����
lY.w&�j�w"�Mq/|q҂;q�B �vPK�VuS���#�z���q�O��
�����#��2$:V��-�u����P4�$��~���c5�xP�?P�|�;|2�b�	�F�ҦW����L70��piҿ�m���Ύ@"n�ذ�a��9;�f�9�h�#$؍��_m�BS`�(�J�"�B8�Z��A(\V��r
.����.�D]cV؛0�� %]�N����{�L�1l�� T�ĭ�J�q�ъ�q�Q͛�;
�gnA����w����N5
�AӋ�·"����F��$0���q�uZ�Cx��t������|p9{3�s�ضѠ�ܚqxh�˽�.C�Qx�3��У�W.����{�
+�](�Ǻ��Eہ�|�A�ֈ-�G�,O_Y��c�ѮZ���<���Ұ
+O�*�lToFt�'��n&S at v�s���fi
w?I����>)ˍ�=��[
Dk��V��ֳ�7�G���v�J{�|���G�
+T5��9�I�nD�����2mp��0�����ĨS�ϰ�����R}�d9
93����
E�
(���|&��9��	X�a�̟���������"G!r�22?��
+Yq
+\�P튯�m�`�V_J�P �H4��|��
K�?D�3�怛�<4� �~>
)0'sqJ\�����)?
�2��J��b�
�=*
+�=ˉق�T�/���H���乍W�3ʕ�����`�d���_�ё	$�A\س�p+5�v�1rP�3>ȶb���H����A�| �I��u?g�ZB��ZB0��b��vP��ގ��$پ�~w�%��A�;����7��f46� ��u�4��d�̳�8��D
��(
[A��<4RM�:z��� �l+h��kQv�ݵ�|J���̴�`�v��V�dIM��Vо
4n����sX6 	Q�u~N��f��pj�|A�w�h��ļ���nX�s
+��Wt�=��
��д5
��t�`� 2
��Av���uN
�c(�jj
D���[�P%ƈXflr��8b���3�lSOف �m̤O�Sۿ��8��%`|ټ�d��>�K�V[ q!m������
ۙ��D�š<Ӹ�۔�
fJ6�(8
��Y4wg%�K����ѻ+�@�zem� �>�NA�����[�m����I.�bB 3E�7�?���=�G������ZV,JK�UW0V��F`�p�Y��nz��ks���<B���סR�T��D�� +r/��FB
+�C(�H.�oA��p��f?�����8k&qn��)[=�Ӗ$S?n�����P `'��j�����t9� �(�$s��ʦ�c�����
��N'�
�B6�mq~�yC�2[��~y��
+x�n�k
+�"�i/�M��
KHN�׵(rD"�$������i{��x]{���
�.���5��/<�'����
+���\e︳=�-�ş��W
�q׸���ը��k����C���R�=�q�{���A�6�
� ��kB���I�]O�=v��݊GW-ۓ��������>�S
+p�����~o^~ۨ��4���~*��˞Xܹ�ʠ �|XE�>��:���?�<����'$M�Õ}��8?���oTsO �
f��E���d�a�7:�s�62Vޟ-�G
+endstream
+endobj
+6657 0 obj <<
+/Type /Page
+/Contents 6658 0 R
+/Resources 6656 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6637 0 R 6652 0 R 6653 0 R 6654 0 R 6655 0 R ]
+>> endobj
+6637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.292 213.855 696.196]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0) >>
+>> endobj
+6652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.397 197.875 668.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) >>
+>> endobj
+6653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 607.584 221.603 618.487]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194) >>
+>> endobj
+6654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.021 494.122 392.442 505.026]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+6655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6659 0 obj <<
+/D [6657 0 R /XYZ 89 770.89 null]
+>> endobj
+6660 0 obj <<
+/D [6657 0 R /XYZ 90 704.286 null]
+>> endobj
+6661 0 obj <<
+/D [6657 0 R /XYZ 90 704.286 null]
+>> endobj
+6662 0 obj <<
+/D [6657 0 R /XYZ 90 624.843 null]
+>> endobj
+6663 0 obj <<
+/D [6657 0 R /XYZ 90 581.115 null]
+>> endobj
+6664 0 obj <<
+/D [6657 0 R /XYZ 90 530.362 null]
+>> endobj
+6665 0 obj <<
+/D [6657 0 R /XYZ 90 349.658 null]
+>> endobj
+6666 0 obj <<
+/D [6657 0 R /XYZ 90 327.282 null]
+>> endobj
+6667 0 obj <<
+/D [6657 0 R /XYZ 90 327.282 null]
+>> endobj
+6668 0 obj <<
+/D [6657 0 R /XYZ 90 157.482 null]
+>> endobj
+6656 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6706 0 obj <<
+/Length 1583      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�a@'�����m@���]�f���-�bl���Jr���HI�
�q;ـ�HEKu�<�
�$�&�^��^Hf(TX�s+��������6��z�K0���C�
f���ԡ�Ng������M<��lu||��l�H��
��J
��$/��Bea�f�K9�Ofa���{u�L�d�
W��ؔ��������뀀��"�*��o�烏�����F,�K�iny��uf}�=������-G	�c�%	A�g?Q����׬�.���N�Dy�����1�2 �����
�2� �>��!��#���o	)�m�2�}ٸ�]�AF��z(&*�N
F�3���v��}��b�� 
u,0:q\��Z���(��^
�qF�

���Me��t0*�:�"��M$@"����t ���Z�23�K=�j�=5�d���nȥ��SU5 �R35WI�?�zf����~)�^9�۫@Ti���� }���A?��x����	�uݓCd ��t��g,�C��p
zk�0�|��n�o
+�t G(�&A��*(�#�}�

o�|�*v^,�q�
>6�R�=��@���&Fc٤��&���ɵ
TR�	s
d�-�|�ExZ�	�$
�j?O�/d�qQeްRD�8
�/�Y
UC���hK�X��L#�ͺ�����PK�z&b:�͍G���`}g��I'�*�ҵ���1�ʈ�m�B�
+����0�
:��b� ~�]FQ
��Ug�j���;�z>c���V�Fj�,
4Pv�f�@��"�
W��q�X�&��>�"�:���!1=�������4ݏ���g*�/�B��e~�_��b߿�~�
y�z�e\TE��[�CqáU%�������n
+�b����1�w8�?��M�0����N&O�<��R��q�{����z(!>b>i8I{�
%���6�F,��
n����ރ�� v/�>~|���_�E<	
�o(�U&��n������x�v��C`�05b9)_��2�^����;�
ꑻ��v�(m��"uϺ��K�(,B��;3He��nk?�6�t֥^{S�c0���7Y+�'�u�*X[;c;��Ƒ���{U,�$_�u��
����p��y��D����I��p��a?J��e�nXwv?�R��~��<Z���Dd6����n�p����)A�4���G8"��1J�َ�ׁ��=Q|���}�C
+�{��A6e�^li�v��$���3E?���;(ں!_
�Q�<�#�>pD�:/{��0��@}����xQ��oS ~�ӑ�<��߫�R�8��^��0���Hu����8���SH ��&���w�E��y)XRW�
	�
�0� ��<Yn���UCײ��7Uf1��rJ�ז7%@�I��TN�̬�ZXQFQ���2�.a����1�γt��d7Y�+
�$L#;
+��ȭ�#�<�x�mj���1�r���pnWV�
�e8s��a���9��$HO� =a}P�,o��bխ?�ܬ5%r���ӢX

���\%4pn�Lˏ a���y��<͚y
n�5��>8�qI!!h���B��1��j���Ս�Wsf=K���l��Q
+endstream
+endobj
+6705 0 obj <<
+/Type /Page
+/Contents 6706 0 R
+/Resources 6704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6669 0 R 6670 0 R 6671 0 R 6672 0 R 6673 0 R 6674 0 R 6675 0 R 6676 0 R 6677 0 R 6678 0 R 6679 0 R 6680 0 R 6681 0 R 6682 0 R 6683 0 R 6684 0 R 6685 0 R 6686 0 R 6687 0 R 6688 0 R 6689 0 R 6690 0 R 6691 0 R 6692 0 R 6693 0 R 6694 0 R 6695 0 R 6696 0 R 6697 0 R 6698 0 R 6699 0 R 6700 0 R 6701 0 R 6702 0 R 6703 0 R ]
+>> endobj
+6669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 578.674 170.687 589.204]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_abed774daa9ed3c470c7fd237bf40e28c) >>
+>> endobj
+6670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.184 564.834 259.854 574.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 551.752 170.687 562.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a2c9678fbda42018549d63c11e4c806a6) >>
+>> endobj
+6672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 524.457 170.687 535.361]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ae2203bd0c93393bccdc66bc07ca93d68) >>
+>> endobj
+6673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.902 524.457 330.546 535.361]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.91 510.323 228.579 520.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 497.909 170.687 508.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac8af5985d99461f4c7d765a67da5f02c) >>
+>> endobj
+6676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 497.909 254.8 508.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 470.987 170.687 481.517]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a9c5004d1d218c6bfb999ce09552ac2e7) >>
+>> endobj
+6678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 470.987 228.788 481.517]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+6679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.977 457.148 278.647 466.385]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 443.692 169.013 454.596]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_addfb9eaa7193de6902fad49459c57da4) >>
+>> endobj
+6681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 443.692 229.605 454.596]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 416.77 170.687 427.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 416.77 222.233 427.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_adf87eef74d0ff9ff35e15aeea0a361c7) >>
+>> endobj
+6684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 416.77 306.346 427.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 389.849 170.687 400.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 389.849 222.233 400.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a412d0108a72eca07f0075f7a60662e34) >>
+>> endobj
+6687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 389.849 280.334 400.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+6688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 362.927 170.687 373.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 362.927 227.852 373.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_aef8ddf62527c76662e377fdc9b46b928) >>
+>> endobj
+6690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 336.005 170.687 346.909]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 336.005 223.05 346.909]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a0ec1eb879aa24c8e3f8b9abc08a51f27) >>
+>> endobj
+6692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 309.084 170.687 319.988]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 309.084 217.61 319.988]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac1af3129a578ad1519defead5bf9dfa4) >>
+>> endobj
+6694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 282.162 170.687 293.066]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 282.162 212.808 293.066]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_acade7cd192977aa0b43a42bbaafe1c27) >>
+>> endobj
+6696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.179 255.24 263.349 266.144]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ad9a4e7c1648f42300ec153db346dffb2) >>
+>> endobj
+6697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 228.319 179.554 239.223]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+6698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 228.319 204.032 239.223]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a1e45c485643b62ed4d751fd0bfaa3677) >>
+>> endobj
+6699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 201.397 180.54 212.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a1ddeb95722df9e5f35009c6e017e2404) >>
+>> endobj
+6700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 201.397 264.653 212.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 174.475 178.239 185.379]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a4db44a79e5e6eea466723a565634b017) >>
+>> endobj
+6702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 174.475 262.352 185.379]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6707 0 obj <<
+/D [6705 0 R /XYZ 89 770.89 null]
+>> endobj
+1780 0 obj <<
+/D [6705 0 R /XYZ 90 702.931 null]
+>> endobj
+230 0 obj <<
+/D [6705 0 R /XYZ 90 694.821 null]
+>> endobj
+6708 0 obj <<
+/D [6705 0 R /XYZ 90 596.807 null]
+>> endobj
+6709 0 obj <<
+/D [6705 0 R /XYZ 90 272.013 null]
+>> endobj
+6710 0 obj <<
+/D [6705 0 R /XYZ 90 147.206 null]
+>> endobj
+6704 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6733 0 obj <<
+/Length 1857      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~�W�)3e����K�i��
}r<
��	�:��=+i��i'y��������ffl��'��~��^)�d$���Sbp��AB¯Ir�R��W��	�#�_�����_�
���z/��/=�pB*)��g��+�L���#ft�X�%�28N���?{�Ƃ��
jd`�GF"�B@` G�? �����_.
����?�T�ϪË̿�b>~�e�r���E	><=\�yƍ7"�|}���b6�t 1i�%`����6�6��H��Х%%���3�Χ}Bҧ�l� ��"Lu
����ɯ#�N��ϟ�
�/šŘ_p�����HYv~>�Q�o4XD��a������2[� ���τB\�x~&1₆燌V,���Ii�=%
��hI�
+�2/�y�]U�ɸB��q?

�D'�C#Dm1�z7����ʫ��W�m|�!��CUAa]����{x��QQ
��q�O��t4�'�]���M�㿠F/��e>6Nic�)P�^P�D!Iy�A�y=���
��
}��f���۴�Ƒ��u����q!��x� QJ��e>�P��㠵���J�.t�D &�Cd
f"0�-�0��jjC�NM 8nj��M�hȩ
�;9E ��)����I`ZUZUc��p&�Rh
X�id8	����U�jTAdxS�v�&I8լU�$H��B��
�%���#��i;R����*�P{(�6����b�75'���mV�|��.\4�ifU�c�im�u#�!��I#K&��\hj^))m4� �e�{���ѳ�y��i��VaPP�;�+�4 ]WF��E��&P+B�]Vat�y�٪X�z�p(�%�A�i��}��*��{�.�T0��(A0Q��S�e�h��gEf��c(��鴕�.���D"r��m�	0	�3ˎ��k
�U��*%�])q
�Y�Jɚ�B��"@pJɃ�Y)� P+%@g��SJ
��J)�Z)�r�N)AJ4JInQJ at L\ƀ�K���T�)%��$��F�0O1
+
 ��ʸ�������]�@[��
y at 0I�	ߣ�`JJY��ݪ�#����RO�G���|�����$�t�V���+^t����X#
*;���0^Rs��:LPWy`�W]u��m�	�-z��C�,��2˘��q&N�	P~г2��d�/��׉(���h�+/�ĈH�na2�̋ ��
�ZgHp���5�>����u�����{qk�Y��D��c
�&mC��C
X�fn��:s��ڐ�����U��>�E��PVL�:�������&�woRՈ(�Ia �
�C��\��A�ܤ� P7)
��MJ �I� tnRb ���  ('�^6qpJgM�K �U-lj�u
	��
l64�d�
,CV`}И�ݔU�`�zy@[ཻRk�7��Y�y�d !��E�S�"$��b)���HI�kh�MY��3/��ɧq哇c++���-׫D̳I'�r<����L�l�T.�W(��nk�b���1�5e��CCN1x:+� j���" p���Y1� P+�  [N���d�,ޚ���Z���h[�r�V`�j�W+p�(3�_�
��K�A
���b��WhA��3
%<82���ƒ���}

�lD�X
+���p�
��r��8GPxx8�
^zg�o�ɻ��nٞG�!Mc~
p�Š���:�\�=�
g�l�@Y����
+	SV��
+Ā����yy����p�ی%/�`len �+����~B��g԰����c�b��xS��}�-~��_
�?F��h�>��.����r���0�{�r�����{�\�Zx@~�|�y�\ޝ��]?��g�
�g�����ƀtiB��%�l�hvm���L:J�Y$]�
+endstream
+endobj
+6732 0 obj <<
+/Type /Page
+/Contents 6733 0 R
+/Resources 6731 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6622 0 R
+/Annots [ 6726 0 R 6727 0 R 6728 0 R 6729 0 R 6730 0 R ]
+>> endobj
+6726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.528 650.522 232.305 660.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.028 448.242 197.804 459.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.985 164.224 251.761 174.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.629 123.028 385.406 136.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) >>
+>> endobj
+6730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6734 0 obj <<
+/D [6732 0 R /XYZ 89 770.89 null]
+>> endobj
+6735 0 obj <<
+/D [6732 0 R /XYZ 90 721.073 null]
+>> endobj
+6711 0 obj <<
+/D [6732 0 R /XYZ 90 704.201 null]
+>> endobj
+6736 0 obj <<
+/D [6732 0 R /XYZ 90 704.201 null]
+>> endobj
+6712 0 obj <<
+/D [6732 0 R /XYZ 226.769 635.074 null]
+>> endobj
+6737 0 obj <<
+/D [6732 0 R /XYZ 90 628.1 null]
+>> endobj
+6738 0 obj <<
+/D [6732 0 R /XYZ 90 559.86 null]
+>> endobj
+6713 0 obj <<
+/D [6732 0 R /XYZ 226.769 507.566 null]
+>> endobj
+6739 0 obj <<
+/D [6732 0 R /XYZ 90 500.592 null]
+>> endobj
+6740 0 obj <<
+/D [6732 0 R /XYZ 90 432.351 null]
+>> endobj
+6714 0 obj <<
+/D [6732 0 R /XYZ 226.769 350.079 null]
+>> endobj
+6741 0 obj <<
+/D [6732 0 R /XYZ 90 343.105 null]
+>> endobj
+6742 0 obj <<
+/D [6732 0 R /XYZ 90 274.865 null]
+>> endobj
+6715 0 obj <<
+/D [6732 0 R /XYZ 226.769 222.571 null]
+>> endobj
+6743 0 obj <<
+/D [6732 0 R /XYZ 90 215.597 null]
+>> endobj
+6744 0 obj <<
+/D [6732 0 R /XYZ 90 148.333 null]
+>> endobj
+6745 0 obj <<
+/D [6732 0 R /XYZ 90 77.486 null]
+>> endobj
+6731 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6749 0 obj <<
+/Length 1746      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�%'#�;4Ӈ6i:M��mԧ4�m��Ē
��������;<M<}"D-�݃��0]E�]~�Q���O���K�#K�b*~�,���D*�u���I(��i4N���4a4�]e������|�ο
�ߞ
-�y&β��b6͋�q���b6O�L���u��U���cV�N/���
��1H>
_�~
�>� Q�*T�h]Lz�?��o���pk���h	��z
���ѣ�p�a�� �5J��q��&�C�L��vzQ�g��׋���$�iy��l"�w���Ρ��uw	�l|� 1����uu�
�F�(ľi�X�kƿ:b0@�֥'��q�&��<& q5��p> � _BP�N�7q�?
�k�
�!��8���%��C����A��z|��Q����7�1L:�V�P�C�$�B�}�n��ӛ*
���:K��)Ѯ��'�깴��A�
Lc�]e�[&�Ъ1]N�fEc����%[F}��`@D}�c+ee�~<�
O�^m��Tm�}!�� c��
|w_��M�LXٸ��w&Z>$6e
"啑ב�Ia�M1�de,Š�f9C�xӔkI�$+
oΠ�p������?��d����f�U�Ŷ
.��1R"�H�������V��Nr$8�$�VF�������X
^ƀ�Bg��1
eMR���b�M�^_W���2���&�ܘ� ���Б���"A8".��]�f��&�
W��I\c�jfm\s	V�hV�C�~r3��
3�
hIĂ�V�m@�V-Z���F?�$a�Y-Ɠ���M�c
��״�}��:V��F�^�i����"�X,P2�Mb��!�Jd_!�qZ �!]zb��,�pm�t���U�G�U
q���T��QW��>��jH�@
cB NXQ�Xȡ�M���J�F�`zN�f���Z¤#G1y������Y���[�
#����Q7F;���0,]�B����4����[���DIZm�*��u��ؾKDEw�
�Ge�$x���Zpe	�=W�{���G�U��}Dϑ8:E��� ѓ���(��;��[�G�

��Y�.7!��P���GHN�dOB�_��I��i�H��<Γbo� A-y<;K��ג����	 ��<
��%��G�lHF��گV�pY�
�6�;!��W
pQ	�;\"3T�p�1�r/�s$�N�������AY�E�
�L�
vJ
N%1�Ɠ�:⑤�"����t��\��Zg�:V�*=��u�NJ��C��0�JGcT����l�>����� �)
f��`U�<{V�E)u�����=�S��Ӟ����;��_%2N��.e�Кwk��f	�������̝����x��'��W>���F
`��m@�$�sF�`{1����P2�+�6��( [...]
+걨�a<�(AiBQsWێ�S%w^��;%`�*ǭ��ڇ���)�
� � g��N	��
@��W)| �T���@hp���͈S�K� �;��#�A
��t�f��	��W"D3��'yͦ�`�J4�5��,�OO_W���l�}"e\�M:�M데֝�q6ϫ���&�FJ�>��˲zz+П���[�L��!��/~FEq3899��ʳ���MV�5K�~P6���d6o��S�9)?$MA=�) ��&��=GMZ�Ң�.�l
�o��:�ыx���B��
+endstream
+endobj
+6748 0 obj <<
+/Type /Page
+/Contents 6749 0 R
+/Resources 6747 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6746 0 R ]
+>> endobj
+6746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6750 0 obj <<
+/D [6748 0 R /XYZ 89 770.89 null]
+>> endobj
+6716 0 obj <<
+/D [6748 0 R /XYZ 90 704.201 null]
+>> endobj
+6751 0 obj <<
+/D [6748 0 R /XYZ 90 704.201 null]
+>> endobj
+6752 0 obj <<
+/D [6748 0 R /XYZ 90 633.655 null]
+>> endobj
+6717 0 obj <<
+/D [6748 0 R /XYZ 211.835 581.36 null]
+>> endobj
+6753 0 obj <<
+/D [6748 0 R /XYZ 90 574.386 null]
+>> endobj
+6754 0 obj <<
+/D [6748 0 R /XYZ 90 506.146 null]
+>> endobj
+6718 0 obj <<
+/D [6748 0 R /XYZ 211.835 453.852 null]
+>> endobj
+6755 0 obj <<
+/D [6748 0 R /XYZ 90 446.878 null]
+>> endobj
+6756 0 obj <<
+/D [6748 0 R /XYZ 90 378.638 null]
+>> endobj
+6719 0 obj <<
+/D [6748 0 R /XYZ 211.835 305.844 null]
+>> endobj
+6757 0 obj <<
+/D [6748 0 R /XYZ 90 298.87 null]
+>> endobj
+6720 0 obj <<
+/D [6748 0 R /XYZ 211.835 232.049 null]
+>> endobj
+6758 0 obj <<
+/D [6748 0 R /XYZ 90 225.076 null]
+>> endobj
+6721 0 obj <<
+/D [6748 0 R /XYZ 211.835 158.255 null]
+>> endobj
+6759 0 obj <<
+/D [6748 0 R /XYZ 90 151.281 null]
+>> endobj
+6722 0 obj <<
+/D [6748 0 R /XYZ 211.835 84.46 null]
+>> endobj
+6760 0 obj <<
+/D [6748 0 R /XYZ 90 77.486 null]
+>> endobj
+6747 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6772 0 obj <<
+/Length 2126      
+/Filter /FlateDecode
+>>
+stream
+x��Zko����_��@Kb�ɼF�M��n������
Y�mb%�K�v��{�/q$�a�)��R��Ι;��{fƔp]E�_~<������xcD��\G痑����(�_��S�9O>��
	m	s_U�_�w����G�������'
�h�j�M'�>�h��?�c�l�P5ZD�
\��Ǔ�� Y�6BD���J"��]o���P!���'F�e�l�e���by�����r�*����+F
ь��.�I��l��kM0
LP�o�
�\7���q��]0ƳD�'��߮�Y9  �-��Ds x�_��2Im���������%��Q�׌h+����ⲛ���%�h���_•����6HNO��&\���4I���T�$����r���1��5�z�Sn��E)�;�j���<_f��a�����J�`N9:[�n�p��W��'��p�WEs��ꛛ2K�B��i�ͳE�\�*�)� йl|}�7��꺘5�&�%
�֣�c��0&);.x_���Ě��[�'%S��.�V�"#�SRؘ��Y��h\cB^�ya�^��y����v�
� 2Rks

p�:���Գh at pB1#ޔ`�h
����(�D
n at 8L�3J����AiA���*L�� �d�� �L�/g����HӒ ����_=�@n� l2n
�O�&�?d��ry���5 at U���r�}C
G�l2�ŷ;����m/����sy�ȞR��
�d'���'<_Q㝠`��N�
;�YbP$R\�-���6�p����'�m��(��zR��G�c�sbAP�}nj%S��!R��$�
EAU�@v�
g �Q p8@!�	iM4e� 0�(���|�r>F����� ���˗u`42G��D �
���̓[�"�Uֿ����x6�
~
���kmO[T��n �����E���:�:��Q
n~U,n&e+���
���H~M$�=��s�z
�B�q蚚D]�n&�~Y��p�O�;�~[���6�*��U�Io]8`��Z��A+"��{��u
c��:��F	�*��H*z!��S
)��
"�}~���
P�wůM֦�M�:����MqkZN�`����CE�Ks�
����'���r�N�
B0��
3(�n��6��
+҆��Ѱ����+�A ��M)i�W��L�� �Q
�)�������\Urv����V*p����h��G  @�ʙ�vA���:0�}
���p�{TA_��
�3����B�0Y��fM����_=��#���T��5���k�P�nkF���-V5\x
�k����h:��?�`
P�k�ӝ�;�`�`U7bP>����yk
��6�lVL����d�����z����|r��>���I��*[�o��,{��|^�=�|yU?�<�yvP
kJ[�	��~𯜫�էTA`��������z�xER�U!��z�WT#U�	�A�6�^��Q�k�jc�ZGU��#�	�z{ 
�Z� @ Oޢ`M���G�`Q0�
0��z���w�ĉ��n��ꧤ��Z����L���֩��t2�6�6�P�9|�y%;]��![���#��gL�V��
�}aW�Y���S��~�.�fO���W�H'�M��̖�lC愛��g�H�A6����r:��e�9~���
�
1�Bk
ذAf�
+
� �	_�S��~��.��i��~�YY߿�[N=a
���R�W���v����ɼ-�}��������N��r)09fk{�����	�[ M�k���Xf��j�V��ªw��n�2ɈD|�(4V�G��ޟ&�l�A���ᇽ��w�����"*�� �A
+)A�@p
�l�f~m��†�uR�]n�e���we�w��c❋��_��ܹ���3�|r1�6���{�m��82kv���A�ݷ��M����ۉ]����#m{HP�]���"�1�k&��f{��ŇO�6xX�.��ϝ���!�U%�wP>e�
+c���7̓?-D�����R�K�[Q��
�ش	�������?�Y��D����_&�.�}x��3����8#UȐu���6�j\�u��U��

%�Ӹ�z��9}�����6[^����i��s��� �E��(��I<\T
�����z��
+endstream
+endobj
+6771 0 obj <<
+/Type /Page
+/Contents 6772 0 R
+/Resources 6770 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6762 0 R 6763 0 R 6764 0 R 6765 0 R 6766 0 R 6767 0 R 6769 0 R ]
+>> endobj
+6762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.89 157.558 270.461 168.089]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a21c60e2a5b7d04de458f4d6ff0c3bd9b) >>
+>> endobj
+6763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 144.346 208.843 155.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a5bfc7fe8384a4382f89fdb9dc06d7f77) >>
+>> endobj
+6764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 131.507 204.042 142.411]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a6fa16eb9302f619ceb4bafaa952394ac) >>
+>> endobj
+6765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.954 118.668 222.123 129.572]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_af71ceaa08677639eff48aa5929df1c58) >>
+>> endobj
+6766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 91.372 177.601 101.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.099 91.372 211.931 101.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_ad7326cf3c2ddd70745aa4a527ece65be) >>
+>> endobj
+6769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6773 0 obj <<
+/D [6771 0 R /XYZ 89 770.89 null]
+>> endobj
+6723 0 obj <<
+/D [6771 0 R /XYZ 211.835 659.423 null]
+>> endobj
+6774 0 obj <<
+/D [6771 0 R /XYZ 90 652.449 null]
+>> endobj
+6724 0 obj <<
+/D [6771 0 R /XYZ 90 547.183 null]
+>> endobj
+6775 0 obj <<
+/D [6771 0 R /XYZ 90 542.7 null]
+>> endobj
+6776 0 obj <<
+/D [6771 0 R /XYZ 90 474.126 null]
+>> endobj
+6725 0 obj <<
+/D [6771 0 R /XYZ 90 439.456 null]
+>> endobj
+6777 0 obj <<
+/D [6771 0 R /XYZ 90 434.973 null]
+>> endobj
+6778 0 obj <<
+/D [6771 0 R /XYZ 90 364.242 null]
+>> endobj
+1781 0 obj <<
+/D [6771 0 R /XYZ 90 277.69 null]
+>> endobj
+234 0 obj <<
+/D [6771 0 R /XYZ 90 270.74 null]
+>> endobj
+6779 0 obj <<
+/D [6771 0 R /XYZ 90 176.066 null]
+>> endobj
+6780 0 obj <<
+/D [6771 0 R /XYZ 90 135.492 null]
+>> endobj
+6770 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F24 529 0 R /F117 2446 0 R /F93 763 0 R /F22 2996 0 R /F68 3032 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6788 0 obj <<
+/Length 2637      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs����W�!k�Ѽ�8U��:���b�T0	�����,+�>=����!�!`���������]���]�����b�AFR�\�&'J$(I�Wɻ�����`�go���r�޼�S<+6O�lU�7o�eZ>]]��wYZ������=�����������?\�t����&
+j03`�S�'?$2�*?������D�D3��=�R\�����n_��UV�UQ�T��w�t���&
�1RZ$
B�"��n3�Y�e��q��K)��/~������]��O. at Z��^������)���<�AۄS��䷋\�05�=EG^��3�(���izOa�������B��}���!��/�X�0ȚV�u����{�ի�0��=�y΋��x����օ�Ǎ��3�BZ�#����k�
�'��L�$��{�
���+��i9g
+b�ϮԭW�FJ���
cV�n
�H�&�u
ź��=������ o?d�5��8�ۓ���C�� ����"DB
}�Ui��V �j�o�,��
+R%vO�n-(G,c�AR�U֓
�!aX'�"m24�R=�g�t�ycl���

+	�:9vZ�rN��e��
��
t
g�
	��
Ҕ�	EF�&S\fDPFB.YQD9K���������`��$&����	
 �
=k@���5�Na���FXT��ܣ�HD�$`� �:�OP �H5��8��	�?8�A
�����\cd���\3d����0N;�;�`ƿ��
�vo�e�!�eokkas�h��-���:����<D��b[�e��xط�;��Sa��.�lW�kiiP��A���'+
����� x���Y�y���n΁���t�� �V����-���L����i�3G�7�-ڸMn��m?f����e�]g1�X>l�1�H�g5�o�a ֕��~�u�
6�9��ȡ���ؤ։
+�%d��
+EA�
_�ЂJ&���ꈷcBe �J���"
b�$���3r�H
+���("��	��Zz
+
(Y0�M�d�[Mb���1�0H&1FM���0[�E�����(2��JG?K&�T1 �~ RŐm?�9�]�U�l�s�p|�����P}Cr�vvQ	�E��.�
y
+�6
u  "PY�&�z(-83,g������Փ�Y��@���X�c$�B?�i��G�W
+x%
+˃v���}�0��S�w�ؘ/�fS,=��W�ٶ(��R�љa	#k!�4h�ꧫ��Q�:H�#�H���2�:����uVs|����}M���vY���0��9���q��&IŬC�(�a֡�����P�}�p_�+/w�����7.	�ag�
l�0
�
��'1�Ah�#���#*�$FѢb#��s���D7�Ѻ��
�o����\0��
jL��6D�����I9� Q�{�Dai�DP/�|��/K���	�FQ6\7����1�����O��
���,tI��������U��7
���& �q:����ˡ�w��a�U�b�WE�8��
+8����,�X�=D(R�>#GA�Є��#o]�J�J2�J���G{�/h~�e��z
�#�:�
���~`�}�[f}���,�c�`��,aml�,�
u��R�����%"^�SX"2b
KL��f�H��f	1K0M�R�,��jV��~�=��L�˰y!Q �,cX9f
+&Ca.U(��"�Bݧ�xC�����B
+��K�l�d�� ��la�`
�H��}%��H2�e
ki�,�S�
+h'���q�Q�5�ᗾ�Ut
+�%��
-c	�$�e��
+��7���M�cӈV
+��F
�H`"B��:��P�YQJ��L" H�$�Qڱ`�p�f
+#8��s��$i�j��-���>k�B��!��[S��	&z
������d1�%�\�6Y/��{����ړ
I*���N���GY�n;C�x����Fa����~����@��(}���UP��S�A[��q
+e�v�H�]������i��L�f���+z�(ѥF����a׉�ΣqJݦV$f3�E�L�#��{��s�:��gz
#hB	��9��1�8I�%-s8w��������aS�b� 
�-�u ��_ι@@m�C�$�mtبFG�R15A�]2��eE)&N5:�^���
�씷ɩ[��\�I�d@����/O$D��D330s���ْu��M=�*�3�MCY�{���G�6l��z��_��h�ۓT�Vß�m� ˴6S�D
?{
+l;+�n�br 
<`�� ��y�_��S��>�
<$� ��ᓇ��=l	��1&!P�P���0ڃO,և|��	`�b�%m��iO�]~q�qM%%2�������	��|S�lj+��9bO�$ �9Ɋ��<
t��}�N9
B +9eP���'�J�i�;s����Ǯ�n���p��N�;���'���a�۲�v���b�)l������X�n��� .�G�>p�������ѓ.B@�+��
M��u8/
"�K�u�۷o��?�Y�^b�9�5Ǒ-
�
2+��–M��8�,
�{����W�p�~0�\�pֺ��./?>���
�L:��w ���Lof�n�������>�)�IL��,� g����r{�׺v�Í��,�� B�˪3�
+endstream
+endobj
+6787 0 obj <<
+/Type /Page
+/Contents 6788 0 R
+/Resources 6786 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6768 0 R 6785 0 R ]
+>> endobj
+6768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 707.957 209.043 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a2eb19a01c9b844f52f86464fc8f0ddd3) >>
+>> endobj
+6785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6789 0 obj <<
+/D [6787 0 R /XYZ 89 770.89 null]
+>> endobj
+6790 0 obj <<
+/D [6787 0 R /XYZ 90 679.762 null]
+>> endobj
+6791 0 obj <<
+/D [6787 0 R /XYZ 90 630.801 null]
+>> endobj
+6792 0 obj <<
+/D [6787 0 R /XYZ 90 580.922 null]
+>> endobj
+6781 0 obj <<
+/D [6787 0 R /XYZ 90 558.545 null]
+>> endobj
+6793 0 obj <<
+/D [6787 0 R /XYZ 90 558.545 null]
+>> endobj
+6782 0 obj <<
+/D [6787 0 R /XYZ 283.294 483.132 null]
+>> endobj
+6794 0 obj <<
+/D [6787 0 R /XYZ 90 476.492 null]
+>> endobj
+6783 0 obj <<
+/D [6787 0 R /XYZ 200.604 415.007 null]
+>> endobj
+6795 0 obj <<
+/D [6787 0 R /XYZ 90 408.367 null]
+>> endobj
+6784 0 obj <<
+/D [6787 0 R /XYZ 235.732 346.881 null]
+>> endobj
+6796 0 obj <<
+/D [6787 0 R /XYZ 90 340.241 null]
+>> endobj
+6797 0 obj <<
+/D [6787 0 R /XYZ 90 234.641 null]
+>> endobj
+6798 0 obj <<
+/D [6787 0 R /XYZ 90 230.158 null]
+>> endobj
+6799 0 obj <<
+/D [6787 0 R /XYZ 90 161.584 null]
+>> endobj
+1782 0 obj <<
+/D [6787 0 R /XYZ 90 67.895 null]
+>> endobj
+6786 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F90 758 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6830 0 obj <<
+/Length 1718      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���0��Њ�E��`�%m��M�$�K��$Buq%9���
I�ղ�4�Z
A`Y&?�s��
�v�a��䷳��k�i.rmjkg���5�r���\;�)������"�
�����^
���M^�M�L��5R
+���,��_`m��j1Wh�ŠP�(��@;��9�
+
F����B�A.紂_	)!i&����t/	�U<��HQLe�݄�!.�� bcd9���`T����ZΓ
�w��³
�i#x�O/1L�����#	_V1�|"�
����Ww�D��G���8J�U�!�rw�9
aGt ��L�,MP*��K���D^�.�d�r9�}��}3�X.դb��B�~4
��b��kX���r �:?�#:"
���X��z@�Hؼ�k��s
�������LF0U����6V���
�R)��2�e`����F
v[8���r%P�Y)�#��75�hr�L{�f���
Nba�O�)�s`�X��9����4Pl��4�l
�I,$��ԓ��,gYn]��E��o���+��
D�p} ��z^�Q�Y��H�4
+j�Јm���ϒ�h��Zj�Ž�,�+V$@yД�FSJ/7�z��v��� `��:ͭ��(���[(�I�í��#o��t�O��Ę��:kX��5�d�~�Y����-�~�c>�l�xQN��v���J"�Y����p\��d�$D &Hm�x��.�D���Ӷl�,[�kA����}��)X�Ȼ�L*E�b�ϊ�"���]����?@��㊗ �����|eߖ�G�2ߒi~
u.�AJ��?^�O��-|���NF�MU��Vk9�h)����
$Lm+�6�3FӦm#�xW�'2[&Q�S�l��*����@��Q�Z����^�{�@n������g���a�r�a=�T��־쫱��}c?������2&��
���q��W�x��)A���-vd �w�1T���Gֻ
Y� ^���I�@�3� b�A���k��V�nT0u��|sx��~��M�~�&�X�lCB�vk�x%��n{�ݪ>7�Q�Ɋo��f�T��*��ՏaUR��e�(Z��M������뫞�! [...]
��
^7Y���A6�
'
C`T-�~@
+��
�;u�˺�g��G^����/ڽ�����<?��P���_��q(�٦QU��
Ĝң^.Rd����Z��q_�HB�fgH\ ��%.
Ѵ�%O��£r��B�[u`*6������U�q�?��h�Z6eh*�!������]� h<d'��t���zV[���0�-���[�aw�
�b�[l�p�N��g��}���J��� ��@���
p z�b��A�8]�.lQ��	(��� �\@z�Wn;��,��ku!TGe= �A�f� `a
ч �fv�Ϧk9zE�KΐhBϹ`�
�:�9H�:�z1 �d�S�L��,Q"��"�g~v�1lYT�VQ����t�+�yDb�w��W�W��f

+ɩ���C�ܤ���?�D�
 
�� �M�� 
�Fՙ�n���y%8����lM�r��,�\g��R�_�����^��
2�0a�8䙍��[�N�#�`�jL��|��|�+��O纲�{/ZzA�n�!�&
+T4	�a20̩�Z	%��5�?��
n!���Y���ۛ.�R]�Y
��k����uj�e�
a܄Fx!e�x�uLe�
+endstream
+endobj
+6829 0 obj <<
+/Type /Page
+/Contents 6830 0 R
+/Resources 6828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6800 0 R 6801 0 R 6802 0 R 6803 0 R 6804 0 R 6805 0 R 6806 0 R 6807 0 R 6808 0 R 6809 0 R 6810 0 R 6811 0 R 6812 0 R 6813 0 R 6814 0 R 6815 0 R 6816 0 R 6817 0 R 6818 0 R 6819 0 R 6820 0 R 6821 0 R 6822 0 R 6823 0 R 6824 0 R 6825 0 R 6826 0 R 6827 0 R ]
+>> endobj
+6800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 629.38 170.687 639.91]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac54489beb3010518b290d6afa08902b5) >>
+>> endobj
+6801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.184 615.189 259.854 624.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.756 170.687 612.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac8179a7265eb8cfa0fbb55b7f46c18b0) >>
+>> endobj
+6803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 601.756 254.8 612.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 573.759 169.013 584.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a5d627d5308cf0cc64f5017c13d956532) >>
+>> endobj
+6805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 573.759 229.605 584.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 546.135 170.687 557.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 546.135 222.233 557.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ae4fc34e44b3473124567a5ee4b03fe57) >>
+>> endobj
+6808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 546.135 306.346 557.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 518.511 170.687 529.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 518.511 227.852 529.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a47dc6fa13c0ff235b9ad27ae26973bc7) >>
+>> endobj
+6811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 490.888 170.687 501.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 490.888 223.05 501.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a030483dd2c1346262825de9b2a7f985f) >>
+>> endobj
+6813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.452 463.264 193.621 474.168]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a81fad4c0c11e6214ddf1851573e56b5f) >>
+>> endobj
+6814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 436.014 149.098 446.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.596 436.014 183.429 446.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ab02f5557504544356029b3bad5f64942) >>
+>> endobj
+6816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 408.016 180.54 418.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac8d7d3ac7c1bf2bab50a5594a41a2f25) >>
+>> endobj
+6817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 408.016 264.653 418.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 380.392 178.239 391.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a50973a7d753dc94afb42a610aa71d68d) >>
+>> endobj
+6819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 380.392 262.352 391.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 284.112 156.281 295.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_aeafa7f136ae6eb82b0b996a2df4c6606) >>
+>> endobj
+6821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 284.112 297.669 295.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.881 284.112 453.453 295.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 256.488 156.281 267.392]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_aeafa7f136ae6eb82b0b996a2df4c6606) >>
+>> endobj
+6824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 256.488 297.669 267.392]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.881 256.488 453.453 267.392]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.528 92.934 232.305 102.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+6827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6831 0 obj <<
+/D [6829 0 R /XYZ 89 770.89 null]
+>> endobj
+238 0 obj <<
+/D [6829 0 R /XYZ 90 721.073 null]
+>> endobj
+6832 0 obj <<
+/D [6829 0 R /XYZ 90 647.864 null]
+>> endobj
+6833 0 obj <<
+/D [6829 0 R /XYZ 90 480.388 null]
+>> endobj
+6834 0 obj <<
+/D [6829 0 R /XYZ 90 329.841 null]
+>> endobj
+6835 0 obj <<
+/D [6829 0 R /XYZ 90 243.036 null]
+>> endobj
+6836 0 obj <<
+/D [6829 0 R /XYZ 90 168.99 null]
+>> endobj
+6837 0 obj <<
+/D [6829 0 R /XYZ 90 146.613 null]
+>> endobj
+6838 0 obj <<
+/D [6829 0 R /XYZ 90 146.613 null]
+>> endobj
+6839 0 obj <<
+/D [6829 0 R /XYZ 226.769 77.486 null]
+>> endobj
+6828 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6851 0 obj <<
+/Length 2027      
+/Filter /FlateDecode
+>>
+stream
+x��ZMs�6��W�*K@��U9$��V�I�d�{����%�f�"="���O�!R2eq2�T�S$�xh4^?4A�����}u9;{�!��*������@
K��_��u�(�j
1Jix1g4�׫��Ŝ�0��p�,��ۗ��:^8?�fI�~��o��93aRi���/�(ߦe���|=�����⢨/I���}�H�(&B�����w�o.g�f
�Ҁ��$�&X�f���`���
(k��U�U 8�������m��c����k���A3F댙p�7��w������@�!`�Xc7�� ����\́��猅���8�r3N%�L{깝G&��� ���R@y\<y��G `Ÿ��
+A�����0S�/(%L���q�h��J:������*��3A�F�����uX��u�\(i�V5��n�0"�M
Ӷ-�r�
+�D3޶A��A(���\��^��
�֛ʱ�={��f#�s���QS�yy��,���
=}h�P�
7N��
�t��>��Z׉$��vV���1

����~�i��=ۥ7��f�=�o�@nk��Zĵa@����Ҡ	=�l
��Xe�%�MM�a^d�w�cKy*��"��ñ	/?{��qY_�O��ꫫm �ɒ
�/����o4)0~'���Z��Y�
�� �E��
�u�9)Z��0-u�T70���:�Cٖ��)�HB�mY�����C�:D� ^%��f�F1����7n�٢��U��:_<�����[�Y	oE\� ���t��)O���CE�Ĉ'�P�'	�		[8SL��
+�Sb�8���<�����vFb��1F�HM(�) �����a�QV��e�S�-� B�
�p��>��ñ�'}Q�-��f]�#�����@Sd/�
��4�DAgԒD�/�z_��6s��TQ�ֽb'[���Rl�� S	���PK��c�B)�Ia�X*'LH�[�$�Ќ�i���2�(Es�AA��x��)�x�O��I���FD2���J��n�EhQJ6e\>��P�n�u+�p���˧5ι�Ӊ$k����Z����؁

�+$
l=%.f��08$��!N|WpF�T'%e4!��L)�G�#PNV�I (�)Q��Q4��� A�
e'�D�@Q�)M�h�ĩ!S�8r�1̇�H�}}��WM=EI�[Oah��#�
`�ÅTO�B� J����k�D�
�3J�4k�[�_�
�d�@G. at D_n)��H��k��P�@��$Q�1�u�2��
@�
+1er��b%z ��ܨIU���G��q
�
�3dO\��V��p4K����y���Q�&��S��s-�
�H���E|<у;q��6{X�`��-'w
��
�Y��{b���]�f�@@q9ރ0�(�d������1B��$e�$0���>�J���FH_#����w
+8�e|o����Up��!���_
?��K�cz3�a\&�zG�m���,�3��pu�g�O�y[9N��\:��4��j���)F����#�md�&��@mb����
+v
"��_�)l�dEs�vRs�?�<�-�1�ޙ��~ `q�� 
é�f�IU�	I���D��Ju���hR� BK�]Ǒ�� 6��q
�N �%�.��HՅ|�$V�����*JЍ��G�*��q�c�?�s���[�Jܪ}n�Or��#���]2@���A���C�(q�Q�ث�
aB���r�@�RP��i ��-݁0�:�
�5pG�p�=c>Rj��)&��-1|[z|t�Z�\�wU
CÏ�.E�d��ݢ�_�jζLS��%)�Y�Ð��������;Mz,�pk�fe[>h����@��S��7������ٳ����A#L�
ƞ�l���r;���F9�{
+���e}�"Y��
�j
�C�=�M���r5�ɺ�F�M\�nʉ+���U�4�kп�����3[(��ܖ�������M�d7d������%To�zë�|�֋2���Nk�v�l�4H6J����wH����4�u����͍�oW|����e��2�
+endstream
+endobj
+6850 0 obj <<
+/Type /Page
+/Contents 6851 0 R
+/Resources 6849 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6848 0 R ]
+>> endobj
+6848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6852 0 obj <<
+/D [6850 0 R /XYZ 89 770.89 null]
+>> endobj
+6853 0 obj <<
+/D [6850 0 R /XYZ 90 721.073 null]
+>> endobj
+6854 0 obj <<
+/D [6850 0 R /XYZ 90 658.004 null]
+>> endobj
+6855 0 obj <<
+/D [6850 0 R /XYZ 90 588.648 null]
+>> endobj
+6840 0 obj <<
+/D [6850 0 R /XYZ 90 566.606 null]
+>> endobj
+6856 0 obj <<
+/D [6850 0 R /XYZ 90 566.606 null]
+>> endobj
+6857 0 obj <<
+/D [6850 0 R /XYZ 90 496.059 null]
+>> endobj
+6841 0 obj <<
+/D [6850 0 R /XYZ 211.835 443.765 null]
+>> endobj
+6858 0 obj <<
+/D [6850 0 R /XYZ 90 436.791 null]
+>> endobj
+6859 0 obj <<
+/D [6850 0 R /XYZ 90 356.595 null]
+>> endobj
+6842 0 obj <<
+/D [6850 0 R /XYZ 211.835 303.072 null]
+>> endobj
+6860 0 obj <<
+/D [6850 0 R /XYZ 90 296.098 null]
+>> endobj
+6843 0 obj <<
+/D [6850 0 R /XYZ 453.931 229.277 null]
+>> endobj
+6861 0 obj <<
+/D [6850 0 R /XYZ 90 222.303 null]
+>> endobj
+6844 0 obj <<
+/D [6850 0 R /XYZ 453.931 155.482 null]
+>> endobj
+6862 0 obj <<
+/D [6850 0 R /XYZ 90 148.509 null]
+>> endobj
+6849 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6875 0 obj <<
+/Length 1785      
+/Filter /FlateDecode
+>>
+stream
+x��Ym��F��_AU)5R���/VS)MrUӼ\s�O���l|����8��,`�`�#Q*勁e
fg�gf��k{��~���*�d$����3�S� !�j�]�)��ۋg
�#�r��O_^��FO/F�Fna�X)�͖�˷؛��3#f�w[NZz�28������4GDEqZ
*�`s�P�1�a�p��u�o�d]��7wr*�O�6���1�x~�*���O�8Ȣ�*�F҅=6Sfi�(f���΢0���*��<�W�S{���NN)oP
i�jG�
fg)њőѤ���Dk;��
+ �$d��qޞ�&�b�)�&�"��s�JĐ�'c ��1��f|�S�X�E&� j�'%7�cKM�KL����$�"�%���
+ԙ��p2�ބ��!��@)��
���*
2�����y��p���J
BKX�x�a���u�&��,M�y���@`� ��@��0
�4�Nӕ={����,�?̌h{d��ҭX,a-�������

��6��� �3-@D�zƇ
@Z�L�L����oL@�z�e��o
B�˾	�
c��D���*�%�I|N��f�����f�m��X��`ȥ����೥�O@%�ν2�e+Td`?����{��,��˄0�@%��PSW)ZF��E�<�	�̂5�X��6�]�6��A0� �DL��������/W�D�AqQ+\�������Fq\�Z��e�����=zW�	�ݸw u�

w� �{8�p4
�ɀA���B�m'#����UrE>��H���JΠ2s@�UɁ�P*�܃pw%7|ł��8 ���� �JΉ
���?<��Q)9�Ǖ�@��]ɿ+yGɹ�H: in�Tr�$L��\�i�?A��	�W�
�G%�|�
 [...]
+�Ԓ�����N�"��ت���k;Tl�����
�8�%JU��J�;�r" �V���
�c�Ejk��*c�
6�\7g�Z2!���
T��6sLnZu��"1ⰎTa�
�ޒa
U� (�K)
NG�8M��M��ž�p##�-��q�]���pC�I�K
�v��h��U��h?�������a���P~A�ZuD�Q�W��>@��V#�=�K�v̚���
@�@����do�aMAm�gH���鱥��
/�k��tZ6=�w��'@l
V@����
+�G3����*����n!Մ���°�]W���.��IƲ��5	�`�.DАr�INaA8R�Z�'�"��y���<�̊w�
�������Q�(�2��K�^C
裆
l��W���x
%A��ݴ�~E��uVE���O`���*2�I�a���D�1�
E̓����/�
G�#(쮓e�q��`����,��,��?�Nˊ�);�w���(E˛���f�L5p�ǒyOR0�37{���z7b������n�wv�ܞ����|!�U%�"H6A�7�U�Ժ�
+	*#���x|
֚hq����sT�K
�ਐ�*in�|5=9��\���͠b�D��ac��.Me�L�zw%��eY�v�?̵`
+endstream
+endobj
+6874 0 obj <<
+/Type /Page
+/Contents 6875 0 R
+/Resources 6873 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6761 0 R
+/Annots [ 6863 0 R 6864 0 R 6865 0 R 6866 0 R 6867 0 R 6868 0 R 6869 0 R 6872 0 R ]
+>> endobj
+6863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 171.733 170.687 182.263]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) >>
+>> endobj
+6864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 143.922 170.687 154.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af) >>
+>> endobj
+6865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 143.922 254.8 154.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.859 178.435 127.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba) >>
+>> endobj
+6867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 89.048 170.687 99.952]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 89.048 222.233 99.952]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) >>
+>> endobj
+6869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 89.048 306.346 99.952]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6876 0 obj <<
+/D [6874 0 R /XYZ 89 770.89 null]
+>> endobj
+6845 0 obj <<
+/D [6874 0 R /XYZ 90 683.788 null]
+>> endobj
+6877 0 obj <<
+/D [6874 0 R /XYZ 90 679.305 null]
+>> endobj
+6878 0 obj <<
+/D [6874 0 R /XYZ 90 610.731 null]
+>> endobj
+6846 0 obj <<
+/D [6874 0 R /XYZ 90 576.061 null]
+>> endobj
+6879 0 obj <<
+/D [6874 0 R /XYZ 90 571.577 null]
+>> endobj
+6880 0 obj <<
+/D [6874 0 R /XYZ 90 500.846 null]
+>> endobj
+6881 0 obj <<
+/D [6874 0 R /XYZ 90 461.775 null]
+>> endobj
+6847 0 obj <<
+/D [6874 0 R /XYZ 90 437.242 null]
+>> endobj
+6882 0 obj <<
+/D [6874 0 R /XYZ 90 437.242 null]
+>> endobj
+6883 0 obj <<
+/D [6874 0 R /XYZ 90 379.099 null]
+>> endobj
+1783 0 obj <<
+/D [6874 0 R /XYZ 90 295.681 null]
+>> endobj
+242 0 obj <<
+/D [6874 0 R /XYZ 90 288.37 null]
+>> endobj
+6884 0 obj <<
+/D [6874 0 R /XYZ 90 190.124 null]
+>> endobj
+6885 0 obj <<
+/D [6874 0 R /XYZ 90 190.124 null]
+>> endobj
+6886 0 obj <<
+/D [6874 0 R /XYZ 90 160.953 null]
+>> endobj
+6887 0 obj <<
+/D [6874 0 R /XYZ 90 133.516 null]
+>> endobj
+6888 0 obj <<
+/D [6874 0 R /XYZ 90 107.805 null]
+>> endobj
+6873 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6918 0 obj <<
+/Length 1725      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�b at g-3CR/��v@�4C����SW�L;���J����
��f�u���~HDQ����[k
[�N~��
�1�
+Q�Sߺ\Y!��"χ���zJ0��=#���&x�Yt5�)���5_��ՋdQF�������ռ�I0-)�NN�"�ꫤ�eT�=�
���FU��|��p��ܞy>�2����ɳ���	-�E�V
b�g��o�����FNX���r���z5�}����k��;��#�	,F"D�'��\�L�^�<0\��?uʵ��B�V���J;�ׇ�'
�:>�nWM�#�1��4���-0��!��v���(��F��9>

+ �+d�8=4\Ā
R�)x�aS�1�
3��ěJ!S�O���w)Ȧ�N�_�>@1�E��C���l�ԟ)Oo����
��?�Al*'���\���t�/堸V3�-��{O����t��uK�v���8:��@v N�!%W2W�{�L�Ǫ/�y}wb�'`w�(��;�d�JU~�4*��H�ɓ'�ap@9��7��C� �����+?pg��q<j�jjT_���O̠d�T���E��hG��l?��v
+�
�@8T�E>=���z��G�a3�fD
���D�H1K��%q��gap>��}����N'��>�NK0 �&{�5����!�+��
\k�P m3b��ΉOy
%)x� ު�L6uR��X�!
+��qC%�i�1��Ʌ�������!~S�<ӃV
�tTI��D������K�1V� �����V]��T�†U
%��3�
�ŠT՟ã��6+��ͼ��Y$ɵ�,��F�W��jS�Y	A��)H�^)
������(
!�Pa�)���G�&���~ �C������Z�uU�iaSo�.����K�qS¹��P���V�] S�����^���r��H��dv�Z�P�fL� p2j9��P��$�2ۆ�|2���� ��
�`.6�|7<�{}�u���C[���J5��ǺD

L��Ho� �־	_(��X�n
!\��Qd��+�&=�@K���$7
+�(9JC@��.���"
�B_kJW��v���?

%&��
)�Rlk5��c9�q���� J�#~�\D  v��f�|’���ED��G��t_�V$����z����fo�V��R�~Y�\ ����*�l@��$6B��t���	��
g2�٤����SDE��-Ձ����U�+�*����@� s�0@���� /`MD<�z�S=�D�Ԥ��BVi�����@q ��^T���}���*ٳ`�JH#�!��&~/*0�
P��ba�i[����q!!��
���$:	 $�P�
��x9R�\�<%��_(�w��l#l	A�'ͭgNJGU�H�YE@��}�F�AZ�
\'�풏�S<��&m|<"�!�6E�v7�2

+|oP��{��
������Vr#��?^��
+�϶y,�VuЙo
$���?���B�J������ˈ�B��_���N�`4Q�!F�
"��6ۺ�d����t�[k�:�@Fru�y�Y�/��(�9��V@�3��+�{X2�M�0�s�oR�7�V#�2���~:<��P�?*^~o{�TG��Q��R��^��&k��D��T�|�͉����2����[[q�HM�9y]כ����v]�|
�l�

;B�YsV7�{V����Cg&�{d�*���ENH
 �[8�1a�q]l�򣙨;��3�:- ��g�} �

+endstream
+endobj
+6917 0 obj <<
+/Type /Page
+/Contents 6918 0 R
+/Resources 6916 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Annots [ 6870 0 R 6871 0 R 6889 0 R 6890 0 R 6891 0 R 6892 0 R 6893 0 R 6894 0 R 6895 0 R 6896 0 R 6897 0 R 6898 0 R 6899 0 R 6900 0 R 6927 0 R 6901 0 R 6902 0 R 6903 0 R 6904 0 R 6905 0 R 6906 0 R 6907 0 R 6908 0 R 6909 0 R 6910 0 R 6915 0 R ]
+>> endobj
+6870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 707.957 187.564 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.303 707.957 238.472 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b) >>
+>> endobj
+6889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 680.402 187.564 691.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+6890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.534 680.402 241.588 691.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb) >>
+>> endobj
+6891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 652.848 170.687 663.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 652.848 227.852 663.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) >>
+>> endobj
+6893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 625.293 170.687 636.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 625.293 217.61 636.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a70e56452f6edfc1943b555156e6bf828) >>
+>> endobj
+6895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 597.738 180.54 608.642]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e) >>
+>> endobj
+6896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 597.738 264.653 608.642]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 570.183 178.239 581.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) >>
+>> endobj
+6898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 570.183 262.352 581.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [98.089 481.395 154.865 492.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+>> endobj
+6900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.288 481.395 513.996 492.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 469.44 125.317 480.344]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+6901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.667 201.16 216.973 212.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_add6624f4b11313bba2819951fb70ea2f) >>
+>> endobj
+6902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.31 201.16 301.086 212.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 173.605 170.687 184.509]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 173.605 227.852 184.509]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a2d2a836128949f204da12c2fd3aa4f1c) >>
+>> endobj
+6905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 146.05 170.687 156.954]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 146.05 223.05 156.954]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_ad9dae1bccc03e59bf39357297de71360) >>
+>> endobj
+6907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 118.495 170.687 129.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 118.495 217.61 129.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a83032ffb501255f28077473407e1df81) >>
+>> endobj
+6909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 90.94 170.687 101.844]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 90.94 212.808 101.844]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_af6ff26a7d66d601d93e6548e8472c892) >>
+>> endobj
+6915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6919 0 obj <<
+/D [6917 0 R /XYZ 89 770.89 null]
+>> endobj
+6920 0 obj <<
+/D [6917 0 R /XYZ 90 721.073 null]
+>> endobj
+6921 0 obj <<
+/D [6917 0 R /XYZ 90 697.492 null]
+>> endobj
+6922 0 obj <<
+/D [6917 0 R /XYZ 90 671.663 null]
+>> endobj
+6923 0 obj <<
+/D [6917 0 R /XYZ 90 642.382 null]
+>> endobj
+6924 0 obj <<
+/D [6917 0 R /XYZ 90 614.827 null]
+>> endobj
+6925 0 obj <<
+/D [6917 0 R /XYZ 90 587.273 null]
+>> endobj
+6926 0 obj <<
+/D [6917 0 R /XYZ 90 542.312 null]
+>> endobj
+1784 0 obj <<
+/D [6917 0 R /XYZ 90 325.41 null]
+>> endobj
+246 0 obj <<
+/D [6917 0 R /XYZ 90 318.282 null]
+>> endobj
+6928 0 obj <<
+/D [6917 0 R /XYZ 90 219.983 null]
+>> endobj
+6929 0 obj <<
+/D [6917 0 R /XYZ 90 219.983 null]
+>> endobj
+6930 0 obj <<
+/D [6917 0 R /XYZ 90 190.694 null]
+>> endobj
+6931 0 obj <<
+/D [6917 0 R /XYZ 90 163.139 null]
+>> endobj
+6932 0 obj <<
+/D [6917 0 R /XYZ 90 135.585 null]
+>> endobj
+6933 0 obj <<
+/D [6917 0 R /XYZ 90 108.03 null]
+>> endobj
+6916 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R /F110 1507 0 R /F68 3032 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6950 0 obj <<
+/Length 1850      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ`R �Ph���mI�ԍݧ$(���H�B�1��;�<DR�,�
zL�K�~;�7;+��
��~�ꝜJ�h�����ؑ�F\����ΥT�?\�r�P�ho���~{s���ե뽸�}���p$�3^��}��n�r0bZ9�����Q׹s����s,��I�
+&��r$!��
�{J��|�=��0ޞ��w��;��U�1L��O��<A9v��7[��x����Ӷ��c�'�O�;
� ��2���FIfv=9��Q�D�%R��G����l��q�`�K��d��	w�*�i���I�Iw�݈�f��SBpE��+YX.�
��.���x`��4���M�rĸ�"��>��)v�4Ì������L��s�0��}h���;N����h'>�0o��&�r��Q�yZ
 1R�ܥ������ �$��0�����(�����I�\w�4�]�*HA�bM�1f�pK�I�y��#�5a��w,�X=��ګY������:��x�QL
�)o�g0N����U6߱aܮ�R�<]2�O�`�(�V?CX{{�_*֟L2ݯV%�t��]��+z���(��N:�*f��
+�uG��Y�X��R3g��
+SH�f06�V�C�u�j�T�!)�\v���u�sw����B���6Уo������X�
��
�MR��d�3�a��<H�p
�R�*��'��P�>�cQ1Og�sq�Oq4_o�tSz�Q#-X
$>��<qL���h�xr��p4�Y
?� ����yu�4_�y�I��ӛhlW��!
�,�(��Q����\~�\��ʨ{ѧ��'
{cJ$X
��)�0ٷ;�`S�ܟ��hm��Z�$Rņ��
B��u0IZPJW�����k^���e���px��������)��

؊.
��;��&�k �)��iDT
D
�a���k���x��$�F�2 *�v�k�=#
.!�C����iHVK;DDY-�[diأ�J9A��B�եs��r��.��a|��%ZX�1�O %V2l�]kŨG�Rz;��`@�Vd;��&�y�5��&��ϲ�sT��)'VE��x���Pw�J6�l�f�f���b�6��ޞ�@-]��̯*b
+�b�Tx:sֺ�,�j��
D202�x�n=kz(�z�
Me
�U�Xu�K��4�t���N�dA��b
�p��	W�C���5H[>��+��wP�n"ضd;���%V�j;S�*��d��i���;	�c 	�)fpF�dp�i,���)��NH�HeC	��8%]��$�u
�6�?z��G��r7�c�+�wg�7�ϳ8���]���%f��a��.y�ba�������5�F
?^)�]D2B�t�c%n�Y	��f��޽8
),�͆��/�����Ͽ̂Ș�0�4��nD<���d��T���<�{N$;6	Q�;Zd��
]_�jgdV�YG'���[�)Zt^��+S� $
+�i�;�� �
�ֹ����<��F�'/S
v���g�ߪjU�YN���e7��)��,�Y/M(H�7���Q�ӵ�/׫t_e�90eG�ke����\	�ų<����`
+E[�QT��`8�Z�-F��DS
~1���v
��J��Ď'T�;N���(70��9��+���h<��-�1�\R���[dI$���لwC�YJ��s�f� �');��+�=	�������#I{:��v�x'�q�r���1ۈ���F`��+��

��b�zj��x�}�c$ߛ&v�u���Ɵ��vn�U��	��X�E1v/�‘2\�Jؿ��
*x�g�.W�u�.�''���*�fX{�#+?P��Y�f.Yd'E}�ͅe�4�_
+endstream
+endobj
+6949 0 obj <<
+/Type /Page
+/Contents 6950 0 R
+/Resources 6948 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Annots [ 6911 0 R 6912 0 R 6913 0 R 6914 0 R 6935 0 R 6936 0 R 6937 0 R 6938 0 R 6939 0 R 6940 0 R 6941 0 R 6942 0 R 6943 0 R 6944 0 R 6945 0 R 6946 0 R 6947 0 R ]
+>> endobj
+6911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 170.687 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 707.957 227.852 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a9f126c32b4f43115c5f0211ef65b5eba) >>
+>> endobj
+6913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 680.062 170.687 690.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 680.062 225.351 690.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a3d8ac57c5e5aa2a5c2f5576d490c4f11) >>
+>> endobj
+6935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 652.166 170.687 663.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 652.166 211.991 663.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a4699390a942c1aaeaccd2b89b67e5855) >>
+>> endobj
+6937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 624.271 170.687 635.175]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 624.271 209.491 635.175]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a73e4d633b9400d175d45eb4e16f694d3) >>
+>> endobj
+6939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 596.376 152.954 607.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.452 596.376 193.621 607.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_af47168d758e7b40a1a458f985427ae28) >>
+>> endobj
+6941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 568.48 144.127 579.384]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+6942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.625 568.48 190.68 579.384]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a108e6a6005f1a43bf906d349b9c40ea1) >>
+>> endobj
+6943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 540.585 180.54 551.489]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a400322acab704cef7a052982929182ff) >>
+>> endobj
+6944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 540.585 264.653 551.489]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 512.689 178.239 523.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a4734a40ed0f8923109e02efe4cedc4c2) >>
+>> endobj
+6946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 512.689 262.352 523.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+6947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6951 0 obj <<
+/D [6949 0 R /XYZ 89 770.89 null]
+>> endobj
+6952 0 obj <<
+/D [6949 0 R /XYZ 90 721.073 null]
+>> endobj
+6953 0 obj <<
+/D [6949 0 R /XYZ 90 697.321 null]
+>> endobj
+6954 0 obj <<
+/D [6949 0 R /XYZ 90 669.426 null]
+>> endobj
+6955 0 obj <<
+/D [6949 0 R /XYZ 90 641.531 null]
+>> endobj
+6956 0 obj <<
+/D [6949 0 R /XYZ 90 613.635 null]
+>> endobj
+6957 0 obj <<
+/D [6949 0 R /XYZ 90 585.74 null]
+>> endobj
+6958 0 obj <<
+/D [6949 0 R /XYZ 90 484.495 null]
+>> endobj
+6959 0 obj <<
+/D [6949 0 R /XYZ 90 427.628 null]
+>> endobj
+6960 0 obj <<
+/D [6949 0 R /XYZ 90 405.251 null]
+>> endobj
+6961 0 obj <<
+/D [6949 0 R /XYZ 90 405.251 null]
+>> endobj
+6962 0 obj <<
+/D [6949 0 R /XYZ 90 334.704 null]
+>> endobj
+6963 0 obj <<
+/D [6949 0 R /XYZ 90 300.034 null]
+>> endobj
+6964 0 obj <<
+/D [6949 0 R /XYZ 90 295.551 null]
+>> endobj
+6965 0 obj <<
+/D [6949 0 R /XYZ 90 224.82 null]
+>> endobj
+1785 0 obj <<
+/D [6949 0 R /XYZ 90 145.623 null]
+>> endobj
+250 0 obj <<
+/D [6949 0 R /XYZ 90 136.92 null]
+>> endobj
+6948 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F11 613 0 R /F68 3032 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6992 0 obj <<
+/Length 1894      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��4~ϯ00SbJ��[^
+3@/S(��.O-�q
'kp�`;���9���޴��t
v#KG�ѧO�"ao�a�������y!
+%����
�H�%���{9'1�/�x~�<��]���)���U�.��tUF�����4O�r��;�'U���i^'�&����ȫz��wT�2mZ�x�mU����w�ۂ
+a�x�l;b�Z�c��� h(
u�������Z��.P��x7{�
��P
c#*��y�2�ͼ��fء���
F0�#P�8�.+?�gi
��j�C�[�������5``VՍ�~�
���D"Δ
�$�
��b�W/�ܺ5>2�^.l��A������E��y
+t�\�u�v�#J���d
���<�z.B�

F
�l�GQ��?�4#�'j�>:н� �c�`�Ns8

L�����c�{�(�e؜�W2tM���F�$>�	q�bͽ�l)���0���wI��'b
��>��W��L��'I~g�-O\&
��Gf̎�,@<����l�%�7�"��a�7I����`��H>��M[r;��>A���ްf1�鯎!�w�)�`�p�����nR�NǮq�P��,�;v��kv����zu[]X���E&�c[w�rJ��Ěw1���Y�����-F`U�;������	���yRJk�{�
#�Dc bH��pL� Ui�ҍU)��n/�̅^�d�
�����rlNJp$q
�Wi�V=���d�
+]O
 I[Yf9��@�4���l"�D��S�����ߢ� �t�ԎV��w��.HHW�[0���.h���
x��Q�%k��B���^g��X
�>���ų�øa��^��?��{GΉ_Wu�sBnǶ
+�RU��Uа8�����eo�.h<��3��J/Z���7-�Ҫ
'�6�I�^X
+��(�������%Q|eK��V `�f�4wc䶹X�j
f18�&&.��X��q��b:\�ȑ
���
A�,e��&��䝮A
+p�1������qwSdY�S1����h�]�'_�r��HK�a}��pȜ�@�T�<D�
���D>�@u"�+�mAZ��)��&�(
��с�V�r6d�}�E��	���{�i�n+[��}��C���pF@��rݗ�P& ��&��gB�����e|�gUI��m+�J�i�(���*�`ٟ
���̣�P׭�?�G������O��`�(�)D7K\
j+���a
� �#L����F"���M�^�&̾���B��3'��I	FT���+%��M��đ���&�\5�d9E���4N!�q�k�~U{x:�M��Ln;/.�݁�
+1:&����!Y�5�n� �w\-��`�w-e
U���@�����"��E�F���]���
<T��#Ac4���t"
aպ���y�Z�kӌ�IU� ��c�����3�ȸjge�f�SG���͛�k�
P
LiýMY�F̙0�:�ʒ!���o�8�ǣ��>CWW��-�S��Q�QΧ�4(7o7��� ���
+�#�
	��͋AO"1�a�
+krJF��C�h_Rn�@�;�iT�P�RU�O7�B���	%��IO����P
�`d�nN����'��qb�h��S7U�@")N�
���.>Tad�0~���aJFSwOp$�'�c)��
C!W�K�9C�<����A��`p�@�Ap�I���a�L\
+Hz�63z0{�w����;��G�������AIQ@ٻ>@e?�! ��ԋ�g��s����B̝��!�Q����h���d��`
L실��*��ה��p��A��.�u_�����lu�VI�Eq������Am�b���.4Hs�����68
+lm�C��
L2&��,�>�+�Ʀ��8{�c�� ��_�u�d�
+endstream
+endobj
+6991 0 obj <<
+/Type /Page
+/Contents 6992 0 R
+/Resources 6990 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Annots [ 6966 0 R 6967 0 R 6968 0 R 6969 0 R 6970 0 R 6971 0 R 6972 0 R 6973 0 R 6974 0 R 6975 0 R 6976 0 R 6977 0 R 6978 0 R 6979 0 R 6980 0 R 6981 0 R 6982 0 R 6983 0 R 6984 0 R 6985 0 R 6986 0 R 7006 0 R 6989 0 R ]
+>> endobj
+6966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.714 170.687 696.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb3496510a68512516cf65f8d214c2) >>
+>> endobj
+6967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.541 170.687 668.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) >>
+>> endobj
+6968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 657.541 254.8 668.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 630.116 178.435 640.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa82cf61e903a201fe8892501b209ab8e) >>
+>> endobj
+6970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.943 170.687 612.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 601.943 222.233 612.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) >>
+>> endobj
+6972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.57 601.943 306.346 612.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 574.144 202.497 585.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.237 574.144 253.406 585.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) >>
+>> endobj
+6975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 546.344 202.497 557.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+6976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.467 546.344 256.522 557.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) >>
+>> endobj
+6977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 518.545 170.687 529.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 518.545 227.852 529.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa6e183ba7e931dc88e16fb9ecfa8b3c7) >>
+>> endobj
+6979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 490.746 170.687 501.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 490.746 217.61 501.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed) >>
+>> endobj
+6981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 462.947 180.54 473.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e) >>
+>> endobj
+6982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 462.947 264.653 473.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 435.148 178.239 446.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) >>
+>> endobj
+6984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 435.148 262.352 446.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.68 346.127 156.456 357.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+6986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [485.444 346.127 513.996 357.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+7006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 334.172 165.147 345.076]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+6989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6993 0 obj <<
+/D [6991 0 R /XYZ 89 770.89 null]
+>> endobj
+6994 0 obj <<
+/D [6991 0 R /XYZ 90 704.286 null]
+>> endobj
+6995 0 obj <<
+/D [6991 0 R /XYZ 90 704.286 null]
+>> endobj
+6996 0 obj <<
+/D [6991 0 R /XYZ 90 674.753 null]
+>> endobj
+6997 0 obj <<
+/D [6991 0 R /XYZ 90 646.954 null]
+>> endobj
+6998 0 obj <<
+/D [6991 0 R /XYZ 90 620.88 null]
+>> endobj
+6999 0 obj <<
+/D [6991 0 R /XYZ 90 591.355 null]
+>> endobj
+7000 0 obj <<
+/D [6991 0 R /XYZ 90 563.556 null]
+>> endobj
+7001 0 obj <<
+/D [6991 0 R /XYZ 90 537.483 null]
+>> endobj
+7002 0 obj <<
+/D [6991 0 R /XYZ 90 507.958 null]
+>> endobj
+7003 0 obj <<
+/D [6991 0 R /XYZ 90 480.158 null]
+>> endobj
+7004 0 obj <<
+/D [6991 0 R /XYZ 90 452.359 null]
+>> endobj
+7005 0 obj <<
+/D [6991 0 R /XYZ 90 407.044 null]
+>> endobj
+1786 0 obj <<
+/D [6991 0 R /XYZ 90 139.992 null]
+>> endobj
+254 0 obj <<
+/D [6991 0 R /XYZ 90 133.243 null]
+>> endobj
+6990 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7017 0 obj <<
+/Length 2355      
+/Filter /FlateDecode
+>>
+stream
+xڽZYs�F~ׯ�S��,Gs���nlo%q
o�͋�JA�HD-I( )[���s ĀYX�JG�7}|�3��d8���?/��_+�d$���ufp��AB¯E�aB�~��)cR#b$��/�����Wo/߻{g�.��<#p
g$H�l�>��	g
��S�3:��Zg�28���g�>�
FT�Sw��@V��DH@�n5U�U1��(Փ_���V���~3��f��5�����l�%q�3xq��R���}�	�'wE���xˍ������?D��A��bg�|WV8��<��6z���6ƐQ��?b�
P���~m�*7�������2=�
�/p���p�8�����L�E�M)���ⴁ��`��?��

G<����=<�}
��ب�׶��&
Ou���	�� O�ch
d�i�%��53
	�-�#%D�����+H6/g��Q����LM�&j�+���V���ӧ���
�B&yU�W+���@Ԉ�7��Iذ�&��A����Z���+� ���oKG9��p�W�!��n!!Z �H7��_�[�q$���-�mx(
A�	�G\�@ ��l�*�հ�y��!�o�����フ

?���<�ζ�kL#���L?�3h����-�/���T�NI�,%&�1�0���D��c!\����b��J�K��Wŭ�Χ���rĸ	��	�R_�K�eud��w1��M'q씈ɗ��n�E}�Dz\�7vc����R�2 �&˚,ͣ���r7���*��|mPH���˥��^x���f�k�Y��IbH�Vx�Ʀa].�����
�N��G���`E���c��ȫ���W��&R ��LNjR�t�� c�6�/Ic�
�K���Q�$c׈6�׻)��u~��R��a&��kq�ǥ�h�t���,���(�e���	 [...]
+��|��Kh��u���UQ5�Z�2��z[�v��3F�gM�Y*�$0��ؘX�-J8��Y��v_��fa��]psd�X�?�l&8G�q�7hR�f�a9��A �[W6��Eh��yLH�<��D!�����3��{V�"h��%��ג���~����,_��y {��ڮ��~*Ťm�
sx��̣�]}w���7
+�U5䓟Ƶ�z]Y�)Q�?���u���m*�d[W�Xh6�.겔o\0���vXq�N�)��>�2�\!�~���IN�	hB�r2���k$ �E��ɔk�3
+A U
+a'3�r�� ��9���	�S�˄B��b &A'��q����|
��4O<L�\@#M��,$R�u4�c�E��I�2ib_\��U|[�������5)
��a�u�y�EF�f���-��7Sྜྷu�!I��ʚr��&����+����Q�
,�8��-w����zyE԰��e�狲�6%�N�:T���9���'a���#r�1m(	]
���O�B���%
�D������X!���w������H��b3�}

}��V)Q��:r���]����# �y���i4�|

M�0
b�T�,�R��~>���[ p��k�n+>IѲK�.ag��4-����z�f��l1��c�f26�RŖN �
���>>�P���G�R�H�A��j/;��p��jw��vb0�FT
FƺT��d�`<�̡�fL"�;�ܐwX��<�i����
�k������%�n�k�G6`y��uL��5^,�7�
+)�ה1�N���F� F�X��q<�yr
�`.��8I�J"�QtC����X�D!�F@�a�O)I��y%E��ִ����<,�uZ�;��>����%z�-���9��C����S{���6S��l3��7V��̓���5e`��=�ӻ�Aۣ�_}6���� $3vD�f���
-H`���`C2Ć]#�6
�b
��z7�.6�R�Iج�3zzB ��*-4�Ϛ
���N���	���� c��a���%n=���O0���I��%�s�D��� CL� p�
K�ubֳO��±k�
~��v��yQ
+ˣ%�֦���"a�,�k�����
v� M~Wo
���դ��/�B�S_�� ��bŠPRշ����)=sY_���{'
�B��1�QB���x���M�l������^�
+	㿗���ׁ�ֹ�Y�/���f���
��@�� Ї���G��0��L�9
��ݛp򟭭�Ӓ_�M�
�
`����N��&ƭ�<yo�O%��6�>�ni�
8����������j���4/�ǁrx��U31i�p[��:\\���#���y�
+endstream
+endobj
+7016 0 obj <<
+/Type /Page
+/Contents 7017 0 R
+/Resources 7015 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Annots [ 6987 0 R 6988 0 R 7007 0 R 7008 0 R 7009 0 R 7010 0 R 7011 0 R 7012 0 R 7013 0 R 7014 0 R ]
+>> endobj
+6987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 685.855 238.92 696.385]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface) >>
+>> endobj
+6988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.89 685.855 270.461 696.385]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_a4fd7b6cb64e68a51df8a7f8435e09805) >>
+>> endobj
+7007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 672.719 208.843 683.623]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_af0b2ceba470bdb52cdf9bafa45e76b4a) >>
+>> endobj
+7008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 659.956 204.042 670.86]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_ab758d05c4671c852880999550882f33a) >>
+>> endobj
+7009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.954 647.194 222.123 658.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_a50728db7969b64c9c4fe14e1da04f006) >>
+>> endobj
+7010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 620.05 177.601 630.58]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.099 620.05 211.931 630.58]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_afd298b0bb1553ae69fdf50038423813d) >>
+>> endobj
+7012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 592.159 209.043 603.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_a0c5be0f5a6fef022b59c78a41f1fa0a1) >>
+>> endobj
+7013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.38 592.159 332.886 603.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface) >>
+>> endobj
+7014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7018 0 obj <<
+/D [7016 0 R /XYZ 89 770.89 null]
+>> endobj
+7019 0 obj <<
+/D [7016 0 R /XYZ 90 704.286 null]
+>> endobj
+7020 0 obj <<
+/D [7016 0 R /XYZ 90 663.941 null]
+>> endobj
+7021 0 obj <<
+/D [7016 0 R /XYZ 90 564.324 null]
+>> endobj
+7022 0 obj <<
+/D [7016 0 R /XYZ 90 490.002 null]
+>> endobj
+7023 0 obj <<
+/D [7016 0 R /XYZ 90 467.626 null]
+>> endobj
+7024 0 obj <<
+/D [7016 0 R /XYZ 90 467.626 null]
+>> endobj
+7025 0 obj <<
+/D [7016 0 R /XYZ 283.294 392.213 null]
+>> endobj
+7026 0 obj <<
+/D [7016 0 R /XYZ 90 385.573 null]
+>> endobj
+7027 0 obj <<
+/D [7016 0 R /XYZ 200.604 324.087 null]
+>> endobj
+7028 0 obj <<
+/D [7016 0 R /XYZ 90 317.447 null]
+>> endobj
+7029 0 obj <<
+/D [7016 0 R /XYZ 235.732 255.962 null]
+>> endobj
+7030 0 obj <<
+/D [7016 0 R /XYZ 90 249.322 null]
+>> endobj
+7031 0 obj <<
+/D [7016 0 R /XYZ 90 145.612 null]
+>> endobj
+7032 0 obj <<
+/D [7016 0 R /XYZ 90 141.129 null]
+>> endobj
+7015 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+7057 0 obj <<
+/Length 1653      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~ϯ�ԇ�R3;�K�*e+(��OE�Ļ�j;��e���x�v|K�J�)�x��7��s&ػ�����bru��g��Tz�[�`OI�%�b��	F�S�1���~���r
P�o���h��˗�M
�g���l_�Y��N�agw����}���~����,x�xquMHkgF�.��#7��P^O��/�gE����[d�r(��E?���)�
II�)!�Ѭ���p�b� �kU�����3�&�~L���"0ԏ�]�y
�F��٪
bJ
+��FA���b����
��x.���*��}��5
��@�F{vR�q��7��L^Mpe��QQ>�?�eA��6c�)P��:X��A�4�z$���H
�a��},�
N�5���$9[K�7��1�4	,NI��Ε�b��;>"��������i�����0�� d��DJd��Xl*ߌ��a���[��h�Oq����j�j���<Z�ߋ��
+���5�	�?1fnVGF�zN����R��|�R�zP)��K��K
��&5b�o��vu�FY�
+$j�n�+
Z
(��2c�re��kC��۴^�’d[����C�$�u�<
q�=��$D��8��;��T@�����Tfn3�%(g5Z�zZKe
�L7��,_��>��Hk�I p�6`HXzw6�y��H��Vm��QHx%G��7D at a:� 
+�ح
���`��V�
a8RD]����FQ���ƌ)D���ƌc�
�<vd&�_dgi���sY��k�PZ+EZ�k��;D�8T-�p~�/r.��Y��Jρ*I@�4@�
+�E��C�Ah�k�eUVb�+3�uv��jD
�
a��y
�C
+����
��XY�T�rݪ��e��^!8��f�B�jw�C!#Pʏr[�I���@truI�
NWi�q���{iH��5�i��6T���QUʊ�v6TH֖�!�V��:+�R �W��e)��:�~��HK��jWF!Nh��lG���2Z
�wP��/�ʁ0:�.n[��ړ�5����G:�;���f�Rbؚ�/3)�%���2XU투�Ccײ8;��	9ޝ(�8~J{
+�N��hM�Q�o�=���ZC�֌S;��h?�몁���~�Bؽ:�-�
��N��V�f^��k���7>���:�@i��ʠ
+�j�j�N�*]C��O%���B�&=J�k'�|�v���qW��j5�}��L�!e#LNG
a
r�"�͎��bzgQ�7{��1\S�=��oM�j
8%w$�t�S"�U��8���U
W%�a/�lgW-���P�,��|V�1Z7#R�.���БjǍ�o����;<���
p�Ya�q;�Ng(�`6㚒��'�C�

L�o�E
���踣��|��>#h�l?�yt����2N$�䡫8��D�a��P�,1�M1�b=���nĹX[�O�L���8�����҉ʻ��q�Hd���a��X�
:b)��K����>[C��|笸9��12�
f���խ���?($E��s�z�/l[Q�=��0�w_;��t���@�R��av&�
���n&��͵.A�	
+�
X�MT[ǁ���~��6�e��8�Im�b7������G�
Zm�ap��a 7	��bZ2��� ��>]�'��H������D�Cb�T�D
��t���E�+��D
+endstream
+endobj
+7056 0 obj <<
+/Type /Page
+/Contents 7057 0 R
+/Resources 7055 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Group 7034 0 R
+/Annots [ 7035 0 R 7036 0 R 7037 0 R 7038 0 R 7039 0 R 7040 0 R 7041 0 R 7042 0 R 7043 0 R 7044 0 R 7045 0 R 7046 0 R 7047 0 R 7048 0 R 7049 0 R 7050 0 R 7054 0 R ]
+>> endobj
+7033 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 7065 0 R
+/BBox [0 0 418 144]
+/Group 7034 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 7066 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x��UKo�0
��W�X%��$`�!@1`��
�P���aH
+�;�-Gq�G��`$�$�#?ɟ�K�#X�	^7�
^�<��p�Dx�=��~�?
+��~��G@��V���z���m���~��P��Kh`n9)�g3��
.��+�u�c�~/�,:�tJ)�����;H�^�ml�9u[��)�A�ɍs��l�X��Ѽϖ�
mY�Usc�̤1tYB���'��Ѯsc{��8q��L���ɥ4��L;���-�aj���XM4��k&��Q
5����Tr�p�m��l�v2��z��*�9���v��P���ɕ[8p-�����r�rC�8�r�L{,��u�����y-g7F���
^
aG�d2\ �u�Mõ�hN�6��yɪ�k.핗�p� m�����b�.ˑ?){�)�H
U�
�lK�-�u��E[.�f�������ΎD��%���Dgx�]hgu��-4_����
ꤴ+zR�u����&i�ϱ��o��1���h�N���ؠ}���N>���o�E�7d���F-�E,#�ޕ�����#��
c��$
+endstream
+endobj
+7065 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+7066 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /CQCQQV+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 7067 0 R]
+/ToUnicode 7068 0 R
+>>
+endobj
+7067 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /CQCQQV+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 7069 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 556 500 278 611 556 667 500 556 584 278 278 500 611 278 584]]
+>>
+endobj
+7068 0 obj
+<<
+/Length 7070 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0E�|���"�L$�T�}��`�!A*�2d����Z�T�D:��aN<�}i������
�V���n%�����x��(�@�[N�D�+�e����
�5�?]��vc�g5��1��w�Ȏ��ߗ?uwc~h"��$j�hp�^�y��[��qݎ�����f���9F����IV�+Eu➆Ճ{�����g���MX���IR$���S�A��*���@� *��@tB�3���ԃr��.
+Y�B�0��)�x��
��@�B��>�����@��1'�_
��r�e���/
�r8p�U�}�+�,�KC��G�J��헻o�cs��Z�4~]���{2jzl���^�?�ق��
+endstream
+endobj
+7069 0 obj
+<<
+/Type /FontDescriptor
+/FontName /CQCQQV+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 7071 0 R
+>>
+endobj
+7070 0 obj
+357
+endobj
+7071 0 obj
+<<
+/Length 7072 0 R
+/Filter /FlateDecode
+/Length1 2588
+>>
+stream
+x�UV
l�������Ib�j��8q�N�?(����N
�$�����yT�M
+�Y�eCL�Z(��[;Q�!mӴne҄6&UC��4U��m����a	�h�����1d������s���w�c��8s
J���u���e�w����΅�Y|��[���?��|��獣C��B�ri<qtq�i�I����2={(����\�|*[���r�!c���8_e
+���UWf�Y�V�I�u��^�ɻ�7�)�e����A]M:���2���m�&>5?ts�
�
bﵖ@��W�̋7����Z[�gU�5n�V�܌齂�d��Ϩ���˥��n��h���F���
��Ԥ� 6��̴�**U�h�Hfv���X}a������Uᶁ�	�����.~P��f�U�D:�����\M�R�.(0�+
N�]UQm���A �
U|ڂ6��J06��2SS$�)m��6���I�.׎��ӎ`��
+��Ж*�4[v|�G{OI�
�)�tw�F�Z�3Uq���*TS���)�/��^��+�[�oN>��0������?Xv���cir�D��ŌPź	�<��Dm0!
����O<73wby�=jo���-���s�)�|O�j"1
��l�2sQ�?���)吥1C�N��]y�(�H���B�ө�����|��`[v���ȵ�/No	�ͅa�#�Y
+'�
��h�"��X�+-���p�,���@�������_��,�i�ʱV�3�X
���2��
|B�Î٤�J�:'q�,��I[$������	�|�Q\!;E����Y�:���y�o�}5\�t�?�g�?s���l
ټ�
�f�n?D�����{��c�ӞWZ#���PH«mG�k/����r��sCó3C�Y��q#�$l�F���wc�Rz9k�ꯦ�����h��
�����^`�
�
�/1N'�
)��F��Qν�ǧ���Gvn±��'� ����{����p�����\ʦ����[ymi]=��q�G��r��X�
~SB^�nP 
[-��x�n-�U8uΎ���գy����V�u���3
u:w�
�u��w�[oO
?�SY�G^�����w�m߮���.Wcp
���&�(
��)q�K���_
+�Q
+�:�%d
���Snn�m�B�Y����b��t��r��B}�
+�/
���T�s��d�M-
]���Hui�M�׷�����INr�����〔NB uny��#��zK~ny�wGG�k[��
+��vMu�m}�%�� �oA
3S�#�o���0u���վ��T~����_!�`̜f�G�r�tZ
+R
+p8�f~>>~l|��g�s�kxF�D�|���������+������U��h�⪡�3��đ�X�=�q>fKqJ���~����#�ӷ�������t�V�#��V�����'P�/b'_��OG������_�l��WS|��ϖ��8pZ���=���K�&b�/�t��?��F_?u�BP�ÿ����
�q}����̸����4�y���o_�tơy��Yw-��˒�*�4�jS�h�J��(��~������}��ȧ�n5���]^�O�/��}}��O&�oX\����G��l�SS�����I;����\�ג�*��<�"��
\�N{�b�Bn
���͔��j��sw{2��%��!-k��_n�帤�J�@jx��e!SZ�v98�򐽭؁Dfbf��Q�$��ml;KY����#7����x��
�����)�~��X���,����>�V|!~�U����]����~���l����x
��
֦hb�&y
r)����}f�7�XJJ��h�db3���)�C�r?�!�� �t�
�d�1�q�eALj�~�6���b���UBQޕ`G������h�(�V�
�������J���WpGÎ
+vT��F*ԍ(���x˩�L
���ѡ���Y��s��t�\ z\�37@�`��Y�%C
+endstream
+endobj
+7072 0 obj
+1949
+endobj
+7034 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+7035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 307.037 224.395 317.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 284.103 189.925 294.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+7037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 284.103 260.898 294.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a20a1a23e17edcba771385da4510f4786) >>
+>> endobj
+7038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 268.401 422.545 278.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.067 224.395 253.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 220.133 232.982 230.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+7041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 220.133 347.013 230.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_aa272377eb99f1a8b4b48114da9bc6051) >>
+>> endobj
+7042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 204.431 389.11 214.336]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 179.096 224.395 190]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 156.162 254.671 166.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+7045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 156.162 390.391 166.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a8669f7f8a54a22c294c94b36106edfb4) >>
+>> endobj
+7046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 140.46 465.458 150.366]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.126 224.395 126.03]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 91.216 181.207 102.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+7049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 91.216 243.464 102.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a017b50a53d3f73e61cb5c9d787cb1907) >>
+>> endobj
+7050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 76.49 420.593 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7058 0 obj <<
+/D [7056 0 R /XYZ 89 770.89 null]
+>> endobj
+7059 0 obj <<
+/D [7056 0 R /XYZ 90 720.814 null]
+>> endobj
+1231 0 obj <<
+/D [7056 0 R /XYZ 90 632.431 null]
+>> endobj
+258 0 obj <<
+/D [7056 0 R /XYZ 90 625.7 null]
+>> endobj
+7060 0 obj <<
+/D [7056 0 R /XYZ 90 336.093 null]
+>> endobj
+7061 0 obj <<
+/D [7056 0 R /XYZ 90 336.093 null]
+>> endobj
+7062 0 obj <<
+/D [7056 0 R /XYZ 90 272.386 null]
+>> endobj
+7063 0 obj <<
+/D [7056 0 R /XYZ 90 208.416 null]
+>> endobj
+7064 0 obj <<
+/D [7056 0 R /XYZ 90 144.445 null]
+>> endobj
+7055 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F22 2996 0 R /F75 554 0 R /F67 3037 0 R >>
+/XObject << /Im7 7033 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7095 0 obj <<
+/Length 2014      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W�3%�7O�3iwҦ�[�����%��U�����.�)�VZ�� w����w�a�n��/�4ҒJ�����S\#!�i��)��7?zLF�h	_U�_�������k3v����3C�#V�@*���`o��0b:�
�Ik�S�̻>��
;[p�&�;6,g��A�X>P**��g��P`�O�d�ܹ!cPq�,�
&E�K� H
a%]fy\����U�n���O�"���|�~	�[�p_�7f�Ո2];��j�fS&�ǀ
+?�7A�}��� ���ˀ?/�qi���ʐ$���툾�0�"���]\L�⽟n��qXo�cS+����痚�����2�# 
�@B8L���xg�}���|HOXGUNR�8���m?+�ZO�͊j"k��D7`��0��
D�yg.�zz^f�.
	�x��
���K0�F����6)���~�,A�n�gC�X��k!�<�o�<�^=���$q���
?7���K0���1D���]Y��rq]�Ũ���;3j���������
�U4��_dw��yD
h���z��J��p��x�;���q�
���}<�}f���ܧ��
8��
��/̚���[4 �>;P�$��%���<�>��t5���b��j;�D��i�ye<T�c�:0OUL�D���\?�۝#Ψ;W "���1�	wfq$a߻I�C�$��2�$�'=��Ø$��l�=���5���j{I;$� �D9�+w9����/#z�feo�O�9� T���s5��Qt
}~��$����o�Y���a:rr��0�cR,���ELc�Y�dN�ᝨ�;��Vq,2��_#�Q�B�_>���6�[� �m����f���l��-����E�
+2���p�L4��(��&�VO����Ѡ5����:�g^���~Ӏ2ތi�E��.
��(���wS�;G��C?T��O�
���v��{���q���Tb�!�J����!5�Z
[���z��iJf��!������.\��'Ǣ9$Q����.�|Wñ�b
0V���k0�dE�%�A�t�U� u�4�i���L��u���C�q`�v�<D���?��12���&�
�DS!�ܚ�_����C�Jy��:i�rT9-�=�
�q�c�ߒ,.�NVЃ�C;F!AS^;H�wy��ˇ�l`�s/���lr7���v�_�Jс7�*]"�e��SH+L��5�)���,ІZ�v
U�j�8�]e;C"�F�
d�A�4h1�k4>��={����m'�E��xD1�|������fZ
�*��ͽ�]HuL���;GL�9/����4�ǀ�z�au62N����S�)��oN}�!��MG��= PCL��.`� zm��އ�������,���3-����4���2���4��4�5
�(���_��RSEę-e�l
�"m*wN���t��lXۀ�� @�M#_�iVK��kY��r��	�b�%z>3
���ɢ���Dq�����:5���PhMt��'��K"QŊHh���y� ��L��
�P�F4:��>"�o�M�#K���A0����C`u
+�4��!�6]NmH22�tp�ƧY��ٕ\�C��ĔBT�,�E�YhQ{
�
+���l���dU�X ��9���
�7�mz[�Ξ..j�
1BSD�>��F�qu����ň(�_�j;�@�����>
[��s��)4豠��i�'��9G��9��Ĵ�$c�D���Ȉ8R���?���Ч����ȩj���H 
�Ә!8�3����Y���7`:Q
NwR�K��$�@�]ڇW�s�z�ا��ԩE�ɜ����
��#J�ur�P+���p������ ����,)R�
�K��!W��_�_�L���`����q/�߬��}�Zq!�
[����N��XY+���ޮ��ڛ�wI�U ��N�7��DrP�I��菠�P
+!�*�:���]6f�d����=m9�P�ۋ�����.�ܣe�>�X�����Cj~T��9D���| �?*��
+endstream
+endobj
+7094 0 obj <<
+/Type /Page
+/Contents 7095 0 R
+/Resources 7093 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6934 0 R
+/Annots [ 7051 0 R 7052 0 R 7053 0 R 7074 0 R 7075 0 R 7076 0 R 7077 0 R 7078 0 R 7079 0 R 7080 0 R 7081 0 R 7082 0 R 7083 0 R 7084 0 R 7085 0 R 7086 0 R 7087 0 R 7088 0 R 7104 0 R 7089 0 R 7090 0 R 7091 0 R 7105 0 R 7092 0 R ]
+>> endobj
+7051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 224.395 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 672.092 159.628 682.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+7053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 672.092 200.306 682.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a79a27720fc3f7a3e989f10ebdb6b2800) >>
+>> endobj
+7074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 656.859 400.176 666.764]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 599.787 169.81 610.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_ab2b9ec90f48c5472b85e3accc9cd40b1) >>
+>> endobj
+7076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 599.787 309.485 610.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+7077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 599.787 514.653 610.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+7078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 587.832 227.553 598.362]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+7079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 558.34 169.013 569.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a4ea19117641ead1de64af7d71bf323fc) >>
+>> endobj
+7080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 558.34 323.722 569.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 490.833 275.987 501.737]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a70455e8f7f82805a45a045396d85ee0a) >>
+>> endobj
+7082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.546 490.833 367.304 501.737]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+7083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.238 490.833 513.996 501.737]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+7084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.404 275.987 452.308]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_aade09211d1e3917155860ba21f953756) >>
+>> endobj
+7085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 414.89 283.736 425.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a843388f4bb21a15bf18a841237a8a617) >>
+>> endobj
+7086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 305.582 156.609 316.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_ae6c6807b378b537aea1651c3940c0161) >>
+>> endobj
+7087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.752 305.582 311.644 316.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.26 305.582 513.996 316.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 293.627 229.376 304.531]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.243 252.553 156.609 263.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_ae6c6807b378b537aea1651c3940c0161) >>
+>> endobj
+7090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.752 252.553 311.644 263.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.26 252.553 513.996 263.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 240.598 229.376 251.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) >>
+>> endobj
+7092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7096 0 obj <<
+/D [7094 0 R /XYZ 89 770.89 null]
+>> endobj
+7097 0 obj <<
+/D [7094 0 R /XYZ 90 721.073 null]
+>> endobj
+7098 0 obj <<
+/D [7094 0 R /XYZ 90 619.019 null]
+>> endobj
+7099 0 obj <<
+/D [7094 0 R /XYZ 90 576.211 null]
+>> endobj
+7100 0 obj <<
+/D [7094 0 R /XYZ 90 508.12 null]
+>> endobj
+7101 0 obj <<
+/D [7094 0 R /XYZ 90 456.977 null]
+>> endobj
+7102 0 obj <<
+/D [7094 0 R /XYZ 90 430.463 null]
+>> endobj
+7103 0 obj <<
+/D [7094 0 R /XYZ 90 364.421 null]
+>> endobj
+7106 0 obj <<
+/D [7094 0 R /XYZ 90 203.08 null]
+>> endobj
+7107 0 obj <<
+/D [7094 0 R /XYZ 90 203.08 null]
+>> endobj
+7108 0 obj <<
+/D [7094 0 R /XYZ 90 139.879 null]
+>> endobj
+7093 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F90 758 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7116 0 obj <<
+/Length 2766      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�O-D�}q�׻�!w	�&�$0h����H
)�I}g�˗�)Ɏx�-�A|�}vfv�YG��~�������b�AFR��"�#%	�D�E�1&12��q|=!8N�Mrs=�8��_��Hnޮn���zy�}���$��\��d�����+���m1!:N�r�g�ϳ�__���8������ 
���~����M�K

�B���M��n�W��h�(CR�hJ2B4�]M��s��n � �kU��0����~���dJ�gC�t�]'��]y�ޥn���^bJ��2f�^�8��킀

�J�\ ������g
-�������zhq��w
}����6�][J
��3
)�>���D���_�>N�v���4��~:�ƻv*pczu׷I�lR�z��
�k��&z����W��F\4/�H�4ە~̥�
�����R^U#X�&k|_�
��i$�=`�9�8p�ܖ�"����"�$�
�Z�Ni@@���dZԺdZvtio��أ��
i���U�i5
+�$Tc5�$�O3�2��vi��;'�:��W�`UUKp
+�-B���l^����V�����'�S�o!���2F:�oWY����ڋjgz�mg1��W�>���tBH�Ū���2�{:���S��~�8KBLY�h�r�ho%�
�^

絢�A@&Zd�6��ו�s:��C�[�H�
nU�84�*[uWj�ao+Y;�2���i��{�\����O�:4��ڥ>DJ��l|n
�p�HR���� �����

{eC%��i���*�5#��*M*I�ŀ"!74Q|? D��7��"��Z��un��#,] ��Q�������>[x-;�߇�kb��^��ʞ?X_I3�b�
+��"h1Lzk�MG� �~�ˋ��_��V"�9�;�Q��ߥ�[71
_�y�0���
��:�{+�r�D 
�����O��`QR��&4���6�fW�
�R��`��b�
K�6�&�Vi6l�0��(�*��L�3a�
@ 
��Q H�$1!�ل��eMP�]PB=C/�����3a��b
º:D�@�D�
�2�G�D�n�|=��
���:�X�>�I�h�4�%@l���<�� 4h
��+0O��20LX%����N
+
 I1c ��� ��j���
�%����S�t�1��X
�Iu^^�4��'u9��W# N�:��?�0I�bh���Γ֛6�[_
�1�
ik�?ՓT�D�L3��)O� ���*��&^�B���1�<6���q��0��f����$l��FxTc��1� �b�
+�S;��)��
|*0����@�XĕA\���F�
�E�>��P#��mH}��!�H��p�]H�
q
���c�H���:L (�����R�< �n��j@G���
V�n��?��G�P��~���:�@ҲW.���Vה����7{�[cV�C
?���s�wɯv����̨#C��a���ք��t�o��z�����9Q ��u�ⴍC��Ը�
��rU�{�8&m��P����j7X��
+|n�	��`�M�k~@�Ϊ+p��
����u7�~k�c�	?�ۑh�����J�o"f$�
�}�
{�X�jY/�`"A�Au���ɚn”
���F�Պs��0ۆ� Ьv�n��
�,��$g@>hlf�i�*�}F���G3��H��ci�8�u�}����g�y�xfa<uǮIs�}+����rT�Y�se{�r
�Fa;L	����s�y�{΃3�>]8��l��
+r+�m�!wz��|3��V�T�1��%��
T��	�ʷqߧ�}q�	
��5R�v4�uu�+��iFsw�b���<M�b��B�h��]�.�Fe1��
�+
W��Sb jri-�}
���O�:M�EZ΋ն	��W��u��l��]�&�Y�e^�VWeK���t��E9C�	O�}��f�]��j��Y��Xq��}�ce]Wݍ�
�tϲm�4���M
�/��A�ԑ���`��x��l��۟��U[���V�eP��
�C5LЉxF�w��������m�2ߐ�*V��_��;��ְ�l�v1F#w��];�
���`a"J��&��F�PN&��Q	�O�QH�!,� A�d�* �cP��
�1
�qCBXǺn���`�66
l��n*�-�
��;��o���>����y�^�!���^���~/�Pm�a���g�
%U[QX>{S�q�4T�c �Pe"�5|��
iIF�|]�P
s=INx�T��c��ԗ�����@
1�q����A�U*"P2|ނ'�A*+QM?�y�Gx��t
+�l��>c�C��=ݏ¡P'���=�u@�`-��� �]���Z�����$�Y��
��j�b{���q3ȗ2e��i���j�
���bޛp�[ ��K�$Q�5�&�B�B�{
����c0"0҆������3� ��
eX5C	`���
d(vg�05C!P �_�P�@�J��
e
��(�X
E����nh:
+C���/f(# �J�K�0j�҅��PT��za+����w�
��'���·E�E�������b��h�^�-�uz~CL�G�v��~�q�K��v����N�QR�U��׍kERr��ҏ�~���[w��2-�l�/�x�d�z
�&7��[�[听�Q�
��9��;пF��/�7�B���D�Y�r��^�~}��/��
���S�w�^���Ʋ��
+��>���^qM�
��	�&@����DU��:����E���
�~�A�mC��v���
+endstream
+endobj
+7115 0 obj <<
+/Type /Page
+/Contents 7116 0 R
+/Resources 7114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7112 0 R 7113 0 R ]
+>> endobj
+7112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 272.327 501.708 283.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+7113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7117 0 obj <<
+/D [7115 0 R /XYZ 89 770.89 null]
+>> endobj
+7118 0 obj <<
+/D [7115 0 R /XYZ 90 557.017 null]
+>> endobj
+7110 0 obj <<
+/D [7115 0 R /XYZ 90 532.584 null]
+>> endobj
+7119 0 obj <<
+/D [7115 0 R /XYZ 90 532.584 null]
+>> endobj
+7120 0 obj <<
+/D [7115 0 R /XYZ 90 420.502 null]
+>> endobj
+7121 0 obj <<
+/D [7115 0 R /XYZ 90 258.835 null]
+>> endobj
+7111 0 obj <<
+/D [7115 0 R /XYZ 90 236.458 null]
+>> endobj
+7122 0 obj <<
+/D [7115 0 R /XYZ 90 236.458 null]
+>> endobj
+7123 0 obj <<
+/D [7115 0 R /XYZ 90 166.36 null]
+>> endobj
+1787 0 obj <<
+/D [7115 0 R /XYZ 90 69.879 null]
+>> endobj
+7114 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F8 794 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7179 0 obj <<
+/Length 1725      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~��0�����E��`
Х͖.M��
0���Ȍ-̖
IN�
��;�͒-�v�&}�K"K���w�s������_z?z�6�
�X��ך�5�t���H��Sf_o5f	D

f���ޟ
ޜ
.ճޛA�G��H&�#[hެ��
�Fp���s�v��i&e��]�>�p�
F��K�/�
d�
�i��$$S��Hj�	�X?7�����]ׇp
	!ҩ
;]Z1ą]�ՠ�02m^S��`T�!��D��(?��-�MU�S�*r#�/���ã0�������S*���兼6l]F2�d�d�����+��-ҧ&b����
+�p�O�@��Ե�Y�S?��~��]Pܷ���J�1^Y �6���I����b$�����Hΐ
����A����ŀ�|�&�9�#a�b�O��k|K��`���$T�3��Y�zq N}/�s`� �\�50[@%2� H)�p�[�)嵹ڧ>6�`1��+�D�G����X-�:[=��{�_��
�X����=��������h0<9{��M��A����0M ���z�h�q�	���h0����
���
�^��"9_��H8��FJ�
*��y$�����HO�8i`�@���ԝ+�n�l�=�RV��4���rՕ]�������^�B�D(C��Nz'gW2ʮ�����{o�T#��*1����1ǭD� ���A�&�x���c���4F]��dgWȑ����8g�$��ӗ3���S��#��k5��D�v1�%,&�BPMI0�ˁu�vI�m$8��{X:U�;nu
y�=�Ty�z��G~�F�E���W�2+�������!?���
� ����x�zr�������Ɲ�L���+��2��~���MÿEd{J�S� ���Z��@��dN��� [...]
+�����
��8��~�<0L؏���i �n�����;\�{<��2��#q��8�:���nc�s���/���t��`Vz��7mΞ"u�;��QT@�̯�xW,Z�^D���[���R}�x�0��qSp��f/����s�׬{Udw�K��وCL�.�v_[���٣LO�/ߥ�|uO���=u(7�ݫi�nɆ�q��O�wy����n�jN�I=�D�F�\���d�e^�%M5 C�e�j�Id-k�[�Q��c��Ɩ"'�UN���Y����#���9�f�xx)�spbw�Â�t*��v��MI��džn!i>�����\R�l��j�l����0�j�׏�)v�0I��t��v������/�,Q��%������r[Z����Z�p��;e�k�(��*��� ���ɓs�t��`���Zn5�7lխM���鵽��h�@󧮞���mnG���Ï����_�âȦl�1*M�	��
��
F��6MV�ӇŜ���Ɍi�C��y�������A&�����=?? [...]
 (��%
�Ѳ&'(�
+}��RT����T��^�IA��J}n�`�$����Z�1���:#��
a�d�u���H�G��YC�
+��b���
+endstream
+endobj
+7178 0 obj <<
+/Type /Page
+/Contents 7179 0 R
+/Resources 7177 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7125 0 R 7126 0 R 7127 0 R 7128 0 R 7129 0 R 7130 0 R 7131 0 R 7132 0 R 7133 0 R 7134 0 R 7135 0 R 7136 0 R 7137 0 R 7138 0 R 7139 0 R 7140 0 R 7141 0 R 7142 0 R 7143 0 R 7144 0 R 7145 0 R 7146 0 R 7147 0 R 7148 0 R 7149 0 R 7150 0 R 7151 0 R 7152 0 R 7153 0 R 7154 0 R 7155 0 R 7156 0 R 7157 0 R 7158 0 R 7159 0 R 7160 0 R 7161 0 R 7162 0 R 7163 0 R 7164 0 R 7165 0 R 7166 0 R 7167 0 R 7168 0 R 7169 0 R 7170 0 R 7171 0 R 7172 0 R 7173 0 R 7174 0 R 7176 0 R ]
+>> endobj
+7125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 611.237 160.207 622.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+7126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 611.237 220.321 622.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) >>
+>> endobj
+7127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.31 611.237 347.045 622.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) >>
+>> endobj
+7128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.034 611.237 452.19 622.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e) >>
+>> endobj
+7129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 571.506 201.399 582.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.137 571.506 258.403 582.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a01c6cce6c756073f1684c4e7debd554e) >>
+>> endobj
+7131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.759 157.417 527.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.232 516.759 222.99 527.663]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.424 516.759 323.402 527.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ad3ea3f2d15908e9ae70759f247c39727) >>
+>> endobj
+7134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 489.357 157.417 499.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) >>
+>> endobj
+7135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 489.357 228.26 499.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 461.207 157.417 472.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0e0942b92b2f099b4ad4897d2b986dea) >>
+>> endobj
+7137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 461.207 228.26 472.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.914 461.207 311.557 472.111]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 433.431 157.417 444.335]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae3674890a93b407b8080fdd7ea85d93f) >>
+>> endobj
+7140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 433.431 228.26 444.335]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.914 433.431 307.671 444.335]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 405.655 157.417 416.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a660c04b4c90264ea97b3367acb01e8a9) >>
+>> endobj
+7143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 405.655 228.26 416.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.914 405.655 311.557 416.559]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.646 405.655 421.404 416.559]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 377.879 157.417 388.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a50213d8479884e1f0d7fae1c4f817943) >>
+>> endobj
+7147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 377.879 234.885 388.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+7148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.52 377.879 319.278 388.783]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.713 377.879 419.69 388.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ad3ea3f2d15908e9ae70759f247c39727) >>
+>> endobj
+7150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 350.476 165.165 361.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) >>
+>> endobj
+7151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 322.326 175.668 333.23]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 322.326 234.596 333.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a8d9338b98f6d33e111c0c0d70508b4ee) >>
+>> endobj
+7153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 294.55 208.395 305.454]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a097e454cd31f0dddb7e7a7ceab1a2511) >>
+>> endobj
+7154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 294.55 273.968 305.454]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 266.774 157.417 277.678]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.156 266.774 208.963 277.678]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) >>
+>> endobj
+7157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.3 266.774 279.806 277.678]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 238.998 179.554 249.902]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 238.998 250.666 249.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce) >>
+>> endobj
+7160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 211.222 220.579 222.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a85ca415a40fbd066ad850e26b1fe1653) >>
+>> endobj
+7161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 211.222 290.038 222.125]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 198.33 233.76 209.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae73aae9c2283b936cdaf92e13ab5d727) >>
+>> endobj
+7163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 198.33 272.763 209.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 198.33 323.393 209.234]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 170.554 243.165 181.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_afbee4abe5b3b83f47971e19f47f3bb53) >>
+>> endobj
+7166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.502 170.554 327.278 181.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+7167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 142.777 246.034 153.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_accc738986aa1e74d232da8c9cc10966a) >>
+>> endobj
+7168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.522 142.777 360.71 153.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 115.001 231.1 125.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a405f3dfb1b620defbadb0b2f103b8f28) >>
+>> endobj
+7170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.915 115.001 270.103 125.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.916 115.001 345.559 125.905]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.109 135.579 113.013]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+7173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 102.109 155.225 113.013]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) >>
+>> endobj
+7174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 74.333 179.832 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) >>
+>> endobj
+7176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7180 0 obj <<
+/D [7178 0 R /XYZ 89 770.89 null]
+>> endobj
+262 0 obj <<
+/D [7178 0 R /XYZ 90 721.073 null]
+>> endobj
+7181 0 obj <<
+/D [7178 0 R /XYZ 90 628.174 null]
+>> endobj
+7182 0 obj <<
+/D [7178 0 R /XYZ 90 535.694 null]
+>> endobj
+7183 0 obj <<
+/D [7178 0 R /XYZ 90 535.694 null]
+>> endobj
+7184 0 obj <<
+/D [7178 0 R /XYZ 90 450.631 null]
+>> endobj
+7185 0 obj <<
+/D [7178 0 R /XYZ 90 422.855 null]
+>> endobj
+7186 0 obj <<
+/D [7178 0 R /XYZ 90 367.303 null]
+>> endobj
+7187 0 obj <<
+/D [7178 0 R /XYZ 90 341.252 null]
+>> endobj
+7188 0 obj <<
+/D [7178 0 R /XYZ 90 311.75 null]
+>> endobj
+7189 0 obj <<
+/D [7178 0 R /XYZ 90 283.974 null]
+>> endobj
+7190 0 obj <<
+/D [7178 0 R /XYZ 90 256.198 null]
+>> endobj
+7191 0 obj <<
+/D [7178 0 R /XYZ 90 215.207 null]
+>> endobj
+7192 0 obj <<
+/D [7178 0 R /XYZ 90 159.977 null]
+>> endobj
+7193 0 obj <<
+/D [7178 0 R /XYZ 90 118.986 null]
+>> endobj
+7194 0 obj <<
+/D [7178 0 R /XYZ 90 91.533 null]
+>> endobj
+7177 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F66 3179 0 R /F67 3037 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7244 0 obj <<
+/Length 1802      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�S*�z�F^Z7.r�n�I P�J^���%�(���KRm�f
Z.#�I�{������r��4���跋�ѩ�
�u����cõ|d;�kn|�5'c<>3	
Y
L�L��i����,���,����'i"�,InN���'Q ey��/xfo̓��x�uȘ2��t�z��b�eD@"l�R��ƣ��1�ǯ
����k�(6,��磿F�R��U+�3��
K)G���g�� BJ������8:%�ff�P�a��l��2�ԍĢ�6H��M�D��^�ގ���r�v�zĘ�	b!����n9d-Gy�_� y%J�a2�=VP!
Am4��aBl�\��"ϫ��nt2>Ll��,M��2[V���-��T$an
�|�6��dG�F���M�)r,
+BZ�:�D�[scT.�Kp@���z�Vϒ4��ϕ�̉D

s?�c v��Y
����c�}��Im�
O��ry|�g�fj���~'%›�����a�����PD0�x[�����G��jn5�g�AɌE�>A��j�Z�v�C�8'-��%� �"�&~��.j���d�H.�8]򄧅��<�*��b�
x����Tm�L
�8���vi��
Hў@�
b�F���
+���i��J�O�����K"̓hZ��t�ι<$ZU
���:ۙ�E
����Z�*r��5�UG-{�j�c�a�2
����W
��#�X�vUF<
d� ������a�����$غ{��󠰴�/e�lk��,�<�ҥ��)
��t���&�z[�	��=o�rAt
�k�*�[ҶG��D�D2��ɞHу
C~A$�/l��B���J�	"�ԥ�h�K�=C���
�l�Ĭ9��-9������"�L��f�P\i\�'�J9
�-{P�A�S�6�\D�;H�
�� �^��d�ex�7�a]Բ�z(�e�3[�|�����%�w��r��U��nU����Wj#\�j��d2ȅTU1�ߑ��r�m�+�MF̻��P�鼈Wl�3�ɲ۩Ġ���te>?>y��Q
+#��Ƽr�_�O^�*oKӮʋ�yӤ� ��.��ç���A��fM! �ڡx&
�=�

Y��{b����]e����35�lۮ�q��W�v�4v1{��B�d�6
��l���ς<��s�]��ۥ�ŋ��Z�9=�c�
h5+=;J�y�g�Ͼ'��\ʛ
2^d�e�Ӹu��E�}ڥ���0d������L)TR�J)�E��^��l�a4�
��Ч'
+�g��@��n�y^�.�z�P�V�`�A>��p�	s(R;8��"�6
�T
=�C]aCuhN�]I��ϲ{U1�C.墈����AʷQ��E[�����S���ZȲ���������x*��Q���B�U-���ί�Uk��(i�{-����V]�އ��o��G����*
�`�f����s� {WNDm�R]4�7�d�5&��V
:W!+�q�7>+f�;���x<�_
���HB��
�4LY�ı}�mKY��i���y�L�
{�q�u*WAȧ�ޝ�
t�
&qQ-eZ
+��H��ڣ�ߜi�>���K�Q� տ�51쾱J$"A��Q<��_mF���Z
�{D�U�<�ާ*sɁ5��ͨ���x�*Ϝ.��V�ýlw�%$
*I�y�R��t9;V{��_Y�6������oɳ_T�R��]��Β��J�
϶~M.w�u�s�k�J�?��ub�nlvZ��~������ѬXBj�Da߆zGaw��ԧ��4�l���Xg��>�Z���Pj8���
,&�����;��eݱzp�*f��)x{��?��� 
+endstream
+endobj
+7243 0 obj <<
+/Type /Page
+/Contents 7244 0 R
+/Resources 7242 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7175 0 R 7207 0 R 7208 0 R 7209 0 R 7210 0 R 7211 0 R 7212 0 R 7213 0 R 7214 0 R 7215 0 R 7216 0 R 7217 0 R 7218 0 R 7219 0 R 7220 0 R 7221 0 R 7222 0 R 7223 0 R 7224 0 R 7225 0 R 7226 0 R 7227 0 R 7228 0 R 7229 0 R 7230 0 R 7231 0 R 7232 0 R 7233 0 R 7234 0 R 7235 0 R 7236 0 R 7237 0 R 7238 0 R 7241 0 R ]
+>> endobj
+7175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 695.077 187.583 705.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) >>
+>> endobj
+7207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 667.324 227.433 678.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc) >>
+>> endobj
+7208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 639.571 212.489 650.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) >>
+>> endobj
+7209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 612.191 297.728 622.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a) >>
+>> endobj
+7210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 612.191 336.732 622.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 584.065 342.261 594.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) >>
+>> endobj
+7212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 556.312 191.718 567.216]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 556.312 288.852 567.216]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) >>
+>> endobj
+7214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 528.559 191.718 539.463]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 528.559 303.079 539.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) >>
+>> endobj
+7216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 500.806 194.776 511.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) >>
+>> endobj
+7217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 473.426 195.334 483.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225) >>
+>> endobj
+7218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 445.3 201.471 456.204]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) >>
+>> endobj
+7219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 445.3 272.314 456.204]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 417.547 182.044 428.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aa8a21b3b30b29ca087ecc032d1a3f922) >>
+>> endobj
+7221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 417.547 252.888 428.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 390.167 150.493 400.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940) >>
+>> endobj
+7223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 362.041 181.845 372.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) >>
+>> endobj
+7224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 334.288 181.845 345.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
+>> endobj
+7225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 306.535 154.727 317.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d) >>
+>> endobj
+7226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 279.155 176.505 289.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) >>
+>> endobj
+7227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 264.232 450.955 274.137]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) >>
+>> endobj
+7228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 240.07 169.013 250.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a1e7682395739069fa5bee820540b2bd3) >>
+>> endobj
+7229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 240.07 216.335 250.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 212.317 183.698 223.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a01c6cce6c756073f1684c4e7debd554e) >>
+>> endobj
+7231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.438 212.317 238.89 223.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a19173722ebe43fed184ef76abfb1c28c) >>
+>> endobj
+7232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 157.592 203.075 168.496]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 157.592 296.324 168.496]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) >>
+>> endobj
+7234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 143.043 317.229 152.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 130.213 194.297 140.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42) >>
+>> endobj
+7236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 102.46 188.759 112.99]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) >>
+>> endobj
+7237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 74.707 204.459 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 74.707 278.511 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
+>> endobj
+7241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7245 0 obj <<
+/D [7243 0 R /XYZ 89 770.89 null]
+>> endobj
+7246 0 obj <<
+/D [7243 0 R /XYZ 90 712.265 null]
+>> endobj
+7247 0 obj <<
+/D [7243 0 R /XYZ 90 684.512 null]
+>> endobj
+7248 0 obj <<
+/D [7243 0 R /XYZ 90 656.759 null]
+>> endobj
+7249 0 obj <<
+/D [7243 0 R /XYZ 90 601.253 null]
+>> endobj
+7250 0 obj <<
+/D [7243 0 R /XYZ 90 573.5 null]
+>> endobj
+7251 0 obj <<
+/D [7243 0 R /XYZ 90 545.747 null]
+>> endobj
+7252 0 obj <<
+/D [7243 0 R /XYZ 90 406.982 null]
+>> endobj
+7253 0 obj <<
+/D [7243 0 R /XYZ 90 379.229 null]
+>> endobj
+7254 0 obj <<
+/D [7243 0 R /XYZ 90 351.476 null]
+>> endobj
+7255 0 obj <<
+/D [7243 0 R /XYZ 90 323.723 null]
+>> endobj
+7256 0 obj <<
+/D [7243 0 R /XYZ 90 295.97 null]
+>> endobj
+7257 0 obj <<
+/D [7243 0 R /XYZ 90 257.258 null]
+>> endobj
+7258 0 obj <<
+/D [7243 0 R /XYZ 90 176.43 null]
+>> endobj
+7259 0 obj <<
+/D [7243 0 R /XYZ 90 176.43 null]
+>> endobj
+7260 0 obj <<
+/D [7243 0 R /XYZ 90 147.028 null]
+>> endobj
+7261 0 obj <<
+/D [7243 0 R /XYZ 90 120.346 null]
+>> endobj
+7262 0 obj <<
+/D [7243 0 R /XYZ 90 92.593 null]
+>> endobj
+7242 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F67 3037 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7339 0 obj <<
+/Length 1400      
+/Filter /FlateDecode
+>>
+stream
+x���S�F���W�)�g�qw��IL`&��i�R�ݾ@�#�4�%#ɦ�_�շ�H�2؄'}�����v��b�V�ʯ����S�)&29���F1�"t1Oc�R��~
|T4n br�>��lpr6�m��A�C�	+$��!a(�i��3V������f�C�i��T��D�w���D��k$��)���P6BM�
E�����n�2��
�
+l�
+cj]O��W�����ՙ����T:��:q�?�F:��q�:~�u	S-�	�mퟂ
+�馞* �0���ᅫ$
P���0M��HS��`n\Pz�jq�PzDC��x���4J��1
���QA�S�}�61�E�=�r
�,�Uq�������=w��\��.e���V�*;�g�-�pY7q��vlwɒ�7߄�G
��|q��E �E��
+S�b	j�}����*�${�p��w�/���l���k��H�;Y�
�N��a#g�=q�᭼�m��
�='Qb�³���"*
N���@D,
QS+����������:2xbic�,=K��ܤchŶ��L]|�q�	82�E
�}9NpM܁=�M$�%��ΎS�0�z'��FB�%l �B���Hs%B�ɐa
+����h�~J5���uW����Cx�u��<�~�mJ
��0F��L�*�r�I� ���eYjƌ�M���O��W?>�}�Z������I�
���
�����)7����+<t
�1%�obx-ʊb���9N� Z,}:wF� �*���:�3����A�� s�~����M�rz-�Mݤ��o�~���ԐTi���wUk[w&=+ eGG�|�C�g���*�P�^<�
��d;��'��t�5d��d��Ai8#m�n{BC��cb���U��\�� ���6%�t�cRR��,&�q�6%�p�`
+��EM�	�隨���"���%��A���<(,���@���q,�6QZ��ҢM�����pa~���G6��a���?8����|#=�����0�
+�BˮE)��T�Đ&̆ Q�g�
+��ڽ��� 9OI�����<��ϜE
=o%v��,�
�o(�eQM����̢v5��f��w��$�duxX���UdD���ylBT@�(vX9
����OO�8b�=w�gfG���Q�h���k�bg��y�
+����z*j��ipaH�l{��Τ
c�y:�E&��
��"�/)*�զ,=�^�����J��	I
k��₾".w�Ϧ�[<
y�v�3�<�R��"]N��Z�"��@] fFս�
�0�F����1
����m�)��0Y>]���F%�
��n	�A�I�r�������o_z?uS����̭I^D�O���1�p\V��V�2=��\_2�ˣY��TG�eU�wA0;�߿���ҹE#w�-煏&�"�+����i%����iT-����?��
+endstream
+endobj
+7338 0 obj <<
+/Type /Page
+/Contents 7339 0 R
+/Resources 7337 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7239 0 R 7240 0 R 7269 0 R 7270 0 R 7271 0 R 7272 0 R 7273 0 R 7274 0 R 7275 0 R 7276 0 R 7277 0 R 7278 0 R 7279 0 R 7280 0 R 7281 0 R 7282 0 R 7283 0 R 7284 0 R 7285 0 R 7286 0 R 7287 0 R 7288 0 R 7289 0 R 7290 0 R 7291 0 R 7292 0 R 7293 0 R 7294 0 R 7295 0 R 7296 0 R 7297 0 R 7298 0 R 7299 0 R 7300 0 R 7301 0 R 7302 0 R 7303 0 R 7304 0 R 7305 0 R 7306 0 R 7307 0 R 7308 0 R 7309 0 R 7310 0 R 7311 0 R 7312 0 R 7313 0 R 7314 0 R 7315 0 R 7316 0 R 7317 0 R 7318 0 R 7319 0 R 7320  [...]
+>> endobj
+7239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 694.83 204.459 705.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 694.83 297.2 705.734]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) >>
+>> endobj
+7269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 666.582 204.459 677.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 666.582 287.467 677.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a8e5a205098d89ad9473676ae57f29ac5) >>
+>> endobj
+7271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 638.335 204.459 649.239]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.199 638.335 282.496 649.239]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af023b7e8ad5a15b2617878bf2bf93d5c) >>
+>> endobj
+7273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 567.705 222.711 578.608]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.209 567.705 314.187 578.608]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ad3ea3f2d15908e9ae70759f247c39727) >>
+>> endobj
+7275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.794 567.705 361.329 578.608]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+7276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 469.795 157.417 480.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 469.795 200.851 480.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) >>
+>> endobj
+7278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 469.795 305.438 480.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 469.795 428.844 480.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 441.548 157.417 452.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 441.548 200.851 452.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) >>
+>> endobj
+7282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.667 441.548 239.854 452.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.297 441.548 290.484 452.452]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 413.301 157.417 424.205]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 413.301 200.851 424.205]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) >>
+>> endobj
+7286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 413.301 305.438 424.205]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 385.053 157.417 395.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 385.053 200.851 395.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) >>
+>> endobj
+7289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 385.053 455.423 395.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 356.806 157.417 367.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 356.806 200.851 367.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) >>
+>> endobj
+7292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 356.806 305.438 367.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 356.806 428.844 367.71]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 328.559 157.417 339.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 328.559 200.851 339.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7) >>
+>> endobj
+7296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.667 328.559 239.854 339.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.297 328.559 290.484 339.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 300.312 157.417 311.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 300.312 200.851 311.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) >>
+>> endobj
+7300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 300.312 305.438 311.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 272.064 157.417 282.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 272.064 200.851 282.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) >>
+>> endobj
+7303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 272.064 455.423 282.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.817 157.417 254.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 243.817 204.34 254.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) >>
+>> endobj
+7306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 243.817 308.927 254.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.083 243.817 432.333 254.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 215.57 157.417 226.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 215.57 204.34 226.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) >>
+>> endobj
+7310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.156 215.57 243.343 226.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.785 215.57 293.973 226.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 187.322 157.417 198.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 187.322 204.34 198.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) >>
+>> endobj
+7314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 187.322 308.927 198.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 159.075 157.417 169.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 159.075 204.34 169.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) >>
+>> endobj
+7317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.663 159.075 458.912 169.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 130.828 157.417 141.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 130.828 206.47 141.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) >>
+>> endobj
+7320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 130.828 311.057 141.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 130.828 434.463 141.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.58 157.417 113.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 102.58 206.47 113.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) >>
+>> endobj
+7324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.286 102.58 245.473 113.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.915 102.58 296.103 113.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 157.417 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 74.333 206.47 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) >>
+>> endobj
+7328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 74.333 311.057 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7340 0 obj <<
+/D [7338 0 R /XYZ 89 770.89 null]
+>> endobj
+7341 0 obj <<
+/D [7338 0 R /XYZ 90 712.265 null]
+>> endobj
+7342 0 obj <<
+/D [7338 0 R /XYZ 90 684.018 null]
+>> endobj
+7343 0 obj <<
+/D [7338 0 R /XYZ 90 655.771 null]
+>> endobj
+7344 0 obj <<
+/D [7338 0 R /XYZ 90 586.79 null]
+>> endobj
+7345 0 obj <<
+/D [7338 0 R /XYZ 90 516.244 null]
+>> endobj
+7337 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F66 3179 0 R /F60 532 0 R /F68 3032 0 R /F67 3037 0 R /F90 758 0 R /F11 613 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7467 0 obj <<
+/Length 1189      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�H��+��W�Z���h$��a�I*Yo�qؽ8)J��V-HX���
=-�x�[.0�Q���ozzZ3H�U���G�q��S�� ���+R�n3䯞r�b�hM�R/5�T�ڝK� �L�DϷ;΍o��V��s�з
7Ԛ�!�|`AҼ}�k�T��R
�V	�ڏ����v㾁�FH��
��t���H��˟��e*?�NCE'T~�o��
�3�
gQŔ�zd
& S�Ɖ}W"
�n�dx'�F76D�L���:
�D�L)
+%RD���


��'I�m8`#�pZ� ���pKD0����̌�ʠ�[%�,LeCC*
��6sW��6u��džr�d��Ϯ�荄o���YUP�d`<ڝ3�,I�`���#��=���mD��p�N�`�Z��:~ĸ�m�-��צ2(���;�F��s�T8R	<�F�����
�LBo��Iֹ
XGV����:QK֝=�u���8!ɳ�6	q	)1��
�/����ȐSg֚��)�Ԉ�
���a����7Qv�DRq)�VK o

'�B�Ɂxۋ�i@|��^���j&>{�L�
f�C������ߪh�r,{��'�0�h����
#
+=&�'���
,3�(�V�*���Y0X2�t�&�e�.G�L��2G�t}
�%!���{�0t���h�ښ���4�9
+��Wuʍ�
����K���}��H��
y�/�$~Q��B\���q��E��K}��IK�U���I�(�Pf
�'���~�L���c�W&�q at 4�ӗ`KjY��׻��k>1�)��^��E�	e�aA&��&q���-wn�3.7����]M�ͲJ~
����xWW$6��:�IͲJ�U�����,Z��}+�˴�����r�Z4_�g1�Ұ/\�" zq
�s\g`!^Ы��7��t�ꪵ��*o=Bl%���خ޻�CF�]x��ր-�m^`O�k=�k��q��c���t�ٞq�m�Ɗ�\�ʂYЫRY�u�+��3�c;9���o��A8��
��;ŗ�R�΁Y)��l����E��'�ocj�y�o�
�-�f�b~���"i
Z�JL��,%J��d���Ce��A���X��.
G����m �[�z�_�[���s���8��z~j��ʋC;�zBv�,Ñ!,Gɐ�`�7 �9�{��ٍ��OC���I�ϙ��hG�
+endstream
+endobj
+7466 0 obj <<
+/Type /Page
+/Contents 7467 0 R
+/Resources 7465 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7329 0 R 7330 0 R 7331 0 R 7332 0 R 7333 0 R 7334 0 R 7335 0 R 7361 0 R 7362 0 R 7363 0 R 7364 0 R 7365 0 R 7366 0 R 7367 0 R 7368 0 R 7369 0 R 7370 0 R 7371 0 R 7372 0 R 7373 0 R 7374 0 R 7375 0 R 7376 0 R 7377 0 R 7378 0 R 7379 0 R 7380 0 R 7381 0 R 7382 0 R 7383 0 R 7384 0 R 7385 0 R 7386 0 R 7387 0 R 7388 0 R 7389 0 R 7390 0 R 7391 0 R 7392 0 R 7393 0 R 7394 0 R 7395 0 R 7396 0 R 7397 0 R 7398 0 R 7399 0 R 7400 0 R 7401 0 R 7402 0 R 7403 0 R 7404 0 R 7405 0 R 7406 0 R 7407  [...]
+>> endobj
+7329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 693.349 157.417 704.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 693.349 206.47 704.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) >>
+>> endobj
+7331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 693.349 461.042 704.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 662.141 157.417 673.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 662.141 206.47 673.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) >>
+>> endobj
+7334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 662.141 311.057 673.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 662.141 434.463 673.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 630.932 157.417 641.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 630.932 206.47 641.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) >>
+>> endobj
+7363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.286 630.932 245.473 641.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.915 630.932 296.103 641.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 599.724 157.417 610.628]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 599.724 206.47 610.628]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) >>
+>> endobj
+7367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 599.724 311.057 610.628]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 568.515 157.417 579.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 568.515 206.47 579.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) >>
+>> endobj
+7370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 568.515 461.042 579.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 537.307 226.034 548.211]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30) >>
+>> endobj
+7372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 537.307 364.682 548.211]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 506.098 226.034 517.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acedadd7f7742a18d941ded77da69ba9a) >>
+>> endobj
+7374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 506.098 389.897 517.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) >>
+>> endobj
+7375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 474.89 180.54 485.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) >>
+>> endobj
+7376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 474.89 251.383 485.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.116 474.89 336.623 485.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 443.682 178.239 454.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) >>
+>> endobj
+7379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 443.682 249.082 454.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.815 443.682 334.321 454.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 412.473 156.281 423.377]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab12acbd3962ac07c4db8f1994351668b) >>
+>> endobj
+7382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 412.473 203.603 423.377]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.815 412.473 265.321 423.377]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 397.865 180.54 408.769]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) >>
+>> endobj
+7385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 397.865 251.383 408.769]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.116 397.865 336.623 408.769]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 383.257 178.239 394.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) >>
+>> endobj
+7388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 383.257 249.082 394.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.815 383.257 334.321 394.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 368.649 157.417 379.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 368.649 204.34 379.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) >>
+>> endobj
+7392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 368.649 308.927 379.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.083 368.649 432.333 379.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 354.041 157.417 364.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 354.041 204.34 364.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) >>
+>> endobj
+7396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.156 354.041 243.343 364.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.785 354.041 293.973 364.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 339.433 157.417 350.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 339.433 206.47 350.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) >>
+>> endobj
+7400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 339.433 311.057 350.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 339.433 434.463 350.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 324.825 157.417 335.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 324.825 206.47 335.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_afe7cc9f7ed389844bb2484ba6bebdde0) >>
+>> endobj
+7404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 324.825 268.995 335.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.958 324.825 343.146 335.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 310.217 157.417 321.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 310.217 200.851 321.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) >>
+>> endobj
+7408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 310.217 305.438 321.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 310.217 428.844 321.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.609 157.417 306.513]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 295.609 200.851 306.513]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_adda5908777a9d901f2e7bcf7f61b9d67) >>
+>> endobj
+7412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 295.609 263.376 306.513]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.34 295.609 337.527 306.513]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.001 157.417 291.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 281.001 204.34 291.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) >>
+>> endobj
+7416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.663 281.001 458.912 291.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 266.393 157.417 277.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 266.393 206.47 277.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) >>
+>> endobj
+7419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 266.393 461.042 277.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 251.786 157.417 262.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 251.786 200.851 262.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) >>
+>> endobj
+7422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 251.786 455.423 262.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 237.178 157.417 248.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 237.178 204.34 248.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6) >>
+>> endobj
+7425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.677 237.178 308.927 248.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 222.57 157.417 233.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 222.57 206.47 233.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) >>
+>> endobj
+7428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 222.57 311.057 233.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 207.962 157.417 218.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 207.962 200.851 218.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) >>
+>> endobj
+7431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 207.962 305.438 218.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 193.354 157.417 204.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 193.354 206.47 204.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) >>
+>> endobj
+7434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 193.354 311.057 204.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.213 193.354 434.463 204.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 178.746 157.417 189.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 178.746 206.47 189.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a858b9fe39b14cf51d179a84be1605436) >>
+>> endobj
+7438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 178.746 268.995 189.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.958 178.746 343.146 189.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 164.138 157.417 175.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 164.138 206.47 175.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) >>
+>> endobj
+7442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.793 164.138 461.042 175.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 149.53 157.417 160.434]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 149.53 206.47 160.434]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) >>
+>> endobj
+7445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.807 149.53 311.057 160.434]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 134.922 157.417 145.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 134.922 200.851 145.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) >>
+>> endobj
+7448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 134.922 305.438 145.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.594 134.922 428.844 145.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.314 157.417 131.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 120.314 200.851 131.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a32d23987abcbb26d66dcc31aa003b70d) >>
+>> endobj
+7452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 120.314 263.376 131.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.34 120.314 337.527 131.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+7454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 105.706 157.417 116.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 105.706 200.851 116.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) >>
+>> endobj
+7456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.174 105.706 455.423 116.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.098 157.417 102.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.915 91.098 200.851 102.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e) >>
+>> endobj
+7459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.188 91.098 305.438 102.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 76.49 156.281 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ab12acbd3962ac07c4db8f1994351668b) >>
+>> endobj
+7461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 76.49 203.603 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.815 76.49 265.321 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7468 0 obj <<
+/D [7466 0 R /XYZ 89 770.89 null]
+>> endobj
+7465 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F67 3037 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7498 0 obj <<
+/Length 2301      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w۸~ׯ�[�&�	������v��K��nܾ${|h�v�J�,R��_���)Ȓ�MO�D
�of��GwQ
};����쭠Q�RNxtu�q$�1O��ØP9��ꇈr�p��+=��/?_]�|�^�]^��G^�6
+2�-G~��9
�ň�2z�B�(!�����o���#�ԭ�X�@W�2���
	“)��x�M�d�"�O��Hx�g�b�U�
tS����8��1!��?��,
/�2���>��d��ٚ�ʎ���l��@����*�'7��g���5��Snnf������u�;��_�
E���UY7�(��B�ۢ�f�s}��
%T�9±u�GB�P�ee�Z��[�9�I�7�J1��Y�8�(0H��0�aR�pj�J+F=����Ka���D8"D8
�j���H4(hi�bWA�N�;�W�0��`*S#��c�p��$e��z�(��|O�1���IH����ž�W���
u���U"P�����

9�.�Ef0O����b*QBR�U���^($�U9��]���D�{
��Q�J~p�c�%��
.~�����`
��\c��<6
X��`�$���� �#)�I <|�"��'���Ħ�E _1���/U�N1������ 4XB��$�i(S�@vZ[UI���"O%
ϋe^֊��qE��d\��Y�:�{03k�rR��'&��w,r�O0��k�fV��~ [...]
Q 5��1�jq����S�;��
Z���(�-��+�i
�
���.}�CG������� �����rn�Õa�o���0-!�����K���Mi
+1���E0ψ������t�F�I������Q#���xA
+���g�\��R��J�7n�e�X,7��l
+C���B�`9�ۀYMm�ٳ޲]�Y46yK7���=�<6L5*�(�
����A[{[-����.T_��;[�y�,��ZX�a
s�*���ZS�I�ˍ;
+���m
��P��6I	�;X����,O����|dh/
]X����0�G	#zGT��-/�pEzʁ?�`���rY��n�(��!�'%KZ�#�!�(�݈H�q/
@L��'�9t�V��g at 8����+q�z ��yO���'�(��@��Q��Ps��-"^�e�1
��4I 
tb	�]�~F��FRy�Q���I{�S�<��u��a
+�m�
t���
|�C�[�p(잝
��r��<����M�Bu~=S��6E2�Q at X�
�?��aɢn�ф�+s�{8S
��o�ۭ�hj��\���k��Lq
1�b�sw�i� �?���(��^�s�R
��olQ�qW��ٚ��B��F�Cxrd���&>匁왅<?
�P�.{��V��6�
0t�.��ąb�Z�Zr��}ax at g/E�p<
+&:
)�
+`��ǽ����&&@4�����!���� QH�&(�4̪5����w�*xXtD�	@\
�8� ��$C�4�
����܇� �1��;�0?c4��Y���Lh��SR�٫�!
+M"$��a�*I�S��sL8��@��Ц��_��34j�2��!�~����o?�2�����e^`�v����C�̣�c���
�!.=�����&w�B-�@#�F�$h�f�:���ڹ��5���t~�|{
���
+v~FT�\Yan���l6����M�|a��tj�}
jw|Y���('�n} �Ϫur�}�`����L�p��B�KDu�9�
X�c��}>�Q�\_�g<����@���?^�y����I��{w�Jȗ[�p!_t!��CD5�� ���va�
����)��e�
+eP��C�
+������
����VI�ڒ�X���'3���
� A���>Lb��W��v,�/�{��}cξ_��
+�uꦠo�)������<1t
+�����	�w?���������b觬�g�/M�]ww@��}�j���_��5�����X�?5�����fsW��
�U����t���
ƭ��_0`p���p��
D���
+endstream
+endobj
+7497 0 obj <<
+/Type /Page
+/Contents 7498 0 R
+/Resources 7496 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7124 0 R
+/Annots [ 7463 0 R 7483 0 R 7484 0 R 7485 0 R 7486 0 R 7487 0 R 7488 0 R 7489 0 R 7490 0 R 7491 0 R 7492 0 R 7493 0 R 7494 0 R 7495 0 R ]
+>> endobj
+7463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 665.756 221.326 676.66]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 342.962 158.921 350.488]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 289.636 158.921 297.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 248.266 158.921 255.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 207.052 158.921 214.421]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.956 207.052 313.741 214.421]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
+>> endobj
+7488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 157.554 158.921 165.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 157.554 297.003 165.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+7490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 141.614 158.921 149.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 141.614 297.003 149.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+7492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 125.674 158.921 133.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 125.674 297.003 133.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+7494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 76.49 158.921 83.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7499 0 obj <<
+/D [7497 0 R /XYZ 89 770.89 null]
+>> endobj
+7500 0 obj <<
+/D [7497 0 R /XYZ 90 721.073 null]
+>> endobj
+7496 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F11 613 0 R /F8 794 0 R /F24 529 0 R /F75 554 0 R /F32 764 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7511 0 obj <<
+/Length 2321      
+/Filter /FlateDecode
+>>
+stream
+xڵ�r���]_��C
+4�j/�ʎ;�"'NDZ��t
��"&$@�e����=�  B4�O���=��s�P燓g����pR�F<rf
'�N
�$�`6w޺��=�QJ�W
�nV���W
�n��[�y�]]�uVߝ��We��YQ���Cꞯ�����r!k�%�,s	�D
1���{7���bv���F�a�AH����'o�Qg�?9�G�8����	��q�9���b���P}���0w$&)�4pb&HBC$���c̽\y��E�ld��$�!ߑ�0�}�<�?����9%T�Ko��C���BW����E�ݵl�ռQ
����+u�C1�s�R��
��?f�4G3��a�˥��`+�;+�t���H�W�!�/*t[T�燡p��Q�>c$

�M����΋�,������h�6�H���Ӑ���lU�w^��dY�>�]h^� k�������U?�4}P��V[�x�0�-^�&͗��	��J.��)�y!˶!C��l�d~'� �c�x"۬$j��
+4���]T�U��-�\R�������03����j��ze�j�1�s����,_�joٓ{
�e�g���:I@�h��P�,�4G�)�� �%�͓@kSQ�^����j�5RA;}�X��"$I����������� �♤�
�0g‰w�&�+w�b����(�Ʈ��7$,� �9�n�G��2�D��90P��ʘ���ܽ�}�os��
WKi�I1| u��e���9ꥒN��
j
�(NGbnM��+e
kiÇ�o��6��T�:�V�������Q�Ve��6��6G;ҡ�iL�^~$!�yrH�b���&�/�y��Q_�8�V$ ;E�
|2�+	;}:JWȤ
�0^ߘx�Z9�8t"��"ѾQ�`FA����)<����[?��#gJ>zz�㠹�Đ�P��
A�]o�%��[��k��y�cM�Q���k���1P
x�j�(�����c<������C	�H��2g7���U?�B����)� ps��e9_=�
$M$J����L�I�(���sF��r�"^�^E?1J�O��
^�ee6 `�Fg�� ���#ň]�0��!�g��K�(��.>n��dȼ�Pa@�u�4,GGF��
�J�\�
D�;�^���#�^ߘ�
�Y�>��-���^PY¢�������.2H6t�
�	�� [...]
�0�t���8��M!j���-��$Ή`A?Ӆp
U�V�J:�o��ֆ�f�)��_�N���&� �� �`xJb�v
`�
�[/<�w;��>7�jT��M����
5�
?���� Q
������Qğ��T��3Έ¡���Z%��e�B�(�L���C�mVQK`y��m�oWY��N�ԷNu�X�H��jsW���E��
.�
]-d��+,-�j� �7��6r
�i�j
�g� A��K�
+I���7�^b�͋9<=7����& ��$�гk����Y��e���
��\.p��*�*��m����
�� >A�y��F��EʽVW7C�@^Jb~�!�!7M���~Ӈ3ʣ!�֬�M<*��/�$��G/�f��`d�]:�O
:s ���<{i�n�u

�M( �[O&�*�]!���o
+9���l��;7yv���}-?�(�f4�~��ޑ��e���e�����_�{�!} ;_VǺ�;���$6�T�I��&�B�
��ʺj̞juX,�O��\)��XC�#̛�N�V'&
���b,�FC��-:ۖ{B�"��xp����i�Ł;�h�jd�%�
b�7�Z=��q
�
�.��X���U��DWF*LR{��oO/_��}��0&<�J�{��iQVv�k���!b�y���Ԇ�_^���~q>�z��,O������a��M�O�m�D�Mc�aXC
�Y�P�?����CH��)�
�A��\e��kc�r��y
t
�h�܏�,L�S�l?#2��F�hP���
<����`"8S�{o_ PBY<Dݏ�C�3tA�_[�n]��A�?XCA�N��G
�*��~m�x<�MG]��'`�@D�o���a;��\�ۢ\�ʾ;�U!�lh���E	^�Z�F9�A�3
���GhA�ű?��
�Ћ�2�I�����W���[#�)<�����]%�Dh��a�F-2B��	%u�Hs�?
��O,w���Cr��e�n�NO��7�,oH^���ܣ�w
+��6
�D��ֵt�㈵
+�ǐB�q�	`�{�yP���o�i/���k�|_�w�R��b�
+endstream
+endobj
+7510 0 obj <<
+/Type /Page
+/Contents 7511 0 R
+/Resources 7509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7501 0 R 7502 0 R 7503 0 R 7504 0 R 7505 0 R 7506 0 R 7508 0 R ]
+>> endobj
+7501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 581.269 158.921 588.795]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.376 533.448 204.949 540.974]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.454 509.538 167.29 517.064]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 453.92 158.921 460.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852) >>
+>> endobj
+7505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.448 318.313 237.536 329.217]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a19173722ebe43fed184ef76abfb1c28c) >>
+>> endobj
+7506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.47 318.313 515.72 329.217]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7512 0 obj <<
+/D [7510 0 R /XYZ 89 770.89 null]
+>> endobj
+7513 0 obj <<
+/D [7510 0 R /XYZ 90 395.464 null]
+>> endobj
+7199 0 obj <<
+/D [7510 0 R /XYZ 90 371.056 null]
+>> endobj
+7514 0 obj <<
+/D [7510 0 R /XYZ 90 371.056 null]
+>> endobj
+7515 0 obj <<
+/D [7510 0 R /XYZ 90 304.145 null]
+>> endobj
+7195 0 obj <<
+/D [7510 0 R /XYZ 90 281.649 null]
+>> endobj
+7516 0 obj <<
+/D [7510 0 R /XYZ 90 281.649 null]
+>> endobj
+7196 0 obj <<
+/D [7510 0 R /XYZ 107.713 197.755 null]
+>> endobj
+7197 0 obj <<
+/D [7510 0 R /XYZ 107.713 181.551 null]
+>> endobj
+7198 0 obj <<
+/D [7510 0 R /XYZ 107.713 165.346 null]
+>> endobj
+7517 0 obj <<
+/D [7510 0 R /XYZ 90 148.025 null]
+>> endobj
+7201 0 obj <<
+/D [7510 0 R /XYZ 90 125.529 null]
+>> endobj
+7518 0 obj <<
+/D [7510 0 R /XYZ 90 125.529 null]
+>> endobj
+7509 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F8 794 0 R /F75 554 0 R /F112 1773 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7525 0 obj <<
+/Length 2549      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s۸�_��
5!�&�>��$��]����2.-���������(J�m�
�$�� v�ۅp�
+p������E,�HK*��@� �		�-��!�x�����I����}����~��2�.�^_|� �
+�	(R�b{��
���� #�U����2�n���^�ږ���0��R[2;
�F� "
i���W��d(��;���(a
��s�^��ٜa
fɌ��[-�L�X�s���"�<�Z�o򬬊8�*O�5"����̎[�3���a-�2z̫2�֏�dW$e�Uq��{��ݿ?��;B�,�ܣer7#8������Ԏ�a�;�:�:�`ƒ�B
'H
�&
� ��4[�e�f�}Z���M��ܼ}lœDv �3�p��c�8��9����rв�����ԁ�"�\�"�t�,��@$EL(E�Rԙ�q�h�of�|�dY��@1��j
+(��7�����\�������a������\�pa�K1IG�F��=��p��jF��
 `[/~�̀ū1u��
�L�IV���T�dL �
G���U��E2���7Z�cD�󧭺��H
��@2xF��ܑU!��]XqR�[�󦴝��4ۤY�ŋ����pK@��ٟ���]vS����
��[Z���*5��@"s���M����0
1� ��)�D� 
���p*0$>���P0�0gS���)Ξ���Р�g�yh�X��R�DC�i
W�>��H�
�
�V�b5��q��z�'p�Qa�WG�J	�@7����,ˆ����?�h�`: N[���}0�D���.��ۤ��z�$C���"��-ԕ.��|��x�V
$z[��Q$�č�˭_=�)xI�@S��DX�����"ٙ�,Gq�:F���r�?.NR_ˮ�!��I��"���
X"}2�f�}��d(�|�i��X4B�$��Iq���� f�0�zo�jyy�f3	\hy(¢p�VR��c�A1G
+�Igj�
�g0U� �dtj���H�(�gz�.r�tk*�ލDx��G���ZZ�b�.�"�%�0
�����/�q�� qҀy��ӵ��n�=f�$/��[����KU�n�-j"���/�ö�}D��%8מ|Dj
��D����J~�RD�׀0� M_F)d
+
YQL��)rJ�)L�j},}�R�2��aD ��&0��
 �s��a�$3=�Z��+_m[�9����N@<���zNB��sdb\iD�s����5��(:�������|
+5]='�����J>���/;���
޻R�+��":&�-6y	��3��W�E�w�
�� ��nO�Nˑ
 ��nP>�: 9
��޴��	ю˞SQ�I	�У�
�5��<7�!��#8�a��S/�1M�E�J#J���� ��80�(��67�t?,
����ˍbLx�l:gDO��D�Z۰*�_4� 3
)# ����>�\)5�{ys����`���E�
��`�Ǚ{�ƀ��=)G䂟�.���r�L�߰H�p<�p�Q�K)�M��:(��o�
��S!IE�EDeԂ�T

���p������ֻ⾨�`�A�t�N��1�i6��p:'���#�(�����7�nkEq��6o�T�\]��

x�q�m
h
���ja�M��׻P�ǿlL��Ͷ�
�,�j_d�j� M�Ѩ�LuO������+��&����웖Y�?K�e�gwy[dlw�zoӮ���f}�wa��$K����A�ъ��eyN:RҮ��՛l����e$ +@� ��KRl��+����8�S�`'��uz7F�����	�a`x�g�Qj���F��������G��D����3�V�9�lG����y
J�`�)�Nۮ�X [...]
+^Yg�G<�}�c�
���BKZ~��\ջ
0
+-����q�*�z�MAp�g�����0
~7�΀'��2G2O��u{:Ÿ��TW1\��	J�lQ$q��3�~ʡV�s9�rF���
uj��m�S��iF21��y��o`���APi�6-�B��)F�(�x���*//��!|B
��y�z�&Hɾ�|'
+�¶���S�Ĝ�*
Mb��`)�o���0p�'1�qs�!|�f���%v���,���(kN��9h#@Ԛߠ
�l����aT�
�:���fJ�s�O5Q��C�9�%	f*�S����K֐f��`: �n}2i=�4��`�j���b�� #����� �
�(��S��t_r���Q9�Ȳ�l�b�y>�$�?ͪé9��+�#�<Ȗ���ݿ�
+V	-N(��;�Y+��=C�
+��[M�՞��/s����)��]��

4#�I�������g����T��9���|��Փ�)���E��� ?k�kʯ`+&QD����}�|S?x��-
~�AX'n���&
��MM�a[�1�����u7�*�⧙0m0��oq���Mw]��c�a�]��UҔ�ή��f����_�
�����jw����~U&�
+-��a��>�Pnu̻mIl���>�pk���>�?5]H
+endstream
+endobj
+7524 0 obj <<
+/Type /Page
+/Contents 7525 0 R
+/Resources 7523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7507 0 R 7520 0 R 7521 0 R 7522 0 R ]
+>> endobj
+7507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.526 692.754 188.032 722.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.526 570.716 188.032 600.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.907 252.764 435.73 263.668]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+7522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7526 0 obj <<
+/D [7524 0 R /XYZ 89 770.89 null]
+>> endobj
+7202 0 obj <<
+/D [7524 0 R /XYZ 90 671.833 null]
+>> endobj
+7527 0 obj <<
+/D [7524 0 R /XYZ 90 667.35 null]
+>> endobj
+7203 0 obj <<
+/D [7524 0 R /XYZ 90 549.794 null]
+>> endobj
+7528 0 obj <<
+/D [7524 0 R /XYZ 90 545.311 null]
+>> endobj
+7529 0 obj <<
+/D [7524 0 R /XYZ 90 474.605 null]
+>> endobj
+7530 0 obj <<
+/D [7524 0 R /XYZ 90 435.327 null]
+>> endobj
+7204 0 obj <<
+/D [7524 0 R /XYZ 90 410.794 null]
+>> endobj
+7531 0 obj <<
+/D [7524 0 R /XYZ 90 410.794 null]
+>> endobj
+7205 0 obj <<
+/D [7524 0 R /XYZ 389.246 359.291 null]
+>> endobj
+7532 0 obj <<
+/D [7524 0 R /XYZ 90 352.651 null]
+>> endobj
+7206 0 obj <<
+/D [7524 0 R /XYZ 462.17 255.917 null]
+>> endobj
+7533 0 obj <<
+/D [7524 0 R /XYZ 90 249.277 null]
+>> endobj
+7263 0 obj <<
+/D [7524 0 R /XYZ 158.014 187.791 null]
+>> endobj
+7534 0 obj <<
+/D [7524 0 R /XYZ 90 181.151 null]
+>> endobj
+7535 0 obj <<
+/D [7524 0 R /XYZ 90 112.448 null]
+>> endobj
+7264 0 obj <<
+/D [7524 0 R /XYZ 90 77.486 null]
+>> endobj
+7523 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7541 0 obj <<
+/Length 2372      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�SBN��^�
6錛؝�NFuԾ8
� 	S
+�AP��}�� ,�$؝����Şo�~�;�,,
�D8���_�ON�J%(�i
�_G	�$O����U�aB0bt:#��ٔ�IZݥgS�'���6��ҋw�e�V����e���4/��
+<�q��V��}v�US�&Y��`>&c2��L?��|�����	D8"�@RE���qt�� G���f�]�)��e���?N�[
FT�K��s�K#�YH��]���R�ܬs
�
+)%�D
'� R����	�(�����)���)!��M�$8�
	�v/�35	�s>�W�X<�y<F8�,�F���rY������X��,!T_{o�Al��o���3�N=7\ ����}V���,
+B at t�0���,�j��A��4F
?(��,O�+{Q�G{?��)�<-8�,�O��1���e���6_��-���v^�2��cu�K
֟Ml?�	̢�բ���8�������D1D�1�z��›�M�f<L�������Mp�r7K�I��^\��e9�b�9/n���n5�<"��`�� 
֯��pԇ���ʳO�t�׏s�X�� �@"���>4� 
�(�`J�0F��`��a��:�`#�I�fc�ٝ!1�T�!d��LDž��L�$q��7�H����3����S�f�DH�z�O�� 
��
+�?��- 	�:C��K��J5��~�VCR�,�O�U���C�����dϞ�I������Py��$cy
�A,ࣰ�
�����Y�w��D�1�
�2W���bJ�9k�g7��(�8XP����N?�e�dg�um#:�:Eˬ!�A4?�⊁��/:7��
��t2����	��c
9��dt��2/(�{�
p#�
&���a�
?��
+XE�%���1yt�=_s�Tt� �����5_��3�ƽT݇V�=�
Wq_�o���ew����׍���/)��1GP��މ ;�)jO�o��GC��P�A�yi(^�/�P�~��Z�gx��Nϰ?r�S#g��B>���<5fc4ܼ2�G7#@�
E �I
�`|C�)�M��.um�i_D�Q�C�He���n�E��.�w_\��h2j�e�X�{B���#ٕID�f���
	ªӍ
�Y1) ����og��o�������`:ޔ+i�5=F������b�OZ�FK��p�-���l�	�F�^�1>����נ�zj=du�귝�׻
�3���d`���
�ć�3���ײvc���
^�hx�����&Q&�e���>s��]��T��{�̿����W

�&B��sYַ�A����<o��6�i�3�zJЁ�ģ���S�89:� �g� “2�`|��br�,��r
�,A,�
)��p�W�+�1"T}�#�MuWHH��ͮ ��+~����z�-�!�����a]2v���o����O�,-�6h�V7���M�d���ċ��L3�vY���
+��-V����죽�ws
���_kK�����qi�0Y���&NV�EN
dWr3r��7�����Io 
+�aH���P3�K�i�g�!�y���H�@J�����
+1-XT��V��4(��q�;���������'
%6	����XB��q��p�ps��R�k
+�����+9p�(�2{e����+w�6��¾�
+(��]S=t�H����
�(L!D)�1:%��ɼ5B�
�7�*_5O�k�ܑVoZq<PG���
�;	+�*�m��@��\v�
��
Kh�c�t�ҿ>{[�Yq����)���}�L��}y�.�s���T.�P��\���Q��"2�;-C̝С���K���aM>�~P< !tR�N�j{�J�HMg�w*�b
�'׳�L)#����f��A���;
�Q�^�͈��*�G$���W�4��d;BDzUK��iѣO A�%������O�'N�<�y�
���#��6�؁����1���sc� f6�ID�c�M
+╧��l�Z
�����&$PC
5_���-\�b���������8J��T�M҇H��HʞOR1
I[�v�
�Tvު���	��^ݤ���;w��k��]CD��A'�PRsA:��9�#��5S	����ԫ��m$C�!�y�yh��֫�z*'��i1
�I�O�`_
3�7Il���<���C4��8Kz����6����t���C�Z�l&�R`J�����r��
�s���;{�O(�Z
���k߮��}i�
+w�I��-�x�[�9��"���
+
	������秧��UVܠEy����u$����g������w^���b�_����Q at 7C�s� g~A�DJjFt�͏�Aw��ow,�����_Y$�
+endstream
+endobj
+7540 0 obj <<
+/Type /Page
+/Contents 7541 0 R
+/Resources 7539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7536 0 R 7537 0 R 7538 0 R ]
+>> endobj
+7536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.507 332.884 236.499 343.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) >>
+>> endobj
+7537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.256 276.714 511.506 287.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+7538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7542 0 obj <<
+/D [7540 0 R /XYZ 89 770.89 null]
+>> endobj
+7543 0 obj <<
+/D [7540 0 R /XYZ 90 721.073 null]
+>> endobj
+7265 0 obj <<
+/D [7540 0 R /XYZ 90 599.456 null]
+>> endobj
+7544 0 obj <<
+/D [7540 0 R /XYZ 90 594.973 null]
+>> endobj
+7266 0 obj <<
+/D [7540 0 R /XYZ 90 468.683 null]
+>> endobj
+7545 0 obj <<
+/D [7540 0 R /XYZ 90 464.2 null]
+>> endobj
+7267 0 obj <<
+/D [7540 0 R /XYZ 413.145 397.877 null]
+>> endobj
+7546 0 obj <<
+/D [7540 0 R /XYZ 90 391.237 null]
+>> endobj
+7268 0 obj <<
+/D [7540 0 R /XYZ 464.551 336.037 null]
+>> endobj
+7547 0 obj <<
+/D [7540 0 R /XYZ 90 329.397 null]
+>> endobj
+7548 0 obj <<
+/D [7540 0 R /XYZ 90 251.751 null]
+>> endobj
+7346 0 obj <<
+/D [7540 0 R /XYZ 90 229.374 null]
+>> endobj
+7549 0 obj <<
+/D [7540 0 R /XYZ 90 229.374 null]
+>> endobj
+7347 0 obj <<
+/D [7540 0 R /XYZ 90 177.482 null]
+>> endobj
+7550 0 obj <<
+/D [7540 0 R /XYZ 90 172.999 null]
+>> endobj
+7348 0 obj <<
+/D [7540 0 R /XYZ 90 133.267 null]
+>> endobj
+7551 0 obj <<
+/D [7540 0 R /XYZ 90 128.784 null]
+>> endobj
+7349 0 obj <<
+/D [7540 0 R /XYZ 90 77.097 null]
+>> endobj
+7539 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F8 794 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7555 0 obj <<
+/Length 1545      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�F~�_��֞�7w{��#yh
����}	L�2Ml���?�+��Y�dٖ��C�}�������$��]$��N'���<x�&�\F^DV{ ��{�Q����I���
ߕ~����'��O^&�

M����
X]�
�_��-�$����J�D���^~�M,�����&2�U�LJ�2�@�E:	��	�A(]�:�-W���l�--Y�����C����l
{
+��(_���$,�+^	��6��Ǘ�����8���/��R�7%���!x狼��Z��R�������In{W����ѻB�T��"�
�a��gq�T�}��>��7ui��Òb�G�>e����,�.�x����H�a�\^�g5�
�|~�Wu2<����� ��:u����֌��R�d7D���E|=]�o_�ǒ����6?�`y�R���_�է�l9#���}�]\Tp^
+��*�9�A�c �
+�K&�|%�`	�-L@���+��th0��lw��l��lE�`j��S��,3ۙF0*	�
F�l
�
 k�b �>tAᏊеFX���.@
�	c��_
abY
��U�ܢ����T��A��M�hj9c�wÀ����nx;2˽�X����p�������\�TѪ�9�K%W���[X7`ՠo�*� �C����F�7H�=�t} ��AJ��4T�0���:T׃�
�:f��:�b�0
�S!I;K-H��H�%�e�ӂ�g�)ʫq�dɣ ��=]ݓ���'����p���g}�
݇l_}�mp;k
�f�n��o�9$�Y��L{�|�}H�ĔbS�h�
�皬��Q֯(��%��>�(�p�weZU���!'K�BZ�FHY�.�(i��M��.�� �
�^�j�P�I+���V|�<�|iҪ<q��ևuF �7e�xmZe��a8��
�U�|tM�P�#Ϳ\!��E�#��k�����5i�,��j���J�G4ng۪�
�b��Q��s
�"��NB�

�lJ���s
����
��e���n��
��B,��c�B�˞�B
�J�PME�2A��������z�R�R��j�I0�t�:
O~<8'�
���i�zp�����~�iS+6P`��& )z������jE(yC��
�Y�t`h�?C+bE��3�����}��U�p+�7:��Qڶ
+h-[ՎG�K���a��6F�j�΍��ߋ�5����~�sHz�@-}r�n5�)N���|��xJ��7N�Ѽ�
4WG9����{��s1�vu
+:�
+�>C��{�P���L�U��d2b7��̫&5%y6�K��d`0��7��,����z�1Iݹp��"+O�z���	y7���'E���.OB�G�
�j�)nݨ-�T�|dW|��3��u�~�߳����}?gc�ܘ퍃�b�=�4�K��xY�i��fM��I~:/^<�.~[Ƌ�GD����4�}�^g�I�X�$1$�:�~(A$x��X1�_��/Y\a?
��O��8���Շӓ�7��-��;����^�����
d��|���Ռ?���8κ��#���
+endstream
+endobj
+7554 0 obj <<
+/Type /Page
+/Contents 7555 0 R
+/Resources 7553 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7552 0 R ]
+>> endobj
+7552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7556 0 obj <<
+/D [7554 0 R /XYZ 89 770.89 null]
+>> endobj
+7557 0 obj <<
+/D [7554 0 R /XYZ 90 721.073 null]
+>> endobj
+7350 0 obj <<
+/D [7554 0 R /XYZ 90 676.658 null]
+>> endobj
+7558 0 obj <<
+/D [7554 0 R /XYZ 90 672.175 null]
+>> endobj
+7351 0 obj <<
+/D [7554 0 R /XYZ 90 620.488 null]
+>> endobj
+7559 0 obj <<
+/D [7554 0 R /XYZ 90 616.005 null]
+>> endobj
+7352 0 obj <<
+/D [7554 0 R /XYZ 90 576.273 null]
+>> endobj
+7560 0 obj <<
+/D [7554 0 R /XYZ 90 571.789 null]
+>> endobj
+7353 0 obj <<
+/D [7554 0 R /XYZ 90 520.102 null]
+>> endobj
+7561 0 obj <<
+/D [7554 0 R /XYZ 90 515.619 null]
+>> endobj
+7354 0 obj <<
+/D [7554 0 R /XYZ 90 463.932 null]
+>> endobj
+7562 0 obj <<
+/D [7554 0 R /XYZ 90 459.449 null]
+>> endobj
+7355 0 obj <<
+/D [7554 0 R /XYZ 90 407.997 null]
+>> endobj
+7563 0 obj <<
+/D [7554 0 R /XYZ 90 403.514 null]
+>> endobj
+7356 0 obj <<
+/D [7554 0 R /XYZ 90 363.782 null]
+>> endobj
+7564 0 obj <<
+/D [7554 0 R /XYZ 90 359.299 null]
+>> endobj
+7357 0 obj <<
+/D [7554 0 R /XYZ 90 307.612 null]
+>> endobj
+7565 0 obj <<
+/D [7554 0 R /XYZ 90 303.128 null]
+>> endobj
+7358 0 obj <<
+/D [7554 0 R /XYZ 90 251.441 null]
+>> endobj
+7566 0 obj <<
+/D [7554 0 R /XYZ 90 246.958 null]
+>> endobj
+7359 0 obj <<
+/D [7554 0 R /XYZ 90 195.036 null]
+>> endobj
+7567 0 obj <<
+/D [7554 0 R /XYZ 90 190.553 null]
+>> endobj
+7360 0 obj <<
+/D [7554 0 R /XYZ 90 150.821 null]
+>> endobj
+7568 0 obj <<
+/D [7554 0 R /XYZ 90 146.338 null]
+>> endobj
+7469 0 obj <<
+/D [7554 0 R /XYZ 90 94.651 null]
+>> endobj
+7569 0 obj <<
+/D [7554 0 R /XYZ 90 90.168 null]
+>> endobj
+7553 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7573 0 obj <<
+/Length 1580      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�F��+��TE����C
;eG�(����rA�Hb�$���Oc%\DB�+�8���y��`D�s����k'�p���w�F1� #�t.�
�
�
�:]������
��M�/�
�n8������r6������8�GA�
Q��Wc:�n��+yD�6X�ǔ$.���|����w�#�vH��@J;�I��g�
��;�|MM
N\�·ޟ=\1-5	dTM"�d���d��\#��N�.ٓ�����14����Q6�Z
d
&��/D)>/���q?a��#.ha�>aL#�)R��
JS6�F�Ѧ�۪��VȀ���J쏧�� �����R��9;c��ܑ��k�3�c��aR�V�S�kA�6�RQ[v�6�u6
+�}y��6C�t:
+��,��MFp)�6�8bR"��s�!����$WST����1�c?�����>~#+�A�RD���|o�Y�̌olv3���2��[V�4�\#.u
�r
�� 
M�Y	UN�2�+�;�P����zU
 j� �w���V��n-�E
+��*�	���kI#�$‹�XC+ºא6)ȐR�>�8�CTɷ
�r�
�W�4�p�y
?;3k�]�&�w�p��B-�?���ܢ:�֪��h�Ka{�B�3�/���
��|�IU"D��䕳�[@-�� �$	*��3��h�?�珁fs�J�v�)�+�5�BtT�,BW�$�-%�XD�
�,���(G����ԓ
�&�LE�"�o(g������;��+^�~NJ��`��Bx��d��:Tb�T0��]0�/u5P��t��]u�܀��cLD1�K�x�鳖�2�s��DC@�}�݇ ��M�a���֟dE�첆քCn�e���i+���r��K(-d�|
ؑ
+����t3��A�0(�[ MF
d )�젰M�T�
�?f��,ߢ,�K�mЁ[`A����/<���ۦx��tr{�č	�J�@$4}���
  ���
 �a8�"�d�)M������RnOJ��Ͽ퇉n���HA(ҼeCgu
+(Ѹ.���YS�q\v>��
Q~0̡��;�iu
+��<T,P��J�
����F
�<��mq�
s@����{%���!��Ѐ���
h@#�����If���Fʈ�A?�JCU�J�%���0B� ���
�
!�W�v�~�I�b�<��ƒGA�8 �7�NR}i�R��������Ŭ&�:��s�yb�g�j6��r5�?bZ:쩰��@P���
+���;o�0��;m�?�`�z�J;��N_�x��b��b�髦t��k���mN_���,�ĉ��(�d�I���.�Ď'��I��*�% ��x������_l����# #O�c��5 �I�g4���R4ٮ���k�֘�
s����H%E��m?"Mϖ��Ӡ���g�\!ar4]G
��g��_S��l
�
��~0���}��s��F)�҇��j�%�����ܪL����^ꔅ*$=B.��M
����/g�S\�A8Y���0ˡ�
+��*3	�ܠQ '~
z�⴮����%-<μ�c�MG,ߧ?/���N��K���/�Қ�
+endstream
+endobj
+7572 0 obj <<
+/Type /Page
+/Contents 7573 0 R
+/Resources 7571 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7570 0 R ]
+>> endobj
+7570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7574 0 obj <<
+/D [7572 0 R /XYZ 89 770.89 null]
+>> endobj
+7470 0 obj <<
+/D [7572 0 R /XYZ 90 676.658 null]
+>> endobj
+7575 0 obj <<
+/D [7572 0 R /XYZ 90 672.175 null]
+>> endobj
+7471 0 obj <<
+/D [7572 0 R /XYZ 90 620.488 null]
+>> endobj
+7576 0 obj <<
+/D [7572 0 R /XYZ 90 616.005 null]
+>> endobj
+7472 0 obj <<
+/D [7572 0 R /XYZ 90 576.273 null]
+>> endobj
+7577 0 obj <<
+/D [7572 0 R /XYZ 90 571.789 null]
+>> endobj
+7473 0 obj <<
+/D [7572 0 R /XYZ 90 520.102 null]
+>> endobj
+7578 0 obj <<
+/D [7572 0 R /XYZ 90 515.619 null]
+>> endobj
+7474 0 obj <<
+/D [7572 0 R /XYZ 90 463.932 null]
+>> endobj
+7579 0 obj <<
+/D [7572 0 R /XYZ 90 459.449 null]
+>> endobj
+7475 0 obj <<
+/D [7572 0 R /XYZ 90 417.95 null]
+>> endobj
+7580 0 obj <<
+/D [7572 0 R /XYZ 90 413.467 null]
+>> endobj
+7476 0 obj <<
+/D [7572 0 R /XYZ 90 373.735 null]
+>> endobj
+7581 0 obj <<
+/D [7572 0 R /XYZ 90 369.251 null]
+>> endobj
+7477 0 obj <<
+/D [7572 0 R /XYZ 90 329.52 null]
+>> endobj
+7582 0 obj <<
+/D [7572 0 R /XYZ 90 325.036 null]
+>> endobj
+7478 0 obj <<
+/D [7572 0 R /XYZ 90 285.304 null]
+>> endobj
+7583 0 obj <<
+/D [7572 0 R /XYZ 90 280.821 null]
+>> endobj
+7584 0 obj <<
+/D [7572 0 R /XYZ 90 258.774 null]
+>> endobj
+7585 0 obj <<
+/D [7572 0 R /XYZ 90 236.666 null]
+>> endobj
+7586 0 obj <<
+/D [7572 0 R /XYZ 90 214.558 null]
+>> endobj
+7587 0 obj <<
+/D [7572 0 R /XYZ 90 181.497 null]
+>> endobj
+7588 0 obj <<
+/D [7572 0 R /XYZ 90 158.388 null]
+>> endobj
+7479 0 obj <<
+/D [7572 0 R /XYZ 90 125.327 null]
+>> endobj
+7589 0 obj <<
+/D [7572 0 R /XYZ 90 125.327 null]
+>> endobj
+7590 0 obj <<
+/D [7572 0 R /XYZ 90 102.218 null]
+>> endobj
+7571 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7594 0 obj <<
+/Length 1750      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�V~�W�3��\���3m�t�&�Ӿ$��
r�Ԁ#������a���6��!�vWg�oo�)��{�Q��K��C��i�9y��g�U\y�+�RO�%R᷑��� ݷ�g�P�0����Ͽ�
��
\��:g�·ß���h�
'��o�7���P����/�x�~^{�?:�dYl�([�a,��P'
+�s�W�C�ֹ���|��"YZ�K�V�n�(X̢d
�*�	A����*$�E���J��6��0R0�d�����0��>�tu����|<�Vh1�Pf����,��K7,[�GU�*�t.e��
p�.�-��U�	b$[�J�Z'�����x=���2Y�:
+��E8zC2x\+�z)\z�F�
+�����Զ0��/�6�K�|�_]�� ��a�S�!P���F�$M0C��Jk΁�5XP��`�9d�v��`�X�)�
+`o��
?�6�������
�|89嘊�!�ZOI�X��"+ތ�yl�M���AQ������_���ܵe���nC���V%�Qx��~���:��"\N+�ɈV�	B�8�8�qb
+��k
r�a�
��룚ƻ���QM��@��4�B#[�!X�%�� � �8#�#4�h���R+�����
ķ.+�e����al#FX؁j3=�M��
�׼���yi��lM�W�S�������.����j>�Jx�L��,�$GQ�&�ƅ[
�n����&)�֦#tB�]R��)b��L�5H��('!�j)E��A�_�hQ]�@j�k}��E�v�4��KA�Ǩ�)���V7�!�C(�N"� { P15<��Mx�`u�[Q��!���	� /ѧ��ſ��ǴP��/P��m��֝R5�Mբ+d!����+&��i�c��WT,J��F�P�aQ��W�a���-���[j�(Vya[(��B�V?l���8G��B��9Z)Yo��CY�D��cи]@
߫c j1\�XT|�Q��D���^QV��7����L!�nR �n9Q��?@�'��:O�6���H�MyB3�mh�k��P?^��4/��[�f��u�3�������2`n4n�̙
���a��tά�P���e,wz����@$�E-��(���˵�>˕�?���X�Q�����k�>���܃U)�hל$!�V�Z
��n���խ
㭇Ӈ�
���
@~5E��[�z���D�t�'b]懛��q�[����'bN�f�'b-�O����?<�z"v����1"=�VG�\`"���E��jDچ�tDZR�_
���8�S��u9���(ͻ������}HZM�;�p���
U�s�s�>���կzy����iS��u���2�W<	Az4�N�}�"���x��%F`[�MX*}]�qo���U�E�e�+7�1*��QA4	*2�tF0�� �]���R�HҠ2͂��k�����QTe�u�۱�bu�P*��||�3���
�����*�����
kՆE@%�lQ�
\�^<�x\�w�X�ċ�_]�UF'�z��i���8y���Ƚ�	�x4x��aq�L<w;G���,J�a�K�c���9)i^�s����3,]�Pl���ҋ2
R�o�8� [...]
+endstream
+endobj
+7593 0 obj <<
+/Type /Page
+/Contents 7594 0 R
+/Resources 7592 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7519 0 R
+/Annots [ 7591 0 R ]
+>> endobj
+7591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7595 0 obj <<
+/D [7593 0 R /XYZ 89 770.89 null]
+>> endobj
+7480 0 obj <<
+/D [7593 0 R /XYZ 90 693.576 null]
+>> endobj
+7596 0 obj <<
+/D [7593 0 R /XYZ 90 693.576 null]
+>> endobj
+7597 0 obj <<
+/D [7593 0 R /XYZ 90 670.467 null]
+>> endobj
+7598 0 obj <<
+/D [7593 0 R /XYZ 90 637.406 null]
+>> endobj
+7599 0 obj <<
+/D [7593 0 R /XYZ 90 602.342 null]
+>> endobj
+7600 0 obj <<
+/D [7593 0 R /XYZ 90 569.28 null]
+>> endobj
+7601 0 obj <<
+/D [7593 0 R /XYZ 90 535.218 null]
+>> endobj
+7602 0 obj <<
+/D [7593 0 R /XYZ 90 500.154 null]
+>> endobj
+7603 0 obj <<
+/D [7593 0 R /XYZ 90 467.092 null]
+>> endobj
+7481 0 obj <<
+/D [7593 0 R /XYZ 90 433.029 null]
+>> endobj
+7604 0 obj <<
+/D [7593 0 R /XYZ 90 433.029 null]
+>> endobj
+7605 0 obj <<
+/D [7593 0 R /XYZ 90 409.921 null]
+>> endobj
+7606 0 obj <<
+/D [7593 0 R /XYZ 90 375.858 null]
+>> endobj
+7607 0 obj <<
+/D [7593 0 R /XYZ 90 341.795 null]
+>> endobj
+7482 0 obj <<
+/D [7593 0 R /XYZ 90 308.734 null]
+>> endobj
+7608 0 obj <<
+/D [7593 0 R /XYZ 90 308.734 null]
+>> endobj
+7609 0 obj <<
+/D [7593 0 R /XYZ 90 285.625 null]
+>> endobj
+7610 0 obj <<
+/D [7593 0 R /XYZ 90 252.564 null]
+>> endobj
+7611 0 obj <<
+/D [7593 0 R /XYZ 90 218.501 null]
+>> endobj
+7612 0 obj <<
+/D [7593 0 R /XYZ 90 195.392 null]
+>> endobj
+7200 0 obj <<
+/D [7593 0 R /XYZ 90 172.186 null]
+>> endobj
+7613 0 obj <<
+/D [7593 0 R /XYZ 90 172.186 null]
+>> endobj
+7592 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7650 0 obj <<
+/Length 1777      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~��0�����E�%Xt�2�k��ɞ�"�%��&K�.
�_�CQ�%Y��8i3�O�d^���ϡ�����_&?]NN�\f��w�c\^>6\�G܁��xo���cl�[�A�
��-��,Y/D�Wo�Y
����YZ�y���ź(�ҚR��IP��N\��"�)�P�e)vLjs�����ϗ�O�a�(A8r=#\N��F�_ ��7���aSmb\L���F'�"�eW6����FS�GۆK�m��oY)jI�k��9ݩ�C.��)��15�r�PJ�0[I;���'i�*,�\�
���j�M �n�r�+�0��Y���i6��f��#�\"-�2�R�.�

��x
�A"�E�� �s�P6�K��S�"Sm�JՋ۶�l�FqQ�鼊�E0K�z}�g�vj�Jo���mP-����aL)��w

#�,��
��굑��[9�
�nj�6s��<(kӍ�u�%IfQO��4v"N{�0��l恐
9~�������S�Y��X�_zx����M%����F6`k�|ԮɷM�
�y��}1�w�!2-):r#���Z�4.8��[�����2P
\�(�
�?=T����ً3ۂ0L��νH°�<��%ё�z:�A"��"�[	��1�D-:�6H���yC�NԬ�*��-j�@���p��6!�8
�*j$!���!��j�#k�l�
���`
Ƒ��v؏������"�P�6��m0U��^I
*�˙�U��JC���Xܲ�" 8�F�|�`�����5 ��
7﷗������Y���Jʫ~`���-j6<PӱkRP��`B���V󥸖+vaR��֔�n3yHWq50h��X���>�Y�����V,�00��"���c�C�`�'���ӿ�����>�
+8�Q��\�M`���GT�&�1ǵ�ŝ�����fx���D������"���󼒁w�ZO�y��@@�A��9d��(��
��S$q���8lĉ��0/F� �u3dC�w
U$؉�����[�5#�bsM��z+C�D��] �m��9t
Q^��Ye��N����IrK�-�n�pᘓ3H�:5&�

n?`��z;ɤK�܃=z�!;���ޗ�����݈�V�n��g��1!�yQ��T֧��>��@
�A�[M��%��نow��;QVy:�r�*W�lm6�S}�)�x�
+�e�9�a6r����n;F��vq���n_4��\_���n�b�,<H�q
|�!�
���,F

v����뚹qw6Ln�#<���]s�(���U�^���R�H/�̯—���O��YlN�Z�&!L�$���<�����~����m�S���l�E�9�L�}t;�v c�c�v!ʭ�o�}^�-����&��ԩ�z��?A�h6k�ƪA�
�@�:P� �β,���EP\u
+�/ö[1���|��I�!���1��Ǣa�
�
a��<z�}�b]ѩ���S}���e��m�f\���p
+G0�G���qX^����}@5j��!�
���*@R�W��ԣ�j�7-�̩w[~��EY0�v�:'�_zr=~�m��V�P'(�}��3��[��@cG[����	�h�\�~OaF]�
*�9�,�ϩi�(�C�� ?��d�ġ��?����`	04�������7��'D��-���jo��j?|K	?KÉ|��TK���
�&�J迍����t�I긍�W��Oe�:=9�Us���(̖ێ���r5ѯ;G�hI/���
,�ڑc����� c~�`����zD�_��Nl^��Z2�e����_x�M
+endstream
+endobj
+7649 0 obj <<
+/Type /Page
+/Contents 7650 0 R
+/Resources 7648 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7614 0 R 7615 0 R 7616 0 R 7617 0 R 7618 0 R 7619 0 R 7620 0 R 7621 0 R 7622 0 R 7623 0 R 7624 0 R 7625 0 R 7626 0 R 7627 0 R 7628 0 R 7629 0 R 7630 0 R 7631 0 R 7632 0 R 7633 0 R 7634 0 R 7635 0 R 7636 0 R 7637 0 R 7638 0 R 7639 0 R 7640 0 R 7641 0 R 7642 0 R 7643 0 R 7644 0 R 7647 0 R ]
+>> endobj
+7614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 495.72 191.737 506.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2cd0082c00a9bf823852c95674680b48) >>
+>> endobj
+7615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.553 495.72 257.311 506.624]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 467.628 191.737 478.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_af2d6708545759fc6836df550bab529a0) >>
+>> endobj
+7617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 467.628 262.581 478.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.234 467.628 341.992 478.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 439.535 191.737 450.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5498315352fd30826df848010c6bac1d) >>
+>> endobj
+7620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 439.535 303.527 450.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+7621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.037 439.535 391.795 450.439]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 411.443 191.737 422.347]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) >>
+>> endobj
+7623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 411.443 296.902 422.347]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 383.35 191.737 394.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a32d97203a9cbf1abf97af74fc70df05b) >>
+>> endobj
+7625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 383.35 296.902 394.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.431 383.35 380.188 394.254]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 355.258 199.486 366.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35) >>
+>> endobj
+7628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 327.165 191.737 338.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.477 327.165 243.284 338.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9) >>
+>> endobj
+7630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.621 327.165 348.448 338.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 299.073 175.668 309.977]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 299.073 234.596 309.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a09afd391300355989769ad52d3cc97aa) >>
+>> endobj
+7633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 270.98 208.395 281.884]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ad876557324aba0b545e25ebabe5a064b) >>
+>> endobj
+7634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 270.98 273.968 281.884]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+7635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 242.888 179.554 253.792]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 242.888 250.666 253.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) >>
+>> endobj
+7637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 214.796 220.579 225.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ab79c93f68d0f4589de855e872f9e72f6) >>
+>> endobj
+7638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 214.796 290.038 225.699]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 186.703 192.554 197.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) >>
+>> endobj
+7640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 158.611 225.211 169.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577) >>
+>> endobj
+7641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 130.892 158.044 141.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c) >>
+>> endobj
+7642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 130.892 228.888 141.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 102.426 161.013 113.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) >>
+>> endobj
+7644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.707 155.265 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) >>
+>> endobj
+7647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7651 0 obj <<
+/D [7649 0 R /XYZ 89 770.89 null]
+>> endobj
+1788 0 obj <<
+/D [7649 0 R /XYZ 90 620.299 null]
+>> endobj
+266 0 obj <<
+/D [7649 0 R /XYZ 90 613.575 null]
+>> endobj
+7652 0 obj <<
+/D [7649 0 R /XYZ 90 514.813 null]
+>> endobj
+7653 0 obj <<
+/D [7649 0 R /XYZ 90 514.813 null]
+>> endobj
+7654 0 obj <<
+/D [7649 0 R /XYZ 90 484.986 null]
+>> endobj
+7655 0 obj <<
+/D [7649 0 R /XYZ 90 456.894 null]
+>> endobj
+7656 0 obj <<
+/D [7649 0 R /XYZ 90 400.709 null]
+>> endobj
+7657 0 obj <<
+/D [7649 0 R /XYZ 90 372.616 null]
+>> endobj
+7658 0 obj <<
+/D [7649 0 R /XYZ 90 346.25 null]
+>> endobj
+7659 0 obj <<
+/D [7649 0 R /XYZ 90 316.431 null]
+>> endobj
+7660 0 obj <<
+/D [7649 0 R /XYZ 90 288.339 null]
+>> endobj
+7661 0 obj <<
+/D [7649 0 R /XYZ 90 260.246 null]
+>> endobj
+7662 0 obj <<
+/D [7649 0 R /XYZ 90 232.154 null]
+>> endobj
+7663 0 obj <<
+/D [7649 0 R /XYZ 90 204.061 null]
+>> endobj
+7664 0 obj <<
+/D [7649 0 R /XYZ 90 175.969 null]
+>> endobj
+7665 0 obj <<
+/D [7649 0 R /XYZ 90 147.876 null]
+>> endobj
+7666 0 obj <<
+/D [7649 0 R /XYZ 90 119.784 null]
+>> endobj
+7667 0 obj <<
+/D [7649 0 R /XYZ 90 91.691 null]
+>> endobj
+7648 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7705 0 obj <<
+/Length 1690      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~���k�Ԋ$�l_v�M'�f���C��(XN�rqn���=;v���	2H�s?�9`���Ϋ�����S�:!
+}�;�3'��B�|�5u>
�現\�v\?@$�ᔹ}�������������ۀ�#쐊 C<p�t��
v�p����έٔ:
u�8����y5��� o��y#4D8p8!�����2�G�K5S��"I�Ey#�E�g�,F�
E��v۬yl��;�V��R��n��ޔ5��^���,�i��L�yf���#��Z��S�i~L)�=ꌉgte��L)k
��\\[m|5p>���O�R�̋��h����:�Z���Ϙa�#k�٠Z��2R#�R4V*Ezr��R��k
�k�͆y���k�=�8�cZh�?�I�h��&w��L3
*Z��cV;1Pr�]��m
�����&Vզ����s�M��-�ˊI������0֋�XIʹe��|��
g�l�(�A��,��υ*ǰe,k�P
!dx���O�a��'�V ?�¶��U�U�'��e|x�Ⱥ8��ш���:7Ͷ%Ey��(b��DQ9��f���59������k��x�[MBEq<�.��#����A59�#�

+���rUN��#Y
��a�7�Q�������Y��t;�.Jf%跮yW�
+䱰�TE#
�{��R�����2��k9\
+[g��_e��q�S�kL��0-�ϲ$7�1P�I���m
��CV}(�E�'ͦN/	%��y`�4�� v�y��|�*� %_� �۸ʋ
o��tٞ�
�q��*hUh'���
�#�uZ��ޥ��'+�ev�:�jN�VP�:�}�=�a�LX.��E$�՝����U>l�>�"�>�q��ƍq��qՋ AӋ�
�(���
+2v}�<L,(�~#�(7lO�˓�1�
 ��d
��|=l�b!��ŨEI�f��y� �~#�L$��t����4g��ƈs�P�B�Z,'*�)'�r.���e^�db����j��ٯ Ԇk��A�U�l�l>�8X1oF�b
�i}�+���z^�万1������ìk��t$����2��-��L���Z��i`@�����(`�O\�Nԭ�Vlŵ[�O��B�+&�x��ij�*�
�[1��M
����V���˛.J�s�ebBn�aDD�T_��m K�� �]K��snG����jćI��L���7��E�:��h��4�MX�侻�eT����LH��11���j��+3����q�H�o��b���s;�=�{��6�>%��錪
���q��HtJ|��5�7�
%B��f.�
��>٣	~��r�=����r��ޗ�w��)�\���
��.Tu��Ȳ��o y	B�����Y�<$b��A(���
��b��횏8U��EJDi@����X#���1�>/k�z#�F5JփM�0�y
]���?�/Dw%jJ Gأ�y۝)�n5��~B�K��v߿�Nqk�{����8�����z��m7��(�
k
����b
�
��xއ���A
����6??���v����v�㈅��7�a�pN����yX��7��R��+b+rc�7^4��.����
c��:������(Y��'+6�٢�õM�븑�
+�d�
�\Ⱥ�W|}m�~�?��u~��ت��)�������Z��Eyz7&�ƣ��y��g�M��6�$�L�

m�?ܸ�
+endstream
+endobj
+7704 0 obj <<
+/Type /Page
+/Contents 7705 0 R
+/Resources 7703 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7645 0 R 7646 0 R 7670 0 R 7671 0 R 7672 0 R 7673 0 R 7674 0 R 7675 0 R 7676 0 R 7677 0 R 7678 0 R 7679 0 R 7680 0 R 7681 0 R 7682 0 R 7683 0 R 7684 0 R 7685 0 R 7686 0 R 7687 0 R 7688 0 R 7689 0 R 7690 0 R 7691 0 R 7692 0 R 7693 0 R 7694 0 R 7695 0 R 7696 0 R 7697 0 R 7698 0 R 7699 0 R 7702 0 R ]
+>> endobj
+7645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 693.559 170.687 704.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 693.559 195.165 704.463]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_af59c44aeed3fb4b88852730664a84e9e) >>
+>> endobj
+7670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 652.184 170.687 662.714]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 652.184 187.563 662.714]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ae36d644db84375b3aed9a748c6dff35b) >>
+>> endobj
+7672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 621.394 150.493 631.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca) >>
+>> endobj
+7673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 590.231 181.845 601.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22) >>
+>> endobj
+7674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 559.442 181.845 570.345]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
+>> endobj
+7675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 528.652 154.727 539.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) >>
+>> endobj
+7676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 498.236 176.505 508.766]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad) >>
+>> endobj
+7677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 481.795 450.955 491.7]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) >>
+>> endobj
+7678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 456.114 191.718 467.018]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 456.114 288.852 467.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) >>
+>> endobj
+7680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 425.324 191.718 436.228]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 425.324 303.079 436.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad) >>
+>> endobj
+7682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 394.535 169.013 405.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a999f627225c179795a8922d8335065fe) >>
+>> endobj
+7683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 394.535 250.656 405.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 317.93 203.075 328.834]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+7685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 317.93 296.324 328.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) >>
+>> endobj
+7686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 301.862 346.612 311.768]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 287.514 194.297 298.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) >>
+>> endobj
+7688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 256.725 188.759 267.255]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) >>
+>> endobj
+7689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 225.562 238.78 236.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.52 225.562 319.029 236.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc) >>
+>> endobj
+7691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 209.494 397.522 219.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d) >>
+>> endobj
+7692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 121.678 226.034 132.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) >>
+>> endobj
+7693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 121.678 399.003 132.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 90.889 156.281 101.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2b9db6ddc26573299d412b80ee0dc018) >>
+>> endobj
+7695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 90.889 237.924 101.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.136 90.889 333.963 101.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 76.49 156.281 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2b9db6ddc26573299d412b80ee0dc018) >>
+>> endobj
+7698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 76.49 237.924 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.136 76.49 333.963 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7706 0 obj <<
+/D [7704 0 R /XYZ 89 770.89 null]
+>> endobj
+7707 0 obj <<
+/D [7704 0 R /XYZ 90 712.265 null]
+>> endobj
+7708 0 obj <<
+/D [7704 0 R /XYZ 90 670.517 null]
+>> endobj
+7709 0 obj <<
+/D [7704 0 R /XYZ 90 639.727 null]
+>> endobj
+7710 0 obj <<
+/D [7704 0 R /XYZ 90 608.938 null]
+>> endobj
+7711 0 obj <<
+/D [7704 0 R /XYZ 90 578.148 null]
+>> endobj
+7712 0 obj <<
+/D [7704 0 R /XYZ 90 547.359 null]
+>> endobj
+7713 0 obj <<
+/D [7704 0 R /XYZ 90 516.569 null]
+>> endobj
+7714 0 obj <<
+/D [7704 0 R /XYZ 90 474.821 null]
+>> endobj
+7715 0 obj <<
+/D [7704 0 R /XYZ 90 444.031 null]
+>> endobj
+7716 0 obj <<
+/D [7704 0 R /XYZ 90 413.242 null]
+>> endobj
+7717 0 obj <<
+/D [7704 0 R /XYZ 90 338.286 null]
+>> endobj
+7718 0 obj <<
+/D [7704 0 R /XYZ 90 338.286 null]
+>> endobj
+7719 0 obj <<
+/D [7704 0 R /XYZ 90 305.847 null]
+>> endobj
+7720 0 obj <<
+/D [7704 0 R /XYZ 90 276.129 null]
+>> endobj
+7721 0 obj <<
+/D [7704 0 R /XYZ 90 245.34 null]
+>> endobj
+7722 0 obj <<
+/D [7704 0 R /XYZ 90 169.398 null]
+>> endobj
+7703 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F68 3032 0 R /F110 1507 0 R /F67 3037 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7730 0 obj <<
+/Length 2064      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~ׯ�SB�Z
<'٭J�$�k3�'���Dh�	�1Iţ���F�)Q�3�v�U&���ht_��{7
��^|~���*V^��HF���K�)
#��y�|��R˕��WK�}ݔ���Rr�.��&k���u�����u�v�Ϋ���}ۙr��!��(t�R�ٚf)�T�b%�|�����.��^�]P�{�	Y�x�r��5�2���u��{g'�^ |
���wg�L��ď;!Ț�P&��L�#>7��
���2�_��ﺼ����_Ec��[ɀ� %���Qۑ�-}7��Z�q��Y$���y����ofӹ���ݭ��ƚ��AK57�d/�^x��Ӌ��&�-����
�9���$~�
�ʹ_W�.o͑�t���
m"X�d��Y���J����֠�(W������c��q�j��i��;�
��Y^���Kw�tc\c�ե��.�=���o;��ф��ow�;7^�E�\X�%�
A
VG�3�~D�@#3�r.+�/���"]��K�pu�F�lb�i�
� [...]
+�2�\��⎽\E A���s�O|�{N
���=���37z�+3�
+ʰT�$�K�3�=q�,C���
N"9���\�^p�
�u��
��<vy���(��;�ƴwu�
��z*��n����
Vr���'�7��/���n)f"
=�"�U��I��b�0i�N���%�H��z�8�3 ���i'
B+7-#D׸'7����{�U��|�֨Ǭ���}���92�*a*B�;��g��
+[��\��Da��i�w�XJE���h����]��Ұ#�
H�~�i��h&��BB�v��Ʃ�7ى&cpw�؊h�z+j՚c(wĄ(t��y�5W2��%��[�p4�'0��E�y�O�a�g�&M�qO�$�>{
+4٤�5R�e�h�O�&鲲�-a+ l
���;dE%}���&\ЛW0�Ȼ�R�X�Q��p���p`�.h[�:LV�
��$�w--�$�]��+ZԘ��YdH��L��dg`}�MO�ۦ.�=k���
��
Cm}��@lV�����qi*�S�DO����s���P$���I�V����CD,#x4=����q��D,S��9">�����H����
�ܻ���'x-|�r��ٶ3 ^J��3N	�>���w&v�sb��9i�d�$�����>%�f�
+jH�����QW�1N4=V���?��҉J���b0������i����`S�a��J���)jXR�4ֆ�!f|�A*$S���y7�2�.�cD�D�h�u��b���]��.L5�~�X��;!C1���]n_���X?B��c//�%c������q0L�S7�M^i���#L�_�=�ܺ

m����� �5�n2�&�{FG$��$
�|KK�*aȉ&��X���6��]�ot綴�m�������
���%��Ca4����|D7��,��k��ܠ�6��
��	/X�—t�/¹��@`|4��&���
�ޫN�Ŧ
��nC��j)[K<���0���!�
���c:I�
+�i�OD�)��b�ZU���h��R�
+��*H.!sL>�
+���x�UL��ğTMg�����(�HE�Tⴇu ��c�H r�s:`����\�w.%�T���ǞYz>���� I����p5����\kg�	H4�0�t��$��A?�U^a
�~�����N!��c�;.���K7C��0$e����X��i4}b�q_J�c
��dp���e���3�
�eRe������4�,�︗9*1BF�b���[��M�>(ij��9�{�R=�o���B	XB������ɑq�����ϐ�|�W����v�Y
+�߽��|�ln��n8�K�_)��׷�����
+Y/�ۮ����X�n��7
���!G�Hmz��n��qYjk�Y��b=f�v
9�L${K�1߂O
+ں���`��u\|S*�y
>�Y�?�̮�
+endstream
+endobj
+7729 0 obj <<
+/Type /Page
+/Contents 7730 0 R
+/Resources 7728 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7700 0 R 7701 0 R 7725 0 R 7726 0 R 7727 0 R ]
+>> endobj
+7700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.363 665.984 257.19 676.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 654.028 132.51 664.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 529.329 188.212 536.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2cd0082c00a9bf823852c95674680b48) >>
+>> endobj
+7726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 315.521 188.212 323.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_a2cd0082c00a9bf823852c95674680b48) >>
+>> endobj
+7727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7731 0 obj <<
+/D [7729 0 R /XYZ 89 770.89 null]
+>> endobj
+7732 0 obj <<
+/D [7729 0 R /XYZ 90 721.073 null]
+>> endobj
+7733 0 obj <<
+/D [7729 0 R /XYZ 90 194.575 null]
+>> endobj
+7669 0 obj <<
+/D [7729 0 R /XYZ 90 172.199 null]
+>> endobj
+7734 0 obj <<
+/D [7729 0 R /XYZ 90 172.199 null]
+>> endobj
+7728 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F93 763 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7758 0 obj <<
+/Length 1731      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�u@'�1�wQA7�k��]_�&�>$E��L"L�]I^���HI��8I�t�P�(��;�=��Ha����o�_���BJ*��s/�^�C$$�M��r5�p��cR!J�Uv?������#������Ӏ�O�#V�@�������M����
�wU�z�2x&���v�`D�i���
d�-#b-  �!6
����:������Nl�N�B���E:.�Yj��g��T�ETv�U��]#*����8/&{{���t4Ɂ��G���:��Yfd�
���JSsU���S;��Z��~7�
<
	�z�9��l"����N�
+A�Ր�,�
;�ʑ����fT�i��h�z�#WqP
T3z�SH
+Rk����![Y>q���A#�Q�{#�E(
`O2����
�U�#�f0����r�E1_�U���	�2 $@ԕ����B�=V�aZ����j���@|�#G!!D�I��$N����\�z:/�Ci�
1
��K�]Źޱ�_Y�˶E~G1���6�O�B�׶�|+m\��)з�� ��慙p���Q��F�:�ӛ͆T�WnX���ȇ���(s =g�2�#2�`�h����i�@���������������A��hn��L^O����nYƐim�2"�j��
��~&�;�7��E.{D at z(qCf�a
o���(
�
T����@}�@u��
�C�%�@�MZ�r�u4\6�˒�5N��5����{�Щ�2���f�j���%��8��]��D﵌��D�)08�9��R*ڣNFp4�'���:ްlF˵WR� oP�
"
"�l��UDH���
+a�䛪+��
+�����V� #�4�80mi��Q��,X^�I�c�P�l�
+m	Ef˄��YA�����k`�n� <!�b	�
)ؑZ�4��Q��s�mG�)Bh[o]�u��O��6����j[���ܥWYB�_g:
�iM�k��Њ}�RxE�)��D ��?�z"�ȭ��s��MU�z�S����d1�=U�`(hʚ�}�	��O5�I�
E����˅Q N(d�
�˶��5����o��Lg�J�����^� '��Qv���f����c��u�:lg�R�j;��v�I^f9E���B�Xt_�G��X��blt`
�c�8���69�+�
�я�_��값
Y�O�4ʖ�+��{;U�ک��s�#ASĜb�{�z�_��*f�Ѓ��dl�l_?�[Ǜ1V
I��p�,���Tt���0�Ōw>���� ���	������mZ��)�u���q6�
6Z҅x�
��=ͮ}o����{Nj�(����u�ޝu�(�G}۷D����}��
+�9
�� � h��e:�m��.1�U`� ��o���<�j���vh�f�l�]i��m�v8�a]x���{9n�@K^<��n`��-o���G;������u��Ҽb
�2�aD�X�n˄#�$+���p���Y��
+��1�je6�j��*��‘Ī�����0�{8q��{��*Ɯ�j^�,֜��\<����"�D���mC�������@�_�AEh�/��\��~�\�.a���� #L�����v�c5�u쾜2o�q#�7j�W7��E�P#+�����׶�g����w+w'�&JQ2�1�.^��~��rK6ߋ��tu�c���6��Ay_� �̥�
�eQ��vw��N/�x6]O�fr"�|��x����:��=�Z���m3
+endstream
+endobj
+7757 0 obj <<
+/Type /Page
+/Contents 7758 0 R
+/Resources 7756 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7735 0 R 7736 0 R 7737 0 R 7738 0 R 7739 0 R 7740 0 R 7741 0 R 7742 0 R 7743 0 R 7744 0 R 7745 0 R 7746 0 R 7747 0 R 7748 0 R 7749 0 R 7750 0 R 7751 0 R 7752 0 R 7753 0 R 7755 0 R ]
+>> endobj
+7735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 380.99 251.503 391.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aa1ff4528466150c5a3ce8d110c0c92e1) >>
+>> endobj
+7736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 349.008 251.503 359.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a8ab042e81927db600ee725d3c983b252) >>
+>> endobj
+7737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.84 349.008 416.432 359.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 317.026 259.251 327.93]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a4948dd7324bd5d7a28e142a66ba5f875) >>
+>> endobj
+7739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.044 251.503 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.242 285.044 303.049 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_acefade434fe64088a872391d152455c1) >>
+>> endobj
+7741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.386 285.044 467.978 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 253.063 180.938 263.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.678 253.063 231.847 263.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aaa37fb590232bdc2474283e83bc019cf) >>
+>> endobj
+7744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 221.081 180.938 231.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+7745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.908 221.081 234.963 231.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a168ed0cbd2cf59717febf52a6d6e107a) >>
+>> endobj
+7746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.099 251.503 200.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.242 189.099 308.668 200.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a40dee04f6adce4b8c60a569662f37f96) >>
+>> endobj
+7748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.117 251.503 168.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.001 157.117 298.426 168.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aeeafd2e88e461b1f480c37995d105714) >>
+>> endobj
+7750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 125.136 180.54 136.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a6d8bd16c6f8ccff0228956f76a9b7464) >>
+>> endobj
+7751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 125.136 345.469 136.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 93.154 178.239 104.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a177ecd1fb2bec07a416a3369f22d068d) >>
+>> endobj
+7753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 93.154 343.168 104.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) >>
+>> endobj
+7755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7759 0 obj <<
+/D [7757 0 R /XYZ 89 770.89 null]
+>> endobj
+7760 0 obj <<
+/D [7757 0 R /XYZ 90 721.073 null]
+>> endobj
+7723 0 obj <<
+/D [7757 0 R /XYZ 90 703.282 null]
+>> endobj
+7761 0 obj <<
+/D [7757 0 R /XYZ 90 703.282 null]
+>> endobj
+7724 0 obj <<
+/D [7757 0 R /XYZ 108.69 622.199 null]
+>> endobj
+7762 0 obj <<
+/D [7757 0 R /XYZ 90 616.277 null]
+>> endobj
+7763 0 obj <<
+/D [7757 0 R /XYZ 90 593.512 null]
+>> endobj
+1789 0 obj <<
+/D [7757 0 R /XYZ 90 516.069 null]
+>> endobj
+270 0 obj <<
+/D [7757 0 R /XYZ 90 506.915 null]
+>> endobj
+7764 0 obj <<
+/D [7757 0 R /XYZ 90 402.026 null]
+>> endobj
+7765 0 obj <<
+/D [7757 0 R /XYZ 90 402.026 null]
+>> endobj
+7766 0 obj <<
+/D [7757 0 R /XYZ 90 368.311 null]
+>> endobj
+7767 0 obj <<
+/D [7757 0 R /XYZ 90 336.329 null]
+>> endobj
+7768 0 obj <<
+/D [7757 0 R /XYZ 90 306.073 null]
+>> endobj
+7769 0 obj <<
+/D [7757 0 R /XYZ 90 272.365 null]
+>> endobj
+7770 0 obj <<
+/D [7757 0 R /XYZ 90 240.384 null]
+>> endobj
+7771 0 obj <<
+/D [7757 0 R /XYZ 90 210.128 null]
+>> endobj
+7772 0 obj <<
+/D [7757 0 R /XYZ 90 176.42 null]
+>> endobj
+7773 0 obj <<
+/D [7757 0 R /XYZ 90 144.439 null]
+>> endobj
+7774 0 obj <<
+/D [7757 0 R /XYZ 90 112.457 null]
+>> endobj
+7756 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7784 0 obj <<
+/Length 1990      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�4~�_a��bӮ��eK�0�2\:���2�V����ޖ�{�.��^�f�a��ֶV:��\��I�޽����\/�^�̓HF4��<��8��G�yo}����`��ˀ`?����e@�_+������m�����Ve��I^��͕ʶi�We����g�(����
0��xi��� ���n�y,)�����ts�zTڷE�4V�u ��֛"i�
�Rw���U�� fا��"�]/�\h5�#�O
��K׋��a/��=��3i텔����,~Y`�r���W�p Y� �`���CD\.T����T*�I�|�9�Wq�*J�ޒ����J����[U'mUۯ* ���Sn$���i��M���tg�5k$F
��`�ph����豼��m�w���J?����
y���J�eU�3IS�4�5���t5�eL��U�U���tB��t�{˫��[��.�o��}�j�I���n���]�-��w�%FRF�
+��껿H?52H"P�%,��`^�\��UEQ����R�~��:T���V<X;��wӲ�ٯ޸���;�Â�!
+I���fe�7c
馜��ƒ�)�z���"$c&�S��	�F i�����vA	��Y`���>����
+
��s
��V"b`�����H
�Y+� �gl����8?�֋����Jt���煩>h
+.�M�Ufӥ0���P�'�
�����y�g
rDp4RQm[;��ˑQ���s�����pޯ3OPY|1�!ˈ�8��R�=M��J�kEn���@�ei��7�A�ӽ�ǽ*��
��u��$�LA�R(�8U=H�Q�4��Qʧq�:�6Z�\�ᄭj��Ie�w>ۊihZ�~g�����
c�"I��'��������
$�&�ZV��
����B|K �m�X �4&Px����L��#X
+�:�-a8�|S��2
�2�9�W�P/t�s&.��K2":
�=��* �h�t������ ��ķl��,]�K`Q��c����

:B.�
2�6��s�7���VT�>4�kծ�l����!ɼ�+��C�5���~��W���eZl35C%���r��eŀI=���rp�8P�PC�������r{�~����V�[����ն4
kN"
F1D�<�Q�����G�>�7����
0I2O�I��@YS��¡w;*t��m��(�  5�h��b�
G����g���KW������v/���Y68���1��������-��㢩6���)}_:�*��pFޭj?(UN*�T����2 [8��U�3<�t�����$%�	�.��ɹ,<Z�L��7*dӺ��)n�dz�k�C�
�@#�l��
���a��d��5&��e2<w�F� �{�耢T'�� �����y|��ўM�r�gn$�H�����i �Oac	8��,8����0�'0$��h�c�4��rwi2�G�֘��h�
+��+�
� ���
cH,����)�,� 4�b�I37c�j�oI��hw�!�݅�Yۤl�B�Di��\P���]ê�x������	�i����`·Z�󡞑dY3�>��x�R���
��]�Zo�R�#wv��&�+x�'�N \<���a�
gri::@���N~��G�8��"
Cb1��R��ZH���G?
�c�iM
d0>�A�{
��	MoL%�M�D
��uG"�

P7ʞ�o�	և]���!��<�81�ܝ��7��*i��;3���Ą�c:��$��CG�
̈́:$���br@�<�����\���]��_�bw��G��c����iKݗ�$�{�j�C�Yh�"�b����>�=���;6;�ӏ(�;�N��v�c� ��\N�yy��}��Q�g羳�uRn�"詪��oz@��.F:ӱ�Fu
���׽�d�Ew������j��������Q�=�ݏ�`�T2�]c�.Z�nCy	�k�����Ώ
�+�y��'`*&qL͌���[��~X3���l�7��f
+endstream
+endobj
+7783 0 obj <<
+/Type /Page
+/Contents 7784 0 R
+/Resources 7782 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7754 0 R 7775 0 R 7776 0 R 7777 0 R 7778 0 R 7781 0 R ]
+>> endobj
+7754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 665.79 513.996 676.694]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 363.146 207.229 373.676]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab) >>
+>> endobj
+7776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 334.016 197.875 344.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) >>
+>> endobj
+7777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 305.633 214.978 316.164]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) >>
+>> endobj
+7778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.613 190.012 397.034 200.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+7781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7785 0 obj <<
+/D [7783 0 R /XYZ 89 770.89 null]
+>> endobj
+7786 0 obj <<
+/D [7783 0 R /XYZ 90 721.073 null]
+>> endobj
+1790 0 obj <<
+/D [7783 0 R /XYZ 90 503.091 null]
+>> endobj
+274 0 obj <<
+/D [7783 0 R /XYZ 90 495.952 null]
+>> endobj
+7787 0 obj <<
+/D [7783 0 R /XYZ 90 382.196 null]
+>> endobj
+7788 0 obj <<
+/D [7783 0 R /XYZ 90 382.196 null]
+>> endobj
+7789 0 obj <<
+/D [7783 0 R /XYZ 90 322.95 null]
+>> endobj
+7790 0 obj <<
+/D [7783 0 R /XYZ 90 277.392 null]
+>> endobj
+7791 0 obj <<
+/D [7783 0 R /XYZ 90 226.317 null]
+>> endobj
+7792 0 obj <<
+/D [7783 0 R /XYZ 90 163.515 null]
+>> endobj
+7793 0 obj <<
+/D [7783 0 R /XYZ 90 140.944 null]
+>> endobj
+7794 0 obj <<
+/D [7783 0 R /XYZ 90 140.944 null]
+>> endobj
+7782 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F22 2996 0 R /F93 763 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7822 0 obj <<
+/Length 2353      
+/Filter /FlateDecode
+>>
+stream
+x��Zێ��}�W�P���w��$���6v��:�	�`�li�I��<�|}�/�I�e<2֋�I�fw���T�)R�[x�{1��j��y��E�J�j�E�
x�����{�S���~��
�$�2�O}u���ե�7yv5�8!p
{�
+(�$��}����0bQ�ݚE��)�ߥw9���u�xKB!��W7j:�2�����*՗���E���X���]�V�
��
ƴȊ��^[���9찓j�r��,`
�Ӏ
+�d�
:%v�@I‘��Y��Vd��V=xd9"�KD¨L�	f͒�H'�V��5D�
13Κ1
+�"ܛ��"!���H�vF�q�H��F��1E��
���0
� G!9bZ��[��3����v%���+>�k��
6��G*��j��Ӱ)���������R�#v��`��d�J$E!��Vբ
,(㥾�yY���P
+PI[DOڇ����^����\�ݨ�*��F��M�O�����7ʎ�	���v�{
d
�P)�Mpj�G/�T��2�w0��4���~
r�um/b7����~خ��90z�찳^�܋�v���$v� nMi���NCs鎧ρ��\�͜\������R=��8���Sjp>98�.
E��y�'�9	8�A��~�¥�7/&�[��E��n�Mtn��%�ut��
CR���
����z��R�;��UM�71�,��]wh3P7�2[���͹*�BG@�s1[R��u�؟We>b�Q��c	��6K�����X�\��~�X���!��NI�}g�n�����Ψ���h�ũ@$Z#���B�Uq�֪���C�ۿ�'�޵7��m
+ )F���
@�]��e%��<���T�8a��Dl�q]t�'a��a߫�m�k�x�CȀ�#
����yU���	\_��.�~X[A��<@�����a���˹%��H +
ϊE���%���@5F�2P�x�|m�zW��4:#^>[�h�"�0�^�b
�l���uV:;�
M���z�,��
o����X�BU�zP1�V�[.�)��mx`JMM�U
��Y���tJ��Tls��%��qn�)8�k�U
+�1$n�B�cr:#$��ǻM#�ax��&yn��U=�ĈC�ղ$�M�c�/����3��!��Q��XBK4P�캊�١��Ʌ.��2�;mՇ�' �H����.�:&�e�4K^_>�} cm����ھ�a��)�?�Z�hfި�(_��D
����
 [ܰ�.�D�m�V������;�d�Z�OIz}���
�s'+[��Q�N�ϯ��E{��gr�DzU-ݵ{0׵{�Yb���� ln�3QNU��_�ݥVdV��)I2$�o�Q�~+-��⏺�	 ��X�SV$�M� ��G�
+�p
OYP,�����-9L@�8
��Q ,����@5�`�\��Yba�R��0~�)�
�ҭwV�L�(��l�l��I�e��g��/Ts��	C�_�P�$��9�^餹ރ��$e�
��B&x���
+�w���
�C�Pr�o ��F��c7��?O�ה����
�٢��7����U�W�zUi[At{>�2-)p��}� !��ii�.j`��M�n*� �� �ED��#�w��|m_��M۲
%��s�������F
@p���M�w�k��O�\���~7.��.c���p�bԣ@�٩
�CG���zDʣ��yru����*@%ɱ��Ⱥ�a������;��;T�,z�5��S>4F�z�Z`O��1�pD�EvAߖ}Щ+�߱����Y�e�f�-�_��g�G�SJ:;��|�R�����
�m4��p]n����lQ|���hW�i�B(��b!P�f��%�΄���l,wP��
_I7�r�I�%���*�=Юiy�.���#r�@2j��݈�4��ɐ�	N���{�,Wj�
]G�t Q�e���C�"G ��(bF�H��nU��n]����
ZG���f�l׊#z�:br�,f�y�a.8�(�H�sB`� >4F�n?�N�aV��o��
+��W���sVn�^6��{#^�L�I��p��ދ�æ��x�
���TŰI�9g��~�:��i
+��g�}�9CS2�[��B[�
-߬�7ك��U�Sy3	ΩD���
�ϖ+�M������#��G��=�����g���j�Yj��d{���}y��
H"�Q�w�E��N�#eo#�����	F�57�cs���&
��3�a��țu�ϝ��q��[3���>�`�����<¯�ξ���5���A����2J���o��K� ���[���'�SF�q$���7������כE��J�|7`��Q�pк��:���j���s���;���5L�
+endstream
+endobj
+7821 0 obj <<
+/Type /Page
+/Contents 7822 0 R
+/Resources 7820 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7668 0 R
+/Annots [ 7779 0 R 7780 0 R 7795 0 R 7796 0 R 7797 0 R 7798 0 R 7799 0 R 7800 0 R 7801 0 R 7802 0 R 7803 0 R 7804 0 R 7805 0 R 7806 0 R 7807 0 R 7808 0 R 7809 0 R 7810 0 R 7811 0 R 7812 0 R 7813 0 R 7814 0 R 7815 0 R 7816 0 R 7817 0 R 7818 0 R 7819 0 R ]
+>> endobj
+7779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.512 660.136 179.766 671.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+7780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.977 660.136 329.907 671.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+7795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 475.149 123.644 486.053]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+7796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 384.086 176.332 394.99]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a086c7f397ab21146fde044139d607227) >>
+>> endobj
+7797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 360.909 176.332 371.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94) >>
+>> endobj
+7798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 360.909 281.496 371.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+7799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.731 176.332 348.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa) >>
+>> endobj
+7800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 337.731 288.122 348.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+7801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 314.554 176.332 325.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be) >>
+>> endobj
+7802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.669 314.554 254.906 325.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 291.75 184.081 302.281]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) >>
+>> endobj
+7804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 236.416 229.552 247.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) >>
+>> endobj
+7805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 236.416 308.127 247.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 213.238 196.347 224.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38) >>
+>> endobj
+7807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.684 213.238 274.921 224.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 190.061 220.038 200.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) >>
+>> endobj
+7809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.375 190.061 298.612 200.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 166.884 224.003 177.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) >>
+>> endobj
+7811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 166.884 302.577 177.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 154.622 272.49 164.527]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+7813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.08 143.706 194.623 154.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc) >>
+>> endobj
+7814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.251 176.332 121.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.071 110.251 227.878 121.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d) >>
+>> endobj
+7816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.215 110.251 306.452 121.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 87.074 180.198 97.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ad4366a1eb42053ac30ef197d59f92707) >>
+>> endobj
+7818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 87.074 235.251 97.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7823 0 obj <<
+/D [7821 0 R /XYZ 89 770.89 null]
+>> endobj
+7824 0 obj <<
+/D [7821 0 R /XYZ 90 632.291 null]
+>> endobj
+1791 0 obj <<
+/D [7821 0 R /XYZ 90 540.779 null]
+>> endobj
+278 0 obj <<
+/D [7821 0 R /XYZ 90 532.067 null]
+>> endobj
+7825 0 obj <<
+/D [7821 0 R /XYZ 90 422.272 null]
+>> endobj
+7826 0 obj <<
+/D [7821 0 R /XYZ 90 400.386 null]
+>> endobj
+7827 0 obj <<
+/D [7821 0 R /XYZ 90 375.494 null]
+>> endobj
+7828 0 obj <<
+/D [7821 0 R /XYZ 90 352.317 null]
+>> endobj
+7829 0 obj <<
+/D [7821 0 R /XYZ 90 329.14 null]
+>> endobj
+7830 0 obj <<
+/D [7821 0 R /XYZ 90 305.962 null]
+>> endobj
+7831 0 obj <<
+/D [7821 0 R /XYZ 90 250.813 null]
+>> endobj
+7832 0 obj <<
+/D [7821 0 R /XYZ 90 227.824 null]
+>> endobj
+7833 0 obj <<
+/D [7821 0 R /XYZ 90 204.647 null]
+>> endobj
+7834 0 obj <<
+/D [7821 0 R /XYZ 90 181.469 null]
+>> endobj
+7835 0 obj <<
+/D [7821 0 R /XYZ 90 158.292 null]
+>> endobj
+7836 0 obj <<
+/D [7821 0 R /XYZ 90 135.115 null]
+>> endobj
+7837 0 obj <<
+/D [7821 0 R /XYZ 90 124.888 null]
+>> endobj
+7838 0 obj <<
+/D [7821 0 R /XYZ 90 101.66 null]
+>> endobj
+7820 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F93 763 0 R /F22 2996 0 R /F11 613 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7879 0 obj <<
+/Length 1682      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���^:�^DJ
+�=�m���5���l3�PKr$:���w(��e+�[8.�%f$��\�s#��K;v�8�
���	Q(�p�/�;�".࿑��%1����{�%؍�$�v)v���J���.
�Q>;>~%�̓8���~=stB�i��� .)?��4V�ըg'���>o#�#�v���Pa���r
E�G9vϻ!ue2k�'��̻$pe:�G
��K9�D;��;�
d�C*�p��0�|���<~�v���-'%�G������
lT
�p=�?F�@��pB�Xr�Ij�F�

ܓi:Tq�%?��щX$�
��*_0�2+����
��<�r3H3�2�� �P�/�H����c,�#��֣������D� OԶPV����F�yڬ+�hP����l"�(1�̡Ҡ�⾷���z���
� 会xS�;
����K��O�����m�����w��~�.�ɂ�@9(��j�>���/�Z��SB�����^�-��{o�s2�f+��32�c(�W��zA���}f���6��
�0�t�z��jJ�
 �R;�6VWmd̪��Z�p�X�=Z��=<
>�����3�l�
��D���/�s�!D3�T�!J��a
^Y�;QB��`��e{�d����QM��AF����T�xe����
��Q5������5< ԶA@�m�
b Y4�zB�w�����
���^~�WO��B
�!M��f�ũ*�ZF�B
Ső�G�_�G0
+Jn�(⇛�v"�ey��y�?D���0=�n}��TmI�C(�
5:>�
+��(��?�.�� ?�`5�?_�`(
à֕H-����u�„����j�2> ^��?N�djP��_�Y�����	�>ݲZ<
 b��`�����
JY�R0ޡs;tn��s(3p}�
��C���d��O
ɇ����8UZ:R�Q?� j)ϔ���O�\���
��UV�~�̃��3;M�YI����X&��l�ԛ���#�-
W<

���1s�oS��.�>Ж�[�`k���X�<�z�Ez����zh���;m�������I�^��3V\�U6ُ����"�{7Z�`�Z�c H־���b#��%�N��F7�<��箱�y�=h��j|h�J'�v�A��)
64��A�T�
�#|@u�fM`T<^��#F�
��ᮢ�H��h+9��A�(
P���&�
�֎���W��"��́3	<D�������4�R�+T�Fc
+��R?Rq�`l��7��7 �{|Cnk��b"�,����?�׭�毪�ME��6N������K�qvk/f
��E�J9YrkN�AN���|X�n�M��J@�r8�Nb[�f-x�:
��pߑ��V;`Bώ ���
���ǭ�Di���K�g=8A��m@�o�%0�SJvU�~|��6|y%�z��[Q��ʜ���P
vo�<��	�W4"g����S�v� 
+�-�6i�**�i���J�1xĭ���PI��r�.�-_���m{���>+A$ ��H{n�zz���S���.����(��P�9��^.�"Ό�Tr��u�{&m�������[}u�7����
�WJM�����B��h��K-�"��!�"3��Y�
&�޶A�z��#�	A�&@��
}h�����8._�̓����@��{������
+endstream
+endobj
+7878 0 obj <<
+/Type /Page
+/Contents 7879 0 R
+/Resources 7877 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Annots [ 7839 0 R 7840 0 R 7841 0 R 7842 0 R 7843 0 R 7844 0 R 7845 0 R 7846 0 R 7847 0 R 7848 0 R 7849 0 R 7850 0 R 7851 0 R 7852 0 R 7853 0 R 7854 0 R 7855 0 R 7856 0 R 7857 0 R 7858 0 R 7859 0 R 7860 0 R 7861 0 R 7862 0 R 7863 0 R 7864 0 R 7865 0 R 7866 0 R 7867 0 R 7868 0 R 7869 0 R 7870 0 R 7871 0 R 7872 0 R 7873 0 R 7876 0 R ]
+>> endobj
+7839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 643.468 156.281 654.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_aced7c94ba2c14044e98327ac0bd11dd6) >>
+>> endobj
+7840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 643.468 211.334 654.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.277 643.468 324.514 654.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 600.046 180.54 610.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_af01a65d9370eabfc5e47d8b613b37b0a) >>
+>> endobj
+7843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 600.046 259.114 610.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.579 600.046 395.816 610.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 556.623 178.239 567.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a062f93b32c2103c74d7a91cfa027a82a) >>
+>> endobj
+7846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 556.623 256.813 567.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.277 556.623 393.515 567.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 513.2 226.034 524.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a5c44d3d0955540b98975a14f5b97e942) >>
+>> endobj
+7849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.301 513.2 368.538 524.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 469.777 226.034 480.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_abbd1a3e57c1f33d638b4ae3aa852416f) >>
+>> endobj
+7851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 469.777 372.413 480.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 443.085 180.54 453.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_af01a65d9370eabfc5e47d8b613b37b0a) >>
+>> endobj
+7853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 443.085 259.114 453.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.579 443.085 395.816 453.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 416.392 178.239 427.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a062f93b32c2103c74d7a91cfa027a82a) >>
+>> endobj
+7856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 416.392 256.813 427.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.277 416.392 393.515 427.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 389.699 156.281 400.603]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_aced7c94ba2c14044e98327ac0bd11dd6) >>
+>> endobj
+7859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 389.699 211.334 400.603]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.277 389.699 324.514 400.603]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.417 328.231 206.96 339.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) >>
+>> endobj
+7862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 296.763 160.465 307.667]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) >>
+>> endobj
+7863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 265.669 175.967 276.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207) >>
+>> endobj
+7864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 233.828 204.739 244.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) >>
+>> endobj
+7865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.076 233.828 283.313 244.732]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 202.36 244.091 213.264]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c) >>
+>> endobj
+7867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.428 202.36 322.665 213.264]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+>> endobj
+7868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 170.893 191.718 181.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 170.893 288.852 181.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) >>
+>> endobj
+7870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 139.425 191.718 150.329]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+7871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 139.425 303.079 150.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) >>
+>> endobj
+7872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 108.331 150.493 118.862]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509) >>
+>> endobj
+7873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 76.49 264.424 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) >>
+>> endobj
+7876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7880 0 obj <<
+/D [7878 0 R /XYZ 89 770.89 null]
+>> endobj
+7881 0 obj <<
+/D [7878 0 R /XYZ 90 703.482 null]
+>> endobj
+7882 0 obj <<
+/D [7878 0 R /XYZ 90 631.047 null]
+>> endobj
+7883 0 obj <<
+/D [7878 0 R /XYZ 90 587.624 null]
+>> endobj
+7884 0 obj <<
+/D [7878 0 R /XYZ 90 347.013 null]
+>> endobj
+7885 0 obj <<
+/D [7878 0 R /XYZ 90 347.013 null]
+>> endobj
+7886 0 obj <<
+/D [7878 0 R /XYZ 90 315.809 null]
+>> endobj
+7887 0 obj <<
+/D [7878 0 R /XYZ 90 284.342 null]
+>> endobj
+7888 0 obj <<
+/D [7878 0 R /XYZ 90 252.874 null]
+>> endobj
+7889 0 obj <<
+/D [7878 0 R /XYZ 90 221.406 null]
+>> endobj
+7890 0 obj <<
+/D [7878 0 R /XYZ 90 189.939 null]
+>> endobj
+7891 0 obj <<
+/D [7878 0 R /XYZ 90 158.471 null]
+>> endobj
+7892 0 obj <<
+/D [7878 0 R /XYZ 90 127.003 null]
+>> endobj
+7877 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+7903 0 obj <<
+/Length 2287      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�~ϯpQ���5û�`������%g���bӱ[r%y��_��E7[��]h�>I���p��f����n�Gߝ|}urz
�Q�BI��j1
+�(�!���1trs�ÈI�H(��m�旟���|uiޝ��:����+<"N�@���'�7x4��F�P�
�G��
�����O��#*̭�x�@V[3B!N%"�)����E��|2�T�S>��M��U�{h�R�i�$z�YE�6]N�a�zlƐY9��v��O�Dk��|w�!S��.ozdV�&D�WQ�{���Q���=@�BS#�`�?P���ľͩ %i`E1ʝ&F��jB��i��Y�
+!�q���rĔl��c|�E�d��Ogg�{����u
+#3p
 	��
gQ�$!-gU�:=�MqSF✷���&��Cm6:s���H<���ѵl�8)r]��
2�d�q��x
'w��b��^V\,�]�g�$2�iqQav�0��3K��Ȍ��tm�S$p�Zs"�""*+B�-&�����F��o�Ř&�� 2.h`��y|��M�`��H

+�$_
݅�e_hF6_I�$��^-a*���[��IY�C�os������ҍQ�i�&Ӈ,.&d컧(���mg�
�j������
f��g��۸�nW������t;3�r/jߛqu5��l��}������5c�5
 y �< I��$�U0��y�x�TP�2���ݴЫU�@ܨ��>g^[�z����^,���E��Ni�Փ�$��x���=�����~�u���x�C�)�q
<d!D�Lԧ����ֲ|z�Mf?6���m
�g$ْ_%���,�CIEu$I{�
+`'CI�((*��i��ުH���UL�L�\�d

�߅��\>�I �<�:�L
F�(��P.>;[Bh��Pү�
%8A�~B�"`t�
��6I�"�?�Ѫ#;b�L�cS,�\��AG�:q��+x2
	5w�{[4A�U����U���� �*S��đൠܰgv3�,)�*�e����.�Y�wȇ:��
+�juG̢h_Ŭx�cN2w7iRF��U��sw7Oא
��2򍑻8�N�I��U�f,m����+* #1~N�@5%���!�<�u2�u���׸�	+���.������؅�:�p
�>�8��Nhn�чhc����~\��X�J�p�
����
�\>R_�2�f
�(��x|��	���5�)�%a;`�L��*b?u�
+�.�:��Bk�^g� ��'�H�?�6�m���
Wv~�>�@lK�)����
�A%�9aD2���DJ>ӗ�s
�9
��
\Uy1?;K�����	��]���?,1��x݉f`�hb��|o8�
M"B�N�
�
Ǭ�]tt�0����"��J��/]��`s�x�@X���q��GX�aӯ���m�R&�F9{Q��!�~�����
;�P�QV�� �I��r.;��B���Z�.�XM���~�0r|�?��#`~(
=~Jb�9�p��C�
s��0C0�PqV��u��W����ܳ�&��
+a9���j�Z�~�(��� ��p�Bk� :���afI(���y���'h�G�({�{�!�R�GQ��3K^҇�~�T�Tπ�A�����
�g�Ǡ��=	��}?�h�2��?�B;	H��;��
�G�	���{��6
��l�ɝ赶����-��
+��N'&�k�+���u�U��V���7>T���0h���,DB�4[�
+*�6�T�
�@ͅǛ�
+-�}k,��c���	b��C@��?p M�D
+�J�"·��!#ۼ���n�A$��`|�8R\<�ò�8*P��R�Uh�@Nj�$�L'3��
���08�2
�k+s�J� ���9 ���
ͥ


�0'��c���
������
7��s��}zNi���H��_6��"��jY}~�?.�M	ǘ	;��ޜ�}�'�
�E<+�〇�`E�cƫ	o���&��<Ĝ����o�B0@#%��t��E�؞̹AS�0E��
a}���ǿ�B�7��3v�e��Sv�ۻ���DU���m#��3� !��i�*�ڧ���w�HF
�k緇��d���{rw��]-Y���:���$`A,��v���KR
����٫ёH��/��!�j_6��˲�o8�~�Fߦ �7y�Z�E8�ljI�Ǡ���oډ��~����u��م�9��(ٖG}�f�$�Y^�{ ��6��l{�/u	
��}��N���֊pY������]��;4K��(�;�P�ԧUͱN��*�dayS��? sQ{�
+endstream
+endobj
+7902 0 obj <<
+/Type /Page
+/Contents 7903 0 R
+/Resources 7901 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Annots [ 7874 0 R 7875 0 R 7900 0 R ]
+>> endobj
+7874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 644.429 123.644 655.332]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+7875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.198 614.849 276.837 625.753]
+/A << /S /GoTo /D (index_Bag98) >>
+>> endobj
+7900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7904 0 obj <<
+/D [7902 0 R /XYZ 89 770.89 null]
+>> endobj
+7905 0 obj <<
+/D [7902 0 R /XYZ 90 721.073 null]
+>> endobj
+7906 0 obj <<
+/D [7902 0 R /XYZ 90 675.064 null]
+>> endobj
+7907 0 obj <<
+/D [7902 0 R /XYZ 90 594.087 null]
+>> endobj
+7897 0 obj <<
+/D [7902 0 R /XYZ 90 570.273 null]
+>> endobj
+7908 0 obj <<
+/D [7902 0 R /XYZ 90 570.273 null]
+>> endobj
+7909 0 obj <<
+/D [7902 0 R /XYZ 90 494.855 null]
+>> endobj
+7894 0 obj <<
+/D [7902 0 R /XYZ 90 471.041 null]
+>> endobj
+7910 0 obj <<
+/D [7902 0 R /XYZ 90 471.041 null]
+>> endobj
+7895 0 obj <<
+/D [7902 0 R /XYZ 90 417.381 null]
+>> endobj
+7911 0 obj <<
+/D [7902 0 R /XYZ 90 412.898 null]
+>> endobj
+7896 0 obj <<
+/D [7902 0 R /XYZ 90 361.211 null]
+>> endobj
+7912 0 obj <<
+/D [7902 0 R /XYZ 90 356.728 null]
+>> endobj
+7913 0 obj <<
+/D [7902 0 R /XYZ 90 322.725 null]
+>> endobj
+7914 0 obj <<
+/D [7902 0 R /XYZ 90 288.662 null]
+>> endobj
+7915 0 obj <<
+/D [7902 0 R /XYZ 90 254.599 null]
+>> endobj
+1235 0 obj <<
+/D [7902 0 R /XYZ 90 162.899 null]
+>> endobj
+282 0 obj <<
+/D [7902 0 R /XYZ 90 152.305 null]
+>> endobj
+7901 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F117 2446 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7948 0 obj <<
+/Length 1318      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���S&�;%cЮu�6��{J
+C�e[�.��$�~�u��Ȯ
]��I�D����C�koF/���b��\I�1].6�$HPbL�ƵI0bʲ	�ؼ�6�4�f��f>l�e��.�y���`��S�8�/��$L�<���� �g��l��Y$��i��|BHK?#R��u����)
�$��	����8�J�yW�������U/6lF
�԰	A�ͺ�E���;��
� �Z��{�`n=���2˦�S˥�mC/��7�VX�SR�T0-u�z:�<" �?H9�"]��^�3 �1�I��)�gh\��
�6����I��x�A�U`sx�ԋ��$-���0
�W�
����`�WI�Ý
�
�!���wZ���
+�8NJ���%�E�
h�~h�D%=h;�(�x��@��s�	�����
+#��F�����bJ{\|�WV/��F��*Tw�Ʉ
�Ǜf�]�[�
+
+�=
+*���t��vn)3
(� Q���
z�GG"� �!.�R�
���ָ��
�.�U�I��+�?�$$��t<D��I
 q%C
�T+I{�:�8|�D
b�MC����x�/�MA�{i�����5������tޕ��pD���D �Vh��*ae9�A��J�Nn���%�e��exG+pV:��hU��R ����#Յh ^���/��ۙ���Ĕ9@;�z<��:��:�
	,���������b�婷�gWy��G'��2�7i^&_���xE�<�
9���''�|�&��T9I��fK�/�����[�B|-e�/�ȏ5�3M"}+؁s�F�!�.��s�r8�KY�x�\�?��3On�%\wJ�
�7��<o�
m�qW��?�$E�ӟ���)ī�:�~<�'Sq��аs7��}m�"
G
�5�d������~Z�'��"M�߅��<�'I��{�b�G�H�?~��x�^�Y�a'
r�g:ʙ�����y���C9|�j��q�v[�:�p�#Rҭ��Ʌ���!�1����.�<+�^�Xw~��R4�y}�I�����ѻ���<
�h�����P5����SZ~�j0�<��|��G��+�
ug��`��8G���-�\�{۬R�fS��h���Ym,n������ 8m�CJ6��͐$��l�=
��5��
���%E��c{�u�u<�WH��֙tyyQ����K�ʵ^|�VC�;
���r� �QB�̀�W~]jJ��nڨ���
�����������|~���x�I�8[~�
���5{`�K]��j������q� )i
��
��R�j��{�����hW�
+endstream
+endobj
+7947 0 obj <<
+/Type /Page
+/Contents 7948 0 R
+/Resources 7946 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Group 7899 0 R
+/Annots [ 7916 0 R 7917 0 R 7918 0 R 7919 0 R 7920 0 R 7921 0 R 7922 0 R 7923 0 R 7924 0 R 7925 0 R 7926 0 R 7927 0 R 7928 0 R 7929 0 R 7930 0 R 7931 0 R 7932 0 R 7933 0 R 7934 0 R 7935 0 R 7936 0 R 7937 0 R 7938 0 R 7939 0 R 7940 0 R 7941 0 R 7945 0 R ]
+>> endobj
+7898 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 7958 0 R
+/BBox [0 0 444 144]
+/Group 7899 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 7959 0 R>>
+>>
+/Length 563
+/Filter /FlateDecode
+>>
+stream
+x��UMo�0
��W��%�aI��C�b��
�ء�!�G�!-�?J�dž�t=�CZ��
)=�'��<j������_�	���o���������7~����#��{`(@��#��'4&�̝�;��
P�L �s+�R��n�t�X“�d2��x2�Pk�����!�!g�<T_�5�G�96Ԑ����
q�\�*6�$GG��5�_�ۨy��+N
�@>6ʦ�0�nKȷ9�u7�}lt;��e���>
JíI�����Qx���$���3Gc/�2 ��KV�	gJ3&2��)\�F;dS�-��*��2�!F첀ݰ��) ���"7ގ!�)�u����
wmW�Y����)��@hAp^c�C�V��P���Űa�,,G�:
�?&1�m�
+�9e�r�8���_����8S�����aѥq"M���ZO
�~K�5�5
���{�ΪFଳe��kd
]����J_������.4(�.�f�5|��`]P
j/�	�u֓4��I��Ϟ�]ZE�J]R���^�v�Uy<5G1;��w�$�+vci�oS�WA?�9gۡ�ς7�	� }��
+endstream
+endobj
+7958 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+7959 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /NCVACV+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 7960 0 R]
+/ToUnicode 7961 0 R
+>>
+endobj
+7960 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /NCVACV+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 7962 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 495 556 500 611 278 556 667 500 556 500 584 278 278 500 611 278 584]]
+>>
+endobj
+7961 0 obj
+<<
+/Length 7963 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mk�0����
��E�� B�^<�n�4�l�Ct��Ƽa

'3�����=wf\Y��fy����(G�|s��@��$\05�5R�ʩ�I�/۲��='M��\V��Ó�zHc�S�Fse����.7kh"��,i[�H�r/�}�'biH>v���u;�����%&s�$gE��%��\)i2�����i2�_<ϑ6h�ݻp���YVfm ��<P-@b
+T"O�*�"� 	zD���#���T�d�"VQ��*���@y�g�C���!��~�_���WT �ձJ�A�+�5�~0���}��
��a��'�I����c/�+ы��@����
�~���Vɛs~��*�M�wh4t�v;�=+���iʧ
+endstream
+endobj
+7962 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NCVACV+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 7964 0 R
+>>
+endobj
+7963 0 obj
+368
+endobj
+7964 0 obj
+<<
+/Length 7965 0 R
+/Filter /FlateDecode
+/Length1 2760
+>>
+stream
+x�UV
lS����G^Ɖ��M����yC��4/�C�1�!o�$uH�G]($0���LBk(��n���Ml�4�2�B
��!ZM��N)��6�5l�!�
�r��\;��:������������e�"�Y���>@�U�=��ԡ��5Gn��ګ��F�]��#��
+�+ӆ�LO�,ѹ�ȁ����;D/���̾��3 əD����g�
&�.�[Hg/ eˠ"@2�
y6�����8.�ŖW�Y
�
��%�F 4i�� l�Fr�;���&��a��A��Fc[[�
���o�噿{�=��AQt�Y�
+�	`,�
f�`�
nA+�����r�&�k��v1G�`t�נ^e2�k?
+��&%��BM �5���i,�T����^SQY��{{��Z��q�'-M�G�lGR^AG`�Ş�������h32����2��-EA]���WB����z�i�z�)I�E�a��@ Б�X�"���y�!�
WI*:�D�|Egl�E��Of~Z1�ه���6g�$������Jͱ��Z��Jr�v���	�������J�D�E}�!z����b
��.:
��17��2�O�XI���.�ܒ�5�).�
���N�.,�4�|M�]]�z��o/���s
���`h��B�����d�� O9���)j�ϙ҈�T�#����@�dē�+���t�!csʖ_�b��SSڴ�L?��a��	� YFZ��E2��
+_o,������*���8�.
�俲e��e�

����
��&�ȳ�-d�[ң�0ɱ�56�0Ig(/���?.�^�>v"�:�.��Ў��
���
<{��Cv���]���}=�xfP<���`%K
�K�r�|�AEf?��֜���/

�r��	�
>��w{�//�߅���ف����
��#�������������n�e�@��X�=
}� ����	
����㉉�}����C:G�A�
��|A4�����Dx�Hx���.����`�k������oďg����gc2y�?��*��^#�O��/�Ü�����7�#@�՞��cʊ��_{���߿25;;u�-ߐ�|�}��kg��.q�}y�
+�!�wI��
+��,���{���MM���M���S��<r��O_��]�k���A�0>�E�7�O�U���t�uRX{�e�����V��F�)�w��&�#nE1��8����@b��������Ʌ��"8讚ڿ�w����Fb��O1k��%�2JY��{C�BZ�]�ʖ�W�c���
+���b��Aѫ�B�)I�����Y۝;w�y$��4���
���Y%�YT�+d& X�P�
&=�]U��&������ã#�
ˆ[�v���b��������f9�p��v��mlOQ��w8du�����pd28Y�s��L�sl�=ş�>��ɣ�
l��{�YM˄7�G��� U��-a�B'^
��χ�T>�n�����c���1�[�1���,�;��‡��꾫�>���}�|����N���3�Gȡ|�"������
�"ō��h� 7cL�KZ���h/�
j�����ƥꭒ����[�K�ܥyY9�FscmKO�#P��)�F/A�1}���03~
+Z���6�PJXxO���Ǯw.wq�Q⼱ރo����J���6Q%YQ¬�k�3KA�F��9��R�w/ŽM��������z����M<=�| a.�-	&�ſ�b�Ą�^
�?aG���,8�^k�^4�Rt1�l��drʚű�RV��:AM�	�Y�w
ڢQ�!��C
�ʚ���ϫ�3j��D��dB����z��i���T�&��
��t� ��,�
٤�1�؛���dN�~�RT_r�7�������
r��:��DX��f՗�_s��V+5����
�>�0�J�;����&V�Gt.|
|
&z�=(��A�G�
����ٟ��F�C��l�Ӿ��,��O{��1�j�Rz4F�N&^��{h���*����	/и�S@��ul���+5
zV�]Qu��)
�^Mw<��?C��o���k���
RK�^{��C���q2>H^��hPL���SQ����)�L���AM����G'
+endstream
+endobj
+7965 0 obj
+2044
+endobj
+7899 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+7916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 488.42 224.395 499.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 465.486 189.925 475.414]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+7918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 465.486 260.898 475.414]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a1a5c8e881f8449ae038fc40642062df6) >>
+>> endobj
+7919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 449.335 422.545 459.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 423.551 224.395 434.455]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 400.617 232.982 410.545]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+7922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 400.617 347.013 410.545]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_ab156f789e720f2d04086a672448ded40) >>
+>> endobj
+7923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 384.466 389.11 394.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 358.682 224.395 369.586]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 335.748 254.671 345.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+7926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 335.748 390.391 345.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a7cac2a7ab2e138c7c0e96354b32b0110) >>
+>> endobj
+7927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 319.596 465.458 329.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 293.812 224.395 304.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 269.902 181.207 280.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+7930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 269.902 243.464 280.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a3ae2260455d60d464a71a9b82e49cc9e) >>
+>> endobj
+7931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 254.727 420.593 264.632]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 228.943 224.395 239.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 205.033 159.628 215.937]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+7934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 205.033 200.306 215.937]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_af0800054c69699766ed5188e3e11641c) >>
+>> endobj
+7935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 189.858 400.176 199.763]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 132.998 169.81 143.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a02d8b929a48de1c69e0e0d702359ec53) >>
+>> endobj
+7937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 132.998 309.485 143.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+7938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 132.998 514.653 143.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+7939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 121.042 227.553 131.573]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+7940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 91.665 169.013 102.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_aac178c76c46ac4796dc7c382ec2169ae) >>
+>> endobj
+7941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 91.665 330.636 102.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7949 0 obj <<
+/D [7947 0 R /XYZ 89 770.89 null]
+>> endobj
+7950 0 obj <<
+/D [7947 0 R /XYZ 90 517.926 null]
+>> endobj
+7951 0 obj <<
+/D [7947 0 R /XYZ 90 517.926 null]
+>> endobj
+7952 0 obj <<
+/D [7947 0 R /XYZ 90 453.32 null]
+>> endobj
+7953 0 obj <<
+/D [7947 0 R /XYZ 90 388.451 null]
+>> endobj
+7954 0 obj <<
+/D [7947 0 R /XYZ 90 323.581 null]
+>> endobj
+7955 0 obj <<
+/D [7947 0 R /XYZ 90 258.712 null]
+>> endobj
+7956 0 obj <<
+/D [7947 0 R /XYZ 90 152.172 null]
+>> endobj
+7957 0 obj <<
+/D [7947 0 R /XYZ 90 109.479 null]
+>> endobj
+7946 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F67 3037 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im8 7898 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7977 0 obj <<
+/Length 2449      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo����_���U�E�}q_�k/>�z���(�
Z�m��#�8�_��R\��
GiPԟD����gf���%N��|7�����L�� #�L.���
�-��S*����&5"F�[��_�����ˋW������	�G8!^�@J'�����8Y������ɝ�I8e�N^M�>�A���P7�9"pG�	�yU����(�ٜ
+<M��6k�8-�'gw�2�E2�Iʽ�7������:,��&���0��jF��*+�|��=[i�ʯߞ��~����̪jU�4x�<}���ҧur8��B�BF��H�c{�5Hr�
8;�"���]D�~{1�x�a�= 1���fDL�r��^V4ݜ*����

b��B��G�]�!�L3��وj
toU[X�z;��&��QP*+y�X�CXY%���P�$i��$��H��H�i���h �7��FcH�a�<-�w���^�i}W�[۴�+L7�0#xZ���L������j�����&�K�mx̘�f32�(���قpk;?afŁ�;ސnȢ(ým�/�7뢁w�Ʉ��V
R���3b��
܄�ə3)�
��c�q�G�C#`b���1h�0%.j�|0��E#.�N{�G�E!��f�c��z�媇:�D
����Ą�
D��`��#�Aޜ�	�b~��i�Yv�zzv�/jP�:5�9b�AI�E����oҺ�ʪp3-�E^���ls������
�H�
 �!��=Vu��)L�����֮���`7�*Ĺ
r�n�DB��^-��-3���k�J��"}��HC֌ɬ��#�K
�ld��~>������n?>i>���9���}9�
)�J����2�W�!�C0w�ۜq
+d�3���!�^R�
���}���3�J-Wqp��į��m5�	 ��0��	����K�#b�j�|Z
Q���P���'�y��/M9��)��V5
��LA�l�t�k��MV��R�G_�@�;�d�bTd
+�ԭv����j��zlQ��u�q�܌�EcH�����Rt�Dq�ǰ�@ )P�
^D�(l�L�LpM�hb�����i(H�{�����h�C��	�GЀ�k�b
.f\{JԖ��h݋
+5	�����<d��پ��l u�|��waQ]�U�r>�
*�M:\S
+���+b���ъ�g�N����7ٲ
Q��!�1T���POD���,S�kNO�*� �=S��b$��(hpc��ؾ�~�m;����Sf5~��ě�7����
�]r��	�`?
�
���Ks�0�(
wZec$xM����H)��0�b�
C�R��챔�w�� ^2�QCp�+{j��%�*⥽�2�����i����:�!�.B�8�gfQ���;�*���:�J�� F���
+8�
�M�uH׾b��mZ6]�A
0��ą
+��

+� U{���}��vl���
��.�A#����E������b����T�`�����u�	S6��iq�4
+�:�^P��ʖ��
���-X�m�'4~.��L���b��zM�~���5��ARX2ۨl�d!����X
+�j�
��X�`�
O6
+���+7^��ޗ���
~�
U#��m��E�/ʬ魍�wOi,���Z
*
٤�<K�կi�{�	������[ؼi&��̆L�՞�@�4��iC�4I<�(HDi�+[��kؾ�E��ABoSA�*�$K?���(��(�ۀ�4�Z?�u�q�s���sLa�����JG��n
�	ԇ"�-ʟH�
EPj�:A%{07��
*{ F����=Y�	�!�8xOg�>��V��,/R
+�ba�ۃ�\\������<��Q�?ks���A�,�T���I;G'8
����~C�Y�oG
���k��I�	c'y�	?ڄ���֝
�e'!��b��i8c6r�+J{�H(Sa
�=1 �Uu���
<��SA
����&Sc�GL
�ImG*��:@>������eP�_#��
+�Ɲ�7s�
y8(�'�X��8L>̓���GE�'�R�ߌyF����afBx�_$r/
+6���
i�7�ԇ��:������{H}��
���=�hH}}o�cޠc���Y�8
+�M��u<����f��9����
�c���^�
>
+��
+)Ȓ
M��
����t����g����;J<�0�ʠ�d"��x`�Π�&ԟل�Ͱ|Of�o�H)[�.V�`; ����Se�]�
��k�rؗ�a�j��
���>s#O9�=����
vu���!|�_1w^�
+	�>�e�&JQ��{�
6�'/6,�� a;qs�7�	t�r}N��n��0Ʒ��������UV�n&`�������9|���2|k	7	r��!�	vǯ�,@���w��_'�a�����E{lrS��ӓ����*˯Ѣ�
{��q=���U6ћ��*o��
����9�
+endstream
+endobj
+7976 0 obj <<
+/Type /Page
+/Contents 7977 0 R
+/Resources 7975 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Annots [ 7942 0 R 7943 0 R 7944 0 R 7967 0 R 7968 0 R 7969 0 R 7970 0 R 7982 0 R 7971 0 R 7972 0 R 7973 0 R 7983 0 R 7974 0 R ]
+>> endobj
+7942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 686.333 282.901 697.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a1f3d0a78d4643a39b5bb1e57e9f75966) >>
+>> endobj
+7943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.119 686.333 396.604 697.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.8 674.378 284.284 685.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+7967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.908 290.65 648.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a8ce651047fdd482308082762faeaa1f2) >>
+>> endobj
+7968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 531.638 155.683 542.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_abd3924517707378fc8a0addaeda7281d) >>
+>> endobj
+7969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.901 531.638 316.708 542.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.774 531.638 513.996 542.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 519.683 229.376 530.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 480.028 155.683 490.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_abd3924517707378fc8a0addaeda7281d) >>
+>> endobj
+7972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.901 480.028 316.708 490.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.774 480.028 513.996 490.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 468.073 229.376 478.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression) >>
+>> endobj
+7974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7978 0 obj <<
+/D [7976 0 R /XYZ 89 770.89 null]
+>> endobj
+7979 0 obj <<
+/D [7976 0 R /XYZ 90 703.217 null]
+>> endobj
+7980 0 obj <<
+/D [7976 0 R /XYZ 90 653.53 null]
+>> endobj
+7981 0 obj <<
+/D [7976 0 R /XYZ 90 589.473 null]
+>> endobj
+7984 0 obj <<
+/D [7976 0 R /XYZ 90 432.295 null]
+>> endobj
+7985 0 obj <<
+/D [7976 0 R /XYZ 90 432.295 null]
+>> endobj
+7986 0 obj <<
+/D [7976 0 R /XYZ 90 369.644 null]
+>> endobj
+7975 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F90 758 0 R /F39 2320 0 R /F75 554 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7994 0 obj <<
+/Length 3345      
+/Filter /FlateDecode
+>>
+stream
+x��\mo#���_�h�VN<�.�N m� �]��~q��Zً�$g�:���;C�Wԋ�{��	Eg
>C��"}}�˓��ZD������<24�1#���r]M%B�N�trq��$-���)��U��>�������L��gg_��yV��d�-o���b�V��n�/��~yp߯��jy���ۗ���,!Zq���7��3L�ip~q�Ͳ�A�䝵���<�r��!{�?���'�
M#F��w�\MV0�*`�bD&���
fӴ�g��קS������I�x(�*sO��zn�GB�j•�^O��<���A?4b��R�D�����4���o#�I�G�hI.ൈޜ����#�A$�!1���_�8_�3��'i���C��Ψ$�H��<����h�`Ib���fj3�"�s*����F?R�B�#ԓF㮑瀘�	.g�����j�Z�6J��f]��m���d]�2 at G=:�Ӌ<g�%,<Q�����H�
��f?R���S,���?zӄJh�Z}�2�;�4D�$@ [...]
+��p�F|J'$���-"I
�[|'>���$������1E4s�@N~ȉ��K����6�ˋ
�R�="Y� ���|U+����,�@F%Q�	�K��GF `B@�L� ��O���$aL
�y�V����?��?ѿ��
+J��t?@ԇ dܤ�>e��G
l���Un%m�40f�����QL��>0�?�V��� ��
���3L#��D)���i`�
+)�F�V�2������m�Xvà�F��=�����5��=�O
+��<�;��B�K�3�
����
'�)���c�!�+�IZ7}2D򮃷�?�q
G ����#�x�5�o<
.�w-��?r�ܑR6�W�Њ+���Ŧs�b�ӹ�[)+�3ԝ��Ms�����mߡ6�����t�~����}Xd��jf5,'^�w�����(+z48�w,�S[U�iOggeV�Wﲩ︠�&�﮳�\���N�LYhG뷠�I�j>p��o\�~C�(�IlN�Z/�
+a�k���̉U�M��f9��LJ���,��×*l�/���΄8""��zU ��PMX%O�䳸=ה@"����?0޲�1���Ġ
Mx-H��7Y鄦���B��~�ru�Yd�*�jA�5��5�z!��?a�U��ҥ��&�ڛ������2]XE�M�/��_�!�6�T
ۨا sHz�Հ���lW��+)�
�t�i�4�X�
�<�1'1�Tπ�S��.�\���G�EHV��3�RN߬�]5 p"K�A
��k ��7�U*�A��]E�fuņe��5f��S	���p
���Wa	���!�)	���b��� R8�)�Jjs,T�a�3ƣX`$$�[�a5qR�:Brt��a��<Gk��f��&�k:�}�#������m���8��M��
�br��.k%� ���v{
+p_ԕ��7�ʡ1�2ܥ+������D�
�xp at a��n��{�?59��	* ���x�
��`7��LS�l���
c=����h+�G:L�Dt;v�aS\V�u ��_1��x
�/���Z�
�1�ɞ۾T���$]j��H�1�
v��G���l�*3�(�9��
��)���u�ջ��6i�vف�`���
�:��%��5W�7���}�ׯ�{�To�\	��-�BJô=���u�.Kt{jX�H�c>wK`Ojw��
�`
+MzI�v�y�
��w��"`
�Z���|
0
+=LY�

֯���n��A���6��E�51,ivw.aw>cS"���
����ߺ/��-)��
�& �b�@�ӏ�#�v��&2��z�Q��n41�1(��RF�5��Cw*�K���ƀi���A�A�5\{]6 
T��n��
+i�0yw�����3v�>���	=������n��'��Y���ӷ��ϧM-U�g!�C��
n��@c�� Ā�9a!KƢ�TĢѨ;��y?�3'
��9-��Y�Յ�:7l��0c1B�1���=w��Yb�26Ȥ>|�U�r�ݷ�O���w����T���0��&Y���m�Ͳً �‹jR��u��Шp܁��b)
W>��MN�����&<����˿VȢD�qp>�w������<�)���w���Mi�Kl�d
�ډ�� ׿)3|�-�
+��nއ(�VೖP��r]]�
��l�kC�(���������r��3Fcz ��
Mb�m�z�ÛK�����GN�	�W1��z���S7gAk_��Y�

È���B���t*�T)>�f�ƲD���Y�g�]��rU�7�p_�;�+
+�c
���$
��空d��x�Y7'��F�f�W���MV�*�MZ�I��&�Fn�۸�l}[�݊��J�d5˪4/�k$��?���{w#,�B���'�|�
L��R�8�!�ٚ���'�-
�
%��}?��}]X�����w���B����P���+ЍTC���4���5�޸f�o\#����R��;_{��1�	�j�c1���/j���̳�l�/�U��|���5�Qk
���5e"� �q�����x7>Z��1�#�aA
>���Y����Pp ?�!a�.F0K at 6���f�1h��t'��C�a���T�(1<��SWB��6X}`�`7B%�����N������p��n�����;����
+��V�;
<�JEҾ�J��2���n>�F��7cU� ��
ʫ�-��%������pԧ��!�N��0��f���-��87vE���,�`��X�`����g������,�$DB��
��훱�����y�
�Ҏ�t������2�{@�Z4]�n�߯�
�J
��������V�
v��v�%��
����W��^�`P9�����|v
O���W��E�W���+
V^N��0EI"�S���|ų�|e������+�o��`�Y�|�����O�+cXP�ς'�1̨��g�|���=�JT�WxLL#O>���`A�W�<���`F�W�f�
�ʰ�4�t
_3s�@bsD��p�-���L��j1�?�t�Y�j~Ev�m�֊���Y�����ou5U�I


+r�}3���/����)��
/�ۿ��HF���..^�7?���(R֞x�.7M��:'���غ1��,8ULg�3���y���(t�0X1��O�����˛��:[ޑ��b;��y@���Fva����ܢ
�$͊k�B��8�'��?��mAmoRÿ�{�e�����o"�r��0�vmnM
+endstream
+endobj
+7993 0 obj <<
+/Type /Page
+/Contents 7994 0 R
+/Resources 7992 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Annots [ 7988 0 R 7996 0 R 7989 0 R 7997 0 R 7990 0 R 7991 0 R ]
+>> endobj
+7988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.089 633.401 513.996 645.356]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+7996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 621.78 126.862 632.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+7989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.811 621.78 513.996 632.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+7997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 610.671 126.862 618.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+7990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 272.267 501.708 283.171]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+7991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+7995 0 obj <<
+/D [7993 0 R /XYZ 89 770.89 null]
+>> endobj
+7998 0 obj <<
+/D [7993 0 R /XYZ 90 597.097 null]
+>> endobj
+7966 0 obj <<
+/D [7993 0 R /XYZ 90 573.874 null]
+>> endobj
+7999 0 obj <<
+/D [7993 0 R /XYZ 90 573.874 null]
+>> endobj
+8000 0 obj <<
+/D [7993 0 R /XYZ 90 461.793 null]
+>> endobj
+8001 0 obj <<
+/D [7993 0 R /XYZ 90 258.786 null]
+>> endobj
+7987 0 obj <<
+/D [7993 0 R /XYZ 90 236.409 null]
+>> endobj
+8002 0 obj <<
+/D [7993 0 R /XYZ 90 236.409 null]
+>> endobj
+8003 0 obj <<
+/D [7993 0 R /XYZ 90 166.311 null]
+>> endobj
+1237 0 obj <<
+/D [7993 0 R /XYZ 90 69.928 null]
+>> endobj
+7992 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F10 765 0 R /F8 794 0 R /F29 938 0 R /F99 5346 0 R /F1 833 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+8033 0 obj <<
+/Length 1355      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�C%���~1���H��n�}JC��z�ʲ#k���;$u�e�n��y�$�3�3�̐��2��������D�� #�
f7����		o��UH���̞LjD��Y��^̞��]��FOf��#�x)
\�F���`��1���ܠU�)��<�
�<�5������F�AF�@�WB<&u�q8�(�r���!B"���ʰ�CB��Dbĕ��F���<"$�p�.�(���g	��#x�]�I�:�0
?��e�l]
@a��R�a0�`L�uRe�r�3ci,��1	�dEu��$�2~
ג#M������2�6��Pڟ!`݂5���١�Ҽ2��/�s�>�8(S���U���.""L�4�6�a�
jÐ9��w7��
(Z�p��3��1�q��{_�!�Y �BLҿ�r6�)�|b�P\�C9f��&��
ɱnY�(O��(�T�u��M�T���2��T��iq��E6��b"q�J�F 'LS�'`u��
��eZ�ev�_
ga]ܗV��m�d�
;*#�(t�G
)PHR�}}����"�#!��H��pI?�� Um�6�
��
���R�v'
+
+qBkd���-,�JlcFX�Ȓe���

o֥�:ud��Χ���/���vQ�7��X�}�"v�߁��|g��й�d���N���$�7̗
+l���(Ec��o�\N���
9X���A&������Z�QP��e	��Ճ�о5�ԍ�=���y����+<^���5�fB�x�{���,
4+e��@E��@#3����vs#g��\
�5�b07x
�uT`t��Y��F�iĥ��'�=r���]w�Y�C
a���F}$keH���g뭶��#����az�iR��w��?�{���l�76'v)
���ak�/�y�l}$\5��m�:_�ukW=�v�#�nS�{�}C�%�%Bq����J��R�m�o� ��ߔ�������2��\Ġ���̢{�1Ќ�
�p��s�C���!O� Ӄ�mU&����Z���B9���Q'�����!Fc$(�_��
��u"����k"V*e�-f[-��U�9 at n��$Ӳ�����Q-��e�]rNhd6Eܰ�[K��9Q�ϲ������w�N;�;'��)��ȡf0
����')��~����Yq��:
�)����t4ܽf�)�N�f�M�
+	��c;&J5�������5�����Π;�
z�q`D=�_c4��N���_�i�u$DX��Ǥ�Kr��
��&Ӳ��"�w��m/ӆ
ׯ-�F��Gpd��j��V�f|qqu�ܦ�]�W����C��v�ڒee�
-'�d�[�~�~��
8
+endstream
+endobj
+8032 0 obj <<
+/Type /Page
+/Contents 8033 0 R
+/Resources 8031 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7893 0 R
+/Group 8005 0 R
+/Annots [ 8006 0 R 8007 0 R 8008 0 R 8009 0 R 8010 0 R 8011 0 R 8012 0 R 8013 0 R 8014 0 R 8015 0 R 8016 0 R 8017 0 R 8018 0 R 8019 0 R 8020 0 R 8021 0 R 8022 0 R 8023 0 R 8024 0 R 8025 0 R 8030 0 R ]
+>> endobj
+8004 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 8041 0 R
+/BBox [0 0 418 144]
+/Group 8005 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 8042 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x��UMo�0
��W�X�-`�!�0`��
�P��6I�!�?Ҷlř�=FB���ޣ��_`�Nh]�&Z|��7�	�r=?�ͽƧ������4~����C�4n�4~B�
�8
�&[e<v��Pfm@��6�����/�͸�N�tIH;����xPP�y
ۯe�MY圣}i�1�a&�p�ot�YS���wZkjC�h��9Ilk�Dצ��o-�
B��p���x��q�}��?C}
�ml�
g+J!�w�<������n;H�3S'�9I<Q�Z
+fQ�Iّ�H�\KT�Q(�o���
+���,|�
+���Љ��S^t�<�I�,��N�j����$��E6�.��?b���O�-D榛��u�H��H�I6�}!s��+L����k-��K_�L�@����n�^L�e;�'�(1G6��*q��m��׺������|v�������
P�x����o��~��V}�6��{�
+?���Ψ]��j���9i��X�3ǁB0����
�&�l���ϩO�W�GI��eD1�
v��9$%�7�X��PF�W�:s��/$
��
+endstream
+endobj
+8041 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+8042 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /IIVALI+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 8043 0 R]
+/ToUnicode 8044 0 R
+>>
+endobj
+8043 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /IIVALI+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 8045 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 500 500 556 611 278 556 667 500 556 584 278 278 611 278 584]]
+>>
+endobj
+8044 0 obj
+<<
+/Length 8046 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š���t�:�hr�
+5��,|����)TP�<���̉��sk�U��nVZ�0�h�oN���:�H�B�je
+O5u6�}��-+M�樮E����6qx�sO�"~s��h���u����f�MdV�DM#4
��Kg_��D
��V���nG�[�Yi`�-�Y�b;E�3W���_��5���q��w��r�'I�4��@�e�����Ar�D��)�#��@'�
A
� ��
���E��]�;e] � �.~U	�_���W~9��_�]د�/Ǯ%��H¯������ �r��`$�W���r��(
)��~��$�'Gݜ�C�5L�>'���D���p�ԛ��
+endstream
+endobj
+8045 0 obj
+<<
+/Type /FontDescriptor
+/FontName /IIVALI+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 8047 0 R
+>>
+endobj
+8046 0 obj
+356
+endobj
+8047 0 obj
+<<
+/Length 8048 0 R
+/Filter /FlateDecode
+/Length1 2556
+>>
+stream
+x�UV
l�������qb�j��8q����
+!��r
&v�ۙ!I��QA
+�i�e���V(��v����4��L�ЖJ�T���ZX�I��V�`�v����N Kt������=�|߽�e�ӱZ�Y��Dl�<�
�a�z����w�k�|���Xl�u�g,
:��aм��Я@/�'��>��
���&���;Y�Xz����
��%�C/����Q��TȁIF���at�q��B��|i�����o~��`#����N��c�H
��UA|bv��0�'�݋
�`�"W
��7������g��en�vVƼ�����j1�%O��u�J�����5���.g�Vg��w�Ae��io�F���Nki�&�
N��3����+��ڵ}G�&�ԗ3�^���5�7�������H�͕�����Pk���VW��J�u[yT��w�*Qk�P��6`6�EI��<6��D"�E
�����?-������
+�4��/�U�z��*�V_���Y��*�[�m�i�Ԛ��}ky��(�"�&<�Г�{k3RI�I�x}�E��4��ׯ|��aJ���$c�
f�+�5��e�m�Z�x��.ʞ=���̱���P��iO7����
g�R���ĵDb(6%bȜW�g&d}>" �.~3']�	ؕ
ERa����T��N
,�E7�؍��2
~��2ׯ�<�!��兹A��T��S�2a~�ɸ�+z����+
.n��Ӂ@U,$��/���*鬗*���3�Z�,��b�Ն
�����f�8D���I�'{Ex��~v`j�x�}6�"/��"�v��i-m������/��*����7��\��.��bvdjt���>/�ی*����w�
��_������H��>�j�V��K���,�������`t��܂��[��a���x�p���c������~���
�
+��É�T~~� ~�#gTv�����4=��~r">w4~`g�6�o|*�f~����/~g��>��:=��I��l��ź&�Gq�.��§���
��n��:KR�UP?���ۧ޿<933y�/-ʗ?�9}��
+w2��L˘é��$Q����g�8[z�§}�l���&J��J[��N�1f�f�D�j����
���ᶩ_�>ոT�E
+u5�C{qk�]�_�a�6Դ�F:#EyN��Դ�c�g)�
>�
�[���T�
8�wxj� A_���N>H�n����G���B
����aZ��u�W�R�rOj-Cr����ء�Q`�:�|��,�^�='�$���%����y&u����^m<}Z�(�o��R�lk��IF���S�〤�
}8t��辚΍U#mCS��
��g�����X���;���`��

�[
i���=�t{*:�8ݗH�.�
C��"w���J��+�?�(}�:��Y+�����?��%:�I%��<v���_�dd~>��q��u�$�v-�i8mOqچC�1���9ݹs2~��X���
+�#�[����'�������41w�_�J���b����ͳt�7M��~�R�������n1��V|��wq
+ '���
������a~��>����
~$���_+g�Ą3�:>w�E.��@2r��r!���&��6:�t2ײI�D�2�)����]f��ros2��%��V<��]�
����j�0Zd�ff =�f�f�@f#�nFeVfcO�׹L�)�mb�Y*"�e��0�0�U��g�>�����Ok�W���/ԹP��ZU��`�?��������}��/�A^�ʩ�5��X3�Lށ^�>a���
+��BB��c���M�߳~�d@
+��l v��w v����
;���ǂ�6�j
�9lr�P�:�<�h;$2�.�QC�½Ju	�o@��ո�aS��0.
蚋 �
��S;�	��
�b:ܷt}⾦,[@W��C�
W���&�1�� �
J
+endstream
+endobj
+8048 0 obj
+1915
+endobj
+8005 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+8006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 395.749 224.395 406.653]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 372.815 189.925 382.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 372.815 260.898 382.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_aadb6d4669e8aa852e2f3d11e40c8c211) >>
+>> endobj
+8009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 354.364 422.545 364.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 326.281 224.395 337.185]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 303.347 232.982 313.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+8012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 303.347 347.013 313.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_adaf83ce888c996163559b520ebda628c) >>
+>> endobj
+8013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 284.896 389.11 294.801]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 256.812 224.395 267.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 233.878 254.671 243.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+8016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 233.878 390.391 243.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) >>
+>> endobj
+8017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 215.427 465.458 225.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 187.344 224.395 198.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 163.433 181.207 174.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+8020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 163.433 243.464 174.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a443736bb8156073cf1c5f672737eb02b) >>
+>> endobj
+8021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 145.959 420.593 155.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 117.875 224.395 128.779]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 93.965 159.628 104.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+8024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 93.965 200.306 104.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a6cfe9f46fa0f15b09149f89ef35430c4) >>
+>> endobj
+8025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 76.49 400.176 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8034 0 obj <<
+/D [8032 0 R /XYZ 89 770.89 null]
+>> endobj
+286 0 obj <<
+/D [8032 0 R /XYZ 90 721.073 null]
+>> endobj
+8035 0 obj <<
+/D [8032 0 R /XYZ 90 427.555 null]
+>> endobj
+8036 0 obj <<
+/D [8032 0 R /XYZ 90 427.555 null]
+>> endobj
+8037 0 obj <<
+/D [8032 0 R /XYZ 90 358.349 null]
+>> endobj
+8038 0 obj <<
+/D [8032 0 R /XYZ 90 288.881 null]
+>> endobj
+8039 0 obj <<
+/D [8032 0 R /XYZ 90 219.412 null]
+>> endobj
+8040 0 obj <<
+/D [8032 0 R /XYZ 90 149.944 null]
+>> endobj
+8031 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F22 2996 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F67 3037 0 R >>
+/XObject << /Im9 8004 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8064 0 obj <<
+/Length 2146      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~���K�z�

+�M}�6=P���0h���#�*E�q����Q��*}ʓ�˽��|���qt���?�.���R�J*��]��HI�%�l}�	FL'�1��	�qV���iBq\-�
�E�ݼ+n�~z��MaF|.6EU�\/��)�{?�(�������8ߘ��_��	���p��P ���_nHO@��4���޼-����Z�7�D��i�ofGFR$SMA��y�	q�iFq���g��i�m6Ʉ
+
ϒ���j�̚�����rw�rn���"�B�U/~�]�yA`

�}.���|u��
-���l����ZE�2�]F.~��ސ �0M���
+k��
+�'ު��m��e1i���W� �m_o�y��X�v��߫k�]�Hę��H�p���D��͍>N�綪���
���g~oG��<e���_�p���	
<���k@|6�0���4u6on>4U=��A��|�
4�i|�.אּ�"bQtt#��L� �\ޅM�d�����
f�e�o��tD
�gZ0e P*%�� �'D ���;xD7
ȹ�d��L�������}�9=�#7(�u�3���$
`
Ј$� CT�����8fq\���ͣ%���
�Ώ�� Q{ܶ㵖�:�q
+]��ȭ�O��|�mʳDc�k�F�)%;��哅�	��0&!*�>j><f��DwFS����'�YwFq$����¯���)
z,��������F� {����G�� "b8/�k��?��s ����\�ƛ<|9p�5披�
���
��!��0�e��ǐ
1��S�
�
�'Ta���Q=�Ї�t���h�z畎8����9r~����H�X?D�9���9��i����H3��v�s$��p�
-7���Zg.��r��m^%FI|k�[,?��*/
+�
�/s&g+7lm
�>�5	G�}ߺ*~���j�tW����aBy k�LF�p¤@�� �S7�<�d�~>Ne�`�4d������� �$2�=�#8Q at g;,���B4>W����=Pu(���˒)2�*��
\�R^��s��/��ƃ�c�'�8��^I��
+7��!kv9��wf�o����
+�8��¦hOm�-PJ�+�B��$�pg�&�S���qT!�GX�
!�h�H
R	��Q�r_=q�M�XO
"%��h:��ą~X8%3��ἐ}���������򴼐��sia��嗣Q��50�nf,70�˴��)����WI�)�0'�`�������C�K�WL��%�3�ot�n���?B7G����VFQʩ��z�(ȌM>�-]R�|��b���R �L�`o�a�c�Ĉ�:�ɊeX2�y]�������QE�H̐H��B����{�8�c��J45B�)���^A�:�_�ˬD
�
��>#s�6j�}LeHS}	(�&�/�,���6lR������:�P����
u}�% H=�������9�4��>R쟈��|�
'bp
��މ�	�q�4��^F�E���
"pj
�/�{�1f��1��/��H0v)
J(
��3�d��Wc�wvM� ��Ĵ�}s��wp�XdJα3�;\�{;�#� ͜#��1��Ĵ
'c�7RM�"��p�%}�O#(&�sH`��e/�c�$ l�y�
�Ɂ�)�xm?�9�% ;a
�� �ڿ��%۹�w��WOtMC�
+w����a
+�Qj�=��[��(�}�=7.O��:�C}m/�?�
��фC@�񗚙-�i�����m���D��J��_EwO�L�%a&3�G
+к��\�F�y�l��~˰9��;�.:i�|��.5w;9�
�w��Z�	}�Ze�����?R
�LO�%�h�uɴ���0�ZGu)�MZmv=��F�����n���z���a�4��Ҷm�g'U��B�qa�W�*�u
�ic�{&)(�̻&�vf&C�9��=�v���W{�I�Con�e���f
+%E��S�-����
��w��Φ�w���M^��'�߲rk3_a����-d���7�yx�vB�/
+�_/,�:uC�b�
�f����v{�G�j�O��s��wһ��>WU(���͎A�A�$%
� e�	0�D)jGt��c��;�ޮX���O�ƍ
+endstream
+endobj
+8063 0 obj <<
+/Type /Page
+/Contents 8064 0 R
+/Resources 8062 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Annots [ 8026 0 R 8027 0 R 8028 0 R 8029 0 R 8049 0 R 8050 0 R 8051 0 R 8052 0 R 8053 0 R 8054 0 R 8055 0 R 8056 0 R 8057 0 R 8071 0 R 8058 0 R 8059 0 R 8060 0 R 8072 0 R 8061 0 R ]
+>> endobj
+8026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 685.185 169.81 695.715]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_abf9798785b87d68e6ff2db95401536a7) >>
+>> endobj
+8027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 685.185 309.485 695.715]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+8028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 685.185 514.653 695.715]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+8029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 673.229 227.553 683.76]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 644.297 169.013 655.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a5c97434b373dda7d6f4f882478dcca61) >>
+>> endobj
+8050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 644.297 322.367 655.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 578.189 274.632 589.093]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a164b02df3563d0cac9dcf896537051c8) >>
+>> endobj
+8052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.85 578.189 388.335 589.093]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.532 566.233 297.016 577.137]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+8054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 529.04 282.381 539.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a4e31289c7f2b430f3ee16db365000bef) >>
+>> endobj
+8055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.94 420.767 156.306 431.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a7d57cba876e1525b5e8ddd5e780fb22a) >>
+>> endobj
+8056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.146 420.767 309.683 431.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.633 420.767 513.996 431.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 408.812 224.395 419.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.94 368.298 156.306 379.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a7d57cba876e1525b5e8ddd5e780fb22a) >>
+>> endobj
+8059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.146 368.298 309.683 379.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.633 368.298 513.996 379.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 356.343 224.395 367.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression) >>
+>> endobj
+8061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8065 0 obj <<
+/D [8063 0 R /XYZ 89 770.89 null]
+>> endobj
+8066 0 obj <<
+/D [8063 0 R /XYZ 90 704.137 null]
+>> endobj
+8067 0 obj <<
+/D [8063 0 R /XYZ 90 661.888 null]
+>> endobj
+8068 0 obj <<
+/D [8063 0 R /XYZ 90 595.336 null]
+>> endobj
+8069 0 obj <<
+/D [8063 0 R /XYZ 90 546.168 null]
+>> endobj
+8070 0 obj <<
+/D [8063 0 R /XYZ 90 479.327 null]
+>> endobj
+8073 0 obj <<
+/D [8063 0 R /XYZ 90 319.581 null]
+>> endobj
+8074 0 obj <<
+/D [8063 0 R /XYZ 90 319.581 null]
+>> endobj
+8075 0 obj <<
+/D [8063 0 R /XYZ 90 256.631 null]
+>> endobj
+8062 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8086 0 obj <<
+/Length 3619      
+/Filter /FlateDecode
+>>
+stream
+x��\�s������mfZjj�����̴M�qj�j�t:c{8�Y�P��v����8�8��D�I�O �������uw��w#:���/gGOO�9�4ף����##
Q~]�^����oϾ
	m	s�*
���ߝ}���+|w����OG
^��1vtqs��-
]��oG�gG�F7#�\�WG�8�m^4���a���"ͱ��'�i�4�BT|�}
�j�	�z���B� %Rɑ!�p��lD�[g�-[)�Gl�K�ޗ�D��$\��7����#N�u�AFš;"�
{kӒ�9�7
+�h��b)Y^�x2D�0�gG�J\о�Q�I�ɐ��!e�w˚�d�
�(���L��D
+�ު
}I-�*��yz<̌�c6�p��x�/��4��^��V����'�]��"R�H{C)�L�gC`.��E�#�2N�I�Y
�� H�P!�a�
_�׫
�_H"9_�Yr����4K�U�߭��a�pg��
�ˆS%�J�\Q/B��\\���:ɧ}�F�)HI��#�4�mC�Ŗ�P���"Z���G| u9����&u0T�48рQ��ۍ���G��{�Q0~Rj
�7,#"
+
��
#�Bό� `�>
�;���*���V�Q�GQA�F�B�j��eT�}��^��)�w�����A��`C)i�ƁZ�&:	
6�
��̤iWʀˡi��2:d�"��C�
�;I�E��J�E3��7�Z�B
T�E@O���b� ����`Z��UhY��'M?|$
��r��&����ރ��g}�.���
`��0�i��/‡��Qԇ
I��nפ4(}jk*�oM���!*����*�J�7��H"i���[e��̏�����KH��|�_S|���,]��>��tnA��.6�}�IЧ
�z�@i�dW�H�3^��:�M��$ώ'L��y�ȵn�6"*0"N�k^.�r���]��y�?E+i×kH�Ҙ����O�
��L��Y�
�*�̴b��Q�G���P�4
�oĸ�6��q�0\	�Ed��W&	����Q[�‘>:>��V�^�h7�h����|���{�m��:(��2A�$P����1)�p�1x���_D$(�5� �v��x,��ozY0M��}�)�O���i����&�²X�~��}�Fg!��X�\ icv��5�_<����=��i�Z�>��
u�}
�RCqp�TA��;(܂�$���C{��+���&�uƶ5�
�f㹀|�ۧ���T.�����q{�R.�
��o�w4]p�ַr.��x�b��A?̉R�4����(��<����M���3 d	��SP�5�SP�
s��;;s���8N��(o�"�
��\Ŧ�
��x澎�+��j�{2%kY�h��,�<�1"y��6>g�lYr�7��֎��u�e�}�
���2�s�w�
�G.AA�p�S�T��8��F�۽�l��/�l�6�0�Ά�
8 ��gü�

��B�M6
?}6
7�l�ԫ�p?��N���	���M��^�������y��c��~).%���\��Փ
xĝ�+�S~��v���J��笯
#�+1�hȜ[}~��_
��@{)B�}�0aD�j
�WU
yTń���`�ј[K8�l\ͯ��?\�U�^��:X�QP[�
��)�k&/�t$��A�b�(��-���2G}$�7U܆�E�V�a����K���c�4Y@�w��M�_��=�G~Wr��ܞ��7��90ɖޘܓ�*Ɂ��t����:��N�t�ާ�r]EPB�
+7
��,[ee�~csg�3�:ӊ&F
Wa��
��lkO���4b�C�(�Z�?���i�
����\��Fـ�`�-��ڟZN���g)�b�s�
-�M�Ѣ��
;��v������=�m���i�O�{�Z:�9eA�BG�/n+��iq{����/+|̗{� l�m6���+Z��49_� ��v�ᶚZR�7��/��
�G��Dp�*[��W���P)����y��1����"�BM�����&]�I^�nj��>�#�o��	+{�ӛ[��1we �h�R,5O�jR���t��`������s �X(E�z ş���GO��
��CR��<�){<��ܕ,"
(���a at s�A.d��X�1��� �2{�EH�(�����pjC�N��&��9 Dfk
�0naQu�z�Z��+8��
��T�xT �
g�ǜ�W����e��js�P.4�/��Y�}�N������81g͔-U�����`͒9Ęن�b'`m��
+Q�.���0ԇ(D	BdA��/P�0
�!8�`f4
9h�j}��E�%e��!ؐ
AM��6d�Ƙ~���L�>����J}
�
+���j�cehۋ�d����5<f^[�ًٟ˒��
vA4�P��lS���A� bj� �(��&�q·wS@؛�£hqV&Q��
���RC+��B=U�J��$��P���q��=&5�I���&Bk�t�,�U_n yp^`�����h�yA�W�'zr
%��m
k_"1<D0
���T@�Y�1��
+�
b�"bhkO�p�l�z?��M�x�-�zd��B$Ame��L�����t��g���Kw�
+���2x0
�]�T�0�L��E�#NK�?4)I��
�5

I7�� I;C��K��#X]E�z
��ykٗ�_�j`~=_G�B	S��C���P~�q�����t`y�kp����\�o�h�0�l�)v�A���%��
Q���`�e��S�m��Kbvq�o�5d���XE�S;���2p��T�f��ca�e":$6!�z(G�IP�������
+��u����YA^�
����9H��CS� �[�
��!Ι"ϒթ���
��0���i3t���
�1to��5α����CS���І
C�r�	Ǚ�\�Vk���{�D��؉#��N�����
kCX�!j?�ܛ�a5c`�!�so�QW�OϬ��L���@
9��lw�+1x�
+�T���y�Iw6W�#����"M/��'�X
+w��V���:֫��6U}�.�0_�!�9�����NU*�n������3�CO��������]|����dE`ĆO���0
+.��R|�.��7�:��c���Q��<[�����mX�gD�^9��/<�Z�YCȻ��*4��}&YýI����?�:��:�N�j�#T|Š�g�u�^]�?fAKY.6e��2ư�ژi%˳�^���.�q�)�N����W��"�.����
g��z�\����'p�Z��U�kYRa �r�‡��f]�CI��ͲU���i)�9�i���4�U�MI. G{��/��m3c�VY�^]�y2_T
�H\$�0�)��~M
�F��
ө���Np���q`̈��
d)��7�������uA�(�%ƺ�X�
��YW�a���o(���P��J��Ύ-�:�?Hx}��
��0�����/��,�
\a��͖����=�Щ��4D�"���+}���e��xY}S>x��F��Z����M��/�\�J;�
��0��M��OO_���i�{�%n^&�M�_`E����$0B��A�_gh1O��<_?�l����?J�����u��N�>=߼{�� ^��i>v���!Z�֫"��Ύ�
+ �=��HKu�
+endstream
+endobj
+8085 0 obj <<
+/Type /Page
+/Contents 8086 0 R
+/Resources 8084 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Annots [ 8079 0 R 8088 0 R 8080 0 R 8089 0 R 8081 0 R 8090 0 R 8082 0 R 8083 0 R ]
+>> endobj
+8079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.089 444.051 513.996 456.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+8088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 432.096 126.862 445.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+8080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.095 432.096 513.996 445.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) >>
+>> endobj
+8089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 420.474 168.705 433.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) >>
+>> endobj
+8081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.256 420.474 513.996 433.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+8090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 409.366 186.638 419.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+8082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 74.333 501.708 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+8083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8087 0 obj <<
+/D [8085 0 R /XYZ 89 770.89 null]
+>> endobj
+8091 0 obj <<
+/D [8085 0 R /XYZ 90 395.792 null]
+>> endobj
+8077 0 obj <<
+/D [8085 0 R /XYZ 90 372.569 null]
+>> endobj
+8092 0 obj <<
+/D [8085 0 R /XYZ 90 372.569 null]
+>> endobj
+8093 0 obj <<
+/D [8085 0 R /XYZ 90 260.487 null]
+>> endobj
+8084 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F35 1248 0 R /F24 529 0 R /F99 5346 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+8100 0 obj <<
+/Length 1938      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�D��_a		
A���R!$�
/��݇�S�$ncp�`�W�׎�q�V5�C��f;���33�N��� �O�����+d$���u`p��AB��2x�����8��
F�:���R
���*^��Oɼ����ӳ|
%��E1%:̗������'�tV�T!M8�_-�e=���v��b:��gt�#H�f�W��6�ʲ�v954�כ4������:�������<��X���.'N���}$���b=y�K�!����]5i
p��o���:��� E�G��9l��'�[�kĜ�ϋ$Ζ=���ٲ~x�
����l�M�~;���8�FՐ��0�1���޲����������T���ےB�����8���\�Ex~��ZKa�1Ҝ
�/EF�������%�jS����l
G<���)a� ���$�PH����P� ��(�_�H`:,�����s�h/*`�`�=�������~�dYo���E���-x B!� �
+f@}#����&��I	ܽ:Os qv��N�m���kS�jY:v���� �7-r��t���@J����r:a��
kJj�X6�c�J�� �]CV��ب+.>���	�f�܃q�}�ˇ؇[�}��P�)�Y�3��b��
C�s�A(��Qb�$�����'�ʐb�)
$��#�
$P4==VUl�
� Nǁ�)�@�ARx�bJ
` �-
�l�u�d!MGR�]� �S2o����
+�ɹ�
���i�:������J�mʁE�F
�6X��M]	7�.ٮ�������aϊ�|�ZA�
<Q�s�
j)�F�/T�*S��Q�
+�D=Y����*]�*χ�
+�.����1�eLI2�PSB�'
�4B���Be�P���Ȅ����а
,�/T�!��S���;��!x�P�*
���PiJ��uf�^'��΋�a�J\Gg�k��
+ǽ��Y\�&���"_7�7��4�Rz&����bL���
�8Ӏ� b�s�Ÿ�f&@�l6)Z�)����j�Uɡ>ѡ�T*�v�gTm���K���
cCB�=�up8im	8�
+�Ŕ�0Omu��}Bk �((<Kȹ
���hî�0���6
+C�R=��)�-MJ����v��˟]��񛚶IG�Af|?��k�`�JT��f�#���0.���(�F�����

+�f�J��6��(sAv��i�4w1V�����J�M,ޭ�lgh׊�:s_�����X�
�������@B�cV�;��I�-����5A0�L���ٲׄ6C�b�/������� �SH@`��m�,�FI�tz��rQ$�'vv�\��q°�.Hf��T�i��
j�,;
��
Zha�#��\H�
��Q��bϺ��Ě"�=:2{�f

����Q��c�N\��c�$S=7���%l﫝�:r/
��b��^
��#,տ>s���՝��2�u����
|斁�����

'�,c=.%�YM�j��&:��^�y^��}=�������
���
b�%��)!v^f�f��mĐծk��ކ��p�K1���`J�x�mw�;�2���Ǹs�
t��
0���wƸ6^���X!��~q��57�G47k�-Ǐ��)*G��֖��{
��� x���?n�pz��⋶
�e~ck��
^j�%��K�Q�r�E��>��`��� �d�,,Ę��e�{l�Q�)�*���I��2�]f-��.�u��}���󨌫�w?���\�q4�*�ظl1���J>P��?�x�b���Eu��Vm[x����ێ������ʸ�l*l+�z�9�n�t�wW�6��9 ۍ�᫸9��A���r�J�m�Zm��ӓ���Mg7h�r�
�}�wߜ�g�΋�Q�U�p�&$?
+L*b:O�3��D��R���}�>l��
��X��,�~��7�~�
+endstream
+endobj
+8099 0 obj <<
+/Type /Page
+/Contents 8100 0 R
+/Resources 8098 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Annots [ 8097 0 R ]
+>> endobj
+8097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8101 0 obj <<
+/D [8099 0 R /XYZ 89 770.89 null]
+>> endobj
+8102 0 obj <<
+/D [8099 0 R /XYZ 90 721.073 null]
+>> endobj
+8078 0 obj <<
+/D [8099 0 R /XYZ 90 698.082 null]
+>> endobj
+8103 0 obj <<
+/D [8099 0 R /XYZ 90 698.082 null]
+>> endobj
+8104 0 obj <<
+/D [8099 0 R /XYZ 90 627.984 null]
+>> endobj
+1834 0 obj <<
+/D [8099 0 R /XYZ 90 503.581 null]
+>> endobj
+290 0 obj <<
+/D [8099 0 R /XYZ 90 479.984 null]
+>> endobj
+8105 0 obj <<
+/D [8099 0 R /XYZ 90 367.732 null]
+>> endobj
+8106 0 obj <<
+/D [8099 0 R /XYZ 90 306.233 null]
+>> endobj
+1835 0 obj <<
+/D [8099 0 R /XYZ 90 180.584 null]
+>> endobj
+294 0 obj <<
+/D [8099 0 R /XYZ 90 156.986 null]
+>> endobj
+8098 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8121 0 obj <<
+/Length 1466      
+/Filter /FlateDecode
+>>
+stream
+x���n�6��_��Mj�W�2�[��z�{H�@�h[�,���,�CR�-�Iݵ��0yD����[z�{9�u::y!��(��7]x�$��a�xW>
q�q��c�B$
+�?�vz�vzi���O#��G
�������G�% ~�a�"���Ck�S��w9�}�wy	�B!��y��eZ��\c*�����n�(J�����r
__��J'e|�:��qy?���o3��y
�i�O&
+�q=_%�r29-6��
N�7��N������zb�l
�����JD�x!¹Q��F�p�����f89_����f0��,����Ƹ%6ޡf�
��᠀�V��Y �,��������L�n�b�ύZ����CBę��"�L8�(����rٰ���Ȼ
���4ݻ
g�A?`��G
�*b��Bn�nBNA7
1�H|��&��w�A����kpB��zX2�;t1J�Z����8L'/(�a�b��m�~����9�i�,�=Ȃe�߰A�
��l̎���F
+q�ڛ5��
��u\���<nLo�*Ns��.��]Z��<r[
�dFZ�1���'�"%;��L�?�B�I�
�Y<(�o�#y��.��P�����Y�(������φ�"M
w�4�tY_�4�M?�c7�~���,pn����p�
��
I;Y��5��vqq��j���9
+qw�^���� A��
K�DJ�O`�xQCy�_صu`R�UFǘT
aRz�E)�D>i�9��9d����
����:�tW�[��8�~��~^?+mgW��P܅-��
C2ܖ�2��/�&�^郵���./ԛ2�מ�"�k�t�u1��k�׽��Hh�(�j��
jK���
(�I����6h&�G���܍Qz
���
G̬�1#�]��K0�� ��D���4Ӊk�Ou5/�[�y?fr
���#��S�
�d�x���D�5�N�am���5`e%3D�I�MC?m��M76
�[�I�q�Y�
�B�R\�{
+^YVT@#�/[�0�t��N

a�
�s��Z�
2
���ll�m��1}k��\�v�ܟv	tTJ);�E�љ�!�d7����$��P\p�q-`�/2�U|7���@�B���@a
���c�
��X�h�h�)�
}�:�jgPZwŋBDyi?5��W�Rۅ���a��ٟ���y��q�k \�z;�(�k��@��&V��H�Km

��
��i�Rl�RJ�J���Z�7�- -bF�$�
43��p�)��l���]�ڳ;�
ߚ�u�V�����j.T�
l���m	hse��MV�m
+��Jg�M6ԕI9�"5|
+)���#�v.r�n�j�O0���0�'���'�}=��I �x��}f������D�����[�m揁~�����&ζI�)����Hv/���n}��uӱ��y����#��Wu};99�m��Ηh�s�)��#��ռ.G���(���ѻg� BK�
+endstream
+endobj
+8120 0 obj <<
+/Type /Page
+/Contents 8121 0 R
+/Resources 8119 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Group 8096 0 R
+/Annots [ 8107 0 R 8108 0 R 8109 0 R 8110 0 R 8111 0 R 8112 0 R 8113 0 R 8114 0 R 8115 0 R 8116 0 R 8117 0 R 8118 0 R ]
+>> endobj
+8095 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 8131 0 R
+/BBox [0 0 428 280]
+/Group 8096 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 8132 0 R>>
+>>
+/Length 858
+/Filter /FlateDecode
+>>
+stream
+x��W�j
1
��)��H�7�9,�B���
=�
6�MJ��
���<�gֻI��
aI��؟%ْ��%���Zi\���$v��)P���N^l@��.�_>п?�G��!.�$(�[� ?IB2N�eA��&��D���wQg��`hُ�)��fA"D�΂���Q/%���#ؼ�@Vk�TJ)8�U��F����^\�0�R����  Gx��`-
f4�G;��
.��"�@��8ڱ&���:�?B�)�v
L��ъ���՚e at eYm�z;�tKv襀0��O�;L��v��@=�DS �
+�T{[4�c#�qڥ�RA���k�j�~�V%G��YN�w:
������'
;�
+xL���-Kq3�]�	�u��.��N�_Ϲ��@cTNb�t�'YӍ�����y'�r�99��g$
���է�Y�ޔ���v��Ӿ�q@ςh �t7
���E��d��Q���s�]D��f
�s5������Q[��r_��0��^�Pm[�8�7��I��pͦm¾W�T<[���)u��R�ΊT�<�7�h�
�
+=R��T'荲���RCT��s at Ej��C{O�NŐ����\��1��wse�~�32�Ia��Fi2�U)�\ڎ׭N�L�
%�Rf
&إT��<�B�T�=��2i�'�@�腫�����I+O���{
Ny�ƤxY�
��\��;'iGM�
+uR�҉cOτ}?�5Lr.v�Of"�
�~_�4�w(fC�8�>��0�	o�����Yޞ�
��=�=��d�焨��8f/��[��d���x�,
觌��Qus��$%gdJ*���H�,5M��P�Ӕx�V�������p;EeL���/���O�p�IaJ�W��g�4�n�
+endstream
+endobj
+8131 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+8132 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /QOUXJC+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 8133 0 R]
+/ToUnicode 8134 0 R
+>>
+endobj
+8133 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /QOUXJC+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 8135 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 722 556 500 778 222 667 500 584 278 611 584]]
+>>
+endobj
+8134 0 obj
+<<
+/Length 8136 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š�2v@�2ݸ��>�&ǩPc��·o��B
+�'�Ϝ��<7f\E��f��*��hG�|s�DO��D2zT+Sx���Q���45f����/.����I�==DB���ir����ץŧ�f�MdV�Du-4
~��ξv�8�����qݎ>�7�s�$��GR���v�\g�U���?ꈌ�W�2��A}w.L�~z�I
(
t��,P��r�4�@n �Pc*A
+�UΠ3j��T�zPR�r^E�ƫ�O6ʺ@2A3%�J�I�#�a?	���؏k��9�~p��׃��H��s���W�~���.��!�_��S�e���u���K�]�n���
+�
:i��н��l�Tx~�-ʥ
+endstream
+endobj
+8135 0 obj
+<<
+/Type /FontDescriptor
+/FontName /QOUXJC+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 8137 0 R
+>>
+endobj
+8136 0 obj
+364
+endobj
+8137 0 obj
+<<
+/Length 8138 0 R
+/Filter /FlateDecode
+/Length1 2792
+>>
+stream
+x�UV
lS�>�����y����8!�N��$|혆�$�ˉcbyS�
�QA��(t
+Z�<K������j}I��6��M�M��ne��	h��*���u,����������Jѐj�H��hx����!����s�Ȗ�ԯ����c�#�.<��o��ԁ��6T�X����"э����g�������aB�W�
"������
���
�|؄
6�������-:K��
tP>�4�&�uCnr��	B�A]Lu6��aTI�r���������td��6U���N1�wB������ns
�1� 6�L�L���}��0�:��p�j��^���J㮢˨�n��5zG�2�&�
���@iR��XX�
+���&�d�K����[l_���R�vd�k�,��h��/��I�����='3#]���Rge텥e�gM
����@	
!^

`JŜFE8%�UTr��'
+������sּ^�Ǵk�J��Ù�q�/f��`��/�[�>g�$�����J��i�-�����!�;����
(�۱ ���D^�J��X����
��1/6Me�O&"Da��c�Qn��
F���ӌ��������z�6f>��
����F�=�Q�����J��
���x���o���^cZ�F`����/���������r3ͺ�y)����ʹ3�GR}jSv�����	]z��"��bE_�-�����%-�A:�.
俳���e�5�F��B�
���CH��h��F���dTY���Ψ�������PƳ]�;~
m���
�NC˖��n,�Z��a�N4W�KX��su<�Y��]�L'f ��\�z��M:�F�n���|�s[G\�օBޚ@��˻��؋�GV�t��xw��hw��@��*
[�h���F�8��
�����ks�ǣ�m�ׂA��}��bh(��
1H�\���S:��@���<��Pd��᥾ VS�2�`�kա�;_瘟_�}<6��7
����Uls�z��G�F��
@f�QmL�=�
��L�8&��(��Z��D�l]���)���l�;�k�_��~��x��:������d[Q���pT��w��#o�Ë������4��I��F�1��r*�$Q^�7g��,v64��N>��O���}u*��gࣖ�-���L�?�5����ɛo펰�3� � '~.5��?	ƶ��f�f�T�Z2ҿ���u�~�J
��ܾ�;J{�K��{7l{z����'����A�MC_6)D|��%�
i�ߖ0.G�x}>�y~�@U�ek�zF5+�&BU6���ﯫi�L�8��"7�֭Zj�X6;J�Ѿ5���h�n'��_û^�7|��VW_L;i�˧�����������|����{_��΃\GM�y�f��
G���u_~���	���M���
�����"~��w�����-i�6A�<�6�����ռ���;4;pQ)Cൣ7n��

���ܽ�oUg��槧OMM�~�3����
�u�~��%������oϝݵ�-EW�N�N�)��P��0w�)�Q<���M��	�tf�D��[ �+MJI���.�^��Q���j���<@�Ӗ�����튼��������x|хyƥf��
(�Σ�zN��k���ަ��i�0(U.���Mk/�O.r���X���ڪ�ա�Pq^�M��{�.���Vi���H�$j�s勩T,���t��j;s��ˠo�
+%��D�XD��{�U�=3[؞�v�8��
�CE�����Y6ѽP�2�)�A�
�*��$�A0&�{�X
#�����"�&~e�*x��ܜj�I$I�o
+��&
�����n�jB�e�,�{%��#��c!q��#c�ߞ]�^������?\��׹��g�b՝�,��dF�|�t���ᙙ
+՝��GV�	�`'H7+!
h+�
+
R�Jb���k���'��G
+AY� �k0�S#
�5��:Mx�q&|�3���_!$;��[]୬��B���D��1�7�u/+z�>O(�:
�@X
xK
+x#
+�A:�=a	h�"�H��
j��- |S�G*�D
�i6��D�,��b�J?Ư�&D�)|�lPI�� T�f
+endstream
+endobj
+8138 0 obj
+2095
+endobj
+8096 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+8107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 402.366 210.438 413.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ade93b18091b0c0255f9edf5635671e5e) >>
+>> endobj
+8108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.731 210.438 386.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_a5d81385e212eb6794b6eccbff7d75f40) >>
+>> endobj
+8109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.253 375.731 310.781 386.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.559 375.731 421.086 386.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 349.097 188.47 360.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_a2a9693ada9db53099a8f7bc3b4e4b14f) >>
+>> endobj
+8112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.286 349.097 288.813 360.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 322.462 181.277 333.366]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ac4ab32047b258058ceaeede8df7a39b2) >>
+>> endobj
+8114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.093 322.462 281.62 333.366]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.827 210.438 306.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.408 295.827 240.863 306.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_afc08222c6448a38d82487f73f0d2cd4a) >>
+>> endobj
+8117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.193 218.186 280.097]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ad381baaa75c172ef8deb34e3663e3ad6) >>
+>> endobj
+8118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8122 0 obj <<
+/D [8120 0 R /XYZ 89 770.89 null]
+>> endobj
+8123 0 obj <<
+/D [8120 0 R /XYZ 90 420.729 null]
+>> endobj
+8124 0 obj <<
+/D [8120 0 R /XYZ 90 420.729 null]
+>> endobj
+8125 0 obj <<
+/D [8120 0 R /XYZ 90 392.361 null]
+>> endobj
+8126 0 obj <<
+/D [8120 0 R /XYZ 90 365.726 null]
+>> endobj
+8127 0 obj <<
+/D [8120 0 R /XYZ 90 339.091 null]
+>> endobj
+8128 0 obj <<
+/D [8120 0 R /XYZ 90 312.457 null]
+>> endobj
+8129 0 obj <<
+/D [8120 0 R /XYZ 90 285.822 null]
+>> endobj
+8130 0 obj <<
+/D [8120 0 R /XYZ 90 242.195 null]
+>> endobj
+1836 0 obj <<
+/D [8120 0 R /XYZ 90 153.753 null]
+>> endobj
+298 0 obj <<
+/D [8120 0 R /XYZ 90 145.198 null]
+>> endobj
+8119 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R /F68 3032 0 R /F22 2996 0 R /F75 554 0 R >>
+/XObject << /Im10 8095 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+8164 0 obj <<
+/Length 1400      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W(�R@��;I�(�6q�\ �Qч80(i%1�H�����;{!EҔ��J�>\-gwgΜ�p����j��dpv
0/B��қ,�{�$HP�M���`��pD0���`?�7���b?[߯�<�o�&�<�����v�6*-�2����ϡ~\�V�l9
�|�������9!�#�H
+��"-�@
ʢJbҳI�����On��:.��
+
�E�W�y\*��1F��7"EB�Wj��!	}�ά
�!¢>�J��/'����#N.Pz����G��a����B��x�j���������x"�1�%�l���
,Cl����W�^c�ݮ�j���B):�JܐEЃR��[��t��5N�y/�xc�,���M±�&��&q��Z���i&�H�cF���W^�>�
H�QD��E�1|�<�)�54"ͱyY�tg��E$���z�����Q�4è���q;�_���_'3p


��[U���U"����~ה��Z��H@
)aӹZ�WZ�|�4�2B�
��7���(�ܦ��G;}���
�=$�GQ� =Z������W�!��ERrO�J$%������lC�ԹH��*���=���~���E`�r�5��:`�#
(��h
+I���
y\�
�����f�p��4KG'�]+�;Q=b�������Nm�*���]:�)�tA�K͖:k7i�
��Ï
P��tMO�3k�[�����ǩ}BQ/��{z�mg��M�qY3�3|�~�=	(�`B
��I�DJs7X�;B��^�6I+�.sܙ2�?�:��bu�ȳ� B�����ӳī )V���t������7�c�PkG"�J���
+�E>���F�����dBQ�'Gv�n�������ۯ���|v�P
@<I
���Ao��Ry1+���������h��4�Nxp��h%�iW囩ҭ?
|շ3���[�2�g{���u��s�ݸ��i��T�U�4�fI��
���K���T5{�MDP�|:�l����
w��&��˝Ҹ2��d��)v� o��7z�����PѬ��1�!����1�d�I���j��
jTj9��^�	����/g�3ȝ�,�L�����~
�W�$�5[�SM�Vi��{뾳G�ɿ$�{��
�#�4�֏W
�L=֨4>R���]����

hmT(CA-�,:}N��]7�,vEI��
�S�\8|����/��=4oC�D�lDH_�9�*���e�{c&Lʎ�13���}� ���T'_^���? ������}���5��;m��
�g�$A\4
1Hn�U�y�ҷ�5�{i��^�#!�j�*����l�[*]�Y�yȮ�
�!����/�6Y^�(�ܘ+2T�=V8
+L����	� ��i?>p�ĺ�M3�H�
+endstream
+endobj
+8163 0 obj <<
+/Type /Page
+/Contents 8164 0 R
+/Resources 8162 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Group 8140 0 R
+/Annots [ 8141 0 R 8142 0 R 8143 0 R 8144 0 R 8145 0 R 8146 0 R 8147 0 R 8148 0 R 8149 0 R 8150 0 R 8151 0 R 8152 0 R 8153 0 R 8154 0 R 8155 0 R 8156 0 R 8157 0 R 8158 0 R 8161 0 R ]
+>> endobj
+8139 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 8178 0 R
+/BBox [0 0 222 220]
+/Group 8140 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 8179 0 R>>
+>>
+/Length 492
+/Filter /FlateDecode
+>>
+stream
+x��U�j
1
��)��H�J��C��
B��I)I��!��c�Nfi�k�
��5�'}���G� �
�'�1<�~+��<?���ᥝ���W��U>���=�F�+B�A�
��!>�w\h��~��Q��c4����#�
�#��T��IqT�� �0�ߌ�53G�i>�1�����(lƣ�����C,������lm�.�wv�--BE�0���b���.?��g��&�y���
gݐ��X�1�v��`�O��R�Y*��/85�8%;��8��"3y�m �
+�4�z����E(ry�ҩt�닛�k�
����
s��tl�Z]-�6��9���=V
+ �E�M�Z���"�i%�ӸR�6�
�p����‘����>��Yf�؋HKi&��wzX��SkGa�E
{��m�s�:w���g�¿�j�<r��o�

+tR��ɒP�.%��zB����:P�T��vp�bٶ��aԾf�.��f:��[�-���ߨo�
?'w�
+endstream
+endobj
+8178 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+8179 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /BUOLZF+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 8180 0 R]
+/ToUnicode 8181 0 R
+>>
+endobj
+8180 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /BUOLZF+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 8182 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 667 500 584 278 611 584 722 556 500 778 222]]
+>>
+endobj
+8181 0 obj
+<<
+/Length 8183 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mk�0����
��E�gD(ۋ�~�m@LƭP�D��o�;l��ǙI�1�������ݤ/��~���2ݜ&��u��L����zTs��˶�4������.�����L
=DB���r�������O��<��HvI�4�P�{Q�Iġ�������2>��DX�%=Zf��){��N�jD���DdͿx������r!]��$)�&P���,P��r�
�@]*c�@�]N�b� *@
(�@9�b�]ĝ��2H&�C��_?�~b?�'�WT ����8�
]K��L�e�Z�/���W�y�˸��
�_�'������¯T��^��ߧ�>U���0�a��,ݧ}��*<��qʥ
+endstream
+endobj
+8182 0 obj
+<<
+/Type /FontDescriptor
+/FontName /BUOLZF+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 8184 0 R
+>>
+endobj
+8183 0 obj
+365
+endobj
+8184 0 obj
+<<
+/Length 8185 0 R
+/Filter /FlateDecode
+/Length1 2792
+>>
+stream
+x�UV
l��
��/��p�~5qB��8	I ��cB��8/'��
�M
BpH�G
,��Q(h��Rh���MT�KZ5��4m�n�@Lt+��`�N@'`[�|��>'�,������~��
���"��������o��x��뇷
�~���0ކ��Ⱥp�C�_�%$�
seL(β4���F�7{/)π��KãkÄ
� $D�EÛ��i&��-��8rX?�J` �֢ͳh-�L-���uvu&��5b]�
b]2y��WQ�Mkq���i/�lp��F-�$�N��|5SL��.�����\��Y�f&f&��I��Lt
Z��p�6�=�7.g��]I�Q��fU�t��e4M�=ʋ����$���P�m�IJ�ҕ<]���ؾlIy�"�m�X�TQF��X'],d˓�
+ZB�&{v�&]���Pff�%���
z�uI��/0��O�(%*��0QO(jɭ)H1�/X�z�
S�Y*
+�Se��

��]�#�-rP�b�9��y
��֐�Pl�7LݴhA�8�W/��:܁g�O�z@�ݎXul~!
+��Ūg���pَ��i*��db�R���Ӕ��J��p9�T3>�cdlb�h] P�]��̇_���4�pK�W�hwx�ˢ�{����!�r���>f�ט�h����wq�˩ �����ޜ
�6s^��:v3����T�ҔdiR���DoB��#���9[�Wk
+���`�oIsG��K��o��Mi~K��Qֵ 1C���d�g1���-�QYa�1�0�3*m���-�y�sd珢M�i'��в�m�
+jW={���MU�b���X
�g&�y8ӉH�6�,��|�V �GV��dm-���ցa׫����:���..:��đ4]�?��=:��;
+�n�\���`���F��ذ�
��T����r�[�m��^

3������8�2� ��H�8��9������˂�
F6o�
-�� ��ڕA��|���~9���hG�X\&w��V>���]��?z&"��k�
��T�����d�c2!i
��>��e�pd��u᪟ȐB�������wM
�KwٻO`���? S�(����I��͝�rG�&jw��=�F:�h	��O�M���Ym�
C����S�%�U:sFz~�bg}}��k�cY��:UQ�W{��H�p:�	��R�M͔�٭���
�e��o���;�Vϼc�gN|_b�k`�m!��F�l�ʱd�%V9k[��!C(q�whbdž�(�v/
��ٰ�١�;&O�����ܛ��,R ��E�K�����"70�#}2>to���W��T����ʴ�P��g���k��}�#;Ov5KM�u����͎ׄbzc�wMt��/�A'_�S�
y�Zxk���|����O�����m�m�z+� ����y4c]H��i��
�C��xp��ty�5�"O���}�]+�ݦ��'�K��:cMe��PK�(7˦��p�/��Jb�fF�Q�<W�!�J��<���ZO�i�k��:��l��-��s�U�=3[؞�6�q@�9.���bf�D�BTʜ$�4�eY�~t5J[~\�"�A3^>�����
��
�cW��s_�
��r<�<��u䘎��lQA��{K+�뾼@ys��6:��
zH�����h
��B�U:��B\�6�����ٽ��G��4+pQNKൣV�d7p7��{z�N�Y���������SSo��\zs�+n
x��ߺr���ty��gv�}G����cr.h亣���bQ<���N��"�f�D�z��/�ŋ�r�'T�$�
�6��ܳ�bhI,�/y�����*ێ�O@�T��$	�� G*�M:�h�
+�A��jB�e�L�s%��#98�B�Ri�f�ϬI�x�R�[\�����\��sR��NB&�D2��pK�L:_��L�����㟕}F��q�Ŋ��B���Ա��m������
c̑P&(��j�e�HF@�|��`�&�'F���
��[Y)�7����'ҁ�
|+���\�ݙŃ
+A�g�ˊ
}�] �u�NA��ޒވ��|OX����ܡh A�ce�<��,a�
+~TA���0]���[駸56��L�f��H�t�h
+endstream
+endobj
+8185 0 obj
+2094
+endobj
+8140 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+8141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 391.847 204.161 402.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.746 391.847 314.292 402.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a3b132b18d2e068b93f1e066cca596309) >>
+>> endobj
+8143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 364.272 204.161 375.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.225 364.272 262.537 375.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.307 137.492 305.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a8189a0037b35722e1406700cc44d1e19) >>
+>> endobj
+8146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.732 145.24 278.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_af4ab2701bb30c5fae7fe82b8a0a25481) >>
+>> endobj
+8147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 239.784 179.076 250.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_ad6d0f3a9509993f4064a876841e24db3) >>
+>> endobj
+8148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 212.209 178.518 223.113]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a28e363b5aa72287de3d6633631885818) >>
+>> endobj
+8149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 184.634 145.222 195.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 184.634 169.85 195.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a6050f0724f65d27096693d5ca74f498a) >>
+>> endobj
+8151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.665 184.634 204.977 195.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.059 145.222 167.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 157.059 168.176 167.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0c2986aa0fafaf4495abeb9c678eb794) >>
+>> endobj
+8154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.992 157.059 203.304 167.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 131.9 148.995 141.545]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a9e757d2cec432015a32ad41c1158f391) >>
+>> endobj
+8156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 118.525 161.013 129.429]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a5e82ce331187ceffa3d71586cf6ab43d) >>
+>> endobj
+8157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 90.95 145.222 101.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 90.95 169.701 101.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a962fddfb4d1f0a4815fd08ab41789d4e) >>
+>> endobj
+8161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8165 0 obj <<
+/D [8163 0 R /XYZ 89 770.89 null]
+>> endobj
+8166 0 obj <<
+/D [8163 0 R /XYZ 90 408.683 null]
+>> endobj
+8167 0 obj <<
+/D [8163 0 R /XYZ 90 408.683 null]
+>> endobj
+8168 0 obj <<
+/D [8163 0 R /XYZ 90 383.098 null]
+>> endobj
+8169 0 obj <<
+/D [8163 0 R /XYZ 90 313.767 null]
+>> endobj
+8170 0 obj <<
+/D [8163 0 R /XYZ 90 313.767 null]
+>> endobj
+8171 0 obj <<
+/D [8163 0 R /XYZ 90 284.458 null]
+>> endobj
+8172 0 obj <<
+/D [8163 0 R /XYZ 90 258.609 null]
+>> endobj
+8173 0 obj <<
+/D [8163 0 R /XYZ 90 229.308 null]
+>> endobj
+8174 0 obj <<
+/D [8163 0 R /XYZ 90 201.733 null]
+>> endobj
+8175 0 obj <<
+/D [8163 0 R /XYZ 90 174.158 null]
+>> endobj
+8176 0 obj <<
+/D [8163 0 R /XYZ 90 135.885 null]
+>> endobj
+8177 0 obj <<
+/D [8163 0 R /XYZ 90 108.05 null]
+>> endobj
+8162 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R >>
+/XObject << /Im11 8139 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8214 0 obj <<
+/Length 1736      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_!`�&�3�7I��
ؒ�H��Y�aڢ�%��"K�$7ȿ�Q�^�8��CQH:��G��ܝ������?f��S�Y>�]�Z�K�ǖ�}��Yl����K��߅]������7�������ˈ�O�"Z��<a��чO؊@��ˆ�º��,N\����6Xp��;�vg��A�h )u������|a`�{1�>L
��R�A������e��G�`�OJ����g� �.Wp)E.�քp��ᾓ�&O�q�,H�5dc���J��ⴌӅ~�Ri�AQ�riDI#��\��<��p]\���z`�I���׺�YZ�����\��^ �]���B��0F�*|���l`K�ͱ�.�|���oa��b��[�;�]�7f�gYb�w��'���R�c��+c�؄Z�$�W[@\~
�8H��	��y�YPe\|Ę�ȘA�u���
�|�\��ߣ�gGqgi����>K�2�F��\͕��]�߸w�&�#�}��`ā�����'�
��x"�0����=4�r�N�R�-G�P.�c
9>�K�/zE��=ů^Pެe��F3ۢ�
���ݧ0T9 �\h�c��O��v���f�a�b.�UI)���Ҫv� P�+Uĥ�ŘQ
�u��Q�
�� �����x�C�N�}3���˪����ӿ��
!�Q��N���:� .���].�ô^�͉
�
���;D5A�����
��yv��P�¾��HK�� �
Q$�Tq��+���D?ã�u�4�6��^�^�	�_����Ȱ�r��RМ���l(�,ȍ�{���	R��թ=H'h�|�$�Y2��BW��P��
�ư5EY�i<�E�5��ذSh� n����a!SU�*�jg��\w�%I6��}�TEl�����Qy��d7ٯ�	Z.�"�����
+L"|�R5�#���"!��Q��;��ޭ��� .��9�.��Ó
�쇀@�ޅ!��?&u$�*���C��}�������p����|�5>�+�
����n)
w*9��@<��b�I�d �3�!�{z�.oU	y'/���i(�a.��Tq9-o�Sq�g*Ϳ�Q�[��U1H���ޫ@�=!,�s,�C���&�V�
0<x�o���^)mSvX�
$\w@�;�
߃��۝��|��4��6���&
U@w�u�ɵf!(��߷ׯd{�����&�MX�9�֣Q����>���0C�ٯ�'U=�|ޔ��o��7�
a�u����P�í�b
z��C]>�o!s���9�P���@3$�E��&�v��@�'>y:���{���z������1�4��� �y�a/Pi�
+s���a�.����8��
�׺�s
+�aǢ��4�z'��]�ف	�'��C�˅*'��eb�.��\0�
�gK<
N�o�}
cj�l�,.b��
�%��o�<��'\@7����,�b=·�?�� ��^& ���M��}���I�-NQ=�`[��[��Y
M���N��ץ������p�s��={���B�z2}�~\{��Y

a�G�f,���g��Xm�aɃZ���a��8
+��
4���K�G�C�����=���$��!L�
�:�Տ�
#8:[1�$e��	蛴
+��uOA�������C���B�?�
�6]�� �ɸ1����W$h���'԰�^���u��~5���
�#5u�ڲ,����h�Y2]�0[��v��C�ִ1�������;W�'�[���c��
+endstream
+endobj
+8213 0 obj <<
+/Type /Page
+/Contents 8214 0 R
+/Resources 8212 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8076 0 R
+/Annots [ 8159 0 R 8160 0 R 8187 0 R 8188 0 R 8189 0 R 8190 0 R 8191 0 R 8192 0 R 8193 0 R 8194 0 R 8195 0 R 8196 0 R 8197 0 R 8198 0 R 8199 0 R 8200 0 R 8201 0 R 8202 0 R 8203 0 R 8204 0 R 8205 0 R 8206 0 R 8207 0 R 8211 0 R ]
+>> endobj
+8159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.331 145.222 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) >>
+>> endobj
+8160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 708.331 162.099 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a9e757d2cec432015a32ad41c1158f391) >>
+>> endobj
+8187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 680.714 173.456 691.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a3b132b18d2e068b93f1e066cca596309) >>
+>> endobj
+8188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.954 680.714 197.934 691.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_abf7fe1e5877e16e79af6547d6f94e16a) >>
+>> endobj
+8189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 653.844 173.456 664.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a3b132b18d2e068b93f1e066cca596309) >>
+>> endobj
+8190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.954 653.844 190.333 664.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a6d27040392d25412134c73a31eb623c1) >>
+>> endobj
+8191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 626.6 150.493 637.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a81b221513817c76fd3b8fd7dc404244e) >>
+>> endobj
+8192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 309.107 171.792 319.638]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a9d011856be076fcc65af3573afec9639) >>
+>> endobj
+8193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.49 171.792 292.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_af4621fadbf4b3fd92473f5a2a6eda95f) >>
+>> endobj
+8194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.608 281.49 272.135 292.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 254.246 171.792 265.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.532 254.246 223.339 265.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a5a9d9c2da332d66b23af51d8977c5d74) >>
+>> endobj
+8197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.154 254.246 323.682 265.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) >>
+>> endobj
+8198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.96 227.003 176.015 237.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a37513851388458132d6e62bab159032b) >>
+>> endobj
+8199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.73 199.759 172.899 210.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a076f21f664d835ce30c0ea4a4835732a) >>
+>> endobj
+8200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 172.516 171.792 183.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.532 172.516 228.957 183.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ab0669e0954d13a7fb911459a42de945b) >>
+>> endobj
+8202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.272 171.792 156.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.291 145.272 218.716 156.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ad2f6505da3244481da4a207f727147c0) >>
+>> endobj
+8204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 118.028 171.792 128.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.532 118.028 224.156 128.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ac3cebc5fc52879ce539aaf78bf585f1e) >>
+>> endobj
+8206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 90.785 171.792 101.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.291 90.785 213.914 101.689]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_af03e6b7aee6649e2eb37ad0e9afc8c62) >>
+>> endobj
+8211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8215 0 obj <<
+/D [8213 0 R /XYZ 89 770.89 null]
+>> endobj
+8186 0 obj <<
+/D [8213 0 R /XYZ 90 721.073 null]
+>> endobj
+8216 0 obj <<
+/D [8213 0 R /XYZ 90 697.647 null]
+>> endobj
+8217 0 obj <<
+/D [8213 0 R /XYZ 90 670.404 null]
+>> endobj
+8218 0 obj <<
+/D [8213 0 R /XYZ 90 643.16 null]
+>> endobj
+8219 0 obj <<
+/D [8213 0 R /XYZ 90 576.036 null]
+>> endobj
+8220 0 obj <<
+/D [8213 0 R /XYZ 90 576.036 null]
+>> endobj
+8221 0 obj <<
+/D [8213 0 R /XYZ 90 525.275 null]
+>> endobj
+1837 0 obj <<
+/D [8213 0 R /XYZ 90 447.119 null]
+>> endobj
+302 0 obj <<
+/D [8213 0 R /XYZ 90 439.508 null]
+>> endobj
+8222 0 obj <<
+/D [8213 0 R /XYZ 90 327.401 null]
+>> endobj
+8223 0 obj <<
+/D [8213 0 R /XYZ 90 327.401 null]
+>> endobj
+8224 0 obj <<
+/D [8213 0 R /XYZ 90 298.424 null]
+>> endobj
+8225 0 obj <<
+/D [8213 0 R /XYZ 90 271.18 null]
+>> endobj
+8226 0 obj <<
+/D [8213 0 R /XYZ 90 243.937 null]
+>> endobj
+8227 0 obj <<
+/D [8213 0 R /XYZ 90 218.419 null]
+>> endobj
+8228 0 obj <<
+/D [8213 0 R /XYZ 90 189.449 null]
+>> endobj
+8229 0 obj <<
+/D [8213 0 R /XYZ 90 162.206 null]
+>> endobj
+8230 0 obj <<
+/D [8213 0 R /XYZ 90 134.962 null]
+>> endobj
+8231 0 obj <<
+/D [8213 0 R /XYZ 90 107.719 null]
+>> endobj
+8212 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F11 613 0 R /F22 2996 0 R /F75 554 0 R /F24 529 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8238 0 obj <<
+/Length 1527      
+/Filter /FlateDecode
+>>
+stream
+x��Ym��D��_a��D6���"іC-E:�C|h��/��E�%����׎��p�J��^�<���33	�6
�~�=��-��BJ*��k/�!����>���`N0��y@��Ity
P�g��Y����U
���Y�E�6ݸ�۴�|��E�e0��O�(�˗���ѾIW&�+)C�J��x>��b�nF !�H�H ��U2{�{k���È���P-J<N|�ޫ�o3�6���~�����V	A��;=˷&]�ք�\���D)ڛS�p�zC��뽞
 �*�bw��&߸m��VX&��ɣ2�=�o����,�����b[�����Ԙ�o>~W3?��[ F� +d��$�dQ�$�ޜ(��_�r��׋3Bpg9È0���e�7���M��$͢�u��(]�Y��W�h�WH�I��?�8PHR�,�vG��d؂���J� ��|S�2��Q�z�
blN�@B
.�8=U�}�D��AV�Z0X���fZ�����@�@��ޜ)$Hx�W��2����@5|+V�vWn��P=7p
0!N���$�8*M��ƐY���ݖ� �՞��ΤQbj4#�z��]���\D��P�E�e��zǥ�2
+�=���S���P�m�:�E�F(q��8����B�
��J;�@	��4�F�
 ԥ=�k��382�@
E����?,��\ʿYg��J�c��Ǝ�$��$b �� �����S����$
�
��-�ϝ��1FB�~���������̆���z%'!n
n�5l��ɕY�����-�$��Dl�
����l�o�h`���G`>TM���1�����γ�y�4��8
��?���`Lc���w�")���.^�]�nn��&h�B!h-N�*���%�
ꝹJ�DZk�K�4;� ?Z
�`��R�ʔl��}�C�M��µ������M+>�"gRL#dpMLj����5�1H�|
+�

+>Ӥ�3l�p?9h8
 R&�f�S\):�
�`�sV�:�U�;�9Q��*7e���4���MQ at 6�Z\ pi��6]���XUЍ A}%����CN
��@Zʁ���BT�ㆀ=�!p�?
�-���UGz8(~u�
+WM��hm	I*�S at h���8	'�#T��)|7
+���*�k)�P��!4|G���V���=���
r%���nLD4?�iR�Q�ic�ӔcfA���h��]� ��f�y�&s��X8�D���Q�
_
V^d(P���Qa�t�U�OYt�gRt�R��
����� 9L��SL�����4�H�d& RӚ�KC���Dc��R�$X'z
+V
C<�ĸ�k�$�Ƶ�z
��뻅�C���N���,���AƇ9�B��Q�
9B%ԏ{��`]�_[����{2�/RJQv��b����4�M��������ɿ
��
�F�>���g���
L^�����(�3 �iJp
�O���eVծ�o�
�F���MY��~S�t�V��Q�u�"���؞l��nC�n&��&K
��)m� 2�A��D)Z��^W�ݍų�yO3 ��w�_%>�A
+endstream
+endobj
+8237 0 obj <<
+/Type /Page
+/Contents 8238 0 R
+/Resources 8236 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Annots [ 8208 0 R 8209 0 R 8210 0 R 8232 0 R 8233 0 R 8234 0 R 8235 0 R ]
+>> endobj
+8208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 681.861 180.54 692.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a0b8c563512e846bce0d716066f049fcd) >>
+>> endobj
+8209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 681.861 265.759 692.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.492 681.861 365.374 692.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 649.232 178.239 660.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a95e8dcda2a5e9efd485371dad792eb71) >>
+>> endobj
+8233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 649.232 263.458 660.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.191 649.232 363.073 660.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) >>
+>> endobj
+8235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8239 0 obj <<
+/D [8237 0 R /XYZ 89 770.89 null]
+>> endobj
+8240 0 obj <<
+/D [8237 0 R /XYZ 90 703.221 null]
+>> endobj
+8241 0 obj <<
+/D [8237 0 R /XYZ 90 703.221 null]
+>> endobj
+8242 0 obj <<
+/D [8237 0 R /XYZ 90 668.859 null]
+>> endobj
+8243 0 obj <<
+/D [8237 0 R /XYZ 90 613.347 null]
+>> endobj
+8244 0 obj <<
+/D [8237 0 R /XYZ 90 562.19 null]
+>> endobj
+1838 0 obj <<
+/D [8237 0 R /XYZ 90 488.649 null]
+>> endobj
+306 0 obj <<
+/D [8237 0 R /XYZ 90 479.091 null]
+>> endobj
+8245 0 obj <<
+/D [8237 0 R /XYZ 90 397.163 null]
+>> endobj
+1839 0 obj <<
+/D [8237 0 R /XYZ 90 297.58 null]
+>> endobj
+310 0 obj <<
+/D [8237 0 R /XYZ 90 288.022 null]
+>> endobj
+8246 0 obj <<
+/D [8237 0 R /XYZ 90 192.147 null]
+>> endobj
+8247 0 obj <<
+/D [8237 0 R /XYZ 90 140.691 null]
+>> endobj
+1229 0 obj <<
+/D [8237 0 R /XYZ 90 67.15 null]
+>> endobj
+8236 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F11 613 0 R /F75 554 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+8254 0 obj <<
+/Length 820       
+/Filter /FlateDecode
+>>
+stream
+xڭUMo�@��W��[›��u���4�RJ��T��m����[�g�k'q���{���{��A�w�`0�
%8QL��=J�"�R�j��C�Dt3>G\L����������9
���C@� �
H�
�+�����}��A�ܥ	�a��U�5 -��l���"[��DJ�A�%�
%X�(���p1�U���Rac�{�I�/T
K�׸ �
+|jك1�8
yDi�<��� F
&�A�`��6�.��*��؄�''�|��Y9;�"_J
F�a�$"+�}ל�qל1�
�>����j�-���`���
ɰ��c�ke��`ˈ��pt �$��'{�p y?��em]
�"*�4�G 8$Q�� �D!zƑ -m���ȃ���
���(,i_O�ȸ>Tǘ����)�O��_�i�?���*�3>F[,�~盽�th+[�Yl׎CE��b,
�T�X����[0"I����έ�Nnj�rn����1��,���u��ɽK��A��� �Ɗ	�EV��S�oB77%͙
��li
����\�x>?`�Kl�����~n�e-2�zn��N���L�p���*-���{ӹi8-r�C'��m�38��Nv��GJ�N��	��z���>q�{j
+��qdH#�?Ӥ9�{�����~����

+
@�� �
�Z3w�=w�ݛvc�����m��`/�t2��
Ĭ���P`��z�ϭg�ht�'�W�zI���sZ>Bj�-��g�a1��)�bNIxe;�x\?װ?�v[x���N�"��zy2�>�V���E����ch�D�
�i`�E���^<���7�
+endstream
+endobj
+8253 0 obj <<
+/Type /Page
+/Contents 8254 0 R
+/Resources 8252 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Annots [ 8251 0 R ]
+>> endobj
+8251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8255 0 obj <<
+/D [8253 0 R /XYZ 89 770.89 null]
+>> endobj
+314 0 obj <<
+/D [8253 0 R /XYZ 90 721.073 null]
+>> endobj
+8252 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F22 2996 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8261 0 obj <<
+/Length 667       
+/Filter /FlateDecode
+>>
+stream
+xڍT]o�0}�W�m 
���G�
�5U�N�Z��VM��@
+4[������d�����{�5A;DЅ�9rf
 ���E[��0���
�s�`�=!�����>^-=J�<}}қ"^]'�E\���4��$۵�IV���

+BW�e�g�Ct5[ �
+R��P����Κ�&����X,W�Y����"JW�'��z�=�rR�,<���`�&jB`.���O5}&�0�`�y��%�˲�y��zH�J7���
�l]���R��ם��yv�T$l��2D�s�@�Ƅ���
+�o��G�fMѭ��!}��eB+�ƒ�i&�>�g=xMb�N��[�]��jut�J
�!�!@դ�
��`�I���aw�
�.�@���0}�jD���^.N7���߫fۢFm#�P��|y�&k�

�x,��RNR
5fA�|�
������]t�s3"�yt���Q
�ص�olRm��$�q���3�,�L���&t���c=v:BR����
�bt`�	��X�ؿ���2�X/���;߇�`��Lbn�-��
�����,u����m��{���i��'�
k�����
&&����j��h@�:��[�e�
�F����OUu��f�/�Rg;���y(L��'��Ef�-�$��y68q��t}����D;w���ܽ�ߙ�`<v��i�
+endstream
+endobj
+8260 0 obj <<
+/Type /Page
+/Contents 8261 0 R
+/Resources 8259 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Group 8250 0 R
+/Annots [ 8256 0 R 8257 0 R 8258 0 R ]
+>> endobj
+8249 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 8264 0 R
+/BBox [0 0 456 704]
+/Group 8250 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 8265 0 R>>
+>>
+/Length 1619
+/Filter /FlateDecode
+>>
+stream
+x��ˎ�6��|
+����;x1 at Q�@m�"�b���(&�.���/�-[
O�Ul
�/���O����rQǘ��Ao�s���]��H�����̓՟��������	��T��kk�~Td��=�������L;%\{��Q�NY�|���G
j�F�V;��.�d��^�m�u��nk[trw��)�����tC��_ԛO�����'���1ɑ������o����u�� �
	
���
9SzՇQ�ò�^?���v�jgO��A�q"o��˗�!�����mJ���n�z�n/��+�6���Iq�ܑ�ǽ>F��bt�(�m�(������X'J��(�Χ��Y�7a�IB���7m7y'$zh!
�<Q#4�0��
+�k8���Q]i��b~Sw�8"z1�q>
���W6w�TW��Yʓ�8
�ȥ����\I�%�t5�<GX�����WYR؛�|/t0�YuZ�|LR�D�j_'T�6�Ϸ�R-u)���%B����"�w�̎
��tb�g�s]�j7f{�:�ũfu�Z�uE�s��@�>o�7��<�Y��0M��Xmgo
�5(k�Q�B���@&d�*�h�+8��
��y����%�s0)x4��t at B�N&x	8����0Gyl��'���0
8��
�ݭ�+P�䒹5^�(O�j5�%W��F�=	�Q��v~�
}Ƌ.���
�"�nh���q��H�؊6�.O�`"��)����rC�-
m��F��D�ƑE�ACA[��̆m�
�|4Xz�������`�R�l
�
��-"�d[�:�5��\�R���#��Kr�rm�y�"Z���u���͸/��cϻL�Ǭ
vb�SNj�SG��
�:�x��]�M��홀;�7����jġV�u1�L�/��d|>D85���b+�P��
}RAK
F�6��9u�1
���J��C4)��]u}�T��
L�׹�bi��
!ր�r���B�l�
+��V��Y�lSi��W&Nm.����Z�s=����ƶ�
Q�\
��`������n��"�%��.:S���ǰ71V��Χ�F
�͇%����P.�)	"�H.���/�l�.R
���4���
�ݚ��݋��ā�%�:�X�y�s ����չ��}v�t��
��Oj�ckH��N��ݶ�0n���
� ���9��d	ެɂ7v=��3�����$�nR�L�9�
�kl�
x�l��<#�
�c��:h�f�`C�
�0���\
v��<׎au�oa[�ظɧ�=.�<�V;�ݫ̛�f76%��j8'�\�)�G����|�5���z�)M`b@��n��\M
+͸E��S�_(��	$�].{I&�,��$�'�4�e��T�Ĉ�i�R5h��J�M�T�,�����z��m=��>�#i������	cu&��_4��Kꤑ����(�^��c��V�V
E�#�"ɛ *,�I�6("M,M����Df	��J�"�����f/`��aQt�w�w������6�\21t
q����yK�����r�n�i�a��N�j*��g��جr�.+�Mr�y�0�UCW�Ho�)o.뼟`� �����(��
+�L�K��wB56+ �TdS���Ex ���l�e]r��e�ƕL��KJF�z�Z}�����v;�v�ܩ_�$T��
+endstream
+endobj
+8264 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+8265 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /OQNFDR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 8266 0 R]
+/ToUnicode 8267 0 R
+>>
+endobj
+8266 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /OQNFDR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 8268 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 611 278 556 556 667 500 556 500 584 278 278 500 611 278 584 722 722 495 500 833 556 778 667 667]]
+>>
+endobj
+8267 0 obj
+<<
+/Length 8269 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š��t@�2ݸ�N� �
�B���oߘ?L����x>=��湱���w7�
���q�L7��ut
l�3�^#��
�9I}�e[V�OIU�����m��d��
�X��
��^���|���m�h$��,�kf���^���
����������2>����1��
-s�ɵ�JI���fU�:!k���ʺ^�.�s��eEV�J�)��P��
T"I�4�]N�b��T�:��@2v1��.�����6�PW��ГG?��T �I���0'���[��S9~9���1~Ss��8��8�D��<�	?���:���]���3�'�����$���_��W�a���˴o�}S��9����۹��`���ӼW�� � 
+endstream
+endobj
+8268 0 obj
+<<
+/Type /FontDescriptor
+/FontName /OQNFDR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 8270 0 R
+>>
+endobj
+8269 0 obj
+395
+endobj
+8270 0 obj
+<<
+/Length 8271 0 R
+/Filter /FlateDecode
+/Length1 3280
+>>
+stream
+x�UW	p[��eɗb[хodY�(z�e
lj|Ɩ-+��o9>�ز
 !�9 B�
$G`�B;�5�Bg�L��tJ&�9;t�b�I�I��S�}�H���}�������}�c�l
��1�����d,e/f�ir疜�fO���%�m
����K��\�&ԧ����E��.$-�2����!����1��S��
3�
�0�5��Cg7c|��3l`�΢�Yt�n���i��8�_,Z�[���q�匑ASF:���4�%g��^F||[�����E����j`�����{Îh�4���<��0c�J�i2�
��c�X
�E�q�j=���\vk�&Q�\Ci*�ɫywh�"9�j*.Q��
ɩ9���jr
+W��TUר��ݙ�[k*i��[��wK��d[q{��l���HOLIPk��L��
+��zKiX�����ֈ�
�3J##����$9��
�B��ũFz���$ŵ��%�4����/��Ec�ï}hj/��m�]-
!i��>�pm���@y��Y��Ɲ��
�K�
�D��x]t?���F���->?�t2%�����?��
+���Js��`B>�.;el۽gjf��tS �Ը��g�g��c�t�=�j$�?4%d�yT�?���GC"��w���>�Z�����"���T����](	�gf��R��M�A�]<8�̧1�y�<�bq�
��G�C\$]<V�p}�:0h�U��i��
+ȟ�y�����:y��k10C���r�YLfX��Hqr�&�E8
��Y�.
n��2n��{g�u[�Q�Kv
+�Y�����񍛎?Ѻ�S��=]�xf!��`g:ˆ�:�[�vA�Y���?D�RkAG���wm�t?�
+5�"^���
;���J�/���OO���� ����-�_И�
vvb��:h$^{"�
���H0p,^�����c�U"��Kc�q:�rD΋�V�՜Wo�q���j�yV�pc���ƣ{�?�[O�M�<=�����?��*��^=�ܘ�ScJ�z�X��1���/
Ђ����M~��w.t�p�]`2B �t¦X]�O�-������U��� �6ȏ���ˊ�pÑ#,�� ������J�n�n�
V;���n���%+�n�S.��9��1s<�nIgH�b��D���е9��Ǯ����������Ӷ�j�>K���P��3߽���6�շyci��{p(�YN�ƒ���p$滈�f�)U�.�)����V
�����x�����#��'��(ѪWIf�D�/�y`�����
J_�����j
v` ;�36�� �]���Փc;wm
Z���P�C~�#��]����K��k0@� �2
��<�	XI+qCaY��L��G1E�k܍�z{��e�w�ԭ�"լ���[F��<��Sa�-Hћ�k[�B��
�V�oD�~�W�7чL}n�q+��[����x�T������h.|�~���'Z��bUI�$Qn����G�8���g������T2�g1���W��߽�����	��h���Ƅ<�d4X��ıv��[3k�v�i'�K
r�	{�c��Q� 7ϖ�t&��-|��i~^�PzW�
+��� k
c
�[
+V�
:G�ζ�e�ᮭ��Fz7�6Y�+�ۚW�h�9���u�����l�*&��7)uڃ��O�r>;MkQ,We�C��=��W�L��L���s�7:�
�/VO‰����&����F�.��o.�h@u�������)��zQ�U������Frw�{�'8�8��k<_ڦ&�K(i�����8a
%̈́'v����~���ၭ��&�����p,�>��-|�*ygR����߽�g�u��'�|�1"�xa����^�Y��q���B'��>[������lq���tT�_l
T"�lG/ �)8i��&~��
+4&%���k'���{������x���g�}@?8������Sw
��U<D ˁ�Y�ݮ������UU��
+h�y�6V�m�_|�
�����]�=�u/�nH/���[��W٨[_v���s��
��m��
�R��U�M��7�Y�����Q�W��c������R3���=��w���
A ��qe*�
�I�],wC�6A�|U��eѨ�(
���W���p�i��$�)�ٴ�Q��D��n�
Y1�2M�
�d�,&��\ؖ=V��؃l�ΊXLug\6ee
��\ᩪ/���>���x���r��bB�I,nZ��Y֫�����������+���`}���R;kTyY/�~�q!��5�ef�3��[β@�ס�$��zѧ-��BV/����Y_�*�F1N��]�w�?3��.��x��>��R�
r
�����ɥ@�L��^i��A'�m�*|�N�����}������;5nR��A�C� Wsd�΀����Ko"�&~���9�(�Mƒ���o�D1��^�N}
�ϕq�R�X���0��
+endstream
+endobj
+8271 0 obj
+2442
+endobj
+8250 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+8256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 86.288 200.694 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+8257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.331 74.333 278.806 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8262 0 obj <<
+/D [8260 0 R /XYZ 89 770.89 null]
+>> endobj
+8263 0 obj <<
+/D [8260 0 R /XYZ 90 104.381 null]
+>> endobj
+5310 0 obj <<
+/D [8260 0 R /XYZ 90 104.381 null]
+>> endobj
+8259 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im12 8249 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8296 0 obj <<
+/Length 2041      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�_�S��LO_�{j�UN��Jb{'e_�
+Ih�
+�ؓ_��/ @H����[=�}�;�
ػ��������R!
���S؋�B"����������

%"*�S���~?}�~z��]��^�uA���% P$������[��=����'�i�q��7�n/~�����`S̓�-��
+a�E� B,�WYW��
+쯊�.b���y��]}J�{����&���
*',���$�5S�ׄ���F���_��~��|����q��#=�2D8���H����:�
�4�(�
EB9��T�Ny�8ܷLVyy���٤����<�D��QD�sр�����D0�L��;���<O$�[�{�#����
�9r?t٫yU����E����th��@9 
	)�4�u�q�q��MU�
���|��4�g�|�|�L(�?�Ӆۛ7���<a� �g�!_�˫+
}_�PI��;�>M%;X��UZ�ک���q�G��~��]O��o
1Up<�/����.��
+#���fR�������~�z��Hpu5/��2.�r :�m=I� s�`e�,�齓�G�Y�i~g���w;5��V�Ү揍f�,�����I9!����Y
0�W�	�n;Ip-�1�5�[�.
Gd5��B,�_���1��Ȕx#HF�
���'8��Q�K����m��!PU��Ɖq&�69�ć��� �C��̎.
!h��͏��!(�Z�e�tg7�jgo>oʤ�w��Z���
`���7
�X/^�N �m��lꍔ����a[�;lK�
f�Rs� E��i<�\p'�����`3����r(�{��	i
�V�w٪p�ןH�
50�mV�0,?f��b$���l�m��~�:em�ژR��)�LUo��%��.p��-\
��V\5����X�(�j
�Ii��
�Su�q�0�g�=[������'e
+�i��t�S�]�����)�
�����:_ ��A�U�.�
�L��K��.fIYB|�h��N����Xo�mU�V5��p
��̄k$N�'+��W�S��Rl����)��m'(v�BX"��$�3��!�$ }
U������X���]8���;���՚�l��c��N�ɢX@����Sa꧶ҫ&|h5ě�������F�B�YƜ��M�ŴI�/ �5{aK�eBD�vt��F8 ��� ��� �VQ� U��V	�{�V�acQ7]ya=o
� ��@�#:y��Rϩ�	��'g�Wu]�s
�č�V��~l�t8r�P�
�
�/���D�Y��s��^<m�zGm4;%�s+0��1	�N�8�L�ʀ�|Q��zX��/�G�D�;�k�����/�`ʧ� ���c�$⠱��.�T� R�;6�HIՎx�(�gER���$8��I m�v�V�~
+ڑT� ?�$��N���U���	2�� ��s`R
qț=L�vr��\�P��\�rZ�Y\U���	�~
��bQ���g`�I�YI�
�L���z�O��N�� g@����x��������U�v���	��B[�cb���~C!���"��Ze7hJB�j�?VX�$���p�
�ݴg$@��"�OB��g��Zu��, C� �Ӆ��N��%
�0Q�ᨠ='N���u�MK
+�O'�N��A�;;�
D>� vmXޝ����3�ߐ�f�ꖅsa�^���!�k�0���"_�I�+�:��K��u8��
�ܟS�L�Pc�Ie���@M�E�]&��Իu�͂���E�
�W/lQ	5
+ua�-��i
���l�Mb��geZ߯���*6IC-9�ÏW)P�B��F at z�p�}���=�6q	��6Cr�::�
���"��;9Ne�(��`EԼ����{p�Ӛy�
 �# �`G�8\���+��ٸ=�Q���[���J��'B���~��f���N7ڹD3]�jC���6iJ_����/�����P��6�������r���CP��;yo@����l�mj����k���ݰn������
+endstream
+endobj
+8295 0 obj <<
+/Type /Page
+/Contents 8296 0 R
+/Resources 8294 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Annots [ 8272 0 R 8273 0 R 8274 0 R 8275 0 R 8276 0 R 8277 0 R 8278 0 R 8279 0 R 8280 0 R 8281 0 R 8282 0 R 8300 0 R 8283 0 R 8284 0 R 8285 0 R 8286 0 R 8287 0 R 8288 0 R 8289 0 R 8290 0 R 8291 0 R 8292 0 R 8293 0 R ]
+>> endobj
+8272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 695.361 164.879 706.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+8273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.307 695.361 370.84 706.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+8274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 656.221 189.793 667.125]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 645.242 184.386 655.17]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.123 645.242 330.345 655.17]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+8277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.157 605.126 314.915 616.03]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+8278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.946 577.942 304.125 588.846]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+8279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 509.169 260.646 520.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fee2c86f5b4569065c5761ee0c88ee2) >>
+>> endobj
+8280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.422 482.358 197.715 492.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+8281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.857 482.358 337.39 492.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+8282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.336 482.358 513.996 492.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+8300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 470.403 141.915 480.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+8283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.581 470.403 256.056 480.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 401.63 198.373 412.16]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a66d27330f68cd1e721e3253daa389416) >>
+>> endobj
+8285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.71 401.63 296.185 412.16]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 374.445 213.247 384.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+8287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.584 374.445 311.059 384.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.376 374.445 400.851 384.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.408 347.261 202.203 357.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) >>
+>> endobj
+8290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.511 347.261 300.986 357.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+8291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.404 347.261 458.937 357.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+8292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.374 255.2 270.91 266.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+8293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8297 0 obj <<
+/D [8295 0 R /XYZ 89 770.89 null]
+>> endobj
+7073 0 obj <<
+/D [8295 0 R /XYZ 90 633.986 null]
+>> endobj
+7109 0 obj <<
+/D [8295 0 R /XYZ 90 594.846 null]
+>> endobj
+8298 0 obj <<
+/D [8295 0 R /XYZ 90 527.807 null]
+>> endobj
+8299 0 obj <<
+/D [8295 0 R /XYZ 90 527.807 null]
+>> endobj
+8301 0 obj <<
+/D [8295 0 R /XYZ 90 419.81 null]
+>> endobj
+8302 0 obj <<
+/D [8295 0 R /XYZ 90 273.754 null]
+>> endobj
+8303 0 obj <<
+/D [8295 0 R /XYZ 90 229.407 null]
+>> endobj
+8304 0 obj <<
+/D [8295 0 R /XYZ 90 166.764 null]
+>> endobj
+8294 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8324 0 obj <<
+/Length 2643      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S+�d��X��ċl�ԍݢ@60h���J�V�r��
)�D�b������̙�9�O#�|Jp��ً��痊%Iers��(I��$��$#.�#�1
\
	
��Yz{5�xPN�=d�Ez�&�[��o���2���S������AVUyY
?������΀T$�s�x�D6�
���˫��E�-�1��E�ۛ��o���pD��\��`k�3&a
	��
�s�	<�y2"!��?OӪ�c�


d��4�3��>���\��m2F����~�����3#�8��@J'��ه�8�@�	F���{h�p��s�\���
��$�0��3�(0���F�p�7�%F�x�`��l0��tP��7j�ҷ��E:�,�
#�
�k����ٺþl4b�}a��Y�u�|C6��AyZ�s7�um:
�/�lb�JF�i$��=��9�
�H�z��k�ߤ��y��#F\��;�o�+��$x�z(�Ӊ�~Hm�C�Aӿ��
c���nWC0�b�� i��8�wL��wLˎ��
����;��&]�]vVK�6��d�ns�y�d4c7������]�k�/��uMӃw ��h;p\�E�& ���y�W3��`��j�.������8ܪ�Y>M�u��l��,���$����Y
�:���8
����&�}�

����x�
&&E���Ӄ����b�Z�����<+�]k#դ5(Z�b��K{?�NBo/.�_=�o/�ݼ����}����7���_�����޽zws;�����!h6&��/��L7VF�#�U2bQ";{�ay��(ՐD��y��
/��r3�8��*�E�Z�@����A�%����3�k�M4	�o�˩�����Y6�9�iNa�@���R�
o�&u�ģ�)5H3�z���7����	i� a'�H�8ֱ��<���~X3��S��8E�\n��B����n����C�mR F��<�����$$�X�
�w�ĉs��d'��
��8:|�&H�S��9�`�DOx	���1 �d}G�14�)���i��P�w��
+3 $����y#� 2c��R
�K��<��jD��ȂU.�.�ӐG����!��ή[�����X��Ӿey~�|��΢�"0�����mXk,j4�B:�m#���4O���Y:o�k�#�r�îVEOz���ӻi�_'������2<_l�[�n�v[����]|
+~~�x��
�c��:�
д
xZ�1�dM�E ����i���v�
\�;�*�Kp~ �mMW����E��!�c��f�>`��歀~0�
�t���=�_�:��s
��
������R�\,�q=�ޚ���|��C���0]f��|����2˨
5�uou���R�ˮ���e�xln���*Ͷ)vkze6�J��^�
+V�够T��
+ߕ
+�n�b��se?�^�s	)UDζ���g;B�݈�]N�|>�ǎ�
��a�waf 5�C!�{`R
2y d�6vZĤ�c����VG91H��Q��V�!sv^�t���5�9h��m�]/g�����L�K#�R�os~,2\����sHiR�q����)��	= %k�>�UHS}p���8�H`������sYTu
+�
���F�=��
��@
+�
��g���-��
+f�I�1��ՑpAUK��W��ݷ��{'\
I�
�هi�4���6�
�����*���2L>V�1����G�2���+��؀�*��*c"\�VU��z��,#����Z�1�>�
]��.�WՓ�s[m�
��`���(�'9�a�"��
��x��֭`��!�Y�p���H�Y�o\��~��
�ф�o�h;�%~��N�7�p�_��=OU���,��d_Ӄ
��D�� 
�$�Ȁu	��/4J8���	̠P�i�c3v
+�b� z����G��Q���$�#���@�%�u�[4;ŀ
{����u{�bDG1��A1pou��{n[�b�;�hk{�Q
�[O����|R
�U
ēb�<)O���b�_1�O�����;)"���9)r�,��L��
�Q�?��r�"[�QP�@τ?� �bZh���HH���
��	 ;�,XUF�f���������f1�B62k�$��#I�U���[:.��~g�xW�Ӿs
T at 2 �7�$U��-Xk5&�p6�;� 
K����8�  �X`�-�c
��64
	q��a����z���
-���*ޗ����c�GB
+{�����1&�a}^v�hw�?5sQ�G4R+�c�
+�
�?�~'��h
KD��Ma��.NhQ��
/X�`�Q
��lăDluVm
pT�;��'�C
�G�����1�Q��`ח�f
n"���W�W"�"a[g�9q\AI��3���*�v�U���g�!#��ч�r���5mִMH�6�ܩlq�0[�ބ��&U�8������G��7 )R�
����wLn���-���<��z�/�Qe�?��ߦŲ9o�?ļ�<�F�Z-��
�u�h���'��_Ϝ;V� +�
����ϟ�-?UY�	���&�y��m�
+�,
ױB�?u�"
+H68
+L���� 0∉rU�u����������%/K x�ӌ��8ǂ
+endstream
+endobj
+8323 0 obj <<
+/Type /Page
+/Contents 8324 0 R
+/Resources 8322 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Annots [ 8306 0 R 8307 0 R 8328 0 R 8308 0 R 8329 0 R 8309 0 R 8330 0 R 8310 0 R 8331 0 R 8311 0 R 8312 0 R 8313 0 R 8314 0 R 8333 0 R 8315 0 R 8334 0 R 8316 0 R 8335 0 R 8317 0 R 8336 0 R 8318 0 R 8319 0 R 8320 0 R 8321 0 R ]
+>> endobj
+8306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.546 511.626 152.146 522.53]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+8307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.739 464.422 513.996 475.326]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_adaf83ce888c996163559b520ebda628c) >>
+>> endobj
+8328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 452.467 145.33 463.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_adaf83ce888c996163559b520ebda628c) >>
+>> endobj
+8308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.841 452.467 513.996 463.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a12e89691311b8923ae33e930a7c89f4b) >>
+>> endobj
+8329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 440.511 146.075 451.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a12e89691311b8923ae33e930a7c89f4b) >>
+>> endobj
+8309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.247 440.511 513.996 451.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_ab156f789e720f2d04086a672448ded40) >>
+>> endobj
+8330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 428.556 139.791 439.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_ab156f789e720f2d04086a672448ded40) >>
+>> endobj
+8310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.301 428.556 513.996 439.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a1e3eb354a88609b46573e1dc2ce6dba9) >>
+>> endobj
+8331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 416.601 98.745 427.505]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a1e3eb354a88609b46573e1dc2ce6dba9) >>
+>> endobj
+8311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [104.074 416.601 511.506 427.505]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a082d6ea17c164846898241075349cd31) >>
+>> endobj
+8312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 404.646 494.06 415.55]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_aa272377eb99f1a8b4b48114da9bc6051) >>
+>> endobj
+8313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 392.691 474.869 403.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a311e87a81daa4ca81dfb5ff62bd29b0f) >>
+>> endobj
+8314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.739 277.361 513.996 288.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) >>
+>> endobj
+8333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 265.406 145.33 276.31]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) >>
+>> endobj
+8315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.841 265.406 513.996 276.31]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ab22bb6327730a73a66ebd117ca90aaed) >>
+>> endobj
+8334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 253.451 146.075 264.355]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ab22bb6327730a73a66ebd117ca90aaed) >>
+>> endobj
+8316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.247 253.451 513.996 264.355]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a7cac2a7ab2e138c7c0e96354b32b0110) >>
+>> endobj
+8335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 241.496 139.791 252.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a7cac2a7ab2e138c7c0e96354b32b0110) >>
+>> endobj
+8317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.301 241.496 513.996 252.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a11a03a73950216b9010c2350cf5ea7e3) >>
+>> endobj
+8336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 229.541 98.745 240.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a11a03a73950216b9010c2350cf5ea7e3) >>
+>> endobj
+8318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [104.074 229.541 511.506 240.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a104ead3dc8b407e3246dc9e3c6040713) >>
+>> endobj
+8319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 217.586 494.06 228.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a8669f7f8a54a22c294c94b36106edfb4) >>
+>> endobj
+8320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 205.63 474.869 216.534]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_aef498310bbb162748eb0cc7c1bb07fd8) >>
+>> endobj
+8321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8325 0 obj <<
+/D [8323 0 R /XYZ 89 770.89 null]
+>> endobj
+8326 0 obj <<
+/D [8323 0 R /XYZ 90 621.099 null]
+>> endobj
+5311 0 obj <<
+/D [8323 0 R /XYZ 90 593.948 null]
+>> endobj
+8327 0 obj <<
+/D [8323 0 R /XYZ 90 593.948 null]
+>> endobj
+5312 0 obj <<
+/D [8323 0 R /XYZ 90 393.687 null]
+>> endobj
+8332 0 obj <<
+/D [8323 0 R /XYZ 90 389.204 null]
+>> endobj
+8337 0 obj <<
+/D [8323 0 R /XYZ 90 188.035 null]
+>> endobj
+5357 0 obj <<
+/D [8323 0 R /XYZ 90 164.855 null]
+>> endobj
+8338 0 obj <<
+/D [8323 0 R /XYZ 90 164.855 null]
+>> endobj
+8322 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8356 0 obj <<
+/Length 2968      
+/Filter /FlateDecode
+>>
+stream
+x��[k������B@�V��<ɡ[h
$��m���Xp�\/ITHʎ��{�A��H�Z1-�� J
^�9s��sgf��ÄN�������u(&�
Ln'��2"*���ɻ)����wh¢ Oٟ����ۯ��}k�]}}{���-:a΀"��,VW����~�nB����m��H.𹜼���m��=_#��w���1:M
+�R��M�&J�ʻ<)���5kY!�tX5�O�*��9��},�u���1�W�|�Kw���<Y����+�ƛM�����^�����W�x��_�ǽ�?S*��L���M���K�S��6�E�fk
�<0&�d<"������6q�!5/�h
O�=�p�i�[��E�Nj�}+�,O�
�j(��\��o0 Q�9%8�gIĴs�f��4��UR&���iѶ��ٲx��4��Y<
�U@��4��Z�
�&�RDS~�*Z�a�Qs62.elFD���Ό�L����6p�x�G��@Ĉ�m�n+µ$��?E�>�
�����ɀ�1	4�EG )���H�#
�
	>n,���eu��P͟:��ڇ�K8�l��G
&�q��rhl��C��q8$�Υ�MI$Y�b-{�4{�A���͠�;_�T^��CG�����}o'�a
z���#.(�H�#r��;���@s
J�DE�
r�B�cRn�uw��SgL���1���e�M:ܔ�U
+-}�Q��+�b�X$�C��C2ΈT���/���
+NDU�2�.��.���AT�Be��ѵ�BT��
������ؚ�a
���Z���᪄4�;^>�E7:BF;�k���K�{�<J�8�/����PtXVv����j����@�H�
���^�����ͨ��
�힠���a+�wvb����)6$`���S����&�F�x����m$x�X+�v Ѽct A#���R�`U�3��@0�zAL��C@���t
F��d
�0�st��
�m)�%��"�\�@G�]�����da��
��>�˥�/���iWq	Q=�At�Oq��(^ϥ7v�+��ᜪ��s���L�}�lv�w�
9; t�h��ٜa�M��T��V��[�`H����a�H+��S�+���pM��t��G��8]��
+YH�_�3�\p_6�i|���
?e��6�]�����ŧ

�hU҂Օ4n�B�ۛ��޺��xƩ/��/�oE�HQ�?T�lE'��!��I�ؠ�(0>����Fr$w�W�[�����g���
�՝u�E2��~ 	�A�̣���=T-�E%�bop�~H�+_W��>�h�(
���G�ru�Y&+7���<JWN���b���;����}�$zw�-??%y|�:�����W?l������
/H�>��Rd@������-�o�m����L���Mb���z�F������Z�
�HH_^���-�tU�]^���qоrK@���,�x��B������p p�Kܮ�ÐPĢtG���V�
8
�
S�Y�
�΃N�����s��?��c���9��2�sz t<��lƦ��{4}yL�d�8o��#	��	

��p��������|������Cm�xo����!�T��
9j^p���@IF�fm
G�Fju
��c�
83�)B���gCP2n�B�,�i�G�x{j ��ۏ��e�.�М��µ�'���N"ժ-�!��﫲nȨ���
1�Bg
�΃���L?E��*ҳ᪖����m�$�f��@�v��(��(C(�hL 렅�j#��
Q/�Kt{
�-7�����C(5P_���=D�F����5���Ջ
��\;�/;<�t�q @���
��ImF�A`9�EH���u�[�,8S�v�7#R�t{���3lW���2_n�������7f��HSSԳ�'nL/"Ԟ֮g�n��g�	;czڿޥL)

#*���Ƥ�31
p
+��Ec�ڇ֔�
+����V�x�)
������ڭg�n 4��b7�$�pˍ�d�
�
�
�W�2���$�Kfs�S����Į�
�3;;7��K�N��֯���6�A�ˉ��;���#aka��r���&�n��m���n�.]�e��
ƌd��Ws��%�;��2]�?�j�B����:�^K�Ԭ
Tk
+�"~�{H�{��
�m��}*�_�+�1�v���V!�lfR��U��]A���n�y��ntn��8��\f��.}��:����z�P��ͨ��Ϸx�
!���y0d��=f
{����WZ�6�<o[��C�eu6*��&X-R�)eO�t��I��Cv�
M���o��YM�ܞTcR˒A[��������U �}y/�PyϏ��r��彆)w.Γ��(
}�[
4�=����_�K5�[V�C:��:*�v
������G�>��[��`���|g�]�����
�2-���K5>�4$�(��h|
�� �\ۖ�_�^��쳗���3)�n��GV�
��y��~L� ����c�A*M��$���M�ik�@���#E
l��A5�ߋ�iʚ�<�_Ά���Ϳ2I���A�H �R�#~x��V�myp(��eW���ay�yM��]�tni��~�FO�r��[��`ycw[�;��������
���[�����M%o��r��}�w0[w��T�+W��k�9���B���e��1��-�:Nk��q�8ԛ��U�]�Dg�t�D
��<�.������=�,�|̒ol��f�*
�`���A���_�L'ݚ�
;U��=��A�Ɯ˩O�d�Dr2��e��,+wFZnU��#�q6?�^���8n�L6?۠�l���b迨5
�!R�����U�B�nj�Ƶ�Y=�x��JL��`lgn{����,�Y
+7k"��S�K�!��浻��H򿘸��&^o��1�ԯh�i1d#��;l�6�����v���
w�%!�j�T��W/_�o?��}E������PO-=VY^��У-
+vG�!��?/GR�
+endstream
+endobj
+8355 0 obj <<
+/Type /Page
+/Contents 8356 0 R
+/Resources 8354 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8248 0 R
+/Annots [ 8345 0 R 8359 0 R 8346 0 R 8360 0 R 8347 0 R 8361 0 R 8348 0 R 8362 0 R 8349 0 R 8363 0 R 8350 0 R 8351 0 R 8352 0 R 8353 0 R ]
+>> endobj
+8345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.078 472.159 513.996 483.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a47224e5fc07b3798eb4f2f5837073894) >>
+>> endobj
+8359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 460.204 141.266 471.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a47224e5fc07b3798eb4f2f5837073894) >>
+>> endobj
+8346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.352 460.204 513.996 471.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_abf9798785b87d68e6ff2db95401536a7) >>
+>> endobj
+8360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 448.249 130.323 459.153]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_abf9798785b87d68e6ff2db95401536a7) >>
+>> endobj
+8347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.88 448.249 513.996 459.153]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ae0f8501bc09bd6e6247c5d92476a03a1) >>
+>> endobj
+8361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 436.294 140.536 447.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ae0f8501bc09bd6e6247c5d92476a03a1) >>
+>> endobj
+8348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.708 436.294 513.996 447.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a02d8b929a48de1c69e0e0d702359ec53) >>
+>> endobj
+8362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 424.339 134.842 435.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a02d8b929a48de1c69e0e0d702359ec53) >>
+>> endobj
+8349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.825 424.339 513.996 435.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5ac67f2c19f4e1d46eb4d81e280aa581) >>
+>> endobj
+8363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 412.384 98.745 423.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5ac67f2c19f4e1d46eb4d81e280aa581) >>
+>> endobj
+8350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [104.074 412.384 511.506 423.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_aea16ed2cd1cce0f92352901ce90db8b1) >>
+>> endobj
+8351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 400.428 494.06 411.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_ab2b9ec90f48c5472b85e3accc9cd40b1) >>
+>> endobj
+8352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 388.473 474.869 399.377]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_ae1df79fdf94dd23fac62d57fe0681842) >>
+>> endobj
+8353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8357 0 obj <<
+/D [8355 0 R /XYZ 89 770.89 null]
+>> endobj
+8358 0 obj <<
+/D [8355 0 R /XYZ 90 680.111 null]
+>> endobj
+8305 0 obj <<
+/D [8355 0 R /XYZ 90 389.469 null]
+>> endobj
+8364 0 obj <<
+/D [8355 0 R /XYZ 90 384.986 null]
+>> endobj
+8365 0 obj <<
+/D [8355 0 R /XYZ 90 304.457 null]
+>> endobj
+5355 0 obj <<
+/D [8355 0 R /XYZ 90 216.591 null]
+>> endobj
+8366 0 obj <<
+/D [8355 0 R /XYZ 90 212.108 null]
+>> endobj
+8367 0 obj <<
+/D [8355 0 R /XYZ 90 113.237 null]
+>> endobj
+8354 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F7 795 0 R /F10 765 0 R /F35 1248 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8377 0 obj <<
+/Length 3566      
+/Filter /FlateDecode
+>>
+stream
+x��ko����� ��F{���)pM�A�;�Mܢ����,�V#��$���wfw�Xr)��
+�/Mg��~���툎~8���ٓs#F�4ף˛QFGF3�8]�G�ƌ�'SF)
_L
��U~u1�t\.?��m~�b1���O��_\�s�_/�ɛ˟��3�B�)%V+X�����ֆ��� .'��p��b��d�
�?������Q����9��I��'��
+���Y��2���Rn�b�Y�{�z4Bm�h�ɔ�o�\� 9v\��=���P�+�\gx�����og
��s\��;�^��zCGs��ӈ���;�I.�w9���_g�-0M;�X����?@���ߕs���U�+r���K���"w[��{�#,(���f�u�*�B�_c�X /w�ܮ�U9��� �1����@��'_���������
��~}�_��"	Fd�*J��A�l�If�EI�� '��
��C�
I0��*�XOkj�\���t�@��%���45��U���y%3�dV�J��ٗ
gĪZ��7��� B&SjtD������΋הr/4�ww}��������<�"�8J,*KZ��%X�SI�l7�Z�
�B{�W)m!F�,ʿO��x�G�\�b|����/}�"B��:��m}��&̀#����01��Z8�?	�(�J'E��G��'�Q���oh$1B�Z at 1�"��*Rm�h#|�ަ�Y=j���`
- [...]
�#Ea�"| C��o$�M,|��Y7]���F8���60���i  e�Yp&_���W`�-�W��:є��5Ʉ�j��MQ�K���z�M2�dVEdX�Z�>oe{p�7N@�~.sO���~ND~n� �h<l��{�G[�'�Ԏ�t<�g[�9�ڔ�F�UGQ+���m�
a��m�ّ+�ϰ�>������̦"�K� �4����b[�Tp��>�Ō�&��->���pg��W�g��
in
j�,2�LEk�]HLc��y��`�

yD͙��Y�+�+�\TX���P�e�@3��/���F"C�oU�]=5D71:��
��=�����a�Cq�/4� � 	�(!�9Pnbݑ��+4������ڈ�Wٓ�Ƨ�q,���h��@s`��)��H����'0G0FHl6�S�%���&c��[�
{J@�;-��$�i���q���z�MN8ԝ��’kHٙ�
˦s�,]
�]��W��o|cc�K��B�5��>��&� �� [...]
+	�!���0sdmDA���i��iFXd;	SqH
if�c�?}��pt��AK��g[Si���\��	��r
.�v�h�W/\��
�Bu�#&D��Z��cL余�Z
���Sj� S]�
��%Ĕ���~���l��xw�˾�Z��6�鮽��+��s��=dS	��He�(Ȼ�J҅�P	q�ϗJ�V�)(p�C��|��i�r�ɦf
���Dkc�4E�6 �M��n
����
+B{��E���������Xb�ýX(ˤ��b�� �_���(4X���
ؿ{V�؜�m��l��
�
@�ǰ�_(<���0[���m_ޤ:��T��pkR�n� �F�F_�[�Z�;,&�Mg:}z@B��������
I$��y���

�#ɘ��1�|
Y��l��v��O�C|֝$(f]+��(A��0�����)�#H�c=��V
���#�Rŝ�(��t[͆y� T�%��
o
*�qYU
�D$�6��)C3��<r�l�
{��b�ƜRoN�Щ�ϯ�:��K�	�A�Ny�&������<����D��ړ�lG)��S8(WD)�>���
�W
!Z���r�6$������TQ�A]y
9i]i��q!��-0��NFxcU�8�+��)�gʰ
+ Jz�*��bLN�%��L�h���������zk�rh�.T7�K�i`.M��5�"��S<��>4̞B��j�2�iczME�Nj��l�7j�x��;) �k���jo����SG�mbb=0�68���j�Xٝ9�h��
�;���z��r�P�Uj�Jj��9T�7
J�x��H�*'�QC�h���v~��)����^ug�|
�B�i�$�XcK��8�%�ה��G
�7��2.bE��3І�!ʄ��eZ)(�\��� =�&�e1��o����$��L�2d-��I�M��

}��tw�t��3U�)���\��
��e<Pn
+(74��
+�c�j��XͰKù
���pU^߯�5v.|Kw���[S.�p�{�0�
aH�X��f�=v�!�a���1N02 ?!��[�,` �>A�\{�'ነ��e̕C�bմ�����M�
M�$
\
���
b
,|$n~�"M��3�29��҇G7��pa�`���
��������p�(Q)���\��}
+
+ *��;��J�=b6{24&1��6��j���s�|�+���Ew�S(��C�(�G|
+�jTR�PQ�b�Ea�!�|����$��Ҹ�)' r�ReL�0#8R�N���1�
`�CpV�O*`�n���g�W�V�+��͙q��g}�(�XWQ�9�E��ީ
+9,[;��l��{�~{��j��^.%U�+�_>b7�f�ߟ�p��)<�j��Q,�|٭���a9J��\O?��?۔��~����H��]߇��qտW�Ta���bnÄw�~��4fc�I���]&�u��b��P���减Ŷ�;d���6l�=��t�G�dwOOU�_7G*޹0��-��R�j�m��mZ.Kd�;> na��,�F�5�8dS�VD��\�P��
+��fI��Rl�h�* 9�<uƍwVy��*�I�bQ��!���J�T	
q����Y�|���mx
+�4$p��Z�$����;�� @K��� �M2�����F��_A�
R�ܧ�Y�l�h�i����аw����!� �;��	
 ��wĶ�
7�����!�1	qs�ck\���.wy�\3o|��aƔX��@u�jb �UǪ�� ;�\�\}��dȍ��`��D� gp���p�] =�2tG��
���@9����<
 ߊ���FX��w/�����],�v^��)0�8~1/b��
V޷��/.^t�亸�xeB�
����7���4v���a�7���‘��<>�sk�H"��D�/����<�� &��(�(_h�w�,߯c�|���aWA��K&
4�����-�>cm�P��A��
�h�$�3s8 �]l��U{V�� �6��
����Qs����(��|�*�e<_��c�x���} :�-�bW�K���t��j�cN-ֻ�!��sw�S��"vY�a

Ƃɏg 5̺s��:��+��8(��|]s����j+��
?$�����8��uT]����gC
+��_5[������'Of���`�����j}G�޶\[��=k&U�'s�2�8��
t�2c��h_��Ջ�ƓWb�}	
n&a��V�&
+endstream
+endobj
+8376 0 obj <<
+/Type /Page
+/Contents 8377 0 R
+/Resources 8375 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8372 0 R 8373 0 R 8374 0 R ]
+>> endobj
+8372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 74.333 211.952 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle_a70b0fbcc1272e8bb764a95cb3f1e2d17) >>
+>> endobj
+8373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.767 74.333 281.41 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8378 0 obj <<
+/D [8376 0 R /XYZ 89 770.89 null]
+>> endobj
+8094 0 obj <<
+/D [8376 0 R /XYZ 355.061 639.355 null]
+>> endobj
+8379 0 obj <<
+/D [8376 0 R /XYZ 90 632.715 null]
+>> endobj
+8380 0 obj <<
+/D [8376 0 R /XYZ 90 530.278 null]
+>> endobj
+8381 0 obj <<
+/D [8376 0 R /XYZ 90 393.305 null]
+>> endobj
+5356 0 obj <<
+/D [8376 0 R /XYZ 90 372.36 null]
+>> endobj
+8382 0 obj <<
+/D [8376 0 R /XYZ 90 372.36 null]
+>> endobj
+1840 0 obj <<
+/D [8376 0 R /XYZ 90 225.519 null]
+>> endobj
+318 0 obj <<
+/D [8376 0 R /XYZ 90 218.632 null]
+>> endobj
+8383 0 obj <<
+/D [8376 0 R /XYZ 90 93.556 null]
+>> endobj
+8375 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F99 5346 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F24 529 0 R /F98 863 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8397 0 obj <<
+/Length 2999      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�)+UE��v�j6oM�މ�ifJ%K�͊$*$��� /�hI)���'� �h4�t4HG�#:���?o.^]1JH��
�܍:22!J��r�a�
�|��n$�%,��k���n��t�
��x{s���Wtļ E�
-�>����Q";��:�G�
��F�\���]�W�["Ft�uc<!Ԏ
c�1�Ǜ��r2�Œ���ߤN�_����W�ewO����ˋ��_�
t~�5șW�}��.��S�d�-&R��/�z^���?R*�y�m���6�A�M�UA��z���f�.}�����c�3k:�2J��/����F&�zu�d*
�O��
+�Wt���ZV�v�7U>4��D�F`�%�+8�3.�C����4�x֔�_I�<e�H+�'9W�W�SE��1+��[KǷy�
+��Ŋ��k�]w�q�V���l�o�j��f�����.��������a�W+���k\��7Avo���
�1�'���߽�"3�Z*a�
7h^L��)�
I$�5�{}T�W鄩�tS:��g�W6���sn��2u�'1�pX� ?s*=mS�_���1��
�n�A#[�6�]S!�V_wa+����������
l}��"lab
�^"�z�u_�!7���������
f|`��[W8��b7�����$��ƫ<�B�#x�9��Tp_�j�}
���	�����"���[���e�o�V'`r��p�N�%�ۃ�E��aV3��;kˈ�6 at Vu��S�5�nz�Z:�V��h]��v���-��-~��hۡY
Wl���0����'���V�������_�ʠ�m4"�,s�b�;��e�� ��%��.�<�� ts^�E���,9���}^��"�e\΀��dٗ��O�7v{��
�v���#�Bu�"2IA<!Z���I�z��g�g�2�����rP�2𱈴
�FEB�5*�
��g�	�H�l5~�i�d�<�L58)5��Fɀv�B��\��h����cM��m^��I>���|��N
/
�P�R�v
�h�6t�{cDQ*
$;�
��q�O
+������
+Z1u�,k���q\���0RcB\;H�4��ɷi5�VNCn�\ٶ�'�x�&�D�`�*]oW�J@"���>R�l&����H�� ��C0�+�)xEȕ�f���z��0��L$�T
�
+s�ؤ�
�M/�"
�ll�(IH
5@�
1��W��
l�ϡA‰�xip3�v
"J��.-����6w�vP�ּ�p	F_����%e�9�$
���3����+\tY
h ��A�<�b
�?d���-����[Ie���
�k1��
+�\��r
-+W���!,�u4�lm|T�SI-���Zha�5�]j���,'�E�F�P�$I�N�S�~��d���Z
��gY�Ő������@b�ek��WfƋ 7x�)
��m�A(M!9���}o��� ��f�κ�5|_��0��o~x���)y��?��1P:��-�X5̶u������\?���&]�fo^<��Hl
0�����x��ʗ��T�:b! �QU?U=Gy��]��(Ɂ��ό������d;NP'2�����n;/ ۠�Bl*��3NȑB� ��
&�7u-�v��4�
+H���T��]h�m��ͼh�s�� B���\n�E��{��������~xl��)�X����Քa��".���t�( 
�
�C�C�qcY��Ɂ������	�W�ྩ�W��&PĻ
K(��
+q�`�ҏ�
\�ڧ��9��}�N�!(�6�_����8�D9ctl�F��2_ϳM�75ĺ����|�Y֔�!߭]}�#vA���Q<��Na�#�x8b*�Ĕb�c��u�
LJ��"�$��b�:�q��"�
�=�Z
l��=�Z� k�l��b;wu%)��|0�
+�]��/xY��AܑN���|+���'΢�0�*
kp(�C$�yu����c3a�|��_WDz�jx�D�Jz9
�DHvg�����ϙ'��ΐ�
�1��
���
�e�Yw?Í�`* �kP��hx=��$N�\�*b�9���f"�)Щq�>����d�d
V�Yy�)H���lw
+Y߄Sx�
+hCއ@���#�!��閄�N��=`0�h
6��h��b	�/ڊ} �$�N�'
���z`��!�F4����WC�ēk�k,�f��3��@fS��{��M}��
+PB�U�Ow
�pX;�BV�l����>�":����
's���,4'\��9��u��\g������o�9L�梮�.�]B�$��z�^��Kt�z��	{N!N���Wآ�!�.~L�!�i5\�?RhoĠ�6&P��i�+6�3��� ��-�U�n�h���v.���������o�Pu���:�#r|���]p���8��
ˁ_Yј����ܼ�\�l�9+O"��Bx�hل�:��T���P9��I{*bHR�N�r�� P�H�����?��Q.S�g�gBqW�g`@����9� J�$��9�
+
�� �i�.���XM�\�>��`�
s� "Q=+�m��0��3�D.��1����F���D�ed��

�
\e8S�[G���<&�]��E"Dj�3��w-��/[}�Q
�99���^0
<V�F��
+
���eӣ98�xp<��6s�~
 ���a_�,+C(0EE�=
�`��4�	XX�t�����o#O�߶e}�
z�
�c����k����$R.a��d�O�y��Jd�����'_�v���^���r��p�!��	o��
�����
�epW�������Z�ѕa��F���F��22g������m^�˙y��g͉��ԟ�;J�%q��
H)e�p��{�^�߄�W��b�m�ZqS�7m:
��OF$L.��0�I|s��2-�6�'���ͮ.�b���٢l�X���(���'^�_���;��>nk�D����^�zu��/��=Y��}̴'�C7�<�H������e�
+endstream
+endobj
+8396 0 obj <<
+/Type /Page
+/Contents 8397 0 R
+/Resources 8395 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8386 0 R 8387 0 R 8388 0 R 8389 0 R 8390 0 R 8391 0 R 8392 0 R 8393 0 R 8394 0 R ]
+>> endobj
+8386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.215 684.514 255.159 695.418]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle_a534e99d940f191cba72c31acb19989cc) >>
+>> endobj
+8387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.094 684.514 384.732 695.418]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Constant) >>
+>> endobj
+8388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.64 634.64 260.151 645.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle_ae11646b9e6b853245a5d04301f39c134) >>
+>> endobj
+8389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.51 634.64 376.722 645.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+8390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.422 584.766 271.886 595.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle_a34f9d9a55678514e434ebed37cf89f01) >>
+>> endobj
+8391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.028 584.766 402.933 595.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Approximable__Reference) >>
+>> endobj
+8392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 572.811 179.554 583.715]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.533 374.135 490.745 385.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+8394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8398 0 obj <<
+/D [8396 0 R /XYZ 89 770.89 null]
+>> endobj
+8399 0 obj <<
+/D [8396 0 R /XYZ 90 534.999 null]
+>> endobj
+8400 0 obj <<
+/D [8396 0 R /XYZ 90 473.564 null]
+>> endobj
+8401 0 obj <<
+/D [8396 0 R /XYZ 90 318.082 null]
+>> endobj
+8385 0 obj <<
+/D [8396 0 R /XYZ 90 295.706 null]
+>> endobj
+8402 0 obj <<
+/D [8396 0 R /XYZ 90 295.706 null]
+>> endobj
+8403 0 obj <<
+/D [8396 0 R /XYZ 90 168.899 null]
+>> endobj
+8404 0 obj <<
+/D [8396 0 R /XYZ 90 164.416 null]
+>> endobj
+8395 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8429 0 obj <<
+/Length 2380      
+/Filter /FlateDecode
+>>
+stream
+x��[o�����)Xh% �}Hc M�]o���(E�DK�R����u��{�BJ�G��C�>���r�����R8�8�����KłE��`|D8P<BB·Y�y at 0�j8"��͐�A\.��͐�A�=.�YO�ӻ2./.�O��
�����Y\U��6�O�!	I>M`8�h@~
�x�n|���p@��0�.�>��
n�`Ģ0x0���
>����?ΰ[K���З�í�ܬ0��<P����E�&���+cL8���MB�p��3f���:�}�/��DT"���L���z�^$�"����_��Ճ��V|��Fua?�`L���~L��L����Z�ů�2��"e���M)G!�5�qV�lf15�
+0�|H�Y�t<�s�a�
�"��D0�P�,WY\��	�����M��mљ@!����*��%x�Q2� a	̇#Y����+��Ә.o���a�9�� 
+,�I��(�Z�=��Q��P
++k�U^�߆,�<0��NbS(�k�x�����zJ��Z����
�1j��-��9�װ����Ȝ�SɈ2����B����&�˛ɇ2�f>S�
�>������>Uh�2�W���WH��%/�!�%롔�G� `=?���P

�� �0��T��M
M�=Yg��b��"��."7��K��R at Z�'�
�1ҝ<�R�u�9�H���
�%eo�hl��,

+��	.W��`��#�T���=A���5���ȧ�,���^���*("
�D���
!jw��T>�@���O�j��#*��v�^�ăW��(�i��M�!�2��,s��H��T$�N*DL��XBU֪ܶ�M�
+C�Oi� 7�I��j�7%���	�G�����
k�^��F��z�T@��E�k��z�2�
�
�bCi�ݛ����ai
.�,��Z������ln��Hg�!��mH�&���"����
]������n���Z���B!�E��%�>P�uZ�1N�̜.�}�u���L6Pv
�3��˼�PMJ�:��n���N
�V����P�[xVB�ct���
�c�-7���{9�(��2�a(H/"x���A�����"�SN�
O9�:��ƾ�M#H!\���s_��$�j=����Z��$@	B��gx��:��{]��.���J��
�G6�P�[:`:I�(�vbT
�
ẗ��+C��
�

��Q�
^�?��1P�I
`�T$��_D�S`=
��4���Ÿ��i
+�e�; >��
N���Y�Lr
�&{G���;1�"�֑�]�W��M.�*0�>��i�v�)y6X�C���Aw��"��ҪzvqQ�M� �E��v�kLkc�ݝI�׸�Ц.�\*=�ԣhwC`�i�
*��b�HB1}>�
�����}
����Y���*�gAnW�x�.;��Y��C���V��A��iӠ�v���
[-p�+���R������k�`��q�*�#|�b��S N��
+�����:O:=�; ���ld�]�ta��*SP�ãX6�,���4u EDjL�;��s���O�>�������:Ns�|]nʹ�;�Oݯ��h��$���
b�'�	֏`Žv�@���Z�3+�k��6g{�y�R/uO7�[:�9�oe�ߗŲ���E��v=��Ǖ,��,$  (�5-]���JE��瑀ԶZeh��u갑O]D�QyY�|��(7���
��0���>0��d

w�`�"��Œ�p���Q�\]k-�z��7>�	�%��;&X~օ������6���AR6ytg9��o&��
�n���,͓W.��G��۪��C�e#�iVT����#O�c'i���i>��3_��RQ����C�}�����G�{#8c�YK{Y�d}��wf��z�!�])��M�P�beo�$�z�#�@
���0�
�o�ֿ�������w�n�vw�}��g���p�~��>o�?|�t�n��k����R�$
d�$�
FD�o�̹΀:X̑�}%m!��`�h��g�����}|>�!�%���0 ����S� 	R�
+�?�U�(��g���t|oy�3�5����lf�y���g���k���MKu����9\��sQ�
⟒�]�2��:�ֆpO�^�k�lr�G�樹+V �kO���ӿ����Z�� �&徑O�嘈#�;�
+ tZW=�تq���(�y�w���7	ަ�ؿ��r
+��1��@�Q�K
77���S��

+8�86�s�8��y���U
]�s'��I����?���-5nL!�#���E]�.����sؑ9�˧�hk
p`�Pp
~ˢ)�i7�c��I�G�iS����_ �0Q�����Ǧ��q~�d��
+p��6��>��
+endstream
+endobj
+8428 0 obj <<
+/Type /Page
+/Contents 8429 0 R
+/Resources 8427 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8407 0 R 8408 0 R 8409 0 R 8410 0 R 8411 0 R 8412 0 R 8413 0 R 8414 0 R 8415 0 R 8416 0 R 8417 0 R 8426 0 R ]
+>> endobj
+8407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.855 373.24 346.467 384.144]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
+>> endobj
+8408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 198.358 160.207 209.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+8409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 198.358 192.655 209.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) >>
+>> endobj
+8410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.643 198.358 218.667 209.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) >>
+>> endobj
+8411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.656 198.358 252.978 209.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5ab7fe867b1243e111ef4364e3ef5b5329) >>
+>> endobj
+8412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.967 198.358 337.66 209.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f) >>
+>> endobj
+8413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 146.379 201.399 157.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.376 146.379 268.642 157.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aec5862748da509cc5dbf2ccd7280a92d) >>
+>> endobj
+8415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.198 155.733 102.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.549 91.198 221.306 102.102]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.741 91.198 321.719 102.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8430 0 obj <<
+/D [8428 0 R /XYZ 89 770.89 null]
+>> endobj
+8405 0 obj <<
+/D [8428 0 R /XYZ 90 683.658 null]
+>> endobj
+8431 0 obj <<
+/D [8428 0 R /XYZ 90 679.174 null]
+>> endobj
+8406 0 obj <<
+/D [8428 0 R /XYZ 90 537.448 null]
+>> endobj
+8432 0 obj <<
+/D [8428 0 R /XYZ 90 532.965 null]
+>> endobj
+1841 0 obj <<
+/D [8428 0 R /XYZ 90 322.874 null]
+>> endobj
+322 0 obj <<
+/D [8428 0 R /XYZ 90 316.165 null]
+>> endobj
+8433 0 obj <<
+/D [8428 0 R /XYZ 90 215.441 null]
+>> endobj
+8434 0 obj <<
+/D [8428 0 R /XYZ 90 110.278 null]
+>> endobj
+8435 0 obj <<
+/D [8428 0 R /XYZ 90 110.278 null]
+>> endobj
+8427 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8492 0 obj <<
+/Length 1634      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~���)53Y�.���3mn�K�4��%�xX,{5�����+q3�X�M�L&31������s@cf@�������9#�
��hj8�`�������a���Al�c�U��'�ގ��
]������ �!h�T ��b��34&��+�p�.��0,L��ܸ
�>��.���
K:!h�p�!J��1M
�]��
�25>�/(����ae��?A
+����l�F���(��LIA�h\ 
�M�Bm7�� ������
�:��~����1�ζ4p����e�	�3��$\yZ��Ɲ�oӫ�\
?�
M†J��P
T
����S&r!�Hms
o��ND�t=1V�)��c����1ן�۽�UC���ϱUÁe;y`�	��w
� �x>��(]M��:�U�>�9B����5�+X�K�1�܃��D����C�Y�k":t��k��
�E����nw�u>�x�Q*)��|�[���Fkr�`�9	/=

0bo]	�tVE#
ؐ�s�[5c�l
N[��L�6��MN���x����?�����#�8���24�bg^�s�w��{��T2��
_q(�(:�a��a
�D��<���&��>=����Zl�b)�	ߛ��gu.�9`6ۇ!؈�>�XCR䵖�G��sS �S9YG�{�Y
��m��D�VY��)����L2�J�f^��5j���%���;w��
15׌ĞTA!:D�L�����p����jx���StuX'� [...]
=	d@!�wA�(�w#h{>��x.���^c
"E��Õ��Q�kai9�9�	�yvf$뀲�u=�8U�ȳW���Q�
>�:Yr�z@������o���7&��e ��;��01d���{��(�
+�Ԡ��y`}�;N��
�8]GWW	8�PLE(|O4c��9GMwރ��ֻZ�Tqu�8)�T��T��A���_11 �^�1�Z�ZF-or
��:Ge��.VfG����@�~���vp�����3e~�3����6ʕ�۠,�"7�H�#�qB
�;gk�?���"���J^qw97�*�{��Y��6�Y:;ZNu���
f���Z��4�fS�:l;�!�o�&�'��W
+$��߱������
����]� �]p���
��
+�V��N��/�4@'���$�g{߼��E7���~�Vm����]'�
<T�R40@���OPZ�X�5��\MF]��1;�v
9Q�K/Oz��w�S�M�F�
+L���S����cR���0���hi��t�$�~@ K�I��t�
�k��/�x(a[qJ��V`�j9���B�1��Xn�����ߤD"�A�d����
^m��I�}c��ն�*��Z�i=��B���+]Z�;����o�xyuyy��EŸ/X����8 ��3ӼV�������޿�՟�
+endstream
+endobj
+8491 0 obj <<
+/Type /Page
+/Contents 8492 0 R
+/Resources 8490 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8418 0 R 8419 0 R 8420 0 R 8421 0 R 8422 0 R 8423 0 R 8424 0 R 8425 0 R 8443 0 R 8444 0 R 8445 0 R 8446 0 R 8447 0 R 8448 0 R 8449 0 R 8450 0 R 8451 0 R 8452 0 R 8453 0 R 8454 0 R 8455 0 R 8456 0 R 8457 0 R 8458 0 R 8459 0 R 8460 0 R 8461 0 R 8462 0 R 8463 0 R 8464 0 R 8465 0 R 8466 0 R 8467 0 R 8468 0 R 8469 0 R 8470 0 R 8471 0 R 8472 0 R 8473 0 R 8474 0 R 8475 0 R 8476 0 R 8477 0 R 8478 0 R 8479 0 R 8480 0 R 8481 0 R 8482 0 R 8483 0 R 8484 0 R 8485 0 R 8486 0 R 8489 0 R ]
+>> endobj
+8418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 155.733 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) >>
+>> endobj
+8419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.07 707.957 224.893 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.092 155.733 705.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4904a65badd41facf2b598f09eb726a5) >>
+>> endobj
+8421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.07 695.092 224.893 705.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.105 695.092 304.862 705.996]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 667.37 155.733 678.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5a20d28505fdda8702b48c35d08cfddd) >>
+>> endobj
+8424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.07 667.37 224.893 678.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.105 667.37 308.748 678.274]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 654.505 155.733 665.409]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a37b12f6fbf02f9a3a51dee028128d446) >>
+>> endobj
+8444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.07 654.505 224.893 665.409]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.105 654.505 308.748 665.409]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.837 654.505 418.595 665.409]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 627.157 163.482 637.687]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0) >>
+>> endobj
+8448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 599.061 155.733 609.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.473 599.061 207.279 609.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783) >>
+>> endobj
+8450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.616 599.061 276.439 609.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 571.339 175.668 582.243]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 571.339 234.596 582.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abccc1b3be92c83b70dd47667198d62cf) >>
+>> endobj
+8453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 543.617 208.395 554.521]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2c0762c7e8b14cb1d2032bf920b57732) >>
+>> endobj
+8454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 543.617 273.968 554.521]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 515.895 179.554 526.799]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 515.895 250.666 526.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) >>
+>> endobj
+8457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 488.173 220.579 499.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a66af65679979f949af0457fbcb07dcca) >>
+>> endobj
+8458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 488.173 290.038 499.077]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 475.308 233.76 486.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8d0452265a9138357bbccc5902f80d97) >>
+>> endobj
+8460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 475.308 272.763 486.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 475.308 323.393 486.212]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 447.586 243.165 458.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af64f0b6ef53df6ef8024b03b187d197c) >>
+>> endobj
+8463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.502 447.586 327.278 458.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+8464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 419.864 246.034 430.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a497cd4705484de0b938f6e03fd2ff460) >>
+>> endobj
+8465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.522 419.864 360.71 430.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 392.141 231.1 403.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae6e33f7246f4e3683fdab905d2e26819) >>
+>> endobj
+8467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.915 392.141 270.103 403.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.916 392.141 345.559 403.045]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 379.277 135.579 390.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+8470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 379.277 155.225 390.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf) >>
+>> endobj
+8471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 351.928 162.677 362.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) >>
+>> endobj
+8472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 323.832 160.455 334.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4) >>
+>> endobj
+8473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 296.11 168.216 307.014]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) >>
+>> endobj
+8474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 268.388 201.969 279.292]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) >>
+>> endobj
+8475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 241.04 297.728 251.57]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) >>
+>> endobj
+8476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 241.04 336.732 251.57]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 213.317 283.353 223.848]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) >>
+>> endobj
+8478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 185.222 191.718 196.126]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+8479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 185.222 288.852 196.126]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) >>
+>> endobj
+8480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.5 191.718 168.404]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+8481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 157.5 303.079 168.404]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2) >>
+>> endobj
+8482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 129.777 201.471 140.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) >>
+>> endobj
+8483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 129.777 270.631 140.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 102.055 182.044 112.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4da7504ef9aeba8a782d47c83ce1abe7) >>
+>> endobj
+8485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 102.055 251.204 112.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 74.707 150.493 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb) >>
+>> endobj
+8489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8493 0 obj <<
+/D [8491 0 R /XYZ 89 770.89 null]
+>> endobj
+8494 0 obj <<
+/D [8491 0 R /XYZ 90 711.942 null]
+>> endobj
+8495 0 obj <<
+/D [8491 0 R /XYZ 90 671.355 null]
+>> endobj
+8496 0 obj <<
+/D [8491 0 R /XYZ 90 643.956 null]
+>> endobj
+8497 0 obj <<
+/D [8491 0 R /XYZ 90 617.96 null]
+>> endobj
+8498 0 obj <<
+/D [8491 0 R /XYZ 90 588.512 null]
+>> endobj
+8499 0 obj <<
+/D [8491 0 R /XYZ 90 560.79 null]
+>> endobj
+8500 0 obj <<
+/D [8491 0 R /XYZ 90 533.068 null]
+>> endobj
+8501 0 obj <<
+/D [8491 0 R /XYZ 90 492.158 null]
+>> endobj
+8502 0 obj <<
+/D [8491 0 R /XYZ 90 396.126 null]
+>> endobj
+8503 0 obj <<
+/D [8491 0 R /XYZ 90 368.728 null]
+>> endobj
+8504 0 obj <<
+/D [8491 0 R /XYZ 90 341.005 null]
+>> endobj
+8505 0 obj <<
+/D [8491 0 R /XYZ 90 313.283 null]
+>> endobj
+8506 0 obj <<
+/D [8491 0 R /XYZ 90 285.561 null]
+>> endobj
+8507 0 obj <<
+/D [8491 0 R /XYZ 90 202.395 null]
+>> endobj
+8508 0 obj <<
+/D [8491 0 R /XYZ 90 174.673 null]
+>> endobj
+8509 0 obj <<
+/D [8491 0 R /XYZ 90 91.506 null]
+>> endobj
+8490 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F68 3032 0 R /F110 1507 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8580 0 obj <<
+/Length 1743      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�8~�_�S�Ċ~ �L��.�t�KgrIn��x�	S
>�����$ ���$Nr��CbV�����غ���f�����3+@�G=�bf��N�\���6����	�ۧc��P����b;OW�"���$���\

���a����>Jâ0�gb&����"�X@�r6�t�n��b�A�"� qߊ������,�X�[7Zhn9��5��G�p���zm�|X�稵 �[�D�Y�ѵ��Z>Wv&3s
��ܔעz��
l	efe%
�1�v%P�eR|Ę��eՆ

{x��J��P
���;>R�Y&.���vtWϔ��U�3-��(�$�����{
��G�b�#��(ϊ�%vkg�[��.�Y�����Z|�+-DŽ�Q�A��>-_���a$�4�-�.F �J0̌��Ώ޾5�Ʒ
s)DV��J,�����0��6SC$X��� �Py�
�Q�\�h�MF�0>k8�_�"����
�#��>�<J_&�|@d��?@
P`��"�
�d�SQ�x��(:|H
D�n>d�{��I�(���E�]u���y��2_TUƬ����f
R^�ꘑ8�1w �A|.�<
B�4�^b'
�~N`*Ef��39v\;�wF�!�~Js�Z��5�=��� ��VV,��2���r��3�|�
[�OO��*ր����8��YlL-D'?�P@�.�DŽy9�@(0�"��E�6;������&���\ʬ蚎�u֖r)��na�e���-��΅�{�rgaZt� �ănH�$ I�m��q��,Χō�@7�ō���δc���;�	���EdG�H+�7Iyݥ�@�m�[ueZ��aY/���
�y����_p��A���k��*�X:u����8����
p���^�JZ衾}��
s;��}/�B���e��Vl L˗�<���O{}Y��{�э��i��MN�
����~-gB
ojB�
+��f��b�I�L˩��d?��uno����T_������
1���x	��u�0&>zd��	���G���/~0��#�P5t�
?����G�/��cd����RB{�'�w4

~2���!�Џ��>�6�UE�F	 fZ�0)���p<�S>� ����LH�KG�Dz�s�wR��]?G`�D8��5*;�_�(�eC�]�Aw��Y�AǏ#����'Hȝ�����ǃ��m.��$�ݛ��v�����8�x�`
&���Q"��¬ģ4/�RL;í�[�m
��q9���
m�CU��Y�
V�
P֎t��DA۽�.�
+y�� ���z��r��A��ڠ��ō<;���
+`���q2�
+��\-�0�ï�bFbڌ�}{�KJ���|Y�_h#��uT��{�����6����,N���^g���{=�dI��i�M<���6��=,��\�j��Z��:.J����_������?V5}���Iz�4ի�F�y6飹I��0]g�Έ��N
��SٳJćTp��!n�qu�;2+�g�%�Զ�%�ǹ?��+��*�・_e��[��ڷ��H�G��ې�>	�(�Q},=�C1�A���J[`�T ��=pzzbn�.��E��VN~f��*�_T���#[
잋:'�?[�ݟ�;w�L�MC�&�,���+h��Pd��۔X[G �o��Y���<���k��\�`�����
�������Ga�9����a=�����Y����o��A�|
+endstream
+endobj
+8579 0 obj <<
+/Type /Page
+/Contents 8580 0 R
+/Resources 8578 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8487 0 R 8488 0 R 8520 0 R 8521 0 R 8522 0 R 8523 0 R 8524 0 R 8525 0 R 8526 0 R 8527 0 R 8528 0 R 8529 0 R 8530 0 R 8531 0 R 8532 0 R 8533 0 R 8534 0 R 8535 0 R 8536 0 R 8537 0 R 8538 0 R 8539 0 R 8540 0 R 8541 0 R 8542 0 R 8543 0 R 8544 0 R 8545 0 R 8546 0 R 8547 0 R 8548 0 R 8549 0 R 8550 0 R 8551 0 R 8552 0 R 8553 0 R 8554 0 R 8555 0 R 8556 0 R 8557 0 R 8558 0 R 8559 0 R 8560 0 R 8561 0 R 8562 0 R 8563 0 R 8564 0 R 8565 0 R 8566 0 R 8567 0 R 8568 0 R 8569 0 R 8570 0 R 8571  [...]
+>> endobj
+8487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 694 181.845 704.903]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) >>
+>> endobj
+8488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 664.092 181.845 674.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
+>> endobj
+8520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 634.184 154.727 645.088]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926) >>
+>> endobj
+8521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 604.65 176.505 615.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249) >>
+>> endobj
+8522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 588.65 450.955 598.555]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) >>
+>> endobj
+8523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 563.41 169.013 574.314]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2ef38aca6ca4ade62193017e6e794c94) >>
+>> endobj
+8524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 563.41 214.652 574.314]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 533.502 183.698 544.406]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aec5862748da509cc5dbf2ccd7280a92d) >>
+>> endobj
+8526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.438 533.502 238.89 544.406]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3e575c477cd1ab90e4aaa2997d8163f8) >>
+>> endobj
+8527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 474.92 179.254 485.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 474.92 196.689 485.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.026 474.92 301.275 485.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.929 474.92 380.687 485.824]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.121 474.92 481.099 485.824]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 445.012 179.254 455.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 445.012 194.467 455.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2ca4d826872609fb433f459d805f436a) >>
+>> endobj
+8534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.804 445.012 299.054 455.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.708 445.012 378.465 455.916]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.9 445.012 478.877 455.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.246 415.104 180.069 426.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.382 415.104 203.857 426.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.824 415.104 310.074 426.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.179 415.104 429.114 426.008]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.603 403.149 260.987 414.053]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.611 403.149 332.369 414.053]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.803 403.149 432.781 414.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 373.241 179.254 384.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 373.241 202.228 384.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6d57d53909ab5cabeb63d17394f9617d) >>
+>> endobj
+8546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 373.241 267.801 384.145]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 343.334 179.254 354.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 343.334 202.228 354.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab5a5a3f29a348a7280c00b8742a8222e) >>
+>> endobj
+8549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.565 343.334 306.815 354.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.468 343.334 386.226 354.238]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.834 313.426 178.657 324.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.557 313.426 234.786 324.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.927 313.426 338.177 324.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.87 313.426 455.804 324.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.509 301.471 285.893 312.375]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.517 301.471 357.275 312.375]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.709 301.471 457.687 312.375]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 271.563 179.254 282.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 271.563 235.981 282.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a59d0c508c656bdeee15a1a332a474b00) >>
+>> endobj
+8560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 271.563 301.554 282.467]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 241.655 179.254 252.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 241.655 235.981 252.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abb59cb64a8f7864eac1bb8253d164db0) >>
+>> endobj
+8563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.318 241.655 340.568 252.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.221 241.655 419.979 252.559]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 211.748 203.075 222.652]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 211.748 296.324 222.652]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) >>
+>> endobj
+8567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 196.121 316.216 206.026]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 182.214 194.297 192.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414) >>
+>> endobj
+8569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 152.306 188.759 162.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010) >>
+>> endobj
+8570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 122.025 202.776 132.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.515 122.025 278.601 132.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
+>> endobj
+8572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 92.117 202.776 103.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.515 92.117 312.354 103.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) >>
+>> endobj
+8577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8581 0 obj <<
+/D [8579 0 R /XYZ 89 770.89 null]
+>> endobj
+8582 0 obj <<
+/D [8579 0 R /XYZ 90 712.265 null]
+>> endobj
+8583 0 obj <<
+/D [8579 0 R /XYZ 90 682.358 null]
+>> endobj
+8584 0 obj <<
+/D [8579 0 R /XYZ 90 652.45 null]
+>> endobj
+8585 0 obj <<
+/D [8579 0 R /XYZ 90 622.542 null]
+>> endobj
+8586 0 obj <<
+/D [8579 0 R /XYZ 90 581.676 null]
+>> endobj
+8587 0 obj <<
+/D [8579 0 R /XYZ 90 494.835 null]
+>> endobj
+8588 0 obj <<
+/D [8579 0 R /XYZ 90 391.507 null]
+>> endobj
+8589 0 obj <<
+/D [8579 0 R /XYZ 90 361.6 null]
+>> endobj
+8590 0 obj <<
+/D [8579 0 R /XYZ 90 289.829 null]
+>> endobj
+8591 0 obj <<
+/D [8579 0 R /XYZ 90 259.921 null]
+>> endobj
+8592 0 obj <<
+/D [8579 0 R /XYZ 90 230.014 null]
+>> endobj
+8593 0 obj <<
+/D [8579 0 R /XYZ 90 200.106 null]
+>> endobj
+8594 0 obj <<
+/D [8579 0 R /XYZ 90 171.27 null]
+>> endobj
+8595 0 obj <<
+/D [8579 0 R /XYZ 90 141.362 null]
+>> endobj
+8596 0 obj <<
+/D [8579 0 R /XYZ 90 110.383 null]
+>> endobj
+8578 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F90 758 0 R /F32 764 0 R /F38 3426 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8682 0 obj <<
+/Length 1761      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�/.5���3��v�i긶��d4�ۜH�BR�կ�)Q�H�Vb'�/X,�gϒ �qm`�M�Ag��f��\�Z���p�as	
��ƅIm��8xk0�Aĵ�W�������dp��:G����&l�L�@�c��������F�u��Thjp��:1�;w��#*ԭ�h�@W�2B!�牗��n�R�<�_vms�?�N�ȿ�a��&��������X�3ǀ����?P*J]����،�q6Ga'ZH�=��N8Kŕș�E2���k�l�3�W]�Mo>I����Z��ހ���g�G�NX:�e�ΰ�r8������772�r�e�	6���]i�<����*���@�0�fod #��%�3�QfW)�ka�1a
�H�"��LN�$

�}<Fʆr���!�
q�|�����Sr�%�
�)��"}��q*��R��*�*RK&��7�i��qIo�iޫg8�Q�>��?�dX1f�`���˗u!6r
7�U��0%~��ils��!�w��-����-���<��u���"�Du��X���P|�RP���ߦ�9�������

�{��.���*��o�Y��	�
+��(0r�����Ȣ�n��J
@�*�,*�����i:�km8+]�\��j�SUN��֝
�U����Aw/
�)�����kOօ����ljZ@��o]S�A�&��M��2Ќ�<��}��{S�7f%G�r/k�jF��ζԤh��/v�;�2�[lc��ی1E��nƔ�?Ʋ���f�k�B?H6"

m�b�@�=Y�

���2
++���+��]�<
RT�kLG>�|�D����~jt/�5��`�/�\��Z ~W2��HÍk,�
#� ������ةD8"6ө�*R�nJ%g=�RT�ɮI$g%�td�S�l�y�a��^u0ms�TX+��� >�	���~�:P���ߔ-���T[��[�&y̨|��܎T�d�� ?�j�-qA\����<��J|(��Pb��PB�.��n-���T����\V���2��g�X˨
]i^
׳K�o�.Ֆgs�[b+J��N�t��.]���+��SG��6��S.��a8i��}p� $4���f�{� ��d
�K�
#�D�8�DsY�~J�-�
�Wz#VL�
4U��m�P��2�k
}��_�	�FUʅ�0�Y�%.G|����]O]Ů[;���˙<
f;�`� ����\$�W�ќ{RNgj�23��+r�F����$J�,$
�д�������A��Wh�`i1��B��Ή�`���$���Q�O�B2��ă/ġ��z�
rL��o��*<r<<��{ [...]
�� �����Sj!ky��ն�r������F�M�
.�����X�k	��'�c?�
��W*��C����,=��ﮯ
"(��-(7?6��x	�-
\[��/{��ɭ�A�%�H��-�U�Z
+���X
��?IF�!���I#�%�
��ᵴCG��?
�X���L;O�v�3�l��z�q�i�vȽy���
ji�a��w�hP��;�8M
��
=W�J(U$���n���}������(��i-�ˮt�+�m?w0�Ķiڸz�6�}��?���=eKu=��[*L��Z%fr�-S>zz�.��'�ѯ]!̸�Թ7YR�K��2A� ���ʹ��2�>f��N*�Sr$D��7I2���_ίc\�Q8�d�eg�E�.ث8�:
�S�~ /��rZ�
��
+endstream
+endobj
+8681 0 obj <<
+/Type /Page
+/Contents 8682 0 R
+/Resources 8680 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8384 0 R
+/Annots [ 8574 0 R 8575 0 R 8576 0 R 8602 0 R 8603 0 R 8604 0 R 8605 0 R 8606 0 R 8607 0 R 8608 0 R 8609 0 R 8610 0 R 8611 0 R 8612 0 R 8613 0 R 8614 0 R 8615 0 R 8616 0 R 8617 0 R 8618 0 R 8619 0 R 8620 0 R 8621 0 R 8622 0 R 8623 0 R 8624 0 R 8625 0 R 8626 0 R 8687 0 R 8627 0 R 8628 0 R 8629 0 R 8630 0 R 8631 0 R 8632 0 R 8633 0 R 8634 0 R 8635 0 R 8636 0 R 8637 0 R 8638 0 R 8639 0 R 8640 0 R 8641 0 R 8642 0 R 8643 0 R 8690 0 R 8644 0 R 8645 0 R 8646 0 R 8647 0 R 8648 0 R 8649 0 R 8650  [...]
+>> endobj
+8574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 685.047 222.711 695.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.209 685.047 314.187 695.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.794 685.047 361.329 695.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+8602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 587.169 226.034 598.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74) >>
+>> endobj
+8603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 587.169 362.999 598.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 558.935 156.281 569.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ac39915aa29a5fcedd542ef9441a353a4) >>
+>> endobj
+8605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 558.935 201.92 569.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.131 558.935 261.954 569.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 530.701 155.733 541.605]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.004 530.701 172.94 541.605]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5c96c17c3224a111a56381a75f564896) >>
+>> endobj
+8609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.822 530.701 277.071 541.605]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.315 530.701 356.073 541.605]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.28 530.701 501.627 541.605]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 515.911 411.357 525.816]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 502.467 155.733 513.37]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.23 502.467 170.945 513.37]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2673a95cb7d41f3c6078024874d1f8b1) >>
+>> endobj
+8615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.28 502.467 275.53 513.37]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.182 502.467 354.939 513.37]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.373 502.467 500.72 513.37]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 487.677 409.725 497.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2ca4d826872609fb433f459d805f436a) >>
+>> endobj
+8619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 474.233 155.733 485.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.62 474.233 179.096 485.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a9518a0d513563a1a7c144f35d639695f) >>
+>> endobj
+8621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.212 474.233 284.461 485.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.141 474.233 403.076 485.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.033 462.277 234.417 473.181]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.041 462.277 305.799 473.181]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.233 462.277 451.58 473.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.527 447.487 513.996 457.393]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 436.788 171.671 446.434]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 423.084 155.733 433.988]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 423.084 178.707 433.988]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afed6e254937adbecd53072747e51cb3f) >>
+>> endobj
+8629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.522 423.084 244.28 433.988]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 408.294 309.671 418.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6d57d53909ab5cabeb63d17394f9617d) >>
+>> endobj
+8631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 394.85 155.733 405.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 394.85 178.707 405.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aab2bceb460b09e14922ef0ad8011e74b) >>
+>> endobj
+8633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 394.85 283.293 405.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.947 394.85 362.705 405.754]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 380.06 416.342 389.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab5a5a3f29a348a7280c00b8742a8222e) >>
+>> endobj
+8636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 366.616 155.733 377.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.634 366.616 211.862 377.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a76769b829453746113dd32f9fe880c9d) >>
+>> endobj
+8638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.004 366.616 315.253 377.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.947 366.616 432.881 377.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.603 354.661 260.987 365.565]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.611 354.661 332.369 365.565]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.803 354.661 478.15 365.565]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) >>
+>> endobj
+8643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.385 339.871 513.996 349.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 328.912 201.717 338.818]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 315.468 155.733 326.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 315.468 212.46 326.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab6e741ec611a4779e6b45c4acd821181) >>
+>> endobj
+8646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.275 315.468 278.033 326.372]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 300.678 340.219 310.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a59d0c508c656bdeee15a1a332a474b00) >>
+>> endobj
+8648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 287.234 155.733 298.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 287.234 212.46 298.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5e24c88b976e1972777ddca6f259a30e) >>
+>> endobj
+8650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 287.234 317.047 298.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.7 287.234 396.458 298.138]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 272.444 446.891 282.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abb59cb64a8f7864eac1bb8253d164db0) >>
+>> endobj
+8653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 259 180.54 269.904]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) >>
+>> endobj
+8654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 259 249.7 269.904]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.433 259 333.256 269.904]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 230.766 178.239 241.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) >>
+>> endobj
+8657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 230.766 247.398 241.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.132 230.766 330.954 241.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 190.577 245.522 201.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ac5a61f5b91d0db37a1a2fa6c843a26a8) >>
+>> endobj
+8660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 190.577 325.229 201.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 178.622 155.733 189.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 178.622 239.289 189.526]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 178.622 316.409 189.526]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 138.433 245.522 149.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4f591f8dde74ad99d0fb16a8c7e4a59c) >>
+>> endobj
+8665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 138.433 325.229 149.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 126.478 155.733 137.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 126.478 239.289 137.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 126.478 316.409 137.381]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 86.288 245.522 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a1ad16d1e8a395685314dedffe17fbb8c) >>
+>> endobj
+8670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 86.288 325.229 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 155.733 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.793 74.333 238.616 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.747 74.333 315.303 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8683 0 obj <<
+/D [8681 0 R /XYZ 89 770.89 null]
+>> endobj
+8684 0 obj <<
+/D [8681 0 R /XYZ 90 704.125 null]
+>> endobj
+8685 0 obj <<
+/D [8681 0 R /XYZ 90 633.61 null]
+>> endobj
+8686 0 obj <<
+/D [8681 0 R /XYZ 90 491.662 null]
+>> endobj
+8688 0 obj <<
+/D [8681 0 R /XYZ 90 412.279 null]
+>> endobj
+8689 0 obj <<
+/D [8681 0 R /XYZ 90 384.045 null]
+>> endobj
+8691 0 obj <<
+/D [8681 0 R /XYZ 90 304.663 null]
+>> endobj
+8680 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F110 1507 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8789 0 obj <<
+/Length 1586      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F���)�K
+3�z/�.h�>4�i�n�>%
��6S
+B���{�����v��rv�����ƕ��7���G'�%3\�
+*��K�ņ�]���L��-�1��g����̢،�k5���{�f2y�B{I[cʱ�b�V��;u�b�8�
+g
+�1��&���t�v��|�yD�A� Y8��1
F>ac��1�1���æ
�/���?G8�����7��&l��.Ž!	A�d��:Qy+�k�
����%������s\���^{I�p�d���
+~�r
*��T��;yM�j%qׅF�M����Z*���(��&3�#ᒢЦ�
+G�)��T�B���ou��
+�\f�1Hp���R�{�D��D�� [�^$*X.�De�`�V9*�m�
y���Y�;���Y��
r
�-"����)k��4�唔< �r9�
+^D�"�I[|�Gݻ7#���f�T��Ÿ+/�
:�(��šya
{͙/���o�3j>�}
\@��(��K�Dۻ:UE p�͋�4O��-���&QἬhz-��Ex��t	m��kz[66�fQ�J�9=f�E�۹�9D*.��P�𓛧YW��ʶ�X�C+[-�������/�F#s?NSz�R�au�؈ ;�:m�ʓ2�D��t�PA
�!ۥG�
+	J��W
T=i�"����lD�9� S3�ƑN��F���H!H6��@��v�l�T��=��)
���&
+9�(��H�a�r�S�*r���]@���P'P��V�� J�+e��$��ݽB��CD�G;*D=�����\L}X�b�ɦ�?���� X���Dž��;��0;?�!m��j*�kꠄV(1�%�F6E��
���&�Yn')A
��?�J��
"]�,;�����ue�iՐ��pJU�7�ۚ�
��1��=���‘x43�Z��Z���7�퀖tj
��u��*�މ�r��x��B
-��9��*�O&�*���
�
GѲ
+�ۙ�X�K7�=kk&�9%y5Z����
�LRV ]s%��c�I�_
�?�	�U*����A�Z�S0ӵ
���f �UC?hr_��C���q«�e�`8��F)Ur��]����1�;Q�?�q{W
+���q
t�!$����0�i�pzI�wK��Dc*)�^]Z��z>2�A�i{~��LҪ��~�C�0ʛ��p�M\��&n6뫍�
J��b��r�Y��P�O�(g�l�ֱ�����������l�
�.���l����<�!�U�A3��

u���qgb.L�rw{�����^
8<d��ǭð�3�tȫA��
b=�3�d�o���gRv�7u�sZ�w��jG�V7��߹}�)�wjW� ��4���LJ�
��$����5�5���	E�*���=1�ʐ*w�*�?�I��G?��=b{�
L�q(��i����iv��J�?Z��������>��Gw����Sz� �[�`���{��
۬��ѯ�*^{Z`#��}��$YNNN.�W���B�(إ��.²��e��QŹC~'�t���ϧ
+
9&HZ(b~
a���4-�}�^,n�O��0�eW�U�
��
+endstream
+endobj
+8788 0 obj <<
+/Type /Page
+/Contents 8789 0 R
+/Resources 8787 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8674 0 R 8675 0 R 8676 0 R 8677 0 R 8678 0 R 8703 0 R 8704 0 R 8705 0 R 8706 0 R 8707 0 R 8708 0 R 8709 0 R 8710 0 R 8711 0 R 8712 0 R 8713 0 R 8714 0 R 8715 0 R 8791 0 R 8716 0 R 8717 0 R 8718 0 R 8719 0 R 8720 0 R 8792 0 R 8721 0 R 8722 0 R 8723 0 R 8724 0 R 8725 0 R 8793 0 R 8726 0 R 8727 0 R 8728 0 R 8729 0 R 8730 0 R 8731 0 R 8732 0 R 8733 0 R 8734 0 R 8735 0 R 8736 0 R 8737 0 R 8738 0 R 8739 0 R 8740 0 R 8741 0 R 8742 0 R 8743 0 R 8744 0 R 8745 0 R 8746 0 R 8747 0 R 8748  [...]
+>> endobj
+8674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 682.349 243.605 693.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_abed1f1d1ff610a4d56c514a7b75509ab) >>
+>> endobj
+8675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 682.349 323.607 693.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 670.394 155.733 681.298]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 670.394 239.289 681.298]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 670.394 316.409 681.298]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 629.142 245.522 640.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a4f591f8dde74ad99d0fb16a8c7e4a59c) >>
+>> endobj
+8704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 629.142 325.229 640.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 617.186 155.733 628.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 617.186 239.289 628.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.853 617.186 316.409 628.09]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 575.934 243.605 586.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a475ead5848d02d5c879bb96f22ce1cc5) >>
+>> endobj
+8709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 575.934 323.607 586.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 563.978 155.733 574.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.793 563.978 238.616 574.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.747 563.978 315.303 574.882]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 522.726 239.568 533.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aa19ce1717f502bd8078edf02574f2df2) >>
+>> endobj
+8714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 522.726 317.166 533.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 522.726 513.996 533.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 510.771 139.135 521.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.869 510.771 222.691 521.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.255 510.771 299.812 521.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 469.518 239.568 480.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a37eddcfd7d63573ae2bf02e2f5ed6d50) >>
+>> endobj
+8719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 469.518 317.166 480.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 469.518 513.996 480.422]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 457.563 139.135 468.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.869 457.563 222.691 468.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.255 457.563 299.812 468.467]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 416.31 239.568 427.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad006db44540ea4786f611e882bfe8da5) >>
+>> endobj
+8724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 416.31 317.166 427.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 416.31 513.996 427.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 404.355 139.135 415.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.869 404.355 222.691 415.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.255 404.355 299.812 415.259]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 375.057 226.034 385.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) >>
+>> endobj
+8729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 375.057 388.214 385.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5) >>
+>> endobj
+8730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 345.76 155.733 356.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 345.76 173.167 356.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a95bad70fc4276b46478ff7100cbce347) >>
+>> endobj
+8732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.505 345.76 277.754 356.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.408 345.76 357.165 356.664]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 332.107 155.733 343.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 332.107 170.946 343.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a1b5063a9931b8a9d4a0db756c0b1c9e6) >>
+>> endobj
+8736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.283 332.107 275.533 343.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.186 332.107 354.944 343.011]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 318.455 155.733 329.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.405 318.455 178.881 329.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a43a020d3bbe2b93b7ffa78a1c817b647) >>
+>> endobj
+8740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.566 318.455 283.816 329.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.239 318.455 513.996 329.359]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 292.847 155.733 303.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 292.847 178.707 303.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_afed6e254937adbecd53072747e51cb3f) >>
+>> endobj
+8744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.522 292.847 244.28 303.751]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 279.195 155.733 290.099]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 279.195 178.707 290.099]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_aab2bceb460b09e14922ef0ad8011e74b) >>
+>> endobj
+8747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 279.195 283.293 290.099]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.947 279.195 362.705 290.099]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 265.542 155.733 276.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.259 265.542 212.488 276.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a974166a1fe54f72e254c8f02687084e6) >>
+>> endobj
+8751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.881 265.542 317.131 276.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.896 265.542 513.996 276.446]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 253.961 151.877 264.491]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.934 155.733 250.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 239.934 212.46 250.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ab6e741ec611a4779e6b45c4acd821181) >>
+>> endobj
+8755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.275 239.934 278.033 250.838]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 226.282 155.733 237.186]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.231 226.282 212.46 237.186]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a5e24c88b976e1972777ddca6f259a30e) >>
+>> endobj
+8758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 226.282 317.047 237.186]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.7 226.282 396.458 237.186]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+8760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 212.629 180.54 223.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) >>
+>> endobj
+8761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 212.629 249.7 223.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.433 212.629 333.256 223.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 198.977 178.239 209.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) >>
+>> endobj
+8764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 198.977 247.398 209.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.132 198.977 330.954 209.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 173.369 245.522 184.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af4f9b4584e455154e3f201876af1848f) >>
+>> endobj
+8767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 173.369 325.229 184.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 161.414 155.733 172.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.606 161.414 243.428 172.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.653 161.414 348.21 172.318]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 123.851 245.522 134.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a855eb1638a9b23f78fac816e8c9f7a05) >>
+>> endobj
+8772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 123.851 325.229 134.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.896 155.733 122.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 111.896 239.289 122.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.375 111.896 339.931 122.8]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 86.288 245.522 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a78d14a45bade2c29f565fe13390ab13c) >>
+>> endobj
+8777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 86.288 325.229 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 155.733 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 74.333 239.289 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.375 74.333 339.931 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8790 0 obj <<
+/D [8788 0 R /XYZ 89 770.89 null]
+>> endobj
+8787 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F67 3037 0 R /F42 531 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8842 0 obj <<
+/Length 2732      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s۸�_��
5! @��L���^��M��Cr�%�b#�
+I���] ��h��}47�����v���rB'���rz���'��$N&�C'J"x[L�G�J�?��8�&�$0�u�����7��p����ѧ#Ct�<I����G���t�8��=�rD뉈9<W�wG�:�Aڗ)�=�M��z�#�y>ıt�7��
E��
�h"�H[��f��'<���
]���!���pJ�Ԫ�t��y���Y,it:U4����h#
3J	Ӽa�}�r����LC�#��</�U�9껼
���h�~&8��v��6��YU��ܞ�U�]���T��E�K;�8e���ٛ��ܖ;J{t�TEž6{��	�����	���_j�/څ�N�U6�2]{>���'��7\�r*��p�y�W�M��qi�b��W6�eZ����w_�1h� c�U�0��&2�+3
�-��"�/�^d��Y�mֺ�E�n�z������
�8@�jA�\�
W�y���B< ���'b�[�Fv���- C�Ì�ޑ�!��8 �8}Sh�*�C�p(J���b8��2�'��iG�iG�!���
fh�:����yV_߆(��u�H��C�2$�
�b�P1�vH���Z@�J��*j�~�j�1Q�N��Bp��V< ���BF-���L
���F|�9/�j���F��H� ���q���
w�enW����y���	6�@R}��`�lqX��
+�%݌�p��n���.���
���
S^�B��(
l�(���
r
�^�:�Vvv�5�U�2��Y��G��/�@a at 8��7�*�m�o����)���M؏w�UQmK�'��"I
d}��i�����E��K��h�
��U�qnoX�X��i,�+pȧC
��cI(�].�b �
�ڸ��$�G�
��ɟ��ҭ��O�SO���Q\㸄�����0A�1.\eңy^���)>�P���L���ÌC�`�<��
� &n����	D�VCl_C�78r�D+�	K���o(A�
ճ�`���\�{�
�1fzJ�i�^�oL�J���ߒ陼�}
3>���f��J
�}_�L��M�����hP�S�ZcF�1I���Yb
u&
�;*>�APW��/��
�P&���7M4�����S�;�&W
v�o��ŝ������������T���Ⱦ%(A
<r�A,��ݮAHzƈ:�)8�6�C=�]Dt�tx3䯀����s�(����@1�ߩ"Zǿ;(�!"� 
��A��!��rW��Ơ�w �(��H�����I����C���t����SrH�A��+X��!����#V���ֽ�u�(��aS��%�"[ۼ�:}�d�6�<4�|�c�
�v�&\V��$��$����G��#Z|Ţ#[��@���%������ �
>�pt
�a��
R����-�:xֶ\gy�*.ݙeg��lMQ���Ц�x��pV�l���T=�3R��3Lw�=���ݔ��y�"m���?�a���+rǟ/��I��^�E��]KP�ް2J��<�l��I�@�e�˅-���w�(�l�(.�h�5x����
�����&�͛'c�� ��b[����
�����@���몶둵D���վ�"b�O#&>PXK��a�C
~;��&&��|ݔ��#5*"ƺ ����}
+4h��FW�o4�ީT����Wۅm^v�n��pe�m���^��`��ݸu�t���
+�Eh���[CBN�"�MK�6$�˴���&�����8s(o�hQ�q�PŶ	��[���
Tpb�!9Q��	2�q���exVY�u���8j��5�.
�uQ�O[#xC@�����(?z�PV/�|�ܡp��͛c�㴅`�_}��FV�'
+�YTOY�ڥM+'4�_-�xU��6�,텋
+�v��m��!�9����G~̆ST�{+0,y�Uv^�e挲�t$��D�scU�'S��
N�"��-�
d
���s��V�,�0���X$�W������|9�	�݅�oa��g/�	n���
o0A�:�^�g�٬���8n��l^��X6��U�]��g$��E=8�&��-Z4t�W�-A�5�
Z�lT���6�wf�;:
� S�l�r��
jT�Xwn�Ctvc�����{��\�)>��PZ�.ѱV�`�!��M�w��)��^de(�k�΄�pE
d��S6����n�����<
�E

+
+�$
+=L�&c:ZX�A|�1QZ
���L=�HMX�G��8�h
+�CMaH�I���D�!9��5�
T�Z���{S���+�V�b�`
C�rY�
$+��5�#���G�>a�.`k_D���
�j�_<;H��0�����*�T�@���
 ��K
�\؃w���va
�R]��Q��A�I��]�+O\�
LG�z�����Axm�mϼ��{��^Ɏ�b������zݔä�H����~Ŵ�ҟ\ ;�S-4�_�������Q1��%�e��
z\uԟ�)
���l��zZ����Ş�^y7w��޷~��g"]m}š%�pw�ڳq{����ig����6L%��Ob�b~׿��&
+E�q�Q� 7R�"b7�o��fN�x�5��(�Y�n�f
�������� ��A�?T7���׾�o81=�3^��?�|���|d
��;�2BT���YT���؊��#�{�H��sYכ�O��o/!
_����^�dc�\�5f(��t9t�]�g��(��y
+endstream
+endobj
+8841 0 obj <<
+/Type /Page
+/Contents 8842 0 R
+/Resources 8840 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8781 0 R 8782 0 R 8783 0 R 8784 0 R 8785 0 R 8809 0 R 8810 0 R 8811 0 R 8812 0 R 8813 0 R 8814 0 R 8815 0 R 8816 0 R 8817 0 R 8818 0 R 8819 0 R 8820 0 R 8821 0 R 8844 0 R 8822 0 R 8823 0 R 8824 0 R 8825 0 R 8826 0 R 8845 0 R 8827 0 R 8828 0 R 8829 0 R 8830 0 R 8831 0 R 8846 0 R 8832 0 R 8833 0 R 8834 0 R 8835 0 R 8836 0 R 8837 0 R 8838 0 R 8839 0 R ]
+>> endobj
+8781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 696.002 243.605 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a787318df4682a2571d9cad8fc37c8fd6) >>
+>> endobj
+8782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 696.002 323.607 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 155.733 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.606 684.047 243.428 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.653 684.047 348.21 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 647.696 243.605 658.6]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ad7576379843ab0fb9a33484bd4d68e71) >>
+>> endobj
+8810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 647.696 323.607 658.6]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 635.74 155.733 646.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 635.74 239.289 646.644]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.375 635.74 339.931 646.644]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 611.344 243.605 622.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a42b10b56cb7a582076a2d279ae07cf85) >>
+>> endobj
+8815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 611.344 323.607 622.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 599.389 155.733 610.293]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 599.389 239.289 610.293]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.375 599.389 339.931 610.293]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 574.993 239.568 585.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a39da685d64f5bc693cfe8869ee4fe9bc) >>
+>> endobj
+8820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 574.993 317.166 585.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 574.993 513.996 585.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 563.038 139.135 573.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.736 563.038 222.559 573.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.512 563.038 323.068 573.942]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 538.642 239.568 549.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a137b1f86858576e71034aec1ce54fd65) >>
+>> endobj
+8825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 538.642 317.166 549.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 538.642 513.996 549.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 526.687 139.135 537.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.869 526.687 222.691 537.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.777 526.687 323.333 537.591]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 502.291 239.568 513.195]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ac240ffbfd08a91635aada843229f6814) >>
+>> endobj
+8830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 502.291 317.166 513.195]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+8831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 502.291 513.996 513.195]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 490.336 139.135 501.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.869 490.336 222.691 501.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.777 490.336 323.333 501.24]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+8834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 477.895 156.281 488.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ac39915aa29a5fcedd542ef9441a353a4) >>
+>> endobj
+8835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 477.895 201.92 488.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.131 477.895 261.954 488.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 404.186 219.642 415.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.41 235.422 353.665 266.933]
+/A << /S /GoTo /D (index_representation) >>
+>> endobj
+8839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8843 0 obj <<
+/D [8841 0 R /XYZ 89 770.89 null]
+>> endobj
+8847 0 obj <<
+/D [8841 0 R /XYZ 90 464.78 null]
+>> endobj
+8840 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F90 758 0 R /F101 862 0 R /F8 794 0 R /F7 795 0 R /F10 765 0 R /F13 834 0 R /F6 861 0 R /F9 879 0 R /F12 939 0 R /F24 529 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8883 0 obj <<
+/Length 2094      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�Tk���L
�6��:i��%�x(��9�H��b+_�] ����8q;��(`��g�^(�]y�{}�����^L␇��ҋ������-��>�$P�)���o&��I�J.�L8��|{�.����lV%����uZ�UҔ�d�%��˓�6�o�eZMX��<u"�ϕ��u���ˋ�N,�z�,@y���������=JD
y7Zh�\�g�;��ڽt��K�ď�{�z�!��QE���������,;�ss�\��bY�y9�ҿɊ+3�N��o��:O�n��~��p
�U�hU%v��I�,��p`
�[�
>
�^ԭq/I�T+p:�# q�[��xD�I���B���^%�=�E�'��h7���#�ϵ��6ҏag"B�S
����2��&��
�d4o���R�Ǟ�JP3U�`Lt���(я(�;�;{��b�� �)��F�K�?�|v`�.*#�h
J(��(����ra'g蚛,_��3yVX������ɪt�dea,ʘ���
����S�� X����+1��@I �#��ী�x�z{�	
Ň��u2o���Ң�v
�7΂�����
�����ʒ��}P�@q0��ϾN�cn0���
��Rhg�nQ|k�Zp�}�>��4""D2`H��oV�3�����_�Y�,����0&b�s gQ7I��&�V�\�#�����dXu]���������Rp*.-�
�L%�S6��6p����XJ���
]�Lձ~���U�D
K�O4�=������7��cP ����b�P|�X8

ZYeW�
�hj�Dw��FIm�eY�u9���Qd�\W6�X�E?d��5��3R~qCj^�"A�(��n#��z< ,
+����Cc�f�����x��V�l�Ak�'wq��3:�]�k��|aO��( �����΁_3�iN	Y:��� KUf��s��\�����<[n�A<1��V�Ǝ����}��d�ly�
y��V����?#�$���;��e��*��/�T��M9��8\�U�z0���k�i��̎��'�1�}��
�m28ꤓA@��j��~�k�A;�
ԩH��%���vس}e	x����±c�
+��E��G��#3[+_���C����F
+X���`�����R����� ��'���)N�B< KY�m
<���LtSP�7�nN�b#@8���{�ν��{�A�0�2II(�K�w%�֣Z^��$1k��+�g�M6�����'JJi��+0��.m6nv�!`,dN��.[eyR��I(�9�V;tĉ2�����+\��O�x��
dM�
VRșRۊ+�
h/� I�}W�ؚ2
+t}<��U��@f��1+	??�Y�w/���q�B�c]�Gu��]&y�Y��Ǻ9:��H�
8�r��ײi�m?��a���j����&w�?Z�xC�-,-Wi�����w�
�!��'	�IB:J��_����II����4n�I=u{h�K1�E�
�~cc�-��nL�-��jVb��s-�̸i/�-`D�m��~�l��v
H=�1��V	`y�6(o���(���
p�A��’��C���" ��8*�碔_�P.̠�0�����b//�I��_�wM�n8i�
� Z���|��-]mVڃQN��Q�)z�n����(��"��4�{(����8�8"a�]۔��Lr�4���(/���#�.��#��B���
���b��cV��P��4!W#�s�f���BBa�`G-���
�iA��6�������0cN
���dQ���Aš�]���Q�^�q�/04�K�C:Ķ��ݠ�
+ޤ�$�?�n`��ue���:i;��t������|�E�j�$�T�9?��
vx����^���W`��N�"��JV���
�X�HFOWy����
Vh���p߱�?9��8�����L
���"�ݚ�͛����uZ}5�ҷ�/I�I��@m�Zw�DF4A< �wi��7���k�~2`�-�Il�u]��Y����6WuZ\�y�rb��XS����UYu�o\%����E{��2 %ޞ
�?���)�c��޵�lo�g?���}	��5ƿ�E=_
+endstream
+endobj
+8882 0 obj <<
+/Type /Page
+/Contents 8883 0 R
+/Resources 8881 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8854 0 R 8855 0 R 8856 0 R 8857 0 R 8858 0 R 8859 0 R 8860 0 R 8861 0 R 8862 0 R 8863 0 R 8864 0 R 8865 0 R 8866 0 R 8867 0 R 8868 0 R 8869 0 R 8870 0 R 8871 0 R 8872 0 R 8873 0 R 8874 0 R 8875 0 R 8876 0 R 8877 0 R 8880 0 R ]
+>> endobj
+8854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 605.331 154.737 612.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 605.331 192.396 612.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 553.943 154.737 561.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 553.943 192.396 561.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 514.816 154.737 522.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 514.816 192.396 522.035]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 452.435 154.737 459.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 452.435 188.212 459.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2ca4d826872609fb433f459d805f436a) >>
+>> endobj
+8862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 355.307 154.737 362.833]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 355.307 196.58 362.833]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 315.873 154.737 323.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 315.873 196.58 323.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 276.44 154.737 283.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 276.44 221.686 283.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 268.47 154.737 275.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.509 268.47 238.423 275.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 229.036 154.737 236.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 229.036 221.686 236.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 165.692 154.737 173.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 165.692 305.372 173.218]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
+>> endobj
+8874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 149.752 154.737 157.278]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.509 149.752 238.423 157.278]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 75.416 154.737 82.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 75.416 196.58 82.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8884 0 obj <<
+/D [8882 0 R /XYZ 89 770.89 null]
+>> endobj
+8881 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F11 613 0 R /F24 529 0 R /F8 794 0 R /F101 862 0 R /F7 795 0 R /F32 764 0 R /F98 863 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8902 0 obj <<
+/Length 2875      
+/Filter /FlateDecode
+>>
+stream
+xڵZ�s�6�_���I��A���̵M���6���
Ҏ��(�S�TH*�ss��-� 	��,'�'��b� ��
��*��˓��ON_�"HH�(8_	
�0!2��U�n�c5����@D��$�Q���_9���[�w�����	�.0d I������4XA�O%"Q�GC�
B.�	ޞ�ㄺ�Dԑ�ј�L1c�1����9��y��77�H�
�<Nf�u�_�l�Ϲ&��J7��eZ`ϥ����z��Ѧ;��>�6e�d+$hJ|ֻl��o�cW�ES��t�)�Q\Y�rkye� :��*��N%��#�
RUi��
��4X��)qyE�jd"�-˲Z�E�d5�/����Yt�E=g�&-��ބ��M
+����`��[Q�C�
�{�Q�"R�m�S-�2
@J
��B8T���N)
��
���Y�\�B����٘'q��#oa�[��c!	�j���J��P���%3
+bh� "I,���Q HĬ*�O��M��¡���� v���x�
�tg����nD��Lh����VI�y��pcw��;�dzu�ٔڜ?jS���pX�g5�r��m�I��>����鷗��Io�D� 7��H ��Y������
�w��R��xj���-Ug�pcE
fT8H"
����մ���0�[?�t��C��
+�$�FӃ�3���Y?X�=��#
ƨַ�G�`QLD�g`�
+ǽZ��I:K��9�J|�
34�5>w at a|�*[=��
|�s^f;�?���P5
+�<��W�Ч��"+S�w؅N����n�U�+�0#5��
%�*�����W�I���Ӷ�Wwh�
|��k�Ԅ�0�}�3��L����L3(Z8�#��#
�x�A7�b�™�j ���eQ7�~i�~���b��@�!��C�D`d�d��e�m���"#a"Z��
+!J���4MXɎ���]�8:�z��/��Q�8:���3�F��|��"'
+�Z��=���(?jU��V�>�����;��)I��αoz���o��*��]h�Ԏu��V��.��|�ߤ�c�ֶ�\{��ٙ���X(	$�-&�M��d��ޥKK�ʷYQ[���#�
1�F�)��D#j|��f,��R�z���7?F�>�U~��(
����=��}�8��,"1 �E
B��X�1tj��x�}Vq�n���&W�c�)�	�D���G� KM
Om�H���f��<"�&6*��
��:�6��ųm�\��?0�‹
2��HO��6/,i���N:l-V.}S�fE�gcgF��$�F��>/�e��X����
�p�7V at 4���ۙ�
�8B�כ]֢�� �~���n���\������e��c
�3@���/DS�zAB�A M̀}쬯�����}y��y�߻���ˍ
��^���eV[�,]^ck
s���
�f���~��"�
0��La���Y�H��Wl*&�D�>����~T��p5���+��
ӻ͝�]N� AT
�4�uH�!!]h�
�R!xg���\�
���#�G�>
cc�bDg6p3!�,
�’	�
���j�+7d]=xc��Ηx����s��b*�2`mɉ��,��cD#��]��V7{��8 ]�!�+>!�ܩ��%갖,��q��e�w(K��'�Qy
x�w�r�<T��rHo��NX4ǘX>f"Iv���v��-��Y$
L
����
�I���_�i,���IIo������z���%+2�J!���� ���H�Xȉd�O�����zr�H^#>k�bxM�,����[���I������6����G�߼��߯��|3%�Ts�;+V��-v�z
H*�.��U\Ma�-�<�{>��4�m�i�����उ�y��횈�`��
#�b�/�l�h�[E3�\�3�(>�i�厝RW�m%��	$���
rj(��
�<��Vy
+����4Ťàl�(�#
r�$"$Y�&)�
$'�
u��M�е
O��WDW��K�v)GY��:#���=M!��]~87П�g�o�gQZ���/��Nt+��v�^��~������u[V쒚�j����⿴��U��*���e!�գ���+L�]c��^m���^k
+#J���G�˦�\�76�,/�4/'1��
ݾ�훳[򼻮Z�B��ڷ�L��Tw_W�����n��#8}��ﴫ�� ��z.����ߟ,k=�V�_��J���$�;ؚ�~ɄP����������U�:B7�͵~�r�����s�A�!$Gi�o����&�bj9�ƼXc1R��Ȱ�	�����A�b�����)'�/6����B�ќF�D�[W8�djRF�+8)`�Yڔ

�����\̀u[j/_��{�|��P��_8�����O�5��}][M�(Ƨ�yk搜Y
}��3Ǡ3O�.6���cq�An0�9�^��W��C5������C���k�v�o)a��u��7av��c˙aG��p=�c���vᐕ&��.�?o�	��ܰ��`?�lbV�ɇ�U��b0��n�L�I��>��K�yt�}T��I
b�Bp����}
L�=̬\�5f}U\��rb�x����Ǖ����;i�o‭�$��y���l�;��F��|ޘ��j�^�1Wě��lU���� [...]
+�b�ss��
���
g������E�ӹ8��9g x1��~.��8��}7���p�j+�J`ֳ[ �Eϰ�3O�Ik׬
N��p薦?h��߼y�/����/�"n���i�7�46v؋�����s��'��Y�(ן��Gh�����}��ivg�����:+� qގն�$���U#̶l�'��������#a�
+endstream
+endobj
+8901 0 obj <<
+/Type /Page
+/Contents 8902 0 R
+/Resources 8900 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8878 0 R 8879 0 R 8885 0 R 8886 0 R 8887 0 R 8888 0 R 8889 0 R 8890 0 R 8891 0 R 8892 0 R 8893 0 R 8894 0 R 8895 0 R 8896 0 R 8897 0 R 8898 0 R 8899 0 R ]
+>> endobj
+8878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 667.367 154.737 674.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 667.367 196.58 674.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 570.123 154.737 577.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 570.123 230.055 577.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 518.658 154.737 526.184]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.246 518.658 372.321 526.184]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) >>
+>> endobj
+8889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 502.717 154.737 510.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.984 502.717 305.372 510.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.376 334.507 204.949 342.033]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+8892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.454 318.566 163.106 326.093]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.219 318.566 242.607 326.093]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) >>
+>> endobj
+8894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 247.176 154.737 254.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) >>
+>> endobj
+8895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.85 247.176 200.764 254.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.56 199.695 171.474 207.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) >>
+>> endobj
+8897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.448 74.333 237.536 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a3e575c477cd1ab90e4aaa2997d8163f8) >>
+>> endobj
+8898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.47 74.333 515.72 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+8899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8903 0 obj <<
+/D [8901 0 R /XYZ 89 770.89 null]
+>> endobj
+8904 0 obj <<
+/D [8901 0 R /XYZ 90 151.366 null]
+>> endobj
+8441 0 obj <<
+/D [8901 0 R /XYZ 90 127.076 null]
+>> endobj
+8905 0 obj <<
+/D [8901 0 R /XYZ 90 127.076 null]
+>> endobj
+8900 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F101 862 0 R /F8 794 0 R /F24 529 0 R /F11 613 0 R /F7 795 0 R /F32 764 0 R /F75 554 0 R /F90 758 0 R /F10 765 0 R /F13 834 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8913 0 obj <<
+/Length 2177      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W𔥪F0�U�q<�I����
�&S.Z�e�J�CJ3���� ��)J�4��ݓ$l|���� ~�p7�x�X`��Tw�����		���ǐ`��xB0��͘�0�V��͘�0]~}��Yt�<dQ�u:�)^�Y�I��
+
^.�<w_o��8
��Y
昡&�ʌ?��<���9" �H�`�}���94�
`��V�
>����?F������𞁭�g� B�!�]�5^=�6���z����z��k��c:����5Y���Bӄrĸi���'v���N�F�rx�x��PO�wc�ï�q
��[�t~�̓3�`��{���,��ch��N`'#��@�x�1�m[�ϋ��І9���&��'fԙ�~��Ր{� �X�]~%>#��L�
7�P&�k����?��P��8H}
K���,7�ܼ���`X2X��9M֛}qq�
_P���?�~{u���H3u$��2ͷY��`f,���1��2j�$�/��t�o��̍
���/���|� ��yQ�/����4�  �
�EF��_r
�1�
S���S&:6y	�b
+4���b�0Qm���
�)��p@����'\�pf���-� 4������k
��T%���A Y##����
"���I4!W��1Y[~�4Hʌc���
+k���l����}ާ�v)�~��*,c CẄ��9��*K���ѓz�i
���x`vֳ���[�ߏE�V at +���/�r�l=�
�y���"_����ץ�f��5�$<��3Ԍ5E(?�f� ����Cj���f��P?ZX3��=5�tU�7}�Ѣ�}�y�CZ�o�V�Z�Pm���d�d���s4��&^!e ��c��=0
+�����ޞ�����g�	�`�U�u�Ҫ}h�P��'��"�%�yL��ş.lſU�.8�.��
���]��촟.��n�(pt�
��.�� Ť
����Q,�I
�G׿ݮg�R�Z�ska�'�!A?�ڤd����v��I`<�$9�j fք5%$=�퀚8#g��ⴍ`��
+�<GJ��t7��FDkZ��
�������4���w�h�
��󨩊�ncq�G|XF�Ĵ�ӷq	��u�!$���4}�~�Ϯ�TN���h��ܻ�j�%
v
��T&2���
lI��x���yG+�9mh�y�ųp
�F�
��a/����_	?/�
�ٺ�k?[(���
�ٷ��
��W��‹#�s�Q���6�BM �\(��8�Y�6K�tM��&�v;�eo$��dž��<�D�̚�Ă�u�`3�N�����s�L���L�������cB(DN��szZ�6������$I5�j�� DY�ӻ�,-`/瓮�JW��:�[__�Q��ʪ��8C�b�WG�z7Ti�n��Y�Hv�1��U��B����I��O��j��,}�
+<��ޓJ
+��u[r�C$�!�JM�
���:Yr���P�!�Y X�yӂ�Ks �b��9�d��
̏~��|�V���dl۔�����&;����{�z�� 6f��P��
v7�hq��=�� ������
lƒh
K(9��h�<Ex�P��ل�9=-�G��W
+����{�����Z�]=�y+��{���9�`y�����x���xէ�p[�
�;`�?
�
 �
a��(n� }Yu�!�n�� \� �: 1��;0o����^�!RL��m{�L��vo�}� \�x���s`���|��B����4~�Xr��
ݚf�DP�h@�t~ow��Y"�o�6Y�l�鴚��肂�;��r̮��ѳ�q��8+^��$P�%�,i��2,�J��>]�=�)҂�z:��d2�����%q�۷M�谾i,����$_��u�
rg�6`���V	�'�t��c�B-�=I�!Z���
�[,�`Z#�d���
+(
�BwG���Rh�s�]�ƶ��K2���;�H���k�l�R�����m	�kpc��f���P,��n��"���aѕX���6Hئ�c6_�*դ��J�U�U
Fw^𸹹v_~���o���'��z�e
ى�,������C\���@�+(��2*2��B����i�y�^\<lP�
4KW/K�����d~,%�*-_CI�и*��^�J�)i	� �0��7�G�{�g��o�x�b��)��o��lS�
+endstream
+endobj
+8912 0 obj <<
+/Type /Page
+/Contents 8913 0 R
+/Resources 8911 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8906 0 R 8907 0 R 8908 0 R 8909 0 R 8910 0 R ]
+>> endobj
+8906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.275 491.078 362.097 501.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.007 434.908 444.83 445.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+8908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 74.333 422.655 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 74.333 511.506 85.237]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8914 0 obj <<
+/D [8912 0 R /XYZ 89 770.89 null]
+>> endobj
+8915 0 obj <<
+/D [8912 0 R /XYZ 90 721.073 null]
+>> endobj
+8436 0 obj <<
+/D [8912 0 R /XYZ 90 704.201 null]
+>> endobj
+8916 0 obj <<
+/D [8912 0 R /XYZ 90 704.201 null]
+>> endobj
+8437 0 obj <<
+/D [8912 0 R /XYZ 107.713 620.703 null]
+>> endobj
+8438 0 obj <<
+/D [8912 0 R /XYZ 107.713 604.763 null]
+>> endobj
+8439 0 obj <<
+/D [8912 0 R /XYZ 107.713 588.823 null]
+>> endobj
+8440 0 obj <<
+/D [8912 0 R /XYZ 107.713 572.882 null]
+>> endobj
+8917 0 obj <<
+/D [8912 0 R /XYZ 90 556.155 null]
+>> endobj
+8510 0 obj <<
+/D [8912 0 R /XYZ 90 533.779 null]
+>> endobj
+8918 0 obj <<
+/D [8912 0 R /XYZ 90 533.779 null]
+>> endobj
+8511 0 obj <<
+/D [8912 0 R /XYZ 452.457 494.231 null]
+>> endobj
+8919 0 obj <<
+/D [8912 0 R /XYZ 90 487.591 null]
+>> endobj
+8920 0 obj <<
+/D [8912 0 R /XYZ 90 409.379 null]
+>> endobj
+8598 0 obj <<
+/D [8912 0 R /XYZ 90 387.002 null]
+>> endobj
+8921 0 obj <<
+/D [8912 0 R /XYZ 90 387.002 null]
+>> endobj
+8922 0 obj <<
+/D [8912 0 R /XYZ 90 316.326 null]
+>> endobj
+8599 0 obj <<
+/D [8912 0 R /XYZ 90 281.656 null]
+>> endobj
+8923 0 obj <<
+/D [8912 0 R /XYZ 90 277.173 null]
+>> endobj
+8924 0 obj <<
+/D [8912 0 R /XYZ 90 204.31 null]
+>> endobj
+8600 0 obj <<
+/D [8912 0 R /XYZ 90 163.236 null]
+>> endobj
+8925 0 obj <<
+/D [8912 0 R /XYZ 90 158.753 null]
+>> endobj
+8911 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F112 1773 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8931 0 obj <<
+/Length 2907      
+/Filter /FlateDecode
+>>
+stream
+x��[�s����J3o��c�I/7I��z�����CK�ũ$:m���w� EP�d[L's��C�bw���p8�Mp���뫋7�*��(�T&W�$ʼn�)�ɧ	�x�����I�H*�+����~�z���G���۫�_.����t2�\|�����>���:y��6	�
�����?/p��{��qsV��.��Ŕ��Ô�I�~�J1A���
FT�[sy�.�F)1�aA
ٷ_��]]��]Hg�
yC�/�T��V��@�.�_�$,c�H)�

�
�	J��%p%}��I��pD�h�Ty��/v�5<B(�̐I%~mv����N9�<d�bq�US�&���|[��Z�9Ҙ�*)ȃ0�}Q�HuL���)Y(�ժ*�a?n�3*�X��9E�CN������ֈ[S�����߼*�qm	��s�b؂�$�F��shv���at$c��H0�
+�t���Ifu1���5` H�i��w�6������`
+�GY��倫O�j�
b)e�WX[��8*.E�N[aŢ@B�*�����I��2yZ�*Ƃb�F5
+
J"$~(n*pꙞ<]^�J����_���*?d�i���c0ŴDJ����� x��TO~�Og"��9D�:���b)����
/�6Ϫ�_�)ѓ|���

Ҵ��߻�u}��vDl1<�s�bV�
e����<�t!�n�󆀑
�H�%/��UD.��l|S�˟8�E��rr
��DR�8&�,'hńYR{l����w`S�
+��������E
+A���W�r�&y�o�yL� ��=�.�I��"��dD���6�,-����+�
(���CޘL�խ��D%|�ڰ�N���0E<m�\���~]_���'�@����
���|rx�9��zAu�(�
z�����j�Cl�����c�}hpn�:�
+�<�x��֧�DhD屌@�T�f���|;�p� �s���e���K��?�b�0ȶ���I,�'.$m�̬)��61����kc.��}eޥ��bJ@�n8̔���h܋�Re����퍿W���?��H>�q
�� e�u��8�'�t���K3}���%3�A�<���~�#(������~�����Ԩ�O��9�� �zK2Z�3��M�����O �o��y���M���$_���<Y�p�N˰���y0uJY,
�
�Z��� �R�X��OMl\{N�[K5
 �;ɐ���e�G�K�y*Fa�A M����e�X��1RX�2-gH��i`��j�A�B�0�`EmQ�~r]?�Esa�is���V�0�J����	
��%�%���k}"��1%8 at X
~*�k�0�'��C�>���Ïy�O0�j��r��ݥs�y��N��
+�N��c
��J'����p���p�*v$�$�TQ͠x�	�4
���Uz��JD��o���R
������z�e�c�MY����S8� ��l3U�!��K`�$��,@Ƀ�o���U��4f��S;���>(�B���Lh$�8�J�*�ᴭ[�]���j��L����OSS���:�]��XOC����z��W�S~@�Ŷ��]�.X	�{�Ay�	�
h0 �͊[�𘓭�=p1�Ha
+�|�C#�ɲ*7�on�N��E
pT�Wv(���*���_,���n������}�X�2�;hUܮ�]}�x��ս�#�
EY5�uB�
��}3׍�(�ϛ���e�U�i/`��5?��H�ϭ+��c�>H� ȦpS��	��*&~�eom�F�d�-�&�v���:�wE<�T�m-�W�P�8?*{r����o���%��{eJ~?�|�mo
Mx��=O�ۦ�b��rݚ^G�VgV���^�ު+��9�88=��6��z�0(WT'j����`��bg�1�N}j2
9Iچɺ��O��gEH���4 �&B��l��SQ�AR�0\�<7L2e)��(	�<&Hb��CA�.�6Ƣ��h��,l
��� f05%!�1δj{N�iH ��Q2e>Jڗ�w��RP�/�k���}n�8硫v#l�.�6�{��v�aqO�웭s�J|����L
GR�gG]B��
���`C`?��0���� {������
lEf��f��LN��/�B��4?�� `c�o��N�v
)�@���
���,a��X���U^�󧹳�amI��y��H��bD����Iɰx��*7
q��h�o2w�۳�y�h���*����ۧ�����e�h��@
��U1_��m�n��ς�� ��%|�w7yR����������^����܈��Z��cUD�
�ڧߑ]�t�ô��tڍ�~�5.Rk<f��c<
��
M�7�EE�\}kH�i��<|�6w�&�jѲK��	2�Qы;�H�	� _���+Ŵ�t�v��S!���1�t��E&ڗϚ�F96���A�DʐAbZb4F���=�{6������3p(�6�H
+ƴ��<���;RSw�<�h�A>VgŶm��b)�ī�ߦ�_�@��S!�~���
+IVHZ����cc�.��[!)�[C�p���s1
�F⌇,
�etG�)>;
�(�,dgpGD"E�(��)B�i�\
lbhKD�w�X�p�t�����T��
����-���-m􎝨I'^x��9{
rO�
�i6;���+n��p
s������㴸9÷+j�@�%�v��䥻v���	�g>+��ߺ:J��i,*�wwV4~fGw�G�@�f;U0I��C���C�x�Q�v�c
Ũ��6��ǔ|x�h�<8
O��=�t>4���#��T�((�_����|�_��n��@lOn�f{�Mr�A<��5'���NT�����_����)�}	�l{��f��z����	��~|��1�E�g�?-���
���
	�U�����͛��[�nѼ�
�����coH�&7ؔ��b
/76
�-%,�� �ԛb
+endstream
+endobj
+8930 0 obj <<
+/Type /Page
+/Contents 8931 0 R
+/Resources 8929 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8795 0 R
+/Annots [ 8926 0 R 8927 0 R 8928 0 R ]
+>> endobj
+8926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 566.361 422.655 577.265]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+8927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 566.361 511.506 577.265]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+8928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8932 0 obj <<
+/D [8930 0 R /XYZ 89 770.89 null]
+>> endobj
+8933 0 obj <<
+/D [8930 0 R /XYZ 90 689.934 null]
+>> endobj
+8601 0 obj <<
+/D [8930 0 R /XYZ 90 655.264 null]
+>> endobj
+8934 0 obj <<
+/D [8930 0 R /XYZ 90 650.781 null]
+>> endobj
+8935 0 obj <<
+/D [8930 0 R /XYZ 90 536.384 null]
+>> endobj
+8512 0 obj <<
+/D [8930 0 R /XYZ 90 501.714 null]
+>> endobj
+8936 0 obj <<
+/D [8930 0 R /XYZ 90 497.23 null]
+>> endobj
+8513 0 obj <<
+/D [8930 0 R /XYZ 389.246 445.543 null]
+>> endobj
+8937 0 obj <<
+/D [8930 0 R /XYZ 90 438.903 null]
+>> endobj
+8514 0 obj <<
+/D [8930 0 R /XYZ 323.472 330.214 null]
+>> endobj
+8938 0 obj <<
+/D [8930 0 R /XYZ 90 324.291 null]
+>> endobj
+8939 0 obj <<
+/D [8930 0 R /XYZ 90 255 null]
+>> endobj
+8515 0 obj <<
+/D [8930 0 R /XYZ 439.235 152.252 null]
+>> endobj
+8940 0 obj <<
+/D [8930 0 R /XYZ 90 145.278 null]
+>> endobj
+8516 0 obj <<
+/D [8930 0 R /XYZ 158.014 84.126 null]
+>> endobj
+8941 0 obj <<
+/D [8930 0 R /XYZ 90 77.486 null]
+>> endobj
+8929 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F11 613 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8949 0 obj <<
+/Length 2433      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs����W����Ѽ1��
6��k7NE+ksѺ�%T(@@=�}z^ �)J�rH6 ����7_7���6�OG؜��G'S6�HK*G��ƣ�k$$�5
]&#���	�89�d�mvu6�8��O7��ή>��~:=���y��U=>�'?ϳ�q���,��D%y9�A
�T'T��׋ߎ>\
}?"`
g�@�Mn�.���.��3�F����
��ї�ߏp�2�"���DHoAH ��s���ĘN��l��!�D�3+�a��(��ҝY놐T#�hdM[gEۜ�N���Ni��dO�a$c�u>�I^��P�ĕ���9҂
��"�td�٘QȨ1!�˪u
g
� �1:6�%��X%�D6����ҟX`c�J���
�Z��
k
+�,�o���MH�7B!�U�����y�R�KG�`���	ډ�C%]Ҁ!�/Y �X�|Y��̿Z���?�(#M��
���`�
<��E]�norwb�1�"��.W�Cf�B��k�4�d焢tw��B�$�jـ&�M��io�f@eHwrP�CV�@A�j�G�G���$�k
�@,h�9�F�*�Iwt+�YDVK����"�z���Cb�\���j,�����4��D��#
+>�B�|4�Iq�
�
�3#&EDP�����B.q��g�bzu���zq ~c8(�Hav�z��R��t�R����)^��M]�b|(
"��#��j.��|LD��V)DB���EJTwC�8��u��y
fބ�_ɿ/����V+V5w��qH2- (
ԑz6�  M�7��M� `��'�7�'�d��Z���|�AIL�iL�ޑC)ر��B��{q(���G�<G�lj��=�S�Z�d����v��T��0L����مGq���AL�}�1���IM����� .�
�Xk�
��g�)�(�� �^�i�5޾_�0Fu�; 
ya$�DX	�(/ �|W���]Ut�)�e2��E��n{���>!��w'��� εB���p����X������C��ȴ�FP�ׇ�6=��PAs�<�9�J�YY�+�M�҈ژ|�Z�d��Yٖ��|�pw����:�L
����,��J"�Wf4�x����ݲ���ʊR�Mj@�v82j��� U�,�T#��؂M���M
�Ɛ��Ma��Ǧ �/�Mc��)
+���%0
�c�$�
Q�>�r3+�F2������K$X����@��B�d@�T�D��i6��JHv6<�@��nUm�ȟ�����r�IG9ڂ�6+vxBd�̉ K��Ş�<&�ƚ,�����2�^�qn, oL���ʜ 	댳���Mf���Ey
��
t�
���C�j����3���Mօ�`
'�1W퐐�
+	aC�,<R`a��(�߄
�&�
+
���þ-n�10��������Cb��{(����-��i՛1�b
+e_L�$�Lѫ��i��	��7H��
���.n:��8���6�X;�sa09Z_�d=�t4��O^�#�U[�D���t����E�Sw�͞���;���i��?x�t��M���Y`�;"�n��V0�yL�T8)E)%k�sz���ν�l��r�@,@�ZV�1l���B�>,��%���� �Ҋ„�������0����L؄ع1
+
�i=�C\�
w�t�!�U�����!�
?���4�I�hl��٤����b/
�<3l���cp	���.m��_n��[\3k[
\ ���dm8+��p��a���Ow�)B�<�0wϽ՝�)��⤩������|j<�[Q1��T��J���Xy9m
��d)'��������s��RM�Ú�e�ek���� ���Hմ�['��;8?�]һW�,�l�
*����M�=wH���)
k�n�~H�i��[6A�}���w
+��r�X��Pw����e�B��� �+S�,ڻ�}t�Z�3_���|o`�*|�5n
��
{Zw�6������ЇQ����0Q�f2�E
�/v��bp�:����s]�C��
I��X�����3cq�k	6�Tl�`CQ��v���[�A���_��^���yW�9�3<��W����[���V]F�O�p2���υ�󠸏����N{�����4���-���(�e�y{�������%��
�
�CE��妪
��.��V��[�I~x�k/�.��<~>�3?t�w{���v� \t�4]��� �$d��S�Um��+2���2]��2]��g��=D햺!�M7��3�Ξ�8������n�v��4��R�	���	h�
+M���}v'@��!+���{V.B�o��zۺ�Av4 '_������(�����qi
+
	�e�M�ޝ��|[\���Ѥ�]�ho
���z��*�.�.�Zg�� v�0AR��	p�w@
���;�����p��-�R�����
sa
+endstream
+endobj
+8948 0 obj <<
+/Type /Page
+/Contents 8949 0 R
+/Resources 8947 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 8942 0 R 8943 0 R 8944 0 R 8946 0 R ]
+>> endobj
+8942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.507 381.967 236.499 392.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) >>
+>> endobj
+8943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 130.503 399.496 141.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) >>
+>> endobj
+8944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 74.333 397.275 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a2ca4d826872609fb433f459d805f436a) >>
+>> endobj
+8946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8950 0 obj <<
+/D [8948 0 R /XYZ 89 770.89 null]
+>> endobj
+8951 0 obj <<
+/D [8948 0 R /XYZ 90 657.874 null]
+>> endobj
+8517 0 obj <<
+/D [8948 0 R /XYZ 90 623.204 null]
+>> endobj
+8952 0 obj <<
+/D [8948 0 R /XYZ 90 618.721 null]
+>> endobj
+8953 0 obj <<
+/D [8948 0 R /XYZ 90 545.858 null]
+>> endobj
+8518 0 obj <<
+/D [8948 0 R /XYZ 90 508.799 null]
+>> endobj
+8954 0 obj <<
+/D [8948 0 R /XYZ 90 504.315 null]
+>> endobj
+8519 0 obj <<
+/D [8948 0 R /XYZ 351.108 446.959 null]
+>> endobj
+8955 0 obj <<
+/D [8948 0 R /XYZ 90 440.319 null]
+>> endobj
+8597 0 obj <<
+/D [8948 0 R /XYZ 462.877 385.12 null]
+>> endobj
+8956 0 obj <<
+/D [8948 0 R /XYZ 90 378.48 null]
+>> endobj
+8957 0 obj <<
+/D [8948 0 R /XYZ 90 297.056 null]
+>> endobj
+8692 0 obj <<
+/D [8948 0 R /XYZ 90 273.59 null]
+>> endobj
+8958 0 obj <<
+/D [8948 0 R /XYZ 90 273.59 null]
+>> endobj
+8693 0 obj <<
+/D [8948 0 R /XYZ 90 231.885 null]
+>> endobj
+8959 0 obj <<
+/D [8948 0 R /XYZ 90 227.402 null]
+>> endobj
+8694 0 obj <<
+/D [8948 0 R /XYZ 90 187.67 null]
+>> endobj
+8960 0 obj <<
+/D [8948 0 R /XYZ 90 183.187 null]
+>> endobj
+8695 0 obj <<
+/D [8948 0 R /XYZ 90 131.5 null]
+>> endobj
+8961 0 obj <<
+/D [8948 0 R /XYZ 90 127.017 null]
+>> endobj
+8696 0 obj <<
+/D [8948 0 R /XYZ 90 75.329 null]
+>> endobj
+8947 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8967 0 obj <<
+/Length 2157      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~�@^v�*s4��lR��
W�]��V�
��G*$@`l���9 HB6���a0�tO_�'�	N�M�9��}�Xb��T&�W����		w��uJ5��9�!aR#b$�姿������_�g���w�pB� ��N.W��op�������{�h�p��L^M�;�Q��pCw�����f� B�#��D©�c�3����涜�EV��r�D�r]dy=�Q�ӟ����Aܘf�K�.�D���y=��"��:�H�4��;CZ(�(i��$�,:k�tJ[�^�v9���w at s�g�ɮ��iA`@�*���(�y� CN�¹L�����Ɨ�&�k��=�Ǐ����q�w����F�V
�
���kw��Q=���<�_/�D�ˢڔ�n�R�C�J�6�P�Rd�i�n�R��
+D�ˍ�WP�*s��b�
*���dAu
���
.5��qzQ��b
��꫎�f\��ȫz�k����7>�6�O���u�GB�WL�6��hE!E�y�nd��|���0G��9省7e^
l��ݢ.76,�	�q�&Dv�
�"_ކ<��������5�M�
+��M6�"����/��0_{H���;���C ���3b⼟�M�I��=� ʌ:]��?o
+��� t���)��G��Ќ�Is�b@�
'���P���y����J�����c���vA}���|e�H)��i1 UP�d�_E�!��l�����e��y9�j

�2�`

+��T�0T��(A�"��y~9 ���`�)6����v^U�u
����4�-O����L	������–Îe�
rl����@A�R8h
QInD�����
��{<DAA�
�N�}�$��z�E�mn�܉O�)��X#�Y�SF�b�]NU���3�҃=��H)�b
x%N
�caĈA��I�h��5-1�i=�J�S�
T�sc�;큿,6�"˯�>��!�Ў
Po��E6�!���B���~G��X�7�������/tj��pբ����y
�����z��.l���|@m
+}v[*���v�k���R�Xoӽ�VK
p���!
�}=�I
w���nbk���o��];�<��GLS]��
�0�W���1����k�V�6>���^�ŇlY��*��Y
�� � N��~�9lZ<�}pk�\�p�V|>�ð�!�fڗM��Er�-��/�!��v{V�/�g����_a���&7 k]�4Ժ��ɝ���x0�W����s�����v(I�#
m�UB�H�6�&Ɖ�D_�.���v�\�jUaf^�0 �rU�+����TP��0��2�_,m|�Y����(�@
�I�
 �. 4[� �` O�"�(��
�+�l���N[�����P�l
F��*D����(�q���w+b�
a��3�}닋ͽGBK�6�L��y�@D�P�і� �)\p���?�Mk(�����M��r��3_�a>~m�.��d8|����6�mf\=�

�d�+�K�&�B!��1
F` E|g| �
����Ʃ��0� ��NA����+���Y���W��'�4(�
y��0������'q
W��0����t��pp8Tw��9�%�e����!:3�����;
���
� � �� ����A|b 8��14
xȕV�0�a
�d[F���v���
#�G ;��(�!!��	��~��[�q\�avC!�.`�����i���9B�e9�u�g���aw�Ο��gz���7��Loğ��0�V}z�f<�u�Ho�$u����p�p��)9p

ǍF��?q���C�.��]�3�H
�3;0� ����x�� k�����D����@&�~0�C���@E�œ��8Q
D�$?'ع!?������y[av��$	�Ǒ�l�Oo�����C~��Gtf�!H25��pDD��������:�Q�am��K�J�Wk<$�*ı��X�K
F,
�
+4�
a��x	R�=?�
r�RM2�
���%~������"�a�/����D)�v��a�N�8�~Œ'ۊ����V���`�v9�P~ ��5}v��ſ��ʖ�
+�V��6��ց�:tl˪%)�s���!��m at k��V�'�
} ��M]���]l�+�_#`
wq��1�DZ
]k�jU�Ѡ,w�ij�;���)8"
+endstream
+endobj
+8966 0 obj <<
+/Type /Page
+/Contents 8967 0 R
+/Resources 8965 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 8945 0 R 8963 0 R 8964 0 R ]
+>> endobj
+8945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 685.85 286.611 696.753]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a6d57d53909ab5cabeb63d17394f9617d) >>
+>> endobj
+8963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 641.634 320.364 652.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a59d0c508c656bdeee15a1a332a474b00) >>
+>> endobj
+8964 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8968 0 obj <<
+/D [8966 0 R /XYZ 89 770.89 null]
+>> endobj
+8969 0 obj <<
+/D [8966 0 R /XYZ 90 721.073 null]
+>> endobj
+8697 0 obj <<
+/D [8966 0 R /XYZ 90 686.846 null]
+>> endobj
+8970 0 obj <<
+/D [8966 0 R /XYZ 90 682.363 null]
+>> endobj
+8698 0 obj <<
+/D [8966 0 R /XYZ 90 642.631 null]
+>> endobj
+8971 0 obj <<
+/D [8966 0 R /XYZ 90 638.148 null]
+>> endobj
+8699 0 obj <<
+/D [8966 0 R /XYZ 90 598.416 null]
+>> endobj
+8972 0 obj <<
+/D [8966 0 R /XYZ 90 593.932 null]
+>> endobj
+8700 0 obj <<
+/D [8966 0 R /XYZ 90 554.201 null]
+>> endobj
+8973 0 obj <<
+/D [8966 0 R /XYZ 90 549.717 null]
+>> endobj
+8701 0 obj <<
+/D [8966 0 R /XYZ 90 362.785 null]
+>> endobj
+8974 0 obj <<
+/D [8966 0 R /XYZ 90 358.302 null]
+>> endobj
+8702 0 obj <<
+/D [8966 0 R /XYZ 90 157.412 null]
+>> endobj
+8975 0 obj <<
+/D [8966 0 R /XYZ 90 152.929 null]
+>> endobj
+8965 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8979 0 obj <<
+/Length 2088      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W�)��V���'0�NY&p�S�a�R�&"�
+E��?���*J�a9�~"Y.ݽ�=�$�
����jv�b�AFR\��$$<��w!�����`���9�a�m���9�a�~���,��!�ɢ����6�Y���|A�ZG�]y����ٜ��&K
☡&����_}7��j����A8 �)
,7�w�q���������b�&��u
�2�i�۾H��DH�ʷ���$��my��e
���FY���wyT�nl���ęA-��3�� ���單n$T�!JVCR2�U{
Ƅ�;o��c���+x�&�A���[���v���M�ǩ_J��q�I���DWJ�)��`��,�
�\0�$X at 2���lo�S�
����,�㢙@��j�m��
�d1e�])�?��,r[��!Ha	Ɓ㔗{�\�8ի�(D���y��^��R�K~���إʮʅ��(&��
+@߀�R��x�)1�����{�.�-��v�fy{��ۼ��m�m*���8�빕��6ug�|�cN�>�n�v(
�qZM���Ծ��<Ж2$D"�����H+�D�YC:1�[	FO�u���U
�3WH`��0V
+�1�mW���S���
$M#\���o;.Q��*�5��,$���4Y5
(�V�NQʭ�<��j�^i~���f�B�ؕ�!�E[���:���2�Ֆ,z�r��fwCI_(p��ns�v���V���I<�<�Tl($�"�Ek�!H&��Ε�:ʽP%� MQu�|��V����Qx��$ڸ`I^ͥ���"��R�F&k�o�t]������F��4epV�[#i̩yJ�lL=Q�I���0+v8Q��T~V
�dhW���1R��������_���a�Y������7�\�������f	p�)�/FPf�Uى4&�/a�����deW��!��N4�R�O�Q&�(D	�W�dW/u.u��0�tO��Q ��r�*4Ӊ1��)r,�
�Y%C����6�D�j��
D���%��|�L(G���`�Cq
Z�����8d����0�u�:*!�R� ��t�� \���!���5�װk��u��.�V24�	���˻̺λz���1�P
���Ѝ���@<v׃ [...]
Fv�`3� �c
!ŤvF��
���.�o�#}H
K��
wq�Ǹ�8���.��
8d��<��9� �
�<#"��}��H�q�?����1n�����cܣ�1��W�%类:@V�M�Ը��{�@��^
@�M]ucZC /�����ֆ�#��a
��rL�c
�
+s�B_K���OJX�s�
�!�vO4t�p��`�NC\[d#pOJ��4 ���Cv��A����~
+�p���B�j��pH8�.}�
�
�5�1G�͂ˆ��t���5
� Z��
�Z at Z$TH�D*4F �$���\�8X�,j���v��@��(_���Q"C��?N3I�&|�a�L��9cFA��ɻ�:Fh���4
��r*�qd�������A�;����l"�_��ߝ��"3����a���Dƭ���x"3'��̭x.�n{\�-���Zrw7	0
�P<��(찟C}��,��>
�3=@r��P�(���0 at U��
�Bs�@s�#h�~6�ß������!�`�Q�E�ǰ�l�S�
>��F�y��$ *�Oc:i�
+Q����I~�
������!:�с�
+��#:D0�Pv��$aͧ�3��D�����|�c�
�M�	D� �&���KD��
˅{˛�Q7GE����-�����!�T!��c�v>y
�tH*P>:����R���8d�1��7X/����O?���?�
�|ʗx�Q�
+|PQ6�s��3P�z,����/���Q���ʛ��l��\�П��F�>���9|�Ci6�Ռ� �Zr@��؊a�F�Tw�ϊ(5���-������닋����&w(�a�h��9i��W�����/N
�,�UH��� Z+%�"��
9&J�bG���c�C�p��oRp����JC�s
+endstream
+endobj
+8978 0 obj <<
+/Type /Page
+/Contents 8979 0 R
+/Resources 8977 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 8976 0 R ]
+>> endobj
+8976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8980 0 obj <<
+/D [8978 0 R /XYZ 89 770.89 null]
+>> endobj
+8796 0 obj <<
+/D [8978 0 R /XYZ 90 597.453 null]
+>> endobj
+8981 0 obj <<
+/D [8978 0 R /XYZ 90 592.97 null]
+>> endobj
+8982 0 obj <<
+/D [8978 0 R /XYZ 90 393.717 null]
+>> endobj
+8797 0 obj <<
+/D [8978 0 R /XYZ 90 186.992 null]
+>> endobj
+8983 0 obj <<
+/D [8978 0 R /XYZ 90 182.509 null]
+>> endobj
+8977 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F93 763 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8987 0 obj <<
+/Length 2036      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~���Sk����/��L
������	F����-I.ɿ�Y���ȖB�B�y�mu��s�>[8�p�l�����'����28=
7HH�Zo�T�ٻ��#�����^�>}y��>�<=�|�x���t�XO޼��n�0bF��E�S�U�z���m�x�B!N��h6�O�q-�8M�ez�E�<�l��2^�͚8w�|-��h�n�]�-�DK1�qΪ͂>��c
Q�0Z�A����@�
�J�ݳV+�l��7ۢ4��f��M���ٺ2k����ζ�h�I�0�r�Ϩ����l�}�q�+����2dH��A����-!�O�D
�R�d�#�H��l	���!
������
�A����s��C8��8/�"�����Pj����i�s�>��"L�
��e�J{M�Z�DB�y�&���D1m.#�~Ih�{���f�fӋ(���H3������d��I�����4s��4�v=�����jI^y�՝U�Dy_��
+6�ld�p����<������_UiYTl3ئ���A�bC!�<嫝@�B
!"fs��K�UXx
 K�"��y��V���M)\m�$\[gI5=�I1M{�
+���_��G�����?Kӕ�����`H����Ps��S�Dz-�n�i��[QRk���L�����m$��叡�D%��^�R���1�0T�434��9���"qN��op��� �M
����_3��������,�z�T;��
|]�.�
�	�(A�[8O/�(YF���!
+6�e �(��-�C����&�lq'#����������j��4]ŋ��^�x��X���²�7�
ծzD�d3����X׫0x��$��A�UϪ6�#�C:)=ޮ�>� 9��_Ψ�����Q	^�RU��H��p��'q�'��F�쌉-u�lqD
O�U҇���˛,��~��3�w��\q��v��
��-<.qV�7 ���^hb�_�Ŵ]!-��C���q}�<fr���_��~}�
+P�
��
Ε�&��}@�5��Q*��)��� ��{���.q�])E�֪�]V�wQ(dy�]���p� ��
��6��FՐ�\
9͡
+#�,L�Q�r�(=w���]&K�l��Z��Fv�(��R�X}ȟ�%uw-�m4����#��=ܯ����a���+���EI=�l���������ۓӳ�����.�+o�
ۣ���l���x�;
�l�"b� �`���x��_�����IN c�E��5݄�AU b
�c�`t��}U�N�%�3���)ȶWfj�6�ז�!}��R3 M%;�d����*�(����m�WrQ�œ�>��
��(��	D����>��PDG��abN��k�N����@O;�~<�����@%;@�(���b�ַ�\�#/%am3=F���Q�2"`�]��DO�x�p5
�<��^�G\��T����J>ް~�G�ĐQsX
r����
�i��=!Dz=��m�_fy�vi<�S7�y���
�����yl�登�y��<���y�k�y�|	������y��xO�nF���.ͳwJXoO<͛������LϞ�0={�L"8:�g�F��al�=�-4�	��S���
��hLw"
���6w�G�n���=
�X �
�Gc�t���

�P���X��o���۳���ax�
�h�O�@b��žo��$>�
A�g�
��,��,P���H9`�0#X A����Or �
�/Лo��Ɗ�[
�F6�H����R�4X�Tl�
��K���t/���Љ�8Z
@(��~�e�w�������=+�gş͊�(VlF�b�eX1
����g���g��SC�(��~L�z�~k��?M��v
��}^>���7N��Y�$a��9ț7�O��E �U1�lί�&�W���?�(�v&�ԧůa�
}�X���y!��:�	�vj"K���uT�~g�_��?O�0��
|
�E�����l{�G���>V���
��p<�Y�UljM�2����-h
+endstream
+endobj
+8986 0 obj <<
+/Type /Page
+/Contents 8987 0 R
+/Resources 8985 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 8984 0 R ]
+>> endobj
+8984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8988 0 obj <<
+/D [8986 0 R /XYZ 89 770.89 null]
+>> endobj
+8798 0 obj <<
+/D [8986 0 R /XYZ 90 629.641 null]
+>> endobj
+8989 0 obj <<
+/D [8986 0 R /XYZ 90 625.158 null]
+>> endobj
+8799 0 obj <<
+/D [8986 0 R /XYZ 90 432.997 null]
+>> endobj
+8990 0 obj <<
+/D [8986 0 R /XYZ 90 428.514 null]
+>> endobj
+8800 0 obj <<
+/D [8986 0 R /XYZ 90 224.398 null]
+>> endobj
+8991 0 obj <<
+/D [8986 0 R /XYZ 90 219.914 null]
+>> endobj
+8985 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F93 763 0 R /F11 613 0 R /F117 2446 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8995 0 obj <<
+/Length 2381      
+/Filter /FlateDecode
+>>
+stream
+x��\Ks����W ��2G�~(�
��v��8����[*�
I,� 
B��ߧoP 	��MT{ �
t�t�|_w �]{��v�����7�yI�w~��)n���m�}�	F\�c��	��x\��)���ݍ]��Ň�e
�w������A����	����'{e�9Ѿ
��1C�O��:�~��|�ی���G�	�����>~��
+~��È����z�2��x?�~��|-�'��]��|� �Z�6c�)��"����P��7�~+�Ha�-�3���n�OX�[��`�T�[UH$��rzKn�AM�p�i1he���v�ɽ���ֆ�
�
;�J�� �ԧ�h
&�lx�NR����M��m��|���WŐ8����l֡��MY�ڔ
+�X� #D6�`��-�c1e����Ȉmr�2Q怆�<�aC�HRJ�IDt
��duz��[PA����#����N����9A�2�ۛ7��QH�r��`��
.d��\���."J��lj ��r�2
+�In�z,Q��(�Qn�������ζHVp-C�u~�juI�
D%�-������r���n�Į>5��AT,��HJ�!J�*��_���6�"����(��$}�Ŗ\#Q9������Y��#݆�|]�A����R��1�/��eh�߯��E����
+;�a*��jQ.�UP�d
�6L��T~�iVj�[�AQ2$��`8��#��M34
+�R<�C�`N�7ا@P�{�ɩ�N5/��� �T�.�d�S�.G���0��.Xu�TpHz��]��a=
�աM��R���^9�_����S$�%�AV�ձD	hS�J��!��b�(��
���:ٟ���j��
�,�g�z�1wS{l��ʷq�)��D���j�

r
�5�)�ɓ��8b����Wl��Z���_&�P��w�
{B;
���
ЯI��	���|�Ku�ƥ�	�z�

+R�!�c 
>��#P�Bi!%MEqՈ'V���X<)��x��'�(
B_�n�
��\L�0
w%3�
���b
+tL�^�4�h��/�_
+iN��V
�Tc�l��F��$rXԕ�TL������F�ћ4�ċ�x�
�C�)҆t �
�CB�P�q�S[���"E��RY79���� �֬���F���D��x�@J�$d�v`B�d���M�_���C�*�]�,"�����vL�E���O�Kl��@���?=��1¦3���u$�H�8W
���L�v�D���ۈ*�M;[�����
�����9��v�Q <W��H�Gm={ʐ)���6�ⴱ����D�v��7)v�4W`�ʵ���20� �9��TO�]��Emy1��RSh����˦� ��:�LБ�,�i*�e������՝������K�v���Z��iw�#�|D�Wp9���9��ʮZ��jn���B�3��5F���0H�N���
D����eD���j����f��R�Ř�5'HOl�%�תu�Q�e'j����P������
�oR
 �y���k��C0�ۗ��;�]R��
15U�>�
W�����:nM� ̪��j��1值�D%~
+ھ$WmV\�lw�M*��F
+jbI�X6F,m�
+�=Ը`.�A���̫��d���c���M �=�1�!�k.����fH�D���!�$��0��@mΐ
��
�<
���Ew�:�
VN
 �Z�k�n�?�i���*Q�qT��L�
d�>B0-� i7�
���};�rK�� �8�c���� �k1j�c�NX
+F�>��
��3O����5ij.�
LЁ�L"^�L��L�C��qnú�̚�ҍ��� �Q��p�}�Ґ)�Tfǁ?;RUh��!��Z�>�}9M��
&��gC`�mR܇���>ԧ�=ۜ��C\�~6wks�P�����鏴X�ԧO���7� �����Y��/W�J�ܷ����ze���pO$ �Cd9�A$�2�P��Խ� 6H�)s!]�YW\�H!���
�Q`���)
+��	X�W[u����ԅ�|m������V�!E�'m��t�$�C5ç�H�Q�1�#'P\pdC�͑�|�23G:IE���"'КSd]�+C>C���ƶ��S����V�"�;�r^�*c�`�69֣
�,
�� c`F'��q;
�U��
k�ɧh�I��(�����N��cO�NHroTꔍ�Zt��Z_;e�����)+~=|�߽�u�C\�?�z���FBښ�-�	a�����^>;��]�{o㿸ׂ�w�����&�v@���6N��M$�U#W`�g[���M�W����,5J5�D
Q��&Iv�''���{^�e����sm
�r�*�<�6���C�q�>��
+)�(0�^�,��m��#Y}�j��7�?�|�e޻
����
�*�8
+endstream
+endobj
+8994 0 obj <<
+/Type /Page
+/Contents 8995 0 R
+/Resources 8993 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 8992 0 R ]
+>> endobj
+8992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+8996 0 obj <<
+/D [8994 0 R /XYZ 89 770.89 null]
+>> endobj
+8801 0 obj <<
+/D [8994 0 R /XYZ 90 673.131 null]
+>> endobj
+8997 0 obj <<
+/D [8994 0 R /XYZ 90 668.647 null]
+>> endobj
+8802 0 obj <<
+/D [8994 0 R /XYZ 90 626.913 null]
+>> endobj
+8998 0 obj <<
+/D [8994 0 R /XYZ 90 622.43 null]
+>> endobj
+8803 0 obj <<
+/D [8994 0 R /XYZ 90 600.382 null]
+>> endobj
+8999 0 obj <<
+/D [8994 0 R /XYZ 90 600.382 null]
+>> endobj
+8804 0 obj <<
+/D [8994 0 R /XYZ 90 578.275 null]
+>> endobj
+9000 0 obj <<
+/D [8994 0 R /XYZ 90 578.275 null]
+>> endobj
+9001 0 obj <<
+/D [8994 0 R /XYZ 90 544.212 null]
+>> endobj
+9002 0 obj <<
+/D [8994 0 R /XYZ 90 522.104 null]
+>> endobj
+8805 0 obj <<
+/D [8994 0 R /XYZ 90 499.997 null]
+>> endobj
+9003 0 obj <<
+/D [8994 0 R /XYZ 90 499.997 null]
+>> endobj
+9004 0 obj <<
+/D [8994 0 R /XYZ 90 465.934 null]
+>> endobj
+9005 0 obj <<
+/D [8994 0 R /XYZ 90 443.827 null]
+>> endobj
+9006 0 obj <<
+/D [8994 0 R /XYZ 90 421.719 null]
+>> endobj
+9007 0 obj <<
+/D [8994 0 R /XYZ 90 399.611 null]
+>> endobj
+8806 0 obj <<
+/D [8994 0 R /XYZ 90 377.504 null]
+>> endobj
+9008 0 obj <<
+/D [8994 0 R /XYZ 90 377.504 null]
+>> endobj
+8807 0 obj <<
+/D [8994 0 R /XYZ 90 320.532 null]
+>> endobj
+9009 0 obj <<
+/D [8994 0 R /XYZ 90 320.532 null]
+>> endobj
+8808 0 obj <<
+/D [8994 0 R /XYZ 90 273.513 null]
+>> endobj
+9010 0 obj <<
+/D [8994 0 R /XYZ 90 273.513 null]
+>> endobj
+8848 0 obj <<
+/D [8994 0 R /XYZ 90 227.495 null]
+>> endobj
+9011 0 obj <<
+/D [8994 0 R /XYZ 90 227.495 null]
+>> endobj
+8849 0 obj <<
+/D [8994 0 R /XYZ 90 170.523 null]
+>> endobj
+9012 0 obj <<
+/D [8994 0 R /XYZ 90 170.523 null]
+>> endobj
+8850 0 obj <<
+/D [8994 0 R /XYZ 90 123.504 null]
+>> endobj
+9013 0 obj <<
+/D [8994 0 R /XYZ 90 123.504 null]
+>> endobj
+8851 0 obj <<
+/D [8994 0 R /XYZ 90 77.486 null]
+>> endobj
+9014 0 obj <<
+/D [8994 0 R /XYZ 90 77.486 null]
+>> endobj
+8993 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9036 0 obj <<
+/Length 2293      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~�� �����}�/#��d�`��ı�O����h��TH*���o5�WS�ĉd�����:���-�(��
6��.�9��w��%�4҂
+����ؓ�F\��̻Q%Ɵ���P�h_������݇�[�����ů
a�X
I�MW���7��߃b���T���|���n/~���e�E õ�D��L0�%���`�Gy�Z/�<4�\��ךOED���o��p������:��U8�P�Fwc_�@��ң��	#b��GI�bB}D����G3�C�ڶ�$YZ��]�2&��p���c)�J׮�u&�1�>w<�1�q�o{TC��gQ-A�l��EY
��pW��9œ�C���>uY�c��c �&Th�
�M�;�y���p�˘�Q8��a�zӞ�K��ԇ��YU�a�R�
+6z�{
Ƴp��
+r'����?�'Ta��B���,���B΢��v�^�
%�h:��m�3�@��#�Ī�/*	���o�<


��+kZ�6M�,�I
�l���}�a�I�#�H�a��E�
�1�&�2��ۤ��lòzc;V{�5�� �ц<n�M<����QڧY0XD�Y�?bҐF]D5^sڿ$F���5�
+	������-�d�Xv�X�'�G��������I�����q���7g����Z��;�&�B\J�F`V�:�,��Yph ���Far8%�CwIɎ��|�';��ܤ�/9)�$��@R>]mE�m��'�Cʜ�#����2�n��0�_��-p�E}�2�
�"pF���Q
+G�
�I��
r?�p��VG*�'��/ ��_��HC�%0�9i��@
+z/#��������)��
}>�ս�_cc�
�j�j�����_���ct>^�	���U� H���j��E���C��N��
+i�#��0�P��Z�C/%�:���dÚ�y��#���!dÆp��R����7v���W�����+q�!�Jw2|�
�հS��0� R?ը�j~S�D3@�F٘��S��W{pF��*�F싚�*�
uf���P�푡nR��� �
cU ۱�z��Њ@�
�<K��U�A
%��pkbK_;�)��Kz�S�jg߄�tL`n��*;�Е6U~m�)HWAs\��q( 埶h�8@
#J��f�I��"��}&h`ir
����c��C@��h{uU����,|
6˼o,%Ky�|
M1L��A)D�=H<:z�w�H�6�^���}׻M�@�}f�O���|/��0�u��naS�w��{�,�ٳ�$�'q8�|�d/j�f�

+Cg%�
+`p^�݇�6ڍ��%�$ְt��m�����鵶���J7Ӽ�

�̞���|@v?x��}1[���t�a)"��]*�w�ʌ
G½��R�F�(����D;��ÿ�i�Һ8K�1_�=��cV
c�
n�l<,�x>�ɪ���U+�W�d�H����0�Nj�
�s�!_TvL����'�֠���$�3i׮�d�L���U�[������	��RT�Z�F~���o�O8��z�D��}������rt)��y�Aꊜ�)�v

I����Wr8Zfa؁�����l���
+�Bׄ~4�Cu`m�|�a�	�
Cn��䖁ߔ��7�#t�aV�>��
+u(�uYd�lS�N�V��a\���e��%���ͬo� X�5��#��-h�#R%�3�
�Y���3"$v	�כp��
+����xj
+<�U)R�7�K�fF:/S�.�:�>�Q��E ���J)�"�#�~���/pH��
�UOٳJHa�l�-�" e|� ���%ݼ-��y
g\�'��ØoF�Y�~A	��j�od[�K ^>**
�;���ѕuf�H?W
�.�_����x1y���o[q��(Z�yEt�`�+� �k�J��v_���-��0��%</����
������C�
S�Q��z1�vU`����S��<}���;xSvZ�G5���F�1��6�Y ��=���?@��#f����oڡ
�D 'ʻ�];�@;������J�V«�N��)y���7������g�����h��Y֔���M�oҸK/�Mj+�rZ��݁�
զT$k�a��$>ͯo̐�Ƣ��K1�l�O.[�q]�V�WhG1��
+���y����q����& �7y�F`1�A���RwJ������3
ӿ�9���1�7��k�����0�j7T�
��6�	k�/����(:��=�Gff)ݼ�������fq��i�����c30��z��a5���UjC��D�S�
+endstream
+endobj
+9035 0 obj <<
+/Type /Page
+/Contents 9036 0 R
+/Resources 9034 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8962 0 R
+/Annots [ 9015 0 R 9016 0 R 9017 0 R 9018 0 R 9019 0 R 9020 0 R 9021 0 R 9022 0 R 9023 0 R 9024 0 R 9025 0 R 9026 0 R 9027 0 R 9028 0 R 9029 0 R 9030 0 R 9033 0 R ]
+>> endobj
+9015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.879 190.054 250.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.87 239.879 255.627 250.783]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+9017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 212.288 190.054 223.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a558bee1e7045c2ed558e68002cb3dd4f) >>
+>> endobj
+9018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.391 212.288 259.214 223.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.425 212.288 339.183 223.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+9020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 184.697 190.054 195.601]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) >>
+>> endobj
+9021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.391 184.697 293.535 195.601]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 171.898 190.054 182.802]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_acea4ab79eb91ca6bad6a126f08de1cc5) >>
+>> endobj
+9023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.391 171.898 293.535 182.802]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.622 171.898 377.379 182.802]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+9025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 144.307 197.803 155.211]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433) >>
+>> endobj
+9026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.716 190.054 127.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.794 116.716 241.6 127.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1) >>
+>> endobj
+9028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.937 116.716 345.081 127.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 89.125 175.668 100.029]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+9030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 89.125 234.596 100.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_acb15b3a65e5dba1c113539f2912c75f8) >>
+>> endobj
+9033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9037 0 obj <<
+/D [9035 0 R /XYZ 89 770.89 null]
+>> endobj
+8852 0 obj <<
+/D [9035 0 R /XYZ 90 669.666 null]
+>> endobj
+9038 0 obj <<
+/D [9035 0 R /XYZ 90 669.666 null]
+>> endobj
+8853 0 obj <<
+/D [9035 0 R /XYZ 90 622.647 null]
+>> endobj
+9039 0 obj <<
+/D [9035 0 R /XYZ 90 622.647 null]
+>> endobj
+9040 0 obj <<
+/D [9035 0 R /XYZ 90 576.629 null]
+>> endobj
+9041 0 obj <<
+/D [9035 0 R /XYZ 90 554.521 null]
+>> endobj
+8442 0 obj <<
+/D [9035 0 R /XYZ 90 532.085 null]
+>> endobj
+9042 0 obj <<
+/D [9035 0 R /XYZ 90 532.085 null]
+>> endobj
+1842 0 obj <<
+/D [9035 0 R /XYZ 90 364.108 null]
+>> endobj
+326 0 obj <<
+/D [9035 0 R /XYZ 90 357.036 null]
+>> endobj
+9043 0 obj <<
+/D [9035 0 R /XYZ 90 258.72 null]
+>> endobj
+9044 0 obj <<
+/D [9035 0 R /XYZ 90 258.72 null]
+>> endobj
+9045 0 obj <<
+/D [9035 0 R /XYZ 90 229.395 null]
+>> endobj
+9046 0 obj <<
+/D [9035 0 R /XYZ 90 188.682 null]
+>> endobj
+9047 0 obj <<
+/D [9035 0 R /XYZ 90 161.414 null]
+>> endobj
+9048 0 obj <<
+/D [9035 0 R /XYZ 90 135.549 null]
+>> endobj
+9049 0 obj <<
+/D [9035 0 R /XYZ 90 106.232 null]
+>> endobj
+9034 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9089 0 obj <<
+/Length 2025      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~ϯ�k�Ԋ�K�/��M'��f���C��(Xq�rq'u�
		��1I��O� �s����6�6�
�~}t|�Z��|�t��[�džk��:�of|�lo<!��Ř��b6��x�F�;>���Cx��lur�'<cE�M�Vy���Ĥxt�<///�-����$�bV˵G�玿\�;�������AJ9(r=#��>}��
n�30�|�x��b�6-��������R	����5�v�my�K"�T�iR��~��4���T0��gB�l�D����:9/�_d<�I��0M6��>c�w�&��~���{|�[�
+:�P�4�c�Ƅ�5~�0�
����
`o��F`
����U�iLk#{zLq*,�T����"_� �9L>+odc�
�z�R5T��h�D	�`"
+�lǨ��,�y���b����)�f�Vo�Pb �i�O���,�7,W�.�����y N5��-/���4�y
�������;������zP7|��"j9{ |���i��u0c���+^�[^Q��ll�Q��f�͙�b*8_
������J�P)F��S�F6��4�8�:]����"K�seEEf���"Q�	
�d%��ѷ%��W� a�
+zyE�P_즀��xZ�� �
2�.�C܎	�T�6ǫ�s0<���^В�(�
:Hl� J�1L��j��n�e]�"�'z�y��!���3(�$���l��ox֔��T�fjH���Ϻ�E\��s8n��{(��{�K
PVZ���b�)�hJZ��<j
BI(ɨ]�媽�G!U�I��,� ��H�Nj�Մ P@ͦ���Vj�$��W	��*�Qů"��
 ꘌj��[�UR����c�S��������M�F�,��X�T
H�5`
~FĪ�Q�-����}��?i��0��S�E�٫,t���*��1|��+��	F�D�e�sg�/Q��EK�	�
����@�O,�R���ue!�/�0)J�rLY%4^MViϢ��blB����&IL{���U�
��I�d�.��xbC�IA��!̹�W�WF�
�Ș`�p���	~9�����L�f|�����A�&�=���!
�;�����mqz� T+_7j��~ ,7HX�DW��$���X���p&�WJ�<��l/^�\�f@�����l�U)!/f''ϲ}�%S��oW���]�BUq�
�|��;�N�"�
Mi�4/2�T_�*�I���E�IG��d�~��G.�`@`����
�F�.�_�؃5���$�I
��.es:��q�%�E�PAKw]~
a��ʛ7-+��,���n�}g�tVzv��Y�g�-�ݗ�I����f�ԛVm�[��V�S���pj�R;5�;��	Ř�bQJ1[r��ܬ:�3�����2~��&������e�ʭ���
;�7�
+�8�1i��,R)�
X���>h�qW���n����^/_���e�Ua���Ey��>0�r��.��<c(��V�1��l5����4EZ�h��
���J䲁.�SMKI
�Cs���}�^=
��"��d��lFuqXi���sXt%�C;��O@~:�1K��mˆ�
`q@�=��ŏ)�)�!��x�?�����
������'�
آ�j���+=W5=��]��
��r�=�
+CdR�����6�XB�t� %@Tk+�s �3����f�"��#Wgp}�L�B���[��ل�j—ݭ�9݌���;��C��}�>���d�<����x�;�c=��~K��X�A]�I�Z�
8����!�D@|��W�o=
�L�ņO�b���b9L��cv�Br�?x�
+G�.�plR0��|U�/�O��Ћ�,t֧�򠤿˞��Z�ő��
�V
�r��wm�B����wm�;��
�S
�C�k���Ň�⟜g��.DY�#K��h"�
�xV�.���i����_
}�^|-H׳D���('��7�94�s��6����v�>EU�TU|��x�1���#�D�*K�1�A���uM9b�Z>�/���e�����O�l��
+endstream
+endobj
+9088 0 obj <<
+/Type /Page
+/Contents 9089 0 R
+/Resources 9087 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9031 0 R 9032 0 R 9051 0 R 9052 0 R 9053 0 R 9054 0 R 9055 0 R 9056 0 R 9057 0 R 9058 0 R 9059 0 R 9060 0 R 9061 0 R 9062 0 R 9063 0 R 9064 0 R 9065 0 R 9066 0 R 9067 0 R 9068 0 R 9069 0 R 9070 0 R 9071 0 R 9072 0 R 9073 0 R 9074 0 R 9075 0 R 9076 0 R 9077 0 R 9078 0 R 9079 0 R 9080 0 R 9081 0 R 9082 0 R 9083 0 R 9084 0 R 9085 0 R 9086 0 R ]
+>> endobj
+9031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 707.957 208.395 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a92ed2a28d3c4689eec62eae04cdc2520) >>
+>> endobj
+9032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 707.957 273.968 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+9051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 680.818 179.554 691.722]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 680.818 250.666 691.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) >>
+>> endobj
+9053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 653.679 220.579 664.583]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7bda239eefab2b9cc9cabc123bbaef31) >>
+>> endobj
+9054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 653.679 290.038 664.583]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 626.914 155.265 637.444]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d) >>
+>> endobj
+9056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 599.401 158.044 610.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) >>
+>> endobj
+9057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 599.401 227.204 610.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 572.262 158.044 583.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9eef881b5ea4e9dae4b2ff713a43af79) >>
+>> endobj
+9059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 572.262 203.683 583.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.894 572.262 281.839 583.166]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+9061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 534.164 161.013 545.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) >>
+>> endobj
+9062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 507.025 170.687 517.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 507.025 195.165 517.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) >>
+>> endobj
+9064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 469.301 170.687 479.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 469.301 187.563 479.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) >>
+>> endobj
+9066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 442.162 150.493 452.692]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) >>
+>> endobj
+9067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 414.649 181.845 425.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) >>
+>> endobj
+9068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 387.51 181.845 398.414]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+9069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 360.371 154.727 371.275]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) >>
+>> endobj
+9070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 333.606 176.505 344.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) >>
+>> endobj
+9071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 318.99 450.955 328.895]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+9072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.134 191.718 306.038]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 295.134 288.852 306.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe) >>
+>> endobj
+9074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.995 191.718 278.899]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 267.995 303.079 278.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) >>
+>> endobj
+9076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 240.856 169.013 251.76]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ab9156785517cdd6c775b365ea12d2d18) >>
+>> endobj
+9077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 240.856 248.973 251.76]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 172.15 203.075 183.053]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 172.15 296.324 183.053]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) >>
+>> endobj
+9080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 157.907 345.599 167.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 145.384 194.297 155.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) >>
+>> endobj
+9082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 118.245 188.759 128.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) >>
+>> endobj
+9083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 90.733 237.097 101.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.836 90.733 309.903 101.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) >>
+>> endobj
+9085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 76.49 398.006 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) >>
+>> endobj
+9086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9090 0 obj <<
+/D [9088 0 R /XYZ 89 770.89 null]
+>> endobj
+9091 0 obj <<
+/D [9088 0 R /XYZ 90 721.073 null]
+>> endobj
+9092 0 obj <<
+/D [9088 0 R /XYZ 90 697.7 null]
+>> endobj
+9093 0 obj <<
+/D [9088 0 R /XYZ 90 670.561 null]
+>> endobj
+9094 0 obj <<
+/D [9088 0 R /XYZ 90 643.422 null]
+>> endobj
+9095 0 obj <<
+/D [9088 0 R /XYZ 90 616.283 null]
+>> endobj
+9096 0 obj <<
+/D [9088 0 R /XYZ 90 589.144 null]
+>> endobj
+9097 0 obj <<
+/D [9088 0 R /XYZ 90 552.772 null]
+>> endobj
+9098 0 obj <<
+/D [9088 0 R /XYZ 90 523.907 null]
+>> endobj
+9099 0 obj <<
+/D [9088 0 R /XYZ 90 485.809 null]
+>> endobj
+9100 0 obj <<
+/D [9088 0 R /XYZ 90 458.67 null]
+>> endobj
+9101 0 obj <<
+/D [9088 0 R /XYZ 90 431.531 null]
+>> endobj
+9102 0 obj <<
+/D [9088 0 R /XYZ 90 404.392 null]
+>> endobj
+9103 0 obj <<
+/D [9088 0 R /XYZ 90 377.253 null]
+>> endobj
+9104 0 obj <<
+/D [9088 0 R /XYZ 90 312.016 null]
+>> endobj
+9105 0 obj <<
+/D [9088 0 R /XYZ 90 284.877 null]
+>> endobj
+9106 0 obj <<
+/D [9088 0 R /XYZ 90 257.738 null]
+>> endobj
+9107 0 obj <<
+/D [9088 0 R /XYZ 90 190.68 null]
+>> endobj
+9108 0 obj <<
+/D [9088 0 R /XYZ 90 190.68 null]
+>> endobj
+9109 0 obj <<
+/D [9088 0 R /XYZ 90 161.892 null]
+>> endobj
+9110 0 obj <<
+/D [9088 0 R /XYZ 90 135.825 null]
+>> endobj
+9111 0 obj <<
+/D [9088 0 R /XYZ 90 108.686 null]
+>> endobj
+9087 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F67 3037 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9129 0 obj <<
+/Length 2323      
+/Filter /FlateDecode
+>>
+stream
+x��Y[w�~���S+�+^���{�I�:�Zm69=�K�R�BRk��w�H��do��K����`.�|$i�	h��şVW�d$�y
�I��(��"���iz����@�)aY
����oVooV������ů

�$i��]|��LP"�4x0B� ��Up{��
jm��Gz�/�2��[�a
-x/������t��P��Rխ��i�z��`�C"�
�L#z�:	"��y�F���yc��wrw'
߻M	�b���I(R�!�ݐ�ȗ���(]�]q}�ڮ��5�Ίi6���f�~����;�h��w�ጌ
+�(wa���sa	����j̘Ҿ��ڝ��[Y�a��}j;��
��۴G���D��yq��[f)	!ZK��d�����6��,Z_0���i!QH
rPW���ɧK�����ۇKY��;�v���/s��/������>�@f�0KW���4� �(	�.���O��./+;od�nʽ�� �o0{[�3�
�w�֤��TBb0W� �e
u�Q�;;����‰u�����ȳN��Eu9^��z+c-�
�F���Hb��-�
��l�������
@{��,�
�Ort�L�Ue-
��x��O8L{U�� ���J����(��h���[Y㣲neӕ��
n����zQ=g�m��Z���ɺuMkz0l=1h9tj�w�:��'=�->
Z�} �*��
L/�*
�K�gblM

�ɨ�7v��?S�k��:Z�﬑�4
CHUc��cj��!��������
+��F��ö\oqXک�����>vH{#q6�K����'�ݫ�i+�Ɯ@��Y���:n���d�+�ؤõ΄�8`�L�4[�Q���%\��&qsC��M��0���"9^��~�\�9a
�	?Q>�jL"P������e#��B ��Dh03����P�Ƶ^�D�$]�
+]Fmtj�hw�؋�ܼvJ]8�<=.���ahʓ0Jmܾ�vaٌw�:��ݾ��
�z��
��3�8$�N�%M��镆�%јy�	t��Q�G�p�8u:�3Zb�&��yzV��츮�,�UU�����	~��$K�GB,"�����S_.c��G��TG�+�X�9�9Qݣ)�EOtڱyBh�y6�^x�0z�bİE�b�>NIlh�)�V�J�b�SqB@���>t�l��EX�8��5��d׎D<�W|x��(`QfB�y*��͜�P�
䏥5N��5�(

�'h4�i��y�ɶ�
��d
2hҙ@��S�����,�0g�{����I�M2
+��U�gN�����|R
s�i�B�
�o��� ���v&g7-���V_1����xS�j�������AHX�iCN�����d`�������7�`�PY�(�S��
�6
����LSXT~����j��U]�	�_#�D�޵S�k������/�¡��E�G��*��,w��6
�
�X]��
+p~���WɈF'�e$F���
O
+%��p`+�Pb���Hē�-�t\v�9I�x�vC�I�E�m
+����x�
���Q��h;i]�)7��
uR�BG����������ՆQd��
1a�	q�
�q9�$���bb�>�~5�<�ˈ�����|\OY>�j��Tw�&YO�f)��
�z�=t��r8�a�q֝�����bџ��h��6�/�{��Š�ۼ���C�H0��\���V�Sa�;�CU8���ę�,��gmk��>o ���������O)	ix��S!�����f��_�ݶQ��v|d�Fs:R�����3
�����ϳ_
k�~�{xbߘ��1�P���FY$���g(@�ʾ H��ȋx)c!�Un��}�j�
A�<2��
�-z
��
��Koy6�ςԝ��CY~���I
���	
��q�%}[v�6�ծ�
zܼf�R�З�y�b��$�
<�>G]��!uMb0(�S�ːW��)�d�u�ss���rBM��г��csCf��(�"WH��:��!�4�U�GI�k�0;let�@0%4
�:�KFx
Z�
3
+e�����A8־f�<�M#��
+��V��Q	t/-#\�'�.�"P����Ą������ߏ��	c>48�
q予���
��8d�$�f
�H��h�f/��̗�UT.[?�D����v���_�1'	 �
����!2��Wh&�%	7�c�Э�W��D�F��A��-��,xe�#�R,"v���䧟�������2��3���§+q�i���u�ف��Ji]�v��7��Ǒ=QH��Ϝm�����V��V��2��,3���{۲uw�1���IM�UM���7�}��
+endstream
+endobj
+9128 0 obj <<
+/Type /Page
+/Contents 9129 0 R
+/Resources 9127 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9114 0 R 9115 0 R 9116 0 R 9117 0 R 9118 0 R 9119 0 R 9120 0 R 9121 0 R 9122 0 R 9123 0 R 9124 0 R 9125 0 R 9126 0 R ]
+>> endobj
+9114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 659.383 226.034 670.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda) >>
+>> endobj
+9115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 659.383 397.32 670.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 632.173 156.281 643.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_afb150cd8c06fd986b4b57ffe29bc871e) >>
+>> endobj
+9117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 632.173 236.24 643.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.452 632.173 330.596 643.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 619.564 156.281 630.468]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_afb150cd8c06fd986b4b57ffe29bc871e) >>
+>> endobj
+9120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 619.564 236.24 630.468]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.452 619.564 330.596 630.468]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.27 545.704 256.414 556.608]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 533.749 130.826 544.653]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 356.488 184.027 363.707]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 144.002 184.027 151.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9130 0 obj <<
+/D [9128 0 R /XYZ 89 770.89 null]
+>> endobj
+9131 0 obj <<
+/D [9128 0 R /XYZ 90 704.286 null]
+>> endobj
+9132 0 obj <<
+/D [9128 0 R /XYZ 90 606.298 null]
+>> endobj
+9127 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F75 554 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F24 529 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9143 0 obj <<
+/Length 2380      
+/Filter /FlateDecode
+>>
+stream
+x��Z[wܶ~ׯ��m�.	�O�
�8qZ�V�
"�+�������wp�+J��r��>��B`0`��+
l
<?�����Y‚�1���M�� �R�ch��ې`�՚`��W+�C�V����aS�U���/��V�����V�����}׫j��
�OJ�u��ZmT�""Tu��T�D!����Og?^�}8#��Ճ�DYu��
r��)���"�1�� �
�2xs��3�t\�-� Fi„�"!1‚	!���m���Sm�+�x���`��C��`M�v�_L�������j
���j
;�b�R�<7����rD��͘b��\Wu�
�V9
՚�q
�)l(v�~�$�]	ƥT�l.͕���
"P�S��fV����pӔe��<�)��ʚ�|ᕾCQ��"mэg���Ɩ[3:;�Z�G��fhm��
�s�f۪n�Թ�!¾�/�a��S����ϟ1:�%{�rnw��I&�"A$��b��P;ff,
�� }Ozk.
v�r5�n��8�Al�iZ[9̛��5�=�]�Jm
}1.��:K�u^����e_kJ`�)"Υoy�Tp����mg.��Z�~���e/!��	Y���(�&�a����(5ٟǚ���y:4�?4F_�?�Wk�X8t�t5+�n���
C����uf���\��1�]��1�4�t�@
��o:誶V�Q����\
+��Y<���
Kib�Vu�]��)�O�\WQg含ܷl)m�-t��"<������^�9�9�#��1ƸW�����f�ح7���zɢ:ۣ��� �j�c
��镝�_�ގ�n�a�k�ޝ��b���W+��u�16K,4[M@�C��vC�k:�ء|����FQ�ڪ[���P�z��^�U9�2P�����
����#�?]�#cq
+ �	g��1$�/�Q���ԗ��0���}X�9��_`ܯҕ}���ƌ�'�=1��3�m6�br̦Y�
���lZ��
੡�2�
+�M�1S6���7:h4��	���	��!m��� �?!�Y���xe��Z��5p�b�p�wC2I���Ϳ)��
�����y�W�I���� �x�^�w'�N� ���;�7
�tȀ3�;�oz�z2��
٦�d�P��H�,�bsdX r��nF���H��c�4V�J�ر[ o���<w�nmY/�X&"ţ�+
P�d�/��ڏ��K��4�inE-��4��
+�
��]�UA�*@"u ���ܘ@�{/5s�I����
+ZT��paĨ����(KU/�1��:��^tD��ei��*[��*ˢ�W�r�ݘs��:"(�Z�Ŷ�eik����J:B�‚��g����Z���P�Ǿ]5z����4	�� ����Zp����d�
bA�P��@ qK�>s|��0��3�e`x��Q���@�9+��-��y��&*84�M}�+k�����VCd|���y���LIxj�8mI��{��p����<K�6Nb� ��4��*�V�k5劐�>��V�b�0����0Xa��}�]�E8}�]��V���C`$b2���{U`:��Q�A���*��CѾ�ZlY��x�C�<1d)��)���I
��c��1ĊX��`�-H#�?I2y NG>
�c��o��,j�n�+�h
Íg
<
x����(�l��B��=*떜���3�x�9Xm ��-yL���A��Nz���E�[`����
�a�
���;��)>�
�@�U])Dφ:s�|5,��������D ��F�W�O�DF��� E	�Q�*�]E
x�L��
+b:��Z���fzx��]VK��K�<��<F1����e#s{

4�8���� �S��rUC
��C�%0I�K�Q�F�
#^�~ڿ"ȃۦZ #��
���3�p��Q
i߿y�Ⅽ�rj��֐n�]��Cf�
�����N�� �}>T;-�ز��|dL`���?���������nG����������$ǖ�
1>���E�H�S8�t
dI�N�K��;�}�������GQ��+��Zzu�Q���	b7d��� ��`�����e�$���7:��$�d.��g���������?:)��:��
IH>�N�;@9���v/�z��G�zШ�M'���o6�מ(T��
���­���;.�>�4"��n9��5iNM䪭ܢ.�B����0HAR"��'s��̻�����Q���
�/z7����h)�O��h
+w�W�}��i€���m|<�����? �J(;��
t�R����C� ������_���A���&*nW��z𙖆K+�n$
a��ε�(��[�
|�g�FtP�h��[_������j��mQ�T�1v���<7x�gX5>1+j�
"��
9��2��`��=��'Ԍ���G?�u���X����r
q|
+endstream
+endobj
+9142 0 obj <<
+/Type /Page
+/Contents 9143 0 R
+/Resources 9141 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9135 0 R 9136 0 R 9137 0 R 9138 0 R 9139 0 R 9140 0 R ]
+>> endobj
+9135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 631.833 184.027 639.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 510.79 184.027 518.009]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 393.732 184.027 400.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) >>
+>> endobj
+9138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.892 196.728 312.036 207.632]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.804 115.868 445.257 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f) >>
+>> endobj
+9140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9144 0 obj <<
+/D [9142 0 R /XYZ 89 770.89 null]
+>> endobj
+9145 0 obj <<
+/D [9142 0 R /XYZ 90 274.129 null]
+>> endobj
+9050 0 obj <<
+/D [9142 0 R /XYZ 90 251.384 null]
+>> endobj
+9146 0 obj <<
+/D [9142 0 R /XYZ 90 251.384 null]
+>> endobj
+9147 0 obj <<
+/D [9142 0 R /XYZ 90 181.313 null]
+>> endobj
+9113 0 obj <<
+/D [9142 0 R /XYZ 90 158.569 null]
+>> endobj
+9148 0 obj <<
+/D [9142 0 R /XYZ 90 158.569 null]
+>> endobj
+9141 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F32 764 0 R /F7 795 0 R /F93 763 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9172 0 obj <<
+/Length 1723      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�m@'�1�wRA7�k��]_�&�>�E�ش#L�]I^���HI��8i�t�P�^L�
{Hao�a�������b^�I�w:��)
 !�i��4����/<&5"��Y��'o^�>}}zR�6xz:�8 ��� ���x>8{��	�~�a��]���
�
��w2�c��-QQ�g�j[F"�Z at 0���`���42�$�(���dboޚ8̍{8Z%�<Z$��p1^�M���b�v���J�R��S�哃�E��&��d���E���I�|������f%�i�A���GvLk�D�NR
y�
������1]��:Z�^�����/�,��Zx�
	A�Q�LbW��d��f�#VS�9�&���l�6��l� ��z�L�F
�S\{#�E 
`�R������M�#�f
BK���|�ʗ�
�*p=p9* p@�����Qn�
�h�8*ӧa�;�e �H1U���=�4
+���ZBG׮�
+�k��2_ea����/Lzef~�i-/�Z�w*�
+X
�
�iZ��Y��Jz߲F����*�Yqf�ql�FIe�S�.��e�2��&3�0-���ވa���X9_�h���Ȃ�U:��m�T���z�ϐr���
	�/å}*��j����ʰb�
#��৽
��&�=j]�����(�Aݟ�[�搧��S�n��q�zq�V�vd\����o�j��)T��&�(�܍�0s��C���=��Sv�bf��WSM%,�m����}�c����
��3�*�=s�yG�h�:	��r���몆-d�\{%z�Ҽe� y\ 2L��UJE�DZ5���o#V
z���UE�6� tB 
Y
�li��QI��0��������
+��e˄��yB���>8�a�cG ��
C�H��mH�XmŌ�,؍bN�
�
����";ҫ(b�|`��e�{�ҫd�ӡ�Mj��ٚ�T[��(V�c���
^5$j/�3�Mh/�u�
4m�4�	�S�:��(ǫ���ۂ�i�v)
YW�&�;r�@Zּ�כ��(P�
+I_0*�mun�����+3?7i{����]���2%�	�2e1��
��օ��I>���PG�S�l��j=�ARe���9��iY��j衙����R]���
�
a�8�����6	�+�����ȇ�
%
2�O�$Lו#��;�T�ڥ�G�p�T�7T�
f��Ϋr�v
��1� ' [.;4��/ڃ� ����|K }�e�,)�\��.J~��dw
�������-����50I�mU��恆Et����5E���]|�5�Lݵ��wv��'�w��`CFH�����Y�b�׶%(᝶}MO�>΂��	Z2 ����$����W���?&6�x�z�p��������ب}r�2�w�)0���;8-J�;�m�AK�ߟ�n���
�Pޮ��7�����oM�J��*9xc8È�z� ���K�2a_�
�Gn�cO0
�$�cv������B��n��‘ĺ9����(��"EM#�S�M1�f�.ʡ������a�
^DI���]
�=�~����9�&� ����m�u�O�� ������Dp���a㏉*I�mܗ?Vs܋��s�
. at X#n�F���F�
�	lfd��}Vz|���������+�;}&�0
�wg-Y}�JPُ�p��OLu�c���6��AyF��֧��<_
�f�Ifh��_��frqj�j��Ǻ�EZ��^�ˣ�+��h8dl
+endstream
+endobj
+9171 0 obj <<
+/Type /Page
+/Contents 9172 0 R
+/Resources 9170 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9149 0 R 9150 0 R 9151 0 R 9152 0 R 9153 0 R 9154 0 R 9155 0 R 9156 0 R 9157 0 R 9158 0 R 9159 0 R 9160 0 R 9161 0 R 9162 0 R 9163 0 R 9164 0 R 9165 0 R 9166 0 R 9167 0 R 9169 0 R ]
+>> endobj
+9149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 380.99 249.819 391.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_acd703faaddfab4f29bdd2958b4a9d1c3) >>
+>> endobj
+9150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 349.008 249.819 359.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a94534f2d8132436533398ce6cdca13c8) >>
+>> endobj
+9151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.156 349.008 413.065 359.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 317.026 257.568 327.93]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a8ba666eb5beace7b116d9f9e16e9a742) >>
+>> endobj
+9153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.044 249.819 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.559 285.044 301.365 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_ae23adcce73c0875e8a7dc6b3797e57ac) >>
+>> endobj
+9155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.702 285.044 464.611 295.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 253.063 179.255 263.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 253.063 230.163 263.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a7ec7cf59ce4c8e5902704637c02f39bd) >>
+>> endobj
+9158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 221.081 179.255 231.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.225 221.081 233.28 231.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a76aee99fe2a1984162c8efbf867a97b2) >>
+>> endobj
+9160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 189.099 249.819 200.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.559 189.099 306.984 200.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_ad21fe8d252487a1df3b3c90f94fbcfb0) >>
+>> endobj
+9162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.117 249.819 168.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.317 157.117 296.743 168.021]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_aff430afd2381244ef77bb37670ce5627) >>
+>> endobj
+9164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 125.136 180.54 136.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a71f52ba9ef61e0f336d025241003646c) >>
+>> endobj
+9165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 125.136 343.786 136.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 93.154 178.239 104.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a53db1aeb67216c949d1aa627299ab5bf) >>
+>> endobj
+9167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 93.154 341.484 104.058]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) >>
+>> endobj
+9169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9173 0 obj <<
+/D [9171 0 R /XYZ 89 770.89 null]
+>> endobj
+9174 0 obj <<
+/D [9171 0 R /XYZ 90 721.073 null]
+>> endobj
+9133 0 obj <<
+/D [9171 0 R /XYZ 90 703.282 null]
+>> endobj
+9175 0 obj <<
+/D [9171 0 R /XYZ 90 703.282 null]
+>> endobj
+9134 0 obj <<
+/D [9171 0 R /XYZ 121.143 622.199 null]
+>> endobj
+9176 0 obj <<
+/D [9171 0 R /XYZ 90 615.559 null]
+>> endobj
+9177 0 obj <<
+/D [9171 0 R /XYZ 90 593.512 null]
+>> endobj
+1843 0 obj <<
+/D [9171 0 R /XYZ 90 516.069 null]
+>> endobj
+330 0 obj <<
+/D [9171 0 R /XYZ 90 506.915 null]
+>> endobj
+9178 0 obj <<
+/D [9171 0 R /XYZ 90 402.026 null]
+>> endobj
+9179 0 obj <<
+/D [9171 0 R /XYZ 90 402.026 null]
+>> endobj
+9180 0 obj <<
+/D [9171 0 R /XYZ 90 368.311 null]
+>> endobj
+9181 0 obj <<
+/D [9171 0 R /XYZ 90 336.329 null]
+>> endobj
+9182 0 obj <<
+/D [9171 0 R /XYZ 90 306.073 null]
+>> endobj
+9183 0 obj <<
+/D [9171 0 R /XYZ 90 272.365 null]
+>> endobj
+9184 0 obj <<
+/D [9171 0 R /XYZ 90 240.384 null]
+>> endobj
+9185 0 obj <<
+/D [9171 0 R /XYZ 90 210.128 null]
+>> endobj
+9186 0 obj <<
+/D [9171 0 R /XYZ 90 176.42 null]
+>> endobj
+9187 0 obj <<
+/D [9171 0 R /XYZ 90 144.439 null]
+>> endobj
+9188 0 obj <<
+/D [9171 0 R /XYZ 90 112.457 null]
+>> endobj
+9170 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9224 0 obj <<
+/Length 1848      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~ϯp�
�
�J���B���2Ph���L�q�ĭ/�v¯��5�7�Ҳ��Ї];�tt.�9瓍����ǣ�FG�BωQ
��9[81vB?F,�_s�՘`İ;!��K�8��dz�R<�����d�,��I�=>~��d��l����2<�)O�Fݞ���h�˔�@��xLc�9{:zx6z;"�v�R��0r�b��
v�0���ȋ#睜T8>��;/F����#�ĭ�h�@V�6B!�4��h�
�6�r>mi�����mV�RA��ѣ�+;�#Ϗ�����5ky���vB�6>��[ui�M�
=i��K^��
�
H���
`��Ӫl�ig���F=�4�i+5���
+ٜ���'�IU�[5/IS���f
Oҕzj5�[��J�GV��D_���<m�3�I�ND�^��>
9����F�ĚJP̘2u�B���~F��~��`���!
�?|�����.�P�cX����WaZTy^����e�R
��\?\�Y�jطf��`����1�BHU�я��"T���WjN��P=�x��$����S�
�, at q�Eҗ4��b	G
�I
"4	 �lhuo�rx٨��^��
^c���Q�Pu���������a�ܣ�7���x�8bf��i٠_f�Q�Ħ�!���v�Ly9.���
]���9b�~v�V&f�
J	�[�զU���iA����>" ��pf��+l����� L#؜@�
0�$���
��Jl�D���P�lM�_EUs�e�5\1]_7�͚��O�M�/K�g�>�X�6�̸�C3��[��"���EVM
幰�kU�'f
+L�6e({��i���Sk�
v�u�AY�|���+.�)>��	7�UX(l�
��F�n��ha5��M����檫im�����;��NҎ�W2
�uU
���4�Ƙ����"��c�^_Sʆ�`"��
�V�0]�8��Ri����p����Pya����=�4���C,
+-�1L��	�,B��	'�G�����q��ő�W��� XdWE�I4Vdq����+� �#�+ ɩ�_21�y���-T7���
�|I�=����U�rn`	��
�DX��������h,
#orū݀)�3��j�mV��f�u���L�<����
Y�LT�$,�r<�����{��C�Wq�|����Z�S���?ڔ�(�ߠ٢�R���-i�=���RV�a�����
�)2�w�
�tXP�B����6���Q�h�Lv[���%G�(���ôSo
`��� �nz.j`�o�P�������%�́Ncy�����0���|��>�R8�Y,@�/�ޱ�cy�z����(���(]
RF�^�om����C���D�\:����B�2jbHr8H�)2���o�oDᒼ�x at P!
+�J����vU�6K��_��u5�w._nd���,U
��lY^�Hޗ�56V����2/�zn��{5�'W�b&d�L[��Jw8��()��\�Fn��-D�\ ��*�6[�Q�g�=�CAd�o��gȳ��0
�g�ȻJ@$��k�A0��7�}dk�#�"��U��`
��z!�(#���[Ϋ�Ț_&���jE~��0S��H2��.y�6�γ�/:��P�y� �S`��+ ��>	���WJ4���_G/����SbZ�A��oU�/E���e�o?�r�W
��3��w�9�}��N��+��"|Ȁx�
+��䙺y���;�������$�k��?O�2� �R�o/�9�*��p����M{�->/�ݫ�]
�6ˆ�K����
;b�C�3�Zx�� +a��<��Ə
�7��x��v�&aH��|hꁣ'��<����O�.
�
+endstream
+endobj
+9223 0 obj <<
+/Type /Page
+/Contents 9224 0 R
+/Resources 9222 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9168 0 R 9227 0 R 9189 0 R 9190 0 R 9191 0 R 9192 0 R 9193 0 R 9194 0 R 9195 0 R 9196 0 R 9197 0 R 9198 0 R 9199 0 R 9200 0 R 9201 0 R 9202 0 R 9203 0 R 9204 0 R 9205 0 R 9206 0 R 9207 0 R 9208 0 R 9209 0 R 9210 0 R 9221 0 R ]
+>> endobj
+9168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.856 665.984 513.996 676.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 654.028 125.317 664.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+9189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.852 291.351 245.94 302.255]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) >>
+>> endobj
+9190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.277 291.351 329.905 302.255]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.331 267.776 222.419 278.68]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) >>
+>> endobj
+9192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.234 267.776 282.862 278.68]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 206.827 191.216 217.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a) >>
+>> endobj
+9194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 206.827 251.659 217.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 183.252 191.216 194.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) >>
+>> endobj
+9196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.032 183.252 251.659 194.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.392 183.252 350.02 194.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 159.677 190.26 170.58]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) >>
+>> endobj
+9199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 159.677 250.703 170.58]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 136.101 190.26 147.005]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) >>
+>> endobj
+9201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.075 136.101 250.703 147.005]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.436 136.101 349.063 147.005]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 112.526 192.471 123.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) >>
+>> endobj
+9204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.287 112.526 252.914 123.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.647 112.526 351.275 123.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.36 112.526 448.988 123.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 88.951 191.366 99.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) >>
+>> endobj
+9208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.181 88.951 251.809 99.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.542 88.951 350.169 99.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.255 88.951 447.882 99.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9225 0 obj <<
+/D [9223 0 R /XYZ 89 770.89 null]
+>> endobj
+9226 0 obj <<
+/D [9223 0 R /XYZ 90 721.073 null]
+>> endobj
+1844 0 obj <<
+/D [9223 0 R /XYZ 90 463.79 null]
+>> endobj
+334 0 obj <<
+/D [9223 0 R /XYZ 90 456.67 null]
+>> endobj
+9228 0 obj <<
+/D [9223 0 R /XYZ 90 358.368 null]
+>> endobj
+9222 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F13 834 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9266 0 obj <<
+/Length 1989      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6���<��$��&љ
�$�$m�4qOI�CK�©D�$�G~}J�DIv�4j��Mr�X�~X, �`
��e����I����28�"���p7
+>�T������1"J�W���ߞ�x{����8�]���q
+��`8�}���<~
`�T
\[�i�)��$������-�i��
����/"B!΀O�
+�x�Y�q 0���y:��E�؛��J1,��p��D�7�YR��8[Ue�>a�7�	_�yw�*����.�
�<�b�y
�
tTO�Vv�ge��3[�ň�8@�.G�})B�O�N�Fd��F��+x��������
+%%�`pD��a(�
�7��Fz�,z��9jiZAk@)���>ET=�-��d8� �y� ��wn���������ٺ�tU�Qs|Bn|�b/2э�h�5����Mt��
�N���?�O�t6�B�EW�
�Vy��MZ
$٨S�@R-
�ڡE ��w����zr�}���Fg�Gz�ޫd2ם�8�#K�	�.
TH�
y�h�j�O�.�@Z
�T"�l�)���?��� up���%�H��4g�UZ�1�.���O��WϠ�6"��D
+�
戗�
��R��f+ ME�\J0c���ͬ�x��"4w�0"��3���>��#������]�}i�p���+]��auV#�8��cf_u.c"�6U��0��*
�KAN������wK�{q���?�.�y��z��εQ�N��9�}�}����2���}0�:�e_��ﵚ�,���X;�d�IYy9O�>�B/T���F��("w
];�%w��L�[�3��6���~wT8�>rnz��yaQ�$L�%s!N��J�8si~�.�掆y�gy�ZA{�&{��H�t6J����I�������3�RT��J&Y-�z�'����T_�̛��ʉk�ʽ
^j�hM��g]
(�m-���^s�k������/D
2�:Bd.6J-�dR43(Tu*�yUq� ���*I'�
�1ܕ�"�U&�o&z#�^��y>_�!�K��z*s�Y��f���+sP�w��")l��6�
vأ��ع�/l��0���}2I��„�<3�بD�y�K	��ħ��g�	���l�GH�Z��L;�#

$jkn�`�-۳�=y�f�$C��L�
a�
e޴
5�O�r�pP
U
�u
+1͋E�~Oq�Z����;��+��������Ef�RU��������b|��$[I��
�q�T�I=)�d�ԟ3O�{=���oN�ٰr5��9ΧP�$k8�MY��7�".�Z���<��,`�<��
�Q�b�8ȳw-/�V	$����)bh�iI�&
�K��		�׭��!�u<�
J%b8j�se̩Ss쪝r9���
+iOԐ�ct\��V�� 
-��Q�G��H�H��֛*���rCB���L���>���;
+I�B){F�ڔg�\s*vi[_�BgC�(����$�br�&�v��
^��3ξC��޴��Y
�ntA�uIu�A�
+fg5��
���%JA��>̡zΣ�9]��
+y
���j��u�*��.��{�(���N^R�!U�.�l�2=�*t��c��ҭ�_XU����v[	��C$�)
C~�+)�s��j��"?f+�4��=,z�V^Y��,fF�S�
+K;A����g�ı
G{`ƨ�u����yڡ�`b1Sn��)GX�oc��2��8amR���"'���ޝh� )8X����V
������AA�
����a[�
+�9*��{TȠ���3���j�h&�&�!�(~c�y��O敾���Χ+�����Z��>�MB=fӃɦ0�I�oe�
@oɪ1Gk�
;�����o!CG�k��orʦ�Kv�D����ۗ�7���)
��l�n �K��ozg"1�}�2�_��߽����g����ӛ$s;�~�ٮ�t�<�!nP��<��k�yFÑte��|>.u6F�|�Xc�
�]��n��_t�J��o8���
+endstream
+endobj
+9265 0 obj <<
+/Type /Page
+/Contents 9266 0 R
+/Resources 9264 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9112 0 R
+/Annots [ 9211 0 R 9212 0 R 9213 0 R 9214 0 R 9215 0 R 9216 0 R 9217 0 R 9218 0 R 9219 0 R 9220 0 R 9237 0 R 9238 0 R 9239 0 R 9240 0 R 9241 0 R 9242 0 R 9243 0 R 9244 0 R 9245 0 R 9246 0 R 9247 0 R 9248 0 R 9249 0 R 9250 0 R 9251 0 R 9252 0 R 9253 0 R 9254 0 R 9255 0 R 9256 0 R 9257 0 R 9258 0 R 9259 0 R 9260 0 R 9261 0 R 9262 0 R 9263 0 R ]
+>> endobj
+9211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.658 707.957 203.949 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce) >>
+>> endobj
+9212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.323 707.957 264.95 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.417 707.957 341.045 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.406 707.957 416.034 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.369 707.957 513.996 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.682 696.002 222.309 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 670.552 191.923 681.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) >>
+>> endobj
+9218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.739 670.552 252.366 681.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.099 670.552 350.727 681.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.812 670.552 448.44 681.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 645.103 211.849 656.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) >>
+>> endobj
+9238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.664 645.103 272.292 656.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.025 645.103 370.652 656.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.738 645.103 468.365 656.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 619.653 211.301 630.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09) >>
+>> endobj
+9242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.116 619.653 271.744 630.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.477 619.653 370.104 630.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.19 619.653 467.817 630.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 594.204 216.681 605.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) >>
+>> endobj
+9246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.496 594.204 277.124 605.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.857 594.204 375.484 605.108]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 568.754 213.662 579.658]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) >>
+>> endobj
+9249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.478 568.754 274.105 579.658]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.838 568.754 372.465 579.658]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 543.305 215.316 554.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) >>
+>> endobj
+9252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.131 543.305 275.759 554.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.492 543.305 374.119 554.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.205 543.305 471.832 554.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 517.855 191.923 528.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c) >>
+>> endobj
+9256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.739 517.855 252.366 528.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.099 517.855 350.727 528.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 492.405 157.254 503.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2) >>
+>> endobj
+9259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.591 492.405 241.218 503.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.951 492.405 339.579 503.309]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 390.171 145.631 401.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
+>> endobj
+9262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [179.204 378.838 288.793 389.12]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://gmplib.org/)>>
+>> endobj
+9263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9267 0 obj <<
+/D [9265 0 R /XYZ 89 770.89 null]
+>> endobj
+9268 0 obj <<
+/D [9265 0 R /XYZ 90 508.442 null]
+>> endobj
+9269 0 obj <<
+/D [9265 0 R /XYZ 90 451.781 null]
+>> endobj
+9270 0 obj <<
+/D [9265 0 R /XYZ 90 361.801 null]
+>> endobj
+9229 0 obj <<
+/D [9265 0 R /XYZ 90 338.109 null]
+>> endobj
+9271 0 obj <<
+/D [9265 0 R /XYZ 90 338.109 null]
+>> endobj
+9230 0 obj <<
+/D [9265 0 R /XYZ 90 296.405 null]
+>> endobj
+9272 0 obj <<
+/D [9265 0 R /XYZ 90 291.922 null]
+>> endobj
+9231 0 obj <<
+/D [9265 0 R /XYZ 90 252.19 null]
+>> endobj
+9273 0 obj <<
+/D [9265 0 R /XYZ 90 247.707 null]
+>> endobj
+9232 0 obj <<
+/D [9265 0 R /XYZ 90 207.975 null]
+>> endobj
+9274 0 obj <<
+/D [9265 0 R /XYZ 90 203.492 null]
+>> endobj
+9233 0 obj <<
+/D [9265 0 R /XYZ 90 163.76 null]
+>> endobj
+9275 0 obj <<
+/D [9265 0 R /XYZ 90 159.276 null]
+>> endobj
+9234 0 obj <<
+/D [9265 0 R /XYZ 90 119.545 null]
+>> endobj
+9276 0 obj <<
+/D [9265 0 R /XYZ 90 115.061 null]
+>> endobj
+9235 0 obj <<
+/D [9265 0 R /XYZ 90 75.329 null]
+>> endobj
+9264 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F66 3179 0 R /F119 3070 0 R /F90 758 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9288 0 obj <<
+/Length 2153      
+/Filter /FlateDecode
+>>
+stream
+x��Ys�F���+�+�h��U����e'�R��q� "YK	������I���!ey�I������Mρ����ד�L�~P�3�H*��;�`Oq���_���'	<���=%�������b?Y?-�p|�iu�
�O�^����Û8��v:��߮��.��ktO���x
�Bʩ�a��7o'��L
&\�
�]Hio���{��
��0bF{3���)�ϵ���	.Z����(���m#r�4D�*��8��OV!�ˉ��6Ǯ��P4Sð�s�"�M��3D�2ix�Z-�������	��u'{�0�lÄ$HbY��#� D
�hD��B��7%�T��'�.u�E9"Z��t��x�j�;]�H���
|� t")|23&)�Bx3����L��6Zi���L����3��(E���eyS
�4qX���fUG���7��H�Q�
FA���r<'w�����jJ���ڭ��96O�F��G��+��'��kž�C �*
(c�	���Q��3���jrA;����n.�=)��l.XW����@N�B-ۑ�l�
+z�)N
�T��
+�
�`Bm��	\�/�	�m.A\�_�d�)�~E�d�
�(�aġK�DZ�!��h �CU
�1
�4�����R���F���A��L�R-(�]P��
���9g�M��= 4&�co���
l!�ԛ1j���9����
�G��؇?!G�
3:n'y�柤z�+J��=�TV
7����4��%�	���ﲡ�ψ?x��w�Qԡt�Q�����(Y�G�O���Z�~<J��`h�/����LWwDE�W:w�p,

�G�`��vy`w����u�C� lh+���
����9�@�`=��J��.?��Gn�S�
�?]���3]RIv����f��s�$�x�d�_�]�k�A���"�p� �*L[�%��.����(��ZQ/���V�~
�z�h,/�
tmhuM�p%M �͟��u��TI���UFo��tu���jhb�T%_`
�b\tЀ
Ӏ?���@�m��
~6@
��&������g��%��8m��8-���'���L�*�9���ai�ǫ�z�
Z����qͅ!@�����dz��V���V=7����U��+Z�:g��������Qr���^5�\t+�d� ���
+<�	����M
� f at u6u|��$�Ǝ��Y

�h�
�
z�(R�����R�!/�
5�
�y����pg���
�8CP=���c�Ta}6{�T	\@�曕�.�p$%��e�UA���#
Ճ���M����v��t�?X�_֭n�X�Vb��/*�g�.��{���;�h/��k(Ae��_C��b��
+V� E,�c��UXii�x���J�!I�B0*/ۋ}� ���(�P�-��+*� ���գ
.a�L5t;.
a,2U����]���X6�@��k�����N����M0%�RӬ.R^�-5
+.��!\L\��~���� ���A)�@mVn��f�A){I~@�`�;�!
����Gr0w�jB[�0��<o,k#�"�ʞ e����	�Q�N�i���`a���;�x�̌ჳ1;ç�4t���Q������,�tc���Q=�A���N[S�׾�A�ʾ�EcW�<
��kdk@ַ�{t��
+�a(7b����$]Eq�q
f�l^�.�� �me�[��
�d0�y4|S��6Z���㪼ϲ*⺏��E���+�&=���J�J L�B�����%�d�mtt���,l�ft�jV:vѴ�{���;'
�ė;m��JN��VS�q��L��<w
:7��z�+O
a-���̞�C~���2��}�-/�&I�L|���CB�aq3"L��
@1H+�ݕ�H�%/��=���%���"���
r��6ٴ�z��׉e��U��Y�W�n���̎[@gE7S*�R�f����-��r����"E�����؅��[o���V�ʿ����_M���
��`]6W�G��Ѷ�I`j�I���p�EE;s����~�dIP�B���SAs������n��]/�<�
g�A;`��Q��&�V�	7Y.���e
&�[	���.ȕ�������Ń�7�}�@�iu�� "Ѥ;
+endstream
+endobj
+9287 0 obj <<
+/Type /Page
+/Contents 9288 0 R
+/Resources 9286 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9285 0 R ]
+>> endobj
+9285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9289 0 obj <<
+/D [9287 0 R /XYZ 89 770.89 null]
+>> endobj
+9290 0 obj <<
+/D [9287 0 R /XYZ 90 721.073 null]
+>> endobj
+9236 0 obj <<
+/D [9287 0 R /XYZ 90 674.891 null]
+>> endobj
+9291 0 obj <<
+/D [9287 0 R /XYZ 90 670.407 null]
+>> endobj
+9277 0 obj <<
+/D [9287 0 R /XYZ 90 618.72 null]
+>> endobj
+9292 0 obj <<
+/D [9287 0 R /XYZ 90 614.237 null]
+>> endobj
+9278 0 obj <<
+/D [9287 0 R /XYZ 101.557 535.127 null]
+>> endobj
+9293 0 obj <<
+/D [9287 0 R /XYZ 90 530.545 null]
+>> endobj
+9279 0 obj <<
+/D [9287 0 R /XYZ 90 476.8 null]
+>> endobj
+9294 0 obj <<
+/D [9287 0 R /XYZ 90 472.317 null]
+>> endobj
+9280 0 obj <<
+/D [9287 0 R /XYZ 90 420.63 null]
+>> endobj
+9295 0 obj <<
+/D [9287 0 R /XYZ 90 416.147 null]
+>> endobj
+9281 0 obj <<
+/D [9287 0 R /XYZ 90 364.46 null]
+>> endobj
+9296 0 obj <<
+/D [9287 0 R /XYZ 90 359.977 null]
+>> endobj
+9282 0 obj <<
+/D [9287 0 R /XYZ 90 308.29 null]
+>> endobj
+9297 0 obj <<
+/D [9287 0 R /XYZ 90 303.806 null]
+>> endobj
+9283 0 obj <<
+/D [9287 0 R /XYZ 90 251.786 null]
+>> endobj
+9298 0 obj <<
+/D [9287 0 R /XYZ 90 247.302 null]
+>> endobj
+9284 0 obj <<
+/D [9287 0 R /XYZ 287.777 180.482 null]
+>> endobj
+9299 0 obj <<
+/D [9287 0 R /XYZ 90 174.464 null]
+>> endobj
+786 0 obj <<
+/D [9287 0 R /XYZ 90 84.824 null]
+>> endobj
+338 0 obj <<
+/D [9287 0 R /XYZ 90 77.486 null]
+>> endobj
+9286 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F11 613 0 R /F8 794 0 R /F119 3070 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9356 0 obj <<
+/Length 1859      
+/Filter /FlateDecode
+>>
+stream
+x��Zm��8��_�tR�H��l���ԗm��v�����jOo��K
+�m���_�����5ۗ����0~晱�#�
���M�>�������#�Y̘^>6\�G��]d�3-��3}a��C�g�K>~��tz|:��F�����W� JE�g����?؈��
���{�g)��e�51.F�p�2i� ��Z�IpK��4����`�ͳ��A�W� �!��dW������ƞ
��qinj��m�y2&��,yT
�`a��X`A��O�-xϋ�O<s����"�����'IP��y�/Ǯ�
��\�W����[N�K��X�
_�J(6������	C71�Qҿ�Y��#�$��V��ȅ�j��6��E@�Z`�J�r9�Ǧ�c��]���
	�ָ|9�2&��0ӆ��� J�
+��� W�� �(c{ ���_����E;]�w
+Ԭ@g��W��B��\
+	l�� aQ�=�V����[��6_
@;�6<���d!� 0��hO�\y<[����P5��/��׉�~�D7p��XP����x��9/T��:
�8��A,��d���'F�
S��yf�<+������ ⬑*�����	5<�EP��q��>
��8�
�����_��ǽ�b<d��2��:N�Ry?h��j-�Oq��d�)T�x
�p-�*�5�/��ّׄ�,�avH���꺐��Zd��Ŧ�x:��^�(� ��u��6
��u�l�bm�wt7o��5�q�C�0᳓l�
��h����sH1�a
���s���y^VE���??��RAa�I�A�d����]t�=W�k^�s��G����l
+�%�`���nyew
�
+��] 
�_�"Cvr��b":y�aM���X6������,���~����t�4�j6
R��;�*^|�F�
�b��W�]�i�>Ժ>����V����~��A�)��H����Ne�S����K���m
D�ڍ����/�������6�W��*��
+;r{�G�ogO^�:{y������&CQo���r��N�h	�� ��{�Ǜ�X���
 2�A�tv�
V|_}0��WG���o6e|�<�6��~Z�3�W��u�h�r咫�FlҩF�
��NwlO\�����^�U�ȳ �><q��k���Ã��£�p/߻6��͢��ͣ�>��n>��=xH����wUb��<ȳ�e�j�s�}Kg��¯��*Z�j�/�^ip�L=[�ri-��E^��2�J?/󒫦
���pճ(�Z0�+�P!��
+�)y��-I�`���o�W
k`�6z�����R��M�`)�'�Cj��n#�_)C�=
��!m
L�V-r��=�.E6ir�,p� (kZ�Q�&1�Mpr�n�'Y�A��R���DIęp��
fP�.���� ��}1yǁ)��m+
F�f̨�<��k�B��,(6�N��&�:��.!7I���{��#-�
D-��N\�5�6gn��x��3���v
A�
+٥݅\�-�>,ǚe$9{( 
�p���e�Z�FBJc�
+�h0�Q��Fh(����F �g��
ls.6�3���h���&ĵ�ĩC
��~�"|�=B�GS���i����~�*����w�u���u�

+_'��n}���p'�U��Hq�%�m`ފ�6b�Sc9�պh��;��rk��2
���&�6I^6�B����q�A�K`��O�T�ǖ}�T�::P��疏#X�׵���|Y���NR�x���V��MZ���	4�|�2ݔqv�R�[%/~
Sjjw�
+�u�r��$"����4�)��
Tv}h��c$���|�?R4�˪Z=8:��%�B�j�l�(*�Ƈ�5OҼ��3x�"h�8�_/��`
+endstream
+endobj
+9355 0 obj <<
+/Type /Page
+/Contents 9356 0 R
+/Resources 9354 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9301 0 R 9302 0 R 9303 0 R 9304 0 R 9305 0 R 9306 0 R 9307 0 R 9308 0 R 9309 0 R 9310 0 R 9311 0 R 9312 0 R 9313 0 R 9314 0 R 9315 0 R 9316 0 R 9317 0 R 9318 0 R 9319 0 R 9320 0 R 9321 0 R 9322 0 R 9323 0 R 9324 0 R 9325 0 R 9326 0 R 9327 0 R 9328 0 R 9329 0 R 9330 0 R 9331 0 R 9332 0 R 9333 0 R 9334 0 R 9335 0 R 9336 0 R 9337 0 R 9338 0 R 9339 0 R 9340 0 R 9341 0 R 9342 0 R 9343 0 R 9344 0 R 9345 0 R 9346 0 R 9347 0 R 9353 0 R ]
+>> endobj
+9301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 611.399 192.296 622.303]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.794 611.399 258.726 622.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) >>
+>> endobj
+9303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 542.016 134.164 552.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 542.016 203.623 552.92]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.787 542.016 373.176 552.92]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+9306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.006 542.016 448.254 552.92]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+9307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 514.411 134.164 525.315]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) >>
+>> endobj
+9308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 514.411 245.954 525.315]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 486.806 134.164 497.709]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564) >>
+>> endobj
+9310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 486.806 222.432 497.709]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.943 486.806 308.887 497.709]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+9312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 459.2 134.164 470.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) >>
+>> endobj
+9313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 459.2 239.328 470.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 431.595 134.164 442.499]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) >>
+>> endobj
+9315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 431.595 215.807 442.499]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.336 431.595 297.281 442.499]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+9317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 403.989 134.164 414.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a69a6e807d63018625b02e06c07a578db) >>
+>> endobj
+9318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 403.989 260.888 414.893]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 376.384 134.164 387.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a65f00faeb048901323ffd316d30d61a4) >>
+>> endobj
+9320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.98 376.384 237.366 387.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.434 376.384 324.379 387.288]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+9322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 336.823 134.164 347.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adcf35e414093ac621958d1badd313e25) >>
+>> endobj
+9323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 336.823 180.102 347.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+9324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.348 336.823 221.075 347.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+9325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.489 336.823 334.955 347.727]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.754 336.823 478.506 347.727]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 297.263 134.164 308.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a659cb16eede4860a0c3597638ca77830) >>
+>> endobj
+9328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 297.263 206.662 308.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+9329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.526 297.263 332.993 308.167]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.791 297.263 476.543 308.167]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.702 134.164 268.606]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8d060ee1328743ae25698bc5835a5703) >>
+>> endobj
+9332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.163 257.702 233.431 268.606]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+9333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.546 257.702 358.013 268.606]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.642 257.702 501.394 268.606]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 230.097 134.164 241.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) >>
+>> endobj
+9336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 230.097 209.431 241.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.624 230.097 308.09 241.001]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.889 230.097 451.641 241.001]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 180.574 134.164 191.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf) >>
+>> endobj
+9340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 180.574 181.755 191.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.319 180.574 274.785 191.478]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.584 180.574 418.336 191.478]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 152.968 134.164 163.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 152.968 185.71 163.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d) >>
+>> endobj
+9345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.048 152.968 233.301 163.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.824 190.738 100.728]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 89.824 261.85 100.728]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38) >>
+>> endobj
+9353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9357 0 obj <<
+/D [9355 0 R /XYZ 89 770.89 null]
+>> endobj
+9358 0 obj <<
+/D [9355 0 R /XYZ 90 628.251 null]
+>> endobj
+9359 0 obj <<
+/D [9355 0 R /XYZ 90 628.251 null]
+>> endobj
+9360 0 obj <<
+/D [9355 0 R /XYZ 90 560.865 null]
+>> endobj
+9361 0 obj <<
+/D [9355 0 R /XYZ 90 170.083 null]
+>> endobj
+9362 0 obj <<
+/D [9355 0 R /XYZ 90 104.758 null]
+>> endobj
+9354 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F39 2320 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9432 0 obj <<
+/Length 1836      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�6��W�R36
��i�i�θ��K��P$��C!);���A�T(��i9iu�������] ��\���觛����<�ن���4k��!j��T���(���~5&X�$��ֳx�`�<��E�<��/_^��t|nP�������k6c���:KC�l�غ��񧛷��7��#�`�Ⱦ)r\-LF>am
+?��02=W���2Lx�����#����ñqc8�8Ȇ!�9���!;�4��s����H�pNa��(aie�_���p>�`66��c#e~-��V���)�?"a
+��(���ϋ7���0$��C2
d[D;'®%�t��U��9 `7j��9�
�5Z�,dc��p&��fJ�ۨ:ثj�MY��K\����.
96�*E�(,Y��e9+,��
+�)���Ǧ������l�-�w���^�d��v)��;Ȱ	̥@�Ra���&��\0���wo��lʃ(-���dI?�u��H��v��BjZ�B���*��r���	ե��YPF72S�g��#xJ���]T.6|T%�����Bѥ+ �:V]�
�3zR�#�CR�8�(���6���|�)��G˗��PL�g����5y��N&`�ڃ0E�-&B���B�D����4��+t1�c

(����q����D;�����A5`�<_�0����ҋ�2�ZƓ��vxȍk��
���Yw���ٚ�O���dU`����[��,˓{ o<x
g��,eyPf����s9�Jη��G}\-�_A5�~\n���ص6O����+H$}�%�5�a݊�w"��ھX�v�y//�i�p���I�
���"��Q:W�,+�K��DӅĘ$�� �v	"�^])�wȁ���-��s!
`~#8��8����9Ѧ�6]���t��#ˡ�r4�H�_�C�<�¤����D��ui@�
�"'Y�`T�bS󘻿mp�ۿ%�9��cU �ᖑa��l
[r
{xsW��A��

�y�~Cj �4�e\�
�J#����b��d���T> �[&
�0�1E�l���<
+��}g�>�uM���?��ĕ[Wa��� �t5)X�N@�%薅<X���g0���� 9� �F�_�Ӟ�Y�Ȍ�s_�(��5�>�Xw�qĮu%EF3����&96�
�Ia�Jvr-�ٶ=��P
����p����Ӭ���� *��ȃ5Jȣ
+���͜��2ۑY�,�ߒ�J�|�,(���:�p[՞�Zʗ=���{}��s�}g{��1!�(�ĝ���gA��z�-.�s�]���޻_�|���*����l�\�
�>��9�j=^�A�L2>n�>"D|�����2gŮ;J/���*�E�1W�,�Z�w3�bD7��4�B.1��i�����N,�e&q�$�"��[���C,.� �x��X<,8�#д�W��҆�:X���O�J�}$yR��l,ZT��u,q�_�R(�`���
�
�c�gn����Ynkn8D�
(�����E��VdS�Bv�f�,T۷J��Nl�=<K;z��Rx����%���؂��!��c
+{&rM{�)�/.;��4��-���_

+i�3�붯օA���!�Zʜ8�vƂxU��u��,W塼���'��LN��1g�"u:����yv�S�^A#��ŻSۭ��
2���Ť�@�����zkm�v;��o���л�7F�7E
�a
PROM��
+���w��G��Ɣ�J�߂tU��~�:C�? o�g57�y�*�*��[�J��h
N
����EY._^\LV�sn�Xl��Cة�5��Z�,��o��Vq U_kU8RL�m �����8���,�V
��$��s o>���AR
+endstream
+endobj
+9431 0 obj <<
+/Type /Page
+/Contents 9432 0 R
+/Resources 9430 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9348 0 R 9349 0 R 9350 0 R 9351 0 R 9352 0 R 9375 0 R 9376 0 R 9377 0 R 9378 0 R 9379 0 R 9380 0 R 9381 0 R 9382 0 R 9383 0 R 9384 0 R 9385 0 R 9386 0 R 9387 0 R 9388 0 R 9389 0 R 9390 0 R 9391 0 R 9392 0 R 9393 0 R 9394 0 R 9395 0 R 9396 0 R 9397 0 R 9398 0 R 9399 0 R 9400 0 R 9401 0 R 9402 0 R 9403 0 R 9404 0 R 9405 0 R 9406 0 R 9407 0 R 9408 0 R 9409 0 R 9410 0 R 9411 0 R 9412 0 R 9413 0 R 9414 0 R 9415 0 R 9416 0 R 9417 0 R 9418 0 R 9419 0 R 9429 0 R ]
+>> endobj
+9348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 190.738 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 707.957 262.159 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) >>
+>> endobj
+9350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 694.196 390.082 704.102]
+/A << /S /GoTo /D (index_Grid_Affine_Dimension) >>
+>> endobj
+9351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 681.781 202.922 692.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 681.781 248.58 692.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) >>
+>> endobj
+9375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 655.606 202.922 666.51]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 655.606 296.181 666.51]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4) >>
+>> endobj
+9377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 618.471 233.069 629.375]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.808 618.471 295.594 629.375]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) >>
+>> endobj
+9379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 592.296 233.069 603.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.808 592.296 343.195 603.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) >>
+>> endobj
+9381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 566.12 248.003 577.024]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.742 566.12 323.26 577.024]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) >>
+>> endobj
+9383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 539.945 248.003 550.849]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.742 539.945 370.86 550.849]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) >>
+>> endobj
+9385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 513.769 205.692 524.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+9386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 513.769 261.312 524.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) >>
+>> endobj
+9387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 513.769 338.781 524.673]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+9388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 487.593 205.682 498.497]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+9389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 487.593 261.302 498.497]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) >>
+>> endobj
+9390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 487.593 353.705 498.497]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+9391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 461.418 205.682 472.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+9392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 461.418 261.302 472.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95) >>
+>> endobj
+9393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 461.418 330.462 472.322]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 435.242 205.692 446.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+9395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 435.242 261.312 446.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) >>
+>> endobj
+9396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 435.242 332.156 446.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 409.067 183.824 419.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) >>
+>> endobj
+9398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 383.265 192.272 393.795]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) >>
+>> endobj
+9399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 356.715 241.935 367.619]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) >>
+>> endobj
+9400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 332.532 213.163 343.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497) >>
+>> endobj
+9401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 332.532 260.754 343.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 308.723 189.901 319.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) >>
+>> endobj
+9403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 284.54 193.229 295.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) >>
+>> endobj
+9404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 257.991 238.459 268.895]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38) >>
+>> endobj
+9405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 232.189 187.689 242.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf) >>
+>> endobj
+9406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 232.189 226.693 242.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 207.632 228.895 218.536]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) >>
+>> endobj
+9408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 207.632 333.482 218.536]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 183.449 229.503 194.353]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) >>
+>> endobj
+9410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 183.449 334.089 194.353]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 159.266 187.264 170.17]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd) >>
+>> endobj
+9412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 159.266 293.213 170.17]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 159.266 371.148 170.17]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 159.266 455.727 170.17]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 112.169 187.264 123.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5) >>
+>> endobj
+9416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 112.169 293.213 123.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 112.169 371.148 123.073]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 112.169 455.727 123.073]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 100.213 220.058 111.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9433 0 obj <<
+/D [9431 0 R /XYZ 89 770.89 null]
+>> endobj
+9434 0 obj <<
+/D [9431 0 R /XYZ 90 721.073 null]
+>> endobj
+9435 0 obj <<
+/D [9431 0 R /XYZ 90 697.185 null]
+>> endobj
+9436 0 obj <<
+/D [9431 0 R /XYZ 90 671.009 null]
+>> endobj
+9437 0 obj <<
+/D [9431 0 R /XYZ 90 635.57 null]
+>> endobj
+9438 0 obj <<
+/D [9431 0 R /XYZ 90 607.699 null]
+>> endobj
+9439 0 obj <<
+/D [9431 0 R /XYZ 90 581.524 null]
+>> endobj
+9440 0 obj <<
+/D [9431 0 R /XYZ 90 555.348 null]
+>> endobj
+9441 0 obj <<
+/D [9431 0 R /XYZ 90 529.173 null]
+>> endobj
+9442 0 obj <<
+/D [9431 0 R /XYZ 90 502.997 null]
+>> endobj
+9443 0 obj <<
+/D [9431 0 R /XYZ 90 476.821 null]
+>> endobj
+9444 0 obj <<
+/D [9431 0 R /XYZ 90 450.646 null]
+>> endobj
+9445 0 obj <<
+/D [9431 0 R /XYZ 90 424.47 null]
+>> endobj
+9446 0 obj <<
+/D [9431 0 R /XYZ 90 398.295 null]
+>> endobj
+9447 0 obj <<
+/D [9431 0 R /XYZ 90 299.57 null]
+>> endobj
+9448 0 obj <<
+/D [9431 0 R /XYZ 90 273.394 null]
+>> endobj
+9430 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F66 3179 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9510 0 obj <<
+/Length 2241      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�6��W��PU#�$�j��Lj�L2��{��T�ɬ�HI����m |JI[�f��'R$�h4���ф�������?��.�y�H�Ե�������]���>�T��?����#"\�_�����_��Ի���g����18�|k�9��'���G
#&|�A7�Xep][Wg���\\���5��
=<B!F�?(�z��q�1�o�x�?W�$�\��u
&��	�p�%w{3��?0��8J�n?��
�����%2M�8ڗE�s9!܆&�o
t�o_�r9�
��t
�(kS�<����xI�HZ���
��,9�oM�Ȃsc�sm���B&Sʱ]�Ns�.�	2��:z�
D YSB�����~��6�R���
!�֜@�_�+K�ҴjȤ
	���%��a;���q�~4���
�z;>��)z��X�"rq��m��둚A�83z��]�X��2�
6� H��ro���g�pq;���:~�
�@�@,F1 A���ި1�S+�p��o5���y�9 
���<H��Sv�߄��,`������MZ at os���5��SJ��
c��W�8=Yt
����$��dw0���.��X��t�J7ϥ����\4"��íL&̳e�D��Y���2�2����i.�
��}Dx����1�G�o/'�N�筌@C�~�sX�
!A%�A� ��U��<Ȱ�g/-p	3�$�'�Z��d
���P�w���N�U�~���'H� 7wE�:�
Fe.7
�n
���VF�ʖ�B��E��ԹN
�U��Z�vx�]Wq�rS�%{
�$,�e.jO�02
+;6��f�Fu�Xz'�����m�!��֮�
պ.� �
�]H�H���m��M�SrӒM..Ո�4�
�0��0�,d;��:Ne�?���_��g4ur ����澜���]�B�*K�E+u<>�2��{�0�?	�-�N���ȓ0~(	pSw�$��G��{�+�R�c�,�X��/�c䍳�Q6J�$�g���+r�r�%��y�
1
�y�88�n��x�ן�F�53���O3�3
M��$��cёǙK�?������h�w��K�U2y$aei
w�A�*j��w�N�F
+�a�Py�3�\��\���FF:��??$�C ��&���y�^nn������H
݋x�>ȑ�>^��ǝ����n�!���{��1�pѽ��b��c�� -�`��N!���3���E������t��^m�]�1^:�|��{`Z��"n� #Z��JWa�K
���
���k���V]��'D�Yw	�yK//��K~�
R��B��|
�W`h�<Q�B�I��4��

�F��i٦e���k<~b4Q�A��
����Qdve,�N$�
3IQ���"��a
+"�[��@�6��!��3�7~���!P
��v|��� �
�xjd��^W�c�!�'�7`��s־!fo�{����B���Yo����{����Hk�fi
+ـ��o�vʐ���}���N���Q��
+{��|T�0?n� ��.}9,�������q2���b�D��N;5\tRqU9��V���/=QY,^:��3�
N�W�|9�$y�y�������ߩ�K$[�ֵ��J�oN����<��Z�� �> �.�����S`��m<$ݞ�>�p�;��pqNjJZ/���4W��H_ƈ]0�ו2��ƷA%D8k��~8_{��|�t�	���;-��B����Ѭ���K����U�.]��C��S��U:���eK���̇M9}�r�@�
�(�
iG �g�1��[<q�'�
�6*C�ӡ�	!�V_Wo֭;'s-9&�]��5�cz�ɂ��u-�P�
��3�Ъ}Q)F��tƌcg�X
�<����kj� 3F�E��5�Lj����A��&�"��N�2��A���HV�ho�i�]W
+�x��??��􎏼�8��0? B7��ήd�9�$
����}@5���� 
"��	r��(�>��W�Ҋ�2����w���;��s�
���ܣ�#�:��к�LlM8����9Ǻ�
,���v$6���LjQ2�6�2I�>�23Vz��c�7��,t)�(���ZG�C\�$~>��x�G����~Y��\�kì�cV����i%���b��B�����
p]�
>�ln`��|7��1��6��.)Kޫ<�^�#��TB@Ґ�\ɂ �^�J�R�x�# U�Ͳ��]\�lW��Vh
o���8
+����ՙ[��&N�/��p��.�� �� 2
+endstream
+endobj
+9509 0 obj <<
+/Type /Page
+/Contents 9510 0 R
+/Resources 9508 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9420 0 R 9421 0 R 9422 0 R 9423 0 R 9424 0 R 9425 0 R 9426 0 R 9427 0 R 9428 0 R 9457 0 R 9458 0 R 9459 0 R 9460 0 R 9461 0 R 9512 0 R 9462 0 R 9463 0 R 9464 0 R 9465 0 R 9466 0 R 9467 0 R 9468 0 R 9469 0 R 9470 0 R 9471 0 R 9472 0 R 9473 0 R 9474 0 R 9475 0 R 9476 0 R 9477 0 R 9478 0 R 9479 0 R 9480 0 R 9481 0 R 9482 0 R 9483 0 R 9484 0 R 9485 0 R 9486 0 R 9487 0 R 9488 0 R 9489 0 R 9490 0 R 9491 0 R 9492 0 R 9493 0 R 9494 0 R 9495 0 R 9496 0 R 9497 0 R 9498 0 R 9499 0 R 9500  [...]
+>> endobj
+9420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 707.957 186.348 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0) >>
+>> endobj
+9421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 707.957 293.772 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 707.957 373.367 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 707.957 456.837 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 661.039 186.348 671.943]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f) >>
+>> endobj
+9425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 661.039 293.772 671.943]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 661.039 373.367 671.943]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 661.039 456.837 671.943]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 649.084 218.404 659.988]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+9457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 614.12 187.446 625.024]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0) >>
+>> endobj
+9458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 614.12 292.979 625.024]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 614.12 370.447 625.024]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 614.12 456.762 625.024]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 614.12 513.996 625.024]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 602.539 159.485 613.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 602.539 240.62 613.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+9463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.985 589.49 378.999 599.395]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+9464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 567.202 180.496 578.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22) >>
+>> endobj
+9465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 567.202 228.087 578.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 543.198 213.153 554.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8) >>
+>> endobj
+9467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 543.198 260.744 554.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 519.194 161.677 530.098]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) >>
+>> endobj
+9469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 456.315 212.377 467.219]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114) >>
+>> endobj
+9470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 456.315 289.846 467.219]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+9471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 432.311 225.109 443.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe) >>
+>> endobj
+9472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.446 432.311 317.512 443.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+9473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 408.306 216.252 419.21]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) >>
+>> endobj
+9474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 408.306 328.042 419.21]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 384.302 254.827 395.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252) >>
+>> endobj
+9476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 384.302 343.096 395.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 360.671 205.752 371.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7) >>
+>> endobj
+9478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 360.671 276.595 371.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 336.294 209.627 347.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f) >>
+>> endobj
+9480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 336.294 314.791 347.197]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 312.289 248.202 323.193]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) >>
+>> endobj
+9482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 312.289 329.845 323.193]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 288.285 243.37 299.189]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) >>
+>> endobj
+9484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 288.285 320.839 299.189]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+9485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 264.281 247.246 275.185]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) >>
+>> endobj
+9486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 264.281 359.035 275.185]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 240.65 236.745 251.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) >>
+>> endobj
+9488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 240.65 307.588 251.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+9489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 216.272 240.62 227.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) >>
+>> endobj
+9490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 216.272 345.785 227.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 192.268 228.984 203.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b) >>
+>> endobj
+9492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.322 192.268 355.708 203.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 168.264 267.559 179.168]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) >>
+>> endobj
+9494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.375 168.264 370.761 179.168]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+9495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 144.633 193.577 155.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) >>
+>> endobj
+9496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 144.633 232.581 155.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 131.584 248.845 141.49]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+9498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 109.67 193.577 120.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) >>
+>> endobj
+9499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 109.67 277.691 120.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 96.621 247.177 106.526]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+9501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 223.465 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) >>
+>> endobj
+9502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 74.333 271.056 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9511 0 obj <<
+/D [9509 0 R /XYZ 89 770.89 null]
+>> endobj
+9508 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9610 0 obj <<
+/Length 3056      
+/Filter /FlateDecode
+>>
+stream
+x��\ko�F��_�OY	�&�$9�ͦE�t�M��-ڂ�-�&VU������w����[8� @DQ�s��9�ΐ����}s�����]1�D;ܙ]��4��R������9�D�ŒQJ���΃d�������.\%��6�J�����7I�Z,���W� M����&L̛���Zrs�\��_/��x}y��[�پq������_�l���Q"�7{0�63�|�g.�yA�a4?Ͱ��y0,GⰘ��å�a���4�n���Y��<���j	�x�h��B��e�G�$q�W����u�q
V
+m��6C��y^gQ��w�S
�h:��Q��U[CLG��-�("�Q3����rzQKN
™�AO�|��Z���K1vo"+Z�aX$�y|�7��E��.L��x�]����f[X���u�M���LԶTv�X�j�u�r�H�0@�T�k
0��_��8�'�<M$�f�q����
��8^?6����L���'qonKA
 x��:^泎��N���)�QЊ�YwӢo�=�xY :2�����kT|�?�I
+�q��9
t6�>~�Y�[*�,�;�}�n!,��&Q�u��Z�	�Zy���`����	��O���>���b@�ܮ45����Ws�
+(�
�?��;�[��B
�N$����B���
�+`�����T��F��:�9��4���k�����K
�{B�c�
s�8	z�
�l�0[�l0�ar�D#U�c��_F�6}�;x��{LO?��(����݅H3hl��zJ-��^J�"E�-	%KKz [�:d�&M@��RF�9�@��b �(� ���B�A͕��$ڞiH0
`llC?��' ��p�u�3���1�j\�[��cA��t��)��^��6چA��}����N�
=�`�;n�U
�����m�gIe��W?	s�3����
f/��U��7�6���e��O������!،
��Dt �P�
p �v��t�S)�^
DkÀ6z�>�M�A~����Vi�CN(u&�N%�@�M����-��o���7�ng�����	l���!y�P��w�	�*�ō�k��I�u�»@�
DI�a�R^
�,�$)M��IT�ѢhC_P���

+h؝
ń��(x�
+dX�
 nȄ�C@�}j�=d�. �Ϊ�'�gܥ��31�<��
����]r��|������q�d�q�f�w�Z��.a
���t�� �y ��cX�u�k����>>M���6܆I���W��P�:߰���$b�>\�\��p�\�I^͖$\��
�2(?��A�8قs�?# �l
g�oZ��@�M�گ��,�#L�?���܍*��s�{��k
��o�]	+��jg�i+XRO[���^�����-悰��ڶ5�Sv�>��a�Nmߓ�Jw�/�;/p
fRg�ul>OTģ9>��{N-��R�W�^�R�`Wm!#i��.��r��Q�
�Ü(ܫk�5��:k�����
7�c�Z�US�(Wu xm,6=�Z�D3�E78_z��גϋo�؊5҈���� �ʑSf�DХu�NڻC�n�
���
&I�?s��t[;����D̫�)��k�07��R�r�s
�
�
�c)���1%�~��}�`Vw%�sG�Pu2� [+�NA	r
%�1���a�y.�P�<N(�Ⅎ�����>YNR?29�M����
+<CYߥ=� \9D
�JI
X�״��Ӝ�$h�}Jj<<Y�����I��7	�*"��᭄A6�
iZ|�KLo�Z�6��[��}b?���ъ�X���Xt4ֺ�P]�(��h�Y<%RC8��6`v� $�M�I���4N�����d�F��5���
_�	��<�r��� �:�͏^D�\�c�.���(���"�aO��С�h�0��y�a�QW���@�c�&=v�a ���)c��>�7J{a�3�q�^?x�

J��� �`�g�+��:?���S�d۟��(�d����#U�
m)ϭ�B��=RA;�H=�M�+�k쑂%�=Rab��=RA��eK7�Eˆ[Q��2�O��t}U�*�@Yb�ߖ�����S#��4�K���Ki��8�]�lm&�٠ T�b6�l�fM\%��n	T�ֆD�iXz��E�m��*�?r�d�C���:pq�,�MQB�
sX�k灏a$\��煭��%���YDž��\טc>1B�z���5�)�gVj��Ru�o�&��DžB�k����S~Oi�n�o�.��_�g����"',ݐ�e�c�	�CN�\rr��8���:��ʶ��� [...]
JM�i����h}��dMT���0kݟ̥��&�W��{��6s&�����.�D���ZzxX8j���OuU~�Vu�>D�z��e��8�d?��0����S'�80��ޠ�A
�Gm�H:ain���Qp	��I˺���(�u��^������u�~[�NY���Qv�;��]�^�d�ś���^�����
q���z}x��?v�ߩF����.mC��N��\�lQo�u+k܃���vpm��W�c�L❟�@K�x�GGA���[��O}�6��o4��R��|�������wo_����O-��Gs�;\W1 ����ONt{����is V�''��������������:�|&l��m&���Z���Eb�k(6�B��Ř0�8O�q�Ч�`��0Y|m�+�9�I�X�I��62��c�DzΨ���;���4{�Pn��A�e{�������{�3	�[�m_H���[{�4L�������}�T]��>���vFL�N ��J���Yq� [...]
�?��V9
+endstream
+endobj
+9609 0 obj <<
+/Type /Page
+/Contents 9610 0 R
+/Resources 9608 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9503 0 R 9504 0 R 9505 0 R 9506 0 R 9535 0 R 9536 0 R 9537 0 R 9538 0 R 9539 0 R 9540 0 R 9541 0 R 9542 0 R 9543 0 R 9544 0 R 9545 0 R 9546 0 R 9547 0 R 9548 0 R 9549 0 R 9550 0 R 9551 0 R 9552 0 R 9553 0 R 9554 0 R 9555 0 R 9556 0 R 9557 0 R 9558 0 R 9559 0 R 9560 0 R 9561 0 R 9562 0 R 9563 0 R 9564 0 R 9565 0 R 9566 0 R 9567 0 R 9568 0 R 9569 0 R 9570 0 R 9571 0 R 9572 0 R 9573 0 R 9574 0 R 9575 0 R 9576 0 R 9577 0 R 9578 0 R 9579 0 R 9580 0 R 9612 0 R 9581 0 R 9582 0 R 9583  [...]
+>> endobj
+9503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.108 229.552 708.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) >>
+>> endobj
+9504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 697.108 277.144 708.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 673.417 266.673 684.321]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) >>
+>> endobj
+9506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 673.417 314.264 684.321]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 638.767 217.109 649.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) >>
+>> endobj
+9536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 638.767 264.7 649.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 626.249 274.983 636.154]
+/A << /S /GoTo /D (index_Convex_Polyhedral_Difference) >>
+>> endobj
+9538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 615.076 271.126 625.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) >>
+>> endobj
+9539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 615.076 318.717 625.98]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 602.558 326.259 612.463]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+9541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 580.427 198.26 591.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70) >>
+>> endobj
+9542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 580.427 236.665 591.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 580.427 353.317 591.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 568.845 246.458 579.375]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 555.953 269.939 565.858]
+/A << /S /GoTo /D (index_Grid_Affine_Transformation) >>
+>> endobj
+9546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 533.822 212.768 544.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) >>
+>> endobj
+9547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 533.822 252.959 544.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 533.822 375.145 544.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 522.24 286 532.771]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 509.348 277.928 519.253]
+/A << /S /GoTo /D (index_Grid_Affine_Transformation) >>
+>> endobj
+9551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 487.217 250.099 498.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) >>
+>> endobj
+9552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 487.217 289.446 498.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 487.217 379.512 498.121]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+9554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 487.217 513.996 498.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.909 475.262 415.293 486.166]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.557 463.68 277.701 474.21]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+9557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.468 449.579 441.891 461.744]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 428.657 261.881 439.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5) >>
+>> endobj
+9559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 428.657 300.286 439.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 428.657 388.504 439.561]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+9561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 428.657 520.199 439.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.909 416.702 415.293 427.606]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.557 405.12 277.701 415.65]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+9564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.87 391.019 449.708 403.184]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 370.097 250.748 381.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) >>
+>> endobj
+9566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 370.097 357.317 381.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 370.097 456.145 381.001]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+9568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 358.141 202.344 369.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.711 358.141 475.855 369.045]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+9570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.481 345.623 465.544 356.579]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 323.492 261.881 334.396]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) >>
+>> endobj
+9572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 323.492 365.272 334.396]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 323.492 460.793 334.396]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+9574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 311.537 202.344 322.441]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.711 311.537 475.855 322.441]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) >>
+>> endobj
+9576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.923 299.018 468.68 309.974]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 276.887 239.984 287.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) >>
+>> endobj
+9578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 276.887 280.82 287.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 276.887 405.104 287.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 276.887 513.996 287.791]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 264.932 171.361 275.836]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 264.932 478.077 275.836]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 251.204 432.092 264.362]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+9583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 229.079 251.209 239.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) >>
+>> endobj
+9584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 229.079 290.549 239.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 229.079 409.969 239.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 229.079 513.996 239.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 217.124 171.361 228.028]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+9587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 217.124 478.077 228.028]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+9588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 203.396 456.992 216.554]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+9589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 181.271 224.57 192.175]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) >>
+>> endobj
+9590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 181.271 272.162 192.175]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 168.753 347.869 178.658]
+/A << /S /GoTo /D (index_Grid_Time_Elapse) >>
+>> endobj
+9592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 157.58 196.297 168.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d00cf0ecbb8edf21a37cc06f05ece26) >>
+>> endobj
+9593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 157.58 279.215 168.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 157.58 432.878 168.484]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+9595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 157.58 513.996 168.484]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+9614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 145.625 216.491 156.529]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+9596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 145.625 362.977 156.529]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+9597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 145.625 475.081 156.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+9598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 121.152 164.537 131.057]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+9599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 109.979 273.129 120.883]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329) >>
+>> endobj
+9600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 109.979 352.41 120.883]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 109.979 495.961 120.883]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 86.288 275.007 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) >>
+>> endobj
+9603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 86.288 362.877 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 86.288 472.148 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+9605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 74.333 233.986 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+9607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9611 0 obj <<
+/D [9609 0 R /XYZ 89 770.89 null]
+>> endobj
+9608 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F66 3179 0 R /F42 531 0 R /F38 3426 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9684 0 obj <<
+/Length 2563      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�KΘ��`�]OۙԎ3Nl׍����p  �А �b��{��+���֝Ƀ�%���{���sv�x����w���|뱙Dҥ���v&��s$�.|
g��T�ů��Ϙ+�.�ҏ_�������Ի�o�/~� �
+ψ�#Ô���_�,����0bR����v�P�����?.�����e�l&@6�Q�#
+E�D���B�yZ���a�d���x}WFI�D�|�V.Cf��
��T"�j9��u��.�=uD���^�;t�/
>O�,N�承٨�gi���y���;SJ�d	ϣ������(7/�4�̛�q◑mw�榳�.2O��l1��0�85�-%E��ْ`$�4ri�{��,MB-$�x^�Cˠ���p���@'����9T
+���-�I<ą�"	F�(�V��K���~AA�qh�)�����~Ե��Y�I�q�oV�&-vy����I�OU��1��λF���(r
�2�J��ot�Ew�:��$�Ő璪R\փ��*C�s6�ĵ^��P��Hx0-�<<�
+�4Y�(	��>���
+�EQ
��
��������f޻D��f��Ӛ&���
j����^�2��ǟ޿?�>����%�H�
�ވ�HX��(�;MAD�RdF� �mJ�=�U���v���ꏫ *h�R���@�7Q���d`�Dx��qmk�~uD\p	u���n�N]aW�+��!N�Ąu��x(�h[
�V����:J��/��k–�ȝg��HJ�b���ŜlAx�����\F:�R�����+l����pǰ�*l���Ի#ؒ`�t*i�t
\��F��r$�K��5`��3)C�#
a�>cl
+�}E��V�
d�/E
q>���v\c�
�qZ�];-
\4NK�v�iU�huHǜCқW����CpyW
1q^t�`D��ɐ���&^��6.�pՊ�t���2�!�KH8ƀ=�
W
�7����d?r����J��a�b�"X/5
i�B�’[(
A'S��s��J�`���f&�TDz�3A[��e�#�8�
+��F��<.���������O��pR�
H�)�1u:
/�M��R�ܚ|60�*�wia".�OR+�-#��v��<�V�t =D |Zl�[z�m��� yꤑ�%����4��
Uo)j�?F�`�0�#2k�
%M�}&`� ��@��=�9�W�
�^5�q�w~��4��`O½����y��N���tq�5��/�������B�P�x��x`�Ŝ��dy at T<����R
pH���!�
���7����d?�4��`��%;��fx�KD$=w���y��

�
+��'����Ğ�"WU֦���Jσ��ru�e��~�
�t�x'��2���I�@��]�x>���>) �a
76�9�Y�
C<O]���_�mo�����.	J��o�U�����CƷ�i���	��V��g�@�
�v���>c8B;�!t������+}��j5V�B���ñ}���hdU>d�P��(t;
;(h'�aX�V�k3@�8���xȥ��%�}���͙�*��|��%���B=ͦ�v]g�qҫ��efԓ�

#�ySnόC����0�Qs(Ӟv�ז�Ux��e�x�}��7v.(��H
�>�Nޣ���}�3O9���:H�C�4���l�������$B};�+�o��U�Dȩ�oR�ͣm��r��E<�
�Y�Ge{7��X]E�D�Ą�0/�b�?�ITa�`�UdQ�ò>Uݚ�w�k��2�AOIw��.����S��,�gߌ2��(��
3#S�(�2�+�*���]L�z:
��u�&y1�C��>�֢����T[��̂D��8����̋Nְ���%�#9�s�L�!nw����xHz�4igő�6�;2rAD�ԣ
t]���:-mj��7D�U�o-�>靠���ͪ�
 [...]
�e���\\ ��
�����r��ҤCf2��ŭu7
+�Lf�g鰥��-oz�3�>�
+�{Z{<�u<�Ps��]����zJS�6��/�

�H`�T�^��A��ј
E����#���"���t��C�*."�ܝDGh��Жn!��F8/��PGaT�O1���{����3L��7�]y�ff�a2b8`��5�GnA�m_Q��x�����O�tg�8����ݦ�,}`���\
ps
�_;�>�J)��i���(����;�I�H?*�Rw7'��vU�UH�g���	S�ւ\�/>L5)Gd�T��c.b�;#���Hx��KF����A ����p,[���l)�u;7}*ZƉ:
��X�J��{z�2�;���Eǫp�͎����(�/5��q�|�6�j݊2|�*��!�1r[j2}~s��ݻ����z�(�`��[$���|
��1�
�e���������W �_`���Q��]�/�6���-��I����%�l:�?
q;�.��[
��u]y�O�ޛ�OE��i���r>~��BneC&�ϛ � mW�WQ�~���A�?ށ��x��we�����٭A�k�:PK���g*�U��M�
��V�ˁ���4�/
+endstream
+endobj
+9683 0 obj <<
+/Type /Page
+/Contents 9684 0 R
+/Resources 9682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9300 0 R
+/Annots [ 9606 0 R 9631 0 R 9632 0 R 9633 0 R 9634 0 R 9635 0 R 9636 0 R 9637 0 R 9638 0 R 9639 0 R 9640 0 R 9641 0 R 9642 0 R 9643 0 R 9644 0 R 9645 0 R 9646 0 R 9647 0 R 9648 0 R 9649 0 R 9650 0 R 9651 0 R 9652 0 R 9653 0 R 9654 0 R 9655 0 R 9656 0 R 9657 0 R 9658 0 R 9659 0 R 9660 0 R 9661 0 R 9662 0 R 9663 0 R 9664 0 R 9665 0 R 9687 0 R 9666 0 R 9667 0 R 9668 0 R 9669 0 R 9670 0 R 9671 0 R 9672 0 R 9673 0 R 9674 0 R 9675 0 R 9676 0 R 9677 0 R 9681 0 R ]
+>> endobj
+9606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 686.166 255.564 697.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) >>
+>> endobj
+9631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.768 264.959 671.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) >>
+>> endobj
+9632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.296 660.768 312.55 671.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.933 648.266 362.407 658.171]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 626.151 256.66 637.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e) >>
+>> endobj
+9635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.997 626.151 304.251 637.055]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.5 613.649 366.421 623.554]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 591.534 214.06 602.438]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6) >>
+>> endobj
+9638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 591.534 261.651 602.438]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 579.032 358.593 588.937]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.284 567.876 313.701 578.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) >>
+>> endobj
+9641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.407 567.876 361.661 578.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.347 567.876 487.799 578.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.63 543.419 376.664 553.324]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.429 521.304 306.547 532.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) >>
+>> endobj
+9645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.542 521.304 356.796 532.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.202 521.304 486.655 532.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.627 496.847 379.162 506.752]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.72 474.732 264.238 485.636]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf) >>
+>> endobj
+9649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.815 474.732 315.069 485.636]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.421 474.732 445.873 485.636]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+9651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.613 450.275 287.921 460.18]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+9652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 390.498 289.866 401.402]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) >>
+>> endobj
+9653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 390.498 359.324 401.402]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 377.996 159.193 387.901]
+/A << /S /GoTo /D (index_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+9655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 366.84 290.971 377.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c) >>
+>> endobj
+9656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 366.84 360.43 377.744]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 354.338 159.193 364.243]
+/A << /S /GoTo /D (index_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+9658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 343.182 224.003 354.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) >>
+>> endobj
+9659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 343.182 271.594 354.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 330.68 272.49 340.585]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+9661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 319.524 254.15 330.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) >>
+>> endobj
+9662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 319.524 338.263 330.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 295.866 284.585 306.77]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791) >>
+>> endobj
+9664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 295.866 354.044 306.77]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.632 283.364 513.996 293.269]
+/A << /S /GoTo /D (index_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+9687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 273.06 197.3 281.965]
+/A << /S /GoTo /D (index_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+9666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 249.294 241.726 260.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a06894477c4e748b61eb0779ea8c0600f) >>
+>> endobj
+9667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 236.792 407.658 246.697]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+9668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 225.636 249.318 236.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) >>
+>> endobj
+9669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 225.636 288.321 236.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 225.636 371.519 236.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 201.978 240.62 212.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a) >>
+>> endobj
+9672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 201.978 324.734 212.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+9673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 201.978 389.5 212.882]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 141.032 153.097 151.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd) >>
+>> endobj
+9675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 115.26 180.198 126.164]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_abd8e73adc9b36c272118525242f9b50a) >>
+>> endobj
+9676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 115.26 204.267 126.164]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.862 193.029 100.766]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) >>
+>> endobj
+9681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9685 0 obj <<
+/D [9683 0 R /XYZ 89 770.89 null]
+>> endobj
+9686 0 obj <<
+/D [9683 0 R /XYZ 90 701.306 null]
+>> endobj
+9688 0 obj <<
+/D [9683 0 R /XYZ 90 157.513 null]
+>> endobj
+9689 0 obj <<
+/D [9683 0 R /XYZ 90 132.127 null]
+>> endobj
+9690 0 obj <<
+/D [9683 0 R /XYZ 90 105.003 null]
+>> endobj
+9682 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9738 0 obj <<
+/Length 1820      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~ϯ�^:���g�C׮E�v˚
{h
C�h[�n�&ޯߡDʒ#�j�CQ�i��s�Ε����Ƌ��/ON����#ߡ�q�4|l���l�Eƻ	��&��OΧO�2
��S�'y�Y��
��E����e
Mg�Ɠ�I�y3|˖��o²��N�I�	����W'�\�|<!@
6Hs��\�ӓw���WF��W��԰�	��qq��	Vl�.;�C��
X��iXzO�]���f6���f
+8h�I�ʕ"�m=K��0��Q��{ȷﱍ����r.J��
pxN�q�g\�����ix@�cI�)E�E��Z��*c��XE.79}N�,2-买[=�73z�Jq=!Ț��\<}���Sӝ����,��s5-_6:^gC�C���
�cl�e!{z�X�C�QPkwB=�uF<�ă�xw�آ�3�O�_�?��sy�"�I0�
)��uZ
��G�lQ"���
���
��X�8[
m�s\���+���
�K����2����� -Ӵǁ��d�;�@���d�e'y
��x��o	��p��E�dYN-{���jw��!����V-�TV-���Z�������"�B5O��B�����ꃂ�Ac7r���)��Z�d;#�ԙ�
��̶��c�˹cS	�0�� ��fj� ��IdU��c\�+yQVl�9zN�l�ë0d�/��� �
�N��2H��Πx�� kV^�0���L�^i
1�A�KcJY���9��es�)��UM�A2Wk�l���hvO
�aI��9ͦ[B���f�(�P�^aC�z�U�H����A�5*8�#�#
��N�����1w-X�}=����Y 3ݕ�wP�������P�A�m��{�p�t.��u���0��}��"�U͇Ig�XL[:�1�RͲM%z����v�{=��dK~Ԝ�d�.|�HdR�S��
TC��z��j1u'�����
�����*
e��{d�/_�@�G�t+�7��s�,�p�gXv\�y�lޮ>���Р GpT�!#���R�VMĴχBR���?q�n�����V
�#�E��dT(U̘��8
5
�hB
+��KJ6a��@�dPF���
��{W�Lh�����
+@�(z��Q�q+=�=�X��]Պ�IC�`�`��$x�i�7�
^f���䔏q����߲$u����v�A��|G�r��
v�]�\���j�墍ߍ��C�nhc�Pm��dn�q��_�Bv���
8���w�Ӈ��u����Û��3=݃U9�3��D����+QTJ���8�}�w�2�5o�Uݛ�ۓۻz�t��R��/pWA1Xh`ɶ�v����"�*�md;��e3��A��a%� 	�
���.W����T�%H��k�܁o��bH��1
��B�&��D�.�r0
v�G����a��C��7�� �[���@�G����������!�-B,ˆ7��M�a&�0��qvg2	����^e��\���D���A�����ab�
>��>��}��%�U�䉾j[��B��Y֗��GɊ�� ��`��>@�D�Rw�)�
����Z��J�3����vH�)���/��l��]ɹ ��i����K�t"�b�mH�e����[�g��E�ѥ�Пn�
+�u���"�D��+(ߒ���L�o
��vS�s��r�"��co���x�K_m�ގJ��_7�?9+��
+"o��
+:�$}Vn�/�e��,�`������G����=oo!{��^
Q���.� t���2�oX
>��t�$�Ri��m�
��H��@���9Ւ a~���[_c�_g\��
Ճӗ�i<�A��!�xs
�
+endstream
+endobj
+9737 0 obj <<
+/Type /Page
+/Contents 9738 0 R
+/Resources 9736 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9678 0 R 9679 0 R 9680 0 R 9705 0 R 9706 0 R 9707 0 R 9708 0 R 9709 0 R 9710 0 R 9711 0 R 9712 0 R 9713 0 R 9714 0 R 9715 0 R 9716 0 R 9717 0 R 9718 0 R 9719 0 R 9720 0 R 9721 0 R 9722 0 R 9723 0 R 9724 0 R 9725 0 R 9726 0 R 9727 0 R 9728 0 R 9729 0 R 9730 0 R 9731 0 R 9732 0 R 9733 0 R 9735 0 R ]
+>> endobj
+9678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 707.957 193.029 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
+>> endobj
+9679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 681.728 165.911 692.632]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0) >>
+>> endobj
+9680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 655.873 187.689 666.404]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553) >>
+>> endobj
+9705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 641.712 476.544 651.618]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) >>
+>> endobj
+9706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 618.312 202.902 629.216]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 618.312 300.037 629.216]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) >>
+>> endobj
+9708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 592.084 202.902 602.987]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+9709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 592.084 314.263 602.987]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) >>
+>> endobj
+9710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 566.228 199.864 576.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) >>
+>> endobj
+9711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 496.675 203.075 507.579]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+9712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 496.675 296.324 507.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+9713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.377 481.729 331.306 491.634]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 468.128 294.481 479.032]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) >>
+>> endobj
+9715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 439.581 287.856 450.485]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) >>
+>> endobj
+9716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 340.968 226.034 351.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) >>
+>> endobj
+9717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 340.968 341.43 351.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 312.421 156.281 323.325]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3cd0fe4ed600eb3430539b864ad4142b) >>
+>> endobj
+9719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 312.421 180.351 323.325]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.562 312.421 218.816 323.325]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 283.874 180.54 294.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) >>
+>> endobj
+9722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 283.874 228.131 294.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.864 283.874 290.118 294.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 255.327 178.239 266.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) >>
+>> endobj
+9725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 255.327 225.83 266.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.563 255.327 287.817 266.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 226.78 178.239 237.684]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) >>
+>> endobj
+9728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 226.78 225.83 237.684]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.563 226.78 287.817 237.684]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 213.503 156.281 224.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a3cd0fe4ed600eb3430539b864ad4142b) >>
+>> endobj
+9731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 213.503 180.351 224.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.562 213.503 218.816 224.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 138.455 198.074 149.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+9735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9739 0 obj <<
+/D [9737 0 R /XYZ 89 770.89 null]
+>> endobj
+9740 0 obj <<
+/D [9737 0 R /XYZ 90 721.073 null]
+>> endobj
+9741 0 obj <<
+/D [9737 0 R /XYZ 90 697.159 null]
+>> endobj
+9742 0 obj <<
+/D [9737 0 R /XYZ 90 670.93 null]
+>> endobj
+9743 0 obj <<
+/D [9737 0 R /XYZ 90 633.742 null]
+>> endobj
+9744 0 obj <<
+/D [9737 0 R /XYZ 90 607.514 null]
+>> endobj
+9745 0 obj <<
+/D [9737 0 R /XYZ 90 515.91 null]
+>> endobj
+9746 0 obj <<
+/D [9737 0 R /XYZ 90 515.91 null]
+>> endobj
+9747 0 obj <<
+/D [9737 0 R /XYZ 90 485.714 null]
+>> endobj
+9748 0 obj <<
+/D [9737 0 R /XYZ 90 457.167 null]
+>> endobj
+9749 0 obj <<
+/D [9737 0 R /XYZ 90 387.566 null]
+>> endobj
+9750 0 obj <<
+/D [9737 0 R /XYZ 90 199.195 null]
+>> endobj
+9736 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9765 0 obj <<
+/Length 2353      
+/Filter /FlateDecode
+>>
+stream
+x��YKs����W�
+�������
��W��]gc)��[.R�A @K̯O�t
d+��sȁ5�����Jg�H���O�W�E���$T�s�s�D~"�F��v�I�����
c�&!�2������׷7�v�����
K�q�A ���o�N�?8RxI�����+�ҹ���dY�T�PNdre(|/v"��K�S*0��m��M �,*���
+�J<�eџh��U׷iQ�
M���,��4��jӴu�ہ~�
u��(]a԰qI�!\���R7�ʋjU��+j�;M�����
�����
�)5�`8�`_��J�Q[�<Q7}qH��D���4u�뜆ۓe����R��(K��Z�ñ�67�p7W$A at wJ+���
V���k��YA��eO����Q�M�uŶ<��e�Q�4yl��.ljs�݀
��X��ź5WK��jЯw���"�˚�AJ
�xؓ��miy�.k
{S�R
�Ҡ	}ͭ���}k�>��t	 �izW�Φ.Ow:o�K��C�!8��Hz�"�ˌ
��ųB����T�)Ҏ���8G
�UEow��^h��
ُ���^W�M����@vzR7:3�%��X��9h�1���p���>�z2Z]���|E�A�ʉ��i
ǰpE�:u��x�D����z�
�U!η�|�g,n�(�=؁�<���Ľ�}��pϧ�-jbPd�"�������Y1@R����6
0̘0s)5K�gf���\#k;ϝ.=h��`D�w>��^�,��.}y�{��N�k�P
y3]��|%O�c�����>l���<蠀p���V�����
�G
�a�'��H�0S�i߷�v
v>���h��	
��+6�tM��ּ8��(�� ��]}in�*����6�2	�>��"�#K���SӼ.|�X��D0K���!��K�.˚3
��Yo�b.�~�b)�%h��|�N�rԦ��(����
��2�u�u��i;���j6�=��,C-��s�#�����؇�3��XҠ����&���V[H�A at a
�d*@�9�#���c�#Xf����7��A�|<
c}���|�ӽq�X�a2�Q�u�ԠǴ-R��•�3AQ�O|�,���k��CtNl�j�*vv���v�55�������D�̷��C���tmf26�b.2D#F^�C:�����pz1��;�O�3�m�!w_pRO�uY^
O
̛���]�������ITBc��Mذ]`��Z�����.���W�.xz�	/��]����!�h��MYdE��<O at R��D��mS��sD�s�6c��C-���T�6
+��,�r�i�-��̬c��z�
*ԬnPǧu��
(+��?�ё9ZV8~H(_$2��ȏ��5�Z�{Eh��߀�tK�AQf���Ţ7�v.��2����L��d� m{�Hh��6��N�
�b���凅��8ǹ��
��"'I�-X-��
��G.��'�P���H��bs���	r*����
E�M��/��ƌd�Zzh�!
��" �q<X���T�j0�E$�8��xX�)Ɖ��!��"�����E&6wNA�U�=d
�T
�����w]�Y+KJݼ0��y4�F�Tb���7���U�ބ�
P 9�N��.����}
f�0�@5U
+:��b�1���+23���'�2�f�'%��fo�h��
��9/R�Y��Z���
i
/���_
�����z�Ƀ��������~ �&-L�4k
�'��.�&��%ղKF3��B«�x$b:���)HJ�~��e�rz�b�g�v`����E e�nd0+���m�������j%yv��QO��1���Y-.3��
j���طx�=�:3چU�@�6z��0���
�0��.~Oj�z�	h���
.��z�ܧm?��O_���)Ч���?x�n�;!�����>{�
a����E����f��Ep� ��zo�7A�P'JH{�
+�h��̼/\x������3�

�D�/���9�M̋����+ȩ������%�]���;��_�ؒ�Ħ���ܧ���]�R[�_Im-~ާ�Ť�|WD����>�� �(��S�O똣�|��6O�D��l
�Ko��[��Y{T6_A�
ub�:����.���f���F�9�����N������s(���*)��M6���_�Gҍ"e�}�h������yY����mF������;\��
:5�\�����@�� X�+⧴:�/��
�'ÇTWH���|t��.����L�3�'�E
����yqu�=�;]�E�����2Ib�)�
>-
�v��ߛ������]��
+endstream
+endobj
+9764 0 obj <<
+/Type /Page
+/Contents 9765 0 R
+/Resources 9763 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9734 0 R 9757 0 R 9758 0 R 9759 0 R 9760 0 R 9762 0 R ]
+>> endobj
+9734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.945 628.844 182.89 639.748]
+/A << /S /GoTo /D (index_sect_rational_grids) >>
+>> endobj
+9757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.819 515.785 398.978 526.689]
+/A << /S /GoTo /D (index_Grid_Space_Dimensions) >>
+>> endobj
+9758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 283.886 133.816 291.412]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 200.113 133.816 207.639]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 109.333 133.816 116.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9766 0 obj <<
+/D [9764 0 R /XYZ 89 770.89 null]
+>> endobj
+9763 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F32 764 0 R /F93 763 0 R /F7 795 0 R /F75 554 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9779 0 obj <<
+/Length 2137      
+/Filter /FlateDecode
+>>
+stream
+x��YY���~ׯ�K�T����Y�!�؃=1�'{1�H��D"e��x�}�/^�F/�̓�>���������u����_�fWo
�H*��U��@�		�e�!$	2��8��
��.���S
�ۧM�����*����o�|9����۴�m�]�ʪ9�ìXd�I2"C������go�f�f΂b�H��b7��
�0�}�K����N|�����g�]c����D�b��!��D���>��MVdUڔ������v�H�M��7�x�,R��үk�uV5��k�x_��aC�P��"�(�K�l�9"1���v���Ǯ�%0v�lG��
0"� ������E�;��fV��)���lx}�\Kh�
|����>u��S�B7��4��
-�
+aPuD9�	�{�����[�J�
����[�gCb�p\0��2�� FE�*��r�ǼX�!.ʥ�|�&|ȷ���SK�6&�eUe��,�n���}�2�gs"`U��S�$
˲�T�?�փ���[����Ĺ��9�0$q�+Q,��=��:��S<Y���b�c�	��R0��&�PO��R��)D0$�:��B�Q�hQ��U+$��>-8�����h2�O��.��M�����!�捧(�࿮\t_+�|7n�P�����U�Պ�>aa��``Ξ8����r��I�X
�ѹ`�\�~^�vP�9�y:Z�+]x���R#' �T�ͨ�c7�C��t��f���Uu�s���4L
Q�PjeY���3j��&��v�UU��B7픢�������Q�E�z�L���V�Z#1�<�7?�Vp�&��Ԉ~��C�c�, =���!���/�_���
�n}�|��X�6��>�y;ܦE6�E��MG
mk2(0	�/�i��8
@���{T�^sl #?��ˆ
y�J��^�j��9Ǝ4�ZT�Ɂ [...]
�M��[�l�7��
�iͱ)F.��ϨNB>
Tg��l�]�#h����
�:y�֗��U����7 d
jU�a��w�G��pƯ3)������
?cD�N!��z���ݿF���|]!�o�
��R8��SD��~�K^���#HW�B]~���1d�_�ax�
<��R[K�B��6ic;:�������
���P;ZH!�4/�pj�\��#�����ˬ^T��}t��h
)�w����͊�P��ك�h��k;�~���/	�sc���8kZ��k�&/a���W�
�U��
�f��#ƴ��Q6�O����eS���c� W�����͔�q���
��foL��Ȳ����"�7y������E�b�˟
�m8��
���M�z��S�~��&���աXX��S$	�y
��S�Sxv,�
X,�� ��C�����h��q�%y	^�����K
+�3�
�%�ŧE0�����vW�:�]P�]�_�|"o�ӾP���
��=��1�є�d<
+ѣ紎ю 0F0�
�1~t;�T�@j�5��
�{6�N�,�SJa�ѣ��
jK_>hdt�ݱ��Q���:I�ڞ���n�ثRޗ����W�e�����,4A���a8��#�tJ���!^&z�e��嶩�#���;Vl+/���@�-[�+n8$"<l�����׮��wk��� )�cg�1��S�+�
��;:�e&
+H1�E���˴ʗ���(�֩��
'�p&�u�A<lN�)�������T� |.=fB�L
�Aq-X���Xt�X?�}8(��n��s^z�c��D��i���W���^�1s!V�Q��EFxt�;[4S�1���+�~ql������b����dpypT�B:�RGS���0�x�1乒z���)����j�
	�
����jB�' 1g�jΎz�v�Ȗ(��q�\�!��.-��w��x
���!e/P���}�L��Pρ��E�?vy�C�i��<�
�
\�W'p|
s#<*
|2���&/�MɋjS�k���(%E��K��4E�~���V��"
a��폶�x�}5"t��SZ
��K�H����D��$c��̝�
�?�o�`��;
+
��-�n�f}u�pX�Y�F�r7��
�)��l�tN�+���ap�j G��^/G@"$%�� a~�腉R�P��f�/tW��X���
�?ͫ��
+endstream
+endobj
+9778 0 obj <<
+/Type /Page
+/Contents 9779 0 R
+/Resources 9777 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9761 0 R 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9771 0 R 9772 0 R 9773 0 R 9776 0 R ]
+>> endobj
+9761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 685.13 133.816 692.656]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 587.149 133.816 594.676]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 512.116 133.816 519.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 450.002 133.816 457.528]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 398.879 133.816 406.405]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.113 398.879 184.027 406.405]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+9772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 266.285 133.816 273.811]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 128.375 133.816 135.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9780 0 obj <<
+/D [9778 0 R /XYZ 89 770.89 null]
+>> endobj
+9777 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F32 764 0 R /F7 795 0 R /F24 529 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9787 0 obj <<
+/Length 2406      
+/Filter /FlateDecode
+>>
+stream
+x��Z�sܶ�����z�� <	 �|ik{�Ʃ)��8
��8�#��$��]`���
��&��@X,
��<�#�>�����+-"Kl���jYii���m��	��\}��fc������^~u���^^��z�`�F
(�Mt�={�
����mD��&z�D�Hr�Mty��3di��+�t� !��$4�P*#���y��l�6�|���i/Ә�ū�τ����*��խc��lUl6Ŝ��C����X����*|��I�Uh����>���"wb��U_
+��"�&�U����6Y�H=�Y3�k����&�A����8,��qL<�D�*Z0Ebf���2[�E�1��u�3U����1�@���۫���`"{���Ǖ�%I���5,x�N�L��/�{�,���3���M\0�9�����u��s/�_��h-g��>9I;i
��
B�/Q�	M��ٔ�|G�óO�;0���~�xW�U�,ǯ��;����P���l�m���֊12��
��,���
H!���*��t��

Ϝͼ���Ш꤬��poN�8	'�Y�ٌf�%Y8�
�B1��S���?N�
>���$_N0a�H��<M��i����Dkݐ��Z��h*�]��)gF$-zT�i�Nm\{u�[�A�y
�f�ā�����s��=�t�	�����J
T%l�
T�&F��\�z�\<fC��@'��Qz9��
+�	n��ʖ��%|p�()��}3V�P"���-������f�d����R��8���ޥ�uq+,m�����`�\����"�!�i��b�����sz�q\�`������C7��
~p�J�1u]&y�I�4����;Ć]1b[f�����x��݃)�]�:�bn��zaӺ�
+/�
��:���D,{�؄��t'q� �2���drp�a�
6���‰AN�m<�6 �rd �o����u��{l�mڰ���
�r{�
�i���b��(�����T�%��;�fY ǣw�
��
�{�*�mR�QA��P��J���6ͬ�mh
\�nҩ�l{�����Y^�i2�ea�Q�͛�μw�֡CR�K~8�
��L8g�B��I����
�
s��-���Ħ�#0�Q@��l}M��DU
+��!k�]�l�ǧkH�l
+d����)(D
{�D `�V�_Op���fiK���;�怙��F�f�neǰ�S5ʺK�g���+P�#��nŎڠkUܗ~E+�j�
4��}cpAuV�Q
Sp�Gr��sm�cV9��Co
�N����CXxY�{^�� \��'��aou��܊�G at G����C
971��
�Er9�q���G
F��%n�g���P��m�sP_!멶|�z�ȓ��W��z�
�-
���uc��nl�i0\��Չ
gc"$;h�2>f��
�U-x�V�P탂˨ڲ�
�#���z�A�ŜZpa�z
�[��+����䒋�&�rJ.z�!O�^��s�7%�/F�	M�镏�\�)���KcVϪ��ݪ
7��%�釫f(ő��⺝�ϧ\�����!)'Dݚ.eE4�_jah
;��y�4/�Y�n�$e	$�	�nz at ILA&��0�gn
@��#�r� .c nv����AM�&���W,�T�6�$%���sp�5R
�/

+|���#,F�n�U�]
��c�k��L�?��BR�Kc-@�L��i�bCXi 
|z�[>�3�*���M�1�A�lfM�]%��G�.��X��dA
���z�݇v�e�������
�l
ɍb#@;��!Y� ��J
;�!������9{��>�]�@�ǡ)u_`�� M��ض�e�p�_;w`eK�[]
C~M���S�8T?�|��A��nqp39���M~l	g���Y�-c�3s9(
љ
+��)is���B�wZ���qM��α�e0��"8�w����F�4�48��
[Zv�I���	)�XeHPAXw�'�lu�����"C�.��	�lO�����K)��}f|	���/�g��m�ڡ��fRBLM7 ��&�
+��oɺ:
�6��sj� L��
&�r��j���y t<4E�MU� b�����N��A�n�O��w�=Zۃ����T��ё�Q r�n��uu�ܤ��l������3Bi��,Op�tl_�n����8�-�p]MA��dy�qi��H��@���~
+o�ׄ R�S ��O�k�6UX�2���HO	��	���
��/��H4�e�����C6I�qQb��r�
��
+pK���j�8�F��Re��~�F������k��fN��f+����c� ~������� ��] 
��@34�o��Ə��?��0|���I��^#�6'f���N���e�U�\�i��]O
�	J�~[�w_]\��_Wi�&7�v���f�w�����-ʴ�L��#d|x�Љ��
+endstream
+endobj
+9786 0 obj <<
+/Type /Page
+/Contents 9787 0 R
+/Resources 9785 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9774 0 R 9775 0 R 9781 0 R 9782 0 R 9783 0 R 9784 0 R ]
+>> endobj
+9774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 676.222 133.816 683.748]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.113 676.222 184.027 683.748]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+9781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 415.347 133.816 422.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.113 415.347 184.027 422.873]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+9783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 107.297 133.816 114.823]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) >>
+>> endobj
+9784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9788 0 obj <<
+/D [9786 0 R /XYZ 89 770.89 null]
+>> endobj
+9785 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9792 0 obj <<
+/Length 2653      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ�F߿��
����	�s����|�&/�k�E#-	@������ ��je�Ꞁah�{���
,
�x�����ۘɈF��<�8��D"��Y�)$	2��q�~Bp�V������\�ߨY�^��_Wiu��ŏU>�L���eZ��􃚫jB�P�I#Q�0�|������şt���(N�lu��3f0�S��Ipg&�N
��Nj_��Ap�b‚�D�5��^�X�MZ5y��W
��>�k}�a�M�IKՔ��T�V��[�� �3$��=�c��7O����	�����DD`����� �8M��dD G2!�
+�O@��E
DH�,�Z�PD\ ]�.B$Z���(ʽ�DG��(���N[�>�j#"E_+n�x�
+���7�,�û�|����J՛eKҏ��P!
��M�|��G,Ԕ�	P`
+�)�8�`V;7��/X$특Yh2�Q�ԫ�i�M��o����F��R�rBDxk�F�u���f�Ju^n-e(�$�.M�"�&,<Ҥ�����
�/@G�5ƌ�����F�i�U��Y+8 d��(�;�RE�R��(L�
�9Uiv���%�ir�iz��ۣ�h�}�E�BL{�V]]
���/�f�}�\�*m�j±�&*E�)�v���ʚVe�M��PR�[����*��
��&�
5�gP��j�ee�� =x��{��
7�Yl}j�X���岜P�u��r�n޵G]���r��=O�a�ϵ(xv����T��^�G��~*2
�$F\g셒����*O����iU�6�jb�
dLa�K53��fU50�u���[Th�:꧌�=O�Q�zS�V���'kC�'16u��ĉ{g�:�xy�pR۱,�M(�ȭ{q�<w��wQ�A�� ��ۏ���3�8~�œq\"*�@��
�*I
(�'�7`#K��i�N}��VI�23�B��|D��F��M����(��L�NYHbt�[�u�Ҡ4�I�f�� 4\ɡ�p�VC�K��  T ��4�CU ՘w�:�r�'�e�/�"]�a
��
+�CE)��@g�V���uY<��ׂ��)�\9�ׅ���&��>pQ3d��3�(IX�zy%
�Z���UG��;
&as�g��vV��J-������ΰq�֏�+��:w�����
�V�^U�Z�ި�B�� OS;ye����]�(�T![' Du��]%�{Ķ6S�Q�f�m��Q{64�&k̚�$��
^+�u�m
_1|��P��)G�K�mh�Rn�ݞ�iP�?��A�Od�ۙ��3�D1�Q �V��F���ntW�)�49�
+�n���T���d����a�
��DŽ�8ꀳ����~�aC�Gn8%

��lV���8B��Y꿑����M�S��?�`�������We��x6�
`��!Cz�Z-T�1I]�Y�=&\bh�d+�����`�a�=42$����_�~{�������(�	�U`�WCJ; ��K`��G��%�

 ��(�����Y{�|�rtH�hi	���l����|9�=���6inR��s�ˆk ���S�f�+]
�\�� L
�
+#	�@��6]
R B��hn6F����޵7���Fg�cX�;I��K�
���e��F�������c{^~G
+!GC�"��B�Y�u��p
�)���
��+���Oe" �4���l��n�)Ϧ��aOo��Z[�]u3Ql:y}��lY��}:�?l� ��[�?�@�8,�zn�6 at 1$>l����"�Dr@�����ޓ����
;�s���ɐ�m�����vb8���u����ĸ�8
Hݠ�b�TO�
�H	9g,�,q�w�X"�<`t��m�����u��}E�����&P��o>�$���+�4ʀN�� p$C����H3N���uB*��D�
r ��u�
�*�͕��	7-��x���	fg��PxL�&]F$�����D��^�Tv�m
+��1fML�q?]�6�	d|�5�v�4S��t
��/�j�zʴ��l�[�vo{k�m�N���D ����&�Sd
�-��%�u����W?�=G�����
*�ݯ������t�S��nzQ7#
��W����,�F)��x_7j5�=%��vO|7�&`W;![�#B�
�~��n�����#;Ρ��G5v��ok�Ep�1^7��>��sֹ�6wz���(�CR�%2y�(oꝶqe�p��K����\&߸��L�x|F�tv��P
+�v&�?^s����J?�
��O�c��{zt1�@���T�����Q�t��G ����K|
'��~
9#'q��~z,M�
+2M�������D>���w@=�������,<���
��d৻~�HvX��S�)2d�1�
�v!v<�_�<��'O�G0�3��2pO��
���ߟ���z
�4~�uSNz�{��%�߰����gKu��XoF��DP���/��f��0��#�C����
>?eQ݆�?��y�9x�2�`�X8��Y��*CĔ
��n��	x2�.�u�.��]���bO~�U����3�i�1�4�~��z�̂����� �����*�GО�l��ڪBGBtM�MӬ_<~�Y�P"QV�v#�g���G�y��*+�.
�̧uԂB��3�����?/4Y�cjf�����A7��݊�Kp�D�\
+endstream
+endobj
+9791 0 obj <<
+/Type /Page
+/Contents 9792 0 R
+/Resources 9790 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9789 0 R ]
+>> endobj
+9789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9793 0 obj <<
+/D [9791 0 R /XYZ 89 770.89 null]
+>> endobj
+9794 0 obj <<
+/D [9791 0 R /XYZ 90 542.951 null]
+>> endobj
+9363 0 obj <<
+/D [9791 0 R /XYZ 90 520.574 null]
+>> endobj
+9795 0 obj <<
+/D [9791 0 R /XYZ 90 520.574 null]
+>> endobj
+9796 0 obj <<
+/D [9791 0 R /XYZ 90 450.028 null]
+>> endobj
+9797 0 obj <<
+/D [9791 0 R /XYZ 90 372.03 null]
+>> endobj
+9364 0 obj <<
+/D [9791 0 R /XYZ 90 337.36 null]
+>> endobj
+9798 0 obj <<
+/D [9791 0 R /XYZ 90 332.877 null]
+>> endobj
+9799 0 obj <<
+/D [9791 0 R /XYZ 90 244.521 null]
+>> endobj
+9800 0 obj <<
+/D [9791 0 R /XYZ 90 190.832 null]
+>> endobj
+9365 0 obj <<
+/D [9791 0 R /XYZ 90 156.002 null]
+>> endobj
+9801 0 obj <<
+/D [9791 0 R /XYZ 90 151.519 null]
+>> endobj
+9790 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F1 833 0 R /F8 794 0 R /F11 613 0 R /F7 795 0 R /F24 529 0 R /F32 764 0 R /F93 763 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9805 0 obj <<
+/Length 2082      
+/Filter /FlateDecode
+>>
+stream
+x��[[��F~ׯ�iW���}��[�u\�:Yo<y�]S��h�4F(�������nж��r�A��q��k38X8x9��v��g����2�}
7HH�5ލ���LjD��Y�������n��{����#�p@
�@J�d���p�� #ft�w1(	8ep\oG�
�R�������PJ�;	�A�@�
wҼ�P>�0��(�2^r
 w>��i�
�
k�9�2�:�������L 5GB���=P��&�H����=[��=�(")\
$�l�q"%2T���}�&S��x�]�Q��W�8[��l��h�.̣��4N�w^�^d�
M����
��t�g�Y��*�$ܺ��rf�&D���e4/AW���`J2��B��	��M��AT`�d{�|R��HDz+�(�, �#��#:
+Z���+/U}��� �)`Z��ܫ�o�d{��I���$?8N8�
O�Ey�r��6��Y
���
3�&T��,J�8̣�b�ڝ����C�J�����̝��8��� [...]
+$������
L�Re����77�(]�wQ�M���ӄ��#����:�9t��qD�:�Ė'�� H�Z+�}�V�'��:�˃$O4&r��$U.�n��y�D麢��s4��R���F=`y4_�y�$�'��π�r�De�[?����[���9N[a�qC H��_��y����Wn���	��O�c\e�Ix���h�SvR:��6�l�R�`Ȅn��f��x��i��1�g
"P

�ڇ����u|����x{s��*�?����{,�dʅta�4��� L�k{����a��wo]nYLi�~�$��r�?�r5��-�j�l�B,H=�$
�
+���W��E����,�?��˞�N�$��0����MBK�
w9�*x�<�)rcH�^)�C3_�r�B��*X
o��~�R�6�|�et9���꡻�6C�0�2�=uO1�t" W6_�rDo�_z�
��L��'�g���K$���p.�
(Fg�����~��l������
:N �T�
�k)�񺌙K�$d�3f.	�`�>��g�,
�N�R�̘��2fQ�3iAs�N8
�.��
�Y�Ƌ
8������J��yo�=3��J;2�KPWȦ%�c�)q�y�N�
��U��>n@���;ܞO�����
 $>Ӫ�ڶ�c:�b��	�|�(\�?f��ح߻,q'��ڕs��уkׯ���^�
+�k�M}|���7u�� R�m�A�g+]��sd�JW\^����S�nK�+*]"T�nK���ay�	R���V^S�>�*��ΪF�
��F�ݫ�i�w�I�j��]�	�Z�C4�5b�f>Zs
ٛ��»}���RX�R��;g��uu�w�"�`t8DO/���f�#��5��0):
����jvS��څ0\h���Qf���
��j�
���>�=�/g��Q
�U9��9mn��&\_����q�ٴs�L��X0��07^7R�H2y�F�@I��ܔ��H���FBQ둓��k
+Q ������������~Lg��A�'�C
��
L�+o-!��*��B{��u~O
��
+?n�H$�kV�1�Y1
�_��`H?���a��A_O�����\���.�AC��1#cH���̳� b4L��A��~������j�rE?ȃU?�%��~c՗R���A",YEp;��e�FY����
+qE�4�������`��
$��O �t	�CWH�R=�@�2DG��B�*8�\��o*v��E��`G�~��P"D )|6��#i��ؾ��mG����fv�(Kg!ޒ��;������z�� �^��I�ވ���!�˔]�g6��YS��� +Ĕ•ÿ�yq��S^x�*a��V ����tX��
)yAM,�zh�o޼v'���!�%!~
S(xܹ
c��+�v

�"-l�8�6�J������ߣ"4���)�(��O7ϟ�okH��l�
ƀ�d�J���r��*�*O
�0�ex%P�����
+endstream
+endobj
+9804 0 obj <<
+/Type /Page
+/Contents 9805 0 R
+/Resources 9803 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9751 0 R
+/Annots [ 9802 0 R ]
+>> endobj
+9802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9806 0 obj <<
+/D [9804 0 R /XYZ 89 770.89 null]
+>> endobj
+9807 0 obj <<
+/D [9804 0 R /XYZ 90 720.814 null]
+>> endobj
+9808 0 obj <<
+/D [9804 0 R /XYZ 90 642.816 null]
+>> endobj
+9366 0 obj <<
+/D [9804 0 R /XYZ 90 608.146 null]
+>> endobj
+9809 0 obj <<
+/D [9804 0 R /XYZ 90 603.663 null]
+>> endobj
+9810 0 obj <<
+/D [9804 0 R /XYZ 90 527.263 null]
+>> endobj
+9811 0 obj <<
+/D [9804 0 R /XYZ 90 473.574 null]
+>> endobj
+9367 0 obj <<
+/D [9804 0 R /XYZ 90 426.55 null]
+>> endobj
+9812 0 obj <<
+/D [9804 0 R /XYZ 90 422.067 null]
+>> endobj
+9813 0 obj <<
+/D [9804 0 R /XYZ 90 345.667 null]
+>> endobj
+9814 0 obj <<
+/D [9804 0 R /XYZ 90 267.669 null]
+>> endobj
+9368 0 obj <<
+/D [9804 0 R /XYZ 90 220.645 null]
+>> endobj
+9815 0 obj <<
+/D [9804 0 R /XYZ 90 216.162 null]
+>> endobj
+9816 0 obj <<
+/D [9804 0 R /XYZ 90 127.807 null]
+>> endobj
+9803 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9820 0 obj <<
+/Length 2580      
+/Filter /FlateDecode
+>>
+stream
+x��[[��6~�_���
�
��e���v6�[��@ck<�ڒ+�����!Eʔ,{<��A�!�F&ύ����`����˫����X�XR\�1"
#!�i�)$	2�qx9"8L�Er}9�8,曻tZ&�ﳛ2)7/^�-��hL_͓ժ���ަ刨0�')H��Ȑa1�|��ś��?.�R�-P������g
L��F,V��f�"��u
|�����h��
+}�/vs s�9#�y����O�e���(�#rg�z����X"A���۪�
xb�Z&"q
Ș#�? F
�K�J�"�<O�yN8�`e+�L�[OJ�
?��3-&�g�sV��ŋ,q
~I���:)G,
+g�E�W�����bNf�n�D�;e�#"�C;�~R
#�Z��+��y�4�m}����f�YU颾/쏳4Oˤ*J�i���EUߤ�e��ootƮ��Y_�E�W+tآ�ň�sBgo�k�$�f�Ȭ3GA���������k9
���/϶
+��g� ��Hb?��i>��Ӳ
q�	���Ѥc� ���o��|c�Y)���B>he̔|���fP�V�0鬣$�c䆧#"B8{�骓��>[�m�'�y�HjO��2�؁�j�&��ڗd� E���3D
>��p=U� ���Pn��.4!š�C

P��Xōj�J	Q#T[�����F��5��Հbp
Uh`҆Dm
j
7���-�c��X`�~%�p4v��_�uG�����2���� /��C(�IF�(7b�a�l��G
+�"��!�l&���]�\W}b�4&��8�(7Ӧ��b�p��Q�1Dc� ;��: �(m�����,O?��d����SP�"�U=��:��b��
l���-Ӊ���,���B��oA���͘�(w�.����̪nY�+<�E��͚�����[�ڱ��= #��b�W6ELr&����	��-��A���@|��=�D���6�D�C
?B��՜2�`Gj$���PǪ�v��]�ę��vy�(�~��J
�,ކ:ܛ��k
����w y�%�w
�L�G�1�Q��r��*��r=��e��.�M��]v�{��B
;��j��&�ta� ��s�3� :8ݐ�cO�
�CK���A�bz6�	g
+�5�P�#o���`>O��h�5��Q�P]8[ѫ�U̼J&U6��q5�V��۴��7K���\���}t[�NA.���	�S��Dx0&O�����!��d����x
G�:� �T��'�iR�Gp�ԑ'�
�+�p0�h�}�V���[Uo��qt�A��8�ddX��	d�y#���+G��G\F(��G_�
M6�
rj6����$���Ծ$�L�߃��"$����C
)K
A�]�5$���75ҽvCe|�C1��iT�e�C�
~�*|��^w��/��ɼO>�5��?z��)u#p\TQı4[U�Y
�0^��v�Š��R
���>
+��`?��6
ט
Y#�
��@�P���}�? 2K��wG
��I����i1/W�\��8R�x�2jc�͠궨��B_�{�5�5_��}Vm��W�=KD��쌉�ajUf����=�@")�ݬ�����_~�|��?�~��j
��
E�52?���y6ɪÔ
��
C�Y4�P��Uv�Mq�jS҉�;�j��*7��j���6��,�5��9Q[񎓨vV뮳(VvвL'�jG��.�����z�z|£	��SX>��$1�ǘ�tP���K4����H�axΐT
+4�q�1�șj�"�

���|7��Js
��v�jǗܤ~���q�����VCK��
+�?��aŠ�@f��l�p�)�DŽ�y*�����UC�%�{$��:�l��C�I`'�Y���B��ʍl��e1���"��ܲm�SP���<���Hw{C���
ǷQ�tp:8�F
�^�<��x�&W)WP���_
+��<�>P�8����8:�p���l�5��7��׷�����FͳAu�k�~`1�~�a6�K�G��^߸^��@p%{�~-�.
m�~�����_�4�
�6&� �����
�	������C/�
����|��P���ڤ@��� ��=�/�����<�`��޸�g� �\׉�� C
�!T`P�ꨰ�`�� =�Hs&9
���ǻd��gn;�����Z��=~س{>��d�L���1
+)��o����O��{��t��Haf�=�#h�����\,�@��"��4���W���]�Pk�
�o��f��B�`,<v�B���G�o*��/_D��+�ȧګuױ�<��
���0#
�`4m�+��^0�|��UŠo��h�%�2>P��3p2f�U�cz�3����Zj4���_�/����Q �ɐߦ
-�DU� �Ġ�L =�\8O����5�����M�7�@b���������=9l̎�/e��`$)�{�!���y����u��ߍ���~N��F���]Zn����N#�-"���4��P��w�Ӆ�%[U���a
L�j�����
��
A<�o1�Q�#ܺ�s��_x�H����iBC�/���p&QD�����&���-X� o��?r���
+endstream
+endobj
+9819 0 obj <<
+/Type /Page
+/Contents 9820 0 R
+/Resources 9818 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9817 0 R ]
+>> endobj
+9817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9821 0 obj <<
+/D [9819 0 R /XYZ 89 770.89 null]
+>> endobj
+9822 0 obj <<
+/D [9819 0 R /XYZ 90 718.682 null]
+>> endobj
+9369 0 obj <<
+/D [9819 0 R /XYZ 90 671.658 null]
+>> endobj
+9823 0 obj <<
+/D [9819 0 R /XYZ 90 667.175 null]
+>> endobj
+9824 0 obj <<
+/D [9819 0 R /XYZ 90 578.82 null]
+>> endobj
+9825 0 obj <<
+/D [9819 0 R /XYZ 90 500.822 null]
+>> endobj
+9370 0 obj <<
+/D [9819 0 R /XYZ 90 453.798 null]
+>> endobj
+9826 0 obj <<
+/D [9819 0 R /XYZ 90 449.315 null]
+>> endobj
+9827 0 obj <<
+/D [9819 0 R /XYZ 90 351.062 null]
+>> endobj
+9828 0 obj <<
+/D [9819 0 R /XYZ 90 285.019 null]
+>> endobj
+9371 0 obj <<
+/D [9819 0 R /XYZ 90 238.394 null]
+>> endobj
+9829 0 obj <<
+/D [9819 0 R /XYZ 90 233.911 null]
+>> endobj
+9830 0 obj <<
+/D [9819 0 R /XYZ 90 135.658 null]
+>> endobj
+9818 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9835 0 obj <<
+/Length 2454      
+/Filter /FlateDecode
+>>
+stream
+x��Z[���~�_�S��5SW�%�����ٝ[2�RV���ۦ�(6xg��}��
6��6�(��8u�ܿS��#�OW�__=�Qq/
+������O�(�!�V�G��p���g��:�Q������^�|{���v����+���G
(�-�W?o��?{$����I[O0����p��+R��\&��\*A����B��(4����_��L���
��<Y­`8a���dj�{+ }���oMʈ�P�@�QI�� �GT)��y�E�>�"`�����m��SM�x(�A(�F
+Ϝj�r���&N����8�gB�Y�4�FT˧�
6�a���\4T#�
ۦ�H�r�ۻ^�ٌI�K:�3����]�u��n����d����f�F
�?�!��h�g7+7���B����3*}��*���.�&����,6�h��gln�|N�"HxNi�Z�`:W��Q��
lr�{
EF�I=�"����Pǫ����(��
(��)!�/��n�(c�YJ۱
�T����
�*PB���]�.�F������25����� أ����gL��|�8
�,D,�P��bT�,�t��TD,T�����8�͌R�~
��
��`7z
+8\9"�����&_䳹��?�)OV���DB�Bs�<SV��	`�kY��ݲ\�e�b���z��S��bј��\��ܱJw}�ְ2���y(��I�#͌���o��
i
�ES��&����EQ�Up#�D��}Æ,�Ɇ��k�:ض��~�����/޽y���^]�ֻ9�����
��C�l�c�n�4��CN�v���Ԝ�6v�1���$ˤ�ԩC��7�(����
+ڽ��>��.��p�;g{e���V3�꾶1w[C���Ρ�ۭ����b���8OJ�f$����u^����pkǵ�*:��7��s�+�C��y73F|�<a�8��͊j�.��Iq�t�^���Z�O��f��+:zc����G�
�c&m�i�H��2�M�z����L%*Gh�u4"��Yor��
+��H)�����d{*H�c��!QI
֑h��!�ťlt+���
�q=fTn��0�"N�$�;�ă3����T�4��P�Eq.��Y����̦�猌j
-&12*�!Ǡ䬓��
+���1��X�7�6K��N4ڿ�#
W���%�K�<�,kq
���
!~�u���������}�m�ژ��s(���ɲ�"�H���)>�5!�@
�'oM�`�tR �
hZ�Ct��D���	�����Ą��{G|Zo���oܜȊ�msB>�9�d�
�����&��Kh>؜�Xh�mNЪ91� ��
�g��o�/g4 �i�*:
�_d��`��6+�os������KA���{1��u�4!}�����I�[���0P�6ϙ��*6�ʭ�qDL��i�Auq>R�"h.<�74�D�ƨ��*X��`u�,�ƥ��1�ͳm�]�.q�/\!��R�"�e�Yt��iOC��,�&�Y��X��](� K�A���
���rs�#�#�l���%��i�s��W��
5��|g�(�_rPaR�PC�&b�&:5B

�-РOڌ� �5�G�nm5|�	In�Rb�K�{N��h*-Ij����aL�8���}I�Mh�꒓{��.�3
�_���.�댇a;�z>���`p���j�~r��X�泉:��
ɀ�Qۈ
���
(;l4�xbJ����
+$��S����i0`:ƢI�,B}G�S���k&
�39Il晩(β���9�cC�Li4O&��� �"���#�rM$&E߀��$.����5
v�
����
lH��_+L���#��`��`_G���NG�#}��` �
�O���ME҇�u8�������d��?g��'K~�@��i;m�|�3�r��������l�T�\L����~*D�Z���<_���|5�`_=�@��a� ��q���&~/���p�q ^���u��>g��a؟���1n�(�9
����$]�u%��f���
���%⭬N
��
+��H�h2���
��PmG����7�K%�?��eY�J��C���.�ahf�3���A<�{o7Y�q�<V�@ki��
V�@+a(�H��
`@�	`�齵�qY�`8bB+ۮ��	SL8y6L� Rv�,���(z>E�!��.�wU���Ҙ�&s�u������gM��ASuʝ�L���<���p
݄�bܓ�Q

�D���
��P%��w+
�n�
���?����Y�\'��lt��i��A-Ys�Y�o���{��H���|l�С,��[��p�2����;w�ޠq{P�"A�����~�z��Ֆ{?d v 7���`]
jH,���ԋv��������"��l�o%�7�t_
#t���)c����X�!�+Q9��ݰ�˕�r�؂�Mz]���Ϟ���
+T���i^���t�okem��&
nm@>Q�{_��
+endstream
+endobj
+9834 0 obj <<
+/Type /Page
+/Contents 9835 0 R
+/Resources 9833 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9832 0 R ]
+>> endobj
+9832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9836 0 obj <<
+/D [9834 0 R /XYZ 89 770.89 null]
+>> endobj
+9837 0 obj <<
+/D [9834 0 R /XYZ 90 718.682 null]
+>> endobj
+9372 0 obj <<
+/D [9834 0 R /XYZ 90 672.057 null]
+>> endobj
+9838 0 obj <<
+/D [9834 0 R /XYZ 90 667.574 null]
+>> endobj
+9839 0 obj <<
+/D [9834 0 R /XYZ 90 555.308 null]
+>> endobj
+9840 0 obj <<
+/D [9834 0 R /XYZ 90 489.265 null]
+>> endobj
+9373 0 obj <<
+/D [9834 0 R /XYZ 90 442.64 null]
+>> endobj
+9841 0 obj <<
+/D [9834 0 R /XYZ 90 438.157 null]
+>> endobj
+9842 0 obj <<
+/D [9834 0 R /XYZ 90 325.891 null]
+>> endobj
+9843 0 obj <<
+/D [9834 0 R /XYZ 90 259.849 null]
+>> endobj
+9374 0 obj <<
+/D [9834 0 R /XYZ 90 229.207 null]
+>> endobj
+9844 0 obj <<
+/D [9834 0 R /XYZ 90 224.724 null]
+>> endobj
+9845 0 obj <<
+/D [9834 0 R /XYZ 90 139.41 null]
+>> endobj
+9449 0 obj <<
+/D [9834 0 R /XYZ 90 117.034 null]
+>> endobj
+9846 0 obj <<
+/D [9834 0 R /XYZ 90 117.034 null]
+>> endobj
+9833 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9850 0 obj <<
+/Length 2269      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks���W𔕪��sK6��l&Uή��ɔ��`��DjIif��>
��֓N���X$u�@w
�8yLp����Wo��Xb��T&�����		w��ӄ`$��`�'7S�'i�L�n�O��󓝗����L��w�>��|zM�|�H��_�hl9%zb�I�9aXM?��p����+XpB�n��Nf˫O�q2��?$1�����e�)��E���߮p�
�{f��V��Cyl�e\�p6}�
{��ŪX��,],���٢��
Ր1���u@�����5��`��
b���$R
�������Hk�Hm�t�3(2ڴ���!� �x-
+c�A�L�ɛ2��
�R��c@��#�X
���鵞�U��
��.
�@�
�����-�yV������fF1����eSk~���b��?���k.�dV�U
��������u
g�������������4͈��Q�" �[\m����<�k����]oʼ
+��W�7�����A�P*Ǥ�=���Cy��U�kʻ>�2���

f�հ~ʪ�0��]9DB���g#)q�[!��ț%�"���1�DATCt^0,Šz�mfW����Jz�yN~?	K�
!��,\�����b_[&"�$2'���`�
�E,��'�Kt��J�XEX42J�<�
��*!��+˄2P�]�˧
O���l~�����fiC�yq:(�HC��N0���ܠ����b;o��bJ��k
�e
q1�Fӷ��2r���+���,��U�����
@�`��
 �2n�]"��vvK����4�7�
z#�
���<��D�N�7#@h�M�Dz3�@o"P[f�]�.�0��T�)�����z�4N�s�ZhH�_(�@ox�N �	����������YV����4��a��|�� ���?N�x��2]������]��_���SZ��4� �;7d�XExZ��]��2]����A�V�ߍ ;.6s�tDO!}��j���ډ [...]
7f)�š�Aa݆�� zw	���s:	j�Xĝ�:�D*�󥱷LJ���M�9��`�MiR!e�)�
Ji
���SZ
+�(�T�ZK��A
+�Q��+Ȭ[
+�B��StD^�TpH}�(��T�ii�U�L=���,=������y���T�tfKV1�G�$����Eo?|5%���ˁ"����%2v%
J!�2�"��
�r��D���"��:�"�Q �A� 
P��b��:>$����%1�v�sW3#H��j�ԣz����i�b���r�ƫB���������o+�Qթa��h�&��Ҷ�[�ȉ
��g���+a
+#
����	A��1��OY� 3>�`�#�������l�#�z��_B"���$p�C� M���vZЎ=�S��ߪ�[
��ZS�=�����.|]�Jq���7�J���\c>���+Ȭ�
#��Q��;"/�z
b���6�Ǵ��z=S��z��gp���A��
s�hy�#�Q��ϟ���DJ3�~�E22;������,Ofv�$)��ؙӑ�N���:
8�֍��:C9D��(�kZ�b�u)�)��oy�z��A�
u�c�
?�ڙaj�5����_S��Oq��N�N�(�ʫǭ� ��v>)�cR���K�
1
i�F�vcZ�P���gR���ߨ]K�Ο��ȉ�T���<H�p�<1�S=f�2;��4�A�v1
�e'�jn'b�n�~˖ٯ��j�~�� O��
�C���	��!; �� 
(�L���}a���,
y�_�s�,�A��i�6���"TMz�,F���k#~@`�q��|�^ ��8�^�명/2�(	4e
C)�
�93t���= [...]
+A������82�tm��cw�#HB�>
*A�{ũ�/���
�
���+�l��oV�]n���c2�bccz��f���@Xw;/�Rh�ٱ��а+(vjM8�R�y�X77���+[~7b`�5�7��_�z�g�ܞl�]�!�%<��ڀ߃�W�\�媞�-"\�j��i�^�{��~�X����^@�
;
t)m�?�7�꾩hHV���e��d��Ka�$�[�8�`
�(E���������?/Y��
�e-����A
+endstream
+endobj
+9849 0 obj <<
+/Type /Page
+/Contents 9850 0 R
+/Resources 9848 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9847 0 R ]
+>> endobj
+9847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9851 0 obj <<
+/D [9849 0 R /XYZ 89 770.89 null]
+>> endobj
+9450 0 obj <<
+/D [9849 0 R /XYZ 243.423 711.11 null]
+>> endobj
+9852 0 obj <<
+/D [9849 0 R /XYZ 90 704.47 null]
+>> endobj
+9853 0 obj <<
+/D [9849 0 R /XYZ 90 645.719 null]
+>> endobj
+9451 0 obj <<
+/D [9849 0 R /XYZ 90 611.049 null]
+>> endobj
+9854 0 obj <<
+/D [9849 0 R /XYZ 90 606.566 null]
+>> endobj
+9452 0 obj <<
+/D [9849 0 R /XYZ 335.617 537.255 null]
+>> endobj
+9855 0 obj <<
+/D [9849 0 R /XYZ 90 530.615 null]
+>> endobj
+9856 0 obj <<
+/D [9849 0 R /XYZ 90 471.864 null]
+>> endobj
+9453 0 obj <<
+/D [9849 0 R /XYZ 90 437.194 null]
+>> endobj
+9857 0 obj <<
+/D [9849 0 R /XYZ 90 432.711 null]
+>> endobj
+9858 0 obj <<
+/D [9849 0 R /XYZ 90 343.199 null]
+>> endobj
+9454 0 obj <<
+/D [9849 0 R /XYZ 90 308.53 null]
+>> endobj
+9859 0 obj <<
+/D [9849 0 R /XYZ 90 304.046 null]
+>> endobj
+9860 0 obj <<
+/D [9849 0 R /XYZ 90 214.535 null]
+>> endobj
+9455 0 obj <<
+/D [9849 0 R /XYZ 90 177.977 null]
+>> endobj
+9861 0 obj <<
+/D [9849 0 R /XYZ 90 173.494 null]
+>> endobj
+9848 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9868 0 obj <<
+/Length 3004      
+/Filter /FlateDecode
+>>
+stream
+x��\[�۶~�_��V��`�/�S/�'����v��x<�P�l%jCIYo} �"%P�$��N�b�tx���>�qr����͟no^~�Xb��T&����Dq����Y�a��
~��.aR#b$��=���~�}���{����ۛ�o|���t2]�|���<�.���<�A˄S������op�K��������d�4�a�E2�k�nH�`\���&-��
�N���7
~뿴�
X�5��9j�D�2�U ��I��H`qL*�&��'��v��K�E1†��N�>?~���H
+�TF6��H�
Umen���
+<Xdy:.�u:$�j����*��6+�9)�/ǟ�e��t�o��ɿ��

������덂�z��1�h���hR���gk?�e�z��ϣ �+�|V$�1�
]�dz�ό#
+
Oj��~�ۇOy/0_�I�-Mj0��eZ�7�ϫy���{P�H�ۥ��eH�`�ئ��t��
�тƄRl�
J� et\()���;(�zA�:M�PjjRCi��e�?�.��{�A��Ŋ��=��@����
1�$��A��L�f�/��P�,}�t�.�Vé�˦ئ�H��$uH� YLQ�,{�C����eo�`:���I9�H��{��M��+Q
Q����j
����?.�
�?�u(n3D$�%1WT�
�Ӑ�T 
+��#F1�L&#�9�t{��泐v
#�k��2�:�V�����;H��d��6�!l0wn .�
�幛�i�MWˇ�&��l�m����ls_~�����b��+A�㛛�
��w���a��[98��dPb'�p�� n��n����HZN��&<�@ɵwK-���.�<-+���\W��y#���ho�n��1=���+�$&�_�ן�����U�JJ��	���P�N�A���B��%�7�O�/���!�='�J at r_
+)�d~"ZP��V�@�������+�
��x��>A1���2I��G�O1l>̢Z
+� �辩
�&"�1S�>
DY����bew�c��!��9EL���[
�P�'��
��k����
Ȗ��,/
�dq�U1��5���F R
y�ּ\�!$�<������Ъ�:ʪ)��u^ CF̨A�|��9X��b,N�/(:_m�`�
�t�N�F*����/R`��MsLb�
+߷�H7�"�v��
kK���}-
�Z�ֲ�Ŏi�g�mc��v:����Drјl�E:/�m�Ymmr[��f��
��R�K��3`�Lh>
�1�c� �
W�����K���Q A�9ڗ��So��|�XGAȊRFU�WF�!��T���5���
��o��6���O�^�)2��ec�>K���
���,��M�ୈ
+I���^|�z��^�}K@�o#����$Йր��A�jA�YUvN}_r����*��˾J簩�4+#�>P�-
L���RB�ƾ@E(�`� �cN�\��ۈ�@�$088^�<d/(�wn�\�|
_e(�BO���a(�ɶ����f�[��	���uI��l���eh�U(Q�M��]���I�jD��s�W@�݄�s�4wV�r��p��>d���l���ō*
`��ta$XsH4OV�"�i5*0u��]��œ��Bل�R��I
mHx��pQ%�b��P�
+y:�mZZ�d�L�ͼX-��LV�%�b�I�	ȃ� ��
S@�iμ�W›mo_�x�M�};��k�r�0
��~�˲-��Z��iw���������߷*�Y��:	�9�vSG�`����)'%m
+ �b~Y��C�$t�nEl�.
p~�4'�����i�+�	��[��Jh���| ��tF�sl�
�E�rS
�oY�ɽi�+5	�����9/��{�	dz0��[��HJ� �ř4畚�����
ќ��ѽ� R��4gt�LL�.��Js2#
�.�y�.A����o4�o4��=��ˣ]��:��IEL�3�D�Ѹ@��H2��:

��&FR���Iwv�"���R�v玨U0��:����i����� �
��+
$T�PTܹ��}:�U
�]48.��9]A
qX@��l��4�:�ۆ*�m�Z������wÔC9�c��K<��gܳ6��}�}�5&��
2�;���'T1����k�}jœE��cZZ��{�^��,��߯���W�sY��D7�ܭy�� �O%C\�#��v��E#��YSʪN��
���L��4��]��^�
yJy�9��{�!!J�f�)"��۳���]�Aƨ�����]���b�I���|�d=laۉ4���dJG;&�s�KV
0{���c�r�I��=&`�q�86�
�14p���SY�:%@�S�r�P
v
�PN�%8?��B�>� 'g
��`D�{R �硓)
!�($�H)�dq���I���R;/���։��
�~V�Bڟ�	�B=+qO����M܃�ڝv�&��ܶި1%�
���W]�=�5����j��;}0��*a(U
R���z�	C�
�<n<s�
�
�$��Wk���YX{�R��
k�;��g�ݽ]�}���9�����ͭg$&�_�E��ܢe�my�9'�X�3�W*l�����9��9̹=&D�s~�<v��P�b2T�%z<�0�#ѝ��K���R����+5	���Io�������ft�<��:&7]���gI\,����a�u~�&a,559�:�Mҽ� �
y.�bKthR�/�:�6�a�$�=P����Q�שd�[�t��E�S)K\����Z@��fb��
��I����
q��5�=L�I�3�OS�
���˗��]L�m)��%&���i}b��_�_
_����O 
�cr�
,?�xL������<�dc�KOU1�m�e��}Y��|���%K��a;q#�7�	�❶�VyՆ��H�1�p���[�uZ�~(Ġ�_��v��׶�O��
+� l�&�A Fާi�Z�׿k���
�����T�������˗��
�;鰭�������*H/WE
����q��R��_n05
+endstream
+endobj
+9867 0 obj <<
+/Type /Page
+/Contents 9868 0 R
+/Resources 9866 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9862 0 R 9863 0 R 9864 0 R 9865 0 R ]
+>> endobj
+9862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.826 647.922 452.756 658.826]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.826 381.843 452.756 392.747]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.826 91.455 452.756 102.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9869 0 obj <<
+/D [9867 0 R /XYZ 89 770.89 null]
+>> endobj
+9870 0 obj <<
+/D [9867 0 R /XYZ 90 720.814 null]
+>> endobj
+9871 0 obj <<
+/D [9867 0 R /XYZ 90 606.154 null]
+>> endobj
+9456 0 obj <<
+/D [9867 0 R /XYZ 211.842 541.904 null]
+>> endobj
+9872 0 obj <<
+/D [9867 0 R /XYZ 90 537.266 null]
+>> endobj
+9873 0 obj <<
+/D [9867 0 R /XYZ 90 454.735 null]
+>> endobj
+9874 0 obj <<
+/D [9867 0 R /XYZ 90 315.766 null]
+>> endobj
+9513 0 obj <<
+/D [9867 0 R /XYZ 216.764 251.516 null]
+>> endobj
+9875 0 obj <<
+/D [9867 0 R /XYZ 90 245.499 null]
+>> endobj
+9876 0 obj <<
+/D [9867 0 R /XYZ 90 164.347 null]
+>> endobj
+9866 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9882 0 obj <<
+/Length 3188      
+/Filter /FlateDecode
+>>
+stream
+x��\K�۸�ϯ�)��,o�S�ٸv�T�z����rq$j��D�)���_�@R$��gs��A�jv_��Ɠ�	����������D#-���_M4�D\#!��r�aJ0d6'��݌�i�o�Ow3�����c���Oo��<�_no���r6�O�[ǻ��KVI>#j�d�$IF�a=���Ǜ���|�!�
��l�"5Yln>|ē%\�q��j�lo�L8e��|��
.ͨ?fh>J�@��8��|����.��"�f;�БȣG�'�
)�%4:���[ulAC췖����9b��'���i!:b	|��H�H{�pDa�K!y2Y5���i"��03b"��gW,oo�l���K�N���|Ƣ��~�d�[������"����9  ڵ�1���NY*�0�X#�Z��̷3*�ϙs�te����q��4�؟$_�rwS[�D
�7����Cys�%RQT��
���4�U-�xLw����2��فO��l��<�Ez�N��L�y� �׉�H�y��cDyR"����V�U�rĢѡE��d��	n���O��S����#Y��
�-���m���}�L���*�n���ځ&���ل��0^�]��]�y:cH�}z��<��Z;D�R ��yK�է�g�FJ��.��&V���堚~��
+��O��e�ؤY��o<29��a�jG\'��Y��/ _W^�̔�49/��)EG�B 1�PV���dS
+u�.8N�D1pf����Ԝ�
+�յ�
'o������h���f�B
2#d�j�c
(�(�H
(  Ӷ����մ�no�*���k���_��Y�\LPg�z����DԞ�6͒8���2S9�L0u?k4~U�����-�
��̈����m�ZPV��n�� ��EZf�.NU�C
+�����R7
Ã����R �{�:��F$��+����|��ަ
i/W�t�W�I!�aH
+!�P`��\��h޶��\��qUCѢٔ���oAM��&ɒ<.�Ҟ=���3<{O�Ի
+�#�ŋiO�-M�j�R&U�|H�58��V��	�s+��2��)��M#;��|���}⯔�ʻ9��;�f�7J}�_HDS�5�عg�meP�v��@��+P�3��o���o/׹�*po��ː�,9$�9�đfN���t�h~�q�1֎k�xWf��
��	&#ۯ_�!�z_��-��h;|~L��W�H(t"}V��'1����N���)��E����r7�- �@X��KU��&�x���'Ӂ~���s�h!x�>� ���R=�D��	}�_Чxz_0A��*YC�-�?cDB]s�2-x�D4��ʼ�0����W�DY�8�غ�����JJ_�����,��^��kX
+BC;���Mh?�)&W�c?�@d��sh��
#	a%�Y��6==4�*�U�`�N?����`����^�_���~
�.6��A$?-�\,���D�<
+�%
+E,t���zK�i��RS�K�$�B��fh�ؐ������h
+-Ѣ�+0K
�B���
F�J��WG�*Cp�R�N�W©�J�p�
�̓�%�``K�օ��k�.���8s��� M�����۪*���S]#�����ymH�g�
�x�'h�8
��C����Bz�D{T�3X�:[�7�*`��;�2�F���Ė��NW6$�
���N���̥j<���l�W�����e�\�mp�?��|��f����+��m�*�]�C))�
{�b���]�1�
�TZ���]J�M8�� �ٯ�*����N�S=g�z7.�]�V��Ȉ�܂Kt�MDHF�󬱙�G
Q";�(���*E����ȿ���)�UK�i�+��b�$�ݫ
+����
Q 
ƃ��7Wc�Q5�0�k�)'H�A�>����E5�c�u

+���޶�;�/�Q��t��
+y�ո\�y�<;9��S���tX�/�H0��!	���ky�!�D4#�Ҋ��z!#߲�wJ���/_�~/���a=�r�^J�����
�`P��kM;�f���9)-��G���'�-yRoɓ֖|
�r�X/Mr�}���'�
��� �9�2"�lj-6������DDm��oa��DW{!�D*�����6�/���8�0~��k9}E5��9�̑�������(���Wy�y�d�Y4}q�8}��'8}������b�
��@u
q�sy��N���6�Y'@�'d�HE�#�	$!��-�e�X}y����T��dK6�D�-]���/|1T�>6ք:��,+S
a������%(�.���4ƺ��
�Ha�����
J�SN�.�8��I{���	�.
�{p�"y��ue-&�r�<�
\ 5��
�j'���Xq�cf%����]�ÔJ̃�Rm�����Qв�Fۇ0a���v��b�T-�-Pz�:�q�T��B����B�{�G�
��>�P���\y�XSJ`J�ꟊǸډ��)��]�+���I�
p�d0N�ot�B�hH�/�D�R(��ye$�Yj=	v�Y�+���d��}bUQ�
:�E��$��l������CD�M�($�BKt��@Q�d�h�@$��ZW����J>�;�p�6~�5�}haMk�ك����)�5�)��5�OK?�@$>-�\|����I#���OF粃�Q!��ƏϦ:g
��
�JZ��"c�A����9C-C"4�@P"��"@��@�D#����K�
<���Φ&#�福��@��@���_�
����=
��hϨu�A��y�G&�d8(�CKt`���
+�XB�T�����i�{S��H
��u6&��b��i�G&6��iH�_,�<~�H����;���`!i�o �F ?�2�+�
��0��Y"�u0�=����1�B��e��
{Ͱ_�b�nd��"�w��ezv-�ɮ�,ċ_�*��5{6�1�$�Ю�!��=T��r�֝�|:z��}
�2����:U�
w����%�}��c���7f�����i����P�8şϹy���N���(O�
�[�������|��4|�n�J0�l�tS9��$/���Ӟݒ����s���	1-��q���nl��/�I~ج$�ɜ�&x�s��ŁS�?�j�ww���
+
��[�E�t�����a�dB�1cհ��:���m^�47��(�ȹ:z�SII�����|cvr"{|�5�����
�ذ�_�0�?u��
�L
+endstream
+endobj
+9881 0 obj <<
+/Type /Page
+/Contents 9882 0 R
+/Resources 9880 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9877 0 R 9878 0 R 9879 0 R ]
+>> endobj
+9877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.826 494.372 452.756 505.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+9878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.911 304.721 340.584 315.625]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+9879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9883 0 obj <<
+/D [9881 0 R /XYZ 89 770.89 null]
+>> endobj
+9884 0 obj <<
+/D [9881 0 R /XYZ 90 718.682 null]
+>> endobj
+9514 0 obj <<
+/D [9881 0 R /XYZ 211.842 654.432 null]
+>> endobj
+9885 0 obj <<
+/D [9881 0 R /XYZ 90 649.795 null]
+>> endobj
+9886 0 obj <<
+/D [9881 0 R /XYZ 90 567.263 null]
+>> endobj
+9887 0 obj <<
+/D [9881 0 R /XYZ 90 428.294 null]
+>> endobj
+9515 0 obj <<
+/D [9881 0 R /XYZ 216.764 364.044 null]
+>> endobj
+9888 0 obj <<
+/D [9881 0 R /XYZ 90 358.027 null]
+>> endobj
+9889 0 obj <<
+/D [9881 0 R /XYZ 90 276.875 null]
+>> endobj
+9890 0 obj <<
+/D [9881 0 R /XYZ 90 173.771 null]
+>> endobj
+9516 0 obj <<
+/D [9881 0 R /XYZ 289.989 83.504 null]
+>> endobj
+9891 0 obj <<
+/D [9881 0 R /XYZ 90 77.486 null]
+>> endobj
+9880 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9895 0 obj <<
+/Length 2471      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks���W�PU+rH&�S���$�&SS�ˬ�H/Iͬ�}I%Y]I�r
������2FTL��>��`������^��AFR9��<Q� !���c��~��q¤F�Hx�~��/�o��ྻy{��
���x)=��o>~“
�
3�'ߪI�	�
>W�7���
+���+�A
:��q�e��R
��R
��:�GE4C��J��6��6-�}<DKĉ
+@��2
B��]�(�k5J
�J~N
�8��t���{�'���y��q�~s������3=�I�;!~Voq�o&��� ��)pR�ifld |�
% F<�X{>o����f
����tD���a�Mjz�Dg>��k�o���pL�I�#`8�Ӆ����?�W�۔w�
Q���


ڮP>%�I���H�
q; J �Z3�`CCg�eF4�N�텳*�����}.�̃�I:��N~?0H�=��w�a@�k˄@g&�34G��&��K��E��:"�qg�FHn'�
)���$a��(8��[�(�ӓt�q�5^%�������Mk_:d�9Ҙ��)�0�}U��1UCg��*���)ϦTD��#��)b���.��!i��y�F\����#_$`�<j���l�
���ʢ��̀jל��."1��52O	
+bnz��]��(�Ga�3(�J@�E�'�ң���m���7�+ t.#���Z���L5k�L�U��OǙ
�B!M��3����+�1R -��J4b̼��s �
3`��̊��\�1yLG�5<F at vǜ��c�Դ�1=U/�1����1���Z�]DR��u�kd��1��Ѻ�c�%<F�f��c� �<f
�	 
�_�s�j�r��@D[WO	���|Jq�e� �))��4	f�K��*iV�
+�P�'����H�Lh�����ן��S-�x�W�
�H�8#5m��DH}ހ�m��e���S
a���e�'qZ�o�!���S at x�vqA��1 1� d���q�~��Ha��%���)���(�Q5E3��h04L����
� =��l-�۳£�� ��;4�OIɊD%<�
+*�	��eW��6k̝�?�����>JC� ��!��֘���ai�nI�l�AXp�1�2�
c��T�>��۫��g�X���P1@��
�U
�׶�='�G��`��%
�p�]5�<��.�b��$���8� 77�'u��WSLL��a��
����Ϊ�ʑ����0{��Ia�:�=�瘪�rqW���k�rQ�墁���Y�_?g�H\��'���<:I�����f f7��3V��Sk�)J���z`L������	AC�
7��	�=�k�E��M{�o�c�lLO�T�~}�q���Mm��h���`膞m���kg7\d~8.��e�w���]X?�ﮒ�\�ƞ�����Lp���˧zުb�[?��,�`mZC��%Y5p�A���&�>�ÓQB�G�@P��w�o�4

�4�E6�!�T׶(�e�f�ky���
�q0���U��(w��*�� x�I"��n�S屰�<.��?H��h�&�*.
�1���I���6�%��nl
+�����c�o��=or0O�GVӻ�}pat�\�A��Bc���
I�8�m�$���K�Y��]�S��lB� ծ.��k'J�s���6��H
B(���TE�(Js0�P��q
B�Ra	�)�[o_�	n6�5��R�7������<����e�
A|ϧ[��&���x�:���]i�³��Ţ�i���KV��w�=�C�~R`h_�`q�o��O���
n�`������*a�B�+5n��0)G���̊�R �xC���mG�5�[J��=Z�vLM��mO�
��������@ ݽ�8#��ʽ�~��
+Db2�/E��y��먄��H�>#9�Υ �3��u�r/5!�2>�*2�
�����@#@q?
Ӛ�P���r�\U�k�U)F=��Ns��<.+���{pgI��=��w��}
�ͮMv�F|9x#.�S��-^㼛]Dm*+��P���P��� ���M�N�Ql�Ү{K7
�� -#J���E�gk�@ū�"�
�����dV�� i F��a9Ȋ:����x1)"�*05)Qφ�m8�aE�(Q�gH��AJ��X�H�)�<6���Ѩ!h�j[
�C��#T��
�%L"8B����$��2
�j�fZн�:|�/)�;�'��ޕF
ӟ�$-_�/>҇�
fUy��u�̡���w����
�7��"WH��'����R����\}ټS���f��f l'n�f;���k0��:���sv�]g�����,l�ǩQ}6�����	:R��]�ؼ�opDvT�u�|���\
ח�O����Gp$D��x*���ۇͲ����������=�m�r���-�kL�.� [...]
+endstream
+endobj
+9894 0 obj <<
+/Type /Page
+/Contents 9895 0 R
+/Resources 9893 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9831 0 R
+/Annots [ 9892 0 R ]
+>> endobj
+9892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9896 0 obj <<
+/D [9894 0 R /XYZ 89 770.89 null]
+>> endobj
+9897 0 obj <<
+/D [9894 0 R /XYZ 90 667.827 null]
+>> endobj
+9517 0 obj <<
+/D [9894 0 R /XYZ 90 633.157 null]
+>> endobj
+9898 0 obj <<
+/D [9894 0 R /XYZ 90 628.674 null]
+>> endobj
+9899 0 obj <<
+/D [9894 0 R /XYZ 90 567.766 null]
+>> endobj
+9518 0 obj <<
+/D [9894 0 R /XYZ 90 533.096 null]
+>> endobj
+9900 0 obj <<
+/D [9894 0 R /XYZ 90 528.613 null]
+>> endobj
+9901 0 obj <<
+/D [9894 0 R /XYZ 90 406.026 null]
+>> endobj
+9519 0 obj <<
+/D [9894 0 R /XYZ 280.943 317.866 null]
+>> endobj
+9902 0 obj <<
+/D [9894 0 R /XYZ 90 311.226 null]
+>> endobj
+9903 0 obj <<
+/D [9894 0 R /XYZ 90 240.52 null]
+>> endobj
+9520 0 obj <<
+/D [9894 0 R /XYZ 90 205.85 null]
+>> endobj
+9904 0 obj <<
+/D [9894 0 R /XYZ 90 201.367 null]
+>> endobj
+9905 0 obj <<
+/D [9894 0 R /XYZ 90 140.459 null]
+>> endobj
+9521 0 obj <<
+/D [9894 0 R /XYZ 90 81.969 null]
+>> endobj
+9906 0 obj <<
+/D [9894 0 R /XYZ 90 77.486 null]
+>> endobj
+9893 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9910 0 obj <<
+/Length 2155      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~������~ٷ6M2Mәm��>��
k��Lm��t�}����L�����t�tn�FT���lo������b�AFR���$$�[�C�� ���7S��([Eo�����c�Ȣ�o��,ʞ��_g�b:��/�Q������8�
��<$Ɉ
!��o&/o'�&d�qc
�t0_M����߀����K�ip��
�M~�`O�R��!��1DT���)�Ẕ�	P�Y��%#�"
0�asH>��6[	�e"Z �u3e&sJH�&t|J�j��)Ո
�	��o:�a�����b��E� FC�	2�z����C�����5�

<�q����
Vs�(�qJ�[����"^�7���A0��߹
��f���?�
 D#%I��$�l��i�$G
ƚ��p��'�2I���֞x�J6�g\#�T0��݋?,�OE�2_?Y�|v����G���y=��vI8EL�=u=y(F|7%��u���!o�f
�q0�m��1�
�!C���7M�Ƿ�dF1
�p# B��U�u��
�H����kg��=u�v��47���D����u1&��!i�!T��
ևuN�<��3
0��x&�?YDRh�P�f����ʗ�A%i�3�c���퓨pw_�����U���"�rX����9�
8<����X��,-_�vA$"L{��$7rL�?�Ӎ��$�y �A�U���?���H �
�G�a n�����S2>d
��0�
s p%mH�^�l'
Q0�
+$����1�P���a�vk�P�@��P�E�d�
+�‡�*N��fO1G�Q5} ��Ue���C���*�"����1[O���U��
+ 6g�Q���@�����
+A"
��p���8Y"	�O.5K��z���2
�S̀v��f�)���u�K0	��
+	�Z
Fw0<�`�:
�����(�rO�cI
c�P��}N�1P � JIc`�=Q�x?ϧD�˸C �`.�Z
C s���[<
+;
�O�$x��'�'�
*=䉘�4cB!��O�ju&)�/�y�HzJX;��x86�f(>��(j��߈�p�
T�Y܍�X2`�e�=�-\�|,��!Uڑ��21:I�'�mi���^�
�g%U��]շf1Эۆ�D�
SO���8:�9w
���Akf�R�-ZE�M}E!�>���7P:K��^��C`>�0���� ��
F<ե�F<�/q���t��DKFG-˾��3@'��=�S	S��ıFX��Ә�ք��Ꙅ����T���ߋ ��Ȝ�`����
��WZ�ei�>t�v�Րt��TF؈f�U&\�K�r��<߬�0�T���d
UMeV��U��^��֛��p�2�e���j��y�G�7s�X���,+13w�m6��u�t�dq�ɪw�ܵ��CKC
�D1�%�~��I��>^V��8/�#���.�
�o�� �X��}�K� хz�a��.��Ԕ@�xVw���2��D��!M\,�%��>O��4.���p
R��	�{N5,��s���}v4��ǔ���_���90d�;�:�Xr���RЮ�A�.������/��Il6�l�e���ż5����4g���� 
+��Y�s0e���X* ,
>�8��

��.)�
+�Q��[DȶT5Vt��^&C'����ml��H�F�÷�8��"�// �
�
�l�ӊ
j#�f��40O�y�
j}�ҍ���j�霽��5�
�a
M�����q�6��5Ck)Z3�~E����Gи�'h���e�_
4��9�����H����3�jm�]y��
���\�D�"�,�7]Հ�����W���e]�盧�uV�_2�=�v���-�+��H�y����ew^�=��s�|�@T'@<�B���1�� .�dG����'��eQj�≲+;�ًB��}�r�
����
�n���#C���,���pGF�
�d�n���5���;%�hl�tIT��N����
xe�~w\�=�-�݅,�=5�U��ܼu7�q��T�����(�Dշf��>�
�8��>4���#��wq\���;��~��S�����f�Ǣx�����<�q�� k��PC(!w���i �j�m?!��Ud+JT{�6-��I`x�L�d~���R��Ѽ/�/V
W?�X��&x���s 
+endstream
+endobj
+9909 0 obj <<
+/Type /Page
+/Contents 9910 0 R
+/Resources 9908 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9907 0 R ]
+>> endobj
+9907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9911 0 obj <<
+/D [9909 0 R /XYZ 89 770.89 null]
+>> endobj
+9912 0 obj <<
+/D [9909 0 R /XYZ 90 658.004 null]
+>> endobj
+9913 0 obj <<
+/D [9909 0 R /XYZ 90 604.315 null]
+>> endobj
+9522 0 obj <<
+/D [9909 0 R /XYZ 90 569.645 null]
+>> endobj
+9914 0 obj <<
+/D [9909 0 R /XYZ 90 565.161 null]
+>> endobj
+9915 0 obj <<
+/D [9909 0 R /XYZ 90 494.431 null]
+>> endobj
+9916 0 obj <<
+/D [9909 0 R /XYZ 90 428.786 null]
+>> endobj
+9523 0 obj <<
+/D [9909 0 R /XYZ 90 326.051 null]
+>> endobj
+9917 0 obj <<
+/D [9909 0 R /XYZ 90 321.568 null]
+>> endobj
+9918 0 obj <<
+/D [9909 0 R /XYZ 90 264.949 null]
+>> endobj
+9919 0 obj <<
+/D [9909 0 R /XYZ 90 211.26 null]
+>> endobj
+9524 0 obj <<
+/D [9909 0 R /XYZ 90 162.236 null]
+>> endobj
+9920 0 obj <<
+/D [9909 0 R /XYZ 90 157.753 null]
+>> endobj
+9908 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9925 0 obj <<
+/Length 2091      
+/Filter /FlateDecode
+>>
+stream
+x��ZK����W�Ha�~�-�׮8���U*����#r$V$j��v3�>
����^�_�	~h �_�
����u6z�N�� #��fϑ���		����:�4�!bR#b$|�
�ϟf�~�}��F�f��#�pDj �������O8J��F���k��8ep]EF��Ɩ�Qao�0�j�0�"
^[�~B�8.�uZ�ń�q��:B����m�Ҿ;�ffpd��������F&�F"��*�&�q [�v�8�R
�Z�����S3E$��w�!��N�D�*ߌ�2�L����&/�"��T����4��$MатHD�0��[H�Cz���Ř�u�\׳�����`����0��#��w
�����u(1��$��@���*�+9D��u�s��1�4z
GBf��%��+SV��c�O8
�WY�K\L�/��4����b�4�
'���
�1��T��b� Ix�-�̈́���|2eB��g;���(�|�9�\�y�g�Y�8��M�6�2+�6�
+�x�(Γ

����&�>"�f�R���IkSB0M�|�Y��U��r��xS���{d
+	N��ȱj,kи�
N]^�R�$�h�HM�
�ش&ϯ�l��o��_�M�n���W���g�}y�U�4��<�Z�^Y�*٬��s��
b�(<M������
�c�!��&�� �(�L	���ڸ�e�����qyF4Er��fpJ)�ٙzl�i�ϲ�FǛ�-�^�iR�@� �y(�τ��p�ǯ��߃�=>��D��
S�Mt*�)
C�@��R�s��u>!b�J{
`
��1~�~a��3�a�nZ6vv����_>��U����+�Ԏ
�T7 Du[ ��!O�������!<�+�@oJԍ?f�*��O^)r@�S3�P
E7U�_�d_#
gÒ��A�e��H���6��i�y�y��T����Wi˵m�Z�,m!���!�Z�
�
+��5M�_�y�s�L�-G�%܀��_Ys	X�H��98�+�P����KP��]���4�Wuyf\����`��`S��W��%J�z��P��>��n��ܾ�u�v3�u:�k�
.Ӹ2P�-�� �E1�
+��
B�+(]&���j�M�y��C���P�K�v�w��
@$�s�
�W3%�FT��J��ȳ|�K͇Ρ�����x�n���z�[I���r�v�_���qU�����S��:N���i��z��ٰ�r��ܾ����9T���v�XX�W��ۜ7/���͇�U=�3we� \�q�sںu�B at l&Po��눡�xA"�Z
hkz����3��1��^mm�(�ߕ�P[K�C�`���I�L���E
+�M�G�b�L cd
���5��=�BE��
+�+�^��{�k��!���
+��=�Z�*�����%��B���L�Z�}�����s���
���]��6n�����&�<�Zo|��:<���!�w<�J��3
J{H�$H����-:j8��o���!HP�Gt�<�
$x mOWR�৪�M�d�}V�hϊYO ����B|������r;�uu���6�V��i��A��7���XE
r�C���
Ȯn at .���(g:�9�V
��C�S��H�*�i�^LA8���V�ϳ�F�8�f�'�]��+�/T����頲u��Uu���<b@η���
��<���

+���ޫ9��ej�D����	WkELc��PP�zƜ�
�� ��H��^��#�Ztp�N����8�3�G�ǔI``j��/z���g4�P�*ie
�4�Cݫ=���*���-zY;}B�L����L�F*�@�J֘�]5E̎
u�Ǒ2����?��!w��+D<;f'��b%r�����\�,�v�����d]�.�g��
	��
�b�u/���e�M���ok}��=��{�v�5,��5�'�v����?�7@�ş'B��u�G�o�Fm������EYo1�C��%��d�C�6\Q��ߝ�9^��# )�]VXV������vQ��A
yL�������<��e{��ik�,����*?��e���fc
+endstream
+endobj
+9924 0 obj <<
+/Type /Page
+/Contents 9925 0 R
+/Resources 9923 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9922 0 R ]
+>> endobj
+9922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9926 0 obj <<
+/D [9924 0 R /XYZ 89 770.89 null]
+>> endobj
+9927 0 obj <<
+/D [9924 0 R /XYZ 90 720.814 null]
+>> endobj
+9928 0 obj <<
+/D [9924 0 R /XYZ 90 667.125 null]
+>> endobj
+9525 0 obj <<
+/D [9924 0 R /XYZ 90 620.5 null]
+>> endobj
+9929 0 obj <<
+/D [9924 0 R /XYZ 90 616.017 null]
+>> endobj
+9930 0 obj <<
+/D [9924 0 R /XYZ 90 545.286 null]
+>> endobj
+9931 0 obj <<
+/D [9924 0 R /XYZ 90 491.597 null]
+>> endobj
+9526 0 obj <<
+/D [9924 0 R /XYZ 90 376.906 null]
+>> endobj
+9932 0 obj <<
+/D [9924 0 R /XYZ 90 372.423 null]
+>> endobj
+9933 0 obj <<
+/D [9924 0 R /XYZ 90 303.849 null]
+>> endobj
+9934 0 obj <<
+/D [9924 0 R /XYZ 90 250.16 null]
+>> endobj
+9527 0 obj <<
+/D [9924 0 R /XYZ 90 215.49 null]
+>> endobj
+9935 0 obj <<
+/D [9924 0 R /XYZ 90 211.007 null]
+>> endobj
+9936 0 obj <<
+/D [9924 0 R /XYZ 90 140.276 null]
+>> endobj
+9923 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9940 0 obj <<
+/Length 2233      
+/Filter /FlateDecode
+>>
+stream
+x�ݛIs����<%dUc_|K:3]3�T9i�if�EK���7%w��}
�"��Z��TN�)��=�m�@�h����ߦ7��+d$���)28R� !�y�KL0$��q|�
��:}�O(�����l��?-�4����/�Ʉ
+
X�������)���l3�@�dDƌ���7�Mo>��G��-���l}��o8���#�����b�:��u}���
.ͨ��
+��^J�@��8m�<R�!��3��g��~���
+�:";S��
�D����k��4ľ�LD�������
�	2B�����H�\Cdq�pDa�K!y=5���iz
!af�(��6g����-7	��t��?�y�T�x]g��ۯ�����&����9�@�m)c
��Y*�nH�A�y�N��mBE�u�f�d������s�"&�.�#�b�� %��������r���
+H�q=(��{���R՘٢WF.
��<s�ϗ�=;��r3ۮ_���q����%��q���"��A��*�dz��.�@�T������_��m�j���
٬�M�DS�8q|TY
+ncjU�J
��_���Q(	!�+](��P LEL�p�'�踬>wwy�A7YW�T� �0�`��������gV6�u�Y)8�Q��3�\�<]B>,��W,p2�B�o��n&Z�֢���狡ތ\C
+���?���fM��g�4�#j�����D�ζ2ʄ)�E��r)��ϻ�l&Rw�m_l/����>���9���m�QHI�R��B#.k��['��X����lj:!1ӱ�̐��2�/k��xB
A�ê	���,C����#�H��MpN��
~i�wm�3�kh�E�#
�=�/(-=݊`H
+PC�B�4�R2��V	�]���@s�i1퉂���]6GɄA��PF̲�jY��f[�H�>$��
+}��-�"������j�>=�.�m��G�<4�U�+�B�煗K<�G�-
Z�!�M'!۞�"]dBk��I#
��Ј���Ñ��V8�2�B
�,����X�#���p�H!dب�F�(� �e
FDF �`�o+�ky5�@O�iv*�� *X
ᬥ��8��xP��"�W��dV�ɉ?���9�(y��A
QEf����>[� ���� 
XBI-s��2a
h�] �(�D�P >)��ғ�A�e��rph�
�B�
U(,�dߊU8��ICv��%
g�
	�*��l0gPg�n���\�F/�xjLc��+����
+T�:_�K�,�:$sO�)|r���~"�oF=�b���	D���|�
t,l+�2�xd� �ѐ��y
�0�WA5
E(!-��eꅄ�Y��'��r
�Q.߯� Rք�
�kd�2
+xU����"{��2
+h`�®f�|�Ne�B�P0
+`��B���D��
U �B�퉅�5Yط��B2,�0���ß՚�m�<�o�N��S�0��M�v�
>V��Y b�
�@�$ ��"�>j�
��:�8�8Y�
4h���Y����
�U���tX��ٹ%�hϽ����Y�o
5�?�������j
u��2�Ģ�������BQ���Bf
j�T�j<5�W�@+��@:PL�,%�ϳ�]�p�Ba4~�@9NT�/����H
���r��e�s��(�g�a�w��fEm:���N���&P9'�%�O|-��N�
�pj��>����hJ
�T�ʼn�hJb>BS
+
�<j'$7>L�!����J���
�G��E�7�8]�I����6Y�T6C��8bZ����������3���ɿS�p��h_�}-�|N������?ʝH�G�pn�����������JZ-PU
P%F��*'����o�q,}�NU�"T���eK�3AU����$�f0��,!"^e}�j�9�r,�O�R��		2�P�=g'[�,8�
��g���
+���w�=�h���2��X���<�56�x����
��4�F'z�"Cy@
+.��w
CJE_�^�
���U:�roS�i'f��]9~?���w�3���
�.N�g�����j�����RU�m�:� ��
tn(T�`�T^y�_���������R��K^�W\!a�g���?�?��ωq���L7�i�ˋ-l_��d��w� l
I�-���LbN��Dէ��rP�@q�~��y����}|]���tkS������*����({7ש�� U�A�7��HI�����
���R���\|Y=X޸�a͢�oa���_K�q
+endstream
+endobj
+9939 0 obj <<
+/Type /Page
+/Contents 9940 0 R
+/Resources 9938 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9937 0 R ]
+>> endobj
+9937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9941 0 obj <<
+/D [9939 0 R /XYZ 89 770.89 null]
+>> endobj
+9942 0 obj <<
+/D [9939 0 R /XYZ 90 718.682 null]
+>> endobj
+9528 0 obj <<
+/D [9939 0 R /XYZ 90 684.012 null]
+>> endobj
+9943 0 obj <<
+/D [9939 0 R /XYZ 90 679.529 null]
+>> endobj
+9944 0 obj <<
+/D [9939 0 R /XYZ 90 620.753 null]
+>> endobj
+9945 0 obj <<
+/D [9939 0 R /XYZ 90 567.064 null]
+>> endobj
+9529 0 obj <<
+/D [9939 0 R /XYZ 90 532.394 null]
+>> endobj
+9946 0 obj <<
+/D [9939 0 R /XYZ 90 527.911 null]
+>> endobj
+9947 0 obj <<
+/D [9939 0 R /XYZ 90 457.18 null]
+>> endobj
+9948 0 obj <<
+/D [9939 0 R /XYZ 90 403.491 null]
+>> endobj
+9530 0 obj <<
+/D [9939 0 R /XYZ 90 368.821 null]
+>> endobj
+9949 0 obj <<
+/D [9939 0 R /XYZ 90 364.338 null]
+>> endobj
+9950 0 obj <<
+/D [9939 0 R /XYZ 90 293.607 null]
+>> endobj
+9951 0 obj <<
+/D [9939 0 R /XYZ 90 239.918 null]
+>> endobj
+9531 0 obj <<
+/D [9939 0 R /XYZ 90 193.293 null]
+>> endobj
+9952 0 obj <<
+/D [9939 0 R /XYZ 90 188.809 null]
+>> endobj
+9953 0 obj <<
+/D [9939 0 R /XYZ 90 118.079 null]
+>> endobj
+9938 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9960 0 obj <<
+/Length 2213      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~ׯ�S+�T0��5�f�i�n�n���dh�����T6��= ���;6�d:~ E�����g��ގ>��|�Xf��Tfw����		��ه1#|��ݗ�#�.w��s�曻���ћ�я#_�x ���f�ч�q6��_f1���n�2��q���c�[[�#�ž�Ck!`n-�a�3E�Xxs��<+��r���A� _=�?�>��X"A�A����
�`?5&,�ɤ���
���!v`	
�.�����(�r
R�C�/N?|�3
��_����ޖ�	���E9�!�&L�7�b���ڷ
sXd��Qp��z�GD�C��~Rle��wO�zB���j2����������1IB
}�1��BFwc����cb$����8D"�T�8
�y��yUx��%�N
5-W���9o��E�/�`��&.����$�'M�k0�+VRB’6L�=a&zU�
���i��ɦ#lx�4�L��׫ŋ?��z�t5�n��Ɵ����}{�2��g��z�
ō�sv,n�a��9<���fE]?l���?"ơL��U�l��F�
�Kwd��M��/"���P(3�C�&�FoQ7���_�y��J�,Ӕ(
%�2(_�����z2%C�Pp���#�
����j��n�DS�8���P�š���見���C4�Rj J ��;@�ń���S1�L�T �� p�yǀ���
+��T�_no�V%��
T�Lz^���|�n#+n)�C�|;16�
��M��
gq�U'X
���x�$�Xm�� Qj���A�瀡����
�ܦ) 
+��<-���걝��
e܀���E��W%Tq:�]���ڎ\���<IPH�nB?�͓��*��bִ���~�g�=e�
+?��
��ݼ�9�+ t>��?M�
�
�P��J[7����bk��	�ԃ^$)J�k�!C�A(.��5Hk
G� BιtϗEST6�0����O%�&�A�,;��%Gt�S@?��
?�9G
+z���!G1����p�J3‖�����BKi3'�F�c۰��c�X���vh�,n�>�E�\���  H�yʐ��<��5�P�\�q�7���l�`�D����"�y���
+#u8��K�iPy;�^��"O�ɼ�CE2o��B�!n�� �Z��$?Vx���V�y
+b1�@�I���pb�<�b�O�k0�.�Q�C��t��TGX8I��Ȳ�uD���
8YGL��c��`����f at .�
��;�0�<4�	�+<���p�@�!��	�EM+?����
���凅�#?4��5��*//?�c;�a���#��Nꢙ�܈P��RW���7�C����
�	ä/MzSl�÷�i[��=A�8�7�W ��6@�-���0[�N�2E��2�)�i:N�
ѱ'&���T2�
�6�����Np���b�Jc�Jd�V�M�~Q�r���Ch�C�j#�'_�+
%��F�Gv��eD� �% 5
��>
���^z�}��1N/
k;>�vI�f�.;~���!��w3.��ٟ"H�DĀ�J��+��Z�@����K�|�c||
͎��$G4�"���H��M}�WiPKQ�o\�k����Q��gQ����Q�7�-�%�)K�U�G�rnb���҉Jh�Ƥ�N=�NN	
�S����\�A
�@dcI�R��@<HJ�&yn}�b��U��C�
+Vp�q\��
`@��t]ƙ��tٟ�g�%���hvBŤg��7�˹�
��ŏa�~���
��J�8k���v�E",Xr�d�i
bzLǝ�mX�|�ۃ���/1�5_*������v\���o��o�>C��!4u���\�Z{S�Bښ�2-��<�St?�v�
+���ۗ�Ҟ�T"�N�*	
\%2`�%��sQ
P�a4�%
�P[r���
�eFI�d�HJ?�w ���7Zyݾ��A�__���O��FJ��W�"W�\�&�J���/iQN���zʓR�-�5L��ƒ��n��y!M����X��K�7w ���p
���Q�khS���� �oi�0����D��Z�띻/�=텛�.Y��5�mᦀ7��ְ�{�Dܖt;&�Hy��+򯺨�8v�}�:_m�v��v���,��N���]M�@F���V�����쿍\���
	�5ħ�y�����<���A�n�ۛ
�u��ú��uսM��K�[<��h���C�'
+endstream
+endobj
+9959 0 obj <<
+/Type /Page
+/Contents 9960 0 R
+/Resources 9958 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9954 0 R 9955 0 R 9956 0 R 9957 0 R ]
+>> endobj
+9954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 570.736 212.124 581.639]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+9955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 409.165 210.103 420.069]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+9956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 305.757 485.603 318.275]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+9957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9961 0 obj <<
+/D [9959 0 R /XYZ 89 770.89 null]
+>> endobj
+9962 0 obj <<
+/D [9959 0 R /XYZ 90 718.682 null]
+>> endobj
+9532 0 obj <<
+/D [9959 0 R /XYZ 90 615.947 null]
+>> endobj
+9963 0 obj <<
+/D [9959 0 R /XYZ 90 611.464 null]
+>> endobj
+9964 0 obj <<
+/D [9959 0 R /XYZ 90 544.892 null]
+>> endobj
+9965 0 obj <<
+/D [9959 0 R /XYZ 90 491.203 null]
+>> endobj
+9533 0 obj <<
+/D [9959 0 R /XYZ 90 456.533 null]
+>> endobj
+9966 0 obj <<
+/D [9959 0 R /XYZ 90 452.05 null]
+>> endobj
+9967 0 obj <<
+/D [9959 0 R /XYZ 90 383.321 null]
+>> endobj
+9968 0 obj <<
+/D [9959 0 R /XYZ 90 329.632 null]
+>> endobj
+9534 0 obj <<
+/D [9959 0 R /XYZ 90 283.007 null]
+>> endobj
+9969 0 obj <<
+/D [9959 0 R /XYZ 90 278.524 null]
+>> endobj
+9970 0 obj <<
+/D [9959 0 R /XYZ 90 217.616 null]
+>> endobj
+9615 0 obj <<
+/D [9959 0 R /XYZ 90 182.946 null]
+>> endobj
+9971 0 obj <<
+/D [9959 0 R /XYZ 90 178.463 null]
+>> endobj
+9972 0 obj <<
+/D [9959 0 R /XYZ 90 117.555 null]
+>> endobj
+9616 0 obj <<
+/D [9959 0 R /XYZ 90 81.969 null]
+>> endobj
+9973 0 obj <<
+/D [9959 0 R /XYZ 90 77.486 null]
+>> endobj
+9958 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9981 0 obj <<
+/Length 2953      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�~ϯ�S+k�}h����N���/��@I�D�-{e��_�CR�E��$栃A�+2uxy.��DcD��v��ǻ
l/���/����� #��|�O
�(n������SF0d:#��Ô�,����S�����������˫:��//����tFξ_䛍������謨�
�$�#b��ǟ.�~��킀.xB��)=�^^|�On��O�33z��-'�2�\L~����rƀ��B![C��]�V
P�j0�rgڮVD3ĩv�6�t��h�k���q��>L�������ՀR��V)4�� �d��߾�Lg�^^ޯװg;�0��&&�"
6Cc
(r���n"�2���Ife1L
+~Z�V�Y�@��$�J�/[7m9�L�8�8��1�`|�i�������.�/,�tƅ̮Wզ��r��)���]p�A#�BJ�n���N�
����
�>�e7 �"nm�$��9
<c�@� ���S?Χ3&Y���»0\�֯����OO�pz0�������!�8�x?��+7~L�UH��Ҽ���!a�G�!���_
��)�'�ͳ���7���{q�Z٬"V
yL�̤���O0�����/�
+�l���[��
�F������Yf�A�9����֬y��Ħc�9��֧n:8]XZF�
+ӂ$
��Ľ}�.�M	������x+}\�-��`t%Zo
aD���1	
!�8$Fۭ#�>�X�}n ��'
QX�VH]L�)>�
s!af�(D�{�i���Ք��!_�7���1���/���۵o;(�P�XRK�
:6��2�ꐩa�`�(
-�xW��Td��w�2��8āL�� �`r$H��:��4�r�M��k~S��l �feu�Z��Z��n	[��9~�?�l�*N���<
+}%&5¾�ž�
^?��<r��Q#�ÿ6
�P�� �@<�`*bz�@�ޔ��TeE�z�]�F���$K� ��i�b�Sa���.�>�� @k��4�������Q��!�k�����B�������ɟ�]L>9ena�f��6{�ߙ��H��_OB�l��	�@�!�
��B�o��M�F9���F+྽*�Ǣ��C7~쓿c�t���l�n:�e�X�f<8t��UYݶ�
�>)�������9�WK��
����.<�� �%eU-�۲ؖǧ��>�
���6�]�M��+V&i}�2
��J��
D�����kx����v�od�+a_`��a��}�߭�!"M
�Βy�qEr��k(O+J
+���
�z�@���
T���M�\/��s�(�&�z0�a�h=�7��N�a� ꥘`�
�`Z[=)���H��$S+HڄS|��@"r�p�ڃp 0�&c�[����ʲ(�ٺ.6E����.*���˜
�
c���p at CD���X�x��l�j��p\�`
�G���h,Q
�V�6�������J
+�k�!7�%��`�C[A��ހ�v����-*���y*E���SpK��
+~��2�}���K��@�9�����iJK;p:2���4�����j�Z�n�l���u���
�eV��i�ʳd
ů6mr>��"�Z����p�$3g�� b�ש�%6)4p��MC
"�5��B^��J,!*���n#|�K	 ��*S��q�n�1�Ȗ����Pؽ2�AAk
������X��rX�p/z����u�}Yy����ڟO�lZ4�
�d�:�,gLB;.Y[�E��]dV�
��=����W���벫 ;Y_a�����,�� �('�kѽ���fsyٯ�hzaS�J2��n�`����7݃ݛ�Z-�*o\ޅ&⏱�A#�uty?����d{�C
^�
�5cw�*c���HB�����x�� O&:���8�
���n���!~�Ç�/�|8Ĺ����nܑ�\w�b�������e�^�����`��KGr�_�:��-�}��&��
�A��Z�4�&�ls���=1w�
�`#�?6���xd,zv�A
�4!D2�/`dL��JW��e��s�$;ҎD*�ҤP��Ё
><
��@'�DנP�]z9ʋ�
��� �!����+�_,")�<S�C�
U�
�^7���՟�|�+���[��0���8@]�ܝ|���
@�0y��H����
�>'RD&�9��J{L�v9�Y���:�y��
o�L�xt�u
��ۗ��iN�js����/w�zUj�ޭ�pGs��V5P�J��h�:�Y�����>�g� �5���Y��r,]�h�s�H��$�IQ7�ܝ��_4�̺�og ������+���@$9B��i_-�D�Aw��S�_� '�
i���/_@�
e�
d1}�!�a5�T�t qȚz'��00��8ӄfv���Ύ2�og�1
�9$L7=a�O����È^����g��?L�&�9��)�$��ߴ
^4�kC
b�^�oC��F mҰ��d����l���ԓd�r���O�F�޾���&b���,�Vm�λ�/�
s��?UFvLK�ղ�HF
�12�Ց�7uY����ϒy��&\��-w�hc��� a�Y_:�<�M�C�N<Oa��*��F�*���6��P�����ϡ2 �F����Is���'s�A�}"'
Ya�x'=�J#�X��N���{=l�r���"���!m���P��aDr|	�!�(E�I�4��f�3�N/(b���%���D���&JHC��'�iH�/�i°[��F��I�����4^����p�Gz��&f�o����5�i�q�$`�ɐ�&'0�P��Qb�l�aGL'���`��4�7�L����B(�SI��rh����IJ�p=j�?|x�/��)��O��Z������zx�vm�z��aߞ��엢sZ��'��_/�mU�o*�6��f}������n����a?�	a�A���"�ͥ;���,�cA��R�n%`1؄�r�#������{�����%��e
��]�Q�0
+endstream
+endobj
+9980 0 obj <<
+/Type /Page
+/Contents 9981 0 R
+/Resources 9979 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9974 0 R 9975 0 R 9976 0 R 9977 0 R 9978 0 R ]
+>> endobj
+9974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 575.836 240.823 586.74]
+/A << /S /GoTo /D (index_Convex_Polyhedral_Difference) >>
+>> endobj
+9975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 446.195 293.971 457.099]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+9976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 322.224 238.02 333.128]
+/A << /S /GoTo /D (index_Grid_Affine_Transformation) >>
+>> endobj
+9977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 97.512 246.767 108.416]
+/A << /S /GoTo /D (index_Grid_Affine_Transformation) >>
+>> endobj
+9978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9982 0 obj <<
+/D [9980 0 R /XYZ 89 770.89 null]
+>> endobj
+9983 0 obj <<
+/D [9980 0 R /XYZ 90 657.874 null]
+>> endobj
+9617 0 obj <<
+/D [9980 0 R /XYZ 90 623.204 null]
+>> endobj
+9984 0 obj <<
+/D [9980 0 R /XYZ 90 618.721 null]
+>> endobj
+9985 0 obj <<
+/D [9980 0 R /XYZ 90 528.234 null]
+>> endobj
+9618 0 obj <<
+/D [9980 0 R /XYZ 90 493.564 null]
+>> endobj
+9986 0 obj <<
+/D [9980 0 R /XYZ 90 489.08 null]
+>> endobj
+9987 0 obj <<
+/D [9980 0 R /XYZ 90 416.217 null]
+>> endobj
+9619 0 obj <<
+/D [9980 0 R /XYZ 90 381.548 null]
+>> endobj
+9988 0 obj <<
+/D [9980 0 R /XYZ 90 377.064 null]
+>> endobj
+9989 0 obj <<
+/D [9980 0 R /XYZ 90 294.378 null]
+>> endobj
+9990 0 obj <<
+/D [9980 0 R /XYZ 90 215.982 null]
+>> endobj
+9620 0 obj <<
+/D [9980 0 R /XYZ 90 168.79 null]
+>> endobj
+9991 0 obj <<
+/D [9980 0 R /XYZ 90 164.307 null]
+>> endobj
+9979 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9997 0 obj <<
+/Length 2844      
+/Filter /FlateDecode
+>>
+stream
+x��\[�۶~�_����L�p;~pSדԍ�x�'��J���l(ʎ��{p!EH�V"�֝x�@�>
|��8�Op���7WO��X��TR���%)NO���m��
1"ǿ�|�0�I%�eo������߼1Ϯ��\�zE�N�3 ���lu������w	F,���h�p��L�\�p��/�Qa>���l�=�)˜'�0�r���1�i1]eeV�	m�_G�[{8~�
�gG#�AdN�L���5l~V�0Gi"S���Bk�R!̺h7�@8G
+�0F8�.�暈
pW���ps��9�DJ�R�q���*����
+ @>�]�;��]?,���ߪZO�L�1�k'1��ȶ�|�v��nw��2/we6���Q
"0�N��
��]t�x�#"H$�A'��TH1�&<Sl��,�
s�}�35�ֻUVL�M�n�.��y��=�nhH��ƄUl�V�@�q`��Сb���l�Y�k;�� k�?��j�S#��X?l�{?c�7%|�.�{�O��= w]�L����׻1�&�e�L�˝9��m�HuC
L
+ ED���xc�L!������2;!�P�3H�dгd'���N_��6�R� 
�O�B!V	\ɡE�Zâ�O8���:E�ܝN�"
	]R�d*��l���u�
s@�t����ba�Z,'aO1G���� |��@��@�
�
�)�
��fQl��� YB�t�ߙ�AA /r���?Ȕ��B����@	H�2��v`�����ɨ�/	�N����o�#I!Q���t=wm(oNk��$UȎ�md(�u�r�o���@�9@��׉-�&�T�4��\�ƿ�mV�2�Ii��[�ҚV]y�}4�ȕNu�-���<=���a:�6���z�h	��E�h,֍
�!�VH	��
VLz���	q����|0�R{��t���S�	��n�|���0�\U��jz\{M-�K'���:�]=v�h/��g�nj�6KSa\d��J:�
�J�P.��o
X=�x}���!Sߛo�(�2�d?Ϗ�b���1�b�"�0�kz�9�q�B ��(=

ů{�	�9ف;���W0
�F�Թ�_��%�mL�j��H�}:2��]�џ[L�����rj��;�
�I0Pl�����-@��g[Te�Ȗۏ+���4 ��>g����(�$S�z���i���Y��z�|l�J����F\�-*�݈Oe�V���Mf�2�+>�p%�^BB�h:0)��J�)����4/���u���9�ݩe`#:�^@m�FY��g���0H�L�,a
���i�T
X�@�ڂ�n�����@Z���'��l������mS�-�<s���HSH��c�jXJ���jiM)%Κb�R����kl�
�l�a���j3�-w��y�P
�UyDȶ������i�c�$.�
�;�D<Ս�$���΄@���̈́RH�ʽ�
��ڌE3syL�8�(���Z�1�%aM5Y�:����l%{2�f1���v�
@�E�}�fe
w]d>�Ž�/�����}�gs������f'������`�M��~,����@�9���
H�N`%
�~�lZZ
+8�4U�lX�0�!b��l9H�F?��\DC}z��f��7]�˽)���
����r�L�Q�t�Vv~Fs�ب�f��~��.�T
0�V�{��&�4��<��e��
T�"�Qt��x��
+8�pá4�B]$�
s��|3p�>�\fw�t]�B�U���S�9:�
�F�yh�7�:e�=�n� -ъĄ^l�z
H�q�Lj=�঎��3gh�͟�a�c��N��z_q�se����7z��O�^��`���+w��?�v_�,���1���D�Dcl���T,��ȡ�Myz��8Йv,6�9[I,��ʼn�Eh�?�n��I"yL�Ŷ�P��}�"�uF�He/�q�;�k��`��ayͰ
<(����i���wB��
=z�� �K�i
�*�<�4
Lw�f�s�*KV�j���7�ݨ$i�fƶhq�4o\D��9`�Xb��Z���I;ě�X�3B��
�A����)	�i�`��-���]���`8�g'�9��|���|6-���_�{ڴׂ�Wg��SOX�[Ƴ����	acQ�����e�=q��
��
D	��O}�.UP�&����=cI΢	��Y	��'���*�����}�ҝ� L)�q���
+�Tk$=���`��c��&ܚӌ�M"
<;S���p��\�Ѕ!���$�_F��$t�^+'Q:
+Z�g��${&�${.���^��|ɞK�)�S�>�4�J�I�TI���!�SR��4��W�}��WѾ!�S	�����1�(�H��ѽ��?�h/�H�^���t�����(���Q]��C�nG��=�|@W͟�G���&�
{�
��N�X�T�A���hk�q�^���2�^v��(
u���V�!
+�Y�^���Sf�r
ўR%�T���?͞h�������		QP�
U��K�D��~���~|��}��wcEq��tL�Ŷ��s/%�*ۛ٧��j?Лv
6��?����9��Z-"c[tX�hA15{"ҩ�\��K;��|Q�}��v,󯖢[t��Wp���nŞp\��R쇹ӎ��;�sžwx�QIͩiT�ۢ�96��d{��e�b�~�'�o��U��P��=!�����KEo���������_(��m$��F�+����Z���>���7�|�b��6`lon�&{��5�؟=`�1�}��5�~��O۬��X��'����w�L���d��+�a��/��Ս�d����ߵ�����C
Gbp�(ˇ�'Onw��l}�f�������4Exv^�զ���n�,MO ���ڵ
+endstream
+endobj
+9996 0 obj <<
+/Type /Page
+/Contents 9997 0 R
+/Resources 9995 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9921 0 R
+/Annots [ 9992 0 R 9993 0 R 9994 0 R ]
+>> endobj
+9992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.79 511.28 434.212 524.198]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.477 226.227 436.256 239.145]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+9994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+9998 0 obj <<
+/D [9996 0 R /XYZ 89 770.89 null]
+>> endobj
+9999 0 obj <<
+/D [9996 0 R /XYZ 90 720.814 null]
+>> endobj
+10000 0 obj <<
+/D [9996 0 R /XYZ 90 642.418 null]
+>> endobj
+9621 0 obj <<
+/D [9996 0 R /XYZ 90 595.792 null]
+>> endobj
+10001 0 obj <<
+/D [9996 0 R /XYZ 90 591.309 null]
+>> endobj
+10002 0 obj <<
+/D [9996 0 R /XYZ 90 484.379 null]
+>> endobj
+10003 0 obj <<
+/D [9996 0 R /XYZ 90 357.365 null]
+>> endobj
+9622 0 obj <<
+/D [9996 0 R /XYZ 90 310.74 null]
+>> endobj
+10004 0 obj <<
+/D [9996 0 R /XYZ 90 306.257 null]
+>> endobj
+10005 0 obj <<
+/D [9996 0 R /XYZ 90 199.326 null]
+>> endobj
+9995 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10012 0 obj <<
+/Length 3120      
+/Filter /FlateDecode
+>>
+stream
+x��\[o��~���K[
+�f�~q�i�
���&��%	
ڢe��8��������")R��q���bA]�gΙ���>�4�'4���O���Ո���N>�'�&F:�4��%ߧ��&SF)M�OM�b�ݼ�p�n��
�Y��|��-������b6�rE�?/��6��&�ϋ	�i���A�L���ɏ��z���+�Є��16�[]}�#Mf��	%����J$p]&�^}}EK3�+�
+_�4d�P*��T��|�?����+t �`�0Np�<�DqsT{���Ђ��זI�s���Hvt�i�q�#���u%�m
��s&	�E2�<�o	[��
c�PR�����lw����z"i��-�����ΟV�zvkh78���"��`
��w�B��;u��:n����L�J?�'S%]��G��\��}��q��-�|�Y-��nS���9
#|?v�P�9�%�i�p��d1ai�\�jdu��c�$�aU5([��.���լ����2�l=f��ؾ<Y�Cf
@����I�\
�%O�����]��6��l��]��#��x�]h���j���vJ��ŭ7��"
��cvW�X+Z*p߷X�j��1V
�X"�O���z�Ct](�3�
��y<8�t��I׈|D��2�=O�L7��`�0
�1f��_+�.)��t���J1��V������}'��!����c�����Z*��?�ڴ
���s|���\�/���P/!�� ���%� Rٶ^�=���{fV�X)�̬,�B�g^  6y�B~��N�Z����]y��Ao�9�Q�KUk�γ��
�]L���q���ٌ [...]
+�W���|�����G?�S;ҡ%�%�=�k�^Ԧ��L� P����y�{�-�,�s��)X���#�$�;����Ѯ����u�`��-8a�=#��`<C7՜����y���e��+��̞�O��M��l��	��=K{�K(
6}�m�9<H��� �D:��ZY|'0N�E�x��6��9�l���9��6=����ƈ� 7*���0)��y��75P	#�^܏��C��ȷ��ݮ^�p}�˥D���|q�|��+_~���c[��Rpp&�=��
4�X�>�D
�8�A�e���0�)	��lc�[���x�'S)���
+��b"��!��k-�SD�I�zS��s����:ţ
+1���>m�V�������
���p��3%LNϽ�K􅨂j�Ku<�,�s[lO)�
H2!�����b�Ç#��m���
=><���2�/
�,�B����߶O~�O�J!"�h�R:
��0fx��*�:&�bK
x���D��`�TPHS�
߃�I�I��N?���԰��m TH���yQz��w�UV�eٺ�4o��j䲖�ld^<�^s�?��Ƌ�`; R;
��%4B������ I�+v�A�ٞ�qz�ð��
�������~�q��Tl�P
�{��6M�����@	c���)��H?��x<A��/1�
d���
߲�_�/0���{�p>dN���z��j��-�]�
�kyo���H�U�?=����3�M٨>�g����CgO��
+��]x���"[>�u��_Q���ĥ�1
`�Hy�
�b��<�`���<R;�2jG�dzG!�!J^�"	���&�S�8���AԈ��D��bxچV�C����M���<��
P^�aK�
+��KO�ɒCF�{����D[}P�!C*B�-����
)�'��{?|A��|�G�|���
 kX������%�BA)�⎓ͧ
+�m)v"a��d��W0��`
_!���B��Z��
+3F�XYb�nO
�v�� ���3�	
&�o�ů���� N3_���fg��g������t��r�����N�!)����[tN�Ǽ|��X`R�ytB��֜E�
+�z���-�BR�iG�/s��e��B��]�|U�$
�E#�'�""C��."2 �2��
��
��
+�.��[jk�XT
C��ٳx��z�6fZzD�1N�
_n���H�bv��K
x�^��Qy
5���
c�:��j��+�1._�a�@�fU̶st�
��AAeT
CP����c�ԣ�M=b�'�rk�E*�"*�� (#}����>��4�ETK�ߘ�3���7d� ���9���c2��~���d`Y�?͏��|��Up
+^RǤ2"�p
�A�M,.#����1�B6�e�olƫ��������}"m��	
f��]s��`=��	�	K8
i��(�hRCj�V�DR�	C�jp�V��ո�<�g�LsDkC�9�m���*�}*T��%��d{�.���q���䨺����〞E�~��u

��s��O��Zk��6�9���~���`���CP�%������
DjA4"� �-?s/ړq�v�ɋ��-��U4�PHB	{�b��h�ԋ
T�x�Y 	�D"X#,��s"��,�G���"��iI�B�(��Y$O��+��5�y,O���A�I��#
m�g���H
��@� �kUI��í
 y wrQM��L�.LZ2<���3)H��8��Q
��
Ta�)�����Gw�4�� �c��
�?��$��MO��ޏ�3�e�)�o|ه5݇�;���A�a���x�$�g��9Y-I ���S�m Y"�� 5��6��C�
+���������6��N(�T��j����ic�~֦A����L��0��;� .}�.80�NԨ]�$a���G�a����{p�F���c�
Lk�˼��>��R�-��0�j�m
��/k�lm��^j1�Ӣ���Ԣ�Y��[���O�
g�./�׷�:L�a�,>�b�1�Λ���,�C�0(J#=�'�BEd 硼�579���zZ��VS�Z�U^�)U��[Ci:By��Ë�<"Yr���[�f6������.N��E��C⪵�~�i�~���ߗ<�wۼ��D����#[?U]z�F�qI�b�WF�*�v?M�ͫ�)(��z��+���Ua
+��}����=^�ys�4���9�۬�ن
�R
�k�u�����>\y/C�`\�4eDk^�,�O�}������k�euc�����D�
,�~����ǃ
+endstream
+endobj
+10011 0 obj <<
+/Type /Page
+/Contents 10012 0 R
+/Resources 10010 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10006 0 R 10007 0 R 10008 0 R 10009 0 R ]
+>> endobj
+10006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.585 600.444 422.151 613.258]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+10007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.773 375.9 462.606 388.379]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+10008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 137.788 422.924 152.503]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10013 0 obj <<
+/D [10011 0 R /XYZ 89 770.89 null]
+>> endobj
+10014 0 obj <<
+/D [10011 0 R /XYZ 90 718.682 null]
+>> endobj
+9623 0 obj <<
+/D [10011 0 R /XYZ 90 672.057 null]
+>> endobj
+10015 0 obj <<
+/D [10011 0 R /XYZ 90 667.574 null]
+>> endobj
+10016 0 obj <<
+/D [10011 0 R /XYZ 90 584.554 null]
+>> endobj
+10017 0 obj <<
+/D [10011 0 R /XYZ 90 481.848 null]
+>> endobj
+9624 0 obj <<
+/D [10011 0 R /XYZ 90 447.178 null]
+>> endobj
+10018 0 obj <<
+/D [10011 0 R /XYZ 90 442.695 null]
+>> endobj
+10019 0 obj <<
+/D [10011 0 R /XYZ 90 347.72 null]
+>> endobj
+10020 0 obj <<
+/D [10011 0 R /XYZ 90 245.015 null]
+>> endobj
+9625 0 obj <<
+/D [10011 0 R /XYZ 90 210.345 null]
+>> endobj
+10021 0 obj <<
+/D [10011 0 R /XYZ 90 205.862 null]
+>> endobj
+10022 0 obj <<
+/D [10011 0 R /XYZ 90 108.178 null]
+>> endobj
+10010 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10034 0 obj <<
+/Length 3245      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�~���S+�T<�_��C���I�&�9n�f<�E�leI��㸿��+$P�%�M;y�(\,v��B&��������͟4��*�FWw#KFZ�D*|���sj&?\}1��$�*��o��WWo����]�������R�L��>^|��q��I�5�g��q$��b����҅$�]��-q�&����Tr�D
��	�r�T���E�P�7���2�(&G��D
V����:�02�i�{+u�	,F��3�Q���R�e:���!�L�$���c�ϊU^~]ݕ�E��i�N�g7���<[ޗ�fw&�'�-���J7�t��V�����*�g�� �4W�dx�%�H�P���xb�a�� �S��<]�
����cw�:Q�ꔀ3���v���Z⊺{<��7��/J
��b����V�g�yyQ�M:�t-B|�y��M��j=�n���ּ�Z���	5�{,�eQ�yΊ��j��M(�<-�G]ϳ�S�.�hr�r8u��
�J�!W��ɬ�d��.|� [...]
e	��B�(�fS�//��D ��E6��Z�^+{Q��N����h �=P�EB��3���1�6�y���>h�e��8�s�c��K�i�і��$J��m�)��+E7��c�{;2`U�~yzQQ��N�HD�Ԝ���['���d:��ħ~�>�w$�RM�}k&�ByBhۘ��Xk�6�C���:��BT�gy�c�����4["��gEv�����&jGꖮ_�^��YlȌ$��Δ�N����ʏ�zv��Nêv-C)V��alS��js(�p���Z�� q���Xϑ�?���*ќ�v�l JsL�dJ	�Q\�W����߻o��q���PI��Y�WY�ٴ���JQ�ȉ�h�~��x��P:~yH�yD��K�
BƜ�U�—�M��15���wy���V:�ՅSL��C���)�.������
gg�
�g�KL�3�c  �9K�%0�K��m7T�}Mo���2�'�9��S�V�;�\6���anEƕ�tC� �X�+�9*"����/�e:˯�:�B[R�H���� [...]
+�߼�}��Qз��r��<]̊ʁt&E��4\��A�}�O��L��m;��v
+���w�c�Z���}�߀�[��༌��Ђ��(יִno�(|2ӓ��~ۀ{�WM"eClf���6J5�99�]��c
�'�v�I�W	nȀ��U�kw<S����oNA�����y�W?o,En�圿��LB#	�P��۬��$�O	8�v��
�
SN�����ųǴHs�Pl�
�f�F T�dnd
.�o�͐_
TI�ti�0��Mɂ
��~�zD7t=�
+B��Yq۪f0��)����VEa�pP{ɣJ��	�1���%��RY

�J��1��Y�n#��Ju�>q�u�9�Jխ�<�����is`����Zb	;���8*$M�'G��'��>�������D
+i����K�1�pa�,�
+$n�ғ���\W�����oGO��~�5�C.�S��4�ݧe��F��b�
��A��\�D9`i�#��(�ȭ��4:�8����@O+����4�ki���4z��w��(�K|�c=G��Ҩ�(�j�4�wK���/��3�ԋs{Ng�
+d��
5;�4���P CMyC"�� ��&�FD����
�*�.f�M�_�Yү�6"�w�%|)t*�ꭵ!?�.��W�l��C�G�첾DD�y|U�I3�Wq_�*�i�I)D;VE��ئa�u��
�S������8�`�6A��&-��ts�N
Qo	�D�0Ҩ���	
�������֜�G!vO�		9<gf�&ښA]�� �sf&]
F����K�;"���r4kf�y��H��Y��Hkּg�1��
h��;$,t2n���b�!xy�P�#���տ� R�aٳd
�[���S
!��|��CG�\�҉�Z�{�)
jv$߲|
㲌�*D�s>[���o�C(‰NB�H�|
���T���`ݷ˸{
ls�!-"/�6�aA��
�r��]D�)��;L?-�/\�,��4���h1~Y��߹
�l^<����}J7�yv�:�%��

��뛴>k�
���T3Э&	�i
+�ɑ�+�
����d�;Ϻr���΅�V����
�B(�
qڌ��Y ��gٲ���)��H�G��n5�sjg�v;��
U�ę�͐�)�e1U�x]ƂObq�
�k�Jb�/f^�`���,��K�1ASN�W*خvQiQ�qg�K�P�����
���ƒ�q��h���~�XEe����b


�80�.��@,1��N�o�V
nVp�11�{�&�?����� &a���Mh�l9�>f��b�&��2\�U�ȟ�X�n"yoҷ�"m��
󦹮����w��&�:5i�;6��RJ}�aC����G7��+�ݱ�$5$��ͦ.�R�>�C��E��&�K��e�oځ�Є���Є�w>�~(�����D+��2M�z�ݍ����o�=��
���?��M���U����H�
aw�w����;��N�G��N�]?� R
Y�Z�G�u����lB0,	DFbX�ڎ��9*�A�U��Vd��i�Ryg�n��愭{
+����+k�f�p��B]k�:���Ph�ݖ7i���A��E�qA���=T��f�`�
�A�c��?�g��jW�ҿjw�۝�h�x|��P�Ωp�
0�y̺�m�������u�������-#X=�Þj����~x�N?��m��c��Hpӟ$ċ?^��{Z3��{���T7�|��G\AX+n
+y�V`
� ����XUw���,/��I��N$R���_f˧���C(�aޖG�;�2Hk��CZG�R�6j���S�>XG��	�CQ�/߼�y�v��C���e��fcw5O}\�~�7�y+��o��?
+endstream
+endobj
+10033 0 obj <<
+/Type /Page
+/Contents 10034 0 R
+/Resources 10032 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10024 0 R 10025 0 R 10026 0 R 10027 0 R 10031 0 R ]
+>> endobj
+10024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 526.284 425.662 540.999]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+10025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 299.975 322.446 310.879]
+/A << /S /GoTo /D (index_Grid_Time_Elapse) >>
+>> endobj
+10026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 164.049 116.998 174.953]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+10027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 122.853 243.45 136.801]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10035 0 obj <<
+/D [10033 0 R /XYZ 89 770.89 null]
+>> endobj
+10036 0 obj <<
+/D [10033 0 R /XYZ 90 645.466 null]
+>> endobj
+9626 0 obj <<
+/D [10033 0 R /XYZ 90 598.841 null]
+>> endobj
+10037 0 obj <<
+/D [10033 0 R /XYZ 90 594.358 null]
+>> endobj
+10038 0 obj <<
+/D [10033 0 R /XYZ 90 496.674 null]
+>> endobj
+10039 0 obj <<
+/D [10033 0 R /XYZ 90 393.969 null]
+>> endobj
+9627 0 obj <<
+/D [10033 0 R /XYZ 90 347.343 null]
+>> endobj
+10040 0 obj <<
+/D [10033 0 R /XYZ 90 342.86 null]
+>> endobj
+10041 0 obj <<
+/D [10033 0 R /XYZ 90 281.952 null]
+>> endobj
+9628 0 obj <<
+/D [10033 0 R /XYZ 90 247.282 null]
+>> endobj
+10042 0 obj <<
+/D [10033 0 R /XYZ 90 242.799 null]
+>> endobj
+10043 0 obj <<
+/D [10033 0 R /XYZ 90 148.158 null]
+>> endobj
+10032 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F7 795 0 R /F8 794 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10050 0 obj <<
+/Length 3169      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_�����h�/���
'N��7i3Nf��h��D�$����
\H���j�^����w�s �`���՟o�^�U�@GZ�~
4
+$��>�E
O�!�L0
+�b��L
+���*Y�ݻtV������"]L�����:.KW�!����$�' IP,B�����o�^�^}� 

+��GR��Շ_Q���oQ��{�h0B�s
������ 
M	����8�H��'��%FX�@(�S2Q at h�qO��lݞl�i�4	$"�d��xn'��@g�� P�
j� D���p���"��.���͟��!�O��w�d|N����0�辩��g�.[$
��fUb$-��7{��v�(�r�g�4[:YU���E�I�2ͳ�L
k
+���ǫ}P7K��}o��":=�
�_:�G�g�!��C��
�RJ�QMu�0	�T�ԭɼ�۞�g�1�
7yY����dJ�
+����)ms���<H
 S��9�*bh�ˇ�J6�d�;IK��z������|̽�y���U:K�i�U�O���;
��O�o�\s����
��t���8��ؿ� �`�n{3g.Pȡ�����r�yW�gfFLi�J����i��M��<<ϲ.]�� �&c����mQq5�n�ؖg&����:1~�
,����D
���Z*ä\���Y��,͇����K���m��S-��&q�h���U81�����v�0O�6)�
+��5 �T U�-4��-�X��
+]ķ���4OX�f�}�7� 9/���.]����c���1bIG1F�#�`2���'m��3�)Vоg�)����b���,3|�Β�a[��Y��,��
9��j�i
+-f��������̷���=�a��>����
S�q��l�⬸ۉ�N�Sg:��z��+'��z7[�7�,���l�E������D_�_�����ݥ+y�J@"�lL��Xb#�8ф7v�ƕ�@`Y�������y���u>y�ői����0���lx�Ο��A��F��L��x����k-��� q/�H���]&� E�.-�[��Z\_�لA����]li�����'�E
+�1�	����@)��<1ЮoC:"�;��U�[�!�`��S����H*U;E�F
/ˀ{ẍ�!���{����g�iV��u⾳$J�����6|��F��O�18�46����H��
|h��C��/��R�G#������p�"�f�>�ő�3��Q�zj
՛t�"��S&��7��t4�
s��R�
#=�N�	I��P��|���B���cB	�*3�����*�H�.�_��!�;ҍ`�-Kp,
WY���U6���[�7���a!!��t}5�W$��[�M��r�װ+�P��{����Q!x�6�R����egP8̜�u�L����0o�`_

xY'��(R�.a@|8�9K�YKon��$� ��'��=�i�6؏w�˶�S%�z����e���'��=���Ͷ�h���)���4�R�id+�
��q�e��0�]2ޘ'�s>LcE"�x�`�?�@C���+
iʬ(�=�o
�s�8t��C�@l
��
��
+.�>���gׯ�6�ȷ��PD"�FQ��>+hO�Ҭ�a��ʹ
�S���n� Ɂ>�t�>�/b��Ә��LzR
�-a���̲!��7�6Y:�d�ws��t$x��^�
����S�ƲmxDŒ��ۋ�l�ȸ/�a�
+�4�اbM/�����߾�y���oov�;���2�oؽdG��~ t݃�����~']��$+؁�)G�
v@
�d-N2���"��u��u�J�"մ��}�y�y��4�������iOi�ِ/�0 �=�u�>A~鑀���S�(�`��'�K�!5�����C�ь斔S0s�8�^='_�L��
�n�OK�fe/���y�ݸ�]Y�\�M���!�7iMz��ܴ��sq
G RP5&2/�x�3�
��2
q�t�x��(��8.�s��/���L���(*��DO�'3
�����*s��0�Wc�
+T�Q���(�1���B����u:}��Pi�y�:R�7��6
+�\g�$vG�C4`����D�&�{�TLD�h���� 1�І�
1�l
~l��ߡ&fI�B�`�5o�o//P쉗:8#�$��(�0��I���yO�̓%^�P#Ɣ
�2��e*[��U�=�}�.QXncs%���;k���}�ܽ��B��a
X�h�&��٨����Okf���̐
+l}�s��%ZfH���ܝ��D� ��YTsS�<�>O�AF���6
+�j��ҡQ0�3
+h叹Y�R2�NJ�5�i����3�x�_Z��t�t|
�3�.���آ
+<�ӣKth�W�ң�18���8�*
�����Q
s�\
Ǒ�7�1�y��G�
;!� F1�� F�4���
b$
�΍a�CÀ��5a��.����|H����chC)��P
m��E�
�t;6�D�Q:6G�
w:v��

<�'H��}��A��!������<^�u���B�Wr ����2�h� �SJyDy���In�܃�І�n�|�s>%#D������

����,
#wŽ��_�5�7�j��=�@o�yS	��7J\���wks�Ts��x�]�\�{�N�rhp���`n
^�V���O�l`��Y=N����}7����C!ֵ����ii;	�
' �.�ܵ�'e�ͱ��/E	� 
�y1it��wasE��C�85�0��Q�B�cD�y:
�/Nq͹��;�0�7Ʋ���k�l��$Iͪ��k!
[� �
+<��i��_���.���`D�nLt�,Ђ[A=�W
��Ԉ)��sg��Y:
b���KC3���ۃ���S�s"EXMp��b�[7��}j���� ���
xp���fV
��0�����
+H�{U�~EaokóaAn�ǵ�C��U���f�]?��L'/y�cH�E�%[�
\9_$�>dM�,��K
�8+,�tq���l�SNj����X`��������
+�`>�b2�Z�ds��~,��t���ٮ�\
���܏%L%��[�)�%~��qJ�ԥo�M�*ؤ�x�jWU��~�b�[�I����
R��8t��t����&/�z��Mll2�Ï9 at W~&`2?]�������_�l��_�/�nh�
&x�Z�"s�
+endstream
+endobj
+10049 0 obj <<
+/Type /Page
+/Contents 10050 0 R
+/Resources 10048 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10028 0 R 10029 0 R 10030 0 R 10044 0 R 10045 0 R 10046 0 R 10047 0 R ]
+>> endobj
+10028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.931 661.895 224.361 674.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d00cf0ecbb8edf21a37cc06f05ece26) >>
+>> endobj
+10029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.346 650.971 363.642 663.489]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+10030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.135 637.586 244.565 649.92]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a0d00cf0ecbb8edf21a37cc06f05ece26) >>
+>> endobj
+10044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 561.018 485.603 573.536]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.39 157.004 343.198 167.908]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 79.544 362.353 91.878]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10051 0 obj <<
+/D [10049 0 R /XYZ 89 770.89 null]
+>> endobj
+10052 0 obj <<
+/D [10049 0 R /XYZ 90 584.893 null]
+>> endobj
+9629 0 obj <<
+/D [10049 0 R /XYZ 90 470.203 null]
+>> endobj
+10053 0 obj <<
+/D [10049 0 R /XYZ 90 465.72 null]
+>> endobj
+10054 0 obj <<
+/D [10049 0 R /XYZ 90 397.146 null]
+>> endobj
+9630 0 obj <<
+/D [10049 0 R /XYZ 90 362.476 null]
+>> endobj
+10055 0 obj <<
+/D [10049 0 R /XYZ 90 357.993 null]
+>> endobj
+10056 0 obj <<
+/D [10049 0 R /XYZ 90 275.306 null]
+>> endobj
+9691 0 obj <<
+/D [10049 0 R /XYZ 90 216.328 null]
+>> endobj
+10057 0 obj <<
+/D [10049 0 R /XYZ 90 211.844 null]
+>> endobj
+10058 0 obj <<
+/D [10049 0 R /XYZ 90 129.158 null]
+>> endobj
+10048 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10068 0 obj <<
+/Length 2496      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~ׯ�S#�TX\��N���$u
'�<9�
W�J�H�LRYo}.�I���$m���8� ��G,^��q7��J�@!%��
�*�<̓�cF�䧻o&"D��^���߾�{����m��n�aD�'
+�#����O8���o����G�h
���u�}7�K}E��[}qAf�0R�0���s
���Y�-�MV@"��#��c�8����E�3h���2a3T T�l߀\hM��|O,�+����D��$DV�	ɓ�%�nN[}�3-F�;�9E9��M�I�ǿƫt�s�O�
/v�$+�~
��C�d�u�0
P �?S�BD�
��h�!�
+Q֙��2�L(?f�)�x�>���|E�V��"&HeG?b�l#�ۍ���6�2-l�. �B\7��y�
"P$e��GJ�B�uVH�X���� {���l���ez�J��fq�`j�h�Q�"�
��U2�]��.`��̺� ��h2%�
Lh8ޤsXmF�o�S���CoJ"�$�R!("x,�Q5�CP$�

+�A�v�oVB�O�d��@����I(u�����}
a��no_�)8��~J�$��M~��Q
+�G} b09JI�c:O�4[�
�`=��,����;r\�"�Z�#�x2
� ��κ�Ζ+$ �3^�t��ޚ#�h��/�!��(������=�@��f�L#M�=
�E ���u�2�g<�:W`}�&O������D��8����u�tA�8k礓�y�)� �E c�~J��ل��h\n�|8D�P����i.ڍ;h��Ui�7����
�J�����z�/��~�j�7
�:���:W
aZ��}R>&I�3G�!�#��$�*�����U}W�밨݄y,����W�
�Α�z�]&�uSĎ+�S�)FJi�TST���x��I��扌�#�9y(���d�Y�@����]�Y_.C�� ��d������z�]8�R<1�DGшHA��A���E
kTpW.c�;3��GpU��zW��A at .P��{�r��/�T{T�;�٤`g�'M�!U��ۉ��Hr�
+�G� 4y�p���s0߈Oݮ�i�~P5p�}
�w��_��_��(^�C�������>m7i�

<�q9!㍽�]�:
0O���'����� ��|5��g��}%��7�6��	HW��r�˄`H
���"�ar�ԡ2�]Q���2q�X�ݮ�,c�C�Sw�"�{*��cf?��)Y�O�a2[f�]�t�}]��Ǎ$��4��%>���+��j�CJ#��k�	d�*��+��y
��1 ��Q;>'ZQ;{3���iO�3�c���7�i�L��v��y��	�r'�{��
�C����������;�١^f�.�
fg�Z!
+����E�u�4�
+��<D��

�V����B�Y�
+!g2+X�bV$��f@
�S>F�y�P�B:BLs$�B�$��8��#Ċɥ��1?�C˃�����7��)�b���U]
%V�!b�n!�0a�#�4@�<a�+�`ϥ�]
L���N~LM���'�)���b��Ԙ�"�%��=o\�6s��S���0O�I6�G�dn�e:[�W{���/fyz?����j��m����H��֚j#g\&{]�i����$�KH%X�*���X%�`a�Ǣ��D��2.a>I%&0�D<�T�Co����.^����a�}���Z�f��P�P2AZ��Jס�W�6��]BI�?Jo�q[ ����k/��<B�*�FE�P��@�^k�O �8
*8[�Pj���P����(��i�(�M�BF�3�ϔ���.߭�&$#�̯Y^#�$�DC�D8+JIs�Rx�RҶ�"A�������\N�G> N)�]=��
+J���%���(|`a��)�],�ʶ�6��clH�%�[�Do��2���U���!���V(�BH`+��t 4�ZX3jr�Q�X�f�"2|Xi� {
�޹�!n��\�1lT���}Yo���
��#
�OR��9[}�((�:���?���]�o�(�{��*p>���\��z��(Gt&
O���*oo:5y��Qt��v1�5=�@���8�
�gm�4�rĪp�I�=l�Y���
�^��/��w7j������Em��Qy��r��* w�@��b�V��617��*j��P�H�!��e�p�grc�H�߉
�5+���.��򄃥+���xI�
z�J�Bş��|���#��^2����/R�
�h8Ȓ*�+��c��'��:
�J��qW�g��b��T�
$
U}�H�v�相Wuцt��]<��Z����g���A��'/K,����e�ѯpm������쥻{�t�ȈOӺX��v��JW��m⑈+s��`�DJj~lߛ�>����k�s�qS�7mV���hZX�
��g�k�u�o߾�7?I�ń������.vy�VX��–� l5c�@��%�>Z\�԰�52	E
�uJ�,������nQ$�A�rX�5��BX�4݃�®?Vo��!���ڔ<��
��&�
+endstream
+endobj
+10067 0 obj <<
+/Type /Page
+/Contents 10068 0 R
+/Resources 10066 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10059 0 R 10060 0 R 10061 0 R 10062 0 R 10063 0 R 10064 0 R 10065 0 R ]
+>> endobj
+10059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.778 624.689 336.884 635.593]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 549.286 362.353 561.62]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 426.909 334.351 437.813]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 331.825 362.353 344.158]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.711 209.447 344.79 220.351]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 119.634 362.353 131.967]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10069 0 obj <<
+/D [10067 0 R /XYZ 89 770.89 null]
+>> endobj
+10070 0 obj <<
+/D [10067 0 R /XYZ 90 718.682 null]
+>> endobj
+9692 0 obj <<
+/D [10067 0 R /XYZ 90 684.012 null]
+>> endobj
+10071 0 obj <<
+/D [10067 0 R /XYZ 90 679.529 null]
+>> endobj
+10072 0 obj <<
+/D [10067 0 R /XYZ 90 598.9 null]
+>> endobj
+10073 0 obj <<
+/D [10067 0 R /XYZ 90 520.902 null]
+>> endobj
+9693 0 obj <<
+/D [10067 0 R /XYZ 90 486.232 null]
+>> endobj
+10074 0 obj <<
+/D [10067 0 R /XYZ 90 481.749 null]
+>> endobj
+10075 0 obj <<
+/D [10067 0 R /XYZ 90 381.438 null]
+>> endobj
+10076 0 obj <<
+/D [10067 0 R /XYZ 90 303.441 null]
+>> endobj
+9694 0 obj <<
+/D [10067 0 R /XYZ 90 268.771 null]
+>> endobj
+10077 0 obj <<
+/D [10067 0 R /XYZ 90 264.287 null]
+>> endobj
+10078 0 obj <<
+/D [10067 0 R /XYZ 90 181.601 null]
+>> endobj
+10066 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10088 0 obj <<
+/Length 2668      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�6~����.5�B�;�}�v�L��N�q�Ҏ��h�S�tH*���
 $EP�uC&�ټX

�|�����Uo��ys��I�� "��TH��m|q�8��qE��¤�$��f$
+���C�,�۷�]�����o�l9�
�߭����_�����8L�E
+��"��~��������Wt�l��H��bs���(X�埂QOf�&`���:x�߫�1��D���h��;�b���SG����E�XgE^��D�-aW�
�)	ĉ|Q{���=�_Z&�JB1D��_�
�1R��b��C����Hs
3D`�!e������#c�"��H�f�����Y>cQ�)Yg�ۤ�Q���4��yM��
2�j(� "CK)e
����C)D�c��CY��r�4ٽ������cQ�u1��E�N��?	���S?d���*@��ݤ�
��<""F�@�LH��
,P,e;g��$B֡��2��/38�
+�r��b����:E/�8�
+��hOz��%����|9�i�
�X�
��"��aaa�5e�ᛎ��!���8�p� �:U���1�v�*�nF	�ơ�%��j> @���5��a������&���*�1&�]�NAX����i��I]�#�sXV/�s
�˧�>�e�X���U`�����`�
+P4d�ܢ�G�9D�pɹnL?cp�$m�0Ň�48u�h�N����a�����
vqԆDGМj���y;lX�Ѝ0�N�wE�*�� �}�\��fD>'���(�P�Ԅ��.tos���r$����gwI	1�t������?Ƣ�D��?��};�
x ��59v��Ar��>:�¢ 7i��q��sb�'�*�F��ʴڮk;.��\u�e�~�)7)�$��*�Q_�����*�`&�J�M��-�<�W�!�,�����%s���~&몰�4�/ʅ��Y���� ��Lt8kԔ�Y>r�PN�))�~Hj+�K�(\
H��Zk3c����z�Xdy�(T��,�1���{͂�b�ɇC�%
@
S= q�yL�K6i��

(��Ni
+x̐��4��
�MC�%`��3���R�S$8��^
9�QX#�R

�`�
+���-RW]�j�o�T_hB�.xo�m�w	U�ǻ�!�M�$�[�i���	A�,��1.�������q|�O�DR��
��[�ŷ����!�I�@$ERH'�
��Ej�#���M�+[g���E��D�U�Ժh�f�A�7ɮ�E��q�;��i�@�S�G���hAG9���eӭ��p�m�
ô+Ȏ��EZ�c���k]�K
�GK����
 ���3
v�4����|�J1���
+�4S�/�0ȷ��V��5\K4id띀��C�i^�ﺡ ���+�F�;<=�
�<>���
�'L���tӟ�����N�A�h��t�4EV�.
���6��1:ʽ�=�ig �:M��u��Ө]
a$0�N�2�)Q����i��]SL|R�=��P�LS@����v}Z�r�S��v
K�������|�c�
S��}�̃䮾U�!�K��]&��
+z-Naz)����ؑ�.4Z
��.����TrW�؇.��UL��
��RA�/*�I�]:v`Ѱ��M2�P�*���
bW�8H���F�iS*�)%�,��Ӓ��r�~5r���Q|�\%��O��%W��T�� W�'4o�h�+��\��lXG�r�z��J�š+5C���
��(�
LZ4bzT�QZ^vN����� �r�P-Q.}D�P����W�L�$�)���.��B$e�'eJ
=�2�P��澯��=ez�O�Q�a��ķo��L�2�'gJ�V�R�ę^��8��z�I��F	���'�<
���WΔB�H9�3�L�q����ƙ~U������ͼ>�8_�i�)�OF�s���
&��*_@�	:D��(��iO�%�)�����g��Җ3
�z&g�X��3�Ǚ���~"��"O��Kd
�L	�ж�gJG^�%�8Ss#Nr�
����
�F,�y%�RW��4Y�d8B�C��P�F @:�T��"
!JaD,�,
; �`��۪��%3O2}�-%�����1XTi�1/�*�����P 6�7��>�J9�����6�~~LǨM�e�:m3�>-]��r��ܯ�D&����h�>^/�Հ�tB1�
���t<�S���&р�
�Mk��
̆V�F�X/�lJ��8+�vra�W�V>�ǣ
�+�xXD�Ϸ�K4���I$=�x�c�DB�X^��
��8
-:��k{$��-��,�G�S�k?}�����狳�K<����n���b�����_@��)� |�����nj'��LY�{)��`����x��Z���~�M�r�x����`�Ϻ��r�k�i���'�:��T�O&��C7�Qb�8~9#%�3"o3"�w	��I38��d>��H�U3�y�H�,�J3a.�z
+x�}��%t
+l�K�n�	�i��1㫭���[��m'FB�
�jO�=r=�
;=�N
�����
D6��o
�c{z�Ϻ[�Co!@��(WU<He�޽��_������_�N�m�<y�i1VV��2\�(�d�@ߧ-Ei��#hG?[��T��!��I�C]?^�zu�]UJ���x��	BvU�}[�m�����#�y
+��6�Ï~���f'`3?�FXJbf����ͅW?nh�6xwZ�E;G�
+endstream
+endobj
+10087 0 obj <<
+/Type /Page
+/Contents 10088 0 R
+/Resources 10086 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10079 0 R 10080 0 R 10081 0 R 10082 0 R 10083 0 R 10084 0 R 10085 0 R ]
+>> endobj
+10079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.628 624.689 360.629 635.593]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 534.875 362.353 547.209]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.97 412.498 252.675 423.402]
+/A << /S /GoTo /D (index_Grid_Widening) >>
+>> endobj
+10082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 322.684 362.353 335.018]
+/A << /S /GoTo /D (index_Grid_Widening_with_Tokens) >>
+>> endobj
+10083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 200.307 112.027 211.211]
+/A << /S /GoTo /D (index_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+10084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 93.467 379.76 105.801]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+10085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10089 0 obj <<
+/D [10087 0 R /XYZ 89 770.89 null]
+>> endobj
+10090 0 obj <<
+/D [10087 0 R /XYZ 90 718.682 null]
+>> endobj
+9695 0 obj <<
+/D [10087 0 R /XYZ 90 684.012 null]
+>> endobj
+10091 0 obj <<
+/D [10087 0 R /XYZ 90 679.529 null]
+>> endobj
+10092 0 obj <<
+/D [10087 0 R /XYZ 90 596.843 null]
+>> endobj
+10093 0 obj <<
+/D [10087 0 R /XYZ 90 506.491 null]
+>> endobj
+9696 0 obj <<
+/D [10087 0 R /XYZ 90 471.821 null]
+>> endobj
+10094 0 obj <<
+/D [10087 0 R /XYZ 90 467.338 null]
+>> endobj
+10095 0 obj <<
+/D [10087 0 R /XYZ 90 384.652 null]
+>> endobj
+10096 0 obj <<
+/D [10087 0 R /XYZ 90 294.3 null]
+>> endobj
+9697 0 obj <<
+/D [10087 0 R /XYZ 90 259.63 null]
+>> endobj
+10097 0 obj <<
+/D [10087 0 R /XYZ 90 255.147 null]
+>> endobj
+10098 0 obj <<
+/D [10087 0 R /XYZ 90 184.416 null]
+>> endobj
+10099 0 obj <<
+/D [10087 0 R /XYZ 90 130.727 null]
+>> endobj
+10086 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10110 0 obj <<
+/Length 2723      
+/Filter /FlateDecode
+>>
+stream
+x��[[w��~ׯ�S
���������O7ul5/N�DB$�в��3{�@�ἤ��bvfv.���8X8xs�����
bK*�� �A�c$$<-��!�t���w�
+�X�Wf��������W��.����T��^|�K�.���*x0���
����ŏ�ˋ�=^A��5���lN9	�tFE��pX�'
7�̶i^eE^��l���n݌z]T�v��(?g��y�ڹ�l�N�ڎf�2�~�Ҫ�3��H�*��7����l�v߸o�LuZf��K�Y
�A�X+��#L�"L�z��tk�;{]��ܥ��0$�e^4����
n>k֒2Kn7v�7-)����,��iZ$n%�=�G)���E7���L��~W�c�fyU' 
+��Q����q�em��aޕ�֎N��V��x����A����R��d%ß�5��׌v&S�i�����SzBV/�$q�:*��FHp
�;��|i�M��V�� +�v��
mU��Č�2�v��η�Go��4��9Q1R���ݫ�t5�ACTh��r~�3&��T�`<�
+ᨙ&�4ҥ�"�h���fs"#m
L��A��
�S��d�W@�
�o	s����
W 0
�Yc[
#��'w�C�
5!�"����xc�H)�X"�T0����Iu��:�@�
�S4H{��H��
�'B1'A�&B E<۹2�#�<����"~�u$X|	��8FرB01�1P�:�P
`�s�h�N?%�6�"���aO$e����X�mN2���(�i22�(�-g�f�~��>��e9��q6	
�*�i����m����
+��ހ�_]%�Y.GX�a����!Ȑ�g����
4 'Q H�[����KG
>��
�)���Q~�h��.�d�X���/M2�_���새��Dk�H�����>m�5�F��}���)�wB�A���1M�i��UC�r�x�����\!�C�%؅�o���#∮�C ��ǞG���M���Ljp�!x�
w]�	&e�;���7E�f�Emo��m��fnȀ�.%�
�5��=K�����ȴ�H�����cB_�MP�(T�6�w���/��>���z�K4�]�_�"d�8Py(ƏQ���xG���y�<"@���aMIa�L&<��b��]&�[ہ:{2��i��
�C��r
�u )!(MhG/�8��
� ��Yf^}Y��u�s��)��9�`���7��z�N��i��+}=n���D	\I���lO�
`
G�L������
��N��� �I�U��I�rƛ���&PЖ�lB�@���1�׀ ��y>Ő��/���,LNѩ��0����t�fD�xҤ���>c�&� }/��������,��"�Un�M~ [...]
E�L˙�s_�B�A>EX��+p�!�b1)��
+4MN�,',�;Ϩ�jL�]�O(_S��|Y��׭��Lθr'�0�;�yש��
[1�[���*f��9֔
;ԩ���3������c?�>~��
�1MQ@:��oϢy����C��h��Hr�� �<���V)�T����P>g'b$J'aA�$Jz,���2���?��$� EDS��t�[J��C'�`ۺ9?ŲP�Ť��W��n8|F�A|��mZ�iӶ�p�!�G���]40
+֠z��s�Ϻ1��#�j
�a$�:�q�O���7�vu�ES)�ru�.2�A�9��w��C����0��9����38��S2����
F!JwU�i��8A�ڼ�~����F�����df�,�c�=���z�A���O`$�q�Q�����/��L��"wݨ�#����S�9�i�/��a��RNy��r��;Կ.�d�"�p �N
+f�M��@�g!
�/)BE�9ѿx��S�@�!�'�lyA�E�j�Q�V�L(gS��}Y1���
	2��zE#���
�6fLYO;
�y�/��=�=:��wY��/( ��
��J�h����RSj#%�L4w�)�{�
���iL
�g�{������}"Ϭ|^lF�
(���,Ρ9i<�R����?�#K��LT��` �Լ�ޛ��7n��_[�� b{rs�7�l�K��jo��A�$�E�����[{��*-���X.��;���k�nSki�r3��@X��l��6�l���e�{[�w�P������������ݪJ�Ob����E�A�5�w[�i�0�5=
+4��[�
=�iN
+endstream
+endobj
+10109 0 obj <<
+/Type /Page
+/Contents 10110 0 R
+/Resources 10108 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10023 0 R
+/Annots [ 10100 0 R 10101 0 R 10102 0 R 10103 0 R 10104 0 R 10105 0 R 10107 0 R ]
+>> endobj
+10100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 586.033 112.027 596.937]
+/A << /S /GoTo /D (index_Adding_New_Dimensions_to_the_Vector_Space) >>
+>> endobj
+10101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 479.193 379.76 491.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+10102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 339.083 236.659 349.986]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+10103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 283.799 335.755 295.75]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+10104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 185.871 243.45 199.818]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 133.611 485.603 146.129]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10111 0 obj <<
+/D [10109 0 R /XYZ 89 770.89 null]
+>> endobj
+9698 0 obj <<
+/D [10109 0 R /XYZ 90 645.357 null]
+>> endobj
+10112 0 obj <<
+/D [10109 0 R /XYZ 90 640.874 null]
+>> endobj
+10113 0 obj <<
+/D [10109 0 R /XYZ 90 570.143 null]
+>> endobj
+10114 0 obj <<
+/D [10109 0 R /XYZ 90 516.454 null]
+>> endobj
+9699 0 obj <<
+/D [10109 0 R /XYZ 90 386.451 null]
+>> endobj
+10115 0 obj <<
+/D [10109 0 R /XYZ 90 381.968 null]
+>> endobj
+10116 0 obj <<
+/D [10109 0 R /XYZ 90 321.06 null]
+>> endobj
+9700 0 obj <<
+/D [10109 0 R /XYZ 90 274.435 null]
+>> endobj
+10117 0 obj <<
+/D [10109 0 R /XYZ 90 269.951 null]
+>> endobj
+10118 0 obj <<
+/D [10109 0 R /XYZ 90 211.176 null]
+>> endobj
+10119 0 obj <<
+/D [10109 0 R /XYZ 90 157.487 null]
+>> endobj
+9701 0 obj <<
+/D [10109 0 R /XYZ 90 81.969 null]
+>> endobj
+10120 0 obj <<
+/D [10109 0 R /XYZ 90 77.486 null]
+>> endobj
+10108 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10129 0 obj <<
+/Length 3087      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���S*�DX\Ip��C�l�Kg��/i�CK��D"J�]��~ ��@ٱ�ɋ���;��p5��Q���5C�����ͻT�2�%<�]of��2#*��z�ӜQ��b�(���
F�y��o�/8�����b��7?��M�<�}�MS�K����m~8��bS4
��E�*@),�
.?_w����oW
��ss+���jw���t���������}i7�\�w;���_W4X�]
h��a�06X
D��>.��זg�`y�2�;�iN2n�	��c��c�%��@b�����悱���)�+��]��5ԫ�K=o���mS��S��)7�A�\_����ܗw�0��i%'�2���hj��W��&�h~ɋ��Bɯ�]Q
ʺ:8#�/U�01rK��LA:�����/��
2�__r�	��-1U����*�B?E�[I��d�dJ��5�S3��������
ǎ�@*P��2�6��Y=D�y�
�Ƃ� �DN��~����SQ�b~�/ܠ�';���6�� [...]
+�2��1I�݀���$��<���mT
�
A�1�0d$����`_V
	�̷��q@�����)lJ!�J�ኗ\)�C(��
+!	K�sK
L�ӌp�����
 X�Ĥ�D�
+!F$l�T7�8u
��v�\�)�]S�G�8� ZT~T��
{���u���
+�D�IE�s 3��
���\ �G�>�]%
�����q�n��O��J#��d�G�6�<����xh �Ri'�D�_JR�;�!�W����|Fj�f��|�
eB(�(�{����
!
�T��w���E�`e"�����
r�{c�lg�m!!��"kZJFkzF�-� |��� ��p瀅H�����|H�f��^�� �����y%��.3-Hh����DEQ�A��g\�|x)U2_����|�_ 21�
�)^��0�-%*��-,;_�Rp	<���|�� ]z~��9��i�����(�btq%|!Hs��Vu�v���no��T�x�7V�b3���TK��f��ocq�C
�A�&�;{1����]V�+&$Q,��{�>z�S�7!�^*�IJ����F��}S�ek�
+[Ǚn��"Q�Xa�U�JWu�]
+$tv
3�Ր��\
�!#½��~P����ȊY�RV�'�r�
u
4����f0	L�eS�-K�K()%<IC%y���
+��䨮~���lϛ�غ�SHQ���S*�r҃7 �ӝ�u2���(�F��
���Q�h������Rd
)��.3�}4�� 9�ɸӟ�2�}��Ԟ2UDqv�7������m�)��=yA�
�$
�	4
w�:-.�굜F�
|�ɵ7�x�i[�*7�}8�����>��[���:���"|�ʧ�$M|A�{)�S�j0��H1]e�L��+��X{�ި����]��݃G%�@��+��H��z�u�}�eо���0� 
��&���`��cK�Ġ�Bʕ {I(w˼���(�Y&����
~|�Y��z���Icmzg��T���$)���M�LJ�7� ���#C�P�CZڗi��t:ϫ��TɌ�#�1h�=r���i���y����\aŞ����wC/we$Q��|����yylg��oMZ��6tQq��1��Z���*�F�d�D�n��TNIFRډ�rN�Ǹ��Q]�i���Yd��c����������eT�6u��o���[��5�AV�2N1j��ýV��.�oL��s���v
+^**��������)�
6�Z�����ӽ�
|F�E4�+;�Ox�I�2��%�b�B??�p{�.�|SV�tw���~�{ع��f�����/��32�������F����9x�y���B�_q\��J �D��O� �p�e`�޹���l��6�j�jU�Ao�M�W-��a4��%�y~���
g\���:�:N�&�Ӗ�
��;��n7D����"鑬C�MD� �Y�G��A&G�O��d�V�I�6i߫�5֞r��Y~d��1�D���>|�v� �A5�TTv-��_�}!���lD[]�sL��^�B&'�	B5@\��+nO)!��^`ˤ��
+�
��7:��@���;�^��P�ur ��jkiv�)��Ҷ�Z�f]@��+�q at _��X��<�q-[
7Ah)ل5(MҾ������҃���Pq{@�Ų'�18��zE:.6��P�qi/�	1\��
���{
��Ez�^}��MJ��:�b[ژ6�� s�
ڄ��}�qO�F��j�}C��l����kQ����P�k�u�
��[vO��[��>l�n�]&�� �q��t��ͼA���v��ng��u�M�~����?���֕�P��
|Pt�wX5�m�|��D�\2�Qy���0rX��i՘>W'}�Hn�?
q�ME��|�[���:���Sg0F��n�~ݩ3��R[J]���cgL_���hr�+
;��-"G���KpcO��7S�$Ԝ]dV)�$�C��9L����.j�g�q�L��n�ǿd��`��
�\$�><%�i�dXk|n��j.;�����V}����.�H"x�=_٣�ZӜ�У��Hݿ���W��?} cU7 �}]b
 [...]
+ib)����ɽ����
y�L.��ٚ�!nD+���g혼x�
+E��-�����q5TL����U���I��"��#-�����P4Z(5o��ϼz�;d&�h��=0B�N�`t�c�sl��3?�޵�zV��q�P��|<�߾ys�pw(�;��w�Q��*}�d�ˢ�m���k����n�
�әe$I�����G�9�Lm˫ۇ���ƛowb����?Ր
�
+endstream
+endobj
+10128 0 obj <<
+/Type /Page
+/Contents 10129 0 R
+/Resources 10127 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10106 0 R 10131 0 R 10121 0 R 10122 0 R 10123 0 R 10124 0 R 10125 0 R 10126 0 R ]
+>> endobj
+10106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.861 673.894 513.996 684.798]
+/A << /S /GoTo /D (index_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+10131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 662.786 153.263 672.46]
+/A << /S /GoTo /D (index_Removing_Dimensions_from_the_Vector_Space) >>
+>> endobj
+10121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 550.77 385.519 561.674]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+10122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 334.61 174.682 342.136]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 271.465 216.525 278.992]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 271.465 291.843 278.992]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 181.335 239.856 192.239]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+10126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10130 0 obj <<
+/D [10128 0 R /XYZ 89 770.89 null]
+>> endobj
+10132 0 obj <<
+/D [10128 0 R /XYZ 90 644.763 null]
+>> endobj
+9702 0 obj <<
+/D [10128 0 R /XYZ 90 610.093 null]
+>> endobj
+10133 0 obj <<
+/D [10128 0 R /XYZ 90 605.61 null]
+>> endobj
+10134 0 obj <<
+/D [10128 0 R /XYZ 90 487.675 null]
+>> endobj
+9703 0 obj <<
+/D [10128 0 R /XYZ 244.439 184.489 null]
+>> endobj
+10135 0 obj <<
+/D [10128 0 R /XYZ 90 177.849 null]
+>> endobj
+10136 0 obj <<
+/D [10128 0 R /XYZ 90 109.274 null]
+>> endobj
+10127 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10146 0 obj <<
+/Length 3237      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�}�WL�����`q�E�S��^�
��x�a�ڢ4���
)������ �

p.�l���u
����n��nft���_/�^�
+�,&q�����,��P�D�Z�����_/��� ",�+s�o?�p��o��/�~;cxDg�
+P$�fW������
+���Q"�h�`^��$8�go��yF]�#�J��C�!d�F1�T�B&HD�U��W�]�ye��5�
A��<
���N��E�3���2��,�%ؾ
r�6#�R#�
G6�7i�3I8V�R����9C�a�*�����T���<���O���]R.D8��ߤym�kj?8��dq҉b:0 >���� �5�`h��Ƅ
g��e��j��/�\�yv�gS��IND�Z?�
ka��&�C�;�"�������UQ�iuW�+{]����*��Vp{Y\7oݦ���S��.J{]�%W)ٽJ�P�967�
Z$
�I]�#ȴ.RB�{�\��mI�C�5˛�ԣ�|�ُ?�O;�~��R͂H���s��7��,R͋�@���V�sbw9Z'�^�W�qb!�����j��7
���s�ǝ#��ș�F�n
���|���

�{�^�˫�j޴n�{���
 �V�_ApLW&�/Ø�2�-��ҡ���z}�>��������|��̸�:1�PE�ǜP<Z�Q
�

+=O��)�b���t����!b�0�+�mR�
�D��6�J�/�8ꌴ��*_�	H���m�
1�
+����|�����Ca�Y�G��
+�����r��շ
YP�ɸ��*��ž�q2�ߣ�1�i7�&�ʳ@����q9R�4+�޻����PK�GRโ�G�3 #�
+j��*)	"9Rm$T���س��
���S�b�P50���Ū;l�E��-�����mc��|em�o�zF���,N���+�Y^<�#��#�;��3T�|�<� ��R
<��b�`h
������=��^u���L�6�1z� ?�zJ�Gq��}~ކ�a
9J"��0(��&�F�d�96d KEa�����R�_뫤�$�Y/� ��Q{��9T�;���op"�B#�����^ ��c���tUzT�:���*p
%W���������ߔH���b��(�D���ʉ�����
V���d�	S�a
���Tg��Q��,������+�
��E
"Yf��:�޽I�8������:T�
���G�Wꍨ^x�_
+�'�F�<T�7� j��Wi�Ӕ�U�c7�?AoO��^5T�T?4�(��� t��a��7�v(�����|���OݕdH�
7���v�	��
+�,j���J�I��.����pLmK�J�j75�"�����%�$[	����5O�+�7�L���Վ�!��v�
,��Le�x$桫�Eg�i�lv2��a$l�c�T\�ya5.�֩
�p���k�k��lO�� ��X�i��H�[�&|j�քi������,	 (�� �u�i��>K�����`��$l��
�ޠ2�T1x_�N�`
+
I�a�Q�CO?˓�{��8�b��6��F�&�wii~J2⧮��A"��)m���k��P��O�t��D9m��#�4�-u�,���a��2����n�r�
+��'빜p�m�v4ѧUk�y:�ڨo�8&�3�k �+�������A�\f�U���谌glP��U^_�b��p�ʋ�H#��S{ˀn4ŝ	�
��Җm8b��Nrp ���$���.VN�A����\z)@̾\W
C9���L
�5����y����qPA��.6
z�(wK<
H�.�[ЖV�;
+��X|�}u��kY�1���
+"CvD��k;��hK�A	p���W�f����5U�棊�haB_����w�p��l]l;��:=��0Ӭ�h���$\81 ��ĦUSٖal�����Q� �6�}�z.�����2X:O,��Fh��6o�N
����'k{�-R��)D
T�ئ�l|0�h��`8
�e��P2i�"�\�e3P�ãC���t7

�! q$�!�$�;�`wߧ#�&2BDGՙ�2ݝ�ۄ�qM��KԷ� T���Qm��%:�d�)AZ�%s̡֔���&H1����*�� SaJ��h�v��c��N�A,M}���=/g�)T�"�G�T���:9�Rp~
+E�K�*
E��Uj7�V�c�m�����
�٣��,_�������c�Q��&���Oi}_�^�|%��2k�kfMHXuU��כ�]ayH���Q�-z ��ǐ\�|� &��������<
H�w��
+)[@���m1(���K�z�P�/��7�P$
+�!�[��.x��@�ֽӻ�}d��y���
A�{C;��2�̥�&+�d|��,�M'&���2'?��N��W��US���WŕI�mk����W��
KZ�5�~Q�e�l��O��ֹZ�v���
��?��w`��řV�
+��yzH(Jopms�
���_S-4� ��E�����rOی���M�SBw��~��û�ޖvw���[d�J�x_�ݷ�v��j������2�
3�l�P��%j�A^����3(󒗅1�x
m���S��U/�M7�h�\չ�(Dͯ�pS_� %]	�
0�:m��/"j�uUc�I#5��Տ����?�}ӵ.�S?�c�}�	 U +r�d�!�0���}�i�j?�+M�!y3%����M�g��spY=Vu���&����i7�d~�6Ch��<��ȁ�1�k."t�,��G^/��6-�*}�h�^O(�5d�E�݅�u/�MSj�gwI�`�nW=��'M���: 穏܂�mԫ4�{H�Dg�b`
+?��������w��D0��#p$Y��\��7�3����%
Ӣ�R,�%�>�3��(�p�7%ј�eQ��(�9LϘu��
+�L�$��?�D{��yZ�'��gٞ8���E#�Q�4b{�Oٓ��x1�77������Q���
%m���)ɦ9�q�M[�t����:ݙ&�ϐ��j�?�$��
���f�����C��s�u>�*&UZ���G]7Z��?
+��
yg S�H���-Q�KW>�i�x�D
t����ݰ�����o���s�pxn
��in��v#f_֋[B޲�6 "�7���F� �޼�~������_UZ�I��f=�����\d˂�����4
4��7i[s�z������w��>�&5������_������!0�m��
���p��?զh=)�qs�|l0�Jl�� 0M-
+endstream
+endobj
+10145 0 obj <<
+/Type /Page
+/Contents 10146 0 R
+/Resources 10144 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10138 0 R 10139 0 R 10140 0 R 10141 0 R 10152 0 R 10142 0 R 10143 0 R ]
+>> endobj
+10138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 669.068 379.76 681.402]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) >>
+>> endobj
+10139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 626.97 182.164 637.874]
+/A << /S /GoTo /D (index_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+10140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 529.604 243.45 543.552]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 453.036 535.938 465.554]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 439.651 226.824 451.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 379.69 362.844 390.757]
+/A << /S /GoTo /D (index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+10143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10147 0 obj <<
+/D [10145 0 R /XYZ 89 770.89 null]
+>> endobj
+10148 0 obj <<
+/D [10145 0 R /XYZ 90 718.682 null]
+>> endobj
+9704 0 obj <<
+/D [10145 0 R /XYZ 400.69 630.124 null]
+>> endobj
+10149 0 obj <<
+/D [10145 0 R /XYZ 90 623.484 null]
+>> endobj
+10150 0 obj <<
+/D [10145 0 R /XYZ 90 554.909 null]
+>> endobj
+10151 0 obj <<
+/D [10145 0 R /XYZ 90 476.912 null]
+>> endobj
+9752 0 obj <<
+/D [10145 0 R /XYZ 487.765 382.843 null]
+>> endobj
+10153 0 obj <<
+/D [10145 0 R /XYZ 90 376.203 null]
+>> endobj
+10154 0 obj <<
+/D [10145 0 R /XYZ 90 296.035 null]
+>> endobj
+9753 0 obj <<
+/D [10145 0 R /XYZ 90 271.263 null]
+>> endobj
+10155 0 obj <<
+/D [10145 0 R /XYZ 90 271.263 null]
+>> endobj
+9754 0 obj <<
+/D [10145 0 R /XYZ 199.738 190.181 null]
+>> endobj
+10156 0 obj <<
+/D [10145 0 R /XYZ 90 183.541 null]
+>> endobj
+9755 0 obj <<
+/D [10145 0 R /XYZ 90 143.809 null]
+>> endobj
+10157 0 obj <<
+/D [10145 0 R /XYZ 90 139.326 null]
+>> endobj
+9756 0 obj <<
+/D [10145 0 R /XYZ 498.315 84.126 null]
+>> endobj
+10158 0 obj <<
+/D [10145 0 R /XYZ 90 77.486 null]
+>> endobj
+10144 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F8 794 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10178 0 obj <<
+/Length 1768      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���0�����U��m��6]�vH��eiQ�2��%W�����P$e�Q
�q;
�`���s��w���
�?�GX������4d^�����܋��� �fޅO0t<!c�lL�����٘b�Ȯ/լ�?�J�e\^?/���U��{�i�j<��'Y\Uf�V�U9&�Wyo	a0fT�?��
=;}
�
{�H"P(�d9����L�
X$��f����o��ដ�j�G_5B!��[�E���T��J�q]���d��c��.?)�֢nY�������Z����	@)
+w�
����%� r+�~<�	h�D��&��� �g]l!,�[ v"Vї�����Re���] 
��m!Tb���"�C��[U�˼8�1�e{D]��Y�۔���G��d��̠ȳk3�W7�
Q���_"
H�@o;`� �p۠;6)m�@$*|H
��fj>�����
��q�(��o>��p�W_����"D#�m5Z����V��ʫ��'i��U\��LuT<
O�N�;]�ʾN�JU�ݴ��K�)�\ �d��È����ŭ��=5C&l{P���p�����8�����@����c��/��8�~�Ό˪1!�U��8�"0 =��������فj�m��� ��~���
��0��(,(̋�����dC9��b*�٦,���b�� �"�
+�"Wi�0S��d�'�F>ΤH%�e2���hY�2tyyt��"!�����8�p��A�iv�0X
�`M��
��!!Ö79���q����%LgcF���P7��K��CH at a
 	�I`��x"}K6$ic�C�
+�� �<�=�
9�(.
��C_��D���	��&[q`;�h��
e^�ܼ�I�;I��)�2o�h�
Z�u��I�t��6�]Y
ᣁ�Ɩnp#��P���L9$�R'�¨� ?�匷P�I��}�@2h���=*q"N(d��nyQ�)U�
°������L$�n��hzS���7D
�7
+nQ:� ?3��X/u�YO�c�3Un|�Y�ªڋ��"`
l#�l=����Ĥ�k������u�h�>�����D�Յ�խ{����T��uV��j� �A #���m�����R��ãE�EƱqz�����߯!��
+�-Xf�w�!
Z�R��]��eخ@w�/�M�u��םp�f������cu3
�Bm���ц-2<�{�: ����9
� ֳ�SuhC��H�;<�
���3�i�t���<�Z�mQ}��
���᷵�.H|�1
�u[�
�@v>a���
�
B7��liZ��pH�{�m�UZ_�����D2��
û�n����՚���<Uu�f��ܐ�I�����Z��B��	�ɭ�p+�̜�-���jl$%�D3�B��y�m`¸O~�����x���W7�E��LWv��
c���7���ݧ�
<9�V���2��,���y�,�2ݷ*+U���9��
FQ�����܇�C;!�p��d+3�>����ÆD|;l��Km6=�fӿS��8ɼY(0Ei�L���;qs+j8K�~MhD��y�R��:����[�ٯ�$q�ɔ���R���������z��=
"�-(8;{eT��A[�R��q�vM��
��U[�j�2���r��?yn�ۨix;�(8��
 /�zu|t4]/*V �߄��
�s�-��,ܿ
�
&��rW$Ύ��,��
��I��M�_gܼtډ�K�=-��oZ��
���
+endstream
+endobj
+10177 0 obj <<
+/Type /Page
+/Contents 10178 0 R
+/Resources 10176 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10159 0 R 10160 0 R 10161 0 R 10162 0 R 10163 0 R 10164 0 R 10165 0 R 10166 0 R 10167 0 R 10168 0 R 10169 0 R 10170 0 R 10171 0 R 10172 0 R 10173 0 R 10174 0 R 10175 0 R ]
+>> endobj
+10159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.635 517.427 249.889 528.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 444.598 177.053 455.502]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
+>> endobj
+10161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.989 429.884 217.919 439.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 374.73 180.649 385.26]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) >>
+>> endobj
+10163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 346.275 180.649 357.179]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) >>
+>> endobj
+10164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.986 346.275 228.24 357.179]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 318.193 180.649 329.097]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) >>
+>> endobj
+10166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.986 318.193 274.725 329.097]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+10167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 290.485 188.398 301.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72) >>
+>> endobj
+10168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 262.029 163.215 272.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) >>
+>> endobj
+10169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 262.029 257.291 272.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+10170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 233.948 163.215 244.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) >>
+>> endobj
+10171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 233.948 210.806 244.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.635 162.115 249.889 173.019]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 76.49 173.456 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+>> endobj
+10174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.43 76.49 253.684 87.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+10175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10179 0 obj <<
+/D [10177 0 R /XYZ 89 770.89 null]
+>> endobj
+10180 0 obj <<
+/D [10177 0 R /XYZ 90 664.738 null]
+>> endobj
+10181 0 obj <<
+/D [10177 0 R /XYZ 90 642.691 null]
+>> endobj
+1845 0 obj <<
+/D [10177 0 R /XYZ 90 569.148 null]
+>> endobj
+342 0 obj <<
+/D [10177 0 R /XYZ 90 562.431 null]
+>> endobj
+10182 0 obj <<
+/D [10177 0 R /XYZ 90 463.6 null]
+>> endobj
+10183 0 obj <<
+/D [10177 0 R /XYZ 90 393.443 null]
+>> endobj
+10184 0 obj <<
+/D [10177 0 R /XYZ 90 393.443 null]
+>> endobj
+10185 0 obj <<
+/D [10177 0 R /XYZ 90 363.628 null]
+>> endobj
+10186 0 obj <<
+/D [10177 0 R /XYZ 90 335.546 null]
+>> endobj
+10187 0 obj <<
+/D [10177 0 R /XYZ 90 307.464 null]
+>> endobj
+10188 0 obj <<
+/D [10177 0 R /XYZ 90 251.3 null]
+>> endobj
+10189 0 obj <<
+/D [10177 0 R /XYZ 90 205.45 null]
+>> endobj
+10176 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10232 0 obj <<
+/Length 1843      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�F~ׯ �@���\8�i�i��u�Oia��D�V"J��[��pfxE˱Pl
=���3�9�;�bo�a������d^�"A�7��Eؓa�������gT?O��P�Df��/x?�x?�P�]LF�G^a�X
I�MW��?co���0b���̠�R�K����vX0���,�
2��FF"�" q�h0&c��^��<S��׻t�M��޽ʦ��N��yT��_
�i(iK>"n�$�Z�W
�8_���I���J��
Z��HE�
��%2Dt-DIe0]���2 Ŀ_�Y���Qu�HDe�er��`h�ߟ��ɓY!�R'A 1R"j#xY�����1��[}~>�V�8��A?a��qȅ?��Ͷ �!9!
��J2j܀�Z����")�,�<�#��!!"*G��ȈVULbW0+j���yc�"�!��&�Ba�}�}�1���Ou wY�55ܠ�X��
cA菩@X����]�n�B*�4lZ[!�#o
���Ry���T��rOib߷
ah9�����=)��
�� �ٓ a/� ����^�t��sk���w
�]h'�e�� LU��
?�!5��d���JWbެ��R;�oq��^�ϻx�f�Yɋy���9=�����萻��H��7FZ�7k
\
(�
���>�7�Zs
�`�,�<�z�J�m*�XR/㍻�
�cw3ש�A����g�r�.�-�Y�r_
K}�"5��B� #G�a�F)o��8�P$��%Z,�����qNMH�RYh�X�
���P����8�HEr(�2ĕ�K�

֯���#�
�`>

+�ڍ�c�
ddk������፥P�ڊ��ipy�?�׹N�z0oe�:�e�%���$�.` ��+]Ec
���u��Ph_�^
`�Y�I:]�f��S�@eHFU���GV+ל��a
j/�}}��
sD�;	�S }I��-�r�L�i'A>_�C��e�*4��
��Nw+��`O>w4�6#
+�~����U�աgP�:T�4���!
�Z��^�l�In����S�i�iF
��|i����H����Nﲯ��S�3	.<��ᩗo�_t���}x�Ջ��.&׏������>�� ��.����[P
+�Wӎ�
�E!q)ƈ�����j�ͷ�L�\�eK�
+F�BQ�X&��"�
1��
+���"[e=��n޾�
O
.y	�.�o�;Vk-+�D��
c
��q�Ң��h����0��%6_E���o����E���E�,q(C�]СP�
+Vأw[���_
�]���v��M>$�nr�0��-F�m��d��U.m���"�~6�%�:�.���:��b{�za"�꣯�e�Yi<%L�
��nc�R D�`J=�|��&| <���}��搠g�=�^c����~�R
Oa��l}_n�A�|7�*�]�]���S�%/�)y���\ۿ
+�	J�_�%U��l4&�o`�ߔ����_��6
�5��q��G@�hƶP��
�??j4$��X+C��.�e�W��,���	��'��a�ek;��?�=��/���šRPa���GZ�щv  $0�+�ձx�~k��m,�F����즚-
�db�̳�@	,�g�þ v"����5��-�
�o��fO�W?-�A��|��4�
cg�:[v��
���5']��@-<�ò:������)(��
�5�11��G���g�hb"�g�5���r�{p�vżW�ōA޸h�0�ԍ S�(m�\\]]ڋot�πs�y�]�V�
+��3��.�[�`�`��A�n��~�`?2G�
<<D��#�b�]��������9�f�}�ԓ���[Bu��r�P���U�y ��`
+endstream
+endobj
+10231 0 obj <<
+/Type /Page
+/Contents 10232 0 R
+/Resources 10230 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10191 0 R 10192 0 R 10193 0 R 10194 0 R 10195 0 R 10196 0 R 10197 0 R 10198 0 R 10199 0 R 10200 0 R 10201 0 R 10202 0 R 10203 0 R 10204 0 R 10205 0 R 10206 0 R 10207 0 R 10208 0 R 10209 0 R 10210 0 R 10211 0 R 10212 0 R 10213 0 R 10214 0 R 10215 0 R 10216 0 R 10217 0 R 10218 0 R 10219 0 R 10220 0 R 10221 0 R 10222 0 R 10223 0 R 10229 0 R ]
+>> endobj
+10191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 434.374 160.455 443.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acb1fb1a16ca8e051a815ae73b178dd62) >>
+>> endobj
+10192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.794 417.601 266.426 427.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 404.232 160.207 415.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+10194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.977 404.232 192.655 415.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66ae9cf46c5e08ead7689807e1c8ba30642) >>
+>> endobj
+10195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.643 404.232 257.969 415.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) >>
+>> endobj
+10196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.958 404.232 292.28 415.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876) >>
+>> endobj
+10197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 352.236 201.399 363.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.376 352.236 268.642 363.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a4c001b3abe941fc38c182ed23c7bca2b) >>
+>> endobj
+10199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 297.024 178.976 307.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.791 297.024 244.549 307.928]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.984 297.024 344.961 307.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 268.939 178.976 279.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) >>
+>> endobj
+10203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.313 268.939 271.378 279.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 255.892 178.976 266.796]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_add0d04eab672e924694d77cc48921add) >>
+>> endobj
+10205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.313 255.892 271.378 266.796]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.59 255.892 351.348 266.796]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 227.807 178.976 238.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a271a32761c20049948570491e6b5b9dd) >>
+>> endobj
+10208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.313 227.807 271.378 238.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.59 227.807 355.233 238.711]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.761 178.976 225.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a7718a50034230b311e3f3cc35d7709e9) >>
+>> endobj
+10211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.313 214.761 271.378 225.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.59 214.761 355.233 225.664]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.322 214.761 465.08 225.664]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 187.049 186.725 197.579]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b) >>
+>> endobj
+10215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 158.59 178.976 169.494]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.715 158.59 230.522 169.494]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1177f236d8c66c01bbb43b37ff90bc7d) >>
+>> endobj
+10217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.859 158.59 322.925 169.494]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 130.504 175.668 141.408]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 130.504 234.596 141.408]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_abaa6c80abf60b23dd19db6cc042719b0) >>
+>> endobj
+10220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 102.419 208.395 113.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a44d16f88718ec30357b12b5185b033e0) >>
+>> endobj
+10221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 102.419 273.968 113.323]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 179.554 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 74.333 250.666 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) >>
+>> endobj
+10229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10233 0 obj <<
+/D [10231 0 R /XYZ 89 770.89 null]
+>> endobj
+10234 0 obj <<
+/D [10231 0 R /XYZ 90 721.073 null]
+>> endobj
+10190 0 obj <<
+/D [10231 0 R /XYZ 90 704.158 null]
+>> endobj
+10235 0 obj <<
+/D [10231 0 R /XYZ 90 704.158 null]
+>> endobj
+1846 0 obj <<
+/D [10231 0 R /XYZ 90 556.877 null]
+>> endobj
+346 0 obj <<
+/D [10231 0 R /XYZ 90 550.158 null]
+>> endobj
+10236 0 obj <<
+/D [10231 0 R /XYZ 90 449.408 null]
+>> endobj
+10237 0 obj <<
+/D [10231 0 R /XYZ 90 316.113 null]
+>> endobj
+10238 0 obj <<
+/D [10231 0 R /XYZ 90 316.113 null]
+>> endobj
+10239 0 obj <<
+/D [10231 0 R /XYZ 90 272.924 null]
+>> endobj
+10240 0 obj <<
+/D [10231 0 R /XYZ 90 231.792 null]
+>> endobj
+10241 0 obj <<
+/D [10231 0 R /XYZ 90 204.03 null]
+>> endobj
+10242 0 obj <<
+/D [10231 0 R /XYZ 90 177.67 null]
+>> endobj
+10243 0 obj <<
+/D [10231 0 R /XYZ 90 147.859 null]
+>> endobj
+10244 0 obj <<
+/D [10231 0 R /XYZ 90 119.773 null]
+>> endobj
+10245 0 obj <<
+/D [10231 0 R /XYZ 90 91.688 null]
+>> endobj
+10230 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F32 764 0 R /F38 3426 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10293 0 obj <<
+/Length 1940      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo����_�O����BrI#(Ц� w)��n�!w hjm��K����ξ�i��>Z)zA�����3�<3;3�عs��~�������9!
+}�;׷N�
���ᯥ�yN0���`��
��q�����y�m�Ų����MW����U��ދBTq]V�3����,��<~��Z�`.�D���q6g�/~��a���ٗ��C�
⁓��?cg	_��`���yԃrǥ
>3�j���
+
?��!sP�w����'bt�$�uUX!�{a
�i.
+������
�� �VI���5薕2-�V������A���A2��O33��5�E>Hh���4�zjP�<6��6a�4��� =����sF(
+1��S���r>�y �6]��՝��
�u���:3
&S�~�
�9Qg�ެ����0����󨩽�$��Կ��4��Fuz ����
�9:��,��w)X�E����c�2=)ŭrK�#MRQ�r�Pr���(�-��k	C�fH\,G'���
��y�3D����MYf�ѩD^.�Ă��фI�����J�c��F{0J����
+*�Y��, -W"I�r
�+�����e>x�v ��VP[�����v�jD�̱W����sa2&��e
�-S��8D�����QZŽJ��ݾ>X��S^����s�7�|�d�X��Q�!ϊ(Ah�r� EmC��"�7$Ǔ�1!-�I��}z[�$�/|o~ ����o��)]+D���m�D�,Z(��t���X�Rl<�zʓN��c#	�ՑS'X��P
G��;L*�,-Ne��0�kcM]�Ř}����S��jK7���<�c@�
`�)p����h�C�t>�8cSe��*��\Ԣz
O�)u0�<�YL�"QTV�@��/�<��ګ2-�o�f�Uf�jaW��7 _�)�
��Ղ�X�ٵF�uԡ'��;ի���UDu�����@F��1���^�$�i^#���IӦ��Y��m��p�#�vT,F�"J��3k�px\f=5����!�e�U*�ej��]��q|T�Ï��
�
��_Zu�"/�M$�_��*ww�Y�q�w�"���B�$�����	n7庉�u9�M
k[#�������H>�
1���d�J����f}���=�'2�rR���?��_�]��Ÿ�q���ik�W���w�3"�;a2&��M$���L���7����c��ͷ�n�
G
�le���Q' �������9��paכ�w,~�TI�|2:
��t	�I���g��>��1���4������gYt_��
�]�e[M.��ѯ�*��Z�;����ݾ�m`G(C��{
��+�)a̒~��7��l���[��~���Lճ����̕w�"QG[��C�Bj�ڣ��\��2�Si�vO}
�$M��:_�j���*��+GC��mj��zQUc�	#��6Q3韮�}���C�ݺ34RGC
텧��(�
?-�ڮ��+ۋo��xG^C'68y�$P�`0饉�;��j9Vܺ���$��ޮ2N�^K�� ��n����|�R�\u�#hɷ�g�߷o�n8��u	�߆�8��Dگ�2^���tį_D�����e�t���@7׸�z4����0e��>���0L�[)VF��:ѕ:�i*�
&�7�P�
{z�8c}>�M��g����R���>
+i0��1�"U�cz6�����B/��<z�����/U�
\��(U��$Rޮ��F��nh���39:u�h�.!�
Syı?�q�My�(�����?O8����exk0U>p�i};��ED�^h�q�$�����?�����aw߿�ź���~��\�ݛ��OImyt%�Ο��y�Q�D�z����;}_׫����
x�
JL�胻�G�0�Ӵ��j�d�2� 5��;z9T�`�/3�0�:�ÿ�g�c����CΜ��`��b�A�l�
+endstream
+endobj
+10292 0 obj <<
+/Type /Page
+/Contents 10293 0 R
+/Resources 10291 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10224 0 R 10225 0 R 10226 0 R 10227 0 R 10228 0 R 10255 0 R 10256 0 R 10257 0 R 10258 0 R 10259 0 R 10260 0 R 10261 0 R 10262 0 R 10263 0 R 10264 0 R 10265 0 R 10266 0 R 10267 0 R 10268 0 R 10269 0 R 10270 0 R 10271 0 R 10272 0 R 10273 0 R 10274 0 R 10275 0 R 10276 0 R 10277 0 R 10278 0 R 10279 0 R 10280 0 R 10281 0 R 10282 0 R 10283 0 R 10284 0 R 10285 0 R 10286 0 R 10287 0 R 10288 0 R 10290 0 R ]
+>> endobj
+10224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 695.05 220.579 705.954]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a5f47fcccf4795964925294d448335f0a) >>
+>> endobj
+10225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 695.05 290.038 705.954]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 682.143 233.76 693.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a091c62cb35ccf09353d79a532e6c1758) >>
+>> endobj
+10227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 682.143 272.763 693.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 682.143 323.393 693.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 654.336 243.165 665.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a3024467f23276b9db83e3bbb6fc05b12) >>
+>> endobj
+10256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.502 654.336 327.278 665.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 626.529 246.034 637.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a4cf4938d837fcf701695a0828bf56cef) >>
+>> endobj
+10258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.522 626.529 360.71 637.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 598.722 231.1 609.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aeabcfd0fb026563fd3464f04d32c8e60) >>
+>> endobj
+10260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.915 598.722 270.103 609.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.916 598.722 345.559 609.626]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 585.815 135.579 596.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+10263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.077 585.815 155.225 596.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) >>
+>> endobj
+10264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 558.382 162.677 568.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6) >>
+>> endobj
+10265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 530.201 187.563 541.105]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6) >>
+>> endobj
+10266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 502.395 220.768 513.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) >>
+>> endobj
+10267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 474.588 168.216 485.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) >>
+>> endobj
+10268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 446.781 226.308 457.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) >>
+>> endobj
+10269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 419.348 297.728 429.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) >>
+>> endobj
+10270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 419.348 336.732 429.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 391.541 283.353 402.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c) >>
+>> endobj
+10272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 363.36 191.718 374.264]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 363.36 288.852 374.264]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) >>
+>> endobj
+10274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 335.554 191.718 346.458]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 335.554 303.079 346.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) >>
+>> endobj
+10276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 307.747 201.471 318.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) >>
+>> endobj
+10277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 307.747 293.874 318.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 279.94 182.044 290.844]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) >>
+>> endobj
+10279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 279.94 274.447 290.844]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 252.133 272.783 263.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471) >>
+>> endobj
+10281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 224.7 150.493 235.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) >>
+>> endobj
+10282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 196.519 181.845 207.423]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) >>
+>> endobj
+10283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 168.713 181.845 179.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
+>> endobj
+10284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 140.906 154.727 151.81]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) >>
+>> endobj
+10285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 113.473 176.505 124.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b) >>
+>> endobj
+10286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 98.522 450.955 108.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) >>
+>> endobj
+10287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.333 169.013 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a64600674ceb04a95caa3db13515aa9ff) >>
+>> endobj
+10288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 74.333 237.894 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10294 0 obj <<
+/D [10292 0 R /XYZ 89 770.89 null]
+>> endobj
+10295 0 obj <<
+/D [10292 0 R /XYZ 90 699.035 null]
+>> endobj
+10296 0 obj <<
+/D [10292 0 R /XYZ 90 643.745 null]
+>> endobj
+10297 0 obj <<
+/D [10292 0 R /XYZ 90 602.707 null]
+>> endobj
+10298 0 obj <<
+/D [10292 0 R /XYZ 90 575.224 null]
+>> endobj
+10299 0 obj <<
+/D [10292 0 R /XYZ 90 547.417 null]
+>> endobj
+10300 0 obj <<
+/D [10292 0 R /XYZ 90 519.61 null]
+>> endobj
+10301 0 obj <<
+/D [10292 0 R /XYZ 90 491.803 null]
+>> endobj
+10302 0 obj <<
+/D [10292 0 R /XYZ 90 463.996 null]
+>> endobj
+10303 0 obj <<
+/D [10292 0 R /XYZ 90 380.576 null]
+>> endobj
+10304 0 obj <<
+/D [10292 0 R /XYZ 90 352.769 null]
+>> endobj
+10305 0 obj <<
+/D [10292 0 R /XYZ 90 269.349 null]
+>> endobj
+10306 0 obj <<
+/D [10292 0 R /XYZ 90 241.542 null]
+>> endobj
+10307 0 obj <<
+/D [10292 0 R /XYZ 90 213.735 null]
+>> endobj
+10308 0 obj <<
+/D [10292 0 R /XYZ 90 185.928 null]
+>> endobj
+10309 0 obj <<
+/D [10292 0 R /XYZ 90 158.121 null]
+>> endobj
+10310 0 obj <<
+/D [10292 0 R /XYZ 90 130.314 null]
+>> endobj
+10311 0 obj <<
+/D [10292 0 R /XYZ 90 91.549 null]
+>> endobj
+10291 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F66 3179 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10380 0 obj <<
+/Length 1677      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�8~�_�S�Ċ$O��k�N{���}Om�Cl�a���_+!������n��V�j��oWؚ[�z��}�;=�����5��lq7@̃3��P��y��r<���Q�����g��#��w6�}�x�-�+`���t���[3�����	|�V
--�:�F�?{�ز��m

��<W�Fh��oqB!�
��p�)#N�=K�2DXPX�	c'"oI��}FH�DFS��A�#��m$o�4���u�k�0�oB�k�<�r��A �Z� ��j�)e�1�����ڧ�N��y�ܟ�M
.�e�Φ�BLd2�E}��Q���ڔ�'��D\+!��F"����̆�igr��k��x*�z�
Ɛ��ͬ�^��s)̊!̸����!x.f]���E����	X�}�JY�;�;���'�ɊY.�����\r�^����ZP ���XÑϽʹ��s�������Px�n��܇�֘�����
+�>av�R�Hs�U�R��N�엉0:���s�H�,�3�K
F��6 �s\,�Xd�0/q<�
�h n�s$d���7��J�R%잇(#��.��
`��P۝��C�P�S�����}[�"�"@UM,��
+�
+tp��-{��JR��(W'�!
2p(r]��
e4=Է/�W}	`���+�rp}������T�f�
��O�v_f���Al�J��䕈Eʝ�h
3WcT.�T=T�;D%����9�J�8i�&���P�!YC٠"}֨��A�l��J�M�]��r(04�Υ��4��w�"�
�gZ�WJ0E��털gRbĀN:%�C	ꏩ=��i�4���慓���^���#�STG���ܫ
+I�e�5)�K�-�Z��=U����5(|r�);�45�i�7O���������ng���V��,�!f��&
�&~�4$AY
�\R]9
���;,�����С	9H;��O�G��@�+
���u��(p�_[�t��W@���naj�3�tJ$��<Kd]jpQ�e-N�t�q�����0���ۜ[��9�b�
����__!����?Vɫ���?�h)b�����B�
�M�U8�rt���Q�
/����3���DL,�"]�7�~�om7��,�v��v$�bLJuݝ��HF�bӷ�݆�^��w]>]�Y�+'�Z���&~�w��gO�-��q�
L��$m'����$��Q\]/��(��dP�l��NgM��
�y��%E^���s
�p� �
U\{�A�6֖�]Kձ
/�k����ϥL�+Ek)
j��+�ZjbsM��'k�g��.�_��j�p��
��
�����:f�y]��Ě�o�M��̺`����\�E��5���C�]�n��'R��2M2s3L�E�����(@ͱx%��F+����f�a��T���
 �d��#��l�������6wX����af�)��1�rޕ����f* �������r�E��?���V����+�~�vroW�s��7

E�:]����r��q�H[L8�����~X�17N_/
�e�6��o�Q���*[V>A.D��T����m~�W&����٦�
�uQ�T4�*��tӟ��s�H�Mn�ߥ���kXe
�E��)v#�jxzz����4Y��p�h��k��%�I�4Q
7��S�n������
+endstream
+endobj
+10379 0 obj <<
+/Type /Page
+/Contents 10380 0 R
+/Resources 10378 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10137 0 R
+/Annots [ 10289 0 R 10319 0 R 10320 0 R 10321 0 R 10322 0 R 10323 0 R 10324 0 R 10325 0 R 10326 0 R 10327 0 R 10328 0 R 10329 0 R 10330 0 R 10331 0 R 10332 0 R 10333 0 R 10334 0 R 10335 0 R 10336 0 R 10337 0 R 10338 0 R 10339 0 R 10340 0 R 10341 0 R 10342 0 R 10343 0 R 10344 0 R 10345 0 R 10346 0 R 10347 0 R 10348 0 R 10349 0 R 10350 0 R 10351 0 R 10352 0 R 10353 0 R 10354 0 R 10355 0 R 10356 0 R 10357 0 R 10358 0 R 10359 0 R 10360 0 R 10361 0 R 10362 0 R 10363 0 R 10364 0 R 10365 0 R 10 [...]
+>> endobj
+10289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 695.267 200.963 705.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a32364020a67e8172442cbd9d1077cf44) >>
+>> endobj
+10319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 656.187 179.384 666.717]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad350a787056fefe667783a60a9f2923e) >>
+>> endobj
+10320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 627.692 183.698 638.596]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a4c001b3abe941fc38c182ed23c7bca2b) >>
+>> endobj
+10321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.438 627.692 238.89 638.596]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a875a737ccb94634bd7f5fd577d7d9657) >>
+>> endobj
+10322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.834 572.416 201.899 583.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.8 572.416 239.767 583.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af3146d81190eacbe889e3d0949907271) >>
+>> endobj
+10324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.909 572.416 343.158 583.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.736 572.416 421.493 583.32]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.33 572.416 521.308 583.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.834 532.34 201.899 543.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.8 532.34 243.622 543.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.764 532.34 347.014 543.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.707 532.34 464.641 543.244]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.509 520.385 285.893 531.289]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.517 520.385 357.275 531.289]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.709 520.385 457.687 531.289]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 507.321 202.497 518.225]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 507.321 244.818 518.225]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77fd92da113b8b277b8626ce74bde0ad) >>
+>> endobj
+10336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.633 507.321 310.391 518.225]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.764 492.587 422.252 502.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 479.2 202.497 490.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 479.2 244.818 490.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8950f38d19f1b721d66b756b0ae10cb3) >>
+>> endobj
+10340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.155 479.2 349.405 490.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.058 479.2 428.816 490.104]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.834 451.079 201.899 461.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.8 451.079 245.306 461.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.448 451.079 348.697 461.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.391 451.079 466.325 461.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.509 439.124 285.893 450.028]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.517 439.124 357.275 450.028]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.709 439.124 457.687 450.028]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 411.003 202.497 421.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 411.003 246.502 421.907]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad582c312a54b52e80b7fa8b836de9450) >>
+>> endobj
+10351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.317 411.003 312.075 421.907]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 382.882 202.497 393.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 382.882 246.502 393.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a2d4aa4b95cb53d23b232457b212e82e4) >>
+>> endobj
+10354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.839 382.882 351.088 393.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.742 382.882 430.5 393.786]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 354.762 203.075 365.665]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 354.762 296.324 365.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) >>
+>> endobj
+10358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 340.028 337.637 349.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 327.014 194.297 337.545]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) >>
+>> endobj
+10360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 298.894 188.759 309.424]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14) >>
+>> endobj
+10361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 270.399 226.019 281.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.758 270.399 301.843 281.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
+>> endobj
+10363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 200.066 222.711 210.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.209 200.066 314.187 210.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.794 200.066 361.329 210.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) >>
+>> endobj
+10366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 102.454 226.034 113.358]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) >>
+>> endobj
+10367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 102.454 386.241 113.358]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.333 156.281 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aeed6163372d663031201f5b4c77b9d5c) >>
+>> endobj
+10369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 74.333 225.162 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.374 74.333 308.439 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10381 0 obj <<
+/D [10379 0 R /XYZ 89 770.89 null]
+>> endobj
+10382 0 obj <<
+/D [10379 0 R /XYZ 90 591.438 null]
+>> endobj
+10383 0 obj <<
+/D [10379 0 R /XYZ 90 524.37 null]
+>> endobj
+10384 0 obj <<
+/D [10379 0 R /XYZ 90 496.572 null]
+>> endobj
+10385 0 obj <<
+/D [10379 0 R /XYZ 90 428.375 null]
+>> endobj
+10386 0 obj <<
+/D [10379 0 R /XYZ 90 400.255 null]
+>> endobj
+10387 0 obj <<
+/D [10379 0 R /XYZ 90 372.134 null]
+>> endobj
+10388 0 obj <<
+/D [10379 0 R /XYZ 90 344.013 null]
+>> endobj
+10389 0 obj <<
+/D [10379 0 R /XYZ 90 316.964 null]
+>> endobj
+10390 0 obj <<
+/D [10379 0 R /XYZ 90 288.843 null]
+>> endobj
+10391 0 obj <<
+/D [10379 0 R /XYZ 90 219.088 null]
+>> endobj
+10392 0 obj <<
+/D [10379 0 R /XYZ 90 148.839 null]
+>> endobj
+10378 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F90 758 0 R /F32 764 0 R /F38 3426 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10482 0 obj <<
+/Length 1763      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W����`<	��m
����M�S���m��D��⸿�
�H���X�Į/"E,��o��K`����������ɜ >���s'���>�9]��`ސ`��#�`7�&�ɑG���o.�Q��KN�(�	��,�
��8��4�T`��8������y�yD���,��I�2x���^�F�
R�B ������g���[#(��8�2����?��z-

���@�k	
V�$R���:��� ���k�T "PT�}-E�$�)��I~٥��T��C�@L�vT�aǿ���5�
�B
�	CT���T4:�f�����P�W�����{����i�7����g�t���N
�}ݣ����Y��I:�ҵ?�Ѣ�Gw��y��Q�
�հb{���΋q>Խ�

��D�%�'Y�+��dD�&�8"R;M ʙ��e���tT��y�.�E�u
niB嚥
+��
�n	�^�k���x�����e�F^R�|N���,ʢI���*�϶�ֱ��Zh/�aUKC�giS��gu_�@>*�1�g	����y%�<

k��0���3��gd�w����k=�0�yz$�y�`z����
8V�)xV
2-�.�t[d��r��y����B�N���ݫـ� 
LJ�F=j� �F�n���ц��5|���������զ��LEk2?�g~C�����U>f�\'��d���(#[%dP�9!��]'d�JB^��)�`�_��"
7���=���7L�s&6�8M�q���d���
x�C at K����h��
!���"�v��F�	[9˳E�Q\�
I�X��4�"X:
ߔw���.�Wn[LL�3�Z$_�1Ч���]ʅD��ݔI��5�~x���ͳi�߆p#���n��X!��v���0L�yG�r�{�1�ZQ{3�
^\A��E�0�D���
C�+
���Sؽ�ŝ�̷%�0�����}��Ɲ��<B�m��S�1-�iz�%"�_�v~Jzk�{�
+V��ol��n����#n�� �ႛ��D��ڡ���Pu���2���Z-=S�C�U�o,>���=b��g�M�*mj��`b"��[E"��D�F�,TU�z���=
4_�3Cɨ��=����[N�p
����R�盻qq�H
E�W��T���T��<JƱ�
R��gY2k�����)l�/5��U
*���ʬ�3|�d�Ve
ʡ�����V�)w���gvb6��el֤���;�i���SH�k���8�S�u2��:,�T!��~�E^{
+�J\�X�w�v��RD�|ĊCgE�h��b��&�#T倨���!�0�b�M}pG<0�L�^L�5��@_�����E����adm���J�q�uS#�jb
�/7����#J�!m�Z#��TPK�>1bǥL��>"J@-����"�$b�݊��O�I\���m�� V�9P
6�B���k\��
+�/�b�8C�����y �(t�b��w*�Hu,�8��
R �H�yߨ�w����
n1��]�b�k;������]6II�RJ�IYQ MR6� ����zQ�{�C��.�4!�������5V��I���<<[���˄��K$����d|t��s
g?zB�f��-�.��W��/�Vg���	���GސA~��@9�
{��>�,꟒GBTž�<������
X�\��t�N�5;�e��6N���L��X� �����>�H �W��1������v4��0�U
+ /�'�
JW%�
+endstream
+endobj
+10481 0 obj <<
+/Type /Page
+/Contents 10482 0 R
+/Resources 10480 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10371 0 R 10372 0 R 10373 0 R 10374 0 R 10375 0 R 10485 0 R 10376 0 R 10401 0 R 10402 0 R 10403 0 R 10404 0 R 10405 0 R 10406 0 R 10407 0 R 10408 0 R 10487 0 R 10409 0 R 10410 0 R 10411 0 R 10412 0 R 10413 0 R 10414 0 R 10415 0 R 10416 0 R 10417 0 R 10418 0 R 10419 0 R 10420 0 R 10421 0 R 10422 0 R 10423 0 R 10424 0 R 10425 0 R 10490 0 R 10426 0 R 10427 0 R 10428 0 R 10429 0 R 10430 0 R 10431 0 R 10432 0 R 10433 0 R 10434 0 R 10435 0 R 10436 0 R 10437 0 R 10438 0 R 10439 0 R 10 [...]
+>> endobj
+10371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 694.706 178.976 705.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.735 694.706 217.703 705.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aeca84d3bda389453f22a494ab9923088) >>
+>> endobj
+10373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.563 694.706 322.812 705.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.054 694.706 402.812 705.61]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.508 694.706 513.996 705.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 682.751 177.322 693.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 667.831 452.208 677.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af3146d81190eacbe889e3d0949907271) >>
+>> endobj
+10401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 654.257 178.976 665.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.607 654.257 222.43 665.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a80ef003442edc6db8e77caa4de7f7ef1) >>
+>> endobj
+10403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.033 654.257 329.282 665.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.706 654.257 448.641 665.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.93 642.302 280.314 653.206]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.46 642.302 351.217 653.206]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.054 642.302 519.644 653.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.317 627.382 513.996 637.287]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 616.423 201.717 626.328]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 602.849 178.976 613.753]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 602.849 221.297 613.753]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a538c16dacec86f66e9520c728a7c5f35) >>
+>> endobj
+10411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.112 602.849 286.87 613.753]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 587.929 349.876 597.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77fd92da113b8b277b8626ce74bde0ad) >>
+>> endobj
+10413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 574.355 178.976 585.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 574.355 221.297 585.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a4be36a9309c5ecfa863e326c44296391) >>
+>> endobj
+10415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.634 574.355 325.883 585.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.537 574.355 405.295 585.259]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 559.435 456.547 569.341]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8950f38d19f1b721d66b756b0ae10cb3) >>
+>> endobj
+10418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 545.861 178.976 556.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.286 545.861 223.793 556.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a622b8ffad2bd654696c12d7d07ba51c6) >>
+>> endobj
+10420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.754 545.861 330.004 556.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.107 545.861 449.041 556.765]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.93 533.906 280.314 544.81]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.46 533.906 351.217 544.81]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.054 533.906 519.644 544.81]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) >>
+>> endobj
+10425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.317 518.986 513.996 528.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 508.027 201.717 517.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 494.453 178.976 505.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 494.453 222.98 505.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aca47a151389a78c2474186b9628ab5cc) >>
+>> endobj
+10428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.796 494.453 288.554 505.357]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 479.533 350.521 489.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad582c312a54b52e80b7fa8b836de9450) >>
+>> endobj
+10430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 465.959 178.976 476.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 465.959 222.98 476.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) >>
+>> endobj
+10432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.318 465.959 327.567 476.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.221 465.959 406.978 476.863]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.393 451.039 457.193 460.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a2d4aa4b95cb53d23b232457b212e82e4) >>
+>> endobj
+10435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 437.465 180.54 448.369]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) >>
+>> endobj
+10436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 437.465 272.942 448.369]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.676 437.465 379.741 448.369]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 408.971 178.239 419.875]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) >>
+>> endobj
+10439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 408.971 270.641 419.875]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.374 408.971 377.44 419.875]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 380.477 226.034 391.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce) >>
+>> endobj
+10442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 380.477 411.457 391.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) >>
+>> endobj
+10443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 351.984 180.54 362.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) >>
+>> endobj
+10444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 351.984 272.942 362.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.676 351.984 379.741 362.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 338.733 178.239 349.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) >>
+>> endobj
+10447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 338.733 270.641 349.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.374 338.733 377.44 349.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.482 178.976 336.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 325.482 217.441 336.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a82f262d4a5b57ea92ef25f5f49006ffe) >>
+>> endobj
+10451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.778 325.482 322.028 336.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.681 325.482 401.439 336.386]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 312.231 178.976 323.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.34 312.231 221.162 323.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9188a38b44fd9b356f73459148e5f57e) >>
+>> endobj
+10455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.231 312.231 325.481 323.135]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.637 312.231 513.996 323.135]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 300.65 159.618 311.18]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 287.026 178.976 297.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 287.026 221.297 297.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a538c16dacec86f66e9520c728a7c5f35) >>
+>> endobj
+10459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.112 287.026 286.87 297.929]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 273.775 178.976 284.679]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 273.775 221.297 284.679]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a4be36a9309c5ecfa863e326c44296391) >>
+>> endobj
+10462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.634 273.775 325.883 284.679]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.537 273.775 405.295 284.679]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 260.524 178.976 271.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.085 260.524 222.591 271.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ac1e87cdf51be31f4c9c43c4c86bccb66) >>
+>> endobj
+10466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.149 260.524 326.399 271.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.637 260.524 513.996 271.428]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 248.943 159.618 259.473]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.318 178.976 246.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 235.318 222.98 246.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aca47a151389a78c2474186b9628ab5cc) >>
+>> endobj
+10470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.796 235.318 288.554 246.222]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 222.068 178.976 232.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.474 222.068 222.98 232.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) >>
+>> endobj
+10473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.318 222.068 327.567 232.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.221 222.068 406.978 232.971]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 208.817 156.281 219.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aeed6163372d663031201f5b4c77b9d5c) >>
+>> endobj
+10476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 208.817 225.162 219.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.374 208.817 308.439 219.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 133.841 242.885 144.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10483 0 obj <<
+/D [10481 0 R /XYZ 89 770.89 null]
+>> endobj
+10484 0 obj <<
+/D [10481 0 R /XYZ 90 712.265 null]
+>> endobj
+10486 0 obj <<
+/D [10481 0 R /XYZ 90 671.816 null]
+>> endobj
+10488 0 obj <<
+/D [10481 0 R /XYZ 90 591.914 null]
+>> endobj
+10489 0 obj <<
+/D [10481 0 R /XYZ 90 563.42 null]
+>> endobj
+10491 0 obj <<
+/D [10481 0 R /XYZ 90 483.518 null]
+>> endobj
+10494 0 obj <<
+/D [10481 0 R /XYZ 90 194.569 null]
+>> endobj
+10480 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F101 862 0 R /F8 794 0 R /F7 795 0 R /F10 765 0 R /F13 834 0 R /F6 861 0 R /F9 879 0 R /F12 939 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10531 0 obj <<
+/Length 2629      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[�۶~�_��J��B��}҇���4u�x�>�99\���D�$�����
 � i���G$p0�ˇo@��&���o//���H��$�����X���*z7����1IF�J�-��ݿ�\�zs��.^]^|�`�E#fH�f�r{��W���Lj���V�F1p�Do/�}A�.��)��N�&$Y�2F3
+��\���עw
I�,�/�����\���˪�AϿg�9�""K���̐���T�}�7 2�f賓��(!*�P9Id�D1��4�s3
+�T����<ZP���+=�
S��D�2I@���g���|���JiJ�Ԫ��ʻ�H��nֵ�^�,Ig/�K�_^V�"ƕ2����++���F����
�Q��!�Ђ�s��Yd)h��!�d<
��
�	�dql��̸ԑ'H�M�0k�K�>7�� ��(m��
���H$
��n�ES���\�v��d$NY?�lM�t��ܬ�mQ�e]���z����ͫ�3sw]7��k�1�f�7��芦}�:&��ne�����ɰ<X^
+��'�7�r��lAc)găJ��[����P�܅��g�Ib�����nA8�f]m�Ws&g�r�2����m��|�͊�h�Ԉ���:EB &�`zJ����*_�Q&�u����i���f�A?jS��j�)*���{���v��}Y�Xik+lY7M���j5�]�eg�Fd�w
�q�C��ؔUp�����, 
bC���QH���
��n�BAZfd#JJG=g��*���N��

s��i��#�.o�}�p��a&�����z��[7�b�:�u}[�k`$���y�[�
�aaP�.�[�8y��i�@����4,��E��BH1����H߷Zk����k��a�¡�]���`��+|/�g�z[�K�
'J�̼B�͈%���Ug�!������lL[/�-��
澼��X��q�Y<�ߺ�L���X޷=½�@�6���Va���"�����*@�
&Y��'6��.��p�eY�*p���췶ּ��bp�18�`���X��mm7��@�I"�׮J���� [...]
+��
�	����� �
+��5B�G�,���^֭��÷2��=��2�st��]>�[�vY�^����fS�Z�&��E������蒷-h��E���2��7H�=BpB@ 2�i�Vٰ�އ9G2@<&ġ
�e��OG�
�7�?G,�V���}qdw��G��0
+ �v�M8����ʋ;��H��a �ih�=eg
��C�0�L2�\ʬpp�Zye��p
�XJ�-��<��ze;{��o�cB��۲[��)
u0@�ڊ�I��cv��O
މI$N��29C?�)���
g��u�F�8Xˡ��>�hd
.��"��fS57���0�T�c7�_#�y=촓��scb��7�Î�؝#B��wF��&���i�Ɋ	&��������@z6κ)o�3J�
3����ae��I��2�[7w�
+��e����t����v�9bP�H
A*z=��uG
�k
��w�3&(���	4�E3မ`.TY�a�
f���o�ņnǽ�M?4|D�����?i��(q�I�L
+�Id樉�ݦ_�-&1��-�+�3�e2����$}x��X�D$��'�o.���;�f���0I�U�r8Y��
)"���
w��u��5z|�OC���0�U@^�R��u��<V2@ȸ=�p5�;��/�T���B����@�M�}�wʼn��M�;�vۅ�km���I�
0�
[�����s[���t-�8�u
<N�b�&�~�)�Ԁ����T����q��w���R�FP�_��}��#[HF���!�\��O&��
��C!L��4n��ሞ
��ZSIb:���B3��3��zc��`=\f at +�G���s��I�O}�!������Y��9�Y���U
��g?��
��nl�y\OLgV��Al�A=��=�ll�Q
b��'�A_�<���{&$LH|ݺnHﱲ;�e�%�P�9��BL�)�d��=�eع�C<E
�) 1�� ����b)�T)���N��� Ʃx$2�ί&�8���i�H�D���n9a�����
��V�d�{��|�-c�#4~b��鋃ї�{�9��`Ӭ���r���Kw���};$�C%��Чp�]�,NH,�9xz�%RJc�%o�m�ɛ��
Xّ�Î<��>�L�=
�
�e:
O�D?��	Gr¦(a����
���@Lif���0[�7h��1�3�	��n�2&SO�4�Q�q��A��B�NQ�
!�m��r���T�L��Æ<��Y��	�|x�j±���u��|�!�-V����{2�%���Ǵ���K�6�Ŏ
+�}s�
!���Hx�
������?k%��P��g-��8%R�y} FKY����{�ٿc�����j6�[���(��
����!�e�Ԓ~R������ڢ������?�j��k�6�ƿ�0B���,o���������?
�9� �H9P�u��^<~��i��,�g��b��n�o��̶n�� h����>q�����s
+endstream
+endobj
+10530 0 obj <<
+/Type /Page
+/Contents 10531 0 R
+/Resources 10529 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10504 0 R 10505 0 R 10506 0 R 10507 0 R 10508 0 R 10509 0 R 10510 0 R 10511 0 R 10512 0 R 10513 0 R 10514 0 R 10515 0 R 10516 0 R 10517 0 R 10518 0 R 10519 0 R 10520 0 R 10521 0 R 10528 0 R ]
+>> endobj
+10504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 445.767 175.659 453.293]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 445.767 234.239 453.293]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af3146d81190eacbe889e3d0949907271) >>
+>> endobj
+10506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 407.022 175.659 414.548]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 407.022 234.239 414.548]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af3146d81190eacbe889e3d0949907271) >>
+>> endobj
+10508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 333.375 175.659 340.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 333.375 234.239 340.902]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 282.676 175.659 290.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 282.676 238.423 290.202]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 243.931 175.659 251.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 243.931 234.239 251.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 182.24 175.659 189.766]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 182.24 238.423 189.766]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 143.495 175.659 151.022]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 143.495 238.423 151.022]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 104.751 175.659 112.277]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.693 104.751 263.529 112.277]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 96.781 175.659 104.307]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.431 96.781 280.266 104.307]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10532 0 obj <<
+/D [10530 0 R /XYZ 89 770.89 null]
+>> endobj
+10529 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F101 862 0 R /F8 794 0 R /F10 765 0 R /F6 861 0 R /F11 613 0 R /F9 879 0 R /F12 939 0 R /F7 795 0 R /F90 758 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R /F32 764 0 R /F98 863 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10550 0 obj <<
+/Length 3078      
+/Filter /FlateDecode
+>>
+stream
+x��[�s���/���_ҙ$M�I��5������(��ԑ���N���b����Ng�Ť��X��
������x{���X)K#o�Aʃ8L����"�q"8�j:��ɛ����d7o��O���]������:���_����u^�u����Lj>�r�5
�~�/�z*�I^�sS�XM�ӟ�~{��۫wW�� .4��`����g
,��ۀ3�&��!��T�\?\����
�8\���~����Jp�BD�'2��`BвV�
�!�g���UQʩ��8��Үp�mU����&?q�96B�,i0LJb��C�D������W�����m�LD1��K�d��;���ɲZ���ԓ��\aS4���V�c]�yC�Ւ����v��vwԶ��\��}G�G��\?P.��hŦ�.C�y���l��
bQl�)�������
x�Ť�69�jV
+�ޭ��K��%r"�a��6�1P
+IJ�)�U�(�'���1i(	
O�!
#ش
�H��7�
G$!Ǔ&�W��Y��۽��O��|خ�b���&Kcu�9�Q�� ��n����j2�t�����r�Cyӊuo5JqǡJ���V�\�
+�h����6YJ�7�T[�*[3O��m&L�x�b2��3M~�i�]_��݀6�Y*��V<��3b-��ı�g�>�~��w��Y��Y�3��(��s 2f
|�Lr&"��_}�6�5ڪL&��.
h�HX�S3
+W}'X� Ӿn	.z�u’�����%�
�4�|^�	�
��(i�qE��B;{�r"�g���n*z����[R��TL2����xB��s�:�8*xN�bJN������n,�4χmk�0
�eF��*g��|�
���d�zoI�.�G��|����b�{���G ?��_��%��1�#ElgX�����jT���3%��c
��lIR��)���(-�ôm�@�~B
+�`���~�z��{��޿��~�8VH%
��
VH���nI�}q7�Ta!��p��Fl��z�˭��7�P�Ӯ�c��j4�m胇	�
�B����
�z���kj��ž�
�
+o�
��H�UU/�2�卉<���k
ЙMQ6�
 ����
+ގ:+��=���Vt�@A�y�0���g�|��1P ��q>
.I��C,iҎq=
@�8j��G����p �D2q��S9������@��CS�ࡅ:oGv,����P4e�8Du&5�|�͛�L���/R⇇�8pȠ	��zkpG,��G{k�
�z&49쐂�ٴ�w׊�=���t�9��Y�GuvΚz�D�&
���u��
=/���CkA�:>������:A�<���s��^�����d���-:]��A5���
r�Ր3��e(������=I�8�d(�b��)�0��5fx!��.��^
�yɤp"��X�P\3�[��n�R&c�
J
��c�
Q{7�9���9�s�snQw�)� &����

��
�>�c��?n��X
u�C�.]�cq���U]���]��<�:T5�2}������^��˽�	��
a���9di袤�=Iq�נ��t�frҡRh1��
*��<��!S$�6v�!
��}<
+Tx9z<zҗ��8
O����h�<@394�S�����fr'^��ʁx�G�M}h���C���|��p��&�E���=[ܨK��d�,r<��,v�,�'@"�
%�OQ�J�����{[|�\�=�Ζ��"#�Mgx�4�1��Ԫ�����u��e%P��j�Џ��tꉈ>>�I�6�99�īnyŷ��Y
+�]�{�js`z�-60���Θ�D�U�1� ��&Ů�9�
��=���Z���=l]=���ptP�tUŶ�'M.�/�:�y����⡻rb^V
��?c�=�ƭ� �V�
�)H���SC�/��G?�i?n�kb��ڎl�	��|�7�(��w���tk;�@�Db���*�w�G���!z���T1�ڰ�c�y�F��i�����1�:8&��=�4��B�,��Ye�
n�;�ʆ!O��@��S��J���O[!��#�G�
��1s(�7��! ko6[t�G�A�!��
A�NT
�$�!�8���1�>z����K�� k���M$+ō��GB��i
�VrdbD��]�tc�'�<�a�	ї�HxRE ��=/
a%�X��rJ]��T2�
eX�p͢�ݼO(S�!\o,p�x��_�g9�=(FyR"�|ᦱ
�ПJ�7�om��e�]d����0��YJȐq��ݯ$��S-��ċ��F=Y	V4T�uД#��
+�u���9������O
rg�� |����{mB���BLYX\����x�,�������+�:־���7_}��p
�5��P��
�q�������\�e7���/\�c��
��i;vw �|6��?�b�mw*g�&����䳖�^��t��d0���~���O�'�� 
�Y]d�r���Θ4
RqѨ�1N\�H#�.?�f�J>=��_�;�(�axk$���'�ƛ���EV!�Y�l`��y�	���@�
G�K��f���ee'Ȧ�Rσ���i�1�w�b�
���9��+�
�h��.����+�|�!�e�S�^[$�ȯy�"S�b��7+
�[�ӕ���ʾ��eEy�
Ts��]�
/��v<Rm��2�S���~>������
�K���P����@G���;ÞqȦӏX�
�8���K(}d�	
�.L�IS�������
�����	؋d�����XR�����x%ƞkJ��Ҋy~^f��ƻያ@b��7�Ԧe���t�TV��J��
+C�|����%��WK���9�4:aKb���v�r��p�U�f&|S��1�cB��]�}��Yv�JX�}����Ie��b
]bF/A��՜��E���/�G��T�^d7��aU	�*
+����&�2L���w��&��u��_�rOeJBl�rٴ��`F�!wq���%po!�ֱ�wԵn�?w��������������'��u��r)��afS�]�.��� 'Gͅ�lV �w�=����8���|t
m��o6*�S��W࿴k��
+endstream
+endobj
+10549 0 obj <<
+/Type /Page
+/Contents 10550 0 R
+/Resources 10548 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10522 0 R 10523 0 R 10524 0 R 10525 0 R 10526 0 R 10527 0 R 10533 0 R 10534 0 R 10535 0 R 10536 0 R 10537 0 R 10538 0 R 10539 0 R 10540 0 R 10541 0 R 10542 0 R 10543 0 R 10544 0 R 10545 0 R 10546 0 R 10547 0 R ]
+>> endobj
+10522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 709.04 175.659 716.566]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.693 709.04 263.529 716.566]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 654.62 175.659 662.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.693 654.62 326.294 662.146]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
+>> endobj
+10526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 638.68 175.659 646.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.431 638.68 280.266 646.206]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 573.268 175.659 580.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 573.268 238.423 580.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 530.803 175.659 538.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 530.803 242.607 538.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 439.09 175.659 446.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 439.09 234.239 446.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 396.625 175.659 404.152]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 396.625 234.239 404.152]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.376 223.586 204.949 231.112]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.454 207.645 184.027 215.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.141 207.645 246.792 215.172]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 145.255 175.659 152.781]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) >>
+>> endobj
+10545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.772 145.255 242.607 152.781]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21) >>
+>> endobj
+10546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 106.775 213.317 114.302]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) >>
+>> endobj
+10547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10551 0 obj <<
+/D [10549 0 R /XYZ 89 770.89 null]
+>> endobj
+10548 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F60 532 0 R /F98 863 0 R /F24 529 0 R /F32 764 0 R /F7 795 0 R /F90 758 0 R /F101 862 0 R /F8 794 0 R /F11 613 0 R /F10 765 0 R /F13 834 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10561 0 obj <<
+/Length 2385      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�8}�W�iF��`�	�v�j&�d3��'�>eR.F�e�J�����|�6.���h��V�Jt7���h����/���W1�4Ғ�hvi
�\#!��"�<b����~��T�h	�l���gW�g�̻���ş^�8�*��/>����0bZE�m�u�)��U����
�m��
+�h��e +��D���`$��	��ޥ�i9�P�F�1W��M�Ho]ï��~��d����_'4M(G��@"^ɮ���6e��VP�%���`��#(�J׮؟4%
qA��X���#[�=JA�8�R�Q�;J�&۝Qz�
+V��K��������H�A��:
y�a�4�g� � ��c�ƨ@��E)U���7�]�.z�F5�Zu�d��:���4)o���D�v�*�$���'�?�H�0B*�@Ni!܀�1���\'7�c�G���.]�����k�����2[ܼN�LvE9��T���+�vτs��
��7Y}��rK��rOe��/�t�~}}���R/�,Z������퐎����>$0��\���b�\�)�MvNæ,��o%[ײ.��]q�Xa�E^�s���,����=
� ��R'� ��P�6H�

������t�w(d5�NvO`�>�)�"�䀚�cn�{0����P����0��D�iǻ�4� 
��@�q$���|�t�mxT(��
,f����WC�
�1�<xh^��}'�-��=� �PG~h��k��$�Hu��ǟ�]ͮ>��g'��I���R��#�y�2o؇7�g���������Y�;"�&B I��>��
�⥁��~�B���.
������B�)n�k_#B#&u�9A*���؈���NaDɘV��(�󘐑K�
B�a���
&P,&qh�Ð�ȞÑ
�ɳ� �D�&���� F�	jz��W�P6��xµ�T�`H`Q�J�}܍9����ی1U��
��1զ
f� � �e!���̾
O+b7�C��r�^�W����B��&G-
�5�tL����m�t��[�d�
߳��	�K����p
�bW��,��25��FT
���q��^X�=
'���
�s�%��8q*�L8'�a�lj���q�
x���oBJx�x'b|
+NH�Np��ċޒ�3��A`��Ni�����®d�MNx��M2�+�i�0��`b��:/�G�aV��qmf�_�FX�G�fK�|�l�IY���9���
߳�
<q��M:�����*˼rN����
0b遑�0�`�VX`��0Bˮ���`��c(
Ǔ�r��=ԫ�|���)���&m[#`�_9�S2��V�u�
�)h��z��E6+�Dr~�ki��` �\
�L�bCΟ� �%�umЂ�e�z�����s�"%��z�攇W��ム>��#	�
����R��(mʬO�g�J��A;5���V�۹��)V�����>��n���"�M�W���_Q��c����.���1p�`!O�hϺ�
Z�T�s'���t�ܱx�j�n{������
�
+�ܢ8�:���c�v� �����{(-D��=���P=w����H�'��L�őO�P,�o�iƵD�v��P�y!eݶ�8,sH33b���y��b:��1l�ߒ� ��,
-�����A1G
+��3�l
�3U�8�D<4U�z x,���,,��v�I"s�nN���m}
+����'��{J6�F@`p�yI7y�2[fy���KGv�u�ny^�\���9�, �
_z���ϑ�� �	�+z����b�8�8j���\T���\<�\qF�a�aW��
ɮ0�g�@��]�&��Us�<�RU����e�V�鄇���j
(
�I	�z�2o:�+�?�>t2��y�����&����/z�L���_�)�Y�E��K{�B$l��Y�P
�sङ'�2�v��^��v��1��Z&��2�
ǣ�L�y�� /Ƶ���w�$$ a���)�ga%g�=y]C�_�'�ju,�f���rr
�n�DZ��Hy4)Hr�����[l�=J4pq���U3�,�?M�G7��
;r���]��#$���_
+��o%�~��t�@f�=��Ph�&u���5`R��P6*li��#"J��D���[�
j��dd��Ϳq�3�k�fHa��O�U�o�"��oq��7��2M��A���8�r
��ٟ����I#�1���Xv�N�Ŕ�(���?]�r�����֟@�01�Ƽl?ۗ��p�f͢_
ֈ���I#���@ܥ��>��@�}������_۴�����0~���ɪ��r^)�u��'�˜Oi��g׿k��ya�e�Y Q���n��^^~�_BB-ѼX��O3X���Tַ�_��P�C�������TeV
+endstream
+endobj
+10560 0 obj <<
+/Type /Page
+/Contents 10561 0 R
+/Resources 10559 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10552 0 R 10553 0 R 10554 0 R 10555 0 R 10556 0 R 10557 0 R 10558 0 R ]
+>> endobj
+10552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.448 649.545 237.536 660.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a875a737ccb94634bd7f5fd577d7d9657) >>
+>> endobj
+10553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.47 649.545 515.72 660.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+10554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.892 404.457 300.957 415.36]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.152 348.286 391.217 359.19]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 105.091 422.655 115.995]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 105.091 511.506 115.995]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10562 0 obj <<
+/D [10560 0 R /XYZ 89 770.89 null]
+>> endobj
+10563 0 obj <<
+/D [10560 0 R /XYZ 90 721.073 null]
+>> endobj
+10251 0 obj <<
+/D [10560 0 R /XYZ 90 702.288 null]
+>> endobj
+10564 0 obj <<
+/D [10560 0 R /XYZ 90 702.288 null]
+>> endobj
+10565 0 obj <<
+/D [10560 0 R /XYZ 90 635.971 null]
+>> endobj
+10247 0 obj <<
+/D [10560 0 R /XYZ 90 613.595 null]
+>> endobj
+10566 0 obj <<
+/D [10560 0 R /XYZ 90 613.595 null]
+>> endobj
+10248 0 obj <<
+/D [10560 0 R /XYZ 107.713 530.097 null]
+>> endobj
+10249 0 obj <<
+/D [10560 0 R /XYZ 107.713 514.156 null]
+>> endobj
+10250 0 obj <<
+/D [10560 0 R /XYZ 107.713 498.216 null]
+>> endobj
+10567 0 obj <<
+/D [10560 0 R /XYZ 90 481.489 null]
+>> endobj
+10253 0 obj <<
+/D [10560 0 R /XYZ 90 459.112 null]
+>> endobj
+10568 0 obj <<
+/D [10560 0 R /XYZ 90 459.112 null]
+>> endobj
+10254 0 obj <<
+/D [10560 0 R /XYZ 459.302 407.61 null]
+>> endobj
+10569 0 obj <<
+/D [10560 0 R /XYZ 90 400.97 null]
+>> endobj
+10570 0 obj <<
+/D [10560 0 R /XYZ 90 322.757 null]
+>> endobj
+10396 0 obj <<
+/D [10560 0 R /XYZ 90 300.381 null]
+>> endobj
+10571 0 obj <<
+/D [10560 0 R /XYZ 90 300.381 null]
+>> endobj
+10572 0 obj <<
+/D [10560 0 R /XYZ 90 229.704 null]
+>> endobj
+10397 0 obj <<
+/D [10560 0 R /XYZ 90 193.994 null]
+>> endobj
+10573 0 obj <<
+/D [10560 0 R /XYZ 90 189.511 null]
+>> endobj
+10559 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F60 532 0 R /F112 1773 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10580 0 obj <<
+/Length 2884      
+/Filter /FlateDecode
+>>
+stream
+x��[mo�8��_�Ow2�f��b�>�������mv�t�@��D8�Je%m��ߐ�dQ�_3���(�p�
>�̌���'�~��z�O����2�^&'�$$��H>�#�&S�1N�ON�j�ݼ�P�����|Qe7��UV=�f�bq�.��UV��dJNZeۭ���/�jBt�o�9�$L��16�|�����/W��	�Z�t2__}���<�9���|u��	�
����կW�1��"*쭽4f�̝�� �y�C
o��o���.���)�'ro
+?��`Oy,����n���=��-ci8��8&Fd��%p%C����H��pDa�!U�,{R���}��0�b<󛳭�Y��p�>e+p���0��=��M����~P�a�YTC�
p :��1��T�,�}7�� �C��rBE�u�M����)��8ELZ]�+
?"��w����3�Jt|�3 ��8��V$Q<꡸H�q���%0�CB$P���:��y�9}��a.۵`�
̣(��K at V�0v���>')"���m:��m�B#�B��OL��z\���[qC�	�,��Ǒ�T�M,�׀	

&�����P�n�f��Q8H��s���?��ٔJ����L��
BR=�hS�9�'�� 6��ɳ���k�[i#~�AAjZ���A�
+@��nDl�p��El5��Qf�?}�/G� �2�[�r�!c*5�6#�K"-�?��� �yц�p7!�b
+�) r}�v�c

pc����UV��٬�������D�^r$��ʗ���[#��<
����
�2�0H�i��ޔ�|dk�@Z��l��X���ֽ`��|<*�
��AKI�
wa at a��ȗ�㪾�3�O,?8�}3ɘ�Dig�'@>dsŧ�B|��otkz�Xm��^���������5���|�3�!��H�@Fu
�Hl�D�P�QH��~,���� aN�Hv��bl�%�X
�FĨNHe׏��t�?[��(<�{�����̤_�	�����E\:n�<Y֖�
�6}�'��k���wW�'7��=h,�G�s�
+m
=,ӞD;}pH�G+�
+�=�
��C>�
+�iBD���'R�(̈�48	S�
l�0����ά ��fV� �eV�Ñ�4ff�yIf%8l��V1-mS���/L�K�Or����a�������'s+�5bb�[�&�z�YPYXF"Ա��(�
��4!�%
�h�H ��I� jY�A`�0�pFVD�3.���R��*�m>�c�ٔ4��K��L�}�<
�
+��;N�z˄�] �.yr^��}�(�ԁ�x��M��0ʹ!i��ex�Q���0"�FB���a��%FJ3'˾��;�f!/�!�yl�ج��
g��%��f��c^�l��8-���{j2�j�~��-�:�r[l�Ơ`�,��襙���?,d��}�
� @nz5�z<�������[�5KDwivC�Q,j�
����P�`�mYZ.��q����ȁ1}!~�X+�h�
�	���*P
+��+P�,�HrEH��P�
~V��������l�A
[ܒd��!
�>��XϬ����i�zwl
+[�Xa�S
&'�O��ˊ�v�oo>��X�����Z�;mO��es=�nG�Ahǻs��L��cH)�ۇv�
h5P��VL��Wa�|1 ��eU�����
+̢��@A�r���ڗ���R� g�/g�Z�C}J�Wܿ�p�o�}qw�o�S‹�X�@�+�?e������۹n�����u���mu鮭�`�B��4#E�V��
+
2�| (�����W�h��U�����r�H�"�;���1?4uo�)�׭�x�m�l*M��̿��E�t�6����CV�Ū����f�<\��A�#�fXѶ#|N��ҭ�h�����ԧ2�0nK���<A������<�
+C�' D�*��'h��� y��2T��'�˱LrJ�H

g��3�
�3��{<�� ����H� Ѯ~ݏf��yݯ\?M4
��Oî�>�k�0�vEұ�6$���B
+ �"
�?:g�G<�}
��ꎒoF+2�tQ���lH�� �o>,�6\؃k?ڹ�/sMު�لф�B;�#������d}�0,wH
��y�g�<���a��9����5��B[dኤߑ�@��l�����>Ѡ#J̰���Ņ�	�\
�܊���ՠ�T96az�&[#	f�s�5�h��W�e]�m��P�3B�����jl �b��9 �1�C0���[�
a��5��
 v }�89��
@x�� 
��0��/�iS �� ;�x

S� =��8�t�83�
QF�!]XDߌ�k|��t��~79?��EA����W�J��0�h�
+2]/�Žfb��z"/�e&"�f�zY1-m{YS_��
+,
zY��^\IK
+��f�ے�7�|��Nh%�S�� �Chz,�Ϋv¬Q�l��_
�6z]�j
��J���%[�+�D�S�������!,����'�tDAp
p7�}�͊����n}mΤnfo�[�sc�8s��b�b��*��L�&E
,q����58��Q!�h`l���hۢx*��`W|��0��'xv�>9G߸�Ţ8wm�3H��Z�(أO�i����ѧz1�!)8���|��TGE��"
�1`�"Ҟ��KX�*@h4��̖�v�����<��Npt¯w��x�Zy�/��/^ك�n��2��DdFڧ��Ѡ�Zٹ���u
;!y�B�r�?�Y�	����o~���_m�٤�dO@�� �y�v0�܇�M��c�v3���Mڻ_9�٩B�G�����u�0{����n�o�м\�
���{]�e]VmCf��c�F�Ν0A�vVU�!�X{L��v¿޽�c�b��Ϳ�,�G	
��`��7o��
+endstream
+endobj
+10579 0 obj <<
+/Type /Page
+/Contents 10580 0 R
+/Resources 10578 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10574 0 R 10575 0 R 10576 0 R 10577 0 R ]
+>> endobj
+10574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.086 595.109 422.655 606.013]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+10575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.486 595.109 511.506 606.013]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+10576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.907 367.764 435.73 378.668]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+10577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10581 0 obj <<
+/D [10579 0 R /XYZ 89 770.89 null]
+>> endobj
+10582 0 obj <<
+/D [10579 0 R /XYZ 90 718.682 null]
+>> endobj
+10398 0 obj <<
+/D [10579 0 R /XYZ 90 684.012 null]
+>> endobj
+10583 0 obj <<
+/D [10579 0 R /XYZ 90 679.529 null]
+>> endobj
+10584 0 obj <<
+/D [10579 0 R /XYZ 90 565.131 null]
+>> endobj
+10312 0 obj <<
+/D [10579 0 R /XYZ 90 530.461 null]
+>> endobj
+10585 0 obj <<
+/D [10579 0 R /XYZ 90 525.978 null]
+>> endobj
+10313 0 obj <<
+/D [10579 0 R /XYZ 389.246 474.291 null]
+>> endobj
+10586 0 obj <<
+/D [10579 0 R /XYZ 90 467.651 null]
+>> endobj
+10314 0 obj <<
+/D [10579 0 R /XYZ 462.17 370.917 null]
+>> endobj
+10587 0 obj <<
+/D [10579 0 R /XYZ 90 364.277 null]
+>> endobj
+10315 0 obj <<
+/D [10579 0 R /XYZ 158.014 302.791 null]
+>> endobj
+10588 0 obj <<
+/D [10579 0 R /XYZ 90 296.151 null]
+>> endobj
+10589 0 obj <<
+/D [10579 0 R /XYZ 90 227.448 null]
+>> endobj
+10316 0 obj <<
+/D [10579 0 R /XYZ 90 192.778 null]
+>> endobj
+10590 0 obj <<
+/D [10579 0 R /XYZ 90 188.294 null]
+>> endobj
+10591 0 obj <<
+/D [10579 0 R /XYZ 90 117.434 null]
+>> endobj
+10317 0 obj <<
+/D [10579 0 R /XYZ 90 81.969 null]
+>> endobj
+10592 0 obj <<
+/D [10579 0 R /XYZ 90 77.486 null]
+>> endobj
+10578 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10599 0 obj <<
+/Length 2603      
+/Filter /FlateDecode
+>>
+stream
+xڵZY��H~�_��
���uS(�ev|�
;�{�</-J-b%!j���7� �-�,�"GfVf֗�U��}����
6�p�����W	�R�J*��E��(�)�����1>�p�[ĤB$����_޾�����w�����
�[8"N�@�����p����@1KU��>��8ep\E�n�u�ˬE #��D��L0
	�N�c
ߕ�j2�
�o&��Y�Ύ�"�B)�rNOYFQ��ζck�"H�i`қ	�1XAH�u��j� J	�Pʑ*0��ʪ�T�_g��U��D��p&2����*k�j6+�c�a��(`�!���Ӯx�g+�i�'
b&GўH�T��)M���o,�d�%��妶v�&'�c��!�����ひ�"L��pO�
<b&%o��: #E�u�,$v6O�K$��0�Tw������䡬)�3
M)E+��[��M�G+�H!�:�j��C�L*�%�}�X�+��M�N���;�[�m��
���a6`��v�eQ�5è?�C �I�sv E!S�Rig�I�	��q)j�߷���

+I0R\�$a��̪�[�lBq�Pl���

r����l�ۻk��
��wlkԦl
��
`��U��@b2�!(sv���"�$���%T�ԊbD^���'
�JSD�
+Mx.�H�dE
+N�3G	
C;	�� �+[
h)�\��VR$��ZD��󈬒S��r	"A� 2��4"3;�>"
��Y>��I8�F�c�5J��[x�*r �b���_�t!ٛ0���!�h�c�֗��e��HY7��,�������ާ���7�{���c
�ؔ&�w1�Ϝ�;�;ą?�3_�*Gw�gӪ�?z�v������EY]To�
�G���% ڔq|��B2�4W��V���"�t�� \`�S ^a���	I`���0i� �JH6�~&t�=��y
�)
c��S��@e^<�Iw�{���6ԈA9��_J� ���b�>�ȇ�%��.�JQ
n��h��l�an0�d��+�Sf

�Wz1Ib���P�b���!,W��~�z�
�x�
+�;���@�
+Z��	u���#RuF�꟨�δ�I
+>�V�������\4Kw��'r��.���r1��sW=g�@�oLbZB�&n
����
�
{��t�ԍA�۬����,3���ݖŦ1aC0[R�(��ұ#��Y�ڹ�AéT�J�*6�s
��_�)�mp��z��n�Ҕ�f���S	!O{UҰK0��a�[5�v���r�6K�N���"��
w4��	I\ZT�ڝ�OW���+x�w��aNV;d�6�6x�ѹ�$ 
1-ڡ'[���4��8j���s�C��,W��[�
+7=*�P�Nn
+�,".%���3��@��3�8�c�`��	O�g��QLP��
L8��zh�
+ZA}A?����J��ϗDz�jrJ��Vqj�Thՙ��bI��nIs��\՜2&�N����ճ_W�������뇓eV���Y��=T	�,�
�9� OFgs��
Јrz
+�
mK��9�$�M	eKC�!�|D^~�k
�u(�#r�����qz2ո�7Q�����[&"i
+M
4V	9%G>sC���/Ҽw �^�ƅ����JG�)n�� ũ��,��+|��M>��	��٪�?�$����cΣ�f-���#�� <��P�
+��:1�p�Q��vY�f&~ޜX��1I�۪J����i�
+�"�I�G3ވħ	�ų�*�g�
��H&��L1�L=��=�L��e����m5!*ֵY���
q��8�x�WcP��DZkՕ���0�`�O�՘�2��(&�p��&<�W�2��&���Є�j�/�W�!���
�"l
+\K�꪿�UA��;AX���T ){��ϫ�C3�9�w�%���K�ڝ�r�Nf� o��|QW��
+��Yb��^3c�/]��(��eִg���
3w�s-���V?sK��Wނrk�̍Jw����Y;j�;���H�T����ٯ*�|���g���^en���m枱����.kꉾ�4q��
��*�u�Y;�?���C�-A�!^0�9]
��OC����V�k�ӗ��Z^��dߘ�φ4�D��c�h۳�
�s�߲vM�-��\�OO<&bP
�U�vͶ]���%D���
H� kWqm��s�u�����<�w��0�����~y6�1L��T��;�������싲
��l7a�C[k~y�uϹ���H�/��:Ë$�"��vs$bC;���o
��"��	�f�w-ou�

���H`���AK `�2���T0݄��TX�����{o'7�-`�(㢷�u�_ ���
�u��ؑ�^-�X2���:��쀎�ۍ(����]�>�[4E<U�#��Sj1��M-����u����/�Hj��x
�x$H����O�
+CGA���s{�}�_x��E/J�7yӽ���+p����,�g<�Kco���N�
��H{���l�k?=0t{�U�y�A�����ޓή�vf�~c3��
a����h�4����w�{�=����\ٿ�f��_��]�.�m��B	!�?��K�
+endstream
+endobj
+10598 0 obj <<
+/Type /Page
+/Contents 10599 0 R
+/Resources 10597 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10495 0 R
+/Annots [ 10593 0 R 10594 0 R 10595 0 R 10596 0 R ]
+>> endobj
+10593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.507 582.475 236.499 593.379]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) >>
+>> endobj
+10594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 125.188 329.2 136.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_a77fd92da113b8b277b8626ce74bde0ad) >>
+>> endobj
+10595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 80.973 330.884 91.877]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ad582c312a54b52e80b7fa8b836de9450) >>
+>> endobj
+10596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10600 0 obj <<
+/D [10598 0 R /XYZ 89 770.89 null]
+>> endobj
+10318 0 obj <<
+/D [10598 0 R /XYZ 351.108 659.423 null]
+>> endobj
+10601 0 obj <<
+/D [10598 0 R /XYZ 90 652.783 null]
+>> endobj
+10393 0 obj <<
+/D [10598 0 R /XYZ 462.877 585.628 null]
+>> endobj
+10602 0 obj <<
+/D [10598 0 R /XYZ 90 578.988 null]
+>> endobj
+10394 0 obj <<
+/D [10598 0 R /XYZ 220.39 487.924 null]
+>> endobj
+10603 0 obj <<
+/D [10598 0 R /XYZ 90 481.284 null]
+>> endobj
+10604 0 obj <<
+/D [10598 0 R /XYZ 90 412.58 null]
+>> endobj
+10395 0 obj <<
+/D [10598 0 R /XYZ 90 372.781 null]
+>> endobj
+10605 0 obj <<
+/D [10598 0 R /XYZ 90 368.298 null]
+>> endobj
+10606 0 obj <<
+/D [10598 0 R /XYZ 90 280.608 null]
+>> endobj
+10399 0 obj <<
+/D [10598 0 R /XYZ 90 256.319 null]
+>> endobj
+10607 0 obj <<
+/D [10598 0 R /XYZ 90 256.319 null]
+>> endobj
+10400 0 obj <<
+/D [10598 0 R /XYZ 90 214.615 null]
+>> endobj
+10608 0 obj <<
+/D [10598 0 R /XYZ 90 210.132 null]
+>> endobj
+10496 0 obj <<
+/D [10598 0 R /XYZ 90 170.4 null]
+>> endobj
+10609 0 obj <<
+/D [10598 0 R /XYZ 90 165.916 null]
+>> endobj
+10497 0 obj <<
+/D [10598 0 R /XYZ 90 126.185 null]
+>> endobj
+10610 0 obj <<
+/D [10598 0 R /XYZ 90 121.701 null]
+>> endobj
+10498 0 obj <<
+/D [10598 0 R /XYZ 90 81.969 null]
+>> endobj
+10611 0 obj <<
+/D [10598 0 R /XYZ 90 77.486 null]
+>> endobj
+10597 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10615 0 obj <<
+/Length 1968      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo����_�~i) Z���p���傻�Z7q?����(��$*$����%��H-%˒�
�(j9;;3�<3�ň��>���� �K������g����2���$$|��!�H��`���!�a�-�O�C��t�8��Y��]r�E��x�6K���ƫ8��4���Ꮛ(ϫ���,ΆD��j�L�
Ï7���
>h�Ri!���d9����)���gF�e�)��E�a�n-�\�h/�D�Ϊ�D�^�]�. at G��t])��u��w,�pą
'�*/��
�f�.U)EwlP�o��2Ƹ��F�v�hDd3��+�X
�
�S�r����fͬ�
a-� �
��m�)�n�m/�"�~,�����rW�	�4H� �U�����d��3c��f�"��ՠ�P*��
JfU�F�iu������?��2�8�#_#.u#��@�y�
�����E�*��E�CR��ػ5�@F5A�	[P��gD
A��v�m4�^4��4(���x��?.���!A�Ҍ��J�g at Bi���($(�З̏	Uc"/��q�Y
-A=�!,��4qA���������6���8|	���y�Pj ����!1ɞ�.�!���P��q
���쮱+b���#|*����9
+)
�)�)�� �Iz���M
i��xJ��6�\����ķYL
������|��o����C�Ο{L�m�:�A�o������R�e� %�����6M#�ߺP���������"YAE�t�!h��m;�$�w�`�}z�u]uby��+_Jf�m���oɛ����+_�S$E����nb���h&�КB�4�3/eH%�R%�<�1�T
 �
A�"�A&lV���h�*�w����
+�
LO�0$�me���A��Ý
+
+��aZ��1�g�cL'����B4)#�+(>a�g ��R�ي�J�R7J�|<n��(_�Ϝ9=e2kO�ų�
+�|��1-� ����

n'�����O���X�zȴ�h2
'{!f�1���A�Y�*���j�2�F�Ϡ
+;��?��F��a�X�`�XFv2��m��g�"�(�(H!�i�_�f49^�(�H��}n� �2�J�V��&��g\5��z�JhD5{��c���H�Cp�
^�?�_�׬(��I�v��
�����kxM\���0*��b�C�?�v��
 �0	��d
����[-/ɤ/�A�����'Ry!"�Oh�Ge�"L�β��q�mgY�HC���Tt���$�G��i
����}�AJ<��1���R�{��eHy�&�
+Z����!Z���d/���kOz�y}�m�:��֦
�~��w���)*��*�l����3a�bX@ �@!RK��Ԉm�Z Z���Ǎ��m\�}yO�P�AV��=+�ؕ�W� �����0]�@��x0�E���FB1�Q�:y0
�>}�� �$��`�>ɖ;{$�xm���S�̌�����
hi�A��
+ 	_{�lD
�����}��n`5���ͭ���]+�[���j�e_M
n��a���"��n>T_ڹ'G'`
CR�3H����Eܖ�_Ѱrk&
Mw�Am����`�v(�5�L��.�s�e
+E� m=@�xH�y50_Ǔ��q-"O�WO
+v��N�=k½t��f�}��v�65��=��O<)^Uv��z�u
�b����j��4ɋdu�I�yt���:�ҥ{���LZ}+�)
�C}-:�.2��V�mE1wzL���
��H���*H�p��k�.i[���5�"
�b" qh4 -%iU�D�h��
	�������B7�{�IRH��g�� �	
���>��U]�]_��.����_�.fm�ߢ����V_�D@�76&[�EБ�9?�!���
���e~تB���)��E�
_]�m�!*��쿗*v����n���2�bopsY�r	��Q`����`��`~LT�<�����G�`}��%
~J���cc�	hl
+endstream
+endobj
+10614 0 obj <<
+/Type /Page
+/Contents 10615 0 R
+/Resources 10613 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10612 0 R ]
+>> endobj
+10612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10616 0 obj <<
+/D [10614 0 R /XYZ 89 770.89 null]
+>> endobj
+10499 0 obj <<
+/D [10614 0 R /XYZ 90 686.846 null]
+>> endobj
+10617 0 obj <<
+/D [10614 0 R /XYZ 90 682.363 null]
+>> endobj
+10500 0 obj <<
+/D [10614 0 R /XYZ 90 642.631 null]
+>> endobj
+10618 0 obj <<
+/D [10614 0 R /XYZ 90 638.148 null]
+>> endobj
+10619 0 obj <<
+/D [10614 0 R /XYZ 90 581.977 null]
+>> endobj
+10620 0 obj <<
+/D [10614 0 R /XYZ 90 559.93 null]
+>> endobj
+10501 0 obj <<
+/D [10614 0 R /XYZ 90 537.822 null]
+>> endobj
+10621 0 obj <<
+/D [10614 0 R /XYZ 90 537.822 null]
+>> endobj
+10502 0 obj <<
+/D [10614 0 R /XYZ 90 504.76 null]
+>> endobj
+10622 0 obj <<
+/D [10614 0 R /XYZ 90 504.76 null]
+>> endobj
+10623 0 obj <<
+/D [10614 0 R /XYZ 90 469.697 null]
+>> endobj
+10624 0 obj <<
+/D [10614 0 R /XYZ 90 447.589 null]
+>> endobj
+10503 0 obj <<
+/D [10614 0 R /XYZ 90 414.528 null]
+>> endobj
+10625 0 obj <<
+/D [10614 0 R /XYZ 90 414.528 null]
+>> endobj
+10626 0 obj <<
+/D [10614 0 R /XYZ 90 379.464 null]
+>> endobj
+10627 0 obj <<
+/D [10614 0 R /XYZ 90 357.291 null]
+>> endobj
+10628 0 obj <<
+/D [10614 0 R /XYZ 90 324.295 null]
+>> endobj
+10629 0 obj <<
+/D [10614 0 R /XYZ 90 301.186 null]
+>> endobj
+10252 0 obj <<
+/D [10614 0 R /XYZ 90 277.141 null]
+>> endobj
+10630 0 obj <<
+/D [10614 0 R /XYZ 90 277.141 null]
+>> endobj
+1893 0 obj <<
+/D [10614 0 R /XYZ 90 88.554 null]
+>> endobj
+350 0 obj <<
+/D [10614 0 R /XYZ 90 77.486 null]
+>> endobj
+10613 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10680 0 obj <<
+/Length 1765      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~��0�����U�l
�[�vm�5�SS��8�lɕ���;")ɲ�Kb'm�'�yx�}�9<�������i�����wt�1+@�K]���
+��� 	�
�/6c�����\���^���>]��tq^>뽽�}�x�-�
��V4�}���!�~����T���)�߱u����[�)��!(�V.�_B��#��>��g�v�M�U?�p����+��&o�W���q1�h�q�0j�c�{~#�Y�
��
+�.p�����*
3�������,
vx�Q�;�
�@��[.��Dfa�f�C3
+��!�f�C�����y!'N�R�~=�\_~�׎g�L&�TNUR?:q����i�}��6��l�m�N���X_U��Q9�X0��>�K���K�D��P��|�R0�
+&�~��!�Ū�t:F77
v�@�+�f�Y��J�0��C�P��(�雈.1�y
�5�q�r	� wI�h����Dh���JYd#��ϪI�g�&y1��%-;�80�G\�$I��a
�#_�y�L4K�=�[��L:۷��
w���R�][����-��
}��g2��
+�9�#�ԏrr����Y1�p0�;�.	)Š�ہ	�%�ʹ_b��q6�d.�",��ꟽB,^�l\
�V{�M�Lu+�o�ui�i���"�ʱ�g0ڕC�=�����l� '�b���ML�K!�wT�c��9����
==�l����j���F��d4�E���xa�@Cc2��#�dL��	�~�3G�M�K�X���ɀ�
+�
��) ��D&9�0(�S��Z�����65(�"�9�>�H��
2�dK��:�.�1��{�F�
+u��y|9x��{
�N��UI߸���䩌�K��4%F�0�W���v�Q���J3>�n]]^b���[C�h��E�HB1��
+_�G`{u,
O��6K+�j
/�D��}d�2��QyєP��M
+���NrBp-.�ְ���D�C��,�Y�,W"�,�Z��
����_\GG
s�pìc����^զ����ą=�/���@[Ʃ9%X
v.���G��g���\�w 
@�]p�q6|���!�5�$�CfCY���i�A��y�iFod��[٬��_S�%�8-����}��*��n��U�iII�cY�<$ rd�X�پ
g7s�Q�����������N'[���ab�G^
��+�.���7|�%�^�I��7���N9X!� P���Nv	o[80��RX%���]	ޝ�ؾ@n at v�b?������޾
6������U�f�$R�p�J
+{��>��֯�9ljJf�g��l�
�g���(�: �I��C�2��;�����4�<vr"A}�4��`�Gѥ�!��2�U��7+B�=ME�>È4��"��uTWm*��
+�9j��6z
���w���o,���
e=-���n
�W��o?�6��L�Z�
��,. ��)�m̥�Z����rc�Q/�J)��[-�B(?Ȟ�#�c�l
Ij|S�����$�S�Bv��׸���*�P~
�-�
�Q �
�i�}hҗ�p�׻k�~���H������S�I�
+5�R�
+�.������(�������E�>N���ϣ���zX�17��M��&c��>��7՗+n�A
07m��gg��?P���Q�
�d�}{��mI�̚}3A
++��x�ˊ�׿����%
��>ʩ֔��

]�F�LF(J'��i:�^����c�I�ɪD����1 �?8 W�
+endstream
+endobj
+10679 0 obj <<
+/Type /Page
+/Contents 10680 0 R
+/Resources 10678 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10632 0 R 10633 0 R 10634 0 R 10635 0 R 10636 0 R 10637 0 R 10638 0 R 10639 0 R 10640 0 R 10641 0 R 10642 0 R 10643 0 R 10644 0 R 10645 0 R 10646 0 R 10647 0 R 10648 0 R 10649 0 R 10650 0 R 10651 0 R 10652 0 R 10653 0 R 10654 0 R 10655 0 R 10656 0 R 10657 0 R 10658 0 R 10659 0 R 10660 0 R 10661 0 R 10662 0 R 10663 0 R 10664 0 R 10665 0 R 10666 0 R 10667 0 R 10668 0 R 10669 0 R 10670 0 R 10671 0 R 10672 0 R 10673 0 R 10674 0 R 10677 0 R ]
+>> endobj
+10632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 612.264 192.544 622.191]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.733 213.297 552.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.112 541.733 278.87 552.637]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 514.01 213.297 524.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab289fda31b27c62873b4542280a90719) >>
+>> endobj
+10636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.634 514.01 305.699 524.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.911 514.01 385.668 524.913]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 486.286 213.297 497.19]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aca9c22c405ba1378296cc85f850aff21) >>
+>> endobj
+10639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.112 486.286 282.755 497.19]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.737 486.286 365.494 497.19]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 458.563 213.297 469.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e131a7f06d05c6e9eb5f5c) >>
+>> endobj
+10642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.634 458.563 340.02 469.467]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 445.697 213.297 456.601]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_af1afb697fed68cd53ff8d90b1d7cbc28) >>
+>> endobj
+10644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.634 445.697 340.02 456.601]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.107 445.697 423.865 456.601]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 417.974 221.045 428.878]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) >>
+>> endobj
+10647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 390.25 213.297 401.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 390.25 264.843 401.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f43fd48c07a63db5efa3564769) >>
+>> endobj
+10649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.18 390.25 391.566 401.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 362.527 175.668 373.431]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 362.527 234.596 373.431]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4e6c82baa2eac91c07d9ae925b8d42b2) >>
+>> endobj
+10652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 334.803 208.395 345.707]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aefcc22cba81dc18bc3e25d399127f3f4) >>
+>> endobj
+10653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 334.803 273.968 345.707]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+10654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 307.08 179.554 317.984]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 307.08 250.666 317.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c083be7bc0238a3f5c6c112e3) >>
+>> endobj
+10656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 279.73 155.265 290.26]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) >>
+>> endobj
+10657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 251.633 158.044 262.537]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) >>
+>> endobj
+10658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.382 251.633 250.447 262.537]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 223.909 158.044 234.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f6d9240b4cf201eee98359c903c1918) >>
+>> endobj
+10660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 223.909 226.925 234.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.137 223.909 305.082 234.813]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+10662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 196.186 158.044 207.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a773be362898fec2d48f0948c89870cf6) >>
+>> endobj
+10663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 196.186 261.246 207.09]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.333 196.186 343.278 207.09]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+10665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 168.462 161.013 179.366]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0bfafeac6438cecb2d2114e665) >>
+>> endobj
+10666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 140.739 170.687 151.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 140.739 195.165 151.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd) >>
+>> endobj
+10668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.442 126.204 226.112 136.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.148 115.245 227.817 125.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.43 170.687 112.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 102.43 187.563 112.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) >>
+>> endobj
+10672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.482 87.522 271.151 97.427]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+>> endobj
+10673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 179.554 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 74.333 223.857 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e) >>
+>> endobj
+10677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10681 0 obj <<
+/D [10679 0 R /XYZ 89 770.89 null]
+>> endobj
+10682 0 obj <<
+/D [10679 0 R /XYZ 90 630.11 null]
+>> endobj
+10683 0 obj <<
+/D [10679 0 R /XYZ 90 560.641 null]
+>> endobj
+10684 0 obj <<
+/D [10679 0 R /XYZ 90 560.641 null]
+>> endobj
+10685 0 obj <<
+/D [10679 0 R /XYZ 90 531.183 null]
+>> endobj
+10686 0 obj <<
+/D [10679 0 R /XYZ 90 503.46 null]
+>> endobj
+10687 0 obj <<
+/D [10679 0 R /XYZ 90 462.548 null]
+>> endobj
+10688 0 obj <<
+/D [10679 0 R /XYZ 90 435.147 null]
+>> endobj
+10689 0 obj <<
+/D [10679 0 R /XYZ 90 409.15 null]
+>> endobj
+10690 0 obj <<
+/D [10679 0 R /XYZ 90 379.7 null]
+>> endobj
+10691 0 obj <<
+/D [10679 0 R /XYZ 90 351.977 null]
+>> endobj
+10692 0 obj <<
+/D [10679 0 R /XYZ 90 324.254 null]
+>> endobj
+10693 0 obj <<
+/D [10679 0 R /XYZ 90 296.53 null]
+>> endobj
+10694 0 obj <<
+/D [10679 0 R /XYZ 90 241.083 null]
+>> endobj
+10695 0 obj <<
+/D [10679 0 R /XYZ 90 213.36 null]
+>> endobj
+10696 0 obj <<
+/D [10679 0 R /XYZ 90 185.636 null]
+>> endobj
+10697 0 obj <<
+/D [10679 0 R /XYZ 90 157.913 null]
+>> endobj
+10698 0 obj <<
+/D [10679 0 R /XYZ 90 119.23 null]
+>> endobj
+10699 0 obj <<
+/D [10679 0 R /XYZ 90 91.507 null]
+>> endobj
+10678 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10744 0 obj <<
+/Length 1779      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~�_�S�;��%�x�Ҧ��MҸ�;}H2�
Z/.�7�����Y;�$q�w�G`�����跫��	7
�6�����b�[.b6�Ƈ1��Y�)���'�E
�|B�8��sd�{^g"[
�fa��Df"O3�r�rO�����H(U/�Lf�e��ɔ;04M>�t��菫їڰAjZ��ǣ����?
�L�1n�I�aQ��q9�{�5[�׊M�4
`ӶJ6	uv
N"���B�E�h�I_��8���lb�qz��~�
ߔȔ|O����
+ސzN��l�*hP�sC�щ�;��R�l�SB�c��ȏ��ޢ��FCvq:2>L+c��0M�|����hf���D,s���=�d��-?MT��u�K�
9��/�@R�kEV����(L��hM�c��N�H?_��\(o��I�d �>@���ܙnbDLU�����&�6i&�L��$ZjPg�j�鬶8r ?��#��!��/5t�C���$a#�4�rL��c�|���8o�.aq��⵿W����BD^���oW�kv-��X����P%8��^#�ƶ��/"m����� l�f�r`s����[4�v���
��7O�1_ϥ_f2�Uk��IGъW7i��W����S���a)���1���|��*�
+��0	凡����7
�&n
+�	�m�Q��Ǿ̲!���n���A����ggM�Ub��/
+��M�6�=�%�AsbL1����_����5Uy&�ή_�%��8�)�1��;�����
qP�Jv�A�}b=ϚDjDj!�C��
6�Z�"J���@���fh;����O��:
�\�.�&�f�*�^
|�2������
+h�iG�6�v8`ڏT���Ҝm2��ek<(v��lԜ�=��-���QOȸ�kx]�&4!�����eP?�^n�
V߻Ğ���%��t`���S�z�N�aC%m��6r��MM�"
F.���_��(:T
��NM�7e��w-w��D�/����AF
��Zvg"R�[��
��9Qv�L¶Yƈs���X[k�j����or�j;Os�5��0񮗹|�²�3V�h9 �z�&�W��
k��K�/�
�UC�
�ֲ�gO}'��Iy�t+���e�<��7�W
/�X$�lfս�M&ةc?sDM9�
2�=u[��צ�k��� x��/o�b0}b�
���y��0��D �v���e%��ⵟ�9���BJ�jn�0��Qg|^\O�8jn�I�7��I��e��֠�S
�H+
]���j���oT�Ǵ\cq穅�׮��
����a\��b�gD�vmx5g
+t�oʬ9�8�.��ۅ�wR��nv
&a
��t�O��Y��*�~y�t������
���k�tR��a�ܬo��Bin�E2�$Wﹻ��
�7����zEN(|'��%��nQ
�s�7��:���^��]�=-��x������)?�Ȏ�ݬ3{��BF"�����{E?0h��V㲁��Ҽ�e�"o1R�i�6gLi��7�aӬ�(z�V# ��m���ٵ�~w��nh�P�b�o��c
�N'���^�`#��`��\�O�֘�����"_Z %�g҄
0,���#�{yس�GƥN�ҽ��w�Z��L	5���Uشj���[E����k���8��ډ^5~���m=�G�엲��=�;�M1\��k��2�φ����\�&��D6�ћ��E�Y�g����|q|tt]�(�� ?�*|�p���l�93m�:xW
j������0A�M$ �/�1�V3���e�P?8:�M�� ��s�?]��]
+endstream
+endobj
+10743 0 obj <<
+/Type /Page
+/Contents 10744 0 R
+/Resources 10742 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10675 0 R 10676 0 R 10702 0 R 10703 0 R 10704 0 R 10705 0 R 10706 0 R 10707 0 R 10708 0 R 10709 0 R 10710 0 R 10711 0 R 10712 0 R 10713 0 R 10714 0 R 10715 0 R 10716 0 R 10717 0 R 10718 0 R 10719 0 R 10720 0 R 10721 0 R 10722 0 R 10723 0 R 10724 0 R 10725 0 R 10726 0 R 10727 0 R 10728 0 R 10729 0 R 10730 0 R 10731 0 R 10741 0 R ]
+>> endobj
+10675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.112 179.554 706.016]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 695.112 248.444 706.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2) >>
+>> endobj
+10702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 667.429 179.554 678.333]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 667.429 223.558 678.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) >>
+>> endobj
+10704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 639.746 178.727 650.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d) >>
+>> endobj
+10705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 612.063 182.044 622.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) >>
+>> endobj
+10706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 612.063 308.768 622.967]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 584.754 150.493 595.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3) >>
+>> endobj
+10708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 556.698 181.845 567.602]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) >>
+>> endobj
+10709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 529.015 181.845 539.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+10710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 501.332 154.727 512.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) >>
+>> endobj
+10711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 474.023 176.505 484.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd965105d740ff7003037964ec7d10) >>
+>> endobj
+10712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 459.135 450.955 469.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+10713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 435.007 191.718 445.911]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 435.007 288.852 445.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) >>
+>> endobj
+10715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 407.325 191.718 418.228]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 407.325 303.079 418.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229) >>
+>> endobj
+10717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 379.642 169.013 390.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a7d4c3ba6b9e9b575d07b2e87b69a24e3) >>
+>> endobj
+10718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 379.642 272.215 390.546]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 310.146 203.075 321.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 310.146 296.324 321.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) >>
+>> endobj
+10721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 295.632 367.019 305.537]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 282.837 194.297 293.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) >>
+>> endobj
+10723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 255.154 188.759 265.685]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178820135a7ae3a75e65377) >>
+>> endobj
+10724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 215.143 213.297 226.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 215.143 286.103 226.047]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) >>
+>> endobj
+10726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.965 200.628 419.427 210.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) >>
+>> endobj
+10727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 118.687 226.034 129.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) >>
+>> endobj
+10728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 118.687 420.562 129.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 91.004 156.281 101.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aafcd2b876b8ea8235219720a10cf6e8e) >>
+>> endobj
+10730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 91.004 259.483 101.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.695 91.004 377.081 101.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10745 0 obj <<
+/D [10743 0 R /XYZ 89 770.89 null]
+>> endobj
+10746 0 obj <<
+/D [10743 0 R /XYZ 90 712.265 null]
+>> endobj
+10747 0 obj <<
+/D [10743 0 R /XYZ 90 684.583 null]
+>> endobj
+10748 0 obj <<
+/D [10743 0 R /XYZ 90 656.9 null]
+>> endobj
+10749 0 obj <<
+/D [10743 0 R /XYZ 90 629.217 null]
+>> endobj
+10750 0 obj <<
+/D [10743 0 R /XYZ 90 601.534 null]
+>> endobj
+10751 0 obj <<
+/D [10743 0 R /XYZ 90 573.851 null]
+>> endobj
+10752 0 obj <<
+/D [10743 0 R /XYZ 90 546.168 null]
+>> endobj
+10753 0 obj <<
+/D [10743 0 R /XYZ 90 518.485 null]
+>> endobj
+10754 0 obj <<
+/D [10743 0 R /XYZ 90 452.161 null]
+>> endobj
+10755 0 obj <<
+/D [10743 0 R /XYZ 90 424.478 null]
+>> endobj
+10756 0 obj <<
+/D [10743 0 R /XYZ 90 396.795 null]
+>> endobj
+10757 0 obj <<
+/D [10743 0 R /XYZ 90 328.949 null]
+>> endobj
+10758 0 obj <<
+/D [10743 0 R /XYZ 90 328.949 null]
+>> endobj
+10759 0 obj <<
+/D [10743 0 R /XYZ 90 299.617 null]
+>> endobj
+10760 0 obj <<
+/D [10743 0 R /XYZ 90 273.006 null]
+>> endobj
+10761 0 obj <<
+/D [10743 0 R /XYZ 90 245.323 null]
+>> endobj
+10762 0 obj <<
+/D [10743 0 R /XYZ 90 164.535 null]
+>> endobj
+10742 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10774 0 obj <<
+/Length 2411      
+/Filter /FlateDecode
+>>
+stream
+x��Yݓ۶���O��F8|�Ӟ<���Iڦ�}m쌇'�$�������.���/�M�:7s��b�X��o!
l
��������D�b7wAƃ$�XC��/�J�?�|�8e"�a����?ܼ���
�]�����J�1�X������xP���g*K�{C�
B��[��qŭ,|,S�G2	
�P�A"�� ed6w˂�����m�Tv
�i7V���BF|��u��M�����8��G|��]�ɛ�,>��5������n���
�Z�Ƴ2}1�7�ׯ3���8D�I��P+�$#ͽ����;\}�Z>�V�	�;�ۃ&*��bI,
QyG���M]=R
�f�����
f6HX,�#@�3\D��l��
�� o�*Yh+W��\��481���"&�fWB�����ݜ���'���R�
+��$��R�)��i���_�����N�Ǹ�oH�VJ2
ٰ*8�B&�+�A;��>/+�
$S�u���eS_2Pм
�
+�[���#y��on�H�����7���Z
�r�T�hn��޶��.����u�w�y
"ɓt��eG�sb�?�Y�Mk
l[�bQ2�l3'>�C՗��}t�n8�`����L��d~�tH���4�m�*km��b���N���h7
+��۾)�C;b�U��{�k�*�N�}Yoh����/kˊ�Isv�n���wڈN[�;]w`WȄ��Z<5����7��E�q��� <
"��yo�T��L<aˆ�@
ms�u�?p.k�H@��.��Ч��p�����̡A�m��PGs���:s�F��-�["*��N�uO;���s��z�w���r�{�`��]_���Ph��=MW:A�5��y$ih��ƋVU�����n�el��dj�p6��v���N����}�����
L���Y
��������lႬ�AtZ�j�
j8���o2�������@^�"� "]"��e.j~�8k�i��!��+me,{��}��.ܺ�NC������W`�Dc4�&,L�	�B{��8=A@>���I2@���Xcw3g��]SU
+~߽8�+a��e	d2Lj�~&3�?Dlo�_���U
^��6�1��t&� �9RL�\
�gnt�Xe�8����W^ѕQ&=���"e	��Hθ"&7���H-�'���vҩ���M���>��{>ٵ#
+j���±�wD����D��bax�t2��@�?�V8ԯK�QxOКD��m��27��I0!�o���=�	5I��H�9�~k-wd9`.Y(
�RΜ"���JFT�Vy���v
+ή`?�L�O�,7݌�n:F�u���#^8v
Ș�H�V�v
Y̱�`P�0���08�49x�I1b��wL
�/��`M&��l��6�(S�]K4��ѹ|�-6�1/
���i[�훺��L�C�5�]����&�z�:m���j�(�v���X[��mV�	Ϧ �n&aZO���2�LA�<
�K�q|@�S�6,mǎ��4����B�ª�3^�ȱZ�z�0tn�v^�VX%pa�d���+lH���

�����-7e���$�E/����	� e*���S/1�LJ0Ͱ�>�sN�:��}Jf Bߧ�P;Ռ�QC.�N�3Y���D�ﰹ�
+��^�ž�F�p�
��_}!�s_�e��x7V*�,!i��}�w=z������W�w�� �жI��Tl�ڲr,�Bs�
+��$`id���	�G.eC
�iU����
��	)g!/#�T)/
����*�߶�a��� ap�9
1N@�r�<��DB�>��^�r�<+�(�{�������o�F��FY���-g�A�ʞ$�N�I�U����$H�/RO��"x�
��/����`_
��
+Z��W��*:����`���Ư�,�F�v��7����/V��/��H
W��0Zgj�
8��:z(7�^v�5��fz٭��6���4i߫.�2t�6���!

G޴=�VW�{
I� +41Ÿ{���D
��K�
�\D����f��vd��G��\��#�4�����J�h	B-�(g	���YH�Rx��t�.��Lx��%b�1Ңvwh�颠�J
�&~*a2	R��G�9�d����o��d�!$>BxƲhx�y���,��
+�
Q\�o&�6/�~�H��Dr�E�
@�4���Er��"���@
"9
��
c^$���y� �h�utf/?�ô	����O]���ǟ0��0*hfc���醨ڴ @��)��ni���@�m�|�1��;�,�k|�ޣ�a¢��Z�
�
+��
�o�6�n�
��n��o`vd�~�#C�S��w�T���nӑ��	����'x��Q����[^r�^t+�m7<�B�j�P���imUEr�g�/�ƿ�,�����������æ�������/`��Yf�������5Ǜ���1����/��F�
+endstream
+endobj
+10773 0 obj <<
+/Type /Page
+/Contents 10774 0 R
+/Resources 10772 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10732 0 R 10733 0 R 10734 0 R 10735 0 R 10736 0 R 10737 0 R 10738 0 R 10739 0 R 10740 0 R 10766 0 R 10767 0 R 10768 0 R 10769 0 R 10771 0 R ]
+>> endobj
+10732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 707.957 180.54 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4baab5102f00046f941188f) >>
+>> endobj
+10733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 707.957 307.263 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.996 707.957 448.383 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 680.369 180.54 691.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01d4baab5102f00046f941188f) >>
+>> endobj
+10736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 680.369 307.263 691.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.996 680.369 448.383 691.273]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 667.571 156.281 678.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_aafcd2b876b8ea8235219720a10cf6e8e) >>
+>> endobj
+10739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 667.571 259.483 678.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.695 667.571 377.081 678.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.243 593.542 281.629 604.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.609 581.586 202.675 592.49]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+10768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 400.549 204.949 408.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 147.408 204.949 154.934]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10775 0 obj <<
+/D [10773 0 R /XYZ 89 770.89 null]
+>> endobj
+10776 0 obj <<
+/D [10773 0 R /XYZ 90 654.136 null]
+>> endobj
+10772 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F32 764 0 R /F7 795 0 R /F8 794 0 R /F24 529 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10786 0 obj <<
+/Length 2758      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��8~�_�'��!B˖ٳ30p�evY`�뎕��:v�&��J�o��
 �ه>�e�T*�������x�{~��۫G�"��$y�]{1�� &2���{�3Jd�X2J��j���T��ë�~��otZ%^f�UR�?~^e���UҔՇ7����ŒK�?ɓ����z��S�.Vz��4�����z��۫�W
t�
��H)o��z��z)t��Q"b�ݚA[/�~s��տ�����/��6N��n��
I
	�g,$Tq/b�0f7?�Գ��[�`�M�W솮e��MM���U�;�t��veV�'jFǜP)�%#��)1�a*���
�ȏ�������޹{X��Up�8#"��AO�
�Gz����y�{�T��.��?��z��
�j�E�
.g$��9��rpΕL���G�±
�H�@%���y�X
+.��Ί�m�*��FW5>>���Ij_�k��ܢ;��7�N1��m筶�����T�N)/����]x:���ݠ��NN;�)΅�c8G��]�\����EIpZz��o�F�@��?�F�wnl-��+����Mi��

����uR��e���aE�Z�����j;w�V���n ����0�4�f�i-�U��6wMԒ���:Ka7)�3��
Z���u��%���\+)�N�u��i7�;{| �E����>�&��Y���2�H�M��s۩
T�����p�E at h��|����A�
�ψ�VQ4�asr ;��ƐY�:��^XF�B
�S�Gߝ��ݏ�=�
����}��#r85[ީ*�-
�U�ݧ�8������\y��fnׁ�_|���b�1cH���W��C�2�D��Rt�:��D����#��E�
�
8A#�a��h��#hM����

�.
5��7�&���z�����HԈ+҉��h:=�J׻�H{)@�czrYM��6��&��Xl�Ľ�" ;�
+��37�,,�@�0��!�:��l����dTu��aZ݀�� EhϞ�=*���>�/�9e�;40�kG�#����'HȜ��WR(S�/p��Ӕ
+�de���O�Y&@¾���Gj~
'�$��
!I��	�χ���)���z)GWC�d�'����lۼ�j���b��;�	��@z4���bH�
�9�A��W��3
_�NB
��k��
F$�m�q�D(O���5���d��8�;��W���=:�pp�Qí�1i6L��*�T�M��t�R	ZK�{��
��݊|o�g��T���k���>%9d 3��
�C�n-
��-
�
��bf�u���u�>���:�D�x
"�mn�9!�V�&+:4��x�&{�p�a
c{��.l��eeҦ���āΌ��1[t`�7|J:U�v�C���u�ҶH;�-���K4�v�<��$�lTj#�۞@��T���g�?�?O���i�j�p|I�YJ:���
n��,FX_ۃ\
k{�e8&c"��4$B�w�8�Nܗ�L�m�or"�2��p�j!�_�
�|[P<V�S$u	8����T[�\,�滛3*HIP�%T�
+8UNUx>N���!��YZP� �.m���ƅ0�"��EWgo\ĒD�E�
ƒHFs�A��b)ed�-
'��%ap=F��q��է w���]�Mb;Ƈ����4B����\m��'�wY�g�~?��C��h�	�" ħf�?+��ʁስ�ӀNR�k_���0lu{*~g��@�)�`���hayY@��
m�gS�p>�9d*��k���Y[��*ߊŢ��O�ť![z2Gpc�	8�l½oAf� l�@^q>2C�dt	8D�T�s�9BSʋ�aLLU�
���1߻���m����
2��n��RX�
+dx�bJ������ K�6
?�fd�D���NBN��g8�q����u���v@�QT
+6���
` Q�������<$��L's8W�`f3��d�S���B�%$�}R����҉�x3Y�h
Ό�wɪ
J3�����ֺ�^����B���A�����zNy���.�d2�/(�EM��XPY���ҕNFe��b���ORP�j at i#�6N쯭��o{ȟ1Fo��{ж���A�>����~K2�
+N��i���^/���JC(��<�����L�,�Ha�!`Dp��T� P�ʏgQŃK� �`���p�"* �
6U�
*���,�T�KwT�ԫ,�Y
H����
LY<]=/����&f�0T'�.E��-A$��-��ټ%��4���/A?^�~4��E��׳ +������<y��6��Z�Ck$n�]U��ʔ5��zG�
`D
��!m�;�alYZ[>0&0B��b���k[��F��zq#�����Aܥ���)�&�U�9��$쓐׺i�b��3�q�
�/�ޠ�#պ]�t]����`�KI��N�zN2d�.�$y�պcjLP��2�k]g�����7x�o���>�N(>�����o
��qP��¯�
�kO�2o����?����:
�%�'�)�>q�ܬȚ,ɧ��3uXB5�4���G:Y�
j.Pq徬�����	c�
�_p��:�q
	�߳q5�O���rS_8��
t�R
+�
+��{
�X�?ف�^���Ct�&�nW�%E�UXlf]
�#�ݹ�ݕ���������7�A�>!{��i���G���
 ؆���1Ǝ��>�lݝᶬ��uй58H:.��()#a�;K�1?BD�#����n��x�b+��%x����5�
+endstream
+endobj
+10785 0 obj <<
+/Type /Page
+/Contents 10786 0 R
+/Resources 10784 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10770 0 R 10778 0 R 10779 0 R 10780 0 R 10781 0 R 10782 0 R 10783 0 R ]
+>> endobj
+10770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 709.04 204.949 716.566]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 585.792 204.949 593.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 553.911 204.949 561.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 454.573 204.949 462.099]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) >>
+>> endobj
+10781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.892 268.921 335.278 279.825]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+>> endobj
+10782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.804 115.868 445.257 126.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f9236b117382c35d7f7da5419) >>
+>> endobj
+10783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10787 0 obj <<
+/D [10785 0 R /XYZ 89 770.89 null]
+>> endobj
+10788 0 obj <<
+/D [10785 0 R /XYZ 90 346.055 null]
+>> endobj
+10700 0 obj <<
+/D [10785 0 R /XYZ 90 323.577 null]
+>> endobj
+10789 0 obj <<
+/D [10785 0 R /XYZ 90 323.577 null]
+>> endobj
+10790 0 obj <<
+/D [10785 0 R /XYZ 90 254.841 null]
+>> endobj
+10701 0 obj <<
+/D [10785 0 R /XYZ 90 232.363 null]
+>> endobj
+10791 0 obj <<
+/D [10785 0 R /XYZ 90 232.363 null]
+>> endobj
+10763 0 obj <<
+/D [10785 0 R /XYZ 195.633 163.236 null]
+>> endobj
+10792 0 obj <<
+/D [10785 0 R /XYZ 90 156.596 null]
+>> endobj
+10784 0 obj <<
+/Font << /F73 552 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F32 764 0 R /F7 795 0 R /F93 763 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10806 0 obj <<
+/Length 1758      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_!l at g1�wIAZ�K�v]_�&�>�E��L,L�UI^���HQ��8n�b+P���������h
\8x6��l�
� F��28�
b
�<FB��482�G��^LF��f5��޼>{���T<=|
��bF�d>8��)�~`��(�n�N\��t�� []0�B���
d�5#b4 	��hL0���2U���)����y���V��x�O�t���'��r��:i^�]���Wc�A�ު��u�zzp���R%s,��,
+U&��Ԣ��A�n#��HrҚ��Ќ�m�D�
�
<
B���µ��,��=�
+a��!�E^�fTz�,jG=+��g*7[�p��j5��ưØ�Ӽ*F�s'���I�H2�fbk�ƌ��	��f�yi<�����c�.�9° �
��o�u���iq�C!��� ��Qn�U���<Z�q
��_&Y�̨����9'��
A����䆕"쬔���P͋z5�Z�1'��M=S�uZ�=�
��Ѽk�0���Ço�E��򍴫
�t߶B#"��˸��j'Yf��y��]�\�(l�<$
�M���l(@{o�0Cq��r�2��i�^�M�6����iY�ZV�gD�p�Z�F�
���<5�|3�b���8�D�gD:$~��,
�`"�Fk;�+���H��
�߻6	ؒqRh��^�
&�7^����'/عttu��3� K�+��sRv��X����hcm���
+F
a=|h�M�����c�;�~���]Χ����"�!�8�F���$RޙBH���W�y��e��0���T].})X�c��RJ3|�3Z�Y��f�er�0�b=+Q�ۢ�/�TV�)�c�$�v�
Y?v�
������}�
����G���fܳ�
�i��j^]BY��Գ�f��I�T�֤j�`+Je9�\�۩��e��K�+��
�4S=�55q�f` ��mp�Q*����U��n�"�ij��Je�M�
>[l�hl&�<��,dE� ���[Zf�D���m��� #�Բ�.8i��t<�fjZzt�z��Q�½f��2�(pv4\

<c��P`�{Q!d�E}��O�N5,&�%�
Gq�Q��(
�R���$2
��
+<� ps�ED���]W�8�Q����1`�h� ��Ё�F#��m��i>ɖS�9{
�:�Y}�
+�c�.6�0�"���;��m:4�V����}�2���.p���p{�VPMj�Eë��8{ی�=Z�
]x���T���o)y,�$��
�����^�If=U�X8����]���
�]�
�Y{�r'�
 k�N
v_���F��)����kDmh�ч�
�7�axX�6�|�����d��.��w��(
m�T'z(No�]3	j��f[�:�C.2���c�n

׏�]�ۍ�����U��dn���G"�t5ߣ[��J1�a����/��lUj��ٮ�"
j
f�e��Q砃ј�y�4GM�Dw
Z���eb�F]�SX6ꫂQ(7��[�PA�;P���wE��$t�Ț��q�l�~�'|q�y�����Iփ����X}3����;��~�=]�N����!�@n۠�-v��OI�n������D
"7F}�4�I�4}�[�o>�s����,x� a��1�w��S�B$��
�i��������J���Z���$_����- +�,���@>U�7�^;�4�ܚ>�$���zuV�������R�F���nr
eGwZ������r�4u7��/����
+endstream
+endobj
+10805 0 obj <<
+/Type /Page
+/Contents 10806 0 R
+/Resources 10804 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10631 0 R
+/Annots [ 10793 0 R 10794 0 R 10795 0 R 10796 0 R 10797 0 R 10798 0 R 10799 0 R 10800 0 R 10803 0 R ]
+>> endobj
+10793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 283.973 177.053 294.877]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+>> endobj
+10794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.115 179.543 224.645]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504) >>
+>> endobj
+10795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 173.708 179.543 184.612]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a5cca0390f76c0a92703e65d3707f157a) >>
+>> endobj
+10796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.631 179.543 156.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) >>
+>> endobj
+10797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.881 145.631 254.811 156.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 117.553 179.543 128.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c) >>
+>> endobj
+10799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.881 117.553 272.514 128.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+10800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 89.849 187.292 100.38]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) >>
+>> endobj
+10803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10807 0 obj <<
+/D [10805 0 R /XYZ 89 770.89 null]
+>> endobj
+10808 0 obj <<
+/D [10805 0 R /XYZ 90 721.073 null]
+>> endobj
+10764 0 obj <<
+/D [10805 0 R /XYZ 90 704.16 null]
+>> endobj
+10809 0 obj <<
+/D [10805 0 R /XYZ 90 704.16 null]
+>> endobj
+10765 0 obj <<
+/D [10805 0 R /XYZ 121.143 623.078 null]
+>> endobj
+10810 0 obj <<
+/D [10805 0 R /XYZ 90 616.438 null]
+>> endobj
+10777 0 obj <<
+/D [10805 0 R /XYZ 90 576.706 null]
+>> endobj
+10811 0 obj <<
+/D [10805 0 R /XYZ 90 572.223 null]
+>> endobj
+10812 0 obj <<
+/D [10805 0 R /XYZ 90 516.053 null]
+>> endobj
+10813 0 obj <<
+/D [10805 0 R /XYZ 90 483.051 null]
+>> endobj
+1205 0 obj <<
+/D [10805 0 R /XYZ 90 408.511 null]
+>> endobj
+354 0 obj <<
+/D [10805 0 R /XYZ 90 401.797 null]
+>> endobj
+10814 0 obj <<
+/D [10805 0 R /XYZ 90 302.973 null]
+>> endobj
+10815 0 obj <<
+/D [10805 0 R /XYZ 90 232.826 null]
+>> endobj
+10816 0 obj <<
+/D [10805 0 R /XYZ 90 232.826 null]
+>> endobj
+10817 0 obj <<
+/D [10805 0 R /XYZ 90 203.014 null]
+>> endobj
+10818 0 obj <<
+/D [10805 0 R /XYZ 90 162.982 null]
+>> endobj
+10819 0 obj <<
+/D [10805 0 R /XYZ 90 134.904 null]
+>> endobj
+10820 0 obj <<
+/D [10805 0 R /XYZ 90 106.827 null]
+>> endobj
+10804 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F39 2320 0 R /F110 1507 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+10830 0 obj <<
+/Length 1759      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}߯P ��,͋(R��@��uҤp
����z�j��������^�F_�}XJ�F3�3s��;{��^���.�bG4�nV^�=ƈGp�����8����'�&�tP���Z-��ӛ�J�����f���*����b��3���4�zY�-�I��U�)��y�Ե
^��%�WE����g!	>޼��|3�<#�+����#!�t3{�{K���È�һ7�6^H��޻��3����p#<���Lz�D�
���|�}�{?�~V4�v��s^]�	:���l�JM�Տ>`�Ӳ��`�Rğ�U�d0�i�
������}��9���"f��@�PJ)�B���?d�z�V���.
{���^AwU�5K���h��I^���0
+Cv$��%�b��~I�0�ၙ�( ������ ������1�!.Eg�a��d�b��<`PExg����  #�Pb��4�hݲ��]��(��ꞛoL��v��+L"ѥ��9����E�KK�Μ�1�i'�g��:�t�z
��k"A�}��
�����
��%`�(�R?�����\l�{��Mp8T��w8 �u����!A,��9P�=�A[p��R5I��%�I%\�i�mM�<6
����[� ��?��;G|_HN�A`	;�ϖ�Ȋ;{UnU�40�s��>(�a
�c_�b���=�l3��&r)���w2�bR4�unX�`���/@��*�v)��r(������H�g�M�/��~��
���6��
L�a'R�Sd
em
+��qBU�r�vYn��w���(�#o�0�C�o儠���@ma �cF���
���>M
W'�I.�n��2+�<�nH/.�aOʐG� Ov���+��jsk� �E�8ty�鮓�'�hR`�|W��{{ WC#\�5%
+�z�S$O'�%E��;mi��(b"�?�hS֧��QP�!�U��.P`o*��
+I�bₕ��\� �5��=�"�#�$
Dz����z�I���Z,Z�4
��2��<�9n�/!����A�<q<=�=k�D
�H�M턇& �{V4D
���Te0��TC�����_ݬ�U����H��8үX'	�M�
̄�
;�%d3h-@���|߀~ޑ9>` ���
@b�,h��'}�X*�
,{�t9�_+���(1A��}e$��0{a�+���5s��z��ݦ�Y'�s;T�wI���^���J �
�D oE4��!�ٯ��V�z� ��/-%�zo�Ĝq
ـ�rQ���Tr} y!t6=E� i,
��}C� 
��	9���
LEؿ�lt�Z-U�=�_g����u�pț�.���M�Ƙ.z=ȳ
���WYI�8s�wL�	a+
�7��ʓM�48��
�
q��f
ϴ?�1.q�Q�
k5Ū*7wVe���b�)��b,&�=��3�6:�
�ns�^�
6YԊg�C����Q�qE�#$���x�Nq!s�
c.
�a���)�UF
�0t�'��8$�<	��3;p/i�@��c;`�����jsTe��).$��0�
��M��N��&���[�Ƶu�>"�-.�!��}�*˛�N��+��"�wK�J�aǀ�l<=k�q`�Љ
Ƒ��脩K��3��'��C��P�����P ��%u����U���&���M��m�s����
PEZ� hV��w�]p���^;�uf�3؊�i(���M�]�����j
+t�>rq����u��MY���nn
pQ[Em
9֨�m& ���i`"���`l
�/�g�6�{YB��s��N�
+endstream
+endobj
+10829 0 obj <<
+/Type /Page
+/Contents 10830 0 R
+/Resources 10828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Annots [ 10801 0 R 10802 0 R 10821 0 R 10822 0 R 10823 0 R 10824 0 R 10827 0 R ]
+>> endobj
+10801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 707.957 163.215 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) >>
+>> endobj
+10802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 707.957 256.185 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+10821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 653.124 163.215 664.028]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a1e1a505b4cd4a4ac97d3a38864bd3977) >>
+>> endobj
+10822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 610.246 163.215 621.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) >>
+>> endobj
+10823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.552 610.246 238.482 621.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+10824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.821 426.274 440.832 455.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+10827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10831 0 obj <<
+/D [10829 0 R /XYZ 89 770.89 null]
+>> endobj
+10832 0 obj <<
+/D [10829 0 R /XYZ 90 689.83 null]
+>> endobj
+10833 0 obj <<
+/D [10829 0 R /XYZ 90 634.997 null]
+>> endobj
+10834 0 obj <<
+/D [10829 0 R /XYZ 90 557.705 null]
+>> endobj
+10835 0 obj <<
+/D [10829 0 R /XYZ 90 395.845 null]
+>> endobj
+10836 0 obj <<
+/D [10829 0 R /XYZ 90 370.097 null]
+>> endobj
+10837 0 obj <<
+/D [10829 0 R /XYZ 90 370.097 null]
+>> endobj
+1894 0 obj <<
+/D [10829 0 R /XYZ 90 156.255 null]
+>> endobj
+358 0 obj <<
+/D [10829 0 R /XYZ 90 140.291 null]
+>> endobj
+10828 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F39 2320 0 R /F68 3032 0 R /F110 1507 0 R /F90 758 0 R /F117 2446 0 R /F24 529 0 R /F8 794 0 R /F75 554 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+10847 0 obj <<
+/Length 1208      
+/Filter /FlateDecode
+>>
+stream
+xڭV�n�F}�W�CI \�\
+m�&��I��j�`E�%6�T��}g/�D�
����;�gng{k{og������y	J"y�/�^�$"�ʽK�q|Y��X$I"�2ۯ���|�iy��fo��o3G�#V�@�����
�r�~�a��ݙK[�S��w1�s��Dx��D�}�ڨ���*SAH��"]7��~�ԍ],"��٦׋���Qy�^(VM����Ϸ��ڪ�K���������6y���ߥU^�fn��qM����VBcD��K�-�6�HF�0s�pm{I�qr����ܰwFT��{;H��c��k�g��g�3��b�
+b�,2p��G�]�Ʈ�vU���>h�$$B�I/daέ�+J�Hֻp��^4�.-m8��u���ڔf�l�lD�4릚��~Ī� kg���G@'̓ :�4�(��
)33�Ok�Z
���ѿ�*��G#���A]�ix��3�4�%1�
�
+3c���AU�w\�
u���M�P�#��
��?�_�ڮ�e
�!�w�(E')�aP+�S�Y�� �#��SեE�r����͚�V��` �9ȱ�o+���Ơ\��
fV�m;���u�ۮo&�
�@vGT@�� U��f�>�Q����t^g��Q&w����>�>֪RM�_hɦ�N���eYk<wE��]aLK5��}�rD9����%�l

%pn"5��
+
��P.�
���".�T� ΀&s�0$d<t���p�#

�ő�
�,F�����-���@�Թ�
(�#h�#����l.��
+x�_����*D�g��)G1K�8��P�-�P:�
�'
��b�L��$�
�XG����B�@��V�2U.��|R
3
+��� �J��뗏'�_�2ZZ\�
+B
+�iw>�xO5JO �z���x�W�t�U>��іx��M�x������#�t��:����~�0��eʅ��S�s��:����*+w��7a
��7��q��t�Zמx&z`���诽|��I�8�c
̈́$9�	���a���3�5$��!�1����?�b�ܰ����N���N'舢���N��<F"�� �I
S7��׏
��
:L��/�+���� A$tx0������]�ժ�g�h.I?��0\�qŶ٦
�'Af�AAȠQ^���,����g&�� W�v��t����d�[��Z�
:뽢�
'�������u��R�ͭ�4
��+S
+endstream
+endobj
+10846 0 obj <<
+/Type /Page
+/Contents 10847 0 R
+/Resources 10845 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Group 10826 0 R
+/Annots [ 10839 0 R 10840 0 R 10841 0 R 10844 0 R ]
+>> endobj
+10825 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 10853 0 R
+/BBox [0 0 404 212]
+/Group 10826 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 10854 0 R>>
+>>
+/Length 647
+/Filter /FlateDecode
+>>
+stream
+x��UKk1��W�XeFoA��P
+�
�z98~�������^�MjJ(�I4������l ���0�#x������pW+������
������7u}�6�> [�
��,�3�g����K-��28=�)�{s1�4�d"�dfT��f�b�U�-,�*�s���K@�`�WW��
˝�~��TB�Ӕ�9!l�VNW��Ks��?D&�T��`�pr]u��S�gV��ܔ�Vc��8��Tn��"i'lNo3���8̜ ,~�Q�
Gg�8[���Ȍ�d����-ީ]�<E��^z*����M��̆���F��%
�;z�)����
寸����� ��+
%�0q�5:�����f�й�%]jLy�_��7�e��[��Um�A��%�!�F�2Pb���Uc�*M�9���u/A�6
�I
,�'~���X'�m"�fY��A���L:�x��Y���S�ㅁ:�����c\��q�yI��n
��v"C�A�!Qx
�{J�b�h�� a
\�o��Lk�cP��1��8j��es&��|
2/|�p�I��?ΚT�ݵ{�G���:H�.Ƴa��䵵��*�,K	|Q�L����0�c��6>��V
d�w�r��F_�,�eF�1��c����~OZ

+endstream
+endobj
+10853 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+10854 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /NJRFXQ+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 10855 0 R]
+/ToUnicode 10856 0 R
+>>
+endobj
+10855 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /NJRFXQ+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 10857 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 722 611 584 278 667 500 278 584 556]]
+>>
+endobj
+10856 0 obj
+<<
+/Length 10858 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š�:"���E/��br�j
�Y�����*(|�K�GN|i_Z=�,����heè��e�[I���#�25�5���I�(v�ݶ�4�z���f�
.����Y�==E����*�������ï�n�M�W�DM�
�ݫ0ob"��c�\|\��+����
��3�HrV�!�
+}��N�ӰzpO�V��Y(�y֧s��$E�xJ=�
�y�RP���@%b�*����
:#v	P�A9Hz�C�X�B�0��)�x�:dr�U����@��q�~e
+~!�

~y	�_��9��p:�rL��W���:�eaN�U���pw�����
y��-�_W�-����
mf�W��ܣ��
+endstream
+endobj
+10857 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NJRFXQ+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 10859 0 R
+>>
+endobj
+10858 0 obj
+356
+endobj
+10859 0 obj
+<<
+/Length 10860 0 R
+/Filter /FlateDecode
+/Length1 2672
+>>
+stream
+x�UV
L[�>�������e
�׏����e0N�����	C���	$M�l��)jC��i�nٖM�ԭ�ZiӴfڴ)�6MS'���R��ljR�n�"���kH2����������JI%-��ڃ��
�}�B�氺�������<���zt"2�/�_���{XsF���S�^�4;��V�������!_�
+�&�����
�	��/ƙ��q�B�����̤1
0��A'����Fy'��� �A
#��TUTc֘lz�hs�-U�M��
�֙�R��6���:S��K7�J�Sς�1�#��
�H*���S���N�����R���)��D��b.Q�jm�F����ݪ��qkz�Y_Q�
��F�3���
���,����A�@�Dw������]�Yɚ��*zC
KAnNvjF�R����TXk���v��9jk��/7lچ9�
+pJ��h3Pw(�-m���/Y���=�
���g��=&x�)�=�-��C{o��
�.�w��ĝbgr`��
��R_�����{�w�f�������ą(���n\]�و�cib�J8?�Ź:�]��P�����Bs�O��-.���v��>f\��3�i�ro���pd�뢄G�
��՗B<���;]�B?Av�8����7S���g�*�E�FM^af��c�s3�|*C~�eIQ�ĉ~]Z�p5[Xї�*[��`�owρ �v�F�_ي����V��kr��W
) �̤7���Ee��ǠW����Ψ�D�U�Is(�����gc��t�Zh��yߝ�
+���'�){���U�R���x�ϻ�3�a����;��o�(`�T�v��9=}br��'�
/ﮪW��xq/͖�熆�C�8�G�1z�
[�`���F�zl8������W�j���̎W�A$��:S05���	
2!�Ery�i���1/�ڇ1w�LENF��}�aX��� ����
�μ1�F?����%u�����g�s����^��������q=� 7�M�dL�d@�<4J�M��3��'&"-/�&�����¯�]����=bS2_���u���J2��
��Z��h�U�wKG�t�n�7؟�X#�̫�h�
���@LE�(H������]��� S{�W�)�U����
zBo�G�T�9������:y�ۓ?�>���������Y��W�
��oc�I͛Y���r.��Bi-vO��;-����Ӌ�
�谫>>6rh���Sg.�%�S��[��|��n��F���e1�-E0�#}4?�
>yb|�����Ѯ���dz�CMf��������
O�9�#u�&��u�F��jz{6<��Œ1���?�I.W��ʥ�FF�S�
���W�~�
�o�|z2G���{w��!2�I�}k�����3=����q�2a��;F����w}o]���˵(�"T<2
+$[!t���b�����5Q��,~,��Y�8h�M�7/�t�Zͮ&����߇�������c���U�*{�
�}nG	buؖŽB�����N'�ْ
^-�Ʉ~Z���,U���ٟ��ŤذS
�ۏ
���\㲖�dh�mM]���PUi�Y��z���$��O��/H���DAgv�/��jʜ�]x���G�؀�1��+u0�d����-�����B�jy�n6+)�����z�P(n��^�w�
ҋ�Lhe2�|BO��l')�
�)|�^Q"��$���*�-����|
+��
+�#
��@����B�r�7-t
�%�!������GT�Hr�nw�G��d��U�������5�?,U)?O��F�l��X��H��?�Q��|s�ᯘ��
����&;h/�*ܤ�U'�/%�]':<c�T��@��bvR=���g.��,��D�=E�
�H�
$���X��>�+�s?�l�qo���b3���C/��q�A��a�7�M
+�
+��W@�A�>e7��lJ�@�	��U- �V�ߤu�
ѧS!�z���c��{��G�
���M�H�� ��;2
+endstream
+endobj
+10860 0 obj
+2009
+endobj
+10826 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+10839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 405.292 176.027 415.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler_a3690915d5c30a08607ade652aa157cd3) >>
+>> endobj
+10840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 360.322 184.244 370.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler_add9a15bae9fb3c788a0ae526ef65733d) >>
+>> endobj
+10841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.681 109.582 163.763 120.486]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+10844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10848 0 obj <<
+/D [10846 0 R /XYZ 89 770.89 null]
+>> endobj
+10849 0 obj <<
+/D [10846 0 R /XYZ 90 432.45 null]
+>> endobj
+10850 0 obj <<
+/D [10846 0 R /XYZ 90 432.45 null]
+>> endobj
+10851 0 obj <<
+/D [10846 0 R /XYZ 90 385.745 null]
+>> endobj
+10852 0 obj <<
+/D [10846 0 R /XYZ 90 305.733 null]
+>> endobj
+1895 0 obj <<
+/D [10846 0 R /XYZ 90 189.605 null]
+>> endobj
+362 0 obj <<
+/D [10846 0 R /XYZ 90 172.334 null]
+>> endobj
+10845 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F22 2996 0 R /F75 554 0 R /F11 613 0 R >>
+/XObject << /Im13 10825 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10868 0 obj <<
+/Length 1895      
+/Filter /FlateDecode
+>>
+stream
+xڭXY��6~���S+5��HJFQ�m�4=�m�E�"�ڴ�F�\I�b�}��贼�y�)
ù��`���⇻��K-��$���n$4Њ�Yp�
ޅ���+F)
o���iuL?�.9
���`�U���J�����񔛣)����b��k�d�6�öܯ�?��67Շ�y�_�}���K�7
�����[�e�
0�E��t>�����K^��QLb��c$����Y�?�i]{�w˄��K�gޘ���,M��Sq"D("a�.~�[��`@��)4�D���x�7
�0�K@�H���m:�o,��6�Nl20��?#/)h�J�r��h��N̵c��t�����(�8�'�EV��$�n�`��s8q���^� a/#�*�����N�ګV���:��:"�	�:In��K
������ws����s��.Y�
+;QS$p9�i�i��\N�ZN�=����"x��$S/�N�����T�
p��N��ۉGCF�&L��R�)3֌H�v�'�9z�W�2߂
"�įY��
XbW�� ��T�"���#
�@�h�+Lu�4e�>d���R���>��wh2�o"�����5�p�y
��?eUsNsOދ�mq㌉
[��e�*ܗ��gh�c����Eil��I�58���_�(�) ��9�7��6��ϖESN��)cΖ�r��_I�i�)�Id����$<UYYe�#���?T�
�ɫ�СI����$�2�-rǓ8]��P�'��S�AY!

�
Ӥ�[�
So��d�d���%0���)6m~��,D&bRX���y<�"=��l�@V�_&vC�:�$
�?�ޭ�I��/3Kl�U@
+�9A�wIa[K�X^�j"l
W39I�ׅ�,�
}��t��G��_�+���ɾ����8�{�
28w�a�
*!�}4D��b��g�
pH�n���2�[*#\����FR<�3���0��(b����+>M z"  
) �+.�!�ؗ�@+�]>�`��j_(��
鑓_-&VW
+
~�-��I�cVl���=]3�V�ԍ�b1d��������>]\ab�2t���6����w� .�$_Q��qk���
R��j��0��րj�AM%���SP�*��ԛ!��Y�T7�p(k
j��kX��T0R�s�~��/^�\���	��C�5*��y�y�v�P��2��ت
y����0��۝��B��C�™-�P�s�H�t1�:�
r�b
����
���!�
�p*��iO5K�t�=�\�:�
�R�tn��y�{�6���_���#����֞ ���NLMZ�8L?Z�n<�WyIq����WZ_�:�����d�<�8�dz������
I�3�~.�Bz .�V��ҏ�%�"# =��?F��+	{�YЀ�;�r�s(w

>ϐ�t!�+
1�j�O�0|�5 �(��]����j���
����
+�����"�O�oi�뎦9�����@�s����NL���lVҰ�(�K_�����:㤖(J;H��"v��E.jv�� Dc��*Ӝ�����6έ�{S��п�V��&�҂����N-m��V��?�|n?
�<��.k���������m�[Zm���O�ؖ!e(� ����ա���p�E��@G�8�l���m�����8�M��3��O�<
+�s�ir4D^���pa%5�r�|n�͹C��m�-ys��a0�>�=������Ϳ���D�]�#o�o�4<7�����U��n�O��
�����]��>���f}{n_�4��D]�����������
5�{Zt�	�pBԘ��ʈ
MLSo�A�=��G�_}&�Ya�ƥ��ܡiN뛛��6Şl@�8v 4�:
����ʴ�Ǵ]��IʈR��>�Q�]1�ow���㝘��� {l�
+endstream
+endobj
+10867 0 obj <<
+/Type /Page
+/Contents 10868 0 R
+/Resources 10866 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Group 10843 0 R
+/Annots [ 10861 0 R 10862 0 R 10863 0 R 10865 0 R ]
+>> endobj
+10842 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 10875 0 R
+/BBox [0 0 224 234]
+/Group 10843 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 10876 0 R>>
+>>
+/Length 503
+/Filter /FlateDecode
+>>
+stream
+x��UMk
1
��W��#��؆��B(zh;�C�a�)%	4=��W����Y���
e�ճF~�l��7eG�����F
��
O� ?��p�E��^������N~_��-�F�+Bx�d
<Be| 
+q���|Q-j�P{�h`m%)�G�٨
0e֌]a����ݣ��P�fRQ�����Kt40=���Jo�QݼADJ��֤�9��͖S8�di9al/� �
+C�˞XC�-�nM~���v�[��q1�9B����
�9�����Q�0K@�ܢ'����d�:k�m��̑d+A��-
�޾m�e�8�YZ+���z��zu��/���϶��t�ز��U_պ�2Ҝ
+� &QQۖW�P!��N/���.ڵ%h%Ѿt�:�
�_�}��
z(���I�]��&b+�� ڢ8�Dl��z�)O�
�
�
�������z0嚉m̷�	�˭D����,#c��k�<ct�2�>�̚U��E$y]9����ȃ��m�:~�>��n��#
+endstream
+endobj
+10875 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+10876 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /HMDHZC+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 10877 0 R]
+/ToUnicode 10878 0 R
+>>
+endobj
+10877 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /HMDHZC+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 10879 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 722 611 584 278 667 500 278 584]]
+>>
+endobj
+10878 0 obj
+<<
+/Length 10880 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š�wD(Ӎ��P���uF�1Dg��7�)TP�<���Cn|i_Z=�,����heè��e�[I���#�25�5���I�(v�n[V�Z=�Q]��Ӊ�j7vxVsOOc,~��쨯��}���C�%Q�0E�k�*̛����|l���u;:�_��f���9F����IV�+Eu➆Ճ{�����g	l� o��r�ʓ�HO����2OU
+ʡ)P� *��@tB�3�
��ԃr��.
+Z�B�0��)�x*9�U��C>�|8�#_Q����@!_А/G�|y	B�
Ss�K��ȗcj�|U8���C���%��گs߽ǮȻ�nM�����7c���a3����_�g�
+endstream
+endobj
+10879 0 obj
+<<
+/Type /FontDescriptor
+/FontName /HMDHZC+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 10881 0 R
+>>
+endobj
+10880 0 obj
+353
+endobj
+10881 0 obj
+<<
+/Length 10882 0 R
+/Filter /FlateDecode
+/Length1 2596
+>>
+stream
+x�UV
l��>�:v^&�ؿ��y�8q�&��@B�v�N
vI���R��q��B!�(Ck�$ԖB[V�ۺi����VMS+MPm��N��nZGG�TZ���P~`N�}������ FD��J��%bsl��e5`�ē3�&���Y/�PZ��M����_���1�c@�=�����/�'
m����D�Yb�Lr_���"�g�?��
�c�q�('��Xs��O�%� ����f�
s���&�W��Je7��(��C��IW�
v��e��.��Q�����q�9�
^�����5���
����ԏ�8դ���[���DF��2K���I:{��R
ws���mgn��L�ity��<��ܦ��pfg��U��Htp<;���|���|�c��mM�p`�`o������S�Y�[�+���.��� }fN�VWXhvT9�_��D��zg��P E0�C��$8%K�LvYX[$	�wT�J�׼�I�s���(k0���sl�bU[f1[�h�3X���Ut�{#�&�;]p}o}M����Ky�M�|���[k5���B�=uq!�d����7N�\��X�Zf
+��!	�X�$���Z�t&3��q;X��©ٹ����P�3�c�[/~�k/^dY��_$c�Ya����e5�d��r��7S��>�z�GG�`�J�0��4���
Y���X
�%���
ׯ��Yק��y��4O�S�2�~��lX㊽�Q�:W�m��
fӾ�XH�
_R��PlW��V!g|5Q1Q��l���T�a�b�ڄðΙr�YkÓ�H������$z�
$�4s�����w���S���������:�Ѷ{(�g!��
���
+��G5�qþŠ����-�
x����$h�_�͵/}���^�77:��
�&��%��
+nm���W1��N�rj��/��=��O�{^
+��
+������4>/8ȅ^
��3�;GļR����:?z">��w
�����A�v�x�̷F:��ɷ���ѹ�M�[um���A\���q5~й�07�G��� &k���!(ã���3�c���Z�W!E��O���]�4���?xS:_�������;ɾc[�Hx��u 
�ڔCl�~����K-�¯�]o
C�l� ��G��]Fk�����0���������U�����H�:|���̮��L��ۓo|w���g�3��sq>��C�q����y�ȡ���1t웘}5kVSU�%3�c$�����H�\tz�ԁ��5&��8����Sg��Mǧ{o���
+��e�G6��8-eA0G�h~~9v�������==c�����G��}���{������F��޾��j"��{bVW
�5ݓ���M�c��g�?�fS��
b�ʳ���)H����z�5�TB�
��N��
o��eDf,��sygڶ3�7�I���TH�����{���~u�
+�T��D����(\H�.�2K��]�$��jf
q�H<y$�s�j��Ӵ��e�������&�'��
�K卍�s���7o�Vެu�l
�8���
8JX��z�	6�8P�t�JY	K'��:O���
���^6����6ɡ����n�����e9FsGs�P$�-/��� R�ʹ�C����8��'K&�G�p���){AS��3�%.Ur�k�&i=N��V�žE�k
��C��&bj�
��2C�|^�J��TJ
ܪ���պT�#�g�T�a�g!r9��
7`
X�'nx#lK�
�s���b*Q�����:���Y��%���f�Z��Tj��e��Ek���V�@#ڏ�\٦�lu�ᯔ�C��U�uTÂдQ'�K�A��>&?�G&�1FU�BH���L��	�:h�i��sJ�/濧0�G#����FXg���
˜kvͤ!3�P�eȢ�R��m���I��o2�U�@=�gl����ĝ
��\
:�u���]X�{x��|�</�u꒥�m����W�٫�eQ�� !*?
+endstream
+endobj
+10882 0 obj
+1956
+endobj
+10843 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+10861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 393.234 170.687 404.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag_ae5713be75588690281277d5fe7954a34) >>
+>> endobj
+10862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 365.007 176.027 375.537]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag_ad7aedf33c2b21bb5c7d9c3b441348e87) >>
+>> endobj
+10863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.681 255.378 163.763 266.282]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+10865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10869 0 obj <<
+/D [10867 0 R /XYZ 89 770.89 null]
+>> endobj
+10870 0 obj <<
+/D [10867 0 R /XYZ 90 412.58 null]
+>> endobj
+10871 0 obj <<
+/D [10867 0 R /XYZ 90 412.58 null]
+>> endobj
+10872 0 obj <<
+/D [10867 0 R /XYZ 90 382.246 null]
+>> endobj
+10873 0 obj <<
+/D [10867 0 R /XYZ 90 335.292 null]
+>> endobj
+10874 0 obj <<
+/D [10867 0 R /XYZ 90 273.993 null]
+>> endobj
+1896 0 obj <<
+/D [10867 0 R /XYZ 90 69.164 null]
+>> endobj
+10866 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F93 763 0 R /F75 554 0 R >>
+/XObject << /Im14 10842 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+10891 0 obj <<
+/Length 1197      
+/Filter /FlateDecode
+>>
+stream
+x��W�n�F}��@�C�v_�E�{��k&��`�,
m�,�Y����j�a`�
G��<Q at wq����;���׋�׋��9�8�['�N�#$�K�K�q�}^�uX ���=>��������~�x�^|]x�
b
J')������F,��}��t8ep-���o
l�`D�6��"_��H�C�[B
����O0��ʣ܍�2~��� I)��
GO�b�0
p�  F<+�Q�.<B�o�63(��

+v �#x��4q�����\�)��*U��m^W��^�&^�n�:[.���P�C���K�^&�
�,��<�W��%
�{ZĻ�1?�[��O#	է�O��4�T��Dux{���x�Y�� �
+n����-v��Uj������6�����sٽ'���}��E�W���K�{T�w
��̣[!�>���#��BP�J�}��JH�a�`(�\�F�a�W��E��m�6�?L 

��Y1�["N�E&��7�F5y�wQ�y�5qiC�c�t��Wua�m�8KB�5	'
��	�����
+

Z9�("�aQ�p�	�T#�pd�blw/����ɛv�����d�������y>K&�5����������Uި��}���`�
+C��L�A�B�>W����3Dx ��9F_a��<
+]���6� v�@``
t�1��G�$����#�^�<s�
	�ޑQ�S.:2Jn���6���iw����6��m�G��Rp-1�
Z�fsk3y�7�>.��>]O�H����˄�
�s�2��9�
zV��q������Yz>#F���vcX�0MU:��	���
����$
+���E�g���s

?S��ɷ8wTl�Z�?��X��}��:�"v$�&�iN�A֑Ӄ
+��&S�j�vH{S�Gu���������d�PSA<��D<O3�p̕vtB��W�QH�����G*BA#��/1Ri_a ��L���ja:TU�ʴ=77Q)��x(R���)�N�5Mf'm����3�#���r:��tsd������K��Z�W��m�n����o
1t�����$� e칿&��<�֐�́IR;s
�Gf֏
�p���ÎP���I��용,�V���N5�{B�Vq>��pX��]K^�ԋ��
B樸P=i
�/�w��#<�#�P��M�n�''7�l��
%�l�w���OC�-�F���e�����
pz

+endstream
+endobj
+10890 0 obj <<
+/Type /Page
+/Contents 10891 0 R
+/Resources 10889 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Group 10884 0 R
+/Annots [ 10864 0 R 10885 0 R 10886 0 R 10887 0 R 10888 0 R ]
+>> endobj
+10883 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 10897 0 R
+/BBox [0 0 222 220]
+/Group 10884 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 10898 0 R>>
+>>
+/Length 461
+/Filter /FlateDecode
+>>
+stream
+x��T�j
1
��)��H��Ň�P(��v���C�ͦ����׏�g���ͥ�Bf$�ҧ���z��@�`"N�|��"(��=�]#ܿ�����yU��}P�W�a���:x���(�0h���U��(ԁ8���#��I�E&�@f�0U��#�5L�7�J:����u�B��I��&�P��w��"R��H�'��lm����eKc��A�
+c��+��\����1�	�m��<�
+v�
'���\�c"���0o��vR��솞�vX���l=��"�x�m �
+7Z��4z�i�8/Yz+
�����y���vk4��ѻ��Nv-�f8����:�v,s����y�9�2�R����R#�ɤ��R���������������
gmJ7�/r�S��)�M���X���'!.E�1
+�
+��������$����
�܁?�Ġ]��8�fY�� 
v�9�ߨ��
X�jy
+endstream
+endobj
+10897 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+10898 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /YQDYJX+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 10899 0 R]
+/ToUnicode 10900 0 R
+>>
+endobj
+10899 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /YQDYJX+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 10901 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 722 611 556]]
+>>
+endobj
+10900 0 obj
+<<
+/Length 10902 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Šq��e�q�j� 1��
+5��,|�Ɯ0�>�=לܤ��3���w7˞V�G�
-��Ib]G��Q���[N�&�7�۲��='M��/.����I�=$����)r����ץǧ�f�MdV�%m�i��E�W1K���)���v�����slIΊ+$9a��4�_-k�_mBF����A�o�B9��YVfm�<P�A�@u*�)P	�U�"� 	zD�3�
�$@%h  ��]�؅@qg:�I�|���W#����
���|�	�E
�
+d��WT ��p���A��>eys�8\�0�}������]���d�O
+endstream
+endobj
+10901 0 obj
+<<
+/Type /FontDescriptor
+/FontName /YQDYJX+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 10903 0 R
+>>
+endobj
+10902 0 obj
+333
+endobj
+10903 0 obj
+<<
+/Length 10904 0 R
+/Filter /FlateDecode
+/Length1 2284
+>>
+stream
+x�UV{l��?������]��88N
��~�B�8Oǎ�.
q��R��q��
+� e
�R'U+)вi[ۍV�D�J���R���6�OՇ��Nb�#l*�D�im>�w?'���{�߹����~1"*�.�Զ7�^���†�
�
���g���Q"�o3����	��+<��=������2���|�h��_�l~o�(y��t�l.}h����Wz�&�
%���*���$��X�0:F�N�g3����j� �\r���@�1����F�Ǫ�<~��������	֚}\
���\檉E�/�j��C!X��TX�6n�F�����j1�%O��uֺ���v�:�6�u9k�%&�ӫ�֠�Jz����iu7j�����jS�[��6��miߪ���V���g����W���zw$�os�T*J6�5ڪ*����&�3ؔ�t��8B���tf=��)���$���D���]na����/�n�CR�L���8�Ś�����E_�6�M��xG҃�@qມ��b-u�~�	6�	�
��X��p��݅��
i,�^�x��!%�u�&���@v�"v [...]
+6|B�v��L���Jcjc��X���M��>�u��������8��*Ɖ}]&�w�"�cŞ�i�����-û�l.Ж���W��5D�僊�n�
��f�!�wXm@��LqzlV�C8
��ǘ�9>�L�?6⇹��J�|��Xb���7ܡ�]{�a�+����ݏ�Y�x��
+����S����o3� �NTo
Վ�����L��l(����D�z77�����
�B���
��'Sy��r
�jDl
��w,#w������
�ϭ���~���=��8Vos�{��E|~Ġ
rz�gT:G���4�͹?��l����\G�:�u�
�#���u��ɟ�����o��S
E�"�!��ma��(���K%Ӑ�|�6.��Ԇ��&{�
Ms��^L��l��}鮟*��O��#��O-��ʷ�o��T��B��N_Y����;ڇ��힮(B4h��l�-�np^_X!�_]o�C�n�!��O�ȻL�ʊ������8ׅ���&u_I��=
z���H�K��#r8˙S%ٙ��7f.�8���S�����
t���	�6��>��8dε�Y+U�����Di�7���Y�
������96
��OM�?�gn���
S��Ԡ�V����&��W�O2��\ܖ�0.Gvo}~=~���Tg��������G�Ng������ö�K'~�
����v5%�F'�vO
�>���ͥ�r�
�a��/�P��r����	�hX~
e�Gֱ� �1��@��X#�r��1�V����Ε�E�A��j�$b��dP^Do�صp}�}8���AoK4���?�e�Ũ�Ą��)���x�F�����P�H����	-u*s�b_�W����R � /u����|�f3A�5`C
+�����V�=1Y��k^��!���ڦ����
��5_���RZ [...]
+endstream
+endobj
+10904 0 obj
+1709
+endobj
+10884 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+10864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.681 668.355 163.763 679.259]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+10885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.736 188.4 331.266]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function_ae0f59cc4089db649e630a00531827ca9) >>
+>> endobj
+10886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 287.039 176.027 297.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function_a2e8f64e26c1ae0aba841b4fd773fff2b) >>
+>> endobj
+10887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.681 204.445 163.763 215.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+10888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10892 0 obj <<
+/D [10890 0 R /XYZ 89 770.89 null]
+>> endobj
+366 0 obj <<
+/D [10890 0 R /XYZ 90 721.073 null]
+>> endobj
+10893 0 obj <<
+/D [10890 0 R /XYZ 90 342.257 null]
+>> endobj
+10894 0 obj <<
+/D [10890 0 R /XYZ 90 342.257 null]
+>> endobj
+10895 0 obj <<
+/D [10890 0 R /XYZ 90 306.826 null]
+>> endobj
+10896 0 obj <<
+/D [10890 0 R /XYZ 90 249.043 null]
+>> endobj
+1897 0 obj <<
+/D [10890 0 R /XYZ 90 148.451 null]
+>> endobj
+370 0 obj <<
+/D [10890 0 R /XYZ 90 138.225 null]
+>> endobj
+10889 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im15 10883 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10918 0 obj <<
+/Length 2019      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o��~ׯ P�G��޹4�MZ�p�)-ZZKl)R%�8:���^H�%ˉ�����3���7߬p�
p�������&dA�"Iep�D8%A���~��$�L	�x|7!x
�xv7�x����^���䡈����mV�.f��⬂��:�&��|uCH�

��vV�uC:��eʢz��$�`�x�����
��
�ݳ
�N㲜L��nm�ޤq�ͼ`�(G��`J��p3��G
����n
�
+a!�%�����ѿ#�7
{�\�P����_8X���X��';h
p���
�>�
�V�G��#ku���
(!��AWq��l�*�T΋dS%���Սl���)�[p�V�>sǓ �"��
�b��m>�

C�';�æ�e	֐=&X��HR�\���|�]묊�c��c�mT�ģ3��d�X�L����,�u=U׋�i>�b��dK��O�i��;��8S�y�0�`�I��z7p��M�V+�M ��
jsZ��""
�&�m6
�
)��C �T�0$T؄N
$-7�Ĉ��.��ܸ�0
+�;!d�R��jB�"
Px�Rv=p�1��qM���% rO���W]Oj�:��A
+_�2� `���
)m�0�=r��
+��Ğ
���H�� ��ea?��
E�Z�s$	9X��H��p��s�N	�:Wn�.j�<F7S��!�Wq��a�O���� ���f���l�nz���B@�W��k���.{��)���b0D$�S�B�	
.c�H���}�J��V��
�
��h<��j��Y��Λc�ٱ ��F�y��� �L� R*�{ �x�a'K0E��r��X8	I�#r�g)�f\^�`��
�3)
+q).�	���zr�IM
1\�2�P�Xط|Dfڍ�ЅL��9�JW�D?����.w?#��_mu�9_m��L�."��Z"z�ں���j{p������8
R
+�i���j�«|�-��C�8f��
��|�A�=+F�&^�	��E��"��
�A#0��^��
+�d�����>�2=����$��)��z�mrȽ��+��
+�h��ds��$E�~A�C�]

+�=�	z���l*Ow6r�E��%@��!;���^�x@� g��
������Cx��fsC`eW�
��P
C4:�4��F��ߙ�,�>;��Qf��Y�Xq�_�ѝ�G���24��
�'G��K�������� �n���S�)=��=��a@Ȭ
+��m_T
8S
\:v�2ۺ�AOI�Z�Mcn7��i�����\�"�a�
+���@��7y�/�9�I�m�g@*�2;�� �]�gL�`���9Є/��IS�_{ef��g�m1a�S�!P2
�I�ۀ�������zf���g9�+���M��î��I|�2�c�z��m�@U
�{4{���wn����7�9ᅵϷ������Ҫ�K�(A�D�Q��u��0�B@�xd�q��2NL�Qw��� �@�
+�� ?W�
4��*.���-/`�Dԟ��
�����sIw�
���j�����q���S'�>̡%J��gi&e[�:L+���
$'Ԛն^�q���+�
V�U9#{Y8�?�
"��f�'O�Z����
+Qbb�B|�U�FZ��8�	�����۔��l�ƴ��k
+
+՞��J"��2?f�C�g��CZ���n
�I趜��8Hu5x� �
����7ڽ?�h���$�3��F��}.n�@�A3�d���,+�`���~~���E8�
�����n}�u;{��m:x}
�O�N�7��nի#uj�<����|F%�X�����<&!U��
Q��F�����!wlX��'Q�8�{ӥ�v@A�fD]�g���`�"�ei}x�������S����m_`	
"�����ݯ��R��1���[�5��Ģ���Eٔ ���B�)��Vׁ��'��~�����pd.b��WU����z�.��-��e{����!
6g��3�zj��\�R�����
6WX�>	8�Ga�Ԏh?�/�����?�p��_�����
+endstream
+endobj
+10917 0 obj <<
+/Type /Page
+/Contents 10918 0 R
+/Resources 10916 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Annots [ 10905 0 R 10906 0 R 10907 0 R 10908 0 R 10909 0 R 10910 0 R 10911 0 R 10912 0 R 10913 0 R 10915 0 R ]
+>> endobj
+10905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 271.192 169.013 282.096]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ac6f109ff4cedf174407647a6a1ff1566) >>
+>> endobj
+10906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 271.192 205.556 282.096]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 242.435 244.38 253.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) >>
+>> endobj
+10908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 213.678 191.718 224.582]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 213.678 288.852 224.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) >>
+>> endobj
+10910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 184.921 191.718 195.825]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+10911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 184.921 303.079 195.825]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) >>
+>> endobj
+10912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 156.538 146.637 167.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab) >>
+>> endobj
+10913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.948 91.542 286.957 102.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a546174614e2bea37b0f6f5717a90c218) >>
+>> endobj
+10915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10919 0 obj <<
+/D [10917 0 R /XYZ 89 770.89 null]
+>> endobj
+10920 0 obj <<
+/D [10917 0 R /XYZ 90 721.073 null]
+>> endobj
+1898 0 obj <<
+/D [10917 0 R /XYZ 90 632.36 null]
+>> endobj
+374 0 obj <<
+/D [10917 0 R /XYZ 90 625.221 null]
+>> endobj
+10921 0 obj <<
+/D [10917 0 R /XYZ 90 534.572 null]
+>> endobj
+10922 0 obj <<
+/D [10917 0 R /XYZ 90 484.859 null]
+>> endobj
+787 0 obj <<
+/D [10917 0 R /XYZ 90 415.189 null]
+>> endobj
+378 0 obj <<
+/D [10917 0 R /XYZ 90 408.05 null]
+>> endobj
+10923 0 obj <<
+/D [10917 0 R /XYZ 90 290.616 null]
+>> endobj
+10924 0 obj <<
+/D [10917 0 R /XYZ 90 290.616 null]
+>> endobj
+10925 0 obj <<
+/D [10917 0 R /XYZ 90 260.125 null]
+>> endobj
+10926 0 obj <<
+/D [10917 0 R /XYZ 90 231.368 null]
+>> endobj
+10927 0 obj <<
+/D [10917 0 R /XYZ 90 202.611 null]
+>> endobj
+10928 0 obj <<
+/D [10917 0 R /XYZ 90 173.854 null]
+>> endobj
+10929 0 obj <<
+/D [10917 0 R /XYZ 90 145.098 null]
+>> endobj
+10916 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F22 2996 0 R /F75 554 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10946 0 obj <<
+/Length 1586      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6���<��L�
���Lq�i���zJ2Z�l����c��.H�%і�(���!E ���a���<���<�
�(�i�%��h�i�)������{�g\ލ^zL��h	��ǿ��j����ܖ���zz��G
+)ߛ�zo�a�
��0b��>�f
�
��w�����.����
���3�S� B
+�R*���fy���Ķ����63�yd�68:a�Q�*Ĺ_V���ђ$��U%�nn�`fC*p�d��Hq�}qY/�
�qZ
+��굶yHF\)�!H
Q�|
��N���ӈ�tݒ��B0�e��X`�;M��a|�,�;��B���]�	F�U�
Ϭ��aI
2�����̀�~-��Q�&�/��{��C�@����zgf�dvY�4�����Ȑg϶
Qh,�1��Ƈ�||��-���I�Q�ч�H1��N	�re�[�8�Y�.�
a�^�7y����*45
O�8H��*nQ�U�i��i�ƭg�΄�b�ﬕ-�5p5�j)y�q��$�-�KH��+�:4&�v�ъ�0Ej$aVz7*q$qM��0-*���
�z(�kG�tD�)

��3��8
��S�jd�!�I��&
'���ķ�Ο�Nj�ɴKiJ)b������v_v�wJ]�u�!E�zz��-�1����-���޳��C���r����%�k�p�l�c~a�f�l/�6�
"��F0�(!��xZ�r�4�Oa-�H���݌]�b��o�m���?��8���m8
�0�ǟC���Rv(	�J;��}�l�L�����,�
t[fRPO��
�e�Vp��<8KX\\
��88�
�������%�E�t�	�Ă�Vi�!�ލ�)�_c��̀��m�I��:
B�/�%

��� t�YR�FU(X8���]��$��F��{K>��u��Swn&Yۡ�.�
��(p�(`����5��?���O�Bl��>�����y���T����g�N���%Aw���n�E��	�]�@p���Q�FV�O��
�1	E>����ʇ����<�� �aښ��u��\�EU���B��Ⱦ:
R��[�c��:��f����������?���Z�!k}��ual�q��if�,,
Յ�{���LT$��w���S��Dݯ?/�ua�3%�|���S���W�
a\3x2)����
`����%6|���*0\#0�����t��C�Վ�D��%��	D�
��
��
8��
]ơU���bׯ���K�4������53SەIW�
+^�qQ��\�
Q�w��
a��A�ix�4���t��t���	�p:�?� ��1g�艎$@ ��[f��|`����s�/�aD��j/y�!Cި��#Ȗ���־J�~�d�/�Ӈm�
R>���*��j�	F�

w'�pff�t��ӲS�����g�)ʶ=��h+O�� ��&JѼ�y��m܃���~M at X-n���t3�!���\��K�2�z�������,��w	�A�,0��2�-�3�C��&@�gH��M9�
+�����͞$�
����u�͏��.�W���Фx7�
��uWF�&n�fI9�a
�8hu���Kd
+endstream
+endobj
+10945 0 obj <<
+/Type /Page
+/Contents 10946 0 R
+/Resources 10944 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10838 0 R
+/Annots [ 10914 0 R 10930 0 R 10931 0 R 10932 0 R 10933 0 R 10934 0 R 10935 0 R 10936 0 R 10937 0 R 10938 0 R 10939 0 R 10943 0 R ]
+>> endobj
+10914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.096 636.226 211.105 647.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a53dfdee0a44161ba830690eada3b59e2) >>
+>> endobj
+10930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.948 570.531 377.467 581.434]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ad7a9b929f459945a7578b161edcf5d4b) >>
+>> endobj
+10931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.899 516.79 324.725 527.694]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ab5e4dd91b02f044f26a9fcf244ec0c5f) >>
+>> endobj
+10932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.037 501.202 313.023 511.107]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+10933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.699 463.05 306.952 473.954]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_adb7748cb7d0260ae8e1428698a3076e8) >>
+>> endobj
+10934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.948 386.395 285.413 397.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a0392d17d04d6a71534e7edc09d5a2de4) >>
+>> endobj
+10935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.228 386.395 360.969 397.299]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.948 320.7 280.731 331.604]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_af859c3d302c3573b8e2183e4370321b0) >>
+>> endobj
+10937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.546 320.7 356.286 331.604]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+10938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.096 219.139 186.477 230.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a112e023392095ec2ae4e8d3ac7cc8eee) >>
+>> endobj
+10939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.096 133.489 183.459 144.393]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a2f75012f0260eb29d28e3f6ef60c97f4) >>
+>> endobj
+10943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10947 0 obj <<
+/D [10945 0 R /XYZ 89 770.89 null]
+>> endobj
+10948 0 obj <<
+/D [10945 0 R /XYZ 90 721.073 null]
+>> endobj
+10949 0 obj <<
+/D [10945 0 R /XYZ 90 624.623 null]
+>> endobj
+10950 0 obj <<
+/D [10945 0 R /XYZ 90 505.187 null]
+>> endobj
+10951 0 obj <<
+/D [10945 0 R /XYZ 90 95.011 null]
+>> endobj
+10944 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F24 529 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10964 0 obj <<
+/Length 3097      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_���T�`� ��T�r�٤�k{����#Q3�J�LR
���m
<@A���>mj
���F�ϯ�����x���/�%(�T��mf	�)� !�m={?'I�X������yZ�������}���?�UZ=�x�h��L�dgn�����KB�N����w7#� V�,ig|[
�5_1�XR�篊͂�y�.�D��~}�:o'|�M��}�H�<��i���7��lFϳbe�(�sƕ�y�û��7��q"H��jw��7<[��O3�X�gv�n�)����ۛ�`/}<Ԃ��q�g����J������oJ&�����ִ[� q��B��J	�:J���Hw^(�:�WH8�SF�%D#��H7���DP$���!��O���߻�xu�E��Ǜ�{�j�`MnH���+���sk���E9�
�7�-%QB��v´:Aɡ�Fm�"EĔ\B����iQ\�!��p����GP	x�yN�v"%�&B��`"
I���o�}��ө@Dt�|vS�
+I�i�!o�cd��<F��:A�c'
���çK���g����G���0�֯aD")�y at Z'�Z��}֤�6[�\��^U����"

�20��
1�ļ'�cH$l$��I� E���\,���"
��
p!q�B�!NF�=�����(
��
��W��$f(�j
+�P��C)�
00�QR@�2�z�( �!s�#
 *c	�
+
+�Hp�Ч�|�@���P��	�#��Lӑo�5;�K� ��@�'��x�a��H�q.x�Y���Ce��UV�i�o}�^m�:[�i�������*� �X���|@l�2�a����ݽ��$�θ��a�y�vO���6�v0[
E�	�|q`��� ���l<gEӮ}�l��4��b� Rܺ���00ʹX�m��{��! 6���
��
$Zx�����s�%�Y
�o�ƭb�
|?��IӲkR�ؔ�mi�}�[��aw���l��Y�"�y�0
B�<�
 UA
+�I�h߼�hWym&��y�6��úJ�Y��;Îpr7O&�6�i�'Z�j6�T�.b �8#���]aؐ���>�"� �z�kʘU�v��j�гOÂ��e;�Z�a��K&1R��!x�8�&B�iĦ�5��3l�$y�x��ݶL��*T�2��c�@��ջ��N��V{�;ЄY	�o�o_s=�[�j�)�Xu��l�PdO4
� ȳ!��#�.��씘�PZVq1+�
[�I�Ju����@К{y�3�.\�9��}L��~/+�C���*#�6D�nh_���OyG���On�w_~�Fl�sc5���y�N(����^��>��q$	��J�H����0���O�
��\>2���
9����ì��0e�&��,�t��1nh��c�Z�F�گT��We�T |�`��uq
~�q�6Y�
 ��77*�.�
���t�i`��>_ݏ�?�����,t�&�Y�˽)��}Yy�/������m����b���s�e>3�Z�+���1L�u [...]
1�
�O��M�s�C0Y�| �]�+ե����r���A
�$�����v��.��
W����eT=���J "�%���qza̯�oL*K@��
F��>��+
�"�Z�Q����9����3g�R��m�AH7cB��"��ŝ�/<W�̰hS`����	Ś�M��6/�€S���v�s%@)R��%x\�[�� �
+>��
]!�����%R�����1b���P�*���܈@ɠ�}
)�Nv�C��B)\�R0Uɯ�,�A�eM��L�sY
p�ÿ���F[l��K:/9���Q������}��U�
+ND!����Å��"�Ɏ���,��|~c��;�b�|�8�zP%bv���+�����[��[���.˚�E7է�^tl���8���Md�S�M�?�	{l����٪	�P7�d1�fX��D��Yι�isJ�X(���7���>q�'ದ��fԗ׀ �e1ELu1%�
& -�m����d���&���ͬX��1���S�N��zX@�F��T�!�hPD9‘��#��T }��\@&
"��Hr�
�ZJ��Hj�������<��䎙��|��
��7�M�9���5�?��A\Өy�
�:�;�BZа�8�	�"�m������}i�%K��
�?���9h��E�ZYx}
�M�%,��-$�mָ�2֮B��e�B�l����[���çq�^h��
�&�`bJ�
+�AvW+3ޢ��
.,F.7�sҕO�E���T�������=�	�MV�MlCjX�\`.'
+ @
 �Q��zu�9��=�=��9��R0R�iY �����#��U�>͎�H 0�;��o
ؙNJ�O%q��VZ�SB�����l�&�.\���MV4�9d�RO �	����ɶ�x����{ ÂH	��C�m�Ō
�]����
�W>��u��:>,�����y�͋����|#}i�!x��:v���&v�@�m-�8x�*�uWI�}����P���vu��1�	�t�����q
�k?���F3sT�@�
џ�DX����
�d%����X�J�
+ ��j�^�0~��ʝ9O���{�m����27&6O�
������K���کY�hy��7���	�;-�!ߨ�'ߨ��n �Q�Sv�5�L�"yԚ�A8i����Q2�d'M�RЁq��UrÀ���w1:�I�}�v!� ذ���
+� ���1��(�B�#��DG\Lr
�:׽���
d��u����
e��oo��7L�7�COD��^���=����[�J�%-m1�
U�5 P�;v,��o�������}��kT
n�
+�]йo�����owuVܡ��a�
�#�}���@�o���*kO�`pg
jh+G���$�%���?&�6~�o�ll?��_�����_��/{���
+endstream
+endobj
+10963 0 obj <<
+/Type /Page
+/Contents 10964 0 R
+/Resources 10962 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 10940 0 R 10941 0 R 10942 0 R 10957 0 R 10958 0 R 10959 0 R 10960 0 R 10961 0 R ]
+>> endobj
+10940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 156.281 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a252ec311fb17e29a3ddcad44b746404d) >>
+>> endobj
+10941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.002 192.824 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.738 696.002 324.465 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 656.832 156.281 667.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a252ec311fb17e29a3ddcad44b746404d) >>
+>> endobj
+10958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 656.832 192.824 667.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.738 656.832 324.465 667.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+10960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.583 253.907 295.607 264.811]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+10961 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10965 0 obj <<
+/D [10963 0 R /XYZ 89 770.89 null]
+>> endobj
+10966 0 obj <<
+/D [10963 0 R /XYZ 90 643.564 null]
+>> endobj
+10967 0 obj <<
+/D [10963 0 R /XYZ 90 594.925 null]
+>> endobj
+10968 0 obj <<
+/D [10963 0 R /XYZ 90 343.612 null]
+>> endobj
+10952 0 obj <<
+/D [10963 0 R /XYZ 90 320.518 null]
+>> endobj
+10969 0 obj <<
+/D [10963 0 R /XYZ 90 320.518 null]
+>> endobj
+10953 0 obj <<
+/D [10963 0 R /XYZ 90 204.392 null]
+>> endobj
+10970 0 obj <<
+/D [10963 0 R /XYZ 90 199.909 null]
+>> endobj
+10962 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F90 758 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F118 4003 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10976 0 obj <<
+/Length 3044      
+/Filter /FlateDecode
+>>
+stream
+x��
�r���]_�'�����_4n<Mce���k�O��CI�D�������`�% ���:~А g����n"
�|�����b�AFR�_GG�$$\]E�����_"&5"F�S������������oG�Ώ~?"��H@ ����ѻ8��ۿD1���n�,���4:;���q)>����1�%�� �y�C�gؼ���E�:d��Oe�i���&�'f,{��˗٣�εmGD!�31���I���KĆ#�1
,���t��-��SB*�+�$�k���Vx; |^,X>���xGT���P��|�ٔJD���Hs��r��6�7�J�A�:H�pH�8_%W��p��"��C�*v�lŎQ�4��v�j����{�\I�s�� ,Aּ�!�l�
g���v�1���mr3a��.
�� \��Fh�#F҂��dDn�����P
��&�	�"���Hz�	��c!I����:@GƐ&� �YI��4��V�y��
F����l��L��<	IW!J[�/l�'ܰj��g�''��x�ʕ��*00�i�>�	$�hb+�
+q�]le�Z���C���k�		�D�vtW�6��6�wC���d'�OX/L��z�����j�
��Mu��%[��kG����G�l��!���b6��fH�`>}���㏿N.����I&;Xt�V�dG�DR��6�P�F�
��cd�aQ ��5s���
R��
Ql;:蒴t�AR�ش�$Fw��E�
c�<=�O��^x���P\��*��[!�����c�C�G
ED_��M'������b^����*c��\���!
�H�f9O�%`Cu�*�ճ��#�������.\(�Gr�DH�h��$�N����i�2���H��`�fH&�4���Q��_�:~����9�- 
�
/�o��3��v'�(_g_@�C*2_
/2���E.��B!,LEB�(� �˻5�'�� $XDq]�f�� r�E��v����b���!T!�/��m
��ab�߽e�c�$�I�}.�t��\.�+{�-0w�"���b�[$��c�v������z���-&K�����f��4v�k7��~~���L�}��w�r)�7���x��96;�LX�vW�;�����@h�<�&�Ձ��?�H�z*�I��g\
��H|l����'�f�@�
'Y���M�;:�
+j�1e�
 ��[��YEY7�
���V�M8�.����m�_�u���
vX�L����_4�/Z4��Y�k�?�h�x�5���p՜�$�#z
��P���
�0��^K�"i[٬uײ��U6�"��<�b��ܖ�)�
dŃ4�K
ʡ֞�,R��B�rH^�� ��9�@\#
+빂���Φ�
�&k�/T����y�2
�m�6i�+�� P?��x��p�r�7���0���+Ǡ�R�Jѱ�&��wd��fr�p٦�Ϟm�AE��
�
���H:@�~>o4|hX��SɁ
p�D�>�� e���gkO
�iW�J�{���?!	v} :�VM��
reRS���'z��v}X��+�}�`�mH� 6p�(7�u}@Z*�����
M���6raN=l�S*����YH�i�U�m�q8
�U�}�i:��E-#Y�gġ~]w\�f-�e����Z���`gǎ*TCg�6�v
�_�ÏO��!L 
;{��?��T���
���7�B52�R"3���c̀9�
>�
P閬	��m��{��W���MP
+�B

U���U
P��O��Vn�V4
+=��j�a�(T=��l_��ڬ|y��+��`q�^b�4��������zcJ[�Vi�8܇�$�%RRױ��[�H8�ڄ�5]
��V�
�ksv�c��6�
+
{hѕ�o�m��/O���?I_PJ��`�;ӴC��ml�No=���L���KQ�C[��"��A
+��+��t�E(��r7Uj�m:M; B�$M���H�7)
Dm$ɩ��L�!�\ޫTP?n�R�FI3����R��!#��
lKc���p�7Ee��2wO.�����N[C}jso���i<X!��$�ua�X%*k����/ߜ�z�Z���O��o���)�m�����e�S�&em[��B����XY|��^��H�d�NӞ�m��e�zL(��q��>Ƅ^�;�Ә���cB���1���2 �A~�Ø��T�=地��9���~P�c׃B_-��I!�"�>|Rh��	�?�����'�
[��Ia�ZO
+=N}��B%�L
+�;b
`(=tT�@k,(bXìP4�
+5��}�cg����

w	UW��М�8��;r�� �rRȊI�*'�ܟ���B�05��f����%p#T�Yߩ�;���q�A#��U ��
A���C
'S}�8�%�I!oC�4��
������:
�鼁ȋ�.�_p
0A��u���
2uSi�
�~�j_`��Dv
iv��Mc��b�۹

�1�‚�������`\�$��v9C-�
r��8xV����ٮ�����i�z�f
c� ��y�S<
a�Csy-��6��e�怭��5��O�{D�Hw�s�������b'Wi�
+�5�ʾ�chq~q�J.�Q'w���r5��eq�i�)
+ו�g��m��]IH�j�A������)��Q)[:YX�~H�`>�� ������]����ܞ=-��C��8"�������e�6��݉��L��s>�UP%p]{��7�&�A{��'F�1���OJ�-k�]��"Cy��l�%m�vnA������]��$$R�|� t��ޮ���N[|d'�%��D�����;�����
���W^�w����!�I~\�r:N���/n�$^䩄}r�N�W�W_ϧӹ=��y��d��9�i�Ѵ'�9�.�0�|?D��ލ����)���~���%	�
e]��R�An����g��
��������~&�q�zƢ�� �7x���#�l��M��-f�8��M}ɼy�k���i���P�A���������!�� 	��+��
�xp�9�2��S���#�^|�=
^���rywr||��I��]f���W��a
+\ƂB�f�EN�$��3�h�.����l
+endstream
+endobj
+10975 0 obj <<
+/Type /Page
+/Contents 10976 0 R
+/Resources 10974 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 10973 0 R ]
+>> endobj
+10973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+10977 0 obj <<
+/D [10975 0 R /XYZ 89 770.89 null]
+>> endobj
+10954 0 obj <<
+/D [10975 0 R /XYZ 90 686.656 null]
+>> endobj
+10978 0 obj <<
+/D [10975 0 R /XYZ 90 682.172 null]
+>> endobj
+10955 0 obj <<
+/D [10975 0 R /XYZ 90 506.923 null]
+>> endobj
+10979 0 obj <<
+/D [10975 0 R /XYZ 90 502.44 null]
+>> endobj
+10956 0 obj <<
+/D [10975 0 R /XYZ 213.955 367.166 null]
+>> endobj
+10980 0 obj <<
+/D [10975 0 R /XYZ 90 362.683 null]
+>> endobj
+10981 0 obj <<
+/D [10975 0 R /XYZ 90 234.305 null]
+>> endobj
+10972 0 obj <<
+/D [10975 0 R /XYZ 90 212.262 null]
+>> endobj
+10982 0 obj <<
+/D [10975 0 R /XYZ 90 212.262 null]
+>> endobj
+10983 0 obj <<
+/D [10975 0 R /XYZ 90 154.119 null]
+>> endobj
+1899 0 obj <<
+/D [10975 0 R /XYZ 90 70.165 null]
+>> endobj
+10974 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F117 2446 0 R /F75 554 0 R /F118 4003 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11017 0 obj <<
+/Length 1537      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�a@'�5����m@��E�v�Z�S[���Bmɕ�$��;�Ȗl�uɀ�HESu�<�
O$v�v^v~�u�^H�(T8�+'Ď�C��9]���^�`��K�`7�gQ�ң�ͦ�I<ʣ��d�G�����]��I��=�q|~��q
�Y�u)���4*
+�|_�fT:���2��������G��C�@�cG2p������A�k#΍
4s|��:u>t��`�F����XOa.BP�9�\����yJ}��=�
�~��p�U
�@��j���|�f\z��
!��w����c�� ��:�n�jJ[�/
+}q
$F�ц=Op7��
V��&�Ǔn�k�(+��^\�s�f�.��˼�yjTؔgf{�Il`�i��x�e�̎�G���1X��
�G��T�#e�Y��
	*�?&�p��f$x�
�� #6n�K"��j�|>E�I�<��@�jد�F`hBj����b�
�&@{�

�o�� ���X��2�Ң��6�@>
�
���\|��o<�4����޿�8�
�ت��{
+�O�c�#;����ג�H��!��j=� �|1,m~�*������h��֒Q
kC)�+�ջ����=����X1�=Q�=	u�u�<K�2I�6T2�Z�i��(�c��j+�<a������o�T�%�Y���y�6u�T�@N��Ĵ�l��P�[���o��'I���^��B���*�|�f3
fS�G�����7�1�/��<:�k]IBv���_���s�
��ϟ�7Ѽ���
+�&)�J,��㰢shٕ�$3��j�/'I�h�m�B�O���ͣ�<R	?/�dljU���P�+ֶi bY��"J�ؔu6�@������{���*qg�?3���)*⿢�d
�q���Hc��o�ʼ$=N�'
 L�T�{T@�a��
H
+��$[�
�{��SB����=�xb�"-x����W֝bY'x�׷7"ls�e�D������WJh7����\�i��p��ҦX�W`���������ڶ��1$
�����g�A�Ƒ�!��{�v׿���ݻ��
����
%�v�$w��4�\o0T��U�,[�,"2��eV�����i��(A��v8��
ሄF� ˦��'���=��l
�-t� Iy2�ߪ�֟���ۃ
+�I(ΏL��ɹ9{w�	�y6����"�L�������4�_�0O�j����^6�Z^�_
+H~üJo!w�td�Gq��(Mn��Q�vTCB����̐����J��*$6�G8ruZS¢����K�%W�ƨ
+��M�ߜTx��&����)
\k�(� g‹���i��ٜ�F��
+�d�T�m�Sm�V۫
&��a�p&a�8�pW� �z���D<�ܼ��|c�q��ǹk�|��hꭲ��'W���$H/� =a}�����ũZv�\m��>Rǚ��IY�����q�c4p�"��G��\E�U��,�W+6t�4��:��pI!!h���
�+/�Wk�Ճ���Ռ9�g ����_
��
+endstream
+endobj
+11016 0 obj <<
+/Type /Page
+/Contents 11017 0 R
+/Resources 11015 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 10984 0 R 10985 0 R 10986 0 R 10987 0 R 10988 0 R 10989 0 R 10990 0 R 10991 0 R 10992 0 R 10993 0 R 10994 0 R 10995 0 R 10996 0 R 10997 0 R 10998 0 R 10999 0 R 11000 0 R 11001 0 R 11002 0 R 11003 0 R 11004 0 R 11005 0 R 11006 0 R 11007 0 R 11008 0 R 11009 0 R 11010 0 R 11011 0 R 11012 0 R 11013 0 R 11014 0 R ]
+>> endobj
+10984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 612.06 144.674 622.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a1ffe9c9777d454e5bc5d0ad41887ae8c) >>
+>> endobj
+10985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 584.757 144.674 595.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ab331b1dede4f6e83d3eefb864929a9d9) >>
+>> endobj
+10986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 557.081 144.674 567.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a1ba31de49e0fcff11975c0e8670269b9) >>
+>> endobj
+10987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.369 557.081 281.012 567.984]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 530.151 144.674 540.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a64ca0878a1f4a3c338b920ecb7c56c4e) >>
+>> endobj
+10989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 502.848 144.674 513.378]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae432dca61c738591a5c53f135631c8e5) >>
+>> endobj
+10990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 502.848 202.776 513.378]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 475.171 169.013 486.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ab18c32ab9d8e6a7fc785165b6aa4db56) >>
+>> endobj
+10992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 475.171 203.593 486.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 447.868 144.674 458.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.414 447.868 196.221 458.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a150a3fcf4b23e91a58c5acb8a455fec2) >>
+>> endobj
+10995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.558 447.868 254.322 458.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 420.565 144.674 431.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.414 420.565 196.221 431.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a701efa51459fa5353f1620f9a1524f52) >>
+>> endobj
+10998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 393.262 144.674 404.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+10999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.414 393.262 201.839 404.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a939f1c932a39f3ac0d579352534ee0d8) >>
+>> endobj
+11000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 365.959 144.674 376.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+11001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.414 365.959 197.038 376.863]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae8f1b6153c04bde0aac8592ff6edbe36) >>
+>> endobj
+11002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.656 144.674 349.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+11003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.173 338.656 191.598 349.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_aa29c608bc5c4c8d0b1d42dacc5ff516f) >>
+>> endobj
+11004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 311.353 144.674 322.257]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+11005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.173 311.353 186.796 322.257]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_aadf870c4d6fea9b5650aa888c2e79ca2) >>
+>> endobj
+11006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.377 284.05 205.546 294.954]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a27ebe448697b1357cb06c60b471f4045) >>
+>> endobj
+11007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.179 256.747 263.349 267.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ad9420cd4a63cbe1e155a94a8064f86b5) >>
+>> endobj
+11008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 229.444 179.554 240.348]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 229.444 204.032 240.348]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ad4a1398505beae32e88bdc66625dcf92) >>
+>> endobj
+11010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 202.141 180.54 213.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_af7e70970808607a85d1daa4548c400d9) >>
+>> endobj
+11011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 202.141 238.641 213.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+11012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 174.838 178.239 185.742]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae6ce7cc93a11ff81885948a776dd0e56) >>
+>> endobj
+11013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 174.838 236.34 185.742]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) >>
+>> endobj
+11014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11018 0 obj <<
+/D [11016 0 R /XYZ 89 770.89 null]
+>> endobj
+382 0 obj <<
+/D [11016 0 R /XYZ 90 721.073 null]
+>> endobj
+11019 0 obj <<
+/D [11016 0 R /XYZ 90 630.384 null]
+>> endobj
+11020 0 obj <<
+/D [11016 0 R /XYZ 90 301.014 null]
+>> endobj
+11021 0 obj <<
+/D [11016 0 R /XYZ 90 275.437 null]
+>> endobj
+11022 0 obj <<
+/D [11016 0 R /XYZ 90 147.206 null]
+>> endobj
+11015 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11041 0 obj <<
+/Length 1801      
+/Filter /FlateDecode
+>>
+stream
+x���r�6��z
+�Zj��q% /�$��i�Nԕ���
s"Q�D�����H��l]дIW�x9�	���(
}�p�������d�F:�I4��4�$�H$�k]�L����%
+��]����o��̹������)
�*�@RE�����fp�u��*z(/ZD�2�Σw�?�j��
+�k6V�������pD0���2_��i�\
G����j�"��XN�i^L�l�����F�#Ƶ�4D��.��Ǔ�b�� Dh�
%*�O�EZ�
6ߘ�#�Pe$����2/�CB���t��Q at 1E�� 
+(�+x�]�&О*~<==;�y� +���#,����0�*MOO�"]M�o�����cp�Hj��.���
+���,�gy��3�ɫ�-eD%C�K�`i���n
O8���6ˇ
�
��'�lf:�BĨ�*p��,a��6�q����@1�4$8N���@�31��强@��K�d���mH�,�;�(%��"[��j/7:}4"�!.;
���0T ��1�����3�x	uʴ%�2��i
x&g���`$���b�h},1uU�뫴��L.��%�Ժ6�����������f?�����D�9M>��jĘD�1�H
;h^�_���4+��(
:��

J�Y��n��E���aYm�cLW����S3�U?�7�����@�'ƿn�c���íH�Ҫ���"i&��~��֋�y�:i�uqB@}H�4O$��(���lD@#
	���O�w8*m":a�$ic�F��R�
p�z~�d\�~{��(��
	��T�b�m+�>|�ͦ�
��
������-[�X���$A���n� 
��Ј�]a��sJ�bP>1�݉�k�'BC�	�	ۛHp��IؙB���	x�������B
),C�c	��?��Wi�F
���Z�8ޮ�`D�8~>��0C�*
�ҾЉF�ס�
v�0&<"#&D��F�D�>��A
�u��F����r��0g��,��#����xk��2�
	��g�#��2�'�����vs at H3 [...]
+�F�B��*�
j�"������H
����� ��G��vRta��h��
+x)]��H�;�٘>6.}N��
��T���;4b/�P&���
n�H'�n\�ܯmG\?V۳��E
!��ьh8b@�a�
z��
�TSt�Z�!-��/�5�ެ2@�j�N�PA̗q�u�w��(vg
��!XDŽ���N u�
+v&�Ϸ��~����H,�l.�k@'���޾I
�L\_؋*
+�,�HBv��_
�3\0��[Pqg��q3��P��2>�E+��<x��$(=ƀo����8����h��{p�]��v���o�l�HH�o�G�� �%��x�^���`?	�
���^��HT����Q0�@�7'���Iw�=p��E/��	7�x�&�kr�o�Q��
�{���M���:]�h����'��d��4!�e`�ŧ:^��S��;��n�~�e�6(�~K
pBP��Eqwzrr}�q���&����Y�?��]_��b���7��!�NWB�
��m4
+endstream
+endobj
+11040 0 obj <<
+/Type /Page
+/Contents 11041 0 R
+/Resources 11039 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 11038 0 R ]
+>> endobj
+11038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11042 0 obj <<
+/D [11040 0 R /XYZ 89 770.89 null]
+>> endobj
+11043 0 obj <<
+/D [11040 0 R /XYZ 90 721.073 null]
+>> endobj
+11023 0 obj <<
+/D [11040 0 R /XYZ 90 704.201 null]
+>> endobj
+11044 0 obj <<
+/D [11040 0 R /XYZ 90 704.201 null]
+>> endobj
+11024 0 obj <<
+/D [11040 0 R /XYZ 226.769 647.029 null]
+>> endobj
+11045 0 obj <<
+/D [11040 0 R /XYZ 90 640.055 null]
+>> endobj
+11046 0 obj <<
+/D [11040 0 R /XYZ 90 571.815 null]
+>> endobj
+11025 0 obj <<
+/D [11040 0 R /XYZ 226.769 519.521 null]
+>> endobj
+11047 0 obj <<
+/D [11040 0 R /XYZ 90 512.547 null]
+>> endobj
+11048 0 obj <<
+/D [11040 0 R /XYZ 90 444.307 null]
+>> endobj
+11026 0 obj <<
+/D [11040 0 R /XYZ 226.769 362.034 null]
+>> endobj
+11049 0 obj <<
+/D [11040 0 R /XYZ 90 355.06 null]
+>> endobj
+11050 0 obj <<
+/D [11040 0 R /XYZ 90 287.796 null]
+>> endobj
+11027 0 obj <<
+/D [11040 0 R /XYZ 226.769 217.878 null]
+>> endobj
+11051 0 obj <<
+/D [11040 0 R /XYZ 90 210.904 null]
+>> endobj
+11052 0 obj <<
+/D [11040 0 R /XYZ 90 154.619 null]
+>> endobj
+11053 0 obj <<
+/D [11040 0 R /XYZ 90 77.486 null]
+>> endobj
+11039 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11057 0 obj <<
+/Length 1813      
+/Filter /FlateDecode
+>>
+stream
+x��ZMsG��+���kG�=ߪ�!��T
;Vb��\ki-Q ������
X��SQ��C��~�o{�
Ur�p��ˀ�Kz��tp�Ԉ�1�Q'���#
S�ޝ'�S�Lc��<=ɀ��tT�=ɐ���ϗ���x�|�nZL??~��432�f`Ӳ<>
��i1�L�
O_�Y}�g���W��Jo^�H������ϧ�� �<��b�&g���7<9����#���Z4J$
+z�J^
�����C�z� :2Ѹ��
�+=\��ӛ��|8��L�nF�x^Ty�m�
�
%��4;|�P���ym�Ŀ�!]w
�e@>j�	�6�9���{
�ܵ��dt��I&��0H�c\G�șU&D���!�:m�ܦU����`��
����i�N�iz|<ZG!���b��1aWP��	��u>���VX��:^�d��ja��$?]��z��,���ni��
+ 3�f
a���.�(�E����|0���ͅ�D$� n�_�����uS<���v8����]�F]*���E�(؉�`�������s��
$��k�R��s_���-0���[m���_��Vk��I��;J�e��1�e-RUr�F`���*�)�h��l͋nv��L+oS2kM����TVա8��M
G�8�,������e1o��ꪾz׬�5}]�oMeP�q�
rzryS\h�es"�I�35�kq��Țr�	P�
��B���41/>��)gma�X0�IjQM�_�+lw�Fw�"�ee
�HQe\
�pT�G���8˔aml���I�#�p��Z/�3i;M"G��)$~rie�I�vH#V@�ue
+��]�P�1�u
�&ڭ@�S���m4�  $�W!�>12���~�O����<=��g� 4
����U&��#��J�zA�LÈ&N?�fË��>��%�	��"	��V�f椯(=%�[���ʠ�j+�a���P�v�&b)�n�R��j
FU�&��Ke
��We8�2��	��������_Fb�?(�ț�6
1/�m�WbH�7��<�aC�!bK
�����)1,m%�`���İT�)��
�:���IRX+���W� �P† ��5CɎĠl�).C!0'C=3+�&"-�⠡�B�iWo�H��h�aI�n��VŚo���
+P3������k�E��L
+�3D�X)A�
)J1�Ў��X�ѫX
�G�r��l�"2�m�yݽ-�*?�6��"2�b\u
�v�b�
&$5k8L��C�U�4��}f"B�(��
ma��� ����RL�m��ѣ��j�b����)u���=����5
�����ix�����
���5u�)r�2������
ۊ��֋����!P>�|��*��R�.Q�?G����lT�q��2�Q�#iS��c��q ��Z����c�_
/�
��FTφ<�<��]M�~�ME�KVd���
�z=-3T�nr3�a��
���u+S	+�
�N�j�A4�_�~�Mq�3Ւe%�@�~"�!�
�J�L�� @�!�3!�;{*
j;�^�V���
9
��l`'�6���Fi�&�F�
c��hJI��J8�
5mue
+���X�L�X!W ��X��1 �X�!�Ss����j���
+Ό�H�o]v��&`k�!��b�?-����Ӳ}�`�rve�rr��kVN�ϔJ���(�7E3q�|��QNg�?�C��7�������z�
χ���mP������R�	��|~}|t���bV�/��d��9
?
��\{�ΉF�i;?Ӈ��o��e�blÁ�3���`~�"���Vt��/�6
�:ɓ	x9&�ZAƲ
+endstream
+endobj
+11056 0 obj <<
+/Type /Page
+/Contents 11057 0 R
+/Resources 11055 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 11054 0 R ]
+>> endobj
+11054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11058 0 obj <<
+/D [11056 0 R /XYZ 89 770.89 null]
+>> endobj
+11028 0 obj <<
+/D [11056 0 R /XYZ 90 704.201 null]
+>> endobj
+11059 0 obj <<
+/D [11056 0 R /XYZ 90 704.201 null]
+>> endobj
+11060 0 obj <<
+/D [11056 0 R /XYZ 90 645.61 null]
+>> endobj
+11029 0 obj <<
+/D [11056 0 R /XYZ 211.835 593.315 null]
+>> endobj
+11061 0 obj <<
+/D [11056 0 R /XYZ 90 586.342 null]
+>> endobj
+11062 0 obj <<
+/D [11056 0 R /XYZ 90 518.101 null]
+>> endobj
+11030 0 obj <<
+/D [11056 0 R /XYZ 211.835 465.807 null]
+>> endobj
+11063 0 obj <<
+/D [11056 0 R /XYZ 90 458.833 null]
+>> endobj
+11064 0 obj <<
+/D [11056 0 R /XYZ 90 390.593 null]
+>> endobj
+11031 0 obj <<
+/D [11056 0 R /XYZ 211.835 336.799 null]
+>> endobj
+11065 0 obj <<
+/D [11056 0 R /XYZ 90 329.825 null]
+>> endobj
+11032 0 obj <<
+/D [11056 0 R /XYZ 211.835 274.96 null]
+>> endobj
+11066 0 obj <<
+/D [11056 0 R /XYZ 90 267.986 null]
+>> endobj
+11033 0 obj <<
+/D [11056 0 R /XYZ 211.835 213.12 null]
+>> endobj
+11067 0 obj <<
+/D [11056 0 R /XYZ 90 206.147 null]
+>> endobj
+11034 0 obj <<
+/D [11056 0 R /XYZ 211.835 139.326 null]
+>> endobj
+11068 0 obj <<
+/D [11056 0 R /XYZ 90 132.352 null]
+>> endobj
+11035 0 obj <<
+/D [11056 0 R /XYZ 211.835 77.486 null]
+>> endobj
+11055 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+11074 0 obj <<
+/Length 1468      
+/Filter /FlateDecode
+>>
+stream
+x��X]o�6}���0`�
|��o뀭k�u]�5�SZ
����dɕ�����%۴�I܇{2-Q�����\�EW�^�~
�N^9p��hx9�@i�7�.�B����u$�t���
?�v����|�{1�}�!�b� 
+������GM��눁p6��:�#����y�
��0�l�?52�"CD� hl	agR��:�͓l9˳�V���w"kW�Y�>��쏊�hj�[�h+���	rp֭��?.43���b��y#�o�ɤhC`�9#�S����}*FE<������������
. at p
�?���Irz:[%�h���&I�$_���S,
8�e
��q�-W5
���5�ub/fY:˒�լҝ��۠B�%�(. ���}��.�%
�X5M|�S0��_�O҄x���,[%��K�?�z�\n��Ю7��D��$��zf��l���c����ý���G�Hj(���E´�"Z0D��2��_yٔ�A�ˆ�X���b�|��@ph(Ө���a�iczѥ/h
 �FA���.��_Y��b����;
+�%� !ܫ0�0��
�!w6�&1�·�=�)����e�`�R��4�Z�E(@e����
�f����P_Zb� Y��u%z�.�#*��v/	�S��Wۦ�>[}>_��dٲ�$k�1v��֝nf����D<D��"S3�r���G�U��]����_��v�
%
�݅����g��F��E�h�h�:�RoϞ0��dbGw���$]Jl���BRF�T��h
���p�8����fT���,MkG�{�=�'�{"b��X*�>�H{���EQ���(wS�B��%��#�[�+&�9�(�
�N�%#U�;�4ՠ)���\���G�����b�.J)2G�X��8
��D�y�3Ԙ(v�(��@�
���
6*q�F��F�F�c����o���Q)
�m�T��G�lT��h+�i��v;��6�D�6��/����n
+QH�
�|l���Q4!$Mwr6����iz���t��ା���eݼ���G���$+S�$���;���<M�+Jrv�Q"y���@�I'��6�Y}���s�� ��3�"���s���T���܂پu��U%(M�kɄ���3
�`f�"���f I��X�N^�	�;Nm�u!(ސo������%ߠ�{��ŗ������m�|�\Ʀ�I6N:-�<�T�4�O�p����<�n����H#��п�e��z�4%�V��B�&_k�-��l&�ƽ��N
Q
����?�ܵ>�t�š7��bb@����3������v�z�|S?8�u.�_r
+�	7�x�M�Fn,ͨ�iY#�45���sv��7�\&���R�ZM~eף�	��)s�˵2!��.�x H�Γ�
��kؿ��<l�QJ�K<]��''����Iv�F���|�
0�N�Z
�y������JAa7y��ҵ�
+endstream
+endobj
+11073 0 obj <<
+/Type /Page
+/Contents 11074 0 R
+/Resources 11072 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10971 0 R
+/Annots [ 11071 0 R ]
+>> endobj
+11071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11075 0 obj <<
+/D [11073 0 R /XYZ 89 770.89 null]
+>> endobj
+11076 0 obj <<
+/D [11073 0 R /XYZ 90 721.073 null]
+>> endobj
+11036 0 obj <<
+/D [11073 0 R /XYZ 90 632.933 null]
+>> endobj
+11077 0 obj <<
+/D [11073 0 R /XYZ 90 628.45 null]
+>> endobj
+11078 0 obj <<
+/D [11073 0 R /XYZ 90 559.875 null]
+>> endobj
+11037 0 obj <<
+/D [11073 0 R /XYZ 90 525.205 null]
+>> endobj
+11079 0 obj <<
+/D [11073 0 R /XYZ 90 520.722 null]
+>> endobj
+11080 0 obj <<
+/D [11073 0 R /XYZ 90 449.991 null]
+>> endobj
+1900 0 obj <<
+/D [11073 0 R /XYZ 90 214.938 null]
+>> endobj
+386 0 obj <<
+/D [11073 0 R /XYZ 90 155.824 null]
+>> endobj
+11072 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F117 2446 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11110 0 obj <<
+/Length 1111      
+/Filter /FlateDecode
+>>
+stream
+x��Y]��6}���S
3Eַ���C�l�d3�&��&�am��㴛__	��4;�t��
W�s�=ҕ���{��z�+I��JF3��LA.̯)��0���FyC#/��h<�	������f��zq�E��`p�Ht������|
zz�^����'�h�v�7z���d��k"C�r���=�>��� v`8�!�Ľ��L�� A�B�WaF��.���=��%P��cG�Er��E
,��"�gQ�~���

c^2>��1

*
ݫaV�ŠA�������
��@

��xX�+o�_�X���!��� �vh/���{U�xWՉ
c!�!u�)r��{�tŠd4!0�d��[s�M��|&���-�� �&6ޓ4Y��E��(79hh��0*
�@���1����[.&&�$�^��Vgn|�I&��ط㸗�e���nh,�w����1
���I
��g�L��X��e>�Z��7>@SQ��Y���`Ą�C$K�O��z���6���P�̧���&Kʥ
U��{7Jg���1�/���M��R�
�l���+��P�*M?@Šx�Mﰯ�.ET�g����{9C��F�Oj�5��n�wQ)�<�`W��d�\�-�Z�N�o��b��J"l'��	e
ƹ�W�(�vB����
���ƕ��΢�I@
����J'Q\��v�:��-����끴u�b� 3���OŹ���2�`���걩�i�:��.o_I�*��N{���2�n9cJ�Z����uf��ƀ�
���X����	�
�+��
�'tT�$c�/�&*�Q�
��ӌ��8*�������4�&b�,l���^���
��Պ	�e���f|쑕S�ETQ}��x-��횲��ǯ+�ב;�wd������iHb��|�������a�B�W0��
�xѲ�h�?�\v���
��;L�/
	)'N;��{ؑ��8�l}
?�Hz�cH׺9�) ¤X�W���`ݦ� PznS�jFl�c��rc_@ݕ����ϵ�~�9��V��d-�z��d�:۶W�2����.�VWs�?�݃W���P0g��:/wy������	�
N�xw�5x(�d���I�f%�Ebnƍj�&G
+A�H�]��$ed;>���&�?�y�r
+endstream
+endobj
+11109 0 obj <<
+/Type /Page
+/Contents 11110 0 R
+/Resources 11108 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Group 11070 0 R
+/Annots [ 11081 0 R 11082 0 R 11083 0 R 11084 0 R 11085 0 R 11086 0 R 11087 0 R 11088 0 R 11089 0 R 11090 0 R 11091 0 R 11092 0 R 11093 0 R 11094 0 R 11095 0 R 11096 0 R 11097 0 R 11098 0 R 11099 0 R 11100 0 R 11101 0 R 11102 0 R 11103 0 R 11104 0 R 11105 0 R 11107 0 R ]
+>> endobj
+11069 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Linear__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 11117 0 R
+/BBox [0 0 214 206]
+/Group 11070 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 11118 0 R>>
+>>
+/Length 480
+/Filter /FlateDecode
+>>
+stream
+x��T�j
1
��+��H~�B!�Eہ.B7��)%7�t�߯�=��f]���G�H��
�G �a m��	�« ���3\
������%n��.��%�I�G`%�����߸@���Dc
Jo"*؎����
{U��8[���bV�<�-{Y�0�(c�޺b��aY�E\�
8y���)9�G�c2�I�<�Vv�4-7����(0�A�l��zl����N����4�"�T
�
���x+Hj˶\Ji��4ev�p�
+l�n��95>�Y3��@o�kd�_�`Ω�2v�c�����Q�\�˄"���544uV羫	<�}�� �U�VC����CXx'�ŭ�[�b΁���>�u�=�N�@ar(��5�֐�DE�a�:s޾�K��������n���ۂ��֭M�΋u�W֌
���
��t�/�2�(
ˌc�>�	�D����]3������ū��UM3>'���|X����$~�?/
+endstream
+endobj
+11117 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+11118 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /JEERLX+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 11119 0 R]
+/ToUnicode 11120 0 R
+>>
+endobj
+11119 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /JEERLX+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 11121 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 556 667 500 556 500 278 611 722 667 278 460 500]]
+>>
+endobj
+11120 0 obj
+<<
+/Length 11122 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š�2v@�2ݸ��>@LN�B�!:
߾1�B
+��������=wf\Y��f����h��e�9Il��h�35�5Rx�I�$�����4uF�IӰ�Ë��6vxR�@	c,}s��h���u��Y�C��eI�2Eڗ{�UL�Ґ|���u;�������s\IΊ+$9a��4�?-k�?mBF���i���
p��@y���
TBS�
+yt��I�#��Agh� �@��@e����*�7Ӂ
+�g�%:p��ѝG���.@�W���
+7��W��W�q��c��OYԢ�"�&�`ҾQ�
�7����څ���

�7��v�
+�/����
+endstream
+endobj
+11121 0 obj
+<<
+/Type /FontDescriptor
+/FontName /JEERLX+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 11123 0 R
+>>
+endobj
+11122 0 obj
+344
+endobj
+11123 0 obj
+<<
+/Length 11124 0 R
+/Filter /FlateDecode
+/Length1 2404
+>>
+stream
+x�UV{L[�?��.ص�
0$16ƄG��H��6�ap���N

5�a������)M�G*UkiӒI��i՞�ڭ�4E]�?%��i�D�vҦ>Ȧ&�贶�z�{
Iv�s����������È1�Úgu#��Y��g�� ��N�
_�ٶ���x��Xr�?-�eL�ϟC�c��ڙ�>9_�#�렏���J�$K��@��N���
+�
��	����Q��T�F���n��s��N��k|u�� ���& ��
f���*2:�v�E#z�^W񉹡O��f��{�����
+W
�I��j��y�g�2k��m��y3�E�E0�EO@�:�\�����	�}�u9ʴ9&��̖���hMn������ù�%��mM%�=�}�
M�X��h���Os?�K�+���rw$�nu�
+s��mq��宩�~߱+�7�k����0��������Da?�
+����͝/�x��
�?�(�p&�`��;�ؔ�'�|Zq���p��˛�.?��荋��������wE��]��wi�����Z�J�V&�[3g���>޺�Ƣ��
��5�`?�	�]����o-Ӛ-ȇ��"��™�م�t8
��r����yi�tˑ����G�3�.brf.*�g&x}1.�
��g�g�
+6*|���M�4�V��Qd3o�����9��87�P��Z�R�eq�Ϡ˄�
.�q
+z����'+��
��d�.���W��UDZ��J�n�
!V3+e��n�ƒ�X at J��c�h�r���IZ$[Ul�7<>8��ӝsE��4�(��@߭�����c��W:��\�2�H�b�y~2<5:|�z���Fܾ���β^��'�
����C�Ѩ�WhOի�-�r�
+��١#陡D�G�\�^���]�A)�N���Y+����{2���{9Cql�s�����~`��V$W�Q�
9���t?���މ��S��ƮO�Xk�;1����/�9���6��~7�
H�fu��� �Ul�vM���^O������t��-�_َC
݃�Os\����H'irw��G���1����
�]��w�_���(=O�� ���>�ތ�V�����q�T�5 ����g�;��_
]\L �W�R>���Yl\�Ɩ�Ɗ���Al"�S��O�%���@�}�?�M����J�t���l���
�A��l����TK��C	�l�A�)k�	�/hsU�
w���8���ŦZ1�>5rM{iw����,�di���H<�r�8�&Sн��7����
��x�����s��Dm�:>|�7������>�tC�
drYL$#?7!���EY�ƛX��2f��?��̓{*�A"9�9}(}
!�<�����͛�I��n���5&�K�O���m���_�O��&[QaE�
o{{��ҫ%&u8��M�/����cZ����x��D �HB���WJ�DK�
�p��᭐����N�z_������u��/����c�j�x�[7?J[�q]�7�	M
+q�lbr�̉�i:hL>�xlr���K��v�JY͌�����O2�j�sǖ�`f���QT$�J3V��#�W��@W��䡚�����b ����@�¬�8�XV�j��x�ha�W<_������w��Z�}L��|�nлe��
�/lP��m4h����J��X?_aC���
�ZX�Wgn�v�OX�֙��17F1F�V�~��eo�
BΨ��Y��|�	�Ϭ{F�t�鱷cӮcj30���"��2�@���!��=F�w�7*�[T���W���
H�
�f�%
�kp�Ѭt���hW�{�H1SBN
�й� �����T
+endstream
+endobj
+11124 0 obj
+1809
+endobj
+11070 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+11081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 423.15 192.544 433.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+11082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 366.826 191.16 377.73]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.976 366.826 256.733 377.73]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.258 352.073 364.14 361.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+11085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.667 191.16 349.57]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) >>
+>> endobj
+11086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 338.667 295.747 349.57]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.583 191.16 336.487]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab33dcdd2d3caf28d71cf7d3f2270535d) >>
+>> endobj
+11088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 325.583 295.747 336.487]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.4 325.583 375.158 336.487]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.469 191.16 296.373]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aea92b7e986d474c9f9e92f3fa2ea56e8) >>
+>> endobj
+11091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 260.43 191.16 271.334]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ad4d28b09f6a6ccc12af382b731824efc) >>
+>> endobj
+11092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.493 260.43 469.25 271.334]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.392 191.16 246.295]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ad54fa1aa395d8a01b1d40cef5e307653) >>
+>> endobj
+11094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.341 235.392 479.984 246.295]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.398 191.16 209.302]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a89a4a8da07d80da533b024f24f4864ae) >>
+>> endobj
+11096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.341 198.398 479.984 209.302]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.393 186.443 196.151 197.347]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 161.404 191.16 172.308]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a789ef1b22376ead412872189bc809269) >>
+>> endobj
+11099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 136.365 191.16 147.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_acf61af4e3287846f0ca79140ff00a2d5) >>
+>> endobj
+11100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.654 136.365 455.412 147.269]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.327 191.16 122.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8e50cf8481eaf61b281c180029b36fe3) >>
+>> endobj
+11102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.654 111.327 459.298 122.231]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 191.16 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a54156857db022ca821506d19162ebd5a) >>
+>> endobj
+11104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.782 86.288 465.425 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 175.668 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11111 0 obj <<
+/D [11109 0 R /XYZ 89 770.89 null]
+>> endobj
+11112 0 obj <<
+/D [11109 0 R /XYZ 90 441.215 null]
+>> endobj
+11113 0 obj <<
+/D [11109 0 R /XYZ 90 385.952 null]
+>> endobj
+11114 0 obj <<
+/D [11109 0 R /XYZ 90 385.952 null]
+>> endobj
+11115 0 obj <<
+/D [11109 0 R /XYZ 90 342.652 null]
+>> endobj
+11108 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im16 11069 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11193 0 obj <<
+/Length 1583      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�)�f"� =ӗ\�i����'��)��T"�R��� /�(	��K2�L,��=gw��9�y�{1ꝼ�	P�Q�]9v� ����s�g�
|
�s��#xЫ|�����F����Q�K��O�!Z G�w�y��3v�����
|�k�h���9����F����-����|G��
+|����7���Yd�8{
R�ے�#�
*�?a�U����_�y'r��_���d��irc<�bH9A
�����<y07�<WI�YP�
��|7�c��y�-�"���>�!fM�!��s)��瞵
@S���t^��j at 9<c�2)�E6����4L��g�Jf2	��<7�:�U��I5 ��[�~�ˆ�'˙�nok��6`\�M�bϦ�V��6��J+�g9���0�7&)߇if�-�d'����Ɋ��t�*�#�G&2]V��l��En���5\^Q,�mn̄#VSp|��'�[���S�v�œ˙��x���Ry߽3d�2��H���
+"���/�� �
e؍�K�"FRt	y>E��iA
��J�
��[!
浌"L�?���
�'�-��+�Bz�&j��ut�1@	� /;���]@)�QeU��Q�+D���/�|B���W�Ql�r=�$��fi��z�[=W_D5Aҟƫ8��FH��0 �8�
B��1T�.b9U�~
��Y�8����
��h���*��㇈X��,<��)!�<wQG�H�gz�'+� ��&o�QC"�������
h.
5$�
����'\QI3�z���̀���er�H�'���I�n2�?
a�
e˲vҹ���z���f"
o
+�ao E�m7�.EA �
�~��ѣ�}���o�%ۋK]�m6�wE�L�,Y�)\��
+�Z���ʔ�������h�Y.���q�
��(��
�3�_)z��cv:A.�+v�/3޳#�� m�d��MK����������
cUX��]��F	@��R���c=��K��y��W��
}�.��dz��b�Y��W��l|�.�+|H��~��s��D2.�-��d��$��磄�f�*����ey��kh�6�*Av�_�/_6���t�6�U�l]�E8�
�-A���
�0�:�9��C`*8b�8����z3y�CN�h3Xҹ��(�]F1ؽ�[F^؟��$N�.����05�fpc��A��v��)�j�㤃a
+r߆_�1�p�pp�� ���c��ݵ�#��[QE���T�{��tB����0��
ێ��E�H_�Ww/
|���>Ȏ�
�M���
+
�9� M�K�r�}`�G�]� ����ߣw�	v�\�+N���t@�ͪt��ō"�Uŭ�D�6!�>��6Q���D5�l2���&M��!��oX�����!!(�L��IC�a����
E�2�����.�}��b�
F��2d¿�s�c�Ǽ8�mΜW)k�
AްX�:mo�`�^cڔSU��������\f�
8����$YNf���+U9�Y�O!��!��s.+vh�����]���m}��xگ�bqzrr��r�D����� ,�qU��iV�Bx9�(>x�-���
+endstream
+endobj
+11192 0 obj <<
+/Type /Page
+/Contents 11193 0 R
+/Resources 11191 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Annots [ 11106 0 R 11134 0 R 11135 0 R 11136 0 R 11137 0 R 11138 0 R 11139 0 R 11140 0 R 11141 0 R 11142 0 R 11143 0 R 11144 0 R 11145 0 R 11146 0 R 11147 0 R 11148 0 R 11149 0 R 11150 0 R 11151 0 R 11152 0 R 11153 0 R 11154 0 R 11155 0 R 11156 0 R 11157 0 R 11158 0 R 11159 0 R 11160 0 R 11161 0 R 11162 0 R 11163 0 R 11164 0 R 11165 0 R 11166 0 R 11167 0 R 11168 0 R 11169 0 R 11170 0 R 11171 0 R 11172 0 R 11173 0 R 11174 0 R 11175 0 R 11176 0 R 11177 0 R 11178 0 R 11179 0 R 11180 0 R 11 [...]
+>> endobj
+11106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 198.909 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f) >>
+>> endobj
+11134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 680.251 191.16 691.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8ae08699620424e3c3c97dd7a3885d02) >>
+>> endobj
+11135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.961 680.251 406.719 691.155]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 652.546 191.16 663.45]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab60766264325cf8fc82be004b2565ddb) >>
+>> endobj
+11137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.976 652.546 230.163 663.45]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.976 652.546 301.734 663.45]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 624.84 191.16 635.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) >>
+>> endobj
+11140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 624.84 262.003 635.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+11141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 597.135 191.16 608.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a38856ca7f9129f389b4dee5a5a6da8d4) >>
+>> endobj
+11142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 597.135 262.003 608.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+11143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.657 597.135 341.415 608.039]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 569.429 191.16 580.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a) >>
+>> endobj
+11145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 569.429 260.32 580.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+11146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 530.764 191.16 541.668]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abc403edfa30e7e93cfc3aa20be9e3a65) >>
+>> endobj
+11147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 530.764 260.32 541.668]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+11148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.531 530.764 340.289 541.668]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 492.1 191.16 503.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a04aff92d245522832391c1704f455992) >>
+>> endobj
+11150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 492.1 283.563 503.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+11151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 453.435 191.16 464.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa65a75af714fc5abd032b312a647fe3c) >>
+>> endobj
+11152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 453.435 283.563 464.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+>> endobj
+11153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.774 453.435 363.532 464.339]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 414.771 191.16 425.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd) >>
+>> endobj
+11155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 414.771 268.629 425.675]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+11156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 387.065 191.16 397.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae2f034a1e5e025d25025f71b644d1133) >>
+>> endobj
+11157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 387.065 268.629 397.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+11158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.264 387.065 353.021 397.969]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 359.36 175.668 370.264]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.166 359.36 234.596 370.264]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae197d31ddce9785add2d89475653f0ae) >>
+>> endobj
+11161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 331.654 208.395 342.558]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5812366691d9099f839e01326923425f) >>
+>> endobj
+11162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.211 331.654 273.968 342.558]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 303.948 170.687 314.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+11164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 303.948 195.165 314.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aca00917f32f160b28b9870beb5ce5f8d) >>
+>> endobj
+11165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 291.465 170.687 301.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+11166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 291.465 187.563 301.996]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a033a152c478db97a4e08bc562dbff4b1) >>
+>> endobj
+11167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 278.609 170.687 289.139]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) >>
+>> endobj
+11168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 278.609 225.501 289.139]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac455ad97639d9e7f59dbdc22e35dc1e7) >>
+>> endobj
+11169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.316 278.609 264.504 289.139]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 265.379 179.554 276.283]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 265.379 250.666 276.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) >>
+>> endobj
+11172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 237.673 220.579 248.577]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ad44ed4e61b7e7c0c86918b66f44ec665) >>
+>> endobj
+11173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.395 237.673 290.038 248.577]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 210.341 297.728 220.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87) >>
+>> endobj
+11175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.544 210.341 336.732 220.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 182.635 193.76 193.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_afda2273cf9b1d62249e3604c2c538d92) >>
+>> endobj
+11177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.576 182.635 232.763 193.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.933 154.556 342.261 165.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) >>
+>> endobj
+11179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 126.851 238.293 137.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa74c2bb5c2c947d02fabe33f854fa7d6) >>
+>> endobj
+11180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 99.145 197.885 110.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a51f1b18014b098a53242c06d657040c6) >>
+>> endobj
+11181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.222 99.145 302.471 110.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.036 99.145 355.223 110.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 86.288 197.287 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac9ef23a57b1e85eb8c0e905b16feda93) >>
+>> endobj
+11184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.429 86.288 300.678 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11194 0 obj <<
+/D [11192 0 R /XYZ 89 770.89 null]
+>> endobj
+11195 0 obj <<
+/D [11192 0 R /XYZ 90 721.073 null]
+>> endobj
+11196 0 obj <<
+/D [11192 0 R /XYZ 90 699.142 null]
+>> endobj
+11197 0 obj <<
+/D [11192 0 R /XYZ 90 376.524 null]
+>> endobj
+11198 0 obj <<
+/D [11192 0 R /XYZ 90 348.819 null]
+>> endobj
+11199 0 obj <<
+/D [11192 0 R /XYZ 90 282.594 null]
+>> endobj
+11200 0 obj <<
+/D [11192 0 R /XYZ 90 254.838 null]
+>> endobj
+11201 0 obj <<
+/D [11192 0 R /XYZ 90 227.132 null]
+>> endobj
+11202 0 obj <<
+/D [11192 0 R /XYZ 90 199.427 null]
+>> endobj
+11203 0 obj <<
+/D [11192 0 R /XYZ 90 171.721 null]
+>> endobj
+11204 0 obj <<
+/D [11192 0 R /XYZ 90 144.015 null]
+>> endobj
+11191 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11263 0 obj <<
+/Length 2050      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~ϯ�S�j����`��l����N���t �2

��#JI�_�CR�o�-Q2��ĊM
��w���-l����wg׾m�(�g�M�[�"׃�&���ȳ�#�1
�
	
�2c�͐�A�.f|R��c2.Y�����䜕яO�rH�")�ሺxp�2!��'>���<�4�����/w�~�;�zF�9l͌�������_�5��?X�a`=�E��P>S���g��
�������c�O"D��;���v��y䂼J�d��&9*��>�U$ăT

����=mҒ�~�.��\T���h�ў���b蹃@���
+>
R�4Nx^EUɒJ\^��Rj��4�ɮ}#y� �
�h't]����5c
+��u6G+T��J���G��y$�,��$�x.�#6I��R�;�
~B �	�ܴ�T�����u�~^\�6(9�<G‘R�94e������#�7�R�Z-Kk��t�jӍ�
[J1ׄ�ӈ
� ���:��Ek
'�v	�'FB.��n�=H�)c�'�6"J
���<+�ą��
��ey���D��A:+�KP�I	"���,M7l-�<N$"�D�"��Z
wPd��Ԣ�Ѷ����i��ϝgɴz_֑r/3
Q�����!��9/��:�Z����R�<���u��Q
�����V�r$�N�g��7β!&n�ퟚ��t�c��"N��^2���lx�~�$�a �V:[���,��[q��>q �H� џ�,v�[i�����pR�en�
+6F��
W�57�sj#�뀔4��A�3O�	~ҖVv;>
+ at q�nY��y8���%�0��V�KD)mW`��s���x.���q�ﰭ!�G�"+�y΋ZD WD��7��XRv������f�TD�� "���etه �$1�����/
A��ȞxaČDU�@��D�'�NP;�VK�fo�G�E��L_��#4{�q\�-V�b��&j��
���Q�n��Z���8��I[
�
Q/D>�G��8����9EzF ���	
+��@X��g6c9[��}�%A�pཱ}�� �垲�/?��}�f<����P�K9MS���m��FeU"t�O�t\��D�$Ѥ�毬���ɲ�,��Ӂ�
�@Q5y��Ҁ(#�[v֚�n�޿׏Z�m
+M>趝��ba�
{)� �$<����g?x؜J���JΚv�\|+��#oYs��i{�c$�ٱ��ݼL��}�F�!L��A�s�/�(	%��q�I~o"v����b�K�5���ʿ���A��;�0�A���?�ް�~��v�`��n����P�gIW��r�e2��7��
ڧ��C�֡=�ۡa��5\�5�:Vu
|��
J��X���A,;o|m��y��ǹ��F簱�B���=F�G��e{�Q�6���q�؞ ¡7t]@
��x_'���.{R'*�8�BL��� Pz��S�
+#����:(���D�Z��
#�w���Y�^{�>=x��|m��{
+C�u�*Y��cR͌��|���x��#��0��g�iG��ȋ����_<���/�U1_���V�h�����<`���4�}a'����J��d�KDJ�we��9��w/u�
��YUū��i_��zK"yQf,���}E���m��>���@o�v9Y�o}���N�w�P�>��L]���_*�fB�,L���Jf�r���|i(��qx�MN��#�J
�������(
9��~(h�jb`���z<�i���<��5<_�y\m]��MD�d����~
}�s����=m^*�/����IVg����ty/k"nG.3H(�1��	�C� q��{I�T�i1����o�%$_��g
{��2��&�l����b�h��2�~o{uNINT��цG*_�Ha��x]ɛ�jzT
M�|W�}7se���n�滖ߛ����W���9B#��,��kC)�~�\JC�R_3v��-45�X��O�5Xw��A�2Sͪj~yq1��4�G��*��mE�a�KLӶNΊ�ˠSY-+\�d�G�y��(�+d5L|������vc����̶�S�������<�b
+endstream
+endobj
+11262 0 obj <<
+/Type /Page
+/Contents 11263 0 R
+/Resources 11261 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Annots [ 11185 0 R 11186 0 R 11187 0 R 11188 0 R 11189 0 R 11219 0 R 11220 0 R 11221 0 R 11222 0 R 11223 0 R 11224 0 R 11225 0 R 11226 0 R 11227 0 R 11228 0 R 11229 0 R 11230 0 R 11231 0 R 11232 0 R 11233 0 R 11234 0 R 11235 0 R 11236 0 R 11237 0 R 11238 0 R 11239 0 R 11240 0 R 11241 0 R 11242 0 R 11243 0 R 11244 0 R 11245 0 R 11246 0 R 11247 0 R 11248 0 R 11249 0 R 11250 0 R 11251 0 R 11252 0 R 11253 0 R 11254 0 R 11255 0 R 11256 0 R 11257 0 R 11258 0 R 11259 0 R 11260 0 R ]
+>> endobj
+11185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 707.957 214.442 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a74deedff2114e5a1c72305ba6c6e42ed) >>
+>> endobj
+11186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.584 707.957 317.834 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 684.003 233.76 694.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aea8819f3edb590eff758fe295c7f3300) >>
+>> endobj
+11188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.575 684.003 272.763 694.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.205 684.003 323.393 694.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 658.011 242.965 668.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae9de3534d98524f48d9f6c0cdfbf239c) >>
+>> endobj
+11220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.303 658.011 327.079 668.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+11221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 632.02 231.1 642.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aa66d8fe880ea6f99aa1a70805427d9d6) >>
+>> endobj
+11222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.915 632.02 270.103 642.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.916 632.02 345.559 642.924]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 620.02 246.034 630.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a34bbf3ed8e75730f44ca8a461881adb6) >>
+>> endobj
+11225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.522 620.02 360.71 630.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 594.403 164.879 604.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) >>
+>> endobj
+11227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 568.038 272.783 578.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5) >>
+>> endobj
+11228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 542.046 191.718 552.95]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 542.046 288.852 552.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6) >>
+>> endobj
+11230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.055 191.718 526.959]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 516.055 303.079 526.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) >>
+>> endobj
+11232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 490.437 150.493 500.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) >>
+>> endobj
+11233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 464.072 181.845 474.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) >>
+>> endobj
+11234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 438.081 181.845 448.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
+>> endobj
+11235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 412.09 154.727 422.993]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) >>
+>> endobj
+11236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 386.472 176.505 397.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) >>
+>> endobj
+11237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 372.429 450.955 382.335]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) >>
+>> endobj
+11238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 349.148 169.013 360.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aadaa110a051cded2af6bb04516e8b72e) >>
+>> endobj
+11239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 349.148 250.079 360.052]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 323.157 191.16 334.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6e35bc42eb22008e842e81b150eeab6f) >>
+>> endobj
+11241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 323.157 295.747 334.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.4 323.157 379.044 334.06]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 297.165 191.16 308.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a37e6e92bcce55054b61338c740ecabe6) >>
+>> endobj
+11244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.497 297.165 295.747 308.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.4 297.165 379.044 308.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.133 297.165 488.89 308.069]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) >>
+>> endobj
+11247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 271.174 182.044 282.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3878ace0dfcc23f80d55d206d2117c84) >>
+>> endobj
+11248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.381 271.174 286.631 282.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 259.548 175.748 270.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8a1eeaa7f9845c9d33a22c8c5f5acab2) >>
+>> endobj
+11250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 247.175 197.337 258.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aeba04371a7fce3d1b5a20b287937feea) >>
+>> endobj
+11251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 235.549 176.495 246.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a61a01c066394a2b9ee5d797f6733c5e4) >>
+>> endobj
+11252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.832 235.549 260.608 246.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+11253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 168.133 203.075 179.037]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 168.133 296.324 179.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 154.464 346.908 164.369]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 142.515 194.297 153.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f) >>
+>> endobj
+11257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 116.524 188.759 127.054]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) >>
+>> endobj
+11258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 90.159 238.203 101.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.942 90.159 268.08 101.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+11260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11264 0 obj <<
+/D [11262 0 R /XYZ 89 770.89 null]
+>> endobj
+11265 0 obj <<
+/D [11262 0 R /XYZ 90 700.361 null]
+>> endobj
+11266 0 obj <<
+/D [11262 0 R /XYZ 90 610.337 null]
+>> endobj
+11267 0 obj <<
+/D [11262 0 R /XYZ 90 584.345 null]
+>> endobj
+11268 0 obj <<
+/D [11262 0 R /XYZ 90 558.354 null]
+>> endobj
+11269 0 obj <<
+/D [11262 0 R /XYZ 90 532.363 null]
+>> endobj
+11270 0 obj <<
+/D [11262 0 R /XYZ 90 506.371 null]
+>> endobj
+11271 0 obj <<
+/D [11262 0 R /XYZ 90 480.38 null]
+>> endobj
+11272 0 obj <<
+/D [11262 0 R /XYZ 90 454.389 null]
+>> endobj
+11273 0 obj <<
+/D [11262 0 R /XYZ 90 428.397 null]
+>> endobj
+11274 0 obj <<
+/D [11262 0 R /XYZ 90 402.406 null]
+>> endobj
+11275 0 obj <<
+/D [11262 0 R /XYZ 90 365.456 null]
+>> endobj
+11276 0 obj <<
+/D [11262 0 R /XYZ 90 339.464 null]
+>> endobj
+11277 0 obj <<
+/D [11262 0 R /XYZ 90 313.473 null]
+>> endobj
+11278 0 obj <<
+/D [11262 0 R /XYZ 90 251.16 null]
+>> endobj
+11279 0 obj <<
+/D [11262 0 R /XYZ 90 186.09 null]
+>> endobj
+11280 0 obj <<
+/D [11262 0 R /XYZ 90 186.09 null]
+>> endobj
+11281 0 obj <<
+/D [11262 0 R /XYZ 90 158.449 null]
+>> endobj
+11282 0 obj <<
+/D [11262 0 R /XYZ 90 133.529 null]
+>> endobj
+6368 0 obj <<
+/D [11262 0 R /XYZ 90 107.538 null]
+>> endobj
+11261 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F11 613 0 R /F68 3032 0 R /F66 3179 0 R /F67 3037 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11377 0 obj <<
+/Length 1138      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6���8��$\�
�3�4�;MR7��^����!ES�t(Z��/�%E��Q�O��X,��
+�h�0����׿P
y�I*�`�<��@H��][LH���-b��I�*�~�����rp������=b�0"� �E�Y��3Fw&�-��<=��f�Sf>���g�`�"I&�fFֺf� !��ԏ���P�Z�0���<է�ؿ��0r(ƽL�',�ek#A`+���EJ��L?�A����VGYzTt
+FY�	���C<W��b�R6_�8����ٵ#0��O�G7���Gz>7=T7K�	�u��a�j]��0����O���u^�M^gSМD��
�V�r�%O�H)HN�C8������!2�/�%�i�YZ�[F�)�T�A^�M��D�&Y���	�IQ��61.P�/��mB0��Z�]�:DP*0����ѭ�mB�Y:�v��5_�RX�wSS)䱅�,�XZ��{��E� �I�"`�AVv6�dGw���~��Y�q�:��ũQ�wQ�3jބzdSaҘ':�o�ȟ�󳳔��H�t��ab�$H<
'�
�ׁ��������a�9���
_7�J���O�W7�=u$�%�u:h�4��j<3�
ӆ��10�s��n�-A
u��V�P�V-�W����h!P��P�=}V#s`�+��&//ы:.�~D�}|�i�I���EW��� )�(��<
iG���4�i�ľ vӿ��
�%/���dWjD��� c[�k 
+8Se�=c�2����ت�f�{x%�`D}W�$�
���<oʑ�r�)ה\�P�A��Y�U�f��/��DM7�Z�^Ԋmh�V�
������D"F�ԯ�$B�X��]~��h6.�1)�]�[�Š\�[��wi( ��8���H+	eU1�&�<ȧR�[r�}:�~�؃�ഘ��d2=�v�?��ք�a���]��{��^
׷>I������f�5�[e��9�̞���DRP��}h�Ґ+^�B�k&���p5�m��o3�~	��R�c�9����\C�%����:���J���}��k��m!���������K#,l",
��B�d��v�֕.�v��?K��%O|Ī>��S�r%}����~��a<�����[j�ƞg���Q�/�YX<��&s�'c`�x�ē�
+endstream
+endobj
+11376 0 obj <<
+/Type /Page
+/Contents 11377 0 R
+/Resources 11375 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Annots [ 11290 0 R 11291 0 R 11292 0 R 11293 0 R 11294 0 R 11295 0 R 11296 0 R 11297 0 R 11298 0 R 11299 0 R 11300 0 R 11301 0 R 11302 0 R 11303 0 R 11304 0 R 11305 0 R 11306 0 R 11307 0 R 11308 0 R 11309 0 R 11310 0 R 11311 0 R 11312 0 R 11313 0 R 11314 0 R 11315 0 R 11316 0 R 11317 0 R 11318 0 R 11319 0 R 11320 0 R 11321 0 R 11322 0 R 11323 0 R 11324 0 R 11325 0 R 11326 0 R 11327 0 R 11328 0 R 11329 0 R 11330 0 R 11331 0 R 11332 0 R 11333 0 R 11334 0 R 11335 0 R 11336 0 R 11337 0 R 11 [...]
+>> endobj
+11290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.198 191.16 669.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 658.198 232.465 669.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) >>
+>> endobj
+11292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 658.198 337.051 669.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.208 658.198 460.457 669.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 630.395 191.16 641.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 630.395 232.465 641.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) >>
+>> endobj
+11296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.28 630.395 271.468 641.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.281 630.395 316.469 641.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 602.592 191.16 613.496]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 602.592 232.465 613.496]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) >>
+>> endobj
+11300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.28 602.592 271.468 613.496]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.803 602.592 382.052 613.496]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 574.789 191.16 585.693]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 574.789 232.465 585.693]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d) >>
+>> endobj
+11304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 574.789 337.051 585.693]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.705 574.789 389.893 585.693]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 546.986 191.16 557.89]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.557 546.986 232.364 557.89]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) >>
+>> endobj
+11308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.305 546.986 486.554 557.89]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 519.183 191.16 530.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.557 519.183 232.364 530.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) >>
+>> endobj
+11311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.5 519.183 336.75 530.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 491.38 191.16 502.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 491.38 232.465 502.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) >>
+>> endobj
+11314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 491.38 337.051 502.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 463.576 191.16 474.48]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 463.576 229.964 474.48]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6) >>
+>> endobj
+11317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 463.576 334.551 474.48]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 435.773 191.16 446.677]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 435.773 229.964 446.677]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) >>
+>> endobj
+11320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 435.773 334.551 446.677]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.707 435.773 457.957 446.677]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 407.97 191.16 418.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 407.97 229.964 418.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) >>
+>> endobj
+11324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.78 407.97 268.967 418.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.781 407.97 313.968 418.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 380.167 191.16 391.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 380.167 229.964 391.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) >>
+>> endobj
+11328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.78 380.167 268.967 391.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.302 380.167 379.552 391.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 352.364 191.16 363.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 352.364 229.964 363.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) >>
+>> endobj
+11332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 352.364 334.551 363.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.205 352.364 387.392 363.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 324.561 191.16 335.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 324.561 229.964 335.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) >>
+>> endobj
+11336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.287 324.561 484.536 335.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 296.758 191.16 307.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 296.758 229.964 307.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) >>
+>> endobj
+11339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 296.758 334.551 307.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 268.955 191.16 279.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.623 268.955 231.792 279.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) >>
+>> endobj
+11342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.979 268.955 486.229 279.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 241.152 191.16 252.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.623 241.152 231.792 252.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
+>> endobj
+11345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.058 241.152 336.307 252.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 213.349 191.16 224.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 213.349 248.325 224.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) >>
+>> endobj
+11348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 213.349 329.39 224.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.547 213.349 452.796 224.253]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 185.546 191.16 196.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 185.546 248.325 196.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) >>
+>> endobj
+11352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 185.546 329.39 196.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.044 185.546 382.231 196.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.742 191.16 168.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 157.742 248.325 168.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36) >>
+>> endobj
+11356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 157.742 329.39 168.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 129.939 191.16 140.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 129.939 245.824 140.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) >>
+>> endobj
+11359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 129.939 326.89 140.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.046 129.939 450.296 140.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.136 191.16 113.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 102.136 245.824 113.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5) >>
+>> endobj
+11363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 102.136 326.89 113.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.543 102.136 379.731 113.04]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 191.16 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 74.333 245.824 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) >>
+>> endobj
+11367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 74.333 326.89 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11378 0 obj <<
+/D [11376 0 R /XYZ 89 770.89 null]
+>> endobj
+11379 0 obj <<
+/D [11376 0 R /XYZ 90 704.286 null]
+>> endobj
+11375 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11522 0 obj <<
+/Length 1465      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�H}�W�J4�
3è�{IR�fk��w_��
+[H�V�
���p����d	�.��1j��3�{�����ƻίg��[�
����8
+�V�
�oh��#��.��'��M���E�Nn��a�>�������s���o��"��űV�rl�6q�8~�F^�}p�i�T:&���r�����C�8l����c\N;�_�1��
��r��Thjؔ���8�����_�?S?3
�S��OBŽ!	A�d�~�y�F&W^6��>ecO���c�pl�%�Uc���p�T���ܹ�D��B�[��#J�B"�S���B �>�I�KXu�X��J�����N�g��%�t)�����(Ω�R~�lR�q>���u��.b�x��uqi/^�+t�Ù�Ie~P�d��k�Y��g�Y&u�	)g��U|�
�4bC'�Wy<��Ȣ\C/}/HI��I��_�A�
"
$Y�h� �M�YLŝ9�`�R
��v.#�U�\B}�{��<>~<�%R���ܽ��%�H�e�jB����H2����=��B���9������X�Y���A�Qc<ۅ0�����9�� v�,���@����M���S " [...]
���Pq�B׍-�lO	�1�82�k�"���ZbDŽ�U��&?�ې_�8J��K]�BB�u���ʬJ{�;a�3�j�+}P��	�t>���@�K
�y��
+0� L!�����嬻��\sbd	�
��U3�R���
+-QK��*��\mFX" ~���ꉍ��t�7]/�HW-`x%o�����
��#@��ᴒ���Uewņ�u��U��҄�oXH
ٵĮ�$)��lU��y��%�ѺD
ɞӃz����=��ȡ��%q2���8�<wjm�'EHyO
+3����_��Ro at 8�x�+L���&ik�=�j]q����*���l�O��!M�

N5sR�~{)��M��͚�j���෻�Ƨ7v�e��. o��2À�B��N1'�.��ι6_��@�q
����7|m����8y`�t��>�q��9a	n�c7-®�n
Q�&�m��Zm$�%-�N-df�P��
��@������bj��[�h�a�t�júJ����ǁ߾���
_�𶍧b�	vT5�a��'W�?�l޶&���a�ͧԪ?/�M��-D�^�)
i�y��I�z��ʇ�j�
�#�0�_^8̎'��`����=�M��x����]�"I٦�v��p��-iPaKċ'Ί�gNN>f�b/�����+��
���Z�x�q��[jam5���`��+�Gf�F1�C�6��wǹ�8_~WI2��z�q�ct�=�u�f,����{�0�gF�C~ ��g��G�	�H �_;a"�2~J������@����� ������x��
+endstream
+endobj
+11521 0 obj <<
+/Type /Page
+/Contents 11522 0 R
+/Resources 11520 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Annots [ 11368 0 R 11369 0 R 11370 0 R 11371 0 R 11372 0 R 11373 0 R 11402 0 R 11403 0 R 11404 0 R 11405 0 R 11406 0 R 11407 0 R 11408 0 R 11409 0 R 11410 0 R 11524 0 R 11411 0 R 11412 0 R 11413 0 R 11525 0 R 11414 0 R 11415 0 R 11416 0 R 11417 0 R 11418 0 R 11419 0 R 11420 0 R 11421 0 R 11422 0 R 11423 0 R 11424 0 R 11425 0 R 11426 0 R 11427 0 R 11428 0 R 11429 0 R 11430 0 R 11431 0 R 11432 0 R 11433 0 R 11434 0 R 11435 0 R 11436 0 R 11437 0 R 11438 0 R 11439 0 R 11440 0 R 11441 0 R 11 [...]
+>> endobj
+11368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 694.751 191.16 705.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 694.751 247.687 705.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) >>
+>> endobj
+11370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.503 694.751 328.753 705.655]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 666.346 191.16 677.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 666.346 245.476 677.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a695843d7e86aecb1d5e9632aae3eec88) >>
+>> endobj
+11373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.291 666.346 326.541 677.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 637.941 180.032 648.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a77edd516d26f3ad1466ddf2fe2a4baaa) >>
+>> endobj
+11403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.848 637.941 261.097 648.845]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 609.535 191.16 620.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.914 609.535 267.663 620.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) >>
+>> endobj
+11406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.986 609.535 348.235 620.439]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 597.954 149.098 608.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 569.175 200.067 580.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ad5080c3ee416a445b60ac48971d9b808) >>
+>> endobj
+11409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.284 569.175 280.534 580.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.68 569.175 513.996 580.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 557.22 165.158 568.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 528.815 199.519 539.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_af0d240ef2e0e5d6771cb1767f6fa64b3) >>
+>> endobj
+11412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.736 528.815 279.986 539.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.132 528.815 513.996 539.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.86 165.158 527.764]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 488.455 191.16 499.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.103 488.455 267.304 499.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) >>
+>> endobj
+11416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.721 488.455 347.971 499.359]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 476.873 149.098 487.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 448.094 226.034 458.998]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) >>
+>> endobj
+11419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 448.094 398.426 458.998]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 419.689 156.281 430.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3024f7593cf48937f80197fb8030c290) >>
+>> endobj
+11421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 419.689 237.346 430.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.558 419.689 332.808 430.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 391.284 191.16 402.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 391.284 232.465 402.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) >>
+>> endobj
+11425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 391.284 337.051 402.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 378.078 191.16 388.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 378.078 232.465 388.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) >>
+>> endobj
+11428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 378.078 337.051 388.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.872 191.16 375.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 364.872 232.465 375.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3393f0e95870b681e528c15803a26f60) >>
+>> endobj
+11431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 364.872 337.051 375.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.227 364.872 413.414 375.776]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 351.665 191.16 362.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 351.665 229.964 362.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) >>
+>> endobj
+11435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 351.665 334.551 362.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.459 191.16 349.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 338.459 229.964 349.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0540634ba6d2d2175bf25e92a0831af1) >>
+>> endobj
+11438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 338.459 292.489 349.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.824 338.459 361.011 349.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.253 191.16 336.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 325.253 231.827 336.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
+>> endobj
+11442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.164 325.253 336.414 336.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 312.046 191.16 322.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 312.046 248.325 322.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36) >>
+>> endobj
+11445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 312.046 329.39 322.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 298.84 191.16 309.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 298.84 245.824 309.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) >>
+>> endobj
+11448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 298.84 326.89 309.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.634 191.16 296.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 285.634 232.465 296.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) >>
+>> endobj
+11451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 285.634 337.051 296.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.208 285.634 460.457 296.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 272.428 191.16 283.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 272.428 232.465 283.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a447ce24e7e4fdf595ebaa4cf5d1c38b8) >>
+>> endobj
+11455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 272.428 294.989 283.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.324 272.428 405.574 283.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 259.221 191.16 270.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 259.221 232.465 270.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) >>
+>> endobj
+11459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.787 259.221 487.037 270.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 246.015 191.16 256.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 246.015 232.465 256.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3221626e22e187252b866eb371001183) >>
+>> endobj
+11462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.802 246.015 294.989 256.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.324 246.015 363.512 256.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 232.809 191.16 243.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 232.809 229.964 243.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6) >>
+>> endobj
+11466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 232.809 334.551 243.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 219.602 191.16 230.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 219.602 229.964 230.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) >>
+>> endobj
+11469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 219.602 334.551 230.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.707 219.602 457.957 230.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 206.396 191.16 217.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 206.396 229.964 217.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a5c4134b034447fcf2b7b154102233dcf) >>
+>> endobj
+11473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 206.396 292.489 217.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.824 206.396 403.073 217.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 193.19 191.16 204.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 193.19 229.964 204.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a15c22785d951d9f8f6ec2e14f07b2dc1) >>
+>> endobj
+11477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 193.19 334.551 204.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.726 193.19 410.914 204.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 179.984 191.16 190.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 179.984 229.964 190.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) >>
+>> endobj
+11481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.287 179.984 484.536 190.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 166.777 191.16 177.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 166.777 231.827 177.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) >>
+>> endobj
+11484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.15 166.777 486.399 177.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 153.571 191.16 164.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 153.571 248.325 164.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) >>
+>> endobj
+11487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 153.571 329.39 164.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.547 153.571 452.796 164.475]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 140.365 191.16 151.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 140.365 248.325 151.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ab1a39b5a84040af5feee0336b275fa95) >>
+>> endobj
+11491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.141 140.365 329.39 151.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.565 140.365 405.753 151.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 127.158 191.16 138.062]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 127.158 245.824 138.062]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) >>
+>> endobj
+11495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 127.158 326.89 138.062]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.046 127.158 450.296 138.062]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 113.952 191.16 124.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 113.952 245.824 124.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a703e355f3726c0cace243d4fe4b74125) >>
+>> endobj
+11499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.64 113.952 326.89 124.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.065 113.952 403.252 124.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 100.746 191.16 111.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 100.746 247.687 111.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) >>
+>> endobj
+11503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.503 100.746 328.753 111.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 87.539 191.16 98.443]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.9 87.539 245.476 98.443]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a695843d7e86aecb1d5e9632aae3eec88) >>
+>> endobj
+11506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.291 87.539 326.541 98.443]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.333 180.032 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a77edd516d26f3ad1466ddf2fe2a4baaa) >>
+>> endobj
+11508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.848 74.333 261.097 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11523 0 obj <<
+/D [11521 0 R /XYZ 89 770.89 null]
+>> endobj
+11520 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F24 529 0 R /F68 3032 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11558 0 obj <<
+/Length 2672      
+/Filter /FlateDecode
+>>
+stream
+x��Z�sܸ
�_��T�X
?���=�I��k�K�ә�MF�˵��JI���
��j�v���I	�  ?P�ΕÝ��xy��H9	KB:�'�N�',�m�|tU/~���Qa�D�,����w�o�]~���7�g��
qG��E��ڞ}��;k����L%�sc���/<s����θ��e
+�@&�C�؉�`B� �H����zue����g�G/��}�:�>���U����M"Ʌ��v���#]�?m���\�2���(��

�
C�/<)���ԛ�
�-��Lͧ�J����X�E�|��FW�X酙W�#���5%A at z2�'6p��
!��VY����T@�6'�^��d��$��S&��z�<e�x�I��@��e���i���Y_\�uS�t�0
�����*m�
+�^� 'px4\�a��F
N�qĒ8ii�<3����x���7!2�3�R0������B���ia�>�����z"n���)�q�+�� �J���E\O��B~0���`�'8h�n�,�k����^Uٮ��;� �x�g�*�d��HNm���m��S��sB��Y����Uc�z6��zOq�	Vi
��^O8.�=%�	Qu�q�8d<�>Tdw����0Gw at 8'�h@2)��DX
#�qH�����ٿfd*_� ~D�
.&Y,��=�
 @����
q��j��(<����6b���3 ��e��
�x�)`�2z>��T��%��ՓJ��CX�	���(o�!�ϰ�!�C��W��Y�;���[�R�:���8��'�V�a�
<��h�ޥ+���NW�s�����7f$y�b�O�~ ]V4�\�:VӌIh[��9oR,
+{
͈� 0uV�kb����	_2O��QNuZ
i��U;K�8�Y��Y$�16ȦAf�T�n���ܖW��徝��-��������9�]��
��PloJz.Q�}�ې�ң
���8k
���4#��~�Tl������ZSgZij���L�le�y���������EV\Y��8N�� (G
:0WgL3<Y� Σ0��i�5���-w �F��j�����)F"Me�TM��O�z�i�n��ն{WZ	aF�j�����^��g
��ɮп��9�j�PÜA3T��Vx���*K�U��q��Dc|��v�tn��υ�m�*�O�q�jc �ɉ�ց�%,t,�
���.'�Ig<�	 ���j�������
9ٙe�-��ᐒ�D=ڔ-�Qaʏ�ߔxU\�O`
�;	呣����'�4�
E�,7\
y
�kz͊U�_۱}�Vw$gA�c����L�p�YO�mfP['ΌQ�ւ3��,$�#l�I��h�.��=�
5Y���l�[�Z�Yz=�+#
\�z�Τ6�
dE
AK`wJ��[`{��
Yf��]z�h�îp��m��ۂ�ʂ��
݂N��b�Jū��ŋ����!��z:g��
��I2�u�~����
���d���I�y�d��] `0L����$�	��`�k�(��L�r�bU,;�t˲5FC�a���:��1CY�sZ����.��X��ٝ���=�2�4_���^���l����
���0,�z����[�1"O���65���QG���	M�l}gS�y�[��8i��
����u�ʀ�@�
��DL|	<�' ����
+(>���}���.���"�A��_����;���G�Ÿ�ZM����n��s*>v��~�b\t{Wsgd���Y�9�
�X�`�SP�GP��5@������C�
b
��è�I�d�"��4o�}&b��{oi�GcX
9����w��_��
�9���ӊ��5�8l/ �h�nt��O�w����'�B~��v��
+ck�����^�Ϫ6��屌�	����6z�@r$�|�@w���H��/O$�Dzn9��n�M� ���@P�P��6

X�۽��`�Jk��U͞�y�X����\v'p�f&����}2�s	���.4
2�a7]��r����xt��
(%�o����$��bs��U`H��*�KUЯl?t$��K
s�`<�ץ�
+	��t�'0}S�+S�
+���2�����w�L$���y��c�x �T�"֛�nW�d'��Ƃߢ���0�5�X�A�)���֘�W�e�V
�{�-�
!tȹ[lio�_��oo�d�>��Gݯ˕����
�X����OF�u����/���S$p������Si���T��t�qJ��ذ
+���z�P �s������jF�%���)D�< ��Ex�-+̌�{wqa�y� �A-�$B�!S*

����2(p��'�AAQ� �<"����<?�g��w�(F�A���s��G�� ��P��F�C�"΂`>b��%���<��6M�bB�:Fp���j��<�Ыr��ʼ%�
�N\�l�<(ɨ6ɘyt	]ݷ{Ӏ��Ɛk����N��dX3���NѿC	��E���AT�hz+ at i�[��t���K�-�
wi3��թie�+��
x��x���k,��5��
�T�Ec0j� 1�v|��'<�fp�6��
����[�.�Y��~^ϰ��#'
+}*g@°]t\ξ����u՚
����4_t_^)�V}���{R����Қ����/��>
��<]7���ŋ��
+�y�V���D�8?Q�q���mٛ:��-���Ӿ
+endstream
+endobj
+11557 0 obj <<
+/Type /Page
+/Contents 11558 0 R
+/Resources 11556 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11116 0 R
+/Annots [ 11509 0 R 11510 0 R 11511 0 R 11512 0 R 11513 0 R 11514 0 R 11515 0 R 11516 0 R 11517 0 R 11518 0 R 11543 0 R 11544 0 R 11545 0 R 11546 0 R 11547 0 R 11548 0 R 11549 0 R 11550 0 R 11551 0 R 11552 0 R 11553 0 R 11554 0 R 11555 0 R ]
+>> endobj
+11509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 191.16 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.914 707.957 267.663 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a29d81c4c365b593f707cbfd0f960631f) >>
+>> endobj
+11511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.986 707.957 348.235 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 696.376 172.619 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 683.297 191.16 694.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.103 683.297 267.304 694.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a58ce6d6e87e4bf19e99478994bbb6010) >>
+>> endobj
+11515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.721 683.297 347.971 694.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 671.715 172.619 682.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 658.637 226.034 669.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) >>
+>> endobj
+11518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 658.637 398.426 669.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 645.931 156.281 656.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a3024f7593cf48937f80197fb8030c290) >>
+>> endobj
+11544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 645.931 237.346 656.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.558 645.931 332.808 656.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 571.985 255.069 582.889]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.521 393.733 182.709 404.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 357.868 124.191 368.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 287.635 188.212 295.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 250.248 188.212 257.774]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 242.278 188.212 249.804]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 234.308 188.212 241.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 226.338 188.212 233.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.141 226.338 280.266 233.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) >>
+>> endobj
+11555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11559 0 obj <<
+/D [11557 0 R /XYZ 89 770.89 null]
+>> endobj
+11560 0 obj <<
+/D [11557 0 R /XYZ 90 632.579 null]
+>> endobj
+11561 0 obj <<
+/D [11557 0 R /XYZ 90 163.321 null]
+>> endobj
+11125 0 obj <<
+/D [11557 0 R /XYZ 90 140.944 null]
+>> endobj
+11562 0 obj <<
+/D [11557 0 R /XYZ 90 140.944 null]
+>> endobj
+11126 0 obj <<
+/D [11557 0 R /XYZ 440.133 77.486 null]
+>> endobj
+11556 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11568 0 obj <<
+/Length 2502      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���S#�D0pp���i�M��8�i��ez��.�$g�����DҢw:�� <�p��| M�O	M�~���˷�'�X*��O,M��D*�v�|�0J���tr5et�nW����d�|~���ͻ��6�>�y�n������<n��L��n�YOg ��e������>��3
�L��ӏ�?^|}��Cp4a
�$�$���4���J�5���*��s��|��
��+��0J���1�Xm������2�g��[lU=�5Q`����?��mM�(��u������9&8�вф3U<�����c �h
�
�!\@>FN�)��Ɩ�;��h���]WS�)c?p��� �X#�3n:3�r�
b6A%i8��e�`v�qA(���p)΁��&��3Ťl��	���?T��LJ��7���U��h�&��kL���F�J�`�����]�ҩ"�8�Id����jӲ��a�ՋkL��\�Bme�r-�SaA�W<Q���[�����e����F.|�h�a�^�l��bMhb�
�m15�r�Ш-��!��q��/���r��|���g�O� a��G��<:�x�θ~Nn�����W�o7+_J�G��7on| 	Ni
�opGΛ�ҽ+I,��m����t��W��/��F�l
+r��ɦLN�㰢�^,��`r���웩����r�%֥�;_Xo���ͱ�t�X>����>�ѧ��&6�F'��oF��B��ʟ��¯�6��n�X��F��i�{Ho��ጨ�1eh
΂'�����I��͑����I��2K@�sy�"�)���%%�r
H��6 �fʜ��������<r��:���/C���XTA���K��xN6���.U�����y�k
�|g���S
�
�b�^
��7z=͢��E�T}yTI֕�VƎ0���bRܝJ~����ܖ��g�L)���
+=�Kzݶ��\�BI�\B̠ɬ5��ǫ�ɫNPE��*<��R�?�y���i&/��:��.z�}�Q/'
񕑆�Qa� 
)��
Lc@�AD#��aBc@�a�M�iQI/�N�%&�8p����vp�d����H
+V��
�
>J����uz��’���B�Zϑ�#��(�A��jϹ[��u���ݧ�0Э���{L�-1YC�0q�z�Qf�
�-x7Ui�\u���JA�(�֞rҪ�
G�$�&�q[О�ԅGiO�����W=��ה1G!ʩ
+B�a�!TU��U}y��s7W� L�ԩ��P�yK�Gݯ���)���l�QW�KD�2ף���
u'��{t��
�`䖱ͣ��w��,|߆B�NG��+�)���1r
+!q����9�BNA�S� "��!9�BNa�S�B�
+U	Q�:��"���=�I}nB!�@S
+���B�f
�W�(4o�z�q.�/Dy����Hz	Q����`dgN���^�fR����a@�mc�q�ޢ�/�׊nO�k�Y����*qbɱ���Eu�]�ZvѠ�s巎�R�&U�I�Zw�-)D/�tBG%�"_}
U�L榴1�.7���@�(-b=��J� 
UZT!�:W��x�
�>���#�|JQt�s��p>s��
n���V��H�塭<͕GM� ՜�l�J�NX�(�r\3�4z}��� Sy&�qdkY�#[���lm��������
�ڌ���'wm^���4�+�`)�M:q��gq��^�B6b�@�a]�-�*m�_�%��K��ڮR��
vY�-�4]!R���N*M�o>���t�����ʴ��.,�chKgJ	� m9��-#��� ���0
іc@�2��[[��S��U!ޡ-
�F��ɢP:뒓���3�%�֖�p=N��2���×(�{�*$�s�ر����J��Dߜ��TTw�;Q�Ͼ�
I��}�
Ά�2_a��-ư1Ù��aD� aD��aD�F��0R��0�t
Fj&�ku�a�F��L)�]o�8]<F���8��
�`�/7E��K^��u�����9$�<��MNr�� 4�!1 ����MK@�N�R���n�x}��;^�
x��G�J��1ߕO�g��l2]M�h0��M��"��,
�_~-e'k��P�N��-�_���Wl�x����B���-t�b
���,_�� �B�e|_Bvگ,�`��C#dΔ�6�E�!d�AY� Ba�E�!d��Y�(�4M�E��"
�0�hݞ�D�|�%iYW��(�F�ntz*�P]9��}�):s�u�ə�Ef�e�;��<N藅��E0ԗ*����L�|��k�﷙���w�����p����@�9�>2�#%�?|b\�
ι.�������/�l[?��W�~J������]�m���r�':�9�B�<�_���ϋ<�&1e�^M|���\^�>}B�|"���0ֵq�i(�����jSe"X���=Y�Q"�*�'Й���)���ĿZ9��x0T\�����6��a�/��tv
+endstream
+endobj
+11567 0 obj <<
+/Type /Page
+/Contents 11568 0 R
+/Resources 11566 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11565 0 R ]
+>> endobj
+11565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11569 0 obj <<
+/D [11567 0 R /XYZ 89 770.89 null]
+>> endobj
+11570 0 obj <<
+/D [11567 0 R /XYZ 90 721.073 null]
+>> endobj
+11127 0 obj <<
+/D [11567 0 R /XYZ 133.765 641.182 null]
+>> endobj
+11571 0 obj <<
+/D [11567 0 R /XYZ 90 634.542 null]
+>> endobj
+11128 0 obj <<
+/D [11567 0 R /XYZ 409.708 573.057 null]
+>> endobj
+11572 0 obj <<
+/D [11567 0 R /XYZ 90 566.417 null]
+>> endobj
+11129 0 obj <<
+/D [11567 0 R /XYZ 223.867 481.021 null]
+>> endobj
+11573 0 obj <<
+/D [11567 0 R /XYZ 90 474.381 null]
+>> endobj
+11130 0 obj <<
+/D [11567 0 R /XYZ 502.121 412.895 null]
+>> endobj
+11574 0 obj <<
+/D [11567 0 R /XYZ 90 406.255 null]
+>> endobj
+11131 0 obj <<
+/D [11567 0 R /XYZ 512.62 332.815 null]
+>> endobj
+11575 0 obj <<
+/D [11567 0 R /XYZ 90 326.175 null]
+>> endobj
+11132 0 obj <<
+/D [11567 0 R /XYZ 395.87 264.689 null]
+>> endobj
+11576 0 obj <<
+/D [11567 0 R /XYZ 90 258.049 null]
+>> endobj
+11133 0 obj <<
+/D [11567 0 R /XYZ 202.108 172.654 null]
+>> endobj
+11577 0 obj <<
+/D [11567 0 R /XYZ 90 166.014 null]
+>> endobj
+11205 0 obj <<
+/D [11567 0 R /XYZ 488.282 104.528 null]
+>> endobj
+11578 0 obj <<
+/D [11567 0 R /XYZ 90 97.888 null]
+>> endobj
+11566 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11586 0 obj <<
+/Length 2707      
+/Filter /FlateDecode
+>>
+stream
+x��[ْ��}���SBVĞޗq)vd�
�Q�I^d�
+CbfP!	
+$���s{�� �EDz�� и8��.� ��H�l7�/�݅����+�d$���mbp��AB¯Y�z�$
���1aR#b$\�������t�ʞ�xv}���)�o@ ����������pcft��
Z$�2�ΓW���2�lĈA��;�$C<������QZ.�],FB��
�C�(2�ԘvQ)��$��r�記�	}��fe�%�
��b�,��M���
}��z�/3��
A*��@�0��D�}\��z������ �q)�@O�6�_�p1ۉl ���_cC!j��f�������
�\W�ߏ5
=�1:a�#&h2@F?��lU��
e�l�I7Y�- �43�-`)գ��&�
{qC����6��7}

s�M"�H��i��H!q����*3;ϱG��h�(�
�e dUl.����*	��
���_��6���0�6��ߙ��r�٘�Q{��ش(���X���]����x?�"^��cF��Yp7$,�QuD�ȵ��u�eBm0A� ��X	Q;�Vv"ױ�}[�o`�w��
)�C��t��
�m�'1H���b@��X%�%]����Ew�pD�6�,�m�����$�H$�@�YofWW�ly����嘋Q����e�P4fC�^@�Ю��qD m�;(�m�m���}Y�t�`���Q~k�,$

X��i���E�
�g�۾�%9�<�g]�|O�lV����
����[��e����}�m��,ҏo'��L��6
����y[�b;ı�D01�|߷�f�������a��'���<��'@X������P��� t-�r_ B�k�s�a�0����P1�=��@uu�m�M�!nz���P��
U��r�CC�L�D�}�
F�zĴ���]&�)J Y�A��J����j�O�͛��@
+Uq�0�gڙ���PhX�w&��\#e,�UH�����v��]�Hx�J`�
X{k
��t0���#��
+ܸm�� J`=�9�j�Cʝ��@�3�J9�?p
ح��H�
�!6+��Z�82�7�+}�"���
����F	�2�|��U�'�)�4 8�O<7,�@��O@:��f�-���~k��^SN���Q�(H�֘?�Aǎ��n�YP�G��&�K1����ƻ�ˢi���'�C(4�X.CF�2���M�۪�AD�'�BC�7ft���l
�<�B��i�Mϭ`�i�
Q�Ljn�L,�?������P��0�k6&ks��}Fߌ)
U��Iuڔ*8�)U;K61�1�4h���PyR��A2�����x��S2T���3T&�AG2T
�P	\�5fO�B�
�
�=��Wx�C�*H�
F#)�u��ҥ�B0�ۦ�|����
�v:dRA�	g]wv#�V�@dc>Fa�
+ލ�Y����D �]�ﶙo�Z’���oWq�M�fU��M�9���'�{Y,'���"xGn�lL7�:���=��"���t�������#�"�ݧ]�Na�� �;����`�Ǹ�ꊫ�Q�Nc�T�
z���@|lP֔ 立 u!8G]
!���9�b 
��؃��
S�
sP]تx���
)٧.t=b������
���ƻ��#�nKB{�d!�)�|�ǵ/Y�oG�H�_���\��S4��3�J��__��V��h�>��ߘj_�j᧨���P���Z�8�r���L�l����p��lޚRJ�����|��
6?���#
��0Tl~��e����wM'|�-�2�}T�K'@�����]��OxU��d�Wu���hY��n��e>���'i�v��˙�=%��5�-�U�m�o�.gȼXoˬ=��>�T���?��2�#�bS�z�RUi�,�b�g3�
+�C�=���pG��S�~h��31��
7yj��gH13���A�"�E�e�'0�w+���� �)��#���X�>:�xQ�]��H��<��ʄ�?�%kLqh��]ٍ�Um�������ޛ���{/c�D�QZ�r��4
+���;u�'�8=e�eW��
RP�V��͡�y�
֚�V�h���ZVuݟwV��F٨s
+቏j���8��1��p�L?�ø!
�SK5B�����p�of}�`�B���<�F��f@(;�U�gLF�uu2k����g	�M5�ǘ<4-&
��>������z�i�
ϱ�����bQ�*\l�A�e������
��9DEhw�s��Y����~/�[f����O��M0��^1 ���p��JFj���o ��R�G!L��ޱ���u?�%r�;�jwG�>p��?l3�J�k��D襪�
d/�A.�J.�cNX#�ߦ~H�4�AI��
���}�޸{���tAD4CJ
"��)!�قh AE�DC@�(�p�  C%��`�1J� �� �;�c�H�c��4\x��
������Ư&��1�%��2K
�Y⋕Y��"
!��P �>�u�
�,�����d�<If�G��(�
e֣��2eVG�T\h�?�(�,v��.��}o
��[a�
W��־;Y]\��`�_
+0֘���Ic���&
1!�KA�

�#��u�˗/��?�Y�G;A��-]n�y�N��p�|�B��f�`�^eY��
׿k������#������o6���˛�
0�;4-�������OW|?0��
�K8�pĹo)a	�
�{
+endstream
+endobj
+11585 0 obj <<
+/Type /Page
+/Contents 11586 0 R
+/Resources 11584 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11580 0 R 11589 0 R 11581 0 R 11582 0 R 11583 0 R ]
+>> endobj
+11580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 631.996 535.938 644.514]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 618.611 311.845 630.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.404 443.467 232.654 454.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.404 202.511 232.654 213.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11587 0 obj <<
+/D [11585 0 R /XYZ 89 770.89 null]
+>> endobj
+11588 0 obj <<
+/D [11585 0 R /XYZ 90 655.872 null]
+>> endobj
+11206 0 obj <<
+/D [11585 0 R /XYZ 90 563.981 null]
+>> endobj
+11590 0 obj <<
+/D [11585 0 R /XYZ 90 559.498 null]
+>> endobj
+11207 0 obj <<
+/D [11585 0 R /XYZ 368.821 446.62 null]
+>> endobj
+11591 0 obj <<
+/D [11585 0 R /XYZ 90 439.98 null]
+>> endobj
+11208 0 obj <<
+/D [11585 0 R /XYZ 250.019 346.884 null]
+>> endobj
+11592 0 obj <<
+/D [11585 0 R /XYZ 90 340.244 null]
+>> endobj
+11209 0 obj <<
+/D [11585 0 R /XYZ 368.821 205.664 null]
+>> endobj
+11593 0 obj <<
+/D [11585 0 R /XYZ 90 199.024 null]
+>> endobj
+11210 0 obj <<
+/D [11585 0 R /XYZ 118.164 82.069 null]
+>> endobj
+11594 0 obj <<
+/D [11585 0 R /XYZ 90 77.486 null]
+>> endobj
+11584 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F24 529 0 R /F6 861 0 R /F9 879 0 R /F12 939 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11600 0 obj <<
+/Length 2392      
+/Filter /FlateDecode
+>>
+stream
+x��[s۸���)��R����;���d���q�n_܌��h�S�t()�~�
 EP�D�L���d&�h���\~$��-Fؾ����^����|��� #�
�܏

)n���n>��F��'c
]�	��b�]�)���LJd^�w��i��^�Yw?}x,�DG�z���xB�~X�뵻|��'���,�]S�#&�����?�\��  ��#�ң����

����0	f��}�h5���r���?.p0�rv�G8;B!��!���gHy9�}-ZB��3l�)��hSk�WA�D�@���Q�蘐�Yu_�	E�P@�]�@�[��DG�BvH�
+A�C(Pie	�o��
V��88� ׈Ky@�*�ѿ���	&���zc��F)�`���/�t~�2ɒ"��k

�(�DT���Z�M4"�n���c�`�l���%%^�h�A������2���7�a�,p�B�4��Bd`�>��6]�m sm
{���[��f2&"jZ����?��<��#���i��W����Xm�2G�֐�
�r��^�c�f��7n�Ǹ�W�&)��}����
��c*�w�ډK at J4��&O}>�򍻘�i2�+�ʏah���;�p�Z;%�@���›�^�� �l�&�H�2���hm���x�|�u�G�y�.
!�Ȉ#���bo^�g4a�/��`d�r�pGV aHL�ZI
�I�(	C2�D�^3�	d1�F�wXB!���!�|��2�Tѕ}��EU/�v̞2��3%��M���0����y ��f`��IG��C�� X�~̆�#S�a�UE�_Æ�
��A��
u���HHM�V��2>������t�:}(�N�ʁZ�Xப��dv85F�
+���Y�d��
V���%kN[B��������H�vA|�L�����u�~�����b]�j�b0�(Wk���`��/�j�&�F:���wu,�^W҉�э[>��C��'.C2	^62��e�֧IȽ+w���;eOpQ;\���We�xi	�}���=
���G��˲]lg�d�k���b���ˋ�mٰ��;�K�o��[��PU�U��O&�&��¡yGQ��M�8V��U�/�S�m�	���:�j�j�쏷���z��=)}>�>]���@�9x;�O���s���*�= ���
+o�>��T���
�ON�-��7
#�|ksx3��N�G�:�:����T�w�C�	��!3a@���4��� �<���F�!�YP�f_2�/��=,���l���d}�Y�Bf�����,�42'J| %U��R�� ,i��J�͒H�0(8&���i2�pM�����n��pR�c8ihMh?�٢ؖ� ��& ��BI��Y�^)�	Z

�2�i=��?0��G�n�;'`��g?��ϰ��B�c�ox�
+�H?����3�V����1���{*�$�a]�n�h�N�wY��\�:d�+,2Pz�q0�����c�t
�}������J=	-�=��k�&�����(�9k`�=�Ɂ�2M��o�NP�`RsĪ��W�A
C��D:"�{֮�}��ړ�u�&��Pų�y��YI�,�}A�}<X�ڼ���y�����O8<�Q��ͼ?�t�d+�{��MǾu�䶣A�Ю����@Eە��lT
@�G�@�9�8�����sPq 
*
�`���u���F��ި(�)V�
>��xn�@;�� �I *�aU��-���O�I��T� P�L��
�4~
+�� 3��R���=�˪�r������/����#��1�mW�ZW��pD�E�_�{D:*k�M��Dt~K��䀻ts�lJ3b���#X�0(����+��/	��@
۞5���	Xz2�ޘPB/��P������j��M��&����
�
�uf������N���$
+��L
K�if3�q
+R��I�"��ͶȪ}�j_��/G�?�t'�!���)��Muv��7)j2J�-����Ə��z����袟5������.m����B<9�4�eWL�^J"A��!B	��ˈ!D����h�W���Y\���K��il-�"���
�ݗbN85�P���
+�dmWD�W��A$@\	�r �w\i��a�J�"�q�̭9�']2��
$�`D�2�S`!�����
x���WQ߄�~^s�Ɔ�O��t�t�N0�8���]����

h��f��
���"DH#:���c��N�c���6�LXޙ��E���U����xjy7����+���$-����m*�
+l�����_3q�;�����_�����c!"o�_�Vm����= ���.�=�~K��N�F��/�C��+������t�X'���վo4�ާj�L�ʋ���psU>��*P+;
+
d	��`̷`~LT��������_�я9�����@
+�
+endstream
+endobj
+11599 0 obj <<
+/Type /Page
+/Contents 11600 0 R
+/Resources 11598 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11595 0 R 11596 0 R 11597 0 R ]
+>> endobj
+11595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.404 614.735 232.654 625.639]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.404 413.656 232.654 424.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11601 0 obj <<
+/D [11599 0 R /XYZ 89 770.89 null]
+>> endobj
+11211 0 obj <<
+/D [11599 0 R /XYZ 368.821 617.888 null]
+>> endobj
+11602 0 obj <<
+/D [11599 0 R /XYZ 90 611.248 null]
+>> endobj
+11212 0 obj <<
+/D [11599 0 R /XYZ 291.124 520.183 null]
+>> endobj
+11603 0 obj <<
+/D [11599 0 R /XYZ 90 513.543 null]
+>> endobj
+11213 0 obj <<
+/D [11599 0 R /XYZ 374.799 416.809 null]
+>> endobj
+11604 0 obj <<
+/D [11599 0 R /XYZ 90 410.169 null]
+>> endobj
+11605 0 obj <<
+/D [11599 0 R /XYZ 90 279.734 null]
+>> endobj
+11214 0 obj <<
+/D [11599 0 R /XYZ 90 247.97 null]
+>> endobj
+11606 0 obj <<
+/D [11599 0 R /XYZ 90 247.97 null]
+>> endobj
+11215 0 obj <<
+/D [11599 0 R /XYZ 405.643 196.467 null]
+>> endobj
+11607 0 obj <<
+/D [11599 0 R /XYZ 90 189.827 null]
+>> endobj
+11216 0 obj <<
+/D [11599 0 R /XYZ 403.979 140.297 null]
+>> endobj
+11608 0 obj <<
+/D [11599 0 R /XYZ 90 133.657 null]
+>> endobj
+11217 0 obj <<
+/D [11599 0 R /XYZ 487.336 84.126 null]
+>> endobj
+11609 0 obj <<
+/D [11599 0 R /XYZ 90 77.486 null]
+>> endobj
+11598 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F10 765 0 R /F6 861 0 R /F9 879 0 R /F12 939 0 R /F7 795 0 R /F1 833 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11613 0 obj <<
+/Length 3193      
+/Filter /FlateDecode
+>>
+stream
+x��[[w�~��P_Z�4��~q��Ӧ�9M�t�u�����2m��$�D��}?��HP���&/}�D���`����Fw#�/�\P��?^]�zc����
]ݎ

���w3�a,4��x��HhK��x+���o�_����v������#:b� E�
��?�HG7��-:Ύ>�F��ׇѻ��_�Y@1"�cUό-� r2e���	��eq3�r!�o��l5϶�1c	�*��lj�np�����ۉ���Ä���}~�J �G�8ĺ�w��*[M�v�|y�]���g��/��*��0������b���|�A(C�cC@�j#���
W��o��d*���ź�Xz��
F6j]��O~f��H���~��A�h���R�˿�2f:-�k�k�?O,
�@�V��������"�~�S"�%RlZH�s��4�
��ͦ�FGca�[�Aq�0���xx�<*�L�����F�Y���T���:nڔ�E-(��5�t��cQ�'aq*�����Ѷi�^V����l~�͐��	W
1���~��M��,Q�7�;��(J�i��ܖBI�4o�lcS�5��y���eY��פ�o�V����ְ�V��&[���N���}�H
A�S���u�'c������,���:
+�{���D�
"R
���11��FG�	S�E������u�G��y�l�h�2 ��;vy��|V~�ӄ�1���
"%�ɀ<��J�9��d�j0�bq۱N5�<i
��h�ob_Vi��r���g�-��zC�kWh#&	�K*�՘7
�Q���٭I���͗J�^?HS 3BՄ����񩄫�
+��_並r�Ved�2X$��q������m�p��[���-nr�!��c�p��>�p�f���8A5�-��1��.R����{y���o��){�z��oi�PD9s�rO�~���R�;�
+
E����*g�(w�u���<=�a^v��ej�=%�n��`?,ڰ����Sv�b�at�b;�Kk�Ѵs���ز�j~"��d�A��_�٬�yS����V��
+��[�v�����Ƶ�
{Q����x M|
A8)@
D
 G N���PG��_ D�/	�c���_�P�Fz[�
l���s���Y��c?͂(Q�%YeE�����XO�$,n�Ι�s����WpRf����lW~�ٍ���l"�<r2��x��
+�(N�K�
�b��%��2w�\��T��s�϶�
,"������?�M�`ρݫؼ�~�TxRQ��
gN�e�����^y��7�J���襁c$+`�= �)תq�������zRy•��n�E
�x?�T�6���<_�r�1<^�8�W7V�{_,�87�?'�84�ʼn����m��!��
Ix%��v��� J:{��G؂�u �M��
��
��r�s��ı^ b �w�>^�04
>aN%Qb��]��~�O�
V�B� �b𑬵�5���!
u��D�������A������>�a��\��Pt= fH~��[B��(%���:�~���Au�Sq�
�9pȆ&T�c��Q�������S����3�� ;ҙӧS
�F�tc*46nE;�(�!}N�w���s��s8{�<{�S�/ ����&�
$�P�o��K(�1A�0�$B���'�9D�&�^bp�
+Z���U>_�d҇�o���r����U2�4U�`�L� k��	��n7)�u��5�r'�@3�z���c��O��2a\�=6[��G�	��:!�I)>4dR���Z�Dc
�d��`�r|�g����a4���Z�{��I�`e�)J�V�=X�&��m+�z�S��Z6M{Cx#
Wƍ�<�R�
+/�J�~j�$�Վܯ2�����뺣��?_6O�x�]�>�!bu�b�UW�$�<&%�?��g�a�
���&�ƃF�GKB��񳍼���(�O3�L�! ���O���Q�A@��I�D�ȯ��3V�8� �4�A�eߍC�7L��S�^��
����Q���}pD���5�;ꮦB�S;��O��cR�g���HV`)!>��`粗z�����9я��g=����N���\e��>�<q6Z7��LJ�k�4�7e���Ѣv.{�nd&
�9h�!Rǫ�8c��28�P��N��l�g�<
��-9}���9V[��d�͜b�5
�Pi��\]
��@���7�l���E�����!pu�I�x�.�  <W��D׌?櫹'OOe���@Y=a����N�.C���:C$�u�uِu�Z���9tر�hp]�\^~�g�r�X�n��}���.]B�f
R�ag���)@zB
0� X��h�鰗��b����%����л���G���
�rz��Y�J�N�/T���j�0�Y
.1� 2x2������,0#�mf]�|�yVi�:��$� # �6]G�ag����k�}E
p'�.3�0��Z�Z�%~<ͮKϸߘ͖����P0����bv�{�Q�
�?�D�
W��m
���:*[���]~sT!�'w�6J,��JL�2����M
+$
��i�f��=Y�aT��:�֡V�R���ю�46�}��76/i���/2t�*����/z�+<Q��0��G*oSN����T����[QH���Z
+K}�,V���U�/�XR��O"���F_N|}^J <*�<%�gA/G/v�ן}j��>����FCkә�l�7h�Fjҁ��=��o=��2+��&�eT�3�S�5�N
�ν�۞�c:!}��N'��C���ҧm��Z+�e0)F�Yˡ����<�XS��0XB��!
�AÙ
ș�"�
���vm
G'��k�0����D<���!T�[�kT{�<�7U
R��U
��6�:�6A�c�PxզK>��K�7�=�B+`��NT\V�ۺ���,l6��.��j�Ng�|���鯞�5�E�
+K�I
Vo} �;E�V���tO�#��rH�
���H���2�W��9��Ea�1��ۃ�����^��A��s7��2o�R�)B2�֗W���y�U
�n}��ű߫w^��"U�{�~
+���a�wxؼS�x���i	a��)�M[�
���'(ys|�u�i���۷�U?���W��(
��5[l���R��Wm:��g�^�wy
8�`�������=
<J�~us_����^]?݁Q�����j_vػ�f�6�b�l*%�n���Z���$�)
+endstream
+endobj
+11612 0 obj <<
+/Type /Page
+/Contents 11613 0 R
+/Resources 11611 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11610 0 R ]
+>> endobj
+11610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11614 0 obj <<
+/D [11612 0 R /XYZ 89 770.89 null]
+>> endobj
+11615 0 obj <<
+/D [11612 0 R /XYZ 90 658.004 null]
+>> endobj
+11218 0 obj <<
+/D [11612 0 R /XYZ 298.885 563.776 null]
+>> endobj
+11616 0 obj <<
+/D [11612 0 R /XYZ 90 557.136 null]
+>> endobj
+11283 0 obj <<
+/D [11612 0 R /XYZ 457.052 507.606 null]
+>> endobj
+11617 0 obj <<
+/D [11612 0 R /XYZ 90 500.966 null]
+>> endobj
+11284 0 obj <<
+/D [11612 0 R /XYZ 391.16 439.48 null]
+>> endobj
+11618 0 obj <<
+/D [11612 0 R /XYZ 90 432.84 null]
+>> endobj
+11285 0 obj <<
+/D [11612 0 R /XYZ 174.283 353.731 null]
+>> endobj
+11619 0 obj <<
+/D [11612 0 R /XYZ 90 349.093 null]
+>> endobj
+11286 0 obj <<
+/D [11612 0 R /XYZ 158.014 285.605 null]
+>> endobj
+11620 0 obj <<
+/D [11612 0 R /XYZ 90 278.965 null]
+>> endobj
+11621 0 obj <<
+/D [11612 0 R /XYZ 90 210.391 null]
+>> endobj
+11287 0 obj <<
+/D [11612 0 R /XYZ 439.235 133.657 null]
+>> endobj
+11622 0 obj <<
+/D [11612 0 R /XYZ 90 126.683 null]
+>> endobj
+11288 0 obj <<
+/D [11612 0 R /XYZ 470.21 77.486 null]
+>> endobj
+11611 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R /F8 794 0 R /F11 613 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11626 0 obj <<
+/Length 1760      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�Ԓ
���[kǙ�n�I�^�L��!�S�tHʮ�� HJ��,)�$'� ��o��pp����׳���b�AFR����
�.��!�H�hH0��iDp����iDq�M��E
<I��8�;88IR�_�w�GD��(�,��T��p���c�ߧ#�HS�C\>��
�<|�
#���h:x�0�:��
�V���
~'������ˆ
+7t?��@��%!��%��Zӛ��0K.@`�Aoxrz�JH4E�����!9)2ڴ���D4hJMG�ӈQ�sDH�m�*��m�M�]�޳�P��w{$�)b�"�6Haݑ���#�� ��
�䳓�z������P7"N:@�X�+q��H�O�	(�ҡ����\a��d �`�w�Y3��L����iv1�d~��;/M8��8�$�t�ش�w��E�
&�U6�.mj�Y���S?*�fu\���yvq�5+g�dr矮�dj���
�$DE��a6����NJ�B(
��m
����E�*���Q�ԹI�,�/��_

U��V�r�^�`�7,�W���;�~��Q� #j%�E�@zbS?:�kg� $���,�d�<:�b	��
�6Q��&
+�Dl#Q8R��53�h2EG��R�6��SEG��\Q$��LH$�܆L�9�xW��d(�� j�$�†��Ե�i1��aP%�E���ˋz6���6��C7�`b%d븩__gER�\����\Ze��b�L�t�(0���5�q�e��*"�"|Z`�ٕX,S���8�/
+o�_�::��	����x��J_���Q6�MA˸�Z4|W�*@I�a��.VR�#�x���Ҩ���
҄�ٕ]�<.�����F�.����U�� )ٳ��f�O~H.,A�4
,��!B$¸]s�����Mz�2���ݓ��>1�-�{kD�l�=r
I' $��y�֖�<-�`�c5�"��Z����a���_��M8�\6K^�P� S�tc�.
g���"pH
i�ƺt��u_D4������8�;2��$>��>�0�8kU��4�z��js=�f��> b�͓���"�
��~�>oz@JK�ɒQ:2J�Bfd}UG���2h�| �ba6��C��y�a�r�f�ew��C����
Bzȅ|���bi�A�s��� �f.�KN^���	n�I�d׸����f׸��-�o�fi��ԸF����̛��6�T̵���m�BE���s���K�2���88h�g��S�{6e$4]�9to*�yu��I�z?�믓�ҏ
5U��y���
N
"���}����#����Ӟ�e�im�f��8�_2��^��0�=s�V��A���
+��<C at j�Y@�@�o�}@p�Ha ��<C�/�m��
 ����4��(_��R��9��،S
�I��n|��M�
�K}���
+�/X�aGj��
@�Z ���W?B��
>%� j����nzC�Ts�>�\���v��
K��U��{��x{ݭ��xFM��Ǯ�����w�o���&f�����o��[�+����ǯ��zW�q�hz+e�{
���R�ɤ=ܠ�c懽�� ��/	��s�t����$E
+������z`
�����+WH��^g��NOO����?GB�����Y<i�(
� ��c� 켊���Vꝵ�׼�����Ae��(Dp$D۬]�������첰�%e�U�/��܂���4�k��t�ͻ/���;
+쾛��`�O`~L��Պ�q���XO��6e�Q~�����<
+endstream
+endobj
+11625 0 obj <<
+/Type /Page
+/Contents 11626 0 R
+/Resources 11624 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11623 0 R ]
+>> endobj
+11623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11627 0 obj <<
+/D [11625 0 R /XYZ 89 770.89 null]
+>> endobj
+11628 0 obj <<
+/D [11625 0 R /XYZ 90 721.073 null]
+>> endobj
+11289 0 obj <<
+/D [11625 0 R /XYZ 234.765 659.423 null]
+>> endobj
+11629 0 obj <<
+/D [11625 0 R /XYZ 90 652.783 null]
+>> endobj
+11630 0 obj <<
+/D [11625 0 R /XYZ 90 592.919 null]
+>> endobj
+11380 0 obj <<
+/D [11625 0 R /XYZ 90 569.43 null]
+>> endobj
+11631 0 obj <<
+/D [11625 0 R /XYZ 90 569.43 null]
+>> endobj
+11381 0 obj <<
+/D [11625 0 R /XYZ 90 515.771 null]
+>> endobj
+11632 0 obj <<
+/D [11625 0 R /XYZ 90 511.288 null]
+>> endobj
+11382 0 obj <<
+/D [11625 0 R /XYZ 90 471.556 null]
+>> endobj
+11633 0 obj <<
+/D [11625 0 R /XYZ 90 467.072 null]
+>> endobj
+11383 0 obj <<
+/D [11625 0 R /XYZ 90 427.341 null]
+>> endobj
+11634 0 obj <<
+/D [11625 0 R /XYZ 90 422.857 null]
+>> endobj
+11384 0 obj <<
+/D [11625 0 R /XYZ 90 383.125 null]
+>> endobj
+11635 0 obj <<
+/D [11625 0 R /XYZ 90 378.642 null]
+>> endobj
+11385 0 obj <<
+/D [11625 0 R /XYZ 90 326.955 null]
+>> endobj
+11636 0 obj <<
+/D [11625 0 R /XYZ 90 322.472 null]
+>> endobj
+11386 0 obj <<
+/D [11625 0 R /XYZ 90 270.785 null]
+>> endobj
+11637 0 obj <<
+/D [11625 0 R /XYZ 90 266.302 null]
+>> endobj
+11387 0 obj <<
+/D [11625 0 R /XYZ 90 226.57 null]
+>> endobj
+11638 0 obj <<
+/D [11625 0 R /XYZ 90 222.087 null]
+>> endobj
+11388 0 obj <<
+/D [11625 0 R /XYZ 90 182.355 null]
+>> endobj
+11639 0 obj <<
+/D [11625 0 R /XYZ 90 177.872 null]
+>> endobj
+11389 0 obj <<
+/D [11625 0 R /XYZ 90 126.185 null]
+>> endobj
+11640 0 obj <<
+/D [11625 0 R /XYZ 90 121.701 null]
+>> endobj
+11390 0 obj <<
+/D [11625 0 R /XYZ 90 81.969 null]
+>> endobj
+11641 0 obj <<
+/D [11625 0 R /XYZ 90 77.486 null]
+>> endobj
+11624 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11646 0 obj <<
+/Length 1711      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�S*M*���L^�:��i�&j_��G�`[S�r(���]އIQ�4i��)b{|�vR¥w����ˀF�x�i:8{����*���g���%R�
�����>�@¬�Q���<��?���~�O�
�
KH��7_
^���?E�`��)~i�	x��^
�
�������#�%�%
+���#ݵ�
C���$�-}7
.�?�#f�n�Y��dTE���R��Zߺ`�q�
�Gc���
��I�$\d��
Y>��ٻ��˘.�
����G�l�
�'s/���&lP���
g惦Ib�U.�5Ȱ��|z�,�l#�������B�x�J�xgOTY�Fs�M��З.��������%77��ɽ���v�m����Kn�_��Ƹ��+��ZwJE�$�H:��YI��
�Ar�Zkj���9��B��TS�p{�6f9
*�1��ԇ���}�����
��O���_�����4����kw��R>_:?�KK�8�Fz
+gl��FN�����t���ắE,J����ln&�
F5�����C�Rq����r��.p���(�27�����沋x��`�
�
`�J����?������?��������5����
+g-�AS�*m[SNђ
��1Ր�
o$����d�]YM��ՆF �TJ�����)��#Q2S߱�p���c�T�A"$���s�1(U�r�c	ps*p�99���a���X�J�Z܁q�"F�x@�/-��ib�-�>&p�M�(�ɨA�#�[cUabQ v�o��C;6�`tE�.�-��[
���qz�ѷ�V�[���+9_�}��1���epA	��R��
|W���c�
Q��Ҳ5WA�K������j'�p�
��`��G�8{Q~�3ʯ��Z(�ԝ�q��O}���/��t�
+<|�ukTa�
�C	�
���X#b�e�N{�p���%.'@Wח
!�dh(;y���4!�5�a��Oi;�wʘ��d~3��Uf�2L-Y7�P��}����@
G�S�����D{��큺���m��{ڀ�΄��]b
<���GccG>J�؁��fX5q�K+O����ݵ�Jj��DA$�~�ȍ�:�m=W��.Mq�� ��2����U�ݼU.*�kR^Y]b4�$1~��$�2�8�$$��*�F��׵&�C�M��Ln�^_� 	9L���0DŖA��>��`Y]7 �c�+Y�)��P�oz
�G\?��a�./�+�������%�˕�cXǿ�/��}8
�,�L�z1wn�%dop��2�PE�
��1�g2Y�>_�[KX:��k-Jl�EnJ�٪ٶ2��Qlǐ���PG�w;��3�^�}��Ώ���1�����w��) �� �Z`'űhP;m�c神9���L��:�$
�W݃�������i~l9��Wʡ�2Hb�l�s�k�P�fE [...]
z���&]F�ǾQ�ݤS\$���EսВn���}3V��î�����G�Q��l�+��?fc�g����y��
+qc�7.f

�<J��düD��w�.
�ϒ��6.�a$�0u��3���&����1��
�F2�@�e��+�RW%��'��oI/V�O��C
��0������p�����׫��[
���\��47W� 5h����,���i���
+endstream
+endobj
+11645 0 obj <<
+/Type /Page
+/Contents 11646 0 R
+/Resources 11644 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11579 0 R
+/Annots [ 11642 0 R 11656 0 R 11643 0 R ]
+>> endobj
+11642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 274.67 535.938 287.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 261.285 311.845 273.235]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11647 0 obj <<
+/D [11645 0 R /XYZ 89 770.89 null]
+>> endobj
+11391 0 obj <<
+/D [11645 0 R /XYZ 90 686.846 null]
+>> endobj
+11648 0 obj <<
+/D [11645 0 R /XYZ 90 682.363 null]
+>> endobj
+11392 0 obj <<
+/D [11645 0 R /XYZ 90 642.631 null]
+>> endobj
+11649 0 obj <<
+/D [11645 0 R /XYZ 90 638.148 null]
+>> endobj
+11393 0 obj <<
+/D [11645 0 R /XYZ 90 586.46 null]
+>> endobj
+11650 0 obj <<
+/D [11645 0 R /XYZ 90 581.977 null]
+>> endobj
+11394 0 obj <<
+/D [11645 0 R /XYZ 90 530.29 null]
+>> endobj
+11651 0 obj <<
+/D [11645 0 R /XYZ 90 525.807 null]
+>> endobj
+11395 0 obj <<
+/D [11645 0 R /XYZ 90 474.12 null]
+>> endobj
+11652 0 obj <<
+/D [11645 0 R /XYZ 90 469.637 null]
+>> endobj
+11396 0 obj <<
+/D [11645 0 R /XYZ 90 417.95 null]
+>> endobj
+11653 0 obj <<
+/D [11645 0 R /XYZ 90 413.467 null]
+>> endobj
+11397 0 obj <<
+/D [11645 0 R /XYZ 90 361.779 null]
+>> endobj
+11654 0 obj <<
+/D [11645 0 R /XYZ 90 357.296 null]
+>> endobj
+11655 0 obj <<
+/D [11645 0 R /XYZ 90 298.545 null]
+>> endobj
+11398 0 obj <<
+/D [11645 0 R /XYZ 90 250.995 null]
+>> endobj
+11657 0 obj <<
+/D [11645 0 R /XYZ 90 246.512 null]
+>> endobj
+11399 0 obj <<
+/D [11645 0 R /XYZ 90 192.668 null]
+>> endobj
+11658 0 obj <<
+/D [11645 0 R /XYZ 90 188.185 null]
+>> endobj
+11400 0 obj <<
+/D [11645 0 R /XYZ 90 136.498 null]
+>> endobj
+11659 0 obj <<
+/D [11645 0 R /XYZ 90 132.015 null]
+>> endobj
+11644 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11664 0 obj <<
+/Length 2216      
+/Filter /FlateDecode
+>>
+stream
+x��[Y���~ׯ�S�®z�>��C�q�8X�=ɋ�p$jF���(��ߧ�wSM
#*6�0DQdU�������!��σ��n��X`��T����@q���o��CH0�l8"����0J����!��z��1�&�ݛ�}%���7�U
%w��7ɐ�0�n���pDZD�m~�.����IlES�C&����/�׷�?��F ���r��#�p�� #ft�=�
8e��~�®�Qa/�Ga-Ȭ��a�E�X��~�ě���'rOE��*�<�HPup���
�ז��1��qr��8�
ҒJ��%�����#
+N�e$q0k�C�LD��\�(���f�N��E�zH��$r��<J]Q��ChY���5�mc
��'��G�A��M�n������֌��|f?Y�>����&�����|���_�3��e�қ�ag�?�8��Ȁ%���?���o�M

+���<h) �V����+<^F�w#++�T�dDOk�]e��X`�O��k
�`H
bJ��p�x��
���
�D
+�賴/�y�tJ���
+�y�,=��P��6@={��R
+���[`7&\o�$J�H!�F��{6�
�B!\�,��֚=A�N��BZ�:ǡ�?x$�K��j�u<�
�|2�W�~g�"A8�",&EF�*`���T n��4���v<�@�W
����+��֮�$�
U'Y���tĘB
+��˹蜾�@�2^:�,�6N���I���x��
�$68��7���.Y,#M�Xd��_�W�w(Q�Se�2���|�!��T��:&!ZM�?�?�����k�)���(��뷄�&@��4�@�8D�qg��?�����u����ڀҐu�`��!ë&�*�ف1������S��
���
�n�
��	bZB@b�Z'`	�T���:j(��(޹P=es��E�V9�A
��X�h`v���Ƭ<y� D������ǀ�|e0�j�3�W*"hf(��ܼ��Y'
�Y|�Fv���N�!8�>���L(���!V� �,҇���8�ѐIč��PIN&2_	>P��
ĭ�A�P��&�s;^��U���
+ꂚ�C���Ąޗ%�̢�V�| 
8���
1X�
=Դ���u��5�!0F[���f�xӄC�4;�Q�������J�a(��.͝�L�"M��K��^��:��AM��
2�%R
�[ܠ�)��t&��dji��[xK@I{Q,s1q�a��*�җ��˽�9�{K�%/���( Ϊ�mE����=�/����L���oFE����

�d
�/�r&Z
���
I������
������/���Y�ޮ�n���=g��j>�
M�Hzq�Nˠy
W���4X/�
p�(��g��~I���
���7�NU��׫)G��)�4��O1`Ilv<ul�� ��w.V�CRIW�Q(�Ͳ¬Y4�
^��U٭$
+���,�
kş�f(�%�U^����W k�u�� ���r��K�7Nwψ#Ϋ���-��f1�
���<	��Fk_0�3&*��8�j�+��7��������a�-;VR�;�������Fy!p�B�QǁSBC�C1 �d�U|"pJ��S���gzp�EN#���S�^"e�SqW{��iY^���{�$��'xW(r
���g�Y�^���nK���)ςO�"�O���n-xqخ
h��1�0K�pe at C�(I�)+��
ҸzO]�ص.
h���J54��€%�:ka���€�����W{���be��
ڿ2�p�n�Ӏ�m�����T���B�ftW��?����8�L5P(���ةW,�^�G��� ?�%���G&:��ltT�Q(,�b1
+��ӊ��N���K7�"Ϫ
+qJ��L!�
�퐐�)�
ܾ1
+Qɮ�}�܁�
Zt%^��b� ��=m��p��N�o�sz���H��a��<}�I�d��e�e�$��ud[�G)�,���FŽ�����מ�\1}��w�g�%E��S�0�<
�EJ^���
+	�˳�E���M~�m�|g����V�h�_�|�
 N�?q�$�V# ����㸰*�����1�z((��ϫ<��f|ss�{�ƫ4ɧEnu5� ��I<[�d�N
+��+��ll��'����45 }�	p��~LT��_�:��|��q��%
����
+���¶
+endstream
+endobj
+11663 0 obj <<
+/Type /Page
+/Contents 11664 0 R
+/Resources 11662 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11660 0 R 11667 0 R 11661 0 R ]
+>> endobj
+11660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 694.807 535.938 707.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 681.422 311.845 693.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) >>
+>> endobj
+11661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11665 0 obj <<
+/D [11663 0 R /XYZ 89 770.89 null]
+>> endobj
+11666 0 obj <<
+/D [11663 0 R /XYZ 90 718.682 null]
+>> endobj
+11401 0 obj <<
+/D [11663 0 R /XYZ 90 643.966 null]
+>> endobj
+11668 0 obj <<
+/D [11663 0 R /XYZ 90 639.483 null]
+>> endobj
+11526 0 obj <<
+/D [11663 0 R /XYZ 90 585.639 null]
+>> endobj
+11669 0 obj <<
+/D [11663 0 R /XYZ 90 581.156 null]
+>> endobj
+11527 0 obj <<
+/D [11663 0 R /XYZ 90 529.469 null]
+>> endobj
+11670 0 obj <<
+/D [11663 0 R /XYZ 90 524.986 null]
+>> endobj
+11528 0 obj <<
+/D [11663 0 R /XYZ 90 473.299 null]
+>> endobj
+11671 0 obj <<
+/D [11663 0 R /XYZ 90 468.815 null]
+>> endobj
+11529 0 obj <<
+/D [11663 0 R /XYZ 90 429.084 null]
+>> endobj
+11672 0 obj <<
+/D [11663 0 R /XYZ 90 424.6 null]
+>> endobj
+11530 0 obj <<
+/D [11663 0 R /XYZ 90 372.913 null]
+>> endobj
+11673 0 obj <<
+/D [11663 0 R /XYZ 90 368.43 null]
+>> endobj
+11531 0 obj <<
+/D [11663 0 R /XYZ 90 316.743 null]
+>> endobj
+11674 0 obj <<
+/D [11663 0 R /XYZ 90 312.26 null]
+>> endobj
+11532 0 obj <<
+/D [11663 0 R /XYZ 90 260.573 null]
+>> endobj
+11675 0 obj <<
+/D [11663 0 R /XYZ 90 256.09 null]
+>> endobj
+11533 0 obj <<
+/D [11663 0 R /XYZ 90 204.403 null]
+>> endobj
+11676 0 obj <<
+/D [11663 0 R /XYZ 90 199.919 null]
+>> endobj
+11534 0 obj <<
+/D [11663 0 R /XYZ 90 148.232 null]
+>> endobj
+11677 0 obj <<
+/D [11663 0 R /XYZ 90 143.749 null]
+>> endobj
+11678 0 obj <<
+/D [11663 0 R /XYZ 90 99.534 null]
+>> endobj
+11679 0 obj <<
+/D [11663 0 R /XYZ 90 77.486 null]
+>> endobj
+11662 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11684 0 obj <<
+/Length 1744      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~ϯ�S�L��V�Յ^��N)�tH�L'
|�L�I 	Пߵ���#�bg��Sl�ڕ��>}����7�L~~����_L.~�y�2��*�2��
2|�:z>Ecf/�"4N�7�*}���O�,�%�M
.&�'��2$��.o'�_��5?~Ďѻ�S��m���M�l��DVz���mT{  2� �A�b�����	�����׫x�����63p�x��^��VN
)��j�.�,w��w�9����$gsciz�^mw����z��o�7 ly�B<��� ����P �h����Z�W/�T���jw7L�@�3��^ �`)���u7@�CAK�)8��m�׻�����U�+T�m�WHx�*�7���N�M���CS����1
� �� �}�<rJ�V�o��.~�2
�a�U�}'tR
/5_�|Hwq=
�Q��%�+C{����W��0�A��`��!�vx���J
�rcͼ�.7��W7up���D�ۂ �����;	��f@�G@�Q�N�� [...]
`@a	�9��;�:�
�a8��0Y�~�cS���p�9ݕ�lg�9O"��\�æ��Ԃ�0��A&�౏3WCc��U��4ǟ�>]1�����"rY��ˎ�_wš���,�J����Đ%�_ui^ZT
��
+�ۿ��
+���C<��Ex��T�(�GV
Ǧ�0���Wq�����u���ס�N�^�
+�� ���\��Kz�� ��t�е�I:i)</�1�ͦ����=�}���/cK�cn�\	��}ug�=��8Y!����6b�r��;d0	L�Ђm͓I ')�
gDB����2�wkV�j�f�{kXԻ��6l����P�:��c��`��� �娪5T��&X-��$��[Rt�y�b��R�#lO��o�h1.�T��P7Qu~)̫G����aԒ���BcI�c�j�oOp���j�����U�tIoK:��K:��FW���%
��Y�ρ�e۞�����4a�P>���mj�$t�q0���6Ü'����[���rX�C���}���,�*�V���b�.�9����Ԉ>�g����{R�x
�y�-ḳG��
�	��|�s��VM�$��Y_4j$
+At
	<
h#�"�n�ߺ@8߮:�s���xZ]��4i��ԝǠ1c�
������l8/g:3}*�N�.ʓ�d ����Ҁ�d���i|�씜���$j;j�QT4���H at 3�q]D
+44
+k�t��{eJ��X�t;�t~�c�cRp�� �ԁ��`�=Q��Q�X�(��2J?@HLI���
+�2�{� �QU�]r���R��P�CC.�av�u�"~�,���i9|�ƒ�
>v��y�Q2Q�jh��h}%
l�k��i����U�����,
:e�
���q$hܺ�,����V�
�.�>0n�P�5!�����N��I=�
=
�
�t��msf�0Z���h�lͫ����h��:��4P0�c0��Q/٥�CЧ��<5	F��Ԫg��gfc+FR��
L(�
��5�������^k*���
uXw�
�6��pa
�1����w��<�®����L�p���J��*��|��yh�p��-F?��Xan����T{�s�3��k���'
��-/zEr�������m��vF4�f��-W�7�u�ȏ	D�M��!�L��͑��Y
�'0��?y����_��*���v��_\���f�ވ��m%G�񾌱+^9ignכ���W��v��~��P%�
�� NT�Z
+endstream
+endobj
+11683 0 obj <<
+/Type /Page
+/Contents 11684 0 R
+/Resources 11682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11681 0 R ]
+>> endobj
+11681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11685 0 obj <<
+/D [11683 0 R /XYZ 89 770.89 null]
+>> endobj
+11535 0 obj <<
+/D [11683 0 R /XYZ 90 692.575 null]
+>> endobj
+11686 0 obj <<
+/D [11683 0 R /XYZ 90 692.575 null]
+>> endobj
+11687 0 obj <<
+/D [11683 0 R /XYZ 90 659.513 null]
+>> endobj
+11536 0 obj <<
+/D [11683 0 R /XYZ 90 624.449 null]
+>> endobj
+11688 0 obj <<
+/D [11683 0 R /XYZ 90 624.449 null]
+>> endobj
+11689 0 obj <<
+/D [11683 0 R /XYZ 90 602.342 null]
+>> endobj
+11690 0 obj <<
+/D [11683 0 R /XYZ 90 568.279 null]
+>> endobj
+11691 0 obj <<
+/D [11683 0 R /XYZ 90 534.216 null]
+>> endobj
+11692 0 obj <<
+/D [11683 0 R /XYZ 90 500.154 null]
+>> endobj
+11537 0 obj <<
+/D [11683 0 R /XYZ 90 466.091 null]
+>> endobj
+11693 0 obj <<
+/D [11683 0 R /XYZ 90 466.091 null]
+>> endobj
+11694 0 obj <<
+/D [11683 0 R /XYZ 90 433.029 null]
+>> endobj
+11538 0 obj <<
+/D [11683 0 R /XYZ 90 397.966 null]
+>> endobj
+11695 0 obj <<
+/D [11683 0 R /XYZ 90 397.966 null]
+>> endobj
+11696 0 obj <<
+/D [11683 0 R /XYZ 90 375.858 null]
+>> endobj
+11697 0 obj <<
+/D [11683 0 R /XYZ 90 353.75 null]
+>> endobj
+11539 0 obj <<
+/D [11683 0 R /XYZ 90 319.688 null]
+>> endobj
+11698 0 obj <<
+/D [11683 0 R /XYZ 90 319.688 null]
+>> endobj
+11540 0 obj <<
+/D [11683 0 R /XYZ 90 286.626 null]
+>> endobj
+11699 0 obj <<
+/D [11683 0 R /XYZ 90 286.626 null]
+>> endobj
+11700 0 obj <<
+/D [11683 0 R /XYZ 90 252.564 null]
+>> endobj
+11701 0 obj <<
+/D [11683 0 R /XYZ 90 217.5 null]
+>> endobj
+11702 0 obj <<
+/D [11683 0 R /XYZ 90 183.437 null]
+>> endobj
+11541 0 obj <<
+/D [11683 0 R /XYZ 90 149.374 null]
+>> endobj
+11703 0 obj <<
+/D [11683 0 R /XYZ 90 149.374 null]
+>> endobj
+11704 0 obj <<
+/D [11683 0 R /XYZ 90 116.313 null]
+>> endobj
+11542 0 obj <<
+/D [11683 0 R /XYZ 90 81.249 null]
+>> endobj
+11705 0 obj <<
+/D [11683 0 R /XYZ 90 81.249 null]
+>> endobj
+11682 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11724 0 obj <<
+/Length 2231      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�WX`��v�/B��f�� ��ٗ��AK�L�D*$e��뷚wR��u�a_Ɣ���]u���jaD�7��������������<���һ{�
�7HH�4�>�#�Gc�1�oG�A�
�oG����)������!
����C�Az3��O�������7�t���"�/f��
�[X���#�;&1Hj^���)A���T`�nd�.W� �o>��a:"��)|%$5>��Nz���՟W��
)
#���ty��
�f����Pf��R
Zz�ڭ-�߯~��=���9��&��G3đ`�
q��R��*7��uU�<ˢ$.��Y�
1-������U�yo
+�]��g,�ê�q��*~�;0���E���c&���
7M�,w��Z�5���F8H��a�L3�
i���
+��Up
���Π1�II�1��Q���Y�/|�$�a`m\�vL)"X��χ�4
,0�[,�)�Z���z3Ǥ
M�1ߕsn�QH+s�
5���PSؐ
|/^���F�Q�)O4)�,�@��]��kӤ�f��	٩0LU��� ʳɤAv�<e ���S&��o>
G�ӂ���J˳��@�`lO���)mf9&C(�a^����8_�����%�M�\[��l��DZ��,���V�Zv U �����#�
�`�,N���Hq��b�gs�J"�u��>\�SJo�
��_
�(��-@V��yD��D3@!�~
�
t� ���
"��DWJ B��8�V|**������
'�40X�Q
D�6
\��Z^������o�"uN�fh�Z3P�3���Q'�D��=���|� ��)���H�K+�
�a�!��Y
KHIL��k���o�F\�S���
"+@#+ZS�|���d��d�P��?o�g0_ˊ��7ʊ-�Lcq���m�=@��V)>o�qy
+Q)@��B�y)D($[?��C�
��T�а);���8�]KP zv���]{"}huԩDp�

��A0�2�m�q���>���Oo���Z4�Z���d�dyK��Qe�G
N���
-qۚ���Y
���,<
���
N�V�6.϶�|:d���Ï)����L	�Kg��<�;�I�<d#B��`�S���d��_�qu�������f��
&����ň�÷
�'�,���@�An7V|��W<�OQ՘��=ꗢ�^}���M�pV��&��հ�l�Hl��%���W�x,�Io�
�@`)��WR�3��?��X �V�zz*�g�%�i��zVp4�ue дW�:f{&pv�"
+n�QH#�QH:� PG9�΅�܎���M���Q��|�ϳJlCX��Pތ���onG
���Mz�Uh�@��Wq����Q�;X��]���PJ\��g���
nc
�
oc���F\wnc����5�`�����xE�/��(�\'Z�./Q�T>Eq
��6a�E�{����Fse��
���r(��%����,tRX�2zx�%zM={^���6�ԑ����=�X�f��s ��LK��.´|�Y�S�IY�
�
ްа![أ�s:�p����^�4��]�)9K��
�n�'%/p
B�C��UQ�!|
֋��(Ȇt=�3�|���*_�qE�A=r�Z>%���v��X�d����z�h72��1(G�B�j��s��>�����(�W���§�(�ס3; �%�E\6����*�ϘU��g�&�P6�
��!��P^�
� ������.>߯��,H7O����l�ijF�����(~J��As��d][����@~h.�WU��
������ؚ�p�X�
E��?�“����܍
��Y1<6��F��P�=���
r
ϕW�� �UY��FK8b4Ar�6��ڱ�"��Ak�LX"ֶO��b�����4���dz�������]f�`�7o���X
�O����zk��-ڔ	��Ю�
+h�$�A,K��e�FJ��_d�g�Ml���f�(A�mO�
�B��=���.�3iCz_�.O����bDwvPG�
CoOB.6�'���
D�>� ��@@�Bؐ
��,�����5��9;��
TqE١?�+�Ҳ+�q��у~�����,L�:¯ �K��#�]�-4aڲ A��8��
�h-�o�~��Uq\줾��sib�������z���
M��f�:�0�7�M�i���޲դhO��9Q�Q�5Qz��'
A1Q�#����/V_\�cɼp�o���
ɦ
+endstream
+endobj
+11723 0 obj <<
+/Type /Page
+/Contents 11724 0 R
+/Resources 11722 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11706 0 R 11707 0 R 11708 0 R 11709 0 R 11710 0 R 11711 0 R 11712 0 R 11713 0 R 11714 0 R 11715 0 R 11716 0 R 11717 0 R 11718 0 R 11719 0 R 11721 0 R ]
+>> endobj
+11706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 301.463 168.326 311.993]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6ffe3fb5134511834617a887244e645f) >>
+>> endobj
+11707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 273.118 168.326 283.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a705817841ed4087af706fb138250677d) >>
+>> endobj
+11708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.663 273.118 250.079 283.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 244.774 176.075 255.304]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a091ead8d6024998d0b42d3414af7024a) >>
+>> endobj
+11710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 216.429 168.326 226.96]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aa79bd8215768f99b2f4955d80abe19bd) >>
+>> endobj
+11711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 188.085 168.326 198.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac35d5925785d796c12dc79c193263580) >>
+>> endobj
+11712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.142 188.085 207.329 198.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 159.367 168.326 170.271]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6377f256c9f9706efe893c170dcf4169) >>
+>> endobj
+11714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.663 159.367 272.913 170.271]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+11715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.022 179.554 141.926]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 131.022 250.666 141.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_abbd8b9f2542dfd695e350d178acdb21a) >>
+>> endobj
+11717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.809 103.051 200.604 113.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8a6be57b7127b316a2d1a9155218cdfb) >>
+>> endobj
+11718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.42 103.051 239.607 113.582]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.809 74.333 245.137 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1969778eca91e2d869a184cd86a28b7f) >>
+>> endobj
+11721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11725 0 obj <<
+/D [11723 0 R /XYZ 89 770.89 null]
+>> endobj
+11726 0 obj <<
+/D [11723 0 R /XYZ 90 693.576 null]
+>> endobj
+11727 0 obj <<
+/D [11723 0 R /XYZ 90 658.512 null]
+>> endobj
+11728 0 obj <<
+/D [11723 0 R /XYZ 90 624.449 null]
+>> endobj
+11563 0 obj <<
+/D [11723 0 R /XYZ 90 602.277 null]
+>> endobj
+11729 0 obj <<
+/D [11723 0 R /XYZ 90 602.277 null]
+>> endobj
+11564 0 obj <<
+/D [11723 0 R /XYZ 90 568.279 null]
+>> endobj
+11730 0 obj <<
+/D [11723 0 R /XYZ 90 568.279 null]
+>> endobj
+11731 0 obj <<
+/D [11723 0 R /XYZ 90 534.216 null]
+>> endobj
+11732 0 obj <<
+/D [11723 0 R /XYZ 90 501.155 null]
+>> endobj
+1238 0 obj <<
+/D [11723 0 R /XYZ 90 426.348 null]
+>> endobj
+390 0 obj <<
+/D [11723 0 R /XYZ 90 419.467 null]
+>> endobj
+11733 0 obj <<
+/D [11723 0 R /XYZ 90 320.308 null]
+>> endobj
+11734 0 obj <<
+/D [11723 0 R /XYZ 90 320.308 null]
+>> endobj
+11735 0 obj <<
+/D [11723 0 R /XYZ 90 290.229 null]
+>> endobj
+11736 0 obj <<
+/D [11723 0 R /XYZ 90 261.884 null]
+>> endobj
+11737 0 obj <<
+/D [11723 0 R /XYZ 90 235.266 null]
+>> endobj
+11738 0 obj <<
+/D [11723 0 R /XYZ 90 176.851 null]
+>> endobj
+11739 0 obj <<
+/D [11723 0 R /XYZ 90 148.506 null]
+>> endobj
+11740 0 obj <<
+/D [11723 0 R /XYZ 90 120.162 null]
+>> endobj
+11741 0 obj <<
+/D [11723 0 R /XYZ 90 91.817 null]
+>> endobj
+11722 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F60 532 0 R /F22 2996 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11788 0 obj <<
+/Length 2256      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�H~���W�v�&
�zNj�����݇̀���M���Î��ou7I�EI
�,��-������j[���q��۳�+�Y
�������
�~ͭ�&��﷿XpE�0J߾������7���Ϸg_�<�1p�V��}�
[s�����\�IwJ,�2�����?�p-��U��1�ل�d#�Cص
B!F�O����(Ǔ�A�F�>dI6%xr���TfU�G�ie
%�ŕp7��m�����"w��H`��T>D��ԓ��ۉ�VT�5Xwt>#���M���]�L)>�8Ɠ�)ѣy�Li<��U�I�R{K�p�<��ܜFu�
s
�I��Z��F(6�8ؐ�>ȩ
څ�k�q�a�0��)q�iɴ,��
Ĉs����N��x�U����)�d��/�?�_��r�(���
b�
���J�p�D�6Ӣ<�Zl %���ٓ�M�.��ym�lÊZ\�Tm�U\�����
�ðZFrތp *<����c�E�k���52�AJ_�
�X�|�Y� 
�Av̺�u5�^ֺ�	�r~��a��*Y~g��'�Z $T�l�6�����P����8F��|P���7�oߚf>e�D.ͥ�8
�Q���j0ý�ՔQ�p�%����e.��3�'���
О���Þ���*�{���2���;��Z�Q
�1h�B�
9���}�C��Gǀ�������j�i�̖2ʬ�N8]�¬u��~X�؈1~ ��3���]�Ň�:΂�(��X?��`-eA&�|j�I�
�!b�q@;�� 
S6�t7����XPK�4R̫P'e�c������X؋{z� 9�Qm�F�y�8�<&,� <ȣ'��3&(��*�0� l��a�Ş��ǫ)��{@�pK~�s�.h˼�{�ռ���PŢ�_
nh�h���bpj<c�;�Z�STh��8#����_�sм|����_���p�t"
+��c�GA[6�k�������=j�8QrI��I��`'i�9~�.Je��WʮY�
Mp��3���)X&%�ȉ[OQ�04f�.�JG����R�}�Δ���+
dS�'O߻����+F�[7<�u�X��i/���Jy�c-�S񲞞�@�tdt��0d�8���T\B0��3�L���
+�x����
��ո�� *�E�'b�Y��4og���T�D&�����ba*��gPY�J�zd��XC�h��_*�f���	�].��)f�����̍�^�\�V6�r�9�@6�K�����5w�%Fܝ%��Rۋ��Q���x���8�s���i�����2��D/��®�Q�v+kMi{3	��5k_-e$5~o���Pĝ��r`vn#�k�ݛv��ޠ�ԅ��
7
�G5p�?*��:�فϮ�������a,7�IHGJ��l���N��8�k�Q�e�+�a����7{'>ϴ���3�x t���_��� m���yK���
����� ��i��ݘ0hI��k7� s��2+��.����
;v����J?9��J���?{�'�����(��|�B^Swr]�M
H����2��'�о��Є�a���F�
]u���㹱0�e
%2-`�#N}��_,�P��蓾�ac'��x�T5��RL�i^

�m��t6>� �`ܭ`�]A���9�'�Ou�i�
3CZ� 5Ng��CV�MT�V��y�H��=ݾkފ,�EіE�.%���� ���d_���K7��("�
MI*���s���c�[E�s_���s��o7�[{ܐ��j3��0K{�Xs;Q�u�=Wx:B1�G)榬*�ޞ��l�V��
���j�
�
d`k��Nj��|3��c��/�,�{H�)`T)~�
#~�
������� �`�$Pua*u��Cn��ֱ��„9P�;π��O �X�jg?&�Ӄ��	�5T&~���Eߜ���:�z��M�Q�nꕫC�}z��R����j
/���=�9�o�@

�C�����c����m�H���	�z���ّ�Rq\$��%��dO��<V�v7��
�C��֎[�WM ��
b
��m� �~g� ��&82h@ Ĝ�D�Т
�b�l�;
+�<6?0T�);���@�A��_&~��G��:m��S߸x�0��L��n�����E��%Ȇ=�}�qHS�]_�3�2��zOUWmj����u�S
+�_k���=�\_Z�U�v�<\�G�I
�r���⮺/dz��,�ŝW�P�9mXYdu��dy��Ɯق�h�x�u�9
+endstream
+endobj
+11787 0 obj <<
+/Type /Page
+/Contents 11788 0 R
+/Resources 11786 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11720 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11748 0 R 11749 0 R 11750 0 R 11751 0 R 11752 0 R 11753 0 R 11754 0 R 11755 0 R 11756 0 R 11757 0 R 11758 0 R 11759 0 R 11760 0 R 11761 0 R 11762 0 R 11763 0 R 11764 0 R 11765 0 R 11766 0 R 11767 0 R 11768 0 R 11769 0 R 11770 0 R 11771 0 R 11772 0 R 11773 0 R 11774 0 R 11775 0 R 11776 0 R 11777 0 R 11785 0 R ]
+>> endobj
+11720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 694.557 161.711 705.461]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a9a97dfad75b130ba9af2bf837221f571) >>
+>> endobj
+11743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 665.765 191.718 676.669]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 665.765 288.852 676.669]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a868c5d2bfed1531f600d5550a15c9282) >>
+>> endobj
+11745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 636.972 191.718 647.876]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+11746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 636.972 303.079 647.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a11faeb0d0bdf510639755bdfa3da44fc) >>
+>> endobj
+11747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 608.18 181.845 619.083]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a768af1a1ab63ec4ae39ec442ec69ffb2) >>
+>> endobj
+11748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 579.387 181.845 590.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac6b95d89c30f7eae0d0a6b8b017f3bb6) >>
+>> endobj
+11749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 550.595 154.727 561.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0aae60933043b8a5733655f003b49855) >>
+>> endobj
+11750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 522.176 176.505 532.706]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4dbb70694594789f52b71511d56b9e30) >>
+>> endobj
+11751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 506.733 450.955 516.638]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac6b95d89c30f7eae0d0a6b8b017f3bb6) >>
+>> endobj
+11752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 482.424 150.493 492.955]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ab010a109cfc8c298bec09df604e9c6ca) >>
+>> endobj
+11753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 453.258 169.013 464.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac298af7d04123bec59f2a70423c0e4c1) >>
+>> endobj
+11754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 453.258 227.245 464.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 424.839 174.852 435.37]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ace7d8219031e05879897cd3443d35ed8) >>
+>> endobj
+11756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 395.673 189.725 406.577]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_affe69279c3c6de02262f18195a95e271) >>
+>> endobj
+11757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.541 395.673 288.384 406.577]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) >>
+>> endobj
+11758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.812 395.673 415.228 406.577]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 343.966 177.91 354.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a464efe235d459d13d155c27608940e02) >>
+>> endobj
+11760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.247 343.966 249.849 354.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+11761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 272.055 203.075 282.959]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 272.055 296.324 282.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+11763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 256.985 326.375 266.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.343 160.909 217.659 171.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a532a142d9884da79dd7c66643aad74ed) >>
+>> endobj
+11765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.89 160.909 332.533 171.813]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.056 160.909 390.471 171.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 149.327 178.428 159.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.37 123.599 212.477 134.503]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a7fea886a5a8d881aaea0392ad771b0de) >>
+>> endobj
+11769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.763 123.599 327.406 134.503]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.963 123.599 385.379 134.503]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 111.644 173.446 122.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.522 111.644 268.938 122.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.617 86.288 218.07 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22) >>
+>> endobj
+11774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.85 86.288 331.494 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.244 86.288 388.66 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.992 74.333 247.635 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+11777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.624 74.333 305.039 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11789 0 obj <<
+/D [11787 0 R /XYZ 89 770.89 null]
+>> endobj
+11790 0 obj <<
+/D [11787 0 R /XYZ 90 712.265 null]
+>> endobj
+11791 0 obj <<
+/D [11787 0 R /XYZ 90 683.473 null]
+>> endobj
+11792 0 obj <<
+/D [11787 0 R /XYZ 90 654.68 null]
+>> endobj
+11793 0 obj <<
+/D [11787 0 R /XYZ 90 625.888 null]
+>> endobj
+11794 0 obj <<
+/D [11787 0 R /XYZ 90 597.095 null]
+>> endobj
+11795 0 obj <<
+/D [11787 0 R /XYZ 90 568.303 null]
+>> endobj
+11796 0 obj <<
+/D [11787 0 R /XYZ 90 539.51 null]
+>> endobj
+11797 0 obj <<
+/D [11787 0 R /XYZ 90 499.759 null]
+>> endobj
+11798 0 obj <<
+/D [11787 0 R /XYZ 90 470.966 null]
+>> endobj
+11799 0 obj <<
+/D [11787 0 R /XYZ 90 291.412 null]
+>> endobj
+11800 0 obj <<
+/D [11787 0 R /XYZ 90 291.412 null]
+>> endobj
+11801 0 obj <<
+/D [11787 0 R /XYZ 90 219.585 null]
+>> endobj
+11786 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F67 3037 0 R /F39 2320 0 R /F11 613 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11865 0 obj <<
+/Length 1332      
+/Filter /FlateDecode
+>>
+stream
+x��\�S�F
�_�'j�]��z?����n�Jg(�}�ƀ�&�p���?c��Ǒ8	xx�8Z���OҮ���"֧�o���G�Z�d��t-C,�
�]Y�6% �Ӧ��ȡ��w~�0b�7�U��.B/|888���t������������{F0���1����8#sMF񡂉�yF��|}o4r�L��f��۾7��7�~�
�m?��WB2c��DL[tZ�Z��&���u9h�~%���bp���c���Y�Z�:i��"��I�֒�Ĕ�]m)J��=cLēg��1
+�"4���\�q�Jl�xJ�p�ٹ�I��*��p�� 5ʇ
+�
m��#���i+.���!�I�)��T�Ȓ�uj��O-�4�pt��mI��3"ȳ����h�rӕ�F�$�I�~�g{
u�,�8�}?[�%�W��󄟇����?��iI��l�EO4R�x�uA�+/�*��?��nG��@ΐH�~OHJ
H�2������
E���Cn��SE�ET��q]���
+<ll.�~�A�V�~��.s
���7
���`4^�(#�U
��������گV#сdͪ��#��9H
��r��� M���X��[�2��AK��.���uBhF�
0���.�bB at MC�� C�Z�4��&��l�y��ס�b���.�~��#���S)0X��x� o\� ���bx����.�g�5�n*�-� ��:��%
+��^W�~9�'+Du�/�uT������¸O7�gatO*׃�`��p��&
o6
�K9��4Us��W���%"J-z�D9P#��+���c�`���u6��� 񃠊��U�28a+�.�A��
�hm���'�*�L��ż7�%��1Ss�DrђX�&����5�-m�Oϯ�7TH,����涉���JD`�sh6�M	����Fя��/?Ț���
+q�l
^��hE�w{Ϲ� Cņ�E����M.�t.^E�h��l�T�ojo
3G'���t&w�3B�YK�k�ؔ����
H���Ԭ@)���,�s@ϖ�1	��Ueg
R�f��ֱ���S�d;���.D�5����
+�ޔ�}v*����� ����&�

�����_��||��_��x�U"�7��3�{i�
+C������w�o�K
+���
��Fx��
+��
+�Ǔu2�

&����'G;U�//���N��I�~8�
��%98m�����q�����?� �Z
B䖹�o��/�G~p
���� ]�� Qy�D/I�
�T�^��7F9!�k��Q�)�e�@c~k T������������}��^�����
+endstream
+endobj
+11864 0 obj <<
+/Type /Page
+/Contents 11865 0 R
+/Resources 11863 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11778 0 R 11779 0 R 11780 0 R 11781 0 R 11782 0 R 11783 0 R 11784 0 R 11807 0 R 11808 0 R 11809 0 R 11810 0 R 11811 0 R 11812 0 R 11813 0 R 11814 0 R 11815 0 R 11816 0 R 11817 0 R 11818 0 R 11819 0 R 11820 0 R 11821 0 R 11822 0 R 11823 0 R 11824 0 R 11825 0 R 11826 0 R 11827 0 R 11828 0 R 11829 0 R 11830 0 R 11831 0 R 11832 0 R 11833 0 R 11834 0 R 11835 0 R 11836 0 R 11837 0 R 11838 0 R 11839 0 R 11840 0 R 11841 0 R 11842 0 R 11843 0 R 11844 0 R 11845 0 R 11846 0 R 11847 0 R 11 [...]
+>> endobj
+11778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 156.281 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_afa15deb19dfecdd98737b7375b1ce79e) >>
+>> endobj
+11779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.002 214.512 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.848 696.002 314.263 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 655.691 168.326 666.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 655.691 236.754 666.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_adcca8dd406de66be709434ebb479c9eb) >>
+>> endobj
+11783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 655.691 318.507 666.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.682 655.691 445.097 666.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 615.38 168.326 626.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 615.38 236.754 626.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6c1cece5e5e0195baa563da3574b2e42) >>
+>> endobj
+11809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.57 615.38 275.758 626.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.092 615.38 363.508 626.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 575.07 168.326 585.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 575.07 236.754 585.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aecaf3176848b7bc62927a36ab60067ed) >>
+>> endobj
+11813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 575.07 318.507 585.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.179 575.07 397.366 585.974]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 534.759 168.326 545.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 534.759 236.754 545.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4d12b35e0dd97b7319d536f692f50150) >>
+>> endobj
+11817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.462 534.759 368.878 545.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 494.448 168.326 505.352]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 494.448 236.754 505.352]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6c53f6f9c17b44e920dbcca5b02b6267) >>
+>> endobj
+11820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 494.448 318.507 505.352]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 454.137 168.326 465.041]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 454.137 236.754 465.041]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a61ff1698fe2e74953ee823d59d2ddb31) >>
+>> endobj
+11823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 454.137 318.507 465.041]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 413.827 168.326 424.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 413.827 234.254 424.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aff8503daaa036375be162237f0d7c87b) >>
+>> endobj
+11826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 413.827 316.007 424.731]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 373.516 168.326 384.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 373.516 234.254 384.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a50e316ac5412563b194a422ed639db97) >>
+>> endobj
+11829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 373.516 316.007 384.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.181 373.516 442.597 384.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 333.205 168.326 344.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 333.205 234.254 344.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aa40049de444ed76982f6b4bd21aa5cfd) >>
+>> endobj
+11833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.07 333.205 273.257 344.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.592 333.205 361.007 344.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 292.895 168.326 303.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 292.895 234.254 303.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac9b28fec0aa459e25cf267c3ed31a0e5) >>
+>> endobj
+11837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 292.895 316.007 303.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.678 292.895 394.866 303.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 252.584 168.326 263.488]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 252.584 234.254 263.488]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8e65c033489da565762e3bde7d374d73) >>
+>> endobj
+11841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.962 252.584 366.377 263.488]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 212.273 168.326 223.177]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 212.273 234.254 223.177]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_adb40b5b841a737ad5e7b8924335eef3a) >>
+>> endobj
+11844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 212.273 316.007 223.177]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 171.962 168.326 182.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 171.962 236.117 182.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac6910bddc1f60dd99cd77eeaca296341) >>
+>> endobj
+11847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.825 171.962 368.24 182.866]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.652 168.326 142.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 131.652 236.117 142.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a97c956c3432528492b019a33b6d4394e) >>
+>> endobj
+11850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.454 131.652 317.87 142.556]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.341 168.326 102.245]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 91.341 252.615 102.245]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1dd1c5b1e1b88d96d7aa8eae595625a9) >>
+>> endobj
+11853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 91.341 310.846 102.245]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.02 91.341 437.436 102.245]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11866 0 obj <<
+/D [11864 0 R /XYZ 89 770.89 null]
+>> endobj
+11863 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11951 0 obj <<
+/Length 1419      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F����K
+�r��œ�i�I�&iL�bg:�-
� a!���wuE`���j����蜣��iW�Y7�޴~�z��Z� ��,�,�4pa�����T�Η�;�
+X
�*��������p_�u�u��f�pl��T�ոu�Y�f�;
�ʺ�[�P�9��Z�P�
��$P�'�0�,�1`
;pA�N�6��H�ᰍ&t�m�'#;p��S�s�	�����
�p%3Kǵ�N�K8j�*0���9�1̌�������59�5�q��Cױ��O;��=��Iļ='�t)�|��,!��
64`*�^k�يȬ�(5������\�;�{�8Z�~��1&���6��O�c���1n��о
9E�ߙ��Žyx��j!X�
bNM3�`��v���Nc	_-�����I��8QΜ�%O�ć,�P� 8=�y�
 ��Gܕ�����%{:
ޤN��y��
z�u^r��t?<�@���V��0_�N�l�Ѱ��숢���i�*!�x��7* }tXp��`�NX����
�eѳ��yY�l�@����"-���
�l�1J0�/��D`
+e�Y�@HV�Rjd,+��
��f8#�ƹ!ē��gǎ�
+�HH�:Xo��!�I�	Bv���u3Hj�qD���0)|t\p.4\�";���vF��^ D
NfJEe"�/WUG�h�L�*	�ZE��E[*{PL����"I܀��`�����eg���
���+��@RV�����e�& ���fU�re���� f�\"]e�}�σN
+��j���9
�h!

+
+��|J��� E��� )ߴ�=w��fpD�h�m‡+��Й�?~��vRX���
�P��!�V
b*�P Uq5
�
���6T �)~r�d�pm
ê=p�n�
"������ě�c����6���@����ź�b����4�L�R��(	Y�@`�ʕ�~N
��,�̒�r��0���3
%x#��]���r��f+�*�
��v�B�Q}�k.�l
�4=�n��n�ݣ��WH4b��أ������P�u�^� ?%��'��r�uo����>�����Gt�W6P
+X��I�U�msM$�?��-g�"�1c��S����D��7Qa/�"
���ߵ\��6�·��P�jX`҂�c^S7󚻙״��K���,����Bhy����nz���mO��6�`>�[�|w�3����,��D��f���Jr
�����ܶL��hTa�rߣ�i�dC��Z�z��ܜ�Zݹ��%(�u��=]�'���K
+?}z�s��?v8o'��~�ݙ=�d"�
���O��oĀ�A�K�zϜt�
��O��o�b��
?γa�� ���z��������7~L�yc�ɬ^�r��I at C7\i�OX�x��RI1
+endstream
+endobj
+11950 0 obj <<
+/Type /Page
+/Contents 11951 0 R
+/Resources 11949 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11680 0 R
+/Annots [ 11855 0 R 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11861 0 R 11883 0 R 11884 0 R 11885 0 R 11886 0 R 11887 0 R 11888 0 R 11889 0 R 11890 0 R 11891 0 R 11892 0 R 11893 0 R 11894 0 R 11895 0 R 11896 0 R 11897 0 R 11898 0 R 11899 0 R 11900 0 R 11901 0 R 11902 0 R 11903 0 R 11904 0 R 11905 0 R 11906 0 R 11907 0 R 11908 0 R 11909 0 R 11910 0 R 11911 0 R 11912 0 R 11913 0 R 11914 0 R 11915 0 R 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11 [...]
+>> endobj
+11855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 168.326 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 696.002 252.615 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8121efae2cfdf708bc80df0a29ecace0) >>
+>> endobj
+11857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 696.002 310.846 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.517 696.002 389.705 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 656.22 168.326 667.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 656.22 252.615 667.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a249b83627bd1fc3a6e8cff5566de8e1a) >>
+>> endobj
+11861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 656.22 310.846 667.124]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 616.438 168.326 627.342]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 616.438 250.114 627.342]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a25f7695aa23ee1eebaab53c180512003) >>
+>> endobj
+11885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 616.438 308.345 627.342]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.52 616.438 434.935 627.342]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 576.656 168.326 587.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 576.656 250.114 587.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1a88e1933993c8562b586eb50efb635b) >>
+>> endobj
+11889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 576.656 308.345 587.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.017 576.656 387.205 587.56]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 536.875 168.326 547.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 536.875 250.114 547.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8452faaee93aca528132796ec28951ef) >>
+>> endobj
+11893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 536.875 308.345 547.778]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 497.093 168.326 507.997]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 497.093 251.977 507.997]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0b17cb50f319bb1942e2d93bb03b39f9) >>
+>> endobj
+11896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.793 497.093 310.208 507.997]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 457.311 168.326 468.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 457.311 249.765 468.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a928bfef936763acd21344f469b74e83a) >>
+>> endobj
+11899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.581 457.311 307.997 468.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 417.529 180.54 428.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a55cc14142958a8c9fbab183d63a18d87) >>
+>> endobj
+11901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 417.529 262.293 428.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.149 417.529 385.565 428.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 377.747 178.239 388.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6cd1d9123d91ad11263872e5745a3212) >>
+>> endobj
+11904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 377.747 259.991 388.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.848 377.747 383.264 388.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 337.965 226.034 348.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0801eaf17912403e4e1028f8a369d340) >>
+>> endobj
+11907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 337.965 375.591 348.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 298.183 168.326 309.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 298.183 236.754 309.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a61ff1698fe2e74953ee823d59d2ddb31) >>
+>> endobj
+11910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 298.183 318.507 309.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 273.311 168.326 284.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 273.311 236.754 284.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6c53f6f9c17b44e920dbcca5b02b6267) >>
+>> endobj
+11913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 273.311 318.507 284.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 248.439 168.326 259.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 248.439 236.754 259.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0fb5c6814551962ec105ad073103cdbf) >>
+>> endobj
+11916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 248.439 318.507 259.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.7 248.439 420.888 259.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 223.567 168.326 234.471]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 223.567 234.254 234.471]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_adb40b5b841a737ad5e7b8924335eef3a) >>
+>> endobj
+11920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 223.567 316.007 234.471]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.694 168.326 209.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 198.694 234.254 209.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ab5a66f5a68773b7bc33d39bdad1a9fb9) >>
+>> endobj
+11923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 198.694 296.779 209.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.113 198.694 365.301 209.598]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 173.822 168.326 184.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 173.822 236.117 184.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a97c956c3432528492b019a33b6d4394e) >>
+>> endobj
+11927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.454 173.822 317.87 184.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 148.95 168.326 159.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 148.95 252.615 159.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a249b83627bd1fc3a6e8cff5566de8e1a) >>
+>> endobj
+11930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 148.95 310.846 159.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 124.078 168.326 134.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 124.078 250.114 134.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8452faaee93aca528132796ec28951ef) >>
+>> endobj
+11933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 124.078 308.345 134.982]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 99.205 178.239 110.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a6cd1d9123d91ad11263872e5745a3212) >>
+>> endobj
+11935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 99.205 259.991 110.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.848 99.205 383.264 110.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.333 156.281 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_afa15deb19dfecdd98737b7375b1ce79e) >>
+>> endobj
+11938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 74.333 214.512 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.848 74.333 314.263 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+11952 0 obj <<
+/D [11950 0 R /XYZ 89 770.89 null]
+>> endobj
+11949 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12022 0 obj <<
+/Length 2126      
+/Filter /FlateDecode
+>>
+stream
+x��\[o�F~ׯ�S�DW�_��@�m��fo�],�%Q6��Rr.�~�\H�-[�%;�����s��ef<��U���
��T,2�H*��idp��AB��$z
�$O�c
_$�i5O�^$����u6�ҷ��Q�V��_�E�Vo_&T�e5O~����%!-��PD9��
�g��#�H��)��ab�Լ&��n�t�L�T��214��Y������iV%D�Y1�GBR3E,��������x��t4�^���	<�)ˆ
�wD�S��,�e�6�m[K�S"�t�A���
��
^���Q�(L�;q�h��Uq& ��tT!����;�$Z5�>.�"��|�Ð�M��X}�-S]��æ�C��
AC#��A	iP�Ҷ�iA�7����0���]��"��UY}�5z�l�
<.���΁l�	�꡵���)������b$ H
Y
+>!]_
�T�*HHs
+�/9���B�R��h���y�H�D���ˊ�.#�� ��x�;6��ڿ�ӹ���� Wad�����+S� ����'�~.еS��:#���+e}�%N}=`�.��H�Α:5��`{��ݺ�
y��۾K��	��_>���<�
+s�h�;z�l�Np��~�)�
0�����8�����cnM�"�ɉo0f��[S�O]�� �� ����?�J_��S�q�,7>�-y���~-
+E��փ�`	|"O�S�=��;���!LO��,�f�=4 X
A�'��z�"�!�s��{�;j��H�O ��/��� =?0��#`~{&�Y{U���o
ƑѤ�9l�H��FLwU�7 (bZ����Ǣ���v�|��<n��/x1"��A�T�{���rv?@<~�m(.;�V��4�
I��Z�>���*���v!rO
��q�\M������y��}�|��
Iָ�ٳ]��$_����
I��Y��
+a�x�T:[�~X�L�G�pD�?0��3?��S?�e�4�e�
�p�
W�b��EG��0�hH����!��cH���j�{-j
�2A�>Sټ�7���
�օ�p�H(wg��O ��(jdD�Ԯs@�f��@��OG�$��p��'	�1�y����U="(�v�
B���+�?ɕ
uܜ���1{��?�̦ɺB��������F
`�+�44
+�}co�p;�Z�.�_��0�vq�S+��z����U^���=��ꄒM�=�E�8ϊ���m�@b�4�݋“���e����S����x����)�T٢ʖV�
���o���#�f�t�SX�����kSB�"�Ym��px�E�A'�����cyl9����Tvw�D�b�o�F�&M*x�{0�XC�AS�{��g88�KՈ������>�����������ޢad0��m'~���#
�_gU_�›�*z�i�L3`n��I����$�g����!���;�W ~Y�/��t�ْ�M����>��C
�)�{9�#�D��͹%�Vo+�� �iV�ƵK�I�.� 7�E��
+�� �ҷA��Ki��:-&�FFd����
e��n�ܐc����F0/��yy�Yyc_0��j��!�<�tf�gۙ�>�NR�RMy
CO��Ԧn�\�
dש]B�8�x�������e�VБ�h!����(4�d�(mM��O��89�v<�����m�1}'��M=�
e9ߎЭ6i����خ���
}�f�I����Ȍu6�{i[���[��sd�r��B���ƍp=
�nc�[�����8�0c���Y<���� \f+��Y�}U�m���@7�,:
�!��Ex��d��tJ �*����I�H�L8^���]1��S���ƴ
<G�� yq���<!�R���͚
n��.N(L��j���ݴ*��y�w:�MYd��ձצ�
K`烍ֱC}˒�jZ�h��=4ɩ�@SzW@O�&@^���!��37�=�6�
6@R����� ����ݖ���X�9�0�߽����╿��2����l�ϴ���1;w�@�B-��a;���嗬6���������o-
+�,"DS��W�������
+z�+d��%��0���zd�0�j�I����
���
T)im	0��,0Q����u�_
�~���
������>�
+endstream
+endobj
+12021 0 obj <<
+/Type /Page
+/Contents 12022 0 R
+/Resources 12020 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 11940 0 R 11941 0 R 11942 0 R 11943 0 R 11944 0 R 11945 0 R 11946 0 R 11947 0 R 11965 0 R 11966 0 R 11967 0 R 11968 0 R 11969 0 R 11970 0 R 11971 0 R 11972 0 R 11973 0 R 11974 0 R 11975 0 R 11976 0 R 11977 0 R 11978 0 R 11979 0 R 11980 0 R 11981 0 R 11982 0 R 11983 0 R 11984 0 R 11985 0 R 11986 0 R 11987 0 R 11988 0 R 11989 0 R 11990 0 R 11991 0 R 11992 0 R 11993 0 R 11994 0 R 11995 0 R 11996 0 R 11997 0 R 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12 [...]
+>> endobj
+11940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 168.326 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 696.002 236.754 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_adcca8dd406de66be709434ebb479c9eb) >>
+>> endobj
+11942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 696.002 318.507 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.682 696.002 445.097 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 671.628 168.326 682.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 671.628 236.754 682.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a31950d4b043d6b2e30a6186c68cb0df0) >>
+>> endobj
+11946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.092 671.628 299.279 682.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.614 671.628 387.029 682.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 647.254 168.326 658.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 647.254 236.754 658.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4d12b35e0dd97b7319d536f692f50150) >>
+>> endobj
+11967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.462 647.254 368.878 658.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 622.88 168.326 633.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 622.88 234.254 633.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aff8503daaa036375be162237f0d7c87b) >>
+>> endobj
+11970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 622.88 316.007 633.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 598.506 168.326 609.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 598.506 234.254 609.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a50e316ac5412563b194a422ed639db97) >>
+>> endobj
+11973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 598.506 316.007 609.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.181 598.506 442.597 609.41]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 574.132 168.326 585.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 574.132 234.254 585.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a62e142e1c4c2cb1a57bf9cb8d47efac2) >>
+>> endobj
+11977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 574.132 296.779 585.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.113 574.132 384.529 585.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 549.758 168.326 560.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 549.758 234.254 560.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8b1538f5a312dfe26223d4979e615bc3) >>
+>> endobj
+11981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.591 549.758 316.007 560.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.2 549.758 418.387 560.662]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 525.384 168.326 536.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 525.384 234.254 536.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a8e65c033489da565762e3bde7d374d73) >>
+>> endobj
+11985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.962 525.384 366.377 536.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 501.011 168.326 511.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.948 501.011 236.117 511.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_ac6910bddc1f60dd99cd77eeaca296341) >>
+>> endobj
+11988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.825 501.011 368.24 511.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 476.637 168.326 487.541]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 476.637 252.615 487.541]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1dd1c5b1e1b88d96d7aa8eae595625a9) >>
+>> endobj
+11991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 476.637 310.846 487.541]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.02 476.637 437.436 487.541]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 452.263 168.326 463.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 452.263 252.615 463.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_aa6ff88fd77ab673abc05ffdcf583b957) >>
+>> endobj
+11995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.43 452.263 310.846 463.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.039 452.263 413.227 463.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+11997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 427.889 168.326 438.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+11998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 427.889 250.114 438.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a25f7695aa23ee1eebaab53c180512003) >>
+>> endobj
+11999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 427.889 308.345 438.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.52 427.889 434.935 438.793]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 403.515 168.326 414.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 403.515 250.114 414.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1a3e8432869205057fe502d63327562f) >>
+>> endobj
+12003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.93 403.515 308.345 414.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.538 403.515 410.726 414.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 379.141 168.326 390.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 379.141 251.977 390.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0b17cb50f319bb1942e2d93bb03b39f9) >>
+>> endobj
+12007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.793 379.141 310.208 390.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 354.767 168.326 365.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.189 354.767 249.765 365.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a928bfef936763acd21344f469b74e83a) >>
+>> endobj
+12010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.581 354.767 307.997 365.671]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 330.393 180.54 341.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a55cc14142958a8c9fbab183d63a18d87) >>
+>> endobj
+12012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 330.393 262.293 341.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.149 330.393 385.565 341.297]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 306.019 226.034 316.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a0801eaf17912403e4e1028f8a369d340) >>
+>> endobj
+12015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 306.019 375.591 316.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 207.981 232.235 218.885]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.296 127.71 326.022 138.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.494 74.333 404.682 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12023 0 obj <<
+/D [12021 0 R /XYZ 89 770.89 null]
+>> endobj
+12024 0 obj <<
+/D [12021 0 R /XYZ 90 292.925 null]
+>> endobj
+12025 0 obj <<
+/D [12021 0 R /XYZ 90 244.286 null]
+>> endobj
+12020 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F24 529 0 R /F90 758 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12038 0 obj <<
+/Length 2119      
+/Filter /FlateDecode
+>>
+stream
+x��Y[�۶~�_���j",.I(q
��I�n����ѡ$H�)E*$����
 R�I���}@`0`. ��=꽾�~yw�*�"*䡷�y�zQ��
�k�}�E�g��?z"�	S!�2����v����=�ݽ\��r�`�z�2�$������'�ma�G��b��
��
h3���_�hW��vta4"^�a�
+N�Mv���\0��<)�l?�n�:-r��o���y]��g���Ɍ���z�Y�������)K7Ɉ���K�sZ�S�'+%���B����M����E���&Ro�()�-�)٠%"�G�;��Y�l��&Ks����+ʣ�[�Q^��n����!�tUۏϨ_R��:��
�|?�m�&��)�d�),`��<2�c��?uY؏���pgj����i��>�
'�c�n�a+w��V�����v�F�
Ӫ��T��T�*{ؽlƄ�;����N�I�b`��+pԋ������GG@���H�H I��B儤����4��D���
i�=�C�c=  �"NDܓmp�8�ل&, *Bb¿	`J��.6�!�Uwᜅ���@I�@���cr<ٝ��q�PrL"��)�®~=�>΅����N�@"�=F �5�/',�I�O��4ɝ���ʽKt}}�}4�~�k]ZO�z��y�?���r���0\y*R05���Y"i}(���]ʀ�OvV�ޗ �n �m��#J�����M [...]
O�ac/�< R�n�
�v쬠v
�d�&810�����nƝ�D<�z
	cэ;8
:!{⋤�U#a��0"���D�_��M&�n'��g��d
E�\Qq�FD	g�<R�?JtI�a�4Y��IZ���
+�a�B�ߥ��{t���)HV<�#_��m8�r�ϧӕ�br��z��4?�b�s]����q��	��E7�
+&՚`qݲx����W��.����<^;�l��;�v7��rT}97�O���N�8�:�H3����s;�'3
@%�����Q@��e���D`�c"B�R�Y�[���
��-z%��2�6�5�
X
NB
�5��,7�Nj�~���ZH#{� >C���pH��
+�u:���4
+���[U��A|m�]r�|�.�
�$�p�ηFH`ke��?�¶�� �Ƀn��8ax
�$l��O.T�
P��c4j�
C�_�d�SW��
j���!\�d�/�7�ED��+��&��m7����76��HPVÀ�62����"���
,��ۼ�����
V��Ju
1bH�L��s�j
X<l� G�F�۾�={�&����g ��|
+0�$�Z �;
ч���w3[[
��;DDE�t��2Y�I�%�P�&�!"�?,R$�[6�DNi
��@��.��ńY�EK1�u��T{��G�N𜋈
+����3ŇW���q�|�����YϹ��Y1"Q
E]j�~
+�����e��S�o[
l⹻r|��/�1��``�ধ���\�8��pI���Z4׫�>a�U��o�+ ��t��棎y7�G;]��m����'(���R�
���
Z6��:
�8�N��Qjo7|�R�T!d2�	��a��So�L�����e9
�����W��Ӏ�p��
�+���B \
+����S L�o��P�k#�6ا���a���0֭�0S��3�$�[���8�6Zo�+�}� �\�k�.��qe�]�-Ra1�0��ֈ���F�"� Я���U��s�
��1�+��տ�g7��@���i.�*س���?��Z;���o�
�#��H����Hp��#
�Z�.�l
+��N�{�rQ�P�� �̟�nK���Rٝk�TId�c�ރ�6V��^��
ďi����M  ��$>�R��e��_;DaR޿G�8��
ĴY����
�xU��,��A�m������(�f��7��7p��Qx/
+`va7~�
æ0@
�C̝�� ��Ѹ��v�ݻ7��J��I�}�9��ͳ!
�ۛ�c�I<Y|�~��d��?Z��9���
 �5�Pק��������Mq
�e��tg�Ǣl=�PM�
޿ ����
+endstream
+endobj
+12037 0 obj <<
+/Type /Page
+/Contents 12038 0 R
+/Resources 12036 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 12032 0 R 12033 0 R 12034 0 R 12043 0 R 12035 0 R ]
+>> endobj
+12032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.615 626.144 233.342 657.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.454 557.488 200.764 565.014]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a1969778eca91e2d869a184cd86a28b7f) >>
+>> endobj
+12034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 314.311 535.938 326.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 300.927 275.98 312.877]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12039 0 obj <<
+/D [12037 0 R /XYZ 89 770.89 null]
+>> endobj
+12040 0 obj <<
+/D [12037 0 R /XYZ 90 434.089 null]
+>> endobj
+11742 0 obj <<
+/D [12037 0 R /XYZ 90 410.866 null]
+>> endobj
+12041 0 obj <<
+/D [12037 0 R /XYZ 90 410.866 null]
+>> endobj
+12042 0 obj <<
+/D [12037 0 R /XYZ 90 338.187 null]
+>> endobj
+12044 0 obj <<
+/D [12037 0 R /XYZ 90 275.718 null]
+>> endobj
+11802 0 obj <<
+/D [12037 0 R /XYZ 90 248.938 null]
+>> endobj
+12045 0 obj <<
+/D [12037 0 R /XYZ 90 248.938 null]
+>> endobj
+12036 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F10 765 0 R /F8 794 0 R /F90 758 0 R /F75 554 0 R /F7 795 0 R /F24 529 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12051 0 obj <<
+/Length 3134      
+/Filter /FlateDecode
+>>
+stream
+x��[�s۸��B�δ�4B��k��
��5��9�ә$��%�fO"�r���] I��Ê3�/1���b��E��v�'?]|w}��J�I�bI��z5��D�		���7S���9�O_��&�&y�jF�X?ܥ�2y�"�)�����E��I��jFŴ(7�w�??�"�G��(g�xC��f���HY�f| #q7��I����ͩ���YL��f�N�Ԍ�NWi9#�4�0$$��L1M������	1�HE�����;<Y����X
M>6�6N��֓_.�y���ۿ�
+���X�͎�(F�"
��p�:�we^5�
�=����I��'s��}�ٌ!މp������h2��jŘ��Ē��<,�t�O�-�t��ym���U�8'��zX�p�"ݔ��'tS��e�| *�����.w�]P�8nW.껴��U)
+Ѓ��@��T!)��u�h���
�ͮ�-��gX�><l�Saŷ-�*�Y?�_��n����K�:���B��=�(��01��z���dk��c+R
+I
,�[@!��	z'y�ѻ�T�,�m(Av��������i�-C
�Bڃ}�C@�"��aN
�;sF����ؿO-��n./�� �O�N�(PNF'���
uȵPGq�\��C�SҐ�"2k�%�6-85&�RH�j�!
�W���o����n��N*�
E8j-,ɓ�^����i�
o��#�R��mu�#�/���jX�
?
����=�;�X'�=�C0?�:�Gv�4H��Br�h�i�[�B��bѪ1�8ѓ@w�USVymt_yU{�e���C<ᾓ���lwu
+�)b|
Sxj�\��^�j^�
+j�� 
�
���~Y�q ���j�3��R�u�%�]�M�&���"�k��֑>�A�
�fM4��z6\h~
�e�ݖŧlc�l���3�L�0"�ub�,O8(ok�]V��İv�C�A�ʁ0�1
D�S�KMJpӵF5d���o�K�n��x~
I@C=�_�""q

8�T�=��q�^L|���p8\���=|N���^���0���Zǹ_�DR�2f},%�
P�3{�PI��
&i
N?Zn
8�z&���o�}Y܂ҡÛD"r�&�kPT`�O��OM��"����m��Qed�g�rD�uc匩i�jۗ�V�>;ߥ��j�9�&�v��r�"ڶȗ�R���}9�/z��Cd��j�ۧ)���߯7 at RgLO���R
�P�1
|̜7���H2�hqWhS�x�I~�h;
e��S!⧍:/iC�M�f�ĬѪ 
Y���N���80�����ι,iQ�����

B�F���,Z�'���E&B��_�<�c3+��8���7����z
E�E��1
���@x��.Y����3�Nil�}$�ʼn ����=��܎.S���·'�e(oB�	�p��(qD��������.TF�
8
�	R�H�T��"�7��E�K��o!ِjz3&��)����n)��i�
޵��΁��N½��1��B	r���i����]��;�����/X
�dkqI��H��������7��GQ'�,D1d}��}H!H$'�s��z�
;:-��Z� l�-Ӏ�$�d.@-��l�Y�3�A�B�+
m�O����,$���9�=�=
+��Ph��m�d�]%�(7A
+T
y���\�GE�
BLJi
+#�O�U�ߏ��!��MzXl��c�

� ��-�ђ؛Gi��6���Hxl[۳0� q��rtp�w���sqC����<������=�ۣ<�
����(�:���<�r��܆ܵ�\q�<��o�ƣl<�M�x|���
�(!��A�
T� ��@"b�)>ޥ�߲�ab�~�ʤ�"��sڶ{L� s
��KȺo{���3�#ѵBm!����|B��^��`в�]w���&�� ]�T�|5�T
j&6��d�;7
��V��I��	n�;�Nr��>�MJ
��봴i����wG�=M�))O�7�ϊ�;N�kv�x�8E`AG���#
`��&1>�Z
f�z&A�M�D
M�:d�
+1INg��(��Θ"�����*6��%O�ɦ}��A1=��`�{�ޑ_^6�����x�u������_�y̺��@<
+�����^��x�u�Ĺh*V�6�:�

�3mC$�k�'G��ܞ~OOt�C1�Ew՞H�?��&T#� ap�
+��I�p�:IB5E>��p^'��j��j�@a[m:�M?����O5���z`۽��\]��/V!#caqB��~�V\���1
x<zʊ�Slj�4&�8���5p�4b�:�m���E�j�_�N�6ﱣa�9q�hykW����M�ʞ�l�ۗ�4﮻|إ�!N+�����*�I
+HC�Nɞ��Q2�N,"O� ������V�>;ׇ{>���9G[�E���>zG�)��[گ
+@�D�)��l���I�C��t���WW	�ݭD�e6��`�F�742s7�L?6h���v�EZU��:t�����<zC`{�Fw��
+-��������dP��a*[�J{�e��_V�k%fK
��	���h<�gBL�
H�4�M���+;=�j�=��i�?!�议��e��==��V_
+Ph�([]K�z}��1g��ta.���6�j~u|N�Ɛ���uRަ{�\L�#���"�)v�tL�6c���~�}�/J�������U*�6�o�aa�%��w�R_�b�����p �
�E��\Mh���hs�W�
�
泼+��Ŕ��J����Z�s�@V�r
!���~Jo1
T��L�Dz��a9��Q�f=�'��	�I�Ϲ&�����\
E9�d)��յ6��Qo3�S4�T+�P	__
+�_�U��(���Uf��Xs���V�W7�?E�����Y
ҫaE��W�5��k+%D:[ʂM�ޑ���^8'��9,S�+|
K��
+	eA�˰R`��S
+�-kuB"Lb�]2��ަ
�9��C
g�����H6 
�:��
+�=
p�bP��F��
�YF���7 }E٩�e��z�t�^�����ի��_UZ����$�9/��`k+U�8 8�\R�%u	�a�׉{����
+Dp$���]]o/�?���Vi~� ��O�}��.B۠ش�F��
�܅�6���$u� a~  ��R���n^����m���a��d�l�
+endstream
+endobj
+12050 0 obj <<
+/Type /Page
+/Contents 12051 0 R
+/Resources 12049 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 12046 0 R 12047 0 R 12048 0 R ]
+>> endobj
+12046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 290.739 228.516 304.686]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1FP__Oracle) >>
+>> endobj
+12047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.533 148.333 490.745 159.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+12048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12052 0 obj <<
+/D [12050 0 R /XYZ 89 770.89 null]
+>> endobj
+11803 0 obj <<
+/D [12050 0 R /XYZ 304.125 668.32 null]
+>> endobj
+12053 0 obj <<
+/D [12050 0 R /XYZ 90 661.68 null]
+>> endobj
+12054 0 obj <<
+/D [12050 0 R /XYZ 90 569.196 null]
+>> endobj
+11804 0 obj <<
+/D [12050 0 R /XYZ 440.014 403.213 null]
+>> endobj
+12055 0 obj <<
+/D [12050 0 R /XYZ 90 396.573 null]
+>> endobj
+12056 0 obj <<
+/D [12050 0 R /XYZ 90 316.044 null]
+>> endobj
+12049 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R /F99 5346 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F7 795 0 R /F98 863 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12060 0 obj <<
+/Length 2671      
+/Filter /FlateDecode
+>>
+stream
+x��[m�����_A�@+!�z�_��@�䂤i���~q
C���P��������]�.o%�NT��}�[�������,���G���|;{y�Xd��TF����Hq���o���)�xw�CĤF�Hx����������7��oog���
G� ���j?{�Gk��C�3:���#N|�7��p_�������1�;����
�ij�~��V�T$�QL�1A"�$���]5F��(�9��ޠ_���	Ҋ7�=<�i��#H5ijM"&E3f[,b*�|�V�۴L��宺c5�ϳ��:YWw?|�>ˏIu����.qS��X���*��dU��'�� ��v�,�b ���Ј܄<@(�|��@�6\����)��0QL����m3q��]�n�C�s0M���:J��"�"���
���z��4+Ɨ_�;�G��Ӷ�جfٲܦw���
F�K��	�|��3���o?���7}%cB0[� HkQi
�$G|���d�kk ���uu�s������
�U�����7��O�r�n9
��u�[1ՈB���E���L��v�@8(���w�X��,SH�v�ur��[Gk3�y���P�g4��!A��RB�Ѧ-&��x3S��ĉb�����b.b
�K܂>�@b��$
+H�=n\�m��A\��W
+8Ӯ
�r��y�]W�\o��2�F���8�'�0�q��L�Fe���L�r5�q�3�̋r���~A��L6g|>
*�
C at pb3Q'�z
q]@T�/[WzZJ
 mؽ�֕?n�d����I�����B!�ũ@���m!
+����`L�����
+i��(e���fP}9��	4`̅R�ip:���vL
�8�5�
��F��*��-��6;#�i�?S
+2�
-�
	T�`hA	�����Z:
X~�%!k�R!zI
ȓ��ˮ�~L.<<�=���.o�
+$�y 0����D-����o\UY7,eW���Ku���)�`�M[4�@�o���Za:.ј-��;��ɳ� ���Ԫ~(J�D5W���:�cl����HO
�z�
�s�i�\W�
@+�&�2~Z��H:ӗ�j
���>��Pa�F�I4��P_�S�ǖ>��X� ��;����J
�H1>�I������3ic}YC�`f;�z��3ú ��g�-�B����AU�:�
�]B�0z
+�}G������#�
a"L�<	�� 5�1�좐&I͜(p��I�`:�
v���u"tԅ>ꒉP�R�u�mC�yf 8%6Ʒs�%#O�t���e+�2�pW� C�2� ���$�1�6D�i
+r!�A�v(�!�m��(��Fb�PL����h|N��c�2LGb��a
� "����U�]���� �ĕO�.��]
+��aY�({��(���G=�� ��zW�!ތP�p�2
�l�2j����i�����v��~;N�`��~2�{b����6�[5
5���V�&|\w�(lb~��[�^�����Lf�-ϡ� ���~`4�]��|��##.��`}y�;Q�m�6~�$H����`���G;?����p� �$�S�a>�I,,��Lr=�����`�3ɴ�)��7��0�Ӥa�N8�K�x��&
jO�j"�<��-�-�^��o�
��^�kĆ=�E{J�Iڅ�\�k�����KK5	�R���^Sס����݆�"pn��$(�X�t>	d���#�����A~82���� �_�`VN1��h���6m
�[n�k0F i?��MR��g�Ȃ��B s
	 �l�f��
t��l��^�2��.�ˮ��]V$�#�e^���V��|���â�$�^e}�0�J�?nAZ��볚�Ҳ�#t�_��qޜ�za���
a$D	$&�OP�ܷ�,�/C �TL\�H�)
+Y�aJs�QGr�'�s��B~)!'��N�gۥ���}	�Qy�������n8�9x�iA�;
E(5(�f�籣wh�b�K�����
=@='�-��l���U.wÖl/<�
+��\T��lv��Kة�+*1��h�L�����d�e4��M��
�	N�2����
ba�F��~��g������Az�
=�g�9H�~!�9)yZ��=zf�H�v��
�%�0�
+gt'ޛ ��	U�P{�
�e��ce�"��2��Ԕ�'�H(��s�ND�L��Ǹ(f�Nx׈|X�#����T5�b�R?�Ø)�D�b�^M�K���v�HMX4F������1�r�$��
���z ��T�
���}�
EG���D��v�s��m�)����#N�j&7i��Hy�I�XK����)*�H�WΩL
�e�5�]�oJ*�)Rö�TT�Ҭ�z�뫾�D�e�r�ȩI�٫P<�ge(����޶����#�Ka�JK_�ɯ��3������@���㿱8���Ho��4W����!�:�7��
���
E �
+H������WG2~�<��Tį^�������O��������I��6=�z�a�*�;��ufߘP.s�w���<S�x���E�d ������ʁ=�u�k���fR�wc�_�X]��H�?,���k�ez���Ν
&yQ�4
+n�mРE� ~�$I
�^�n����-GO���~,��W/_~8�Iz�V��]���
�v����}��GN6���BK	K���w�
+endstream
+endobj
+12059 0 obj <<
+/Type /Page
+/Contents 12060 0 R
+/Resources 12058 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 12057 0 R ]
+>> endobj
+12057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12061 0 obj <<
+/D [12059 0 R /XYZ 89 770.89 null]
+>> endobj
+12062 0 obj <<
+/D [12059 0 R /XYZ 90 657.069 null]
+>> endobj
+11805 0 obj <<
+/D [12059 0 R /XYZ 90 630.755 null]
+>> endobj
+12063 0 obj <<
+/D [12059 0 R /XYZ 90 630.755 null]
+>> endobj
+11806 0 obj <<
+/D [12059 0 R /XYZ 482.305 567.297 null]
+>> endobj
+12064 0 obj <<
+/D [12059 0 R /XYZ 90 560.657 null]
+>> endobj
+810 0 obj <<
+/D [12059 0 R /XYZ 182.124 487.216 null]
+>> endobj
+12065 0 obj <<
+/D [12059 0 R /XYZ 90 482.578 null]
+>> endobj
+11867 0 obj <<
+/D [12059 0 R /XYZ 463.017 419.091 null]
+>> endobj
+12066 0 obj <<
+/D [12059 0 R /XYZ 90 414.453 null]
+>> endobj
+11868 0 obj <<
+/D [12059 0 R /XYZ 90 360.763 null]
+>> endobj
+12067 0 obj <<
+/D [12059 0 R /XYZ 90 356.28 null]
+>> endobj
+11869 0 obj <<
+/D [12059 0 R /XYZ 90 306.65 null]
+>> endobj
+12068 0 obj <<
+/D [12059 0 R /XYZ 90 302.167 null]
+>> endobj
+11870 0 obj <<
+/D [12059 0 R /XYZ 90 250.425 null]
+>> endobj
+12069 0 obj <<
+/D [12059 0 R /XYZ 90 245.942 null]
+>> endobj
+11871 0 obj <<
+/D [12059 0 R /XYZ 90 194.255 null]
+>> endobj
+12070 0 obj <<
+/D [12059 0 R /XYZ 90 189.772 null]
+>> endobj
+11872 0 obj <<
+/D [12059 0 R /XYZ 90 138.14 null]
+>> endobj
+12071 0 obj <<
+/D [12059 0 R /XYZ 90 133.657 null]
+>> endobj
+11873 0 obj <<
+/D [12059 0 R /XYZ 90 81.969 null]
+>> endobj
+12072 0 obj <<
+/D [12059 0 R /XYZ 90 77.486 null]
+>> endobj
+12058 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F7 795 0 R /F8 794 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12076 0 obj <<
+/Length 1617      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�SJ��z�#h���E�p�/i06��(�R\��wx��J0���Q�j83��o��n��:��%|�x5;�P,0�H*��E`p��AB·��uH0�<��qx
��:~{Q
nV��'7Y����]g��>}�L�8{{Qn�u�����!
�PD9��ֿ+��<�'Rf�?Y�$5���7����hN�"C�d}��wIy�e�H���0I�ᖐԄL���엫ه38 ebR:�^�^���
�~	eF����yh�����
�2^dl�3M���D#�������O���(2HbϸB��z���]���<bf��i,=)%L�#�/Z(�0?�bߢ�+��f����%Y��dߖq����+^o����"�}bL���Ľ15#��&�������i��@��Eg̜	� 
s�gA�c_gI^r7o���Y��Bv�ϡZ�R��Bb]��e�����v�+t����׋&�=?�@D�A4��	d�i� Tz��� z��J��A5�9_>x
�8q‹S��[��Rd��J�5Q�+""���V��	1i�
?,�
�
�a
v�	��SHS�!V\�-�@�#c|Hӧ!M��@�iԉ4��H3�������v"�6H���F���R޸�jM�
rf�@��á
$W"(Gx��=�C��䡵�HC�Ă�l��Fsp
����㸆h�7��sb����HlT% T=̆
d#��S��‹Y�
��*6!W1��*�|� ˱*��#P��
��\�\�
L�X[�3�8[��V�
L#�*��H����TM�Pi�j�<Ι$Hѧ���
�£�M�
�!Ni���D
�L�+o
�O
�"g�A
+|J#]�`�	�Ǟ��
��{�q
Y
 ��&"�cBP cK�Q#sI���"_$;�W�C�q
�K
�
�zY�!�
���柆����?���)%vJ���'	8�سdE�
�;� ��/q՟��;�R�l(=s��V�
�
+�ʔ��9L��W���~�%��!��c�l�h���{m�fB�
&��#x���Ϡ��v���S��;�v�tz�܆+^������m5P����Q�
����[Z��_���G�E!)�W8ࣄøk��
$�_�rPS(�^I�H�������#��\ˈzJ���[
ƻ��F���`����\��
��
NȀ7�v����%J=<#^�A�1���G�1���#
�=�3��p���;�pur/<�
=��xx_�g�I\s����cB�
��{������>���-E�7P$�`:�5�NR ���]�o-F�0�wI{6��t*�n�����]�����������K�=
�84B'=�(
;���o����2u,��k��x�xR�ףA��4H�͏}�s쀬
�[�
�k᠀$y�k9b��A-��ڇ�ʱ��*y�cْ"5q��� 6<Jã$�bs����~Ug���yy��6ɾ������ӏ���u�/x&�v�I˛�8P4gP�����t�����}V��u���$��nw�������m�ޢ��z��:q at u�9��(�Yo�*�e�L�?Q}��Σ�II�L at 2?��eYU�_��\��X�8�m͂�7����Q�\-
+endstream
+endobj
+12075 0 obj <<
+/Type /Page
+/Contents 12076 0 R
+/Resources 12074 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 12073 0 R ]
+>> endobj
+12073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12077 0 obj <<
+/D [12075 0 R /XYZ 89 770.89 null]
+>> endobj
+11874 0 obj <<
+/D [12075 0 R /XYZ 90 676.948 null]
+>> endobj
+12078 0 obj <<
+/D [12075 0 R /XYZ 90 672.465 null]
+>> endobj
+11875 0 obj <<
+/D [12075 0 R /XYZ 90 620.778 null]
+>> endobj
+12079 0 obj <<
+/D [12075 0 R /XYZ 90 616.295 null]
+>> endobj
+11876 0 obj <<
+/D [12075 0 R /XYZ 90 564.607 null]
+>> endobj
+12080 0 obj <<
+/D [12075 0 R /XYZ 90 560.124 null]
+>> endobj
+11877 0 obj <<
+/D [12075 0 R /XYZ 90 508.382 null]
+>> endobj
+12081 0 obj <<
+/D [12075 0 R /XYZ 90 503.899 null]
+>> endobj
+11878 0 obj <<
+/D [12075 0 R /XYZ 90 452.212 null]
+>> endobj
+12082 0 obj <<
+/D [12075 0 R /XYZ 90 447.729 null]
+>> endobj
+11879 0 obj <<
+/D [12075 0 R /XYZ 90 396.097 null]
+>> endobj
+12083 0 obj <<
+/D [12075 0 R /XYZ 90 391.614 null]
+>> endobj
+11880 0 obj <<
+/D [12075 0 R /XYZ 90 339.926 null]
+>> endobj
+12084 0 obj <<
+/D [12075 0 R /XYZ 90 335.443 null]
+>> endobj
+11881 0 obj <<
+/D [12075 0 R /XYZ 90 283.756 null]
+>> endobj
+12085 0 obj <<
+/D [12075 0 R /XYZ 90 279.273 null]
+>> endobj
+11882 0 obj <<
+/D [12075 0 R /XYZ 90 227.586 null]
+>> endobj
+12086 0 obj <<
+/D [12075 0 R /XYZ 90 223.103 null]
+>> endobj
+11953 0 obj <<
+/D [12075 0 R /XYZ 90 169.358 null]
+>> endobj
+12087 0 obj <<
+/D [12075 0 R /XYZ 90 164.875 null]
+>> endobj
+12074 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12093 0 obj <<
+/Length 1917      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~��P_�=ԛ�_2��R�@)����2%�Om��JH�}���[�:����0�����s�t���w�a��ৣ��/�yI�w4�
�7HH�k�}2%G�^yLjD�����g��9z���}�l��h�i@���Hi�t1��{~�a�>��
�
�s����d)����6�df)�6c�)�Š���4Xųp�Nڀ�X®�,�!<�HP�U��@zS�
+�1�Ɠ�"N�Z{�!C������VAL�	G�l1���V@�k��CA�
Oc�5�xrx8�g��qE#.�ad����9����
(QC��1��j�~�z�[U��<
+GT
?/Gcj�p6M�l�v`��O;6�-����>	�� �D̈́ޜ�yvi�Ԥ�Ȁ&ل`D��?�䡟��ez�{1h, 3���_ϖ�
�F��Åu��{<Ns~L�Z��cB��
c��?�e\CT	D X���v�3y���̿��kN�	s;�%����ڍ`�*�HFc�1
��b5���!�ࠈ�"|~�3j�
+)��	��*X��$@>k�IV���l-�1�hT�T-�BA �m���mB���2m�xd�
WA��a����;��}$x>07S�߳B��˜�
��!I
+�S�b�6�D
y��\�1��}9"+cپ+�SE������!
+���|�F*c-���h�`m�|�|��T�|�f�:��O
��0͕fk�[.
=�@��I�� �rb�����Y.�,�$[�D|����,[嘆c��P��[���}�
5]4#��fX�4�
I��I�j,��,�|��O�X�
�&���v�䢙aJ�(�FRV(�4�3A����ӗ����X�B	1�m�X�
�������j��#-����d�"@Uݴ��;�`��6�n@�C
+�A�l�4(D;
D����=S5�℗;��]�ʃ���X¶J��+��D]J�D�V�إZp5x�(L���:�2ڰ�3��6�+��
�+H�(�o�+'�\v �}�W�A,�{��:��-���w�{��+X��^��{�L�%��N��^U��*.���s��G��fUC��5�j�}=�*q_ݪ[��;9�
�}'Lg��)��h�O|��*�٬Rܵ�,?}�6�X{�Aݛ�R�GV���	ƺ��L��;V�D�WJ;
+�
+ƶ����
+OX�=�t��+����r�R at W`�ZYZ��ؑl\\cn�wr
�k�q5��i�uGg��+WԄ
+��2'0k�Ȕ���U���߇Q����W�
lt�%����rղ%�j\U�W
E!�v'��aGk�AWr�t��42.�R�w����D�+1騌�UQ�C�0�i/�(مh$�(���v����֢��v��lj
RJB,�>{D�`Q���L�p��&�}9����l�ӫo/�
�ɩ
�ѓ�ڤ��?�IB�c���el̲�.V����A�
�v
+�/� ��g@�rZ��WZ�6�q=�WV�`��V{d`E�z����^�`���ܢ��$!<��Vc�y��Z�
����"[;��­^�U0�Z)XQ���'��������K���a9%o���X!�.�R��z����
DŽ5s�
���;��"9�+4�څ�[,!�.7��N�(���.��N�
|t
�ڛ�}R
��*D�bM�)k��R��ըn��=o�*ru�
u��J�
+F'�h��@ՠ�7��=�话f& D�4��e�F7���`EEٮ�����?��?�R��4]�_�>}���

�\0���J�1�K��
J'�O͢	Խ2_4;��t�����j�3���@��>�ˤ

D�y
��砤R���A�E���B�_�RE
p�Ef���������l
,��i��
��e)Q��P�Zaa���2)M��|�͕��Fs�
+endstream
+endobj
+12092 0 obj <<
+/Type /Page
+/Contents 12093 0 R
+/Resources 12091 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12026 0 R
+/Annots [ 12088 0 R 12096 0 R 12089 0 R 12101 0 R 12090 0 R ]
+>> endobj
+12088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 694.807 535.938 707.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 681.422 275.98 693.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.483 458.495 535.938 471.013]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 445.11 275.98 457.06]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) >>
+>> endobj
+12090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12094 0 obj <<
+/D [12092 0 R /XYZ 89 770.89 null]
+>> endobj
+12095 0 obj <<
+/D [12092 0 R /XYZ 90 718.682 null]
+>> endobj
+11954 0 obj <<
+/D [12092 0 R /XYZ 90 672.057 null]
+>> endobj
+12097 0 obj <<
+/D [12092 0 R /XYZ 90 667.574 null]
+>> endobj
+11955 0 obj <<
+/D [12092 0 R /XYZ 90 613.73 null]
+>> endobj
+12098 0 obj <<
+/D [12092 0 R /XYZ 90 609.246 null]
+>> endobj
+11956 0 obj <<
+/D [12092 0 R /XYZ 90 557.559 null]
+>> endobj
+12099 0 obj <<
+/D [12092 0 R /XYZ 90 553.076 null]
+>> endobj
+12100 0 obj <<
+/D [12092 0 R /XYZ 90 482.37 null]
+>> endobj
+11957 0 obj <<
+/D [12092 0 R /XYZ 90 394.557 null]
+>> endobj
+12102 0 obj <<
+/D [12092 0 R /XYZ 90 390.074 null]
+>> endobj
+11958 0 obj <<
+/D [12092 0 R /XYZ 90 336.23 null]
+>> endobj
+12103 0 obj <<
+/D [12092 0 R /XYZ 90 331.747 null]
+>> endobj
+11959 0 obj <<
+/D [12092 0 R /XYZ 90 280.06 null]
+>> endobj
+12104 0 obj <<
+/D [12092 0 R /XYZ 90 275.577 null]
+>> endobj
+11960 0 obj <<
+/D [12092 0 R /XYZ 137.073 196.467 null]
+>> endobj
+12105 0 obj <<
+/D [12092 0 R /XYZ 90 189.827 null]
+>> endobj
+11961 0 obj <<
+/D [12092 0 R /XYZ 90 138.14 null]
+>> endobj
+12106 0 obj <<
+/D [12092 0 R /XYZ 90 133.657 null]
+>> endobj
+11962 0 obj <<
+/D [12092 0 R /XYZ 90 81.969 null]
+>> endobj
+12107 0 obj <<
+/D [12092 0 R /XYZ 90 77.486 null]
+>> endobj
+12091 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12111 0 obj <<
+/Length 1889      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�F��+��V���*�!�Rq��+��.$A�*\d����O� 6rMY�
+*
HAPc����p��h��ӈ�_������#Ns
�\D�FF:�4�v
=�%Z�'�R���l��:
s/�7o��,y���4K����4�^
����l�����c
�q¥����S��Z<�
W��G�#���oq�d�
O������8�]M�UZ\�#�H�1�q:?�KJs
cr��OFoG
�Ј�Q���l6z��F�p�	T8�_�4�$�U�F�F��h��kK����#�Ymh"	wk��u��r�
�2bK�!F����U:Of�Ɩ{-
+;���2iK ,O�������b���dVH}��xq�f�j��vM&x�hߪ�%�V���*���>n� ��w툐���=�S?�l1_�<��p�	U<��9���qt+�W]�f��
ۖ0퐍�%x��q�עae�1�j>��+�=��
��/׼(O��#�;a��
��Im�]���W�*t(�BT�$[�I��A�dF�!�p~�Xb�F�
&���+�JC�,�9,
���*�,�%�
���跷�I�:IL'��$4d� 
C0�0G�
�����2[����IJ�A,;������u��b�ePsek�P#
+��U��� �2.� ��� ��Xm�`-l���������a6Ϙ{�C<X3��a�n���Fs�� Q�Q
�2(Qvm�%D���!�.��i�[��D�
+.�<�V�x!<�����G:�#'�#g��j��I����i�T<)tݐ	Pq��8�'��Y�t�U��j]t��
+�ߑ��
M-��{�A��+����9�M6J�Z�E��<�׷9o��[��h^��a�u��a�~�e��D�f�`g>�*�� �Ր��؉��S�g��NF�����`x}#�P��Y��T��L��嬮�
��q������"���z_! �b��Wl�VzH�	tu���,j�g��2f-�Q�_��<.~_S��%�D��?���0���\�Q��Nj�r�a�0
�~?���o��輎楌�2"H�5���;���M�ay}cQ�
+�Za���Z�6
+�i�{Ш�ݕ��KCFm�����_�ʸ�
m�C:;`VbD�G(-G�R�ʽ�.�BZ��/r|����	FBuխ'�6�凩�jXۭ!�@�QZ��'	��݃��M�����iNT���,��`:��V]=�n�e��</$.nj���`T��}-ͧ$����Z��w'�y��ƌh�{^�q4��\�DD�
	�}�!��0I?
'��J��il��m�6W�����
u�{5��Q�U�łm�܇�U>ϱ���C"��6��99�s�Ch�
�ƈ,Y�1
C��Jc�jɼ�1��&F*�e�
�E��
+�V͈�{D�9������ݭ��
V�
9m�m�
��7��u��Wϱ
7
�p�c�U�G�u^י|[Clm�y�#����ѽ:ڢ�c�v!��
�����@�[:H�u[�6���;�RH� (F����AV���1jE߁0��_�Pg���DZ�����
+��+߽g at C6�%�YIϽ�)l��-�Z��y�gىg�{J���/����Es!J�1��'υԐUr����ʅD��K�
�+�E���mJZ�C
/
P@�m&h�Q��|ȩ=*�y%�!.�S�L��Y�x��C����wF5'���;��D5;���Q�%�7�݆�'o6�
?-���L�/��6����̯�i�=�ڻ
zi��\̋���\k2�؟gi�ѪX��Q����(�R��D��0{�Z]


�^�^����l1�}9����
#� F�3[d�.�pq��`��|�����y��� c�
�1�,�4���X������3�� o���/��LX
+endstream
+endobj
+12110 0 obj <<
+/Type /Page
+/Contents 12111 0 R
+/Resources 12109 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12108 0 R ]
+>> endobj
+12108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12112 0 obj <<
+/D [12110 0 R /XYZ 89 770.89 null]
+>> endobj
+12113 0 obj <<
+/D [12110 0 R /XYZ 90 670.407 null]
+>> endobj
+12114 0 obj <<
+/D [12110 0 R /XYZ 90 637.406 null]
+>> endobj
+11963 0 obj <<
+/D [12110 0 R /XYZ 90 602.342 null]
+>> endobj
+12115 0 obj <<
+/D [12110 0 R /XYZ 90 602.342 null]
+>> endobj
+12116 0 obj <<
+/D [12110 0 R /XYZ 90 568.279 null]
+>> endobj
+11964 0 obj <<
+/D [12110 0 R /XYZ 90 534.216 null]
+>> endobj
+12117 0 obj <<
+/D [12110 0 R /XYZ 90 534.216 null]
+>> endobj
+12118 0 obj <<
+/D [12110 0 R /XYZ 90 500.154 null]
+>> endobj
+12119 0 obj <<
+/D [12110 0 R /XYZ 90 466.091 null]
+>> endobj
+12120 0 obj <<
+/D [12110 0 R /XYZ 90 432.028 null]
+>> endobj
+12121 0 obj <<
+/D [12110 0 R /XYZ 90 397.966 null]
+>> endobj
+12122 0 obj <<
+/D [12110 0 R /XYZ 90 363.903 null]
+>> endobj
+12123 0 obj <<
+/D [12110 0 R /XYZ 90 330.841 null]
+>> endobj
+12027 0 obj <<
+/D [12110 0 R /XYZ 90 295.777 null]
+>> endobj
+12124 0 obj <<
+/D [12110 0 R /XYZ 90 295.777 null]
+>> endobj
+12125 0 obj <<
+/D [12110 0 R /XYZ 90 261.715 null]
+>> endobj
+12126 0 obj <<
+/D [12110 0 R /XYZ 90 227.652 null]
+>> endobj
+12127 0 obj <<
+/D [12110 0 R /XYZ 90 194.591 null]
+>> endobj
+12028 0 obj <<
+/D [12110 0 R /XYZ 90 159.527 null]
+>> endobj
+12128 0 obj <<
+/D [12110 0 R /XYZ 90 159.527 null]
+>> endobj
+12029 0 obj <<
+/D [12110 0 R /XYZ 90 125.464 null]
+>> endobj
+12129 0 obj <<
+/D [12110 0 R /XYZ 90 125.464 null]
+>> endobj
+12130 0 obj <<
+/D [12110 0 R /XYZ 90 91.401 null]
+>> endobj
+12109 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12144 0 obj <<
+/Length 2024      
+/Filter /FlateDecode
+>>
+stream
+x��Zio����_!������gh$H]9p�E�բ@�E����RrR���
�H���}9
޹�9��!��16/G�
��7����bcy����r���
������a�ݘI��'�l��������\M�_G.�1����"����
�f�
�&EcN�����#��,�d�5"��L0�
�O9.�O�At����rp
��[5ED�R�g���p�����M�Qด��Q�@��$����|F��
�Ւ��q�g��$�:$
+��C*f+�wY	��P�_ at r��:I
"&nn�/X`��O.�x�.�������^Qy-��kM���\(GX��W.l�

+x���Ӥ�k����TC�[TV�ɤ�h���ʤ�i`����Ѫ$i� �{
qJ�.��3�
����8"��#�3�.l��|F�+�d� <�<�a�*f݁��v	Y�+�[��	+�����.����O?�$��G�ZD����Km��ۑ_6zy]�}���
�>;�Y�%�'�X
E�%�In\ɲ����Q����ɸG3G���6��".I'�򔶑�e�"�D�rä��i_*����݇�D
+D��]&M�~03��I2m��b�UR['i�x-�In^��p�OdQs_��
�ưרCO��L	�;�ak���r<:�ӥ
]
+0�������ű�^	!�#��jšX
+��Nӳr��Ĉ8eE
kQ�k�ʞ�c=4�H
�&m5��![5�)�C5$H@���j��j���
+��Ր�VC�mL�޾a/�pȩ
���ׂ}[\��~.3%�]�w�l�mC�PIr���`^�h�O.��DbQ[i%�;��mC�Y1�uO_�����<����UB
�M��0�����
��Y{S�
�6�ntkk9�h�Hp{��{�~F;-�\��F��E�˳�N�kS���6|)�S�����_���t��w
�$�|Q�z�_��|Q=�0a�m����Γ$̥��|n੊|�
+�{
O�ᾑ�Э��a7��
�un�(xQ�,�Q�&_�e��8J
s�tw�F�;&
+I�o�$�B��BR�(�Hc����0Y����r�&��*�;d�v,����~Z���!�]B��;�+=����
�+�YqN=�������m���r��'��a~m�'�d�\�FA����$·.�#����U~t����)�~qr�\���3M��֠��	Χe|�A7O�థ���
*�K%�N�T�g�w���&D����mR�蠅�Tf�c��"�
�a��_�!��z̰FJxCߺ0$���v)�oi�a"�!�FV��9
�]�2��i�
+�
l/P8�P$��Z��>DZO�_��: �JE���b#��A�%9w�$
���y�48|\• 
�`�:��R���"���of��'1$o8�
+���Y�(�����*���B�M��������WHB�����e|�.�
+�`H���g
�Z���
��������[!N o2�,@��`ծ�����	��af�y"�`�^Pz�M�R�I�g�u���Z���c�7����(Dפ 3f�(���
7�û|Ȭ`"��������M�*��e�.R�"0�)�b_g��_-��Ɗ�
��f�"E.��f�_^䀟;
�x�Q!�a	��h8*GI�N��l�y����ޘeC������ٻ���7/�����4k��*E��˂ڐ�
+z:�����i�u>s�<Йa����`N�t ��ϻ��x�'H�d⇷�>�{~Y���t>�Φ���/�gǯ޾�oH�w��Kr���F�t��V+_b���Z���|�����o��bd��Hf��D��р�U���OW�LZ����1���BAo��G����q/���WH!�(E�����byO1pp��	�Ź ϭf����&�Ƌ9�fp6{���
+ҧ��s^����cVS�U�3�M�D���S�A	�\��Uj?�j^Ca�PT���z}sxpp~{�
+�+t�D�,�o� ��_�T����0h�`���[�����W
+endstream
+endobj
+12143 0 obj <<
+/Type /Page
+/Contents 12144 0 R
+/Resources 12142 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12132 0 R 12133 0 R 12134 0 R 12135 0 R 12136 0 R 12137 0 R 12157 0 R 12138 0 R 12141 0 R ]
+>> endobj
+12132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 206.815 192.544 216.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+12133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 133.312 244.968 143.842]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
+>> endobj
+12134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 133.312 294.581 143.842]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) >>
+>> endobj
+12135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.458 104.098 243.782 114.629]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+12136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.393 104.098 413.893 114.629]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0) >>
+>> endobj
+12137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.801 104.098 513.996 114.629]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
+>> endobj
+12157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.143 185.631 102.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) >>
+>> endobj
+12138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.62 92.143 289.122 102.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affeccf) >>
+>> endobj
+12141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12145 0 obj <<
+/D [12143 0 R /XYZ 89 770.89 null]
+>> endobj
+12146 0 obj <<
+/D [12143 0 R /XYZ 90 692.575 null]
+>> endobj
+12147 0 obj <<
+/D [12143 0 R /XYZ 90 658.512 null]
+>> endobj
+12030 0 obj <<
+/D [12143 0 R /XYZ 90 624.449 null]
+>> endobj
+12148 0 obj <<
+/D [12143 0 R /XYZ 90 624.449 null]
+>> endobj
+12149 0 obj <<
+/D [12143 0 R /XYZ 90 590.387 null]
+>> endobj
+12031 0 obj <<
+/D [12143 0 R /XYZ 90 556.324 null]
+>> endobj
+12150 0 obj <<
+/D [12143 0 R /XYZ 90 556.324 null]
+>> endobj
+12151 0 obj <<
+/D [12143 0 R /XYZ 90 522.261 null]
+>> endobj
+12152 0 obj <<
+/D [12143 0 R /XYZ 90 488.199 null]
+>> endobj
+12153 0 obj <<
+/D [12143 0 R /XYZ 90 454.136 null]
+>> endobj
+12154 0 obj <<
+/D [12143 0 R /XYZ 90 420.073 null]
+>> endobj
+1901 0 obj <<
+/D [12143 0 R /XYZ 90 333.444 null]
+>> endobj
+394 0 obj <<
+/D [12143 0 R /XYZ 90 326.02 null]
+>> endobj
+12155 0 obj <<
+/D [12143 0 R /XYZ 90 225.407 null]
+>> endobj
+12156 0 obj <<
+/D [12143 0 R /XYZ 90 150.593 null]
+>> endobj
+12142 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12219 0 obj <<
+/Length 2052      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�+�T0@�6�IӸ�6n���t�t84	�L%R!)%ί���)�e'�4O���b/|�X�6~
}1:<f��#ߵ\�����
Q����1�ȥ�`��g&��0����i�q6���q
/��<�o��NO΂��$�8���9�(
?��E�
_�+._�4��Բ<<��o�u������݈�X� J
��gD��뿰��OF���%��p,~������adQ�(~�~���!������d�i���7>�K�P>/ҨL����������fK\�؞��2���e��\�Z~�u|���x=�`Xe7e��x-��S��W��d��
��9�O00!k4�m�M\Gh��eLE�s�&�/�i�}��2O�I8U@~�0�M�*��b=sM�Ul�}��^rC>�DL����B�|6��������[tC��U��*�'Q�՜�ji8�J��t��C�KH5�5����(�肎�����<���y�����ƶ�Cs�V^��Qؒj�G���5%��&!6~��Ep��յ��A���Ҵ(P�3��<̃���W
k=�0�y!4

+������Ҍ
GGy��8I�����1a���2�%C��in��o����'�'>�8y�ˀ;mO� �=�=��3U�rK��֖T7�2I��s1%��	.�����
#�� ZE��!ϱ+�+��^������B�?�ˮԯ��
;EZ�$��U ;�!��!M��>���$x�'W���M�!�kQ��� .����R9hUi��C���<�Z��j��0s#��+�rH,K
8W:�
���ȡ5���!<d7`��^��f
�C�x,bU
�nV ���F-Q�d�V��B�z_�"��8��N
Y-�j|0Ш��ƅR&ڨ�!l��Q� 5C�ڈ�5^��i����i<��,ӿ��*�T�ӆ!��ొ�\
.��
6��u���P���O��`�–�h�c��ڣ:ω�-�HP�d����uۗT�%}�T�
�C*"�T�lw�TDj|�v� ����{�s�â���Lƥ�����(�%:���w
+�T��������\[�
���0Ё<1PA��Ґ'��@
����@���
+y�����7��������1,�� V����Z���
�݄/p\$�٬�T��!P���=�T��m'i�����Z at DG���y)��8I�������z�Y.;;�~ȝMuxl9-6l���
�q]�64
1�v�6��>�S@�������� ��<A�'��@Ӗ|
+��:4,�Z`	X�¶r�ZkH: �6���r�}����<��麐�2I�(��w�#�g�v�I�w��
����X��!*�y
�
P<���nx�˚s	�U�x�~:��Yi�U�]��c��G��Cq�{=	E8}�M!
+�R�n�"���"�T�J�����	�I�Nu��Ԁ�m�T>��q�+��豘
�����+
	x�-����O

+�O^�Cs8�N�v^�q��Ys�o���i�Sx��#�
�v���2Ka 
���O����
sCl>5n(�Z�fk���[���O3[;�w��Ky��ě)�B,�[3+yS�*��oSDhS�c{�� �'��&�~�O���
�
+��y��\D܇tB�+�N G�@|�?�W�}��O�r��iZ
+C}
&��� ��~}�[�*wHk�l�i�ޏU=՛�Yyɣ:�()�nC��c����2
�S�>\U��7��l�s^��b��}s��R w��*��
�Ot�]� @��
C�A�Z����Ѹ�	A�Z
M
����mdr�u��{5���:m�ف�h
r��p�s/�
�-���U<���\(�{��f���
,�����Ǎ}e09~PgR�l��V���L����E��U���s��P�b�;~C)��t;�C襽.*����P�<�ʤt�=~�uM%�UFɛ~A�dD��0=�U顄�ۨ�~��
�������

^.�
�^�(�������0��ū*�ϲ��x��͉,Yّb�jU� c�a�	c��h?˗�D=px2��20p��?q���
+endstream
+endobj
+12218 0 obj <<
+/Type /Page
+/Contents 12219 0 R
+/Resources 12217 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12139 0 R 12140 0 R 12164 0 R 12165 0 R 12166 0 R 12167 0 R 12222 0 R 12168 0 R 12169 0 R 12170 0 R 12171 0 R 12172 0 R 12173 0 R 12174 0 R 12223 0 R 12175 0 R 12176 0 R 12177 0 R 12178 0 R 12179 0 R 12180 0 R 12181 0 R 12224 0 R 12182 0 R 12183 0 R 12184 0 R 12185 0 R 12186 0 R 12187 0 R 12188 0 R 12189 0 R 12190 0 R 12191 0 R 12192 0 R 12193 0 R 12194 0 R 12195 0 R 12196 0 R 12197 0 R 12198 0 R 12199 0 R 12200 0 R 12201 0 R 12202 0 R 12203 0 R 12204 0 R 12205 0 R 12206 0 R 12 [...]
+>> endobj
+12139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.09 172.361 695.994]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c) >>
+>> endobj
+12140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 685.09 241.819 695.994]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 644.96 172.361 655.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a01993c545c5d4dc725147ac29b1d26e5) >>
+>> endobj
+12165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.603 644.96 242.246 655.864]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.937 644.96 407.714 655.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+12167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 644.96 513.996 655.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 633.005 160.176 643.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.776 633.005 286.71 643.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+12169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.334 633.005 379.133 643.908]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+12170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.387 633.005 485.184 643.908]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+12171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 570.957 172.361 581.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aedfa8f360379ceb195993b2ef04424d4) >>
+>> endobj
+12172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.578 570.957 241.222 581.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.78 570.957 420.029 581.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [446.031 570.957 513.996 581.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+12223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 559.002 138.587 569.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+12175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 559.002 231.01 569.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+12176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.264 559.002 337.061 569.906]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+12177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 519.868 172.361 530.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) >>
+>> endobj
+12178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.578 519.868 241.222 530.772]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.051 519.868 361.878 530.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.255 519.868 482.504 530.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [508.506 519.868 513.996 530.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+12224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 507.913 187.842 518.817]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+12182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.466 507.913 280.265 518.817]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+12183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.518 507.913 386.316 518.817]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) >>
+>> endobj
+12184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 468.779 172.361 479.683]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) >>
+>> endobj
+12185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.698 468.779 258.148 479.683]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 440.978 180.109 451.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) >>
+>> endobj
+12187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.43 172.361 423.334]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.1 412.43 223.907 423.334]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca) >>
+>> endobj
+12189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.244 412.43 309.694 423.334]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 384.255 179.554 395.159]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 384.255 250.666 395.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1) >>
+>> endobj
+12192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 356.08 194.208 366.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+12193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.948 356.08 311.935 366.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) >>
+>> endobj
+12194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 327.906 170.687 338.81]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+12195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 327.906 243.314 338.81]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89) >>
+>> endobj
+12196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 300.105 170.687 310.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) >>
+>> endobj
+12197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 300.105 235.712 310.635]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1) >>
+>> endobj
+12198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 271.556 214.681 282.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.421 271.556 301.724 282.46]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a) >>
+>> endobj
+12200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.382 196.709 254.285]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+12201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.207 243.382 276.688 254.285]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) >>
+>> endobj
+12202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 215.58 155.265 226.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) >>
+>> endobj
+12203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 187.032 278.681 197.936]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) >>
+>> endobj
+12204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.497 187.032 348.14 197.936]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 158.857 273.002 169.761]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a624f9d9df1528ae0b47ad55d) >>
+>> endobj
+12206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.34 158.857 357.116 169.761]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+12207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 131.056 194.567 141.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57) >>
+>> endobj
+12208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.904 131.056 265.411 141.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+12209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 102.508 198.443 113.412]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3) >>
+>> endobj
+12210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.78 102.508 303.607 113.412]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 74.333 226.268 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) >>
+>> endobj
+12212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.605 74.333 330.855 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12220 0 obj <<
+/D [12218 0 R /XYZ 89 770.89 null]
+>> endobj
+12221 0 obj <<
+/D [12218 0 R /XYZ 90 704.223 null]
+>> endobj
+12225 0 obj <<
+/D [12218 0 R /XYZ 90 486.179 null]
+>> endobj
+12226 0 obj <<
+/D [12218 0 R /XYZ 90 458.004 null]
+>> endobj
+12227 0 obj <<
+/D [12218 0 R /XYZ 90 431.555 null]
+>> endobj
+12228 0 obj <<
+/D [12218 0 R /XYZ 90 401.654 null]
+>> endobj
+12229 0 obj <<
+/D [12218 0 R /XYZ 90 373.48 null]
+>> endobj
+12230 0 obj <<
+/D [12218 0 R /XYZ 90 345.305 null]
+>> endobj
+12231 0 obj <<
+/D [12218 0 R /XYZ 90 317.13 null]
+>> endobj
+12232 0 obj <<
+/D [12218 0 R /XYZ 90 288.956 null]
+>> endobj
+12233 0 obj <<
+/D [12218 0 R /XYZ 90 260.781 null]
+>> endobj
+12217 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F39 2320 0 R /F110 1507 0 R /F66 3179 0 R /F67 3037 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12282 0 obj <<
+/Length 2035      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~���SV��`\���e�m:i��[�݇$á)��V$U^츿� HQEъ��E"	����Ab����g�]������/�p���
���
��;�&���/W?:Lx��V��o>~����ե
;����3C�!5���D�٧/ؙ��
���9�fR⸔��ҹ<����l��|�x��p5o��{�$R�q��b:�
O�[U_d��WQ���E��]��Y����-!�Ks�\�(Գ6w��S��a����

g�u�k�0t͒ϔ�UΧ�xr7��t<�c��Ƃ����/Td�2N�?C-N�ds�MNO��9�Kj�K��
�4�!ckY7P�	���1&�+����dX'ynkp������H�p�0��(�\g�rX!q N�c^/��� i�,-�Gc*��ݪH������2.,̋#�u�y
�GX���v� l��6.��M��h3@����EW����Ep�g�k\�aY��X��ݔ�ɓ�Ú��#�m��w}�ʧ.���j��&T�d�\O�pY��
+lD�kp�6(n����.6{v�A�*�,ߡ�/�x�ӛ`��i�r��?y���^�
;�UZ�O�D�x2@�\]j3��<�
+m���j����J��{Mȩ�!�/�ID�A�K<p�fN��{		Dבа���>�͜"��a`�a�P�
�|)�eRIJ
�Ӱ��݌O�o�҃�|'�K����#Ozm�7)~kז��aX�5
b�ra��iJ&�%�u>er��jY�{�c�y��+�5�Y��͢N����3��j��ׁV�����`���Ю����l�+�4%�珌��^�F��C�͇<[{��څ
+��^����A�UVyjCp8�`�Fa�E=P˳�	�*O�
_ֻ�
�o�P:����8TA�Pm��Nm����'�t6��v��p9Z����j�3D�I�
L���#z��I��L�z�8j��ֽ�FJ^7���?%��ٕ#�ٵCJ�׺6ܓ_%��_]	�����7�׆
�]�ɮ�.T�պ�����U1Q"Oլ}��۳&B���(q���.��0m�䰮Q�:;5��A�QDq
̫d�ę�y\��So��\�6���իH�}�1b�5�_�y�����]�2R�a���Ç.����0Sh�%�ϫN�kV��
+��ʼn<��*��"$��j�Վ=x��"�)5�ʟ���{= R�o�{��M��V�C
�

�B�t=�@oB�[f�uU
R�.���Xk*�_�eH�'�#�&c�d	�v�e�];�q�#C�ϰ�vgA&�:�'�j�
+�e�N-)�pj �8�����i�B˅�%�U�����Ѐ�:
n�>�Q���~�v��z3��DC�P�°@>=I�1c�"��C�0�2��
�|�0�
�o�n�����m�W�G6ULQE�*�E�|�+����Z��B
��3(����0�0\zt)��GɉJ��!(�?UP>�Ը��2+���k�4�~����3ڂ�pb� 2�U�����/�k��`U��8�Y���j]�{��������k��k�����,��|�f�0
���7�gP���{♫��8?e��Ž�6\=����b��`��
iu{y�z+&�ȉ:���|��{�*�
뇾Z	1o��|���c��M��y�
.���y�(p��)!d��j��oTD�Ҫ�r�1W3࿏V
+ϟ4�� ���Hk����3�
׭�T`=��R+�74-�*�3���dz�cT�b{:�M��~��x�x
y^�rw
�c^� �5��ϰ�����k���iè.�#�z���z*'����J��Cs�־�*� �a �
1c͟���9����0���+��Y;	��*�TЮ
L�'�W�<N*�J.����/,��O{
+��Ԝt�B���)�����A�T#���,t%��P��3L��f�{m�5�����9�ɀؚ�
����ٳ�|?J�
�d���t/.~�/~-T�/��X�߇iՔ�Z��
�p���m�s�[����e�'���
+�|
o�r���������EY�;�>²�g��~Ԕ�e
<LL뺣�� [��
+endstream
+endobj
+12281 0 obj <<
+/Type /Page
+/Contents 12282 0 R
+/Resources 12280 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12213 0 R 12214 0 R 12215 0 R 12244 0 R 12245 0 R 12246 0 R 12247 0 R 12248 0 R 12249 0 R 12285 0 R 12250 0 R 12251 0 R 12252 0 R 12253 0 R 12254 0 R 12255 0 R 12256 0 R 12257 0 R 12258 0 R 12259 0 R 12260 0 R 12261 0 R 12262 0 R 12263 0 R 12264 0 R 12265 0 R 12266 0 R 12267 0 R 12268 0 R 12269 0 R 12270 0 R 12271 0 R 12272 0 R 12273 0 R 12274 0 R 12275 0 R 12276 0 R 12279 0 R ]
+>> endobj
+12213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 693.613 229.446 704.517]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) >>
+>> endobj
+12214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.261 693.613 316.06 704.517]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) >>
+>> endobj
+12215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 663.306 187.583 673.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2) >>
+>> endobj
+12244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 632.626 201.7 643.156]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) >>
+>> endobj
+12245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.198 632.626 225.072 643.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7) >>
+>> endobj
+12246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.311 601.572 248.293 612.476]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a97539a3abb32c8f6dee940d553cec62b) >>
+>> endobj
+12247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.421 601.572 318.244 612.476]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.835 601.572 444.852 612.476]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.029 601.572 513.996 612.476]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 589.99 135.27 600.52]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 547.977 179.255 558.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 547.977 248.434 558.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd) >>
+>> endobj
+12252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 517.296 179.255 528.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.994 517.296 260.629 528.2]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) >>
+>> endobj
+12254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 486.616 192.664 497.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a3a94fde78bde319c0c1806ff074dea70) >>
+>> endobj
+12255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.48 486.616 242.497 497.52]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.783 486.616 326.8 497.52]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 456.309 150.493 466.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd) >>
+>> endobj
+12258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 425.255 181.845 436.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6de) >>
+>> endobj
+12259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 394.574 181.845 405.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
+>> endobj
+12260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 363.894 154.727 374.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) >>
+>> endobj
+12261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 333.587 176.505 344.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e) >>
+>> endobj
+12262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 317.2 450.955 327.105]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16fe) >>
+>> endobj
+12263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 291.574 191.718 302.478]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+12264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 291.574 288.852 302.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) >>
+>> endobj
+12265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 260.893 191.718 271.797]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+12266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 260.893 303.079 271.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) >>
+>> endobj
+12267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 230.213 169.013 241.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a797f9cf758c537ea0abaffe280cc9682) >>
+>> endobj
+12268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 230.213 231.279 241.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 199.532 219.234 210.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+12270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.732 199.532 311.916 210.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead) >>
+>> endobj
+12271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.731 199.532 422.161 210.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a) >>
+>> endobj
+12272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 168.852 224.993 179.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) >>
+>> endobj
+12273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 168.852 334.132 179.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) >>
+>> endobj
+12274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 92.503 203.075 103.407]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 92.503 296.324 103.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.488 76.49 334.373 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12283 0 obj <<
+/D [12281 0 R /XYZ 89 770.89 null]
+>> endobj
+12284 0 obj <<
+/D [12281 0 R /XYZ 90 712.265 null]
+>> endobj
+12286 0 obj <<
+/D [12281 0 R /XYZ 90 473.379 null]
+>> endobj
+12287 0 obj <<
+/D [12281 0 R /XYZ 90 443.907 null]
+>> endobj
+12288 0 obj <<
+/D [12281 0 R /XYZ 90 413.227 null]
+>> endobj
+12289 0 obj <<
+/D [12281 0 R /XYZ 90 382.546 null]
+>> endobj
+12290 0 obj <<
+/D [12281 0 R /XYZ 90 351.866 null]
+>> endobj
+12291 0 obj <<
+/D [12281 0 R /XYZ 90 310.226 null]
+>> endobj
+12292 0 obj <<
+/D [12281 0 R /XYZ 90 279.546 null]
+>> endobj
+12293 0 obj <<
+/D [12281 0 R /XYZ 90 248.865 null]
+>> endobj
+12294 0 obj <<
+/D [12281 0 R /XYZ 90 218.185 null]
+>> endobj
+12295 0 obj <<
+/D [12281 0 R /XYZ 90 187.504 null]
+>> endobj
+12296 0 obj <<
+/D [12281 0 R /XYZ 90 112.805 null]
+>> endobj
+12297 0 obj <<
+/D [12281 0 R /XYZ 90 112.805 null]
+>> endobj
+12280 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F68 3032 0 R /F119 3070 0 R /F67 3037 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12316 0 obj <<
+/Length 1931      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�8��W�CUY0�75s��cʳI֓xNɔ
� 	�B����~h�"eEI&�=���
Po�Q﷋_o/�^����<	�v���K���	�m��>�$�KF)�o�������"�~S>�Ŧ�w�����j�����[��o֥�� ����+�÷b+̲�
L� �~���_��_����t�@-�1T#&i����������=J�<��
Q�EA��{w���Q�z�?�>�5��1���V��P/���C]����q�z�LPL!q#�4�o�^�����n$���
ԍ]�D�G���	%���${,!Q����a`A<�z��!8�߬V��;����aɴ?��u�[�A/7��x�t���%8�`#�!a4�
F�/��sKI��V��*�ڟ�
���N�O
T�C/ՒH���3E��
�̆��C�6�
���1�����$Q � ��|<>�#"7�U��L��,ծ����������N
�2��{�*�XtJ
���$3v)I�1��e�?�d%#��\b�Ʈ��i
+)[��b:��#�\:�	3‚lR����,
p>��d�a�;��x_�}
/���L�� R�������́���W��w8Ѣ�&�Z�N��ɩ�tn��Eo���2�s�i�p��2��P����?
	���zVN���Z�v��f2j�L���NC��
X7�5�H
[cT+
+�����k�8z at +�Yn@��L
a�s���j�����)B�v,l8�l�Qh�Ĵoy!~��Ĉ�<�F�[���_�..�V��j�w�B�Z�r�D?���X|x){˒�W��%�.Yح�cFh*X�!����W��(���(���b��ǺY�_��g��;��=�s�����r�,0��pq8IZ�Ag�(��Q�a�/������G$�"ub�
M�y��՘%��ҧ��K��2�����yWegc j}|f�y8}e����C�	���
���lo 1+�_ޏ���9������hݹxW�W��zGD�`����Б֋jhۦ��g����ZoКɺ��C�K�;��)TO����3(�gF��?k�tT̎	���^�	��H�@"/�|���$��� 2�}c�Y�#��R�%�/���V{Q�k�i
+ ;J"�>��t����Z����� ��x~�B"Tmy��l����f�KW)�BWd`��z�t'��
F)�/,:���� �U"�!�͌$�1��M���&4��=��+r��ς,q)d�K0�
6Tf<SQO�B9:�wD}� 
��T
��v��]��,q�f������
*�mk���˰����	�P��r^�]J� �^
�gB6��v7'�
EƲyN�y��Y��|`�uH[6���a�;����#�5�N �I
��8���2�{�6� ��F�jo�6�ډA٩�b�0Q�h*�ř�;�L��tO%%/��ltR���4�vM����qN+��$��T��x
+�
+��ݤ��g�;�
E�s-������PX�X�*`��ۚ�U��3�_�E��H�%�MPj5
�=�������+��N���
�
{� e#���
���d:��>au� �ǝ����Wz�R�K�k�,(��^��������ɓ��\�x�IfR�˓@�xm���%�p*���{��V�gM��ygws�|��{߳�`+Z�q0��z�Q�m���ƥ~��k,4�N�"g�t|�$�P 'Yj�i��[�|�8��X0}��HJuS
+v��������7���C��<K\n]��
`�lvC)�
�]&I��[�.�+e2}� QJ�<;R����T��i�%†��ô0Y�=\���� ��'\2��=7��~��O-qD�x|���}���Z;%�
~�͉
9����
[��=��&+s��{v~�)#I8O�3?AQ������͢�h'����{ހ������3
+endstream
+endobj
+12315 0 obj <<
+/Type /Page
+/Contents 12316 0 R
+/Resources 12314 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12277 0 R 12278 0 R 12304 0 R 12305 0 R 12306 0 R 12307 0 R 12308 0 R 12309 0 R 12310 0 R 12311 0 R 12312 0 R 12313 0 R ]
+>> endobj
+12277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 654.19 226.034 665.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_af9e8e2ee2a429df52a8755417e8c8df6) >>
+>> endobj
+12278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 654.19 379.626 665.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 621.021 156.281 631.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a57dab2bd4d371c36b4ebf610a6c85759) >>
+>> endobj
+12305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 621.021 218.547 631.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.759 621.021 295.209 631.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 587.852 156.281 598.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a57dab2bd4d371c36b4ebf610a6c85759) >>
+>> endobj
+12308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 587.852 218.547 598.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.759 587.852 295.209 598.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.411 378.825 342.66 389.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 277.574 322.456 288.478]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 247.995 329.362 258.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+>> endobj
+12313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12317 0 obj <<
+/D [12315 0 R /XYZ 89 770.89 null]
+>> endobj
+12318 0 obj <<
+/D [12315 0 R /XYZ 90 703.099 null]
+>> endobj
+12319 0 obj <<
+/D [12315 0 R /XYZ 90 568.345 null]
+>> endobj
+12320 0 obj <<
+/D [12315 0 R /XYZ 90 204.578 null]
+>> endobj
+12158 0 obj <<
+/D [12315 0 R /XYZ 90 181.014 null]
+>> endobj
+12321 0 obj <<
+/D [12315 0 R /XYZ 90 181.014 null]
+>> endobj
+12159 0 obj <<
+/D [12315 0 R /XYZ 107.713 93.561 null]
+>> endobj
+12160 0 obj <<
+/D [12315 0 R /XYZ 90 77.486 null]
+>> endobj
+12314 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F112 1773 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12329 0 obj <<
+/Length 2832      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�8~���ӌT�8���l��()�$�w��Jm&��%Z�D"
����q�Lɲ̩}"	�F���������'�''���$�
�ɭ'�'|�x Os�À�t�q�ǂ@/�����d�nr�ޝ�''�O��
18�7[�|���94��a�d�}��=�2�����`�
F��[u���,W3B!F�Q�Et8"�A��`�V
+mM	4�ԯ4�<��u4�R<�Vߗ�<��o��<ʿ������^�C��U�>;{���y^Mm�h
�q>��P�A����
�DN_m�Gv���`a�Ȋ"���x�eH��S���,77����˵2?9؏fJ�le�W:���5�EGIXR�$�F��1c�Ge���������-q$DKoW̨���/.޽�^O����d:~�z<}���|��fD0�YX��u�wqQGL��x��՝�$�$]�f��2�?�|X�MQ���1ˢ�>C�,Iˢz��<
i��'(�p%HrnF���Y��%A[*��Q�GB%I�����_<<}�c�j���
(���C=}�`��n_d���Β8-�E5v�4&���痗���

�y��d(@�!�o�M�}ک�Uk/^	�QH�7b��$o�4 ��(�ͬ�[������e�6��f��`d�-M#���
;
�����>.
��}�Z�}|H�
e͈���1
jQ��e2F����

��W�b
+����
a"\
iG��g����
x ��o!W��n��4Yw*�0����P�X���S &���g�9 �vw��`����b�9#���D�����_�h޶��D �O��.����
Ei
b`s	�x�����
+6m�q���`V���t}�IVs�"s)�Dqҗ$Zu;:�j�ЅZ:7[��

�3����A���&ɵKU�2s]Gߒu�#��K{����J#W��m�ݤ�� N_�mc
`F���C ��+2���\� 
�Aq�옛t
[�J��3Mj��[�UQ�O��%����V�3po���)˓E���[��:�h�ϕ.p�T�V��+�u�fE��(�<1�
j�Ef�ިÕ��y��m�� }2�?.��L��D�j�@�
�
�أ
,�%հU�m�
a�'A4�1�v�����O��
	� I*\5&
+~�
�GOu-�d�';Пq��E�����*��ބ@�ԇd�7��Y�����^.�Iѱ��1-��j7d��J�H�

U���I�4���:���(����u�A7L>{�ƙB+Zݵ�
4 ǯ��=�~���eGK<0�
%�����X��o�X/�lt �0� 	���:���� SsǢ
�^<X̺b	\ɶHկ%R�A,Y	�c�v?�1��|b��������l��r9��|�C��;�����s�:$�t{����b�
]b��2g��e�)2�j�nr�EZ*%�а��02�����fq<�P���/�|~W���툺;�NSM�Ӛ�
Vq�ΌP��:�|���ɚ�_�ݛFp�~��)2,x1&��rRϪ�U��UT�iC;�TQs����#H4�|���B>�H;$�?���WWr֑M�mgZLU.R=7�O��=q�t at Z����I*0��]�g�L�� �>PU�K\
��*�
EJ�D-D�O	��
Y1�#��o�ʎCѦ�g
��\4��G
��
^��Q"��e�@
I>F�*�!�BB^�N�:��}��=StΓR�bz
�
r޼��S��!� ����
A9ا��X>
�`>��
+�e]Z u��u�
f���l3�Ra���7IG�t��N�qQ�I����>`'�X2���8�_��	
�OH:U8;����N��T}��a4%�-t���/�u(#t��~p���䇮uN�f�ν����-�ꫝS
1�}YՈl������ۋ��O..�u�ȑ����R���snRՒ�4E	u��uS���2R����������8;A:�;�"�
��<�cꒊ
,�����>��V]�e
ݐ�[��(]tdDH4���&~^m�MC�����?��!

۴�@l{�>¼����s��5[G��54�]Cs�
����7Wg�q�TQ:����dP��4�kh;�H_�m`w
�r\�nDS�
+;�3��k�*I��,���l�ɫ�.|	�B�f^{��$d�[��~��R�ݰw������W<�%��^�O����<['�8�:�|LER�\�O%=�h(��лD�VSHz�G$3;kz�0x����,�9zL��r���ؚ��j��{��Q��5�SR]*;�x��"I���Y�/o
�x)
+ե^U;l�
((B����Fq[�� �6�L%)�[�Z��(����&h�n�����I�
������%j�J{#�@��0D�J
�'*�	<G���g��
~Fq:4{A��3݉
%ҧ}���.ѠMD�����'�FB�Wu�*��|wꞦP7��
+M�lq�	m���
+�sSF�
���W>?2�
�
�ԣ��W �O��-� 5�@��=�=(ȅ�n'!{�Oӣ�m=j�vf���0��{2k0�>�U-�dV���Y
�����k���x�F
�����%
s at P@��0S5)�#���M����q[�ĭb�������ݭ�� O�5z����� �cG �h+��
7ǜ="�h���H�~NhD�k�K�>��|�/���e��6�^���2a���5+H�����
�X)�uyu��������/�o�tSQAӐn���a�
���u\�o��T���9Xn��}�y]�[�������fQ��Ͳ���p�YU�
��_gy
T@�:��s@�/�a/d
+endstream
+endobj
+12328 0 obj <<
+/Type /Page
+/Contents 12329 0 R
+/Resources 12327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12131 0 R
+/Annots [ 12324 0 R 12326 0 R ]
+>> endobj
+12324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 371.037 432.413 384.985]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12330 0 obj <<
+/D [12328 0 R /XYZ 89 770.89 null]
+>> endobj
+12331 0 obj <<
+/D [12328 0 R /XYZ 90 721.073 null]
+>> endobj
+12161 0 obj <<
+/D [12328 0 R /XYZ 107.713 645.052 null]
+>> endobj
+12162 0 obj <<
+/D [12328 0 R /XYZ 107.713 617.157 null]
+>> endobj
+12163 0 obj <<
+/D [12328 0 R /XYZ 107.713 601.217 null]
+>> endobj
+12332 0 obj <<
+/D [12328 0 R /XYZ 90 584.489 null]
+>> endobj
+12234 0 obj <<
+/D [12328 0 R /XYZ 90 562.113 null]
+>> endobj
+12333 0 obj <<
+/D [12328 0 R /XYZ 90 562.113 null]
+>> endobj
+12334 0 obj <<
+/D [12328 0 R /XYZ 90 461.987 null]
+>> endobj
+12335 0 obj <<
+/D [12328 0 R /XYZ 90 396.343 null]
+>> endobj
+12235 0 obj <<
+/D [12328 0 R /XYZ 90 361.673 null]
+>> endobj
+12336 0 obj <<
+/D [12328 0 R /XYZ 90 357.189 null]
+>> endobj
+12337 0 obj <<
+/D [12328 0 R /XYZ 90 238.638 null]
+>> endobj
+12327 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F112 1773 0 R /F117 2446 0 R /F75 554 0 R /F8 794 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12343 0 obj <<
+/Length 3124      
+/Filter /FlateDecode
+>>
+stream
+x��\�sܶ����>�w39OT3N�d�X�b�3��
-Qҵ��Iʶ��w��#OwG����`�q�b���

��nFt�����G/��b�8����zӑ�1Q<]�ލ%��L�t|6at�d���l��x5�M������C�d�ǧ'ggل����<]L�\��7�$����:�?����rn�X1�����W�G��EG̱��6���ѻ_��
+^�0�D�f��6Z�$p���
�|D��W��⥜'�l�ibB�
i&�����՗�����eh���n
`�y��V��
<�OM��8
E�$@��.�f$Vj�,�+['��<��=����K"Y:������A�#�T at F�;�8yqu|<O�7��E�e�ƫ̭S�:p*aqŠ�i p��
���Ez�
#~�Ƅ�`���j�����)��gꩼ~�!/���l�ڬ�&N3l�t����^U��id7�|�|�6� ��u�E��"�K.�
,]�
謁�J���
+�WT���R"�i�Ab�� I�堊�4�"*C��O_(b�8���5��_q�;~zӦ�
�ږC>���*��Q$���ΖIǟ����"�&B�o�MŎ��lr��=L��[Ӫ�\u�
�
��_��%x�"Kf #����\ܦ�E�~�wn����k�ZA��e�Z�䋇I��_�K^��<r��s��:0�i�q��t4Ɓ5��mC��w�\���8x������?�e*__�//��:�`�]㰷��֞ݤe�OH(�f	��5J�c��cǖIT�U�d�#��W'������ѽ�Ӣl[�9N���t��IQ�.n�e�Y�#Ԛ�-v���|_��Cw�̟Fذ���q
_I/�%��2�-���
�lj�1���$����ٵhk�eݠx�K��1��ɲ��b�Uu�k
EdO��
�li�����G�(����VO�Il�Zl��z�(���Dp�'��]��ɀ ���h @O�X|\F1����*Z�W
�!�W�,�Cd��=�<��	�NI> 
����kŦ�0"c
34��I�!�э=qF�QZ!S{�#�������\jtը���#�
���G^t [...]
+�k�VG�[�7Y^��y at vo5��10�T �AipI�
� Y4��\ &��.`dn��
�`�}��������h��j�S����,�: �oIC� L I�))
��[V
��l��E$��8��1�p�qY����KY�j�W9Z-�R@�o�^{n���]$�Gj,��|G�w&,+|���$�v���wh��8��
_�e4�JR�[��~������e�I�����_0eI��b��H����^����
w�����F
4�CS���q
1�
�|Fڌ3�&
�x=i���K��;�g
+�����������vbIJjD��
ڌ�HD�6�cP��h?�{k��hŚ����Q�}�
le���ܽIl�Vnt�7�g�m���k[L�������%��Rb!�tŴ�W�
���|����$�v��"xh��D6
~1
����5L!
Ep6���� �=z܆��"�f�e3����1�P|�
�5eCb�`��
f������6A
r��	h:��pƆ<���s�A��clz�fr�U}sm��ff��q�
+խ6@�2>�*OӪ�0`��~��

}�3`�GJ9�q��K��k�9�8C �@�uy�A��
�9�0acT��D\
xg

j����%�
�Gtp��fS>o�[��r�m�z*�EGƝ;�k�.�Y

r�q�
��q&�)�	�i=뀯�����
+���g�	O
�ֳ�]�:��� ��aS��rA�i���d!I��i{�|��P�,ڄ�d}�����T)D��L�*3�
��
J���
�f�b:d��b?W,*5*�u�P���X=��L�q��Ƅ3V
�}) il��~�Ǫ��S���UB�
+&����B^�}ȋt�^F�J?RF�� o�r>�w)�z�G���xw]�_�֪7UFlg�W�
+�}�����OU��f���~��q鮶��y����_���*"���~P���uX�G�Γ�M? c�C�B�%kˮ�4�Q�6/���S.h3Z[��n��O��Uj�gw�]�GOUkgrD�z�b;��Mm/	�s48E��q<��Đ�v�@��v�Sl��F��g��o��~���� i�Nr_�M��W�
m�CD�a�8�D��G�ۏ�v��l��
��ӅX�<

X:��c�:M�Y}F=s�$��n�:xn�X �ѐ���Ct�R
Z��
Q%߫�ٓ�vh�|��K��
�o@��A<4E�a&	����MδMy�*n�d�
�>#���å؍;��9
�P���+pb�e��_k3
�U�~��4�~�20:���
�>N�
+�{�-p9ê�6�
��
/p�X�n��|;��Uqx�Nq�Q<���
}
+�
|Q$�`��K��`,pr��]�����M���Sh��g���~��S�D
(���j[�^=��g�mc���^�3�
�ؔʪ���m�s�Q�k�p3�tj�⦜YV$����65Hx�j�-�vT$Y
~%z��d�v����Nr�Շ�I�:)�
+�U9�4]|��bn��5� <}���v �v��5]� 1�\��7}*�4�6~{���g gg�����4��D�q�)�i����n��2B],n��6-S��c�ߣ��G�vV����_������orz��j��n�y@<���վ�b��v ^.��IU��QL�,E���#��2��m������'
1�v�ym��F`�
+endstream
+endobj
+12342 0 obj <<
+/Type /Page
+/Contents 12343 0 R
+/Resources 12341 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Annots [ 12325 0 R 12338 0 R 12339 0 R 12340 0 R ]
+>> endobj
+12325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 693.377 432.413 707.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 420.215 432.413 434.162]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 159.406 432.413 173.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12344 0 obj <<
+/D [12342 0 R /XYZ 89 770.89 null]
+>> endobj
+12345 0 obj <<
+/D [12342 0 R /XYZ 90 718.682 null]
+>> endobj
+12236 0 obj <<
+/D [12342 0 R /XYZ 90 647.748 null]
+>> endobj
+12346 0 obj <<
+/D [12342 0 R /XYZ 90 643.265 null]
+>> endobj
+12347 0 obj <<
+/D [12342 0 R /XYZ 90 548.623 null]
+>> endobj
+12348 0 obj <<
+/D [12342 0 R /XYZ 90 445.52 null]
+>> endobj
+12237 0 obj <<
+/D [12342 0 R /XYZ 90 374.586 null]
+>> endobj
+12349 0 obj <<
+/D [12342 0 R /XYZ 90 370.103 null]
+>> endobj
+12350 0 obj <<
+/D [12342 0 R /XYZ 90 275.461 null]
+>> endobj
+12351 0 obj <<
+/D [12342 0 R /XYZ 90 184.711 null]
+>> endobj
+12352 0 obj <<
+/D [12342 0 R /XYZ 90 103.211 null]
+>> endobj
+12238 0 obj <<
+/D [12342 0 R /XYZ 90 77.486 null]
+>> endobj
+12353 0 obj <<
+/D [12342 0 R /XYZ 90 77.486 null]
+>> endobj
+12341 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12359 0 obj <<
+/Length 2569      
+/Filter /FlateDecode
+>>
+stream
+xڽ[Kw���Wh�H
�xtWm:�I��n�t3��CK
����!i;��� �E��
/H����. cD�h1����ln���Ǜ�E(�T�
��"<R<BB¯���i>���ӈI�H$�+���������v�����
�&<"N�@J�f��_�h��,ңw��z�)��j�p���!��@���D��L0�qD&S�1
�M(g�|2�T��ͯ8_ǻ��2=�V��!xE:j �B"�h�ẟ0:�VB��e2�P��*J�\z~N��8�L�x{w��� (
+�y J ��
A>!b�=O�x����f��*1������L#B�
1���DG�t�1���f�n�/����� �(�T*�P�V��_�")
���.h�f���1f(8���˴��qܾ�A
?'�|{�W�n*�U[��*�oi���({�g�0lȺ�TDHk1��$8���X
)^�Yu;O�ɦH���	h�57C�@�
�]�
+Ѷ�x���0 7	���
bJETR*jo��ު�1o�����W�VU�8+�H�
�
1�Cp��*"C  _U������
��08��" 
�C�3�]����Z�_e���k�]�
sB1Ǫ1�Fq�b
#
��
+$|���9���`�D#�8$�)��H��=�ۗ�}F��|'#��vo��G�Ƣ
�.����c]�r���|^
iH�ҞrO
̺��
�����ѳ
+�fz\7�V�bw����*�nz�{Zߌ�%�2�;(�7 ��+3���]�1@�uR&��f�/�
$�m�k4m}J'4G��R:�:�n@�
+j���> �*#��:W�z@� 
+��ӎ��("���E�Y1�ET�(
�y3��)�:l�5��st� �+��ke�
i=K
��@�#�!c
+���*g���,y)�����Nq'`�a�U�>cL��tN�%��
6���I%p%}�泎D�� ?�<�d����a�44���AS�U4���ݭ�͢\>%y>�@m���N!�k �� ���2�T:�+�����3�LL�al�o
^�n	
�
r8AҶ�oS�$���	4�O��W���,~-�7]փg^���X��
+xS2wŎ���3�?*g3�/���դG�j��a���<Y�O�C~�Q�@�=��%��W��~O��`��p��]
y
�3Je'!eo͈	^O�y�5#��V��9qO�eVT//�	�d�j���2)J�4�̝Ys+���y�x�,m3O+���ɔci_[���Bϝ9V]L7i	5�j���f�)�8�$��c<\�ݲX
-����Izma,��D$;�.&Q �.&*��V
(DB  V���3
+c.��0�1����p�6=�s��AtrjӋ�3ݔ��
~�(W`�B(W��7O����H!
f�9ƈ���Kq�����Bv3.>X0+g��	�?��q��Z����
��%DfՔ���5 ��7���a��z��sW
|]k$��h]q���['(� �ۥ��E=X�d�/���_+��8]��{��R�+�{��V4y��E=�
3 `�Q��!}z��5]�rߚ��
�|��V�)$��rdfA��LI�TP^��0��X��K�
Bf��xQL;��K�W��	
����f�<���˺��yY����[e at N�U���:��4�X�
r8�d�q�� oC��%q t���f��yR�dfQ��6>i�q���p�����6��3;^Ծf�
49�Z��
+��$�2�R�U2���2jܞ�L�_��k����������� B���A8}C7�jC��3�0a,Å	�>���*�[�\Ƚ

&�Mp���~��p��I�l at F��ɤ�) Ej`���w�e/f�e�/��z=ى�J�
���";�Ӄ��'��fYEgXp:C%�M�q�dZBC9D5�2���+(


Fi���4��^Fj�~zK�1�ҩ��ѫƥ&@=��*��S�����t^,a��tVV�7�dHZn�b��"J��ۦ����YIW���֭�����E:�f�'qYW+�2��N�?D�f�>Y����7o����;?H�\�
(��<J�L�N���%N��"�P+�)q-q��(=`�'�B@��	T{N#N�� �8Q
�A8�8I�%N��8Z�P8è������B��]���-�d蜇v�yGT���u�)�)J�e��T���4�K�,*�DB�܂� �b
�v`fC�
�2��c���(�0zE r)͂F��i͈	��W
�W�+{��`�*`?kz���e��맷f��kF�T[pܫXlC�	#;v̿b�Y��%�-�
 8�.�QR�.��C�L��]-R�h���ހpަ��-i�m������R�\�@��)��L�u��	 ���e�U2�N�y�%���N�o�·ܝ
���
L�����νm���
���f��e �7y�V`횐��5�0Ѽs`�9'v�����H��&��츄o�����yk��C
�C�T����o��<F� j*�\��������H6
4�ֻY���T\��_�#�����ؤ���w����IqO
+endstream
+endobj
+12358 0 obj <<
+/Type /Page
+/Contents 12359 0 R
+/Resources 12357 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Annots [ 12355 0 R 12356 0 R ]
+>> endobj
+12355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 505.215 379.76 517.549]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+12356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12360 0 obj <<
+/D [12358 0 R /XYZ 89 770.89 null]
+>> endobj
+12239 0 obj <<
+/D [12358 0 R /XYZ 227.842 671.378 null]
+>> endobj
+12361 0 obj <<
+/D [12358 0 R /XYZ 90 664.738 null]
+>> endobj
+12362 0 obj <<
+/D [12358 0 R /XYZ 90 596.164 null]
+>> endobj
+12363 0 obj <<
+/D [12358 0 R /XYZ 90 542.475 null]
+>> endobj
+12240 0 obj <<
+/D [12358 0 R /XYZ 184.963 466.27 null]
+>> endobj
+12364 0 obj <<
+/D [12358 0 R /XYZ 90 459.63 null]
+>> endobj
+12365 0 obj <<
+/D [12358 0 R /XYZ 90 388.924 null]
+>> endobj
+12241 0 obj <<
+/D [12358 0 R /XYZ 90 342.299 null]
+>> endobj
+12366 0 obj <<
+/D [12358 0 R /XYZ 90 337.816 null]
+>> endobj
+12367 0 obj <<
+/D [12358 0 R /XYZ 90 276.908 null]
+>> endobj
+12242 0 obj <<
+/D [12358 0 R /XYZ 90 230.283 null]
+>> endobj
+12368 0 obj <<
+/D [12358 0 R /XYZ 90 225.8 null]
+>> endobj
+12369 0 obj <<
+/D [12358 0 R /XYZ 90 152.937 null]
+>> endobj
+12243 0 obj <<
+/D [12358 0 R /XYZ 90 81.969 null]
+>> endobj
+12370 0 obj <<
+/D [12358 0 R /XYZ 90 77.486 null]
+>> endobj
+12357 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12374 0 obj <<
+/Length 2606      
+/Filter /FlateDecode
+>>
+stream
+xڵZKs�6��W�HU#�o���T�IśqNٔ�� ��tH�3�_�
��zsN�H��u�_7���v��`w	��|���N��AFR9zX�

)n���m>�}L0�b2%�����qR����	��|���΋���H�/ww?�p�x_L�
�OK��L����ˤ,��va��6�YJ��c��䏇o><��uC 
C �G������
n��ѣO�K��
>���7����~�^ #֋DHK-đ
��M(��
pb��7��.0�4„��6��Qd�� ܅D4A����Q0섐�7�.J��C ��!)I��o�d��~C{ (��1� P
�б	�C8�D�����J[�b`T :
F5�ZE���Y��ٞ�%�1?�
+��^�3X7ϼ�
<�rbƳ<+k3t��+a�2��>��(+K'��U���,=�������7	Q�W5"�4��,=҈Dʨ�
�Lj�59��;�
⦔"����G[��P�X�?��!�nǽ�{�6��8�@2lc4���H�n���q
+H��>|��W���%��D~'���$gH��%�:;�m����e"�'�AL�x	Ɛ�T��+���%��O8�X�
-ZB|4�h�)�
�0�7~o�j~w�f)>Y��GHmL���+����w;(�Hc6���M��;�2�!��E#��̀��Ez>��
�O.88
�
��C
+.��d.�)(_�8����/�@��p
A!b
᝴
+UE:��_����&��&�N�KA�			��9�Ky,�`�	�
�\���;�KZ�)To@����`1yE�X��K<?	\#�(�Z!�LL�T�VO9������ZԒ���*�x
�$^E��|�r$��DN!V��A(���ؠC�|type�����j:�P&UZB������y�!Գ��ކ��%��"6�����
|��X�L�/�\�Ð&�B.H!�Q
��ŽZ@�%A�_m�.��n���s��?a��T���a��
6 �RvI�y0P�
�j
m��s���hux鮽��I��t氁TfP�U�=tم�1�ԛN����J�u��O
�
HBT�h6�
+,�*��vi�ќ$|Nog$�A�欃�x
+b\��g#-t���._�]��_%J� _�����:^yNl�
GOl�#s�
n
�&d�����KC�3\C+�f�t�=�g�V�A��f�����������m����=J�ʮ^�f����&e
+y7���i��pL���u6�M�(�g��<����S�1EX���d��Nf?F!(�S����+����ь!jn4c��!�F!\�:�HLl�N[g��GO�k �}E��C b�P��1�C�-j23��Z�-Z�tk
��5R�ָ��f���l�TI�%
l&̦d�f�
�)�鏬ۊ77���å��@�HR������ J!�`�Q!���iV���x�R�>�}n�,��Њwm 7��
��T������}�3��fg-oN_~n�|�#Ve�FӱS��Na�i�jM�z�uhﶺe�U�����{=r����$cj����2�8����3A_

�{�s>�C7�lѓ����5	a��
*�����U����
V,,��3ęlM3t��T�qa����7]�u��O(i�~)�pW�[�3��L��
g/(V�d!�پ5!����A���3ŭ��OE�V_ҙ��i���NV�
w�
�}��>�2e�B#�I�N�
.��Ա���
2aߵ��c�6�p>�w< �T�}��߬D��_�8�.�CU�?4��#
+������^.�J�K��wb�Ώ���˕��VN"�b at G
\�wT`�n�tP��PG=
+�$N&������^����H~�w��V]�\%i����˚qQ�|�����=��.�}���HyX�8�D!q�<�
$ ��L���w��Q�I���\�5�4��.x���
D2��t��%�xz��S�]4����:ꎝ�<��
+2�$ڍ�؀�-�W��R
�����sԳ9��(z�yn�g�<�Q�&�܍��瞐��]���P2�ӌ�k8�F�lVN
+�5ٜ�N�l��^A�Ӳ~���V[�Ҵ`���F����J�Vp�?-���,�q�<��EeO<����F��(4�\%���0�6�]��hwߜL��>��9d�� ⛣�̔���%1�j<
+�� aE*�2#�
a������"'��@zbf �)Ĕ�ؠ3"^�E}��|w�p��C��H��1�������/5�5�?���
��t���w��@<��8x�3�w��mC:-��Ci���ݍ
N��[J�φY�#��	��+�%G[�mnd
'G�#��!��-7��+�(
mQL���i�h@�N��P���q��z�_���s¦���K�H-��>{�ԕ]�u�+D���/c)�N��}��څ�+$������'�[i�o'B����d�$t�.U�)`Qn�a�
9�?Z��稹���o�
+:(ĆݽT����������3�5ӂvh�
��
�MS�ʋ�P���U}Ď��q L Nic	0�_���(E�7��������+6�W�����G8^
+endstream
+endobj
+12373 0 obj <<
+/Type /Page
+/Contents 12374 0 R
+/Resources 12372 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Annots [ 12371 0 R ]
+>> endobj
+12371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12375 0 obj <<
+/D [12373 0 R /XYZ 89 770.89 null]
+>> endobj
+12376 0 obj <<
+/D [12373 0 R /XYZ 90 655.872 null]
+>> endobj
+12298 0 obj <<
+/D [12373 0 R /XYZ 90 609.246 null]
+>> endobj
+12377 0 obj <<
+/D [12373 0 R /XYZ 90 604.763 null]
+>> endobj
+12299 0 obj <<
+/D [12373 0 R /XYZ 90 508.961 null]
+>> endobj
+12378 0 obj <<
+/D [12373 0 R /XYZ 90 504.478 null]
+>> endobj
+12300 0 obj <<
+/D [12373 0 R /XYZ 90 398.878 null]
+>> endobj
+12379 0 obj <<
+/D [12373 0 R /XYZ 90 394.395 null]
+>> endobj
+12380 0 obj <<
+/D [12373 0 R /XYZ 90 314.488 null]
+>> endobj
+12381 0 obj <<
+/D [12373 0 R /XYZ 90 224.137 null]
+>> endobj
+12301 0 obj <<
+/D [12373 0 R /XYZ 90 177.512 null]
+>> endobj
+12382 0 obj <<
+/D [12373 0 R /XYZ 90 173.029 null]
+>> endobj
+12383 0 obj <<
+/D [12373 0 R /XYZ 90 112.121 null]
+>> endobj
+12302 0 obj <<
+/D [12373 0 R /XYZ 90 77.486 null]
+>> endobj
+12372 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R /F119 3070 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+12389 0 obj <<
+/Length 2189      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~ׯ P�T���wiz����S�<9�AK�E�"�����3�]^E�n�}���rv���Pػ�������B1/@���[n� {�HHxZ{�s���~��ǤF$��V���,����2���,gf~�
�R�[�f�ﱷ��<�X���j����5�f��a�
FT�[sq��>g� B,#)�gA0��U���g ��H����4��2����	�#*y��?��R=��)���.<�r�8�[
��(�A#�p�3��z^��γ�'d�i��14CX�I8�aA{
���a�/������o/�`��)S�ϘBL}
�>���W�$ڝ�g�2�����1'�H�&�'RD�8�gqZZ�x����ص��o>��]�
F-Q؎V��oQy��h<S{��
�P�
���g)�&D�p�{��]�@dR�)�qa��X�
����
o��1�<�EY�����
(tA !P�Ax�c̞��a����>�Ǯ�
`��IEOf�*�鑬Ӓ��4!��d^b��bk�UW2�h^�P��	�1,
�<�6
"�ۻ鑀M$�-���6E�>?_g�0No�<�9Dan��(�Hc6�| ˜49�HuB��_� с|�m��T��M�)b��8�8EJ�)"
4
!�6��������*��2߆>��&�"�Re岂M}�z�L�*9�Q��ۍ�^n��&kW+�<��$Z󅂬-	&A�p�>vy��f�t
�]:����7EX�h��@�v
+�8�N�xxE�zҐ	�'���>@/ԡ��fd�Q:��@рghE��%u�h�pP*{�=tP�ͧ� J' �O�pt`\N{b��1�����"��0�����@�
"��8Ʒ ,"`�E��8J�1��V�Ÿ�BTg
��A�#�	��]��(8>�a����i����#N�Ad��:J��=���9��
�53�����8M�4z��K
�l���o^Ee1B��5�M+�
�F+��v��z��DZ��OP*2���mX��܋�t�)Jy�f)p8�p���
R!AOb �a��;��ԆԀ@�tL�2ę�%[�L�ɒ����<m?�B�[\��S�U�Z^J�)adr�* j8��~�`X"F��
�/ �������Հu �_�=���/`��N�xxE��iC�%4��
J�"�
X�C�9��uak������%a���C�r9���VPj�Ҧ��1,-����cQ=��<+�<
+w���e��XJH'a0��n�z�_�������#���B��7�U�N�L�j�@*���ذ�r�ES�!n
��PP��+�#˧p�.ޏ���'=C$Q�
u�[c��NLh�1��ׯ�r(�b�&ļ��u�AX�
#=�0=�}��L��
@ʤ�O�c���	�<�=��O#4��Z~S	�Bо���M��������a�������r;F���=*�gC�����M�:����Q�����WV�1��j��J���Z�tw�[P

6y�4�,I,�8�
�H��
Ӧ[���@ɀ�9�;JE��B���	�n�H�Sۅ8�*  �
I玧�D�G��1 �N6
	��&
>

�4W����DX�SL�� ���
�2�'�E�Q
�|u��f�%t�=n.�
�
�2�@�Ls44ќ�1[�v�28[K3���h
 =����}
�S9�#���� x�XZ��u.��n�W#�>n���D�0RC�M˨�"7n;���lʧ�
͝��Y�&�i@�
r
�Ƃ�4��98�>2
�r�zDKČjL�scp�W`�+ZX��"�DS�Y�A�m�_=b�v���K� I%\�ۛBP�_ͣ<JW�c9
�k,�;y=^هAb�֚X��.�o��;�����I]*�"NW�a
��
�!��_�Ђ~��Y[t@�Z��j�z�:�D��[P@
.H u2�r�����B�������7�Yb���M�G	��V�M���a���V�<S1_��䤍��*?�J&��ݏ��@Ş��΋\U�^� �C�F���Տ�;n���y�e@�%� z��`=����ުo+��AT���Z./�7�+��K��8@�s�
�/�OڹJ^4�K6�
+�
8�*�C���{������:��L,:�o�r~vv{�+����,�k���D
����r'P�n��P�M�x��q^
+endstream
+endobj
+12388 0 obj <<
+/Type /Page
+/Contents 12389 0 R
+/Resources 12387 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Annots [ 12386 0 R ]
+>> endobj
+12386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12390 0 obj <<
+/D [12388 0 R /XYZ 89 770.89 null]
+>> endobj
+12391 0 obj <<
+/D [12388 0 R /XYZ 90 721.073 null]
+>> endobj
+12392 0 obj <<
+/D [12388 0 R /XYZ 90 667.827 null]
+>> endobj
+12303 0 obj <<
+/D [12388 0 R /XYZ 90 621.202 null]
+>> endobj
+12393 0 obj <<
+/D [12388 0 R /XYZ 90 616.718 null]
+>> endobj
+12394 0 obj <<
+/D [12388 0 R /XYZ 90 542.577 null]
+>> endobj
+12395 0 obj <<
+/D [12388 0 R /XYZ 90 446.337 null]
+>> endobj
+12322 0 obj <<
+/D [12388 0 R /XYZ 90 412.803 null]
+>> endobj
+12396 0 obj <<
+/D [12388 0 R /XYZ 90 412.803 null]
+>> endobj
+12323 0 obj <<
+/D [12388 0 R /XYZ 90 371.098 null]
+>> endobj
+12397 0 obj <<
+/D [12388 0 R /XYZ 90 366.615 null]
+>> endobj
+12398 0 obj <<
+/D [12388 0 R /XYZ 90 322.4 null]
+>> endobj
+1236 0 obj <<
+/D [12388 0 R /XYZ 90 209.097 null]
+>> endobj
+398 0 obj <<
+/D [12388 0 R /XYZ 90 177.493 null]
+>> endobj
+12387 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R /F117 2446 0 R /F119 3070 0 R /F11 613 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12431 0 obj <<
+/Length 1295      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W��!�r<
g���$�5V��@�$J&�E!);���wҔ*N�y�y���r��Ѱ�~�z6:�H�9�Th���`M
+�8%�l�]�#!
�`���A��&�;��q�p�w~�/7y�/wA�o�f~
�'A
�hS��Q6�m��ֽ4	��������}�8���r�/
���f%c�
�
��t�!ʼD�x�;�g�����aR���Ġ\�!�l�6a
�ڕ�_lC:�U	�	�4-T�
��^�
��+�|��^j��O�s*tfK�t�n6�:"�k$O�ő��e8����|��a�
[�υB͢
�@��>���	ܫ
$��Ńظ� �?R ��^�
I�.�8���?B�U��JD��q�!�T�_G���y��ZX~8����!�&z�WS5��W��-�1�����[aY&j�[R�B��
մl��t0�^J�@�5X�8��Jyg�vmr`PJW޺���M6��@�F�#X�
���p��R������@!�Y]Ɋ<w�
9qN�
�
	��T�U]ڞ���R��t�G��Զ{�x��r��~5
�w���P,D��&�6+�|�n��u����yc
�� v���0�X����U�l����h�`Z��^�;Z
d���İ��po‹�5[��޲��`jQ���;6�S��"ۢϊ
�'GǧW�4K�e6����;�(��8�4��y
B4�{�_�D@�]��<D��!�O�r���=b�l5
��v �����Q�F���H~�@�n�Mq�8�T�,�=o.Q��!���Csi���
+�
śCK��#C��xܵ_,�O0I� (��=1$�h
� �}�O{��bc�_�a�i�{���A��"�����.���Ov�RusN
��8_�q�?z�`�G�H��^��y�9^�[�a
'\r�g*˩�����~���
��;
֕�È8��-��`��pk�p2�/�:�=�{����cɳbt�a��y�H��S�m�b���t��]�q\
Nf8O��V�v(�
+a�������`�$���]߾�
,��]{g9����ɸ���G�ս�MK+vK�rDxm�cVy�[R�~�e�~:p߄���[��~v;��H���p�jKhO��&4�q��a��#�Q4KvK u�7Z��^�����	Iʎ�W
���k�D
�s�fU�Ӌb�9���z������� �%
�	�
+�0P�ʫ����?�>�o*E��tn�)P��o�l;>?_�6�m�2��
R�.I}Ȇj/��rs�U=�*�
j#�2Q��1�����f������� �:0�
+endstream
+endobj
+12430 0 obj <<
+/Type /Page
+/Contents 12431 0 R
+/Resources 12429 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Group 12385 0 R
+/Annots [ 12399 0 R 12400 0 R 12401 0 R 12402 0 R 12403 0 R 12404 0 R 12405 0 R 12406 0 R 12407 0 R 12408 0 R 12409 0 R 12410 0 R 12411 0 R 12412 0 R 12413 0 R 12414 0 R 12415 0 R 12416 0 R 12417 0 R 12418 0 R 12419 0 R 12420 0 R 12421 0 R 12422 0 R 12423 0 R 12424 0 R 12428 0 R ]
+>> endobj
+12384 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 12439 0 R
+/BBox [0 0 444 144]
+/Group 12385 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 12440 0 R>>
+>>
+/Length 566
+/Filter /FlateDecode
+>>
+stream
+x��VMo�0
��W��%%Y��C�b��
�ء�!�G�"
�?J�
ņ�t;�CJ���H�(?A[d��F��~��?�x�%|��ǟ���o � �#��#��{`(@��'̀'4*O�N�
J��u&�¹�C)}�4e�l���0��e*O#�'�i��lm�u6MM�
���
jH8
G�{GD�[��c��{��5����z��[�8b�|ߨ.΄
�-!���
�]����	�';ʄ��ؔ�[�
���Q�P��0gL7
ª�tu(��u�LaV��oMՈ\e˶gNX��4/av�
W{1�(�e��

2!���.k�os��\p5�)�^�	mW*�iK���؏	-���
|�ל�z�T�.��������dz�J**��S�:g���W$R�L��8�|;�]&��x���
N$��r�K"/1�h�x����xi��2����[d
]M��_�
+�ޓ��]hPR�ZW��
z�uA-R{EO�.�����t����3bئkTQ�ȡS�*U���āҮ�T��7��
~y-����Xn|��xӋ��P�OӚ�����,x�� �i
+endstream
+endobj
+12439 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+12440 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /ANKDRR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 12441 0 R]
+/ToUnicode 12442 0 R
+>>
+endobj
+12441 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /ANKDRR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 12443 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 833 556 278 556 500 556 611 556 667 500 500 584 278 278 500 611 278 584]]
+>>
+endobj
+12442 0 obj
+<<
+/Length 12444 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š��t@�2ݸ�N� �
�B�!:
߾1�B�ϓs��I��skƕ��nVZ�0�h�oN��:��
�G�F
+_5u6I}�e[V�Z3�I]�����m���
�X��4��\���|������Ȭ,K��i|��ξv�4$[���
}�߉���9FR���v�\g��ԙV�i2�_<ϑ��s�8�dz�̚@"P�Ay )@bT"o U�E� zD���#���
T�T�"Vш�*��
��.ϐ�99�$:p�It���<�� �U�_Q������
�'���'cM��0���;�
+�q���~%���"�S��x����[z�*us�/TX�I�����ng�g���v�{
+endstream
+endobj
+12443 0 obj
+<<
+/Type /FontDescriptor
+/FontName /ANKDRR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 12445 0 R
+>>
+endobj
+12444 0 obj
+366
+endobj
+12445 0 obj
+<<
+/Length 12446 0 R
+/Filter /FlateDecode
+/Length1 2712
+>>
+stream
+x�UV{l�������11~5q�N��$��1���	$N
�p�<�C�<*�B!��V��
+m�JL[+mӴne҄:6MB��?�[�����V�`[[��~��,ѹ�;����{�e��b
����d|�vݻ�X�I�
z����5�&|�Zvb4>�o�_�1�����4?�z�
�K����V?�ʼn��8c篃���d|v���c�����fc|�/0|`��n(��=\'o���|a�lo�\�� ��V1F&m%��ۢ�ܵ
W%񱙾�T=q@��
6]᪁�_��{`6 k��K-r+��
+�a�X+�-f�Ir��Z��U&��>�WO[��r:�YFw�VҫL����HuN��R^���:r��O��ltmݴ�Ni�)m����w[[�+������v��� eV�Z�-,��ʫk�ߵ����u��*š1���
+�z2#(�\O��J�h4�Q�T�g����\7�ERaO
��{�"#-�ح8��GK�#�W���vF��Ҏ��umօ�J����ј�~R~y�+�[�0oL
G^��l��ƥ�̻�L��$�H2��23Da�$�˯�:�&
����(f������TK8�Ҽ���ξx��Y�>ۑ��L��'�.b"3��3#�>)/~3�\�9ױ|0�
+6ʼB�6RIF:ٻX[S`3��[��=�s���+�ZkQ���K�D_B��C\$�2V�jSEC()
nj��q_M<,��Քu4���X�Q3�XM���R��
+|������j��E���I�'[ed�3��l���ɶ��|�\ݺ��֎��������W���=�i<
��
�������U�{=�o5���CT�9:k�=wh���@4��
��7V�~j��NZ)ߟ�럚�M!�0���W#���톟RBނ
���Y#���|��>���Z$��X��u�����y�ӳQq�䈜����G9��<9��=���	��" ���g�
���>��45�'6��)��	r��v��O�]L(�
B���1fw�D�l$a��C�
���c=|x�-�s�B�
�=~`yz�bOH�<�A��������f�?i�T��tF~yæx�*�~}j�����lx��K�/�"y%���h+XYV�ѳ}{����EFuKVe9���J/���@?��8^
[&������|ʿ쌽qr�\H���^�� �Ϡ�	0����TE��Z�П��
�@G�y�
͞���
�ח�~ߖ���}�O��=r��PZ�8��>��
b����ܹ��05�P=���_�O�(�
��E�M�MN�rP]��!�O��{|�k�+��b��E�*b��c���Ȋ���+	@�h��Z����P}Ǫ����ɬ]��h�3ho
+���A빹�?�k�ۂ���E�z�6wݜ�
&�cC�t���Q��'r)�?�%�l�}#�����mײ��
P;�'��,�iTIV�D%���85������p��]�JyD�/�=��b+A����h=!F4�+��5�������krU�Z'=D=��R�z)
j90|M{a����ؑk�4շvG;��%EN��،T�2
Su�?�B�2-�yK�+�\
̟�����q��;���{�<�Wb���\�'��~�)q����R����nzGȠ��N�g)�uo7���]^�_X:�_��Lw*�>`	��'�MN��5��cc΂���	�<�fn�kK�Kf�����&[�%����q�JT�lb��
����aT����T
+#K��e�HhYH�
J\b��N
��Q��Ȣ��
]5�]�J7!2
��
�B&걘�fk`���Z�'���[�+�
�<�WB��k��<��\���.�͖����J��z5�}���f�����?�-��o�>^��QkV�Y
�J�_�>g��L��+��Xo�\K6	� ����+k��E~��b.��^�@��UC��F��Bƌ�n��3����L�x	�y�{"�"P?臈J
·
+o?�E����ƽ�F�S�]��.
�r�K� )�מ}�Ge
(�!���3 �e�M�%���j= 4���d@�f���G>0
+endstream
+endobj
+12446 0 obj
+2017
+endobj
+12385 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+12399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 503.407 224.395 514.311]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 480.473 189.925 490.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+12401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 480.473 260.898 490.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a89dba3caf804c7ca6db844c67de99371) >>
+>> endobj
+12402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 464.985 422.545 474.89]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 439.864 224.395 450.768]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 416.93 232.982 426.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+12405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 416.93 347.013 426.858]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a12e89691311b8923ae33e930a7c89f4b) >>
+>> endobj
+12406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 401.443 389.11 411.348]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 376.322 224.395 387.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 353.388 254.671 363.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+12409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 353.388 390.391 363.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ab22bb6327730a73a66ebd117ca90aaed) >>
+>> endobj
+12410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 337.9 465.458 347.806]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 312.78 224.395 323.684]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 288.869 181.207 299.773]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+12413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 288.869 243.464 299.773]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_aefe92c8417c543823a7ac000dc6d4595) >>
+>> endobj
+12414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 274.358 420.593 284.263]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 249.237 224.395 260.141]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 225.327 159.628 236.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+12417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 225.327 200.306 236.231]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a598c3862b9f9e720061d5d3e87995840) >>
+>> endobj
+12418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 210.816 400.176 220.721]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 156.214 169.81 166.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ae0f8501bc09bd6e6247c5d92476a03a1) >>
+>> endobj
+12420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 156.214 309.485 166.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+12421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 156.214 514.653 166.744]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+12422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 144.259 227.553 154.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+12423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 116.208 169.013 127.112]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a47c90b8856ed5b99f2155e603b6a80c4) >>
+>> endobj
+12424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 116.208 345.31 127.112]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12432 0 obj <<
+/D [12430 0 R /XYZ 89 770.89 null]
+>> endobj
+12433 0 obj <<
+/D [12430 0 R /XYZ 90 532.249 null]
+>> endobj
+12434 0 obj <<
+/D [12430 0 R /XYZ 90 532.249 null]
+>> endobj
+8339 0 obj <<
+/D [12430 0 R /XYZ 90 468.97 null]
+>> endobj
+8342 0 obj <<
+/D [12430 0 R /XYZ 90 405.428 null]
+>> endobj
+12435 0 obj <<
+/D [12430 0 R /XYZ 90 341.885 null]
+>> endobj
+12436 0 obj <<
+/D [12430 0 R /XYZ 90 278.343 null]
+>> endobj
+12437 0 obj <<
+/D [12430 0 R /XYZ 90 174.725 null]
+>> endobj
+12438 0 obj <<
+/D [12430 0 R /XYZ 90 133.359 null]
+>> endobj
+12429 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F67 3037 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im17 12384 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12457 0 obj <<
+/Length 2460      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�����_��@J��z�_�m���Nc�_�vp�I��TH����,wIqIJG_�(�I+r�;���3/$�n"
};�����b�AFR]��
�7HH�����L�����ELjD������۫��._�{�痳�gnሸR:Zngo~��
+.aČ���IۈS������3�e�]�$��D�B�P� B� o)������ō�ogћ��8~y��ֻ�z�T�<�:��0�n�.�uV]=��+Ҳ�;�j�,�4~��ׇ��Ӗzz2�C
CB78��N����q~q�"������8�\]�5�?��'�5n/j������@2B�����D�y�M*�Q 
+���v���
�CQh;�-�lD\��&͜e��H&p���A����B�p8���G'�ge�8��
I"
���	��>����7�6,Ұ X,�`T#
+�Z���
�J�ݲ�
X���~]�ˆ����ݥ]R�&�`�
�g��"��S
߭7��?q��'��ø��\N]~U�37L�:��9S�W`��2/��]���'���w�ǤBL�z��1�~� 7�4�:��A
�Z��f�
+�Z/D=�
t�`
+q�Rĸ��>=3шK���G�D!��fΣi
����T˒��Ƭ<���֪!
:+����	0p
�3݇��MR�+P;���]��)�A���8R��x8ƫ�J��T�IՌ��_L
+?�rs�n���5�����,�DL
Rk-�Ʊ"9%�
+����
�)��ϣ`1|���3$� ծ������4JY�'��#}
�!R"��4Z9�i
���ֵ���0��roi%��-��;
@e��xJ��
�IN�DL'D��=���v_

��a���L �a�揊��>졈�?�IB�<P��WӃ �
�H�V�`R���dW�� *�R�mZ�j���#����D�D�JR�}ᜀs����9��
�k����Ć(�e�Y�U�Z[쒍Ko^d�i�n���.	��)�w�����NC��B��,����Yr�e��U}��W
c���"��d&�
�'
�1,�	 %�9fy���P
������`g����
+��H��<�

�`���P���P⊭@��9׎u͈DN��Z}
+���PEB�r	R�=b��6^,-���,�Q.�Cn�M�'bĔ<	�L��i�]���������SE�8�P� Nz��~}]$��}<;��AË�'�D�&0�-0�S���o���������N	��n�
��4[
�0���a��Y5�7?F[���w�hB!��)�#�/�Q��ȓH *�S^��l�=��u�u
+14��6t��`(T at M3fj'ۤ�'�qY�M�A�]�?/�M�N�����-+�m

	��\ �d� fņt�n�l�t�f풢i�
ҀA��*��9���@��ۗu�N�x��[�}ܯox���^�Z)J�U�l���T�>>�pB]�Wb�Z@Ӭ*���~�fs����F�u'��ߕ��w�����kG�����?�eU$K��U�M�=�F
W?-l��z�L�K�eK{�
ǎ�b)Ҥ�f�!�l�z;'�
گ��Ζ��[�
���X��
��:�]�ٲH��~d���տD�&xfiR����!xB�z��ZF��)\ߟn���jj��u��@� �:Sւ{q�тA"Jۗk7Cw�ul���ޯ�+'`+pTՆL7	C�m��л79�5��$M}���<�I[)��	� hQO�]�����b��C��p� �"�2�@�!��v�d�1��^��bp.'�{�RO�cH3�]�L:�����pO9^ Tda����^\�����
k���.H��lj�scK
+����t��H��x��WGbWt���ц��<P[k$������t|C���/�l冝� ��]Z$U^�cd��J���P*��B���B����v��lh���Z�"���R
��Z!��LU'���Gry�}�����k�� a���l�c�7���`K{Y��8�>l���!��	���7c��7����,�#Bx``$�/
+:��J��9�܇��:���+��*{�}��
��z��h�}}k�c֠C���Z�4
+����5<*�}����[�����-&���X���f�I�wK+� L�}7}�]���<�s�CVG?�Ս
\Q�Q������
+�I�U�?�
+v�a��ܾCj�
e�\���=2����
�g]�3�T���a3?
�',�L����|
���c�eև[u�`y��C�>��/�����b>�6�/�ͳ�� �2��&~��y�+$L����3�0Q��7���f���ŖE�rXl���[�l���|ˠ��l�z�M7���{7�G���
(�|o5�����Ӳ���e�h%���
NP��NS���V���NYG
�&�z�vgO�^�ݔiv���v�
�|�g��?�.���6o�	[g�96�����z�:
+endstream
+endobj
+12456 0 obj <<
+/Type /Page
+/Contents 12457 0 R
+/Resources 12455 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12354 0 R
+/Annots [ 12425 0 R 12426 0 R 12427 0 R 12447 0 R 12448 0 R 12449 0 R 12450 0 R 12462 0 R 12451 0 R 12452 0 R 12453 0 R 12463 0 R 12454 0 R ]
+>> endobj
+12425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 297.576 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a07785ee99516a90ab920842fa3ab54d1) >>
+>> endobj
+12426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.715 707.957 412.2 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.904 696.002 320.388 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+12447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 658.359 305.325 669.263]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a247581d9877a1544797ef8388c86f6f4) >>
+>> endobj
+12448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 548.422 155.683 559.326]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a7ff53437f750fd3ce8781dd441d7c304) >>
+>> endobj
+12449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.901 548.422 331.382 559.326]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.448 548.422 513.996 559.326]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 536.467 229.376 547.371]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.318 495.053 155.683 505.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a7ff53437f750fd3ce8781dd441d7c304) >>
+>> endobj
+12452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.901 495.053 331.382 505.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.448 495.053 513.996 505.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 483.098 229.376 494.002]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) >>
+>> endobj
+12454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12458 0 obj <<
+/D [12456 0 R /XYZ 89 770.89 null]
+>> endobj
+12459 0 obj <<
+/D [12456 0 R /XYZ 90 721.073 null]
+>> endobj
+12460 0 obj <<
+/D [12456 0 R /XYZ 90 674.469 null]
+>> endobj
+12461 0 obj <<
+/D [12456 0 R /XYZ 90 607.431 null]
+>> endobj
+12464 0 obj <<
+/D [12456 0 R /XYZ 90 445.122 null]
+>> endobj
+12465 0 obj <<
+/D [12456 0 R /XYZ 90 445.122 null]
+>> endobj
+12466 0 obj <<
+/D [12456 0 R /XYZ 90 381.703 null]
+>> endobj
+12455 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F90 758 0 R /F39 2320 0 R /F75 554 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12474 0 obj <<
+/Length 3260      
+/Filter /FlateDecode
+>>
+stream
+x��\ms���_�igZy&���63ms�$��\sΧ�%Q6'��PԹ�_�]�
+�d[�s�|"MB���ų
�4��h����/N^�'"2��<�.摡Q3�8�.fѻ�$�OnjR:zs��(���SNGe��:�U��|R�է�����o�|��y��</J�Y^�����|�����Q�ZA��?�8g�׿��؀vM��M<�m�1c�(e[����~Yg���Q���8M���M���+�M�O��0�:�7���o}�9�l��HW++����Q��)�:�O~��
�r
+��R<
	mP��ˋ�_NȡkL.It4]���@�<�!�D
�6����E����'�x�G
�Yl5�.��9�zi9J�5��'tO�����
껀�8I6�J��1��h�-�	��<��6 +nZ(�k������g�m�9�D11���@�X &�4N�g��U�Q��9��˴\ܔ��q��t���tZۗ���\�B���`-�# $U�
+��PD���f��ۃQ�)	�S�i	�R�tشrN�4D�$ -�e�^#��a[��b�2b��X�V��#e�Hq�,��ZC/���ִ��{��,���M
�"_fic�$¨ɚn��9�耦��:���F� :�����x'
�poԒHP���uc9��� =���S�ŧ&���X>/��D�ݮ���7�LX�D�
�%�L�
ti"U�����0&���^���2O/o�l���Wכ��)X�}sp�-N���Sr ��!���XE�#Ip�g*kb�9�U�����cp��a)��*�O���9����c�Ơ,

2��U��H����`�
����1>~e��w
�L��}�(%�����m�'�S��I��&Վ�΍ir��2�-�S�o��<�>�
1W!�i��
��^�w���?�<0���	
h�M��C�H�Q"�!<�Mgf7�
REh�o��4i�
.gIc����>������
��
ky9dozg�{��8�ܔ���csX�0� [...]
p�}A[K�sƧ�\���X�#=4;栌	��[�R�c뮈��.Ƀ�|�oWjl���_3ln�ljw���
�w0n�����z��4�M&������pd�B�0��ܒ>��'}�H�/l�aKA�
��֠dg���Ж�V����m/}R�O7���M�a��
�~{��kK�CoH
�iI
�
H
<q�������<���{�Z�Zk���$�_8�5J.�Q���><�c��;�C�v���)��I��t_y�<Ab��B��J�2�?j�x��WT�L�̎P!�?�6_�p
$�	7P9u���u�2H?A�	��u2�]�~��=Ut�BV�J��A
R�^N��B�
�4oZ҆�
ik�]��lf��|rO��_�?Y}]Κ�a�HXu�Ά��

���1� |�6g��u6{9;��^}�Ʈ6((�Z�Ss�7�YU���ٞ*
Y�FC�
�"��ġi}!`�N�W�}E����G��#�x�����53"�h��L
�Xj����̦(i���݅�Đ��G�EA0��
���
�9����=�l���k�Ԃ��I/j
�r
+ĠרEGj/U�^�:��i���2ܲ^��ȗ� b��`h
+
�� �����?n�����~��v΍�eW�7:���5ޫ&m�g������F���Oʛ�j��w^S���ľl���-����O	
�7��i��|��
ٲnN6[i�:GuV����a�Y�:[W��Χ���
+g9����,W�{���u>�����^mq Zַx��to�����Ǎ�&�}20լ}j[��,���V�N�׮K�[Z�j������'��uQ��
+� /��G�Np�:*�'�	wg�_g�I�ף��rj͋}[N��������ni<���
��Xv�� 
�ହ��v��O7�2] <���>��yB4J!Dsz��ݜm�#��Qn�g\�5, (�76{�}�-��"�AL���u

bA$��R�zk�2*>�0B��m�1�2&J3_��]g�����\��Vv�Ѥ,��7\EI��|Aq�wat�x�3�&ae�1j�ԏr�� �CQ��@����SGQ �'��<6���2g);@8:���
��ո
��d��}�������W
�f)-�
Kml19 Մ����>���+�_��K
�д�p�͜?��I���&�4o�Z&����a��{�	�������۴b05��|0mwY�����^5��:�n��^����b
� +
����(!
e6�=���,��;����X�D�q�
�c�]b�C@
�̕��A�e�Ǽ"�h\����ǼB���.~:��P��
+�
+�
|�&\�j���`g�y��kj/W�}E|�m���Ƀ��^�?�̄N�G�!�T,d7?�H�.;�d�Cf�!���1X|T�8��W�"��w����W�xL�f&���
+������
��	'?*h��%W�����Y���4Q��V�����a��}����qH����Q_L�?��
}Z�
�dž�K*���
+|h�`Ѡ�Hs�H����NE2r��]Vc1���Tȃ �T���S��`��N��RY���G���� ��-��9��>L�������:��Z�[
����υO۽V,�=AV{��Qb�x :�D
 �	���� ���R�f�%�ݺA�
�^�<N�0���t Z��
�WM�& ��p�`uw�D
+�
8�\���0 &��Ip�p�~��u�
��[%r�P�
�����j���4��$k��N�l�;
+�(<E%U����b�Up"6����n�c�c���FY���ٿJdQBǠ\��Q��\a�E���I��/�]9���� �
�ҩvUH|�`��*�ٲ٬�V�O!
+�(P�#��Z՗m�6�oˆR[����8�ٮ��.g��p-�7�
�!�{�0�9����
,b��u�%��R,XsH���V�4O�u�,֮Y�
)
݈��-%
+�Z	�l�Cr:V����۾��t��Yu����}�,k{
�������1�Ԗ�!�� 7v;K����U�	���eo�L2g�
i�F>A�b�x���t�FTȁbܞn�����g�T�͛W��UV��pz�N���a��z��dq�P�3	���m�noY��ڻڠ�Q�aEPu���뛳/&�+�W2���7XIWy��͒Pu�t�T�@O����O�!�v� c��B��M��}���{������-���H�_��Fs
+endstream
+endobj
+12473 0 obj <<
+/Type /Page
+/Contents 12474 0 R
+/Resources 12472 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Annots [ 12468 0 R 12476 0 R 12469 0 R 12477 0 R 12470 0 R 12478 0 R 12471 0 R ]
+>> endobj
+12468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.089 463.656 513.996 475.611]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+12476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 451.701 126.862 464.642]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+12469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.095 451.701 513.996 464.642]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) >>
+>> endobj
+12477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 440.079 168.705 452.687]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) >>
+>> endobj
+12470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.256 440.079 513.996 452.687]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+12478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 428.971 186.638 438.645]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+12471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12475 0 obj <<
+/D [12473 0 R /XYZ 89 770.89 null]
+>> endobj
+12479 0 obj <<
+/D [12473 0 R /XYZ 90 375.073 null]
+>> endobj
+8369 0 obj <<
+/D [12473 0 R /XYZ 90 350.639 null]
+>> endobj
+12480 0 obj <<
+/D [12473 0 R /XYZ 90 350.639 null]
+>> endobj
+12481 0 obj <<
+/D [12473 0 R /XYZ 90 226.602 null]
+>> endobj
+12472 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F8 794 0 R /F24 529 0 R /F7 795 0 R /F35 1248 0 R /F10 765 0 R /F1 833 0 R /F29 938 0 R /F99 5346 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+12495 0 obj <<
+/Length 1826      
+/Filter /FlateDecode
+>>
+stream
+x��Y]o�H}��@Z�k�z2�3D�Jm�T�Y�I�%�,b�-p����� ��DE��v�
x�9s��3g.عq��z��btp���!OR�\\;
v���p�p.�����7�O�[��?�.��.����ї���Cl)��W����Y��7F���m�h�p��7r�G�G��E�B!v�� p'T�q�,/摟e�rd�4\�a��Ij/��A�Q��w�K���:�c�Jrm��K����
�#�(�R��Bd�(��ZșFL��
+K��d�����PE��™�$���j
� γ"�6��M��G�e���L�OW�l�Dw�`�����U�w��'Qӊo�0�g��ր43�,�B@S�
"XWX�
���z�'��i��W$?�]�����S;I���`K [�3
�
IR��y9Mˁ��
+��ȶDT���Ǵ���'
�*B�	�Hz̾ϤD̝�_�¬����^|"?ʛ�M</Yw����,�%Jm
<�P�8 n�H9p
��� =1Q� �%𺑨���_A0, ����R���H&��l_&R�i���"[S��P�+�+���w'z��`a�@bD�
��B2�\�\�� ���
�r����q��a��b=DQK����g���%����$\ةd.!�[m�>a�Kmj*7d`V 'y���w�O�:
+�{g[ap)�]%.��A4��}��\��@�
�Dw@�@����`IVtŠ�2�l`J�A(�ʹ� ��Ԇ�T]2�	��=1H(8�
+���� �
+���㓪�h�A�kI������
+�qED�O����
���0mO����Pz�  ��R�6�.�a!gr��
ĭc
���6q
�TU���><�5��`�
37a��$am�^��
+|�gL&�#�8h.�Jz�����8j�=V�M�ɂ���m�/�z��ygޭ^� �1�	6W,X9�v.��s.B =%
¹���C<ֹ
��t.-?�\�U9���ǹ��ӹHy�>�s1]1�h�2�\Z 
�\ R9�����C�����t �bzb���e �si!x�s F�\Z0�KΥ�����h�:�u�|Yױ�e7kyʛ� Ҳ�b�L�U�`w�D�-�A�G�0�Qp������l
H��(��R�nu9�N��-����
-�^�j�������L��ejj�I�8��v8S������T���H#V��KU�����8��vi�y=�k���@�ZJن`ˇ&���Ύz(��0�:b�?E
�,�
��+�u׮iσ�\'��U�{ai'yy�A��4��*v'YE�9�α�D[2���e�5�QOz�vI��0�G�E�}
)�k�[}�J�[�w�	�Dʎ4�c�)�&V"��/�4�}G������N��5Q��I����/��N( {�!�pYP�
��IF�&����������
+��U�z��"[�1��4F��~�9MW���+�l��u�Օ�!��w���y%ff;�%f��~#o��v�2^���>`IAЍ/��CF���f5�[e���=_
�
�*���ٱ�\���_a�x��dz�?�?�w^�7���z
6POJ^(E�SXT�����M-��(�Ct�vv�M
~���ke哤�N�y�F[	�r�Hh��Ը�����]��0e��/DG�I��z~�����'��^����$� {��Ƌ�
�u�ژ(U���zGj�*��
��&����[6
�
+P�i������鯮0����o���q�J�f��!� !8�g�'H*����B�x/�i���<_

\mn� �A�du�Cۗ=�m
��U��
+��¦�]2���
0��0
+endstream
+endobj
+12494 0 obj <<
+/Type /Page
+/Contents 12495 0 R
+/Resources 12493 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Group 12485 0 R
+/Annots [ 12483 0 R 12486 0 R 12487 0 R 12488 0 R 12489 0 R 12490 0 R 12491 0 R 12492 0 R ]
+>> endobj
+12484 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1NNC__Polyhedron__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 12501 0 R
+/BBox [0 0 212 192]
+/Group 12485 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 12502 0 R>>
+>>
+/Length 395
+/Filter /FlateDecode
+>>
+stream
+x��TKK�@�ϯ�?���>�� {(�P�<�
j_"�`=���M66}P=KH��y�l>���N^�X�fܯ�߁1?�
�愛�r~���N�}��
I.�	�Q2�;,����ض�
+��HyI㩔��>R�Jc�,%EN�@,9c�#�0�7U��K���9؀��f�uE�4��7Dĩ�Y�TY��I�diS8һdxP�/@$PH�vY��wy9M~�uQ�2U�M�*���^Ҭ� �:뢐�lF2岛l-��!`J�%�!\�
|���lt}�>�u��msX�!�̮#�
b�]�q��G�ل�ȲV1��a�b�g

u�ItG$ʍ�A6-_��"�n$����d��|�N�-
+N��[轢�q�O�3�m���V���&sw�5�8��e:��|n�
+endstream
+endobj
+12501 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+12502 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /ZIVHSG+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 12503 0 R]
+/ToUnicode 12504 0 R
+>>
+endobj
+12503 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /ZIVHSG+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 12505 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 722 722 556]]
+>>
+endobj
+12504 0 obj
+<<
+/Length 12506 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0E���Y���G�CI7^�A�~�,�A-
YY��+ψ*����
�;�/�KgM���O�� �X�q��^"
x56++PF�D��Q�,��~����S�4�Fq~�ͳ�|�  �
+��W�|_z��ߝ��m�"k[P�c�W��Ĉ��y۩���l���kqq�G����	�^�+fMW
����Ъzyb۠�Mx*/cyQ싖�":�L;�c�T������L�
�$Ӊ���ά��Ӟi`��$Q��(�RdJ'�D;AT�C&�_�cJ�C
+'��ƴ��1y�>�O����č���p�[]��&���
+endstream
+endobj
+12505 0 obj
+<<
+/Type /FontDescriptor
+/FontName /ZIVHSG+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 12507 0 R
+>>
+endobj
+12506 0 obj
+303
+endobj
+12507 0 obj
+<<
+/Length 12508 0 R
+/Filter /FlateDecode
+/Length1 1760
+>>
+stream
+x�UU{lSe?�w��Ѳ�r�`��]׽���ck�^���
+�c�n�c]7�c��:4�#
Q4Q	1Cb"���F���E�D��	�����ݭ�m�w�9�|��;��. ȁ&�`ߙ����j e
��]��?9��
>P�N
��z�?��ߠΝ@��<� �PK"�w��"���������
��Q�b���
*��%ʫ0f���
p����/7�(�H�dXz��-Tt�N��G�$���r �SU�̛
��p;�Մ&'�om'������f���2�OH�ѹ�/-�-�BU�5��'��
=�

��\f�`��٘�i$
�i5��r���p:�Wu%���3l���@p{��T�]Q_jYkmXWW�
�F�����d���6�J%ݘWn뉴�+���9�
+����`��ڥ�:�4ZMm�
�V\���2�D�E��F":���Dz,�6��|M�vI��f���=mX�?�DŽU,Y���vˉ�������Քw8;�q�ر�PMך�P���.
 I�'�^�,�1���L��2DZ/�ԛ\Էp��2���
"a�|У)��1�nc�Jg�~��V���::6>u$�
+��n
+Ғ�W���%��=�/R�m�1� ���� `�g"��tN~��X�
�-
+"�1*\��F‰y��N���E%|�3�U{g�faft�_e,
�)�8�_ї��	."�Ŋ�l�l
+����uݽa��c����tN��^���ʵ�pf֪�� �&�3�D.�
J+�S"
!%��asD��ol��T�D�^�&Viظ�n��%�ep�г]M����n]ij�yB	fʛ]�{��y�~�꽮��{�Cã��-�H�/bx���~��77�B��x���X�@��s=�U2lMz�1IHp��ͨ���觳g���ћ]��a
���Ts5�\�ύ�Ѯ ������a=�Л��=w��'���7�oab�����[N
=�n_3����N��/�d���c��ҵ��#�r���p��ɨ�/��$��!2%Jp�"�h���1�����l�=�jb�����l5g�����wh��
�N�
�&��@���
Ϗ�������ЈtS
$!;K��
OΜ���̼���/\�h
+ |Q�=����kֱ��+�X�8GD�NP����*�Qsyo���ɰa�-T`�� �g��I╋��4xk��h��[��"Qm�׭;
+�Q5w�m���U?f��=R�r^Q�b.d���ݖ~�>�O��,�)��O�
��,���"=��y���d�l��B
��Q6�b��}��� c�{�F�3�%�6������
ҧ
&�R�mH�af
+$|���ÝC�!��
+�
��M�]��aVEe9o��\P�
Ymt�
+endstream
+endobj
+12508 0 obj
+1360
+endobj
+12485 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+12483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 690.333 501.708 701.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+12486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.672 187.853 113.576]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) >>
+>> endobj
+12487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.511 102.672 257.154 113.576]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.035 102.672 426.424 113.576]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+12489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.098 102.672 501.345 113.576]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+12490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 187.853 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) >>
+>> endobj
+12491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 74.333 293.017 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12496 0 obj <<
+/D [12494 0 R /XYZ 89 770.89 null]
+>> endobj
+12497 0 obj <<
+/D [12494 0 R /XYZ 90 676.26 null]
+>> endobj
+12467 0 obj <<
+/D [12494 0 R /XYZ 90 653.784 null]
+>> endobj
+12498 0 obj <<
+/D [12494 0 R /XYZ 90 653.784 null]
+>> endobj
+12499 0 obj <<
+/D [12494 0 R /XYZ 90 571.731 null]
+>> endobj
+769 0 obj <<
+/D [12494 0 R /XYZ 90 462.125 null]
+>> endobj
+402 0 obj <<
+/D [12494 0 R /XYZ 90 455.248 null]
+>> endobj
+12500 0 obj <<
+/D [12494 0 R /XYZ 90 121.887 null]
+>> endobj
+12493 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im18 12484 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12564 0 obj <<
+/Length 1627      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s�8}�W�)kf�"ɖ%u�;�$M'ݴ�6��v�c�ςMmӖ�W�l0q��$������:W�
+ckda�u��ux�
K"�QϺZ[ܕ�y�k`}�	F
ow�ؾhl����^�)����:$~�<�%~2��ݻ�ʣ6v
�;�a�x짩��!�� �J6��v$i�z�zu���"�
��ֆ!.�����+�0���ȑ���O�X.u�sl]��jac��gn�t,�z�2�P���8!�m��,
���QL�_��M.+m�_�D��4
�P<ԟ�8J30��~e)�--t;<��R:�"ϥV�0��/���"�dd
��u���a8W�{at=���
��̰�)�>�UUjv/�%5"��[E������8�E�YV'f0�L�Y1��K%`�[8r!p�E,i;���V��^�r��;�u���ɺ�ҝ�.�'#Ua������Qå���
hy��k (z�d����EoG؈_p����������Ζ����Y��i��
��
��D��
2`2
*x?�l�՜�FX�2���)��ݧ������>��yUד�.�$c�]�V����qz�Ogׁ!ĵ+@��SB [...]
A���Ӡ�XlN�@��olV��X�h�'��倝��x�N�S�8��?�Y!AUya�j��
��c2P��`��4��iS��aO��'᠞�ƒg�XP���G�.�y��K�W�=�!
+���.F��m�$w�h�������I��ڟkk�ːG����0A����8(�3�'6�%�u�p�ӌ��'�R9TnZ=���+G'����k��2p�
��8mb���|���Q
���	A6 at Hb�B��m���

���
�!���-!d�C1Cx>w=o*���P� "��E��N�
ь`�&�6v�T��r7�qk���>��a�'󢩟Η��g����&�%�G
��x��0_܁x6Pb��RE�U�7C���hD¦�7�����,���bI����� _0v�Zny�<]��0�鹩����~4��݁�H��u�ȣ�~Q&z��A��a
u�HA��ž����դ"
�G�tV�SN ��Sɔ�,��G�
�d
�*[�������0	���:-O�:/��*�qp
Y��%�k��6
��\P�R!N�}W\��^
�ק��_�z6
wuu�î>��~�����b'\�|�27��
���^nb�c����P�E�w{	�
NZ_B/'��V=P�!���

3=�Ks�c
��D�:{��vB&%��
�Y=�!��1�4��A�V� "Kˆ�8�۫�0
P)��ɥ=�;�j�)
+�^<�O
l�e��5e���:߯����c<
+�������=o9@���b�f]\��n9
��ڌ�F�~4+Z��w�� Q$E���9
�
��U+��U|�S�{�*pce�z�e�燇��(
��s3͖� ���
�ȕ�ĉ1(�`p*�P�Q�G�	�*O�3��0 �s��X��?,��ó�c�����+H��F(
+endstream
+endobj
+12563 0 obj <<
+/Type /Page
+/Contents 12564 0 R
+/Resources 12562 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Annots [ 12511 0 R 12512 0 R 12513 0 R 12514 0 R 12515 0 R 12516 0 R 12517 0 R 12518 0 R 12519 0 R 12520 0 R 12521 0 R 12522 0 R 12523 0 R 12524 0 R 12525 0 R 12526 0 R 12527 0 R 12566 0 R 12528 0 R 12529 0 R 12530 0 R 12531 0 R 12532 0 R 12567 0 R 12533 0 R 12534 0 R 12535 0 R 12536 0 R 12537 0 R 12538 0 R 12539 0 R 12540 0 R 12568 0 R 12541 0 R 12542 0 R 12543 0 R 12544 0 R 12569 0 R 12545 0 R 12546 0 R 12547 0 R 12548 0 R 12571 0 R 12549 0 R 12550 0 R 12551 0 R 12552 0 R 12553 0 R 12 [...]
+>> endobj
+12511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 692.541 187.853 703.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8) >>
+>> endobj
+12512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 692.541 269.495 703.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.024 692.541 350.969 703.445]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+12514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 659.717 187.853 670.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) >>
+>> endobj
+12515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 659.717 291.333 670.621]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+12516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 626.892 187.853 637.796]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd) >>
+>> endobj
+12517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 626.892 267.812 637.796]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+12518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.899 626.892 349.844 637.796]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+12519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 594.068 187.853 604.972]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) >>
+>> endobj
+12520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 594.068 299.642 604.972]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 561.244 187.853 572.148]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) >>
+>> endobj
+12522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 561.244 276.121 572.148]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.631 561.244 362.576 572.148]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+12524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 528.419 187.853 539.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) >>
+>> endobj
+12525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.683 528.419 277.239 539.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+12526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.608 528.419 373.074 539.323]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 528.419 513.996 539.323]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 516.838 123.096 527.368]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 471.685 187.853 482.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a56849f08cce0bbdb7b8118abb30471c2) >>
+>> endobj
+12529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.818 471.685 234.418 482.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+12530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.978 471.685 275.705 482.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.139 471.685 390.605 482.589]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.718 471.685 513.996 482.589]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 460.103 139.694 470.633]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 426.905 187.853 437.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) >>
+>> endobj
+12534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.19 426.905 235.444 437.809]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+12535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.724 426.905 340.19 437.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.989 426.905 483.74 437.809]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 382.125 187.853 393.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a35d0734550a70a165a87b145be5e8728) >>
+>> endobj
+12538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.359 382.125 261.519 393.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+12539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.868 382.125 390.334 393.029]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.718 382.125 513.996 393.029]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 370.544 139.694 381.074]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 325.391 187.853 336.295]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a86c7ff797f1b5e1b31217a176176eb4c) >>
+>> endobj
+12542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.516 325.391 288.784 336.295]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.36 325.391 416.826 336.295]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.288 325.391 513.996 336.295]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 313.809 166.264 324.34]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 280.611 187.853 291.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) >>
+>> endobj
+12546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.785 280.611 289.728 291.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.962 280.611 383.428 291.515]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.525 280.611 513.996 291.515]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.03 132.501 279.56]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.832 187.853 246.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.592 235.832 239.399 246.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5) >>
+>> endobj
+12551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.736 235.832 340.678 246.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 203.007 187.853 213.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.592 203.007 239.399 213.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) >>
+>> endobj
+12554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.736 203.007 326.292 213.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+12555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 170.183 195.601 181.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360) >>
+>> endobj
+12556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 137.359 241.112 148.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) >>
+>> endobj
+12557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.449 137.359 342.392 148.262]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 93.575 255.488 104.479]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553) >>
+>> endobj
+12559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.826 93.575 356.768 104.479]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12565 0 obj <<
+/D [12563 0 R /XYZ 89 770.89 null]
+>> endobj
+12570 0 obj <<
+/D [12563 0 R /XYZ 90 300.335 null]
+>> endobj
+12572 0 obj <<
+/D [12563 0 R /XYZ 90 255.556 null]
+>> endobj
+12573 0 obj <<
+/D [12563 0 R /XYZ 90 222.731 null]
+>> endobj
+12574 0 obj <<
+/D [12563 0 R /XYZ 90 189.907 null]
+>> endobj
+12575 0 obj <<
+/D [12563 0 R /XYZ 90 115.026 null]
+>> endobj
+12562 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F110 1507 0 R /F39 2320 0 R /F11 613 0 R /F68 3032 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12593 0 obj <<
+/Length 2351      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�H��Wp�E�r=(
+����g�����={�t8*Y��P�nͯ߬$�d[s��@���L���� ;�v�y��������>����bGx!�>��;�.
����DBf����}��}�W}7_.ta�
�������ؙC�F,
��zP�x��5u�/�}��.Q�n��j����1|?�w��I�G�dJi�~̗�Lj97��L�B�J�9�4M����#_ 2���{-�(I�ײ��d���I����j�#�{�̱��������Lҍi�Ӣ�K�{�a��]�~���U�n�r^9��� �Գk�0LP���W�j
��ba��4
qU�+ԣ*��3�nx�coo?<ݵK���#J�*e%�2B#5
UD�x(`���
��-�i˵��
Cx���
1r��N2�m�3e��0�2�Bn�m��1q]����bitb����#N�>�;>
+
� �M�
�|b��,�H���Fй��F�y�/0�f�mQ˾�aX� 	
���0=�>�c��W�^݈֋�i�J;����,�4�#��@O�P���pߊy�
q�\�yc:[��{;�<�v
�0�0J�}��òS�w&�k0̬�$N�tcp���XhQ��*c��$�
3���X�ڔ�M[��[�Ǝ�4�Ĕ�}0	캨*r#|�����7�i���mH�X^�P
�B�'�	��B��sM��QV�p��4���v�l�6PwK3���0v,��~�+��2*������v7��mLWd.Yь��
ev�(K�v��d�TfЩ�����R~Y'����B2wu��0�6g��4�b]BԲ�ttsB@D�m
+���j�ɇ"��rmc
��]�Xz��E�nMxq�m���P
�E�y��1?t�Ї9t,[S�a���33�)b<Т<`Z��	�t���k�ɞ
+S�ip(DxLD_���Y�Gwsu��۾\�tv
����q'��R���#�s(�F
 x�2 ���h�U�
ri��ys�+y�|�7+�!	8��(��H��@�Ά0H���v�x����	�Z�,ޤ�VcMV��F޷Q`����V�l�݀� �n���4)��O7&
��CC���=�ѧ�b�O����_o?������%^=r!�A�7����P����i����<�Jv�P�a��(mn�<ƒ��<Dq�
f��u��mh�	���Z����l��lk�;Lf�چp�k�)�
�ʞ
�Q5�d=X_�^{��{M���-�<�$1^I�h���
+�s%B�

rD�Q�ء
<�#�D�.�	$O�@ZR�,�i-_gOSC�A&D?�tv�I�<����}F
%AHE_ه�������p��N��b�`:W��0���}��������B�^pF��]��k@� ؍Znv�
֑��FЉ�@�mz
b����JƉ"�����RncjtJDU���j��,֩%�3+g6��D���$H��!�":#&_-�ē� �,�9�
g6��|��>x:�kN�*P:�����0x�O�/��T9�^W�+R�����CP=4BJ�,�$(�|��JT�=�����U*��z�$�r�q��FO����j����(�Ș��/�L����ַ�aY*L|�{=Y
�A�@�%�*k�S��:�ȖW�C�Xʆ��	.��%�& ��Q�91�d�v�c�������?�h�B��Y7��e�?\%�ctKW��҆��Z���?�
V��j2eP��l
�˅*�uZ��e<m��#�6SJR
H##�
ے"蟉���D��
@�q$�$���
�DޮAs"�����3(`DF]pҁ��ui�CN��ƈ9�z>Sg�U=P�
�����9؋��~��T����!����wC���6~�Հ�)S�! f�*�?������
|��b{۱[�7����_�E�
-�qn�v�[�W���ڂl/������f(�
�ֶKw���
/�0�q>j|v���9� g*�B$ �$��ӎUkoTc�Z���ʛ�۾��r�k��z�Y�a "��	�K��z�G�* 
5/c��Ng
j>'�
t���
��Th�BO����94��a�	'�3(�0��Q��
|��3$/�	Gh��%	C�#��cȃ��c	�d��S��1_��I���ڗ=�,�0�nTd
ѐ��5�a����s��P�Xe�m\��2��|
ABPv�wU�SH2�>D�v����{�;�9���cƜ��m�MA�t+�ImP���g>3!bq�hߑww?��_+Y�m¹k}�K���w\�|����	�
+h�Ԡ�������{��O�
}�ܾ�[�����r�~�d���"ۇ�vr��h9��95$$@c����=���1N
+endstream
+endobj
+12592 0 obj <<
+/Type /Page
+/Contents 12593 0 R
+/Resources 12591 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Annots [ 12560 0 R 12587 0 R 12588 0 R 12589 0 R 12590 0 R ]
+>> endobj
+12560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.937 641.634 252.879 652.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 585.729 513.996 615.044]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+12588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.826 573.774 409.768 584.678]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+12589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.324 561.819 361.88 572.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+12590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12594 0 obj <<
+/D [12592 0 R /XYZ 89 770.89 null]
+>> endobj
+12595 0 obj <<
+/D [12592 0 R /XYZ 90 704.286 null]
+>> endobj
+12596 0 obj <<
+/D [12592 0 R /XYZ 90 704.286 null]
+>> endobj
+12597 0 obj <<
+/D [12592 0 R /XYZ 90 536.289 null]
+>> endobj
+12509 0 obj <<
+/D [12592 0 R /XYZ 90 513.913 null]
+>> endobj
+12598 0 obj <<
+/D [12592 0 R /XYZ 90 513.913 null]
+>> endobj
+12599 0 obj <<
+/D [12592 0 R /XYZ 90 431.411 null]
+>> endobj
+12600 0 obj <<
+/D [12592 0 R /XYZ 90 353.413 null]
+>> endobj
+12510 0 obj <<
+/D [12592 0 R /XYZ 480.093 301.119 null]
+>> endobj
+12601 0 obj <<
+/D [12592 0 R /XYZ 90 294.479 null]
+>> endobj
+12602 0 obj <<
+/D [12592 0 R /XYZ 90 208.28 null]
+>> endobj
+12576 0 obj <<
+/D [12592 0 R /XYZ 90 172.424 null]
+>> endobj
+12603 0 obj <<
+/D [12592 0 R /XYZ 90 167.941 null]
+>> endobj
+12591 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F32 764 0 R /F10 765 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12607 0 obj <<
+/Length 2095      
+/Filter /FlateDecode
+>>
+stream
+x��[K��6��W𴡪"O��ƛM9��f���qM�G�Z��PT��mEj(��׺jO�A��5Џ�c
�
|7��a�柒�F��S�q �F"�-�!�(�����s�ø�ď�s��b�N�e��C�������O?��}��|A߮��־��>���4OR#[j
2����}�0�mF 
�E#�TA��}���%
`Ĵ
+��'mN<���ٿg�Q�}"*̫y4�̃�J#�y 	C�[�AZƛ�2(I��q��<�
��ڏ��+ͰB�ͣ�Eh@��̿T "Z��H�1�8��{�H���i�+)��kjw;iv��>����M �(B��>��g0C�E��o�tcߋ'�L�|[�q�W�|u.�_1�y���ʭ~i̾��|���U�C֬̋f`�&�L�Fwp@�H(�$���c~�N���(RT�Y��$�mS3/X00fJD� iصzFV5η��x
+�jW���&�ۗO�}�i2'"�'k Y�TE3���.[���fEW��$B��=i�F ģ;y�h�IRxF�7'w֣�F
S�ib$�'��m6�INu�A��!�{cq5 k-�oM�}^�I�%�z��YfOs*BHi^eq�:C�c-�f�,6GVX�[i_�߂��v�I^��MH�t-}���3��� @CP9$~Do��7��,M�a����F�Q��n��Fa,�	Շr?g(��Ŗq��@1E�*(ه`)�|�BKs�	`">�~
+B�7���"?�Q�",|�a
���0�w0�+�_$����1�B����]��e
N���&�z~���n���
Gԙ���퀐�8R�96-6����$
S(�Nއ,_gy�q@*��������(Hs�E�!��e�%Y���)���a�(�

+	K���t�7��
�Q�=��
�
�1A��>Wn�m|(
b~XtYр�,� ��6�n_�$u1|����-p?�Nm�
�yv/^
&��`0��y� OWp����w�5���H)?L�;�
<M򮟝�7��=����xc�]�~�^��V "9�b�vu����gd�3b���?���?�S<
3D�_7+�{�_f�m\����0Or,Ҭ눬�	G at N��2
��}� 'bF
� ��m�����9����:[>�a2\� `W�O1$P̼jZ�-�`�Te�#�1U�>g�����><��)$�pY�8	M	�氕;����j߭���縝�����%�2����ʫ�� �l���B��+1��0�%�>*�.�

+\��E0�����;ƶ`R���+;�c1��T
�K
Y�@���p���
j��~v�8AR�[p?���=��_vՐ����g�&s��� F�=`���9]v
+.ʚ�C]Qv
چ-�������?�X�E\x��%֌�	������
����6��GEm�
���ͻ18���	�U��0�+��u�H}u`>d�ʚ���3W4�ru��|up�����Șϫ8��G]$�x�;`�"�
�nD2�V]$_�����qڄ����t����

+E�
�T;��kQ�Ȭ]�*���>�
����9%া�>5u�#U�l�4����o�i;�T�m��$�lK *��y�'M�	���2=�
�
�
 ��@��MW`t&�<�qm�	`�m�t�����FR�

~[�rg�0m�G х��
A}�H�<:��$
+*��j�i���!%�
���;Ĥݯ�^�~�K�����Gz�]bMd��Ӵ�*�#	�K"(�$�yŹ��6��F��S~(��{mr���
��"򦎧\��x���@n�x�́���U$&��LL(���2��=� \ �|z��ϲG#��9�ݘ��+��v��c7=�ٍ
�݄I���n&�1Ad�փav)��gn=>����

+q0��y�q�:��:�|��c*�;N��w������%0�E�ݗJ0uD����/�l��a��q����ݘ��F��<p+�(��&g
�O�������kV��"̟q�����^�޼��[m�|��b���:z��mD?�ۘMQ��#��&6�#�
�M"���s����A܅`"i=��^t
��7�6,�G|���7��
+endstream
+endobj
+12606 0 obj <<
+/Type /Page
+/Contents 12607 0 R
+/Resources 12605 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Annots [ 12604 0 R ]
+>> endobj
+12604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12608 0 obj <<
+/D [12606 0 R /XYZ 89 770.89 null]
+>> endobj
+12609 0 obj <<
+/D [12606 0 R /XYZ 90 720.814 null]
+>> endobj
+12577 0 obj <<
+/D [12606 0 R /XYZ 90 661.835 null]
+>> endobj
+12610 0 obj <<
+/D [12606 0 R /XYZ 90 657.352 null]
+>> endobj
+12611 0 obj <<
+/D [12606 0 R /XYZ 90 568.997 null]
+>> endobj
+12612 0 obj <<
+/D [12606 0 R /XYZ 90 515.308 null]
+>> endobj
+12578 0 obj <<
+/D [12606 0 R /XYZ 90 480.638 null]
+>> endobj
+12613 0 obj <<
+/D [12606 0 R /XYZ 90 476.154 null]
+>> endobj
+12614 0 obj <<
+/D [12606 0 R /XYZ 90 387.799 null]
+>> endobj
+12615 0 obj <<
+/D [12606 0 R /XYZ 90 309.801 null]
+>> endobj
+12579 0 obj <<
+/D [12606 0 R /XYZ 90 275.131 null]
+>> endobj
+12616 0 obj <<
+/D [12606 0 R /XYZ 90 270.648 null]
+>> endobj
+12617 0 obj <<
+/D [12606 0 R /XYZ 90 182.293 null]
+>> endobj
+12580 0 obj <<
+/D [12606 0 R /XYZ 90 133.657 null]
+>> endobj
+12618 0 obj <<
+/D [12606 0 R /XYZ 90 129.173 null]
+>> endobj
+12605 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12622 0 obj <<
+/Length 2513      
+/Filter /FlateDecode
+>>
+stream
+x��[k����޿�O	��5����v
�f����JY͎Z�M�Ql�ζ�}nA�1�6�h�F`(.�n�ǹui�,
켿y=�y�7�
y�Jg��x�Q�CB¯���e
�|���0��$<�_~������쓹w�nv��
�[�!� ��v���_����?81O;����
�+���?np��{XA��=�)��ī�s�H��
F�Afi�++��nO�:�Ұ| ~�:��e�
�r|�K�`��ٕ�0�œ��{��5�N1�@;�0�.��O(w��_Y�LqӶ��cK���⦹��o� ��
+��P�M�_W"؎�H!�ƽR�C���4���Α�8 %�q^(|��>�+")\�F�B��ȣ�
��S�����������~ŘFa�,~6�u���dʰ�~Ȋ�}2��R�|�'��L
�Y4 R����t[x{��Z�`�j�c0��i�����(�
��Q�����i�%�y�M{q�G�MI0����+�X8^lGL(v��j��͹��� ��W��D�٘.5��¥8C�{�3�Kwҧ��hQr�0�K�خ׻A^u
�n�j"�ޚ\�0�6�te�<
��j�+#�ӄ
+�)H�(
�,(--��G��S���0�������I:�&/��q��_�Fy��f�*li/uK9ѦB8�
+Q�'S�1.S��?�D�J�l��U/4
+�
+�!c�L���	�n�2�8�0
(�S=��D�|
�J���ۻ�7
 �D� @�y�
+Ll��#XU��X
49�$�r��
<�
+,�i�EV�F
�(�ý�&6sL�6��gZ($CBU<��kTш����Dc����OD'<������*x	��Û���]�\���9�<a&n���S����}� ͫ$���/o~����~���1O�C���K�A 9��
�9x٬�y�}iս�<�Z"��H�v
_�$n#�oY���N��iGvpp&F�zay
�o����wJh���7^�����G���
��y�M��6C J0�� �%=E4��I4Z(fǍ�M^�0�ʋ?
��#?�� ���<�rƖXX�H��(�C�� �Ԁ�E!�Qt�
]�ێ��f���t�ܮ���-
{'\F1Tn��倏/6�ģ�
\!�$��Z#�i�Rz�RB��Y~on3��>g�Ÿ;���Հl�	"��BL�"����ۤh�%2��R�_;�XRS�
�K5�i�|�
�WQ?
�Tm�
��
R cj
�j�ز
�4�e@�4��  }jJ���K�� �J�`8�<�!`
+���݆�@U���h1!J+^�:~�Y�(��DK��Y]I)܀`���
T-\�r�Opoƪ�>���}C�1�5>�u3)��nλY7�\E�nEKz�vO�e�Ek9?��*��/
b��0Vl�~�!���ٙDޓ��^N��m��P�-3�_�o�|�W���W���[
Yǩ��I�y�V[A~����j��C��J'�y&Œ��G���A�	D at 5
�PHh
2M��e�x�����[8f��`}�ٌ��Gw��
�r�<Tm\>��� "�c���
��=>j��E�W"�6��3j
;l?���e
!�y]���s9Ԙg�CH�vK��B�p�1����H�/�\��X��rF{c�0�d;_�w/�`�A�;�
�$
+�A����m~}�NƗYx+f���w�d_�y�!1�N�cae$����� ��g�sS�n
+����vD���!H�	���;�
i��#�/�'@6ޛ �D��;>A��J��X{~��$6���!�0"���
m;�\�\�\kp1s�X��2Lj��ȿt�֚�]1�"�̃��O#׾Z�k�%\o��U�*���d�V�$ ���P
���� Ŋ��ūv�@���"On�PEդ��B��d��#F@n?���T�Iʠ
Ԣ�������m :x`X�1�/9°Ľ���1X5 q=�2Y
�
A�g���v6�<�I)�'ᢣ ��+ub�@�;K�ݴ�Q(���v��f_��7��oW��_�ܯ��
��Dk��1�?�K�)
QQ>R��C
��JL࠺��!uؕ@:��١�֥�ȟ�]>��˯Lo�
��%Ck5j�
q�/-��mZMH�P��.�ۑ,��F���%�����|�;�ӽJm�
�^����
���Nteh���kN�<������4�5<�k�iHo�
=o
,��nCЛfo><�S��{��ߛj��

no> ����7I=�krxo�jM�}���o���s δ��fb�)]�oz�'ۑ�d;����(��tn#�]҈�ۗ��B�nD�þ�ՍHzfqb�z}_^X��~k+
cdmN�74)ʆ��R�AЈ��$�$LT�-����f�����Ú9ocV����i-��4q׬��k>�(ƴ�������4H�8µ��я�eB7n��$u}E6b�΄`�SXU��U���M��
<`>BT���e��W�
��4��L�p�뇡�Ū�dOqR�mIPhpq�g��]�x��MY�
+endstream
+endobj
+12621 0 obj <<
+/Type /Page
+/Contents 12622 0 R
+/Resources 12620 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12482 0 R
+/Annots [ 12619 0 R ]
+>> endobj
+12619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12623 0 obj <<
+/D [12621 0 R /XYZ 89 770.89 null]
+>> endobj
+12624 0 obj <<
+/D [12621 0 R /XYZ 90 692.066 null]
+>> endobj
+12581 0 obj <<
+/D [12621 0 R /XYZ 90 633.088 null]
+>> endobj
+12625 0 obj <<
+/D [12621 0 R /XYZ 90 628.604 null]
+>> endobj
+12626 0 obj <<
+/D [12621 0 R /XYZ 90 557.873 null]
+>> endobj
+12582 0 obj <<
+/D [12621 0 R /XYZ 90 510.85 null]
+>> endobj
+12627 0 obj <<
+/D [12621 0 R /XYZ 90 506.367 null]
+>> endobj
+12628 0 obj <<
+/D [12621 0 R /XYZ 90 406.056 null]
+>> endobj
+12629 0 obj <<
+/D [12621 0 R /XYZ 90 340.013 null]
+>> endobj
+12583 0 obj <<
+/D [12621 0 R /XYZ 90 293.388 null]
+>> endobj
+12630 0 obj <<
+/D [12621 0 R /XYZ 90 288.905 null]
+>> endobj
+12631 0 obj <<
+/D [12621 0 R /XYZ 90 200.55 null]
+>> endobj
+12584 0 obj <<
+/D [12621 0 R /XYZ 90 145.612 null]
+>> endobj
+12632 0 obj <<
+/D [12621 0 R /XYZ 90 141.129 null]
+>> endobj
+12620 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F75 554 0 R /F117 2446 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12636 0 obj <<
+/Length 2363      
+/Filter /FlateDecode
+>>
+stream
+x��Zio����_A @"�v߇�عޝ�*k/��30h���P���v��>�l6MR�16'�|�լ��~]�^�8xp���뛳���Iep�
7HH���#����	���c�Ga�
+�c�GY��yx�!������bz9��Βmg��U6�..���7Y�)�0N��xB
]�vV��E���
E�,�[�3b��懳w7g��p�9&���luv�	s��C�3:�\6Z�28&���?�ps�w�H"�
�fi;�z��F���:N�Q
�^�U�m��:�ǫ(����l�i��m��2\W��t^Y��]e��r$�f�&�����3K��h��	D
�:�A!ܨ�.QG	������=�4�2���� C����a��UT�I"�M�^�ز���=�Ϻ3+���ᩕhwr�F��ED�	�Hcz�*�v�ЃB�\i�k� �1m\���.��bE$��/t�����P�v�-	X�%���
��M4wgE��6l����/?�'txT�HD^0��( ��!q5�E�+��f\��p�0���,[����ӗ�x<	c/s�cM�n�qU² <l!�VU�?��,�p
7
|��C�y��s�Z��*w]��)F�!�ٱ؏#0I��Zd>�b3m;@uʥ`�#P�"B+ZPD԰�l$��CF{zUC3e},���k�2����7(
�Q
+�&���/=!gJR��{�Apsߠ*`�p�OPɠ�Q0u0l�n���ZxcҊ�t�(0$[4
K���a��"Cx���l-
)O����՛��%AX�A��
a ���U��{|�
�@�� �1u�/f���'\�� D�A�ʼn'�H���iV�Y&w�em�Ū�HQs��!aҷ�ûFT�#po���7�:6���U�!�IV/�7e����Mn6}F�����ɫ@K��o=����}���׻7?}�~x��˛_{g���a�HeS4g�s��5=�q��i��*!M���$G�S��6��N�Y\|j��N���X �
+v�-)�E�
,�;��]g۪��"¾�x�5���B��&iӲm�:�
+���8m��,]h6m�`߬� �:9c;隯����3���nUr�G��5~�蟡j�Y���|�?�Œ}r˒
$j
��(��L��9�Ηy��7[^�
��7�6�
�^$pC�fd at l
n�a

+���?�����d�U6/t�iM������c�G`��!�r^`��V�j֔6��5��=��z�~��
+W��m6+�4,o�/F��Q�7-��T=�g��>e	b����0����c
��5�?Y�Ph�� .P���
ǵ
+U������c�ʺ��#�8Pf:HH 
e�jy��&I�dM�� ���^��Cb���pD�
�_��0�v��GbhP���}r,�R
�Evf���X�N
+a�@E��
�pm}�	�%��N��I1�QjDւ�OA��]=�_�0h�U[�\Zn���8��dR­���_P-)K1y��^�dt��
+[�6��U�ط��a�
HLU'
+-#v�nPT���>7�p�c��!�,�v�Y� �vg�d�o�cv�@���0�W�Ҍ2����UW��h�~Zh&��^&�@E"�
k�S|w��\
���w_f��V�#Z�UŸ@�ށ/�`���7�Y�_ƀ��l
8��I�^�dy�إ)��<
+G8�U"֌DZ�o����"N�
�~�x~Ř)�[�H
+�Têr�0
�[�;T�@�Juh���A���Ho�y6�b��\���
�$O�v�x"�OisO&��
Iw\�u#�+�Po�L�Ԓ��It��CE`�%�ܿ��$>l����m�~�g� "xg?`�b��E�{E���	-O?��ATQ�a��"�V
1�Ȓā.N�-�M��V.�H�2'T#Uہ�r���D�rX��\V������QG*�
��:�
��:��"�jD��V;���$�(mI�NW
Xq�¹���BKyL/�}߉�.�q�d���a��uëB�A�fv��v�������z�k	M at q��n����)��c5���C
�*g�����w��
��f?*�7�6Q���[.E����J�ݒ��שּׁ�z�W�o�2��6Y:�o�W%�O�>w��
��2��e�~
��Ӣ��ai)[���P4ຜ0�~�B�î��&�FE'eZ�;
�f�����΄`7��QS�
�W&�M�ϴ��,_=��s
+-e��竢���o�)$<�xM���/�(���o��a����V3���7uX	�V���A �#������ُg%֟\!�#�2*/�b}q~~�}�D������8@�z)�S��<_�S��*��|W�"lK���`���h٢y^>�/V7�/W,x�A��� �M�
+endstream
+endobj
+12635 0 obj <<
+/Type /Page
+/Contents 12636 0 R
+/Resources 12634 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12633 0 R ]
+>> endobj
+12633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12637 0 obj <<
+/D [12635 0 R /XYZ 89 770.89 null]
+>> endobj
+12638 0 obj <<
+/D [12635 0 R /XYZ 90 680.111 null]
+>> endobj
+12585 0 obj <<
+/D [12635 0 R /XYZ 90 633.088 null]
+>> endobj
+12639 0 obj <<
+/D [12635 0 R /XYZ 90 628.604 null]
+>> endobj
+12640 0 obj <<
+/D [12635 0 R /XYZ 90 516.339 null]
+>> endobj
+12641 0 obj <<
+/D [12635 0 R /XYZ 90 464.707 null]
+>> endobj
+12586 0 obj <<
+/D [12635 0 R /XYZ 90 440.174 null]
+>> endobj
+12642 0 obj <<
+/D [12635 0 R /XYZ 90 440.174 null]
+>> endobj
+12643 0 obj <<
+/D [12635 0 R /XYZ 90 357.597 null]
+>> endobj
+1902 0 obj <<
+/D [12635 0 R /XYZ 90 260.088 null]
+>> endobj
+406 0 obj <<
+/D [12635 0 R /XYZ 90 250.097 null]
+>> endobj
+12644 0 obj <<
+/D [12635 0 R /XYZ 90 167.235 null]
+>> endobj
+1903 0 obj <<
+/D [12635 0 R /XYZ 90 66.804 null]
+>> endobj
+12634 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12657 0 obj <<
+/Length 1817      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~��0�����E��`(�5m��M��{j
C�[�.�,'˿�!��%�N�ð��E
��w>2�Y:�y;�u6:{0G"�Sߙ�:;�'��-r>����/�w�"҇Uf�������ٵ�6z=}
��
bpg��>}�N��
���:
e�8ף?F��#�����4Y� �9�U�WB�
+#_��1
O]��"
��!�GB��ayL+���4 >F^�;jL]F�y�2~X��P�b��i4���Clv5x�a�N�����2�����<��(p����Lo}����^�$u��l���J�`��
�;�T�/�8�e����Qq��p��g�'�*]'a��ȕ�u��*T�P�mu.����NQL�`( <xHpfE�V����xQm��"w	�ő�Fʕ�E�&�r�G��6/z�/�B-�����";�ig��
i�*��		�O=��q�H���3!L�L��~8:� POX��Z
�a
	��^����P�#ԙ0\Y):��@ �xa��A�7���o��q֦�">�0�BZٟ)彵��eUWoGΧ	���nV�w��Ϙc�Gh"�#@�3�A����D�P��6��� ��6�� 
t<�jq
�=`XeƝK�8���ۀ�U�jS�&�!s/���Ed�Q'$�G���bV'x�M��.\Eة�|
i e>�K���l�v���M��
۴�l�����S�
$0T�u�W��P�
�1&u�锘i��T��B�a����X�Y�zO��&]vq��1t �H��Х|X�,L+4n��7L6"�G��6p`��N��
�
T�]�A�:�*)�B��V*AE"���=�,0���
+0�xخ�r&48���ٵ�����L
�
HeL�0
+ݰe�/��
�k at 2�g�{��[��hg�Y͌&�-,�
�nLy�P���:N����=0E+r�I�����$Ƀ95���$Z�m[�o밀R.������Yҫ��HA=�zg�Q�8�؉!}���Ey
�,�SXy�|��!h����*C��6UY~#�V��>��N���e��4{������A��쿭ŗ�U�zƝF܊��N�D(�y�x� �|j�Lbarnq�`����/�;�	�y�=��hr̻��k�^�j�
�x
d������8Y>1�����bv�
MA܉�}dyQ��VY�(nܦ9�@@}�Z

<$�S����4MՂ�m�X�>�
��i�Gpp�K��H�!9w���D40��)���=8�x^s

+�h@
xP�6�n��d��t�.^f9�V����
�����]��w���75W�,U�]���U�i�y��I������l�VD�D�wCs&�[�<tti��C �s���RH�� �&�O�	ҹD�8�M�$,�ƫ�S�P_uT�𻏋2���2��d��a at h�D����r�
+�j��J8�Ч_	͆� ��
(���.�K�5�m�j������j��)��~��M?"�����e�"�� E�1��\��߄5���.*RU���H�x٧����UlN�+�����^qT"4���Iy�;��ˎ����˰�.}�7��I�=�w��HE������n~��?q���\�����U��Oc�H�R_�a�q}"��61k�X��Q����
������ucg!p4nq�+�&�ꏻ��c��8�-e�E�Zq�7iH��i�@���M�A�N�ۇ?7��Q���'�l[��ԝ�f�D
� ��h!w���תN
��_�ڿ�
R������_������f�ܨl��2���],%�@�
�I�e0�Ƴ� >dc�
+endstream
+endobj
+12656 0 obj <<
+/Type /Page
+/Contents 12657 0 R
+/Resources 12655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12646 0 R 12647 0 R 12648 0 R 12649 0 R 12650 0 R 12651 0 R 12652 0 R 12654 0 R ]
+>> endobj
+12646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 606.851 174.015 617.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4) >>
+>> endobj
+12647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 576.342 197.875 587.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) >>
+>> endobj
+12648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 546.581 181.763 557.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) >>
+>> endobj
+12649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.418 428.1 391.839 439.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+12650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.857 122.365 243.473 133.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) >>
+>> endobj
+12651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 92.23 155.464 103.134]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+12652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 92.23 221.894 103.134]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) >>
+>> endobj
+12654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12658 0 obj <<
+/D [12656 0 R /XYZ 89 770.89 null]
+>> endobj
+410 0 obj <<
+/D [12656 0 R /XYZ 90 721.073 null]
+>> endobj
+12659 0 obj <<
+/D [12656 0 R /XYZ 90 626.591 null]
+>> endobj
+12660 0 obj <<
+/D [12656 0 R /XYZ 90 626.591 null]
+>> endobj
+12661 0 obj <<
+/D [12656 0 R /XYZ 90 564.587 null]
+>> endobj
+12662 0 obj <<
+/D [12656 0 R /XYZ 90 516.1 null]
+>> endobj
+12663 0 obj <<
+/D [12656 0 R /XYZ 90 464.404 null]
+>> endobj
+12664 0 obj <<
+/D [12656 0 R /XYZ 90 402.108 null]
+>> endobj
+12665 0 obj <<
+/D [12656 0 R /XYZ 90 377.171 null]
+>> endobj
+12666 0 obj <<
+/D [12656 0 R /XYZ 90 377.171 null]
+>> endobj
+771 0 obj <<
+/D [12656 0 R /XYZ 90 252.458 null]
+>> endobj
+414 0 obj <<
+/D [12656 0 R /XYZ 90 244.458 null]
+>> endobj
+12667 0 obj <<
+/D [12656 0 R /XYZ 90 140.481 null]
+>> endobj
+12668 0 obj <<
+/D [12656 0 R /XYZ 90 140.481 null]
+>> endobj
+12669 0 obj <<
+/D [12656 0 R /XYZ 90 110.61 null]
+>> endobj
+12655 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F22 2996 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12723 0 obj <<
+/Length 2232      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�H��_�'����3�J�j�8[�M6�ȹ��dK���/
Ȏ��_3 !#�
�I�}H$�������
�13��������[�
��r���p�!,�
���M����!����M/�����b3Y���4����I�e���~�͒�[�Gs/
��z���
񔺈s/��TK��U-�i��"��j�O�$�^xy>R�0��A�.�"P�|
n�l@
3�}����6�+�̓˛��O��Qf��p
?:��'6���F�u��rQdX�������k
�*��*?��AV�ބ �`���r2�"�A?��h
+���.c��8/����ϳ�|S,��b�7�+]%�
�v�^����ޕ�
����n6���X����r?
��e�nːW�`�?��ꃖ�5]f8�&�T8 nQcH,�XB���,,�"���7�b�6�
���s?�2��!��m�B/VB
���R_�f���<�
OZX]Kn�@�lt
d����`����N����y�j� �ԒP�Z[�
RF��؉"�����ҮI^d�)������-��S�}\+z����,q\$ 
���4
��0��4%����Z�p�(FdHpR/j�Q�
��y��ā߸���A��5kC�0�C��˖'��غJ�7,�no�;&I���E�M;�
�@�����%�̉y�
,�L�V�3D,�
jAY� �5��A
���<�E���.�`�~��:��������yѩ�
z��2Ы�^<U��A+@�ȥ�d�8E&�
�\[Wy���R�)D�b5�m��!#���,��
'�&l�l�Edx�"'_�~���ŋ֍8��ޭ��[E����+�Av�Jb�~*�=�i��SDI����q�R���.U�
+����0
OV��=mƭ�����&���-�UN�U��Jy}���iX���-�C�Z���Ƕ!Ë��nu_� �'?޳�{�g���:
L
����P�K��*|�8
ݵo���L���>
N�bP�Q=f�=s[s�����jh���h��j$�!�
+�5�|--�-} ?�
M��<��T\����K��c
Xo��.�4[r
��n0l:�	�t����{ȁ3<L��܌�Ѹ^���/v��lZ��YK��/�4R�b����n�>�~��ˏ��\>� H�n��V��#|!l	���a\,�Ŵ�^�T�qx'�!�pt�&��
�����hG����!xi�f�����ڜ{��ęb3�G
ʝ246Q�JEI���͎Р���t��IX��j�@��
���#D~�������]>����\��q�@�Q����^US�$]m$P
x�b��e;�[�$�+���Mj�Uҫ&we��k���e�[Cņ$��uu�Џ�HG����5I�i�K��(, ȴ	�}�d�^ai9���&���ȡ�C�4g��n�>��Y�-�ƬEԕ~?$`� a

	�!qA9Ҵ�D˱A�Ȟk,�
��w�L��J.�{O!H�Nug�5�Z�Q͒Ot<i����9=��H8l�
�]5��ưL�
��x���m�N�����Aq�r�����ti7��dz�qז�l�Y�y�6Z&�P�
q)���!�4˖�X��M�g���%�i~�
+�
��E��$���G ���@a����܁��SOpf�p��€@;J��W
��rٵ>�L�"�4�w<F�q@)�
���f���]�`J��ʋqk�P
�C���7��?��˫� ^0���E�l[
��3]�l�>�g2�+=����k'�$6r�ny�Og��zp�m�]�b
�-봉����$��E@�G@����@�q�����h
��d�,�Y\�N0�����Y8m��p��>��ÿ%ixL�}�5����W�u
A��9�O���n}\�wD͋7�р�����Չ���(r�}�7[���o���z"N'���V�A���'�ܭQ�Ӷ�}���7�ږ1��,������U�p��rg-Vg-
�v�ME��D`Pk�n�q`y�\��߶��`
�Уq*-#Z��]�5I��^�W�5ٞ`�X��+‰B
+z`��T��+�!v��A��D���|s��[�����~���M��/C��=�ƛ;ذ�Xg+��������?��
��xY
u�
�I�Y^�Рa�Z��Δ�շ���݈

��t:/����l���A<C~=���>$۫C�:1���>��լU��Vv�1A
"C[���	Z"-Wl~//V7�ή"f�I����M�{��6
+endstream
+endobj
+12722 0 obj <<
+/Type /Page
+/Contents 12723 0 R
+/Resources 12721 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12653 0 R 12670 0 R 12671 0 R 12672 0 R 12673 0 R 12674 0 R 12675 0 R 12676 0 R 12677 0 R 12678 0 R 12679 0 R 12680 0 R 12681 0 R 12682 0 R 12732 0 R 12683 0 R 12684 0 R 12685 0 R 12686 0 R 12733 0 R 12687 0 R 12688 0 R 12689 0 R 12690 0 R 12734 0 R 12691 0 R 12692 0 R 12693 0 R 12694 0 R 12695 0 R 12696 0 R 12697 0 R 12698 0 R 12699 0 R 12700 0 R 12735 0 R 12701 0 R 12702 0 R 12703 0 R 12704 0 R 12705 0 R 12736 0 R 12706 0 R 12707 0 R 12708 0 R 12709 0 R 12710 0 R 12711 0 R 12 [...]
+>> endobj
+12653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 685.388 181.845 696.292]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf) >>
+>> endobj
+12670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.685 181.845 668.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
+>> endobj
+12671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 629.982 154.727 640.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) >>
+>> endobj
+12672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 602.653 176.505 613.183]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b) >>
+>> endobj
+12673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 587.755 450.955 597.66]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133) >>
+>> endobj
+12674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 563.617 191.718 574.521]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+12675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 563.617 288.852 574.521]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120) >>
+>> endobj
+12676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 535.914 191.718 546.818]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+12677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 535.914 303.079 546.818]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc) >>
+>> endobj
+12678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.635 508.585 188.679 519.115]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430) >>
+>> endobj
+12679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 444.628 197.363 455.532]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) >>
+>> endobj
+12680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.429 444.628 268.072 455.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.049 444.628 440.438 455.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+12682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.518 444.628 513.996 455.532]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+12732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 433.046 133.174 443.577]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+12683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 408.955 197.363 419.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a940509da64dedf971ad0e8c07fa75bc6) >>
+>> endobj
+12684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.051 408.955 297.319 419.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.277 408.955 390.744 419.859]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.718 408.955 513.996 419.859]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 397.373 150.878 407.903]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 361.326 197.363 372.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaccc951498a59150e2297e6a9a3843a9) >>
+>> endobj
+12688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.647 361.326 296.915 372.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.05 361.326 417.516 372.23]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.288 361.326 513.996 372.23]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 349.745 177.448 360.275]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 325.653 197.363 336.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) >>
+>> endobj
+12692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 325.653 302.527 336.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 301.935 197.363 312.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) >>
+>> endobj
+12694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 301.935 309.153 312.839]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.217 197.363 289.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356) >>
+>> endobj
+12696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 278.217 300.844 289.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+12697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.499 197.363 265.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) >>
+>> endobj
+12698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.855 254.499 273.785 265.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+12699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.278 254.499 373.744 265.403]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 254.499 513.996 265.403]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.918 134.28 253.448]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 206.871 197.363 217.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af01e11ba0928481fccc99a0c1cace0d9) >>
+>> endobj
+12702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.363 206.871 242.963 217.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+12703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.041 206.871 283.768 217.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.709 206.871 397.175 217.775]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.805 206.871 513.996 217.775]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 195.289 156.965 205.82]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 171.198 197.363 182.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) >>
+>> endobj
+12707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.7 171.198 244.954 182.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+12708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.234 171.198 349.7 182.102]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.499 171.198 493.251 182.102]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 135.525 197.363 146.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9ff9fc541a420e15ea669068b9c9cc69) >>
+>> endobj
+12711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.925 135.525 270.085 146.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+12712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.428 135.525 396.894 146.428]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+12713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.805 135.525 513.996 146.428]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 123.943 156.965 134.473]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+12714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.851 197.363 110.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.103 99.851 248.909 110.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) >>
+>> endobj
+12716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.246 99.851 348.515 110.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 180.198 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1f116cd62c9c54702aeafb564bf8e400) >>
+>> endobj
+12718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 74.333 256.282 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12724 0 obj <<
+/D [12722 0 R /XYZ 89 770.89 null]
+>> endobj
+12725 0 obj <<
+/D [12722 0 R /XYZ 90 704.286 null]
+>> endobj
+12726 0 obj <<
+/D [12722 0 R /XYZ 90 704.286 null]
+>> endobj
+12727 0 obj <<
+/D [12722 0 R /XYZ 90 674.849 null]
+>> endobj
+12728 0 obj <<
+/D [12722 0 R /XYZ 90 647.146 null]
+>> endobj
+12729 0 obj <<
+/D [12722 0 R /XYZ 90 619.443 null]
+>> endobj
+12730 0 obj <<
+/D [12722 0 R /XYZ 90 580.781 null]
+>> endobj
+12731 0 obj <<
+/D [12722 0 R /XYZ 90 553.078 null]
+>> endobj
+12738 0 obj <<
+/D [12722 0 R /XYZ 90 115.022 null]
+>> endobj
+12739 0 obj <<
+/D [12722 0 R /XYZ 90 89.504 null]
+>> endobj
+12721 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12807 0 obj <<
+/Length 2039      
+/Filter /FlateDecode
+>>
+stream
+x��[[w�6~ׯ�S*��@����ҳ�$Mc�/i�E�2wER!)����BJ���#V���I��`�o3C��f��}?�����-��D2$�w}�I��D,�S��J1�����aB/s�Տ��|����o�_
�
�0ą��Ͽ��n���F��M��
�߹w5�i�;Y��l�zd
-|D�c�0��\�G�RKq�6m	C���Wߧ�
��F� �>�U���5)����nt�T��
��a
W���Y�u-�����!*��htAa�_}�w�E -澵�c�R���i�8��P����4
+����c���4IUV&yv�dq�.�*����!��aC�bX����
,�	�8p
&��zY�3G�Oz
l�#P���h��͹8��m~,�h>����5���,KC�@��:Z
+
+Q �\`j�efx�ʪX�U^�0ƀw�0-S��!�%�`~�Gaz�҉*���.��M��ouU��un?����|�ܬ�f�}���,%` F�


����W��i:�h��E�q�s/"�_
j������'U-�����
�f���2x�嵗*��y�d�K��B؏-cİ\;�}vE(G��G��	 F7#��Iv
�6�V��Fk�#L��w賥�V��
C��/{sǍ'M
�T��V�t���I��N�*F��	k�
,
��� $�\�`�Ĺ�K}��@8��2��fS%Y5�Z��J�#o�t+��ضg)��-�ce������
�;�
�ʳ��G���4ɒ4�CM�O�]4j��+�"@��D��$9vӠ
��� 9+���ǚ��V�sӏv㥧T_��<�V��9mWtK
b��d����rv�
8���P�l��rf@偕#��{
��� �Y�p��04o#
-:&� О�)�V�	��}�H�*����Z[<0 �؝RЖ�$�.�ʜ����
e�M�
u|���|��U�]w�m�c;�8"'|�:��q�;�ֶ�ہ+��p �
�N�'��=-�A���
�<X(���#{�҇\
fs!N���I\�W�g==�j0F�z{h&�F
���P�TB%%��s
��y�̧��S?5�Ȧ�u*m�=�xy,;�vF`spH��?�yTm��;�R��c;|=��IY'��)�N����Bܳ�|>թ�+<W�Je]�
�J��[��ō��k��#
+W��x��
+	¦*��C�����n6�N�ӷ��

m�����k&�:&м���4�Г��z*.�̪�t��J�g�4ӕc�$㛜�
���f�ى�	#�}E�<�z����T�S�P���ZE�@��@�ˆy}�S:(.�D���4TE��=���V�N�aCҪ
�+�W�BU�x���Q�}�gOJ��I�̦j����6Y��̱��<�%q4�%�y^>���V�漗խS�U�-
.'���>+rn3��gc�O��3U������:����E6�_�UTVk��їQ{P�
+�#*G-�
h`K9;��;�1gע"�􉾎�w:ċ���
+�'Z̹���<�8��g��A�{H�AH��`�?��}�hf�+Mm{
Mr�n某׿�E����B��*�0~
�|��S���w�V�qS�6��1��ހ��Pt�sB!G���
+Nl���	�7 �F�� ��x
+���;>��0�~7G]�{S,�!�
� �t��p:�x�g@_�9�'�a�g,��q�w$v�HҎ4}92=j����:v���./����W�
��16C	=l32-����
\8�����R �Y_�}6�(�9�u����U�%����v̲�^��a�z���C+a2u1E����>��C�8����I�-��
j��¢}�)��j��<�ra�+@;��E�e�#6Q[�XVj����6��9p��o�6:�se�|�e�R��p��<�����N��:����]�x�͗Ra녶�( O���\�������T�w#ƆN�li�ɹm�.�6�@`d�B��ҕ��������џ���
� ����۪Z���r���*��x�P��b�D��h�M�F�y��4p35�a
��'��F�
+endstream
+endobj
+12806 0 obj <<
+/Type /Page
+/Contents 12807 0 R
+/Resources 12805 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12719 0 R 12751 0 R 12752 0 R 12753 0 R 12754 0 R 12755 0 R 12756 0 R 12757 0 R 12758 0 R 12759 0 R 12760 0 R 12761 0 R 12762 0 R 12763 0 R 12764 0 R 12765 0 R 12766 0 R 12767 0 R 12768 0 R 12769 0 R 12770 0 R 12771 0 R 12772 0 R 12773 0 R 12774 0 R 12775 0 R 12776 0 R 12777 0 R 12778 0 R 12779 0 R 12780 0 R 12781 0 R 12782 0 R 12783 0 R 12784 0 R 12785 0 R 12786 0 R 12787 0 R 12788 0 R 12789 0 R 12790 0 R 12791 0 R 12792 0 R 12793 0 R 12794 0 R 12804 0 R ]
+>> endobj
+12719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.343 205.112 707.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) >>
+>> endobj
+12751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 635.762 190.738 646.666]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 635.762 261.85 646.666]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) >>
+>> endobj
+12753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 610.541 190.738 621.445]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+12754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 610.541 262.159 621.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) >>
+>> endobj
+12755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 597.258 390.082 607.163]
+/A << /S /GoTo /D (index_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+12756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 585.32 202.922 596.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 585.32 248.58 596.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) >>
+>> endobj
+12758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 560.099 202.922 571.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 560.099 296.181 571.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77) >>
+>> endobj
+12760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 534.878 209.547 545.782]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 534.878 261.831 545.782]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) >>
+>> endobj
+12762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 509.658 209.547 520.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 509.658 309.432 520.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b) >>
+>> endobj
+12764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 473.478 180.496 484.382]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) >>
+>> endobj
+12765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 473.478 280.102 484.382]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 449.908 213.153 460.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a) >>
+>> endobj
+12767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 449.908 312.759 460.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 426.339 213.163 437.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2) >>
+>> endobj
+12769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 426.339 312.769 437.243]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 402.77 205.692 413.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+12771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 402.77 261.312 413.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) >>
+>> endobj
+12772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 402.77 332.156 413.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+12773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 379.2 205.692 390.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+12774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 379.2 261.312 390.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8) >>
+>> endobj
+12775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 379.2 338.781 390.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+12776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 355.631 205.682 366.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+12777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 355.631 261.302 366.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586) >>
+>> endobj
+12778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 355.631 330.462 366.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 332.062 183.824 342.966]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) >>
+>> endobj
+12780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 307.214 192.272 317.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) >>
+>> endobj
+12781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 281.993 189.901 292.524]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) >>
+>> endobj
+12782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 256.773 193.229 267.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) >>
+>> endobj
+12783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 231.178 241.935 242.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5) >>
+>> endobj
+12784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 205.957 238.459 216.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) >>
+>> endobj
+12785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 181.11 187.689 191.64]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) >>
+>> endobj
+12786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 181.11 226.693 191.64]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 157.167 228.895 168.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) >>
+>> endobj
+12788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 157.167 333.482 168.071]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 133.598 229.503 144.501]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) >>
+>> endobj
+12790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 133.598 334.089 144.501]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 110.028 187.264 120.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb) >>
+>> endobj
+12792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 110.028 293.213 120.932]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 110.028 371.148 120.932]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 110.028 455.727 120.932]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12808 0 obj <<
+/D [12806 0 R /XYZ 89 770.89 null]
+>> endobj
+12809 0 obj <<
+/D [12806 0 R /XYZ 90 711.44 null]
+>> endobj
+12810 0 obj <<
+/D [12806 0 R /XYZ 90 650.67 null]
+>> endobj
+12811 0 obj <<
+/D [12806 0 R /XYZ 90 625.638 null]
+>> endobj
+12812 0 obj <<
+/D [12806 0 R /XYZ 90 600.417 null]
+>> endobj
+12813 0 obj <<
+/D [12806 0 R /XYZ 90 575.196 null]
+>> endobj
+12814 0 obj <<
+/D [12806 0 R /XYZ 90 549.975 null]
+>> endobj
+12815 0 obj <<
+/D [12806 0 R /XYZ 90 524.754 null]
+>> endobj
+12816 0 obj <<
+/D [12806 0 R /XYZ 90 347.158 null]
+>> endobj
+12817 0 obj <<
+/D [12806 0 R /XYZ 90 321.937 null]
+>> endobj
+12818 0 obj <<
+/D [12806 0 R /XYZ 90 296.717 null]
+>> endobj
+12819 0 obj <<
+/D [12806 0 R /XYZ 90 271.496 null]
+>> endobj
+12820 0 obj <<
+/D [12806 0 R /XYZ 90 246.275 null]
+>> endobj
+12821 0 obj <<
+/D [12806 0 R /XYZ 90 221.054 null]
+>> endobj
+12805 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F24 529 0 R /F66 3179 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12886 0 obj <<
+/Length 2674      
+/Filter /FlateDecode
+>>
+stream
+x��[�s�6~�_�'5��A�@�3wi�I�Ns�{/I�CK�ĩH:$�D��o�)A��n��Ch
+\,�~�
,�h1£�/�u}q�2d#�d@���|$�(�%��5��F!
O��{3&؋�$�y3���V��������6�����?O�h������2�S�_��zIHK<�A���C:��ԯ\;dHD�|sL‹UT�	��I��n���y��*�t
+��d�cRj��]_|�  ��5
G�M������
n�0ˆI1�d%#�2�5zw��
\Y�-
ඖ$D<�����(�f�����	��f٪�����Zo�/�D��$�]�>͈�>`��YZ��"^ǩ���>��(�,ݗ%�K5&܃!c{�z��{����r��i���)�X�ݤ���I�J�=�'j���1���%��ʗ�X�gR
��U�������
�*�(j۶��W/%
d�f�}D �BQȫ%��u�5�qk8xH��e��<�#�2$}Q��RH�(�ً,]m��d�kl���a�L`^�R�Gn�(�qq\��N�f�� �+7[�
�aҨ�4Ć�r��ә��x��^�T��f���Ç؋S�$C�g1A��z�3=g��4�|Z�S�<K�K at i˫����>2�����eu���,
�{�>Z���:�
��]�����T�9��.
b�0 � +-��*N��٢j��!��u�f��;�7������ am�2 {�n�l���
��2�O� ��.�t�ˀ%Q+I3�~�ɀÀ�X��i8��!
ƺ
��9
�0�X�]����A�A
�7�A���*���_�G�/��_�Q��S
Yw��IlAQ��d�d��d��K�+�|�M5�T��4� ,ؐ4鱲$"C�
�
�G���c����
+�1�͞��pjQ
�.����X
g.#po�_3�&jvT��P&ul�}�zH���X<�q[���7*��0��
F���z
\T�
+W�Oe�q�O���>Džv���4���FXGv�'���f7	�9�#aٸp����R%*
,��Lۺ�����4�2N����Qi���2��u��ˍk����Xx�VT���c<	0>`
 !��g
�
x
�����
̚i
 �&d�a^,�T#鷚r��V{aB�}��QZb�e�
턻ܼU���8a@
�
1Y�ջ�h�&�ƉJ
1�o�fc�7
A�8]��?�����tZ�E�vT���Mu����f�
{��V��sЖ�|�wa��Fo<�_�h6�1��G�����À}B.�+� ��9�s6+:I�4�����[ �Z��뉲�#2ux���m���fΦ(U�7k��Li �!��D �!=v��
QZQ�# �8
tn�Y#;T�B͂:�N���!|(
�E��V<V�I�C�
=a��d��p�����t�A���E�CP�*	� ;Gbt
+r8G4��F��"_���?D;=B.��3�M�XHϙ�gڍ�V��3�{��ƐX���=|um�*�i��t�¯]�a��)��ǃEq\���\l��p��	��8�b�-�8I. at P�
%�0'
;�
�Lo�yD�ЯH����<L�|���\"U|�K��R"�-�.�ln�5 iɠ��5�)y�	K�>�L�����Q���g6Ð֓JH���$ƝJ�T��p�Η�U��:��
+"�b+����B��H0��K�\H񃧠�/7S������ ?<����_��!B�����B$CpX��b��j%�a�$��q4��S�43w$��&
.7w*���ү�R��aޫt�9&$�
��4�χ���i�8�M��
oZ���y�'7p�:��t��A��Z|u>�R������C���%
��:�#�u��웋���h��^�C_�'�W:�f
���"Zkf
t.
���w�mVj^>�?;�^'�`=Mx��1��
+�F��[��E�Ƽ�
�y�ec��6�_��bY��	�
�m@�N�9Oq�EC��[�{��	���n
!N�0?O{���h��ua��o���oc�&�0�C0�v�J`�f]5�]�

=>`�D�pă�i��g<���!! h��4��ߕ��:=<h�$'�	��<��$�a����[�~����Aï���"5�
+�=�Ѥ�C�&�]}M��р��E,x@���;'ٝ	-�M��Ј�O7�!���-��[Tg)T�m�}I}f�!�]�jUl��q��ۊB��oҊB��Bt?
+QW"G���H�+��^
j��~
��D{b�&:� �*·��Ļ:�t���CϜM�]=�D�
�v���{:���ۮ۬x�ĺ�3p��wjێ&{��
+�-J
�0j�c��1p�� ��:���?cB��{�nW΍M�#�)�_���B����|�����:���L��]0ʽ�|ũ<�_�m�C�U�r9 PY�Of�/t����ެ�rs�
+#"ZM���s��4��^T�"����Q����z��i�8�{�n��X��
 ��~.\
�rw<���ˊn�kG�浽��P��Ɯ{E�
�������AU�m>$��Z"0D�w���U��Q}���o�c�N�ɲ,�_]ݮ�Jh�%�
�z�p��G�L��M;��)
�Q��umG%k��`̏P
��4���ֵ��~��q�*a�o30�����ʕZ!
+endstream
+endobj
+12885 0 obj <<
+/Type /Page
+/Contents 12886 0 R
+/Resources 12884 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12795 0 R 12796 0 R 12797 0 R 12798 0 R 12799 0 R 12800 0 R 12801 0 R 12802 0 R 12803 0 R 12832 0 R 12833 0 R 12834 0 R 12835 0 R 12836 0 R 12837 0 R 12838 0 R 12839 0 R 12840 0 R 12841 0 R 12888 0 R 12842 0 R 12843 0 R 12844 0 R 12845 0 R 12846 0 R 12847 0 R 12848 0 R 12849 0 R 12850 0 R 12851 0 R 12852 0 R 12853 0 R 12854 0 R 12855 0 R 12856 0 R 12857 0 R 12858 0 R 12859 0 R 12860 0 R 12861 0 R 12862 0 R 12863 0 R 12864 0 R 12865 0 R 12866 0 R 12867 0 R 12868 0 R 12869 0 R 12 [...]
+>> endobj
+12795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 707.957 187.264 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) >>
+>> endobj
+12796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 707.957 293.213 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 707.957 371.148 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 707.957 455.727 718.861]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 696.002 220.058 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 661.533 186.348 672.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807) >>
+>> endobj
+12801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 661.533 293.772 672.436]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 661.533 373.367 672.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 661.533 456.837 672.436]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 615.108 186.348 626.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) >>
+>> endobj
+12833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 615.108 293.772 626.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 615.108 373.367 626.012]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 615.108 456.837 626.012]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 603.153 218.404 614.057]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+12837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 568.683 187.446 579.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04) >>
+>> endobj
+12838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 568.683 292.979 579.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 568.683 370.447 579.587]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 568.683 456.762 579.587]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 568.683 513.996 579.587]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 557.102 159.485 567.632]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 557.102 240.62 567.632]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+12843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 522.633 161.677 533.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61) >>
+>> endobj
+12844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 462.375 205.752 472.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81) >>
+>> endobj
+12845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 462.375 276.595 472.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+12846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 438.491 209.627 449.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835) >>
+>> endobj
+12847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 438.491 314.791 449.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 414.981 248.202 425.885]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) >>
+>> endobj
+12849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 414.981 329.845 425.885]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 391.47 212.377 402.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) >>
+>> endobj
+12851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 391.47 289.846 402.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+12852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 367.96 216.252 378.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) >>
+>> endobj
+12853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 367.96 328.042 378.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 344.45 254.827 355.353]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) >>
+>> endobj
+12855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 344.45 343.096 355.353]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 321.313 236.745 331.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907) >>
+>> endobj
+12857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 321.313 307.588 331.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+12858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 297.429 243.37 308.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) >>
+>> endobj
+12859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 297.429 320.839 308.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+12860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 273.918 240.62 284.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849) >>
+>> endobj
+12861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 273.918 345.785 284.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+12862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 250.408 247.246 261.312]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212) >>
+>> endobj
+12863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 250.408 359.035 261.312]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+12864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.173 214.942 290.391 225.846]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab88fa5dbd9a213a4826f1c766d547b55) >>
+>> endobj
+12865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.876 214.942 374.291 225.846]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.612 214.942 416.339 225.846]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.628 202.987 229.044 213.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.291 202.987 270.018 213.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.505 156.562 339.621 167.466]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1910bb42882fe059a2ed18f5bad0a501) >>
+>> endobj
+12870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.769 156.562 420.184 167.466]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.836 156.562 460.563 167.466]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.133 144.607 274.549 155.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.978 144.607 315.705 155.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.256 144.607 513.996 155.511]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+12875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 98.556 193.577 109.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) >>
+>> endobj
+12876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 98.556 232.581 109.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 85.754 248.845 95.66]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+12883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12887 0 obj <<
+/D [12885 0 R /XYZ 89 770.89 null]
+>> endobj
+12889 0 obj <<
+/D [12885 0 R /XYZ 90 539.021 null]
+>> endobj
+12884 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F39 2320 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+12979 0 obj <<
+/Length 3246      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�~���ө4��N �̴i�9i���ۗ$��e��T�Qv�����xo��ħ���	����.@����N>������O"1��j�'7����HZ�4|��|3��ξ��l"�!�jx�]���/n>����]}|s���[t�|�Df��^}�
�����&�k&?�Fۉ��o&�W���AZ�IӒL�ED�c�1/���+7x��䛹�t�4�t�[߅{(��>���k��>��]�
�:�w������ݽ�k��Ƈu|�I��url��
���U��J����O��PWKT�s�%��'�Fa�w���1�fs.����tH
�ϛuzwXK)_����\Ma��^��6��q���BC·b���I���
֙oTUD
�m~X�􇙈�I�O�Ǡ�n��A�܅,	w at Ba/ý��6I3�(k�)A�b��O0�M�1���}�
�i�e��t��W�x2��փ��&��AA�S�|*
��(3Y�T��,s�ƽ�L��,��
2X-�􅟥
����1�ߥ�fq��F�y��U��$̺���G2�H��Q2+&l�Ўݤ���ަ5>H��E���]�{mO���QD�avƩ&
,lDK{����v��޽fC3��вm���0��� �C
��,
!��"��� �S����,D�nCe�!�G�+�
X���fD,Uv[��n�y��.֫E2cj�c�<�f�}����`
+Vx]�5����h���:�H�d�hB#�e � ���3���iX�ꂊ���U���K���^k9�L9
+&���E�
�I���xr|<�BN_9���B���%M���$R�JgV�&k
֞
�he�n�S
��d���0���݃���NN(��N��^ ����
�b�L!��3�j
eG��FrM�E��*%�]SQ6���u���ϼ��k��itME����Y�)W��#���� ,��y�_ۜU@*�N��s9��
�����+�yW�!I��o9���ar;���>�d����L�|�
���r���2�"s��ھ�i����X1%[o����y���.p�}9�Wfk[ SX�
��4%��
d�&�q�E����
ת0�
e)��`�MQ�XV�KY]�K���5���R��sT���%ķw�Fߐ`�b �+U����B�aD0Y
2 i
8�ky�H����L��@n��Df�4v��#M�m|�5�
+����jY���P�Eʅ�?ʧ=Ό}�N�������!ɲ��Fo<v��}�KNJ-�Iz\`���}��uqHB�t
�I#E`�zaF�t�]��qw�c�����Һ�n�p��CW-eʵ�Nd�bi��r�l]#�&v1�[��L�RǬ�+�
�S]J��)p$���Ӑ���c
�m��ށ%~y*��lLU���0:̔'��w��+���Ӷ����x����ҁ�˧���s��F�X&��(4��M 
�8\Ʉ�#�SrOE�F��G�����a��-����
+����$�<>�4��~�(��j�x��v
D��"���i���� ��J��Ȧ
+ȫ�aۆ��2T6g�l�Q���	�.W[0ȝ�Y  !L��J4t\�;��br���5$z���k����,��3*Բ��5�2eŊ���Y��F�٬��>��@
U
��hF~	��F"i��a��ϐ���}��/�a���
�h�hڨz�9sV�
x�EU�%
XB����0�})�Њ*�W�Ա³0�.���_ �)��f�$3-����ͤ�p=ZCh[E= |���
/�<,�U1O�^��1{�(6�3Q컏���hAQ}��ҳ,���x#$�z�(K(M͇�J�N@�vͼ>F��z@r��- 	�� 	�t��#{y)�
+H���x)=��K/��9�O��o��I���67���+�Q3ӯ��+	-�����M�,�d�=o?�{w}8�)��,�����*t<K�Y{�n�X��UH��
+vp�ޤ!T���%>��R�C9
b��`B/|�53���@���ľ|�4[9��J9~��uYdJ�(ғ����9xJ>Q����s��A

0H�\F�E��`�hEf,bӷ!�4�
�B�2r22i�* VOw2��i&�k�p�NxF�8�	���C��Pge�SO�O�!�	�~�P����=�
®G�<@�'
+z^��J���l�T-��{|
+!ƃ����rw�Cy9/���@� DO>8<�‚v�e ��1<@�4<B�a�!B����y�:℀D�'N`/�8��;E+��`��r�}��C6g�m�w�
G`O�-G���x��)�O����V�]�|��y7������7j����2��@�Y`�|�q62>@V�-n�갔pq�

�f�I��fϒ#J����t�#�S�ɯ
�|<<�]�3�=K!�A�A���/`��x�6 
�c��P/xa�7��E�羬��BAh>���
��3$����z�B�����
�mEr��N}(cjP.�P.�W;X�
���o]��SǛ����R3b0�QxShs{R�h�	+��N
+ll�8P���Dh�5$�L_D���T��-d������dX���eC,���蒬�t�b�zJ��B��PejZS"?q
B&�!8P ����M�œD
	Jf��1OL�Vt���c��`h���cgEQg����E����ekQ�ѱ�cj���XȆ;-o(���X��$O�= P5�h�c�Og��ps�
L���#�6c�m� X��6\�H�r�k	T�q3�Y
�9�,R�����i�>����Qm�����Q���0*^G0� \w�f�Ѐ�?o�欪.*�D�!�
�E"U=�F
6g�w�_6y�X���<��.T��.�����:4l������]�@�5
aco�R1�xÈ��o^U�7�7m��\��)��ن�X��e�7�6��
���7M�ڤj=Ԧ�
�3Z�q��J
)[a|Lyl
�e�J�y��;a\ʢ���k�-�
�8 $�P�����#.-��|rHM� ���l�qPG��:��8s����W@[��zC����h��K�9��V��K-/�c]����\Ŕ�����$�'0��m� �g��{���s��
V
�sN�%x�u���%�E��1�+}v7�g
��b��
tVt7���E���D�ϔ1"aUB�:�8_}�����,9�_l
+,��q�������-9G�q��A:�N�I�r��$���T�P�,������������,I��r�=��c��� �(�f�;�^�³�GI}��
�jQ
+endstream
+endobj
+12978 0 obj <<
+/Type /Page
+/Contents 12979 0 R
+/Resources 12977 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 12645 0 R
+/Annots [ 12878 0 R 12879 0 R 12880 0 R 12881 0 R 12882 0 R 12907 0 R 12908 0 R 12909 0 R 12910 0 R 12911 0 R 12912 0 R 12913 0 R 12914 0 R 12915 0 R 12916 0 R 12917 0 R 12918 0 R 12919 0 R 12920 0 R 12921 0 R 12922 0 R 12923 0 R 12924 0 R 12925 0 R 12926 0 R 12927 0 R 12928 0 R 12929 0 R 12930 0 R 12931 0 R 12932 0 R 12933 0 R 12934 0 R 12935 0 R 12936 0 R 12937 0 R 12938 0 R 12939 0 R 12940 0 R 12941 0 R 12942 0 R 12943 0 R 12944 0 R 12945 0 R 12946 0 R 12947 0 R 12981 0 R 12948 0 R 12 [...]
+>> endobj
+12878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 708.331 193.577 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) >>
+>> endobj
+12879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 708.331 277.691 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+12880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 695.373 247.177 705.278]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+12881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 673.176 223.465 684.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1) >>
+>> endobj
+12882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 673.176 323.07 684.08]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 649.354 229.552 660.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d) >>
+>> endobj
+12908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 649.354 329.158 660.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 625.531 266.673 636.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) >>
+>> endobj
+12910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 625.531 366.278 636.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 590.75 299.171 601.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a) >>
+>> endobj
+12912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.508 590.75 398.776 601.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 555.969 217.109 566.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) >>
+>> endobj
+12914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 555.969 316.714 566.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 532.147 271.126 543.051]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6) >>
+>> endobj
+12916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 532.147 370.731 543.051]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 519.563 326.259 529.468]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+12918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 497.366 198.26 508.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749) >>
+>> endobj
+12919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 497.366 236.665 508.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 497.366 353.317 508.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 485.784 246.458 496.315]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.562 472.826 267.759 482.732]
+/A << /S /GoTo /D (index_affine_relation) >>
+>> endobj
+12923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.583 438.674 222.689 449.578]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a4b561b7d32821298049fd05598b965f3) >>
+>> endobj
+12924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.988 438.674 261.176 449.578]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.804 438.674 355.22 449.578]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+12926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.95 438.674 395.676 449.578]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+12927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.268 426.09 288.464 435.995]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+12928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 403.893 212.768 414.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) >>
+>> endobj
+12929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 403.893 252.959 414.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 403.893 375.145 414.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 392.312 286 402.842]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.657 379.354 275.748 389.259]
+/A << /S /GoTo /D (index_affine_relation) >>
+>> endobj
+12933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 357.157 250.099 368.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8) >>
+>> endobj
+12934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 357.157 289.446 368.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 357.157 379.512 368.061]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+12936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 357.157 513.996 368.061]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 345.202 416.369 356.106]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.255 332.617 484.66 343.574]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+12939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 310.42 250.748 321.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f) >>
+>> endobj
+12940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 310.42 357.317 321.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 310.42 456.145 321.324]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+12942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 298.465 202.344 309.369]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.359 285.881 470.793 296.837]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+12944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 263.684 239.984 274.588]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057) >>
+>> endobj
+12945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 263.684 280.82 274.588]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 263.684 405.104 274.588]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 263.684 513.996 274.588]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 251.729 171.361 262.633]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 251.729 478.077 262.633]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 237.936 432.092 251.094]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+12950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 215.745 261.881 226.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0) >>
+>> endobj
+12951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 215.745 300.286 226.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 215.745 388.504 226.649]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+12953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 215.745 520.199 226.649]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 203.79 416.369 214.694]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.141 189.997 414.324 202.162]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+12956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 169.009 261.881 179.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) >>
+>> endobj
+12957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 169.009 365.272 179.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 169.009 460.793 179.913]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+12959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 157.054 202.344 167.957]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 144.469 466.67 155.425]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+12961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 122.272 251.209 133.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) >>
+>> endobj
+12962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 122.272 290.549 133.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+12963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 122.272 409.969 133.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 122.272 513.996 133.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.317 171.361 121.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+12965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 110.317 478.077 121.221]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+12966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 96.524 456.992 109.682]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+12967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 224.57 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) >>
+>> endobj
+12968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 74.333 324.176 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+12976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+12980 0 obj <<
+/D [12978 0 R /XYZ 89 770.89 null]
+>> endobj
+12977 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F39 2320 0 R /F11 613 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13057 0 obj <<
+/Length 2644      
+/Filter /FlateDecode
+>>
+stream
+x��[m�۶��_�O�4c� A��gƾĩS����IS'��8�	E0$���Y �D������'Q$���>xv� �x1���G�.G�^�t�#߱������c��s�_4�8!�x:#�����I����|j�H�K
�a�6���|����y.D&��2�������&�%޲|�8.t����tF =Z�ip9 �G�2��}Β�(�3�a�[�ʒ����~��)�&<��-�S6�1�2G�]����D��!��W����q�cD}o|��ƶE�7_��>•�����>
{0Z�V��a�p��@O5�E/�jإ�::^�-�!�1:��15�­F6r�g�˸Ѝ:�[�iU�ɧԝ��&)�q��b�ݔq��ƶT^
i+��\��?���xf�i��P=���
�适ĥ��өhڄi4$�0���i�
��u}� u�����f�X�16�I�b����X�
fխ�Kq�ݎ�Ǔ�<̂P��/D>�3<iQ���S8�^�
��ĠU�t�o�5y%n҈G��� [...]
�շCvk��V�⹄��������>�*Q{�"Gt&��a���ź(��. �\�a�\�9/:����h�A�+���6ݮ�nR	,
5s<Qz�;.�A��.E� �S��J�D_)\�iKC���M�$�e~����H�۷�#"��0B��_��\�hd�Ej�*2>��$�Q%�݄�RCc��|^�ܼ
Εڻg�e!�&���j��ȂB�x���ـ.�oPg9�JHu\������_l��o?g�ߝ���o.l�u����Z�=��J �]%��9�bY�����j�'
+WU����,��􊾪\�Q��+p�L9
He!�#��I$T
��ҍb7��1�T������)���m	+�
2H�@
+\ L
+8 ��fݐ"%D��b{�Aе�׆�ָ��
b�
�A�ݘ&'B4�n��q�p��4\Ր�ALC��!
z��7�E�TS���hTw�Я
+>���e^��G~�D^%���8Rg�b�E�U��4d�90U#�E��N���D"�
�A�D79ߒ�
?�>m���^*�eݩ�WE�\џR\�uD�|�Ɍ���S����u�
�X��T6��
{35<X��%=Y��V���*e�N
g�8�<�Y�Aw(Tf�
<��/g])=<�
�a�V^>n�ia�<zz�w-3ɞe�w�*Ӧ��{�K��"��D��c�Q��B�(��jg��n�kd6-
��(%����dJoJ��2�ޔ˼63���o�i7�0�鱳�:(őr��zڞ��6��Gr9��zf���  �1vP���T�#�[���m�8*���˻a��O��.������������ڙq� v������lX��p�<��� �����e��~w�rQ�a5I�)D�c=e�
e&�=�
w�Ճ�N'�*.yTc<4�8��ǟ�_�[�D�."G�̋�pa>�}�j�QhaQ�#�7�L�,��V�(���Z��d��n)�������^v��"L�!(᪐¤���׺2׼�zE5>�+�jT�x
�C�Em� M�~�� �
��
KS�����j)a��֥KP�h�M�3L�^�]�c���l����T�>f'�Yg
���r�Z#�a [...]
��KKu�LP�|&����
�
��6
��! ���{��f�k�\��{<ει�2n��
	�R��l��vi��(}� �.wc�
���Z$;Ў[2��(�2d;���e�'��j?��86�Yo��#!��;�k@�����J�y��m��=�����³9�r��٪U�L�v
K{�f=�/�Œ�[�>�(S���^Nj���Z��pP�~F7P?o�~U�XT%��t���� �9xn�ZzL]|�
��S�v!mu�#��=W+���!��
z�.=�
0�c�>zX�$av$�l�&�����4�U
\��?8���e>�Oa-�YN��2�V�* ���>���|�+!�LT{^;��:�?�zE������ir�3M7��{���{S�n,��o�Q
:Qw�z��;Ys��:y7T�v�
��lO�
4��)�t
��ϘD<=Bڐ���}@�"�+�� uF8�l�C.��;f�=�n`¯NH
�<���� Z�����VN{@ �v3[���J��o��?
+�%7!
S�Io
mJ�T�4� ��)gR�
n�����\�U��X'��k�W˲̞?{vu�(x�@s�ڜA-=|��:�_�P�97���+��A�6cG�	r
�X����j�k��k�мX�x�fE��
+0p�۟���
+endstream
+endobj
+13056 0 obj <<
+/Type /Page
+/Contents 13057 0 R
+/Resources 13055 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 12969 0 R 12970 0 R 12971 0 R 12972 0 R 12973 0 R 13059 0 R 12974 0 R 12975 0 R 13000 0 R 13001 0 R 13002 0 R 13003 0 R 13004 0 R 13005 0 R 13006 0 R 13007 0 R 13008 0 R 13009 0 R 13010 0 R 13011 0 R 13012 0 R 13013 0 R 13014 0 R 13015 0 R 13016 0 R 13017 0 R 13018 0 R 13019 0 R 13020 0 R 13021 0 R 13022 0 R 13023 0 R 13024 0 R 13025 0 R 13026 0 R 13027 0 R 13028 0 R 13029 0 R 13030 0 R 13031 0 R 13032 0 R 13033 0 R 13034 0 R 13035 0 R 13036 0 R 13037 0 R 13038 0 R 13039 0 R 13 [...]
+>> endobj
+12969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 708.28 347.869 718.186]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+12970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 696.855 196.297 707.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d5a47e2290eea8e036bd1623aba53d5) >>
+>> endobj
+12971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 696.855 279.215 707.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+12972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 696.855 432.878 707.759]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+12973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 696.855 513.996 707.759]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+13059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 684.9 216.491 695.804]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+12974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 684.9 362.977 695.804]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+12975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 684.9 475.081 695.804]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 660.173 164.537 670.078]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+13001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 648.748 273.129 659.652]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) >>
+>> endobj
+13002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 648.748 352.41 659.652]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 648.748 495.961 659.652]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 624.551 275.007 635.455]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) >>
+>> endobj
+13005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 624.551 362.877 635.455]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+13006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 624.551 472.148 635.455]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 612.596 233.986 623.5]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 577.44 255.564 588.344]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) >>
+>> endobj
+13009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 551.251 257.637 562.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08) >>
+>> endobj
+13010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.974 551.251 357.242 562.155]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 538.48 378.454 548.385]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.897 515.099 257.434 526.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af53fae5a9b3291b56e90e544402f2c0b) >>
+>> endobj
+13013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.367 515.099 356.635 526.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 490.372 378.454 500.278]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 478.947 257.786 489.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) >>
+>> endobj
+13016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.123 478.947 357.392 489.851]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 466.176 375.773 476.081]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+13018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 454.75 214.06 465.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960) >>
+>> endobj
+13019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 454.75 313.666 465.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 428.561 305.745 439.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) >>
+>> endobj
+13021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.887 428.561 404.156 439.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.568 428.561 521.395 439.465]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.489 403.834 302.72 413.74]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+13024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 381.45 245.911 392.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) >>
+>> endobj
+13025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.248 381.45 345.516 392.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.346 368.679 393.257 378.584]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.84 357.253 291.592 368.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) >>
+>> endobj
+13028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.409 357.253 392.678 368.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 357.253 513.996 368.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.622 332.527 310.533 342.432]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 270.594 289.866 281.498]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) >>
+>> endobj
+13032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 270.594 359.324 281.498]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 246.397 290.971 257.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) >>
+>> endobj
+13034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 246.397 360.43 257.301]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 222.201 224.003 233.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da) >>
+>> endobj
+13036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 222.201 323.608 233.104]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 209.429 272.49 219.334]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+13038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 198.004 254.15 208.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) >>
+>> endobj
+13039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 198.004 338.263 208.908]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+13040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 173.807 284.585 184.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) >>
+>> endobj
+13041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 173.807 354.044 184.711]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 137.655 241.726 148.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_adb81ef7bfbf3fbe1cedb4776c558c869) >>
+>> endobj
+13043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 124.884 407.658 134.789]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+13044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 113.458 249.318 124.362]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c) >>
+>> endobj
+13045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 113.458 288.321 124.362]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 113.458 371.519 124.362]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 89.261 240.62 100.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) >>
+>> endobj
+13048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 89.261 324.734 100.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+13049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 89.261 389.5 100.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13058 0 obj <<
+/D [13056 0 R /XYZ 89 770.89 null]
+>> endobj
+13060 0 obj <<
+/D [13056 0 R /XYZ 90 592.851 null]
+>> endobj
+13061 0 obj <<
+/D [13056 0 R /XYZ 90 470.161 null]
+>> endobj
+13055 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13123 0 obj <<
+/Length 1999      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F~ׯ�/.���{e�L��6M:�%Ic�)�h�X�L(�j���,W!!�<��~��g�����`kaa����7�Y
+)�:���Rؒ\!��/��dsL���l1�ED90+����������̽���ї�[�"� ��k��ѧ?����-��r��|Phq��si��~�R����7t"D"fHB!��)��մ|�DJbb済;n�m����˴�p����qT"�U5�E1�%�A­��nV:�B=�P��?:r�$������Ɯ��H:Ԛ�9J�b��c��8�K��'�E�ҏ?��O��zL�}���lD�N`����tGi�xp-m9���
�G���
~��g>�5��b�E�8<�GeB(r�3����j贐�Ņ���i�EL�q0k�Z�)��ŗ�w

�冦���0��Gx�}_�Մ����!�y%�3ƬKQ�
���e�v�I� u����ۈ1�
)E�a��#�ٷ�y�6��

H�9B��01vAdo�ĉ� �HO�v{&�g�4��D�K�����-�[lЈd�u���:m�F�ΞM��-ŀߍP[,�cx>��~���|G œ&@�Į8Q���s�$w�-�?�
+R������cڅ'�njXtQ
+^#�*�.K2�8��~�p-��x.�7�#*���G�6��Tš0�dM>�,�`�S����K{Y����WR|��fY ��G;{
����
��������{!���RX}j�bK�=sB�z�����ֳ�A6ϸ�
�q��2��̲l�D�V^��A����!�x/+�y��gebU.��_��� �W�Ѓ\�˿��e��A�i�gF���Rol���&�} �w�νeZ�~0�\[.�QRx9A�ڑQ\�H�L�zf���
f���E����}xX<��KS�C�)��⧏ڔ~
mE
+��1(AJ��]��]kte���_jCŠ��o�Eю���
QF�C�(w����e�y�@p��i�%���)����c���JB;�O�x�vԎ�@������ŋ�0BW�\�l�wh�>�-���~�y�8�������E�K1�#E�1Ү�.Mi�r���;�g١h�r�" j���:[���5!�ḯ�b��}�i|X�^�	��������2���M��gw������phph��V1qv孺� hTD��uG�m�vh��c�j)7
Rb�a��\)6P�}�P,�1\U[�w����>僈�C)-��}�\�4���و8��(@
+�.D���0��NH�$��y�Q��nq��)+�yg�-�K��9��� ��>0R�^Q)o��i�6�<�A�����<���޻'�o
�0@=��8�W)��[�!7��'ƨΑ�c��s]\�ʲ?5�N�^�p����2Ӈ�QL���"� ,�1��1�
]�2���L� �<s
�i��9H�
t�.��/C�ڟ�[�g
=��X!FE/$	��4�4��q���י��z��؜�å��@:��5K��M�<�Y���&L($�ߏ &	�!����m�4v�=��}�בD��Aҵo�Arx����g��x����:�����1a�q�I���߼��� r͟A�CU�]i
u�t at lB����Û:�0��]�4S�zY��L8^&��
�.��1���eg���h���%-�'Zޡev|)��hY<��-h�ܚ����R�����M��rPD�ˌ�!^��
��
Q2l�;d
+4�=����}�llb.�mF7 6�N�p�s��O
+Aڡnc�
'Ϻ��ܡ���\�SQ����g �A#�^ϖ���h���]�D�?�Ha�� v)�%v�X?��Vjx
V�u"�S�}g'��Qn׸:�K���P���{���W*

+V�C_�ؘ�%l
��_F���������jNy��mȬcֈ���I#�zQc�b� YR�)r��Ƈ��oM�:�v,����޺z�߰�߆Ct�<�	�j��>�v�+
z�U���y�E�"����w�e�秧�E������N�LV
+���j��~�.��yrm'x� �	V�
+endstream
+endobj
+13122 0 obj <<
+/Type /Page
+/Contents 13123 0 R
+/Resources 13121 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 13050 0 R 13051 0 R 13052 0 R 13053 0 R 13080 0 R 13081 0 R 13082 0 R 13083 0 R 13084 0 R 13085 0 R 13086 0 R 13087 0 R 13088 0 R 13089 0 R 13090 0 R 13091 0 R 13092 0 R 13093 0 R 13094 0 R 13095 0 R 13096 0 R 13097 0 R 13098 0 R 13099 0 R 13100 0 R 13101 0 R 13102 0 R 13103 0 R 13104 0 R 13105 0 R 13106 0 R 13107 0 R 13108 0 R 13109 0 R 13110 0 R 13111 0 R 13112 0 R 13113 0 R 13114 0 R 13120 0 R ]
+>> endobj
+13050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 696.002 255.714 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a65fe7fbf38e2395261aefa548bf71e94) >>
+>> endobj
+13051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.294 278.538 671.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e984df6be52ebfb7284efb4c31d8e76) >>
+>> endobj
+13052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.353 660.294 300.953 671.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+13053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.2 660.294 341.927 671.198]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+13080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 592.711 203.075 603.615]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 592.711 296.324 603.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+13082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 564.973 287.856 575.876]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) >>
+>> endobj
+13083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 537.234 294.481 548.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) >>
+>> endobj
+13084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 428.661 226.034 439.565]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad9e4b27a90287bc7f17da3de37be34d2) >>
+>> endobj
+13085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 428.661 393.444 439.565]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 388.968 156.281 399.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad597da38af773e6cd9335ffd866fa32a) >>
+>> endobj
+13087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 388.968 232.365 399.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.143 388.968 349.411 399.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 349.274 180.54 360.178]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a634913398afa411ada69f973e0acdb3f) >>
+>> endobj
+13090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 349.274 280.145 360.178]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.444 349.274 420.713 360.178]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 309.581 178.239 320.485]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a197fc2645bde64519a993bebc73f2caa) >>
+>> endobj
+13093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 309.581 277.844 320.485]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.143 309.581 418.412 320.485]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 269.888 245.522 280.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9a6c3fb1249ffaf38f7ed7498c138557) >>
+>> endobj
+13096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 269.888 325.229 280.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.933 186.179 268.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 257.933 326.746 268.837]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 257.933 430.433 268.837]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 218.239 245.522 229.143]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a11b4e4651b98d2af87bbc3ac55d76bbb) >>
+>> endobj
+13101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 218.239 325.229 229.143]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 206.284 186.179 217.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 206.284 326.746 217.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 206.284 430.433 217.188]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 166.591 245.522 177.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afb32b5b308dcb625f5a62006c6f3625a) >>
+>> endobj
+13106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 166.591 325.229 177.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 154.636 186.179 165.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.456 154.636 330.724 165.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.075 154.636 437.631 165.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 102.987 243.605 113.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aee949687b91366506561d398d257483b) >>
+>> endobj
+13111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 102.987 323.607 113.891]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.032 186.179 101.936]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 91.032 326.746 101.936]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 91.032 430.433 101.936]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13124 0 obj <<
+/D [13122 0 R /XYZ 89 770.89 null]
+>> endobj
+13125 0 obj <<
+/D [13122 0 R /XYZ 90 611.541 null]
+>> endobj
+13126 0 obj <<
+/D [13122 0 R /XYZ 90 611.541 null]
+>> endobj
+13127 0 obj <<
+/D [13122 0 R /XYZ 90 582.154 null]
+>> endobj
+13128 0 obj <<
+/D [13122 0 R /XYZ 90 554.415 null]
+>> endobj
+13129 0 obj <<
+/D [13122 0 R /XYZ 90 486.574 null]
+>> endobj
+13121 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F11 613 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13214 0 obj <<
+/Length 1621      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6����ŕf"o����5I��Mܓ���#s"�
+E7ѿ�o�2)��+�<I"�v��a��5���j�����b�FZRi��4��HH�5�.�#�Gc�1
��
:�ҙ��(
�͕;
��[�2t����N#g
��b���Y����oN_RO�FR*�<��$)Ri�HyV�|�
�Y�_�$<[8��hLa���j�Dnr���
G�
��.1�Đcfd^��
��I�"����rp�[3���ˆi��ZZ�2�\X�
pja\��ĕVJęm)B�7��"�<{,~F!�01�؈K�ie��`�T�*Ĺ�e�$���wC�Y���t33)l̔�z�|l���
�E8G������dL��0�� -DR�2�UL_��S޽Xc��н�.��������
��	�7�+�L
��(n��ʝ~6���&\//�?�
R�g� >x�ҥ~���(
�Xlƕ����,�hr,�鈈�f���T&��W��$
�wLM��_G7)=fbJ��w�MVPpJ6J0��6�nԮ"��[�w��]�E:hB����[T%����H
+�F�������^������
��I�V��f�&-%�c
�U���3)&���:rSRFWi
�5J�I�+�u�F_]��,�K�A��r#|K�Tڡ����
�[
�:/��!E �ׂ��,��b����6`���\����֪9�b�4�AD
\�Ep�݀�%w���7q��M�5:q��6��6�N��
+��;\BW�jWW#�'�v��ܡ��
�F ~�X'ݱn�>ֿ�ٶd�fdS��.92�x��x����E�6j��6AT��(�y!�5hSL�B�"J�<S�A��Ԃ6c�
m�$��HIU
?۱G
�
P���4QǛ/��ğ��5i�*C� ��q�mR�\@�+�Ѓ*lF�l�e
A}���J�
lɐDŽkbC��Q���j٣G�M5
�v�3z��H�u��
��f3�	����p���Ty�Y����q9؞�5� ���
�l�ѰX`���B��KXb9�;$]z!�#�T��ˁX�A�8��mА7
u�L#���N�+�l�����ʂ�:Q>}�+�1p?pn'9�]�?�vt��F�dh1��?�#����ӝ924���$��q)$w;2
/��b���|��@����[x�넭;���;�����
5R��
Rȶ:f���
RSS}��TվC*(��
R�4�)�L��y�zv����
g�����Uժ��K���OS6o���9'ED'[��"���y��sS��v�5N(Ճ�ۃ ۡ���L|�t&�1mOe�g��
���qs\��9���(�=Jz��Kd��
Y�'dG9!��;!��c���ӏs��ȳ(�O�z��(�Q�O�����G����e�ds�*�["�$"a�T��*yW��D߭*9|�S�>p�t�
�B[�b&��Y�)�M��h]�f�o���M0���[.�a �+$t�����ggo�/���������,F���L`���
�?+BjcZ�Fc���ͼ!i�g+���y���
_�H�<Ю�h�����z�v�9��:�Kzh����S&�Ya����ťA;Q���̎h#%�,��2�&�S4.Q�
��
L/��^2�y .^,�/��&
+endstream
+endobj
+13213 0 obj <<
+/Type /Page
+/Contents 13214 0 R
+/Resources 13212 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 13115 0 R 13116 0 R 13117 0 R 13118 0 R 13119 0 R 13140 0 R 13141 0 R 13142 0 R 13143 0 R 13144 0 R 13145 0 R 13146 0 R 13147 0 R 13216 0 R 13148 0 R 13149 0 R 13150 0 R 13151 0 R 13152 0 R 13217 0 R 13153 0 R 13154 0 R 13155 0 R 13156 0 R 13157 0 R 13218 0 R 13158 0 R 13159 0 R 13160 0 R 13161 0 R 13162 0 R 13163 0 R 13164 0 R 13165 0 R 13166 0 R 13167 0 R 13168 0 R 13169 0 R 13170 0 R 13171 0 R 13172 0 R 13173 0 R 13174 0 R 13175 0 R 13176 0 R 13177 0 R 13178 0 R 13179 0 R 13 [...]
+>> endobj
+13115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 696.002 243.605 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af34d4911235992f1f10dcf2f772ffe05) >>
+>> endobj
+13116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 696.002 323.607 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 186.179 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 684.047 326.746 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.876 684.047 430.433 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 641.982 243.605 652.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aedd7f0d898b4ab1df6dfa90605fede79) >>
+>> endobj
+13141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 641.982 323.607 652.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 630.027 186.179 640.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.456 630.027 330.724 640.931]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.075 630.027 437.631 640.931]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 576.007 239.568 586.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a50ca45a8cfc186aa1fd90160b643d766) >>
+>> endobj
+13146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 576.007 317.166 586.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 576.007 513.996 586.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.052 145.233 574.956]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.532 564.052 285.8 574.956]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.93 564.052 389.487 574.956]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 521.988 239.568 532.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a003331e749ebf3ac37f3d5d01005321a) >>
+>> endobj
+13151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 521.988 317.166 532.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 521.988 513.996 532.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 510.033 145.233 520.937]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.532 510.033 285.8 520.937]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.93 510.033 389.487 520.937]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 467.968 239.568 478.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3a252c7d19e09650769922c1874a2ad) >>
+>> endobj
+13156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 467.968 317.166 478.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 467.968 513.996 478.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 456.013 145.233 466.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.752 456.013 283.02 466.917]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.95 456.013 384.506 466.917]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 401.993 180.54 412.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a634913398afa411ada69f973e0acdb3f) >>
+>> endobj
+13161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 401.993 280.145 412.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.444 401.993 420.713 412.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 375.98 178.239 386.884]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a197fc2645bde64519a993bebc73f2caa) >>
+>> endobj
+13164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 375.98 277.844 386.884]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.143 375.98 418.412 386.884]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 349.966 245.522 360.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaec5aac18085c547d9e8a207e2a91a2a) >>
+>> endobj
+13167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 349.966 325.229 360.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 338.011 186.179 348.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.447 338.011 334.716 348.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.337 338.011 469.893 348.915]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 300.042 245.522 310.946]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad178f59cac52085594b73fcdff001cab) >>
+>> endobj
+13172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 300.042 325.229 310.946]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 288.087 186.179 298.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 288.087 326.746 298.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.398 288.087 453.954 298.991]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.625 262.074 245.522 272.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad96422b035879adfe42f8ffd3ac2bcd4) >>
+>> endobj
+13177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.848 262.074 325.229 272.978]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 250.118 186.179 261.022]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 250.118 326.746 261.022]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.398 250.118 453.954 261.022]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 224.105 243.605 235.009]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab030b7a285d9b5e6470263311eeb87f4) >>
+>> endobj
+13182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 224.105 323.607 235.009]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 212.15 186.179 223.054]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.447 212.15 334.716 223.054]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.337 212.15 469.893 223.054]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 174.181 243.605 185.085]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5d905934786546ee29986ddc15e2536b) >>
+>> endobj
+13187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 174.181 323.607 185.085]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 162.226 186.179 173.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 162.226 326.746 173.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.398 162.226 453.954 173.13]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.92 136.212 243.605 147.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac0753202309a8659d436445a609d8ebd) >>
+>> endobj
+13192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.226 136.212 323.607 147.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 124.257 186.179 135.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.478 124.257 326.746 135.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.398 124.257 453.954 135.161]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 98.244 239.568 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a07210f7190db4ecbd9af64ae673e7c00) >>
+>> endobj
+13197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 98.244 317.166 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 98.244 513.996 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 145.233 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.249 86.288 286.518 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.887 86.288 414.443 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13215 0 obj <<
+/D [13213 0 R /XYZ 89 770.89 null]
+>> endobj
+13212 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F39 2320 0 R /F93 763 0 R /F110 1507 0 R /F67 3037 0 R /F42 531 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13243 0 obj <<
+/Length 3136      
+/Filter /FlateDecode
+>>
+stream
+x��Z��6���?�d4f�)&i�6i���&��}j��lsm%��Hr7ۿ��=M{7i��
�VI
g�3�yXx���ٷ_]^<�F��BJP1���)<�\�X��z�K�1��z����%�-;���O�_�t���]|}y����G F2���_~ų5
?�dvc�3N\w�W����<�I�O
�Y2�� B
�)����k�
���ļ� .T�m���.m�y��7L
�Q�8OڅO݊%��Dv�n��Hs=_�G�s�#��
��tI����c���n�E�U���	�\�
A*���eY�V�YT(?{1�eA�vWY�cZd���:���X髴��M1ҧ_���$���V���	(a}��!_�jr& D�3�Q���=0?$8m8��a}���ź���e��VsG���h'B)���N݂՜��VeQ7��bդ��Hw
�

�)�B����6��
+Q�QuN#�{}
K��X&��4X�ǃ����,鄼[rǽ�>�����Sƃ۹���K�sy(�Y��z�USC7��['�)�� ��(a�/�=,�\��q��c�7����
+���o\�4�B�R�rL�)����
�P"[C���os
+~���+��1���C�;�dH�B
+��C���
�G|*7 �V��s� d�B���F�ѵn֏�uS�4w��?�r���)���G�u:}��XO��3��7����H�g:G�jzC46����M�Έ18��0(Ⱦ�$Fd� ��n�l�נ��S���}����c�

-(G���e�Dc
ŊO�3bR"ٛ��2�����<fJM�uD�[`��
�R���9�QZ��q�MAG�1����s8���Jp[r��
x�0�8���r�h� !��V��2���Ӱ`
+\6a�lY��|�D�����Z�1+,&H�O�	�9�D�9�j�{q�X�9k���/�a6��9�X0
���l��¡D�B�{�
��&���� �tLl�Z�P�ʙ���
�>�d
+"1F\�M�Fn\���YS��nW�i
�x���
�<��̛�d��q�՜Dz_�FR
v��v�ԯҀ�٪1�b��fź[����1�1�QԔ�X��f����[���]Y�u@�����cP<�f�_����*���
1��q� �Yװ3�`�� ��=ԡs2Z��P�╍<�9
�}�mYY
G�̜
�=���\�n�*s7h���64�6⏢��WpR�
X�6f_.��pC��8���
<��t�ݭ9Gs]g�.j{��zBK���X� �'[���vAG~�&k�~�g)����t����:[���Ay=�`���B��U>٦�녕�����nhB�6�@!��~�휿y��/I��/��3cⵕ�L�2�*͊��d�5�
+'���;8�\P�����_��w��v��L_l��K�V%r1'�
�|ʟ�]k���^�B��z�H
aE�x��kLyHD
X�y��P�h��
i�f��`((��{�HW`�C�N$됏�A�$�
�ǚ��>�'���Y��'� ��n3���	#y
�.l����n��X�NC����i@���!�机Ke���|�k!�Sv��V[�B�[/:��$��v>e|��U �dSqK��N�l�1
+�_��e��,r��{&
��lǺ�l&L���� �n��F`�a�5��� <�3w���#�zk�Ȝg6��ݸ��Cs3N۞Q{.�X=��!�5�h�v�Nܦt#�~_��3�#&&�# ͝�y��a[��F�<�~NW����¢aB�,4�m��-dnr"������Y� �Hݢj�Y
��'.�
+��NL�Lgw���ܴw���6J�H�!��l��2�

7z�swi
�|.��

(�|�k��@�d�;
+�Iy��X��[��N�N	�nޅ�*m�� �g+��P���昀�ˠ挱@A���X����;�-�iБs�2�l���8�ml�6oE>��X�B�t�i�IN�X�ďq�u}FcD��*�Y<�m[C��j*���4ڠ�!�l�<F����"b}��
���}�
+H	
&EP�� �$O��'�_��H��r �������2+�RS�ջ���$3Uy�'���Y���.�X�|$">���FV�"y���
�HKG6SV��jT��iZ���@q�v~���^��Au��e���r!/���Q�������Ę�lj��cP8��F5,�	1��rwFc�/]�$��(���.��\���E&䙡����%uq6����:�:3vaG�W���7f�z���ro�WBz��7�Br�<lv�:�b|f~,��Wt��0�\�e�7y�I�+�&�}�l��
��`�j:4ݡO��P�ʋ��y�;���@�n+wo�E�!&u��F�xqTVukafS
t���Y���t���t��
�X��
u�z������b��!�eM�k۱���]�<�9����
�ӈ��g��뽶Ɇ��إñj�&
��l��C�2
�na������+w��m�~��U��P㦆v':�sئ
�	�3�[�ԙn��]Cf�;<��VQ�P�+���c���a״8�v̉yx�.b�sߟ [...]
+��k�:�dTa
+��`�~�
}0�(�k+y/��c�r	:5�[�e*�t��
X0��_aC�m��`(]�fNx��0w:
��(9���Y��+��O`t�Y�!;��O
�fx	d���&�~%�\f�<������M�X�ŚOFL�� �p����{�"��~���]`�%������N����G��l��b=��[�ۯ��K��
"�5�����Ϳ�F�1��ȧ*?�š�gLZ�;S}Ӏ �����J�_V8��vl���֣~b����m��?z�<lj]lЪ̏��_V
+ᾅp��y٦�Yar�>�
� K!�2
+endstream
+endobj
+13242 0 obj <<
+/Type /Page
+/Contents 13243 0 R
+/Resources 13241 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 13201 0 R 13202 0 R 13203 0 R 13245 0 R 13204 0 R 13205 0 R 13206 0 R 13207 0 R 13208 0 R 13246 0 R 13209 0 R 13210 0 R 13232 0 R 13233 0 R 13234 0 R 13235 0 R 13236 0 R 13237 0 R 13238 0 R 13240 0 R ]
+>> endobj
+13201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 696.002 239.568 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2b05cfa517e14902fe16c4c32c2cb543) >>
+>> endobj
+13202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 696.002 317.166 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 696.002 513.996 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.047 145.233 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.532 684.047 285.8 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.452 684.047 413.008 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 659.259 239.568 670.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0851645a537132ba61da46cf65011cd8) >>
+>> endobj
+13207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.786 659.259 317.166 670.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+>> endobj
+13208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.775 659.259 513.996 670.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 647.304 145.233 658.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.532 647.304 285.8 658.208]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.452 647.304 413.008 658.208]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) >>
+>> endobj
+13232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 622.516 156.281 633.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad597da38af773e6cd9335ffd866fa32a) >>
+>> endobj
+13233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 622.516 232.365 633.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.143 622.516 349.411 633.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 597.729 226.034 608.633]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad9e4b27a90287bc7f17da3de37be34d2) >>
+>> endobj
+13236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 597.729 393.444 608.633]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 265.75 170.418 276.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+13238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.941 74.333 313.447 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13244 0 obj <<
+/D [13242 0 R /XYZ 89 770.89 null]
+>> endobj
+13247 0 obj <<
+/D [13242 0 R /XYZ 90 584.262 null]
+>> endobj
+13248 0 obj <<
+/D [13242 0 R /XYZ 90 535.559 null]
+>> endobj
+13241 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13255 0 obj <<
+/Length 2541      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�6~���Ӯ��`\�pҜ�m��t�M�}Ir|(����H��+�~7�DK���v���9

f>�|� ?
}yt�\�@!%�.��*���o&#���c<yuL�$.W�իc�'�r{������lV�����eRNj"��W7�:=~w���sB:�)UH	��O�H���^�rD�B�q/���qU
O)ǠL�I�Z/�:�O^��iyL�I�'�)�'!�Z������#jp@�[8�Q���޼��

�`�T|4B� �
������#�����`Jƾx�.��l�Y��	"��7q}b����u�ϳ|���I+�ڛ����L�*;�|�A�N���O>��hqm7�&7E�z��[�Hl|�جҼv��0��� F�Ir��WN�Ď���V�����G��I��`�<�8��U�r�%Y�A�%��˪�o���P{��Uu�%�>)r�gy��i�)<Z���	@�1��dQZ�
�� ��� �"�\8����(xc^�Ќ��,��b���[	�+ [...]
+�����V"B7���4
��%�ːHHJ�>f˥u�̅�]�ܽٞ��7��$	�pĕC�[JyOn0��B
p�l�4�o�`��=:���b
�GVa�s�o��7��<���-�xVl�����&w�A�x��&�,R'So���AL$A��
Ƨ���@ �Xd�H�$4``6턥��	�(�/X�8���?3����V��p�&
+
���� u(�
�L|30�Ћ��Y�*/�p��IT�&>�����ّ�0$U3�:0"���N?g����a�
��Ǜ�
cE
�i�MV
��B�����R
��_��VE�Ol��0+ ��~P�"ۂ�Iq7�f����˗b_�TS'`9�}�gאw\OY��A߇P�	���}�j�L���
��8b����KM��g�DL
+�+�8�k��h�w��uY�z�qM�lu���7{X��q7+��<+��w�"�Ԟ~.+,o�H��1
_�a(�%	�h����P`�>��B������\h����8������m��wq(�R�@'�R9�
_�Kw�-�lJV���a�n���-�7��mywe%�6t}�Q���c
Bps],��G�@cܯOhF��>у���
����W��60&u1TĢp_*R��MEz�"w#���;�.l�t�|��>[f���	&��-�r�t+7�z򾃳��{��_q��3��Y)�<��4f�-K�
+z<t{(?k
G�� N،��ߚ�SX�4�ז̆��o��~���q峸�V��"ZZ&�	wJ�@�qC�
�����T`<��a=�c�oݏ��n�(���'-J��P�n�E�����
K2��4D�FV�]8�Ӌ\yڝu/
P�$p
h�fn
xj8X������3]^7�r^����
/YBa]�����R�l|�� P�:�3��68|�[�%"J@�dOy

Y�v�\"\tvK�>r�}����%��M����203�&\�9�����
�q�T#PI*y$-uVƷV��w�zǾy�a��f��q�����th
��6؊|r��~P$FMR5 3��%���R��D��� "W�'�6j�Zi�&}o�tj���F�ncI'�
J�:��u/�������{���#-(�B@�;���!��<h���;��Plȹ�u��!�������~�. $����ΈG��}�I�L�vM:�G��u���g�e
�ΐ�R(w�s$��;���s�Ԇ�C����<K����a¶ӽ�h� �`��h��񚓂ݮIj�
�vTX���f�yl��
=�	#H���Q�h���p at E�D4R�&a�d�N��
G(ҭw�[{z�C����Ff�Q�7?j~_�D���k#*%
+i�$�3@�>b�j��ԽV
:Oƚ�9�>ެv7?����
<H�m~P�1T�?$��+3��|���R��w#���
��h�w&
H���4OK ���2m[ɾN�Q����LQ���k:
2 �o��������HL� �:����\� 4 at y���,Oߍh
%�(����o���2K���`SvH��c��d2v���#
�&�0�ҳ!�� ����;	Ͻ�U��$�}�o�u��R��F
+:	�K�H�	
!�@r���0�T��i\��[�R�
*fñ�TY��s��o�
+�x1$�^�8��Y���o�K�P��P�r3߬��vs�@����::K��Q� I�
��7Ț�P�7�i���?�8�e�1�Z��܇o�'ˢj;f��ˋ���́�����n0��zB�&<��F
OL����;@
�g�M" ؞��)�>��2CƱ�5��~Us�dw��z��l#6�oo�>�߯�
�|jt/,>�wCT
}M0>\�X�����e��w!} ��<�oBP���9�ի���o������׿�|�On5��o���t��+�E���f��#�w��{�)X�
��������l���|��b�K
:�P��
+t�!�*�f�
�B�U6X� 	A�'������H�$�׹7/�����
���_1�/3Oh
+endstream
+endobj
+13254 0 obj <<
+/Type /Page
+/Contents 13255 0 R
+/Resources 13253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 13239 0 R 13251 0 R 13252 0 R ]
+>> endobj
+13239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.725 678.378 193.232 689.281]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.433 587.338 336.939 598.242]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13256 0 obj <<
+/D [13254 0 R /XYZ 89 770.89 null]
+>> endobj
+13257 0 obj <<
+/D [13254 0 R /XYZ 90 255.937 null]
+>> endobj
+12741 0 obj <<
+/D [13254 0 R /XYZ 90 232.477 null]
+>> endobj
+13258 0 obj <<
+/D [13254 0 R /XYZ 90 232.477 null]
+>> endobj
+13259 0 obj <<
+/D [13254 0 R /XYZ 90 149.975 null]
+>> endobj
+12742 0 obj <<
+/D [13254 0 R /XYZ 90 81.969 null]
+>> endobj
+13260 0 obj <<
+/D [13254 0 R /XYZ 90 77.486 null]
+>> endobj
+13253 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F8 794 0 R /F24 529 0 R /F7 795 0 R /F90 758 0 R /F32 764 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13264 0 obj <<
+/Length 1999      
+/Filter /FlateDecode
+>>
+stream
+x��Z]o�6}����f5�oR�6��ڡ]�d��h�@�G�-���4�~��d��,lj�n���utI�{�=�1��[z�
~
as
+�g���y>�%����󱧸�����{7�XN>�^yLjD|	O�����=3;3�F�g��#��G,�@J{�����-��+x1�wStZ{�28����o#�XVX�E� B�	F
+�":���8כU��ƒ�Ы~R)$��L���p�R|�!�݄q�'S����k��
�`{8��IN�
���A��O'����U�H����E����'�<X&q�:?�
+6]c �BT�}�(�ɪ
]vO�H3�Ma"}!
��L��e��
#��m�N�]@������L���y2!�8�;������]f��7CX�R��ֺ� |S!�F�(SU�ۉ��'��0�Y�~����g� ˺p���w^<0!bl
Oeb�}�k��B��֊?}����ɯ�����r��c�����"%�h� Z�ϻ(^Eq��`��W�^�&��|�yS��`]�l��b�0�1Ѳm�o���<I'B�Q�A�LH�r
�ªskR���	����:�s{%���2N�p�����f��V�þ$�0��<�_�}
ZZ�m�!��}��ݶ��͊R�=�ذ� V��>%�T
+יw��S���`{��}�}/���$���I�l
ts��SdcN��Y#��
l@���FGj�
‘S��<�$�x�
^���,A�o�{@�d]$�B��֔T
�t at q$���.��YE�(�'\* b0q	���h�(Y0�y6L?M�yd��|�O���͍
�E��f�&��5�Mb{)���ϐR��.�8&
+�mZCu����:4�\��_��{
L�/0��\`b�bN!������:#�����6���x�f��b��:�ͳ�94 ��+�.��3���;�hp8�
��3{�L��=˫��$V�Ш��
g]cVJ՞<Ǵҩ�daJiV��h�Eec_�i�gm;7��<]D@
�
>:�r��±q;ӽ��S$��j�D��Ȧ
"�"���8s��Ny_ߵ7ͽ�X�X�i�j]��^� �����9x�"}��Z�n)8$�!��s�["TsUw���ǚẌ��m��tw %މ+�o� �G��{��A��y
��	w�����{
�#e����<ܘ�fO��'�0C��^���5}��
�Y��5����)�P	
I�<�@,�U�(1�л�KBa���s�eI�Y�8>��	��O�*Z�C��TU���=�
ĭ
'�܇�jR'�$�{�N�S
�9s�9�JSߘ<�u�!n�
+��C`��SU����
�&۾���W���.�Iy/��X�խmfכM����6/��6��IQ���]!�\IV�WV�s6'k0f�11���^Q�#

���ܻθD\��������
�G�ez
��G��PM
�W���ECQ:�`|��q`c%{v9v*��W��s���;Q����\^ȯ$!�dPX�����z�
+�8�I������h��vtjǎ��w�}����^\��@-�˃
h�H2�h0���|�
+�
`AD� ��

�G��!Q9�hp��hh
�a��gS40�K4p$ٝd�b$��+
f`5q�v)����\*D�9i��l�Ӽ(/�DY�0��[���{
U
^ŝqe����0��"(��wՂ�_-�����a
�A��=b����_,tke�:��=�cj

9�7�e53ݟ$`��H,���a���KѲV��Mp�z
�ܶ
+㥮�7������
�E�
J\l�@��c�K$1;h�˪�7
���C�o�=
}�N}�,�D���o)��	*j��6l�*$����,���^
��yq�z��p�rͼ� �ᦀ7��䭍�r�������}\
yz�ڞ������N�s���U4�o�ͧ��$�h3
Ty��TY��ܚ�˨X��=�|����U�o���.��Y/�<Yߍ��a�\my�2I�1�$
+A
��,�_ �
+endstream
+endobj
+13263 0 obj <<
+/Type /Page
+/Contents 13264 0 R
+/Resources 13262 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13062 0 R
+/Annots [ 13261 0 R ]
+>> endobj
+13261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13265 0 obj <<
+/D [13263 0 R /XYZ 89 770.89 null]
+>> endobj
+12743 0 obj <<
+/D [13263 0 R /XYZ 240.245 647.468 null]
+>> endobj
+13266 0 obj <<
+/D [13263 0 R /XYZ 90 640.828 null]
+>> endobj
+12744 0 obj <<
+/D [13263 0 R /XYZ 240.245 561.718 null]
+>> endobj
+13267 0 obj <<
+/D [13263 0 R /XYZ 90 555.078 null]
+>> endobj
+13268 0 obj <<
+/D [13263 0 R /XYZ 90 468.88 null]
+>> endobj
+13269 0 obj <<
+/D [13263 0 R /XYZ 90 415.191 null]
+>> endobj
+12745 0 obj <<
+/D [13263 0 R /XYZ 90 368.566 null]
+>> endobj
+13270 0 obj <<
+/D [13263 0 R /XYZ 90 364.082 null]
+>> endobj
+13271 0 obj <<
+/D [13263 0 R /XYZ 90 275.727 null]
+>> endobj
+13272 0 obj <<
+/D [13263 0 R /XYZ 90 222.038 null]
+>> endobj
+12746 0 obj <<
+/D [13263 0 R /XYZ 90 174.787 null]
+>> endobj
+13273 0 obj <<
+/D [13263 0 R /XYZ 90 170.304 null]
+>> endobj
+13262 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13277 0 obj <<
+/Length 2379      
+/Filter /FlateDecode
+>>
+stream
+x��Zko����_�O]
+XM��ym�&�.��m��"�D[D%RK҉��{�����-���`p4��3s�{���� �_���x�d�FZP\�2҈
��
>�#�gs�1���b_��Q
���U�,���M����U|�g����*�&�OW?����<�	!ar��g7�g�H�z���F��z�_�!�Z�e9�S�L�0�l�q���_�ۤ�&���f<��4���.~�  �ⶅ#������'
,��� #�U���e�\.~��~��'��4���;`�6+�0�IR�;�_?,�m��Yi
ځܙ��`&�1

ĩ<h�=v������DD�@�18��0� �� ���
!�{
H�O"Da�=H��
w8=�"af`$��)���e��"
~����:.fL�w��$��y�;�#8d6�Ba9�@t�R�"D�
X��!�Q�[�ժ�g��_2wg�[��V���e�l\;�_�%YR�U^����g�W�װzt�L�}�*nF��6O��D�w�3��8�u�z��$2��朅y8�t
�X��oD��1����n\�	���.�����6��q�Gu��&�H��GL�/
�*}hvNv�`�
+�
��U���lH3����
+9�X3b��>�Do��7́{y���@5�(���n�a�<��$HC���/�d�LÏخ�
;9�1�U^�<�����P	�ϛ�X�7f���-�!��gN�w�w�ǯׯ���������ud�Z#�&	���c�^XG�M>&�u�H�O=�
�9���sJ�ʽ��>]/}�}�|��=o�|3��[F���0­Yەӳ��b���
z�����Q�2&���<�e�	NU�i�fwcf �q�
����� ���wy�V�����*/�z�����e����LÍX$��}�{gy��6Y����Cn
G�1'#{��E�#���;R��;gD�onG�
+):p�=��"�����#h�׊f�1�*��j�o�c1�KY�r
�̳l��<yB�+7�z����dw�4��ܤ����.���w�j6S_����f���
���f��C\�c��q��dh��
+?�+���NGL
o��#�;w�b�=��a�B��YI�p2�El��6�kP1gр�;DŚ6[�2KOX
Q��7����=���f�,y�-;�{_�&
��g
�c���@������b���e`4�C1�l�O�u�%�F�"	ѽ
��H�m"yb���B~B���ʨ�V�WM���}�'�+�A�Z ��4[%�ť���m�H܈e
+��L��}c'j�*7
=��U�M���c���e��~ȶ �.����j���l��_&��Խ��A����QwB59q�
§�J$<RL��?��q���aQGb����my%�8�*���G
+#��B`�$���pX�H���v�
Q�ʾ
Wu�m
��"/,����j/%��[��7I�8�~�������N ��O�U:��Sp�&q*���E����Q'�G��<����k�ժ�j�Vm��_�ޕ�eya�
V���I��}Y�l�`F)f�&귟�)xx�_>{/���-=�)
�وO�� �	N]cg�ؤz�J�W����		�D;e@����;����8^ag	����N�}�dw��:)�Y�8��>�����`�ue}��
+��u+�[Yg�g?���h�����o��=����i�È�a�T�*K�p�Ԑ����~�z���jK-D��	0��C"���>�|��S� s:�<�h����T�_������A����A�@
��3Ԗ�/��&�{{���wE�{(c�
`T{�OT��WĎb�������z�S��t�O��K�L��Jwy\�{uk��n�
*\ݲ���q
��T80xvd<��p�]�x*z2�
+'�h����z���t|w�r����ju<��x�Rkf��w�~����e!O��tD'�l'G�9
����H�y
�B�)�6�����4dTi�
i���h����]y���O�H�_��cH��45�s$bx.�T�Sb
b�3���&��Tפ?�x�^��#��lʪ���&މ�9��\�	�bR�09���^�zB���!ۉ�1z�l�nu�j�/�y�����h�ԉvM�r��ZC�+�a�
�
!�e7���:.�a"?9��v�����4��%E�
����{�^�q�3�J�iKhga������6Rvꯂki-D�?��� �y���k��L�of���T~����P�´�H
+��C'A��'��
~H����֏�[S�/�8o�lUU��/n��J���kW
u��Y6j�.�5f��4�N@�w�G5��!�Z�l����<�#�m�e���x�f���?��?
k��
+endstream
+endobj
+13276 0 obj <<
+/Type /Page
+/Contents 13277 0 R
+/Resources 13275 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13274 0 R ]
+>> endobj
+13274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13278 0 obj <<
+/D [13276 0 R /XYZ 89 770.89 null]
+>> endobj
+13279 0 obj <<
+/D [13276 0 R /XYZ 90 718.682 null]
+>> endobj
+12747 0 obj <<
+/D [13276 0 R /XYZ 90 684.012 null]
+>> endobj
+13280 0 obj <<
+/D [13276 0 R /XYZ 90 679.529 null]
+>> endobj
+12748 0 obj <<
+/D [13276 0 R /XYZ 107.534 574.352 null]
+>> endobj
+13281 0 obj <<
+/D [13276 0 R /XYZ 90 568.334 null]
+>> endobj
+13282 0 obj <<
+/D [13276 0 R /XYZ 90 469.558 null]
+>> endobj
+13283 0 obj <<
+/D [13276 0 R /XYZ 90 403.515 null]
+>> endobj
+12749 0 obj <<
+/D [13276 0 R /XYZ 90 356.89 null]
+>> endobj
+13284 0 obj <<
+/D [13276 0 R /XYZ 90 352.407 null]
+>> endobj
+13285 0 obj <<
+/D [13276 0 R /XYZ 90 252.097 null]
+>> endobj
+13286 0 obj <<
+/D [13276 0 R /XYZ 90 186.054 null]
+>> endobj
+12750 0 obj <<
+/D [13276 0 R /XYZ 90 81.969 null]
+>> endobj
+13287 0 obj <<
+/D [13276 0 R /XYZ 90 77.486 null]
+>> endobj
+13275 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13292 0 obj <<
+/Length 2423      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S+�x�����zw�$�k'V�ۅ@K�Ŗ"��Z��gx�e�.�4�)r��9g��;C#*�G
��?.�>�����{�,96�����`Kr	~��������;��
+dž����7���>���w�_/�����Zn.>��
+.3GY_�A�S�������e�)!��|f�������`�'���n�iQ.�ð�Q�$)e�K>� �HrUH�[/t7�tF�3�w r�lU�o
� 
�5b�l�!��e��K6��%����l�S�'n�q�S�'Q�_{��]|��c7�_]�,S�1
+�`1�\`F
a��	A�9����v�Gm��
��a�2f��%B
��6�S����Y ^�V�!��'����X��	"&�(L�tF�����E�18G��Ac�rD��*�m>�z
�?���!���o�����8����'?�/�7I�@gԶ�b��2{r
+��Ok�U��v-�T2���/�뛏�������%�%�"�h�@�U(|����/
hϪ^�o:�8�F򞶁���
�ʢ��mlڃ�_r8�iJޱ�Uvua~��ˏq�)��7o�c��	eч���}(/�e�S�rr
�&~��b?M�i~[M���,F���&~�?��|DZ"e��G�Ig���4�:G�
+ik��|�()�lco�'-)ӵ[���e�[yI�\�wr�N;TF7�Fk]g9��,r�*�
�� ��^<%d��x�cg����7��v��1�@�럍��u��;�p�=�C��*V�D�k��4���V��e�_r����.�'�x�C�)żӗ��]��4ʏ����ˇo��ae�9]�ޥ
�Ɉ�4:b�L�A
+��MD�7�k( ̨'�<Y=9Ƴ��۵�"��~��!����l�_)���a�^�&-�r����z���u9t
�,�6��[e���
�d[��@�X��'#v��筄���%�?��E|���)TŁrpD�L!*�A���J��&�c��J8d*z�!(���B%p$mD�X1�?)F�Y�c�d
.HN����/|L�
/��\L����S(�
+�1�-�mh[A��Oy at A#�P� आ~�u
M��|Ք������� '%{��&{����:x/���yng2�ZV]B�I���Q�������6�7rA���!X�!p����B%)� f����C`��ƍ�s07;�"����`�V�Gos�5����eZ������Y�q�K�<Y3m
+d����
o�H�}�S6,��La�9��Bͪ[��(
+��U�9'�i��đ��Czbu�[l�`�b���y�f
��a�
�|/�
�/� Vo�
+*9��ؓ�����
�H�b�il�l���
��BoN
��]��^��ä#w2���V5�w^G���q�_�t���k��`_о"=C���ꀊ��`ֹ��j�T3�!1���VJ ����w at A�,��}I�M,���tt2ŀ�)*GMܯ���)�s�d'��^6Հl��d�N�0(&T8
:�S�'����Z@��dٶ
E��Դ�U-UK^u@�.behj��p�*=
u6�f6R5��D�7[E�
bE�f~�{?(���w$�:}��C �
�O��9ȧt{�d�%ߡ��wd�Q�u��r�kF�Ox
1>�QL�!X�r3FUV
�r�I��_��ސ�?�H��H	P���7��ԩ��#�c����%��*gF)�)�
�N��;���TP��v���1������s�›��f]/3�4�U�%
+AQ036:3�J��QK�+`f̌��ma�����03j�`�1�15-�YK������,cf��V$�6Lga23
+y
�H���?���3�#��Ǡnڌ[��=��	��,�O�g]�ɿ"��y��
+l!�(3C&�3c�X�g�a
EA��Y��QAz6�CLP���+����7v
���EoR1�_������֑W���

�|LvW#�C�tn�T�F�FԳ�v��'R;C�>jgF�A�#e�pK�mD�{���$
�՝�L��#��Ǹ��Y����P`�61I
MR�nR�Lҁ�e�Ƭdi��(\��n�v��\��C
��c�ch�"�=?D����{�+ǸT��ҭ�~�O�[n,�!ZTaagP�Q��O��c�`Y�p�Ykn�\�Q�[������������Y��5wi}[��
�l洿o
�D�â�nJd~V.Fq}
+?|,�H�ү�v0

Ǣ�������-[�7&�гQ޲�;YϾ�����
i<�%��l��W�R���0��8�n��.��0�m`5�
�f5`Y�(a�-�A�b��������ċ�<bR,�G7ܕ��i��Mw
^\|�!ȵ�!��7w�W�*��ߕ��_dKАȮ�*��t{uyy�{L��A{�����:��y(
�&*����M���?
B�s
+endstream
+endobj
+13291 0 obj <<
+/Type /Page
+/Contents 13292 0 R
+/Resources 13290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13289 0 R ]
+>> endobj
+13289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13293 0 obj <<
+/D [13291 0 R /XYZ 89 770.89 null]
+>> endobj
+13294 0 obj <<
+/D [13291 0 R /XYZ 90 616.469 null]
+>> endobj
+13295 0 obj <<
+/D [13291 0 R /XYZ 90 550.426 null]
+>> endobj
+13296 0 obj <<
+/D [13291 0 R /XYZ 90 499.193 null]
+>> endobj
+12822 0 obj <<
+/D [13291 0 R /XYZ 90 474.66 null]
+>> endobj
+13297 0 obj <<
+/D [13291 0 R /XYZ 90 474.66 null]
+>> endobj
+13298 0 obj <<
+/D [13291 0 R /XYZ 90 401.981 null]
+>> endobj
+12823 0 obj <<
+/D [13291 0 R /XYZ 90 367.311 null]
+>> endobj
+13299 0 obj <<
+/D [13291 0 R /XYZ 90 362.828 null]
+>> endobj
+13300 0 obj <<
+/D [13291 0 R /XYZ 90 289.965 null]
+>> endobj
+12824 0 obj <<
+/D [13291 0 R /XYZ 90 255.295 null]
+>> endobj
+13301 0 obj <<
+/D [13291 0 R /XYZ 90 250.812 null]
+>> endobj
+13302 0 obj <<
+/D [13291 0 R /XYZ 90 177.949 null]
+>> endobj
+12825 0 obj <<
+/D [13291 0 R /XYZ 90 147.769 null]
+>> endobj
+13303 0 obj <<
+/D [13291 0 R /XYZ 90 143.285 null]
+>> endobj
+13290 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13307 0 obj <<
+/Length 2096      
+/Filter /FlateDecode
+>>
+stream
+x��K��D���:�}��[T@��P�dᒤ�����–Y�%ߞ
�G��5�� E�������	
�
�8��jr�b�AFR\��$$��
�L	F
+��c<}9#x������i��p-�����&
����-�p������]x��]�|�!-yJ
�R���7�g0#�Հ�

�Հg��ۄ��lN1C���~fQq�Ut�3��Q��K�01��X�����28 �[R:Xl'o��`	�0bF���m�)��M�z���
�?���(��͚�A�@�4�ҟ����u���I�MQ�`'�[<�HP5��<�z߂��51&��#
Ѕ�!:�>IW���%�_'
Q�r)�F�mK����E�Y׊�����:�q<}n���0�15]=l�8+�u(
s2�j(��v-e�#�6`�loC�
��1��.MfTL�"gַE�A�5��1I��{�1+�R�!��1��zW�q ���0^�. 	�4\���
+
5��ɢGT#�o�B3-���P� ���x�l��l}���p�3`�Mz0��$Q�k���
�XV]��P��N�e�ȪJ�_��B��Np�R�
�}���pk�ftoK ��Gz�����]��ׯ"X&l�B�H��[� ,$Ѕ$|)B��>�jۇ�+5��O#Ҥѳ�3Հ�˴�o��Q�&<�*/�mr��{d7P����00{>��:���
+n|�P���� 	��aY�yS�7Op$E�9��<�
D����b��e�
�M����s��^s�
�3�
��SD�.~�*�
Ҹd�쮬:U4��w�f��W�7Q�EqO}%�
���KO+���
�;�"�
�:���j�"�\��҉�<ߍ��9,
ꝁ��H����z͜��R��#�$�0�P
v��A>-� �c��X��)h_�H���E�8�~���x
N"����M�1�G�G0�c�\�g��!�
-������6�X�C�S�?x�i�q�O�����O��>sUI!�ч�
+��T#J�AiF��
+
+L���>�T��a�H�:D�(
�$�1�+D%
D�����:����aZ��_�Y��w�� sv���?�z��Ϝ�z8�

-��3h���
+qF|ROKr
�p�Cg��ǧ��tL=�z
K?�����t�Pb������
�(��Ò��c4�"'���"�:�ُ��������qQw��$��q�i߷zx�A
4k�� Oka}���y[p��ȧ>0�ݖ�Bz�C����}@��r��-$S����L؇)pk"�r#_�q� �
	a�8����!�k��҇�hY��W���$��[��
+
����}eo�t"�<qZ�:g�Q9Ӻ�o$�!�1x�HN"F2/�y'uH@��Y�Π��m��p�Ғ
C 
��6�E >-��c��Xz�@��pd GY7G�$+�A�]D(�D���Rs�c�����@��
N,������(ͣ ���p邈�"�	��$�r� C������w��
�0
X�j�fʺq�Έ�&۞��F�=1��g[��Û���>jqל
y��G�_��p!L���s_���ە�W��E`q�
9	"�
�EY�})J�l�m�u�K�v�+�u��5��:Dh�gKuQ혡)ʖ�o�
+�nS�b��e���#�1��1N{�]����
�r/����3h�GaGZ��ג
�{Ԟ&k��|ZZ�^��yϱ��{R�����dt���;��r�tz���-����(ͣtGlo�<h3_��p'��
Q���gO�;+i*�y���;g�h}�L��wɆ4>
+���;��x'�KS9ߩ�$�偷���I��u
�D�����w�G Ƃ�}��
�yK��3L{}��%9��H���x�;��Vt�1�D�s,�Bw5ݝ
��i�D����ٮS�U��t�eO�j�=
^J^=�TH��%�22/_�(����үgBL���k?�������z�
��m�D3hjx�:�ʂY,������$�G�R��w����]��_^\�<�vQ�B��U�ڲþ�^���$-�M��(.n��gP=��N��V� g�=ɟ��o��?����~X^��i˂�p��
�EM�
+endstream
+endobj
+13306 0 obj <<
+/Type /Page
+/Contents 13307 0 R
+/Resources 13305 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13304 0 R ]
+>> endobj
+13304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13308 0 obj <<
+/D [13306 0 R /XYZ 89 770.89 null]
+>> endobj
+13309 0 obj <<
+/D [13306 0 R /XYZ 90 718.682 null]
+>> endobj
+12826 0 obj <<
+/D [13306 0 R /XYZ 90 684.012 null]
+>> endobj
+13310 0 obj <<
+/D [13306 0 R /XYZ 90 679.529 null]
+>> endobj
+13311 0 obj <<
+/D [13306 0 R /XYZ 90 594.711 null]
+>> endobj
+12827 0 obj <<
+/D [13306 0 R /XYZ 90 560.041 null]
+>> endobj
+13312 0 obj <<
+/D [13306 0 R /XYZ 90 555.557 null]
+>> endobj
+13313 0 obj <<
+/D [13306 0 R /XYZ 90 470.739 null]
+>> endobj
+12828 0 obj <<
+/D [13306 0 R /XYZ 90 436.069 null]
+>> endobj
+13314 0 obj <<
+/D [13306 0 R /XYZ 90 431.586 null]
+>> endobj
+13315 0 obj <<
+/D [13306 0 R /XYZ 90 358.723 null]
+>> endobj
+12829 0 obj <<
+/D [13306 0 R /XYZ 90 324.053 null]
+>> endobj
+13316 0 obj <<
+/D [13306 0 R /XYZ 90 319.57 null]
+>> endobj
+13317 0 obj <<
+/D [13306 0 R /XYZ 90 246.707 null]
+>> endobj
+12830 0 obj <<
+/D [13306 0 R /XYZ 90 212.037 null]
+>> endobj
+13318 0 obj <<
+/D [13306 0 R /XYZ 90 207.554 null]
+>> endobj
+13319 0 obj <<
+/D [13306 0 R /XYZ 90 134.691 null]
+>> endobj
+12831 0 obj <<
+/D [13306 0 R /XYZ 90 81.969 null]
+>> endobj
+13320 0 obj <<
+/D [13306 0 R /XYZ 90 77.486 null]
+>> endobj
+13305 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13324 0 obj <<
+/Length 2586      
+/Filter /FlateDecode
+>>
+stream
+x��[[s۸~���SW��`�	��>�Mvv��fw���xh���J����q} ^eP�N�YOf"��>��'aDEp`���֗�������!
"I*��y� ���G����&"�����?���͛n>�gon.~� ��
+(T�t}��fp�{��E*x4���
>W����.pG3���jD"��L0
+A�&c<*���*.���[ּ�("!�t��
�
���j@���:O�T��@����G�@P��Z�]����"�$��~L�(�����1ţl��Hfy|�ny��������"���xu�a?�
%Q��R�,�*�2n�h���;��H�jQ%��z
^���O�H�
������!
M�tS8� ��5���n�&q~���C>& e�Yf�cb��(���]eD�
�(�uK�D��P�G�-(C<
+kPg��g��t���cv�} ��o����
+�2�|�)cUT�s2��q�(Ũ�E�
K]��
U_��H Ω;#8w�t�]:T�0!�u0l��R�6`/U}�
��Aܮ]kCQ�0 ���m�\��3粆��e��2�U�૷�c
a� ���o�=)�y�q� �1�]X�-�CG(�(��,��	�t�3{���'{��˔�^1Ҙ��C
[X�)�͠;c���x��(�|�P;�: %�T�� ��$w�6�%���<[���e�?���K�H

@�D����-��1�0%�
S�������	?G%�xo�w��
�<YN�_���ūm�P�?���a[$3�A]7��"�"���:���(E9D)�EN��6]y���|�yj�g�ك�`48���@�I 
B_V"dBQ qY�^dž�r�bm��q�
&� �0�BR/pB%��W�H
+7�T�R"�A
���T�[�Pm���Z�k
��~ޕ���@�>
ٻ%Ӣ
�8m��DR�p8��Ճ~�
���u�G�^<�ٷD�g뮃�<CT���HL�X[�	��!`>S7�ۚ�`N��$����s6?��
�ӭ��x-�B��J�%Z()�pz��P
+I�(���y�8��Ѥ��,I��2})0�lG��+��P�~
�|K�`
+)
+)�&���2MN���6�D�y�tX���*��;Ǥ��k ��� ͤ�&���*#�W�lg`�]h���y��	D
+�}B�d��|�y�JEP��@0�!*{go>O��2��T���X0��ڟš��:bM�˴f��P>ɮH�^K��O &`Q	ɓ`>p�)�b���b��!����/��W��-d�,
�CJ`�"�B18:̼Z
+��B~�T��p��]_�!
Ǝ�7�<�G�1�݄#���I2\^�<Q]�w�w	A ��/hO�W�v	���2յm\,�V������`���~���2�C���_
ٕ�n��q &��]
�d�Ӂ	y��	�(�
���Σ!�i�lW�� ���w�.\u�<���	�gݺ�CxtEaƐl��j��4�쬬�s%�huKoS�uRM
ߥ��F�bf�j���&�$;]�V"�#�sȚ����J�e!�M�l;]�M��ͥRZ��Y�:��yeu�Y
�ڟ
L�hQ��
�2RLJ�%��1�
p:����ڳ~��eSȱ���XE"�U�wȀ��8���(�F�c($v ��bV^9���T�b��-�2�?.�<qeS�
�*$�$���N,�	�4��bfzt�
+�I��g�߻DS�3!`��2X�WS

�`����Q���7B`������\�`�-т�3İ_ҁA�W��8��LM�Xnk�E��ӭ��x�L>�J�%Z(1
f1�P�Oq,}u�"n$��B���f�o<�
�O���D
%���"���i��G�Wg�⤯:�|m��a�<yU��"�Bӯ<L�_���`k�A\
+�0�e
G�s�T�C�<O	�{k+��Eb�:YeqqQ�y�5�&�ls��T���je��O�bH
+�S���
+j�����:K9����6/_�����A}��P
:��uJ��Zi��;D��	�x�q�3e<]�q�-���C��[*(�$z��3@)'1��߶D���R�!�(o��OK+�v���ێ���m�ߞ�c��D��"�?���t򷔀��N�V�y�Ǧ	�:�O�U_�D��ޚ�{
��.ɦu����U}׶W��0y�#���[�T�~T�7�V����(=��Pt����abX��p2��""��n
���!M���
8`\�п���Z��eڦ9��_���_���

L�B��0f=�Z��ߐ�#hQ&�'o��t�b�
������a^C؄
@�"�>����p����5v[��0�c�R:����~A2a�p�����|B�/��>�S�`6*�ƿ��TZ���Mt�4-�([*p������xm56vN�i�7T�9���Kg�9�c�:_�u�`n'+�*�?U��!/B�C�jMv�X�� �L�	>��|�E7���o�[/���4��@�Ih��׺6�w�W߭Y�
�5�& o��R[��1n���۫I�=����ًl����n�ؿ���xe�uP��a�Pxa}���<��$�RY��]��W��l�# �j�	�(��뫫���&I����޼
A&�|�i^u��Y^�/�\�Գ��/���
+endstream
+endobj
+13323 0 obj <<
+/Type /Page
+/Contents 13324 0 R
+/Resources 13322 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13321 0 R ]
+>> endobj
+13321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13325 0 obj <<
+/D [13323 0 R /XYZ 89 770.89 null]
+>> endobj
+13326 0 obj <<
+/D [13323 0 R /XYZ 90 634.093 null]
+>> endobj
+13327 0 obj <<
+/D [13323 0 R /XYZ 90 543.343 null]
+>> endobj
+12890 0 obj <<
+/D [13323 0 R /XYZ 211.842 479.094 null]
+>> endobj
+13328 0 obj <<
+/D [13323 0 R /XYZ 90 474.456 null]
+>> endobj
+13329 0 obj <<
+/D [13323 0 R /XYZ 90 379.969 null]
+>> endobj
+13330 0 obj <<
+/D [13323 0 R /XYZ 90 264.91 null]
+>> endobj
+12891 0 obj <<
+/D [13323 0 R /XYZ 192.853 198.253 null]
+>> endobj
+13331 0 obj <<
+/D [13323 0 R /XYZ 90 192.236 null]
+>> endobj
+13322 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13337 0 obj <<
+/Length 3150      
+/Filter /FlateDecode
+>>
+stream
+x��\K�۸�ϯ�)��,o���
���T
{R98.G�FL$rLQ����4�%�z®�ʖ�(������1
=�����_�n����(B��rt�Ex�x���O���1�H�ɔ`��o&��b
|3�x���,�y|��q�����2~ȳx���2~L&�~z�#!
�FHJ�WԿ���8�)�_��Јa�~���(���7�ɔ
+
�":N֏��L쓷�")&D��l�X�Ębh޼���tC�

���
��7�?��

�4ˆEz�T��
q������
vn��
+sk.N�@��YGc>R���[�A�
�
���0Iƛ��=�����_���$�6�dyd��������$X
�
+o	�C�j�����G��;1��屰Z
��
^Ɍ�n=�ET���[:���,�
{�L�0
&�M�g�Y���{�f�:�5�ۏ����Yټ[Y
XGgy�Z�˿1fΦD�-�"M�w�e������]Ҽ��a=
+"�B���3$	��-�5GD�0xf
+�ԩRL�
H����$0_lj�=N0g�uR�e��/
.���
�G�۵��yB�8^m�Ӱt��;�҂��Rh�K� �XR1�[,�O��u�������<�rpv_
M
2��@R�nDSh�M"B��0h�E�DJ�0#v��r
+����<uy)�m�eq�IJ�A+�\Xͳ��#�K]��6�Λ���D'��b�
c	HR.B��b��%͒
+D��[��Y�XBzt$[>!/�D����V�g�$<Mk��qI"E�JvI��uHV�	GR5G�HF�ÖO(X�!!�]Z�)緷i6� �x��?Bj����<
|�9Ҙ���]Q�L������HY_һe��~�?�ɪ)b��2�+>�"�<I�DZ�9|���)l�):�i6�׏q�ޯ��*���`s،��2�i^Ns@O(H��Wz��m�'�=�g
+ɶ#bS�4:�/�6/<�A��c�3��.�,/��}����4E�v�����D��3���xA��h
}A�1$	�]�H�m�ի6��[@
+�q���ڕ.BZ��-�P�R�%3?ʦ��)7=�G�
+�r/ڡ�9b��;\%
W�o�2�Ζɼ6�n�܉�SGmJ)"Xu:{�!�\{��[c�-7
�Sd�k�[��M�_
�,^�����F\�6�z�=N��y��u��4Z
+П$�B����G�	7e`6��sj�B�E5��[׻�L���s�
+O�\��
2�ңő"�&_Wݢ�/�5���m�/
U(�����P�W 2�wp����~�G�v�C�,L<K]P�Y
6��㋓���wd9f������`�O��F�Ϯ|u5�!�A 7��p<�	
+9
��
A��J����$��Z#x�'�����)@\Z��
�
�~QL��
*(+ܮ}z��'�
^&�k
yt.�u�J$M���!u)�E+Eע���	pͮ�O3ӂ�Ы&v���
VH��u]��U���V`(j��p�	NU�E��W��]��-T���I�ll�U`n\�Q������g��5���|��E��I.���fV
+�	�[��v�!L!fɊ��e:[�߀�@�dl�`f�&9�%��^���1O3I��2)	����*!�$����%R�@�b��~[6y����$�)	�oE�7�_q���Cv��S�jtn�=M�N�8�K}��Jf���
3�'���8�> ItȩCp��
C	��N
xUL�3'XWr�s��o3��\��75.�!������Q�X�Qy� �JF�P�0��W��1��@�����-�0d#4���to��sr���:V�ӫ
+����iؼT+�@�����
M��&d
+�#ق�9�BS��3Gh딿�@y
^�c�_�R;(��T..�d�<�lg�$�oL)%��)]��&�3�2���e�B�+�̭��:[�m���:�J
,Y�c��i�Z���)�6���I܋�`�L�$d�x9��淌K�>�e,�袂��M���HC�o;$���2HJ��:��6����vG�
�=I��6���wl،�$�5��iz�4�١����4�tԛs���jn�\s
=::����ڷ��c%M���z�C\��f��[��]�
ߒ������o9�ߞF�?���l�&���Ƀ_¾�?x��	�5 03���'�0�} � /���6�f56d�n ,�� X���`�".���(�gL�99gL����0z��FA�~D�D_7��H���#ѡ08�HcI#
�B�T`@�s��S&Î?;Ab��
ض�>S�W�B��A���6Kv��&Ó��$?��-�OV�j!	;D؈"	��	;�`0~`�
�3�݊���n��ª1���Y���Y�]�UYU�p˝wJ7����l��S5Z��v��Š�6�W>�0�m�@䭹�KOj� 7l\��wԲ�A��7�
+�
�
(� ]�_DC���&�`ܐ�B�ӳ�?M��!
��s��PWim���~����ab$ٵN�r�D�c'|Ξ��W�O��d��#�1s�txQ�G�i�~�ɗ�w_�
�,I��9�
}�����:ct�)Z�A����G3�8A�S�<rٌ�%�N��^njs]n^�Z8�OT��&A{Ǔ$m��g�c��y�L|�_�$����0�^��5�wc�w��z��d��5�b
uQ�B3�D��I�Q=zJ˥���
y�|�fnW޾���`�#g�s�/�t�s��pT{P�1���=�ۧg�"��
,c�>����,Ϧ�&E~��b�
)P䜅4����C,7Un�i��{���o�'�ܯ��o�]v
���p�
Յ���w���i��uk���K}�א7�"�|z֙��:�C �uȿ]
N�"�@�K�� s@P�T'F��8��Ɂ3I�c���zt�ĩ�(������
��T,h�
��E�H�:�Y#
�jp� �4�y
'~�u99xf�SqBXm��X;ӫ],�02�$
z��r�����D�ԑ�V��
�wS��Mۧ�bqsn�H�7���?7I�ljc��g�xe�M��f\E[��M����x�.�3<��G�����R�
+1G��,zY���ϟ�o �}@���7�:r@�PM�)	�y�
[����	��k
z0�Q�Z��O���j��:�՗�݃��l��
���� lX��
+endstream
+endobj
+13336 0 obj <<
+/Type /Page
+/Contents 13337 0 R
+/Resources 13335 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13332 0 R 13333 0 R 13334 0 R ]
+>> endobj
+13332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.931 140.646 186.185 152.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+13333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.668 140.646 272.341 152.979]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+13334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13338 0 obj <<
+/D [13336 0 R /XYZ 89 770.89 null]
+>> endobj
+13339 0 obj <<
+/D [13336 0 R /XYZ 90 720.814 null]
+>> endobj
+13340 0 obj <<
+/D [13336 0 R /XYZ 90 630.064 null]
+>> endobj
+12892 0 obj <<
+/D [13336 0 R /XYZ 211.842 565.814 null]
+>> endobj
+13341 0 obj <<
+/D [13336 0 R /XYZ 90 561.177 null]
+>> endobj
+13342 0 obj <<
+/D [13336 0 R /XYZ 90 466.69 null]
+>> endobj
+13343 0 obj <<
+/D [13336 0 R /XYZ 90 351.631 null]
+>> endobj
+12893 0 obj <<
+/D [13336 0 R /XYZ 192.853 287.382 null]
+>> endobj
+13344 0 obj <<
+/D [13336 0 R /XYZ 90 281.364 null]
+>> endobj
+13345 0 obj <<
+/D [13336 0 R /XYZ 90 190.26 null]
+>> endobj
+13335 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13349 0 obj <<
+/Length 2174      
+/Filter /FlateDecode
+>>
+stream
+x��[َ��}��SFF�ڗF �̒�� ��`�T��D�$5
�}nqI�RK��c�O������.�$�={����_�wo���g��Tz�g���AB·��0�N?��Ԉ	O������_������ݧ;��GJ ��������=�����⦍�)�ϵ�p��
�li>��~T��Bm��S�!�Ei����6��8+
:�<�
�pd<�HPu��b��-��Ƅ�0�4
1X��p7AF�
,�O҇�ϵ ��#
+�\����l����B(���(8W.N���Q<�x򛿎�G?�25y�m�8/�kl=(��̩���{�GD�S��vRle
G�4�R1�
OgT�I���A���s�"&I�G��۴��
.��M~
��Pޞj��R�=���
���np�U��,
K��'���E�"�l�<zZ���	f��["s4�,$Q�ibހy
OJĴ.g��7�Ц�.�u��Q��
�X�4�wi
ߗ_�U
 �<�L�O���i�����)p��q� 
�c=6G�*^����Hu4��e^
��<�-VaP�r���z͌*� mF)"�ZW���ADLgcX�p�]�y�����<���X��B!ś����0�7�fi&�@�?�Ɵ �<����)�$��S�m�����tm���S�'�zS���?GO������-r�9�a�V�v�Y��js�ۮqC�U� ʬ*��ڙk������DŽ�@Fh%	"CГ�N!TM���ԃH�HP�V�-�u��6���J,�tƅ,�
L�bk�P����>�rS�,���R����L�b ����>!H�#��gF�F
��������"��xٗߒe}��J7}���C�X
�.Ķ<�B�Թ� �g�ic#V�!tBG��P����d��32�=�K:O��EA ��ԃ
�S��<L� [...]
+K�3�e�\�x�BP�e]�
*D�˘S
�
��#L�����d/T���8,!^�
m�*I��Cw^�Ұ�f�
��
�
/;���Fv�g@*�
�=/��m2]
z�;
�䁘
7g#z*@�U"H},I�x �H��U�)Nly4f�@
ϊ�R�M	dE�+n���"&�n�M�<
����Q�wkH60//Զ���x� ��mE��ty�/@Ӑ����7=��!P(��BY(eT_e/D
+��>D�%�?�U���]�
M�1}e�/W6ٛ���(?��P���c*?�}Օh腎�m��*�Ї9��.��+�t�r����N
3�
qH��#��LR��N� �0�4 at iZxN<�hƠx�1M�|�W:�s�^_���w`t�-$a�a]�x��bB!��s%Ÿ��)�y�2���H�RL�oPS�C�bܙ�r�g-�z�^��:~v��#z��C��9���͉�=���|�G�%N#�I"qx%<:V��$q�1+G�/p)�Ah�����]��y-V5��k��,����J��X
��ȍۗ77a��Z�0 ��'��7��I-����l8�Z�ʊ����/�DL��8&NP,�+����R�x���߱�S��~y���z�L}
�.�<`�n�I�h�K�Qj��
2r���D@�k���B
fF\"�n4cP�u��k����Xsi�݅F�P�Q>cж�e�2P��پ��]wm͇r�_�_�d�_��(H�]�#_�x��%vàހu�d�����i��YT"�Sr�J��x��%R �u��Q�~�J���uJ���7%��JV�(٫cq�:p;K�mŹ��:
m_��⿧
V3��
�0�1�!},e��b��I�u�G~��6Ey/��S2)^
�/
�:�T=��a(V���<�P#d�3v�z�l�X�Y�ܭ��rw<�}�nA~u���oyl#���1;�O��E��A��r��eXGuB�$�o��PMo���S�����

D� � 0Q��������ě6��[`����u1�0ېFE�����������.����wS!&U��ӏw~�)`��ov
�4+�Ğ$[�X���0����뿍�?�ҲGp`���|{�����9
�g�XS

6��W+K!֘MR�|9���Ʒ�r�x���^
+endstream
+endobj
+13348 0 obj <<
+/Type /Page
+/Contents 13349 0 R
+/Resources 13347 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13288 0 R
+/Annots [ 13346 0 R ]
+>> endobj
+13346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13350 0 obj <<
+/D [13348 0 R /XYZ 89 770.89 null]
+>> endobj
+13351 0 obj <<
+/D [13348 0 R /XYZ 90 718.682 null]
+>> endobj
+12894 0 obj <<
+/D [13348 0 R /XYZ 439.299 666.388 null]
+>> endobj
+13352 0 obj <<
+/D [13348 0 R /XYZ 90 660.37 null]
+>> endobj
+13353 0 obj <<
+/D [13348 0 R /XYZ 90 591.173 null]
+>> endobj
+13354 0 obj <<
+/D [13348 0 R /XYZ 90 537.484 null]
+>> endobj
+12895 0 obj <<
+/D [13348 0 R /XYZ 90 490.859 null]
+>> endobj
+13355 0 obj <<
+/D [13348 0 R /XYZ 90 486.376 null]
+>> endobj
+13356 0 obj <<
+/D [13348 0 R /XYZ 90 415.645 null]
+>> endobj
+13357 0 obj <<
+/D [13348 0 R /XYZ 90 361.956 null]
+>> endobj
+12896 0 obj <<
+/D [13348 0 R /XYZ 90 315.331 null]
+>> endobj
+13358 0 obj <<
+/D [13348 0 R /XYZ 90 310.848 null]
+>> endobj
+13359 0 obj <<
+/D [13348 0 R /XYZ 90 240.117 null]
+>> endobj
+13360 0 obj <<
+/D [13348 0 R /XYZ 90 186.428 null]
+>> endobj
+12897 0 obj <<
+/D [13348 0 R /XYZ 90 77.486 null]
+>> endobj
+13347 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13364 0 obj <<
+/Length 2168      
+/Filter /FlateDecode
+>>
+stream
+x��[[���~�_�S������*R�ى��$�Q
fG-��{ Ϭ�}NQ�]��dg����s�s�s>�q�
���7}��}�X`��T���@q������]H0Rx4&����0ʖ�����j��%q=�8ʢl{w�󤈞Wi�x��E�d�����7�쉧� )(/��x�F��
2
"L�
�|J·�(�Gc*034L��ET$�̿�i����t��a"�Y�7�=�|�! ąE ������{
�p�� #ft�\�
8ep\�7���U��a�Co��Ǜ�"��yQ�{MQ�JO�B��zA�]'i���K�X�W�YO ��w��8�<\��-0�2Z/
 q�Q�j��o\��cF��c�⸣6r����(
�0>L
"%�����K�Li�K��D � �U)�ԦMV�s�q�I����
i��EG�H1�����?�Q0�X�����S
�Y���sW�9ª�g���Q������_=�L �� ����/q\h�r`w�00S�� [...]
UQ��w�t1O���l�ġ�tiǓ�Ru'4��(	@ ��#�B���(��0��F��[T�d��wp��Dž.��aG��K��`ޮ��LW��I�<;
�����r��ﲀ|�yn�\,�<����24e,D:���g�Y.&(
�4�I��4q
S�䃑���IS���H��G��9J�gC�&�
C�ISW�C\��vG	�;��X�%ى�K����
���n�;�
H	�cG����#-��=}�4�OfU�R�����]]��G��Jd�YC��U2O�+S�gW�����]1
5zveEahM��,����dDD�H:
 �@��!
�f
+���fw��
)��L��Y��>m����}݌��n؀����!��K��o��	
��^�E�3���yf8>'��
+L�0wQ^+��O�ڒڹe�eGh d�y����1���ܝ�,&��0sb�������v�_Q>`����`���~5Y���^���
 $r͇,��%�Gv)\�rp�k��"'^��;o~�h,ucf@��'�
+�KmQ�o�`��Y�ݖ���]��W���c���q��χ��E���D��n�����N�<}������&�/Ԁ:o�P&\��.*
Fy�Y�@�#΢��1�R�ꩺoʼn;��
�!Z�dwW�y��Y׊sP�FBwa�ȧ�Eel�T&���m)�.fI��*+ˌ�>T��G�J (iM
y4M�� +Kʷ�Q�o�hP��y)�zL�룊/�QE�@��i��Bq&
(��zV���JR�jh��ŬC)P&��J!������2�e��2�5�{TQ�Y�L�3�Qt� ����_:
�1��G��k��|7�.��jqӃ�i;l�
ҖK�r(����s�&��>�p�=�������5:���VК�(���M)���h|MK��K�����4���6��epY1��ͷot?`�?�pa��OQ���cS���I��N'a0�Ʉ�t�$�������n���L!�Q4�������i�'�3���0����lޡ��]`�r�%�3&8��lC54Sԭ����t

XB���ˋ��Չ�,Y�x7r��ʬ<
+endstream
+endobj
+13363 0 obj <<
+/Type /Page
+/Contents 13364 0 R
+/Resources 13362 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13361 0 R ]
+>> endobj
+13361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13365 0 obj <<
+/D [13363 0 R /XYZ 89 770.89 null]
+>> endobj
+13366 0 obj <<
+/D [13363 0 R /XYZ 90 721.073 null]
+>> endobj
+13367 0 obj <<
+/D [13363 0 R /XYZ 90 658.004 null]
+>> endobj
+13368 0 obj <<
+/D [13363 0 R /XYZ 90 604.315 null]
+>> endobj
+12898 0 obj <<
+/D [13363 0 R /XYZ 90 557.689 null]
+>> endobj
+13369 0 obj <<
+/D [13363 0 R /XYZ 90 553.206 null]
+>> endobj
+13370 0 obj <<
+/D [13363 0 R /XYZ 90 482.475 null]
+>> endobj
+13371 0 obj <<
+/D [13363 0 R /XYZ 90 428.786 null]
+>> endobj
+12899 0 obj <<
+/D [13363 0 R /XYZ 90 382.161 null]
+>> endobj
+13372 0 obj <<
+/D [13363 0 R /XYZ 90 377.678 null]
+>> endobj
+13373 0 obj <<
+/D [13363 0 R /XYZ 90 306.947 null]
+>> endobj
+13374 0 obj <<
+/D [13363 0 R /XYZ 90 241.303 null]
+>> endobj
+12900 0 obj <<
+/D [13363 0 R /XYZ 90 133.657 null]
+>> endobj
+13375 0 obj <<
+/D [13363 0 R /XYZ 90 129.173 null]
+>> endobj
+13362 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13380 0 obj <<
+/Length 1955      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F~ׯ�i#U��}��Ry�d��d6���O�S.,a�Z
y�������a]�s������>��G�G��8]��Xd��TF����Hq����ѻ1'|�~�kĤF�Hx�����g��]�{�׳ч�[8"@ ���j��=�p��#ft�
��8ep���F�peKsDT�S{�,̭�� �y�C�;k�N(�y�J�$�2ޔv� �ΰ{�ݴ�v<���
z&Q�o-��=2�4	,�Pa4AF��[�v<��`'F�P��s���։H
+�4B���H�
U���d2����lS�q�h2e��u7Ң:n�1[WbwXϋx����.�?��?��Ր�j�t���d��B��
�7j,$�!��t��VBlP����k�<),�p�
��RpdԠ�eU�G,IpH���"M�	�@�H����dy�pD!�*�<�n�S�P�����c��fS,./�l���c|�.��|��x��J�b8�)�HNHO���u�1��TC�z��b�(�=����	�OY�۷ֽ��)o=�2I���_���D{2�Sܥ7Ʒ���
��E�����G�V��j��0t�yU�)���k�f���!.қ�乚�
xzN��O(��$p���9\�,:(�ܺ¹�?��)���d�p��B�BQ�.�Fx�
+)�lY��d�^`ߤ�z 9l�j����q�j�Gˈ�颊&/�m
+�z��	4�8_��@��%�?�%�<�~���q�ty�G�$����>g�Q�j3�o\��SF"�2��j��v��./���f�.%�#�M$�F��������X J�.�XM@>��]Ϭ�#�x�Yaa�+oV���1��6Z��Z$�dʅt5�gÕA�4+�j�����S�	�����ZCd6_�m6GX�m�����.�R��ޥ�}�%�=
�)rSj��B�P�.\e�6��#u���
駊��6���ڷ������8�yS����m�������i���`/��4�v��� m�R3�t˫����2(�
+L Af�%@Ib
��G,I�`��PT�(.n۽��@L;&��\g�ѫ�<3ښ�ʧ�4W���e�4�b
Tu���C c!��d��T�"����!`lXF��e�rh������y����u8���Zvu<=Qv�
�ZT�~V �Zq)#�N߾�)���iz��
VX�/������gP=�!�8T
]��a�b�Jxy����0�@���� ���@�]c͐=;\�m�6݂�C?J�1L���|� +v��W�A�뱎�5��y%��A�ٲ�7QXe,�͉��6zGA�8mf>�6c��0I��#���*b��f������E;8��fg�ѫ�<3z���~�%��z�X=U*�W��/��Z��̦Qs��i
#�N_���$�낓�h
z�4�@��]Ӱ��0]�"5�>�"�#Ϙ�mB�g���������K˳
F �޾U>���c'����D�H؜<�Y5F��R�_����7�ƨ"�
"��P��C�X�Y+5�ͺ}us�Ӷ<���`j
��� [...]
�,�
֕��'�����Y	�k}�;�c�˨,�%��Ag)j��0J���c8F��n�0�n�n��X
)0в�7^h>���3�Wbyf8�e����m�ý2E�xSݫ$0�V��Tc�ĂQ���%'�झ70��R�֏��s��*�`'/��ಈr��p=
�8F��s@FE�}A��
`�,�p�4�kA���g�/4Bi����"���*���Wa�
+�N߰�Y�f���<��"�?v������>֕�

� �`���>/o��T.~Y��5�mᦀ7�ց�a�%wt?DB5�7���w�6�n"ĸb����ǚ"Z*�qB�8�m���a˝���WIR�fg����!۲G�
�+��ˋ����&ɖ"q��o6�
���v�;cV��gW�mu(������.|�
+endstream
+endobj
+13379 0 obj <<
+/Type /Page
+/Contents 13380 0 R
+/Resources 13378 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13377 0 R ]
+>> endobj
+13377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13381 0 obj <<
+/D [13379 0 R /XYZ 89 770.89 null]
+>> endobj
+13382 0 obj <<
+/D [13379 0 R /XYZ 90 720.814 null]
+>> endobj
+13383 0 obj <<
+/D [13379 0 R /XYZ 90 667.125 null]
+>> endobj
+12901 0 obj <<
+/D [13379 0 R /XYZ 90 632.455 null]
+>> endobj
+13384 0 obj <<
+/D [13379 0 R /XYZ 90 627.972 null]
+>> endobj
+13385 0 obj <<
+/D [13379 0 R /XYZ 90 557.241 null]
+>> endobj
+13386 0 obj <<
+/D [13379 0 R /XYZ 90 503.552 null]
+>> endobj
+12902 0 obj <<
+/D [13379 0 R /XYZ 90 468.882 null]
+>> endobj
+13387 0 obj <<
+/D [13379 0 R /XYZ 90 464.399 null]
+>> endobj
+13388 0 obj <<
+/D [13379 0 R /XYZ 90 393.668 null]
+>> endobj
+13389 0 obj <<
+/D [13379 0 R /XYZ 90 339.979 null]
+>> endobj
+12903 0 obj <<
+/D [13379 0 R /XYZ 90 305.309 null]
+>> endobj
+13390 0 obj <<
+/D [13379 0 R /XYZ 90 300.826 null]
+>> endobj
+13391 0 obj <<
+/D [13379 0 R /XYZ 90 230.095 null]
+>> endobj
+13392 0 obj <<
+/D [13379 0 R /XYZ 90 164.45 null]
+>> endobj
+12904 0 obj <<
+/D [13379 0 R /XYZ 90 81.969 null]
+>> endobj
+13393 0 obj <<
+/D [13379 0 R /XYZ 90 77.486 null]
+>> endobj
+13378 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13398 0 obj <<
+/Length 2962      
+/Filter /FlateDecode
+>>
+stream
+x��[�o��~�_��V����Qh���W4M|}�mQ6Q��Qtr�_�owI��IZ�����%9;;3���
I	W��	u���Qw��/��_Gbb��\O.�K'��Di\-&琉����R:}3ct����͌��f�x�,����:��Nj����&�WW����d�����׌5�sn��&���
iq���
��a	�z��Q�fo��9W�,�&��U\$a�m�L�3�$����BM%S��ٷ�g?�1��ĢHd&7���d���!Na��h=�\บ�;��m���4�rf�`a����ӥ���ϧ�7���퉰E<"�4���}��k�b�)Pi�lO�-�N�F�(��&QV
��wYm���㌩i�z��(�Nr��!]pb��i����ֶ��]�to:��""�
D�q��t�.���Z��Ss��d�5��b2�V���
�Ƙ"�GC
+��Cx����ҝJm���E��D)ϒ�Q
ى��%O��$

)V	�SZ�u��1+���
+�Qўu�fI�w+���Y�R���=o0�|�1s$�6f��#Mt��3c�??ī�xp���Db�bz�ɶE��G���g��%v�z�w
س9�Q9&�B;�d�� R=�V].J�|�2UQ
	����P��P�c�
+�7X�=�Eq.�"O�⡘�5L=�]h��߉�w��av.a�,�W]R�A�.�O�X����W��
�
�p��.�
$�(\j�'^�p1��&I4D�S���]9�u��K�T���ͧ�%��x�Q^z[�dfB�iq������E8�,�c�¥��<N��|yh��m��_�W������M���!���w�6<�Z�~�.syغ���ל��ĩ��<�n�E�~옝	@ɘ&�V��o,��Rsd��?�W��%Yb�yIK��v���M�^�٬�R�<q�t�C�M�m����
I}7�t��3q
�j8��T\�F2�A��R$
�@؞����	IJ=��5��
6�����)�mJ����:����0]�|��ǥ@�C&4c�<\.����WFR�N?:�������M��M\\���& 	��7�"�Ӥ|����;i9R]0b�
�y?�_�))V���ȵ�����	7�I
�|�
	��+Z��{�pL�rKy�I�n9�ݤIV����w����j�%$
2�0wŎWX��;�ܚ!3:� �s�c at F���'b�>
����L���a���m�z�`d.�U�g-���
+.�Ղ
n�p���$�m	
��1�
��E�z�r�����n������)v�˧٣��bˤ�'XQV4���&�/R�%á�����Fj%���C���O3xj�?�=�6�&�pd�$�{
�~�ao�}JI$O&�ag�\�w4e�����4�I�^��^\��hz��0��SI
������
+����R�I%����J/�����g�ˮ$�7kluܦ��X�*]�a�w�������_��	�^i�B[�g�f������OU�i/Kg��ln���ox���{� vB�b��ɑQ,ŧ�j�`
+���>�Q9]>d7��j�!l�܈���z�-\��a��\�ي�~�؄�z�HV�4�V�D�
q�1�m���X͊�_��j�R7�#����36]ѷ���n��b�ם�yR�<On��c9~�o~Iׁ_;w��%_��8[tQ��D�P ���X�=xN������k�3��
)�@<��Pe���*�kW������x����$��uW�3#��*��^�V�u:��d��ǟ/:T) 0�QH��t	�s���MW�m�(M��̬�K��3��v"���(�F��Z���v���}�y%29!Y{��֎��r
K��ĭΎ�Ug������·��H�~V;��:;
��B�d�tv��4��S�!�䞒��xI�[�~��S��6z��S?1��uZ<��a&���E�c�P0{��=
2�
"��K-�IV�l�0�ߑRF
b�N�3n�̀>��cڶr�W�
+�z7��d�3�w���ͪ�,��uΗ�����|�@췏��G�߭�}�9W�a��ġ�u�R�f���i��]�ɕ�ʂW�ф�v�	�6��!}&�|��GO�LM�[}&\���\��τg�&��/�Zӓ�����N��@�Nӫr
}���.�#��@�a;�;;Jw{�r�����j�9v�S��^�I��.sn�a�N
�D�n��&�e�
7ф�(q9b�st�>��
+��l�	�ITe*�6�N㣳#���7�D��6�VX���"
��RȌM�C�[����&'R�v�Nc�3MF~�m�_o��hu�ڷ��hDČN1 �H���yݼ
2aw�����D�7vvij�9��N�ع
J����Y�W-H�g��/4��)���
+�a_�F�r)
̨ݗ�@3@�m���� yJϕ����:�B����J�l�6����e:��[C?BARk9.�ǧP�
Q���8F�������.Q3p����[)���W�j'�?d��*��t5����L ;_Җȱ��)�#�I�� $���M����Pf����4��	
+�H
+6.>�&��Q���[�����E�}Ώ"���(B�k���˺�?����O#��
In�3�$9�s�\�0Pim�h��UY?�v|���5#Q�����/�@K첤��
������D�]
�DSs�/=,>:�
� ����˫�G��>�����{���3��U�-r_��	��9m��fٙ�A[���c����eeӖ�+��	��}\�)^窝�@]�f\	��5w_�FSDB�1|�m�Q���(p󰪙y*X
R��ש�0�nl<�%��*š?�W1˸��>���^}�͛�ɏ�$����U��8{���CJp��v�$0B����wIe���O����y�Ԭ0*���������v�d���)2밄��m���3��T!(�\}қ:��˻��2$鼒����2+���y�oV/��߭��/�N�
r�8^
+endstream
+endobj
+13397 0 obj <<
+/Type /Page
+/Contents 13398 0 R
+/Resources 13396 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13394 0 R 13395 0 R ]
+>> endobj
+13394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 117.316 212.124 128.22]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+13395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13399 0 obj <<
+/D [13397 0 R /XYZ 89 770.89 null]
+>> endobj
+13400 0 obj <<
+/D [13397 0 R /XYZ 90 622.761 null]
+>> endobj
+13401 0 obj <<
+/D [13397 0 R /XYZ 90 532.808 null]
+>> endobj
+12905 0 obj <<
+/D [13397 0 R /XYZ 406.869 468.558 null]
+>> endobj
+13402 0 obj <<
+/D [13397 0 R /XYZ 90 461.918 null]
+>> endobj
+13403 0 obj <<
+/D [13397 0 R /XYZ 90 357.479 null]
+>> endobj
+13404 0 obj <<
+/D [13397 0 R /XYZ 90 255.172 null]
+>> endobj
+12906 0 obj <<
+/D [13397 0 R /XYZ 406.869 176.639 null]
+>> endobj
+13405 0 obj <<
+/D [13397 0 R /XYZ 90 169.999 null]
+>> endobj
+13396 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13412 0 obj <<
+/Length 2283      
+/Filter /FlateDecode
+>>
+stream
+x��[Y���~ׯ�S"Qo�� ;g
ǻ�(~�f1�F�]&)�οO5��H�u��
d���"[_WU��U���|5���b�AFRL
��
�͂�CN����ۀI�������￟��~rk�
�N?<�q )
�/?�`��
0bFO��e�)��Ep;�a�
Y�OD��������P�1a�p'͇��0	�Q%#B�i.�
r�
�O�C�lO3�X�fu�V�|Q at X#H#���*�&�тu֮��
)���aC��	g�C�"���+��U'R"CUS��<����t���x��x�r_�y����x�pW�b�vu�^�Yƫh��k$�D�
+�z��dاO]�x^JXdʵ[����Mf�	��L
+��:*~���&���S����
|�6��]
2�O8��pH�ÕP�����c��&�f77�j�1D�"��A�25|�B�d�ݞb�4������mU�HuL�FF�� ʚ�N��zD������%N�~�2I�JV�=p�jT>&N
�j]䒰/��)o,FR����.�ѕt�<N�ă�G�A}��P�o=
W )��X��x���+g8�V�Q=��ZD��"�"gr�p-�QDTe�?�
t����=o�pi��@�W��?u 넕��bI�:�.ӈz	�
�aD�C�ex�\q�<�fIx�]<M������}>�W���v
n��%F�Q�1m��u)8fT!(�©*j-WMvsS��`>�!R
�����A��e�;�id(X ��(�����9%���l��R~U�|dj�V
1L;�(��Fv�-H���wLAZp� �
;~�^n�Yd��!�Qa#y,"��o�G���V��E��%1�z��ۘ6Id#Ơ�i�HB�P堧8�;
�(�D�6e���z�V~�F٨�.QfS�UeӴC$�2X�x���h�0�i?���c���ҕ9�E��oE���-K�
��t���)��tc[���
@��͐`�=2W�9KcFO��9р)w=���r�Sz�+�����z�(��ȯ�$]��a� Ⱦ
��<�R��Z$�5R�zo��&�s�w� f
~\(�XO��2�=R
��#9��[$��+�E�g�!�-;�Êv5H
=
%U�Ԩk���D
��zEk�}
CnYn�� Os�
+�@�p�*n����!�;RҾ=d���:�:|�jcW��}�+k��,OwE��P�)��Y��.�b7:
؀H��,���mҠ� f%[M�ymҾ�&-^��b��;���h$x4�F�
s�
�
�Q�]�b�,��m#*�q�SDa`!�T�o\̚��Sr̶�<���>�}� ���{��N[AI���sn��H�á�jvB=�����Zш�
�T����3X��T���j��cʼf6
�@�
t7���wF5\H���
�f��3ݿ f�
[�s�y�:��o7|�C������
Mm�7�Ac�7�D(Ѳ*�a�nq,�Dv�j
!�$�oT^����M
+��+����7�(��]
+҃Pք
��x���0Ҧ�l�޺Hmg:���I)�H��Ƥ�l��YL|qt/]��E�;��o�{�����.E,��l�zD����e�[W9]}Q�Q_���
/�)Th�V���y#e�1���y
o�
< ��/��SӒ7�T��764}�9o�|���}M��߰���9R[�oQG��Q��R�QGR!N��E7m4�{����6�;H5�i#�ﮎ�;�6�!�	��ä%mlLZ���Y!�4^�e�
��.����I���8�d�9gdwc?�����X2b�ϒՈU���8뻇јq�ا�pA�_:G�/;	���WC�T9��V=UR�Ξ]U:!���܎?���s1������s6Q�eg�@�6�����Y��ɶ�I�mХPu
K�<�i�1��R!�d3�>���k:tF���r��}
�c�!�x'��2ĵ�� ^ 3'�
ώ� :��� �!��w�o�ާ�%�o�z!�oh�J�sb�j
!N��3<W`��ip Z�x�=��
��ӕIo��i���d
��h�H��;4�p��_��_�L?��oT�'��*�����N�������s��0&*?
�j����7ō7�,���vpc�� K�j�����V`�bL��އ߹��Q����g����W۰8�g	��
KvG�–� (vЦ�F�A'�+��>�ê&�A!�;ϲ�͛7��c�
�>����8F[��a�8a��z�
7���t-%,�� E���
+endstream
+endobj
+13411 0 obj <<
+/Type /Page
+/Contents 13412 0 R
+/Resources 13410 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13406 0 R 13407 0 R 13408 0 R 13409 0 R ]
+>> endobj
+13406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 573.132 210.103 584.036]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+13407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 469.724 485.603 482.242]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.54 80.973 309.037 91.877]
+/A << /S /GoTo /D (index_BHZ09b) >>
+>> endobj
+13409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13413 0 obj <<
+/D [13411 0 R /XYZ 89 770.89 null]
+>> endobj
+13414 0 obj <<
+/D [13411 0 R /XYZ 90 720.814 null]
+>> endobj
+13415 0 obj <<
+/D [13411 0 R /XYZ 90 667.125 null]
+>> endobj
+12983 0 obj <<
+/D [13411 0 R /XYZ 90 632.455 null]
+>> endobj
+13416 0 obj <<
+/D [13411 0 R /XYZ 90 627.972 null]
+>> endobj
+13417 0 obj <<
+/D [13411 0 R /XYZ 90 547.288 null]
+>> endobj
+13418 0 obj <<
+/D [13411 0 R /XYZ 90 493.599 null]
+>> endobj
+12984 0 obj <<
+/D [13411 0 R /XYZ 90 446.974 null]
+>> endobj
+13419 0 obj <<
+/D [13411 0 R /XYZ 90 442.491 null]
+>> endobj
+13420 0 obj <<
+/D [13411 0 R /XYZ 90 369.628 null]
+>> endobj
+12985 0 obj <<
+/D [13411 0 R /XYZ 90 334.958 null]
+>> endobj
+13421 0 obj <<
+/D [13411 0 R /XYZ 90 330.475 null]
+>> endobj
+13422 0 obj <<
+/D [13411 0 R /XYZ 90 257.612 null]
+>> endobj
+12986 0 obj <<
+/D [13411 0 R /XYZ 90 222.942 null]
+>> endobj
+13423 0 obj <<
+/D [13411 0 R /XYZ 90 218.459 null]
+>> endobj
+13424 0 obj <<
+/D [13411 0 R /XYZ 90 135.643 null]
+>> endobj
+12987 0 obj <<
+/D [13411 0 R /XYZ 313.62 84.126 null]
+>> endobj
+13425 0 obj <<
+/D [13411 0 R /XYZ 90 77.486 null]
+>> endobj
+13410 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13432 0 obj <<
+/Length 2902      
+/Filter /FlateDecode
+>>
+stream
+x��[[s۸~���S+ͬ`�/�e��M�٦�t����L��(�S�Ԓt
��
 %P��Xt&���AE
�sp.��Q1Z������K������b#���rt�<R� !��|�nL0Rx2%��	��\'�L(
���t^&^g7eR>\]�8��e�'�oo�M:y���KBv�Sj��
+w���4�)\��0�0
��)	߭���L�� ��q�ެ�:�w~Ji9!z��3��
cN��y����
b�x���h��x�
��p�p'3zt�
Z�8e���������
2b?�����C�6������k��"
F�R\��M�'kk�Խ�q��h$�㤕xS�>��%i�>@�������b}�MUHs1�������^3A��U���r2��(��(�c=�� &�����hӆ�~ �N)�E�zw�Mߨ
x�
1,���zS���QG�AFe
+qC�a!?�e�3�d�(:ȸR��k��=c*��dH%�`�yM'��?%������X at m�B�gE^�=9%8b�M��)�8RԜ�L�%
�d'��V�o��[���="
�Z��
��D�J�/%�2XD1���ڿ�j��y}������ �Z%m*O8
/mM��ö%ֶ%�~N��	wY,���[�/J�����1kfQ�X���`׷Yէ�@��'>;r�DԨ�ce\ôn=�8�!ꄋ�o �0g��~�	�6f�E�����狚Y�w�!A�kj��w%��;�R���(�*�eʠI
��E���Fc�0r��a4�o��;�����R�p3�O�tSgPb9�>�o�wA��J
-\��;�E*=b�[&"*#��!����~nb�>IW�}o+��&
ʆ2�t���+v�_E�Y)�S~n�zn���
�U6�����˻u��~�M�
i�7��� 
�76�A�& ����z�b;�o�bB��>����;Y �U@"���*���bgak������� [...]
�M7-���#{�:�B4��UC>�_�h�[��(�8
w�Ճ�J,]�hc1�V	L��}�6�i;���m�]
ѺMR�C��ŠJ at n�t��
+
+6@�
V4��\��Z�2m��'u�<
+�˅
|e'�����قeG�h0��
C�%`�Y�[(S�/��̢B��Ƿ�Īy4
Q���*��c/��,���ot������M�\���"�nN�
.�Vm{7q��W�
+�j�*�.�
�d���X����Ww��?
+K\õ���׼�{� ��b[}����Vt�p{wQ��l���]�OdN�xR5��M
@K�J�^Z'M�Ϭ(��&���ry��yQz��Sh�ɏm�X���o�VY�P5�I��f#A�7��)�����\�I�t
ҶYZ�M�2]�/P�[�|��u�\6��/F�����˿��y<�#8
+�l�]?aϺ~b��(}j�d����q����P薷
��r���+nn
�h��k(�l��(�\n}m��19���	p�s�Q
0eU��ha�T��,�/N��I�M�����\�jϫ&��b�'�Ȫ�~=��f�@��a[�vz��+~r���۲v�_��.,�X4a�S�:VP�o���[������
#C�̀
X��Y&������d:�ɡ�2����;"��
+d�gii �
S��4#Ke��i>}���$�
����<�Ơ[ke:������U�@�x�n�(S#&��B���&�����6U⮲
�gL#	�
0,_�xP
%�M�34' R� C\"TŃ�O�կlc�QdY�.�bU�`U�������dO�p]Pe���tS�UZ~�Xn�������gz�*���a 7V��g��W
4ݤn�rǏ�t�{�y
�N�1v߮��ڊ:�	�E�����0vs
xum�	ݲ��.�)*z-;��)e�-o@ש&R|��0��tp�M
E�
���
2
�����wD��-�5�
���4 Oܑ��?��.6ŪX>Dx���� ���z8�@$9.��3�
�'19�@���U�sbr%arI�)Ln
������SF�\uv|�<�;�؁���B��oE&���$"���b*�6
��u2�"���-����%����=y��������6��ܙG;=����8�BJ�V�!�L�X����4)?����=��[�]O��J�BX�P��`�栦 ��Y
����Y:Mg
+	b �̸������ځ��<M����U��i?��b��m��B��e�셂�m��ӼXgy�_
��}\H#�M�Ƚ���쏄�t�g��5�
�nf��		P�F����t�櫺��9�U&q��M-�;���2�vh�
"�@z����ۇ
K�V��]� u{{�l6�B�/���ni������l�%����t��`�?r�'B�KF�
�AS_�.�(��–��C�����PWlM9Zɾ�ٗ&(����`�*c�y��]�o{��	���	�aC�&<;��W��jp��	�k���d��
)�:Dxֽ͇�E$p�s���Nؓ�T�z\R
%ctV��6��v6����wOZ
N�����
���d�
uCK�Q�:�@Q�H+S0j�
���B�
����]e��ˁ��+�;
s*�
VO6�p�HL͐a5�DV�nՈa�
++�?����W�����鏬]}�Ȋ1���֓
:
	�4+��c�����9V�({�ԅy� %oV+�B"P�v�޼y�/�Y��o'B��
�$�
G�,��h�)-�͆ ���x�6
X�+��Q����][U���J[w[כ��˛�e��K4+���a� ��d�g�l����m�@����0%�O�3���D�%�۹v?�����l��
����1 at m�
+endstream
+endobj
+13431 0 obj <<
+/Type /Page
+/Contents 13432 0 R
+/Resources 13430 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13426 0 R 13427 0 R 13428 0 R 13429 0 R ]
+>> endobj
+13426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.54 502.85 309.037 513.754]
+/A << /S /GoTo /D (index_BHZ09b) >>
+>> endobj
+13427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 334.663 293.971 345.567]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+13428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.332 198.737 235.598 209.641]
+/A << /S /GoTo /D (index_affine_relation) >>
+>> endobj
+13429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13433 0 obj <<
+/D [13431 0 R /XYZ 89 770.89 null]
+>> endobj
+13434 0 obj <<
+/D [13431 0 R /XYZ 90 645.919 null]
+>> endobj
+12988 0 obj <<
+/D [13431 0 R /XYZ 313.62 506.003 null]
+>> endobj
+13435 0 obj <<
+/D [13431 0 R /XYZ 90 499.363 null]
+>> endobj
+13436 0 obj <<
+/D [13431 0 R /XYZ 90 428.657 null]
+>> endobj
+12989 0 obj <<
+/D [13431 0 R /XYZ 90 393.987 null]
+>> endobj
+13437 0 obj <<
+/D [13431 0 R /XYZ 90 389.504 null]
+>> endobj
+13438 0 obj <<
+/D [13431 0 R /XYZ 90 304.685 null]
+>> endobj
+12990 0 obj <<
+/D [13431 0 R /XYZ 90 270.015 null]
+>> endobj
+13439 0 obj <<
+/D [13431 0 R /XYZ 90 265.532 null]
+>> endobj
+13440 0 obj <<
+/D [13431 0 R /XYZ 90 170.891 null]
+>> endobj
+13430 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13447 0 obj <<
+/Length 3143      
+/Filter /FlateDecode
+>>
+stream
+x��[[o#�~����V"./Crh��t$�&۬ӗ40���
T9�����#9wSK��C�V�\y�s�H��.��W��x��!Fq]�F�F:6D*�ZD?Nb�L��&*!�(��.�ݷWo���`�]��������� �N����ǟh���o"J�I���Us��e����ҥ�$\گ���2[
C(�#�I����e�=����:�^�|1���By���z��n���3���2a
��h�\qA
He�dC����Dw�ńc���M�v�x�t��'T@�Ѹ�M�-��y1���)]��t3zr��ʊ�[k�58�ab1�41���)DL��{橺�� �;ͫ��z���c1���L�[;78��'D���EV�Wy����7�f����[��t�k�a� x�]ɧlKQBu\�����"Y?�
�
��F5$Q�~�ߔ��̈I�g��|{x�M�'�ȁ�-|w�͌+Ax̣c��jy�b�^=�e~��k
����ֈ
	��zJ�s�ć�f���b]�/��h��F�
�P�xFX!����9��r�3b��he%rfF��g�ܟ�t�jb�׍Q�!�3�1J��V˴���3ֵ
'L7+�'�DO�&:n��|~Ȋt�('W��pN�	�z<i��
݄ ��'��uQfp�d�4er�._�i! X������@�i��� B�	���V����#�c�y�=My<Y�Ul�U+�M�]��S�ݬ���S_]>�g�Mz�� /��RU��M�y���n^�w�"]^�OBaL��>�@q7�� �13�o�֨�~��2�E<�E0 �
+�J��L�eA�3AHgXM7���f�㣌*`<�7_�ST�ʂ"�J0=܃�E�����ժ���	����8�*:�,dDd��
Ee�DŽ���]^d���K[T�60���Н{gBA�P}�zO��
���H���C��-,���g(/���[+�$a��
+
k�0e+���5�u�q�g�u���?����ƫ��H>"ns�d�Nb��g�v!P*F����m~W�B*ׁJ!�1]�Q)`e�E�J[k��]e��~tʤ��U$�5��(u��qwYo��K�Z%/���3x,�n��k�y�+/\^�yq�<���ܽ7>C*VT7��
��?zo�\��-��{�Y�ζ�H��j�����C6ϭ�l�/�<��EO�p>DgO�j�~i,����	�p:��0�3%Rj�A��
�
�{#����hC�!.@q|%9�D�IKn���Ute���@
�D#�Iik�
w�S
�T���A��U���z�8����|~_]��
�\�þ�Ī*ua0[
j`�"��FD�Z#bnl�
sH����wn���RH�&u���Aȝ�Eq]-
���e*l���$�X��+��E<0�[�c^���6Ӭ���
`�<��u�F� ����>��,2���F�J���dzoh?¿��ľB'��{�p
�e� �u�
 [...]
+Y�қ*�Q	�
�#b��-;`[qϱ�T�g����X�/����{t+�z�_R/��[=e#��(�z9ؗX�/1c,�	
�0�
4 0�l�@t�̗�`�	JT"k/pս�M�I}�q�Z |˫;�Ͷܤ󲾊܏L[����W��\�ٲz���KLG�o���}��*"
�J�+���כM6/����S�S�l�>�ֿ�S.�vrhMD��v���m�׃J�[���U�.�7��M���K�N�&�S#����J�nX��z�GR��m`�a�
̻b� �
�d�~V�C��b�_�
K�&�f��R�>�BMU|��M��V�s�=�H�
܉R�u�ܧsMvѹv�M�\����s��M`G�4>���6e�}[�a=*��� �h�y�m�.U�nX?
P�_��hz�������;ό�1=�(]W8�hm./���j�z�
cx.�ۡ�
�A3���b���7I
�Tw|��F&ԭ;���z]�E%��N�%iMW5�I��j1�$��G�t�
/3#�����xd͆D��>
 ����r�Z��TA �:�B�n)B;2n
$��b}�BV��B���5�a�Qȯa��$����u��l���΢?_E��;�W�2>���=��DE
���lD�ct����*7zT*���$�x}�
Af���oBFo�g��cy$�v��w�Ċ��E�x�K��C9h��@0��2��GS:�iU�:���	���L���q����ϓ�l��x;V'Og7,����1�D+��21��
+��9��ILW�u�>adu�i�կE?
�N��n$�6ތ	�S�n_ M!*
>�� �/�|�'�����z��[
�g�
p{�6ѣ�
�8�zs`0��vz���X��9.?�K�d��
� Q�j�x�̃�™u���S

�'��.ڼ����p�|���/
#�3�<bҸm�sFj�
�D����n���=.�9��B �?��s���3��%��8�lZ��%=>��M��>[�-��ϫ��2$][.�A�&[n�W!2[ح.}�w�YN@������v�;�w�
˾�- ��аj
�N�Rzg
�g��t�x}� �.E�ι�KN���d݁��lv��IL�uG��:߽����
�m۷0�.�.�
��QbX���w7�'���`a!%
F�>~u�Nٍe�?����}�B��]
�-gm�
��26i���D�����}%�?PD���OS�&u��D��[����g$����UN��Id��!2E�?yS�_G�L�
gx��~�<��.x"D�?cd�U�q�$$�$>����cQM糚6���P���SHv����6/J���T)�"X}��������h�U�g�>yT��H7�͹�D�?A��s������ş/��i������n��T�|����֊�AެXw�H�J�~k���P��}�����,��l�ǩ����hZ<���l���!���`�vΤ~�j�z��Q���
}dLdT�����͛�ǻmV��U/#g�2|��y��n�V�M5����{
L^←��=
+endstream
+endobj
+13446 0 obj <<
+/Type /Page
+/Contents 13447 0 R
+/Resources 13445 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13376 0 R
+/Annots [ 13441 0 R 13442 0 R 13443 0 R 13444 0 R ]
+>> endobj
+13441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.953 600.778 250.388 611.682]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+13442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.151 347.451 244.345 358.355]
+/A << /S /GoTo /D (index_affine_relation) >>
+>> endobj
+13443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.2 110.078 480.931 121.717]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13448 0 obj <<
+/D [13446 0 R /XYZ 89 770.89 null]
+>> endobj
+13449 0 obj <<
+/D [13446 0 R /XYZ 90 718.682 null]
+>> endobj
+12991 0 obj <<
+/D [13446 0 R /XYZ 90 672.057 null]
+>> endobj
+13450 0 obj <<
+/D [13446 0 R /XYZ 90 667.574 null]
+>> endobj
+13451 0 obj <<
+/D [13446 0 R /XYZ 90 572.932 null]
+>> endobj
+13452 0 obj <<
+/D [13446 0 R /XYZ 90 494.934 null]
+>> endobj
+12992 0 obj <<
+/D [13446 0 R /XYZ 364.289 418.73 null]
+>> endobj
+13453 0 obj <<
+/D [13446 0 R /XYZ 90 412.09 null]
+>> endobj
+13454 0 obj <<
+/D [13446 0 R /XYZ 90 319.605 null]
+>> endobj
+13455 0 obj <<
+/D [13446 0 R /XYZ 90 241.209 null]
+>> endobj
+12993 0 obj <<
+/D [13446 0 R /XYZ 90 193.312 null]
+>> endobj
+13456 0 obj <<
+/D [13446 0 R /XYZ 90 188.829 null]
+>> endobj
+13445 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13463 0 obj <<
+/Length 3210      
+/Filter /FlateDecode
+>>
+stream
+x��\ے��}߯�SBV���_6���v�Q*��ɋ�ڂ��.+��A�d��sfp
�r��� ���s���4Ft�8��on�tw��k#F�8���n>rtd�#J���1���ɔQJ�o'���l�ܿ�p:�,?=��,��x�%٧�ۿ?���:Y޿{J��ɏw߾����x�
��`� ���#�����0���8&��e��N�\Qs|�����.��|���l��8]?�pB�%s^��Ww7?�0��#��EcG��~��n;�D8;�
Z�$�\���|wC
W��+�?
+�Cf��u�R92L's��d	w'�t�d�m�kOr����_���,��r�2M:lk���	sn��&��CR�4#N�����B�$~6��x��I�;��ULsܼRݜu�5q��z�=�\��]~���g��v1+��0�
+�X$�ŝ�<�ܕ
�u�%��/i��d��/J��xd�%�_����a�ج�aG(�	�����"
��Ḵh%a�
�E���
2
1���&Œ�����$H^�N'$#u*Hf)�' R�����fyX.V�j-b��C�eh�9X
C��.
��LE�-6����??���S�*Me*��_V>�M�����Ӂ���	S��t�=9D]lm?F RaVD��s�)G��à�,^�G
B�'z��7��:��)��N�n�5����T�����
+Dr������Kk5W�Y�O�W??��~9�Ϟ��jf����N�f�>^fX��b��G�%��E�
�e�dm��w
��>��#!+�d�h~xY3��cG�:"d�}nw����z"�a"u��'!yD4_��SI,�Z
+{� �6U��#�E
Q�E��=e��?"�Qҍ�T�JK�e1يy�A�y��U�B��%�0a ���ń����(LU��Ŏ޶ت���+<���1�^a�3d��2�l���i�=>X��� ���S��є#s�u�Y�
,���3��P������h�U'*�Z��v��A��^�z���&�ߕv��ͼ�C���8I����n9��БU�}K�p�PӶ1�m���îp:t*t�tU�=;?LjB_�zC���l/��d
ެ�t�T�&�Edخ$��I)�	3��kEҁYM���s�NV>�Ю��B�ƶh�H ԓ5����E�Ŭ��� ,
s�p�Y+�e�T`�0H� �E���no'SO���F���v^E	/(a�>X�q,sWae����$/��d^��{s�s��
``$M
<x�J&؍�� ��^�N���)ծc�
hu��7�u�d�_���3�!���:ja�*D���A�|�V�j��}�>K�����E|�BS�P�Ҹ8N��� [...]
��i�]���� �c�4�;��D��������=�
+��zNv�
+pA�p�_{�c����f�Cx�E����D��(��
�(
���*.�YgH0vO�a�y���2!�
AP
�OO�	�����Ye눖zjqa��JWϼ�ɱ��V����f�
�Ĩ�Q��n�w�D3M�+�<�(���J>����0��v�x���"��Q1m�����/�c�W�H���Y�.1ԫ�`��iiFR!w&Z6�x���褍"5N�
�	]lK��KC�aZ�\0
-1�vfІ�D�­��ar�:ݨj�s}��r��"�a��eh�9X8�1)
+=*0>^
'���(H�S�$
5�~M:�rc�'"�a��\8],�<:Z�O�����P�
���
2�"�
+��
a>
;��nHl�ѹ���ha<��#����[��\t��]Ttdg���JTb\�ªk�++�:��sw� uc�����L�[R���ΒŇ�i��7�Š�g�pe�'&�S,�5�������u�
I^3	��!�D�v��^��D�ň��8,�z�ģ
�@��EL�J����b}�yY�:iU�Q
 z1̙��ЛЋXdf^7�(��	n��3 ��x���iN��O�������wJ˷�:�AD�F�胇�0H�4����s��F]���,=L��{}���S QxQ��˦ 
LԈxʼ��?0�1v�Aގh82B���
q����Ga_�`
eD1w����i�?�OJVS��&
��aQ&M��^R��.S6W�|ম�,Y춷��l�FG�%��\;�F�'d4z�α��,��ݵ<�+��ޟrc��G-�y+�FN�߬Ӯ��B�lP䊖̀v
@����
ACq��1��
�b�Rq���
��
��JS�F�V��6;P!t
챎
,���t����U�ψiR�>�:�)��4�]?�G*���7�G����:H+${
+9%R���
���!�m���h�(A,�=/��B
+�K,"�*g���օil��
�u�LQ[<�LE=�hT�>�i�zԦAS�z�!���z�y�K�u��`�C��4��]3
�$���:�2>�B��	��0C�@��̯�	�
��
��
\b�J8��Q3����ʒ	<��ɕzt��
#����y���n���}��
��;���ܰ~$@��Cr݃K
�b�����*�„7V�p��s���+���XS���,sF�<������4N�$�]nk/H�H���������9�A�
;E4�?��{F�>{
�ӧv�>'�����sB�b;�b��

j�{��
��W����U�tì�M3+Cu��Y�6�P��h��xh^^5���
���@\���#
T�'Z�h�r[��y�_צq��w�x9'	�H�^	w������y�5_��f��|)V�ԋ�t�A
��
�H^.�Nd��B
މd
��҃�>�� �$\����+������v�>�pV�m���˺���QR�
c�
�>�@��DR
�� 6?õ��x�!ݮ >��>�_|�����>�U�
C��m�DBD�[P���

N�8k3�����(:�37!���g�Lf�ۡ¿j����zI���dM��6�s��V�J�:�!1
+��!� ��M�cm�K\o��@*͠!��]�K|���ũ�aI"P�k-�V��
�� �}�&���6�~;Qj\��o����$�:��3�4�Q�͓��@&�.-��\��ʫ���Ԫ0%Q�U(y��o_�~��M׏�a�o��j���bYmʥ�X��*���
�B�ּ���|O�	|&�5�×������?o���Zs�C��
+endstream
+endobj
+13462 0 obj <<
+/Type /Page
+/Contents 13463 0 R
+/Resources 13461 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13457 0 R 13458 0 R 13460 0 R ]
+>> endobj
+13457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.852 500.205 466.489 512.684]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 262.825 422.924 277.541]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+13460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13464 0 obj <<
+/D [13462 0 R /XYZ 89 770.89 null]
+>> endobj
+13465 0 obj <<
+/D [13462 0 R /XYZ 90 720.814 null]
+>> endobj
+13466 0 obj <<
+/D [13462 0 R /XYZ 90 630.064 null]
+>> endobj
+12994 0 obj <<
+/D [13462 0 R /XYZ 90 571.484 null]
+>> endobj
+13467 0 obj <<
+/D [13462 0 R /XYZ 90 567 null]
+>> endobj
+13468 0 obj <<
+/D [13462 0 R /XYZ 90 472.359 null]
+>> endobj
+13469 0 obj <<
+/D [13462 0 R /XYZ 90 393.963 null]
+>> endobj
+12995 0 obj <<
+/D [13462 0 R /XYZ 90 347.338 null]
+>> endobj
+13470 0 obj <<
+/D [13462 0 R /XYZ 90 342.854 null]
+>> endobj
+13471 0 obj <<
+/D [13462 0 R /XYZ 90 233.215 null]
+>> endobj
+13472 0 obj <<
+/D [13462 0 R /XYZ 90 130.51 null]
+>> endobj
+12996 0 obj <<
+/D [13462 0 R /XYZ 90 81.969 null]
+>> endobj
+13473 0 obj <<
+/D [13462 0 R /XYZ 90 77.486 null]
+>> endobj
+13461 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13480 0 obj <<
+/Length 3116      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�~��ST	ù�J
�G��ɋ�b-�%�
+.�d��盽�@`e�U~`Ǡ��盞�w(�7�Q���+�_��_o��_�s�i�{��=G{F:�4ލz�������􄶄9�_e�ݷ�/��}뿻zy{���W��r��{�_����F��L,��}��{�
����^���eAF�c��|fF��0"�`�(��m:_͒m�U�~�a�O-'̰R�?�#�i��O�t�����k׿���HS��sD ԓ\�#>
��/��|`�h��
�f�h?Yϓ�7N��٧I:Z'w����d���滇m2^.����I��˜!ܺCֆ��


+n��!\�j7�{����f<�~�H��l�s�z��
����sD(y!��̖
#����h��b����{J�"ݟ�sN,V����"V�p��:�Γ���~ ���FV^���X�ir?�V�4F
K
u
@y�
4��JjU�>ž�.wo?��t[X�C��l�i�"��B!*-
���62�PPA��!z^Oi��{��j=`p�f�"sXAT�!~�֒z���^d�p�$����e�a�a�.�x8K�0=m
��.���
f�L/��:�n777�����(~q���ds�u�X��t����� 3J��t�l�k`غ��b�̕ 
v�9p��rQ�fT�p������X��D:��
�έ�W�9z�%�h��Om��� h��v(��.�Y�;�6������>�T�N��|L� ��R׃�|�<*��w8
#*�#��V�)*�r���v��N7��a�� /�ޘ��?= ����}�{�
L
\��hZ�Ƀ��:��	A\��Sڇ�
s��a�qDY�D�"ˠ��H
��Ȁiӿ.
���y	`L}d��i����
+���
�Zn�攕(l^C����_!����(�|�]��'؞�.&Jև�L
��8͐OK4�z�w��L�^#6,G8��7��"dBc

U6�ֵ�M����Ά2T(�
��eZ��)Y#'ۦ8<XJ��Mr�o�/�w�)��P���9�&��5"��JD��z
+�����Q��� Y  
��Ɖ%�=�!߱��b���
��a��Y��-Q;K���I�( ����o?�0UfO�'��!��eVZ|7�Q@/6��:���x���
v���.pD+r�H-:�b�s$Z�\^w�DD:�CVYG�.��@�Rƙ���L�( un��Ӡr���+
�����b�k�9X��
�-L��L��ו� ���?�˔�C��L���
�'ϥc�i=
O��@U=y
u�ζ�
#u�4Bu-1G���h�
�ɪ}�Q3�)�N�wx��^S�
+xa�Šw���@����zgK�&��5�?D��)_��$�˟
ҕ?D��'d�*#��k���efRZ�"}$Y*J�P,��+���!2�
����N{���5ㄢ�S�]rޛ���f�H�H
GwI����
�uA8E�GE���
 ��*��[s�Ԑ �~QCKo'�����(�����`��6����^��%�B��9�4�>
�O�֏ͅ�HkF���w-qD؊���k�W��f]�*�d(�3CFS��G�a�
r-�;��u�|�l1�N�ՙ�w�1ĉ�?I��3bjy{���6����+��O�̓��vB<bj+7P�
��l�
'<�bvmLr[6���a[8��^
:���
3
+}I|j
��"�1�F�KD
m�I�3{�����Z;mҷ�d'�6/�ȓ;m]�\tڂ��;m�坶!�lmMɴ�R'��x��niIqZ�~6�D�r6cg�Օ�q2��
+�����m.�.p縀�#>�A��v�����N��X�7���#xK?G�&ꦗ�y�����n ��HR�`�R���@����^����^�(>�)� ����g�5�c�
��ZxA
��(ēacT��fe��*h����f�Z��"TkKe(�@ڣ�
��Z�g��T�˴T�Y-빁/�Q������;��դY�

�
5�7a}�i�c�ЅzDɡ@�;*ǘ�?����oL��C$;,�x�Zb�'����N�"B�f�朾ȅ��a�T�`_�4���b��"��ä�s�ҵ�
,�ɴ6
d�`��I�
�̣(�L�8J�z������ִ/?DJm�����;s at MvO;sO��)��df��+��pw	��v`���
�M�9�q2�̍�1�3ҹC;K�y�Вsn74F9v6)g�DE��
f;*�$wa�.�m����j+��#��W�옋��5�ЈQ�
.h��~
+Ź&��^BX"���B���hd�Q�����CA������,��n�]�<ʨr��+���S�q��G����i1��i�Bc�Y9{	�	��E~�E)��Kᶋ�9S�3
�
����X`5
r[�l��B��^��. WR5���
B
a.u}�avybX�q��U'�p�"4X�c��g�D�u*�+�nb��+���q�����z�_\�&�-�Nf���'����̉�=|���5�n���Z�z춇UD�n���/V.����
8���=�j��a�[S���
Զ�<���}�A&�`�F�����@���l�
+v�G 
�
T�z�{X
���"
_���"�z���%�<�fz��4�������՞=p���
e��.���E� &u�#.!�
6�i^�xO���.�i2}�m�`֢g�U��4h(Q�9�!���͐��8�/[ǐ�
S�A\�
+�$�
Ϝz��6��9}� Eb=�ɢ3�p_�!d���c�:���&
��uzӄ떙g�4�P�(5�QQ��wI�V#�fu/l��s�e�<��>߰v$@$]�ޝK̰��̘�Xolb+������s��
��GXS����rf����
��Ÿ���٦�"��-2]�]
���[
�NF��<�<�^>���<�]�Lo
eNF��j��v�����D���
��z&'�؅�ZT��K��=��P�"��ٗ��ٗ�o���>��-!�7��a-�\^�����sF>#�����y�:��M��� �[�x�?��SR<��k�~�����p�6��
����۴,r��[�����0i�$QuA7�nW7���O�M����|�j��
Ү*�|,q9_�
��
|8Ow/
A��� '��a
+endstream
+endobj
+13479 0 obj <<
+/Type /Page
+/Contents 13480 0 R
+/Resources 13478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13459 0 R 13475 0 R 13476 0 R 13477 0 R ]
+>> endobj
+13459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.382 648.705 394.782 661.623]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 401.529 440.282 414.009]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 164.149 425.662 178.865]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+13477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13481 0 obj <<
+/D [13479 0 R /XYZ 89 770.89 null]
+>> endobj
+13482 0 obj <<
+/D [13479 0 R /XYZ 90 622.138 null]
+>> endobj
+13483 0 obj <<
+/D [13479 0 R /XYZ 90 531.388 null]
+>> endobj
+12997 0 obj <<
+/D [13479 0 R /XYZ 90 472.808 null]
+>> endobj
+13484 0 obj <<
+/D [13479 0 R /XYZ 90 468.325 null]
+>> endobj
+13485 0 obj <<
+/D [13479 0 R /XYZ 90 373.683 null]
+>> endobj
+13486 0 obj <<
+/D [13479 0 R /XYZ 90 295.287 null]
+>> endobj
+12998 0 obj <<
+/D [13479 0 R /XYZ 90 248.662 null]
+>> endobj
+13487 0 obj <<
+/D [13479 0 R /XYZ 90 244.179 null]
+>> endobj
+13488 0 obj <<
+/D [13479 0 R /XYZ 90 134.54 null]
+>> endobj
+13478 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13496 0 obj <<
+/Length 3467      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���SK�
��N�L��$M3I��I��<�d<�D[l%R!);��. ^Y��t��"����� ����������B1�I������b:
eL����ǀQ��9���
�r�ܾ��4(6O�tU&��f�2)�޽�nY'�E�ln?��]z���7o��X�<�1�:��
�Ol�0"�M���0�������&���9W��<H��MR����]Z^�(H�%��P��
i^}ys��2tƬZ	��r{��:[��of��8�=�Nۙ���ه�ﯨ�0%
+[��Ո
cD��yz��O��8��($�9�t��و��A<�aH�R��rJnu�J�b��I]�FE}V�b���K�Ѵό�$�ᐙ�5Nb$�����b�-rh1�'��NwM����`S\s<��~��lc���{"X�|�����
��3�<w$�k���veZUY�W
;�n�
+q�0ͱr�Tgh
z����~�浽��k�Z�w�����GN6{[����@1M�k��(j�
�l:�^@���-i�Z$���@_δ�$��Nė�-�]m��(qL�`�#JF��-h����8��:�����`|1
\٘"�֣h�3I8U�F���w2�*�� 
ġ���^�{���`�l��-X�Ky�JQ1�� 
���Bq츠�iL 8
�Y���`�Zٝ
e����DG��e#�;DGDҶoVY��Iah���G� ���˛�m
+~�3��D�� ������I
�R���H$E�"�l�C6�!���
+BYי
+�,$��>�:�<���q��u��vNJ�aW�
��<�!��:[l�3�G�z�Ȅ �إ!���D��.C�\z���'�R��
���G3
�

�3t�O�Ƃ��9fD
�^�Z�;A�(���r�z	���
�Qj���8A�t�s�d��m�	
�()
P!�iAU?��<�"6t�M���e�r�A6� �2(��/�F��"f��Ő�t�擓���
�.
�
���#�k{��K:L�B�T!��E �0�[p
€�0�0 �b¥��&�U�a���bX�
�
�Ov�.�G�S_ϥ�����3�*̴���<�����4R��,�8�ҎŸ
+a�t�خǓ���
D��f�󖑏Y����Aj�
X�r	��}�3�p�����!|�i|��`�
r.P at 0n����k_�2�Z�N2�`y���WW����ȼ�F��"��4�E���� 8�k��i��h�T�;H��������HH]�����%��(�c9id�
h��AA���aݹ�3K��b�bp4�.�q=Y�0��M�0����W2
�
�
�
t�b8$d�c���t�����\��su�z���� / y2Ӕ�)d��LS�?��e��e��|!#r=�L]�jB-�
%��(�zߦ|J��)�f��
?��xRf	Xbu�!�=2j
+Mq"#S��y��åNTo<
@����9����ۯ�:�O�ۛ�P �۟p�4[�k߀
<���G
��`&���3yt�ҝ�� �$����|���Ey�����O����>-�k�|�)�3wYo��lLK[c:���Ԅ��2�ػL�����T�7�D�HM�a�r
+�'Z�,�Cs���)�R�Y��p0��o��2�AwX���/����-l���A
+�S�&a���s4�t�$�,d7���AV?
�E(
+Y��D-B	B5PK��Ja]lV�Ճ ��fڋDkH�*hQ/�����w�Ra�
N�	��A�;PI����l�O6����G���BB]�S�8H%�h�^Wa�JC�pu�[[�	4T�j���v�2í�t5J��aqؾ�B�˺Y�4��/�� 2�
»$fQ�!�'%$5n���D�4����J�0��nKMN�TSB�-�"s�B�]
+�:$"
��f��9�����ݟ
�r�b1�����
~��&���X�
Z5�%n=��]r���z5�p������Y���V�q�EO��:9E
`��2b��0P��9�TP.s�$o� �"&���3a�+%��&儦6�o�ͳ����SH�L4�Ǔ�ds�5�)�F��#�4C�}��{.��q�ʳ!�Z�
P���SS��eP��
�QH��Pr3٤��@�"&���3a�me��Qڊ��3�
��-�Q�]�;���f��������"��y�`mOf_�n_���H��?�JhB�NM�`��5�b�
+���LPm�g[:���˘�c�τŮ��
��桮ƵN�l��\Kx�L�*�E�hta���g�j�fQ
�1���A5<����ڃ�K��W��(���Sf��S����O�O���Ӱ��1e��nVnwg!�2F��
0򾨪l��ZR� �xAkW >�y
"���˲]}��+�cڏ�J�[�H�[�s��%Qc
�7�=E���ُ���qd.����:̅ �!���9��d
�>����*ݥ�ʝ�4q
�cDʝ���_f�<��z��o�\,�S�~Gr\��C��璉�u�8͋|��oVH at E:��<���9�
;p��
�� ��>���^RU�-�7޴/�rw�`���9��7P�)�
�D���L엨^)��}R�l�
[�,�j��0����l�vM���J�7xk��wE�5ZP2s��2�u��^Gl�Gj���$?.q�ks��&P��Cw�n����e\�9[e t��	��������
+�K��f�q�j?ʁ�,lXæe
@' ��p5��'��
� �[0@0o�f?ϴ
�&ʓ{5q�1Z�u[��8YfUڼ����N��A���ڇ�9�� i39�#�m�N at W�g��\�fQ�]�c~�%��l�~u�8
g����
�4q�Ah��4_h���
������pQ�֞�g@/:�f{�-`��/b���v\[#2�6ۅO�
C����7ر3�1��{�v9,x���h������G��ߘ%��5L�		�˶s��ڕ=�֏[��2��*�(�� �\���5ܥ�Ӭ��H�;Ƃ��Y3[���YǜE�d
�������"�G�A�y�y�6F��W�Hu���<X�°�_N��`�{ܮ����q���Fl���
n�W��ژ�
"�m�Z� M���rm��8
(��L���Q��A�,͗Ͷ�o%z�B"�}�ӄ�֬����ճu�T��2�m���˾�a('���c�i��I��4�lj��Y8�'=
�
��aP]ROv<o:)��yC1_�=�@���<����y1�e�g��B���_��ǾZ�g&��}�
1�’|�)��)4�a<�!�A�g���P=Zl8"��1��ӧD
�~lv�;-���o���F�q����QW�&�~���

+}�CB.��2��f̜�lT����������?����$���G���x1�p�|��#�t@*
>�M�o����i��&P
+�äT�6���ݻ�o��*��	��𣄞
`�q����̷�4�����4'lZ4QF4�l�	P�Wh{a�M�~�<l^t7�~������Gs�_�A�w
+endstream
+endobj
+13495 0 obj <<
+/Type /Page
+/Contents 13496 0 R
+/Resources 13494 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13489 0 R 13490 0 R 13491 0 R 13492 0 R 13493 0 R ]
+>> endobj
+13489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 551.871 322.446 562.775]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+13490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 403.99 116.998 414.894]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+13491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 362.794 243.45 376.741]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.883 194.859 361.886 207.377]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+13493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13497 0 obj <<
+/D [13495 0 R /XYZ 89 770.89 null]
+>> endobj
+13498 0 obj <<
+/D [13495 0 R /XYZ 90 657.82 null]
+>> endobj
+12999 0 obj <<
+/D [13495 0 R /XYZ 90 611.195 null]
+>> endobj
+13499 0 obj <<
+/D [13495 0 R /XYZ 90 606.711 null]
+>> endobj
+13500 0 obj <<
+/D [13495 0 R /XYZ 90 533.848 null]
+>> endobj
+13063 0 obj <<
+/D [13495 0 R /XYZ 90 499.178 null]
+>> endobj
+13501 0 obj <<
+/D [13495 0 R /XYZ 90 494.695 null]
+>> endobj
+13502 0 obj <<
+/D [13495 0 R /XYZ 90 388.099 null]
+>> endobj
+13503 0 obj <<
+/D [13495 0 R /XYZ 90 128.781 null]
+>> endobj
+13064 0 obj <<
+/D [13495 0 R /XYZ 90 81.969 null]
+>> endobj
+13504 0 obj <<
+/D [13495 0 R /XYZ 90 77.486 null]
+>> endobj
+13494 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13511 0 obj <<
+/Length 2561      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�O�D�}1z�49�K��-z�m1q��T
�����U�^,3�
�O������33�
WQ�l?~<��>�v}v�J�� #�
�?�$$|��G����&5"F�S���wo�_��������>�tF�'
/@ ������8���`bftp�-N|.�����fN#��ՈD���`�@�r<!�Q-W����*�`X󨦈(R��?�#\!�u5�xXEI���*��G ׈�z�_{�z��j��1�4�����&QF���c�Ga�
o.�����<�f�͛�6
����wwE8K�pqs5W}���f��]��
�0�)Xr#�nC��Փ]\L�1�t�
b�K�@����`A�qx`lC�(�DXQ�R.O�QϬF j� �

۝4I��9)aH
:Ĝ�H�7
��"��'ze=ss��d�)�{�1�*��s�
FG�b�{�8x[!Rp��K\<ܼX�y^�M�1>�U�ĝ{���>���g
�d�z���_n^�������������8\:��[�*������ՅR�4��K/M�<�]X��x6/���
��e�8�U�cV�!���� �<.uԠq\G��r�i��Vq2�ߜ��z���>.��
+�:�ر+;츛wi�M��f�:��
ǛkI0E�	2�!ղ�(f9
O�(�J���MEͯ�G��fb�

����E�Vn��u%B�4��<h�P��ؕꝱ�&���~

Ψ�x
+$
+�)n�w-��'jԁ$���]�K.�/�2\T ��h��~�ab�7��,� ����<���v	���t�v#$�A!v��^w��� �y �B��ێ���C[�6�R���^#
d��u�EIQG�y��{�U@)�rUؽ��v��  �&zV�+�@U ����R�Ǟ�h��`��*�oh���N
U�숃�?Mtj����߾X�`�S�3!�6ة��N�P��'3;���<��1�'��9�r��,�i{ʣ��S�Դ=wMzd�L'`}�&y�G

��Ɔ���v�7WQ�%���T����SĪ�T�W,��g=
+P`�D=�%[ˀ���r[�z[��x�
�_�s=��)�#*���h��h�Q��ַ��-��YE��~��[�d��M�5o�d?�cZ�R8�c�»R�4^��q�-ٲ��pu�B~�Wi2�|���-a'h
�?�Y����yÑd�7�g
�!S1�$Y�Kt<
�����o�A
�	�P0q۪d��6���0������;�\�N�8/��^m9,r�)�(���"���g����z�d��/� 7��|h��:x#؅��Ȋ��uڍ-��!�
�֡%z�Ši=h���Kuj��4��1�����:O�k7"`��dH��,�qu'S@Ʉ~B�ɾם�՝�{��
՝/^(�Ws2EQ� �i�ĚS‚1'��Bd�ۗ"
W)  �-�vdd (^(l) eL<���MY�qcvdP^1�6�={xC���~�0Է�
+���%bG��t�Dc�G�����ʮ�0Ѵ�b���M%��R_�w��K�CO"0�A��@��f��!(�A�o�9y'�8�><���s���[�tV�u�l��&EE��Z/�.#��~]4�ؼJ`�Q�Y�1���,x�X��xv��c�b�#o��>��
;)�L���G&�>0H��j��-j�&~?��dB+��� Xd5̀�ip���Sf{tbf.�/��B9�im�!.�D%z�xG��%�zwUyRX���pՎ��u���&�5q�6�\5)��P���\K2�$
"��tV�W���n<�H��,=��N`��
�Q"<!�rOR��Q��ok����?,G��\7��
�
c2J�eX������n��;yE�K?�ŧ*�H���J�KUp/�$�
���"����ȥV�n9�O��m�ʑl�[��W�Q�Z-
�O���4J���a��2=)q-ª����I�i
Y�q������$*H����Wue����/��E��)�(�8�� [...]
%UM}ê�T7�'qb
��nE)f����r�
�H����x�|�̃Gv	�8�l��5_�;�dwJ!��
�>n��=�1���'��HB����]b;Z�}
4�Ls��`Ϳm�P ��:�V
i����>ˏ�Q)�p�Z���OihI	��V�b�����
��_jtUh�j��i�iZ\��VvE�����vv�&Lwj��Mk�ePד�I�Oh}�)dqS[r��E�C
F��%�w�����9�⺀��]�V�iGP��{�<J����z[�)�?;�;�
+2����`�u?��ݏ�3���K�=a��	ț4+�		MJ�sAP=U�v__^���Σ��c���
&��հ
��}`fٝ�I�5�A���*�x�~���Ǚۂ�>�#��ϼ(V���Y
%3����a�\�=�X�}���o=��t8�ڼ��\�
+endstream
+endobj
+13510 0 obj <<
+/Type /Page
+/Contents 13511 0 R
+/Resources 13509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13505 0 R 13506 0 R 13507 0 R 13508 0 R ]
+>> endobj
+13505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 278.484 355.512 289.388]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 212.98 362.353 225.313]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+13507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 78.52 355.512 89.424]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13512 0 obj <<
+/D [13510 0 R /XYZ 89 770.89 null]
+>> endobj
+13513 0 obj <<
+/D [13510 0 R /XYZ 90 646.048 null]
+>> endobj
+13065 0 obj <<
+/D [13510 0 R /XYZ 90 557.465 null]
+>> endobj
+13514 0 obj <<
+/D [13510 0 R /XYZ 90 552.982 null]
+>> endobj
+13515 0 obj <<
+/D [13510 0 R /XYZ 90 460.498 null]
+>> endobj
+13066 0 obj <<
+/D [13510 0 R /XYZ 90 347.606 null]
+>> endobj
+13516 0 obj <<
+/D [13510 0 R /XYZ 90 343.123 null]
+>> endobj
+13517 0 obj <<
+/D [13510 0 R /XYZ 90 262.593 null]
+>> endobj
+13518 0 obj <<
+/D [13510 0 R /XYZ 90 184.596 null]
+>> endobj
+13067 0 obj <<
+/D [13510 0 R /XYZ 90 149.799 null]
+>> endobj
+13519 0 obj <<
+/D [13510 0 R /XYZ 90 145.316 null]
+>> endobj
+13509 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13529 0 obj <<
+/Length 2628      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F}���i#U�z�~q�j3��&5���e')��ME
�8���5
$е'�M�� h_w��.�6

|}����˯

2����!08P� !��,x7")<����͘�Q�-»7c�G�|�Ͳ����>
�����i>�I8��y
+������^~EH
�R��T����I�x#�u��

�u��!���y>�P���Q�X��"rW�FQ6&z%S��
#N�ż�����
7,)
LW�~��
.`��F� ���<����
+W#�
��
�q̍�� �y�C�;�a�9
w��
+k$�];Ƚoؽ�n�{;=�&e�$��[
�"bL �D�}�К #���CCR��aC�p�����.^h�lO9���V�3q�|}��SX8�w:�b%�ʇ��j�y%�aS7��8?M�"��h�~Ɖ{V��I���~�'�Y��D�dtӦx��>�Τn���� �
Fx���a�����9"��a8�H*
+�
+)�����u�.�~�=�d��S�=i֢|y�L㤨�w��w+
��ɫ�y�.���Ǒ��
SB��I2߈�d� e�'����(�@LWa
��q�̐~v�
��]e/΢���&@
+�:����Q�k���."
и
p"f��1ˣxu���j[Q�J�Q�,b��_%A"�1%GŘ�RwV�WI
?��
�~
S�]
��#wX��ɣ��X'�jq_���Zhso�7 E����Q���?a���0`йII8�MVy�<?E�Z	�����Q��r���
�q~��U��=Ϣ�i�
O�rj�i���S�h
�����)�߯"0�
����� ����:�ZAB�@Y�7~��4*	y�H8�
�X Y�^��Q�0$�1K�#
C��ZG�
h�k ˫�#
+�h�E��~�E(�	
鹮�[^̮�!��j�y<�
�1S���"JJ�9Ҙy�%��C��d
�!(��t���c�����)K�Oz���COY9)�䈲�
*+$�i&�

�Z5JúE#^�́d�[��019��I�L��2,bp��|3е��8�p,����b�s�k����:X��bP�URQ�/�����(�%
uСt�̈́�e��
;k��
+E
&X�-����T�\�x�')����Z��X#�x�6�z�5���F"�2�H5�Q;r�ˮ�����b�+s
��ξ�[�SX����.��C�PLUN�Iv^L)��|��˜`J�os�~U�.3��
i��Z8�̶0@�Fb<<��CM{`*1�7�@�����!�����͈4w���E?�ظ�&+���L#������M�!?/�}��NJ3�x�2�
+�t2�-�=a�%��\

+�4oj��]3�V'5uc�yU9�{��-�����ڭ�Ig�l���Q�
E}ҝ�?�,A�M�MN;�d�&��(
D�Κ87��(�
X���JDD��ĹV�O��/4����X�����a:�"^	��1
b�ܿnNՔ �#��	��eV�3�m����$�
����;�l
+����u6�i��p˄wQ�ͩ�:�`:��]��QVjA^",qlʏ���%�=������).uz�I\*ť�gkx	�"�ﲼ��C�����D>�K��4�q�T��lJi$
`�‘]&0T���[��t-
+���㽔(d��7���oE.S`,�
�A�/&(� �u,h.I*�KP6(pI
��D��
b$.aā�҂и�Fָ���TXCc0a0�Zn���m�A-X�ݬsp'=�P�س�Ÿi�k%8�?�W�����p�.���-J�OT��.A�F$�sW��u4<��A'��X^�_�c8�Sw%i6��"��4���63_�[� ��c��U�i_A�
���J�&��#,d�pMj��ݹ��TWP�U=��[�S�;WҾ\�X
�Pɐ�z�9�
P��A�
Ր_+��wIJҰ��P�S��:
���
m�7�F��ջ�x��
+��<�߾
�$=��^C
t�3Yoe��G1�"+�	޶��˹��>���JG"�7
��h���ˀW?���8ʝ��a~�a��d�oD�8&��&>�b*q�^|���k[�I/�C�⳧wx1 ���qy��x�^L1As�1�D�P�U�� ��ӁZir���A����֋
��r����&{�g�ou�V��;�'w����
�9̲��n�D�i�
����>�Y!����_r
+$���Ͷ��r���!kƧ<��ͪ[�Uw��&�"��)��A�N��nF��(�u�
�_5��X�ё��ٜ
��(���{�K0j℉R��j��&�i�^)�'�3D9�>O/ĕ�c%���$a�٢"�j�s��KHi�d>L�0gXЮ	gl������c������EX��6b.�W�j���F6=��"�!K=�Yh$�9��dSc�����"��]T|Q��]Z����z�o��$����䲕��R"����v��O/��
+;����LDC�$��0�_8�$������?y�}6Pe��?��*����*�����i�p�=W�L����.��ѿ�ٿ��ؘB$7�)OE��~��~��G�#�:�t���Pu�����\��L
[}Q)��I���������|�
�h٢}^ެ�.��v���0����?A���
+endstream
+endobj
+13528 0 obj <<
+/Type /Page
+/Contents 13529 0 R
+/Resources 13527 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13520 0 R 13521 0 R 13522 0 R 13523 0 R 13524 0 R 13525 0 R 13526 0 R ]
+>> endobj
+13520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 646.493 362.353 658.826]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+13521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 524.115 355.661 535.019]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+13522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 458.611 362.353 470.944]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+13523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.008 324.278 276.143 335.182]
+/A << /S /GoTo /D (index_BHMZ05_widening) >>
+>> endobj
+13524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 234.465 362.353 246.798]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+13525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.456 98.742 371.442 109.646]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13530 0 obj <<
+/D [13528 0 R /XYZ 89 770.89 null]
+>> endobj
+13531 0 obj <<
+/D [13528 0 R /XYZ 90 720.814 null]
+>> endobj
+13532 0 obj <<
+/D [13528 0 R /XYZ 90 618.109 null]
+>> endobj
+13068 0 obj <<
+/D [13528 0 R /XYZ 90 583.439 null]
+>> endobj
+13533 0 obj <<
+/D [13528 0 R /XYZ 90 578.956 null]
+>> endobj
+13534 0 obj <<
+/D [13528 0 R /XYZ 90 508.225 null]
+>> endobj
+13535 0 obj <<
+/D [13528 0 R /XYZ 90 430.227 null]
+>> endobj
+13069 0 obj <<
+/D [13528 0 R /XYZ 90 395.557 null]
+>> endobj
+13536 0 obj <<
+/D [13528 0 R /XYZ 90 391.074 null]
+>> endobj
+13537 0 obj <<
+/D [13528 0 R /XYZ 90 296.432 null]
+>> endobj
+13538 0 obj <<
+/D [13528 0 R /XYZ 90 206.081 null]
+>> endobj
+13070 0 obj <<
+/D [13528 0 R /XYZ 90 158.065 null]
+>> endobj
+13539 0 obj <<
+/D [13528 0 R /XYZ 90 153.582 null]
+>> endobj
+13527 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13545 0 obj <<
+/Length 2789      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~ׯ�SV-g�
@9�����kc)O�
+"!1Ipp��Oρc@�m%U~�aw����_7 
<8���o7o�Q,�Q,�
n���HH��BN�䗛�&#Db	�2��]�t��O7�����7/<��RQ0[]|�s��}�����
Z�28.��^`gKsDT�S}p����(F�@�bn�y?�<L�d�Vi1!$,�];�5�>��������
��Ds��|U��Gq c����h�b!zb�jw�@CR�����~���o���p�F��)QL�o�W�ɔ
+
^]�c�H*mXo\!f�f~�ږn����p\���*��v
�q����zܿ1fv�]�(��1�"+�x�1��z
+"y�z����p>_��_�(���}�y�n�,_���[
+�<u�|
�g,��"��s�""π�#�Կ�4�	G �ip8R�0�b$�ٽ)���%���d��o�b�T��]���0�)�(9c������2����T}��1�̟�͢�'T��.,e���29J�К�A�z> �F�T=�i at J����R���y�S�?M��,_m�*�[�ǂ�aj/��~����/�y8Di�Dqe��\"�&S�1$�t�Y&Uj7���PDT��v�+]!ś-��6�X워Û�
�X5��: ��W����T��p��[c���OȬ�[ _8̗O�t^$�?fwER<]^^ͪ�!_'���E��,��Q|h��qC�2�)S���+�(��\f��J��(�d�,E
!I� D(xj� d
+$"HF̈b5oy�N�]�3At
�_��T���U�lr�
���B���Q,���MH�2{��QQ�|O��3͵jF�MDan���Iq��Q,	qK
+�]
�V�j�
��6�F8|3$p�U�o���a�6�a��
] ?�n��J&�# ���5�
4R�fA�k�y�|�\"���|u��a��`@��/CYK!ܚ��wAtI� 
���8PC#�	"�q��VH�D@��?i	�D��H�I���ee�����գ��xpn���3@;�4��v
��͍�MH�u[���ݓ=&�2�g��>/f���֟�μYgx]�x+�b���&0 �x��l�*�r�K��>��P��%�4@��x��_�Ř�ɝ�¬�.|�o�Z�Қ�_T
&�
��D@}	 ���
� ��ca�K4� ΋)
�� �b��G��Tx��Mϊ�k*�9�pͅ�s�

W��t�6��+��K��"���%��X")�qŃR�:$�n>���1��7ul.-}�cs
�Nj�۲�j�;������yڠ���$Н?��"9ԣ�nt�t�"&��S�n|<�b�xD
��j���Y19�
+V�sӧK���pȮp!�Js"{���
�4W�tw%)��n��;e��
�� �����Z�A5�Kt�jd�V@�����t]�k]� �5�>���w�
����d�Y>Y;�1�X;H3�1��{5��)�nʤ�đ�*�-���m���i�u���w�H�$-g
|^�C�B0
�q���$F�Q��Lr�D���ao�#��9�2Nn
s(ШP�5�G�g�7�M����P�؛��6�boۘ�h��No���#
�m�������N��e%�}��l��:�sެ�������:

/���
��d3W S�����@�?n���D����0�@�8,�
l^"�hC�)�\�������PC<�OT8�B�8����E�pC`VF�
5,7�,
�3���碧�	5�@#
­l�T ��W�fO��P�1tJ�[��(���\M�}�L�H6Q�Y�[�QC�\�Jڢg5�㎰8�M
\B�I�M��W�y9�!Z
+J{����\�&���n��Vo�91kT���|9�BP��1�x���
��P随�n>2
�v1"�]���|8bd��#�j��
cCfZ

��_h�`��Y�tf��ә���a2��T�o����"%��w�����d�"���p�*\?f��ݹ��{��
�Gp�d��}Q
.��EZV�"[��[��Ւ����g����~��VY�~9[@$�A �~31\��d��P������bG�^W
s�X�Sk
�6Z��b�v-
3�ȷ����|@�����R|=*��Imф�`
+�/�C��I
~���䀲W�z���7a�vQ5]��"_�������'H�Q�I�@?���(���^?�����./��
+�WC�H
)
I⬥�	�C��
j8r3���>+�=�ӛX��t��pw���\1�࣋
~ՙ�8�yd�+L#T��Gx����~�l-��I�kh.d�ۮp
+�d}��/�
�6�
���r�ig��F¤��2{��#��.
0u�`
�Y6^#R�R�m��(��o u�r�$jM�J+8�*��Y] �<�� d`�c���W�x�4o1�����Q�^:��� Z��
�vԢ0S'Վc�uţ����q�u���>X=��ԕ���Ma2��Yu����f�ъH��"� 
����
�;5a].6�}��n��@u��ʪ���j�/�a
R���,F�hjK�	J�Z[,����
��-=+^��<����
"�Rc��l���AN����r��t"�o
>���(E���yX���x�݊�AX+n
+��
+@�$�A�2L�V�#����ɿʴ��D��m�?��6q����C���+�M��}�<e@]����������.L���#8��&�.�js������L�h��v�{��8���܁x���%f��ɕ���� ��K��
+endstream
+endobj
+13544 0 obj <<
+/Type /Page
+/Contents 13545 0 R
+/Resources 13543 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13474 0 R
+/Annots [ 13540 0 R 13541 0 R 13542 0 R ]
+>> endobj
+13540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 561.176 276.047 572.08]
+/A << /S /GoTo /D (index_CC76_extrapolation) >>
+>> endobj
+13541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 471.363 362.353 483.697]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+13542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13546 0 obj <<
+/D [13544 0 R /XYZ 89 770.89 null]
+>> endobj
+13547 0 obj <<
+/D [13544 0 R /XYZ 90 720.814 null]
+>> endobj
+13548 0 obj <<
+/D [13544 0 R /XYZ 90 667.125 null]
+>> endobj
+13071 0 obj <<
+/D [13544 0 R /XYZ 90 632.455 null]
+>> endobj
+13549 0 obj <<
+/D [13544 0 R /XYZ 90 627.972 null]
+>> endobj
+13550 0 obj <<
+/D [13544 0 R /XYZ 90 533.33 null]
+>> endobj
+13551 0 obj <<
+/D [13544 0 R /XYZ 90 442.979 null]
+>> endobj
+13072 0 obj <<
+/D [13544 0 R /XYZ 90 396.354 null]
+>> endobj
+13552 0 obj <<
+/D [13544 0 R /XYZ 90 391.871 null]
+>> endobj
+13553 0 obj <<
+/D [13544 0 R /XYZ 90 321.14 null]
+>> endobj
+13073 0 obj <<
+/D [13544 0 R /XYZ 90 201.099 null]
+>> endobj
+13554 0 obj <<
+/D [13544 0 R /XYZ 90 196.616 null]
+>> endobj
+13555 0 obj <<
+/D [13544 0 R /XYZ 90 125.885 null]
+>> endobj
+13543 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13564 0 obj <<
+/Length 2914      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���SK��X\Hp:��%��4�lwݼlv4�D[l$R!�����@�"(J�E�if�bR$x�s��L�ۀo��ru��u"M��2��	4
�H�X��"�2Jz~�(���sFôZ���眆��a�-�t�C~]������&�-�t5{�L7��ǫ�_�fl@�sM�L0����v���ȣn��
M����
���UZ��<� �y��7����'ﲛ�:g*̊9
	-�0ⱡy���ٯg
dh�Z��$Q�|}��#
x�}@��*����A������?��P’�$�K-�K���";�qx��X�묨�����j��]��Ͳ�ͭ��25�����+7f��.��i��";gq��������o?���M����v��}9_�U:o�*�O�pK{h����� �:�[>뇺�� UX޴�9�k�4/CT���E7nە��YXZ���*së��h�����v�Ֆ9�*^���Z�Wdy�'Mپ�Φ��~�KW�@J`GR����˪�nR��g"�^���q,��*����
+Z�A���"֙���1��ϔ�v����uc�9	$щPf at B��A$s\9*��bP�Qi�D�.�R'�e^-�'��-��V3UV߭�v�5o#�
/����|�ܵ�7�T�a�E`�r�F�\���2ڎT
/Q�q�ФӉ@BIG>�((����7�z�*�$ѽN(h�]Y+�bD���
p�z8��`Ԕ^5��>���+��p�`��$
�E��� ���>ǒP��2i�
A�0&B��%��z�a}
+��k7��$	����1Q̳�K�&�kb���
b�
z��يa)��h�R�@�uy��r���8/�K�;f���<l�"]��1�<#�W�����m�Dԍ�2_L�Y�� 
0
{T�����
��F�=��'��D�C	�S���9��DH��8�8і����M˩ �Ԗ��&�Q�[��j��"�e��&$��ه���M"��cr���X�)��͖�:
+��L��x� �O���{$5JH #
x
9�$��'�l���
R�nh�"ؘ��B]XL�� �gɬ�Ȉ\" ��̭֘Ku���ݛ��]�ּ�
=�� ���@&lp:�Z��՚ܽK�I��d�!��I	������_��[D��y���ܩ�� �q
��#��!x'F��2��v�o?ϳMc�Giߕ��c4DZMŇ༭������4��u
Xz�
�K.��O�����g��9��i�hTYp3�`����#�
D�����*+n��,���Ȣ�6C�Q�QT��?pA(�ЈA!`M(;�3�;
5����
+�-%
+���0�1W������{���j�F�w��2U���捩̋z���+SQ�Gm�6�2G�G�{�ȫG%�:�<���z:&�

���$��rX���@r/���>��a�O�ۗ�
��d��6 S��_�;��?�~U�.��}��~L���C%� ���Tda�!%�Kj��O NT�$�rH��v��z!�B�(e��u��i�u���������%��𓱞�2��'�q���0���6�� �9�N�}
�m�

�&��[����`+���
+�I, ����W�TiGmL둅G��G�)'BΣ�pT����'�h�M�*)����U�D��h�!�Y��(��y�Ę�x����)SJ�y�/檷��9�����O0�y�d�p�o g�󲪲zS�'זA�q{�?е�*�G�r=����77���I>Հ�M��
��(��ʓ-Ba�\��|�֭E,	g�Eˀ�s��	�� ��A͂�5��|1C�Ix{�h
W���ͮv����e��t᜙�e�/b�)�4����9���}̹ȋy�ޠJ2�̾���m�yX��!��p[GGC����hs��3$�(�@���}�6�.�"!���$�FM�uҳ�h�[�"e����%4��I@�$�Ge���L���I����)�$C*�nyv/����4Q at Y'��#E(�.o�}噐�m�I��gF�N�g;�Ȣ����f�ʧ�-	��j�����]�
(�*~&w��B	B�a�7atQ�	��.�׫��m��C^��?
�b�ԏ�{��n5�=�N��g��v�]O�ܺs
 [...]
�w���L���UhI�P_��ΑCD|����i!,7{E�?��ًa$��y4�����P�)9�`���
`u
+�z�z@ր��)����c=E��
�U�����
^촇z��߿��b�@�\[
�4p�|���8�����<�.M4��
�K��4��a��}�?�4a8��-MO/��!�Y����� �ElEg@�
 �����^���J���Hu\F�
�
s����1v;|�"J�9��t3�YAq̞�z��
+!-��۳ڃ�#p��<Ŵ3g�bZoE�۠�j�Aa�W,�x��q�f�&1E��dy�i#�
+)@r��[�-�B��}�� �N��|0��!!��
�M��O� ছ�Hض[���ң����e��]Nw�7�k�������𷲵$�~ʭ��S���q��N��" i�؃ ]���m�.dr[e��~We�̶[z7[��!�Q���!K�!�<j/������2:��=���4 &B���x�ka[����ڟo��[��^{*[�ծ��Tm��/�G�o�ժ-
+z͂��\�7j{��~�>�_�F��34�C�05FM�1�Y��uY��
gIMa_��x�0���r����5�}�����.�p���4����
:I 
�Ho������Ϊ?�y.��#-�:�1�m���j�
�m nz�u��vѿ���[�m��bĵ��.�fs�����m��d^�wڀ�$�ç�.��*��x���H��{W�f��w��0��)KnG
����C���wk�������_8�D
+endstream
+endobj
+13563 0 obj <<
+/Type /Page
+/Contents 13564 0 R
+/Resources 13562 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13556 0 R 13557 0 R 13558 0 R 13559 0 R 13560 0 R 13561 0 R ]
+>> endobj
+13556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 586.033 236.659 596.937]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+13557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 530.75 335.755 542.701]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+13558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 420.866 243.45 434.814]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 368.607 485.603 381.125]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 162.563 385.519 173.467]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+13561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13565 0 obj <<
+/D [13563 0 R /XYZ 89 770.89 null]
+>> endobj
+13074 0 obj <<
+/D [13563 0 R /XYZ 90 645.357 null]
+>> endobj
+13566 0 obj <<
+/D [13563 0 R /XYZ 90 640.874 null]
+>> endobj
+13567 0 obj <<
+/D [13563 0 R /XYZ 90 568.011 null]
+>> endobj
+13075 0 obj <<
+/D [13563 0 R /XYZ 90 521.386 null]
+>> endobj
+13568 0 obj <<
+/D [13563 0 R /XYZ 90 516.902 null]
+>> endobj
+13569 0 obj <<
+/D [13563 0 R /XYZ 90 446.171 null]
+>> endobj
+13570 0 obj <<
+/D [13563 0 R /XYZ 90 392.482 null]
+>> endobj
+13076 0 obj <<
+/D [13563 0 R /XYZ 90 345.857 null]
+>> endobj
+13571 0 obj <<
+/D [13563 0 R /XYZ 90 341.374 null]
+>> endobj
+13572 0 obj <<
+/D [13563 0 R /XYZ 90 268.511 null]
+>> endobj
+13077 0 obj <<
+/D [13563 0 R /XYZ 90 233.841 null]
+>> endobj
+13573 0 obj <<
+/D [13563 0 R /XYZ 90 229.358 null]
+>> endobj
+13574 0 obj <<
+/D [13563 0 R /XYZ 90 146.672 null]
+>> endobj
+13562 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F24 529 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13588 0 obj <<
+/Length 3363      
+/Filter /FlateDecode
+>>
+stream
+x���r���]_�'����s3J*U��3���*~�u� ��K4 ����9p
8 )�[�ʃ3����x�0óo��qs�⛘�R�f7�3�g1WHD�k={=�4Z�v�ÌE�[��W?�t��O7�����7W�_�3b��j{��7<[��f1%g̤�S������p�p!b�,�z_�^���� AI�[]�S;ɃFcG-��b�d<O�)��'{�
Տ��)�]�Vi^�n�.)�,����|UgEn=&U�^��v�Wź�&�x��P��\,9%�v�7�o�?��'C�l)�2�-�)JK�>_�o0�y��-�"��7�i�O�B1nY ���n�4JH�{�R��h�ݦ�c�����C�Ѭ`r���K�u�l6�0�.�/J��rn,Ȫ��)T �H̑��(�"F|��R�����yZ.8�S��z+� ���\��6�NH$FD��$�!�J��8/�����j�oA��ώE��;`���y��uW���S�_��2DH�Lj [...]
���!P��
'
�ҧ��h� C2�ld�{
�(�CN$U�=�� �q�]"AT͋oC&��C��Z	�X��������U`g$��_2�A���21-���Ι��1��,z�DXC��@9�h��ɦ
+�����r�
&R�0�k�� ұ��� ��oj{o�-�z�����,����#�"���"u��[5��9l{�"J�ы(�ׇ�~�w܅JzvY�Rx���N�U�ݵȻ7��t��/	��E�X�ڥ�L�a�8���vY��F��.ʡ�p�R�����W}>�3�p�`g�	��i��X
����l��i@�$���W;��>o�D��<�j�#5�	 ��X�- �㴵6`����m�gP�t���&.����vm>=��2��1�+�����ϫ:y(�ds��1م�%*������
�d�^	@�
��9�.v}�.��9���zDb$��q��2>�

	6�3��O�k΅E���d�
.K1�5�X�����m@�Be��x�,�J
�~](
+ۜ%w�v
�M ��l�{-
+I��t�� 
O��}�
�CZG�-ۆ� �%~��-
�1
!O?�*SP�`�6�
˶a�MX;c����n���o���K0ݻ"_��'蛉"}	~���D�Xƺp�
�K� ܄���F��
$%���OP�j$�
+�p8j�ذ��9 �M�V"tX]���QjŽb5��x�\O�
�<u����LAnE�m
g��Z<_f"��h��q������SŽ��d�l2����/ӄ
'�3� ) (���]��=H�u<{�+/a�9��|ܳpG%�yX�%��E+y�~{Vdz�NZ��,��)oJCG�l:Ʒ
@�i�O��!-�a� ˜�WD�0�돫tg
r�����)p�S����<�'��Q/����
� p%C���
H�pD!�s@�tv?���B�
`b�s.����א	q0��&[߂�`��aV��|�9�K좔= AtH*c
��x�T�
+�uv�Sz�X�Bp>U��1����"���ښt=�h�]I�
� ������;�w�ig=G��@
+A/�t��i��
��l�|�OBU1��_M�:<�KHC���jW<�����;���4
+�I���6-��<Q1�(n�Z쳣��qv���
O�3MH� �\���P�c���餫Wa�ӦW����:[�!Ӽ+�����J���i��yj�C3
�z
+��tm
r1(/�:k�Q

7
��7�xkֽm���vc�-��M
Ӿ���|i� �NC|��9f��� E��ŚM]���$�t��)`r; �]c�1�•m�z�X!�I�z�2�
+u��<�8��
+4�ܖT=	�w�.���)�I�O�n
���
��)E�ң~Y
+z�
n$�B�7��P� ���l*���1T��E���=X�2xG��+L���h̰�p�o�qk�t��Z�~�t�ȄA�O�xu�w$��Q�q��� {a� HG�Z���.v�y�� ��䕮Kp���% ��N�� �#��� ��
6�zη/���!�����h�@��U9�|�����x�C^��!N�|�k�PlB}�HC�x����g�=`�I
P
@M�=@[�b�YVE�8���
6��%Q����D�;k�o�T���#
���}�P;t;
vJ`'�P�D�}bz^f�V!
)�]~z����L��*��INuB���뾗\zg9 :���
��+��TG�����4Et�����% 2�]��xq�&��٣�Յ�"a��%�ú:|�[�R�~&2����L[��Һ-MFb������C���-����+#5�{��{+�n\���#�O��
4L$8���pH|)�D�zxB}�tLt��FPp=4n�BG��[��{8�^��UHhWa^2b�(截.�T����>˛�70b�}�ZD]1H��3�NwNuZ��e਴i�<�dG�|�O��
#N��;:r[�.���
0�Z�s�4z�<�6tz�)�~�.kb.�Ϲ �M!x@�y�`�N�,�n�����T]y�y��������Zf�������S
��jg�P�+7���r��,�;ᨁۏ��
���#����6fX6G?�������≼N��Ӯ��A4R�r?�6's������v]$��ƹ8|
+
���O�D�I��Ul�����4��!=f�V�D�/�K$������e+�D���NV��q���p)��r�"�+..i,C�r]�jhc�r:�����Ƙw�
�}{.�����l�)
��{�f����kR-������4�!�ے����X�>_�
+F�H����_�<��
��
+�D�n���y���|Q����@�tEM<E6�hK�)�����c#kN: ���E�ViRBv:0�G
S��
po��h-�0��T'��ԯh���b��&��
L &�)��/��{3ؼ�
��~�f�, Xn	�
���I�-���2��@���g�/_�ho�[��B̝��w��/�t��}��5m��kV�<_����x�k���m���
�h,A]�_���?Ti�� �9��u/+�	�Z�}sNek>V��
n��a��g�2m
+endstream
+endobj
+13587 0 obj <<
+/Type /Page
+/Contents 13588 0 R
+/Resources 13586 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13576 0 R 13577 0 R 13578 0 R 13579 0 R 13580 0 R 13581 0 R 13582 0 R 13583 0 R 13596 0 R 13585 0 R ]
+>> endobj
+13576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 661.528 174.682 669.054]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 610.339 216.525 617.865]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 610.339 291.843 617.865]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 532.164 239.856 543.068]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+13580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 344.446 379.76 356.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) >>
+>> endobj
+13581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 302.349 182.164 313.253]
+/A << /S /GoTo /D (index_expand_space_dimension) >>
+>> endobj
+13582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 204.983 243.45 218.93]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 128.415 535.938 140.933]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 115.03 226.824 127.363]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13589 0 obj <<
+/D [13587 0 R /XYZ 89 770.89 null]
+>> endobj
+13078 0 obj <<
+/D [13587 0 R /XYZ 244.439 535.317 null]
+>> endobj
+13590 0 obj <<
+/D [13587 0 R /XYZ 90 528.677 null]
+>> endobj
+13591 0 obj <<
+/D [13587 0 R /XYZ 90 460.103 null]
+>> endobj
+13592 0 obj <<
+/D [13587 0 R /XYZ 90 394.06 null]
+>> endobj
+13079 0 obj <<
+/D [13587 0 R /XYZ 400.69 305.502 null]
+>> endobj
+13593 0 obj <<
+/D [13587 0 R /XYZ 90 298.862 null]
+>> endobj
+13594 0 obj <<
+/D [13587 0 R /XYZ 90 230.288 null]
+>> endobj
+13595 0 obj <<
+/D [13587 0 R /XYZ 90 152.29 null]
+>> endobj
+13586 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13604 0 obj <<
+/Length 2494      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�F}�W�)!����/�d�6���I���ʓץIP����ߞ�

��D��E��AOO��ӗn
���p=y��b�AFR\���
�[�#�gs�1���<
�mx�nF�4K
7�*o~�y�?^]��,��,
���p�>]���'B:�)5HJ�;�ߕCz�����=2
"L��vJ�?�p��ͩ� ��i��%a�w�G�(�=��%�b��)��ʜ�x=�kB@
Hi������O8X��������
8epM���'�ka�&���~Ŧ�e�
���U���}�����,ϣ�.KWqz[�*���yF�I
.��
��MD��X �tm��a�/G�t�qL�Aa�pR� ��l���$��fZg�*ZUc��VO�VЮ�p�@T40�ӣ�@�
ϋ�q�rzg5��7`q�5g�"nd0��:�F
IZ����q������7�B�7�-
wQn���8��F�A����B#�1���t3~����f��|� �|��+�'�[o?�s���
����
�È���-�D���U\�1rQȌ.�g˫�hF��a��!9-���b��T
+HI��EF��@
q�f�#���y�bp4`���] @�G�^B.a�I_�%�T������"����n|S�Yu
�i-�����ڀ�d=�*
3����":���h@)s�:�T����%qM�@Z��	�ST
j:œ
���)9:���k.�m���h��!�u`k�Lk�|z��u4���:�F=c�S(�*pN*@��
<?́M,��}��ko�ç�C�l{%��j<�Jt~�B��DD�	����1�0�Ĭ'O0=��a���Sb��;n-")�|�"=�)�^�)r]#<[�'Z���~/7m����>N*�XTCB�h|y�HD^�����"9c���%z�后�A�@HH�TE�?>,�]�R�QW<�����ו
+�	6����� 97�=�d(Ҿ���C�$��G�z�}!��̊��rs����
+�C�
&��&�gLMo� �=��s�1��BmM�1
��1�dm#+��le��^o������jkOT~c�\"��bo�T�8]f�]X�P#��%��d�j$�<�=1�(]1�|	>����G9��{>_����i�!���� )�T���Gy����PA��9^E���hR�)�A�&[��
V�	����c(%�-!w)�P�Ʃܗ멐%�*֛��A��Re�պ�M;�[m��[����h������2p���w�^�]���y6�\Յ����KT� 
+���g.^�{��@´N�a���zY��֛���I��(wұ���*i0�U��k����{��P����o��)���`�ύ��ps�X^C(�
�^�
+�+�
|�ݥ+
��n�)�£"Dc�4=ܮwu�� ��|o0�aH�F
+��=F�4M�0]�bk��D,��i�a��<b?E�����V�*U��¦�7K��&�
��E�.�w
@�����n����_�h�
��
+��
��P��j��
�qw
����Y��S����Q�c6@�
C=���B��^�>�� �B�;��@�Xki
�/��X[��S�W�f�/n
���鮢���B*�
�����P�YQD�R����Μ�ڼ�[6���x{�6:՞��"֧䋷�;x�9�O�O��U4�<����`��T���0��Di�Z�|�p(���Ȕ�@�Q�9��
�C#/���*Y��������s -�lb�YC&h�}������!ة�YC����Q�:~:Kڼ��	b�!��$>
3r��E=������e���r���H
�
+��!ҩ��#"�;QT�EN���A!�h��R����$v
�'���Ñ �w@�씒�0� 2����4�����	����*��W���\f�=����\?�D�xU�i�+�		��T⫞�84_鄄h���`���]��(�4a�9!aЯ@S�x
7�R��9$y�.�C��.��->��h*�]c��E
B�B���Nk��g
�<��q"%�D��%��X�\�W�AnϿdn/�ܞ���#y+�
9"=
nT@���[��
���h)�}��o�Si�SRa��
���b�3�9�`&!����3r�M��x���
�Xb
'I_�4�:�Ib��'��5����C���,>)\C9���x�i����"�hƙ�
+������--ş��Ɂ�*O`��
+�@�lk��a@)դY
�`8���
O�E"��|<)�&��]{�
�v�� i�s=��/��y �Z6�y�dB��8����٭����?Kh��
�4���bP�|����)���,������h��0�C�w�~����Q��L�i���]Gve@��'
�e��

+�釨�$�J�Կ~)���*��ª�¦(vW�_/�n�Qz������:�0�i�u�����q
+7�a�|��l�5&���`̿&���\]d;��o��~������������^8
+endstream
+endobj
+13603 0 obj <<
+/Type /Page
+/Contents 13604 0 R
+/Resources 13602 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13584 0 R 13597 0 R 13598 0 R 13599 0 R 13600 0 R 13601 0 R ]
+>> endobj
+13584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 707.957 362.844 719.025]
+/A << /S /GoTo /D (index_fold_space_dimensions) >>
+>> endobj
+13597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 492.285 174.682 499.812]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.874 492.285 241.631 499.812]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603) >>
+>> endobj
+13599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.796 389.908 258.368 397.434]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.796 326.763 258.368 334.29]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13605 0 obj <<
+/D [13603 0 R /XYZ 89 770.89 null]
+>> endobj
+13130 0 obj <<
+/D [13603 0 R /XYZ 487.765 711.11 null]
+>> endobj
+13606 0 obj <<
+/D [13603 0 R /XYZ 90 704.47 null]
+>> endobj
+13607 0 obj <<
+/D [13603 0 R /XYZ 90 623.941 null]
+>> endobj
+13608 0 obj <<
+/D [13603 0 R /XYZ 90 570.252 null]
+>> endobj
+13131 0 obj <<
+/D [13603 0 R /XYZ 227.473 289.291 null]
+>> endobj
+13609 0 obj <<
+/D [13603 0 R /XYZ 90 282.651 null]
+>> endobj
+13610 0 obj <<
+/D [13603 0 R /XYZ 90 202.122 null]
+>> endobj
+12740 0 obj <<
+/D [13603 0 R /XYZ 90 167.425 null]
+>> endobj
+13611 0 obj <<
+/D [13603 0 R /XYZ 90 162.942 null]
+>> endobj
+13612 0 obj <<
+/D [13603 0 R /XYZ 90 77.486 null]
+>> endobj
+13602 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13616 0 obj <<
+/Length 2431      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�}�W yH�*b8��
�ʑD�
[V$�� �TK`Hn؅w������;f	H�*�Ň�p����}���bD��z����n������s�&I���jb�Dq��������S=�p�ÄI��������__�z}��������o'��'�
H��b}���,��013zr[ZO8ep]Mޝ���4+5}�A���	F
+#>����<�m��gsJ���d�o��UT���|�,�8M���t�]ۤ��WN��}=��\(���M�H5qa�7�qvʵ
++�$յ���G�LRH�f at q��I����VӋ�@���
���@�N�Fb^,�=K�"���K�����EE��0
Q��CZ��h"�,�
\ă�U���%DU����(Ҵ1t�&y�G�BtN
���CX!��Et�&��㻛h\�2��
��z at h%���Y�VB�
�F�Q"]!!)�:�&�Dw�.��̇��^H��ˮ�9��[�)"/�q�b�-`�nD�)*�
Ҁ�x�~�����n��i�.2aF��s��V�}f7�͛
+ߥW!�T`;��)M�N���svGb��?�͹&ӫh�ۀ@@7���qe�-V�ě��~g�D�ZvT��(���M�����,M�	�!L#�ȶ!C����K�rNL:��C�
����6�)Sˎ�e��3*�����
|
oqϲ9��
����.���L�,������`L�8��L���"��fC�{�H���ƹ=�g¦�jU���F���ZE�%��DYU`����_�|Z]�O�^=�8�rP��
}��BM����}�ƚX�4�|��K/\m�a_v�ʗj�ױp�Ui��~��>���$�O�A�t��h��Ƕl�A���. 
 F�G�D�#�y����<�6y(�5�-�d=
�M����MH
+$#n4�
H���x.‚���=f6K:����YKb.�t�յ��s��j��>FČB�#�G�p�K��$� d��C"J	�KD�{�������O�~���om�͒P�3���Dž�|h��NY���*�i���t��A�e�`tqb��H��|�WHf�F�E*Z�۩�C�3�9�
+m������h~!�D
�}mZG��/+ݖ1��9t�8Y��
t���\�
��3@�8���+���Jz���'�7�U
}la�,��g���ɲ2���ć
Y�����B>�|���y�z�k���/�`�fr�j#xO��ƍ�}��(ܷ;�pO
 {��'��z�_�J�bW6�I�E�'��z�?,L�
+�1���^<&�3H �4u�tz�/���`�B�^�X>(0_fE��e����@@�a��U޷�O�Ѧ�����/E�W,�f�.�2΋(Y���Z ��Qf�)ٟ8���:�
��`P�H�/n��Wת���������
�Խ�?g�gx���5?��T�>6Y��O���E����!.!�c`]B��YZ���R蠹<ʼ�����of��*^�T�?=�BB��GOB��J4#����Ӱ ���#ɏ��1 L4?��8�&���HD
@�8�n"���%����t�,�����8
�r10�)9�zP_1��
�jQ��:؍z�x[
��k�������(�x\*W�
+���_�Z����f10�eu`��VQ�*�w
�x��M�p����=�[F8������{LS�ſ�'�<��ͱ�]�Ҡ�4���V�+ϗ�u�����>w��1
\㢺&ERJ�LjnA� �*g���9s%P�>2�5�L�4�tiZ�E�uP�ߞ��G>U�
N�Y��MCd� I+��^
rg��Ѩφ6v����6�	?�=\�0:�q�A�����+`p� �.s�T+�oʾ��@��fk��{����<;�# �կ����覿;��P�6_�tW�ia
 ב
�iCv*�ߔ<��  @D
�����
�1��GX�>ח���!L.f\�bx�d�B�
���x�t��;
�N;\��
+����
1�
+�
B9+��(�
���.$�<=��r	�՛�i���QQ�������8��ba�P��i���1P}/Wipd�Xz?�`�>ʼ̅��{@?��^h����f�v��
�
��wC!ā;���F �<w�����=>��|�؃� ��6@=B�j4w�>5OM�S���0�M�{S6�jfd�4so�>��� ���
��>��
�r�j/��
P�q_�j��W��m-3�f��&X#�A=B
��O�%-7Z�Ľ�C��6����Sa��:����o�g߯��e
+�Zqs�7o��
+��`��>�!���jL?�߼����;��_��y��巼u=�?�lœ �J�9שּׂ����F�����G��4�r�MQl���]n�s�\#�������}�ڢ�U]��i}�'.�˸-%,����4
+endstream
+endobj
+13615 0 obj <<
+/Type /Page
+/Contents 13616 0 R
+/Resources 13614 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13613 0 R ]
+>> endobj
+13613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13617 0 obj <<
+/D [13615 0 R /XYZ 89 770.89 null]
+>> endobj
+13132 0 obj <<
+/D [13615 0 R /XYZ 90 670.741 null]
+>> endobj
+13618 0 obj <<
+/D [13615 0 R /XYZ 90 670.741 null]
+>> endobj
+13133 0 obj <<
+/D [13615 0 R /XYZ 206.91 577.704 null]
+>> endobj
+13619 0 obj <<
+/D [13615 0 R /XYZ 90 571.063 null]
+>> endobj
+13134 0 obj <<
+/D [13615 0 R /XYZ 90 519.376 null]
+>> endobj
+13620 0 obj <<
+/D [13615 0 R /XYZ 90 514.893 null]
+>> endobj
+13135 0 obj <<
+/D [13615 0 R /XYZ 494.439 447.739 null]
+>> endobj
+13621 0 obj <<
+/D [13615 0 R /XYZ 90 441.099 null]
+>> endobj
+13136 0 obj <<
+/D [13615 0 R /XYZ 488.462 373.944 null]
+>> endobj
+13622 0 obj <<
+/D [13615 0 R /XYZ 90 367.304 null]
+>> endobj
+13137 0 obj <<
+/D [13615 0 R /XYZ 90 229.035 null]
+>> endobj
+13623 0 obj <<
+/D [13615 0 R /XYZ 90 224.552 null]
+>> endobj
+13138 0 obj <<
+/D [13615 0 R /XYZ 128.643 84.126 null]
+>> endobj
+13624 0 obj <<
+/D [13615 0 R /XYZ 90 77.486 null]
+>> endobj
+13614 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13628 0 obj <<
+/Length 2571      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~ׯ�SBVY���M�UI�M��$�WyZo� �X�!��w���
� b׎��
��{z��of@	W������Q��_��.^1s�i�gW�3GgF:�4�V�wsF���sF)�_.��6��\p:�o���U\�Y�DA���տ�qp������C�x���k�*�9wDk��?�Mj=�F.�W
2
aB�
�
��Mp8,ι���<�>l�8L��ކт�y�[�pB�%w^���Wg?�1��3��Ecg��ٻ�t���o�N���C�h;�\ນ�=�������2�~f�����D��:λ�6���mx�&�#���C�
�a�i�
�$��
�R��h5ߧ���Uט0#�r�Q��ʏ��y���~���e�ެwa��.b�%���9�g]����%�DW��j}�?�m�J��$��#����]j��Tю >\n��
�sJe�|.��0\]��q{F�"���u��d~��X
3��c
�V��n8��ʹ�AJ��n�b/�嶕���
+j���>MC��Bp$��ra�O]9K���Ц�����0�������3�-�^d��~w�;‚Kd���p�Ŵ4�Y��!�1���L?Z��Z
�>��r�UN�f�	��c^E�����f�2�<Y�����zww��:꒩�V�]����2W�X�!�{+�e���K,&�t��l��Br��
j�K�$T}@f�8����e���B_�W���㧋׺�Ƨz�l�Fm���ۇ�8�0H|��^Q���?��}�6%}K^�*y�	�a���6��¶�i�Z/-��h�V]�#X�.C�-Dg
+�A|X�*��x�"��}s
\�Yj����_�����1)��U�i>���
j��3�&d}�:�H)߅+�Ia���0�_�ˮ���z��}�j�Y����.�wu��c̖b�i�3��hw�y.<
P�1!�ǰC8����h��dE2�
6�.��WQ�
�}X�,V
��Y�d����Ҙ�}���ks��h�j�ͯ�C�\���Ig�S�$��H)�i�m����1@* ���dXv����[Y�(��C��mޭ��z�,���I���,������&��!�d>C
�
b$����.!Hǔ='g����V�i�*����D!��rjN�짤KB�\�_��f�.D%�f,h��B>.L�7�U�:���ư�y2
� a�j�0����ɄO��NHV�\"8�!B�Qeў�!��RճdA�e=��Y0�0�q�O���9���R��!��z�
�Qʆ�|H�D�Hxk*��Qb�A�-���-�&E��������10n���?�N���zOŋx��
�|�
���}�H��"�Zս�1YŁr ��[�(�|���ga|8
F�|;�`�g�|��,K5@>g23
7U��X1��>�@^d�F�
ct��(��^jB��;Y��������4�'^%�Vy�A|��.M���6f���8
�H�"
+�A�d
%�k��t��)��>
�k���@͟��p_��}U���5���}S���1�����W�b��2�o��T�Ml��ض��䚬�R^��L��eR�>�J>C��E9�i
����I���E
ػO�ª+JxJ�9L�I��5Э�� ��샔���A��������e�O�
+AYCUN�5���r�*�d5��f��
� ��6C$u�lf��/J@Ԩ͐	��!5�/�!�{�!���qN'c~~2�7� ��Z�߀�ڥ�����zA��"~�\�/>���oˈ���*���u���$���d�$�J�d���6@��l
ᚂ~7
+�������
�@�/f�6�?O��P at 7�U/#�
+��&%�T�z�� ���w��7�@���(��}�j���
�	�0C���{"!��!B ?	� ��P�N"M!Q��aB�b��0�f�	�U]sA�>B m����@�B�{	p&&v��B`��7��	
`�$z��P��@+��ƒ|!�F�` ?%PCxx��#�����㤀[=�X;��e��l�e�=F
�
�
�`ϡe���HU�P=tĎ�e�f��*�z�X6�X`
D��uOHYA|
�0���7�{�y9
+��B5ɐ��yJ�=
+��K
k��tA]
�9dBF�9�C �Õ^�4Y�wI�[�O�G�8p���_wu��G�(R���!����G�ʊ9��+�叮�W�龣W�b*���a'}��
ꪓ�(Ň�^ɄmN��s��UՎ�|���&���B0L�9ye�
s�N�%������5S���ɫr?����
5�U����W#va�'9w��An�v�2���囬����a���� =f_����<��J+��rp[n�~�o6
+g6?v�<9�6�c�$�A��*-��[Q0��
8{y�&���!���Pj~(�xy
6�0����0:��ꃅ,�b��mf�O;��,���,�K��$Q�
+�}
?����y�;��;�ڎ��
~����m�}�v�c���C�撼^�~T��Z��p��@x��d��r��3�a��⛭�}����/���
+endstream
+endobj
+13627 0 obj <<
+/Type /Page
+/Contents 13628 0 R
+/Resources 13626 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13625 0 R ]
+>> endobj
+13625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13629 0 obj <<
+/D [13627 0 R /XYZ 89 770.89 null]
+>> endobj
+13139 0 obj <<
+/D [13627 0 R /XYZ 442.087 588.309 null]
+>> endobj
+13630 0 obj <<
+/D [13627 0 R /XYZ 90 581.669 null]
+>> endobj
+13220 0 obj <<
+/D [13627 0 R /XYZ 90 443.4 null]
+>> endobj
+13631 0 obj <<
+/D [13627 0 R /XYZ 90 438.917 null]
+>> endobj
+13221 0 obj <<
+/D [13627 0 R /XYZ 128.643 298.491 null]
+>> endobj
+13632 0 obj <<
+/D [13627 0 R /XYZ 90 291.851 null]
+>> endobj
+13222 0 obj <<
+/D [13627 0 R /XYZ 442.087 153.582 null]
+>> endobj
+13633 0 obj <<
+/D [13627 0 R /XYZ 90 146.942 null]
+>> endobj
+13626 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13637 0 obj <<
+/Length 2476      
+/Filter /FlateDecode
+>>
+stream
+x��\ے��}�W /	Y%���>I�Ė]v
Y�6O�J�%�+�I�����Ӄ;��5�������{�їs�å�m@��&���<�R����
+�nK-,�
+ϖ�۩�t��ꛀ+C�*|*���w��^��z��M^^M~� ޢ�$�&Xl&o��`���	(���A�@0��u�f���6���\ @���ٜs1M?DN��/�F=�I"4/��m1��X͍�ܤ�@�� ��t�>�Y��\��0^D���(�Eq����'5#�V��m	��
�K��D�)���	Y��Y-�)eq�|��RM��6��{a�r�v���j��m�����Vi~��ӭoRm˪Y%�YAse��$J�x�(
.S���]��8���d^8��9�&+e1�N5���q��>=����mѽ���}Dr�
+_+��Q�
+��B�3I�7�h��ӝ:{�cZ�?����^�;�w�b��Z��/\�{V�(z�����|V�Y9��7|'��xa��׳9X:]l7��4��>�&Q�a%7�d��N����6��ˌ�%��z
O��cz�+
��C��it-߿��\G�/X-�U����Ea ��ϯfu�s3ʦ/?�Q��Ŀ�]�3�e��4:
�}��>M��&�dҥ%w�
+Ӓm�G'T�
E0�PŊdB��D`hJ�$�f�S_�2��>X�휒�m
n2�4�0S���ԙD�!JN��g� �<�҂�ڋ>��
+�=����:ױ>��h"
+C������Xc�j�U��V��"Q�Ĉ" Wq��V���j�o�
C��6c����ǚ� 
+���%F-�m��~���s��H%-�E�|�9�=-dQ���֘.�)���O�ן;�s/^��M�eM�Pcα	3�+z��M>�z=�
+�E/����
��%
��;G�=��0�_K��'������b,žJ��y�q
������-��v���o>�;_�r��=�<2���g �3 �F|�-Ε@�PmHp�Ҏm=vP}i���([�BSyBkq(GV���]������U��8�
�pE{b}��
�q��0V9��$r5o�./��?(�s�b,ʈMB�ry�� I��!Ա-1+J�
�!G��ʧ�� h��Q~�źQ>V�O�|C��C�
+ˊ:��1{Ԑ�@t��T0h#�
)���_A�� Rd�2)bHL�8��6)rW2Rąn�"w� E��)r�2�cN�ܧA�SD"�����hꈀ�n}̊���9�:eM�9N2&�
da2!L�#O��t_�%~�K5_�U ���|I��\�K#�.�RKw?_Cs��Z�̗���KX����|Ih7r]AmI��j/l�I�%�ocƶC����١�>]tɚ!tI��l_�g� G��!�o�Q}8�gˁZU�t��>�LA�9ba�g�s&Jg>�-�="D��|��
/���
/���g�NY�=fSM�97أ;-�ckY��l�0��O۬ҳI���F��~�s�]�Y#|B\������

�
���`:��xL�h�����~�O\g���} ���E.=�#s	�}Y�H #�������������@�^
+�R�ܵ�9Ǽ���h-���=�c�#"Ԩ��� B*�A�<��A �G
 D�
ġ϶\
6MPZ@y��Ġ;�$J�cG��q
i
�����A
+�#
��@�@�H�&
2�LBk��[�8�Y�$d�[���I68t�(.�f�U
��&�`�KE0��p^��fznoQỐb����^��֪��K�� "�5J=�"fIIr�""b�
�C
Ao�Cl�4��[.�|$; ��r�uoz�}f��-�r
W\�a��FÇ5�>��;���4���� �Ÿ�4
��t���Y
5a~ Iu����sC�k� �
�z0 �X�Á4������
	��AP�l $8_o	�z/��
��߅y(GA�a[5���=�X��	��_�#�@�����m<�
��7����� ��vƢ�����KLW`��S��KH�QT�(��=ՍK�
E�eDq��[�6\Gm㒰����j�D�Z��%Եͪ�
�~'D� y�."�<���;��tm�X��:�^��
����M�\MOJ���[�A�V7��
Hj����z�
	Zolr�]��:w�[��f{��
��s���O��˛�g	Uy����t������!%��
�gx\�yG�J����]�Gx�ZFa�x,�~��`�YO�UcY��QK�֣hV(�Ԧ���K�1O�v�����'5�⍠��x-��w��^�����o��-�
�S�0 �OM
+M��~��3���3'ſ���f�Lq���
|�Ea��9ʛ���bp�J��
+�\z1������o���G��fRN��j�
㻰���
+�/��Gɾ�a�:���=��M���S5��L2�7�#�u������?~}w���[��n����[W�+�q�M��l�徺U��e[�|����L���
+endstream
+endobj
+13636 0 obj <<
+/Type /Page
+/Contents 13637 0 R
+/Resources 13635 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13575 0 R
+/Annots [ 13634 0 R ]
+>> endobj
+13634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13638 0 obj <<
+/D [13636 0 R /XYZ 89 770.89 null]
+>> endobj
+13223 0 obj <<
+/D [13636 0 R /XYZ 90 651.951 null]
+>> endobj
+13639 0 obj <<
+/D [13636 0 R /XYZ 90 647.468 null]
+>> endobj
+13224 0 obj <<
+/D [13636 0 R /XYZ 128.643 507.042 null]
+>> endobj
+13640 0 obj <<
+/D [13636 0 R /XYZ 90 500.402 null]
+>> endobj
+13641 0 obj <<
+/D [13636 0 R /XYZ 90 355.493 null]
+>> endobj
+13642 0 obj <<
+/D [13636 0 R /XYZ 90 321.49 null]
+>> endobj
+13225 0 obj <<
+/D [13636 0 R /XYZ 90 287.428 null]
+>> endobj
+13643 0 obj <<
+/D [13636 0 R /XYZ 90 287.428 null]
+>> endobj
+13226 0 obj <<
+/D [13636 0 R /XYZ 90 229.455 null]
+>> endobj
+13644 0 obj <<
+/D [13636 0 R /XYZ 90 229.455 null]
+>> endobj
+13227 0 obj <<
+/D [13636 0 R /XYZ 90 183.437 null]
+>> endobj
+13645 0 obj <<
+/D [13636 0 R /XYZ 90 183.437 null]
+>> endobj
+13228 0 obj <<
+/D [13636 0 R /XYZ 90 137.419 null]
+>> endobj
+13646 0 obj <<
+/D [13636 0 R /XYZ 90 137.419 null]
+>> endobj
+13229 0 obj <<
+/D [13636 0 R /XYZ 90 79.446 null]
+>> endobj
+13647 0 obj <<
+/D [13636 0 R /XYZ 90 79.446 null]
+>> endobj
+13635 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F13 834 0 R /F75 554 0 R /F90 758 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+13657 0 obj <<
+/Length 2409      
+/Filter /FlateDecode
+>>
+stream
+x��[�o�����B@�TN�}?��@���<�8wʧ���I�-D"��;���]>�Z�JM��ŸDI˙�y�f�\����M�����K���brq��� #��.n�O�$HP2]���f#E�9�Ϯ#�g�~�\Gϲ��}���7?�?������O�]vX����&��uzW.\����ϻ}D�,9
�Y�_|wqEH�3#i�A.��o�O8��
��o�M�do���$��,"�g��䕽y:g�!B�tN2B��]ET�2�H
�Cĵ����G
f�_o��!�S�g���Y��m�<)~y��&Ŷӥ��))f�Ku�z1�}B���x.����v��=������`���'�h;���f�v��{u��%aߤeH�8���f^	z�MQ�c	��B��jAO��W����o��
���Bvr��PDq��Ɠ���C�m
+j��2"b�Y��8=�<�1.��6��O�Ѧ����9�1�)~�>䱵�1caVjƒ",���r}�*�

�d!\k?B��O��وJV7?>l?��C)��9�#`
,h�����6��ן�$]%�c�P�K��Jc�):��A3G�T{k���e� ��1�2‘'��^G��l�^Fj�P'8��|��[������q�����ijW2�&�.����r�M
I?-��.K!����w�����r� 
g�!�!�z�����LB����Szfl=49�G��a����x�t�����xB��M���,��އ�Jۯ��5>S~^'qHK�d*ڋ�
п�'�V�]�V��GVƐ� ���	�
$gB�� R��\�*>܂��Zk�A��p���
�rǠ�р4R
+�2���&8�R:RH
`
�I0��
ԥF��k�%�
���t6��SƇ,"���
�yሁ�À4�A� ��b �
w�S�"
+d�c�T!�;|N��z����M>�q6Ѕ>#�I�GN�B���]c5�� �T����n*@�w��0n��q
ȟ�q� 9(n�� G��i�yо�.N
-)q�
ho���PD�Z�A�	��r�
I
��ie���%
�
�u�+�4]珁�@�k5kN1���y��+!�=
+g�\��8ט
:�m,�
�
�+maH�(}%�"@꼾��|뾲��������-�I�
�L
�U†Ԡ�]��Aݖ
+�@�P-��U~�r���	o����Qg���Y�]%O!K�N�	"���S�K^�u��ݹ��A�SjB��$=%{)A�DH;�%#� ����d�U	��
.A��\� 
�?s	"�q�F(A,)��y%�|����R����_F�_�h�?#�2��)\��Ǐ����
|T��-�
ᩭ��Py�
��tנBK
+�3zz���a������}j��J�(�� �P�z�k@���х�x�~I!iA� !R$-�_����0=�(ݒ"T�7J�o5J�����_F�/����(]u at U<'��{P %���x�Lj�Y�^!�O��d:��=�
� �b`5�x0f�q�����G������������2��`-�=& �1�	��!��e$8�����x�W���!�'��U��}�g���p�k����k��kPdJz�=�=�b�>
t(����-��,W5���J�3Km)k��Zܗ�쮲��6I�8��)��n�W�E~�._�]6o�~r/�_��:W�*��g��֤"��d��O ��O���$���v��Y!!�qV*�y���D�n�A���?�1]�-�^R����x��w�ն�Hk=e
�S���1$�+�~�ے�H�"`HKK╽��7��7֐�F�µ �D(^e��z�z�= �)�h9�M(
UT/�A�j�
�@�o��N� o	-����DH z [...]
jd
/vF O��QI��s �T��!� �`O�s��E9g�e�Âi��o_&@��돾}�n�:yAu�(�<y��In�{N�I5N�ELvh`�Rj��lm��R����P�����l|�
+C�$-��/�t�yX�pZ0R��0��~j �{�F@�ߝ>�*0
+qBK�x�����b5�R@��]i_
+D�ܞ	噠���g���	����o٩.XsB�:��b*�=���2ݖ|a�[w>���=
+D��)��
\��
+����'Y
bԦp� �?�O�CsN֥݊��������-��7���=�|�ks�<�
�F!�=dT�^�<o	�"
�A��g��q�[S]_�P\�rH������ҿ��!�TU��.g&�C]zAl��EsU�ۤ��B��j�|?q�ш�"���}��./.><�
��-�,;J
+�}ط��ث˿m�/7�No��TQ�6������&J�b�Te��Ǿ�6�g�� �1��
+endstream
+endobj
+13656 0 obj <<
+/Type /Page
+/Contents 13657 0 R
+/Resources 13655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Group 13649 0 R
+/Annots [ 13654 0 R ]
+>> endobj
+13648 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 13666 0 R
+/BBox [0 0 418 144]
+/Group 13649 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 13667 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x��UMo�0
��W�X�-`�!@1`��
�P��ÐXw��i[��,I�
#!%Q�|���
l@�	���D����/@(��3�-5>�
�_?�����?���Ҹ���z�� �C����
��� ������rR�=�͸�Ns�8��`�4�xQP�8���2Ȣ��r�чnj
�0�{��6��̩����5�Ś�8'�-֊u%
��bi�!ԅ�[Щ4��L
B�5�i~���4��
';�D*��\JC�ɴ�v�S�r
f�.F���Վ
��҇��x{ā+ղ�
+�@�
�C����ʅ���eM_wس$kD�!�
�ȭ��r��@�3TI��PgY��ҦҤi���,LJ�
�P�jZsxs�
)��x�$�I6��>�9���J�%ô�+
W���e��v%߷��Ũ\V#Q�bsd��8.v��1o�K����ٛuFpIg��z�a
��\U��3�o�Y�����gx��༠NJ��'8/������m��x�

+]_4Zc1�&�l�
����ԹΫ죸+�vQ����ܜCRҽY�2b�]]�^�
�8r_�/,��X
+endstream
+endobj
+13666 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+13667 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /NRHWJQ+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 13668 0 R]
+/ToUnicode 13669 0 R
+>>
+endobj
+13668 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /NRHWJQ+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 13670 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 778 556 500 278 611 556 556 667 500 584 278 278 500 611 278 584]]
+>>
+endobj
+13669 0 obj
+<<
+/Length 13671 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mk�0����
��E��.�P����? &�Pc���ߘ7l��'���C&��/�
W�Yv��a���2߭$��u�O�����$L��n[V�Z=�Q]�����n��枞"�X�n�Q_����a���C�%Q�0E�+�*̛���>��*�����N|m�Xꙣ%9+Z��d��RT'n5�
�j"��_<
i� o����
O�"i<��J�<U)(GL�
+�
��@H�N�r�;�� ��
$=塊B,T!P�l�	O<A
z�����We���8����@���/G�<����/C�
~i�
~9
8��p���
��P%����v�����
y��
�W?-����
mf�g���%
+endstream
+endobj
+13670 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NRHWJQ+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 13672 0 R
+>>
+endobj
+13671 0 obj
+357
+endobj
+13672 0 obj
+<<
+/Length 13673 0 R
+/Filter /FlateDecode
+/Length1 2572
+>>
+stream
+x�UV{l�������qb�j�b;q����
+!�弜��M�pfHRg�YA��2H�
��PhK[6�
��iZ�R�bm6MC����ұN�#�*0�
��y��s��s�w�w�y�ι�~�cV�8+�7�$��?0������3��/��χ!t2>�W��{xk�8T9dS~>?>v`z�o�3�o�?2:�/��w!�??����� �
�y����L����
lz[7׊
4,���
y�z!7�4��12�KI����f���y���G�zo�k�ؾP
�.pE��x�/N��n��8+I,q
��b�a���f��(��&���,���R㯤
�q:�j����A:��\��(6�JMu���U�h{jz���XEN�玭�*T�@w�Ps����n�?*�;S
�Z#
gnVf�&M�Rgg��E�r��6S�
+�!�P
��a֑	A	�J���D"���E�&�-o~B�˵���#���dž(V���,�
_�P�jzbe������IhL\ۼ�$T�l�E#n�q����$n'B�&qya*���k�<�v3�������L�]��]��bW�ȇ��̩�g�'g�&�C����vn=��o�:M)�[�.�����%]Ĥ̜���
��lDJ9x�1��Q]�`lz%�;I!h�g�8�1˪�ސ���=�q��s��jKN���8K�D7�ˀ�!.�~+z����-
.nm�����XH�
_�Q^�Z#
�c-B�b5�\�
+lf
<�
:��
�Ye��vN�
YK�ÎH�S=�G��5Oe��#�Ȏ�
���F:�q����U�2���ӕ�3xށ��
+O�����~�^��z������Ӈ�G�/�E"��PH�+����gg��
��do��xot���*	[�ɦ�)����0ӁU�j`��ճ'��79����(���\���H�?0H���eI��O���B���(���#�����ۃ7�XM��0�����3G�詥�'.ML�N&uJ鿆�ʶ%�е���
�$�ݛ���(��U�
��L�l������

o��P|��
/�z�����'��ɧG/���xa��Wcp"k2
٣ �kch�>�94�zI!���l��6?{�M���&bv��*t�#�
�T��62��p�g4o�
�4����:K��������B�&!�Vp�U���~WA�=�`��lꊴFJ�s
Z�!����I{���9��-��s�wyQ3�W0��kVFa�OCC�k��Ws
�zMi��;yR��0j���d�Q���OK���
�رԑ�'���#>��>c���������Um(�ny[5��߼U:G�<�w	�sX0_�h��7��q	t4XZ[���[ٺ�|��o\�[7�tm�mmu5-A˙�#o������ΒHs�@��.��с��ѽc�a�C�1]�I���(�g��� }�Z��X
��
�"j�dpj
�`�
���رg�����\G�ޕ+�Nt���Ǖ�77�gL��{
L����O�������
�� �/<�m
�5�-M�MZi�͡�$Pn��SQ�}]�Iy� ���rl3������?�<ß��LWb�}��>�`2:�����qdUħ�9��.L憿֤�dRy]��V�B��r���ɓ��g##y�0%�i�Q)��ݘH`d��Ԕe	5k��<9.i�
G
�SPei at U��M��	�ף�����,�1��l&�G.��6��F�δ�
�dT<��
+�;�]�kޟV篟KU_*����U0*n���
՟�~ry��˕�G�<�>�毳^^�J��լ��%n��g��:�όx�+e�BX���#3W�1��|�����>ֳ"�
�=X��F��;�����^�'�����:
zG�
���G4J���R\ �)�{%��}���xP�
�΁�#	�<���
+a�{4U����&�ͣK�̃@��|�
+�)L�?
+�'@
+endstream
+endobj
+13673 0 obj
+1927
+endobj
+13649 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+13654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13658 0 obj <<
+/D [13656 0 R /XYZ 89 770.89 null]
+>> endobj
+13230 0 obj <<
+/D [13656 0 R /XYZ 90 680.62 null]
+>> endobj
+13659 0 obj <<
+/D [13656 0 R /XYZ 90 680.62 null]
+>> endobj
+13231 0 obj <<
+/D [13656 0 R /XYZ 90 634.602 null]
+>> endobj
+13660 0 obj <<
+/D [13656 0 R /XYZ 90 634.602 null]
+>> endobj
+13249 0 obj <<
+/D [13656 0 R /XYZ 90 576.629 null]
+>> endobj
+13661 0 obj <<
+/D [13656 0 R /XYZ 90 576.629 null]
+>> endobj
+13250 0 obj <<
+/D [13656 0 R /XYZ 90 530.611 null]
+>> endobj
+13662 0 obj <<
+/D [13656 0 R /XYZ 90 530.611 null]
+>> endobj
+13663 0 obj <<
+/D [13656 0 R /XYZ 90 484.593 null]
+>> endobj
+13664 0 obj <<
+/D [13656 0 R /XYZ 90 450.53 null]
+>> endobj
+1233 0 obj <<
+/D [13656 0 R /XYZ 90 359.922 null]
+>> endobj
+418 0 obj <<
+/D [13656 0 R /XYZ 90 350.011 null]
+>> endobj
+13655 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F22 2996 0 R >>
+/XObject << /Im19 13648 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13688 0 obj <<
+/Length 1991      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�F��W�� U�h�W*U���r��J�=�)DBjI�!��_�=/ A��0{�	�`���u��=
��H�l/��`{
��&��%Ie2�K
N7HHxZ$R�h��진I����������w�k�n�z6�cB�N� ���|5��;N0�,̌N>�I��S�er=�u�{�9�@F_#B!~���L��r�M)��/�궨����zޔ�z봊{�׋K�K$�L'SʐR���H��}�|�
+��۪Z�q���>��77�
����.�S
?�/?b��Vs\���͛uSԟ2*�|y��v������n�zT�r��l��oL��Vy딽�̈H�zut!��4�
`D@���..zp%*�V���zQ��e��
t�0��a����;
rD�w��-8��h����<���(N�lꌩ��n�I�x���ܗ��8�X�?`��>����������4�"��o}��U��8����猀V�1
��
�>}��T۲)n.�Uޔ�����:�k�#`1f�'g����쀍����|����ݹa"�|Ę�I���,�$�qR�PI�U[I��e�0&�($��F��ڕЁ��rJ0A
��F����:m�8	������"�9�3�*\86Ҍ
�Q�>�[8��a�9M�Ż�
�����=:w�&
)o�i�>m"���H
y��
4E�2��O����w���F���GF��yr�6��” �!� 5E+v<�Ks���;mrO5��x�MD����r�RY������*���:�y#��bB�!d,�
⸅�ڌ ��x$
�QY��D&s��l���Vq�GL�T3qΟ#B&��j
+P�k�N�B"0��gP�@D#
+� &$":�˼)����1D����U�k���i�j�:ܬ��r�+�����=0v��D�����S�(L��Z�4�jc��
{�ͣ
+q>B(�	�ZI@
k��,V ����~~2���>DJ���q�k�c�u��NH�R��<�;k�)1���6��i��س�M�3�;
�-צ�_�՚�b���
V����:��OBc3�b�@�I.ǰw�6
R�|��z�j@
�a�W2w*�>��K�/#���c6�+�aX(��W�����3_y���3G��)��0
�x�}��T�(m�/}�f�P�e[ՄNI��Mo���	��-;	"
˰=k5y�������"@"#�
f�!a�&2��]��� ��2P�T�.��G:f�&���wɈ�XV�Pa+�?��V�Nj�JUM�94���h���,��3��<Z��
+5���΢�����}�.�$���{ؾs��2�n�V�2ʡ�^��;bJ!
+��3숁8��wt�1�VK<OŢ
Q��!�9T�f�o��:w����ed�-
uU�9��\B�
�6P�t�1
�
\T��U��`%Ib���s�~��KCα2�S�w{+�S���9$?Ώ��'���1~"Hiz�5������
X�b|�����z��P�9��C%9P�0%٨U=J:X ;Ẉ�t�*t��5$۹x�k!Ř�OW��λБ�9L�*<i[sK�9�U�q�c����{�d�g��@�Π��))�w�g�{�Y:�|
5�.ѻA#�i�̡DwM��^f�/��H��;�Յ�X7۰�CX2.���.�D��N��
_R>4l5�m�0�w�ӢZ�����4�����<�
2y��i������b)�+vhv������Fat�y�d��V��lo�hw��sX��(��+����.b����LA
�
�ܕp��S�7�_D�3���Ξ���
����6<���0
J�e����|�p��?`ǘ(E���{�	oV,��a;qS�7�	t4){}H=
 
s<�D���z�o��-�o2!��%�%_?��Ehܺ�RԻ~�f.�M��"���z��U���֎>��E�-�f������

�
ͫ�>5w��a�v�⯀U[���;�
ׂ��
I��
+endstream
+endobj
+13687 0 obj <<
+/Type /Page
+/Contents 13688 0 R
+/Resources 13686 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Annots [ 13650 0 R 13651 0 R 13652 0 R 13653 0 R 13674 0 R 13675 0 R 13676 0 R 13677 0 R 13678 0 R 13679 0 R 13680 0 R 13681 0 R 13695 0 R 13682 0 R 13683 0 R 13684 0 R 13696 0 R 13685 0 R ]
+>> endobj
+13650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 684.555 169.81 695.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a47224e5fc07b3798eb4f2f5837073894) >>
+>> endobj
+13651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 684.555 309.485 695.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+13652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 684.555 514.653 695.086]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+13653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 672.6 227.553 683.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+13674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 642.799 169.013 653.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_af3e260242ad3eb13cbe5281f3c51abb5) >>
+>> endobj
+13675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 642.799 324.27 653.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 574.521 276.535 585.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_ac63c0ad7c349a9bc2071d7ed158d9ba0) >>
+>> endobj
+13677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.753 574.521 390.238 585.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+13678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 535.897 284.284 546.801]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a8684a78903049fa062f98ada32e1a1f4) >>
+>> endobj
+13679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.096 426.019 156.462 436.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_abb2196b5d457aab2d16ee39b6c0710aa) >>
+>> endobj
+13680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.459 426.019 311.9 436.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.712 426.019 513.996 436.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 414.064 229.376 424.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.096 372.681 156.462 383.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_abb2196b5d457aab2d16ee39b6c0710aa) >>
+>> endobj
+13683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.459 372.681 311.9 383.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.712 372.681 513.996 383.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 360.726 229.376 371.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) >>
+>> endobj
+13685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13689 0 obj <<
+/D [13687 0 R /XYZ 89 770.89 null]
+>> endobj
+13690 0 obj <<
+/D [13687 0 R /XYZ 90 703.941 null]
+>> endobj
+13691 0 obj <<
+/D [13687 0 R /XYZ 90 660.825 null]
+>> endobj
+13692 0 obj <<
+/D [13687 0 R /XYZ 90 591.885 null]
+>> endobj
+13693 0 obj <<
+/D [13687 0 R /XYZ 90 551.547 null]
+>> endobj
+13694 0 obj <<
+/D [13687 0 R /XYZ 90 485.012 null]
+>> endobj
+13697 0 obj <<
+/D [13687 0 R /XYZ 90 322.792 null]
+>> endobj
+13698 0 obj <<
+/D [13687 0 R /XYZ 90 322.792 null]
+>> endobj
+13699 0 obj <<
+/D [13687 0 R /XYZ 90 259.452 null]
+>> endobj
+13686 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F11 613 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13705 0 obj <<
+/Length 3272      
+/Filter /FlateDecode
+>>
+stream
+x��[ko���_�E��B��J m"éݪ�Rp
aE��E�\eIZq~}�<�1�"M�	�~"�;��s�;���.�ً��\�<�P,3�H*�����LI�%��${7")rzF0ƣ�S�Gy3ͯ/O)
����b��ׯʛ&o>����ᡞ�������E9�

����۟�S�G�|^ֳ��W�=� d02#i��.7�}��80�v
..�_�Ec���,���N}|(��gg�2D��AF��w�T�j��"a� �kՎ��3�i[������3*�����Q1}��E៼)n
?���>bJ�g��z����O'��q��)���'���l���0bFg���4��g��=��	
�P�ŒI�"5M"5�3K�BH�Y��O���
Ld
+qE}����O�b:4DB 0�2��!�c�v
<*���R�B(�(2�D6G�1΅���E�
��HA��F�5���&�@�f�|f?騴��`a�W�MUΊ��oo[m��T�A�&��tF�Q~���
椐�f&�����ւ��P ��Yg��`^/�1l���r�O뇢�u�_�az�d���<t�
���EA��xe-���yj��5��q����r�.��J��(
�$P���q"�
+iX�gD��F�
$�|� q h�wxg pl�1Zoǹ؎s�$�;�W,��z���@�Y�Q4�e6t��֝N��ȗ_&}e��FX�648�2��0!!-D
	�q�1�E?hU���
[FRY2�Ю_	@�%~
N�
�k�րu|��ѐ�#Q���
}��wg�@��vgL!,|Qڌ
d@�~�SV���<%�,'�_
�
�ɐ�Dn�IZS2H�$�/��ЦHX�`��m!�7���9��7�E����sHϡC@��t�KX�5)B�4�.Sw�~������m4�I\
Z}�P�
}B�aA���
�gg�>�X%��G%
�0�K�ʼn�>B|���3p�u��H��;B�ӎKh�hBo�h�����-�6C�6ЯxbC����a )t
^;���Ѡ����_
ơA=���f4h��g����UUm��8?O�,�)�m�j�[;6ER�I��<ֺv����^��<�ZGq�cE��2�2=����K�����n��8a� �[�*U�!�)�����|��δ�>�.�4��$�}���	T��������f�C`�(�/F���h�<^ӛ�f|�G��xa9���z���E������A�(����ZUe�
+�Y���^QD
ޔ]�Y>u�]\��
���C,��$ݦ4�:����
L����x+y=�L{
+�w���c|	���x��S����
��~�
��8�*�u�U�3D����ؤ4�
��+J�Y����N���*%G A��6�tg�p�1aB�
*��x9c|\�J�
+^"J
+M2�%�@�	��P���bW�2-
a8���"Q�=H��(IGp���
�
N%Ĝ�flCe�{}�!�t����s��;'q�jK���mo��:�#�	 C�$�n�w����[+YY0�@fUߞR������=֍dK�u`X�Xe��.G�t<
Y�]��|Q;��Yb
+6M�6l���
E'o��.��+����
+�P��a�n׽~��2�)R �C�F�M���%�A��{*�>��{$�f�T�
`!��SS̗�"3+
����y�0z"JO�����ʙ]H�
CE9��%�X�e�X�������'
+j��
u0��_�E(�\yl��h$�Y>s�qk/�M�b�?\��
+�鈒������]�T`�� ���q��'{�~\O��)�i*_t3�oSj����ob��ѝY��r�0
+ ��Lں�3(ᰁ
��w�v����na�5؆J�[z at 9��C.���<�q�3a��i߭
fq�
���,�<k�Y�N?o���1cߞ�q�^��Ͱ��C
�m���]�m�N���w���Zq�E��mCUl�U
��k;�6�
57"ؼ1ܶK���=t�
=��Bv�8�2F��ةa��?���Od�U�Sr�a�d�7G
��M}G�б{�R at 2�.>
+��XXQ�)�)���O�y>	�ìIh`M��i=)a���$���`���n���ꈰ��
��z�g+M̝����M�X6����g�U=�;찧��4��iZs�4Ϛ/�㢘�w�
+qѱ�ۼ��Fe1ձ��k
�y �g�@����Z؆���^;"�yr���]�ꔌ*��o|M��T������q���

+��~n�G��YSؿ
�I'�����
����ݺ�M��
i���߿����V��l�?Ƀu�|^�˼?��>vVㄬJY\���T$��_��%
��2]0�=bã�
�P>�c����=�7�:�@C��W���M�����-��2�C��٤�d֦��"x��
S�Q ��PP��#(�o��a����qS>���MT�L�E^V�U>��
�y�O�R�`
j
�gy�:�V
K{�"U����k��Ӈ��*u�l>j�Bbz��${���tj�S
ׯ��b`'n��H�f�zUip}��yl��N5�W��a�
�|[�Rn��|��荄+��� wZ=�	�I�@�gA��h�b6��R�k{�o��)�� �|l�>��b㱁01i����4�v՞��pj �&I}$���Ѐ^���7�F~�+�Â��V1.7$�j�@��x��@�2�[�����dn�������*�+:,=0Yŧ�
ء�+���[,vwY͸;�x
���dl������p�K���Q,�P�
+[�r8`�դ#4d*�bT]��،mس7=�cO*����i��甎k��YD�� @L����N$�E̡��PGڮ1��O ��Q,����-X=���Wi~
3�@�����
+���
r��DPJi	�	�lU�^so���]sg�B��%����h�a���q7���+N\v�\ܧzB���|W�͙>��‹$s��Dt�O��O�
Z������MP�`AKP�
�P7�c(C�~;E��(
+�e1|
�]	n��(G���(C
��(G0��(C3�OQ�Rc�ͻ#0�I�/A9����
�ߓ�
���N�F���"�O"�"�z�o��yV��+f���Z�충�+�[�� ��W�ͫg̒�6�v����pBä�uS����2���^^��_�����f�:�-ۣR�/y=��/E�mL�$j%Fo�7�Ǭ��7/�����
6������o�w�bv���t=x�y (�m����]�����`'j�Kw��	���� g�tb��)E]��w���ax���e�������?�� �
+endstream
+endobj
+13704 0 obj <<
+/Type /Page
+/Contents 13705 0 R
+/Resources 13703 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Annots [ 13701 0 R 13702 0 R ]
+>> endobj
+13701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 245 501.708 255.904]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+13702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13706 0 obj <<
+/D [13704 0 R /XYZ 89 770.89 null]
+>> endobj
+13707 0 obj <<
+/D [13704 0 R /XYZ 90 556.703 null]
+>> endobj
+8368 0 obj <<
+/D [13704 0 R /XYZ 90 535.861 null]
+>> endobj
+13708 0 obj <<
+/D [13704 0 R /XYZ 90 535.861 null]
+>> endobj
+13709 0 obj <<
+/D [13704 0 R /XYZ 90 423.779 null]
+>> endobj
+13710 0 obj <<
+/D [13704 0 R /XYZ 90 231.446 null]
+>> endobj
+13700 0 obj <<
+/D [13704 0 R /XYZ 90 209.07 null]
+>> endobj
+13711 0 obj <<
+/D [13704 0 R /XYZ 90 209.07 null]
+>> endobj
+13712 0 obj <<
+/D [13704 0 R /XYZ 90 138.972 null]
+>> endobj
+13703 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13764 0 obj <<
+/Length 1757      
+/Filter /FlateDecode
+>>
+stream
+x��Zko�H�ί��R֖�ɼ��Tە6	��m6����
+p�[��1m��{�c6/��-�V|�����sϹ�0��x�8k7N�
fH$]��{CbCp�
���[�3n�o�4��!"]h��>��n7��w�Y��n|lx�
�
8HxFo�x�
}�����I����
N
G�]��c��1�x%&�]ęgB!:�w�:�ˋf�[��؜LFh8�Ou�Cux>!2p 
�*�6�Nm�ayo	F�Z6��eQn���_�#q\�y��
+�����
9�X�5�[9�bą�\$�q�,F�xdb·A?��
�s^
+�U�M�IJ=s��i� �i�td���>NT�!�b9�۠?���73� /��׿�1���*)I,�1�>Uo?}Ni�
0��<~�&�L{=�0� O N�1/h~r��/�e^4�}���?��C�Ͷ�=3OF~d"���
+�gHr����f�Q/(I�"C��9�r� 1Y��0�l���$c�\_&y��D�]����~�\�
�;M���q4E�����1�,�
J���K�F�~�-�&,-
`
$����/��*7X֋���O��o�(+�H�8a E���u�Q؃nRϼ
+�� ���g��o	�-�ŊR�b��j%$�\����R�-���5�i%
6�VQ��;8������ �B�t>	��
3��;
��3�d�3�1f^*�A	P��
�tc`¨�l{d��/��
��d*�p�ݼ�kV|���-�K^���
�U�
H sx6
G�i��('w�ߠ ���F���L����Ø.�aq�+� �h�o��>�E�t�)
Th�=�_�={��<��LU���|��M�Nz�i]���vQqB��0=�׽x2_ ��Lu@���[�{|po�����X
�޼7�ٱ�Gm5.�Q��#b6��a!�d�>�&�qY-���y���%F
mrs2��)��9�`f���0�w��s��^�n����������q�����e�ͣ���vf�aY��s�^����s�
��":�η%�jH}��
+�h8�G�t����H���� £f��ً$�7'�� :��]�yש���CK�N�V>
II v���@R`�����teQ���;
+�P^]��<�����
��狓�(
�ON�6�vԾ`eE���jg%Ct�\�*bT�*b��>��T0,-�Ñ�W�����
D�m{cVٷY��H�I7�����*�Vy�
R^�l;��ir�E�u��O�f����0z�I֏P��
��l��Ip$\�5zrD��0�.:wC��G바��),^o�k�HT
+�N'��.�8��T���
+�K1�GOFvk��"_�d	�
�P9|L��W�:=���8�G�D�D�#{��)H�U���I<��
+*���,��Ӱ:�;���D��"K���qf�D���Rf�=�[0���\o@9;�)��|��d?�0��r�mu���V���r_
u7��&��|�RyHw<��
+a�^�%����݇�`Voo
����Vd.����X,VM�-W�4iv�����r�`�u���k곈�&@�a�\����-����w��h���
d�!�����H>6 "2l�r�=,��7N/�̸���ҝ
����O&+e�#�Cr����V�U>�ɯ����r�G�blP����
��S�$+��e3I�b*������F��z%
X���9�i:yzzڝ
�A4@�����l,AfbQR��D3���Ca7Ǿ������$ձ
+endstream
+endobj
+13763 0 obj <<
+/Type /Page
+/Contents 13764 0 R
+/Resources 13762 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Annots [ 13713 0 R 13714 0 R 13715 0 R 13716 0 R 13767 0 R 13717 0 R 13718 0 R 13719 0 R 13720 0 R 13721 0 R 13722 0 R 13723 0 R 13724 0 R 13725 0 R 13726 0 R 13727 0 R 13728 0 R 13768 0 R 13729 0 R 13730 0 R 13731 0 R 13732 0 R 13769 0 R 13733 0 R 13734 0 R 13735 0 R 13736 0 R 13770 0 R 13737 0 R 13738 0 R 13739 0 R 13740 0 R 13741 0 R 13771 0 R 13742 0 R 13743 0 R 13744 0 R 13745 0 R 13772 0 R 13746 0 R 13747 0 R 13748 0 R 13749 0 R 13773 0 R 13750 0 R 13751 0 R 13752 0 R 13753 0 R 13 [...]
+>> endobj
+13713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 563.146 225.331 574.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) >>
+>> endobj
+13714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.808 563.146 295.451 574.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.102 563.146 466.491 574.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+13716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.983 563.146 513.996 574.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+13767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 551.565 147.454 562.095]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+13717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 523.408 225.331 534.312]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) >>
+>> endobj
+13718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.669 523.408 337.121 534.312]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 495.625 225.331 506.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31) >>
+>> endobj
+13720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.147 495.625 313.6 506.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 467.842 225.331 478.746]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497) >>
+>> endobj
+13722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.669 467.842 330.496 478.746]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 440.059 225.331 450.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abc31d844172a202d43d08e299e26322f) >>
+>> endobj
+13724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.147 440.059 306.974 450.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.276 225.331 423.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3eb603756ab7be783cd92410ac7aed7) >>
+>> endobj
+13726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.73 412.276 311.287 423.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+13727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.635 412.276 409.101 423.18]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.431 412.276 513.996 423.18]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 400.695 157.407 411.225]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 372.538 225.331 383.442]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adca9874a75b5ba09114b8495a23c4edd) >>
+>> endobj
+13730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.424 372.538 326.366 383.442]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+13731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.338 372.538 424.804 383.442]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.481 372.538 513.996 383.442]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 360.956 173.457 371.487]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 332.8 225.331 343.704]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd) >>
+>> endobj
+13734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.498 332.8 274.752 343.704]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+13735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.94 332.8 373.406 343.704]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.12 332.8 513.996 343.704]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 321.218 123.096 331.749]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 281.107 225.331 292.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abad856c82bc5ed461fed87d318fb5950) >>
+>> endobj
+13738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.245 281.107 270.845 292.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+13739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.88 281.107 311.607 292.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+13740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.428 281.107 424.894 292.01]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.481 281.107 513.996 292.01]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.525 173.457 280.055]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 229.413 225.331 240.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aba9a62afaaf44d400bb19bc9af041182) >>
+>> endobj
+13743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.813 229.413 297.973 240.317]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+13744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.144 229.413 424.61 240.317]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.481 229.413 513.996 240.317]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 217.832 173.457 228.362]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 177.72 225.331 188.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b90222087f1b165953960beac112e72) >>
+>> endobj
+13747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.815 177.72 325.084 188.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+13748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.155 177.72 450.621 188.624]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.493 177.72 513.996 188.624]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 166.138 199.469 176.669]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 137.982 225.331 148.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b5db50d397654bd1a8d4067d90f7419) >>
+>> endobj
+13751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.473 137.982 362.894 148.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.382 137.982 454.848 148.886]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [505.05 137.982 513.996 148.886]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 126.4 199.469 136.93]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 225.331 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a964b893c418b1885f22f833e42cd730d) >>
+>> endobj
+13755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.333 86.288 363.754 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.211 74.333 256.963 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13765 0 obj <<
+/D [13763 0 R /XYZ 89 770.89 null]
+>> endobj
+789 0 obj <<
+/D [13763 0 R /XYZ 90 701.208 null]
+>> endobj
+422 0 obj <<
+/D [13763 0 R /XYZ 90 694.434 null]
+>> endobj
+13766 0 obj <<
+/D [13763 0 R /XYZ 90 582.084 null]
+>> endobj
+13774 0 obj <<
+/D [13763 0 R /XYZ 90 155.185 null]
+>> endobj
+13762 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F22 2996 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F39 2320 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13843 0 obj <<
+/Length 1952      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�6~ׯ�S*�T0�G��C�8�4鸎ۗ$��HHb�C!);�/.R�DI�u���I4���}�],`h�
h���\\��p�ka˸
.4l
��q����Bؽ�!����\�0��|‚������_��
�Ћ���3��묇�n��(z_n�]\!��Al ]��#����R��ˀ�[��D?�����%�7
Ӛ�.-���a�곯#/��l�=wY<����aF�P�1��R5↍�T�%��gB@j�S����Λ�����@Ҽ&�c�q��h���q
�^v�
�;t�Fj�W"����X��� :�ͅD�W�0
+�Z����$gٝW�wL��M8��{Y���@��N��I��0�}�D5����p�˶	l
���U��p�|�YJE.�,��JC��crccถ�cZ�����Yo�v�O}�8J�(Xѯ��*�Ѝ
�I��,�4��i�gH�0h�}��e��ъ¥�jv�X&��2��8�X��A��p��,)z�.R�O!đ���P�q�/�v-@��B҄�	,X![L¼|L8=�>^4r���J!X�
|O3r�u
B�gΉ�?����È	m��-W)�l
�제&�0M��pg�M|��TK�x(ȊER�
SԜ]���6���������R��Y�u��E1�4i.S��{�>�A8��ݴ�[y�M  L�EC��h�_?(�S�{��6�z>T#�
�P�����e
î����w��t!�z��&J�07,X�8|��GY�<@nK�-�#�2<:�y �QS� N΀��
�8L�xow	\^�����o:g���t���,,�v��tFY���i��F^��5�“!h�!�݂l�
׈�e�;�����V^L�#�i�	:�CX��
+���2�	��M��_�+H	�3�zK=װ�za뷮�R�=͊�0+�n̚3>.8�E7:��B��|�����E����jc�JҚٔD2�
+�r?	}�4i�l�|Ch#���
|feH	��	���z?&�+^f��a�f�1g3�\�]�z���J�����R�����������Sci?
,��b��:�[V:߶F���
+�L�
܇����"H4�����B���"��$�����➱���{�E����_ԇ�^"���h��Ӧ�/c�jnf���2
�,J��y��Ֆ38�0μe���eU�n����%��1��2Z���U�0�xZ�ϔ
6�@�W���
h��C�x�n:�t�|�8��"��*Qȴ�C��'
�(�j9��)݅:ŀ��Q�%�(vމt�e9{j���0�y����_���c���p�����c+rD:�4��q�˓q��3�2�)a;�a�eF�#ăb��z�!��i}��1d#
���G�5�+FH�$�
-�BDJ�φ9S��u��
+0�ą�U@����X?��ͱ=j��(��ߩ(Z��4~�s�2V
���;�u��5��S8�6I��[���}�W'F
+}����P��
+��#���X��⛷b�m�
���w.b�����h�X�)똞e�Β�t��b��4�Y���)6�;7���%�Ҽ,��}���w"���C#��H�a�Zh�󲦚��:k��^��hشi�8�=�QO��9�R�ƹ�@�0z�
���{n8/��6�X����
�y��H8���דla��.Ɲ�i<)w9ӆ�g����?��eGcAN7��������m�%��I,ѩ"V���7OH���U�����@�	��t�l�����U3?���b

��Z���Bko[���-qH�ު���e��)8���z�����z�3g����y��Kf^ԫ<CY��nt" �Y}��#+�WB�c�O�������3]\�������p6�Y2�ʖ|U�EEfT��4c�����O(�H!��KKpc~�@ �mc�c�Y�,ꆋ_cb\����\�9�@\
+endstream
+endobj
+13842 0 obj <<
+/Type /Page
+/Contents 13843 0 R
+/Resources 13841 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Annots [ 13758 0 R 13759 0 R 13760 0 R 13788 0 R 13789 0 R 13790 0 R 13791 0 R 13792 0 R 13793 0 R 13794 0 R 13795 0 R 13796 0 R 13797 0 R 13798 0 R 13799 0 R 13800 0 R 13801 0 R 13802 0 R 13803 0 R 13804 0 R 13805 0 R 13806 0 R 13807 0 R 13808 0 R 13809 0 R 13810 0 R 13811 0 R 13812 0 R 13813 0 R 13814 0 R 13815 0 R 13816 0 R 13817 0 R 13818 0 R 13819 0 R 13820 0 R 13821 0 R 13822 0 R 13823 0 R 13824 0 R 13825 0 R 13826 0 R 13827 0 R 13828 0 R 13829 0 R 13830 0 R 13840 0 R ]
+>> endobj
+13758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.061 225.331 705.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.071 695.061 276.878 705.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed) >>
+>> endobj
+13760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.215 695.061 415.636 705.965]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 667.651 162.657 678.181]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3ad0a7ad694f4a7724504544aff49fa) >>
+>> endobj
+13789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 603.329 190.738 614.233]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 603.329 261.85 614.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41) >>
+>> endobj
+13791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 577.649 190.738 588.553]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+13792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 577.649 262.159 588.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) >>
+>> endobj
+13793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.216 564.135 279.072 574.041]
+/A << /S /GoTo /D (index_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+13794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.187 564.135 391.232 574.041]
+/A << /S /GoTo /D (index_Grid_Affine_Dimension) >>
+>> endobj
+13795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.523 552.342 210.384 562.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332) >>
+>> endobj
+13796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.523 526.662 210.384 537.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e) >>
+>> endobj
+13797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 500.608 202.922 511.512]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 500.608 248.58 511.512]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) >>
+>> endobj
+13799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 474.927 202.922 485.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.42 474.927 296.181 485.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533) >>
+>> endobj
+13801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 449.247 209.547 460.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 449.247 261.831 460.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) >>
+>> endobj
+13803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 423.567 209.547 434.471]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 423.567 309.432 434.471]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a425f248891aec4ed7800bd92334fd7c1) >>
+>> endobj
+13805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 397.886 205.692 408.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+13806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 397.886 261.312 408.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acc8d0378d1cb13b5ddc04dd12cf18ebe) >>
+>> endobj
+13807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 397.886 332.156 408.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 372.206 205.692 383.11]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+13809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 372.206 261.312 383.11]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) >>
+>> endobj
+13810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 372.206 338.781 383.11]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+13811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 346.526 205.682 357.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+13812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 346.526 261.302 357.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) >>
+>> endobj
+13813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 346.526 330.462 357.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+13814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 320.845 183.824 331.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) >>
+>> endobj
+13815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 295.539 192.272 306.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
+>> endobj
+13816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 269.485 241.935 280.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) >>
+>> endobj
+13817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 232.845 213.163 243.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) >>
+>> endobj
+13818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 232.845 351.922 243.749]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 209.42 189.901 219.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932) >>
+>> endobj
+13820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 183.74 193.229 194.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2) >>
+>> endobj
+13821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 158.059 187.689 168.59]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) >>
+>> endobj
+13822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 158.059 226.693 168.59]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 133.887 228.895 144.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) >>
+>> endobj
+13824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 133.887 333.482 144.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 110.087 229.503 120.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e) >>
+>> endobj
+13826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 110.087 334.089 120.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 86.288 187.264 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) >>
+>> endobj
+13828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 86.288 293.213 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 86.288 371.148 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 86.288 455.727 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13844 0 obj <<
+/D [13842 0 R /XYZ 89 770.89 null]
+>> endobj
+13845 0 obj <<
+/D [13842 0 R /XYZ 90 712.265 null]
+>> endobj
+13846 0 obj <<
+/D [13842 0 R /XYZ 90 684.481 null]
+>> endobj
+13847 0 obj <<
+/D [13842 0 R /XYZ 90 618.352 null]
+>> endobj
+13848 0 obj <<
+/D [13842 0 R /XYZ 90 592.86 null]
+>> endobj
+13849 0 obj <<
+/D [13842 0 R /XYZ 90 567.18 null]
+>> endobj
+13850 0 obj <<
+/D [13842 0 R /XYZ 90 541.5 null]
+>> endobj
+13851 0 obj <<
+/D [13842 0 R /XYZ 90 515.819 null]
+>> endobj
+13852 0 obj <<
+/D [13842 0 R /XYZ 90 490.139 null]
+>> endobj
+13853 0 obj <<
+/D [13842 0 R /XYZ 90 464.459 null]
+>> endobj
+13854 0 obj <<
+/D [13842 0 R /XYZ 90 438.778 null]
+>> endobj
+13855 0 obj <<
+/D [13842 0 R /XYZ 90 413.098 null]
+>> endobj
+13856 0 obj <<
+/D [13842 0 R /XYZ 90 387.418 null]
+>> endobj
+13857 0 obj <<
+/D [13842 0 R /XYZ 90 361.737 null]
+>> endobj
+13858 0 obj <<
+/D [13842 0 R /XYZ 90 336.057 null]
+>> endobj
+13859 0 obj <<
+/D [13842 0 R /XYZ 90 310.376 null]
+>> endobj
+13860 0 obj <<
+/D [13842 0 R /XYZ 90 284.696 null]
+>> endobj
+13861 0 obj <<
+/D [13842 0 R /XYZ 90 224.258 null]
+>> endobj
+13862 0 obj <<
+/D [13842 0 R /XYZ 90 198.577 null]
+>> endobj
+13841 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+13915 0 obj <<
+/Length 2259      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�6~���#U�`
	�ۮ3�ڜ��ٗٔ��`��tHʎ��o�)Qm�
o�<	$�f��_7ag�`绳ޜ]|�#�����9;�+��i�|��̛�~��<���y}���7~���ugn��<#P�
b��N�>��;v��{#&��d�
�2�]9�g���B��_#�d� �<W�F\�(}B!V�O*ߤq���Hn4g0���4�Ӎ��ZcR��+�F��tF}2	�-$�jkKPez{���������Y� .�p5E~e����q�ۂZ?��Z��I<�0�DQ=��g�M6�B_|�N]>I��d�ɔ�ɣҏx�
J�
	换�8�e���9==���>
+��O�

g��`^��F�K�%
2-)�0CQ�6�	�7k��1Xm�J��
���&W
d�\"�7\cF)�\bf��K)our>�8Ơ�dU��^�.
��dZ0"&��h
�W��fD�9�8����1�U��?��U�EI�?���+�5��Nȼ�e�k#�0Rq�9 �t
��ć�$�H
���Qj
��zڮ�Zh��(k��T��;�4ȓtw2]y����޵n۬�G9� ?�E�ȯ��rN�
kg]�?I��t�l���!\":D۾G�Fv��~�*�.*f
���C��#���0���uw3�d��8΀�h(�T
�-�<��zp�HԎ�P��g@����TC8�sr���^�äW`[��æd���4&�+y�̃ۢdVKcүh����$��9V�,5��C��`�[�J�lE��`�e�*ư�3���XkЎ�0y_������&L��R�!	k'Lx?a‡&0�v*�;&|�i�BrP´7���	WLӓ,I,_)Y�ɒ{ռ<Q"
6$Qz�<�H��;��u�]'
@|�ٕ�� ͣ`���?��&T��U�@!�t��
������ [...]
��x�`/�FJ�i�Ҁ�$%x���}�޶܆�)v�KXA�t#Z/k�@�r(�eb,���C>k
y�ؼ��W���Y�� �{aR'��Aq�u�,ȣL����T�����R kߧ�p����!a<"���h�b�!�ǫtJ�
�ޛ1f��R�[xg�7q�C��>��A^4
+�E!YDw۲���J����z�}w߱8h���:1��~ԚN�E�̓�bnl�Q���`�����B/���X,��RC��L�����'��/~5�IW�tѓ��D��2��Ľa�<̶����S�߿+���,���#���X�j�0��N����u�_A
A ��4,;y�s/!rǡ:��=����q�;(����r����"�D�Wyu���&����}
�F��N�έ���=��u��3�;�yσ m��F���z��j}���+{2�*M�Z3B�G|�e$"`�x������Q�#�_h����
 �!��
+��
��p!�;1H�Y�oÕDG|k�x.$F�>��Z��Y��a]�l����E������Z�-ɿ��� V��X�R�h�/d��
�
@0��[,	�;P��
��F� ��h��<@,�Wǀ�ސ8N��7v�_�
F];����찉+�?����B&z��vչP|���Az��/�q�ޣg̘��R&���U/���1������ȁ�*gԼk�/OT�������J3F'�jW�s�����
��}	��n�
w'A�E��
e�$����h���W̌
+;�ߊ�\�e�Ƙ[���ת{�p�l
�.����P&��tN��m�µ|�|NR�,SE����]��#�>9�8Y_��8J����K���P�3c�
ҥm�7��ģ�@�0�
B_�&c�	WU�)s�5�Z�g�/M��Y���H��"Jqf�e�9gn�
���ڀ@�2w�[.o�<IƹyA=�q�}��ÃJ���W(7��V�-
������
�N�Ջ��~Zy9�7��c���r�{m���Gws{�6�/���5z��
�Wc���#.��!�<�ߧ��Y6�e���ſ���6����f0ެ
��G�k�E�i�6�B7����~���2�~3�|R��OA�	�;'ZŏZ�*&��yA�9_�2ɲr�Q����g�[��t����y�������2S����:��~��wI��$���\�,����O�
+endstream
+endobj
+13914 0 obj <<
+/Type /Page
+/Contents 13915 0 R
+/Resources 13913 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 13665 0 R
+/Annots [ 13831 0 R 13832 0 R 13833 0 R 13834 0 R 13835 0 R 13836 0 R 13837 0 R 13838 0 R 13839 0 R 13868 0 R 13869 0 R 13870 0 R 13871 0 R 13872 0 R 13873 0 R 13874 0 R 13875 0 R 13876 0 R 13877 0 R 13878 0 R 13879 0 R 13880 0 R 13881 0 R 13882 0 R 13883 0 R 13884 0 R 13885 0 R 13886 0 R 13887 0 R 13888 0 R 13889 0 R 13890 0 R 13891 0 R 13892 0 R 13893 0 R 13894 0 R 13895 0 R 13896 0 R 13897 0 R 13898 0 R 13899 0 R 13900 0 R 13901 0 R 13902 0 R 13903 0 R 13904 0 R 13905 0 R 13906 0 R 13 [...]
+>> endobj
+13831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 686.173 187.264 697.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac088d51ee5a9963244f0816e1558c80b) >>
+>> endobj
+13832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 686.173 293.213 697.077]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 686.173 371.148 697.077]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 686.173 455.727 697.077]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 674.217 220.058 685.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+13836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 639.615 186.348 650.519]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) >>
+>> endobj
+13837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 639.615 293.772 650.519]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 639.615 373.367 650.519]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 639.615 456.837 650.519]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 593.057 186.348 603.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0477081337723b88cfe4e8a6e8f2929d) >>
+>> endobj
+13869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 593.057 293.772 603.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 593.057 373.367 603.961]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 593.057 456.837 603.961]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+13872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 581.102 218.404 592.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+13873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 546.499 180.496 557.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) >>
+>> endobj
+13874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 546.499 319.255 557.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 522.856 213.153 533.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) >>
+>> endobj
+13876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 522.856 351.912 533.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 488.626 161.677 499.157]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) >>
+>> endobj
+13878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 427.637 205.752 438.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) >>
+>> endobj
+13879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 427.637 276.595 438.167]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 403.993 236.745 414.523]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac6434b8a020aeda5828830fd4b639277) >>
+>> endobj
+13881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 403.993 307.588 414.523]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+13882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 379.976 212.377 390.88]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c) >>
+>> endobj
+13883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 379.976 289.846 390.88]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+13884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 356.332 243.37 367.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf) >>
+>> endobj
+13885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 356.332 320.839 367.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+13886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 332.688 216.252 343.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) >>
+>> endobj
+13887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 332.688 328.042 343.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 309.044 247.246 319.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) >>
+>> endobj
+13889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 309.044 359.035 319.948]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 285.401 254.827 296.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) >>
+>> endobj
+13891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 285.401 343.096 296.305]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+13892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 261.757 209.627 272.661]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427) >>
+>> endobj
+13893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 261.757 314.791 272.661]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 238.113 240.62 249.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) >>
+>> endobj
+13895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 238.113 345.785 249.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 214.47 248.202 225.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) >>
+>> endobj
+13897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 214.47 329.845 225.374]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+13898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 191.199 193.577 201.73]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7ea45b608af772cd69e2c23d7d62a3cf) >>
+>> endobj
+13899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 191.199 232.581 201.73]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 178.331 248.845 188.236]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+13901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 156.597 193.577 167.127]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) >>
+>> endobj
+13902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 156.597 277.691 167.127]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+13903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 143.728 247.177 153.634]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+13904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 121.621 223.465 132.525]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) >>
+>> endobj
+13905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 121.621 362.223 132.525]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 97.977 229.552 108.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) >>
+>> endobj
+13907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 97.977 368.311 108.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 74.333 266.673 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef) >>
+>> endobj
+13909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 74.333 405.431 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+13916 0 obj <<
+/D [13914 0 R /XYZ 89 770.89 null]
+>> endobj
+13917 0 obj <<
+/D [13914 0 R /XYZ 90 503.387 null]
+>> endobj
+13913 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14010 0 obj <<
+/Length 3347      
+/Filter /FlateDecode
+>>
+stream
+x��\ms���_�ɇ+5��J7Mg�\ҹ�.u�N3IFCI��V"�����]�@J>1�s��"A�b���
 b�����.�zu��+�9I�z�յ#��{	J����K0��lN0���`7̶��rF��n
n�u.^��,�
^�0
�8�l
o��~��ٌn
+?�ُW_?���A�3�%vJz�M:<�ɪ�K��lNv_Rs���-gHJQ��^k�_l�<׽]�$u��n�z͙3�#�Μ$��o����r`Q���8^�%g��}����O�b��������^|�#v�p�k#&�l�u8e�㼻��63��_ΜdN ��x9
�K�$f�>���&)�E�� #i�bp��b�cV	�Zq��jT�ƹnԡO
+H�(L4��nb�K�]��d���V� q�LƊ߰��uD`x�U�n|��5�U��틨@��T�F��*Ͳ��(ߥ�:Nn��[�
%E�fsF���Z����T+���\`�1�iF��އ�Bk�&��(\͈po��k�߰�[4���&�G��S�������ͧ�^x��^�}d�3 ��Qlx�2-�Y����0��>�#� ,ɫ��:��VZ>J
��[���c��tG����@���|?��w%V�k�L�@vc��m�J_��3*\��'��4�~w��X�U���x�JC,P\�p��g�3�<i�ߕ
E
HoN �; <4�7�q�%46�vٌ
7}o�"�L��8��Lv����,W���+H������,��
f�<IƐJ V�sDu�Z���R]"A��h-@�7Q�/�J��`?�f���8\n���)!L1v`�
1���8��l���]������g�2���v�_�Q=�U
P�(�0.�/J��,2�Z�7��~t���t'a�f�
���
�v��Rp�4O5O�&�3c��g�L�yB��yb��F
+��#�MX��
�vA�T
y��
�z�j�>E{�
�vW�� �ܭ��z��4ƨ�[����w-
>�c�@*j!CS
u"
�=�
q�����agB����|�b��d��|��Q�o
��f�j�
��)�'��бO�B1��.�^X�L5<Ș�2&�1 S4��j�2��1 �X�p�?>Q<��P�fD�D�d�Ix�����y1V8
+k�M+�*�&ӏ��Z)�[�hk�v
k��8��&�
�� 	�a�C�k
�Y �?`��󊀻7Qe�&�D��5�s�M���0k��o�M�/�=l����Km�
+ʠ�����I
�
D�<�GO
+R1<�1H���r1FdK�]��[���������}\�jN��LT�P0�ȃ�
���D��@�K�=� �&���o�^{�<���ɻ���
++9�
N���LR$�
�lp�����r8ٴB3���n
	a�#����Q��
��$�$d��<@D��"�/�"%F$�u���Gvh6}Q���S�� ����V9�Q��w������-�Q��%uӡ�K
+Au��3���h��e�d���
�Y�4�Y� *�^^�<2<��<
/��5U
hj@=�A�s��H9e�`�=
E�S�F0�
�P���CMR���=T?zW�P~0ժ���UkL^>�:*�
4��Z�hGU�Q�Q���c��4!����\��"�9*�����%� �X�3�y���ť@<9�S6O�6`���TQ_6���O�aa�Ɋݪ�
�� b⪋�3+v��
�{�r��6�^��Ǽ���^��(k�t��rY)�ͧ��`�҃	�jٸ[�)���!�y?&�F��
�Q&3J.��
4
������#|D�݁:���$9�?�@��.Y���N�[���+1!��9��(��yH�U�)xX�>.,V
0�O"y�l�p
�'O!� �� �/)1����D&�$1�ʆ�+�*fbv�ľ����/t��x̘��q)�T?_�V�So�VC���x,o6���8��
�1;�	�|

�>J:��@�3�w����g�t���EU
�c���Q�T��m��^�q���
���ݏ��C�%&&[�A/�g�Klxi"8m3�
+#��	�_�`fi�
[���ƴt�
���Nكx�N�e��д��5�.l5$��kG�s8e
��Y�ӕ��{��;�z�[kh5��[��D>�ϩz�U��jg@��{�D��,fy�6j�~h
��<N �
�}Poq�<�]�4$y��=e9�>�j��)
e
ꅳ�Y��)��섐>��%*�#����K������BL�����j_�`�&7S�#{�
��&7Z.��hr�y�T�^BSw|�{&��{"G�;9ȓ�
+�,�\�6}a�9Fu�A	�M�^MpPs���"A��_�S�
0
�)r��R�/�C�D
pw�����e"�A�;�JRF�<R��hV��C�A�|J�|&�T�uNU�^�M���@(1���F��h���4��4
�	
/��>���#?�l����Dޜ9~Fd�0)��]Y� �
)G�
+���Mj#�.ݤ7�*�,V�4�g�l��Z� �|�).j�j�e|��lN���E3��q�
+$������*�ySp��9�*5�D�E>2�Ay��1`3h��tD��%�/v�}���קj˜�
�,}"G�z�N���pml�F?�f�S 
A7�e��p�d�複7�t��S��I�,�(M�&��4V�p�b,���6:ϊ���>�n�e�i7�K}��w�/�������~u��%��`o9
@D���̓Q��消�ܖ�@@�
�>[�6KCy�πVTufE_��0�U���0a�r�x�ue���3�k#F��N�:�0Y�\
�Ԭ�r�v�gp�P[P`Hj7ʡ��N�]լS��U�����3S�[��w��B��V��Z�/�ӶBuO�a��:=�
�l�X�=��;F��Vi�6*
Wv��=��7�S������.\��5D|�*��H��
��&a��A��r���R�
h�����y3���y at H�. |1
+���7�vY��W�pS� ��&4��&]��=������yr00�hU��λRz#`z�DP�$1��	��E9g�f��Hj�������E�l�o����ܦ���K$[��8�8.)��:�֥�Fe�t�fZJ#��oeH�B~��>���]K�� ����2I�)c�A��e�"{h>�~�?���[v�|D�,	y�.���4xUM���k}�m
e�	@�
+%�}�r��ݩɈ�@�k�Я�jͿf��Nu�w]��B��|@�(v/�?_�o�(�A���3��D��2\W�M33�8�������UrT{�=H[�$@�?]`��ڿ�Z��ˇՋ���W[�LA��w��,�
+endstream
+endobj
+14009 0 obj <<
+/Type /Page
+/Contents 14010 0 R
+/Resources 14008 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 13910 0 R 13911 0 R 13938 0 R 13939 0 R 13940 0 R 13941 0 R 13942 0 R 13943 0 R 13944 0 R 13945 0 R 13946 0 R 13947 0 R 13948 0 R 13949 0 R 13950 0 R 13951 0 R 13952 0 R 13953 0 R 13954 0 R 13955 0 R 13956 0 R 13957 0 R 13958 0 R 13959 0 R 13960 0 R 13961 0 R 13962 0 R 13963 0 R 13964 0 R 13965 0 R 13966 0 R 13967 0 R 13968 0 R 13969 0 R 13970 0 R 13971 0 R 13972 0 R 13973 0 R 13974 0 R 13975 0 R 13976 0 R 13977 0 R 14012 0 R 13978 0 R 13979 0 R 13980 0 R 13981 0 R 13982 0 R 13 [...]
+>> endobj
+13910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 685.937 217.109 696.841]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) >>
+>> endobj
+13911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 685.937 355.867 696.841]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 661.823 198.26 672.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) >>
+>> endobj
+13939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 661.823 236.665 672.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 661.823 353.317 672.727]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 650.241 246.458 660.771]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 637.137 269.939 647.042]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+13943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 614.794 212.768 625.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) >>
+>> endobj
+13944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 614.794 252.959 625.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 614.794 375.145 625.698]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 603.212 286 613.743]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 590.108 277.928 600.014]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+13948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 567.765 250.099 578.669]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) >>
+>> endobj
+13949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 567.765 289.446 578.669]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 567.765 379.512 578.669]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+13951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 567.765 513.996 578.669]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 555.81 416.369 566.714]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 541.871 439.335 554.036]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.591 532.121 459.505 542.026]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+13955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 520.737 261.881 531.641]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98) >>
+>> endobj
+13956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 520.737 300.286 531.641]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 520.737 388.504 531.641]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+13958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 520.737 520.199 531.641]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 508.782 416.369 519.685]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.87 494.842 449.708 507.007]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.37 485.092 462.285 494.998]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+13962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 473.708 250.748 484.612]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42) >>
+>> endobj
+13963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 473.708 357.317 484.612]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 473.708 456.145 484.612]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+13965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 461.753 202.344 472.657]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 449.023 446.071 459.979]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.547 438.064 438.461 447.969]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+13968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 426.679 261.881 437.583]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) >>
+>> endobj
+13969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 426.679 365.272 437.583]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 426.679 460.793 437.583]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+13971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 414.724 202.344 425.628]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 401.994 466.67 412.95]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+13973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.37 391.035 462.285 400.94]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+13974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 379.651 239.984 390.555]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5) >>
+>> endobj
+13975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 379.651 280.82 390.555]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 379.651 405.104 390.555]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 379.651 513.996 390.555]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+14012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 367.696 171.361 378.6]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 367.696 478.077 378.6]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 353.756 432.092 366.914]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+13980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 331.419 251.209 342.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a732e7355673aa63a2fc22a470a36f707) >>
+>> endobj
+13981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 331.419 290.549 342.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+13982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 331.419 409.969 342.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 331.419 513.996 342.323]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+14013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 319.464 171.361 330.368]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+13984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 319.464 478.077 330.368]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+13985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 305.525 456.992 318.683]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+13986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 283.188 224.57 294.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b) >>
+>> endobj
+13987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 283.188 363.329 294.092]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.521 270.458 345.848 280.363]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+13989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.442 270.458 508.769 280.363]
+/A << /S /GoTo /D (index_Grid_Time_Elapse) >>
+>> endobj
+13990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 259.073 255.564 269.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7) >>
+>> endobj
+13991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 232.966 214.06 243.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) >>
+>> endobj
+13992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 232.966 352.819 243.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+13993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 208.852 273.129 219.756]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b) >>
+>> endobj
+13994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 208.852 352.41 219.756]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 208.852 495.961 219.756]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+13996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 184.737 275.007 195.641]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701) >>
+>> endobj
+13997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 184.737 362.877 195.641]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+13998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 184.737 472.148 195.641]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+13999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 172.782 233.986 183.686]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+14000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 98.448 289.866 109.352]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2f90e70dbef264e99b7015c0ce7e16fd) >>
+>> endobj
+14001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 98.448 359.324 109.352]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 290.971 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a19a2fb28254bc142e01f3ee00c27ea89) >>
+>> endobj
+14003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 74.333 360.43 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14011 0 obj <<
+/D [14009 0 R /XYZ 89 770.89 null]
+>> endobj
+14014 0 obj <<
+/D [14009 0 R /XYZ 90 274.443 null]
+>> endobj
+14008 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14064 0 obj <<
+/Length 2218      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo��~�� ��J at 4��AP�7�/�Ս}o�B�ȱE�[I*�g�I���E��&gΜ�;
��G��������k>�
����
����_��af������
���
�%n������~���Ϯ������#lI�F�g��Շ߱���
�L�3�bQjXԄ�ĸ���
++^ƿ�7�4<�ͱ8o�ˆ¥K"D2�mU���Bpo-ň�V�n*�
��ȡ�Y��9�g����xVA��e�,��<���A�9S����,]1��^��a�yƲZ-��т���XX�e�	x����\�8�g����e��T��\\���ڃM�X����8Rϸ��Ge��b�d9
��e�oTU���i�U��aeU'v�%�:�d�|ϢMȢ�m��E���b���I'��~�"�" ����*o�r]{�����ot
7>bL�9���
�sӝ��@/�jV1+L�5�%��A����
�u�G��sL�OZ��^��^Ǖ�+��mv��_uVg�J�^>O@
�
�md
�ȷ}y��o�b��>���&r��2
!b#�;n�!c#�=�
+������/n$�����	��
+� ���
��3L�8WN��d�fQ)���'B�P�.U1m_"�K�朓O�l)�e�ö���ڂ2V	��wL��&ǁ�s�����d�I2BӪ`ạ��1~?�s˞��h�����b�;2�:~\�r����t��w��$��v�\�L�*-Å�H^
CM�e�ŭI�I��2o�����P@�IT$7nc�-���1���&����
	�̓`.G������tܯ �X�"��&�.&|��,��X�	 ��Hu먋,�o�V�ާ� �k�w�,H�|�ʗ7�,�[Ygxp�g|Ӟ1 8�0�����d�#iP��^�y��T<��S��@v�ry��AQ� e�;½�#���0T	��&��Ꮞk���)���gz�<�	
����>���06�4��*��-
��([�1�
|#�bPߚ���'[���	�"f��Hת4�G�T~P���IWZ��v��'��>W�A���<���a
�$�+��gP��XU�S�@N��%��	.�u�:cc�d�g��%y�
p
�	�mW� [...]
	^T��O��kXo�a���x>r�wI�%�(_8Bo��\m�c]~���?��
��� �v� �mC2/X�AJ����j��8�_�Z
��=1��j��X���dJh'y

�X�Ot��,g��n��3�#�
G���{�jNRE������?�������O~g�;�4�������5}!�/�q3'�q�ͺ�����6F6T�7��]�Ap�����D�Y�)3m'�}�C��N7B��6aȪ�a���
+ %���C�TZ�`y�%�CKWn�j���4OĎ��<�R���nY��c���V�u�,��8[�vj��!�1ް��(;�
�W;�-��D2�
�ᦈ���ס	�
L���H���g4���լ��!6~�a� 
x��(^�
�/���<w�CMy�5-�A�a��Y�:���0�ؗ0�`��3U L�X�j���h���i
�bb�z
+s�/�zDm.����O��\
��D��Y5���f5wgI�g;c�k���Ь����Ā�wOع��?un}��_Sg�gC��4d����>���8ݤ�f�����PD�Q�嬡�H���M{`�[�*>�YX
L [��-o���-�u"�0�-9nԷyę^�g�M��5�(9�>��y҄!P@
�
����s�.?{9*��;6�"��S�c�m�\d���?�O1qE�����f��q�.5��9��-�ޢ#(��s�6� 

��
r{����O�ʯyU��̓l��P<��Ge�	<�}#U%���e�>���?
�]��������j���#
+e�4t�^+q부�м!���p3
�����
+endstream
+endobj
+14063 0 obj <<
+/Type /Page
+/Contents 14064 0 R
+/Resources 14062 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 14004 0 R 14005 0 R 14006 0 R 14031 0 R 14032 0 R 14033 0 R 14034 0 R 14035 0 R 14036 0 R 14037 0 R 14038 0 R 14039 0 R 14040 0 R 14041 0 R 14042 0 R 14043 0 R 14044 0 R 14045 0 R 14046 0 R 14047 0 R 14048 0 R 14049 0 R 14050 0 R 14051 0 R 14052 0 R 14053 0 R 14054 0 R 14055 0 R 14056 0 R 14057 0 R 14058 0 R 14059 0 R 14061 0 R ]
+>> endobj
+14004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 696.893 224.003 707.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) >>
+>> endobj
+14005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 696.893 362.761 707.797]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.962 673.2 442.501 683.105]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+14031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 661.812 254.15 672.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298) >>
+>> endobj
+14032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 661.812 338.263 672.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 637.691 284.585 648.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adfe66b5a34b84fcf63d1a48777f68e4d) >>
+>> endobj
+14034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 637.691 354.044 648.595]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 590.655 241.726 601.559]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9be620ae3a5afa0a9d5b89acfdae387a) >>
+>> endobj
+14036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 577.921 407.658 587.826]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+14037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 566.534 249.318 577.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) >>
+>> endobj
+14038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 566.534 288.321 577.437]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 566.534 371.519 577.437]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 542.412 240.62 553.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1) >>
+>> endobj
+14041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 542.412 324.734 553.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 542.412 389.5 553.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 479.005 244.265 489.909]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) >>
+>> endobj
+14044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 452.891 180.198 463.795]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d1ef9ef2a29c5aafe1baa14d0e49f23) >>
+>> endobj
+14045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 452.891 295.434 463.795]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 426.777 193.029 437.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a57fc3d9d838fd7e20e80806307452a91) >>
+>> endobj
+14047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 400.663 193.029 411.567]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
+>> endobj
+14048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 374.549 165.911 385.453]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) >>
+>> endobj
+14049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 348.809 187.689 359.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92) >>
+>> endobj
+14050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 334.705 476.544 344.61]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9a864135634ed49de1aeae3b38ed933a) >>
+>> endobj
+14051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 311.362 202.902 322.266]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 311.362 300.037 322.266]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) >>
+>> endobj
+14053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 285.248 202.902 296.152]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 285.248 314.263 296.152]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f) >>
+>> endobj
+14055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 259.508 199.864 270.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af191b9781c37da15b49810d47a838823) >>
+>> endobj
+14056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 190.436 203.075 201.34]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 190.436 296.324 201.34]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+14058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.944 119.64 200.017 130.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) >>
+>> endobj
+14059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.944 91.322 200.017 102.226]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) >>
+>> endobj
+14061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14065 0 obj <<
+/D [14063 0 R /XYZ 89 770.89 null]
+>> endobj
+14066 0 obj <<
+/D [14063 0 R /XYZ 90 496.092 null]
+>> endobj
+14067 0 obj <<
+/D [14063 0 R /XYZ 90 469.99 null]
+>> endobj
+14068 0 obj <<
+/D [14063 0 R /XYZ 90 442.15 null]
+>> endobj
+14069 0 obj <<
+/D [14063 0 R /XYZ 90 416.036 null]
+>> endobj
+14070 0 obj <<
+/D [14063 0 R /XYZ 90 389.922 null]
+>> endobj
+14071 0 obj <<
+/D [14063 0 R /XYZ 90 363.808 null]
+>> endobj
+14072 0 obj <<
+/D [14063 0 R /XYZ 90 326.735 null]
+>> endobj
+14073 0 obj <<
+/D [14063 0 R /XYZ 90 300.621 null]
+>> endobj
+14074 0 obj <<
+/D [14063 0 R /XYZ 90 209.556 null]
+>> endobj
+14075 0 obj <<
+/D [14063 0 R /XYZ 90 209.556 null]
+>> endobj
+14076 0 obj <<
+/D [14063 0 R /XYZ 90 136.847 null]
+>> endobj
+14077 0 obj <<
+/D [14063 0 R /XYZ 90 136.847 null]
+>> endobj
+14078 0 obj <<
+/D [14063 0 R /XYZ 90 108.793 null]
+>> endobj
+14062 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F68 3032 0 R /F39 2320 0 R /F24 529 0 R /F67 3037 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14116 0 obj <<
+/Length 1680      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���^2
�i^%2�l�2�k�����"Pl&1f[�$7��ߡDɒ,Ɏ�����D
����P����z?�{�K�9
+)�z���Q��=�%�x���|�Ƹ���Ep}�R��{=��뗳�(�6��vB2
����HO�=���\"�!�����/�����>CXqP']�y6���@��g\�g�
+ܿ�v0j�RJ����"�X��yǙ���h_/V� ��1g����'�!H	�=1ҷ:5L/'�<�%���Er���ޯ���
���!�{�@�t&�ޛwؙ��FLI�!��p8e�;w^���a)PV����qYո�zĆ��\��DO=���ҋ�8
_���d.�T�b
�;��ʢ��8�)E�b�����ʳΛ����&�lj���;k�(�e\<�� ��l~�Řwuif�[,0��,0�7iQ���ӔE9�pq��� Ò&=m��{�
"���L�.
+ꘙwƅ��`�3�b%�����u�e��Z'��#��%7a8�v�,ν��0��:Z�8�˳=�-�N���fUE2��O��fK��p9�d���Aζ.p�̰�� A
R!.`̔�`�S�D�sy��ǣ ����4�xH�x��8���fu��i�X�K�L��r/�
k��ְ�5��,�
o�'\S�
a�弜�IX��I��Z+�5�BT���v��A�hK�<̒��x�^]Z��vZ�]���݊4�Uǰ�C��)�e��F��i׾[
)��r�D���rB��jI�p�s���2�7�f��|Q��e%/���#�%{R�|H/L�~q�`cI�)
/��m�Q�-rZbW��!!�B�f����ZraQ�R��M�qsԠ
+�IZ���B">A>�,/N���a�D:X�μ�Y{qH�p�� �ߥ�J"V���
 
+I^�W�
��`?����ue�������H��M&X�F��+�W��*��f�H�a�Eg<�V�y5
g��N����_�����jmK�D*���!�)��7\)��[ڏ�q�K�H��O��D ���6h���K������Xv��*���n�
od��S8�
�U��f�=?�
Z�С3^�F
�U���"�X�c���Eڦ��A
�Y��M��X�n<�S�|
x�����H7�d�[�?�рQ������9~c�"=��.���a�dec�� ��d.�m�\H�=�V�@�H�z#k� ;�2'j����8�#
Sl��G��q����c�c 1����7B�G�wH#L_�X��F�! 0�ۇcE��������H�Uа�=��Y�0�;�~
���|)OHw$�q^ �w�HwA:��	H;�

+O�+W	�E:4V��|֍t�ҁ��m-�
Q����ߊ#�Н(�WE錭@榆֭')���R:06%v*��8���[b��KL~#%V=R���p��W�
��P
���}P�{�g��"�lɾ�6s?��	�<9TH*Y�]�
Җ�}����]#t[�
'�΀I���)u�R�
���~ 
�t��
��?9󠱡��O�ҏ˼r?"��������^f�b
}�
+�]�*XB��_�|0��Q\�Q'(�r��
�Zk���N>��|�(*�!x)Z��$Y��7�X/�t��Q�C!�9t��0>[��E`ޖ���܏�y4�8�}#
\��3���f���0�}���
����??��q
+endstream
+endobj
+14115 0 obj <<
+/Type /Page
+/Contents 14116 0 R
+/Resources 14114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 14060 0 R 14086 0 R 14087 0 R 14088 0 R 14089 0 R 14090 0 R 14091 0 R 14092 0 R 14093 0 R 14094 0 R 14095 0 R 14096 0 R 14097 0 R 14098 0 R 14127 0 R 14099 0 R 14100 0 R 14101 0 R 14128 0 R 14102 0 R 14103 0 R 14104 0 R 14129 0 R 14105 0 R 14106 0 R 14107 0 R 14130 0 R 14108 0 R 14109 0 R 14110 0 R 14111 0 R 14112 0 R 14113 0 R ]
+>> endobj
+14060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 685.264 211.703 696.168]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3) >>
+>> endobj
+14086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 657.331 203.414 668.235]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93) >>
+>> endobj
+14087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 629.771 179.265 640.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a21a9e355a53ec45a5a60213fa8c24f2e) >>
+>> endobj
+14088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.575 561.561 140.53 570.407]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c) >>
+>> endobj
+14089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.575 533.627 140.53 542.474]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) >>
+>> endobj
+14090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 505.693 167.639 514.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) >>
+>> endobj
+14091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.064 394.509 229.749 405.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2f1209d77894eb265d41b923b74f9d9) >>
+>> endobj
+14092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.784 394.509 444.205 405.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.933 342.665 156.299 353.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7982064b912c7e29608acf2e4c0a29b4) >>
+>> endobj
+14094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.132 342.665 271.553 353.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.318 342.665 462.739 353.569]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.839 290.821 181.264 301.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8ff90cd506e2377d88aafe850f46ac5b) >>
+>> endobj
+14097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.05 290.821 321.471 301.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 290.821 513.996 301.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 278.866 146.896 289.77]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.053 238.977 179.177 249.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6cd12c70f251a340295cb737ae2deace) >>
+>> endobj
+14100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.391 238.977 319.812 249.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 238.977 513.996 249.881]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 227.022 146.896 237.926]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.839 187.133 181.264 198.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8ff90cd506e2377d88aafe850f46ac5b) >>
+>> endobj
+14103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.05 187.133 321.471 198.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 187.133 513.996 198.037]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 175.178 146.896 186.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.053 150.252 179.177 161.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6cd12c70f251a340295cb737ae2deace) >>
+>> endobj
+14106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.391 150.252 319.812 161.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.251 150.252 513.996 161.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 138.297 146.896 149.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.665 113.371 225.35 124.275]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2f1209d77894eb265d41b923b74f9d9) >>
+>> endobj
+14109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.192 113.371 430.613 124.275]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.933 88.445 156.299 99.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7982064b912c7e29608acf2e4c0a29b4) >>
+>> endobj
+14111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.132 88.445 271.553 99.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.318 88.445 462.739 99.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+14113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14117 0 obj <<
+/D [14115 0 R /XYZ 89 770.89 null]
+>> endobj
+14118 0 obj <<
+/D [14115 0 R /XYZ 90 704.277 null]
+>> endobj
+14119 0 obj <<
+/D [14115 0 R /XYZ 90 704.277 null]
+>> endobj
+14120 0 obj <<
+/D [14115 0 R /XYZ 90 674.61 null]
+>> endobj
+14121 0 obj <<
+/D [14115 0 R /XYZ 90 646.676 null]
+>> endobj
+14122 0 obj <<
+/D [14115 0 R /XYZ 90 578.516 null]
+>> endobj
+14123 0 obj <<
+/D [14115 0 R /XYZ 90 578.516 null]
+>> endobj
+14124 0 obj <<
+/D [14115 0 R /XYZ 90 548.849 null]
+>> endobj
+14125 0 obj <<
+/D [14115 0 R /XYZ 90 520.915 null]
+>> endobj
+14126 0 obj <<
+/D [14115 0 R /XYZ 90 452.755 null]
+>> endobj
+14114 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14145 0 obj <<
+/Length 3325      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~ׯ`
R����� ޣj�^{w��*��<�[*��$dI�
���_��9 
8�hY�J��
==}|�=�hr7�&oN��:9��$%i�����$�&J�D�𶘼�
+��v���	�i
�t��_/�~��z�}'?\��qB�+�PC@�L櫓��E�4�<�O�Ƀ
����9yw�����&��,g@��RB��FD1BOg4��髼͊e�8�1��[3��u[T�f0�4͘ \��b���ˬ�q��kX�_�s"S�6���q���
h���V90���=��D���n�淁�$�‘�����TN�Y����LL�z��j�
J"�u��@��I��Sڮz�$�RSR�U��)g�jyJ�t{�/�	E>
�2
q�KqSg��,�n_��� ��ӶȖ��]���b�3�$��U>Oo��f���n
+�	z~�uSNX�Gڨ�.*X�
�x��w��g� ��d~����Hm���}�0��g��[����e�X�9���?����֪ۚ������fs���5���)�7��4m��r �;�H���X������eQ���»�	QQ
+$"��X��y��-�O�`��Uln6�uU��;|-ʦ�Jؼ�
���Mg7��.v/�UV����[c���9�J�N����o &4fnHV.t`�2�p��G��Ҭ�=���)�M��`H�X������mr
a�
6/�
+Ћ�;�NoQ	
J*�=������FqbIJ�Dq�f�
�TLD?���ص 
�g�d�7u�8�C�8D��y��Ue��~w��C�1I�'�7|�c�U�hY�Qt��F�Gy�~f�@�s6����P��G7�<���6" ���T�Bـ")��C>�'e�F�b�-6�|��pn��#��(�ȋmڧ�a�s�]>Sp�����C�k �/�}��B�*�7:
�b��}�(	�HzP,�t&����w3��HF�8�}u��G#L�ۅYAm��EK3
�1=b ��� NJH��$R�G�
lN����y���5�������SVbF�5/:��]���\�!�X�Q��tz��j�2�(RQ+�ة���a��t�<o���:�4��AEbfC�;��M�v01̉�r��*�h %L`NE��
BZ�	$
�1��|� Y�����1��.��d
+^\2eޜ�K4}(�{�<��y���2�h�ݔ&{�
 i�҇���m at V-�2K<�I�m#�\L�$y�v@�C�a�[�OfD��r�#c��`-�NR9|�� 4�����1�c���b��C�ih�
1Ə�q& B#��O�'5���̕�bZq���#�T`
�>
Œ�GS��«Rb>�R�oT��
�q�
ر�
}�e\|$��
��<� 
^.ꫂÊ��G���P�2�
+���8-�@������
��g��}֘U2K��@
f�宣%�8�e#a��|�?�B|�>{y�;�w)��3
�¹���6�I������zÝ1��<)��ޗ(� l%2��~>O��_ṏ
+у
+���`�7Q�4-Þ�%f�e s�RO՘�H9��!I�(�m-(?N%�ˆ/�Bk�p����c�X���Q�d���!��"��$��CC�����_`��{�&�f<���E
c
W�j���,
+¶M�c���k[����1�Ͳ��n��^/�x��G�n�yUc8�ʅ��]^Ghϳ����Ge��L
��V�*�%)�g
5��� ����˞/�K��'�lY��bk�@��Rś?�[����ʎ
��Lݍg���G˕�/W4���r:'�o�Y}*"
�Ҥs�,J����:�݀�1����K�K��i�z
����)��X���s��p9���"_��J'gX�
�
�s�>ݛ{$�
���G<}�ن9bH ���I�'�u
�`=+�4Y'�=]w����ѻw�ّC
G垳��{����K���
d��b¨�s�+L���pl��b
� ���a����n L wm^�!����T��ܔ���B�ֹ�Q�S,
+���v�MK�l���S��
_>ex�}'CPQM �"�CS�Z��~����b�4
�n톯�߱n�d�M��C�Aka��`���h��UQ�����4Ct�����(Xȍ�F�)S�?�i�������n�D���Kc�y���u0��G�Ia-���'#v���
��sgC>7���W��hӜu�
K�b~pe�[O���ܞ�����R	cp������f����	;�Wb�R|4��)~��olj~�K?�	�%��L.�
�@B��ݤ٫�0�
+`�� vհ_�
�\���a��mft�&��V��ׁ,<�.���*-����eөޜ��l�F��śp4�}�_��p�wp���L�)a�/h(7����e�y2H
���wu�43W ��=�a������X�v��jһ��-
l�	[p
dΞ��Fĩɬ
��j���2=]
+k��t�	�1��a�顽��6˅y�8��-�[�l��i��.,��)�K��OnEK�,��}�rpV�C�1j\RPo���$�
�U�ܻ�.��,
���rNx��Nr
,~D�й�_���
+I���>�T��Z�R}
+8�ءk�;  �T�Tyy'��43r�PMK�`�I��i�(ǩ)7�٬��=-ƣ��b��GJ�A8fRBc|
� 5H��;Q�w)|��619����l��q�P�D+�I�G4��.��e�„�Pw��
آ��=�b�9]�}�H�3i�y�����=*�Q?i��YN���V˥��
+��
�ܟ?̠���	
�)aO�ieT�	��N��
+�x�š�z�]
�He
T�D��A?�1������დ
��Tt��S����7�`G�b�h�{f�ЌM��[x��:�����߹��۹AN|��xy�ž
&�d[�\F�(H�a�D�u�� �h��U�.���oiu3,�Ɖ�O,�g���a���*����a�Y|f��mH���W�
 |9ϏtJ��1��fN/;*���"h����
+��e�׭
]�'3��ߘ����c{|k�������W|�fj�ٿ��q���k
4X��8
��X#�����Y`��k�~v�H���
+����\@Ď"��C>:��[���vq�ˣ}�x�
&�	���f����?�
�1#��c/�&
+Ed�o������wR�7x֝n�m8�i�'�* ֓��YOPߡ�M%�)H��l(�?;�W���/���p9��ު�oY�ѕ���.k��@ EC#&��VT���;��j�f��Pu�y߶���7��&/�䭻Io?9M��ڹ&�fV������j����_$B�;
+endstream
+endobj
+14144 0 obj <<
+/Type /Page
+/Contents 14145 0 R
+/Resources 14143 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 14135 0 R 14136 0 R 14137 0 R 14138 0 R 14139 0 R 14140 0 R 14141 0 R 14142 0 R ]
+>> endobj
+14135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.859 590.588 257.582 601.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.021 590.588 347.699 601.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+14137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.138 590.588 378.041 601.492]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+14138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.352 398.771 304.232 409.675]
+/A << /S /GoTo /D (index_CC79) >>
+>> endobj
+14139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.372 309.416 302.073 320.32]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) >>
+>> endobj
+14140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.149 194.134 329.403 225.447]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+14141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.563 194.134 422.493 225.447]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+14142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14146 0 obj <<
+/D [14144 0 R /XYZ 89 770.89 null]
+>> endobj
+14147 0 obj <<
+/D [14144 0 R /XYZ 90 721.073 null]
+>> endobj
+14148 0 obj <<
+/D [14144 0 R /XYZ 90 666.408 null]
+>> endobj
+14143 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F60 532 0 R /F75 554 0 R /F7 795 0 R /F8 794 0 R /F24 529 0 R /F32 764 0 R /F10 765 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14152 0 obj <<
+/Length 2020      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�F~ׯ l+�x�
�������
���/n ���fK�*E5ѿ�3R$M˲ⴻ@_<Ԑs�\�s5�
�}5:z+Y��
+i\�
+2$HP\%���`$�dJ0���	��\ij�	��"��뤌g?�7e\n���Ug�fv���\'��rB�q?�ɇ���Һ�J��������}��	x�L�_��ד)x|J��� YΐR�>��#T�k�d�j�]M
��2�+m�S�$aL	AJw�B�j+����;�#�EX�䜘�������]
�^.����bt�	l�`�T|�-N�Yp9��{K�Wg9�HIYyH�pD	\o��cXC��+���Y߿3;��,�z�pG���O����)��=�%Y����|cu��������I2���*�4��ǟ<�o݊�sv�ܳw�ژǜm����y�x��\���)nM��0�fyVLlQ9�a�ǔr��]�)<j�'�ƬK̯Go�6!�P�S�\�k���"ˊ	�i~��E�_~L��?�i�7_%K��z'��6��a����8!�M��LX��

=�d'<P(L�*
:�_�F���ێރkK������5�g�]i8�vؒ���qqr�	bD �������"
�`�`V{z5�Pv��I�����>��l����� yQ
"�^~��\z�~͟������*�o�>$��Ξ<8�w�E��� ���9��JQ�UY���~c��/J�r˩�n���B�Ul<dG�1X�Pø�܆���jU���YJҨW�w�H��j��y�0!%$P����Mi
��K���PO��~��g��_<١L]EO!�rº�!�
Bd[�)
8�!�v/����A�Y�h��~`��%:>
�
�mӴ�l]�!�@��L$�E�($)@s����rɎ'`�@֎�s��z�]"� )e ��d��i�HE�i�l{Խ�4BKK��DZI�2�EmEB���N�% 
5�z=�&�68>�w:�%x��,�ƛ�h*��jp�[�']Y��F7�~���..�l*���Q˦d@`0
ݶ��i����0@�KQҗ[t�
AH5����k�i����Љ`�Zg�99
���a��u�%�Z�s�7��/\�c��4PUWG�����`Lu�6�e���z��Q�a�T,��IT���[�*3 ��`�4L��[�Ҽ�O����
�h`x�"�e)BzS�̺�*(
��Z�U��3$@R�r-֋���D!��	&-�v���������ڭ�!Y)*;�6�90}�K��[�v�Ok���"��'��x�_A]���0_�i��n�	9\�G�D%���r�|q��!�-�wK��$>9���J閴b�>��<F���f䲉y
a�5 ţ)v�:OM��V�<�j��1��[����ӭ
+����7&C���^P<X�#H�\�$�8�
����f.ǐ�d= ��e��e���=�5̑��se������I:�$
jjq 
��OҜk����bQ)up�D"������:۬���8��]u?�e9��8�N�SH�f/*!���}��$��D�����+��}��I>��C���:�4����{�D���RY���uI��E�)]@K�P=تk�V"ln{*�0eG���q? �ֶ/�[�Csw��+�Qw4@��h@�р�ݿ���t���рD`�'f|��@k0��I�T���c�@�#yb4���d�GrXn�1����h �*�����
s�}��Hu��7͈vv�Y����h�����P�
A�kę߭���鋶���^�o:�=�]
+��Ŏn�U}q<~]O���~��🭜>;}�v"�Z^3#$ƣE�Y�Vxi�bZ�
4���#=���6cݖ�_�@u,!��/�:�Y��>���zr����
~^���c/ؿ�|
���0��p#Av��&Sھ��4�1�[P?���wdˊ�:���羪��GG7�Th^,
��%���
�go�|Q��6l.�,�ӳ&�a(Z �^���!5`Ⱦ�~�~�/�~��
N
P�6��
�f
+endstream
+endobj
+14151 0 obj <<
+/Type /Page
+/Contents 14152 0 R
+/Resources 14150 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 14149 0 R ]
+>> endobj
+14149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14153 0 obj <<
+/D [14151 0 R /XYZ 89 770.89 null]
+>> endobj
+14154 0 obj <<
+/D [14151 0 R /XYZ 90 434.378 null]
+>> endobj
+13776 0 obj <<
+/D [14151 0 R /XYZ 90 410.919 null]
+>> endobj
+14155 0 obj <<
+/D [14151 0 R /XYZ 90 410.919 null]
+>> endobj
+14156 0 obj <<
+/D [14151 0 R /XYZ 90 316.462 null]
+>> endobj
+14157 0 obj <<
+/D [14151 0 R /XYZ 90 238.464 null]
+>> endobj
+13777 0 obj <<
+/D [14151 0 R /XYZ 90 201.535 null]
+>> endobj
+14158 0 obj <<
+/D [14151 0 R /XYZ 90 197.052 null]
+>> endobj
+14150 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F90 758 0 R /F60 532 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14162 0 obj <<
+/Length 1761      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~�W����X��,�Ӈ4i'i�n��)�a����1�	��G��k`��4��Iƒ>�#�ۇ��;;�
�O?+�h�%������Q\#!���y?䜎�'�
&=D��Y��~;y�vre�/'�]�!@ �9�h��;sx����i����
N�
�j�� g�-��<�&�0K	=�0�"
in��
Q>�c?
+� 
2ܤr=@n]�a��4}4�
��9��D-�U0��H;RK$�8�
+�	�B4`�nW�p���aM�~��
޷UDRx�QY=u"%�T���#�
+<��6I��խmg��]�
��`c_$+��d���:^}
+#?	�Y�.���0
	1D��D"�Aݽ�a ����G<�=%X �=���f�:	W�#~���#����/�-�
�z!��#�
s В&��W�L��(\��a_fI~�%�ٳ�$��x,��i�#.�����S̑���� ��M�HuH�Z��X#��N��Ո��ǥu��֨yOT&²L�<�-��t
F�r�mc

^�|x0"b6
�7� �`�Yd�
+H
o6k�
,V;j�A�X�~? HIz��.���A' ŕ=xVs�c8� Z/ ���#�2U)$����vD
\!ŋ�n
,�����z����>�?�Զ-���]�(DB#E�ԏ�i��2^)�刀%ő?����bw�c�&���x7
g��m�śK�@�	��,"E��
��Y0�^B��
W�#i��#`���f������9���
��f

zC�'���q˾�ycW�����M�`�S�

ܲ�Jsz^�5��ʖ
a!RU��]���
q�4>���UUM)�@�IK�J��x.�2�n�
+yس�0;�
+���z��亖���%P/P8�qDp��o�E

�J1�q��3f&l�f �]m�j.�� �K��F)��b���>�ä�ۂn}�bh�hU0T/bja���.FHLF�x���pz�U��c�i��5u8�Q���lE``
L��V���JVjbX
�Xi��
�u�/R��M6�BV�)Y1#sܒ��
��$8���$1D�m�ώ�]�@�N�XT:g^���d
��]���{��4
"�^��~>�iL�
�w�d�*O�^��'���A��^�T�م*q�U��T�O
s��P�L�T��J���~G`�,��:ẈT����RΔ�7�t�)���RI&,Qb4#J��#J����)񒮥L�咚�e��,ѓRaMP~��2�Ϛ\��{�z�J�<�r���V���h�Ι4��8�z,g�����v�dLٮ7�xZƔ-�dL����u�Ed�i�D5���F
+�a�<F�nu�1u��2��8v������9_ݽ�a �a�
�|��X
5����~�
+�鵰��:!��/z�ߩ@v!-�C��3i�SÜ�4T<���4�*I��{�� �
�<ݷ�`
%-�P�������Z>���
ڒ�ų�zm!Bt�-%�9��0v�*v
+W�_0r��W�(Ia�H�˔@�|�`���7[1ߌ�G?�O;]���ʞZ	L
+�>��
1�������JW��pN�S�JG1Z�JM�/�����~�0��f}�وY[�ڄB��
��i��W����� �b(�h�Y}N;�9ً�Ws^� ��s�-s���v$�7��R��uӹ�|c�����3s��_n��}6��[��
na�E��e�)�� �:V��
�
��"�0�f��}���7ۻ
�4[EsC9Y
TE�r��Bs���<H�K0��̀�d��
_
+endstream
+endobj
+14161 0 obj <<
+/Type /Page
+/Contents 14162 0 R
+/Resources 14160 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14015 0 R
+/Annots [ 14159 0 R ]
+>> endobj
+14159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14163 0 obj <<
+/D [14161 0 R /XYZ 89 770.89 null]
+>> endobj
+14164 0 obj <<
+/D [14161 0 R /XYZ 90 720.814 null]
+>> endobj
+14165 0 obj <<
+/D [14161 0 R /XYZ 90 667.125 null]
+>> endobj
+13778 0 obj <<
+/D [14161 0 R /XYZ 90 632.455 null]
+>> endobj
+14166 0 obj <<
+/D [14161 0 R /XYZ 90 627.972 null]
+>> endobj
+14167 0 obj <<
+/D [14161 0 R /XYZ 90 527.661 null]
+>> endobj
+14168 0 obj <<
+/D [14161 0 R /XYZ 90 462.017 null]
+>> endobj
+13779 0 obj <<
+/D [14161 0 R /XYZ 90 427.347 null]
+>> endobj
+14169 0 obj <<
+/D [14161 0 R /XYZ 90 422.864 null]
+>> endobj
+14170 0 obj <<
+/D [14161 0 R /XYZ 90 322.553 null]
+>> endobj
+14171 0 obj <<
+/D [14161 0 R /XYZ 90 268.864 null]
+>> endobj
+13780 0 obj <<
+/D [14161 0 R /XYZ 90 234.194 null]
+>> endobj
+14172 0 obj <<
+/D [14161 0 R /XYZ 90 229.711 null]
+>> endobj
+14173 0 obj <<
+/D [14161 0 R /XYZ 90 129.401 null]
+>> endobj
+14160 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14177 0 obj <<
+/Length 2069      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�SK�z��h
4NR$MR7Q�I`�m��n��!wy��,������rvf��9>{�
�~�=
�N^(�d$����3�S� A�7�x}�������}��Q4]��)����i0�F���hݞ��I8��n/���q0�8��D�K�H����N^R��*���N6�OvHM'Ё2��xF��T`�u'�Z�r���;�l�ZL{6ű�6����l��kހ1���ހd��o�
��̰`1��8�
��䜥�{χ�/=w�G2�r��������؛��W
F�h�k6h�q��8�����a�R�Q����~ ��J�1�aHc���o�`���E�)�&rm
+;C:���X6�V�ɼ�fAE�}�D�Oj�8��i�Q�	iH%p$M��k��}�'[Q�]U�إ��$��Qp�.M�LNOg��:�^Q���_Fv�6��
��ui
��M��H��>Y�
��iͼ�4Z���.`oQ�W��L{�Fcw:	��"����۳��B���|��c;��,
+Q*����$nL=}
�7s{�*L��P@������|Ai�}�3��#0�q��)1��ȣdn�O�tx�pS�/�"�rLR������T7EM�B���U�ͳE4�5ң�����Cj�-ukv!�H�J/��v����F�@��z޹cZ�v��欺�6�f�p'mv3
�i������1�2�߱b�+N1�(��',p���ǐᒖ!�2^�?�-A6ѢeXaV�?�PU��
���OZf
0)��8Q[³%`<�&���h� �BD�]�F��-�˟�|K����������o�_?����C��� �Dő�-�D�B�c�����s�4� 6�㞴H�HpV
+��f�8L>׊�F0��K#�LFk��ӛp6q���
VQW^E�y���V��k�q@Ҩ��r�����ɵ �d.��u����!K@��&(�d��n�T��mv���d:w��.� ������2pK�[���u��ғ�ī`
~�<Cl2cŠ���5�"�y
��6�&
+��*�������5�k$���P،TCøM}Tn�~M�fHjY�u��I}��X����4V ,{��<
���xa,�����6��E�h�[��a��
J� )�� ��⦪gz.���m�$��8pZ��RͯC�fC�oă���	z� ���>��!�&i�D�
=Im�}:Q��
}�D��UQ��.E��`om�
p�b[:
 ��- XJF����+")�<R�:4���JM��:�
Ȗ�x鞏V ^(͡��'�M8Zt調�D��6"W�f;�V�-�����dA�(
+[��jU2�;Qv�F� �jT�l�`��3r�k8�ٳ,}V�W��`r7|
j�f0�D
`��:X�~��V�3�9�ġ�&���q�Af��8'od��SE��	����:�/��
F;��gީ� �~��؛w:x�6��!eu�%s'���"�9�
y������_�Nj?ک��۷w� m�\�V�i� �X5�v
+je
+��y��<�Ω'!=�xr�
,�#���==rO�=���=Q������:���*4-m�{�PPa�ណT�����P���m��y;�V�-���f���ޓ|�b��OG����J�>
n�f<��Ȏ?��D�����(T�X���'hƑҼ�V�
df�~rx��SE��S�SRr�WO
ڗ�O
��j�=�O
���U۸R�\�N��Q2w�O��2�Ϟ�}�O�X�IҌa����ny�N?IP{���3�TNq��_�
�1q����&������~bb��J?$��u�~�[�'Qm�E�E*�]�9�B�uԗ�������K�n�tR�~�t

]'��.QyѺ�`�P��
+6��;����?�U�QQv�����yNJ��c��0�Qܟ���'�A�c_ߙ�f����>ݞ��(���NS�9ϼ��U�/?���y�T��'3M�������u
5�-���
P
��)^A��)3_FA�pZ�"��'���|�4�8�
�:
��FTϳ�������9�-��e��s��y
+endstream
+endobj
+14176 0 obj <<
+/Type /Page
+/Contents 14177 0 R
+/Resources 14175 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14174 0 R ]
+>> endobj
+14174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14178 0 obj <<
+/D [14176 0 R /XYZ 89 770.89 null]
+>> endobj
+14179 0 obj <<
+/D [14176 0 R /XYZ 90 718.682 null]
+>> endobj
+13781 0 obj <<
+/D [14176 0 R /XYZ 90 672.057 null]
+>> endobj
+14180 0 obj <<
+/D [14176 0 R /XYZ 90 667.574 null]
+>> endobj
+14181 0 obj <<
+/D [14176 0 R /XYZ 90 543.353 null]
+>> endobj
+14182 0 obj <<
+/D [14176 0 R /XYZ 90 477.31 null]
+>> endobj
+13782 0 obj <<
+/D [14176 0 R /XYZ 90 430.685 null]
+>> endobj
+14183 0 obj <<
+/D [14176 0 R /XYZ 90 426.202 null]
+>> endobj
+14184 0 obj <<
+/D [14176 0 R /XYZ 90 301.981 null]
+>> endobj
+14185 0 obj <<
+/D [14176 0 R /XYZ 90 235.938 null]
+>> endobj
+13783 0 obj <<
+/D [14176 0 R /XYZ 90 187.906 null]
+>> endobj
+14186 0 obj <<
+/D [14176 0 R /XYZ 90 183.423 null]
+>> endobj
+14175 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14191 0 obj <<
+/Length 2016      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�S+�z��h�G��9�X��A[�-TW(:��}�\�"�h�k7���pf��9>
W��
�z{�+d$���208P� !�n
|�s�_F�&5"F�[�����F��F��\�x���#0�b�tp1�}���1<~
`�g�f�
����W纔WDE:L/�� s��6c
(�V����0gQ�B��L�{��_�?k'ӹ{�a�`g�Z&�ö��'>2�4	,�I��!b�nW�@ 
�(P#l�����劣"��ÎjȪӉ��І��h0��>��
%
{=�g��2^�Nfa�+����˰`|s���&	"�`�F�"��)�-�4GD?�"��TH1m�y��-�р���$�{����XM�`�nDXݲg�U~��/�h�0���fok��������%�]���ۋh�L���� -9EB�6����'�e�SE4�
�AR	\ISb�ZEb��pD!bYq\n?�� ��h1�07�7�d��?��W��Y [...]
+ʞ�*q|��Y`e|;Xܺ�'�Ī�kM�1Z~��t�����mp���������+���
�v�gʓq��i�wv8
W+��!���D#��+
����r"Ao����}:;|�����߯F�
�
�W""����'��d
}�X��4�X"
�/������t���a�k�7��bpY[t���2|iHҸ�&p����d~�4
+�0k޺ҫB��@@#T�F˗����(�$�F[X�VVs~��ria�����0��4��2�~f
+�+(�8��/x��U�\*���Db@�Y
�T���&��
�&��Ǩ#;��e
��y�
�YNb7�q�f<8W#2v�j3
�8��O`��h�%x:}\@)
+��DFG�������]������$�v��8"�C�ĕ�Ndp���2y���(��!
I���$�
IF;�
�+H�����5��$#2#1��Y�H�M��RФ3n�
N�WYP#�uA^#1R���՚�H��H�t�TL�b�!	�F�K�\��;{m��aZ#�]�Od'��$�2QZ'1ng14,Sd�����E��$�L�Ƥ�Ő�e��b�
,t05H~t�

�BZH����-���FZ0�,i���@Z@�R�?
k���
+�Bn�-hi�����u�t��C��e�X)�
.M+U��T��w��(��\>����`^���w��=���wJ�Bu�(��v?��ӓcWa=�<\�}{�ZP��P9ka������
+�����Ĭ�
���'�BCs	5#�#"tAm
eG5�
eM��O��E����M�
	ɕOj̻D
28��h�
��,P��`tT�
��J���5��m��Olw��c0��NN�
�
)ͽvLO 3;UD(�#�Q�؁� J Jdgã}��0p7�f���]��?���k��H�J�=�]d�j��=(�y졿'��g
+��,���`�2�&��l�x'��jƂ�[����Z`g�<��&�q��z�:9ycWQ��@�~��ކ�pj�i��"��<�s�ۂ�(ʃ����R�?{�+�������N��������fW���
k�2�nX����"���
�kщ��Y�T�\�#`�?Es[l
+endstream
+endobj
+14190 0 obj <<
+/Type /Page
+/Contents 14191 0 R
+/Resources 14189 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14188 0 R ]
+>> endobj
+14188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14192 0 obj <<
+/D [14190 0 R /XYZ 89 770.89 null]
+>> endobj
+14193 0 obj <<
+/D [14190 0 R /XYZ 90 720.814 null]
+>> endobj
+14194 0 obj <<
+/D [14190 0 R /XYZ 90 654.771 null]
+>> endobj
+13784 0 obj <<
+/D [14190 0 R /XYZ 90 608.146 null]
+>> endobj
+14195 0 obj <<
+/D [14190 0 R /XYZ 90 603.663 null]
+>> endobj
+14196 0 obj <<
+/D [14190 0 R /XYZ 90 491.397 null]
+>> endobj
+14197 0 obj <<
+/D [14190 0 R /XYZ 90 425.355 null]
+>> endobj
+13785 0 obj <<
+/D [14190 0 R /XYZ 90 378.729 null]
+>> endobj
+14198 0 obj <<
+/D [14190 0 R /XYZ 90 374.246 null]
+>> endobj
+14199 0 obj <<
+/D [14190 0 R /XYZ 90 261.981 null]
+>> endobj
+14200 0 obj <<
+/D [14190 0 R /XYZ 90 195.938 null]
+>> endobj
+13786 0 obj <<
+/D [14190 0 R /XYZ 90 81.969 null]
+>> endobj
+14201 0 obj <<
+/D [14190 0 R /XYZ 90 77.486 null]
+>> endobj
+14189 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14205 0 obj <<
+/Length 2428      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~���S+�x��]��8�n��7�.�H���6[��RT����M
zD*���C��"y8����Ĉ��6�n���va�����k�"���2���
��$HP].������O.�O�|_]L)�d��;���7�u
��gg�E/��W��b;����|J�$��b�����ׄt
HC�pXN���T�xk�5Pf�+^��x��;�b9Cƈ���Hm�ro6��˩��Z/�ºۢc
+	��!�Q�����R1��8�
و�\��O�/O~?!�/�Hi^.���|u��#�����ft�hq�`��ޟ�|�=�����`Y��.D��Y�Ѥg"
�)�3�'\!�usAq��i��`%��
�\��쟤���w2�-"
�L����iF� P�1$
S�<P�t5��E���_B�C��蒢]��dw&C����^�0���a8�Ui��ߍ���,`��.q��W�b�U�������b2��Mx"#���&?͋�6K�����x
��!ä
�l
E8(�#���F���h�%ۼ���ڥ�� 엤����W@(�EZ�*׼�s
+���z�א�Ҽ5������˟�^�9�����4)&:�"�L�Ձ J[=?$�2I�DzN6=��Ğp(�+����&�E]��j�Ϋ*�m�sS_���M at T��L}
FRHB����"N�$�
jI��b���O��#m�@�RBﹳ�g%�͓�^M�\�Y��zw��l�I��׺�t�ڭ��>�s�Pq��	��|�
�jg�:!�l|��m���V'ݹ~ǔ�#�#�-S�N�
}^��	�6"���ND_j�ֽ\�
+�� ����~SI�ϧ�Q)���U\U���un76-\z���v�U����k��xVT@)$�WtoX�Kr�@;��*��%|�H#�"��f �y-�Q��C��iK
+�]wIm�=h_�Bֵ1�M��.
�G�x��A�����h����p~�a�#C� 0W����ܮ
�&#���- �oC�R禫�mr|�UV������ؒ�Dw[Gb�?
R����F7Ù	XV ��qɦX��-mz[�]�<�r1���p���4f������}s�j at A/�)�&�|�.��lJ�䳃2�M��j[5�iP�vQ
�	@1X�f��Z��gUZ�֖���U�%YmW�
1�B�"��Y5Q��1=�=V��AL>!*����%;nN>E�(��5d��=��>'��TEq0�X
�L�$
8�88�L����C)�H�·�:�5"��Y=��rJ���z���O���c����*jbQ6Ģ
�#
R�o�
�Y�G�2D�hA��~
��np�cVb�zz���
_
+��Xv��!QoWv?�x�Qf
*��q���!|
+�1�[2��Qx�G�I�
+�_s݋�$�oG��/�e2O�aJ�q
+�����B�rm2.����e�8خ?W���Z�t-6.�LF at yÐڑ����.��utTwbgY�H��
+�2n��͋�Ac�;�`.��������֮�m^���m:���Wټ|le��L��O9Ľ����̠�E���#l�+
�tͱ̾��psH?������,[2
�!�j������¤_��q��H>F��zRMȳ����WY�j2X{�&�<|�� ~`J#�.K���r[��=dL*��|+fjRh�l��%ix��H
+}�CK��ޓor���C�Z�
P��/fT
+����|���_�ܦ�N��0ܺ�
y�@G� ��W
�
���^�)�ӵY��2���J�^9
+��-�-�y�	=�!���)�
u*#��%i���}d鲡��E��`�f
�1
vC��'w�ft��%��5�P�҈�6��Ӆ����d�r�Uj}_�
�p֗
ztZǽ"���c��� ��u�p��A��uv��N-c��!aR$
�Lvh�$�r<�/��@�j�q�sD=z�W�aw
�;��
���T?	��6���&�Q3�%�fI� ���
H�<���q7�
5Ӟ"s���T ��G����7
+G�Τ}D�(�����%���$-g'Ra���,�n���}��I
�B8�)[��4�C
+T���tًt`V�zn8�p ��<�#|��O�F#������]4_  �t�� ���*���~ ̡0YS��
�.���eʟAf	s܋��1qNG�S��qMJq4�sLM��S��P���Pg GY?GӬ����
&/qL����\���w
(=އ�
J�
������ϝ���(�#v��M�A���7o�
�{T��śj痍��<bR���8�6��.\���.T®G�_����.�բ�5{�8)e��F�4�+�������vc�[8�a���a Zr���bVY�ɓ��ha�0LmDaRB��`�����T1�:��������V,z����[�Z��|
+endstream
+endobj
+14204 0 obj <<
+/Type /Page
+/Contents 14205 0 R
+/Resources 14203 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14202 0 R ]
+>> endobj
+14202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14206 0 obj <<
+/D [14204 0 R /XYZ 89 770.89 null]
+>> endobj
+14207 0 obj <<
+/D [14204 0 R /XYZ 90 616.469 null]
+>> endobj
+14208 0 obj <<
+/D [14204 0 R /XYZ 90 550.426 null]
+>> endobj
+13787 0 obj <<
+/D [14204 0 R /XYZ 90 503.801 null]
+>> endobj
+14209 0 obj <<
+/D [14204 0 R /XYZ 90 499.318 null]
+>> endobj
+14210 0 obj <<
+/D [14204 0 R /XYZ 90 389.369 null]
+>> endobj
+13863 0 obj <<
+/D [14204 0 R /XYZ 90 366.992 null]
+>> endobj
+14211 0 obj <<
+/D [14204 0 R /XYZ 90 366.992 null]
+>> endobj
+14212 0 obj <<
+/D [14204 0 R /XYZ 90 282.359 null]
+>> endobj
+13864 0 obj <<
+/D [14204 0 R /XYZ 90 247.689 null]
+>> endobj
+14213 0 obj <<
+/D [14204 0 R /XYZ 90 243.205 null]
+>> endobj
+14214 0 obj <<
+/D [14204 0 R /XYZ 90 158.387 null]
+>> endobj
+13865 0 obj <<
+/D [14204 0 R /XYZ 90 81.969 null]
+>> endobj
+14215 0 obj <<
+/D [14204 0 R /XYZ 90 77.486 null]
+>> endobj
+14203 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14219 0 obj <<
+/Length 2360      
+/Filter /FlateDecode
+>>
+stream
+x��[�s���_�����|8�{����]6g�y�ۢdF	H>!v����#�� ��*^,�F=�=���Mƈ��!������p�����{����2���$$|����ᗻ_&5"F�[��?��׻w��}�Ϯ��]�~E�H)@ ������
L��_`bft��
8ep]���q�=�
+�@��!��rf����!6
�� ����0��&��a��M����R���O�B����(	��pD9�%��������Ï-�)�>^M�C�.`Q�q���r��<� ��U�
<�e8�
R<HO�h����}fO77�b�F�I�	F�G#��r
�����c4]O���6=H�C�fyȥ`֬�X1	
s7m�a����[����t�LW��c�!CX ���)2�� ܅
�L
Q���
�#�efX`ᆟ;3�7ğ9�O��_-���
��4�I������}�!N�0���X�o�Z�i���5)�|���Z3�
+H�5\#���+�$y=��E���h�����8Y��_
+�Wi����&<�hO��|�c���d�6C\ױ�gk�<<�B�jP<��K2-o�d�T����)G ��;�gM�*�؎�4�[$ʛ�e3S��1kр�j��<^�)`��
�\���dc`�'/���+��Q>O+��w�<*oVe��jZ�ϲt9��鐊����l���E`�(= a��һ��1�|9���o�o�+IT��!ˋ��75�E�K˄�k�!{sH.�.C�K�J�E��"��	@�JH���2[y�P��#��nuV�������k����025xX/�$/l߂P̑ƬWK�
�mr�Me�CS�L���
e��w��tr p ,�
�
l�ٍ|"�V����'�\�NcX [Fq2I��a
�/"tx���'����0��F�"�%�B�t{L�_��d�pǹOT)uDnZ���w�㩦Oe*Bh�����SW�(���<҃~���3z35����D\�TN��TP��cy��H3Z���OGL1�!�K,��AT��H鈪���IT�͖��JTU�D�+�E�Z_ at fAT���������T��P�M��Ί����HR=;/$�&�'������~��
�ϲTN
��K��Z��D+��r�h*���*�����{���3
�bEE�����]�0G7�d����"cb��(1�cW����`����1�f�x�$v�|K
��"���7W��]*m�(�h�<�I��Q
�pY[��L��+5�������3
Gʒ����7m���,����&P�K�
\`ن�z���6�����TK��S]�;�ZΞ�&ug����ޔ���U{�]3�O�5�I��I��7P�b�S(( ���i����A��y�y���9�m{A ���.�]��H�
f�)�����ɼ��
��TRG9	W���b��EK�_�髥^�b
�{K]�y4=ma����Pv�Z�Qfw���3Zρ��>��>|�
���qz�W$:Fuњ=�޵�@?�<�U9��� ��[�8W�Dʂ�{��Ux[ŷ��
+���%0S��u�]�������"�'�ؖH3��[���3�
��
?��
�d�E
��%�x����
��$Q�
8�%LU�'��|�&�`njR�9��w��s:�\�A�d+�/<�d
��J}K,���L�
%��b�i'(��I;����P�FI������v�_z)��L}K,�d�\�~�Y�1+�vMI�ė�98���W�*8y�
�w��'a�W�,
+'��^��j�8e9�Ȣ.(>�}{1gE��"�D��;vŴ���P���w�)���m��/��l�`�.�l�7D�ӹ�� ؀�ֹ��Ҫu�eꉽ{��K��ݟ�b��D
+��/Lΐ�
	+����������e�Ғym�����4k;C&Hm�u���*�l3��M+��j1Rą�}
��E
+�g���U[�g����=Y�,�{f�1�F�z���AZ��Z��������8�H��
lK$��_lԡ��f���N�tm�LׇZZN�����LJ^Τ.gR�3�Τu����P�����C�^�t�R��/x*��AȂJԧ?E�k��x �Dw�=���Ql�1�`L0D���!�p�{@u9{�S����ayyL��чo�(��: �ݩTG�rʾ�;q��5ei?����H�u�wF�u�O����@�0Q������
����K�MA�F��6�����2��&��
��z{�����*��8b�\�0Y���ޖ�m��� l�h��OQ�\U���Z����>�C-�!7��Ǜ�����*J
���6�K4������a�U�v�V+'��2�ݙ���/V)�P
+endstream
+endobj
+14218 0 obj <<
+/Type /Page
+/Contents 14219 0 R
+/Resources 14217 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14216 0 R ]
+>> endobj
+14216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14220 0 obj <<
+/D [14218 0 R /XYZ 89 770.89 null]
+>> endobj
+14221 0 obj <<
+/D [14218 0 R /XYZ 90 627.268 null]
+>> endobj
+13866 0 obj <<
+/D [14218 0 R /XYZ 90 592.598 null]
+>> endobj
+14222 0 obj <<
+/D [14218 0 R /XYZ 90 588.115 null]
+>> endobj
+14223 0 obj <<
+/D [14218 0 R /XYZ 90 486.649 null]
+>> endobj
+13867 0 obj <<
+/D [14218 0 R /XYZ 90 451.979 null]
+>> endobj
+14224 0 obj <<
+/D [14218 0 R /XYZ 90 447.496 null]
+>> endobj
+14225 0 obj <<
+/D [14218 0 R /XYZ 90 352.855 null]
+>> endobj
+14226 0 obj <<
+/D [14218 0 R /XYZ 90 262.105 null]
+>> endobj
+13918 0 obj <<
+/D [14218 0 R /XYZ 211.842 195.612 null]
+>> endobj
+14227 0 obj <<
+/D [14218 0 R /XYZ 90 190.974 null]
+>> endobj
+14217 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14231 0 obj <<
+/Length 2848      
+/Filter /FlateDecode
+>>
+stream
+x��\Is����W��Uf��EI吱gj&N��Q*�ɔ
+"!			j at pl���5hT�
�vR�OX��^��o� ��!��wW��z��b�AFR���''J$(In�O�����O�O	���*�}?�x�^>?f�2�}�ߕi�|}��P��r�|�![l����}9%z���j�����%��@�†�:��~�n��:Pf�;ސW�x�6;b9Cƈ�7����2�l������l��L���,�1���:�������6,+��>�5�B�"9W���ۛ�_���	���
�t2_]��3Np��#ft�i�p�`�L~���nf�ov�n���;��A�D��;E`�8�J��*�1�lj�^H>��Uw�^{a
���-�(`[G�g��1�4	,I���L�ź��a��C�E1���������T�Q
/")��Pٝz"%2T���y�
��y����ϦDX
��&_�\�vۻ��U�)_����p���G
���^O�~:�7
+�=���1kV��Kd4i�
󍻧g����� �
�q|V$�1�
]�ó�ό#p� S!Ŵ�����8	̗isO�b��ʴZ7x^�7�l���e�ڮ�ѯS*&�r����V
O�D
J�%:()���q��b�8	J�i�RW�EV�Wy��4ڎ��&+"�bKt`q�〉� ��E֤�u��i9N��ҋ`
N]]�r��"�D
�H���,w8O�~D.�t����W*	&O	��=�$�
�áH�ELǖ�P�"�Hb�F�(���2)0�J��8	�)v�]%����X�m֗VM^( ��y�-6u��'���]p��(����R����u^T��r2_�7۲���.&�2
��Q���Y�S�Y4ko�gn�4%]^m.����IF,�Hâf��%�W^J(1�j�����ٓ̑��
+R�$>�{qn�b��1�
2k� 4�(G8E[�/���#�>O ����Rf���(I!"Y1��I����5D
xO����@�&�A�a�S̑�,��` ��� �D�C��cg����<�k��?6q�m����Irĥ��vZ,B宄�bT����m^����|����	\���b�'�K�9��@$�*��
/�%$�<��\6)����Y�H
gҠ��
/�ٮa��v�eH�D����
�.֕۹[o�E
m)��=lT�2�S�0�D�UP������>]nB90�
Ӿ=eVmK�5��_b=����K̷!��4Hk}����LL��x�� ��P�|$la߉<�i �~�
��}ӊ��zk˂�3t��^� 2
9"Xw��!�4��N�{����T�u�{OPHqC����ʪ���
q[�Gr��
�j�)�D����������z�
� �`�V�
3GP>[��
�!?� yhH-M��
�AZ�G�i���������z�6���
t	nC��6�CbW�N�z0^ƻ��|���4K�����k[y��VyՃ<�ݴ���E�z���j�ڛ�o��=8>:ϛ$gO
���D�;���%�C!	�N���>�(�h|
�cW�i��U���u�4���`�ƞ��2�j
+>��126EX��ū�{���
�A�5i��j8��:���@�+:�Q'��'���*��)=���d�P��%޹w�lQ��5�Х��م�<��@�ә����O:|bÇB�eH�̦�а�}�^5�M�tټ���7�)v�ť��.���m��������<ݴ���r���m���Kr���7���o+���~ �cd
�
�_���
~DU�nEt����S��Q�]N	�
s>�{�2��]O����
���2�r;��
?���#
+�oϱ%:<c1M$R�4�:�
bX���{�&a0w59��
�ai��3"���E�Xc���Q���/X*�c�$��BM�X�ir�{��28�V$��"Ut�M� L"�yBmn�@&dVFw����
u	2�=]�1��S�1�u�46�;~��A�1�$�[/�%�Go1.�<:�ŘA\���nqCI�(�IouD^Bo1(
6�識���֞�#魞�_�-Oo����e"	eq��x�Az���:@o�
��QHv�R��)�v��n��B��&�-�Eם&��A��u��Ӿ$E��!P{�]si��bH���
e�:\pL;}ґd�� EW�⨚a�f�{Ix�	�I��dr�ᱨ�FZ�J�_���T�W*i�DA!Y*��b��wRIQ
m������J
+
!�[f�Ǿˊ�m>p���z|�
2 W�y�s�+f�Buqet���D���5�!�`�!�`/L\Aͩy����=�W��W�j/�� o�����3v�
4��=�ᭌ�E�^��ޥ��^љ1B
s�8���U��c}�V�Y�+���
�����Wx��,��
+��Ww�G���ڌ��OgD�qL�!��ڳۯ
�Q�3;���M�]�L�?�S���8?����6勈��
����).�aۯD�3��
5	���ɗ!�ƛ1<� ����E�����E$.� )�T�I�]�IK]M�q6ސ����d
�Kth�3J�8#
#����م����.������
��ZDŽql�� �t�o#�.=����t{Î͗�Ҵi_�e�½/#o���Ɓ��/#��A[��&8W{V��_�r_F������I,�
��9�h�Ͷ���mc�S�ħŚ���6����>�����u������o���b�.ݾm��j+��ܕ)a�B��'?fYS�:����{rN{�
+
	�˓Ǫz�~��n��Ɋ����R��j�	P�)�֥��prU�Զ=x0AR�v$`0���D)Z��ݯ/�?lN��~Œ7k��l�tidz
+endstream
+endobj
+14230 0 obj <<
+/Type /Page
+/Contents 14231 0 R
+/Resources 14229 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14228 0 R ]
+>> endobj
+14228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14232 0 obj <<
+/D [14230 0 R /XYZ 89 770.89 null]
+>> endobj
+14233 0 obj <<
+/D [14230 0 R /XYZ 90 720.814 null]
+>> endobj
+14234 0 obj <<
+/D [14230 0 R /XYZ 90 605.755 null]
+>> endobj
+13919 0 obj <<
+/D [14230 0 R /XYZ 192.853 541.506 null]
+>> endobj
+14235 0 obj <<
+/D [14230 0 R /XYZ 90 535.488 null]
+>> endobj
+14236 0 obj <<
+/D [14230 0 R /XYZ 90 442.381 null]
+>> endobj
+14237 0 obj <<
+/D [14230 0 R /XYZ 90 351.631 null]
+>> endobj
+13920 0 obj <<
+/D [14230 0 R /XYZ 211.842 287.382 null]
+>> endobj
+14238 0 obj <<
+/D [14230 0 R /XYZ 90 282.744 null]
+>> endobj
+14239 0 obj <<
+/D [14230 0 R /XYZ 90 188.257 null]
+>> endobj
+14229 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14243 0 obj <<
+/Length 2276      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�F���8m�*s<�j+U��w+�M[9y]*�%Ԓ��v��g�
 %rrp� �t�t�|=�pp��ߓ�L^�K�� #�
nV����		����)�z��懀I������/?߼��潽7y{3�}B�H!@ ���f��#�p�� #ft��5��28����_'�ԥ>"*�=���FCm�<P�!�E���?�c
���)t 򠋢����X"A�Q�� �C
Zb_Z&L�	����
�
�	2Bt�8��H�\K��N8�0ʥ�,
+V-)��݇�0�b\+&g�/���d���S����a6cjz��DI^���|P�a�٨��9�@�k)c
��Y*�nH�A�y��<d錊��d6�O㕵L���1I�8��x̊F�p�8��ɲhCy{�%�JUm��1��
]������~��l!��q�H7�a
߭#t|�3`�%�9DV$Q|���@�GXyR"�u1�߯zfM#IF�4��aU#h2��0�6���8M�>ɐ��$>�|���4/N��]���ŏU�n��Ѻp���W=}���V�z�t�xu��,�wYR�Y��'^BJT�~2Y�&}����Z��
|��<[��l�$��6=��LD�
+�.d'����1����
@�/JD�:Z���.����!ZV��^n;k�
��B��)E�B&�HA'��t`��9x�:���$���RH�Z��-�
R�n���$�X�9��!��=��Mz��
U�`J=����B�
���]���Y�V8���C�zF0
�&���Q<M�{�,��)���lu5w�4�
�� �4
��<����h�[D���lF�4�y�8L�cC
+f�F�7�0b�I��0�`<68v�걹�Z�I
��[ �C"x6�RM��6�6�-Hg�ƶ|�`���0#@u9p20�����J��{���= j�$A
+u�c�x
��D�!N�q}���N���
�r!z��綯����=�v�I> �qi��(w�&�}�;������rC�X�+����2�`tt�iy(t�?D�JYmA�e��ղ�|U[���{�L�x�_�
M���B�` l�F
+��[Ҽ�LW����
��i����Z
��j�1-�j���g�4��CE��~Q3^-��D����4���p�HIٸay����.V:L ��0���
�a5R�
Ը�@e
�־	
B#w�v���@��4'z��� R�v+��,���
"�C����
+,|
Ԧ� 8� �k{n�,^��!E ���
,D�H$��
Ah�M퓇��
,��;Q����T	�B�A�4����p��b�ƻ� T�(��d Ε_5
�P%�im�]�4�.!澄P�T�R�*��
�
�PX�|�
+FO�`-E���W����@Rw�GR��t���ᅰ�h�yT2���R���Xʉ��w�{�K9 � zL,m��K� ��hX:���vL=K=K�b����gk8�@$#fܰ�D�I,e���/j*%/I�����xr�����$��O��'���za�4�|��˾
J���;���	�Rh�(��Hʒ��d M�3�4\��tك�v���yQ�/BR���������0.6�t����(G5^}�<}h!����qU�X�Ÿ4܃�
�`�
0įW�D~VE��,��j�ͷ�����Ĵ�� K�Q�=����CL�����A���:�B��/A_@�c&($����x	1Q�\�51�hgL��g�g�_��_��Ξ����L���<	KT�j���JKeZ��7��܊� W
��U��,�p�I�CL
H	�����"b␱	w�-3��8��U��"F���ش����4&��fӘ��~"��f
h �`掃��$��i���|P+wS�F�J� p+gON��kNd��:��
)��қ�:X��N����G�AFʣ��t��8����
Qiy��*����+��
�ٗ���q_�	��p�ש1-g
)")�*�9
��|-nz���ҕ����mT~
+�J3��-D�"� r�5�so_>�7�-�y�vj�f������ć��e��YĘ{��Ǭ�Z"/)�l�+�h�Ә�V�S��3맶�_�'W>�?Y�����E2�Vo��q
+E{꿷�w�U��w��
�Z��f�Ly����IAX#n���ʉ����u
A���N�%������/�f&Ĵܢ�O���uqn��ӌ�i�Y).B�hi��
���QTf�B���j�8q���Gp����!��^����o��
�'
�j󰁅�y�Y/�����8���Ю}�5�3�8^-
+endstream
+endobj
+14242 0 obj <<
+/Type /Page
+/Contents 14243 0 R
+/Resources 14241 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14187 0 R
+/Annots [ 14240 0 R ]
+>> endobj
+14240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14244 0 obj <<
+/D [14242 0 R /XYZ 89 770.89 null]
+>> endobj
+14245 0 obj <<
+/D [14242 0 R /XYZ 90 718.682 null]
+>> endobj
+13921 0 obj <<
+/D [14242 0 R /XYZ 216.764 654.432 null]
+>> endobj
+14246 0 obj <<
+/D [14242 0 R /XYZ 90 648.415 null]
+>> endobj
+14247 0 obj <<
+/D [14242 0 R /XYZ 90 565.131 null]
+>> endobj
+13922 0 obj <<
+/D [14242 0 R /XYZ 90 530.461 null]
+>> endobj
+14248 0 obj <<
+/D [14242 0 R /XYZ 90 525.978 null]
+>> endobj
+14249 0 obj <<
+/D [14242 0 R /XYZ 90 429.827 null]
+>> endobj
+13923 0 obj <<
+/D [14242 0 R /XYZ 90 395.157 null]
+>> endobj
+14250 0 obj <<
+/D [14242 0 R /XYZ 90 390.674 null]
+>> endobj
+14251 0 obj <<
+/D [14242 0 R /XYZ 90 307.859 null]
+>> endobj
+13924 0 obj <<
+/D [14242 0 R /XYZ 90 273.189 null]
+>> endobj
+14252 0 obj <<
+/D [14242 0 R /XYZ 90 268.705 null]
+>> endobj
+14253 0 obj <<
+/D [14242 0 R /XYZ 90 188.022 null]
+>> endobj
+14254 0 obj <<
+/D [14242 0 R /XYZ 90 134.333 null]
+>> endobj
+13925 0 obj <<
+/D [14242 0 R /XYZ 90 81.969 null]
+>> endobj
+14255 0 obj <<
+/D [14242 0 R /XYZ 90 77.486 null]
+>> endobj
+14241 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14259 0 obj <<
+/Length 2051      
+/Filter /FlateDecode
+>>
+stream
+x��[Io�F��W�Ԋ@5�}1�m�MS�M�S�H�D�������p�"�q��er�8�:�qh��nl����	ǟ�����Ie0�	
�$HPL��ݘ`�h8!��UH�8Z/�뫐��j�x�����u�a
�//�Y���o��a���W���
+�����W/	i<�*���0��yϊ!Μ`��j�s�C8�����ǛXΐ1����
����̣ͦ@�������<�{[0aL!!u0!!�;�$7InX���8�
YArn��ы�����8 �{�@J����{
�p���
|�-N
���џ#��-�`��i�f�C��1���\�)"��
�+���d���2Z$�%N 
+���6�;md�A���E$�ߦ.g.`�s?���Wi�W��
x0g'E�)�����|&�|�͂g=�(��3�e>s��!���t��l�j^^Fq���n2Ɛf,�� &��<��hSg�n�1&��4�"��f����!/�<�c��	��^�d
��
�+q{������U~RM4�h
��m��9b��̏���A&b%'!ޥ�y�L��n����Kل[�P
+R
+�
��Ɵ�l/Qq���mr=�n����Δ̄ڶM�l��*�V��s��G��c��,(G]����Mdz(�XRB�Oܶ�
+��HXI蘴 x��,��RH�X�v��� %��
�M���>��Ԙ�Hb��{�]�
K�Hڐ��d~
��bQ���ঁR���@	E�
�@����d��e�
����i|
�C�Ʒ�d��
�
i̼Z
+� �i�T�8"�X{LuS���ӻ�*�b�iY�dz�QD
Y饈$�
-�#T��>��6N!\��I����Q�~�'h���B����H���B
�y�l	��\������WͶ0w�3%�b��mqv
+�Z'��2��[
Vm�p��Oh6�oqh�&G"��V���� �(��㡐,����c�"y��#y0�h�G�^��
z�i��>�����g{ĺ�Α�X
�V
2�aym�>��%G�qM�����\��̶�”�����z���򈮊ZH����Y�L�X^��c���%�P�__KĎ_P�#漏h!�մ�������^�VC����pr�4�d�
��iL;J���2�?�?l���ܬ�n�[�y���� kz�o!��_>��x$M��1�dHT/�<�+.$�r=fQeܶ�S]5 ��+�Ԭ�|ZZ����g�+��/��:�~	
���j��x�N�WL
�<��8�'w�\�oZj���O���l��0^i)ާ�֞�\3Af
�ুo�a��Hr�ŵ}S�X%j��5
I�wE����
�o��
+�k[�#\z^d���g���p �����H�R٨��_w��6X�:���N�1��� �5`�+mz��9G�Pl�ח�<vafFx��s6� �(�$y8RJ
��r��6�N��L�W�l���)�8N�D����6 b( ��s6�i�jeͼk
�����ʥ� 3�**5���8
�!��#L{�8>-�4N��35�c�ׯqz�Y�W���*H��V�̃2��Ě�d�|J��d!s�h��V틴qQ�.v�
賂
�9ܨcd�>(sju�����gD؜�d���Y�����2��4
�9��-#<�* ގ��!BG_�X(R��=#�᩠#=<�Coe�3[����J��-�	r��%9�?Fe��{$�U�+�$�p�վ��}
+�h�D�y����B�dJ1e>����AK�
{G�i�P
�zUSD�Ì>IM
�G��r�1�-���B:ߜ��� >�$�G<M^Y"ϫ��Q^l���J� 3�3�޿�{���"WF"��7m���JZ�v����f~V��:;Z��c(����Ȯ���̏�������˒tɫ�'���"su����l�}(ĸ\l���Ѽ�m��ǐ�q��,N�-KDᄁ*y�$e�,&�OP��}�'�v*DpP$5��˲�ˋ���dy� 7v�d��Ԫ����XUy�.��"��U��N'L��[z��/�
C������bucy��
������T�%�+
+endstream
+endobj
+14258 0 obj <<
+/Type /Page
+/Contents 14259 0 R
+/Resources 14257 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14256 0 R ]
+>> endobj
+14256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14260 0 obj <<
+/D [14258 0 R /XYZ 89 770.89 null]
+>> endobj
+14261 0 obj <<
+/D [14258 0 R /XYZ 90 643.916 null]
+>> endobj
+13926 0 obj <<
+/D [14258 0 R /XYZ 90 609.246 null]
+>> endobj
+14262 0 obj <<
+/D [14258 0 R /XYZ 90 604.763 null]
+>> endobj
+14263 0 obj <<
+/D [14258 0 R /XYZ 90 522.077 null]
+>> endobj
+14264 0 obj <<
+/D [14258 0 R /XYZ 90 468.388 null]
+>> endobj
+13927 0 obj <<
+/D [14258 0 R /XYZ 90 433.718 null]
+>> endobj
+14265 0 obj <<
+/D [14258 0 R /XYZ 90 429.235 null]
+>> endobj
+14266 0 obj <<
+/D [14258 0 R /XYZ 90 346.549 null]
+>> endobj
+14267 0 obj <<
+/D [14258 0 R /XYZ 90 292.86 null]
+>> endobj
+13928 0 obj <<
+/D [14258 0 R /XYZ 90 258.19 null]
+>> endobj
+14268 0 obj <<
+/D [14258 0 R /XYZ 90 253.707 null]
+>> endobj
+14269 0 obj <<
+/D [14258 0 R /XYZ 90 171.021 null]
+>> endobj
+14270 0 obj <<
+/D [14258 0 R /XYZ 90 117.332 null]
+>> endobj
+13929 0 obj <<
+/D [14258 0 R /XYZ 90 81.969 null]
+>> endobj
+14271 0 obj <<
+/D [14258 0 R /XYZ 90 77.486 null]
+>> endobj
+14257 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14276 0 obj <<
+/Length 2130      
+/Filter /FlateDecode
+>>
+stream
+x��ZY���~ׯ�SV�����"@�#�����Z�c
8"g��D͒�
���f����nN
~����uW}lbDE�`{�� �[��m2�z�X`��T����@q����(�8��>M�LjD��U��?���z7�`��&���p@
������O8���ؘ
|)'�N\g���/�qVr4|�A���	F�"���	�xX��YXĖ���0m�TS�Fj�t3<�
+)��	��)N�y<S%�/���.Z��Ơn
��`�H����V��$�F�3>�(.��M�lD
bX�oF�l
�ތ(
.f��8���qi�1ea0�th�pk�&wY������E�f���q�����M6"z����K��|�Z�(�Q�Kbդ4h�����)�ާ k,SO����F�
Ȕ@��@���)2�4���{Li�hI�Ժ��)컚�����9hZþ=��	G�3���"}Ȗq:�sЦ��a�-7����l��E����*���P�v�U��Sm,�9��b��w9�F�qx����S��k�9yL$G|fL!h�v��EVFQ��_zx�����s at H�n1��I���&�n
+�#SN�B`�A������$G��~�k)iL�*�dA��:�!��
2JC,�a�Sl_;��z�
ڱv���!m��\-�F�� ����@R���(Lv^�Su1�eOΑ%(�Q�9�n]I��elxNC�D�*��ɶ���܅�
����UcaA��$,��<\��lڂ���B�B�eD"r���](�^}�\��q��~!b���9���4~*�Ez $�>�ag(���/{1}�J��f�� A
+?�
\I��]�A�|��r^���~
�04
B$�r�ɋ��*����,�n�l���a9��b��S
��^%y��h[T�8�O�O�V�2
+�'��1[��~I�2x�Q�8tʲ�|y�Җ/�Y��J�D
7��4ꪹi���.2`b�fUn�0O15N��b���,>���ad���
D��$O�
h�����W������4I:�U�@)l�� �fQRf�Hg+׿�y���YЍTuF�a���;�b
F���n�,��`���`��p��O���rj;A����]c[��l
�
;Y\,�jm��w5��fC
+��0q���Kj
�dz��Fq^@@�Z���޾�
a��AS-h���r�-�H��8����0�s��BQ�-��d�K-@�
zm �@
�}�Hg![؟y ْ5�vȖ�
+ٲ
�V#�D�"[
p�J�p	�e	�v��"�A���a�62�t�r�wC
S��l��EC`���D�^p9f� 	jv�~E��� d�6�lg���}L�Y�Ɵ��Q� �
+��6
�.���x���߆��6���n�
+bkfN(�'�֭�OU}nV�9�R�%�Z�����=��)�=5�^�A
��j
R``�-���C��B.:A�&�c¡�
S�g���M�}��)���1.�w�ʠ�)��l�����*P�$�O��A��ʘ��7�ڧ�5Rm�z&R�$��T+�z��v����	�"����%���~���|�Lj�!��r�a
Q�ȓ��4�;@��< 
+f.�<Z 	{ZJ5����
'x#-zؓCZ�{{�(KT�wchgv�,�gd���GyǠ-{w�Q�N���Y�$�E�(�x(��<މ��
�ipd�N�N�����ZU��� �&�"R#j
_R��e$E�F{�{�X�|K@?�W$Emޓ�(u!�P�cc�3$� j��g�����
?�
�Q��|qv�H
+�'4?��iЊ@�%�odU�@�zm��feD0���Ym��Y���!�>%��UK�3��'�wdU!���;�EZ����"���A`�#+����$i
&����$,[Ȋ��0��:LbX�t��`"!��I̦ab��1G�'	�
ɂ�� �������,��7Iaϣ�)'X��6�[���T�ȸG�%y����շp��#�Tǎ��|c!WH���~����R�
ܼ/�5Ջ��Y�r����@o�&X�oHA�6�6�h�����ܼu7 ~�FB
+�����������FS����
xI�>�Fc)�C
W�r|��a���������cQ<]_]�-�8}@P���p��@O���� �����I
+/�푷��%l�
+endstream
+endobj
+14275 0 obj <<
+/Type /Page
+/Contents 14276 0 R
+/Resources 14274 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14273 0 R ]
+>> endobj
+14273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14277 0 obj <<
+/D [14275 0 R /XYZ 89 770.89 null]
+>> endobj
+14278 0 obj <<
+/D [14275 0 R /XYZ 90 646.048 null]
+>> endobj
+14279 0 obj <<
+/D [14275 0 R /XYZ 90 592.359 null]
+>> endobj
+13930 0 obj <<
+/D [14275 0 R /XYZ 90 489.624 null]
+>> endobj
+14280 0 obj <<
+/D [14275 0 R /XYZ 90 485.141 null]
+>> endobj
+14281 0 obj <<
+/D [14275 0 R /XYZ 90 404.612 null]
+>> endobj
+14282 0 obj <<
+/D [14275 0 R /XYZ 90 350.923 null]
+>> endobj
+13931 0 obj <<
+/D [14275 0 R /XYZ 90 316.253 null]
+>> endobj
+14283 0 obj <<
+/D [14275 0 R /XYZ 90 311.77 null]
+>> endobj
+14284 0 obj <<
+/D [14275 0 R /XYZ 90 231.086 null]
+>> endobj
+14285 0 obj <<
+/D [14275 0 R /XYZ 90 177.397 null]
+>> endobj
+13932 0 obj <<
+/D [14275 0 R /XYZ 90 145.612 null]
+>> endobj
+14286 0 obj <<
+/D [14275 0 R /XYZ 90 141.129 null]
+>> endobj
+14274 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14293 0 obj <<
+/Length 2319      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~ׯ�S#�x���f��i
+8�n��]�D�l%�!�u��{�3���d��}�)rtf���f��� ?��|;��Q�� #�
n�%	�����`��bI0����0݆w7
����)Z���/�}���k? ����p�>Z�W���&]=���|����	iLHC�pXN1�ݐ֚`
��r�;��bI�����}�Xΐ1���wR�i�߄Y��.
�G��M�G�o��1�����d�p�x=D�bQ�r�8�
Y���dzng��<�)��R:Xmg?�`
�0bF/Šm�)��&�0�u����+���ڋ�Ȭ��a�E@����p�v�d��z%�w��o�K��f` )�5��G���/*ci$X�I����m��ڭ�)%`���:{��}�,E$��.C6�N�D���2n�"Ы]��i'���
�<ں�|��~l�^Gk��)�؆���4Z-��V�h�ƕD"r����aE2<e��/�m�)���k������\4��'��
5�|W[�N7��"]
+r�4�g��+銴�k�,��(��F��x"�0�b$�9�d���:N
�?��x}�
���m���aO1G�L�)��C��2��jL�V���@;mkz���T�_���k�� -�"&I����1�]U4!��1�S��1�ؙ�Aa��eC+U�Y��s^��0��i
�{2Ȩe��v��0��7ѱ2�
(wId���d⼼@���`!���?����8y�V]i��	��ѕ8�������o��~��w��?��چk���y_�(�g���
+��y��je��~�W��kd{]Y�C�2��}��g݅�ŕ�(�$109
JJ_g‡h�[�:�^��8�P�֦�:nZ� �H���
1D��y�vp���(�A߭@>�UF���$,VI���jq�Vݗ��Rw^�Av(b`��쭵�f�TU���x��!�q��!�tNr*���"RC��>fVP�)�&5�zR7}*��
3�uVŔ���I�@�dP��1 ����fP��!��r��
�k��O��
+b��0
!�$���/t�e��q����S��t�x����#�b{<�=T�}
AF2P"��[8�G_A��4
>
����i

��¢5g�#w}-� 3�|�����Ti��ON�4ʞ#�1���]��8'ܲ����BM���ϥ�d�I�U��SmKr�X��ʌ�j��z1�
e�P��7/�
��:�P��Fj���f7H�_�
+s��&$'S
,p8����N�HA���v}�
+�c\��u�r��:*.�3���t�%�l�|�QFO$��k4
``C&���%�
Cr�u�Đ^�/H@�Y�E�1CO�Rކ�K(/3 at +�t�wJMK��Q�L���t��;T���7P`7nö�]�d�Ix���
H������
����p0��HJ���z����e��7Bw8����ǩ ������;N�z_�s*�i�p*Ro��q*]����xSE�ℶ�Y�
+�'��� ��T�
��J�~N0����
sV�Sq�8Ւ�v�{,�%��^ew��gN	�V�?�0� @�$
�L�#� ��(�E�1j�8��HĬ�"Ơ��i6'5Vm"f����]mql��*n�(_��+F��

U�>�ݯ�`�h1Nj8D3äI�&7J׈[~,��?�ymAh�Z���9�
�� ��7��*��6���%8�
+�$��� 
�򶯑�@q>�
������bj��Z��D�|�Dr6�����F�(�G�?����O�
'�X$1��2

������
��8��Y~#���M�g��:��
nX�>�ҳE�(8��5x"X@�h�<J��;
(����(^���A�#�-�����`$s�y�
Eklu��(v���m3��~ 9�E�
F�im%*3m��H�QIli.�
*��0���9���8�m��'��

�I��s�8)�,dq�sZ9ı�+�h
+I1�C�|�*6_G��~tU��Ÿ;�`}�=��:H`��
+��+�x�9���nH<a�H��B�4��ϡGĢ�G84�RU�D��`�U�={���pO6��8 �N�l�M_���W��gh\I�gQ�= jˈ
ٻ�l��F�W�P��#������'t
+4;����h�Jr_�!Ʉ�
�rs��{��,�ݥ)~�-L��')6
?�m0rea`h6�P~H�Q�ܢ�
�w�v��B�JW9�)ϟ������Y�<"���l��^����~�K�P���b��ūj�� 	��[��;tJ
Ռ#��������_�,x�ם��O���
+endstream
+endobj
+14292 0 obj <<
+/Type /Page
+/Contents 14293 0 R
+/Resources 14291 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14287 0 R 14288 0 R 14289 0 R 14290 0 R ]
+>> endobj
+14287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 495.268 212.124 506.172]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+14288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 309.787 210.103 320.691]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+14289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 206.379 485.603 218.897]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14294 0 obj <<
+/D [14292 0 R /XYZ 89 770.89 null]
+>> endobj
+14295 0 obj <<
+/D [14292 0 R /XYZ 90 720.814 null]
+>> endobj
+14296 0 obj <<
+/D [14292 0 R /XYZ 90 667.125 null]
+>> endobj
+13933 0 obj <<
+/D [14292 0 R /XYZ 90 564.39 null]
+>> endobj
+14297 0 obj <<
+/D [14292 0 R /XYZ 90 559.907 null]
+>> endobj
+14298 0 obj <<
+/D [14292 0 R /XYZ 90 469.425 null]
+>> endobj
+14299 0 obj <<
+/D [14292 0 R /XYZ 90 415.736 null]
+>> endobj
+13934 0 obj <<
+/D [14292 0 R /XYZ 90 381.066 null]
+>> endobj
+14300 0 obj <<
+/D [14292 0 R /XYZ 90 376.583 null]
+>> endobj
+14301 0 obj <<
+/D [14292 0 R /XYZ 90 283.944 null]
+>> endobj
+14302 0 obj <<
+/D [14292 0 R /XYZ 90 230.255 null]
+>> endobj
+13935 0 obj <<
+/D [14292 0 R /XYZ 90 181.52 null]
+>> endobj
+14303 0 obj <<
+/D [14292 0 R /XYZ 90 177.037 null]
+>> endobj
+14291 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14308 0 obj <<
+/Length 2758      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~ׯ�SBV���J�ޭ��n
[ɋ�RA$(�B\�����
Ā )����D�tO__�
��v�G?\��������
2����bd�Hq����ѧ1t����#�-w���z��׫����۫��.<�#RH��lu��3
���O#��ѣ/n�j�)������?/p�K󋨰����h�8�a�G�0��(�y�u��$K7��=�{S�3�	���	�r�H�K�"��4Af$
G
�w�.�&��!K�tI��Z$�}��U����hѢR*�m>�P��%��^��M1��L�	���h�̯�|���v��Ӣ�א>(�dTP
�v%e�#"�!Ie�
)6�2OЫ�<�P1��N�T�q��ҽ����{�"&I�G������hBF7c��dS�����fP��{���R���
*qgu%�<.9�'��
��4Ig�j
��2F��%��α�A�$��A��,��C��.A@Sn]	F
+Ԏ(�L	�x\ī�2*�R!��B��F�.Gx�R�QY��he����
)_��V݇��Pw
~�a��D����
H�Mc`���YR[��6 �T�Ok[E��'����]<ϣ��5S
+��������w�%7y�?\^V/I�\>\���Y<�~�O�
g��Eh$?������#ސW���
ѻB�'���yʺ�ܮ�q��4�f��zI��L�B�i,r����� !���nʉo�m�i���D����Ҳ7m��$�6J	�N��T0:�A�.zL�.7�&=���m`E�#���W6Օ��W�@��#ް#������-����Ё���� H_T'��Ɩ?%�2I��
��Dy�
1���
��s�ٔ!����d�
����U9g�
Pw���M% تg�d0m�G�M�!�E\�_	W�U�t��y�Yg�<Io�[+��g�|��%��iL)�Hr� ��
�
+�=�&d�}��
+��- �m�<�
+��
u0�R��vD=�z���_~O�ְ
I�YX�<��Q�+ G�:�W<'����%����P������Hs$ݓ
��ɲe?�
��m�@O| t"�
)C�@!���U��W�c��
�`d�C(�&J�|E�Al��_�4 dZ
h
�Ho�
+��n
�"x�y��+�r�yˠ��1�.� G�?g<!d�5�\����|mY�/8����
�����
���.$Z�o�p���p�����
+Q�� m���\�� B0R��|�~%\����|����\���AR��� <J��x�g�ڳZ�E
��J�[j��
(�g�� (
�i�:J%��G�\R����6O�y��3�1��l�I�F�8j�h�集Qfh���a
Ÿ�}
+W���u�����$]ơpࠋ�UX��9U�(�%
V������:��X�y��Ta�
+;][�
$m�
���<Z�A
+f�:U�|ق��� �lAhS�U���4O����b1Q�8��Y�W�`�����E�*0�c�Tӯl�TS+~�V�
IQ�A��
+�U+�odO Z���k��,������Ÿ
�[2�����Ee��藂Qb#���g+�f��P(�m���Pf!�	�𞁦á�EN
��H��C��
	�CCJZ�Ў�'�PO�
�p���v!{N��nyͣ8�*(P���P��C�e
ʱ���zG@��
-��i����,^C��q^s^ q�R��� - ��N�z
�Z��z�0�H�
+��
+K�D��}(�����~����u[��B��zj
��Y���; vQ~���ک9����3�'۝g@�b�n�z�g��,vڛ%u��HA*�*�
��� �	@:R����%���Y���E�z���@
+�7}
�Ԟ)������q���4*��4��
�}���-�u��5?�@z��)�*ߩ!I����i��yl93PF(W^H�
+i-v��[k	�me~�}r�D�N�B���6�D�����VD��|oӹ�"��uW1�ئ��
+��VP�
���
+�E#_�`�r����>�	�&����ٽ�r������=�u^���<[dzľX��y�������6�8��v�}z�-j���v�
+�eƖ��]'o��QС �2>Rvy3<�#

>\8�Z��c��]!F$�>���SBq{t�M�'�)/�n�ɇ�'�U>Wu/��ĺk�~��%�F]ӹ����q�zs����?
�6��"���I>��BS,�NP&�X
L"-M�s��(p��PGM�<f�M��Lcz�v���k�
3�Ǚ���
�����=լBS,�
+LsƬ�r��n�K�{s�Q�:��~�j��X��YO��򞅣��GF��=W�T
�2L&�]=��ճ�eю��m5��=�hO^�as-:�ўL�i_J@.���
I�S
+�I:?VP?�#ߣ��,��
��[�%�Gw���PFk
��n
�R�]�a)���m!�=a�M��+'�XT?�+[����
Q���q��e�$2�KB����C�2��@�U��a��d�m��������v���t�s�����H�����jT�fUx��r/�u�凎�������=�%��
�m�?짩g��~�/])R�=�{�����q	�7`��{ؾv�w��\�ћ
���M��tG�������.4k���> y��]y�M��q"ĸ2�_�t[c
�6�-
+��
�K�0e�->�u����
�?_8
l�#l��x�]Q�/_����n�����w�v/H��	M��WY����p�����`���S�
+endstream
+endobj
+14307 0 obj <<
+/Type /Page
+/Contents 14308 0 R
+/Resources 14306 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14304 0 R 14305 0 R ]
+>> endobj
+14304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 216.909 238.02 227.813]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+14305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14309 0 obj <<
+/D [14307 0 R /XYZ 89 770.89 null]
+>> endobj
+14310 0 obj <<
+/D [14307 0 R /XYZ 90 718.682 null]
+>> endobj
+13936 0 obj <<
+/D [14307 0 R /XYZ 90 684.012 null]
+>> endobj
+14311 0 obj <<
+/D [14307 0 R /XYZ 90 679.529 null]
+>> endobj
+14312 0 obj <<
+/D [14307 0 R /XYZ 90 594.711 null]
+>> endobj
+13937 0 obj <<
+/D [14307 0 R /XYZ 90 560.041 null]
+>> endobj
+14313 0 obj <<
+/D [14307 0 R /XYZ 90 555.557 null]
+>> endobj
+14314 0 obj <<
+/D [14307 0 R /XYZ 90 458.784 null]
+>> endobj
+14016 0 obj <<
+/D [14307 0 R /XYZ 90 424.114 null]
+>> endobj
+14315 0 obj <<
+/D [14307 0 R /XYZ 90 419.631 null]
+>> endobj
+14316 0 obj <<
+/D [14307 0 R /XYZ 90 334.813 null]
+>> endobj
+14017 0 obj <<
+/D [14307 0 R /XYZ 90 300.143 null]
+>> endobj
+14317 0 obj <<
+/D [14307 0 R /XYZ 90 295.66 null]
+>> endobj
+14318 0 obj <<
+/D [14307 0 R /XYZ 90 189.063 null]
+>> endobj
+14319 0 obj <<
+/D [14307 0 R /XYZ 90 110.667 null]
+>> endobj
+14306 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14329 0 obj <<
+/Length 3118      
+/Filter /FlateDecode
+>>
+stream
+x��[Yo��~���S"�v߇s �
�l&�3��ev`�e������Tw��j��f�<��fuu��u}N
�|��ۋ���%Ier;K
N�$HP��N��#����K�1
݌	
��"��S<Z�_
�i�޽�x����y:��ܽϦϓlzwS��
��r��������&��!l8������:Pf���w�K*��5�>����
#�g��#����<]���۱��l�4O��>�\2���:�$!��Y��-'~
�a!k�\0{�����O�ℸ��)�L?�d
+�H0bF'_ܠE�)��<�p��
\Y
+����TvY��@=�6b���vekE���E:�+����/O�2]d�[J�5�՚B����|��
+v�v��+�F�#>�)��i̾1� ����Ā/@�
M|���H�k[-7����µd�
rz�]��:���1]f�Xd`x+K�)�t")2�4��F�a��(Ro�S��t�F�K8&�t�яX���DҰZ��#�yz?o �������=�b,1�l{;��I	
M;Y-�eD���w�2K��7??���^�ed
mc���T0�Fn6&bd���
Z4{�j�9
N�lYF�HaUp
�V`1s�aZ��E��^�y���n��39�U=q��
+���ɋl�Ɋ��n� `��6͖�E�L�UaO��)b^�x�P4C��w�e5h�yR
+�7�ɢ�H�PK�O�5�D���t|>��9 �����_���	7
м�p��?�@��#fT��L �u����*YD
k�fL�����@��Yl�d���C����_$�.�lLŨ�<��Y��j�j��Pp	rh͟�S�~�
+�f��IiO��o�>=����g����v�M0/��F�9`�p�`�|��8�mb�v�r���)����l�oܿDt4����u;%����t9�-V"�d�m˃�6�FS�����ln[���|Z@�Pڤ��֡��5�a�[������I
�h�;;�(��m���O+�B���8�����7H�8G
+2p�	�DX��,")�<SzN�
U�
����vp�
{����c>y�nգC�c��P^�����u���e6���U
8�U��Ċ�l@�
-���<>`��$�ʄ�V���A2W����;O�(�e�-�YQe�/����v�N^N?@$�-�XT
-��J1D(
VX�D@�� �ǂ�^d��O
Ym}d�Y�)���lB�z�IL:��s%� ��'��u�*��y�v���jb�VthOީ~�AQa蠮�d�6_���<P�jY%lo~�d� {R�����z��ܸ��{2�L������-�P�]G*�+�J���$���c,*E��v�Bf ��ʯ����u�
s ~:ϧwpV����N�S̑�l�eڄNww��qD���_g��C�	o/���X�s�|��f��b�F��Òze��f�M�8�_2��M`}�����(6��o
+��J�z-�*��4$�� Em8Y���Ls@�u�uwP2Dy�5�2�|9Y-��2o�ڇG7
��tO�����6첏U�Ӻ�K'u��m�Gd�Ԩ��[��S���۞�g8�~��2ú�sd���se����ͷ���ܚ���yêּ�}�y#�i����J�y���<��r,����[$�9=V1B�DaX�wz�� ��sL��
&�oiIX�S�Ch��`� DL?a��&H���d����_�c��l��X�|�����a$i���$g'�ܐ=���P��B
IpX�m�m�M �J�5�n~\��Ax���q�Y_)���2�
���Fh�拲TG�pCJ�(����7����T�
�#�!�v� t_
+Ӌ��p�zf�}��@�"���6UQìP�?e����ŒP)F��w
|x�S�;��u����5�n�B�����DFAd2(�t��UGG˜�� KoF�1��U�e-��
+�&�x}JꤾI ��<�k��lW�Ū\�u6�36�`
&�- =
:��d�r��цC�-�>��#���[*�5|qdCd'oPf+�o�9�5}"�c�o�@51���&ۄ��4�1!�>b�ս��z��0"Dd��E�ݔ��
J�X�߈�a�
��4�D�Na�@���y����8��9S�hG4У�γYU�>����|��m5L���A}�ӗޏ���}CK�����a���	� a���\��5�l/�S'¶:����a`9Y�~ӂH�[�`Z�
SS2(7��*�:�<S�8T��
�
����6ux�j�1�l�C�D��=����
�^�gՐP���ԉî�������(<#+���x�]<�Y�l�0j�W4��+��Ṫ
+rJ��
���Ɠ7�� Q�A���%
�5R��s�T�
�r���Lw�]�f�^�A����P��%�M6VBf)8�:��m
r�5��YiM7�Xi�ol/���?����8�(A��j*ݼk7؊s|����K�7ڏ-��)�E�]��^�%���uWLJ12|�)�
Iw��
_���f4"���wwSZ[
��E_�U��������T��e�O��z�@��t���ט=1��s�̽.����
gM�2�����	\��6<��LE�*�G�͏�\s�k.�Ck}
�����֊��
B�2Ȼ����
����W���͡$.;����8�9\y��jO���p�(��Q
� ��
n0�7w��U
Nx���z�
K������I�������M�7��
��o`�Y���E���`o��/x?���f@W ��q�}qc?�k�c�
�����֢ �51{0�+;D.�R���>�nT�d�|.��F|.�	�l�
.ѵ��-�ؠt��Px
�{��&uK����=yݽ �D�kѡ:�A`�o��j���SH�󔉂������
+�UA�!�3�ω)R�~��¸
{y�X�o��v��v�ܼ���Ίߏ�U!����M�
>�mݑ�
�=���Ӈ�N����I�O�pqp�
+
��&~,˧뫫��u�|@��b;�m��A�d���~]��jA�n.
P��4��.!��v6�'�
�
������������,y��
�X�d�F
+endstream
+endobj
+14328 0 obj <<
+/Type /Page
+/Contents 14329 0 R
+/Resources 14327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14320 0 R 14321 0 R 14322 0 R 14323 0 R 14337 0 R 14324 0 R 14325 0 R 14326 0 R ]
+>> endobj
+14320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 649.984 246.767 660.888]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+14321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 412.604 431.977 425.522]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+14322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.748 401.928 444.511 412.832]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+14323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 247.501 535.938 258.405]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 234.116 261.145 246.45]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.307 140.239 434.874 153.157]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+14325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.837 129.563 447.599 140.467]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+14326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14330 0 obj <<
+/D [14328 0 R /XYZ 89 770.89 null]
+>> endobj
+14018 0 obj <<
+/D [14328 0 R /XYZ 90 721.073 null]
+>> endobj
+14331 0 obj <<
+/D [14328 0 R /XYZ 90 721.073 null]
+>> endobj
+14332 0 obj <<
+/D [14328 0 R /XYZ 90 622.138 null]
+>> endobj
+14333 0 obj <<
+/D [14328 0 R /XYZ 90 543.742 null]
+>> endobj
+14019 0 obj <<
+/D [14328 0 R /XYZ 90 497.117 null]
+>> endobj
+14334 0 obj <<
+/D [14328 0 R /XYZ 90 492.633 null]
+>> endobj
+14335 0 obj <<
+/D [14328 0 R /XYZ 90 386.037 null]
+>> endobj
+14336 0 obj <<
+/D [14328 0 R /XYZ 90 283.332 null]
+>> endobj
+14020 0 obj <<
+/D [14328 0 R /XYZ 90 224.752 null]
+>> endobj
+14338 0 obj <<
+/D [14328 0 R /XYZ 90 220.268 null]
+>> endobj
+14339 0 obj <<
+/D [14328 0 R /XYZ 90 113.672 null]
+>> endobj
+14327 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14351 0 obj <<
+/Length 2602      
+/Filter /FlateDecode
+>>
+stream
+x��[�r��}�W�)!����/J*U��v��(���u�hY�E
R�j�>g0 @ I�cgS����3}9c��.�ɛ��\���Ո���N�nG#
QM���������Ж0��U���?~�z���;�������g
�h‚ E�Mng�?�d���'�g����E"��u��;��-t�D�;���%�1"��-O��%��h�Sj�T�f�aLSl�4Ww��D��PN���E���/�Y*
w1���De4�+�5q�4�����Wt�|X��x��Ÿ��pݔ���tn���$ܭg����v���'J��x���f���l���nkӄ�`m/F����a$�Ā:#��z��\�����܋���a�'�r��-�>w'��	��:vN7�����rD	<�+����p�
F5�F�D]�o��x^|�
�
���B���fZ*5�cMF�r�o�
@����x<(��0#��X��c�41Q~��J2���PZ��u�R�h!�
~��M�/�:��-��=n��
A�;��ә}�O�����r��ݾ��P�"�6�2\Y[���&2�$�T�B�4��
B'T�Ds�T!��7����r(��|6����B;q�)OETKa�ۦ
+!	�f����ĩ#(:�^M���ܟ=�t�٭7��}(-ܖuO+��&1�����b1~M1M>�~��l�]siJ����iQ<�-q���
�Ce>����:x��c5E�e��j�f:[�,K�!����n�#��7��ly�Z܏7��s|&x��_;
m4DT�|w���9؋[�6�f
.���M1c�h��m���"�F�2�5堶��I9%NF���ȸ�~ew�Nz��,y��~Y.j
��
�����/W��i:��zxƷyX��xH ���t�~\th+����k��,��M6�)�.$�7!��7�������+�U}J���^$�6j�9I���k�9STa�ÉOj���~���ӰB���5'�T��cѐn@��y�O�ㅯ��
�b��k�/y�m�|ۡ
+�;P�˩�ԡ
,��B?*59X�J|�f@��c�y��-�ח�I+�>�.��D��6�����8{��(>��������t�p�N�/�:s�?6]�(K����
+S�֯��w��^�oL������� �XU������ ]���~��'O;x��˩I���uG�r>�"Q��(ʼnE�
Y�(��,|�Ȣ̌"N��ij�x�B&��;���2e�T��� F"
�jj�a�����>Ccً��-�բ��\BSB�v�����n�R]-��"6^���b�P�z�f8~ѡ��i�>�f–(GE����M�]���j�R���3Xf�Ts��ϖs�����Z	i��Nd@��G�x�g�t���I��fՑ���g�S�7z+%���0)�zW�v�,0�����1&ES}��8x \�iY��
ܕ�%��/ZM{.����5����Q�tP����A
��Q�e
툏�;�6�
�U�alcVV�b�R��V��e�y�f]�T�
+^�1o
�h�4"[�v^�y���� �PfO҂���؁&4f8�:
EQ��H ���NK�o�^�� F41��vb�OX��B�F� �+8�+l~[�v� �
��&E|b�=
Cc��0-�V<"]b�:H��)ϭ�Di-zr+t�x�
�\cC��➧�_��>ޘ�ՇH�c1�[b��c&e
<!HZ�0.9B~�<�TE���:M�nTմ������/���w�|.TbK
P�'�E�<
+�"�;�z����b�$5�!RW�*���A�
+Gӿ���
����%>�PA8,���E��|��t����1����L�g
+5��3� ��#aPsZ�H!���B���D��Ю����AM7�+�6���nN7�T?喙o��T����=���=i�Z�B%[��;�04�rw
�DL�����t,G���z)rt=�(�j�^
G�cj�~����?�i����Sd�e��D�i�b���d�e��K���_�p�xizXqE�r{Xq�e�v���}�x�|W��G��;�d��a�c{Xq)T���`�q�Ɋn)n�I�
`�[l#�+ at v
+5-
J�Ћ2��#Ņ3DkcfIi�04fF��"�
-�q�v�(��Q߈��Gb\�
b
	���ٜ7iqL��3�u3�Zib+P��`K�C�����I�c@�ŃV+Y�4/�#��pb�
���:/.T//>N�[����}�v�]}}^\����V���/���TL6!�ļo�LA��J�sfYijh���d�z|MZ�xc�W"���_^�K
x���G��9E|��^�Du�aUW�tb�x���rb��	��s�0\��ˌ3�bԨg1�'�щ��
_�?ޚ���"e�_

/�y�8S�H�Ggƙ�ܑQ)�/ 3l2�?T���xM�	�x�c1��1��,���1�
;�1�ߘ��*3~��i���+��I2����o�81\
����Y/���L~�<������e�M�����H^� l+ny���2�X��e�_��I�%�����_�4��P�A�������]�'_Z�ٺB
#4��/o�ߥ%���w����r��Q�iEM7�����w�tyGd�2lۏ
R��6�m����*+
�-�p���Dr}
��� ���

+endstream
+endobj
+14350 0 obj <<
+/Type /Page
+/Contents 14351 0 R
+/Resources 14349 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14272 0 R
+/Annots [ 14340 0 R 14354 0 R 14341 0 R 14342 0 R 14343 0 R 14344 0 R 14345 0 R 14346 0 R 14348 0 R ]
+>> endobj
+14340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 609.635 535.938 620.539]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 596.251 261.145 608.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 503.652 429.297 516.131]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+14342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.215 491.697 409.977 502.601]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+14343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 360.149 267.79 372.483]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 267.551 440.282 280.03]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+14345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.008 255.596 420.77 266.5]
+/A << /S /GoTo /D (index_Grid_Generalized_Image) >>
+>> endobj
+14346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 124.048 267.79 136.382]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+14348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14352 0 obj <<
+/D [14350 0 R /XYZ 89 770.89 null]
+>> endobj
+14353 0 obj <<
+/D [14350 0 R /XYZ 90 645.466 null]
+>> endobj
+14021 0 obj <<
+/D [14350 0 R /XYZ 90 586.886 null]
+>> endobj
+14355 0 obj <<
+/D [14350 0 R /XYZ 90 582.403 null]
+>> endobj
+14356 0 obj <<
+/D [14350 0 R /XYZ 90 475.806 null]
+>> endobj
+14357 0 obj <<
+/D [14350 0 R /XYZ 90 397.41 null]
+>> endobj
+14022 0 obj <<
+/D [14350 0 R /XYZ 90 350.785 null]
+>> endobj
+14358 0 obj <<
+/D [14350 0 R /XYZ 90 346.301 null]
+>> endobj
+14359 0 obj <<
+/D [14350 0 R /XYZ 90 239.705 null]
+>> endobj
+14360 0 obj <<
+/D [14350 0 R /XYZ 90 161.309 null]
+>> endobj
+14023 0 obj <<
+/D [14350 0 R /XYZ 90 81.969 null]
+>> endobj
+14361 0 obj <<
+/D [14350 0 R /XYZ 90 77.486 null]
+>> endobj
+14349 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14368 0 obj <<
+/Length 3079      
+/Filter /FlateDecode
+>>
+stream
+x��\[���}�_��V���/�
�憤.�:۾8���⮅J�"i��g�����q�FPK�����|�#��F�#�/�^Q�׿�\��ƈ�#Ns=�y9:2����f6z3f�>�2J��Մ�q�Y&��&��W�o��&�}9��$���ŀ�<Y,>ܾNgO�����f��x�?v��n��
c�	��:�����i�	k�•#�b_L�\��W���C��9U~��=R�i�\$�m.�f��8]��.�_M�0Di;�2F�R�7^�i�X����$��*]��J��W_�\�|�p��XP�T�������Ot4���q,����0h9�\��p��+�8�p^��</,�Տ�"Dqf��NZ*��0�Z�o7�H[�}X�Y�L�%�q
+���5퇼�ж
v�����j�;�Δ#�M�
�泮suD����0;͏��t�h�)K������d
ϼij�Ԑ��2uLA��*#���[=e�tvA�$�B������#@��YWA�|�"L/���K
~��g���Gc��3KΉm�;_&3~�La�У4���
 �Q!�_�ܓ�<�[TFbj����-���XJ6M��v��߯��c
\eD9��<K���׿�s����WY�l+���R~׵dK��F,����5|��Zwg
Ds2n��Y<�2�05���Q6��>I=�c��C=��{GJJ��g*(�&Yr_��`X��4�
��YF��UE�
d[�J"�
+��,��m��n{}]�V
Q�cz.aZ4�ߤ0�tS۶��
��,n�f��<Kv�
<��?u�
~��*�5�{�ʊY���7�"v��w�����5b��
d
�p�|����g
@����2={�nCh��C؂��Ϳ���c��ǻU>�1�\��n*:��1{�ؽ�o�1�pM�R�Ai>)<�c��ƫ����eN���2�8��wo�l��:E4K�
+rU�M
ez�n

����j�&
,#d�<L��+<ޤț
+'S;x:⌰���PK���6�{?N�W�m���s�,[�'����'q5�')�[~<}pp�ia��*Q�C���t �"�~�B���e>�61��>��Di%s{u�	�`{X(��X�1�F���F�g�oh*)v�x6u�Uw쭃@5�
6��BKxfꆜB)	��^�!4�3:��[N�lV
+�"
�H���cZS��H��
2�/e�x�ؾv�����C��]� ڇ�v��ѤV�t���7RH�
 pD*
A�)6c�2�eP�*�A��-"��~e1�qs�:t3AS�4�q\7��w���o�󴞡\���}ȯ�r|�M�N�&�p|c
+1�
�X/�Hu\�؊.1�rn)D
l��-Je5)
���6�UI鶞�ذ�tC���
+a��2���D��D�b��>-���<�
��V&�yp�.�j?D �
t�%�3n�E��<�
�Ȧue�Cݰ�t�����a��^L�]��~�h��D�E��77���\Ǟ�5���4
+[֝ =
�!��[}59ج
���j�\e���=ѪA1��P�M���p?�f���Ræ�*RD
���rV��I�]��E���Iy��d��NQQ��
���}>-v�Da�T��%'�
gЏ[T&f2y�������a
�� NB�"����t�
�v4�>!�VT"v��.P��$��� �ŕ����pem��k5��>�©*dl���q7�8��Ȥ�m̢���ͮ���D��b>���S��Q�s�͢T��O����
+!	���F����X4�y�v���
V��x��՘�(duWk�DՖ�}gw����'����6��{'�
9��[ߖ%�a
,����|��|�!y�r�Vo�DF��~]X��ȇm	(��ݬ�絴��M6���́6�է�
�e�*�*�ʴ�S�L"t��x�tm�S"���y�}f���'�e�N��˩�C�0F���@M}��8#
�;���:Ai\��1
� ��r�R��m���c��� ��	|�b�<�v<4=d�"ro�=d0
�id0e�92� |+Ne,3�Y�P��
�	Ğ!�%�M28P�_��� �4<
+����|�BkI5AT�V�'����"ǘ��J�5gFN�b���{a�
e�dF��VZ��%,���&
+%�ei~[�p
���Y
+D
K�
�b��^�q�,Z8��%-ܘ�3-|H
�6-Lm-
�P:F��),Ӥ�1i�3L]w¨��b0�~	��
c
{fK̰��Qf��0F��.x|
+3l
�L�a�
3��2Ø
+���mm3\�Bl��Na��oƒ�X�
f�{<}3���a�`�sfX}Z̰06X�pfX wW�<bX
$�����E�jG��VB �
gg�&�}�ƕ?�>�
��Ζvc
�1|���� �L��؊-1��IJT^X P�\D
[N7������ዷڏ�ǘ�Dt�9�(n���"��]\�
\O7����Dx������<��_�K
��
�9&5�
ܝ��
��N��W���
�_���
z��%2�"���ϣ����j��"|��
�G��{�B��I
@
�&/���p�}��pk��QÍ}~��?Sÿ
j�b��w���{\���u��g�a߿�ޯI
���	��	Ki�԰-������
jx��`g
�!2�����t�Q��\�H�ۮ7�QzX&cL+�,mN�N�Ë�T�TI��5�a�㻍C��Qij}���ۿ�8j|�y%�	��-��hO�+0|��[
�����@k��d�yϛ�<N����IY��嶪k�ր�O��p�<�`P��K�����4ͺB���8�I�6We*�3���:����8���T ��h~H˖�b��TcRb�D�Bp$��s��P�7��'�*�O�>��P(9
~�r~��P�K��I���
%�a�.Z�q�e���gY&
�gW�T�f�L�e�M��LK�OưQ��K�gj��닏��v QѸ}�!"���
�� ���>%�,E�򷛾"��~��W/��ܦ��O����I�T��[~��}�f_�1B�V\���k�>2_�G姿]�”DfZEз����ŋ���m�=`�0�����a6
�jt�*q6�ps�AR&��P�j�KM@�?C����/�W�

�_,n��n)F_����?��_���
+endstream
+endobj
+14367 0 obj <<
+/Type /Page
+/Contents 14368 0 R
+/Resources 14366 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14347 0 R 14362 0 R 14363 0 R 14364 0 R 14365 0 R ]
+>> endobj
+14347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 648.705 422.924 663.421]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+14362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 385.253 425.662 399.968]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+14363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 135.034 322.446 145.938]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+14364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.18 135.034 505.099 145.938]
+/A << /S /GoTo /D (index_Grid_Time_Elapse) >>
+>> endobj
+14365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14369 0 obj <<
+/D [14367 0 R /XYZ 89 770.89 null]
+>> endobj
+14370 0 obj <<
+/D [14367 0 R /XYZ 90 619.095 null]
+>> endobj
+14371 0 obj <<
+/D [14367 0 R /XYZ 90 516.39 null]
+>> endobj
+14024 0 obj <<
+/D [14367 0 R /XYZ 90 469.765 null]
+>> endobj
+14372 0 obj <<
+/D [14367 0 R /XYZ 90 465.282 null]
+>> endobj
+14373 0 obj <<
+/D [14367 0 R /XYZ 90 355.643 null]
+>> endobj
+14374 0 obj <<
+/D [14367 0 R /XYZ 90 252.938 null]
+>> endobj
+14025 0 obj <<
+/D [14367 0 R /XYZ 90 206.313 null]
+>> endobj
+14375 0 obj <<
+/D [14367 0 R /XYZ 90 201.829 null]
+>> endobj
+14376 0 obj <<
+/D [14367 0 R /XYZ 90 117.011 null]
+>> endobj
+14026 0 obj <<
+/D [14367 0 R /XYZ 90 81.969 null]
+>> endobj
+14377 0 obj <<
+/D [14367 0 R /XYZ 90 77.486 null]
+>> endobj
+14366 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F7 795 0 R /F8 794 0 R /F13 834 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14383 0 obj <<
+/Length 2607      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_��îTeap��=��>R�:ά=�ڔ��H
���I*�����K���0��>�H�@�����0�"��<���������|�X���T7��Ɓ�		�Y�aą
��>`2DDK�e�_�����ۛ���ū��O>�8�0��.>|��
�������v�*��s�����pf9]�A���	F�"��
O�xTƫ�2*c���k�L
)"�T<�Ս�WH�P>��4Z��	Ur��3x�j�#m}
�>��a�H����R��vƵ�F�6�|�%37�sFD#�E5�zL�(�W�����Q�|Xij<���s�P�����
�nΛ�.��+?�L�����]<�L���u>&�(�Fٷ"!�!��V�/���f 4��{lj��ǜ��\]}Nfq���]dZ��R����zH�u����ǀD��%E*�EE��Ss�x�
x<���YZ�=�5�� �h� Β;��1�ʝ�^���+w ���l���"��v���O�a
ry�G)�6�b�՛�.G"����Yߚ
+��-w�6�7 ����kroz�7"ސ�S%}�� i���t���G��C�|-�d'�KpA!h�"
��ϭ�� �����sDC�+�;
��>�r�nL�*Ǥ�E��,K��ݻ�4[�7�1(�W5���оq��
�i�D3D�)l�G�
���� #W�Ѻ]*iU;w��!�
nܡB���n
pDxT;�����G�ޝd��X:�7q:�����i�Ge�,

+�Q��,�H1�W�R��"�.|���2[�i��9玻N�>�/�a�f_
|;�G�Y׺g�3>�SVI�����3���n��2�	F�D
+�'a�� �E9���GȨ���~�”��h�m��9bD
F
�pG�ߗ" (

�@
"��]�.:up�`H
+�p���
���'�б1"%�Tu�x�th��P��I�Zg�
���jS�Ю; p՘���Wi%&��f�瑤��d?�@��19,c���/��(4
��
��StP7��֝@�k8̃\A�p��
+���������6ύ�Vb���$K��k��$-m��<�
�Q�^#?��=�_�sL��e�z
+�΍C�E xI7����
���$ˆ@��j�el��
@uc;ZTvAΛ��E��0�^/:P�9m#�|����ۋ���DM�*U|��i;}?k/#��x�H�O�� /t�y�{���(J��4��)�F���$���@0���X�՗ilU�H�=!�
+�
��C��ZA��
O�9
����3�-�'�&i�H�~hRH�=�<��.Bf��K\�����
+Bۍ���6��L��U�����
	1t��� ��U�LS
�j7:b���n��f�g�;}�.%���s����I 	�u�P��Y�S�EM��$IQ���=楘��=E/���&ٰf��G�w<$HV�.���
_��X��[<I|%	^�T�Џ��̀K�z*x*D��K���'��@�( CJ1���*�]�c�H�*Ǧ��Yڳ($7F*C,J9,����� �� ����e�Ņ@�o���a[��T�Se�@'y�� ?���$���eT�@:Marjg�2�����z�/�&�|����?�p�������Ge�ٍ�0Hd@>�
�>o�ΊbK������y+n*�v ����ʳ<[�k<o��%��q�Q~j#cie?�i��γ|���֋�T����ujH
 Wj�`p��2MmZ<H�?�i$ޱ%F֖Nȶ��Qo���親F��/��f۾dݱ�V92n�*��9���bU49�Ii���ګ�$�|@%;����L��b"o�2�5���
��,;� [...]
+k'E�S�iB*
�]��|~ |M���ˋ��5~3G
o%

�H�TEs�5��L�oŦ��s���ӈ�����^0�m�s!q�
2�<��>a�K�-�
����{�̕�Ȃl����Q������ЀN�O�Ϙ�c��c�FK���0�L�lp�&G�3kP��Ϻ��z~�J
��9p�d at 5�=�O��
V�’"�
���@?�YT\��;���g�Ta�E�K:�
�Ϡ���X� (��\.H��_
衿��涹���
kZ����q٣X���'G���[�i�ƨ_�0�\��esdz�����
��]�.�4�V�Pn�e�$T�AJ��:��-P�#�^+1L1L51���!�@=��:�
�C�.����w��3��]U��h�	�u��y`����a�@�b�Uw�Dt�m\
m�/ʏ��=&��
��ke
�UC^<
N�f
�Dx��y�
��&:���ׇj�qqJ��4^zӍ/��( �z�0o;FN�kf�5
+�FQ��}�W\Z#����2��f�4K���yL�|vb�r���ꖡ(�T����St�
+�T�p�
�(���&�Od�_k�,}�,����W
+[��C������� @
����vEHY ?���(j?����j���nł�k�M�ޤ!XiIZ"�K�	�MU�v�����{����?�`9��!J7������ܸ*�	��]�O8��qUp|�Z���
�[��Ds��(������f^��
��f�����?��
F׳�x�B�*2����*�?m��
+endstream
+endobj
+14382 0 obj <<
+/Type /Page
+/Contents 14383 0 R
+/Resources 14381 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14379 0 R 14380 0 R ]
+>> endobj
+14379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 566.855 362.353 579.189]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+14380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14384 0 obj <<
+/D [14382 0 R /XYZ 89 770.89 null]
+>> endobj
+14385 0 obj <<
+/D [14382 0 R /XYZ 90 616.469 null]
+>> endobj
+14386 0 obj <<
+/D [14382 0 R /XYZ 90 538.471 null]
+>> endobj
+14027 0 obj <<
+/D [14382 0 R /XYZ 90 503.801 null]
+>> endobj
+14387 0 obj <<
+/D [14382 0 R /XYZ 90 499.318 null]
+>> endobj
+14388 0 obj <<
+/D [14382 0 R /XYZ 90 416.632 null]
+>> endobj
+14028 0 obj <<
+/D [14382 0 R /XYZ 90 328.049 null]
+>> endobj
+14389 0 obj <<
+/D [14382 0 R /XYZ 90 323.566 null]
+>> endobj
+14390 0 obj <<
+/D [14382 0 R /XYZ 90 219.126 null]
+>> endobj
+14381 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F24 529 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14398 0 obj <<
+/Length 2418      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~�� �����x��X�ͥ����uܢ�l 0m�+�^�N��33$š)ʖhl
+yMϜs�\��3��u���������b�AFR]^EGJ$(�.�ѻ	�H��`�'�S�'q����S�'���&Y�����C
��ggՀr����dy�H���|J�$�?����N_Қ�*��᠎��/~H��@��G�$�NgT��KZ]\��
#�w��!����:.
+/�rj�$�ܮ�2��E3�RG3B�¿q�\%ΰ$]�q
k���Er���W�'����#���R:ZlN޽��n�aČ�>�A��S�����?Op�R�/��^ڟj�@��*m�<R��^��3o�Y��e�U����3��r��IZ��oʛ$O��rW����\m�����^��y��I�m=��ɔ���)�J�U�<�
D"�o.2X�����K��T�P��8�k��?�2��߼�������
I�̍���w�>c�x����V� k[%P�
+�N�j��"�,�PHq](�o�4�ص�R����s5�>�����M
"��tr'���n����I�Z�%�#���=d�Ӎ2	/�0�+.�r�̠[�N;�E�������
ԃA��j���˩�,��	�XGR@�h2T(2�4e�a�3Α0D�5�3��/N�i�FL�Q�U1ޙv��$i�����ܜ(x��17�0��p�8��3g6��(�2�8g���C��x�f�+�'f���
��q�ܦe
i�]�
t�&�6}
z�V���� ��v�V�z�&�)�3�1���fJĨ���e_u�
�hVT�eS�R�>���c�]����m���
�ߢ�A�¶�,��T=Ȫ6v�ۈ������G�ި_��
$��J�qSJViG��&��e��lDa
l'T��@�B Ct]>��BW�$��
dR���
>��.DZ"I�0F�����>�DD����VjH*��|
���:��p�� �Eq�ɻ]E x�c�1���Pjq���
�A�D{oΔ
��K4�� �E� [...]
+��5�1��nþ��ųо˛<s��v�,C�_j�z�^�40 at a\��L�|؀Ax݀A~PL��'����������j��{p/hu�4W��Vb�@6%K�t�v �*٬�����A�
��|��?�ݼ�F��a5�Ix��
+�ey��%�~&�ȏݙ
%D������
+j��!���+���Y.�\]�\���X.�#�\�Tĥ���h�+�Š[�e����Z�K:��e����v,7�y7ǥl�)-Dž�&��m��
��2]=�t��"[��1]��2�e����Dž!���t�bM-� 6
+��#҉�%:�̀��Fe�
d
�2z��d��� 
�����ؽ� Ri>f

,�i��	
+K��K��5wL��
2}vQh�̌�K[��
p���cy��ռ�c�a�4��+/�by���;�A"���#D�e�T3�l�r�TU�TyީU�!m=ԝ���TA��=���8Rʰ�GJ6
+��tv��:�A�FB�}�����j������ToI�"K��i��
΄AIC#�"Á��3���IXZȱʃqQ������
��{Z���ɞ�����A�'��Q�
��4�=�?�E��A��D�w�����偈���}��C�

�
+��֝�L�<�S�
+�� �Ư�CsX(w׮^����$�	�����7���ߋ� �|�^$ٷ��k��J�o����Fo��L��rF*
��	#�Q����U
ck��Z}��`�:aH⪚�P
I*��ln5ǐ]�m��%P
!���|�T�&^�@�s#^lW���u^� P�
�QL���Rڍa����Sb�Y75j���(�\�)AK��� 1����)���Ք�c�a� ��M	W�0�뢤&AM��Z�ݍ���^Vo� ��|w�3����O��8,j�`�m�{$X?xew�H�B������
��WW� �ӯ�H_�&�V
��&/�dB��
�]=�d�l2���6u�D�"A]���
��# �$��
��̞�
cRm��	g
>o(QS>D��Š����
]��U�a��I��ki��>�������G
z�Egc����G���:0\s��N����Gq�,V���&ݏ�Wy���-�.T���,{�A���B���G�����/���o�ſ�$������?��]\kC�뜻��n�Z�h�U��W�������­*Dp �MTܔ����釻��
��p�Zv@��b�ڃ����)�ܸ����j:"&�V� g��j��Q�׺v����oX�2o��� �;��
+endstream
+endobj
+14397 0 obj <<
+/Type /Page
+/Contents 14398 0 R
+/Resources 14396 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14391 0 R 14392 0 R 14393 0 R 14394 0 R 14395 0 R ]
+>> endobj
+14391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 507.826 379.76 520.16]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+14392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 320.343 379.76 332.676]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+14393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.217 227.744 424.652 238.648]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+14394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 172.461 335.755 184.411]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+14395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14399 0 obj <<
+/D [14397 0 R /XYZ 89 770.89 null]
+>> endobj
+14029 0 obj <<
+/D [14397 0 R /XYZ 90 683.788 null]
+>> endobj
+14400 0 obj <<
+/D [14397 0 R /XYZ 90 679.305 null]
+>> endobj
+14401 0 obj <<
+/D [14397 0 R /XYZ 90 598.775 null]
+>> endobj
+14402 0 obj <<
+/D [14397 0 R /XYZ 90 545.086 null]
+>> endobj
+14030 0 obj <<
+/D [14397 0 R /XYZ 90 498.461 null]
+>> endobj
+14403 0 obj <<
+/D [14397 0 R /XYZ 90 493.978 null]
+>> endobj
+14404 0 obj <<
+/D [14397 0 R /XYZ 90 411.292 null]
+>> endobj
+14405 0 obj <<
+/D [14397 0 R /XYZ 90 357.603 null]
+>> endobj
+14079 0 obj <<
+/D [14397 0 R /XYZ 90 310.978 null]
+>> endobj
+14406 0 obj <<
+/D [14397 0 R /XYZ 90 306.495 null]
+>> endobj
+14407 0 obj <<
+/D [14397 0 R /XYZ 90 209.721 null]
+>> endobj
+14080 0 obj <<
+/D [14397 0 R /XYZ 90 162.195 null]
+>> endobj
+14408 0 obj <<
+/D [14397 0 R /XYZ 90 157.711 null]
+>> endobj
+14396 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14419 0 obj <<
+/Length 3162      
+/Filter /FlateDecode
+>>
+stream
+xڽ[Ys�~����F�Zap�t���=���8y�L�h���+�Z�Z��}�	$(��͋E`����
�N
&t���_o��}c�$%��zr���tbdJ������T��������R
o5���ϟn����#�]}}{���!:a��"&��7W�>��
?�D��䱙��H.�w=�x��+�x�+���!��8LRB��&H*-7ﯹ�f�l������rt��Q;�cG;�	Ɍ�L���z4�P���t�SMUcTa6#�R�V�}{`��`��r+��2�2m�|J^Lsx�Fft_�Lk�r2s�ʯg\;ym/��S?r�{p�|��j���{)��u
X��P����뽥6�v�|���EQ>�Gu�~���l�.�&/�EU�ù�n|�o�k����|A�e��&�
2<ixHR�K���)���5���U�׿��m�H{����ZI��Q�����@$'i�[P�h6n
�#Pe�ˆ�
��9����Y�|�
��*���DRa5��77Ey-)��u����!��� �Q�=��$@���݀���F���i3�� �p��\�>oW�ꚫ�c	��ٴh�ϻo��A�$I�<�K�����O"i��9����9!�j'{���9���W�mVٚ�Ǣ^��V�{����u:P„�@��|��sX��
+3�I��ɬ	IH�YQ�
�,��/
�^D�a��G=y���"%B��]N�5P�0t�X���nT� )�1%�!A���1J!G��:�s+qp/�rŒ���팀�!Fz��Oۼ
z�z��_3��Ά���F��C���*m��K��oD
�b�-Y�Ko'�G4��6�
 IH��U��ew?��l�䬚

/g�ʾzs�^��l�~���/�|q�
R2�঎m�Kb�Q��V���C1%
+��.b�7<*�K��ƃ���
�	kS�&Z��u�+�fyl�BA�T�!%���������u���]d�Đ���Z�v���:߸����L�UTh$� E#f	c
+������w�$��M�=
���
+q
t�x�I�1ݩ�2�脽p�ᒜ”lhɄ8��
���ρ�E� l�l'}*�5d��A���K1F�� TQ�
?(��pp
.��5סf�M��ɖļ��
-��˪��Ճ��d8��!�٢!|�X�
'
�Ā�X�L!l����"�{
�݀P 4�GY�G��d�ę��a�>��H�/�5$
��g�?�f�e�m����$���pG��@\��|���K�E⃭�H|d�1(
�4��3�1�
�G����"���@g��(?��n"H���g����Ay��hJ���?W40�e����=�rHR%��o�y K-�`b ��
+��ȴ��R��d�d0���L��?�-!�JŹm��m�~,OOG��PB�F��7�-������P�k������	��'���~^5!�|f5�tN
�g*�C�V
i�b�R�A2c!vxF�ɶ�Ze�C�G	�E�7)���1XI���Aw�!��E��29�<�_6@�<��}&�ƎǾ�ϛ��`�����j"�6��7�|+$����%�Q4x�1��q:�TM[�n<N϶�A�
��Hޟ@�0�f�y�;��g�'[�v�;z
/�N�f�
�ܹ�w1�^�uD΁@d�u'��\?�mU���""��
+K�˴
%�Mʇ��
w��j�މ�vWa��m�e�8��t���
kS�X�J/ݙ �ڬ�M�K�MZ	�Q�[\�y����O1�Ռ$J�U���Z����`ײ����!�Ʒ=C%A&Luz	�g�:TR˛+!����
�<l�[$ۚ�к�S��0��c*�9��}k at G�o^���Ep3
+\�Ԝ3
+����俤r�B`�X9�,�?\
��M\��������e��H
T ��k��s��o�$zn
p�ϭ���%�|^,��t��?�;x%Dҧ�u�l�:]�>���;?m,@��K��k)
k�Q�\C����~����H�0�h��{�̻� 	�K>�om�<ٴ,�E>���Z�mg�[D�U�ؓx� �i�x�E�3x��
u�4R�z�30 5���j=<��P���
H�~��W�j�%��,6��
�k@ �a��.��2&[���]��
�x�3]�+2$f��
{a�^�C6Y��.�p�����xӹ"���[���پ�le`�P�	�]�k�z����@{���|$1aEz(9$U^�
�+��)��<��]�z�(�Xz
�x�}�h�
+�C�21�!���}n�P�Zؕ��e�s�
$J[Smg8K�A?�r�Š�����_��w׮Sr����_/*�S�X$��2�,�߅s
���=�[C۷���	@m%~���J���s�x����x�8bz�&���(���*.0��@��
6��7��>��$<_�+�M�о[
ht~�w(�`�{7޴B'�
�'�J@ ]
pJ���o6�:Wc���2]i�2��jsBU��
��V
ψ�X�������6S|y����Q
+�/�m�ܖ���
+�H�`貴�ˎ�7��-��u��G�D龻YƲ:��7�&6B̲1��A���^r�;LV�E!ؘ����Nur՞��*4� ����B�{��)*}�#�
+Ю�;+�&![>�Y��X�V	�Lc�PD�.x�-�#�TMhw��L��^��ƚ�$�>��%FB
��t�M��An+��Ń�D�cm��;l�q��e$�.޾�>苟KeP
�M�H�1�$;a
*!�k�,�,��t��]�� %K��
Rp*zV��x.��z�Ǜu���	1ܮ����zx�z�W���P��=S�"|(RC<�;���wyܓD���N�욆�����{�y9_W{,a"ݤD���zK7��A���E�Ơwk
=�������0<
�
D!'6�z�y��ۡ�E��E�ʭ
+������tmٯEp�}�	WV�0��m/���~�+�=��H
^o
�k&$�z��b�է���6_�"/�@���
}��N&��#��aCT�4,~\D~�BD�]7��;����6b�U�:r3�7���t���TF$���	[���h/���w�Vj���Yyh{<�U\I�9#ԕy���y
�,_�x����Ǐ��ͼq��z{��������W�cԽ�u�}�:��l�
n��k
u����W
+endstream
+endobj
+14418 0 obj <<
+/Type /Page
+/Contents 14419 0 R
+/Resources 14417 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14409 0 R 14410 0 R 14411 0 R 14412 0 R 14413 0 R 14414 0 R 14415 0 R 14427 0 R 14416 0 R ]
+>> endobj
+14409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 695.509 243.45 709.457]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 643.25 485.603 655.767]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 414.142 385.519 425.046]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+14412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 214.91 174.682 222.437]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 160.231 216.525 167.757]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 160.231 291.843 167.757]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.213 86.288 513.996 97.192]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+14427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 74.333 219.384 85.237]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+14416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14420 0 obj <<
+/D [14418 0 R /XYZ 89 770.89 null]
+>> endobj
+14421 0 obj <<
+/D [14418 0 R /XYZ 90 720.814 null]
+>> endobj
+14422 0 obj <<
+/D [14418 0 R /XYZ 90 667.125 null]
+>> endobj
+14081 0 obj <<
+/D [14418 0 R /XYZ 90 620.5 null]
+>> endobj
+14423 0 obj <<
+/D [14418 0 R /XYZ 90 616.017 null]
+>> endobj
+14424 0 obj <<
+/D [14418 0 R /XYZ 90 520.09 null]
+>> endobj
+14082 0 obj <<
+/D [14418 0 R /XYZ 90 485.42 null]
+>> endobj
+14425 0 obj <<
+/D [14418 0 R /XYZ 90 480.937 null]
+>> endobj
+14426 0 obj <<
+/D [14418 0 R /XYZ 90 351.047 null]
+>> endobj
+14083 0 obj <<
+/D [14418 0 R /XYZ 223.966 77.486 null]
+>> endobj
+14417 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14436 0 obj <<
+/Length 3113      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���S+����/nR �f��)�qܼl��h[�D9����3^�J��E�b� M�̜���g�ξ����ū7�eIev}��)I��$�^d�&#E�3�1���<ɫu~�vJ�d���P,����m�W�./À�2_�>�\��y��y[M��l������_�!�7!U
a�a9n�/��hM��L3�5�b:�O^�ps� �2F4��m�j;�?Vy]{j�SC'��q�o
�Y6cL!!u6#!�W�]�6V�s?�c���
I.�}|�������8�r�����w��l���0bFgܠu�)��*����

$���^�܀V,7X
�
1�E�ݶ���4ED�� "�
+)���O�E��
�' 
{�+
+Σ�VB~P�eJjDr�7�Ek���2�����f�H�W;a��uw�eM�@��X֧�5��I�
_��ˆ��Z���p��3 ,��AVX-//�)!���y���F�5�d��ߧ�mZ���?&�i-%Ұ�~̽i
fU��<�*m�8�u�\e�ܔ֜��,pB;`�T�l���|^-��Uk!�?�F�ў�Yu�J����g�$AH��˺�f��D�K��uJaҸU�	Ӌx�
ۻe�Z�ůN
�3y�F����H���(���K�
+�ub�E��B#��n�|�,�s�������7^G�m$8
�UUQ?n�Ų�_mR�5����A0�
"
+ƚ1(�F�Z,�y!no�!�q�v�
+|��2�c��k4��[�Ҿ
�҆���EG��RDĀ�S+�}Dq�!��m:�ۜ#
��pf��:�+")<|�2b����e\7j
.@�c��
������*
W�9�����-�D��}��	Pgջ3�j�!�hy
��5�@���9��Z��U�ծ��V�ʧ�-8�ȕU�ӊ4w^|��Ң��1.u I�:�
�L��LZ�1�d)�/�o>΋�-X�?�GRA�%{�ύ�7���g���K��Q'(�+����H��#�EC�*���F
+f��%ɒ�!��../������j���`����	\�v��S�!�bg�)�4���GD�}[�<E�,���C����C˻DB�mzF��C#_e��t��g�f;
g�_ɓ�k'�{?%bR̷���9!�m�|�֍��F����O�
#����S��U���x��>{u���n����(|-���8�z��*����MQUS.&��H�����q̍ƈǹ���
3"f̚0\��\��qלւ쯶�i�²p�=�&��������il�V
��<��Ho��,2☚s�C 8
�(y��|C��bp7W���w��o����{Ӓ�}S�����v1��:�ӕm�G E��y���4w���
q
��P(�BB�u�,t�ѭ�n�u*�H�[�<���tZ���
QJ
+J�Z� �y�9|1�1�'�ۇ�
�n��!2�,M�QRw�pb�h�a� �
D)Ҕ
��Z��p跤 q���)O█a�L>��(���H��I�Km��Ȭ�o�k�
(M�c�	���z��d��{�,�Uk�}]�0GC]��
���s
p���9�`/��:Z#1����D鄤P2 ���3]Ng
�E�%A�A��$�λ�'�wl �H�	����c�;KD�
��&��
��!U5�������:ؔ�/M,tܔ�D�7e �I6e ��M�;�6�TK�1$!�B!�_�
aI؊%�􁞌����L+m>��i����̌KH<��6�)�I�R
���b��1l���?�:,3�,�!E�Դs@$u��U��"�y�EQ��J��7���Y8����&([}
�,��z`���S��$��V
�2
U2
��I1%�i�в�
!���l���sB�g��p��뵟�gCN3͠V��l�E��@�/\LB��B�u�m1����Ϡ$�o��|qs�(�뗵F`�;��#{?��n\�lN����[�P>�ZO�/EP
�2��b{�����e������i[�S2	�j׃f�C;؆E�Cz�m@���cw�,�m;�A�}�VEb��"�汨ܧG��NeึYdV�s�����tbb9�go:1���gš>Mg������=�
�S��r���l-�3��=
����պk8E6xOӕ?/n�C�t/VΖ�|�~��O]h���*(����h:�r�t��#�)
���>x����A�r��p��+F���|����/�%��4��8��1�ɾ^�mrrDGQ���qn��g��n�>oG�'�بӣ�5Qgu�/���)
����5�g�c����
�&�M8�v/^�W�H3�z:��s$Y�Q�S�>�tH��O��1��öp6��� �;�4��F�
+��t����t6����Z
n���: �\#B.����w#�m .�Ok��R����	,��޳��!<�47��L<)~�W�Q�O
�I!��st��6~XV�U�F֜ƀE�E8�e��r�
+�P}�'%����8qp�&�15�8��x$��
c�YS^�
y_K�"�C��}W
�Au������j@����v�2P��e��o(��A�� ���{�0����8�5P���6�7i0��� ��#�}j�B^Mk�&��(}`C��0?ХhR<n
4��_��("��
�R�R&ץ`��.���J7aI�cѥ���������Y���1
��6���1F����e�2��Z�
!w���Ӈ�A��(���F��쮊�S�8�p����2���5��-Z̮J����g[�P����f�;�=#`k��)_4�q�z���>v:��tw���A"U3�����S��E�[�L����+M���R�C���ɘ�!mW�Y��X�����R�'�
+���G�wX���5�1������Z���P=��
��������Ǜ�r
@9���f��ӍwH��;?/�0=;���M��aS��jú?� �۷?���E���`J��K�y��e�?bVu�8 ��,u�OE���˚��cc�R��H��l����^�>��Ey������� �Zi�5�VכF��%<\�0M�d[mB�$%m8����֝�9[�׻w/�ÃW߭Y�z
�q ��;���
+endstream
+endobj
+14435 0 obj <<
+/Type /Page
+/Contents 14436 0 R
+/Resources 14434 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14428 0 R 14429 0 R 14430 0 R 14431 0 R 14444 0 R 14432 0 R 14433 0 R ]
+>> endobj
+14428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 530.392 379.76 542.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) >>
+>> endobj
+14429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 488.294 182.164 499.198]
+/A << /S /GoTo /D (index_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+14430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 378.973 243.45 392.921]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 302.405 535.938 314.923]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 289.02 226.824 301.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 222.188 362.844 233.256]
+/A << /S /GoTo /D (index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+14433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14437 0 obj <<
+/D [14435 0 R /XYZ 89 770.89 null]
+>> endobj
+14438 0 obj <<
+/D [14435 0 R /XYZ 90 721.073 null]
+>> endobj
+14439 0 obj <<
+/D [14435 0 R /XYZ 90 646.048 null]
+>> endobj
+14440 0 obj <<
+/D [14435 0 R /XYZ 90 580.006 null]
+>> endobj
+14084 0 obj <<
+/D [14435 0 R /XYZ 400.69 491.447 null]
+>> endobj
+14441 0 obj <<
+/D [14435 0 R /XYZ 90 484.807 null]
+>> endobj
+14442 0 obj <<
+/D [14435 0 R /XYZ 90 404.278 null]
+>> endobj
+14443 0 obj <<
+/D [14435 0 R /XYZ 90 326.28 null]
+>> endobj
+14085 0 obj <<
+/D [14435 0 R /XYZ 487.765 225.342 null]
+>> endobj
+14445 0 obj <<
+/D [14435 0 R /XYZ 90 218.702 null]
+>> endobj
+14446 0 obj <<
+/D [14435 0 R /XYZ 90 104.319 null]
+>> endobj
+14131 0 obj <<
+/D [14435 0 R /XYZ 90 77.486 null]
+>> endobj
+14447 0 obj <<
+/D [14435 0 R /XYZ 90 77.486 null]
+>> endobj
+14434 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+14453 0 obj <<
+/Length 1932      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s۶~ׯP�3=Ҍ�PӜ�s���^R7Q�I�C���)E*$U���
���%7��^��
��bw�o0�b|5�����[��1:}��8@��r��
x�x����h�f�%��[|3fR#H��z��/�^.^۶ѳ����@
'@ ������;<���700
����
s���_�~
�f�F ��!�72�HQ����xR��&	Kc59}��/�B��F�/]��l�o;�7��k3�QE&O����E�a#�i$��W
U�THp�
�_�.01΃�GQF�yV��	�N��mL
�Y�$`(�����M�X/���[,�wg�ę��ҁ^
�
�QՎL�������%��v�e���Ջ=�Q��ٔ�I��q�$7�L�]���,�=���Y�NO�}
+c�txJNܼ�����;B�<�N��F B���6>
	@@�R[H��Hik�7�����P�`��ܕ;c gI�������f[œ�"J�	��C
X�p���<.M�:��x#b�܆�{��Mn
+��agi-��7&�th
9��-@�G
p���#D�@�!���zT3p�� �a�kC�>�Ї�!
݀l
J6l��Z5�A��n$̑
�Y�1��S�'Y
9�Ŕ��u�q*5,1 at +��
+�^��
�P ?�YM.ub9 e �H��
�Ɂ�[�
�J'�$+����0�
+���G���_�� ��	�f��n�Gg
��}������)<cQ�8n郇(��l�t
�+�@
惉ߢ�{�F2���r�6�!�Fk�6ZYBa��6�b��m�/
*ndW#\dY��hrϓ'N|�53�ĝE�
C��c����0c���w�
��P��y�z�+�?�QR�^�WRi�ǹH
���Z��\C���
�W%}t����S �x�*+ �j=4�2�6O}���
�̷��(Ts��_�X��U�ܸ���\w��֛,�b��[������h���H+���B�Z�M��qQ?��PG��X�!Ku�}����cX�
@5C��ɬ����nQ�6i��,N�
��H�
h`���f�˰0���wP��I�4��B�"�-�.ä��b].���B��h���&�
+t�ON�A�S�S�]�ọ��%��5������$>�Dzc�&9mr���INz_r"+~LN��tLN��f�1K}�,u� ��$E&���F
WP�\A�c�:&�GHR���KYl�cz���#��܆�
��Q���	nu��_i_W��}]����=�2J����a�6o*����W�^�O�{)����c����G����_�0]4��([n��C���w�H^&aQߺ����ʤ6����e�����,I2�t���+��-��.�wu����

���ߍ���~�73���$h��k��
D�N*g`c�1T��yfa
�����2'���+� ��Ζ1PY��˚�d;z	�IE��&Ρ`����fe�ܣ���O��{)e_���<g���|��ڴ�0��l�
��TMVQv5�W�2id
yKUNAGN?����j-����S�a����UV�$�]PD�2s��M��ٖ	�a�~�����Ȓ�7Q�Wz��  ���b
�S�'M.t���ӚܤK��R@T6- �kh��.[�nj�\Z��-�g����׺�0Q��9��_
+䡣�q���t�l#_��pP�pYܓ�K�
���M -�����
�s�Ҭf����qZ�H`�E�W�-B�Ce3{sf�ay��,K
�
8��ЭM����
�f2���/�$'��l�ax�UB���t�î;rX9�)��@��(E��������~q�b��O3։��j+�B1LKô K���.�e3h?뜝}�n~*L�{
����ô=�g�(�y�&'��M���<~m�8�~i��vT�َ>���[��f~zz��*Lz����na��8�Uj���Bm�5?��^�� AC�����I
+endstream
+endobj
+14452 0 obj <<
+/Type /Page
+/Contents 14453 0 R
+/Resources 14451 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14378 0 R
+/Annots [ 14450 0 R ]
+>> endobj
+14450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14454 0 obj <<
+/D [14452 0 R /XYZ 89 770.89 null]
+>> endobj
+14132 0 obj <<
+/D [14452 0 R /XYZ 263.597 659.423 null]
+>> endobj
+14455 0 obj <<
+/D [14452 0 R /XYZ 90 652.783 null]
+>> endobj
+14133 0 obj <<
+/D [14452 0 R /XYZ 90 589.141 null]
+>> endobj
+14456 0 obj <<
+/D [14452 0 R /XYZ 90 584.658 null]
+>> endobj
+14134 0 obj <<
+/D [14452 0 R /XYZ 475.899 505.548 null]
+>> endobj
+14457 0 obj <<
+/D [14452 0 R /XYZ 90 498.908 null]
+>> endobj
+14458 0 obj <<
+/D [14452 0 R /XYZ 90 413.158 null]
+>> endobj
+14459 0 obj <<
+/D [14452 0 R /XYZ 90 367.2 null]
+>> endobj
+14460 0 obj <<
+/D [14452 0 R /XYZ 90 321.182 null]
+>> endobj
+14461 0 obj <<
+/D [14452 0 R /XYZ 90 287.119 null]
+>> endobj
+1946 0 obj <<
+/D [14452 0 R /XYZ 90 181.874 null]
+>> endobj
+426 0 obj <<
+/D [14452 0 R /XYZ 90 170.287 null]
+>> endobj
+14451 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F22 2996 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14480 0 obj <<
+/Length 1551      
+/Filter /FlateDecode
+>>
+stream
+x��XI��6��W9�s�i3� ��l�4q�C
h�c	#K�$O:��}\$��2���'R���=���Y:�y5y:�\�
��8��3�vb�A>%�<u>���yS�1v/=�]Q��եG�[w�Lkq�._Ԣ���^�օ\ɲm^���^໢M��Z�f��,Ӽ\^�0��/�7/	�|�8�@<��'�eGF�����1�j�D�l��H��<�v?9 at oʕ��;SBP��f�B4�7�>v�^L]	ʉV���Z�e���8 .��>y1�|��
��>
+#'YM>}�N
+�o
�X
9���)��p>N~��m<�
HH�i�K|D5���;dB�
�����9
A�N?px!���:���1���A�p�zE��
�:�!}5Uë�Ĵ�5�2�h�#48�F�^����E��9h侗��H�_n�DydsP�<$��QD"C�3����^Z�?��8����#���-�w>c' Lk�+������}�n*EZ�
u�����z�/�L
@�T'�fOulUU�+������k�^}Ƙ���B��'fN�	�2�%�|�G���J�z�����Ҍ��@|������^�e~+�VѶu�Pj���2�i/	�#b��V�<=m4����W�_y_�9����1�g
J�Шxwvq�>?�Yn)�rf�h���:�֐�
3ќ�)#�{�S��ҿ�8U��.{��`AV�r��.�����Wu=����k���
���/���ѓ�
ʎw|�$����@[��{<�!q`��T,8`���j������h�C8=ꁚJui���H�ȳb���^��gF�$������=�d�T�����v�����
��(�\�}�60��z�FG��"�S#���)����B�F-
"�iy.[�ڹ [...]
+��v���v�!?f�n%>Zn�wkY��JB>�����f�
��>‰r)ӱ(��kqݪ�7$4�����N�%�Q�7&�%8
"a
+�0�|n�p�Q�M<B\���0��Ђ�A
F"��ԛF���䃦���/�/��G�N�g��|%��D#LT�x±����n�zʧ8���>u4 ٽ;��g)���ue���hjm�P`��.�P��Ge��j�ҴK@��oL���!�i�H�	���c��]vfSޘ1�D-�V��_�!,-��(�0(4��
+��Ǻj�6ߒ6�m�������(T\UE/a�
Q䇉��Vt`ĮP$ �	��]H3���������uU�-c���M��<6� �9*��SH$RX"6���V�
pO@�Ɗ�I�u�Kr��Bx5�{wH�A��E�u��jw�����6��M�G��+����KY�z[ ]��j�������R�zW)����'۷ݓ���e�Ο�Q at QH�C����m�V$!D�h���;3����������܈��kc���1���yS�}�]#`���{ުWE 
+�9��>�dm��]\,6�F�K� �{�h���m$��꾦�ŕ�=�"x��q;�8f���V��!��V���g+6~��k�!(
+endstream
+endobj
+14479 0 obj <<
+/Type /Page
+/Contents 14480 0 R
+/Resources 14478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Group 14449 0 R
+/Annots [ 14462 0 R 14463 0 R 14464 0 R 14465 0 R 14466 0 R 14467 0 R 14468 0 R 14469 0 R 14470 0 R 14471 0 R 14472 0 R 14473 0 R 14474 0 R 14475 0 R 14476 0 R 14477 0 R ]
+>> endobj
+14448 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 14492 0 R
+/BBox [0 0 244 220]
+/Group 14449 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 14493 0 R>>
+>>
+/Length 520
+/Filter /FlateDecode
+>>
+stream
+x��U�j
1
��)�3��;���B(zh;�C�a�?)!)4=��+{lﬗ�{-�aW�F��O��x��Y��|�� =��p�Ex�YΟ���/��A~O��
pD�+B��d
�@A|�����3|S�k�p
�QC/%)�G�

XJ�Ic�`�\�� 7_�� �����
�Ϧv�A���98�0����
"R�!I
k�b�1I�8��]4���EE��)�%
�muy��/PwE��`2ء."�a��s�@�Mf
�~�t�:�Z!�nʼn�`�%٩�¹��œLHU����ۺQ#.�Pd㒥R� ��Ƶ~5X=�6�m_S�-U7z�w����E}��W@)��v_|��_�aCy�;P
R��Z�	w�{r;����fY����!6kMsޣ�w�9Yq�߶�ߢ��ě�HKiz:�==t���ԟƑXa��Z��hK�Ƙ��	j���
+��r?���rҬ��:����N�|���<�ts��<z
+�Joa_���6�_9%�[�m�Y�r�U�n�6-d�Q��o0w��
+endstream
+endobj
+14492 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+14493 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /NHANRN+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 14494 0 R]
+/ToUnicode 14495 0 R
+>>
+endobj
+14494 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /NHANRN+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 14496 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 556 556 278 944 500 556 667 584 278 611 500 584 722 556 500 778 222]]
+>>
+endobj
+14495 0 obj
+<<
+/Length 14497 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0E�|���"�l$�T�}�i?��C�T
2d�����R�HA:������sk�U��n�ZE?X�h�nN���:�H��
ze
+o=�9�}�e[V[�OQ]�����m��d��
"!D��
��^���|�_��<��HvI�4�P�۽��U�$�P|l���v�e��L"
,1��
-��䔽RT'�iD����Ț�,CY��o�B���IR$M�4P)AY�*�P��
T"�T�4�]N�b� *@
(�@9w1�q�d}�L�	�)�W�O����I�~eb?��/��~��K�<�|�*�	��g�_Ι����]����S��*\7��~���޷Jߜ�
V9lҾC�����ӼW��/�[ʥ
+endstream
+endobj
+14496 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NHANRN+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 14498 0 R
+>>
+endobj
+14497 0 obj
+366
+endobj
+14498 0 obj
+<<
+/Length 14499 0 R
+/Filter /FlateDecode
+/Length1 2792
+>>
+stream
+x�UV
l��
��/��p�~5qB��8	I ��cB��8/'��
�M
BpH�G
4��(�B�B)tе�Z�>�UӚJ�&�6
�D�2�	F�t��k����������������#��"U��ҵ��]��]B�`vr��ԯ����0�
Y����	Ij�\Y�s,
�!������ʳ�/��;<�6L�Q'!���GÛ��&��
��8rX?�F` �֢ͳh-�L-���uvm&��5b]�
b]2y��WQ�Mkq���i/�lp��f-�$�N��|5SL��.�k����\��Y�f&f&��te��h��E�۠�Y���q9+U�J��:�6�R�s�-�i���Q^
+��$%ٌ��PokORJ���銬���eK�+Ao{ƺ��2:���:�R![��W��7ٳ34���23�h/()�>m\Ы֨K�P�x�x�)}5@)�PIE��zB�PKnMA��~ƚ�K��z�RQ��:(�
�X���j��n������.�kp6��ąbC�a�E
Ź�z�t��<#}4�J�N,��c��
Q,.V=��v���v̍MS	�'��\=����dU���i���
#c�G��:�Vf>����Gh⑖诣����E	��1��D��B����7}�N�35р�����SA��]�Ӆ�9fm演��w�f��é>�)+�Ҥ�ۉނ,
�Gv�s����V���<ߒ� 
r�����5����ji��kb�BW=�&$�b4�[L��c2*,\aHgT�N�E�[H�|���F��3
�Nj��e���4��z�e'����,�ӱ:n�L��
p�3�jm.Y��	�&� ؏�z���Z�ᅭîWkC!ou ���]\t����+h��`��{t��w� � �
+n[����9�HK�aKf�����
���`s�
"8f
0�烃q|e�A
+֥�

qZ9s���
6�c����l�Z�	`յ+�0�V
�1�Fg
�|���юޱ�L����|6?W���lD�_?�L=����G��1ف�
�dB�<�}S���Ȗ���U?�!��_�[����8�>�)
/��Lݣ�2�&�V�7w�
U~���]��H�Т%<n�?-6M$v�g��r
���OE�h�V����ً���A����g��TEt�C2#!��&�bK�6A4S�g������"?z�����z�]�=���� ������R�l�̆�
KF��Pb�����
2��z�&vl��n��Ѿ�
۟
:�c�d_�?�Ƚi��"��\4�D�>��j)r�8�'��a����}�-O��i�
Q�LU�|������g::��TW���[�jA��}M��(�7Gz�D�z��qt��u�?�ېǬ�����/f
��J�� m���6�&�/����D�(r�R���NK��}�������V��`+ S%g|a1���������a���}s!g
����.��In��
�C��x���ty�5�"O�ȇ}�]+�ݦ��'�K��:cMe��PK�(7˦���_��t �9����bf�D�z�
r�4'd��~t5J[~
_�/�zs�'��ƆϳkS�����{9
K
�t9��4[TP���Ҋ�//P�܅������b��
��p��|9�of}�u�*�MP!�\�����W��^y��]��$�%��Q+n�����==W'�J�QF�n����7N*��񕃷�B�o]�LW]�2yN�������-ˊݍ��q94r���� r��

LMW��f�J3{�B=����E
H��*�N���A��g�[b1�$㗋�BI�ro�m��'�r*a�D�}R�#�&
h�x�� ۀ|5!�2H&ṒM�
�c!q��]��o/�I�x�R��\��o���\��sR��nB&�D2��p[�B:_~��L�����㟕}B��	�Ŋ��B���Ա��
��:���
c̑P&(��j�e�HF@�|��`�&�G�ؓ>r;Y)�<ak��V��gҁ� [...]
+endstream
+endobj
+14499 0 obj
+2094
+endobj
+14449 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+14462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 410.114 186.747 421.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a153e3f99decdc5f5e6783237f663aa09) >>
+>> endobj
+14463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.723 410.114 300.469 421.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a28af0b7829edd2cb5aab92b1883290a5) >>
+>> endobj
+14464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.979 410.114 361.061 421.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+14465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.31 410.114 401.18 421.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a4be685ffc90e4a9b9d45930ca3d75a25) >>
+>> endobj
+14466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.124 410.114 483.77 421.017]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ab604291f1f371f7c8bdf7c4f4d799954) >>
+>> endobj
+14467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 382.007 160.814 392.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ade76cae38d35a93f595ca57a1be076d9) >>
+>> endobj
+14468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.791 382.007 274.536 392.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a28af0b7829edd2cb5aab92b1883290a5) >>
+>> endobj
+14469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.047 382.007 335.129 392.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+14470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.378 382.007 375.248 392.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a4be685ffc90e4a9b9d45930ca3d75a25) >>
+>> endobj
+14471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.192 382.007 457.838 392.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ab604291f1f371f7c8bdf7c4f4d799954) >>
+>> endobj
+14472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.562 354.274 226.308 364.804]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a28af0b7829edd2cb5aab92b1883290a5) >>
+>> endobj
+14473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 326.167 171.514 336.697]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+14474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.253 326.167 214.124 336.697]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a4be685ffc90e4a9b9d45930ca3d75a25) >>
+>> endobj
+14475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.356 297.687 196.002 308.59]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ab604291f1f371f7c8bdf7c4f4d799954) >>
+>> endobj
+14476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 269.953 150.493 280.484]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_af28c7cc73f024d7be76270575e408e07) >>
+>> endobj
+14477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14481 0 obj <<
+/D [14479 0 R /XYZ 89 770.89 null]
+>> endobj
+14482 0 obj <<
+/D [14479 0 R /XYZ 90 429.213 null]
+>> endobj
+14483 0 obj <<
+/D [14479 0 R /XYZ 90 429.213 null]
+>> endobj
+14484 0 obj <<
+/D [14479 0 R /XYZ 90 399.372 null]
+>> endobj
+14485 0 obj <<
+/D [14479 0 R /XYZ 90 371.265 null]
+>> endobj
+14486 0 obj <<
+/D [14479 0 R /XYZ 90 343.159 null]
+>> endobj
+14487 0 obj <<
+/D [14479 0 R /XYZ 90 316.778 null]
+>> endobj
+14488 0 obj <<
+/D [14479 0 R /XYZ 90 286.945 null]
+>> endobj
+14489 0 obj <<
+/D [14479 0 R /XYZ 90 241.042 null]
+>> endobj
+14490 0 obj <<
+/D [14479 0 R /XYZ 90 181.737 null]
+>> endobj
+1947 0 obj <<
+/D [14479 0 R /XYZ 90 69.411 null]
+>> endobj
+14478 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im20 14448 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14527 0 obj <<
+/Length 1818      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ P %�j���Ph�uN7Qч8(j-��H�����w� ER���r�}0Lrwgg������~�<
����
+Q�QϚ^Y!�|7D܃����v=�|���� z�J}~�������
�NG�G��E� ����W��5��/,�XX7j��r)����~��]0�\>�F3�E
+9��j�J�V�`�Θ`��
��vT��]}�Pj)��!����5��0r}�Q��a��S��v)�ŀ
+G
+�
`���U2+����dr�Z�b%�*��<�L���EU���r�/&e*�͓l��)��K���K=�Ѡ�jY�]O�(��G.������3=	x=e�x�.��*��Q�aX�}z��giT*I֘y�صƄ�����
l��*�)
�w�
+
*
+��BY�&�ə�[��
fSh���������~I�e��U^�B�0E�^�4�r�,a���/¡ܾvp��CW��`8��p��wI����3��LΐPw������
��)Z.�0��� �ss�K�^!�0�E
�P{�f�N�X�^�q�e��{  ��;,�]-�R�Yk}s"��zH�C�0~�NM�f>�)�ڱsf�"`~�v��j�9Xc�
��S�ɇv{�
+�c��`v�G͢��ԙ:�x�d2]�\��| NB(���v��AO��*H�4��L���>�DU�]�� �gv�!�P�sH��9"w�Wj[dy6��v��K�R�/Un����r
ۥ1e�[FC����p�?5��|&����zp�7���=�Y(�
��`H~-V3Q��M���x�yа�+j2����s
d�&
S7�ز����Pe(y�I�P
+T�����>!�4nKJ�\��K��]
>�i�,4=�0�8��cX�`|W#!����΁�<�q�V����QF
=��h�&�� Ǯq��qX.�5��(��x�4c.���Y�=(��~Y'P�U Ӱw�קK�Y��/vb0��:�>WF�9mҞ���p��plH fZ>�S�&8�$ղvɵ0�UU��
��M%�#��#�H9x�b��|e�bV��2�a�!��X�2�_
	
cƦp�
�u�'Y��0�r|���Y��Ay;��J�S[.��	/��̳
��-������>*F¾��T�e�m�j� 

|1g02�$WzN��:���}�1�c��c�wAm�P+
�

{�<���Mq���

�
���t,�P��V��Z�5y$N�
F�5�a�b� �
�')DTJ4��<KMJ��:u�*�	��ec�C\V��8�F3�"�
���M�)"v˶�����ڌ��+�g�5s�ǹu
+�f��9�̘h
�l�Z�����Rd�0�>4*�}��!��R�2��Uv=7J�������H���
t��/eT%%�&T̿�JA[�\DLC����$UI
�Pn�E��SӞ��lp�>���UݲhL1�Á��W�Z�ݝ�c��M�	��
�M"�%gU�Q�>�Ǧ��B*��!��t�5
�� �i�n5 �P�%�u]y�6v���A ��:*
����'�1Tu}�|��U����.��x��ғ2����m��؃3Ё�ž����?�gn:�&�L�1��M�ao�jYW���v;���6��WE�ꅥ�<Ms��M���A��t#g�f����o���H��-A�}�j-��a�3�.L|������ט'�+f=�A�V�䍷q�Nm��3s��\\���� [...]
�Vy�d(��RDC}��sP� 
+endstream
+endobj
+14526 0 obj <<
+/Type /Page
+/Contents 14527 0 R
+/Resources 14525 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Annots [ 14500 0 R 14501 0 R 14502 0 R 14503 0 R 14504 0 R 14505 0 R 14506 0 R 14507 0 R 14508 0 R 14509 0 R 14510 0 R 14511 0 R 14512 0 R 14513 0 R 14514 0 R 14515 0 R 14516 0 R 14517 0 R 14518 0 R 14519 0 R 14520 0 R 14521 0 R 14522 0 R 14523 0 R 14524 0 R ]
+>> endobj
+14500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 596.35 169.86 607.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList) >>
+>> endobj
+14501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.107 596.35 250.943 607.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element) >>
+>> endobj
+14502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.198 574.207 158.51 583.074]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.008 574.207 190.32 583.074]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 544.146 169.86 555.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList) >>
+>> endobj
+14505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.107 544.146 250.943 555.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element) >>
+>> endobj
+14506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.198 521.212 186.744 531.139]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a91570d4eb002ad004ea2fdef91ad6dde) >>
+>> endobj
+14507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.242 521.212 246.788 531.139]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a91570d4eb002ad004ea2fdef91ad6dde) >>
+>> endobj
+14508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 449.496 169.043 460.4]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_aa5c76d2c66f8173ec0dd35acc844db46) >>
+>> endobj
+14509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 421.202 176.792 432.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_adc4d2cd573e5a4cf737ad7fba027b171) >>
+>> endobj
+14510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.909 145.222 403.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.145 392.909 169.274 403.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a3e7dc86a08b4fcd5afb54cf3d921ea1c) >>
+>> endobj
+14512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.824 392.909 409.906 403.813]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler) >>
+>> endobj
+14513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.008 366.134 243.033 376.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element) >>
+>> endobj
+14514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 352.66 145.222 363.564]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 352.66 168.176 363.564]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a7e590338a93fccabc6523fde997f8d73) >>
+>> endobj
+14516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.992 352.66 203.304 363.564]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.084 327.141 148.995 336.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a80ba640b32901e54e1d60d760c74fa90) >>
+>> endobj
+14518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 313.407 161.013 324.311]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_ae955347d214b5ca7f04fcd6b7d53ee9f) >>
+>> endobj
+14519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.114 145.222 296.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 285.114 169.701 296.018]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a820628e94b7462dfe1b6f779e42d6ba5) >>
+>> endobj
+14521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.194 145.222 267.724]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) >>
+>> endobj
+14522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.721 257.194 162.099 267.724]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a80ba640b32901e54e1d60d760c74fa90) >>
+>> endobj
+14523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 228.9 150.493 239.43]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_add253088cfcc2b16bb6393925f956b8c) >>
+>> endobj
+14524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14528 0 obj <<
+/D [14526 0 R /XYZ 89 770.89 null]
+>> endobj
+430 0 obj <<
+/D [14526 0 R /XYZ 90 721.073 null]
+>> endobj
+14529 0 obj <<
+/D [14526 0 R /XYZ 90 613.545 null]
+>> endobj
+14530 0 obj <<
+/D [14526 0 R /XYZ 90 613.545 null]
+>> endobj
+14531 0 obj <<
+/D [14526 0 R /XYZ 90 563.331 null]
+>> endobj
+14532 0 obj <<
+/D [14526 0 R /XYZ 90 468.689 null]
+>> endobj
+14533 0 obj <<
+/D [14526 0 R /XYZ 90 468.689 null]
+>> endobj
+14534 0 obj <<
+/D [14526 0 R /XYZ 90 438.661 null]
+>> endobj
+14535 0 obj <<
+/D [14526 0 R /XYZ 90 412.094 null]
+>> endobj
+14536 0 obj <<
+/D [14526 0 R /XYZ 90 370.119 null]
+>> endobj
+14537 0 obj <<
+/D [14526 0 R /XYZ 90 331.126 null]
+>> endobj
+14538 0 obj <<
+/D [14526 0 R /XYZ 90 302.573 null]
+>> endobj
+14539 0 obj <<
+/D [14526 0 R /XYZ 90 274.279 null]
+>> endobj
+14540 0 obj <<
+/D [14526 0 R /XYZ 90 245.985 null]
+>> endobj
+14541 0 obj <<
+/D [14526 0 R /XYZ 90 199.684 null]
+>> endobj
+14542 0 obj <<
+/D [14526 0 R /XYZ 90 140.296 null]
+>> endobj
+1948 0 obj <<
+/D [14526 0 R /XYZ 90 69.317 null]
+>> endobj
+14525 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F22 2996 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+14569 0 obj <<
+/Length 1744      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~��0�����U�a@��Czټ&{j
C�[�,������;)�rd�M�t�h��s���
I��
��>��fp�B2G!�R׹�uv$WH��+t�
	FR��c<��
��ҟNF�x��a�O_G���6�������<J��i�Gc*�����s�|�ou6"�P'|U�zC�ч����n��1r$='X�}�N�_:1�9��NK�S�ع
�5�V%��(���*s����~ҥ 啂w�!�E��UCV}R1$<���!q1�R�Ę������b��H@��ĻGcoh����{
	$H�hK��:wWf�!��,+3�"���ʖ�@ƚ�����PgUK�j�]�p��@g3�rĸ2S>3�/2m� i�!ӫL�:)�dn�����~E�Y,�|�����Wi�.`D�J	��Ŏ`��\ʍD?DI�Cmz��۞�U
+`�񧎹$��PwX�b�Xt���\Qw���hKI�	��	��*Y�,*��V/��y�/͏�43
�?�Ɵb�e
��'ЫqmR+��oʈ��aD���e��v��
i_\\-)q����Cq�
1��V���9f�c�'�P1���7z9әi�X'AŀNu����$*E[���T��:����(+�~l?��gs��۪S	X�f�pZ���v����ô��{�ف�����fX������=��!K &)�D1ǃ�]^1��a%#9�iy��u��-�\�QRh��"m{�&�Q���f
���/tX
��4Nk
��Y�(��{�(�c�n
�X֝�E��N-M(A����,��`%)x��&��\�$٪�pGhE��UC�� 
+��P9D�:��E�
+&���P�rj�#N�N%�,M�x̟����F�
Ek�v��a`z��
��E�
���&?�tN���9�3��#��f���rX_���I
K
��H ��=�܅�'�
��~��P0�ϧ�n�t�H�B���ˣG#�U�ۡtm��P�R��(�u�yQ�`QލR5~j��Ȗ���	>���xIZ�2^�ᶸ���;byb\=ۓ��!F�C��E�Ӥ'IU��{#
Az0�wg<\�����C�� ��˲|��J&��5n�8�[�fYU�'A�X�:Ph��<v�{�R�~�uR�d�WQ
�T��)v
+���]����k���[�:D&���@&�Nd���S+��,
+����Q4
���!��"��L�|����I~�b�9,�7`w�zv�m�c�·�����WW��c��P�̣<��Y�X��\�sE�S���aX���*߀�~�
j��=�|
k�H�dx�����N�A~�PIY
P��ԥ��n�b��be��A��7�M��`�'�X_-�/�X��Dw)o‹�l�*0a����a
�E�9bǘ�p��1R�
��A�Vb�Q2��(
�1#����jp~��Y�����i�"
�n�np���=�6����Q~BUG1FR��+�{�g��i����=-6+}<U� V��Ԏ���lS���6���J�����ǹF��)n3�o?�zէH�w��L�Ȝ{���@���x���ZI�'��쥟���ڼ�׋9��[ �W��wq�9�>�.�:�vw�)�a����njL&�M��\g?���Z덟4���O%�:�ގTai�굮9c���9�5�n2v
(8[�E���������(0i���
=Tu�X�Һ� ��s�*%��
������-a�0���gض�3��k�� c�


+endstream
+endobj
+14568 0 obj <<
+/Type /Page
+/Contents 14569 0 R
+/Resources 14567 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Group 14544 0 R
+/Annots [ 14545 0 R 14546 0 R 14547 0 R 14548 0 R 14549 0 R 14550 0 R 14551 0 R 14552 0 R 14553 0 R 14554 0 R 14555 0 R 14556 0 R 14557 0 R 14558 0 R 14559 0 R 14560 0 R 14561 0 R 14562 0 R 14563 0 R 14566 0 R ]
+>> endobj
+14543 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1PIP__Decision__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 14583 0 R
+/BBox [0 0 212 192]
+/Group 14544 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 14584 0 R>>
+>>
+/Length 420
+/Filter /FlateDecode
+>>
+stream
+x��T�N�0��+���x�m	�P	!!q "q�z�j�(~�q�N[N(Jf��?��B�@�_CP�"د�	�Az�����l?���S ���*fs@���p��-� #n��+4�m�E
YS�ҙ�
+N%���j��%�	H
�$�!��e�~ڈ C��'��0
j�NL�V��4k1�BD��KR�ʘ��u�&���FM�z8VX
+�R6yBNm���S�3�E��X�l�
g+�����rP3�Ҥ(O��'[s;j���	�ս]��	b[��qj�)7F�p�r��4�h��qڮ���x�J�lO=Yʔف�>��������7�O���Q��@][4��ؽ@.����?j��ݕ�|c��5�`9�i�J�]�:'�+X������XQI�k�\����xa(�鐝�OŽ�t�
+endstream
+endobj
+14583 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+14584 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /PCEWGJ+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 14585 0 R]
+/ToUnicode 14586 0 R
+>>
+endobj
+14585 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /PCEWGJ+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 14587 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 722 500 500 556 722 611]]
+>>
+endobj
+14586 0 obj
+<<
+/Length 14588 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>�]N��љ�P������T�1Dg��7�)4����s��I/�sc���w7����
���)����IDNzPK��W��I���:/<6������Ë��V�=�㇄��7��
�J��K���f��lʒ�&ͽO�"�
��`�7��ò��/�s�Ly`�'�I�l�b'͕�*󧦪��N��z�����[�.|x��Y
(t�C�S*�iP	_:B�t)�#��Agh� 	*A
� �@E̢��,
�/�
d ���H��
+���(�)�� �WDB}e����wۅ����9?��0a^ۤ������\���
�^
+endstream
+endobj
+14587 0 obj
+<<
+/Type /FontDescriptor
+/FontName /PCEWGJ+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 14589 0 R
+>>
+endobj
+14588 0 obj
+319
+endobj
+14589 0 obj
+<<
+/Length 14590 0 R
+/Filter /FlateDecode
+/Length1 2024
+>>
+stream
+x�UU{l�U?���W�Z�b}��ֽ���؋u[����
+���Ѳv��@�!�0�	
Q���13�h�b��
�1��`�A
�����~݆~ɹ����{
�sν@  	j�B�p$��
� �
��>0ڹ?� �H�wF�r����{� nHާ"��"o
F�N�VK6�B����p �	u%��	L��i�!�
h�@G�"���:E�N��S����o�ť�&ڌr}(B�Tx����0(tV���:l&
����;�8���\�om�_���	�*]���0ɢ�P�G�4
+��tpV�Z��N�Ԡ7��n�Ir֐jb3��$��QM�E*�Kz-0R��bИ
$��΁��
e�ڪ
�FSuyE����g�l�r����ktsJ��ݷEkZ�)�HJK�YY�������pP&�{�0p��B���N���!�UK\>���XoNS�˴e��ʶWr"<ӈ���gtŲ44������V[�(������J���@e-���"c�~?	Y��M��+3���к��
H�:;�[�`�jGc�
��~*�Q�vr�V/Ui0v���'�f�cS��F�����I��^{��
I�k�|��ƙ.,3g����>�c)G��S�M�6��
N�6��L�f"���{���ي��i.��R��lxM�T���|8�_Q��U\8�
+V�d}Am�כ�Z���%cβ����.����{�X�X3cU�:�<�F�
8�t"�z�����)�I��;j��_�
?�r�e"S�&&���}���ںc�г-��"*v�lK��x>D?3 =U�z�
�k"t{Շ-�N��/���'|>w����ro������]$��돎�
F1~*W�^	�V��)>"A�
��]
+uh��J�1�j���׋ű�ʮ�B	�
�AʥC&�8��9,��j��Y�
�M����Xe�
t���y/����S3G��'ף�ў�XB'K�M̭`��U"�

+9�7�2
�jcap�6(��p�I�:8vȥ���#�C2���αK��X,<O����'�
?!�U.�}
s�C	1,#��Vw
�Η\kkh�p��}ɱ�����}�﬌
��167s��P�����*�3b$�I‡RRBP���0�K֓j�v���d�h
�l��E�\U	��h�7|Uz��Y��N�����4o��,�
�L�tW��~�����7��\���;�Ѕ��
+km���,�p�{�Xi9�o<߆��"v)B����#
+:��w�)�Υ
8�S��]N���<֧NM�
�*zt� =��-dDĜ�>!�l1���<���8B<ΚY��B�0k���y1V��$�g��2�ӱ+��[_��ՠN�����/�gT�I�D��o~�����to�<g!�
+�p�必^ɭ�{�*$���}Zz	��,��"($�������#o���@��
+׸f�,$���� G�7��r���
h��
C�3�w5��W��A������ԏ�.z*Fµ�]�y��J�/F��x3���{�Kp-9��fA��\ĮهQS�OY>���|��
+endstream
+endobj
+14590 0 obj
+1537
+endobj
+14544 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+14545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 378.118 208.246 388.648]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 378.118 239.787 388.648]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c) >>
+>> endobj
+14547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 350.535 233.508 361.065]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070) >>
+>> endobj
+14548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 322.952 178.996 333.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71) >>
+>> endobj
+14549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 295.369 249.281 305.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+14550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 295.369 305.729 305.899]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) >>
+>> endobj
+14551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 267.786 247.638 278.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+14552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.608 267.786 302.989 278.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a058de183d237813010822dc5c734ce5c) >>
+>> endobj
+14553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 240.202 203.265 250.733]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.235 240.202 257.501 250.733]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) >>
+>> endobj
+14555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 212.619 179.743 223.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.713 212.619 233.979 223.15]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+14557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 184.663 181.845 195.567]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
+>> endobj
+14558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 157.453 176.505 167.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428) >>
+>> endobj
+14559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 142.615 450.955 152.52]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa) >>
+>> endobj
+14560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 118.538 220.22 129.442]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 118.538 317.355 129.442]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6) >>
+>> endobj
+14562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 90.955 220.22 101.859]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 90.955 331.582 101.859]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) >>
+>> endobj
+14566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14570 0 obj <<
+/D [14568 0 R /XYZ 89 770.89 null]
+>> endobj
+434 0 obj <<
+/D [14568 0 R /XYZ 90 721.073 null]
+>> endobj
+14571 0 obj <<
+/D [14568 0 R /XYZ 90 396.582 null]
+>> endobj
+14572 0 obj <<
+/D [14568 0 R /XYZ 90 396.582 null]
+>> endobj
+14573 0 obj <<
+/D [14568 0 R /XYZ 90 367.265 null]
+>> endobj
+14574 0 obj <<
+/D [14568 0 R /XYZ 90 341.408 null]
+>> endobj
+14575 0 obj <<
+/D [14568 0 R /XYZ 90 312.099 null]
+>> endobj
+14576 0 obj <<
+/D [14568 0 R /XYZ 90 286.21 null]
+>> endobj
+14577 0 obj <<
+/D [14568 0 R /XYZ 90 257.6 null]
+>> endobj
+14578 0 obj <<
+/D [14568 0 R /XYZ 90 229.349 null]
+>> endobj
+14579 0 obj <<
+/D [14568 0 R /XYZ 90 201.766 null]
+>> endobj
+14580 0 obj <<
+/D [14568 0 R /XYZ 90 174.183 null]
+>> endobj
+14581 0 obj <<
+/D [14568 0 R /XYZ 90 135.641 null]
+>> endobj
+14582 0 obj <<
+/D [14568 0 R /XYZ 90 108.058 null]
+>> endobj
+14567 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F24 529 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R >>
+/XObject << /Im21 14543 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14626 0 obj <<
+/Length 2025      
+/Filter /FlateDecode
+>>
+stream
+x��Yko����_A��K�xf�����k;��l[$
�&�6�|���5����y�)���AQ��(j�̝�<�k���O~ZLN.\S��PG[<h>�\�G��b�n9����g�t<D|v���>�,�ow����b�eB�'�	`#�Ӣl��7����g
#����bQ�YԄ�T���}��,Q�?�%`�%#"%�W���aQ�bcJ��_��U��b�GMR䵐�;C}�\8���A��i��ؕ��)�{���Gu�������X�_΃3%5
�1�m�E���gl��iԏ#X|�AXG/�F�\�75.�X�bp!ǢڔX`e�wE�b
!O���tI��z�
M;,�\8d\IJ%�I�,�Ԙ��Eo�9_�,�aAާ,\A��TȗqΫ`�1��2)�wS=N2�

4/%a���hX��iP�a��t(�TD��,�u�۶T��y���1��&(Y
'�c -&ys�ݝ��\�X`�vOpǾ,Y
�
u���	��Pd[�UxOX%�v5�7��eX���;�ߛ�&�C}|�@����eV��Y��ҳ�ee�.�I|뼑�X�T���paض.Q����l��������
��|�㩵��0E2����N����\��V�3w|���S��}Q�=�����u���7* �Ry�X{
6U��>��R��	�
d[v{���% [...]
+��D�	"����X�3_����wH�C
���kC�Azh�N��u�1�}�}G�Z:�z�Ё�A�]�^V<7�f (
Mu�f�lf��s$��g+��i�V�/�J+��>�
�uw�x�M���8����{�`
�G8�� ��[]vj���~n�eX5� ����3��R�Z�"��.�F�K�d)��p]��._4O����[eX at k
IjE�)�zk@��l��·Y����dL$�a6�2�
+�
�p�e�\8|jRH�Tn<�
L���`����!9�T6���83�2-_��6�
�vƚ0I[�3VGUR�3w�� �Uz���N�zVV��x�%߄�#V�����h
(r����H���@
���W>�hw�E��)0l:�j��nQ���A@*���
+;Oy��l �C���|uW�ё�Y?p���j۝��2EOO�
E�*���PM
a�^�Q�Ԃ–��]$��yx�fz®����P�Gv�m߸&q E�6`��fT{77L�CB|ybq5"�
�o#�gZ�W�}��=�e6��5"4��r�F[Ǥ-�&�
��2V��-{�_X��+
K&�$�X���<�3`f�|w�x�#���=N����*]M|�mY纥�H�1�h/�E��r��$�ҥ�ăze�PսA��a�ȵ�����d{ϱ{uoO�ri�ϛ�н�
(|aX�
%{���
+Z�/���	�æ*�`�\�
+n�s���{������}p��=]���א�
��r�~X���
@��ϷN@���݄�p�z��͹��c]�"�\�,
�V�T�����մ��H��3��آ�(
�
\\��-^as�6A����範�6`F�
����w��+o9a�����W�o���G�놷?s����;g�1ԥ-#��)�l&� \�Ҿ����+��o�&oU$�L���`z
��@O�<U3�Dhtٴ��!���@�hբČ����+J��(�'�I`�����H1s�������1���R�0�Z���V�����e��u�� B�C� ���
b��|�I�L���L��������Q +��9
X�p�H�5^D[z7�hE$d@������9����G[�����Da�x��ϼ_
G����9`vj
�o�����l_��
;&��Z��ڳ��ݣ^�\f�vV �
+n
+x��h<��!o
,0�Z����+��f՟��N�u�w�?nO9ʪVM8A"�15���uS4)��ؿL�_�Ƕo��>5M9;9�_>B����"ی��f���EE����b�l ^f��GC��o17
+endstream
+endobj
+14625 0 obj <<
+/Type /Page
+/Contents 14626 0 R
+/Resources 14624 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Annots [ 14564 0 R 14565 0 R 14591 0 R 14592 0 R 14593 0 R 14594 0 R 14631 0 R 14595 0 R 14596 0 R 14597 0 R 14598 0 R 14599 0 R 14600 0 R 14601 0 R 14602 0 R 14603 0 R 14604 0 R 14605 0 R 14606 0 R 14607 0 R 14608 0 R 14609 0 R 14610 0 R 14611 0 R 14612 0 R 14613 0 R 14637 0 R 14614 0 R 14615 0 R 14616 0 R 14617 0 R 14618 0 R 14619 0 R 14620 0 R 14621 0 R 14622 0 R 14623 0 R ]
+>> endobj
+14564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.45 197.257 696.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea308fdc) >>
+>> endobj
+14565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.594 685.45 307.941 696.354]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+14591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.222 657.871 223.528 668.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
+>> endobj
+14592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.67 657.871 304.803 668.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.689 657.871 395.332 668.775]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.267 657.871 513.996 668.775]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 645.916 138.04 656.82]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.916 645.916 349.58 656.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+14596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.115 645.916 475.891 656.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 619.498 365.997 629.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+14598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.815 606.382 207.648 617.286]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.423 606.382 237.297 617.286]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_afab20885083717c18371349d4c182481) >>
+>> endobj
+14600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.438 606.382 318.571 617.286]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.645 594.426 267.421 605.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.423 594.426 375.066 605.33]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 579.964 328.634 589.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a740610ebd6849a2b7058991fa52071f8) >>
+>> endobj
+14604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.985 566.847 203.712 577.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a9be1cd3f6bd0582f6a60bffe2d72d2cc) >>
+>> endobj
+14605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 554.892 179.554 565.796]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 286.565 244.968 297.096]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
+>> endobj
+14607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 286.565 355.453 297.096]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3) >>
+>> endobj
+14608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.442 286.565 474.994 297.096]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) >>
+>> endobj
+14609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.85 271.729 248.745 281.634]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 258.986 243.862 269.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+14611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 247.375 248.734 257.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c) >>
+>> endobj
+14612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.191 247.375 403.507 257.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a31110533316a56c835287f82cba44ab6) >>
+>> endobj
+14613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.964 247.375 513.996 257.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
+>> endobj
+14637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.419 140.252 245.606]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1) >>
+>> endobj
+14614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 235.419 291.902 245.606]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) >>
+>> endobj
+14615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 223.121 306.836 233.651]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) >>
+>> endobj
+14616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.85 208.284 248.745 218.19]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.395 183.213 318.172 194.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+14618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 113.868 169.043 124.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
+>> endobj
+14619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 113.868 238.502 124.771]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 169.043 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aeffbd9c469a175051d71f3fd7fb525d4) >>
+>> endobj
+14621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 74.333 238.502 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.885 74.333 400.662 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14627 0 obj <<
+/D [14625 0 R /XYZ 89 770.89 null]
+>> endobj
+14628 0 obj <<
+/D [14625 0 R /XYZ 90 704.286 null]
+>> endobj
+14629 0 obj <<
+/D [14625 0 R /XYZ 90 704.286 null]
+>> endobj
+14630 0 obj <<
+/D [14625 0 R /XYZ 90 674.973 null]
+>> endobj
+14632 0 obj <<
+/D [14625 0 R /XYZ 90 623.483 null]
+>> endobj
+14633 0 obj <<
+/D [14625 0 R /XYZ 90 583.949 null]
+>> endobj
+14634 0 obj <<
+/D [14625 0 R /XYZ 90 504.383 null]
+>> endobj
+14635 0 obj <<
+/D [14625 0 R /XYZ 90 504.383 null]
+>> endobj
+1949 0 obj <<
+/D [14625 0 R /XYZ 90 410.428 null]
+>> endobj
+438 0 obj <<
+/D [14625 0 R /XYZ 90 403.337 null]
+>> endobj
+14636 0 obj <<
+/D [14625 0 R /XYZ 90 303.03 null]
+>> endobj
+14638 0 obj <<
+/D [14625 0 R /XYZ 90 212.269 null]
+>> endobj
+14639 0 obj <<
+/D [14625 0 R /XYZ 90 132.703 null]
+>> endobj
+14624 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R /F39 2320 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14699 0 obj <<
+/Length 1942      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w��~���ij��IH\rڇv��^��LҞ�I���j�ə���l�����]y0!���۷%���`�ѷ7�����(����;!v|"����qL0�ɔ`��W��q����	��b�4iG?gwe\>]^^�����		���\,&S����<�R_~��~,�D���#�y|��͏��oF�F���bp�N�}�
;)�����
�s=h�0���ܹ
�w��F���������*
	

�D�V��U6OAF�~�T��r�x�Ouc?f����˸V.�l!r�y���[BpwM�!�R��^��Q��(`�s��5���YF�O+�
�W��ߤȥd�8�re4��w� �
�(� `� <D.�|�ń�R��~wd�8����g.�p�5��-�_��_�ș�E�x

+y���Y!�v#
�q���,O�D��E����~�Y��Z���c\�
!]�8%Ͱ�����.�D��w�H�����5�
xTV�KT�z㜀��ޔb�����(�z�[J��[:B�*~9�
�>
�]��<��
��Q�ÞY�a{fy��X�Y�m�F)�e8�̤��5Ri�C��%��i��w��`"d��f��P�xKYg� 1/llz�]l�����|�C3� x��C�r�
׳'�.��~�j�KQ� ���:3H~#e��C�P+p
�/���M�zZ���T�U$Z+ [���L����|jU6���
V���j��Z��:���q H
�x�o��2�ai]
�7�r������%�
�Bٙ��`����
����OTl�Ϧ��ZdJ��(���9�ץ���
+VeJg�âG׎��Dw���!;[
y�m���i��Mm�T'�hd�
�o1���#��r&"E5,n�{�
�ҕ`�0 P��f;�<��l	4t
+�M��O�Y���A󌃿���$�ǺO��ݩ0���<����!�^�
��-��n;g�Ö|�Y��̩
�e捥�
�`�x�ň��
����y�����B���JQ�i$wbk�l�s1�/"�
ܵ��w�v�Tu=�'�4�}~@1�B�l.t�6� �/�O�x��
Qb�м.�'S
�q���PV��*?T5�R�=��Y����k���k&d��������u�Ǐ"1�0 
�x�����
���P���h8ⶴ~yJ�y-�!$�wa�Q}�eIe���&����z}�G��#w6��:_ۮ�
_��	�Yں~�g��9ɫ����Ֆî��gȰ*4�}�

�ȣtӀ'iB”
]a:,lsE�ORm��yf�Yx{�ז=?��1e_4��!��9���1�b��LF2V���e�J�̥��DR9�����<S�Q�� ��!zqb�����R�p���Z�j%��)揕
��
�*[d	�7�N7��K!Fh�θõ�;_﷬ ��fb�
>�Fq^� 絵��N�M�iz��rdR�}��y9��۠���m��ֽم�b
aAh3iȇ�`�~N5���s���z�����|sJ.3[��
��e[:D�һ
˲�+�|X��� 2!bs~�J��G}m��������l9K��
���	Dna�-a�����X,W���?d�_&��
v�M<
וI�E�j�<sp��̔-�E��
+ړ���Q�=�q
��
3�}s��ݻ-[���
��3@��/mN
+�������^s��@|�h�k_ִG��}�"��CZ�N�g�Q�a{��!ݵ��I nnD��! J����JV��oo� ϷK6��=_�0hg]�*_}���2����&�����E����ӝ����vw���c
� �
��X����f,�0q_�wc�����ůR�_L8oO�s{�PI�{��=H'��g4����-�B��4W?U�����m�ΔZ^^\ܭ
 O< (�����#Dط^w�
j-��r6����
j>�kp�|̣
 �F��5���u��y�ܸx�p��
+ ��B��K�{
+endstream
+endobj
+14698 0 obj <<
+/Type /Page
+/Contents 14699 0 R
+/Resources 14697 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Annots [ 14654 0 R 14655 0 R 14656 0 R 14657 0 R 14658 0 R 14659 0 R 14660 0 R 14661 0 R 14662 0 R 14663 0 R 14664 0 R 14665 0 R 14666 0 R 14667 0 R 14668 0 R 14669 0 R 14670 0 R 14671 0 R 14672 0 R 14673 0 R 14674 0 R 14675 0 R 14676 0 R 14677 0 R 14678 0 R 14679 0 R 14680 0 R 14681 0 R 14682 0 R 14683 0 R 14684 0 R 14685 0 R 14686 0 R 14687 0 R 14688 0 R 14689 0 R 14690 0 R 14696 0 R ]
+>> endobj
+14654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 683.746 169.043 694.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538) >>
+>> endobj
+14655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.38 683.746 251.513 694.65]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 655.621 176.792 666.152]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) >>
+>> endobj
+14657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 626.75 169.043 637.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.783 626.75 220.589 637.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) >>
+>> endobj
+14659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.926 626.75 303.059 637.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 598.252 179.554 609.156]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 598.252 250.666 609.156]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) >>
+>> endobj
+14662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 569.754 194.208 580.658]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.948 569.754 324.249 580.658]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fe157210b8df0457fa5578d9fa466f0) >>
+>> endobj
+14664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 541.257 170.687 552.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+14665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 541.257 243.314 552.161]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83) >>
+>> endobj
+14666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 513.132 170.687 523.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) >>
+>> endobj
+14667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 513.132 235.712 523.663]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) >>
+>> endobj
+14668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 484.635 155.265 495.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) >>
+>> endobj
+14669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 455.763 278.681 466.667]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) >>
+>> endobj
+14670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.497 455.763 348.14 466.667]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.7 455.763 448.343 466.667]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 416.307 285.316 427.211]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa221ca31e0aa489ae726efef9234c6d7) >>
+>> endobj
+14673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.653 416.307 369.429 427.211]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 388.182 194.567 398.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) >>
+>> endobj
+14675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.904 388.182 265.411 398.713]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+14676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 359.311 198.443 370.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) >>
+>> endobj
+14677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.78 359.311 303.607 370.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+14678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 331.187 187.583 341.717]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) >>
+>> endobj
+14679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 302.689 198.383 313.219]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+14680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.881 302.689 221.755 313.219]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
+>> endobj
+14681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 274.191 153.183 284.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.681 274.191 187.783 284.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc) >>
+>> endobj
+14683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 245.32 153.183 256.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.681 245.32 235.941 256.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) >>
+>> endobj
+14685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 217.196 150.493 227.726]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) >>
+>> endobj
+14686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 188.324 191.817 199.228]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ab9663a6c08e6c35bea0da7fa41c81393) >>
+>> endobj
+14687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 159.827 181.845 170.73]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2) >>
+>> endobj
+14688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 131.329 181.845 142.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
+>> endobj
+14689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 102.831 154.727 113.735]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) >>
+>> endobj
+14690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 74.707 176.505 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) >>
+>> endobj
+14696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14700 0 obj <<
+/D [14698 0 R /XYZ 89 770.89 null]
+>> endobj
+14701 0 obj <<
+/D [14698 0 R /XYZ 90 701.306 null]
+>> endobj
+14702 0 obj <<
+/D [14698 0 R /XYZ 90 672.809 null]
+>> endobj
+14703 0 obj <<
+/D [14698 0 R /XYZ 90 646.037 null]
+>> endobj
+14704 0 obj <<
+/D [14698 0 R /XYZ 90 615.813 null]
+>> endobj
+14705 0 obj <<
+/D [14698 0 R /XYZ 90 587.315 null]
+>> endobj
+14706 0 obj <<
+/D [14698 0 R /XYZ 90 558.818 null]
+>> endobj
+14707 0 obj <<
+/D [14698 0 R /XYZ 90 530.32 null]
+>> endobj
+14708 0 obj <<
+/D [14698 0 R /XYZ 90 234.383 null]
+>> endobj
+14709 0 obj <<
+/D [14698 0 R /XYZ 90 177.387 null]
+>> endobj
+14710 0 obj <<
+/D [14698 0 R /XYZ 90 148.89 null]
+>> endobj
+14711 0 obj <<
+/D [14698 0 R /XYZ 90 120.392 null]
+>> endobj
+14712 0 obj <<
+/D [14698 0 R /XYZ 90 91.894 null]
+>> endobj
+14697 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F66 3179 0 R /F67 3037 0 R /F60 532 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14748 0 obj <<
+/Length 1996      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�S*�D0 <ܾ�I�q�ԭݾ$

EA2[^!H�����%Q��(��Eq���. �6���|s;�x��V������
+��9b.|��wS�ug�~oٮ�H��*���緷߾���c�oo'&��E4�<ߊ�ɻ?�����-����
Ԥ�r�
��u3�e��,��J���|��u�l���G"D��c
��lN]2]�3�M�T�t��[�؈8v#��S�=��vB�i�_߼���M:-g�7��<��*�ʹ����HQh)Vu�W�g�UF��)7�L�~7��)ʡ��x���B����2�f�/��hBQ�����&Q��0[iQ��������.
+����
c{�T��I�]<f���R�`b�	F
�բ(Wb��l�lg�M�ln<��Wu��1v���~e�G�Qy.i&�kГᩨ��
�����������0���t^���!��D
+߷5X��dN1F����[�3F��
V���0��<���B��E�-�ӫ��U^��¬���r[q��j�t%���9�VCkP�:tbm�5�i�w|�	b` t+��J5���B-�����U��U#NK�i
�?��R�	�IO��� ���w�UN�X�2�o`�|`�0
g��s_�C���)�z'�KO��v����0�gԍWG��Ty!
��aq����W׋�2_&<
[�b�P~
�7a1�P�‚��� 9?���%�!�e�
!Ðퟆ^ �<7�ʳ�̓ŵ
��
S��}F�I}b�nx��
�������
���he��9��^�?�n��*hL�e����{8;9�
����	���
1�;g���	�_2A@�?%�e��L||�~h����L!?��c�ȡ���Yƛ��*Ny&d���(�K��b�^��YgA���Nb����x8��afʫ��b
�n
�{>�-;�ԁ������u�fϏ����9E}"h2⍙eR
��D�VعM�ɵ�ȓdD�?���3o�4�?�t�<�o�,�'Nq@���f�Ma!
+�{<"��4
�r>.�eO����8�ӧ�
�k��2�]�fQhH���;�Ov�Q$	+U*{d
�:�y���c�m^5系�j�"LgX�F�WmѾlrκa����
��Z�	�27<4�8n��eX��v�wd
I	�U�W_
3$���
{�)�(��~9��᲼��S=w
���wݟ모
�*�H3�ɡ��±��q;�g;�<��4+���3�I������@���Pぃ��sQ�H���&���$�����%^�*��&m��"*���j�'ίu���Rm��w�U*�o�
)��ˮ M7�,���4Ъ+�%3�%��f��Qv�?yT��Z���jEI(L�gQ���#�EOL�
�Ŕ
�b�E}1M�|�No��)����a!Zm
+��F<��cL{w<�	�@���
+�|�^r��޻}�����M��6�/�$%��ӼSxb*�%
Dd;�
���˅nE�������L��)D�
�=CK��0[�X%�E�
1t�ʎ�lz�D�Z�`+� ���~��~)$vj��
rD4EC6����A|��m��9B��s#���,�N�/c�Ū��/
����C��n�u���V����+��J�f�TH��`V�4$�ʄ2E�&g3���ɽ�y�7P������˽:mȴN-T��q��@�r'�

�
�]��Dz�juW�-A���hоݬy(bP_�I�_I[mL:ޡ�|d�vs�U�T=��j��j;fsUr�N��pӐ��4/MO���>:�O���ۥ�yjhw ���y�>�
�Q靷�`_�e�DA�<�ȋ.
�X���A���m�p�lֳ�̤Y�m/�G��O�}��k����R��z��oo��!���P`�yT
��j�Yc:.�R�z����
��;��5�
o>�"�m�*S�6�^_���	^~!�2M(�fu�t"m��ۚR�Y��yÛ㲖�V����펃X��qWU���Ų��mP�����-�D����[�xP�Bg�
��.x� 
+��
+endstream
+endobj
+14747 0 obj <<
+/Type /Page
+/Contents 14748 0 R
+/Resources 14746 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14491 0 R
+/Annots [ 14691 0 R 14692 0 R 14693 0 R 14694 0 R 14695 0 R 14723 0 R 14724 0 R 14725 0 R 14726 0 R 14727 0 R 14728 0 R 14729 0 R 14730 0 R 14731 0 R 14732 0 R 14733 0 R 14734 0 R 14735 0 R 14736 0 R 14737 0 R 14738 0 R 14739 0 R 14740 0 R 14741 0 R 14742 0 R 14743 0 R 14744 0 R 14745 0 R ]
+>> endobj
+14691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 708.28 450.955 718.186]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) >>
+>> endobj
+14692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 683.881 191.718 694.785]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 683.881 288.852 694.785]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0) >>
+>> endobj
+14694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 655.653 191.718 666.557]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 655.653 303.079 666.557]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) >>
+>> endobj
+14723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 627.425 169.013 638.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a920510b7460ca0933ea807b88484ed8c) >>
+>> endobj
+14724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 627.425 227.962 638.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 599.198 219.234 610.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+14726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.732 599.198 311.916 610.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b) >>
+>> endobj
+14727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.731 599.198 422.161 610.102]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece) >>
+>> endobj
+14728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 570.97 224.993 581.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) >>
+>> endobj
+14729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.808 570.97 334.132 581.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) >>
+>> endobj
+14730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 542.742 255.996 553.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+14731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.812 542.742 325.455 553.646]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 514.515 179.554 525.419]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 514.515 303.238 525.419]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e) >>
+>> endobj
+14734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 443.93 203.075 454.834]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 443.93 296.324 454.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+14736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 429.143 327.9 439.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 346.067 226.034 356.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a5fdacdaf0ba18f647ac7bf95a2624af0) >>
+>> endobj
+14738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 346.067 376.309 356.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 317.84 156.281 328.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a5958bfbbb683917b5f3d165a09fb00a3) >>
+>> endobj
+14740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 317.84 215.23 328.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.441 317.84 288.574 328.743]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 289.612 156.281 300.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a5958bfbbb683917b5f3d165a09fb00a3) >>
+>> endobj
+14743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 289.612 215.23 300.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.441 289.612 288.574 300.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14749 0 obj <<
+/D [14747 0 R /XYZ 89 770.89 null]
+>> endobj
+14750 0 obj <<
+/D [14747 0 R /XYZ 90 701.306 null]
+>> endobj
+14751 0 obj <<
+/D [14747 0 R /XYZ 90 673.079 null]
+>> endobj
+14752 0 obj <<
+/D [14747 0 R /XYZ 90 644.851 null]
+>> endobj
+14753 0 obj <<
+/D [14747 0 R /XYZ 90 616.623 null]
+>> endobj
+14754 0 obj <<
+/D [14747 0 R /XYZ 90 588.396 null]
+>> endobj
+14755 0 obj <<
+/D [14747 0 R /XYZ 90 560.168 null]
+>> endobj
+14756 0 obj <<
+/D [14747 0 R /XYZ 90 463.005 null]
+>> endobj
+14757 0 obj <<
+/D [14747 0 R /XYZ 90 463.005 null]
+>> endobj
+14758 0 obj <<
+/D [14747 0 R /XYZ 90 392.506 null]
+>> endobj
+14759 0 obj <<
+/D [14747 0 R /XYZ 90 275.664 null]
+>> endobj
+14746 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14767 0 obj <<
+/Length 2779      
+/Filter /FlateDecode
+>>
+stream
+xڥ�rܸ�]_��p�;0	�T�٣��I)+���rqf0#�CrLr$+ǿ�� A���	`��h4�f�
�����՛�?���E���{����K�\�	|�~�4Y�� ��U�E[�V2����޵��_�M[����W���_��0��QW����/Ǣ�h���k����2	�%��7?]|����El^Hl�"ͼmu������'/*ϼ;�Ty�T0
�닿_|���Y87
�DD*��0aH�{'el�ۼ��nڜ������~�����}�i�5�-��
n}�C�f�(��0l��9p��/*݃̾	wq"�4����Rh�ӂɴ�d�&�#�7�涩�r�[�H�����*�V�X
���4*J��LE�G��ߚ
)�1ܼ�iצ��|ܮ$,�e��������j�	�_t���Ε���]���#*
�Q7���(��
+6�%�{�ߌP�=-�
�
Ϻ���4���"�c�b�ا5�GnY~%km�H������Nz[��-�se?�H8���J*��~�ڥ��ߒ��ȼ6һ�W�h�;�NM���i	�����AYo[]�/����xF�&�f?��`�É�Z�
���	4�4�
R[�1��������t4��L Ј��*i�<���i�
��J]붠
��ۛ���<�m��Vf�#��$?�m��ߣ�‡QX�-��6��8ݔ[Z�ʺ�μ	e�#oJg��g4�
+�8�N��.�X��vߋJL�Z��s�N�,��hj^I�7��h�b�������1e at hC�A�dy|dS�[��A+n)DS~�~a�H�:�����;O\�]i
*�
ɝ	a���S�͞���>�!�1$T�?��E�5ҋs�
L�Ly4
 �wg#�c��5�*�4��h ���*@j�O��澥3��ߔ�0�bt��X79���� Tl�>7e]��a7 ����:
+�do�+�/���	8F2��=q��w��`/
����ު f����n��D ��#����@��]�z�]N����Id|�6̒�LDInc�wV&��ʄ�"�h��;Ea�w���
�]H
I	}�eaf/
Sȫq�@!��\�'eȱ�u��^w�9��>LF
yI��<[�z$�
��]%B��Yl5-v`�ݻ �z�Z'��ֳ��e�'�x�߭���R0�nӊ�o�zA�a.�`�Ӷ7�q����4�
� ^��=d*e�F�/
�eS�<�i&�@Y
�ű[�T�B��Ӊ��cx�,���(鵽ڂ��"
㹒�H
J����09�bO3��	�#
I�pž!Q�ʺ��I(xM�G'�D~{n[H�Xc��ɫL|�JS�(�R��
����g�$4њQ w��6��5�6��^�xT�`��
0oҬ4et' ���u=�e.��U�r��NAc�u�1�´ \�f
�F�
㺓�^B��Gd�H��}n���0�����p�
fU֠N2w۶��撛��.�=S���ᦘe��X��d$� ������ܯ
+<=G"���	ȥD�SV��11'�N'än���LY=�7�3/�Df`�%ӯtQw���`9�aFG�X��6|+0�_�|�#��YT0z��ӆ
`ۀUv��&sǵ��(�)���� ��`���1��u������v n��0� QD�`���q
+kB|$�T�X���t�0`�QS�/u�eC�
���a\h������
��,E	̳/EL�Vь#��
��4
~ַ�P�T�Ut�s�0�85ք�Z��n�@�`�G8a[���t٥��ݷ��;�՘)�pK��%�ۖ�
qԱmv�-5x�.˸�4f��jy��Q�P`n
�Sp�[���vv8�\���y��5�L�/��a�!?�8�>q��61�_�ܱ�4��X,�"�[��>vf&�O֝O2��G����
�W�B�ЧcJ`�=d��E�B������CR�
���AՊ)��z�6��NM�%����j��
��=�� ��mS��}A�@�ڏ������S��C�rgrd�!�\E9�7�%`��纇>N�]s:�
�����_M�Q�{K�q��/1Օ6����''�ƃA1�r1�-+f�&Q�ەc���ם�-+Ԯ�3P�
���[�
+84��oަ���8�\�u��@�9�O3p�)]��υ�s�%D���6�ĝ�x��|�mS���2P"P��v-�R 5�����ms�^•ľ9
T�;Ы�G�Kc�D
+���
TB�)%�9e�5a�y��
�� ���a�N����i\K�%s!��͑���&���"� ��ׄ��nDdc��g�efܽk�i<��
1x�G��B��
+n 9�������D 2�d���j���*�!p�r�9><Bd��Cρ�m�F��إX>��t�p|��g0_}QO3?�{R�����|H0�I�ȡb�I��t5�&6^�|�����
�������#+���M77��	E-�z �8��7��}�H��4@$v+���]���
p=��0�Ѵm(����
+��<���%�:����m���4|������t�	Ú�p�Yb�Wc%��ߠ.E��Rя�ܕ��
v

B�_� ��@�V*���W�4�K4R�"�S]W�x5a'zB��׈����ۺB$���
�0���H�J������q>7ƣTĀ��S��{�
M���[}���E}.��j	��c�
� ��k��b��gg?�m���q$�x�7}�|�bs>��8H8g}��=�#�C����7�7lrs V��AIZ9�A(�DZI�0?Af�i*
�;7�v#^����]
��|�
+endstream
+endobj
+14766 0 obj <<
+/Type /Page
+/Contents 14767 0 R
+/Resources 14765 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14763 0 R 14764 0 R ]
+>> endobj
+14763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.07 323.847 328.202 334.751]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14768 0 obj <<
+/D [14766 0 R /XYZ 89 770.89 null]
+>> endobj
+14765 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14778 0 obj <<
+/Length 2454      
+/Filter /FlateDecode
+>>
+stream
+xڝY�s��_��ʭ���\���f.m/n����@$ӡH
A��f�g
��D�쾈�r,v���v�g�^�����߲hV�"���v3+�,�
���}��i~���w�(͙(R�e���p�͇��v���ŧ
��L�	���jw��'>[��gQ��
-�n������_|,K�G���LD�L&m|{�/2�s�T��ljz�Z��j;C�Dz���‡����4���Y�Ik�������گ�7[5u�/E2�o�Lת��P��d$w$ˤ�ʈE�#��Y�~�<�X&fE.=OM
���~+��s|=��/.<ß.)�s��1P��X�
�.���7^
��XDY�d�ng�=R�BF��4�4�+

M�5�G|N�@�|)�����PƔ�ڳw�{{1߷Ͳ�;��U�v�ӭ�B)9��'~�	�f;��:�w��5
|S�����e����l�*���W��T��hީ�/���L�y��Ꞑ�_AV�z��X�K�
�"gi�3��՚6n6�Җ�6MG$x��j
��^���!����� �n`ɖ�#Gr�:�LD����ɏ�Ѩ��;�`0e% W�I	8{����2S
+�)�y���4��=�06
�o��^3$f��iuC�UӶ��
+
�V��`��=x����$;2U}\�L&8�Ƿ�=�)��Xq���Q�&E�����8��^�`q�1�����ŀ��?=?s
1){T.��kvSg�X����-�ְ����A�\5�V��0H�滲.w�
�X�gQz׻}w$��]����
V�v��F�iU���1�ޒ�a9�Z�F+S‡W��;{J�Cӕ+�q�P
��#��#rp
�ԑ��f}�k�A��^���^8����At��O�V3^�
�	
Y�	&OEע`�S��dhu<dW�P���#��闂{��x�sO�$��쩖
n�4f�4EO3S1<G��3�$%��*U5�e����
��mݙ����#�8dn���)�zВE�ĕS����(�XGX����dGzS����K���^�O�����S�u��
��N
�a�|4�0�|�ݖ
+HnBis3:Kp��4L�'̐j4۲Q
+:�H�)�C�/��ïS���{
"V�O e}0&
��v=��8d��
�TvC�?d ���I�h�� eY�"�;*u��2��ŠŬB����.ɬ�B� �q��
I��X�@�cBv�9bM��1
j/�9�=����+*� �2T�o���-�b��m�3)ᝂ�/z[�!
+
[HcY���gIe�d ?�/c�M���n
��'@�C���0�
�B�6P�(%{%H�3�S��u
��e0ɷ#G2��’3
����2Uן��w��ߐr)PYmX��h�(�e�r��
�����
|}
�t��?����h
o��~��UNǠ
�'�^�}����\��>�E"���Y̡��s]�����l�_��$ai!�R�px�n���2�S�A��:�
��R�Ջ$(F/� �֝�(s>Z;�A�]�o�>�ퟪ���R�QH�Wj �J�!�VhOps�n��%�)�q��Rb
+�C�8U�����E�5���b�ǣ3V���S_�[)^
KLm���9�N�(�2�+à^�mgű��q�
5�E����Q�!
=
i�d�d1=9
M.���U�V�<}R.���N���������ssG�f��(z�Oi;�S�s�~��<�z���
ׇ��^��ݺ����.W��l���Y��"!ʞH@��2����4�@�
k���bb�"��� G`?��&
+��:�[K��Kć��a���r��j��9n�g]��`�dlD"�DV�ˇ���nڝ�������τ
��4��`��~
�e���,�V�r�!7M��<�����s�r��W��|��D�������{�`�R�:H.m�+
DK��8�u� �
 
�2x��n�0�=���/YU��-ݗ,�G�л�T�8�7��<w��3�H�w7��f*��2�� �0�����s��(
�^6w�'st����z���r
�C�^��VoZ=W	��J�5lSnh������:��}}k

�`���:e��
��GD��	�/۪�
��$	A1jo
+�����C�
�
+A�+��
EՐ>�D����
�z� ��	�^ic�
�p��3���I��/���j8�N�uX�m�+�΄���+K8 at 4C����T
�S�F��B�r�o��4�\��
�j>������g��<��-�� �����&B��O�O˹�
n52��G?�޼�E��6�ذ��[

��rp�4��-X
��xF��
\�������$�;S�S��Q�Z��{�q��m���Q������dޑ<I̒������Wo�,[��-[5af89LQ���O�vM��A��t�Fd���
�]��
+endstream
+endobj
+14777 0 obj <<
+/Type /Page
+/Contents 14778 0 R
+/Resources 14776 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14770 0 R 14771 0 R 14772 0 R 14773 0 R 14774 0 R 14775 0 R ]
+>> endobj
+14770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.7 382.467 179.832 414.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 285.312 163.106 292.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
+>> endobj
+14772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.226 169.796 200.359 201.423]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.382 158.215 150.891 168.745]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) >>
+>> endobj
+14774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 140.387 192.396 147.913]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) >>
+>> endobj
+14775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14779 0 obj <<
+/D [14777 0 R /XYZ 89 770.89 null]
+>> endobj
+14776 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F93 763 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14790 0 obj <<
+/Length 2714      
+/Filter /FlateDecode
+>>
+stream
+xڽ�r���_�<k�9p�*N)�䒭��ɋ���b�$�]���Y�����=�Q�s<�`���/����g�:;�h/
�X����˄��Y�����RI�XJ!������C��\(�7���r����զ�ۻ�������]��o6��X�H���y���M�+�vY% U��~g���9{qu����'��(HR�8���Ax[X����R�9t�B�a�{o��q&\�b�p$E$R{�����ի���o*$M�~�w��&~Λ�zW�]�Б��r����fm�
�=
��*���p���R��}��Fߖ�.���
,殫�몾�C9ݬ��mS�=H�@4(6P_�0+�%��E�Y7ےN�D�t�I�9�[�@E8��k�e�^\�*���TD�r�QD�JA�%M
~q�
��q��4HDf�,$��xn�r�"�}�
��
����ؗ[�rP—Aif���oJ

+�ȷr6�]��7��C��� �8��"�i�c�T�,��(��n{mI�^D�뷫U�
{��OgԱ��� ���2��UƖ�A�`��#>
\6����F	��@,���M_��0N��x2o�
L������m~(���F[Z�,/�ZM�e\)��@���a��-w�i�
)[Ҍďu�Bz��L=@{ͮ�
K�10q��￘�ժ+�5�_[�#ENm-с�,T�zO@�Bm��KK*M�z�[,c����R8��%�g��KS�����}����ih7Ht�P��
���z���=�A�F'1B�#��}G�l1�KkW�
L��
+�>��{��Zӄq�DŽ�%
�
b��bK�R
u t6�ڒ/-G,3�H�D����J�)�ϼ�Hg�� _<qJ���u������}48��+�Oe�[���$�:8�h\�T���i�7t�ٱߺ��se��n����u���� 7�W&"������^�
6|Ȉ���X�e$"�ٮ�[�
�~!�
+_9
�pu$
ZKfo+�;V
�CZ5��8
#9!�i�8)�
f�M�i1y�X�	#3�g�eǻnʶ�܍���s6Dg�Z�:Ǥ�}E�-��"<���[N/�Юm�m��
�
s��
$NG@"3�!�Q�{��\;0IZG�N��)⧑
+
&�.7�#+�D����p��"�Xtu׷9�/`Hv�
�2#fu���j"�X�e��f%��^Vx��Xn������Z^�����d�zw�Xe�����Xّa��
�9�,��t����!��5:x�Dq"MB
�cI��
׬JO�6M�k�C��t��W;��0�qwͱFq�$a/bP1
+�9��$Ys��
�B	���&����
�3�#dCmUзq(�@2ܡ|��P at 5rS���
x�]�0�
Z6�
ƜN�c�������cG�	oow�
�Wϱ�ڿɴ
���Sp��|~ a��-��{Ō~x�U3�p��j�^ۤ�H���3I)`��������|x�~0���mS�,�#N�*忬�
����js��GԎ��>=B�U��S#r^�v>ۅ�;����o3}3[����Ǹ�D��o�)p����b�K 1
+S/��̋ʠ�*=F'W��ʭ�>ZPeq�0%���[����ː���->V-ǁ ��#���<�TT��8�ȑ_�/��
+}_�nI��*�:CBd�n���Ѳ�T�aN*۝�٦��:Q&�bxba�NO
����fc��4n�
-26AI��i$�E�#��W$"J�6��`����1�4��qa�L���
n�ʻ��F�f
�
+�,P� 
�Q�+J����4L��! ԧPS�c�sq���zJ�y���)��h
+I�u��r|�Y�N5��	�X����qc�Ҭ���x��O�cxݟ�@��} �˯ft�pi�0p�
 ��X ��	���M��b���
+�WFS2�h�h�t�q~N�Lh�L�
5�cN�IIñu�=�{��,F�l�9���͓�β9o�c�4�
�?onrjo��,m�7u at O��bl*!��#5��f�������&;��8�������!&\��/ �.ɀC�N��o�i	g���fN������i��
/@	�S��T���M<x �&<�
�$2�
?���|�H۫�am�\�(6M��d�H�����v����W'���0aD?�q�B:��j�><��!w���� 3x��b��
�CU������>b��9��� ������5z�DBv�f�.��̎��
�y��'� �6�x�#���9��������O@ Y�����@�(=N��]0u��L��n��AxbK�
��������U]��r.�_�J�)3ZSl2}
-l
�.�	�v*���`����?��ӟ1K|/B��/G�
Y^�׍c���c}�r��Q7���{��E�	ӏ���M�[(j��:���l~}!nl���
^�V`�(����![yD��W�]A���k�
�p�\*j�04PN�'m����_�E�2����8j/���V�-���Xĝ���AF��� ��/�'
ē!�lˉ�p
���ӦE�
D9(���~������'��M�P��G�2���S 
+{���w�Q���  ���5M�ٕ�П����Ѷ �(HW�)�I�
j�eo��8��gg�R
;�"�0������������x
~�:(H�c/���T�
m�C�v��
����|�r��
�XYI�0�/d�(s�M{��_
�wр�O���=�
+endstream
+endobj
+14789 0 obj <<
+/Type /Page
+/Contents 14790 0 R
+/Resources 14788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14780 0 R 14781 0 R 14782 0 R 14783 0 R 14792 0 R 14784 0 R 14785 0 R 14793 0 R 14787 0 R ]
+>> endobj
+14780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.407 616.836 393.75 627.74]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
+>> endobj
+14781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.21 294.227 328.575 304.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a43eb178d5fe05266ba5f76962e836bfe) >>
+>> endobj
+14782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.754 294.227 514.119 304.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac963d832360fbbf4936bd81bd82f4d44) >>
+>> endobj
+14783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.116 164.302 513.996 186.384]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+14792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 152.347 294.015 163.251]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) >>
+>> endobj
+14784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [116.125 110.199 268.691 141.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+14785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.684 110.199 513.996 141.646]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+14793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 98.244 157.965 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+14787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14791 0 obj <<
+/D [14789 0 R /XYZ 89 770.89 null]
+>> endobj
+14788 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14804 0 obj <<
+/Length 2980      
+/Filter /FlateDecode
+>>
+stream
+xڽZY���~�_���U��
8W�J%>T�cY�n
R�K��KX$@�W�_���
 �˕���\=}~=���������o..�K�,Y�����,��$�D��z�.9������S��f9��?������5�]|{s�ۅ�.9S�@$�t��]��E��@�~&���ٽ�����s;����d^d��X�xRZ	�Y�ੈ��ZGns?m�nI�V�|�#�ˍ�r����Ze��/p:�>�>Qd�!�Ŏ�
��R�:�c�f�]��W܄��l������8�8Gy�w,���p���o?������FG
^	
��%	4�3�
�
��\E����~��b����t,�R|��8(Z�sG�gmW��)�:
+~�u���Y�yQ�5��dj�^��h��qv�=
�?U�Q�0qrV;:�Ƭ����ڝmya�*�Q|"�"�ip�׶�
+k�)�<얶
�6��⽔zU��n�|g[[���-��P�(G��7E��"l��Չ���(�Jဩ '�s]�3H��.��Nj �c���6�N��\s�GGs���
+�x��F}�����B!;A{���0����Eˎ�Һ5��$���Ӟ�d�ӐM�.r !)���Kw��˸����9��i�yɫlk����T[b~��ä·Al'n�FT�_�U��H���*�బ����
:^��-h�ͷ�j�(ǖS'����C�ڊ��vK�k�
��_��N
n������-V�y4���\7UE�hZ
;q����)K��.�;�"A"3��TȔ�~C��Sp��ik�<m3\�����k�SC��
O���X��iL��A�Z螬��J�{c�c*��Dڎ�9�E����*8C�W�A�s%�\�'h��u�����M�,���ϱ�AK;��$Yp�\.1nǿ̣(h�}[��f�yd���,�ϝK^�����Ph�&�vS=�+0}�fn"�4��xu���b�lp�m0��A�X�����C���
�1u
�b��Ct����/!IR�L
V�B�p>��h58����O
`���M��3
69��q���R$��;
+&�
!�ZAr��U闷D���d@���
Ѹ�0`��A�Y�V��1eM
��€����yI�1�D
���R$?s~�����6����~B9�ƅJx����{#� �ą�TP��"
Lhm��+f��^ � Ϊ���~Ŗ�y

�A
?���q���:���a��
&

+Ņ'���D
�
���KF@�1��S��
���
*`���	��=n�m3�	 ���1��Z���>��T_r�bQʑ&�uLP�h�U�K�9�n�>
s��r�Eyn
Qpa]��yK���5i�Q
�r����z(�t�HE�Br����t��3�r]z r�����.��c��a0K���ݿJ��-������
+�Yd�X{�u�<dpXTH!�x1��
B�Yࡼ�l��>t�^ގ�^x��ρ!8�N
�P3�ʶ-�.�
�ӠڷŎ@qJ��B���[|'ݛB��Γ ��g��pd2N�e3ɰ�,KNX��\6�\��霢��cӑu���-f=q�͠9&!���O7�|ހ�M��e�	0 {������ȵ2������k���:Pk�օ=�OT.-�]#���e{����;��F�E5��Sq��,�:�8�G>��,J	]��
��Е����O�PM�e��ę�F%NrH(�5���`��H��ҥ�q);(}]���x�CM��η�������:}����ڗV踻�S�+���25�p
N���|O�]�=W���hI�6J
�M����r�����|�q�

2�� ^\�WX����ۜbv.��q���>N��}���
+�֙/�>��W�+����u@���
���<Z\]&(#-�`Y��{?# 
���O�����
��Uc��ڇn�Nj��'��a �܃Z6������ـ�BoqR�AME�u`��)H'EuHj
�L�	�.��!��;;pz	}܃�r5���������tهeeg�i�d���r �O<D�b�%&�! 
2D�"�鯘P$�h�3�Z��}�n�=��F�
h��p	4���
(���(iDe#E��"ҝ"!�ɉu2�l,s"#b���	���� ��q�@��
8���J�{���x�S�X(����I�>���
,�W�E[
��I�f8� �%�%��=�N���u�<Ǻ>�Aܛۮ"�M�H;%o�����|$N�B�����rX��x�I��F"yn����5�
z�L�
LW}h
���2m
Q����(R=*!�oT�ǥ=9���4_hu
WS���X��q��_��X=_�j���jm2�;&9� m�&|ft����  `қy
+���ζ\�櫏������]
ގ��A�?���
�t��g�E�����ǵ��������qA��|ʶ��5E4��g1��#
��մ�#�I�Y
�M���b�K�"{N
��չoo	��#F&T��G	�VFF�>Z�^4�%�S
��{
!m�Z���
+�Y�!a:
+j@ �'��)�5Q�Dfvg�gYy!�,�I�3�Y�͟�����.�1O1Nb�@sݚg��}�C����>���
��"
+��7yٌ�ˎ[(��š��ˆ��l�\�-�C�
��3"��t|R�J��f$T��j��TD����:�
+��
ˉ���m�����etj�!h[�e���כ���@�`�qIB�5��ٜtc	�j�G��p�F"nl��c9_@��D�$h���&h���}D,y{y��^�kA9�f3Yܟ�Cw��+	�X��.�z�j��]si��{xW��N����b-m��G���0�w�P�
�V�$Ѯ��v�~._���
+;.�����ߗR�l!]���������N���?����ݗXx�1/��
�,��ǿ)!�z�ݴ\wW��ǎ�.��hz�D!�]|ݴ����ry�kly'V���
+��d��I�I��VvU�iCRN�@#��]A�
+endstream
+endobj
+14803 0 obj <<
+/Type /Page
+/Contents 14804 0 R
+/Resources 14802 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14786 0 R 14797 0 R 14798 0 R 14799 0 R 14800 0 R 14801 0 R ]
+>> endobj
+14786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.02 707.957 411.153 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.03 628.009 450.162 638.913]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.966 546.031 511.506 556.935]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
+>> endobj
+14799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.428 367.516 299.456 378.42]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
+>> endobj
+14800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.955 278.024 418.715 288.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+14801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14805 0 obj <<
+/D [14803 0 R /XYZ 89 770.89 null]
+>> endobj
+14802 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F11 613 0 R /F10 765 0 R /F13 834 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14813 0 obj <<
+/Length 2571      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��~�_����1��ȞL��
��� ��� �̢!�j�vm�+�}$�O��AY�vϱȓh�T�*��i
-#
�p򷋓�7	�4Ғ���*�8J�FB¯E�1&%r2%��|Bp�����|Bq\�E�^���ʴ�?;;{~y^N����*[O�T���*�*7|�]e�u��g��J�b���/?���8����X8"N
���'����0bZE��h
q�๊>���{��'��
�ㇽ��z����(�
�t}�����̈w�F�
9O'xY�y����6�D����
n��65�s�n�	c�Y8��:s�U6!"���ŲL����M�ӻ|�[�ŕ�Y�TO&*1"������\GĐJDCs�
6A&��>3"��nj�XA!��1�g�('
��@NI���Y�9�2Ƒ""�����2�7u����H���71:�
��
M��(�r����
Eň��n�ǖ�H�����" V�*�bF�!�#���#�$��
��J
".Q�eC3)D���'���F8�om z�R
+����@}ֹ���ldU*�
+W
�K��-A��N�
۴L�Y
)D�� 2��c�VL"����+��r��P�1O!빙j7����y�y�l��A����,��l��9G	#���D
����݈� ��r�)���64�8�g�O�ʃ��'з�R�h�j�(T� J�8�?%�ߍlU`���@�P�Я�-����lq�E��
+��2K�|�܋��̪m�Y��e��_���q�Fڏ��ժ0!
��ڴrC���L�
cR�{$P����m�� ��L�Ʀ�>�U�9$�7��(ҭ!�G��3�� iu�!�=k�L+���Y�!���m���p_��Ć~^��4�P����6��9©��=���=m�G�!��A����v�[/�fCV�[������
�坚�:�����_�S��;���m�ʉ���#��P��9��|���G�)�^ rU�t�].�uh�ؘY�ʳf;�,[�#��f1�t�om@$T��/O�>{/ATe��,_^��8���TG�jm����V1fڑ�S�x�a��<m�������}����Q����C����
A���� �4MxXP�,$x$i[8�ISHa�3Y��u��U�{x�2�{x��n��o܀5A��
L��Uਯ�_��s?��*��:\��# m�h����-����m�:5�j �̙�6C@�X�IףH� �L�f��")_�=�R�@zH?�st5��#z1�^  [...]
+,Z�Ĉ�
?m��g�C���A:E�Sv�[�����8��7��;�!X�T��8��G�
+	�eT�#�/�$�p
�RJ
�Ir�I�1G��F)u����!b��
z=�J@��F�ZG���h/��Cg矷y}=H��3]�Rs�eE?]�7��iT�u��i�x��4�$8�:(�Bm�bt�LP�!y�j�4������s�X���:���6tG��;�
�&I��.�Py8#mG��^2�?(Lž�Pa0��4	�*��k&u\abAaz ל��an�
r
ݥ��
%�A�T9e#|��+�`�.�s��gZ�rh��|e��w�U��d��k��B	x����7˿���
��"��&�q
/2�{�h�n�	�� �n�/n�A�rlf���L.ݭ���
'��̲��L�*OLJ�xfM���
d���&SJA�5Ϭp���m��G�I�	U��$~��D���	 �/�Y��{����q��DZ��������9��=ҕ
d�}'H��n������6sK�櫕���0��H����T�@}�-
�Y���Уqi��4}�h�[�����,���C�lww-��Ӧ��~�LJ����l��~����.�ݍ�A�W�:���"��
O��
'�BU,t�ԣ	w�-��j��
H0
-�E�
j3�%��8P"K�YT�n�<@���f�C��~��Hw��j<r�
�I"����]���9�t
6�n�*�sC��a�P
�8=.J�I��2���KI3
h�]Jg���#	�������Ps�ףڿv�]B���!�@����X�b�ta,^�M0��'��}5h@{J�
+��@�q��+�n
+Я�L��U�ی����r�
��=Ӯ��
��L�{�~�;ph#��F�Y�����f*�8���8�\�`���j�Es�P�P
��S��j4̼��xpIh� ��h�nZ��h���:�Z��͟(��
�S
�-��榜�b�y��i
P�����%M��H�w8J�,��Dʄ웪�w����]U;���p���}e=n��0{<dvV~F9�;lo
Z����S��g�Nj-���6����H�ʎ�����`-e�S���t�B������On�s��2U���w�f�
{��JG�eu�앇��Z0��-jFw���(Dp$D���u�=;=��U�Y�y�޿��顡Al�R�Һ.���o�_����
pcG�	��o�%���C׈I�PK�͇ۗ~���E�
+0p�������
+endstream
+endobj
+14812 0 obj <<
+/Type /Page
+/Contents 14813 0 R
+/Resources 14811 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14808 0 R 14809 0 R 14810 0 R ]
+>> endobj
+14808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 440.872 163.106 448.398]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
+>> endobj
+14809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.955 176.359 418.715 187.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) >>
+>> endobj
+14810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14814 0 obj <<
+/D [14812 0 R /XYZ 89 770.89 null]
+>> endobj
+14811 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F8 794 0 R /F11 613 0 R /F1 833 0 R /F24 529 0 R /F75 554 0 R /F13 834 0 R /F10 765 0 R /F7 795 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14819 0 obj <<
+/Length 2612      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[s۸~���[�Ƃq�4�is��n��kog:�
%�6��%�ĞN�{.���,��v� �s�w���Gߝ�����bQ�Iety
%8R<AB��2�<�N��>b2F$��~��O��>]^�w'�.O~;!�
+G�. �������/8Z���F,���f�:�A��.N�q�
-]���]�|���P,�b�R�E
+3D�%�S�d��b�ܦ���׺�0�^UY�]5yqc�)��
��yYر�ڵE��E�����
H�@��ҝ��"��b=E ���!I����$<����D�vFngxLK�D
Q$`13�˔�IZ��|�Վa�e+����.�	H�$�h�O�=
��tH�� 1� ����Č ��{	�0
����ڭ>�MR	mg\���I$�X{njI�b!�
��ij��t@vfh{����M1�`oM�/�li�7U	*\ۇ�}�-��XfKd
�8WѪ`Q��M	��r�W�EZ��mYֆ$>iJ;��~Ƙ�}*�ս}�ځz;��ƽ���c��
Ѽs��݂;�#'���fJ&N^��:;�]9�u[��t����/�N�C2����&o���n=�Κ�҉�

.�po��'_� ɴh5Z�v�O��Q�(
�*|w��7��e�F9G���EY��2��J
�ܣ�9����z�,���&+�EyS���|a߯�"_o������d�z��Z�h)�

�=�bջ���H5��]��$,F�A���M�h��ESVS�'��n��f�c0
F	���m#J�MR���"3�4��7���bpr1�S�cqi�ϦN���<�\���J󢩝�x�N�Hp
+�Q��j�h(2R��f
+4�1A�'Lz�PT�X[����1�'GILG
+�b�t��
�bz�n#4�BG���{��ɀ_
>R�#.�}L� �Q�� 9����Q�ij4�A 
+}T\��Yw��b�m�c�w�C*uXZ�Y�,��
u^�G
�a��rݴ�pH?��mx^��,�
T*�1
&��y�(Q�]��ّ0v4���fCk�X	� ɣ\P
rA� ?���f
�BW
v{6r{�Zc��=���U�^R�s�ҏ�CG��ۙj<֢<6�o�C4I��w�����wCU�ڤpN*8|7e���yH���
+`�G�����jU���>~�3��>1PK
p'�H�8���
}�ɝTX�W-�c�?�^O%GM����Tv`j}u���>j���_��ة�M��.��F�X�_ԁ�5ʋ:���8s���ϯݨ-d�
+ ��f���4〟c
��w�����R�utϷb��G���	Q�_I�r`��a����I4��I�.$:�y���i�q{b
BՍ�
���xs������չ�kD�����*AL�&]dW�|��D�G�f��y�yv���b9��h�S����k�%P� ����7W
��ib	 a��2p�
c
����̓��5aCw`��R�B��⡋, �H��E�����:��I����re0��NK�sfɍ�i�B�yǯa��m���n�$�n�hG���6����o<{6
+��e��v�Ux
�
w� .ݷ�y��;��-��6onK�f"E�H7�L��� g0����8�܇?���lR���ϭ�LR<�ʭ���+��9 at s�2Z�X��t
)$�p�� �1�� 2�	t�a��G�Bt%��If�2?}������
�[CgD�jID��*�`İf�鶠?��R�2����6�S�
+����
㉀0am��3_R� .	�I�5b�L%BPy
�ǘ�|���{-eP��$��ksQ��Z賬�B�RqDI�&~���� a�Bv������Y�:�bC��9�2vz�U�jߟO;���f*&i^�;���7��B�j�N�U��������@]9X�SV�x���i�6��U\v��u(:zN�/:r�殫�����
1�cN���9��8H���l���3������Ik��_C���#_��O(`� ߏX����4>J�֣|��������'�����}2�Fp�9 L8�ukk�@�h ?
�v�\�@k���M�yYr���{;��	��
��_j�&>� _�-L
\2�u��M���6^N�s{�@�W�Y/���{��c���n��6�t�E
+��d6�
΄���=���i,#�����3��2�ǎ4>����F_
+(�!>K��.-�2Ȳ ���	,�.���3��<�2=��D	�|�j��K���V�u�u�����)�
�����Y���4{�/�������f����ͱ.��V�E=%��\��/j��8�ute��vDK�V4��x,'�#���|)q�oau�hP�㧘�������C!����{�T�uE)u��̎3y�;���xp��Q��I ��'߂�Q�1�n�|<�t���\��:2�!��h�Z���j�bn�. V��c��5��+$���'!&ʤ6�����7p�a͢�%,�/7��f���?�t�ѵ}�����
��~�7���Ϊ?�H'֏i�m���%Y�Uu�
dJ�:D�ix�eNT��wd�`+Yz�p�x�Y�m�l^��ͷ7UnТ�˛#f�0G<����}�� /tc�:;��b�dd
+endstream
+endobj
+14818 0 obj <<
+/Type /Page
+/Contents 14819 0 R
+/Resources 14817 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14769 0 R
+/Annots [ 14815 0 R 14816 0 R ]
+>> endobj
+14815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [115.086 342.403 163.106 349.929]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) >>
+>> endobj
+14816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14820 0 obj <<
+/D [14818 0 R /XYZ 89 770.89 null]
+>> endobj
+14817 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F13 834 0 R /F10 765 0 R /F8 794 0 R /F1 833 0 R /F24 529 0 R /F75 554 0 R /F7 795 0 R /F90 758 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14826 0 obj <<
+/Length 2387      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�8~����.U5�q����8��ډ�V�LJEK��Z�Tx$���m�A��Ev��U��b� ��n��u��[x�{u�����e,<Id�#or�I�Ł$aOs��(��јQJ���~Z���ՈS�X>ܫy�N/��2-NN�^_M��K��v�V�1��L�
+���N��*�) �#&� �����'G��E=�l�$N�������a�g�!�ٴ�.`\z7G�8�V�n$<�S=X9��F�DJ/f�$4DY/�<[ef��剟��r��8�U���&��Y�޷O?~�c	���Ɯ*<�B�X��fŢL���
UT�O� <��
'�
+ǦRs���P��v��n[�e�Ru�]i�{�
�)�t�<�f�t��Q���g,"�%�i���,��7*�O#
�e)XH����nʁ�>��%c}�	Jsن��{��H�D��1#�����$��ޞ��x�
�=��!�'x����
~�E{���xL!��r��QH���6���vj
 t�Jf���`:a��N��!eRƟ��z��!���#u�
�%
]�W��!�%��hN���#�+T(: �
���4%�r�Ǎ#2���������?�Y?Zl_� R��u��Ĺvٽ���t��8x�{<�<Μ��v�y��C,��L�
�P�ς�nؠ��Q�����C���K;O�s���x0�N^�e���P<�!a�S�!
	��]	x8t
%!��o���:N��G/����I%I�&i^TU�V7
��nZ��k�gjb�YQyՔj(?*$�ɧ��V�A�?�
f
��3�Ѻ̊2�FQh2�l3+��Uc
�<@Em� y�0�$ �w����A��6AB���
ab"�^K�ѹ,XF�(-�L��Y+-/����c�.�,�젯>�&3����ź�V�Y��k��Yl&�
+��
%p-m]�ʅ\�TU@\>�J�p�z
����e�:�;p+����}-��Vz��3ę�������[U̘��F�+ I ԅ���p[�]�խ���y>��f���a�E1���Nw��h
���E �S��(�m�ٯ)��P޹�c�ȓ��"��y9�_#�����ay;�٣AP�hl(�*��ހ��8p'KL����֢� �{�9Cc�j_�4��ҩ� �﫡��	F �2�wgEy2Xnn�g �w�Nux7���M&�߼��L�O'�~ߧ>P��.�5u�զ:��&�/L�$[�\N�-�1Ѭ�\����dz���Ø��Y
3W�v�OƄ�㔅^������LL�7��Қ9���/#�1v
l�ɐ�w1������O_����쵴 �:� ��}�m�~��}����y��!Ӣ��ҵ�|Þ���
�_��_����k<ȷ�����t�r�g����J�U+ެ��%�=y��{������N��>?x�\nmk�Z�c��m�-v�Q�.�Z4:�RB at x����CV߷�ǘ����q
�Ֆc���-�o^��?�N/O����xw�f���ߦ���h*W
:���Mmϣg[��;\�-�W����lAC&n��z7�� ��LB�H�!�$l�?3ع�Յ�M�HI��߇�D�� A&U���Y(������{���Dv��ݎ7�8P�hR �,%8�c>�]8�dȓ�`�S�Z�]0!�Ɖ�Iq� ��q:x���*���X�B�1Ix�A#E�s0!(�_(�1�ǽ>�2A�M;i���U`}��a�U�q�H����~��7K:t�Մu[��	�j'�uz� p��0!]�}�����,�?��0A �{
���d�y��hQ��6"�k�Ѐh��w
`'�!�t4"q?�
�c=�
+Q�PB1��~T�8+V�Fg �xo']����t���T�Fx
&z�Z�3K���ʮ�ݱ����V[�k&#��
+%9f=3�>:;�C����D����@a`A�&�M��6��I�I��M���V�V)�eQf
�[��t��
�H,T��ж�n
+s����N�i�Ͳ
���s��`��K�n�7M&�}�����&��ݟ5{D��!)J(� �xU�qܢ�O8`���
�K,7a�WT�sU��\� &������#�6a���X��n�|�-t]޷.
S�ϖE����6;KF�9aS�&���j���cB�~�����2�"5��€\�� ���;���em;�
�n'sӥ��&��ζ҃Þ#��d�-��{�-�'���y������P�P��
�1'�g� �?ALB����$��
���T��Q�6v^�yӆLm5h�eյM�x_`*ԿQm�������~d�vÊ�4�M/����'�Ƿ͢R��@����=9$�q8�
+[ଊ�ݛ尸J7
̧3
� ��V�̏p�.cnv���e��]8~�ދ���#s�
+endstream
+endobj
+14825 0 obj <<
+/Type /Page
+/Contents 14826 0 R
+/Resources 14824 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Annots [ 14821 0 R 14822 0 R 14823 0 R ]
+>> endobj
+14821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.761 527.368 221.894 538.272]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.512 413.299 221.645 424.203]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14827 0 obj <<
+/D [14825 0 R /XYZ 89 770.89 null]
+>> endobj
+14828 0 obj <<
+/D [14825 0 R /XYZ 90 592.445 null]
+>> endobj
+14643 0 obj <<
+/D [14825 0 R /XYZ 90 570.069 null]
+>> endobj
+14829 0 obj <<
+/D [14825 0 R /XYZ 90 570.069 null]
+>> endobj
+14644 0 obj <<
+/D [14825 0 R /XYZ 107.713 486.57 null]
+>> endobj
+14645 0 obj <<
+/D [14825 0 R /XYZ 107.713 470.63 null]
+>> endobj
+14646 0 obj <<
+/D [14825 0 R /XYZ 90 458.511 null]
+>> endobj
+14830 0 obj <<
+/D [14825 0 R /XYZ 90 454.028 null]
+>> endobj
+14647 0 obj <<
+/D [14825 0 R /XYZ 107.713 372.502 null]
+>> endobj
+14648 0 obj <<
+/D [14825 0 R /XYZ 107.713 356.562 null]
+>> endobj
+14649 0 obj <<
+/D [14825 0 R /XYZ 107.713 340.622 null]
+>> endobj
+14650 0 obj <<
+/D [14825 0 R /XYZ 107.713 324.681 null]
+>> endobj
+14651 0 obj <<
+/D [14825 0 R /XYZ 107.713 308.741 null]
+>> endobj
+14831 0 obj <<
+/D [14825 0 R /XYZ 90 280.059 null]
+>> endobj
+14652 0 obj <<
+/D [14825 0 R /XYZ 90 257.682 null]
+>> endobj
+14832 0 obj <<
+/D [14825 0 R /XYZ 90 257.682 null]
+>> endobj
+14833 0 obj <<
+/D [14825 0 R /XYZ 90 145.601 null]
+>> endobj
+14824 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F112 1773 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14841 0 obj <<
+/Length 3021      
+/Filter /FlateDecode
+>>
+stream
+x��[[o��~���SWB���g�-
+d��E�V7q��,
Z�m��P����=s#�ug�/E��3gf��\i<z�яW��\��A�Q�I���~���	��c������FLjD	o�����o7o~�yo�]����tE�
'@ �G��Շ��h�a�=�lZ�8e�������Կ�
+sh~�� ��P'c>R�!��S���l]�bc��5��
��<�HP�W{�@z{�د-6#Ʉ#۷G.<MP"DG,�_�iދD��#
+�셔��>��6'�aI.@��kns6��իEV<T��YYN��J�O���b��� L�C�3d�#"վ�~'���o
�Մ���b2���{3; ����1I���=ӑ�
3�3ل�1 ;�T�i�~>�~��
���~}��q�Y���ˊ
��#��I::* �I���o�`	L�$�$�I����o��t	�d�`�$b�N�c<���z�V��vB�W�B���sO��+�x�@�e��2�i=~[�H�
��I"����i�L��9�q�`r�w�(JtR/��Q)粽N�Fǫń���l^�������!T`�س�
+��weZN�z��ի��=�
Z���+�Y��p}u7Q�E�ܡˣ
B	N( ��S¡�X
o�b3?�J#��h�9
���3���*zO&�>�
|уLJc��i�
��2

�Vݪ��z�Q����y�t� �tR�j�Fճ4�#\���IB�Wyz��6�ﳪG�;�hx�/}�fe�"�
xj�'�,) .��Dd��b�i�v0��yB1��.r��aL����a��@'4�� Y���{���$��܏a�=X��;
Is�e�����[�k ��_�	�B�w���n z_���գa�}zʊ0����Z,�i^T~y�y�L��
�.B�Z�1�e�Uˢ�0�]��ۢ8�:�p؆�)rEcA�)���ێ�>��
W��4��n����V^��Y毯f��2\���QRC}}����
�F�٩�����r]fU6wR?�:-�
��
j��-������"PBt�:q�'
H(Z#��f͑��$���m�hS
0M�6�
��$�AX"%"�E��KE�ىK�h@J �j�q��E������gc�Y��0���
W�lҀ`�=H�y�������jcL�e�1�BZ��˱���ymy�Ǽ�O���o

+�	���� �11$��� ����N�
#$�\@���Nu�/R���:�C�Z��*Mk�W�6UZV;�Ѹ��v�
�C߹s�
�X�
��%:�q�<��P�V*
����ց�Q��L�~�Ŋ�FqSM>�,���8
�Ξ�nlp�Ы!�6�D�6��YE�����LA�$��;
+s��ӏ�X��9
����ԑ���Y��	�K��g���x��w�D���x��Ӫ�D�
������
���dZzr�X��CV�#��T�������CN0T�;3<��O����
6j7i@��bX"/�Q(��b��]�Օ�(
+k��5���ֻ>�6�Ǭu#
&-��y߂0�Y��/]��[��L�� KՑ���V��z{Y�w/K/��UiQ
'���ׅ�p�}8�+�Gp9u?M�%]IM�
+g��e�Y�F�j
�c[���z{+ji�
+�&$je>�_��C��FNcz�s�t���o�N� �e�A"UrXr�̃�AN�8���A�f�;�7T�x*f���}��YN��/k��`�P����#<���*�;�{�}D�=�\`���%]&Sr'ZYQ����}�tZ�B
+��\�U8��
+4 79�``4ѝE���f�t��
��6M=�K!ډw�_�~�A���)"��%E�V��	���O�����
Y;%c�������|�uy�kI��"`�&����)�v*����Y��
+ۍ
+Lof�{��Z�`��53M�ފ�C��C��Pq
+nM#�\�Cň%�SxH`�Q�۔tT8���~V2�
+4���

�s8��4X.���HG���8�j�
`�ڰ�l@����ڀ�&� cs,#���E�ęV���׿
ԸYO��_6��
�%_6,{�
��$	ᓺ�EO! �J�,��v��E�w	�v;�Pb�� b�	10����l����$�2vb<$��~e�����|��q}�HJ4�v
���W�����j��؄_�^Ef3	 �b��R��K�[�?7,6�E�-�`��w���+���M+��Qyܬ�.���ǰ/�6�U픾9�d�����f/���>�D[1�
��T��;=�;l�XQ4�I�̣
�i�[Woic�2�ɸxri�96	����7�1�͹�
�o:��
��n/���Vu���/[B����݀�ə���Qfm�
�7���������w.u�����*��	
�j>����W����E�`�T�(H�3�0�'"7_�4���6H��G����0�M.�H��
.�ѕ0�%��f)���!��˘b�g�z�6�tm�q9�
+����V�h�W��7_�'rԓ�^p�0�A��0�[a4�x4��Ϟ��٥�)쓐�5����W̺��l����C�F�
*
��<��f��>�q�<
�)D(��%�Jʳ%��4)��t� �,S�a���+ȴ��p�8��agO0�xNw����jb��{��/�	:<�OК_�'`��>�4x�
�!MԹy��m[
ᛁCpc��+��ل��'�?��Y���|����Z���/
C-�i]vKpG52�05�A:���!�F�n�s�y��c^ s�ƐJ�5�cuH
5�)�����|�pw�2w�n.�.��<����{W��֗4̧��W"�|�˚t��ɔ3a_�C&*��"��t_OE݌��}uܰv]� �W�
�g�q	���ƨ�`(L��������
��
/�.���k�MA޴�W��J
���]à�:���/��ߛ��f"̟o��_Ӣ.ѻ��֔M
� 
%B��s����Z�
�#}GB�9�cU�_�|y���f��6���p�6u��-W��Vpqi�a}[	[�?�x��
+endstream
+endobj
+14840 0 obj <<
+/Type /Page
+/Contents 14841 0 R
+/Resources 14839 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Annots [ 14835 0 R 14836 0 R 14837 0 R 14838 0 R ]
+>> endobj
+14835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 693.377 432.413 707.324]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+14836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 480.788 432.413 494.735]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+14837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.997 146.418 486.519 158.752]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) >>
+>> endobj
+14838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14842 0 obj <<
+/D [14840 0 R /XYZ 89 770.89 null]
+>> endobj
+14843 0 obj <<
+/D [14840 0 R /XYZ 90 718.682 null]
+>> endobj
+14653 0 obj <<
+/D [14840 0 R /XYZ 90 684.012 null]
+>> endobj
+14844 0 obj <<
+/D [14840 0 R /XYZ 90 679.529 null]
+>> endobj
+14845 0 obj <<
+/D [14840 0 R /XYZ 90 596.843 null]
+>> endobj
+14846 0 obj <<
+/D [14840 0 R /XYZ 90 506.093 null]
+>> endobj
+14847 0 obj <<
+/D [14840 0 R /XYZ 90 442.506 null]
+>> endobj
+14713 0 obj <<
+/D [14840 0 R /XYZ 90 417.973 null]
+>> endobj
+14848 0 obj <<
+/D [14840 0 R /XYZ 90 417.973 null]
+>> endobj
+14714 0 obj <<
+/D [14840 0 R /XYZ 227.842 360.801 null]
+>> endobj
+14849 0 obj <<
+/D [14840 0 R /XYZ 90 354.161 null]
+>> endobj
+14850 0 obj <<
+/D [14840 0 R /XYZ 90 273.631 null]
+>> endobj
+14851 0 obj <<
+/D [14840 0 R /XYZ 90 183.678 null]
+>> endobj
+14715 0 obj <<
+/D [14840 0 R /XYZ 184.963 84.126 null]
+>> endobj
+14852 0 obj <<
+/D [14840 0 R /XYZ 90 77.486 null]
+>> endobj
+14839 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F8 794 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14856 0 obj <<
+/Length 2370      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~���S+՞�_���I�4E���K�D�D$�!)�����^��$��A`��h9���|��.������_a{
+ǿ�]}�V��AFR9�{�<S� !�j=�iN0Rr�$��͂�yRl�����|���������H�����n�o����a�nK*���MR�����1u?��U
+F�$lΕX�r���7wW�]��g��H��j{��/x����|f��k��q�น�^��
+G�9��F�!���[�#\{]P>ϳ��I�Q���
#J#Έ3ư9�"�M��q��Y0
+q]2��=@)A�L�R��� ��\,���@�
+��t���/H
��PsȠ��d
g�C�*��$0��F�tɴ�j�.9A�ġI�d�V@�Þ!S�Q��!鵌z._��A�
kD�$�r�Q��l���,ߕ�t?c�K��|�*��W��T)D`��`����wa(�5K����ix2�_b$��?���N�U����@�C4��3i
b��3q_�FT0g��~�ښ���/\��Ǥ�"c]�?}+����SsI)�L�� 8�Wϩ?�c�N�����y~�v�����K�߳ճ?M��a0[�]������kR_e���]�̀���C�%�qP�xr�vi+WN$�#�;���U�R�`D��
�����Od�3�`�O�dn���l6`�K�DĘ�$I|r��0�&��*�#�[��u,���#�E�Q��ǎ_8��'�"��
+P�L�W���2�ü�l��=�����
F���ul8(�Hc6���
0��
e�CEQ'
�R�b�@�D~�=����g cd�=�c�o�p��e�
 
�%3�I��[h��-ͭ�]^��U^i��������
����О6<�aQ
W(�"*�?c�|�PQ��W=gC�]��F�t
��
��83�"?m��l���Y],4̪��˜
+c��	c��5PJ�
+c�U
l�4�H
5
+c���!�ǀ��I(@@t/�ձDJM2�Ȉ�`8�V$�[�^�q!�j7�릺|�>�t��Œk�z�����eD�b��:��V��] �������rP{��=�Q簜t���N#�l�y�S�%�{t��j��5��@�NY辀M'kVH:���X�@�hO�L�L�g-kz�~L�D~ve�]�e������>R�t$c0ar�d�!Y�@�lUm���S�&aMa�$����A�T_ހh�"��ʛ��q��Ev���Y�ͳ�+�Ԕ��F
��g�

�5�(�T�P����Ƙ) 8u�u
a��QdV��^
�!n4��7�Ƣ��K�A�Hq\�(��:T7��oe�n�fH����C[¯����L
+���3r*f�Cj�&q����PifHp�w"�3'���( �����a�+ u
�`�R8�I��M�)�Ok����������鼬�O��ǴO�e�}$��G���p��p�+3�<4��^��N��w[��ΒO�+)����VA��2���2
+���-#��"4�+k�H.)�8��n�It�Lz�J�h�
e�5��K��l�IL �D���׾9�1�?,0���ՊG�F��O����\�"�fT9	  ��CГG>�{҈����� ��$�A�TY	䤉G���1�z���5B��}�BTPN���� (:�e��z;Q=��*S#��@��4�I��������V�����$
O۵���1<^�t"P�}�]���!>�M�T�xFI�f��ޤu�<�2�H���c
�
�K���Au�OE�o���i\C@�4c{���*9
\D?�f2k��wl at C"R*&�`$�
C8_�g.\ `\"�e/�"T���ʀ�De�_ з���rµ ���|?c�4�ϯK&XH�(��}[��'����
+��s��;d���ʿ̳�����ÐT�M�I*�z/��b��=�I�=l�G��ѥ�g8�e6��(�v����������Q|�[(>���C������b:&d8�p`�"��w��8S��c/�c�L�+`��!���hM��(D�18��ާ�TǮ���5�;mF�y������?�B���_�4��ѿq���e���IES
l��~�	l�a�V�RO��s�&�u.����e���w��8�wMX�G��L�W�$
7]' ��0�����ߣj�5�ds(`�%����!��Hho7ڜ��D����9�P��_	>�>øB��|�E���_:�M�H޼�a��
S].n~�'�)���
a?,t��Lv�$�%;L��ݣ!{Y�d�o=��,\���Y}���i�X-
+�﹪^�?}z�?���	��9
���v����ۼ��nn�
Bur7�9��HZG��TFL����:�����p��w[6�[n7N�L�
+endstream
+endobj
+14855 0 obj <<
+/Type /Page
+/Contents 14856 0 R
+/Resources 14854 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Annots [ 14853 0 R ]
+>> endobj
+14853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14857 0 obj <<
+/D [14855 0 R /XYZ 89 770.89 null]
+>> endobj
+14858 0 obj <<
+/D [14855 0 R /XYZ 90 655.872 null]
+>> endobj
+14716 0 obj <<
+/D [14855 0 R /XYZ 90 609.246 null]
+>> endobj
+14859 0 obj <<
+/D [14855 0 R /XYZ 90 604.763 null]
+>> endobj
+14860 0 obj <<
+/D [14855 0 R /XYZ 90 543.856 null]
+>> endobj
+14717 0 obj <<
+/D [14855 0 R /XYZ 90 497.23 null]
+>> endobj
+14861 0 obj <<
+/D [14855 0 R /XYZ 90 492.747 null]
+>> endobj
+14862 0 obj <<
+/D [14855 0 R /XYZ 90 419.884 null]
+>> endobj
+14718 0 obj <<
+/D [14855 0 R /XYZ 90 376.958 null]
+>> endobj
+14863 0 obj <<
+/D [14855 0 R /XYZ 90 372.475 null]
+>> endobj
+14719 0 obj <<
+/D [14855 0 R /XYZ 90 284.07 null]
+>> endobj
+14864 0 obj <<
+/D [14855 0 R /XYZ 90 279.587 null]
+>> endobj
+14720 0 obj <<
+/D [14855 0 R /XYZ 90 181.384 null]
+>> endobj
+14865 0 obj <<
+/D [14855 0 R /XYZ 90 176.901 null]
+>> endobj
+14721 0 obj <<
+/D [14855 0 R /XYZ 318.321 121.701 null]
+>> endobj
+14866 0 obj <<
+/D [14855 0 R /XYZ 90 115.061 null]
+>> endobj
+14854 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+14873 0 obj <<
+/Length 2055      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�8~�����
�
���ݙvЙ�N��>�E�ش-�-y${���=)Y�e%m\`A Q�?��s��e���G��]�S,�HK*��E�q��FB�h
ݎ����7�DLƈh	_U������7��������W8"N�@*�f���g
���/FL��C5iq�ຎ�G��6�;XA��5�L�T�q�_���6O��)� -ݵ0�}���-r�:��u�-LR��k��Wﯼ�"��T�#*,,{�`�6,
M)E+�`�$��`2%����yj02�����$Ǫ"1�OU$c�(�C
+�HǺQY�� �A�BV�0f�Մ�q��2~\�y��R�8��@i�8!����"����K��cJT˜���UG	ń�q~?Qc0��� �9���@��s�`,F��F����4ϜS|���K2.w��˼�&��wx��w�ն/&��:��WnN������M
ɡ�*}�470���77]�`'(Vͪ�oQ��j�m�*[Lm��BDS@���%�<+������� N��ue
��׃2�L���ǔͦw+�-��h�o��];oTr(v+��]�z�p�zX-�CDҤ���
�)�	RتH����*�$c�!�{J�^��ߺ��]7�K��8
N�
'����+|AG�N@&����5E�)��'"
dB�"`|�[^vZUDRx�B��)��*DqS�r�߁�z��r	(�D� O���8>���[b�!BC�g�<
y��s
S��N���"����7>�9D�!�m��Q
�47�	��_{g.#��z��
�
�,���]�t+��J��v����
+T
�GB™��y����l��H��H�B($����Wd>�
+��_�
8(
+��
���tE��Z"��u���D�'�V"��C�/2*>��m,�ٝ)�	�X
�<�
�@�ιI�
+8��1^%��]�L�@
7y�*r�ujX��xL�����(�|28��
V&�L�VU�ɔ֥�*)�e������̟J3L#&_�W�C D�a�_V/�9�d`�5APu
+R��i��=���s�nLV�%�v�[���%(Y5�w���p�XVH8U/*� .�*
7��Z*I��Y @%��` <]˲���s `PMk,;J�ԲK
��U�J�>�*�mR0�O�=�j���<�j�
�����
j@��9�� )I�t'��8�廖�]�b�p�}�+:o�d�`�M�x�f�43�Kc��ҝ+�=��U���f�m2�m��nX3��C�p��s����!���ҝ���.J��U�?Wsk�b����:��cuӁ qw�]�)k�� ��f'��N�=XbS(�KZ�&�.��-�wEj���$��`���G�N\���̟�0�)��7
�>]�[��s�m�E�/�i���%ߚ"��]
B��*��*x�����`���DZ�)!{��i+IE�z�=�D3�
��r�Ec-H�w6���*q,Uh$y����]j$n�m6 �Zu�X]_�����m�=
�L�S��Q�{�Xo�VG�7���ǝg�Tiˇd�F�M��!����/�z�
]���>�ȀB,����Tb��
+-|���Y�v�q�1�r�[ل�C�[�I�����@
+0Mړp~	��`���?�`M�o
�+�C��Ml�Nʲ�x^�̦���]�?X��+����ks��8X4�P��n�'JE8�v*����5Z�N9�cO����P�ԂC��H�q�5!Q
��PK6DY����`G+
��z��g�@�%�2����$ ��<@`4�p]7���Z��,K3���q��|n\���{w��P��d33
Uԉ
�֛�
bLM_�f��”hM ����i^��;&%�I
5��E�_�l���M�:�t��_��
�l�	��
&��hh��U
��	�=���և\!�����*�U� ���7����
�~�A�A��M�6��Rr�8�~��s�,yu����wi��Z���?�l���o�z*A��=e�7�M�U�ؿ�ʥ���9�V������~�'Z�Y�9v��Ƕ-}8�����
S����J��k����E
+endstream
+endobj
+14872 0 obj <<
+/Type /Page
+/Contents 14873 0 R
+/Resources 14871 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Annots [ 14867 0 R 14870 0 R ]
+>> endobj
+14867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.899 436.388 345.51 447.292]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) >>
+>> endobj
+14870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14874 0 obj <<
+/D [14872 0 R /XYZ 89 770.89 null]
+>> endobj
+14722 0 obj <<
+/D [14872 0 R /XYZ 318.321 711.11 null]
+>> endobj
+14875 0 obj <<
+/D [14872 0 R /XYZ 90 704.47 null]
+>> endobj
+14876 0 obj <<
+/D [14872 0 R /XYZ 90 635.896 null]
+>> endobj
+14877 0 obj <<
+/D [14872 0 R /XYZ 90 569.853 null]
+>> endobj
+14760 0 obj <<
+/D [14872 0 R /XYZ 90 513.335 null]
+>> endobj
+14878 0 obj <<
+/D [14872 0 R /XYZ 90 508.852 null]
+>> endobj
+14879 0 obj <<
+/D [14872 0 R /XYZ 90 390.042 null]
+>> endobj
+14761 0 obj <<
+/D [14872 0 R /XYZ 90 361.111 null]
+>> endobj
+14880 0 obj <<
+/D [14872 0 R /XYZ 90 361.111 null]
+>> endobj
+14762 0 obj <<
+/D [14872 0 R /XYZ 90 319.406 null]
+>> endobj
+14881 0 obj <<
+/D [14872 0 R /XYZ 90 314.923 null]
+>> endobj
+14882 0 obj <<
+/D [14872 0 R /XYZ 90 270.708 null]
+>> endobj
+1950 0 obj <<
+/D [14872 0 R /XYZ 90 168.281 null]
+>> endobj
+442 0 obj <<
+/D [14872 0 R /XYZ 90 143.474 null]
+>> endobj
+14871 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14907 0 obj <<
+/Length 1687      
+/Filter /FlateDecode
+>>
+stream
+x��Y[w�8~��ੋϩI @y�&mOڴ�m������ '���rI���
���`�&ޞ}��03�7�	76�N~����q-�#�PǸ^
��s�)0>�#ם��؜O	6E��|J��F�[dbq.3�mNO���U�E�&��i �3ʰy�<W�Or%�)�L���˹GM>��������ۄ�\� J�\��������;#�{�}=(6lj�d\M���]�
�S�D���"��YX�Z�J� 7����*�T�eZ����42��A�F/��c0
�QZi�m��E�!����_�\�0�<��JcDYլ�޶3f��f;_���{��
a�
T�%�A�z�%�-ϘQ����/���\�3|�y��~�{*�-�zLe���,M`��"?hSP�2<�ı+I@Ǧ��
�J�W
+�BT�������H�.#	r�w��SD��Q�w����7M+Q� S!&Rbv�Yxfq��LA���4/�S׌BV���A�K����2�+f
�A�W�<��
r��_0õև��֚g�2�qg��7��ص��G���U��ie#�fL:�̼Od��=6�aFC�˻t8�w:,����XF��NB3BD=%m
KA�@5�-���Y�8 ��P5B��09�
T���Q]>;๼�z��
+���Z�E�mvû0+J=���bf&�CZ���0�=�zOp0j��Q��e_
���Fq���(���Ie�t�^�kd�
+�/�$"}E����(lB��_w�Oq��
�!*��X*�1�h*��P����v�V
��� yhƌ�-��b
����
��{=E�?�(���������;��5�
`����NK���C4���͘p�y�h:�I��
��v�G�1lvcs%FˣP�⽌�6�epF�(l��ϱ�b�~��c�
Hq���O�v�9b$�E
�}"���\Q�>��F�t.�0��,�{>L���qa�8ށ�
+�ԉIX-�1Nş�yIZt��F�m���#��
Dܑqu��a"E�x�}��|��_
^c-���E���*Q٫iv`ۻ��w���,��MW�gG�Edu-��Q�d���y��kju�׶��S�7��Z1���T��
�U��-j[��


�T!���x�q{d�O��0�"��p��z�y����*Ȧ���G�
�����P`�d����o��6��WWg���n �I!��`�=d3�W矄�P��q���J��"8�k��5��&�C`^��*0��V�M�A�Qd�L0��=��m0��^L���M�r8���_Ы��=v�bE�
���
�{���5Y�n�
B#�E>@2(�����9,�YPW�
F�qm5�Ok��0��
�U[Q]��c\�S{L:L��p^�>��U�
T�C�i5Y�(\��
p����0��R\
��co�Cb��f��?�>�z�PH�BD
=7L�M���/6�v�%ir��e�4g0Eck'*�u������
�ƶy���!J�yp�4�kn~�O<��?
�X$��~��y���m�Y5-`N�!�_j@�s�5�R������qU�3�Oz��痪�W.�ߪ8���A$mYU�vWa-�m�HP���W�������}uU�v
�lĶz�����dY��Vv��4~��
=x}��D�&m [૓�zGD��PcG�	r
�XBߡ`��
ʶ����_��
F�
+endstream
+endobj
+14906 0 obj <<
+/Type /Page
+/Contents 14907 0 R
+/Resources 14905 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Group 14869 0 R
+/Annots [ 14883 0 R 14884 0 R 14885 0 R 14886 0 R 14887 0 R 14888 0 R 14889 0 R 14890 0 R 14891 0 R 14892 0 R 14893 0 R 14894 0 R 14895 0 R 14896 0 R 14897 0 R 14898 0 R 14899 0 R 14900 0 R 14901 0 R 14902 0 R 14903 0 R 14904 0 R ]
+>> endobj
+14868 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1PIP__Solution__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 14921 0 R
+/BBox [0 0 212 192]
+/Group 14869 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 14922 0 R>>
+>>
+/Length 419
+/Filter /FlateDecode
+>>
+stream
+x��T�j�0
��)�q%��6

+cP�a[`��C״
�
�;��''v������$K�$�s�!t
d�5)����]�簅�a����;�|	��ob� �� �{`$maq��Hc�^E��
+��Tp.�(vW3��>I�H at jPؓK
#vi�?mD�!�����0
j�^L6V��41�AD��KR�ʘ��u�&��u5���p���c�lZ	9tYB^��/PWY���
�:/\d��L�$�N�$J��<e�O��vԉ�['�V�v�GMP�ǣuݐ�:g����H2��e�9ݥ��w%5~�
gmL;��y'K��F�P����{����|c��|
�>��
164�W�
��
"x�!�߃fXP��'���P3��
+�ݝ���u�s��<]GL��NJJ�\��D���
�ț�y�T<�oX�
+endstream
+endobj
+14921 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+14922 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /LKRLLW+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 14923 0 R]
+/ToUnicode 14924 0 R
+>>
+endobj
+14923 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /LKRLLW+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 14925 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 667 556 278 556 722 611]]
+>>
+endobj
+14924 0 obj
+<<
+/Length 14926 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0���b��"H	!U�ET�{H���
Yp�?+�j	��o��3���<7fX(}w�jy�~0��<ݜb��:�D��D
+5J���ܮ��cc�)�*J?�8/n�ݓ�:~H�(}s��`������jo����f�,�k���t/Ҿʑ)
�}��>,����">W˔���4�V*v�\9�2�j�z�ꄍ���9l]���
�‡gY�Ձ�@G::������#�H'�="�t����ԁ
+�
+T�,Z� x�>�A|�����p����<�c�+"���M���ڻ������9?��`¼�I
��o�Nvs���
�b
+endstream
+endobj
+14925 0 obj
+<<
+/Type /FontDescriptor
+/FontName /LKRLLW+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 14927 0 R
+>>
+endobj
+14926 0 obj
+321
+endobj
+14927 0 obj
+<<
+/Length 14928 0 R
+/Filter /FlateDecode
+/Length1 2044
+>>
+stream
+x�UU{l�U?���W�Zگuݳ�ڵ{���c���u���ѭetOV7F��=d�D$b$�!�&�`b��A��?�����1$�	ehx$�q_=�W���{����wν �AP��%����C7�4��S��L6h{q�*��zlWt�/�����[�s�pC�!�/�%�����Q�
!?453h/A
�a4��%g(��u��'���tD�J�ҨW�#TƵ�	�]��^�F�Qn��(�	��ZZN��ަ��6��TNh|n��0����u/7��T4<�}OWf~��{����*��\��
@�dmF�fm.Fj(6���ޘ�j$
�n2K�T6g�����Jt�2#à1[$��ጬ<U�s�y%զ���zI�%���_�$s����+�-�h�
�jM�9��L�D��iL�J+�u{وL!�
V`"Ђ�cڄ��0��4֦%�p8�Y�l�b�7Կ�{@e;�X��0�PG�Y<��
�-����Y
�G+�m���0[Ŷ�*�o)
V�Z��$ns�r�6f
%y7����
H��z�?>h���cIr�p�?E�j
;�S[,Uk�
��(�M�.
������n��t���K$}�3�U"1��m�+sV�?�0�a������I�Ae�@���Ro~�*����e�0'W�+�*�ؿHe�S�Rm^�ʹ�p"��-�Opa�X�S͖��P�����I�5�n��wki���+�jƞ!����z�#p�r"$�v���O�S�
$��	CX��������
�;LL$ܰ��n���]"��UA���
)<u��}�3r1R��!�w�ѾV)°��z�_��|��W&�
���p�'��j�.?wt�
�ͭ��L��`�A4Π]	����+?#1���.z?�q�x�]��q&��X_����x*>'b��rr��;N)�
�楌A������xl���d]�6��n!��>t���fru���L��l�&_�kX[�7�W�t-&�ȅ�P�q�Y~ [...]
U� �VH
+���
�U�R�QP�W�e�^���7�� 2�����\��d�w�-��#��ʷ���,ڐ�j<:�����N��̺�Z=ڜ����`��5T/)t�
S=�����\�����>K�dɭ�1X�1����B���.79ͽ��&$^_�\��ǟ&DA�K�I���2\�*7'�4�����2/w.O%�����	�ɓ���a����	�����ڎ
��
�qY���^2���D�,�"b�!t ��DI�ܱ�.�  ߽~�Oi�����
�O�1N=C�~@����Xo�Pe�
"�v�.��;4�$��L�\��B�0k��x}1v���cd��2�)�xR�ė@����$�����vf��I�Dwx3��*�ic~��+���M�
8��p?€��G{�k%�
�?�i���a�V@��|�"y��^�j\�
��tHA����$�FG}+�n\������
+?3�֦B"�2��H���!�!
!}����p-·Tt�o���31���.iC:�t���ZrO�>̚
+|����A��5��
+endstream
+endobj
+14928 0 obj
+1557
+endobj
+14869 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+14883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 439.687 203.075 449.614]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+14884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 370.751 195.613 381.281]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) >>
+>> endobj
+14885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 370.751 278.083 381.281]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 343.869 208.246 354.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 343.869 239.787 354.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) >>
+>> endobj
+14888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 316.988 231.865 327.518]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) >>
+>> endobj
+14889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 290.106 178.996 300.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0) >>
+>> endobj
+14890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 263.225 247.638 273.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+14891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.608 263.225 302.989 273.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56) >>
+>> endobj
+14892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 236.343 249.281 246.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+14893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 236.343 305.729 246.874]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a50a4be6352d2c6b88989c7a49bae79cf) >>
+>> endobj
+14894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 209.088 214.681 219.992]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+14895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.421 209.088 300.2 219.992]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) >>
+>> endobj
+14896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.015 209.088 339.203 219.992]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+14897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 182.207 181.845 193.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a58ca16812eb7bf483600d204a504c63c) >>
+>> endobj
+14898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 155.699 176.505 166.229]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb91a97e6b843121536f02146fb43f75) >>
+>> endobj
+14899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.063 141.212 452.197 151.117]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a58ca16812eb7bf483600d204a504c63c) >>
+>> endobj
+14900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 117.485 220.22 128.389]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 117.485 317.355 128.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370) >>
+>> endobj
+14902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 90.604 220.22 101.508]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+14903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 90.604 331.582 101.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) >>
+>> endobj
+14904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14908 0 obj <<
+/D [14906 0 R /XYZ 89 770.89 null]
+>> endobj
+14909 0 obj <<
+/D [14906 0 R /XYZ 90 457.112 null]
+>> endobj
+14910 0 obj <<
+/D [14906 0 R /XYZ 90 388.864 null]
+>> endobj
+14911 0 obj <<
+/D [14906 0 R /XYZ 90 388.864 null]
+>> endobj
+14912 0 obj <<
+/D [14906 0 R /XYZ 90 360.248 null]
+>> endobj
+14913 0 obj <<
+/D [14906 0 R /XYZ 90 333.367 null]
+>> endobj
+14914 0 obj <<
+/D [14906 0 R /XYZ 90 308.211 null]
+>> endobj
+14915 0 obj <<
+/D [14906 0 R /XYZ 90 279.604 null]
+>> endobj
+14916 0 obj <<
+/D [14906 0 R /XYZ 90 254.417 null]
+>> endobj
+14917 0 obj <<
+/D [14906 0 R /XYZ 90 198.96 null]
+>> endobj
+14918 0 obj <<
+/D [14906 0 R /XYZ 90 172.078 null]
+>> endobj
+14919 0 obj <<
+/D [14906 0 R /XYZ 90 134.238 null]
+>> endobj
+14920 0 obj <<
+/D [14906 0 R /XYZ 90 107.357 null]
+>> endobj
+14905 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F24 529 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im22 14868 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+14963 0 obj <<
+/Length 2398      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�8~���SV�
o��`�@���l��6�yi
C��X;��Jr���=���d�VS3ȃ
�<<<��;��w�a���ד�W��*��[/�^�
+�o�}�y�����I�ҏ��������W������˄�+�# DQ��ד�����ǿz�$���Ak�S�+�j��	��`DC�U}X�@VW3B!F��2 �_�r^�E0�4�����,��W�|^gE^i
�����h�&q{01P\��Di؛��W��}~x=�>NC���7���b�U���
ٙ�h��O8�sP��/d�a�d�=�4����Ű1���`C�SoJ8����b�h9Z�r;�
�%!>���h�d�����7R B������i��UO��#V~��e��uv/c����#f�F���z���2��~�-[����h��!u~�'�eq����v(ogZ
�`�)#�0fjxo�
%1i�8�ƺcJ��f
1W
�U���%���
�zZ�ގ�i������)��Y~g�7����||S���Ηr�����2��|/S���O��.O�9<a(����ޖ����"�&0�s�A.J3���
E�����|a���l>�W�U/�r�M6貼�����e�"_�&�
+�ff��Y�R����[��A0����Yu|VO�F���8Ga�]�oL��V�%,i�
N�H��A�15P��ni-gu
+q�n�BՈ顆=�
���� a�/���+�k��F	���|�ಚU�t.g0i�ة&s1�"s��֜��QX
+|L˪�md���6�;��E1-�+��;��]�/[���:��Ͷ�ͫ��C�w��i�)�U �
�I�tm���-��`�j,�@y!}\y�ހ�eޠ�fk�ڂp�Z�e�,�+�u���
��\\

�S2�Q��jSYvPL���*t��=�ht88CL����A�7pԡ���
+c��G��*��I�@����(y�@U�8��o�H��ߘ�DG����/�'b��K�6
�2	p�6�W���AF�l:�O1E<���=��#v`Z�?Ktqי��w+�*�y�T�.�P��j컴.�oC���P"NY!
F�R��p�!�@ZvTcDR�4���#q=
T_���:�
�a��;�t�n�, 
f+��a�`5�u��џ�0*f�	,�$��� ��C�n������yT��1k���:��Ѥ��h�$�@�{4��0�G .��q0�"Ύ�SB�p>=�m��1����p�2�
<e>
��*F�����x]���9c��շ���s����8��T�i�-�j�a_��U��¨��m��(HFv6�
%�{;�(V�L � S�{���R���o�y Fe��ft��=�L3�8�N�'Ɖ�i����q^Gc
�?:��b���H̷����O4���f���ҲV
=�/
��e��J_䃧!b��C�}��.�
�|�qp�D'9m  �����q?@!T9��3�
+��y�"p��:h�ɗ���� P�{G���TH9b<1r!v"�^�F2텬�l�H|!�y�m��r/�z�5F��� kz�)e��J��W�m�cPյ��a��3���>�����I����q��b�U$ݳ��Rg�ˀr��u�mD�ڿģ���ġ�#��8q�G�EDPX�E�I��Q
+
���R.�� #L�S�@q�0�nG���M��Ec���X؀!=��!�#:�_�۽�q��`'Y9!�ل[����
3�Q
�di��`t즙�t��$+G�8yoӐ<��:�Bh\ ��My�\���v{�~�_
iZ�
[;k�s�#"\�}bln�z(�t�/��b��#���1��s 2l��`���Miok?�D�GP5twAp�6m�!ݭ�br7k�� w� ў%\/�Q7'����"�U�o�̫Կ-��yeʱ#oՂ�vU7R�C2��?�������ϯ��/�oy1 ����
����������
&��sͰ���,�b*�iw-�S��z>t�~
+�`1
��E��5�p
�m�˴�����}YUYC�:�**��3
+�Xx�h�~ �DT��Pe���	-)l6;� a'� �U�����qLb4��$@�M�����1�!N�2�P_���lp�fC��4 ������y�
 ]���	��l��S�Y�IK+�ڜO
�}#�\E��/i9�D }�:�\��~ӯ�I�p�R7���Ƽeb��9�P
�rG�E�#���7�i�ߍ=m
j��@".���t�F�JƆ��O��Z*y#�Ԛ�&:��@	n�;8�k}�/�9����5�^ l'n
+�;�:���s؜
cq�������[%˿)��~��� QE���r�#�� 
+ ��N�^8��=�nh��&
]�^������f{M�
���0�M�Q��K'뢔M�
+�i�����u�
+endstream
+endobj
+14962 0 obj <<
+/Type /Page
+/Contents 14963 0 R
+/Resources 14961 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14834 0 R
+/Annots [ 14929 0 R 14930 0 R 14931 0 R 14932 0 R 14933 0 R 14934 0 R 14935 0 R 14936 0 R 14937 0 R 14938 0 R 14939 0 R 14940 0 R 14941 0 R 14942 0 R 14970 0 R 14943 0 R 14944 0 R 14945 0 R 14946 0 R 14947 0 R 14948 0 R 14949 0 R 14950 0 R 14951 0 R 14952 0 R 14953 0 R 14954 0 R 14955 0 R 14956 0 R 14957 0 R 14958 0 R 14959 0 R 14960 0 R ]
+>> endobj
+14929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.579 195.613 696.483]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa) >>
+>> endobj
+14930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 685.579 304.653 696.483]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+14931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 658.256 195.613 669.16]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) >>
+>> endobj
+14932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.95 658.256 304.653 669.16]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+14933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.218 658.256 386.755 669.16]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) >>
+>> endobj
+14934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 631.308 205.107 641.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d27d4c) >>
+>> endobj
+14935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.445 631.308 287.577 641.838]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.529 616.6 259.424 626.505]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 603.612 234.079 614.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af) >>
+>> endobj
+14938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.416 603.612 316.549 614.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.222 576.29 223.528 587.194]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
+>> endobj
+14940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.67 576.29 304.803 587.194]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.689 576.29 395.332 587.194]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.267 576.29 513.996 587.194]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.334 138.04 575.238]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.916 564.334 349.58 575.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+14944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.115 564.334 475.891 575.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 538.045 365.997 547.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+14946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 525.057 199.558 535.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdfb492) >>
+>> endobj
+14947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 497.735 199.558 508.639]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) >>
+>> endobj
+14948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.815 470.412 207.648 481.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+14949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.423 470.412 237.297 481.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ae941ad9d780f0c225b88c5a681132007) >>
+>> endobj
+14950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.438 470.412 318.571 481.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.645 458.457 267.421 469.361]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.423 458.457 375.066 469.361]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.798 444.123 328.634 454.028]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a740610ebd6849a2b7058991fa52071f8) >>
+>> endobj
+14954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.597 431.135 187.488 442.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a68753415da58ce7afaf72efc835a65be) >>
+>> endobj
+14955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.986 431.135 257.629 442.039]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.631 431.135 343.407 442.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+14957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 419.18 179.554 430.084]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.985 391.858 203.712 402.761]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac75ace456537db34732d1e1cca5e06de) >>
+>> endobj
+14959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 379.902 179.554 390.806]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+14960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14964 0 obj <<
+/D [14962 0 R /XYZ 89 770.89 null]
+>> endobj
+14965 0 obj <<
+/D [14962 0 R /XYZ 90 704.286 null]
+>> endobj
+14966 0 obj <<
+/D [14962 0 R /XYZ 90 704.286 null]
+>> endobj
+14967 0 obj <<
+/D [14962 0 R /XYZ 90 647.907 null]
+>> endobj
+14968 0 obj <<
+/D [14962 0 R /XYZ 90 620.585 null]
+>> endobj
+14969 0 obj <<
+/D [14962 0 R /XYZ 90 593.263 null]
+>> endobj
+14971 0 obj <<
+/D [14962 0 R /XYZ 90 514.708 null]
+>> endobj
+14972 0 obj <<
+/D [14962 0 R /XYZ 90 487.386 null]
+>> endobj
+14973 0 obj <<
+/D [14962 0 R /XYZ 90 408.831 null]
+>> endobj
+14974 0 obj <<
+/D [14962 0 R /XYZ 90 329.637 null]
+>> endobj
+14975 0 obj <<
+/D [14962 0 R /XYZ 90 329.637 null]
+>> endobj
+14976 0 obj <<
+/D [14962 0 R /XYZ 90 271.294 null]
+>> endobj
+14977 0 obj <<
+/D [14962 0 R /XYZ 90 248.917 null]
+>> endobj
+14978 0 obj <<
+/D [14962 0 R /XYZ 90 248.917 null]
+>> endobj
+14979 0 obj <<
+/D [14962 0 R /XYZ 90 151.366 null]
+>> endobj
+14807 0 obj <<
+/D [14962 0 R /XYZ 90 128.989 null]
+>> endobj
+14980 0 obj <<
+/D [14962 0 R /XYZ 90 128.989 null]
+>> endobj
+14961 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F110 1507 0 R /F68 3032 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+14989 0 obj <<
+/Length 2824      
+/Filter /FlateDecode
+>>
+stream
+x��Z�۸�����
��)n�������&{���֦�Beˑ�ݤ}�ɒ-?�ֵ�'Q5
��!�h9£�7�=ܼ��b#���r�i<R\#!�m>��T<��qt?&8J�U2�S
���'3/��O�c�_�����>���1�#c���f<�G���wfa���
�"����O?�|�p��� sxD<3�V7>��
�
a�t<zq�V#N<��������$�[!������Wa�m�6s���k��m�DD_6�)�4_��U��7�����ً�َ
�6E���UxI�de*S��'��b��ۓU�c:K�l�_�S/
#*l�>��*u{����# �4��Ra�xT�]z���ï�����UR#���+�w�M�ץ���#)R�N�h��}j���B8GJs� ƹ��3���1aI��J>:�M�D��.��w��V�>�	tu|JgOA��>~ޚ"��"y̷:�$A$"W,� I!�!���{M�+E{3b�0�`
	

��_ffS�#9c}��0G���߹��d2<Mok���e��2��=��d����E���(�FaF���J(�
��$(�ۛ������d�|
+��T�ܮ̺:��sc6�:a5�>t��qD�:�ЎC�X#���:������f*�҅]
  ���S�rqǕ
G67�q>��S�����t=�W��J��Q*zI�'?���-�.�X�U�{{3��Xq
V�T�g���eM�ϯ�2��Fɐ�@?	��1�m�&�����f
�}�(�F\賢� d'
+�1O����9o�4b�
+�9n��B������])�����*�
��ق�<����ꬒC(IT�(�h���$�` �n8=��\�2v?�g_yT|�]��p�(��˂���I
y(�Á`�
(��.��`f33���33��Uwf�h��m7�2=��G`L
2; -���e޸�X��<G4�p_A'�>�<�Y�/��R 
�W�?��u�jXB񘃮��+c�7�c�	��J�w
Y�okZ�
c �4,m�M�Q	U�a�P(�}�\��#
{ciI�f���g��E�AfU [�
+�YӲg���P�� ��N��CφQ ���� �E�B�A���ƍ
+|�T�֙��N0݋b"!s���
V��_�1��UՙDKӛT"ۚ��
U ^c10�����\ƈ}:��V�R��QPr@\�x"{��uM�r�Q�h3�J��F��$�����l���@礈|���Q��/��;�&Y����dY���d����R�д!�Ӡ�A���0������
�J͗l&
��	x̣2��kv��-*�[�;	O�y�JA�w����9��<�?�0�����$�0�Y���)E�v�R^��
R�	]Tx�N
57Kr���	�E��.m��C�*�9��)b⣾�r�&�|]�[	�� 
P�7����J
���
�h3p�Z�
`b�Z ���
�.�������Bv=

��]f��k��
M�Ά!�Ҷ�yG2��nLf�)��M:���*�m�	c)��=�9ִ�N�����D�U$i ��JI�v�7�R��P ������H���k���
H߁�w�5��~��y|
+�w)
]c= �`�E]����89��]kD���Ps�����oVl�_��H(e{�
��:n{
P/�YW��uշB���چ�ߞ+&�5�ONص�����	-w�^��
|6Y_ ����
b�
���?��H@����=R���6_�E8
�G�҃+WX��?��KJk�5�d��|���wJh|g���۴�aaԷ�
�+�t�?J<���
�x
N�%
�K�:��%A����L�B�їKr���M):̼
��tC�jNx}ƛ�6Y�CG�E�:8Dk���F��2X��"������H�<K���A��!}sջ��GC`L!����z�ǵџQƫ��W�6W6��/��*W>]�qP)h̶Ea����6�['u��.�[ϲ��{h�N�\
��@?���0����=�40��&��eC'�Ʈ!T!�|�-�0���k7�C��ՐY���aP�\�à�
�C
�6��޹��"�c��"��E0�#g
�?9c�
�-
�M[(I�Ԕ��-s�/�dlǮpq

T8�n?�<�w�E^����i��nZB�-�Nk
�3���ԁ�+���-8�����l@[����f�`��@O�h�mԹ��iBit��-wvwWS��P���P:��:�nG��
+��ۙR��]T���+A��#Y�C�]Uӭ`SZ;���1�b���
�ĺ}��*�_�0^+��j
��N��$�9��%�I%G*���x��V�Z�uL��@��殛�.�
Re�E�2{p�-�s�hC�v�l��|[mj螯���_���J"ɐ*�j��im��
�7ҟ�3wk�%�F�ᦎ5��e�w�x?=�O���j�g�OښͲ163wݻB��A�� �WN|�T��(��&COOa{*~�h8%�T�B���
����B���
��n	�V�ʸ-6�Y-W‘���K��8Fx(�%��m.��K{�/a@�vxK��I5ET�A&���+�pǝ��
wh�3���L᮸�*���~��Ğ��K�=��{v�O �+ �)��0
�J������S����5�-HY��ZHc;{t�_V������B+Rg����(��$����"u�����_JS��^�
~��d�MZ���bwϟ �}�CK�M��������n�pv���Օ��ܽy�]�f�D�|u�
�u�
+�F���\�E�l��|+���	@�%�%��
�
���n�������+6�K�9�� S_"
+endstream
+endobj
+14988 0 obj <<
+/Type /Page
+/Contents 14989 0 R
+/Resources 14987 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Annots [ 14983 0 R 14986 0 R ]
+>> endobj
+14983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.298 614.502 471.431 627.02]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+14986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+14990 0 obj <<
+/D [14988 0 R /XYZ 89 770.89 null]
+>> endobj
+14991 0 obj <<
+/D [14988 0 R /XYZ 90 692.066 null]
+>> endobj
+14992 0 obj <<
+/D [14988 0 R /XYZ 90 638.377 null]
+>> endobj
+14981 0 obj <<
+/D [14988 0 R /XYZ 90 591.752 null]
+>> endobj
+14993 0 obj <<
+/D [14988 0 R /XYZ 90 587.269 null]
+>> endobj
+14994 0 obj <<
+/D [14988 0 R /XYZ 90 516.538 null]
+>> endobj
+14982 0 obj <<
+/D [14988 0 R /XYZ 90 457.958 null]
+>> endobj
+14995 0 obj <<
+/D [14988 0 R /XYZ 90 453.475 null]
+>> endobj
+14996 0 obj <<
+/D [14988 0 R /XYZ 90 370.788 null]
+>> endobj
+1951 0 obj <<
+/D [14988 0 R /XYZ 90 161.165 null]
+>> endobj
+446 0 obj <<
+/D [14988 0 R /XYZ 90 141.59 null]
+>> endobj
+14987 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15021 0 obj <<
+/Length 1348      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W�f* ^4mg�8�8G��';��HX������w^DҴD�V��-��
.��Z�ڻ����[�j.r-��7��5�t���׮t��㯋��
D\
f��ן/o.s�n�f1�x�5R`�v4/]}Ś��5���hjP����P���
�/��B"�X�"�i�������|��x�IҢ1��4��Yno�����`��t;��.f�Ř2=by��b�"�|��BdU\İa�ƨ�
Let�#�\b[L
i���jf�qvA��	��
#�ɦ�yWϘT�M�)|�>�
؂��g��z#�@K,dRG�ra
5��0Xk�v5a�4[��ޥ���/j����4�16���˒ 
�\�{�x��S�)�g,Ӏ�"&-�jZ.���Z�0O���A\�1+Yn� )��tLm]�
.��� ;�1�C
��#��jl�a�9��c�ѷw/�vF}qS�����7���D�y����i��
���
+˿<�U�)����=����Y�l���
/��~#��~��&,�v4T* �-Z<
x�I�D�ZS=%7G��3Mq���_�MX�X��^�}�J�E��&��Џ�"ݯ�oA�o�ۋ�����a����b�"���Dc#Ӯ�ya���җk�0���= ɋ��	l:�M�v2��o�8k��.	�\��ɓ�;�(�xn'�/�x.�ʡ�mSX��X����#p�7��Lda���Y1��J	b�!�a���01bTn:�
�
EtȦrm�
��2�6�PoTc�k�K�FA�j���"�ӍJ���C�T��Dg8��U�
�p>8�����J�=Z�_'p at E􉉂,k
�ro�q��$KU}�6m��Q;�D����$Dֹ<�~:	3�M�qjoPq0�˪�p*4�*�|f*�ٲ�sN�e!�����A<���F�a�N3��B�%aPO�\<�R�9�:
�L�}����ћ�犁�:^�
���(u�/-�\�4�r�����j�N!�ik��^�!)�*f9�f����i�
���
��37��ܺ-��p���z�
7U�r��>��I�G&&�!�{c
�1gX�1��4���t�� �4�<͗w�����:��'��aPy��ʓN�]k ��38K[R��w�_��K�#�@�CyPw��uYxr
���GI�D"V��
+88�1�^������My�)d�����
ziۘ�=s��>[U�>t�~�>���/>��dg��n
�
�L�B9F��0��>��2��3V]
~�q]kI���t�?��C�	��G��ߵ��u9k��L�v��6��gg��:�yI�Xͻɮ�Φ���&*JRQ]i�#
�%�#���Լ�
+endstream
+endobj
+15020 0 obj <<
+/Type /Page
+/Contents 15021 0 R
+/Resources 15019 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Group 14985 0 R
+/Annots [ 14998 0 R 14999 0 R 15000 0 R 15001 0 R 15002 0 R 15003 0 R 15004 0 R 15005 0 R 15006 0 R 15007 0 R 15008 0 R 15009 0 R 15010 0 R 15011 0 R 15012 0 R 15013 0 R 15014 0 R 15015 0 R 15018 0 R ]
+>> endobj
+14984 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1PIP__Tree__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 15033 0 R
+/BBox [0 0 380 170]
+/Group 14985 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 15034 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x�ݔ�j1��z�y�Uf4���C)zh��C������
���k�]��$�SX�I3��O�i4��'�B])��@_����#]��
�����m�n��nn�-���B 
�D-�ԇ���
}3��ʰM���S�My���g�	֐Š ��B�Z�9Y!����[JI!�S��g*LÓ��v�!,
[s{����T��;﫢�j���G�WY:�i!A�4��΅:S��z2�z�,�}����1�C�8�&r7��9 �@�X_W=
�}e[�㎔��pt?��"	�8
�1`��������1�5����
���:F<zVQ
!�V�����%�u�$���-�ӋtWa�����SM-1	�	�<�-�)�i��_ �3Q2k����y���*�Y�Z�u1��R�f�dU1,�{@���d3^,a��������� �쀛"��
�*�6�����&	cUV@ϼV��
L�iO�!>+�g�G������ �b���/�zj�eic6��Ei���|>�z�AVR��<U���yD���1���
Q�g;�
�'o����A��4�O�V����
+endstream
+endobj
+15033 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+15034 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /WBOIUP+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 15035 0 R]
+/ToUnicode 15036 0 R
+>>
+endobj
+15035 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /WBOIUP+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 15037 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 278 611 722 722 500 500 556 667 556 278]]
+>>
+endobj
+15036 0 obj
+<<
+/Length 15038 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��<�
�C&�4B��
����`�%E*�2����x�T�%�>����uzi�3,���I��P?�x�nN1u|
L"r҃Z"���MRon�y�1��T�^����IO
?$D��9�n0W�}]Zl�7kxd�P��5i�}�i_�Ȕ��^�u�m��e�

IM�g+;i��T�_5U�_u�F�����W�҅r�˳���@y�� 
�rPM�J�z�Z�H�
��
:C{IP	�@H*b
-vaP<Y� �
>T��=�
B�"j1��|�H1_�!_���p��Al��>eus�8<�0�m����볓�\���C�u
+endstream
+endobj
+15037 0 obj
+<<
+/Type /FontDescriptor
+/FontName /WBOIUP+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 15039 0 R
+>>
+endobj
+15038 0 obj
+331
+endobj
+15039 0 obj
+<<
+/Length 15040 0 R
+/Filter /FlateDecode
+/Length1 2328
+>>
+stream
+x�UV{lZ�?���`(\(��`l� \
�_1���
M��#��Y�:]�t��TM�Ej�%M��N��LZ�G�G5i�?��J��u��vR�lM6���M�*_��;鐾s�w����}�
B	!��0��N.��9��vO�X8;{��G!��!D����ə��%��
��l(~Ĕ��%ՙ��U�Y�S���3
Kӓ��|������2��x���6ӄ��Md��Z��n�Z�L%��Y�e��Ss��Bnrs�+&�B�J�ڴ�A�{�^������;�a�0��FC[L6�"�b�K
��a����]fde��x	��y����yO�Sڬ�q�y;
+
��z
6��@��S�Lo*ߟ�i(*�������xQI���������6E2�6
�k�ӕ�v
�ײCEvg,�ctT�4��r��l68�
n�׽u*��!Q�@HC>�ì�
���{�4�J�b�!g	G�c}'��L�d+/Ùn�_�� �]iq0��%ǿ��Y���z�ao�@�o����k�K�WG{���'�8(��7Õܽ\�u�Σ.D�Y|�k��u��Hy��ݥ����s���J���y
T��vnqym}�;��
����}e�nƲ��f�&E]����*՟���ՔXr�����~�TD���F�OT��x
����ډ*S��\Y����
���X�U˓L-dH>O�oХ��0/�v/W��Pmg<��G����t>�La��?�5�.�����UO*�[
Fx��T
+z��E
��i�+9kKi�9���w�}+&Nx�:h���н���ܑc��]��
�3yp�h>�f��
�YJ��������o����ì~�g
�|�[�
�éT�+��9����i��`ytliqtb	�'���^��[
g���f�V
8;�]F�`������l���I�c�S}07��Ϗ
�@NML"�R�5��l�G5�'�eV��̷F�����I$�G��;��H�~�������r^�X��Q[ɶhW�8#����~3��z�����a�c�XHC�,
����؅�����d�!��"IF㩖m�	��隤l`�-�7YJ�i�uI�F��<��V��E���⫯���ͅ�兛l{K�����.^���B
?N
ck��ݪ�BE����!U��
��y.U�<1�v��h��Z���O���<w��T�/��w
�p�*iއ&�H�	��9��h%�W�i�/9\����_NѴl�ok���3ӷ�7�
�
+k����=���\��6�Ni��Yޞ�+�=��;�����m��Og
�H��p��75�=��n`$��7����|�&���a:�ުe6k�����
i��K7~�����h�N
��w��7X��8��ƛ�4�s=�j��5&mn�s��xj�'Թ;�?�8��X��kST��U�X���m`
�X��	}��)0p;jO��"�`<�뭏��{b(�V<���%�!b
����>���pDWf*��8���I2UX�V��w���R���M2i�*�^"���`��;�M�
F�ˉ��$�$
�l�b��ѹJ��.&%D������h��A7G
�̙H^
Mk�����'K���Jd���~{{����N	.��r�B!ٳ�Q���Q|�թ�����~f�.I��d�Փ:#Y�t���=���S��
k�'�
J`�
���"h�M����!_�Jg�7� dԻ���[a7 |��U��Ŕ��Ac��k9k�&��AxS���}9�
r�S�I�� ��ht�� [...]
+endstream
+endobj
+15040 0 obj
+1775
+endobj
+14985 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+14998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 472.067 218.955 481.995]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+14999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 388.397 207.337 399.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+15000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.074 388.397 344.419 399.301]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
+>> endobj
+15001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.414 373.577 312.271 383.482]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) >>
+>> endobj
+15002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 318.031 208.246 328.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+15003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.216 318.031 239.787 328.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) >>
+>> endobj
+15004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 289.738 215.994 300.268]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) >>
+>> endobj
+15005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 261.444 178.996 271.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac5612e1699099eb4ce49e81b696ae89f) >>
+>> endobj
+15006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 233.151 247.638 243.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+15007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.608 233.151 302.989 243.681]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac963d832360fbbf4936bd81bd82f4d44) >>
+>> endobj
+15008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.935 204.857 249.281 215.388]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+15009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 204.857 305.729 215.388]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a43eb178d5fe05266ba5f76962e836bfe) >>
+>> endobj
+15010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 176.19 215.259 187.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.999 176.19 271.159 187.094]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) >>
+>> endobj
+15012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.076 147.897 385.359 158.801]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) >>
+>> endobj
+15013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.076 119.603 377.758 130.507]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b) >>
+>> endobj
+15014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.31 179.554 102.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 91.31 264.484 102.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) >>
+>> endobj
+15018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15022 0 obj <<
+/D [15020 0 R /XYZ 89 770.89 null]
+>> endobj
+15023 0 obj <<
+/D [15020 0 R /XYZ 90 490.199 null]
+>> endobj
+15024 0 obj <<
+/D [15020 0 R /XYZ 90 417.547 null]
+>> endobj
+15025 0 obj <<
+/D [15020 0 R /XYZ 90 417.547 null]
+>> endobj
+15026 0 obj <<
+/D [15020 0 R /XYZ 90 336.851 null]
+>> endobj
+15027 0 obj <<
+/D [15020 0 R /XYZ 90 336.851 null]
+>> endobj
+15028 0 obj <<
+/D [15020 0 R /XYZ 90 306.823 null]
+>> endobj
+15029 0 obj <<
+/D [15020 0 R /XYZ 90 280.256 null]
+>> endobj
+14796 0 obj <<
+/D [15020 0 R /XYZ 90 250.236 null]
+>> endobj
+14795 0 obj <<
+/D [15020 0 R /XYZ 90 221.943 null]
+>> endobj
+15030 0 obj <<
+/D [15020 0 R /XYZ 90 165.356 null]
+>> endobj
+15031 0 obj <<
+/D [15020 0 R /XYZ 90 137.062 null]
+>> endobj
+15032 0 obj <<
+/D [15020 0 R /XYZ 90 108.769 null]
+>> endobj
+15019 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F11 613 0 R /F24 529 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im23 14984 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15085 0 obj <<
+/Length 2300      
+/Filter /FlateDecode
+>>
+stream
+x��Z]o�8}ϯ�S�j��(3̶�Ef�E���K;�I�cI�(5����)ْe[v�`�E�Z��ˏsW�΃���������`N��z��`G��
�5w>NFŸ��xr=%xi^O)���G9/��]rWD������ux;"e��|.�3����"R�\~���4�bxJ����������~�=�|F`p�!f0
�����?�3�ۿ9��w��F��R�
���g��
����k�#�C.�
A"������y��8�0�/�,��}�GT<ء}�[��,�$+����0Ǫ�_^�,d��ٟ�W�B�e/�2+�О�;q�������m�
f�z6�"ϥΌ�(�-b�z<v��L[�xK^{�q�{u{e�t�
+�Q�4(-�e1e`5S�O��fƐ���D4�>ă�"��!Q����N��
Q�EA�O�r��$	�U�<�A������ �
��{ m�2c뗛�WW
�٥�Q@ǨLr�,� 6�˃1��S$p��ػ<_�u�G�&�
��0c}}i$=2�7��C�e��u �
�
�(4���(�f�*����=�X4����뎢��R

mR�fJ�8��f�J�j�a
"u at O;f̣����( ښU��
�<�
�S΁}3Ft�*�"SC�	�\5��
�4C�k�gro���8�J�W�W������G
5h: f��s���S-	��:C&|��|I����xO*ӼxU�_��K��-o�y-B�n��wϥT�ܯ?�˟�q���
�MkzD"�K���_3�&v_4���Z&M.4>�#4����_:R�
!�K�����_KYd1��=��Hk���N�޽J�ߚ/izD�^�S/D� 
Q01c~I�5
��b#�?�����T[�������!�ݤ�
��&
+��Ew]C����f��nK��pqC�#چ�ך,E���~\aܾ���~X��Qx#?W��fh�p\�E<��K8�XF�,�Ȳ�
�ܳ��t��j�+5�zdj
GX ��ː�2����~[e���c�`���1�J�'E���.�ǖ(�m]��B�=n }���ހ��LK�ֺb>�|��b�>�Xu��7���o\5r�7(U����Y��Ρם�6|���G�,���4��j݇?�Gr��{m�?���/�����pJٗ�[#t���w��
%��?��U��A�aK��9|�g��t׷���,sp�h��m�
�D��gc�l�?l
+�{��b��@l4Vm|\�A�Y�F?H�
sGD?2��)�l�P X7��Ȳ/���(�P�_��e��
+c��,�?Δ���h����30��8*oa9�M��2ԥЅ
��ŢG4�RUw+��%TwG�?�O at X������S�r?�\~X�_��zG�ȼ�8A�����72N����ݏ]��ߘٖQ!�W��Iic�y��� �9���B��aev�
5:)�^��c
y���x5��c]� ��[��!l�Ŧ���^��Gjo
+>XK�C		ƀ�[U�yTʰ� �DUߨn1� �ٶTe�C8z��B�N�I*��?�(k�SzR�(�!�4��L�\Oo�
+�M���Q�
+��-�q[&���(�􈻷�`�:O�eU��k�O�]oJ�"�ةPS|�0�:J��qw�VR��y�OD���z�ɖ�"j+m+���E*�"��]�\H�̯��%^�G�Zg���
�itz���w����)"X
��`'.�X��)�}oW�}�ֳ�M�[�e�xO3���f�Zu�۾� Я?x���S���@��.?9:dt�J-�<`�[�;�R&#\I�jWR�v��
�j'XE���v>14X
��P�u�_�ʸj}3:�3�r��j]�X��QKH�:V6
+�`P;�K��h>_
ӻ�9�b�g.�_
�|��1��oW��E�+!ք�n�����*���f7�Ԗ����!4Z4L���S�Y�{/k�g>�l�uYe��8i�hm��ۖ��C��p�}�υ"g -e	_� P���.�D`NL�%$�
����Yx�
��
zp�={�qL����������_}Oj�7};��ؓc�����w���v�a���6�f����@>��7�hE���ɲ�qD���nF
Gl��
�Ž+`��n���~g.�Q�}Ů��(k���3
�
՞�o�0ۓ+7�O�A��4W�듞�_\�W_��ryyqqW=(�=�8O7���<�E���g�4/�O�&	�8Qs��YG!��h������#����֮�͋���Uʜ79,����� ��h2
+endstream
+endobj
+15084 0 obj <<
+/Type /Page
+/Contents 15085 0 R
+/Resources 15083 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Annots [ 15016 0 R 15017 0 R 15041 0 R 15042 0 R 15043 0 R 15044 0 R 15045 0 R 15046 0 R 15047 0 R 15048 0 R 15049 0 R 15050 0 R 15051 0 R 15052 0 R 15053 0 R 15054 0 R 15055 0 R 15056 0 R 15057 0 R 15058 0 R 15059 0 R 15060 0 R 15061 0 R 15062 0 R 15063 0 R 15064 0 R 15065 0 R 15066 0 R 15067 0 R 15068 0 R 15100 0 R 15069 0 R 15070 0 R 15071 0 R 15072 0 R 15073 0 R 15074 0 R 15075 0 R 15076 0 R 15077 0 R 15078 0 R 15079 0 R 15080 0 R 15082 0 R ]
+>> endobj
+15016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 707.957 154.727 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9ac8b3ffed6355e1de3f16b194a90a42) >>
+>> endobj
+15017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 679.976 181.845 690.88]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
+>> endobj
+15041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 652.369 176.505 662.9]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) >>
+>> endobj
+15042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 637.332 450.955 647.238]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) >>
+>> endobj
+15043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 613.056 220.22 623.96]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+15044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 613.056 317.355 623.96]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) >>
+>> endobj
+15045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 585.075 220.22 595.979]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+15046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.719 585.075 331.582 595.979]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5) >>
+>> endobj
+15047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.43 515.071 241.937 525.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+15048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.674 515.071 339.338 525.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+15049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 445.441 179.743 455.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567241cd) >>
+>> endobj
+15050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.08 445.441 262.213 455.971]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 417.086 179.743 427.99]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) >>
+>> endobj
+15052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.08 417.086 272.913 427.99]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+15053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 389.106 192.565 400.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.535 389.106 244.33 400.01]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8) >>
+>> endobj
+15055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.505 374.442 266.4 384.348]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 361.499 205.107 372.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091) >>
+>> endobj
+15057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.445 361.499 287.577 372.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.529 346.462 259.424 356.367]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 333.144 234.079 344.048]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) >>
+>> endobj
+15060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.416 333.144 316.549 344.048]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 305.164 220.779 316.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+15062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.749 305.164 255.638 316.068]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020) >>
+>> endobj
+15063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 277.183 176.854 288.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77) >>
+>> endobj
+15064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.191 277.183 287.538 288.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+15065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.222 249.202 223.528 260.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1) >>
+>> endobj
+15066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.67 249.202 304.803 260.106]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.689 249.202 395.332 260.106]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.267 249.202 513.996 260.106]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 237.247 138.04 248.151]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.916 237.247 349.58 248.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) >>
+>> endobj
+15070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.115 237.247 475.891 248.151]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.815 197.311 207.648 208.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+15072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.423 197.311 237.297 208.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a740610ebd6849a2b7058991fa52071f8) >>
+>> endobj
+15073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.438 197.311 318.571 208.215]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.645 185.356 267.421 196.26]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.423 185.356 375.066 196.26]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 157.375 194.567 168.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a2d4cc0630c7f91e7e490a1322c53e5c0) >>
+>> endobj
+15077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.814 157.375 350.59 168.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 129.395 190.503 140.299]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a1c4c199e8c2b7038c2cc7769d20d53c9) >>
+>> endobj
+15079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.985 101.414 203.712 112.318]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a850e5f1b5da521aff7ff926c0b54aa7a) >>
+>> endobj
+15080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 89.459 179.554 100.363]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15086 0 obj <<
+/D [15084 0 R /XYZ 89 770.89 null]
+>> endobj
+15087 0 obj <<
+/D [15084 0 R /XYZ 90 698.973 null]
+>> endobj
+15088 0 obj <<
+/D [15084 0 R /XYZ 90 669.298 null]
+>> endobj
+15089 0 obj <<
+/D [15084 0 R /XYZ 90 630.358 null]
+>> endobj
+15090 0 obj <<
+/D [15084 0 R /XYZ 90 602.378 null]
+>> endobj
+15091 0 obj <<
+/D [15084 0 R /XYZ 90 532.11 null]
+>> endobj
+14640 0 obj <<
+/D [15084 0 R /XYZ 90 532.11 null]
+>> endobj
+15092 0 obj <<
+/D [15084 0 R /XYZ 90 464.104 null]
+>> endobj
+15093 0 obj <<
+/D [15084 0 R /XYZ 90 464.104 null]
+>> endobj
+15094 0 obj <<
+/D [15084 0 R /XYZ 90 434.389 null]
+>> endobj
+15095 0 obj <<
+/D [15084 0 R /XYZ 90 406.408 null]
+>> endobj
+15096 0 obj <<
+/D [15084 0 R /XYZ 90 378.427 null]
+>> endobj
+15097 0 obj <<
+/D [15084 0 R /XYZ 90 350.447 null]
+>> endobj
+15098 0 obj <<
+/D [15084 0 R /XYZ 90 322.466 null]
+>> endobj
+15099 0 obj <<
+/D [15084 0 R /XYZ 90 294.485 null]
+>> endobj
+15101 0 obj <<
+/D [15084 0 R /XYZ 90 174.678 null]
+>> endobj
+15102 0 obj <<
+/D [15084 0 R /XYZ 90 146.697 null]
+>> endobj
+15083 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F90 758 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15123 0 obj <<
+/Length 2016      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s۸~ׯ�SJ�T0 �x3�I�u��uc�)�h(
+��P�BRk{}nIъ�뗎
D���� ��y���쟋��U
z)J#y�[/�^�R�#���>�,����O^%�����o{�����F��}��}�x�=bp'^��}���5
��a��w�'m=FC�.��ٿg����Q}Y�@�P3B!F��6k�<�S���u@�/[��bm�~ە���վ��BV�ֶ��~_\E�mH�X�xs�#�^�(僵��9��o�
����X�y������B�*����eV�����ڱT5��iח��ik�m��W��+�
z��h���|��J��e=�h��,���qhf
�g(M����2�	��������usQ��؛�Iʌ�7F��(w:�|k�a~�
0x��;�
STw�����桭�0��h�@���p1
+j0D1=?~+)�ӱ��v�WEY���|#�/O��׬���^H�~vAz��9��DT@��d@�?!���.T�xBR�ի��P���0��P�{U�i�x�ԬK�V�I6��&]��|�`��J���� ���z:�	<��[�e/�C��2~W>L����"��u~Y�%04ȅz���4���`
�V)1J�[Y^�܌�[[�a
L�C�)l7�J,�j��r�WVV�^��a=�{v�����ji�>0�$(<4�VN	J%���C;!*�QĻ �
 ���
G�;��!G[� �7-xf����xqD3ys�l�!/�k	Ż
� n� %c��;�6%�[f���r�Ч�6��qbs��h'\\�B���;��A,��S��%���U�_��5�J����ȋD�ȋ w�^ip"f�p���/m�Պ�<+bcE�y!3o3�0
+�~b�eүZ��
S�am3��
6�f~�d�m�/K
rS���8<g��[��(> �K�^�T*��F�%МN�� [...]
'��-k��]=�c�
.e�Y�7F���܀�� �\�5�R��Ǔ�zS��������޲6�,o�׽�rq�벾����i/�^t�
�h�wg���G�!��D�
+Є�
@
S�8����: �>ՍB�5����{�SW7Y�UP#��µkGb�Q�wzi��:�l�ƾ�T��w���•���"�8Dw����S!Ћ�^'�<j�f@#�	0� �~-�1��I�
�&�i�K���۾��]W�Se8òN}`
��F���9�

�}��Ǣ�j�$!�
&�1����<
+���(����	"�A��lK���D���NrF��pj�1M��S��MBh;�D�\�q؄���[�R���Oy�5�-3�a0M)c�*m�"�*�� �`��bWC]�ˀ�
+֩=���R;CP���Y���Zn;� ���`�x�6��{բ,��&�f�֢.3�]%�����}�?5N���ZoS͒*�t��'��|��P.�h�h�g��x�����'�R���rN?.,j
k�F����[H��̆{�����J�떣;U}u���I�42'�׻�5�Ŀ(�
�fǗ�4暖FPHO^�R������5+�8xP�"4��� ��,B�ǍX�*�pz&q�*�@�IU��X��#��xy���X�g�"
+İq�X��������/�s
+"�p������
�6���;����\�X?� yx�h���g��cQ�E%>�$��!
2�

P,k�uu����~g�VW(�,���fxg
�����������40Ĥd ��#`PJ�8�lvPT�"�]�E���ֽ
�3
4
�D~f�����uqW�F��Pu2(�u���Uk3�@��µ���U�
�vn5�:�'�.�5��NV��݄�������T(��0{
������/��B
��
�����B��$��
+��=�n�
��qz�$;�����A���h����9�S���/��?���p�7���;�U5h �n:EV�
;��^_:���T����C�M��./.V�; Aw(���B��q�y)��h�[Yw� �䎂�?	��*
+endstream
+endobj
+15122 0 obj <<
+/Type /Page
+/Contents 15123 0 R
+/Resources 15121 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Annots [ 15081 0 R 15105 0 R 15106 0 R 15107 0 R 15108 0 R 15109 0 R 15110 0 R 15111 0 R 15112 0 R 15113 0 R 15114 0 R 15115 0 R 15116 0 R 15117 0 R 15118 0 R 15119 0 R 15120 0 R ]
+>> endobj
+15081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 683.479 227.503 694.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9579b18f0878bf26e817c7215ceb4aa3) >>
+>> endobj
+15105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 653.083 240.982 663.987]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd1af04908aea1d1e5deda23b627a24) >>
+>> endobj
+15106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 622.687 240.982 633.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3b556a97f08c7fc9cbf0e4e9e7b6d901) >>
+>> endobj
+15107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 547.983 192.565 557.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.535 547.983 232.156 557.911]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) >>
+>> endobj
+15109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.364 531.136 237.259 541.041]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 516.611 220.779 527.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+15111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.749 516.611 260.619 527.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2) >>
+>> endobj
+15112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 486.215 191.737 497.118]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.236 486.215 242.377 497.118]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba) >>
+>> endobj
+15114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 455.818 240.255 466.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) >>
+>> endobj
+15115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.753 455.818 324.637 466.722]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) >>
+>> endobj
+15116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 352.86 226.034 363.763]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) >>
+>> endobj
+15117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.157 352.86 391.99 363.763]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Tree__Node) >>
+>> endobj
+15118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 221.038 197.257 231.225]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node) >>
+>> endobj
+15119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.612 195.613 208.799]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node) >>
+>> endobj
+15120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15124 0 obj <<
+/D [15122 0 R /XYZ 89 770.89 null]
+>> endobj
+15125 0 obj <<
+/D [15122 0 R /XYZ 90 703.639 null]
+>> endobj
+15126 0 obj <<
+/D [15122 0 R /XYZ 90 703.639 null]
+>> endobj
+15127 0 obj <<
+/D [15122 0 R /XYZ 90 641.197 null]
+>> endobj
+15128 0 obj <<
+/D [15122 0 R /XYZ 90 567.251 null]
+>> endobj
+15129 0 obj <<
+/D [15122 0 R /XYZ 90 567.251 null]
+>> endobj
+15130 0 obj <<
+/D [15122 0 R /XYZ 90 535.121 null]
+>> endobj
+15131 0 obj <<
+/D [15122 0 R /XYZ 90 504.725 null]
+>> endobj
+15132 0 obj <<
+/D [15122 0 R /XYZ 90 474.328 null]
+>> endobj
+15133 0 obj <<
+/D [15122 0 R /XYZ 90 400.382 null]
+>> endobj
+15134 0 obj <<
+/D [15122 0 R /XYZ 90 320.601 null]
+>> endobj
+15135 0 obj <<
+/D [15122 0 R /XYZ 90 182.225 null]
+>> endobj
+14806 0 obj <<
+/D [15122 0 R /XYZ 90 158.569 null]
+>> endobj
+15136 0 obj <<
+/D [15122 0 R /XYZ 90 158.569 null]
+>> endobj
+15103 0 obj <<
+/D [15122 0 R /XYZ 265.271 77.486 null]
+>> endobj
+15121 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15148 0 obj <<
+/Length 3123      
+/Filter /FlateDecode
+>>
+stream
+x��[�r#�}�W�)!�VX�1�JR��Vv씼�$�-ֈ
I�
�����9�
$(͒�+y҈6����� 
=��蛫��]��ڈQJR����a�ґ�)Q��Gƌ�L��t|;at�m���v��\<?��M6����d�盛�oo�w#Ǜ	K�y>�[9�'�\���l�u����
X��1-�X&b����~�bP���SFA��ly��#
���w#JD��~�-G�
�]��_�xE�uQ•}��UB��J�c�ENx��O.�e1��<���]���
_c��
+4}IMN�$m=V�%�'1�^�X�\L;Sk�9%�214�\�DjO����d�7���<����,���h5��y`����1q*	eܛ�B��f�)V;�QE'�R��v7��)��M�-ݻ�Y��~͘��(Dj�y+��7n����
�W�s��Jv��y���p�z����YihRJT; �bNج\m���c��k��޵H�܌0�0jj�Z�G�\��gD�fp#<�	�6vO����m��6e�����' 䘳]=$P��Y��&8)k���O90�5�fO`+A7��
�2�Y����;����ߺ��ݡ��*%	6�E7�I�QvB����t��!�{A*�g"U�@�;��HŔ�|�V�p���u�TLs|x�
`��$ő�k \�w���=;A^VP1M�
+��O��J�DHl�!B��qW�4�
(I��>���2U�0���$[��U
���sV�lW��a�9[��;
�,&bΕ�*�Ӕ�D�dN4d� az��g
�V�>��/�;N�M9�
P��(�N	�4
B�p�RŢh�(I��� v�b~���
���8��k 
�11��ڛر��z��B�I�TQ&7��}��O�x�g{���Y�Q���
�H�׼ĦY�UU�/�e��!x�n|��^

2'4��s
+��u�~���ĥYՠy��W[8���y����Fj�V>aj�+(�
+'�b��FV��������
+�
W�&��״]g�P���K�H�& 
"�7/��%ШSu�-�m��ڳ��>n�
�Kȉ��[�:_͋�����sk0�3K�}�����d�4BY��n�Sg�ZHz �/Z�������$q<A*�)L�<%���r4K�PG���4)��B=�r0�`x���sL� ��u�$����c�r��"���0��X�8˓Wm�"}�%B���]LH?�CZz��a�8oS��
�rÏ!�N�M@| ��R��
��v��҆�/f�R�C��v��z�@l���6����)fuRP,�
����U`�?��=lգ�C�O����P}a|Q8���S��4"��.��>eDQ'��
+$.$�����CR�
��
�
6�p[m'�<ֳ���j�B��-�h�ׯ����9 ¥��@[�V���i�5(y9��BmYPń\l��$"K��Kwe�����%ɔ#Lý8m�ƴbB�vCFR���p
+22���
���ˋ�V��=
��ˋmTZ,���էH�T���l5w�zY�����η����p�v��Z�"k�˜�o�F��W��~��N�R]��xH�.�!]!JL��*/�:A^�x��ڦ5O��-��-�}s��n|V
+]�~�}��j�t
���?9����������Pz�s:
ն��:-ڕN�}=k6����_���Ȇ��q��T̞�/-6y6v��q`[�EX]�("7��L0,��OE��cE���Ct�^��<$�$f=�Dw�$^����
k��2~��WO�e���DO�?/�K�~��
a�X�i;�?
Ng/���C�M�#�)�D�'�f"���V)�-N�nӾ���9
֢�P�0��j���m~\x/f�)|ud��������E�7$Mb��L��f�¨�t��f����0�Ҧ�NA���
+7�u��U�/�YQ�Ϊk&~�2����^6��r��]� �
N݀�l��傦g!C=��b�A��T�
||��I�A<er�$�3P���BkD�0%b$p�^����%�$��J�o�*��<����k�zoD(Y1�
+((@���
��DЉ01��b�ٖ�O��%��O(-N�V��'��
ԧH�k%Dݎ�~�3%��s_���-�iˠ6=�3�
�B���d��¨�
+�ڶ�D%��:�<���l[�ۇE�zS�ca�� ��|�
+���UŐQ�&�2�l�m6��ݦ����_���/��x�;��������$l�����)I���3� `\"����N�	uyj�Z�6�=��Nİ�i���V��j_���AM(d���9;��������Dwm�w{��%��
4�
+R8��+p5�O�"�
޿p�[5.x��߸��W��|�o{���E�:����
�s���k7[�h���N�
�w�n�Y���i�+���V�Y��q�Z���O���^jY���	�Cc����/�ϺXX�i��h��m�`�cf��%VY,�1�,j����Ӷ�L�`���?ֵ9{��с�2敳�+���P�(�lM$���� �[n�Zn:m|F]ʆ��� u���
A�e�Q����O9����\�n�
d2��t/gy����>���ܽ���&��qt+��F83�b��U~��~�辿-���x
+ �¥ӇY�/G`�=������S�'�y^�e9������٦?	p+�јG&�Dwf����D�[#���7J��
?��<�>w��u�z�j�nv�y\�^�o�
�=����@�H#c�Kt�j� ����s��A��
�	��M��E9k�
+uW���ij�]�ۍCv�����
>�>��;{��Q���b�.�D�;�
�.X�kf���K����w6.S&���2]?�*1�jMu��mea^��s�y
�H��-�@6aH��8h���xd�و~�e�B^�eJ�Q�W�E]��2��s�
*�V#�Ç&7����,�[���U���Y���<���{
�l���^�����7��2��O291\
��zc�F�U
�>�͙ð~{��{��6��C��j�����/#�A�Z0:~�7�sJ�4j��zUU;U�/-U����n}�����q��
ɬ\
W{�H	�
+���[������e�n�d{��-��0��0?e�_hG�����~��/K�ǃm�j
�b
+endstream
+endobj
+15147 0 obj <<
+/Type /Page
+/Contents 15148 0 R
+/Resources 15146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Annots [ 15139 0 R 15140 0 R 15141 0 R 15154 0 R 15142 0 R 15143 0 R 15144 0 R 15157 0 R 15145 0 R ]
+>> endobj
+15139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 500.508 239.046 514.456]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.113 397.041 347.542 407.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9fdac6) >>
+>> endobj
+15141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.331 397.041 513.996 407.945]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
+>> endobj
+15154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 386.062 117.557 395.989]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) >>
+>> endobj
+15142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.914 210.613 239.046 224.561]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Problem) >>
+>> endobj
+15143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.113 91.952 347.542 102.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_afab20885083717c18371349d4c182481) >>
+>> endobj
+15144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.331 91.952 513.996 102.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ae941ad9d780f0c225b88c5a681132007) >>
+>> endobj
+15157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 80.973 117.557 90.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ae941ad9d780f0c225b88c5a681132007) >>
+>> endobj
+15145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15149 0 obj <<
+/D [15147 0 R /XYZ 89 770.89 null]
+>> endobj
+15150 0 obj <<
+/D [15147 0 R /XYZ 90 721.073 null]
+>> endobj
+15151 0 obj <<
+/D [15147 0 R /XYZ 90 671.961 null]
+>> endobj
+14641 0 obj <<
+/D [15147 0 R /XYZ 90 624.938 null]
+>> endobj
+15152 0 obj <<
+/D [15147 0 R /XYZ 90 620.454 null]
+>> endobj
+15153 0 obj <<
+/D [15147 0 R /XYZ 90 525.813 null]
+>> endobj
+14642 0 obj <<
+/D [15147 0 R /XYZ 90 387.058 null]
+>> endobj
+15155 0 obj <<
+/D [15147 0 R /XYZ 90 382.575 null]
+>> endobj
+15156 0 obj <<
+/D [15147 0 R /XYZ 90 235.918 null]
+>> endobj
+15104 0 obj <<
+/D [15147 0 R /XYZ 90 81.969 null]
+>> endobj
+15158 0 obj <<
+/D [15147 0 R /XYZ 90 77.486 null]
+>> endobj
+15146 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+15166 0 obj <<
+/Length 2682      
+/Filter /FlateDecode
+>>
+stream
+xڵZYo�H~����,D��m,��1�
O�}r��h��H*$������-;���Ww���u|]FT�ng�\~=����\�����L#-��]��4��\#!�i9�����O�͘T�h	�����x����v�����	�OxF� �b5K���Ox��׿�b����*f�2��gN�>�2�d��A�8��lD��/�8���p'�v���
�d�uNyT�K�G��)��d*�1¬x��!�i�{�� )V �H��F�zNHt�ʖ�
#
ӣ �I����N�<*�?;;{>@ Ώ�a �X �b.ETgپbF���:�b
+
+i
(~W-���M���n	���QtCX�T�[�`�����YԴ˳���OI��dp��!$
�S
)�� k^�1�FPd����ەC(b,
-����`�!��lb�n|Z�M
(%��9�
�Y�Vu�j$AJ$)�4�k
+0X4�G\W�b�F*&ݠ?*f�zHؼbGl�̈́�K�� 3�5b��·�(x��V�,�̋	�
+R�d�Q��
���T`�Czx�V�9(c��MR'�����0�(�
,��M^�W��&��5�����~�s" b���K�8�%91��cI�,)��TS�p����j���t�]��(��`
A\\�f���E�fe$
��M]����ӄ�E�/&�r$�V���!�IW}M�B{Vq�FI�  (

J��G��X��QUNhd�h܈@�B\���]eN�ϾpWW�䥻Ͻ
+HU��8�
<�M�\+:hɧ�P�t��P`����_�%RP>V��x�e,I��Ym�CJܽN2���h���4�R:>L�$Q�	��_��s`���T<��
�u{����\%��z�]��@��E8
�����(.:���fۺ{G�a��HD�������czȱ%:1LN��xcP9ao k�X�)ԓ��yP��d
�w�����w���sg�B�}���0ڇw�Pa���3ǖh}F��
���M>�����I�C	��%%=���~�7W
{��p�
�2�(Cv��)��L�Ӯ5F��!� �~�l�
�� wϒ�=�r��6���뼼uw�<]�[s�|���:+�۞�ىa�&e	f�,�C�A]l
� ��'�������jg=�7�}q=��V;s
r5�df����&5�$���%�Gs��Q�^L�/+�u����V ��tU�1L�I��>�`���
�����%� x�<�tG�
�_�%�L��Q���+ث��p�X�>
�d����3L
>sP7�&c_4_Ҫ��fS�K���vsMJ7#�D��D?a�x=w� I���M,�6_
��
�U�Y~Y-}���
@������uvN�(K�^w�Q��
`��P���-6������
lN���փx�����~?��.���j�ڐW�-�Z�W��4��s�2
�(�a�'�gj�P����L��I՝7
8>��H�u���
7�����\�	���~0���������b�(
��h
��(8C�@xJG0yP
"8�Ŏ��4�9Q�b�N�bnq����~�Y��GaVI; ���h��&\>;��=bG&m��h�
+��tX��}_��n�r�X�
���th�6�=e�;=eۺ���:��/]�N��x�%�Ѣ
+�]��pl�o�H^�}�U�n�'�}�r����k��?}n��	�Ol`%�)�	�Gԧ�ض�G9��C�[Zv�n�#�<����|��w׶c���)޼�F,{��������o�:oW�{tܕw���2�[�%�آ���P��p^��n����,�u�k�{����+��Ƈn�:J6���;l���]R�/��۬��d$fU-�L��r^�2�2M��E����t��ә8�/�V�A���b��γriDS�\.���l��yx�-S�0xzU�ۢ;�h9�*��:P�H_%�_�@�O�Rm�!'�!,FX
��L&��R�:�&�	9�o�W����z��Oa��x���j��{,
�}d�E.�1ʜ�wf=���C�$��DH���	l���}:���~�YLB!b<�Y�z��Ν1�H݌Z�}�|t�6�C�Z#�v�
 H�*�T�CT�����/���;�]FM�I�e��b
|�w�o��Y�M�^W&1޹�a� �����u�Cq��aeו�H���
qY�VE�K&��/�1d�tA�} 
 �*�R������*�c##���NY��3R�����½�2�2R�Ǹk�NQS8l1v
,�7M:e
˞�/�O(���r�~������>��?����C���=>����>  g^�9�/(覀�Rq�2��2��
+�
=W�>7.N�ڬ�c;�����9�H�6b��r~�G'�o���"�Ih"�t����e��.�)� fԎ�YPq�?O
�#�7�B��&�1d&��%��
֝vI+On��IW�O��*�md�}��Z����
�>����B1
��4�����!��D�8
>S`&n��_ *�8�#���c7ѿ8}[ �WD��{z��
��G��|�����3�� 
L
��z���0Y��
+Ṁ���6�t
�S��E�~L\}x����΅�|	�3)�]�P%ױ��>�®Ef+���
q��s��#<�E�OV��ݜ��^oo���Ep���d�)�R��xQu�7/�e1��i��oKk�
+endstream
+endobj
+15165 0 obj <<
+/Type /Page
+/Contents 15166 0 R
+/Resources 15164 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 14997 0 R
+/Group 15162 0 R
+/Annots [ 15159 0 R 15160 0 R 15169 0 R 15163 0 R ]
+>> endobj
+15161 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Pointset__Powerset__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 15173 0 R
+/BBox [0 0 434 130]
+/Group 15162 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 15174 0 R>>
+>>
+/Length 484
+/Filter /FlateDecode
+>>
+stream
+x��U�j
1
��)��H�
C�a!
+=�
�!��fBHz��W���$
�
3�lK�,Y��-o�s���� c~���bOx����]��7~���o����0�q��'�'41N at V����HI�Z�K*���֢
��Ao
+�
�R�
���X
+�n��b���25���g�8vԑ�3
��q�!K�:k30ɘ,m��.�����S�]��Uu�T~���Xo�<����:qf�&�t3��X�<mq8�B:�>���a:yaN��u
����<~?�b#6�"ܺő
h��6u�i�M{�2
�*�i�,Ye����~9L;V�%��#�QP$�Ma	-��t���E;��U��'V'�-y�a�j8[�B�^��sK6���3���r��Zg�ŽjR��Y�M;��+��Ln�ؓ�������\�
TO}�ߵ�ʅ��qʄX�5*Z���L�y�C'�gU\R
�?͸�;��$��;�
+ ��o�
+endstream
+endobj
+15173 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+15174 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /GZIDQG+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 15175 0 R]
+/ToUnicode 15176 0 R
+>>
+endobj
+15175 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /GZIDQG+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 15177 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 556 278 500 722 584 278 667 667 611 584 722]]
+>>
+endobj
+15176 0 obj
+<<
+/Length 15178 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n� ��>��b��3vc�L7.���> �ejR�����
2MJ����\8\�K�ܙqe黛eO+ӣQ����$����Ix��(�H�/'a�ԛ�mYiꌞ��a���m���
�X����\����c��Y�C��eI�2Eڗ{�UL��`>v���
��o��f��9�$gE���0WJ�̏�5ڏ6!����	�A�o��r�gY����@'*�9���@|t��I�#��Agh� �@��@e����*�'Ӂ
+�g��|5jr�
P�W����~
�r�
G�*���ĩ9�Uq�+���W�������o��sysη;<���ã��[���]��
0�r
+endstream
+endobj
+15177 0 obj
+<<
+/Type /FontDescriptor
+/FontName /GZIDQG+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 15179 0 R
+>>
+endobj
+15178 0 obj
+339
+endobj
+15179 0 obj
+<<
+/Length 15180 0 R
+/Filter /FlateDecode
+/Length1 2296
+>>
+stream
+x�UV}l[�?�>�%����~6����clj����G�&i���l'6��Y�|�!�K!e�el��eZ%(
+��:iBeڴ����2M�
+BB�"0����&(Ra,�;�9)����s�=�s� 
+� 0L-L.ÍOO�����Dz'fO~���Gğgf&�?o�ӧ��#�E2$����.�U��յF����%>�]��8J{
3�//L�-�
L&���"�i 6��A�@6:�n�ёfz�g���fu�&�Qқ#�
p �E]FGТ����LJlne��8��Ǖ�k��ט0��\g�K��������2;�@����h��QIt9=�|�Z
+�-،!��)���f,̖V��iQ���Ѧ&Ƌt�&��M�U�=͍{���x�l��)�+/ww(o԰�Eno_���(3���hE�������k'��?A#�ih���i.A������VlM�R}U�^�����c�m�?�OhO%��qP[�|���j�_��s��&��]�\/w���i�M�U�v*�\0�أ\ݞ)�ܭ\���
���Vr�Y��OO���X��@��� �Tɯ�cg�X���B��<hX9yzq�䩥�D�#>8�����g.`ᅾ��.,�M.r[�2��������%'���s
����@�,���07�ل�٨��Yf7�*u�~1|��7�d�{Eky��(��#[&���"��§�k�'���ƃ�I��&ʟٺ�@u_����꥞A��
 n��JD�T&;V���&�
�Sh�%g])�C#��}{�g�LR
C���������٥��:�i
>���Fx~Bq���"5�ª�p��[��}�Oz��
��l6�t,���%
��n��O�| [...]
+?�LRsl�a�7����E
�@�8�zrxͫ%�髚G�{�2k�f���ޤ��b�%	�
z���/���K�.-
O,�m��ߠڪ��_э���˙���;ao�����l��ރ#ɽ��r:�oUVq���ב���6 at a/�.%�F
g���	c9,K�!�����bw��3��1��r�����ŧb�ϫ=��\��(�J�'ڀ�Hա��P̖�X�yD
��h���?޽����f�z9��q|��bC��p�0Y�[���R��r��d�S�̟���=�p�t�d;�?�=����ű���c�	����;2�9�}�ܿ�����a�T��7�����o
��� �	P
�MP'[X8Ԁ�.�D��뙔.g�P-K�J���ݥg~��sk���4N
���]�,��
k���otc��o���ƚt�OL}���ξX�6p�n���{��+�]ѱ&��Hhg>��s�zJ�k�{��G�*�l�3��2��Ã_P�m
��TC6H��	��9$<:~�5�'7O�'��H'H����
�1���
�mx�
�pI�eP� �����0����Ͼv%�����֯)W^:�
��[Pg3�:�@C�Ш�۶\�F���KK��n�?��߯�)��B(�w��j]Lg���1��f"�X�
+��y��V0m��e>?R���	qs�ˮ���/T|ڏ56b
a�/��G�;0����7�j?ޒ���� �.�(��Z샸�
+
�.w��*�bx��L2�و$o�9�X�k4�����
"�?�.�F�H$
���O/�.ȇ�t
���++Q9�}["z��A�L�o���5$����w�6�E�.�m� �*�VQ]��U���
+S��-p
+A�?	�j
+endstream
+endobj
+15180 0 obj
+1763
+endobj
+15162 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+15159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.113 523.384 347.542 534.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a9be1cd3f6bd0582f6a60bffe2d72d2cc) >>
+>> endobj
+15160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.331 523.384 513.996 534.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac75ace456537db34732d1e1cca5e06de) >>
+>> endobj
+15169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 512.405 117.557 522.332]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac75ace456537db34732d1e1cca5e06de) >>
+>> endobj
+15163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15167 0 obj <<
+/D [15165 0 R /XYZ 89 770.89 null]
+>> endobj
+15168 0 obj <<
+/D [15165 0 R /XYZ 90 648.051 null]
+>> endobj
+15137 0 obj <<
+/D [15165 0 R /XYZ 90 513.401 null]
+>> endobj
+15170 0 obj <<
+/D [15165 0 R /XYZ 90 508.918 null]
+>> endobj
+15171 0 obj <<
+/D [15165 0 R /XYZ 90 400.817 null]
+>> endobj
+15138 0 obj <<
+/D [15165 0 R /XYZ 90 378.44 null]
+>> endobj
+15172 0 obj <<
+/D [15165 0 R /XYZ 90 378.44 null]
+>> endobj
+788 0 obj <<
+/D [15165 0 R /XYZ 90 291.477 null]
+>> endobj
+450 0 obj <<
+/D [15165 0 R /XYZ 90 282.579 null]
+>> endobj
+15164 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F22 2996 0 R >>
+/XObject << /Im24 15161 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15240 0 obj <<
+/Length 2314      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�H��_�'���3̀+{U���^^���-BX��P
���y��r����U��LOOw?��`cn`ㇳW㳋7�2<�1ʌ��a��
r��M��C�16G�M?[��рb3���,�'o�i�g��K�8J�<,�1�1������o�-F-�l�+r��jH�X�Z^9btw=n�Ñ�+2=H�*��|0�6����b�E��܆�a6 �&<".%��:�������3d�A��
�]#X�}�3x�����ƣ
�0lj�56��~:�Z���#n�E� h5u@�-�M��n�Q �Q�|.�����J�"J�\rW��׋7�N�0d[��gk�~��i�5>
P�g�ə~'�����o�(!*?�h2[-��4��O���G�X��æg.��l�L��M�!q��b�YT�ZcEZZ �Ͳl�J�y1��
�,SC�
����@?QD�����Q����f�T�<L
+_HX�K�A��z.q��'��6mİ[*
���5J�C*J�!�-ev8`gH,Dl�Q��k�Y�/�D��U��D�ȏ#F韣Z�C���f��!fpB�.3p�υQ���X#o"���S�B��jP��x��h?�ʣd�F��x�d�
3�H59���[o"�˗-+Y���0{=�=MӸ��ԟuB;j����-�%�̈y�
l�L�j۳�Aͩ� 5�,A��~P�0�1_s�T\�VA8SO����?l�>���8׸B����^����b��6�X�!��SD��� ��t���KI-R��
�<^
�oh���,�ۖ��"[��+��WA���*~ѺaVm�ޏ�V�
X�y�C�=F0�8[��e#�R
���ʑ�u"q%4���pޅ?@
�N�J6�{��j7��*Nԩ��u�Y�J��k���E��`˓b�
w�[f�ZL�Q�w��~{�3_K���D8�pr
�0���ߢd��~�~~��ۻ�������z��S׭X��H��P�pz����j�3���J��"GK�I��d�.7�,��R�b�3M�"]����/G�^Ɉ��;H?�Ʌs$R@�a�bK�1���j�i�/=�<_����
��r�V�%*�UW�04�uX����\}x7z�߶�u3��$��Շ�3B	[�A�u-!R�b@9���$�<N&�
�N�,D�7�lb3N����U)7(1�U>#<F�/4:~� [...]
 ^ɯH�
+Da¶�
D#�l/����B��b�4�!�sr�@�
�PmhXUM5�\���.�t�ڎ��B���JU4Y��qe��N+*ҳ(���|�%[��t%A
��˺�VS�ҽh��������+c%�(��nK�ɥ��K5��5ǡ�鋍N�oi���f�
I�w��!��(}���^/��F|~VD~
�'��,&�LT
�އW�����܍ŀP���wn)�]�!Ν.$�V@:_f�.g�
vFC�B�e{MQ�O〠.K�+]v�
��B*���wT'�U���}�Ȧf,���C����X�MC�.�X�i�1�b���҃�7���S�2��U�]��K~��fM���}���sV���=�
+��yJ�2�>����| :�[����h��u&H�)ɪ�d�����z��|-v�
-�
�V$SB(;���+�զ��*�.�x�q��V�����P��/�ߐ�̳��>�i%󧙉�?c&ZH�&bYp_�� �6yu�,�B���j#�ݫ�î���@	�j
���CW���^����踷�=Y޾�y�,�����iCzJ��
jr���4�䈂�y�6�!���|���&��� ��܀�y���b�(t)p�r�k�B\I|�Q�?;���E��D��(x_

+D}�{�G'Е�O�ru����K�`��TP���(������x?��懠��i�Ǔ��������?!׫U�mGh\К{��U#q����zB�	���)�NS���:��LA�b�T��٤^w�f�OG���)3�|���lHw�@r�n qJ��tm��N$1��G��	ǐp1k+=!�N��NgOG��
��&)��0m?n��#���ȳ��9�ܱ�x��
p�~�@hC(�9H�^���;���=�jdϧ�.����8�
+���yҶ��2*���<z*���9)l�
�Eǹq�J�ު���0��8*�1��OVe���Y�̩�\�%wa�kӿ����I
��-
9��qE�������y��Q�.v�Zۇ�0�����H���:�P*�rt0A��R ���0„�����˗�D���fa�S��t� iv�
+endstream
+endobj
+15239 0 obj <<
+/Type /Page
+/Contents 15240 0 R
+/Resources 15238 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15181 0 R 15182 0 R 15183 0 R 15184 0 R 15185 0 R 15186 0 R 15187 0 R 15188 0 R 15189 0 R 15247 0 R 15190 0 R 15191 0 R 15192 0 R 15193 0 R 15194 0 R 15248 0 R 15195 0 R 15196 0 R 15197 0 R 15198 0 R 15249 0 R 15199 0 R 15200 0 R 15201 0 R 15202 0 R 15203 0 R 15204 0 R 15205 0 R 15206 0 R 15207 0 R 15208 0 R 15209 0 R 15210 0 R 15211 0 R 15212 0 R 15213 0 R 15253 0 R 15214 0 R 15215 0 R 15216 0 R 15217 0 R 15254 0 R 15218 0 R 15219 0 R 15220 0 R 15221 0 R 15222 0 R 15223 0 R 15 [...]
+>> endobj
+15181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 685.011 181.845 695.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) >>
+>> endobj
+15182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 656.728 181.845 667.632]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
+>> endobj
+15183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 628.446 154.727 639.35]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) >>
+>> endobj
+15184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 600.536 176.505 611.067]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99) >>
+>> endobj
+15185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 585.348 450.955 595.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568) >>
+>> endobj
+15186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 523.787 200.451 534.69]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) >>
+>> endobj
+15187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.79 523.787 270.434 534.69]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.775 523.787 441.164 534.69]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+15189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.518 523.787 513.996 534.69]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+15247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 512.205 133.174 522.735]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899a0edf84fcb94023ff4a7183bf3f8dace5) >>
+>> endobj
+15190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.341 499.106 358.056 509.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 487.727 200.451 498.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) >>
+>> endobj
+15192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.105 487.727 303.461 498.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.382 487.727 396.848 498.631]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.805 487.727 513.996 498.631]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 476.146 156.965 486.676]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 439.713 200.451 450.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0aa45bed5fe5f850d404fa9f415c4b0f) >>
+>> endobj
+15196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.868 439.713 303.224 450.617]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.821 439.713 431.287 450.617]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 439.713 513.996 450.617]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 428.131 191.286 438.662]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 391.699 200.451 402.603]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a81171c017292bad186bd36d04e0450e2) >>
+>> endobj
+15200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.975 391.699 338.396 402.603]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+15201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.53 391.699 513.996 402.603]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.396 379.743 268.147 390.647]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.486 366.022 244.201 375.927]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 342.688 200.451 353.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) >>
+>> endobj
+15205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 342.688 305.615 353.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.796 328.967 243.512 338.872]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 316.591 200.451 327.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) >>
+>> endobj
+15208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 316.591 312.241 327.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+15209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.796 302.87 243.512 312.775]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 290.495 200.451 301.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91) >>
+>> endobj
+15211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.661 290.495 289.217 301.399]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.516 290.495 389.983 301.399]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.718 290.495 513.996 301.399]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.913 150.878 289.444]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.436 200.451 265.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f) >>
+>> endobj
+15215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.818 254.436 302.761 265.339]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.112 254.436 402.578 265.339]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.892 254.436 513.996 265.339]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.854 163.052 253.384]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 218.376 200.451 229.28]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) >>
+>> endobj
+15219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.788 218.376 248.042 229.28]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.173 218.376 344.639 229.28]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.438 218.376 488.19 229.28]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 182.317 200.451 193.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad2b46dff4ba33746c2e55f7767627227) >>
+>> endobj
+15223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.928 182.317 300.196 193.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+>> endobj
+15224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.146 182.317 424.612 193.221]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.481 182.317 513.996 193.221]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 170.736 184.641 181.266]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.303 200.451 145.207]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2915faf8e749672c943206607eb29f4b) >>
+>> endobj
+15227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.076 134.303 273.237 145.207]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+>> endobj
+15228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.483 134.303 402.949 145.207]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.892 134.303 513.996 145.207]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.721 163.052 133.252]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 200.451 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58e593961a5e7c1f92670c9cbcd6b633) >>
+>> endobj
+15231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.299 86.288 246.899 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+15232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.401 86.288 288.128 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+15233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.372 86.288 402.838 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.892 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.707 163.052 85.237]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15241 0 obj <<
+/D [15239 0 R /XYZ 89 770.89 null]
+>> endobj
+15242 0 obj <<
+/D [15239 0 R /XYZ 90 704.199 null]
+>> endobj
+15243 0 obj <<
+/D [15239 0 R /XYZ 90 704.199 null]
+>> endobj
+15244 0 obj <<
+/D [15239 0 R /XYZ 90 674.182 null]
+>> endobj
+15245 0 obj <<
+/D [15239 0 R /XYZ 90 645.899 null]
+>> endobj
+15246 0 obj <<
+/D [15239 0 R /XYZ 90 617.616 null]
+>> endobj
+15250 0 obj <<
+/D [15239 0 R /XYZ 90 419.018 null]
+>> endobj
+15251 0 obj <<
+/D [15239 0 R /XYZ 90 358.052 null]
+>> endobj
+15252 0 obj <<
+/D [15239 0 R /XYZ 90 331.955 null]
+>> endobj
+15238 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15322 0 obj <<
+/Length 2033      
+/Filter /FlateDecode
+>>
+stream
+x��[[w�6~ׯ�S*�ø ��I���6iڸ}Izt(	��+�
+I����
 Eʔ�شZ{��#^@`0��7��
��
^]
��J�)����Sؓ�B\����<�1���'�� %����_>\��p�ɼ��|
x�=b+�H�t5��'�f��'#��(��|���}�:�N���B6ż d����Q��� B� �6�r���(������(�3���ɵNG�ƾJ6�ż��$�����
+���3&V�;�I&���j�����<Jb'Q~�L����=x�̢�MYLۋ�#
+�9�퍑�a�P����5�C>�(""�b}������.
P��x��8��Y��qR��>���4[�S=��l|�|�
ÏخMA)�

7P�>T
]R���7�oҭR����70��_�i�8`
+y���$�⅑��M,��4�/3[�\+�#���P~e�P�q��B�zg�I� H(˜��p>��t��'�Q�?�(���P�$��=߃Q���j�ߜ�1��X?O7�MC
tM�BQI����/
����P�T􂔑��

+Ϊ�"]��ƅ�xN��i�xn����Ո�a�gh�mEy�v /5PI��Gn��0�#� �{
��` s�L�4\.oƆ���DQ��`_-���>��I�
�Q����,){3�J�0
19��
��X���)� ��S�T��h
�dϞ0��/��)�AF���Qw�>�/���>�5fo���<MV�P�c������ 1Q�e\�
+�����@Z���i��
‘P�,t�R�D��V��0"���@
F��~,k���9��G
Q��2?}*P����Un�{��1"��
F�d�jW�%��r��
+����	
�.�V�Zг�
�B�� �6b$��� ��f
N�o;޸G����7�֩����(���������4��xY#ϰ7�t��!~����:��3T������!�p��6_y4H��4���
+�
+�dF��U�-ZE���x��.g�8jp�Pep#_
�����DWs���LS�U�m���`M�KM��4{9*�(5�� �Ѳ�.wyQ(k����ɾ��Y��s�g�4|F�3p�|��S� q�{J�rd�ѸX���r>���҈����������{�潦�Z�0J�LmN�P�D�N��4+
q�__FS���q��I@���r^<
3�3
�in0;7�.7eD����z���q���o�<
���X��Y�i
؋��}f�S�ξ���RN��շ���K��yZg��]�]��lm��.�D]k�9���9�
<�b at E��(ng@�:1 Tq��PW�iЁ�@�Q<?Ȁ
k��&À�V%e�*s"AcM÷9
��0���a��.����^
�N
v���
�
�
�/���?�_�Q��bc��t�,��o��cH�����SMp��{�l�.i�CeIDI�k���n.t��yZ�ިͱ��Z��Gy�G��y���N�r<`
��
g�,�7�X��J
!+�ԍa�
����D�գ�`�XPs6F�0BvѰ��������teg�o���g���P�*i�
&>E�l¢��i}^$!_m��2K�9����9�d�n��]2oݹ��<��&�������8\��0�3vܧ	oN�(��i^�vx�ϧ}"z��
�m�շ�w
N�D����@S��|�ocQ��@o�%���6��
[B>X���7zٷ�E@�
u�ҁ]j ���(ޝ<	K"�
���O[�j��#?�_�:��+s���&y�
�PAd��O��ys_E=�������@�~/�^F��
�@��m��
�E2��̓>y�,���Xi��d�Nr�9S'E�
:C+B�B�c��a#��@A�����ڇ�� Y�
�:�)i�~]�,�q���bޏ	T���
�;�VX
'
�
+�A��L�ы�$�ǟ���Nq>t��>�m���R����K���2�<����1+�*��e��(ه<�b��<_���|�Yd:^������(���
n^
�Z%i5�����
ND�����
+endstream
+endobj
+15321 0 obj <<
+/Type /Page
+/Contents 15322 0 R
+/Resources 15320 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15235 0 R 15236 0 R 15268 0 R 15269 0 R 15270 0 R 15271 0 R 15272 0 R 15273 0 R 15274 0 R 15275 0 R 15276 0 R 15277 0 R 15278 0 R 15279 0 R 15280 0 R 15281 0 R 15282 0 R 15283 0 R 15284 0 R 15285 0 R 15286 0 R 15287 0 R 15288 0 R 15289 0 R 15290 0 R 15291 0 R 15292 0 R 15293 0 R 15294 0 R 15295 0 R 15296 0 R 15297 0 R 15298 0 R 15299 0 R 15300 0 R 15301 0 R 15302 0 R 15303 0 R 15304 0 R 15305 0 R 15306 0 R 15307 0 R 15308 0 R 15309 0 R 15319 0 R ]
+>> endobj
+15235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 658.052 190.738 668.956]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 658.052 261.85 668.956]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95) >>
+>> endobj
+15268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 632.049 190.738 642.953]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 632.049 262.159 642.953]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899) >>
+>> endobj
+15270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 606.046 183.824 616.95]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10) >>
+>> endobj
+15271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 580.417 192.272 590.947]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9) >>
+>> endobj
+15272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 554.041 241.935 564.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) >>
+>> endobj
+15273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 528.411 193.229 538.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088) >>
+>> endobj
+15274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 502.035 213.163 512.939]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) >>
+>> endobj
+15275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 502.035 315.857 512.939]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 478.398 189.901 488.928]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107) >>
+>> endobj
+15277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 452.395 187.689 462.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8) >>
+>> endobj
+15278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 452.395 226.693 462.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 428.011 228.895 438.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) >>
+>> endobj
+15280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 428.011 333.482 438.915]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 404.001 229.503 414.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1) >>
+>> endobj
+15282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 404.001 334.089 414.905]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 379.99 187.264 390.894]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) >>
+>> endobj
+15284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 379.99 293.213 390.894]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 379.99 371.148 390.894]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 379.99 455.727 390.894]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 333.066 187.264 343.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) >>
+>> endobj
+15288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 333.066 293.213 343.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 333.066 371.148 343.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 333.066 455.727 343.97]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 321.111 220.058 332.015]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+15292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 286.141 186.348 297.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) >>
+>> endobj
+15293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 286.141 293.772 297.045]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 286.141 373.367 297.045]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 286.141 456.837 297.045]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 239.217 186.348 250.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684) >>
+>> endobj
+15297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 239.217 293.772 250.121]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 239.217 373.367 250.121]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 239.217 456.837 250.121]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+15300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 227.262 218.404 238.166]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+15301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 192.292 232.76 203.196]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) >>
+>> endobj
+15302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.097 192.292 335.454 203.196]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 157.323 232.511 168.227]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) >>
+>> endobj
+15304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.848 157.323 335.204 168.227]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 122.354 180.496 133.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) >>
+>> endobj
+15306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 122.354 283.19 133.258]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 98.344 213.153 109.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) >>
+>> endobj
+15308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 98.344 315.847 109.248]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 74.333 238.459 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c) >>
+>> endobj
+15319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15323 0 obj <<
+/D [15321 0 R /XYZ 89 770.89 null]
+>> endobj
+15324 0 obj <<
+/D [15321 0 R /XYZ 90 673.181 null]
+>> endobj
+15325 0 obj <<
+/D [15321 0 R /XYZ 90 647.366 null]
+>> endobj
+15326 0 obj <<
+/D [15321 0 R /XYZ 90 621.364 null]
+>> endobj
+15327 0 obj <<
+/D [15321 0 R /XYZ 90 595.361 null]
+>> endobj
+15328 0 obj <<
+/D [15321 0 R /XYZ 90 569.358 null]
+>> endobj
+15329 0 obj <<
+/D [15321 0 R /XYZ 90 543.355 null]
+>> endobj
+15330 0 obj <<
+/D [15321 0 R /XYZ 90 493.342 null]
+>> endobj
+15331 0 obj <<
+/D [15321 0 R /XYZ 90 89.65 null]
+>> endobj
+15320 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F68 3032 0 R /F110 1507 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15395 0 obj <<
+/Length 2290      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�SK΄����i;�*�ljݨ��i��`@bE�! ����g/ A
+!	��<wϞ=�;�]bg�`���߯���x�	P�R׹�q�x<@
o��iD0��`�G�c�GQ����1ţl�]�8����4���W�u���,�5�N��b�����oi,FE\x��^�/f�
?�>eA5����u
q\���I2˨(�*��z
Б\��Q)͛��F�c�d:�Wħd�}O={}}��2�!FTy�3[�}�;1������s��
N|.����a+��O���9>��r�.~��#�N5�e��Ӣ�>n
g�V�+�4��hR�<�T����(��C�.��	~ҳ]�1�{ȧ��`�����~��")��Q��ei%�UFT�ϥ���b˪P%�
��
+Q� �r����j*a߸��	y��Ete��T��2��V�ߞ9�&Ba
P
^di�QD�,==M1����]R.����`�a�Ei<B�B
�ABe�?̀
1�hۇס�)r9y0���ǖ�T.���1�Fv#��E���tn�Ley'ez0k��)�������D|JCR���5'Z$��U<\��sY
Ɩ5b5�@c8@>t6�}�(���_
+h��̣2�[q6�g
83.)�jV����"Z��y;Ҽ�/�|;�IP��>m!JE�V���N8���W�(
+Dp¡���{�E�J��|��dXnײ�ʬ�������t[��؞@!-@�l
+�n�mj-d���G��*U�5�&��9�hvh��6�D�լ�Q7@
� � Az#�G�g�M�
���K��_
��U�Fʵ�0҉A��Q����2����!�b4<Q�gY,?�:U�����d���B�Q-[��T�{�����ܒ'.T��TNiE?Ͳe����3���B�T��[Q��F�����@1w�I����Ll��� 9S�#��U��"
 ?�E>���j
�,�L
��诗��/LT������V��f��iB�����5�Y��l�v�
rL� ]�k�`�[׷f��[�Q
�qR�G�;a3���I��
��G�ݷq\�n�ō�t�^B����Qe��z�z�BT��ܞ��8
+��}��٬���u����]ZV��,ZT�<�	�b�A��.=z�rrW
S��
TѹT�-���z�*����i����n�<��Z�UNe€�N� �r��X��g��b��Wۢ��v�/����wxE�P�,�C�����∻}A�c@�sx���S�[+�)��
+�����
��Ǹ��6٠����%t7�\�<i�?1ՃRLp�Ym���w�|W3R�3�[_���.��2s6������ϋ���e� �Ժ
�.�!�5�@���b  ȧ�9���E�8�
��oT�J�4�J����	7i�
�Q��	!#�W�.[� � )Z��_d��F7�cZ�G��̶�$��D)nv��ю�ڮ�
+Qw�>G�}���5�*����v2�Y��!ct׽Ö��į����#N�^��*�(*�d��ΣZD�Q���r��}�L�/������Y1�}p��3c����^��F�5�b�
wۀp�(
�� �	�@�4�;�
�ۀ�N�ۖfLu��}���:�cm
�wӈ��H��y
m��i
;��L�����
m<� 1�7y��@����<[�E��a����U�\桾W<<h(0/͹kRnCs?���lo�_���?�?~�|����> 5zJz9�AD �iu_�L�R�m	�K!#���1�K����Q�^��GJ-���6�e���I�U�Y�i
�I�[9�s�D���E8X�	P���
"Դ
�Y
�瘁^�F����t��^���o"v�݇���\����9�L8"
�2��dW)?1��A�>�2��P����l�
O�P��l^�su�Dž�Z���^q&FT{7<�,˫8����Z��?h�0ĩ�#���򱇄�Y���:[f�d-��2+6�
M��<��Ѽ=�Մ�Ne��|wxW����j����ڲ�zz���l�D Ul�]C���\53ԭ�n��H>/�3�L�����*��>%��b�l��h������ ��u-�5�D��b��i�)v%��qr��q#sݛ���;�+
����e�Yq��
\d`o�\׷a.ߛ��
+��y,��W�h�M��~o��
Ԁ�+�T���+YUX��ߜ��uH�� j�]9�(������f^�t� #����>}���5QK]�����r�K8T�)�����.�$���
#L<���g�c5Ѿ8�b�wx�o���
h
+endstream
+endobj
+15394 0 obj <<
+/Type /Page
+/Contents 15395 0 R
+/Resources 15393 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15310 0 R 15311 0 R 15312 0 R 15313 0 R 15314 0 R 15315 0 R 15316 0 R 15317 0 R 15318 0 R 15344 0 R 15345 0 R 15346 0 R 15347 0 R 15348 0 R 15349 0 R 15350 0 R 15351 0 R 15352 0 R 15353 0 R 15354 0 R 15355 0 R 15356 0 R 15357 0 R 15358 0 R 15359 0 R 15360 0 R 15361 0 R 15362 0 R 15363 0 R 15364 0 R 15365 0 R 15366 0 R 15367 0 R 15368 0 R 15369 0 R 15370 0 R 15371 0 R 15372 0 R 15373 0 R 15374 0 R 15375 0 R 15376 0 R 15377 0 R 15378 0 R 15379 0 R 15380 0 R 15381 0 R 15382 0 R 15 [...]
+>> endobj
+15310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 695.879 205.692 706.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 695.879 261.312 706.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f) >>
+>> endobj
+15312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 695.879 332.156 706.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+15313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 671.722 205.682 682.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+15314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 671.722 261.302 682.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) >>
+>> endobj
+15315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 671.722 330.462 682.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+15316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 647.565 205.692 658.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 647.565 261.312 658.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) >>
+>> endobj
+15318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 647.565 338.781 658.469]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+15344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 623.408 202.902 634.312]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+15345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 623.408 300.037 634.312]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) >>
+>> endobj
+15346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 597.259 202.902 608.163]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+15347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 597.259 314.263 608.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5) >>
+>> endobj
+15348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 571.483 199.864 582.013]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) >>
+>> endobj
+15349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 547.326 161.677 557.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) >>
+>> endobj
+15350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 483.51 198.011 494.414]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) >>
+>> endobj
+15351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 459.727 205.752 470.257]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) >>
+>> endobj
+15352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 459.727 276.595 470.257]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+15353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 435.57 236.745 446.101]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974) >>
+>> endobj
+15354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 435.57 307.588 446.101]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+15355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 411.04 209.627 421.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81) >>
+>> endobj
+15356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 411.04 314.791 421.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 386.883 240.62 397.787]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd) >>
+>> endobj
+15358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 386.883 345.785 397.787]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 362.726 212.377 373.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8fcc73a0fbbd549174fd99a848c3fa52) >>
+>> endobj
+15360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 362.726 289.846 373.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+15361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 338.569 243.37 349.473]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211) >>
+>> endobj
+15362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 338.569 320.839 349.473]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+15363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 314.412 216.252 325.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) >>
+>> endobj
+15364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 314.412 328.042 325.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+15365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 290.256 247.246 301.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) >>
+>> endobj
+15366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 290.256 359.035 301.159]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+15367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 266.472 193.577 277.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) >>
+>> endobj
+15368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 266.472 232.581 277.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 253.347 248.845 263.252]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+15370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 231.357 193.577 241.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc) >>
+>> endobj
+15371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 231.357 277.691 241.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 218.231 247.177 228.137]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+15373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 195.867 273.129 206.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) >>
+>> endobj
+15374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 195.867 352.41 206.771]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 195.867 495.961 206.771]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 171.71 275.007 182.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) >>
+>> endobj
+15377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 171.71 362.877 182.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 171.71 472.148 182.614]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+15379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 159.755 233.986 170.659]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+15380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 124.639 255.564 135.543]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9) >>
+>> endobj
+15381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 98.49 223.465 109.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) >>
+>> endobj
+15382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 98.49 326.158 109.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 217.109 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9) >>
+>> endobj
+15384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 74.333 319.802 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15396 0 obj <<
+/D [15394 0 R /XYZ 89 770.89 null]
+>> endobj
+15397 0 obj <<
+/D [15394 0 R /XYZ 90 638.799 null]
+>> endobj
+15398 0 obj <<
+/D [15394 0 R /XYZ 90 612.649 null]
+>> endobj
+15399 0 obj <<
+/D [15394 0 R /XYZ 90 562.343 null]
+>> endobj
+15400 0 obj <<
+/D [15394 0 R /XYZ 90 140.03 null]
+>> endobj
+15393 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15483 0 obj <<
+/Length 3428      
+/Filter /FlateDecode
+>>
+stream
+x��\�����?]m ��-1�h�$M�&�ܶ���֮�ڒcɻ���;|�AY��Y]r��Ґ
g~� i<����W�\_��<`3���rv};Sxp����6��<
?]5c2DDIhe
��7ן}s�F�������+���
+��z��Ox���_�0b*�=���S��ٛ�\a�K����,�$׼���!��ȟ�<�K�Œa6/2����e�h�
+IP2�#���T
I
�D�6�-�7>�2UE�
�G,p���y��v�8/��/�������x���るy�6�GE���ܶ�쟇��Y
��[KPlc�`���9�k�z��$�$�����҂��bi�p	k���$)�ʹ��q��J��n��� �
�oc�&]��9t.�0@"����@�Z�����@RUD�
�Ī����R��s�P�%
+$ŒDB��
(^��K���&�v�V�����
�O�����quʓ�n���"^1[�"���nu#�?@���~�%i*�z�-����h����ţQ��z���)����)
+�h�U�מdH�,w0lO$�'�0�e��>���
��N��][�j�w�-�! ��l&�L
�bk��=��V�D�
��Q�@���T��K΃������ XIz��g at yQ��M���1�7Y�`� F�a#��`�F�,�km��<��g�?�
!,���y�Q5K6��C�G��^�~��
+��.n������3�ׂ2��It��l~�Lj ���#�/���֍�N�8:�>{{8�`v窫�^X94��4��I��8-V�1J���ͨ�c
�mP[/`�8����Ϋo�4�'iTd�W��>&K۳7�Ӏ3t�6�:L�n��/��ȉ�oQܿF���8B�=�?P�}���N�w�
�I'�a,'š�N���
+n�8�ձ�
/��
��������
����ct�
k�e��=qY� �
��#֖��D�
����}p���i�Q�B���$�hE�*�ۑa��q0�1�|��2M�
 cAȘRC@��
2M�2���-� �!F�p6^}O�L��(�h_E	�(fV,�g��(���‹��[v���L?kF~[�h
k�qk��˰�S> k!CAּ�;`�A.��X��~d~��1�%��7��@���9�����B�����;�O��<�o�������ǽʀ~(���p��΢?P��������'�cR��S	��hF��
���w����??��"&8��T'\��ƀl-��ٝ'�0]�\-	PV1y����JN!�TA mތ�`(���^५��e�
+- G����,l�!� zT��ϯ-r� �%3���jW!?�*�S��EFSL�Ƭ�bH
+:+9��A lb���
9���V���uճ�>��K���K���p{
k
��*�p��ls��ȶ��*0�:�`�f�ᢓ��\�|��苃�N�/X"
����OLR�}��vM@
��Ou*�Lx��y~B���7��BH��1E���c݅ѣ��pr���܅1�.w�c
wQ2�]0�[�
r�_
+�=�qE,z��(�
+�K��/B�/��/t����_�"82����2>�`�vcS��;1�m~�y��9�K�<4�E�:
+��|�
��6���{�
�L�E��3j;��'��H�>\D��=�a"z-��=vG��x���
�c<�ݝAxf��gX�ְ�#�]��a��
�Hr��$����1�I��h���{:O�}u'�;b�w���c�.o{�)>�&��~eC�#��,b�o:�PGp��Ǐ�CƄ�F4�}qy�
;�P�l��1�8T�s2�
J`6	�J=
?��m����dz�aL`���QO���}5
�:�n4�\����f�����}�&� b����=U�Y_u:��s��;�BYv^�f���0 �DخN�vu���4�N3\���nů�bE�˹�$�4^axwSM�����g�V]��	��
+G�L�j�x^��u�DC�S)���n~6*�?b�;|�B
�Sr	/�\�Q�	A
*�B,�!`�C۵!���o
��u � ������lʮ�@��'V���$A��
����N�/X�
�������c�u�门�O�&���N�q�{BN9�	9��-`��j8�7�����-`X?��r��s
�k���[�D���L5�н�=9�S;�9
+�z�֧�*ȇB1�A	sX��=j� ��XH$��=�p��C��"�uTz�� )Rc=�S�}�b���ͅˮ
+�
�dGwt����X�!����
g����}(����J��Ӯ�nԘ�u�?�
+{�M�j����J�KL7q��i׭���1M7�1g���5\�a��B�)
���У�O(�zaV�zs���ꂭ���'.��]�������x���i�
8��
R̟�{o�U�]�c.�p��ؘM����\�ٷ��Q|�*iQ�l	+��
+AE�.� ,{��\�7��	l����SA~�2�u�:��e�Ns�ԓ�)ՊUV˴��lh���b
�f��+"]�j���oF/�t�hA�'�S��=�*������0��񽭯
�.�P�� ��'�x��X��
���X���fڿ��=�!J�	��c�9��>��|��
U�C�j�8��{�P�
E���E �n}�ײ��xgݧ!��B�u:��*�/����~jRV���܌�pu�=~�f���t8���&�vwP9q�մÞt
�ݷ�~�����[���	:֗��F�*�i�E����c��p�w�t4@�W+��
+=j
+�D
\�yi5O�q�W�o	ZTW��ԁL0%�2)�h��(��/^+�f �C�6�z�:h1&��qa
�x��k��Cy�0��_��Sj(H��Z��?�}�vU��4�`��Cl2�nՂU+Zl�\t8�
�t��E 0�k{�W
+��Y�ˣ���6�\��Q�(����e�O�!�p��o�. 
y�q�� e>=�Z׼G��d x]�p��ŏ��؜�u��,��
D�[��:<���2��w� U�z(Ȇ���ÿF~]��¥'A(!!
+��*��ͥ���q��'�7f�R~Մ�!�l
Yj�4�x�,1�f���;����!!��f>��ά��&�@���Y1��T����ϝE}p`0w�:�ivL��3�u?°B���Q��<ñ�c�̶}����0
����R{��W������;VcP�C�	�Sgh����(�l��4� V�����Wa����˲�{���=��%�����߲��
�7� ��h̼�K��~�����<>�A��
��
��2`�X����"A&!B�:a
�ĥAY��[��7��A�SWpe
ۢ8|�����.��;�z�@�
+Ҥ� n��q�
�_����gs����ѻ
+endstream
+endobj
+15482 0 obj <<
+/Type /Page
+/Contents 15483 0 R
+/Resources 15481 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15385 0 R 15386 0 R 15387 0 R 15388 0 R 15389 0 R 15390 0 R 15391 0 R 15420 0 R 15421 0 R 15422 0 R 15423 0 R 15424 0 R 15425 0 R 15426 0 R 15427 0 R 15428 0 R 15429 0 R 15430 0 R 15431 0 R 15432 0 R 15433 0 R 15434 0 R 15435 0 R 15436 0 R 15437 0 R 15438 0 R 15439 0 R 15440 0 R 15441 0 R 15442 0 R 15443 0 R 15444 0 R 15445 0 R 15446 0 R 15447 0 R 15448 0 R 15449 0 R 15450 0 R 15451 0 R 15485 0 R 15452 0 R 15453 0 R 15454 0 R 15455 0 R 15456 0 R 15457 0 R 15486 0 R 15458 0 R 15 [...]
+>> endobj
+15385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 686.155 271.126 697.059]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) >>
+>> endobj
+15386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 686.155 373.819 697.059]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 673.643 326.259 683.548]
+/A << /S /GoTo /D (index_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+15388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 651.518 198.26 662.421]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b) >>
+>> endobj
+15389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 651.518 236.665 662.421]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 651.518 353.317 662.421]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 639.936 246.458 650.466]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 627.05 269.939 636.955]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+15421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 604.925 212.768 615.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4) >>
+>> endobj
+15422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 604.925 252.959 615.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 604.925 375.145 615.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 593.343 286 603.874]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 580.457 277.928 590.362]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+15426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 558.332 250.099 569.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb) >>
+>> endobj
+15427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 558.332 289.446 569.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 558.332 379.512 569.236]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+15429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 558.332 513.996 569.236]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 546.377 416.369 557.281]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 532.655 439.335 544.82]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 511.739 261.881 522.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) >>
+>> endobj
+15433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 511.739 300.286 522.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 511.739 388.504 522.643]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+15435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 511.739 520.199 522.643]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 499.784 416.369 510.688]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.87 486.063 449.708 498.228]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 465.146 250.748 476.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) >>
+>> endobj
+15439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 465.146 357.317 476.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 465.146 456.145 476.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+15441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 453.191 202.344 464.095]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 440.679 446.071 451.635]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 418.554 261.881 429.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) >>
+>> endobj
+15444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 418.554 365.272 429.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 418.554 460.793 429.458]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+15446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 406.599 202.344 417.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 394.086 466.67 405.042]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 371.961 239.984 382.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) >>
+>> endobj
+15449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 371.961 280.82 382.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 371.961 405.104 382.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 371.961 513.996 382.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 360.006 171.361 370.91]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 360.006 478.077 370.91]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 346.284 432.092 359.442]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+15454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 324.165 251.209 335.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a) >>
+>> endobj
+15455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 324.165 290.549 335.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 324.165 409.969 335.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 324.165 513.996 335.069]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 312.21 171.361 323.114]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+15458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 312.21 478.077 323.114]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+15459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 298.489 456.992 311.647]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+15460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 276.37 224.57 287.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229) >>
+>> endobj
+15461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 276.37 327.264 287.274]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 263.857 347.869 273.763]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+15463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 252.691 196.297 263.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab061759f73cfae4553fa240e8b5e24de) >>
+>> endobj
+15464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 252.691 279.215 263.595]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 252.691 432.878 263.595]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+15466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 252.691 513.996 263.595]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+15487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 240.736 216.491 251.64]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+15467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 240.736 362.977 251.64]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+15468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 240.736 475.081 251.64]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+15469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 216.268 164.537 226.174]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+15470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 205.102 212.377 216.006]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) >>
+>> endobj
+15471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.509 158.509 264.133 169.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac5f23b096482951cc440f5fe9938c8b7) >>
+>> endobj
+15472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.29 158.509 367.646 169.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.92 134.042 413.759 143.947]
+/A << /S /GoTo /D (index_pps_bgp99_extrapolation) >>
+>> endobj
+15474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 99.961 248.929 110.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1857e944bbc4d95b76cb564c647c6fa5) >>
+>> endobj
+15475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.267 99.961 351.623 110.865]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.801 87.449 367.562 97.354]
+/A << /S /GoTo /D (index_pps_certificate_widening) >>
+>> endobj
+15480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15484 0 obj <<
+/D [15482 0 R /XYZ 89 770.89 null]
+>> endobj
+15481 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15536 0 obj <<
+/Length 2342      
+/Filter /FlateDecode
+>>
+stream
+x��Zms���_�O-5s� HO���'M/
��&ӹ�hh�����BRv��x�(��}�5��@��>�X;�v�:����ŕ��>��ەbG�q���;�`$��9���3�ݨH����b7�<��e��$wET<]^��IV�qe��W
�n�~���⊐�dԣ�q������t����
�7_��#��0�

��&*��9�ؽ��ԍ��&�b}�m���	�8[�-P� ���}y{���a�C��8��H�����%�����
�QuJ
F=��87gߝa����f��
A��*����;L�x��U�gf�:�t����4�e�z���ҾH�8+�=}��zϿka7^T���f��ʭ�W>n
��s�#1�)�W���{���_�9�ι�S
�|Fy
&���Q��'ss`
��m\D �_��}�9^����1���#���nB�	@7>S���g�9'�Lh��ZU ��
�a
'�0#܍j�K�5���5jȐ�E�{�=��Ջ!�S�NJݩ+���Ol�([
D8�ú���0��
���:�r�I���mT%w�X�����!��Z�<(�� ��[��V��߬�z����'���=���#
�J���q�fE�}=0"�
h����_d�'�H`��P���S�4�c���CLl����(}:d�K�Ua�]�|
�Ȱ� =������s
M��l "��rR�_]G���%)XNU��Lʟ$���~��	�s�.�3O�
��?��2��Ҏ��QL3诈F>^3��<
���l�:��w���t��� [���?>Y	�<|��L�{�9�r���y�����!�=��o�n
�m9dr��$���L��T�A��c6�ȫ�5n�0D�����r^�
j^C��x�2�[�n�z��e����2�I�>_.�A^����
�К��Xf2��7�oD.�u��_�h�x0����[΀�"�mp���,��`F�dn9
+4�Ȭ�-J0e##u
-��vM���p�x�G�{y��d@�>�<�.�y|m y��'�DZ_��Ã[�?��?
��q��Rn>�(�{����_^K��_e+�j�˛�T�9�}�S�_(�z�C����"(�/�m��v�"0
�x����F������l
�sd�7���G�'e�>Wr�RB>`M/@"��m�h�]�ؗCp�མ
S�Iz$��̂B�/�PA���%�V�i.!� ��{L�
�}?#��Q�D�����{�����9�{�!�^�f�s�r/06�����݄����ޱ������:.&�9!�N�A3ˋ�؍�l��Ѹl��z���d	�3��w��M�bHo��DZZ�=��GD8i�lK���=1�;���
��ߣ�t�j�E�D��-��@3�*&`u���ݴ�M7���Dz9,����
+����Zx�r��e�N�5T�~h��[,-��Ivtԏ��V/C_��Z~k�Q	�/[�A��q:�t(~�uC�.�j\���3��ךE���w�!
+�zcz��o��:���O
+Cf�<�d� Aa�P�� J
(��xSs������7��1cxu�hC-�zNԻ���]�A9�O2���0/�x�
I�0p a]2�k
� N��A������
A܄��G�`f�sSA���������̈́����9#��s�aMw��>b^����GvS�����H��e*9� 
+ bǙ
?ծ���ɓt�
c�ȆǠ}X./Z�|
�E��a���
�_��� �4��
�"�ý��Φ��
]�!���m,S���z�’���Z�
���A}s�
(m,/l= 7�ֹ�
�%ڳ~_q���
0���r at q �
�������|�<�
�)�2�'�X��z)e�N �55��'y�>��`�ăQ92kjR �
,7/��!g�aO��$��Z�5,x�~�39�T�)��ܥ��ʥ��J��2YB��C�ʼ��S&5SN;��8`��
?����%��a�Gcv��:_���KxW�|=����	�.��ُ�}T�����Ϳo�$r
>�R1���]o�4��O�2l^�G݌�A��Sk	���a9�����u�����>�횸5� ����؞���Ƙ�R�r��P)��p�/C���N��W��%��=�(ˆ")bQ���=��
��{�>�ѨH>�?BPG
��N�S��w>ŝѸ��|٧�I�~��>S��
�	e��ǭ��ot�_e\�yƹ[�ϓ��-�j;�ӓ���n��V�q��Ml��Z��8����4��1�ym�uUm//.�v�e�ݣ��ޭ��u�oMͻ+["Ns��L2��FM�4i��1A�O�&@�?��!���n���Es����|����/��
�נ�
+endstream
+endobj
+15535 0 obj <<
+/Type /Page
+/Contents 15536 0 R
+/Resources 15534 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15477 0 R 15478 0 R 15479 0 R 15502 0 R 15503 0 R 15504 0 R 15505 0 R 15506 0 R 15507 0 R 15508 0 R 15509 0 R 15510 0 R 15511 0 R 15512 0 R 15513 0 R 15514 0 R 15515 0 R 15516 0 R 15517 0 R 15518 0 R 15519 0 R 15520 0 R 15521 0 R 15522 0 R 15523 0 R 15524 0 R 15525 0 R 15526 0 R 15527 0 R 15528 0 R 15529 0 R 15533 0 R ]
+>> endobj
+15477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 687.541 200.451 698.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.191 687.541 251.997 698.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e) >>
+>> endobj
+15479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.334 687.541 354.691 698.445]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 651.685 200.451 662.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.191 651.685 251.997 662.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aed261a7f093a3ea4eb8cc2ba5eea3732) >>
+>> endobj
+15504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.334 651.685 354.691 662.589]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 616.825 180.198 627.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acda879ffdc222a06c9af2f820ac02c5a) >>
+>> endobj
+15506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 616.825 259.37 627.729]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 592.924 289.866 603.828]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) >>
+>> endobj
+15508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 592.924 359.324 603.828]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 558.065 290.971 568.968]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce) >>
+>> endobj
+15510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 558.065 360.43 568.968]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 523.205 224.003 534.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a) >>
+>> endobj
+15512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 523.205 326.696 534.109]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 500.295 254.15 511.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) >>
+>> endobj
+15514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 500.295 338.263 511.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 477.386 284.585 488.29]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) >>
+>> endobj
+15516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 477.386 354.044 488.29]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 442.522 241.726 453.426]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afc2f9c2b16ce6601be8b0b685c0c11e1) >>
+>> endobj
+15518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 419.612 249.318 430.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) >>
+>> endobj
+15519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 419.612 288.321 430.516]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 419.612 371.519 430.516]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 396.703 240.62 407.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) >>
+>> endobj
+15522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 396.703 324.734 407.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+15523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 396.703 389.5 407.607]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 330.343 203.075 341.247]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+15525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 330.343 296.324 341.247]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
+>> endobj
+15526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.434 224.259 300.077 235.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acc7b416e3bc54353d05447fa4cfca8a1) >>
+>> endobj
+15527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.729 173.454 251.371 184.358]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad03499176ca7a20224e1be9c0bc7a8df) >>
+>> endobj
+15528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.434 122.65 300.077 133.554]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_acc7b416e3bc54353d05447fa4cfca8a1) >>
+>> endobj
+15529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.729 86.288 251.371 97.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad03499176ca7a20224e1be9c0bc7a8df) >>
+>> endobj
+15533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15537 0 obj <<
+/D [15535 0 R /XYZ 89 770.89 null]
+>> endobj
+15538 0 obj <<
+/D [15535 0 R /XYZ 90 702.119 null]
+>> endobj
+15539 0 obj <<
+/D [15535 0 R /XYZ 90 678.407 null]
+>> endobj
+15540 0 obj <<
+/D [15535 0 R /XYZ 90 631.592 null]
+>> endobj
+15541 0 obj <<
+/D [15535 0 R /XYZ 90 607.691 null]
+>> endobj
+15542 0 obj <<
+/D [15535 0 R /XYZ 90 572.831 null]
+>> endobj
+15543 0 obj <<
+/D [15535 0 R /XYZ 90 348.752 null]
+>> endobj
+15544 0 obj <<
+/D [15535 0 R /XYZ 90 348.752 null]
+>> endobj
+15545 0 obj <<
+/D [15535 0 R /XYZ 90 280.485 null]
+>> endobj
+15534 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F39 2320 0 R /F90 758 0 R /F67 3037 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15592 0 obj <<
+/Length 2086      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W�ɥ�h���Qh�4�-uk}H���K�E�]��YryY���D	�O����ٙ9sf���u��WG�/�N�S,0�H*�������		�����<���I���0����ח/__^�gG//�n�<���t0[
��s��C�3:�/�N��G�
a�
��$qG'�%�L�DH��[JE�x=����Q��9qijm�x��DEl'�|�Lg
U�s]���I�Hh�Hz��$Zœ)8<�xy�#S0$��|��lw4�
+Il�)��Q
�gBq�.�n[֘����o���7���	�a�y�w��b�����eR����y:�"��s��aC0o��A<�M�3���̭9<1����s��ٰ	�ވ!+�k#|�>خ}4R��
�S�U�0�P#%/��j���� �N]�_�GٺVw��
D4��P
�BpQZ�_�>1F5R
z��`��X�D����)ᠾ��t]�OO�h���H
+�'V����S�	�k�w�c��[VT�������"��i2���w�Z��qKR��j��Y&q��ˢ�XˍE;�n�&�����8{V]�?�

K����G��DC�uj�“����Nn���x�,5�'L��:�gN�"�/8R�Aw�I�%�.%v!
.0���f{b&
��g���2Y�I�)�j�6(k �܈�la
�i8B���aT"L}��
�IN��#D���T���F3C�q������.�������0�
)����}�Q2�.��桺�
�����j��30Zu�9�M�#'(�'2؛j��&MOW�ƍc\��w.�E����5���C��[�}��ij�8
�a
��
+��=�֏�WyS���~n�2��ך�U���
J@,�ܤ�
�d�
+#ʲ<��\A�2 at P }D��J�ٻ�^јޙ�e�:e�.�
� $�"���:� �J��8�����q
0���S�P�v
+o�Jiq �
\I�~1�Qo��m}7���)�RV!�Xg��	v��V
+��C0tY�bh����t��� ;�Y�i�ɂ�������:����p(�_T�bb9��M�8�*� H�n�%;�vk�ɤIןT�Rm�e��Φb�ٔ����t������m�-�iڣC�n�*�p�^�$�
���-7�� �o��R�.���V�ا	X�iL[
�1�_$dz�����`N�n�A#j1Nx�6&$�ʗ�I��**���N��#Z&��1��fi��gl�DԺ��)�`�8���@U,�W3�|ү��V泿]�_�xy�˄�p�9���d�����0c�Ð'�"Qaeڟ���; PKc	
`	�*ž�OT8/u�lg����d��"�W�WW1�!	�~��-f=�ÄWrm�j��g1p�M-�,^��e��[$�>H��
+�߶0]�z�W�L�@�-i�Qq���2˖�M�^;���(_E�?�\#�nJ4��}����7^}�Q~��i@(I�R����2B�+C�OH�̨��`�0��<~Z^�Q>�����ҧ��cU��
6�P��~�鵆5ƽ
�J���_�ȡ��n_|l�
9�x1��U�Ch�PsY>�n>l����:=P�%�2��Z�t]r8����^���+{�D������FT���h�'��zˉ�Ͻ�� ȇظ���U��zy��z�f7��ɛ�p��y�+�ݧk�s�O��a3i�\�u��]kx^m�
��d�a� ֶ�Z���\"�v���[Bj	
��Y'�m
!���'-�ӭ<��@��#���TV�X���-ő�|Kzki��;{��ɾ2�f���2+�kKg�.Q���u�P���	�r{��^j���$�����Ve9d����Ne��(�bj��۶��1���y��g�Ȇ�/hp4�
�
2j�r�*[�+[^�9��6@��M��>Kgw���(i껛zJ
+4��~�ٙ�!L���-,��R�|ؽ.�s܍��W,8KAX+n
+�����N�Q8
�zQ����}
�_M�]���(�++KW��c
%െ���g
X4�l�Ë8v����Q��*�t� ���Ң(�ӓ���k�k4KW�SJ;٘�a��Pf��qͮpsUz�/�����An
+endstream
+endobj
+15591 0 obj <<
+/Type /Page
+/Contents 15592 0 R
+/Resources 15590 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15258 0 R
+/Annots [ 15530 0 R 15531 0 R 15532 0 R 15554 0 R 15555 0 R 15556 0 R 15557 0 R 15558 0 R 15559 0 R 15560 0 R 15561 0 R 15562 0 R 15563 0 R 15564 0 R 15565 0 R 15566 0 R 15567 0 R 15568 0 R 15569 0 R 15570 0 R 15571 0 R 15572 0 R 15573 0 R 15574 0 R 15575 0 R 15576 0 R 15577 0 R 15578 0 R 15579 0 R 15580 0 R 15581 0 R 15582 0 R 15583 0 R 15584 0 R 15585 0 R 15586 0 R 15587 0 R 15589 0 R ]
+>> endobj
+15530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 696.002 156.281 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab617c0a1051fd344e4d44fa5f5415b1f) >>
+>> endobj
+15531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 696.002 235.453 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.396 696.002 372.753 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.219 189.267 652.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 629.288 198.092 640.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.069 629.288 282.49 640.192]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a44499a9c2e1c360ce6757ec020786e36) >>
+>> endobj
+15557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 598.439 212.978 609.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) >>
+>> endobj
+15558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.12 598.439 313.062 609.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.103 598.439 433.459 609.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.108 598.439 515.051 609.343]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.807 555.635 177.061 566.539]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 543.68 189.267 554.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.768 543.68 218.021 554.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.76 543.68 330.3 554.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01) >>
+>> endobj
+15565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.145 543.68 378.399 554.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.957 543.68 441.211 554.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 500.877 213.576 511.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) >>
+>> endobj
+15568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.913 500.877 261.167 511.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.881 500.877 383.238 511.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.484 500.877 411.738 511.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 458.073 213.576 468.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2fa8e500a9e53318599462001f751c89) >>
+>> endobj
+15572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.872 458.073 388.229 468.977]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 415.269 213.576 426.173]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2fa8e500a9e53318599462001f751c89) >>
+>> endobj
+15574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.872 415.269 388.229 426.173]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.74 388.886 215.202 399.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8bef907491da530ce94e52f830e84f2c) >>
+>> endobj
+15576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.791 388.886 305.347 399.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.345 388.886 432.702 399.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.575 388.886 502.131 399.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 350.547 156.281 361.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab617c0a1051fd344e4d44fa5f5415b1f) >>
+>> endobj
+15580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 350.547 235.453 361.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.396 350.547 372.753 361.451]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 313.185 189.267 323.113]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 300.254 198.092 311.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.069 300.254 282.49 311.158]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a44499a9c2e1c360ce6757ec020786e36) >>
+>> endobj
+15585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.039 130.001 219.763 140.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.273 130.001 307.952 140.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.463 130.001 336.366 140.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15593 0 obj <<
+/D [15591 0 R /XYZ 89 770.89 null]
+>> endobj
+15594 0 obj <<
+/D [15591 0 R /XYZ 90 617.176 null]
+>> endobj
+15595 0 obj <<
+/D [15591 0 R /XYZ 90 519.613 null]
+>> endobj
+15596 0 obj <<
+/D [15591 0 R /XYZ 90 260.401 null]
+>> endobj
+15597 0 obj <<
+/D [15591 0 R /XYZ 90 260.401 null]
+>> endobj
+15598 0 obj <<
+/D [15591 0 R /XYZ 90 208.377 null]
+>> endobj
+15599 0 obj <<
+/D [15591 0 R /XYZ 90 101.245 null]
+>> endobj
+15259 0 obj <<
+/D [15591 0 R /XYZ 90 77.486 null]
+>> endobj
+15600 0 obj <<
+/D [15591 0 R /XYZ 90 77.486 null]
+>> endobj
+15590 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F90 758 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15609 0 obj <<
+/Length 2374      
+/Filter /FlateDecode
+>>
+stream
+x��Zms���_�O�4S�x'鴝I
_z�%q�J��ˍ��(��D*�;��, ��"%Y���L>�������� 1��Y8X]�`u
�/&��W.s|�K*�����r		O3�ݐ`���1��F�t
<܍(
&��e8K��7�c�O�צ9��m��}�'�F�'__�"�6eq�*z���.�>0>e~����v�&�E
�b�yT��*�nGc*�p2��0\oVA����<LG�����Gɐ�D	
�N���1�����z��=vf��5�����AwZ;�2������ĺ�=Ȱ}O�*�#�H���Ps���$�~�d���e��i��Z�u9Ur$	9�TFd97��c�݃V54h7d̨DR2g
����
�sR	�����54
7��#������-#���%�g�:��Q?�)+ls��#VA?V����Xe� ��
�
~���_bV��
�Q��'�,R���T�+Ƈ��Mu�q�U(�m��W����=f��e��0�5�p�
+A��M���'J���3[Efa�����߾�����ۖ9a��攴�(�E�wQ����}�4H���(�g����fM�L�*Y�ꕬ

ɐ�`2�����]���$��.�FT
1T6�
+�Y�Ѧ�$5W�����dY�.<00�K9 �~5p��w�I�h�j)���`g�gc�|_�q�
�+��e���pk�k^[�c�ּT�@2�<�� �b@�З����;��J����
�&JY�A[�%8��<M�w뇱�1���
f-�;�y��(�/S��>�@Ե��,sh�֏a��dn���ڳ�#�<�Y�
��`����a�l�x��dSC�g�= �D�|t�
+$
+O�	Ծ%j�
+r9F[�C�(R9֔ 1�vk�/T�
�uE�7�4�	c�H��
1i;�4��ȸ�6Ӳ
�!��\�
U�� C���|�t�H��*�GX^ �hv. '�G;=�������R9<
J�S�Y�`��1Z���{(�J_���})�8iK�=(
�q�F
nͼav�W�&������T�-r�T�=�S��b3�1@�z��� P,�b�Ͽ����o��������3�q�8;�̝)��c��;�΢�!�i�Q3]>Zҝ��0�,H
�����9C%�z�a���n�r��q��������ַ�*��T%P���c ���
P�cQ����}���B ���h��Q
��`
++Sᦎ���
�����
>'6�rOv+A��."V��J}ZQA ���dkB:x�ѣ�:f�@�)�4.����v%�',+��n�x�q��B�G�ף1#�ķ��U��\qN1�vV��ev�W�͢�ϻx��7�o�]:
�Rg�\���iI��4Y�hL�����l)���v��&a>���T%
J�M�_�߻D]2Om��~�O�T��|�8�
+
8���P�����b��n�D�m�Y�M^4�
"��}�'���܉%Rr�#�z�h0!�{^?�#�!ՙ�sô��p
+/S�
�u�J����:Xu��1�j/���"I�l��V(=
fg�
+I=�O��/��
�B�XX��s����>s��!o,��2��A�qRu׹�P:m�l�O @U�Ή	��~g�+I��
���Ǎ�y�
����sSh�"&�у�M���p����L�J�����ĭ�倌��E�ꡠ1[����(��V��6tT����dpS)a:2���
�2���U�.�E���-�9�G���Qlk�NmV�PE�_[�M�٤��X�9�qI�"�T*~

�7ZKx��m3s�ī's����Y�L

�γ�\�D7С��4�SS{[�&�o�Cַ�j�
��&'*꟪�λʳ����p��s)�8�}���%ꔑB�J���YdBp¤��S��
�hM-5���V>��dyv�r��� !����d�w�rPo���"�b�w�-R.Ө
|u�>U�r�]݈ �B�>1v��K��1�01.���	��ȷɪ�H����'F��w�����>y�z�� ������D�YM�nV��2�Й�� ɅCх���m6��^��"[>�i:�B%\�N1G
�m����
IP�@ƀ��{�@{�CQ�l�&��
t(�ss5�n���2+/�G`��
j^/	L��ߡ&��U�m
��i�6�j�G�Y�b�Z�}�q>�Q�GL^�����T����&/�ٖE��@Q�Rv������R�|?*C�7�e��ޘ��a�Wu��ǐo�xW"U&흔�UŃ�)�}�Li���)��=�x�T!*PQV��,�\_]=�[X�hj�,�J�f�_�F�'��4,j	hTES/�T	(%R����_���Ou���~Y|�7\�^3��
����w��_?
+endstream
+endobj
+15608 0 obj <<
+/Type /Page
+/Contents 15609 0 R
+/Resources 15607 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15588 0 R 15606 0 R ]
+>> endobj
+15588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.68 661.939 333.036 672.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15610 0 obj <<
+/D [15608 0 R /XYZ 89 770.89 null]
+>> endobj
+15611 0 obj <<
+/D [15608 0 R /XYZ 90 646.048 null]
+>> endobj
+15260 0 obj <<
+/D [15608 0 R /XYZ 90 587.07 null]
+>> endobj
+15612 0 obj <<
+/D [15608 0 R /XYZ 90 582.586 null]
+>> endobj
+15261 0 obj <<
+/D [15608 0 R /XYZ 240.245 501.32 null]
+>> endobj
+15613 0 obj <<
+/D [15608 0 R /XYZ 90 494.68 null]
+>> endobj
+15614 0 obj <<
+/D [15608 0 R /XYZ 90 414.151 null]
+>> endobj
+15262 0 obj <<
+/D [15608 0 R /XYZ 90 367.127 null]
+>> endobj
+15615 0 obj <<
+/D [15608 0 R /XYZ 90 362.644 null]
+>> endobj
+15616 0 obj <<
+/D [15608 0 R /XYZ 90 238.423 null]
+>> endobj
+15617 0 obj <<
+/D [15608 0 R /XYZ 90 172.38 null]
+>> endobj
+15263 0 obj <<
+/D [15608 0 R /XYZ 90 81.969 null]
+>> endobj
+15618 0 obj <<
+/D [15608 0 R /XYZ 90 77.486 null]
+>> endobj
+15607 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15623 0 obj <<
+/Length 2279      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�OWX3|�k������q�+��@k+��lɵ��Ϳ�������

+�'��p8C>
#*������E�~?]����@R��
� {>���k��N>�~�T�z��w7��ٝn]�F��4a�X�ʛ�G�?`o�?��,P�'#��8e�]yw��Gر�X:\�A�ؑ	F~�(�)���h�Y�y�-�x
RuO�G����o����G>��M���h2�B�o�g
:%G����߬�3�` #�D�N
��ux;�x���
��6�܆ۧ�K[
'y兌��)�BE�c���^�,�vdʨDR2o
+��8��$������,�=>萫
�-{���Ly ��4����K�R���ʙ�	Q�4��G���K9#~CD!�WK�y|յ�>b���J{��8��Z�Y֥�㘕=�DŽ���H�j�]�8S�a��H��������w?ݾ��כٯ
N�h�%)t��Q�K��q����C�6�#E+g_u��H�j��G�7�x
�FWc.^˦�)�0�BB������~���y�[�gSbh�N�(�c��]Yx(�$��$󲳅C� �0L���5
cf8���(2�Ae��V*.��8[^o����m�`�A�j#�P��!�%�B6�ߏ�1*ͺ��	�B
Ɖkq'�U1�"���K�y�l5�f�M?��0� ��D(�&�*�c%4�wYnKi�z��]V�
W�t
S��J�a!�H�7IM
[�ϣh�;�D��7�i���
R�Q�?3��,rq����R0ۄ󢸈�Q��i�(�u:��P�R��2��4���1e���<�5��]W_��y>׭�Q��O[P�O��� [...]
���2"�9�
3*x�Wif�����[j�
�]%Y��CM��/ Z�
�wX���Tb,����-�$�`�
9" r��@����
V�D�c�w�I��k�T�o
꘿*���;���J'��<f';�
+P)
f'k�
�_^VT 0�`
��H6�����p�
8����8H/��ono�s2�N��0����epb�����Fݭ���n�ձ����.��$�Bc�&����(Y���v;�B�\{�N1G
+2��/ 6�� c
��q�	ý����
������4��~�q�25��I��'�����Ը�#�
��j�����_������W��`[t65��T��L��j�) &�@e����a��9:�)\�k�r���|�½|
+ _�|�`�ɧL!<"LZTI�C��{;>�O��):�S.�"��7H}��$T( ��m��P
[�rq�>���N$
w2(IB�ɠȠ�A��n�������Y��w2&o���E􆂖�%C�7Iˈ���T���"���쁚��E-XQ
P�(+�"5ڦ�ɔV�J��A'�,N'��j��S�E����{Q�X��Y����s��5�,�	8ߔ�u��B
1_T��kߙft^�
3fM}u��t��� *���\�Sp��r
�C�Gɩ
Ù&u��i�̒���0�,w��0X���$�
�
�np�b�J�_�s�s���q
����;��䠷��5�
E}��H�
+�`
�R�1z6k0�w%i�wg�x�œ�=0�L���kֿq@�Ȱ��
�)�A�.e�$e ٞ'>Q�n��D�=���
�.趮�4��=���dF`
+�� �� �%:�u�~ ��n�bu���u�����ދ���^��{/�Tu�7��e������p�	Y�}�<uM���8 І���(��R���|$�aMi��(�i/�B����گ�R�$@�D�)Y���IZ⣸�k��"
S{4�B�'����-:%��A�`›�	mg�`��$H*AZ$�\$F�%H�ֆ�S�	)�Sۯ_�XϧB�jnY����OUl�e�~���M��Y٫-�����8�uqOȸ�3t�^5�z)��E�+�$|2��ep�&M'�9r"%Va�Ҳ2�
s�=ӌλ�cFE�t��-���l'@�
�� .��lP��W����,�Y�
��EC�,'�ۻҁDJ��s����(�E�);�
z��N��f��b��R��,�ƲOQq�fͼ���V7}�Za��p#��^zE8U���۷��Km��1.���0ٕ�H�����đ����N���-8��]������dd
{GBT��c�o./.>�Y�,�/S��3�|�?S��U�	0Z�K�:)i?���m�@
+endstream
+endobj
+15622 0 obj <<
+/Type /Page
+/Contents 15623 0 R
+/Resources 15621 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15620 0 R ]
+>> endobj
+15620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15624 0 obj <<
+/D [15622 0 R /XYZ 89 770.89 null]
+>> endobj
+15625 0 obj <<
+/D [15622 0 R /XYZ 90 604.514 null]
+>> endobj
+15626 0 obj <<
+/D [15622 0 R /XYZ 90 538.471 null]
+>> endobj
+15264 0 obj <<
+/D [15622 0 R /XYZ 90 491.846 null]
+>> endobj
+15627 0 obj <<
+/D [15622 0 R /XYZ 90 487.363 null]
+>> endobj
+15628 0 obj <<
+/D [15622 0 R /XYZ 90 375.097 null]
+>> endobj
+15629 0 obj <<
+/D [15622 0 R /XYZ 90 309.054 null]
+>> endobj
+15265 0 obj <<
+/D [15622 0 R /XYZ 90 262.429 null]
+>> endobj
+15630 0 obj <<
+/D [15622 0 R /XYZ 90 257.946 null]
+>> endobj
+15631 0 obj <<
+/D [15622 0 R /XYZ 90 133.725 null]
+>> endobj
+15621 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15635 0 obj <<
+/Length 2455      
+/Filter /FlateDecode
+>>
+stream
+x��[mo���_�O�
���
��o�^w{�
�]��$jm�'ɻɿ��Dɢ-Y���
149��<��<�b����_/^�..���HK*�ٝ��p�����g�`�ɔ`���	�~��›�	�~�|z�Yx�!������ꎓ"�
+;�L�e�1�2���
!��(��� T)��S5��֧L�#�?��u�	Ǎ�ż^�y>�R���DS?Z��aU=�DwQ6!ʏ�9tE��53B/��.~�  {��*���W��`o�?y1��o堕�)����t�
lw�y"*L�<�/@�Vi���
C
+�J����h]�i��
+��[�Z�,��<�H���%Ծ-�/-�=� )��Nc��dG*�'ٕh��$���#
+�\��"�%�r��'F��“:���5y���ZF�}�peل
?�*/�y�b�ec�F j�}�qDdp�>ن
��c��!K'T��8'���]�,
����ùm.�U�������
I�l!�NI}&Ӽ�N!As��	>�?Z�;K���x�YU��e�h��VljV�+�a��� -j'����ӈ�30�{z�DJ�'�,���'#
�j�[�Q�l�(�{u��$�ڹ�
�
+x3�xZGI�*�H����kR�W_ps#�_7Ɛ�|H7ݭ[�b<@�
�NF�� </�Z,S�Nj�eQK��L!���S��C��m(��Ϋ��M�o�N$\���f�����)�̟C�,:ւۛ�
���|z�]X�pGqz��tmN���M)�������
+ at pj t���0�:F�N��c\<�T�N��)��ȋ
��˙�]
�
����.�؛f����כ�?����_�g�v�>�&Z>"]A� �u���q���q��Ivv�ĔBҡ\�"��u�&^.l�V�u����%�ʟ�Mݸs��.�gn�Q��`J��ūu��V�"�0S̳�b�ԏ�+I�v`O���.N�[n��VWC�P.�8��{g`
K��"���I�vB�^g)�Űh�t�5����Ua��v/���e��
�M
�Y=kh��и�_�ih���W���~�Z; ��ꚤ²j..\�I��?�Z;�p
����`� ;>��.�L�3��'6,�؎DnP�$��H(�\`�S,")t����IJ�4&�
�N8Y���'��&�;��Gw�m���D"r���� �jL��+��Qe
5
+̈@��(�N /���ĝ�R7��*�
�:&�
����V����I�E��s�����
���s���%\qĔ�(�P�H��,�^@fy��`�dD��%�
��K� Z�͔�h_͔�xS��צJ�%U�H`�/谙��ke:�n��c�I+��J ��JvR%F�]:�R%�סJ̯�b�y	��nmi�>�*9�k��GP�
�L�#s�*��d̥J�KR%<�J8�Ԥ���ؒ
��'&�*���k��2�Bq,��}B��Oj��?j��{�

8D�z�I:L�hA���b����K��z��o(�W�c�M��H�^���h��t`�D����qp�{�A�Wi:a�
v�)P�rpH�k�V�
l�(���)J"cvI���)�K��-�B��Q�M#�Rb��%N�r�3$�
;�@O�812���81�-qRJr�3���L!
+l��*�����%v����F,?F�X&�
$
�$aHB�� #%R�w��1%�zt���
����������D2����K�Q�j)գ�#TC�Kĩ�ș*ub�Qilz�t�{�mD�1�s���#Tp�::9i<���Z�����HA�-��
iI<�
1���F2�}59�c�i�c�
�#u1���#'{����hvX����92��M�I������hukHS8�3Y���H�o�y²�?�5y9�P�:ߩ0D^�|�ȗ�*�lk��4]vU�Iv�G#�|��1
�6Zj�;e\ q�9 GP
q���%�&/�J
|�@�V�A�>�0�e�He�\S�=�XY�d����r��̕��*\��W��%`d�Z>���� j裖#H+�eR��k�~���Ƙ:Îx��f
+��(��٘~�l�ri�_�b�%yGa
q�0%E�����D
7��5���*'M��ڏm�����Exc
+f
z@�����8T�,�%R�'�:�(�e��0k���<�- ���
c$l�
SC���(r|�e~	�֧����/��饕1�_
+��2¤���2N&����xq�
�J�4sD3�4ӵ��2�ٕf��t�Vn
I��QH����8xJF=jE�N����4NL%I�����f;��3�ȴ�d/���j9�A<C�}�;SPv��Ǩ���S�ׯ� 8j�C}]_��̣�!|KF|
�M���&l�� �6T,
&jY��S��R��^���E	��*&?ۗBE��������P"@�~�k�a3h wW�i����\��3���@�RI띀��

�I�rD�]�XO�
��W�{��o��;���<
+endstream
+endobj
+15634 0 obj <<
+/Type /Page
+/Contents 15635 0 R
+/Resources 15633 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15632 0 R ]
+>> endobj
+15632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15636 0 obj <<
+/D [15634 0 R /XYZ 89 770.89 null]
+>> endobj
+15637 0 obj <<
+/D [15634 0 R /XYZ 90 718.682 null]
+>> endobj
+15266 0 obj <<
+/D [15634 0 R /XYZ 90 672.057 null]
+>> endobj
+15638 0 obj <<
+/D [15634 0 R /XYZ 90 667.574 null]
+>> endobj
+15639 0 obj <<
+/D [15634 0 R /XYZ 90 555.308 null]
+>> endobj
+15640 0 obj <<
+/D [15634 0 R /XYZ 90 489.265 null]
+>> endobj
+15267 0 obj <<
+/D [15634 0 R /XYZ 90 442.64 null]
+>> endobj
+15641 0 obj <<
+/D [15634 0 R /XYZ 90 438.157 null]
+>> endobj
+15642 0 obj <<
+/D [15634 0 R /XYZ 90 325.891 null]
+>> endobj
+15643 0 obj <<
+/D [15634 0 R /XYZ 90 259.849 null]
+>> endobj
+15644 0 obj <<
+/D [15634 0 R /XYZ 90 208.616 null]
+>> endobj
+15332 0 obj <<
+/D [15634 0 R /XYZ 90 184.082 null]
+>> endobj
+15645 0 obj <<
+/D [15634 0 R /XYZ 90 184.082 null]
+>> endobj
+15646 0 obj <<
+/D [15634 0 R /XYZ 90 111.404 null]
+>> endobj
+15333 0 obj <<
+/D [15634 0 R /XYZ 90 77.486 null]
+>> endobj
+15633 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15650 0 obj <<
+/Length 2470      
+/Filter /FlateDecode
+>>
+stream
+x��[[sۺ~���S+�D0���L{�tz��i���3Z�m�J�BR��_�@B�D],�m�ɓh\�.�����qt������|�Xd��TF׷����		͢F���O��GLjD���������������ś��
�x)
M?�����>ˆ
=�A��S�����_/p�
FT�K�Sk�������A
��`�GU�X��*�]��Q�7�B��F�_�
�
+)
TO�$��xB9
}���G��V������
#n�|�u�M
��4�>�	
��"��aL�(�?�'�"��.�)������N��L�z�}�!)�F��c���gyW�
�N��P4��!v[m
滺��YYq���L�G?b�{� $�:��cC�
i|3��Z��F|��놸�3M"�U3�&^	��n�˷���H8c
Gk/�oI�*���h+��<��X�jw�R�8K�ނ.�f�"��O�
+
mO! n,Dߗ���
q�HK/.,ARϔf�]ڂ3,��k_a֣GF�`�}Z�)��	V������X�(�T��DXP/���4YVi�ݾ����	��ͤ$9C
+p�/+�ħ{2�Z�K˄$k"�	��'F�P�%�K6E��Z"�}�¢R$�mK�O��DE(�̊�@���)����	��x��>,�ݭIVخ��#�٠��=c�i*c
����Fb�k��}���=d{b�S�$9"F�f�fyU��S.�i�/g)8�����mO�H�R����
�]k(�_yZw�d��g�<��h �0
+q�}�>��dKֆ�F
+(=��~��k�l��
�;
7r3����(XޤH��dL��1-��?��O�g�"���Y�U��,-^e�ʿW��U{6��-���4~p[ū�Q
�vX�,|�,�
�&�"��Ii�m���d{c���3
�H^�N�Ǡ�j
+u9��\9��xLFO���~X���0g�}{���ବ�~[�
��V���x�*�i�9@�V�������΋�ԖU�M�W���Bn�,B6��������Q���˳�D?1���J/Fj�����S"(��ZT�M
+"AM�]u."�'c	����z�m�?:t�G
+��u��Sѣ�W�
ӧJ'-�
R�u�N�
�>�![Zt���(��4�{p����L2.��� H���}�AXʿ�+F�6���
�1�7�9����������y҄��lZ5��lS��QSM྄.��4�'���>�
w����}��P���O��q�z4tU{��1�lW|�a<t�V�dM2+\X��l42��3g�� mTw��&�SIZ���7L���V�l�{5$.>�y\�z���xn�Y�r88�}M:T*Fx��k�!�5��ӤSK��Wۤ'��}S�Y�A��ߞ�����t�kO�N���t���]�2h^�}�P
lk<dG�2�<n�C��-���
3��q��}HK��}������'��GE�M
=�(�Vj�`�NVl~���4_,�*����f���F���44ϒyp�A�Jv�
�����n$
�rL@�B�`rV���X&w��
��L|��aE���h"' �$"��"G���&rn=m:@�$U/��HE�5�0lp� �͆���t4�j
�ZI�Z"ϡq�@�1��҆�m�z"��X���w���
#�T�a;��d
�q*��`q���zY�"~L���f0��v%[��hb�^.�Al�:���x�G
��„,��ɭ�Ś�u�ݘ�k��Ϙ�\-�&�t��!� I�gR��l
�v�$�,�3�V%���B��r C
G\l:{գ��I^ƃX����^c�uc���ن�j���N�Î�lX
d�
�-;̆
1m6�0m6Ki͆�U�w� Z
F�8�բ�S���v���l{)
��{&	����l���ϫ���
�+B�>
��n
�]k�~�O�n�
�	��	v�����S�,V����|�|)�Ë�Jf��02F�m>�ͺ
Q�*a��7=�
t�?�G  ���!�Ӑ�%����6�Oi=̞�$�ʴ����T�tۻ=F$��g*��xwhD;�\7���\��e��Ý-؛z|]��\���L�0�'ڌ�k9x�� ��O���n�H�Đx
Z��3'H�a�
e�� @�T��ʎ��Y��C��H�r=r���q��8 �j��U�0? ����qD���jX 1"; iv��ӤImM�fI�/�쥰t�
��
D��"�
��%z0��bÀ	�k�,@�I����� ��S�S��Z�
�){�:���CR���DGA�d��6�	͓%ֿ݃�)ʎ����y��q%�3芉R�=l_���;���?.X��
���M@�d-��W�2'������c���Çw���eR�r,Ĩǟ�,����f|kT��
A����i׏Is����Ϡ��<�[� g"�G�U�����YݕIv���
[�'^�lL�$�m�dyN���E��d�
>���
+endstream
+endobj
+15649 0 obj <<
+/Type /Page
+/Contents 15650 0 R
+/Resources 15648 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15647 0 R ]
+>> endobj
+15647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15651 0 obj <<
+/D [15649 0 R /XYZ 89 770.89 null]
+>> endobj
+15652 0 obj <<
+/D [15649 0 R /XYZ 90 721.073 null]
+>> endobj
+15653 0 obj <<
+/D [15649 0 R /XYZ 90 655.872 null]
+>> endobj
+15334 0 obj <<
+/D [15649 0 R /XYZ 90 499.543 null]
+>> endobj
+15655 0 obj <<
+/D [15649 0 R /XYZ 90 495.059 null]
+>> endobj
+15656 0 obj <<
+/D [15649 0 R /XYZ 90 424.353 null]
+>> endobj
+15335 0 obj <<
+/D [15649 0 R /XYZ 90 389.683 null]
+>> endobj
+15657 0 obj <<
+/D [15649 0 R /XYZ 90 385.2 null]
+>> endobj
+15658 0 obj <<
+/D [15649 0 R /XYZ 90 312.337 null]
+>> endobj
+15336 0 obj <<
+/D [15649 0 R /XYZ 90 277.667 null]
+>> endobj
+15659 0 obj <<
+/D [15649 0 R /XYZ 90 273.184 null]
+>> endobj
+15660 0 obj <<
+/D [15649 0 R /XYZ 90 178.543 null]
+>> endobj
+15648 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R /F135 15654 0 R /F8 794 0 R /F1 833 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15664 0 obj <<
+/Length 2747      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۸~�_���b�w�Ӣ�f�M��f�>l�Ɩg���,g2��=u7e�2�A�E���Ї��|����� �������iIep�4�HH��
+~����/�x�aN�,ʶѧs�g���c�ʢO��,�^no��$��q^�1?y�3x0�����2��P�J1�m��>0>e�����;�
�8���iT�7�h��/�������x�����>�)^�ٜ��8]�#R2�Z�7��n~�! �.�@*
�ۛ���
+
�`�t<���
>7�Ǜop���'��4�G� �Q:�c
(�P��U�ݗe��'�t_(t$�h;��Hy,�����)��3h�}m��h
H��
=!z���%�I�"��Z"��#
+�\
+��`ݒb7�cQ�"̌�������m��9�}�6��S�͙�=
�q�����9l2�:Q��ϔ1��T�f*�fH���L��1�ͩ�=��g�u�s��;N�����Sf;u�KpݺS��l��K-Q�j��'��5�a-'L��e�ǯ؟=��"I���S�'����0�4L��
t"#�(��1��ylF�����]��׮]�"�k
+IƫN�e�71;1M6�eɂ L��Ѭ/:��V���}��v[ۊ�!���g�_��16!�Uh%w
m��ctƐ$�?z�,����#:H;'�_�O�R��4
+�z\��`M�bV�j�Zp
B/
,
+S/��6��l[�LN��i퉛x���!�w�%��
۩��'���� h�
�K�WI�>(��PHg��;�/Oqm��� ��F�."���{��vl�`�����_#��w�
�����/�gm�
���0��?��-XN�!N<_p�fK�8�cM�fi�'i
e���6�mo�c�A8�կ~WMB�� �d��8�*q�9�]�е�|�����2)}ot
"�/
\�or��`!
+�
2ωPN!��:��;�e$!6Y���5O�r����Sĥ�yB��;����
&1�wM�pK+�{.&}��t
c6NwغV���/�q�U��"����V��ڏ

2 �7����i�NUg�^`�z'�e0-�OEN�;?`I��uh��w�&X\0L�LR4v��Ŷ����

A��_[��
�&{Lk at Qjv<�2
#��c�H��H�q�@�\��	�$$W�c
�� ���a�b���d�h~�RDe/�/�}���Dz���&��>�� �
�?�[4�Ǔ�L���g�
8Ap�R]T3dq8�,�r�Q<�kᬼ���b�
��	�Vɗ�� ���x��F
+�����3D�i�+�����%%�`i�'>�b��P1
�PV)bii�+F$��W*�1/������]e�p�vJ�a}cg?���%ĉW����+^�u_��u��Q8g�;�a���*�\����"C���W��e�
~l̆B��
+QF{%ڨ!_��ېۚԆ�
�%)��������h�,��
Dr.}�o�֔ WS�
���J^��2}Ԕ���mJmMjSZ��n���eL��1�� k�Ә|K,��k�,�cLD#ƌL�G'4c�t�.]�W�SG��⡅��u\��<�>etI	��~��X��㜾*��dD*�=�w��8�F��`[p�ڦ`�=4�@D�VY;j�W)�q
%���NV at .�K�'����8^�ߘ���9�l�,���p�Cj����M4���ـ)g��n�ʟ���� ��X1���u�^��?��YN0u�-$r��y��˸Z�b�z�j9
�A�WJ�dڸ@�l�>��F�5L-�h�i_T��yVLmw����<cjk�v�~
{HT�����2�D-
U��D�!=(�|B0�NU��4m��(M�\
����yjWMk��w1qa��%(�a�5*
�������K{��!+��삅����=î�?8�A��,޵</��KMT<����y�+��W�y������z������</
�Ǹ���;��e�]�R"�=I���'���)
0H˄�+y^\��8l�i��
W�'*NN����g���D��<�Dow��?�i
�{�=ν�mI_�2a$��B�j
+Y�lJ+E�I�V�(KL�,�Q�Q��@k��%!����j��E2�
^�Ts���[e�P�1F�h�����"d�5
"`’�
+K
+�h�#`c�l�/
b`�#�)$���W�@)dUE���߻Ģҥ�o���@��4�.�@�T�y�Qf:j��%�y�~

+t�:[�0��iϾ%Z{��y��(l�+p

z�&ncnkr6
:aϳ����y��ϣQ��-Q�B����↱�m�,
�JMܶ���
�:k�<��7�0�$�}
��D��Ğ^Ϡ�0��
ʩA��ѠW��A;�x�A{6w�-�a4}Y�M	D���=�d���@$$���;
D�-�|�7����g��B�H�4PK�5<�\�y�|δ"�zS��uf�T3A�wl؍@�$~/�^!�Ii^��9}eO�8�0����=>|c��sn�Ɂ{|��^s�#�l��^sa��=v��
���1m
�^qc�}�:|c�]tcO
!�7�*��g4�T��s/�WV
��yi����7?|xo������e
��oQz�6�m8Kf���9�E�h�>�q�������_-�kT!�#!�-~��۷o��8}@���{[��m�f]��]V�8x�-^>B�Iz
�0�	I������Ɣt�`
�_�]���a����[�e
�co��
�`�
+endstream
+endobj
+15663 0 obj <<
+/Type /Page
+/Contents 15664 0 R
+/Resources 15662 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15661 0 R ]
+>> endobj
+15661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15665 0 obj <<
+/D [15663 0 R /XYZ 89 770.89 null]
+>> endobj
+15666 0 obj <<
+/D [15663 0 R /XYZ 90 718.682 null]
+>> endobj
+15337 0 obj <<
+/D [15663 0 R /XYZ 211.842 654.432 null]
+>> endobj
+15667 0 obj <<
+/D [15663 0 R /XYZ 90 649.795 null]
+>> endobj
+15668 0 obj <<
+/D [15663 0 R /XYZ 90 555.308 null]
+>> endobj
+15669 0 obj <<
+/D [15663 0 R /XYZ 90 440.249 null]
+>> endobj
+15338 0 obj <<
+/D [15663 0 R /XYZ 192.853 376 null]
+>> endobj
+15670 0 obj <<
+/D [15663 0 R /XYZ 90 369.982 null]
+>> endobj
+15671 0 obj <<
+/D [15663 0 R /XYZ 90 276.875 null]
+>> endobj
+15672 0 obj <<
+/D [15663 0 R /XYZ 90 186.125 null]
+>> endobj
+15339 0 obj <<
+/D [15663 0 R /XYZ 211.842 82.124 null]
+>> endobj
+15673 0 obj <<
+/D [15663 0 R /XYZ 90 77.486 null]
+>> endobj
+15662 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15677 0 obj <<
+/Length 2660      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks���W(�D��`�A8�=$����d3�8���)-Q6��P�z�_�n�	�e����^F4�n��F�J���O(�|{A�~�|sq�ވ�%Vs=�YM,�i����r�y*��}��~"t@������p�O�������
��1�d�����N�p�{X�`��^�L$�|����4s�
_#�c�Ȍc� �l�(��<�<��<BM���[͗�̓J�?ox�
1�~!~��p��\���O�nzdj�z�_|�#�c�~�.M��K�,3K�`�Kg�N�l�~�q:M���2
o?�wY�=__��$�Fy�~�ep�GIN)��
��Ws��s+�
��a�R��Ɖ�ǻ���I���7�S�NA�?QEgs��t�&ۼgN��L%�C�Dav���l�@�v�I��'����WF��+�5p�SS���G
.��y�~��/�(�{F��L
?z��^z���#'���<�7`l`k�q��&a�Q�ŪK�
�
��Pu�P	���8vº3c};��}@������
ہ�>�t�m�l��ݦoV%±�(�FI��y��ͨ&J
�h3�}�
�Ӣ�>x_�A�au��z����/@6�N
+���]�lK�T�}!�5u�ʳ]m=�\� �M�W����0Yi�~.��U�5�m�� ��-T��!��vX�m1f�����s���1
%��<�Hq�w�.YF���,ݔ��u:�j���=�3j�������T����\0�C:M�
��C�~�!���E��h�`S}(/���f�)��
	׻�i��xQ�<�
U\>=DY�c��t�KZ��E��!ږ��Y��"�<��hI<��YE�o��*�
+�`��j��B�G���֗���ͨ���C|�͏4�I�p��I+E���!NCp�򸃁�NJ �b�,��n$
G3�`
�6c�%���
n���/�5�i�+sSa~�R��J���p����+�/�������?�"����v
K�����~鏇�Q1��g��~�H{��x
[�ó�DKB�=
+��!��t2Ba׮����0��I?�ۚ�`Nv�2q��#�QX:݌�+�"��#bit��ˌ�%Dk�`iy��ӤK�&5��Q�B�{34�l���$	�J�C��
4N
㠉S 6d�.�b-�*���<U:�^	��*��C+�W��d���e���i��jN��ɳ�I Rq9&6ǖX`��d�������V^W�ElQy��1��ďdw���l.�]��w���"��[dSJL����x�	 ���
�'��	��
�͒
�%�K�]���.���Z��q%�
=����k
��p����L��S�`?`˲҈.p��^V��
XB������8��e="^��PQ,-
T�U�WL��"]X�VBD�'DD��+�k�t�a�9U��,��G�	(&p�ʭ�6_^_��L��u��f'��
��$?�zNa��bTK�
��*�I�C���%�#.|Ko
��Δ�e��D4u���/u��� *cƩ׵��:�9�<N����n=�DQ�<} [...]
+nG�7�@���BBaԘT�%�
*($�F��cZZQ���'RA��}T��"�
+���H��NϢ����~����qi�92_W�T7�
~�a�2K��7Zu˦1O
A�aU���ھ	��x�px��$��3��En���B��i=� ��Tw f
�W����F���;]�N�B
�������B�7��Yl��!� �z;���SM8
���<�`\�
E[:G�u�+��<�8�_	qh
�c�m��˜m�>�y�5C���SZ̞]�&q
V2���

���h
��%�8f�A�B|����P����1��0�c��W
�]�s��v�Q7l�|�z�+��}gA�
%���eO�`��!S�ޡ�S� H�a�t:�۰b���M��� �f�%� H\ �R�fo � �Nш�#��[��0���#�Ye���'&����%�.�?y��{H��8�G�!���

:����W�^
As]⯠-�-����k�����q��FL����F�
���lXn<S�\�	+_��2���Cq��m��a�Դ��/V壪�V�e��E��;�~��2z��V�o�9��>J����!�����v��(�' ��)K��yU��ۤY}@	nn܁{��I!��
+endstream
+endobj
+15676 0 obj <<
+/Type /Page
+/Contents 15677 0 R
+/Resources 15675 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15619 0 R
+/Annots [ 15674 0 R ]
+>> endobj
+15674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15678 0 obj <<
+/D [15676 0 R /XYZ 89 770.89 null]
+>> endobj
+15679 0 obj <<
+/D [15676 0 R /XYZ 90 634.093 null]
+>> endobj
+15680 0 obj <<
+/D [15676 0 R /XYZ 90 519.034 null]
+>> endobj
+15340 0 obj <<
+/D [15676 0 R /XYZ 192.853 454.785 null]
+>> endobj
+15681 0 obj <<
+/D [15676 0 R /XYZ 90 448.768 null]
+>> endobj
+15682 0 obj <<
+/D [15676 0 R /XYZ 90 365.484 null]
+>> endobj
+15341 0 obj <<
+/D [15676 0 R /XYZ 90 274.704 null]
+>> endobj
+15683 0 obj <<
+/D [15676 0 R /XYZ 90 270.221 null]
+>> endobj
+15684 0 obj <<
+/D [15676 0 R /XYZ 90 187.559 null]
+>> endobj
+15675 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15688 0 obj <<
+/Length 1967      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F����K
��~�t��4ɴMg��NҌGӂ�9��guC+�d�ȭyB^��{�V2��
��~�
Ξ)�d$����3�S� !ᯙ�fH0Rf4&��ň���ˋ��h��	f��bq����<^��:H�9�'�A
����ΞRY�2��P��t��)�~`}�L1����I�
�8.���)���_�Gc*�p22t�n�~d#��� 
=
�)
Mɐe��N��`�d�Hio��y��
��a���I+�S�K���� �V/?��~� ��Mk�0�"
i,���5b|.�y���̳g�*�h����#lx&br�ȕ_����*�lf�6).
��#����\n���2T &y151�p��ň��{�g�]�]G嚾cÑ{�!,�"� D
�GaRxk74ED�Z89K(PI�
��_Y�3�/�$GD�cˑI2��3��h���S�0�=�0�A�6��]�Qv̸���Ƅ #�~��!K}�ϧQ������ÿ���1r���
�"{U��q�*��Ԗ�����$�˵���}!BUC���æA�.Ð�D�a�e�J��RpQ
�-�*H�b0sfQQ����o�My*�P�/�����Yv�˼ _��&��-��܅�$�yݰA�I���qY���By��&a���u)w֥�q�52f
����җ���
�aȔ
+ ���V.Ʋ�^CX�L����6YD��v��N;����F at i��b[�I۶��6�����1��2����ȅ�Y}q��$u��w��8��CG̅āw]��5RV
̬�@��9�dv~����\�.�����VA�'�>P
}
+�^u��Ӻ��e�ES7���q��đm��a�ڻ)�!�$y@��
r*��,
uB"�ԃ��d�D��2�oƋp�n�dq�̿��Z�,vD�3��S0 
yL���1M����k�
#��8�t����_�|}��N��4Y�ɒɍn
�
*
SH�֛
+	nʠ�
b��T���I�,�����_��/g_?�呻�
��	�>)J��p+|*䐂R�φr�)re
��+"�A� �%��Դ �������7|(
+
���Y&�Dv
>:s��ى�ܶy�k(�N����EA�
+&;�x5.X,7�O���U ;�P�Wh'���m!L"�ס��ӡ���X48�X8�D�K
+�B�
 d� *%$�@Z�c��A����%�nw�H 
69
J�� ��e�<��b@��A?�cLx�UΘ6�Z� Y�k�-V��ݜ�5�	�v1-+S7yQ*����D˙=��ߓ� k���*u%��*M1TW�OR�ݍLkNq���h��x>����I��I�	
i�k9�_d�Q�K�/�'GUD
�Q�
�G��i�Q5U�(G�O�Q�y	�(e[Z6c�Q�t���'��{N�cdv2#��L՘�a��<���=���쏙�J?�&G3���(���L`���L+3��\�~w=
Ȥ���>dҥ
�M�&P.�I���25 ����KL���O�{�I
FL�/q��'
+��Bh�Y�O 3E&j��>��"�d�p��(�
��Դ@���"���g�Lmy)�smO���w����0
Zc�Yz��Nd"��y��"��_
3ɓ"�b��e�!�!J�g)G�}�J*^
,�
+`��(R��c�y|��ܹ�� d�$&�}|4mD&�f
�d��q2�������Lp)��C&xϧb&Y�H��m�@f�L�>�������c��@!Q�7`�Q͂�\=ĥ��������>I���'L�no.AE6��׳�Y-UŨ#\B+���pP���K�R�TO!a�ws�\\��.�\�#!�y����evm;m�2��(�����Ӌ�A���l��z���4��[\AB���&In��ή��� �#��ݦX��T_��.����"�!
��n�
+6)�ɞ�HZX��l�/h:�z�~Y�08�uż_"0�˚��!w�
+endstream
+endobj
+15687 0 obj <<
+/Type /Page
+/Contents 15688 0 R
+/Resources 15686 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15685 0 R ]
+>> endobj
+15685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15689 0 obj <<
+/D [15687 0 R /XYZ 89 770.89 null]
+>> endobj
+15342 0 obj <<
+/D [15687 0 R /XYZ 90 681.591 null]
+>> endobj
+15690 0 obj <<
+/D [15687 0 R /XYZ 90 677.108 null]
+>> endobj
+15691 0 obj <<
+/D [15687 0 R /XYZ 90 606.402 null]
+>> endobj
+15343 0 obj <<
+/D [15687 0 R /XYZ 90 571.732 null]
+>> endobj
+15692 0 obj <<
+/D [15687 0 R /XYZ 90 567.249 null]
+>> endobj
+15693 0 obj <<
+/D [15687 0 R /XYZ 90 494.386 null]
+>> endobj
+15401 0 obj <<
+/D [15687 0 R /XYZ 90 459.716 null]
+>> endobj
+15694 0 obj <<
+/D [15687 0 R /XYZ 90 455.233 null]
+>> endobj
+15695 0 obj <<
+/D [15687 0 R /XYZ 90 370.414 null]
+>> endobj
+15402 0 obj <<
+/D [15687 0 R /XYZ 90 335.744 null]
+>> endobj
+15696 0 obj <<
+/D [15687 0 R /XYZ 90 331.261 null]
+>> endobj
+15697 0 obj <<
+/D [15687 0 R /XYZ 90 246.443 null]
+>> endobj
+15403 0 obj <<
+/D [15687 0 R /XYZ 90 211.773 null]
+>> endobj
+15698 0 obj <<
+/D [15687 0 R /XYZ 90 207.29 null]
+>> endobj
+15699 0 obj <<
+/D [15687 0 R /XYZ 90 122.472 null]
+>> endobj
+15404 0 obj <<
+/D [15687 0 R /XYZ 90 81.969 null]
+>> endobj
+15700 0 obj <<
+/D [15687 0 R /XYZ 90 77.486 null]
+>> endobj
+15686 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15705 0 obj <<
+/Length 2083      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~��SK��_4Mg���8MS�b�
�"!	�*d[��g� �%$C�w�O�@��s��
@Q��'�
�6�����.�*�d$���.18Q� !�E�~̍�|�}�0�1��/��fo~�]��Fof��G~�	q )�̗��p���������S}�2���1�
�k�=�j� �D�[�`�
b��ɔ`��U�|zL�̊r�n�<�)"��2����+��no�^��"]f�)�j|u�f��
aL�G��	1��ȋ��]3QŐ0�V�a��Xm:s��*��֞�*'��Z8�XW���z��\M(
�
_
��:��>�]���Kw�/����>�)[Å�](���g��0�;�;e�!�Y2u��v���ֻ�|Hˇ];��g$��F�s�LG��H��k�Z���?a�'SC�=#��|U��'D?�4 ua�>/
�"�P
�f��[�_{JEBp��=��z^%,&������6��ym������Vk'�}ݨ�oD�	c�ۋ��!/�= [...]
�G��t1Q�E�
+JH
+bIl�gAi����H�l���y.�U�r!��W_���~���y/�ܐ�����8�]�r?\/
A�j?���X4ŲZ� cHIvD
$�j�D
�nj*Lg� ��m���C?����4�T��pĂ9�7���S���|��#r
X�m�' &
0�}���zC����	��$B@�Ƚ����a	
�6�}�Y_�H�X� �,�롸��j�3���[^QV��˼�p<��>招t=aj|��̊�)����ގ�)�S��-U��,�>U����O=Mg�Մ���%I~�LN�ؐ�y
��"0A.w(�"���SӼ���Oi��>fh����U���I��Hq�
̃�
�xD!M}ڡ�Ҏ߀v�h�Chv9��;,��v_ at 0�)X*L=v=�lo�m��n����d�;�i���יa
�0��<��P�[=�򮨬��U��I����Oy������6�D�-�=X�̦��"���H���茅
Sgd���
+�5c�Б)c��
��>������a
�W84���h|%��-]�R��+Ê�؊�g��p�؊B��Y�kF�c+����������|�bQ����qu��q�����
�i�:`gX��/N�>'�~8�#nz��x��p
Nc�n��|�Öu�M�,4t�H"3	ȏ���@��~
Ŕ��ϻ���QV5�*�>o��?�m�_�mq	�5���̺1�
Ⱦ`�j�7j�V�8�#(�8�B�l�$�Q/�
+;-���^H�t
��脐�|�x
3c�f5���P"v|ᎎX�2FX�n=��CR =��żLÖ"���3��Y�j�*_�Y 
��i}�m~.������
�DŽr�6þHEt�h:�H:���������$z�C5���j_��1
+�RsVۃ<gVKaW�$ެ6��m�ꉳZO�/}V;?�e�Y��ӽ5�B �i܁�Y�{�	4�~�B�ז��zPK�w��ZH8��ѽ��VD��7�/%�W at W
;��
�-D��1�7�ô��,�
�:��w
��6F�k�Xo����]/!~�^�(
T�Dd�k�c��q�������6

�}�
�&�#�Mxb�#�m'�6sܟ6��j
N}�� 	�p��9��I5�;B�������(��RD�ʣyN�@ ^)��9�Դ�
�T=�s�4��;����<^�؟���Y���.
�3��"n{qfhK��aGR>���A�=���Ã?����J����y�c�Ls��ݒ%]�n
+x�
`��$H�]�@��vQ����ޝ�Xf��O�7��?��9}t��1�}��]$���M�
ډ�,k���뿝��AݓGp$D���CU=]^\�>ߗYq� w���ac��I7�[����
��L�v����/�ZD
+endstream
+endobj
+15704 0 obj <<
+/Type /Page
+/Contents 15705 0 R
+/Resources 15703 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15702 0 R ]
+>> endobj
+15702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15706 0 obj <<
+/D [15704 0 R /XYZ 89 770.89 null]
+>> endobj
+15405 0 obj <<
+/D [15704 0 R /XYZ 431.18 659.423 null]
+>> endobj
+15707 0 obj <<
+/D [15704 0 R /XYZ 90 653.406 null]
+>> endobj
+15708 0 obj <<
+/D [15704 0 R /XYZ 90 582.077 null]
+>> endobj
+15406 0 obj <<
+/D [15704 0 R /XYZ 90 547.407 null]
+>> endobj
+15709 0 obj <<
+/D [15704 0 R /XYZ 90 542.924 null]
+>> endobj
+15710 0 obj <<
+/D [15704 0 R /XYZ 90 472.063 null]
+>> endobj
+15407 0 obj <<
+/D [15704 0 R /XYZ 90 425.438 null]
+>> endobj
+15711 0 obj <<
+/D [15704 0 R /XYZ 90 420.955 null]
+>> endobj
+15712 0 obj <<
+/D [15704 0 R /XYZ 90 352.227 null]
+>> endobj
+15713 0 obj <<
+/D [15704 0 R /XYZ 90 298.538 null]
+>> endobj
+15408 0 obj <<
+/D [15704 0 R /XYZ 90 263.868 null]
+>> endobj
+15714 0 obj <<
+/D [15704 0 R /XYZ 90 259.384 null]
+>> endobj
+15715 0 obj <<
+/D [15704 0 R /XYZ 90 190.656 null]
+>> endobj
+15716 0 obj <<
+/D [15704 0 R /XYZ 90 136.967 null]
+>> endobj
+15409 0 obj <<
+/D [15704 0 R /XYZ 90 81.969 null]
+>> endobj
+15717 0 obj <<
+/D [15704 0 R /XYZ 90 77.486 null]
+>> endobj
+15703 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15721 0 obj <<
+/Length 1923      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�6��W�Ԓ�x?<�
�&���[+�$�-Z�T�����w��	��d
+N�NN�)�v������,��������dt�J�� #�
&ׁ���		M��!�H�hL0��YDp����,�8\/
n�i_��_�q�pzZܞ��M��c�#�I
+7���7'�iLFE\(XJ>�O�g=0?e�qv�r҅��5��{a^,��&S��Idh�,oq�w�J��4":LVWp�hJBn�
���>����H��j9z�S��\̌��AˀS���|��;{��
0\����G�#�()��U������(�r�����=�&�xi-f�ϫ��iy����s~�(���v9_#���{a��һ��
�dO��H�Bǰ	F�~��/k{NO���t�l�Q
I@�6R�]�B�Ѧ��� J!�-�w?�n:f5
	ƽ�j`Vag֫�j����! ��X�h̅,��X��u���.�6�
>٫���R�!��z�6]�nA�Ȁe��[U�;y%����`$`�`ċ.�z�)
CvS^��Í��4Y4W��ઽ<gB�絍ٺ@k���+�0�8���`�11�=�5�ͼkfʐ��9Nq�Tˡc"5�F��,��Rr?N��d�t�p�"�?;Ϣ�o�/�w�z+�BZ��W�F�� }^DD
�;l�/�@��E�qa�t�'
�
+6X2����p����c��ƪ��@
+;˘�D̗倻M2-��ש��d����"�nN��ی2�g@
F�̎풬
��;&P<�mx��Ur��av��&�� ��\~���.y�<��
���x �Iڐ��d~*4ŢI��zw�x�Y�uY
7��������b>��ӈ�pvgw�S̑�̫�``Ѷ���MR�LuO
u���Nn�uDEx�*���3�S�$9�
#��0	��
��
8P7�z�!
�e���a{6�S���j������"�W��82yLd�'�&
+�ob
��W��(oi�]�|-#�2�4R�CS��	D6��q�B�:�C��ЬW���J
+ at 1�!)��m
)���%f]~�3�p-���RJ��׫�n�U�骋I����\"V
�q�
�^�v�[(�z5D4�X�1,

杴p[2��Z�3'-\h�{Hl!��,
�&g)0�,\1о�e�hg�XZ�V����.����$,��
��4�Gb* �IX�Iw�B���yi��!06[߮�ك�_������
���<)�6�П�{ߟ�d:�~3�̽�S�?�������[��j@���V����
���1k��uf���.ɀ�H�wu�p�k.�"�Ht�k�έvg����-��ٺF ��­[�3�<vڼ#���q�I�<�n�UC|3A L3���n�\Fg��YƤ#��s;ܚ���
+�s��4�i�[fk���U�
+�_��
�y�Q8׸�>[�
�cZ�� w�׹�ih��Z���6
����/Ը
�]�)d!�^��(̽҅J0����҅�.ߴt�׹���߁�й�Px�q{�� �&.ݖ;^)�>y���|�=\Ih{T�^��
����
|��-��E8c��ֈ)Z�	���1��O��
1':�]hOj
+�u<���,wu��8n�j�YƤ72+91�2����A�a���7�����4�@��2�����s��0��b��
��(<�+�M:����-SJ�RG;`ݣ
����h��F�ځ�=�
�� �x����hBq�
r��������P��{
fב�"G���з�(�.A����
t��9;{[\��$鏑ay����Eqm��爈N#���&A��A�p��$)Kj�迃���Q
j�K!N'Q�ʛ,�==9���m��
AxlS̆
�����r]I��
+n.c[�QE����&�<����D)��h^�_V�7N^/Y��
��DŽ
B=�
+endstream
+endobj
+15720 0 obj <<
+/Type /Page
+/Contents 15721 0 R
+/Resources 15719 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15718 0 R ]
+>> endobj
+15718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15722 0 obj <<
+/D [15720 0 R /XYZ 89 770.89 null]
+>> endobj
+15723 0 obj <<
+/D [15720 0 R /XYZ 90 660.006 null]
+>> endobj
+15724 0 obj <<
+/D [15720 0 R /XYZ 90 606.317 null]
+>> endobj
+15410 0 obj <<
+/D [15720 0 R /XYZ 90 571.647 null]
+>> endobj
+15725 0 obj <<
+/D [15720 0 R /XYZ 90 567.164 null]
+>> endobj
+15726 0 obj <<
+/D [15720 0 R /XYZ 90 494.301 null]
+>> endobj
+15411 0 obj <<
+/D [15720 0 R /XYZ 90 447.676 null]
+>> endobj
+15727 0 obj <<
+/D [15720 0 R /XYZ 90 443.193 null]
+>> endobj
+15728 0 obj <<
+/D [15720 0 R /XYZ 90 372.462 null]
+>> endobj
+15729 0 obj <<
+/D [15720 0 R /XYZ 90 318.773 null]
+>> endobj
+15412 0 obj <<
+/D [15720 0 R /XYZ 90 284.103 null]
+>> endobj
+15730 0 obj <<
+/D [15720 0 R /XYZ 90 279.62 null]
+>> endobj
+15731 0 obj <<
+/D [15720 0 R /XYZ 90 208.889 null]
+>> endobj
+15732 0 obj <<
+/D [15720 0 R /XYZ 90 155.2 null]
+>> endobj
+15413 0 obj <<
+/D [15720 0 R /XYZ 90 81.969 null]
+>> endobj
+15733 0 obj <<
+/D [15720 0 R /XYZ 90 77.486 null]
+>> endobj
+15719 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15740 0 obj <<
+/Length 2285      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~������
車��i�hw:M7n�Ŵ[�hז\I�L��
RW:�elδ

� G"�!���HbDE�
�y|3��'<���.^*�(�T��A��C$$��ތƓ�f�LjDB	���?��]��ݘo������O8 � ����ћ�p������,���m�8e�\7�G���j2\�A�T#�T���L	�x\���**c���Kh�u�E��V�p�+��n�O�8���dJ�
_�\�dJ2æ˗2A�v�w��Y���93M4
+q+�zB�8�������q�z��yt�*�ˣ���z��e�u��1��ŀ�c���g�Q���w�8G
+��"�B���ek��e
��1M��.BG$�R�}�BQ���U�;Q
+	hoD�F�Ǥ�5�H0�e�FvF�g�2��y\�Q=�
<�r!ͧ�
p�納�V���Sn=0��
ț
i�K�� "�e�/����H�Â���V�.^J�8 V�: ��_t��„�����Ë$�M�h>�zΈ#N[#ˬ���������Dva602�Em.���
+ۀ@ά�ijkB�Dc!B��MDC�G9�2�'��
W��s0Aw_����v���n5D��|+Q/����t@�3�d(�I��U�q�V�$O��Bf����ݓE$��g��8
��T�z�v�D��wu��"^T��f����8-�~s�PiN7g���H�ޣG�,q0<��dH��@@F欎����xS&�|�G�1&B�}�շ�I?%�E�(��0�'��'�i��D���#�E#$����c�P��àV�jm�rqy	���h�,n�|��x�`�~��S̑�̫�`Ȣۦ2hO�}�nU�Q�Z:�ϳ	�Ǵ.�o*��IrD#�*�D��tQ��iC+uD
f���NX�֧���&�<[o�2�[Ň��%�q��A\@c�70ϑy��ؑ�-2#?��?5�yH-�ϣ$���� 	R�
��'!�yH"��!��4+ћ^3kC�I�K�h�NC���_@�>��0Pʠ�J�q�|Y{���ol������*Iyb �<2���n�
�3b����Ҥ��R;;l
�x^��dճ�D���d]�J�
2`G��5��B;`=�̀&�
E�L�t�Mc��êS���L����x�9�b��I\�Bzӆ�	�����Aa�-�K�0�Kly�O��%CJH����3�$+�
-Y�cǩ�
ŏ���c�Zm1�.1Ƌ�����vF*�>u��c+��P�l��

ƽ��� �
+4
�U��+��s�
+@����V<�ِ����c�.��V'��
O�>$��G��y$:�r�A�*5�*���!�r�
+�)�hv����92��8�ώb�g���^�M�#<9Dd�ۛ�JgL(���?|4��
�Cg�@�#Gs
ʈ���Qۜ��d?�!>��Q;8����l�
��a[�c��{ɵY��q�F;ۢI��M��
R C��e��9�äχzS
�*��Wyj
5�T���@��A���p#P� ��O̍h�!�j�8ֻD
٨�Hr�A��5h���O�:�9S�A~�ץ�Gq�B�OʗN�p�[�HιOG;Y�1&* |j�1Q.�l�^��G�Y���0<@��
x$c�I�S�J�ь	��xcL
�lӖ�
e�m�cr�t%;Nw�)O����*Jv
�T�j�@�8K�W6��Cx�
Ŏ���
d$���HQɇ�6����HMsPjiޞ�!L�n��(r$m;ٍv6H�~S��R6�5l���ό�O���e���s�R�S"�μ<��M8#J�Z�"[]�
��eT��T���5�r� a@騏1�9��2�!ڢ�q>0�Y7�e�)7k�5��:����(��&�]������'�����!z
�
������q#ӫ���������}���ׯ�����G�Rő�t�u�u��sHBJ�G���ǻ�S����}7թ����q�Ϲ
qW��ȳͦ��g����d����v������2Λ�^Y�HRȤ�]���h�1��#F|� �-�5�l��I�Pf��N�@Q��r�<K�A��(�r�u�>YG��Ŷ��E��n]����Y�.�K�G1�S������"<U^�to$„:5�D9����9t�
4�D�MO�����>���o�,�:a��)țv�0fJ^�
���fP�=��_U?~*����0�����qS]�� ���P�M�F�)t7��뿭��
�$��G@�m��/������ò��%}^���_=P��x]g��$��k���fQp��i\k�
+endstream
+endobj
+15739 0 obj <<
+/Type /Page
+/Contents 15740 0 R
+/Resources 15738 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15734 0 R 15735 0 R 15736 0 R 15737 0 R ]
+>> endobj
+15734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 510.321 212.124 521.225]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+15735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 336.795 210.103 347.699]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+15736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 233.388 485.603 245.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15741 0 obj <<
+/D [15739 0 R /XYZ 89 770.89 null]
+>> endobj
+15742 0 obj <<
+/D [15739 0 R /XYZ 90 658.004 null]
+>> endobj
+15743 0 obj <<
+/D [15739 0 R /XYZ 90 604.315 null]
+>> endobj
+15414 0 obj <<
+/D [15739 0 R /XYZ 90 569.645 null]
+>> endobj
+15744 0 obj <<
+/D [15739 0 R /XYZ 90 565.161 null]
+>> endobj
+15745 0 obj <<
+/D [15739 0 R /XYZ 90 484.478 null]
+>> endobj
+15746 0 obj <<
+/D [15739 0 R /XYZ 90 430.789 null]
+>> endobj
+15415 0 obj <<
+/D [15739 0 R /XYZ 90 396.119 null]
+>> endobj
+15747 0 obj <<
+/D [15739 0 R /XYZ 90 391.636 null]
+>> endobj
+15748 0 obj <<
+/D [15739 0 R /XYZ 90 310.952 null]
+>> endobj
+15749 0 obj <<
+/D [15739 0 R /XYZ 90 257.263 null]
+>> endobj
+15416 0 obj <<
+/D [15739 0 R /XYZ 90 210.638 null]
+>> endobj
+15750 0 obj <<
+/D [15739 0 R /XYZ 90 206.155 null]
+>> endobj
+15751 0 obj <<
+/D [15739 0 R /XYZ 90 123.469 null]
+>> endobj
+15738 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15757 0 obj <<
+/Length 2507      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�������Z	���~
� ��.��:9�hp=�D�l%R!i���w���H�zآsm����jfv���%��
��jt�V�� #�
�����		�̓�c��2�)��/'��l
^_N(
����h�����,�
_�r�qR�Q��؟|�2X�|����-!
f�QąQJ^p[Z� �L���Û�>:
+q\���(�׫0�'S*��jb�8ZoVa����E�M�
G�
���d,0�DGo�F����q�H�`�
}���9,`Č>����
>W��я#�^"*��� �[��A�@�
w�����V�.�����S���& �f̟�.ˢ�X=�s�Q�
{e$��L7E�Wq�.��,L�(���W��hB��~B(˓Zx틦}�D��J���
=X��ޖ�"*k[�d��
"LT;�����������������fH�7r�ki���)�3��"p�m
 �h
E�4��)"�t���B!�u��x�DI�.m�����H�q�M������'�C(��b�Gk
�����O�k�I��pp3�����
m�^��g�!��n�����

��-EF�:rwc���a@� ��㝧�h�+�c6SJ�ظ�4I�
�L!a��1���!ZN��#�
�R#n�2U����M�-�����L�� �$y���BC���;�n�}����*ʯ?T�b*!ԫ���
R5���n���r�W=��}�����Sߵ+B=�T[7���pIӲypy�����
���c��@t��A��U^:�tj��@����.p�<�oʺ������E���Q�
T��j0ì'�s�Z_�mUZrPٔ��s�g�f'K�s�X������֭B�L�[�.����Y�f�8����/R�
�KOw�<�y���Ʃ;,�
S$��
�A��7i2w��қ��[�%�֭¬�� H�����nƅ�'�	 P�����먰����^h��`�[����
���(�$�z�R���RDĘ@�B
���	�T]�jYN U� �4�	]ՖN��}
+# ��� �`��d��A�8�Aa�v��q�
+��

+� A�G���B�*�^�A2mć#&n���<Χe��N̄�<���z�*����߷�"�
7��M�y+�B���ɽV��+�n��$7KԷ
+�u��D��ڦHW��eY��Eq���F��,�'�
���p�L3p��ox��S�����@&�T7{6ŧ5�sT��g5��t����lH�<Аe�4��vT#�͗lG���
�1�z�]؆�<�
��ԡ�hV�}�1J�	8W��	$����>Πψ��k|�$���� ��OU���s;�أmL�
� D9�\[*{�4"kA
�ZHb���t"lM���>��*N�O[$F1����G�7�	�6�o�F�]�]
��7U�,ݰr��B��h
�S� O�"L�}ʕH+�1Q�
+4+�
�5Y�c��RHR����1�Zw��>���ص��ls�j�E��U�m��J�n�
����KfE��GQv�
]�c/�(�7y(~�4-F2�a�T	�b�e�=Jb�t�ڪ  �j�̄mee;�y��u������PW/�[���K�>L���2��!=��@0ʀ	�wEϛ�B\��XRT�g�.yV�҃�.�+�.���0�����^]��d{J��t�T(��&)���=t�94�(/�#�+����g���p��R��B�$'r{=�Mj����Ÿ��"��ȸ��t
����n�7˜*;��DlK���gU�
+�d�/|@�/�F28
8P��J��3x$�!�����~�0�6E57�?p<a�H�5�`���}�>��~����B�a\?c�@�tI��5H��P$�,
+G�>�&0 �12��l^�m�2�x|=��:�&LAϽ�f���b3�٠'�� 
��
�
dIu��0�Q�>��m�rAgV��n1I�k �F\ցV�z�:�;̀�w�����@0y�_�! I��
���<<ز� ie:�(<��T�@����M���o�ŗƦ
)�cS~(��M��/
{`�f�
+��΂��(��}W�T��]n;�ݛo�˹� l)�B���3d�P����`
�`_i1�Ձ���
i?��oDP�o4D�
|
'�f�
+�U
���պO��~�ӷ��c)�:d�ɠ�����5,���,����q�{�,�Pw�
�b�����^�G�7�ؾa�=�<4o�Rc���.,�ڒZ��<�!g��[
畠�]�Ds{wA�;Ԥ���7����e� ��%��T<N�x.s��զ���r"�d���4KXn;�Ԑ��A�
XN��56,�,�
����u��X^��t�.[��7�� ����e�_?L��{;��Z�%E��S_®\P��$��۷%u�������oP?b����arW�s,�㧼N�a���0�9���	��z�˨�(Dp$D]o�b�����n�G��{�‹�9L�/*[���z�n0�*Y{�)i�	P�/�{
V���s�e�C�p�n͂?���;6�3�P
+endstream
+endobj
+15756 0 obj <<
+/Type /Page
+/Contents 15757 0 R
+/Resources 15755 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15752 0 R 15754 0 R ]
+>> endobj
+15752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 207.663 293.971 218.567]
+/A << /S /GoTo /D (index_Powerset_Meet_Preserving_Simplification) >>
+>> endobj
+15754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15758 0 obj <<
+/D [15756 0 R /XYZ 89 770.89 null]
+>> endobj
+15417 0 obj <<
+/D [15756 0 R /XYZ 90 683.788 null]
+>> endobj
+15759 0 obj <<
+/D [15756 0 R /XYZ 90 679.305 null]
+>> endobj
+15760 0 obj <<
+/D [15756 0 R /XYZ 90 586.82 null]
+>> endobj
+15418 0 obj <<
+/D [15756 0 R /XYZ 90 473.928 null]
+>> endobj
+15761 0 obj <<
+/D [15756 0 R /XYZ 90 469.445 null]
+>> endobj
+15419 0 obj <<
+/D [15756 0 R /XYZ 168.903 390.335 null]
+>> endobj
+15762 0 obj <<
+/D [15756 0 R /XYZ 90 385.753 null]
+>> endobj
+15763 0 obj <<
+/D [15756 0 R /XYZ 90 301.657 null]
+>> endobj
+15488 0 obj <<
+/D [15756 0 R /XYZ 90 266.987 null]
+>> endobj
+15764 0 obj <<
+/D [15756 0 R /XYZ 90 262.504 null]
+>> endobj
+15765 0 obj <<
+/D [15756 0 R /XYZ 90 177.685 null]
+>> endobj
+15489 0 obj <<
+/D [15756 0 R /XYZ 90 81.969 null]
+>> endobj
+15766 0 obj <<
+/D [15756 0 R /XYZ 90 77.486 null]
+>> endobj
+15755 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15772 0 obj <<
+/Length 2848      
+/Filter /FlateDecode
+>>
+stream
+x��\[�۶~�_��V����_���6�3I�ԍ�}q2;�DI�JԆ�z���= H��@�8��
jA�� ���i��H�	���n��	�?��ܾV,1�H*��Ybp��AB�_���@`:�����I����T���߿����;{����͏7n�8)�LV7����������s�i�p��L����{���
_#B!nd��2�!Ɔ#�1
l���r�M�*�����QMQ������'\!�u�a����U:
Q�o߽�Ȕ
I"�G��	2b�
�����u�֚D��;�
<����!Ń��e�N��Û�C1.^��\s�o7��cyN
hhJ1FX���k��`���&�S��2}3���t��Ͼǘ��!H��H�D�I���B�Ѧ��!:(&H�j[Q��@��`>
�l&�b�=8�v�
��546 X6`R��Q�[�j�k(���RP�3�u��:�l�Òj��Л,O��ë�
�!�7�l�dk��jp󛐮��M�D
��]GT	��=|�N���di�
l�&�i�H�`��5{H�E�(E���q����5
�N��lcp
+ ��/��'-�|��n�0M��*���u����-4x�fC��}X��(0���H�@��܍D��VDzS��o_K��)��鰄X���P���c۵���s\�iF�,�3�ui�l�����
+i-v��J[��ż��ᄎIޗʌgCjͷ�#e
�<��Xu]�z��X�[�|��r-*�fO�dk-��k5~|���㣝��Z�񉀠���� �č��&��{
e#��)���v�o�@���t��өk�����j

S�N:q���|��DZɐ�
�#P��4��7
�4
�2�=��]�X���B�v���Ɨ�
�L����I�Y��@�����_V"ds5������Ï/�9R/��
23�Hə"
���H
+�W�!}(������~�:l{�X�XK���E6YTMuo��ؖ���p�K/�N�?e@��r7F@� u�%��F!�H$�� �"� 
Q��r��U
��T&
��2
��UZTi�	��<���˧�	+����.��J
�wT
XaU�
Bk$%ƪ�ȺN� �<}d�)�%�rm6�\?�
f���++�9 j �&��
uV��O�m۷.����E�I��x��!5�>FB�ڋ%Ӊ�JD���CQ�v��O��܏#��	)��
��^�K�G��$�e:K&���e���I%p%��c-�e;�P��JF�&�~o@(�PO
���R��vzw��C�/���
+S���b�f1�i�]����2ИH�3Q?�xO�?��E����
NBp��f�
+J#�#2��zE����@~�s
+ÔX'f[�!�ƒ����*�خ\k*�6���2JM�V�n"�
�`���dT2D9�+�,��W��m�$��.�bP��#�"F�`m�L?֕�
�e�xRǏZ�&z�`$w��5�e�H���� �`m�.��y�u
�!^#�(
�5$u�oxp����<8�Gyp}*�[��kyp"�(���;�
+��wQ�\!��\86�D.
��Py��%\�=�����]ǹp02�/�¹u���­(,�Ylx��k6����']|��:,��it89�á��x�'
�������yM����&
!Nڄ89��dC
��Ɏ�.����!>

����L�B����E,ǣK,+OH����&������+�rG�
�}���S����Q�a�Kt�������g�LY�B�'įT&
��2���|:�  �ҽ���-��Jbdb��T�8��O���LB�J}��j��?C�_�R��*�)���#���Gg�!KeUT��Y�25�JQ��+qF�a��ƈG�g͈�M�2Fܛ�gF�3#��3��J����Q
�U2�2��
+]G����Öʴ<��p�G��/����� �I	��I��*Z�r�a;�=[���J��<�P�0
ed ��㍼G�K��~�c�N%�5�&��!FwX�.Cw���e�a�
IW�
�U����*Ġ����cl������
�~�O��������[��w��p���t��`�X]�
f�]�6���������X����

+������W���	r��3��:��H�s���x
s��
Ü?��Ɯ��x/�
�_�x��g0��R;V<��U
�B���N���kߙ�b0�
yI��{�u)ع��]���CD�����:�#,�j_A�a;��CB� �Vߨ�@H���ev�����m�d-��J��F�gо�qi	J�
+���հ*1l�^{�F8rJ���g��Y��.���
+������7�eY���zȽ4E��l��N��tI�
�B��}�{hB�l�>�(P��;�=��~+��c"	L/&�]bI'�r3�����'��u�q�
AF�ӣa��*���u�ͦ�� ����
bm'�җO�+67`1�y�.ѡ�)0�H_�0R����CUoܗ�S�Y�b�:m�lis��7O���vo,�a�S��
Tln΢
��!�^��u��q����s�"�/z�Y�c��'�
�(��4΅\l�rnPr>��}hF`Iq]��yhv�:aԵ�q�3r��3����
+w��
ܫp���A���Ԍ�?R3r�H
��*�R)�c?Íu�v��vc$25�Xbu���)�N��9Zr�o�	��b�-o��7�g��ۯW,����č@�h'�F���כg�
�0�zP�=�}�����&-~;bPU(�O�9���G
�����a���K������F�ޔeKK����Xl��w����4���zuH7�
6�M��j��ZՄ�
Wen�W:��� ��8
+endstream
+endobj
+15771 0 obj <<
+/Type /Page
+/Contents 15772 0 R
+/Resources 15770 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15701 0 R
+/Annots [ 15753 0 R 15767 0 R 15768 0 R 15769 0 R ]
+>> endobj
+15753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 661.939 238.02 672.843]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+15767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 437.793 246.767 448.697]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+15768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 200.413 431.977 213.331]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15773 0 obj <<
+/D [15771 0 R /XYZ 89 770.89 null]
+>> endobj
+15774 0 obj <<
+/D [15771 0 R /XYZ 90 634.093 null]
+>> endobj
+15775 0 obj <<
+/D [15771 0 R /XYZ 90 555.697 null]
+>> endobj
+15490 0 obj <<
+/D [15771 0 R /XYZ 90 509.072 null]
+>> endobj
+15776 0 obj <<
+/D [15771 0 R /XYZ 90 504.589 null]
+>> endobj
+15777 0 obj <<
+/D [15771 0 R /XYZ 90 409.947 null]
+>> endobj
+15778 0 obj <<
+/D [15771 0 R /XYZ 90 331.551 null]
+>> endobj
+15491 0 obj <<
+/D [15771 0 R /XYZ 90 284.926 null]
+>> endobj
+15779 0 obj <<
+/D [15771 0 R /XYZ 90 280.443 null]
+>> endobj
+15780 0 obj <<
+/D [15771 0 R /XYZ 90 173.846 null]
+>> endobj
+15770 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15790 0 obj <<
+/Length 2961      
+/Filter /FlateDecode
+>>
+stream
+x��\Yo��~���S"�v߇s �fv��pf��lǢl":��Y�Ou7��HI�z0�`
��fuu��U_UI���'�]�����[����2�Y$'�$$�5O~������xr=%x����zJ�d�|y��Ez�.�X���Օ���mVVc�+��
L����[B:�QF
+Tqs��	��)3���oo��(�q#��|�L���
+<��:�V�˴�����"+�DO��
<"�����
+�x{s��18!�T)�ܭ.~�'sx�}�3:���N\�ɇ�\����Qao��
��*�
˜'�0�����.{,��z���3���N��<�HP�W{������-c�0�퓋&�܆b	\I_�}�#�='
Q�r%�ȒEG�ߜ Q�"�@�Q��oζ�_]��)Ǔ�t��o�b����i��K�_c�A1�MfQ
+� ��J�H�o��
C�

�`�7�fJ���z:�L�Eu�D�=���>s�l�Y���~l0�"��cs8���/L�&��ܓ|J&CsI������ϏC�P����t=�c(�n���z̿�?���!��1�C�=<Y����s����̾�̨d�r��AFT���w��cZ����~��:hh%AD��s:�v006][q�M�oR�>�wՌ����!c�7��"������R�
�>em��r�����Az��E����zیF��߶�7�^W!��u��
,
�����e�F�-�/�m
&!��:���-����� !-ݶ�O^V7K���X��8��x`E��"_
c�?�Z�
�
 �e?��u*
+T�Ta��h��"=.HWH��Ǖ/��:]9ҡLj��H�#6�LА��\?O)6b@��&Rѩ
�
X�[��v8���ЌQ:�Q�Wn��,���~:��-+ ����绔���6���7
+.�4 څ
+
�RNj���
]g3si_�23����Xd�*��pkT)�Q�(p��jL�/ˀ�"Om��6B������	`$���h#����~p^hH�oҾ�ߛ!�P� _"��
��r@
�.���u��o-)��~���
"�i��!u5x�Fn6%bb�����bMƱ�
4��	�`�Kc L��jv:��O:QXW~�,Ҽ�^]5�M�(�12��
+�)����̬p���Ƕ�������
���! 3�n��U�	���r�q�;I�{zFK	(��[��C�6#��f��p���1��p	D3(�z�p_�5H�,�,�
+�����Zd�����
+����s-;�����݃tas���V�+�n���RH��
O���
�@V��wl2���n,
�K< �P֎BSH�&���:�=s8T�8���qi��L0A�^^�j

�({8�8&��wB0`��*�x�).
c��
��k�4m|g`٣+ʰ>�u`
#��
\�fn�`���2 P�$��&�	l�jPF	��N
K
W�
�5�ƕ@�J[5"�u�`��Tk,O��&���<:�DW�9�DT�
+��X �
+ȇ�������St�!f�t����M
�e�����y�����g�jj垀�
89��N�{(~w ��xE�X�8N,�%<&�bK��#rdy� �)Ȅ��+��y�[9����`W��}^�8�����ւH"cb%�@��b�I�$��ah�@�TG�C at 9O�a�t�i��~Z���z����
w�����T�a��ՎB��SE]t�u
r#i���S��0�0=�7�5����!ܝ�� �u<��%tFy��e=�
|V
V���
�`T<?ʦr�K��{.��/�=��x�|)�w�
+cO˲��Oމ��10?ٸ��6���%����9Au
+��]�F�-��� ������ˎ�s��
�aD�f̕�
��ROl`+�����������`��|F#3�~��F��d
�`2	ԃ�^S}�&�{:���5�t0�1�K�L{��D��*ں���Θ�Y�����տ$ 
fa�!��j��s`:V�T�`��R�a�c�l�L�3�������k1���u�^���msp���H�!Z>lߌ�Q�׵:y{��:���ѭN,̫m {���fu��v�<(pB������'�H�r1��� �'Z�C�2A�����j���A� @[#X��{�1;i��,��zc��^����N��ޘ&�v�Z���(�gj�X5����
+�@��aiv��wn�]3u�
k>1X凛O39�O����&Q
	�P���E�"Dt�.ߦ�;�Յ
����G�P��L5kl]5��CE)ܞ������,E���$첢6�� ��Nj,���0��ڜ�W:Y��}�J�Jd�
'��
+��$� ΀ � X
D�yz
C���M���Q���W3���^`bv�N���Z�-������Nl�D��e�� �
3K����בֿ��;��t/��R:�=�E+�G\g]I�-����/t��
��[HgX
W<�w����(#�����H���X�Dk����w���I��Ӷ_ͬ���
Y
ߟ���
�m�p��D�P���#����iO+�Ԍ�*��'�q����s<K��j0�>��j��Z
��`�y���:bԂ� vl%��Y�:pg��_�0R�%
-�*ح����"(?P���ׁe�+����L�c���~\�:�@�n�,N,�~!���J'4�^�l&a!7�3	�-�U!4h
���+[K�-À�
z)�:�����8X>�	�
��B�:�,�u`&F��3f�T�����c1\�h��+ʎ��&j��-c��
+2i��ᯯ���n��S!&�%�����j��	?��
Bfc�?��8�x�!����OR���™�U��D����������6[�#����Ӎ͋�۬�MQ-(_�Õ�;Tǯ�b�$ ���'`Q�(E݈���~�zp��K���,���=
+endstream
+endobj
+15789 0 obj <<
+/Type /Page
+/Contents 15790 0 R
+/Resources 15788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15781 0 R 15793 0 R 15782 0 R 15783 0 R 15797 0 R 15784 0 R 15785 0 R 15786 0 R 15787 0 R ]
+>> endobj
+15781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 682.851 535.938 693.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 669.466 261.145 681.8]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.307 575.589 434.874 588.507]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 410.486 535.938 421.39]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 397.101 261.145 409.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 316.458 429.297 328.937]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 172.955 267.79 185.289]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 92.085 440.282 104.564]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+15787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15791 0 obj <<
+/D [15789 0 R /XYZ 89 770.89 null]
+>> endobj
+15792 0 obj <<
+/D [15789 0 R /XYZ 90 718.682 null]
+>> endobj
+15492 0 obj <<
+/D [15789 0 R /XYZ 90 660.102 null]
+>> endobj
+15794 0 obj <<
+/D [15789 0 R /XYZ 90 655.618 null]
+>> endobj
+15795 0 obj <<
+/D [15789 0 R /XYZ 90 549.022 null]
+>> endobj
+15796 0 obj <<
+/D [15789 0 R /XYZ 90 446.317 null]
+>> endobj
+15493 0 obj <<
+/D [15789 0 R /XYZ 90 387.736 null]
+>> endobj
+15798 0 obj <<
+/D [15789 0 R /XYZ 90 383.253 null]
+>> endobj
+15799 0 obj <<
+/D [15789 0 R /XYZ 90 288.612 null]
+>> endobj
+15800 0 obj <<
+/D [15789 0 R /XYZ 90 210.216 null]
+>> endobj
+15494 0 obj <<
+/D [15789 0 R /XYZ 90 163.363 null]
+>> endobj
+15801 0 obj <<
+/D [15789 0 R /XYZ 90 158.88 null]
+>> endobj
+15788 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15809 0 obj <<
+/Length 2967      
+/Filter /FlateDecode
+>>
+stream
+x��\ks���_�O�4a�~�mf�t�i��ۮ�/یG�h[S=
Z����= "%RN7���
�$xq
\�{�l:���7��x�G��zpu7pt`�#J����PQ9���ہЖ0��V���_��z���{�����ŏ
��e1vp����
Lq��%�����h1�\�s>x�
��R~�����=�ͭ��J��0A�̼y7�r8I'�d��#ƆO��=ˍ=�?�
�g{#��`f�L���Ul��A��h����U�f�)�c6��*
��DJG)��g�=�'�m�����]]u�5q|Ǐ��d4����:�z�,����l�?�܍���R���$#��?=����l�����(�	�1����&�	��3<YI�bq�$��æ!F�l
ӑ0�d��8	V��i�U͝Vi2���
P/����4�tv�}i-��1��bÈq6R�QDH������>=1���%U?�(��?�>�$@u
M��ä‚ETg��
�Z�$˖��O�ɣߤG��Nw-г��Ȟ1'�mfی [...]
��w*b�6Z��:�Z��C���#N
+A�pv���k.+/JA�+�3��UmC�eE����)kSw �H�D
MB���ԇ��ly�Z<�ܺ�'��
~��:c��0�K9��.\�E�U�d��餵�|�L�<���&}'J�N�$
�}��s1

D��q
G�D���j��LSЀj�|Ȣ;��{]�ҿ��6;

+���-e0�� �tv�n'"��
��=E{H�>r�-�&��<|h�e�6_QFq�ۣ1�����ӛd
�X��ᄙr
���Ym�%��/��Y�_&;|���U�M-�f%,�l�	+��OnW�f���-�E� �t1�F>L�9l'���n�I�ry�ݞ-�O�:o�_������)������?B��X�4-#�(��/[f�
����j��&��"�YjJ�W~�qpD
+W�f
�	�AS�����.�k�

�&�/1:���v<[LF8Gc;� �
�Oц��g�-A�ϑ�X��ć�|�M=�S���H��M�[�"݂W���H
�y��f�d�^��
1�
xm�i$
\�o���UK�t��R��Ӯ+P�L*K��/AA�ۦDŽ#3TC��y��4��k�&Y�Ѧa��V���)Mgd�Y���d�e�:m��^weh�j��-u;+�_�[O�\G_k�
+dֺ���t2[?]^�k�ӹU8
�to-�X�Z�ir�=����ys�O�#�d�Z̖���H\���P5�Ȅ<��0�&�z�L�	`a�;��gMQ@���JCVc?;Df칤ϐ�
'&sx�� ��ҳ���U'ƺ;~��ǹ�Qj�(�:E<��j�j�
+4@�8\�l�\ �����I`qpS�M�C�FB?��ŹZ���d��1��P����P�S
aZ�j0
~o�i���v���
9�-�'��}? sP7M�L��L��0Y�@�޶�8�F���B�S�)t��\f
m=Ia�o�@���mGQ�8r 8ZhKzՄ���+���V4���""��ɋ��iZKl�ep �Q��Y�^��[��'J��E���8�Y��^��1���T�LHnЭ��
��T��%��C�G*�l.R	
�ep�K��-��s��UU{��XU��QVU�}�+8m��y�"K��7/������Z�ɓ*��֎�Ĭ��Vl�����E��c[�5E\V�<y��sq����ӌ��?%Ɩ�E�T�z�P��<��%��p,ϖ�U��cm����Ƅ]l�����`����B؜	�~�4î��ɰ�<>�&�:��
 0��<&�b[� G��:�ڀ8�P
%�[�̒�"��;̀����ʐ�ݮ��2$r�'vM4�+.��I���g�&.
+|�I���N�"v���ug�8�+��:�?�'�
�J��E�N�W�j���W;7�u�.�7��`~�')���
���dTN���yª0�Pk�
�贌EU
^�f�Brb(�(�V,�V��UJMX�8�BX�h7a�6Ϊ�ʵ.�z}��M��LU["i]q���$�/�h����,1v���^��b?
�)���2���$�r�Bn�EF��j\p�T�
+� �E(j�E�tGܙ�y�m�����K�<2!�k����IڬK.w���j]I'��jf����Qp
���r�1)��k���(�X��<*�
+� �.�J�Y��٥X+�I��!�;�V��J�>�{SܘS�Xjx���C�N� �;r�bmr����˱Z�,�Zb�8A�宓�(�1�q��6걞�!��
+;z�vᜫ��qAV0���!�r
�pE����&�v�Q���z� ��\��u������Y�+�R�"��0V:?Rhd�,:͂j�d�k�hZ�<�&���9�k�a��
����8�ɢ�V�E�B
���j�&��h���&��К+I��'�斐�X.O�d
��9P
�di�Αdu�$�p�L�՟�$ˑ�Q�"H�\d��Y����I����
���y��C��9���E�d1ۈ��,I���e��+I���Z��M�w^�[̰eQJE�dh���$�ӟf�U���$��cm�e��a�b;�_����,3��BS8S���O3��|"�l�q�D�P����3�y��DLI�i
+�#;I���i\՝ϒ�)ۡ�"�c���)�[<O�
�E�ʈ�,����6�r�
+6C�0���FTd�{��S�hrl�1jl}�����?K�����)��vk�C>��E
�=L��_����Կ�T����a�~�����{�W��w�o���?�`lkn
{��"�X�+�2�����N�,�ݻﲋ<%�GJ
s,�e��
�o�g�q�t
AFhF?�
�}R{3��]��� ��?J",!��^?^�ys��J��{m�
+�}ٹ�h{W��Ūط�%n.BI�^�h�
`��N
+endstream
+endobj
+15808 0 obj <<
+/Type /Page
+/Contents 15809 0 R
+/Resources 15807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15803 0 R 15804 0 R 15805 0 R 15806 0 R ]
+>> endobj
+15803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 605.157 267.79 617.491]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+15804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 511.28 422.924 525.995]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+15805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 247.827 425.662 262.543]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+15806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15810 0 obj <<
+/D [15808 0 R /XYZ 89 770.89 null]
+>> endobj
+15811 0 obj <<
+/D [15808 0 R /XYZ 90 720.814 null]
+>> endobj
+15812 0 obj <<
+/D [15808 0 R /XYZ 90 642.418 null]
+>> endobj
+15495 0 obj <<
+/D [15808 0 R /XYZ 90 595.792 null]
+>> endobj
+15813 0 obj <<
+/D [15808 0 R /XYZ 90 591.309 null]
+>> endobj
+15814 0 obj <<
+/D [15808 0 R /XYZ 90 481.67 null]
+>> endobj
+15815 0 obj <<
+/D [15808 0 R /XYZ 90 378.965 null]
+>> endobj
+15496 0 obj <<
+/D [15808 0 R /XYZ 90 332.34 null]
+>> endobj
+15816 0 obj <<
+/D [15808 0 R /XYZ 90 327.857 null]
+>> endobj
+15817 0 obj <<
+/D [15808 0 R /XYZ 90 218.218 null]
+>> endobj
+15818 0 obj <<
+/D [15808 0 R /XYZ 90 115.512 null]
+>> endobj
+15807 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F117 2446 0 R /F7 795 0 R /F8 794 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15828 0 obj <<
+/Length 3455      
+/Filter /FlateDecode
+>>
+stream
+x��[�s��_����9� ��Mә$M:I��%�&�%�SITHʎ����$(J�m�y�)\,v�	�N�&t���/���~��&Z�jr};�t�M��_��LjQ���QJ��SF���d7�1����*_V��wżʪ�w���b��y���'y����}�5c��b
!`���;$�揹�#���z�NBm���I2_�����bI�멎�|�[gMn�����Ք�Q�]�#��,�T"ѫ���~�b@�N��$I:Yl�>~��%<�vB	����
�LD�ẞ|���:�/o��t �B
0F`��
+'�9=4��CI�1a	4 ��D�~@�˷�W��1�*4�@�Mఝ�~
��rL	)Ѵ����D)�Izj��(eO�iƅ 	0:%h)��eٮ�ݻ���0aJ�&J��8����T�h9�K@�0!�b��|���iuJXz�ic
+XT�i����-�&N�SI�3!U�(�u3�y��HT���)6I�d�	���)'��b�	wT��I$}�2�p#
GHhB�v� �!��0���Xl��6�d4�=�ۯ
���b� ���ύ
+�kJ;�
�)�ء|�
�oWݬ�ڎ	�8X�
r��������孽.��n��;��*w+CPVw�?��j�� ���@�E�^���!Ϸ#�c����c�Z\�]��L�4I��H�;�Cp ���Tqp$	Q��ywm�'�Nz�GEm���&4,�����e
+�Oa��CQ��0�2n�|xD�8ﭥ�g���[�/����7��з�˨�w&�P4��
ޱc+)QR�
��*
G��)n�&>,��[lct�{�h���ъ�'���(
^>N��(=�\�	�{ܭ'Z�Z� J?T�n,\J��r��	*_�!��LR��P>^j~4^*�^����9jV�|��7�X�I�D�'��q ��)�Q�f�k�J�r�]�˛o�M~�W7��DD�˛�1Q.�`�#2.O[U?L��悄+!T������c���y�o��)����	�m�j|rM�fO���{u^����
�S@(���͘
��h�p
  ��
E�%�� @47
kp1#N9��=��!�	�C�l��=@�D�������?���'��(1��vk�a��|6�-���t���i��YA]�Jy�E�˗c�x
+��n;G���h
ł�'�^B,\���X���r�<.
�n5��(-j�м,ףd��V�SH,4���D((5�PDRl��}��g�5*��d ኉ԃʭ���� �ɇ�zW��Sä
���4�g�P=�ƶ)s��Xelr<x���
�Y�D�������|є���-r�z2_�D��[�Y�V`�?d
�:XT�>���ڗ�n� �1�2�;$����H:��/E���1tQ��RoS!U���I0BAВI�|�
C-�b>&0� ���%�(S�hH�^�[,�]�v�F�	 �|2�r�
 ��`>lW�ٶU`9
�A���
������uv��������\t�������0A_�B�
5�ɅCJ�Γ�
��ʡ`�}�vn_��8n�L�
+!�>Ąn�������6��o!Q2�
R97
r9{7 )�F��+�3!�>D�#��`
A�y`_,���B��4�g"��-dTG*�
d�L'JpJ�O�ρ쫘�l��u���*�Yz��yf"=\�SL���4��f��wC�/K{5�EZ��9p�vd�.&��پXxǑc�/��KS����	��.�:+�,Z@��<Hyv_��8v�LX�r��
�PW����y�ʰ�p_��K�jx���;TÏ�8̢Z��ʢ�O�������b=�A(1��d|q��\JӅ9�rl/��iX�S܂�T�>���
d���qh�y_�u1_c%�d��x������y|��ˢ��ߵm����UY���{4߫s��%�v���h��S�cj[P7���
�ڞ��K}s;�
�qq���q�N�W�a�>����|�o������^�"HA�ecߍ��!k�J>g�o���;!�™
W�|��ޢ����ϫ�q�-�3�����TJ�
�!�\k��
qP
 ��= �
N�ϲ��oP���~���c?�]���>���uY��'��m���nӈ�n�UK{�7Q$�3�r? _�
+��"�wt�KNn��.�n�jc���>�8��U�뾀9F
�ݩRn�'?.q��

seoM�0�'f�<\�
˸2:[��b�
+�7��
�u��^�w�P�A���ڏr�b�x��ֲ��{v������^0��
p�7W��e�
̦ʣ�4s�1Z�uSV�p���=�y�
c�-,�q=�;۾��_�J�r��N|�@W����J�����<�gBwF�~y�8g9�C�����h#7��}�|�*�j�pAY�sî��������YVS�D��}N�磑>���)��p�d�m~��O���3}����|f���
��
���Ѫ�[�lH\�1
�oo�8k�j��Ulfcƾ�z~�u��ŝg&/��qLE�G4�
�6��2-�XI�A3ڷ��^j�s�1��n�-��N��Y��*�X�u�y�vFB�+I*�-���i�
Û~G���q�
+��n����2˶A�-�
�]�3\��Sd����&@
��f�XY�:��Uyf�w���'���(��������9�&+"ekU�3t�e�T[�
(�򒽼�S<��jj�_1
UԮ
��o�|��b��.��I��䁝�
��rz�L~�����������ʆ�
E�
7ʩt4�|r{�m��$g�
�X7�w����l],o2���>O>���B.C�%�	���ÅB�m���

��,4\����}+�%����F�K��/��B���QS��q��o���
+n�N3�L�=Rs��gV�	�v<�N��Nt�����B��<N@
zGV8/
X�%g6��x'�p��.��E	���Wx���
+(*�\�����f`"!	�"<*���w�?��
�샒���0;M���~��W��LSBaR�!�R���ܛ^S��
�����<���쁜�F
�}ǎ�38�2G������ׄI]j	W\d����i�)�֏f�f�nc��tg�3��;ȓMr�Ҏ8j�i�s�n��w��mg�f��ez�
�J�X�k��ǀ�M���=D2��e�7�;��p���)`��#��k1�3vo��[���VO??��<ԜN��yg~�*	��fL�}��0B
Lug�}i�,Luq�Wm����昖D苜��h��1�9q�>���ؒ����O��]}B[� �L��iFM����l��T����鎚K��ر{o�� *�$�����g�X�+���#�󇧡޿�����Ϋ?O%���?���M�5��]
+.������C�H���L��?lQޱ�dw&{�4�wo���wu��#�%
���:t?<�d�����7m]�}x��PF���$@��^a.�$�ѿ7/�����o6|���@m�n��
+endstream
+endobj
+15827 0 obj <<
+/Type /Page
+/Contents 15828 0 R
+/Resources 15826 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15819 0 R 15820 0 R 15821 0 R 15822 0 R 15823 0 R 15825 0 R ]
+>> endobj
+15819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 673.894 322.446 684.798]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+15820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.409 656.27 332.425 667.174]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+15821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 552.279 116.998 563.183]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+15822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 511.083 243.45 525.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.883 343.148 361.886 355.666]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+15825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15829 0 obj <<
+/D [15827 0 R /XYZ 89 770.89 null]
+>> endobj
+15497 0 obj <<
+/D [15827 0 R /XYZ 90 721.073 null]
+>> endobj
+15830 0 obj <<
+/D [15827 0 R /XYZ 90 721.073 null]
+>> endobj
+15498 0 obj <<
+/D [15827 0 R /XYZ 111.798 647.468 null]
+>> endobj
+15831 0 obj <<
+/D [15827 0 R /XYZ 90 641.451 null]
+>> endobj
+15832 0 obj <<
+/D [15827 0 R /XYZ 90 536.388 null]
+>> endobj
+15833 0 obj <<
+/D [15827 0 R /XYZ 90 277.07 null]
+>> endobj
+15499 0 obj <<
+/D [15827 0 R /XYZ 90 169.876 null]
+>> endobj
+15834 0 obj <<
+/D [15827 0 R /XYZ 90 165.393 null]
+>> endobj
+15500 0 obj <<
+/D [15827 0 R /XYZ 448.074 84.126 null]
+>> endobj
+15835 0 obj <<
+/D [15827 0 R /XYZ 90 77.486 null]
+>> endobj
+15826 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15844 0 obj <<
+/Length 3182      
+/Filter /FlateDecode
+>>
+stream
+x��[[��~�_���\�I�E�$�M6M�iv� �_43Nmɑ��̿�9������^�@�y�D����
J�<(�|sC�~���y�ֈAD"����aс�Q��CE����B[�"
�\������w���͛��_o|��	(b�`����3
,��;�XDv��uZ$�����
mq�8m�#���%&"�H93J鰈כմ����o�[=�r�

<���h7�H:ϛ8����X�hx���]M�	Ր/zh��G���	AT$������r'��oٌH}:�G\���wlIØ+N�d�1
���nG���zz;�t�����E6��~9˦��d⛗I��E��|�3h�a�SJ���v��qz�9.�aϦ����W��FѮ
K&�5�H���$���F�,�J�d /Z:R,l`<bl�[�M7)��2MzXІX`�,J,�l��i�/�ј�h�O��S�pܺs��4ɋ
��PUm�K���Xt��)?~⚱��ޤ�@�4Յ0]1�<�t������L]�k�X�j�O�s�|�VD���5p��
Ϸ3!�fA�����ۤw`�Ye�	�@��]�%�V�i=��GD�p�y�%H�������2�e�̋�g
�I+E�e����^����cib�5� �ܨ/��`M�
#��&�9�eu=�"�f'X]u��Ӳ��7D�F��ϛ��vs�5}���f� [...]
+�RQ$2��k�|�ͻ;'���bˀ}
+�
+j̃���aX?���{��Ǐ&�F�U9��\�a>��d�Z��

�S��]>��DC��;�ߚ,���ܤu��`��57h"�D�N"f+�-��C`Q�:��M���H�_�G��

5�3���
{�~^��I���].
���&�}o�G2
+	(�a
�޿SLsh�����0�Y#�Z\|��r���
+^���i�[+AG
dtB���3pj��"���e�J%��b�\�X-�>�kX�
����F�'$삍�/�@RYuMA�6E'�
+=i�\��}\�a/� 5��
���<&���/�Mf����
��3p����Y�w�Cp�ZB�MHv���/1i2+e��
+�i��� �'��Y���E�e��]���]l�d�ݖ�M'f���S��_f��������{�W��}c�V|��@�'q����ɤ:��,~ �:����# �B
טM��6�����+|�Ø<�W}��UJ��vqLM~L���[y��aX����M�>�	�aWD(D�ё��Y
+�j�\��[��8�+=-ր�����,��h
+C��W�a��l��ʴ� !E��M��)z��.N��K�X}�MC��-p
+�3�&���Q�vG���ő�l�Zdm�ޮ��
��z�>`V��5߮K:�o���
��L���
��e���2��6c,j�pv?�Qf��X�(���4+*���R~ݭa�7�©
Z.���pS��\�2H�e���l�N��x/ЌI�S,��G��0��ho�p;ڳmc��dV��T�v��:OW��&�i=��
�m�گ%��+���z/墿�\K��1"'ٚ��{�i �L�k��)�f=�56J�@B�I!/t���f�w$�:!u����A�]�ޞ�'���3�<�V挀��/��q
���I©
+D�x�p$8�f/� \�`=�	h��Ï��/���<nא�
|N%�T\u��
� �]��sh�m� ���=eޒ'^ŗ}�.ND]޼�*Iʎ�{4�u9���c�Զmڀ��'�/��`�g����,��ܯB�*{]�<��8 =��6eM�-��4�9-75���rSf���Z���SSt�BMQb��5��J%v��J�?wː�
/*��~�*f���v��Eۥ�
+CT�C����~�c����T
Q��!"{_c�ð��^�-k�a���
��IE��G��Nxi�_5RqԨk��cb1�8���
Ed���ˠF��`���Q���;��03���J�3k�\#��#�c0m{�D8|�$+���? *��)�c��d`�@�,��J\�):��:ZZ�
+U�[����d0�
+�`���8`�)	���K�7�[e�y$���>a�ʬ�L1��8
vp:>n�\�Ɂ����S
�� ����j
��ɦ|�#n���qf�
+#
9/�[-z��2�FXXt� ������A�y
�?"
!u�=wA�ԇ�� �e��q2��y�X;UI�nk�WY
�^�q#�����8���^/þ:E�K��\
������	�J��
���x�ߵ��Ȅ�À���60JUZ#'�w,��o�o K���6��V� @���7�TX�HE_!b�Z��A|��:�ic|8�^�cK�v�[�:�Jŋ����r��#Ez=|�"]��W$��5�>n��L�r��BfzU�ōS)�i4÷ �7���>K�[B���
Z�4 ���:�Cj�ϑw �#
柧Y��i5��d���������t��詃

�
66��5�:���V��R
�2 wb?r�1_;�;��$p/<)�2|n�+����V7�c�V�(�	�������F\�
�K�esN�*~��9�$QF^�2�h:��,'�_�^^S��\�,x"��V.��:C����3��u��X��g��~�8��j�4_f��������O#�a�wr�= [...]
+��L|�1����W'8��
�����\��
+���7�n��@7����
>��C�����uVv!�)>�&�/�}��ϡ�k��;���_}�#�B
I
{�~��ݲMF���A�0<D�S�ٽ�L
��o[
n'*rU�_��Pf
j�g�1�)^�[���R V��qM0x6
ۯ�79
̷�6�	���~������GJ9����L�����+��j�����B@���}u���Ul���	M��S��OE���~=�>�q�H�;�V���Q�Dl
|�N��[&и./�t��X\U�
+endstream
+endobj
+15843 0 obj <<
+/Type /Page
+/Contents 15844 0 R
+/Resources 15842 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15824 0 R 15836 0 R 15837 0 R 15838 0 R 15839 0 R 15851 0 R 15840 0 R 15841 0 R ]
+>> endobj
+15824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.187 661.939 399.221 672.843]
+/A << /S /GoTo /D (index_pps_bgp99_extrapolation) >>
+>> endobj
+15836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.22 428.518 330.187 439.422]
+/A << /S /GoTo /D (index_BGP99) >>
+>> endobj
+15837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.562 428.518 391.059 439.422]
+/A << /S /GoTo /D (index_BHZ03b) >>
+>> endobj
+15838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.268 360.393 343.546 371.297]
+/A << /S /GoTo /D (index_pps_certificate_widening) >>
+>> endobj
+15839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.153 98.623 513.996 109.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+15851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 87.644 155.195 97.571]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+15840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.482 87.644 232.115 97.571]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+>> endobj
+15841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15845 0 obj <<
+/D [15843 0 R /XYZ 89 770.89 null]
+>> endobj
+15846 0 obj <<
+/D [15843 0 R /XYZ 90 634.093 null]
+>> endobj
+15847 0 obj <<
+/D [15843 0 R /XYZ 90 483.966 null]
+>> endobj
+15501 0 obj <<
+/D [15843 0 R /XYZ 395.641 431.672 null]
+>> endobj
+15848 0 obj <<
+/D [15843 0 R /XYZ 90 425.032 null]
+>> endobj
+15849 0 obj <<
+/D [15843 0 R /XYZ 90 332.547 null]
+>> endobj
+15850 0 obj <<
+/D [15843 0 R /XYZ 90 206.729 null]
+>> endobj
+15546 0 obj <<
+/D [15843 0 R /XYZ 90 77.486 null]
+>> endobj
+15842 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15861 0 obj <<
+/Length 2752      
+/Filter /FlateDecode
+>>
+stream
+x��[Yo��~���S"q���YH63�l6�3���da�ms#QZ�
��}��gSMꢳ`^L�jVW��U�'�<���/�W��d$��ۇ���
�-&��#ef�c<��<��Utw3�x�^�>ŋ,��!�Ϣ��������6��5���8���n��zOHk3�(�B+n�o�%
?�?e�Zq���m��B
�d���̷�h��]R���3C��j����!~����8��-�)�
+�,ыw��\ �'��@JO櫋O?��n?��=yq�VN\�������ԁa?�K����GlT���C^�+	MQ�#P��B��jA����heO�d�t%��#]�&pX��yF9��"��
nt9�5a���C���b�ǚ.�H���#D���,��\_���
Ԓ����q��DХ�C6C�Ѧ��]���!L�#E*�����I���X��%r
+,m�*�A\�F�IZ)$��#hL�y-C��=v�P�]EB��
Y3� a��9A.�i��ī�{��

x,H
EO��I����؄��s`/T�f�J���"�j}��)�k<��@F�EeHj
+Y�ŭ�C��U� >�Q|D�"@�H���^T2�d�`	s��($�y�ۭ;���,�>/��sb%��t}�GI/�����u�^m��$},���M�d/�6.�l=/{,]��w�O��/жE�Ԋ�]�h�T|Z$۟��y�\?c7ƒ�"u${I� ;��D��Η�hU�
+�R��1�W���Ӟ�:y��h�L#Ʉ�:u�R_S�o:ue�
+8�ρ�E4���
\WbqN�""�d��%{�M4&L
��m)H�o�HVq���
�4��C��9FY�/����J���#����5�(����Q8Fc{����J�T�S*M�?q�բ�LoU��n�y����nX-���䐷�p|��j JQ,D׸��q��s
�Iq�^�����������������zC�m)"�W��A[�Յk�d
��B�F�'B$-
����'1")�<��	$)C���mmlq�F5=y~���TN���-����y��`S�b�NN(�[��f�/�<�Y�a
+�G�
�[
��[�i�'S<���8�1�@$ץ��2�7�������dߵ4�"���o �a2lPҡJ�J��c-��>�
���œ��A(�@�(�9+�q�����1��e���������#6z�9Ҙ�yN8
�
�bm"��A}@�
���;��S��Q1}qU3�&��
+���z
HO������c�e�ڒ
+��o%�P���-W��Ն��@	
���TJj���,&EZ�>�-����-&�5�����H��苝
�y������H��ƌg���	���*c����ZO���S
*f�������S��p:PP�%a_
+yCC4���㘄"H��-�n��6X�:��Y]���Y��eF�Q��͗��1
��ʼn��d�
�s���q�û��#W��f�
��qiK����QޡP��j �"�TU�Sd]�࠳A(�p�� �j^�:˽c+�<��<U�
�m.l�*tt�� DsfFMFo@�!W�@H��B���H��kI�`��o!�a�1OZ���Q+�:p�z�N�W��
B��
{J�i��M�:)��1���
+���%�������%�
)O�n�˩"�����܋)�M0Dv0�yCL�p?�p
�S*S���C�Y��>��a�hF��4O�e ������zrVG�IfH|M��C�:��'SH�#�4 �/)dD̈�i%�?`J�Oށޫh��:�A#LN�M�gaP!݀k1*��d�rj��b�]���������&�5
ж���ve���	�:Wg��əC�u8=#�q��
dF��Z7�@h""�R�#`�5R��8�t�o��K{A�V��z
G��:��9G�eeN���C)�b:����Ǹ"�ܮ��7�îS� w��N�o�����(ך����o���AڗM��F�������rpar^��(�!d�$W�	���R�0�ߵ
:��Shv�=�Pf�;��x���AѦ�{lga2��o-a�jB�s�o
j߆��`Rw��� ě��&���`?���Ҷ_;��e�b�ysL
O����r�l��sg�
ΞG��F��{�8���4w��>J�S�Z�����#8r���m�7��U8kZ�7,�,���⏇̉O?x�� I.蘶76���@� �(�Q^kkM�ͱ������"lym.j�K�W�U7������x0w���N?G�ځ$6zLC:��q/

+�:�oK(`a�Fm���» H���۶H�ӷ�Wb�h}�1OZ�m;G=�o��m���\R��u���u�Mh�:t�W{@�{`��t]�;��x�a��tNg�������`�t������C�A��Oy%�$��3��Te����]�e3.���0���DQy�/���j��s_Ƭ���Ʌ������
�
W[��֠�R/�Wp��N���
+>��\_���\Y80��
ا�B�rSmH��|��|a��r�f��T7t��tg}���l}���%P�	v�h�tS�	@pܷ
+O&X^=b��e���ae�d,y�n�B��>������m��~&����?���[Z%��5)� �X4��G店��
��3�>�����"8�
�=��������q
1�׫][i�ô�mU�Z���zg
n����j���

�N�J �_@}�(E݊�g�c�`y��o+6���h�>C�L
+endstream
+endobj
+15860 0 obj <<
+/Type /Page
+/Contents 15861 0 R
+/Resources 15859 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15852 0 R 15853 0 R 15854 0 R 15855 0 R 15856 0 R 15858 0 R ]
+>> endobj
+15852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.559 656.27 345.883 667.174]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+15853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 546.949 243.45 560.896]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 494.689 485.603 507.207]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.42 271.021 272.524 281.925]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5c5da855445b7c877a626d824dfce64e) >>
+>> endobj
+15856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 83.303 379.76 95.637]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb) >>
+>> endobj
+15858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15862 0 obj <<
+/D [15860 0 R /XYZ 89 770.89 null]
+>> endobj
+15863 0 obj <<
+/D [15860 0 R /XYZ 90 721.073 null]
+>> endobj
+15547 0 obj <<
+/D [15860 0 R /XYZ 134.214 647.468 null]
+>> endobj
+15864 0 obj <<
+/D [15860 0 R /XYZ 90 640.828 null]
+>> endobj
+15865 0 obj <<
+/D [15860 0 R /XYZ 90 572.254 null]
+>> endobj
+15866 0 obj <<
+/D [15860 0 R /XYZ 90 518.565 null]
+>> endobj
+15548 0 obj <<
+/D [15860 0 R /XYZ 90 471.94 null]
+>> endobj
+15867 0 obj <<
+/D [15860 0 R /XYZ 90 467.457 null]
+>> endobj
+15868 0 obj <<
+/D [15860 0 R /XYZ 90 394.594 null]
+>> endobj
+15549 0 obj <<
+/D [15860 0 R /XYZ 90 359.924 null]
+>> endobj
+15869 0 obj <<
+/D [15860 0 R /XYZ 90 355.44 null]
+>> endobj
+15550 0 obj <<
+/D [15860 0 R /XYZ 277.106 274.174 null]
+>> endobj
+15870 0 obj <<
+/D [15860 0 R /XYZ 90 267.534 null]
+>> endobj
+15871 0 obj <<
+/D [15860 0 R /XYZ 90 198.96 null]
+>> endobj
+15872 0 obj <<
+/D [15860 0 R /XYZ 90 132.917 null]
+>> endobj
+15859 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15880 0 obj <<
+/Length 2874      
+/Filter /FlateDecode
+>>
+stream
+x��[ms����_�O.95����f<�&�'�����L��x �X��LR������ )��6�
@఻���޳{'���p�����'O�+�d$���Ufp��AB¯i�z$�
�9�1cR#b$|�
�ןϟ�|~fߝ<;?�pB�Έ ��������M��F����5�g�2��dg';�M[$n�B"�����j{��f$/��'�̷Q�ц#�I�fs=[�6�.*�fe��|=�P�F������ټX�g˅���?�I�ʯ	�L(�?
O����:!

!�Բ&L��S�P7�a��v8�3�vP�/�	Q�4�eӏ�*� �'�0
z�
H,I=��'� 6�ys],��p��1���Lk	��	�Y��vfL��h�M�<#�oX;cB
y̝�)�z��//N���}1&b�������~V���eb�f���<a�F\V�Xc*F�ޞr�඲t�p��3������%@G6SM�?�I��HBA���t<!R���KB C���]��ymz�{p�Z��`�m�
�m-��k�#�
D������j��aV�$_#�u���2�!A�e`�hS�oo�Mj�h�NU*��-"

+)^�b���X�s�7&G��'dJ2+4?M�
+�ǔ���2�5W0����ī1��|5�߾S<Z�|�.�������*_}>=��g�ͺ؄6���bR�c�kC��ahGo'�s���(h<��d��������t{��#�U&�@�о�bL� ��7
(�Da�tW���@bè5@l��� �&���	rt	�6	 ( ����cC ���X�=+�4R,1���Q9^*��>�);��	(D�4 %�A�f�3-�)
)���$Z$Za���0����y@�ڇ}��,~�Z�V
�E�&[��S
W� �WrS͑��
K|��[�w�#�x�x�(��x �#_A4�0�d��%�������}�&�&����˂%���M�_V"x�d�$Y��YR	�n���	��i	ĄS�I���]
#���#���wi����9�P���,���ٯ Ҝ�mj���Wq�	3�r�Z���b:[���m�	W���`��?��NH�p]'�H�؀
\���� [...]
�0�`Z�a�}�,n7e�ֽ\�0	�`1���
+�>�'���3CPS�p<���D�YC�{i%�"�X�Ux 
HJAi�K�7��S�J
�Zw3�����ѻ;�`;��
ĭ�'��C�
e
�+�z:ڪ��0����j�J6
h`��z
�OS�
�+�)\�b�tc������-��,�;�(���* ��\v��H�r��9�N�rQ�G.���PL� �A
&�LDva1
+�{���&�-�i+�Qiv��KO�oo�Ci
��8R��al�7����~@*&1=��

3��#BIw��\G,2Y=� ixO�\#M�0�׵0_
&��p�[
f�+r@]�Z�v�Ϲ��u��*���pu]��~N[���cT*q�b�y�
@�
��9 �
Z���iw����,t4�u�ܸ�Iq���PG�R�@|k�2�h��������,��,	��r��	hπ�V.�Ó��]~��%��lUM
�Mֹ�B��z7`(V����r�̃/��E�
+]I�ib��'����n��
�pH�[5�}�؞,8
��u����AU�|U���>�N���@U���0 �O�:h���E{�fr�,F�C�@�Cu��jV,��&��b�o~)l�>�x~��
I��~y���㺫h6���D��+��5�� =�X�
�XTq��ٴX�T�E��.���5g�:5�
MK�DQ*K���;ԛ��0��.v�+`�J.v��so]��f� ���
d/\�~��K(�B;��ܞ tFJWŕ�Q�
���!�O�GOO��� �n�ӹ�fk�Vd����-Jx
&� ���豿����(�	3�"�0��� ڛ	Шf���H`$$ٖg�[Z!��ʇ�7��D ��m:���oC���徜��׼�\/�|�����U
����
 ȷl�������
Tw\���0+���u@��Ô� S!^��� �U:=Ҍd�42�*���Wm��&v��� �A�p��EI�A�a���K�.�8
+w�������;��Y*�%�ѝ�	t���l>��]uf�mN\�G-���b7v�fI�B��@}t��H���"Y
Pǐ '�2a�Kh��v�" 3��Qe�{G
+"ʊ9Q���\4�;V%L	,iSe`0�b0b#����&c���ͤ���t�
�
��� �@\Be�u���
^��?N
� �$��ѫ�p�>�!l>P!�r���=�BY
�9��i��bmS����&����pi
\��O���`�'����!T .7��#�H�Ȏ�@�D�^l���v0��c䐐Z��
���2/�N��r�^�u��H3���̨�b�*���b��@h���m���
ޓΑ�"y�i��t�ĝ�ܝZ�˄��^
+v�st��]�O�k���P��n�-�
��,�5u�U���R��qT6U�+#	�JR|bQ�� )>���M�P
R�H��#�7�
A �7�t� �!�o����5���w�(R���/���B¸M��
+Ψ{ټw/�oƒ'?�Y�����& oR
,i���Yr�
5t=��Y��W/������c!F�j�|��T��E�G;�Ū�gH��up8vV���ޮ���?�8�7�
��?�n6��O�\ܽ[�*\.��Ŗ�cc`nW��
 �9�rU��x8�+7���ߖW��
+endstream
+endobj
+15879 0 obj <<
+/Type /Page
+/Contents 15880 0 R
+/Resources 15878 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15802 0 R
+/Annots [ 15857 0 R 15874 0 R 15875 0 R 15885 0 R 15876 0 R 15877 0 R ]
+>> endobj
+15857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 696.002 182.164 706.906]
+/A << /S /GoTo /D (index_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+>> endobj
+15874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 598.636 243.45 612.584]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 522.068 535.938 534.586]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 508.683 226.824 521.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+15876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 454.63 362.844 465.698]
+/A << /S /GoTo /D (index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
+>> endobj
+15877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15881 0 obj <<
+/D [15879 0 R /XYZ 89 770.89 null]
+>> endobj
+15551 0 obj <<
+/D [15879 0 R /XYZ 400.69 699.155 null]
+>> endobj
+15882 0 obj <<
+/D [15879 0 R /XYZ 90 692.515 null]
+>> endobj
+15883 0 obj <<
+/D [15879 0 R /XYZ 90 623.941 null]
+>> endobj
+15884 0 obj <<
+/D [15879 0 R /XYZ 90 545.943 null]
+>> endobj
+15886 0 obj <<
+/D [15879 0 R /XYZ 90 441.056 null]
+>> endobj
+15552 0 obj <<
+/D [15879 0 R /XYZ 90 418.68 null]
+>> endobj
+15887 0 obj <<
+/D [15879 0 R /XYZ 90 418.68 null]
+>> endobj
+15888 0 obj <<
+/D [15879 0 R /XYZ 90 348.133 null]
+>> endobj
+15553 0 obj <<
+/D [15879 0 R /XYZ 90 313.463 null]
+>> endobj
+15889 0 obj <<
+/D [15879 0 R /XYZ 90 308.98 null]
+>> endobj
+15890 0 obj <<
+/D [15879 0 R /XYZ 90 226.294 null]
+>> endobj
+15891 0 obj <<
+/D [15879 0 R /XYZ 90 159.664 null]
+>> endobj
+15892 0 obj <<
+/D [15879 0 R /XYZ 90 123.439 null]
+>> endobj
+15601 0 obj <<
+/D [15879 0 R /XYZ 90 77.486 null]
+>> endobj
+15893 0 obj <<
+/D [15879 0 R /XYZ 90 77.486 null]
+>> endobj
+15878 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15902 0 obj <<
+/Length 2745      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�8��W�+UE0ޏ��
&;Ie6��$�S&�b$��$*$����m A� �<\��J�`��F���FT,���{v��#�������b
���rqy�0x��AB��v�fI0Rf�&��Ŋ�eR�w+�����M�-�w/��ER||��5g��L+��~�.-�a�����t��".�R��wץ��O�iz\���2&G!�[1?̊y�K�r��//W�.��q�T�ky�^�Ŋ�ez�@є,6V��O�g���
�L%�ҋ����[��B��`bf���_p���n����3�[��� �o{BL-�
q$���F��P
+I�v��VH�C��
�����cF�1MF�ɴ
+��V���o��rE��.9�7��


YA'��O�
�� fj�}ǜ�#j��I�
id�N��h:��(2�5�ip�5����
T
�1C���xv�D��|��0k�t��'�(�;
A��ӛ"��}[�ZQ�OeW��^�ŚRD�v_}}WCӱ�
B5�k���Ʉ�������I���|0���j� 7�^�
��
a�LD�c^>d�33�
��xam���>~|L�""
�]*9�
Y�JR,c�C����@1L�����^��� ?�뎵j�ƌ�f�R}/�w�!M��y��`$g�h>�\(2ڴ��~B!|�he{�a�0��e�U�
+�O;|^s!���PV��^��)� F#ڂ��Ql}	Ҹ���%
�tj��" l�`y�H[��P�8s� �cPG
�0�0u�Q��1�T��#�%T��#��z�c}L�q�&!���E}#	D� <���
�1Qe��oe�����T�[Cv�^�M-�l� Uٍ�uu{�87�oEZ���K����[#F3³5_1�Y~�5��e ��?M�`��C`�ܫiy���_\{
x��l�f-m���n��1
)P����E
 ���s�EF�Ҷ�F�Z��ҬV2�����E�r�ȶcy���Q�$����EJ� �?��(Ez����@WYQV58G,d��l�� V���{�m���0k&s��6FCJ�ID���߆V��ƖJ���3L4oT�
(Ԏ7��L�"?�E�����S��y;V�+�.ݧ��-)TwY�߶Y��u~�鰍5_�>bE[q+���S���\��BT`o H�K��Ve�d�o���Ǩ�
+��O�Q��� �X��u�C�F����`��)��Դ�v��� �i1��
��dB��Dt�7�P�
�D`^�����
+)�s�Ez��
�Iz��<�q¢-��"�X��\��n�r
+- (����b����!y��{�����YZ0��ӑ��ȶ����P{�8�l؃R���C�m��C G�R��=59

f��Z�3���
e]ppu&��.h(�!r�("��<{���/��[
Ƅ���5W`s�
8�1�!ڌ�ck�P��>mv�0�O(v�|�L�f�-;8��!��0�P���%���o5�5���k|RLOx��$T՘�7A��_`\�k�/R��
;N�剒��A

+E�lm�]
�����uQ�Q(v㉧�B�h��U�+<��b��)E�t6'ԣzƸ���jc6
��h	��G���­ewn%<�sF�6ew ьL�]��?B�������]C� �- z;�'�;0R�'�;=Ʊ,�vw����
+a�=���)��S:OE�[W��γ&U��4%�M5ucs�u��Հ�dT�J��
+���M.�����v����&��D �&��\ev���4#,V0���l�5j;��
�ࠓ >F���C4�Ә�
+n昵�~�Ft�u�\3khw��
�����fǬ������C����6�<ʬ%�z&���a�lK
+��Rg�0�;w�4�,f������F���0�
�����A���
iH�H��C`$�!0R�!�pU�T�M\�uU*���.�j���x��V%Y�,�e�\

(LV�ņ�q>X첂P�6�2���O��~aR��8�"������	�;!�����Ā���J-oҍ
�?�s<j8$x��vۜ}��[	R�Zg�%��g,�9u
�R�sͤ���*�!��&J�u}l9C�!��:�Mއh�!�ep�C��UoD�L{���<��-xEX������P��dۢ���nbh?sd��@"���t�R
�y�Xy

���
+��ML�s���
o�ip����:G�S:����VF|� F��F������=�i
+��ey�w�Kۃ���� 1t�q�>��i�4���޲[q�k��r#�� �o� ��7Y��,wy镂�̝��0�jmϗ/�8>��SFOk�㼤�Տ�[�a�E�Wu���?������5����Dy�0{G

F���6�
�����
+yƊ"\}�3�X����X�i��`5�-�qK{���ZA����n�[QX�[*ܸ%?� |�!h�o����oC>YAa�\�eAg�4 j�p'\kK+���ډW����o�ׅ 4񫚄�g�n����]ϦS׳�왬���ٴw=�M\Ϧa��
L�`fG���ق�>ϱ��x��gs)�;z��gb�4��JH�e��P�u(��=D���
lk|�iO�..^���i�W����ſ��m�kN���nْ���UZ3X��iS�;��X4O�tgAw?���MU
�����.��5ڸ
�~�ߙ�=lk]兯_�=���}����4��Q`R{����w�����拾����-������E�/l(��
+endstream
+endobj
+15901 0 obj <<
+/Type /Page
+/Contents 15902 0 R
+/Resources 15900 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Annots [ 15894 0 R 15905 0 R 15895 0 R 15896 0 R 15907 0 R 15897 0 R 15898 0 R 15909 0 R 15899 0 R ]
+>> endobj
+15894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.555 600.1 513.996 611.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 588.767 144.794 599.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.551 588.767 236.229 599.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.228 432.28 513.996 443.184]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 422.092 138.817 431.229]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+15897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.573 422.092 170.476 431.229]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+15898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.655 203.644 513.996 232.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 191.689 159.628 202.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+15899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15903 0 obj <<
+/D [15901 0 R /XYZ 89 770.89 null]
+>> endobj
+15602 0 obj <<
+/D [15901 0 R /XYZ 90 674.891 null]
+>> endobj
+15904 0 obj <<
+/D [15901 0 R /XYZ 90 670.407 null]
+>> endobj
+15603 0 obj <<
+/D [15901 0 R /XYZ 90 507.071 null]
+>> endobj
+15906 0 obj <<
+/D [15901 0 R /XYZ 90 502.588 null]
+>> endobj
+15604 0 obj <<
+/D [15901 0 R /XYZ 90 305.388 null]
+>> endobj
+15908 0 obj <<
+/D [15901 0 R /XYZ 90 300.905 null]
+>> endobj
+15910 0 obj <<
+/D [15901 0 R /XYZ 90 179.615 null]
+>> endobj
+15605 0 obj <<
+/D [15901 0 R /XYZ 90 145.612 null]
+>> endobj
+15911 0 obj <<
+/D [15901 0 R /XYZ 90 145.612 null]
+>> endobj
+15912 0 obj <<
+/D [15901 0 R /XYZ 90 111.549 null]
+>> endobj
+15913 0 obj <<
+/D [15901 0 R /XYZ 90 77.486 null]
+>> endobj
+15900 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15948 0 obj <<
+/Length 1803      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���0 ���!)���v��5Coi�x�CZ��$Zeɑ���;Iٲ���$Z"����e�(s�
�.������Ao�0�E�rgp�D�	�1�F��>
�8>�D
Vշ>

^

NճޫA�G�v��P(��w�	;#��6�#��֓�N@}���i�
niVk2���;���P�O0�n%Ǔ4��Re��͗
+�HH��/�������Df�Xz}�3���ՠC&���o���!4��3�j��?���C�O�:�ڲj�8sw��p�!��L�b7O���չ�����nth���hI����&GGFl:����#�ͳn�a4�Vm�.��}`
�
��uĘ^�&���U��Q�y!��FQ$��l��0aLjQ��;�M���UR%�Z}J��3����a����Y#R�v�ˇ���6���vL���N�\2cHv�M�`�a�� ��)koNi��B*?}��mC��!o�D��L�D����K��ivG�p:�Y���˼Ѓ�:)�h�ƥ�*Z��Ǖ�d�T0+�|l�J+,Ms�2�6ɮ��TTQ�
P�!�#cJY{�Y�A �LRt}���bQmQMGZ����C
 A�6�<"p�b
w0�q$�p8	������>b"\a�
�� �dq
X��)x�G�[{d�
����1�
�R�]rQ(��lQ�UB
+��K��mUt0Z�4��miSyD{��?M�80$�ቼ�BW2��΅k�} ��K�U��ï
Y�Ji~��21��Ή�Q�y
^���oC����d�t:�ʫ�;��l���j����� �q�ʥ].�`�(D��|(5̟^�u�d���^�/d�LJ�l�LV��~����A�`}������<S�*�
�N�Y���a�����ɲ

���
�;��
+PS�
�EC & Ϙ�"��	�Un-�V�jv�*J��0EIK>��h;16L�����kCC�.O�l���R
�bA $��E�T��.��S�bU5J��ޕ�"!
�N��|8k���c26�k�|*�;짼�>
����͐%"B!�@#�
`'���rQ�D)�G�aC��`+6��̛r��$���a`Z�r�C
���
V>Q�[n��pQa�`������lC��8
+7��Ee�Z�� Y�ŀE��p
��
���萵3��
cn15uAr����,�5�V	�9DQ�}�-Xq�&���v�E7U�l��� 
l
�o����P���Zi���$�@Ċ�$V�B�ұX�(�Y�jw�mP+����u�d�ߩ��Nz������
W�sY�Iu���ou7�����:�,23�U���"���~?�Ւ�|�����o,Z����
��ҝ4
�Φl�a�%�+�쿜5}�Jw5�⪳���� �<"�*ɰ����:�V�wG��Z
���Ү�aU`�q���=�jS���&J���Ŀ�32u�X���V�|P��L��b�\��jsW�����D���� ������5g��(��rn-K�?
���c[u��]�'ZA�A��}�Oy���K����5�z���8���v����2?auI!
�k����<�?c]%C(����f�|�Sy_"�Ŗ�K����3�P{
�K�()v}c�����/Pn�O������i`aa"��6��� [...]
+endstream
+endobj
+15947 0 obj <<
+/Type /Page
+/Contents 15948 0 R
+/Resources 15946 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Annots [ 15915 0 R 15916 0 R 15917 0 R 15918 0 R 15919 0 R 15920 0 R 15921 0 R 15922 0 R 15923 0 R 15924 0 R 15925 0 R 15926 0 R 15927 0 R 15928 0 R 15929 0 R 15930 0 R 15931 0 R 15932 0 R 15933 0 R 15934 0 R 15935 0 R 15936 0 R 15937 0 R 15938 0 R 15939 0 R 15940 0 R 15945 0 R ]
+>> endobj
+15915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 517.832 181.845 528.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d) >>
+>> endobj
+15916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 490.099 181.845 501.003]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) >>
+>> endobj
+15917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 462.367 154.727 473.27]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) >>
+>> endobj
+15918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 434.634 165.446 445.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6790d) >>
+>> endobj
+15919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.784 434.634 273.381 445.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 407.274 150.493 417.805]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7) >>
+>> endobj
+15921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 337.333 218.029 348.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 337.333 250.965 348.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65) >>
+>> endobj
+15923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 309.6 218.029 320.504]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 309.6 262.043 320.504]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) >>
+>> endobj
+15925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 281.867 218.029 292.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 281.867 290.804 292.771]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb) >>
+>> endobj
+15927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 254.134 218.029 265.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 254.134 266.456 265.038]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a) >>
+>> endobj
+15929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 226.402 218.029 237.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 226.402 255.378 237.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) >>
+>> endobj
+15931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 129.799 180.54 140.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) >>
+>> endobj
+15932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 129.799 288.474 140.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.207 129.799 410.804 140.703]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 102.066 178.239 112.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) >>
+>> endobj
+15935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 102.066 286.173 112.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.906 102.066 408.503 112.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 194.507 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 74.333 245.695 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) >>
+>> endobj
+15939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.032 74.333 353.629 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.362 74.333 475.959 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15949 0 obj <<
+/D [15947 0 R /XYZ 89 770.89 null]
+>> endobj
+1952 0 obj <<
+/D [15947 0 R /XYZ 90 641.976 null]
+>> endobj
+454 0 obj <<
+/D [15947 0 R /XYZ 90 635.124 null]
+>> endobj
+15950 0 obj <<
+/D [15947 0 R /XYZ 90 536.745 null]
+>> endobj
+15951 0 obj <<
+/D [15947 0 R /XYZ 90 536.745 null]
+>> endobj
+15952 0 obj <<
+/D [15947 0 R /XYZ 90 507.278 null]
+>> endobj
+15953 0 obj <<
+/D [15947 0 R /XYZ 90 479.545 null]
+>> endobj
+15954 0 obj <<
+/D [15947 0 R /XYZ 90 451.812 null]
+>> endobj
+15955 0 obj <<
+/D [15947 0 R /XYZ 90 424.079 null]
+>> endobj
+15956 0 obj <<
+/D [15947 0 R /XYZ 90 356.161 null]
+>> endobj
+15957 0 obj <<
+/D [15947 0 R /XYZ 90 356.161 null]
+>> endobj
+15958 0 obj <<
+/D [15947 0 R /XYZ 90 326.779 null]
+>> endobj
+15959 0 obj <<
+/D [15947 0 R /XYZ 90 299.046 null]
+>> endobj
+15960 0 obj <<
+/D [15947 0 R /XYZ 90 271.313 null]
+>> endobj
+15961 0 obj <<
+/D [15947 0 R /XYZ 90 243.58 null]
+>> endobj
+15962 0 obj <<
+/D [15947 0 R /XYZ 90 175.746 null]
+>> endobj
+15946 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+15985 0 obj <<
+/Length 1551      
+/Filter /FlateDecode
+>>
+stream
+x��ZMs�6��W�W�)a|��$�6�3Mө�������$��H�����wI�)Jn�L��"� �]�{
<@����΋�O��SŜ �J�|��Q<@B��Թ�|�zc<>s	
��"�<s)
���f���*
�ۓ[|�,M._�8̣4q=*��Y
�V��k=әK��N&��>����_�~>}p;�rF �;����=v�P�����sS6Z8�2��Λ�#l�ս��
���8%/�Ih���(B!�Pߺ��#
O�����n��<��qU0I���ɤ
]:+�?>%7m��P�A����M�
�$%�A�L{�H�F�=��|[��0ځ�J�@�#�G>t��(��+�(����gs��#���2<K��y���Z�����Un*��3l�4:�����tx
��Hmx[8P�$��(;X����B7Q~m*����m5�6�R�7���073�������4J����CFʁ�r
�V���$]���G��nHgFѰL0CS��'CnB~`�L�qeuh�e�r�
|�y�&���|�68qp��� ���rxL��4���O�������o+.�
/(GG�
Z=���"��(*�K93v��yL 

=��Q��u
F����ԇ��$��w�v�H\�\(0\?��t�һW:���<��ei�mS�f}�,�����KZK6��"# &����X/tb�AC��j��7ly�Q�0<�j�9�"���	p�11 ���h��
+��.���0�dAˉz�����Q�Z���)�z���ǝ���[�п��R3>x#7��#+WT�	�FsA:��P��Fvm��}�����w�741މf�2F@
+`=R)s�U��T-�#

+�B`[W���8[vG�g�$��T��F	D��ޭet�
���Z��
�+�	�@'�f�Y�6����:r�,~�X�_ at h��bb��ڄ�
�Ӧ$)�-��v�3�W����w�I��|��
�]`���m��
v�
#,�#��=������D��4��4�G3�����Q>RD|��-ԤD
�A\�=r��=��h@�
�!�
t��T�O"��
IV(�@�_�(�amz�u��r��Ϲ_�'y�\��w�Đ
��L61�Y:� �����y
+S�o��tY���~��C�^{=l�
+����-�fb^�:��w��H����>  ��������d pv��	P�
p|?a�G�(��*�<<�)��|Ԇ_�6��
-�
���B⿠����RF�I�?(Yh�,�?^��ˍ6ؾ���G�g�݆�IF�>�����%
S�|�δq@�,���;�T����ʢ k�t���M�=�y��`�6��Y�.:R|��qZ�o�d�sjLc}�>%�Ǿ�/���Y.ct}ݪ�~� a�����B���l�c
+]p3U7\gg���?W:���f&�����8�\�X��V���
L��1������;���Q	y�K�XM��<_�
_��+���"~��8`��
�����
+%��~�a�K-���H at 0?�\�A�ӲE󾬴/���_�y�B��<�h��
+endstream
+endobj
+15984 0 obj <<
+/Type /Page
+/Contents 15985 0 R
+/Resources 15983 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Annots [ 15941 0 R 15942 0 R 15943 0 R 15944 0 R 15966 0 R 15967 0 R 15968 0 R 15969 0 R 15970 0 R 15971 0 R 15972 0 R 15973 0 R 15974 0 R 15975 0 R 15976 0 R 15977 0 R 15978 0 R 15979 0 R 15980 0 R 15981 0 R 15982 0 R ]
+>> endobj
+15941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 693.715 194.507 704.619]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 693.715 233.312 704.619]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) >>
+>> endobj
+15943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.649 693.715 341.246 704.619]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.979 693.715 463.576 704.619]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 663.238 226.034 674.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c580c) >>
+>> endobj
+15967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 663.238 401.773 674.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 632.761 180.54 643.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) >>
+>> endobj
+15969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 632.761 288.474 643.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.207 632.761 410.804 643.665]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 618.519 178.239 629.423]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c) >>
+>> endobj
+15972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 618.519 286.173 629.423]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.906 618.519 408.503 629.423]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 604.276 194.507 615.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 604.276 245.695 615.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) >>
+>> endobj
+15976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.032 604.276 353.629 615.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.362 604.276 475.959 615.18]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 590.034 194.507 600.938]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.005 590.034 233.312 600.938]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) >>
+>> endobj
+15980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.649 590.034 341.246 600.938]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.979 590.034 463.576 600.938]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+15982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+15986 0 obj <<
+/D [15984 0 R /XYZ 89 770.89 null]
+>> endobj
+15987 0 obj <<
+/D [15984 0 R /XYZ 90 712.265 null]
+>> endobj
+15988 0 obj <<
+/D [15984 0 R /XYZ 90 573.556 null]
+>> endobj
+15989 0 obj <<
+/D [15984 0 R /XYZ 90 495.903 null]
+>> endobj
+15963 0 obj <<
+/D [15984 0 R /XYZ 90 472.945 null]
+>> endobj
+15990 0 obj <<
+/D [15984 0 R /XYZ 90 472.945 null]
+>> endobj
+15964 0 obj <<
+/D [15984 0 R /XYZ 90 419.286 null]
+>> endobj
+15991 0 obj <<
+/D [15984 0 R /XYZ 90 414.802 null]
+>> endobj
+15965 0 obj <<
+/D [15984 0 R /XYZ 90 363.115 null]
+>> endobj
+15992 0 obj <<
+/D [15984 0 R /XYZ 90 358.632 null]
+>> endobj
+15993 0 obj <<
+/D [15984 0 R /XYZ 90 306.945 null]
+>> endobj
+15994 0 obj <<
+/D [15984 0 R /XYZ 90 302.462 null]
+>> endobj
+15995 0 obj <<
+/D [15984 0 R /XYZ 90 258.247 null]
+>> endobj
+15996 0 obj <<
+/D [15984 0 R /XYZ 90 225.245 null]
+>> endobj
+15997 0 obj <<
+/D [15984 0 R /XYZ 90 191.182 null]
+>> endobj
+15998 0 obj <<
+/D [15984 0 R /XYZ 90 156.118 null]
+>> endobj
+1953 0 obj <<
+/D [15984 0 R /XYZ 90 68.225 null]
+>> endobj
+15983 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16042 0 obj <<
+/Length 1617      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���0 ����E��
ХM�{�x��(d�������4�~��(K�츭�bX

S"yx��\H	W6
�~����3<�9�1&���
a{�;poLN��n��`��������髗�G/'�o�h2�8"Ѕ
R
�H��,
�y�� n?50b�k\W�bæ
�#�b��7�`D�j��F3�E�8�Z5�$�V�`�kL0��Em��b]�
�n5�ao�V
qW�z
h@
�l�{j�[��idb��e�
�@���~4��v�6]
����Ϭ�kޜ�t��DPd3�U��0�i�X&kz
���gMσ	�E_��/�4�Ɣ��i��y�|-/-a�L&3Y���v|�����R��F��j���1
��R>\Meq-es���4�L���I�뿒���"�,�M�T��

�1&9Ԯ��9LfQ�z$<�r$gH `���%��
�XDh>���&N�Ϳ���
����'�M�1f@@��_N�(�Հ���Tfu��Lf
+����
X��%j�o)役ƛ1W�dQl�a��)�eW
�^W�*��Y��x�*C���
Ï�晁��5=f���cW�ȱ�&h����W2��Fwf1U����Epr2�YV���9�5�ߐ����'
-|^��L�/��Z��v$z.���b̆���[J�0Ѝ�I+	mw'F��p������6͋L�q��Q��L< ��|�XV�`Y��a��!,�
��a�E&Ł]�\����@k�a����
�%�a��U�ar5$�或R�I0�C���
a�2�޽�X����0{;:�4�Jd���x�2�Ā��7H8���

+��m
0 ��fO\����Mi^�$�4�nڮu�9DQ�w�u@\�	T�vkڛ!�!����� l����vӿzv`�?�˙
+B�kEQ�u�&�
��B_E�zT
��
��S�
j%�z�W*]����I?�l������6NKR i
�6Z�k�M[�z�-sb1�
m���`Z
�o
az�
"�a��i^ƛc߷�� }�4�T[Q�-���i-��ߩ!s?������
����:�6l#���p{�z�r��e�9�ɕNJ��A�R/�ր^:�N���N���<�}�u=n�!o~�d��]�l����:�B8r<�-*)�2�����W�
RF���X���J�[�%��yw_u���Ow
��q�
>{#Ӧ�4h&E��LP�sGG�3��m	�
e�+��c�V��<�߬��Ĺ8<
���w\䂰���P�Re���U���uX�7mT4��ls�
[n�ne۲x\a2�
+��l?d�6��!���k'}��΁cp�"��OG6n���Ι���9��ʹ�:��>�^�Ţl�phKBȗl���~�+��rW�
�Vw�x�[��~�s Q}=���eᇑ>�x(�Y.֖�~"q���+b�
�`ּ�n�e,�#�Nu�,�%�����x����E
�e�~/ҙhCY�U�|`"�:��S�in
?���0aKqc�7^
+�>>pze���7c�6??^7�`Q�� ��OJ�[P��Ie`��-�U'}�vb�B�Oj�>�j?U/����嫻yQ,N����U.�+4K�u�v�Fy��:��g�q��G�p3�8�f�	ùe
+endstream
+endobj
+16041 0 obj <<
+/Type /Page
+/Contents 16042 0 R
+/Resources 16040 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Annots [ 15999 0 R 16000 0 R 16001 0 R 16002 0 R 16003 0 R 16004 0 R 16005 0 R 16006 0 R 16007 0 R 16008 0 R 16009 0 R 16010 0 R 16011 0 R 16012 0 R 16013 0 R 16014 0 R 16015 0 R 16016 0 R 16017 0 R 16018 0 R 16019 0 R 16020 0 R 16021 0 R 16022 0 R 16023 0 R 16024 0 R 16025 0 R 16026 0 R 16027 0 R 16028 0 R 16029 0 R 16030 0 R 16031 0 R 16032 0 R 16033 0 R 16034 0 R 16035 0 R 16036 0 R 16037 0 R 16038 0 R 16039 0 R ]
+>> endobj
+15999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 612.336 181.845 623.24]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342) >>
+>> endobj
+16000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 585.716 181.845 596.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) >>
+>> endobj
+16001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 559.097 154.727 570.001]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) >>
+>> endobj
+16002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 532.477 165.446 543.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7) >>
+>> endobj
+16003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.784 532.477 273.371 543.381]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 506.231 150.493 516.762]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1) >>
+>> endobj
+16005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 437.904 218.019 448.808]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 437.904 250.955 448.808]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56) >>
+>> endobj
+16007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 411.284 218.019 422.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 411.284 259.253 422.188]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) >>
+>> endobj
+16009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 317.966 180.54 328.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) >>
+>> endobj
+16010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 317.966 288.464 328.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.197 317.966 410.784 328.87]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 291.346 178.239 302.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) >>
+>> endobj
+16013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 291.346 286.163 302.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.896 291.346 408.483 302.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 264.727 194.497 275.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 264.727 245.685 275.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) >>
+>> endobj
+16017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.022 264.727 353.609 275.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.342 264.727 475.929 275.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 238.107 194.497 249.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 238.107 233.302 249.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) >>
+>> endobj
+16021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.639 238.107 341.226 249.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.959 238.107 463.546 249.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 211.487 226.034 222.391]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559) >>
+>> endobj
+16024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 211.487 401.763 222.391]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 184.868 180.54 195.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) >>
+>> endobj
+16026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 184.868 288.464 195.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.197 184.868 410.784 195.772]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 172.554 178.239 183.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d) >>
+>> endobj
+16029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 172.554 286.163 183.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.896 172.554 408.483 183.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 160.241 194.497 171.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 160.241 245.685 171.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) >>
+>> endobj
+16033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.022 160.241 353.609 171.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.342 160.241 475.929 171.145]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 147.927 194.497 158.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.995 147.927 233.302 158.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d1a1a) >>
+>> endobj
+16037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.639 147.927 341.226 158.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.959 147.927 463.546 158.831]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16043 0 obj <<
+/D [16041 0 R /XYZ 89 770.89 null]
+>> endobj
+458 0 obj <<
+/D [16041 0 R /XYZ 90 721.073 null]
+>> endobj
+16044 0 obj <<
+/D [16041 0 R /XYZ 90 630.692 null]
+>> endobj
+16045 0 obj <<
+/D [16041 0 R /XYZ 90 630.692 null]
+>> endobj
+16046 0 obj <<
+/D [16041 0 R /XYZ 90 602.338 null]
+>> endobj
+16047 0 obj <<
+/D [16041 0 R /XYZ 90 575.719 null]
+>> endobj
+16048 0 obj <<
+/D [16041 0 R /XYZ 90 549.099 null]
+>> endobj
+16049 0 obj <<
+/D [16041 0 R /XYZ 90 522.479 null]
+>> endobj
+16050 0 obj <<
+/D [16041 0 R /XYZ 90 456.175 null]
+>> endobj
+16051 0 obj <<
+/D [16041 0 R /XYZ 90 456.175 null]
+>> endobj
+16052 0 obj <<
+/D [16041 0 R /XYZ 90 427.906 null]
+>> endobj
+16053 0 obj <<
+/D [16041 0 R /XYZ 90 361.687 null]
+>> endobj
+16054 0 obj <<
+/D [16041 0 R /XYZ 90 254.729 null]
+>> endobj
+16055 0 obj <<
+/D [16041 0 R /XYZ 90 134.927 null]
+>> endobj
+16040 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+16065 0 obj <<
+/Length 1361      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�a@&�㻂v��.ź���Ð�bˉ7YJd�m��N�(Y�����P,_,���ǻ��Ի��r�����Xs/"�b�;�z����T؛xg>PbX��?	��q1�/NF�<��N&E|�zvY������p �ϳ d��?��ba�o�iR�K�q�r�Pҗ��w��F���nG��Q�&�h�磳wԛ��+�
�C5i�	��zoG�h�)J�,���"��n� �;��x\̒lR*ˌ�c6��7I/��s����Y�7��ǫy�-�j��Ű
8
+ RtV%P�{��)
+�h�����y��y���J�R�?γŲ\��3@���B%�y��e�]T�ך��`6����� ��S�����0n�&
� ��G)�w*�Ƚ��-�� M	�vrmN�9��",")���:�]ǩ��j]|(�� B� 5��ӀK�X%�}����g�]��6Z0ͮ?��E
*rJ����"F��a�)je��j6�S�`r��L��˟8E�k��{&G at G�R�����g=����<�}x��
��<OF�����xo�l����(��N�`�[�n�;%T�'��Y��b�7]�����|8Nd�=�9�u��&pjC4�OZt6���Dh�G�Y���,�"��E���pQ�v��X���G3�T�����gI:�	�򺛊mm�OK;ʠ
+%฀�/
Kr=����L1
�>���Q�XI<����>
ĝ/;;���
Ϟ
�N�̚;���jp��(M��b���״
��ĝ�u(����`������U���
���7�:�6�C��:
�đ�*��=
1�i�D�&r� G�n��
����v�t�Q/+��
+�K �K�r��
���'-��
b'\8c�p
���~C(	������g��R"pL����S�����ؚP�jj=nː�RfݹJ�	I}_����ŧy���U��,��C甲49��\Rg�QI��:��<gLvg��ϸ���\_o"E֊�f�V*0�nC�Y&����**Hd��ੈO���ʉ��ᶘ�ʦkz����d%JIp�xH��o���U`�`
+�
0l+�c

l�9�_U��ꔱ�*��
+]�s�����*BoC
0��z�A�e�H�!��
�h ���T!)>��W7'��
�+�����,��I2p�b��3TX!Z4��E[O�����бF�
����߳
_9�iJ
+-�ʻ�xr�����m��H����Bm���l��en��,M��e�!A�1��&ΛV�=��mT�U$�6�]/�7G�����E�]�1f�{�X���-�l<>�]Yi����F���#r?�s�@c�b�x�dՌ�v��}X
�:�ދ

����ex="
+endstream
+endobj
+16064 0 obj <<
+/Type /Page
+/Contents 16065 0 R
+/Resources 16063 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Annots [ 16062 0 R ]
+>> endobj
+16062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16066 0 obj <<
+/D [16064 0 R /XYZ 89 770.89 null]
+>> endobj
+16067 0 obj <<
+/D [16064 0 R /XYZ 90 721.073 null]
+>> endobj
+16056 0 obj <<
+/D [16064 0 R /XYZ 90 687.01 null]
+>> endobj
+16068 0 obj <<
+/D [16064 0 R /XYZ 90 687.01 null]
+>> endobj
+16057 0 obj <<
+/D [16064 0 R /XYZ 90 633.35 null]
+>> endobj
+16069 0 obj <<
+/D [16064 0 R /XYZ 90 628.867 null]
+>> endobj
+16058 0 obj <<
+/D [16064 0 R /XYZ 90 577.18 null]
+>> endobj
+16070 0 obj <<
+/D [16064 0 R /XYZ 90 572.697 null]
+>> endobj
+16059 0 obj <<
+/D [16064 0 R /XYZ 90 521.01 null]
+>> endobj
+16071 0 obj <<
+/D [16064 0 R /XYZ 90 516.527 null]
+>> endobj
+16072 0 obj <<
+/D [16064 0 R /XYZ 90 472.312 null]
+>> endobj
+16073 0 obj <<
+/D [16064 0 R /XYZ 90 439.31 null]
+>> endobj
+16074 0 obj <<
+/D [16064 0 R /XYZ 90 405.247 null]
+>> endobj
+16075 0 obj <<
+/D [16064 0 R /XYZ 90 370.183 null]
+>> endobj
+1252 0 obj <<
+/D [16064 0 R /XYZ 90 208.465 null]
+>> endobj
+462 0 obj <<
+/D [16064 0 R /XYZ 90 154.111 null]
+>> endobj
+16063 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16109 0 obj <<
+/Length 1395      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�S+�T0���\�4I�X}J2��%NE�!�x�_��[��8����AC�\`����R����γ����S�
y�
+gq�xؑ������y;�ĝ�_�p�P�xf����z����Ҽ�<YL>L���
p$�ē����F�S�m);.ep�8���'�k��[A�X�ϓ�΢�O=�S��a�2?�7�if3§~�ˋt�[�0�/����v����49/M����R���:
L���>L0ɨ,E���e=�zp�<��y������3�˳fƼV6�h+�
�
+fs�����&
+  TM3WMw7:�pc"�˔Wܮ��Rޛ뼝s��,��ꕱ7[U��)�L�� A��
�4�tR
�80-N[mG1��0G�'�5��¥B)QEf����lc�N`oʕ�Qz=k��jϑU�Ci�œyC�E��Q(^��Jgv�t�E�&�g��#8C�A�fQ0�]�z��
;z����z�*
��]-��\����4�7�
+C.[R
��(��<a�$Sǀ=@����9�y�9��qL�� ���b�A��֗7��fm$�"Sk�1�y�QE]zJ{�P'�&ͣde��8��r��BֵHǬ!�#�"��u�[��q��B�zs�$�
 ��"=~
+ �&����h/:�
C�l�0<�^���D�cB
�� ���BQ�?
���+�ٲ�(�3�k����!a�f��p�
�G IG�V
J�:5s�J몊���]�˝�{�d~���./t<�_��4k�ߤ.����6fl*�������Z���8J�8�����*o�b]�i75�m�I16���<Ӊ�|آ�˪^���beJ�1���ـ��KϿ���|��C,
&�_����> H{(B�l
��
�X-�������������DŮ����N��(7[�탫�خ�y��ʩ�MW"��L!{h({[ȩAe��\�݌L-����j�����=\�����Q\)�Hv\�
p�����u�sL�+9�o��?	�?��s�!�}N0�gW^��'Ѡ��q5:֢Z�|�ތ �NNo�0�e��j	_�����ٝU������fmt�
+�&1(R�
�l,��#ջu�	b\��V�d0�������{U�ET>L6�>�
����۹1-B"�j�`DGL���(��(3II�^T�f�Q�i�F���ɴ�L�o���&m���ky�V\S?^Y�6����m��k��
5HZn���i�#"A���GD���SrOՇ0�HI�C�v|���g0�i
�7o���w�BfT2�#����v�O��_g�O+�_�	4xm�����.����D�0Av_ꚭ֮��4��kwo��uQܜ��]mW�NV(H���n'�G �
<�qY�f�CQ㒾{����
+endstream
+endobj
+16108 0 obj <<
+/Type /Page
+/Contents 16109 0 R
+/Resources 16107 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 15914 0 R
+/Group 16061 0 R
+/Annots [ 16076 0 R 16077 0 R 16078 0 R 16079 0 R 16080 0 R 16081 0 R 16082 0 R 16083 0 R 16084 0 R 16085 0 R 16086 0 R 16087 0 R 16088 0 R 16089 0 R 16090 0 R 16091 0 R 16092 0 R 16093 0 R 16094 0 R 16095 0 R 16096 0 R 16097 0 R 16098 0 R 16099 0 R 16100 0 R 16101 0 R 16102 0 R 16103 0 R 16106 0 R ]
+>> endobj
+16060 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Polyhedron__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 16122 0 R
+/BBox [0 0 362 192]
+/Group 16061 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 16123 0 R>>
+>>
+/Length 526
+/Filter /FlateDecode
+>>
+stream
+x�ݔ�jA
���z�U$��
�

���B!�4�SJ\hz��W���������Z�F��O���
"HahX��+�t
�z~��;���������\�����!��1�G�J>���O�%�y��	��1k��8��)�WݍCow^`�!��=�՝3�r���:W������
X<���m�զ���\��ݼ#"nc�V�F�:���Zm�A<�����E2Ǭ��6j�
�wcʷ�⋪��]���=
�Ŋ1�����	��B���U�ֻ�m�
9pN�>��G�n�z]\s���w3=��J�l�M��$���K8�\"�f��6��J�D>fs�
��N�%
�zڔ�L��!�=5ñ��
0%�&�M�d�X�����h�划

QKW )
��w� ��@0gj&�k
QP�mƊ�z�B�L!k��[�[���ˀfuzl���
�NY}��[%�Mr����VӾ=O�;������z��"ƼG��1�4-���oa��?-�Fi�h��
���D
dN���底���b��
+endstream
+endobj
+16122 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+16123 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /AADMGF+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 16124 0 R]
+/ToUnicode 16125 0 R
+>>
+endobj
+16124 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /AADMGF+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 16126 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 556 722 722]]
+>>
+endobj
+16125 0 obj
+<<
+/Length 16127 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0E���Y���G�CI7^�A�~�,�A-
YY��+Ϙ*����
�;�.�K�l��#����:
p�A!�x�N%h��J��Az�%s7O�֙Q�5d�I�b�a��
� d�Ac��
+��Kǿ���?8������&�{��M���N���6��*�f�P|$5j��T������MZ�@���ʼnm�Q7��H�y�����P0툎%SŚfڳ�0
X[�Ȥ�N���tf��$��L=SŤ����fm�L��
�N9k����vL|�
+)�5�%�e���{)~<�$n
>ކ���&�
+endstream
+endobj
+16126 0 obj
+<<
+/Type /FontDescriptor
+/FontName /AADMGF+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 16128 0 R
+>>
+endobj
+16127 0 obj
+303
+endobj
+16128 0 obj
+<<
+/Length 16129 0 R
+/Filter /FlateDecode
+/Length1 1760
+>>
+stream
+x�UU{lSe?�w��Ѳ�r�`��]׽���ck�^���
+�c�n�c]7�c�MLL�!JL�@b�Ɛ���(���1�d!р�f@j$��|���6�;���;��9��@  ���}g*6���q��w�

���_��|@q71������E�;�
+��P��Dj�d�
E e
�ݣ�1 �e��Q�b���-*��ʫ0f���,p����/7�(�H�dXz���Wt�N<׏�x.�����f��0(E��i�&49�{;�
�'�4���W(�}B��Φm�l�h�2����@%8��0�y����U�2k[\��
O#i N��L�#8�
�������xm^��`�TF���ԥB��R�Zkú�ze�5Z4�U�&w�IW+�Ƽr[O��h]Y�-��W(U�����.}�Y5��jjC5X���Ŝ�!/ z,J�7�a$�H$�ci����ڵKzH5;6�
ڴa1���	�X8�����C[O���)�pv#�j�#�PMך�P���.
 I�'�^�b�c*����eN`_@�7��o��#�8Z2�����A�G1��a�u�T:������ѱ�#�P��uS��̼v��
ɝ�I}�Jm��1_Xg����>a-���.c%7��(�
ƨp1�	'
+䕾{�����ϩW]읦����e~��4L
�dq"wЗ�|	�_Ċ�j�l
+����uݽa��c���[tV��^���ʵ�pf֪�� �&�3�D.�
J+�S"
!%��asD��o��˩��"�t�XI�a���
����B�u5yj��ۻ5�g1�� �,�̔7�d�.'�7�
���ꃮ��{�Cã�S-�H�/bx���~�թ�7�B��x���X�@��s=�U2lMz�)IH���f�R�a�3��
Cߣ7�΄�8
��Z2��ύ��\����7���Bo���
^�LL
N��࿍��Z^#�l9}��{}��Z�R:�;0����
{+�fq��	�G�'���b/,͹���m�T���s40��
�J{��5�X�ގy_��Y�g#�h�W�"�
���Vsv��~�{�z�v`�ȡc��A~�$=�h_Ó��ő�s.���?�n���<��X�4b�'w�]F"��tR:
"S��/"��F�s��
�;A��^��G����EB&Æ]>���9
�W`'U�W.F�5h��(�����"�"Qm�7��(�B��]f��/�~Z�O�H��9E1���W��#�)~�g�N9����e��s�Ok���@+�6Z [...]
i4��ۘ�E����T��
�}�L���
~��H#d��@���&�.r	������P\.(���u�
+endstream
+endobj
+16129 0 obj
+1357
+endobj
+16061 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+16076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 443.392 192.296 454.296]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.794 443.392 258.726 454.296]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec) >>
+>> endobj
+16078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 352.145 190.738 363.049]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 352.145 261.85 363.049]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) >>
+>> endobj
+16080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 326.564 190.738 337.468]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.236 326.564 262.159 337.468]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) >>
+>> endobj
+16082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.225 313.101 390.082 323.006]
+/A << /S /GoTo /D (index_Affine_Independence_and_Affine_Dimension) >>
+>> endobj
+16083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 300.983 226.443 311.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.183 300.983 282.343 311.887]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) >>
+>> endobj
+16085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 275.402 226.443 286.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.183 275.402 329.944 286.306]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) >>
+>> endobj
+16087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 249.821 224.76 260.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.499 249.821 278.986 260.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) >>
+>> endobj
+16089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.616 224.239 224.76 235.143]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.499 224.239 326.587 235.143]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) >>
+>> endobj
+16091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 198.658 209.547 209.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+16092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 198.658 261.831 209.562]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) >>
+>> endobj
+16093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 173.077 209.547 183.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+16094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.045 173.077 309.432 183.981]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424) >>
+>> endobj
+16095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 136.537 205.692 147.441]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+16096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 136.537 261.312 147.441]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) >>
+>> endobj
+16097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 136.537 332.156 147.441]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+16098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 112.787 205.682 123.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+>> endobj
+16099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.18 112.787 261.302 123.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) >>
+>> endobj
+16100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.64 112.787 330.462 123.691]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+16101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 89.038 205.692 99.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+>> endobj
+16102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.19 89.038 261.312 99.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) >>
+>> endobj
+16103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.65 89.038 338.781 99.942]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+16106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16110 0 obj <<
+/D [16108 0 R /XYZ 89 770.89 null]
+>> endobj
+16111 0 obj <<
+/D [16108 0 R /XYZ 90 460.308 null]
+>> endobj
+16112 0 obj <<
+/D [16108 0 R /XYZ 90 460.308 null]
+>> endobj
+16113 0 obj <<
+/D [16108 0 R /XYZ 90 392.735 null]
+>> endobj
+16114 0 obj <<
+/D [16108 0 R /XYZ 90 367.143 null]
+>> endobj
+16115 0 obj <<
+/D [16108 0 R /XYZ 90 341.751 null]
+>> endobj
+16116 0 obj <<
+/D [16108 0 R /XYZ 90 316.17 null]
+>> endobj
+16117 0 obj <<
+/D [16108 0 R /XYZ 90 290.589 null]
+>> endobj
+16118 0 obj <<
+/D [16108 0 R /XYZ 90 265.007 null]
+>> endobj
+16119 0 obj <<
+/D [16108 0 R /XYZ 90 239.426 null]
+>> endobj
+16120 0 obj <<
+/D [16108 0 R /XYZ 90 213.845 null]
+>> endobj
+16121 0 obj <<
+/D [16108 0 R /XYZ 90 188.264 null]
+>> endobj
+16107 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F66 3179 0 R /F75 554 0 R >>
+/XObject << /Im25 16060 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16187 0 obj <<
+/Length 2102      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�8��W�䕪b 	�HU�����$���;�dJE���
E�|����i�h=(���x2��K�6�_� l�-l�<������X
1�����
Q���OC�Q`�.	�x�~D�0̗������,�,x����$��˗�_�H0��ѥM��u�j~�3.�锃\���:�����O׃�ͰE�&��5]>��������a�u+;--�v�3�>~`=)�=9oM�y�O"DM�m���c֧K
+��dY����s���CL%.�|�*7�O��>c�ᏨIO��(w��ϫ7̱P�s����<�X`�S����U���7���F��@��X�W�vE:����ϔFa�F�&Ղ���^������!>c�4)�"�
��8�G�Fa�P�ʎ��2�q)(�v����KBm�;64�+���U�l:\�
��O�[���\�&]���C0�#]����2��y<
�d3�&Y�����feV�fmZm7e_�.�I�K���D�РX�i���*�� !���?���fqZ�gy�<�m(
�^#
`����cps��1���
rE
�M�M�_����
��e�zN���K����h?p����
+���"M(]Y>
#L�*��	�>.$G2�1�k �/����0N�10��Ԝ���s����ƚZ��
&ӧ����]�D��s��Ӽܻ��2�*q��燿�!�[�p�4��Z�
��{��{`؁�R��$@Np���"���&���
AA@{�%A�0ө
R6�ϧ~_�^2[!��q8�ļ�
+�%�[0\�����yQ�G*I�_���8��cv��L���
~"�%k�Cf#��A����)@8�&�=�/ @���c�s���e��`�
�������pB�I��N5�D%�E��
_g|&� ,jOc~X�I�E����hILI�^���b�
�-jF��/����b�����}bƑ;�'b���N��D�
4t�@���
�iOu�
�4�J�0{�Z��A<aBOGo�(w�
�lE�l+}#�@�� vP�x��
1�'�C���"\ 5<
�(f��<4;���@S��vz�-L*��m��J
��
C�g�x&�xў��)�C��ڔ��g���X�X���RN]��[� �y��z�q�!����*4%-Ts��b=��>qG�y��ţ���2N��9�D�f@�ԕ];��[��E��Z��$[I
(�hd@�0�0��+'����
�9�
�9
�0���a�.���G9
l�:q��(G9�n���_
�'�/��_�I��SٿT�t&����Kg�9S̓���eA8p��IOU%�#7p5�y���d�p7���)h��1���&�[/��ƽMv�%#f��K
+����}�x?Q�IQ��֒��ܧ^f%����}�EO� �
+������²^E�<�*Z槲�8�/�]���5'�e�·U�T��
+��t"ؿ{��4�Yì��ĢU	��s�Lw�6��O���q�L-�敒�1�n�0��M�H> �
��"Г�WP�j�]z1��u��Ǘ�᝭���`�|��iZ�<�r$�"'�� .���r���i)Η����1�
D�lʐ����	�
��/0���c�Ϫ�-����pu'��L��H
+�:^�|�����䠚��Z
�Iˢ�~�l�V�/!��ٹ�r�x�	�xc	��e�GyDX��1^�Tq*\���B�9_��\}��/'��ћ*���Dat7�ޅ)�(�m���p��r(X@�k)8��qFѸ>�T>�Q^�
+��J��(z�?D�i�����9
T6�"���������(��mԢ��dY�;	����"�4��vN��z*^�*)�/N��'ȡ�
+��@��m�t�Y������:g�r]�fy#�@�W�����{!�p`q��p>�
��
�J,�c�" 5�+y/�Q��"�bz��K�
��v�^:4�
��E1C�N��u�x�V5���#J
$ޅ),�F�,��:���S.
 �Gn����b�֯"sҝm QZ�wQ���WW�j^�t��{W\��!�\�mf��,��N���2y��Ǝ�+�X�y3�߷e����<�����ұ~���w�:�R�?�
+endstream
+endobj
+16186 0 obj <<
+/Type /Page
+/Contents 16187 0 R
+/Resources 16185 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16104 0 R 16105 0 R 16133 0 R 16134 0 R 16135 0 R 16136 0 R 16137 0 R 16138 0 R 16139 0 R 16140 0 R 16141 0 R 16142 0 R 16143 0 R 16144 0 R 16145 0 R 16146 0 R 16147 0 R 16148 0 R 16149 0 R 16150 0 R 16151 0 R 16152 0 R 16153 0 R 16154 0 R 16155 0 R 16156 0 R 16157 0 R 16158 0 R 16159 0 R 16160 0 R 16161 0 R 16162 0 R 16163 0 R 16164 0 R 16165 0 R 16166 0 R 16167 0 R 16195 0 R 16168 0 R 16169 0 R 16170 0 R 16171 0 R 16172 0 R 16173 0 R 16174 0 R 16175 0 R 16176 0 R 16177 0 R 16 [...]
+>> endobj
+16104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 707.957 183.824 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) >>
+>> endobj
+16105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 683.082 192.272 693.613]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) >>
+>> endobj
+16133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 657.46 241.935 668.364]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839) >>
+>> endobj
+16134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 632.212 213.163 643.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424) >>
+>> endobj
+16135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.501 632.212 288.431 643.116]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 609.003 189.901 619.533]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) >>
+>> endobj
+16137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 583.754 193.229 594.285]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff) >>
+>> endobj
+16138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 558.132 238.459 569.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94) >>
+>> endobj
+16139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 533.258 187.689 543.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) >>
+>> endobj
+16140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.505 533.258 226.693 543.788]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 509.301 228.895 520.205]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) >>
+>> endobj
+16142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.232 509.301 333.482 520.205]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 485.718 229.503 496.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) >>
+>> endobj
+16144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.84 485.718 334.089 496.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 462.135 187.264 473.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) >>
+>> endobj
+16146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 462.135 293.213 473.039]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 462.135 371.148 473.039]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 462.135 455.727 473.039]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.98 415.638 187.264 426.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3) >>
+>> endobj
+16150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.963 415.638 293.213 426.542]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.131 415.638 371.148 426.542]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.711 415.638 455.727 426.542]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.235 403.682 220.058 414.586]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+16154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 369.14 186.348 380.044]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6) >>
+>> endobj
+16155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 369.14 293.772 380.044]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 369.14 373.367 380.044]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 369.14 456.837 380.044]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.717 322.643 186.348 333.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495) >>
+>> endobj
+16159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.523 322.643 293.772 333.547]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.35 322.643 373.367 333.547]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.82 322.643 456.837 333.547]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.581 310.688 218.404 321.592]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+16163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.772 276.146 187.446 287.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38) >>
+>> endobj
+16164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.73 276.146 292.979 287.05]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.431 276.146 370.447 287.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.745 276.146 456.762 287.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 276.146 513.996 287.05]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 264.565 159.485 275.095]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.603 264.565 240.62 275.095]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 229.649 180.496 240.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) >>
+>> endobj
+16170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.834 229.649 255.764 240.553]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 206.066 213.153 216.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) >>
+>> endobj
+16172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.49 206.066 288.42 216.97]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 182.483 161.677 193.387]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5) >>
+>> endobj
+16174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 121.873 205.752 132.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) >>
+>> endobj
+16175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.089 121.873 276.595 132.403]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+16176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 97.916 204.078 108.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57) >>
+>> endobj
+16177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.415 97.916 273.238 108.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+16178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 212.377 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) >>
+>> endobj
+16179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.714 74.333 289.846 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+16184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16188 0 obj <<
+/D [16186 0 R /XYZ 89 770.89 null]
+>> endobj
+16189 0 obj <<
+/D [16186 0 R /XYZ 90 721.073 null]
+>> endobj
+16190 0 obj <<
+/D [16186 0 R /XYZ 90 697.812 null]
+>> endobj
+16191 0 obj <<
+/D [16186 0 R /XYZ 90 672.564 null]
+>> endobj
+16192 0 obj <<
+/D [16186 0 R /XYZ 90 623.733 null]
+>> endobj
+16193 0 obj <<
+/D [16186 0 R /XYZ 90 598.484 null]
+>> endobj
+16194 0 obj <<
+/D [16186 0 R /XYZ 90 573.236 null]
+>> endobj
+16185 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16265 0 obj <<
+/Length 2652      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�K͔��b�43�g���k)}q2
�)LI�H;̯��
�Z�)ʌ���g���ux���w��\\��l�0���f9
+�H�� �-FƂ���|?b�B$
�-s��������k���ۛ��
���j4�\|��p��F,T��f�f�)������?����5��l����k�Lj¥$b��b�_N������ۃ�J�ŝd��d
in���kD�1Q�k��c��2�1)��R;$Pu*�U��c曊� ˒�]�{�	Z���]@��Q!H
�3^R��K�6���%���f���I,�dr
m�O
%�h��84d�Mׇ�h�]r1Nd at P�
�kx��P ,8\`�s�T4�}��ǟ4Gi�p�4����{3�p�XLA��.���.o�C~��!�)�.�L��.��h���@�4
U�mj���X+E
+u��@h���P����.*
i~.	�5+37�ī~ �R�>0�0�5�6g��͵e%�s�.=�'D "�)�W}��HVKѺ�
�����N���x�
'�j�'M��+j�
+e_w�ݯwZk��Y�Kc���,�k
���$�vR|Z|��5�p
�	ㅼ0T
��a�Q�v���
+�\�}�(�ʨ~2$�E��������������p%Q6ۥ�c��w�cX[
�
)f&�`ZDk�aT�V��huI DK������p��D����	)X��Yb�Ɛ�R��I�(
&`�1�$L߀$����΃�b(
�
؏�n�|���t'��� h*�c�|?x���I$�{��m1|r�2�G&�����"�Jn<�d�G���Np��,�;3�LU���
+����4��OR��P�4v����UrW���[7�Y�H�Q��H�[L�H�K.Q
-'(f�"{�|��G��'�l�_���%n��I� � �f�Wl�^“ S8`����I
0���*��+��-�e���+� R����,�$�j�_+f)���|
6�A���
S���`��D�ɭ���<�e 6�)T�)��i�(�H����u�

j;
�cB�i�8�"THU���Z�/!E$�lzt9�ۚ;
����90|���S at b\��� /7[
�Z��
���7)b�ρ(yX�K�,@�Έ���6��l����8*祗��-�N)@B�{9��6Jf��7�o����f�JX���
���
`
v���M���u�`e��u�I#�
+j�b�93��:�T-�X�I4˦K�{
+���u�;����;�PT^?Z��0Z�!���%hQ6$�!�Z:���|�.�cs1
E����.�
}�&9i��%�
���
jzm�W ZY��z�Ay�
�Aђ�W�h�Y`�
�) �� �9���|p�� ޣ NX���;���&�=_�Y��+�Mӵ�/
���97
�S���|���n���yt��'
ȱf���d�q�T!I��c��n��a����:��
�m�Y��./�P���j0�U©Q�V$;��ʛ�P��1z�'ɔt�{��^p)�Rk
b�pi�Ҋs��<2�`�C\� h��,�{j at p�_MT�H��r��x�ODZ���RXE�9�#�bO:��2�qqI��v�b
�
�f���W�8!��a�D�ju��!k����ٖ�F�"�hO�z
 ���B8 P��1���/�j�g�\
wĹ1#}5|��tEW�ի?-�
+�xp��]���	��\5����I�&P�mnӵ�ˢu~�<aL&�u$��ɵA���y\ދ���'&��
1�(�6b�br�tI$_�c�R��F�

+�}oX�g�8�c��
+�b��
�u�n�ʒ�ذ�r
{���
�TR�|���w�<�?f����1��"*�f���7�ȗz���,�ճ�-��7�[��� �K�{�_FÞݮo�ߎ:r)��^1}��	��҉���H�Y�v���S�_��V{� RF���� �Xo�2Kp��!�R׾��i{��
;�>��;
��N���_��*0�C�K�I�S?O������,�g�k���]�����t���t��1V����0`~��z��Zys��ϺWA
+N;�pB�-p
rz^�!
��zR��ogs]\2:^ě(�
�:�T�Y�k�5�k �x���*��\�;�U�h���/s6
Խ��,��
+Ja�̠?a[���|z
�7��
�������F at Y�u�ZB���p�Npq��r���9�{/��l|��:�ei
�x@C��1�<��g�TZ7���!���)���ԭƄ��c�D<{�����!���U9hK�]VJ�0�w�HT�%���o����J����t�����9Hi�u�8e ��?M9K~�@AX:�������+�A�m�)���~�~�
^
+´�&ZPG�%d�ۜ�xh�0@�zjw��F��6�'�.��E�t]ֳ��k����
d��<�R�2�(3G!���.C��D��(-J�Ht
N��T�s�4n
+��b��a8&�(I�N�@��"�f;
^�xU>�����k�x�ݸz�a��@�"7z�����9hhU�A+n�Q�Mb޽��^��G�_.�(>
��,��\�����[&���A�z�	�
�:*Pm��_����p�@Y�[���n������*�������j|f�e	�e���Ht3�eeK���g�Ay�g;4
+endstream
+endobj
+16264 0 obj <<
+/Type /Page
+/Contents 16265 0 R
+/Resources 16263 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16180 0 R 16181 0 R 16182 0 R 16183 0 R 16212 0 R 16213 0 R 16214 0 R 16215 0 R 16216 0 R 16217 0 R 16218 0 R 16219 0 R 16220 0 R 16221 0 R 16222 0 R 16223 0 R 16224 0 R 16225 0 R 16226 0 R 16227 0 R 16228 0 R 16229 0 R 16230 0 R 16231 0 R 16232 0 R 16233 0 R 16234 0 R 16235 0 R 16236 0 R 16237 0 R 16238 0 R 16239 0 R 16240 0 R 16241 0 R 16242 0 R 16243 0 R 16244 0 R 16245 0 R 16246 0 R 16247 0 R 16248 0 R 16249 0 R 16250 0 R 16251 0 R 16252 0 R 16253 0 R 16254 0 R 16255 0 R 16 [...]
+>> endobj
+16180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 697.144 209.627 708.048]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) >>
+>> endobj
+16181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.964 697.144 314.791 708.048]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 662.566 248.202 673.47]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) >>
+>> endobj
+16183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.018 662.566 329.845 673.47]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 638.948 207.953 649.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) >>
+>> endobj
+16213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.291 638.948 311.434 649.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 615.329 246.528 626.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) >>
+>> endobj
+16215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.344 615.329 326.488 626.233]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 591.71 216.252 602.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740) >>
+>> endobj
+16217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.59 591.71 328.042 602.614]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+16218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 557.132 254.827 568.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) >>
+>> endobj
+16219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.643 557.132 343.096 568.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+16220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 522.928 236.745 533.459]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec) >>
+>> endobj
+16221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.082 522.928 307.588 533.459]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+16222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 498.936 243.37 509.84]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923) >>
+>> endobj
+16223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.708 498.936 320.839 509.84]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+>> endobj
+16224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 475.317 240.62 486.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) >>
+>> endobj
+16225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.957 475.317 345.785 486.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 451.699 247.246 462.602]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) >>
+>> endobj
+16227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.583 451.699 359.035 462.602]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+16228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.378 416.125 290.595 427.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a075036249d2478e1710f5d6350c849f3) >>
+>> endobj
+16229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.489 416.125 374.904 427.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.429 416.125 417.156 427.029]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.341 404.169 279.756 415.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.177 404.169 321.904 415.073]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 345.681 339.618 356.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aeeb72a31f8e1823de7a8123585a331b6) >>
+>> endobj
+16234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.76 345.681 420.175 356.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.824 345.681 460.551 356.585]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.938 333.726 306.353 344.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.986 333.726 347.713 344.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 321.771 196.835 332.675]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+16239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.88 275.238 279.318 286.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a49fe44155b41ca85f41b2abc99c39e13) >>
+>> endobj
+16240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.914 275.238 302.514 286.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+16241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.541 275.238 344.268 286.142]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 240.038 193.577 250.568]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) >>
+>> endobj
+16243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.393 240.038 232.581 250.568]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.059 227.182 248.845 237.087]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+16245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 205.46 193.577 215.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3) >>
+>> endobj
+16246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.915 205.46 277.691 215.991]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.391 192.604 247.177 202.51]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+16248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 170.509 223.465 181.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39) >>
+>> endobj
+16249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.802 170.509 298.732 181.413]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 146.89 215.176 157.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f) >>
+>> endobj
+16251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.513 146.89 290.443 157.794]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 123.272 229.552 134.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) >>
+>> endobj
+16253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 123.272 304.82 134.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 97.952 239.804 108.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) >>
+>> endobj
+16255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.141 97.952 315.071 108.856]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 85.47 275.476 95.375]
+/A << /S /GoTo /D (index_Convex_Polyhedral_Difference) >>
+>> endobj
+16257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 217.109 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) >>
+>> endobj
+16258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.446 74.333 292.376 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16266 0 obj <<
+/D [16264 0 R /XYZ 89 770.89 null]
+>> endobj
+16267 0 obj <<
+/D [16264 0 R /XYZ 90 138.393 null]
+>> endobj
+16268 0 obj <<
+/D [16264 0 R /XYZ 90 89.455 null]
+>> endobj
+16263 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F67 3037 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16364 0 obj <<
+/Length 3344      
+/Filter /FlateDecode
+>>
+stream
+x��\m�۶�~�B�\iƂ�J���3I�N��j�M�$�ѝ�;N$Q!ywQ}w�")��Yt⶞�9Q^����.@��̈́N�t����g/}1	H�qo�n5	�ėQ
|[N��2J4���tz9ct�H7��r��4Y�o�e�_�W�"�?^�=cz�lgs����"���h�ߢ�u�
+驩b���w_]|����
��	��(��������d	���P"=y0�6�|�'o/�vA�A�?� 1�0HO� ���å�a���bY��;I��W(-
+-|#tc�o�?PE��#z�ٳ�
��s�9�$�̡'�]���jT�|?W�߫$Y�Q�M��7���ś�:^�û,�ބ��6�fLM�
���b%�Jfyۗ��%�F���6~9
���jĜ���Ȇj
�i�`+�']�$�i�y� J�-����ģ~Y(��3[�ٽ$��e�EϘA�M���,J�A�(�*
r��E
;T���c �k�Y0�H
���*�w]�V�R��.�"�e���E�_IJfs)�髕�-&��U[��:�\n�j�.n~�n��S�5�
��`l��@��.��^�`�)�Nc�K4���mv�~����H�
��xo ,^v[

  V3�pj�6
+���&j���p�u�3�nj1`/�������"�I:}
+�|:�����x-���_vik��n��
�z�_$Q5��8��a�.�<{������q5�`�i�RV��h�l��"O�ݣ>�&ٶGo�`s*�0\'�
Z�#s#P��S֩
^�xU����YB�փ�Aoh�7�����i|N(�F@���KXtVq�����m� ��f����/�5>�
�	W�����w��KZ]7�e� �W��
��_J(�*�@�48
-퍫�KR-I%B��8�$��U��.�#V�
�B�E�� �V��(4��������
�,�R� ��E^̓j�O��������[�ҕ���]�������Kē����zZ�x��+�r
j���v�8a�M)Q��*Ij�`Z�7�g������y��͵wvcO-��
�R�ݥ2[
n�A	\p��j̘����t<ZYy}>��`pB
GW�
{xj]���o�:�5�3�&`��e	��G]Y���/�M����_xAӈ�e�&��0!��_��	a�����m�����~�����
�Ѯ��31
+�
+�$/ �iz
��^g k:�
����(����BЃ3��+g ��;�=�΀�Bם�F�g ���xoX��D�(]��G�p8��Z�G���o=1�����&��7W��%K���Ɛ��Z9���;��0�ur��1a�QJ�vH�2o$HLס���D:�ՁmR�} A��
+H�̨Pj����V�-f)й��c[h�{���8������UB�ϔ?-�R�I��> �D�tG
���
�`�P�̘Ϧ�
+�[�Z�8P�O��&�53��
��l� ��G�Y�ʪ�,%L�*EkR��>m�
���
��AL*�-_��|p	�VZ��H�:�����PL�G�^��kճT���<c��f���ɲ�o�U�Ϣ�C
��y=a����W��i�N��r��΂��D>D�؁&Fɦ�_�꣋&�C��Lt�\4h{u���'[(�l��o�c�˜Q�-
+���>�0+��EF���NNc
A?n���S�P� �Ϣ��-18�.��
ޤ

�@tK�]�G��>`S!������8m�R�S�
�s���z�C�r�;���;�|�huZ(�X�r�
��6'١tg��2>T�f������U���{�� r=�t�A
�У^z
z(�v�fˡ���Ct�m�
]�lwD�Y������*G�޺��#T�x�a�yD��|�o
�bT(d�'Tȏ�s
m˷G��
������*�7́u:6~E G:��x3��
�ê�
V��	������
y,
+��hhT�������
�fk[x�@ÀH�N at C5��
��8
��qh�)��a�D)��*�-�S�B,}F6�77դ�CY �4\X���*l���k�s�m 0�����9
{��+7�!�
k�N�'+�sӢ;7�}6R�A�vnZ�sӢ�M��ܴ��Ҳ�[���G7Bn�1p�m�_�������G��`/t�
Hp`G�@H"�	n�1�ڳ2ES@��W
���\ڝ�Z^�ʥ�K�s�����͸
zm
�P�L�\�۳����`�]����
�h"�O��?k
���M���g%T�䘻�NR��ձ�Y�����	����Z;y��{��x�]H�y�T�юd�Vh��s�B���bLy�Vh�6C
���ZHy`',�
+'��Oa' ����d'q&*J�'�l�5'
����,��}";���9^?�Os��̂���2Q1D
Y��N�b���~�@��)y
Q�m���{�,�U X�F�)��M�"�e�����#7M;=z=���ɬV<�ݭ�3ʀ���:���r{�Mѡ��U�ܪܥ��(����� _�o���=�x���p�ySJ��}H��}D��Ye��(wf?
�j(�y���*�������
���.
+�E7&^�9zx�yj���;��C�o"t���q?�f�!Gx�d���(E�LPSG�x0���� ��ib(~
xbo�Y
�ϲsY?_���P8Z
��բ����
Z���b����
�L��_[o4��a~
�M���+�R�䥹2vo�1*�>^�-����<��:��u�~0��M��2�T�ut`u	�E�;k�XU�
<�$-k/�Ͱ�䌔i�
��i�løft��e],���7��>P�h�9�=A�g�.�⛯/_��W�sD
����%.���j�/�&���a�\:�
F焫��%`��&�m4��|
��	k���)��|��|�2�H�5�
+]�7e[hL�cܣ剃c���s��*<kplXX�*�bM*��\l�Oa���LV
+]7�N>�5lمR-c�q��XO �æ�U�q˖�Na�pU�2���e�r�2Wm[�7WI�Rl����� ��tޤj�	]'i
'��G�|8�D
�����\�`D�Sw��o��cF�.Y'7��b
^���.
�2

��D��m��U�8^�X�1�gn���TD�Ż
�S��������!�@_����<�ǚ/�e���0�F��ϖ��v�y@���Z��ƐvV��>2�
�72ΖӉ1�o �~�
P��ũ/t19�.
4!���rf./_ۋ�gQ�;|'Da'_/�w�R�%R�:�G���%.���ۨ�:+�O���/��
�Ћ�R�m��?{vuw��
�8F��8BO{�J�}��՛/V�Z���i�R��2�y��(��
J(���B�vm~,+7��ڈ�P��9�����
+endstream
+endobj
+16363 0 obj <<
+/Type /Page
+/Contents 16364 0 R
+/Resources 16362 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16259 0 R 16260 0 R 16261 0 R 16287 0 R 16288 0 R 16289 0 R 16290 0 R 16291 0 R 16292 0 R 16293 0 R 16294 0 R 16295 0 R 16296 0 R 16297 0 R 16298 0 R 16299 0 R 16300 0 R 16301 0 R 16302 0 R 16303 0 R 16304 0 R 16305 0 R 16306 0 R 16307 0 R 16308 0 R 16309 0 R 16310 0 R 16311 0 R 16312 0 R 16313 0 R 16314 0 R 16315 0 R 16316 0 R 16317 0 R 16318 0 R 16319 0 R 16320 0 R 16321 0 R 16322 0 R 16323 0 R 16324 0 R 16325 0 R 16326 0 R 16366 0 R 16327 0 R 16328 0 R 16329 0 R 16330 0 R 16 [...]
+>> endobj
+16259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 696.486 271.126 707.39]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) >>
+>> endobj
+16260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.463 696.486 346.393 707.39]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.863 684.099 326.259 694.005]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+16287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 662.1 198.26 673.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) >>
+>> endobj
+16288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.478 662.1 236.665 673.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.067 662.1 353.317 673.004]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.074 650.519 246.458 661.049]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.306 637.759 269.939 647.664]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+16292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.464 603.804 223.57 614.708]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a26cdbeaa84beec1df0c9f86b73b20cfb) >>
+>> endobj
+16293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.75 603.804 262.938 614.708]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.197 603.804 359.613 614.708]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.224 603.804 400.951 614.708]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.288 581.132 212.768 592.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) >>
+>> endobj
+16297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.771 581.132 252.959 592.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.896 581.132 375.145 592.036]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.616 569.551 286 580.081]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.401 556.791 277.928 566.696]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+16301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.443 534.792 250.099 545.696]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab) >>
+>> endobj
+16302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.258 534.792 289.446 545.696]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.772 534.792 379.512 545.696]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+16304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 534.792 513.996 545.696]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 522.837 416.369 533.74]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.304 509.241 439.335 521.406]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 488.451 261.881 499.355]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a) >>
+>> endobj
+16308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.098 488.451 300.286 499.355]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.764 488.451 388.504 499.355]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+16310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.95 488.451 520.199 499.355]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.985 476.496 416.369 487.4]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.87 462.901 449.708 475.066]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.091 442.11 250.748 453.014]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) >>
+>> endobj
+16314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.068 442.11 357.317 453.014]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.405 442.11 456.145 453.014]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+16316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 430.155 202.344 441.059]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.005 417.769 446.071 428.725]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 395.77 261.881 406.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8) >>
+>> endobj
+16319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.022 395.77 365.272 406.674]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.052 395.77 460.793 406.674]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+16321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 383.815 202.344 394.719]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.222 371.428 466.67 382.384]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.933 349.429 239.984 360.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) >>
+>> endobj
+16324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.633 349.429 280.82 360.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.855 349.429 405.104 360.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 349.429 513.996 360.333]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.474 171.361 348.378]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 337.474 478.077 348.378]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.257 323.879 432.092 337.037]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+16329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.436 301.886 251.209 312.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c) >>
+>> endobj
+16330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.361 301.886 290.549 312.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.719 301.886 409.969 312.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 301.886 513.996 312.79]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 289.931 171.361 300.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.693 289.931 478.077 300.834]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) >>
+>> endobj
+16334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.114 276.335 456.992 289.493]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+16335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 254.342 224.57 265.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71) >>
+>> endobj
+16336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.908 254.342 299.838 265.246]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 241.956 347.869 251.861]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+16338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 230.916 196.297 241.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b987d283ce345c52b5d193c0688ad28) >>
+>> endobj
+16339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.439 230.916 279.215 241.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.718 230.916 432.878 241.82]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) >>
+>> endobj
+16341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.827 230.916 513.996 241.82]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+16368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 218.961 216.491 229.864]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) >>
+>> endobj
+16342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.094 218.961 362.977 229.864]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) >>
+>> endobj
+16343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.254 218.961 475.081 229.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 194.619 164.537 204.524]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+16345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 183.579 273.129 194.483]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) >>
+>> endobj
+16346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.944 183.579 352.41 194.483]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+16347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.209 183.579 495.961 194.483]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+16348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.978 160.152 275.007 171.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) >>
+>> endobj
+16349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.101 160.152 362.877 171.056]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.682 160.152 472.148 171.056]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+16351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.234 148.197 233.986 159.101]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+16352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 113.812 255.564 124.716]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) >>
+>> endobj
+16353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 88.876 255.574 99.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) >>
+>> endobj
+16354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.912 88.876 330.842 99.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 76.49 373.782 86.395]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16365 0 obj <<
+/D [16363 0 R /XYZ 89 770.89 null]
+>> endobj
+16369 0 obj <<
+/D [16363 0 R /XYZ 90 128.837 null]
+>> endobj
+16362 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F68 3032 0 R /F110 1507 0 R /F39 2320 0 R /F11 613 0 R /F66 3179 0 R /F42 531 0 R /F67 3037 0 R /F38 3426 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16437 0 obj <<
+/Length 2254      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�6~���SV��`� 2��3mRo�n�l���l���"ls+^JR���� �]$E��Ɲ�C"�< p��
%l�����חg��.rm�6.�
�r��/���`�Y�|��Am׆Q������˵|v���ٯg
a��	⎱
�>��
ng`D]�8(�аL
+�;c}��3\肛:ٸ�!
�0���
+|2M�/�W
����ċ8�gR��P탒".^�0ȅ������t#��-���^�<����e�M�]@����Q����>���
+?�{'yq�����rebs1a��R$��(߬�\���n���V�l�X�i�����Gr?B
���i5N�JqV��T
�L`!�1K�<�
�c -%���
���m[r��t��-І"
�	�R��-W��E
�9�aFܲ��"7����J�� �B-L
qLk!�WM��/D������Zn�0��AtS(򃖑�����
I8UX�J
+^�� DԳq��M��w�E~�D�F6���{�q�
*K�)G���E(dE0`��c����/"9K�\L��}xy
��,PK�ʕi"�"
+�>�,l-��}�?�,�*bX�E>���B�
�EOq��?�
M2(8]�:�Z`.�j����
+Z�]Z ����ʵ����b�M
�j�ִ ��� ��W�HKO�9j�8P2�·i��l���wha�h-H2Ѵ��>hA*�-w7�� �&�Rl����:7wPx�
�?]�����R�~u@�YpJ�I�C�MUظ֟
U��yhפ}f�E�@`%��{
�E�����|�!Z�4��_sF�xv~a:�ӧs
yr\�
�$)8l�<��7zC����U{���D*3�l�e��
+NMo�)6���چ�d�#�O�=jR��P�X
@�p��O�
�,�AT
�s�(�ʟ�#��o�C�*g}3�q�A�
3�|Z1u�ń�N2����#bO��OF	�����G%x%d�����T���~
�
+5�Z]\@?�p`+�#{'�+�LM{����e&���;ᄌ�����N��ś �7`�V�]=�iI�n�V*�n�o+�x
��b��L�Α�z�����T6ۀ�7r��Pv:8碚e��'�o|8��+�n:��g}41"�BX�A��\"R�}Ї���/�3(�S ��P��u�I��K
R���Aԑn�y�0�^��G0�_-��,Em���@��c}�XKۄ}v� �Ǣ�y5
��
, ��z�������"�/�]�x�A��!
k�$RϴOR��/����
�ʋ|1)'���
+�T��t�;��8"�G��'�/
����6k�ˎ/@MH>��1,�AmB�A�v�id������.u]k�
+;�>�_��w�t�܊t��
|�k�<�z���d��)Åޑ�nƤ:l
+W&��2�˸�S�&��Fԕ�n߶
���w':J�� eA�Pǃ�
+�������\m� �q�i�Un#�TcU�����*B��%��0��Hh5�ې�,޲*5�\U����X
$Z��#�^�i
x�M������e��_{
+�1e����i
z��kXu�K�5�=�@��V��{I7��Q�s�7�ж�"N�/ �\�?�Do� ��yG�?'4��Id�ܱ��I�g��fi���q��8�y\�?'w���N���K�m�bF}9z�+-�0����2
n"��
��V�F�N�0�rTkbF,]CQ����o"_d�cR�
��L��dU�gl�B��6�}:S�� &�
+7r�}S�� p��N&�@�h<��.ȶb��"�-���&���ރ
[���m��O��0��C�x�';�
�׮�����
�z��>��/C0��/�Mv�ٞ�<�ӟ�.��>Ȱ��f��WK�2� ��m��LncD����7
F��˓�l�A�gT��I[��FW]�Z�|���KYk
�����6���e� ���0u˲s��c���� �X�r*;f����V�}a�aT�S*�����o��kI��/��˛}�c��f̝!~
+B@����ʌ�����I�T�[
+���_d�4��y�=���f�y^����q'Μ&I!��
�����A>5����G�U?D��
�Wsn���k��
S�8R�M
��ӭ`�U=a�+�����x�\T
�e���w}��L��_*!/ڗ�<�CJ� HSMHE��(�T��/����\��8�B����<O^��_�o �7X�
��
+_�e�Ʃ(sT�*,���~�.E�
+endstream
+endobj
+16436 0 obj <<
+/Type /Page
+/Contents 16437 0 R
+/Resources 16435 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16356 0 R 16357 0 R 16358 0 R 16359 0 R 16360 0 R 16385 0 R 16386 0 R 16387 0 R 16388 0 R 16389 0 R 16390 0 R 16391 0 R 16392 0 R 16393 0 R 16394 0 R 16395 0 R 16396 0 R 16397 0 R 16398 0 R 16399 0 R 16400 0 R 16401 0 R 16402 0 R 16403 0 R 16404 0 R 16405 0 R 16406 0 R 16407 0 R 16408 0 R 16409 0 R 16410 0 R 16411 0 R 16412 0 R 16413 0 R 16414 0 R 16415 0 R 16416 0 R 16417 0 R 16418 0 R 16419 0 R 16420 0 R 16421 0 R 16422 0 R 16423 0 R 16424 0 R 16425 0 R 16426 0 R 16427 0 R 16 [...]
+>> endobj
+16356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.502 707.957 303.534 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708) >>
+>> endobj
+16357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.676 707.957 377.606 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.017 707.957 494.845 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.079 683.302 390.169 693.207]
+/A << /S /GoTo /D (index_limited_extrapolation) >>
+>> endobj
+16360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 672.343 208.508 682.248]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.637 660.988 311.746 671.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) >>
+>> endobj
+16386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.158 660.988 390.088 671.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.169 660.988 513.996 671.892]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.894 636.333 392.558 646.238]
+/A << /S /GoTo /D (index_bounded_extrapolation) >>
+>> endobj
+16389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 625.374 208.508 635.279]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 614.02 236.197 624.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) >>
+>> endobj
+16391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.534 614.02 311.464 624.924]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.542 601.32 359.338 611.225]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 589.965 214.06 600.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) >>
+>> endobj
+16394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.398 589.965 289.328 600.869]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.871 563.918 284.525 574.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932) >>
+>> endobj
+16396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.405 563.918 359.335 574.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.78 563.918 477.607 574.822]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.079 539.263 390.169 549.168]
+/A << /S /GoTo /D (index_limited_extrapolation) >>
+>> endobj
+16399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 528.304 192.566 538.209]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.197 516.95 291.929 527.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) >>
+>> endobj
+16401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.46 516.95 369.39 527.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.041 516.95 491.868 527.853]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.894 492.294 392.558 502.199]
+/A << /S /GoTo /D (index_bounded_extrapolation) >>
+>> endobj
+16404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.268 481.335 192.566 491.24]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 430.93 289.866 441.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) >>
+>> endobj
+16406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.681 430.93 359.324 441.834]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 406.876 290.971 417.78]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) >>
+>> endobj
+16408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.787 406.876 360.43 417.78]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 382.821 224.003 393.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) >>
+>> endobj
+16410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.34 382.821 299.27 393.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.695 370.121 272.49 380.026]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+16412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 358.767 254.15 369.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) >>
+>> endobj
+16413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.487 358.767 338.263 369.67]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 334.712 284.585 345.616]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) >>
+>> endobj
+16415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.401 334.712 354.044 345.616]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 287.743 241.726 298.647]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a5c5da855445b7c877a626d824dfce64e) >>
+>> endobj
+16417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.617 275.043 407.658 284.948]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+16418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 263.689 249.318 274.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58) >>
+>> endobj
+16419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.134 263.689 288.321 274.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.875 263.689 371.519 274.593]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 239.634 240.62 250.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) >>
+>> endobj
+16422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.958 239.634 324.734 250.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.313 239.634 389.5 250.538]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 176.529 180.773 187.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) >>
+>> endobj
+16425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 150.482 180.198 161.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a9bc768bb8d7d9b971b44b8b3be738963) >>
+>> endobj
+16426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 150.482 231.943 161.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 126.427 193.029 137.331]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) >>
+>> endobj
+16428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 100.38 193.029 111.284]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
+>> endobj
+16429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 165.911 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) >>
+>> endobj
+16434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16438 0 obj <<
+/D [16436 0 R /XYZ 89 770.89 null]
+>> endobj
+16439 0 obj <<
+/D [16436 0 R /XYZ 90 605.305 null]
+>> endobj
+16440 0 obj <<
+/D [16436 0 R /XYZ 90 193.582 null]
+>> endobj
+16441 0 obj <<
+/D [16436 0 R /XYZ 90 141.767 null]
+>> endobj
+16442 0 obj <<
+/D [16436 0 R /XYZ 90 115.72 null]
+>> endobj
+16443 0 obj <<
+/D [16436 0 R /XYZ 90 89.672 null]
+>> endobj
+16435 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16504 0 obj <<
+/Length 2154      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�F��\	��s�4�M�n��7�.�H
�"�Q^�P��}�
�H����N�
֐���{׼l�,l�x�����Ǭ .u��+��g�q�)���F>�/�xv9'x�y^�)���v͓:
+ߤ�:������s���b�����"!t�
���/b�2�uf	�_�t������a�hJ
��V����
[	���ˆ��Qu�-�2�ͬ���`����b2`�L��d��Qhz� B4��uZ4B�q���{��������Lw"�z���~۩Y�f����!�%]�rl� Q�]D���Ǽ�G&s0�LǍH���t� ףm���uԔf:����f
�|3�"�cN�)�Z�l��E

+�q�Z
B�
#;J��(����Z�ef�K��рw��ԚH�ife�쏗_�V�JES�(ךv*�=��Q;ą"�&@+�
�+Z��Z��6���zn;�2��E�v�1z�מ��S~���B7�9�f��?�MԤ��&�
��"��<�o���B�ߵВM^u*A at j�(?U�Q
�9S͞lg�
Qa�|�F����1
+��M%��Rѝ��g۹��-���ԅ[����o�
?�N�'�њ#6q̅��d_���+51�n�L��
��
e����z�>�Q#�1
��錢.�)�yYoC����Ͷ����,7ee���r�pq�ִ^ȧ���L11O��b�	X�����[�	$�,�,o�j���8�T�4=j̭c�v0ů{�)+A���P�����*��mx]|>��c:�yTD2
Y�G�w���>I�|I0`�"߱�>�8
��o
�u�	� �Czp�H�0�X�ͼ��]&1��t��@�V9��\���#��?�������D"F�nj�]ɠ�ԟ]n�so���oy���T�_o�X_q@��	�H� p�	;�����9Is^X���G��������J2U3(�Qt���i�1ɖ�b>d�hRf��i��L��,.��n!��Q��h5�H�I����	�$ȴ�7?Ršǒ�m��Pb
�}�b+��'��
�2b[
#��Տ%?]��10
	tԴ�� ��y�vR�n�e"�Gu��3��鹩Z
+KJH
�s�#�졠}P{�49\Z�Me2
=��\t��O,w�ϣ���L��g�h�ki�i�Y�$C]�q�B��P����C-�.��1	�)�5�s\^��t"�Y6<nTJ�da�~h~|i���8x�BKUf�j�n8���OΦG��wAX�3�*X�x!�1<|�q،M+��c4��&͒aNW
���z��f��S�'�<۔ *^7)
+~��T�Pqt����uf� ���+�Yܦ�6�u̱Td��ۃ�ξ�ǯ��_�^�y����_G
.��ri
$Q�W��j���X�� 9�}Y���=�AT���J9�Q|c�qN4��6��#�p7����!�$b�g�w��{QT�Q��l�|�
�.
v��o�T3�Qǟ�>��ʊt٧��Π��ј&
+��ז�
J5�C���
�#��jw at E�AʥSl��Q��� ̔��3�F��ի ,�ܤJE�k�x'��܎<PmG~w �}f���f	
+�6�>��^0��~�+�޽^&yQ��~~�`�
�t?3�&�����uh-��u��:H�{�,o�
`RBRxPB����'C.�C�
���=�_!}9�yzܟ���>c��Ox��@m�U�vm
�;G�Rlu>)i
���K��J��t9�p����
��C.�
]�n�_�]�����I���zG���D<�|�M+�L�\a2d�P�9
؏C
f6�uX����NR
���
+��N#`P�W��c��=�(
�2G`
��F��	_;�Z��1?4L�S@��OMUm0qy�e�����b/3
��Y���
/�N�]����<��F,�:-��ƑU��%�	�n�U�cڬu�P
+
+�`��E�?�ewy R����+����j�0��]!G{�����vC\���FUɮzR�
˦ރ���Ғq1� @�F�ߟr)�(�zJݓr���e{���{����n�K��+y
�Ģ�Q�iO��}�����iA��j��oki��?�������
�����Q�i���f%x�Bq��uC=> g�v76$��ࢬ�chx���7��������.m%���#L<u�
+�zm��
h^�]����ﮨ��N��
+endstream
+endobj
+16503 0 obj <<
+/Type /Page
+/Contents 16504 0 R
+/Resources 16502 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16430 0 R 16431 0 R 16432 0 R 16433 0 R 16457 0 R 16458 0 R 16459 0 R 16460 0 R 16461 0 R 16462 0 R 16463 0 R 16464 0 R 16465 0 R 16466 0 R 16467 0 R 16468 0 R 16469 0 R 16470 0 R 16471 0 R 16472 0 R 16473 0 R 16474 0 R 16475 0 R 16476 0 R 16477 0 R 16478 0 R 16479 0 R 16480 0 R 16481 0 R 16482 0 R 16483 0 R 16484 0 R 16485 0 R 16486 0 R 16487 0 R 16488 0 R 16516 0 R 16489 0 R 16490 0 R 16491 0 R 16492 0 R 16493 0 R 16494 0 R 16501 0 R ]
+>> endobj
+16430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 696.255 187.689 706.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290) >>
+>> endobj
+16431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.557 682.137 476.544 692.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) >>
+>> endobj
+16432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 658.779 202.902 669.683]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+16433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 658.779 300.037 669.683]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) >>
+>> endobj
+16457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 632.636 202.902 643.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+16458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 632.636 314.263 643.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4) >>
+>> endobj
+16459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.819 606.866 199.864 617.397]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb) >>
+>> endobj
+16460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 537.671 203.075 548.575]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 537.671 296.324 548.575]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+16462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.377 522.81 355.085 532.715]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 509.295 287.856 520.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93) >>
+>> endobj
+16464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 481.292 194.297 491.823]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) >>
+>> endobj
+16465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 452.916 188.759 463.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c) >>
+>> endobj
+16466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 424.166 294.481 435.07]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647) >>
+>> endobj
+16467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 353.232 161.84 364.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) >>
+>> endobj
+16468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 353.232 297.202 364.136]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.765 353.232 456.154 364.136]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) >>
+>> endobj
+16470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 324.855 161.84 335.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa) >>
+>> endobj
+16471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.178 324.855 237.107 335.759]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.672 324.855 330.138 335.759]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+16473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.937 324.855 473.688 335.759]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+16474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 296.479 161.84 307.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) >>
+>> endobj
+16475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.08 296.479 332.907 307.383]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 268.103 161.84 279.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) >>
+>> endobj
+16477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 268.103 309.386 279.007]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
+>> endobj
+16478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.915 268.103 390.859 279.007]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+16479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 239.726 161.84 250.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) >>
+>> endobj
+16480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.08 239.726 331.224 250.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 211.35 161.84 222.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) >>
+>> endobj
+16482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.559 211.35 307.702 222.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+16483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.789 211.35 389.734 222.254]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
+>> endobj
+16484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 171.018 161.84 181.922]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a1c30b772596f8f342d0f05b9b142a932) >>
+>> endobj
+16485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.33 171.018 274.93 181.922]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+>> endobj
+16486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.471 171.018 316.198 181.922]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.567 171.018 431.033 181.922]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+16488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 171.018 513.996 181.922]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+16516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 159.437 180.102 169.967]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) >>
+>> endobj
+16489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 130.687 161.84 141.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.58 130.687 213.387 141.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29) >>
+>> endobj
+16491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.724 130.687 288.654 141.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.43 102.31 261.459 113.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a249ea59c1765ea299f4d9471388aa5f9) >>
+>> endobj
+16493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.827 102.31 344.603 113.214]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+16494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.502 102.31 455.968 113.214]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) >>
+>> endobj
+16501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16505 0 obj <<
+/D [16503 0 R /XYZ 89 770.89 null]
+>> endobj
+16506 0 obj <<
+/D [16503 0 R /XYZ 90 711.269 null]
+>> endobj
+16507 0 obj <<
+/D [16503 0 R /XYZ 90 674.167 null]
+>> endobj
+16508 0 obj <<
+/D [16503 0 R /XYZ 90 648.023 null]
+>> endobj
+16509 0 obj <<
+/D [16503 0 R /XYZ 90 556.821 null]
+>> endobj
+16510 0 obj <<
+/D [16503 0 R /XYZ 90 556.821 null]
+>> endobj
+16511 0 obj <<
+/D [16503 0 R /XYZ 90 526.795 null]
+>> endobj
+16512 0 obj <<
+/D [16503 0 R /XYZ 90 498.419 null]
+>> endobj
+16513 0 obj <<
+/D [16503 0 R /XYZ 90 471.114 null]
+>> endobj
+16514 0 obj <<
+/D [16503 0 R /XYZ 90 442.738 null]
+>> endobj
+16515 0 obj <<
+/D [16503 0 R /XYZ 90 372.466 null]
+>> endobj
+16517 0 obj <<
+/D [16503 0 R /XYZ 90 148.187 null]
+>> endobj
+16502 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F67 3037 0 R /F60 532 0 R /F90 758 0 R /F39 2320 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16566 0 obj <<
+/Length 2400      
+/Filter /FlateDecode
+>>
+stream
+x��Z[w�6~���t�s, 	^�i��&q7����ާ�G�� ��TI*���;�
E�-'�K7/
sÇ�Թu����?oN�.׉H�s߹Y9u/"‡���n"8��z���!a��T��_.o^_�\���뛓�N
Q�i����O��J�%t��P�F�s��֎�]�Ϝ���P#
m��ӖL���sC'`�0�xϹP��ijN@��2�Ϗ���\o���8��Zt< �Z�����'"
N���㵜θ�����Ŕ�IQ��Zw��.ݛ����)�8���Wŀ L0"\�.�]#��3
+�L
F"!4%�"]k��[㌷?�8�f<����?��7��xHAf9��\��|*t�i����&E^M٤
_�'��ڣ�p�^�9�k�Ə����	��I��r)	�V}1`�.ߎK��.���Y�QA<�r�2ʠ� "~v��M��ո?As���e|�L�2��"�c����26�V��t���,�1™�|Dž^�8�����xp��B����߼H��V�j�հOXG��V�
`���V���1A�0�,�%��,5R��yR��
��YX��K'�
+4��;�@S��+M�9��l����6��4D
I�@��O���3"��u�=-�u
�ilx8�RB�Lj��]?��Bi �
�Au�
]j`�q��4����ت��t?���C�z��|=��9�>��r�YąGx����
Ȟ��
���L̈H��b
2:l����Q�����
���NĐw9%^�,��
i�24��#����!=���>
@�L@��)�8 h~�4?�����B����i%)%�o�-�&�,�z�,XȤP���#��am	Hj�1�n09`�-u
�K�x���9FM����V5��R��:��ʛg
�
=
+�b,T%j_Y�
2�r�[�P8�7y����!	8
+@��@k���Z�
� Z�z�V�24�p�"�s�VBy���
R:�	�Y���,`]����R(3�
�
�ܢv���{��w�O
��F}
+~���
�¯
����t
�^r�V{O)OR�ׇ�̳��m�"��c�f�'Ύ�5g��.��L-�h~R�
jU/
b����n ���
��Dt\�������Hx�:����~��Je:��4��
�m�ݒ�"���O�}B�� ����3�^��U]�x�93��L�����B�9�^�� ���1 Ju|�tUd�;�,�9���S�NB/��8�l���gS��c
���s�{O���G�� @u��D�R
yp�SFz8�,�5qc������Mu 1b�	����( >o��>���L�j����,�eWH�
��EQd�m�o�=��Ϗ��/��>��oe�-�A/C����\]n個�
';�D��^�,��̳�I�WCkx	�t$!ߡ@Hl,��KC�z��wݨ�Lwc쭮x���c���(�ґ��������%Ơ>��3�{ч��
���A�������t�)�M9�92^�s¦3F�2�d
��M�_�*)�M�/���f���
���f�IWUs�ݨ���Ui�
v
�ʥ�aL(o��b�?��To��m��gX��X�����lj\4��=�􌤶�W�8��6�]�{��}	���
u|X$ x0��.�	�|��_��ZTĔ��#��Ʀ&�����<'�i,���62I�,T�
q��%ds���>��dyZۙ���k�V�B��e�j#��s9��\���΀�D�&lZ%��LZQ<t�#8~��c]'B�������~Hq/�&jO*� Bڴ6��w�!�jx�UzlSTU�Ȥ~�
#����}���.;"�!�oL���ꒅ�ч��
���;	�k��esal�Ӷ�
3�D�
�Y�|U�A}�Z���
��TMӗ�p6J]����,#f36hu��u ��ibH�EaH3�\���|�h�~Кa�ȍj�P��6_�ꌆG]�W���O,��Z1���YwC��\3���C7
�`f���ھel�,6j���44AW�����.
q]�����~���*��
[�]#s##�_�iu4�m�(�p�T;B�Pʤ(���
Ms'
�(
�߰�ǿux9�tT�
�v<�	
b��r��뙓H�v��
�
�G���k�%��@{O�M1�r{
ٿI<�l��ؐ�S�$!	�檙�/�h��r�]�ا��� X
rY!e�dE�

+t6V��-λ����bu�Bn��gq��r��^�����٬^6�l�l����ކ��R�4���}h��ɖ�ut��z�ud�
�?:
+��9	�$>��D�ED�>��
�:ʂ���v[
�9�����u^�l�n�f{��[�V�2H|�h7����I7�[���S!����|k���is���P ���#���k�>4b��w�
+�`�B뮮7�gg��-�t�$)֏����("t�b�I7ׅ
�4_�7
i����7�P
+endstream
+endobj
+16565 0 obj <<
+/Type /Page
+/Contents 16566 0 R
+/Resources 16564 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16196 0 R
+/Annots [ 16495 0 R 16496 0 R 16497 0 R 16498 0 R 16499 0 R 16500 0 R 16527 0 R 16528 0 R 16529 0 R 16530 0 R 16531 0 R 16532 0 R 16533 0 R 16534 0 R 16535 0 R 16536 0 R 16537 0 R 16538 0 R 16539 0 R 16540 0 R 16541 0 R 16542 0 R 16543 0 R 16544 0 R 16545 0 R 16546 0 R 16547 0 R 16548 0 R 16549 0 R 16550 0 R 16551 0 R 16552 0 R 16553 0 R 16554 0 R 16555 0 R 16556 0 R 16557 0 R 16558 0 R 16559 0 R 16560 0 R 16561 0 R 16563 0 R ]
+>> endobj
+16495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.332 696.002 255.546 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af8c0f1f8dc80d82fed8943f2c5737d2d) >>
+>> endobj
+16496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.716 696.002 338.132 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.795 696.002 379.522 706.906]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.623 684.047 223.266 694.951]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.7 684.047 337.116 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.973 684.047 378.699 694.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.734 588.245 280.729 599.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a76c9012a376984a1b88823a59bd5bcde) >>
+>> endobj
+16528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.364 588.245 361.779 599.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.675 588.245 402.402 599.149]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.73 576.289 242.373 587.193]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.435 576.289 377.684 587.193]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.594 561.224 369.497 571.13]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.372 524.591 287.242 535.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad020ca98ef94bc16e1050da4e0d54971) >>
+>> endobj
+16534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.515 524.591 370.931 535.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Form) >>
+>> endobj
+16535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.146 524.591 412.872 535.495]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+>> endobj
+16536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.555 512.636 262.198 523.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.576 512.636 397.825 523.54]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.988 512.636 469.005 523.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.087 501.055 190.104 511.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.878 501.055 298.895 511.585]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) >>
+>> endobj
+16541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 401.511 226.034 412.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) >>
+>> endobj
+16542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 401.511 369.106 412.415]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 372.727 156.281 383.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a941caad4d0717e0fab30bf246adc0370) >>
+>> endobj
+16544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 372.727 208.027 383.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.238 372.727 274.168 383.631]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 343.943 180.54 354.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_af882ff84afd3c2507e17ffa62ffd20a0) >>
+>> endobj
+16547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 343.943 255.807 354.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.54 343.943 345.47 354.847]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 315.159 178.239 326.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) >>
+>> endobj
+16550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 315.159 253.506 326.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.239 315.159 343.169 326.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 286.375 156.281 297.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a941caad4d0717e0fab30bf246adc0370) >>
+>> endobj
+16553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 286.375 208.027 297.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.238 286.375 274.168 297.279]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 272.979 178.239 283.883]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) >>
+>> endobj
+16556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 272.979 253.506 283.883]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.239 272.979 343.169 283.883]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 197.611 225.75 208.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+>> endobj
+16559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.445 168.032 277.732 178.936]
+/A << /S /GoTo /D (index_representation) >>
+>> endobj
+16560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [443.233 114.542 502.79 125.446]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [100.734 102.587 174.677 113.599]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+>> endobj
+16563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16567 0 obj <<
+/D [16565 0 R /XYZ 89 770.89 null]
+>> endobj
+16568 0 obj <<
+/D [16565 0 R /XYZ 90 619.553 null]
+>> endobj
+16569 0 obj <<
+/D [16565 0 R /XYZ 90 448.227 null]
+>> endobj
+16570 0 obj <<
+/D [16565 0 R /XYZ 90 258.405 null]
+>> endobj
+16564 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F39 2320 0 R /F11 613 0 R /F93 763 0 R /F90 758 0 R /F110 1507 0 R /F32 764 0 R /F10 765 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16581 0 obj <<
+/Length 2058      
+/Filter /FlateDecode
+>>
+stream
+x��Y[w۸~���[�m�  ������6g��
7q�%ٓQ��]�d*���;�
E�r�c{��� 03�|s!H�M@�7��x��,
+R�<
��AA�,)�H�m|%9_D�R^-
e��������U�N~��Zv�;^^��,�zqA��;��
�Ske�T]*�'�g�_��������h��&�dyP�/>�B�L�Pypc��A�cx������(:6.�#�MI�A�a���sa6�l��H���F��rV�M�:�WM���
���~��#��S�G�<0L�+?h�-Xo�������
+ZE^�k�M�N��j�w)A���Uݣ�AN��"0��Zր���p�j4 ^��8�Q.i��A��g~Y���*��)mh�P�%
�"q�T����]��7�U�V�Z0ޖ�E�٥j�9�
�]�<�E
+�
#�S�F:���i
.�]v�7 y��fsl�
�f���=��n�U�W�
�9	
�V�%
߃h����8��3`A�w��Vu�q��Ƨ�|
���/��s�\�p���a����?���:��Gij}c
�oF9jЄ�ɁP����Pne�Q�W�8 D!F
��٨s��
H��C	��vrm�	%��T���6���JuB���+�����6�����,�������KKY+b��ĮaFh�Ȩf$~�i��.��J��t�5{���n��
��!Q:^�ʱ¸<eR�V� �p�/^��"e5��I5�!�n�ʩx��� Ͷ�G��t�!����S�>&�Fˤ,
���c���D�Y��$<�c_:�)&�G�`�b��Uee�r��y�R�v���Y��
�[H�p(_�����޺� �]�h��k�E	#"��2A�<�ײ���tH��S�lZ<����
�[��M
g�π��3
��n�����yF۽�6=����
?tvnu B
 �.�C�38�tbV�#��F'�IO�#N�OuM4.^B��'�vc����XQ��4��|�7���}����Q��(-uZ݁�A�
c�
+²Ÿ�;K�))2hU�"#i‚���iH� 4!ID#"��f�G�l#`Q����N����b�;� ��n���M��;��-r���%t�
�xث�<T&}�s�wv9�0ދ�g<�0�xtg� ��Gs����g�J���[
���=0
�����v�4��ٮJO�(?�8"�8)8���dEa5�ٹj���oQ!:��
�s�G�ew{�) ����9�B�
�d���ޞ3����c˴=ρ,�dN]B�F�b��v�T٬��Pص}��1.1���.�m�� ���C>���q�5��h�(4�j��"
G+?�X�g�Jy��������W{;ƒj
�����fp��]Ӄ ��8���� ��{�;B��8�ҨIUk����[K�����]������	��
���3���FH�n�����p#�B���5�8N�9��$w8��1�q��\Z��hҨ��v^.m�a��
y;q��ˮ��ݥat��`q�t�07|8�suR����G�<N��۬m�`_�>��&��/��{,2�x
'�ܜ�f|�m`6Y�f��{,¹��wf!!
��hڡ��g��U�繓17&�Sn
�V��
��f��j������s�y%��ʧ�?���%��~�
+̟R�c��y�)��`4�\,��A0��͡6A�:�^F��"�Vd|J����:��S�V�٪
'`}Q|�*�T�;=t
�yQ6�i��9Z�� Y���KI�7�Կo5f�[�#�
Nk��%��b��k0/�9�y�9$��ɸ�{.[�q4�� ӻ���L�S
6"�l����)��<r`� �
Y��E�C���Zf��mjG�����u�>���w��Y~�o�8�D�T}l͙��I9���!�����
��%H��G	������
f�i!D���oY���Y�oV�[EFL� ��i�^)��U�����e�yR���1ܒm���|�ry�hUoH	��
��
����w���7�㾪aro��k����I�r�	p�g(�e7�Y�n���8�G>���?�0 
+endstream
+endobj
+16580 0 obj <<
+/Type /Page
+/Contents 16581 0 R
+/Resources 16579 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16562 0 R 16583 0 R 16578 0 R ]
+>> endobj
+16562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.44 684.047 513.996 694.951]
+/A << /S /GoTo /D (index_representation) >>
+>> endobj
+16583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 156.301 682.996]
+/A << /S /GoTo /D (index_representation) >>
+>> endobj
+16578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16582 0 obj <<
+/D [16580 0 R /XYZ 89 770.89 null]
+>> endobj
+16579 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R /F7 795 0 R /F75 554 0 R /F90 758 0 R /F32 764 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16590 0 obj <<
+/Length 2263      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s۸~���[���B`2ۙn���%��ƝN'���%��H��bk�
�H��m9�C3�� ��; ��?�����`A������*Hp ��Z��]�)��~�c�b�H�,���_^_]��z���.��>��1
82Xl�����%t�`��j�mQ�"x{����toD��T/+!��%�	�8
+a(��4�w�vWd�9�2dZ�1׋��	�H�$�S�03L�6�A��UUՌ��6/ת���jiof���X6f�u�vUq�d˺*ݔ�Κ]U.-��y��b����HK��`��e?Œ6�QX�EU6m��e�
��9!(���B����
>�e���iFx�Ս����v^*f/
*	�$����7C"�%�IE!�'x�PL����x��P��T��1���sB)"
f���x�o����y�9�� /�Fp1�
}^�JS�3�ߚ7��$���Jt�a>t�$:r�n_��$̚�tk�<@;m���R�2;��aeˮ�,ڴn��u�5���v�
�1v>r�,�.]d��D%�RG ���\:�k2����]]��<mm�:+�:m��1me�Թ4X���3�:=ض[�y�)���
�
��q�s�QAa������g�;Mu���տ�E��î�mY�כTX�����9A�E�7z$BD�`�}g�|f]^�%0~�샒��b3A�DF\r��`
p��G�i��y'D��J{����R�
	Ӣ�T���
X
+/�L�.��蠄�R���`��Yc��ڹ�}�Z�˥��ʎ��M���龱HS��MvX2����9#a�2}�ૼ�0#84X�|��2�<l
u���[M�/��y���4ml���(��I�]�
+�>�G�/�7mae��ڄ�����Dm�K=��m^�����͵��Ӻk
�$����WcF���>�5s���͸Q
+t�ǘ��
��\�2�`�&�vA�	у��tE���
ߓ���v�u�dm�
�n���V�5�jc�r���hTͻj&�H�'j��j"�m���&;�56��ƥ��6��GV�r�`	J�����5
+tV�^�۬l`Rs
p~�mo��Ǩ@D(-���J
�`@N�x�Jâ�x�J�����5��TЂ�_W����ct�4T�C�W����;	
�����|T6x�����H9�]�֮�U��+���i���U#����P�S�H�G����I�����ToZ�7�-]Q/�(���^Zd���q�z�4Yk�M��j�$�v�2$ҫ���ث�<��:���~
�C�T!������!��۪�jos$,R��.����K��i�
+%�G�o�Y$Gg��H�;�I(7T&���c���&P$�
+	,z4�J!C�p��ݖ_��$��_��Ns* �k_���T�D
jNXK�j�NPM
+��X�}̄x
+�L 
���
�p`%��Zb����AQ�j����^�Swr�������C�x�|���HFL*`(fSy�my�>��p�O�h�2#`��wbf�� T����n���8<�3�U"3��D6#
+�󩌤�Ʈ�2����12�z��6�FgMhw��[A%zl`% $��ץ7Cm0׺�}%��$�t��
6��}�~������r�~�Uӥ�a�S	#h��y�
�3p~"�F�S��x��\o�
���Id���h
i#��B��O'm��QҞ�s�O�|���OG�C�K��|A��d�Z��_��t�MUD	F��4����o�>��!y����
I���e=AT�%��G���V��K��˻
�s�T�dжe�y�bD��� �ueq�s{JY�J�X
vT�R_��%plaF��w��
��m���fM
G��N���B/8�����?Z���z�U	�/3}s�ڟf���ӛ"�D?N�����nbm���׷�F��k�R
�r�;4�&�?4}�>��@
�*��<�?����ᙺ{a4Us�2,�`I���_߈Q}#l}�vFB7���Q_�ꚢN��]��ve��J�z���_Uu6���g�=(T�+�=�ұ_���L��6�Q�E�6�/
Wո���s�{�D
�1�X>�
Q�LZ0A��
�/�l�Aw��0!G4�O����~��<�:��
�!�:A 
���|01�'���G(�0����
tsl��[��f=�9��
��vР
Ƒ14�=(���uۛ7?��6Y��r����ܧE�{�]/v�G6��
�6ˬ��\:�2��a�yg�M��_\���MV�Ѣ�z:mF�����U���]�������PF
+endstream
+endobj
+16589 0 obj <<
+/Type /Page
+/Contents 16590 0 R
+/Resources 16588 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16585 0 R 16586 0 R 16587 0 R ]
+>> endobj
+16585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 601.013 217.502 608.54]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+16586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.588 187.773 217.502 195.299]
+/A << /S /GoTo /D (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370) >>
+>> endobj
+16587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16591 0 obj <<
+/D [16589 0 R /XYZ 89 770.89 null]
+>> endobj
+16588 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F32 764 0 R /F7 795 0 R /F75 554 0 R /F24 529 0 R /F8 794 0 R /F1 833 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16595 0 obj <<
+/Length 2371      
+/Filter /FlateDecode
+>>
+stream
+x��ZK������-`�
������#Wm��/��5K
I$ @�VԯO�O��ؕ]�!��`�����oz�����ﯾ��z�&d^����Ƌ��� ���`�Œ`�����,�ru���/��N%�\�K�JY�^��O/H��bI���dU��Oj�̚��
+�2
_P������׷W�H�=b%(�����߰���
F,��{C��8e�̼�W����C�w(�C慄 B���
|��/Uu��4��W���Zv��V�)ݲ,e���ؖroW��zg[�;�nw�
�G����N�tU�(�Tl�K��t�2O�UP
s	G���g)����i�Z�Q�
+k���������ܰ{����#(�!|�0�dI(�D�D�!�|c�
F��
��R
�"�!@�%��W���5H�~� ��
+{�N�)��J��ۉ4_p�\᫲N�2�^�2�6�o��^;�h�.����
\ɽ���qA�@*��+;ey�@�O~��C���U5
�F�M�\���}��fBq�h��IC�҄P��[x�C�
KsDB�ωxۭ��d�z݉�
 ��������jB�e�XkΈ�\����ү�����
+�>�Tn�\G�~�!1P�
	4<'�B�C�6
�F"b��2�������^P�0}4\0��2�md�YVh�޷�\I#��.U��X��:�是���t}��Ocn�ـ�V`�t/�j�0Q�0ȓ܃F��8
��w���ݴ#
v�b�)�!���K�!�$�u�\�4�5�'���J�{�v{�S���໧yߝ>�_�p"�CÚ�_w
[f��[]� ��;S�(�f�
�Z��
+�[��S�@]�\�,'�PkyԺ�)a��(%�QJ4s����4��N�������(@P��Rx
�R�cl�y�L�jF���������~2��A2��*�����Y�;n�\
s�Ә�X�O���Z%nsщ0Q�3���f���RZ����P�y���FW�&L	P-
��a�l�J9/m1"L�XD�u�r�j�A
�Ae|<�
+�
�W�����2��9cF#����/�����F��
[aˉ���"O���:��c�)���`��g�L!����Ը�S���W�C�'
�+:ݞk�� 1� ���*kS���VO��TP��^>x�g�7�!W�xb�Tv�~
qeV#w��y5�1#����&P��??�G�����͂Q���K�/>�Uu�k�Jҽ�u
T�"����
��mI4T��*W�FY��'H�{��m5��m�Ҽ���U{(
z6=
/�t�C�Z꿚ynZ����L{���"z����^jh��cJ����^�
�s��IsA�?��жz����{U�
����{�<]`8"�|�Js�o�.���A�"޿(�� ����2�#�{�f�n�+P�͋�|à
s
6=%��1@OB�t
�s�Q�� ��1��G�� �L0�(��\����T���� �E 
+��
+��
��7�[͑��
 
�g�;J-!�}B��Q+�O�R�� 
+�I�'<�ԣ��I�ܫz.��x�R&iHQ��u�/�+���@ٚ�Ed�s��Q�6�#`:˄�D�L�>H6�h1t����6��5�
6G}��ڮ*��:瘋�5(̘�c�Ƶ+f��'�V�O�u�`��`K
w�I�	R�^�[
+,t�Y;��s������ށ8ܿ�u���|�L�*|���M�t�� J�wn�p�`���z�\�8� ࠲S
+�_?��s��֪��g{Ϸg
�8��g;�ʫ��* ���ʾ�enw�>��Z�M����~z
�N-A��wÖ��>V�j7w�x��̧��-�7O���%�O۱
\B]IRsS�(0K����E�P��n��7]m�TuɌ��x�%v^�^��.�>���������I�m>o�
zL���]
f�Q�(x�3x�
�����
.f�p�X71:�b!��d�p��u�
i�����l��J�530)
��5�lK�H����	��PE
�LB�K�"��>�,,�j
+̜�JF�	�pמ��ʧ`���#�µk� E�nS�(=�y�N����b���X�e���-�q�i��12�5��\�,0��y�"f�&,T$j�Zz�&j(jH��<gE��>�E����N�X�'w���ʪ��ŷ'�%�v��������������Ǫ�&T�a�d�む����?.h~T��u64���!@?l�ܼ��Ar��B 
��?����o�d_{��D�	�u��+��B��kF����� 
]S~Wׇ�/^�
��ʷh]���#<٦��]�/Jw�4o����F�G�	
+�h���
+C�!5��Yl6��o���{
+�~��_U�

+endstream
+endobj
+16594 0 obj <<
+/Type /Page
+/Contents 16595 0 R
+/Resources 16593 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16592 0 R ]
+>> endobj
+16592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16596 0 obj <<
+/D [16594 0 R /XYZ 89 770.89 null]
+>> endobj
+16593 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R /F90 758 0 R /F8 794 0 R /F1 833 0 R /F7 795 0 R /F32 764 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16600 0 obj <<
+/Length 2288      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�6~ϯ�SW�
爐؇v&���t&۸��A�،#Ԗ\I����
�fQ�
_���$��>��9<ߡ�����]�0��~���@R�M�� {�HH�6�>���їɏ
��@B���ͧ��ۏ�{{��vr���[�#�����˫�_�7��=�X��o�CK�Sׅw��+\a��
+��^*d`�EF"�D at 0��ј`��7I���z�'�hL���+/o���6���&��<J�|��iL9b<pކH����~�.��	 "@L�����
4�;b")bB����}7b�O#B�ͳ��=(�S= ��D�>D�i����MΈ?����"H���
���d$�y�,��Ǝ��
���f@�{1�Y��G�^>谖*$��E��,�C�Y�>�c�bL{c`T D�/
쯗}KJ�R0
�
cq�v�$8L�[
i,;����	`
a��ޚ��M���va,��F`�����{�ʧ��%0	�C�,�z�h&��fn?��$7��̾8�s�Nbg�9�
'�����h1ˀ�ay�-�Qp�?�#���Q</��Ϧ����4�
cjfU�4Y�4�L�8rg�c�p	0��k�*|9\�ܤ���k�{u���-o�{ݸ(a���(Q_`ܚ|M{�!ja�^�`��^�4��2z�yK�B" �$���|���}Se㞸�t#)DB�\$��Zy
��o�S�y[���0nA$"�޿�`�
6y*u��X�Gh��L

:e�zGp�"I,�]�څ���a\�#c�
���;Q�~]��^m�
� ��I]r������0M���/�V�L<]$�n�<��g�/���-��i:�Œ�
+���01�9���T��n�"/��K�6��fˬX��� [�o�q4��b\�U�I�1�\�}�vVG���X�y��9l�9:��g��~�I����<���F �(���K۟>��p���9�P��e��_):����jŞ4�Hpe]'�w���GD��\�@] s_w��/٬�i������B�F]'����囇7�0�z%
�iё0Ӣ�
��]���}����}����ͧ��>�����מqRL��P���P�"קt�aZ��i��ʬ����B�Ed�r�������̇U
�z΋:@�U�+��Ijfu�:�#����Uv��r�6��W�)NOv�Ԯ�F0���#��⡥�<�”H��M��?�K��AK�0���M��e��1
 ���0 ��
c�_G�+���'k�4Y:d�D8봙��uE�qŮ�(�T$ʳ
��$�M��'G޾�
����4C�
Y�b�-3E���� S
�ԉ�ˀ�f��W��
{�:�E�ɐ��b�
��0
���!�PȤ�
�v
}�7���'NFC��cՌ�d�!�~�Z:X�i 4�1jHb�m�Hդa0��U���r��Ԭ�m
h_�>&H�V�zq\�O���m��홆:���k��k�,�	G���FR�=
vZ�&�f4xM�d���&�G
�_�E4{�d��:?H|��	t�E
+�iw��q��ԡ�J7e�H'�ib++�ꌧ���l4=	�R�u3G7(q�ys4ۈ�؊�0�
��E�s�+ k��óf;�0 at Z7����J�s�B��
0I^(	�쑗�|��CEZv���J�*�D�
('H� �Rсp�Vd�֊�
���Q�-G��@�m�f��
Z.���1�0?��R�g3�L��}�Z�
�J��!�����:�.F�
^��C����'���L�J���T�/�9��$�!���'�t�[,��D�`P�	�q"Oԙ"��
�W���޿�`Rʝ�
��
	:ȩs�2�
�`|�ʼD?g� J�b
�s���3��Ƅ�w[c�9����U=�j���"Lͬg���UO=����6㣙��̔����~D���5Az�Ḭ����rnܳ���Q�"�9}�N
g�	�sWt?�� �C�m�X�'�}�ۀn` ��.�6S�
�T�!�w�6��+��J��s�M�&��i
M��bSg
OV�=�$k�u8��W�n	�aa�=�o
ee�Q����O!�9d��|���|����|� ��aK>Û,
U+�ՠ���K�=)N҆*�
8̺����bO{��z�^��^���s�����.R�
�O�VGnJ�� �!-������fݧj�~�d���m͍��xk������|*��l���A��>�~�L�7����S?��:\��m���}X#����� �$#ؿ7���%�����*H��#8���z�������z��x��ɻ��mg�X5�|���LRS�4.�?x�
X�?fQ�u
+endstream
+endobj
+16599 0 obj <<
+/Type /Page
+/Contents 16600 0 R
+/Resources 16598 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16597 0 R ]
+>> endobj
+16597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16601 0 obj <<
+/D [16599 0 R /XYZ 89 770.89 null]
+>> endobj
+16602 0 obj <<
+/D [16599 0 R /XYZ 90 721.073 null]
+>> endobj
+16519 0 obj <<
+/D [16599 0 R /XYZ 90 704.201 null]
+>> endobj
+16603 0 obj <<
+/D [16599 0 R /XYZ 90 704.201 null]
+>> endobj
+16604 0 obj <<
+/D [16599 0 R /XYZ 90 633.655 null]
+>> endobj
+16520 0 obj <<
+/D [16599 0 R /XYZ 90 562.322 null]
+>> endobj
+16605 0 obj <<
+/D [16599 0 R /XYZ 90 557.839 null]
+>> endobj
+16521 0 obj <<
+/D [16599 0 R /XYZ 240.245 488.527 null]
+>> endobj
+16606 0 obj <<
+/D [16599 0 R /XYZ 90 481.887 null]
+>> endobj
+16607 0 obj <<
+/D [16599 0 R /XYZ 90 395.689 null]
+>> endobj
+16608 0 obj <<
+/D [16599 0 R /XYZ 90 329.646 null]
+>> endobj
+16522 0 obj <<
+/D [16599 0 R /XYZ 90 294.976 null]
+>> endobj
+16609 0 obj <<
+/D [16599 0 R /XYZ 90 290.493 null]
+>> endobj
+16610 0 obj <<
+/D [16599 0 R /XYZ 90 202.138 null]
+>> endobj
+16611 0 obj <<
+/D [16599 0 R /XYZ 90 111.786 null]
+>> endobj
+16523 0 obj <<
+/D [16599 0 R /XYZ 90 77.486 null]
+>> endobj
+16598 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16615 0 obj <<
+/Length 2371      
+/Filter /FlateDecode
+>>
+stream
+x��[[o�6~ϯ�Ӯ
�
/�-{:ә"��n��[L�b3����Jr'��{H],:�%��݇>
�P��G�;��;��`����7���%
4҂���!�8��F\�_��sH0Rt4&��fDp���fDq��׏f��w��<��WW��Qa��Ɣ���<.���g�`�3�N
�e��!�|�����w��]@�R!�H�`����Sh�!��i|u�AD\�����.p=)�(���ROl�S$ҙ!��������sH�kĄv����Q��n�=AE�+�͈QX�!a���PL�js���T;9���gD8��v�^��_1ǣq$px;��͖�<���<.�xYg$GL
+ ��\ڮ�T
}��G6�&YZ�U/��4BX���&5y\f�ݧuQ�E��1�Q��1L_s^
�SR��hMϊ
cľ��k at j��ۉ J����e��fR����
y/�
�����RD��ƾY%�i�OquY�^�x�C�-�E��>{���f�
+d1���D" �knM��$}4yR�ʦ[��'��4Y��H��
ۮ훻���o�
FZ
X�4Q��8�������oo�����zh�mG%A�$���
L��k�A�r�Q
����V���^�
5�	.;.[��ղQ��	D�aS 
����l�M?�6<��~�
 ��a��g‘�dH�
m�bfH����[K8�X7�
��y0��Ӆ�gt�c��c�&�l'��Q�:yV�Y &9QC��d�G&aJ#
�Eu���ib�%
�!���{�,W
�$�`�9g
+�
����۲J�J�-�a
��
�H�j�	
�;,���ΐ u.P�ӫ�$
E8�=�'�;��
g+8�����8B
+<n�y����2A�&�LT�	0D&����1�F��_!sa���Cuu�μ#�6C��K�0��[��8��
IQ�,�d�e\&�sS�|M�Ǟ7(ȉ��R�wP��RM�o���M�z'ք�ʹ ��@D?E��I}M���1�eY���V���Ǹ����$-�C1�U��d���g�i�~�/���<�Z9�^�ȗ��x�j�[O
@�zP^�[���V™•�•
%\��O������#�'S�
J��&��v�C�"���l&����]��U�g�����h�uH���U�.�@g�^,us3�	�kS�?4�К7�M�D�an�%S�E.�AEo��䅢�L$���C�J��tܻ�L21d�dp��<
�*���s�ݪ7�I-_�z�C�ϛ.
+���&�{�{�fw
+O���e3�+z�pބ�e� �G�|�6L�d
�f�sPP�H�w�i0H	�6��7�xU�*Ce$�U�m��4.�qQ�I��Mݸ����l  ���n�
+'�y���
��ks1�G
n��(	��t�p
z��-&%$8j���������ۚrPE�x�өX�e<)�I<�����������N�	鏍��R�]�oi��]�M8ױ<o���<y=vSL��&_Jʓ-��
+�@d��^�b����J�W�Y�*u��e���3�P
�K�7Tj�y6e����V����G���
u2{v�3X�\
#αy�
E��*C�e(Y��`�s{��E��PiuvK���T$��<�\/M
+���gtx�Z�;V��6W��}�	�����}��C�� �S1�0'I#7U��Y�*�E��jGT��|����Bp��ά��b&���٘���{�/>$��|���7�S# �Xn1��ܩ^:ס���c��c
�
N�qL���_�#l�f2[j{� ڂO��-��yJ��]�5U�a��d�pv��1;
+�
Γ�����6T픾��/wo����û_����ጂ�JF�f�W�r�GՅ@y�7/��ӎ"�;-���m>�w2\#��>N���|��p�-�ΏYQ�x���ia��"�絕tZ
�Ih��x�)�LQn����Q��X���~�w��:a���l�I�:�VƉ���
F�m��ԗQH�Y˦��7���:�8�P�ml@�2�E��IӃ8��(����3��*j�+8Oǽ{���`CV��X�<8R|��zpґ��0K��p�:���NGK

�.�-sS�"˞�w��Ư������&��j�j��+z�YB�^ M�ش��R�w�
ô� �3�
鶭������i�d�f��
U�;
���fĝ���t�ե�E&��d���h���IU�~�N��V��l�=vM�S������8ر�Ϡa
�BD5��
�j+���|�n�U���#��t��C^}2�D��7�
�mJ�FcR�1��*��	��/\���B�M���,�W����ľz�yw�!����C�S����
+�
�̨��-1AB�f%`1���DJ�zt���f`�py�`�w,�O[��_
z�
+endstream
+endobj
+16614 0 obj <<
+/Type /Page
+/Contents 16615 0 R
+/Resources 16613 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16612 0 R ]
+>> endobj
+16612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16616 0 obj <<
+/D [16614 0 R /XYZ 89 770.89 null]
+>> endobj
+16617 0 obj <<
+/D [16614 0 R /XYZ 90 721.073 null]
+>> endobj
+16618 0 obj <<
+/D [16614 0 R /XYZ 90 640.379 null]
+>> endobj
+16619 0 obj <<
+/D [16614 0 R /XYZ 90 574.337 null]
+>> endobj
+16524 0 obj <<
+/D [16614 0 R /XYZ 90 527.711 null]
+>> endobj
+16620 0 obj <<
+/D [16614 0 R /XYZ 90 523.228 null]
+>> endobj
+16621 0 obj <<
+/D [16614 0 R /XYZ 90 434.873 null]
+>> endobj
+16622 0 obj <<
+/D [16614 0 R /XYZ 90 344.521 null]
+>> endobj
+16525 0 obj <<
+/D [16614 0 R /XYZ 90 297.896 null]
+>> endobj
+16623 0 obj <<
+/D [16614 0 R /XYZ 90 293.413 null]
+>> endobj
+16624 0 obj <<
+/D [16614 0 R /XYZ 90 181.147 null]
+>> endobj
+16625 0 obj <<
+/D [16614 0 R /XYZ 90 104.543 null]
+>> endobj
+16130 0 obj <<
+/D [16614 0 R /XYZ 90 77.486 null]
+>> endobj
+16626 0 obj <<
+/D [16614 0 R /XYZ 90 77.486 null]
+>> endobj
+16613 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16630 0 obj <<
+/Length 2133      
+/Filter /FlateDecode
+>>
+stream
+x�ݛYs�6���+��J�q~l�d�����}I3
Y�e��Pr��.x��(���L'3�ab�K��aAaDE�
�}y9��-��t9:{�X`��T�7����		�����r���U��F�H�~���7���\��=�
}
�H&@ ���f����+��
|N/��2x]�F���Y��p5"��L0�1D��
�9G��BNj	��x�p�,��ކ��nG�(g͑P�6��g�f��4�2���0l�
��hS���(�%2�1�b�(�;!d�p.�6�D��������zu�̒�T��ϛ�L����yR���n
S��
��?�8�}^�n'S���o,�d�%
��h�kq��tU{U2[E����Q��KȮ D�.�2	�
���"�t�"� ��5	(Lu�fvg/d}�T�;� .F�l��pw�D[� �xwfo�۟��h�}�w��0j��� �
Xx>�u7 2��T��v��=��*���v�ͮqL�q\^4�
5�Ep&P
1Z��E�@F�j"�^�飱"SF�"
�V�O�L��/��.����}�(���o�:	)A��t�4��*ߵ�=�LH�&��� �%��|�K�4E�q5����#�E!$	����,��J��m�D��Vg�[����	��O��jqI����~Fy�[�9Ҙy��AӦ��qD��2�
l Ӹ�^�&���<hW7-1ʡ�Ir��L���]���e`Β<�+X�-�t���
��u��O0�q��"��~�t�̃�#
�]��#��� �hu,�@��P�#�i�B^T 쑘�*��
�}��r��z��|x�R�8�@��vq��=
��h�@��=�V��>{lx|+�QG$U:�{����C��0u�{T?�	?�H~��}&��L�GĕO쩉
�=��3�
{|ZZ`O�Ԟ��X�]`OW`
+(T�Fn�u�����(ɸ��� ���k���.�0��
s4�H��C��=���
�=ԏ
+{sU�=L�P/�
x��{T'�p]��,��0��-
 �� �]�i�
yΔ[�6���>R"����
g\���C�~�剃���{8d?��׌z�)�p� ̉O
�=<��*o���҂{���
���ݳ?0���$�r�����)ɘ��� ���)p;I]��)�2}
�9--
�B�F�J��
)�DC�T�U�d��*8����j�apT8
+Y�`pc��@��Q��Ul����
���
�����s����7�ݛ�=rTr?*�
+U��7g�O�[���:{E+=�<c�
+����� ht�-�A�;�!
�9�̐q�~�H�j
�'IЏ� �銄
���3�|
+;e��t=#f9��mŸ@f�N
��ߖQ%q91���FN
�,��5�'79v��&7�
n�r0R���.�mW�|p�'�&�D�L��m��X
 � Q[�p� ч��$ꃎ
��@G�(��Q�(6*�z�5^x
	ʨ��}��
+7u5�N�R�+w
�,S��Μ �$��/a�:'ߖ��C�
+{�
�걖նq�
�3��:5R!e��*�
��J��"
+�|*
����}���t�)P���i{*�D
+���
|ZZA�ԞH�X�	:b�5c4�wy:�^�w�y�Ց���-U��>�6z��{���������[�Ӄu�̃�@����3����xB�@�%�
C��ұ� �=h��r58
+���h��Pa
+IC|�Ƹ
G����x^a�ɉ�i%�7i�ygױ��S�9Gq�$�wS��Y�=^CM�%WϿܥ͔p��s
+	�	z��N�c��*g�?	�"��@�&!�Fo���U��?t2D|��-����"O�_ v���3;s� �����TKL}��^tn˩9�۔����	d�tf���Xs%q�( ��C�
�,�̵�'�����eG�mٮq��i��k�z9��\{�$�w�4Dd����'�탱�؟�Տ��I����0&*�u���O�X�ɿ8�eÂ�cV����i%��bmk/�ۧO�kr7�=���u���m��8b���f��l����������mF�)#x�.
���o�����_k�@Y
��vw�gg���m-�<�"�JW����en���&N�r_n�gJ
+?��#x�3:��
+endstream
+endobj
+16629 0 obj <<
+/Type /Page
+/Contents 16630 0 R
+/Resources 16628 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16584 0 R
+/Annots [ 16627 0 R ]
+>> endobj
+16627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16631 0 obj <<
+/D [16629 0 R /XYZ 89 770.89 null]
+>> endobj
+16632 0 obj <<
+/D [16629 0 R /XYZ 90 655.872 null]
+>> endobj
+16131 0 obj <<
+/D [16629 0 R /XYZ 90 621.202 null]
+>> endobj
+16633 0 obj <<
+/D [16629 0 R /XYZ 90 616.718 null]
+>> endobj
+16634 0 obj <<
+/D [16629 0 R /XYZ 90 543.856 null]
+>> endobj
+16132 0 obj <<
+/D [16629 0 R /XYZ 90 509.186 null]
+>> endobj
+16635 0 obj <<
+/D [16629 0 R /XYZ 90 504.702 null]
+>> endobj
+16636 0 obj <<
+/D [16629 0 R /XYZ 90 431.839 null]
+>> endobj
+16197 0 obj <<
+/D [16629 0 R /XYZ 90 397.169 null]
+>> endobj
+16637 0 obj <<
+/D [16629 0 R /XYZ 90 392.686 null]
+>> endobj
+16638 0 obj <<
+/D [16629 0 R /XYZ 90 331.778 null]
+>> endobj
+16198 0 obj <<
+/D [16629 0 R /XYZ 90 297.109 null]
+>> endobj
+16639 0 obj <<
+/D [16629 0 R /XYZ 90 292.625 null]
+>> endobj
+16640 0 obj <<
+/D [16629 0 R /XYZ 90 231.718 null]
+>> endobj
+16199 0 obj <<
+/D [16629 0 R /XYZ 90 197.048 null]
+>> endobj
+16641 0 obj <<
+/D [16629 0 R /XYZ 90 192.564 null]
+>> endobj
+16642 0 obj <<
+/D [16629 0 R /XYZ 90 119.701 null]
+>> endobj
+16200 0 obj <<
+/D [16629 0 R /XYZ 90 81.969 null]
+>> endobj
+16643 0 obj <<
+/D [16629 0 R /XYZ 90 77.486 null]
+>> endobj
+16628 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16647 0 obj <<
+/Length 2668      
+/Filter /FlateDecode
+>>
+stream
+x��\�n��}�W�)� �������b7��u�����%�V"�^]�3��T�I�M5umO�`DQTuU���SuF��S���W�^���n�W,1�H*��ibp��AB»I�q at 0�t8"��ݐ�A�\�wC����s6Y�?�
�����m����A�GT��w�t�r��dӬ�,���e\���j������W�]�
'�y"���xq��N&p�'�����-N�Γ_��z������!��Vd�!UE�Xs�1���2�]����0Vb��s�"�M�ܮ;Dd(�|�2
+8$d��v�J	&��r$4�<pk9
�A���;C"`Moo�M>Y��ƘB҈�1�����m�
X���K�Qż��ya'����X���w\䫵u����l�Q�9ͳt���ˋC�j5��Q~��h����;�!��ȈI�0���3B�G3;/���M@��'�9���<��L$���8�����r��q�l�`w��	�Ek��_��f��B#0�a����M�
�R�8&�C��K
i>qE>����!G�5�53�o�*?��Ϊa�K ��m@E� ;j�|��
�9�Tm���o
�׌�~��B�1dH��f��r��
Q%f
+.$‚:����5`n�[�{En k���%��	�ܗ���Co�r��[�DĘD2Ȕ��
O�m�%�J�&��Z&����Emd�%Ӗ�[�i�
+�c�D`W���ZOnoP
>�����/S���"��n����4fQ#�xƴ*c
����CCFf~���K���={�Ù,�I{צ��v�
���F�e漟�`�l&��q�xI׳�y����`»���L2��n�Kl
dc��
���� 

�A��{N[[԰��N��[G22 Z,!SB�

����b�o�TOGR��$��1�;��0D��R4D-�-\���7F�I87�Oi�+�)�Y:�UY���e�������K`� �	Yh��'.�?�	�K[�U/
aj�LϷ	���$N�0jwI;��u�s?�j?�
�@�r���%�m1�Y����|SJˀ�Z�t,��pd�Ô�Ӧ�
6gIi텣���>��
*
+F�
f��I�
1/��"[���n
�
Ba��̺
i5Hì�Ǭ�q

� >ۿ�j����GL=�]��\Ð02
Y��<?�� �8���ii�����~�.`�-�Ŧ*>[���7ՇuYa	�f�MN��PU[U	pWקQy��lm�(dp���>��|g�>�zH
O%�[,Ӣ ��(?�G�9�A �
+��^�/HB��'�H
+7/���(�v�*ϗ�q��v���Z
��E]��׊
�U�j���l�n�
�5�ʊ>v%���(;�`��&�~���9���
杩8`�3ɶ��m��p���(_�H�mG(�P�.�uQ���
�\���A��H����
�4��DF�I 9
�&G�2O�H�<i�4��b1��
+Kg�ѿ�'W1�ۢ��H�ժ5�
 ֦D�n
�Ǔ#��t�/������K�v�>��t0���΃�,��DG���Y����M�
+γ-
�P��0�p�a�d��7g�������۲D#�x��w��%�ou�F.o|�
�n|w"=��������_��M&�������."�
�]dtU��8
�7:ƪ)$��/�7�
��2���7���i�5�G`x���U����u`lBl��tm�p8��`Ɛ$�;��lʹQYO�J�v?�)��������v��m3��n�
q
�tT����
X�ى�lZU�|]l��Mio_����6k�Ŝ��0e

A}a��2q����Z}�<xW_zD	�m��x!�>�� 񆣒qQ
+��/p�Z ���'� UV��Epui��#l!#N��ҋ3,��8UG|��G|�l����A�B�&���U'0{�D������=��$�>J���{l71(�<<%����n^|�|�5�S5��-����b�W���s��B�� �:��/�N���0�h��9���]$�/IN?
�1���-��5� �
+NT ���t��"W��Uϕ����Y��
����
�9C�Ǖ�=�=Qk�Г0�۞|���(��
Lb
S �n�A�A�#*��+s��t�'a(�=�Fj��q�/=��&fC?�E&%3Q�&j='�M�T�<_��Ԧ��y���C	L��&Ogl�%8��?,���4BS@&�
n�J�V�{���pm�����N�$.]W4O ���,����[=x������� N��;�'k��m$.]��x^�6��k�碷@b2�����Ǽ��S(�����sנ�� ����6x��J�\0�E[���	cj:o`�%[�qSlm��Dl%��Y����1#���N�g��^��rk#���b��L��&Oߚ��
ʭ�ea���V}1�L �5=!!�
UbtXk-�~Pk
Y.{��n�W�w]_�^
�Za���pHj%HK�
}+�Zz�Vȉ2��ʑP������FP_
1M��
�������Nީbm���R�(;��B�w��]5^�
+��0�S�����.��ʖ�Z����%�7�|�f:P-�M?���c�m����YV����%�՟])�u�*�B4���^����<n�VY������=�� x��M��{Q��<���d���⚴�	���3��L?&���i]��_�n���`ɟ
+����6�T%
+endstream
+endobj
+16646 0 obj <<
+/Type /Page
+/Contents 16647 0 R
+/Resources 16645 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16644 0 R ]
+>> endobj
+16644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16648 0 obj <<
+/D [16646 0 R /XYZ 89 770.89 null]
+>> endobj
+16649 0 obj <<
+/D [16646 0 R /XYZ 90 655.872 null]
+>> endobj
+16201 0 obj <<
+/D [16646 0 R /XYZ 90 621.202 null]
+>> endobj
+16650 0 obj <<
+/D [16646 0 R /XYZ 90 616.718 null]
+>> endobj
+16651 0 obj <<
+/D [16646 0 R /XYZ 90 534.032 null]
+>> endobj
+16652 0 obj <<
+/D [16646 0 R /XYZ 90 443.282 null]
+>> endobj
+16202 0 obj <<
+/D [16646 0 R /XYZ 211.842 379.033 null]
+>> endobj
+16653 0 obj <<
+/D [16646 0 R /XYZ 90 374.395 null]
+>> endobj
+16654 0 obj <<
+/D [16646 0 R /XYZ 90 279.908 null]
+>> endobj
+16655 0 obj <<
+/D [16646 0 R /XYZ 90 164.85 null]
+>> endobj
+16203 0 obj <<
+/D [16646 0 R /XYZ 192.853 83.504 null]
+>> endobj
+16656 0 obj <<
+/D [16646 0 R /XYZ 90 77.486 null]
+>> endobj
+16645 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16663 0 obj <<
+/Length 3034      
+/Filter /FlateDecode
+>>
+stream
+x��\Is����W�Uf��ES�$�<�L��R9x\.�%$$`��5�_��hlM5.mM��� �����~�#*Fw#l7/��݅�o����� #�
�,G�7HH���
�'�o~1�1�*���?ݼ���=w������SxD� ��
��W����� fF�
ʋ�#NlW��W��žf�F �׈D�{2�HS���)��o�|5�R��o&��g�z�X+��Ԕ�6�t��h�h�X�%�D{J��0:5�OE@J%�Z�ЀR��R����bVL�z���z_�	�<��^�Y�N�W%n�~�Ƒ9���fk��qA��fɬ���׏ �l6i���<
��!S��w!�{	b�� �*Z�����2Ƒdd4��
+�d�
�t�&�6���
R���4[&
$ ���?q���Q�� ��Ej+���`�ƢYnOb�V�J�Pc׳�
]<
��Z-f��FP��n..�<�x�[��#)�Љ���\��OV_�.�V ���0�����{�$�#�
h�����6�'0d���-v���
+nB���'j	J3�e
��g�/n/]��)��-$"��FcЃ��jܧ�a56�Y�u;����K���g(�Ds{bW��ϸ�w�"��]��:���	��S��������0U��g�ibYj�p���ˠ8e61�{��lc��� ��I3�z׻����2[�����돻m�@
�����)F�X 
+�W���
��u�M
+6���m03hϺ���~�� hm��@/Q'��~]��[�� uP(
U�Ku��s��U��"bT��
|P��#����t�0J�D�*_��r�2P��:�V��a3w����*7(
���n��̷͵��f`"��k�bk.���0
+.��a�
HQ�
Y��2��
'
+��B��$�!��3��Q@�L�0���4H�v뤘m�
+���H�z
��6��A$�*&�bK,�$
DKF�b	C�EL���1X�P�0���4XZ$Y��k��|Cz�^��Րb�CSt�M
+4e⠉ڴ��L
��d�.���e�x�Ɠ�K��1�rw����-�\�nA6��:#��6�ޕ�0��DG���a����E��γ%����m�|$F�R7U/~�'��
��G$ł3D��_6��	c_�[�̮�3�@`K�%��Z��a��⾒Q$���u�3+�#���v�]\_C���U�� Y-S�;�
+\/�:(�Hc�N�
���g��N��;
+��v�����H���l
����㆚����!(�Q�}XQ���V�4�u�l�ޮ��dL^�����ɋ�l���`�aV��r_-��
��
�$ݶ
S����ݼHa*��gE�}�e���4�
�õv��MkG�����`��aM[k	a1~����?�(�q�S��*) Ĵ�
����3�~UHQYv��^�{PͰBS�5\���R'ړ�9b� 5�p�,�~�m����i.
l*UҼ�fû�w�j�wє���
+��Kym%id�i�
�1��
��58�w�!s��`� ��=�va�7�Ч
V)'{M�!��<2s��
d�a>�[)�:������"�
��<D� ��qC��b��$ S��
�.��5�jzx�p�/ux��B��yc��$��7�ѓHq28zM�r�{|��3�X
@���-|����\
����칀�i�3����Y��"	�?��O���dѾj#�����
��kQ�N\S6D�3�X�
fJ�jb�@MO��.T&�U���?���~�I��ɘp�-��YDe\��	�47'�MjsW�����7��A$�1	��
�8$�X��d�܈�
5	c���S�M��?� R�
��
��"*�Tvq�����B]�t����
�t
:�~,�HvX��-ѡKD�@��ʎAp
+�7
1�Ƌ֝Bx�)�r]%�u�@~Q��Ͷe�g�lv�y�,6��l���V�M�v����2jk!{����u�v;_�]���:��j%kY��>�����r2X3m{�(׳�� ���Oc\)��{�q��#EHTr�+�,
�2��I�vD^¹R�M�,��Қt�3�L�ճ��ڰ���X�2�Pe�]���
��Z�
 ^-e����'I�]��A��~Le�נ貃K�mVҴY��f�#^aŴ0��]	�z��-�Jz�����@��	�C��qb��K�\�i�,�
��_�wiq�c��Mp.*�B��t�91D�
+�G��:\b
C�
+MKQ�Ӿ�,�
+�s|O����e�|�%�|�ƶ���d�n]�w:w�b��77��f�'�OrcJf(0w�:k�(��`�q��c�JYB�����I��-5�"�R�I���g���?�lY��*�T���:δ2���w��^c9� �_
c�-�����l���o�?E�N�r��d�������/)Q�����K�W�ږE9���9��mu����SI��~ˋ��&������<J�l�
�Z��6�Ł3������ޝa��`�g۲m���@؀�	2���
+��#:��@�e���O��ĸo���2�AR�-Zl�A>1�K�@����E�X�K��k�Q�\�%RT�N�^�K����r4����
�f��-n�%���[Β*���g�ڏL�W�"".��q
���CG��E
p��_l'�t
�z�*A�uuyj��
]
Ǥ��Q�ؒ��5�ٟ����Wo�g}�&ٺ��]�%�Mzp�e�n��Ί��7�H����ֈ}b�t9!�`�+%�LZ���C���N�f���ک(�9������
H/�t��i�S�>Q�B{ľ
�\_�{ehV9���u[�텉�&S�g�ߒ"?�+:m�������>�GɎ��6����������*�
���/O��T��Z��_s֊���i+�^g`)���	���n�͛�n矛���D�q��6� Qq���u[�2~��"�^

�Mj 9��Ө���2;��n�X�ۏ�ϟ���`��!X���f�
+���5Ag�
�	�%��'>���Fxe�
+endstream
+endobj
+16662 0 obj <<
+/Type /Page
+/Contents 16663 0 R
+/Resources 16661 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16658 0 R 16659 0 R 16660 0 R ]
+>> endobj
+16658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.931 77.835 186.185 90.169]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+>> endobj
+16659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.668 77.835 272.341 90.169]
+/A << /S /GoTo /D (index_Grid_Frequency) >>
+>> endobj
+16660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16664 0 obj <<
+/D [16662 0 R /XYZ 89 770.89 null]
+>> endobj
+16665 0 obj <<
+/D [16662 0 R /XYZ 90 646.048 null]
+>> endobj
+16666 0 obj <<
+/D [16662 0 R /XYZ 90 555.298 null]
+>> endobj
+16204 0 obj <<
+/D [16662 0 R /XYZ 211.842 491.049 null]
+>> endobj
+16667 0 obj <<
+/D [16662 0 R /XYZ 90 486.411 null]
+>> endobj
+16668 0 obj <<
+/D [16662 0 R /XYZ 90 391.924 null]
+>> endobj
+16669 0 obj <<
+/D [16662 0 R /XYZ 90 276.866 null]
+>> endobj
+16205 0 obj <<
+/D [16662 0 R /XYZ 192.853 212.616 null]
+>> endobj
+16670 0 obj <<
+/D [16662 0 R /XYZ 90 206.599 null]
+>> endobj
+16671 0 obj <<
+/D [16662 0 R /XYZ 90 127.449 null]
+>> endobj
+16661 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F8 794 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16675 0 obj <<
+/Length 2576      
+/Filter /FlateDecode
+>>
+stream
+x��[K�۸�ϯ�)��,�ǤrH���>Rqv''�k�#A3,K䘤���4�"(��H�%������׍~|
�8z�p���_�n��]�� #���֑���		w��Ì`��|A0Ƴ�s�gq�����)�e��'�������<�_no��s�gY:_P�g�6qQ��_��V��tiA.�R�5�w?�|ww��� 2
�D ������G
�`��#ft���8e�w�z�\+��pW���=q� �͸<�Η��1�4!Ƥ�l�
�	�V�7]�Fg��)N�
+��9S3��~U٨�%���D#q���P��a�`�׈�� ��(��si`Y�I3)��!��.O�ꍿ-����2�bov�m3��e=1��]�D#�X�
+2 �#�i3�O�D"r�A���4����pz�޳�D�l��0HA��~�ě��,��ɠWH��Kw[��e���l��E�n�p4�@]�:O�X��~"%�Sz����)�8��z��3������uH�=������M�m���5M���
_{eV�X��")�S���[�ԋ��u���A�Hr�ě�ߗ��L���v�<x�;;�P�
a��+��_a��e��)a.pI_�{�#�'��X4Br���P�'�#ƅ_��\��&�c
��>���#d�
w|�9�W6���x��GD�1UCj�
�,���)�
�Zs�d(;p��l9���9?I��t��@V�*��j���1z��VN���_�7�.�* �I�̶�q�<l,:��������a"Ÿ�ׇ��2]�	���3i�:�C�S�4�N^�
+�h�]�Ѕ�C�H�țS�S�Y]/���C��U/��V�%5޼��
٥e�[B�۸r���͂*�@ڂRD���׈!��&�!�6 �jh�)����ޘh�8ՑP�
mN�\h�:�a
$@�8Q�(�t���B#?'d�{�C"
k5J��b���|�g��B�gN�,Koo�YZ�IZx����/��3/�zՃ�"`ipK��+�gt�@�����
�������
� ���gWA<�f�z��`B!ih�3u��K�ŀW3p
�_׈��'�0�44ݼ�%'��8��W�v%�`�3o 
+�>á���F$Ѱt�!
�̂M� z�2�
dV
P`QȦd�
��0@��甓�)m`O�
	`W�c�/Ɛ�MGێ�L5�q��e�=g���%�~u��'�������t����52��X��vb�#<$L�"��1��R�� ә��3G)�!��(EQ�ɲ���
�l
+����~B�X���(r��H����3���3��q:��P�@��(�1�q��>��>$�&I��Q��5�q���O�s��G��t
�&T�����␥)����o ��B�����
+uD^C���Hr>�Rӆ
�T��
���
�K�._УQ��������J�I2�(�!��8QJ�)vXT��a� B��@8�����Je��@��5�7��ȓ]:J�i�H) �z�)��)�4סviV�հ�N�Vl��lj��勷؟�)
+�ӵΎm��C ��)�
P��0��E�T�y��ͦwޢ.#թ�<�Ӳ~�M\���*m�:Ϣ#�B���gYX&l�>
T?z�عm�.�3�&vF6����
��9�t�ӥC˖��mVx�� ��ݡ��}NfE�]�l��"�"�-2K�������
��$�~
�� �9㛂�-�|��
b,��יv���
��«,ūH�������M�+
+�֖[�Q���5��,hަ<�1�Ċ
S��Z�qJn����0�+�m�m���w�,� �{��:��s
ׁ�Q=�# =�^j���i/u�^��}y�U��sV��uZ~b���*���
���
d�7!蘴1S��{�����8
�V�t߮��x�k&T$.�=��gW.^��q�dSF��;i��
 b�1:\�*��g���|�V�
��
_��I
+~0���$e��=gEᛏ���}���˧z�Ɵ���O�k
�Mk�о$��W�c~<ߥ>�q�%�>�� ���~���̦1�>Ws6�y^uK0qk�"~�
+�{,�����:�{8����C�L/A�Ц��f��OU��+�qa��A��E�%�6q�ӂaK��j�hs���X	��+�zW�u�
���y������X}�������c�4:4�Չ��ڈC�vQ��2�%�3:)wz�Bq"�\�I	� ZI�+:)�� @U�t�Y}T����j�#q�U�)�1j�3}��i�c��s���'��6���
+�݃��?�/�|�A�3�ᨺ�蜡��j�t+��+F/al,{��E
s��gO��6t|��DW�R�v{�Ex�3<{�02M��a�n�]��vu��&i�M�s�r[�6��}ȝ�3B Sv��h*�|�5����蟹~��g�o���
1����8��ut�|q�d�"i�c	A��^0X�_���{П���'���P� r)Z�>����۷��¦��֡v�p�)�SQMf�fy�L�*
�򅚐o9
&H{�-��
��h5�{]��<X��aˢ�e`�=i�/����
+endstream
+endobj
+16674 0 obj <<
+/Type /Page
+/Contents 16675 0 R
+/Resources 16673 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16672 0 R ]
+>> endobj
+16672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16676 0 obj <<
+/D [16674 0 R /XYZ 89 770.89 null]
+>> endobj
+16677 0 obj <<
+/D [16674 0 R /XYZ 90 645.068 null]
+>> endobj
+16206 0 obj <<
+/D [16674 0 R /XYZ 439.299 592.773 null]
+>> endobj
+16678 0 obj <<
+/D [16674 0 R /XYZ 90 586.756 null]
+>> endobj
+16679 0 obj <<
+/D [16674 0 R /XYZ 90 527.382 null]
+>> endobj
+16207 0 obj <<
+/D [16674 0 R /XYZ 90 492.712 null]
+>> endobj
+16680 0 obj <<
+/D [16674 0 R /XYZ 90 488.229 null]
+>> endobj
+16681 0 obj <<
+/D [16674 0 R /XYZ 90 415.366 null]
+>> endobj
+16208 0 obj <<
+/D [16674 0 R /XYZ 90 380.696 null]
+>> endobj
+16682 0 obj <<
+/D [16674 0 R /XYZ 90 376.213 null]
+>> endobj
+16683 0 obj <<
+/D [16674 0 R /XYZ 90 253.626 null]
+>> endobj
+16209 0 obj <<
+/D [16674 0 R /XYZ 280.943 163.019 null]
+>> endobj
+16684 0 obj <<
+/D [16674 0 R /XYZ 90 156.379 null]
+>> endobj
+16673 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F8 794 0 R /F90 758 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16688 0 obj <<
+/Length 2406      
+/Filter /FlateDecode
+>>
+stream
+x��[]���}�_�S"UY=��1o��v�q�M���v�X��P�@F��ʯ��$BRO�%Ob�9���>}NӃ�u��o������b�AFR=�
�7HH�k�8
�~�.bR#b$��N��������^{x�����K8"�@JG��Ï?�h���0bFG�]�m�)��M��������������0Oj�0�"
^E�~N�,.�mR&Ŝ����u������E{�,3���hf����|S at xG&�F"��*�&�с�z�]D0$ĉ6���eջC�D$��w!ۯ�H�
U~�/�|A�-�l_q�����K\}N7���c�6^��U�,o�����}�l���S{� �?~Cy+>*��4��'�Y�J�V+��&M��%�Wm�L)��
�gA$"w��`QZH�C���ב��ң\W����e�+Sx��l0a�K/O���HS_�%�!���0Ғ��CUe>*�_�E����y��z�0�$�4��"� �K�1��̾\==�ٜ��o�&]�s�f��m�x��)�HN�<!(
�M�1��T#��#�����K�ϩ�}��
��,�#���d��H�rq��lU=�E�縒A���e*�Na���"�P�|�o��a�f�|������]R�����Rx�{
� X����j}Ѿ��1����ć�" u�
��`��
�!��z&���"���/�0��
�S;�Qݨ�m|.�ܧ8qpŒv)�
+4�Pσ"D5~d����d��dU�@�@<D �*b������e�g���n4s"fy����j�:���ą	
�q�����6�$K���cƾ����0z���m=bۄ�b�H�
ow-�g	&���Z���&0�Q��{0�@?q� �Tڡ�S0™� D�����jUk���T�9������~&
K̀#Y'P����M�v��);Ba�)�L/���H�+��|�_k��M�t��'�֝Ћd��)m�#_�x$�ym
*9J��
.���<(c���D�h��(�Z�wH"Y at X*�$
+�g#�:��&��<ےH`9(�8<&��Ӯ�ڒ�>t�k�AX�9B5 _0��"����^��.��QD0J���W55�oog)�M��Џ
C�
ig�o�ݕ5eC�n�̳�ɪ���U$b2i7��қ.v9H׉���!0LJ��>,�݃yQrm
Bv���UZ8�Di�E6Y���^ A�a��i��o]�&�2��

���>�.�C����p٧
a��JM��F ��M�p�I�C3�)�N��+粥{�

)NB��
}��9CB�+_6\ܬf&�L����Ј�
�EP
�"��C�K�FL9)�fb��U6L��7�tb�c	�j���
b�øb�d�4-���6-�N�-%1R����Z!��'%�CG�IJ$�j�0OKZԓP<��9�U��1阱�r�W�B ��Xj����ŕ,e@�
�Q6pmvE�K�3B�����˗�����m���SƯ���s)f��3de�ҥ������b
f@���3�=�US`���Ϝ�>�9�D����M��>��v`S5!"���3�Ep�����͉> �vl��F�}rD�)`k�}5�/��s٦��\�~���c��`#�;
qQr
Z�Y
Ԟ$� �m	'����r��;	N�<�G��,�r�/�ȉy݊!��ϑ��Vg�
\2d��1�X��%Cx��d���
�BJh�R��wV0�߱1�9Gt���
����Q$���7j��w�ѻ��
���J�wV���C|��F��_d����>X�R�C^Y��#^�قB%J
~���M�IP�
�"pT��a�
� �n��l)I�i0?2��vRm
�H�}��˴m	�9hcI�/���Ct�e�!%�Z�q
�����	��=6q�6��_��0H,�.�߅y�6Q�J��6��&��|�A�o�"-�NR��M�N�&���p���!�s�Is?�"YƒK�&�
@B!��
 (&��@Ǿ�ʾ�{6����Yl�g�tԳ�#�P3�wd��0�
1u���IJ״�
+�^_�
kyԍ�.
����������2��p�
�88�b�1�
���/�5���0z]������h�L�
�v]��-��Z0��B
c�~gb�t�D s�a	��$Sw�[�rf�>А��f��L�1����4
��><��(@�YHKwB��с���C��i6~���F;�N��nn����}�k��,落����؃�l���?�)���ހ_!XL���b��]l�O<�uˢ�� v�[ ��������rs��l
�����_
�k��
1�'ǿ��k\��Z����Ӓ–Gu� \II7�~H������}
�o��[��M����/e�{z|����'�A�ہ��0=`u���)�m��y���m��z[A����"�
+endstream
+endobj
+16687 0 obj <<
+/Type /Page
+/Contents 16688 0 R
+/Resources 16686 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16685 0 R ]
+>> endobj
+16685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16689 0 obj <<
+/D [16687 0 R /XYZ 89 770.89 null]
+>> endobj
+16690 0 obj <<
+/D [16687 0 R /XYZ 90 720.814 null]
+>> endobj
+16691 0 obj <<
+/D [16687 0 R /XYZ 90 667.125 null]
+>> endobj
+16210 0 obj <<
+/D [16687 0 R /XYZ 90 620.5 null]
+>> endobj
+16692 0 obj <<
+/D [16687 0 R /XYZ 90 616.017 null]
+>> endobj
+16693 0 obj <<
+/D [16687 0 R /XYZ 90 555.109 null]
+>> endobj
+16211 0 obj <<
+/D [16687 0 R /XYZ 90 508.484 null]
+>> endobj
+16694 0 obj <<
+/D [16687 0 R /XYZ 90 504 null]
+>> endobj
+16695 0 obj <<
+/D [16687 0 R /XYZ 90 443.093 null]
+>> endobj
+16269 0 obj <<
+/D [16687 0 R /XYZ 90 396.468 null]
+>> endobj
+16696 0 obj <<
+/D [16687 0 R /XYZ 90 391.984 null]
+>> endobj
+16697 0 obj <<
+/D [16687 0 R /XYZ 90 321.253 null]
+>> endobj
+16698 0 obj <<
+/D [16687 0 R /XYZ 90 267.564 null]
+>> endobj
+16270 0 obj <<
+/D [16687 0 R /XYZ 90 232.894 null]
+>> endobj
+16699 0 obj <<
+/D [16687 0 R /XYZ 90 228.411 null]
+>> endobj
+16700 0 obj <<
+/D [16687 0 R /XYZ 90 157.68 null]
+>> endobj
+16701 0 obj <<
+/D [16687 0 R /XYZ 90 103.991 null]
+>> endobj
+16686 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16705 0 obj <<
+/Length 2308      
+/Filter /FlateDecode
+>>
+stream
+x��Z[���~�_�S��qu�/��LvW�l�N��<lV#ڦm��w�����
+
c��fe�TC��S��U��U��o
~�����b�AFR���$$��
�	F���c
>��|}~�Q
f��:^�����<�OO��3��,�ͩ���MTn���-����"��K
+Ff?�|������8$)
,�����%��6��
|�&mN\7����<`�TsETء�xUA�QUm�<P�!��S��3FA�4IW���ǯe[�Ha�)F�p'�e
z1BA����@��vW&�
��rF�uT���������
VH�ߩ"�<ؽnQ�9]\aI�)�]��b�X�E�����J�xFD��E\a���<.���aRx�
�
�X� $����ݨ��bk
�˸(����!^"g��R��iN�E
+�"�Zn�����O3��,Y�+�O��������)N	^�5s.��6�{�:���T���
�l=(���".<N!P*� ����p�8�밊�.��Y��-g*\�BcT".��5�s�����4Σ|Pn����͹��"K�һ};1)�
+x����2>:e�u?膷u�&~�f��S �L=cU
!
\N�S %餅^��9��S)E�v��-�VI&��^���������]K�6�`U�V���`` `�
v��NM�^�u�#�������~%��\PR	y4
+f9�Gc�r�
!g������$�:ۗ���$M�ɿm.�B��b�)�j�n�
M#�(D���@��:\�Lm�2�9����p��=����L��2��
�����ПW""�.B�ۀv#Ra��-��R �x��
�@�B�ж����n�	�R"C{0>fi%�oK�k���[���K�ٸѫ�-���O�zr��q]����:h���.r)��y=�]��
F?� �	���o�
���3�Wust!=\�8Er<j�\�`��E�T�%���HC7�K�J�"��Z"���FA���q�6�P��
�0�����,�OOP%9t��&Y~�p���i9��s66������,d��T�F/��ɺ����o�"�by�fa2�@8C�L�>$4�M���� ��#���c�C^f�l���$]d�]T&����$v�2��+ �:s>x�a��{$�b3�
�(��.t��tnT�x�2zwpCk)PW
읺ر��ڪfɣ�Vg(
��#��6 ��� [...]
+3��{r���"��Ds��G�xـ��`}�JO)*4�(��հ☐wST��Ȯ��`�	 X��E��$UP58KR���������86� 	9VL�~hM13���dp��$�2c`A��[�1QbF��I�8�&�)24�(�cȺÐ���Al(@d���Á'��	���4e���u���;
�
��
X��
X��90�i3%�\b��2`֊�I90� ��[8�09p��I���E
3äw 2��<k"��"�sF� �
�RZ]�M���]um-�2pXl�{գ
���v�ɭH1.�ưy���84?����
�	�~���5�d�dB
"�
�6�y�f����X��,���;YtG�_Y�0����_�E�?�Χ5���l�Ty���
+ՐZ��������p�
�|Ћ�����)����������p�M��� �u �<o���y����U����n����dg��!@�n��������q�^�~৕i1�Y�^�� )ڨ�z��ze�'��o
�zàk%�?|D�)�ǽ��`.�Ƨ��>����z�q����5��]
m6:V&h�h��R7x�3\Z����)�wy\@�X�C;��fF�<bH
+��;�g�?��[�1��!
+~�M
���S
�O.��
�1�A>�t�����їv1��1�����l	t}����U,���ϯ2�$�"o��wK��	����� 
��iOw&�X��FB�qWp��J�~�f�N���]D
���O�d�ܻZ�����C���d��+y��S�
t�OӤ$y���K^
?[t�
����g��au��\��ݤ(
?e��0������
C�zl5r�r�g�8�gU�
�:Y����ϳi�X�>�����js���j^֝��<Z&
�P����uԳI�q�7�;D�kW
�"ʮ�
�&��R��d	���~��
�V��ogB�~=�
����f�O���H��	���ړ�Ǿ8��
�џ
*�<B!����uY�
_�+�W"�yo��H5��V;�6���
 nn��7�5��	D4�-��U����W���ܲ���Z�-O9�
+endstream
+endobj
+16704 0 obj <<
+/Type /Page
+/Contents 16705 0 R
+/Resources 16703 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16702 0 R ]
+>> endobj
+16702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16706 0 obj <<
+/D [16704 0 R /XYZ 89 770.89 null]
+>> endobj
+16271 0 obj <<
+/D [16704 0 R /XYZ 90 669.636 null]
+>> endobj
+16707 0 obj <<
+/D [16704 0 R /XYZ 90 665.153 null]
+>> endobj
+16708 0 obj <<
+/D [16704 0 R /XYZ 90 608.534 null]
+>> endobj
+16709 0 obj <<
+/D [16704 0 R /XYZ 90 554.845 null]
+>> endobj
+16272 0 obj <<
+/D [16704 0 R /XYZ 90 496.264 null]
+>> endobj
+16710 0 obj <<
+/D [16704 0 R /XYZ 90 491.781 null]
+>> endobj
+16711 0 obj <<
+/D [16704 0 R /XYZ 90 421.05 null]
+>> endobj
+16712 0 obj <<
+/D [16704 0 R /XYZ 90 367.361 null]
+>> endobj
+16273 0 obj <<
+/D [16704 0 R /XYZ 90 240.716 null]
+>> endobj
+16713 0 obj <<
+/D [16704 0 R /XYZ 90 236.233 null]
+>> endobj
+16714 0 obj <<
+/D [16704 0 R /XYZ 90 155.704 null]
+>> endobj
+16715 0 obj <<
+/D [16704 0 R /XYZ 90 102.015 null]
+>> endobj
+16703 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16719 0 obj <<
+/Length 2264      
+/Filter /FlateDecode
+>>
+stream
+x��Zْ�}��SBUE�K�%�8e�q&5���d���ݬHT��<��� %����0��pq@��
8yNp�?=ܽ�V�� #�L
���
���S*�}~�>aR#b$�r������|�h�ݽ�����#�o@ ������g��p��#ft��5Z%�28.��w���
������![!2B!
�HS��9����(O�e>�SJ��*�W�!B������N��6;����H� ׇ��z9#$ݾy=�R�'1 P�c���:�gs�n���hfD����>�g*��1*��Q��"����]X�bjt	f)�2����XW����E���X`�b|����z��q۴���F�S����
F3B����
	Q��E���̈́1���}�H:�b؆ Jy��SY-˪���hOユD-�0��"�����<�o���})�I���FYM
o
�
L#�bx�;���7�3Ȱ�L1���B����rr(k�k���"-������
Y�O
��u�_�E���\��.��j��k�����z��k]�`¤6�"�=b�b�U�	�e�lU�Em�	-����O�C�l��%�i���<-�T������D2�����
�ЬO
��&�#e8�T�j���E /�[q
K��L�B
�A
9(܀�q�ǮA��E�fsFp�]�5*��
+<��Ze۰�;�����v=9_A$"7�����I,"��]m�Bڡ
˜'¦<օ��_�k[��3�yA
+��4|G���$�I��A1:�.��8��E�m`��'��]o�.��ӡL(°"B3(lԯL����P�8��lY�?b*}���8��s�1�9O�
8
O�1
�NLtTH
R���^Ϡ�}��KI[��+�H�K�+=W_%�rW_�*�b$
+��R�w� �
>/au�yY-֫׬-��-㚥��
��x��W�q)�6��*�\z؜a��2!��|�|�ׯP�G��_y)/���oU�c�����m��r���I���m�ۀ���ra˙�̀\�B�x�
+��ߞ�n���$
��Vw�z���'���z���㊬�–c��de at 29"�t�5�f�r���H������Hh���[ey��'}S��"gcFE��l^��x�7���Qh�6�l����U��{X��P:��s�& w&&b���
 d��h��bٱ��hZHI�G�{zq��B��Y\�$�������W���4H�0�Q�+j�)���D=��Iz=p���
��*&�5T
X��%�l��
d��A�9gT�E�pTH��sYY��?���s!��	a�����;����Ȯ�
��\L�����X���
���6���Wc���F_:���I30HGH��5�����zӈX0pu"c
W��6oR�J�O	x[* �N˹�,./�
+6
1�R�&W责�|`r��;#Ss��R�h�<�L{n>�j��OLu��3
ȹe�G�9�s�[>~I�q@������C�n��$QG�����xDa�N�(����?�0�=!ߑ�|�����4q�4�7�
���� ,��@�1������
5Bw��P"��
+|�^8j�=����G��-#�cLp�I��;���Ze�/��ѳ@%�g>	��%>��F�� ��cȡ��������h��EwԇE�>
�4��S�tć��"&�����PÐ�IƜiO|FS���3�_!>�s���E�)!��~����4�e\�r�ͳ܇BQf��G
p���C
ҫ5�N��9�}��T�"�#�$J
��
 ��}���Β���su1Ơ`���@�Q�j���ɏ��(���������G��9����x��.kD_�����#W0�v��x��\���̬��c�8�����NDa�%��F
+b �����[t|��
 W)�@�a�m6V����E�(n�1��"�1�B 4�"d�y��b��a��g�#�\�݃�РR:��ub�������q�T�I���~�ŷ�$
2���aI�1i�W����2fCcꥁ�[�a������bδ�K��^������zi���*�
� �>�~���q70o�9�.­l)�.�6?�dm���o�3���R�=
���}��ƻ�V,��������|o��c
�/��LAF�
7.~��?�Z�~&D�ǿe��mA�sK��:����n�-G��4~,�.3{\�������
P
B쾶������w��禨�x�!��w6P
����ߑ�Z�^]Vps��Z1�����`�L
+endstream
+endobj
+16718 0 obj <<
+/Type /Page
+/Contents 16719 0 R
+/Resources 16717 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16657 0 R
+/Annots [ 16716 0 R ]
+>> endobj
+16716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16720 0 obj <<
+/D [16718 0 R /XYZ 89 770.89 null]
+>> endobj
+16274 0 obj <<
+/D [16718 0 R /XYZ 90 721.073 null]
+>> endobj
+16721 0 obj <<
+/D [16718 0 R /XYZ 90 721.073 null]
+>> endobj
+16722 0 obj <<
+/D [16718 0 R /XYZ 90 658.004 null]
+>> endobj
+16723 0 obj <<
+/D [16718 0 R /XYZ 90 604.315 null]
+>> endobj
+16275 0 obj <<
+/D [16718 0 R /XYZ 90 489.624 null]
+>> endobj
+16724 0 obj <<
+/D [16718 0 R /XYZ 90 485.141 null]
+>> endobj
+16725 0 obj <<
+/D [16718 0 R /XYZ 90 426.39 null]
+>> endobj
+16276 0 obj <<
+/D [16718 0 R /XYZ 90 391.72 null]
+>> endobj
+16726 0 obj <<
+/D [16718 0 R /XYZ 90 387.237 null]
+>> endobj
+16727 0 obj <<
+/D [16718 0 R /XYZ 90 314.374 null]
+>> endobj
+16277 0 obj <<
+/D [16718 0 R /XYZ 90 279.704 null]
+>> endobj
+16728 0 obj <<
+/D [16718 0 R /XYZ 90 275.221 null]
+>> endobj
+16729 0 obj <<
+/D [16718 0 R /XYZ 90 204.49 null]
+>> endobj
+16730 0 obj <<
+/D [16718 0 R /XYZ 90 150.801 null]
+>> endobj
+16278 0 obj <<
+/D [16718 0 R /XYZ 90 81.969 null]
+>> endobj
+16731 0 obj <<
+/D [16718 0 R /XYZ 90 77.486 null]
+>> endobj
+16717 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16735 0 obj <<
+/Length 3186      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�~���S+��0�O��6���ҙ�
�)�xh��9�-����w )�����	.�~���HQ���iD��+��p�����;#F�8���n6rtd�#J��1����5����O
g�"�?�t���>��2���x(�����{y��x��\sEǟϳ�
+�����˗�9�R��b���WW_�]�t�@3:bAE�
=.������p�+�pv��7Z�$p��>\��FC�C��#�uFF�
��.ǫb
+�:
��_8ط�1+�d�K��ӏg]��[���DR)�~"8�ℱq��p�	56��;B��4
:��c���:�`aoo��J�2���8�D;!
q,��c�y
�TIb�Hҩ2�J
u��Z>�/h�U�����k�8ު6�PJל9µ]�
�T�y+���k����H���4<�Ђ�4t��]�����,Ѽi�2?i
�o��n�k�%Q��֜0�H��wU^�6
�����k������9onwg	.�zbTW1a��o���H.�6�U��5��wp��j J�
/]�aZ�
+}.{`rMMZ�bz�
3'	NH�
����
W���q�Oox��,58K+�~o�I�_�u%��H
A�S��B뀘Xl at jbLJb���8��i�d1���zD&ô�gb= 雬XV�0�R�ӺM���'��/"�y�SB7����� �8
�
p�g�4a��n���锦~��Aܾ�S��S*G�9"E����1_o
+X��.���>�^�}Tg����"=���0�
s`pd}��\G����
S�)��l�a�P�b�A���6��[ؽ$ąټ��C<$���e�/7�͞S�D l)G
+�Y�?T��o{���T!"�H��Մ���:X/�
��HY��+ƻm�l9
�4��

�-+k9-`}*��u�|\-�٦x����p0�KLs7��[0i�y�̃)���(b�
��9�?�y�ɛ�����]�ve?
H
1Ҷ��Η��I9~�~ �
"R�52B_�� NDd��ޭ �ۄ�?���)��C6Ȃ~Ɯ'�e:0�R�PQ Ĕ���_.g>��n��n&����m�Inad{�[	�SP�bHuW
��V*��t���
+Qz{��������8W;=���8G+�r�.�Y�������r_D
+h��w����y��a���

�D���Ba����\
�l ��_ڳ�Y~�1�����7��
�dKU��}f�`�?]��pW���W�����H
�����1�Qa	n> ׍�u���!�+
́K1����xV������>�� w��2��𸐈X~�o�݊0%�(͏�
�
�T
z^�M�q�7�u4-��,�J_A�\�`�,��Tۓl��SM�0���!��D�bY��D��-kcz~�?leRZb��^��T��xO�2u��ٽFv-%�ce��<hn`Hnk���|H(%��M��� 
+i�4��3��Ou#�� /�^�6mjV��q;��@��!DZ��Ͳy���V
+vBy�@8WG��Àj�	9��\Rp��a�����DS��
+P���e��.�*ԕ����P���$T�	
�c���r��&޶����j�`FR,���*��z�ߊR��N�0�*�������?	�]#�Ɉ�hQ���rh^!����=3��#V�l����S��6P�|��;�W�%�B�t%��}�I`
,�ޜ>5��,m$��Գ�C����,6Gzܡ�
e�Xݟ�0�g������g
�-�K1x�^j�m��S��^y������4+��?�\Y}���
6�"83��l{
c?���iʢj���:/�ͪ�(5&�$�
���wє�W�
�������2����p�
�ҐB>=�f}�j�n�h�K</�%z���D3�/`��_Q`����!�\��0`�������k��[
�p���0p3
�n �i
�e����� �6�"aj½Y�T���E��˵ӾQ�d)I��b ����3�9�.�#Vځh� l.�f7�6w���Kޒ}v36͢��0��L��!�^yI5OiKgK<�0��cj�P s����̀0���))Î�K(C!�`�KF�
iC�� [...]
+Zkm��G>h�

���z/�cX&�淉�*:DH�o�1�O����|ko(Рl�������e���/�j���g���j3a�2�"^�1ܺ�7��q|����4���,
0.���o�N�O����ׇ���*����P�G,����N�ƻ�zC��$�yW�[kY換y��]�^��_�EP��k�e
k�����Z~oa�!
j
:�-|�5��j��u:
�w&��5����##�
��N�`�Q��29#�@ņ��T�
�Cj�hH'0�)T��H���'|�;�y�?>
2_I(�U�,1�^f��PPE)����q�<Iǐ�8��w�����TIzWb
+�^w��
xF.A��Z��Kt��͊
p�n~i�<�d�
�ⴥ��>Z�n��T��v;KB�_
�Q^�� �1X��'�"?� ����@�f�OS��
v�����"�:
<�<Vg��gLtiJ�xMI��o�9�
��{�p��Q��t˳�bé0{_��:h�`a%�,�2;�.��ΤӞD9�ΐ8 _���g���eo��Og�lxߒ:l����'�^�ĸQDlW�����з=X+��s?�Ʒ��Q|_,q��q/A�1��h�
�P+���� �&`Y���3�p��På�
5u�0C��L�6�a^Vj{T
�]EO*����
J0.�pך��6iݝ��������2ܭ���sȡ
+\��((�N��Վ)$R�!���6E����),4숢f��o� ��}Lºnr�����1�6%
�48q	}���@W�?#��e��^�ݶ
�M��`r�-��;�Rr�Lh�z�i
�e�
㥫ȟ���㾵q�r�o�x�NLb�/��N�E-�4B>d��� ���� j.Sg6]u��������X������Uܽ� R�+�/�>�_��C���i4+a1	�5/���8�[���	'�Uy�WD��l��� 
E��_V�z1B1���Ň<��Ġ�G���W>�ݪ”$j��<o6�ۛ����*_>pLo��8�����`pX^�Ū�Y���gǠ'iR��z(#Z�f&`2�·0��E���l
�/�|���`�����6�Y
+endstream
+endobj
+16734 0 obj <<
+/Type /Page
+/Contents 16735 0 R
+/Resources 16733 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16732 0 R ]
+>> endobj
+16732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16736 0 obj <<
+/D [16734 0 R /XYZ 89 770.89 null]
+>> endobj
+16737 0 obj <<
+/D [16734 0 R /XYZ 90 658.004 null]
+>> endobj
+16738 0 obj <<
+/D [16734 0 R /XYZ 90 604.315 null]
+>> endobj
+16279 0 obj <<
+/D [16734 0 R /XYZ 90 569.645 null]
+>> endobj
+16739 0 obj <<
+/D [16734 0 R /XYZ 90 565.161 null]
+>> endobj
+16740 0 obj <<
+/D [16734 0 R /XYZ 90 459.188 null]
+>> endobj
+16741 0 obj <<
+/D [16734 0 R /XYZ 90 356.881 null]
+>> endobj
+16280 0 obj <<
+/D [16734 0 R /XYZ 406.869 292.631 null]
+>> endobj
+16742 0 obj <<
+/D [16734 0 R /XYZ 90 285.991 null]
+>> endobj
+16743 0 obj <<
+/D [16734 0 R /XYZ 90 181.552 null]
+>> endobj
+16733 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16751 0 obj <<
+/Length 2785      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۸~�_����
車�@w�,���N�龤A�����4I����ԍ�|��
ɲtxy.�w(��!�я7��ݼx�X�XRݭ�G��HH����O��w?ELjDb	O��?��׻W�޽3�ݼ������W8"N�@JG����8Z��"�X�����M�)��:zw�\��
��
j
Af����<R�!��S�՗E���<+�B{"��p#����	��jo'H�[���e�bđ�9b�|G����B�%p$�"�s=��:��,�B�$Z�����!af�(�����/_�ٔ�ɧ�:]~�S�&O�$��z
Z�9,2
j(�Dw-e�#"�1Ke�
)�e��w�E>�b�9�Ψ��te�� ��8EL�&��ɪr7��%⸽�?X���C�jn+҇�Aa1�Z���Z��
�),D	�3K�E��Ϋ�~���>�գIy`�,
�N&fC��X�FT�i9�
Cq{:�
��0w׸��5"��A��+�tQ�!�H<��XQ��{,
�C_�
���rH#F ��I�x�*pƏIQL��8�?#;|�	is�?#csIBF$�"Y�ϛ� c1���&r'sw�d�3	�}isSR�'|���
�+�P0i�4
��E'8�>ެ��e��d��-�4�O�է2Y�W�70��e5%�b��܅4��b[$ռ{���q�/��;���`����
�?�C�%żjF��=-&6�iٌ��j9��Or� q4���Z�L��|����.�%n\�SE]AyQ$�j�\_�n��K�q��+��@e�	~Y��g�!Iiu�F2$��@*��sj⓱3��h�S�������
+�Y;���!��^�1LT��Bx%NB���S�Qqwxc(�x�k��M����6�׷���2���B�8
+B)���}�M!�	���5��*�:/6v�a���!���Mf�R�����5d�7�4d������Vf�|`��B�M�
�kX9�Ys�H�!��[�i��[ġ&B ���~z�N���)!���dY
i $����s���/�}1�������&���H�ybWU���Ĥ�,�Wx��r�5�D\��jEaRW��v`L�VAI�1
�!���� h���V0�V����ڲ?2�:.E��c�����e��Z��%2u�f>A��M���_�U4�;Yѓ��e���1����i@�ƑD�
ʭ�� ��10�xg�\r5i���H�����%Wi����3)�K�v��2�	�8�~��S#R�K!��v���ˣ�&��j 
YY
 &�2��4[�Y����PTB}ک�o�V�����������R�E��)3Q
٣��n�4{"��_��v���D
�ʂ�T [&ؐ$�M:o�KZw���x�Q"v>E.�x�0$32�

�i�v�F�lI�u8�bK��5"��]���8D�;��5�l�`�2��9��g�y��=5Qh
+���u1ё7����)N
+�K�0�o�H~\��6^��9|�1$SH�>
�5
��ZȜGp-���2#�1rM�!Z ����
`k�� ����Q�õ��+P�&3�; l���6#�6�)�k:7�Ձr�̙�q
C��`��BʫxǪ�:���������t@)Sq�3æ�eO��x��7,���P)�Ej�n��a�;��`�H
'!J�B����f�ak�^���c��/sʺ&�P��I�E����L��� ��6 "���Ll9n����i�)�?!��8Ġ�Aе%{\�v�3+A��%�C���[�&��m��;jTGs�ds�T̝M��v�S��J=���G[����6�v�|��u]���[{�1Y�U��[t�,��Sc^���4 I�oi3M �����
+2m�1`�8�v'�
mtXlG;���&�o��=(��{P�œ������3
* �J
l��]��+x8��F�8��<N��y�U0 at NB�
V�Ʋ
+#N� ����lV@��Ux
+\�*f\H���e'	�-��(?�K�� �IT��<�vkh(Yu��
r>�	ⱨ����"4&ǹ��\Ĉ:�ET
"m m�xXݿ�a[.b����,{R&մ���Ѥ=�Ԧ���"Q�X�2��\����%}�қbX骑�B�R7[�g� ��A�E��VB~#�B
�Y�K�P�J�h\�,�����b���7�|��\�� q��KR���e2�M<���c
�t��/�2�$ǘ�2�ĀO�r�� � ��w���2=�}2�d��e�;����
hg�ev
m��aC���g��e(i��W� �)
"<�C��7m�>P��Y}�&0z
+�
�A�#����� )�|�k�
f��W�+��
���M�����@ș�j�

l#���C&��d�$T�㦤����%TF
e"��4;�PP�!T�g*�֍A�ɢ���gB#BIfj?dOI����r"F\����Ю|]ۣ'�ƅ7��A�>��=Ȁr���
�W��o�v�G��w.��Uz:��������f�w�G�����w�< �\w�E;6P$5[6a��c,XX$b
6m��i1dc΃��;���c�

��Z� ,�̑�➕�z�~
�z��<�vK�>��
&�|�?<�
*/��d�L�3z1H�<,'�F�Pc��������h#�M"��8�(�Ʉ�޹��y����͆E�AX'n�f����5x���\���2����N�]&ş��tG��̳���&������ �ĔY4�1�'��;��ת����>�#!�
+�XUۗ/^�?=�I���
�+w���ۭ��G޴�U��ʾk
+z��<����tv
+endstream
+endobj
+16750 0 obj <<
+/Type /Page
+/Contents 16751 0 R
+/Resources 16749 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16745 0 R 16746 0 R 16747 0 R 16748 0 R ]
+>> endobj
+16745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 472.871 212.124 483.775]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+16746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.379 311.301 210.103 322.205]
+/A << /S /GoTo /D (index_Cylindrification) >>
+>> endobj
+16747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 207.893 485.603 220.411]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16752 0 obj <<
+/D [16750 0 R /XYZ 89 770.89 null]
+>> endobj
+16753 0 obj <<
+/D [16750 0 R /XYZ 90 718.682 null]
+>> endobj
+16281 0 obj <<
+/D [16750 0 R /XYZ 406.869 642.079 null]
+>> endobj
+16754 0 obj <<
+/D [16750 0 R /XYZ 90 635.439 null]
+>> endobj
+16755 0 obj <<
+/D [16750 0 R /XYZ 90 554.909 null]
+>> endobj
+16282 0 obj <<
+/D [16750 0 R /XYZ 90 520.239 null]
+>> endobj
+16756 0 obj <<
+/D [16750 0 R /XYZ 90 515.756 null]
+>> endobj
+16757 0 obj <<
+/D [16750 0 R /XYZ 90 447.028 null]
+>> endobj
+16758 0 obj <<
+/D [16750 0 R /XYZ 90 393.339 null]
+>> endobj
+16283 0 obj <<
+/D [16750 0 R /XYZ 90 358.669 null]
+>> endobj
+16759 0 obj <<
+/D [16750 0 R /XYZ 90 354.186 null]
+>> endobj
+16760 0 obj <<
+/D [16750 0 R /XYZ 90 285.457 null]
+>> endobj
+16761 0 obj <<
+/D [16750 0 R /XYZ 90 231.768 null]
+>> endobj
+16284 0 obj <<
+/D [16750 0 R /XYZ 90 185.143 null]
+>> endobj
+16762 0 obj <<
+/D [16750 0 R /XYZ 90 180.66 null]
+>> endobj
+16763 0 obj <<
+/D [16750 0 R /XYZ 90 119.752 null]
+>> endobj
+16285 0 obj <<
+/D [16750 0 R /XYZ 90 81.969 null]
+>> endobj
+16764 0 obj <<
+/D [16750 0 R /XYZ 90 77.486 null]
+>> endobj
+16749 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F11 613 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16772 0 obj <<
+/Length 2960      
+/Filter /FlateDecode
+>>
+stream
+x��[Y��~�_����V���	�8�!G6���F��� �Lή�����98=l.g�`~"9lVWu]_U5)�jt7����ŷ����W��1r�i�G��#GGF:�4|��>�%�O��R:��0:ζ���̈́��z�t�϶��wŧm�}���>�0;^�&S����E��Uo���._��@WH��J���������/W
8�#Vq������Շ��h� 	����~�r$����觫\�@D/�Ec�0֑�{W�=N�
��0�-
�P�C���H�	��g]��!����L�S�06�����)�I�����:'S;�*
��0j�����y@R�$�##���?,�=�&��${�����fS���nU�ſ����Tz|�^�J��B�i4lQk��'�O�M�l��U+3�%�0�O�P���%���x��7��x*�!ڸ�D5կ���=�\W�p�����[�߅�� Tw
1o֔�ŮZ0�5����զ`VOS�c�q=��%��I�C��E�00��2�"Tq�U
	=�H=}M�SD �)�A��|��6ߔ�VH��+�6@��評�gç�vB#d�6Mœ�
+�س�
V3��e���$�w
��9ӥ�!��G��*t��1N�@2
DU�ٕ���b5��-�E1�qR����2_��Ž)�S	!J$��!�^OT!$
󜨡PG�%}�]O��Sx�D	�S���Ry�y�-����l�7q
����iZ�n��MV��W�m�:+@;p�`
y^�J8���=�e at R0��s/�yXi�J�CV�\d��L���C�
4�*` �J�^���f�|>1�|����	���@0���?DY���W��*nQ�ۻZ�?~5��G_`��
+hī�EQ�u>y�Zr�2s*�BN_
�)DPPX���_��Ge
+r�T&%*됼�)�*T�d�,��
*�z&*
$�
�
Ee�+�I�lZϽ��IT� �9k{��Ԩ��z����
�
+�b�e�
�	pr�� @�('`�sHߦ�� H�+��E1�A2��Z�`�X�C�
v��.����RN�-�:�]�-��2�c�R
nQ�;u��%`��`�#�=��P��|4�C���PF�Z+�1@��@(��.MH�F���8�,�n��.�>����' 
�6CDt aM 2	f:
����ǟ��b
8��ex�uM#�|7N�s��X��'5��<BN \Q�R�]�h��]�Wh�q�?F0K�e�Ym���
-�%�;��h+E]E��M�4��EH���#O�s%֗2i�LOң\�0��(�C��+� K��PnJI���L�H��
�r�W�q'�ܚ��{	͓(GY��
ʵ��G�O!]�	�q�/���=�l`�љ$,`���

��n6�侊����w�`OC��!{��W�����v����q�i��oE
�
+e��?">�C�t�*���R
o�� 
�Ȝ
��b�gۏ�}�T7
v�"�>��?ц܏sT
�<�1���C�o׹��m�d��œ%J��
+�
�H�P(�J$Eu
��mV��������ĭ�7�n�@L��o�
1��&�,_���*+},�n�Ǩ���+�c��^�1�	P�g4�:��
d g�L rk�ʶWC ���V%I��O
j*#3�o'�1�??�;h,��Ʋ L��|?�f��>�����ê��i�m6����(DdB��$@Ӗ�#�`@�E��p�ࠪr�pY>��&
���c,{|I�Ϫ��"<�u��c�!%ŝ��
�'0J�Ո�)�P����~����2/��(T��ކ�/܁�H���3���APr��x�V����`�쐒Hj
+	760���4����x�}�
�x�T��'634�������5����k�5ut�x�g8���"� )
Oiu�)VVg0'�DV�h��Z�M��VG���w3q��2Ӛ�
+j�m
�9�ˌm�Y�-�q# �Lؔf��beV��2�YQ�qג(â��e]�Oܲ����B�sl�z�(s�;xY}�2�H�%��d�0������Eٍ���z�X�
2ڳO급Ix-�ўMq`3���O�
7�[�
�=2��@ӻ���z�
� `7���'��V$7T9��l��j:)�vj(f�M=.f��H�m�*��fjX>Y(��0D����k9)��a�F0|RL�x
��tFP��GľVkːp��M�7��-
+���V�ׂp������n�!m��|�H�HI������Ǻ��YS�e�y���̥y6��LqZh��WѝjT��(G�d2�5��h�lS3���t�M��6u�/7��l�Vݬ�	3�i bd���&_A�
� ���M�	(�s�<G��|x��

+/?½Yo�YY�#N𥐩�8��6�#B�,��
��A���E!ʁ�,�]�}�;r���67�k�A��w�;�������%�L!�D
!�"
�/HT�aA�{�c!�/�QSpV�˥5_>{��f��j�-.2Y&|K
+)��~ge
�e�W�M���+0�`���C����5|�a��v��G���ă�z���E}l=/R�O� e��P�R�B�+�E�$b�}��gRמR,�IÉT6�:�Q �M��*�
_`�4lޞ|L�#|��'/�B��.=)�vH࣮����X ��r�5��<zk
+c��"Ή�צ��kSʉDצ�
v�
��L���%�������6�cR�\�z���a�
~��v��N
?�"�$�����b�[���#���
$����r��c���o�a��������o�
�}1�O�Mц�y��4��K��nn�Uo��˷��(5�+��g�����'�cI�� �Ъq3K�s���Ϩy��+4{Vp����v_���ׯ?=����
�B��I;rTwk�
qM�\o��ks�O���N��h�B�I�a���2c�_�}�l~X?x�v)F]��1�� ����
+endstream
+endobj
+16771 0 obj <<
+/Type /Page
+/Contents 16772 0 R
+/Resources 16770 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16765 0 R 16766 0 R 16767 0 R 16768 0 R 16769 0 R ]
+>> endobj
+16765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 585.789 242.487 596.693]
+/A << /S /GoTo /D (index_Convex_Polyhedral_Difference) >>
+>> endobj
+16766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 473.773 293.971 484.676]
+/A << /S /GoTo /D (index_Meet_Preserving_Simplification) >>
+>> endobj
+16767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.269 337.846 238.02 348.75]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+16768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.953 112.215 250.388 123.119]
+/A << /S /GoTo /D (index_affine_form_relation) >>
+>> endobj
+16769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16773 0 obj <<
+/D [16771 0 R /XYZ 89 770.89 null]
+>> endobj
+16774 0 obj <<
+/D [16771 0 R /XYZ 90 667.827 null]
+>> endobj
+16286 0 obj <<
+/D [16771 0 R /XYZ 90 633.157 null]
+>> endobj
+16775 0 obj <<
+/D [16771 0 R /XYZ 90 628.674 null]
+>> endobj
+16776 0 obj <<
+/D [16771 0 R /XYZ 90 567.766 null]
+>> endobj
+16370 0 obj <<
+/D [16771 0 R /XYZ 90 533.096 null]
+>> endobj
+16777 0 obj <<
+/D [16771 0 R /XYZ 90 528.613 null]
+>> endobj
+16778 0 obj <<
+/D [16771 0 R /XYZ 90 443.795 null]
+>> endobj
+16371 0 obj <<
+/D [16771 0 R /XYZ 90 409.125 null]
+>> endobj
+16779 0 obj <<
+/D [16771 0 R /XYZ 90 404.641 null]
+>> endobj
+16780 0 obj <<
+/D [16771 0 R /XYZ 90 310 null]
+>> endobj
+16781 0 obj <<
+/D [16771 0 R /XYZ 90 231.604 null]
+>> endobj
+16372 0 obj <<
+/D [16771 0 R /XYZ 90 183.493 null]
+>> endobj
+16782 0 obj <<
+/D [16771 0 R /XYZ 90 179.01 null]
+>> endobj
+16770 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16790 0 obj <<
+/Length 3162      
+/Filter /FlateDecode
+>>
+stream
+x��\[�۶~�_��V��`�/��C����n�ƛ�8W�V�겡��7��R�QZ	N^��%E��w���a���������d$�������		����C�����LjD�����o��������ٶ��w7��h��	��`��y�3
L��w��уO��r�)��b����78��^��^�@sǡ6c>P�!�=7oG���X�۲
2�8�('G8l����`fX#X�ޙI��[��%{d�H$��
+�	2B������
)Xg�1†���X�~��-�
^ɇ��:��b>���hL
~
Q ���Ex�]��y5��GM�bf���1]�'刈��Ǻ�l���?�6�7<{X�S�?eA$"WL�(D,I�s�.;E�:E���:�%�A' >
 �RL��^����U\$!q� �.��J��s�����-~�j��s��M����7�غ�V�����~�������v^��i�1�6Vb<�&����x0�sh@�x�����o�x��g��  �u�0��U���?���w�A�
��Jʥu
�
+�iTNA����l�d
+f���<)��C'���J2
օ��~������)���@�J�)��:�s���i��`֯�E�^R�6��f;���V#&�XT� �L
�� ����#�Y�y�l >t��qD��h��(6ܱh�w�zmE���e�+�{�U��3�4
�"t�U�@\�]��������O�>V1��BFӦ�v^m�Q��
jQ���i�c5޸ZM��Gк�K�m�g~�R`�
N���qa�>�g��V뭿)�e�XLJ���T�r�H)�<�*�p��w�N�9�N��৔53��+��"�L����r������Y5B�\B%����d�wK�a��iSN�]Z��Ͷ.&��)8`~�E��n*\��i�/�&�w:��~;�l����Y<������L�u]N����u	>�?e]<Ʈ�l\���jYl�4�9N L�r��G�A1�VO�u�����
|��_��a�E�e�(	��ZE��>�z�:��j�\�U�#MC
��c�3(��m=oB�eq�@�2H2�)16-D�����(Ȓ���x�
�>��i�`�R���9X�T#-H�›꾶
�
>����c��^����
�g-<{
�7�,f��
�� [...]
�R,k��	
���ǔ��n�?��@d�&S`:(R\_����4�#%xp�A�Blr{�.�
�@���ε�C
����!R�D��$
�/F4k5-W�e�*��ՠ�
���j*b��[
-���Lic���>[(ې.�9���M�����1/�ƾ^����kg�\�i�Z?�Q��؀��Q8��>e`��o�6��oo�
/��	��PF�
��ޕ�H�қ�8��p
�k
X�9�ײx|
Y ����z���(D.]�

���G�-����ʇm
�Ie���F�Ĵ�V�$�0�ð ��DZɔ
�)P;]�⸹��C� �	���t2vt�1c�����9g��g�_�P))^�P���dv/��7I(o� ,��O����L��>�O����M��Yo�g

"-MO �
�<���N��:f���2Ӣo��� ͻ
����x;VO�8ln�����M�Êh�!��+��~��τJ���Ⱥ��4����Ȋ��K�����]��X��\<2�^S�j�u6"��i��>y?��C�ڋW�8Ā$U4'h/��������l�@�ɬ��/@Ӊ�
�4U�
�W�
�y	���l�q�M�`o���
�yv�/)�
T���+�讯u���_K�
`��}bk��t�+~*1�iq�Ha���ƃ�"��ȮH�T	�|/!�/��Z<�Њ!�+�
	1�ln㡺�S�M�g�^��Q� ����J��q�e?ŗ+�kh��K
6�	���&)kFɩ��,9!Ե)k	$"��JYK�/2�@��=�JY�|�
+��E����&�B#�IN�$�*�.�=ism�VfX�Ԍ�G�s�2Gr�c�@m��y2wn܉����hPĆ���r�i�=/�a�ԕ@fW6����y�Jq3��P���z�6+��d��'���s��c
+�d����d���`�@����enIq��J�SF	�\9<e<2-��*O��N��-��d��7N�3*�!���R
I�s$��q����|�ԧ��m��Ej���6~,aT�IKW_���n�}�*����.�
o�ż��W,{��#!`��<��#!���E� �
��H� �%%ARq��Zr`�;����᫰d
��J�����س�E�
��@�Yo��Yp�:"�
������
�
���G0L,���{��)lb��i��X���f��u$Nz`P�nl��hw�{��V�������Lv+Cހ$X`��./�A�J�;� (���<4�����)~�h�m*�yQ	�J>�����6U�(g!
+�ۘ�C��
-P
d�b5�L�5�qV����
+�'k,;E�>
J���q>�@>l\NAiѦ���A�j9	���I����]��<,�x|k�$�Z��Nс����,Z�Oɾ�hu%3I�D̜]����y�B�RӺ|�G1bI����=��7�$��7��E� �[_TҺ��4��x����gd 
�4��� <x�g��uP�^{/#�
^�^�K
S�oorU�.^�㘔i��
���ˊ`���?���!T�or�|� M'��"NN$�C|rflG�[
4�.���#����8ϦO����L4U����"ؗ)��T�Q?{M�$� '�LR
���7<pS�K(���N�1�.���!��N��x:tڟm4(�(�'Bѐ͊=�p���fی�FŦ����•T�rj6%g���P0sT��zar?���.�u5�
�f�,*^�z��HIޚ�5$S	���*�e�����0
+	�/�rc���k�޻�����ߗl��5ۑ��`��5`Ar��%��f�8Dy�6|��㦬�8b�|�\����L��
�I������&����o��?n
�;�
�o����^�?=l��Uv��߽l���}�1kB���V��s����L�����Lx
+endstream
+endobj
+16789 0 obj <<
+/Type /Page
+/Contents 16790 0 R
+/Resources 16788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16783 0 R 16784 0 R 16785 0 R 16800 0 R 16787 0 R ]
+>> endobj
+16783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 495.333 246.767 506.237]
+/A << /S /GoTo /D (index_Single_Update_Affine_Functions) >>
+>> endobj
+16784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.899 269.908 431.977 282.826]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 104.805 535.938 115.709]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 91.42 261.145 103.754]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16791 0 obj <<
+/D [16789 0 R /XYZ 89 770.89 null]
+>> endobj
+16792 0 obj <<
+/D [16789 0 R /XYZ 90 720.814 null]
+>> endobj
+16793 0 obj <<
+/D [16789 0 R /XYZ 90 642.816 null]
+>> endobj
+16373 0 obj <<
+/D [16789 0 R /XYZ 364.289 566.611 null]
+>> endobj
+16794 0 obj <<
+/D [16789 0 R /XYZ 90 559.971 null]
+>> endobj
+16795 0 obj <<
+/D [16789 0 R /XYZ 90 467.487 null]
+>> endobj
+16796 0 obj <<
+/D [16789 0 R /XYZ 90 389.091 null]
+>> endobj
+16374 0 obj <<
+/D [16789 0 R /XYZ 90 342.465 null]
+>> endobj
+16797 0 obj <<
+/D [16789 0 R /XYZ 90 337.982 null]
+>> endobj
+16798 0 obj <<
+/D [16789 0 R /XYZ 90 243.341 null]
+>> endobj
+16799 0 obj <<
+/D [16789 0 R /XYZ 90 140.636 null]
+>> endobj
+16375 0 obj <<
+/D [16789 0 R /XYZ 90 81.969 null]
+>> endobj
+16801 0 obj <<
+/D [16789 0 R /XYZ 90 77.486 null]
+>> endobj
+16788 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F24 529 0 R /F117 2446 0 R /F8 794 0 R /F13 834 0 R /F11 613 0 R /F7 795 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16809 0 obj <<
+/Length 2909      
+/Filter /FlateDecode
+>>
+stream
+x��\�r�}�W�)����/L�!QlWl������.D.ITp�H���93�
�,v;V�<�v����>��}%\

�_����׿�\\~c����
�<


����~�n�(�|4f�������d5��^�8
.g����������j��|uU<bv�\��\���d���o��"|V,�
+�R��f���w_�\�t��
���"����~��{<�g� �@r��l���411��i��j�Ade������~4��X���׌YA�tA�
ҏg�V�}���D	�(v=
�8blx_�5�4��;œI4�
��085Ug�
{u��?/�j2�������yE���Aú���(勢eb���f��>�V'?��)�a�q"d~��zM[j̥!:�!�)%�{�8�5����%�L}VG��P+���w\���)n���)f��t��}�y�
�k�nqn�ª��?�K����b9�n�XoZ���t5��tQLV�_��
7�z
]Zd�]��o��MM�-�
Qx�y��EH��$ D���jY��M�Ŧm/p���蹗%FQ<N�YM�����v��Xp��7zN΅"L���� -V!Ҷ!�B���b9�.&�%6>�v��G+�xl�W���].�Y`��
��U[�
���{L�lm`�=�.�щ�Wؔ�5�R��
����I�

n�q��{Rjk�PѢ�ĺ�j��i��c0��b7���Ƹ�X��|hQA#0q�]�O��S�uU�����v���(��o�X"�ͷ�wa�c��Ã�È�a_K�1�4
c�^4�X�vaKi�"��N�
N;?��D�2ӠF�xC�p�n1m�����D��ǒHY���NJ�='�!�ox\��
�6Hm�է܉bD+����}&%���l)J-C$�%pLu#v}z��mY�j��9Y�d6�8�m2-S� V��g�k
�p�����@����P&4�N�'H�
+Kv�I�4aۋ������b�J�BR6��E��:ؼ�&��O���f�9� ���S�Z��"�ו���
4u���T���J��#$I"�?��@co
+S&:���^,�9
��#E���&���x�Ļ�ɢD�zz_~��Ǭ*�
+O�S�'��?H]}c���
+g�az7V R�pˈ����3d,�#�rh�ee0]�2�*�
aOu�AXW��P�<	,���Z/�dF�d��b��d
+U�D{��h-�� 5Ru��J?eZ��(�����
�&f�m�h5}|:���SUź�4ԝmm7F��dlN��Q��i{�t.�b

E��RZ��l�(�ziӎ��6tN7�9g"����Q������v�k��R��Q��[>�@8����_��c]��\��I�C`?�6�|��D;� 9	��m7"u�21~��֌v���P*
+BT�U}��]�t$Y>!-V��d8����
��I~�a�K+;�ִ*OR�
W��߫�
ϙ$��JȪ<
 
5
JG��LW�zsu5]�$�����v��r

�=�20 9-�=@o�*�ğ搩)7A�SSKo�VK��?!z(�Ӈ6���m)�_[F�n�/o"�/�	���LGl�66#5[��
��8"�8��|�ܧt�`�YJ'�
�0�~
+0���{I�4�NQ�ϟ����G�h���.4�
.wDͤ�v�
����M�����yrWθU�T���bLI����_��t��dRNɎ��6e�"�nj���r�����N�v{]6���
�_��y4t$��/�LJ7��I�cnVӻMw=s�����f;Oi9q&�!�G�Ѯ�T�<ME��T�N
k*Jl6/�wK1
V;�N�(Rm�O���T���yۉ���Z�f�1����^"�>�?+\ä�Ϛv=FBq�
�l�����jHNn�AKj�����.G̞֭-G��e
G!�	
G���
G���
-_=��U�@�ިr��Qe�*.UG�J��>'��JU~ҲK�o[OimU���b�n�T�
+��&�����F�oRYF|
g�
�$��`T�QI7&�����J�z�3u���F��.����wh,Q�hW�
���1#�R��v����0��B& ��P�
+�e3Q��H��Oc�W��r�
�����Js%j��
��mK��!���X�,0B	��3:koG�T����NOu�1UW�o�|�=
��0q�R�����?�2E	�H؇�qy%��hGI]��Lm�����v?D���f��_Fi
��Z��6J�𕰜lï 3l3nP��3Z
��vMb�ю2N&��/��gg4���vVtv��mlv��:�-�ig
%r<���r:����;V�A�R

��<
�h�^�Ӱ*���"9���k�=1�넡rW=�](�\�Nzv,`��b����(YL-�o��={�t4��2�7H��y���XhU��[VVV
ce��A���SnY��I�,*^�r����m�D����*����ժ��a��
+�efx�r�μ�k������0O+���{������9�8OYZL��9����H�[����;�
+�֯�A�R��d�����/
���t�֜@��:M+T'M
d	
?��������΢i�o�T�Һ/��2�pX�,n�K
e
CZÄ�J�2ʼn�/�i{��ʖ$z|I��|c��/C��N�F4aS��_�1Q�_-
?���N;����'j�W�۳��Ή��#X��I���e�*hՒ;���G;J�z|Q��|k���y�q�����9¼8��f��f=�%��M�\�]�ׯ�Ϳ���#��e���ä�t|��ѻ�X�� i[���X0:|[T)jT�?�������TaJ�����f�|uy����X<���|�n���-nk���g
��4h���yT��\��
3�V���G�1<��߇������ߖX���
�;@�
+endstream
+endobj
+16808 0 obj <<
+/Type /Page
+/Contents 16809 0 R
+/Resources 16807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16786 0 R 16802 0 R 16813 0 R 16803 0 R 16804 0 R 16805 0 R 16806 0 R ]
+>> endobj
+16786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.307 660.661 434.874 673.578]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [523.983 495.558 535.938 506.462]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 482.173 261.145 494.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.631 413.484 429.297 425.964]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 269.982 267.79 282.316]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.883 201.294 440.282 213.773]
+/A << /S /GoTo /D (index_Generalized_Affine_Relations) >>
+>> endobj
+16806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16810 0 obj <<
+/D [16808 0 R /XYZ 89 770.89 null]
+>> endobj
+16811 0 obj <<
+/D [16808 0 R /XYZ 90 634.093 null]
+>> endobj
+16812 0 obj <<
+/D [16808 0 R /XYZ 90 531.388 null]
+>> endobj
+16376 0 obj <<
+/D [16808 0 R /XYZ 90 472.808 null]
+>> endobj
+16814 0 obj <<
+/D [16808 0 R /XYZ 90 468.325 null]
+>> endobj
+16815 0 obj <<
+/D [16808 0 R /XYZ 90 385.639 null]
+>> endobj
+16816 0 obj <<
+/D [16808 0 R /XYZ 90 307.242 null]
+>> endobj
+16377 0 obj <<
+/D [16808 0 R /XYZ 90 260.617 null]
+>> endobj
+16817 0 obj <<
+/D [16808 0 R /XYZ 90 256.134 null]
+>> endobj
+16818 0 obj <<
+/D [16808 0 R /XYZ 90 173.448 null]
+>> endobj
+16807 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F8 794 0 R /F13 834 0 R /F11 613 0 R /F7 795 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16826 0 obj <<
+/Length 3061      
+/Filter /FlateDecode
+>>
+stream
+x��\]s۸}���S+ͬ|t�m���6ݦ�ۗ�NF�h[S}x%9Y��� �Eʒ��i��dDS��pp��=�hr��介�_]��ֈ$%��:��MR�����,y7RŽ��>��j<�o���W�~�z�޻xuu���[4a�E�Mn��~��
��O(�M>�F�Dr��E�����z%\�K�Rx���6%���0A,U�;�~��
v��j�
�3��Eރ�`�y�����~���f?�M,F�hˉdg�&\����2���E�Xâ��$����&KnF�i��1N�����^�4����r�K:�0]�g率�0���e���շ�J,��9L
���q
+!	���8u���n��~�
s5��O5���ۋo�l<'�i��~�T�m�j�!�ee���|��	�׸��"��.gsL��`2_ݬ����z������|w���FS������%[�Yo��0"�,�l�3�?Oh*�X3t�T{��E�p������w�D` 
+NN�bi_��^<�g��z���݄+:��f
�t-*�6�b����PX�\���d���m�7���.��<-��
rx�(����ހ�,r�F
��l
N�:
M���43J�6�O��Lc.G��
������-��	�Y�=#����Y�hZy���
$B�ތ�c�F
t
.p��(.p�t�y����������e۟1S�����z���e�}�4�!�E�N8L��Mo�*���p�\t�гQ�A,�y< u���r��H-6��&������t3��p�3f�'� ܘ"���������
+��vBqo�|v
~pI�e���U6ݼ��Cغd�a ��D�ԯ�\�۵J�
�� �Z8�(N\��3n���Z ߦ2�4s8t#� 
]S}��O=A�
$1��($%�)��MR!�&Y����o��yI�Z���bC"q10�I�Q�MQQ��f:�m//��j�JpŠgvϱG�����7�-6x��V7�;k��j�Ͳ�z9_Mw��pnG��@��8
U�'����U��
�"V��(���+h�(�h�z�b��VB��$R�?�;`�n�h�գݺ���h��2Ɵ'cF��Q�w��z�/�V�ȠB�U&4uP���;�ɶ��YpS�O�}�����e�󭧷��iɿ]ѵpE��\�ᠹ�H�����]��D����|�}#[�O�v�~��ҧ�	� �"�!�%�d�q��զr���:��c
��\E.�6<E�:+�`�
Es�'�p��ӎ^�g��F����&g��j�C��͈�ZK�eH1�T%*��P1dJK �Ƙ�EЏm��Z�J
+�N`t�0GTЭ)y�g��e��6�
>S{	:8�"��!^�'�HԈn�Wc�T�%;|�*rmh�����2��
+��&�
����b�w�:L1�
�|�Ǖ���TEl��LJ�t�"��~�_we�V�l�j��I��
X?`RX
[�-����+��c
��
+����2Yf���;q�q�9�
�cM*��
�٦�X�!��"/�e��>-�Ww}�+Yq�폃��c�	LRnc�.��
v�kD$����p撺L���n�;ݨk�s4�

>%��
f?<`R��D\l�
p`�Diuz��od3��;�t�� 7̝n�5��g�?�ݬ�����pO���ht[^g'?�w�hQ�M�t-Z���vg�0��

.[O�}���r���T����
M
�&YX<�����c��ًЋ]gQ蘌�|�������=��)�"ϜHN���7�GA��"J������8Xk
M�7�R�
�y�����xr�+%/��p�cuW�l���-�4��`�_�ƕd��aG��V
����?Ң���C��0	��Һ��k�+EP��nV�`(m����,_���U��n��ڧ{6S0��yd�BWu��M��+�l����.T/�7mw*>�?3��PX���AM�2�s��?����,nH
b�Y�f�T�%��}��Ҳ�ӧ�re�9��P}����
��*�T8�$E>\��b�FpN8q91p�<*��ҳQ^z�l)�@J�B�9��
��Z�e&�H�T �9)�D�lɲB��H�1&��HO���D�O�H�=��,�D�L)�:E"��})���I��-�R�#�����y���c>:��WIi�͞� ƨ*�j~L�8�ÇZ%�
^%u�qP%E�Z%E�V�o���\�z�T>���*)�Bk�0Q\
SI
S8���=J%5DK�:}P%u�L����~�T!G�\%Uǫ��?��
+
��I|�J*ǸIOSI���J*��9��ݢ���TjET����;�����,�6��oi�珫<�1���sd�xEӪr���jQ~|�D�t�;� k��)�g�!��DL�E6�#N���:�<�qHOA���G�Ӎ��?��@z�8�����1�b9��&�@�5%��g	����\ӝ��1���E�Ǯ��:&�<��i)w�k]��)W �6}�`&%�
��$҆�)5u�Ƌ��F
g)��z�J��J�U%�rTҳ�\ot9�Q� ��ʤL��(ْI;L��a����<sߖTr�L���i�ّ2���I�m9p�H��;�J
���8�-�ۮ^�<ʊ�YH����9.�(:�J��n
+�T��;_Bw��Sr[d��z$7��`��a$����'$cZz�w ��F��4r!
�_0�V��<����������
� ��4�����u���e�� �
+�
�����kLkA+yў�^�
,
�}��DtF�2�XܟY�o��i�r?���˧k�M:]�8�O#�T�L�@�#����8K6}`�]t�9̀M7�Y^��5�lv �z�+�[?�뻧̳��
���^��1J����.��&���D���8�w����sg_���Rf��]�q��,�)n���R$X�Xmn{��`	k�~�G�l��C�Ӱ���������l��R�"��y�z,�J�=|p
*�ԧFh^0�FGo�2m�~��r�O
�
�$��0��n�p������6[� o��� 
u~�-��\�8��ps���0� ���Q.
+endstream
+endobj
+16825 0 obj <<
+/Type /Page
+/Contents 16826 0 R
+/Resources 16824 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16744 0 R
+/Annots [ 16819 0 R 16820 0 R 16821 0 R 16822 0 R 16823 0 R ]
+>> endobj
+16819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 681.422 267.79 693.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+16820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.059 599.5 422.924 614.215]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+16821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.333 348.002 425.662 362.718]
+/A << /S /GoTo /D (index_Single_Update_Bounded_Affine_Relations) >>
+>> endobj
+16822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 121.694 322.446 132.598]
+/A << /S /GoTo /D (index_Time_Elapse_Operator) >>
+>> endobj
+16823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16827 0 obj <<
+/D [16825 0 R /XYZ 89 770.89 null]
+>> endobj
+16828 0 obj <<
+/D [16825 0 R /XYZ 90 718.682 null]
+>> endobj
+16378 0 obj <<
+/D [16825 0 R /XYZ 90 672.057 null]
+>> endobj
+16829 0 obj <<
+/D [16825 0 R /XYZ 90 667.574 null]
+>> endobj
+16830 0 obj <<
+/D [16825 0 R /XYZ 90 569.89 null]
+>> endobj
+16831 0 obj <<
+/D [16825 0 R /XYZ 90 467.184 null]
+>> endobj
+16379 0 obj <<
+/D [16825 0 R /XYZ 90 420.559 null]
+>> endobj
+16832 0 obj <<
+/D [16825 0 R /XYZ 90 416.076 null]
+>> endobj
+16833 0 obj <<
+/D [16825 0 R /XYZ 90 318.392 null]
+>> endobj
+16834 0 obj <<
+/D [16825 0 R /XYZ 90 215.687 null]
+>> endobj
+16380 0 obj <<
+/D [16825 0 R /XYZ 90 169.062 null]
+>> endobj
+16835 0 obj <<
+/D [16825 0 R /XYZ 90 164.579 null]
+>> endobj
+16836 0 obj <<
+/D [16825 0 R /XYZ 90 103.671 null]
+>> endobj
+16824 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R /F7 795 0 R /F8 794 0 R /F13 834 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16843 0 obj <<
+/Length 3468      
+/Filter /FlateDecode
+>>
+stream
+x��[�s��_��V�9��M�3}H�i��|\sn��%�%�b+�:������ He��>$��.��,�tr7���/���x��HLbk�'W���N"��n9�4e�>�3J��Ì�iRn��3N���q�.�����L������3�"�͹��w뤪\���6���|�]!��*�~���⫫��
8��8Q$2�����ot����L(��<�N������Nj\P/%\a/^D���a�#!D/����i�-����;��Cf�<����ⓓ��-��<1�	e:`��Lp��cS7ч
p��6�p��!:Rnags3���3c
+���L���	
)3gBH"dpx��r�B�REgs��tQ�U���@�)ќ��۟f1�͒�uZ]L����Qq�ş\ƢNC��M�{D~b�z3��\�JE4��A�X)�՗�._����y�ޥ���,���mz�3jH��WC���J�f臙�ӡ1� �PM��c��n�BVi^'uJ;4h�	7팔3=<(
+S���
mJZ�J�(��08��`�L3x�f`��j'��$<j	��^e�����ǪN7�
.��,�����
�0"r�"��P$�$V@[�/Շp0�X����nȭ���"�`�H$E�
�^�x?)C�
<�P��z�r��\0E�����l�)���Y�8dG膚��!����a�#����zU�ժX�I�fp�a{eaz�N�'�I�Z��`-�Ȁ{e�t�OP5¢x�)�1'
�'��,_f��r��׸0��gFI��-�u�K�h
�^K�2�.�
+U�y�~������
�-`AO5���07U at h���^���6]d��<]��l�@A��}q;
��Gq�E]�
�d���� ��I:�$�5�	J�L�m��l��6�z����÷�%��D�E�tD��PL�'��R$
���1nO–6��u�?pc�Ah�&"������f����

��L�S�5�!�
��j��D�:�>�=~��&xq�o����(�~m
P���ù��!Y��*������l�%yz��Dv��
G
�TF���)Z
Ep��i�9�X�y+F$G�@(GM�vv�cb�]&,t�T�mBS[�����ݍ���[��+�0�w�8εz8�ވ=|�n&$�Ei����!!^��W��Q�!E�4�Bvt��vH:����;i���&�?�g11ـ	gm�xZ�ƥ�i�Ϭ�������c�ص�,v�շ���pW�]�U7#���b֧N^co_=yǑ[�X�1�;6E�]��2�`W�R�H�e<	�g�0��=
�B/ A��}/���ݤ�S	���O�r��7u��
�p"�9DC��h�e
�
��D;�
���D������Z��N�"Z*��Rr#�6�yH��� i�hј5y���)�>��a`w�PTUv��M�V�|g��m��Ddj���a�.�6���+����UQ��{T�&Y�	�iK�V�6�v��kPi�o�\�@*�?߇��B���ہl�\Nh����BaNv�|�r��<�l�^��4_��F��9\�S``��ڽ��1m��� �Xx{`���B��
�.����J=�y��q�mj�H� d�-�!D
{p,�
�b |� ����,�����;q��
�@Ӈ�A�vP�.�-�����-pz����r���
"T��i�â_����7�::�+���W۴�-ʍ�5 ��cf@?(�ϻ
�4�v} ZƔڮ
||Ў�
��5����G�$_��˝���v͖�����
�v����p��p_zlp�X�z9��E
k�t����-&�Qz|��K �o� m����+

h=؃�G�i�ߣ���(}
p�Ȫ��<ɇ������d�����:k��A�fq��N��^@�Ko4907\DŽ
s�}>�3�9;Z�
���Q?�$U$G�ܣSt�әZ��R�	뉔�P���8�&į��x\c�e9��'�Oq�gq>��ο���W$�o{��>�-*�`nv4
�
�Jc?�JS��|���
(�*�[5#8��ޡ?��F5qԬa�
J�.�̇�}[v�O!��&�����x�2���M�i	���qd<&� �b��&Af�S��׏93v��_���$�8��0�j����x$��
+�@��P��b�
�F7�����;<�������\x����M{�m<�
+Pĕ�)7DR��S? �^7���M��0�ܻ2M\�Z����Y�/�C��\�2�h����l�
+��Nӭ׮�qM��{#�֫)�X�bb0�r" 0�ρ}��"���v��A�	GJ�Bs�$�� Ȝ>' Mkq��
c/��+�S��:�s&	���(����f
6Z�3��E*�֦�����`�T�Ζ׉��w�&R>�

�n�SN�����bM
n��
�/�qh(�ժt�+�%�q�j�,��᫠�����8dk7簙��
+Bn<O��l�=�7x�._�7����ǣr
+Mh�DP�{9APk�!�!T��G�?
7����9�5��
�9
��b(.
���������㸽���qm�94�-`���R�*�
+Fa�6��`��'$�%?��QGg'�0���
�Q$�=N�a��:FJ">wB{�p�����J
;ƨ�-T8j�j�z�F���4��_��l�
�CZ�ǁ��
alI11m±m��r�`�E
+1ע h	l�;�S��tW�<T�����a�[PV�
B`#�
���r���>|�տ�_�2P`6<�ק5V�_�yk�?e�:��߂��
+!eDXw���c\�:ͫ?��Pu��ϸ�������e�I�Y]q;�b�7���r�	��a6�V��,�}L��"/F!�5��T��%
�Gܥ�N���f�G�y1� zs™
J����?���
X�R[�I~�6x��`���ξ7�;��d}W� ٍ��:�
���
����������0���6���u:����4��b
�
+�����e��[��_ެj�J�үq���ţ��M�����
�M�؄�O�7;��*r��:t
�{����
�1�a�O�xқ}ھw?e̼��\�ɣ0���/���D��-��87�d�XJB����K8���Q��a'f����N,��;
v�1��N��G�N̞�1ƌ�-d�|&�6�y�ؒF���
�A
+h��EI��?���k
��'����$�g~U�c�U������"sR �; Gl8 �`���0���=�y����HX�,E��@��g�8R#��
d�n�ȝ@؈&��-���}F�
�]�ۦ��}����
ԃ�x8���z����dGܼ���R�A =q�o�M\��G`Q]�DFV%ˆ�Ço]�UZ�y�@A��wI�k"=Te_�P�����Pc.�~L�x�1��I���;Dڳ�e�J�Z�����۷7��*����!d;r at 0��o��ٹzWS�%'��4���*)#Z�f&`2?_`�1����m͇ۗ����1�k����
��

+endstream
+endobj
+16842 0 obj <<
+/Type /Page
+/Contents 16843 0 R
+/Resources 16841 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16837 0 R 16838 0 R 16839 0 R 16840 0 R ]
+>> endobj
+16837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 649.984 116.998 660.888]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+16838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 608.788 243.45 622.736]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.883 440.853 361.886 453.371]
+/A << /S /GoTo /D (index_Wrapping_Operator) >>
+>> endobj
+16840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16844 0 obj <<
+/D [16842 0 R /XYZ 89 770.89 null]
+>> endobj
+16381 0 obj <<
+/D [16842 0 R /XYZ 90 721.073 null]
+>> endobj
+16845 0 obj <<
+/D [16842 0 R /XYZ 90 721.073 null]
+>> endobj
+16846 0 obj <<
+/D [16842 0 R /XYZ 90 634.093 null]
+>> endobj
+16847 0 obj <<
+/D [16842 0 R /XYZ 90 374.775 null]
+>> endobj
+16382 0 obj <<
+/D [16842 0 R /XYZ 90 328.15 null]
+>> endobj
+16848 0 obj <<
+/D [16842 0 R /XYZ 90 323.667 null]
+>> endobj
+16849 0 obj <<
+/D [16842 0 R /XYZ 90 252.936 null]
+>> endobj
+16383 0 obj <<
+/D [16842 0 R /XYZ 90 163.282 null]
+>> endobj
+16850 0 obj <<
+/D [16842 0 R /XYZ 90 158.798 null]
+>> endobj
+16841 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F24 529 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16863 0 obj <<
+/Length 2699      
+/Filter /FlateDecode
+>>
+stream
+x��[[s��~ׯ�)����ލRy�:�f7^��V���n��I������9M�
00׶���A%`�_�� �
|{�����*�(�T�wA��C$$�̓w������&5"��Y��?��~���������Ň
?�X)
�./����9\�>���:x�-N�_o/�q�k,�D�94�j� s�P�c
(�P�-��)�(��q�SB&E�kK��
��?�߶V�5��ٹ2��֒�Y���@j���%v��ڽn[�a�&F8�v�?F������nI��YPd[�DJRՅr�%iYLg���cR>أ4Kgp=�1����lr�e�<I�2���e�=(�"���T�!%��".���6�͓e�I���(��o�I�U>��!(��V�n�|
���mD"r�6�ڕ��h��%ZSU�
++;W^o�^c%��4��JȖ�E<�x�))�2�� 
m��x��>%�haOj�`���Zvg������b���r��ea��šFv��ƍB��P�4��%
�>$��:�� X
e��:5R8/������u��i����$�՛�
+J�Z��Ҩ����R����Wڃ�D��F�qZ��3� U�
+Z�I�ր�����eS��Ф"„�����_�����W�������!��{;�ko}o�g
v�1v��#i�d:#c��$K�l�]^_F�e�yJ�@h�K�ΰDQ���^�-�hpN�lB+����`t�-L1�����
+ĩ�j�{^'79dڙ�<]^�������o��ӿ1���
+)�u���D�c2��$���Q
�qg�($;w��"�O�}���θ4�3-�ڨ�9A�R�:3�2y [�;�a��]ܡ��;��6~��čx�j<y6 h� ����`����N���^$4wr�V���+p/��+�	�'
ph�������~�n�^��=��
+ː���/*mԁ���9��m/���%4@��:����1�
��l
�E�͗&�Kc�.&�
3��ז�ӷ��j���YǨ�.�Cn��1�ӁR
+�%?`��F�|H�i�6��-E���^`
̍[�*���ZH�/�Z	0+�`�-��W�q�^�C!���-��P�1X�vP��~��Ce�:?���Y��u
��.�.wm� ��A7�sԴ�
m�3�_�!&�� R5P��?
R1����V	"��Y1{�X:�Q����QL���%�,�<Æ�F��X�Ui��U+g+�*ހ*9)�d��è
ݤ����+E	
Z�|��&*8H��'�JTp-2��,6��7ð�Ub�sS������#�&�
=>��!Z�O�'�&��g�M�Y�3���"r�O|��&ֱ�$�HOV�3��k��u���R.L�k����m\Y�d{@Z�P)Bw¯�^}Ė��ict�B��-���/��k���C��X8!y
���WeF
�+�}�(痗��8�.����Х1��2N��fO1G3�+�����R��-���v�#eݕ^?�	N�=�[�C/����FZ6�o丘2�b&��%�i�2���4
����1��
a���H&B��{���a�H7ԼK�
�C��
���	�06�ϥvB����v$�> jGօp��H�Ii��
�b�06�'H@�%��I�^�Tc����l��2��W#���!p��0���Jw!4�p�ԋ��Ҍ�
�Y���`�I�},�
��L�Eiq��@)GX4�^�Q9�]���OE/�~wC
��w[
��s#�w�/h^�4Z
f�
e��~�/I{�ܴa���6��|\;�~�&6�@�S53lb@�]�]��
\䗐{��$�{��s����q�uq�P���n��J�
^���-�Vq
A8�(
+C
 kNa��uk��Z'��.���*����
�#(�3A
2
_)8K����fi��G;�,�2sj�t��̡�W�,��x�2�!�~&�aCo�hކ(l)�{��*���s��S�d��&����kCj�)g:��N_������
d�%Z�S�`�>�_�֑�1��y(M���+��_eOV�3@���>\9]�q�/e�?�k
+rA�ҿ�A�
:ؼC���Q��%���Z��Ԍ���q����-�q��

�~;�lS�J�a�WPļ4{���P�G%zW�G�>e�_�X�
W2����oނ��c�����d�cա�m�H�c�݀}�|����/H����	���K,
1g=b�m˜�#��K"�<�`���Z�.�ye��@0��`=��7�:���\"	�<�c�l�H�(�
}��{jkz;r��$tG^��M��
���:�7�
�Mw���S�?攙�#���0)WA �r�榎S���jS̵�\���J�y.�T���ՌqB̔�A=���5�d'�
A
���={23o1K�pǟx�����_�
5R�g��[`�hhp�ݴ��,�#��� 
Rm
_�cK1��ͣ�M<�
-ܷ���A���#��;V
+�Wy
u|
��?[ ~����
�Lj-z:	��ŽBHe�~��~yHU�)L� H!S*Z��>�~ts�
Ͽ[��/ۈ����F�Ӹ�Kns1A�(wӮƯ�^ۃq�G� k-��k�A�)��jsӖۋa�O�����K��o
�_T�G�/t��P�����o��E��#(������0Dx�MƝ{�l�5�
+�pqY�G�T��J�
+endstream
+endobj
+16862 0 obj <<
+/Type /Page
+/Contents 16863 0 R
+/Resources 16861 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16852 0 R 16853 0 R 16854 0 R 16855 0 R 16870 0 R 16856 0 R 16857 0 R 16858 0 R 16860 0 R ]
+>> endobj
+16852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 550.755 353.45 561.659]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 485.251 362.353 497.584]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.29 362.874 361.65 373.778]
+/A << /S /GoTo /D (index_limited_extrapolation) >>
+>> endobj
+16855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.848 362.874 513.996 373.778]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 350.918 154.089 361.822]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 273.06 362.353 285.394]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.644 138.728 376.001 149.632]
+/A << /S /GoTo /D (index_bounded_extrapolation) >>
+>> endobj
+16858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 126.772 167.927 137.676]
+/A << /S /GoTo /D (index_BHRZ03_widening) >>
+>> endobj
+16860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16864 0 obj <<
+/D [16862 0 R /XYZ 89 770.89 null]
+>> endobj
+16865 0 obj <<
+/D [16862 0 R /XYZ 90 720.814 null]
+>> endobj
+16384 0 obj <<
+/D [16862 0 R /XYZ 90 607.922 null]
+>> endobj
+16866 0 obj <<
+/D [16862 0 R /XYZ 90 603.439 null]
+>> endobj
+16867 0 obj <<
+/D [16862 0 R /XYZ 90 534.865 null]
+>> endobj
+16868 0 obj <<
+/D [16862 0 R /XYZ 90 456.867 null]
+>> endobj
+16444 0 obj <<
+/D [16862 0 R /XYZ 90 422.197 null]
+>> endobj
+16869 0 obj <<
+/D [16862 0 R /XYZ 90 417.714 null]
+>> endobj
+16871 0 obj <<
+/D [16862 0 R /XYZ 90 335.028 null]
+>> endobj
+16872 0 obj <<
+/D [16862 0 R /XYZ 90 244.676 null]
+>> endobj
+16445 0 obj <<
+/D [16862 0 R /XYZ 90 198.051 null]
+>> endobj
+16873 0 obj <<
+/D [16862 0 R /XYZ 90 193.568 null]
+>> endobj
+16874 0 obj <<
+/D [16862 0 R /XYZ 90 110.882 null]
+>> endobj
+16861 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F93 763 0 R /F60 532 0 R /F75 554 0 R /F117 2446 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16886 0 obj <<
+/Length 2478      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���S+�T0�w����i�t��q�N2
ڢmN$RG����w�!��
�\�����`���''�	N>\�����k����2�{J
N7HH��&�F#M��1
ݎ	
��yz;�xT��^��2��6X�˷����1ѣ�O���/g�j�/�˞2���x��.�R�'������d8!
�@J'��O?�d
+��I0bF'���<���,�x��+\
+#a���
s� �Ͱ=�����1��
+�!�8�
�c�M�iO=�ƣ0E�S?����LA0KDRxx	���D���v���*/�t��e^T��p#G՘�J�֭��*.�����
+�<}�e�ɪ*�y��o���i��?4F�'�,�n�
䳭����:dV����X઴����ZQ;�C�o�rp���%�}3],fo
�Y
n���.��Y���U��w̧Y�i��W/u�-���p�k��ҷ�a��R���%hxq������a`�aL��7��7M�&4�n�
�����~��c�
2���ϾI���g���
)��$�MO7� �}�?�$�m��E��pD��m,��i��E��>`�_�U5��ɋ1��Mg��>]��=��YQ
�<�
i�b�F�Cw�GD����H�A���8�^���W %�(������VGpZ�����=�̷Q�Ն#�IӦz�W�M������P
%�i��a�0�ŦEZL;��$i���6�]H�A����e�G_��rV>�M�ⱜ/�*w\m�U.�'a
����8��܆uM��lw?Đ� &/�����l���p��a��aYR�Vކ�N�`��2������M���.�
a�
Ճ`��6�����@��nnjB�8&d���}�
+$��R
�IB>a
O��%�!�1�L�����2��U�c@�\��6����!3#"ʜ@���w�2tH׼w�Lj<ᆌ
a{�j�h���rCj
y����
ƚ
�
Q�]
x�l�K��;f�d�	��d�����t�/
x�uO�sF�bY���G܁bj�>A�e�K'H��އ0�ϸ�b��ԲcP
6i͎�U�]E"�[[O�*/��zV�k��çe�uu|�
t8�NV��U�YVt��b�
$Ʀ
�{ǃ,[+5�o�m�0�
�y�W��_F3Do�Œo:�l��s �
�pJ^+`��TF��[t9��H��@�SG��*�!H�0_����j�
At���/|�,j�lđ�%�6��5����uCáw{A�e.�v��ES��]&�M4���?SϞ?��n	����S
=�E��

+e&YL�H`��8E-�
E���Q��E��^t�����hӽx�u���#��2�bĹ�}PG���t숊�����Q�d[2��
�qi��&�
h�팴ьF�%��֌��ܥq���'�ՈK
�=��:�
W2,��V�9C�9=�c
LrW���AUV��V��}UG�aU��g�c~��#]� ;R�Q*
+��(� �Q��,�畗	v���a1�1N����F�-'	���/��Ej祙
�O�2�@M�η�[.*��2��ѕ�?��$`e�t%����;��Kd�m�LD����o��wP�a�6�����PsU��VU6�0
(���a|��NpmZ�v5/(\��m�O�"����)��y���Ek͋��9��Q�/�HfYg/��\�
�`
�H����́$`�����9����{�,A
+�+��!��\d�
+��'�n�����unK���]]�`4�1U7��)9Au�D��xWݼ*p�D������-:G��8����+X.��R��$?����v�6���˛��Av��iR�ծ�U����P�+���l�pm����6��r����*�$�1%����)���z@��i��	��e(:]/@�ە|��A�={y����
��-�&�R��%_j�(��JG?�MO::
K�'
lY�����p�3����;�<�`{��G�
�g<�Y��,2j�2�%6��D)'[�b����>$&cΝ9{��B13";VL�Q X1YB8JL~(�ŴSL�)�b�c���2D�-&K�
�R����K��)v'
#@��d�/6Z2�g�%5�%k��`�Z�����$�ђ%�
���*$xx�Ҿ��!*]�b���d�k����~q��ɮG��
fJ��h�a2����5�;b�9�0-��
+�ي˿7��y��+�AWdh��(}�|l ;U���2��Fûv�关���!�"��Il���$T�j�ɺ���e���2ݿ�m�����g���RJy���c.�(;����b��Kɛ�=��������������U����b�U��ٯ��-��C��W
'���Ǭ�I=����W�5�P����7^�jqs}��~^e�3��e?k�� �6[�Ss�k^6���
�]ʂ��a�Ҙ 	�V�L�gX>�
u-���M����?�,�[	�]��Z��,
+endstream
+endobj
+16885 0 obj <<
+/Type /Page
+/Contents 16886 0 R
+/Resources 16884 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16859 0 R 16875 0 R 16876 0 R 16877 0 R 16878 0 R 16893 0 R 16879 0 R 16880 0 R 16881 0 R 16883 0 R ]
+>> endobj
+16859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 686.204 362.353 698.537]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 551.871 335.736 562.775]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 486.366 362.353 498.7]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.631 363.989 359.783 374.893]
+/A << /S /GoTo /D (index_limited_extrapolation) >>
+>> endobj
+16878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.531 363.989 513.996 374.893]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 352.034 128.077 362.938]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 274.176 362.353 286.509]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.644 139.843 376.001 150.747]
+/A << /S /GoTo /D (index_bounded_extrapolation) >>
+>> endobj
+16881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 127.888 148.55 138.792]
+/A << /S /GoTo /D (index_H79_widening) >>
+>> endobj
+16883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16887 0 obj <<
+/D [16885 0 R /XYZ 89 770.89 null]
+>> endobj
+16888 0 obj <<
+/D [16885 0 R /XYZ 90 657.82 null]
+>> endobj
+16446 0 obj <<
+/D [16885 0 R /XYZ 90 611.195 null]
+>> endobj
+16889 0 obj <<
+/D [16885 0 R /XYZ 90 606.711 null]
+>> endobj
+16890 0 obj <<
+/D [16885 0 R /XYZ 90 535.98 null]
+>> endobj
+16891 0 obj <<
+/D [16885 0 R /XYZ 90 457.983 null]
+>> endobj
+16447 0 obj <<
+/D [16885 0 R /XYZ 90 423.313 null]
+>> endobj
+16892 0 obj <<
+/D [16885 0 R /XYZ 90 418.829 null]
+>> endobj
+16894 0 obj <<
+/D [16885 0 R /XYZ 90 336.143 null]
+>> endobj
+16895 0 obj <<
+/D [16885 0 R /XYZ 90 245.792 null]
+>> endobj
+16448 0 obj <<
+/D [16885 0 R /XYZ 90 199.167 null]
+>> endobj
+16896 0 obj <<
+/D [16885 0 R /XYZ 90 194.683 null]
+>> endobj
+16897 0 obj <<
+/D [16885 0 R /XYZ 90 111.997 null]
+>> endobj
+16884 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16903 0 obj <<
+/Length 2567      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��R3�;��S/��i������x�w�F"e��z��{p!EP�e%:�L�b �� 8�oe
=F8zw�绛�o��H*���(���	Z��c,8��x�MĤF$�0�v���ݽ����v�����
�O8"@ ������8�C�7F,�ѓ
��8e�\Fn�u��,	������N��It>"l$��V�
��e(!=L{bI�Ĉ�y��)R�����d��D$��kd��+��(�*��O�dJ���u��E�t�u�uV����	�K�����b�?�ܵ~�P�U��/3׳��*/
]�^��b��o@�חN(� �rP�?M��b��?`���*��p׉�wof
o7V
x{Zd�{K��峓ZF{��p�G�߿��>���<+��Oy��w¸����y�L���l�(���
�%���
+"��r���Ø�gW ���ASњFW-u�<����3w�o��2���|
:d#?�)�Q��/�/8��1���	P���'�#�i
D�O8�Xx�*�
�{-Bf��@��fS�oo�b��n�e>��V����*+��:O1G�1�	�����2����F�Hq��;��[T��KO�L� q�`6��-坉���7�����Dg
G�&͘z�oܘP +��j \
%��< A�
��8$-��<��$�3��T��}]��e��<͋Y�Z�un}��TV�	�0
؀�N����
kﮅ�N?�!Y����*�/ ��/�	�`
����Kj��#
z���L	�6~��M��,~oZi�J��.��Z[8��
+
�X'���B-U*����Ѹ\N��ټ�R~~(�(a2�����4����m_�	�L���M����c�;5�p��{�n�Ng����!%�(�
+	ɝ�m-s��6���ks��P'K{?�[��
6ʚ`�ڋ�.�A���$��v#|�B�S{N���u��:�$̓�;�ܐ�.��b�
	�)L��N	��d����tI�|���`���4�
Ef×KM�湄u�
.K.|�l�m�K��K��_��[*}r����z?S�f�	��(����;�)37/�\�]ݸ���Uf�0��a��K�Fa������m�(@ۤ:Q at x
?�D��&`Bw��T�z��Ej �]�bMi�aX��ҫ�|~V	v��/���/U��_V�q�'b�*�+PX�F͸��5*�%�T�X�u/��((�t.!�|xW�-��^|ʪj
��Ϫ�F�_S}�6xY��[}Q�L�Oj��04��Q��r<8�
7�
V �G��	|z2�O��A��t��#]܃� ԅh�AWf��5esW�r.u �8 at R��Jn
��o��]�S
c2�S���*Xrf=v��
�d. 8�q����j�F�aM]@���F����A�)_.ݠ{?�^���p$�c
e�Y�C���6�k��ܩ�U��j�0�����@����2
<~Z䳅���TK��4 W�N�3H��_L2����35��7u�r]&��
�\Wi^��a$4O���g�5}]������`M�'�}\4��Mo�hz�mE�<vQ�C;j�� ;�2,㷶(���@�M��̜o�d� �U�nZU�ro�
�nz�OQPF�[��
V��J�`( ��6������"Ŵuu�DĐl5
�vi� �ލry>��}�{7mh��mݗ�
�+綨��& �����6�eݐ�V�����a��"]ĩ-��Tu����/�t���|h
+Fل�]�G����Z>��'S�L�Qd��/��B���*.�
��x��n��5
��5t�	�89q㲻�?;1Ԍa��ù����R:�7
.
��)E��i�����I~� �%8�J��F�$Q��
�B���s�c߱��Br��OM쥲G��2��&�HĠ
�`�W�q	ҍrqc`�8��\Kō!���tO�c4
OFY��p����'i86�]X��`��<
(��~��pѵ���@r��('�S���C�2���e��\g��yz���i��W��@b&c�,�#ZF2,8zT��B�ġ <���R�A�.��(Mw�ʟ��]������$cj�ň/c�
�#$��#	$���Z�Lk_D1D �
��� ^����jʯ+���0v�
^����?c��e�.֟Ö� �G|�w�
s��#04�����1v�4�
Ov�
tY��!c
���g��q�7 �3v�m��ف
c���;�
4� 
cgd�?�ؙŸ;���xf���w��'c��A�����c���-�:�
��ܞA[��r{����t�=(��p{	e�r{�wUd��Q[nϼ7�0ܞ�b
��>7�����
#Q{�����̞����'����~b��)�+����Y����_��#����<��3)=0z>B��,�Z����~�����
�!�a�����c3�w��ۊE-l7����bp<��n
r$؟VY���^��ɪ?L��}=���p
Q`{�.ݩl�b;	���S�҇��]���V쿻�#��bC��Ǣ�׷�_�o7�עY��O]v�(XTˇ<4�ê������Uj�Կ�����p
+endstream
+endobj
+16902 0 obj <<
+/Type /Page
+/Contents 16903 0 R
+/Resources 16901 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16882 0 R 16898 0 R 16899 0 R 16900 0 R ]
+>> endobj
+16882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.673 686.204 362.353 698.537]
+/A << /S /GoTo /D (index_Widening_with_Tokens) >>
+>> endobj
+16898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 445.031 379.76 457.365]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+16899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 172.177 379.76 184.511]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+16900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16904 0 obj <<
+/D [16902 0 R /XYZ 89 770.89 null]
+>> endobj
+16905 0 obj <<
+/D [16902 0 R /XYZ 90 657.82 null]
+>> endobj
+16449 0 obj <<
+/D [16902 0 R /XYZ 90 611.195 null]
+>> endobj
+16906 0 obj <<
+/D [16902 0 R /XYZ 90 606.711 null]
+>> endobj
+16907 0 obj <<
+/D [16902 0 R /XYZ 90 535.98 null]
+>> endobj
+16908 0 obj <<
+/D [16902 0 R /XYZ 90 482.291 null]
+>> endobj
+16450 0 obj <<
+/D [16902 0 R /XYZ 90 338.341 null]
+>> endobj
+16909 0 obj <<
+/D [16902 0 R /XYZ 90 333.858 null]
+>> endobj
+16910 0 obj <<
+/D [16902 0 R /XYZ 90 263.127 null]
+>> endobj
+16911 0 obj <<
+/D [16902 0 R /XYZ 90 209.438 null]
+>> endobj
+16451 0 obj <<
+/D [16902 0 R /XYZ 90 77.486 null]
+>> endobj
+16901 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F60 532 0 R /F90 758 0 R /F24 529 0 R /F75 554 0 R /F117 2446 0 R /F32 764 0 R /F7 795 0 R /F1 833 0 R /F8 794 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16921 0 obj <<
+/Length 2855      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�~���S"U�`� \�T���d��rf�}�l�h����H-I�W�>��A��lq+ɃG<�Fw����
=G8���7��4Ғ���)�8R\#!�n}��b:����~J�$)6��~J�$_�_�e�̿_=I���k?��x�g�x�uR���S���wi�H�.�RLg����������8NRq���|�GKx�]��q�jm"N����7���^(��0��Nj�B	A��$D
	���:�|����0�Ah�3BsH�;ʼn�ư>�'E:�
��<�$�:`�~�(hsJ��)��J�c��"��e���]ڐ�)��ww�<[$U���1{Lh$�(
2I��,`�j���e�x:�BN���2�t,x�J�^�G�j?	&0�P�'�q#Q�!1"R�#�=44�q3+pI��j[��(ۃg
c$�@&D�r_����
���$����
ј
f��+@���i=�zY�nL� ��cr�zn�j�~Y?}{}��
V����O=��
Q�.����$[��!Ň��=T҇����L�K} [�_ˇ�XB
b�����1�%
�n�c�܌���H�FeHi��	
�n��B��ѓ���'h
���4�:�
B.9�a4AZ�Y��K�|�"i���)5�"��ZT\�iB(�̐Q�{­NY-��`�9�d�Z�!"25y�mҬr
6� sc6�� ˜vEe

K�S����5�,���ȧTL^k��s]�R��׍�v�i
"��:��V�"�l!8=�Stz�� �5f9�A@�=�W�O�y%�8��q [...]
+��z�G$���_ŀ���
+4k_��d�_`��R3r]��,WB�n�B�N0��̻��c��2���:�X ��
`�4(����(B�5$\A�l�$b	�NX0I|\01v�`���������6_��K\���)�8LE����׾z�C4��z={
��s.y<�TH�2��HB
+i���f�l�WiP�UiJBnr�SM��V	$�r�9�z
+���@a� >�/־�
+0��R���"0��pS�E�º�S��68��!Y��Z�Õr�.V �����A�5�*�M�v�u4`q�R���i	�B�h�.���&��2[4dr� 	迥L�[�N������7:E
��Oҽ

�@��PdhB�	�õ��4F$��W2fA	�NU��Cc��f��}��������[�?�l�[�"/�����r�=7{]W����	걏�}8��\&�Z�\��a���:�-����<��y�`L��	�MB�����oIR���np�E�=�߀��&e�m@�(g]�t}_a�l?P2��@ ?��l?"�AvS�lbN�s�޽��s�.� >���ۤ0�t�4��@	���  �1���7d�d��@a����� ��o։��
+z�
�5P����W�<[q�5��B���t�bP=r�w]%� �$���RH�QX0���;,�P
$��1�7ѹ�����%-z��2K:ʼ�!�Eh�
*ôD1G\�QG� Lž[v\|ͨ$6"�T���oӾ�JB
�Ma�ٝ��>�3YBX��o�1��R�����iO=Dž���z�lUA}At�y�
+ޢ�u�pE]�h
+8�������I��
+ ��hR9
~������$1�����O_� �������0�
+i��ɄY�jTb���r�b9:$e�"E��n�hZPʨ� �1�b-���Řq_>
,
S��vD}g_,�t�/bΠ/>4oE����l�r�=��"M���k�$��:��ى`���T�uoC��_�a��
b��n|
ͳpr-����TU�ٮ�����YG5*�]O>3��M:3�9K6��B�	�H�ɺ's	�KX�h���
V��q�-�&I�Ay"ESy��G2Г&��M�1uK�>Lm��#c�ĸ�ԡH@jH=
+@B+
r�B�>C��#Q/H��h{�l{L��DQ23z�)��B-)��I�K��
gZ�5�i� ���΃d�w
����8,�
�K&`� $\6~b���Y�)J���|���Ҕ-������b$�q�"ٖ���ݍ�x�lC�w<��8��MNo.o��.�뀴�Ik�d����&��9D��]��)Z�It
yA���`�i� SA�üc���
Wr���8i�
��v��=��۸CZB	fL~�C�,^���EM��K>h,��CMo4�wS<^
CMA��egax����C�`�c��Y�����mv��dm
W���ig%������f���K�,Q, at P	� 
C����Q}v�N����Wi�,e>�<����,�$�
���E��7��p�žo5��X�L"��EZ튺	�~�=����ȔMAo�
+��
ֳy�޻���;E�-�J�ԏm���
��܁�5a�k�w��ܝ��
+���t�M����߯M7՞VJ���H�� X,H��l��~{�.�^�t&��vw�'i�m���s�=˭iu�Y�L����.���iq��E�^[�����)/�s�e��Z��<��T2H�)�����7,5���]�2�é�V#L߯� s�"q����E�+Q�q�2}��6���
�*��~ì�Tv���j/�Q
���ϏwO�
o����s��|ut�"�~���㯁� }WC!��N�����]��L�ߚ��^�O�]�/
�ކ�a�W
��sZK��)����4x`�n7]k;��������"�3Z�c0ےlT5�S
D7y},x��Í=׈j�ߤ^L�4��N�̟!�cbv%͈��}Y���uâ?��C��Gd(�
+endstream
+endobj
+16920 0 obj <<
+/Type /Page
+/Contents 16921 0 R
+/Resources 16919 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16912 0 R 16913 0 R 16914 0 R 16915 0 R 16916 0 R 16917 0 R 16918 0 R ]
+>> endobj
+16912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.334 685.85 236.659 696.753]
+/A << /S /GoTo /D (index_Concatenating_Polyhedra) >>
+>> endobj
+16913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 618.213 335.755 630.163]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+16914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 508.329 243.45 522.276]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.415 456.07 485.603 468.587]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.376 238.917 385.519 249.821]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+16917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [114.11 75.416 174.682 82.942]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16922 0 obj <<
+/D [16920 0 R /XYZ 89 770.89 null]
+>> endobj
+16923 0 obj <<
+/D [16920 0 R /XYZ 90 721.073 null]
+>> endobj
+16924 0 obj <<
+/D [16920 0 R /XYZ 90 667.827 null]
+>> endobj
+16452 0 obj <<
+/D [16920 0 R /XYZ 90 608.848 null]
+>> endobj
+16925 0 obj <<
+/D [16920 0 R /XYZ 90 604.365 null]
+>> endobj
+16926 0 obj <<
+/D [16920 0 R /XYZ 90 533.634 null]
+>> endobj
+16927 0 obj <<
+/D [16920 0 R /XYZ 90 479.945 null]
+>> endobj
+16453 0 obj <<
+/D [16920 0 R /XYZ 90 433.32 null]
+>> endobj
+16928 0 obj <<
+/D [16920 0 R /XYZ 90 428.837 null]
+>> endobj
+16929 0 obj <<
+/D [16920 0 R /XYZ 90 344.865 null]
+>> endobj
+15873 0 obj <<
+/D [16920 0 R /XYZ 90 310.195 null]
+>> endobj
+16930 0 obj <<
+/D [16920 0 R /XYZ 90 305.712 null]
+>> endobj
+16931 0 obj <<
+/D [16920 0 R /XYZ 90 223.026 null]
+>> endobj
+16919 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F24 529 0 R /F75 554 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16943 0 obj <<
+/Length 3271      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���S*MWX�/�Lg�4�$M�m���&�%�VV"R�&�� o�@J��Ƀ-� ���
³������w7o�Tlf��T��
g�7HH���}�
�?�}=cR#b$��n��o����
������CxF<����v7~ij5��z�3z��=��q��s;{����E�
/� B��Ez8Y�X����_�_7����eA�<�
�����
�m�=���=�|��M�叽�}R
6��y<f��&��bI��
<2 )���8��<�o��z����G�������KX��z?=<�k�P����d�M�{v��s���U��R�6�o󉘆ݠ��_<������[�DF��E"XΖ�!��g�!Ϸ�
�K���K��j�ꄝ�]|g���7�4+A�����i������n|�����{�'��x�T��s-uK�r+���3�c�h�y($tE����7�}�Hĉ��1��a�h��
#��
#
�~_�e�
�^ۑZ���$[�&e)Ij�#�j$���cG�~��qɐ�
 l"s��� {�Ͽz����b!Y�l��0���
�����
6&�1�YX�R�Q�a%{L�p�
�� z4�J��qf B!�M_IYn�9 �����8�=`�)���z�F�bv��G�1��q)
lռ��t
��ɀ6��`c� ��Ǭ�T��>H
+n�>`��jXG#1 
+4\<&�2&F�je5 ���z�Az�u�Az���>��Q�Qi�0��<
��
�� xZ����sZ�qKbƌ�ֈ+,UT^�^4�]y����/
��tu�
���'�j(�Vۼ�dO�W�����t]Xol�~)	,M!I���=W 0z�
�um8�θ��,�'7+�[�m5�6 ���j�,�f�e�늛�4��)��
�+����/�}
+/�
 ��b��0��0>�>��iĤ
+��ܧ����*9
o8�}�����U��VA�
&�|La����	<2+ĕ�$��A`� ���q|�o��K1g�%�.9
5�f���
	3pRd�iBNj<
��%e��q�n��
�
B�N�",P� %'a�R�{=��<	���v{���L��ަ�ί�
+�C�J6����4d�[��L��I�L� ���]0%i�m���x�X�/
E�$��Tw
p|�q;��W
��o"��
T��ڎd��&,�O"
�-K;�H�� aX����H�P�CC���H��D$1��������U�w`Ń@��}����<[��

J�!$4��%)"
���02Hj�p�%H��uCtm�O�ia
���I�NG��
�g��=Ϥ��&�]��/E�̌��ƨ�Y�-"���
)�?8�*��aY���k�UF-�6��8��6����^?�P
Cƶ݀#M�_��ܐ�b��z$m�<��MM�k����i4O���
�+�(�
|;�x��"�x].�ˎ���ѴҖ2�K+�kt�"�x
��$9�R�^J0�Ƨ��6�
�@��TU����U��a����m�I���x����4�qQ�
�6�$}������M8�X�4�t�8n��"�,�i��a}{
i
XN���=�
+��OG@�ø�S�]�6�:a9�>��P�8"�,4,|`��X�λ�"�n�S�3�i&����3_;��Z�Cߗ����"	??� �иa� �
+�I�mz��ޘ�.]>e��P5�
+[{?]a>>�]�:;�w���x�:A��3+%��ֹM����}Z
�fq�U�aҨm�'�ڈ����4f��0|BJ�va�=+�>ϵh�R�RG���M�ߘl�>-�q��_Wɱ���V
�+�9<�[�}<c���3e�*ze�,�դ>~q�|;=/7�}C���Jh	�j���C�Wh� JX�|�����
+��ި��K^�u%��k"oK	�żd��
l!:Z��͞<�`մZ������Z ��X��s���`�

��	5��i0^���Ȝ���I��J�n+��n�V�&����F�62�S
��İ�Rή�Q�8"D!��m��L�li
��
�0�
��C�R���������7=Zu��õ%
�~q��߁\��ǀę�\���8����4��g`��y�+�޴Ͷ�3�.��
����A�hk�C��y�zDzp�z(=��z�Og	��sv~As�B ������(�i����
�w���oQ`�8RB��Zܘ)X�-
+�u��E-�Gw��5(�/�L�
�pMd��P�B�n*9ɴ�)�ièM�Œ+ٞ.� c:ڭ(���gK��%�s�p�,�o 	��u��us���u7 T��^�8�-
��2�+�Xi.ok�|ĞV�5������6[=����	0�Mץ=�=	���^F!�Rj�
Rr��
�?P�J�HJ',�MN�e�T(���D

�0H��m��\���Z����W2�&�4��2=4E����{P�5�~��?��b��f�@����N��E7�p �F�)Uxj�^�D	�\���4��s^�k�_0���W�W�.wm��i�-ȼ��W�N��*mж���,�U?��([�){���MV�m��c��UӪ�cϧt��?鲩��U�JpX〢�S��K	^ׄ!F���'l�X���M�߁��kȲ%�zml�t(���[5alV��tM�	�Yp{
}Y7XgP��m&H:=M[x]�La
����&[�= �?��I��ՋVA�<cӹ�/L��Z�y��[�4;$��=؄
K_ɡ
;P
��";$����B<&�Axx.&#�%���o۲�O.�I�=N4,�n��:lN��u˸���b=����H_N3Z�&X`���=�n��W��|	��&ހ��.�}���J�,rs��h��T�X�� ĵů�"7��z�Q�@�ma2�|�n �n��
�F����t8��tS-4����-�p J�sdeU�X�

+���]�j��6�
��0��W<O<��
���Qn��o��y���
 ���EO� ����d������b���'�ɤ�EZ
��K��2T_����{�s��@
���~�pA;���>�	l Ø��ʔ�x.����u�&M?U% ^WWurD�����ui��.�)hpR�>7�3L��r�H�[���
��T7�~�c��@�%�z˖`�h4�\r_Z'r�zҰ����7��eZ�i!ļ��'��<���]�u/ھ�-tVq����[��dž��Nz��������۷ǧ2͞č����e�W�����$�./�Z[��.Hi�[	[��)��
+endstream
+endobj
+16942 0 obj <<
+/Type /Page
+/Contents 16943 0 R
+/Resources 16941 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16851 0 R
+/Annots [ 16932 0 R 16933 0 R 16934 0 R 16935 0 R 16936 0 R 16937 0 R 16938 0 R 16951 0 R 16939 0 R 16940 0 R ]
+>> endobj
+16932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.953 673.483 216.525 681.009]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.27 673.483 291.843 681.009]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+16934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 583.353 239.856 594.257]
+/A << /S /GoTo /D (index_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+16935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 395.635 379.76 407.969]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+16936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.144 353.538 182.164 364.442]
+/A << /S /GoTo /D (index_expand_space_dimension) >>
+>> endobj
+16937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 256.172 243.45 270.119]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [514.03 179.604 535.938 192.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 166.219 226.824 178.552]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+16939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.397 80.973 362.844 92.041]
+/A << /S /GoTo /D (index_fold_space_dimensions) >>
+>> endobj
+16940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16944 0 obj <<
+/D [16942 0 R /XYZ 89 770.89 null]
+>> endobj
+16454 0 obj <<
+/D [16942 0 R /XYZ 244.439 586.506 null]
+>> endobj
+16945 0 obj <<
+/D [16942 0 R /XYZ 90 579.866 null]
+>> endobj
+16946 0 obj <<
+/D [16942 0 R /XYZ 90 511.292 null]
+>> endobj
+16947 0 obj <<
+/D [16942 0 R /XYZ 90 445.249 null]
+>> endobj
+16455 0 obj <<
+/D [16942 0 R /XYZ 400.69 356.691 null]
+>> endobj
+16948 0 obj <<
+/D [16942 0 R /XYZ 90 350.051 null]
+>> endobj
+16949 0 obj <<
+/D [16942 0 R /XYZ 90 281.477 null]
+>> endobj
+16950 0 obj <<
+/D [16942 0 R /XYZ 90 203.479 null]
+>> endobj
+16456 0 obj <<
+/D [16942 0 R /XYZ 487.765 84.126 null]
+>> endobj
+16952 0 obj <<
+/D [16942 0 R /XYZ 90 77.486 null]
+>> endobj
+16941 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F90 758 0 R /F117 2446 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16957 0 obj <<
+/Length 3185      
+/Filter /FlateDecode
+>>
+stream
+x��[k���>�ŸZXs�&5H
+�i��t�N����6hl�X�-9����_�ˇdѦ3V�4�tyyy�
r1�b�8����+ln���۫�o%(�T�nF	
)� !���Ø`��dJ0��	��Z�w7����i�ͫ��]~_����u���qYL�T���˴����CfˊYr�b,���r���7�W�]�
���D �G��Շ_�h����D�>ٗV#N\���W������@F85B!��!�����8�|\�sP�j�,�e&����'V��1�(Jt�i���0C���L+N;�k@�@|��a���p|����
�%
���z}��W��Q��b��*�@����)]���ب��4AZ(��-����`,C�~��!���FD&�O	�Z�/�jī&�KM��}�C^,�"�Ś�
��od_�q���`ƈ`�|�Ɇ�vc����5�m�,�����f�{A��T� Ҿ�)o.|�ޚ�%�R#�����%�[
4�2��v%��h�u�Lȳf����H��z����Gf��k�����UV�yYL�bV��i��/3�:B��a���)�qp�)��sc}�y��]��]����ͦR$=�Nm��۔����H��$gH�����J I�b	\ɮH�]O�}N8�X�B�l�Г�R
—"̌�(|Nj���y1�P=�e>������q�и;� s�!V��)�aLw�����M5

���3�]T儊�'���C,
���.�>���A�1�|6%$���)��� X_�n�#DBE
6�.�y
I� �j�#��Q^4�F��Јrf?��2,$A��
�i4�$���A‘�2��
8F1
�e
+�Ҏ
+g!�EZ/"�
<\È�� ��ҡj�r���4!� �lu��#N��5�R�X�Ǭ�T�o-Rwatz�7�����y=�"p��X��Љ��l1�0�a�
\��gԷ�
� B��@����Y��U�D��>�����]c�0�������#�`�N���,ݝY5�WΣ��"/�+@�w���8��(-0~�eC��+*~�Wd�����^Q"��E��+j����t���@��r��[���^ɇЎ1�����*�

+��
�&
�SI0fᚣ�!�ASI��pL��٣Y�����)�1�
+< ���k	�
�~�9��S����N
+������YI����:�ա|���h��:_
�
�0Ps9��yv	����4�a�w;����`����k����s�<�9�,6%0�&>�_�)��"d�v��9lD�҇uU6٬��Nj05tU[��OAe]�~�|�䏋&+b�����a�	�:A�~�yU��y�h�b.����=�'2�ia�������>��e5ϋ����+�i-2/w�μ��}��Ʉ��=+�*��e1w��F%��	RT?����V���d�E�` h.��}0��H4S��U�斌O0Q��
~�+�[ӽ�����%�Ra��o

+
�FHP\�K�DTv
k>���MF$���i�%	�0X�Ϳ
\�RnC�YU��6��V\DŠ�<pa����'
�����6Ȧ;�w�hR�枏("A��K5LPA��X��j��O ����찧�D�Ő�3�D;���<?�g�r�� �&���U�-�'��"������v�]d�~�W�mG�"n����-�s�0]>����7���\{�{Hd�
�c/�x&���1�
+���+? ҉V����HX��3����y�,��V�m�s�>E�sݘ���q%c��}�S��|͊gǨU
+�*�
A� ��_�m�k!�.ϰEP_���������7�~{�s�/��W�gu�`yƔ�m ���j�E7�"u�a at oH@��K�_D`�Bj��4O�HW�����qt�mh��X\��q�Q�%�ߔ��7n|["�
��?A�fA��3�� *�N0
���x�mx����n���6�
�����?�Q����!�č�P�)��pYY���{��B@�L]+`�J���
"GJs�1����=3�4���PTpD���˼X�57���а�i�@�ЁJ!��Zr
�ꜲZ��q
O3�"���+��:߽1i���m�'�6�_�Zr�b�K6.P�!��F�2"�l�z,;Y��
�|d�����%�o���2ѫ��Zd�)=���4g
`ũB"�і�
��VK�JE�nS�-���D1�Z�8���n�f9_����K�-�q��x�
�5'w&�����oOC,"��jx[����h �\j�[�S2�Cq���3����"���)�l�,��ᐢ�`�Hv�	F�� [...]
+f'oS��јަ��޶�ZHm�j�iݵW�1�Ut��o�|�kw	Wϡ� 
����'lH�lp����
Z)*!΄��@
۞U�9�D��ц?��7���Nº����L�ܯv��cv�RUe�x�X8��}_n�yZ���)ݵ���`
��W�޹�
� C6�������Y�9VB����߆,�
�L���f>�LA�8$�5�D��Ԝ�#Ð\��<�&�T��w]e?��/S(��}����M�)M�z��%�S�
��q��]��{l�qg|���9�}���3�qh���93���F&,�bȨ{4bO<v��/^�N����T�[���ꦬv����|��^iI�
�w^*qߪ 
�¬#�-��uo�_��W����9�[°
w7U�Z��l�7m�=������]	�I���Y���n���oۂة
M9f�ry<��|���)�^)�/lɊ���
I���>O���Uڞ�H )f�ܔ[����)v
��!���*K����a
+��V�A
�skrܚ
�.R�z�~� n�m݁ox�.��Ƣ�)o&����6�{+>�f:X��8e��}
��fӱ�
k�YZ�Z�Yw��.-��7�
^���a�2@k�f���^���Y��8�6����Shcع���
HC
H���@�l(�ܼs7��?N���--6mOc�4�
+mK/A�����v?�)�먽�ە���*Dp$Dײ/�f}�����ΊG����� �:v{�f_���y�`�l��=u��1AR��`�����({"��������oWl�
�������C
+endstream
+endobj
+16956 0 obj <<
+/Type /Page
+/Contents 16957 0 R
+/Resources 16955 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 16954 0 R ]
+>> endobj
+16954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16958 0 obj <<
+/D [16956 0 R /XYZ 89 770.89 null]
+>> endobj
+16959 0 obj <<
+/D [16956 0 R /XYZ 90 667.827 null]
+>> endobj
+16518 0 obj <<
+/D [16956 0 R /XYZ 90 633.157 null]
+>> endobj
+16960 0 obj <<
+/D [16956 0 R /XYZ 90 628.674 null]
+>> endobj
+16526 0 obj <<
+/D [16956 0 R /XYZ 431.18 571.317 null]
+>> endobj
+16961 0 obj <<
+/D [16956 0 R /XYZ 90 565.3 null]
+>> endobj
+16962 0 obj <<
+/D [16956 0 R /XYZ 90 484.148 null]
+>> endobj
+16571 0 obj <<
+/D [16956 0 R /XYZ 90 371.256 null]
+>> endobj
+16963 0 obj <<
+/D [16956 0 R /XYZ 90 366.773 null]
+>> endobj
+16964 0 obj <<
+/D [16956 0 R /XYZ 90 274.289 null]
+>> endobj
+16572 0 obj <<
+/D [16956 0 R /XYZ 399.318 84.126 null]
+>> endobj
+16965 0 obj <<
+/D [16956 0 R /XYZ 90 77.486 null]
+>> endobj
+16955 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F11 613 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16970 0 obj <<
+/Length 3280      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�6~��P�!+UY��Mm��pv�9f3N��$�%�bE����o7 
���'�n�A�5���|
Q���a@���
������ūk-	I"

n�	
h��������藛o"�	K"��y������������W7�]0��������Ż_�`
+o�$
<�A���^烷����fF#��k�a���(�9$JFcF)
V�b5O�
Uyu
�گ�@�Y��gv�'\-�z@��ʖ�"�����7ύ������>9I�1�Y\H�X��v]�����_�K����e���q<|?bj�Οk(l����PHN�������8sXl�	o���Z�αX�#ޏ�
����K���I&�هEuL�gћ���b>bl�4˦eH��~4P�|
�����������x�Xp�JG�1�K�
+�jvbyu5)���{���U �,&��A�$D(ynQ3��(VkV�9yB".{�Sp1�ϙ�/<ઁ��'�(8j��� G���3܄�2[�sX}�៩�����6d]Y���&
}�/����
q��rp)�oj+~yѧt�lx`�u�aK$D
���D_d(
+J\�
�d�\�-�
���'h#���q�a�B�1�ar��B
+ݤŏ
+�,i� @��!��7��Z���/�V�
1��M�
�'�5�v���n���l�ؽ�
�<����ٟ�kL��k��& ��Du�Q�2`�T�(u��x�AD�^�|�bA�8���p�ͼ
+�9�
�Ϝ��3h,TLb�
t߭���'���M1o|�2 J�lɻUYT٤ʦFXSԽ���R�J"�
�9TC4���G6_�!8�7�Ie����cf+:\��"�u@�Q"⡅�&���Y��lR�R����T>8D�����Q����n6&� �Q�U)��Z�wOւ%��y��|�`?�fn�i�,#�#uy�ɘH��g��\����a�#
���e���Ow��݂�XRH�6K�8jJS
Ah�;�}�ۯ�R���~��m�F��W�����W"
B��� ���R)
$a[Rmp���"�DB����Kȇ7����
��볮7�q<�_���X)�'�qb��=�|m?z̫�}��RQ@�1� ��
+n��r��y�5�y��'#P̀��n�zVl�S�]�1��o���6.
���޾�K��Z��I�Ng�����>+�����M|.��ye�!��!��
u{�TS[�
�k�핻�J>�N��
���=�X����J���xZǹ�NF��K4Ȅ*R��n�
����P��<��۬
f�
�@�W��=�:��
�
+�D��)"zO^����B'}��o��p��\��F�
��ׇ�r$�bb�<u�X����T5����E�
Kg������iI���;�J|��(
���:���D";�.��?@���G�.,��Y��M�����p�V�5b��"�d��J�R���.j}�w���`?����7��pE��4�&�|�,_g��N����HB`�o�X�M��؅83t���kX�b
��9ܞG�.@:5�9Ӧ��{*h�:ڧ�5��bE��S}��(��w��k��S�$�{0�&�=�^����c�=~G�X�	���%��aƸ�)
a�Mya��܎/����ⵥ#
a����]�H$��E�R���[�a�X��t��J
�<��W�.��GZ�D�XjMd����Q��
+��M*H+��0V�b{)[q/a,�>�0m��(�X��1ld��Vy�0�l
�yo��S��(;�2f��E�2����`v�(������O�l��AcE�C�ǝ����~��

�YK�Aw$KQ�p�7/׏�`�/d�>���ܛwK�ŷ�\M(m��{�� kE/�bSE@��5v��
+78��9��)� �d}
I�/S8��)	Q켈Ĝv���:/�?�|��x3��1��Ƽ�i �$�� �	K~瞁��A�]�a��
�.X�-�@8��KZg)d�<%�w:��m���-��(P�ڔ�]�u0<�@��g�@�Ɂ�]��5
�T(�n]���
��W`7v@��u�h�[�E�b��o�
�F�#���u�u
���x�.a vuy[Yۃ`�
���,2�K��a��a��
���0+�C�̊M-;+��d�w�DR(�{^�-���IOa�
gKdV����x��*
O���i�aW� 
�%�c]޺������
��1���Ӎߍ�}�g�������<&2 (J
+��q����)�cW� 
g�����ɖ��G}��o���8�z9�Qm�

��Vq�<8����	C������#���v�e���
�����F��>Tȡ�Մ�P��A��q	�pF]F��ޠ4I����n8h���r���>�bB���w�R�%L�E�m�/^��/+O���NA�u����W
8^ڮ�"?�����
sy���Y���nݙ�a
\:	�+
lj{�G
\��a�]4��(
+���F5��k��}ϒe����83��
I���
M 
�d'
��1rH���u����{A�k�%(k������S��c�W�?��l���b���dey��ܠ� �`*�MK��x]M���uUf��J�Ծ���t�[TB7�F>
�!�Dq���֦���Gx�n�:صbD�c�VT5��͈C���޷���26��5���YH;ir�~bL at Z���K���Ids��3����j����z㔲�4,�6�t3��e^�$$޷2�B�
��M:��6�|�A�T���x{-|Q���*�^'�l[���XQ6�O��, P�ۋT����2�l
R��1{��Vt�ĆNp�XUOv•CR��k0�"d���܄L�P�;�p%!a	��p��Dž���� �Ov� �Cix�J��f�c�4m�\g�î��n4�|��~ZW��~d4�g���c�|0�02/1҇~I!�|���gi`rH�c���; �1���j�r��K֨hK�G˺��GV��e��tA�so�G�|r�40�E���&��kl�<�+����σ\���G�qB [...]
+��/��}4waV�ۏ؇n?�!�V�&A�T	H�P�e�m
����x��_�w{n���P��TP�x�_��|Xǽ���B
�, at X+n
�ƭ��P�P�W�a�bF���'���޼��>���ʿ`Nsn�]�4�
+��-��0�P�X
;�6���[�~m���ِ�>
+rw�gU��z��n� ���i�9��/'��v��
�-,������\Pj{��V����?
+endstream
+endobj
+16969 0 obj <<
+/Type /Page
+/Contents 16970 0 R
+/Resources 16968 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 16953 0 R 16967 0 R ]
+>> endobj
+16953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.602 649.984 354.851 660.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+16967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+16971 0 obj <<
+/D [16969 0 R /XYZ 89 770.89 null]
+>> endobj
+16972 0 obj <<
+/D [16969 0 R /XYZ 90 624.195 null]
+>> endobj
+16573 0 obj <<
+/D [16969 0 R /XYZ 277.933 523.283 null]
+>> endobj
+16973 0 obj <<
+/D [16969 0 R /XYZ 90 516.643 null]
+>> endobj
+16974 0 obj <<
+/D [16969 0 R /XYZ 90 412.204 null]
+>> endobj
+16975 0 obj <<
+/D [16969 0 R /XYZ 90 235.331 null]
+>> endobj
+16574 0 obj <<
+/D [16969 0 R /XYZ 90 209.424 null]
+>> endobj
+16976 0 obj <<
+/D [16969 0 R /XYZ 90 209.424 null]
+>> endobj
+16575 0 obj <<
+/D [16969 0 R /XYZ 264.215 128.341 null]
+>> endobj
+16977 0 obj <<
+/D [16969 0 R /XYZ 90 121.701 null]
+>> endobj
+16576 0 obj <<
+/D [16969 0 R /XYZ 90 81.969 null]
+>> endobj
+16978 0 obj <<
+/D [16969 0 R /XYZ 90 77.486 null]
+>> endobj
+16968 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+16999 0 obj <<
+/Length 1840      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�a@'5�W�퀭]�u퐦٧�d�N�ɒ+�M��wE�Y���)����u�;>���֥����	VCx�z69:������u��ly<@
_�un�|�L	��>q��|^�8�Y���Q
^���y�og3=�V]˼�������1!
�$`��
v��?�Kz*���f��!r�F��E<K¢p�T`��	�-W�$,��9�K�;ķe��)OPn
�)����&�'�`�h����b59���_�GY�[�բ��)�gb������+W����	A`Y�i�82ޞgY*R���2�,�T�~�v�\��"K�r�~�0f
�=.ej��oz�PEx�G��^g��H����`keܤ
��������s��¾k�I���@[���R%zW���ѱ�;e�#��g������i1�c���-�ԋzB��8&fQ��X
�H�4�����B�B�1��|q�q�;�
+��7p�
!y
P�U=(�U=Z�Ǜ�H����{(`

r!<*	e*&� ",G4�k��7+���<X�߬��U��:�+݈]f`Mv���i��(��8�W2-�,���"[��2�'�g��
"�p;NkqWYQ[�
Y<�1ډ���
+;L
Hz� Y�	
+D��e�c�b1�	���üB���x���3�%�Pn8���Y?܁�<���AXវ�>$���X�6����Xp��>J��NX�Ai�L�>a��|ſ����ʽ
�>��j	�t%j�e��ő���!ľ�
��偀"�~��c������ 
8*���G���W�'^-_�h��-uܝ��0���
�����t�h�|��k�U�Y����:yY�)�<[
R�e�$�b��8��So1����tVWg�DT C�J��T�W�O o�N���M��s/Z�n�2����g�U?��D����w1�Fd_�ɐ��4eeG28�#P�)�+FW��4���@���,*P���WA�	��oW��OŸ��&v�.��#	8�4
�p0t
�2@��!�vP˙��N� fN���l�*,��8�L�
���� ���I�1��!�,��0�P?�p�N�v��>8p��Ą�*�u]5�^�/�~�K>�Dr��"򂡛{��?yC'mD
�0�|W�<}��qB�₰:�:����I���v-���2��&�)��?�K�:S�K}�\��E��{��1�/Oj�*~��:�Nw��������������u��+o�MC�ƢQ���F!�t]^�wQ �$�U.]	�%�
7d]�2wCM��~
G����
&�l+�z�n�;��6颬��L
q��p������ڊD�!��I�52���A��"����}~;��`�.n)ܯ޿b8�m�?�������Ì�l�w�
n��s�zF�o�����>X�gحQ�����j�
TcFm����M<��^�M�֛8)M��paCy'��f�-�mcp����C���'��
W%�_!rFhm
?���tۛ2�������X�#Pkq����*���4��P��t��K�f�	C\�y��lԙ*
N��]�&��b�
+C�`�'���e�I��x��T�@T
.�yV��
5�O٦��;�#�:��4�mQʕӘ�
+���@�!�vW����C*:�)y�7�͞h8 ���>��,[ow��Jb��5��\��D?
E;����.#��?��
�j]"�׆nC~''/���B�?9B�5�_���$_JkC�M5J�@���4٦V�_ˌ��T�c�
+
�*�f���\ώ���B��hѐh�|:v �yMa�T�����&WU;	������	A�'���Y1�.�u��K�a=q�NJY�3p��F�� �l
�
+endstream
+endobj
+16998 0 obj <<
+/Type /Page
+/Contents 16999 0 R
+/Resources 16997 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 16979 0 R 16980 0 R 16981 0 R 16982 0 R 16983 0 R 16984 0 R 16985 0 R 16986 0 R 16987 0 R 16988 0 R 16989 0 R 16990 0 R 16991 0 R 16992 0 R 16993 0 R 16994 0 R 16996 0 R ]
+>> endobj
+16979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 348.037 164.319 358.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+16980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.056 348.037 205.82 358.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+16981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.181 333.483 391.739 343.389]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+16982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 296.365 164.319 307.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+16983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.056 296.365 231.833 307.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+16984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.435 281.811 345.993 291.717]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+16985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 257.625 154.914 267.552]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+16986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.651 257.625 229.76 267.552]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+16987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.817 242.094 323.613 252]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+16988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 217.908 180.926 227.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+16989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.664 217.908 281.785 227.835]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+16990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.817 202.377 347.024 212.283]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+16991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 125.978 163.361 136.508]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) >>
+>> endobj
+16992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.969 163.361 110.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e) >>
+>> endobj
+16993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.698 99.969 228.964 110.873]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+16994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.707 163.361 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) >>
+>> endobj
+16996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17000 0 obj <<
+/D [16998 0 R /XYZ 89 770.89 null]
+>> endobj
+16577 0 obj <<
+/D [16998 0 R /XYZ 170.288 659.423 null]
+>> endobj
+17001 0 obj <<
+/D [16998 0 R /XYZ 90 654.786 null]
+>> endobj
+17002 0 obj <<
+/D [16998 0 R /XYZ 90 580.991 null]
+>> endobj
+17003 0 obj <<
+/D [16998 0 R /XYZ 90 556.941 null]
+>> endobj
+1954 0 obj <<
+/D [16998 0 R /XYZ 90 484.119 null]
+>> endobj
+466 0 obj <<
+/D [16998 0 R /XYZ 90 477.312 null]
+>> endobj
+17004 0 obj <<
+/D [16998 0 R /XYZ 90 376.922 null]
+>> endobj
+17005 0 obj <<
+/D [16998 0 R /XYZ 90 337.468 null]
+>> endobj
+17006 0 obj <<
+/D [16998 0 R /XYZ 90 285.796 null]
+>> endobj
+17007 0 obj <<
+/D [16998 0 R /XYZ 90 246.079 null]
+>> endobj
+17008 0 obj <<
+/D [16998 0 R /XYZ 90 166.249 null]
+>> endobj
+17009 0 obj <<
+/D [16998 0 R /XYZ 90 142.519 null]
+>> endobj
+17010 0 obj <<
+/D [16998 0 R /XYZ 90 115.169 null]
+>> endobj
+17011 0 obj <<
+/D [16998 0 R /XYZ 90 89.534 null]
+>> endobj
+16997 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F22 2996 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17053 0 obj <<
+/Length 2095      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~ׯ�SV��08	rSyI&N岽�쓝RqDh�D"e������
���5���"q4����4�
h��軛��
-���!��E�@˘�~��۱��䏛�F��!������懗7o��臛ч�G4`nEt�W��� ��?��8
+>�N�@r�e�f����V�X�J��IJ845c�1'�O
��c��S�kQSס3�&!o:d�d�
�E��EU����	��m�L}��]��'��0:.�5/�*��,�s��|�;$ӒDB�O���d*`��Z"T�k�պ�
���n�OYi&L�,h�Z�W/Bڲ��3g�)(6��-��s��컹��
��5ODd����
+��Y
,#���b��G��Ko��QE��Ĩ7��YH$3e�Da즿6e��Ϋ�XO�i:����И�NB"�'�ofu
ڵ2����*+�����u�/k�V��b�3�k�S���۶w_��i��)���BK��y at g�"x����7��jj�Q��2��� h��1�����t���Κ��HY]bM�I(Yל��j���C��^�������
�2�8 �m� y�G0��$����g�ٵ�Eh>n��?}�H�둻
���N�Fa��H��A��Dȁt���UbU"��mtshv%	S�n4��
4B*���Л������S��Lp)��nZ�~�9�GE�����
+^�wK����+�Ԍ�.�~|�(5�,5)��t|� rT�	����U�������g}@]�
|��������5ll�����;b9�i�Q�E]4���6��x��t�^�^r��n7�
HY��rWVf��}�0��ﶙ=6kw)aQ+7h�k�"����X����Z��k,:�\J��0'�+���1�I�Z�Z:�	�sx� �'\�A�sW��-o-��{UڶYN��#^h�Y��P�0�
>�]���'�B�9�	�����D
͓A��/�8
��\�U�����fV����(+lQ%˙���]e��l��YZ��2h���Q=�Zi�Fa�>�~��!��@�A�p>߮3�֣���5S��RF����) (�d$
\�#X��]�M�l@�֏@��ͿJ�]�
�w@X�����R��PQ��/njhǺ�,+���T>f}�@�`�>���o�X��Uv3GX�g,0����&K��8/�m�TY���I���^�"�
��:����`vuv�g��2��]�]g�8c9He�і�Yz������n�m�1�vn����� Mw̱�HP�5�k�~b,��Gb������s��jx�6��������y� ��J���E
.�dP���U�w�J���z�ʢ�TR
T`��4��x.�e���!)�J�˅
�a׏"Gpg��3F����v�ߚx
��3�wY�gK�!V��|Y�C�)+U]V���l9e<�m9܎�͋���}�! Z>w��H�{l&�A2����E�ӭs�n���(�d�

+�^��V1��Q!�;Pи7 ���J�/�����UC��Q�K�0<\ر�͇:M���WC�ܹHc	�

�u�
бO{��RD��uRVS��#gx
+&����(��������@B�i��(��h����SPl�H#��G�w�9���
�B�٫;�`]���$=r������NS����ߓ�
6j�Iq�s(^�s�ܘ#��X�R���:��/Y��T������B�#����
��͓��T䑥"�=(q��L�OL��"&���ī%&L�L,#�V��B
{G2Q1T"[���
#A���"^��(^��~G���Fe���fQ�!fe�l|�zV�_8�5X~�jt�Y8<�o��t-�YN�V�
#�a`T[I{N�vf��#���I�޷G<�~��o<�>�
y��	���n�ulV1�,��<^���2�,�|���G��Q�
��/I�Y��ӟӸ�Iw�*��+��ӅX��K?�k
����~��aD��~�Zm��
�o\���u���|����㼰�Y[Ĉ��>V�7�WO�u���f�R�9���/�PA5R��\F�{_g��{c�3.'�_�ؿ�Y�jˣ$Q�w�j�﫫��]i�;2�
�m&��X�GЫb�
��͕=r&}�����
+endstream
+endobj
+17052 0 obj <<
+/Type /Page
+/Contents 17053 0 R
+/Resources 17051 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 16995 0 R 17014 0 R 17015 0 R 17016 0 R 17017 0 R 17018 0 R 17019 0 R 17020 0 R 17021 0 R 17022 0 R 17023 0 R 17024 0 R 17025 0 R 17026 0 R 17027 0 R 17028 0 R 17029 0 R 17030 0 R 17031 0 R 17032 0 R 17033 0 R 17034 0 R 17035 0 R 17036 0 R 17037 0 R 17038 0 R 17039 0 R 17040 0 R 17041 0 R 17042 0 R 17050 0 R ]
+>> endobj
+16995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.454 171.11 706.984]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) >>
+>> endobj
+17014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 634.055 215.923 644.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) >>
+>> endobj
+17015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.26 634.055 281.526 644.959]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 597.35 171.65 608.254]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) >>
+>> endobj
+17017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 561.018 187.151 571.549]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) >>
+>> endobj
+17018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 523.94 202.902 534.843]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 523.94 300.037 534.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) >>
+>> endobj
+17020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 498.193 202.902 509.097]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 498.193 314.263 509.097]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) >>
+>> endobj
+17022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 472.821 161.677 483.351]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) >>
+>> endobj
+17023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 410.422 204.985 421.326]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406) >>
+>> endobj
+17024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.214 375.631 182.698 386.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770) >>
+>> endobj
+17025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 349.885 172.198 360.789]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f) >>
+>> endobj
+17026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 324.138 155.859 335.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 324.138 180.337 335.042]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508) >>
+>> endobj
+17028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 287.807 155.859 298.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 287.807 172.735 298.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1) >>
+>> endobj
+17030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 261.687 181.871 272.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+17031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.369 261.687 206.349 272.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) >>
+>> endobj
+17032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 225.356 181.871 235.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) >>
+>> endobj
+17033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.369 225.356 198.748 235.886]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b) >>
+>> endobj
+17034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 199.236 189.204 210.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+17035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.702 199.236 216.999 210.14]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a) >>
+>> endobj
+17036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 162.904 189.204 173.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) >>
+>> endobj
+17037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.702 162.904 209.398 173.435]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5) >>
+>> endobj
+17038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 136.784 215.216 147.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+17039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.714 136.784 243.011 147.688]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622) >>
+>> endobj
+17040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 100.453 215.216 110.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) >>
+>> endobj
+17041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.714 100.453 235.41 110.983]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) >>
+>> endobj
+17042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 74.333 198.011 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364) >>
+>> endobj
+17050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17054 0 obj <<
+/D [17052 0 R /XYZ 89 770.89 null]
+>> endobj
+17055 0 obj <<
+/D [17052 0 R /XYZ 90 711.308 null]
+>> endobj
+17056 0 obj <<
+/D [17052 0 R /XYZ 90 649.094 null]
+>> endobj
+17057 0 obj <<
+/D [17052 0 R /XYZ 90 612.578 null]
+>> endobj
+17058 0 obj <<
+/D [17052 0 R /XYZ 90 576.133 null]
+>> endobj
+17059 0 obj <<
+/D [17052 0 R /XYZ 90 539.168 null]
+>> endobj
+17060 0 obj <<
+/D [17052 0 R /XYZ 90 513.421 null]
+>> endobj
+17061 0 obj <<
+/D [17052 0 R /XYZ 90 487.675 null]
+>> endobj
+17062 0 obj <<
+/D [17052 0 R /XYZ 90 392.585 null]
+>> endobj
+17063 0 obj <<
+/D [17052 0 R /XYZ 90 365.113 null]
+>> endobj
+17064 0 obj <<
+/D [17052 0 R /XYZ 90 339.366 null]
+>> endobj
+17065 0 obj <<
+/D [17052 0 R /XYZ 90 304.387 null]
+>> endobj
+17066 0 obj <<
+/D [17052 0 R /XYZ 90 276.915 null]
+>> endobj
+17067 0 obj <<
+/D [17052 0 R /XYZ 90 240.21 null]
+>> endobj
+17068 0 obj <<
+/D [17052 0 R /XYZ 90 214.464 null]
+>> endobj
+17069 0 obj <<
+/D [17052 0 R /XYZ 90 177.759 null]
+>> endobj
+17070 0 obj <<
+/D [17052 0 R /XYZ 90 152.013 null]
+>> endobj
+17071 0 obj <<
+/D [17052 0 R /XYZ 90 115.307 null]
+>> endobj
+17072 0 obj <<
+/D [17052 0 R /XYZ 90 89.561 null]
+>> endobj
+17051 0 obj <<
+/Font << /F73 552 0 R /F93 763 0 R /F110 1507 0 R /F60 532 0 R /F24 529 0 R /F68 3032 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17105 0 obj <<
+/Length 2323      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�6�_���4c�8��
3�f�鑉7q����a�-��T
���� )�ԕ�m��O�@���w�Y9��n������
��G=�����]���"�ݔ`�ٜ`��73��a������<�<Ȩ
?�weXn��̰��(�Jֳ_n�|I���D0�<v����L� [R&�/F�
�%�qp�&aU�����LЩL�$��y#�e9#�TfK�9u��j�ɿn'&��1����e:y�
v"������yԓRǥ
~����l�<��B�	�\��"�z��'����(�4׹��
�>���
��1f����,y�o&�qe&�6�
�
�&Y�Dq��:[֣�2 ��|�,�
��H˲�
��[����#><��̿����2*(WVo��8��
0ײ
�<<[3U��b���;�=�؎?]b|3�e�Wq
��@�4���N��`���\��r��i^��&F
�Nz8�F��
D8;�!<���YE
g��,A���n3�8��u��C#��
 >���
X���r�����eg+�M�Y�ke�|�E��B�JhCf�>O��Q-5B�b�\�9�'��
�t ��������{��꼠�в�/�S�op��� ��
��:������tL�S����c`m
�`*n�����u��ǃ�S)A*�~Z&�HFJ(<_� ��
+=V��
�]�}�ta���o���
!."^p�ȥ����{��Y���<�B.�v������G�3P�x�^����K�TL��hb�CX��W���U
����x�dFz��ݯr� 
�
�w�驱�&�Q���
A��~0�1�����P�_� 	�/A�m#^���U���
+V��F
B��ݮ}6CLգΖ��
�����cXTc	%�<�U>����'�Y���?2�
+���3]�U�X���]�΢��؟��5y�*��;K����^�3�Zl�Q�����Q�@.�g�j+D���G���
� ���uv�QU���pk��	�D]�uB
���P]����bwy��
+�E|��*P~
+w����X�osmq��>lh���jG����V�k9F A�
���H�����ɖ����󡆞��
���À�n���3/�$�<Y>G-������{�L��l���4˕�k�cS|�H���v�Mc;k��(�7wy]���T%��Ŏ�s��K�AT/��2X?�fJg�D�yfF�:�33]7��2O�u=W�:sƑ�����J�� ���}?}�}a��(W
+U?Z�=�qӭ�3��o��]o�5��xLogn0����~��!�JQ��5,I�KUGWWI\�
���Χس����q�2b5{W}+?���ʘv������U�pA�V��O�:f$�~5N
I5}�ke�P�C��quD�����'(�a��j�G��z���
G��
�b�0�N�F�y9 ~�?��>Jk�v��Tv�\�Of:p/N���G�ˏ~����O��^����;g5qd�崝Jx�:�gv?�
��Z��jX�6�
��莎�=�ٝł�&��b{yK�Ċ6xd���ƣ����
�[�K
>���T�lF�y~��09ŝ6�X��zޔi��
���@rw�uR65��υ�+��V%s1�ڂ�g: �ݮ��r	�}��jj3����	:�7�[jz����Vo���_gs������P=���h�:9SñSs�Y�l��mx��ө��eX���5�U����6�?B
pX�X=��
{�d���m�]�I�lC|=<�ir͗�QL\�憇�
E�� v��	a-��&�n�(JY����x��zw����0?�D_p��
3s��
wa�r��Lœ�+g���U�c��(\S����鎻	.FX�]�G�_��&6��#�-���&�2�
��Afպ4��)²��Eë��]<]��S�;`)>��{\�w\Ly>{���s��,򌝜�]ͺh�O�� [...]
�5Y�Z|ga�Y��'��i9؅�f�;�.]Y��k$873���"��Ǹ���(����;�y�A�!؃{Ḵ��n��l`���~��I
�uROJ�;
����Vc�2����Ue�m��l�V.cW��8�*:��
�
�7e�^��o��5/��6.��}���������2�|Z5�|�6�U�aBPY��&A����3�:M9d���i�~TW�xO,�>�|?�uquyy�^U2[�����w^[|�;�]�4/e�xL��u�$9rL O�������I��~�/�����)s^� ���� �OD
+endstream
+endobj
+17104 0 obj <<
+/Type /Page
+/Contents 17105 0 R
+/Resources 17103 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 17043 0 R 17044 0 R 17045 0 R 17046 0 R 17047 0 R 17048 0 R 17049 0 R 17074 0 R 17075 0 R 17076 0 R 17077 0 R 17078 0 R 17079 0 R 17080 0 R 17081 0 R 17082 0 R 17083 0 R 17084 0 R 17085 0 R 17086 0 R 17087 0 R 17088 0 R 17089 0 R 17090 0 R 17091 0 R 17092 0 R 17093 0 R 17094 0 R 17095 0 R 17096 0 R 17097 0 R 17098 0 R 17099 0 R 17102 0 R ]
+>> endobj
+17043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.346 155.859 707.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.357 696.346 213.143 707.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
+>> endobj
+17045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.959 696.346 247.723 707.25]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 660.171 205.762 671.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+17047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.577 660.171 240.341 671.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.322 660.171 292.086 671.075]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 635.33 166.449 645.86]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) >>
+>> endobj
+17074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 574.39 163.361 585.294]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.1 574.39 214.907 585.294]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) >>
+>> endobj
+17076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.244 574.39 280.51 585.294]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 549.175 180.198 560.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a53acb5e9daa7c362b4d9023ae3a96447) >>
+>> endobj
+17078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.013 549.175 222.279 560.079]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 523.96 252.795 534.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) >>
+>> endobj
+17080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.132 523.96 318.398 534.864]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 498.744 229.552 509.648]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) >>
+>> endobj
+17082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.89 498.744 295.156 509.648]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 475.178 266.673 486.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) >>
+>> endobj
+17084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.01 475.178 332.276 486.082]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 451.611 196.347 462.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) >>
+>> endobj
+17086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.684 451.611 261.95 462.515]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.1 426.396 179.739 437.3]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) >>
+>> endobj
+17088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.79 348.468 245.959 359.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+17089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.256 320.916 295.178 331.82]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) >>
+>> endobj
+17090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.269 293.365 347.203 304.269]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1) >>
+>> endobj
+17091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 224.06 210.607 234.963]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) >>
+>> endobj
+17092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 196.508 168.555 207.412]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169) >>
+>> endobj
+17093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 157.997 144.674 168.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.173 157.997 332.409 168.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499) >>
+>> endobj
+17095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.143 157.997 417.907 168.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.888 157.997 469.652 168.901]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) >>
+>> endobj
+17097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 130.446 321.152 141.35]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) >>
+>> endobj
+17098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 90.939 226.666 101.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_affd1594c3bfb8bfc8e5c01c5bf0403b1) >>
+>> endobj
+17099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.004 90.939 292.27 101.843]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17106 0 obj <<
+/D [17104 0 R /XYZ 89 770.89 null]
+>> endobj
+17107 0 obj <<
+/D [17104 0 R /XYZ 90 711.441 null]
+>> endobj
+17108 0 obj <<
+/D [17104 0 R /XYZ 90 675.72 null]
+>> endobj
+17109 0 obj <<
+/D [17104 0 R /XYZ 90 650.051 null]
+>> endobj
+17110 0 obj <<
+/D [17104 0 R /XYZ 90 589.297 null]
+>> endobj
+17111 0 obj <<
+/D [17104 0 R /XYZ 90 564.27 null]
+>> endobj
+17112 0 obj <<
+/D [17104 0 R /XYZ 90 539.055 null]
+>> endobj
+17113 0 obj <<
+/D [17104 0 R /XYZ 90 466.706 null]
+>> endobj
+17114 0 obj <<
+/D [17104 0 R /XYZ 90 441.491 null]
+>> endobj
+17115 0 obj <<
+/D [17104 0 R /XYZ 90 365.292 null]
+>> endobj
+17116 0 obj <<
+/D [17104 0 R /XYZ 90 338.004 null]
+>> endobj
+17117 0 obj <<
+/D [17104 0 R /XYZ 90 310.453 null]
+>> endobj
+17118 0 obj <<
+/D [17104 0 R /XYZ 90 242.881 null]
+>> endobj
+17119 0 obj <<
+/D [17104 0 R /XYZ 90 242.881 null]
+>> endobj
+17120 0 obj <<
+/D [17104 0 R /XYZ 90 213.596 null]
+>> endobj
+17103 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F60 532 0 R /F90 758 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17154 0 obj <<
+/Length 2359      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~��`_Rj&�q!@қt���N/�xm�S��P"$q#�
+I���߃
AR�dg6�l�~"�����|8��
�~>�����,b^�A�w5��Ea�����{�s�'\��1#���|���7W���觫��G��G
��؛������
��0bI���Nk/�
�+���G��媨>�3�5�D��༚�52�����MS�SU�md�Ys����L�i�B{0qf	����U�v�?y���)?ne1����
��x�]���������Ŗ����
��YY4i^���.�U�
�)o���!ͷ���^��ZM�,�(p<P�!�##+�iY�l�
)T2��@a��~�+�g��^�E�5Ц�J�gH� N���K�CĽ
!
+c�vx�1�)D�n�e^�M�P$H�)�2��J�4�&,�4��c��`��F�BC�B�Rg�g�b��eQR'����v}
�2�5˴iK���ie
Ei�r=m�l�Ή���s.�0O��f/BI��b/F�p�i�z��g�˒^?�0txe�ا$�#G�v#�tmWr:B0�`<��w�`OQ
+UvHP­ �'�e�
6��Fy_��uզT�w�^N(��}�uw�@�1S�]q�̊9ɞ�F��W$�� �$^|zyx�e�3�t���{x��>�
��wlu��ʓd�=�7�
�s|>�@B�uu�7�12z9*�#T8b��Cw�CC�_���rʍ�Ҧ�^����y�͗�f����h��� _jQ�8N
wwK�0c���VŨ[�B��j�v{��n}Ef
+e��5�|4�#w����],��9>�'�<��	 l(�q�_�+��#�
Q
hϐ ��ͣ@�%a�3&|eL w���wTp!���C������n����n*��
�C�1{�� ��W��
�]��ђ�N�/�*$IH������ N���6���]%}u��5@�p]A��?opOx����I����ɓ�8c���kr����;��d��WG��m���z��
�>n�{0�',�?�r�V��cP�l�|�fvNe=��J�
C��4mn'L��r�2�଼� &#uv�3K���P �Ŏ��t����~�ֵ�x>�!�\���t2Vi"<*��&�)�Z���wȔ	Dc�I	j�t>a�t�s��Rf�
G�2,Dp�	�!
���
+��A�ߞ�~;:gK|k�;��!�-azȲcD���8�H����rЛ�;v>\muR��&��&�3Mk��w��@�L}V�Ӽ�g;e�*
By;�ɞ����
O�r�H�ajӔ��,d��L]�S�iˎ
g��7)=����L?o>��
6��5�)R�R&�cL
��P�O�o{\�YϙG�.n��
AO7�X���r�]�o50
F��x-�� �<��g"|XC�mt��� ��F��T5\+v ����V�e�,3KBK�?(���<�n�F����C�^�׉{X83�wݹ5
EvU����Jea���y�WF���ɢ'��1۞&�f�a�t�2���yY�Bj�
YS��F� mz���I�C�IM���߲
I*O����T/�"[���!��{���F��BM�r�6��� c���B����C����P�q���1�}:�L����B��0��b�X���YZ��K(O-�F�3��*o at 4J|a�_�@�R�kg�ޚ!ۺ7�%cLE�
���'�[�q�Y���%�u��C��3���΍�@mS�oV��^�Ik�벲5J$��-�Q;���
*��toMMm�v�v
��[�i���i:��N��
+�4@���m��s�PƠE`�9����櫍�S���*kn���߶N��ȩ~^��e�E���t��L
e%;;��*צ���
ݲ�#�]<����\��p�a�,t`��k�Z0L@�+�����(�+�.XZ�T2�[���m��\���Ž�޺�8v�̲����\�����Q+X�����=�ƒlD�t� ��V
#�����
=�TF�X���F���M���O����01F���
=���~
�"b
#�4v�.L��U�2����$m���V&�g���۵̔�����^�~�b�g��/��;�8C�-�L� t��v5���(v���٤�����]����ϗko�''�;���|^�"@S��
5�Z�لh�{��M��T)��H��������a��+
�w��
+
+P�
��7��':����$�O
+����nl�؊�_��;-�XG. zAGP� ����>�����wS�g-�o'���6����͕�z�m*	��F�+�V�����ߌ��s����Aòi6'�����X�=*t���bM��^
��¼�ʵ�Ѯ��7��
+endstream
+endobj
+17153 0 obj <<
+/Type /Page
+/Contents 17154 0 R
+/Resources 17152 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 16966 0 R
+/Annots [ 17100 0 R 17101 0 R 17126 0 R 17127 0 R 17128 0 R 17129 0 R 17130 0 R 17131 0 R 17132 0 R 17133 0 R 17134 0 R 17135 0 R 17136 0 R 17137 0 R 17138 0 R 17139 0 R 17140 0 R 17141 0 R 17142 0 R 17143 0 R 17144 0 R 17145 0 R 17146 0 R 17147 0 R 17148 0 R 17149 0 R 17162 0 R 17150 0 R 17151 0 R ]
+>> endobj
+17100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.426 154.079 696.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) >>
+>> endobj
+17101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.578 685.426 193.083 696.33]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) >>
+>> endobj
+17126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 659.855 167.639 668.702]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6) >>
+>> endobj
+17127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 549.55 156.281 560.454]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa18495186f3f1b0fef979ec7d8147b81) >>
+>> endobj
+17128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 549.55 198.363 560.454]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.246 549.55 282.512 560.454]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 509.967 180.54 520.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411da088d0c6344021ea086a87a09ee4) >>
+>> endobj
+17131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 509.967 246.143 520.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.548 509.967 353.814 520.871]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 470.384 178.239 481.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad18afd61b30d839d5b7669b3a8dea008) >>
+>> endobj
+17134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 470.384 243.842 481.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.247 470.384 351.513 481.288]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 430.801 226.034 441.705]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a4e3c1a54120a8a02ec161d3ba1a30b) >>
+>> endobj
+17137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 430.801 359.442 441.705]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 391.218 178.239 402.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad18afd61b30d839d5b7669b3a8dea008) >>
+>> endobj
+17139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.576 391.218 243.842 402.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.247 391.218 351.513 402.122]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 366.445 156.281 377.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_aa18495186f3f1b0fef979ec7d8147b81) >>
+>> endobj
+17142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 366.445 198.363 377.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.246 366.445 282.512 377.349]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 341.672 180.54 352.576]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411da088d0c6344021ea086a87a09ee4) >>
+>> endobj
+17145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.877 341.672 246.143 352.576]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.548 341.672 353.814 352.576]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 316.899 226.034 327.803]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a4e3c1a54120a8a02ec161d3ba1a30b) >>
+>> endobj
+17148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 316.899 359.442 327.803]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.162 218.502 513.996 229.406]
+/A << /S /GoTo /D (index_powerset) >>
+>> endobj
+17162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 208.604 125.865 217.451]
+/A << /S /GoTo /D (index_powerset) >>
+>> endobj
+17150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.08 188.923 366.346 199.827]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17155 0 obj <<
+/D [17153 0 R /XYZ 89 770.89 null]
+>> endobj
+17156 0 obj <<
+/D [17153 0 R /XYZ 90 704.286 null]
+>> endobj
+17157 0 obj <<
+/D [17153 0 R /XYZ 90 704.286 null]
+>> endobj
+17158 0 obj <<
+/D [17153 0 R /XYZ 90 674.924 null]
+>> endobj
+17159 0 obj <<
+/D [17153 0 R /XYZ 90 607.242 null]
+>> endobj
+17160 0 obj <<
+/D [17153 0 R /XYZ 90 303.445 null]
+>> endobj
+17161 0 obj <<
+/D [17153 0 R /XYZ 90 254.807 null]
+>> endobj
+17152 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F39 2320 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17182 0 obj <<
+/Length 1422      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��4~ϯ0/�L�$[�,�� �
m�v
���+��Jme�a��αdىs�K:�X����9߹��Ε��z�^�N^��ȧ�s1s"�^��w�s�'��`H0������������L��<)��k1)�byzj�+���(���xy��$r��{��ffH�D�-�Y��&�Æ��,�K�

)���AD�<����f�
��b@�>ϧ00��#����=l�C�e
+Bg��.�c'��Fn:5Q�xԅk����õ���!�1�)`��{c`����
��>
+��	A��V@̴8��s9��w�a1|��ȅ��r�s���
$�G�_��	��3
`���@�xf.�%���Q��ȧJs�m�ݣ�3���Ӓ�˻A��Ь
� �ƫ��2x�xO
�!
+�o4��u
�Z�r��<2�lQ*3���#����4���E~U/��Z&%ZӢ�V�PB�]
�C� ����d�
��O>V�9�p�r�VR��^+��d�xy��vw�a*�Rm1hc�U���jQ�cs�M!�o'r�'f(�!��fX�iF��2�����B�`�p:]�O�� ub
���F;�Bn�\��λ>u
z)���X�y'Z�Ť�z
&&DZr�E^�U��[xRy�X"Q�+n1Lk
��q�����̀�<�4��Df�����"��k"����Z���͂�
�z�-[+5�E�[TG_ȗ�v���
����(��\$�� Zu�R�W5h�����㑹$�
�Ԙ�̬ذ#
a1�l��"
+PCK�CF�=�yEn ��n:<!L0T�����Z�\�U}��C)"��O��G�)�@T�ڒ*GO�
+�D�B�E��S$7B
c�D
+��7�b]ø�ݩ\�Ig󉕋O���}�c�2q�O
;�F��`^���b
ݛ��?e0��h)l��wI�q��h�6��~S��M�
�A������ǃ�V�
׿/�����t�K��!@�<�#��KGHjAD�[o~�o����#Ilsf^�R598(��6Feͫ�)7%!
+}�PU�����u�.����
�)�n��L%$�Xɢ�u;�@ܖ���O�Vʳ�m�S���T���qVs��>�V'#��%#�V��@[�Uon�žb
>/xY�X%���\N�[
&@a�8qyϔ~�!�U�H�C���'�ɷ���?x��܂A��6���ykb~{] ����A&E�i��BT�����&}��0ֿ�+��E;�������v�Dw��b��t_|��=�ŷ~�
҄ Mes�U�
��
+w~��
~-ya1�?�y��+��R3/�&��If����U#��
�2
ފB  ƚ#��R�ӓ���
+��v^u��n{��=�e�h�Lf�^ �	�ڑa�|�ZK�1?@C�IPM�:���z����uF
�~[�v`8`
+endstream
+endobj
+17181 0 obj <<
+/Type /Page
+/Contents 17182 0 R
+/Resources 17180 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Annots [ 17167 0 R 17168 0 R 17169 0 R 17170 0 R 17171 0 R 17172 0 R 17173 0 R 17174 0 R 17175 0 R 17176 0 R 17177 0 R 17179 0 R ]
+>> endobj
+17167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.741 623.617 174.682 631.143]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.874 623.617 266.737 631.143]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) >>
+>> endobj
+17169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 562.103 153.761 569.63]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) >>
+>> endobj
+17170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 508.717 166.314 516.087]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) >>
+>> endobj
+17171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 455.018 203.972 462.544]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1) >>
+>> endobj
+17172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 389.519 203.972 397.046]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea) >>
+>> endobj
+17173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 335.976 174.682 343.503]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) >>
+>> endobj
+17174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.662 282.74 137.024 289.96]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) >>
+>> endobj
+17175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.741 211.266 149.577 218.792]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a0a4e3c1a54120a8a02ec161d3ba1a30b) >>
+>> endobj
+17176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.741 157.723 149.577 165.249]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a411da088d0c6344021ea086a87a09ee4) >>
+>> endobj
+17177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [105.741 104.18 149.577 111.706]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ad18afd61b30d839d5b7669b3a8dea008) >>
+>> endobj
+17179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17183 0 obj <<
+/D [17181 0 R /XYZ 89 770.89 null]
+>> endobj
+17180 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17190 0 obj <<
+/Length 2977      
+/Filter /FlateDecode
+>>
+stream
+x��[[sۺ~���S+�D���t�&�{ڸO9�
E�6{$R!�8��]\x� Y
��y�)����v
��&��?/���x�F�(AIL���:Jp$y�D
oy�~&���1b�B$��+����~�z���;�w������.
G@ ��l}���rh�1ˆ%*�����
����ſ.��#*�O����d� B�#��/�x��^/u=_P�fWs�f���k��ʶk]�i[T��8���#Ɠ	
D<�V�7��Ն��7 � ��(��[����%��Ђxe�� �g�y�����=@����)�	���//WE��a�N�4$�@*�m�DV4ڍx;'x������9ųju��:��s�������5�Qw�ntHjc�(qL�)Ӑ�
&8�q-@�!��Y��#uy��@��#��O[]f^1��BL�r���U��V�&z��M<f�&����+��w���6՜�n�lK��'��6��sא���=�NL�V]��v�4��9� 1��
ϫ[3Z״n� [...]
1]�Ard�L�?\wQ6 
+�\�~n��7�ۆ	
����B
+�A(

+	B��A��=P0�V�i[���M�W��k`x�)Xa�C�>H��]rK
+wP�V�<�Q��9x2��X�)Ϭ*��G	���=�X�����=��4 R��`I��zhx

���c�4Q�CȻ�:�j�Ű�
�I�j���������3��9��Q=gr��|Q��{7z‹���~~�"/j�]0�t屲�aa��Ǽh��-���be��g4����o�
���ch
����P�v�����׎���,ۦ(o�O	2|7��̶
���1m��6#Fb�!YZ�U뺖ڵUU?�?�����ե��4����
I��
����Q��#B���V��no��9�\;>r���|�f�;x�w�W =䘺�������'ICbDe a�}i���i_��c# %X�0���Vi�>$8` �Ӽ��b�u�i���b]6��.���gUm�ݽ�¼W��N�[�ݽ��Y��u��Nt�
/
l2�b�Y cV͹�'���y�p��.W�����X�X�yN��*�PT�`��׏�G҅
����Z�tߡsI�I�x���	�Kp-�p�9�wVI�>���Bgc�7��Ƭ}Y�냀�.	�
+f|��7 ���u]��/�!����4�2�c�עt�����V��A��B	�x���}�FaKT�
S����Q�ʪ\��/�:�=]�ﺛ���!9�'�9��,�����%
��N���t�����KHl��t.��Nf][�3�Pt
�7���(<�H
���AK����:Y�Bm|��w��
+��7��sQ���� 4�Ѯх�D�љ{����~}�#Y<]��G�����'���
��PBv\Q�EE�^�6������{*�;���"!"�q(�bϛl�0�
@���� �Ku
+�'H����<z��Ɛ��ѧ!���@i�M1q~� $�̒�>�[V[�M��]c�����b�0h�k�4ō_��Yp��c��
��=a��?5����ⓞ�_:
+�@*x� +�F`��ݨ�
<�>�}QB�r�8F1;�\v�=����]l���9�S
C���c��ncV��,�)tH2�(I�AZ2�_��W�d�x�%!�#t���u�]����υW:m�G/����O�A���|��<��Px���}#�4��
��G,�j )
+���
�
�F&L�퍨(����!ʼn8�
��m�&l�?�?¥
+	��/#���|�� O&�0�Yxrl�)O���KjO2Ns�
�����S�ob�R�s�����M� `ԟ��^
Z�v�׺��e�L"��Em�~(CG��v=�
bv:pb���/�ޘ4��R:�D����[�ض��X���)P���@��i" �B$�(;FG�M�x�]��I�N�B���:�
Qq�7�	�<2� ��
��r���s�*�-x���S�
��9R�[�q�&�Āb;3e���c3�*0�ĊM&zu[�������iE,&�H�w5i�W�`o��EQf�z���r����,��=E+���j�O����
�u��4���y�O١�7T�c�]�K�5ИP<h<K�֮�YҀD �ɓ&�`k�X=:
H󹜅���,�d��;y0
�!ݏ�%K_�*�@0N�Q��0#Pt��j�j
ȍ'�g�K	 ��S�]�#��0�,3�  I�3�M��M���}��#	�q�
+
�x�}|�ϒ.�]}�6�r�p��{��_���a��u\H�%�`c�8ҥ�)<�"t ��)O�T�C���Vd"
C BvL�ԋo�z�wyn| !15y��D��ӄ�����_��:����٦ٮMI>@BG�
#(� WԌ����d�C�����%#0ttu ��}�n
>z; v5���H��P�
qF��E���\�sQ��#��s���\T7h�������WwE{�F�l�E	xݲ�C��R.ݳ�tҸAK��i]����❒��$�6&�xTںƞe
-�1"}Y�q�s;#�
+����F;�9L��ϴ�ʰ
vg|~�]������u���-��������</���Br�����ͫ�"���X
�$>�6.$������
�\
X�8F"�'����a

]�7���B������� 2�Oz;���s1��
^��`�v$���u]u�cK
��M�e]i���
v��[d�ׂ��S�v���8|��0�a�v��u��2�4������_��/&��,t~߹���	� ���j����m��F��L[R�9�m;�o|���,zU����-�]n�`�b�|+�)�3-Լ}�������:����/i��n4�����k���]�O#w�����:������݂�#8�W�۶�\�|���4��A�?'n|��
�n��ֹ��d�(�q�
�t[�?h�)�
+endstream
+endobj
+17189 0 obj <<
+/Type /Page
+/Contents 17190 0 R
+/Resources 17188 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Annots [ 17178 0 R 17185 0 R 17186 0 R 17195 0 R 17187 0 R ]
+>> endobj
+17178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.255 563.795 379.521 574.699]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+>> endobj
+17185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 534.839 282.279 545.12]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) >>
+>> endobj
+17186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.458 534.839 513.996 545.12]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+17195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 522.261 120.884 533.165]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) >>
+>> endobj
+17187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17191 0 obj <<
+/D [17189 0 R /XYZ 89 770.89 null]
+>> endobj
+17192 0 obj <<
+/D [17189 0 R /XYZ 90 721.073 null]
+>> endobj
+17012 0 obj <<
+/D [17189 0 R /XYZ 90 702.288 null]
+>> endobj
+17193 0 obj <<
+/D [17189 0 R /XYZ 90 702.288 null]
+>> endobj
+17013 0 obj <<
+/D [17189 0 R /XYZ 111.081 623.119 null]
+>> endobj
+17194 0 obj <<
+/D [17189 0 R /XYZ 90 618.536 null]
+>> endobj
+17196 0 obj <<
+/D [17189 0 R /XYZ 90 508.687 null]
+>> endobj
+17073 0 obj <<
+/D [17189 0 R /XYZ 90 486.31 null]
+>> endobj
+17197 0 obj <<
+/D [17189 0 R /XYZ 90 486.31 null]
+>> endobj
+17121 0 obj <<
+/D [17189 0 R /XYZ 305.44 393.273 null]
+>> endobj
+17198 0 obj <<
+/D [17189 0 R /XYZ 90 386.633 null]
+>> endobj
+17122 0 obj <<
+/D [17189 0 R /XYZ 321.092 319.478 null]
+>> endobj
+17199 0 obj <<
+/D [17189 0 R /XYZ 90 312.838 null]
+>> endobj
+17200 0 obj <<
+/D [17189 0 R /XYZ 90 242.132 null]
+>> endobj
+17123 0 obj <<
+/D [17189 0 R /XYZ 90 205.742 null]
+>> endobj
+17201 0 obj <<
+/D [17189 0 R /XYZ 90 201.258 null]
+>> endobj
+17124 0 obj <<
+/D [17189 0 R /XYZ 360.931 84.126 null]
+>> endobj
+17202 0 obj <<
+/D [17189 0 R /XYZ 90 77.486 null]
+>> endobj
+17188 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F24 529 0 R /F117 2446 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17206 0 obj <<
+/Length 2322      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~�`^6`�9�s�֩��qj7����>�.D���Z���`p
4$�J�*��8F�=}~� 0�|z;����l������+ɦiA��j5�x*C������: )6��q�fFp����A�����<��kr�G����^6��㼈�ه�_.^ңO4CL���"��]� ,)�͊�
"	Ւ��(�������)���L� �l�Q�+o�U�ψ
+�t�$�a�93D'��|� ���j�#�������.��/�Q���Z������z�n��;*�T
4\U�`g��C��vو�p�R"A�@�m�d�.(��8�6�;��W��DX5�4����h)K�>Ճq�h��eFZ�c�u���pN5F���9�\s~x�Fu��\^F˙
�݁��S�5b@��SP_�n����
+^�"�hi�z�*�$�a
+��MV���!_J(8�:_J8�J�|�I�]�(=��k��B^�z��m
�s|�=�U�$
��]�cAvp���r�(0��
��
��!��"K�.Bp���~h�Z��*�DHg]z���Y �I
���
+Q�F�u���4��!�P�e��C*D!�7��yVƋ2^V�ڪs�J����
1J�0����rY��2��@��C��1̼�hՊ[�%�]�p�����.
}�
RUHb9P�C�#-U��� ���&Io}�)G�)��^R�%��Z?��u�V��:��i�"J���z�g#Fu�����ѼuFdD�D)�F�(7�����c
S��c
+�E�

#�Ҝ��&^eyloD��M�Y�MI�B��l4����ޯ�UW6qy�-� 
�&��}���
�
E��6��b�j�n�������mڜ�C�O�e��� �hp�� Ұ

6��
��~l ���`�ڒyD6Z��/��$��D���Y"Q,(��5i�A���o����yTf������Z��lP0h���EQ$��O��.��[�Z�Rr����PAm��c�M!����X�FI~��Jθ��

B �0�*[�R�k�E��zF��7Cp&��0�C��u�-��
�xhpP�t~�
��f�35�긡� "Z��g
+78d(SWI�e$�
�Ɛ����
+Q� $R!�
��jG���!�._7w��G�p��l�
"S���
�	�0Q�lQO6׽q��N�'BLJB$D1e_I�P&��NA���P&��ݺi�T`
R��!���gۏ}U�T�୕۴���ō5V���
E����0��cc��]�� ���j���j�lW�&��o��J�p�lno��M������Q
��wSFɌ�����;^q�j��"}�� u��jѣŝ�f
i�5p�u�����M��u�m �v���2�N
�F�>��
�
zDQ7V����YQ[����g��x��	
����D(p
i�@ް��x�ʓ8�S��U[ocx�W�m�-=���;c ۗ�S�+K��9�s�"�_
D�
�!����-��aP
tm-�
+�x`��.��
+C�f�=��0D0v����
�?�����������
&Ao-+��$��܆��*
���-���fd[�2+hw�809i�}R���@�p,�H�ڌd�z8���P
+����&��"ZA�:6��
��ɲ���� ��s��;
͑� ��:
:����9��C��
���!��zH��{��
)`�$E�&'t�ީ2�
Ȝ�OJ �E�q���Ÿ�~N+�]<
+5��`"���}�{W

╉�
�N at 2�X�q�4�,���q
��ր"NB1�<ȢM�a�	'>�|�c�9�=@��=zn���#���Ð:�u@�@䝾�C�G�坰K�����6IڦOI��H:�c�G�>�cf '���
�c��(���YQ�q��T�?Yo�7|�^����R�^�lA��r����v�V
�&ݨ�(6��nNz�;�M���/� B��f������,!M[�\�~�+��f|׸?i؀���������S�~*ЏZ�Gz�~�
�4-{��}��2��aᛝ5a!�FNO#����[\�L=u/�@�"����Y���7/��d�<�u
Q��Y޼#мn��>��Od��85�/{O���
V�zm���ǘ��KGf3��!!�t�Q�{J���z�!��5���Yͺ��-�N�t�z�T�@��W����b�Uޛ7�ڃߋ8��i�j��3JwѺ�.��at^�:&
�ٜ�:��q�O+���?&�t�}"o�ߕ�����fw[��-Z���;����X [...]
+7Q�
��d�Gn���(��Ġ
)i��\�l���p��M_f����1���o�
+endstream
+endobj
+17205 0 obj <<
+/Type /Page
+/Contents 17206 0 R
+/Resources 17204 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Annots [ 17203 0 R ]
+>> endobj
+17203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17207 0 obj <<
+/D [17205 0 R /XYZ 89 770.89 null]
+>> endobj
+17125 0 obj <<
+/D [17205 0 R /XYZ 140.132 647.468 null]
+>> endobj
+17208 0 obj <<
+/D [17205 0 R /XYZ 90 642.885 null]
+>> endobj
+17209 0 obj <<
+/D [17205 0 R /XYZ 90 528.317 null]
+>> endobj
+17163 0 obj <<
+/D [17205 0 R /XYZ 90 504.996 null]
+>> endobj
+17210 0 obj <<
+/D [17205 0 R /XYZ 90 504.996 null]
+>> endobj
+17164 0 obj <<
+/D [17205 0 R /XYZ 90 451.337 null]
+>> endobj
+17211 0 obj <<
+/D [17205 0 R /XYZ 90 446.854 null]
+>> endobj
+17165 0 obj <<
+/D [17205 0 R /XYZ 90 395.166 null]
+>> endobj
+17212 0 obj <<
+/D [17205 0 R /XYZ 90 390.683 null]
+>> endobj
+17166 0 obj <<
+/D [17205 0 R /XYZ 90 338.996 null]
+>> endobj
+17213 0 obj <<
+/D [17205 0 R /XYZ 90 334.513 null]
+>> endobj
+17214 0 obj <<
+/D [17205 0 R /XYZ 90 278.343 null]
+>> endobj
+17215 0 obj <<
+/D [17205 0 R /XYZ 90 244.34 null]
+>> endobj
+17216 0 obj <<
+/D [17205 0 R /XYZ 90 211.278 null]
+>> endobj
+17217 0 obj <<
+/D [17205 0 R /XYZ 90 176.214 null]
+>> endobj
+1955 0 obj <<
+/D [17205 0 R /XYZ 90 86.708 null]
+>> endobj
+470 0 obj <<
+/D [17205 0 R /XYZ 90 77.486 null]
+>> endobj
+17204 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17225 0 obj <<
+/Length 1978      
+/Filter /FlateDecode
+>>
+stream
+x��Yk��4��_		i��#N�B�A�cvʧ]�2�ۆͣ��.��s�H��i���(�c___�{�I���������&\�Z-n�B�$8��#��� ��˹�����aA��`�������o^�
Գ�7�Ż�G�!� Ga����_��@�w�0��A�
�2�f����
y�=� �9�\�[B������c��{�w�*�O� <@Q�
�K�0ģ��g�`�|�ƽǨ[f
!�a'�j��#����v g2���+o����_ɵ���G���_"�0�qFP�q8^���F�CS�k�~%7��d�6NuȻ�
� vK���%�:��/��noMc��u��
@-L�Β�0�7�>I�u�&Ҍ�#9C!�����[!������f�0���wþ0{!YGm�C"�Pg� `��[��i&�[Y��tߤeq)r؆��]�� q3r�E�U� YSM�6��JҺI�m��;�����#��3ʢ�]Vu�<n��Jj

֙�
�F7�c [...]
+��8��t��4k���~l�P�=�݃pw

���rP�Lʵ^/�q�]���Aݥ�i�
ġ�AY�탭,d7�
�Ԫ̻����e�G���w�
�4��G�
��|��F�b
�7����K�9�t���]vV}�p/B�tB��I�W!T?�� ��2�5\�u�ˆRv�~�I�Dz
'"�(��8�R;�^A���2q ���A��	�����
P�`�"A�:9](
Qύ�R��[:g�Q�C:"����6TEB(̏\��3�8��K � �~���E�C�F����r�j�R��4��$��>x�6�@��	���b��W�
�2�%)�8-.�;��ֻ��
׻��N"Kצ��(�G�tվk

�ztBgN�'G���r4�Rmmڼ���$�#��հ3��O��%����g1>Շ����/7q�5]!�&�
1��(��
��%�G�[��}6�s�[���4H����짉J]ՂԵ=�BWYF*
۪U�X���c��}樮rЀ$�U��'4��
%��*IT�d����nH\
��wm��MjV
+��"U�Y=|��Z�쬍��6w��j��K��g��W����������1W��|����)�s�hs˶H�3�KhUK�[�/ӟv���Lo=n�����D9�K�'s,�&3wqrbYQ�O�R&�
ۧ8����D�z�z�6�5ZI�[O��^��חq����E�dB雓w����E��͠dNi
�`���L�h{Y�%��3*��tf!J.
+�i�?��y�5/)`�N�"@ �PΌ]�G�H�ȣ�T i�Ma�?Y�28FF�k��|
+���"S}�Q��k��c���8
�R�.#�^c}�AJ�����:F14���b�T4
JT-}�Qd�'--�㗢�Љ
:Cuv��PV�|8���Q�U�j��=W}3PW�v
M�ȥw�"�����)Yv0l,���N���Ɣ	:t_�v�Rm+��@SS�(�ބG\��5d��~���m}b+O�4O��Ioꀩ�3�+Ʋ�)-�3�I�g����=^i��t"N�]��Q@ X%�����z2|S�j�X�8��J��&
X�Z-b4��<��Z���
�HK�����
 Z�A_���E1tX���C���ؘ�~�q��>)5Z�U�������
Fr�Z� x6ڋ%�^�Ů�K���l��ld�ۇ�'N~o�S�u�i��
+��^����@p�e���gj��eE֫�漀
��8If�vT��&�Q+ΰ��3zh��$��8�}O���� 菲��
0�胖�w�w�h0	�w����n��y�3�cGsK��<�EX���HD@�ݢc:����4~F���ܵ��1. �^��+`˪ � ���������w���~-��}�$m��5�����c��e�E��%�8t
{�����.-�3�9O�/��|j
+endstream
+endobj
+17224 0 obj <<
+/Type /Page
+/Contents 17225 0 R
+/Resources 17223 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Annots [ 17218 0 R 17219 0 R 17220 0 R 17221 0 R 17222 0 R ]
+>> endobj
+17218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.159 233.78 375.063]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4) >>
+>> endobj
+17219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 331.047 197.875 341.951]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6) >>
+>> endobj
+17220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 276.018 241.529 286.922]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) >>
+>> endobj
+17221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.021 139.778 392.442 150.682]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+17222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17226 0 obj <<
+/D [17224 0 R /XYZ 89 770.89 null]
+>> endobj
+17227 0 obj <<
+/D [17224 0 R /XYZ 90 645.991 null]
+>> endobj
+1956 0 obj <<
+/D [17224 0 R /XYZ 90 516.236 null]
+>> endobj
+474 0 obj <<
+/D [17224 0 R /XYZ 90 506.376 null]
+>> endobj
+17228 0 obj <<
+/D [17224 0 R /XYZ 90 385.761 null]
+>> endobj
+17229 0 obj <<
+/D [17224 0 R /XYZ 90 385.761 null]
+>> endobj
+17230 0 obj <<
+/D [17224 0 R /XYZ 90 295.886 null]
+>> endobj
+17231 0 obj <<
+/D [17224 0 R /XYZ 90 241.073 null]
+>> endobj
+17232 0 obj <<
+/D [17224 0 R /XYZ 90 177.791 null]
+>> endobj
+17223 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F22 2996 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17241 0 obj <<
+/Length 2358      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo���_!�@*Y�/"%��m�
.M ���t
䕼+dWړ�6�_��ҊZym�[�Hj�p8�
�`����^\�OD��V\����Ak"���s�(IU�`���&b4̚m��&�4�7O�"o��?�wM�<]]}�f����"�/�����n�|���
F�D���o��� v�b��f�G
.ix�g������/��k���Ż�4��n�u�]�X�M�Ұ����b�B)%�^�����nDfe$I������h���%B���!�1���.~��N����!>���>c�8�^��s�������}e%lf��r�-�.��̆���1���	s;t�8��$D�t�6���$�@�=�*ۢ`� 
Ⓡ�IA���^�	S�D��~��RqO��8��|�4����E^ D�` Z�>����O�lW|��FҢ���V'M�qI�ԧdg���M^'��)��)�x�����2���cK1�4P�$��S�
��
,��vx�
+�b�R=�
*:��/T�h����|�/�H
��A3�3���AL '��8�/M8>���c	��t
�2ϗ.�+�8&T��Q�@4�ݮ�B�pYW�f����
�`!fZ�&��g,��
�EW�����+��u =IV�>�
ͷ}�)��ߥ�F,�m�"��.[�
̽}v#N��S��#�2��R^���y]��LX<��1����mչ/�*�(DxW�ܽ=���Q3A"�"w�����Gn[{���Yw��9Ϙ/��Y��~�i�,��F�5Y9�Y
�� ��P���c
n˪ܖ�E^pzP>�Ӱ}j!��wcA��1�z
��q�)0��`&��,��:����,bg,���B�}۳�Ֆ��X�n�������E¦�sj��+�
�mY������
�E�*�F�kېȶu�V@��{g�Rk*�[XG��G��*c��҉�XL����&��X��xt���st��
b!b�(�]�5C@�ڙ�N�m��T?~zc��f�f6"o3Xw{���
h,����]vOv�sJCY:
O4n+�*�s#
�����ξ<8ɻ���|,[d��Io�� 3��B�Q@�+t
��?T��
FH��
T�C)�
+�	.���}�Y�
#�C���3��N���:w
� R�����D�4M�h��P����"$k���6`a��M�
��[��M�O	9�u��Td� =��o	�:�P�P�O��Ոk�
���S(�`
+�=��ˊ)�odÏxJ���X�՘7��q6X/�]@w�[�ao��y�RMR����܈�^ �Ca��k/��gl��^��7�1o/c6�j/��g���2>���Y�cy"�J�\W�V|�Kp���&FS�
 ��&�&��‚ܔH�eSo�O�
l��#.�G[��f�Mq�yP8�Dpo��$.1|�\�T�.ܻ݆��N�G��ꌛlӣ
+�dɹ֌I=����Ǥ")�+����SJ ���7�)
+�ii�x���'�n�`³��c
8M	=

�J)�{{�i�w�fxH��=�
x�=�ä	����81a�	0.
�+�
��
��	ʗ�}�g���h�6���������}�Yc��S�^A9�L�>�Һ����i�ĕFwa�B����#�uĶ�x3�C�$3W���[��RV��>�khI��iC˿��$
�O�v %�Ayzx�p�P3�D�¹���)���7�ꛯ%���
>x�炏u�f�����fڷ�eC��G��3��S`F��I8Q1�H�p��uq��7���
��X-���4����Ӂ����l;p���D�_]���n���G�h���"�!u�&`Y׈���
�*BO��"�IvMåq�a*[A��3Өw�ӻ�{,�j�Y3G�[8
�.�OS=�9x��P:�
+��3�W�����P�
�t�
D�O*^0�c�C$�G8)���/TЙ6��R=����r9u�9�8T���jc
+�Co���rc��cP�˦ܽ���O����/��3���Xئ�g�
`�}��=l�D�qI	 O�I\
�E�A�zS'�k`r$K�R�WIs�>B�$MR����HBk����B
�:��©�$`�Z��
~�
F3��� -'i��@��O
;[O��5�|�Y(o��
#0��l�>/�L��%d٬�J[�	�wȟI�@pc�M�l6O6����4�	5p���E�sh� �]��0��\3�T�*�n��?���H�������������k
�7�CB�.ܖ��{s�
���_#)C'���j�w11�<����
����P=P'|*z�[���.L	<N�1�˄s�u��./�����V�q�W�s at JJ��98����V�s5b&}(Zoy������$�b<6/���凭�k�/������
+endstream
+endobj
+17240 0 obj <<
+/Type /Page
+/Contents 17241 0 R
+/Resources 17239 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Annots [ 17234 0 R 17235 0 R 17236 0 R 17237 0 R 17238 0 R ]
+>> endobj
+17234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 303.446 188.41 313.976]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30) >>
+>> endobj
+17235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 273.623 197.875 284.527]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1) >>
+>> endobj
+17236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 244.548 196.159 255.078]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) >>
+>> endobj
+17237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.911 127.489 391.332 138.393]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+17238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17242 0 obj <<
+/D [17240 0 R /XYZ 89 770.89 null]
+>> endobj
+17243 0 obj <<
+/D [17240 0 R /XYZ 90 721.073 null]
+>> endobj
+17233 0 obj <<
+/D [17240 0 R /XYZ 90 704.201 null]
+>> endobj
+17244 0 obj <<
+/D [17240 0 R /XYZ 90 704.201 null]
+>> endobj
+17245 0 obj <<
+/D [17240 0 R /XYZ 90 534.401 null]
+>> endobj
+1957 0 obj <<
+/D [17240 0 R /XYZ 90 431.313 null]
+>> endobj
+478 0 obj <<
+/D [17240 0 R /XYZ 90 423.742 null]
+>> endobj
+17246 0 obj <<
+/D [17240 0 R /XYZ 90 322.843 null]
+>> endobj
+17247 0 obj <<
+/D [17240 0 R /XYZ 90 322.843 null]
+>> endobj
+17248 0 obj <<
+/D [17240 0 R /XYZ 90 262.211 null]
+>> endobj
+17249 0 obj <<
+/D [17240 0 R /XYZ 90 215.181 null]
+>> endobj
+17250 0 obj <<
+/D [17240 0 R /XYZ 90 163.794 null]
+>> endobj
+17251 0 obj <<
+/D [17240 0 R /XYZ 90 100.212 null]
+>> endobj
+17252 0 obj <<
+/D [17240 0 R /XYZ 90 77.486 null]
+>> endobj
+17253 0 obj <<
+/D [17240 0 R /XYZ 90 77.486 null]
+>> endobj
+17239 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F22 2996 0 R /F110 1507 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+17274 0 obj <<
+/Length 1908      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��4~ﯨ��D=�_��ZX`�-O
�2mf��mJ��e�=�v��Iڽ		�r������sq0�bz7�����[�~3�\\)65�H*��۩�S�
�V�W�2�}���I���0˽����O����&O�?'>�)�Rz��N^���+x�=,̌��q��SN\7ӗ�_&8��i2b�A���	FZ"�H:#�ʷ�MV�V��+��T
+I���_��l�oT��|�m�tF�I�{����}��:�
!
qe���F���a���X����
\�Xx��d�6[\�'���>_��������Ǚ�Ќ�]0�}�2B����/���~�"_=,�u�Q\3$�<e'���fgO�5
+��f��JNY�Z�vy�/S"���7��1J���?*��6
��@bX �ZQ$ا�vɭ�M�8�I�o�|��:r$��c�L�{��(E��EGDͨ�q�t%�Z��W2��9Œ�l�
+�~����W��`1�o����eV��
7���gw�H�j����x���&���y-�
++��m��_�|��C�w��
׈�&�#�
Yr���n5"�H�����o�z��a� ,sl���۳�Z�5l�6Cq����[�o�i�"x`D
�sz���և�e���}_�FÄls(j��UW��x
��0��0��=� ��CX����U+X���K�_GSX�����	I0�:��$ꤤ���@H�f*1�,'NI���X��|"6�a��v�v�RDRx��j�(������)�8P5Ÿ/Nk+��#�=�\� ��p9�D�QKA�9'^��r�
,o��G�1��H����õ=�]+R���x�`�C�ZiЧe�X�k����M���C�_n���߸"�~��w�N�W�̲����m��)ɛ�`�
c��/� os6g�%���
�"
�j&����7���v� �x�Q�oj�
��hU7
u��f�("��
+,�S>��Y�A��Q�H

�p�8Ȫ�
�P��|����k�ϣ�{	�\���ҙN
�?x؎h��Z�G�ð��
+W�—�Ê����eif��1�C(Y��B��ge�\����}	�rӅA_ә"(҂
۰.���7M_qu=܃�
�<[���i��-<��Z
���6m�fDi۬���K�z6��
`�ϭІR)��
�!8H�-�$�c�����.c�
+�՘# ���t%�W[Y���‰�{�"�MU���n��l���P��&J�.Z�������4tO׎)�=p�&�a���n�yX���]J��%���ѽ'쩥��3޼Q��k�v�ά��nF�LV���
��
�\; ����
��`��3ѢO�XU���g�;K!��
^8J���2�,��ޟם)7�ޙ̹rG&- #% �]c��ν.Ov]@��R Xpw�¹c��������޻�af�����R �~9�օ��ج���� ����n�-��@'��xc9(>�J����J�
�����U���5�4�	�s�)uT�<�cG�D�y;�<�߂
B��4�chx��
�x�L�tz���Y٬���pNP��7���I��!{W�t��u(`;�n]��k�f1ػ��4l��Ѫ�Y��p�Pܥ��Tȗ�=��jD�q�
p[�
�
5x��
�R�d�pv4����֜�i�U��Zr�w"G���7��̖��eU��;��e��4��!zZJ��<�
i����?��^2�P��������(RP!����D�̄ѡp�D)ZN���‰�����@ެ�~:d�A;�������_y�Y*DRs��l� m]}`#�����М���'d�iA7��y��h��a���>�#��Ը����������!�ݡe�
2�Cm��mn�@��.�,v���k�:�ox:H
+endstream
+endobj
+17273 0 obj <<
+/Type /Page
+/Contents 17274 0 R
+/Resources 17272 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17184 0 R
+/Group 17255 0 R
+/Annots [ 17256 0 R 17257 0 R 17258 0 R 17259 0 R 17260 0 R 17261 0 R 17262 0 R 17263 0 R 17264 0 R 17265 0 R 17266 0 R 17271 0 R ]
+>> endobj
+17254 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 17279 0 R
+/BBox [0 0 456 130]
+/Group 17255 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 17280 0 R>>
+>>
+/Length 509
+/Filter /FlateDecode
+>>
+stream
+x��U�j
1��+�Z��.:
�@��$
9Ƴ8;���wI-i:=
��5���Su�բ~�o�
D:Xl��
��_� ?Owp�F�{��o���E |�߽���[AW�<��#L|`
 �y�����Jo"*X�
�ñ�q`��3���h
��Ť�$S�Fe��[WL}���a|��zƽ������ϫJ�1�u^M
+�m�4?��
πW�!
�fK����r�$?b��u�]�v�pt�B��
$M6�SI{�C�ar1D���V��JD�=/M���$���Y~d�Q{�=��~�Q��n:A���¢��F��Ct��{8�r�-�4�2�mmiu�Ԟ��f��(�u�KM��-�֨��Ƶ�:N����Q����5�{�s�;iIwJ��3��A�]r,��%�+:S4Up��#z3៖�)=
]N��xOO�-=����
=�������z�i���^x\偦PZ�.�@���&��^�
+��>����3f�~ ��
���6���.�i:/�W�x8��
+endstream
+endobj
+17279 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+17280 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /WGBSWX+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 17281 0 R]
+/ToUnicode 17282 0 R
+>>
+endobj
+17281 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /WGBSWX+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 17283 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 667 556 611 278 556 556 667 500 556 500 584 278 278 500 611 278 584]]
+>>
+endobj
+17282 0 obj
+<<
+/Length 17284 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mk�0����
��E�� B�^<�n�b2n�Ct��Ƽa

(<Nf2����=wf\Y��fu��
�ю�������I�`zTk��V��I�/۲�ԙaN���>��nc�'=��0��7�ɍ��_�
>]n���DfeYҶL��˽H�*'biH>v���u;���
��%&s��fM����4WJ�̯�5�_mBF���i����
۹ߞee��*��T �A%�P�X��@��r�{IP	�AH*b�X�B���(��x��r�j���WT���x�#���"V�_

��9��x:�r8p���3���ï�������O���_N��M�W���}���9?Bax���S3�Ϸ���_Ǡ
+endstream
+endobj
+17283 0 obj
+<<
+/Type /FontDescriptor
+/FontName /WGBSWX+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 17285 0 R
+>>
+endobj
+17284 0 obj
+362
+endobj
+17285 0 obj
+<<
+/Length 17286 0 R
+/Filter /FlateDecode
+/Length1 2708
+>>
+stream
+x�UV{lS�?�q��81~5qpn켃��G��<�
;&6I�é!g�	�
RV
�:�U+ڲ����Mڦi�`҄:VMc��?S�t[+1�Z�`�Z�z�{�@��;�~���
��wν�c٬�q�ܓJ
 ��猭9�����O�j�
+�G�V�ܛ�������b͛Ă��|-�v�����9�Q��Г�ON��I0v�"�/���J�
����X�A�s�1>��
+90Qo��mz� �J]4!���*��n�
�nv�l
cd�Ԑ^��\f���
5�'g�o�R��!��Z[0�v��Fg�|a��srv�U���[Ys3f�.�Io]>�F(sTȃ�ݜ�k���ve�l�˻�t*�ٯ� 1^��#�+�Աx�hN^��������M�h�`��@��f��)}Pŷ��+C�.���� ?;7K�)*2;*��ﻫ��m]���
~�
IG&%��ItY���B�m�y&���q��Q�=�(�k챡�eky0˻��W?t�ʂ�D�}���7&֋�3�6VGj˃]�34��E6I�Wf����������
S�l
޺�����
�Ӌ$!~.3�q�2v^K��hF?<n�
{n������H��cG/��{�;g�њs���Tj$1-�"&w��f@�brˡ˿���kYQ�
��6R�:9�X__h���m�ծ�\�tzjmPc)�r��d��3�2`~���_��^m�j	G��`cϮ(��9�S� }��J�Z+�B�FV˜�f� ��#�`����6�`x�$͓�&:!�
+�
�>~"�-4I��A�����l�l���
�7-�Z���5���x�E��̊L��Gq�qÿE�BڏP�(��~��#S�W�c���HDƫ����S���|���ᑙ���
���	~�2�6�M�sJJ[��pV9kE��VΞ���$x^�FA��\���d&?/0ȃ��ʌ�+'G�y�I0<�7�i29w4�K�km��_�}��
�ч3Wffv�d|����Ub�q
����]J*�s"n��bN �j�
�Fʠb��$(���R2u*��^U!����������~�s�gh���]��ˁ
�����U�p��
5;�UWY���~jϷ���j�U;�5�l+ٴ��t��iR����gx�G�n"_pɶ� p)S�^��A{ds�pt���v�k�~:+���1�*y��n�9��
�_
�E� �P��_�[���ҥ��/ʧ
�(12w��=�I�7X
�+J�]]Q�m�^/6duf�Tҙ�W^a+��xkxtG���Vvl�B�-a�{��
���~9a�S�go��Y%c�6zP��˷�(�ˑV�����#㻛C�c�#��;u��f!hk
��[{���ǎ�p�G
+��W��c	���nM��R��S��e���<�v���H�/�
��qz�z��[��
��{2قA%Z|"���8qj췿
����Xܿ~��^���>[3|���}Lh�j>��L%ٛh��B�X�c�Yo����·���'��L�
����`s)e
l�zn2]
��*zV���9j£�ӿ�M��	��^��;����Wg/)�5�ۚ�b�XMy��5:в_g�ե��f��i�c7�%S
��4��ǎ����R�l3�k���k�Uwk�r7j��6A%ZI���+�3g�x��Oe��}�r+�{6�
�Ǜ�
K��
}}�H��{,)����	
��)
LN
+�Mɹr��6s!_k&_2�=u��V�B/!引�37�J�����Ͳ��0f�+�6��Y:-�

�Qf�R��?
7�Y��i�3�x��p��-�p"����,�	��
/a�l=��
i��ϗ7��
�<�m������2�T��2����F�m�lH��o�Zڬ�ry����
�7�0�e�b
*?���;���'��
0#���*!E��[1{�̦�׉g?�Æ��mK�>��z��+��Y
~g�q蹰7�y ��\p��T&u—]��#C)��@�BEY<����ڀ߳ކ ���75�k�M
oM͟�A�Y�9��߃ܖ�#��6��
�\�s��\ò�o�67
+endstream
+endobj
+17286 0 obj
+2032
+endobj
+17255 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+17256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 225.598 224.395 236.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 202.664 189.925 212.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+17258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 202.664 260.898 212.591]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5cd04912407d0b7f7c3e4bf9becff0bf) >>
+>> endobj
+17259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 187.108 422.545 197.014]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 161.921 224.395 172.825]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 138.987 232.982 148.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+17262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 138.987 347.013 148.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a1e3eb354a88609b46573e1dc2ce6dba9) >>
+>> endobj
+17263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 123.431 389.11 133.337]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 98.244 224.395 109.147]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 75.309 254.671 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+17266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 75.309 390.391 85.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a11a03a73950216b9010c2350cf5ea7e3) >>
+>> endobj
+17271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17275 0 obj <<
+/D [17273 0 R /XYZ 89 770.89 null]
+>> endobj
+17276 0 obj <<
+/D [17273 0 R /XYZ 90 628.424 null]
+>> endobj
+1234 0 obj <<
+/D [17273 0 R /XYZ 90 528.6 null]
+>> endobj
+482 0 obj <<
+/D [17273 0 R /XYZ 90 521.869 null]
+>> endobj
+17277 0 obj <<
+/D [17273 0 R /XYZ 90 254.507 null]
+>> endobj
+17278 0 obj <<
+/D [17273 0 R /XYZ 90 254.507 null]
+>> endobj
+8340 0 obj <<
+/D [17273 0 R /XYZ 90 191.094 null]
+>> endobj
+8343 0 obj <<
+/D [17273 0 R /XYZ 90 127.416 null]
+>> endobj
+17272 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F60 532 0 R /F75 554 0 R /F93 763 0 R /F22 2996 0 R /F67 3037 0 R >>
+/XObject << /Im26 17254 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17311 0 obj <<
+/Length 2048      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�8~�_����
���8���,��=��S�0[I��%�,7���7)Y�eǾuz/}�H��p�o��q�����?���ɂ����}�@F	J��"�4$)��x8		
&�*�MB�����1]���CvW&��x|�]�n�ERe��
���짯�2$j�n6Y���O��!����
a!��Z�f�c�Ay3�f2{�Wi���R��MCɇ����81��E0"� ���&�bX�
�
;A\�F�����fď�d�	GT��4��0]��I��'���L;��GLFb(��R?M
���}��*���~��
�`�b<ՃV�
���v����u8c(�7⵽4FX�@lD�.��}_��z�Fo��x�J�f�숒
+�9�$"Q�E�Js
�YQ�AzcT@>dy��
��`�h#�!
3/��q܆�
9ȪE
�[��ߏ?�OF���
N&;�l�	b�� l�
0�(�F��![�}�TxbF�G�a��2��
\[k[K{��0�]6N��.��d��3�N$pM�HM� N�sF*"�
��'�R�����c5�+��(�`�;ۃ�=��{�S�#9>":�	9�:��:㱫�|��$E��!y$��!����p<4�[@q���Q���K=�ˬ�>#�=�f>��](��l�Q5�-]ݥ������
+4mz}�#&B��l��R�8��byx�$�`��Hٟ���~�
<���2|Ծ��Te2�f�UQ�
+��^��٘OӲ+�u
Uԓ�W��F�qD�i��G]l����u�p6�?4q�xHOu7���晹&��}I�'�m78��m
+�~z9�b���qg�f���S]�9Q#�0��m��K�F���7:F�����7'�e�(FBq.�O�zc���h*�����Z��Q�dU�٦�Ʉ�z��U�}��DQ��G�@�Մ��Yh��
Va0TA�����έr;$�I�y�6o�! ͵L d
�u/�5�Oǡ�5{	�������1�@�� M#����h��IH��%�
�
�8�U�&Ôu�9�:����<�e�R��Wm�
W9��t��TAAJ��i�g�W���1O��Y'�`�R����#�;M��l���f�
+-�cf"dE�0
�\���E�h���>�a�"!Z�|��<� Jv�%�O��f>����$hĺHR�'��	ݠ���
�@B"�[��c![\O�4����ux�rR�+�9����"ɍ����Z
kt�I㚦%mz[��?�fs�zL���0)�M^ؗ����ˀF)�sƮ�6��P��I`L���A����:xP�w�D���nD���7��
R�[�x�d�Zb��ħ)�
EH��C�1�*\F?�σ�
����kuy��<�/�D�N*�촒H�
]^G�����S��[h�d��,�H���߸�}�+��wF�K1�������k}]�w{߯��������٤w�cfWS�;�8�}g����+��
+�
f�mҽ]�r��t��,M��>Lˬma�
tD�n���ob��DD�y⻴J�e#�y��+��$�}����1$v'H́������B@��鈂&���.,���QX���y�9�s���E=����~s�9R�DSCd_?�'X]B?%
+�-
�!W��T�}X��S�)��Rı��PB �G�g����k���Z��$��>�ޟ�jń�Ą�C��	MBF��R'�9=߷�S�0��\o�`�X`N�u�͉}�R�? ���MᅴK�{�S�	�+:c3 at K���]����ڒ(&��L`
U��������cU׺]�#%M!���
+�U��Sh	`"�KX@��d���Kz��D� �_�
��i��8LEp+�_�
l�I
��l[��ڳ�4�
+;7��6;KM���&�}�
����Ϩ��&v�OKjgDΖ�,��>m��&���ߛ��[(������ۺk�{/5p�r���d6�n���������Uo���D�E���XU������a��h^��}ߙG��lW
+�Y�hvM�q�Q�d�G�	�"�x��4&�Ғ�#�����C������
+p���;�3&:
+endstream
+endobj
+17310 0 obj <<
+/Type /Page
+/Contents 17311 0 R
+/Resources 17309 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17267 0 R 17268 0 R 17269 0 R 17270 0 R 17287 0 R 17288 0 R 17289 0 R 17290 0 R 17291 0 R 17292 0 R 17293 0 R 17294 0 R 17295 0 R 17296 0 R 17297 0 R 17298 0 R 17299 0 R 17300 0 R 17301 0 R 17302 0 R 17303 0 R 17304 0 R 17320 0 R 17305 0 R 17306 0 R 17307 0 R 17321 0 R 17308 0 R ]
+>> endobj
+17267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 708.28 465.458 718.186]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 682.207 224.395 693.111]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 658.297 181.207 669.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+17270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 658.297 243.464 669.201]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_aaba6bdfeae05d8463a8208b0c6b7a62a) >>
+>> endobj
+17287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 642.833 420.593 652.738]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 616.76 224.395 627.664]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 592.849 159.628 603.753]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+17290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 592.849 200.306 603.753]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a74fd79622aa9418de9e842a0d72bbcbe) >>
+>> endobj
+17291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 577.385 400.176 587.291]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 519.456 169.81 529.986]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5ac67f2c19f4e1d46eb4d81e280aa581) >>
+>> endobj
+17293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 519.456 309.485 529.986]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+17294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 519.456 514.653 529.986]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+17295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 507.501 227.553 518.031]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+17296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 477.545 169.013 488.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a768d2ac67126a0515bfea7d2c4d225dc) >>
+>> endobj
+17297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 477.545 306.566 488.449]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 408.88 258.832 419.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a7ea3fd6cffaa3a413e3c2734a43bf28e) >>
+>> endobj
+17299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.453 408.88 372.937 419.784]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.56 396.925 274.045 407.829]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 370.179 266.581 381.083]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a726c33ab611816cd9b55a61621488650) >>
+>> endobj
+17302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.699 260.014 156.064 270.918]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_afc1df08d5b8acdcb47dc8ba11cf9ed44) >>
+>> endobj
+17303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.663 260.014 293.4 270.918]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.219 260.014 513.996 270.918]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 248.058 191.18 258.962]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.699 206.521 156.064 217.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_afc1df08d5b8acdcb47dc8ba11cf9ed44) >>
+>> endobj
+17306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.663 206.521 293.4 217.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.219 206.521 513.996 217.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 194.566 191.18 205.47]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) >>
+>> endobj
+17308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17312 0 obj <<
+/D [17310 0 R /XYZ 89 770.89 null]
+>> endobj
+17313 0 obj <<
+/D [17310 0 R /XYZ 90 712.265 null]
+>> endobj
+17314 0 obj <<
+/D [17310 0 R /XYZ 90 646.818 null]
+>> endobj
+17315 0 obj <<
+/D [17310 0 R /XYZ 90 538.919 null]
+>> endobj
+17316 0 obj <<
+/D [17310 0 R /XYZ 90 495.648 null]
+>> endobj
+17317 0 obj <<
+/D [17310 0 R /XYZ 90 426.283 null]
+>> endobj
+17318 0 obj <<
+/D [17310 0 R /XYZ 90 385.868 null]
+>> endobj
+17319 0 obj <<
+/D [17310 0 R /XYZ 90 319.085 null]
+>> endobj
+17322 0 obj <<
+/D [17310 0 R /XYZ 90 156.423 null]
+>> endobj
+17323 0 obj <<
+/D [17310 0 R /XYZ 90 156.423 null]
+>> endobj
+17324 0 obj <<
+/D [17310 0 R /XYZ 90 93.014 null]
+>> endobj
+17309 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F93 763 0 R /F67 3037 0 R /F60 532 0 R /F90 758 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17332 0 obj <<
+/Length 3243      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_��@{�����K�)�6Q��v�X)
+؆@�(��Q!yr�_���,�w:[�:}8�\���<3;�3���'ߜ�����bI�RIerq��8Q<EB��ɫ�z��⻄I�H*�-{�o�xq���������'?�x��&H�d�>y�'�p��#���
�N8e�[$/O�y�=/�/��\��!��s�S�1Oa(厛�9׳|}WdM>_P�g��;u�U�:o�jNȬ��N(�ߧgrH�(�O\!I���Ȓ�Z�g���f�e�յ�����
x��~�L�C�\#�
+�����
��ϊ�
�
�j�E�B��Uy�o��Ӽ�$[�lV��;-�+KaN�,+<��:��J_P���:Y�R!
���	지��n�lٸ���u�ڠPJ
�S�0�N��dZ��dZdi
�嘫��
i2��YY��&"F*fQ1Zr�!9{�1+�f�y멗 =wy㦶�V~�#�v'PLQ�E(�e�YVy��_h#���P���JS?��&Ϫ���m�q�`U��v�.��,�J�����jx5n1#�a�+��h���^΄*A<mżr��9Gwj���`h��
��]*O�܏��D�b��H����%q���86�e�%F�c�!�hbT�<��	
+�`i<�F��)ƒ�@�
+�d��ls
�I"���Ud]�N��
+���%
���L�d!V�Cڠ�3;PWv?��nN�t����5�
�v�;��t�pM�����wZ���w���Ŝ>�h/st�r
�

�O�ʻ�ʚ�rϜCrO=��GI@)W��������g��-�@��<<&i�F�#�WH�=E!��N_ ��r�/ �1enp�-��(, �آF�O
+[0�˃���?�D�'Z&C!�&*��$�>hqD
�EF�Rf���R���0b��8�gl4�K���+�G�}���H(���� 4�PJR�P-_F�)�sh�eg�G3y�b0�K��]���؛�o���`&��qbbCqI��
W�y��
�Q��Ts�7
+���}>%>l8S/
+hft��)�(
�uq���F6���
P]0��߬L�t?'b�o�=����f.G�k0l�[��S�B��� ~$q+�

�DFQ[����ш�����.�p?�r}W֫&��lV7s�9*O�I��ĸV,�2��2�nԆ ݰט��z�1
+b#&��������/�
"Վ9S��6�0%�sO���#����Q%
`��s,�������孬7 ݭ�n����0u�Gt�T Z
b|O�YDh�=���� �
�[s�>���=f
zncZ�,���O ��9�
-4�]tSEi ��>����boR�tJ?5x&��
�5����ؽ�?������t 
��`�_�
�
2�~�����q�F>��>��yb���D
Yi��p��Q0�U��Q09T�釯�nT��
+��o���X�L @�ݙőu
+���
uc�J�1����Sbjj<]bOIvc����_�GÎ~^حo"�#�S^X�"4Ȝ_E�Z��
T"ǢnƁ
� ���1F8�'x;��R"N̹�:���m�
УQ��e�"8m�!
6	����
+�i/BA����]gI}��\�ɲ��ɲ�2��p�W��ݬ(l����Λ���FM�C��7?|oJ�a&�GAg�+�^����������i���>_��w�pW)���̫�����h�L�::�E��)bEG�
ɍ��ːF��!{�1{
5X
EQ�N��U��eeon:���
,�n��̸��@� 넱4�]�eXh5��xT;@#��d�����z�c�("]��
 ���=��Wy�N�ζ�e_���\n���qu��=�Y��3L��'��[D���v��O^�x��2��lm����|�1D)8`إ ��}C�8�vM{���pj���Ve{h�
��o�"Ha�>
+�"	
5`��'�
�9�� �0��s=�-s�M��vÄ�#�;�9�abPԅ�We�H�JFR�A�sS6π�����YY��ͯ��5.��и�����zz�r���
վ����γw� p!bX�R��I(�Ƒ���a:����ܳ���Le|Ё�dR�>M�2�*r�T;xʨ 8涸p68�Ҕ���d� 
 �����,�[Xf�[�iJ'=Xu1u�ܨ#�`������/}\�4
�1�Q���q��v�*8X�W�
k�#-؁� ;�) ��0Cvp3Q�%ԍ��� 0�.��i��^����\+��9U
(0.cl��
�W!CE7S���a�b� �Z(}�������E�.���B�H��S"1<K�z0��  ��e[41��"w'�8a�=F+�7�W����fś}�bU���ļ
u��
+��^�R�����r�y2l1�ⶑ�	c��q�K���Y�udiTJHLba��%d��	A>ZB1j��[�M$�# LJ�-_,—I�:���U
a�H��9��lX�����<�����ľ�ה�vK�|vx{uHa��=4��
�*S���
�Ŵ�|0駝"�"
���Fj8��*���l�c`"aN�`ڵ^7�Fws����-6��x,Ga?<x۔������b�^���Y���<�T7I����{< 
}F ��]�#B�ԥ�m�����q
��3d�"�mڜ�<
+C��n�ÔB�cb��3:
I�8#���&�'
+�����v�|A�c'��!;
����ʜ����G��[��E�G�G��a�X�X�M
�ϛm��s�љ'R�~qۙ�T������@��.�y~�_?�}�C	�
_o���Qe
P�@�z��}D� )8NSa�
�	�^������z��p�ܶW���"��
����
+���a���;j?�z
c� �uA�ͪ��K���
Ԇ�>	19�
������wsݞ�0�FT
C��at�!��^^�J��f�������������*skf�˲��a�M�+9�X�q�T-Riڟ�.���oo
-l[2 x��Ùy�>ٔ���(�	\�A1���?��
Q��lԗ
+\D�m�6�<����)6ܸʽ�V�K
1
��q`

VQv藖��B"�!�O�
��ڂ �
����
��k�|U�d�t
�o�Oغmȶ���|�U�:���k��?s?�y��d/���fۆ���Ɓ��F���gA�
R���h<�?vl����?��Mtt�4w�O�^m߂�E�8M����\�����j7��
�ݷ���Dy��v��
+endstream
+endobj
+17331 0 obj <<
+/Type /Page
+/Contents 17332 0 R
+/Resources 17330 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17327 0 R 17334 0 R 17328 0 R 17335 0 R 17329 0 R ]
+>> endobj
+17327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.089 389.055 513.996 401.011]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+17334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 377.434 126.862 388.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) >>
+>> endobj
+17328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.811 377.434 513.996 388.502]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+17335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 366.326 126.862 373.972]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) >>
+>> endobj
+17329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17333 0 obj <<
+/D [17331 0 R /XYZ 89 770.89 null]
+>> endobj
+17336 0 obj <<
+/D [17331 0 R /XYZ 90 352.752 null]
+>> endobj
+8370 0 obj <<
+/D [17331 0 R /XYZ 90 329.528 null]
+>> endobj
+17337 0 obj <<
+/D [17331 0 R /XYZ 90 329.528 null]
+>> endobj
+17338 0 obj <<
+/D [17331 0 R /XYZ 90 217.447 null]
+>> endobj
+17330 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F8 794 0 R /F1 833 0 R /F10 765 0 R /F13 834 0 R /F29 938 0 R /F7 795 0 R /F24 529 0 R /F35 1248 0 R /F99 5346 0 R /F117 2446 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17345 0 obj <<
+/Length 2261      
+/Filter /FlateDecode
+>>
+stream
+x��Zێ�6}�WX k1��"��L:�\��Ly�4�6��l9�<=��)^t�,��h���e�.
OU
���G�O�����HX��TDWw��Q+�|[F�S��T�9�O/gO�b��\�(��٧�^��O��"->�|y�*fDNs3�!���lN9�~��e�.��;m���~%,alʹ����a����	`8"G�����{
-��FL����D1e�Eo'�LpwN��D"�M������X� ��\�]��]^���
P��L/�7=#|�q��۴�K~�>W���郙x�wQ#Jൈ
+]�ʍ
�3����Ǹ�7�}����#�ӄ".y4'	4vc_ov���mUZ�:��޹o��D��֥��[�����r���
~[o���>� ii�i��C;S
+,k���
p��f��7���.>'����L�駝��M~�0�r�V
<�P�i|󕟦�@��	N�#��(7�͇����1 at M��"�x
+	b>.���.͊P9�z�tot�V���o���U�؛qD�
���9����"�\iXZxȀOC����'�x{�n 1?
BJ�bL#�Dbr*)RR5�h�0x2e	F��@
+L:���r���0@ �-D��@0D����Y,
��{��3
�b�Jƀ�L��������I��g�Х
2�x���n&�H�;�78�C�)�I�s�V�,H�>��~s�f[	��`3��
Ad����	;����
�|�
)��x,Pb� Ѧdr.#,Ub�
+�;@�2RZ>R:�$FqBG�y#!��
ď1���_�6��N�4i����SŐ�����R�Ṣ
+j6�)��a�KD
+��R�fg�BF���># `T�< ��V�!�<5
� Lx�(� ����kx�x���
+aٰ�!Po�Hj��
t]�������,C��Z����`��
��Ÿy��9D㎇u���ǽ	V8R�|�6�*�9�IB�B�F��A�b"��(\H�=�S5��F	<S�� �k� �ߠQ��Q8��&��s�� O�(c �%@�D�2
�Q��(G4
+�p%X��Qx
���j��%@�D�2
�Q�
�.>u�l�/��X�jzSm+͉��^ou�[#�E��5���,s
3
w�
�4�/�(fҔ����;Jy8�z�A��vZ�����ν��b�MuT�lz�P�L��l��$)�����u�!.��up�1,����J{9ct�g�0��@�c	��k!D��MԹ6�.Wy�
J@
+�(8L��� �o�i��%��"�{J��I+��h���u@W3��E���!s �)=�羵&m�^7Q��Z�
f�� \��}21E1�a#����.Ҫ�j��7=�mU at D5��ękY/�^6��v�z�__4�Xp�g��z����!��-Q��l}�6V�՜C��F��-
+Ԯx�{+�&꫶�oZ��������
�V�M�:��4}B�E�e�W�m�f�=a��,Fc<*��S@��v�
P��)~~
+S�w� � �.�s�)�
+Vf,�HAM�J_!q����$S(h���(zR�G�9|����ƈ ��[m����!��n���}"�`�����ِ��PҞ�ʃ�ɮٿڦ��TR`�I����סU��o���c��'�����(tt�?�U���=
u@�D�mws��O����c��8F�1'�!���̘с"91� �(�Mrob&~��O"�U�n��r7�i��[��Q�=K�{w����_��6flh�?5i��_�?M "ؐKa���ڊ���ť=���f��-��

�������d���N�	]b�g��
�o�y!5����s�3�
:
<cQ�b�`~���7(���f̈��7c������f
�6�&e3fl!��B�
 �}MµMoAYd��}�꾳7
���%��{ܯ����o׋��q���'O�:�!1�W_@�|���_��u�z�����Z�t^���`ꠁ
n,O͇uQ�������&.O���x�f��&] sl�F�r++w�o|=Tq�
��n�[愃V��r@�H���ƾ��R��m_����,�i�������H���JX�P[�`"N`o&{���!�?�$�3�9�6�7���O]�
j��3�;��Ewb�<���'��-��D��䪪v/_���ߗj�R�A�v�n��Կ�
?�����('�3TSP�	rZ{���yF�����������E�rpp[����`&
+endstream
+endobj
+17344 0 obj <<
+/Type /Page
+/Contents 17345 0 R
+/Resources 17343 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17339 0 R 17340 0 R 17342 0 R ]
+>> endobj
+17339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 690.333 501.708 701.237]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+17340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.418 91.886 204.56 102.417]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b) >>
+>> endobj
+17342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17346 0 obj <<
+/D [17344 0 R /XYZ 89 770.89 null]
+>> endobj
+17347 0 obj <<
+/D [17344 0 R /XYZ 90 676.759 null]
+>> endobj
+17326 0 obj <<
+/D [17344 0 R /XYZ 90 654.382 null]
+>> endobj
+17348 0 obj <<
+/D [17344 0 R /XYZ 90 654.382 null]
+>> endobj
+17349 0 obj <<
+/D [17344 0 R /XYZ 90 584.284 null]
+>> endobj
+1958 0 obj <<
+/D [17344 0 R /XYZ 90 487.077 null]
+>> endobj
+486 0 obj <<
+/D [17344 0 R /XYZ 90 480.477 null]
+>> endobj
+17350 0 obj <<
+/D [17344 0 R /XYZ 90 404.939 null]
+>> endobj
+17351 0 obj <<
+/D [17344 0 R /XYZ 90 355.678 null]
+>> endobj
+17352 0 obj <<
+/D [17344 0 R /XYZ 90 319.109 null]
+>> endobj
+1959 0 obj <<
+/D [17344 0 R /XYZ 90 217.731 null]
+>> endobj
+490 0 obj <<
+/D [17344 0 R /XYZ 90 210.628 null]
+>> endobj
+17353 0 obj <<
+/D [17344 0 R /XYZ 90 110.909 null]
+>> endobj
+17354 0 obj <<
+/D [17344 0 R /XYZ 90 110.909 null]
+>> endobj
+17343 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F90 758 0 R /F117 2446 0 R /F22 2996 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17371 0 obj <<
+/Length 1596      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~��P����KR�� �́�۬�M�@K��F�#ɻ�ߡHʒ�v7��}0H��p��7�����'��g��ǁ�D(���N���E���/qގ�����g�燈D>�j?��~5{�jv��F�f��#C�!Z GA�����{�$�������u;)w��͜��/#lt�}�|�Ӊ`1/tB!Z�w��vs��y;���Ҫو�
)������LYO��( �L�מug�  v�lU�.��k�ౘgrW�1�~d0f۳Ǒ� �gJ��R��	����܀��AZ����j7e�B�HKF�+��i����x� �c(�L�%�"�`@�lD��v�!���*]7iY
���� 14V����ְ��)����ԝ�����Y }�ϡd� �p
+qڊ��/�Zč�7�Խ8��R��M��	f8-�FM*iGnt۬J+c��i����L)U�נ&�@��,�Y��MQ橶
�Y�5�K�)��DEܜH���Ҥ���kY4���Vjc�'-\�v) 
��:��,�W�2kJ�H(��]��E�잔�&z�ee�M�5;���������H�
+�2�9��2mm���
L39
�
��=�>
+�ฃ��Z�9����
`����,�\ ��.\�Ƣ��� F8�	C��}z,�y��A���5T������5~s�zt\f��㛕L�=*P
*>��>��/ZƸ�p|3�>�י�0����M��UR.�ә&,ĉsC辑
� +Y��X̘������Q���J֠N�Q��HכLl��e�6�"ٕ�[
����Ը�j��;�c����MZ��&�z&���L� �7��=��b��
9
G����̣ 1BM47Q�b3��4��x)�y���xS�ʒ��
4̮������N��
g���
+��̃�}F�i�8�c=k�ER��T��0D<v��d�e]��	՟s�s��M뚵�Ö�)6Ƭ��o7�D8�/G}���K~R`��f5`�nXHcM�ӑ�`Оh1i��
s m6u�
+��l�b���ǎ�U��=`A
+�¦�ؑU�
D�nT�3wc�Ⱦ&�ʴ�����
.��0�������.�r �z%
�Q$I
�/��=��NtO"36QZYP%
�k�|o�#����*C(������p*�4�|{�5����!��r@���o>'�=H4�Ua��s1"�����2��*���
+���հ7#B���;-��mE%:1�Կ�TmP@�9��
�
�I�w��� M�����̛J��Bݏ����(�w6�BG�|��I�'~ۇw�=�*���/��I��${By�wǴ�O��W��.���'�3�99!o�[3���s��(d'q��ǐ6���rx�}RLe
�q�yYflj���Ϊ�++��Pw,�ś=v��y�U*
+��$t
+2 ½�V/2��'0޻���	�߻��o�u��OQ@��>+�� �}����$h;�ﷃv��p�4���%ۊ����V�}���`�0��Z�{U�ߩ:�KQt����4��3 A�?"w.�MTZ����G�DO�66v�e�4����|�b.Q��Ȑ�Z"j�m�$�˪c%|�[��]���m�
+endstream
+endobj
+17370 0 obj <<
+/Type /Page
+/Contents 17371 0 R
+/Resources 17369 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17341 0 R 17355 0 R 17356 0 R 17357 0 R 17358 0 R 17359 0 R 17360 0 R 17361 0 R 17362 0 R 17363 0 R 17364 0 R 17365 0 R 17366 0 R 17367 0 R 17368 0 R ]
+>> endobj
+17341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.413 708.331 194.963 718.861]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) >>
+>> endobj
+17355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 419.903 136.585 430.433]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a67d50389960334cc0cddaf9e18cae713) >>
+>> endobj
+17356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 389.269 136.585 400.173]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a6137f32f30cd8f8c6081c20a5a6bb200) >>
+>> endobj
+17357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 359.01 136.585 369.914]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a833c9f70c384faeb871fa267cca49df6) >>
+>> endobj
+17358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 328.75 167.648 339.654]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a249e8899494cc9ee79d69b7b5eef475e) >>
+>> endobj
+17359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 298.49 190.891 309.394]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a1d613c80931007bd46f479582f90542e) >>
+>> endobj
+17360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.344 282.688 494.695 292.593]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a249e8899494cc9ee79d69b7b5eef475e) >>
+>> endobj
+17361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.272 136.585 268.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) >>
+>> endobj
+17362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.325 257.272 193.75 268.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a2f9b37006a7b28800bf7c2aebb7e331d) >>
+>> endobj
+17363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.087 257.272 243.762 268.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) >>
+>> endobj
+17364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 227.012 136.585 237.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) >>
+>> endobj
+17365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.325 227.012 191.25 237.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a993b094f35284bdf86bfc6a06ea69649) >>
+>> endobj
+17366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.587 227.012 241.261 237.916]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) >>
+>> endobj
+17367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 197.126 150.493 207.657]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a6018819ab591dad51060b4d01d989374) >>
+>> endobj
+17368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17372 0 obj <<
+/D [17370 0 R /XYZ 89 770.89 null]
+>> endobj
+17373 0 obj <<
+/D [17370 0 R /XYZ 90 721.073 null]
+>> endobj
+17374 0 obj <<
+/D [17370 0 R /XYZ 90 677.646 null]
+>> endobj
+1992 0 obj <<
+/D [17370 0 R /XYZ 90 549.959 null]
+>> endobj
+494 0 obj <<
+/D [17370 0 R /XYZ 90 541.881 null]
+>> endobj
+17375 0 obj <<
+/D [17370 0 R /XYZ 90 439.705 null]
+>> endobj
+17376 0 obj <<
+/D [17370 0 R /XYZ 90 439.705 null]
+>> endobj
+17377 0 obj <<
+/D [17370 0 R /XYZ 90 409.437 null]
+>> endobj
+17378 0 obj <<
+/D [17370 0 R /XYZ 90 377.452 null]
+>> endobj
+17379 0 obj <<
+/D [17370 0 R /XYZ 90 348.918 null]
+>> endobj
+17380 0 obj <<
+/D [17370 0 R /XYZ 90 316.932 null]
+>> endobj
+17381 0 obj <<
+/D [17370 0 R /XYZ 90 275.714 null]
+>> endobj
+17382 0 obj <<
+/D [17370 0 R /XYZ 90 245.907 null]
+>> endobj
+17383 0 obj <<
+/D [17370 0 R /XYZ 90 215.194 null]
+>> endobj
+17384 0 obj <<
+/D [17370 0 R /XYZ 90 164.716 null]
+>> endobj
+1993 0 obj <<
+/D [17370 0 R /XYZ 90 68.334 null]
+>> endobj
+17369 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F24 529 0 R /F93 763 0 R /F90 758 0 R /F75 554 0 R /F11 613 0 R /F110 1507 0 R /F68 3032 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17395 0 obj <<
+/Length 1528      
+/Filter /FlateDecode
+>>
+stream
+x��Yێ�6}�W�C�sy��EQ��l�\7��%	Z��jI�$'ݿ�u�eNjA�"L)4y8sΙ������_gO�gW�R!
��;Oa/�
+�����`�H0'c��e�,��b�p��e|�*�-�����}7o6���
�T`��:�*;|��t��<Ѱ&!��"$�����׳�3��G,
+�"�%���'�-��
#����L�<N|��w��g�=FT4��=
�ERBPw>x$d�x�����!"DRJ�U��1T
	u�&�#
��E�(�3 ķ1݇@�D�<(�CH���a0�~�G3��!1"�<0$C�F0ܡ��
�;A���P�A�2~q��D�U産�-��%��
#�ƛ�:�K�P�\�AR�I���ID�mJ]Ui��
hH
0`@�(h6�!͓�v��L����B��ğ&֊��M ���~b
&�����~�I�&!N�7g
a�V/���L�q�6A��?�UR���|,���ƽ�4��]߷s�E��t^��yu�����֏�ޚ�kkV:o@:\we���j��z]T�_�|e_}Ę���(8�uę�������R1��a. �}j�7P�ܭ�MO�0�`aF�ba�Z�z������G��Yp�&6�ѹ��Ό�R���ؚQ
����2�Ћ+J��9���;V��V�n�u
+�R��UG]O-��49���Mi=�D
v�l�YǍƛ7��s#�9U)%��
)��	��@
ҹ�'q�����w.
+����@�Ea���»N[^��V���j�'��V��
�Lg�
I���I�j��ǧm�o�wA�y�f��/w�)��
��5o��/�R[���
Cn�OQ�!^D���3�����[�Ń㼶O�*Sz�Е���4"�
,�lbC9ؖ���\f��0�~<��Q�;e��g�9:A �v:�,J at R!5��Dt��
Cx +)���f�x�`s�+#i�i����=Lb�a�z=�!Av�
4zhA�c� )E]d[�'9#��
�WqK at 1���Y �E ;��
+	9�P�B��C8G���V�>�
o�ۊ֮�L%��^N}i<`���F�q�-�Cer�C�S�~�<�CҘ@�9��Qm�;�������(RR��) 	
U�N���)�ς �cb��Ԗ�z(/g@�� ��8��Myx�0%�������Tt�� !L��̍�0Db�y�͊�ߠ���Y��K`�	��3��A�Ѝ�\��(������ �\���ilY�~Z�v��۟8�)P��}ۘ,_��#}���_�'����]ZITu�M��If��ԓ[?�s���1��^�I�g�u��]{]��M���R��,G�/��k]����_�C�"�N����!
�h���֕��
�Wv��叁~ks��|��7]��i�3� ә�`��
�if
�Oύ^�
���Ȣ�\�������v��t�B	����PG
�;�Ί�=P����X;r���(p�S�"��
��$2
9���?�/�/.~˘��� ����7a�
+endstream
+endobj
+17394 0 obj <<
+/Type /Page
+/Contents 17395 0 R
+/Resources 17393 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17385 0 R 17386 0 R 17387 0 R 17388 0 R 17389 0 R 17392 0 R ]
+>> endobj
+17385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.756 226.029 423.66]
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_acbcc9c464e7d910f38ad2534e49ff925) >>
+>> endobj
+17386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.527 412.756 289.381 423.66]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator__Common_a56b1bfd700c1f088b6be622b7b67a257) >>
+>> endobj
+17387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 383.25 224.644 394.154]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Concrete__Expression) >>
+>> endobj
+17388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.378 371.295 208.82 382.199]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Unary__Operator__Common_aba21572aebe99f81b7f09b75f3b2d903) >>
+>> endobj
+17389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 91.916 177.053 102.82]
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
+>> endobj
+17392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17396 0 obj <<
+/D [17394 0 R /XYZ 89 770.89 null]
+>> endobj
+498 0 obj <<
+/D [17394 0 R /XYZ 90 721.073 null]
+>> endobj
+17397 0 obj <<
+/D [17394 0 R /XYZ 90 650.858 null]
+>> endobj
+1994 0 obj <<
+/D [17394 0 R /XYZ 90 555.099 null]
+>> endobj
+502 0 obj <<
+/D [17394 0 R /XYZ 90 547.492 null]
+>> endobj
+17398 0 obj <<
+/D [17394 0 R /XYZ 90 432.555 null]
+>> endobj
+17399 0 obj <<
+/D [17394 0 R /XYZ 90 432.555 null]
+>> endobj
+17400 0 obj <<
+/D [17394 0 R /XYZ 90 401.315 null]
+>> endobj
+17401 0 obj <<
+/D [17394 0 R /XYZ 90 340.482 null]
+>> endobj
+17402 0 obj <<
+/D [17394 0 R /XYZ 90 290.731 null]
+>> endobj
+1995 0 obj <<
+/D [17394 0 R /XYZ 90 220.312 null]
+>> endobj
+506 0 obj <<
+/D [17394 0 R /XYZ 90 212.705 null]
+>> endobj
+17403 0 obj <<
+/D [17394 0 R /XYZ 90 111.631 null]
+>> endobj
+17393 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R /F11 613 0 R /F22 2996 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17440 0 obj <<
+/Length 1403      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~���)
3�,	�%ӧ��ζ�$�x�%�x0([.�s�_�؀����d&Ƞ������
��Ā�����ܳ� .v��@�s@\�+6nL�b���a�>@�+F���./��.���Y�Ӱ����#h 5�oDi��;4bq���
��c�)5
l��Ը��Ճ�0�Myі����!R\�ǖgN���c�C����e�E���:8w��B.pl��c|��n1&���M�@hr1iL��*��f�ĺ��o1��V���9����n�E<ɳ���=��w
	d<>=�/h��5N�;Ո���+�c!�̰H��t�b
���6|��HH0���>� r|���
��2'��ݩv�E�
+[��� @�-V d%�_i:��j�WS�Е(J���(�ZK�')��&����}|�'Ә)���&㡲V{JQX�gR6˳8�&�w�u��$����)aMn�,��ş���s��q6�ѧO�Dui�O� A?�����cd˝�
m�|m��Qۡ�d�r{���y���Z@�@z;'!cy����kج} �mhW־�lFtT�|-��M�/V_���x^X
{U�f�4g2�Jw��ő���*���^)pa
�>a+b#@P�c��3���K	Li��#��G����<����$��y+��U��h��
��RWe�j����a�gIL���b(҈�9�� ���e�<5�8-�_��3��Yh!hN俍���
���]���P<���l��|�Y�]~ye~��i$3�
~����Nn�
��2^�-�D4�!O����JC��OG�Q:D8�_�m�'����p�V�?r�A�;vO{W%���qQ�������\����jsM-S�o$�%r$
�F�H���lb�$��
���'ၥ^TI�{�
GS�Mb�(��V!� n����Yړ�
x>�Pc������JxC ���_S��{U�ܔ�c�sΪtuW	�Y�d\���!�+�-;�
�ޣ���hr;zk�-�=�x5ɓ�
mg�$ �.U�,��bM��ue���α����g��õGr
7X�¶�*�	��y���C^[�h��u#�y����v�:�.�}xA�͹:/��xڌ�,޴z[v*hk�x�~ ���_ʸ����~�Z$h
6�K�#!�g|	�\�x��]�N)c� �
,������i��J��UuG�)@�2�cZ�o٪ýz
��Z龦�}:������ ���tãD��ǣE�5۟N\
<l���di����\~�L�W&H��.Vc���m|��d���b��b��S�
u4��g�G},�R��՟��7��o!���a6��H2� �/Z,0e�V�}M+
�]?j��ȏVd�
� �(��9������l�<�F�bp 2�W��Z��yQW��f [...]
+endstream
+endobj
+17439 0 obj <<
+/Type /Page
+/Contents 17440 0 R
+/Resources 17438 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17325 0 R
+/Annots [ 17390 0 R 17391 0 R 17404 0 R 17405 0 R 17406 0 R 17407 0 R 17408 0 R 17409 0 R 17410 0 R 17411 0 R 17412 0 R 17413 0 R 17414 0 R 17415 0 R 17416 0 R 17417 0 R 17418 0 R 17419 0 R 17420 0 R 17421 0 R 17422 0 R 17423 0 R 17424 0 R 17425 0 R 17426 0 R 17427 0 R 17428 0 R 17429 0 R 17430 0 R 17431 0 R 17432 0 R 17433 0 R 17434 0 R 17435 0 R 17437 0 R ]
+>> endobj
+17390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.284 682.095 254.064 692.999]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a394f0886d3b63fd890fdf9ee7c6cf2f2) >>
+>> endobj
+17391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.206 682.095 384.393 692.999]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.93 149.098 612.834]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
+>> endobj
+17405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.914 601.93 218.557 612.834]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 569.625 179.554 580.529]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 569.625 189.795 580.529]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
+>> endobj
+17408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 537.32 179.554 548.224]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 537.32 250.666 548.224]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e005297572cd9ca5) >>
+>> endobj
+17410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 505.016 191.718 515.919]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 505.016 288.852 515.919]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) >>
+>> endobj
+17412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 472.711 191.718 483.615]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 472.711 303.079 483.615]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d) >>
+>> endobj
+17414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 440.78 150.493 451.31]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e) >>
+>> endobj
+17415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 408.101 169.013 419.005]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aae21b0f5a4289485ef86a9d11fcbfc50) >>
+>> endobj
+17416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 408.101 208.017 419.005]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 327.936 203.075 338.84]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 327.936 296.324 338.84]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
+>> endobj
+17419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 311.11 309.384 321.016]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 295.631 239.129 306.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) >>
+>> endobj
+17421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.945 295.631 330.725 306.535]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a394f0886d3b63fd890fdf9ee7c6cf2f2) >>
+>> endobj
+17422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.206 278.806 329.585 288.711]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 263.326 225.212 274.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a394f0886d3b63fd890fdf9ee7c6cf2f2) >>
+>> endobj
+17424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.182 263.326 315.981 274.23]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2) >>
+>> endobj
+17425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 155.882 226.034 166.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a4f6d85b054ae413ec0b77ff6522b7304) >>
+>> endobj
+17426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 155.882 356.363 166.786]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 123.951 151.051 134.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) >>
+>> endobj
+17428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.866 123.951 190.054 134.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.867 123.951 235.055 134.481]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 91.273 156.281 102.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a2617e76e0aef9021ef98ea381cd1ac3c) >>
+>> endobj
+17431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 91.273 195.284 102.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.496 91.273 248.684 102.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 76.49 151.051 87.02]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a616f25ab81383a9c22ff3577a89a74c3) >>
+>> endobj
+17434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.388 76.49 213.575 87.02]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.91 76.49 282.098 87.02]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17441 0 obj <<
+/D [17439 0 R /XYZ 89 770.89 null]
+>> endobj
+17442 0 obj <<
+/D [17439 0 R /XYZ 90 701.296 null]
+>> endobj
+17443 0 obj <<
+/D [17439 0 R /XYZ 90 701.296 null]
+>> endobj
+17444 0 obj <<
+/D [17439 0 R /XYZ 90 623.128 null]
+>> endobj
+17445 0 obj <<
+/D [17439 0 R /XYZ 90 589.089 null]
+>> endobj
+17446 0 obj <<
+/D [17439 0 R /XYZ 90 524.48 null]
+>> endobj
+17447 0 obj <<
+/D [17439 0 R /XYZ 90 492.175 null]
+>> endobj
+17448 0 obj <<
+/D [17439 0 R /XYZ 90 459.87 null]
+>> endobj
+17449 0 obj <<
+/D [17439 0 R /XYZ 90 427.566 null]
+>> endobj
+17450 0 obj <<
+/D [17439 0 R /XYZ 90 349.049 null]
+>> endobj
+17451 0 obj <<
+/D [17439 0 R /XYZ 90 349.049 null]
+>> endobj
+14794 0 obj <<
+/D [17439 0 R /XYZ 90 315.095 null]
+>> endobj
+17452 0 obj <<
+/D [17439 0 R /XYZ 90 282.791 null]
+>> endobj
+17453 0 obj <<
+/D [17439 0 R /XYZ 90 204.359 null]
+>> endobj
+17438 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F24 529 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17469 0 obj <<
+/Length 2568      
+/Filter /FlateDecode
+>>
+stream
+xڵZKs�6��W��){ <�P��ĶR�:�^G���RQ3��
�
�
Y��|�Ñd[)
H�`�������:��OG?�

��"HI�(8�
+R�2%*��up
2JR�X2Ji�n�h�՛��݂Ӱ*�o��.��uVߟ���H9Lȳ�B/�\��U�5
޾�W�^�$��
+�2K
�H,>��r������h�PE�$Xm��?�`
ÿ��4	>�I�@r�"���?GԙC	W��\�q �7�1���6œu�u��^��<��fU��6�J�`���i4�H�%�D�%�����.�}����޸]�]0�U[���l��&f
#��$��	"����0��_�Պ37+�ɨ�ٿ��m�����s���/c�k��	qX�m�]�
���2�dvi����R�3�a�T�>�ݫ�nu�gNnvgw����T)�Ow#Y)x2�T��1;���e��+
�,�՟n8/q����v���4ͻ�X��B�*\U�-l�v�����Y�/q���P}�8|��n��킫!�
+�g�˰|
���A)���8���k���*��]�z���20���`��!�C9x4/�Q�>��康�9�߯�>�V��v�0X2��>�PE��u��y��
+o2w3R��2� ��6�D�g6U`�Ng<ڬ�k�����2�vS�п���Gko��S�8�.[��3��6�Ǣ�p|��L���ݵo�,oGD��>��괮qD�e�{Y��Z�C�Dg� ������y�[��Pb��5/��4������N�f��A}xy|
+8; %��D�n&��T)x7�%"c�6#��EW̪�j�$���Ւ����
��<d3J1I�A��.(0�P��Wպ<w at h�������J�8�J
�yW�T��ѻ^�c �
y �eq���=>7[��`��d�1ĸ����q��+��"�BC������1��;�l'P>/-��p�~�+pZY�� ���M�:s�0Y���
�)��z�]��$6b��)6K���Ԩj���Ze�)i��m".��x^UEQ�0�a7%�uß�ՎaV_;0�b5���N�.���T}nJV���D��tb��bj�/ ��4f�
+($&'#Hż\M�k?nX��x�gmS@�h��݌N	Q2y�e�ڟg�,%�'���"�[��
#k  
c
�6<��E�\��4�
+�V�H����(wT�@rF�?�L%�5�Ci����e�Y�yd}���?|k���M�
�
����/wxy���/��=9�����6��O��9Ap�R5�����W!��[� xï���N���Ӗ��ַ�:I�D��=L�V[)%�P^
�~8I����;
q"T�I�3��`�*�J�ع��)��I�CN�,�U�Vq�LB�.�qb��0��[���ܨ2�	O{��I�E{��
#�GD)�S6���1I�&��P`��|�</
��&Ag��AIa��O��n[䫼��P߹4��@8DM��M����
y��	�����W3(�����ƕ��z
+2?�XՁt��3��N(37�*��ܭ�m՛H=�\�ȟ
<@�L���<��d��a�W�4KIH��!�4p��epeS�滑H;� �R��j$s�KJ��W+џ�3��]�� �no.t
-��[�
��/�g���≉�*�����.|
�nj��]Kr5�9���
�@�s-dk6�VZ����6�?����&���
�E�U;�;2,Q���$M�L	�^_��	"i�<oR~��G�$��
�NQ՛K�H��\���~9Ő<��6S&]�x�Jz�C�
Z��
+�K"xA�a'�D
d@�
${:S���ϢA
E�<���ɀBj��u1��q_�����%FK��\Ŏٶz| �9��h�A�!`��R
����vW�S��U��x��UQ5��X��Z�
���@Ȩ��U��
Uۛ�4ȇUA���p8��?�9�4�������P�N�O�
��$��
�g1�
?͕
*����5b�(���J<�zN�\��!B��P��:��"k��=��d��X
+PAC����eU[]g-ҁ�
&���������ј�CBHs�5��\K6�����
+�㪟2N/�nR���w�3�̲"!R��YB3��҉����F/>��,��w
�޵�]�2�s�RO	9�K�޵֗UU����70I ���n`B��c�P��/�ٗ�Os�@�?L��?|�WX�%&H�Z��R;�ͺF�����W懬����;{�zvd��P�*w�И��)�>�ʔ���u��y�����y��w�n�R�)+��V��HN�
a�H�
ئ����=�
�(x��p�2c�m���� �o��/DJ.�x��ώ�
���h��:rc9
�
��`��3�p�K�
����̈́0���@�O�@==����I=�����z[��(��q�&��{�o�����88K~��]�G&���d��U6�7ݝ0����?�;
�����q�m�'�Ǘ��F��d;�网
���o��g�}<�����
�h|��RhH"��l��#sN[T��ѽ}�}��ވ�u<t��	:��
+endstream
+endobj
+17468 0 obj <<
+/Type /Page
+/Contents 17469 0 R
+/Resources 17467 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Annots [ 17436 0 R 17460 0 R 17461 0 R 17462 0 R 17463 0 R 17464 0 R 17465 0 R 17466 0 R ]
+>> endobj
+17436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.141 665.984 219.329 676.888]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.006 588.583 331.193 599.487]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [97.372 530.506 132.839 537.725]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
+>> endobj
+17462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [97.372 522.229 132.839 529.755]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
+>> endobj
+17463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [97.372 514.565 132.839 521.785]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c) >>
+>> endobj
+17464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 363.301 492.188 377.249]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) >>
+>> endobj
+17465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.628 265.057 201.531 274.9]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) >>
+>> endobj
+17466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17470 0 obj <<
+/D [17468 0 R /XYZ 89 770.89 null]
+>> endobj
+17471 0 obj <<
+/D [17468 0 R /XYZ 90 721.073 null]
+>> endobj
+17472 0 obj <<
+/D [17468 0 R /XYZ 90 484.744 null]
+>> endobj
+17454 0 obj <<
+/D [17468 0 R /XYZ 90 461.285 null]
+>> endobj
+17473 0 obj <<
+/D [17468 0 R /XYZ 90 461.285 null]
+>> endobj
+17474 0 obj <<
+/D [17468 0 R /XYZ 90 388.606 null]
+>> endobj
+17475 0 obj <<
+/D [17468 0 R /XYZ 90 348.934 null]
+>> endobj
+17455 0 obj <<
+/D [17468 0 R /XYZ 90 324.321 null]
+>> endobj
+17476 0 obj <<
+/D [17468 0 R /XYZ 90 324.321 null]
+>> endobj
+17477 0 obj <<
+/D [17468 0 R /XYZ 90 251.088 null]
+>> endobj
+17456 0 obj <<
+/D [17468 0 R /XYZ 90 227.572 null]
+>> endobj
+17478 0 obj <<
+/D [17468 0 R /XYZ 90 227.572 null]
+>> endobj
+17457 0 obj <<
+/D [17468 0 R /XYZ 90 185.867 null]
+>> endobj
+17479 0 obj <<
+/D [17468 0 R /XYZ 90 181.384 null]
+>> endobj
+17458 0 obj <<
+/D [17468 0 R /XYZ 90 141.652 null]
+>> endobj
+17480 0 obj <<
+/D [17468 0 R /XYZ 90 137.169 null]
+>> endobj
+17459 0 obj <<
+/D [17468 0 R /XYZ 90 115.121 null]
+>> endobj
+17481 0 obj <<
+/D [17468 0 R /XYZ 90 115.121 null]
+>> endobj
+17467 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F8 794 0 R /F75 554 0 R /F117 2446 0 R /F93 763 0 R /F24 529 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+17513 0 obj <<
+/Length 1401      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�CI \��"�4ri��j^�@�-ZJQ
+E���wv��H�b�ڠ͓�����sfvi
�
<<��

2��`|
(n����4�
��ч�ˀI�����=~�˛�7�
�n�l<�8 �
+�H��z1����)<~`�p��
~��b�� W��vL�b"X"�t�A�� �S*��zYp
���*C���
�¾�?��&D����73�0S�*���(&,�"�äX$�{$B"�u �DT�C;eHh�����q%�-
P�8F��2�	�ܦ�bG
k�O���;!��_I�:�2
����\̓�H�Y�#m�b�4����pγeR��ٶk�("�$�pAq�
�y^�p
�	mN�[rD�<x�yU���|�[�g甶���`�$�Sz��hQO9m�s��8�
8���"/SǣOa��AC�i��5����3����Jm�@�Z��+k�~�� PH_אoK�1�
���AA�[�g
+1o��)�*M�
e�ᦆ��=(�O�d��bJ��w�XeI��'o�PpZ��u�)����6AL9�xˏ����,��b~]-��)fU�޺:l'���E|���~��A��FN`n��<�{QlÀ F��y~��MS?��f� � ��::� �$v�8zv �Z�^�{�R�ڍ�E~
Y*��
+K8�'�"Y�?xx�,�ӑ`?-3_�'���J����%kR�)"aS
zqC�����nc%�B�:L�V?E��tR+D*d���Y��ZQ[E=���s���;�( (?���_�� �F�T!"x��]��m_3N݌�н��U�^,�
+~Z�J[ǐΩ�^׮▯Zڝ��4)]�zt�&�e�G��z���T��%���S��
Ijĥ� �~�%SŤVH
q��NJA��G�҆��%9�=[���
�p��:Y���y���
{*ڽ��h�7Rr���D)�}Ъ�f�d�3��
���l|���]�l�9����m��Y���p@(�:�U	=\�~�i[5���"���p;���2��\Ġm�̢�݉
�d�k3j��������j]�u9�(�Ez�P��qZ�<Y~��h8^R���	\*4\��F���V��Ry����B�P˺���d���
+��>�4��in��XA�
+7�
��,Dܰ�[K.�DJ��o籓I�jy�O��s�l-9mC��
��_�$E��o��QR�O�y~�| 
�M?m��Mō�������"Eٱ��[
�B���ڎ�R��}3�sqg�������xc��/B+� �����urG��~��:-���+
~N�$���X`�3-\��C�0<'(�����&����&�W������g��۲\
�ή�f�4����b[��vh��ٜX�,쑡ᤕL��
ޟl;B
+endstream
+endobj
+17512 0 obj <<
+/Type /Page
+/Contents 17513 0 R
+/Resources 17511 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Group 17485 0 R
+/Annots [ 17483 0 R 17486 0 R 17487 0 R 17488 0 R 17489 0 R 17490 0 R 17491 0 R 17492 0 R 17493 0 R 17494 0 R 17495 0 R 17496 0 R 17497 0 R 17498 0 R 17499 0 R 17500 0 R 17501 0 R 17502 0 R 17503 0 R 17504 0 R 17505 0 R 17510 0 R ]
+>> endobj
+17484 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 17519 0 R
+/BBox [0 0 418 144]
+/Group 17485 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 17520 0 R>>
+>>
+/Length 557
+/Filter /FlateDecode
+>>
+stream
+x��UMo�0
��W��%�aI��C�a��
�ء�!�G�!�?Җ
Ǚ�=F"J"�(?���"Z�
+�w�
�>�Ox�&|���_>�� �(�p��Tn�	?� Y�G̀��N,�;�w(^+�:�D�$���l�5�H��`r��ĒME
����U�N)��K��x���;�ݾ���S���wD�mt4m���VG�Ƴu�Z�4e#�!#Pl+�u%e�uqy��_�n�m+ۃ���EDY��C��Rq�t�a�
(�35��H�t���B�Y�*en�2m{և����Sp`�C��^�1�,�,�����|��\�g4�3�W�qj+n�X�
+�\r���0)ٟ7.›�֜�
e�5�b�BR�d��S��
��J��aZ3M�47���e���%��N��Q��F��
uLA4jxb����D�.bt��f�!�Xg
�t���� ��M���J�����B[��[h~��W�	�uQ�
=���Nz�k5E�Ioœ�dি
��X
F�F�d�N�
�O�7���jn��uD�
2����Zoo���Pv�����s��/.��|
+endstream
+endobj
+17519 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+17520 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /NQEGTO+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 17521 0 R]
+/ToUnicode 17522 0 R
+>>
+endobj
+17521 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /NQEGTO+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 17523 0 R
+/W [ 0 [ 700 667 556 333 833 556 556 222 500 556 556 556 556 222 556 278 667 611 278 556 556 667 500 556 500 584 278 278 500 611 278 584]]
+>>
+endobj
+17522 0 obj
+<<
+/Length 17524 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0��>E��Š�:"���E/��br�j
�Y�����*(|���3'��/�
W�Yv��a���2߭$��u�O���?�$L��n[V�Z=�Q]�����n��枞"�X�n�Q_�����Uw7�&�+K��a���U�71�}�U.>��ѕ�e|m�X�c$9+Z��d��RT'�jX=���H��,����	�ӹKO�"i<��J�<U)(GL�
+�
��@H�N�r�;�� ��
$=塋B,t!P�l�	O<�d%~y �U��_I��W��c2�
+Ss�U�g<�e �e���/
������W���W����.�������w����Ȼ�ni���m��d���h3���߿����
+endstream
+endobj
+17523 0 obj
+<<
+/Type /FontDescriptor
+/FontName /NQEGTO+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 17525 0 R
+>>
+endobj
+17524 0 obj
+356
+endobj
+17525 0 obj
+<<
+/Length 17526 0 R
+/Filter /FlateDecode
+/Length1 2532
+>>
+stream
+x�UV{lS�?��#/���E��8q������~9NL쒐�3�G��QA
+Ii���Z�Z�Ж�$�=�m��V&U�c�4��DŽ�n�mt
�
+Ha�\�w��l}�����|��w�e��`
��ڱdl������au�c��ş���X��'b��j��}�2DZ�
�or
���K��#��B�9��?953c��Ʋ��N��g�k\�K�Ű9��KL�d���� ���4)�͗V�;x'� ��\6�����dp�n�Fr�<�j≹��#�:*�^k��q�Ȝ|�/���e��8�J-s+��J�a�����$��f���Y.��>�_O{��t�h3�n�^ҫL�F��ظ++�a���D��#Y9�Fז��ҝν�v�i­�]u>��ng�|����*�Fڭ΢��܌l�F[P`qV�j�wVEuy:W���V
��if=��d�'�m��H$,m��1�/x�S�=��#���
�<�
;�X��E�V
���,	xb5e
��ވ�]�H\׵�*TSh��D	�?����
WRwR!ޔzua��˛V���v3%���e�a?��!
+�&��<��Dk��
^�������]X�i
��Z��r۹��?{�2��W���ش�ELT�Rf��"����;S�I]y`$l�{��}���tzp�2�-�f(ؚS�Ã/r��S�Zka���8K�>�.#�Gy�
빢7�+z�����a:쯍��?�%����&��k0C��Ċ+�[���/�I	z��]
��E�U�'
��g�O�Jv������}}w:*Z�p��;]
��n<؟�g�y~�2<58��z����~�ջ]%��/>{|r��FK$��
+�|��~������+��
�LEg��Ы�����Q\ރ
����Y����{"�~���f8
p��p݇�D�?r�9=��3(�#j^nv��~"�??�'p�5�<F2�y��s/|e��>��23s0:��)�
�Ul
�F��Kq�~[!xv���
$�H�����~3� ��d!�
��t���FhY>B��-_�K}�}i��S�L�ja� �N��9���Y>`��������E~�Шn˨��W[^��c�����Q�Y���
�ww�w�z��mO#<9�c���.�����U0f]��W2��\�B�H&
�X��'���n�
�
��xR?�w��==-M�����_
ꖻ�"]�1���nOGG�������E�&��
���Z������8�F��֓Èa	��<
��J��%*�q�ԙџ�`tq1
+�ݿ~�r��^M��	���8�� {
�F��Lŏ
��5|Y�I$���7����=�]��
8!V�޸��@�VJ+�A�	yC�9���,�h+�
=�������=#��?9D�I�n��i;:vC{q��UVT�m�4�w�G����B��hlE�~���J��[�#�9��̼��.`�z�W����ƥ^!#�k�Ϭk�
gV�r��ҘU)�-�}�lwZ?}G� |?�3�n��f:4r���V���� ӟJ�X\��Kf��+n%G"�ȯ�ϟr��#.B憿���d�x]��6�J���u��
�Rf#e�05�_�Q-V�mK�0�TJ
����u)s��د�I��י�l C�[K�S+hٌ�0!2
��-�/Boci�4����M٣�ux��S���_���>��\��L] 6����Q���{6����O���|����W��g�
6�kXY������
��c�B+̄g��
+P(��&�>��i����� ��krEX�>�"��Jxs�=��φ���Xw���nfSk���.�.���
+Aà�#5�*|O�.�����Gj�W�
��;�:47QT@��G{y�~Z���P��.S�� �(��>k-��L�?��O
+endstream
+endobj
+17526 0 obj
+1889
+endobj
+17485 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+17483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.498 634.453 165.685 645.357]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 373.464 224.395 384.368]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 350.53 189.925 360.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+17488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.423 350.53 260.898 360.458]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a72b690903949d7e94dd627f7b49ab4cb) >>
+>> endobj
+17489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.47 334.555 422.545 344.461]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 308.948 224.395 319.852]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 286.014 232.982 295.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+17492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.48 286.014 347.013 295.941]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a082d6ea17c164846898241075349cd31) >>
+>> endobj
+17493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.035 270.039 389.11 279.944]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 244.431 224.395 255.335]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 221.497 254.671 231.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+17496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.169 221.497 390.391 231.425]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a104ead3dc8b407e3246dc9e3c6040713) >>
+>> endobj
+17497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.383 205.523 465.458 215.428]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 179.915 224.395 190.819]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 156.005 181.207 166.909]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) >>
+>> endobj
+17500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.706 156.005 243.464 166.909]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a7ddc454f90fc8200f333eee7896deb1e) >>
+>> endobj
+17501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.518 141.006 420.593 150.912]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.399 224.395 126.303]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.449 91.488 159.628 102.392]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) >>
+>> endobj
+17504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.127 91.488 200.306 102.392]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a0ca3ec141b70de5ebcbf18d22aa1242f) >>
+>> endobj
+17505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.102 76.49 400.176 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression) >>
+>> endobj
+17510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17514 0 obj <<
+/D [17512 0 R /XYZ 89 770.89 null]
+>> endobj
+1232 0 obj <<
+/D [17512 0 R /XYZ 90 700.606 null]
+>> endobj
+510 0 obj <<
+/D [17512 0 R /XYZ 90 693.533 null]
+>> endobj
+17515 0 obj <<
+/D [17512 0 R /XYZ 90 402.793 null]
+>> endobj
+17516 0 obj <<
+/D [17512 0 R /XYZ 90 402.793 null]
+>> endobj
+8341 0 obj <<
+/D [17512 0 R /XYZ 90 338.54 null]
+>> endobj
+8344 0 obj <<
+/D [17512 0 R /XYZ 90 274.024 null]
+>> endobj
+17517 0 obj <<
+/D [17512 0 R /XYZ 90 209.508 null]
+>> endobj
+17518 0 obj <<
+/D [17512 0 R /XYZ 90 144.991 null]
+>> endobj
+17511 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F90 758 0 R /F22 2996 0 R /F75 554 0 R /F11 613 0 R /F93 763 0 R /F67 3037 0 R >>
+/XObject << /Im27 17484 0 R /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17545 0 obj <<
+/Length 2218      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o���_��T��~s

+�͹�5wp�^��@K�MTu����of?(rEɺZ
+�^������cgM���&������*IF2�u2�M2����Y2]$�G��L�'�R:�
3:��U>�
s:��O�Ţ�gʛ:��޼�y�qXP�7�bv���\���庙}�mS���mY�ǿL��b��] ;#9�f����\da������)j��ъ��Mǩ
=m�׸;��5,�0F2��}Wc�F��D1"M���Y9��̷��+:����f�7���X����9N�T���
+�^|?����
�0�}�Hj�����/4Y��	%"3�W�h�H.�w�|�����a�Ǜh��
+�gު�7�t�,� 
7���
Hh�W�y��Z�Z����Jw�2M�0	l�ʰ��p�z{��蹩���ǣ�w���
+�Q�g] z�]������
�j���xD���l�:�7�OMU~�����נ�G�q�`�1����
�:����60=�	���)>�zUۇe:br�3���i-�%a��	�*f�l�
<��{�=}X����|�s�sW>a����f�

���Y�1�JC0�0�H
Gף
2���<��ݢ��a˻uLK�
� 5$��i�����ԿL-Y�ks
t {
+�Z�l{�u�scT��G���� ��ײ��l�U��p�rV�.�jӑ�C��T�X��RB6�,�DS5���-�
�
�-,:��ჾ
�:%���3r_Ͷ_m��
������nj��d�&�]�ދ6Ot�����>}�7�!++�Tv~#[�
Pb)�-��2���9p�^I UTNT���*��:a�0�gZ/��]�
C@
hR���A� �^`�� .[��b�4f
]C�
g���C��.�`�&�Ԟ"� �"��	t`����;WT o@dž�nГ
��b����{vA
+�oN7�*�
��
�W���T�E��a��1�(M%��!��G�8 O�A-��
+�
�T Pª��l�Qt=
�LF�q��Qq2�.����dv�+�w�.�������<KP���J�q�8
��ӫ����p�7P�o����c�st~0?�D���p���pOh��M�[?��~����U��17�dO��\s(nX�R�����i�%ƚB�n
O�܁��л����	úM�q�>
��5����@�%�F�֓�i
�F�ע�K�ni��	i6գ�I��?�F7Q�4D�l_׽���L|%�Ջ�5|H�}~�O��c���{���8��0�ra��"���G
+��ڌ?���������)H͞SP�����*����S�"z�Pr����b!�X��ϔ�Ĝ?b��@���/1�hY��Թ�`Ą����8��

�|骛����.�b�w
A�Q���,.wl3�0�N~W4y�
�$��妉5�b?^�{ɂ�LF&��b���
�J0�~s��Bpm��X����dm�v�ˌ��BR��{��cO
��#�p�
+��sH�!���%���qA�`H)O�
+���E( ��0���O@>�&�����
���x��1��-c�D\��s��D� n
��z,��Z���}$��C	Wip�����lm��6R�@1 ������2�`"iB�
��p����K�fnR��w��w�}?�����983�����ǹ�a"PKI�<� �R�K+Ca����o$IS֗��8%Tv	0N	i0�S��=�D��<b(��M$��Ȅ��<<X13�yʶ�:Y��Gkȹ���^�3�*	��h^��w@$G2n\0�C�ƦBjL�
�O0G�Jkm�ڵ�j�g��02�HE�����S��`�h��a�lv�/��
�ܣ��򔆤{5�k��ɘ����Z�m�
y�{�����
7.;U��a[,\���A
�£E�����"�עZ�ed�d
�2BSq�.�~�KatG��ntT�J�c�ͮ��Ԩ ��A5ZvN ���Z��8�u�����n at U
+N�=]���"4���L	�HF���PAk�B��H
+�`Mo_�)&� 8��.
���������M�I�ũ�G`C��v��L!~h���������J�|���|�`o
�=kOTԻWbFl˖�M�j����	��$��~a��iP`�Umһo�͛�˛�; �
�W���9B���o+�8]Uu�����A�dУ��h̓&@��(KSnWt��c��'.߯D���U�7����
+endstream
+endobj
+17544 0 obj <<
+/Type /Page
+/Contents 17545 0 R
+/Resources 17543 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Annots [ 17506 0 R 17507 0 R 17508 0 R 17509 0 R 17527 0 R 17528 0 R 17529 0 R 17530 0 R 17531 0 R 17532 0 R 17533 0 R 17534 0 R 17535 0 R 17536 0 R 17537 0 R 17552 0 R 17538 0 R 17539 0 R 17540 0 R 17553 0 R 17541 0 R 17542 0 R ]
+>> endobj
+17506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.517 686.092 169.81 696.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_aea16ed2cd1cce0f92352901ce90db8b1) >>
+>> endobj
+17507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.952 686.092 309.485 696.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) >>
+>> endobj
+17508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.432 686.092 514.653 696.622]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+17509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 674.137 227.553 684.667]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+17527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.687 646.72 213.6 657.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a7aaa618bcb2bd6d5bf7777a277afd00f) >>
+>> endobj
+17528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.48 646.72 312.955 657.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad38e3f11db47d8cdd6e9d8d796d04b28) >>
+>> endobj
+17529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.009 646.72 469.23 657.624]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) >>
+>> endobj
+17530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 607.722 169.013 618.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_af838a20e1508816e754fdfee5f4d2c1d) >>
+>> endobj
+17531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.829 607.722 321.49 618.626]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 547.108 273.756 558.012]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_afcf9668b49ab7bc9559825c26963ed1a) >>
+>> endobj
+17533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.093 547.108 366.736 558.012]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 511.951 281.504 522.855]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a03ef7bb6314fd8cb72c4a5d4aaa4ff99) >>
+>> endobj
+17535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.174 408.272 156.539 419.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a98223468ffeb045b81898611289bd174) >>
+>> endobj
+17536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.613 408.272 309.274 419.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.51 408.272 513.996 419.176]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 396.317 224.395 407.221]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.174 357.319 156.539 368.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a98223468ffeb045b81898611289bd174) >>
+>> endobj
+17539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.613 357.319 309.274 368.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.51 357.319 513.996 368.222]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 345.363 224.395 356.267]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) >>
+>> endobj
+17541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.498 228.55 165.685 239.454]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17546 0 obj <<
+/D [17544 0 R /XYZ 89 770.89 null]
+>> endobj
+17547 0 obj <<
+/D [17544 0 R /XYZ 90 704.286 null]
+>> endobj
+17548 0 obj <<
+/D [17544 0 R /XYZ 90 624.555 null]
+>> endobj
+17549 0 obj <<
+/D [17544 0 R /XYZ 90 563.663 null]
+>> endobj
+17550 0 obj <<
+/D [17544 0 R /XYZ 90 526.792 null]
+>> endobj
+17551 0 obj <<
+/D [17544 0 R /XYZ 90 464.795 null]
+>> endobj
+17554 0 obj <<
+/D [17544 0 R /XYZ 90 309.881 null]
+>> endobj
+17555 0 obj <<
+/D [17544 0 R /XYZ 90 309.881 null]
+>> endobj
+17556 0 obj <<
+/D [17544 0 R /XYZ 90 247.23 null]
+>> endobj
+17543 0 obj <<
+/Font << /F73 552 0 R /F11 613 0 R /F90 758 0 R /F60 532 0 R /F93 763 0 R /F68 3032 0 R /F110 1507 0 R /F24 529 0 R /F39 2320 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17563 0 obj <<
+/Length 3169      
+/Filter /FlateDecode
+>>
+stream
+x��[Yo�~ׯ @Bf����dW�7��Yk��5�9���ВCi��>��
=�!iq�}	�0<Z��U_��ugw�^_�����b�AFR�]�fg�$$��eG�b��ꇌI����_����ǫ���`�������
_�x)�M�?�l��aČΞܠe�)��"�p��
��E�.� I�.��c*F�c"F�j<aT�r�x�_�y~�(�'�
��æ�n��U��%!-�$e��G?$�_#�D5 _͢)����z;/�|�Ͷ���ҿۖ�M�%��֤T"&$L���^�&��@�O��~����*��(��@"H��F��SB�B��l���xB��	�W&��B�ĭA8�(�
�#���Y	GXr?�����Ji��`C.FOEe��vW�����We��_�O�U�;sfj0Ҁ�	��P�%߮7˄�� 
�G�MX�!�x*��X+
x�TH���{��M
w<�oS�>���!c<Gq��7C�j2�{�/:��
��FaA��}/k���
+<�����Y�
�tU̾��� ���|[��O���m)�5۪�752?���я�ԍ��
�x=�$,đѴ�; �8m|J"�5�c2P�vry#*l�א<L{<D(��U.̌��–�e��˛b��zt�[MK�(ܻ���ݲX�yrG���)-�`�M$�0CY,yY�֫�lL�W?"Z at d���C�ʗ dt�~?�R
+p,�� !ԡ�K� �ο.�F3S�agP'�U{��
����7_$4���Q at R�`&V�j����M��>�	va
�d���
Q�c�.!��e*j`@l���%<L,�H5�f�1**Ȉ
������F��ߏ)����b�ɯ'!�I�e�)���f�o>�z����U�t}�X�WwAd���^=ꯙ�tA� jaMذjD�!� .!���$;�!
�SV��T�2
���A4�5h��
N�J�C�� �
��QHv�8�L�ӆ�:�z����v=v�1QgJf�1�MA�e��mH��Aǵw`��{q�m���?@	���e��Z�?WkTQ�AY=�;
;1�b���!��a(#�p�8��w�
+ �����%�A�����:g\_��
|��8l\�l¤��/v��v�n`y�],:(Cϲ�6�S'�W�ڞ�b�H����o��%R
z�Bd
(�w�2�3צP깂��=(Dum����J���B�q�(�o$=�7�._|���N�4�J#���n��l�7sjN�O���ٗ����]܀�o�׾s�sř-���qBG�.�����6�4� �Ƀm��8ֺ޹J�t�Eg
U���z	��D�K �	DP���ɍ��*��ۄR��Ig:
+%,�"����V��֜��X CtU%P�
�"]�hK�>����_��L���$$=L�@��#{�B��DD���ঃ��B�K�R�u�&d�ō�̵��r}��
�(nŹE$�
U�FWc��0��tD"r������!4�D ���H���]P3HN�D���9O�4~�
+]�1տv�yz�޽
�� 
���
�8�
+
+r� �����@"�H0��*{
CЙ�$�S#h���-�U�҈:	8�W��� R
���y��d*�o�A�
��
+�����mV�ߩh�G�c(�}a���
����v7�Ŭ���Whb�U�
��|�M��(��u�]󟾤���K[�"Q��ǵ/�8(��x$*5y�`�~�K�֐�����������-=�
8�]
����z:�K�j�Z�y�.Jt�-�n
�|'C���F����V+������|�� b�'Q׸�"�W���B|��|>����_Ϫ�m�5�A�nUs����"Xl�
􋛁�Ї�[�O`Ί�N7�FiQ2+�|��&
�[䫸�w���u�S��C`����gk�
x>�*�Z�
ϛ�â�,r�3m��܅`���죓���T�ҫ鼚�kX����e�,�gۼ���]Ʊ�M*�% ��j���"��K�[�d
a{6�&��zшQ:����Ȟ
�{׊_�_�_���:��� ��ϯC:��,��%�:4�Ch`	v+��ץ�-%��z�u{L>�V�_�7"���-,���Ia��)^�gi���#{�aǬð_G�SLڔQ�.��4����Y�̜I�C)l�$���̰ĕDC [...]
pc��j�b4��k������*�5�1‘a��U+'J���nC�O�l+�0�ܙ!v�+D�̐��w+H�&\�^6܂���O�~5�ǎ
+d�.n�=ij�%S�P��(����t.�a���!�x+Ki���L8G��!��^��X��[|��
+�4CQ�;5f����yy��͗5o6��
�B���x�~��KY���d�
+j�?�L��&
9`;>�D��@���ax
A�51
$Sa<l�#�͙j$��H�c
�ۉUvp��D�<=����y<1�D�(��F�A�e�H4�����3Jc���Wb���w��A��C�P<[b�41�Y1��0nj.
�jZ$���T��I�
:;q 9��������F��J�����{�*7�"H�Rl��4H�F�~��v{um�t?��{�P��ys2���Q5�gD �;�Y�	H�ͷ�|3
���L�ݵC-i��`�����f[_/}k���?��%�{
QkM�U�#��{�a
G�0;�-�ה�(Q�� N 
�T����okд����:�I�� ������
��:D�(*��%J�=��-ek
�����k�IG
l�Y����K��Q̏0"�
fD@%	��^��8>���$N��n��@�pnw�
+p�(ӱ
F������1>�Z@��b5�O2v~-'�4��@�-գ<��R��`��Į03��(�,2!�$a�� �g�|����(Ȣ����MbI�a�	B	͐����E��B
A>zC���9!�@� �3��Y
����� 
*r*tL�|xr,�C�u:����-�ö�'�IH������E�Q�s���m�a	��S�>P�U�
S�B���r%+��^�/��	�|�d�wkֈ���I#���5,��nɖ�;`maLܨ��ֿ�y[l�b�6	�._�U61z�f�\�$[8�#\�=���z��V���������1ը�/ˇW/_�����M��}�4�
�7��P��M�oݺ�z�9�|)l
+endstream
+endobj
+17562 0 obj <<
+/Type /Page
+/Contents 17563 0 R
+/Resources 17561 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Annots [ 17559 0 R 17560 0 R ]
+>> endobj
+17559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.537 357.602 501.708 368.506]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) >>
+>> endobj
+17560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17564 0 obj <<
+/D [17562 0 R /XYZ 89 770.89 null]
+>> endobj
+17565 0 obj <<
+/D [17562 0 R /XYZ 90 669.64 null]
+>> endobj
+8371 0 obj <<
+/D [17562 0 R /XYZ 90 648.798 null]
+>> endobj
+17566 0 obj <<
+/D [17562 0 R /XYZ 90 648.798 null]
+>> endobj
+17567 0 obj <<
+/D [17562 0 R /XYZ 90 536.717 null]
+>> endobj
+17557 0 obj <<
+/D [17562 0 R /XYZ 90 358.598 null]
+>> endobj
+17568 0 obj <<
+/D [17562 0 R /XYZ 90 354.115 null]
+>> endobj
+17569 0 obj <<
+/D [17562 0 R /XYZ 90 261.631 null]
+>> endobj
+17570 0 obj <<
+/D [17562 0 R /XYZ 90 165.912 null]
+>> endobj
+17558 0 obj <<
+/D [17562 0 R /XYZ 90 140.944 null]
+>> endobj
+17571 0 obj <<
+/D [17562 0 R /XYZ 90 140.944 null]
+>> endobj
+17561 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F35 1248 0 R /F7 795 0 R /F10 765 0 R /F8 794 0 R /F24 529 0 R /F90 758 0 R /F117 2446 0 R /F75 554 0 R /F93 763 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17600 0 obj <<
+/Length 2224      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_!��
l����[
��5��[\n��}�]��$Bmɕ�$�dɖ_�8�ݗH���p晙g(��6��?�~�::9�,PH	*���@�@�
+q���/����c�1
\
	
��4
]
)
�ŝ
��Sz]�����ס�0 ��'�
]�jxL9
|��e�n?�]
I4�Y�A,� �
9�v��яWG�P
�)‘��dz������ #�����!ep��G�:�~OQnn���duwH"d��1D�&+=�M�J�N�`�r��H��?�
�ɰP-f:���M����b}��JĕU�a�m��H5[]�eq�:;;�*��q4�>�'=�
�����`�p�Q�jF0�3�{��p���"��!�b��P��Vg9 ��q/�Pf�����^�����a;y:v;)��

���+��	�D� �,�c�Gq�䴣ft6��*�n}��Y5��q�B�,�<�Q�p��4J�#z�*	I�b<|��I�� V�w��,
M�
B�P"ʢ�K4F����!���� jD
1�P
5��O0�~-'��e�֐Ea���}d��P�?��[!��CD����'
Fp+��@I4<������ [...]
���l�H�r�"(g3�C�
i�\CZKL"G
+L!y\
�h
+�c�=
G ���@M��Q�QSr��B�$7�`�=�(�H������]u
%�ȯ)1�%uta�6�[��c
+�Uy2�GtY�OO˚p�7�zo`Y���ܳ4k� �]��� +CuC��_�,���}��3$�*#��2�X���^�}�^!:٧�-c(�BȒ�
�G�ܺ5M�Y��k��m��g����c�
vn��&�
q��R�z�|n"�W@;��@+���u��G1ȥJ��G�Дkh������d\�$"h\�����F-
@i���
�zm�V�g�|S��f�u��ɹ?�AKH�]�Ucͨ-3�"�C�I3S<�qk]"B6��
��6
V�dP�d8��&\U��?
�m��^,���~�=�CCx���i�"��D� |�&
�0��}�P!��/@`pCǪ�O�B�4���)x�7�$?n��i#F�,`�
�Y��Q3skN]C֓Q�YW�"[��r�8�������νN��fZ�}��Z��
S�+R�y2z��z��09�+��A
����m��
o�4+u�1l������j���Ơje_���-���#�0'R��9_�.۝B �+d�S��|��!q���:��&�XU�c�ۼ+�el��'X˘Z����m6�,{-)i3 Μ��/?���[:p�K�j�`��X쵘9-��Ķq��z��h �m<���` �P<}��
ZO3ukk_��ة
+N�;Q;�b��˞�^S!���ʦg]7��ClH�i�|0�I�[�dž�,��Cn?f79�g9)p�f�b�{ֳ�x�s;�<ItY��'�{7ݞhvrO�^�
+�Q�!p����Mˎl�14H|{�l,KS=͋ŨL��O(LU^œ���f��E��?�<YMj���JUpj��-���$�YZ�v\/z0K���+�K0K	�d_��9��\��<�N��E�?���{vg�!���ns0�̙����r�=���8ߏ��.{�������N'�<�V���M�<zV�U}ԭ��U�3C=~k��,t�l��i���n����-��.�
Pq��gE���ضk-p!�xA_��	
h���m��P�U���
�E��Y�ƙ�D
+�:�cg4�
�f�>�J�6
|Qx���3������p�F�G�R��|�ɽ8!��f
R>|�Y���1�������W0�uJ}i0돨zb�v�X{��n��h{��4~
=�f_��}X,�N�ӵÖ���	'��A�:/�As7��JV�m�ic�����$:����Lh�����'w��Rߙ�Λ�8�ם����ޭ��
�>�८]��-��~>�sZ�Cėi�f�''��[�ŷ(q}~��}(�����ƀ�6<��~�=Q�i��#���
�-��
b)�
Ѿ�/������������	�G�
+endstream
+endobj
+17599 0 obj <<
+/Type /Page
+/Contents 17600 0 R
+/Resources 17598 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Annots [ 17572 0 R 17573 0 R 17574 0 R 17575 0 R 17576 0 R 17577 0 R 17578 0 R 17579 0 R 17580 0 R 17581 0 R 17582 0 R 17583 0 R 17584 0 R 17585 0 R 17586 0 R 17587 0 R 17588 0 R 17589 0 R 17590 0 R 17591 0 R 17592 0 R 17593 0 R 17594 0 R 17597 0 R ]
+>> endobj
+17572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 500.09 170.687 510.62]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) >>
+>> endobj
+17573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 470.678 170.687 481.209]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_afbcfd5d585123fad758b763b4e2ed336) >>
+>> endobj
+17574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 470.678 233.211 481.209]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 441.267 170.687 451.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ab90c3d16fa19df74d838587f40d74477) >>
+>> endobj
+17576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 441.267 233.211 451.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.546 441.267 301.734 451.798]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 411.483 179.554 422.386]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.052 411.483 250.666 422.386]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) >>
+>> endobj
+17580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 382.445 158.044 392.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb) >>
+>> endobj
+17581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.86 382.445 197.048 392.975]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+17582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 353.034 176.505 363.564]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915) >>
+>> endobj
+17583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 337.282 450.955 347.187]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
+>> endobj
+17584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 312.29 191.718 323.194]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 312.29 288.852 323.194]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) >>
+>> endobj
+17586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 282.879 191.718 293.783]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) >>
+>> endobj
+17587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.216 282.879 303.079 293.783]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) >>
+>> endobj
+17588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 253.841 150.493 264.372]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c) >>
+>> endobj
+17589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 224.057 181.845 234.961]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) >>
+>> endobj
+17590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 194.645 181.845 205.549]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c) >>
+>> endobj
+17591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 165.234 154.727 176.138]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127) >>
+>> endobj
+17592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 91.869 203.075 102.773]
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) >>
+>> endobj
+17593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 91.869 296.324 102.773]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224) >>
+>> endobj
+17594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 76.49 328.312 86.395]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+17597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17601 0 obj <<
+/D [17599 0 R /XYZ 89 770.89 null]
+>> endobj
+17602 0 obj <<
+/D [17599 0 R /XYZ 90 721.073 null]
+>> endobj
+1996 0 obj <<
+/D [17599 0 R /XYZ 90 627.855 null]
+>> endobj
+514 0 obj <<
+/D [17599 0 R /XYZ 90 620.308 null]
+>> endobj
+17603 0 obj <<
+/D [17599 0 R /XYZ 90 519.468 null]
+>> endobj
+17604 0 obj <<
+/D [17599 0 R /XYZ 90 519.468 null]
+>> endobj
+17605 0 obj <<
+/D [17599 0 R /XYZ 90 488.322 null]
+>> endobj
+17606 0 obj <<
+/D [17599 0 R /XYZ 90 429.5 null]
+>> endobj
+17607 0 obj <<
+/D [17599 0 R /XYZ 90 400.089 null]
+>> endobj
+17608 0 obj <<
+/D [17599 0 R /XYZ 90 370.678 null]
+>> endobj
+17609 0 obj <<
+/D [17599 0 R /XYZ 90 330.308 null]
+>> endobj
+17610 0 obj <<
+/D [17599 0 R /XYZ 90 300.897 null]
+>> endobj
+17611 0 obj <<
+/D [17599 0 R /XYZ 90 271.485 null]
+>> endobj
+17612 0 obj <<
+/D [17599 0 R /XYZ 90 242.074 null]
+>> endobj
+17613 0 obj <<
+/D [17599 0 R /XYZ 90 212.663 null]
+>> endobj
+17614 0 obj <<
+/D [17599 0 R /XYZ 90 183.252 null]
+>> endobj
+17615 0 obj <<
+/D [17599 0 R /XYZ 90 111.536 null]
+>> endobj
+17616 0 obj <<
+/D [17599 0 R /XYZ 90 111.536 null]
+>> endobj
+17598 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F11 613 0 R /F117 2446 0 R /F75 554 0 R /F60 532 0 R /F93 763 0 R /F110 1507 0 R /F68 3032 0 R /F67 3037 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17625 0 obj <<
+/Length 1807      
+/Filter /FlateDecode
+>>
+stream
+xڽXmo�6��_!`@ga5����n@�4C��dM�~H�A�iG�,������;���,�^�K�P���������'O.&G�!�"	*���a/
"����.�\H���
�	�H$�z����^_��w�g����G� �B��דˏ�[��
#I�޴���7��'N��#���������e� B�oUWj��(���M6��<+k{�ģS���
PY0ǯ�J����u\�'U�Ÿ�Yn_���J�y�"Ez�="P�$(�(‘UH)�ﺜq��e�8>�˪P��H~`�i+�ط��u~����
���
Ҟ�`��.L�
�s	Q$#�W�cĔ�y��A��v��	!�$�JU�����ǭ%ޖ[�j
��'�@hg�DAy3����fS�ll8�'|§�7�rd���4�ьECh��0#�`qD���U�I�u��y���H�.#�qf
�
Z*g������7~�٬%�B�������3P{��:\�f�
S�As���I>߬UV�[���
f�����̧
i
o3�b"�8�H
+����a�m �"@Т��M9���)���Z-�(�Sy&P�&a߄��U�G�����;?�&�~8� ��H~/�! ��9�y��� >�݋W���d�Z�Y�E�"���0wT�Ώ��GraW�kjѭ/����G
�:�v��
��<�_�;�ƕʨK�dk���
b�C�ՓM�.ʦ
Y*�
+�p>-G��-�q����"_[��k��1��%

Iw��Q�5�uw���Р)Nw_��kP��5�apo] �����rDW�H�����f@@(k�戴AW�6���P�W��:��]E��':
��ӆ�%�^�O]�
�t��
u��H���1�&AaD����h�ߖ�!�ј�_�BhL�,�]� g`r���p-\f����Z�T_y���p�w��/�R
�K���nid�0����>�lS1ڽ�GEfME
�rm
��}d!�FA�}

䂐ݮ�P���!"a�>/Gy� ��o'��
�P�&�G��!G��.njc@<r��C�#��ƍ����ǽ��q�0�l%����q�7t�-fs��EB�������<�K�x�C�����ʴ���8�K�2O�\��]�����i���}
+��I�����3D at kG9�,�J�[�CZQ���
��`����V�ӱ� �����]�P/*��q&hJ@?=z��{mO\͡�^�+��Om�k
Z�+U�l����P��G9����V�FJ�V-N�1@�OI6O7
5BG�AŒ��B9�V�x=
+Q at h�:�ԝt27�{�v�?��]V WS�#+F�l�'�u��=2^kBNs���R����\n��q��cD8A�l���q�2�n at 4
��|�l��*$��
������66���^���g�X���X�V�/�4��h@��j���*��yt��b��TS	q�>�k��
+iG�r�=�0~5-�
H:(Y�Қ}w ��?�T�U^��"ݡT't
�;�7`P,d�;�=c�UhO3D���� F�l
����ƪC�z(\ g Q{A�����9�UҦ��������d��k�$K�$N���::
�Xϫ�
{:
B���)�������u�����7JG�?����
z���f$
�
�g�1�6��/���K��]8z�f�I�Zq3�7k�̓�Q�����=����y��TE�j�U�m��o\}[��E��Јh����\� �>5f�1�+y�

 ��X��㣣�ͪT�
+��Er�ǚ�Æw�^w��
�$���x��'���
+endstream
+endobj
+17624 0 obj <<
+/Type /Page
+/Contents 17625 0 R
+/Resources 17623 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17482 0 R
+/Annots [ 17595 0 R 17596 0 R 17618 0 R 17619 0 R 17620 0 R 17621 0 R 17622 0 R ]
+>> endobj
+17595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 657.557 226.034 668.461]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_a6e710cc6607e4ec2791b182707bb4f1f) >>
+>> endobj
+17596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 657.557 377.952 668.461]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+17618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 219.757 156.052 230.661]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog_ae6136681f74ee2a46497793fcf6222b1) >>
+>> endobj
+17619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 191.232 163.801 202.136]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog_a0f5f7c074992bb3c4464fa554490fb3d) >>
+>> endobj
+17620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 120.324 194.297 130.854]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog_ad5a1348ca7621bbaac38c11716affd61) >>
+>> endobj
+17621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.437 91.799 188.759 102.329]
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Watchdog_ae59da834d6abca4c75ec2cba498871f5) >>
+>> endobj
+17622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17626 0 obj <<
+/D [17624 0 R /XYZ 89 770.89 null]
+>> endobj
+17627 0 obj <<
+/D [17624 0 R /XYZ 90 704.144 null]
+>> endobj
+17628 0 obj <<
+/D [17624 0 R /XYZ 90 628.34 null]
+>> endobj
+17629 0 obj <<
+/D [17624 0 R /XYZ 90 572.681 null]
+>> endobj
+17617 0 obj <<
+/D [17624 0 R /XYZ 90 548.105 null]
+>> endobj
+17630 0 obj <<
+/D [17624 0 R /XYZ 90 548.105 null]
+>> endobj
+17631 0 obj <<
+/D [17624 0 R /XYZ 90 461.543 null]
+>> endobj
+17632 0 obj <<
+/D [17624 0 R /XYZ 90 439.025 null]
+>> endobj
+17633 0 obj <<
+/D [17624 0 R /XYZ 90 439.025 null]
+>> endobj
+1997 0 obj <<
+/D [17624 0 R /XYZ 90 345.502 null]
+>> endobj
+518 0 obj <<
+/D [17624 0 R /XYZ 90 338.509 null]
+>> endobj
+17634 0 obj <<
+/D [17624 0 R /XYZ 90 239.065 null]
+>> endobj
+17635 0 obj <<
+/D [17624 0 R /XYZ 90 239.065 null]
+>> endobj
+17636 0 obj <<
+/D [17624 0 R /XYZ 90 208.807 null]
+>> endobj
+17637 0 obj <<
+/D [17624 0 R /XYZ 90 139.174 null]
+>> endobj
+17638 0 obj <<
+/D [17624 0 R /XYZ 90 139.174 null]
+>> endobj
+17639 0 obj <<
+/D [17624 0 R /XYZ 90 110.071 null]
+>> endobj
+17623 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F11 613 0 R /F93 763 0 R /F117 2446 0 R /F75 554 0 R /F24 529 0 R /F110 1507 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17643 0 obj <<
+/Length 527       
+/Filter /FlateDecode
+>>
+stream
+xڍ�Ms�0���
+�
+�+!	�m�N�t�m����dȆ)�����w"�ɥ'I+��}����	��ާ����B��DqE6;� �DB��UN�>�
+
 �u��OM�>�~[=:7��u�hR�Z�J�i�y�\���J�n���;m���4V b_�$��\y_6ޓ�P6j�4�IV{�{ 9���0���
���!���~z�� �r��3����1F�y�̹��}ZV:G�<�U���ЗmcNW,/ռ"�4�X��h�dA�9�e����PmHcU\�i�B���6;ֺ�S{�
�Z�J�#��B
or��n�I{ka�4m=��XU����l��; ^�ՙI�a��$��
E�q.�Om�
-�����T�Fخ���R����o"B%�\���8��i�a��H�H�cZM%�
���^�2
+g4X��Fk���L�����3)L
+*%�-+����j�|<�;��i��߽�����j���ٺ5�P�`��ݧӿ�8J`T)>�@�O��E�'�s�9%���[
���~�̻�o
+endstream
+endobj
+17642 0 obj <<
+/Type /Page
+/Contents 17643 0 R
+/Resources 17641 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17640 0 R ]
+>> endobj
+17640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17644 0 obj <<
+/D [17642 0 R /XYZ 89 770.89 null]
+>> endobj
+17645 0 obj <<
+/D [17642 0 R /XYZ 90 721.073 null]
+>> endobj
+17641 0 obj <<
+/Font << /F73 552 0 R /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17717 0 obj <<
+/Length 1146      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~���x�ƒ@\��d��[g׻��t'�02(�.W�6�_	p�Ʊ-c;I;;~ !qΧs�t$�H�u4���V^�;��N���
Ӳ�6��D����6�[}�BڅP���1�yMZ���gx6��@�!`XЩ����g����hx��`�Y
+Р,4� 2�iU�.޼�����hN"Z�����
�N�c�^@ո�-o>^w��r�c������
2!,̘/���ey�EX�[6�d�l^�"�X��<T���Z@�}��q�6BI؄��e�Ô����x�	8;�����CC��<�P�
@:t�UX`m�7#_�@����@
RrV�%����o������L��E�/f�y?�T5c�*l�
ƕ
+d{
��g�6�!�9em����)�� ��}�b���~�x

�;�� �D#�nK��� jo����I�<�i8h����F��#��!Ŏ�[��T��{ؠ���O��?���^!my�� �G[���06�
+᭤O�2�c�6��`���U�*����?���\V����ɵ[.���<i�4
|���Oϛ�H��$���1]��W9�rJY�fj�����d�> O}1����bچ
��l��
��ؠ���Uȶ
,�b�1p��
<
;`%v�3=C�m�������s�~}I�,益�F�QN����~H�m�G@�:�g(��/	��f��96hN��oJ�L5 at I�(��
����T�����B=�'k'~{��Ł�מ�=�{zà2�a龶�7������v��k)�X��IVY�ȧ�Iy}����)��[R���d��Z.pH�AB7����"n�}����~@y�d�㜵�#�m��G-�4+p�^���d�q�Ҥ�
�h1�Z�?��C-TN����n��WRRnB���|F*V�T�}+��',�(x“2 rN� �iW1�^|�3���r܁�`h�c`�Ղ��W :*;�����;��� 5��Y��-�zB^���ch��ٶ%�G�.4,��r��i���h4�n~5�]���j�6'Iu�;����
��!4�x�nO��O���p}y������e<�2D�&�J(Ӣ�����y�SA���1�3��.޽��L��zB1��
cE���Wز�X
+endstream
+endobj
+17716 0 obj <<
+/Type /Page
+/Contents 17717 0 R
+/Resources 17715 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17647 0 R 17648 0 R 17649 0 R 17650 0 R 17651 0 R 17652 0 R 17653 0 R 17654 0 R 17655 0 R 17656 0 R 17657 0 R 17658 0 R 17659 0 R 17660 0 R 17661 0 R 17662 0 R 17663 0 R 17664 0 R 17665 0 R 17666 0 R 17667 0 R 17668 0 R 17669 0 R 17670 0 R 17671 0 R 17672 0 R 17673 0 R 17674 0 R 17675 0 R 17676 0 R 17677 0 R 17678 0 R 17679 0 R 17680 0 R 17681 0 R 17682 0 R 17683 0 R 17684 0 R 17685 0 R 17686 0 R 17687 0 R 17688 0 R 17689 0 R 17690 0 R 17691 0 R 17692 0 R 17693 0 R 17694 0 R 17 [...]
+>> endobj
+17647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 659.306 223.309 670.21]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 634.84 223.309 645.744]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+17649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 610.373 313.839 621.277]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+17650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 598.14 296.564 609.044]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+17651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 563.656 145.791 572.622]
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+17652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 537.251 285.097 548.155]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+17653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 525.018 258.537 535.922]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+17654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 512.785 260.191 523.689]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+17655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 500.552 311.727 511.455]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+17656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 477.08 186.747 487.267]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+17657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 454.112 145.791 463.079]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+17658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 439.941 287.867 450.845]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+17659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 415.475 285.097 426.379]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+17660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 403.241 258.537 414.145]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+17661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 391.008 260.191 401.912]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+17662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 378.775 311.727 389.679]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+17663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 355.304 186.747 365.49]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+17664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 332.336 145.791 341.302]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+17665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 318.165 287.867 329.069]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+17666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 293.698 285.097 304.602]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+17667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 281.465 258.537 292.369]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+17668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 269.232 260.191 280.135]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+17669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 256.998 297.909 267.902]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+17670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 244.765 311.727 255.669]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+17671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 221.294 186.747 231.48]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+17672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 208.343 295.069 219.247]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+17673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 186.092 145.791 195.059]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+17674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 171.921 287.867 182.825]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+17675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 147.455 285.097 158.359]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+17676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 135.222 258.537 146.125]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+17677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 122.988 260.191 133.892]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+17678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 110.755 297.909 121.659]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+17679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 98.522 311.727 109.426]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+17680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 75.05 186.747 85.237]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+17681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 671.54 511.551 682.443]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+17682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 649.302 362.272 658.268]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+17683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 635.144 504.348 646.048]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+17684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 600.685 362.272 609.652]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+17685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 574.307 504.348 585.211]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+17686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 549.866 504.348 560.77]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+17687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 525.426 476.672 536.33]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+17688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 500.985 476.672 511.889]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+17689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 466.527 362.272 475.493]
+/A << /S /GoTo /D (page.196) >>
+>> endobj
+17690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 440.148 530.32 451.052]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+17691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 427.928 513.045 438.832]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+17692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 404.47 362.272 414.656]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+17693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 404.47 382.197 414.656]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+17694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 379.312 494.684 390.216]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+17695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 354.871 501.578 365.775]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+17696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 342.651 475.018 353.555]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+17697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 330.43 476.672 341.334]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+17698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 318.21 528.208 329.114]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+17699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 294.752 403.228 304.938]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+17700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 281.814 504.348 292.718]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+17701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 257.373 501.578 268.277]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+17702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 245.153 475.018 256.057]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+17703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 232.933 476.672 243.837]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+17704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 220.712 528.208 231.616]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+17705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 197.254 403.228 207.441]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+17706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 184.316 504.348 195.22]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+17707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 159.876 504.348 170.78]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+17708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 135.435 476.672 146.339]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+17709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 110.994 501.578 121.898]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+17710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 98.774 475.018 109.678]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+17711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 86.554 476.672 97.457]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+17712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 74.333 514.39 85.237]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+17714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17718 0 obj <<
+/D [17716 0 R /XYZ 89 770.89 null]
+>> endobj
+17719 0 obj <<
+/D [17716 0 R /XYZ 90 684.655 null]
+>> endobj
+17715 0 obj <<
+/Font << /F90 758 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17783 0 obj <<
+/Length 1271      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~�W�ma�8�l�vޖ&M�&)ؙ��
���x�eG�M��W�m�#
$�l�����wn��16�q���G�
��L� b�G�
��LLԙo�6/�ON�n��6l� �\v;0
n��
�F����0l�� ���?��<�x�n
+
Y�b�6�<�@��6
Ms���M&CF���������` �|>>�:L�8lB{w,�g�rXr\�9k�mP�FvqC@���$c
Q��$`��3���l��vf%��&�sѮ��-I$
�6v!�_���E76��p�0g��DGL1�5R��^S	/��|�Nc6��B.�A$��	��2������آs��
+"DN}"t��u�X�3�k��?��\���.�{.'
D�S�c._P�
���\[�����@c&Y�-�d�h%̙*����<0�Ƥ#1�3.�T��iR��5V!H��[��b����� ��"� dc���;�FHø~ȹ
g�~J�Q�X�
�͢t�(����uH?O�|!;�
�������ۑ�9��U�@�rN��)OԵ,�r�N6�����Û�P,�;F]�ߨK~A/rϋ��	���������x�dB<�aƦ�L�bLG31L�n�ҷ>~���D^21��^��]�
+Y�Z4U)��
w��������
+�onSPǦ�`�ŵ_�Wb���U�e���8�ѓ��	O;�$H��������n�U4
+%�?���C�h�(��j�V�X�e��^G>?>��^�f��׬��h�Ʀ� ��,�_����iw|x�����z�Q���rd�$b~=
׀e������q�%K"�ի.�)r�
+oד�J����2
ƂʷZw���͍�z���+��i{��E�G!rW*��@�`
��@�a��a� �a�8 z�N=��m����`9�z
�ޢ>%��ф�Y�����9�b��o ����"-�����~���e�U�R��;�7߀�l�
�P�|�ȶg�`Ԁ	Q�\W�Y�3��F*^��>ŒO����
˟�^7P4����v
7vʿ��P��S �����o���
s���t�K�RX9��?U��)��HXe7�{����V	�LY�[%�-��b{5l��e�ٿ+�v����_S.kaܜ��WL��$?�0(0��|�@�C�ն��=�
=r��Fy�%�6��@l�.
��C�$>>:����cs�
Y��3��ώ"��	#Y(���Y�lf�餴#�$��P�|h @�A�
������b��"���H��n�� �&d
+endstream
+endobj
+17782 0 obj <<
+/Type /Page
+/Contents 17783 0 R
+/Resources 17781 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17713 0 R 17720 0 R 17721 0 R 17722 0 R 17723 0 R 17724 0 R 17725 0 R 17726 0 R 17727 0 R 17728 0 R 17729 0 R 17730 0 R 17731 0 R 17732 0 R 17733 0 R 17734 0 R 17735 0 R 17736 0 R 17737 0 R 17738 0 R 17739 0 R 17740 0 R 17741 0 R 17742 0 R 17743 0 R 17744 0 R 17745 0 R 17746 0 R 17747 0 R 17748 0 R 17749 0 R 17750 0 R 17751 0 R 17752 0 R 17753 0 R 17754 0 R 17755 0 R 17756 0 R 17757 0 R 17758 0 R 17759 0 R 17760 0 R 17761 0 R 17762 0 R 17763 0 R 17764 0 R 17765 0 R 17766 0 R 17 [...]
+>> endobj
+17713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 707.957 311.727 718.861]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+17720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 684.764 186.747 694.951]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+17721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 672.092 295.069 682.996]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+17722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 660.136 287.867 671.04]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+17723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 636.226 285.097 647.13]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+17724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 624.271 258.537 635.175]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+17725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 612.316 260.191 623.22]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+17726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 600.361 311.727 611.265]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+17727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 577.168 186.747 587.354]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+17728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 564.495 287.867 575.399]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+17729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 540.585 297.909 551.489]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+17730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 516.674 295.069 527.578]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+17731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 482.866 145.791 491.713]
+/A << /S /GoTo /D (page.216) >>
+>> endobj
+17732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 456.899 285.097 467.803]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+17733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 444.943 258.537 455.847]
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+17734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.416 432.988 294.352 443.892]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+17735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 421.033 311.727 431.937]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+17736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 409.078 287.867 419.982]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+17737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 385.168 285.097 396.071]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+17738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 373.212 258.537 384.116]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+17739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 361.257 260.191 372.161]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+17740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 349.302 311.727 360.206]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+17741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 326.109 186.747 336.296]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+17742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 303.539 145.791 312.385]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+17743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 289.526 287.867 300.43]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+17744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 265.616 285.097 276.52]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+17745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 253.661 258.537 264.565]
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+17746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 241.706 260.191 252.609]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+17747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 229.75 311.727 240.654]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+17748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 206.557 186.747 216.744]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+17749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 183.987 145.791 192.834]
+/A << /S /GoTo /D (page.502) >>
+>> endobj
+17750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 169.975 287.867 180.878]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+17751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 146.064 223.309 156.968]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+17752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 122.154 223.309 133.058]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+17753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 98.244 223.309 109.147]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+17754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 74.333 223.309 85.237]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+17755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 685.952 362.272 694.918]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+17756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.537 648.8 407.492 658.987]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+17757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 624.107 530.32 635.011]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+17758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 600.131 530.32 611.035]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+17759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.125 362.272 587.091]
+/A << /S /GoTo /D (page.289) >>
+>> endobj
+17760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 554.182 362.272 563.148]
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+17761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 528.268 530.32 539.172]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+17762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 518.251 362.272 527.217]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+17763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 481.827 439.79 492.731]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 457.851 439.79 468.755]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 433.875 439.79 444.779]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 409.899 439.79 420.803]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 385.923 439.79 396.827]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 361.947 506.56 372.851]
+/A << /S /GoTo /D (page.107d) >>
+>> endobj
+17769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 328.073 362.272 336.92]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+17770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 302.04 501.578 312.944]
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+17771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 290.052 528.208 300.956]
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+17772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 266.076 504.348 276.98]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+17773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 232.202 362.272 241.048]
+/A << /S /GoTo /D (page.506) >>
+>> endobj
+17774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 206.168 447.89 217.072]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+17775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 172.295 362.272 181.141]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+17776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 146.261 504.348 157.165]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+17777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 122.285 504.348 133.189]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+17778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 98.309 439.79 109.213]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 74.333 439.79 85.237]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17784 0 obj <<
+/D [17782 0 R /XYZ 89 770.89 null]
+>> endobj
+17781 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17878 0 obj <<
+/Length 1392      
+/Filter /FlateDecode
+>>
+stream
+x��Zmw�H���Ӯ�]�00��$��B�l�M{栌�S^,�����Fm��9�%
+�s�{�>w�Lp
p7�K�uq-���+bΚs
+�dI�fWw�F2켷^q�x��6
�w郖j�>�����/���ߺ8��~�^Tzܧ�G>'A�}z��z��D0�!"� �/�U�P�hAB;j/hD�N�����H��:�CFU` q]�P��ׯ���Ӆ��v�X�
�_�hѼ#��=�f��D�£�M���~+K��1�ߴS�kZд�
��� �%���G�Hݱ#�&F�=>P'��НFv����倘���� �69p���s<�����\�_�����,�a`{Ց�-	�����G2��jF����b�%�
+B91���$��^B�f>�X�IL�,ͻO4b{�>����o�A��H�II.��2�{Ԅ!5�ά���	��[WM�@5��D��U��&����n̟I:w��տ�1������VWa0�hB���	5��0(�����?�
�D��!��M�� �F���
W��������)&�(�=�Ƚ�G8kA���U�NA�w+���k�$���#I����u
z��)���m�
��̋��@E�����oU���ș�F>����Of󈵌Xy
���T����P��oɕ>2��f�=p�lc�S;p€d
��%
b7M�|b'��_���+�����x��j��ʎ]��7X��*�eV�Ȭ2$���U����
S�x��8?�Cv�Y&`�*�P
|� KG��
��!)��ԿY����dk%uFC_�s�����~����xW��+���1//qn�H�<;��
�cS����E���Σ~
G�i9���pVГ�e߾�X��h:���o��#!����B����e-
�Nc��=i���ڷ�	�'�	�
4�e�
I�
��~{9l�\)���o㨪*#�'����?�>
+6r�� �$VcK
�"ꝥ�jCzn���b��+-��
U�l��x�y���w�H��oizS$m|2$#]�MY9&&�/Wq�!�F�$v��&E��X�NQ�t�JåH��Dg);j���q2ȿ���PC�����V��z��L��ڸZ�5��L��٬�
Yw_��W/&�^)�:*��Rnc�v3aԁ��mV��P�
�D��fv�e���;�H��fR3��۱>������
ԉK�a
	�d�F�u�Ȩ�J�
���=��!/C��%�GJv��c
�@�e�=���=\�Sܸ�|��
�	���O��S/=^�XJO�=�� ^�b={@,2��ۘF�wj����V��X���?��(
����h��!�y}�J���8��$
!�>��$��Ղ��,�b�㌢�@�ߝ3Agd�TV8��
g<�- 6x�&��
+endstream
+endobj
+17877 0 obj <<
+/Type /Page
+/Contents 17878 0 R
+/Resources 17876 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17786 0 R 17787 0 R 17788 0 R 17789 0 R 17790 0 R 17791 0 R 17792 0 R 17793 0 R 17794 0 R 17795 0 R 17796 0 R 17797 0 R 17798 0 R 17799 0 R 17800 0 R 17801 0 R 17802 0 R 17803 0 R 17804 0 R 17805 0 R 17806 0 R 17807 0 R 17808 0 R 17809 0 R 17810 0 R 17811 0 R 17812 0 R 17813 0 R 17814 0 R 17815 0 R 17816 0 R 17817 0 R 17818 0 R 17819 0 R 17820 0 R 17821 0 R 17822 0 R 17823 0 R 17824 0 R 17825 0 R 17826 0 R 17827 0 R 17828 0 R 17829 0 R 17830 0 R 17831 0 R 17832 0 R 17833 0 R 17 [...]
+>> endobj
+17786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 695.71 223.309 706.614]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 671.217 285.097 682.121]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+17788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 658.97 258.537 669.874]
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+17789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 646.723 260.191 657.627]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+17790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 634.477 311.727 645.38]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+17791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 610.992 186.747 621.179]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+17792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 588.13 145.791 596.977]
+/A << /S /GoTo /D (page.504) >>
+>> endobj
+17793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 573.826 287.867 584.73]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+17794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 549.332 285.097 560.236]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+17795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 537.086 258.537 547.99]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+17796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 524.839 260.191 535.743]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+17797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 512.592 311.727 523.496]
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+17798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 489.108 186.747 499.294]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+17799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 466.246 145.791 475.092]
+/A << /S /GoTo /D (page.504) >>
+>> endobj
+17800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 451.942 287.867 462.845]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+17801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.493 415.493 175.43 426.397]
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+17802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.493 379.044 175.43 389.948]
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+17803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.493 342.596 175.43 353.499]
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+17804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 318.102 285.097 329.006]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+17805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 305.855 258.537 316.759]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+17806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 293.608 260.191 304.512]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+17807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 281.362 311.727 292.266]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+17808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 257.877 186.747 268.064]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+17809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 234.896 145.791 243.862]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+17810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 220.711 287.867 231.615]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+17811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 196.218 285.097 207.122]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+17812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 183.971 258.537 194.875]
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+17813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 171.724 260.191 182.628]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+17814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 159.477 311.727 170.381]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+17815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 135.993 186.747 146.179]
+/A << /S /GoTo /D (page.446) >>
+>> endobj
+17816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 113.011 145.791 121.977]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+17817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 98.827 287.867 109.731]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+17818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 74.333 263.518 85.237]
+/A << /S /GoTo /D (page.143d) >>
+>> endobj
+17819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.91 707.957 419.865 718.861]
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+17820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 696.719 433.106 706.906]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.088 684.047 479.043 694.951]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+17822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.639 672.092 502.594 682.996]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+17823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.602 660.136 512.557 671.04]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+17824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.627 648.181 476.582 659.085]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+17825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.59 636.226 486.545 647.13]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+17826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.906 624.988 383.861 635.175]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 613.033 378.88 623.22]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 601.078 378.88 611.265]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.924 589.123 378.88 599.309]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.943 577.168 373.898 587.354]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.282 564.495 478.237 575.399]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.816 552.54 500.772 563.444]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.559 540.585 465.514 551.489]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.416 529.347 386.371 539.534]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.865 516.674 415.82 527.578]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 505.437 374.446 515.623]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.788 492.764 425.743 503.668]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.042 480.809 405.997 491.713]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.155 469.571 376.11 479.758]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.145 457.272 376.1 467.803]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.242 444.943 435.198 455.847]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.883 433.362 445.838 443.892]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.977 421.75 420.932 431.937]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.59 409.795 406.546 419.982]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 397.84 401.564 408.027]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.294 385.885 424.249 396.071]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.908 373.93 409.863 384.116]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.668 361.631 412.623 372.161]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.313 350.019 419.268 360.206]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.645 338.064 474.6 348.251]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.616 326.109 370.571 336.296]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 313.81 423.153 324.34]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 302.199 398.247 312.385]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.197 290.243 418.152 300.43]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.321 278.288 414.277 288.475]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.189 266.333 428.144 276.52]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.207 253.661 418.162 264.565]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.599 242.079 401.555 252.609]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.799 230.468 470.754 240.654]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.482 218.512 467.437 228.699]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.837 206.557 460.792 216.744]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.711 194.602 459.666 204.789]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.036 182.647 436.991 192.834]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.175 169.975 477.13 180.878]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+17865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.138 158.019 487.093 168.923]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+17866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.705 146.064 378.66 156.699]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.338 134.109 383.293 145.013]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.282 134.109 398.237 145.013]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 122.154 423.153 133.058]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.424 110.916 477.38 121.103]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.871 98.961 424.827 109.147]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.706 87.006 407.661 97.192]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.451 75.05 446.406 85.237]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17879 0 obj <<
+/D [17877 0 R /XYZ 89 770.89 null]
+>> endobj
+17876 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+17971 0 obj <<
+/Length 1425      
+/Filter /FlateDecode
+>>
+stream
+x�͚aw�:���)xw��0�}�B=l
��n��C1��Ip��z?�
��:�P�v@~���Ib�-9�M;c�sy�Hܐʢ�y��pJ�C�~[p�]�T���'�-�
@��+
@E�ow4��#л��ҐW\u�?nAo�� /
ܷ⥈��\qn�}�
����kr� �P�i���
W�L4�M����P֝,�"�i���!�*��yY	�sAiCK�c�M�֭Yőjp�)��A2-���jj��&��\��'
r4c�Q�"�m�f╟�1A�s��%�u�SL�Ył�t����
��4�")g�oKJ�n5���0&};d�!
���08�Z!�=v��6X��
C�}T�$q���^t����I�
+��"/�-Z��lp��L�$
Z˄�Y�u��SB�Djux�0\:sh*�Ěن6�L�ms��s������ֵG�[9��gN���COF��\6�O �X�
��87���F�b���v�1�
�f��km���K�v{L=_Xil�27�Xn�۞�A�/_�����-�n��ߠ�4�b�h3�:�*!��	��w�"ݼ�M�
I�6�y/]7�XM=vB�&Q�˺��ՠ���m���n���Q3KmC�ln��k9˝��0�`G�qD�Xl0G��b��J���h�4���ONd�?9Y�xY�����dh2��Eg�kúe
��������3�iݚ9�U�OL�r[d:��h.]ˎƯN�
!�����r�]�X��;Rom���_E~�ȎW�Ox���?y���b�?���2�#h�y�9�W*#O�~�Y���X�%��
+G���l:R�F��?U�j���
�򗫻֝S���^*�I3E��s������i���u~�
o���4
��Y��U�>��

A<�+�l
V��˘��ꪨ}Q�k��x�7��ئ
��
��{^���I ��-\`�lpu���p�}�]'#%��
�B��$�7L�	�0Ҿ����0���\�J�!?�¡�WL&O�p�'�.^ s=�j�
�8�cQ��I�I�p��C��8�ϊ���Q�W���;��.{���l at l�\����f����lT�4�����@��Z
���fٺ�l?8�/�
�WWW48i��Y�������*�1)?��RQ���J�j��n��y�5�Z�vp� �f�.J��K�
I��H��:�����c>�}@
�s#��͛^�׆O���o�+�D��~
+N)z)s|�@yE��
0�
,�CY�oO8�
���ʽ�m�l�(/�)N��A�M��3�l�Uy�@���ʹ��z_�{5��x�����]��[�=)����#OY����|�,SL�|GF
�c�e�+�'��(N�
+	��r~wTc�#/���	j���(b���u�pWp{�R�$N���?�p�m�J�
+endstream
+endobj
+17970 0 obj <<
+/Type /Page
+/Contents 17971 0 R
+/Resources 17969 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17874 0 R 17881 0 R 17882 0 R 17883 0 R 17884 0 R 17885 0 R 17886 0 R 17887 0 R 17888 0 R 17889 0 R 17890 0 R 17891 0 R 17892 0 R 17893 0 R 17894 0 R 17895 0 R 17896 0 R 17897 0 R 17898 0 R 17899 0 R 17900 0 R 17901 0 R 17902 0 R 17903 0 R 17904 0 R 17905 0 R 17906 0 R 17907 0 R 17908 0 R 17909 0 R 17910 0 R 17911 0 R 17912 0 R 17913 0 R 17914 0 R 17915 0 R 17916 0 R 17917 0 R 17918 0 R 17919 0 R 17920 0 R 17921 0 R 17922 0 R 17923 0 R 17924 0 R 17925 0 R 17926 0 R 17927 0 R 17 [...]
+>> endobj
+17874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.411 708.674 229.367 718.861]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.292 696.719 197.247 706.906]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.937 684.764 203.892 694.951]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.604 672.809 231.559 682.996]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.414 660.854 255.369 671.04]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.041 648.899 178.996 659.085]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.658 636.226 195.613 647.13]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.675 624.271 185.631 635.175]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.374 613.033 151.33 623.22]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.395 601.078 172.35 611.265]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.464 589.123 183.419 599.309]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.812 577.168 207.767 587.354]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.203 565.212 165.158 575.399]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.819 553.257 176.774 563.444]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.022 541.302 175.977 551.489]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.464 528.63 183.419 539.534]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.589 516.674 179.544 527.578]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 505.437 182.314 515.623]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.062 493.481 200.017 503.668]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.024 480.809 209.979 491.713]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.476 469.571 209.431 479.758]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.097 456.899 164.052 467.803]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 444.943 183.429 455.847]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.009 433.706 245.964 443.892]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.71 421.75 237.665 431.937]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.453 409.795 162.408 419.982]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.044 397.84 209.999 408.027]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+17907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.006 385.885 219.961 396.071]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+17908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.723 373.93 263.678 384.116]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.521 361.975 261.476 372.161]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.203 350.019 258.158 360.206]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+17911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.165 338.064 175.12 348.251]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.819 326.109 176.774 336.296]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+17913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.823 314.154 207.778 324.34]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.782 302.199 186.737 312.385]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.848 290.243 171.803 300.43]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.365 277.945 151.32 288.475]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.585 265.989 236.54 276.52]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.844 254.034 228.799 264.565]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.365 242.423 151.32 252.609]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.365 230.468 151.32 240.654]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.585 218.512 236.54 228.699]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 206.557 174.573 216.744]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.726 194.602 201.681 204.789]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.85 182.647 197.805 192.834]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 170.692 182.313 180.878]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.246 158.737 212.201 168.923]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.524 146.781 199.479 156.968]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 134.826 150.214 145.013]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.452 122.871 157.407 133.058]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.259 110.916 150.214 121.103]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 98.961 171.245 109.147]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.738 87.006 227.693 97.192]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.321 75.05 192.276 85.237]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.145 708.674 376.1 718.861]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.846 696.719 367.801 706.906]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.908 684.764 409.863 694.951]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.485 672.465 405.44 682.996]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.907 660.854 492.862 671.04]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.705 648.899 490.66 659.085]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 636.943 450.829 647.13]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+17941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 612.316 498.241 623.22]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+17942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 588.405 511.551 599.309]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+17943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 564.495 511.551 575.399]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+17944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 540.585 511.551 551.489]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+17945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 516.674 511.551 527.578]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+17946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.56 492.764 520.477 503.668]
+/A << /S /GoTo /D (page.170d) >>
+>> endobj
+17947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 468.854 501.578 479.758]
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+17948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 456.899 528.208 467.803]
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+17949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 432.988 501.578 443.892]
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+17950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 421.033 475.018 431.937]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+17951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 409.078 528.208 419.982]
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+17952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 385.168 475.018 396.071]
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+17953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.007 385.168 494.943 396.071]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+17954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 351.359 362.272 360.206]
+/A << /S /GoTo /D (page.200) >>
+>> endobj
+17955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 325.392 530.32 336.296]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+17956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 291.464 362.272 300.43]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+17957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 265.616 530.32 276.52]
+/A << /S /GoTo /D (page.186) >>
+>> endobj
+17958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 241.706 514.39 252.609]
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+17959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 229.75 511.551 240.654]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+17960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.44 193.885 451.377 204.789]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+17961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.649 170.692 507.585 180.878]
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+17962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.826 146.064 497.763 156.968]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+17963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.273 146.064 517.21 156.968]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+17964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 136.166 362.272 145.013]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+17965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 110.199 530.32 121.103]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+17966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 86.288 439.79 97.192]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+17968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+17972 0 obj <<
+/D [17970 0 R /XYZ 89 770.89 null]
+>> endobj
+17969 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18044 0 obj <<
+/Length 1401      
+/Filter /FlateDecode
+>>
+stream
+x��Z[S�8~ϯ��&Ӎ�d]l
	)�咅tggi�cl<ul�(@�}�K 	I,�	<@|�9���;G��12�q�:�>3�pL�"j
�

;&��,0nڄ����W�r�� �Fe�O/����7Z�a�w+�
��&&�
ܺ�	�@]�j �rl�){hl`d��ȸn���@(X �:F�`��Z
Hڞ{� �f�<�{�
+O�{I<S
���
X�H�
+hW'-㦋h#��տ�R���e"�ƲL
����
O&�L��D�WK@m˲�5ua�\_-~2~��"f���/W���q!�  ߓ�]�I��ҡ��a�Um����
��=�9Քa��	d�	2�
�P�\�����:�j���a�"m��{�e�5�����z�S|�țL6L�ӧN�g^<�z#���ƒ��m�4�ֲY��?V����1|�^�{e� b���(y.O�z�T3J�[Շ�Ko��^Tn�4�����)C/�f��>���]aw �H�cš�� Qd¥��A��ą:��u�m �һ���%&i�u�
���� �ʡ$v�.u��Sη0�
݌��������^��{�M�t�Si��l"���<
+1zYX8AReri�W��rL��7�h��)
x
ƣFeI�ӡ�W''�
e�3�4��KWqx�,�"�R�YsO,����
��3�z~�W�����k��i�UHYhV����n4Y������
�X��n ����B�6�k,��rd9U
�&�P�^Ƽ�E51`�,�"\ifZ%m�l
q�l����M|��Y[�-�
K�T=P�l��V�<p/��[^�+m��J.s|P�
�~M6ј�����%%h �*���-U��&��[CXu�'�
϶��1�;���L�$r
��X���{�~�ҹ"
��h
';m6l#zjR��meզ���oB����c��1� c(2�`�~Lur!]��*��đ�J��8o��Y����5���!o�7B�Ĭx�rܿ��o̱]l�R��x.mIW��B\R�֯t�o�6�R��7D�>��!���v�7DDç�E�g2��W��c��P�:�ޥU�l�eu�e/����~����k�ԇ_�_��A��O�F���k�m+5:�l�`�n��=lnv�hH����D�&�?Y�լx�����D���vx����EEM��l?��&K��{��U�U���9�����	f���2�,�濫_�Pd2d�~a�03�8٧)�[��1��\<�n��N [...]
+endstream
+endobj
+18043 0 obj <<
+/Type /Page
+/Contents 18044 0 R
+/Resources 18042 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 17646 0 R
+/Annots [ 17967 0 R 17974 0 R 17975 0 R 17976 0 R 17977 0 R 17978 0 R 17979 0 R 17980 0 R 17981 0 R 17982 0 R 17983 0 R 17984 0 R 17985 0 R 17986 0 R 17987 0 R 17988 0 R 17989 0 R 17990 0 R 17991 0 R 17992 0 R 17993 0 R 17994 0 R 17995 0 R 17996 0 R 17997 0 R 17998 0 R 17999 0 R 18000 0 R 18001 0 R 18002 0 R 18003 0 R 18004 0 R 18005 0 R 18006 0 R 18007 0 R 18008 0 R 18009 0 R 18010 0 R 18011 0 R 18012 0 R 18013 0 R 18014 0 R 18015 0 R 18016 0 R 18017 0 R 18018 0 R 18019 0 R 18020 0 R 18 [...]
+>> endobj
+17967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 707.957 290.068 718.861]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+17974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 696.002 283.443 706.906]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+17975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 684.047 281.759 694.951]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+17976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 672.092 304.524 682.996]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+17977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 638.283 145.791 647.13]
+/A << /S /GoTo /D (page.134) >>
+>> endobj
+17978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.261 624.271 306.197 635.175]
+/A << /S /GoTo /D (page.326) >>
+>> endobj
+17979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.155 612.316 305.092 623.22]
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+17980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.355 588.405 305.291 599.309]
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+17981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 564.495 223.309 575.399]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+17982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 540.585 285.097 551.489]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+17983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 528.63 258.537 539.534]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+17984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 516.674 260.191 527.578]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+17985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 504.719 311.727 515.623]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+17986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 481.526 186.747 491.713]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+17987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 458.956 145.791 467.803]
+/A << /S /GoTo /D (page.506) >>
+>> endobj
+17988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 444.943 287.867 455.847]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+17989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 421.033 231.409 431.937]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+17990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 397.123 231.409 408.027]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+17991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 373.212 231.409 384.116]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+17992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.654 349.302 289.59 360.206]
+/A << /S /GoTo /D (page.208) >>
+>> endobj
+17993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.101 349.302 309.037 360.206]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+17994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 314.154 145.791 324.34]
+/A << /S /GoTo /D (page.215) >>
+>> endobj
+17995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 314.154 165.716 324.34]
+/A << /S /GoTo /D (page.216) >>
+>> endobj
+17996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 289.526 260.191 300.43]
+/A << /S /GoTo /D (page.319) >>
+>> endobj
+17997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 255.718 145.791 264.565]
+/A << /S /GoTo /D (page.220) >>
+>> endobj
+17998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 230.468 211.095 240.654]
+/A << /S /GoTo /D (page.224) >>
+>> endobj
+17999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 205.84 285.097 216.744]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+18000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 193.885 258.537 204.789]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+18001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 181.93 260.191 192.834]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+18002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 169.975 311.727 180.878]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+18003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 146.781 186.747 156.968]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+18004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 124.092 145.791 133.058]
+/A << /S /GoTo /D (page.493) >>
+>> endobj
+18005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 110.199 287.867 121.103]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+18006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.028 86.288 282.965 97.192]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.475 86.288 302.412 97.192]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 698.059 362.272 706.906]
+/A << /S /GoTo /D (page.247) >>
+>> endobj
+18009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.836 672.029 521.772 682.933]
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+18010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 648.056 530.32 658.96]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 624.083 501.578 634.987]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 612.097 475.018 623.001]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 600.11 476.672 611.014]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+18014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 588.124 528.208 599.028]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+18015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 564.899 403.228 575.086]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+18016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 542.178 362.272 551.144]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+18017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 528.254 504.348 539.158]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+18018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 504.281 514.39 515.185]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+18019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 492.295 511.551 503.199]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 468.322 514.39 479.226]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+18021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 456.335 511.551 467.239]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 432.362 504.348 443.266]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+18023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 408.389 504.348 419.293]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+18024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 373.932 439.79 384.836]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 349.959 506.55 360.863]
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+18026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 337.973 499.924 348.877]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 325.986 498.241 336.89]
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+18028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 314 521.005 324.904]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+18029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 290.027 439.79 300.931]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 266.054 501.578 276.958]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+18031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 254.068 475.018 264.971]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 242.081 476.672 252.985]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+18033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 230.095 528.208 240.999]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+18034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 206.87 403.228 217.057]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+18035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 184.269 362.272 193.115]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+18036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 158.238 439.79 169.142]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+18037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.897 134.266 510.834 145.169]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+18038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 110.293 530.32 121.197]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 98.306 513.045 109.21]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 74.333 489.145 85.237]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+18041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18045 0 obj <<
+/D [18043 0 R /XYZ 89 770.89 null]
+>> endobj
+18042 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18122 0 obj <<
+/Length 1448      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~���m��H	�[�:�t��Mܙ�I;d–�#��_qq��
Ǚ��
��|�9�;B@�5�]��ƽ�s��
�!�h�� �2

y�iw���
���k&�u��|���-�7����C�V���i�[��F���@�d�{
�ckߋ�"�D����ާ
XB@
�:�ew^0@��/
��3��&(�GX;�7:�U�9@�g"bt���{�	F���`bqr�6�]�3N�?f��i�Ŀf���_rs�+_Nʗc\�
:Nu{�[;2
�ư�`?�����\�,[��
!
�Ȇ���@vw"�*�P�0��ᛌ�D2�iq'1
�� |.�,�g�:*@����{6�
d at dn&C���G�뱳�
�7��
�G7c~���)9�&�M����TA�Dh�d - W�����po�r��i~����D"o�841�Le�F�D噼�;�w.�I��Pf���ܛϪiG<+�
Nt�&������ף��[���7o��W,�����٥�b:����&���]���ϧW���
t4�4LNæ�_ʍ`x�u�qU��֙����2e�?�Yؑ�{�~��{��<��
�B��
���zA����I���J�ܕc3`K�����&
)d;BZ1H���KU� �h��qw�ڦU�SI���
�Lj�d�w�R3�h8��cِ������(ϗ��GM���J�eg?��ѥ
+���A���C]\���m����"
+>f,�h:�)C��8�8^�K�[�
o�A���E��9"�nʡ���+(Sk*:3״��
Zf�ȊjQTa�����5#�^��yR[
�k�b��F!���	Y��$R�#��N�yPᚳ�t �K��X��N�˯�l-�W��������6�+0l��I;��]
�U�e�]2�Q"2���"��:��0Z�j�����Ɩ�I������R�<F��I>+�>��T�n���	˂اE�Q��j�Q�x��Vj�YHyZ�
+vû�ȭuV��<�;�}g[=�%V��/ ��/:ݍ����Z�y�6�
��Ys.1v���
�X+
Z�o��$\��
C�>b^���b�Mhn�fw�/ �UMi󸣘ߺ��A1��b������y�t6�n�2�>�t�4���K
���༗E�`�\C��T���=ul�+�=�xKW�{F�Ɋ���U
uq3<
o��Z�hP�H�hP�g	h��釃j0��v�ާ$|�E�u�z��JDe�_�ha�SZ��y��BŜQ>�&�r.h�U��e{�_ߥB�n!Cu��rw��;�����ұS-Ɍ�+G
��ʃ�)�
0���5��/]���A��/���2��@�C}pd��r�yeG	���<�3߱�W�@l��徜�,��
O�~�c_w��!u;

X��YYX�`���,����6$N}��g�#P'-��d>��e�����������22�w�$�i#���tc
+endstream
+endobj
+18121 0 obj <<
+/Type /Page
+/Contents 18122 0 R
+/Resources 18120 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18046 0 R 18047 0 R 18048 0 R 18049 0 R 18050 0 R 18051 0 R 18052 0 R 18053 0 R 18054 0 R 18055 0 R 18056 0 R 18057 0 R 18058 0 R 18059 0 R 18060 0 R 18061 0 R 18062 0 R 18063 0 R 18064 0 R 18065 0 R 18066 0 R 18067 0 R 18068 0 R 18069 0 R 18070 0 R 18071 0 R 18072 0 R 18073 0 R 18074 0 R 18075 0 R 18076 0 R 18077 0 R 18078 0 R 18079 0 R 18080 0 R 18081 0 R 18082 0 R 18083 0 R 18084 0 R 18085 0 R 18086 0 R 18087 0 R 18088 0 R 18089 0 R 18090 0 R 18091 0 R 18092 0 R 18093 0 R 18 [...]
+>> endobj
+18046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 685.952 145.791 694.918]
+/A << /S /GoTo /D (page.199) >>
+>> endobj
+18047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 660.04 281.759 670.943]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 648.052 304.524 658.956]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+18049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 624.077 285.097 634.981]
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+18050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 612.09 258.537 622.994]
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+18051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 600.102 260.191 611.006]
+/A << /S /GoTo /D (page.319) >>
+>> endobj
+18052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 588.115 311.727 599.019]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+18053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 578.316 145.791 587.063]
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+18054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 552.934 186.747 563.121]
+/A << /S /GoTo /D (page.456) >>
+>> endobj
+18055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 528.991 145.791 539.178]
+/A << /S /GoTo /D (page.500) >>
+>> endobj
+18056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 528.991 165.716 539.178]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+18057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.452 516.287 287.388 527.191]
+/A << /S /GoTo /D (page.539) >>
+>> endobj
+18058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.899 516.287 306.836 527.191]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+18059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 481.811 223.309 492.714]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 457.836 223.309 468.74]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 433.861 283.443 444.765]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 399.988 145.791 408.834]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+18063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 373.956 313.839 384.859]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.682 349.981 284.619 360.885]
+/A << /S /GoTo /D (page.131) >>
+>> endobj
+18065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.129 349.981 304.066 360.885]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 337.993 258.537 348.897]
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+18067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 337.993 278.462 348.897]
+/A << /S /GoTo /D (page.167) >>
+>> endobj
+18068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.345 326.006 281.281 336.91]
+/A << /S /GoTo /D (page.283) >>
+>> endobj
+18069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.792 326.006 300.728 336.91]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 314.018 316.708 324.922]
+/A << /S /GoTo /D (page.429d) >>
+>> endobj
+18071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 290.043 297.909 300.947]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+18072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 266.068 313.839 276.972]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 254.081 296.564 264.985]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 230.106 285.097 241.01]
+/A << /S /GoTo /D (page.129) >>
+>> endobj
+18075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 218.118 258.537 229.022]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 206.131 260.191 217.035]
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+18077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 194.143 311.727 205.047]
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+18078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 170.918 186.747 181.105]
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+18079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 148.315 145.791 157.162]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+18080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 134.271 287.867 145.175]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+18081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 110.296 285.097 121.2]
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+18082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 98.308 311.727 109.212]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+18083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 74.333 290.068 85.237]
+/A << /S /GoTo /D (page.208) >>
+>> endobj
+18084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 707.957 499.924 718.861]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 695.952 498.241 706.856]
+/A << /S /GoTo /D (page.278) >>
+>> endobj
+18086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 683.946 521.005 694.85]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 659.936 499.924 670.839]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 647.93 498.241 658.834]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 635.925 521.005 646.829]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+18090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 611.914 530.32 622.818]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 601.896 362.272 610.863]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 555.25 362.272 564.097]
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+18093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 529.182 514.39 540.086]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+18094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 505.171 439.79 516.075]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.974 469.205 391.911 480.109]
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+18096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 445.195 530.32 456.098]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 421.184 501.578 432.088]
+/A << /S /GoTo /D (page.129) >>
+>> endobj
+18098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 409.178 475.018 420.082]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 397.173 476.672 408.077]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+18100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 385.168 528.208 396.071]
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+18101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 361.924 403.228 372.111]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+18102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 339.304 362.272 348.15]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+18103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 325.241 504.348 336.145]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+18104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 301.23 447.89 312.134]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 277.219 501.578 288.123]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 265.214 475.018 276.118]
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+18107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 253.209 476.672 264.113]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+18108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 241.203 528.208 252.107]
+/A << /S /GoTo /D (page.411) >>
+>> endobj
+18109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 229.198 504.348 240.102]
+/A << /S /GoTo /D (page.528) >>
+>> endobj
+18110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 194.387 439.79 205.291]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 170.376 439.79 181.28]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 146.366 530.32 157.27]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 134.36 513.045 145.264]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 110.349 530.32 121.253]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 98.344 513.045 109.248]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.164 74.333 501.1 85.237]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+18117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [503.611 74.333 520.547 85.237]
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+18119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18123 0 obj <<
+/D [18121 0 R /XYZ 89 770.89 null]
+>> endobj
+18120 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18197 0 obj <<
+/Length 1373      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~�W�ma�8�X6�[H�6MhCf:�v4
+�Sla�f�JƄK �"Mv�/�.�>
}�
Y�
+-`�֎z��[��ȵz����6q�]`�ԉ�6~�>Z�����?>�hw���N�vWSρg���~\���@>�h�-�!/[��d]վ��2,�@^#by��z�6 �33�MG�C
Fϣ[�����Q���
�
�
L_Ok�MP��-
+�:�?MٺO�F�"
+J��p���zi
�
�e?ca����1��@u���AE��
+Ł�j��J)Wp�2��h�H��`��A37�M=ҮHe���C���;��5
�i�d��w
D�\țJ|�*�& �{�(MJ���J����6�#��B�p�F�?<�l��� J8


�,�
k ,먭� �G2_��Tj�x����i{� M
s�

�)��=Dِ���3A�������R��s�"/$Pju�-���1_�z��|��s�qڟff�vϺ�*
M�(M�E�j���6ط[��:C�
+3�O�K(C��A�Sk��q��xOLE+�XC������!
+x%!e�I&f�^DžmV�g6��<Q?�~�:�W?R
mpo=u|W��e�.�>b��LMzڏ�"h�<�ȕj��K/�x�J�Z����(�c&�䕋>s-�n�v�c=N�s5��D�Iƒ�ޫ�b��a���
�'���
C�]~�k,v�|�9V(E��Љ���.6��/<1�3e�Rxs�0���6 ��e{1�o�(K��*�!KV�?UCص
�Y.ƶ��W��� ̽�t8��z�R���.
d��n?֠���Z1��cTֳ@�
�V4�fRo�F� ��ؿ�e�����#7��
+C�j�٭9�<{�W�nڄ6�M�}��2�Ћ!���<����41�
o�hJ�D�
+�}$���fJ�&�
][EJq�H/sWDGK��x��2�5([��x+0T	]����j
�
+^�w�-����
+��Kv��W��Y�.�Y��] ^X����
}������VY9~����xΒp����3��*�~��ٜ6����\�]�n��2�N��g+3o���󓷛&w̗����
�mv��&|��VC;�z��v����%�,�7�Ǘ����.8?<�75h��D���!����@)Q��D'
+���KB�=R��zF��6f��g4\d{��X��x6���
w5`�y(�|����)

���j���EsM�^s���H��]��O����HŠ29_�aa������z��_
B���g��ݎ��; `�����fq�
�sh7�XR{�yA�
��'؟�����86!h~f�e�Ã��i8�Ih��x������
�ּ�@f�9�8ŀ�D}hb���Ґ��;��
+endstream
+endobj
+18196 0 obj <<
+/Type /Page
+/Contents 18197 0 R
+/Resources 18195 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18118 0 R 18126 0 R 18127 0 R 18128 0 R 18129 0 R 18130 0 R 18131 0 R 18132 0 R 18133 0 R 18134 0 R 18135 0 R 18136 0 R 18137 0 R 18138 0 R 18139 0 R 18140 0 R 18141 0 R 18142 0 R 18143 0 R 18144 0 R 18145 0 R 18146 0 R 18147 0 R 18148 0 R 18149 0 R 18150 0 R 18151 0 R 18152 0 R 18153 0 R 18154 0 R 18155 0 R 18156 0 R 18157 0 R 18158 0 R 18159 0 R 18160 0 R 18161 0 R 18162 0 R 18163 0 R 18164 0 R 18165 0 R 18166 0 R 18167 0 R 18168 0 R 18169 0 R 18170 0 R 18171 0 R 18172 0 R 18 [...]
+>> endobj
+18118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 707.957 258.537 718.861]
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+18126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 696.002 260.191 706.906]
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+18127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.179 696.002 280.116 706.906]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+18128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 684.047 311.727 694.951]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+18129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.029 145.791 682.996]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+18130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 648.899 186.747 659.085]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+18131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.736 648.899 206.672 659.085]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+18132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 624.988 145.791 635.175]
+/A << /S /GoTo /D (page.502) >>
+>> endobj
+18133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 624.988 165.716 635.175]
+/A << /S /GoTo /D (page.503) >>
+>> endobj
+18134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.452 612.316 287.388 623.22]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+18135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.899 612.316 306.836 623.22]
+/A << /S /GoTo /D (page.537) >>
+>> endobj
+18136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.682 588.405 284.619 599.309]
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+18137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.129 588.405 304.066 599.309]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+18138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 576.45 258.537 587.354]
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+18139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 576.45 278.462 587.354]
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+18140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 564.495 260.191 575.399]
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+18141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.179 564.495 280.116 575.399]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+18142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 552.54 311.727 563.444]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+18143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 542.642 145.791 551.489]
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+18144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 517.392 186.747 527.578]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+18145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.736 517.392 206.672 527.578]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+18146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 494.821 145.791 503.668]
+/A << /S /GoTo /D (page.503) >>
+>> endobj
+18147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.452 480.809 287.388 491.713]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+18148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.899 480.809 306.836 491.713]
+/A << /S /GoTo /D (page.537) >>
+>> endobj
+18149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 456.899 285.097 467.803]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+18150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 444.943 311.727 455.847]
+/A << /S /GoTo /D (page.415) >>
+>> endobj
+18151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 432.988 287.867 443.892]
+/A << /S /GoTo /D (page.533) >>
+>> endobj
+18152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 399.06 145.791 408.027]
+/A << /S /GoTo /D (page.479) >>
+>> endobj
+18153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 373.212 281.759 384.116]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 339.285 145.791 348.251]
+/A << /S /GoTo /D (page.289) >>
+>> endobj
+18155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 313.437 260.191 324.34]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+18156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 279.509 145.791 288.475]
+/A << /S /GoTo /D (page.496) >>
+>> endobj
+18157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 243.643 145.791 252.609]
+/A << /S /GoTo /D (page.496) >>
+>> endobj
+18158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.602 217.795 284.539 228.699]
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+18159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 193.885 295.069 204.789]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+18160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.602 169.975 284.539 180.878]
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+18161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.602 146.064 284.539 156.968]
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+18162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 122.154 258.537 133.058]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.602 110.199 284.539 121.103]
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+18164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 86.288 313.839 97.192]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 707.957 530.32 718.861]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 683.946 481.653 694.85]
+/A << /S /GoTo /D (page.303d) >>
+>> endobj
+18167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 659.936 521.005 670.839]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 625.907 362.272 634.873]
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+18169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 599.959 521.005 610.863]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 590.061 362.272 598.907]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+18171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 563.993 525.987 574.897]
+/A << /S /GoTo /D (page.333d) >>
+>> endobj
+18172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 529.182 501.578 540.086]
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+18173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 517.177 504.348 528.081]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+18174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 493.166 475.018 504.07]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.719 469.155 507.655 480.059]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 445.144 475.018 456.048]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 421.134 501.578 432.037]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 409.128 475.018 420.032]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 397.123 476.672 408.027]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+18180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 385.117 528.208 396.021]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+18181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 361.874 403.228 372.061]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+18182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 339.134 362.272 348.1]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+18183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 325.191 504.348 336.095]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+18184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 290.38 439.79 301.284]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 266.369 439.79 277.273]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 242.359 439.79 253.263]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 218.348 439.79 229.252]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 194.337 439.79 205.241]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 170.326 439.79 181.23]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 146.315 439.79 157.219]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 112.506 362.272 121.253]
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+18192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.028 98.344 528.965 109.248]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 74.333 530.32 85.237]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18198 0 obj <<
+/D [18196 0 R /XYZ 89 770.89 null]
+>> endobj
+18195 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18272 0 obj <<
+/Length 1365      
+/Filter /FlateDecode
+>>
+stream
+x��ZYW�8~ϯ��$���,K�y+;� )�s���[O�Yia~��K�b�dμ�����]t� cl 㨳;�l:�pM�X��.0
�51Q�|�{r��W���a��	0Q��
+�8Yq�`Թ�@U
+
X�Ʀ�7��s�
�*�d �}�W�(2l
���q���ρ0B�b� �Le��66�T��qQ;�A�e"bt������k������-�~� �r��M�k.~ϑ�Ÿ�~q�1��,`u�
�85��=r4�%袗���k�1|�*�S.�DtDJⱘ�����!�<Z
+��
�y�8�O�x���h!W�$�3
c.�t2Q��i�S���8��
ͫ���8v���-��E&�A��`	m�{������S)��k�&F�ܓA�l����|��H���v��3c�����2�RVʀ��������֓fg��E����m
�:�0Q�r��z��ʌO.�����(�k�������8,
���B�a�0�c�3D�'�+w\ qnH&n[rA̙��Y�DDu� -�z6��̆��f����;`�x�Ƽ�u�|�-�̫
0e:��RAJ� ���Y��	��a&G�w���D+��J���6��2����X�V|m���k�h}��"z���J�2i��'q*S���l�¼�
�n�>l�CTk&e��He�E��*���(g��l k���ԑ�^�Vx��s�Ş���?7;��f��bOQ�
a,׭�E��W+�	B&��gL<n^_-"}{%'}gA��?A��x����pԪ-�(�8���8���$��n��o"���{t�� [�׼�j��f���!�ӓa�u��Q]��㹡Ak���4Yr�`=�H6�I�����Vp���DT�T�L&��*���$�~3��D�,���Qzw�;;�Pu�A
s������oY���������
|��q�*�cOok8G�ft��lsH�y'g
-S7]sZ��隥�}�l
��3$ˮf���aB�D#[�f�-�b�z���i���P�v�n��eɣ��uL��Z)�A"��N���)���{�G5a�v��d��!T�A���Ef���&��@�+)w�.2y��f&.�ADj�����W���@�����ͽ{�X���TswKZ���� �3)�ǀZ	b�uo�!�Ri�>���/��K0~츛"ܙ{�2���X�c!ݗ$�
���b�/Hl�Ī}}t[������r�[�nZ�>equ��o ���K�RB�rh����d���r���٫�

+Ķ�R���̭�������8�����G"f�pM��7jے��Q
+Ī0��gVor*
1�&!Vń"�L 
��[<��+��e��I���D��X�_���
+endstream
+endobj
+18271 0 obj <<
+/Type /Page
+/Contents 18272 0 R
+/Resources 18270 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18201 0 R 18202 0 R 18203 0 R 18204 0 R 18205 0 R 18206 0 R 18207 0 R 18208 0 R 18209 0 R 18210 0 R 18211 0 R 18212 0 R 18213 0 R 18214 0 R 18215 0 R 18216 0 R 18217 0 R 18218 0 R 18219 0 R 18220 0 R 18221 0 R 18222 0 R 18223 0 R 18224 0 R 18225 0 R 18226 0 R 18227 0 R 18228 0 R 18229 0 R 18230 0 R 18231 0 R 18232 0 R 18233 0 R 18234 0 R 18235 0 R 18236 0 R 18237 0 R 18238 0 R 18239 0 R 18240 0 R 18241 0 R 18242 0 R 18243 0 R 18244 0 R 18245 0 R 18246 0 R 18247 0 R 18248 0 R 18 [...]
+>> endobj
+18201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 696.002 313.839 706.906]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 685.984 145.791 694.951]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 650.239 145.791 659.085]
+/A << /S /GoTo /D (page.216) >>
+>> endobj
+18204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 626.209 145.791 635.175]
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+18205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 600.361 285.097 611.265]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+18206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 588.405 311.727 599.309]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+18207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 564.495 285.097 575.399]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+18208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 552.54 258.537 563.444]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 540.585 260.191 551.489]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+18210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 528.63 311.727 539.534]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+18211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 505.437 186.747 515.623]
+/A << /S /GoTo /D (page.451) >>
+>> endobj
+18212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 482.866 145.791 491.713]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+18213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 468.854 287.867 479.758]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+18214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 434.926 145.791 443.892]
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+18215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.416 421.033 294.352 431.937]
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+18216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 397.123 223.309 408.027]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+18217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 373.212 260.191 384.116]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+18218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 349.302 285.097 360.206]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 337.347 258.537 348.251]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 325.392 260.191 336.296]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+18221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 313.437 311.727 324.34]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+18222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 290.243 186.747 300.43]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+18223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 267.554 145.791 276.52]
+/A << /S /GoTo /D (page.493) >>
+>> endobj
+18224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 253.661 287.867 264.565]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+18225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 229.75 283.443 240.654]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 217.795 281.759 228.699]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 205.84 304.524 216.744]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+18228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 183.987 145.791 192.834]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+18229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 158.019 290.068 168.923]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 134.109 283.443 145.013]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 122.154 281.759 133.058]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 110.199 304.524 121.103]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+18233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 86.288 290.068 97.192]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 74.333 283.443 85.237]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 695.973 530.32 706.877]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 672.005 530.32 682.908]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 648.036 530.32 658.94]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 624.068 530.32 634.972]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 600.099 506.55 611.003]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 576.131 514.39 587.035]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+18241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 564.147 511.551 575.051]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+18242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 540.179 506.55 551.082]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 528.194 499.924 539.098]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 504.226 476.672 515.13]
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+18245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.028 480.258 528.965 491.162]
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+18246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 468.273 494.684 479.177]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+18247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 433.859 439.79 444.763]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 409.89 439.79 420.794]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 385.922 498.241 396.826]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 373.938 521.005 384.842]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.164 349.969 501.1 360.873]
+/A << /S /GoTo /D (page.132) >>
+>> endobj
+18252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [503.611 349.969 520.547 360.873]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 337.985 479.999 348.889]
+/A << /S /GoTo /D (page.166d) >>
+>> endobj
+18254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 326.001 503.222 336.905]
+/A << /S /GoTo /D (page.284d) >>
+>> endobj
+18255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 314.017 533.19 324.921]
+/A << /S /GoTo /D (page.429d) >>
+>> endobj
+18256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 290.049 530.32 300.952]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 278.064 513.045 288.968]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 254.096 491.606 265]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+18259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 230.128 530.32 241.032]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 206.159 530.32 217.063]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 182.191 501.578 193.095]
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+18262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 170.207 528.208 181.111]
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+18263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 146.238 504.348 157.142]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+18264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 122.27 501.578 133.174]
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+18265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 110.286 475.018 121.19]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+18266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 98.302 528.208 109.206]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+18267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 74.333 501.578 85.237]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+18269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18273 0 obj <<
+/D [18271 0 R /XYZ 89 770.89 null]
+>> endobj
+18270 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18344 0 obj <<
+/Length 1343      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~����lMtA�m����q�n��N�
F��Yn
8���
+0�!1߶}2��;G����\�E�d�9:7��tF��w�i0�P�o��v�i���?k��({e�W�g_���q�G'�4��&�iiS�s�
h3y��t�,�1k�i����n:�w�*
+V�@ ��Lu�QG=H�<�=
+��{1��}�L"
=���
X�(�/�}��h�}D@�p� [��|��
�1#�u<'3{��h!���E:�S�0py����ؙ�Y�J6�ދș5 ��@�����@�2���Eē ��}��/6�P�V��.2Y�m����{d�i��
6�H�s�t���s��s
�gOa$�L2��5�K���a�%��)� �6����&��H�>��4�&�� ��
�R�(Ry�3��O[E��w��)Py��N��V��gB(�:|�
+��
�P�s��j�o8~��۲Q��Mȣ�I6��
Z,���H�QD�O+f��y�����~�q��
��p�G���m��4�ؔ��
@���&4-��0�ݩs�2�ND�Bi	�
c
+��IG�
Bk[�e�oL6jn
d�p't�i�:�}����0���u�\X֡���3�B���k�2�V�H=������Ȟ
�s�p
P�t�X�j���`8���xp}��z��ܟ/�\��~"��
]>
a3���
��D�b�S�
w8�z\��݃+��dz���\��J���
�0�FB
O�jg���U�NF�M�v��
J#�|��IeX�b�7L��ZaG96˪�ȶ�h�^��'� ��
E�To3��h�
��<W‚-\�eE�<�M“E��\�*��C;�1{�x�O�-?��>9�o�y؄
+"ks��OM�[�6�����_O>|�6GJrҨ&d�������E�S1[�)-e��i��������;�
+V�
+VJ�'�+mfۨ�j�@���1����
%Nu֚�8�`��V�o@�5%�����	k0����kd�����َe���s(�Z��
+ �_�9�,��Ws��몂(h;��T5����Cim�9;���k΁D��i�VG����
�F�����V�{1��j���W
o"����b[,�#;����\4n;V
�6���!�w�$�P���G����S�&ª�
V:�NXv<�G� �&�
�^g�>�Gk��4�j�/��_
g(,�Qjdg(,���e������x�F�����~�ҍ��C�/��_�
xH�@&k��)Wx
��P����ߍ(B�������p	Y�C
�T
"�O����h���Ÿ���+ż�
c:0���]�`d_:���W�앵^��=��
+endstream
+endobj
+18343 0 obj <<
+/Type /Page
+/Contents 18344 0 R
+/Resources 18342 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18268 0 R 18276 0 R 18277 0 R 18278 0 R 18279 0 R 18280 0 R 18281 0 R 18282 0 R 18283 0 R 18284 0 R 18285 0 R 18286 0 R 18287 0 R 18288 0 R 18289 0 R 18290 0 R 18291 0 R 18292 0 R 18293 0 R 18294 0 R 18295 0 R 18296 0 R 18297 0 R 18298 0 R 18299 0 R 18300 0 R 18301 0 R 18302 0 R 18303 0 R 18304 0 R 18305 0 R 18306 0 R 18307 0 R 18308 0 R 18309 0 R 18310 0 R 18311 0 R 18312 0 R 18313 0 R 18314 0 R 18315 0 R 18316 0 R 18317 0 R 18318 0 R 18319 0 R 18320 0 R 18321 0 R 18322 0 R 18 [...]
+>> endobj
+18268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 707.957 287.867 718.861]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+18276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 683.97 260.191 694.874]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+18277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 659.982 260.191 670.886]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+18278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 635.995 260.191 646.899]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+18279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.345 612.007 281.281 622.911]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.792 612.007 300.728 622.911]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 602.109 145.791 610.956]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.167 150.772 575.013]
+/A << /S /GoTo /D (page.358d) >>
+>> endobj
+18283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.416 540.122 294.352 551.026]
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+18284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 504.897 145.791 515.083]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+18285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 504.897 165.716 515.083]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+18286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 470.294 145.791 479.141]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+18287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.131 432.294 221.068 443.198]
+/A << /S /GoTo /D (page.566) >>
+>> endobj
+18288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 398.289 145.791 407.255]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+18289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 360.409 200.027 371.313]
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+18290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 338.517 145.791 347.364]
+/A << /S /GoTo /D (page.201) >>
+>> endobj
+18291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 312.511 226.049 323.415]
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+18292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 288.562 226.049 299.466]
+/A << /S /GoTo /D (page.255) >>
+>> endobj
+18293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 264.613 226.049 275.517]
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+18294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 242.722 145.791 251.568]
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+18295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 216.715 226.049 227.619]
+/A << /S /GoTo /D (page.389) >>
+>> endobj
+18296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 192.766 226.049 203.67]
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+18297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 168.818 200.027 179.722]
+/A << /S /GoTo /D (page.558) >>
+>> endobj
+18298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.131 144.869 221.068 155.773]
+/A << /S /GoTo /D (page.566) >>
+>> endobj
+18299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 110.983 145.791 119.83]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+18300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 74.333 223.309 85.237]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 696.002 439.79 706.906]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 662.293 362.272 671.04]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.028 648.181 528.965 659.085]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.64 624.988 427.576 635.175]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+18305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 612.316 504.348 623.22]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+18306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 588.405 514.39 599.309]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.508 362.272 587.354]
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+18308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 552.54 439.79 563.444]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 528.63 501.578 539.534]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+18310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 516.674 475.018 527.578]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+18311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 504.719 476.672 515.623]
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+18312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 492.764 528.208 503.668]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+18313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 469.571 403.228 479.758]
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+18314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 447.001 362.272 455.847]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+18315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 432.988 504.348 443.892]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+18316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 409.078 501.578 419.982]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+18317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 397.123 475.018 408.027]
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+18318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 385.168 476.672 396.071]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+18319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.661 385.168 496.597 396.071]
+/A << /S /GoTo /D (page.308) >>
+>> endobj
+18320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 373.212 528.208 384.116]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+18321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 363.315 362.272 372.161]
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+18322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 338.064 403.228 348.251]
+/A << /S /GoTo /D (page.446) >>
+>> endobj
+18323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 314.154 362.272 324.34]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+18324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 314.154 382.197 324.34]
+/A << /S /GoTo /D (page.495) >>
+>> endobj
+18325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 301.481 504.348 312.385]
+/A << /S /GoTo /D (page.527) >>
+>> endobj
+18326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 277.571 439.79 288.475]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+18327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 253.661 501.578 264.565]
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+18328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 241.706 475.018 252.609]
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+18329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 229.75 476.672 240.654]
+/A << /S /GoTo /D (page.308) >>
+>> endobj
+18330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.661 229.75 496.597 240.654]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+18331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 217.795 528.208 228.699]
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+18332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 207.997 362.272 216.744]
+/A << /S /GoTo /D (page.411) >>
+>> endobj
+18333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 182.647 403.228 192.834]
+/A << /S /GoTo /D (page.447) >>
+>> endobj
+18334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 159.957 362.272 168.923]
+/A << /S /GoTo /D (page.495) >>
+>> endobj
+18335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.933 146.064 503.87 156.968]
+/A << /S /GoTo /D (page.527) >>
+>> endobj
+18336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [506.38 146.064 523.317 156.968]
+/A << /S /GoTo /D (page.528) >>
+>> endobj
+18337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 122.154 530.32 133.058]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 110.199 513.045 121.103]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 86.288 489.145 97.192]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+18341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18345 0 obj <<
+/D [18343 0 R /XYZ 89 770.89 null]
+>> endobj
+18342 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18429 0 obj <<
+/Length 1425      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~�W�[aR�K��{H +'m�̎
k�I�I�_���b�73}B�՞�|��,
�@p�8
5�tL�䘃�-0!Щ�1��&��
�v�l}
�d\}�`�>ntF��RO!@��L�
0vן!���oԈi�o� PL��

�p�+@Tט
!
�X��B�i��-,o�x''�-z���O<w��@���{_.3��5BC�	���@��
���&c���4��1$�&�f0�kLF
.��e�d$������^w�WD��� ���.ߞ��V��m�`sؚ�'`#�M2��͛V4a�v�K{*㻮H���`�
�
(:݅$�z08y��s���I��
�PA�$&�����P�T��7�%q����+9��s#�
l���*X@�y��y"ܻE�~b�E����̕�_6vg뢯�`	׷D�*;����g���!6�����k�`y+U��""�]/�ai�_�mM�%�V��5���wNE�k	�����o5U
���ȄϨ��	Շ��Y������ᰫ@�5S�
�	ӕZ��Ԃv��@�xyd
�;8��ޕ�<��l����|k��°���q`O=מ��}/�%��I22
�l�� ��~-%W�r�
�\
,��Y��2��b
�A�Ja߆�~���v��ܩ�]��@-�?�k�1j)�^�,��y�ҷ��
��r�� DC&K����k�B
믺���|%ST�����y| 7���{|�+���E���±�=�QQ��
+�}	'��
/���%g����Qf�����"�N!51�kP3ggN�)��q�ph
�B�s)�6��[��Q;�J�۝�k�Ff/�yŜK7�JY)�(�
V�B�'N��6M���1����_��Z,�lhJ��Q�()��({�a���-�|��|g�@��&��`�Z��v�
߻�K'�+
�����{lT�T���e0���Gq5@��z��2Wȡ��pQf�I�+�6+��Ca:/��B1�aM_J1�&�F6hy�A���2V�l���v*��v��6��rx����-���h
+c�@%� H�$�DŽVq�"�
���-��z;�U8e	�u	Z�a�Z��V����I���_�tj�~�B����Q@�z6�z_�M \�&@Y��ص���z����(,�U&Y|?d�Je	2鶿���,DY�!J^!D1�J��.H
�W�������}
����EUԍ¡U��T3
�]���}X��o���w��ǚ�I�O�I'CY�����5��GbGwɿ,�Ջ/�����Xs��m7<	]�
~
�P%��a�P%Z�
i-�l�L�A�ջ��[���ék�������r���T{�!�z�ԟ���r�����B3�6<�V�Zzv,�A�q�S&�
��
]�ш���e�a���p�)����
�'�*
+endstream
+endobj
+18428 0 obj <<
+/Type /Page
+/Contents 18429 0 R
+/Resources 18427 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18340 0 R 18347 0 R 18348 0 R 18349 0 R 18350 0 R 18351 0 R 18352 0 R 18353 0 R 18354 0 R 18355 0 R 18356 0 R 18357 0 R 18358 0 R 18359 0 R 18360 0 R 18361 0 R 18362 0 R 18363 0 R 18364 0 R 18365 0 R 18366 0 R 18367 0 R 18368 0 R 18369 0 R 18370 0 R 18371 0 R 18372 0 R 18373 0 R 18374 0 R 18375 0 R 18376 0 R 18377 0 R 18378 0 R 18379 0 R 18380 0 R 18381 0 R 18382 0 R 18383 0 R 18384 0 R 18385 0 R 18386 0 R 18387 0 R 18388 0 R 18389 0 R 18390 0 R 18391 0 R 18392 0 R 18393 0 R 18 [...]
+>> endobj
+18340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 697.94 145.791 706.906]
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+18347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 661.191 283.443 672.095]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 637.181 223.309 648.084]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.464 613.17 318.382 624.074]
+/A << /S /GoTo /D (page.392d) >>
+>> endobj
+18350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 589.159 313.839 600.063]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 577.153 296.564 588.057]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+18352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 553.91 145.791 564.097]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+18353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 553.91 165.716 564.097]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+18354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 529.182 290.068 540.086]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 507.279 145.791 516.126]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+18356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 481.211 313.839 492.115]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 446.4 223.309 457.304]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 422.389 223.309 433.293]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 398.379 223.309 409.282]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+18360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 374.368 223.309 385.272]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+18361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 350.357 223.309 361.261]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+18362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 326.346 260.191 337.25]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+18363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 314.341 287.867 325.245]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+18364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 290.33 316.708 301.234]
+/A << /S /GoTo /D (page.405d) >>
+>> endobj
+18365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 266.319 278.203 277.223]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+18366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 242.308 223.309 253.212]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+18367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 218.298 223.309 229.201]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+18368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 194.287 313.839 205.191]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.028 182.281 282.965 193.185]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.475 182.281 302.412 193.185]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.682 158.271 284.619 169.174]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.129 158.271 304.066 169.174]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 146.265 258.537 157.169]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 146.265 278.462 157.169]
+/A << /S /GoTo /D (page.168) >>
+>> endobj
+18375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 134.26 313.839 145.164]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 124.242 145.791 133.208]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 110.299 290.068 121.203]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 88.396 145.791 97.243]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 74.333 283.443 85.237]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+18380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 698.059 362.272 706.906]
+/A << /S /GoTo /D (page.248) >>
+>> endobj
+18381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.719 684.047 507.655 694.951]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.826 672.092 497.763 682.996]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.273 672.092 517.21 682.996]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 650.119 362.272 659.085]
+/A << /S /GoTo /D (page.290) >>
+>> endobj
+18385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 636.226 476.672 647.13]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+18386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 624.271 521.005 635.175]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+18387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 614.373 362.272 623.22]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+18388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 590.463 362.272 599.309]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+18389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 565.212 362.272 575.399]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+18390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 565.212 382.197 575.399]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+18391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 552.54 511.506 563.444]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+18392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 542.642 362.272 551.489]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+18393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 528.63 514.39 539.534]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+18394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 516.674 528.208 527.578]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+18395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 506.777 362.272 515.623]
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+18396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 481.526 403.228 491.713]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+18397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.217 481.526 423.154 491.713]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+18398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 468.854 511.551 479.758]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+18399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.836 456.899 521.772 467.803]
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+18400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.537 433.706 407.492 443.892]
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+18401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 411.135 362.272 419.982]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+18402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 387.225 362.272 396.071]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+18403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 373.212 504.348 384.116]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+18404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 361.257 494.684 372.161]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+18405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 349.302 491.606 360.206]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+18406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.258 337.347 513.194 348.251]
+/A << /S /GoTo /D (page.568) >>
+>> endobj
+18407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 313.437 530.32 324.34]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.51 301.481 499.446 312.385]
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+18409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.957 301.481 518.893 312.385]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 277.571 530.32 288.475]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 265.616 504.906 276.52]
+/A << /S /GoTo /D (page.242d) >>
+>> endobj
+18412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 241.706 530.32 252.609]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 231.688 362.272 240.654]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+18414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 205.84 530.32 216.744]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.51 193.885 499.446 204.789]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+18416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.957 193.885 518.893 204.789]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 158.737 362.272 168.923]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+18418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 158.737 382.197 168.923]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+18419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 146.064 511.506 156.968]
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+18420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 134.826 362.272 145.013]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+18421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 134.826 382.197 145.013]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+18422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 98.961 362.272 109.147]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+18423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 98.961 382.197 109.147]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+18424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 86.288 511.506 97.192]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+18425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 76.39 362.272 85.237]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+18426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18430 0 obj <<
+/D [18428 0 R /XYZ 89 770.89 null]
+>> endobj
+18427 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18512 0 obj <<
+/Length 1166      
+/Filter /FlateDecode
+>>
+stream
+x��mo�8
���)xs;��8~�"�ŭ�l]���tR7!�4Z�������@�&$�I{��U㇟��&��D����v���YDw��0�G��u�t e◯_Ԇ�o��:q p ����������t����v��|4������}��^��8��3��&&�s�_i�5�	�`!�P�`4籗D�
�0ջ���ǰ���Ł����
�c�=���^|��������݋ep��?3�
;���/�4���!6�m�:�b�'Gd4L� �P�� �l��>�J����Ӑ{�{�k
��b�R ���[�P���#XK�|����dA�h�X��V�U�j�8��hے
lm������'w�!Ԉ9���Q�H�i�O)E�1*�%�R	��>��e���veX�^m��Ɔ1U���;�3i��}��0X�iP��;��N7�V�X�v�-���`�xf���S�8���H����F��s,�O��s/�,�	�
$�Z
v�	���%̖M�:@¤-'Li��M�q��|�%�Z�H9f g\`] #"Q2d>�}-^ˆײ���/U:��]	0�J���P��x��jE��t��zG�ƁN��B��ϸ���)�a��l�
�H�L.��b
+���R�L�h;pl�8Lrm�������/�.&�sז�XAu
u��Ľ��漪�/F�r��F��R�E���*������67�����{((�y�j��{u�Hx 'Wd)�5�j���j�&��[�	*
���T�SEi�T�2��%����,��U��j�u�N����	U5�m�&�OLX����=#\�g��	���&m|/]�J

�a
��x��]��k�2֧q�M�Л�*�Ll+��TW��a2�f�{����1�KD)d.�T�E���	���"��%0�B���
1��
��Z�(�
+��Di�W�� �_�� �6 Ҧ��saS�5/��QS�'����(-y	�sJ���1Y��8oviX{�"1�7&e좿��\�M�0�0�{�dc�i�d�P~h@dY8{��={�
�j�
��Db���b����*6p3ӻ*�F�;\��68�[�z8<Ͽ|Y�����"���
��,��R�Oj9�V�;�@ю@G$Ph\q�U����Cz��n�PP�חu�d���n��'`
[2/l�q �����(�a�(^mh�� 
���
SX
+endstream
+endobj
+18511 0 obj <<
+/Type /Page
+/Contents 18512 0 R
+/Resources 18510 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18124 0 R
+/Annots [ 18434 0 R 18435 0 R 18436 0 R 18437 0 R 18438 0 R 18439 0 R 18440 0 R 18441 0 R 18442 0 R 18443 0 R 18444 0 R 18445 0 R 18446 0 R 18447 0 R 18448 0 R 18449 0 R 18450 0 R 18451 0 R 18452 0 R 18453 0 R 18454 0 R 18455 0 R 18456 0 R 18457 0 R 18458 0 R 18459 0 R 18460 0 R 18461 0 R 18462 0 R 18463 0 R 18464 0 R 18465 0 R 18466 0 R 18467 0 R 18468 0 R 18469 0 R 18470 0 R 18471 0 R 18472 0 R 18473 0 R 18474 0 R 18475 0 R 18476 0 R 18477 0 R 18478 0 R 18479 0 R 18480 0 R 18481 0 R 18 [...]
+>> endobj
+18434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 695.64 313.839 706.544]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 685.622 145.791 694.588]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 660.129 145.791 670.316]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+18437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 660.129 165.716 670.316]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+18438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.705 660.129 185.641 670.316]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+18439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 647.094 295.024 657.998]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+18440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 637.197 145.791 646.043]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+18441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 600.706 145.791 609.453]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.547 586.232 312.484 597.136]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 562.676 211.095 572.863]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+18444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.959 537.687 234.895 548.59]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+18445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.167 514.131 291.104 524.318]
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+18446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 477.541 145.791 487.728]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+18447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 477.541 165.716 487.728]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+18448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.938 464.506 298.855 475.41]
+/A << /S /GoTo /D (page.375d) >>
+>> endobj
+18449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 439.872 223.309 450.775]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+18450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 427.554 313.839 438.458]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 417.537 145.791 426.503]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 392.044 145.791 402.23]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+18453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 392.044 165.716 402.23]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+18454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.705 392.044 185.641 402.23]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+18455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 379.009 295.024 389.913]
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+18456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 369.111 145.791 377.958]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+18457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 344.838 145.791 353.685]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+18458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 320.566 145.791 329.412]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+18459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 284.075 145.791 292.822]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.547 269.601 312.484 280.505]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 246.046 211.095 256.232]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+18462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.959 221.056 234.895 231.96]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+18463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.167 197.5 291.104 207.687]
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+18464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 162.25 150.772 171.097]
+/A << /S /GoTo /D (page.364d) >>
+>> endobj
+18465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.938 147.876 298.855 158.78]
+/A << /S /GoTo /D (page.376d) >>
+>> endobj
+18466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 123.241 290.068 134.145]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 98.606 290.068 109.51]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 75.05 145.791 85.237]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+18469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 75.05 165.716 85.237]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+18470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 707.957 511.506 718.861]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+18471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 698.059 362.272 706.906]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+18472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 661.61 362.272 670.357]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.028 647.157 528.965 658.06]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.64 623.622 427.576 633.809]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+18475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.164 598.311 501.1 609.215]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [503.611 598.311 520.547 609.215]
+/A << /S /GoTo /D (page.132) >>
+>> endobj
+18477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 586.014 475.018 596.918]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 573.718 530.32 584.622]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 551.623 362.272 560.37]
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+18480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.028 537.169 528.965 548.073]
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+18481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 524.872 506.55 535.776]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 502.678 362.272 511.524]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 488.324 504.906 499.228]
+/A << /S /GoTo /D (page.242d) >>
+>> endobj
+18484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.719 476.027 507.655 486.931]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.826 463.73 497.763 474.634]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+18486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.273 463.73 517.21 474.634]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 451.433 476.672 462.337]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+18488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 439.137 521.005 450.041]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+18489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 429.239 362.272 438.085]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+18490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 404.987 362.272 413.833]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+18491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.64 379.395 427.576 389.582]
+/A << /S /GoTo /D (page.226) >>
+>> endobj
+18492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.44 354.426 451.377 365.33]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+18493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.649 330.891 507.585 341.078]
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+18494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.569 317.877 511.506 328.781]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+18495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 307.979 362.272 316.826]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+18496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.07 282.387 401.006 292.574]
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+18497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 269.373 528.208 280.277]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+18498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 259.475 362.272 268.322]
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+18499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 233.883 403.228 244.07]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+18500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.537 209.631 407.492 219.818]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+18501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 186.72 362.272 195.566]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+18502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 162.468 362.272 171.314]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+18503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 148.114 504.348 159.018]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+18504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 135.817 494.684 146.721]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+18505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 111.223 506.55 122.127]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 86.63 439.79 97.534]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.779 86.63 454.734 97.534]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+18509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18513 0 obj <<
+/D [18511 0 R /XYZ 89 770.89 null]
+>> endobj
+18510 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18588 0 obj <<
+/Length 1326      
+/Filter /FlateDecode
+>>
+stream
+x�͚Ys�:���~�0�8�"/ys�a��1&7���q@!���i�~�+/0�`�������t��# 5� �k|vW]��dZX�r�)P"/�P ���cS3n���w�
��P �/����
�i�l0�PL�ҢD�f�����/�9Y�^�J3�g9�J
�
�	"�
�gR"��
���j1��3Y���

.ҽ��
�\_�E��ϑ��n����,�d�v�A1�e�j�2�Yw&���o7jIbY�
�
�� 8�� �
�/"o�NѯK@�K�

�JU
��Y�
+��)�
�|l��mr��O�����������a�ΧO�6
ASw瓥;��'m
��ŀ�;�ǐH]�/A�D�|��7�.��F��e,W=0�
Q�K�-�Ų�H�<�

#c9{�A�V����f%Wa�R�3�����],�7���7�n���`VS��舃��C����� ��ص_�zlݩO��L/+��H��pV]�XA:u1�S��q
�t�R��
P�ei^�ާ�J_uT��4����3�
�_4E9�-1t�vg:�6�C�V
��pyo�q	��PW��;�
T
��{�1�a�� ��f�T��
# �(o��w�˦�`�}M��H�-]�ל�w��-[�hF��7S
�L[U�ԁ�ԛ���{��\
��
��M�:���4�~����.?<�]~*�>����
}6x� r�exQGJj<�B^d
;!*�e��zR�,
ݩ�@3���Vjj�Y�&�Ŵ�ڼ�e9��H	
G
,aƜ�[��an�g��'�⟅��^���ə�%�d~�� �O�q
�8*
+�!WB�7� ��#\��D����ۜXo� ���6pg���.�p�0�hi�������SWA����.a�a��z�*�W�9}׉
w8@���
�'�{C�
s�b�nô��~�K?_�l����V���ۓAz��&��M�S�g��<$FU�ve����0
+ܭld��z;T��y�r�QI
� gk�㐉&�'۫����qp����`h�(9��<p�Pt�p
+�8��<T�PC٭����%$�ٵ󒬒v��)!�DGa����y�!�&�R {��K&Z>��
�Ե
�߫�k׊��ƣ3t���i6�j
7�]?�ɛtd��M��'��fg�n�B��,r{����1V|����[`i����r�n�%Z>�f�E��Ն�
��Y:}�8��a3L?���ҝ��� مQ|��24 �
�js� =�8�G
+��Z=}�o��
+yBvu��E�뫫��$��	=�g[���!�@�Vm��^���� �7�/ڒ�az�{���0� �+%��?��(�I�����Uì�J�qԍO^���s��
+endstream
+endobj
+18587 0 obj <<
+/Type /Page
+/Contents 18588 0 R
+/Resources 18586 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 18508 0 R 18517 0 R 18518 0 R 18519 0 R 18520 0 R 18521 0 R 18522 0 R 18523 0 R 18524 0 R 18525 0 R 18526 0 R 18527 0 R 18528 0 R 18529 0 R 18530 0 R 18531 0 R 18532 0 R 18533 0 R 18534 0 R 18535 0 R 18536 0 R 18537 0 R 18538 0 R 18539 0 R 18540 0 R 18541 0 R 18542 0 R 18543 0 R 18544 0 R 18545 0 R 18546 0 R 18547 0 R 18548 0 R 18549 0 R 18550 0 R 18551 0 R 18552 0 R 18553 0 R 18554 0 R 18555 0 R 18556 0 R 18557 0 R 18558 0 R 18559 0 R 18560 0 R 18561 0 R 18562 0 R 18563 0 R 18 [...]
+>> endobj
+18508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+18517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.117 145.791 682.964]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+18518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 648.086 297.909 658.99]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+18519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 624.112 223.309 635.016]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 600.138 297.909 611.042]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+18521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 576.164 295.069 587.068]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+18522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 552.19 313.839 563.094]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 542.173 145.791 551.139]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 516.261 287.867 527.165]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+18525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 482.389 145.791 491.236]
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+18526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.416 468.345 294.352 479.249]
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+18527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 433.879 304.524 444.782]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 409.905 295.069 420.809]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 385.931 295.069 396.835]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.133 361.957 295.069 372.861]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.823 337.983 281.759 348.887]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 325.996 304.524 336.9]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 302.022 223.309 312.926]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+18534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 278.048 297.909 288.952]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+18535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 254.074 297.909 264.978]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 230.1 297.909 241.004]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 206.126 297.909 217.03]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 182.152 295.024 193.056]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 172.254 145.791 181.101]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+18540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 146.223 223.309 157.127]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+18541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 112.351 145.791 121.198]
+/A << /S /GoTo /D (page.478) >>
+>> endobj
+18542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 86.32 223.309 97.224]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+18543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 707.957 439.79 718.861]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+18544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 684.047 439.79 694.951]
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+18545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 660.136 494.684 671.04]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+18546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 626.328 362.272 635.175]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+18547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 600.361 521.005 611.265]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 589.123 362.272 599.309]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+18549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 589.123 382.197 599.309]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+18550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 554.597 362.272 563.444]
+/A << /S /GoTo /D (page.478) >>
+>> endobj
+18551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.449 529.347 441.405 539.534]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 517.392 382.745 527.578]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.379 505.437 404.334 515.623]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.709 493.481 433.664 503.668]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.974 481.526 394.929 491.713]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 469.227 374.446 479.758]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 457.616 374.446 467.803]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 445.661 374.446 455.847]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.385 433.706 373.34 443.892]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.578 421.75 380.533 431.937]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.385 409.795 373.34 419.982]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 397.84 374.446 408.027]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.743 373.586 397.679 384.116]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.134 361.631 469.071 372.161]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.555 349.676 447.492 360.206]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.092 326.109 427.029 336.296]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.076 314.154 370.013 324.34]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.721 302.199 376.658 312.385]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.423 290.243 368.359 300.43]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.076 266.333 370.013 276.52]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.725 254.378 407.661 264.565]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.721 242.423 376.658 252.609]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+18573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.242 218.512 387.178 228.699]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+18574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.005 206.557 508.941 216.744]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.899 194.602 507.835 204.789]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.902 182.647 445.838 192.834]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+18577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.113 158.737 448.05 168.923]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.462 146.781 472.399 156.968]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.715 134.826 495.651 145.013]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.223 122.871 480.159 133.058]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.951 110.916 461.888 121.103]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.061 98.961 493.997 109.147]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.51 75.05 374.446 85.237]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+18585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18589 0 obj <<
+/D [18587 0 R /XYZ 89 770.89 null]
+>> endobj
+18586 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18706 0 obj <<
+/Length 1634      
+/Filter /FlateDecode
+>>
+stream
+xڽZio�6��_�o��Z!%QG�-�d���f�b�E��յ��I��;:�Ď#�r$vd��qf8Ǔ��Ґ�btv9:y�{�ak�K�C�cy:��?_�2&�1�v�Z3=�{÷�ï�?}�O�������(?�4\~�莫-�їoH���k
��jW�I�f&�����#t�����`�c\^p6�d�d��,n�ܗ��s�������\UL.^��/S���kU��W�0\� ��=BJ�9�".@��
�v1��h!y���D�4qD�>�T�Fk�7"�;�ڏ�~�Ku�l�b�?��x�k�����e��H���-��&�E��z��M���i�%WH<`ذX�3*�,�X��y!��f��sԭ��2��
["N혚�xz�W���Z�l
p�ΒK
-���5=�%x�#{$�ԁĴ�f��y
�q�~�
��]*�

9�6��Q����0�
�۞q9qК`w���@��	v���y ��
�ݞ��׾�0�[���VgO��5Kxa�
wWa�|�.�h%7��,	al�F�.X:
Z�I&�L	f� �l���7���[5i
ݗ���ˉA�_2"�����&Z)�n�z��Qb�9 d�!Hn��
+9~=��w��W��Q�x�҈U�$Gj�2��8x��%���s��E`�t)㐲y��������1�q���'���cӲu����eUo�<K�
1)K��l��x�M�Z��y$�J(kS@�(��*�
רH
|�`k���"�Xs\��*k36�TF[�"��	
�yԠ�ÆWp,���2.�F���M���e
< �ve�Ŕ�g^
���3pV
F:���L����F�q�m
{�����ZW(�6��,]C��ʵ�����ؔ/Z�_��#��V�
rQ3z�V ��p��nZ�c�
�PdU�?;W/�ֱ!K�o�z��
f3�
=kv(�f0��3N`sf�<0����=r;�

��nyMǵ��: �_5lü�z�
\m��]ғ'G d(tغ��8��w��Uڼٺ�HZ�F=�.�v;�M�T�	�?�*k�=�?��{�>]�՚����}�"�T�I �7t��52�h�;L
+^�,�������1K����/���)�N�6�B�7�mPw��U�lȃ��i%���v\d���
���������%��:q\��5"���Hwq+!���gd�s.3���|���*2
��!#/�0aRݗZ�
v`�������U�b��+���^釪P���费��b�a ݶkö��ݫ�Ϣ�cL
�C�lc���NO��$p���vz:A��7��ހZW=����
ܳߘ�\��ᜫ��b[�� x"��\yV	��^ !�
 ���$����i��7&�
Gn����v�^@���D0���v�;-�1�m�m4�����ͥ}E44
Wš��������0�D0Ɗj`[��čr���
�v��p��
�
���
+���o�G���}\�����^�ؾ�?Wg�c�M����E
�b�x ���;ţ,�s�}���;Ձ�W��=��n
+x�;��S{.�ضUL�.�-hv�s��}�'�Rg���O)��M����X�aA��+"�,Y2��� �
��djb4��ye��׏[�o���}>0$r���:˒ӓ��f��h��T�c���x���c�~J2a,��(o�
+�L���Rq
J
+endstream
+endobj
+18705 0 obj <<
+/Type /Page
+/Contents 18706 0 R
+/Resources 18704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 18584 0 R 18591 0 R 18592 0 R 18593 0 R 18594 0 R 18595 0 R 18596 0 R 18597 0 R 18598 0 R 18599 0 R 18600 0 R 18601 0 R 18602 0 R 18603 0 R 18604 0 R 18605 0 R 18606 0 R 18607 0 R 18608 0 R 18609 0 R 18610 0 R 18611 0 R 18612 0 R 18613 0 R 18614 0 R 18615 0 R 18616 0 R 18617 0 R 18618 0 R 18619 0 R 18620 0 R 18621 0 R 18622 0 R 18623 0 R 18624 0 R 18625 0 R 18626 0 R 18627 0 R 18628 0 R 18629 0 R 18630 0 R 18631 0 R 18632 0 R 18633 0 R 18634 0 R 18635 0 R 18636 0 R 18637 0 R 18 [...]
+>> endobj
+18584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.528 707.957 211.484 718.861]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+18591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.018 696.719 152.974 706.906]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.488 684.047 235.444 694.951]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 672.092 235.992 682.996]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 660.136 235.992 671.04]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.008 648.181 200.963 659.085]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.825 636.226 233.78 647.13]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.944 624.988 177.899 635.175]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.119 613.033 190.074 623.22]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+18599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.986 600.361 219.941 611.265]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.679 588.405 216.634 599.309]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+18601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.433 140.809 575.399]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+18602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.412 540.585 233.368 551.489]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+18603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 516.674 196.132 527.578]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+18604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 504.719 200.007 515.623]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+18605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 493.481 189.506 503.668]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+18606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 481.526 193.382 491.713]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+18607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 468.854 238.582 479.758]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+18608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 456.899 231.957 467.803]
+/A << /S /GoTo /D (page.114) >>
+>> endobj
+18609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.024 444.943 206.961 455.847]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+18610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.676 432.988 182.612 443.892]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+18611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 421.033 195.334 431.937]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+18612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 409.078 178.996 419.982]
+/A << /S /GoTo /D (page.107d) >>
+>> endobj
+18613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.604 397.123 241.541 408.027]
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+18614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.968 385.168 221.905 396.071]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+18615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.69 373.212 234.627 384.116]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+18616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.514 361.975 212.451 372.161]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+18617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 350.019 213.058 360.206]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+18618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.455 337.347 241.391 348.251]
+/A << /S /GoTo /D (page.124) >>
+>> endobj
+18619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.729 325.392 229.665 336.296]
+/A << /S /GoTo /D (page.125) >>
+>> endobj
+18620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 313.437 207.757 324.34]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+18621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 302.199 171.245 312.385]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+18622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 290.243 164.052 300.43]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.927 277.571 200.863 288.475]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+18624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.603 265.616 236.539 276.52]
+/A << /S /GoTo /D (page.131) >>
+>> endobj
+18625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.528 265.616 256.464 276.52]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 253.661 233.073 264.565]
+/A << /S /GoTo /D (page.129) >>
+>> endobj
+18627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.532 241.706 239.468 252.609]
+/A << /S /GoTo /D (page.117) >>
+>> endobj
+18628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 229.75 224.375 240.654]
+/A << /S /GoTo /D (page.129) >>
+>> endobj
+18629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.591 217.795 170.528 228.699]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.574 205.84 233.511 216.744]
+/A << /S /GoTo /D (page.120) >>
+>> endobj
+18631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.499 205.84 253.436 216.744]
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+18632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 193.885 246.233 204.789]
+/A << /S /GoTo /D (page.121) >>
+>> endobj
+18633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.222 193.885 266.158 204.789]
+/A << /S /GoTo /D (page.122) >>
+>> endobj
+18634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.015 181.93 219.952 192.834]
+/A << /S /GoTo /D (page.126) >>
+>> endobj
+18635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 170.692 172.899 180.878]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 158.019 207.219 168.923]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+18637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 146.064 196.719 156.968]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.969 134.109 234.905 145.013]
+/A << /S /GoTo /D (page.132) >>
+>> endobj
+18639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.894 134.109 254.83 145.013]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.573 122.154 268.509 133.058]
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+18641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 110.199 225.481 121.103]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+18642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 98.961 170.139 109.147]
+/A << /S /GoTo /D (page.110) >>
+>> endobj
+18643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 87.006 168.485 97.192]
+/A << /S /GoTo /D (page.111) >>
+>> endobj
+18644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 74.333 179.539 85.237]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.528 74.333 199.465 85.237]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 707.957 391.761 718.861]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.75 707.957 411.686 718.861]
+/A << /S /GoTo /D (page.132) >>
+>> endobj
+18648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.295 696.002 460.213 706.906]
+/A << /S /GoTo /D (page.130d) >>
+>> endobj
+18649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 684.047 443.606 694.951]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+18650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 672.092 447.482 682.996]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+18651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 660.854 436.981 671.04]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+18652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 648.899 440.856 659.085]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+18653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 636.943 400.458 647.13]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+18654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 624.271 484.821 635.175]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+18655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 612.316 454.386 623.22]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+18656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 600.361 471.162 611.265]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+18657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 588.405 413.19 599.309]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+18658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 576.45 367.702 587.354]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+18659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.69 576.45 387.627 587.354]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 564.495 424.806 575.399]
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+18661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 553.257 393.813 563.444]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+18662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 540.585 429.788 551.489]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+18663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.194 528.63 397.131 539.534]
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+18664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.283 516.674 503.238 527.578]
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+18665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.088 504.719 521.025 515.623]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+18666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.693 492.764 381.629 503.668]
+/A << /S /GoTo /D (page.134) >>
+>> endobj
+18667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 470.791 362.272 479.758]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+18668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.055 456.899 505.991 467.803]
+/A << /S /GoTo /D (page.135) >>
+>> endobj
+18669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.582 432.988 402.519 443.892]
+/A << /S /GoTo /D (page.135) >>
+>> endobj
+18670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 409.078 412.613 419.982]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+18671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 397.123 416.488 408.027]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+18672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 385.885 405.987 396.071]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 373.93 409.863 384.116]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+18674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.127 361.257 455.063 372.161]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+18675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 349.302 448.438 360.206]
+/A << /S /GoTo /D (page.150) >>
+>> endobj
+18676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 337.347 490.101 348.251]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+18677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 325.392 491.207 336.296]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+18678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.505 313.437 423.442 324.34]
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+18679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 301.481 399.093 312.385]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 289.526 411.816 300.43]
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+18681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 277.571 438.386 288.475]
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+18682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 265.616 451.108 276.52]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+18683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 254.378 428.932 264.565]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+18684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 242.423 429.539 252.609]
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+18685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.999 230.468 368.917 240.654]
+/A << /S /GoTo /D (page.143d) >>
+>> endobj
+18686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.21 217.795 446.147 228.699]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+18687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.594 205.84 442.53 216.744]
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+18688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.519 205.84 462.456 216.744]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+18689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 193.885 424.239 204.789]
+/A << /S /GoTo /D (page.161) >>
+>> endobj
+18690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 182.647 387.726 192.834]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+18691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 170.692 380.533 180.878]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 158.019 417.345 168.923]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 146.064 473.365 156.968]
+/A << /S /GoTo /D (page.159) >>
+>> endobj
+18694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 134.109 453.02 145.013]
+/A << /S /GoTo /D (page.166) >>
+>> endobj
+18695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.009 134.109 472.946 145.013]
+/A << /S /GoTo /D (page.167) >>
+>> endobj
+18696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 122.154 449.554 133.058]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 110.199 440.856 121.103]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 98.244 387.009 109.147]
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+18699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 86.288 449.992 97.192]
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+18700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 74.333 462.714 85.237]
+/A << /S /GoTo /D (page.156) >>
+>> endobj
+18701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 74.333 482.639 85.237]
+/A << /S /GoTo /D (page.157) >>
+>> endobj
+18703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18707 0 obj <<
+/D [18705 0 R /XYZ 89 770.89 null]
+>> endobj
+18704 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18828 0 obj <<
+/Length 1600      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�Ҥ�����g�,M���t&�`(��p3A�V����,�4�i�"�tpp���H$m$$��=�����ɔM�h���d"IWM�j�#}��~��ş�/�o$2��.��Jv{��zv;�pI��5�uC��٧/Hr��	ɊiHwy#_R�=����:$��"�5�����q��'�

[:���sE����۫��iI(�cM)����LJ
��%�fPw<f�0
�ND�1���ж�
~*N��<d�ۉ���]����+�㊿B at f7q�w��f+�Y��	�d�'V`�L5�i�v}7����5����؊B�
���[��
�� `�	I: ��ߝ�W����n��he���$��Fg/a:>�SE��I����i��x*SY��_6�

=���5�KՐ5Si
�j5�@-Q
F�f�'�0;r�y�9��)��2��%.�f��܊O��yh�b��9�ٝ�du-��)>##����o��I�b4nY�2���u`�aV)�e�m�����*������S
�
+�
�p��sov,n��Җ�k�4
*���o�#�
��U�-0�[��/���&�@R�D�:Cۗ�4�ϑ�����M��2������D��rb����GxW/+�-vz�-wb��sױ��ϟ��
k;&:,����iiG2Q�-^_�фb��ط�h@�e]��Z���:�W�t�:����0������Q�_g�c���N������v�P(Tg~~��<�9wN�v���A�q'�MT��V=;(FG���8E�:q:�7�Y=	��\�'-�/�����Y
���*����)��D6ͅ��Q:�W_NM#�.>���(�v����ZM��
DFD
*�K/s
��*?�xq�\d6�}�
Q4YE����X#ju���z���sN`�=���Q
�/`fߑ�z	��t�~�e��E\k6�@����c�Yb
C�k�^�x��� �	Y�)�'3(zm�ԩ��6  [nͲ�
�>��<?w��h�EO�hm	�
�����l�ړ��2'�;Ej�VR9L�΃TSi�ɍT��
}�f�~�@���&I��e(7�N��O���F�؊��F���`
7۔c�X{�id�o��}��ڈ�6�(Nì8*�q`y��~���.�>��L�%��)!��Q�����qz�v��s
��`�cDa�������c�^��[y�A�&CK�X��"?W˲���: X������ؐ� "���hz�7%;��'ѷ�s���z	�-3Ӕ�0($6M��41A��?{�C�}=d��RE���ǣ�ੜޛ��2R<�#�)��Q
J����ߋ���U�W�0��7���>��]��1��b6U��H#��p
���w�|���2ѽ���q2��@�����C�g�q�I���]MIؕ�if��[�M#�N��o�Uo�P�4�|�N�e
+�c�-_��_]�+.~<�iA�\��b`Q��ψ���x��3�e���X*�ꏜ��(H�����[}�
+��L)���6I��u�<��v��>SF�����XN�]�
ট�} W�Vq�˚F�H at 0ogHFX�I���:���ay�쵯H�C��˂� �K��
+endstream
+endobj
+18827 0 obj <<
+/Type /Page
+/Contents 18828 0 R
+/Resources 18826 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 18702 0 R 18709 0 R 18710 0 R 18711 0 R 18712 0 R 18713 0 R 18714 0 R 18715 0 R 18716 0 R 18717 0 R 18718 0 R 18719 0 R 18720 0 R 18721 0 R 18722 0 R 18723 0 R 18724 0 R 18725 0 R 18726 0 R 18727 0 R 18728 0 R 18729 0 R 18730 0 R 18731 0 R 18732 0 R 18733 0 R 18734 0 R 18735 0 R 18736 0 R 18737 0 R 18738 0 R 18739 0 R 18740 0 R 18741 0 R 18742 0 R 18743 0 R 18744 0 R 18745 0 R 18746 0 R 18747 0 R 18748 0 R 18749 0 R 18750 0 R 18751 0 R 18752 0 R 18753 0 R 18754 0 R 18755 0 R 18 [...]
+>> endobj
+18702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.252 707.957 178.189 718.861]
+/A << /S /GoTo /D (page.163) >>
+>> endobj
+18709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.495 696.719 201.432 706.906]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.744 684.047 201.681 694.951]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 672.809 172.899 682.996]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 660.136 207.219 671.04]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 648.181 196.719 659.085]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.969 636.226 239.887 647.13]
+/A << /S /GoTo /D (page.166d) >>
+>> endobj
+18715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.67 624.271 274.606 635.175]
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+18716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 612.316 225.481 623.22]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+18717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 601.078 170.139 611.265]
+/A << /S /GoTo /D (page.147) >>
+>> endobj
+18718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 589.123 168.485 599.309]
+/A << /S /GoTo /D (page.148) >>
+>> endobj
+18719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 576.45 179.539 587.354]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.528 576.45 199.465 587.354]
+/A << /S /GoTo /D (page.168) >>
+>> endobj
+18721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 564.495 175.28 575.399]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.416 552.54 214.353 563.444]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+18723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.292 540.585 218.228 551.489]
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+18724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.814 528.63 238.751 539.534]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.739 528.63 258.676 539.534]
+/A << /S /GoTo /D (page.167) >>
+>> endobj
+18726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 516.674 227.125 527.578]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+18727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 504.719 231 515.623]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+18728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 493.481 220.5 503.668]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+18729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 481.526 224.375 491.713]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+18730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 469.571 183.977 479.758]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+18731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 456.899 268.34 467.803]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+18732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 444.943 237.904 455.847]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+18733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.146 433.706 177.083 443.892]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+18734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 421.033 254.681 431.937]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 409.078 196.709 419.982]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+18736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 397.123 151.22 408.027]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+18737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 397.123 171.145 408.027]
+/A << /S /GoTo /D (page.168) >>
+>> endobj
+18738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 385.168 208.325 396.071]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+18739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 373.93 177.332 384.116]
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+18740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 361.257 213.307 372.161]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 349.302 250.228 360.206]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+18742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 337.347 180.65 348.251]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+18743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.752 325.392 275.688 336.296]
+/A << /S /GoTo /D (page.135) >>
+>> endobj
+18744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.631 313.437 279.568 324.34]
+/A << /S /GoTo /D (page.168) >>
+>> endobj
+18745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 301.481 193.392 312.385]
+/A << /S /GoTo /D (page.170d) >>
+>> endobj
+18746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.916 289.526 235.852 300.43]
+/A << /S /GoTo /D (page.173) >>
+>> endobj
+18747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 267.554 145.791 276.52]
+/A << /S /GoTo /D (page.219) >>
+>> endobj
+18748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.694 254.378 185.631 264.565]
+/A << /S /GoTo /D (page.220) >>
+>> endobj
+18749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.898 242.423 152.834 252.609]
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+18750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.016 229.75 163.952 240.654]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 217.795 175.28 228.699]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.541 205.84 170.478 216.744]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 193.885 169.661 204.789]
+/A << /S /GoTo /D (page.221) >>
+>> endobj
+18754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 181.93 175.28 192.834]
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+18755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.1 169.975 293.037 180.878]
+/A << /S /GoTo /D (page.349) >>
+>> endobj
+18756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.898 158.737 152.834 168.923]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.682 146.781 159.618 156.968]
+/A << /S /GoTo /D (page.350) >>
+>> endobj
+18758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.016 134.109 163.952 145.013]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 122.154 175.28 133.058]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.541 110.199 170.478 121.103]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 98.244 169.661 109.147]
+/A << /S /GoTo /D (page.351) >>
+>> endobj
+18762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 86.288 175.28 97.192]
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+18763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.692 708.674 381.629 718.861]
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+18764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 695.768 367.702 706.671]
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+18765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [479.65 683.578 496.587 694.482]
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+18766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.582 659.433 402.519 670.337]
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+18767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 635.054 390.496 645.958]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.148 622.864 412.085 633.768]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 610.675 393.265 621.579]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 599.203 387.726 609.389]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 586.296 380.533 597.2]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 586.296 400.458 597.2]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.665 574.106 391.601 585.01]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.827 561.917 377.763 572.82]
+/A << /S /GoTo /D (page.186) >>
+>> endobj
+18775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.547 549.727 364.484 560.631]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.914 538.255 383.851 548.441]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.962 525.348 413.898 536.252]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.97 513.158 368.907 524.062]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.615 500.969 415.552 511.873]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.262 488.779 456.199 499.683]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.188 488.779 476.124 499.683]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.098 476.589 396.035 487.493]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.665 464.4 391.602 475.304]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.69 452.21 403.626 463.114]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.888 440.021 414.824 450.925]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.184 427.831 397.121 438.735]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.772 415.642 397.709 426.545]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.875 403.452 367.811 414.356]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.8 403.452 387.736 414.356]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.534 391.262 386.471 402.166]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.149 379.073 417.086 389.977]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.572 367.6 416.508 377.787]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.398 354.694 409.335 365.598]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.223 342.504 392.159 353.408]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.176 330.314 402.112 341.218]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.472 318.842 384.409 329.029]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.98 305.935 416.917 316.839]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.516 293.746 391.452 304.65]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 281.556 386.62 292.46]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 269.367 388.272 280.27]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 257.177 396.021 268.081]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 257.177 415.946 268.081]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 244.987 393.891 255.891]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 232.798 388.272 243.702]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 220.608 396.021 231.512]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 220.608 415.946 231.512]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+18807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 208.419 393.891 219.323]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.206 196.229 386.142 207.133]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.131 196.229 406.067 207.133]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.705 184.039 383.642 194.943]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.63 184.039 403.567 194.943]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 171.85 391.761 182.754]
+/A << /S /GoTo /D (page.190) >>
+>> endobj
+18813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.856 159.66 372.792 170.564]
+/A << /S /GoTo /D (page.191) >>
+>> endobj
+18814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.781 159.66 392.718 170.564]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.487 148.188 388.424 158.375]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.23 135.281 361.166 146.185]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.223 123.092 392.159 133.995]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.6 110.902 411.537 121.806]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+18819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 98.712 367.702 109.616]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.69 98.712 387.627 109.616]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+18821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.036 86.523 441.972 97.427]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+18822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.961 86.523 461.897 97.427]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+18823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.752 74.333 397.689 85.237]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+18825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18829 0 obj <<
+/D [18827 0 R /XYZ 89 770.89 null]
+>> endobj
+18826 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+18929 0 obj <<
+/Length 1702      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����0�i�"E)X��&)�u��x����v�Z��K�����bǖeI��n/�#K?���s(bm�a����hv#t�B�A
m��,�	f!n�K��l�i�F�-�,L����wW�e?����Qv
k�x�#aj�?��	kK��F�H�L�k~��1���F�
�1‡D
\!B"�p>!|�D�c����\F��ֻ�������t?O
˥�.��d�Q����O����	�T�q<$2�ݰ�6~1�
�a�in�)�:��/Y��znF�nL�8�;ȟk�̽��En�”Ѻ���W#�Ôr<&B�7FӦ�c6͖
+7������F2��0h�1�����ʘ�rio�@:���l��e
���8׉��`�z���қP>��@�j��΋4���F��و�w
+X��s�j�/C������t������&
E�bbb�0!�x-�:d�e
�Z���e�K>���y��2yENN��>�p���
:���m���
+�X�:O} ���Tn{�v�pC��R�C]O���C�]%�:�H�6,a&�9�&�#�� L<�,�0���ݴ�nN /��C�l�䱕nC�7
b/N:8�
m�[�ng���4����&�&\{����� ˭M�o�h6G'	��]G��N)	G
ꨎ�F*+Д�Ȱ�zB3U�3�]���
���@�~�
����e�I�Q�!�[Ǖ���e�%�[�)��V'�q_Po
ؽ#��g�D���P	�%v����B�[��G�E���>�nD%�|
\y�F�8���� �U�D���h���)T}�I(�
+1L����"+�i��pZ��^R���
�����P"���2u�-'V7O(K�[����v�2�3]�]����zK_eX��������d�h].d��z��HbT�q�@os�)[�y����Q���ޫܯ��:��>HB�C�\��:^{���\�O��
�
P]��g�`�y�V�k�.V-C?�c����ރ��E��
���N
���� �e�g�V�O<�����
Ռ�B�\�V�q�0�������U�[Y��*c�5i�ő��w�s���U.�O,R��H�a&�_�?�w�<��fߢ9g�4���Y�u+���w\�J�N���`^���8W�t죙��
mw�5;ho��0;�\P�=Tww��9�]ɭ��3�tw��rm�
�*�j��(��T��Hۊ�y���
��ݕ����I䩋Jo�;�
�A����W�/���Hr��I�*���}�l�YW=�oTW�X=a`���s#J����^/�r�#A���
����Ε��s��M�JF��W�oڲ��ܲ�|��གྷ����5�0�0Tmac�޲�����Xm�r����g�
+�Ǵ^���b���w�rb&��n����n���x
%�ǡ끔,jfѼm�᮶E���&�
ik��Z<Åx�wt�2�w[;
+�ND%�*_�P=rR5J���GiRr�0,�t���
�,���fw�.t���~}0���2�	�>X7nX����ÍPs	�w=�x� �
+��S�#�0�?4���{�����쵯kW!�=�Mo��;:	9o�8�H�3v����Ee8��-�����	����7'H�M��#�h��\���c�u�&S
��V��d��{ڿfgJ�!ΠTݫ�}�l/f��t
�`���?�}e2����/�+(�r2~�����DG@�Hc

+endstream
+endobj
+18928 0 obj <<
+/Type /Page
+/Contents 18929 0 R
+/Resources 18927 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 18824 0 R 18830 0 R 18831 0 R 18832 0 R 18833 0 R 18834 0 R 18835 0 R 18836 0 R 18837 0 R 18838 0 R 18839 0 R 18840 0 R 18841 0 R 18842 0 R 18843 0 R 18844 0 R 18845 0 R 18846 0 R 18847 0 R 18848 0 R 18849 0 R 18850 0 R 18851 0 R 18852 0 R 18853 0 R 18854 0 R 18855 0 R 18856 0 R 18857 0 R 18858 0 R 18859 0 R 18860 0 R 18861 0 R 18862 0 R 18863 0 R 18864 0 R 18865 0 R 18866 0 R 18867 0 R 18868 0 R 18869 0 R 18870 0 R 18871 0 R 18872 0 R 18873 0 R 18874 0 R 18875 0 R 18876 0 R 18 [...]
+>> endobj
+18824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.1 696.002 173.036 706.906]
+/A << /S /GoTo /D (page.177) >>
+>> endobj
+18830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.809 684.047 306.745 694.951]
+/A << /S /GoTo /D (page.195) >>
+>> endobj
+18831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.578 672.809 184.515 682.996]
+/A << /S /GoTo /D (page.196) >>
+>> endobj
+18832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.684 660.854 185.62 671.04]
+/A << /S /GoTo /D (page.200) >>
+>> endobj
+18833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.675 648.899 182.612 659.085]
+/A << /S /GoTo /D (page.199) >>
+>> endobj
+18834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 636.943 165.148 647.13]
+/A << /S /GoTo /D (page.201) >>
+>> endobj
+18835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.694 624.988 185.631 635.175]
+/A << /S /GoTo /D (page.198) >>
+>> endobj
+18836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.03 613.033 183.967 623.22]
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+18837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.101 588.405 186.037 599.309]
+/A << /S /GoTo /D (page.202) >>
+>> endobj
+18838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.552 145.791 575.399]
+/A << /S /GoTo /D (page.202) >>
+>> endobj
+18839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.361 552.54 218.298 563.444]
+/A << /S /GoTo /D (page.203) >>
+>> endobj
+18840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.207 540.585 270.143 551.489]
+/A << /S /GoTo /D (page.204) >>
+>> endobj
+18841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 529.347 172.649 539.534]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.049 516.674 178.986 527.578]
+/A << /S /GoTo /D (page.208) >>
+>> endobj
+18843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.975 516.674 198.911 527.578]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.895 504.719 219.832 515.623]
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+18845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.184 492.764 175.12 503.668]
+/A << /S /GoTo /D (page.208) >>
+>> endobj
+18846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.636 480.809 174.572 491.713]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.137 469.571 190.074 479.758]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.438 456.899 219.374 467.803]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.579 444.943 189.516 455.847]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 433.706 170.687 443.892]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 421.033 179.539 431.937]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.875 409.078 166.812 419.982]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.494 397.123 172.43 408.027]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 385.168 175.28 396.071]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.023 373.212 177.96 384.116]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.281 361.975 181.217 372.161]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+18857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.582 349.302 215.518 360.206]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.102 337.347 226.039 348.251]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 325.392 192.276 336.296]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.638 313.437 200.575 324.34]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+18861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 301.481 151.22 312.385]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+18862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 301.481 171.145 312.385]
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+18863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.049 289.526 303.986 300.43]
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+18864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.37 277.571 213.307 288.475]
+/A << /S /GoTo /D (page.215) >>
+>> endobj
+18865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 277.571 233.232 288.475]
+/A << /S /GoTo /D (page.216) >>
+>> endobj
+18866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.047 266.333 152.983 276.52]
+/A << /S /GoTo /D (page.216) >>
+>> endobj
+18867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 253.661 179.539 264.565]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 241.706 175.28 252.609]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 229.75 240.973 240.654]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.582 217.795 215.518 228.699]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 205.84 151.22 216.744]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.588 182.647 184.525 192.834]
+/A << /S /GoTo /D (page.226) >>
+>> endobj
+18873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 158.019 192.814 168.923]
+/A << /S /GoTo /D (page.218) >>
+>> endobj
+18874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.405 134.826 190.341 145.013]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+18875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 98.961 165.148 109.147]
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+18876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 86.288 151.22 97.192]
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+18877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.581 74.333 263.518 85.237]
+/A << /S /GoTo /D (page.234) >>
+>> endobj
+18878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.194 708.674 389.131 718.861]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.905 696.719 388.842 706.906]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.831 696.719 408.767 706.906]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.377 684.047 436.313 694.951]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.665 672.092 391.602 682.996]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.852 660.136 389.789 671.04]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 648.181 393.265 659.085]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.756 636.226 412.692 647.13]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.619 624.988 406.555 635.175]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.061 612.316 405.997 623.22]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 600.361 388.272 611.265]
+/A << /S /GoTo /D (page.241) >>
+>> endobj
+18889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.261 600.361 408.197 611.265]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 588.405 396.021 599.309]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+18891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 576.45 393.891 587.354]
+/A << /S /GoTo /D (page.242) >>
+>> endobj
+18892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.88 576.45 413.816 587.354]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.336 564.495 393.253 575.399]
+/A << /S /GoTo /D (page.242d) >>
+>> endobj
+18894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.954 552.54 393.891 563.444]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+18895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.88 552.54 413.816 563.444]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 540.585 396.742 551.489]
+/A << /S /GoTo /D (page.242d) >>
+>> endobj
+18897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 528.63 454.386 539.534]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.063 516.674 432 527.578]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.583 504.719 442.52 515.623]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+18900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 492.764 367.702 503.668]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+18901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.69 492.764 387.627 503.668]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+18902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.068 480.809 367.004 491.713]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+18903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 468.854 513.996 479.758]
+/A << /S /GoTo /D (page.245) >>
+>> endobj
+18904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.226 456.899 423.163 467.803]
+/A << /S /GoTo /D (page.247) >>
+>> endobj
+18905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 444.943 396.021 455.847]
+/A << /S /GoTo /D (page.248) >>
+>> endobj
+18906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 432.988 367.702 443.892]
+/A << /S /GoTo /D (page.248) >>
+>> endobj
+18907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.07 409.795 401.006 419.982]
+/A << /S /GoTo /D (page.248) >>
+>> endobj
+18908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.359 385.168 409.295 396.071]
+/A << /S /GoTo /D (page.249) >>
+>> endobj
+18909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.886 361.975 406.823 372.161]
+/A << /S /GoTo /D (page.249) >>
+>> endobj
+18910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.188 337.347 452.124 348.251]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 325.392 396.021 336.296]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 313.437 391.761 324.34]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 301.481 367.702 312.385]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+18914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 279.628 362.272 288.475]
+/A << /S /GoTo /D (page.250) >>
+>> endobj
+18915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.692 242.423 381.629 252.609]
+/A << /S /GoTo /D (page.255) >>
+>> endobj
+18916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 229.75 367.702 240.654]
+/A << /S /GoTo /D (page.255) >>
+>> endobj
+18917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.692 194.602 381.629 204.789]
+/A << /S /GoTo /D (page.258) >>
+>> endobj
+18918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 181.93 367.702 192.834]
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+18919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.066 158.737 375.002 168.923]
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+18920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.863 134.109 455.8 145.013]
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+18921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.343 122.154 437.28 133.058]
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+18922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.91 110.199 440.847 121.103]
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+18923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.733 98.244 394.67 109.147]
+/A << /S /GoTo /D (page.270) >>
+>> endobj
+18924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.469 74.333 443.405 85.237]
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+18926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+18930 0 obj <<
+/D [18928 0 R /XYZ 89 770.89 null]
+>> endobj
+18927 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19055 0 obj <<
+/Length 1634      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����b`QH�
�{�zAo[�f��� h�����rS�׏�%�]G�,��$v$�;߹����J-`���r=�x
8VdG>��+p#����us������~e� ������^�˳g׳��W���=;�8��| V"/����D�uW�-9�3������]">8 �
a#�j�3�s���l��	'�
[p·��ϳ�T�H�=VT�ײ)�k�
3���|1���=h�K����w��
#��~�a�N�6�1�rH�����\j����l���?5#������q=��5��YJ�#�(�=t�>؁v
5��9��cA)�EAk-o���}^s*k�aAI
y��'
Qf��b�yɵ�}�`Lʤ��
I��BOEk5�XA	7�	zY��b�����������f��
+��64`x��#>�u�W�����R���
ܓ��� &2L�B��zmB�����K�bT��y=
jF�
+w��`[�q2
?	�P�����|
�_�uE���4�lj��m��бx4I������Rl#f�	����J�Ԃ�
�J��Rl8�k�0� C��_;C4�	��mqI�*�䂁bF�s>�f�rb�U�S�,KL���ZG��I�dB���L7q�J
+�U�S�P
������P�hC/4���`�٧3��u
��nH��r$��-B�'�j<l�Y��`�vp,����j?�x�G`�n\}��w�Z�nqt��nd\��'9�Ux���%�V����=�X8	�i��85���c�v�������%�+��O���L�>���M
i�V��#��b�j2�
�]]S��A�����[#���L>��ﶢ��P�G{
"f
g%I�h�YE`J��0���N
���: ;��N�m��-_��S܎c������ʬ6�J�ch��8��M�
�B��?4K�V)�P�y5�<�	vi�Dʼn~�u 
 &&@K�pjX������
G�q�\\U
m�s�^�Chcâa�e�p�äH0�T7�
O_��,s����w
+�YNR�l��#dP�NGa�$�H��N 
6&
�^�2�d�S��pA`���Y���)�ZL*Z�_�2�Ѱ��۴��XB
���
F:�MR�U��`��$��%��x��
���k,ʜ�,0{x!�tũ&��G*�
�8�?.�,�
p�ۏ�魊�:w��U���ۻ�R�?p��K>��1N@߆��LNZz#Π�t���r[��%ABGT�
W����[��U�(T�!�������m����U��ʔ�$˶X���$��uf�r�!٭�p�V�)�
0,�/_;I'�C#����F�r�
�

�g����ӧ�_��0
ܿj��z�fh�D`؁�*5
t�����Ki��
�
�VC���$ؓwc�#��{qg]�ͣw��b�JVb��3"dbt��uƖ[�jMW��k�yx��Gv�
ӳ|��PN2�m�����M'vE����7͗��?�=�L4��%ņd�����I��TX}�@^���\���w��z4����o�չFo�
+�\���Oԭ�j}yq�ؤ��
���A��lܷ+�2��d�
+�B^��%��NEvv� �}u��Ƽ���>�'v��7��
/s�zZJ?
���s�
+endstream
+endobj
+19054 0 obj <<
+/Type /Page
+/Contents 19055 0 R
+/Resources 19053 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 18925 0 R 18931 0 R 18932 0 R 18933 0 R 18934 0 R 18935 0 R 18936 0 R 18937 0 R 18938 0 R 18939 0 R 18940 0 R 18941 0 R 18942 0 R 18943 0 R 18944 0 R 18945 0 R 18946 0 R 18947 0 R 18948 0 R 18949 0 R 18950 0 R 18951 0 R 18952 0 R 18953 0 R 18954 0 R 18955 0 R 18956 0 R 18957 0 R 18958 0 R 18959 0 R 18960 0 R 18961 0 R 18962 0 R 18963 0 R 18964 0 R 18965 0 R 18966 0 R 18967 0 R 18968 0 R 18969 0 R 18970 0 R 18971 0 R 18972 0 R 18973 0 R 18974 0 R 18975 0 R 18976 0 R 18977 0 R 18 [...]
+>> endobj
+18925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 698.059 145.791 706.906]
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+18931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.412 671.852 238.349 682.756]
+/A << /S /GoTo /D (page.263) >>
+>> endobj
+18932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.454 648.181 188.39 658.368]
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+18933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 635.987 172.649 646.174]
+/A << /S /GoTo /D (page.269) >>
+>> endobj
+18934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 623.793 165.148 633.979]
+/A << /S /GoTo /D (page.267) >>
+>> endobj
+18935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.655 611.598 169.591 621.785]
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+18936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.728 599.404 184.664 609.591]
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+18937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.702 586.493 276.639 597.397]
+/A << /S /GoTo /D (page.291) >>
+>> endobj
+18938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 574.298 174.014 585.202]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+18939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.667 562.104 195.603 573.008]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.48 549.91 197.417 560.814]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.134 537.716 199.07 548.619]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.184 525.521 175.12 536.425]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.209 513.327 187.145 524.231]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 501.133 175.678 512.037]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.499 488.938 200.435 499.842]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.035 476.744 174.971 487.648]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+18947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.006 465.267 171.942 475.454]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+18948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.29 452.356 176.226 463.26]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+18949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.742 440.161 175.678 451.065]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.119 427.967 195.055 438.871]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+18951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.898 415.773 261.834 426.677]
+/A << /S /GoTo /D (page.271) >>
+>> endobj
+18952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.146 403.579 185.083 414.482]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.072 403.579 205.008 414.482]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+18954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.997 403.579 224.933 414.482]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 392.102 172.649 402.288]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.895 379.19 219.832 390.094]
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+18957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 367.713 158.274 377.9]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18958 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.603 354.801 236.539 365.705]
+/A << /S /GoTo /D (page.283) >>
+>> endobj
+18959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.528 354.801 256.464 365.705]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.184 342.607 175.12 353.511]
+/A << /S /GoTo /D (page.278) >>
+>> endobj
+18961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.371 330.413 173.307 341.317]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.741 318.936 170.677 329.123]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.848 306.024 176.784 316.928]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.274 293.83 196.211 304.734]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.969 281.636 239.887 292.54]
+/A << /S /GoTo /D (page.284d) >>
+>> endobj
+18966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 270.159 145.79 280.345]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.779 270.159 165.716 280.345]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.705 270.159 185.641 280.345]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 257.247 179.539 268.151]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.528 257.247 199.465 268.151]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 245.053 175.28 255.957]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+18972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.268 245.053 195.205 255.957]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.036 232.859 240.973 243.763]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.393 220.664 151.33 231.568]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.319 220.664 171.255 231.568]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.244 220.664 191.18 231.568]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.633 208.47 143.569 219.374]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.558 208.47 163.494 219.374]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.483 208.47 183.42 219.374]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.814 196.276 238.751 207.18]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+18981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.739 196.276 258.676 207.18]
+/A << /S /GoTo /D (page.283) >>
+>> endobj
+18982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.665 196.276 278.601 207.18]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+18983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 184.082 237.904 194.986]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.582 171.887 215.518 182.791]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.102 159.693 226.039 170.597]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+18986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 147.499 151.22 158.403]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+18987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 147.499 171.145 158.403]
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+18988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.587 135.305 150.523 146.208]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+18989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.219 123.11 296.155 134.014]
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+18990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 111.633 171.245 121.82]
+/A << /S /GoTo /D (page.289) >>
+>> endobj
+18991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.061 98.722 204.998 109.626]
+/A << /S /GoTo /D (page.289) >>
+>> endobj
+18992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 86.527 179.539 97.431]
+/A << /S /GoTo /D (page.290) >>
+>> endobj
+18993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 74.333 151.22 85.237]
+/A << /S /GoTo /D (page.290) >>
+>> endobj
+18994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.07 696.719 401.006 706.906]
+/A << /S /GoTo /D (page.290) >>
+>> endobj
+18995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.81 684.047 456.747 694.951]
+/A << /S /GoTo /D (page.294) >>
+>> endobj
+18996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 672.092 412.613 682.996]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+18997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 660.136 416.488 671.04]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+18998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 648.899 405.987 659.085]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+18999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 636.943 409.863 647.13]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+19000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.408 624.271 425.345 635.175]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+19001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.284 612.316 429.22 623.22]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.127 600.361 455.063 611.265]
+/A << /S /GoTo /D (page.311) >>
+>> endobj
+19003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 588.405 448.438 599.309]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+19004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.859 576.45 467.795 587.354]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 564.495 490.101 575.399]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+19006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 552.54 491.207 563.444]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 540.585 399.093 551.489]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+19008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 528.63 411.816 539.534]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+19009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 516.674 438.386 527.578]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+19010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 504.719 451.108 515.623]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+19011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 493.481 428.932 503.668]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 481.526 429.539 491.713]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 468.854 424.239 479.758]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.259 456.899 465.195 467.803]
+/A << /S /GoTo /D (page.319) >>
+>> endobj
+19015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 445.661 387.726 455.847]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 433.706 380.533 443.892]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+19017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 421.033 417.345 431.937]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+19018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 409.078 473.365 419.982]
+/A << /S /GoTo /D (page.319) >>
+>> endobj
+19019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 397.123 449.554 408.027]
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+19020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 385.168 440.856 396.071]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 373.212 387.009 384.116]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+19022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 361.257 449.992 372.161]
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+19023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 361.257 469.917 372.161]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+19024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 349.302 462.714 360.206]
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+19025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 349.302 482.639 360.206]
+/A << /S /GoTo /D (page.317) >>
+>> endobj
+19026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.96 337.347 456.896 348.251]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+19027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.653 326.109 370.571 336.296]
+/A << /S /GoTo /D (page.303d) >>
+>> endobj
+19028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 314.154 389.38 324.34]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 301.481 423.701 312.385]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.001 290.243 389.938 300.43]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 277.571 413.2 288.475]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.036 265.616 441.972 276.52]
+/A << /S /GoTo /D (page.306) >>
+>> endobj
+19033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.816 253.661 513.752 264.565]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+19034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.917 241.706 462.853 252.609]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+19035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.517 229.75 505.453 240.654]
+/A << /S /GoTo /D (page.321) >>
+>> endobj
+19036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 217.795 441.962 228.699]
+/A << /S /GoTo /D (page.323) >>
+>> endobj
+19037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 206.557 386.62 216.744]
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+19038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 206.557 406.545 216.744]
+/A << /S /GoTo /D (page.308) >>
+>> endobj
+19039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 194.602 384.966 204.789]
+/A << /S /GoTo /D (page.308) >>
+>> endobj
+19040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 194.602 404.892 204.789]
+/A << /S /GoTo /D (page.309) >>
+>> endobj
+19041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 182.647 361.714 192.834]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+19042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 169.975 396.021 180.878]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 158.019 391.761 168.923]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 146.064 443.606 156.968]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+19045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 134.109 447.482 145.013]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+19046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 122.871 436.981 133.058]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 110.916 440.856 121.103]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 98.244 484.821 109.147]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 86.288 454.386 97.192]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 74.333 471.162 85.237]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+19052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19056 0 obj <<
+/D [19054 0 R /XYZ 89 770.89 null]
+>> endobj
+19053 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19172 0 obj <<
+/Length 1756      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~ׯ�ҤZ/���&�C�q�6n�N;�d��X�4\@q�_��E���
+Y틄���﹀����������ejr�����`�"�
~y�͐�l�i�V3
�
��S��__]���1���
��X�˧)�lm
n>a̓�o5�L���E�F
����~L�1\T�t
�z�k�%�<

�y
e܏�
ʽ�EE���flP<4u\-(w��1�9�Vx�#
�Rc�m����	ںq��_���i�/")'v+�*��x@(R$ҌT)|�\�ĝū��Ji'm��o]1����g=��}OD~��H��n�	_
���^���u�%OB�^�����g	O
&����ܗ"���s�	U�j�r
�K�ȡX�� �'����M�T�&Xwj\��V�I��Hx'��7KQ܎
:,X�E$5S�l5,��P�
+27�D���3?�ڙ�
I<?'����Gb��o9Yi��V�J��
���j��P���?�8�/QS��2���׊䧮��⁛Ň��=F*�'���d�vS�����Eg����~��&o_�ϟ�K��}��
+�U��4&6b�������P�
�O
�L$O`�Ǧ5a�����C��υ�Aj原��G�

��U	q��$ّ�j<�t��ο͎&G�$���1
�x��T��"�C���f"TJBL�1b۫x:�}7��'��i�Q
+�SO�SZ��6	nw��&�C�a9x�r�UŻk&�IQf�~�)1
�oj��r�j��Lz�D�+�
�K�.H_9^�w�W�)
��)�`Q(��h!C#}�x.�����<��l~�ŋ6S}�f��D�sw��~���V�uڄ͞��w~�5�3�B�am�YS4�� ��Qk��S��,�t
��
�D��(��{��
�LGİ�O��>��ߚ
'��4g��Ntox���z'��5Y�@�u�M���,Z���57��a�<�X[p��s8��M���ِi`�����*�wi�rbMo(���7-/ʧ�b1d�
+ʞ�%"����ȶ�ci��?݂����X�m�9A!�X���F&
&��ҦC�����X��	��`�I	�tG���eE�o^�2ϔ���Eګl���"
�I��GLk
�JG�Ŷm��dy2�m�iO�Bui
�^m՛Tc��I��^aM�l�
+�8� ��p
(y��jD���@
+ku�]EU�3oZ%i`��X��-��w��)M��g]�a
�C�

%��y
�l��}
Ĉ�^�"���a��`cx��
�@"x&��i퟊��z-�"��O��j4T��
���}�Qզ
�Z�uV�K�����C��뉠0�`�c
u=��3�����ð��g
�:���
���
+�ܩ��c����J:�����]��S(Gh�Z]#Q!�
W��(��� G���A��w�Ay>��=u�Fz=�:*�'P�5E<�����Ӿb�c��Ο^��\������I�� .�����O}�9\e�#ZI�9 ��6
����u?B$����?��+�#��L�
�;W���}��C�.�9]{"t;�ڐ�����������m��,�������N��FX�,����u�������Uhj�b �7��w����6�ьɒ�%�zӪa)ʶ������T$?�(
���_x�Ay�S�����ʛ:�p_G��	�� D%������_r���Q�)T�l99;������-�טq
��M+�N���0N*�|(r�+�

���
��
+endstream
+endobj
+19171 0 obj <<
+/Type /Page
+/Contents 19172 0 R
+/Resources 19170 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 18590 0 R
+/Annots [ 19051 0 R 19057 0 R 19058 0 R 19059 0 R 19060 0 R 19061 0 R 19062 0 R 19063 0 R 19064 0 R 19065 0 R 19066 0 R 19067 0 R 19068 0 R 19069 0 R 19070 0 R 19071 0 R 19072 0 R 19073 0 R 19074 0 R 19075 0 R 19076 0 R 19077 0 R 19078 0 R 19079 0 R 19080 0 R 19081 0 R 19082 0 R 19083 0 R 19084 0 R 19085 0 R 19086 0 R 19087 0 R 19088 0 R 19089 0 R 19090 0 R 19091 0 R 19092 0 R 19093 0 R 19094 0 R 19095 0 R 19096 0 R 19097 0 R 19098 0 R 19099 0 R 19100 0 R 19101 0 R 19102 0 R 19103 0 R 19 [...]
+>> endobj
+19051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 707.957 196.709 718.861]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+19057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 696.002 151.22 706.906]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 696.002 171.145 706.906]
+/A << /S /GoTo /D (page.325) >>
+>> endobj
+19059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 684.047 208.325 694.951]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+19060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 672.809 177.332 682.996]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 660.136 213.307 671.04]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 648.181 250.228 659.085]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.878 636.226 197.815 647.13]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+19064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 624.271 180.65 635.175]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+19065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.814 612.316 286.75 623.22]
+/A << /S /GoTo /D (page.325) >>
+>> endobj
+19066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 600.361 165.148 611.265]
+/A << /S /GoTo /D (page.326) >>
+>> endobj
+19067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 578.388 145.791 587.354]
+/A << /S /GoTo /D (page.195) >>
+>> endobj
+19068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.14 564.495 285.077 575.399]
+/A << /S /GoTo /D (page.326) >>
+>> endobj
+19069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 553.257 172.649 563.444]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.895 540.585 219.832 551.489]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 529.347 158.274 539.534]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.184 516.674 175.12 527.578]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.371 504.719 173.307 515.623]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.983 493.481 193.92 503.668]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.885 480.809 166.821 491.713]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 480.809 186.747 491.713]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.424 468.854 177.342 479.758]
+/A << /S /GoTo /D (page.333d) >>
+>> endobj
+19078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.848 456.899 176.784 467.803]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.274 444.943 196.211 455.847]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 432.988 179.539 443.892]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.528 432.988 199.465 443.892]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 421.033 175.28 431.937]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.268 421.033 195.205 431.937]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.74 409.078 170.677 419.982]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.666 409.078 190.602 419.982]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.591 409.078 210.527 419.982]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 397.123 237.904 408.027]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.965 385.885 195.902 396.071]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.387 373.93 174.323 384.116]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19090 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.582 361.257 215.518 372.161]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.102 349.302 226.039 360.206]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 337.347 151.22 348.251]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 337.347 171.145 348.251]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.587 325.392 150.523 336.296]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 303.539 145.791 312.385]
+/A << /S /GoTo /D (page.336) >>
+>> endobj
+19096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 290.243 171.245 300.43]
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+19097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.047 278.288 152.983 288.475]
+/A << /S /GoTo /D (page.339) >>
+>> endobj
+19098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 265.616 179.539 276.52]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+19099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 253.661 175.28 264.565]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+19100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 241.706 151.22 252.609]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+19101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 218.512 211.095 228.699]
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+19102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.708 205.84 285.644 216.744]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+19103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 193.885 165.148 204.789]
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+19104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 171.912 145.791 180.878]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+19105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.841 158.019 271.797 168.923]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+19106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 146.064 173.457 156.968]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+19107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.909 122.154 250.846 133.058]
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+19108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.529 98.961 204.466 109.147]
+/A << /S /GoTo /D (page.260) >>
+>> endobj
+19109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.83 75.05 238.767 85.237]
+/A << /S /GoTo /D (page.262) >>
+>> endobj
+19110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.945 696.719 404.882 706.906]
+/A << /S /GoTo /D (page.341) >>
+>> endobj
+19111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.875 672.092 512.812 682.996]
+/A << /S /GoTo /D (page.342) >>
+>> endobj
+19112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.353 648.899 445.29 659.085]
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+19113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.577 624.271 504.513 635.175]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+19114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.369 600.361 469.305 611.265]
+/A << /S /GoTo /D (page.462) >>
+>> endobj
+19115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.538 577.168 393.475 587.354]
+/A << /S /GoTo /D (page.560) >>
+>> endobj
+19116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.021 564.495 506.958 575.399]
+/A << /S /GoTo /D (page.344) >>
+>> endobj
+19117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.582 540.585 402.519 551.489]
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+19118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.762 516.674 389.699 527.578]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.781 504.719 392.717 515.623]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.864 493.481 415.8 503.668]
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+19121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.182 481.526 411.118 491.713]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 468.854 471.162 479.758]
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+19123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 456.899 367.702 467.803]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.066 433.706 375.002 443.892]
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+19125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.806 421.033 513.742 431.937]
+/A << /S /GoTo /D (page.352) >>
+>> endobj
+19126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.148 409.078 412.085 419.982]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.073 409.078 432.01 419.982]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.379 397.123 369.316 408.027]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+19129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 385.885 361.714 396.071]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+19130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 373.212 393.265 384.116]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.649 361.257 427.567 372.161]
+/A << /S /GoTo /D (page.358d) >>
+>> endobj
+19132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.369 350.019 409.305 360.206]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+19133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.294 350.019 429.23 360.206]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 338.064 426.46 348.251]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.715 326.109 399.652 336.296]
+/A << /S /GoTo /D (page.361) >>
+>> endobj
+19136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.516 313.437 391.452 324.34]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.441 313.437 411.378 324.34]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 302.199 387.168 312.385]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 289.526 396.021 300.43]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 289.526 415.946 300.43]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.568 277.571 385.505 288.475]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+19142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.493 277.571 405.43 288.475]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+19143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.187 265.616 391.123 276.52]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.112 265.616 411.049 276.52]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.206 253.661 386.142 264.565]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+19146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.131 253.661 406.067 264.565]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.056 253.661 425.993 264.565]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+19148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 241.706 391.761 252.609]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+19149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.75 241.706 411.686 252.609]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+19150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.705 229.75 383.642 240.654]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+19151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.63 229.75 403.567 240.654]
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+19152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.556 229.75 423.492 240.654]
+/A << /S /GoTo /D (page.366) >>
+>> endobj
+19153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.324 217.795 394.242 228.699]
+/A << /S /GoTo /D (page.364d) >>
+>> endobj
+19154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.975 205.84 388.912 216.744]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.9 205.84 408.837 216.744]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.517 193.885 457.454 204.789]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 181.93 454.386 192.834]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.583 169.975 442.52 180.878]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.821 158.019 408.757 168.923]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+19160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.6 146.064 411.537 156.968]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19161 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.525 146.064 431.462 156.968]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19162 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 134.109 367.702 145.013]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19163 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.69 134.109 387.627 145.013]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.07 110.916 401.006 121.103]
+/A << /S /GoTo /D (page.224) >>
+>> endobj
+19165 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.175 98.961 402.112 109.147]
+/A << /S /GoTo /D (page.224) >>
+>> endobj
+19166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.497 86.288 380.434 97.192]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 74.333 391.761 85.237]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19173 0 obj <<
+/D [19171 0 R /XYZ 89 770.89 null]
+>> endobj
+19170 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19292 0 obj <<
+/Length 1756      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[w�6
���m��Hq�Y�Ф�ҵY�f;;k{t0�
:n�4���
��&	p�bc,~��o+/&Ϯ'��ixȳ�m\/
��!f�������?��/

�3���`�#oO�_O>M����f�q� ������~i`dz�q[-�
���
o'N�.!6�!�`���pA��{����2ͧ�f?W���
o^L�w3���l���>f��1���P8j ����|�gCa6�<����C
����H-�=���D�>�J����}�*��~~wr�*L����_�\E�&�"�"�z|j��OJ0"��z~�W�i|F
������&��ܶ""|o��� :Ly���$H���aY�K)���"p����U�dz�ed�I`��VHc� J�j�N+�Z�'C�� �4�K�@����N����?B_�<�}NI�� |o
[��s�&���6�����{�i"�V�0�W*M��T�",?_�4�y.�@#+�պ�¯j����!
%�s����4��}ll
��!
r�f���F��x�mؒ��3ۃFM�
e,�la�B�K�y`�ypFsm��8N��Fr������'}=�����'j��B?�|�y$cV�k�Q���`C��w�Z����C��[�ڮYs�e(�jh.�\Yੂ�f5~@���:��y�N܇jb��%ap�[4R�M�0��=d[�q��E�t�
�.�1 [...]
+��.e����hA�Ubt�
�iR�i�7"�c���o%0�$�
��)!��XxQG��(\��������r���T�in�(`)�"k�Y�c �`a�
k���5�\[wiߐ��5�?��u�B�>���D|k�/*n�
���� �/D9�H�CA�F5�P"�~	�Bzg�
�՞�u۔:m�؃g�9��
9�F
�e����7hp���0�������Q
+�������L
v�F
GU���]� z����;�qyyz[m���ڶ�H�YH��XW~�m��@��T.�\�T�gwe �A��AL��K�3��*��h
ڌ@;�
c
U��J�rP����*M ���3�n6e�*_����*�P��nV(��
�P��!������<4�M�R]d~ �"�E"�i�}h�D<
8������L?~Є�"n�U��:�dB�E���o��Ō߆
��
+L�i�U�
�5@^`]IP��.�2Oc��w�-*\ܝ�wq�"��6C1�Mߩcs!��ޛ�Q]�h*���?�kJfj�2�l"5�
+��]�H
P��*Nd*�\��4F�G��C���"�O@��F*}
~�*)I��g7���"�~��(}}F��P
�5g2�7"���N��p�I}�{�L���i$��\|�)�J�J#��D]�<��ݾ&�⏒��Ҽ�F�
�o���a!���	j!�
��t����>V}�� #CT.P	;,���Q�%�t\n�.�b?��hL�EN�zgy
7�6�8L�6n�hlL:m�ѽ)�=X
>�t4W���E&i�hҁS�!`��D�z���!O˶��S�?��2(yB�$���w
m�
j��}��˱��˖��������j���W��_���2vTԿ_��ڏ������Qj5��n��>AәI��[!6|�D�gl�~��}�
R�c�3����N����U!�
+�xO M><���	=t�511H��
+ْVQm��ʑa�l�n%��4�ǡՊ����탛��i�� �o����N4
+endstream
+endobj
+19291 0 obj <<
+/Type /Page
+/Contents 19292 0 R
+/Resources 19290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19168 0 R 19174 0 R 19175 0 R 19176 0 R 19177 0 R 19178 0 R 19179 0 R 19180 0 R 19181 0 R 19182 0 R 19183 0 R 19184 0 R 19185 0 R 19186 0 R 19187 0 R 19188 0 R 19189 0 R 19190 0 R 19191 0 R 19192 0 R 19193 0 R 19194 0 R 19195 0 R 19196 0 R 19197 0 R 19198 0 R 19199 0 R 19200 0 R 19201 0 R 19202 0 R 19203 0 R 19204 0 R 19205 0 R 19206 0 R 19207 0 R 19208 0 R 19209 0 R 19210 0 R 19211 0 R 19212 0 R 19213 0 R 19214 0 R 19215 0 R 19216 0 R 19217 0 R 19218 0 R 19219 0 R 19220 0 R 19 [...]
+>> endobj
+19168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.541 707.957 170.478 718.861]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 696.002 169.661 706.906]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 684.047 175.28 694.951]
+/A << /S /GoTo /D (page.226) >>
+>> endobj
+19176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 672.092 151.22 682.996]
+/A << /S /GoTo /D (page.226) >>
+>> endobj
+19177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.75 660.854 162.687 671.04]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.968 636.943 239.905 647.13]
+/A << /S /GoTo /D (page.222) >>
+>> endobj
+19179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.489 601.078 152.426 611.265]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 588.405 175.28 599.309]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.541 576.45 170.478 587.354]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 564.495 175.28 575.399]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.75 553.257 162.687 563.444]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.889 529.347 250.825 539.534]
+/A << /S /GoTo /D (page.229) >>
+>> endobj
+19185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.024 504.719 206.961 515.623]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.234 493.481 212.171 503.668]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.713 481.526 172.649 491.713]
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+19188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.333 469.571 183.27 479.758]
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+19189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 456.899 179.539 467.803]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+19190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.528 456.899 199.465 467.803]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.087 444.943 169.023 455.847]
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+19192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 444.943 188.949 455.847]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+19193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.937 444.943 208.874 455.847]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.706 432.988 174.642 443.892]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+19195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.631 432.988 194.567 443.892]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.724 421.033 169.661 431.937]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.65 421.033 189.586 431.937]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+19198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 409.078 180.261 419.982]
+/A << /S /GoTo /D (page.375d) >>
+>> endobj
+19199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 397.123 167.16 408.027]
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+19200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.149 397.123 187.086 408.027]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+19201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.843 385.168 177.76 396.071]
+/A << /S /GoTo /D (page.376d) >>
+>> endobj
+19202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.494 373.212 172.43 384.116]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+19203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.419 373.212 192.356 384.116]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 361.257 175.28 372.161]
+/A << /S /GoTo /D (page.376) >>
+>> endobj
+19205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.268 361.257 195.205 372.161]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.655 350.019 169.591 360.206]
+/A << /S /GoTo /D (page.372) >>
+>> endobj
+19207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.728 338.064 184.664 348.251]
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+19208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 325.392 151.22 336.296]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 325.392 171.145 336.296]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+19210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 313.437 213.307 324.34]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.94 301.481 299.876 312.385]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.525 289.526 278.462 300.43]
+/A << /S /GoTo /D (page.378) >>
+>> endobj
+19213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 278.288 189.506 288.475]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+19214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 266.333 193.382 276.52]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+19215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 254.378 150.204 264.565]
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+19216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 242.423 235.284 252.609]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+19217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 230.468 234.178 240.654]
+/A << /S /GoTo /D (page.381) >>
+>> endobj
+19218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.899 217.795 242.836 228.699]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 205.84 187.294 216.744]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 194.602 182.323 204.789]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 182.647 187.304 192.834]
+/A << /S /GoTo /D (page.382) >>
+>> endobj
+19222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.293 182.647 207.23 192.834]
+/A << /S /GoTo /D (page.383) >>
+>> endobj
+19223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 169.975 179.539 180.878]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+19224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.667 158.019 187.603 168.923]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+19225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.552 146.064 199.489 156.968]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.27 134.109 221.207 145.013]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+19227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 122.871 151.728 133.058]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 110.199 151.22 121.103]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+19229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 88.346 145.791 97.192]
+/A << /S /GoTo /D (page.227) >>
+>> endobj
+19230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 74.333 175.28 85.237]
+/A << /S /GoTo /D (page.228) >>
+>> endobj
+19231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.692 684.764 381.629 694.951]
+/A << /S /GoTo /D (page.389) >>
+>> endobj
+19232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 672.092 367.702 682.996]
+/A << /S /GoTo /D (page.390) >>
+>> endobj
+19233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.499 660.136 510.435 671.04]
+/A << /S /GoTo /D (page.390) >>
+>> endobj
+19234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.341 648.181 424.259 659.085]
+/A << /S /GoTo /D (page.392d) >>
+>> endobj
+19235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.359 624.271 409.295 635.175]
+/A << /S /GoTo /D (page.396) >>
+>> endobj
+19236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.066 601.078 375.002 611.265]
+/A << /S /GoTo /D (page.396) >>
+>> endobj
+19237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 576.45 412.613 587.354]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+19238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 564.495 416.488 575.399]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+19239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 553.257 405.987 563.444]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+19240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 541.302 409.863 551.489]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+19241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.127 528.63 455.063 539.534]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+19242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 516.674 448.438 527.578]
+/A << /S /GoTo /D (page.412) >>
+>> endobj
+19243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 504.719 490.101 515.623]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+19244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 492.764 491.207 503.668]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+19245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.505 480.809 423.442 491.713]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+19246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 468.854 399.093 479.758]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+19247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 456.899 411.816 467.803]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+19248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.086 444.943 458.022 455.847]
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+19249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 432.988 438.386 443.892]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+19250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 421.033 451.108 431.937]
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+19251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 409.795 428.932 419.982]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 397.84 429.539 408.027]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.936 385.168 457.872 396.071]
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+19254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.21 373.212 446.147 384.116]
+/A << /S /GoTo /D (page.423) >>
+>> endobj
+19255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 361.257 424.239 372.161]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 350.019 387.726 360.206]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 338.064 380.533 348.251]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 325.392 417.345 336.296]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+19259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 313.437 473.365 324.34]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+19260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.353 313.437 493.29 324.34]
+/A << /S /GoTo /D (page.422) >>
+>> endobj
+19261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.084 301.481 458.002 312.385]
+/A << /S /GoTo /D (page.429d) >>
+>> endobj
+19262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 289.526 449.554 300.43]
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+19263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.013 277.571 455.949 288.475]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+19264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 265.616 440.856 276.52]
+/A << /S /GoTo /D (page.426) >>
+>> endobj
+19265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 253.661 387.009 264.565]
+/A << /S /GoTo /D (page.411) >>
+>> endobj
+19266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 241.706 449.992 252.609]
+/A << /S /GoTo /D (page.418) >>
+>> endobj
+19267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 241.706 469.917 252.609]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+19268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 229.75 462.714 240.654]
+/A << /S /GoTo /D (page.419) >>
+>> endobj
+19269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 229.75 482.639 240.654]
+/A << /S /GoTo /D (page.420) >>
+>> endobj
+19270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 218.512 389.38 228.699]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+19271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 205.84 423.701 216.744]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 193.885 413.2 204.789]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.45 181.93 456.368 192.834]
+/A << /S /GoTo /D (page.429d) >>
+>> endobj
+19274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.151 169.975 491.087 180.878]
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+19275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 158.019 441.962 168.923]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 146.781 386.62 156.968]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.609 146.781 406.545 156.968]
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+19278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 134.826 384.966 145.013]
+/A << /S /GoTo /D (page.410) >>
+>> endobj
+19279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 134.826 404.892 145.013]
+/A << /S /GoTo /D (page.411) >>
+>> endobj
+19280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.667 122.154 422.585 133.058]
+/A << /S /GoTo /D (page.405d) >>
+>> endobj
+19281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 110.199 396.021 121.103]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 110.199 415.946 121.103]
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+19283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 98.244 391.761 109.147]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.75 98.244 411.686 109.147]
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+19285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.295 86.288 455.232 97.192]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.221 86.288 475.157 97.192]
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+19287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.837 74.333 478.774 85.237]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+19289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19293 0 obj <<
+/D [19291 0 R /XYZ 89 770.89 null]
+>> endobj
+19290 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F24 529 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19407 0 obj <<
+/Length 1664      
+/Filter /FlateDecode
+>>
+stream
+xڽZm��6��_���31'�i�!�$M��n������ �jx
�\.���;���_
�hw�zvW0�0^̞^�.�{��M�Z�q�100<���B�f�|����ac`b �W��o.��-_̞]�>��s`��kdz�ij�����W0m��U��p,[\#�j��


�#A �2<M�^s� +a䖗;��6߳$`�*Ij�m#��3�fi!0w��4�;?K��R���-ʜ���ڣ`G��v�F<a4'�4������/�&[$�%O��

�O�n��/���8]@4�$�����h�H�c�B4�-4��3�<�"��#��'[9�%�
}.	-
+�M���˜etW!
�*�R˧��s�i�
<�6T*R
+��mY�zZ�R�����1�
t�}g�p�u�O¾�<��
�=��D�ۜf#���5�8�J�E�U��X�S�s��=~�{P�m�Ј\�h�$��s0�"�M����c��$�`�u�C��
��
>4���3E�<4���K躦�y���q˞K�>����VȲ��%#ϣT0���U*B²��_��g������6����Fu
�_��VG��,І�
��+r�.�"o�P)9�掫�\��*O��u����x�X�
�I���`�D� ~��P�?����iLJcV
+z#�Z`�u����i��
+�e%Y�-��Y͓� ����L��𢉃�
+N�e�wЗm��{�@�L�Z��fK�7]l�Q��lT�Ѿ�c1��3�=�=tR�Y.&RE�C?�
0u�9�'A5�]<��̫F�^��+$lY"]��`��Mu���r��O

U�gO_�m�R��c��a�녍D1´F�겫� �3�Vk.�@�X�A�gԀ��[J^�?���T'�Ud1V��)�j������R�*�
+6"��_��F�"}��}�B��⦬�VE�si����Q}�
< )(Z�jX�5��pq�rF�}h�Y ��N��Ez�ԍSэd�f1��t�����'��lꇩ�LU�-�
!�3
���H�]�M�Ƅ��ֹ�Π��q�,J��ZLW]AW���~�������> �Z[�pSȫް\�Ǿ:�=�^�h�W.����M��C�Tf2���q�hp���x�g,cL�hG
�A���4����U���Ϡ��
y�\��f�D��i6ܹԳ+��e��&�P̓~0����	n��_��+%��Ux�d(\��	�;q���eP���w���W���K�y��4.5|�H�(
�-�0��M���!K��8E;7
+��q-B�,`"U�5K��uO}�>ZT2_Z���t�6�N��9lY�W04��
1�
�+Ż*핑���u�T������n���
��	�&�
1-'
64�D ���D at S�fY���E�>��z=�
�����+��=b1*Y�
��E#����/� �
�&\}Q9�4@��Uؽ��Tظ?n�
+[�Y�"�Hʁ
v�������Yv�#dG:��pu���
� z�U�<��^
�i
\��m�2`pK��| <
P�E�p�ñG�sӦ>:�cu�Y�^�7,�a�м���F�=���w �zp�j�z(‡x�����c��j�>܋��<����A����)�]Yf�/.��m������[�`l�~	|#
+�J�8��x"O�U3�<���V�
+endstream
+endobj
+19406 0 obj <<
+/Type /Page
+/Contents 19407 0 R
+/Resources 19405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19288 0 R 19295 0 R 19296 0 R 19297 0 R 19298 0 R 19299 0 R 19300 0 R 19301 0 R 19302 0 R 19303 0 R 19304 0 R 19305 0 R 19306 0 R 19307 0 R 19308 0 R 19309 0 R 19310 0 R 19311 0 R 19312 0 R 19313 0 R 19314 0 R 19315 0 R 19316 0 R 19317 0 R 19318 0 R 19319 0 R 19320 0 R 19321 0 R 19322 0 R 19323 0 R 19324 0 R 19325 0 R 19326 0 R 19327 0 R 19328 0 R 19329 0 R 19330 0 R 19331 0 R 19332 0 R 19333 0 R 19334 0 R 19335 0 R 19336 0 R 19337 0 R 19338 0 R 19339 0 R 19340 0 R 19341 0 R 19 [...]
+>> endobj
+19288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 707.957 227.125 718.861]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 696.002 231 706.906]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 684.764 220.5 694.951]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+19297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 672.809 224.375 682.996]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.135 660.136 273.072 671.04]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 648.899 183.977 659.085]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 648.899 203.902 659.085]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 636.226 268.34 647.13]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 624.271 237.904 635.175]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 612.316 254.681 623.22]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+19304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 600.361 196.709 611.265]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 588.405 151.22 599.309]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 588.405 171.145 599.309]
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+19307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 576.45 208.325 587.354]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+19308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 565.212 177.332 575.399]
+/A << /S /GoTo /D (page.415) >>
+>> endobj
+19309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.321 565.212 197.257 575.399]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 552.54 213.307 563.444]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 540.585 250.228 551.489]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 528.63 180.65 539.534]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+19313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 506.657 145.791 515.623]
+/A << /S /GoTo /D (page.396) >>
+>> endobj
+19314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 469.571 165.148 479.758]
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+19315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 456.899 151.22 467.803]
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+19316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.943 444.943 302.88 455.847]
+/A << /S /GoTo /D (page.463) >>
+>> endobj
+19317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.208 432.988 275.144 443.892]
+/A << /S /GoTo /D (page.464) >>
+>> endobj
+19318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 421.75 189.506 431.937]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 409.795 193.382 419.982]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 397.84 150.204 408.027]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+19321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 385.885 235.284 396.071]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+19322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 373.93 234.178 384.116]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+19323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.105 361.257 252.041 372.161]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 350.019 182.323 360.206]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 337.347 179.539 348.251]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.178 325.392 211.115 336.296]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.05 314.154 183.987 324.34]
+/A << /S /GoTo /D (page.473) >>
+>> endobj
+19328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.976 314.154 203.912 324.34]
+/A << /S /GoTo /D (page.474) >>
+>> endobj
+19329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.82 301.481 186.756 312.385]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.019 290.243 162.956 300.43]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 278.288 151.728 288.475]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 265.616 151.22 276.52]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.3 253.661 301.236 264.565]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.809 241.706 181.745 252.609]
+/A << /S /GoTo /D (page.479) >>
+>> endobj
+19335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.696 229.75 203.633 240.654]
+/A << /S /GoTo /D (page.478) >>
+>> endobj
+19336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.561 217.795 194.497 228.699]
+/A << /S /GoTo /D (page.479) >>
+>> endobj
+19337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.908 205.84 285.844 216.744]
+/A << /S /GoTo /D (page.479) >>
+>> endobj
+19338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.264 193.885 212.201 204.789]
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+19339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.078 182.647 174.014 192.834]
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+19340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 169.975 179.539 180.878]
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+19341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.729 158.019 149.666 168.923]
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+19342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.645 146.064 169.581 156.968]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 134.826 151.728 145.013]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.224 122.154 191.16 133.058]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 98.244 196.132 109.147]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 86.288 200.007 97.192]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 75.05 189.506 85.237]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 708.674 409.863 718.861]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+19349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.127 696.002 455.063 706.906]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 684.047 448.438 694.951]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+19351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 672.092 399.093 682.996]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+19352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 660.136 411.816 671.04]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+19353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 648.181 438.386 659.085]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+19354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 636.226 451.108 647.13]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+19355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 624.988 428.932 635.175]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+19356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 613.033 429.539 623.22]
+/A << /S /GoTo /D (page.446) >>
+>> endobj
+19357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 600.361 424.239 611.265]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+19358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 589.123 387.726 599.309]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+19359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 577.168 380.533 587.354]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 564.495 417.345 575.399]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+19361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 552.54 449.554 563.444]
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+19362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 540.585 440.856 551.489]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+19363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 528.63 449.992 539.534]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+19364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 528.63 469.917 539.534]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+19365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 516.674 462.714 527.578]
+/A << /S /GoTo /D (page.453) >>
+>> endobj
+19366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 516.674 482.639 527.578]
+/A << /S /GoTo /D (page.454) >>
+>> endobj
+19367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 505.437 389.38 515.623]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+19368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 492.764 423.701 503.668]
+/A << /S /GoTo /D (page.451) >>
+>> endobj
+19369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 480.809 413.2 491.713]
+/A << /S /GoTo /D (page.445) >>
+>> endobj
+19370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 468.854 441.962 479.758]
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+19371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 457.616 386.62 467.803]
+/A << /S /GoTo /D (page.446) >>
+>> endobj
+19372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 445.661 384.966 455.847]
+/A << /S /GoTo /D (page.447) >>
+>> endobj
+19373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 432.988 396.021 443.892]
+/A << /S /GoTo /D (page.459) >>
+>> endobj
+19374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.01 432.988 415.946 443.892]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+19375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 421.033 391.761 431.937]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+19376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 409.078 443.606 419.982]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 397.123 447.482 408.027]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 385.885 436.981 396.071]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 373.93 440.856 384.116]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+19380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 361.257 454.386 372.161]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+19381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 349.302 413.19 360.206]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 337.347 367.702 348.251]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+19383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 325.392 424.806 336.296]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+19384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.877 314.154 393.813 324.34]
+/A << /S /GoTo /D (page.451) >>
+>> endobj
+19385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 301.481 429.788 312.385]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+19386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.36 289.526 414.296 300.43]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+19387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.513 266.333 418.449 276.52]
+/A << /S /GoTo /D (page.434) >>
+>> endobj
+19388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 241.706 412.613 252.609]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 229.75 416.488 240.654]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 218.512 405.987 228.699]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 206.557 409.863 216.744]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.31 193.885 398.247 204.789]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 181.93 399.093 192.834]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 169.975 411.816 180.878]
+/A << /S /GoTo /D (page.502) >>
+>> endobj
+19395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.939 158.019 435.875 168.923]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+19396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.023 146.064 463.96 156.968]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.229 134.109 449.165 145.013]
+/A << /S /GoTo /D (page.506) >>
+>> endobj
+19398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 122.154 438.386 133.058]
+/A << /S /GoTo /D (page.504) >>
+>> endobj
+19399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 110.199 451.108 121.103]
+/A << /S /GoTo /D (page.504) >>
+>> endobj
+19400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 98.961 428.932 109.147]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+19401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 87.006 429.539 97.192]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+19402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.86 75.05 424.797 85.237]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+19404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19408 0 obj <<
+/D [19406 0 R /XYZ 89 770.89 null]
+>> endobj
+19405 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19528 0 obj <<
+/Length 1578      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�6~ׯ�S*�T4��3I�8���MܙN�
!�)/Td���
��	��;}�DQԷ���
`l
`\L^\M�^9�pM׆�q�6\`8�5�-�����ͯ/���}�zk`�0�������oOί&7K��U�����XE�������0��0��C��!����q��
2b�F, �!1
�2-���J��X,_
"��?<��������ĸ�C���%�6�x.!��"�4���H�i�8�0~��A2]3����㘕}���H"��I�q�f�n��D~JxЄ��e�ZdA�6���e�A�b$�vKo���A�����ܰ�q�0ߣ�r> c��0%8�-;4���3=�T��P2
�h�y�$W����q�m۝v؄f7;����R��L��D�˝�
�ʤ���t5��&(���y�^� fT:,�Y��8��	Ѵ��8�ڍ�mI�T.�����
�n��|�q��Vj7�F�,"+˼�$��}n]��C�w�rV��>�r��7|��	%� [...]
6[�n���DF�gDi�=�M.�n���	�"�Y�cF���~f�)M��{����>���'m'��Zw����Fݷ4k!����zˠ�
ZU���2g
[��*+�f�̍����m�ϩ�>Xr��>=>sгWr+p�GX`��-ɳ��6�5m
�.?΋���"؄�i�t~u�6m�� ?
��^���x�Js��ƽd#��g�>T��$�Sb���6�TV�Y !�r��옌-b��)b��
/L�E0�t��e�5���C�ZL=y�{�\@����P3�����f��

5#-{�P3C��-uIߦu��}�������S���Aӫ	�.-�`b����j��1�Ɛg��~�V!많f8hвM���-
߆�a�#
+�=���ů�7�X�d�
+
C��
Oy򅭲��5�-�u�#��"����v�Pw�����5j��Ы-1�T�2�ž4�
+�ڱ��5�6w�Q!M*�
w8	K�� U.�k�T[�.�.6��pok�.YX�	�b�CG	
+W�
%�V��!~0G~��aP7o3/K���	ϙ�i�c2
-��p�|N�g �o��ۧ�30
�����&� �D�4�ǜ���Z�y��ȣr��[V
�2���0$�
�G�د̎ ��G����Xk���*h
� <��E�"� 
+�G/&j*�XLD�nwT<�̍0R at j͍tƘ}�vq����݉yz����ۓigֲ'��Q��pxLS�a���˭��wbI�&٠3Hx�
��]�u�<��O�7.[�E�Ŀ�¢ra˼\]e���f'Fށ��v�b��do\Ͷ�@���
���,
jh���w&�a��0/��1�
+�祭�T�����t �=^W�[Ȅa��|vL"�/ؾڲYA���}y�`��!SQ~�������O���4��Yy�2��o��9�5�Gƪu�L�m�W��䀕|G��pn�e�ӳ��n#X�1WI�H{
�	��a�t���HƲ�*�s)�ڬ*�r$�2m֒�¼� X��'���?V7��D�x�H;��/���
+endstream
+endobj
+19527 0 obj <<
+/Type /Page
+/Contents 19528 0 R
+/Resources 19526 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19403 0 R 19409 0 R 19410 0 R 19411 0 R 19412 0 R 19413 0 R 19414 0 R 19415 0 R 19416 0 R 19417 0 R 19418 0 R 19419 0 R 19420 0 R 19421 0 R 19422 0 R 19423 0 R 19424 0 R 19425 0 R 19426 0 R 19427 0 R 19428 0 R 19429 0 R 19430 0 R 19431 0 R 19432 0 R 19433 0 R 19434 0 R 19435 0 R 19436 0 R 19437 0 R 19438 0 R 19439 0 R 19440 0 R 19441 0 R 19442 0 R 19443 0 R 19444 0 R 19445 0 R 19446 0 R 19447 0 R 19448 0 R 19449 0 R 19450 0 R 19451 0 R 19452 0 R 19453 0 R 19454 0 R 19455 0 R 19 [...]
+>> endobj
+19403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.821 707.957 207.757 718.861]
+/A << /S /GoTo /D (page.506) >>
+>> endobj
+19409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.308 696.719 171.245 706.906]
+/A << /S /GoTo /D (page.493) >>
+>> endobj
+19410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 684.764 164.052 694.951]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.927 672.092 200.863 682.996]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.947 660.136 256.883 671.04]
+/A << /S /GoTo /D (page.500) >>
+>> endobj
+19413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.872 660.136 276.809 671.04]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 648.181 233.073 659.085]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 636.226 224.375 647.13]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+19416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.574 624.271 233.511 635.175]
+/A << /S /GoTo /D (page.502) >>
+>> endobj
+19417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.499 624.271 253.436 635.175]
+/A << /S /GoTo /D (page.503) >>
+>> endobj
+19418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.296 612.316 246.233 623.22]
+/A << /S /GoTo /D (page.503) >>
+>> endobj
+19419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.379 600.361 216.315 611.265]
+/A << /S /GoTo /D (page.496) >>
+>> endobj
+19420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.13 588.405 216.066 599.309]
+/A << /S /GoTo /D (page.496) >>
+>> endobj
+19421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 577.168 172.899 587.354]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.283 564.495 207.219 575.399]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 552.54 196.719 563.444]
+/A << /S /GoTo /D (page.493) >>
+>> endobj
+19424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 540.585 192.276 551.489]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+19425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.544 528.63 225.481 539.534]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.202 517.392 170.139 527.578]
+/A << /S /GoTo /D (page.494) >>
+>> endobj
+19427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.128 517.392 190.064 527.578]
+/A << /S /GoTo /D (page.495) >>
+>> endobj
+19428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.549 505.437 168.485 515.623]
+/A << /S /GoTo /D (page.495) >>
+>> endobj
+19429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 492.764 196.131 503.668]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.274 481.526 209.192 491.713]
+/A << /S /GoTo /D (page.490d) >>
+>> endobj
+19431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 468.854 227.125 479.758]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 456.899 231 467.803]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 445.661 220.5 455.847]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 433.706 224.375 443.892]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 421.75 183.977 431.937]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 409.078 268.34 419.982]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 397.123 237.904 408.027]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 385.168 254.681 396.071]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 373.212 196.709 384.116]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 361.257 151.22 372.161]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+19441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 361.257 171.145 372.161]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+19442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 349.302 208.325 360.206]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 338.064 177.332 348.251]
+/A << /S /GoTo /D (page.500) >>
+>> endobj
+19444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.56 326.109 189.496 336.296]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+19445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 313.437 180.65 324.34]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.249 290.243 173.186 300.43]
+/A << /S /GoTo /D (page.484) >>
+>> endobj
+19447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.194 277.571 300.13 288.475]
+/A << /S /GoTo /D (page.510) >>
+>> endobj
+19448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 265.616 179.539 276.52]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+19449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 253.661 167.16 264.565]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+19450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 241.706 175.28 252.609]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+19451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.607 229.75 179.544 240.654]
+/A << /S /GoTo /D (page.511) >>
+>> endobj
+19452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.184 217.795 300.12 228.699]
+/A << /S /GoTo /D (page.512) >>
+>> endobj
+19453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 205.84 179.539 216.744]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+19454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.224 193.885 167.16 204.789]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+19455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 181.93 175.28 192.834]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+19456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.607 169.975 179.544 180.878]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+19457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.005 158.019 267.941 168.923]
+/A << /S /GoTo /D (page.513) >>
+>> endobj
+19458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 146.064 196.132 156.968]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+19459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 134.109 200.007 145.013]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+19460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 122.871 189.506 133.058]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+19461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 110.916 193.382 121.103]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+19462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.896 98.244 187.833 109.147]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+19463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.772 86.288 191.708 97.192]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+19464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.646 74.333 238.582 85.237]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.501 707.957 448.438 718.861]
+/A << /S /GoTo /D (page.530) >>
+>> endobj
+19466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [429.828 696.002 446.764 706.906]
+/A << /S /GoTo /D (page.531) >>
+>> endobj
+19467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 684.047 490.101 694.951]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+19468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 672.092 491.207 682.996]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+19469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.505 660.136 423.442 671.04]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 648.181 399.093 659.085]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 636.226 411.816 647.13]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+19472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 624.271 455.81 635.175]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+19473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.509 612.316 510.445 623.22]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+19474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.132 600.361 491.068 611.265]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+19475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 588.405 438.386 599.309]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+19476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 576.45 451.108 587.354]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+19477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 565.212 428.932 575.399]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 553.257 429.539 563.444]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 540.585 424.239 551.489]
+/A << /S /GoTo /D (page.542) >>
+>> endobj
+19480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 529.347 387.726 539.534]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 517.392 380.533 527.578]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+19482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.393 504.719 469.33 515.623]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+19483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.269 492.764 473.205 503.668]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+19484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.428 480.809 473.365 491.713]
+/A << /S /GoTo /D (page.539) >>
+>> endobj
+19485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.353 480.809 493.29 491.713]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+19486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 468.854 449.554 479.758]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+19487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 456.899 440.856 467.803]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+19488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.073 444.943 387.009 455.847]
+/A << /S /GoTo /D (page.528) >>
+>> endobj
+19489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 432.988 449.992 443.892]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+19490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.981 432.988 469.917 443.892]
+/A << /S /GoTo /D (page.537) >>
+>> endobj
+19491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 421.033 462.714 431.937]
+/A << /S /GoTo /D (page.536) >>
+>> endobj
+19492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.703 421.033 482.639 431.937]
+/A << /S /GoTo /D (page.537) >>
+>> endobj
+19493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 399.18 362.272 408.027]
+/A << /S /GoTo /D (page.533) >>
+>> endobj
+19494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.497 385.168 436.433 396.071]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+19495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.444 373.93 389.38 384.116]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+19496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 361.257 423.701 372.161]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 349.302 413.2 360.206]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.431 337.347 504.367 348.251]
+/A << /S /GoTo /D (page.540) >>
+>> endobj
+19499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.054 325.392 484.99 336.296]
+/A << /S /GoTo /D (page.541) >>
+>> endobj
+19500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.497 313.437 380.434 324.34]
+/A << /S /GoTo /D (page.544) >>
+>> endobj
+19501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 301.481 441.962 312.385]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+19502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 290.243 386.62 300.43]
+/A << /S /GoTo /D (page.527) >>
+>> endobj
+19503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 278.288 384.966 288.475]
+/A << /S /GoTo /D (page.527) >>
+>> endobj
+19504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 278.288 404.892 288.475]
+/A << /S /GoTo /D (page.528) >>
+>> endobj
+19505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.778 266.333 361.714 276.52]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+19506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.084 253.661 396.021 264.565]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+19507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.824 241.706 391.761 252.609]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+19508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.614 229.75 466.55 240.654]
+/A << /S /GoTo /D (page.545) >>
+>> endobj
+19509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.103 217.795 440.039 228.699]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.476 205.84 415.412 216.744]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 193.885 393.266 204.789]
+/A << /S /GoTo /D (page.524) >>
+>> endobj
+19512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 193.885 413.191 204.789]
+/A << /S /GoTo /D (page.525) >>
+>> endobj
+19513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.837 181.93 478.774 192.834]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 169.975 443.606 180.878]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 158.019 447.482 168.923]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 146.781 436.981 156.968]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 134.826 440.856 145.013]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.617 122.154 489.553 133.058]
+/A << /S /GoTo /D (page.533) >>
+>> endobj
+19519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 110.916 400.458 121.103]
+/A << /S /GoTo /D (page.525) >>
+>> endobj
+19520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.447 110.916 420.383 121.103]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 98.244 484.821 109.147]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+19522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 86.288 454.386 97.192]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+19523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 74.333 471.162 85.237]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19529 0 obj <<
+/D [19527 0 R /XYZ 89 770.89 null]
+>> endobj
+19526 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19605 0 obj <<
+/Length 1694      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~ׯ��$Z�
��'�Lb)
���Jrӎ����Z��f at q�_��l��y�v�����U�(�r�{��
}04�ADY^+���0����e[����Y*�T�we�'�����Fo�����������z��Ue�/TT�Y�r�-�
i��U��z�C D} ��7Š!�0�'��J�;�
+��v��u!�
m� �=�r������/ȹ�!'ga��w;�j����L�߸èe�8
�̵ØQ;����DP3k	�|��
��FJz5���o#;��$hws������ȳ�,p�l
��̹�����x
�߲(fI�fU�����O��$	<�v⿹�	
#��KJ�ш�w��	���&e��*�UN�";	�&}��
K�n\9^֕��VA�K
}�Qr>����p}�&_R�0
t
��%�P4AS�	��	"��}ۖ����v�['��0��.�
4�f���Jo�4��B�+��;-+^�3<&H�k���W{�����`<��8��%�<RH���
+" �^,����x���i1K�����B��*�}�r���Y�z�[�2[l��Y��
C�E�{2y�Q�.��7��NPQ�&B&'kչ����Y��|=��PU��D/�$����t�F%�
oDS=�%����z��x�Maj�T�!�Є(���!��T�5J�	A ��;�:�y��I꺳��:��6q��\�gv���l4�eJ˳��˴
�5�409�d�eQ�pgW�&8D�r��>�B����

˖U��|�����\���׮L�W.k�Rm�b>���\OI`�rQ�DOϫN���֐�
`S��e�;� ��Me�G���X*�1��B�B%� ���#ce�]e����H����]<���������s�����D%'�lRk ��r�sd���1��Ў��r[u��G�
�3`bX&)������O���)ɋ�?�
��W�9X�k����b�u���?���6m�U�s��.?�g�$[��?�c����U$����d_0kD��$���@� �)��A��!g��K�a�
��͒��&�tq'̫�T	JCШ1�iH 8e�TρL���RR�e��AVj%�F�)�ÜWH�)���t��>2�6#�t�	�wT��u�¥��,�ՓS��
*I���[�Zs�y��N�\�(��|@�x~��3�p�t�o�s��J� �4����a�

�{�N[pҬZr
�u�zi8�-�
#¨sƚMf4?U3F���5 �M$
�Ɓ�+���"��w.^S�5�4����1[kJ����T�c�
J|?o�K��(��s��I�0i
�(Qz��I.9���P}���z�d;*��q�*%�0qmJ-X.���=S���!p�d�>��t�Ũ;��ۡz*�z�d���o�5���aI(g~~1
�����hN^�ʟo���fgoX�o�',����
M��tz>� `��K:
�G��7�KZ,瓓%����-'������Wd�1sK������Xi��^A�@��{A6f��셢��
+Th(���wv�س�p4�4epb�䆜��`�֑	,B��y:t�&�ro��������4����������R����eC�<?�_�`0Ը��PU���_�ױ�C<X
�l�$<>:��mb�o�*�J:��,����u�`� �
����g���������
+endstream
+endobj
+19604 0 obj <<
+/Type /Page
+/Contents 19605 0 R
+/Resources 19603 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19524 0 R 19531 0 R 19532 0 R 19533 0 R 19534 0 R 19535 0 R 19536 0 R 19537 0 R 19538 0 R 19539 0 R 19540 0 R 19541 0 R 19542 0 R 19543 0 R 19544 0 R 19545 0 R 19546 0 R 19547 0 R 19548 0 R 19549 0 R 19550 0 R 19551 0 R 19552 0 R 19553 0 R 19554 0 R 19555 0 R 19556 0 R 19557 0 R 19558 0 R 19559 0 R 19560 0 R 19561 0 R 19562 0 R 19563 0 R 19564 0 R 19565 0 R 19566 0 R 19567 0 R 19568 0 R 19569 0 R 19570 0 R 19571 0 R 19572 0 R 19573 0 R 19574 0 R 19575 0 R 19576 0 R 19577 0 R 19 [...]
+>> endobj
+19524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 707.957 196.709 718.861]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+19531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 696.002 151.22 706.906]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+19532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.209 696.002 171.145 706.906]
+/A << /S /GoTo /D (page.547) >>
+>> endobj
+19533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 684.047 208.325 694.951]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+19534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.396 672.809 177.332 682.996]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 660.136 180.65 671.04]
+/A << /S /GoTo /D (page.539) >>
+>> endobj
+19536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 626.328 145.791 635.175]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.682 613.033 159.618 623.22]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.803 600.361 188.739 611.265]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 588.405 179.539 599.309]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+19540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.343 576.45 175.28 587.354]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+19541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 564.495 221.605 575.399]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+19542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.087 552.54 169.023 563.444]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 540.585 151.22 551.489]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+19544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 528.63 213.307 539.534]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 516.674 250.228 527.578]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.013 504.719 285.949 515.623]
+/A << /S /GoTo /D (page.547) >>
+>> endobj
+19547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.02 492.764 279.956 503.668]
+/A << /S /GoTo /D (page.554) >>
+>> endobj
+19548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 468.854 192.814 479.758]
+/A << /S /GoTo /D (page.555) >>
+>> endobj
+19549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.405 445.661 190.341 455.847]
+/A << /S /GoTo /D (page.554) >>
+>> endobj
+19550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.878 421.033 192.814 431.937]
+/A << /S /GoTo /D (page.555) >>
+>> endobj
+19551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.249 397.84 173.186 408.027]
+/A << /S /GoTo /D (page.555) >>
+>> endobj
+19552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 373.93 165.148 384.116]
+/A << /S /GoTo /D (page.558) >>
+>> endobj
+19553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 361.257 151.22 372.161]
+/A << /S /GoTo /D (page.559) >>
+>> endobj
+19554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.584 338.064 158.521 348.251]
+/A << /S /GoTo /D (page.559) >>
+>> endobj
+19555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.877 325.392 264.813 336.296]
+/A << /S /GoTo /D (page.559) >>
+>> endobj
+19556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.352 313.437 287.289 324.34]
+/A << /S /GoTo /D (page.561) >>
+>> endobj
+19557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.101 289.526 186.037 300.43]
+/A << /S /GoTo /D (page.561) >>
+>> endobj
+19558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.262 277.571 255.199 288.475]
+/A << /S /GoTo /D (page.561) >>
+>> endobj
+19559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 266.333 145.79 276.52]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 253.661 179.539 264.565]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.532 241.706 199.469 252.609]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 229.75 151.22 240.654]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.105 218.512 164.042 228.699]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.324 205.84 297.261 216.744]
+/A << /S /GoTo /D (page.195) >>
+>> endobj
+19565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.211 170.692 165.148 180.878]
+/A << /S /GoTo /D (page.566) >>
+>> endobj
+19566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 158.019 151.22 168.923]
+/A << /S /GoTo /D (page.566) >>
+>> endobj
+19567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.851 146.064 276.788 156.968]
+/A << /S /GoTo /D (page.567) >>
+>> endobj
+19568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 134.109 179.539 145.013]
+/A << /S /GoTo /D (page.568) >>
+>> endobj
+19569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.694 122.871 185.631 133.058]
+/A << /S /GoTo /D (page.568) >>
+>> endobj
+19570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.217 110.199 262.153 121.103]
+/A << /S /GoTo /D (page.568) >>
+>> endobj
+19571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 75.05 191.728 85.237]
+/A << /S /GoTo /D (page.441d) >>
+>> endobj
+19572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 686.072 362.272 694.918]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+19573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 672.027 498.241 682.931]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+19574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 650.142 362.272 658.988]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.826 624.109 497.763 635.013]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+19576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.273 624.109 517.21 635.013]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+19577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 614.211 362.272 623.058]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+19578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.162 367.253 587.128]
+/A << /S /GoTo /D (page.490d) >>
+>> endobj
+19579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 552.249 504.348 563.153]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 528.274 504.348 539.178]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.56 504.299 515.496 515.203]
+/A << /S /GoTo /D (page.173) >>
+>> endobj
+19582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.946 492.312 529.882 503.216]
+/A << /S /GoTo /D (page.395) >>
+>> endobj
+19583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.933 468.337 503.87 479.241]
+/A << /S /GoTo /D (page.524) >>
+>> endobj
+19584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [506.38 468.337 523.317 479.241]
+/A << /S /GoTo /D (page.525) >>
+>> endobj
+19585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.836 444.362 521.772 455.266]
+/A << /S /GoTo /D (page.482) >>
+>> endobj
+19586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 420.387 511.551 431.291]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.836 396.412 521.772 407.316]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 362.539 362.272 371.386]
+/A << /S /GoTo /D (page.218) >>
+>> endobj
+19589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 338.477 362.272 347.443]
+/A << /S /GoTo /D (page.249) >>
+>> endobj
+19590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [499.107 324.552 516.044 335.456]
+/A << /S /GoTo /D (page.396) >>
+>> endobj
+19591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.273 301.326 408.209 311.513]
+/A << /S /GoTo /D (page.555) >>
+>> endobj
+19592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.503 288.621 530.44 299.525]
+/A << /S /GoTo /D (page.555) >>
+>> endobj
+19593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 264.647 475.018 275.55]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+19594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 240.672 475.018 251.576]
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+19595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 206.195 498.241 217.099]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+19596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 182.22 439.79 193.124]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 158.246 439.79 169.149]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 134.271 439.79 145.175]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+19599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 110.296 439.79 121.2]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+19600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 86.321 439.79 97.225]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19606 0 obj <<
+/D [19604 0 R /XYZ 89 770.89 null]
+>> endobj
+19603 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F11 613 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19690 0 obj <<
+/Length 1194      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�Ҥ�� �G���IT۝錓�@"Lq�������[-+�H���L�"�X/.�9X!� 罣����E�c8
3ps
,�1(�_.��_|>9�{���#0�m@�t�<�:(����
zH�B���԰l0	{�� pu�G 
���1����ޟ=�h�
� �Ø
!���� ѾP��8�O�����J�����TN��K���c�~�
,,S^i��y�1�}�2Ca����
J�v�i�/�Tfy��MQ��~���{Ѡ��ӯ��6FFR�4��1���f���Jبq��lV�]��t���1l��:.'�����~��h"�Hߋ6s��	���{Y3,�@ws
�Ou�3����V
L6���׆�
�-�����2I�G"�Ym���V�6��Wq$y.O�2J}l�LNԏ�9���j�'�yw��_���q�*1Iy��"��v^tcނ;UT
�t�s
��"?s���m���`�^��G?��I
yj&��v
D7C����x*߭�,jQ��XFf
,��s~%��D���]�:>R����4��>��
%2�i�5!d��.;+��2�q
"%
3�u�py�I�&u�$�Lb{��l����>SҶ��:����D6ׄ��d���}���j"��S�n���0b�ic�16���n�/
+�m�����Ew�/�j�*ϭ�b�]�|���O�oJ[�Tc{���~'
�~%��qį��8�t�����Ky3���+�C�e'�bR�a�l��Ҟ

8�t�l���"�s�j ��j�^���H�v�t��Z�Y��}��).���f(>
b]W��ܵ���^�$�W��5a�Z�/
->��h=���-҈��Owl�7E?
^g��C7���T<����]?�Q���[IZ>a���I�gyxw'�v�q�tag���Rh�nag6��"�����|:�w
Y�^&���2k�+
Y���E,!-�u�\��dKnK�-��{no�wTA��*x%3D�(�77��h#Q�o��6��F�\ų�Ջ�E�_!1lX�4}�T�>�
�1�|eZ��sn�e�E�D����������ƿ�V��
6��G�`H�o��,�/����ً,�`
+��A)��]M�����`<��y�$_8b��-�*{���1av퟇�(;��Gڨ�sU~����ڙ=h at dY8ϱ���e��EH�I�
�����G
+endstream
+endobj
+19689 0 obj <<
+/Type /Page
+/Contents 19690 0 R
+/Resources 19688 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19601 0 R 19608 0 R 19609 0 R 19610 0 R 19611 0 R 19612 0 R 19613 0 R 19614 0 R 19615 0 R 19616 0 R 19617 0 R 19618 0 R 19619 0 R 19620 0 R 19621 0 R 19622 0 R 19623 0 R 19624 0 R 19625 0 R 19626 0 R 19627 0 R 19628 0 R 19629 0 R 19630 0 R 19631 0 R 19632 0 R 19633 0 R 19634 0 R 19635 0 R 19636 0 R 19637 0 R 19638 0 R 19639 0 R 19640 0 R 19641 0 R 19642 0 R 19643 0 R 19644 0 R 19645 0 R 19646 0 R 19647 0 R 19648 0 R 19649 0 R 19650 0 R 19651 0 R 19652 0 R 19653 0 R 19654 0 R 19 [...]
+>> endobj
+19601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 707.957 313.839 718.861]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+19608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 696.002 296.564 706.906]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+19609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.345 672.092 281.281 682.996]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+19610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.792 672.092 300.728 682.996]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+19611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 662.194 145.791 671.04]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+19612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 636.226 290.078 647.13]
+/A << /S /GoTo /D (page.130d) >>
+>> endobj
+19613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 624.271 258.537 635.175]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+19614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 624.271 278.462 635.175]
+/A << /S /GoTo /D (page.167) >>
+>> endobj
+19615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.345 612.316 281.281 623.22]
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+19616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.792 612.316 300.728 623.22]
+/A << /S /GoTo /D (page.283) >>
+>> endobj
+19617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 602.418 145.791 611.265]
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+19618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 588.405 311.727 599.309]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 578.508 145.791 587.354]
+/A << /S /GoTo /D (page.430) >>
+>> endobj
+19620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.727 552.54 272.664 563.444]
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+19621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 528.63 285.097 539.534]
+/A << /S /GoTo /D (page.129) >>
+>> endobj
+19622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 516.674 311.727 527.578]
+/A << /S /GoTo /D (page.427) >>
+>> endobj
+19623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 504.719 287.867 515.623]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.727 480.809 272.664 491.713]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 456.899 285.097 467.803]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+19626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 444.943 258.537 455.847]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+19627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 432.988 260.191 443.892]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+19628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 421.033 311.727 431.937]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 397.84 186.747 408.027]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 375.15 145.791 384.116]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 361.257 287.867 372.161]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 337.347 285.097 348.251]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+19633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 325.392 258.537 336.296]
+/A << /S /GoTo /D (page.152) >>
+>> endobj
+19634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 313.437 260.191 324.34]
+/A << /S /GoTo /D (page.312) >>
+>> endobj
+19635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 301.481 311.727 312.385]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 278.288 186.747 288.475]
+/A << /S /GoTo /D (page.449) >>
+>> endobj
+19637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 255.598 145.791 264.565]
+/A << /S /GoTo /D (page.499) >>
+>> endobj
+19638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 241.706 287.867 252.609]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 217.795 285.097 228.699]
+/A << /S /GoTo /D (page.115) >>
+>> endobj
+19640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 205.84 258.537 216.744]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+19641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 193.885 260.191 204.789]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 181.93 311.727 192.834]
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+19643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 158.737 186.747 168.923]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 136.047 145.791 145.013]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 122.154 287.867 133.058]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 98.244 285.097 109.147]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+19647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 86.288 258.537 97.192]
+/A << /S /GoTo /D (page.151) >>
+>> endobj
+19648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 74.333 260.191 85.237]
+/A << /S /GoTo /D (page.313) >>
+>> endobj
+19649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 707.957 528.208 718.861]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 684.764 403.228 694.951]
+/A << /S /GoTo /D (page.450) >>
+>> endobj
+19651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 662.074 362.272 671.04]
+/A << /S /GoTo /D (page.498) >>
+>> endobj
+19652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 648.181 504.348 659.085]
+/A << /S /GoTo /D (page.532) >>
+>> endobj
+19653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 624.271 501.578 635.175]
+/A << /S /GoTo /D (page.116) >>
+>> endobj
+19654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 612.316 528.208 623.22]
+/A << /S /GoTo /D (page.414) >>
+>> endobj
+19655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 600.361 504.348 611.265]
+/A << /S /GoTo /D (page.533) >>
+>> endobj
+19656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 576.45 439.79 587.354]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+19657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 552.54 501.578 563.444]
+/A << /S /GoTo /D (page.113) >>
+>> endobj
+19658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 540.585 475.018 551.489]
+/A << /S /GoTo /D (page.146) >>
+>> endobj
+19659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 528.63 528.208 539.534]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 518.612 362.272 527.578]
+/A << /S /GoTo /D (page.409) >>
+>> endobj
+19661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 494.702 362.272 503.668]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.933 480.809 503.87 491.713]
+/A << /S /GoTo /D (page.525) >>
+>> endobj
+19663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [506.38 480.809 523.317 491.713]
+/A << /S /GoTo /D (page.526) >>
+>> endobj
+19664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 447.001 362.272 455.847]
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+19665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.897 432.988 510.834 443.892]
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+19666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 409.078 513.045 419.982]
+/A << /S /GoTo /D (page.292) >>
+>> endobj
+19667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 385.168 501.578 396.071]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+19668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 373.212 475.018 384.116]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+19669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 361.257 476.672 372.161]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 349.302 528.208 360.206]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 326.109 403.228 336.296]
+/A << /S /GoTo /D (page.458) >>
+>> endobj
+19672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 303.539 362.272 312.385]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 289.526 504.348 300.43]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+19674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 265.616 501.578 276.52]
+/A << /S /GoTo /D (page.128) >>
+>> endobj
+19675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 253.661 475.018 264.565]
+/A << /S /GoTo /D (page.162) >>
+>> endobj
+19676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 241.706 499.924 252.609]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+19677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 229.75 498.241 240.654]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+19678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 217.795 476.672 228.699]
+/A << /S /GoTo /D (page.322) >>
+>> endobj
+19679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 205.84 521.005 216.744]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 183.987 362.272 192.834]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 169.975 528.208 180.878]
+/A << /S /GoTo /D (page.425) >>
+>> endobj
+19682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 146.781 403.228 156.968]
+/A << /S /GoTo /D (page.457) >>
+>> endobj
+19683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 124.211 362.272 133.058]
+/A << /S /GoTo /D (page.507) >>
+>> endobj
+19684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 110.199 504.348 121.103]
+/A << /S /GoTo /D (page.543) >>
+>> endobj
+19685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 86.288 439.79 97.192]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+19687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19691 0 obj <<
+/D [19689 0 R /XYZ 89 770.89 null]
+>> endobj
+19688 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19758 0 obj <<
+/Length 1290      
+/Filter /FlateDecode
+>>
+stream
+x��_w�8���ܭ�Yi�?�����Yuu�tOwN��� � �v>�&�[k��XW/�J$��x��}0@
+$ �[���o�*Y��+�4�I�
͒�ξ��MYJ���Z@� dW���U�7�z��]��,�F�aJޢu�
H>;�I�j�ҏ�G
IST�I�֗X���XA��
a9�Ӂ��҅��$z���x�R�>�Z��4�p���t�Uh[j�^'ua�{��n�Z����y������ÇN������
H�͎3Bg
ڮGj0
q
|�i��-�"�0&���I��&Ơ%��]�w�C
���	:*ϩ��䱏��
�m�/;Y����?���-��3��AqBɉH�

��yz#4=�8�pL�O��3D�]N�l�QDJ3z���Q�P�<�<c��:pv~��(��������Q�
++�������LH@���Q�+�k{��A�4$��x�;�j�E0�c�r��Q��׏�]��p���I�V��Y
��ZT��Fg	+b��އiB���i��>�	u���J[U�f����#M,���S:^{�BH�J�~NR&��p��ln�
�"y�Q	�@�.h(-
+��%�az���Yr󓍦�钮������H�<�ל�^"!$�Z�e�
+[W��X�'���9�2�
+��gy�=/�oA
�vhr�E]���.F����J�,��qM��bآW�dI������"��#Ϲ@�Q��Y��'d}m��V�.W���w*�
�)��� �>��-w
+ES�4z�������(_ܒ:
(��p�"��$*�����z�H�0&.ŽV
S>�bY��uUߴ+�%�n�R���D�Or�9��h��*��b��G����y	3L��!�nʥj��.��d�.���j.��3C�~Q_ӿ
+Q���5kZ7�f4糗�A�9kg�-_
�1���tǍ��3ƶ%� �U�� �S;�K�t�"�ʓDys��9NF��4�>�~%����5x��ӎ�ڔ<J���6���{��?:B��L��8ԅ���~)�����#9����Z�Z{"f���l�������(s̚5|�.n�A��f5_�B�
�gE�{d��1
݈����G���*��xbb?�s�fn}���)AWdCQE7%�]�2���
w- hJѸ~\4���N��
U�JXgO�uYݧW[
L��u���`BYc1^��b:�^����ה�_:����Ѝs7*������Y�
A��P�tY��'�T��\������A�<H�RV{>�Y�<?;�̓�ā�%�g�o܌e��0W��Z�,�_|�Qϸ��U[~��� y�ܙ
+endstream
+endobj
+19757 0 obj <<
+/Type /Page
+/Contents 19758 0 R
+/Resources 19756 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19294 0 R
+/Annots [ 19686 0 R 19692 0 R 19693 0 R 19694 0 R 19695 0 R 19696 0 R 19697 0 R 19698 0 R 19699 0 R 19700 0 R 19701 0 R 19702 0 R 19703 0 R 19704 0 R 19705 0 R 19706 0 R 19707 0 R 19708 0 R 19709 0 R 19710 0 R 19711 0 R 19712 0 R 19713 0 R 19714 0 R 19715 0 R 19716 0 R 19717 0 R 19718 0 R 19719 0 R 19720 0 R 19721 0 R 19722 0 R 19723 0 R 19724 0 R 19725 0 R 19726 0 R 19727 0 R 19728 0 R 19729 0 R 19730 0 R 19731 0 R 19732 0 R 19733 0 R 19734 0 R 19735 0 R 19736 0 R 19737 0 R 19738 0 R 19 [...]
+>> endobj
+19686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 707.957 231.409 718.861]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+19692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 683.989 223.309 694.893]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 660.02 231.409 670.924]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 636.052 231.409 646.956]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 612.084 223.309 622.988]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 588.115 223.309 599.019]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 564.147 223.309 575.051]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 540.179 223.309 551.082]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 516.21 223.309 527.114]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 492.242 223.309 503.146]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 468.273 223.309 479.177]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 444.305 223.309 455.209]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 420.337 223.309 431.241]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 396.368 223.309 407.272]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 372.4 223.309 383.304]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 348.432 223.309 359.335]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 324.463 223.309 335.367]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 300.495 223.309 311.399]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 266.08 223.309 276.984]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+19710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 242.112 223.309 253.016]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+19711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 218.143 223.309 229.047]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+19712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.506 194.175 283.443 205.079]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+19713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 170.207 304.524 181.111]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 146.238 278.203 157.142]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 122.27 304.524 133.174]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 98.302 258.537 109.206]
+/A << /S /GoTo /D (page.164) >>
+>> endobj
+19717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 74.333 231.409 85.237]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+19718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 696.002 506.55 706.906]
+/A << /S /GoTo /D (page.209) >>
+>> endobj
+19719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 672.092 514.39 682.996]
+/A << /S /GoTo /D (page.384) >>
+>> endobj
+19720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 648.181 447.89 659.085]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+19721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 624.271 506.55 635.175]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+19722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 602.418 362.272 611.265]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+19723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 588.405 499.924 599.309]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+19724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 576.45 498.241 587.354]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+19725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 564.495 521.005 575.399]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 540.585 530.32 551.489]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+19727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 516.674 506.55 527.578]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+19728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 504.719 499.924 515.623]
+/A << /S /GoTo /D (page.240) >>
+>> endobj
+19729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 492.764 498.241 503.668]
+/A << /S /GoTo /D (page.280) >>
+>> endobj
+19730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 480.809 521.005 491.713]
+/A << /S /GoTo /D (page.333) >>
+>> endobj
+19731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 458.956 362.272 467.803]
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+19732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.613 432.988 506.55 443.892]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+19733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 411.135 362.272 419.982]
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+19734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 385.168 501.578 396.071]
+/A << /S /GoTo /D (page.119) >>
+>> endobj
+19735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 373.212 475.018 384.116]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+19736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 361.257 476.672 372.161]
+/A << /S /GoTo /D (page.315) >>
+>> endobj
+19737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 349.302 489.145 360.206]
+/A << /S /GoTo /D (page.347) >>
+>> endobj
+19738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 337.347 528.208 348.251]
+/A << /S /GoTo /D (page.417) >>
+>> endobj
+19739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 315.494 362.272 324.34]
+/A << /S /GoTo /D (page.501) >>
+>> endobj
+19740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 301.481 504.348 312.385]
+/A << /S /GoTo /D (page.535) >>
+>> endobj
+19741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 277.571 511.551 288.475]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.454 253.661 514.39 264.565]
+/A << /S /GoTo /D (page.385) >>
+>> endobj
+19743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 241.706 511.551 252.609]
+/A << /S /GoTo /D (page.475) >>
+>> endobj
+19744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.836 229.75 521.772 240.654]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 205.84 491.606 216.744]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 181.93 530.32 192.834]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+19747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.109 169.975 513.045 180.878]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+19748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.093 158.737 334.048 168.923]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+19749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 134.109 501.578 145.013]
+/A << /S /GoTo /D (page.112) >>
+>> endobj
+19750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 122.154 475.018 133.058]
+/A << /S /GoTo /D (page.149) >>
+>> endobj
+19751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 110.199 476.672 121.103]
+/A << /S /GoTo /D (page.310) >>
+>> endobj
+19752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 98.244 528.208 109.147]
+/A << /S /GoTo /D (page.408) >>
+>> endobj
+19753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 75.05 403.228 85.237]
+/A << /S /GoTo /D (page.448) >>
+>> endobj
+19755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19759 0 obj <<
+/D [19757 0 R /XYZ 89 770.89 null]
+>> endobj
+19756 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19840 0 obj <<
+/Length 1425      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�8~���m����������㍝�Τ
F�e�)pR�_���w�O!t>}�ʱ�6Ӏvݸ5ίL�ٺM�FS��i�:��n�=6{�N�����'� ��e����Fw��ހbh0�覥����W�M��'
�ض��l���_O6�n��@(xq��fB�C��
� i��g� ��|1��}�X�l��$1Oij"�W
��?3�9�h�By��`�:����6!��m�����b�10�@�CapP��"�I��Oٔ'b���B����3ElL��.�тc^
+A j��xn�Y��)�h
�;��DZ{��}��;�¶n�
�_xfAM��|��A�O�����1jBkK�����oN/Hx:gv\T���
��M���
+��l�~l���TJe�)�l^OY
g���LET�����E���X�MH���.Y�8W^�W�,n��	�Ҵ���0�T5|V��m8���@b(c���+����!��ǒ5.g���W"A�
���M툑eF(ojh�k���[�WU�a(8�O\��fX��tD^�|7`Ii�@P�}v�iZ�My���	l�e*�⋛J;	B[�5xĒ�,N"�r챨B
S��d�
��"%?r'e�2�V0��7��#�-�
������o���TA��p�� �ʔcX��Z�25;���v{���Mʍ/�J����t��t="C��MEk7�ټ�
�A>y�/s�CaQJ��Kܹ�E"9IF����ݍ6
�I}J�Rҝ�7����x��Dd��N�!���<�����k�/;�OT ,�Q�0q��-�{>Y����(S�2`(�s�T����ŌZ�4#Ν~8���G�� �Xp��	Z0�/���>-�h[�tT�&n�� �bZ �V�-��K
Z� $���vW,\_�p��l���
B��!O]&<�L
U``CК��4T����}<��/�->!�4�pQ|�7�ܛ�\~��ʖ�a�l�f<�ˊ�i�,m\� ~�ك�A'Eeɠr}�p��c�Ө��.��L�tH��$:�Ī���WTX�ji�d�������Ư�k��d�4�`)
+�S��a�t��yZ
+���E5��1��d���-��a��J���d��,�\�yMPR=ج�k+���K*�< �~��:�m�CQ.�q���t;N�yzwqӽ=i���_u?{��
+k�[��}���'bH�����I�	 "�^���~�BG�R�)t�����q�ta��0�1K�)5V�q
S'vo�Wz
n򋇘G�i���-
�˯� ^�}�,/��|�@�C�u��V��������W�G��(�:�iu �9I�����,��L��!���u`ZŻ�0�����ڐL�S.iu��
+
	�:��`B���t Me3�^g�W�=k�P�>q��
v�
+endstream
+endobj
+19839 0 obj <<
+/Type /Page
+/Contents 19840 0 R
+/Resources 19838 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19842 0 R
+/Annots [ 19754 0 R 19760 0 R 19761 0 R 19762 0 R 19763 0 R 19764 0 R 19765 0 R 19766 0 R 19767 0 R 19768 0 R 19769 0 R 19770 0 R 19771 0 R 19772 0 R 19773 0 R 19774 0 R 19775 0 R 19776 0 R 19777 0 R 19778 0 R 19779 0 R 19780 0 R 19781 0 R 19782 0 R 19783 0 R 19784 0 R 19785 0 R 19786 0 R 19787 0 R 19788 0 R 19789 0 R 19790 0 R 19791 0 R 19792 0 R 19793 0 R 19794 0 R 19795 0 R 19796 0 R 19797 0 R 19798 0 R 19799 0 R 19800 0 R 19801 0 R 19802 0 R 19803 0 R 19804 0 R 19805 0 R 19806 0 R 19 [...]
+>> endobj
+19754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 697.94 145.791 706.906]
+/A << /S /GoTo /D (page.497) >>
+>> endobj
+19760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 683.695 287.867 694.599]
+/A << /S /GoTo /D (page.529) >>
+>> endobj
+19761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.132 659.082 290.068 669.985]
+/A << /S /GoTo /D (page.210) >>
+>> endobj
+19762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 624.45 145.791 633.417]
+/A << /S /GoTo /D (page.197) >>
+>> endobj
+19763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 597.899 313.839 608.803]
+/A << /S /GoTo /D (page.189) >>
+>> endobj
+19764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.627 585.592 296.564 596.496]
+/A << /S /GoTo /D (page.293) >>
+>> endobj
+19765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 562.048 145.791 572.234]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 562.048 165.716 572.234]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.682 536.717 284.619 547.621]
+/A << /S /GoTo /D (page.130) >>
+>> endobj
+19768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.129 536.717 304.066 547.621]
+/A << /S /GoTo /D (page.133) >>
+>> endobj
+19769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 524.41 258.537 535.314]
+/A << /S /GoTo /D (page.165) >>
+>> endobj
+19770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.526 524.41 278.462 535.314]
+/A << /S /GoTo /D (page.168) >>
+>> endobj
+19771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 500.148 200.027 511.052]
+/A << /S /GoTo /D (page.176) >>
+>> endobj
+19772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.903 487.841 313.839 498.745]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+19773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 477.824 145.791 486.79]
+/A << /S /GoTo /D (page.194) >>
+>> endobj
+19774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.654 463.579 289.59 474.483]
+/A << /S /GoTo /D (page.211) >>
+>> endobj
+19775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.101 463.579 309.037 474.483]
+/A << /S /GoTo /D (page.212) >>
+>> endobj
+19776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 441.375 145.791 450.221]
+/A << /S /GoTo /D (page.217) >>
+>> endobj
+19777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 415.055 226.049 425.959]
+/A << /S /GoTo /D (page.233) >>
+>> endobj
+19778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.028 402.749 282.965 413.653]
+/A << /S /GoTo /D (page.243) >>
+>> endobj
+19779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.475 402.749 302.412 413.653]
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+19780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 380.544 145.791 389.391]
+/A << /S /GoTo /D (page.248) >>
+>> endobj
+19781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.237 366.18 291.174 377.084]
+/A << /S /GoTo /D (page.252) >>
+>> endobj
+19782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 341.918 226.049 352.822]
+/A << /S /GoTo /D (page.255) >>
+>> endobj
+19783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 317.656 226.049 328.56]
+/A << /S /GoTo /D (page.259) >>
+>> endobj
+19784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.345 305.349 281.281 316.253]
+/A << /S /GoTo /D (page.281) >>
+>> endobj
+19785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.792 305.349 300.728 316.253]
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+19786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 283.025 145.791 291.991]
+/A << /S /GoTo /D (page.290) >>
+>> endobj
+19787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 268.78 260.191 279.684]
+/A << /S /GoTo /D (page.324) >>
+>> endobj
+19788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.179 268.78 280.116 279.684]
+/A << /S /GoTo /D (page.325) >>
+>> endobj
+19789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.587 256.474 304.524 267.378]
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+19790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 246.576 145.791 255.422]
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+19791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 222.314 145.791 231.16]
+/A << /S /GoTo /D (page.340) >>
+>> endobj
+19792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.727 207.95 272.664 218.854]
+/A << /S /GoTo /D (page.348) >>
+>> endobj
+19793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 184.405 145.791 194.592]
+/A << /S /GoTo /D (page.365) >>
+>> endobj
+19794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.78 184.405 165.716 194.592]
+/A << /S /GoTo /D (page.367) >>
+>> endobj
+19795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 160.143 211.095 170.33]
+/A << /S /GoTo /D (page.226) >>
+>> endobj
+19796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.088 147.119 295.024 158.023]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 137.221 145.791 146.068]
+/A << /S /GoTo /D (page.377) >>
+>> endobj
+19798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.972 122.857 297.909 133.761]
+/A << /S /GoTo /D (page.386) >>
+>> endobj
+19799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [209.113 98.595 226.049 109.499]
+/A << /S /GoTo /D (page.390) >>
+>> endobj
+19800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 86.288 311.727 97.192]
+/A << /S /GoTo /D (page.428) >>
+>> endobj
+19801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 76.39 145.791 85.237]
+/A << /S /GoTo /D (page.431) >>
+>> endobj
+19802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.594 696.002 442.53 706.906]
+/A << /S /GoTo /D (page.433) >>
+>> endobj
+19803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 672.756 403.228 682.943]
+/A << /S /GoTo /D (page.460) >>
+>> endobj
+19804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.614 660.031 511.551 670.935]
+/A << /S /GoTo /D (page.476) >>
+>> endobj
+19805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.537 636.785 407.492 646.971]
+/A << /S /GoTo /D (page.98) >>
+>> endobj
+19806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 612.821 362.272 623.008]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+19807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.261 612.821 382.197 623.008]
+/A << /S /GoTo /D (page.509) >>
+>> endobj
+19808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.933 600.096 503.87 611]
+/A << /S /GoTo /D (page.546) >>
+>> endobj
+19809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [506.38 600.096 523.317 611]
+/A << /S /GoTo /D (page.547) >>
+>> endobj
+19810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.748 588.088 494.684 598.992]
+/A << /S /GoTo /D (page.553) >>
+>> endobj
+19811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.572 564.125 416.508 575.029]
+/A << /S /GoTo /D (page.559) >>
+>> endobj
+19812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.669 552.117 491.606 563.021]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.613 528.153 437.549 539.057]
+/A << /S /GoTo /D (page.566) >>
+>> endobj
+19814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 493.293 439.79 504.197]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+19815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 469.277 439.79 480.181]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+19816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 445.261 501.578 456.165]
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+19817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 433.253 475.018 444.157]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+19818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.735 421.245 476.672 432.149]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+19819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.272 409.237 528.208 420.141]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+19820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.292 385.991 403.228 396.177]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+19821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 363.367 362.272 372.214]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.411 349.302 504.348 360.206]
+/A << /S /GoTo /D (page.538) >>
+>> endobj
+19823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 325.286 530.32 336.19]
+/A << /S /GoTo /D (page.187) >>
+>> endobj
+19824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 315.268 362.272 324.235]
+/A << /S /GoTo /D (page.193) >>
+>> endobj
+19825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [513.384 289.315 530.32 300.219]
+/A << /S /GoTo /D (page.188) >>
+>> endobj
+19826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.988 265.298 499.924 276.202]
+/A << /S /GoTo /D (page.239) >>
+>> endobj
+19827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.304 253.29 498.241 264.194]
+/A << /S /GoTo /D (page.279) >>
+>> endobj
+19828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.069 241.282 521.005 252.186]
+/A << /S /GoTo /D (page.332) >>
+>> endobj
+19829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 206.422 439.79 217.326]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+19830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 182.406 439.79 193.31]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+19831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 158.39 439.79 169.294]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+19832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 134.374 439.79 145.277]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+19833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 110.357 439.79 121.261]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+19834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.642 86.341 501.578 97.245]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+19835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.082 74.333 475.018 85.237]
+/A << /S /GoTo /D (page.153) >>
+>> endobj
+19837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19841 0 obj <<
+/D [19839 0 R /XYZ 89 770.89 null]
+>> endobj
+19838 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19905 0 obj <<
+/Length 1015      
+/Filter /FlateDecode
+>>
+stream
+x��[s�8���+�0]ɶ|�[
��c�m��Q@!̂��6�~�
(�$��/`KG�|:�Α-#04��@���`BS�5< ]5!��� �U��V��b"h",Ze�M�n��VHV }��rpޚ@� ��t�
��(�TL�̄&@��?�ԑ�2���@0�2:��ܪ[Ť��	�n4~~䃘Q{t�����gH9K<,����j2A��@nU�Ԅz�����'l�lL�G��w�BrE�d��]ek
��T�Q�QT����-K
\T&#6
?S�f}>�e���"u�H�${|��n�h&S����L*?y,n^�
���!�(��a���l�U[��K8�F�Y2��/��05]��
�릌n��*&4����1g��sU�Tb�ws��Pr���}4
�M����x]߿BŸbl�=\G���'�5ǎe�(�,���LO���O6���:V���k�sE��lm�R���S�_���Y7%����[&�,C�ȍ��M/�~�Ѯ�i�̽���Y8��!��a��*F��7q�C�P�֛=����%@�Zn��w��
�28�C[M��Ӧs�t��
s&�.R�*DP
+��M��w���Ыz=�/	Mw
������hPE:�j�zd��ܚ�������$�
+I�^�P��Yq�߽^�Fg�����ݰ�����Ȗ<}6߈pR�E�\9%#�
˦ݳ�[���(~�
�S��h�FfN���Ҕ�Cs,��
˳\��-'��ޔ�N=~7[��k�;������a �B�	���֕�u@�pX:6���b���;g��؟��xpr��¸}Ξ�g�{�^ȭ�Zk2�e��S륆���
w�DX��r�:���)
+.��#��E]M諽(�����45;70TE�
+��o�c�7\��/�S
�U%�2��[,��q~�/"�G�l
O�c���;D�
�jMY��pU����S�� Y�!*$D��$O���ᔇC؏&+>_�iB��Q��L����(��
��������
+endstream
+endobj
+19904 0 obj <<
+/Type /Page
+/Contents 19905 0 R
+/Resources 19903 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19842 0 R
+/Annots [ 19836 0 R 19843 0 R 19844 0 R 19845 0 R 19846 0 R 19847 0 R 19848 0 R 19849 0 R 19850 0 R 19851 0 R 19852 0 R 19853 0 R 19854 0 R 19855 0 R 19856 0 R 19857 0 R 19858 0 R 19859 0 R 19860 0 R 19861 0 R 19862 0 R 19863 0 R 19864 0 R 19865 0 R 19866 0 R 19867 0 R 19868 0 R 19869 0 R 19870 0 R 19871 0 R 19872 0 R 19873 0 R 19874 0 R 19875 0 R 19876 0 R 19877 0 R 19878 0 R 19879 0 R 19880 0 R 19881 0 R 19882 0 R 19883 0 R 19884 0 R 19885 0 R 19886 0 R 19887 0 R 19888 0 R 19889 0 R 19 [...]
+>> endobj
+19836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 707.957 260.191 718.861]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 695.97 311.727 706.874]
+/A << /S /GoTo /D (page.415) >>
+>> endobj
+19844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 686.072 145.791 694.919]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 660.79 186.747 670.977]
+/A << /S /GoTo /D (page.451) >>
+>> endobj
+19846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 638.188 145.791 647.035]
+/A << /S /GoTo /D (page.500) >>
+>> endobj
+19847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 624.144 287.867 635.048]
+/A << /S /GoTo /D (page.534) >>
+>> endobj
+19848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 590.152 145.791 599.119]
+/A << /S /GoTo /D (page.479) >>
+>> endobj
+19849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.355 564.241 305.291 575.145]
+/A << /S /GoTo /D (page.483) >>
+>> endobj
+19850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 540.267 285.097 551.171]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+19851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 528.28 258.537 539.184]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+19852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 516.293 260.191 527.197]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.416 504.306 294.352 515.21]
+/A << /S /GoTo /D (page.374) >>
+>> endobj
+19854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 492.319 311.727 503.223]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 469.094 186.747 479.281]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+19856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 456.39 278.203 467.294]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 432.416 285.097 443.32]
+/A << /S /GoTo /D (page.118) >>
+>> endobj
+19858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 420.429 258.537 431.333]
+/A << /S /GoTo /D (page.154) >>
+>> endobj
+19859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 408.442 260.191 419.346]
+/A << /S /GoTo /D (page.314) >>
+>> endobj
+19860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 396.455 311.727 407.359]
+/A << /S /GoTo /D (page.416) >>
+>> endobj
+19861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 373.23 186.747 383.417]
+/A << /S /GoTo /D (page.452) >>
+>> endobj
+19862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.266 360.526 278.203 371.43]
+/A << /S /GoTo /D (page.552) >>
+>> endobj
+19863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 326.059 223.309 336.963]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 302.086 223.309 312.989]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 278.112 223.309 289.016]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 254.138 223.309 265.042]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 230.164 223.309 241.068]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 206.19 223.309 217.094]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 182.216 223.309 193.12]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 158.242 223.309 169.146]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 134.268 223.309 145.172]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 110.294 223.309 121.198]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.354 86.32 223.309 97.224]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 707.957 439.79 718.861]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 684.047 439.79 694.951]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 660.136 439.79 671.04]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 636.226 439.79 647.13]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 612.316 439.79 623.22]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 588.405 439.79 599.309]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 564.495 439.79 575.399]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 540.585 439.79 551.489]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 516.674 439.79 527.578]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 492.764 439.79 503.668]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 468.854 439.79 479.758]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 444.943 439.79 455.847]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 421.033 439.79 431.937]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 397.123 439.79 408.027]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 373.212 439.79 384.116]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 349.302 439.79 360.206]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.835 325.392 439.79 336.296]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+19891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 301.481 447.89 312.385]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 277.571 447.89 288.475]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 253.661 447.89 264.565]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 229.75 447.89 240.654]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 205.84 447.89 216.744]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 181.93 447.89 192.834]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 158.019 447.89 168.923]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 134.109 447.89 145.013]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 110.199 447.89 121.103]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.935 86.288 447.89 97.192]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [334.981 43.314 433.811 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19906 0 obj <<
+/D [19904 0 R /XYZ 89 770.89 null]
+>> endobj
+19903 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19926 0 obj <<
+/Length 719       
+/Filter /FlateDecode
+>>
+stream
+xڵ�]o�0���+|7"
c;��pY�Ut]�
+�&u����A�Џ?'*P ��WqΉ�����9Lg����|�
��F ��L���տ<���oG��E>D��y��ti�z#���ڊ 6�)�|0N��[Bm>:�
ˏ�G?c0�~Zh����P�a
16klL[B%���y&C%�Et��z�Z�
+5�p��,p�&�R��r��M�
Pj���旽2�m��^��������k���h`��9 ��&t7=��"J�P��4W2ϣ,m��a�q��q���
+�D���
��2`����<~3����}4a��&6F-1���<Z�6�;h�	�O���PǕ��8����]��ľY�1
+e�'��+99�l�i�rYh�� <J��۶)�(Y�F�
��������A8�l�+z��YD"����
c�)ǁ��'M{�Rz�@J�w�s��)�ļ����}�@'�SSx�o�Q�����ƅ�f����B����R��s��˿6ei�u��~�l�D�B�c|\������\�ySC��zn�f�@O�^�fuK�떌�Uo�z��;�I��
.��W.���Vn��t!b3��(zX�7[�njC���mG���RVy��
}_��tSRJ�ftV�n�s���2��q��	��G �nQ���L�$SUBQ���(4'���ZG�0d��Jh1�-�<R~�:.������'8ʹ�/��� �>
+endstream
+endobj
+19925 0 obj <<
+/Type /Page
+/Contents 19926 0 R
+/Resources 19924 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 19842 0 R
+/Annots [ 19901 0 R 19907 0 R 19908 0 R 19909 0 R 19910 0 R 19911 0 R 19912 0 R 19913 0 R 19914 0 R 19915 0 R 19916 0 R 19917 0 R 19918 0 R 19919 0 R 19920 0 R 19921 0 R 19922 0 R 19923 0 R ]
+>> endobj
+19901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 707.957 231.409 718.861]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.454 684.047 231.409 694.951]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+19908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.188 660.136 275.124 671.04]
+/A << /S /GoTo /D (page.563) >>
+>> endobj
+19909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.158 624.988 211.095 635.175]
+/A << /S /GoTo /D (page.225) >>
+>> endobj
+19910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.959 600.361 234.895 611.265]
+/A << /S /GoTo /D (page.223) >>
+>> endobj
+19911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.167 577.168 291.104 587.354]
+/A << /S /GoTo /D (page.230) >>
+>> endobj
+19912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.776 552.54 296.713 563.444]
+/A << /S /GoTo /D (page.568) >>
+>> endobj
+19913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 508.769 145.791 517.616]
+/A << /S /GoTo /D (page.508) >>
+>> endobj
+19914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 482.801 260.191 493.705]
+/A << /S /GoTo /D (page.320) >>
+>> endobj
+19915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 459.608 186.747 469.795]
+/A << /S /GoTo /D (page.455) >>
+>> endobj
+19916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 434.981 285.097 445.885]
+/A << /S /GoTo /D (page.123) >>
+>> endobj
+19917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 423.026 258.537 433.93]
+/A << /S /GoTo /D (page.158) >>
+>> endobj
+19918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 411.07 260.191 421.974]
+/A << /S /GoTo /D (page.318) >>
+>> endobj
+19919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.79 399.115 311.727 410.019]
+/A << /S /GoTo /D (page.421) >>
+>> endobj
+19920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 377.262 145.791 386.109]
+/A << /S /GoTo /D (page.505) >>
+>> endobj
+19921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 363.25 287.867 374.154]
+/A << /S /GoTo /D (page.539) >>
+>> endobj
+19922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.767 339.339 291.722 350.243]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+19923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [243.556 43.314 342.385 56.266]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+19927 0 obj <<
+/D [19925 0 R /XYZ 89 770.89 null]
+>> endobj
+19924 0 obj <<
+/Font << /F73 552 0 R /F60 532 0 R /F75 554 0 R >>
+/XObject << /Im3 547 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+19607 0 obj
+[522 0 R /Fit]
+endobj
+19530 0 obj
+[522 0 R /Fit]
+endobj
+18708 0 obj
+[522 0 R /Fit]
+endobj
+18516 0 obj
+[522 0 R /Fit]
+endobj
+18515 0 obj
+[522 0 R /Fit]
+endobj
+18514 0 obj
+[522 0 R /Fit]
+endobj
+18433 0 obj
+[522 0 R /Fit]
+endobj
+18432 0 obj
+[522 0 R /Fit]
+endobj
+18431 0 obj
+[522 0 R /Fit]
+endobj
+18346 0 obj
+[522 0 R /Fit]
+endobj
+18275 0 obj
+[522 0 R /Fit]
+endobj
+18274 0 obj
+[522 0 R /Fit]
+endobj
+18200 0 obj
+[522 0 R /Fit]
+endobj
+18199 0 obj
+[522 0 R /Fit]
+endobj
+18125 0 obj
+[522 0 R /Fit]
+endobj
+17973 0 obj
+[522 0 R /Fit]
+endobj
+17880 0 obj
+[522 0 R /Fit]
+endobj
+17785 0 obj
+[522 0 R /Fit]
+endobj
+10246 0 obj
+[522 0 R /Fit]
+endobj
+19928 0 obj
+[511.1 460 421.7 408.9]
+endobj
+19929 0 obj
+[398.6]
+endobj
+19930 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+19931 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
+endobj
+19932 0 obj
+[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
+endobj
+19933 0 obj
+[531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3 531.3]
+endobj
+19934 0 obj
+[416.4 450.6 513.2 481.1 363.8 592.2 599.5 619.2 506.9 450.6 588.2 529.4 587.7 452.4 556.3 611.7 640.8 670.5 639.4 477.1 609.5 852.5 529.4 374.4 671.1 1027.8 1027.8 1027.8 1027.8 285.5 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 4 [...]
+endobj
+19935 0 obj
+[799.4 285.5 799.4 513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4]
+endobj
+19936 0 obj
+[761.6 489.6 761.6]
+endobj
+19938 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410]
+endobj
+19939 0 obj
+[826.4 531.3 826.4]
+endobj
+19940 0 obj
+[500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
+endobj
+19941 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+19942 0 obj
+[777.8 777.8 777.8 777.8 777.8 611.1 888.9 555.6 333.3 611.1 611.1 666.7 666.7 722.2 722.2 444.4 444.4 1000 777.8 666.7 666.7 611.1 611.1 777.8 777.8 777.8 777.8 777.8 777.8 500 694.4 777.8 777.8 777.8 777.8 777.8 777.8 666.7 666.7 666.7 666.7 777.8 777.8 777.8 777.8 444.4 444.4 402.8 402.8 388.9 388.9 777.8 777.8 777.8 777.8 777.8 777.8 555.6 555.6 555.6 555.6 0 0 0 0 0 1000 1000 1000 833.3 833.3 833.3 833.3 833.3 833.3 444.4 611.1 1111.1 1111.1 1111.1 1111.1 1111.1 1111.1 555.6 833.3 8 [...]
+endobj
+19943 0 obj
+[686.6]
+endobj
+19944 0 obj
+[1083.3 458.3 1083.3 736.1 1083.3 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 736.1 736.1 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1083.3 1361.1 1361.1 1083.3 1083.3 1361.1 1361.1 736.1 736.1 1361.1 1361.1 1361.1 1083.3 1361.1 1361.1 875 875 1361.1 1361.1 1361.1 1083.3 441 1361.1 944.5 944.5 1222.2 1222.2 0 0 805.6 805.6 944.5 736.1 1013.9 1013.9 1083.3 1083.3 875 1113.5 919.3 782.1 1083.9 770.8 988.2 850.4 1194.5 819.5 958.3 1055 964 [...]
+endobj
+19945 0 obj
+[777.8 777.8 777.8 777.8 277.8 666.7 666.7 777.8 777.8 1000 1000 777.8 722.2 888.9 611.1 1000 1000 1000 1000 833.3 833.3 416.7 416.7 416.7 416.7 1111.1]
+endobj
+19946 0 obj
+[1109.9 1007 867.4 1064 1110.4 626.7 772.9 1138.9 955.6 1284 1075.7 1047.5 875.4 1082.2 1030 856.3 832.3 943.9 827.8 1279.2 1112.9 824.3 943.1 597.2 597.2 597.2 1361.1 1361.1 597.2 774.4 633.3 649.4 739.7 677 684 700.6 827.6 533.6 588.2 758.1 480.3 1228 880.8]
+endobj
+19947 0 obj
+[575 575 575 575 575 575 575 575 575 575 319.4 319.4 350 894.4 543.1 543.1 894.4 869.4 818.1 830.6 881.9 755.6 723.6 904.2 900 436.1 594.4 901.4 691.7 1091.7 900 863.9 786.1 863.9 862.5 638.9 800 884.7 869.4 1188.9 869.4 869.4 702.8 319.4 602.8 319.4 575 319.4 319.4 559 638.9 511.1 638.9 527.1 351.4]
+endobj
+19948 0 obj
+[760.6 659.7 590 522.2 483.3 508.3 600 561.8 412 667.6 670.8 707.9 576.8 508.3 682.4 611.8 685.9 520.8 630.6 712.5 718.1 758.3 717.8 528.8 691.6 975 611.8 423.6 747.2 1150 1150 1150 1150 319.4 319.4 575 575 575 575 575 575 575 575 575 575 575 575 319.4 319.4 894.4 575 894.4 575 628.5 869.4 866.4 816.9 938.1 810.1 688.9 886.7 982.3 511.1 631.3 971.2 755.6 1142 950.3 836.7 723.1 868.6 872.4 692.7 636.6 800.3 677.8 1093.1 947.2 674.6 772.6 447.2 447.2 447.2 1150 1150 473.6 632.9 520.8 513.4 [...]
+endobj
+19949 0 obj
+[1027.8 402.8 472.2 402.8 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 680.6 402.8 402.8 1027.8 1027.8 1027.8 645.8 1027.8 980.6 934.7 958.3 1004.2 900 865.3 1033.4 980.6 494.5 691.7 1015.3 830.6 1188.9 980.6 1027.8 900]
+endobj
+19950 0 obj
+[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4 1138.9 769.8 769.8 1015.9 1015.9 0 0 646.8 646.8 769.8 585.3 831.4 831.4 892.9 892.9 708.3 917.6 753.4 620.2 889.5 616.1 818.4 688.5 978.7 646.5 782.2 871.7 791.7 1342.7 935.6 905.8 80 [...]
+endobj
+19951 0 obj
+[458.3 458.3 416.7 416.7 472.2 472.2 472.2 472.2 583.3 583.3 472.2 472.2 333.3 555.6 577.8 577.8 597.2 597.2 736.1 736.1 527.8 527.8 583.3 583.3 583.3 583.3 750 750 750 750 1044.4 1044.4 791.7 791.7 583.3 583.3 638.9 638.9 638.9 638.9 805.6 805.6 805.6 805.6 1277.8 1277.8 811.1 811.1 875 875 666.7 666.7 666.7 666.7 666.7 666.7 888.9 888.9 888.9 888.9 888.9 888.9 888.9 666.7 875 875 875 875 611.1 611.1 833.3 1111.1 472.2 555.6 1111.1 1511.1 1111.1 1511.1 1111.1 1511.1 1055.6 944.5 472.2 8 [...]
+endobj
+19952 0 obj
+[938.5 569.5 938.5 877 323.4 446.4 446.4 569.5 877 323.4 384.9 323.4 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
+endobj
+19953 0 obj
+[833.3 777.8 694.4 666.7 750 722.2 777.8 722.2 777.8 722.2 583.3 555.6 555.6 833.3 833.3 277.8 305.6 500 500 500 500 500 750 444.4 500 722.2 777.8 500 902.8 1013.9 777.8 277.8 277.8 500 833.3 500 833.3 777.8 277.8 388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 2 [...]
+endobj
+19954 0 obj
+[592.7 662 526.8 632.9 686.9 713.8 756 719.7 539.7 689.9 950 592.7 439.2 751.4 1138.9 1138.9 1138.9 1138.9 339.3 339.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 585.3 339.3 339.3 892.9 585.3 892.9 585.3 610.1 859.1 863.2 819.4 934.1 838.7 724.5 889.4 935.6 506.3 632 959.9 783.7 1089.4 904.9 868.9 727.3 899.7 860.6 701.5 674.8 778.2 674.6 1074.4 936.9 671.5 778.4 462.3 462.3 462.3 1138.9 1138.9 478.2 619.7 502.4 510.5 594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 3 [...]
+endobj
+19955 0 obj
+[777.8 555.6 722.2 666.7 722.2 722.2 666.7 611.1 777.8 777.8 388.9 500 777.8 666.7 944.5 722.2 777.8 611.1 777.8 722.2 555.6 666.7 722.2 722.2 1000 722.2 722.2 666.7]
+endobj
+19956 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389 400 275 400 541 0 0 0 333 500 556 8 [...]
+endobj
+19957 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410 319 230 319 479 0 0 0 228 456 410 8 [...]
+endobj
+19958 0 obj
+[639.7 565.6 517.7 444.4 405.9 437.5 496.5 469.4 353.9 576.2 583.3 602.6 494 437.5 570 517 571.4 437.2 540.3 595.8 625.7 651.4 622.5 466.3 591.4 828.1 517 362.8 654.2 1000 1000 1000 1000 277.8 277.8 500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520 [...]
+endobj
+19959 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+19960 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
+endobj
+19961 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+19962 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+19963 0 obj
+[472.2 472.2 472.2 649.3]
+endobj
+19964 0 obj
+[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0 0 555.6 555.6 666.7 500 722.2 722.2 777.8 777.8 611.1 798.5 656.8 526.5 771.4 527.8 718.7 594.9 844.5 544.5 677.8 761.9 689.7 1200.9 820.5 796.1 695.6 816.7 847.5 605.6 544.6 625.8 612.8 987.8  [...]
+endobj
+19965 0 obj
+[222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500]
+endobj
+19966 0 obj <<
+/Length1 1425
+/Length2 6251
+/Length3 0
+/Length 7209      
+/Filter /FlateDecode
+>>
+stream
+xڍtT���6a�R H3tw�4H0��03C���t��"J��R��HI#%���7���s���k}ߚ���������v��,�F|��{����IʺJ�  �����ٍ�h�o=�)��"�R��PFB�h�N��up@�

+�bR��R  I�
D � �7����p��]�AB�]��<N. at PRR���;��AB
�p@�v��c3:�a��
+Ac��S�����������Hg9.^��v
!(����
��!����.P�_#���� X
� ���.^pG�f�4u�{
�_`�� ���� ����
+���W (��3�����c�pg�	
+� ��t�Ѿh^ 
w��P�?�
����Wj� ��?��F񣠰_
~���Ypw���(�_�S�"!غc�4�
����-9A�N�h8zy����^M�?����:g�@�b ���:��J`���6
+�Rc9�y < ',
H �	��#�C��! �	��O�?%"AA���!�P8ѿ�c���dl��P_��
?A �����5v�
p����-06PU����C�_F%%�/��'*�	�� AA1@
{�g�U�o����`���GDM�����z��3�ֆ
�g=v�! ���
+$
+r�~��K����7��������7R��~�9��?v�;��������j�k��0���i���
Q�;��UF(J
�
qԇ�
\�����
��!��׃�	�@�e��QAa{�����?S��
��vO�w0	�a[��D?A�:B|�6 �G��. �\ �@�� H���-�H�W�߲ � �D�V�#���]�ߣ������ �8MM 
��V=j:�T���[
�
c_5K���B��:�q=�����y�bjo;��*��4��VC�����g�綉�#��D��ou
�o)Vw22�+��_x�����7�h��zzI��ϣ<��P���,��<�j�V!�M|^<�kcR���}�8-�54#��=_���c7s�~2k%�l�
+��X�;0Wj,�j��CgAˈp���Oi��ͤ_᫘y��l�����G
I�ڦt�����GE|�O�uZ(���8<E�L
�� ����~a��N��l���Y
Р�
6F�$s\G�wmL��;&-��I�R��_ݙe)�����O�	��G�u��:�|f�ֻwkt��y��a/*�&�ϲ��s�WG|��������V��:�}%h����k֓w�^�lIp鵬��:�
&�m��X
F
]
+'׉{ī)D�t�kI�D�V�<h��
�`�g6lp�h���0�)c�"��k������m���h�Xb�(�
� ���g!+;�R�
�z��^�*���6=�ڱٵ�	�4�ZؾHO���U��L �YfX��X���>A��ˢAp�`�VW����]k�kOC֋��0���N+c}���U
� }��D��S�#U����Li��~����`ӱJO
-
�ױ�%"��}o�<�w+/�
�=�8�$Mʼn�ۛ'��붟�rl���K���6�<Q�v��E��We�P�b�}*�����6���)
�
�y���x�
kI��,���^i���(q
�����ʩ`��e'^�w�6���v�1R�	oC��LJn_�H3o_�ҧ��R�!��������ϕ$(G
�ګ����p���IG�C�
%?*����M[����<q�l<w"�n��z
�A(��	l8dC��y�C�J������P#[#�r����_u��$[�����<��WO���+]���?R�t����a�֪V�ML
�WZ��*
�(ϖ c��.alw�[��;9��>���5�n�����`�ЫƼ�R����2:+�*k��G�R�7����`tp���cw립o�[Ӆ/����m�b����&F���mNҡ*~��E���bZ��E���w
^q
���z�'�6{-���*g�~�[�]����@U^���ޤ�x�tr��h�C�
����K㯭4B7�S�
}H���&8�t`o%
�b�&��D� 
H���Y^�[�{|�|5�L��(��À���/w#9�2t9��k((��-�ϮX!��ESu
ވ�V?�n� kaܞޔ��LU����m����ʓ���������VNo�/��ȅ
�d��Ra:`q}�u"���Q3Q���pmY�^���oC�6P�&���݇�U�
+p
��h��>PNH�
�J��H{�V�
+�+�B�Ce
NO2�R����<�����:4��}j�
��ҷ2f˾��]�����I= oƮi*�Ak����iP#�:�I^����kw��遑�F�#�k��B�+YO�ѝ��Vx����=0��}�ܒ��sM\AN
\����Vn~A\#'���#�zS�ݎ:.
+$�ۥ�Ѹ�
�މ
+��y��O���E��_!U�Vn\ι0��?�(XR�L,e9	Q>����-��+{�ղC���C��&�AW�C��{��w�O]��
�p�
lI�"+MV�#7�Q\ڶuv�[4����8�
?Z�=�.�$O��-��I���
�U��@�Sw���գ5�Ey��z��SC*}%�܏�᭗��3��j�V�.n��u�WȟI\a���qew��ZKc���m�I��?#E&��C� ��J�漽u�T���2�&�Ϋ�N>s���J�n�ȧ�y`/|�L�ဏ�شү����Vc7!�&ܲB	S�^Z"M�c<������F�j��k���$�e�aF���ı
h� ���zq�����=��Y:��Y���Mt��^�)$k��4�\|-'�K��8
Y@�K�R�aYv3�`�S.
�I|l��6N>��Cl��
=��,'1sD�h
��Z��e����]�Lt�:��_lx�D
LV/��I>����Ə���*
+�v�)�0%�8���Sܕ�
:F
 �+6A�ܫ����R��V]}�,'�����%��F�I'2t�*��Ĕ��T�tJ���
�Ս�-"�
\���I�>�y]F:ȑ��fL��S�~��`��^�[���[��}&9(qĵ������Q��,��<��J���Yv�Jj�͟yu�?��0<kZ��Q�7qߩd�#|�����w�-�,�b.�ҝL��D.�c���
��6�H:}T�u͹1��9m
�y������6Uk�K�ˢ�YΏY���z�dNu��м^`�f!��=Z�ሤA[+�83���0�X�Z�5C�2����\�ETOU㬐=f�$mc#I���Ô8���).���=�f�i琍�!-yw@��s*�Ѿ����H�YˈJN
�\R�d9�M�_Yo�ӛ%,5�v|�i�T<�n�'�ç��+
So?E=G�\�Q�u
%���kF�����ҍ��*j�!�_�ghZ�E��L
B��=^ž�8TIy�+ի=�i�J�Hכ�eOV3����s�����/^\e�:�w����`�5���m>6	�%k�_�~c��N��
L����l��@f;��q68.�6ݑ�d��J�sIq/�<K��=�!�-�;�6�8-�ý��������� [...]
+\2�J�k⥿pe
��)�v�%5��|֧Z���\��7{c�
�
+�\����r�>s�gՋ�wh�E6���P�3D��!���%+$a��
Œ�
2'�<�}�*t�WSy
+g$�⩞0�`��}�G��r8
���LYi�ގ@2g����h9ӓd�.J�ͨ���.���s>�~�����6�h��!�����B��v�
�d��K
�j7U8t
��ێ_����&y�7�VӤ�M��ݤ�uH���v�n����d��V��]�j�_��+��g1C�^��.%n-�"����sq�7nj��
̒�V��.L�{F1~���S"�W�)΀t� ��d��f�jp��#zY\��y��ہ��,�EJ����]=�9_��7z�
+#�9�j���0���+�o�����6�ڽx���S5���$�1�8$�F�VlӲ�D�|b�
񦍾ޘ��,A�s�Ȕ*9�&�o�$���$d�8�Fs���G�)h/˚1���3U�n��V̟P�>�?
�VLm��-1��%~Li AH��Z����B_ at 4�_F���$��V�7�*d�`ͻ4�Z	�,�S���u_�|*v��]>�k#y�7P��'h
K��[�2'�⺲'�F�iP��������F�}�D>�O��:
+��ZrU�\w)x.�~1�΁#���N��8%]քN^#�M���X�$٤:i��ͤ���#|9T��o_����b�
� ��F����f����k0�w���rh9�u��
1��C0%��〗�����A��
��݃�Gj'̄�����P��uu
2L���wՙݥ�V�H�@嚼��t?d�@��
�OI�@r?_I�S�����Y�f3��+�{�?���lJ>nf;n��{��T�ͼ
8;�L8�J�Ad��1%�Fe��V�o�Ϣ2��F��H�S����'�	����߻�<}�Q�����zGs����N
6Ś$��Eջ��O�92�C�b‡��ڟ��O���eD��
��U_�N�i��lt\�v�s��km�:���=��f��\��R�����!ϖ'l

��]K��LrzcV�
�
��IC=
�&��C��ѧ��zA��������"Խb�c)\���^M���0�
sk�[2�!I9�y@𥻄=�EF�g�P�M>e��U�Tߟ���V��
���Ǩ n����_�d�p�
+̐�iUXNhK�{�ڰ*���=WR\op�΃����(<9w��:z˒G�ȭ�6���8 x�����9�
+���΄dSV����P�n܈yCC?)����z�~/.��?������˲����/��
*}�I�׸$ƶ;��'��W
�e>":����'���z>{WO��QR��b1�<��B�;��v�ɹ*�gN۝@˟��<���@*�q+�'�H+��
__�8)��S�!���Fc�E\�l.�sUm���V��F��ڝ�9
���>��t���f�Y0�
�{����>*�)d��8h!-��,�@�v>k�X���(�WO|]K�����EA��	�ܪҴ�'}�vve��<�-LMD��Y���Te�r��	���,��"'�
�O�?d�:��gj����ŒC;��m/?�O��%3
�n�փ�p�Me=�5<��2ޔm��{���É����H�PI���iР�d��Ki��md�
$
K,d{`[���ft'tV/4�?c�4�U���&���Ѥkc�S&��{��*��s- at Wh,W4
�eެ/?��;����pơ��Cjܧ^�u�yH�#z0�3������+�/Wl�����Hg
�R��MW^�&W�6����A�w7�qt
�Vo�
���!)��]V|�9��mwq�u�z)�窖� �E
��QԔ6ڂ�gng��ݎ�i��M#�DJe�ړ��qa�����g���ܼ�
O&
M
�z8K1�H\��$��c���x�H[� �_a��AYs�U�,Y?s��ݨFg�������C��d���2�a� )P_�F���z�,�q���
^�v���)�v�%�d)�ھC'I.����2O
�ɯ���_�R����� ���my�Q�
�?��vߘ��܏�j�Ė�����
���d��ʯ����BS�M��
1s3�Zd	�#�n�[���cb���.Fs�
+�\o��3O�ߎL����_D��W^��nIi���q F
��I�p����v.���,:
 �g�N,�R/&�}�7����R�
�Sm�Ly��+z���7Ӯ��TI�su��
 �t�i�9W�nh�0��7 ��&��լ���)ia�'3�}�2�i���
�`t<�c������b4a��7{O�M\k��f�	n�{�L�e��	^�=g[[��\PXT�&�z�����u
u�$��N�IHkU�ęy��̳8�w�q�Z]���iޜ�*U5��:�%Aѓ�K�S�e�3�O���Z�M��/16�3e?�_�.d�UYŬ/G�G_
�[Q�rH30<�'�;r~&�y���^�P�3.�R��2�C#��!xv�{�Q�����d
+��fd�o�3e��˘d]�A��XА|��[��xs?�'���2��عs� �'u�M
+�jX
k��
���{���S=����At��ȣ�o��RR��W��<��;�a�V�PѸQ����
�NS-y��=n-Q�掞&���3�Z0�voW�\�r��J ~7��)����'عX$��

+�X�b�"uo���
��d�)JJJg��;��?���S
+���9E�����a�?�V-�X'�<�Z�_������:��9Se%��"�/g��(ۢR:N+��e��f
��Y"u���%��M����:�
R2��'�*���]�
�sd�º$���k
�	ʡ�7�$�_v���Ȕ��S�UT^{��� �78��}|��R�9����g�[.NJ|�O𧟠�x8N������LNbV;}�V� ���N�^`ݩ�z;������V`|7�E�[/�d��B�]n#�pGI�D�o!�ix���
��.�	,��qv:��'���Z
+���
�b���v���|+��0���#s-�t	�n��ʶ������%W!
w�����䑟�ߣ�	���u�ʹ��=ĵ�c�w�
;N�nN��V��}[2����or����+`d`F*E.vP
�
�K���7�
P�G�x���A���f�YߛļC%���q��)!�zN	y
ކ[�p��h�S;�R�k��4�D��5w�[���z@��z[����J
U��"e~f�"ڔ%
:��`4��/���XC
w��9���+�Ca���Z��_<�S�PY�g頞�y��WF�
&�!��C�i����?V؃�P/�x%�?QU
�#��z��U���8o�]t�G��t[���¬Ri����WN���>��$�<�Zh�ЏV
&��d��Þ���V�]�H�:|�ϾP�Q��
�s�ތ�-o�в��[I�\�mVV^&�U�s�}&ʖ�F�"�0�����d<���¸��������GD`�#��*��OTU��,��HjR�նKC�M�`�s��
˖�旉�A��*,���˚
-�����{Vєɪh��
3�y?0���3�K^8���y+��Zy�����f!W+��aQ1���n~����^��

+endstream
+endobj
+19967 0 obj <<
+/Type /FontDescriptor
+/FontName /TQEGZP+CMBX10
+/Flags 4
+/FontBBox [-56 -250 1164 750]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle 0
+/StemV 114
+/XHeight 444
+/CharSet (/f/one/zero)
+/FontFile 19966 0 R
+>> endobj
+19968 0 obj <<
+/Length1 1384
+/Length2 5983
+/Length3 0
+/Length 6924      
+/Filter /FlateDecode
+>>
+stream
+xڍTT���P@���%%��\�Ai؅�؅e�����P at JJZJB��;TBi����}���{νg�y���<3�{f�y٘t
x�m(G�
+ �%�Z
+�b ~~! ?� 
�!
�
�c�c{ E��p��PDB�(�M	�B�p���3@@  *) &�����
�@J���0[����C����>H��
+]�W �
'@@BB��W8@���ـ� -0�ꂮhv l`P�ϿRpH;�P��||^^^@��;�����x�P }�;�	��$
��@3�

`��;�	�
�0(�

���"�� 5M��+������� P��t�&���ml.�`�
n��9C: M �� �m���t<�
sCЀ_7@�z 0��z�6H�+�
�s�I��gt��ᶊ(
���~J0$��v�ߓu�#��~v0���O�
�|Fp��TM�m���fED����DE P7 ��Ɓ�gzCW�/��O3�A��+�`�&
��A�x~�`O( ����wǿOx [�
+ ����x�dG��v����#a� 3~��	 ���~�@��-�����|��5u���3�ۧ����� xE��� 1@����݀�����a.��OF5�
 ��y����
$�	�wmz�� �Vߜ_����
�W����?��_���y8;�rs���7�����^eZZ�8��	}�-e�����P`�8����7��yCmua(����
�ɝap�.�
��S����Zn6N�ω;zR�\P���]Rn���);AQ ����>� �����z�Zl �@�C hr ;��<�|�lx��k�D���k���i
+�����L!l��
��ޞV��z�n
ˌ�m<L����A�x��pVd�,!��S��ϯ)s
��2^�m7���hJ�k���a���a�oz��g��|M7�m:^C�M�K7��NX�m�l�n
℺���^]*�5�%s���6�6+D5��(�5�1.�`˃dOR1c�x�q�H�yM

���\3�'r���
+��.
ƝM�.�
+��S�R�R�c
�
~`�S���N���Ua����B;z˩z�"��pS��^%i
��݋�+���B%�\z`1�!��}.\��q��sS[" ^��)D�<U—��r�jiB�
�ek�I&���ǒ&,⹍��u-�M�Z�ڗ��^�|�e���uO�)w��u��ne{ �}
���
��o�%jhe�.-�j_��
C��1���
NGO��[�N�l�0�����⚃m)J��X�|
��
p��~,�=�Z>�P�2%nO֨.�q�e1���|Fmu�h
�d�����
���F��Fѝx^��k,BY�;m�q�I���
)�O�>['���2�{T�ɽ�K:���&�{�A��o��"�ځv#�a�B����fBB��@��pWS���>�f�o����@�s�2
r!���Ar��da��6��S'x�	��C�I*���7{��M�T
��cP
t��Zm�6ٜ
fW�z<��I"�y�+w^J�s
=���� �-H�9�\�/��B[�w6�b�Q�	{)�
+�ȸp��5<�:Y[��^���|g�s�4�Rmb�9*3�P;�&����qc�`M��ny�?���2��M�[E>meT7.�v�m
�j2[� �{�TCiχ�@֡a���=�^D�0|G���M��_W�xiз��[���x�Y*�R����/�z�Byc�tc��X͵��DF�;���l{A���9G̒M*
+��G����` Q��Qd�Z��m�7
�z�!a�^؍�
fԿvC\��@'I����T̊`�OV�δ��q�%4�oh��w�9��Y;>�7�P�e�L\{2�v'�.��+H������%U��j\�o5MڈN�Ճ���@�l�!^���7b�ω5���t1۬Zk}���%��S7mj��}�
=,�,�
�����-�¬��;�M
��
�zkYSuI
x�
�s�>�̡>�#���	�7�
�!�$�8.�C:�
Ļ
�t
�}h��
+�
��0f����Խ��I�\JK���yi��YVI���a�k�B�-��y����n�\� 	͙�O$i\��|�:�c�"��¤7-Ǵfg�|_��
̌�{��#�C��}����̱
�)�&�bNp���K��;��SH�&�&�-�C:ƕ�K6&6�R�9y�ofcR����l5�ॺ�4|cŶKԢ� +\Z�5mƬ5�m����x(���7�P� ���<�J�4����)H�
F;\J�һ�<�r���
�Em��k��i�F=��é�j3ؒ���8�3
�%�a���*�hL|\n�4�$<�X�Ev0I	��	���5�Ʋ��]����(knY���,[Ec���4�R){���G�7�7&D�H8k�i�(�$��:����o�������	
���a���JZ�LϼQ���rJ�w
z
+�	Zv<�Qǣ�(^}'�+�rS�w�[1���Z���|���ֹF�gS��@KA����͏��{
�Z�
1���;��Ĕ����^a7l%d��~��e�:7�p��Ȟb81{URi�{�6h\�u�
S%����G�`Sm�����̉�w�i��T�MW=�Rߵq\,��*:U'oy�5V�S׳�3D��*hm9=]�`
7Y
0]��k�
+�U�� ��n�Y��k=��w�baU������TUf�CM�!E�t�C��"L��F'UT�INŵ�,�������R��{f�E�᭙C_PB�9Ŧ���.eL>���q��
+��F��I��=Nǝ�õi��WW���T�� �ގ�v=����и�Y-�O�z���҇d$�Ⱦ@F���R��+M����6���J
���s��?�vܪ_�8���n�؛�.$���ɚ�NXA�r
�L��W�X�M0�c�UU;�d2W��>߄��9X7x)(\��=Cn"�X�1�����
��lQ	�<�
+]�>��B����~Ѵ�Ɠ�˸��Ak����CO]I����'h\0R����Ɣ�jI�ٱ�唝i{+���Z�Q{
E���8���R���QH�d�N��L�
SrxJb�&>k�x�X��4RE�K��m+��
��͏�X4MGa�{��O{��/7�yI�.��
�9V�>�
ځ�2ߔ�(�t18���<�Ƣ�k�q�}d�"Ut|
��X��=J��D���Ƭ1��
1�֭[J��"�d�A�U�x�ʖe�
-�n��O��/���������C.pn�^w�뜱'���|�mT5�!u4,�%�jء�}L^nT=�{3W6Ñ��j�0���������:�����I,8w���<6����FJ�5��%q�}��E���nY[E,�6E� �:��T�IH��ێ�Y&�a��s��o��π<�t��������f
�)�i�x���W���
n
*M}�4���;#�d�
]�
�i%���t�������u'�=]��O^3Cb��LH�M�=kh��3�췱��q>G�{�/>ܻ�s�3s(�k�:'�٧���&D6
3���t{H�q�ȿ�J�$�����b�
���c���38.K
��wx
�7S��I���K�Tc�
K�ܠ��W�c���&�ud[£3{��`�=\r�^�g
�Aǫ�7�pc;�D��[!�˯E�՜�>��hj���Xý�V�h^9���Fz�,n��u��������I-8��H��#���<YW�Cp�z&�kk�����v�|Fs+�4�,���B�z�y�du����\w�~���L�߱�HDNL�c�'�r�:��ȗ[	�{��BjBj��7
��G�Jنkr8"-$,�uJ�C������[z
�Z�-
Ė9FK讈ɵ�/��H�Ax�8-�m�Uo)�=�n]�D�fP�W��z|{uEe@��0-���Œ���9��N�]l
�7
!X>�^���ȴ��wai�K��ئ,��Q{�e��U��_
+P��1�T�EK
:(Sc���e�Q����'BKG�l!�Z�
0�lk4�/��As�!����Ef�
���1f� �6��)9�̈́PlE�F5EEڳ^����e�BW��n
���z��s~��j񝣒��-��
���
+g��N|V�>=��YD��q�nr��c���[��L��?
�0q��
P
+�i��Ld�T_�'�p>�s
 ��FՖF|}�^�K "/��
oe���a�G�١���q��w��6�ͽ��`��9eL�ƺ��f§j
ǵ��ȝ7�Ջ��P+f?����B���+i����
<�pn�J�=>��N5X�(�̭C�����/
u�Z]�;+�C�����
�6�C�L�fC�[��g�!T�xg:-�����
M@ Ô�U��Ť�8����Y���9�0�=��C���W�����KTB���Ch����g�L�{^l�8��p��l�I�%�
Y��rm`�tfFY~�.����Xk�z�
�¶���-�ɯk;t�@CPh0�b�p�+�B�G�;Q����ߪ
+�nxA��Vjp4
+�.��`u�mk���w9��"*�\M�ҥ��\�,�#���d�e/��̐
m'�l7N[DO�bq�%�%�?B������h��؂���/�*��^�ײ�k��sY,�ڭU��
K���Ɵ��-O��ƕ�ט����
p`q2�w;t'
O�WojF�DjI�z�����wzN�z
g���(	J�u�E9�lѬ��>�
+�K9���� C�|��l�1Ej�g��M�=\��[����u�
	m�?�2L�#�IN��i�^Ө!�
�u�n�ɿ�u��U��gX2�(��u䴧mL�E�9����!/��u�����^+rb�?RIF�S�u�=�tC��땿��i0�>�
����4���X��.^jw�L���kirB<���P�̾Y�ynU�5�4'��"��S6�`[-TJp��I�W[c&f"������Ϥ�F�
V��d>��\T�EL4-�,�	�n7�TS��,�,��}ŷ�zza�y��?HC~�ߤ���M(�1��m�2ұ�׬�w�Dm���@n��
I�����c{jUu��r�����C��pE�[ߞ¯�?��бr��W�u�,��cDS�m���3Ť�ޕoW������X��j��Ŋ�P�t�ƹƞ����QʝR/�������n
��g�0�ݕw}��H�d|��Z�a�dF��w���O���=
&GV���}�Q[r�B��e@�l�M�tlI���C�s�����]��� [...]
g�g�e�
'i�`�ѵf��ǚGJ�t�7#��b1��$�
Q���雌�Y�O��~��
g�9U�f:{��Q�Af���	�4J�:ة���m�B��l�:�+i0IE	l/��Ъ����.��Ո�Z.5

�;%�5��bH�O;w39w��dX$cj2
Iy�~�_b
\?
+�8�g
�IQH�)@nQ��b�eV�(�v
���@�~Te�h�קz��"�[�������V��
���amO�tDJ?#7��gO#�`����M�'�ە�
��E݊���ˠ-��2��2��Y�=�s��<1y~����@KT�����1��G�t1>
������Z��4P��Qm�qJJ'I�<V�]
i
y�v/(
EI�"�wϦ�����R��u�.Z�&M
��-خ�#˰I�i�
��~�Cݒ%
غ�=N�0.
�h�u��ѶQ�a�'��]HM��cZ;���Ϭ^�G�^2xJ
8G�tuk��TJ��B��ZFg��P%���y>.N6k'�����=L]I�I=UllCtqܗ�
+G"1���½�&
+�05�
$ۺ�R����@|
o�.�NzcX�w
��ǻ%��M
��������w�<
+Z]]�6�ϩ%���!@x�c����C8�Э�����"�;����Ѕ�
+��Ȩ���[�Y������G!����}w����ڧg��RӴZ"� G7/������O#���}�]�s����PW�䇖W}�c/
+�*�f�
vf��B�l��@8�oN�f�V��xz�'���:V���%z�ܧ,�yq&̷�@?�mӷt7v3Y[��+\��E��blu�R�F���'���~�kS�[l��N��ҟ�\?�I{�&Z�}�UrI�
<
�_�<6jO�0�����D���7�Ie��!��)U1w��R�����h_��R|_�;���y��1)n��zO��� �6��L��$ 
��)��%����RFq!����ltp��x6A��wU�D;����r>�M�E��_$�vY�R8��F�4��[�⡎��������o�T\���C�~	E��G�B5
HL�V���Q�0f�>�ק͊����K��E}JJ?��W��Zk�		�x�f�Upkx*?�N��#�Ns<1iҏ䛅��F�k�E��&cO.��{��hn$p
-M� M��h�
��i��I���'\�[H�`in��d�̓�Y��7�Ui2�H�v�J�=�a� �#3�;~x�}q|�s`|Z8ڲ��lC��.��>�3�Y5�I���~g�N�
_�w����
	��jXi�)|w.��,ޡ�=�)�S
+�6�̓��l���~
+k�D��0�0��@�;ﬞ��� �0*k��H�z���EqBj����V��l!�V�M7�o��/˩�/�`H���
�˦7����ǸFI�
ԪU�SX;����1��[5<E��9�1�fԀ��i��XO����
/����_�2
͋���#��O�
�?��=4M�M�Ws�J�PvGL��OJY�_��e0�̳�o$�/��uB���8��V�B�x���M�|O�
���&�k<��v����Xo@��4�L�_�*�v:m<
+endstream
+endobj
+19969 0 obj <<
+/Type /FontDescriptor
+/FontName /XLOABE+CMBX7
+/Flags 4
+/FontBBox [-55 -250 1289 751]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle 0
+/StemV 127
+/XHeight 444
+/CharSet (/f)
+/FontFile 19968 0 R
+>> endobj
+19970 0 obj <<
+/Length1 2250
+/Length2 10984
+/Length3 0
+/Length 12226     
+/Filter /FlateDecode
+>>
+stream
+xڍ�T������.�kpwww('8���n�]���B��E�;����̙s�3�]�ޕ����ϖg����J]�U���
,����
+d�H���9 

\l

�����7{�娴�`�+��Q�7
)(��,��=+�89��@. �W�'��������T 
�XT� �N�`WTZ)'go(����9�
� �� ˟� 	0br���l��-@� -'
���.�m�ܜ��===�@�lNPkQF�'���	vC=���?R��
��ƆJ
���r�r�A��g�=����l��h	�����j�`��(+�G��Wq @6����e��#��� 

'g��7��`��d��ܼ�X  G�?A��N�� �
d���'u@VB z���\-�g7W6W��9�����2��RN`G7W�?�IC�`��{���\;G'OG���� ��V�a��̮�qq+H���,B�[f
v�pp����. ���
�������?��9��:;9��� �A���?��� 0�
����
��	XB,� �`k�#��ޟ�`������x�8������'��	�tr���[�������)H2����@II'/�/+'7��S�� �����q����%�o�J�A�����R���	 �,����L<�
�������N�
0�=��
<
�_���[���������s���H����O��?
+�9@���x
hw���Pqz^������*`K��ÿQ7��H8Z����WY��R
�fa�9�o���C
��N��?�
 +���_���Y�=�+����?o�?C�8Z8Y��~�<� 
+�F}n���
|�SK�ן�
`gstr{6<���r����S^N �9d~V{�����?B{���$�������� ��,8y�	�������r��c8<_��3�ݕ��ot�N�?����
��1�?�߈���?�����F����@-����Wg{���� �V�NN�׌�/���&�la�d�Ǣ<_M�v|����E���qq����
�=/���o%�=�o���������%�?�����7�
�+� ���G��y	��F�������ßo����7���߁�Y�;>K
��� ���u�xV^RWȟw��?���
�����+�Y��?_��+�@]�s�
+�m
�� �d�
�J�������t��DJe��	^�^I�~��Zޔa�_�|�=�Ќ�1Y������Dͩ�vԅI����C��Ar2Vm�7�.ot���?�v+����c���x�y5
V~�>���Sǫ��P9��c
�n���<w��э�
�	�������W���'J�DfT��X�R_�uθ�Y��jmN�
�WĆD��8_��|%��	�}�KW�g�⬜��Č������s�y����cFl���%S�$�8R�0��:!��	���?$���R�TB"��36�����p�
�@����(�V��
�e4X���5�K H�Zh"����F+��q�ǀ�=�OFSV����!�\�]P�OU&_����g� F̻��k���j��<f�=������&�c��Y�\/�bZh.�x�:,�S\>v�
Rj�z��՝"w�!�­�G���E�M���6�l���I�Y
�߇g"~�[

*���;(�ۑ��!����� ��b#W���F����7M�O��=�7��
��P�	�
� ���<
��7ē�-�+��S�q��ۂW����%R�����h�.
Ӷ�ih����j9	"ߛ�{}Dd���2sw�K�ik4�/�8Ӥ��dk�_:����vi(���p��(��a�j1RG�+a�
�Ax�z��9յC?Bi+!�i,�8w1��s-VQ��*���z3�"{���?W6�巓
�Q��ΗתS9
�K?<������������[]�꿗3����"w���L���
?�7��8ʜrlkk�8(�I���|{wl/a�6�x�9l���r[FsL�ӹ�~�P
+&�/�`E���՘���
c�,�
��)���F�J�p�8��Yx..��ldl6��pF�Y���<N��K�4��5�ML��ֽ�m�+��=k�Vy�"z(����7����V�
��
��}�&
jb�+ц8oGTiNj�a��=?������;������A'���a�sT�1��Uiя����D#�Āۑ'��|��Y�.KL�dL��T�^��;�j[�u
v������,�A���8k�
~Z|�,~Q:XMQwk��Hx�1�X�}b�-i�hj�1T
�D�-
��Ki�z�	�~���
%��U��0�z�S]Fy�R\�b�+b�����6 at x���I����9$��҂���u��"�z�6/�4��Pq|[�أ?T��n�7�-�+y
B�T1���_�� ����dl㐾G<�8�����y����������
hE�[�
v$j�ð\�w���rn��S�*�vK�
�����R5_�B�||��a�6�Ч���f#�ɟL0d���.��B|M��p����മ���R˧Vύ���o���L�}c
�u�4�J�d9
Mȵ�cg�8��B"�_�V
��xQ��_�R,��`��3�����|�)�1����-�>�
_�73����_��
�~E���쳙���)$��k��.�}��*JT�<�
�DV�#2
��򞫆�������K	4����T�B�h�Kk����t��
�!

mg�gVvR�HxFA��i�^�1+�"^�z�?*� �����p��=#ncc���J:uj#� �3����D_�h�R�}g�W2�d [...]

L���
+� �s߇���zǗo~�T��j�x��.~g9�z�I��(:5���Q;@�{7mƎ�8��oөQ�ISg�%n�7rK������,�Kz�l �IPf����J(/�`Dzxm����j�e��De^*��I����w�
��~���q�Q���4���g��2s�r�"Ӈ(��1^�tèz�����Ȑ7uf#bx�n
�{E�
�PNơIrʷs�[���j

<�ؽ���� ��4�O��S�n�z���œR���|6��t�cs3���Hr�Ѻ�7�WTO;]���]�ĤJ{�H�Y��z��|1�
+*L��
~E
+��LH

�k\B�B,�� ���Pƽ�p���;
$����A��Q(��>�IL>V���w}�xކ4H!}��
�|��ݔL����	��&��F�
ч�
O�!r�
?6�%���e���W�
+�¨X�Ǐ��6A$_"��e���y-X/_��4go�!�&�p�!��H�C,�*�g�y���\��1�[_=C-���@+�>u9v���~˝�e��*�����㺑:em�2b��nc��bov����.sNz>���y���2�	>~hRmAA�I���E�u�L8
w�y����1Z�K�E(�<S#�0KР��G����^D�Ҡ�<ioށ^��c�I̟;�O�#���b,��w[9=`����i1̚�h �x21�T�榻�%�:=H(���m��{bc(
�sf�!�#���N;�{q�%K���R����xD0�����e*j��N��"ӳ���$J�Y����_2}�ٵO��zj�
+��Q!��S#�sͯ�
dv0�]ᷞ=�#&�O�9��|d@����
U˥��
�j���z�7�i�3��=;$��?��jJ��}|:�|f�q�|[�<M����#D�7� �Ā[x�l�B��lh����_������
���C���@98�����
�}�85Y"&|8L9qs��_ *=�寡����+k�uK����$L�ꍀ�.�8���(�5�Ъ}ɏ^/�X�W�@M5�7a�a���c����>��C#� ,pK�ׯ��b	��8�(�:���x��_d��^�m��U�
+$׮[p[
��n}�<�xkxh�
'�OQ�c�
m
I,S\�oi�;�Y��iis 	!]r�Q�

����n �0!�S��_xf�0���
+`�̶
��
�!֏�
�a��S�lP�8a�-�
�ä
2���4�<L��
��Yd�-�2ȣfȩ��H��l�st����8Qw�Q՚��d
���������1�Z��0�&��
�Ix��_>�HP²iEb|��q�R.
*�Mg_��N��U��Kl�D 
_��`	ڞl�6���$3��4�� �6h&T��ӝV�Z���y��K��>��W���)�R�pwK�zJ43
Y��4��N��:����ȝ��+ib�U.��2�U�o�ba۾������.�����6[�z�{:�x����:fN�
iE�ti�m���
���IJ9'�+o\��D6�\��a,|�q�feK�Ȗd+�������+�~W�s�q�I�M΍�ZoN˷"�CƉ�u^��#��
~|��gfk�ڡ��O`;��7Q��#T�����~q	�?݁�Z�4֫�5kg���9�E�x��ya|����N/����e
%13@u	��З��<���2�J��>'��c�l�F<!�\���h�)�||�:"���4�ug��ȱ��_ͰXPm�׌�N\Je���..!Y(h�
�_�k�l��I�|z�F*2�-
����+�
�6*
���/���":"��.;
JekIty���c.���‚k���h�
e�N6���P��_/h��L���
+!������vn��[34���1�.	����'�u]��:��`aR��Ctb��f�N�m�ڒT�T,ư>�$��C?r_6��߿ms�qP� HT
V�
_����I�q�/�
+����S+���Po�h��A�
�ż4��PJ
T<�ݘ0���ow%8��~./�x^䧧�ޥ1|�"�,3��xϠ��
�õh��sa5M6�/�ߖR��N�7�kx)ep��
���Z�z� 
U[ң^��+�%#��>ZX��=��.���4^�IQMMVlA���ʴ�y�E	���ZVհ�">T��F�i�EZ��[O6tw
+�;	
G����֜=u��z\һ ��PH�6�j
�҅��>9Δ~�a�׋�>Lo�:��0!����êQ"��1)-��3��Gæ�(
���]��n����
eگ�K	�˾z�Z�cޝcl"S���_L�Ω�$N��d�dX6�m�W��[��-�eH�
�'
+[.əy uN=��)�'�_�W�͵	���
!w����`T�TJƧ����1ԁ�9J���mvj B�<�5q*�
+e������l�i$
�:c���A���Èk�����K6�a3/��
��ɜ.����
e�nz*D��J�BC�uCe9�Gt.�N.��tm_h h!�\vAI0�
/^�������0�����w(��k�^l>‹ά@�g���
P��K
 ��Y#]Sl�f�z
cS�?�9v�a�=�=��L��������+�T���>�sԣ�!�kv�c�����,5Yfv��
+��G�_�K�D�ī/0�ݖ���
ʴ���
����	���1kMz}�mP{��S#_�u~��} b��=�p�\�hv(�����?+g�"����\�\���7`��L�Qg��4ø�Q?;��
�
 ���ȧ _��n.v���ː*�\�"N�]��<S��Pm�g��Ew�
�DZ}�r��ز2�EP�
Hh�
]��e����P��<b1kJ�{;��.Pb|��W���M2W�!Z�#`�����,����=�{5�
��xa��2}S�I��t����dUT��~
��N
Un���|�`D96Ȉ�;!�
+'Ag
�+��ö�byU/���W>w՛��c��]�D�2�ܭsBW���{�@_'9�5+P�\���_V&�c�o�e�s���Yg��
+�`���Oϭj�׻X>����7:�Q��Ae��ת����� �M3�6A�Wg���	
�n�� U��
-�P����
yce)�]��8��6���('�W����Rso��w�]��a��;wW/,��Ix4�_����Vz˰҈O���c;��+��%H��?�>dF4G�G�����G�`�-�XO�z-��p07�y3;��(�&��0�y���n�-L�ꊱii
���RF�”���Zd	[�(�~��%���OM��\/m�����s];��{|�[��˺]ىq�D�ѹ0���ݡ�K�4}��$�$-��(��?M7��>�����MzaR�����+CM,���b��I͍6J1�����}
+�
+s�M���"-�[H�
xsەµN�dh�
�%�)��A�G
+S��	2���=�N�X��׺�7ڶ�:���-ݧ��'ۡ��uޥ��P�ze]��NV8^`��/�i�&=J�%�W�y
-}���*��ɝ��?�z���v��X�#V�����\�9�?�~tǕԽ��m'�|��<�–���I���U���/J\�1��?e������^N?�����>�aQg�\#���2A�C�@�
�e��K�Zy c`t������]�[�~���,�j�L�A3l����?��sC.^�ޕ��INSqi������_)Y
g�YD�E‚2;�7��i�w��E^h�/a��u
�3T*	�U��NV�\XXd�Y�M�3u��Ԗ��U��4 �$^�
[�e��u��!�:�F���L�y�ӫ�Ehԝ�M�lqm$\S�i�T�
�
�G������H��j
+��Ŧ+�{7�)4�Д�,VV��g��~oi���b��od�W�֡��>!l���	�İ�X4
&�ϝ��7 Y�)4y�i_�nyeG�W�mS!YL�A�]2GƘ�U��S�z9H�N�"]H�BJ{��,�����W
�.��$lEt���Ԗ_�/!
��~��7�I��ԏ
��8'*0�o�D
+����|{a˜�&[�qV<����:����c��U�V�9�	�J�M����Czq�����Z
4�pT�ˊ��r
+�>�	F���2�y��L�C|��Ѹ�/A��)���Ryj �z�Df��L3i�>���;��
{���4�@`�!�F:Y1�I�k����w�'�O�#~�Ki���
0<
+;�[Fr�]0�����(1�wLyU�l�-��^�ѿ�Bn7CuI
��5�̌��,�Szb�ֈ�5O�]�x�,ϐ�r�!X�2���'�/&�,���l&�PB��"
 ߸4,�aa�r4eY�u_S�8y=Ō��Fr�&f0n-
������t.ڎv�H�+J��5�Q.o������$�Ob�|�w��>U�D��O
X�oci7��z��6E*�Ն��l��vd��M�����	�ڥ��p
~������x��O�թ������O��|	lh=�YI6�e�YQ ��N?�wՊ,��j�|�{��*�V*#���/�v��n�=�cd�+��D���+�ob�`K1]�g���r��ԛ�
m�G�,��.c��Y�9&pT��dP�5���P���������~�3���ڪ��5��(sB��!�fCP�q	f
6
Jq_
0�eȬ!"r}P�5bn��W"��G(E���pm��Y�|�$��Es�qvj*2�Ek�O�;V���&�}*�
��f6
-�5���-�7Y{�g���i1��4�!��O�
��r��4 ��$��O�1e�5�.%Hp�K�+y�N����&mk�20�u�Q���j�u/K�H� �-s�W��Ry���5en�u�����|a�M��h�¿�s��sT����]
<s�ʧ����5���C~^N�dM�6��|WV�A����ƒ�q,�"�ݲ��㎉�0�x�n�Y���"��L�f	�|��#�G����ZI64{�G����]�S [...]
+c���"2�SN8��53D�p/
+�~3�*�z�
��q�'�{�v����d��(Q�	W�I
��.D&��+l��X���Ln�W
+P��ʲGra��4�Q�}
�o����]Q�
�)-���
�u����,,�z�T�Κˍ
�5�_�9�ճҥI�X�i��
��T����.U��L'�u�B(��&>.�;�� =�F B2�h�?M^��F�׍!
o��.���|FN<��o,�YG�3R
.N���j�v�
+��dp���%y�N!2
\���e˩m�L�Y����!�0�
+��[��tGR�A���^z�u˺�௙��+=�S��@�O�a�Ȫ+����z����E®/27ٴ
+�̃�bPN]��&�iN���V*���]�~����N��U�+(���v�e*G���WA��ߙ��	Ѳq���
�Z��Ʊ*�yO��u�w;�~��� �n���mM��V����x�̈́�������zt�=d�hta,��fȰ�W���z�{b�����>�����`��ꗧ�{�#���ek��>�D�Q84L����t�'
$���S�E�p��q�
�y��t�ۻ�3�5vD����u��:�����x�5k�k��dHK�����&Bzl�F�S�Q}���X��;�׃�<��
�W�e�/�lc�i���Kx�J�%C��4�����}?b�J	+d��	ſ�3ao��44`���nAc <��3$1�#Y��[�����Ƿn6,i%�45Cn�ߏ���J�;2�H
+L��lE-I��RB����
��Ù%�I�梹?S��Y�d%\!�Q��(�j � *B��	` ~
+��?�IQ�G~1u����8
ĝ/_>܀jy�Q�xr����\׶����-G�)~Tɉd��gt�hP��f��"
r��-
k�'Ĉ�KL��\�R�r�\(O���[ƙ#BU�?��������І�H\�|���6���q)y��
 V���U ǜc��a`v��t_!�:Ά#�[\d.��00��a��h��Ó
_
0!�gE�+��W
yu
<�Suw��\	J��o� <�ɇwU����.
���MV\�l��V����!�i�w�}�&i	:W�j�y�j��������8������m���H�~�NLwX7P	9��`�-=�
���sH
�*����,���V
*�`��Ƴ4��{��ہ}�
����O�������@�CceK����w��e��dIC��b��!8
�i��$��3Md�l�7����
��q}z��I.�
35h|&�{�"�V�>�����*]��X��I3�"d��Q;�ygRY(\�;�
+/4w({�1r:����}3p��W�aYY�а]avgoǮ3c��%�2�p ���1e�bD�tj�v���DC�25�A��KvI����:�i��q��=�K�KjJmC�͛ٲZ��#>	����+����H�Z@��/�ۢ��Ȃ�����"�
@P�+=�۰z=�"Ԏ��q#C���|V����0�%K�٣��؉�ʆ�
�܋L
�H6�B��+�
S���lķ�z#h�\+�HX'�
��gh��#�W�p����o�
+_�Nl0�l}o?�Ew�`z7G]��&��c��
?��}
���
��i$癜Y�'�����v����";� �NN�� �J�6v(��x�A�
�E�6��o���D/$m��0���d"��6�|b�F���ͦmu�_�˪$ܵ�ۛ���ć?,'��y�
U4Gs���M�E�)���P��À�Ҕ"�L#C�:��ayH_��Ȣ���~������^ʹ�AWbL�|��W�'��=�%H}ˋ��/�����O:����4�|�aR=
�Q
I=��_f�
+�>��2o��
mu(��e+u�?dtoFY�U�3��X��CK ��
H|�m)u	�\n��3�L�$,�w;��(�`�i�#_
�j8��s
+�fE�n������
���zdM�n
+S{�
��ӯ8�2�};�oO�N6���IV�SFeo^��
+�
r���ۭ
�0Zդrb�ݓݍƖ�"�����Z�������Ѓ�҆��O��b���k��v1J]�N	��:�w�t)�l3��wj��p
���oE����E�a��Y��E&b�F:�9a�5<s,�v�AF8uo��/^c�;i�����{�0��*
�qT
�Ǵm�ֆ��
+ʓN\��ځ|���>"�L�_���`!oZ�
N�W'析�,EBy_���N
�m)��Ř�v����w�����>-�ꜷ;�/�z��!u�Q��ك#�7�� �+Ȱ63n���3u���Zr�<bӺ+��SZ@�E
[~ �
-�.�
��!
<#|'�L�$�"̄$z���\���jg#MZ�
is���oo
(��9�eN�3�E��zm
���ݝ�(�۞2��e���7XY�$��`'��-
?o�?Xa:HI���E}�~d������-�'�Ą��O�X��62�!nGbV�cS]u������C�M��Ұ?6P��| F�R\��:mڧ�K�l�a���ځ�5R��L�Տ��g+#"����
+�;
�0
��7�ߝ�L	BbeJ��
��7����

���ڰ�'���
G ��b�)F�s��k��0�֖Q�mdק��3�J�|���p��,��%F��_���Y�Kj6���R$�gt&�Y� ��u�-t)��ϵ�R�!b�j��`��y�
���&��=����
�y�h�,�Ƽ�V�$ *�]
�����$H=#�.ϥ?�K_h���5��
�S���/<���?��d��G��\�p

+:���A�3=�*
%��f8'��bA����6U(ʬ��٣Z
+о�-��l��d)��TX�e��
Rh���ٳ�N uu��q��Z�0J������#��/gt�X�wϖto��,�]śt/�	�3]�Q�o���T{���`����@CĆ�d(�T��HR��w�	�x�0�i�
.
iP����kBO�@�
Q at gcM
ab��4���󐡵E�
�44MLpC���7�KI���x�ȡ�p��[umfO}����Ir��݈	;>���qwR.��Ҧu"}�Y�˛�iGu�j�
u-�&[)Q�nw� Sp��0A��jS��El�
�ch�u�
����<D5.h���'�ib�1��S)�&|si�<3���ա�Ӊ��$E�W~sh�ݭ�h_q�Ƽ�\��%�Qƾ�L�W�8f�#�
�М|\ �Y8˶���Tܤ�DZ���1�+�c�å������^��*��`F"13���/��]/��;m�
T����Ht��RI
+�?�K�-�.�5i��/��J�k�cu�j5Ʈ#�R������t��V��9�Ǟ��f�J0*�-�/�.6��I�r ɽ��"etL&2w�yCٝk>c�%�M�HU�ٕ�K'�ό]�	H�E�Y@���jٽ�Y����SΜX���j�k�6'mLN�q�)�
a�w���%�^�f�o�~e.�w
�}lt��d�� ��]9q�9(��0�ó�~u6����;Q���X�f8����Η�Z��-��=�0+��HE�y�
b�n��Tm�&t#&��)�tƖ���#�ȶw�a<�֏H�
+q~���%:�����o��4�%W.����ц����xI?i�:/
+��sxʤ��X���?|g�{?WO��a)R�7gE���0�[�9��	1�i^L�c���C
+�R�%�\��jҦڨ�Y�p�g%c*-ɾ�y�Í	܎׬��d���s�ü8�>U��[�`F���,H�Y&����'x�?�������,�����"iO�Y��C�+	o4l��r����J�R.â㷲������Q�!!�>��
��]\r������-|)�c��IC�?S�Z�~KoZ��J����T��x�� �Th�%u��0@��?���|&_w%��3����M��Fށձ�ا"�dHv�����1$T�J� ��G

+endstream
+endobj
+19971 0 obj <<
+/Type /FontDescriptor
+/FontName /XGUGIB+CMEX10
+/Flags 4
+/FontBBox [-24 -2960 1454 772]
+/Ascent 40
+/CapHeight 0
+/Descent -600
+/ItalicAngle 0
+/StemV 47
+/XHeight 431
+/CharSet (/braceex/braceleftBig/braceleftBigg/braceleftbig/braceleftbigg/braceleftbt/braceleftmid/bracelefttp/bracerightBig/bracerightBigg/bracerightbig/bracerightbt/bracerightmid/bracerighttp/circleplusdisplay/floorleftbig/floorrightbig/logicalanddisplay/parenleftBig/parenleftBigg/parenleftbig/parenleftbt/parenleftex/parenlefttp/parenrightBig/parenrightBigg/parenrightbig/parenrightbt/parenrightex/parenrighttp/summationdisplay/summationtext/unionmultidisplay/vextendsingle)
+/FontFile 19970 0 R
+>> endobj
+19972 0 obj <<
+/Length1 2316
+/Length2 16820
+/Length3 0
+/Length 18199     
+/Filter /FlateDecode
+>>
+stream
+xڌ�p�m�
+�l��Xac۶��X�m[�m��Ѱ��4m�6��W������ޓ��>��lj�^k&$J��¦��@	{;zf&
����43���������B�����s
+
�����
�_�N@#��
HQ�� �j`f0s�0s�01X�����h��3r�4�3 d������N��.�8�yP�P���9��1��,M�� �F.@[PD#����%���\P�Y��8�02���3�:3�;�
P��-], *@g����2@���oj
 5
K�	T��\܍�� Ё��	��d�jg
+t��T�� �@�)��K���� ������ֿ
Y��cldbbo�`d�iig0��%�\<\� Fv���l��A�FnF�6F� �R7H+�@
��������ř����7G��n at e�3���ڹ8#��O��	h��'㿛kmg�n��dfigj����������+PZ��:�#�?g�@ ;'+; � z�X0���� �G���������`��4�� x;�.N�@_�������&. c���
��c�ٿ0��N�
 
&��1�~���I4a��v6���i1�������)�W("b��geг�3��ظ �������
+���?�JF����/��vf���!~� ��?L��=T��j���P�
4@�g�u�ؙL@���?o�?&�����������I����#���������������vu-��=hE����&�_-4�t���Ri#Вۙ��������_���
@S%K�
���aciT�w��}񀬘���
�{&֠��Գ���A���O{c h��7q;{��;���0rr2�D ����A�k
+��g��
v�.  ��/���	�w�9��¿���8 �"'�Q��0��q2%� V ���`���@>�� �O�?����_��`T��@��  �����_�
�i�_ZFF#�?'ܠ̍��A���.�AI����F���/��61��A���� �@�e��P
�� (]�?�72�;H���k4��@���AiYڻ����VAP��� �6��,��m�l�M��	"e�{��[�?�]����������_���Ú���h�w+@J
��t��)&+ȃ��_4��/���Rt���K
��
 ��6F�)�,��a�t
�^Z��_�?��c<�l��
�����������ݚ.NFՖ����/���/*��?�v����	���\ʠ�����
z MV��MxC�B:������������X觊��\��
�Us���~�X`�з�Qq��]_���m$n�d��'��7'6�_z�_H�# ]Bi+�L!�)sS"�F�45T�@�����-ɝ�\�S&�S����<[��[�x[ť�xDm���C޶����4�LRY���D�Z��᱑U�¾�@���s�04q�16�Z��B��2��LtocI
�#���
����K���#=��^N
�d��c�B4�UL�t����Q�?rÉ![���5�3,���WoZ˄��z~_��|v�M�֙

+���O���=�m��u3
���P���+N��M}�k\8Dn��zK��ɢÕnѩ&P��
����ʊ�f�^�����k�D��ۋ��[��cm�],z��f�Ofq��3�h�IF}�����֭O�ǖ�ܰ�}�o�W�-���2Z\�=�8��'*$��#�����@�
QD�)X�B~��u ��}'+�[y`����D&@���
���{^��
s���AD���
��4� 6[a��֖�v��n�B��]tn��PK׽i��]E!
_z�TqHA��#���b:�7������N�u���1pW��>�f5�ǻ��G&��6 ~3~�7x.B�Q��84�r�IJ|�
�ے��u��������buHr1ř)�e�{�—�y)�1ߛs�9	��)ȝ'M��Vk��ˑaz���۳e>�v[Ė�S��k���P2Y%�7h�qzޛ#`�[શ�RB���;���
�-����
�mؼ4���T�6{
b�B��4^>�	)��
���q�Y"a�qάӟ>Y����'f�{���!������
b@��>
M=2���~G�G9�ln`s��{ʮ����3[�j|�!�S���T��c�}B���:d����p�zi�&:4\�e�H�hܭ�������������<�a���~�Y]���~�S��d
�.V��p0r
2��c��~l��E�
�,�%�G
����[�>�͓[��ܮS\ے�fp����a[ɍ��>��M+1{�b�a��G�-�J|�6V��4�	�>ɯ����;����E����+�|�;m�
���ۤ��m��T�=s~�!�(
�~��x	ٱOHЇ���t҆�����Vap)g���KȦ٣o/���d�0.(U�y�Olt�l�&�E�έ�T��w��s:B7�b�j+Dm�7���(�|

~`����b�B���w+=*_�"@
Y�j��o
+�4
�9��d�%hl&>=
_߼��%��59�i��p-�<��f?�_LC��6:��Y
�B�C��>E`T��î��'��O[r֛���DC�����I��>�%�4  x��Q������-����S�7���4}R�+�>��ߴ#�1��䏊X�h����}>�p�b��ru6�!�2}�!9*X|e��N
4갦�����`,����d��I�z�9pO\�:�ۖҎ���pC���
ؕ�'�"�2�$�j��SV1v�m
F>�*nȱF�U��e���a{ȸ�h\}���24�
W�\� OU��w<�NI�8D��xR���_�x@)�C�P�
��P*8��u���ap]
+�6g���>�S�W����v�k͘XCY�~�nt���y�|`=���������lZ�:L�VX�
�

$Z��r��-��	�iu�Y; �p�G5)���WϬ����۳s�0�jv�}(+�
1�V/c�'�W{�B
e
+^��:�Ps#7��4�ᴄW2yiw��7FYH�e3��|BxO�w�� ))�F���)�I������
3-V5�i
E
�]鐺���v؂
��A2-�D0��#��F��:X^�f���i�f�4k:f����X����5�I��kZ��{t�?����
��#HQ8)��7*�������2
+L�[����+�*�rb�?G���,��`�)	&4�a+���T��]�<[D�.���64}��nfيL�?G�k?��r��2��U"jcl"����\��?��r��4yKGj���7
,[�}��"
�D?�%THn��J��ml�Ǣy?w ◣
+U:hA�O��p�WK�
��6TA;r���._�!����O���{q+m��h����0����C�h*��O]�A��:p���l$CD
+��U���qn�(D�J�;�9�y"X�>EC�e��SS��+`�j'���{�
l����A���
+��^�%�Ο:
�ͯ���/n��vN����54?g�2��Цw��H?��n`��Y�H)
G�S�pan�X3�b��3
+,�L�k�Ѐ:�c�ՂU
Y��D݄�xRtK(:�~�
u�CNl�G8=���eP��pF }�m6��E�*5h�.���R�����ӳ1�H�+���ۏ
N�pu�DW�:�U/��7����^]�{��j�Q7��KD>#�A0F���i��,�/SH���M1�r0�9"$^��dv$Q�c��m�Q
��4�УYw~i�
J�.ٺ~�"KTc�&�nP,���r�ǎ�^t8:r �킘dulo����y�y$"��j��
�����ͯl(�n^��
?
����n���۴�m�����I
+3yuq>� Y�S�^፻�aC��n+
FDl�����^�K)h
9�u�]����J���7v��C� iU
�;t���JkY�nYS,�y!��yХ^28~ݑc�[����EJ��l�(�Alk�e
��8��.������p���+�w�I]��=S\QU�wQ�t��I�6���m�� �
T�2�&r�ωR��`���Ŭ�U.*{�Y6�L
�$/�<��
���Z���
+�:���4.�?�_i��ں6����x>�^�Y��C�!!
�G�.,�c�U���j�

��Y0�ʏ�Gg�䦢�o��&�����?���'~n@���EӉ�8^�S��ha
Ie
-�C9u��h�4�����7tK��p2�v<�^���6[�zS_�Ԯ	}��pe
S<5"�O�J��'�������y��X=���Ro�6=��Op]���.
��E�4nr��4n���K�
¢��1�+�Zf2��:��}BR�b�r_�}p(�c��0%gG�;�$�^WH.�H-MO��ū��
Mߝ:o��,�^h��5��
���֞�.��n��cYG����Q�2�ꬃ��Y�e���	���	B�
�
g,��N�%<yT�RU���Jk�
��w߆�
B|m5��/�巄���
��}�scV^��ۄ0
��;!�rw$"zBPſV�ٜF�[�J��qg��S�_�諳b�:f6-ܜ�\�B�V���D��X����
+��=��
η�dg(w�����b�	�j��ij0�D�}S*��&��8�wa��ƈ�8�`�����b�ĸ�s0�l�5���irr縄K�-�a�s�h�U��g>����+��j�>;���������B�$�-~�b��d\���
.�ޮ�������E�
������`yc
�:���f ���HF�g���}�
+NI���Q|
�~n�؋�#
�,�V����
'��`xb`��8r��� C��ߝ�+�x��<X��nKI��e]��g�w	m���ըK�̋��=�6�t�W�Y
mO_s��ȶ<��z�ܨ������}�T�Px���	�m}�9`���'m!�?
\Q����PK��E�8�z:�bYí!C*	��x=
ԁ�KCXL4q}�lWW	�ބ�}"i
�į�
�	
���RZ����:�Z�=��v��Wp�ɛ��4A˨��KD4�u�^X���9d#�(+k��(8��}w�vҀ)��GU�<jVOA���0%�C���:��!
+Q�̯.�x皕��U�J� 9
��H���Ѫn`��qcEz�����e�I��<L2iRAu8�d�e�c�	�!lm�sQ4N_T$+z���)~�0�3�Ʊ��Eo�'C��#����Hx,X6���zw���~���
�P�O���_v�MP��,~Ve#�Ud��.9
<��r
�ǒk7�Ѷ�zA�c0t3
�a���N�:I�khx�>����
��xɭ�u����2���JB�]nb$��tX-V�J�/ї}كo�j�d�\x[1�)�<��c9��X�&�Iy�U���7�e2Æ��Z�*
g��
��
�-���:Ĥp�V�F L���ڱdJ�턵���8Ba
�Xxʮ5�J��i��̈́>���\V�n�/�a\�1:���מ	v5=��TQ�x]3e�9�JSU`��mY��)(Nv�b7w�Bz�eM��w�(����#�H�v-�
���K�<�.(�G
0�z�W��R|���<�j{�@rf�/	�5S�|_Z�v�3,�
��Q�Ч���,�ߐo:�	c��z�Ȳp���!%;�

a''����)
J򇿿*���eXy�����\siz��|@��TlL����S��q�6Q�;�p��z�������nE"�
Ǚ=T��T�<�"~����A���H�J
~�%��Ц��)r�	�N��"ny���{��U�C�ԻQ��n%�}�K0T0�מ�X���kO��
X[�R�D�h��Twj4i�M��~K##�!�.z�
5R�a!ʟ�B]'X��A�00�������\f�=S�nh'�h8[Τ�
���q�ݜڃ��X/���j9?�J���Zk:p�9z���
my �_�g�E@=KNc��i��z�d,\�N�S[B\�j,mPU�e��h�GW��:M�3֣�P2K����]t�l��RPʷy�i�'�?촕���
���-B��T'd��s��h:������ˏ��Ed�}Hw�%|T�D��
��-�J��CL���3�C�
+�nR�B�;��AC��~×{�
�\(�����;�'S��s��GC9��Y���
O�>�9�c���}
q�`W���Ski_>A!�U��

��K
>��\� �M�Y]Ӥ3�F�;X�0�\�]1
�'	���4����h�^���#%����U����IOc���A�`�ʊ��������w����
�t�ec��� :8�4���չ�i*�̝�1(z�{$z�B����j�ͯ7璕�48ej$	\���*�
>�����줽�J�m��y^R�r�U���V�m�����R.��GS;j�3#�c���Y�T &2
B6
I�uQ�TU�����9�A����:�1���w��ր�}�(���a?�tx�D�ʊa-w�IF��-�r* .9#κLe�$b�f��M_.���=��ì����
8�J>�@	��#�\��
{�E��Y��4�k���R��R��EE���p��3�
[;NJ�~Y�zH��F�}!
�$��ऊ�|9�f����NܡC���
;�W�n�!fӪ���ف#t
9�6G�&���~��c
$�G�S���[����8�鞤����c_�<�V�O���R
,��i�X����P��(��_�i���X|@N6G"�S�JA
�i���%��22Lj ��(H����'|��E�Ӄ긃��F�����ʍ�0�yܘ�&�QON9���E�$e��UH �@�������WQ�\�Ԃ� �1Գ�Y]?\���n���b%���6�^=���0~���%Q
0��U�<�X�E��7��Wr!�p���
� .Y(~
+�*3�9�2�OI����S���ɨ�I�q1i^�֋�\?��%u>��6�V���'�JŐ0�?���ᤨ��M�4�xVo!�(��ʄ2%\ZƎ���P����۔1�D�҇ �go�1Js{�Vi���?^vg����ڶ��6؂���C|7����,����PW�\wA��)����
����-W�;��
�b�x-�k�dp]_��AS�?���һT����i��n�^1ܧ� �F,�
)��
7.�^����t�;�SR�Uo�܆��x���*�t!
0�,|J���e�8�2�u*vo��\��_�$H �#�

m�����6힜�.{����y����9T� �<3��I�M��e2U�Ʋem�߷�4 �6�s�� �^����"�o�� ��
�>N*S�"¼�m��+
�����g
�ר��<=��j�pnF(�r`�&���cf_�o�xQI��%ɣ}��GM������rJGuʓ:n����R�USY�sX�M��ʲ2�T
+�$�>3��+Om<ő�D5���>���)I��@����S.I��@|�9e]�b�;�
+�
FD:	�w�卍ϙ-ç\+���2��ఠx�y�gxqov��wN-���wX}L�We����H�_�
!.�\d�!�
O&�M�z�	ʮSs�����-J��<��j]��p��9��/����he��I7f�it�̞5L��fKC���=��nj�|�<�kX��#h
D*�!��&�Q�T����0ߍ�+�h�|QӁAG�l=����mN^�SU�2�����@����y�V������گc�^XY�
+�5� g���K�*�e�H���ɅZ|
'��a�9�Ig���秜���_f��@��{ǍQZ� /����*'eL���J��Ks��Mߕ]L�aVZ�m��n��`Z4
�Ԣ'&�$,��&Cx<�7�q�o+:צd�/3��2�`.{Gn��:j��|�_.�������r�x�@�f���0�m�s�8�I�n�w��<&�̛0�?[��Ւ8K������y�
������	E[?�A� �.��F�
lm��
Jc֛��H�zS�z��{p�$�,�v=��|B�==Y��[cO� լ���:
1�W�fǒ+3�Jpӄ廪
��^�,�q}R���
��0�_3�`]�>Q
!��G�^Q���R?f�#U�$��E(l�%����L���w���'9�*�~�&a�cf?��0L@�

+co���1B,4��!
��L��!�� Bh��t��Ӄ؊1"�\QT4i�M~��y�"�
�	�xe$��ݥ‥�Nz�"
�s���Tw�(�
���3K� X^���U]U��_?��
�DgP.s��M1#� �M6[��mP6���4T�D����{Hֻ��8��OMy=ߪ�>aP��;'��M�
�!M׀��S��
N4Cr�Հ�WF�+�Ȁ�X��+�wd}�$���/��![
��#Y���1��R�	��W;���y(�X�^2�Uk}�M�p��	��Jwk�'��N˟e)�Т����~!�:7������n����H\W��o&�3=WkN�<�yio�«���_��8H�P�1�
�j/D�A�4������1ڠ1��Y��U���ݗoƮjҫF�ج��sD���AW���N��
���,���ƌ��Xuqb�X�l�����7UWh1
+�
n4 �?���G f���	
�}�
���\wTvU>V"f���tu��\�
4��������Iϥg�[��L?M�*��)DAɐ�`��q��'
+��
�s�8���F��:�'ڕ�1-_j<�����E�J�8�m��B1GG ��ED�
�HqM7ۺ.�H���[>�ES at L)�����J�%
�)ni��2�Y�rhI�8:��3�����Bz��,�?�$@h�d�3�/���eƄy����t��2�?���KlQ���ꐍP�Qz$�p��ʪ��KD�� �xݗ�TB�PS��>�]�•|̃�oUU�M�r�i~�"W�����Uc�k���?>r
��́���&4&�q
�L��B7{��m�ĭ$zè�����t�k%
V������
�����@��T�8���Q/Sp�^c I_�q
�1]��\���/� :U�n�F��ߏ�����	������e��a'Z�����y��SW\
F�3XՎg�6
\��/�l9a>�j	��G
���كAk����'QƭU9>��}����[(����\����p#	C���Aw��T��ǎ��Kd�1��D���	����h�'O�)�]E$z����𯑏gp�DJf�����"m
+����Su��,8�xdN�c�2�Y�]�g��(��$��t)f͌�W��.�l�"y�	U����p�A�h��>��S�)-�
�b��f=I��_�4�w����l����.�';���
�8j&�\�Z��^�Ѻb�0�Jf�e謏�IRo�LN���>�@�	39Cyx��ܽ��Lp`FJ��Q��*o�屌:��>�Ln�]��<$,�3tk�������Q`m��*�Ŏ;��}X��dzo�����3� R�.Ӟ�TE%��U�z qQW���C�W4�
נ���X_�W�
�^8.q-�rN��+���0�l
����"�
I���G	�a.4����ԛ4J���P�&L�S�����'�k%�����7»��B%�=�
`�u�6�x~*/�W���h�!�D

+��ٻ^�ꛊ.|a���1>�W<����ݮ����ν����:��Ҡ�ѱfx+�>	��#�_��+�>�G�N�Q�t)�q�mݟy	b�{/�r�s訯ʯm
8U���~ԍ�♁H�ܶ\
T�1�F{��fE&�H/�3��82*�AS�|V�؀а�x�>5�Y4�?µ�^F[��F�a�@�����d1�����U����2A���]��3���e��aa�`�!g��;i7l��7~h] ���-yPm{W�J>m��M�'��}��H�APw�v� ^�rEn���i{��\ ��Q�� �������p�����+���
Y�5
��6s|��+-uhID�!\��R��Оx��?p���i�"�5Q�{�TfD1��9����V	���@>�G�Ds��
�����,?��Q��d�10�g?
w�g�>/��c��wL}�5|�
��٤V�T3^����=�F���M�
��6j�e�ߒt���!�M2f�6��K�c|��ɀ�]鵚O�� 2���r���
fp�!�Jy�hGm��̶�Z1+3����r9���X@�|c=�O��
�M�����d�t��/�ή2��S���Z*�P�׻ )+�2�=K�30G��i	J�H�U��7�
k&�$��Nz�|M�*�
+㌞�͢BۍL��#lᣇ ��?�{��[1)x�>8S!�'�]h1��� �n.'�
�g$���_!2�/�c>Hx�À�M(��*!k�%z0��qWئÿ0��̕ ��J�� �
��=�U�k%��n��2C��;�  ����x�Q�����y�3J��U��
�qI?�E��Q��+�~Zd�m@¥sX9Q�[ ����������Z���D{
��n�y�sh0Xƺ«j\���{m�}�'���Ҹ0�Ɋ��

ۋ�g�]F�B��j���[�9���R]G�u����V�"�������϶<!�OS�O��@�:A�{�O�F~��.���M�8�K4L�a�{��j6-�	u
l�FB��)�6�fM��z�����O.C���߂�y}}��>?���`y*��o��P'$�«V�|�`��;�V����W���ö�G�[�++g`BU$�>��c�k�e���riF�ݝ
d��e�a�k#I
_\.��.<
�o�D*�)��
��7�QI+�(��O)�VR��>�$ "��&�U�t�"_��[�u�W ��i&�`Y��j�D�~
�kmL�L ��<M�49}��^�Ą5�1E�y��
���5�p�$m}�r|����yb~���b�IvH=S��a�X\�8�Q̭�2�
*�
wm^�͋��=fBS��s��FҲ�I
+����o�z�Rf���<�khEI�_��&����
i�"\C�/ơ����],�_r�AS�&���/v�:O8��r�[I�
ץ����1�WӴ��(%��� �
MZ`F~��A>4K�{�v��.�e@'J�.���2᱌��)�i:LuV>Q��ra�0���텊�" .�X�
߿.�˚
+��x����c<^ȅ��67,�s�V�aF�󿻵���x@��bױ���\�4�@�i���e~?RL��İè� ]����jR}��m�ЍDB
�NJ\���Vf�²|
�.�
�T>"���U|?��Wg���n�w�@%@R_ k�d�A��c�qPuJ'K�_�U(�@�<�Ԏ1h
���B1)�X�vE�J&C�v�:H�23@�
��㬔B�B,�C�mH�Y�B_A�
+g��i��0��Mp�
�۷,
&��h����50�y�|-]��z��~Ҿ_N��{�4s�`��@�k�`B?r8��><�:3�d�R%j]���E�b�b�sܰRѧ���ꢎ|�%��mv(j
ݕ��@"�7t�Ɛ��-�4��&,p���J^S��*IϕLm��+Jqֽ��)�Ƕ�jw�B��9��*JS�]���%��5ZC*%�I�@V�H �����;����k>�m��t���f�2��E���Qw�m�����Es�wX�L�
���_�B~�i��m��(��м=�G�B6��]]���~�&�����j
޲p `rچc��
�2WYp*�SUKqV�����5�
����%q�E������y8�m
�X�
Ѣ�_�.Z���yQk ��Ϟ̨��:��O������1�~��k
S�P6lB�9�ܪ-���r�ٷh�W2�
�~Q>���x�"���B@��)c�N�s0k;
�.��bT��=�5-
��l^U����+�IbM�R���3�xI:/�Z�#}U�
�&u��e���'��G.�����'E��<�I�]���m�@ρO�O<;
t�b-������FI�j.Ǎ�����IG
S1��|_n��ׁ��V�8Y,��#U2�xv0
+<�}��Q�Q)B�B�����r)n�!%^�úT��FVc�*ހ6�r~���N��r��a.�h2P�Ț���i�io��ΐ�Q岌y���Л7��M� �6����q�T{������9%j�5��G- �jM���.��
��7�ʱ�1�X�i�Ӆ���j�wp'�."ń3+��u=غ��C��.��ћ-βd�3d�K�xA��ah�b�Pt~!�����d�ͼȣ7b�^�
��(�pa�.���u��t�qBkj�G�oH�)�'{OV-�-��u��>��~!�:nzntp�
Ԯ
�5�@U4���V�� ���k�ٚ�qg�r���i@����U�����
�Ɓ��Q|�4c��
�,}�
�I�'d�
ͮ�p萈��A�u���Ň�(�Y�I�����#<@�o��r�¾����7J�1��ْhSy̻A�Ig>�
_����ߒ�
+�?F������޼Z��T�C)4������78��@M*�04v۸�%����9���7�`Z�Q�@�*!Y��Yf�@�f[*e�$v��?���j������eh}6��/=(3}�����V�#Q�-{
+p���+���/��Q
��$���C~���U:q������CJ��:�4�V��<��`��ܢ��D����X�~M
+�~�B�i§����Q��ד��Z%6��F�'aY��3
+
�Wm�⷟L�Z71�3����Q�?Tts�`�Ms'��p�q���4$Q���2�䦘M�`����݀�
�ݔ�
qϻ4��y�˥�Ũ���	���|�f����[R�5%0�ث`�@͒�E�mT�X�O��WuL�N�V(�O� �1���}Y˛���2��=�0�0���(�PG~���A1�@��c�[A��r���oN����s�پIV��M�c�"� .�4؜{LG�)���`KZC at .!	[H�bj�z^t���١�Ӳ��^�P/��T0�҃.
�od�`��\ ��6�����,�Y��2q���
!�oM!׭��
�^�Lc���c��E�а�m���|�
�����$?��G �"
g�UTa�'\'
���v
w�ȣ��Ǻ=�MX�E=�f
i/gl��mj�u�)�ݧ�/�Lߚq�D
*QG侸��i�V��f{����\��`�8�xT���<�ʴBRca�ւx������*y��\
+��l��~�Җ����07�3�����
t���ꧻf
+:�A��� �#��U"��m$ea2
�"~�
Td
=]�t��9����V��G�Z�6�^S�Ƅe��;0d�@0�\|f�D}
+�R�&��.�mb��Ut������A�x�'�e�ˆuؾd-)�}�g�˄�Sx���u���{���bȗ���<&��A�`��

�rIG�����'�z'OqZ#���G�A��
�^�
�EΩ߻���JB��
ܮH�*edM�PQ�^f8č��[$Kɚ��Ym
O�>w�o�K�k�\�mځ}�
+��3\�<�W1e�|]~�yK����ʕ"x�)�	i5C�F	qe(Kj���d/����j�Y6��ݾ5�_��r�G���
�>��3�Iw�n��E��^�{�:k��
v劄<��
+E�Q
���
��W�c%�:ʫ�>�C
ޓېYO��:�}���d�T��;X?�E���D� iK`�0[�׷Gp�r�I4g��R����f2`ACM[UIѢ٩��`f�
��+���
��+|�N�,!�� �r�蔏�|g�����Lb�ʼnk���1���pW�n�E�e��(Ayr����VT� �8<5)�xχ��;�xs�QAԧ��猖�{N-9fR]���<vZ�6�

צ�J�a_h��'�H��D��ۓ����t��~�.m=�W)dB��t܇P�J%U&
J���#v��
BvNYu��X�?>���'ּ�
|�����k�o
%�+A�����ը�M�0?�-y���w;?�����9��I9�����!m[ш���zf�c��
+$ý�N�8�"�|���I������ʱ(��勀.�����l������e�:�Z�(T&��'j��P�LY�C��!��I�~@�Z�u
�"��UV���(��r?p)���!^�p�f�<>�a�-�\	�g1 b�~5���i<�8d�9�,_�x��2�F3k
+��2f#�h���ñ�����&ʼn%����b�
=���a�
X8E�E��>�ҫM�{(l�"ƶ��������z+_ sJQ8M$�uۙ��(�欑.D>i��es�����T���E�l��iA�?���L�ZtZ��KD������t
��|������Fva�Ȝ\Bٌ?��hm\D
+by����Ƃ@d��{-
3�"r�����]=W�40&՛�
^^
�ՀwA����~K��$����2�8IUe���-����N���.^-Uo��jqE|̆P�%���S�`tj K�n b�ܝ�K'}����#j(rVV+��o�f�`:��X0�K��	�
@N���g�{j��1榠�P�u��@���%
+�-�xM��<�VB�����k�jc��5׮�wa9���c=�a�k�g�'��s�wm_�����O���^�0`�V��|��r4�#��>^��
�.E}J�@�`q���'sԢ{�.��G�� �}7��L{
$�F�Nv|�BQ-ֆ?��a""��n�
�r�O�(���>��U�.ȥ����5z��N�_��_�z��=7v]}�|Q?�d�@5�P��iE
+t٘J�T�Qx-�ya�#�JꨝY�z�q�_��N������'�7(H&f�H��w��]eW$�D	�=��[�hg�|xҼא!}ǿ"�r
+��T�OX��)�{dN��������~��F�ɰT�B _T{O}
��X��A?�3$m⋢��(6�}��_�������{�-"�cNx_�X]Ge�Ʊ�'�n��X0@;�7A�n�|� �w��z�p<�(ۺ�JI*�I)��M�

��
	Y�Y�
+�bvo�nF�n?-�0�n at .��>��>��;���$t���z�m�M�1��Y��)]�"s�3;M�

�Ux�+r��\�Ϫ�i��
�&�k	�j�N
���F�C@�L?u��E�
q^v'|���9���	�@��� (��Ê�pt��9��d�9�k�D�m��@w@�Qta�xUe��.d@;O��l�쫰8�JL��4f�0���M�մy|�J�y2��s~�G�a��w���%�.¡u�5�C�hE
�Td����Z#�i;��͹|�Z'�E�'iW����^���:�j��
��/.ɿ���׬�s䉓�*��^�
%�v�
���̘�l�DF8�̋R�݁ꚽ���Ӧ�q5�.L��F%uP��X��aa�6�!��H�����S�
�~n.�C��.ݕts���e��
n�T����jѰ']@�[F���YU��݈�x���*�V��!���. X&��䵭���@��_ͽ?1
cC�
��h+7�œ�~�+�;� F�y�l�.��g�D_
S [...]
+����X����.˺�U����4�~a5c�Pr��@�G��Ə�J7���Q�cv�T��~wb��}�"�r��k�Z����Mw��,
��67�C��Mb��
�
rC�~�]��
�h�rɼ<tgOe5���0��W3��k��Pf�ˑ\
�li,�<��?�����%�i�;
�
L���C�O���uC-��2����L����N��
�	1p�/��Eb�P ��h��E��ү�&US�<(���˙��'SJֽϻt+�󒶀���(5k�����I��b��j@R���)�h..J {Dc���5�j"��'
o�l�_�ÿ*��
�7���ý
5f���W1��_�3�
���E��`s���Gǃ0R�u�?

;]�"��?{u
�J��O|j��6��DA��?�2;,�_�Q+l00'��8�v��\�U�e���s`L�':1Y��Flx�sz%̝����	����zrLaw�y���E�
n_��K9����R/��{���5Ӆ��}��x����5�
��}��r0m����ܜ?mn�I���w.%
�N��U�1�rH^�r�]s4�k��}����=�:@|
+��TbA}(*\��vB������P��yP)7��q�$
j��-�.���&�y �\��;�L�`�Z�
���o
_!	#]������ط8��A���z�j�p��
Ҙ4
,Ū�7f�|��g{5�r�J!x
��U����$49�"B�H?J	�ؓa+0='p1����5{���Zʘ�gS�yC
[U�4��������@���ڂ�o��$��m_�rQ��S}�zt6 
*%��d
+�C�EB��@�{��o�]��V%�+���d��$�s�����:��K����.F�^G��;\��X�6-�%�Q�/�ρo�XR�c/���?�u�L�E����s��{?]�kbCWڿ
!����)�֑��u����H�����'��FX�.��� �5
��|f/hs���:8r�J��B�G*>
]5p}P���
�t=?�z��b�5LD���Z�V�2�
���Z%N��|��3%�w4~V-'B?6B�_Ɩ>�F6h��8R�q�K�Lf��z������P��}���F��?��	E �a�L�eP��^c�Qݸ4�Q�q��
CH?C�+�M[�=5�9jXl	A|ʨ��+��.��
+]MD�Xv��t͖O�Wu�O������
+u�E��C:P�8XE/{;"����蕳/�C_�?O���U�?��g
��b��x@�/[o���̔ٶL���B�N��.�ޗ��
��Ƽ�4��iH{
J�g0;��Z�w�6�͑k
.��
����Y��%���!�+�Fk��m����|�r�
+7]�<���� ��	1��!v����fB�fH9s	-��z��n����x�
�C\C
r���(c������lj��
s��% ��Y�Z���`�K��bd�]�gdQuk'�T7����I1VZ� � ?����+�3�4�	��7紦��٠X��Z��#�YX��]�iG
W��
��
�\��}��
T��|��-�I/Q��
�ȍ=d=H�yR�6���
��㵮�?��4�Y�E�� ���	v��驺P�����:��s]6@�hGq�m�s���7Bʽs�{���G�ۧ�z:!���3�����0�տ����&�f�<�>0�A�8����$���/u�Dٶ����2��="��r)�v���0/
=�O_�k���i�ho{S�P��IO��q��7Y/?���&#�C\BC	#j�b�<�`�������#b���Ѓ�!K������ 
�<4����R�
'*� =��_
+�n��OSx���,Eו��H��=���6�������P��I���gl�4L��������?[�S�%Ri!O'u���
 ��"�D�K�3��ߐ���X7%�
�ن�*�^D?��'<YP��>����
+1�܀��q.��uL�Wa���[
G2�c�p�`�#��������:�W?�d
;
�6-��m�`ҧtU=�X=Bo���'�b��"�u��Is�-ۥ�����X� ��øY������U��SW@�5dv��}�(�2
+�p� ,$r�������9�*����)�]�8��ho�o�HӜ����9.�	��5	�y
}G矴' k�ov:�����-n�V4��6N�vM?�\��p�\!`�2����aƫ^
[�}*����� �ҜqLuػ�?\�h��:���:�<�8"z�Z�S�B&��O�J�}[D��D�=�|��6[
u'�H�ȣ�^N���G�
+
+���u��F��b�{0f
�K�c!�^
��Cձ?�bp�^�2:�l+�[J��2�0i��㡩Q_��ʠ\�Uo#<�2;;6��4Z��� S�!��y\��8��
K��/BÐ
r^��7+YQ�66��%��]F�S�?���0�=)����^�y���gX6H���3 at RX��M����u���r�-�ǵ�t{y�,�	
��x0y.�SNA�~�]��D\����L_Uူ
�ʐ���
�-h�/�h�|%w�ҥl�LN$�"
��z~7�]����j�X�&���>c������dG[^pBo]�5G��T.��1�}��
+endstream
+endobj
+19973 0 obj <<
+/Type /FontDescriptor
+/FontName /EERJVP+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/A/B/C/D/G/I/J/L/M/O/P/Q/R/S/a/alpha/b/beta/c/comma/d/e/epsilon/f/g/gamma/greater/i/iota/j/k/l/lambda/less/lscript/m/mu/n/omega/p/period/phi/q/r/rho/s/slash/t/triangleleft/triangleright/u/v/w/weierstrass/x/y/z)
+/FontFile 19972 0 R
+>> endobj
+19974 0 obj <<
+/Length1 1438
+/Length2 6052
+/Length3 0
+/Length 7022      
+/Filter /FlateDecode
+>>
+stream
+xڍW4������n�����j�ڻ���$$���TQ{oB�Q�Z�F��=����j����}�����{O�I~�~>���|'���F���p;�
��
+I�ut4�� !!!!abNNc(�򗞘�>���a���C�0:
+��4=\ @ P\(!-$�������<�� 
�&
As*��|PG'��_� .07 (%%��+
��
+A@� @�r��b*�A. #8
+A��+��
+�&-(���% rE
+��r�| /(�	`AB�{�O� ]�+�4bN����`w at y� F�C`HL��
� `��4�zn�og��|�?� 
+ �N�'�g"(�W0
����`>P�#���i
��Q| ���#�	�ă<AP�
��W� ��� �A������H��O��?�`�Yf�
wu��PH���@0��}�
�!
���Kr���
~°�p4�A�= *|0*�t�@LHRBDR
 q@��N�?
��A~�?�
~np7�$ � ���!A� 
+�	���K�@ �

+F� �P�?�1j��o3�`)�� �����5�a�p���?�F,h���kp��俍JJpo���/,& 
+	�$0����	����V�ӝ�?5`pL��(0���?����7܀�Ѕc
p��+!1!0�
��ނ_!��f�?���
�y����s�v�v�+�����
(�r��1+�OWS��ց�C=\�Ӫ�a�D�!:?PT at H�
�T�zC���(��o2�5
L
(
�GB^<�(!���av�s� 13�m!1���5ޟ2�j��C����Ia1q � �c(��� ~@���C�q
 ( ��0! 
� �
A�s��� Aǟ7
�0��:!����&~*�U
�@`��EL+ɿ��&���eœ��Z��(2x�
���}7�*�!D���>��`��5�U�6��f�ܡ���=g~��o��兏�7~�uG�g�W߰?%��0���5a囦(1K� z���;���
{�8����uO&zݾY�&�ު��YS��M�(u{��l�o�"vD{'w�5.t�UT�n��l�)q�W5�B�@�,�������!+{
(
+U�~FQ������%�[�~v�T��F:�������Iͻ�V�f�YQN��[�dmk�N��S��P���Ol�
�����7O<
�9��[Xv��9��+��ߩ�� ��;E�h�*���i
d�*�
%�X��I�:0U�;��� �=\�::�(������a}����~�`���ɪ���
D��/���dE����P��+�TARr��N���M�|b�QN�u�$]����	wO�
%����k�
ˣ�$
˷�����R�w�Zn}O�l�4>V�u�^
�j�)
���=�ъ����XT�H�}{�|�1}l%,춄���r�
g*\D	�L����|���JȂ�lӭ#�)����ÚYOo
�5����8�Wz
��BZ�E(��$>Pqci����*��f{a]���M��g� �崿K�x�J�6 '�d&[ÄS�1��ڌ�S�Z����on�Rj��t��O��Z_
��W���{�
+5�p���6E�G�+�!�3�����T<�
+�M��7D
+sP�ۻ
	ӃO
�
`�'�Ác��"�֏�e��;���'&����'��ʙ�Ƶ���h�wb�
���-�a�Ĵ�hb�4�z]^@B
�a+�HwyRl����0_��j���"�F�xM��U��
V\��g����ڴ
+Crh�%Sq��
��ܔ��,����b8��V��g�
��d�&O��
��M����M�>�,Ta���v.��
�y�_���	�\^���=r)ֹ�� J�>�����	��y�bq�
Q괹��Wz�

��O��F��H�L_&ٹ�
��HfqV
����
����
cV at sPtɚ)'lΆ
 
R����ꠔE�U�u|��"��>�����K������+�2c��	K�K
���ɭ�����r�c�
+�w�&u������|��I09k?���}�+�T
+_�5x��K}�n��aKiӞ�:>� }%�z������!��5�4�E����ym� d��m/%�h��2#�_�-�����u*7�8�
l2��
g�g�Z';����2ߣ���!į�C c�p9�����K� j��y8�g�Du�9�+-�Gi2��('��r�>DOpV���tݜ	�=�Z�'@��J#����Z�$���9Tr�IS�h

+>$�m��o�,4hꖆb� Z1
���k��b��
|�3hY��������pI�-�t�}itW��gӡ�
�+ň�!�ljT4*_	�AKF�.T����aEH�̿�j�Թ�A��9׹4�	d��Pb9�|��ְw���S� ���@������e������A){��'� 
@�¦̭8Qp�IQM桓N/��h&�0�k[�RA:_xM��>p��_b=
��}Ǻ���
!b�L[N骔S�\E�1{��ᫌ
�b�c�^����l|ޛl]�L�b%MZ փ�����y�g�;7WO
YS�6��+[��[�T�,�l>@����S�MF��X5�u;���A3+��7_/I8����}����I	��\o|���˻j�.ja�
{�
�
H?�d;���~8#�U�9�s�Jn�1�L��m�Umq��@o�Q��6ix���G2�E��o��h�����h,����+˱T�x=N��`yW{

6�|p7^��ܼc����T�f��������j��=K)��4t3S⚒��#�Gt^cɮt��3�(y�1���H����x���w��ٿ�.���NtI|�Id8.���K�^�"
+�5�
��v~���m�
'��!�Ti�eM�k�2Ұ;����0MI~üIk����5�2�9����#ה7�I�f:8��Љ�d����S�����N=�f�b��U����
����
����
�\��g<
�
���=+8p�{�&|�e�ш�6I;_
'o��J0
��p/�_ҖF�%4Wf7��C�G'ih}�"��N �t���Ać�Vx6��j`(�л�`g��P�޲�n�y���1��[z�Ru�Ih�fAN��+ߖ�[��-�UBS.Ӟl&±�7%.�B���
r���w!�֞�v,=�6nsظR�B�C�}����	젘W,��3*�U+�j<,{�(�/���l�Bo��;��%_��"�MA��C���C�ӑ^�[֨(�ݖ�q���H�Z+[�B���%;��{������
������IL��j��Jús��Eu�l�U�'�>!G�t6˱c&E��1蝠OO�i�	74����?l��
��Y�:V����*˝�M��
+e���
;�]k�C�v��5���^�]��"d�0�:�
�%�5���C�^3#0P0|��a���{cX��n�[��k
��I�
���)c#�]���*
%��63 �\�c���9�M�#�4�IƙI<�x�V})���[�]��
jLzd{��LU9{�����^
üdYMq
+��������	��78<��	h���=N
+[�.�k�
�V
'�^,�Ÿ<�B'9���p#
Qc7�n~�%4@�F�+�
-ߣM�BQ���`S����C��NJC���B�(��}��izG����$��u�[c!�}v�Jj}��w.폵�ɸ �;�f\1�I�`�F�腾�20Fxm�^��Ahx�Wj�Κ���/^o�5��,�i�:VP(��]����z9���V�k��х������Z�B؇��
7�������dM�d�+��+��|Ƴ�X�o����#0k֪��w��E��T���ndI4"��T���f󍒺� 
u��D1�
��
+DХ���q��	�m��X�u_�X�`�;����ʩrg7��1

+�&��R��}��yt��/�D8!�/oN
U��o�Ҫ��m%�ow��3[D����%ϼ�~��^��m�o_P�H}����B�6�E�vt��܊�Xj]:�l��`��~��bHa�06���{V��>-�l�`�d�o�Pu΅���չ��Z-j*�X:z�l���TY�i�q;}@�w��:�^��eV���<"!�mC3�
[��J
���ԾrNS�kL
�x	�r����-oL��;
r�0�D
i��
���ڙ�v�w]��A�("=���ް�*cr������1��8�i�hm���>OhD�{�.ܯlOHB����C�
.�:�L�?�Y�%���e���K
J|/N
u
+)�lo�`�3$�
_?������H�K��֫�)<��hn�m=UDL�$���a �-�nّ���`t1�3�5꩔gN��BźCzY�=�q�9`����L"T+x4�<�b�G�Ks�(gv8�ZrO�����Ԝkx/f�S;]�h����6������F�E
Ԕ/d��l&Ɗy�R&+��
�\�fq�T�
1���`y�c��ʹ1��U����mmZ�9�-	fgd}א�˖�
��$Q�Az�+f��Z�=�l2�LT� ��-�a�!�e�"���e���O���TW��"�`r�Őj�Q�w���2���z�6x��9���s@�M�b���೽��z4��\�W$j��
����������s�⢰>Bō�g"��l)��I
NAtS�o�S�����
@�%a����s���.��U	{��\�P�/(��R�����Wķ]T-?��'��2
+�nqj{e|�0�J�Js)�5*�E?����[Nެ�#�O���`�W���������LkX)�<��+Gj���z��G*�6E�BT���FS�	�Ն���L��.�a�R3w��$���kR�x�]�����A@�]2��jHVZ���
ҹ'��{�Fc��]��o�S
+�=� �7q���&�XQ��&�S�\8#.W
+���#r"�s^�ԛ3���%�1��j�Z=>ȉ1�f�J�
�\zx;�E���j�

+��������7f9��q�w
��D^�Ǔ0:nJ����Y�}���Ɣ%�RjL �%��
]�5�ٲj�O>BD�_�X+�ͦ�e7l*�64�JְK����Rn��2��7K���>BvU�e��s�꺙�r��Ԫo���]l+#�
�J\X�\�K��֔)���-vΚ
+�
t%]u9Q	�箱a����k�}�/�:
+��I�L��e�<
��������l��?'���̛6�I�I]
ʝ�u�=� �
�7
�x����hA�
r�q X�{���xu�6|Z<�& 2Z� � ;e��z��نI����ַ��x�8��sL�����[5G)���-�|̢T�(
^M��
m[�
�cj�
F�.
�*x�e/��I�ڱ2&�"_=`���:�>�Y�S?�(�
k�g�5�4�!AԺDɯour��{��6qgLE��ǃ
hD�G�b
��	{h;�C�!>y�ַ�ү�83�e�Ė>>V�
q�xJ�e�;�^LѽM
V�Ux~M^¡3��U\�~2�'/ev^��͌��S�����~�
 �
f3C[����9}��)cc�
%���3|f
:�7*��Y��Gxx� *�AB_��ؿz~�����{E)k8ej3İ܆�	��{��b���4<�j�d��������,����N�aDJ��D �v�*��#&��+œ�Y{�������2>��˦Ix1/Ֆ^Q8�pH�)���c�–�mjKC��ͬx�����z�d���h��|�e+U��/S�D��g�
;����vVM;t�g:472����Ex�����.��q(�j.>)�o��DRl�V_s(�L��-�5F��#�7��0�M�����
�Ŕ�?�>ᓹ\8^eꀞ�w7��(<�3�"-����5�_��v�L���
��2�"j���Wr at g�K���d��o��MB�{G���O)4�k��%8Nؒz�Y뒯>8|?�/l��"�$���%��]o�5�Q�Z���\_����ŝ�i
���(��'MG������O��>L/�<��6�]��];��nP~�
e�da�/ͯ�]����A��;�u����r5�#��=@�{\|8���������]�-����ǡR���W$�J��G��ll�u�H� <�V$Վ���b���kn�vRH��;�x?|�*7o~.��{��Of��Y�d�E�
���Aϓ�� �����H��4��]��_�_��a�:��lgV�>g%�ÍHQh�*o>|d93I'�՛ϑN�GR��دh7�GE�o

4=xPx������:]鏔[{/����.
�z��~�4���c<��MpǴ7$/���w�L�Ɔ�.R�y�ْ[=_�<��-��O�U��j���'4J�уHd�[00�@;>�j2�=O2D��>,���H:M\�~A-�2�aˇ�|Mvڝ=������C<a
o+��@�.��]�S�Uur��Ƌh�i���J��z-��N�:�/L�
x�G~�:yH�qѩQ땳��DK��WH�������\
=�ؐ�i�\�n�(lN���пa��L�/�~g#[]�k�+�N�}�HD\��Õ�g����v�L��;6�xc�
$��`�9�
G��U�>7��}�Mwֽ��:�I>HM��׋P�A��L�
mV�m!\��>ꊷ7��*~}�w
g�j%��Q��F�MhQ��ȴ�S
,��=WmC��Ee�5&\�-ϛ8����N�|+w+�Y����
�� ��BcRHK%�+�ZM�ִd���{��B�h�����V��
��0��d ^��1�)6���9����z��<��6����#�("^�֝���<��'�є�Ujhᘟ��� �`�ˇ��YI+3�,���֜�i�dNT�.�sH{rw�
�
1
VT]b���)*+�U�\��nᒎ_=>�v�Q@��f�	+�r�U�4-��v^y���vx��l�s���?�%�2|��ȃcv!'q�{.�|������上ͧ4�h�7C��hL
�;	=Ż�V�L9���
�
�������G��9�Y9���]C)��p�η*�Ef+}>
�IW5���I�L��[e$�M���W��C�Y
+endstream
+endobj
+19975 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-31 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 19974 0 R
+>> endobj
+19976 0 obj <<
+/Length1 1451
+/Length2 6815
+/Length3 0
+/Length 7792      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�k�.)]"!9�twww��
0��H#�]"-�Ҩt�tHJwH�?�����w�Z�Y���羞��^z-]vik�%H
+��ssp� d�Օ�\\�
\\<���z`��/7&���
����Y��a�<u(��� ��p
�p
�pqx����N��� ��`k�:@
+�b��B�<]��v0�1������‚l��Ҏ �P��@���� ]���W
&1;�I�������u��`fx�av 
�+��
d
��t�AƁIг����Bm`
@ �p [� ��
+7�5� ?
����tA�$��I`�u7 n������W#0�w1��
+���x�!� �����{c !ֿ��Px=�
v Z�~O(Hk�p��s�r;�\9\�� r�j�ey��,����b��O���_�'���C�
�
0���k7'N}��
�,�W
+܅����s		�
+q@� �++;�_��<�@��ܿ�p��NP'�

�l��az��A ������mars��V0�%�
���;�
��c×�~0�s������738�������P㹚�
������@_�y�<�\p��	�/�����c�������럆�(���������/Z0�%f���Ѐ¹
0�C}S.~.+����[ �K�o�����E��
H����w��w��
��%�����B

+�S
A����9�wT��Cb
�8;7�?�U�
+d��Y��!�߻��� ������__
x��ળ��U\����%���_6.��!��Z�R#�  ���Ąn���Ჵ���w '
+�� �}6P�_kp��r��~M�i��L~ '��N�o�_3X������M
��ۿ? �+����J4�eup�e�4�����a��s
��stX��؋�D��9�
+���
+�/�h�8_�]���VC]��w�N��eKm?�p�8��}AA;�׀�k�*C%R�҅�E��C�ڶK�
χ��c&Ƀ��{A����_��g�S��Ё5Z���2��p�
Z�6�H�ȠU�|���Q�����;O�I��Z�=p��Y(�@^��B���`>�6��}7㱷�"�ԮuW�s�e�Ɖ��ɮ
�s��z�N�B5�D�����D�����	�Sea��'����HBQhF�n�D	6ԑ��=�ھ�E��
^�M�垗N�
�|0X�X|

[��x��8@����=oAe��Ad�s(j�xho{�
�e�tb���P|��e�xb>�����N��?Oqra���Ҏ�O�).��}˂77>cN����>���\^?�
��h�
S:�LA�G�<�U�Q���
+
�c�Hdz��1�
��l#��ʦ����w�/P��·�n0�Ob8�J;�@{��]B
O���6���t#J��D|_!#5.}�$�mz�2�e-�x0��s[ɡƍ�GQU�
�(�k�}�&��	>���3׮�W�S��*E��
�(ͩ�O�R�!���y��$
+oHw�_g��d���3�q3^I��=(�C�a����N�L~�f�z���E;n�]"R�I��__��:��$o�Ɍ����%�&��@62]�[7�Ƈ�if�w.z����e��y�ғ��PB����]W�	sC
q��U��i��4���TU�����7s���^O�-<\�P�@Ew�G��C�����7RC��ls��X�1V�
��g\��<���h=B^(��[N�_i��7Il�2a�[.Zʿ!�\]1�"�
i�!''~��<X����C͇�j�˰�1���
�3���T:�K|
�@ҋ G!~����PN�#X�BM���U혘I�Pn�)����kef$�xK�&-���l�>L�!����CX��CCͱ�����h�9S�á��!t�4���[��m��Oc���XC,o"UZi�O�
�*r->]ln'�c�*#����k��$��Fac?�_�m�#V/;��q�~�?�fh�̡�h[Do`��@C����>�X��f ��\
��z_8��
A/n�V�	���#
+~�
����lV�\�
-�wT+t&��*2����o�������R���L�'�+g�͉l���f��k
]S޾�L
��~�YT��ŅpVo�M/k,q�St���(�흘#j^9���g��nN�L�s��
�~�Ͳ�)ma����I�� �7+���ݕ��5-���I��yĵ�c�g�u��4�
+���<<�|J.��_�eۅ�N�ҝ��5��<�ߨq?�
f\nZp����
�\2��~|e��B��O��ԇ��#;?�E�>f�I�>�Õ�DZ���i��C�}!׃3�z��Y^]��B~
�ҙv���0��<��Π���
rt&)>e|}X�8jl
�A4��>�F*�/�D14��l�K���T%�ܿ
�MDy9!mي;�|!�P.���Du�T�?�:��B�ً�u�|��
aZ�sK\����6�˒�����Ě暲�)��vK:�/zCzϰ�2�&dGΆF18!�hu��Z���f�$���� jX�54yO�;H�j�,Ľ�gls���6��
٤���k���L����Vgf���t'Ԟ%\�,1�[�jC(��
.�����=��E
J��BN
ڞ�C�Jm͑v�u�۫i�tU-�O��؟��dڥ,�	l��xá��ݵ�q�K?ı�n�zvTC�P��u���'�����R�9�L�)^�q������_Z��0[|�HW�O�s�
sC4H�}"��Q���"-/�w�:X�2+��X�7:{���@�<e�XB��0���czc5͏k���ͫfv��C�y��_�Er�p�r���i�L��گ�j
fU��ǫ�u�C�E!�u.6��  �~G?Z�#�]�R���@����91�'�eT��ٕ`b%�83/!���9�U
�e�
D�_X�o�k���)�\�
I�F�b�-^ר-�Y�VL+�uBU�E1Q+G묝Zw�j�Ȫ��x�@Q:^ͭ%�Z �d�<G볧Ċ|�C�+I���-��n�B�A���
��	����(W�sgo��Xה����wudt��0����Vd~8�
ɬV XI��7Ƅ9�pS�rn�^q�����e8��f�b�Oc
�������3K�
���|!��x��6�U֪7;o0��� [...]
w?G��P��O�� ����Y�����n#��r7��\,>3����80���1�Cl
SwR��y���o���5�l�E�u+x�a�u?0���?��͘#m�#�7�5���������##�+��Ҽ�A(O��(u!
��`:
6ui�C�x㒞Q���Ž{^t�՞c�����)�.f,�sQ$+g������j�l�[���댋B���
���1���{�l��%b��9�F�}�*|�^y�ҩEm�0yA����'yJ�!���
f�I֥�{j8cfm��O#��m�����&���Qy�է:�W��鎮H�����X��C����#-Ւ�/ ��dz�uu�q�#o�˃��%�Һ��lg�6�Bp!>]���u�����
�����nQ�3	"
�T[O�Zw�:
��N��NӶ��r�*

�JF�#�5�
+0=L:��G
�&�T�
�|���5�Q�b�3&e=��z�\�Y��������W�ѓW
�o�
�&�/,����i�*z�5D��{�U�<#��cUl��B�w<� _�z��*���c����}ʤ7��00nЮi=�ɜ���G�
�&���54,|�
+I�����g�7Q
�_�2����d���d�o��4Jy`�5� o�ט"
�1��ͫ0���x	��e��7U
>�TNbd��<�/�\��<rj��up
���+���(�4}��]Jsz���K
�/=v3�!eKL3��u���9o����*�o
��&]xm:���$Xk��"PY�GL���)瞪�D<�^���f!›z���^/�rn at oh=�P�r1�R��|����� ���K�����q�Hc�Y�
�y��aV[
�s
F
+g���#�vX�-�

��h���ҫ�`���/}�Dž)��'��骲���J
E<(�r�{��.�-���������g��"j_����%��,�
_�����'�C�O�J
��1�e��
�^�1�ݪ��-���P���K�9��u�)�[8
�ӯ��aX�H��y�#}d��2�4�Ϡؗ!�s[�5�3�gA�B��B�S\����`޵s�ɹ"i�縨�)��/��W
+`�;��L�ƕg�jX�t�
�&UH��8^"~�b2?�O�}�C�	�^.��|���*D���]Y������=�Ga�����
mQ4
�ۊ�#�}���P�˺;1�%�^~��*�o����#��l��~I�7V���Ǝ�5k��
?H������Z�PP�7K��?'o��kZ�]Ɔn�R�h�'�����{N
��
l6�^����B��]����a���n�ʶ��Z3��+	�����To������.�I�����F��U�s���ޚ$r�|�
�֥���k����U`]O�q��D�w���J���v|��z%G9ۺ�Q��վ9��m8c�щ�!�AQ<��A7ݠv�u�"�
+�1���
3NV��ʡ�'�;R��IT�;�X��'}#L��������&�m�ȫ�qR�����@N߯1��ʉx$��5�
YQ!)���j7lbx�4�
�#�-�7E�z�x�c�Alx����o��t/����މ�if�յ?~B
��x����v1�4�(�o�e� (#�1~pw�+�̜J�߭=�D��=ڔ޽0c�z���7��
+N��e�R�F�
8�
|����<�q(8�)SDh
 �4��@�5�VM�2��-��\�	��ܿ���vD\�A��W�v�A��
��	ȓ�9�ؿ����3�Lk�bRPg�0�
RU9�:j���[,�
�
�/�J:�+�0�K��1�	��H�;�{d&��$�nN�m���	�\���d���W��x����
&?��4� 
s,i�D��f���R�3T��Y�3O�[�n�TmUՋ����b�}
7@��8
��M�M'��/b��c������?����]+���_�
��G\>�a��p�b�
\���s\�_ePV�jz�b�޵S���I���
���gΪ��g�C�5Bю�B�p����9���Թy6'�!�FG%�w]�b�5-xH�$�?��1Y�fR�
S7��U,���U!�mS�l�s\�K�93h��ъ�"����y�^)�����2���Mx"sKԯ��F��G7�x\�</����:xފ"iOo��(�(�,?1���,Fu;6?�eFUx��ط��?��`��P����d2*�
���ѡ}�LtG��
���'��	�a	���U
��
+M������S�UA/̐|�'��j��������=\r0���n#�Ǖk.)Q���vM�׌#C���o2��|"����I��s�ඃk��R���������$'�8��_g6�;f�y9����f�$z��(����'ʚ�טK��N���py.��Dh/�
���JxJP�K���
56�c�F֮W[C\��Z��b�����m-^���ߊ�ڴ�5�K�tn�l;Z�9Ω=��E�f��$�~WFt� Z���;~�?3庫��{��ep��Ρ�����G�\O�ή�)
+�2��K�������NK���
'�4'm
7}�����!6�4M��h�|�3�Țj [?�a�%ӊ&���\+��N���
+�D��O�D#"�q���4�y�f�ջ�(�#tT�Ƣg�����ku
�[�`R��Ei@��2CI��L�M�w��s���w<]m�.){c�Ly$.y��
��ޞ�(j]���N�w,����3��M��l����}W ������;�ra���Z&��@���O��΅�|ӓ���E�Hu���@�?��=�M�
{� T#0% �y,$&��sޗ����%DK��B5�Tz^�'��m��]:Ħ�o�$�r&0�Rt@�1(��*�bC2���'���N�V"o�#MJ$����Ey"��J2;y�qg�=��
b�'[�*B扮]
��IEh��C�ѡ���f,~�k�ϸ�)��!a%�4���&����Ќ��"��⛫.�����	�Ź��1��[+�7��_$D\;�1��Ċ!�/R1�K���Uq^,���潛�M��
cJ�T�b:����ĆM���;�]9��
þ�"'�
�U>���s����q�؊.��+8tK�jC�$`�\��YВ.2��ʛ
+����-H�7�'<"ă�
�T��I�(��Y��'�}7�&�T�t� 4�Za��0+T�a��h
�%�?�'z��j�ڂ��
+4���ib_�(�mSr����-� �=���
��>�~݀
+�]���	�"��30��
���T���2t]zʨ?�cG���ɭ:��
נ��^��
���}v�#�
g�}�B2O�=�+����
7	�బa%�O۷؀�njC�8���"{��Y%�mP��6At�E�w&\ӎؗG��-���O�k�˅IO�^���1���
+�R����yB.\=1�M�l����%�f~�]�ɕ
Ќj(��T!G�^��ǫ�m�_�=&�:Q��6��A8W
/��漊�T�' �0.3����ͼ��'q�Qq�pz�'�x���	�ɫ8�(�<�?/�2��o9���9(��^KJ�]�]~/9 K͍��JxJ/��~�V��x{H0O�2��z��;@FƲ���p���9害
��P��-��/����i&Q�0œ|C6�ǩg�x���3޸��
+%O��:�� �[���� �R �j�����„�9J�/�
��Tп�>w�qL��f��W*R�a��B�����#��>{ϕ½`�Z<��Z@����t�5E�}gA��� 6��(�����
D7��'�_�z
�/����ei_��uVY$�w�3
�v謒R~^P�-}_k�ݤ2�f�y%��Eh�u�ԑ�H֧����YC��{������2~�[�X�o�
����
�I��4�n�#3�ޅ���W�'���]:2��W<4��}I>�״�
+�*��WnaX��|��,���?H�
z�ނ�>��$S,���{k7x*.��
��P��E�<WNm��¦[�ǩ5)��F��ʾ
6���e-�c�$����7q"��QN��\��
v��Y^��t���
�Wk(u&��p�]G��Q�I���
Y����I���iܥ�UTj�+V�+m����d5'^W�¹�VU���EI�T��
͊��]
]����(���O���ẾM�ߪ� �!GYy' 9"ϑ���k��Y?=���N�B:�F�FHW�2Z9O>�
�����X<%l��_�"�)�
	��y�>O��&��1ª7���]]�X��`��l�m���se,8&w
+yZ�ms�T��=̹���񤪛(Ȃ_,
�����[?
~�S�v���i��
�;������S4���Q6�*=
:Rb�
�V�ң�w�(ov�{��+��D�)��ќ�!᜶r�:��E�4w)�?+���-������b>b��W�d�~�
�xp���?�D1�
+endstream
+endobj
+19977 0 obj <<
+/Type /FontDescriptor
+/FontName /WNXLJT+CMMI5
+/Flags 4
+/FontBBox [37 -250 1349 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 90
+/XHeight 431
+/CharSet (/D/d/i/n)
+/FontFile 19976 0 R
+>> endobj
+19978 0 obj <<
+/Length1 1728
+/Length2 10259
+/Length3 0
+/Length 11364     
+/Filter /FlateDecode
+>>
+stream
+xڍ�P��-�Bpڸ����h��ƥq
\�k��A�
�!�;�呙�3s��W�W]��Y���{*2U
&1sS���=����� ��$�`e�`feeG���ClA����A�.`{�H8����$�b��`�w��q ظ��x�YY쬬|�1tp�H��� %f���=��J����liyI�#�֌�������;@��
6���+��KF3�-@��

�x�WZA+đ����ݝh����l)L�pC� � ���
�0@h��3@�
+��\���t^�`3��ˋ���9��
�!�Pq��i���#௻�1��
�/�߁��8��
�
���`{K��P�Vd�x@@{�߆@[��l
4}1��r @ZL
 |!�=3g�#ą�l��"��0/�,eo.�`g��� ��O�
2{�vO�?;kc��n��� ۛ[�&a��Ȣevr�I�e�"B�Gf	� �Xyy8x� ' ��̊�wxMOG�J����ގ� � _������@�]A���V�7Bbc���  S�%�
��/b�ş����`����X��>�{/s{[����/������,ß��։�;x ��� L�\� 66
6 ���������?��������O at 9{
 �
^.�?<��
ڿV���)�
^f��g�
Y�X�^>l��
����������-H����5����h�����e�]!/k���
��k��s��@�`W����A�/�!fo�2�Ll�̬���.�`��*bf�� ��/9l�� U���ŋ��t/[gf�򪸼t�O��e!4�7�,��!eo�`�{ٹ�@gg�'��@� .�7��ښ�<��w 
�������`�����\/#�[�'�����x_��߈����X��F\�������͍��_�
�b�/���/����_�%�Ϳ /����_�����Kyq���=���KEv����f��|���_����7d��l��/���_��^�q�|�����Ƙ�:;�t�}z���o&�2C��q0��
n��#tg��?I��eg�7B��JM��kde.(�J���IYw(�;�|Z���ެ#���b"�޵$5��y���J�&"�Ak���I'�/r�R%�D��Z�ܲW�
+͇��{.���X�G>�U��[uq�".���:�����%>M��]l�F�ax�r:��`�-R�{�����K=ĝ��n�[�� R߉$9����P����1�Me��e�
&���2zu��B���]?
t�[�>d�-�s�9f��
�m
��\,�_�>���j���8�Dr�.��JTe�S�
+�Z'Ҹ�g�L=K��
CV>;X��5�L�]p���tB}�Kf�hP�>��2a�z� "��@�I�
O�ޗ
?\��f��;����ĐY�0S�X���\K>�+�h�f>>U�,�F�7�g�k�.����.\����%|�1
�{o�L�u@g}�]q�%'��I
��G�]Z��8=�/�%
a��{%��\�����V��R�h���ތ�4��T`n�:}��y=��K�#UH5B�L��M��/_Q�G��;%�AR�a��+8ԧ�d�S��TU=��f��Gp�+<^(�U��
u��31C��[�
�
�m�;x�n�̉�U)��P�탲
+�e�TS�v(o
+�3//5L
jX��lr�@�CY1�{��K٢M956?���6�����˃�_�w�8�k5�/8�0O�cnD7,�	�0��D

�%GCˍ�0�i�M�
xCGP��:�
���0#|J9�%��9׵﫻�)��T�]�����B������,�T|��؝���f6'Ż��,S'�>�?��0Č�4<�Iq^@���o��/@���M.\Ճ䒡x��ݹ����L�W	�K��I���6�n�ϋb�X�È0q�₱��x{<�����r�^3d�'-�W���`�@=`d�
�	�*�,�X?
��8Xe"���
�,�?�ע�Y��N���E?�L�7�璁��#��U��ek���d�u����`̝�vx$
J8�g~�yG�g���i��!��B�t��h�^��9�z��KkK��H�=�b�
l����7�4E�vT�5�q�ħ��fr�
\��(Q[7;C)t
�qC
/g{+��2���e����>�)u��QW�[8m6��{�}Q�k���q�NX���z�|�����K�'^��7�����^ԯ�

+��I�]��)���3�a=��/

�;�O����:��m��]o���p���Az���Î�ߪ,��a��hQ����L9C�[|)ψ��0�`%p�pq�&M����=����VS

{
+��c�B~�Zp��i�C�����Y[8�)ja�8����O;����l
�!Rm&�X��������S�=�u���䑨���L�%/�B5���l}
"
�+}<���<�~�w�.<	
����%�CH��Xpw
62˝��{�]��.
&�
+�[<1|�TNu�~C���c��dP̡{4׶�#I}N��l��݆n�G�N*�„)_���&�Q#Kru����K ��k����!l?�a3�������Qj*��0c�(��B#&UQ��k���)[�=T�����ä\}ו`
g�Ċ%%=��oC
���"���3p%���e��Tc�#�h�ZY(��
�TLQLx���
�
#N���x������d
m�
+�4���%(�kxQy
�oH��	q��C��E�|�
�X��U 
+�-�"p�o�	�<1��J��'q���}
S�g.T�eO-�ya1�Uf�/M��d�J8�m
+
+���d��3��y�LW|��!%��jHh�́a�T�U�k�v��Y�S�@U��B��)N1��p9�4-,���C�%s<7��oD�SΡ��w�F�X|7M�@�C�0�����]�S��
ev.�����0��ZZx�m�!D���>�bF-��!�\�u�z\�e��z}qH
�{�pc
+�!���
+P�XCƍ���%
1��x��]�BG=v����M:��S�h�w�l�x#f�Rs��4�8ڸ!_s#'M~6>�Ћi�
+5�����b|}�a����$���@ީw7�h��
�?���>��
 E#~�v��aa+��.����oX�zR$�p����
��X�l�WK��d56�v��Ո\s �LN��h ���g�Ir�l�~V�9"�����mы6��#q;�q��G���
J��:��S���	�@yk�ƐѬ9	
�qB�aYUĩ/vfA��׏jg�`�R�c�3:$�uqUP��no$�
���E8g4����Q�����
�WӴ�;�緖
��$�)$4؂
ɚY
�=	�A���u
!�~3�dQ!�P
H"���
�I�|�Tߐ���;T\��&�]��^���o��8���u�U���8c@�d�������[��B�{�>���Q�hb@��[�<��y�U{]D�����]K)��M��g�xG� \Gj
>�E
5��LJ�d�X%�w���[@'-i�Ú��O��<˺t�s�-b"�����G��
�����W�>=%L��s
2G�'�eh�Y~"4;��
^s����	�7���9[��uM���b_$�+Ғ��>��9�b�*�s�i�;&� {G47+��31)�.�X�߲7��3�)�Z��2����]�N
^ �I�!=�/��@ۍ�f�Qj��P�վ�Y�=Jv�����>�xY�{��"��.8Ǔ��]5x6
�����14��� [...]
��іI�y�]m��{��,_X�
�'�ν�)��M���E��]{^S��b�7��@^
+��`�S�	�8jQ`>%:�JR�G
��*8y��+:"�nzb{�
I��
#$w�EI+���3��%
��B[]`kOܐ䠄�y��zZ�ә� ���-{q[ED��겚s�D�<����;'����A�a���
U5u
}iZ�P����
�^Y� ���e�o�D.6y��g�|d�7s"�
��)�R
�
�
���񟮚䅩�������0K���|K2���%�e'���j5���ǦDg�w:�H�z�H��b��9�oJ}2k���KX�D6���jU}ms��Ѻ��K�DC�-��'
GmC��v�ڐr�
{R��`�G=8�qU�]��>�����0���{��^
+&�s��M0���~�W&L.:�M��
'"i�������֥���,jxśf,�Cz��h����բR�����:1��6r���t%-���	��/C
o
� K/�
$7Q_�2�n����@]e"
x+��J�ת3�lR1�=Ub�Ϭ����z��
�l��9��R�ӆ�ڍvp��Qj
mb��a*!<�6�J1=��Ĵ%U�!�j
bձ��S�Ӱ�QD�Rq|���-c�Jx��
v7e�>[�
-R��MO��A)��WX�
��5z�9&]�
]�"P“�Z/��%Qڹ�C�'�R&��|3�m9�drT�o		Y�M��@��]�Z
9��w�W,�����I�{�A^Ҋ��T��;Q�'����
Y_
�����q�
+��(���n/g�;���Pe�j���500y���S�ԋY���
T��E��6�L
�����r�DE�����N���W��H��M�6
�#�(9���iEG;�#pf �\��\=�0����(������}���~�#׽w�*LK
`j�W0$�r�v�)�5!~.�c���Y���;��MJO����H:�xx'V�_�{=�K�m���
HFB\a+9:
$�E) �bs���¯[$� 1�9
����_���c�a"�fƣ�ywH�۴�����i���J�H�M�GD
+��;��f�s[�_m-]^M=����q�b?�eڃbK1+�o5?���&����7�.7�m�;��
+�]��ms}��SZ<	�6$�A��G�+�"���}M׉���Sk���Nl�F'Qr�������X�u�H�@W!F񄝼W���2<����B`��U�$�I�
E���_��6�G2`�N�Ե�]a����!��4//3����9
���x&�o�%��ߏ���"���)_����
��jy_�ޚf��p�?��Z��.���f��"#��iԸ�HWqY:�D�Q޺5���O�u�ڳ&o��[�Ќ���c��_��&c_}�f�rr4�Jw�vs�N�1�]$ʑ���d��.}�7��"�͈V
W�W����2+�\�G��
�Cf����?�P
&���w
+�f'�7{&��1)�"ݚ,V]N�Ʈ0�M����FZ�xB+M]tk�rYC��eqξ3Đ��#�7��S�(F��ܑ8ٺdx�=web���
�kKH��@�X�������3T��k
�G���
5������wYg�%W����{�
h/����u��Q��k86�
�\䶅�=�ق(0��RW���M�!�����{��Д���M�wl�rHw�.JmV!vJ�6[ �|�yI�ʝz}�EtcAk9k!��s"T�s~��
�I��+khm���/zvg���&K�*�Eb�— ~$�1�g�AN��/%�#���-6f*N7Q����E�tr
����9QHv�B���N�~N�$��[���,�D�]��B���
�F��F�綳#���M�i�c�}͵��W�kT�T\e؟��v�"����
,�B̘�;
7E�!޲DV9R}��-�y^|M�J��4lu˝ʸ�PH��ݻR�&lmq��Q�@��Xq稷h�
k������:��s��,�
;��	ko �ۏ&u�ʁptWoA���X_vqc�i���Lɂ���C�D������S�И��������%���R���wa�\�[:�X��j�͓P�; [...]
+�8�o��

;e��0<��
�c�B
+�Z�`Bݩ
�c����kB1�g�
�|="h��Ef��
���DG�5^X# ��u�����T��l�_�}��}� �	�q�HA��f&
V]T��SL�0r�U旿�����d�
����oU�c]���V����s�rNS����Ơ"S7�[�m�s*�P����~ʛm��^�L{��	%��8���-U�o�`j�*�
�0�*kI��%������%-�*�)2��6cn�

V8��b�"՞d�_���
��<���I����~/���6��I�Q+
��3]�
z�KR��	���J�L��V���T��O_��Cb�5I���E&դ���W������C�\�$����๠yG��ء%�[��&���1��<I>�wP�M1Tzy���k��*���X0�灦elG���|?߇Ÿ����~�;U�)�U�ut��$��KD1AM��~P�7
������-o/Q/�M����T,���=y�XBN,ɘ-6E�~
n����u�n�7�}������W�Ro[�L4\�
�`�,d� B�U�Z�NY�3K�a���aWQ

�;�6�H5�(��u0xwD�yz������ ��������8����S��;��֍�)FR�GJv�<D�PPZԕDX[�E���
V�7]Aq�m�v�u� ��n�p6?f�*˭0�Ӝ��b5�	e,��C���(��)/�RS���#��_?���<��f����(�L��%��b�|�݉�
^�0!�}��!�d\��\M�T���
\�����ۚ�䎩>o�k�Nv���/��\�:d�G3���(\��18��eOx���U�UT\�T�仢����5qv{(:i�I���tU�Z"X^��V���(ޓuPߩ2
�4�d�`|���q|0�H���!�
+ፆ2J���kv�c��u'(��,ʹ���
+�g6=4m_b��=�\��+΋g���z
S���	���	
�[���
Q9co�45%tv��t\�oOS"P2~&��Z�q��s�1��Ք���b�j��A���~�74;W��Cq� >l�R%��L��
o>c��iʼ��>�6���!���_!����Dw���Pd�L�+ �tKw:#�Ed�x��iR�����3<Q�4G��ې�;s*"��_=(��*ڌ'�J�8Ag�"��X�6^�,��>�kVV�
�!�qo-7��վ��+��
�>鹫���o�M[8��.��Ѻ~���1���=���
WV4��m9,����UH�%�3Q�^��m<��sfF�#Q
7�a��Wb2N�u�Δ9��Pj4��3F��X�<�:�^W��S�ʨ�Y����ڢ��W��,2�Y�:wH��F�/א+G�P��o`T(�d�4�ʔ!A}"O��{k3BϘ��c��I�oآКj�JPN���8B��z��~h��v
Q-����isX@}�AG٠;m�酭�!���v0z3� [...]
+䊯���q{�*�B�$C��^2�Yc��QH�/�K	�mf^Qɵ����˺�
+�1V���m���:�BZ�f���v��3��(��fy�ǰ'��g	�m�&9��Z�&z~Ʈvo �<Y�e���yM?����z���/��Jd�i�jϑ����Ii��i�C��|�q�(��Z䅇
�q5$��>�͔���f
aPw��U
+~�/�+�L"-z�������/�E��Guޡ�Q݄(����C
,�*���mP[��:xo��LU�(�og9���GC���2�
�ߊ��e,hs�Me�<"(��n��C럿�
�PQ|\!ϲE79�vX��
]��~�ug�����
@�	��"��,^P��g/�Zs[�/�=�/3j
~�m��=��5B�Pc�ۨƢ�-4�:������w~��m�4�H'dӱ7���U
���ö�pHo\f�n����Q�l��UP ������ֻ�iɝ�b��٣>;�n���#�����Z�r-�@﹎�`�o
pu�}!�<�G�ݤ��!��~�T��t��a�
 v������h>�`g�q8q�\2.;^"�]�F<TV&A����0Â�Է;
w/-�t=|�g֫JIY�7&�8$�O]�=ao:���R���V���+��_��@lk$��`9>�h��Oϊ�s��i%oY<+��>�=���}�Ea�y;uÔÚJ>,ǔ@�v�{xJ��.��$|j��/J\P�M [...]
;�!��hQ���`!J�7�s�g��<��}f?�v�n�7�0�����Zi-F
+�����p��
����/�M1�
�����c�w_��WVP��{kv�0��Bɝ�$�b$��`M��|[-��^	��&�hkcP��-��I���a�2���*��{FOx�S��^��DXk���z�ܦ��|U��v!���T��5Vs����ٸר{>�Z8�'�u.^x��
Ju:��F�� �/1�+�<���0w�ܤ)�-���ߠ����
ȹ��>�K
(�����+)�VX45���PS�SS"�j������W�t?������8��2�lȼ�U�e,X[���u�}�"gѳ��o�"��>H��eeNz��U�����㶂B;����)�C�ۓ/X���\_�f�T
_�H�
e��tC�o-�����'��\<l���UkG
6C} ѹ��2&��U�gB��l��j���Is,��1[p�d�є��`��

HAiQzēX���R&X�>8Қӌ�.�Y��L�F�i
�G2
S�	
�#��Q�SO.���]�ú˜g���y�andg
ox��
ω-���h7��4�C�$�J�P�� Q��-��GY���X���gV�0���o���m\��=����'�䖋���_� ���wgNك���SM�z%�G
+��)_�`Z?�p۶��6��#��膾j��麟Ih�	MRh
��f·\
+E��No��bQ�{��yF�u�(�*c������Zr�܊�q�������:Z�Q�˥�1lS'^�{	�3� �O&C����
8�A��RF�~D��Ar�L�0U�%Z#6u�{"2����4�?�+���y��]^b���F�.�����
���.���&j��Y9�1�
�ĩ����<��͹�֭�{Qw�n�o�����`�ؙ����kȐ�
����Ѧ��cY��k��/ڡ��b6�+'��
!�~U�j^}��c{>p���V��
��xu�}x��W*x[T澔W�o.8;䡀��
fV��xSV߀���@�qS/پ��m�~�lt�Ǐ�F����\�9��L=���<̐����d���鰖Q+{����_�h�䵗,K*����r㺗X��(ɗ>���N���D;�$���s�� �8���Zq_��1W9"-�-�i&ƭ	���k��`���I������<�&1b�I �S
`M��#/0��+C��b/���
�$E�h��}��hh�
[VD1�Y��;�vZޱR��t>u��+,�
&E�8��T��M�F�~�k�2��LJ��5��1�ntPXbe0T�0ɍ,|�U��!�2
m�OR��)c��(�u�p��׷��: �N�(>��y���⼮e�^�a��B޼àAM���
ٗ>j
�Q��£_���9����yS���*��B1˨-!��&��j(���(�I�"R� �����w�շ�o+:������O$"�U��)^q��!��y��4�
��I���Q�f��X��u�"&�FC�b��n=�� #�e�Z�N�\%�頝�����)��h�U+�
�I�"�33gK
�z/r&W5|�2�
+�n0ɴ���WR�S�܆i4)�;������F-��p��>��<WN��;$����(�EKFu1�>
�/��0u�3��W��r�ƃ�])�
d������!u�9?3y�+`|]Eyrl����8�=��$���˲:L���LV���*4�����
+}J��ed��d�&(Ʈ��;
�c°����C��6��`�!�5^��v����Re	��Q�[����Q
ާ
��	M�~��vM� �Q�3�'M�D�M��[啸��1ꙝZ���Z��K
���C�j$�N����9�%�$���s����&Ēx� p�
Eֺ9�Rr`(-i}���ؒ�k(�~�_H}��S��Ρ�u@�}�f���(7F�j�{*�j_�
�	!�eA���U8�3��8>4��<�ƭ�!	YsH��X!ԥ�1z/:�k7@�k7
zr��Q-ƀ4��CQa)]bT�Wҿ2|P=f_,���y�-��Iίl�����퐗�g���)dYE������m�
+�=P:k_�q�����ݐaw�p��;�']"��
c�O	(�F{4hz<V=I"2t����t�)8��I�I�pxw'�o揵�%�O0��%@�e�`�g�
�Q"pf����9$�6_
R34	�H(B9�{�K�I���
+\��,ԙ
۳�I4Ҟ�E�xW���T$x
+��v�6߼�!5
"��xZ�
RV��.���k�..����EQq�T��ܕO�J�����+K.T��ueP
�vCU�d4_�L
�*#���Dc���O|���5<��c]���2�u�H���I����j�׌P�L����o؊U�C���l.{�ϰ�	�#�t�
��}����*s��"��<y�	,>��U��?P���g��(�ޒ��R�p����oH6��_'�j�T<T
���=�T!<���
+LP,r�	�B����*�â�`�ેO�q�H�V&I#�w���l����]��(�G��M4v��A��r�bd���I��M���w
����x.0�z�z���7g
+endstream
+endobj
+19979 0 obj <<
+/Type /FontDescriptor
+/FontName /AXPGTH+CMMI7
+/Flags 4
+/FontBBox [-1 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/A/B/V/a/c/comma/d/f/i/j/k/l/less/lscript/m/n/p/q/rho/t/v/w)
+/FontFile 19978 0 R
+>> endobj
+19980 0 obj <<
+/Length1 1430
+/Length2 6052
+/Length3 0
+/Length 7024      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�k�.�H(RJ�/
�3�t�tw9� �
0Cw#!���t	**HI�t
+
+H�t�������uΚ��y�Y׀O�
e
SA!1|~�����&��B�`� 1�!
����&f3�y��(���rP�A1X����B!uO  ���`0 ���� ��^p{@�PG!ahb6E�����	�-���� ��wy��0�
	hA1N0WlE;(0@��a���r�`�$������h~���
/�
�8�04��
f�
hC]a����Np����
��XnC���H{��-�i:n0�g�?��_w@�!�I�W�Dp��`��
��
��#
8�h�c|0� i���@���P/(
��:��

+���P,����<�n4?��Q�W�-+#�Q��0$M��?%��{�&�Dy#��
�H{�_ �=���pwO���_.X�?:G��`� ���I�WzC_7�o#�� ��
�8`A��0��?�0
��@��m��D
� �p;
`
s�#��ɎU�
����{�} 
0�{ ������^�($�����0��4R�����?6���'(
�	���b��N�
��o�.�Ws�2�!
P 6�o�����_���kg����Fa�
8��%Xl��@��7�w�����������
�x"�͜�����
+G����'�Z(�v ����g��`�pO����a����G:b9��
����*p��.
c��I�[G�tQh��'��
�vv.�g�����A�����a�-�w�H;���u�

P_b,!�����=��7�~$
+�
����1�
+���6�5`
t`@ �_�U�������$�V���0�̎xze'�\
�x\%O�ͷ�Q
++��T��c�5!�Cy�f�����r��v���s����q���=���;��‡|wTV
��&M\
^{���2A�'�$M�I�ԣG�1���H�ޱÀ�4�����co�[e*w�#��Z�ʲ5�č�/�c��v.���p�.�&���|���ɢ!�tB�Ȼ�l���{����5.T�+ly�5
+C�,�͠$LPi<[p�<��k#���V�R��@+�Y���[� ����9���9���c�
���ߊ�P!�'B"m�b�c,ю���Rs*�!Mo'�{G�����{��[�8�AN��v����
�3^ڙ����&(��)����׏ުBҥ|r:�v3�"%���#1i�3Q��]��L�
e�I��=�\V��r[<
��Q���e
��Nq
��F�S0=��J+��<�1!�Y-6S�_�
�
�qc����-�;���r���m��|�0
���y��+&
�a��C��=��0��G���hOF>]}����ʎo*����CN��	���P�]~F������ɓ���#XzCf֒Ol��ǩ�a��r
�v9�bJNb��gyn~_�25��T�[�/e46�ZЛ�毞��Z}H9�cmv���O�A6��.��K����r��d�nX24�6�[
��e�(D����F%��[b��/g�`�
VU� �	��0hU|q�N!(�<eU)N͖���5�뢼�%g�P�C�jZ��I6�^�(�e�nr���n=��m����������LM��v��C�w��
�Zė�>z{�+�U{f+���
+��8���7�0X���t �̵
��L�S����f%��xZ|
������&[@Q�~���'��l�$Y:d,�߽�����O~>�$���Rn\�����I�KN���ø��{�؁yX{�r%6DžA�B�<NAW|���zy�(,��.���uy}�ď���q��9A�*]~���C�t�U�þ�N_
��i�ζt\�s$���r)����D.�'%h<Di}Y�`u���
|7Õf9B-��m������֓��R�
�O��
���/����D�2����mB�
}Œ���qgL�1�b�� �yf[a� Ǯ$bB���.
o��
E� d�o�픝�u9�HxM���nĆ;s�,�AD�fP����?�o�11+�����
�jAT�U����Q�
+x�l$Bf]K��ƕI�!��{��Wj2�~Z�H�B�Y�M~uZ^�۱c�d��
�ۧ�V��d�Hd�Yp4��ĄG�8��q��>7`M^�������9u�n#�e�����g������
�ѮF�:7掃��Fiߊ��hg�E5���Q) Q���dvҪ�|���4�*�4�~�v���*'V����D�{
|
R
mTL�$\����ΚA�Oi%ꃈ�-˔�F+l��I	6���i�j���_�
=a�w(
+��3
+��='�T���;S���񹊽 էU� V��ơ~�s�

��l�ć8;��=>��x�jC��A)��䖧ɜDZ��f]
8c����U/
�X9/ٮ��E�y*%d��Tv
�_.�m+�7��h�(�j����i�w �7\���U�$��ez���4ͳ�d�����A��lG!��\�1̫�]���&�>\�3�
}$
��4��-�QDt����g��gv��Ù�@��V��߾�
]�iX����i0>��9F��]Щ	H��
u3p��@�.�N��,U�����
+��Y%M h^�Q���P��y)���g��4˕��l�����&~2zaDޥ����Rˎ��b{C�{��E�I�1�
+3� ���'�R��f�T�d:ER�|�W��8z��[�t,��N���.�WxNj-�e�����˽��W�
,�Z
/Z
&�[h�S��>��~��j呱v����X��>d�l�z�̜\Y
A�B.-��w�G6a�Ԏys���]&�L��u�>���\d3��b at w[(f��������rL�N�}ɑf�+��|��?��i<��͖�u�{7��>���ݵܭ���l�}B߼(�����1�{#w�l�6�
���盇%
�ͥ�TH�;_�151S�.X%`�9x#�z�p� ���S}^ݤBݙ
�m��A��
�ۜ�k4���f+�
^d�I�|��F0usg�E��M�K|
�ZsF�tI��S7#M
+x4s��]���x\D"��8��ήk6��賮~�-@��H�O������Z��qJ�5�Q�og�1�>�㾙TڴxT��r+�Y��V�E+ AR�S���FC�
 rp��}~����Ff]�AD�ҊY�0]/�In���ۮ��7)6���9���<�����b^v�(#�s�z�pu��F�j��ݷ0݋��M�Yĕ�q��
�iY�ȋ�

�M��ҙ���l�%7�7
7��*��rnF�P�����'�Y�]�!x&�u�OeUR�Zp�&??]ϯ�D�Lݕ�{�}�S.f
+ r8�ʻ��uS��?"z�f�������CL���`�*���,Q��A�{�7{� Id�{_�A
j�vS�7ŀu�Kv��U�3)�=�|/�.�.��w� $�0�z�Vc���
�
h l�P��fӟ�s̶R������d�$��6R����%�����}Pt�k
+�+��������5SGL���u��*��ߝ��]� ��E̅A��B
-%�/ڵ>6�E��:�
�=��[-�]��_H��g�}
�PS�C��b޴�j~��
��F�M�TW�
�m7��4z6t~�c���>���EMd�Ey���
NG���;?��[Gd:C\�{4�7�ܨ����>j�G~Ԭa�)η�i�c�J���p��n�v�7��Ċv�+��JD�qg�w������8�����Feu�?�j�&_U��+�8�!W���6����|~��$�3�[��>ؕ�޵+	MdH�
~gk^����j/�3
��,�^2�/߉#L{���k�
+-����$���F�˖��&3�Ր=w|�X�ܑ,��_����镆&R���Ɲo6F_v�8�?L;�>��NM�����㚫rG|\i<�����%"�~A3�e3���(�6^�RX��b���/Z��E��o{'�_�O�gj8�t�:ǥ
���(;�	nC�`�/���X[@��"�d�4�7Ydؤ�䈿o�Ĩ��ibv�T���
�Վ
��[W�-�U��R_�1�

+%��
�(�W�dk
���]ǩ����|�p�X��

�Ԣ�D;� �/N� /��
5/@�+��> �=�ͥ��5��1�d�c� "�d��~�:�I?~�z�
+q81�S�ѝ�(~У�ȅ��]S}��<����r��r��f)�|�'ǻ���gW�
q�j��<{
+����K�;�k���F��
���ʭ��*��>�eCU��H�F�~~2��v�<$������<��� L
u:��V+(
��<�7��$��$�2 at Y/��WȮ��3���"A*.�A��<�<���dN� [�O�U�W2�T
+�H�]�#�}�"�Ҥ(�n�Xƒ�

����4�����9��w�����5?���)��&ؘ���W_�߅�55���Nϧ`��	Bl�#

fH�V��o����M�i-P�W
��m~ ,r�KÔVäy��y��#
ʯn���}MN^��d�S��%*Z�r@>�b1�N$��$�Bw��J�)珥t0�a%�n���ﺆSs?�a��
�j���eށ�
�����y/g�v�<�!}	<e
e�0��/4���ό�H~�>���^%v���h���3�"�����6�Xw�W}����u7���_d�r��K�6��6������j���T�R�m�~�d���|a2|*�h*�a���6��-k���3
m�Rc �%PCO=��٬H�V�'�w-���y�����ᗴ�ۡ����)#O��|�޳��T�
�����#?A�~ۭ��4�������#����C/�mwR��W�2P��"��_����
[�zI��=(�Z&��Hr}�vI�9�-}�S���
��
i�>��c�1ϲ��5Y����|�X���
I���
?E𬹝���m��Bp�L
dU޸5�
�
9���C�s�G�y5�)�|h���J}�vu$qt/{����4����z��+_E��M�t1/��fTĔ��`��LDξ���v��P���	&'1�r�P�<x�Mbs�j$�f�ph�O����*џ��dBg{7Џ=�$l�@w��N��
+!��Ƶ�%v>+ʪ+y����u:2�Ew�
+��$
e �i�(��W�Z�,�v�l��k
�����@��>Dq�A�d�g�Ed��nM)e�4�dp��՚\mF�
?'�j��PYT�^T��
k}��k�`*�)N�m� T�D���~
���

�-Oè��фz����
+e����7�/����1z͘��S:*�2 Qr]#�+,���Yo��bf�OZ9��S�n"YA�#��[�Z?ϭ��	��68�Nx�N,��0-$��ϲ����r̓�>���,*�x�}��<C3�r����4�";�l���x�2E徟;�_
+��|*F*3��GY̥���C��c2�3�h���b��%�(����2Ƒ~3���R
��q�!���w�X���߆
�IE�p�2W�~�f�tѫ
�u;���;w�Ƅ���sp���{�\����K���
�|N�
���9
!�d?�W�ةo��f�������y���ݣ�
�M>�Q�8�b
�-H���t�l
'�ءW��T�\���7%y�A���~񌀄3+�	���)�/֦k d<1љ&��9�K�3�N�/E|途�T�Q���Z(l�#��i����GP�=1�p'�g*?����X����d���<G����s�Q���^�ǭ�\�j(�T��
�9�H{
0� �h�G��$�[I�G5x��L��rY��1E"�/x�ǘk�Q�=�xe�����}|�k����m��ct
�[��i�����d���|�Ȓ\P+�6Yu��
LFw�Ѓ�ӞZ7�/�Ɖ�U�gH�����¯������?N$�m[�P���Q���
<>w͒���B������г~Π�tg+�`2 [...]
�?Q�Z�oț<<}9RR��^���p� 4˲7��>rrnb#B��$���1`XVN��:	�Ɖ~ˏ���L߾n��w��A7i�a�d�NE����tf�CD�͛��b�B;����K	�
��>���
�C�G��)c&�kc�M<4�
/R5�M�'r��p
�Q۶x�Wě��.�&q�J1�sX�������w��~�M[�y��X���Y��V��r[�\I�B�hAI�f�ޏ��-H��e7M�����C�*�
+dX�?�2��
�.Y�7�Ӧ$x
n(�KX��+6�����p;��8Q²����{��E Em�H������t})�3�C�Ԯ4u!6{*�%0��f�+�U`��zh��y�{]bmP�"&�n���@�_�����ꚇ�iVA��g�����Υ�Pք�ʼv���I��]|+�Zޑ~L���s!a�fe�u�|䓓�ދ��
�掲X�vͧ-C�qj�zi�Z��N�/(���%���fG	q
+�DULFł{
+?%j)�}GYL�`����tzA��k�)�`ʷisj&��\Fq�����d9���vn�{�.i��]���N:�Ue(s-��4�!���s�M/��>��(<YD�o!��������:S��>�.�|�I(ƃ�Q7hc���0����w��J�t�Z`��N�T�N��p�7^mȍN����e
���#�f�p
��Of��-h�˟�l��0W��|5̟��y$��}��}����:����<�m�c���:C�o�0�s�=*{�_�n�B�p$�%2%�x)��H�V�%�a�<'\����H)ۄB�Ŧ[3iA���[�Å��̳$
zy�틟4]x��޶�U��1�gV��7&�ω,�劾�~�9]
�L��yT�W�p��?����
+endstream
+endobj
+19981 0 obj <<
+/Type /FontDescriptor
+/FontName /ZRLUIR+CMMI8
+/Flags 4
+/FontBBox [-24 -250 1110 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 78
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 19980 0 R
+>> endobj
+19982 0 obj <<
+/Length1 1597
+/Length2 7380
+/Length3 0
+/Length 8434      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�_�.�R�
)��!�
��0
0�
0C�4ҩt*(]�� "(-���J�7�?���w�{k
���8g��<��QW�G�nQ�Ð<��@	�����8 �XY
�Hg�_0��
��$�W��;�Da� $*N
�{8��"��@ @ �;�.PyBmZ� u8
� `U����C�
��c����9 ���ܿ�r.w(h��ԉ`�3@�B�>�Q�]��t�������� x����
� /(�����{Bl�h�\ :�%`8@p}�
�
�� g(C�2<`�w �p���&@����'���l ������+�W!(�w2
����`>P�=��
�(k�"��� ��W �G�<APg�
*���A e9= ��_�!��PW$�u��"߯2�)+�l�..A��~�Pw5v�?�u���`~vP��ݯ&l=\�
aP7���_!(��_�
��Dń 7 ��������+䷓��� ���
+�C5	��AP�� O ��	��ߎ�����P0`�������!vl��ݡ� s �{� ௿�,Q�Ü}�
��_>
mEUc�?
�㓗�{�x�<�@ ?PT ����2�
����� �_��[Q
fG���jz7��/���
�?�І��
���}
�0�����V����U�q��/�����������A.Pg��P\�@�t�G��ߡƐ?Zւ�B=\�۫���!�Gq��_���t�e�7�V�;�a�߻@��
�At��'���%;��YA�6��B�4����_6�����

��%Ga ��
�C�"���tk
��Mx /
�D� P= �����,*�������|(����A�Q��k
+�,W�j�0�@ ����5�0 ���W#�d����׏*�p!
�A�D|(��~M�b���!�����)���������=��QS��e����?X�7L�y~�X�vV-wߋgsT� ��D�g��
+ٯ4n�����=�Q����_�ʱS[��,wi���[�:�
�m{�������S:�i�&��T�o���t�cH��el���YI���Φx�Q+����iwtUgkRщ�=F6�
l
+��~����
k���ɤ!�qN��UE�28<�@�G�
���y��$Sz4D�(�[e���*��n&����]�]���e�ԳZ�c���]KFN���F�>��"M�䧙��ɲ���'YL�?�-Qx�v�8yWьDǟG
��
j�m /��XvW?W�#���`9�U

{���w�؋,9�
��[p(���
Z�`X�kqpp�DŽ�K����
+/VN-�h�����$��}%�)�Ù,����s|���Y��0r�-�e�����^�
+~�>{������O�@��`U5N���HC^�Ǵ��%��Eⱀ
�@�L�xk܋c4G�h\Ɛq�:�`D>��	Mke�_�@	����tm�b�>Ġw%Q��̩�
+m�������b��KDϫ2(���9v����ktu�*>��W��NZ�@��
y�k�+�y
�D��SV�!�lz*��%y
�
��kR?�S�Q�� �Ŋ\��
����
+���
�wddY�̚s2r(�/�X�ݙ�
B:a
T�g�\�g:��9!��s���%�M�1}�p��i���\&�!x��<�
S{;��M�	ʣ�����Ū��8h���3��L
+�YE��fʸN���k�����D�7y
$��Mߞߏ�����6Q|���y�v�
ŗ�����{�^'@{����Gtm/
>r1��G�eԎZ��,6�6|�����9�JL�����Y�dh�%`TiXPrK��n�����V���+�_�֙	��ĥ�*sܡhn���2�p�La�wso�Ry
��(�%�Y�b��Y<��f�*a�"
NuЋ��9���g�����">
U�u߄���3��T��ʊLu4�
�����櫭��ƾ��%<o7�=z�*&q�~wn�2o�>�̫w��g��r(z
+��q����e�rd����
+��D2p��b��-02���3���7��5��6?
�y���{f�q����n��Q��7��g.�ʋ��$,�Xq���W�l��ƌ}T��ɰ�/�-�>�oUu��u�J	���K� :�9�a�	
&Z��O�E^(�v
�h�Г��CH������H��Rv/<<��҉%AIԼS���޵{	
��K�9S?�-�O�`+��+���.�<7�����N��f�	w��c�0g��B����N�}
b_�=�e,���z�k�=����	���&�X�z
)!!7�-&�6	�
EΓ֔����2�E��iď���=v_�������R����~��Ў�]
�\�^�c����¢҈Ӓtn����L|�EL�/|
��Kc�>�'l���T�OM?uԀk&��d4_�< �z+Lrs���'��^f�n���f{����Y;%�<2�e��rjI$��Û$��
Єm
��
l
�$?�䕲�s0P��v�&�5���[%w�֬��ܻi�"�� ��eM�&G�`��
x��3�B#F��n�q$��QF9��p��6k�
���
5��O&��V�V���Lrg�Dw�˹"i5;��H�n�'\{/ؓ+���#W��-��li-U5�/�Î֑�x�Bd���
iشl�XO[R�BأR"�B
����A;L����Om[��s�Y{�+_��Bw�S��5)�M��}r���m��E�a걇����g#8r��o�!����c��l�F�)�vhǺ"��MJ�Q7Ž$i���ĿG�������$�X�1'�a����l*5g�����I����6�9�)	�E��L�~��
澚DIO���Ϣ�	����R�����&���b�O�/Nn"����|��g �O+%x{��H��S�W
S���y�Pї�d.����
gSj�p�
+�j��C�3�d��@X�YPGp^���z�[���Wz�h�B�:��%�F{��j��7&uS�|,T�<$��y��N��{=��C�yDr`p
��;M�j�M	�݇F���
����ϝi���[L~*�rO@�#4�
4�6]"���� �gW��U [v���Iz����4
���op<
�q���rȕ�,r|K���5W/mb
�ĪRC��fr=��=�]�9I*ŝ�5���v�L���hx���D\�b�5�@��E�U�uk�����b:7\uj�;�3�8���<���%[�H.����ƿ�iǜ���K�������l�]��t�y�m�j�
�1�Q�#ѕD�Y�76���ϔ"\3߾��|���G
d'��T(�
�J�}�N�9� 0�����Ťwp�Ҫtk�b�=qg�"�P�\x�<aM�Cy�8!�*��T/�����J��*̾
+a?��Ր�ݢn/{��a4��`�o6'؛�+>k��O�0��%듷��{�H�A<`�[�ZC����ש�=5!�#+YB�t���j���M#�Ls`�E\w�I�rNa�n�'�&��T~�(�}�����(��j�������ą�я8�H��	>l.Ք�dߔGX#
��bE��T���9-�?8I_�w�ة��k��f�UtQ�W2�2��KJ�]h�ȵ\ݛw�����Lm<Q��������=G�����&���\��\�G��]�6[�M��|���������C/~Y�$�>^x���›O��MK"����i�Y��0lGñgj���6�Ǎ�ى��m�}J[�
ʬ@��e�,�����e:�Ǥ�[/YK
�Yŗ�n�j���`���sL۩��a�K]�ʜ5ⷎ=�Ć�]�&�.+%e����(����%S�,�/�Q�{(G#D�G�4	^19�~�I�
��6Ef;��yO���^�z��<�$��M[oB��x	X�\���V@��U�ξUj
+*^.�YpZ����MH�3�0����o,s���L����”�x�N�{g
���l�I�.8�l�_P.��)4:��
+�<9�-�t���+?�s=� !�6�}�����q�K-�1a]�Y�X$Y%�o��t�M�GD��:w��������k_�g�'�m��
6.?a��P(ȍ�e�;�k&3=���|�N�P� ̃9��s�;����&�
+^bI�U�fl�Ġ�/�O+
�P��������}��V���*UF��LSɥ�C!�q4���i�
+�[�.t☺R�j��S��yC����Y��2�A�}-�`q[��/!�!

g�`��
lûf'��_�����b%ɴP�\?#ۈ�`N]s�_UB�����;�֙!H�%:1
ڪ��� x$�(!%rM۟{����^M���C�ǜB��K�l���u�

u�§C2��
tUr��?�.��C��^�.
(Uj��4!^#��+. 
+�O��1X��K�R�3�7�%c
�Ցe��̙	;�1
mSɄ�'��y h_T�����p!�4Ɖj2����S�(�˝��N���<A]�@lU�w�Knf:>$,_R��AK�#z�
�x�l�X�����3��݋��Dޮo.��-�ۛ�X�U('��1���������E�y�`l>(&�fX�:���-��zz\<'�ꭰ�ށd���Z�$'\���2��;��G�d�ө�7hf�R�dkR�߲Ǩ�u��	v8�L,��/!�[��1�*�v�>O��FÂ�W�]
�����]���B�^�����
8lg�nV+�<� 	��㴥���m`1d�k�
��D��

��*��GM���[X
19�c��(9v�)u�$2��s���O���6��Лۘtչ��d�l
/
`�W�
e�����n8�hm��� 3po�Ihb�
�Y|�:�!��H�.��`U:ǃ.��G�Ϋ
eU|V}9nvj���
s�,�sbU���Cf��ٲ�N|8�l�%Z`hTJ��P�E7�4.F��
��^@�\%[]

��Z}��#����<���rk��g��z�8�%N�F�FK�P�68����.㛴k����J#O�~��:.�N'�>-4����L6.H>S
�|a�#��z�|Ɲ[%@"�Z�2JGQ�[3
�Kf6�o~(w��龘��N{����"Q�k�����
+���l��Dx6w}�
΍;��>��q��Cy.��1;���B�Z�
"�3o,�ف1��ˏG~�� ��&��*8�}fO�?��R\�a
9a>��5�{,����ݚ�[����C���G9i�E���:�j���_��k�F�����9<���B�0�����9��Y[�#��`��>�
W3Ь_<����/��KDa4���>U`���0�s��"R�N��y��Gsey�)B�������t|u��@ǃ
���[Ɇ��
+L��j�
7d4�e���J���Y-�ClsY�w�e��x��CIi���+���̙	J�U1
+oH6�r�~���Sw� y���{�H��Bv�s�䉘6�t�/���;��c�bX��r�x�l�,���6�ԙ,L/�3�jlk����5�� /�?t�.̛�8��tbIf��	n���c�$�JC��鰷�ɸ�9j:�O w�!�&¡��21�������{5/�tV��k
J�"�%0�Plf�����>��6���$�$<0E��іi1I���"
+����/� jky�<�[�����̗;���0�4�<����$U�N��Բ�u]���ԧ
7N�����������Fk֯
'�b���Se
��d�q����{Z�
峕�(���q
-\1���y�$�%��Vزv��'�}�,b��f��>
tR�L`Rp�NHpL����"��VX^=6�
[�f#�R[t���
��*�=�޼0���S��9����h��򆀝h�;�j���C��ڐEN�wS��2Z��/�7�.�H6Ί;T O�Sď4g7�KW
+��=V���tƑr��/Bgc&{ 2M���޾��%��:ۈ"
�)�n%i��e':��t0E-�Oq\no�n��ާәt�i��Uw(�'?DO
��H�a��-�yF���
y��;�������p=��M�'޾b��L#�NP#y��̣E�G(;�#� �����."��t—pSJ�OJ�J�˒c'����"��6ѩ��?
�-��7O���٢��_�p��\�luPN7�A�\W�uw�
��s��)&�L�~M�A��
uM���f�������

#��Y�Y�7w��Jx$1����<e":}�\���nTW���?�w�
w5�~��ah'������S�7����7a_��1w���rz�[5��(���V��y���5[
|R��eX
�A�'���o"!_ٷ �캸��s.���g�an).�IS�_
I�����$5�%3hh��7bn����D�rfÕq�SL����0�|r���.���g�g���X��vz^�=����i�ijR {v�ɼa�׬����ַ��,V}!�W9ȚT��D�.�u 8{�E���>�k=|`��l���:�Z~�N2�c�	T���f
+zlp'i
{F
����y�ȵ��7�|
J�Irt�	T�=�D*�I'�}��L�@���Y�: ����۾�>C
���ҫw�C�<�>��,g~&�
��i�yy��Es_�q:��仂�!
ayQw��� �G؋$��T�*evn��<0���
_���UW<�y���&h�U
O�9%���l
R���ܐ�I�3��L
+�хn?�A`J<[���`7	�Zm����� v"�x���#]dk�l����'"�]�Z��&"33M<���8�а^�T��(AK��֨C�� �.�G	r�:�F*?��7�s���;�lv�����r&
�g4�z����f���̟��x�����L(�Z��ED��jj{��EW�!!,�Fĩ��

	2"�B[i�o5,��f=�{
,����˽C�>�]��O�S��NJLJ&k;0�L�������E1��9�
Q��
+�o�Wn��7b6e��,���n�#o_�?c #3��Q��f���Ķ����$[��"!ۤ ��g�vj�[�3uaUB3e<U���X� "�OeN���\�y��e��
�k�a�U/�����_7)_�,�8M<`���g��j@�>��!�ܾF�D������V�����Nm�
�
,�6��'�ac:f�2��0g՞�s���g�g�	��^ԥ�U�)#F�Հ��H-�7�{�� $�,�)��,�^
��O���޼��
�
���\�:x/䕮���9	H.����"�2��y��6��C
��L!i�1k�]O;*(��qW�
"v��dˇ�)תʿE���=ƕ ν`r�LJ���l�-��,/Y o���
�;b^�rr�P"��F�'@;9\����2�G���{F��le�h#"�ZԯK������A��N�
�ߊ��W��[6��3muRA���7�y�/�nYЫ^������"o�w�#	
���0����W�m(Nq*Ӳ}��C�	U [...]
�8�W�G����h�:U����&q&a?3�Xw?�v�P����Psf���ʍ�
�!�vt�j���ѥ��|�� �@�W�����w���]�OR�o
�
E0i��H� %BR��
+�j
d#�ny�vy����S)T��R�--�v� �Ǯ#c�/LnU�ã�.�
�}k�)�h�<H
�9�Ǧ
�r����,�?�'���*"����k=E�)�����d�7�k�����}�!�$�	+�6���͙?���}"R�Ѳ���ﶟ�b`%��Ϻ.�\
�]fy8���&��[]�cU��S.�a�zbT�L =�����rj�W�
�
��&�y�͂e��
�$M��mj(b�7"���@�M�A}M�L���::�1�n�/�v�b��kD�U��[�
��fZaWNB߮I��Ф��G�K���#CJ�8� v~?t*��0�h~�Es��y�~
~�x�NUM
���6�C-�
����e����� �4�6S<+�0��i>�����~K>�.�M6�l
+���!��)@Q!��)D�ݾ�R�WP��E
}��ZMy	w��դ���z�G:��Z�d
#�#��$ /Ŝz���βt,�s��E"��vz$٬ӺaA��JͽC
vƄk�7™�V
m<56�2�������n5Ub�i�0ќ�
U�G\u]zB_
+�=T3
+endstream
+endobj
+19983 0 obj <<
+/Type /FontDescriptor
+/FontName /KGNDHW+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/L/comma/e/epsilon1/greater/less/n/slash/triangleleft/triangleright/y)
+/FontFile 19982 0 R
+>> endobj
+19984 0 obj <<
+/Length1 1546
+/Length2 8458
+/Length3 0
+/Length 9471      
+/Filter /FlateDecode
+>>
+stream
+xڍwT�k�.]R��� 9twJ��5
300��!H#%ҥ����4HIHK�tH7�?�����s�:g�Z3�u?ם�u�Z/��!��
���Dx��$J���@������ 
��
�<6#��;
���E�
�)�<��H�'
  E%�b� A���H7I�2�
f��<F" �xlJH_7����}���`. PBB��w��3�
! � ��}F00D�a��
+�)����"������rv�C���r� �a
 �;��
b��4@�
��7><6����'�H��7�
�7�a`����aqܧjht] �?�Zx M ��'�_޿�8��`��
�
C��08�������� !�~Apw�?�
��l�	��*�@�-�ՠ;�
�������n��w��9� 씐����;����an���}���_'����!젿��t����zB4��"ݛ����C< "�bB� �+ �v���≯
�C�o�}��\�. �}#��0(����
�x�yB�����
���= �{���f�O|/7��\�^�@�����,�Ef�D�}���q��:
+O͸���?���H�/P�+("  
+Eb���;�F�w�X�@����WD
	������݉�_���ku� ��Ay�i��� ��������G����.I������� ��ap߿(����_m��� �7���Z+"�v��L�t�&
+�{���������Ua>;=���O1�i������C��� �H���%("
+ ���|���
� ���{h��C� ~>���p_�s ����$� ��ߦ?н"�Ap�,� ~�����^����{.�_��.��B ~�Aa �ۿ�}
���������z� �>�������~X��~P�?�w oz	�
+s�
k��I�֛wmPP���(��xU��kC?DI��X�}̔B��z��"ɶ`�]��	���Ղz�$�tu&�v���D�r�]�Sp]����FagO�_o��}"?�E��z�6��SM�����a��v�m06�J\\-�Y!��L�Bat������n"��ϋ��>A�宙b
T�R:�����I֖l�f�(���0`�m�]��*�3�),��ֽ_/�Ts3c�ۗ�h*]��j��
+��@�c'�/�S���h��m빐�bw��I푟X�M`��鯩�u���ݏ⒡.�XQ5w+���Ad�K-��[�5��)����;�n�n-�(9Č���r�U*E�G��h/�������Dd�x�9��|�+�ø��آ
dT��^�k�r�מ2�L�������E���/0(/HR- � �cGy#�+��wrn@'NS�mإ#��y3Ҁ�T^
_�mQ_����ڔ�>@�����w�Afm3;�{ۤpPO4�x0!ʀ�A^h18�^X�\���Π���\�8gd�R~VlJ
������r�3D̵�L��T�M��ώ�"�>�Ojb#�n�U��W���11�Ȳ
+�h����������؂S���C�z�y88M6XR��1
�Vs��3����Pv�F>�ߊ��m8��w�)Qg�4�ם�2L߲��~șP�ОV�ݚѯE�J%ڽ9�ϑ������R#���d���7i陲R�.O�!!r#!΀t��43B��i�'�Z����T�_�b�lfl��%ō9��a.h�rKX��X?�Cۋ�)�&��"BC� t��Q,��#�6���p����N��ں2���_�����7]TQ�>�h_��m�'S<���S8 vE�w�����
�j/�":���̜���������
��v�{z~(�P���E�/���u�>(�����S�g�ز$;
�����'�n�����E9��ʹ���KZV�t=�ul�H����.'t��~&�)N�m4��
��/��̎�-����TO����0�w�Pd74�qD����F'
�&�Cv�G$�6o���4O/۩��#WӰ�4������aކ�w
+M���
z���u�#�;m"p(��XJ':�V
��{�����c'�> =�w�;%�@�7y��v��
N�'�,�?����j�X�z�yq�����Kz
27���r�CAe���P��Q����f�1���U|��
\
K����b�.��ʈ?z
%��)*
U��/�;f�
{Ac)_Z����f铚�7LS*�)�H�YZ��
&>(��D���:�Qc
+�I4`]�f
1s��
&
���`[�����45�>�{BX{.��h�qQ���^6<��w5ť�cV{�]W#�]4��8��Ѿ�n^�EC���9�
+���T�����
v{2(-���>�:<�mr
N w�OR��#�ض���R�Ÿ8�.'�M�e�_�R��*A�/_Yz��cW�U������Z-F/��?F��I
�Z��{��"Y�� �y�
�a����(*��$E�kP�c��Q��3r��HQg�aH�D|z�<�&;�
Sv�!}���Jox�*j�am�ԵUkRx��p9�8 �ם0�w�J:z�{��/$��C�Ga��ne����/Y�$:�1�b_��
�¦o�����ަ�X��x��ϞR=�9��ͩݫ�u4��\A��o����.a�5���v4�j�cC�$R�Z�Th�ד��+��}��Hv��S ��5N��z�G�F�S$:T"ܿ��p�v0�Y��q�����;W���c�g��]�g��@�y)Ԙ�ڴ�C�역�i�.9�d��b�l�
x��6ۊ�
4A+y7R���_�w(8��͞�u�F�|3疳%�UP{3��|�cL���.�-���PQb��i:�l�W�7��M޳����C��4�Kb�e�
o��p#�5L����N�F�&èS+]��ψw$v� ��]��_��+� `H��v")�B)��9֋fY�qR�
��.�&�Nl����	g�A�'u�h�" �ɵ�U�z��l�������d�5=�k�P 
�ݗ!��IS���HӀ�C��Q�� G �	�`�)%�A�
����`0����L
������T�?�X���`}�8kY��~uة�f���U+\
���\?�JD���((8~�a*ϕb�`+{B���'b`0Ͳ�G	}cb�z���]�݄�\���gb�A�zY�
+)#�G�C;��B�.�8Q�3�ٕ	CS�
n4��
+�U�^Fu�x����K'�eǜ�݃
+�>�����ǝC��e?Pol���3z�3�o};�jgy��x��P��h���7J���u�%�b�.���J�U/�}%��Gk��+�%KUj�E'��
6�d`
�R�B�ʾ�����D}j
̺�&̰�~���/9�b���A	/�
c5������@#z~���=o~&wZ�n�9^�K
��d�-4�i��S��|�ü���r�v�nS��]�P9����9c.ǯBV	�E|�$����.b�n��H�j��3��
^�6L�a_�����qd���"��'$�Ko"�Dk�C��|����׽��>��������=�E����&-_��e���
2�Q��MT_dy*�F�l<���}_���	���a��Q�
�^Z�K����lɟ[�J���i"�o1s)�:tV��/��s͕:kW�v��Řf��o��=�������U�:��圡�گ�
��R�DWc����ɪ[���ǘ^��NLD%���M�$Ixس�P&�v�
t�վ�U_�ɰ��X�
�.�{5%�W;���R|�'�
�'�X
�‰뷀�p&<���Û�vm�f�8����T��*"�ic� �F�0��0�m�whYؐ'g��KF�Q:���d����l�g�a����C�O͢C��3��$$

+>�(ܶrX��q834�ݴ���{6����ELv"ɜ�̨��qݰ��x�͋�MHM�%[)��d�`���^�*��h8��g&�h~����w�%3+f˗oGa���\I��
�+������U��Ou��+
S��=�LJ}�8��fFh�M��{z��Ћ
�ehJ�U��Ԕ$@�[�ʒ�O+�L\߿K���1�E*��|�a��X�H>��:
���������IV��
ґ���l[� �z:�&c�!KU�����}i
���bP]��*x��O�Mr�ɱ�ZN�`=��6} Ԟ�"N��"ԜgN�x��E���9��0o�
��dR�^���h^�6T�A-�K�R�z%b�̯�נ��V�~5bG���,���^=ohљ��`���)dL���) 3/d����ۿ�VLd��#�#���$c��i�X����3�V1��AE�n�b��%���
̐}�n�
+��|�{I|8%�noqX
Y�����'Kb�QuǴ'pX�{r�e+Y�GY<���Q�Sd�=���r>_�!d�:y���)�y+l01��Q]�l�����!�
�xRL
�KK�k?�
B�F� }/�V���>���^��
n�h	���%t���E�6HY��%�����/{m��Nܑ9:bی��VQ�Yc��wv^ȝ|G��O�l�j��fz�
+�H�Z�.���g
���"s�6��Q����C�9�	���G��I���=)�o�0�nW�(Vb6@����`�Fj3K�4.�������
��@
T�V�Ǔ	�f�@��b�4��#+�_��U]��au�W-,�G��_���}
�u}t��q��>��!ds)/�/�������߮5,6����
fAh3�$-�/�����<'�����jw���
�~�_NKU�h�2��ܑ.d����j\�R㹋̈́���_����R�b�Do��%(�2�?3�$K�����f;�-�µ�Du�Xu������/�̨�_�oג^��j b���'9r��W��
I��Xw�B��.Tc1rYSZe_(!
+[�� �ͪ��*�G
s&./pTx�F�����'K�Q|@�6-a��t(�s��s�NG�t�����k��MS069�$��P�f���$ɽ[.�hߨW�s
)hnC��
�*�	{2��|&4�
5��p�<��H���V�U�s�랠���ya��u
�ܶ΅E��އu6���D�kZF鿸yA�\O�]%�XG�L�W���^3�oS)�뉣5�0OoD�Y�,�9;��:Jhܨ�V�~1��Pp+�X��O

gk�.�{�N��n�
>
�3'Tq(�V�:_$�WB��`Y�i�eѦ�<�I
��$� F���2i<��#ְ����rm��gP�~�9��L�i7�n��9𥾥4�b�
3$ҳ�J���[�yJB
A^��A��!��՝:N%������.1���,�gn ��jcWt��G�y�,k�i ̲���
m�ojA{�Hb�޶������h9vc��7X����
k�D�������d2�J6�
��
-��;����.(;S7�]���E���r}��j���j��^�
X�a�Ùξ�Y��ìp����gʯC��:��j��!N\�V��x����L��΢r{�sU���3Di��6�=��5�2X����KY�(ѻt16���e9(M ��rघ���ԃ��׋�t��@.�ױU�&��kO)O��^�%h���r��jr�G_� p<r/�!��������ċ���uѣNv�DU$�<�v�N�
�}z�
P��A'�`v���@
�3��A������Ŧ�!<]�;�����ZS����5��
��׍��/T{�N�X��^���
M	=�I�W�� �.P�z�Q����9�_L8�P�{�$F���0uÐ�uGA���ԳY�����[�5S�����X?C��m���k�/�}���b�oq�_O��Ȥ�E
aG� 
X>���>�A���^-8��_�nJ�3{�����8�8F
�
�_��r�;
4���f��o%�-.��{�J(
<�Q�Ƽҫ�Y�郈0P���]�JT�cZF��x@�u�,_8�A���;1����c�f^�;�K�^��F�1��
�\��ꠣ�xT4fa�ɐ�֚U�d��;�7�������z>�R�بo
�K��]�(���7��P���@��?����\%�#b_�~�Df�#�X\@n���
}�ێ� 65�[,v=�t�a�R�L����q�A��d�6���ȧ�Φ����[
�ɗ����4�<��I�W�W�p�V
x���,QIH#8��Х!|���_X��Z/�# ��3V� �
.\r�
�
����
x�S-XYLU��hnȂ�vD�V#<G���u��@Uk<u�����U�Z�}$5�@HF3]�B(ڦ�2x��"���balK ʏ���Zς�H� f�m��\X��:���S���5W�I�����-�����CP��]�ѩ�z|��7�:�	�����
+w&����.h�.P�G��Uې��)
+vm��`��e�P ���짼���β
�ܚ��XL��n�4��}`Rf���1F>Z��������մ���k!�$����L�VV��~�]
W)=�9�QcF���)c �3�g
�T�7bD���H��7�9OX�p7��	>������
��1hn����uZ2)����ᡈ�(7�!s���{�)	��|V�
��S
��	o�����g�I*6kK71v��)�af��;5�,}\�El�n�uט
}�m�t�V�y��M-@��<N�ڴ��s&#9!M���u����2~�Jf��=@/���ƣ���/簛�O�Ӝ��7�����H�YY��W�cA9N�߉�w�Ws2���A��+�/P�<)~��nz!���YH0+��%뜿�$���Y�#���i����l���fUHڪ�
���G���Î@4� �RRo��1-լ�c=D�/�3�N��	��
wpwkP�x����=cD�b�j��y��&�k���!�
?�U[Ϟ�Yﴽ�QN��g
��M_B'?j��p�����R�<hr��ȼf,q��i�p����fw��";Jyk��m
q}���c
%@n
a�b��1��g��Cs�����j�'Q�MӮ�Uϛ��H:l�dQ4�M6vo3��i;{���:� �%�C�W�"A
O�kږ�� sY�PB��U�!N�47~�Fg��Ѕ������¢/$�kQ,:OJ��p��E��>d�=2߻����iE�LL��I	�A2�KSy|�W>#� �G�Z�m�.�#(����K_ਏ85&���%*�{ ��ͺ���6K�1i�ܔ,��7����J��grZ-Ե7��u�[��?�d�Hk�ݑ�5��u�,�0�oY���y������B�N������m$
�7׎א�Q
���i�_>c6ޘ�[�� �Jq�6�i'�ւ�u�FV��P����!?��li���h���#���R%1񰟓�����4�c�?"��
c�F��T��S- �D9�,���5T��t�������U-I�����-�Zv�E���:�F���~�W
��rs�7�O�FzkxU���z	
_��Oģ ���qH}��21�G�\ͻI���0
<���'��������B����vz;���(
5����E����Sĥ�KY�k�72 
�z���=��l�A���|A��^���(y���/Z��kx�T{;/�}�J��U�R8 �[�ҫ����[�
��Ҟ��G�{D�DC��y��k7� �
4
��D,s�U�Y��*8��h�X�����RbM�[�������d�)�h^�,*k��2!M�+
���$�H2�=�*y�Y�<�4���j�����j}�����Wyk��a��
R'����nX{E��^��$�w��f�
Dzi>���M�Aơ���+�;��g�|�k燕�����X珩�6�)��֔��5yy�&� f��[�������0סg;c$��sȼ��Ub����
��p^$�?}G
�|
��X�.h����Մ��a	VZJE2�����f����w9,��7�̱Bj6U��(��@;��t�!rs�\����ar E�+�:Z��D��l)�5��YY
t-����It8ߩ	7��y2Ѯl����
~)�%��1��`�{G
���{Ppk�� �;̩X����~�h����V��
A���w#�<1��4+~����yS�5߄?t�l�ZGL�t����E =(���
������#�k�Qy��x�BPRn&��
��< �R
Z)ĭ�Bo��@ͽ+Lu��xi�kFtSN̾��h�q����(�%S�&����_+v�
��?�_K,��
�
-c�Ш� [...]
+"�>�m�z�������B$�}�AJn���Gߕ��K�,w��sn��I7��2�ܲʽ�Rɛ
+߮v6��������O_���>=Y����N�ry�?E�F�0�K�Rl5Ms��,
Ba
�4񝖸pG���[+gGt
�)������� m���j�
�ڬny�S�����~���5�4w1�]��+����y�v�+�K��M�'�
��	��NU
+zIY�F)�q��]8H��Wg��ɦ��q;_�
�ϯ2�{�b
��0�b{�j�����oz\���:4�*C���Ͷ()��GU":|�C'�ۃ��|dÃ�ȯSB
+�Ԟ��qG���������01T�g�|~��M�ru
����|-Ta��u���uD�,��p7��7:�9KSx�7~�0eu��Яna;[�׬�r�dw<]�F���.�<�96>v��AM�\�  �����
����V�o
��K	18�r���w�n�Q4��zO��׮ܣT_��Ҭ�Q[X$�̋�#������LZ9��§�ɷ�
+4���:
㣵Q��m��
y�Pq��Z6m�г&�?J�Rn��hմ�v��` �K�/� ���q:b_*So�"y�_�&�虣���$(���̦�������e/c����9b��˫V������oPIsZ'���
+�,��<=�ʟ`�����Ez�{DȡD��ܾ�	!
�cv��R���ˇ
�YypR�����M}hۺ�4��@��8��-`>\�[<�<�\��$�b�"W�\{���=uԤ[Vg�Np�a������X���O�]]i�

+�A�bI�)��zT�_�Md��#ʫf,��_�+
���bG��%���sh.�P��A�]����)���B&w�n@/�s]����Hf6�Kګs�����S
k�����:��nY��
�	�T�O��
y���`��6�U<�--����/�
Qhv��ӂb�eaVۦ%O��[�5J��ji̤�0�)�:�]��謇y��Ӌ$ރl���>H`��[���W�R�įv��Ǒ�3�V� 
����V�=خG�,�I:�p$YX[z�+`��
F�=~6�L��A��lam8-���jʃӥ�=��Yu��Z'
�|Wu��d�[�=)���m �`�k������_�1;J˻�|���!�_��-Gc�
+�tc��bb�L�6�a �6�#����u�[^��9����K��t���~H��hU-�ˀ��v�w]
+endstream
+endobj
+19985 0 obj <<
+/Type /FontDescriptor
+/FontName /NAIRUZ+CMMIB10
+/Flags 4
+/FontBBox [-15 -250 1216 750]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle -14
+/StemV 113
+/XHeight 444
+/CharSet (/a/alpha/b/c/e/l/p/q/r/u/v/w/x)
+/FontFile 19984 0 R
+>> endobj
+19986 0 obj <<
+/Length1 1358
+/Length2 6062
+/Length3 0
+/Length 6991      
+/Filter /FlateDecode
+>>
+stream
+xڍwT�k�-�tA����kB/�	HoR�J �H�7�
�4��Q@��"UA�&E@���?���|��u��Z�;3{f��̞��pq
);"�`
%�����U����	���ȸ�L`(w��~2.S��7
��_U/(��AP8�.��q � @IY����( $**�7�%
P���
�� -
�Mƥ�@�{��]P�>?x
� @)�_� e���BP.P\G�;�� ����U�W��Bʊ���ha���0��Y�O���\ FPo��/��2@��CM��
`���
0F8��/( �p�9@�޸�#�
��0���GB��:���?� 
+�S�O��B0��d���	����� '�;��F����O ���ˇ�B`�{
���! ��! �c�����
�������(�
��Ꭺ(
�M��|j0/����E�
�
�@����`pG��4
}�"��0O�]�?����3�����@=P?��
L���_A�O7�Cp �8�h@�aNP�Y�7�
+ at y�@��w��p�9� �Pg���87�鷍���`%�� ���'k��
pw��F,r�P���H���UT~�@!)�HB'Yq @
+���2�������@`'�O��p'@�7�������0x�l
��
�89C���������
����R�o��Y�����>����W��7���C<`��89��p����-���f�����pw���]� �pg�ȅ��¢b�0o0��h C9��V�o?��N�_S�iCq
���p����IH ^^2�dq� �[AG��/�D��.�;{0�	�E�s`@  ���#�W]//\�_��5�����P�ԁlz
+� �Z���V�-�<|g�k�,�O(p���	%q:_Mn؜סrz��럖�y�f��7�_?jI5l=
:�M6]n%��g�dC�E7+)����Jйg�i�A3~�W���4�Aэ�~/�+?FM-��Hj��U�	�ߋ�Z6�Uh�7��I�b%���88
��k�]+Y�,x3^�4�r
�p<0�����t�ɒ���fp�;Pe�����כ����Ϸ��C��2C�K���9
i����R�mO����UM)�[�^x����k~�`��SFߓΡ����&�C	y3�}d�
+��K�F\H�D���5��ZG@dϱ����8W
+4����L��ke�k�Hɍ�*��ԙB�36�
,9����
t
�Ib#\���"6Ϯ-J�<��z%E�Y9��^y�����}��=x�3~,�$���fR2$djǬ`���

V��H��P��M�4�0.
���E�	�?�?̀�oLgbl����8Y�K
̂�����hp,���(�*����:]s�ɧWgr.�G&K�@��U�d_�$��8[-�
�͙��1���#��a'�EKg�̍6��a,?�l��	8�V6tHF�&���gAsn����6Իnr��	5ι�z{��h &A:�*&�M�=(���V�-Q��x����{\��օ�
�6���M
†s
���
��������s�͚�[�e�;����_���,��>jy`4O��.�ly�q�@�ƳK6R���u2TPf�$��X�D�l�D���D�\��*^K���;��O�M��?e
)�
�婉x-�m�fBx
D4a�3��6s�ͧ��ƆAF�3�<tu��)��V�C��&��g�F����W�#?��N��
����hT1N�z슑��ے2�>�p|�/����)�_�
%��V��@tS����s�dz�	�*�g��Dj�\���E{���	V���rY#)�Ǻ���g{���GZmO|�����,ԝg���=�6�f�D������%��
�}���+�%t��_�о��U�x�9�T�ؙ�I+�tg�����R53�_��]�T��EE���՚q [...]
9���\�Dm�qGb�s/�\���W�f ��ϰCC���ߵg�%aھ�Uxj�HA<�
+�����O=�TT
BA���mS�.fgu��Ę��ɸ��XԮ�%�K/�3꾞�G<�*�F�𗎛�wȶ��R�Xۙ�=�L��4.���w*\�Ƿ�
�����$[

߭O�*9�,��*��\șV��85�0�R��3�s�\��2H�&[grf6{


d]\TB��
+JsKA�
d
+~����-c�1=�V����d�<㏈Y���-5
��m��d�8�]G�Z�%2����9?
l^�}/}Hw�N�2F}��2�6���|��lkS{0 
a5
\�Q
��IÄ�0���黛�
O�qt�T�?
,�_���Kg��s����c;�
mɚ��Q��l���r>�r��YC}��JhF�|z��N9)E2���a[AA{���]��J2,
)2 �'9j	�/܇�
���"�����M���nn����<$���Z���.��@Q����U�6�؉a�*޻S��Ri$�-x�:�rA.[��p,��.�r
1��\^�w0�K
+***��r�(�Ԃ
ۼ��-�q�+&���lx����Q<N)�2m��(S�F�ꪶ���
�m� ?K�o�o�Nߪ��^�+�
	ר�Y
�Nw����.2�iB3�ǻ�='{�u��T��Q|�+��|k�+}�>�4Z'i��|��W������ݕ��u��j0p]{,����	{Ix���}��™
�-3��އ$2[��H��y~��O��a��'25��
#�����
�k��Ji3��ف#�$ləϙ׉x#V�z��
Xoh�DW�<�]�_ t.K�}�*��
�d��+I��Ę�dK�דGe��-Y��q|�_<")��誁*�C��\�4T[��;5��I��^~l&e�;xğwC�2̽�a�Hb�#׍�BP����)e;ɰ2����W.�+�_��n���`N�����&�K=�󽜈���4{��Q��I��:��

T��7�;ۑ�R�]���H��e8M�o^���h����>{�)�I�HYo��W�	;Iw���Y�w7���4��A��}d�h�w8L�#�:�]X�_ڡ��p�ӻ�&�����&��\��=-��Q9��_�8#�OsI�![z�U`§(z�C느�-��o���C2���t5���a�Hs��6��x�dx����d�l�����i�+=�����Lok��1��jp'tw����<���|7J��׏
�r�k����B�`ж@Hh;�XȈ���
�Z���3��OpΧ��zKn����ʴ��>hq��_{��[{{͐�M�R���/ƍgՅg1e7�17!�R��ī�^�
+��80
0�
+
/P/r��-ss��V��6�n?}
�2�2H�^~E`��(�1�+��;���6>Q��ާG!��������h��T��
�5_�ۘ�-�E����>�/�X�+sK���-jO_�,�����B
�3���@��L�>S�9@��,�"��
��7���x��
�G��9�4.E�����Ģ&�V�do�.���0v�fN��w�''�(��x�&�쮫_v4�Vp$2Q���UN�y�
�J1]	�Y~��vϘ�;�I(
�F
+�1
+����O��
`±����"VB�
+���0�g�[��/z"�����8{�]_
�,�����8�ꥰ�̨i&�V �%�+�{�	�b����
�g���o�D(���M��������
+�OQJ�W� ˴�:LGvs�\�1�N���}U�G%���/��u�N|�[	f��?'d��Sp?��䫓u�/�kڍ��-d
C�����WM�������o��'��c��)��:AF-�
����r�z��6��Y�z����1\����Vo^�j��35B"�:�)Y��~ړ1�ϩ+=o�F̵��-������lV�n���{�9�t�l�<*I�V�J�q|KS1�-P�`k�
+��b
Z%��B⟬oEwא<�]}���WE��=NMk4�s{ļ�\�|?e��I^L"����d�u�`��v �d�>��ǧ��@V�*��O�
XV�^hb!�a�{��_���6
��ߺ
�"IC���ٜ�۔���)/�(NI������*����U�1�o��;`9�~C=��U��y���덲
z &�F��B�!Ջ+����(����rPq
�I
t�����2�H��i���7��i�5<�ĭ�2_< �P���g�h5��
���G���
����*G���Oc� O��G���6�9�;|p�����i��Z��x�4���Q
,�Q��JU.�jH�O�$Y{�;H�w��]���i^c����q��`rQ����D�� E�%�S߹%??���絵 X�8�T���>�Z�_>TAh+�v];;Q��6:�������z����L��*V��V߭�@'u��_
i�D7�s��ڍ?-w���
+�TX\�/^�h���Q�t
�l��rҲ+�p��-��t!��,ME^tU
�����?S���
с(�U���q��w|�r���>.7��N�[���?E�n�Q?�qh2o\�٘�KVe���!������0�^��3e۠�QN��v>��d���4k�U�"��m͞&�;.��&`�U&��8%[��)G
+�Eq��(��X`��Yw���'[�V
+i;S�?�(�i�f�t��k�TF4?ZB���IP��o�_��gE�SԵ�T�>�Y���S���}L�V�.�k9J2;�.�A<�f�M�1#y�amY���0�~yM�����&c����ʩ�8{�h
��7�G�!��E�\`��\�i�D�
�M醺���4ߪf�$�
�k�h�I`l(f��Ƹ��L
����aW xf��S��	�֏��q�(�μ��
�
	�%��
~��8N~��6�C��z貺d�C�T�4c&O��y�5��M ~����tUf
�et�r`��
�U��d5�)W6zC#Q�@����W<� �A���J�e_����n����C0��d��S��W������m����h'��g��M`�?�k_Y��䘼
�r���q�'�i���
(4�!�w����20�0�� �.����ս��ˁ<���Ĵ�
[�P��>��D�*�]F��,�����Oޖ>/1
��Ċ<c��C/���j��ʑ�UI
��w*��C~��\���l[$��k�?o�MS �L�� I�`�;;4=l
�OL6I�|�T�^h��zk��/�_{˪y�x�͈��>�x��_��]����@	��yY6�������Ac�x{�4���,�m
Fg;�߽^��4�Z��i!Mhv���$�H�~
���3�����wSD�Ҽ8&-/�fV����+0#��9n�~;$Q���%�d&���0�7ɨ
D�bf��$��tK��NJ��],�%aB��v_�a켓h���#S�xpc<�ZyE1��Ws$�"vq>Y��z�w8V��������'۵���Ut�'
�Ucg�T���{��X�G�3�4U��}	���g[�E���ц8�W�mp�?K7
=��,z!����*me�c���͇�>N��9�3���/>�WX�!k�f��0+��4�D(�[�`�;���4;��W�!��^;�^g/�?q��`�CY��Z�8P1-�+�eE�2���k>�'��p��[CI�Ӎ�7�/Z��"F#��۟2"��L�&e��
ߒ2�՛���.�b寙Or�{C���\�=���(h‘*jwy˜^U(R�
R!>U
^��Ɵ�EW���߮��]>�'|y�
+��S7!�T������O�F�^�A����ڤ��Ǐ�blA�=����
2����,�'X�>�"	�NϨ95䆺<*A�Ն����KT^^�ȿ���6�i�p�I�E03e��w�L���9^��P��n��Ӡ������R9�+Nź�s}'
+; �D=a��%Y�J�d�t��A��GѤm��(˫�z�԰
k:�]���5��"��n�1٫'�
�9�D��>S���RI���A;f�zf9�����E]2z�5야1�t���-j��ǚ�N�]�H}��2}���*1+�*8S�� {O7�0�S{F�u���~��sHd� ��C��
������cI��W� �3M�M}��
�έ�9|�ϖ�BB �j�@�g����r��:J��c���G��Ϥ���g��\���^����x��x��#3�k�Z����3MO�xC�Djȟ�'�4�5�偊�ս9�g�]/�H�5�s��+��)�1
��i)���s#�P��SӇ��j�~���i���#g�خٶ�
���g�SCi�:�z���{ʂ�r6����&��p/���]�ϼ��M��0v qi�++��	s��h�h�[�{��{Ú�6H�%�m~�	�{���
b�ȪJ�y1���{G���_QG�6Á<�L� ��H��I9m��z��f
z����l��o1&�3��?���
+��M
��
�����ؽ
�^=#��5f�]?����#|����~��I�Z9�ߕHV��>A6.��,|��g�|&E��rQ '���
��\Ϣ� 2����4��O��F�FAE��	c�Bx�hi�Q����@֢/瑱����ݹGy��O�j��MQ ;�E���1��ն�ss��AE�B
6���ٱ�0*R~=��C�����?��
+endstream
+endobj
+19987 0 obj <<
+/Type /FontDescriptor
+/FontName /UQOYSR+CMMIB7
+/Flags 4
+/FontBBox [-7 -250 1341 750]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle -14
+/StemV 63
+/XHeight 444
+/CharSet (/p)
+/FontFile 19986 0 R
+>> endobj
+19988 0 obj <<
+/Length1 2131
+/Length2 16352
+/Length3 0
+/Length 17640     
+/Filter /FlateDecode
+>>
+stream
+xڌ�T&��
g�5�ɶm�5O�mM�lk�f�m��LvMx�8g������w�V=���ƯV��J��¦��@	{;zf&
���
+3���������\������\��lio��/Q'��ˇL����N�� �j`f0s�0s�01X����ch��3r�4�3 d���p���N��.i��@eB
`�����
 l
t�41���X m?2�� T�M,�.�������Ł����ݝ��֙���\���n�bP:�܀��?�l�1c�#�YX:�%W�7sq7r>6�&@;�W;S��#9 at UZ�� ���X�/:�߽030�7�������������������
`fi(J�1�x����L�04�q���7r3��12�0��r#���2�����M�,
\��-m����G��.�ۙ�����\����O��	h��vOƿ&kmg�n��70��35����������+PZ�o��?2s�
������� t =L,���� �S���������������
������
pqr�z�[���`ji�0�[����C
4�

������{� �?���I�c�L��l<�1�s���JZ��h�b�_��������	@���`�c�8?>��o��6�?���*Y�]ܿ"Jۙ�����Ѽ��p�{-��>j��fP���e ����ebg2������ �t����D�[��[����͟j�?��?j#[KϿ
>V����,��?�����j�:ey�������J�}�������h�,a�4U�t1��k��3���6�v@%{g�?
 ��������L�?
�Y��~�����3�7���X�9 FNNF�p��@� o�
5z��� F;{��=_����e0�m\����%`0*����ps��� ����c'#k�Ǔj������
+n ���G0{������o�/�� ��=���x
�
]?�� ��?���Y������Y��n�J�����_�>L��?Z�
����ѿk��k�����pe�h��ǔ�+`��e�jk��y���'���!�GL�y1�A���G�������������Q����E���_W�%�����0������
g����Α���_�� �/�?a>��O֏�����	��I|qq����G�����v�����_c���'ۇ���`�s@&�N]q�������?��
@��E{���!폵Ÿ��&���4Ө�W�:\�����k����GzQ��ĩ�V�^���C��&*���y1�W�9h�[���*�%�c� �^M�����G#���K�<�ѕ
I� �ѽ_���@��x���a
�,�K�,}�z�n`�<y�q�	�
=

ڥ����
Z��;�L<-��i
k���m��O
^�j,�ݸd��q����g(�E�Sd���K���=Z���r�R��Q�Y2k,U������W:���!�����ʚ0
�H1k�
��]�X��ǝf"��=fV���ܳ?�����{��;n���?���>�4����j�⛻3ӈ[�D���d�B��L�uk�1P�Vݒ�^ �B����D��w���>sA���㟳��\}��j�T�ܞG]�qG�
~�Px7�J��,µ`7�
+�������K���
�0\�x�]�� V�I$��˾|5DV�&-�w�T=��i��]�p�Q���^�L�E?q�8,
��}oz�{_Q!��yb��tY�
!2�uG�3$�K�J at n��b��pط���>Xc�357bۦXdM5�罉�o/�t��b��+��'|�>+z�b�}��BX_�X�w(>R� d�l|%�:\'5�iҸz�����X@�
ҷ4;�G<6�G�mS�[���
�e�N��� ^�
ȸ�⧊�|3�l�Tw�_ů˜n��C��Bw�2aL�J��(�6�i1�s�v�����b����u�ob��V��vk��m�	F����>|�HΝ���W������oYC���C�4'��]����z�W�OM
m�cr��Ƿ@�1�=6�J]�U<�8����u�mZI��r�����$��K9E�7'T
G

i��t�t���E��O�7Q�e�HK��$�I��W�d>5���|�G����3�~�|ل�Le>0��|m'��MO�Y�#��y![U'0

����#���7�)���
�� u�;o�<��ؘn�]�
�@V�y9�[�}�d]�OXg���@Zf`�K�T}�����!\|�3!$��r��mm=dSds#��4x�n-���Q�9xh�ǴEPq-/�$���T9
��ͱ������ s�u
� a�� O�V�ՖeX���9B�C�-9*�m!�YD2����s�
+)R�2��E�iN#��CZ������se3}"��N7ίy��H��

���
�y�q�W���8n:����|%K?�צkBz^�<MF�7ā^Ċ�w���-��B�$,j����
�K�\�*
+����S�����~�w$
���*�6gM�*�/N	k�x
s9˙�V�}���Ϭ�=,�/Tw�|F̔У�o��Dv�4�0@�_�53�龳�âg_޷�6x��Cv=��=����i`F�YN1�)��x�^�H ����ٱ�^�S������ɑ�z,����?L��O5��.�b��\�软�@Jc�s3Y�ń�l��M1L"�Ӷ_�Is!�
+���vݘ�i%
���0�t~�V"��]_�M��8K>��0���
�!_9�9;z�h�p��C�
o��X7<i���T	LHH��ʲ}jO�6վ��%��𛿬��<���\�&��~|����;G at E^�~ǃ�K��"�|�l�+��FVOB��=dy��iɁϯ:ඕ�^S��P�h6�O$�2�@�e
�XM|�#
�8�u��5K\����͒
4�f��6��!���l��9�� �G�o8:�Z��C7��y5�jJ�wn�yOp�Q���U�`'����DW����hCZo<����b���6+�Ԗ��ی���Am����
+fB������Xy�!c��0^��q��*eV�c

������9$D�jEŜmK�v.��E��Ӿ�P�\~]�m!��gY�G�|��i��_m�l̫{�W�g�b6����R�tw^��ؔ��k�� ܻ���%�ŀg}�gӯ�vH^�=0�U�GE<��r9^�z_Q/˝�#�
ʃ��:��%9�ɤ�,�(���?���px�����J(6\���
�R�(R�*,�3���9kS at q��}�TO�2	��:}L�]�(
x���`���\�u�5��������*^�e��d����h��pav�*�Fp�b�a+T]f1vO�5���+ �p,��ƿo�����W��r:��{�i�J��o��WO�'b������H6<�\�P
+#�4�Ϝ3�s�2ܸҞﭐ<��^��{��ϐ�ٷ�l�y�3�9�.�i2KxL���n��l�c<4<�VQg�I�H��pRK
ܮ{�	����J�D���a�5k�V�2?����
+�>�r�L[+��G�ւ���v��O�	�x���_�V���ʻ�Sl�V���
4�
+�e��=�o�[~�� zz9�s�7n��XDQq�P���펑~rL��I�b{�����`���V��%�%���1��᠔�{U���N��O<
+Iŧ��swCIMDBPf�Y���,l�he6^�d�,����7BO���
H�墏Nh��H��m0~3�,�V���I�UN��$AS�n��us�� �75(�7
.
+S%W���*�[C���x��T��2�}7�~���m�[�G(�zX�Wz���� U/8�y����
�^@�����  �YYhYzeۅ�p�=%�[�������%�b�.��D�r~ͨ�Q��R��~+����.\F.

�*E��Q��t\U����D��ڥ�u��f��O?�3C��B=�5�"�|Ж�4��
�������[�42t'[��s�d����k��[�4�m�e��w����B���0Ģ�DQ��&0
���O/���෍
B͝��L��gt�k&�3)��
� К�m�|Z�2빎�F�Si�&��<K݂�v
��xU���ݲ�ͷ�@���i�[
+��5*$��](��KY
�1w_!���y�<����T��
+�K�z��Y<�L�%J�v#fz:n��H
+B��z>/�2҉2{T�`
�
+����	��Rϻ&I�����N�*r˾r�r��#�K2W��Ȝ2�~f®��]� ��)�&�z���~
�hNu[恩L��"�S��5�(�<�
�C�BƭǁA�l�YMmـ�6rb�{�Y%ׯ"�O�"bd����Aޒv6�wv������5��Hh�mU�
��K3Z�n���n&�����.�_T�j!���*9B
w�.�j��^`X�ƿZ�ìpJA1�=�[�A�T|�sV���C�K�J�4���7]3�Hh�����1$��>+�	߼� �7����7�	$
�t);ć�U��Qw�5f?5_3��B��R"����@��Y	����,N�$9�;ي�����l(�Z���2�7�/����k����(s�V?�}/�1~��q�8Pp?jڋYT���P��Ϗ8��2�Z!�"�:�lCu5�@C�
+
Q>`�uP`���|F�P��-oEJ�Tmn��as�Q���?�-��P���h'��y"�����>(��ŕ%?6)�i>%���/�2.��)@��@z3׊j�4��
&gQ�M����i��WҖ,[��%䆈�׃(�����
+bH�ؚ�ƒ{̊���
n��
+/@�s�t�
�XO�;d�X�^��ɟ�N�^���H�!�;Zͨ��Q���Kxe6
5	�I���JQ��C�'�C ��@���%��u�4��Yn����==��x��h1rL�
=.!S�������0���n�d��6�G"Y��ZuDi&�<=O������r��Ԭ���0�Dn51D,�y�(�32���1��8�����L�[>��@�uR8��r�5JQ
�@�t�U�W����ڞ+��*�l�
��� z�ta�Ȱ{M�zy��X('���5åi;mo�5CV07�j�VJi��W��:�����9���S�(�
�I�c}��e�_����M�{��U\���dN�)7ɮpf�&�}��=�~įz
�ϟ
�O���@;]�-y���:C�ר�
���'�o��PX������<;W�^�9��R�u�c��ܖ�A����q��Db<��v�Y�q��~m
��b�$<b�ϱ�<X�-I	���M�Z7�0�ʼ{u�
�e@��P��k_��|!��L�*@о[�Q5`{Ҡ�X#��n �	�ذ���7�
c�<��v���%�6ۗ:�*���b�P��f���dϥ�zB�O����-�����PE�C�� ���
/�KŸ́���Q-]+z7���;f.NgѴ�PN���ybcVM	�U��7 ��.������0�w[�ʋFZ-v��u�K\�aT�p�epCP��dˌ�����G�uv�<�>9zBHS���[��˕�Kw�4��Xv��{��O�ƹ�i��v�V~晼8�*�b�n��_v5t}��<%�\\�8���_��tΘ�9����2��0b�N�d$��l�xNa�;^��'�|�C�k9�l4_��ڣ�߅���
ȇ�����v��_Ә�h���jl?�y�D%��E	4q�9���P
 [...]
��|�I�\|U
�)U06
�]k��
ɱ'��Y)Q�m���1�i>a��5ε^"o&��]��s���r왦
l����MP�E�7��T*c� s�:C�g�Qh�=+M����8!a�S�z��&]�..���J����[,L�����U~`�����[�okni���²������ߴ�+ߴ�OKRP�~�wO���Ȭ�r"u�j���C^X�!P̮� �V
Ft�������ߥ(��q�}W�S�F�B��S-���6Yr~$�	2Ey����/�m�!)�HG{��Y)�V����\�X�1rj=�\����+D��E������{,�,$`Eͧia�/�
!�T0���>��Y�Imm�B��)u�
�
T
>�7�yK+LHR�兌$�k���#��W�kB�xx�=�{}ПO'���M�������B�r��xW
x�N��Vf
6�� m�J�zC�:�Sne�z�F��"�(0���~�Eऱ؋�W��.@�{��Ӡ`���n߉�s�?-��B�@QJ�nY�[���#}- [...]
�Z_r��0�����>�B�8�(�m��6|�
+$���w����}V�q����M{��0[�� ӣ'&\=�'�R+�a(<DRY}�C^�(=�h�^�gD��7؈��7ni&_��]�eL�
V�U����}�,3���;���Qj�.���gw��Ks��1L�y�mS+�▚u�
h�!��vg{D��8YpI��=�*��p������k/g�� ��~��zU��b� �����^a֋��KUx�~~��E��Mˉ/2Y��?���LNWq^��}��\:��g3����"1��g��p�e�z�d�|@a��C��56����^2�C�u�7��{�x�!�V�Mh�ɷ�`���ETٹ�
�{~�Ɣ��-�g�0?V;i���7.�
��Z��NC�v��|<�ƌ�N�
��P v����*�+��vJ�6��d��
Go ���
��F
�̒eã����]��,V=P���.��
���_��1=;.~��<-��ك]Cx���9B�]bM\>~I/cX��n.��
9�r���!�������i���ꐷ�7�� [...]
+*:%���E���
�
��;UxB�GK����x��G����M��.�㋡m�����͚=�:��� �_֓R"��sLpD~�O��_�	��!Rg%�1�o�M��,Ė=AE��X��v����Ƒ,t�D)arA,s}��n�'����x���μ-������w���h���f!����M��m-�!�ɡ�I�	N�O��G�5_˖mI�e�bHY�����ؚr���ӎ�j

R�q 4K��;�UFviT
+A��"nǿ���tM��K�!�
�&_F!��5>7�f���V��{
�R�yUV��=!^tp/�b@�szX��������d/�ag�%�>���S �~
�������% NE3����[��R�s@�_G=ys�)�7Ii�:C��D�+���8N����[�J��j';�I� ;�
$1�_�&(D�V�?�7��{+��w��+P���� 
FUAO���i�ð�T���vו��A�����b��K#s�Sa�#�uV#R��)e�\��ZЖn� R6"䖜�,�Ƴ�75�ȍ@���Ո�݁w�	Es|FG�sG[�}�dbMϝ�M� �}�х��
�a]�Y��/G*صX�a�0D����y�Lw鴏������FdZS"��Qy���
X�P���xi��2���'S~]��V\
D���fR�)
U��*�T��=Jb����]��ZcW鱻`��{����G�D�
1� ��ק�Þ�e���5�~|{�7
-�1'n����	%���,"p�P��*�n�����ϑ�� �a�p��u �.WT�
�@5�
-
Mp55k�tQ� �Hl[ڦ���
�h�=
��s���}m.��ľ��9�}͏�7L(�4
Cy��q[
��	�|ڬƧ�
c��
Ed��i�p
�
��V�
9��ȥ�^9��.ES��,ĵu��#���㨴^�Ҹ��"B�:���ћ�U����4���;��92
�,�L0�3��xLA��r�$�#�#VV JD�v(�
+*TTJΠB�@��K�ȹd.����@�ܺ��8q���΃���
G�6�S��̢v;�E:�A�$X�
+qrF��)Li�4'�Nv��
+=�(�
.���Қ����<,!�@q����|�Q��������3��
�.w���E�ȕ��qx,��Qу����7|��+M�	�1� U���� e	�up?Ⓕ�.>��m_0|l*���+]�m
V
��S����|�k�_	۸4��U(;?ٸ��@�{tHr�̝�$��,
��,��l����Q�I5��/F���`�i��gvQ��m��`��)����j$��%��)k�-�5��Lt�oD}
v�a������,Z�Ͳ����t_=#����� ����[��Kh����yﱚ�XfC+,�ГK���	����6�mQ��Y�K2]pic(�
��g��>ˋ�%���-i����^B��pɶ"���j�q� _��N����C}�������j782���J[��baY�rޑ0�Aテ���Ҳ,\U ������1��9X�!���#���;
+��H��s3&��Q��1�2.^����V1ʐQA�,a
��v���g�:�tg���\zـ���ܥb���^���Vm�[���u
+�~�M���e_����\
P���pn���XL��;
��;
<�4���sj��2l��������.+�� �
+�%���ͺ @
2dg�7M
��|��4�j[��k �?�
�`o̿z�7PX��{��>g�Jl�V���u�#�VKՍ ��aLV2o��j=|�y0R
�O��}�5R{,������ّ�D��d#��%�fK
+��+Y��g
�i���dﱳ�)�
���6��B���Gm��e��3NA�Oߧ:� KoqE�/��:�n+�屆���^�C�y��q��L~:��|ey�:����
aD{p�mr7��NԆ�; ���v�Ԩ�r�n�IA���U�\��Qd��f�.�� ��{R��K�Ľ(�l��?/� 7�.=�cM�VS VN��D���H-�[�ܧ��j�0�)�����$V/ [��
��Ny��WUTq�
j\1R��|����W��Ŋʱ��g�6�O:1���W��(��-�\�>z�
B9���N(Z�^��|�!�����E�vo�
=��w�,�揝}�´e�_S�F��%;*���cđ�>	���lAN�����N�m����Y6;��3D�•Dr}`��z-&��*��k�����~��z Mb�q����o�kf�\��A
�^^,L�
I
7�=��K��O��|w2� m�r�4U�
1�,�b��j���K��T�O�
��H�Nq��]d�;�PU�\8��ƴ樔��!b� �8G��t
V��!{?O©���覦[�]Nǵ9kԘ���Tb���5������4�o~�h���X��S�_��I{(�f<���gI6�C�p�?�\c�h8����N�o�
��o�f@����a~����y�##��}�.����P��_,#�)���I��e�
��
�3��Uw�l�3
U��
��|�g �R����۩��B_ū֥�0��}��t�J� A�҄j�%~����,#T��
��!�KOŗ���~Ϻ�R�����5�o��Z7��b�i2YY�u����������4���9�#�R�SڀE
�P�'*��?�u$|�x^2�4=7a/������:�KE�ͼ
Q�zg���g��c�yl��
��_�z'��<�-�
w-�ܹ��U�O�n� *�?BwCM��O����rT�?�P�5\ �F �W��0�L����\�,�4W�lo��R0G����Za�GC�q�q�:\0�z�����P��:	3�a]2�Э�9
v�{�ʽG.� *e��0��7�ǐk��H�_PJs�qWu��wr�&��?�O��4٫���)�#�Kk�០Xe¡�LV6^_�s�����*����l�|d� �p�����}w�N�%q�,oB����mn�E������W�Sܐ��B<�G ���
��2N߰ӹ�
�A�r����$�yA�k1
+�޴X{î�Rqfl
��4!uk�3ٻ�;X}�ΡOЈȚqr��G�\w��8��;
%
�;���;ػ 延N�N3��f��� �wC/!ߣ�νC=�ģh!���hg�G
+t��9�5�k�U��9&�a�L�@7C�"y� �۸=e�fW'�E���}���u�>{�W�N�(��8�f��,�Ш�H
��G��
+5��֕N�8-��
X�}H
��׍)ҟ�/.R��Z�(nxZ����ʮ��������h*�"v����G�T�We�e�t�S�*bsm<U��`RN�V�'��� �
YGL�w˶�ߙ�qD}�G:ł�d�����o��12E�Ҕ
,��֓)��4�K��3Ģ*�[����m}�9P�&��C��g
�_�I«�v���Y�����#��'��A,�x�.!w7P�����$����	�
���Ej
�mEt��[��r�f7����	fԀ��a�
+�ȸ�zp9�R'`�uSp���>��aÁQ�g���G�9�g��KM���C��
�.y�m?Ш?H6B�U-*^�
z⨹W���5��Z0�Q�rA_Jƽ���(�b�¯\kK�8�n��hH�h�W5�6FϜ�z`׉퉘.�0��?%1H��K��� \
P���
;R�2��]ң��X�SS�^��§��`2ڔZ�-��H5�,�����G�
�D:8O_~
�H7+��.Nk7S�զ��me�ܴyv�m���/�;����(��P��9�Mw�*��x��+ at i,��@I>�f�x�-oƯ�n�~&#�ѓ
8-��
qz�
Μ��1,�չx�c����צ�-7��CL�x�i�����P-�TȮ����&Z/;�;�Xs����Z;���3�c��po�ONc�l���ś�(Ժ;3�8`
�R9�q�iϲ�������r���mQWS`t���5�"���
+Z
4ͯxJ��
+X�{�jA���LM���
�[$��k�S;`��.c���^�؟1r�4��h�
��cRиڰ4t��-�-��#�
�7�*����
+#��]�6������˨���T�'Зu}
B��ğ�to�x�v�D^���J�Ԛ�k�}�����T�cV
+�jc�)�
l�x�M��L��Y�����LȞ��y�"�(m�ǟ�FJdQ���ͤ�ٸ�G ���
�$�AMy��&_N;��iXH��q�7��>����z�3K��
�^�IZ�C
!4U�c	ݏb�����DC��Ǹǧu�c���6�h6��6&��n���$q�8��o���w[��j*�ʆDr�T���<�C
+�wZ>h���t��݉��@���ނ�H��v�N�Y�v#�ی��a9RCH�m���\C~�]5:w���?T�#�|L�FIⵆG�r���t����Ao"�f�UJ��Ps�Mp���q�_
������x� �]
ѱ��n�Hß�*
��~zDe�j��s�4����?f_�5�
ZfW}�8��
�����m̊�*�3���m�`{�8�ػ��ye5�dT�L��fj;+����eL�RԣL (v�:t�K��~�W�_�羬|��
/�D�˘ڜ�4�,�
+��3B|_�YWW���~$�w�^�[��A-�È�Y���":-)��.m���{R:Fcn��<��*fo���1�U�Dk�oӃ0���X����8��MiH
/��5H�߀R�xSA;��lۨː��t�+ɾ<��g`�t�
+Xd�xH1�R�臀LN��%�C�ߙ�a���M
b>�=ʻ
�A�y����>�h�)0
�
�O�0����L�
+_�):�%&�_}Q�ag�nK��ec�쐠��sV�.��|��u/{�=TT��^=��[�tt
}
V�˺LH���	+��#!����g)H����
+t��GV$
K�5�ri. _�mѯ��D
9�X��o��o�H=x�6�7��]�~���x����'
+:���~�J
{| ���	ɩ�A���(��)+w�*߽)<�� ��Q��Ǐ��8��N(3����Y�o���DCN^�g���
9yRe(|��ua!�S�2�k�j=8V*|M��@h�ʂ8L;%A�"
c�Y�q���([�=��P���%�s펀���k��
�m�%�j?�>U���Q�1���yVdfu���wfw�ii*%������
l��'���:q�h�#��$�)5��X2��?Sx�!���<�l�����i�
�v�!A���X���t
+�`��u�5
+�1Ǚ�W��x�;��}�(����5e���_�^)������̰N'[��G'��]N�$[���$�����<����}-�
�G�JL]�+
\� a��g��\
8H ]"�ึ?�Ui�lb�Hn�(.-�{c1����z"@
+��P	�S�@�L˙�2��-U�wq����P6�
Խ$}{��.ak˸�bǯlm�-��b�<�
+�����2~䚵�LByd+���|����y�
^j
%���t��r�娄6��M/[~��׵��
aMˁtN��
p�^�����B��4�L\Z��2����hq��uS���l�WC��>M>%�$2�6P��̏%�,d��
�6ۃˮ�d2�L�X#�=6vN�C��VT�ކmb��8�y�P�����Rx֠���a�ɞ8�LB�4bN�l���	d��y�DyYo�c�;.�#�79�k��e��G_�5מ� ��C�ƪ��dJX�����";Md�T*v��4!��%6�/�:�
��o��ҖI֧ARM�_7�%���
	_�F�V����]o���a���6��F0���8�V��'E�����W kx���g�P�����.�1�� b���UKh��ϕH�w���=?(�F
��
�U���|�͉�.�����U+u�D�J"٘q�%%I*�4�w�����c��
	�>���u�Wpc �F}�5&�R_�@R���
p��$ �C��R�=�^OR6�dyu��{��TN�H��|��.����y�!�n�h/��|�
�Z4�
.����@}�a���-� .�-��_ A�2`{��(����c��*�m��̐�z)$�o�7
�'�QxM�v;я��O��~�%)�؄�c�P
6�
2X
��m'F��3�%���֕�΄��<��Խ��T���=�!���i�a�Y��9ւz��de2!������F�.��Qc$�/ZĤs��cb�0�x"�f! `�ֆƥ�	����
� ^H�y�R�l��&��n�q
��w�Ԙ����E��	���`I|7N(u��2��&gk�k�9E���IM0d�.R��l���I�y��v/��f�x"c�FXX��.j���g!�Uj��n���պ���w��˃V�ǁ�2�A����<F��,i�V�
b�o��G]B'�/�ggl�B�������B�
+�p�[����.M�0�

^ӕ�ڭK��ɔA6��&y?$_n�U��ǝg�?��
W�\�F}�|9
�6udH+
���t���z��ڇ�}M�����L�G���3�WgcH�F褨s�������9��|�
&�����\���۶�9gu4��;�j覡vd�����;3U�یgI�5ڷ�M(L�
�y2f�3�

+Vc6�V���&v�����&11��I���R�uM��tx��$/�5�
��c�1�,���L��үn�}��K� ��}���v��n��L���3}=nA
�W�h#b'3x>�l����[����A�ԇf�:qjg
+�J�w�2�����D!�f��s2,Bo����T���(䙴�iM���%�f��A�bA�{�_���b?>-���E.CE����?��L��@�GIJ�(JI�YY�����,���	C��gA�~�L�o
���?��ϛ�yX
���>���ِm��
s�alOv��8P�V)�\7��҇��S���0�$Ru+-�M��H����ž�1"jb�D%є��3	iaI���vl�b����
+nrk�DɅ�$��e{�KN�H�k
�~�JTp4��\5�B%`G_�����3�/��~w
d��TD*�ۯ��|�e&a
b~w|�� �jf�06Ok�|-��m�W���7���ܘ�ξ1��p���:`y�[��Ƶ�
%ӱ�eU7�JgX�A�
�
G�,_�LS����^�˿�8ҥ9�[�,�`�U�e+"IS6̣�x�6�h��Um!�dA���C�\
�w�=M�j	~+t>��}��޹�!����Z]ڥY�h�O�S
!����*c�
�Q��M3�/=�儜0�
	ۈ���K?�lX��!}�>��V�����{;l��j�'>�V�"i��
+�#�rz��t� /������FZ/bz`?
��"�(
��M\pi>�}��D��
�8
���f�
�

ރx3)�Of���x��!�m�ǯ�T]�>
��%����#���JW�� 6�_]u_��
��{7�*�7��C
���f�N�
��ʴ�1cy��69q��T�0�v	
���V�\�`��nf��/�Z�W�b`��?Qk]������_{0? ��[Od\�
�U��쮍:���+X�\���m��}l��o�;� b@�E�P��@�zI;�|�9�Y��۸n4&(�beU1C��SK�yê�Z|
o9�	)�]�6,�Z�µ��Nq\`��Ru1:���=�G���HChU�BI[����gs�m�����p�a/�JG�x���A����O���#%�UwVoG�l�����SxR���N�1�
+sC��M
+�v�	 � d|���Ze0
�E
*�=�
+%���"~�>��w�� �]��K3��÷_Q at B&b$<���I�;��@��P� K���h�5�w�=l��'gnf��3��ʊ�/`��`?;W���͒n��}[��-�b���8�I��]�_���`r
�5��f�
�.�
�|s�#Q�T�owv��=��>���7z�D ��|�IYy���H�Sy�R�S�t�y���a	?�A
wb� c���;�'T�`B�l��[	Mΐ������,�L3_�!t�{���Y��M��8*G�!�=V*'��o�p����"��F�s
��O*.^�S�v��Tu�s�x�"�D�?M&��Ҽ�S#z�/Y:����,o���
ô
��d��Bg�ܔ�����1�V�D�r�]�n�,-�d�ϹOD�-�	͵*�Pw����\���t���e�UjY<�ISIDf���(WnG��,� �� ���ϯ��U��yT�Uh䰋|��e���l�
2ˊB��6��Ի$�����W�E�aK��s�`���F��J�ij6���$)����˭G+m�
+r]4���:�
R�����M�&��n�:��3^"Z���
�o�-�]�#��z�o^�}��V6��FJ��H_6��q�V:{,R����c�
+�;J�T
!�^c��5�%,}�[$�2�v�
�+7���9�g7s���3A��e��
�
�'s�ơ'��F�*�.�n"
����hb� J�Gf�J? X�C�[A�*1P�v/�)tp.�+����$�Rj�f|��>}4/�zp[�#
dJݑ-
1��
L���0�4B9��U�3������Ȑ�I������G�b�0�lΤ�s|
��|�5��H
+��
��t�����i�B�q>�>7��yB��'ϲ���Ռ�������m�F
��k���a�U�=��G��SΥu�t�j.!7N�g�t�|nR��*���2pV}�2b����D����H�b
.�K�`X̍5� ׵����
�������De�
+�ˁA�	:diĄv(��A+��;���{z���%�/��@��Y2E9Mr"]K!��vłEGф�N/� Z��F���8�x�9:�mb�����n�i3s�}�A;e�_�t��
A��w�??!8
w�,��eʋ�
�b)�2�[�a�c�"pZb�E^��\��i����Qxi�P�@��l���z	sQ$��e\�A���.g��޸υ{.˞���9��J�Y��6�����alb����p߃EnT���R��P�9�������$f���$� ���x��8�)�Q�.��)l^̒��ĠKCF`XAL#Q֜`��W��*w�8dn��$\q�{�q�+	�m>�3	����
�ꈅK��]�4S!�e���
�w+ː��7l��ą���,�Ţ��Ec�zű� �C%��~��I��󬳛rً����_�iz�Y

M֔���eD;�tw�
@*��X�6(�h,{ɞ�
A�J����� �Ɇ5��I؍
3��Ș
a�f��X��9~��������B�v��7�H�i�}ŜhKa��+l$0
��a����!��E�t�M�����>WH���s�.��U� �u6v(γc���@"�+�愩��8�W��#�p�o�k�ƞ�Nj����iO6˓�8�
+��xf�S�d�~c[
�U�R`rk;���Sڽ��,p!��Q�z�=��Ny��ZT�f��2�xC@����z)���
�+ع�#��X�T�J�Ѐw�z���q��N{��Q��T?�
{;���BOsT
�c��x�U���v��|nv`D|99�MU�d+�#sK٧O��	���&�a(�J�૔��gU �K����F��\��[^�w�u[��9O >'Ϩ����k��M_*��J�ل(���yN��k
+�j?}�×��’{��F�
����>�K�nD$�˟R�ȷ�]
m��ר�����/m��#B��)����-@
.5?e��<e�B��S�&����P2����q�2������M��X#2���@��'�Mir��&�(,T�<���i�d�Z�f��
+	VL�Ǵ�!�(��B�߃+�s~
b�˨�؉�TC��,
G)Y�O c��=�{�r�^���r��5K�D�U���Y��u��
�8��coG�$Z?���
 �Z2-���0��4�������fr��i��5�L�����-���
%@�s���?�vE��Hv		�ٟ��ST��=�67FG��i��:}�X�x�b5w��{F�n�F��
���<
џ�}欎��x���畉q��Ƿm�6vP���6��o��|F@��N4 ��.�V����o|\y|�>�i�=����Y��eV��;�(��)5�ѵ��	<�ʓ������A?�%>�
gk��*9G����G^Q�
d�HG�̅}��
�ۓ�g���?�Gހ��g��:�u�1�����A�i��j�fAֹ��
�ǫ��89�U��l	�c"�:����(`on��
}����Ƶ�w�2d�`^7�[�����Y��ܹ`��
/�`Ӧ8��:�zP�Zsr뇙��'�ANO>�!�CKb�D1������I(�8Z��H� ��M����t���䬫�D�вT¢a�\ R��捊���/e�ƙ5\/��EC�a��(
u��i��H��4��
O�zsY� [...]
+endstream
+endobj
+19989 0 obj <<
+/Type /FontDescriptor
+/FontName /CPXVZD+CMR10
+/Flags 4
+/FontBBox [-40 -250 1009 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/Delta/Omega/a/b/bracketleft/bracketright/c/colon/d/e/eight/equal/f/ffi/fi/five/four/g/h/i/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/plus/r/s/semicolon/seven/six/t/three/two/u/v/w/x/zero)
+/FontFile 19988 0 R
+>> endobj
+19990 0 obj <<
+/Length1 1427
+/Length2 6368
+/Length3 0
+/Length 7335      
+/Filter /FlateDecode
+>>
+stream
+xڍWT\���;���[BBJ�����ah�T�K钔n�S�����A�~������[�s�>qϾg��6&m=^y[�5H
+��
+�%�4uE @�(��Ʀ�;��@��
A0w0"���` +8S��#�4����3@@  *) &	�@��
�0I���'���P�B@�xl���>0��
y�_K �
@@BB��w8@��XA �Vp�
�D+g�
�
���+��
�*������g�����?��x�� ]�;�	���
xb��M��
�� v�փ����`  pۀ �� �-@�
�S� h�� 8k�����j |��3�W"0�w���
���
+������ ���������r�rv�"�<���V�H�߅[��u VH~�s���]��|�`�_
��A^����������O
� o݇�w[� P/��k;0���[W~����������"@ PL\
 r��m
�%��q�6
+������B]vH
+� �
����n�	�a
� ��n��O@ `
���A�`�?ّ0��=��0�7���  �����
�-[(��������x���������&�7��W �"�
+�!���7����F�����'�*�
+����������&8�
.��OxE���G��@�
���[��C�7������?�Q�pv�m��e�V+��ϟv��=�ȉЄ"��OA
�&����VU�r2�!��_"�]�
���m
��_=@�wC@�Pw�g�l�?l�Y�qB>%��N�6�����#� 6P�_3'("
+����|�G�D ~��y��5���#C Hz ;(
�W?Ł ~�_���t���:{����}A0�o�_��x�`���-d��� �7�oaj#�X�vU-O�Ż=.�m��+.^�X��;��*+d
v!�:�C����y.�x��o��=vxK�N���D���V���T���u}
��x���ߺ�;�7�v���y�i�_y��x���-������R%����l�7� �4�x��u�

3����wo���Odo&~�WK��
8�*�3^����]��t�e�5�a@?'�d�S�IS���+)\��n�.����'}���oG�uX7����st�C�sn* �����srMi#��Y����"�
^#�b��SX�2՝e�K:�)�/� Gg�K��K��
������M��8�Lhf�fϿ�إ�;�7� Bw�=M"h���w�~~�z����i˳�"N�L^����
Q�[Z������f���{b
���J�m#��,z]Bg�Y5�W��������AX
b����)�O���8� **D�
��-s�f��6;�3��J'&Nł���l�^�a�>u�T���P�[Q��TN
R��q��{I���Qヘ�yC9�����,)y?�v�,�Tb�y*��칀���WF�[DR��
`Q2��
/����|�W�����?��~�<ָ����BzZdF7M�����c��.���9��k�R����ŭI��8o�Ҋ��0�[���=
0"�

HgQ"�'WQ�+1��|�? r���fYK��(S�,�Cwq�,aD�(����$�v~����eX9���:~%�!ӓ=+�4u�f�TZ.��Ƀ�ۖs#��{�8�'��˧�yt�
+G;��荒lP�����
"#'��
��;3ɑG�)~�$��%�3
�[�Z�3����=*�T��yro3z��e.Qv��p�uO���f��_GIA��&��(��5�FZ�j�-����BR�-����uv�9��_��h��4��9ܞ?��ԏg�;$���e�8W�4xjh-9^6?��/#�yc_���=��>�t�.Th2�Xc�{
{��}�]�P���kޢ���ζ
�X�����v����G_�z��V�VUV����ug�6�I|5�=r�
m��Rx4|H>>2�
�ӲI��ÑqIa�Dh�Rk���X�k��F���Dp��nj�B��?���
c"�c��$��Ӕ4%�h��E"J/�9y�������X��Q�xTD�~g���0����Ƽ����:���Eesy$�t��d�/�
X�EC��9Wt�0x�.vw��>+ӥ
� [_rh?`��L���\1��V���
���B�i����8A�Ib[��	©�+�Cn����N�*V��sT��3��m��%.\�˙X���vՎ�Z���^��T����X�,���A���xlaVi\�
Y����nj��ץ6��8"�u'�����*��i$'LC�
�nQ�GO�ܰ;%q�!�������N��
�c
F�
+���ȟJi|��ݖ�_�d'Զc��!���
�z<
�$
{���$X��&����3�a;�a��6eyi�$��j�
fD,ꘚE�i�8��;q5��T����D]���8��v�97��bbF����x���)��ۗ�f-�)���bsi���޶�
4���V�Icit	�l���9I3V��4k~68�c����і�)�ʾksc��
+U`,:�%��D��8V���ӣPz��
+�G��O�1_ڪ4�6ǂ;⁧�����;�M	�ΙRT��p�
+����*PS�c�~� ��єCs�ڊH'욟~�ʛ��AW¶C�/�򐴡
+������R\q�M��^�n2�r�m�k��|IY��Z����4�=L&4�T,��ɓ����+�:Y�s�/�2%�e���1����~*�Ǫ-e
+��}�D=uM����ǂ�O��+��B��}�YBi�{�,CRh�T���\�1�E��,��̊ek3�Ꞃ�?��|�LDb�e@���"6߳+��k�I2�1T�6bɏ�	��z75�j��
��Z����ј
/���'�o�nF����r`�LI'r���N���:��Qw�{~m1�|v��OʹZ!Sש}�=�a'-rB5��d�j�����f��|��ŝ���ʆ�D&�樦�.�ר �
���mr2\
�����4���ļ�Z��a�5��<DR����(�,^K�����eD{k���
:c.�]}���R�����
�w���T������)(t�r|8��̢��w%9>�5a�*�f�`K�*C�
�`_F����*�q�Vi���
��8���!S{p�˥q:��XYԔ&eI�A!�K93��zO2L���3
�y6����֬�8���l�q��D�A���"�r4�5unw ��pc��̳�'���i��`HPn
���v���.��̤�U~?q}3�&�i0�v{:Tb<w��R����M3 ��\T�M
�k��FY�'�>�|<�ɰ�X��#&�~ɕ�.D+BP|�f��
��q_��[�F�
+�ĕ#j����缧rķ;�&�t�<�t�11e���
ʣ�4�G�I��g916�S��Cߝ�����~�T�?��^�u��}%}��/aĺt�9��z&�U9~(������-&�%� ��j#�e� �G���I���緟�KS+�eJ�^����Q/PY

w�*Y�
Ĩ��~���'庒zM�ͭ^���
�u������;���'���3�͹En�34Ԩi�6Sj̇�6��ԟ5Ҷ*H���1q����zw�K>
	�����E,V

W乔�&K"
�
S�;R�[������U��5ip���`��f���:�$�
�Z~%�>�)�}��A�P�!1�ul��
3���x.Z��+�1�=O�v���6����NxY�6	��(��6i6�9�O�,1��`('bc�'y̐�y�j�
+Pt§
+aX����O �F��#����uy���!�j��oKH5I��!#�Ӛ
+�%%B�K��s3�{W���}��iz���^��� S�c�黱]��s9��ģWޚo�*��TRTMu��/َɪã"�
��z
і
+ڻ��%� Ю ۙ׭(b��t���6x��t
��m�v�0Nݭ���n�0�č/�aqRe4��9���H)#���囆��s��
E��c���w
{���]�)��B�d.୯
aS뒀������lH��m�:�i�� �܃
?}j�y��-�#�|K���.MB����{t��D5�]�[��x�Nn� )
�0{Iqz737��-k\.��ɘ[�l�mL��@����Ӹ&E�X��D�Qxu�-��A
%0i��)_�j�N$,
Y��/�bz���n2��)�n��ܺZ���
��E���9r�Zޠ�U,�1����|*g��N&kqHpJ9����%��h���kx��8t_����>�}<C�^ ��G��^Z�o��4L$dcyz�����g+���n9ѥ���p"�N�E��P}J~t
��YŊ9�T��$Jf��vCP�"��~��,���n~���
�?����2��1�޻=E���ȴ{ԡW��HdT6Jq��n�|J5��mC_]
+l�-G%�hj��-��a�
E�N]���Ha�e��Dȳ�ƛ�벼�v�:�?��"tW	-���^sx�v���+md��w��8sSKš�,�)����EgzNo�e|��,�s
��˦�� ���z�Ԝc�}�ZI��%��޸����x�(
�����(*��]~^�dX�|y/�ޟ?���ZV��"Kk����{���N
�ke��/�XX䤉\f���X�|)�����RG�I����G(�y����s���[�>#2|�wW;D�o��֪�
�"�tR�g�!�$�]_,jTH�]���0�4MW�-$��
U^�{�)�
g�-�;�P�L_Z����T*{}��� �"�F���}b�_&�?8'�
+
8}2�BE^���$����kYiY�2y7/	ԴNF��I�ݮ��\����lmajP�ar����ǵ*���\��n�49����X�ԛ0�-𬝙��E�+�m����p��MFO��7�x
?R3��o2�UKy�ۤx	..�O����.:��dž׌D-,l��
��L��8�D���;kqP�rvfN+��MM�&I��ܮ�
�/��+��o�hL�
��>��1�C|"���жB&4N�r������
���~�s)�tyA^оS�����~Td�
Jo��gyl?e?SV��6�u�y3��
�iL�ʈ΅��Sg��\�n�|�
|4�;�i��9��N�c��h�q
��������e��a
]�#�l��?�
�a΍
�H�n�\|҉�>��K|�
���p�1f-�GsL��a>��j]F}���.6 ��,F���{�x�l���>$̔	9H��
=��L@�B���É#7=�-�����Si�@.��b�sa�sIR���������BK�'�s ���G�$��@4��w��	�B
+&�DŽ۵�����Ln�E�w��끝q�fooB�;�[�-~ؗ4�3��
�N:+�
�_��+��5�D1��8�������C>�J=>|֡�,�Va�Ƚ��A�l�i�F���گ~���nZ0�
2d,^�`O�
+��leǷbFy-D�-
+�������@qZ
�dŊz���
�M�w
Ƃo|�\n��u����w�u�8٤gk[!z!:�°f��ۨ⒚2&����+�f:Rէ!��}�����s����465�s���o���5�[�j~�H�X�&�3:r�4Q'��-ܿ�oS��P�J�kF��a����u׎�*��5o�t�����+���P�.7��r^��+�c�¤�~�QT��*4�Yf�jI�|xC#C�)Є��ή�Ώ�ی��˵�"��=�*&O��N7]G��d0�+
_
 җX�6Ql�Ҽq��|��Pۗ	L
x���(�^�\53Ӗ��ϭ�@��K�l\��v�/%8�Q�o
U�t��4q�d}�/�Uݖ^o4\�F�
���F�p����:�N�ۋ\爋��eK9A�Ko��n�sͻ8�w���O�^I�JG
��*+}�N
��3X�%���nW�(�೼�	~���hU���^�x��8��+�;����~�N�u�d:	;�cqTP�h��+ϻ�( %�l���6�s K��@x�&��P�1Lm�Ќ	�&����� vFE?i�LYt�����
;M�oU���>�������1>VZ���ur[�4���7�����
�i#���"��,����BlЮ��x���I���>3L��
�ӷU�č^��>�f}�5#B"�(��E
D��_��c�k8�/��VuP~H����.��YPO�ͬ�w/pK�s���}�G��b�/^�2v]�6[�_����`���&��g�U6b���Hm��M~[�}��!����yx`%��eU�&�<q���!͝��;(��u�y��U�%�T
?m�R�
@[n�g��<j\�uʹ<դD,����E�eU��� �
�;������`r:
+Hnd�L�򢟵~�h�
�����/�'*�N�F��K�r_�(������g5�z
v�ώ��9ם�N��(�4qk7S=��'����Q�Q�g�ޜ	�����†q+	.���
�I�j,!�
+����b�T7=��tj�,
����<���!ի���R�d\�{����`��@��Ο9/bJq��jT�w_L	�*~
��X.E1^ȡwO	�+�ʛ��p|�"�Pj�nY��U� g^\$W=譪0>/�b�8�cڽ0XD�	`�zlO��i�큲Xq�":�΋٦Q_a&�
%�^p��WUe�� >M��pa������p�/7�9߆DĨ��j�
��:��?V�;�{��e�s�������
�z,W�=��X�y�Y�U���*�#�:�w�k(>�Ps�i�ƈٽ6���o�]SW�)B
|�2
eĺ�S�	i�/��
�d
�dh����{��"l��)��H�C��yS��r_p��y�ȟ�,�� *x���痓�t[�S����z۰�923B�U�h� �Zb��^���!
+����
+k,��$$�`΋4,J�Xw�Ɍ|qё�i�DjW"L���m��vch�O���k|��@|.��C#�p;B�ڒP�P2�p-��$���c*[��@����+�d��	�8��ث�'��L�˧����b�EG�_�0����}��i���z�;y����g���ɇ3ia4���H�*�4yFJ����Ƹ�4�1{9���D�>�Im\�Nϳu��/�W�I�5�<;
�~}M;���3�E��nE�
���>yd�MxŦL�K�TSx/U��l)�E�
F<�KK�X&u_ɷF݄I�&E�)i�@ꨪ- E�6����I��K��b�L�������ș�nivzf���A9�oK�R�-
�Z��
+�7�Y%��pଘ�Fڭ���]܊=����ꑔ�:�J�
{X�9����[O��"\���(�T��;u����Ԕ�2���pE#��E��c���"\K�
+endstream
+endobj
+19991 0 obj <<
+/Type /FontDescriptor
+/FontName /LYFRJR+CMR5
+/Flags 4
+/FontBBox [-10 -250 1304 750]
+/Ascent 694
+/CapHeight 680
+/Descent -194
+/ItalicAngle 0
+/StemV 89
+/XHeight 431
+/CharSet (/P/one/plus/zero)
+/FontFile 19990 0 R
+>> endobj
+19992 0 obj <<
+/Length1 1620
+/Length2 8625
+/Length3 0
+/Length 9672      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T��6N��t�0�����)��p��n$iD�;��CZ��x�o���s����s����
�6FZ-]Ni�XEprs�D ��: ��
��adԃ 
�Hq
�p
*�/�,
l����Y"���aP���#���- �-(x@ �
ap������P�A�.8��0gO8��
q�_� kV ��� �ow������-�`���-
�0k���,b�������e�����I�r �!{��
w� ~�hX:���a��C\���l�p0�^��C]�
\�6`8��l���@�
��X����psq�
�O�_� ����0'gK�'j��8��
+j\�j�����v�o�f	q���7���%@AZ`y��Ov.�p�3
����!�W��"�CmdaNN`(��W~r8������mu��ܡ�<�B�6��(ظ:����`e�?-�E8���� ?�_ �
���_��<����ܿ����z;Ü����[����������}����/����@� +�
��O�{1��|�y8�`�<n ����'��ٲ�A
=�1��\������
�o��dd`
 oN
�������?��7������[�e	�37�?���0���k�
�?g���ua��
��
�,���)�d}����<��]��f�W�����o>
+�����,��������O���"�7B
v���55����`����j����!
�s�����F
����c����}xG�s���f �� ����w����*q���o�~��{�<�f�k�x� �p��'�}��?���~9m�
�� ���.�{z� [
�W?�@�_�?� h�7����_� �
����{_�Aa ���}
+�/x
+�7价��1��� ��� @���  ���W�p��K}O��x�
@�����

���?��v���o�ߓ~_���

� [�,���EC�ׄ�]VI?v��
�f�4Lc��^������La��
Z�_H�
v?Z�,�r.����{��3�%I���ϵy���f+��i�x��tm�l*N=�-��>�����Us_�
+�i�]��(z���,���mjoU
+��^�Lq��ǘ�0�Ye͒�a 8�`�
{�Ϝ_L��Ѩ$������z���]�z����tR0P�?A='
�d��~�B6���p
>�:K�>�����⵩�s	�����q\���
�J�

�֢��TD����u�����M��ʅC3r��(X�V6��vˊ�������d�箼
oBT3FlS��D��e��nʣ�
]6M��m��k��gU�9�14�T����?�1.��v�BHj.F��&�d�JUΠ��p��M�m��KQ���/�ˆ�˜����Z�5
8�WL?�Uy*f��e��$���kP
+����������P�h��,�.77�n����`��ɤ�X��
�΀85W����VR�1t,6�Y��b~���כ.3�j���NJ�^,��3l�
�O��^�j��p�X��:�ёh��
�A��gҀ�3�
�ko
y^]
�;��(v�d�B͛|�
�µt=M���)ڰ�_��Q+��V���B������<��.c���m�
�V;��U�DZvU�&�]D��V��x%������b�̍�N��N���썎֕��1�rr��gs�^�D �0�3��s�`?
t��P-H>Ã9�I�
ՉV��Q�O�Q�4PLJ8��-pC��vu��h}
O��d�m�^AU�y��h%(�9�q�ׂϒx[�/�K�����3�v#���4sDP����琧�I��0�LY>�n7=dA�&咧�zi�A��1�� �яm^^t��݄lE~��3���E+��=mq�]
}�
+
��贆(2�ہ�T�
oQ���%�(�l?-�N}
Y�~�h���^-x�7�#n��c
oC��ƶ��'��M������c����w�'��<���}o�,(א���{���"���f��	�h}��I��]O�wD��juD���
�I�fv	U�D�3�o`.�%I�������B��Q���Y��Ix���
+��C���_G�R
��-�G�"҇���
L���
F�t�f��f/@@�$Nܮ�A�d�|�L����~L���SXvv�%�l�'�ķoʝ���`p/4�T��b��͕/�|ym
6H`�^�����Q
2�
�� 7κt0�#�w7X,��u���.^���a�-�)
FBG�5ZI�س��`QeԂ�F
��_Up�؞?o;?L]��lm̛��^d��_��qa_gK���̬�Y�7�a���3�a��^eDC��b������*-~ů��[;ա
߾t��Ї�ҿ��x��h�d�-Z�7>e\��ʈ{3�u�]��3��Y'&�
�՜�;�7
$��TO��
�����	Rb��9����N�`�}����y��Y�n҆D��8�~3*��&
I�6���]�(��Nr��X�pi�5/�
+�<���
2�%*��{�Ӡǖī�iu�Y?H�:��Қ|Z\�E���tC���㻡�#
��.�Ï� Õ�����<�~����zCѽ�l�)UP��V��¢���r-��Q�Vϻ��"1�����Ⲋ
�c�WMR6�]��~�����BAҜ>k�V�^��ϑ u��^�>���?�������5]��.�����ׯ��r�G�j麳��e^�[�R�n阛55�_����ۛ�=����o���zk�!C�����؃�5����
s+���;�\ܓ���
���`5��
+j�C5b�E��1dy��t��S��PF�^��# F�ju�%#��w�
Ld�qM,���5�e47*b%�b���г*��d:v���S�����4���J�J���ͥ��$�<ߟ��
yJߤv�}�OٗR�iwg��؏M�ɆM��)���:nmz���Is�U6
���j�;��O"�,*�)��ak�i᣼4�<Eh���N���
+m�X,�%���
+���O&_�@���X���(&�L-�	u��UXA
+�SNrs��ٵ]��C����d��Gܩb:ts�̶�rN�L=0kc��i�>�@^��F
�)
WrV7����<��;���y�j�t\�'�e����y?d������$�}��B�L�v�N��N��s�tۑ����k^Q�A�
��ЙT�Ͷ9pK6�Y0�^2�*�.��r^mN���P�
5y}���M���)���S�Fk����{���r���򻵊0S��C:�
+�-7<�
l��FΙ�Zfw�>w�>p͏�����;2 ��XU��ܽ0�� Y��Ο��

+I�m�f�~��<�[�g��ǹ?��V���A�he�1
+�h�P��ڛ����<����L6�	5����8�ɪ��������8���f�X�L
?zk#�F$F�|��#���-�@d
�C�D�h���)�d=mL�G��W�

��-�A�ڗ�Xw_�P6��k]"	6F=^� ���
+���m���w N�LE�'�S!�,ylW'��m�5���|�4MK��w=�G�D9�͌ޜ��y?,J�V6�D?����PP�<^}�sj�L�~l'���΀���b��(I�T���Il�^4�S��
U���%��6���������)^��G't�(ÿ�-�t�a"w�<�(�
�q��[���>4���^*�$VNm��ux���W
+фn̔Ŝ�-���0d�
+M�ȎJ?�+
P>�wS,�^��%ח����WRV���������ʩ�b
+�3h at v�����y{]\��/a�O
0��m�*��	��R
+��4 at d��53p�	���R5<��FsĨɺٱ��A

c��
종���%}	�x�,yyj�( 
(�]�
�b���!Y����r��=��nԈ
u7k	
RC�w�e��{pu�rK컇ʤNn�~h�vн��!
+a�e��kY=*V�4J
���g�Tc��,��F"R��Iķc��O�&2�$<��Qc񤠮i�jS
$r���#�13
MH⮾)�N
)O�=�>�x��m������^$�7�x�l#
���m�f��ڄ�,��o
k	z�uD:�Q;�}
���ag�D:�Ƣ�Y����Hn{Y���S\]G�����e$�i�b��|{�������� ��
2RQ9RA�+H4�K*ٹ�Q�E��l��p�
��*C���>Wis��
�[�c��`�9IB['�d��^�ʂr�/z�
���K<�zϬ����̞�Ͷl%v|�&\!�'�>�3�����&t G��D�;M�D0e0?���5�a	��4h��-���$7G��{���ͷ՜���*l�{HP����ؗC�~S���z{�{��s�q;�
�;��P�8���+�UL��
�N"�`���g�Q\�)׷-2)����,�n}��J���w~Hr9�
����-?��M<�J���5!y<�A����u���s�&��=BG�����
(+�U������5V[�{L
�G��Q����x%���鷫rخ�x��K;��0L���QH-)!��'��n�Ix�O�~L\��1�ȇ1���z�s�hC;N�x��
��?)<M��0X�t����G�c�e�����doŅ�yV��6�Ik�e�n�R���*�~�9����>�)��
�?�o
^f�l�k!��m�]ĞPF���

{U$B
��
�o/'�/�Rh򄉂>�<9�\]�ZrҚ�����O��Q��8N�_�������J�L�H}K�^�in��m�U�g �G�p���U�c�bH�����`��?�!����vC�j]J�]'^�-'��
�R�d݀	򮛢���0�K��G:b
�$�_V�7x�,���.�Hs�
egr/��64�

+�
+6З�|��S�>?�\֫��"�6�39ڜ��M\�UZ<oFH�]��w|6�%��;T���#��>`ӫ|�4`��?>�P���P�<��q��3fb!˴K���a�5s
M���ļ{S�Ԋ�!��

�FG�'K���3��q�6r�+Ng^��s=f�$a5�s��^����h
�$8��"gg�-��N��|��%F
�yW�Z�қկ���^���Ͽ�L���"秇;}��,?ƃ1�����L�{	A���瓵�ٓ,��=�,
��o5y�qw���ֹܴ���^�
&t
� �Q~ݺ�Pî��	#�H[�_44��p��z�� �O����m�
��L� �]�GF����K��h;�i����C��6Ư����H�2�
��߱XV*�ҙ�𞥟�eGk�=7߮^�.�
�y��΄�-5�<>���

�f.ڂ����8��9�y�MS��Aע�a)��$6�$��-��K��-�O�֢S�ow'0µr�^P�N��kC��鼱Ǟ�C8�Ƴ�4g�g�x�v�
(�렟rf�95�NɱWZ3�����cK���q-��H����Z� HXw���� �:�kև#�M���w',�F6�$3��B�O��i��%j|�S����g�̽բ�{"�@k#��%�Wnf�h�i����-s5����NB=������s�C�.�Y��\6���'[����˪�_�yD+eW�~V�<t�%|Y�@7M�gR�)W�2�A?j��
i
a�&� XKS�"�

7��9��",�̪L��@��3
|wU/�qKd������#��}c��/FsEL�M���v�
��
��"T�*]���b�q[�����e��9���'�9<��|�çu [...]
+�ʲc�Nn�/�
��"��s�f|4�
{d�
�_���-������!�D&�庒f�d|���/
���
1� pq
� /?W�������G;���&;�s��P������2��`������C
RW,8����zO�����yI4;�n���b����B���ٱ��W�IV)#kx������66!\���J�"U�c
mX<r,��7o�K�K��UaeY
Y�E��D#5&F� �
+�LĔ���~�n�������{��%��O�O�s	O�3h �薛[�1������ϼ��UYj���g�a�����6Wn>�*
Y����IDך0�k�6"
���;D�Cgף��\��{]#�U�F3�ƴ�e���1]�M%b��+�b(ؚ�R����NH�1���n����^��&b�z}�@��X=�1�@t����
nC6�u���)�YΛ�,�B��,u�uˈG�ԗ��#���‘s���\�~����U�c�}�t��xۇ�!Q�{��Ȁ>��UD���b
��\&
M�u��H�
����[I~Dz)�sL�${��,���ㅊ�<
��P�����ч��=�������p�e�D�g�DP5zUЈ;��
+�@����QkE��"_y��A/���U<×�/�sJ���-ߝ��s`��:���3��׺�l��U���ҋfdw����FMZ#����
+�
+�T�|(�df�5�6�XZ�b%)ބWl�O]F���ٲq
��nR
+]��
 �3]*@ٮ
���5�|NW(�}�)�f�X"q��Ӧ�Ѧ�Oy��`.���0[\��B/���}�b4��p���,�kZ��wYᕢm��J��M�ƻ�mds��dm�p�c'��
�S�q�<�qbd�
n��r�F�]{�eV�v=�j_h�`³"��w!9��ˋR;$����tӄ�(�H��ف�`+OFl���<���xq"y�)���s|��;��rX�D���o$���;'-l��
ҋ������g�%�$M��3	�~����jP�4I��j�j��C�d��>
+�x(l�K��wIN-?��A]�O����c[�Wz��=1�����0�]Ĝ����}����$��kl�g�Q�ȉ�|ꠃb���{�V�?��v����3����
�f͢����C�D��]u���� N�
(����0ܚ"��;��s���k�Z�
���:O#:a���/w����w��pR��?0
��.�h }!�RA���<ޡ���M7�R�
{�Y�9��S��J��g���m۾�\��n�����f�Y6/�w��(�@.�&n�B4$
��c
+g������I-ރ�e���ص�pT���=���	�Zi�ɫ���v�_�||'3߳��!�X��

��q��dj-y@U�Z��zZ4
+��Q	ZCڧM���!&��
���
�����t�d}b�C��Vk&���r��֊c���`M@��̻��v�u"��e��c��8�h�="��I�v;n���u>d�y<��u8�Ao�ip�����<,�T��nUZ��Ň��T*D��޽��&�|�W��U�@�n^�Ԫ!�`������OBO�e�J��h�-��y�ܴ�li	8WX['Z(�6����$��_�DW
]��=�;=����@w紆g�3�ې�dҚsLg��c��^�BYJA�8�cܿ���U�y}F-iX��C�N�P�1�hg$��
����N�x�K�%�1�&LѨeOc����߸_,e��v�� ��\p�����|M���?��
�dzǂ�EP
+��4K}FVh��:g��8VJ��h,^{ObQ�����\3	�1��7�W,��$�R�T��T�?��.���O������eNr<�¹\\{_�ý�e
{�MMs޵8��n�zL���9�Cěb����w�U�
��v��g-�9#g'���3���+���
+�cB�>�|xb�k�j�
�IX���&v+�@l��3k��9R<)��^� x
+<�����p쎽�[B@]<ӣ����(�+O����`��zЛ�b<��풲�@+;�S�
>cS����vvݧ{���IP=
��gu}\� �:2��b��}VƉ ��{�*�,���_����?���KE�ã�ɬ�S$��c�N�ܩ'j��%D�eN����4Ղ�~)�3A(����h��Jb����RW���2?�P�R�1
+_+���en�PQ܃�;x�l�!��7�o���>��4ý�Q;���
+
+8��C/������S�o�)
m�W��]�n�֜������8����A�ܚwҜpWܹ��T�ܙ��Z���%��σ�gi`W{�t�u�d���(�b� )���gڥ
UF�ر(��:4����(/`�I���A��8����l�jK<��~���t�=S~�~�h��Q_�c�xE�����w�SPhD��qm��6
/�{f-B�b��g��"��/��q›��_s�FP)>���=�\�]KZ���.���"_k�-
�H�O����:�g���)�͋�����6��^�l��͒(�Er�g^�eUrc+�S65�w�<��Q�R�A9�0��n��P����$U���C�������u�ۖ^��2�;�C�U�&r��˵�3'���NQdng�*%��/9VՓ]{܁4�.d�Ik2�L�<§���ڝNgLO�*W�ڼ��7�]Z������ȦX�=9�
�
�Yǯ�!O����ѯٌ�5��zO����љ
w�
�Q�?��
C�6�h at W�unE��/���a��FR3��rY=V֖rP�YN���R����'�w�U��xf�kW�b���*�+�v%b���%*N��Œƫ��z� ��Q���ow�H��as�
�0+�
� [...]
+���R��Jm�q��6a>(Ӱ��a�5$�'�1��ȳF=^�� חv����u���f�+
M�\�r

Eˢ�@R�[׊����N鞛�!�)剉X��
z�f��fc1���7�V�͖M��&(��p�&�m�;#�

�m���חG�
'�
+�2�5`�F�,%���oJ���y�UU-ƻW=�
�9��l�y��
��QR����bҖ�M��uҠ`���N
������]���������0bd�q�3L�.�L�˴ij���L���0<R�SE;iw
�(o|�����W����A�� �
��C�z��gz��ψx�,�
+2'�
�<�3Ծ���FQ�5�C��4�LY�ʵs��
n�G�?B��]�)�T�� s!f��'K�LC�I�h<jB���LJ�H>�%��v2Ʃ���m}X�X!;��%��T�n���
*�y�E��}Z�q#�?]x�Q
fV #��‚'�I�]�u
HZ�h�p�n]��i�%���2ɪ��5uZ��c�l�O��^�b�E�

a�T�O
c4�FRv�0�$
/U��V�F�
.�	
+.	����$�O��bƐ�
/)��>�:��_��1�'xa�
꡴×�y&��pVf-R��?�
9BW���X�8��w����xCu�e&P�|w
�~Β�b�΢�?�Y�5�m+DE?ϱ�
+BӲ��,aZ!�W�Z�h���aE���hi(�_�OF�9)�/q���i���FD���*߀93эXehv�"x�8ŋ�E��U:�{R3�6Ԫ�u$k�nʗ�L�
��\�:�;�y����'Ү���
x{s��/6����.�- ^$h�r�0�7/"�J
�}�]\v0ˠ�T�6/Y{��1��.[�!g�v�r-�l�=�~{�
�թY�ZE_��q�DYgMdq�l}��g�5鯧�+��<Tu[�}$�����9�3�C��"��
+endstream
+endobj
+19993 0 obj <<
+/Type /FontDescriptor
+/FontName /YPFGSD+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/a/b/d/e/i/l/m/n/o/one/p/r/t/two/u/x/zero)
+/FontFile 19992 0 R
+>> endobj
+19994 0 obj <<
+/Length1 1865
+/Length2 11015
+/Length3 0
+/Length 12188     
+/Filter /FlateDecode
+>>
+stream
+xڍ�P
�-Jpw�иK���=X
4ָ�[���
N�.�	ܝ�Gf��̽�W�W]E��}��i�Ե�$,��`Y����S ������f���B��ӆ�ك�����]\!PG��\� �g�4���L�Pt� �@>! �''���S�?�P!�4�b	Pa(B
���tRP'o����s��
�L �� ?�� 	�
��P�ـ
�3Z��ZP
����B0
+۸�9	qpxzz��
\١.֢L� O��
@�
+v� [~���
�cG�h�@\�kA��<A.`���
bvt}vpw�� �s��jN`�?���4`�� �
�w����8��
���:8�
�!�� +�=�&������
+ 9Z�6ٻB��A
 �=�����A Y	
 ��_�\-\ Nn����
9~�yn�����������>i�
����
\��#����ϳ����7Kw'
G��;XA�/�g�?2k������_� v��,l8~��v���?����uX=S �C���_��� 0���
���o�#T `	�p���!���D�����7����|
< �������lYB
��1��r9��$��Y� ��JR��e���q�r�@.. ���������?����� ���ODG+(@�O
+Ͻ�
��f��ua�wU��
�����'/�����������7��_���u���C��[��т
 ��韧���y#T��{����z�?�Xl	qw�_���y3$
���n"�U��T��Y��9@������G�:�����99�G��kv�O���M��?����q��Z��9.^> ����|�ψ�
|^NK��s
�`w��=� �����.���S����[��p��A �� ���o�V�A ��7����ݟ��. ��ߐ��A<��������������_���|���џ�s���s�'�3+��n�-�~����`�{��
���\6�o��
�/��mp8��~�����:ڃ�������9����8ٻ��+�s����\ҿ�| ����������v='w���ᙣ�?��Y��O��f��]�4���pwy����~����?�o0�
l�:?
�xf[�v]%A�ɶ5&2E������;���~������}Ȋ˥D�P��
�
��߃�:�Ȗd��;�{�$�ɭVԹ	�/�$j�)P�ٴŷ�
��t���_t*��:�
`���]{��y���-�D�nil�SB�/���F'�(�x�.���
15�23�����n���b
����B_�U�����
+m.�.ZCb
+�
ܑIz_��4E��%���F�E��?�`��f�Q���!I�b�pT��kW��hMÎ�rQ�
i�X�+�`y�w�9/r��}g)�pj�;�?�K]׽#X�R��"�`H�<u�]�]��;'I����������T�
��pxIƜ�e̦���v�*�≢�ܣX&�*��ׇ������������~c&C�U�egS:k�������Ԏ�5y�T,����P��K�dG�ˢ���d��䴙XJ�.�1
+�"�7v�i�1�fGo
?5��r�'h�b��1����#Z�!m�l��[C;���
fH�V֘wCl���
UX�۰�
&ټ�<�����A���[%�s�]N��&3ۓ��M����n�r
&(��~��)����Ul�bWS���v�
bK�7�)��
�'�!wiK��9�x
��tIC-+ow
�����բ���I��ǜ8�
ٷ�<�5�T~�)��fQ:��]��@�9��-�wOL��
+tcOΫo�hj�Tp��wu���0{��ŗۦ���(���|Z_��X�ZA��I���z�,�s�;�
(ϱ�^���Sp&�"\X�����'ͷ�Y�n���/�e2���w�[�Ix�t�JW�&��
��'�9Hf�3)i����j"bj� ����`�q���ᤅĪ�	�\3����l9�Q[�����^��ۯ�!>Js*Ք��Յ�O��PXL��f=$j�P�2Ïr^�e
�G��
+^�Cgzu9�ogD��z�:x'�CS�O�<�L���o���
+�<R��'yX�
+B�=?ۦZ
��84�7���k����i=8ޔ�#ײ�� {�

h/~d�!L�g憶�Uf�L�p�����>����GE1��7((ޑ��Z�DJQ�:9�T�r� Q|�oEd�l+`y.�
U�r��|�P
+`�
n{|qN�q��&�.7^����9j
�S��7&���zw2���s\�1y)U^|=�º&J�p�c>�	�W��e
+�䰯��7��:$�l�1w�bz�2��L�H�2�X
+��iA��
�R�)
rH`TAZ󻲆�c�'�X9��巭�[�c�����x�<�m
��7N��{D{��?���C9{�)�d�U0�+X���q*�#��^P�,�Y���gO�S}�SM����IM�N������HO\6���R�E7˱(y����\
+����J0�
*3�={���~�fH��LK&Z�,f�r�w{�f��R�Uq���(���͟�x��h���̭g"	S��a���ؠf�ƑsV�Os7AkM
�
�f���0ݰ���!5*��X�1�Ud��i!w �� ٷ���Ȯ�QHpHj�;������ �
����*#yz�+�|�-A�<y5���Jd0.�>r\YQ?ߖ��ցc�Dn����w����Q�Y2�Q�쳚^�<$-v+ی�0�xY��ܜ*7�ep�9��kF201$�.�O��u+��.�
�Fݎ��PHW�GX�7�/|�A���.���P_K�+gO;v�T�� ��j?~1�m
�ƪ�vGw�r&�|ٖ_d
+�:��f�9�:"�.&c
�%@��!7WK_|��	�X�SҴ�>��AkJ�S�u��]�s1�2Io�d���Wfۊ�
�Y�8tZ��!v��t�2'{�d���ޖ�����vL����L��7
^��)��G;��.��i��q��Nx���^
Q��I	��ȲP�b�NL�
Df8��K��k��
^��8,��T�����#��O�r���urx�I�Zءcɿ��d�~�I*{�[�gٯ
�.3
���u�V
��3t���>��r*��"���'���0���8�N_�7.�I�L-�5>
���&�m�����ʳs��w��x��u&�1��Y+�4�'�z���O
�J�6Z�2��
��r��>�xSgG#��Ұ
�
���M
M	�N�)K5�h�R�."]��uBֽ;��|��W06���y�Y_�ض�U���;�}�
A�Ƽ_Bڑ��yJ�������5N�+��r�����>�]�ҔB_"-O��2�WO���?NOtz��G-�y��8й*� ��:��00􃒶X�ui�� ���@��e����t��W�=~Vo�a'�:!U�tJ)�%�%y#v\��M��S��mm:��pw��.�p����k󽂈�ǘ��.���]���
�a���ǁ��ʖ����\zgY8�<���ǭ&t�̅�����~'�b�Ga�a�z���Й1���7�ö�7ѫh>�
xש�K��oE)~�K�戩�>��M@�FϔbR�c,�b.)`.�Q~��D��: [...]
�w�ǀc���P at X�0Y�_�i�K�S�ĦG�q�O�O������0�7���0{�Z�sT��F]��PX�6�"0�R!M�{���C����7�g4[�/��2w*�S�N��e#�2F�}�w,s�i_M�Z5��}B5��1Ɖ!�Pɷ�E�rs
i��	t{�:�(�O��5O�O3M�����h">uF�V�z��o5j���V��e�M��|�~rF���3�z�J�s�2�9���H}櫛��͋�����5MV����X2�0!��-���"���Y7�H�N�g��_���h�jJ�
�r�-#�"�͈�cQ;/3bMJ�ED^��]���S.dӔ����vF�r��#�`��JmU�K
+���[(�a9nA�TGT��Ɍf�ß���Gh
�x�l��~�;�+�^��Z݌���
-so�Q����
'
+�*���+?�`���i'�+��Ht(�G8�h�
^�7�A���
��64~3������p��k	�n6-���(� L�*J
��c�b�%$3Ӹ?�
v�V�v���
����^�G�
+�51+ίS���7
w�R�;1E���/,^Ҙ}����5)�n����!��_Ux���h��
�%���'ʂd��D&e�NW�����m�j����I^�HZ�M��
lt\�"�zi��,����bcb�@�=�:�&^�ު��e�.��ܴ(~P�(/��$��c���:�z2�������h�#궋��sC#^�A�
��([���-�;�q4U=FR�[��2+����G���C��X����
�X�IoX�zO��T��q:Q���g��O��y}���K(�OQ&
+���qD��;DL)��|'�����'��qߨ�~b.V�J�6��扔;=����*p�X����KŻ���)6��,�1�4)�m�� ���;��I}Q�"hP�%$�7�Ջ����HafőG�P�k�����좹
�W�S�h��.�����E�X�1�Yd����~
�?}�[��\�[�3D at Ou� ��ο�ь�/J���̮�X=q�
��J;��{%;�Rn��'�C�PMi�%�!�~丣�Bۅ�hI��3�19��R�Jk��ͩQX����f(�T^���a��
���y}�_Cz��Z��R?z \S�9`��D%
���f��
9��
�
�i��ˁxˮ�ov�#ּ��^�8�7�f����('l:^4���k���-@1PP�
U:�=�jL�9�#��lzܾaOik�
"�ݳ���q��=�kliQ������%+�a&
�b�����nYĸ�����G�
f��3
]�q�B}�Ɉ��
@���-�F����2~.�p
�Ic@�}ah�]M�M�ovk9bm��Oh�
�
mT��^!�6��I��I�5P�p�>�M������Y�MK��1�%�_t�ukb�`��֚�
+iI�t,8�a�|#���
+*�X,�F�{�6S��`빁z��
�n~�wm�m-�at��~x�]���
?����X�����5m�Z�bn{�
���FH��+1	C��C�RŲ�!@L­^��II����x�3 �#|�AS��;y� uY3�x�($�l�uë������ב��{M�̌�ԭ����󅆘�>�d����Ĉd��S�HI:�Zϐ]������
w�)-��Y6�+��y��G�����<����3�az�C�'9q�8B���Z]RA����
f%���ir��A7��|)
O�ʢ<���1`"�;v����>�o�
 Y�`�e�����R�a>~���[�Y	�HP�n�mb���4��Lڢʿ�+MHQPј��gô�:6V�H�Q�$��Y�Vd���l�V�,�ۆ�r�����w�e�ڪ3p@E����
K�*-[��9`Jv��ˆ�Y�U�9�y	�o�:��������Xo�@�D�a��0�H�ʙ vo%�T� ���热36Hl
�����#g���DI*��C@ǃ"�8Pb?5�g�5|��Wo[�j����I�	���� .%��m_A�wxQ&�
cqf5d�
)����ڀj@��(�
+k�uQG��eS��]� �I���bg���=ܯy���W�J�W������*����Z�� уX���g�W��O�,��:�s3��:�2�K�K1�ʞ�p��@��/�s+Q��6m)_�ub�Cj3�	G
3^���*Yyѣú%-Rmr	-.g
<x{֞�q_��Hv��
e���H?{Cb�3+�'�l���Q�_�G�F���)-�!<Dz���_��Nj�c8��k��M
~/�[
}K�
R��
D���M�ҵ��:0��'n�N�),ez(ڋG�!`!������0�1G�e�����ǜ"��D�2�����;"Ӊ�q�3wzvذ��e
+.�l��~88�Q�%��[l{��P�a
�p!S.xE�-��`�X��*��)]�\�ϐ��݄<��}��m�/��
F ��Z��BAM��Y_�{g8V-�x�gˎ�`���?����q���I��Ӗ�X6
�
+0
�&Ǫճ(2x:�J�T���?��'�"�6�D�����|b3� �D��E,���ohSt�������T
C�}�f�
W^�E�.��0 at O퍘.2w?7�*�l�T�{��H����ѩ[�]
*���2�}���)I�v���Mo;Є7�P��4�>=^H
�ⴹȭ	W>	��cx��}A�6jS_�9��h6�4 T^�����`WIuȚ��٫h��y�N�2��w����J�����m~l�n!�P-xJR[�-<�|�K������P��S�"	wDɐA�(�})���YK�@�ER��u��
�$n����6�촃<�
�$����"\<���j�G.�I4ˇ��+�����İ�I_��;w�	a�
slVf�2�O=�I��V�2AQ�V���֘y�f�������%.h�[8s��.-<�$qZl�:�C�D�^���Of#�4�+[���c0	�:�%:���@f�	h�R��b��YU�mu�C \���F(g?���o|��(7[$�}��Q��|��X��ug�1Q���Qv-�wFjI��"4hJ-���.ͯo���)���N�7�u�ilh��8
��ggVxioD�
w�h��-��
+\�2&j�i�f܎�1Y�P�U�¢ɥܶ�:�%w��dN��XSHֆ�^gG�h�ct��wTj,k�L/w�ֲ�F"�!�M0��Y�ё�T�$�oj�1�2*Ձ��Ҍ?��&k*��H'��6��{2}(�Aof.�N-t��ұF�1������W���:�}$���T�mK����Z�T����
+\؊��8l߀Ҧb�F ��
bܵH�B�p��-A����hFM�w��F~��W��"�Q���`xޯu%�i���R���F��
�$7��j�������6���0`E at NK�h�z����Ǟ��2���Oi9�����,c6�":U��y��Q\�W4��'Ku~�A��5�O�z��uQD&S�[�������m���"-Ӱ��(��kzj'8�{�)��׫Kg��'#�m�'�a�;��q7�2�W��a-嗩ʬ�E���<z������O�k{׆
�DaJ=h��|P�
�:�0��-���z��N~j:�_X�
�� �
��鑝(:�Edj�^A,!�؛�#��_&Z�
	w͉
^֤Gˬ7�k������
?�!!���hA�9GN����}���n]5j3�c�o_uo���
xi�\ó!��Y��;���I
+,��c\8�%8����$�ݖnF�?V)� ���׽�ދ<�L���
�KͷS"��3������&��z
D���"�0��g�w��^c����w��[��rDP�9-��w`Q‚��*>�D�1	��~5=��
y��
[�E.;�T��G���Pkz_h��|L��t]�
NV�g^�X���/=�N7�yլlZ�̋���c�Vf���^ۇ����EY�tQ
�}~��)EE�
j����5_j1��}�v��^%�
�O�8N�8Y��$���G�Lj�e(v]�
+�VE]U�^�MZ��5��dñ��]}�0iMYPD^�[�������Jr��`?+�
��{$l��O
��œ���̍����r3������/�e��~�����s�
��Y�����W���7�/��<����~pm]��	ٝ�,+�����YR5�hMGk�4���*��gA�ohĺ
F�(�탟��Y���~���>j�%��ө�/���H���od��>В�r�Fǧ<+�/a�O�E�r#%�ƁuR8�ٰ�0���
�N6!.$-�����=�]4Go�M�W���Y� U�։��Iߗ١��W�j~`����#�c�L��O������]3�[�D	����}��k��"�w��BkLb���n�$CbT3��
+��U�7/�ntЍ8�
�5�1=VP!"˕X��@s�c�7�*�C��^�©���)?ǃf��E�F�O���
Q5EZ��ӊF�NVXL7���-b�Ρ�c�8�\Gҁ�0H�jL
+q�W����0~��a_k*������[:\�"�-,��g)�
���
�j˱4�%+3����4����W�o�L@�ߠ��d���<�^R�K�I\\�
���K��K�8�x�CAm]$���iN��W9t�
(��g������ǟ�̫%o"�zTvY�qh9����޶�X�^-/��[��E��t��̯�u��”��e��jl���xI�:l5�.B@����_H�4�V�v����@�!�M�� 
 �BAeT���..�Ϣ�{O��P��Z�Fm
(3lh���e�No��� z
-$Rn�db��2F����l*���:�pʕ�3��iL���
�5d�yi^n�<,?����KW���.���jLO��7O~W�`��x�<{�І�~��`��5��E�Z��Xbwe:�⥏������q%r!�O�)��n�
�S�
=E��u5����"b�����0��]
+iK_�
�Hi���6L��a,���[��fT��ffl�=8�������:�B�*���z�J��WR�g�E��
�7?|Y1��bk	��)V�z�R��3�k��J(#���HI���Ӈ)S��`?gj� :h�T��T�����̄�3�!��")�Ҝ����>�G�H�)��g�B&`
�3�NW�������ī{�.��Qp
�#yqI�O'c'��|zz���u#���y�n�
W�����^3`Hc��5����i#]Ēg��Mn�`B
���r\ŌHZ�
����T
17��T�[i9�,��
�۰�;b�sp#Ar�\�
��jM���r7A�A���	R�{kE�]�s��s�Z��k�7%R��Jm)��<ž���Ѫ]7k���m«\C����7d
J�K-�����C��nm�Pn�Elc߶����M�D�*�jv��]���tm��D�3�$��
Fc/q\˜=�T�
+᧶���]JD�3{!稷���?�}�t�_�wtc���~��2�0a�
�
+��˞�������Pn�8d�M�;)βd�Y���@b�W�ͫ*�,�u~Oɵ
�;���D������:#�[hҷ�y_�I&���BآT~��\��Jݖ����H��j��i���{������
�f��o
]�Wڡ#a�%���ъg�\	��*��R�Ŝ.�t'��\
+���KmDZd�O�S!��pw��Ĉ��c��q��"?Բ��n����C)D����E+�(����U_Ja
9ٕy�����T�3~:�
:�u(�'���
+��%|���6FUqN��|����Z��T�ћ��*�+#ܵk����a���V���JE�����έ|�M�%�����;�4d��

�=�۵~�)����5���b4�
X�hP�1^
+�N�Z��",&g��N���x#e��<~��'��ih�K,�	
q������l�9#���q kS�
z��d�X�\j�yM�(��᥂��#eI���|�q��G'ݺF���l���+U�����
��kTA85��]`���g�%���Z�$�9���ЧRO�A���Gg����H�f�}�W����	����{�,��� ��7&�K_�<���2�
+�_�M

8��Y��lOy�'jXЊ�	}��Y��O+5�(bǏ
���Ե&-M+��#\@i��0͂+���Ei>�cX<����Ӥꜣ]ٙ�I�Nu���^�k�^
�߃`C����G
o�� �����-��x���{�W��$��U���*��M�yQ@�|��� jD�Y�
����k���ڲ2
�UA O5�Qz�r_�%کY}� ӳ��+��R�h�sT�g�������ն	Yy櫇�o��TR^���\IP�4Z�
,�6{,���
9���Vw��T�/!n�8���p(���7���,_Z\�6�1џ�fs����Q�*,��ZW���+����p�o'O�k��qN4���@E�n5�e
T#ߩ��-�����C�B���4F�k����d4�P���R2i$�c
�h
�Ĕ��s��$�P�K2<ʝ/ص�v��k|�-jL�󝬀�T&�
ٌ��\+ 'm�e��?WD�%��W]��H)�fr�D��
�r+�ik���B
�ߖ�Z<����v7��T����b����J�4�V�;3ʋ��?=�npld����
�����2{�M�u�]/h[R�T~t.7L��W�O12�n��e����1"!�{�n
�98�=1����f
��"{�n���9�	dΆB%u���I�n��I.�Kv�?T��
>Fp��џ���y�N
��������vB��(��c�?0]��B���"�
�ـ�Yj�˻����0����s�+OQ����y���kҽ��sK�^
�( A9 ��$�ef��)
�`W�Q+y&�v2�C]��� p)D�fT'�
U��$Q�	�O
f��*�U'�9n�y�
%Qv�)}k�f���Ox��X�6���ղ
ߗ
�\�i���6��~H��B�X���t<"TF5[*K�V1�؆��pY��#񗎱=��3i;�R1�f
�:
p?����E������DN�����I5^�9)�~�~�!D��GF'��@q��o|��!`j5���<�Jh�f���n�.��D8�QY
+7o�m�����e5�☀��˵�=݄�*d��Lg��h��^ŵFi���c���[*
o�4���.Q6�W6t�z�c�
+T�����E����/��Ypz�[�p�_s��h
M�|�ѕ�
�Fb��Q^��ۙ���Uk�qCH��u"�J�?��+������
�ƋV�j��]Gpō�p�T�&�)p�g�G�(��>rf��
K�#�Fu��T2Pz8 �]��p=�	���-+!-W��<���J����u�ƾc�S����
�P�
�D�2��h���*�df�W9~�_�3;�_�
��0	��Y�S�c"�q�,x(��4�������<��%j|����#a
�]0VKO}]���V���DH�����m��c
+���[T�D>�!��v����q�
&����Q듄r��E���ØY�8����n�])���mZl�|cgQ
���>�U&�=Q�c�R��YB(�w�lH37��7�g�qFkKJj�T6Q�iʞ�
UI
+wA�IZ��>�.'�ؒ���yK�:�~m
+��8P�|ը�Vu�1Ӓf�u�I���/V��'��o�~��ofpm�(�Y��d�K
#O6or��W1��}tV~�9�2\�*���4

���7�ޤ��+�c��em�6��8�t8�_��+;�S���
��o��]��@ۃc6�!�v�*?13�24�x�p�2�!y��T�uW�HN��/RJ]�
I�d{�!�A�1�rv�:/��&ܠpH_�^~�ɘ>.V���G���9���f$94K2~ЯUX7/ ���w���fi6
RK�/
������F�P��2w*q�%ՙ
�I��fLĤ�O��!
�ө
+l��
�����
ٍ���@��ŝ._I#Z
�Mt�4
]��W=sD�7G&o�*�.����ً�"l`�
����j�}��LMf�k��l-�c$S%�
H
^����%�N�_�����pC��

��,
q�+b$K������4L�^G�����
C;��@q��Z���<z��p��c�O���\Tm���j��f����r)���T�G 䍼�IU1I�O�A�0�{_g���69�)��0j����
z��I%��;�����^��N͉�@V����/+�f��lʼ�^�Ԭ>�� �3�ep�x	�&�R��yA��cka��|��Y�����2F�x N�e�N6�M�)jW^r��FwB�֞U�4m���>��n�����r��?�A�d�OƵ<^��XC��

O�+u?�j鬪�U��+��`^M�TO���d�i�t�1�R�Ȩ�)&����;4�S뗃ME���tM�/傞xb�e��(�!%\�E���
�s�g&�*����n���W���qP�$9]<�Z6?4O�����+_����\G�zo0��
+m#�Nm���.��l���p^
6� �?��
+endstream
+endobj
+19995 0 obj <<
+/Type /FontDescriptor
+/FontName /SWADHT+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/T/a/b/c/d/e/equal/f/five/four/g/i/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/plus/r/s/t/three/two/u/x/zero)
+/FontFile 19994 0 R
+>> endobj
+19996 0 obj <<
+/Length1 1678
+/Length2 9808
+/Length3 0
+/Length 10897     
+/Filter /FlateDecode
+>>
+stream
+xڍ�P
�-�wָ������F���-hp�'@<�-�[��n��	{df�����{�U�g���}��4uؤl V at y����)
�Q�pr�srr���邠N�?��t�@7w,�/����,���>�� `�������/�% ��	�����&
���� ���0�
�N������>{���h��`��:@�����,��@�g�֖N 
�5��/���P��0������;;��N��������@7O�
�w� uKg�����t�A��u �P/K7 �Y���ݟ/x�m�n�g� 
%U��
�'Y�O+�� �ع�6���߆@�?.[Z[C�],�> �
��hȫ�C��� K��o���;�����%�����G� y)-��s~e�n�r������~g����s���62gg ��;>Y�����>
��
���y��ml�`��¡�z �d�b<�P���� >NNN!n � ���m\�������9� ?�
��9` ������n�	@�<�~�V�7B��؀�� +�
����g1��O��y7�7���y� ��?�L�g�v����Gs9t��du�Y�H�o��4����#`���pq����m������RMK�_�q�cQ	l
���s�����_3��׺0�ۃ:�y�� ���'��������q��o�[������#���������t9����b��F�A����T�K��y8��V	j��R`;���r�y [...]
+Yu��J
��^ڐc��\�|�;h�EzӔ��|�o��=�Ռ:���o,�@���
��MWr����_?���]�.��CS3�ƫG����tq8bfKk��_�t�-N/�Up�]�Շib�P6rdf�So����I܏cO�ʉ,��q<~�k��Ӿ�_t��;HhI����p�����wӔ�f��
���E
(?b��/�a��rgV��c�
�U���m\�9��0�>��䪒|s7j
��f�<h�#�|��Vz��Z���!�lAh��	0-@�\��
�5�l(܁Γ�1_��d$�(�
+����-��=у��CvGO��a�e���"�E�t�k���%S*j�����q7�C婂X	����[�D�Q0���g�f��m1D���7��t�^�~@�ht\ݶl�1ئYF�p���D
]
0�]�!H7q�N�2�2GC::�Ó�3B:�ǿ�l�s��3J��4��)����f�K��&Ƣe�=�/�[�pd��P)���Gf":%Z/��셬����^2������/��=Rt��.=��G��#�}��C*6�߶l��?��K�����
_�:��I?8m+^f�
�附ˇT�Xh]�0Y��-��� I��
������Hc���x#T
��0�:烾��L�H��أ}��:{�!�vW�I�U��
FRU�(�%�Ⱦt�_��+�'[�|Ο�1���דC,�
�I�ͯ��I
-`�ܲ��1���I��P�4���譴�Ŭ�A�ցր
+��u
+~������ܹ��J���.�n��!`諪.��1�) ��
�{o�F�j���-�C5q�5&
fcGIX�2������9i�q%2z$�.���#��Ql����|�`h�:
� �D1|
(�,�s0{����$����L��]�E�b]�[�H�8m c���H* &�)� ��LֻӒ���̪kq|��"J�s����"콳���[Kkbo�2��edUit����
Ԙop�Ud��5�!i�-ַ����N�q$Y�Tw��g�W6
�)������R>M�;���qU�(9
����3�����!�1��� q��Qf�w�9
+�U�‡�g۟ {�6}��i�7zI|�KŎ�'��JH��|)(��?#�-��kmT+�ԉ�ZH��v�A�65{aG�d�B/F�0�=����7�~�t.6V
���z�K|�R�v�::o�dS
L��Ad����ȸT7N�U�r�m�Lnٌ�";\��0o&B� ���_+^�t/����"��UuP�>lhE6ً
ۻ��i-9�΃kDگ��=Qƴ]�+϶#N ��h��qzX�V�����+#�I��V.kr�,G��8e�R�6���>g��ٚ�\��
�=�+��:��
w�P/8�wP��,y[M�t�S7yd��qOO�=��8�������
�϶x~5�@�$�O�[�u�,���9�atb|�^��3~�F�z&b۬>����b�?���>��})hB�w����	?��oJH�Ё@�����d�]��t�~�s�JԚ
�zN���̀�콏?�7J?�#�z�#�: �.�dc)���dg��xM
'(U�
۶��ko^[i0��=ҵ�hP�ʀ����#�{��Jۇ��_8��X7ƗK_l��fdlm��t�}r��!Y4oDT(vp�����ɀ��˓�}z�>�d��`�AQQ^� 4Q������ϕ
$�Y�erg�� o��~*vc�e����_(���/E�<�(d�m��X)b *��_K���)z�N:ģR�_8��&��ijU���2)�P�/����ӹ��H��ゃI^F��F��a���M幈�`���s!� ����
�T�w?\��w���]}֋�Fb:�?-Z�.��8p�ke����O�D�������fJ��|�k��ZĨ_��y'�r��u����;���ej�ش�����EW�Rd��.&���c�J��"���l���B�U�N���0_Ƞ. ���1=c�0�;ѕq��L
���xH o)R�kԻսF�J��F��	�[z��
�9j
=�
�A�\������RdmD���PL�
��"��NL
�?!|������C+��D�����YK,�T�J��d�h���U�~k/��
�gA�5�����Lz��J���
k�zF���E.G}_�(f���d�@?����sX��߿#�X
��y;�Ʈ
��LTeE��;C3�66��`��s��P�V��jr��K�ݬ��,��[���
-�u��'�[\OM�W��+-`���cΫ��ռ
��

+_;lQa
+�y@B���C>�f�
�՜���2��>ox�1z
+�|]=�U�߭
'�
nhʪS����U}�
� ���+:ܽ�*d��]wp�] D��zy������)
4��9��H4+�y�B�
w4`s�؁�Ʀ�kƓE�Q=�
"�ЉuW��m��-p��*a�
&��%S��[�k��|��S�yw�g?�~��̈́���u
�䝑>{��I�
Z#셃#��`�Y�P���]�KY��r�P冥X�^�,�^�u�R��칉���
�}_�/{�4�䠎��b
+!y��{���C�?D]��^���A��B����8�"c�KKFp�a�~��ra���D�B('A'?��Q��"��]TR���<�0�bР"�[I�/=��f���4�+��H�g2�Bx;_�Tu�
����jZPfp�U��c��O����g.I��g�
����}Q�jnWm��W�uL�Y���C�H�ӟ�
�#�G��u��y���-�@�j���q��6�LI
+��C�!�Pq
sT�8� k*1}T
��J���,n�s� �[[y�i�n% �8P�V��s�(�?=�
�]6S�*���
+
T�|Y�Z�Ҡ�s@��f����)@@���?U8��jA�@�-�*��ۑ�s��AU�*�yP�a�"VH��|?[i�SF�Ǫ�\(��~L
{2v�8�߭Q
�c�i���!�jw����7@���Eqj!�L������.�H�ר~�:�0�.&�ҩo�![L��$����2�[�Ӌy*�
hu󜭲)I8#��7n�%&�W� G�M�Q�������lʰ���c����zx365G���e���@��D/>v��*!Kl�V�������9Tm��6
B(��Ė���hĄ�N�P�U=���6*�z���1�t��ML���V�2�ߊ�bQ�b�C}����d�+�
��<�ø����`T�_�zY

DRH
뷷��b]
�z���՛f0J�4�"
Ќ|9��Y�����ge��z	��u���졡��9�d�ur,ey�(Z2����f
��@&���z�p�
�+�
7�*%�ou�<#�EX\���Ĺ7�o��'�.��ܭ<�Q�����-=��>�bl?�w��ȶS.)J~l�h����\�
+A�w��E���!��� Ŗ�
L��
��G�%���/�Ͷ�ab}�~(s.h�n�X�2�X$��my at 6{�
+&�
e�����QṚ����tؿ�vU8
�'�"m� ���'x8��F�17�%��A���f:'����g
+ T�Z�{�g����TL�M�>�,��ot<����Ĵ,�{
O��7Jk�:&2C��Zϻ���}�v��-
+���P�"
^�;�K�PTJ搝�^1�Z^D߃-L�0+�S2O�He]9_�UCs;
���v�����e���wF�hd:��BY��
5��pH1.O7֢�ߊ�$dǃ�.M+n�3�P��	3���$��k����Br7:�L��қ�����p�]�Y�tsR�GF
���L�4U�&�Is��v]��r~!x���=�kا�Vd��U՛�&zO�VR�jN(48���*s3.�&I� �R{KN��z�2
G�|�|թy�CsY,�N���QL�J�ڼx�fߤ1���g��U_��و�"�j]�#����w��Dl�^�_�+�,/O/�_�-D<�.SZf�3Gb�k���v�z�����/rΩMl���b:��W���*j� �$B�{�$E��	v "����%5�*�$�#W9�*5`�m����FP�?p\���wz��3@\~)gB�MN��+2ŔO�KW�h5x4��Ӄ�H5I7}e(�0�'y7��
���[mezި����7���?�Wo�R�j �^
5 [...]
't��z

p1�9��y�iJ"_͞LM.��0�
)�����G�� \��ko��k�d�+��|!)
���v�S1
ֲ-�6�r?��],Z����
��W��=����d�!	 ������D��M1�dk���q��P)�1}���
��/}��p��=l�������ޚ>Q�7}�k2
�jx���B9��*H�D,n��Ѐ�o�7ĥY8�0ɢ�^��"�Y�:��|�n�r�W��8cL�^*^�����[��8K$TO����j]�\3�5���c���慖�^ ��=J3^�
^S+���mm�Gɔ��}�3W��Q3�v�ő��|��x�VE��#2�o�~��Z�}{+��C����#-w���H��ps
�P�ؤ���3q�9�SJ�|
�^62_<��G���VTd%���F�R���;3D�G�����+kkL��2_�� M��k��0�
+N����	��K�b�Lm���
7�Q�+�pDL���ؙGu�h
l�Es޾�
�tv
œs�h����^�=}L$�-2����
ivG
+H���#T��P�af�T��c��[d�$�������k��V��g�.J)3��&g�p
�eV�U|�1�ѢRj�-""��Oʪ<}�k\}�k
ͽ0�V;"ZdY:6�
S��L~�"5Q�2�l��.]�<	AJ`{����a�K{�K�x����<B���ǡ��{�
�0W6yG����|�r��
W��KuZe�R�_`U�M?iW�o�$�u��F�
n��GaW�6�
�j���;ej�s\�QC�����/L�'�|e���4I�h4�̰o����X�+3׆0�k���
+�q�U�(XbS�Z� q��Րgl�k&����2�0Z��?��R�T5'����IFF.�i��t�2��V+r/E
�8�*�,����9vФ(�������8�Q�{�)]y��kR��S��v�
�
��2ŷ��Bͪ�wI�}��lq��Ҙn�
�����XIkڈVl�MijNRau�zNo9ϡ)S%V1��Wq�T�
t���

��,j����fQ�9���	#Ϗ"w�drŽ�;:i��
"KJ�ѵCiOL�ɟ�TeG�o"���Qe���8
RD(
o�ϴd1�
+������&F�_[R�P���Y��ĦF�$��$R���\i뫹����8����U|���,�݂��
ڑ�jA|6��{]� �ڲ`�}����^Ӏo�7�W4*�
�#����4<���o0
a���?���4�)�E��U��{0
��,o��|6h:�2/�=X'�� �$=Vkt⫞qӎV��Ty�+.���ǜI�	-N	���IT9�8�Z�]7��
r���C-l�O�0���?�?ԑ�
+�Q$:���5�4hAI7>��G����8�e���k�Rlˈ�掉 �[�d_�Mfw.�^#dv��
��T����~�C��L�����x�N�'A=”&ﳲd�W��,%�V�?������Y�[�7��]8��0�V���>r��ͯ	+�
��Kr>�g��x�}����+��5{8d�8\���Yi���v�8��>^�Ԣg�
��-dT�]�F�C:
]�Wck��/�*���M.�1�'�d�e��k ��x�&�l�:��_W�}�jO�M��3���d�$
����\�#m�ה6�����do����ɛ-��U���37]��J�d� K^N�
��^�{dܱ7w|`�"���
^/bR�Z7?��� ^G�L(�:���U�o(߭uʕ�@&��U��]ض�����r�[����G�j@)�͘�nM�wtV^�� ���k���Cg� �N�n��l�
X5�#"��BW��u�fJ���'���d�-O9刜.�jڵ���Qy2��2+�Ro�V�`� [...]
+�T�SֶRy��
=�L�����z>��snK_D*�5�eL
ƨB���ŋ{
��{W����jf���=����TwEw��wg�g|}T��	����Z�ٍ7���u��\���{���Unss1u/�8+R��~�äk�*~��,���q孮7�=����{�哑��h���?+�^4͗���Z[�_��8F��;b��u{$��?L�8
�'&�zK0��K��R��Yu�p��L���
+�o�)@�^ej�AX#g5��m�m]�c�MI����^
)���w��Ά��s�0ǰ���(Q-�Du
�,�# i�����VzC~�>Me!~)4Rjw�`R��+�2���uT��
.ݱj�{ԶK���{~�	�P/��D�p�ء�HJ�����V��:��C�*_DT�o\V,�Y
}J��G��V��&�Q�^��5�d�q����P���S�
+�
2c�I�{?�r���6P�.6�e�yr>ֆ#
i��	�fA�A
Uf�l3M�.�N)�t�FdO� �̑a#h&H
+��:q|F�Xb��(
��J����������}6��rH^
�nBH��b�>c�$�����o��=~2��B$�R!�.F�yAۓ�����m�P�	�2� �
+��|oY�)|n��u�lL?
+t�z�ьv1��-�īG��}#)~�J���0��bB��j,��_hUv[k�
�^\�ք���}M�2q�3����,ƾ���
�}�}�l{���#��w�Yn�&�
�i��
���7����k�/��	���[�$Rp_�G��/Z��	����
~�
fƠ���*�b/�`
ZUӕ2;+�K��N�+�Қ�
�혒�	|w���a��
��C�b�=5`�s��:.��2oi�SĴƧ0����>��˧��H�c���ɂcCl�6*鉫����w�z?�
+�Z�ks��l�JU�D�b~�v�
aϟY����8�x��-��I���?�h��ֹ��D�6	�k��h�3)���bX�u?&+-
��X�}yν1=f�bc#��!��ס��C0azM�0��/��꺶��v��	X>���tC�9���*�� �M��#v�=;M�I|V
�	�
ȭ�2����&�Ƅ��u�wf�*ag
+�AL�~E�
+�}�"�8�n��r��痚S�9J���Ȏ�X��S0�o.4񇌠ڮ��P��
+�͖D�`��F����\�[��8�bžh?6z`��U�8�7�u4�ڀ�f[�br�3k��Hq�i
+)^8\WZ�Ć����@�9Զ��
k�/�y�u�e�mX�~��5��V_P��f�[�{�E�
9N '�\��	; k��@��gHsL$�	��i
�!ն�e�q�VH�vgQ���~�I���;�5!ͫ
aB�!��!��4��X�\�O�œ�3w��PS��l4MQ2���
���=%x*�؀�����\y`H%
	��ύ��p�~��Hb��k��f5�cg�
R���D�s�P,��U9�܊��WF�:X��6
���i5��
�P�yL;آXJ�y9E-��S����
e5�O�\�G��i�ܛۆ�qߠ	l��w6�9�eFkqO<e�}>�DhQbv��t��eCV“��ѕ��f�V1�!����}5k�	k!YO+џ`�=
t�Çe�:U9����d�R�h.,�=X�'(��E?��5

+w�]�ԟ�c��kӵXN��VD�*k
n�%F��b9[g�=lפ�D���r}5�I]#���kW8I�k>>��̓U�{���
�U\X�����-A|�@jox�Ko
������v���`���|�����T��C��_jN�
c
%5}�K��s����抔x����

T _㭉�t��9�0�K=�8��\Ik�yq���f�
`��=�.��ezK)[����r+_?A�p�%(-i��
:O��mg
�,�O�м��nP ���X�~��LKTTa~t�����n.ǩ7]���������������#�{@韆�n�	g�yW�ć��Jw�wlF !��ڸE�Av��"_
i
Qb�r&<��7V���&�2�\���#v��U	�u�S����z0�
^*o�y��aQ�*Q�7�)\���\L
��V��.8��6Ÿ
��6���Rإ'���<����Mfk�o�d��r�J��o��v�7��z�M�
z�;5z1,����[�4�ɓ�2�B�O�
|ٸl�'H>�pƝ5��Y_��C��|Txɒ}����K͸sF]�d�%��Q7�L�2�٫�~ew'�ܡz�����W��5���`L6�4L��>���t�}�Q���I at 4|)TB��&(d0E*��et֧A�`׊��e釒7�t˵Q�)"�=�IV�Y�g
?�b���Kd��͛
+�
���T�8^�0R�f�d��
p���͎P�j�<
m�l;�3	��EZW�

+��B�|
!�x�jG2q9&y��
�|�4��%4*���*<�_��%l�<��%-���#ӶM{�9�%�~G����~�����'N��r�����>;6�b�E����BUyr��%9FV�x��g�'*d����Y��fK�G���3��,f2m��z�q���G��'�(����uꗅJ�t���"�
)��2b���߀��VA�Zr at Lˋ,��2;+[̰���lКϏ�~�?���΂��]��W�wtI������*��SU^�����{��[��s�ռ�T�]^�j��_A�I&[�z�
xLh#5��4<[q8��:���,W��%����� �S��S�f�9=e%�ye�1�&��f��do� �3dtq�d�iy��]4فl駫I���n�s���S�ѿ�6>ob���O��xe�ē�����՜S�L�(�^�|�*�4�O[�5"SX
��~�!�����+�i*�";��ea�h	�wL^�|�#5Zw�C��4�����ۑe�
+�t��|��e/:,���&f5
+�aY��|����c�p=�X.,;�K�E�v�
YDJS2�����;Fk��L�Ԉl���~!�Aa�/+����?qy\J�4♿�(+�5�

+�"���(�أ׻�I�c/f󂑿;��ew�)�`�=��
9J�~���ʺQ�?ޜ�yj�I�]�v,�g�Ƽm��7K����SĿh�Qjq�n��-R�g��۽S�_�l��
9%�E��X+��:3nTF=O�u�ȇ)o�?�GX��1(
_r
M���C�9]�����A�R?��i��ȑ�՚|�}y�k����GV�z*��컈[b��	�o��u����2���<�H��O�j�u�M�������r���1=n�B���5�0\�^'�i�Y:��؍���{�r
�w
+��
�}��l���Y��N
�hkQ

����0��x���s��笰�QX���-�0./� 
"���<Z\�f�n9���ٛ�mm���kA�y��,�S2�,�zKR��`�[?]wT
���@��
$v��C��K�$~u8� u��B��o at K3g���)Ig[l	$�}��m�1���<I=?�N[�m�n[�;���;	�񄁖��0�_��[�\�弲���i�?���9o��۫D<�o�T�ļZ�LU�I��g�!�{y	�_�`:�"d�����猰_Z=��
+X~��u�G�K
�>
o���U�{0�4{���
)?��H�
��s��]��Ry���X�n.VP
]� Š�0�ԡ�Yi��R��Ee�+����V�n��q�h�@<2B��� �6.�
+endstream
+endobj
+19997 0 obj <<
+/Type /FontDescriptor
+/FontName /SRQDSN+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/two/u/v/zero)
+/FontFile 19996 0 R
+>> endobj
+19998 0 obj <<
+/Length1 2493
+/Length2 13753
+/Length3 0
+/Length 15228     
+/Filter /FlateDecode
+>>
+stream
+xڍ�T\.����
Cw
H�tw7C
0C�t�t#�ݝ"!� %�)!��~���w���]��g�>�>g��RU�U�l�;BY9�8 �Jz�
 n6.4ZZM[(�_
�V��;
+��B�h�ao͠0C%�#@���p�
+p�	pp �88��kv �5s��(����@�$������
+���_
� N~~>�?��@[
3G���� �hah�-l�P��`��B��������
 l`kF��-��� ]܀���-��
��ƆF
��G������ 0 dkt��\\
-�. Xv���"@�	��c��� �
����pz�d��������������`e
T�٠
P����oC3
�7s3����
�(�
 -�0�u�g
['(�
b
��#��0�1K9ZJ�

��P����ں -`s�d��p�
������l
-�~�a��Į�h��
+�{��

B��B<
���<� �3 �aa��;�����0�_o'��
+����
+���
1s�.�@_�*�-�qr,m-� s���#���a0��?2��]l= 
0�q8~����a�`G����
1������
�-���� { �Y�����
 NNN^ ���q�����U5����D�s����lz�m��Of0��6��gP��
0�MC

�7���%���������_���I��@��c���
lA�Z���
+���!��k���B+-m]
�W+5�툸�5�笜��8^���H�z -Um�6����d�TCl�;0/����V��
v�@`G��
+۬�r� [�^A.
^�����'�0���	�UK����9��0 �G_��������%~C��� �I|�0��-q�e��`~�K� v���7
 vտ%X��%X��%n ���,��_'l��f���.f�@��m���矺�P��װ�A��-�A��z�����.�|j
�.0F�A����S�?
0�-�
�_��+��%�9�*�
����7�� 6�����1�?���](��. �`��/�q[GW�?�������N0��5��j�@�p��
V����� �� �]m��@@G��s���=la�;Bma��W-��V 0��_-������#.XGֿ_R�
,�?�����:®s[��E�s�a���{Y�
+�[���Q��}��~��*
�3'�s���`����qr��9ž0��C�F��|b����;�Nl	{07�wz^�?T�v�����9~���T�u�< ���?�6g���
+��������
���u���K uuq�@a����
ք��?����'��p�
���w�����v�puq�M�g���?>- �
@
��y��`�]}p�m�8�;��'����x��p
(�B���"r�̌���e�x��bY��)���a_V�j�l.NjhS�5��E�5��Lb��/5b�$A�
�� р>Ig�!���{��G�c7dG�� � (�ƢL!�ƈ�t�G�QҬC��
�bq\
�\5�>?�G���HtF���4�M���c��P*�y��@
oU(.1��<e�x�1~B�|
�N��Z�,9����!�n��o�~�`�#a�۵�ZY2���D�k�g^8�����V��Ovt�����T	�K�뱴�nP� "9 ��{�Ii\Rz����
���m�c���4&#���(Y�f��	^U�Ӹ���P2 ��WUA��n�u�����Ðm�.E���n��α��S0�1�L@�nW���~B�
��lm&)^h���DŽ1.'n�_=7Q��[FP_�q�*N�3_{ASq.MUO D��,��qY�r%�D�p`�p�w
~+S��ު
�a�m�P����8��唝
�X!�[�ƴD�^
�:޶� �aWBo&�o~5W◖�	n��a�U�}���e�I��xC�>(�}ό��ɇ	�.���Wi�S�]��;
�Mw׈���c2#T�E���8�v�o��Z�f����(.�V͗?_r���
+p2�mR>q�/w�x
���_
��ެRzG���2\��-��
t���@�yG68�f�-���2A��MTk$vÝ������o��u���G�,n���ܻ�r�ή����S
�Sw�w�c��L�6P�
)\��Z�Eh+v�^��D���ԩ�#צ	Wۋ��2�l�7'��
1��>}O�+�O���NG��L=C��y�Qz[�,��=���4�����"6��
g5�t��Yq�g_�0����h��%����
8���3Q���E��
H��j8�q���z��r��-�/�%�
+�*�3��r/��g��w��Ա�@gu�{&��F\��ˡL%��/��}6���|͸��KA��o<+I�
g���:��U�
��ګS��%����
�+n�9����
�)�g�	�a	
�,��6���ٜ�A8�~��M]2y�1K�
1Ƭ�	K��xf�=A��hG\�V���!�})��RnT�˞��;��>�<r4�PcLKU���[a���$���'����#�C�����m��䭊�*�b�A�I8B�����W���X�i�l�J�D/Dד�����0�WT9!��2�Ib�ʉ<Ƨ����
o��C$�j�aAm*����
|�?fh1BP�e^�%�{}�������2�~k��Rh��;=}C"y|���wx)�eE/yṺQk2R=[-fdA�&�Α�ϙ>���3����*„G�*�� ��_A,�T�RQ��?�ῤ3a�8#,S"
�ܵL.���;�hZ袷/΍�߀��Z mt��}��ƌ��ۃ���/��+����	�4���v�\��4"��y��y%��W
+�
W�57Q����>wR�Lߔ��#}b����

˝Ma�z�a�����l��qte�q���w9�rY ܉
-�g��i �ma]�� pk�R{ykr$�Ǭ,��rWt��%�ѹ94��f�ś���oR���7���0FP=�Ts�A�'�is���,j�O���r[$��
K�$���$H�vta�dG|ę5%p�
lT�-��KFR��6���ȝr�.�o�x���.͏�6���/��]�Rԋ�E���=��m�/?r���h�b}ÖzH���t�� ,P�x��r)�b���3o	�22SQ��K���ˋ�
ƴ+d�
�
=��O
E����pM�&�MY��9p��
I�/�>�M]�A5JG
1-E����#�2��
��+�4��
I/
+�J�6���7�
 ��1,�}6�Z���x<t����8�g?
��&V�nǯ
+�����I�[v��9a��/�%|/�d��~	!Qi�`��Ꚍ� ��� 
�]R�l�sS>ޡ���}Y|�~���c�ę/N����g��a�M{�l-R����`E����kr$|/C�M_�z<TW	P��C4�\zB�����y�kFq@?ا-��3��׬�?�9����#I�5�Z/�G��*Q�>�/��o�o�낂��&e�
�4< �Jd!�L�y@`Y\�Uq7���r��,'#Ji�-U���I 
�⯀ƊmQ�

����7�C>=E"�Ov��1M�#?R׉�K&�%Lj.N{�3��{=���
�\�g���'
��>/�1
��G�|������h
)\�z�巳�� }�e6笝�?{9 �	z�x����
pӬ����<����ZC�
r��bD��D3I�P�Z���cS��$�Eh~!H�zYSN�3} ���>���ª|p��S��Mܐ������,&Nc\�@������������~��
n
��@f��F�x�lTŦ�
e&�j-���I��z��b�ǐ�!��<�l�Aq�f>U3��xU��W|mɩ�[`_Q1i�Ϳ� �ԑË�\��l��9�%���LGm��+x�H��mQ�����*��1���
q�:b� ���,�-�ԗ�D'�i��ҫ��4��Y�IG>���3V�AL5���W�;"#�L�Vɬ�?���'ҙ%�	2�y�wp��2N-�'Z�*0��*�ïh7�{-�_L��-3�:
_~�0���
{ =~Eqr
C���|���m�A� D(�k+W?�ުV؝O&\
+5�O
���i��}g� ߛ���
��~
��]H�Y	y���v����;�Z�>a�
+.
l��@�̫���')5M�������إKIIG��9
+R��Y���lT�܁/mH�{0T����
�Ώ����b�u)O&���3��%j�{=�ڗ~4��R��v�hQF����lo��5&�<�7E��ֳ=
��%�w�2�K+pֻ��?��cR���N�nB�$+��:�V�"��Zy�2�1��{����U�Ka�A·>7��/;���c/{�=ndh�rI���?���M��x�RJ��s�����u	��DU}V���(�ƻ�ِ�wܑ#�ߴ3�--Eex�[�v�
(��9��|� �K��!x6&6	"��y��і�ݽ�~�Şp.Ṑ�m��+��{���Ү!���x�rc�`8��
��^\�(��P�ӿY��Ǔ^ʒcI`
Rz�
])�q,�H���
��]˨����Pa�M7�4�Q-���R9�{
��w�B�~����t�� ~'J�n����-�b�L�Ɠ��i"�C��z�q
/�uE��D��
�V�
y�e�N��Lh�� B��i7�{�}�'�-x#��+��E��f?z�[���[��w/�H��,��NJ�����ӱ�h��wlH�Y�^�4��4F�j�O-�Z��j�:$uR���/�S�(@j5yIj?�#��K�ٝ.�5]��Lr~�h�kN
;��� W�
�S��B�7����\OR�����-��g�ƃ�g�L�κ�4�9�C�H����QD˸
�s�?[]��
%�o�zR3l֘�.{��b�Pv��g�s�A�<�.�v$*�+�\�N��N
����*
+�b�>����
�|\�ݷ�`�2�.'I�؟{5Gˤ�+�j�$}�(GP���z��Q�.�ZN<��\il��p�4�H��fC�0�݉����W�	Evc�
C�]fQ�
%�v���`t�a7�暱ɵmne�fE}H�����w���s�jN3kvUY�VTj��֭*U��dh(sE�^7�W���!��֒�4C�Q��
���AO�5>dZ}u,h:���C|
+EV��:o]O�̜3�i�CvĻ�=hD�Xo:��-�F��K��ۥsmQ�sd���6<�UZi����a�0���|�EU�?�F�VD�1���w�(��^�3V�;�B�)�������R������hL}�Q�0���
K�ao(s�[�]�]�����������{.�Vt���fW�E�bʔ΍~
+�
�a�Qć`�=��|
,A��Q��Ǧ�.'(�K�Y`{�!8D��2ڪJ�֍���1���7��;%���pM(�f��$B��1zt�Tܥ.D�|;T��p����f1w�b �AP�j
�	�*�%�`�z�b:�\�ŕ�j�A��FrJ�[���Õ�_�h�|P{�4�[-���%�W��`b��يiჀ3���Q�X�h}��r���W��oT�;���?�i���xYs%vQKeU�_d�$0�z�l�sg{l0	Y37Z��A��zC
i�g�&.,5�Χ6��'�/��L��⛜�}��$%��5;BhI�� ��s���Q�Ѥѐ��Q��bI�[�تSTu�n©4���
��_�;���U�������!�J���
���:���M\����
+��a�eC���e;��b�Y���s�f�T��
+>�j
+��
>n���
�J���{�8����q��cǜ�M‚�_��Y��(Oq8
��R�MUd���UNzG@��~1
ICKe�bÎK����{�
+�H��Ν}QAY��n
}P�1Y1A&~��VI����E���
+d�+L�e:5)�Y�4�^7���Y���Ty
	%�2�����y�C[6{��3����X�"K7�(=�P$���_�`'�˽t�t�A�l>iQ0��A;UL���*��>�$����ɡ%���KA	c�8��$�=L/��\
;hZ��1��rMT���L��Q������㫱m+5 ��.������6=#�:��B0�,6?�A}��د0������2̌�u}�_^k�9�.�X>�W��X!�R�\��
:��i�
)(tΐ���|sz�\I[���i��^n�K�_�*ŷ��5u;�|�

k�xjϷ+-
�*i�qy
?��;2j�?�i�
���������_��DM�,�h�R�1�s	��x
��I+`on�->�tdS�M�w�(΁eu�F�UG'aR�����fL�t뫻�vv��\ ��V�gMu+�}�d*B�#�Ra�;bj��x{����/~�:+�aA'*�_cV
l��2��9���HT��g�8c(%N�iޭk�r���)
+�����x�_�4��T�ݓOK*^\$�x���~�.&
�n]�|N��G�%�$�)ԧY�s��=�-�r�����<��I >�J&U��.f�)�3���1'�j��@��i�W�iI�T���y�O%�hT����|�W�^���
+2q_�U&�����U�v�x�����A4���=rcLqn�Jԑ
�L���W�\��^�y�mk��ލs,}�3���|f����9q��Y�b?Ǔj�.~h�0"�
/��SG��4|K�.�f�S���S���
��R�
��N9�0�+Q�yĵ�>+
�r���j����庵o��	�U��
���>��
+�=Gc
�@����D�s��-*qm�*�w\X����
wP(�ՆP.�%��6:5
;r2��A���^�muir�s�R
����#�\J�^��!���z��@cP����dG���N�#��K��TD\M�hiR�D�[���ZH��9=	
+^][�U��
�p�z���Z
N���5 ���
ٍk�݆-����2^~d����
��>2�&P�k[X��ˈ� o1���P`�Dk�k�Ud�3|�cf��N{^����t�k&��v6��
;��ztk_?��
�
���#Jo���x��"��8&�&
�̞%�0���ndakTf�C�aQ� �'��4p�P��-��=p�gEf�r%U�&�[���9�o�t�*��v��
(E�$�Vm��QE�|L�7W	
I���->L�8�d������C�8�o���w�*s3�N	^E^�e���O[>.�	936�֗��-�~5-����f�Y?�����8���r_�r�D�7�lj��7yesI�,?_�
�0t���&����"���%t�wJp+Q㷭���܈B�!�������X�6Ϩ�?�z�N
�0���ŗ^V~p
�mM
�
+a� k��[x��.��M���|����V�y��:�&�S/����5�rY.���a�8c(m�H����e�Pǜ-p��8�i��_��f�M֝ws�=_����d�E�;��]�%:F��Xa���B�-S�7b����t�Ľ�pxw~E\%!�>���-�Mp�Z1=�w�g���\�U�m��[UyAԝ�xf��PVH�D
�Cm�M��
!Pِ��{�|�]x����Bty��@
Æ�\�e�;ښ�7�����Zt�z�7�YMr����4����d>�˕
�hinf�7���g���d��˩Wt��h\Tw�����K<.S,(.7Xx�󏕀���
����[+VfО�����I+�H���ǿXa�;&ʖ8>ﱏ��r�uu`� �pR���w KB� Fr=*�� q��&fO����9E7�k�Q�4��u�Z9��g�A
�4E�t�P��{ui� A�xsx<QL�=o�U*
0w`p�����2
�����B춪�ڕ���Ec��Zp��Kn��mZ }y��,����Qp�["u #��;�0����GwB�	
y�����B����1���^��R�d�/_�l\:.�=N�,o�0�����ha+zp5����
�@d��M�GY�L�^y;8g�azi0cYS�c��Zt�-ָG��
_\g�Hf��
bk�;̈́�ئE��
c2���C�iB� ���xM���/���
�,nЍj��S�A�z/���Α$`5�5�9&�O"����d��Y�K"��SDxT���ș�E�V��ɽ��FfK.v��\������m_�s��G�{�k �vt��I��h�'�h$������-��P_E�����g���)�9,6�a�y�j��3�g�gj������'�;���d�Wc6PR�z�d3;OQ�+�����F1���EP
�5M]�[p��!�\I߱vx�2�U�FĠ���A}^�@ܾ7��p��Ip��z���i��
y6_��q��آD���
 F+����iv�<��q�G�1�>�dH*��su�t��P��wޭױ]
��sZ�ד���`m{ͥ+��%�u
�����u�z�–Τ�@�0�T�<3��pw>`jͫ|�:qؤI/�!ol�Q/a�m�t�ݗg���,<�.1g��[�s�G��-%4Q�\�z(d�>�T��ұ���l;�
o�K�%�<����ũA<U&��,��~�P�x;��P�c=�j�8/
�z�c�&���
������ݧ�Y�����1'��JMm����rȁC[�N�oC���2��<�
yWj�op�n���rk��I)^;��JP�鈺<�u>Nd�4����N�y�8�9�}˦�^��4sb���
B�B��V��[x�d�5�1L�^���!E��sn�oW{*�Ȱ��[�^�1}�r��t
�kq8 ���T���0��>��^��V������]�t_lS���&�K:�\@h�o>���������r�4ʡҲ�N�8p�<�2
�w��0�Q�IB�I����_s
��kr|l}��VD����
E%�I����`LΡ�L��Z�V���|�vw�vS�z=v���։W�O�Iu����/Q��>�ob2�ë��bQ+�ЎPW���&�X��/���}W#��Υ-Z����dï3ٍ��>{Ge��p��L�W�,y.��
�\�jN�G`ݸ�!�"�G3��Oj5���8�.��IƎ��wԴ�S���G��mn��{^��*r��=�
�w�>����

�8�ޘ;?�^���i�	9n-�~�
���[
i���ڡ|�
+��ӣ>�v�%^�����
K4�0��B?lL
(��|��Y
A�4�~�����fA�ɍ�m�>�(�2`���:�B\��%B��U�Ԯ����œ���*ˏ�+��W�^�j�"�.���TR٩���!V�*AI�г~
���q��C��M��/RkaWH3HZ���-F>�J7δ
�t�˒O�9l�$B!)r���/f��
�
���2~c�P��9�� .�)��w=��#�� ���S0���g�q76%�߰V��ү�&���i3�z��=�Q����lGj_�ݰ~���r�0�=�"׃E �s��D�j���lmTf���pL�?cٯ3���V�~�fs�
(�!��I��~e�
/"]�5�\��"�ٴMFI��㷇m��11�0u
+4W�;������Vܧ6�5���b������SL���;���Y�#�u5���EN_G���ͭ���0E"��S'�J~b�gӿ?1l�w+!�/:E.6���K��VI�ae���
��e���ê�u�
���6L�41��X
��A��$��
��م���n�F���"�#Q��5td.����S6.�
�([!�C�l�T
J��Q��	���"~���"
D!����r�^镏�!��:.,SٓV׬:<vʈ���+�`��|�J�F�	H��u�.P�}�-���e�+!k˼�V�;G�ʢ�BO��W�����ܝ<�؛�?a��s�4O-�f��#�Ҭ�b#'�p��H�>/�����I2��`�
2�;L䂏�k�!Zq�n�������ܫg)L�4xiiSw��w��9��O�#T�z�m���
~�2���M�߷�x���=g��[���h���~{Qe��c��݀�[��3��6"�5p�JzX�+�@�|��k
#G��
я�Ðv���O
�

�p�e�ە
<L
E�xW��ݵ������5�>zT��
+hQ31��GT�#M�a��m��U!p�A?rE��
@���
K���"6p��"�t����^�˳
dy��bole�q
F�K}�WO���<�p1*c�Xčitk��ES����

�J
w���ǁܝ=�����E
+&&αJ/��(��˟iy���|#Gx��	� wPK4���#x
C?��Mz#O�7P�7<D*xPI�h/�
c�VR<g���EU�_�
e5[�}�F
�
��v��-?:}��P�丬����"d��vۍ>��°�w��o�T������>K4@Â��w��R��S�?�x�x�]�˴�N)��R� ���8������I�
I�z��ll���2�](v�Jn�ZY}�gG)��
�Ek�=���e����p@�-���G��v�v�K���
�!6���'$YpT��U1
�c;�t[��+��W+4
nqt��[�<�%\1��!R�mP"�*�H��FD
�ϵ�������<�^��A�2��B�eU��!y)�2���;�&�����U���[Hc`�
!}��OL����-Y�!}�a���癱�%N�p�]3��&�c�|nTK\�/��s;�
�e��d�f"�N0�I��7H���#�D(��!��:�%,j��w
�Cr6�I�ñ'C.Ir���d�c8_U
+�0�h9W
�<��O˳�1x����
�	�j�W�(~��?�V��"�-Ω6w��:e� >�vcX�"�ޓ�*�B��}�&���}�}G|�ZS�u�ÄoI�Y�
�9�8V����dGrCy�N�O��aG�lCi#�fy�e�D/|�.D^��@^'�%��-J�2:��xd�'�B5�|�a�v���W�󵇎ۙ5W�2=s�y~��"���!�[�Ʊ���Ǐ
�-Q�D���w�"�W[�q�^ȝ�����LMB�H�f�GG<Α�"'��h����e h����\�i��j
+7>v��Vk0j���
W=�L�&$�PB���ڌ��Q�-��U$#�G4>%
����
�̣���Bs����A�N�N-y��)�	���r
���?Y����o��0����\
�R�4��VJ���\�[�
F�+���a�.�c�O�.�کm�!�-4)��/̐O�Xo������+O1>
/+!�y���&ѡ�)�4`�7���;9�ǮS�)ַxې ǝ����D�-�X�#�Ut�$�J��q�b���:3c
�ڻC'F����m�Dnn�1a9K�
������B�s�~�¨��~�R�����圞6������;;�S9�P���`�_
��R�>��%HDU����~{ ΃� �;Q�͒}Lw�Y����j��Ӿ����b^6f#����Z�4��#���2
+��H� ����\�f���[�a�������HS�ZW�"{�oV"΂��m
GF���w�
�Z>��E-cc1������~��=xz�u
+�
�1"v��]*��x�=���
+�ȹWn��bR�w���ϕ�l(}��E�<����$k��Y_�^���fr*��yc��������m�
���E9r7�۽�2XQcI*՗�
P#�����@�uI^���f��Ca�s�㩯����R��Rw/�=��T���A�Z�e�6M~�O�Q��3v�CxV���f�l��v _�+Uc;W`�M�WKo�W֔H�h~�5_���R�9�M�F3	E͂���H
������%�W�+���9BY�
2���k�;�����xʭ8�x���V�_��565=�̵�9���	h�1��P*�r�:NL�
ԕ�Ƅ���H�x��	�}�2IT�)�Dyf�uS�4>h��`���.Vs�[3R\Ŭ�1f�H�.PEF�
�غ��d
��	����B��TsN(�U����Ny7�JC&4l�ҧ_$�a�ﮯ��0r�q�:���d��D�U��z�0�
%��w2��Y:�<���K=햲�������34䉈pQI6}��%f�^�ˑ�J
�F��z��>��<�]
j���g� ����T�<�I/2i�[���wŘ�=ʐ��`��B�R˥��<K�
+g�;��X9���]�tF
+��E����%�h
_Uu9g5�*A�I��<�vAR�Z��!�o���A�J
��/����x!��O������zr/�9Ҟ�|t������o�K���[���۬�G��2�N+�G
�ݥ�㨺��__�&&
p��^��3ܾ�L����9Ri�
+���Hy�	S=c����H/U����h��#̝3����3�g��!i�7V��(��Ŗ�|��₏�έ&�:�Wk�κ7�Q��Γ��>1��;�B��nI�$U����!�YL��)��M8C�m٫S��
��ʇ���^�
s�/��
l�Χ9x���
+���?
�&r흴~
���:KU��_�eu[�#���
+�
7�$���lEY,ȟO,��:N������
�d|����2��
��D����9���/��E2/��ZM1�2�ݥ*i�.e�Q���c8�X���u�̈��mK �0�����э���
��KX!�
�j9y�N�.�'��3��/��{�
O��h��&R��g߼�h��.�a�ȕ��LQә�o >��#�{d�4���f%���fW���������:_�TH����8����5���"�q�-�vN;�0'����|�ߛ-��ehF�j��y�5w�a��UŲ
>�$m���[�8���@�@��\�@��bD`L�7�t�k`���i>
Rۓ�+��9��(�q˒� �v1S$7/W�&X��M��C�f��cou���{_^~�,�
����l{�vz��k�;H5��ް�&���=�ȁ1���Č�ͪ�@�\��\|����!���r�v�����'���3#6�����Ju��w�=M}Ɨ��!�D�L��8��sQ�J>
IQ|�;��ڡ�7
7��o�xK��z��kQ�ik���LR������%�����\Z7v��9�bt��1Q�%DD�Q�2۱܏修�Q�*���_|��əxi8�\�����5�����k�F�
�Ĝ�JS��E{{+=e�.�3�\
�MO���3�gF��TBs�^4�ܭ���D�i�vI���2V�˸�q
+���p�G�ܞ�MdU$#6���t#2�fP

̡/Z�r��&J逻��#Ln���*.%�D;vcYM}��
"^�k-����
�5BJ
+0n
[�z�������M�?*�w!@�
ex�5��7�#�|Z{�

Ml��ҏn��v]���O>T���_�\�i���d�Y��
s�׸O97�1q�߷{
Z��
�O�E���G���ؗ�)��hzf��d��ba����X�n
��*��n��7|��)Ļ�B��l�#�J��fpuaT��PB5z�M�v~�
�~�����x�|��?�_R��І
[�'���R��っ�8N�iN�-�x��f������+�G͹/;�2�o�9T��+~(��5r��
f�{%m>{��[��N\�-6�,^x����{,=I�
B�(����<��o���1ZX(�
+��.JS�w����<�Y_�z1#X1��P�$���Fy,JY.`mHKW�+��!�c'�AB�p^P]�k/�|��#)K4�Rʿ���
2
���!���Z?��3���w(�D��Ůϭ
�:
H�R 
�RHB��K��P���(䧄�O6Z�&�I��'um��J�������j
��t�fx�w�q�1vD�?Ɍ1���I
��d���v��E�_��X}יu
1Z�������I�f�u���*st�Ҝ�-�Z�b���~����CdT��#-�K���]��2��g~�O<����
+���3N�£�{�Kx	���5񢹮�7��צ�G��3e��Xd�#��1��?zr�M
+��
1
�)���Rʬاj�Ez)�Yg�hf]�����j6Mc���X�t�q��i����	��:*JQ���3�
��*�'yF��3������
�+�
31/�ž��w��d^��@���-ہ3�|%�Λ2�

�� ���G�GnX��\-l
�q��%�f�E�7rz�
��S��J&��:�Yv
6��R�O`��S��X�ů��CV�=J��)5۰�z|O���7�)�2i'h"D\ip�#O���y��x�a��J?b�Q.�_*nO-@�7��0=kQ5�$
rq��ր��{��L�S�*�k�Ks�_U��ݘ�H�%�G�R�7\N��i��
	K��.Ow?����愩��j+�x���R���.~m���L� ��@4>ւa/��ޣ�*�'97�
+
����h���t�Сfɓ�a2�U��^"JP'�D��:ѹ���A�֋�����х�!'�U���KD'E'g��g�Ms�Ɲ��B
+�#��
��.�3�B�	��H�G�C��8�/����1��6�:=��W��.�µ���Rf��MLo���W$D}��u���4�)�LX
+#��OƒQW�
�3�ۆ��������D�$���ȅ����	�;��w"i�����h4��(^�#�x����/i�s���ܶ�g�G	SR���U�~ㄟyv=�O(�;�e�1��V���N�q'Q���ҳ��[1��]
�	�1Q��w�TEj�@A��>�����~�S�$��#Z�+=�C��/�
�^��*`e)!�i-ά��	�m��ڒv�n�:
_YYmy
��8���
b�ɫ])դ
`{m?�N�L
���E#���t\Z��λ��ٯ�i�ͤms���U����g��r��|i��
��t1
d� �����z�gvV��-U@�G�KY��!���x<�B�y���L�
�<�����Z)t��<���7Q�N��od�L���I㌄]>~+s�f���Λ���xT�9I��Lko��jG�;t]p�wJ��,�d����\�����.�:'�ǟA�D�kTk��0CZ<<�E3P��l/�
�&>�����ec��G��
��ș&��
�l��'�V|�Un���~Z�e{�|܉1�ث¸�%��0us@�lD"K]�C����<A&Vd}����J�ӯ�1�c�(E$$m(�X���|���b�~R �
�Z��
+Rr��9�[g5���
���Y�@7Q�[‹�m�K��b<%�����>s{N��遍��T���m] ;~�p�I]0Q�ڳ,/��C�z^�i�_=J
{��-qnZ
��n�~;<G��o��ƌ��
�Cl�l���������&<��NB���q�RE�o�tH���/�:r!Ԃq��U�~&�OTq[��J����ֈ�O�._���z�|GKN6U�"�g�C�2W2��Zz�l����
8
+endstream
+endobj
+19999 0 obj <<
+/Type /FontDescriptor
+/FontName /GXJSMI+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 40
+/XHeight 431
+/CharSet (/B/C/G/H/L/O/P/Q/R/S/V/angbracketleft/angbracketright/arrowdblleft/arrowdblright/arrownortheast/arrowright/asteriskmath/backslash/bar/braceleft/braceright/circledivide/circleminus/circlemultiply/circleplus/element/equivalence/existential/floorleft/floorright/greaterequal/infinity/intersection/lessequal/logicaland/mapsto/minus/multiply/nabla/negationslash/periodcentered/perpendicular/plusminus/propersubset/reflexsubset/reflexsuperset/similar/turnstileleft/union/unionmulti/universal)
+/FontFile 19998 0 R
+>> endobj
+20000 0 obj <<
+/Length1 1436
+/Length2 6211
+/Length3 0
+/Length 7187      
+/Filter /FlateDecode
+>>
+stream
+xڍvT�[�6(H���<H8t�4H!]#3�30
ݥ��H)ҝ�tJ�t
+Hw)�4�7�9�����k����f�}�y�}��v�>�<���D�yx�%E-}��_���_���� �v����Pnp$B�9(�`4S��1~ZH�����b���� ?��ߎH�$��C-^@
����+"]�Qp;{4��ߏ �
  !!�
�;�PpЂ��aΘ�6'@i������S�
�v�������8��"Qv��@�'
m���`(�EІ8��0�%d
��np}�-����	nC�a"�P
+���4
⏳���� ��I�W�Dp��`��
����#� [�
�Q��E{�A ��qrCb�!
����w�@E^�`�E��wA����~Q�������"���@���O	���`�ݛ���:"��߿�p��	��
�C��
���
"����~	QQaQ �
+��l��~�7�v��6
+��1
�}]�.�-��n
����A<` ����߆� (�
<�����d��0�?k���^�?F{ ����,0�"N����>_>�����{�Ǧ���| 
	aa@@XX
� ����?����C����OB5�-��C�w���K�M
��
+�H��a �?�7���|	���w��M��������
��;9�6s���f�3���/���ј��Bbf�߮F�?����ݝ�۪��`�C
a�Q8��0/��
���A�p���
�}�Np
�t���p0Q���e�
��#�Rq�
�o
3S�����AB
���( A� ބ��	�� ��)�¼~���E ј ���E�
+?��
G���B���������(�3�N0[�o˿��qG�0#�[,��^��`0/�
��$�F*̡:��R���gm���RKd�IW��c*��^�ꨫ�5������#�~
�_N���Ӄ�d����V�y^8��n�
E��
��D�P|M�e"�6�1��h4y.�!�Q�����m�Tbp��Y��O�3Zv�E���-��L��co��R�
�
��
�=Qh��;�^1�M뛛�M��J:���-{LIG�Β��Y
uB��;7,�cŢ��;tyΏ9�[��_�ew7&����i+��uC�{S�x/��9�ٮ_
�&k��ľ��"h�
�dH�/�N'��U�y��
+h_���a�T�)
��&f����-��N����5"1�O��n��i��hw�ns�����d
"�ՅD�����W
+	��
�������[u�HϤi�6;F�n��
1[�A!
DŽ�:ר�@�6����Ĩ���3
�n����#�=V˱_e�/�������-هl�_N4<|a02�
.�=g���M;%W���k���\Fl�j����ɡMP�W������.T^�BYn:��
��'}?�~�����F�.i����^_Pm�b�K�붲hPw�qb���i�n���
���QU��L�S�
����˛�b�	fImn�U�m�
?���4�������:~����X%��m:����oat2����Ff:W��E-�z?)�,���ԡ�l��R8j�� 
���y����6�)��3�3�_�ƫ�tE����(���F�z�C�ѼbLY~bcO���`�է�?��$z{�$>�ɟ���V��Q_�q���S��K�=��%�2
�<1x�9=�ƍ��G��7��
�
��7/��[z�X�( y�w���N1tC���
+�O��>/RS<��^}D�
��-���'��"��#�zj��ά���o8�{./�V�Ch�j���ʰZ
�
1��
�`'���/�J�y����a���P��:�� [���-��ȏ�����Ck?q��#=��m��G"���Z{ŵ
+��hʬm�2Al�%F��O��*��|D��%W47�	Y��j���|�i����Z���
��}��RhΧ4�QG
��t�#��ZH�~��`�Р� OR�J���{,�92��ɾ5��w��
(��h���?!T�~��/�)���]
+�Q��$��ղ -{�|��(��q��X�=!��p��"\u�'���(z�Έl�y
�;�Q�t7���SSU��R��S�,����w�]e��`/{���E �r��4�����E�E���+:+�M^�-�ʛ���z�\ˊ�[U�����b�
P�p?}V.�
�@YK�O:s��E_�J����-I�Ŷ��>+�m���;���i��0�Re��r��#z</
�
��~H���+fCi�C�+{m5֎h�'������k�Jw�D���ן3�ح��myԣ����ཌ@�֏��;U�*�GB�z�U�
�źLÓ�b��_��9P$���ҷ�h;5�����q��̕� ٱ�������
���s�T~P4�p1Ae��o4
G��
Qй�K?�`�$�����1���`���I"���mB���6����k��z/�s4�|��4F�Z�X�܀@E�ԩ�ֳ7�c�ɮ>��ꇖ�Xg
D8�gd)_2$.*A���'��W0
�
.�X��3�
ؿªM�~�!8͕8�?�7�

C����KŪ}�qq-�����T��i���i}��NA�>&�UB�}�*���h�x�8�mW��(�LZ���e	V��{�4��i�"@�ZĠ)�jǼL���
�e��[ڿǦ�#|B="%�s%dj]��n�$o*q2&	�{$,4h�Rف���}��pmU��Z_�a�B~�^F����1UW��h�3�B
�9�ҝI^��������9�G��,�,7�䚼Qi���.�����N�$J����Q3[��2 at E��I
�z;�j��(�����,W8d��:a���xL�?z���|nA�h�U�����D�h��D�L�{�a
��k+
�O�Ր��b�����y]��YB0��5_aQ�(��55�-[����\���l=djKe?�������������H�
���P4�CT�'���5�4]��$��+Y��,:�8fֳ�
a����Xpj?[	���[��
�O@������I����D�@�ګ
��X��0���`Y��jQ>a�����M�0Ah_��������x [...]
+���ª`�C�������;>�4S����������E]ܛW���k
4,.8��b��_�;�0�^�0�H�=
=��q�r�C�%�J��`E�
+�8ר���9Ug݋��o��	��uF7��T@>����,�ĸ��Υ�_X8m���b��
+����i�)xoR��Pi��9�ݰj E#��r# ���l���NE���`sW 6#-wH��T �����t␒����S���@�x�(n�e�@
Q�y{��<��� ^��x�����`��>j�"y�.]�1�>�UN@�j��)h�Ek �W��u��>��\g}
k[pT[~}���Dw=���g�,.i����٧�6��̷�u�u�8g�8�<7�
|
��X4Zm"BF����o�u�ݻ
+5�&�:rmC1u����fʁ"�ۭ]�'�SqUH�#2灗A�ʸ(�c�ֳ,�>
+[�5S�,�8	ȫm���Y�m���zs�>�F�L������_�B�k>7 � �n��A�,nu��2
�X���_5�))��4z+��
+���u�֚���6qN&ڴ/�Hq	[>���R�p�7(G�~�}�����֏5_n *�	�󫬉x,�
��n��ִ�J�;qT���b
�
�L�qa��&�v�5�@:#Q
���R�B��� BL��,l�
���]�����lOdd�*~�V$�Y,�2d܋{ �7xtB��e��1/�z���F��e0�`>���4�`A�D#7GluK��w0~Ƙ�Jq�Fp���$�d�gPno�s&�vk��5�9�2`_�U;�DX��W|rTz��&��ǩ6(���T!�x�kATy4������-���HApsR��k��QA���ڶ��
����H��x��:���7�o�\jݮHvCn�4j�S
%k*�T(_y{p�[5R��o�~d�upʐR��e��h�0+ǻޞ���c�(UX@!��N
�n����Ԅ���G�O����h
V}Z���ĦH�u5خp�����%
�\ Y�;�nƟ�
E>rJ 	��:dq;$L�w[�x�!~/&a�����o���I� >dֿ�����4	-��(b[2�Y�c�����үkpG�Rr����2
��
Et3�r�A�Ke�r�����"'��
~��q[��C}��N�����K�%mҨ٫��
y/EI6݁c�D.�j�ZmHGg<�A]�ׂ���͜;�S�Lfͭ�5�(������l0]f�"
+�����M���7�����{�)��^��2|���5���B��"V�T|GuJ(𫋄I2J&��&g���v��%�cS��L��?�!,%:_=q�';?t �Y�%��j��ۅ�~꿯N���1#��<{Mo���_3�V�b��ήMU�^��6x�>���b:G<;���֊������O훞B�� ��8�~ȔnaV�o��nz�n,�O
�u��2W
+���$g�&6���X�t3�@h׾VZ����
�Y��(���c��}�	�-�r�ݡN�۟.
��Z�`+jP�v��gcN�
+����
��t�/�V��U�W�z�S�3*7��
�۽G�
+PO*L�
kP
F����O��{�EB
�P�g�w�浚t��(_?���$
�"�s�
wP-����ޫ2�6�7-N��go�P==�\N����3_0Icɂ�����H�;�A
ʨ�
X�ȼ�X~�	v��Ε���D^Iz#�{H松
��~�:�Nj-�y�76�H��$���ht��)���X,G�gLN��vѾX�z6q���m���Y��1x�knl���*�q�K����@�7t1�O�X=�>�
ͽe�0���-�aJ�]M'�-�̚N��}
+:�ezt���g�0�8��!&>�
���lZ���&j��F>	p�}E.�
�o�o�M��%K-�
h�����Q���ӊC�t
r����P~�.K�����߸#i9��Z�7ѡ���N����Į�m�uP@��V,k�'L�p5�m��#s���u�!������C�rND�'6��xL�e��ڋ�דsވ
��v}}����X�
p���6�P�������p�k��*e��ui
��F[��>	�kgsQZL�
�
�/Mm�XVN��q��ꂆ��,O��۷=�p��Q�$&K��%�]>j�K�e��'��r�~��K��.skA]������]���l�]�h��F��T���6
�;������
��C�{���p
Q
L�����tj����
+[�Ir
��@�g�Ǘ�Y���9k�GpD@:�1l�С�������D�
��~c>r�!�[X���˘�G'�2��#M�dG[�|̅�O���i�^�h���,���Z5d��j6�E<�!s��
s~��j��Q��i����p��7�� %\�\����n�o��Kcc���4C�����P���C8s�E��Js~��HE�yϣ2�
��X�~��m8���q�O����������؈��l�������%�y5~�m_����'V����E��8>�(:�Qb�R-cf}(+�
�e���^j�Z��-��]���ᚽ}
�ݽ��`�ғ��_[/���"ߩ߮��wM��W�2�u#\�`��9�u}�����y��~J���S�erZ8Nqr�y����I���{����GA}�R����ޒ�ũ��� �ns�T��O����;q31�s�Jz�`ŧ��w*�4���b\	��׺�Y�Kf�<A�ƣX,~��/�Jig�7 0|�Ҳ����z�I���9�o�_E�]o�atC�� [...]
+bckg}S�x˼����#/f�3�C	�X��繜F���3�85�]�B��5\��S���"�^I2�P�$tO�@��3�7ye/i/��T�>$|K�.
P?��
�Kr
4��2�<�g��6��v�r}��X�G��� לTVB�&�y
��~c�h��X<�񙎪W�uJ��h�h#���Am��Q��]�3&����Λ�C�)F,�oc��L*�{����"N�ZQ��T��lK�4
+���4A�}����*�9�s�W��Ǘ;}��:%,%|955�����ݘ��z(�u��j"�k��έH���^�����w�7r�Qx��5Ʒ7[�/���T��}눺��
�~�]���[z"[p�Eq���ȴL�	�:�F_LWd���J�>��X��F�5��E���cl�ҷ�0H���Ǝ�&����*Y
+6K偳�[T�!����t
=����#�[�qf��"ig�Hk+}n�iޛ���$��V�Gѹ��
+2�T�k#�샫��H]�����77���x�rbs�7�?�af}�)}�x�E��n��1k��~�t�e����)>�q�ن}����A���;ɏ�^�fAgS�qh�;Zy�>;����ζ{��
�9�M����@�A�_�$����ۧ���br����*ҜHQz��8&)���5�)�d�^t�mb�)�)wNJ{΂�c~Y�A穀aCS
߮���$��㑰�i����|�
q3k���1q�!��F�[BjwmB,��x�ߥ8_̍��`j���
�e�ԗ�|�
+���5��S.&h���
+l�Z�P*1��i���ܦ�5�-�I
��9Ѣ8�Q���֑�,��'#9���|ήҨ/+��5!�x%
�$r_�A
�kl��1#vC,R͜�O(QE���R��l�����O�\�S�I	*E<FϮ�VZ�g^�$X�
A[iٍ��SꂙV�
��F{#upZy�QR�P"2k�i
+p�{���k�Ur��d����L�i���i\�c;g�,�ߺ�SyM��`�k-��lEa>�洕	�
����Q����wl��`)�Gb�O�$�

+endstream
+endobj
+20001 0 obj <<
+/Type /FontDescriptor
+/FontName /TPJSSH+CMSY5
+/Flags 4
+/FontBBox [21 -944 1448 791]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 56
+/XHeight 431
+/CharSet (/minus/prime/turnstileleft)
+/FontFile 20000 0 R
+>> endobj
+20002 0 obj <<
+/Length1 1525
+/Length2 7290
+/Length3 0
+/Length 8322      
+/Filter /FlateDecode
+>>
+stream
+xڍvT���6�)-��{0���.i0a�� (�!
R��H�H�����R�)� ��<��������=;g�~��>�}_����E�H@����"hPH��cd.
+		qp�Юп`"S�
+�DH�/%(����h����t�D  qi����@XHH�oG��4@�� t� M$�"�PB��z���ј2?�
x  ))	��� 8�� F t�hg(
S��
+0B:��h���uF�ݤ����`8
+��p���x��� C(
+��� ~���?̀D
 cg�n�tD{�=� 
�
+s�"P�O��ih�ܠ�?��
�� �����_�`���`$�
��!� �0W(@OU��A���/G�+
+��{�a�`{���
+ 0��_�P
074
+�����(�+
��*��"�(�_�S�y@
0m��3Y�������8�"�t4A��=���` �0'( &$%..*���>΂����AA�`
�@7��Cs�b~��Q`/( ��	
��߆��@  ��C�`��c`��3f�
0��F{ ����1� �������������1����)*"} �� )QI�\�� ���g�����F�����&�OB
�# ���w���K�m
��t�)C��(�JHL����������e�)��/������������p���_%{�1[�����]͠6Y
+�y��۪�c�C�Q� H($���Ta>P�>
���GG�S����#Q�_/
L����0K��y��0�m�bv��uUHȯ��=<��DB�	���A�-�@}~� D ј �c ��A�k�" A0
+��r�L����7!`''L;����� ����E� �0f�`������� ;y���I�Ѧ��
��
� �(�N�j�/�_�
<=<0��[����h�P����A���ڧ-�5
+��+�x�m����bh��������F�� ���i�S�a#����C>V�Y��R�s�X*�K�{y�g�N�;�m�Oi�K��
���,q-���&.B%�D֪V
/�PkR[ 8����%�
��Ӷ�
m�¾��3�����a��i�a��;w���p�d��7;�1�Cw��~�ֻj��0*j?M����
��,�F��رRiJ<+C<�s^;bbb�{� �0=�W�E�H�P!wg�a�\�l� |��_���p��<u仙�P
��"ok*=�C� �R�=K��:s�j5ۏS�� ��T�̑n��-�&pg<z�2��>�}4�Я���٦^ۉG����l�8rlz}��v�
�q�3��%��nm�j�V曽ׅ��l��R[
�_��O��;��y`
Ҕ�Ʒ=Vs8܄���qgࣛ%�1C��:W���Y�,��JS��t�u-+j�Q�/��H�G
��
}1��(����>��T�6\��mz[
��a�m��{

�!�wJv24x���F��b [...]
+�
ҷ��M����9��m;&d�#z��?���d�vx�$��8��^��.�l!,M'(#�qZ҈ܭwQ�`l_e�r����tm�ﯶH�L稼L0|��o��/�`��$ZUc���m�N��_��]֢�Qf
�g��d�G<��n)�C�~��������q����R�W��P�n��#�|�r�� �:h��&��<��H}%��?�RS2�"b*�z$諸�5���za�����F�o��D��
�E^6�Z�:�2e����-,lB*K[g*�t}�
/"���X�HL4i���	V����=z[>k��Q�=������0����xe�M��r=.#O;�h=�vD`;_sqE�{,6խ3k�?T'
�i/>�
������z��e��ú��Ȣ
�5���(g�>ei�a#!�ɌRh��̓
+9֭��
c�JK�RT�U[Ί�SFuq�`]�E;�.��ϖղ7�~f���������Г��
�_PL�h�W�~�8<��

+�e!~+h޶V#�����Q(�'��(�*�2%�z���
+�Sd	�~��T.�|�3��V�y-
��*Q^��qs���S{[@U�v��K$	ŝz��Z��a��l�������Ŀ%�9��I&1��fh��o�*��'�(�Lu��5�W.-���w���~� c+�5��=��Z���Qk����_n2m
V}�ש�f���3Ac�y�J�ŧU�፧��?�CBq�[KŽ�Q��~?�I���ZB���
����w��
p��(sg���?�~6L�~��k=]x�����k�G��1��D�b5bx{�A�!Lݽ�j�_���ĕ7}.\
%T�ǒ/��$�M�v%c���?|��g��
�e��}rƚN"�z��\n{��X��i�焛��K�� Q���B���k�U�8��tB$��������NM0[Z>��#k�^5�!�C���]٣ߕk�s�J�ҳ��)>�ˮCN����a;%�@P�(�Tasn�F����"^���d�	Ǹ`Q
I��)�t��� [...]

�$�EnZƓ

���x�}]g;����W�A��7�m=	���*�~{읎�|��ho�������>�	Fmx�]P�ښ����؛���nSyF����p��n%��쨯�v��|�}�����12Mt;7����r�P�	�	(���t�vd��~���gc+��_�vrG���	VJ��D˼�h���0N\��f����75��e�7�,Q��Z�}C�-��0=�Q�
��Un'S�0�\��i�Y�"k?$_����Dc����u��ki˫���Lo4t��uq��_%Q�{�:�f�շ�����9�|l��
�5�Z�xC����R��*t�Y�c��-��z`�@�Ģ��z��3�.����>,��Ak�@��������9Wj��/�q����3�ě���/)��/��ς�*���.Vv7�kNG�
��_E����.�z��N��<�ӗL�6�%͐Em�f�.u�1��1�;���C$8O�NV��uȧ�I����/G6�GF$�R

ai�ֽ7�
_5�����
��������}�qzjB�ЅF����}h�,�5~���b���.�$6��n�~97����>
+rHMl����q�kPE�V�}
'KApD�2�`M�}�o�2����(�@����.G���i���\��CH��L��i���9���>�t����\ ��;�vj�
���J
�4�g��+
:��������
+��;+�y�+5W�+��^����
{G?"�-O�Qj����5�eE@����@<�"u
�찇8�U��@��Ն�Xwg�>�Xh��1;��9z�4��	�6uQO��t�!�m�̳�p�!i��N1���/��9�PG��-]�E.W�>(2
=���qm�Q';�t��baR�� \��
��qe�'��
�|o�>��p��AWk�R�`��S�6SҮ��,*Es�>=��x������/�{r�AĀ_2�����NYɬ"��&�R�����=���W�$~r�+�^����(�uea�7|�5rY�طc?�.�wƞ��D?R�N�1�LJI.F�Ί�-��%�g��D�
@r�Ȟ?ˆſP
.y��S�R�b�gC̯;�-�â`�\af6�ie���m|��G/4N?�u��7d�*�z�-����9��74�ck����{d����;��|��kt���
g�)�� �"MX���8LȨ0�P��
x��Xӈ
+K�N at 4 /�q[�z�
�j�r*˯�XA�3�z�@��/L�c��܃�
+�!�jl.���v;+������,������1s���@!�-![�ۯ��O�'�w�F����
lJ;�?�j�z�	��=$���4 �/>?���ޢJ:�/�ڥ9;�XsP⼵�Tb6ݣ�{f ������s�fVT�`SDC�����R����\��9$.1k4}�~�&��'�`��:�Ef���Μ�O��ڊH��c9|���������l:
V�,��
q��춖��
+!��
+�x���~��B쵖 ��
x(��Xm��n^n�K�A��[�O�O�_���-�32�a������T��f�w�&�DR�����<њ�o�
�S\Ʋ"[��3����Etݙ�T�M~�_�����?��U��/I�͕A~����2C��7�?�V^&�D2�M���GF�
+4�_4
�T>
���d��D�RX��B��f�O�:e��e�i����XL���<[!�#F�p�ϛ8' e�U�$�0�y��q`]H�fڀ�;'����n�i�N���v��lǺPI�7�.�6��ԫ�
��Y�pI�
hy�~q�{�🐹��ר�J�Zt��T}-�+5ĹhO7��|Zi�?}���t
%h7xpe���ȝ����n�Xnx':M)K1&����w�!�稴��:`Ktk>5?PkÐ�Q�{WJy�e��ղ�~J�����+�������+�b#sauV\�����-6������7��bg߹Nk��{t��>�R�!�?��G�-�r��f�T�q�Ue��>iD�3�1��K�D\]�������81v�>z���*s���dw�7�,��v�:�{@��m?Nx|w{�]�Y{�V�
+qo^��0�Fշ��Q%/�!�T��'�;܉]���
D�t�	s^壉h{!�,�gE0.�"�w��,WGEB[�:�+��]5��b��2�aL��kƋ3�t>�
+�d>���%�U^�?)�u>0N����]�8��1Q�{K�.?�#�E�2�*�*g���M��"��^)~(a��}B�c��eG]��v_	�f�&�ś���T���,���^˾��'�G?�-&Ū��i�&�g�w"+�d�
V
+��Qab&���=�����vy�O8
ē]�-�-*�
����J�).{H
+‡�?v������GI6��<Cؤ�/ѽ
�W�y��+���is���|��U9�t���Vi8
X&��[���q�:���I�?D���T8�=��:�V��?��G�#�|E�~|�A��8o|�bօf0tH��1�+JY����8-sd�m�P�6V̓r�~��4��l��/�%vt&!�!��&[�k�Z��T73ym��W�����m�P*����;x��ʹ�,�R�
���=�q�ϟ\� �SF��]A ��!|
;I ���J��
l�^����	\���|f|+�q�[q��5���'�C
_������Ӥ�
�YN�v٩��W���ckPذ���y�;��g�/�X��
/=}�^hL�-=�V� M&��E�y�{Zr�O��7yS3��aOp��UP!��ю�d��v�߰У-��l�b���ˆ�
]�r�!�����C�6�Դ�cK:ex�#�vxIRq��|����g
�9*��&6�
y��_��;򸮙Yd��T��5��C� ���i�U�A��^����nz^�@�/����
l^�*@R0ߦ`�Lx1كY�{]���o�yg��	�
U at KM�q#u��g$K�dє�o�4^ZY
*?�& ��M��'��?^'Z�fV�E�'�U�u:O��1�_y)�%�>����|�Ҽ��L=�
0>��x��x����t7m��-uCz��Kث!J�.��;^mi��˽���C4S�C~�ԟVC�>���f�*�mW)#�l&wm��

�
���!��n�{��x?{�M�
uU�L�r�Rk3
d"k�S��:-�\��ן��DN�z�䧯^s���G�<�+	OӾ�
���m:�a6�L�P��G��
q��Gu^�B�U�
���*n�
+q K�IF B"
�P[�)�������[
+��_�u�Ћ9�'<����_a
��i���%!���CJ
��0��Oe),*���C�w��UM5i�HK���Z������qIy����H�=�
��
+(��L���E m�p�� {�� ]�R�0�[�^ɮ�+��6�]
1],.�is�Uy��P�6C0��^�X>7�B��1]���,�TQ���ܡ	4�w�`h�����Z��L(?�r�[����nz�rD��������\�ό��~����>����Oq�`���cNs���$CYYS6Ƴz썸v�J�H��͆�0��ƊxNf)<�ek�A0�_vQ��H�ǖт�
~tl헥}�
+��
|x�ձ1���T��X5�V����/
�솂��&�
í��2׉�����{v��TLX��?[�V�Ԯ��W��7$��
�<rQ���_m�����C�����
ǯ>\f���d7�v?�C�
G�ulū2��|l[�i�-�3�ݹ��hQ��k���1	�,������J�
�Z�Iz4�CK�8�h-<�̱+=Tny�{�,��漶�[�vL���|a%Ϝ�,�\��������,�{�b�]~I*�<a���jqD�.W'Ą��'�ٕ�
�r_V�8�::!Z��߱��J-��{Q�dҌwE�7|�ByY��D�$�����Z3��G���O�?p���>8v�[_�Js�>��7E��x
�VK�wƺof�<JޅȬ�d���
#϶��7�r�fI��7cS��b���\�)�@����;v>���+\`;J
a��������N�U��=*hH�qz����sF�s�f+�
��B�?����1�Ӷ8-*9�{G(��d��j��{�JԖ��ԧ��뫪=QB��͍��!9��ύ�,]zCM����5���]�E���Si��g9�
򐬰ͭġӶ�]vqm�
��J��g���%�6��V��4l�j�jM�u�W���1��T�b,����޲�*�F�w=�Z�(3j\
�V�p/M�E,�K$d����h��k�2���G�R<��K��J��w���퍑W^
]Y�*��O%�H���b:��	� ^m�O���GX�Ot��\��a��vޟsP4�f�e����Y���
�]:��3��_M�Z����gF���f�M�ӃYd]O+���[
+���Ұ[�!+�K
��۞T�Z��cyW!�DH�����Ji����̈́�X6�U�j
+�Z�7�X��s�$��{vh�����mH��G�(ё�ǀ�ʴ�3��Y9[�X���v����G�6��~�Y�X�G֡q!#)�҇�(Gl�@���g3����K�����
��S��FO�s�oO
?�X���`ƹ�#wY0
�+��Y���s�!�^ ��F!�e��D��z���P����ޗ�~-F�lW�$�[ɼ"ъ�m�9
=2�ٰ���@y�f�z�K�7���9m�6J�g�M�2��R1Y�5cK
+���%���'(������cKǨIwO%�ip�pVJ�<�P����
��9K�s��_ګW���:~���;�l�
+��(
=M̼�m����9��+!
+md>C�<]�7��찷KӦ����u�m
�F�W�и�E�o�G�*����k�%7�.]g+QӇS_yR��R�
�-O�;���e��O?)�|�Z��8DA#���Q^�ǥP�(�tZ��
�ٕc׾�f
.h����R� =�]E���^H ��y�<8H�&���*��i�qRRYL6J��s)h�
��.����Lw�t?�8� XV�\�s��}����|���r�4��B��eR��^v)\Qy
� ��%{�7��D� "�V!�A������
�`��?

>�%��n���nTP
�q>ҳ1�*�h*��#�f��1����p���0}�O���r�~�]�l�
dJ���<-
K_WZ�86��'<�
��D-8����SA:��i:$��u����pv�\/g�!u�k���>[�v��E�9[4|r�CYşA/� �1��k��n��-l
�
+�
!@����f��6v��uh��^0Q;�!q~�U
,CY�3�t[��l`{������{�x���5}�Ni��<�d��%C��H�P�#��B��ҕ�9��ѩ��&�@����"�Wi
/�C��h���6��$�X���o”���쎲�l( ���R*[MN
�Jj,��
o2���9��o^�
� wtd�
@|u�Ӑ0����`ӻ�B�D-:����*����r�|��`�\�0a�sT)[_G�_�A�(�u�
i�[�98�K_��_-j���s��h��p�L�?W̏Oз�ħ��
N��_=�Z��I�_�,�!�k�\P�
�:v9]�o��%|��LW&j.Hm3���GM:��	�_V��U�A���`��2�g~�t0�o7�����W��y�z��;4b�J
�
��
8"gq/���j 

+endstream
+endobj
+20003 0 obj <<
+/Type /FontDescriptor
+/FontName /TOOBUT+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 52
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/infinity/paragraph/prime/section)
+/FontFile 20002 0 R
+>> endobj
+20004 0 obj <<
+/Length1 1580
+/Length2 7255
+/Length3 0
+/Length 8316      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�m�.]�堀�0tIwJJ
� C��0tw# �"%J� �)�tI#݂��?��~��~�u�z�z��v�}훅IK�K�nQ�Ð\��<b 9
]#a ?7
�
i�
&`ч ��p���R�C@@H&B��4�0���=���+$�+,������[�ȃ\�� 
n�*
q&`��;z ��6HT��l`v ������� 
+�  �
�
����P��_.��m�HG1 ��͍���
GXK�?�A�6 
�3�
+��*�� �S7
@���ׅ[!�@ �C��3��f	A P��*� MG쏲��ǀ�z��������9��~��`��#��Y������:7�
� �Y�R�;�Q� W�
d�R��9�(�
 �
+��<g0�t�v���*��
��
+0K9���t&���<����3Y;�
����
+
+���U���#�
��Q��K��YC� A
Q!! �	 q� ���p�����Q�x9�
V�" >P+�C��
r� �������D��
���� 
�5F�w
��sF
u���
������9�^�p���?��
�1PT7���S�d��pw�� �KT��ˇz	��|���?
���ߨ�Wr<�xT�Y��j at 5��:\���_+��w��p�! ��o�#�F�x��������������	)��������b����/�]���Ѐ���ߪ�?�����8��T	B��
�Eq.^n
�?8�Y��Ԃ"�6���(P1�0�����AY����
�u`;ԭ��o�T��� �-m�� �@�<xP$�x�������  7
�D� P5� ���_c �A�O��< �l�lr���
+��C~��0Q 
+C�
5��A>��=*]��
j���(n�kĿ.��a������5
+p�GB
���(���A����N
+�^�#��/�_M� �\sձ�Ͽ�'�
&������V7�W�йq}�Y\n��3�
+D�N���Q�MWu�}aYJݟ�5]
:2�MDZ>�nږ�����DS�Z�=�����f
a���Z
�D��
�k3�}a�e������v������f�
c�
���	S2
2F&�y#ʈ�y�gdJK�0Iu�Sy6|��=�m����X5�M뛟����J�?~��Q.Tz���S�)�?�3
E|�j�3����⤸4��
�U���̱�4<�"z�~h8zB��pMC�� k�8�OO��,�č�$M�GZ���(�o^o>�P���8��:�2bΊ��|Hݿ��&��`�t�L�T�2ri�--αA:���v������z����<$:�����
�K22j��G��S�JG;���� �D\�
�
��Gh
+&������
BŜ�{���ً��
+_H[������_�j���^F+U�.�|5�1~���X����z�/
�����I2\�{}O֢Y'��k��;�;���5�TX~d}��\���t�J#�k���&ci�
E��M�NK#��)Up�
+j�g�(=��ݗo��-R���*�$�zE�w@*�"��(�"��C�9��Q3�����v�K�qƭT�N�ٽ��Ջc@f�ݐ,箯�����rp֏c݃����ݱ8�K���t��wٕ{��O�@It�R���O������~ĨzS�$�F�^���!Ƀ�
�Ɛ
�ή)m���Cb�?,�7t��l�@r����:I�>�,��4߼�y�X�6���r���E����
�?��
�H0�ۚ��CM1U[�����N��!���f�F-�<<�C}6�M���A+H��x�\e����8������9��,x�)�7w���E,�x`�~�An5
�o���R<g��(��5���;
��X�=a�W��_��}�~����3;�
v5�0
=
+�>~�qq�rd^x�v�1y�$
D���tZ�
C&��t��Dxۏ���(����0&5$
����	9�L��Xyz
KE����!���d7��U�#���HZB��������Z
��}
+&�JP%�%
s{$��C��5���10�Տ0��XB?%9�pe�ݪp���8����/��г�9���P���]x(Ϋ��jeA��Y�M�{���əG�:����!�$�ܾ$]����0MS�-���ֳO�q�
��xNj��w1O�
be���s����
���;�ڍ�g_\7�UQaU���N�b��B�D�X[sheG�z�	���#
b�h���/p�՗lW�-F_�y�B��F�X�Jy����

��Sޏ��_!�� ����{u��fϯ
鷆�^gh%
�]R
+
�?�H>����'���t�Zl�^0�?[�&�m����P_���w��i�T��草.��_�ˤ�1-7�w/��6��v-��9���Ζ�]�ICQ!�G�[�I��x������$��n�L�C5�{%˃���/eWa

W�����o�&sz
��Ը#x�$Cu�I[�?:�C=E�|%�z,�F�'�"����fv�׻�B����7���{/��R�F3�b��KF�`���r��zd ���7��
��^��^B�*C옳z�*�������������f��I>\O�0*U`"�W>��b�s�s�;�
�}J��
�%�2~���="~�A��=�����ZU:�W�Z�Բ�����ţ��S7��b���)�:�`�����^�
�\�ȡ$S���n��0Y N�9&��n�ޣ�}{Pr�]W�P�ߒ.�$��3|��8�%-w
"CC�Zv�F��K3����=4�!�]�J��!�K��C��
XяJ!�ς	]��@	��B���M;(*Z$�
�����X�f-�ofT�(2
K/
������tR��;H�T�a�
+2Xb�^z:7�����kQ�4���Sf�A>��.�N
dH6Dr��3o�ש{��ZN��]`6�Q�O#��M�fV��
��Ң�[�w�����A������A-�������}��t?>[�>�l�S<AI��sK�~���!Xb�,�_z
�H�� '
ؙ�7U&RV������|�X��ŮeHȤ1
+׆Y�XwsFʓC���Dr&�/�,�~j�dpm=�)V��a0Pd�=2���6��߁c�sk��Xm�]�V*!c�$ym�D6o�k��&��cX�yC�l�-�����]��k�EX�)��
�U��^)N.��[\k!
+�Q��v�!I�/L;�DkϽ��
~�b[�x��I܍�,y��������$��,<TB���}��,r��-
_��H�a�5�9���Y|��� ����<ߔ��)N�v�Ǔ��yĹ�5&l?�Q0.�(_�-��l��
��?[}r�1ʖ���cҭErC�ŃG]�
/$r���[]���dz=��N(�A�	��a��4��?xFK���KA�B*'�j�TU�|��~��t��
������e)�S�����J�Oh�ݶS���[����ܽ�-�N{��ˣ���)5
�`��ԟ�L����kP���4���A&��f�9e��O�|�����g�,|�6��)T����{�Q��
�1�z���ҹ�L��p���MZU��L>��KNAVܚ�e,e!�O�8�o�.��bv�\?�+�(�$�
 *k|���!BM��Dv���k�����ߤKP"x�����S<���8w��9H8o��d���y��0��c���>W�4\�{�1E��Ɂ��e����gĂQ�T�w [...]
+��h�<�X��Q�E]צ}95�*�����%�7�{�z���|�����kC�k�*���M����\�[�P�
��iѷWyϷ��(�g� \��^g�bU�E	�h9�Z�b|�d�+���ag�w�IYq�WN,=Ō�}d��:B�����5��fǩ�Ir�]�xm0Xxy�9 ��Gy�-Y�T†=�p(J+��=��f׌-��2Ҭ�3�coa��[I/��7OXu����b��Q��[�4�FM\2�!(
q�����`h<˘���X�d-�9��s蒇���6��;�ç�)�c�BC��
{�W�z�+u�f
Yi}f��;@0�_��bl��B���=f2����䢔��}��{Ou�KG�CK��ɥ%�v��o�c��9�Uއ�kf�+�Ԗ��'?
%�7a����
+��]b�.�����*��<�I�?���wg�y�~n�|?)<|�=��㺪Ck򢾆1���l{
g�����b}@2���9�c���ׅ�[7;7¨�bk����e��`f�
�N8�-��'Nctf�R�������҉|��d;��l�(|*�d�
8�AE�O4�H/�Z!n�4��{1XK/\����~��
v9��*!�9�M�`�3V&�PU at o�(��Vn� #�N�Pۦ��ه��⢐O��
��Fy�� ���)�G�S��g�Zے>9�<wB�kE�<!���N+��&a8c�8�a �[�#�`Ao�#c��~r��-ddG��4���j�|�T-��#A��
Q�@;�x��}��������
�u:�q?��A��=�q����7���:K5
�߸"��� 	���,/
0u����ɂ�	\�}����׸
+�o�a
�D
��
7�b�j[��Fz�-��gy�(�����v����2�]R����G9��KuIO�;�%���P$|8V����]���$��ZtK�
imy%}�q�G��#���
+^@]�	)��G
+�YoN�Ϟ@��ƹ�Mr��U*

ڵ2q`
+��l~��#�4�r�i~�V�q���O37�`l����~
���
�8�I0�n''*��^��&��׿̓����2�ũ�e�M�����(
I���:�d~ �O�A�{�zcu�E(�ws$�gW_SY,��,�V5�-��E�n�->9T?p�\^b��>�Y�J�;ﮡ�N��ީ`�N�OW]��$��:N
+�S ۪_7�9��vh�c��s5F��V
�����t����*~��Z�܉�o��;�ِ�
��-��3G�����~�A�)��XEUC��˄>z�Բlfu���Z~��F�0�E��8<��	�d�����EË2���d��x�`ٚ6/M��
+7��FKە&r;f��8�g�|%�ǟmac�Sf���l�Z<��S�\J�Wϯ�����h�0��QM�
�˖�徔�y:�{d�i@"��̺�\���;Xv"�Lk��yZA�
)���[�Γ�\Hu�[#}�.f��1 �>�lJ%�C�7��h�˽#�K�L��R��y�֗���⚮�}�ʽR_�g	+F�
ǃ;��߉;+Whm5��
+�\`��W**5�f5%���%Er���]u慙~�[��;%Zf��7���z#n^�<'Lݿ�f
+�b���1,C�f�6
� ���u��jg�tF�x�b�����l���*�g�`�K��3x�c!�v5�:{
����;T/�!��&��>�}o|X��y
�Yl�'ۧ������R@�=̒5_�.=!��EEw�d���k�r8�	�͝�YI;�4I�3��F���j�o���se�K2�D�l(�/_�C�i��E��3�k�I�s�
55
[aId�I76� �}��
��?�6��Z���^k/h���˝��߳�:��p�(U2e���C��
^}|v�9�RV8�!ۀ
�$hܾ1;�q�|D""P
��`��/]+�ŻC�sAO6j+Kg�p*��_s�HfU��}��׺���{CG�g€�!��QZ�x���m�v��E�
�	�
�����hs��V
F�WE�]��\�%	�R:��V������uʁA���
����R`R
8���*�T � 9E��� 2_�Gd5=�=L�Ιܫ�#6�n����v��LC
O{��xe���}�Ն��5�5�dIim8@¿g�qs��|{n_���{\*�{+��FA~#>���åT4�)��r�8�_rxj�gK��I��kjj��
x ��6�� 3�y�%c̽�Ed|�%�M"sY�:�Q����[��f�(vm+{���/�
����Z�W�h�j���ѿz���x=₈�����9�1 ��;��^ZR�������kf��`���xݓq�

���#����}2�X�ϑ8#�2�% �pǣ�HҊ;��3I�Q��畐�O�m��}�Qp��i�
�*p��V��~�y]�o-��Dn��S�0	?�,4��!�ܽ�a���z[5��
��Q�Л3 b�6�~0u��������[��S��oJ
1.|'�7����O��<;	U�m
+�%vUZU��0����ٚ�n�M�YKG��U�C��9��{�YB��7*�#�A�b]u�Uat��xK&y�/t0�Ax�[-�P���
�ۃ@���2����Igc��"���E�"��Cn�ݴ�v�6

+�I֧�&n����vؽ^�\.jY*6�e<�
p_��	���K:��� �2��;��d�e�����K��6��ҳ�3-��كv{rGTO�-xb��?88�_l�Љ@CS���>��Y\��)2A���;w�C|'͎1�s����G�@�5�* `�jn+�V�+�j�N�Ww�(8j82gx�}B�3��
S
7ڱ�9r]�<��6�Qc�H�ڎ�ѽhר������A&MHO�*2�[��T��11Kv��16豇��'S����\;���}���[޼��5��������7_�~��'r"����r{��-�3��j�ϦM,�zs�ZV�r�=b��$�v��j�w�"7"6�^[����Ї��
Wj��$�������]B���A��������[_W>��j�;/T���{)V����
~��_�:C���n�	�}͙�86d�\-�Ƣ�
�[��SS�Wpu�BnZcbHO���ͅ����n�Z��
}˞�P��͸��M�>��T
��2?\tݲ
8�o�l�
�9�E�>��IIVܿ�ףn�-��G��V�Q��L�ޞ˜
+��8����
��!?�q�gu��P�����P�%O�Ǜn��'�YO1�{�e=�r$�.��8�[_"��q)��Fg���#-�g��3�x�+�(�k�b�Z^U��X�(]3�BЍ�$7�F��ٓ8*���c4��#�je
DRg�{��������w��u���شT��י�_MwWr����K�(������<0�ۈ�<ru����
>.��Z�.@���@�I��i]7�$j�#�=
�m��H��
<��N�ꫡ^O#KHG���
��&�u��X6����T��
T%�/�j���w
���*���0xz���iҨi�/�g
��<o���^���(
5�	�?Q^��R���A�Bh6e0�m�H[칗�
PU_E~[��?��:q�}���o�m��l�h�ԅ�rk4ӕ�6q����
+��K���^��&�+��	�&7*���—r�nF(���9��f��t�&��y7�7��N}�G�&�5ҩ�0+n��{Sq�"7P�����)n�pwԼ��I��vٽ�'t������~��Yc°���me�q��A:�
���;~ 
�<
F�`QV
u�|��n*�)�6#3�S?�,�����<
��f]:�
+ݛބ�18Ap��j�E�(��SS8,O���� EkȻQ��œ�3����ˣ@�
��
�I5)%$u��G�j%��hJ'��$B����v%w�Ȩ�LC��D�[{<w�ZER!�.��|�5A�L���i�
�4<>�m�w�����1��
O`��ǥɦ��FɧQ�� sUK�P-Tr�_|�.�
�a>9�G��a4��m���.=݂�Y:��w��!����.��='&�����l&�~ߔzh:�NP�\�rsGE�����D��#�z�vQ
+_-6�����Q������� �u���x�;�+�߃/���0���
�D3�]
?1�+�2��dj(
>*�-�5�*����z0�%n�!^
��.�irV��C�VW
+�{��6���v`�^傱�L	�B at 2
��x�R㖀5�k���}��]�,^e3+�G���=t]xٓ-}��tK:�扛
+E^�b��ɀ��)����yM���7jAVQs:T�����
7Y���2�
+endstream
+endobj
+20005 0 obj <<
+/Type /FontDescriptor
+/FontName /RWFLWS+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1251 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 49
+/XHeight 431
+/CharSet (/V/backslash/element/infinity/lessequal/logicaland/minus/multiply/negationslash/prime)
+/FontFile 20004 0 R
+>> endobj
+20006 0 obj <<
+/Length1 1463
+/Length2 6796
+/Length3 0
+/Length 7790      
+/Filter /FlateDecode
+>>
+stream
+xڍuX�m�>
N�	at��n�AR�6ƈ
�� �HIH�"
"%-
"��� !�H�ߌ�}��������
�v_篮���
������F!�"� 1�����
PLL$&&��@`�a` �
�A��
+�������8L�����@}ow��$P\FA\VAL
(!&&�w"
+� �� �@#P��a <(O4�ō��� ����
+�*�y��	4c]`
���;�
A����h����z*�������

+
W�"�. at 3���A�?	o�=`��� <@
�7n�r����0 pG@`H
��	�����@s=C��'
�;��w�0��� �A��j���g#�W1Ayx���$
�p���
AX?�0���L�cP�z��v�%��9��f
+�������X
�p�IQ�g�)k!�(��ܟ&
���_��ͺ!Q���?
g�����S�����i�I�A�cp(-&/##%�ya~џ�-�=a���?a
��@O�'�G�p��~ ��
�E{�3��@\
E@�@'
���;�9�^�.��ډ�'���דN^P������WTS��L�J�7����Q~�@I1����4P\\N(++
�g�
����&`ğ͉���
����wx���#
�?� �s�-N�0 ���o/&-�}���
������]�7�������������0����''eo,�F(�9���j
�me#����Q=,g5$
'qq)���o
��F���&,�巐��
+�
wf�� ~�qpUbb�ù�{�`p�+Ù�s����$�e�`4�ÉL��@q�M�0�_����(,���
tF�?�U\B
(
+��8ڸ�L�o
����$P����`O���ŀ��+r�	�co4��_2�m����W
�� �M� ���u���5j,�"�GH?�ǥ���Jcyg�����Lz�߅V^�2�}=1
�"�}<�gߙ�!S�1O�wY}G�`�d�c����c�Yq���RMoP޵#��{`=}
%�%�V�Z|юY���z K�82Y�����7	l8�?bm쩒h�v�-�,�.IGꭉL'��vIك

���z�$w

��e*�i���9�����S��0x��҇�2R8��zD�~ �v���o~��3������ݤ�A��b�>;�/
v��[0��F#޺[ I;]�����H�Y�.�4 eT�Ժ�$�lŚ�үAIFQ���~�ٯ��լM
�U�
+)Wx>P9�����}��W{@BYC�p��6�"�������-x&��]�k�0�5�[Э}���ԙV1�J�^
����n�)�?秸����9v��$"�`i$�y�}�8C��3wM�!f��Ҋδ��6�'�G�J��}\s�&5}���
m]�T����ӶA�0C�2���}+ap7���R�H��/�ݳW#��7�y����)Q4�

}x�H9r�|�j���^Bx��e(qw��K���=�_�$�6�>A]j�aq��0�Sd�n���4;�������x�p��^%�mQ�J�����t��i
�.�a�?�`���\�
�
"E������R'�;Y�O&�ڤyf罃|Z�ܵw�'��ʣ��&�&�L�M�����*����.܃�Q9=Qe��
W����g_h��.���M�M�㽔��;v�Lm
�����>��6�-Kv��p$��0�x�@,�KZq���b�K���e2;t����G�t\@i���(s����tF�Cٱh�Y�7u�6zөX���wDaJg^Y;�����h?z�ԅ������뿄)�Z���P
�d�IM
+�������%�

�N��fQ�2�y������?05	�d��C���_SL�dr�~�t��G���b�X�
I�����IӢ��Cg��'R
�?���Y	*d����x���ތ;�
I!u0�.���L%A{vL�&
{k-V:�}�4���k�|�¾#��]�B1DvJ׮_�qp�n`�
L�O��? �W at S��Gٚ��H�ri�oa<�8D7�
<�R�eX�o^�����ɠ����s��m�Zt�s(��38����;+���J��m�>r̞�'�+-k(N����nh��`2Ag
+��ĖH���m2�c�C�
4[�6
�m�n>�o���JCy
+Ҩ��
8M�(=h��#�%P�an�t8�!���4dʹ�_ɿ��1q��6�8`�\��HQj%��q���7ϳr/uM 
%�l��
=���#�!Է�Nz�5����f�4�n�����b���pL�l[o�x����#�g�����xHw\q�C��6�;�1�v쟿X�ZPW�܈u���U����pyY0��gr�g���cv3|�+��6�s?�*���Q��
WD�
M�I��J�0������3O�
8m{�C��Lo�����si��^�/�j>y6#�[����.�Y\��8��G`-1����Bm�)�=Y�����L�
�#���"#M	�	ֳ�bf�T�K���Q��DjN�e�"���^N^K������{c�m8ض<DMgo9���u�$l���Rt��a{u��K�
�人>�͘�uD��~H��Si��k2�?fR75g���J�f'jm�?���
�����dP�}gv
�j�+��\�r�	�lNA�8��̈
�K߮2x��|��9�s=
K�G���+��
n���ɮ�˫6;ľ����%]�z,���ۮpEw�G
��8A�� �
��-��o'����~�����
d�}�
+�&�-�y}�&�A�P�}��"��Ҹ��Qu
�2��%qmnZ/���J���n�
+W
+�1WX�ۥ�@Å�
:g%[���
�t"X�n4ߡ)�uWy�._��Ǐ���
z�|ӢXW����A�hؖ9�̺��_�/K}�{\��*K��������W/�9Y�Z8��MXI�|�D�u�g�_
+�w�
gɌ
�_&R�1a�p/f���d��c�apQ��7���
s�	�����O�<nw�]�g���}۟�ĉ
V�i�5������%K���+���a�
��	Fi0�E���o�J��xH��{�7B�{�����^��A��E=X+���i�j-F��"�
�?k�L;{��
���n�i���-a蒲��0���
�b*{��(Ke�'sh
|�V��:Ft�δip{�
U��5_T2	�}H�mMBn��4ܬ�#C�p_���"^y��ce at hőKfQٵ�
�e�J���,!����8�+o^L��â���2��Ӫl�N?ʿ��J�d��$�ɯ��h~�za��\^u9	�JΧ��Њrsg�:�P>��F�6�f�P������㪇��4
�����q���i��y�|����;�p'�u�A��Xc/~h
L,Hyska�TO�(,CL���16���ׄ���tk� ��C�걻?�*+�� �
gYT��2&ԛ�G荸�
+䘳�Yw�:^�
ý�5���cU���*ZOA2+�.�I
$*
Q\v|�t˝N������U�=gõ���٨���O����S|�imGwDf�
^y^bqZ��2��?��ĊJx����)��
Oo�hN9�5:�,Z�u���/qY0��~w(X���qrh�E)yFe�
<�@x�4��8]'�� [x29BP�΀�Ǘ黻�
'FY1�kMEr����̢����:.3��)����I4�D���*�C/F#u;�r���$Z�����*��a4@�٪5����Fn��o����c]�W�xx��H۹�Ų�G�X��e�'Ɖ�	%6
+3�BK���b���@�1}00+�s�n\� 7�х@x�\V��KÁd��سRq��i'u�\��.�
(��u/����B�{�`}�!�a`
5e��g���e
,bo~p|�<���EJ�}y�M��V��1bI��_ZHn-O���1VƧ|G
�i�yz<S�yw��҇
,f~Q&n�ۚ
+������F���M%S�R�
p�>�
+ֱ�ς/#_�>6��,jYl)}�9SV���G�s�WM�������(��f�����	����z�S�˪6���ό7�&M
�,�����3X�{��
+�Ca��d��4�'
��N�x����>����m�i:��_���y��
,��
�g&T������LHg5�N�5��X�����@��؍F����'�*��3�dfk+J������8}���.,�� �?�h=.[H�I�
7�4W벜O��ߧ�Ԝ����ai�n��e�
���ٕE�I�qf� �� DSDS�Y����)pk�,]��ޯ�%�I��W���_�v��RpF�[
+�*NP&��\��DG[�۝�dK�Ѳ�a�B�^�ب߸�8���k�O��B����P1��
�
+�����(�c�[FHV�"�(���c
������̈́Q`�j�Mѽ�Ϛמ�

�%��p�қ�]p'�U�%\��rs���g��H-�}i�G��GQݥ���x;�MmEȾ��7݂�������)�\�-��(:7K.�1m:}[��q*7�1�|��.�o}�_�����4kZ
d�gB�?�l
����w������Aq�Jƕ�������d����WA��{��'\D��uxGNE3��0C�B�
Z>3��}�=M-��]n��=$���ˬi�g{j

+
+s
+��\��
+P���
Sn�</HK�

������{������/J�(��;f��Cw-s���31�.�1��`�x,s�FG����ȋC{���c���̵d�l�H|twM���|5�{�Di���a���G�v��7"*��|
s��z�:�5�O��Q��`6Q�y���<�VZG��)��(�L�J��
�`b���{^�ԞV/.,Y� 4�W��_�k��_�m1GU�GK����
�g�
�&$���5
+���pZ<K�׏1bݸ��S��I{�A�F�e�&�W�@���6E~TN�g�� �
�֜��u�k—�S�^�������~��dVE��C��j���9g��kϘ�W�';NQ���V�����T�^4<��]5""�\�	������ ��c�k�#�
�2�1=l�%�� ��s8JN�j�/ņ�nH���Ӏ2'�t�
W�.�%|#�������[���#�o	�m�6���=񫆣�0��o^5]��(��O
&:�2��a��"{�Z�敏�1��'�
�����V������,E�
&�����X��/�r���p�g�Vn�z����C&H��;
���#��FR��{�=t���
�$q�Ӆ"Y�lS��F]��^w
s�G_��.�I�1�v�/
��B��x��hg����9�d����$�������f*٧��A�
e 	�Up|����dpebh+�n�OR�^@pR51͛��GV#���kx'����� !��<����@J�B.4k#���L%�����݇�rn%i�_
�=���
~=*E�j 1��q�z<��M��^�u'�X�d�pq�
+�q�QVv,�
+��EvK�4|�?�2�� ���_QKv��P��C�N?,x}�X�C\��9� L�n�&?���ڮ��)��+����
�4�� �
����j�I�7����
��y_[c#�> "fr�����K
+�Wc��D
N���fL1[M!����c�y_�&F�wW��+��5��T�l+^/l���}�
i�`ً��F��^iO�/V8�@�����g��
�ݙo���n��
+s?�ۣ���W��-?|{��/����D��f�p����i��&�
���_��k���l'.l���Ƴ�|
�a|0�;���oo���Y��a���w��4�'z���2de����
��n��nr��������RxLDŽE�����g��K�L?>����P�
s����y;�a�l�0��]!������\�
6��ʹ�c�r��5�wb�l�"��0J�s���?x�Ŋ�o�
��V�������[�zT�*��}��b�.ɢk���������v�:Yu���Eϰ�[�BW�?�PJE0}I��687
/�q��pG��,~�7�<�d����Z�^c)	^�UՈ�m���چ�Wg}��&�K��V�]
TvKZ���)�B�r�lN�ܟ�Zr]���)D_�{`���>��%�
N鯑��
�/��׬{H1&��i��N
��Eo����i��p��	��*E��ϘI�"��*�
��J/�4���y�Vp���akup{��x#�S�v
� ���,�`��'�x��2�ևo^F����
��h�Y�L����*��0X�I4�_��B�	֣�k�����r��U�+�!YI��T��������m1��/��\
�+���I%���aX���k���k�^�3
+)Ӈ���
�
�3H�&����A�q�����l��}H��&��;���6~����Ʊ�y��a'����
�g��j̔��wRȔ�vDr�����5d�:4~~��S-�����#�X����V<z���jk�o�h�:��L�$#^��/�
j�8.\�%�U����<���&�H7��/�&hW�ҵ����]����5b�u��
+r���
'�9�(�(n��_��R��x}U��ጽ'��Pe���ni�dؼJ���D�N-͸�Dj��u�hE;����&U�
�@|sf��X�	;� _I
����Б��
�������B�
_Ǯ�Z�}�E��b��x5+}�����x�d��%�YC�iP�
E ^�N����`���h�>�=z�^�mKV�y�[0s�%�J�Q��8�� `my���r��
�� 
G��B
Y��6C�_��vʩcDONX-x��.u�
o�_��
��4�	�m�7�J����S�!
��D!C��1_o�j�
+�B�1�`Pu
���fw3�`�lV��v����I-�Ur�⑲����_68��Ig��>a��IN+ܶ���y�����늘|��d�$`�}@0z��Pm���|:bz{�wә|�&|$LQ;�R�zmu��^D��e�
��PυwuCц�h�[+�m%ƫ}��Bߓ��U�7
�w� ��3�@�E��A��ث��|7��4��V-<7Nk>S'��J0���QGa�r9�>z,V�uޓz�T��,[��_�I6`9�H
r��&B��<NPXHP
tW9��
��N��㱢
E�s���r�\.|x=�f
���
�=t�e��F�w��C�3�Βx4Hv
��[P)�����)���/d����孤��2mT��f��Δ+��T��`����k��j��F�E���'�	5���|�7���cjac��!x,�;�8e��Z�?
�Φ_�*�h�����K��d\�cxN}P�Δ&��ԛ��9a#�no��V����W�I�3��o\k/����k�
��nmgOm��%2_X���Ũ@tE�>EJ�%2�xI�#��!4�n�|��J���c"�$�5�ы	ڬ�p�{�
K�~�\�c���{�
��W�jRS���9H�����ܷ�9�s}�x�g�%Z�#��B�#�u��.�
Z����)Ց��)�
+�ݘ� �k%�b��
���%���_I?��0h!OV���[���U�݂��6��w)��)��NM؉�i9~?Ts�$�kg�>�?{��a�槮9��|]�TU��x��rE-̐:H@���i7�û)�V�ճ)��W��Y�8��R�
+�z��6�j�[}�8䫓6|��ܨO���7�8A�@���E
��
��t�i[�o�0�2�okE��)���5u�ɽ#���Imަyz��!�v�5*:
+@
���/C3 at L�#&M[��Q��HZ/���"B��hkw�<���7�a$}p��� SZ�
+endstream
+endobj
+20007 0 obj <<
+/Type /FontDescriptor
+/FontName /DFVRAV+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 46
+/XHeight 431
+/CharSet (/dagger/daggerdbl/paragraph/section)
+/FontFile 20006 0 R
+>> endobj
+20008 0 obj <<
+/Length1 1587
+/Length2 7216
+/Length3 0
+/Length 8262      
+/Filter /FlateDecode
+>>
+stream
+xڍwT��>)��5���-��2����6�E��n��NA�$D�T�����=��9�{v�v��������9��04T� 
�HFPD(
P�3�� �bB@�(	�)
��	��CQh!��((���@��
��D� "��"R�@ @��������`��@���IxT��(��3��G ?�@DFFJ�;@�
���A�
�
u�f�� $���+��3�.+,���-rC
!QN
+� �0�3�������/� }��eB$< Sg������ , ���4���� �� m]��;���?� "$�w�?��!~;��`��;�
C8
ap(�@CW� ��_� 8��y�`p�����A 
e# +�Oyh0
+�A
�a�_���޲:��ts�"0h�_�S���`��
+�QYW����#
q�%��.l��yxB���4�B$�`NP
@(#))@= P������ߤ�/� ��
�pĊ��
��4�

+��<����I���DD ��1 �
A�Ot,
u��
[|�`
��� �����-�� H�����ֱ2ӷR���9��_PT (#!
�HII�
��
�K�o���p�"j#
� �?4`/�/
^���#s
��
�Hl/C����
P�~��������E��Z����	������
r��}�4���';zH�p �����(�A!0O��f�1 �x(#��-.(".���5`>P�!
v����*6
��"Ѱ_����:�+v���
+�
��UG���_�'*!	 �P _ ��D%$ �"�1�@}~�7 at X��`] X�� G$��WY� � 4V3
튭��/�7�m_a0
�c�b��oB�/�
��D�c���c`����EI�Ÿ���A�������
����M`#�����b��Jv�
	���_1 ���
��’�[{q��^SP�L�q	�{�R���V��[pu���bGd�e_��w&��Y�(Ss�C�
R�0�f��,|b:���׳Q���B�R�r08�}�*��y��^;A� H&�1���e��#V
+{kk�$����R�b��k�W
�u+�m�����#��T9�c/ڒ�{3hiCK��N�4�6�‹�Ş���0��.[�f
~���ٛ�4���{=5�U�4�7�t8���i��4�qxU$NT�R�9���y����O�y��/��䤯Jj4�³
�%)�T�e�go��j��L.O�z�{H�l�
�!X�s at ua�&DuI��h���s0ĝ����@�S���AB��
��'9K
� �*o�6����Eb}�������ʙ�^Y-��()��������.J�}�.�s�s�F��Js��V:����}J�
+	�5}B�Z2��1[���ѩ�SvT�5��}T���u�V��ʇN�_�
+S
~sKO	���U��4���s_6ɀ`���0����J��2�[��x�,�£��="[� A����C�����}��G��/S����1������}�:zlJ�5-�IV~�8�er$�~��z�O��~��1F���c�?�W?vzyy�����yȂC����[���������3�+���#k<}�Ծ�7#ZP��{��i��`q�
�7� ��������
������������@��eWU�ԯ����\y��xk�]b>ߌ
Pp=�0
�ۭ��|b���t�k���.P�Lw��sU�e8�i�;�qIP
+��!�-t,��`
ǚM�&�Nsr[)ПG؞��Ze��v%�;�CP�#}7f��=��1@��F 
-��.P%RZu������Ȝ���w�~c4�7,ߢ��`��ku)<��:����d��S]�Kg��	H���
�*��o���'�Pz�{J�>8��wOJ���1� :�-�]��
+��igmĩ�}d�)J2��g��l݃{�I��x��C�\��M�,���]Od!�

��
+N�:3�Ƀ jytb�Өi$�ꧤXP�׹Fs�眧d[�[J��sq��%�d��T3�ol��f>_�%f����������K��I�MQ����}�r���$�����O4��W8�7ajle��VFW=�f�L/�U,
jB���5�J�	�%�9��^$v����H%�X�x�4��Cp{�^@%&*���R���o+l��!��	黏Zl���UZx��
tw��KHE�f&i�9��f�?�u���I�m9 
�Aj����(=*��~�25޴� rӏBj�x
�~��?�环�?m_p�������g&���-��DN�+���(O����ɽ�5�~-?b���Z]Fnt�q����K��B S�]��v��J�B�N�h�"���1�h��Ņ�j?��`�����Ib9_Mh���F����i�[�/�	�
rMV�'��XS�R�zخ�
Ho3|���e�3�l}�d���|�M��|X�e9w*q�;aSz8��ӍL�q�Za3�x��HHX�`иt
����������<��h��I���x�%S_��Z$G^�u�Ơ�7�� �9���j���Ç:�o�*w��3#UQa�����ٽ:��%����e���9�ܥK?������h��
}�hq0��~���Lw y.�2��LC�����9�<�
V�>ЗZ��&�9Te�����CA���c����Vu�/7jj��Z3
+�Z�ꀳ�J"�>,�پun�^�p^�l�8D��{&0�ky�3�r<�
�Yؼ����@�~wr���
E�#Ԋ�oF����S�&J�3��I��:N]v���Ї�$�ۦA���GO>_81�5���fQq��u6�|Zϖ�њa�"-�БK�U�dEߦm�{��O1�Ry]G�N�N0����b>Lc/>
�N��v at .^�fPT�
+kL
��
+�����#E�n�r�\ጋ����h;9��R�s��*ݾ7B��q]"��}(�I�i��JGmnUq�;���&�qiI��θ�J�����md$
��h�y�)�Xn��V�^(
�
ft��)���V�e��]m\Tb&��_�ě/�P�R�m!
t��� ��?F�Ze*�
	�����Ñc���u�4ff����(��V#���dZ���R�<┙o]dW����ig��T����Q�
+��B�}��1�E�m#������QĞc���f���
D`FKlNy�+ƺh�s��b\�J5��ӝ����Z<仍��Ԛ�dx&׮',G��s{�
M�
P�e	�d�U�6x'|t��G������
n��A
���u\�[��ׂ9�b�)�le�x���3�Q��7��

q�N��uW��Q�^�h?3���'CM> �ؐ�g.�R��Ʈ܌�eq
b!� ^u{:d4|�N[�D�����ҹk�����G�K�ާ��C�(w!��a�������^�t:f�/�
�v��*�NH��.y
��Tu����{��
+���֮?���=V֞�
_�`w��e�:�gw|^
�✻�(�;S���Oܐ�w�4�	��77r�"QbǛb�����^�.>��;37y2�C��
G���EAL������9ՙƹ����Ь��Sj�q��"�}�>��E��cp?�H�,���N��?�v!�s
.���I�CLo����r�ǧ���Կ�Ԭѐ�P$EA_��{�Յ`N�b��#�)��.Ȫ�|�� �Գ��(��S�u�q��q�B
A(ģ������C�t�U�[���Iq1�J��!+v�'��Y�V@�[��(�#Ҁ|厰6+}�P��ٙ�����r�*oB��B'��j�M*u��<��3d�v��� 	�nJ�)x�_mQ��gE����H7o2�f��@C3�^t~�^MfWE�.����
�iu���sc"�ٽH�6S'CZ��������.)IO��D/Ì,a}�e�ƍE4ΐ��bnQ�K
���h��r��y[q��%�BG�b�%�c~EQ>�f��>E!-^R�;� [...]
+
��r
��I?����=��3K�I�v��5UDs���Q�Ō߹��xcw�"|��_#^�~!6ޛ4��ub�=�G'"���g�D4gYu�
:��wBؾE��>䨆��`��Q�B�����f��~pIT��wݜ��|ȑ�X1>>�h���PޓAB��=�f�W�Z������-�i�Y]-nڪ��H5��zq
�CX����TZ2,-���#�K&�Z�5��p;��
��p"��SR���Y�(!ep��"~���:�3�^��N�G�jD59��Ēb������=?�2 d|>/���~�)3����<K
�OW�M
��pq��C٫��~�U��e����d��ϻcv`��А�
"�w��.�tc
H�`��
K���b�3��k�t����:�<n��{gUb`�[[u�
LjIС
+��u6D_�&c�n��D�ί�.�%�*Ͽ������"�'f	7�2���J�k��\S�L13#�y\f��yfCt�m�g��﯇�%��ܯ	c`�Y���Z.���ӑ��������X-B&�2����<�@�O�	}p�
�3u*LV�
��Q:�}��:
��|��:�<��D�Dr<Kx���ad"wG��-%Q���5=O����u���E�4�W���;v��.��9��ݲr�S�k��2�
J�h��u�L�&��d̨���=�eg��
�1��OB�-�=����E:ޓ�Ό���^
3�V�eݝ#�@��m�xR����L�K虒��
=j���q_<�jX�\(���
Qf!q�yQ|�$����i�f,�������w��x��W׵����boFxn^>Ί�I.3��
O�ZVSl��,J������r"�Qt��Ήۄ��������~]be��b>V\(�('� u�Q�%S� �ޯt^�
?-Th�8дh�h��-_���;"����"�z5Nm�:���w<O�PRIFm9�Z����jB�aO�v�g^�
���~�DS�g�
+ڔ/�^&ܖ:Oz2�N"��q
�
�
n����{o�AK?g�^yB�u��]a�䰘L�H�d���9���$�/�o\�I��Oi
�o�ַ3�iS}iz ��V/����
A�_!⫝���yB#�'in�r��y?����j�����9i���4յ�R-����E�d�D�hn�,�[0P���N|�'�t��»
=A�G�r�E
��¶f`{��d��R4�u�R���
�R�M(xGB���x�I��}��IE:�Ӈ@��P��9�<�hw����F����
�o3�g���̯,Ъ��%0`z�>�}7��V�.k˧?�3�
=�#�ji�Oo��`�%�q�

U�b�:a�pK�Iqs��73�)
D����[��}<�+��{�
�M�a�D��~-�V�we8��n��Y�{nF��Z���X_3'J�=��g��z�[Ps�L�G�����#�d5�
ƛ/�'�˻��v��Mk6b�
�
x
4�R��̥�:����>V:W�J3���i�s9?��
+F�t��W���X^���-
W7@^�q37�it%Z���~
\��(��	�.3=x�p��r����,
d�K
z��l� ]���ֳ��Ɏ�N�i2�r�*���s��U��*I`������ͷ$�BE gw�Ts:&
)�y���
e/�"����rD��㯷X��۾32�y(g��F�>7\g�mW|qp�z��������㝈�0;��������F������(��]�o�h����̎z
Z�u�uc���g��z K���U��l���k
��E_-1H�y'ŲZ�t
+�+��oZ�N�+����>�G�v�A�F
�
+#U�}��bi��p\n���
��
+B�8�����:?y
A��:`$��g$B�(��f��*����~Ն
�c���@Bg?�l
#
+|��J��Q���݄<���O

�Ę�zwE׋�J�(�]�)���T�[7����
+�2)�0q�
R�["h#W�P�.ڻ/yGٲ8b����3�߰�I�ڈ_3.�+ٹ������
c�
+&;af���Wҩl��|�*���v�㝱Id ���ָ�'z�Sej�]���j��x�c�=d۬�4w&��l� $<j{W�*�^T�&+p��
�^�$��K�W��̠3�!3��nXd�Q�=K��X�.�������$$W��3�Sx�z��j�ϫj��*� ȩ�s3�"���|
�])S�!��G�k�y���G�}��0b�݀��KJ��Q"hB|���n{7}�0=ׇ�������J
n_rᯄfS�+�~��ǬƜ$��bT��|s�GS~: �
���a�ZÒ\?���Q��g���3�*�Jd��w�g���Og�aoF�����֕���^��Ҏ����o)��5$ ��C��	�T�v�Jш\C0WU�1��
�<|=%)�}�
O�&�.��CR-l]�'
�1��o%5`~�ǵ�ܰd�%ƓTF�0-�����~
+��⢁/
��.�mtUgҧ�uM�Ħf�T�KW���
ic
+�vɂ,�͸P{\�op�
~e�)~��=w�[U�#���
�TV�e�
f�9�}���%Õ�3�׿��1m�R}*/Z�H�K���^j�8@e;ʈn��=
���ou1䶟WIg���\�p�n��
<5����d������\c]o�(�)�M��G})g����yD�-ip�<*�OY>����JDY+���s/�D�MQ��UZ���w1�KIԕ�Y�4d6)J���ioU�q��;T}J���s ϗ�ZR��_lZާ�
	�`+�:wTi�Ү1�s�.��f/�n7,=I��
����T��V��1="L��
}�柏��I6h&W��{
��d�)L�$ا	V�4<�c�pwc	��Qs\���@�e���F�A�~�|�1�q�g�%-�($T���qC`��F�
+�	Cl*�����>�W8�1��e2%}
�
pfH��?��1��˶�>З�"�� \��T�9`��g'cDW:ܡ 
�
Wg�6�*�sr���mvf��">d���Ϙ�?�-B��,y�Y�k;Y�e�
�|Nt��n8bJ��7�-ov+Ys�к����ɨѣ��LS��Z1� v�X�;>*"z4�2 at .���f��E�P��b��*���~�hwe�z�viڃ��#"�~��� �� �;�.ŃMl�ˋ�SD���
y�Al�2I���
�-Х�c��}Ӭ�܄��d"��ڢd�5'��'劗 ��+JT�
+���m޽�v���x�H��n���w�H�@�q��&���o=��{����rv�l�	��/�5 ����n�t*�ޯz�w
�
�z_�=
�#
+��_*�bռ���&8�D5�Vx�ʼnTt��1W~6T�(tG4���W�^��j�
!.Mƞ����e��T�
�i�����
�U�.�Cd6����'�,�v�D���
��u�
p�.�Ao��f�s�p
�V�
����;Z��b�ʶG���w'B��K�2��T<��\JYPc{�ӻc��b9�����L�r�qȟ�
+ߟ��(�Z�v#:=io92$�am�S��!S�8�j��{|w�
_����2O�W�����i۾f��8/��辯�K�㺨�-𗼾��M��
1[��\
(i�l��L�T��I,�ٜ���z�;�oAޯЃ�6̜p1���:��F�n|uN����
���uC�Zb�e�
��/�����QOwg
��(��X�7)�?]h
�'h��Q��a�V�Wc̬^�tl��^�EO�R�H�,¤�P$�r����<l�Db×�6N�Y�����d���/uq�>�
+=�i9�oT!��,���7&w�']#
�n��[�e���t&���q8��<��2iy�11\�ŀ��<;[�L�e��
ZLLë�o����iZ
Y9����\��<J��m
͍Xv_�V�kzgg��EyB&�D�#�^w���8�k
�r��y�nw�6��*
2��k�X�A6(�;�
�U�
+�Z����At�
,�K�i��_�[kǽ�����=q���y#)RI�9������-���ϷoC�
߽��ቍ��1e�vjn�G�|Nv4UU�9����NQ�>C����0��$�w�89���f�n�YMU�F����M
U�̻�.�NN���|�R��y֘��Nj�!()6Y.m�]2�v8i�R-�eT�
�c��
��s
��s蝊���9i
�
+endstream
+endobj
+20009 0 obj <<
+/Type /FontDescriptor
+/FontName /JZUNZD+CMSY9
+/Flags 4
+/FontBBox [-29 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 43
+/XHeight 431
+/CharSet (/asteriskmath/circledivide/circleminus/circlemultiply/circleplus/greaterequal/lessequal/minus/periodcentered)
+/FontFile 20008 0 R
+>> endobj
+20010 0 obj <<
+/Length1 1414
+/Length2 7012
+/Length3 0
+/Length 7971      
+/Filter /FlateDecode
+>>
+stream
+xڍtT���6!�
�<4CHwJ��R�0�3�
�RR"
+H�tJ�HKw*Jw~��{�y����}k�z��{_{�����6&
��r�+�2��/��/(h�	������� |66������	C�����
+�n|�`�
P
�9������q~~ ��/�7�*(��aր&/��"���^�0[;�M��_N  &���w: �u�A�p@���:�t��
}Ey����

+�,������
vB�"\m��x �Ѓ"���Pk�e@
��C��
0��!�
+�#lP
`W(p�p�A�p�M���
+�t��4 mg(�/��_ 
��� ��*�'�W!�w2A89��^0�-`s����(O �[��
���|�;����>:P���7
��CB\a�($/���#߯27׬�V at 89A�($���)�\���{���3\8���e�[���a���g���A��`n\����BQ�0??�(H�� PO�
߯^���A�_�~>�g���f����A�ݡ ��
���Z��5
����08���߸�6�7�w�yO�o�' �������Fa���׿�Ģ�e�g�������O�羠0p$����7/~������o���t�QQ
n� ��"qs{q��
�?k�����F�P����7���<��K�;����_U�W������

�9��?q�����F�n����D�l���FпZj
ss��
+|�#rp�������C*�<��:0��/-�=��
�08T������d���W�f� 7����~��7��ϾJp���
+��E ��+�
�F7�0�#p���P���x��M
+p���A����V >�_�?�0���m��
����f���
ۿ�

+��B����򐆓R��
�������"p�V����t�$O��EMʵ�~�:]$��_�8S�;�/��D�SOU6`�X����K�m"5�@�ԛ�[
+­m��k�>y
Ȏp���~
K[W�d�->�`���Q���c :
+�VTT�#�Q.��X�Lnd�I��';�3���iJg/Hx�k��
��r{c��Y� mC���6zu�!`�m�M���g�AC�SN+d��
�D�����j���m�j�"fg2���
�E<���V
�����?FN%�x

+s��PH)�tL�)�)�}K��Q�3
on�LJI���M����������F���x������Ʊ�p��
D�f7����1�D���d	z���+2�է"ˤJ�;�k���D
Ϸ�V�E��n}�����0ꍲP	��o�xS&t�`vcꟽ���G�e�V���W�$�CǞT0d2r�n���;��$�ٌ\֭0�>3�������(��N}阾c�|
zǰ��&.���o0�%�
�*�>�'��W��{A&�~syaG��!kb����u�\�9~�kƷ��t�d6�������
��e���X������+o@[��a��K����e,��R�86�V�{#��V��T��l�X}�9ʬ���6����� ��b�Uq����n���{��
*B�ؤ��t��9Y�nj���=GFo�ܺ����_J���v�w�����L�^S�"h6X"I:��M�	��8����
L��Cq��ڏ�tg���i�GN���D�p燖�$(���2��]��4Rד [...]
���D�[��[\��w���6e_8d�|a\��b��Qd��v��i���;W��<�m!>h�L)�F���e���^��Qi��,��
�iC�x�a��^��1Fհ���aAq�w�D��u�Ec��
s�
+�I\W2��V��uỤȋ�X2�Xn��
Ff�oi(�ߵM���w)�5�	�l�{�}�4E��Ĕ�n�j6�Y!Ƃ������d=}��A@��|d]0�hɬ���I��ν���B��v�⶷um_g��qPZ�/?�1ױ�+��e�.lH#_��2��ŴѲ�H}��_���y
����2�yƓ?�~�V-"",
#�H���9DC�#���7����ٝ�}X���Ɏ֫GRf���4��}�Kє��މ�3f�@�5�;���u��+���O&��LQk�y\^����o�G�m�
��n��̞qfS�1۳�8��P����rb�J�b���&�دHo���y>W�_ SX2s�,B
C*����
+3�3���^�@r��
弪����Й�U��S���؍y~��>
����V����E�#;^:tvH���|ZN{�1!T�d�$�a>�����ˆ�"�C�x���;_���	
H��"m�Ӝ2��Y�m<�h�������$�n�	�ц�v%���D}���_�
6�̓G���>��e?�UM�uK_�
+,ү�A<�3������\�.nZdG��$�U��)��
+sm�C���W�z/ �_�ʆ��d���V�t�sP�kdWف6���m�LJ�6���=S���ƀ/��R�������Ɯ�b�bAv�}�P!]q�n�W
��p�Q��q�ME�x2����+���΄Vt�Q@~-o�
,�����m�n�ks���V��%�[��n	Xv�D������#��&$�����
+�c��FB�o��V$���K��՜�}AF�N<��6Uj�
n���}F�~�K���kŧ��L�I�	��P�YK3��
�l��k��c$�=��X*Fǝk㾒_�Š*95�cV���eP;tN�;̣��WW ��a��'��wdA�]Jf�oWa��r��{$�Z`a`���9Y�vy� �-&�m^9�uQ�)�>T6�s������4�f��O�7\?��&M�?iJ
��4{c3f�M����n��$���P�l�i�,���K���8��~^J"���-�J��>8,t^�C���1�B�}K[)z�b�9.|��r%����g4�T57%�`���m[��V�Xa\l%1S�����k{�x�7`���jK�	e�h�����
^��W�3Qޓ-ǟ%m$���ddq�|E'��%8R8A:f�xK�㑲�|G�����E�wIK��8|� ��B�ƅѡ+��y��P�s����r��d��,����,�$8�ǂ@�ұ���"l�
�jnF����`�k��C�����AU_� [...]
+�S�ܣD���o��aj0f`��n���tʏ
+��ӧ�D��au\�j~��J�s����^�kH=.�:��v7�JC�+����H

*��b�ؘ�R��;&?�
�����x�忝Z�9]*G�Q�5s�(�<T�A��r�%�cI�T��1�GG��������how��/1��ܛ
�z\2��^@
�[����9��G��\�Y耨}���?rz��{�
�u������k�H0,KI}%����O�qO
�{�M�_Գ0�/zb(���b�x��u�k� �-��y��s���e��h4�U
�b��%�_���3����ǐ��Ux��lp��Q�s�L_��[��P�o�w
=�E^�?|$���"�@]��vw7��j

�^5k��
6�n�
x�
������J
\/Zh$Ɇ�
z�k}���S��6�����
����m{��#X3Ҟ�ɗ�Űkeu7@��*5�2_dcC�B�j�u���R�d����F�����EV"�<?'-<Q�{
�t�8)��q
D�U��8�
+枬
=n��z�Npy
���Tn[I�a�.�R�Q��HS�z<v�:>d����dA��Z6y�����;j�9
�[n	� SR6ZwFuiE�������t �s�_Xq��(��Ux�I`�^C��^��3��
��WG�o��5���W�3�-�
o+ڜ0-.H�F��N�c��_�&p6�=�l��W!�F�ߵH���P�C`˰·C[!�=N������nFuk��c��6룂a12�����
U�פw�(���j�P!c��.}�?�R��8@���|���|��>�b\j��|��2�tW�����E�)��%&-�)'*�� �=�&.-����Y�����LTrb�B��J]�#�������;t
�
��O�l>;_�+��ٽ�p��K���
5��
墷��C�g���O�p�rx�=
*e��K�p��ZD�F��+Y
�֬Ϫ�Ǔ���z�
hC��P����T�� !w;��7��[���"��K����
�Ƨjٍ�cF{r�2g
bxd
�C%<���
F��n�zj�[�
��
�b�9�C���w�����c��4/��:��H���U�T���8P�F�F�ß/����Yub�Њ]h-�`FW����Mװ��Ý�p&������J!��8�kD���!���ç
MIY�᠐��F
Q��:i����B���h�@u����f�fS"�;ѬɣS=��?�4��۔��"��X&Dѡ�=��	��eI�Z���������yXi	3��r�1X֒�4�+�w�
�Hhf�{��04��_V����OL��mz��Z��k��e
-Ar5k�3
��U�> �yH��2��
�
4�l�Y�
6�A\��� 
rB��%�q��bJC_�A
8}���)T��h�=	��(
9!���f{*�LrGv��!�eތ�4��0�]�
m�)z�|�+�U�i�� �Y&��%�в�]�^�9ᘃ`O�>#1~3ѐҿ�n�z�$%���Ȕ:� _�*����
+g��
����`s�b�~O
p�A�4�!��o:Qm�q
 Ƕ��V�\B�*c��T�����xo$c�+zS�=��itɅ)�T�6��P
:!�
�7Xc�–kuy�s�dz�~|;��]�O�Bߵծe�C�v5jcґ����-Z��9>Y�a�*�wS��R�����ƚ
��v�ǭ=�������Lj6Zl4?Ao���鸨��Jg�Z�״)���d�L�mY�g]qH��6O�C��k�a�ɡ^��X��x�;2Tdҝ0��kto]�M�b;�8�<%��ޞ)t���x�1�S�#��?�wzj�V�Ӭ��A,g��1�n(��I ���N��ʕ�������]�a'<���}/3U�Ks	-b/U�x,�9f��cרZ�mނ�����T�G��D�;>�^
+s�
+V�QCM�Hk�S$�V�
P8�&$f��_�o�
�5�Z}��3jA��M
�V,��5V=#O3��I��o
+��e�_r8hMT��yg%Nz��sj��0*ma�![Y���$n��6���ډ���ʊ[���%=��G�<�./�z�f17#�օ��
�p�ZV�P$C�f���>�%2�ļ�i�.�u�}�8Ǟ�FIO
��k�!��� ��
n�%ʭ&�ab��N1[�(a����� x�
m�,yݎ�^j��ܽ9�C)���?
Eb�l�sR��'���
+��`27�"diPK>��r�r��^��8
��d�H������ŦU�琍!�ƋX#2��lY�0���"�Й�����j�]I�
&#:���'9���@����:���c&�3ڻ���^��&p1��c��X%���8����#N�b�����?�
o��} lg;$�R���]�n&c���ɋlW��׭O3x>���	*W{�
*� �?X�~��s�}Tq��<:��!
�-zס�
+$�� ��ϙn���Z��zH���:��&v׆�VxԟK���$F�]�� �XNr� �d���)M���V�]/{�ɢ^��u>��)�
�|��
H�U)$P���[�P�:�A�� 2���g"Y�)��YJN��p�[Ѽz*+��ra�������uP��
_|u��2��a��H��E�9�)UVL7!�f��aʨD��dw����� QSh&6
��eN�?{�vT�r>*M�J�s��
��|�U��W���V�q�\ȑ���X�{�W��*�'�n�P)3<�L8�	�'�W��n�BM����
�{ZA9�Gk�{�mK��YV�\̼�I��	�T P���ϥ1��8M�6�e�^_ 
A�Ҷ��+4}�c �7u~p
��4�y���uT�*�QȭбQ��;z݋7�
���S�ir]Ѫ���/[���~ʞ�g���ζmu��x������k�|&(٦
^� �S�v] ��>D3��*%�D�V�fh���h�@��ƅ�ں/�^|c[�I5���JP��}��6��k�A�s�QE���2�����h�oȤ�UG6�� 
�Z�T
+;��0�ud���JHumy8�`�crQ9��D�ǚv�_:)
�8��8Zɰ���_u�CÇ�`o&h(/6]	J�H�N�n�MM��)�me&�ky}��G��r\�8=���=�A� �
;v[|'@�f1�w~��8u�\Ee�Exhi��|��V�}d�ѷ=�[��WJ�V�6�=�\>��U6T�sGO9
o��	}3�
+���޼.F?J�pDF��yP�bhud
�
����!]7E1����y����g��/�(�>��7K��������_k����=1�$��&�4�*
ЗiE{�1�5%c�gȯ���"_�ˎo��L�q�9�x�L(���|� ����`�X�l�ۂJ��
{aI�BG��0KW�i�����Д��#Rq��ift��z?�;�Ƈ�E)f2>,
����Õrfc���\��+=�
�=��B= �+��r� ߈�b�w>L��Ԁ��{q^6�Ҕ̞z`"�?����K�Z0�H���,}�Uc*�����F�#�V��-~����5G��7*+���_�
���X
�$�
v�j(=�Aw^���ȹ�Em�dJ:���Ho���Q�dؚ�x�: �w�4aN�d���j��
Ln�*=Og#}8����p,�����������w,5_ߡA�`��
Ė�wF�o�.@����Ϊ;�\�ǟr��Ț�
e����}-���p^1}#�~e`�"�dlp/~8���a�6�[��U�N4�������ھf��k���{��$�4�����0�
���5���U������1�jͦ�R��c��\Ȗ
CN*��R�ĕw�W�*�u+�7n
+��Zas��c������ڨ-1!�Ջ͊�V;�T��f;���ճ�
����u/a���� �1!7��=KOt`����L��~�y�}9�\�-
c�����¤���rd��	��1*}�[9*�
]Tޮd��M�~�Nc��	v��
C-f
pF�?
��=f���"࿛���S��CR\Yk�x�6�'�ۼ�q
���v_<��۹�bH����l�5��?
+��m}/Z\�	�|Z��d�L��h�ѤȆ��)���c���`��f�1OR�g�
h^����~o��6E��?A�C�t���0P�H��Wl
=�
+���3�w����z
iL;k0:p(���i�?�i���d�Id��+m�C;�X����Q����O�
"E��=����W$s����
¤�h��ܭL�DE��ha�{��
��VWķ�zl��%
~�H�>�=��3��q�I3�Ŕg�y�K��_p��|;Zo%�
�M�}k'SԢ�M�Hī�C8�����D��:?���Z�cg�3�K���
)��	�|m�ڱ��F���"
��*�����R�\?NC;�s��R��K�|%(Jy����k�6a��g�>�����a,�5D`F�V��{���\J��cm�}Qx�3�X�_1Y�0Iz��ݙ,3*?^����g7��-�:��c��P�A��ա4
��F�Ahy��7�Դ~�����I�A���t�B"w^
+��\P��~��.h��<�MoC���Ɗ�0C�k��>��t�b�PN�IS�B��%9m&��.�(���� n-8aմC���{�=5
��o?$����_*��ʹ�8u��Dn,�DK��I\|2�#�C7�Y����h�^
=6z�s[>'TZn�Y�Z���WĖ3�*�O�M&r�01����y
+endstream
+endobj
+20011 0 obj <<
+/Type /FontDescriptor
+/FontName /KNYRWO+CMTI10
+/Flags 4
+/FontBBox [-35 -250 1124 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 68
+/XHeight 431
+/CharSet (/p/s)
+/FontFile 20010 0 R
+>> endobj
+20012 0 obj <<
+/Length1 1481
+/Length2 7969
+/Length3 0
+/Length 8957      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T��6Nw7�� �ݒ�

H,�K-,K.�J� %҈��(ݍ���4R��������?��Ξ��33����=�<�Lz��
+`�
D����(i�� a>!<VV �
�Ǐ�j
�{@a�R��P�C@�{��
�
shx:��bR��R !��0��	�

+h�4`�<V%��/
j���+�Ö ())��'
���CmA� m��r���
0��B!��*�!�@�I��{{{�\<�`p{YN
�7� 0�x@�^0�7e���75><V ���W�f���!�{�3���q���
+������Z ]7��_`�� <��/ �'��rg�.u��
������\}��� ;�3����A� @���@���>��:�l���(�@�
���a
��!<�<�ο9��.s�ʮ`%��
����|O�p�������=\'W��+���
+��M���o�
+u���?�s�����
� �
+H
 � �����@_7ȟ��o�=� ��
`wO �����!=@^ �		@�g�-<AA j� �@졮x��~���e����
��O ����7�{��a�ξ���1�������ߔ�TT�� ��" ^!aa���8 at LR
��U�����z ��g��z�v0��_���^�����w
ؽ�! ���������C��y����)�w������D*����
�?q�
���oĽ�=���
������@�Zgm���Qu�~C\��u�P��E�:�Q�?c���
u���<���7 ^A���ݯ����7��~XB�����ʮ�0�����p�/�����DEH��
C|�H���
+Cܧ �� �`p��#��?��oS���o�^����0E ���0� ���B ~��0�s}���ub[O8�~�����?��/����6��w�	�|�^�Λwm��8�I'/����%v*gUv�"�T!���d~U��D~����X�
�)Y�����*�`l�	of��{�pG���!.=/P~�����8�	��E�5��S�H���ܻSէ��ln0rjM�JL���+o�Qܳ��	�|�ד4�Xއ8\d>�'��d�#w���x���o�fKB/.&�*�B
��,�f4�O��ؐ��i��Ȓ�����9�|(��]��-L?�̵�ɨ���$UY�j�C�v�f�Z�qո�M�p�y{���~,�\��=��s���^b��"ח�a���h���1��7�[��[��oP\xr�
@��E�.��_�U�R��p
�u�Y�1��]���I��]��ILB^��8k_�I5��3�*�&�gm��}��*Fs|��"?��2$4������}�SF��Em�
 [...]
+�!݄>F�"FMԔvUƬ��p�0?�+��Ny���0[^�:~�����)a��4b7'��h
��lV*����*�v9{�L��Z��C	2��z�[�_V�}|R�b>Hߑ�������A��6��~�ު�����'��[(Yld�k�&��%�"�.�[:�@'S�|V7��y�j��
�������/�Ƶƹ|\>NR���K��ݝ'䃯�W$��!����ɗo�n�����jv��;/6P����^s�%���r��d>�:v���Ppp���`a���������>��@u�ȷ��T at q�y�+]=�>�
	qj���ȧ�9�5I�9�]�OO��=�?��ir�KPT�\��c��.�w��/"`���91)r�i�K�m��#�U��k���ѯ}�i�o���
�3c>�d/�r}{����~k
�Ћ ��z.B�
�wX�����hl��t'Ύ뢜�I}!�d��^���"+[t��� n��{��m�;P��t��^RNZԱ� ?ʨ{���Q��계F���H [...]
+H�
%
�8�ȳ&[8�Z
�>�^ ��0�E/q<�(7l\?-�g�2VQ¿�{�	�c�fۥG�s�hvI�)�B�4%
Z|ԺxɽV��'D|�D��^�}�t
��8���,�n3`��Γ�v��M~�)ѵ����zf֩z����9���S=����|�f�5�GG�Æ�
����F������B�v>P�'�W #�D��H�G*<��^}h- %ȩ�%�';�&C!+��:[�q5+�╫���zF�1���W�����n�,��](�7�_���%4�#���b� ~�*��㷬U�V4�u�Z�o���{:�(�qJ�Q�FXs�ö�m�༫$
�^g�
�q�o�'``s�!��
��o�������?UW�n��P��v	w3��\'�
��E|0��?�
��jt랹����^L5ɠw�����
��O���^�w
+��t8��ƝC��{�K��o(�3�Å�K/^v��
F�@-đ_DVi�}'�83�d%'[�t�
���
+��\Dd����Mp�6#�;I�ܩ	�w˞�"���K�0Z��!�����-"�������v���r�O�<{}�Tm����M��"2a<���o���4�ؒv8���<��[��l�邿�i����L��>���h��쮸Ѯ�V�P��r�4�(׏:ģ�Âq�6�L�w��b�|�3�'(����▼�%'��U%�k�]\$,	!lo�a���_!��[��Wؚ���)���7�+0.4_,Ƀ�@|���l�6d��)SQ���M[#������o���1ȿ�KݨlkT�1���Y���b��
;�ʹ�
�&�
F�I�L&��o|o֊��
�DK���bЌ�~wr�or�:�4%��e&J�ڦO�m�N��Jq�aJÀU̜��S�);~��Ś]���
���g�6y��£n��` �
}
3�
�,��i1[�As�r��E��V�vd'������ %�"��.�4-����@t���A[�+�� ���E1ʆ���EA�5芸��
K�H5�}]-`�Tk��k8詿	k�Z8z|�^�n��cհ`H�/����wN|�Ulأ_��XC�M�z�d_���
P[nS�7S?���0��e�N9]�Q�
��S
�����L���k�2��P�b���a,�<A&9�%�e�ƴ5*�#��%*9�Ʊ�T�����߫\�JD �с3���.�#�eNx�n��׉�ga��Mnl.ԧζ{�>G�oݠ'$R���"{I�r��J�'�P�p��y�B�fʲa�Y�^y2�I3-�C�גJj�n at f1�����s��ho���
����k[�/Ϧ�EKg-tso);��
+�������EZ&
�Z��V�`�"�O�{�W Ԓ��J7#ӀT]�Q��
�

+ߏ
��0-8a0�]�
+v��yW �I�W,�e�%�Q@�����g���U�U��j�P�L��
`[(�����
5f���Ï��Wjmd�PW�)+BÍw�V$��X�xtY��M�*Qb��@���|ty]�B���'q�5@�z7�IYP��S�*1�;n@?��G�
�o�pgNM�X_|̺�(���:B���$�54RG��~�6v�(�&O�ҩ���Yױ%�˃w����u�&���
�ړ�鱜e�i�ږ��4M��$�v[�n���4���ȵ�z�ș��l��ۈ����lF�s�u_��e����EM�4G
��
Z���
���E'�<�B�N�)����V>�:�/x���J�ɏ��#	`qN
MY���j��U_l���G&Xb����C4>�vt�_/��5Ǧ�ç�[��
_����>��C�6��Կ
�uҳ�	�A��ȯn�8/�[U�d
+'�}�5(c�y�Z�˟���R��¦��%�V��s���mt��+�>3�ɓ�-�2�^l��X�rǻk'r5��D��7�I�o�ѺҨ|d��H��'�]<_G�]�n�*�m��H'_�Z	�����a�щl1�|HUX3Z�}�LDDX
+��Ha���B��ob�q�=����'�
5,��x���n	J<�����Α�f��b�b֖�b��ݚ^q��Q���-�0�@��,9����eO���+�e�uoY�;&�����o#� Q����A촿@f� �
���S�
��a�`�W�4f}�o�a�,��I���g���'%��u�E��2#
���.�DU[��!$V	�aK|:F+\p:�s9�� {o�7֝�*��AM��J��
-s[����i��3��{�HH��^i�B?���^��:��y�EW4O���Bƾ�� #��T�����\�@��c
�֍N��~�<����z& �b`�U�]���#���HIw���y�uP�򴮚p��œ�֚,(�
�Yd:yR���\�ޖ��U%JQ���)[B���΀����
�Σ|�i����W�..���椕+���;-���+
���WG5 
��`��<�+^�x���M\�AtRCw��
+�=+9
+7#���Y?�0	��(��I20�f�����@P�pthtn��
eք}nQ�����"+nD�`���r��|�6l�}^by��
��@i�����q�Y�'��KrǾ�R
+4�/�V]��4��4�o�Z\:
��o.�
�z�
��
����`4�����;�
fr����y5^Ý�!_��g��(�`��T�Mm4EIr����!�!��z�*u��� ��^ղ���6��Go
�2Xs��-uے�iē�d��),rv
�
鳯H����mFo_g��p# ��'��>�*�ISX�ɀT
+O�����*�
+�����aR�dh�'�v�c�F�7�����6
+L�^�1h�4� 
�+��U�Rs��a�D?�eS�S�Cz��
���-��;
+��b�R]���.i�\���
�J�7r�9&k��ғ������R���?�lj^
{��"�8�hl#��.���
+{��	���Em�w.�d���Z�im"Br3��z:�+�q�OŽf-�82q����.���*塄}�:*ˉ*O�ݠ��o��vQ6u�
�m�<��_i��ė5�$���pF��'@��0�P�OzF{�i6��
	�ɔ=�|�m�SF[��O!�y
A4	-{���q����d\T��}�$e����~>��
W� 0� �ST6�MNx
�}�l��3�49y9��WB�v���������a�j��ѵ�^~�Y]a��o�"/�Kz!�6g��ʍ٫@>�
�\�CT�=��M���kJJ��ߥ�|e�����6Tz������o?����Մ�
o� �{Q���ڤ�꼲�T�)�{(�Q�G�d�{l��/�#
UF��_,~��jR$E�.���W1qGj��zf��7�Vz�ڰ����v5�u�(~З�ֆ}�ˋD�^���.;q=S�3͓K�W��j��g��,A� ���;c
���v�*&�^����\"p9��;�W����Q, at p��ɧ'��&y�>+�Ơ��R�>��}nj]�a�a�X���P<�~�E.A�$��w4�C���٢�}Vѳ��eӒR��I�B��4���]nj�a�'�
	'�M��'4�?�#=(g�,%^G5����O?�Ğ��N�{c�ͭ��v
#�߽�M-�*aב�&֎f��V��Ë�gG�8^�_��
*�
1%xa]�BpV=�
�?��/e��X����t>0s��Q�%��

�x[m�=�*��
x̲kp�p�[;_q�Y�ˎ��!e�X&\j'���T/%��� �K���,D�[� '��e"
+�4NӋ����
h��p�������(���\����7_�U��v	
�<Ap��C@�T�x���u�G��L������E�A���(�K�!�ô��7
(��p��4�!��6����,�[�eS�ƻ 
�4�����oV�sHO��
+�L�
�)�ug���l����nO�^R
+
�j���f^-:�z� �<g���o[�Gu�w/�����
+1���t!�{�
�y�an[U���I����IU!��n�h�=�"��ߎ��3�h�
+�f����D �M�[����WV6K\xAvc�N at x?��3۬L�Z�Q�k���jD����~.~��Ra���k��n�KFY1�B4;8��-�1�7�"8�@��q��-Hd���Y��V��Tj�~0b��RT�0�
�p\�S%*���^� rZ���C#�2�l�:��`R��
{�7?4+鬘F�f���m;}����
+���
Yb�	[�ea�v$�$��3�M�������5��U���V���>ѨJ�\t[{皎��-���v�
/(��:�fo�<�'Dn
�ڐ~�N)���;c��h^�W�̐�����7�l�ɒyI�
�J� ��H�
e�F"���v
*�����p@��	S3SE8��|��)2S/%���H�� �)�W{{�5��V�y�F���oN2̌c3
�Y�'@
�JxW�oאۤպp��όW6��nS����щd�a���'�ɲY�zaK[C�_;��>WN��ȣ�
����>�m24N��+h
í�\MZ�_�m�Zn�fO�����t^
^O

i����
)4t�4��lxL�'�FyM�W\�ڞ�.�̧�S{I����\��
���9��]��J�<��G��d�M�)��>������!.����S�
�|;	�e�
z�T�N��Lj��k�_��4�
�!g�=gs2Y!����-��Z��~
p����${D��v��J��}N\Q�W9?&��[5՜�?G��KD�e���Iy��:_�L�:�'�46�UUטW�n}E*T��3�uyU��8�у�a�rI��*p�2}��&/֍�T�J������u�-��z�*lZ��Xz�f�2�d�ܖ���d�>ț�3���}LH�Q�klvJsG��eͰ�ES [...]
0�� $go�0���1�YBN��K2J�J��q�y��|=�!���$���j���prX�H�:�����Ѫ������?���
f$C��{�;�H� �����,/���T���
+/8��c�MnZ��*e�|��5z�*V�������}�ު^��Ļ0�Yz�~�0�����C5��S��ȓ��
+��!b/1�|ތ�H%��B^s���a&�=}�$-��c
J,Ls�#y,~���`�Hȱķ�U��J-4��	D=���,0�f�W7'���
�A�1���&����bG�X��iu��jg��
+�ZE��_�fya�g���MﭴBQN=~���Y&��D�><pb-�Tղ`eg+FO�
y� p��YWn�CF�EG�>�w��vu�
+'�I��U�̉��ȇ���pK�za�7�T1� ��e8l]KM�i�#N7�h�Fs�*j$��锥���]yKCO^�����>)�<���􇩥��uܥ�����1B�*��OO[�+�5P���`�����7��"2LK
DMf(�QUyO��w�I�X��acU��+�ў�zi�m�!�4��/�C���D�������1����씹����3qD2�x���K����Pv]���6��ۭd�7��R���$jʼ;k� 2BL+fWӲ���;zK�9<m�÷�A~��
+_uFi1Ƽ*�dt�m��2s���]\5���(��'��DҮ8��e�S���z�q�ß:�a�Y1��3ǚ
��U,~w���VE�]�)}� ���c��{pO�s\��pĶ
+�BI���7:�B
��d�
�
+�X+U��)��wd��Q���D�����3-6���
�'
+�
ǿ
`X/�KT�4;�E#���\�������{"��hm����f�,�U'�Q�|"ju۫��d�s��,#&p� |�@X^����V��ͤ#l��I:0S�*����qG�
+
�߱B&uCUq�2�-3Q˨���.�Za�=�R,됻���C�|�i��T�N6�[�����Ϭ��������m9�#d���Jaӱ+%�
+��1KќWV]:ۃ������E��2z�9��!��%��
��F
���.Yr�0�>��y��P���	�\�Β<儧c��`3X�
RЊ
������
�1/-
+�Jh�`*\m��x�ߢݾ��H� f�4�C�v�~�'�,9�,�P����M,�ɏ.MU�#a<��*�7|:}�}V��9��������N����Ψޱ�vB�q? \��kIj�c��g~$׽?�J/L��<��͋��D"%��K���^���e�l�=/�<u\
E��$�s�f&tk�����﷈E8@�'E�;d������e����Q��o5���I
R�oDK��=���~�o��wcp�+
~
z� #��*����#��!�=5�����%
�{ݤ�<	�#9���@�����d%
+endstream
+endobj
+20013 0 obj <<
+/Type /FontDescriptor
+/FontName /BKKFBC+CMTT10
+/Flags 4
+/FontBBox [-4 -233 537 696]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/e/l/o/r/t/x/y)
+/FontFile 20012 0 R
+>> endobj
+20014 0 obj <<
+/Length1 1503
+/Length2 2523
+/Length3 0
+/Length 3465      
+/Filter /FlateDecode
+>>
+stream
+xڍT	8T��&e��-G��a��
��ʚD���2��a�
f3Y�PLY��R*J+�V��R>�,iO%�"���i���������3�~��y��~��9z:n�h
��#�ЈhL�6.

� �lL �0zz
��
N�1z�@� B`�/>��1[�� 0���d�hB%�R	�D �}'"|*`�
�8��1��� �g�����]��+�e D33S�T9@�|�̈́�0 �+��\`#†@���X� �0��LJ��3yc��� �C� �
��0�L
+\�<�2c�
� 	��7"~�p&� b�� ��9 @6:8�A���L�
@4&�h7]=�����l6�
f�b�� .��w6��8�	s&�L� A�aL��d����3{���
+��'`�`��X q'%�'۠�lsl
�����l!>�F�]��v�A0GL?��M���=a($t����!�Ϙ?((a� �! (b�'�{����$q2�*��F�?T���&B�
!?���5�;�� b
������0��
��χD�7�
 L�~����� 0W��>u���47G;�o�䬭aD�Hd@YIL�̀�ߛ���]�Tԍ	Mo��� f��G�]Eش)��c ���+�:�?�� Pl�A���?U���~��3��7d��N��S���f� �x��9T��
���o��m�]@��w�A�D���s
#$��D �
�������\�4����¿r贱�Я� ������+��l�39u$�	���b
5�B"��xr@є��1�� U�!|��N���LƦ!���@3 ��	�(��d�H����� ��
4�?!	m%����a����O�
O}R at P�1
��<.�8��"�v�ѫz��95�F佺�4��l���OΕ��n����?S�%��z9��N��42KBU�()���z��lT]��W�
Jz�TQ�/���^q�>b�l��
~� ��Z
�+c��_�3�=�~�Dn��U��3��i����i�-�
t���3ٿ
Ϫ�G���yx'
=�����4�ݳfw����o#Ь�Ui�`";R�e	���g�/��L�����K�T���c)���v���¦̤�y� ��G'��^��
����W��,�z����U΅su{�I�~~bm�5� �Ȓ
g��#i
�
��,��8T/M��0�Iz�y�
����m�a�􃏟u�MOd�)�'��0L�6�7
��e>��v�Ƕ�.qcϘ���PfBr"WB�˰�f
�(���~͌�����,�_{�=�B���US�k響��=+�Ky�M�A���(�"e�Z%??lqG
�:d�mi|�z��2��¢�������ix���
�Y��,j��յ�M)��j���l���2��^�W�ӑa �VbH��L��s�A��K��ػGr2�+�Ǝ����rcn���G�>�O�5Rz��E+�j��+��
s���������m[��x��v8�����"Ƿ�
��-SfXb�������r��l�R�tU�^Al���N᫪B\ov��aE���
֝���Q}�+Q�٭�
ޭm�t�S�K,
�T��ѵZ{?��n�y^�.�j�$��d��?�����_�Ƽ�?�jB��w�na���JM-��~�U�5��$vh���ҫҸ댉B�a�YC���`����A�y�R•맩w�L��g�C\�q�D]���ze'w:��7ٗ4�� Ke��H��4Ho?�n0�E�}Bc|i��-��ŨY�e6���	u1�Z�}���DGf3�
ᑥyI��#^+�K�k��Uw%ŝ�n���_���5�����ϴ��s��|y�u�\ⱪ�:��m|	j)�Ew��x
+��B��
�4����cd���k%i1�#9�$�A��w�p
����t�19�٩���%�j���^��د�y�U����5r�0(]#^���f6W��~Y����2��q��ѓ�Hm��	�9Av
��8��"ل�J֑�9�����
VS��
��J̪]>~U�幜��)����duP�T�v��R
+�&n3(k��jH��u�u��
ܓ�)��T����Z�ޜ`p�&�ȧj�[a�ވԡ���]��Y����\�'��NKj���{��]a�l����������&��Wm�
+Z}w�=�� ʡG�Z^:z�w�%�[��b}����a��yy�f��Ie�S��׋��џ��<>�?bɊ�Yd&i(&_&o۶*]�e�g�R.|3�1w6����s|l����������-��
+.Y��v}<
�%���{�)t9^{��nߴr-��a)��C��j
c�,/���$�55
/H�U�Fc�
�ؔ�8'��i
��E&q
էT��5��])�> &�͙�Vq�/�����~��������r���*R����_��Y��Y�]h�q~�;#��_���T��
����s�w�R���Ɇ�������y/7�/0�X�A�f��6�o�q�8�͜��+�������B��:Hq�8��{�����}�rb��;
�g8����'�kv_�wy)
\�~�G�p
+�
�}o�ǖ���}������k^���k�KR���"�:�Z���#��5kL#<wz|�8SM{T�z,�!e�W��'���*��z��>ٛq�ؤ�Р��m��0��=������53
#�Y�7Z��9cO)�0y���������\l�l�KY��S8�
c8kX�5�˺ögc�Z��n����E�
������i�O�
J�p'`Ge��ۘ�1b������8�����o�UTA$͑��
ԃS���1�$��u΀�̘E�/�Y2񵷎)�S4<���uVi[�����n{JRU}V�[�"�Y���uy����#�z�u)�T��4-��Nϑ��]z�j��&Pj��g��5+p/�ݿ^7^U
� ��d;v�e{�D��{�1�=�N/K�=J8�ž�Ԯ�y��p�N�6�q�bً���o�oe�r�:�	l=n]h;��)��pu��9���������=&�
ߒRncW<<�is�K�^���0��<-��a�9G�Ԑ�s=�ߠ�p惷�a�.L�EC�޴�M����kvsSo|f|����

��[����M2&�Ҷ��X�?ci��}�Zv]�疞��
+�*�
WU���ʒ+�]�$�T��J1���(�>7#{��L�釧�qJ�
�
�R!q�L����\柂�����=]�`a7Ʀ�5�[�.��9���J������|�iz�;�!�>�.Q����TU���PUI�&Һz�H��ر���=�6
;ev*�iu���e��s;�������ҭ��ij��hq�8�t9B�=��ycS���hx�A;Wǭ֩u�^߮#�4߰�b��]r��I��e���~��:s'R��N��ž=��\���E�}��[��e���΂����F�*Ҹc�x���t̾
+endstream
+endobj
+20015 0 obj <<
+/Type /FontDescriptor
+/FontName /SIAPJE+CMTT8
+/Flags 4
+/FontBBox [-5 -232 545 699]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 76
+/XHeight 431
+/CharSet (/d/e/m/n/o/p/r/u/x)
+/FontFile 20014 0 R
+>> endobj
+20016 0 obj <<
+/Length1 1431
+/Length2 6799
+/Length3 0
+/Length 7755      
+/Filter /FlateDecode
+>>
+stream
+xڍtTZ�6!]� ��
��4�)R��
00����p�n�.	�I��[:%DE����������}k֚���g�s�}�}�Xt�y��K�2���J4��4�  P�$dc3��a��pB�'$
+��K�C	�o0E�'�9� B QI1I  J�ED %� (��PC�!(B6��;jc�����a�	������s� �V 8@���8��h��VP��_%8�m�hGI~~WWW>��������BѶ =
+�t��?%�@����� �Pԟ}�5��� n �
+Gݤ8��$�fw��c
��#�'Y�O�ws |������+de�pp�ݡp�5h+k���< 
����7� ��!�::�,�
 �(��e��:�Q|((�F��enڬ+ 

 p4�����H��M���_�=
�
+��ke
���� ;;�¡NΐNJ�97�?�


+	H�
  N ���-��

�
!����
ޞ�G���
�7�r�C��@ h�3���?�^
+ �P+4�b��S��X����$�
`
+���  ����?���p��?�_W�o�D�PQ���促��7��8�WX�ƮBB �_��]���%����>�|
�F ���pӼ�t��6����{-č�! ��oZ�|	��g�W����?������);�`��
��8�
+s����
� ��`�s�5!`���G�A7�!����>(J��@�V�z����*����#("
+ !� wB�AED �7C����&���@ߤ 
��� k�����o�������7�_��7���fA�	�QN�7O�����
CC
o��w�_G�o���o�Dތ�/��h�k��
�@� V��3+� �ꀖ�J9Wޭ���l[F/9y=瑭��x���/V��r���n��P�8y��|��T��&^����E���V3��M��}��������������c7a���e;9����R��v���t/�l�nW��}/��4�0�+�b˱̘����潋�E�ɍl��t�"k�Y-���� R(��dU0�|�c��@�A�JoBw��bh��S~7I�vֳ(�}Ϝ[#ʮ�x�
+�7��R��ҟ�b
I4�:"�X�ک��$�A�`�J�δ�F���K�
����D�jy���`��������8��z4P�i"x��;dNa7oNޗK�8����$i���p	��7nw�s>��̞v]xћ�|�$#�H�_����q�سzy;&4�L}��lI���x�GD"�VM��`�
sv��dp��JN�qU��z5�hUH�d_����1�F�9�$���]]���Pn�f�!�����q�����
+ho-�
:���n���t�M\�nl���a��P���~ɇ�k�5�b�C��v����3�CR�Dѭ�i�H��5Gr�y�pַ��~�<��h���|�}zut�v����9dM�����As1�~
X�[a���oMr��X��#!Ӕl�͉��}p���|Ƴ.x�=�/|ϋjL��Qi

��>^-.B�ě�FV�#%�%����)=
��׼�g�S��m�϶�
��Q�fωA?�g����q"�!����t�7$1�������x�,�ߏ���a�vӅ��G�Ld�G}�:qE�(�_Y�IK���!
�
�c��#�3b���$���
+�F�4>4���A��.D���խ�XR,
��ᤡ
�@&
.39���(��
��Xt}�;�j^8�PY6y�Z
� }
w��N��>�x��sNʹ~-��q}aޮ��il��*���V���G-3_h�E���q��#�
ܟ�-�����N:ޱ%�{���v~��G�
+&Ҿ5-��(fO����'�·/B�����'�չ�����7�ُ�����}�	��8gI[[��,��n�ȩ��Pf���:�1De��S��=�\��Uu��F�U��d�
��L훒����ۘ.�|V�7
G��5������)�4#M.o��罏L+��oϝ����c\W
�0I��0�m˜�U#��|8��^
+���@�߄��UIV��N
+}j��nZ�f�XE`�#��m�E���i����"���ߵ2?8�0�CQX���n�
+�
D!��	{�(;��4-e�9�a��<���<ɕh��4u��ǵ�GV��-�&���
+S7��l�Q����
pu��un�_+��͡!�
��qs�rNM���L+�<�o��=�9v��Da�=+.��f��1�)��#H�3�*n��]�U�����a�|wL�8���<A-�hSB_V��t
�Y���w�N��ռЬ��yo���
������W��	�ר���C�ԂA�0
�<�fqɊ4�ڬkO
�'
򍯊��g�y���w1}.��YZ$�t>7�����~ER�=�ˮ�
^5�
�J���0c�CRq]�����繒�
�w�y��':�"�5�R\��*sigk��_r�))9B<<*�G_'��1�����p��	,��)�u˫�ϛ����7ryeP_L��M��V=X
�
��
�K�5�x����O�����"*CK�w5�^Z�66���1�����h4��5�]�ׂ� �
�<�C}[��{}
h�h�|�&����S�Y�f�l�3�)�%
x$w�h�O-�.S�hB�b|VM'�6��sWQ����;�-�%�	�w��#�)^|o#�kY
Hef���������K�Ir�rO�e{� ;����Geũ
��])��"���p1�B�r�\���No��~�I���،�<H���7I
�~�zD�i2+ 2wlH8��R����������q��}���f��l_�@F_��#�yh��FK��{�
��Bw4��8ZC>����#���?p%����(�����U*��#qR
�R@���k9��*q����p�M�

�5��@�d�e
�X*"�k�}�����U�z� 8w���D�^�9��V���	�C!J�T>���
+'�40}�.�A�PƆ����
:����u��a[݈pǶ�mȝ��L
��a��[.�T�<s�cg�=Xy�
�����uU�ֆ̴x��K��q/D[ȵ_��9��N�pL��LD�mh$��5�6�q�<�
��:

w���rl�?��0��4_$�
��4$E�IT�w�!�X}�n�A�ܼ�}����I�%TY}��i���`�0�
-��n��qD��b��6E�;�ډQ �q��ޘO at b����⚙[�3hG����+� J~�O(p�a��Y�ד�l��yxט�!�K��LK�1R!P��qK��X�Y��)ϲ=� �V`e�^��4�l	�
�|fm��vx�@V��	k��e]w��q ,��(���e�p&~�t�s�[��T*��^)�׃P�N	PL�� �3{�w���^�VV��zҜ$�>�bΆ�
M��
�]b��i�uHW�ھR�{��x��^qt���W��.�-�`
S�;��������Xd6�L;�$��a#1�

�wG����/?)�Yg�O=(�B��Zk���%Gfq7d���V^ݝY���N_�|����&뿇�nZ*T��b�`"u/���l(�?4�p���#�u;V��c����S��e|5	ZY��O�!z���t�Cce۟w�X�_
�0��3 [...]
�V����9
+�T2:9��N�%O�e��$+y[Z
�P�j�S�)Fk��cw�)b�V!gӰeSX�Wz,� t�j��
V��S3�HyZ��l%�߼xy]�k��y5ݦz�.��d5z�
0�'R�J?������h.yC�)Ew7���r�ț��37�g.���
��d	����y���$Q�cU�YU��"���
!ᴕ�/O:��o�*��W?����SY߮�G�*�5��1Zf�%׉�8��|��I���H?�!J��y���8T`���v:�E��G|D��N��L���z>�T�э�<�>yn�+����P?�o^�X��QŠߋ����шM�B��[���	����÷��rkץ�l�lw7�HI��� �͔Q��_��ZS1��ӭ��L���"��K	���yX��b���]�Љp$�٨�۽�9��!��B��C@)�M��>���B�u�U���#QY�%���j��A@���1����}��q��Vih�ք���v�pL
�����u�;a�5˗�<'�Y�1cK���`��c��k�Ac~�
+~Vfʶ+�)+b���˂�J/�
���@O6���ֻ�#���	�A�a�'N�a,|&�%�8�D(K]7���r
QX�dz�!R4Q�� ��d����U^c0O�_�i9�y�w%�r��S�@<���S�R�mj�
���%*҂�w�X�.
J-�>��P5���Mkh0���ſ]-�g��m=r�a. ����3��
��	�/eun���*Q�1�:�L�hN9������Cl.�5|$nO#�51v��[��=&Rg͖�@���>���e[}x<��
��iY���D����'Ѯ$���HtZ`�v;�Zdl �4�[��Th}lܻ2&�rA
ݽH��g��"��|w'�kA��׸�W&�Bm�{�QNx� ��b��u���9{�, at l�(��L3�W��E����K�tbn��x4���Pj�!/�
K�LW��A�_;KcP&2Ltx[�9>��#zwV�)`��-�_r�:f༔9
;�-챪W�ۢN,E
+~^������|��s��[���v���"�e<����
�={)�iI�}�=<���(�2��"��U`Aؠ���{
�(��7�:����sQ^f癝��
+���H�6�X�������>}
:�]S/��V��V�[۵gx6C��&>�M
��S�C�>�cg�� ��Z��
+§����j))PPoυAS���w���9�Z3h?N}aq�G�m�ϥ����H0FLP8��/�l%��
�
i�cx�t�baq���r?;�P��H��s"�N�Nᔰ3e�Ӷ�!Ғʾ�p��Q�ȝ�Ṉ����9^
���FO�+^�`Y�RUQ��UI[vseXd��|��4Yw��`��l
y��=8]����d at E���f/ZJ�7�
A-o�	

+R�q� ���ۃ�Ռ�M�|�\Pͽ6�H8�iml�dwL=+Ǿ_���)����t�Ih��Ǒ$|
+�=��J\�\�"���}B�}ć�\f�Z;�Q��:��g�$	�"��cU�A�g��Z��1���q�kM{�l2����赐M[3%���"Ay>ǴO#�
�]G�	��^�	�������.fE.Ý8�~�)mꃒ�!%
Y�-pq���d�3�d{6eiY²
+�3o�;�o�
��;
v�u�Y���4`d�h�7��6 ���
)9�S��Cޜ3
)�$Z�/�4QZ(��}��w�;YIXѧP�a:{/,}���3z߲��rQ���c��
ljte��J1��y;��d�p�K��,�����\�[�g.@%(%���$;�!&x�@}T��5>����%��'~�����o>�ŵ,�i}
�ۻ
B��
�ƇP	��$
+�>�6���U��
ڒ\�K)�^��L��sTόq�ɲaLF�^S�y Eܘ"�31���m��:��
#��OB�=�H30����B�p	�
�
n�B�K�i��i
M�a��x�%V;�3�(3q��u�Z��+|Ĥ5���<�pj
+7��2��߬kB��M����I.��s93oU����!�ٷ�	�c��狷?��/�t�æ
h��xѼ��o��#�dj��DO-�j�YGH���ںj�?�Q
��L�:��;y��O�x[��u�;ų(�����6'w�
��
�)�`�a���{�B;���ʶZw���S��{4I��Om
J��e��E41�Z�3�x9���m���
B
��wƾ��梠P�,zj�r�,�߯�Z�_��w������n�� �G۰+�B�A+�,�t�^�1:�eI���9���#<B�h�`��d�6��ξ��o&[�,d���Z��� B3�6\&R�'-����O�UJ�I�$�uT���o����?�r 
+co�G�tѤ��5���;� ��Y��m9d������IY�d�-�gz#�i`�BB�Z��tv�~X�}A�6����t��T[	
�se��W+��u+n{R(���
>�f�zc�s

O�o����7�{9%��9\�kc
�k&�M_�1���>"o�,Za���y����{��о�%<B�
�G�ܷ�}@�T�?Wh��)Ql ���C2,�V]W
+�3w�=����Ř\Xա�ύ��]�Ԫ��~"
�]��X��Âfl���|"�.Y���U~ZԠ�F7���O��c+�
�+fR��go���'��Hz�\�:�)
�f�\��"��
-���!�Nc";������p���G�z��ȉ�(���wBdG�do�~��
�z�MF��u��X��@���6
�:��`�eeŒ1?�O]_�
i�/?��엝bU�MG�*
�Q
zl�/�3<

��H2p��?3�0H������
�����uV��m	��xa
+Xz߼4���O�������0>6]dLV��}����W[��U!+%�R⯑I�[pI��@�R2�'���'�}�
+��~:�%of���h�l��
[|����ó�A�ڑ�y��m�f��|�]�E�C��̢-@����w��C��������3�ǝ�	�����fj�

2�<���

���>4�{V|7F�J���uf���_a��8�����'�j�M����C�
��aNw
{:���`]
���X�z!�{�����(�q������"�݊��UHU_����+����
����@�^;z�G%�
}":�T(I��-��+�Ċ����
�i�ބ|�����*�=%k��/������	�����CB����}
�Wo|����Yr6�;�

uE�=�.*Er���ɂ���	�W���0��Ae����@B��P�@(E�IT3���U�A�[�"ڛ�"�ˉѠ�o�{�0���ý��C��d��>�>��y#(�'}���
A�g؎�qyZDdj�Px�����e
d�vw�[rbvn%��}I��u�ye��%=yr�"��\���	bZ)�`�jHW���F.{�����|x��>IѦ��k	�M�U)��8G���'�ތ׾j��~�$X��u���4��Sgĸ/��:e��o^��,v�/���)�bk���a�z¿�4�)�����
)��ˡ��t�Jb�.�0ٖ�p��=>pqY�zZ3!����[����uo�
��5��ݒ��+�ڟ�eJ
����̹*m���S��W���L�}��S��R�r�Bwc��5�-��W����v�ju�
����Q��φ˷�vK�q�Ï/m1�g�eWdT�-���`��ǬS��.��gq��סP��/P��5meD�F�ѧ9���F��u ��#vG��=r�k(G���Ȅ'�������ymG����
}=�F�
�I��N��S�4�oy�f�rh5.Q�eZw��NM�V��)�}M�ջÈ�
�tQ��2 ؍�/��
+endstream
+endobj
+20017 0 obj <<
+/Type /FontDescriptor
+/FontName /TVEUDK+MSAM10
+/Flags 4
+/FontBBox [8 -463 1331 1003]
+/Ascent 692
+/CapHeight 550
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 431
+/CharSet (/arrowtailright/forces/squareminus/squaremultiply/squareplus)
+/FontFile 20016 0 R
+>> endobj
+20018 0 obj <<
+/Length1 1489
+/Length2 5062
+/Length3 0
+/Length 6031      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�]�6% ��tܔ���
�H�� 
13L�)HK)�` �������4J�H�H|c<�>����}k֚9׮s���=���ׅT��-8
-$
+�
���� ""� 1nn3(�򏝄��DA�0���PGB�h�M����0���8 *%'*-'"�����G�`�3` ��a	�:
Ꮔ����?G�׉������zA�P'0
0 �� ^�����u����W	^74!',���
{�@p��� �
E���q~P
�^���@$܀���q
��#! ��	u��P�
�����u�#�+X�W� �9�(H�O���?
+Aa?��NNp/���.PO`��B��0��G ���}�PO�#6�������	 �2��億"�(
+�����2�6kœ��^^E��}P$�	�w������}a� (���
g
B�
��@t5~�`M$m�4 )".*+#@������
����N�f,�� 
�`i@��.�I 
+��H
$(�?
�F$���3�	
8B\�0��ձf��/��?�؊`�'
+����9��*�����s����V&��)�q����� !II at HB
�Sq	q@{�w�?
���O�1��u�QQ����v�">����{m���`�����������K���?S���Q����H
������+��񃽠���"41��XB~������o�.��
U����AQZP?��1���K<?��N�;W�w��<b�R ����`"�
c�(v˜!~?�	�`p46@`�A�

I�c$RҀ���O$-k�E����_$��ER���_$�A2�*����_$��Eؚ�� Yl��$��A�hv�~���	�Db�����M����@� N$�p'��Wo�^�2�
+-��I�u���[.h2�,���+|�?��<�����/bOϫ=�hE<n~
+̊���x�悋�`��e��/(}�ؒ^S���8�ٕv�ƴ�wOe��N�{{q$wU[�jM��s�M"��u)^_B<���8)^D�jnC�Z���p�.jG��k*��귬�
1ɹ��bA\�l��Bo/wM)s�U�Q�a �^hդ�����&"���{]Q{û�i��f�x(�{�q��>�h���sCVCEZ%q�!
�q��V��S��>�� }6���3�x�Z

�S�v��)�q{�\�uN8-��]�8
/Il\�R��e�6�
7;��ȅ%-]v+Ykez
+���,�_
+z+JS��S�|�V��������
�f�:'�ޥ���h��F��R���u&?
X:��
�GvOx߀�:����I��xw����iћf�L����v1�gUmK~/]�!�۰�G-�>1�V�.�b���V
��
�ʁ�[�g�Z�]j�
2��b�@�%9�C�����H�N�O�߽�Dqo7x�d�[�ٍ�W*1a|���ƹ��ǵƔ
�����
:���
ȂvL��bMto=E�29dtg�pZ&�*Y:?�
 L[�[#�>D~m�iA6��/\�M�����z���9I'}�ln�����2+�K#-Jŏ�b��xe��K�d���dn��R3gv���%1�

��ԗf
+��I:]�/��8E%1:�W�ľ��ŕ�.�7
+

��/��2푺Pc�gZD�&�1�*��E�ڠ�O<�W)�X$r���ϻ�ک*2\��"�4�I�a6���
����l�s����u{��6����T_�7���
+�dQ�xı]LV�kz�`��2&�����z`%�����Dj2��+�5�,���18�۫l�)�Rig�* ����O�=k��_	O	�d�)�7\긴,bI�V!/���*����%>��
�Y�-�p�
#��"�OO��l4���+:����B|v�8���Y�3��i�I��B������2���������r�
ޜ+��z_
+ہ��N��+:x��{�1z�)'�.�*���HN���
4����g�9�7b���{�EӬ�qK�I{&�
+�����WW�����:]
�B��o8a�e-�
�޷�0�$�Z^�����1��H�����ʼ���T$�F��w<���Wr����v?�|Q��M�g*BI�!�b�I�a{2��$l�d�ݝ�X�Gt�g�ʲ��d�QZ[����8qⵙh[IE��Z�ϼ�)���{6;3��C�u��Z�r�eִ�"Kԙ.��O��~�\�\a���tD at 2������A̩i�W�H��W�|�Ql�� 緛��Zih��0����"�!���x1�B�b����W܈�I�=��G�_��"�����ƫ{L��5���d{gV
+�k�e��Μ�>iK�&`\c	o�Nx�y��@��ci���C��\���G�M�J���Ӻ*���&BM�y^k�7L0=!����'
8k�o^��SO�{�߫���\�M�˶��@���	�%9<�W�+�i5�]Ío�
R��A�
ޫ'��V�8B�����,w�-����9����x\U�B�/_�ē$#Q܉�"r�7�3p��֊���H�ۼy�*��wO��ݚ��5�o�}e���۠�HfD8^�^I�����'K\>�Y����U
�Q��kƦ+c����
6^*۶v�dЖK/�E��?`�e��k;��
�=qa��P�[�E*��6o��>��3�XK܋Z!���zw����� � X�}q�x-���
}�0je"�йj@=��OZ�u�
/���/��1o�c6N��
��w'&��N��l�c��fXq���G��
vM#�[B�+kμ)*� }.�@}G��o���X�p�;e��>x=i�Rm���Q�{��h}��9�
#h�tH����G�l�4O��	yn�5���2�Z�^���%����
\��
+#��Ix�V�f;_��#��KV�|AZ�	O�b��6��w�M'�=��Ɣ
+M=4�+�z��S���{΍��0r݁�a2g���� ��vJ����,��zv��|�S;�z���8q$fEw�
�hV�,��M�-iMf
��C�� O+�Z�N��H�����t�+�X��eޚ��0�`����E<=�V������O�f�k]
���(lK����V�0�]^����J�$\�����e
+֨k�()�NP�F��r����J��>T
Vۭgb�D����d���I �f�v�3�W�E�
�S���]r.g�
�lx'���W������zN1��WwJZ�r�5�>��g昍�{�+��,����BjM�#�[�T���l^�ٛ_F8:KQ�GE�bC(��lm�����ͦ:G�3�:տ5�$�H���` ʴ�>S����OP�� ��W>1�p�`�gO
�c��o&�ݫ>��G�Í��u=W�SV�L�y�j���e�u�W���Lw�ioǭ4z���~Ѷvw��}�&?�,�a�;C�w���>���O���ڤPX�v�$I�
�J*�;�~
�4��
?i��̳��辫ʽ`t	�Vp2��Ϗ�n�d†�ym�J����ԫI���A���,�	l���
��
Ъ�d5<
X�-�O��ҧ��e� �[q����S�K�^u�C���P��R��5v���9;��:N�G���¨8i��Y�G
��x�V�
����]�L-HC�|�C�͠K��x
+w�t
�K�F�6�F׼+�.}�NK.������U��+�����`},��z��̵D�݅�C�!�w[q���x,6���3ޯI�e?��}`��5ÐE at g���b�ڥh�{񭬻k����
2��q�P0Kt������w`�t��˭�Q+�}7{CN�d�=ޘ�<�
M
{�A�MX�#����P�
�� ��#bgu*�����"��sJBC*�4�
�(|�{j��{����Fh��6�۝Chs�#a�{䗌_f��
.�=�L����zY9��{�����;�(�d�}�όe��&8�9��_�L`l�:j���Ţ��Go���+n4�vs���a�X�Z£o��D������^���Q��~�f, ��է�,��my�h�� /�8z!�R�[��
v��/K��F�_�ũ�Bd:�7�ϔ.�S�ʶ��d
�'�d�?��3��Iw���#�iC�”�4
�t^w�S��
�byގ��&�!��	}B�S��~��m=e�2A���mb���I�:��Ɛ�a�e����+�[V�.j��Gs�ÝĽ��^'��
5��֋�����tHu�X�KYў�\T�o�i}~��>`�Bv�>@��@IRh�ƹ�gާQlo��J�}S��Nǟs/�g$ɭ3V�6���F?�����n}M���=�W_ό�7��U���O�:���[Usv�Z��SM��H�����pYso6�y��7���_�E�q�gq�O[:Q�K�JC��N�I}��Y]9�ofp at Y�k��x�yg"�]�,�O��-?s*�;�d�fbkĥpe�%�xGey3��VIeb���8VmO�
�<X�;�������a��U�׾8C�7���ԩ��H	���0
+�lW2��%��o�Y#�����iM{���킛��@�t�&�G��i����,)M<��O1�Ҧ��ۣ�el�q�� G9yn6�:��d/?ߕO�	�jK1_:
ؒ%�^��aG4�"� )�{cś�k.Nv#�O�
מ�M�{�{-�3E����W$R�
������zXJ��N�^x�ldo_m�頼�q
c�d���b��H�����Y���ښ���z���e���
+��2�EN�7`�N���u�G��W'Ƿ'ť�"��r�F�p�/-DopNo�x�u�Eهs׳��ӂ�ꆿl�!k���e�A�M��Y�5����2M�[����yD
�B]�2\KO�t�0-����$Ȼ-~Z�|�]�E*�
t������j�<����%Kf
�8WS��Z3w4�
SRA={;5!GЬ�c�'`�d��m^Q�%y�A{:�~�ǡ�D����q-Nv捾
-��B¸���#�C��=�&[5
$�ZIP�3�:n��$@�}�cv�WsV��w�ɸ|
��;�ѱ[����
!����da�!
V�͝aOג

̀�c��c]m��>��C�W'��u�>�����Cc��N}�n\k�n1Z�2J�7���s�zB^�f�S<�
��������XcBg�[�&5||�����E�
�������xJ�B>��/���a�
�+�ºrh�����).�M�l\�w��>~B�2�nhR�R�0�e at 1����f1ݰ\1�L�6V�-���D�<�$�:c��������(�Y����<^��I]����c*+���
k_d��KL)�-W���v�9w�l�҅���VeF��Q,��d����7W�v��;��H��~t�,�����\hM�,a&��ڹM
#TY(c
�4�=5��[T|,�؈���)͕,��*����=Lv��䬖jh���o���.M@�T�L�9C
*��ztɞD�pR��U�q�)z/�o4�9-!��2�Q8��Wq�g���f�~GO��/��G
���7�*%�QH�?�7ѡ	r`bP4�

+TQ�Q�h�T@�3o_�|��C��t��`Ps���Ʒ9�
5?]��WY�������/QrQ�gl1�e?98v�*ސ�K����׹�O�ȝo\U����
音�'��sd_r���FmX}��·�ؓ�`�Z��&#�V�0��Q��T�bA�6�@>�n�Y�s��'��D&
ޱ.���yE�Y�k�ڈ�3�e�yL��qK�ߺv����\��P��^�
:��k�v�s�1Oۊ�#j�z:���W�]G�7��ߺj���D�"��J�ե�1�ڔ�mp8
�(�_bf��Ǵ���ѿ`x��T)��e�å����;l�gZ,Q(�J��r.�B;j�NM +�9O'g��4+G�@�wr�u���;/+�q�֘I�|̓�Y
��ܒL�5�>B4
�'�Y�6M�%]�7�
+ɗS��
g
�����x�u��,�����9]��tԬ���jI��2��2G��ȁ
�\7��=���jU�D�d�}��8?ږ���L6�'b˹z	=|g1���b(͐�v�kg��X�� �Ʃ�
+endstream
+endobj
+20019 0 obj <<
+/Type /FontDescriptor
+/FontName /UDLXQN+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 464
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/C/F/G/I/L/N/P/Q/R/S/Z/emptyset)
+/FontFile 20018 0 R
+>> endobj
+20020 0 obj <<
+/Length1 953
+/Length2 1757
+/Length3 0
+/Length 2422      
+/Filter /FlateDecode
+>>
+stream
+x�}S{<TywKLmԪ&��
���1
FH��ȥ��1s���3�ܚ�����ץtѶjCmx�K*%*�&a\ze��UEYރ������~��<���{����`L�����ž<Td
ڐ
��
	d 	 ���D��!<���@� `k
�$G
+�Hv @*�#���P
�m��$ �̼p �����G���A�< \?�g���1	,bJ�Ŝ:h	`�,
ʑ,��#���2/,�y�g6�
pa��
+L�@
�X0��,��3
R��3
� ?e�ϯ
�!Lx���\(���<8a6�`��6�&���"Bd�̯�)�p!.V��F��q���s|DanB�80@�K!BOD
+�興�!��ˇ�,X�AP��"3�
�I�yXh<�L at a�����
��Dž�y�0ʚ�3��َ��na�a^V_�2
�P&���q�-��H��\�E 	�
) K���6(O�
�b�
���fL b� �C�8�É@�X4C��0��a�|��
 ��B$������
��(
"¿�.�G�>(
BPQ���e�3����_q $ R �4cU��=��������xR ��%ֶT
+vmH�b
H�='c�im�n`��s�F0��f�:����+���|�ɦV�ȇ���䕶�֏R}
��73S�&�a0�c^%U��h���&3�Y�[�Kv��I#���y���ր���ÙWs�n�rHխ 㒯�������0Ot����#B�D�.��uo�
+�t�B�4���sm.�Z_�.U����ui?�0حBnd1F�朊�Rs��
e����<")]ϟm��b
�h��?x�}L=�s{Y6�Y|i���O��ۭ�	o�o��F\԰�b�T�^4ңI\t���J�=��Z�^�Ve9�u�Q-__�N�X��
��* ?[�iuR��>��4�Y�%�K��do#)�n��
ٵ��kl��A+��p)cx����M�ҽ%uG�:�
'���F�S��MJN�*i��}�j�e�HEOY�͹����� Ciu�֏�F��Bg����	�w���=�j]�U^��cv��,\�#���������H�k�WQ�{��ejA9ڈQ��8�0$6S�g�ι�j#��.����aT�9�t��qݺ��E�M\"�w߼➾y˨��]��Q���&�w�Q�w�{�z�w��o`�=F�&�5|\����}�i���Q���L��/��\S���M���=��*%�B�u�#����j����m��F?��k5��ǃ h�Ǜ��C�?L�Ot3V. [...]
+��e�i���z2���mg�Ҥ�b#�X�3�.d�6���K0y�o�����į=�#�s��;�n�i��N��r�ig�M�z�a	�Ԅ�5�i�i˖���;
Aj��O�n
+;1�v�A������s��R��*e�j��
ѿ�b��[�J|�?kYݮ`�
3
�^��Y�x#OEbAI;:ب���
-�Y�E�i��zx':��em��6!�0������&�?
��� #�F�j����޲u�k�j��GU��2a�^��3�
�8��T7w�[
]&g�kn��˳]9fib��	U<���N��Qw�����o�.�&^�V|~���)��x��jږM��-�������P���^�UOk�������>�c,��VQo���*�P\����X���Ƿ�C�x	�����Ke�k�Y$�@3|��+y:��ȩ)p�!Wl
~��EIt�*G.�&K~�C�µ�ۙ'��e�`+.�GϽ�_���6^vQTܗǜ
+�VM/�א��\\ǃ{��[��^��@���?���+a���Z���M��{���u�Ӎ9#��d�#/[��c���R���
Ws�
�쩄�O�?P�
r��v?�}dV�8T�Y+K�iM��֩�}:�5_E�
��胆vŅL2��"�X��4�s�/�����o�ҡꝥ�3= (A�P{H����lQ�����Q���s�=3�lO_�&�t^�Խ�����S��֜��M�}w�Ӣ���	��T
)	+�;Y�x�PR�wu �ӹ6t-��#�]�H��u9�O��i��}�F����G���"^6-�SRW1�au/�V��Jݾ��tzƥ]:'�
3I��
+endstream
+endobj
+20021 0 obj <<
+/Type /FontDescriptor
+/FontName /FBUTUG+stmary10
+/Flags 4
+/FontBBox [-123 -2958 1055 803]
+/Ascent 100
+/CapHeight 750
+/Descent -1160
+/ItalicAngle 0
+/StemV 25
+/XHeight 431
+/CharSet (/Largellbracket/Largerrbracket/boxslash/llparenthesis/rrparenthesis)
+/FontFile 20020 0 R
+>> endobj
+20022 0 obj <<
+/Length1 1612
+/Length2 18815
+/Length3 0
+/Length 19656     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�-�v�ضm���6;
۶����8
�v:�����}ƾ��9w�x�xVU�Y�j�Zc,
+e5sGS����
#3/@�����U��A�Ah��k䀣�s��Y;:���yZ at s�8�
��
+`��ၣ �9:y�X[Z��5T�h������O���z��t��t P��� �9:�
��B�_oTnV@���
 ���#�(��R� H
�.&v ewS;k3�����H�pt���`��`n�Oi���D\& W'����m@/3��?.z��������?��`�b����n� k3;w���[8�K����o��_�_0eGW7W3k'7�߬���������ܮ�� G����f�����/�_�����+�
���O.S ��������o�`N.���pw�v��O� �����
���/�_���u���M�������o���`��
+��`�ca�����onKk8�E������vsw���� ��� �f��/	sG;o�9��I���oJ ���ʌ�}"�7H��"���������o����y��В�vv�&��?.��� �玱3q����[�y�6��@-������q3��
˿�032����U��
h�l�ff�0��۩��@;k�_E�m&�������ԭ��l
�i=�������_����$�$/��D�_�����j������(E���-��u��2�=�
�l\ ο	�YX�����a�ϵ�����@�o��,��?��\�	3G�fE������x�/�?n3w����{���?��:�4�[]r4�
����tk�����g
w*oV/)
+�s�
̈��6~�gl�����^<s�8��=�ُeG՗�*$�'�(Bݤ��;
a2,G�<���{� �
��ɬy�;��jX�E8���s�DD�Q�A��`���������2���jx|lt��r� �./
���; ��$�����O��'���.�J(J
8�yJ�w��n��:#"��"�Q!\Em68�s*�y�n�j�X�㥅A�K��4Ӄ-̷S ���X
+���f
�mSH�
�vK΍�8A����}�V���o�{�Dd��C��]��f��]�vy��k��0���YA�%���"w��.�l&Ǡ�@�2�NJI���m�����Z��g�
:�z�%���s�>�9 �y�2��Go >��	2�)���j������=p��҈H44C��3`��,�HeB�=wG�n-�f{��
��!��JF�}H�A�f'ﱭt3���0eT�2���
��?E���Rj*��rA��*yC�X�`��h�u/�pwX��p��Ɓx:˥@����7�Z�S�I̙�:FIu���Y�~@�
-
��9;�@��{G��Q?��;�
��KE��e@�?<>�^�Qs
*g
����b.x�R�p���ʄޟ�4�ZA�À�š2����
+����a��pSu��=D�NK>8蠕�xa�m�5qa��R�r-�ƪ/��oZ߆��'�S
4�Vw'��y��i�Q6���=��=f�f��0
+�_R�*��$N5�m�]k�
�fo��V[w!s�-j,:�}�m�iћ�'��8�9��y#k��y�;�|S�k�����z���7}Dq4��^�*"-�k93Z�
CJFf��C�U%��ȏ��v��
+W�l�#y�O�Zv0,������&��I<Mظ[��|)T�w��<���/}?�Д����ߍJ�ؖ�ߎ��*c
��},
�d>bG-�m2l�}
���4�ŋ�u�;!�8����'�
���2��rz�a�O
����s͖ߢq����@�0�����
����4px$I�P�r��/��a%[�^H]"�a�x�A����*{�W��
D��a���+���
Z����5K
և�U�it
W\�=1)rd�
�)8�
�
Rf#��ܸ�?30�N�S at E��&�	H�]�s��jd���k��KVx4%���
x��N`U�u�h�nt��9sϧ�3�{�,T���I��w�	�g�
����i��Yli��M��
e ��d������y�Z�k ��@���DR:�ƪ����݅�F�,��_�e���tP���l���QДT,�����Mq!�lj��X
gMH���yj �?��'�

+��w`ۂ�g:��d��i�:�:	��
h�+�f�}4ↄ)|M�
-�'��;a1�z.�Y����(:�wM��|�_=ӎ/��>l���pk=�ޭ���8��(���<��.�}�@wԃ���S�y
[d\����D>��&������v�̒>�# ļ���}@:J������/�����6'��Y�}���5���4%���C[�����7j+A8�m��rTB���
��LeR�Q5h�1��;l�g-b���f���*�Yw.z+W��EH��H �j�����4o�{/��Yw�i�	�w���͞7�)��nQu��]�Vg[B���"�vA��iX��H�
�	4"+N
~�W_�9�:�w˒*%0�"[��a mU�P��j
wU�'��܇�W
+�L�Ũ�a����/h�p���J�A=75��}�EL����o�	
+����gS�b�Jo�|_�W"�PA�3��
�N���3�O_���3>���Y�q��
�Eg�9�z�����ɰ@ُGT
>�^)3��%�̹Ӗ~m0�� q�Ƽ!��\]_�zaD�ِ�Ѯ$y���GH����/�s�o���C����R^\G=�|��۫��f�O吤(��"�t�Al�I	�g�ػk�b�
t��җ�5!��|�gec�p�[w�R�B���D;�\p�b_�6����f�\����
�<����
��ՎdI���IJ,La?�}�x�j���X뙜tj>A5����zGȷP��涮!휎b���R�q�}�����,f��WU�x��
� ��T�*��
+������ؗ@��,8PQ��h�F��9�Es�:H�&fsv��ݗ�4�{�c��a���ok��c��2�+S7~�
^
+��N��~�<�X�}�}s
��D:09����,�kH��zm��-��Ƴ5�q?:�L$2��-e�W��g�尤!�&��TFD�_�q��y~B23[ؐ��I����v���Z����3F� r�k �[��;uI�&�JA�k�$A�`%
B[yI)�d�>;Cr������iَ(J�_�'tX�
�U_
+��d7�r�X�0�s�ןQmi��0u_}s8.��:
{�"v$	�v�I�!M0 v�
n��j�IeF�9���T5�)ಐ���z��{����F��m�wû���帻�VNj���CSϭÅ�Se�)���ue����eV|�b��\��f�.?�\J_��I�\V̶N,Н̟��VGJ@�6�P*�s��:D��ѵS��Gz-x����X(@}��G�e�eʰ�ݒ�,V�
�K�Z�\���=�
�7��B�Q�':���I%?'G�
������JBC����Q�p|��C�����{���5��=Oœ�/h�b�����;)Mi�
�uv �(
z�w*?A4@��9|X�X��?��fY����E����sd2�U�
�[ب"1f�(���1�)ˋƴ�f
�%n$��Ef���:�|g��ڳ*�yɈaK��"��Ў�hR���aY�og}2p�o����flē� �HXI߃m
��$�S��e*\����,�awպ''�[G�|�4Di�"&UKw&��� [...]
+1��H}ۡ�Ol�П����4CGܜ�b|2&(�*kaes�(�w�8�Hʅ����DzoC������B ș�
�j�	-Mf`G�}
�g�>p�-��>b=��M��z��&�g"����K�gf$��(��9tN\N�r�Wr�B���w<�� �$��ߩv4UU�ڛ�����ܧ[+�e�qt
+只�����:Q�b=��B�d
���\I��%�;x+
+[?/

*�R�9��^���1��~އ����L���'p�-M���i�����z����2
z����
���
+�'��,�'��p�l֫��3�)6\�Z�.@/K��%"bW����10��?E
щ��P��J}0��m�
�j�����*��T�޳�U�۵F
Ƞ���lݕ���x�0ѺkSFOv�eq�ui��Ď
=���`�gK�j��l�
�x2픶�9d��
+6,����~�5J�"_�kj�a�z-
߫{�C�:�b
Z����@[��D�����k-{��33��0q
m�1MH��9W�6��W�OԸ��ȵ]E�x.��:��H�������~#|��z��;���o�y
]�"t�	�������(�bG�2��DCҗ

8�uҌ`R��-���.p���-8�A�L��J�-̯��C��oۃ16��e�t��SG�D��5�:�T�GB��ʥe� 햌�ᔦ� �>	���Rg�#5p�gv�6��8��c-Q3d���{���
+��@=�ɏ�w���$1I)e�r�Ջ�?�st<4�2un�҆Aۺ�8P͠|k�R�D�'Lگ�L�(�
ǰ�4�6��\��(���&
qϨ������2E
k.sZPQ�/�����;0�Ձ�]~U4�rg9;�lܡ>}w:~��=���N�����y��#�G;d��j"�o1[��׭
��ۦ��v��٥B>�yI�6
X�����B_z=�]�>m=��~�-�Wb��$��XAI&�F���6P�[�V�_A��4P�
+ɿ4�Hun�m����$aB^�����5��n���w��Ԁ�
)����c�\bK/·%���>EJQ,8���.RW�y��~?{�Pۊ:`�ӘhK#��2	�y2��Na�������!`M�ПGM���9�ciz��ښ�7-�\O,F���ȓ1Z��I��/@5I
�3�[��P��]�7�@�a��6�ţ*U�k1N��X�$�fE#�v7}3�1�fT�~!
�y�/G˔�vu�;�������H
]�72g}���tPU�=/��k��]��(�O�bn܅� ����^��g��ɛ�HܶEUgҔ@�
N릐et3���gjo�>�e�>�Ԁ���,]!,9Lk�
�.�9F
��MP
<Oh X<�5��iBF��ބ�9N,�FƊ�
�H!�؋XTV=�4�\�=39+�.O#����TPaℕ%ME�o�����!2�s�
.�0ՊNbO�V1�`�rG(*������H�CÓ��$ҟw`;k�ݕ��n��XN�}�tz�s��

���J6����pG�́,R˱J%� [...]
+�������]�a���|q���\
m���r��|t�dvF��a���y�)=��@M\�c�2�pX����|Ư͠��8,$#��Xc`�\Q�W\�#s�Qkꑼɉ�
A[(!�ʫ������dt8y���v}�U��7:��r�ٞ,B�:�R����;��J�
3e
]����+�12C�}:@�FCU/�אI���J�^�jhآb�h��:":g ��J�s��b��E��c��z�C,�ϫ�h20����x�k������
�{���c,��s��7wTa��X�L���A=%�P���Դ��
+M{z��X���?f8ΫH�����G^k��˥W-T<cN]����@��AB��
!�uv����u
0m]s3-ANN\e���={�����h����������ցJ�+Zf<�3b������xq�!�jx��X��zi.�� S3!�W^ɰ����zx �5�w�5���}{&i͠U5q
cm�P�{��H~����/���o�:v���sC��t��N��S
�1�ƒG;�Hu՜58�uRޖ}����)9����('�+?��V�W�
>(�Kc�"s��AE
E��͇�����!,_B&|�Z]e
/��HC|ۂS�\!Rq���o�����
{���]��U]}�tOH�b̥���b�Q��A:�Z�ea!GVHVm�`P:��,��T)�T��R'񊽽?еMc[�>/����=oZ>�TRY�0���o�8�b<���r�<�]��&������\ix��9-��I%���ړ�sh_`]5J���4�Rj|=Nl�ڣqI`�����������U����ȑ]L?x��n��"��&^Y���c��}�����Q������a�M^���w�L�Y�q�[�>�gl�=��*
a�,h�u��y8eÛ��r��+g��BLDy�1GĠ��_"|�b��?��<�&����\��#�~i��j��9 �vau���
~7X��4?��V��	]� �
]��4.���wV2lM%N��9��B��Iu�������ip�N�U�g{�Yw�N�<e"�e�lB���բ��ҏ�Ye'H^(̐�5z���sOT��ȥ�y�[`��
�-5~�?����C�
M�Z`|ML�����i�
[�	��78fۗ�� �O4�squ�9�j���
+��%�}��l����炀m�4(
�Z�\��]�&=
�MQ
+&<V��
'�w�阮�2qm�h
���{��i&��JrM#�/�/:�9vQ	$%Zi��I�觅�}V&��
�?��R=S����1
�����
+�\�e'ʼ���0SM=wY
z룅�:��	��.� ���˴+:X���Kk�ʤ�j6�2��]�ݩ�_3�@%���@L/1����v0,��Mq�f�ۆ���j�A�h��V��2�*ZcZ�*����*�Ao
��\�A-����2$Q��>x�k�
�!|_�6�o�p��j���V�0&������1l��;��Å�?���柱8��ʰ�3��NB2A��p��+�{��,�Z7�ۍHĬ]��-���\�A�"k�!J����q5�m0�Kv@`��?ME�<j9�b0�K0v�!M��ı� f�����8
��ڽx���%�]&�]4��
c��'fӕ@B�h;c��d��
Vln�o��(L�;
�
�w�R�,�6�Ś[��x���C^C�W*�Y�yf�Ž��Ř�'��Ҳm:�ޅ�͵�K"�z�ܨ�ʂ-;�6�
+���3�'�*�#��#ꏌ�
��E�o�K�C*(y��e߫~ʶ����_�e�?��;!だ��/^O)y��#y�M��,��R�h���1GO�j��.����e��q�T����p
W�U�lD:.�
!��p4=�2S����0�]�۸���eB�'e�\I���KA�v]Ж�v�
�&m�/
+���~
�譒�4HoC�����d�iⱔ�
�6��*eu�t�x'?}s��
2/�����܍��:/�=d饮_�۪�
+���8���V~�)y���Xd�a�Υ��)�#O��I֙䡧�w���]�S�6
+l��@ǽ8���L��5ʽ\��
/L��JA��d0�]�&q��
	�n��?�{�$6,�p��ߡ��V?�u��j�1+Z�P��
+5E�hQ�:���И�&��*CV��[��ՙ�QJ���@���"O��{z7״��y�-5�Ue�V��|�M%�$'K�l�ie2&9�`S,$��=��po���C+ڦ������
�F� ~���
���-Nu/p�nS�8���1b�i�,��w��
�e^�<�'��$�o������!y�?͋��
+�6�e0����T��+x:��,�3�Ǿ 3����}��,�R���^>Wx�A�
��nWr���)�\�n�
��F��y����n�z{t�bȓ�����
��B�>��5_��"��h��u�xx"0��u��
/�����'rf�[��ޫ!F�me	&��:�N���P��K�#J
:d�4C��+C��V�?,i#�Փ0��.B_詺(����
���^�Ò<��
����%,��alO��֒L��{��
�f�c��^<G�S�/Fy����F.���
���^�ɢI�J: C^������7���⣣��(��E��&B5��ǷWO��(68%���]��J�����G5�bhr�
����ג�Y8����j8�H�۠m��9̅ �a���ǘ���^�'!��(��w�o`�q���]#`S��tr�5��#‚HQ���?$��T�|�l_�w\4����^\��q�TC!���>��\&?5�=ȩ�|�ʛ��K��$��W!]F8 [...]
+�*�"���^0�h,��nX�UC���o�p����宅�N�<4y%��
`�=�0;/���7ͼ���X �����/����D��0E�f��
�_�5r�<���m�k����^�c?����v�����1�)Z<�$m��p��Y�Qg)���@
�����
��\"ЀP��K��Vrb��!Ch�!�{�mB%�0���;��m鼒��	� ,
�e/���m����r�>΁�P�
?\�aO+����3X�.���hQ���r	9Y}�$�%q�E��Y@������‚��d~�\^ݮ�r}��s51<���3��e�\tFٵ�)�ݧ��u�,���"�~1n4\��h�h8ٱ��'����]J�D`���!v�G9�C_m���o엾6�

�L
+�Ӻ�����׋���
+���X�k?�H0�sB�H��o7�3Ql �P��&Q��V0�0(G�i��a��7Lh�V�!S�;-�?B��
�U�!�dH[u�j�`78}߂�f��Ģ��!�`��Ƥ1�\�յ0�J^m
�,+ Iՙ�.�#]0j��v3_T��
+r�*�Y"5�=x��"LH�X���	���TI���-e��~�Ktx�d��
��[$o�O at D��/��s֧!o\y_l^�������
(i�N�}�]�����"�j>�L��t'�.��d�FY�o�hj�����6^�1�d�����_S�!�h��ɱ
�؉wq��4R`[�_3

��m%1X_�υ[��+�e�t���G�1
�+�����C�������o�9�冂��C��J��O?
�:�h9m�?i�."Mh�F_��
���(
+��ucpg���e��B:��j�
�S�
�,��

%���� З�Lo�kT�س3�]�L%,:<8,��,oyi�
c�Ь�Q�;I�XG��O�*�t�E�o���k˺ڰɘ�t���y���j����+�D}��?�t��-���&ܑ�OF����<�B^qج���� 
�Z���z�Y+%q��R7� Uм�w���O�7��%'� L�c˭7s�@{�X��Cj�a�4DݘS����i#йh2��a�� F�B��߅�!Z^k�'�7>��ι�D�)�̑�z
�dV��)@�>3F����Դb�x����^��
+Bԋ-��|��1���z3��P�&5����
�N
\��#f	7\� }L
����%��b%��A���U,�/��O��\��.���N�o�H3=W_�tD?��� &�8ӡʵHI
&��^	7��L?�L#N�nU/���F�8��$~��c�V��V�1�"�J�\�.ŀ�7�-���)���C�A���
�Ǫ:׆.z�y7)�
�jm+NX�t�T������+%���w��N/��6��ݫ��y$4
+�'`��T�HY0���m$�hSr;$t܂l��♎h
I�=�K.~�'T:L����áԕ�!^dB���
Sc�+:\x�e���P�HA�!@L�m�~#C~2))���rv�Fi
r=�cR��rw�. �#�ᵠ�+#���Ѿʌ�]՗�	NK�'�g|��n�ȥ�@�oh���J?��7�>���F^�z�Zgq���S�k�frv�p3Uxw3W��=`���m�/�% 
+���z�y�RS���x
9�K��4���f�A�����
*�D�x�U�� CA9���]�L(�4�T��灤?{�}�V6N���`X�'
�
QޯOؤ���`�ч���U"]71�-��^.�F"X��`�=�Ή�
W�����m�[^��~�ωo���ͨ����+❊f��f���J!Օ��j`�e��c�7��:�-BE-�!��M�N߷
���.0��{��~���TU4$'�<V�#?A�E�!hY��G�HRLS�#��|*���dy�q�w�+A���$[\�?�?B[Z	����� �O��\b=����p��G���P��ծH��h?�.�3rPT�w�t�����$P b�I���=�v�X��ߢ�z��L�H&%�Y�-mӬ
�;����ݿ�:zS�'� ��<�%��t���4U�9���˝O�ԞiJ�EZow]u�`(�\�nD���Qn+�iW���0?�B�l�����A����P�~m�9�0�Vb��6l6�)����Y�\�s:�~1��
 #uY�ct������z��ʖ����٘Fiu��!!����-1(ȣ�����ukcOFX�4j��҃7��/}Mg:_ɫa���Q"�����	I����V�1�
��"W�#�m�r�q�X9�p�c*r�)-��Lv�j�;�����
�u�>���t�K�t8tO�]��
+ߦ��J����8�S
���5����J��g�iSeW�jN\f�Fw��i�x�:�fc��~L���fx�
+���io˳

�+F�W�p���f9*�ͅ|s�=�k��ilm��	^Ӓ$xt�x+�e5x�fAwP��=�z[0Dy~�O�]VE ��7�j9 �̶�*%��
���
]O�����c+\8_���~�$��>\�a/y@�/B��{7�Q#S�
�j����4�o����2Ƞ�^8a�s�
�
��)��
+�-I�Z�:�1ڃ9�]�2�	LC�Z�L�iQ�P>o;nY��/�C޴��1�Nv�x���
�D`��XAK؟d[ǔ'�*5��G���y�؜6�g}�T5a2u��/�N�=��*R&�\֘�æ|�����SO��M��X5�q�-ȹ��9t�<<�~�ł����mv�
�)-
F���
+Z�?������c��!v�
��Du�z#|�a�F����v��&��8
t���U�q f���|�9
+	j�D�����Z�����A���)=��o[lS�6��^#�"�G���pܯ,�Fr�M�g��d���,Q6�S!��2oi�y�ur�W\��T}�q'�l�403��gY��s,�8����OSu!��N��Y%ZQa|J��Hl�~_p���r�����3�9s��ީs�5���=h�S2~縩G�Ac�N��kq�n��3��l�ś,W?DZ�x�μe�+��X�t	?� �p�����W��/Z��?���(�+߮0�E7pq.;5o���y�ȇ6���4���k��>�O��DKG�-A��kt���>�R��Wuֻ�{�om�yu��5ܭ������[���e�Y��ņ�zuT�'�V�qy�S�/դ�G�
ÊDv���l��)� D<�.9�ɓݨ�{8<
xJ�1B���
+&Y(�$#��&7��.|��XϽ
� &���ω�(�gg�Z5׀���YS'��
��[$�����^v�ʝ���t
[1	���F9dzɋV���#L���L����!��`'����Fi�j�2Q%
�������yM��Vo���Lv�+o
Z���>�aݢ����m�w�1]��[�I�
�T�u������S1�����H&�P#�?<����H(�`��ʸ�_JL\��������8����f��n�#f�?⫼�
�k�&�ϥ�mm��f/��4Z�
��>\�ѥ�IA���;޹����k����?-ݣ��xgW�C�ȥ_d�A��U	9
��J�
M���"R%+�ˋ �Ќ�]�i�v�+R��j`��2�kn�pa�̩�!�\�!���@�{{�Y����Y�HU�[���������$�6_%�\Tì��	9bE��2e�Bo�
R�!���r�3�Ĝb��B����
�_�1�� �F륲��Sna(5%i�6�1�f
:�s����$f�x��<�銤�=(�t�X �s3�'��Q��n�«7(IMh�ւ6��8c
Q�GC>�	���#�"��'�K�s����0Xz�S3���
4A|Z���(!�F���[���ꁗ�G&���8=ɳ�e�k�U(DQ���$TY��
�(O�� k�i' �c���o�F�h�0����.� nE�,n�o�1h�U��T���U6�
��$��l�
W"��4��U�o�E���q����h��8l
'���#(�nv/��
ֈI/��"
+&*�G3����U���l
��>��,����S��a�)���mR�
�W�>�iʜ�Q��m�
O�fuI���M].����w�,�:�)vk����7ÇO��=��m*y��v3	b����YS�i-���/��ō�xvZ1�e�g*�zKU�@
�>a��w.u6z��7�g2,�Zd�8��Q.��7=�
:��n��4��Y��ioG�]��Ėw},��l9���B-ؙϷ����z����U�7j�?\M����	?y˰I��9WwN��
�&b����b�9'�8j?����j��ܚq�{�E)��E��gI�G��F_
�׍a��@K�1ϖ/lNı4����
��_��w���GMiH)W�5�
(7=CB��\�_l���<�@����z�k��P�f]���a��Q�|F��Ka�4+
��C�1ujzn��<��b�Ly�����l�L/09�,=�~"�1U� �)�V��n-ϸNʾj�y�m�c�2�s�8�y���ʳ.k�3d��V�:DQ�CS[�[ʌ�iX���1iD [...]
+��m�*���R�2�"�ޥŰ��Ǵ�W/>�6�9)�f��eQ�7Ҷ`��.Q�Sl8]g�Ƃd�N�G���&Σ
n�ݵ��Z�9Q��h�+ʼni�Qub���㢷���\�v�תdJ �m��_�~�bnlvͰ(�}�X��*U@,p��ę2���P��	z����R�:)�:éLi�-�|���97�D
E�yp
)�1��q�
@.<H�À"���ċ�ւ�@s�O'�I���}z��`$
5x��9ߌ�b9��5i��l����*⇉�U��e�
�B��l�H�]J-�a2��pk��������2�Ws�@g]ϭz��)*����12�C)G�p�
bX.�|@]h���Q�~|e���n�GH��;Sca��b�V���#��
��	����]�]��Ni�-׃6���J�)��tț�8s
oI���A�%	��sȏEI��0&���ln9�li�����C�
D��h�ضz~;�
<�1��O��
��^�#Lu憈��p�o4���>C���ٱ��&#2A�T�7F�W�/�T�K��W�@��LG܅�@5�
r|:̇��P���hT�!����S�~�]NM�c�

_����!W��unh��&~+�>NF����:5֨�!���E�h���^R�ۿ�յ(}oFm��W�V�A��١������O
E 
ŀ

@B�
���J��P�0KHh�G���sS0��M	�lv1�KN��!\$
f�O&!˶:}6O_�0o���($�'l�O�^��9��S�`�#�7���ށ@*u�IF�Zw��`�"��z��)��2�z5U�`�
M�4ė����æ���L�Z\�r왽��<��
�'��Y��%�
��`|�Q:� A���QS2*"�m/r�R�g��i��.�2�H o�v%�d���zT����O�a�ל��cI]�5KH㾨�I�t�7�S�zפ5H
]�|��⪧fr��up]����\z����ư\e�*��'g�X��M�����j{<�nf��{�wc2�
+��T���W��Q�D�Fb�	B�����6��©qC�Fy�Q49�ߪCf۸x
+��0WR�_��E�f,�p����<ov����t� �ګ����%
���7���
����e�ͩp�
m
ֱ�e
��(�� \8es��a)�`b�z�ddTH�=��JHy
��.���IԂ�
k�x�$�~��)c+�'Cj4v�}^B�x�JJ|�zk�L
m�8G�U�8q���7Ɔ�P��!�:��?I h_�$�
���[���t`@���6���nȠL	�StdJU?b�d�)V��1o)
a(���U�=�*��Yjg��4`߭�lx�gZ�851��+�W���aUo��B7G*8���F��������Ʋ3�z���Q<���@���H���k>�E=~�XG8���4D����ۓ���(W�S�s�����N`�X"�$�O�!y?	T)wT6$i��Ht�)<�D�9����.V�^?��
U�D����j|
+
�]�Þ�f\�Q�Q�p���̈́��|�����wZ���H�Ӊht����[�o=/�[�����n�$��t/�˩iz_���� ������4���
+���
:_��H�d�\�
��(b��T:Y߻Y)F��&�����D�q���;
����L�j1x��<r/X��^��YV��θ��ا�9�'^���ou�a؆��4X,��P*�g�H]�i9�+��t�@ܩf=r������	2]����Ͳ�w�
v��5H�->k���$l�
+���4���{�K��� iQ��P�b�B��ٝ\ȏHΰ5h�m"�RVf�U�=-7��06�U+?]dy2��˴2��M�J��SXV�N�I�7-B��E0���/�?Y�����*��D�y�[��^��?��|}�j�Q*�?��>�^���f��eu	Q�6����1w&UN��6�a��Ю�К	�t�s��g��2C.Σ��
MA4���~u��;����O��v<�z�FB6�[�V�K��%�q�=��_��e
�*��#d
���
+�B�
���l
U��rX�}�����
���V�V�q�M)�F�`��{-��鮳�y	/����Qd������w)�!3��l{��R�NÑu
w[�������0���q�v{!o��36�g}7ai
�ZOgϻ�Ƀ�^������Cӹ�����kO�r���[��X���z0�G.���m�.�
�@v�Ϲ�AF��=��%�}.4E�Q���Ye�[�߆���Y
+|T�
h1E*o��
��8�K���O��.zؖx����#�����P�NM��lx)
ҬNY����?��ӀN��c�I��$Ƅ.��N �z�p򾫙�V��2�I��)�y��3a�CAȩ
�`� v��3?�kgA�Tn?J
+3|}�\I������&��e���Y�
+ ��(��=hK�V�Iܳ?86� �N�q��'o �h�
+�'7a��Ć�Ӎ��i���Z o�
+v���b�+�=��5�2v�e��WT�������\ܬ��)՚ 
ߎ��.�{��]�QY1
�l�
�S��;��$q�%�h���jw���5�r��]�3��h|�>~�&
��t�+���s������n��ss�'8�>��3���
&=A
�i!��s�|���
+��\��tH�A�����4�'����b
+��uJ��pP��)6v��wr'
�Ǡ��3�5
�E�p�R/�_������ʉ��!ލ�j3����R�{X�Qg	�?6a)�t<hl>��Ả8XͰ�P�z�Tm:0�V�e4�2�Ѵ��X��4�j_F��
+q]�!d�
Xe��"q.�5�U N��2
ah��DR�����1K��4���p��_'i\�w��b�N�<�O�N�s��c+<�,&sz�τzT`�ڇ���,
��Ff�u���X���7��P^X~5����fZk��/��;�"E�=s���~���B��7}}���h�26`���B���z
8)&\��Ӆ��5���h�V0�������Tb�-A��*���]\™�Y�����e)E”��\i\���cW��q�4X늎p��o7����v�Ank��'q?��?���u�R���pW�x��@�@�76F�/��ŒS�x�m�N������s
][�U󨒏�	uE����1}q0\!�C6 p�����Z�y`K�@^Wҟ,��T����B{��na9�+k�}2��F�F+a��Fr�3ް� � K��棗� S0�~~�ӞT�z����$�]=�Z6�8j���~��զ3{Ȭ�	"�����3�=��!�؟z	�&%��G���� �
ևuT,��Ƶ�
��Sm
J��2>�W�!
+A�ͫ�.��"�bHj7�Ca
�g
�B�w2N]��������D6���;6���ѭ5R+���a���I�L�k�&�m}c7��.S}�7C\��
!�������4rY�r���%�D1w�����y�"���˗��t�y��/�?c=gxP�
+'g�eV��U�� �
:�����&o:�·�SALvG^[?�-2�_�]O���I�w�,{G���w;�i��.�8�
�����]4A�	/��w
�r :>�8�9i}?WL���[���=g)v�6o/�f��	���`2s��1% C�1�~FG5��W�
��EhR�Cz���~����+N;k���9�\�K.pM�Ī'!Uw�X1�j^_~b�̡(�
V���?
��x
�ԛ-Y��J= ��H���!���!@��b��8g�9 v����o��.�����o��ɧ��^���2�{����_�
x��#f��?Y���"Ĩ
�[�{�4
n at ob at -`�z����b!�s��7��q�\-uJ0
�Ç,
+;w 9Й<��S�$t�<Kko
��iL�U/u��A��B��H�~\��
+��Sϖ �^�
��a28y�Qe�%��������$ܱ{�Q-
�q[=�x
�3z���%�L8����3��	ѷQGL<:����k�������݆ 1��@[���v�*����{�
o�����M��-����I[`�s���Y�`u<�4�j'nj��삑eϾ[O+�841���P���7C��oI�
bhC�A�6�
Q����cq���͵��w� `��
�N�rӬqN#�Vo�N
�:�:ux�`9��/��{�c<������
#`��'ߴ
�u,���op�ʻ2�� ��Fk���N�(��7��M3��>*B�]��eV����S*,�ԧ��u�<z�)��%�O�ӚX�.�2
�
+`�M${"�g ��H��7P��\_���
�����O"^�C�5�;�ӃC���T*�Ht(��81��R{�
+]p
��I����3��5�k�5�:i�5�z��
���q�f�Wy�t0/��i"�V�!�&��T�W��&���p�bnj���>�xI�$�
�����
��'
+�h
+�(j�(nQP��Ohf�%���"9>8�	��H���{����8/ͩ����J#�����

��d�۠dQ% !W0�[�+�8\�8�v�1rxH}�u��<!s}��:r�m���:����)@K�6����Mu{5��XBT�1lFC)_v�K�^?c�ݎT��B��vѪ�27`Gt�Z
��g�Z~V���y>GŹl�k��rX�
��ny� sr^�[f
�&k�U;)n��7kܽ��g�b�POS��r�
hlP���
D2�ƞh��� K�(� ���`�[-��Z��N�Y"`�~%�@��u�:�v�H��q�b3>x��--��1���Ud�?fb
�D�Te ��콯����xRN
��ƶW�8.���v(Y5>CSK�0/|��c���9bͭ8�<�V�4��i��$p���Pb0
&�HZ�)R�&�\�&��&�啤��M�m��nX>���2����vޣ�,Xa��m��n�.�kQ�'r
��P�l�l�t>�v�Q�H �M��U�4!���sE�(ש*j�3q�$�T��.r�;w���\�����6�ݗ�N��
jL�������H���mV������<٬:����0[hYO`ika�h(jr�h��Ѩ��m��
8OG�唌��
�;�f�՛-k�D�$�M>���V@���/�M,�”|m�Uo+����4q���
u����CmX��&�DŽ^o���p�wft�Be�|�k�	*G)�J)nɹ�*
�y*R~fgu�r綟޵ƾVh��W't���f�Y}��򷯼9
�~����2̢�1��L��2tՀ�-cTl�/�.�-މY�C�qƾQ��X��
 ��Xr
6|���v&��������q�o�Zy���4�4����?`	���M�A((
c��o�'��vG���!-8����Z��e�zf*OUOs�U��y]?Q���or�
��z#���פ����		*�L�E6I��w�
�o	����!�;����Waz�p��3��&��烢W�K��:T������2M�d��ƃ�������Y쟓5�o�j��z��I����
+�y��R���CA�g����/}�	�c{b��
W�(�a@�[� D
+�_fP�z�\����?;� [����m�~T
���V�z8�#��
���0�2g�57Y/���
? E�s#�5��
+JҶ�7	a�o.�
�$��ѫ�D�e`����7C2�U&e�ͪ��m�����f&�d�oMm�P[�]Q3Z��X�3�����s!�[86�Ц�̵/��"�B^��{�rM���$N\ y��Fm,s��&�d#Z�&
s���_�	T�#,8��u#!�g䷶!`Fw���w2]�YE ��3:
�0R]�=K�Xds8�Pd�SWw��I�dO����
$
��
-�k���I�o,$,�h?����-���w�_�[��Y��B��U	W�

��5 ;6��5!��HϾ��see<r���[;R�
�&�;��apW�T�o�,�82F��#D	v͔�cf�J����ٓ�

9(n·�)B=(}�!��w�Lz1'�9m��.���`7�#�$�'��J�z�#�6*��
�]!X܅ʹ�4�����w��$�|�1+2�ɻB��ꉽ���0+0��GFum
�m l2^�:����-���~Uq8(wj����N�C=J� �iW�')܌8��*�Kbh�26���̻����J��R]�g�L [...]
+�� �O�&zv�,z6 �F\OV�a
H��O ��j��1���p8 ��YD�V�/����#Z
9�v6Ց�Wys	\�ĩ��I��'r����
+endstream
+endobj
+20023 0 obj <<
+/Type /FontDescriptor
+/FontName /EOLHYO+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/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/ampersand/asciicircum/asterisk/b/bar/braceleft/braceright/bracketleft/bracketright/c/colon/comma/d/e/eight/equal/exclam/f/five/four/g/greater/h/hyphen/i/j/k/l/less/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 20022 0 R
+>> endobj
+20024 0 obj <<
+/Length1 1630
+/Length2 12615
+/Length3 0
+/Length 13467     
+/Filter /FlateDecode
+>>
+stream
+xڭweT��5��N��.��݂C�4и����w�wA�w��;w��ͯ��ѽާv�.��>���BM�E���
(�rc�`e��:���*;��X4������w���F
4s�uI���@K����	�@�H:9{�m�m� ���
LL�����0��'�
�jk
о?x 
��
� �w��q�&p��l
� IU5}yY ���6@��
 j��X �l-� W ��	
p��`�����5W�w.qW���ha�
� :�1��`G[W��g��+�lr{����d��n�W�v+��
r;�{8�c�djN�n�`[g7�{V5)���fc��WnW�w�d��i�d��WKc�4福�-���r�+�9`i���`������l�w �U�
 ����@W�w�w�>��{3gg ̄�����l�\�V�H
��9-��s[ۂ���Zy�����vKw�b
@����kgދ0�t9x,�VHl*Nn�)��3�Y��D�?���D��y�w���F��%�߾��N-���b��� ��d ﷌@	��=�`�u׸���03G[��&��
u��(�?��
�w3{�8��]NV��m]el���j�n6 +3����m�Y�� ໶��=����0-[
{�_"���,���w��.�MW^KO [...]
�����o2�M�񯳲���
𑝕������ϿNF�F#
�p��ks4��@�������`
w0�]������y�{�@/��򂓅P�]Fv�[-~����=
ЃaΥ
Z_�V;uʈ��f�\��8)���=������;܃�@ם<-$�b����F��Ǵ�f\���G���ٜ��/���ָ��q�3
�d;��!���K ��3Z�Ez}<nF#Vm���䃻[�������
��
b��xD!3���#�7oS�u��+��疐zF%4럔����n�g��M�0⃑�|_��h2g�?����k��q��/�41L�hd����qo��G~NW����W�B.C��:�,�'�<�
M
)>O��g5�K��]�H��D�`"���o��]4C���w�_��5~:�[P�^���eP#Y�<��������f'�����5%%@'+��$��a���#o��V�}
i�ઘ���
g�A��d�����[N�&�ǭ�����Ŧ�j���?I��>����´�$�6@��	���֧�Ők���w�4�� ���:z��	�i�E���)�5zH�ܮ��<�@e��ҏ�%��aLǀ�:�<"8��9ϐ��Z-8����t����k��
X3J#���냞~�A@�I5
�I�3)��4�;�.�
4Abr.�C�
d�J�
�ppt�O�����8 j{e���P��7�I�t�|&?�)ͥ����8���B
�_g?���a�{|Yx�/z+u�:?XY?�a���ɡ��#
g�xS�\�
� q�%I�vb�
�!��߰�x�۵̳JQ����0��`;��Ǽ9�D���_����{�8� ����Y5�t
`f2Z�u%g<���}�9���:	F��$91I��VBZ��	Dc0lմ�2f

�&�]O��˔��қ�X��
f_m��.��.#��u�i'
}�n^X2�2;j��إ��J�����B�f��d�`P��9MJZC
�a��#Wb���]�T/{��#�/��k� ��ה�
<u��Xi�8ƈ��q�R/Qι?�
��T��w
���a�ڂ�.����r].N�M ����k}ۍe�m��9zh�^(o��c�1S��ZF檧��|i�b�\��n�f��l�M�(�B��=hux�Ki]�_��,^4��z�
+vw��d#�77��½Ã� V��
3�	U"��zww���Y�
+!�4ܛ'~|�k8��T�� ������ӎ�#
bV_o�XM�
�>X}�Ԋx��>���l���8�����݋���y�*�Zy�Q�i�-�@�w�9�D/c�H�q��;����l4��DB�=s���g
ic�6���r��
A�~�A}T�]�t��8{p�k�܃9r_�[�N��I'8]�dvy������� ��.�!Ў3^6@'
h�J.G�dj�Cw��L"ɴc@�c
��!�sD��3��nD#�@���W#%=J�s�f��
+"i;>T;F��.i��Ê��a��B�����KÅ�@o�X��<R���}�+�87-���rNu�|�>t�a����~+��P�}}u�c�fz$01\�&��=�(�5Z���F�Y���¤��0p���+,'�����ڇ�����qB��cZc����ǒ�
u.ɏ�Ȩ���
�����?��~�׫G��(�fI/6�
��^��r��+��.���s'}�$M��$¶j�Ȃ?EՒ��K�f�8sx�� ��4fCA�[�
+Լ~w��b�i���A��P���q����N#l��ԍș	sA
��IA�2}�sc-���V�%~��
��^�<SGd�a�X�b��j`��R�P���U9u�&xy�=�B ӓ�
-%0{�6��cx�„�Ŏ��;�=��`f�Q��(�8��3U�<�AF��-�m��z>
z�=�th4@���)@Y؋V
�
��A�����O����i��f���M.H]G�*k��`������e �5�kWB�<N/)#�&
B������Pݛ@T�=3h^��Ǧ/�

�;��r�����!,|�34�mi.�&j��
ԇ��~����Ȍ�B�4|�8ޖ8W��3��u�r��L��3�)a������1炌ɓ:m��h]l__[}F��Յ�
�Y
#c�t �7K?��~�$��ɇ"�

�7%'���s�8$QZ���Ă	�� b��;d�����gJr�h\n�^j���3���pv���q	�{�
��z��w��}B
+iL�T�&��
UN�W�}��]i1�H;ھ�c$;��\�';�k�"�
Dr�����fT>�
t�KF�1�*�y�M�����V1~�t���V���
i���F
B�,���x{�՚�[񑐘� �
��\�r^%JC�У0Ud�؊Lb
�'��)�?_S�>}=/B��p?4�����R�>��L
+�4]�VK�yʌa�~D�3�
_W>EL��ءO��N
ф������{bҸ^���^�}���F��mk{�<�l��
r�y�K�9V�r�!F �h�o*�}�s�v3����r�,��Y�k�s��@��
+�2.���|j>�lKg_NFr/�$R�`A�%:b'�X=b�$��qB�G��+8<�7n�X�$�a+Զ��NO����M�>�
�?�'ӯ�*����\�[Oa�e��3&<_�u�~�o�5���8�M�N�
+�xL���`��1z���������GX���g��y�=,C��*�~G�j�9e#v����jo�k��.Q\�M��y,_>>�+�vBŁ����
)^�%��%+��z,��#��_p�+yZx�
'o��u�3��4���6���\�ߒEܝ@K�U>��:r"�.�oF�qf������U�6+�<��2cEOX��΅�#WI>�CЃ�A5Wlv'7`+�>�.*i�mb˞�XI����ژ��\]�ZO5���[��y�$]|��
�Zx;*d� ��R�"� T������
�kݝ��&�Q�—ߘ����mp	�&_���M�n�j�4ƮQ��{u��U;��r՞��Pa
+�8ѹ�׎
Y�����h=`�Cj>_�8�q4y+*�lG��j�X��-�B�k
�~�E�������ڟ��h�}�kZ{��߶�9ݭs�]E�%K.��-��L�8U-
�?c���"bm#&u�])��꽯%���CLqFg�b$7�̼�,V)Ɵ���|�i����吖���P���3�o�N�L,sd_/C�&���Y��~���
l�J���~3~��R�QEח�
��9�j�<�x$�U�y
4���^�r~?uF��G���~s��'������}:T�n�HF��b�P9����\�~�@x�,\�(�e'F�� ��uX�s2]�����]��B�]c�XH���1V�U/�NBrd
+��U�@w���D�q��8f
�j	=]�2��7�l�ՈҌyҢ\^:J�jk��,�@�d��y75|2F��T
+��
�
Mm�
Y��У��Ǵ��_EqҦ���,H/q0�+A�U
�O�(Z�P ��:|�.*b8r�]'��#d�k?axc�(�i��C�f��-kp�)�}���Ȳ7lU�
�ŰR�i�"J 2�
`���Z�|;�5(ΫQI����*�O�9F�P���*
)�c�&�o��
�]��?�U�n�/�
���
�q�{�D�y��W�KNy{�Z��4X�!��t7�����=�)���a�9��59@�����!̺
+3��.��C��>fix�� �k��u
��t���p��<
�
o�F�L�X
+�9
+6������:V>�����Ϻ���/n�bZ^�"����,�`��e�L
�o��
�b�����=n�ߝtp>P��Q �2����
�,ҥMvE���&�4�^�*�|n���e,6%�(�!����� X�X
+~�&i.�鮢�
�e�l�R�U�=b+N�=0k�y&y�X n\ƥ���ᒋ�
#u�0�%
j�d����}���I
',Ǭ3[����
tUPrp�2 ��
]���^��$p�-|J��.����$A�N�K�yv��ˮ�#��ދ;���������HF���1�{xz��dş�/�;f���F�$����ԜJ����#٘���U�������;�;
�
�%����&�	cm
��N*Z�Ɔ�d�"R�
�+a�2�p��{2eh�o������ɍ��79�K7��nc�$yI��b�hD�\�x�?G��$4o
���eD��_�{���w����S]��b����m��͕CQ>䨣���)}��y
���]x��;�@`�S���<W]�4r�`c�� \��lK?�<YF�����"�qG
����5Ξ�RE咭dXG��hGrF
�K����d}
�7��苪"��+h�����(1s���K�{������xa��6�MӉ��ό���$v*Y
������O>�[�j�S���h�T٪{P�dž���|�a-i

r10YlՒ�����O]{��$���#�|c���^�>:P�1On�&�ڶF_� SGP��ifv��{i�:�E��{<z��7�\z���O:Ʃd����g
�(��b�I����D�A�%��W�E��*�4�~��wrn=��u9��8|�	V!����Tш"�(�����ʐPI@����^M at z�jT[�U��\V4X!#�oC�3x0�{l�AqT
	.�98b��{��]0� 2F���-�p��}���j�A�R�Q%UޟS�����	�6~ȝ�q�
�a��rTGuo~:
z���z�H����(�ܷ.\K��׊%p~ȥ�N�����[h�qS�1DFQU��F��Xkc�2&��\�1�-;'H*ׇt^�<����D��׳;���^���LŜ�n�a1r��@U��
W
�f8,��w4��!��%��(���_
��#d�]��x���j�|��l��&��L\�
T��r���R�Y3'"Yj�
�	���)�B_� �51ͪ��B+m��U�n��3�ð��ۙ
��ZPIY�2�����ւ�
��,�s;۱��JW*���ܗn�9;U�KBw�r�r�2-���;��ϭ5�
�lJ*0�&&2��j��IM���E=�]� VH9Kk{B��(kUJ`��ls�
+�^e��Tt�o��7�Y��YxOM҅�K��YIauT����}%k
����}̠��>�@������[e��
�*W���5���K8v���@�P�q�h6oKyc5MJ3ߢImf��o�uw)&*\�zK�ψׄ�
���Rm\+��K�a
�Rݰ���������5A�C�<�1�
��ʨ>�J�ޥ������G��!+�O=��u�!�Єk�C��_�^�z���S�.I�s�H]|�c� b��ӆ�z���^R��b) .NHQ���ul�]	���\!l�Lk��aLӥ�
BP������jy� �e�>�e�k��ķ��1�#w�9'p����}�;�p�!������.Ue���#Y
������v�~�^`cpc��M��)�����%�����o׏m�n1j;��e
+��J��1���װ�ƻ���oRa-�4C���s 闸%ywU� �N����
�� �3q�8<��[�@(M����
+G��ō�]
+۷�
�� >�='Tg��(v�[��
,���|���9R��|�C	]G5�ZPǟ?t%ۗ�Wx��*�U55�H��ʽu�-n�O��|*�
�*�ǝr3v8
��z����jk7�������"��������#*Y�
�
	�c:r��gj��Bҩ�:��0�l���
�uZ�
+�@�h��(�����j���xT��2jϐ�8T���v3䬞
E�Rݘ�V_
n. G�4
	����]_S�����"����v�4���KQo�[Y��[eJA��VB��ސ�^]�hW2�����㻻���
�T�A!���N�b���j��1�?�mN����۵���r�}JF�V�ψ7�T�Y/��e�x��o1s5 �H�����%��<��lK�q��I[⠳�U"?��0t�=S����{��;г��ZV4.��7�(c
+
+�;�HmHOߞ�ʯ�䍂xʃUܷ�&Z؏5�N�
�HWks��\"!Q�񪧘�.[&/%�`#��A�$f#�I D
�}
+��J���>��Q�C]�Hkb���yK�͘��2�yn3��^��AY�1�#����GS�=�
:�ݵX�-Gȟ7�% ��g
+��ʔі�q �h�QxK�Xs/��Ę����9b����Bw�Ţ�Y�ʣ���QjL�%����u�pn���WECI�}�&#����7K��o��v|wq%=P�{�hc%,���K)ub#��IRĺD�
�%bV�*�\���H��iV���k��34zLwZ�2s��w&�D����3��O,.���0��:�>�{��������ov�#�m�M�2b4j�(��c��`��z�~.m7nI%a��� ��z��5�t�S��L?bpP�AoDy��N8$
��
S�a[����R�z9�߯a�
����m6y�N��'�Us,^M��������mpj�U7J�Q�h��FMd�g������g�yueU1��{��(��R�����‡ƽfD�)ܴ<�+>��<���7��{7��3b&J_�#7?���Xҷ��^_H��N����ݻQZx�)�/�P9nd?�
Iz��2�Y�
��NIC�`"6m܂��m����P�/l&���z�r�� [...]
TpլIK���Q}�ծ,V�ˬٯS���n*�>�<hm5���xk�#A�0G�Ï�5X�_��8<ۗ�䨴Α{
�Z 8]�*9�c�A��"��U�1��۾pR甩�!e��5���duX�	��2��z*�Ek��h~�&��kD�U�6#	�-�T2�
�RS
=y�N����h��+���
�Q[��ȱ57,2q���	�?�[O��
�ܙ8(�0��׉�i$��b�Al�%>t8�)�,(g��
+mN�1�����N���^�i0�]�
+)�<
�-����+R+�e�6v>(o���������L{|ĵmX��YR��Jv�WR'1�������O�e1�۫��3�
���Z½q
%���}�Z=��*�k��S���W���̈8�JA�ꝔxO
���@/�%���F��j�j�M�GRjA+�ئc��}��,ׂa������ 
O��ǔg��?���}���.�$â�h���M[�cb|
+7�7x�aN�wd��s�|8��Y^���+2FXC*��EƜL��
�Z'�,zcL
A��X�;�m��.;��VaX��
C��~6�7��ƈ���Ƅ2���a{^1=וN�q`}�gwGG!'Ќ���'����x��X����l�
�e����H��i��1��G�~j4��^v�WE�W�m?(�Od����z]�f�w�fA ��Z�{sj�
���{lB���&��9�{���I-|
�%$;��1_f���S�8���l�


d(�gL�R�z��}�
��0�w�&uDW�m\�wI��-�{m�i�pqi��7�O�z�0fI�C�"!D|��#�f?G\I�%~Ŗi;�4��%3�-}W�,
+JRn�ɟD
�j
]SR�]�	�^��r��E��������'$0��QV�e$;���_�7Ci�9�d�r�&����o'�
C8_���o$�W'�:�x�/�9;����:�?�����z�VrA*�)����ן�M2��

+ary7ad���s�ӭ����6"�.��5L�̈́��������C�H�]/��
GU�EeG�W�f�O®���C(��O�������]˂z��� h�ᥭ9{|�ΪU�8�1Q��I��0}&��gˍm#�
�h�G�����_�Kϔ��q�7��
X;W
��ki^*���������)]c���%��r���C�]��
���7��z�7���_6V�ۭ#�;-k��*���x��<%���g�{�S�����s+яyc
+l�����뢑T
�[Y��c�O`Q
m�����[N/PSo7+8��# DK�E����g�����3���~�����T`%"]�Q��Al�u���2	���!G�ձ	�x.�|�)�S�l����"�
�|�S��ϵ�s
Uw��
�.���Q�s�7��Q
Ǘ��z#��>+�����pӃ�B��*��)f��<a��\��K�����7{���+�R
”�/�E��=�7ڤx����v����'���� 5iS^ߠ+�c?>�*���*�[���壦ђ�(�߶�p3z��f#o�_g�8<��h�<�zX�ҴɊ�z�o��%x�.��L�����WG��=5]��[@ ��ɔ���62n�iM+t�?
U~��
���n���
u��<7�~>���U�Y�1��%�#=�m�'�qh>'w}B�&"������ϊ$嗟
$��<Z$"�/���Gh������_|0����X wfw��7���@��dm�ri=j߿��IT�*\�:B���<�DhQ�|�MK
'�nCP&��ݢȥ�a?Rʩ���>Sh�	��L���S
s��20�@V�|>ȃi�#+�$�ɂyypPdhZ迳�_�>E&"8��]����UP0�;4�q(�7 ���C�������0�
���V��h
����`�`�ʰW�4{��i�b2 ���,
E��N �i���]�Q�gKoG�}��V�(��֗�݌�{N�.;ł�?��x
�[4{?��'޽*�8�(���oǎ�['��~��8y>o�)I)�P�;.���}�+J�[n�X�"W��u�y���'}E
2XP�̏"at$i��Ʌ�{��Q �vz0��!�I�oa�r�
��*y�VUN�#��18#;�=q�{�Z�{plB�O�����	o:�>:�W
������k�����L����-#6nxc��Ls��	��!�i����>��1 ��o��6��n��7��q�/�x�	�?Gx_FMGP���+�SYy�
f(�Ơ���ieM��d�d�~��u�H>;/+�q�B<�*���mqA����&0�kj�G�eT�v�|�V�Cos�S�͜Q�
�c���a	Z��	E%��n�(
�
�yZ�
*��nr���t�9���B�2k,
+��U~�$\����u�KDE)���Uʹ�
���RR�����X�9
�˸��]�� �J�R
�2��|8s�
��UJ�h8�]��z
mC
G���- &@�yP
�e��:Jݻ�2��
�g�mȌ�*(� "��	�}��m��y��
�Me���e�ê�<
�-� �O�~=;+�W����d�����G�QP��iV�&/�kK[Dz��1�1,�1��z�&t�m�L�F��10����,Zj����W�x[�6�����#��
�޿��
v��o�L��;j�}˜�arjIՐ
��{(<��4g'�9�oD���
A
DI��*�`��3 Ж0�%���C+���z#|)h���ؠa!�¿t��0>�7[����wZ�~�N�U�Q 
v�:��Y�j$Fk�����S3����M�+v�
i�
�&H��l�d�g���!�K�P��a
��8=U֜��C�z�O`���i�
+�1�;����\���
+$	�1��F��P5�;4�"t�K��
��b>��$%\�Ix�}�-�pp���f�
�D~�H���0
P����N��şK9Nz�c�}�Y���#jUtu���
�
.z:E��I���<櫈��
I�ף�l�af���?
+�-J�9�dû�]�*v	�HByJ���
�����fR���[���顔�*`q��L�*�����k��#��G�$���w��p�bvLȅCxw&���P��qA#�����@����GNp^���fK���
�Gj2
n��?K]��(2.�A6
�M�WdP���J
��]�1�y
+ϵ��}���;:B�<V����)�<�BIw&
VP������:0'�S_�D�
|�L1�z�����8
RP�h��
+Hp��
P���z�B�lk
ߢ�~����� e�=C�(�8�c�o�ٝ��L&��
i� @��ߑ�'ؕ��ۿi���l	�I]em�=��-�o��.n�`.u3��-���,Ow�I-� ��
����)�M��g=q����&K5*���)]g9���Ty
+^zh�VrH��3�
��
����ૂ�>Z16�u��8��4E��ݲm��"R�V���Xex�c�uPڈ��
xg6��c�m	Ѽ���P�"����U-�!ݧ�A�1J'z��i�$�b�>����[�L��
��cu��Ǟ�$|
+]�b�����VDT��`�+���^��k�c���
%�@�^�46S��-z`WP�ΙG���"��'��u����+����Wh�	y?�C6#Sg�Kݞ�Դ����,FaR��ٰ�x�X�f�/������4�/-8���o�H� �
.�������#M���['C�Һ
+����~+�TҬ���~��F�b�7��+<D�Ƨ��S�͝�
�zE�����b1b��YQ�yz�ag�H�W��`�PS��.�̡�{x!ȩ2c[&'m'�Rxgː��P^��~��@��-�6��6Dgۃ����G�
+$B&�V6w1�EkC��>?Jc��1!�����<��E~���%P>f�����S���n�toC��s��e�u�
����n?���a ��-��2��W���
�
]���7}X�O���ȣ��Ka!(`����yT�ȃl�,Yu<��e��W3��?���s��*�d%�n��(��b?�*h&
�Rޜ�h��a:}���/��K���h���
ebLS��{���ݓC^��0�ۗ�U����JB)��
+c�
�Ӌ����¼���f�/���U�o���*	*�hS�_��k3(KA�����iHzJ�G�T]6}П6��1uV]f4K>Ec��L�VW]q���!��!
;�d
��3z:�)���,����Uܽ��2�t۹�3���
�n!x:
���.Qt�M����ԽІ
�+�5�tP�{蚚�!;����>��헆��1[��&O����� �K�ۉc*�ѧ;�
��������97<����mI�)^��֥:�����Ն��oD/��
!~nj�K/Mʔ��p`
b�Fn�rT[#�ŰK�x�&�r*$i"��F���_��j�<lh�\T6

��*�z6�Y��t
��i�{/����
��Fr�{JX������f��c%d�
+P�$�=g�s��E�Z�f�+r����{ʘ�Z�M���Ig�
+�x�=��I�5%���V�%`h6��er ��>��*i�e�X����LQ��V�:�;�����'�}kD��!t��ۧ�d��ѯ�H�N��ZH�Wx("�[jA�;�`�]
���Y&��%�<�P�,;UL��L�$I�1
+��=p�����ƯD���܀�ׇ�
�o�%�g���X-�zg��^��^m��4xo��6��>W�
��$� �
M
+'.[�P�*�</��ٴ�7(��b������Yɯ"�mγ�sQݣ8H�3�Bp��,[-ِI�0sGP�_^��m
�{C������$ ��
+��`;@
�߼
�h>��X�Ss8�0Z����k@���H�!v_��\܀�����
�<
EJ)�AQ%�a���F�#��z�b�VNx3׺�I"����~ӒW:��ȉ�ϱ� �Ln��Ż7A)U�]N�&K�=
+�s�mN�đ�%���
��Za$�q�g��
+�	<�|�H�~uuze)u���G���M/;M���
���*�
-*�YW��]�r1
x�V,$�
3I�.M��v���+1"�_~8��'T
r�7�O�a‰���C�55��d�Wj�H�ͻ�y���p���d���|�h���
+��;z�–�A����i%C:���X���5��/'��	
u���W������5��b��]1�-�'�Uʼny�,e����S���lL��a/�et%(�?�J�4
ie��s&�;l
�T7�P�B\�W�/�
�*F�w�ď�oP��H=R���\�DXţ
��XZo�5���u�Wˬ�$:L}�8IY�@��m�,<&|<
+���1Y�X9ӯ&ח�!U=�!r�ĺE�
���jΛ~����ߗei��FM�0���I\\�	��_}{W$��H�5���6����}<�s_�jݍO���P��]��yI� (2��YG�;I�������/��tE=���pm�?�AG�w:q��ڸ%��V�
�/U�J����g��~�[��
dܮ��4�c
5+�,
B��HO�X���=F���}��!�9/�
��/4r�.���J
+�8�v�gX����q>����d��^��
�
+�>��b
�l�!��X$IO)'Ѳ�o�*�-��TH��p]��d>��隼��ѣ[9�lb�ee��.�
����
Q�(�
�w�m"Z���"%S�_�Ą���.�	���
��@*�\P
+�^�v��6��x^�
����d[
CM�͖'��`ɭ����#�:|��_�����D�z�(l�
�$���yO\�QpLd���)�=�e7�%O�F
��CT��
d���4�P���3�*V�k�7ܯ��:�[rC��αl������s��	%��:��u��9צ���d�-����*����|�a��ݱ���
whx8��^Oы	Q~��_ ��
�'�N���H�d�~��:0�o����@�:�4X,O����1
+�E`C_�@�y��*dx��^E$�0G�b��␱�����8��
+endstream
+endobj
+20025 0 obj <<
+/Type /FontDescriptor
+/FontName /WITXSS+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/A/C/D/E/F/G/H/I/L/M/N/O/P/Q/R/S/T/U/X/Y/a/b/c/colon/d/e/equal/f/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/t/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 20024 0 R
+>> endobj
+20026 0 obj <<
+/Length1 1625
+/Length2 14063
+/Length3 0
+/Length 14908     
+/Filter /FlateDecode
+>>
+stream
+xڭyeP�]�%��N���w��.�KCpw'H��ww
n��!�Cp�~s������?��9{�����ꮦ"SQg�d�hj!�� bbcf�(�M�\�M
��
���

� ����	�� a��h[�$,� �� 6>>>*�����
����TӦc``�/�_��� 7]�V �w
;G'{
����Eu

 ��`	�� �+���*Ih��4�.&v 7S;�@hf��jA�tt��� 0���75W��O� �����㚅����_��d�btu�x ]V.&���
@3;7�>얎�rrq����>�T
]A�f.@'�#���Կt��M@c�?`��凧����ߔ��>h>P�	�� �� ��ej0�:ٙx~�� sr�#���`�_
+.V&.�v��4���_y���M���<������j �\-�,���?b��>b[
X�����#���_vs7����-\�)�ߙ��ab��`�	0��D`Qr}����u�����-�i��H{�����=�?^�����ߩ����L�?�_K�e\
+��{�w��l��2��y�7���Q��_Z���;&
2�(�'����2���t�zX�� Af� K��j�c��P�bt����?0�����a
4�u�[~�A��ߔ4��,bZ*�J
��n��S�c@�N��w.����y��#&���fb��0q�� x?�.���
��:+��\�
 ���Y������d�o4�f���F
d�`�1g�i�
����|���W�#��8�3�
f�
�f!6i��ܜ�q	��
6��P��z����*�n���-�r��P�I��V��c��=9���

;��T��<"_
+��|�u�v
�� �b����9�M(]nV���qU5�/0ē�
.p�t��X��P�̾��cw�5�a�
�P'
����9248�}ݻGȐ
O%`��rL�
�4v��7{�~r疿y�
j�|*g|��~i�c�_/i�)@f��
��U� ��MR����1��҅�`V�R��.���s(ʨ(�G��������ӟq����X�ـI���Yx!-<�
�ҳ���Ll#��<E�
���hzK#ܕ
5�!=>��ue�'�4/�U$u�,�Eq8�h�"��e�GG�b
Q��>�t텝��I]J��|I����n_Gx��ؕ���߹����dK���w�(�M��3~�lx�<�|������� �]����
O`�.��G�:
��jX�e�	"9j	����Ws�̋�2�1ѵ�L�iO�<V������%G��
YTZ�5�}ۙqy�
�[7 at eޘ���k����]18�7�|e(�HJ��ف	=��s��c#�#�C�
�Lh�V73ڳغJ�,�=gv�J�p�65
l�(��pR��j2�?'A�Z�˶�3�nj�"�Ӿ����ѕ�q�(G���{i�)y3w��e�����r�`�Cq�f����*e��:��W�Rxrkx����%�yK�O���u�_�jO
�� 8u��u
I���m���sZtIG��=�c�Pr�#�⅐ 
���zZ��ԷSF�s�H=H�,r�W%���<F1�Dvk��*i�$�P˸x
+�6��Q�
�:�8����AӇ�K����#^�����cĖD'K������_���O�z?�V�-~�
��\$,I�}�ؒcrp���:�_nX���7������������
���
+��N*I
C��$#cן�^�i�:2�|F�B2q��
)#��cL��Ӥ�ރlY����@7�¦q����������:�����pK��N_�$E�n���)[g'��t#'=�!�7;1��a)3�+H�lӷ����2��72�I���
=UN֛|g7��Ikȹ�0�	=�܄����s�Z �d��6T��qo"�)W?���
ѹ���gk3�O��U����Q�\T_U[�<��c���ˆRZ�E��z����t�1��s��y����`f�����!
�k�A���յ��T��(Vkg�5�?u��z�	i�`�7�!AQ�9MU䧣�#�~��DCa�<�ASo���R�EJ�c���ݿtnv���	�aY�6����FZ��:?�z�������l�Ѱ|��JX9�-�G [...]
6�F'_�Ku�#岍B���.k
+�������^���7���W?
(^� `Q2z����E��!4\��
�$�I
�b!4�l)�zg�O��z�XVw���JV�������qN�_3R�J[fTTkN<i���9�6X���a�e��Q�C>��X��&�n��>��e.��m��`

+bC���	�֓��_c)+�c����J0���ѷRj)�~L�N�3]��F���T�#|~󒏴Ȟو;*�N���!f!��N�2�z�YR(�*����!iw(
+IT�E����X�f�R���l���o3���~O�
=�"W$I��&�ٵ�k�8;$ۃ�f��!B�4��b.;��`�p��O��7�\~2c��=���jf��X��ɠ)ei��
u-�qXVe~�
+��B�(�7�b`l��j�
�=u��4:�
Š�PW�l}�#3oC�hڲ)�$�X��d�.?'j6����w<��~�>�t�
�����%بj�LY�,@�g���!�cd�BzB��Hs%j?�2 �eۜ1Q�aU0+�M�ؾ)��q��I��dߚ���
+��Bn�2���Xb���B��0�M��9�C��X4�x���c0�ww�>���H��IH`ɑ�df�
)#�k۶Y+�nE��%	N��j�.�mX���x�!�}�#����X����.�3'��4
{�\ť�E�p��E��
-�!�o6i|Պ�p���'j����K؝U����{����z9�7?<��.ѧ�H��i����f�+��r1M*J�:6�UX�
װ[Sf��'n�I~H3����b�M
�5
+�n��͜_���.�g0M<�G�7]f�wCnn�[����mGs�5 ��LW
��{���\�4F
���j]��j�=�w���e�(��kIƅ� �H��R�ᔺ�J�>��
(�ͶW�}�-�~h�uHU��܀���Aϊ��1���o��:5\�K�V�
��;
+p�bL�
�d!��P��%�@�\�4
+v����
�}%9����.K=?���N���
E����r#{(�ɋ-D����l&�5��x
4���pa��u����$e��=��5n����q@=_�'���M��3�*8���@_(�0�Ё������
h��hh����Zڃ���4#�Y"�2[S��M�uɂ>=Y��%Ľ�A(Q@�o@;����XR�f�ႎ�|�@������!�1�0�{WzY|��g
AUik�
��	4�Ƈ�÷���N9Wzśi]��4��Ӈt����ʢ�|�;w��$�(	M#��$~5𘵄��hh��f
S��)��DJ�
`T�u��&
ɴ���X*Ry�����
/
+�N�L��g��H\m�ͭ������y
�X����A���9��{�5���jM7�h?pA{���h�h\vL^s�]�%��*Kp K�m��qYfQ��@�i�l���x�Y��(;
C�T`X��#K���fK!��8T��A��e�Y�\���ן.w�6�\ڱ�{D��U�U"l

�9cJ9UN^%v�
@L�Y;�a��/ϣ`�~>3�5L"�_%��)��Ou�T
���Q���C#\���'tIoF7=V��
H���]ag��Ƚ�h
�P
+8�e��>a7�ԓr��L;-�a�E'����
W���Utƹ�U*�MRl}˩�1.U�7�
C�[���.�SB~]'�3X
:�n�CL�k��G�>�.�/cY<[��6<w�o|��?��L�2íGm���ܯf���!A7���1I���t
o�����N��i�!X�ӄ�8g��ӡ�n�Q�V/�HB�f
�zX��#sΖN
l(SmY�_,�gܨ��#�
1�iu!f��(܁k�o23(%?��eN��~Z���m�㌋���IjW\��.��I#i
7�y��X��5�R�
4���'�'{�tlr(���CTU�Wp\2���#��S��BZ�5�e4\�=�T
\���9��Q�
|����[Yj�-���%I
 jy�Ƌ�#KiaC���[�f�����
\]�
�ѫ.
iv����� ~�D�l��Q
+��j��ջ�o#e�$Ƶ�S,��
#U2�
��9Ÿ�h��#p�~�sF�k>��H�џ�bl�4��cj5'a�J@;Eoۼ��9%�-r��A~;�v"K�J�Ij�c��m
���
�����ٲ��_���5
Ԫ�6@����j�W�)���M�_�Ǚ�]�.�Mo��y��"K����29
�� ��fp�
��ˉz���ɚ�/��
~���_�0���
\��Ys��3��q��%	7���O�r�]��z&�dcx�'�ǰd��
+�m|��D��_
c�}
��"H�Z.��	M
\v�r#��oa{$�x�{y���}�
��3�G��rS	)��H�j*�	M��Q�񮖈ce���q��)�}�2�
#�*>SS\���PS���a�d�qJ��ދ�W t_Uk�7�|
+���
)䬪W*k6���зMm�Mg*|a���T�@��KM=��`s���'R�m�
+U�78��pT�m<��&�Hl���e�KFӅ���r�7X�CZ[����\o뗨�+ύ�[rMQ<A���5�95K,����r���Y�9df���N]G���x"�%o.)4
:"L�NZ���n
.kD=���ߣ�?���x
��(��
��������G7�h�������E�O����ͣuz>�B�UuSe��ԃ��<s
�� �\��j��E7�Yp:��U�ƾ�

�G��+���!,������i�qq>w� ��#��F=ff�0�9(l�w0��tSH���z�~ ��"���I9�|�
lUX0��,U`�Z>#��!B,����ɟU0����i:s�I�{��������w����R9PQ�A�
���bO��Y�q��Ú�6ۖG\��mi�d��
�,
9�׃�j�*���!��S4�Y�>@I\ڟ0�J>e�Ƀ�W�?�E�r�KOz���ŏ�9����i>Y��:�[N���
W�	��n,�bظ��v)��V(�࿞�=�gQB�4r�4*` [...]
+��šI�Uy����3]�Z\�Xe�֟/�"��E�_
�\����P�q�X���s��㐅�I(�h&l9��+]G��I�1��"��Y
+�	��q6W�
jǘ��+Ť��F
\7;�{���&ͦ�\�E��4�	���e)l�=ؑ��T�"�mL,m��K �Ч�	M�z��g|�B�)��~c(��+P;XQ<�N�AB�vR���+U���a�^﵃q/�h"$�lON�vA��>]��~g/��'� ���E,��ʳgY�ֽٟ�2��BTy:N����T�8��0
+�B�;<fpQG�u<~N-��JX%�3�?dQ����:����<����E��
Zsy�99A'��Z��yK���Oγ�X�������5ʩ
+�MW�]6QR�P����h��JU�m��7�
9�gp��������d*�\����F#�m�K�a�TV9��]����4��(��
+q�@pZ�!\�h����Y�i��Џ����(Q+C�H��e�9��ݞ�'�Stq�c���. �᫮�|���#�â�v�
+*�D�6�eմ)�$m��#�:�NXZ��ƨn
[�5˂��J��1
OYCq
+��Jd��p{SW:$��q�7Gi|�ϖ8
�T����[ޘ�
�F�y��j/�'��X�
�����a�>��췛���
+ͺr�o)���Gol\(��~��2�_&�>������+LSt�]U�1OLA�W�=���H�gȋ�c�0d��j�!�Վ��3Ѣ��Z�!����뺙���~�|K��Dn�l��,&� ���k)�r��'h��j��z�`�rm��H�E3�?aӣ�Nv��]�74�9C1�{A����^�sd�z��i�Ź��iM���}�`B����g
[U?T	��AQ���p���q
�߃x�|h-��2��
z�MY�����
��|���-���Rm��K���A_�f��Y
d�7��I4��i��/�\�mةwM�݂uPZM��d�� \��B����w��|n�
,'�x�~}�P��J����>����=��'�Y�u�:�Kc/c&4q��•��j�y��^�,C
HX�}�:ޜC1;u%���M�Q�^oJD�H�$�ڄٶ=���s��
��b*�J���L1tRؼw�fT�ә�#�:��z�!�M�u�bT�+�+��E��8*M��q/
�pݫM���Z�Ec�Ii��>��
����In��\Bݾ�i��mm�����
.}oؕ֡B[R(yO��
�.�t�z�Q+������Փ�3��Mj�T�Zխ� �='e5ݜ��Z2j��l���ܗ0�h�*��
N
dw"I%���z_�ح-��P����8���␐Xs�d�\l2k&�3������ʞ�
+��
H
�s��3����������2%ދm��F��P���%�����$��8V���y.{?�e"�(���b+\�.�t
��t��~ڴq�L���5s!A
:�r{���R�������/]̗�%���B��w0 -�=u_SϺf�������m�y�Xn�94�G5�QL�W�^���3.�5=�=��:3��h��'�w}��4[�t�
�C��m�$j^�S�_}y/�
�~�C�
��0z3t�{wQJ�.�$�W����
cȾ/��~�	K�s����M��/��k7��
e��ƙ�ݸ���"�R6�J�Г=���b̥���e������k��pkoy��\?�׶���ְ��9)d��:m7F�s1�
'o->-�{�V�dCHіu�@��X��#���D?�
�CZ*�k&!Ҽ�����檔^ߧ�]��
6�d�=�mh�c�n�3]�ag�$��P��	����K��e3��
��}��Qy$��+���f��Ie-���~I��R�;��‘@�vih]��\�EWC􀊼�
����������C�W��a�b�#�BX��A}���M�h��.����/��L�\^
�
]]S
P�
���2[A�W%j��cI��6.}G�3���ST��~��G
^��]�ur��}z5�|�6
�{�V`d�WX���h����~�~
d\�U����Yq ݥl|�,
�;/s��QTT��6q}um�F���6�p��U��y=mfV��DB�ŝ>G��mΒ
�	�Kj��n��ƉS�N�����8o<��=�
+"�
+C�S
|g
ff'?�}���E�<3C��h=s46�v��셯��,�A�MG�[�2LМ����Ҁҟl��(Ґ����s;2f
����%�Jd��?*�u�D^i 6=�(�hk�9�������P�n�0�I����:Dt8����Vm
]��S��&�-
�,mD�V�`l�M'����J������g�>=(�aÜD��ȭ�y��Y}~��;W�V�Y��&��Md�X]ӯL-�[~������\R��F���ۧ�:��"��QY>�޵8G�X�|Hy��v�Z�]��*�k�#nb���U-wo���J>k�
�c�����Py�$Ԕ-͘�6�GԸ�� s��ش|��G
J^#�p�O
��Uq���I�+�(*�r^�5,Q�c-n�þ�sA��w$�����X��aҒ('�Cz���l���vdFg��&��r䠕:	*�������D1¬̤�ϋi��
|ї����1��dX��o�m7�*��;
�`��4��5���m��`&
3����/��B�@�f��d�	l��`���|
\\�_O۳���ɨ��
�F���F
+�BI�||-�)�|��
��5E,ɴ�E����Z��g������$��%����
+��^��ŏk��rY
�
�CF�o�d�x��=���b�G�"�Չ��"��F��x���s�.[�V�*��c
�:m���]@�^�j�!邨�g�{q״fM�2�96���T�$��yo�f
�1O���:��
+��3&z���J"� l~��4%�sx��x�#�?ŷ��������S5���r@����ߩX}�a�

~�P�r���{�n��`z�
�!�� p����z"l���n�$�X�q���rC�b��!GlbO������\����Y�|�^5W+
%(�~�n|��S��
�#
~�[�I6k� ��-NJ������n!������|na��7E
ߛ�{LS��60����ss���V�\�	S �I��o<�Es8
�i"Up-a��AH�uf��1�\A�U�"_�:5����ϐ�����?�m���+�����������/���w��l�HP$�N>~z��b��Eq�Q��]EZ�c���Y4q�N
�'�+�|+"kL&���&�y
 *}-E�f�S�����'��*�
�6Fv�H~ �k?&GP�o:��pYo�&��R��w+8W��^�Տ��>q�/���ÃzId���X1=��$����/�R��g��-�U�ىi�
aL�~�5�- ��Y\=�)Nx��7C�R7`h�L�G󀆍H#�D�����uv�^�k$J���#�l��
Ar_ ��Ol5*g�7�t�E�W�U
ɒ�DdS�Ot��M����
�.t1�S��iW�S��Uڽ�,.��
]&�OX�O,��I^|�<�^d[��m<-��;)0o��flZ��uoE�l��kn鉸��9�q��/�c���8�@g�Ŷɩ9���?�OL_��2�U輋L�I��ݠi���$�l������=��iG}Y�v�Шa��M�?`&���'�����|ISիu�:F���KI�-�OCҲ2n<��h}��Oc%4���
���z�����q4���Z+�����/�Ї�b`M9��@�:3��-��H��"L�ʙUF|e����yQ�WƯ�]�%<�=�άCkJ��'R���ދy{�8P4�����n��B�f:�Ce]�WW%�W�������	aI���Ik�D@Ֆ���ϼ�s��%Iߔ9����qpȾ=�=$�'9��B����ddv�^:M�B�LM�2�v�r���	ee�7Jxw>_�m�8#�3Rb¯��?�Mk�	���җG����J��s�eb����3^	�m�
�s�hOO)�tg�ձ� ��1����=B�TX�� ��� [...]
��֋����-�O
�ff�����:w}��
��Qʀi@^���*���
>i�
u�_7�v��[|
ަ�&I�~�$/ӎ�6�#��'	���
+�_�K��� ���r���V/���l)�ƽU����<z�b/�n{��ВZOa�@O�����71~4$��EL١�2[A\�
���{7D��y+9?V���	Nj.�-��"��%��Ͼ�Ԉ6����c&�g�����CM�|@����h~�81�q���'�f1���W�0�OF^柹(�h��bu���*E��py�j�{	�u'Š���<�N�#RTK�f]'���H
+�,�gL�L�#
���Y�4K��4u�kAg�Cr�/��~���LW��MLR�
��
��2�S+�y�f#��F�H�!������ICݬ>��-����
F����tᵄ�� ���߉ƥ<��
+n4���.q\�����n����f�`��ʉ��S��Q25�J��re"Q���R�����q�%���}���~4Z�v�
)�Q������
f�QUMB�ż>/s
1
��ʉO(����"�"Jr����m b03�~
�1e�w�D����B�o�)��z�1���
4���HRm?�LW�4�D�E{��[~���'�_o���.�Uc�L�%
+`�9�� ������
2$�u��@
�/���Z�Ւuz�+��%@�I�'�1��zf at Z�`����<"��㱢��9H�0��0�W���~�H�_���p�ZDT��#Kq����pc�+�3U���᥇�C6���+m�F��*2Y�G)�@���(��V���ߕ���uJR�D�2��>��H�����E�3]�_8�$�����ei�&y=��2҂���cȺ&��K�=��I��I@|�\!�C���Z>�
1��&����co�c|2;�a��j��yL�֝}�I�ÆK�V��H�ima�;���Ё�Y1��T�aI��L�
���Eu9��
�7nH&��(]
5/���F�q��@
��M;N�S0�C�kx�T&A��Xn��xb�Y=���&��
a
���\Z	{�%��ʌ
{
��HX�-&��8 @����QD��&�G�<
����+
�\z�[6v�eL.�OA�|n��}��#��Yc4Jv'n�n���'
д>���Y�YhO{�t
P��+:�+���?�+K*�V���оI󘛄�'�*�0��8�M%u�C>���ޠqm�x
"B��:�=\���x��؜'ZwkK�𓛡�sG��ܹG��E�wmP�����
F��Ibr��$��IMg���ck��&7 �Ƽ�7���
+�wD�v��K�#q�40�΂� �Uoyv;�U��5K5(�
��7�B0� h�6���J:b҃�T����q����|��]�^��p�����
����
�4�]�cW-m�<���A�\/س�4�s���1U2��# G�w� ų��t���m4�s�
n(:�q�J
2�)�����W�)J�	���7��	��b��Z�*+����&��NP��jD
�ϳ��C��)A�g]I�4�s
#͹�T�n�,V��Gg�~����26�zU�oB��Y׿���k#;�ܕ���M��U,�	v�.����(��S��G�j�D�#¾��
H~
�@�^$v�w��R;��5
�X�bʌ�}$+���Nƾ���z[>�g��������Y��'�D�8�/q�CZC���B���j-E����l)��_☛��O����/OZz����*%�@3�J�Q�
H?e<��s�K�|��y9�r���F
Y���ɿHk��:��r���Ͷ=�A@
��N�S�0 ��p�c5����V��z'�z���8�
��k���u�7G �F�[
A��#y��_�'9p����
��Q�B!���&����}q
�a�#C�

����nr��	�$���<���ܬr�[l��d
RX#�
�ۦD���@�2ʴd���+{]��0~��*��m��\�b{��iF���tK��R��w��Q�F
v��ݗ�p�$b��o?��Y)�����tO�'
+/���3��_7�v�	h�a�l��N=��
�����
1�
+����eF<�}v3<X������k7��i��e�i�˜i��"j�M�ș�;���ˑ�H�o���>�_��VW	P4Q�DS4X��X-Am��Ziv�
�(ߨx��L��{�|P��&�'.�TS��<.dm� �]F1����fhe�����@�� �M6��"��Y��^�:����~`NKH�aO��_~0���a߬Jz
��-��~����gj�V-������r ܥ8�]1�O��,r�
+2�x��O��it�A�~��C-�t~L�w��N��?I.p3�SD2�t����5�,&YY|!��)�� ��;?Q���p���P��?
�Lt��
a
��]�VU��x
4"U2]X]���+e�� S{
�~D��
�
+n
+"*
�����*��)��7�@v�=���b[�'�^��|Dx at 8�9탋��Z�U���U��E��
��X�@�[�
R5��� z�3�i�<ɋVs�Ƙ�m��qv
+$y͡RQ{�
1� �������&#Bݦ��(E�c]d� ��<����a�[��>�J�q��H��~��VJ3����]�VA���L����c�C� ]
��z��N��b�Bـ6<J�|6�)��)X��D�
"Ӊ��#���&��\FY��=�"b
����iu��~���_��s 2
H����A�o�Y�QۦRK�K��^���0�����(��!�:�2r�1�
.	84�_��n���A�':�����px_J�:���ՙmla�&
1�lx��탓-��6Ҷ�p͢�^��w'T�w�X��qS at Yj1�
i��"Kr I�ݗ��E&�O�v)&=��i�2Sq�&�u?^*�`�A��"U�Upkem��d�S�$Cz��
D���C�c�iL���	��
�(��g��|.޾��w�o�ij��^������&N��޿�;��
�A��1�B�@�-�D��l���Z�����i�4f�D��+�5�1
7��U!�$�V���n�L��W+ɵߊW	�3�f�[����������LK��e����t��9Ɠ��V����]���M�
Zۃ^]x#���8���
����t~(�59�|��
	W7��L�/Bx=���M�Y}�#�́xF��ۘ�����.����׻��aL��Q�\���4g��\/{�n\
Ӽ���n��D\[jCĺTiВ_�ͻܖ���v	���.��r�B���~����zʐf������:sT2qz��T�<���l���GiP��8�e�Hv�L(�l��������X�nfR�^Ʊ

]���<�MWB��갡f�������TƼ
+5�y���I��>��z����e��B�k8+���K�K��#�)]Wj׉�~2���I��]��3�vZ��u��}�Ie)q�G_K��i����F�~�/Ā������kR�A���
+�������
'���!˃�呝
��>˭)%Utu�;��M�W����b�	��@��
�C/g��!���Z�c�Y�x�Z�V�rg�ׅ��T���v��-f�;�/�
Aj��U/|�P�s�~��d|[{����.�"�\T�5҇���%/���p�u(���j���Z�˛�9
+�
�%�x�.f9�<c�@�]v�g6/S�Z�X�
����L�2���M��K�c��/"�w<�!�Y�"��3���>�>�k�TM������!w�-�F��J��LDŽ:���ujwp��.
v����_�)�U��i�ea��\
�W�ܘ!��@�>�Y
KPy1�k�t
G��s�ҩa i˺`����)(��@�|�!e�xO2iB��$^X�4��t4@�O.�V���m�GV���'x&��-)O��

b��m�V����]Kp�
d1���HMO�j�m��lJ�y�y5b���v8o�z^5��%ʯWD��T)�ᅌ2��J�4�Uۋ�Q�2�zB�iq�'<rk垒Um�Ͽcc��ϕ��z�z��0��\��9�����U
��g���ʪR�4�8�u0�UTMW^�
��Yi��؅%<:�c�L�]V�R
+"���
U2�#"�T���"Ѡ���J�*#U�[qM�(r�4��e}��MM��|���1�`�_3�2�����V��.�Sn�����D�9�T���%ZwU���ZCV0�l_
��}�����
ˡIs�
��z��w'���6�,E������+��o5"�����	�<L�$_O�9
b|��p��
��倻�xtu��
���D�
��~��Z�-�0���L���=2���t���|�X�l8�#��P�7����Fy����qٗ`��1�ԯ(��
+}��
����1�@���
�L��|�]��$j��z�.��󮏡���d�ASL"_�[�S���s7����薎�1���6F~�R�o�v,G0+rF���E���um�	C5?,EA��°��|S~��|gܨ��1j����͛I�
�+��Ýf��%/
%~���Ί��5�4�(�G�ܯ�=g�
^T�L�,h�e�u�̑�6�Vu�r�����ѭ�n4�\�ؠ��@��v���Ok ����mU
g��A�{�T���6�
?f���l�XzZ������Ojl�@�[F][�RVQ�.k�v���s*z�Hf�H,��p0~	W��Zyd(���ZS�;d�����V�D��9s�s�볼�E�
Ի\1-zB���b
=�ʃc-w��9FR���AV�V�
d")�O�_k at F
�q_��
,��=��h⋃���X�ѵ:A�+�X�wxKL�TƂ��Z�,���
��쫰�<�2 ��� ��)[𪈌'^qH}�,��a��u(劢����W}��P��ΐ"�׏�ݕ,���%�G��X���R�7
w^
��U{@���1^�^���6Rf(@)�g�<w�`t�8N���v/1[������RxX�tñ?�
�(z��.@�
��v�0w���H�
PO���?����@{�'@_��HZ��1�Vf�����o[_X^��jľ�T=|��-����Q�NNH�$�eٝy��D��Mk�
�LM#��
|co�T���
.��#Ņ�&&�/�5|sG؏VgT
_��t5L�Ů"��Fq�
�Y�T~��[���\Z�ބԍ�7�Ӌ=��� ��;E��6Urdt�̾��{���ɷ_��袕�ۘ
����M��D	.��yWM����PS�(
���r_�`ȁ��/�A=P#>"P��SR�"��ߡ.d�����z����rf}�PHɡd�r_�{�gt/��0�O�u,Z��z�Ea����4_Tk�G\	��
��(>�u�^Zw�Y��Mr|�E�5�)��
�8&��(B�_�W�v
+endstream
+endobj
+20027 0 obj <<
+/Type /FontDescriptor
+/FontName /BVTPQN+NimbusSanL-BoldCond
+/Flags 4
+/FontBBox [-139 -307 822 975]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle 0
+/StemV 114
+/XHeight 532
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/ampersand/b/c/colon/comma/d/e/eight/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedblright/quoteright/r/s/seven/six/slash/t/three/two/u/v/w/x/y/z/zero)
+/FontFile 20026 0 R
+>> endobj
+20028 0 obj <<
+/Length1 1641
+/Length2 7948
+/Length3 0
+/Length 8787      
+/Filter /FlateDecode
+>>
+stream
+xڭteT�۲-��i
��[pw
o���	4
,�ww���A
��

�~��;���Ͻ�G��VͪYUk�*zj
m6)+�P�e�b���
,\]��
U�^A�V�G+E�9�
���K;͡ ���9(
�Zd�� nn ���=@���
����t��YXX���vXx�
y�t�8�?܀`����L�?�P[ ���5
��L�j� y�#���	
W
0���:� ��g ����S���\؟��\ � '�%�9
�a	t�
���� ��o �`�l�}�( r��Z�.��n
�S��3����{&Ӏ�@],�ANP�sV
���ښC�v=� �������wK�g�gjrt@�
�߹,� +�����9�3��3�O�. G��+`8m̝��@�g�g�߷�w���ҽ����O4�׿k A]�`kv4.�眖���6 G4����h
pq�e�ru��t�sAL�g���s+�#�`�F�P�@�S��g*���D�H��?"��N�j�_
���=��Z�
V3wx
��
�yӸ T �w
����]����Y�?�� ���OG}�_%�f�'����ͳ6lB�BYA.r ��ji
�6?����sE�`�#�Y�?
`�����c
��w�-�_��꟥?
��p%5]mu
��ߞ���<P
O' ����W�X�����+��������-$��	
+��7i��p�}V5�:�< F�윜\�����>�����%��� iC�
��g�߆߰�������s��:��~ �h��mb)d����%�
�1���
v*��)����|�K
[�0{�	fo�"�����������nB0�d�q
�-sO���v���
&%�i��Q�'�*�^�s�m��ij�? Q|i�qF9�f��u��ǧ�r��L�KЁ� �[[ppȐ�w}��?248���g��%;�^Ĝ�7�:�i�|Qo�
�΍_��&�}�]�m��C�%��Ji
a&�;��
�2se-���<I8�9���0��?��9ecO�UU��1��?m���K�jLv�
�Mr��g�Z���YP at I�\��\��=#!�Y��i���l2�Z�Q�
+
�7k�:y�\�
+�T^ 
^[�RWE�/}O�C�
x
Q�ݴ_��k
n���4�o�\�O�h���}?��q�mt�UE-���E;���b-H�p��u$t�S�-%r=b����(
r����MĄ���s�=dk
��{�R2�Vu���b�ؿ���U�Y�����d���qy��F9��"x��[��ŷ������Mh�3������<�E�J�*��fY28S[�e�N!I;�i����~������>��H��"�`]g7��8ھY�W��7�;� )�,�4��p�f�S��t�]ǭ���Q��eG]�,C*�ț�)����f[[*�����iO�Z���B�"4ʓ��\u�D�\��bﺒ���
�,���q��� �
8
�h	�7�nW'�VKf31���:�Z1;������C	��׉/��\=��b'�U��ᴅ)��^��=��&�3}3]�>cS�/�e�O1��V���R��E���
?g���#&�ke�E�濌�
���ũ��u:�0���:+��)���>؟WN ��ͤ��f�y�v������
+)�q�8
+9���q��r2	OW���+��,C
��װ����j�/'
ts���w����H$9s5�rGG�q=�� �\<��ԍ��C��8W�A��L�D��Y�n-wQ&f�7Eo)0(B]��v�LbN��#��e��oީw���TD(r
Ի�kg4�'%
twl9��v�`�޶%M�M�T��ٲ��Vn��㐠lى|b��Y����ئ	ٹFǏ����j��}e�5�����O\
����x8r#�
���e-*S?K|w
cF��4��Q��)���,?p�s��Lf����Re�^B7�^.A3F���J���j?*O��x?��
I�c��T�܊[2�$�܇��
)�.$�B���[�æ�]���
}DE�0E��.|#_�
�H[���:�Д;qT|_w�߆�'ڏP

~J�j�ׄi���Y�
+5
�T���-N�c����}Z�Tz�����d�Q4�-+�L���C\�7�^���8nW
d�dEK�f��w���e%���>Y1+�S��ޙ�}���6��x.h*$��+�V���1�N΃�U�nH 
h �۽>
���L�f�e�z�Y�,���fO��������
��BY�ʭ"�4���7%k��ڊh�
>�>���╂��B�
��Nu�m��1�x
�۫�7s�i�[�F5��� �����#��t�N�-c�O����G|�<H�L,�E6J<��!Ê��
+_e��ٺ� tV�g.Ћ�6���vHcJ����z_���xH�&��쏽��|��ymG[�?,��}/�l�
1�JIJ
v���;f,�痊b�:��c'�m����s�Tđ�%�Y��
����
�Ҋ٧#8�������M0;�E��6���Fb>O'�o[O�b
�t�^�Q�N�H}O�2~E��ۦP�k�yW���,�-3��,�}4�~��
	�}��
�9�]�� �#���IQ��6U��W
xWXˣx�ܾ�w�-5�dp����>�����痣��U#�3�`{�~̼ɁPn�J<�<S�`�aeHi'
�	��R4Z?�y��2Ǹ+
Z�=i�hx���P�Lz�c+
h��7[�&�����4
WQ�����wmq!K���
��z?��U�}�x�m0ي�YߑP	jX���
�٧�)���JM�R�Ava�ӌ�ġ#���灵����!|��ׯD�������L' .� ��"}H+F �e����Nh�3�hg�����~t(��0�����5?](1%1߸��jL��Y/#o�jB�v
��]m�9�(��Ć�p�4�����\��ݚM��]b��h�6c� �T酩u�
|Ζ�艎�a���X/�|��
o��*��
l�F��]��l�Od��ax����Vk-
+[{�E׶��vn(U\B

H��yCL��S�s ,{A���gx����toE.:/��w��T�
0c�|7��	_cD�:I1�!g�^Z��ϴ� !���9v��|���g�4!tM��?�2X�('��Q�DE��3v�!2倫�ʇ06�n#8kɹ�q���k=��>���d

s�^q/���b�6!�(�IÆ(��T�ԟo��MPf��rt=�g:�
[��Y�U���
�Lx��>�[-ώ�rP�j�>�%�<�Z֩��ʙ�{����
[ڷS��*�B�4�������#����&^���\��8���E\�G��>�xM�m���g�P>��@���@D�}�v��?�#�ȹjfў�����xd�('��T�l�bq
U~4��d��0�hS»*_b���s�g��~ok�Vf�KJZVʜ��j��ڒ0C�*�*
z�����iPL0�Tj�0���"Q
]H���E&gҔ͍��
���~g��t���V���+̸^��E>W��lج<+�X|�2!Ӱ�5W̑t��E�]�
�[q/9�ՄoX������͙��O�2�����I
��p?D��[:��:�8��}&C(��3�M�V����Y�95S�NfoDI��0n����ὔ0*{�0��C��$N��[7S)�vr8Z�f������)J%�D�&C���"�:�]���oˣ
I�=��*�@6:10����X�
������0��6l+q��rgU`��Dz
kg�h|.��c.��'�ő�ˏ��4NH��-
˔'�N��+�K�<�b���2��$�0:��w��
+5���z
3k�@Q�����e��rF��-cw2������|}
�=MYO�$d�W?��NX�x
p4�����p
u؉0�O,�~�����
��y0g J��	��R�٢PȬ+�K�p�SD����u:��&�������4#�U	�Q�c|�cm��
����y���G�IM [...]
%Ӫ���]zd���u�U
+�'
��"}N��
�c'�
h������yh1�Xe0!����A��=��	
^5R��b_-p�K^��]�M[>�evq�#՛SQAj=7d�u
@�a�r#+�@&a�p��hf�Q�軘E|79� ��\}��#.
+�\�f�n����%H�&�
sV@
kt�S$%���g�]�/�֤e-ր��uĶmJ��*���n�5��*���o�V)f�P͓�C�	��?�^�uCHH�U2�d�����Z����&oT
��JA�(��[m��Kn>Gԇ�B��|�*O�Ì�C��N�WϢ�6�NbjQ�[]��2�$t�ӧI�~��3���8K����t*��~Q��R��
.ͷ�-_b/-�+dS�U�$�)�����_���Y���Q����;�O2
���|�yt*�:s�BckNh�
��
�5)��hv����i�.�'��	�r,/3��R(n�3A�DM$��H �[�����!b�N�
+Jۤ<I�Y�%@�H}��I�`4UX�'����n5�Lt�%ߎ�G����2�TP����v|OF#��q��A�R�
+f�����
&%j:�5�;z�۞��n�b��o-�H�d�U:���O
�R�M�%��녞6#���1
��O���
�W�Uǻ*�4�6� �f�H�dq���"g��q����_p�;��M�E
+}�7[z0Ys=��9
�,
r����I�Ch�
+����_�T
�	����0<����c
i�����
+r?F0M�����"��|��jcQ�(� Y0��sw"w鸓_�ϼ��wI6R
�'��0EF�E�;5���cH8��?x�w/����8US�0
.
+��=���9�����-���#
F�l	����"�A�v3�
�/����N��J�L�N	����Ox��abQ�ޏ^{i����b4�6
$�`��`�1��'�k��ɶ)Ƅ1/���&��O��:��
�����}^IA1`/��1;l�.8����k)%�B�#Z�1$
�L���+Jz�֥
d���T�9�mۻ����<^��JOb�۞R���a�M��P4)�_KG���@�
KP?Bk/)�;p6HMk�G���*-F:Q�g*��[/��L�"e�&��|����mv�7�?�
J�h�M��M�R<w����e��c���x���v��'�q�%
`�(�?��΂+3�u����Ҿ��z����q��Tn��/�Yls��J �to����4�2.�f
7��z\
T1��ra�$r�����]@
�Ӵ�gʗ��_�@`���'�uB8F�VC��On����ɤ}0��7]K��{uf��lCz����3����|��N���ŶBү���҆

	f�>����%�{���^�h�\E6�h�
+Lۋ�M�7w�J�/��n!:�ѡt�o�S5�?#
�W	�t=i2���v��k��F�x�%��ԝ\�n1�"�;���ؾ�#M�!�S!�q*�C�b9�)+W.��~�!��aر���4������h��r��o9��*��pin��t�����6��L}@ä1���7%��ؚ����.D��f��C>6S�Z�c�Z Af�����w�C��:a���o&R��'Ө[AC
�d
�^
	��p$��Hޒ4�p��*��To&҈]��ǎ�{G��&����6Z�5~Pl_�j	�a
+��
�a�@�ޯ� �by{zO��fX�-��91���s'�j��ˏI���(�^9�3�n���Kdv��^NAF���^��F��[�?�QS�3�a�۶�[
Ny����[�M��?bPhE\�̏K/7��uLB�B�}H�ŏ��=L���w��P�s>��p�E9����x��(�2¥��61�9�'ZOo�O��M�y� �}��½uo>.��r��<C:�3� ך�����
�kO
gK�}���H]wL��`zn"F�"��8���?��jU�4

,6)a���:Ƶi���6"�
W��"K���0��jSIh�c9՛�8�u���U�Ǟ�f.�����Qha��|dsɈ�%�B�q������X��h��:��j��Y�_��	�����R�
+I� [X
+��jxǥB�
�(B�V����L��Iih��*E�*T9`�qji	
�XEg��P\�v
/�z�t� \j��jn��S���ڲ}=H�;��Ǜ��4���Kk
˃��� V'�l
�ӭ�;ё��Rɯn���#�$tttx�zN��zf
��
b&ʕ9� (Jm�O|$]��"�|:$��P�뒚P_�=bRԐ�� _d b�N����+�T����A��	�
,/���h�g��Z%���[g��_��b띁lr@���?M�
��c8t�p��R�ba
`gs��5����t^�T�WEN��X#�����Mgg�G@
^�z��0t��	&��k�Ę�9�=�ϩ�}�(��Y�q!�)�k�	5���d��+��#����O����#���J��NN{D_�\��;Q��}�>�+t��ށ�,w�$W�B��~b3�G��Yl��=
I
���%p�p�y����:�1I������Vߛ��Ɛ�`D�
���7��
����|o�Y�Aϛ�-���zT��s{_(V��c��+N�a�����;ž����i����b���7�ї�i��#q�XJwI
�,W`R�S�A
L��
>
+�1ޢU��߂M`���5�
+��t�X��e�#	a�JM�~q�e{
)�
<4m�����*K�/u���q��v��r��ӼO���"����A�G=1T�VǢ
����3}H�ϷW��S_W!#��:ج��>�ȯ����A�+~!1���6N$�O�u\����X�������-�IRX��o��;��E�%=�[phwYU��g��Sy����+M
B��:J��m�ŚaP��_�$h��>4 D���pQ��/.(�O#
�6g�L?*�
��f$n&���x���u� /��}�"9��>�
W�w��X5�<�uv(w'1]�t�*	پe�h�,�Sˤ_���X���h���m8�.�GJT��Y�BO�HYV�b�"�!ѵ�g7韷'a���["���:�����$̵�ݦZu{�vm�	�������4�e�����Lc��v�����JaE� ?YE;j���-@�wO��D8stvkV#{�ݯ(�tҶ7y��W'S�#Z��_h�O,/
:
�sz�lK�G�׽!W
r4��
��G#g�v���d"~T���RG_�X}O�����{<ձ��#�D��gQ�G��_�4�H�1�nx�
+]��N�yK#�7��;���y
��^E�0{�Q�
��s��Ќ��[A
+�5���p�iX%lnwq6Ͻd$�]0���g���s��a^�)5��/��a�a�nK��]�دzK�r,��|�(�^P\ކ(��L�9�J���g�v���yU��/�
�Ӱ����U0إ³29���Mfa8�}\��/�97=N�%�=��v�$)bY~�=16d5�X��8)�N��"t�

���`4mA��d'��)�	Ɨ�ӦW�O�`g�'����eİR,�
���)H��V)��{-9���ۥ���ʧ:��(��h�
+�фIlr
+��4��
'*W����0��qA��I��n�;��,���@��t~�/�r�^
�-k�� ��I
}UIU�'�w��D�$\oe�໎
���d�d�uA��k/,&��ȱ4K*.()Z�
��%1��`�����o��!�����r�6�����`J8��Z��wJ��,0�
���G�Ý���5����G���#���LU^ء��qcc�
�6D1c

�"�|����{�c]t���L9�!C*�D����
���`C��cl0�&Q;��$˔�E �:����yIӞ��m�"S��Sn`�e�
V�u�����>��q K.zN|-��E?
8��-	!&5�:g��m��n\
�c)�șT��
 
W����OB�ҋ���>Z��o���ӫ��u(+�I����������P��ܘ9h�%��$ڐYh,�m-:�"/&j5��������ҚI�W`�r�������D�_�N�I+�Un(J��1�?���v3��Vb��W�η�a#1��S�c��/��P�Ϗs������Vq�	i�]
*2�/�D9I���G�B�QuF�R�H� �/�ϯo͛�6�u16tJ:rj�l����!0�E�k�ڞ��P�S����|C��}|y��к��x�LV��ˁ0�
+Z�1����{�j2/'���/��"�]�)�ӒV���}�� ��.�$���Gg4a�4=�.�RUl���F�k�U��zF��cp�I�P�s���j
~�g\\��W� sY=h�4S�JY$C�dM��{q^��l�G@��E$�v����
�w�;R��� �N�oF�R��.m�|��'�M]���d�j�	R�<�Uc`��6¥�	�H�򻾇�M�@Ъ�
B��"@\��Wh�؝���4c���AJ�[���d���U�/����ĵ69K+
T�Ld�6�3���$w�K��^o��9���<�h����o|l	�/;�}/�e�)�9ńw˟�#I��M�X�W(��3
	�E��������
���5�)�W��
��t
�wV��|��̜�ط��6�����/*�ѕ�!eu�N�mƂaF�e���'��(N~/Q-m��K@���Qʧ�����t34��p/"�=��x#�����=����%N�8��#��b����R4H���D�;�̆��P�2
+endstream
+endobj
+20029 0 obj <<
+/Type /FontDescriptor
+/FontName /JNUSOP+NimbusSanL-BoldCondItal
+/Flags 4
+/FontBBox [-143 -298 913 989]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle -9
+/StemV 120
+/XHeight 532
+/CharSet (/a/b/c/comma/d/e/equal/f/fi/g/h/i/j/k/l/m/n/o/one/p/q/r/s/t/two/u/v/w/x/y/z/zero)
+/FontFile 20028 0 R
+>> endobj
+20030 0 obj <<
+/Length1 1166
+/Length2 6130
+/Length3 0
+/Length 6897      
+/Filter /FlateDecode
+>>
+stream
+x�uSu\�ۺ�FB�n���[i�`��aJ����Ni��AP��SZ)��{�}�=�������z�w��g1�j� ��!� �3
���%P;Y��t,�Հ� [8���bd��
A�A?�P�

q���=�vp�

(��
��%�%$�������+hB�N/�&�:��(9��	�
Ӂ��8�A�� 7
jr�<t��U�lk��i�>��7�-,,
�D�� �@n`[g ���
�q�]�!�"�}h��w�����5�{\ �

�"���bcz�8�l8�A0NևF坭e!N��a��L
Y=
����n�g���m����d
w��s��A�r�� a��ق` ~.
.a.
 � ���]R�����
[8[�z�@\ 6�n _�
����f���p����%�}���
�[� � ۇk�;�
��s��{��8���\���L.����;\��	�TP�U��|����%#yH	�� y����Q�������_:��jZ���O��S*;�@ ����_#���n���acV���W���V  ���1���zp���Z����j��P�;:��
+˟r 
�p�~+�h��p
'�#�
�g�>�O��?y�a�`+ig[��vS {��5�0+�?�����C�&�
��%������t��V� 7�����9[�������l
Ё=��j�/�7m�B���
����?4y����!V���5�-�U�
��a�n��{8
V�#�:r�:�C	_�O��L9�;�
+c�(H�q�1�
�2�
�!��J��9j��Ep�1YFO����IS���"z��h��
%d��uB!D��.��w\5�)����k�L�
+_
j(9�i��O~m��
K�Vi��bV1®�~APފ�jj�G���d�"��ؒ°DP�m���ڮUU�
��� 2�y��s�n�+�$:ib<��Rґ ~5'�9+L��ܞ�1��8B�@i�W���
t��^%Y��p5
ŕ����A����Y�͙�itpaKc�U��i'��qӁ-wٮ6����G�&ԏ�(_C*��!�{>�:�yi���|����bGu����*�20i����Gt��N͘��5��{�g��o��!j�-�,9�J�3���u���
2@�QԈ&G��,8����Q�s@�yH��1%������Z*f��J�8���9���2��8�}
W���tGjf}눘|��l%�ݩ���_:��_�M-�����Qpr���W&��m�UHt�p,��ރ
�O!~��'Y�N���
������b�Tq�Au����	����Na.�K8=:�REl��5�Tv���L�j�uO�їF�C��H^�ۊ?������Y���
��Y ^e�4�}vD]��OGV!Ҷ�(f�Z�ďm�!ix������`�6{3��)�4!wC�@���Q�G3)&QmS�2
+«��K�0�^�ȱ�A|;�#+�c�v�Ν�b
5`�^	*���D{����H,a�J	�`�^��.%�B	v��<;;/��`�p�V���r4���ۡ�R$B��U�+��v�28j\�flX�mV7HHo�f~�@�k�|NCʁ�)�D�$!(zi��S���):/S�����?8�]۽`0~T�m8�8qB�u`GS$CG6r��i�������7؈�)M�G��#g�{�2IlN��ͨ.���E�Ӄ,ռ-�t���"s��n�q��͋L�|�kB3-��ɷ�uc�Dה쇖2��dK�g��i�^���&L�' 1��A�\}гF��J�)#ߖ������>(,��X��/�ꢚ��]�e"�1�(t��7�z�ڈf�tu6�����/ۼ_}�⎓0��,�(`�"����?���R��mPX��E��َU⫏���Q���cv¯�0�wZc�0˒/_�K($Zþk�
��ߒ��� ��<��@�D��(��YǦg
�AzWH��ח<�\7
�y�&w$�E�!ީ@u՝ [...]
2鼛*NL�'�_#�%�
:�U���Mw(�bN�c�I�3��7y��j'�&yDs�a�J��#�\�0청�e�r�P"9�z�
�2�E#zKM/]	�&�x
R��׀����C,7$"Ld�d|���U	��$¯��]DeƓYp�H�l̾�Y5/�'�V#�H�s�-���v��g�',�
�OÀ�

�Mu��"H_p�)r�JG�>oc�}�>97˗��N��ѱ:�j�
�L�*���~�RH�Ϳ��:��ĩ���7�*1�V��	$"���
�ą =K*�����5:�ݱ�X��w|=a�L�����3��iIB����L�س0�A�����v��
���2�J�Q��X_�����f;�e��qr$+�rf��
k�,���p�U��FX��w�t>�a��8r<���M���kB��K���C���
C7
gBȆ�߱n���@�\RD�����R��J�s�Y�N]�}��s���w���$��+2��-��,�sU� Y/U�q�����^��f�-�J����$
r�hGykE�̧j�T��{`��r
���Hz�W��t߲��]Y$�,�Z2�Ns�n��E��
�c�-r)E���L��Ѱ��xG���h�f�[�;	j(�I|�pLkD���
����f$x#na��_ԯ Y҆I��DV�5�z��2z!��2�2hOVo
�{���l�J4i�si���ںˋ��{���m�g5�*(��r�^|J9�ǜ7>�
S�����f4��?�Gd+���m��e���j�cd

.Sz���~2��K�4�����,R
/��h����������\�|�
~[�����+s�B(��gÎ
++�Z���9f�?{Þ[�~v�M ��N3y>ؼWI�A�ؓ�r
�i�y2	���2���;��ѷ
2
+�Z
+�\��.�I5L]���mL
��ѸI|���x���NK^h���
gU>�<~񴤽31�ʃ����;fY*�}����W
? -ʻ]�T*J^�b/�(����,ue�!uX�
ߧt-��v�jʱ�I,��R��Q�}~��EB�q�8mT�*�9��I3�Z>����o5��(�o� D�~ ��0�*�����
o�87.j��>%
�
�tUl�a�geAOL��g�[�X��Pu@6nv�3n���U����n7���dA���;� ����k��t�2Nz?�L�������X��
k�l�S>�[�!mdFQ��aT����e
���H
���%��ZV�y��dS��K�L����Y�y�k<�ޏ��fٝܺ���#[�\U����85{����]�t��jm������'�fN/z��bgY�H�
+9�*Y83�M[����F��-=�e�Ϝ˂Ч���
���ݬ:<��#EC0�Zƫ{�/s�G9�2��j
05XK���>�~�PzK���!a�8(D5;�,3�kwʟ�
�6�K?,�U�j��0�Fz��h x�F��΍�U �ޏk�梟=Ÿ����=e1d�)u���<�SK��B�}�O��T2
��9����KXF���_j��b5EJdT	�ߕ��幰��
��C`/URKz�C�Y�M�ir�T�؆�
��B���(��74l
Y�
�O�hhZ]��N�����h��L}�c�a�jORvT��T��}�b�%��É+&yʯ)dž��|���۶A�wq�)K
+D#�Y
k�|o�@{����ie�8�̢��;��Q}OԎ��RAK�b�`Y���E�Ld�Ɍ<#�
2�y�Y���{�
��O3��E�?:���}"X	�ѫ�{�w�l��B�9	
���vm��V�Iu["�냦42����`^u6`'�&����7ݛ<�c
6��
�+s0��Q�h��å�i^2a,�X���
���s7Ք`�������p�S�,qX>�)Y�:����
�y/컢�Sl���֊c_��k\����vē��f5�A�
k�g�:�ۼ��ji��$�!C���|!�F�w�ݣ61��'�9B\���ف��طI��������A1����*;ޯU݅�$I������(V�?>�
1�D-Cy�B.{ҕ����u�m]'�d���X(=b�e{~o�w�Z!�\��]Y�_C׹��oa�>CT�{�%��
��/�����n&�D�
+��<A)�T1ہ"c�m1lS��8V�`-��T�H�F��zH�ɕ͊�1�z�G��s�!��2}��v�]a��@O�����H���Qp�&#"���k����n�a؁�BZO��F
�
�K��۫��Z��6
{]P��/K >#��^
0Ņ~�54��ç6r:6g���s�i������_w/� �ӎ�����]!RL���]��W��BY��-H4!gA�	H��v���#PtZhm�_�r2�n��|+�;EB=���
.β�
��n%�pj(������œ<	L�l2��������]؀8��
+��Q#�	���a��M'+v��D��	g�
+5�3�-���6!
�é�ɧ�'��]�mZ|�a��&h�l���u09r����4�
+J�e?���r<^f=���un��_��%��%��{��Έ<����Ϫ�t�i �6|UZ�*/�]K��?V��b��y�rw�^6������{n[�t�j��+!���g��A�#�}���zc��w���v��U��	gΥ��c� �CK
s���
3ԩ��*!O�.7Q�sA
��L�xY�<��z�+

�gtk_+pq/o���
}���X4
|��7I ��Uއ��л
9��ٺb��lD,�-
��F���Pn#�h:����4o1�sC�P
\��i!�&�MG�R���h4w	#n[-^�۴���o~J���ٴ����r(�G�8v*ߤ�\
+{@�G���K�Cx��<�o�����v��gX�E�(M
+��`�� ���+��r�c*�ˀ]�	ya�^<��S+�� �AY,�5a�f�2q�YEIz�����$��*�_^�'��#5�QOr���W0�
����	_M?ݽ�$A�F�D���
3�D� �爖7}cF��	�
+t[Q��
{}��bGCHN}��~X�ambDY��4�Go��o�5������D�!DU�3œy�s�׆��:�-e���if����S��jJ����F��D�%�S�� 9ܗ]��mt/	��ߌ�V>г����=��T'���HH�����t�sE�=�
xT\��?BO.H!c%¾o��VC�܉�&8ْ�h��	/d�ݨQ]�
-�r3>��k+R_C
�$���h�
6��+��A�ő߮X��m������t�!ͨ�fŬ�ģ�j�
�i�T�c$
Fxr�6P�/
�mC^�.Ff���;��	��#�U(-���9���+b8�_Z��`�u��P��r쭧͌ˇ~a
Q��i�l����IP�D�DS;�Bׯn�%<�S%�>e/��
�T�8
j=�	]�k(�alȌIq謃oŸ{]H�UJ�=���Ẍ́=E-�@6�EHfʍB���,��
�-p�^5���We�@���W{�%�ԽQSq?��%(S�l���^@�����
�K�g�I�>$�����!�}��lɰC'�r�'�?��ݗY��w�}@���h+�X��L`���z��ON�h7y��{��0���a�^/�*6�N��Z�X��?`�E�M��G�e�,XJ�Lgھ9N���Ǜ���b��1��p��Z$�*nO�2�=�c�G�SyDL�Qv^��=挙gz�:
+���'���)s�B�?aH�$�qb�=5�pܸM��'�(r��A���ˢY;��
9
�� ��
+���D��d8	"g4��=����~�n��%�p�Q�)�}��}���ģhcT�s\9���w��ʋ��{�Bx���
��dđ
H�Uwy5��u�
+�F8;��x<n��|�gp�H�
��BVcl{��HF���N2EM�!'���n��
r��I��zS��:�uTT��
����
+�R�g�&��(g�W�z��}�M��{fl���=S0��2��Y�[��^�oqS
��� ��_|��	���m�q��W[����<V��+ϰᵔ�f0 	*i\�]���q���R*X������L��ո�m�\��&�|S�t.�_��aH��.��[|�����<�}�

�����>
+�LƟ=O@��d�"�jD�ҷ�`�@���04�\;6'a�j�K&������3�|��D$��m^���$��|��#1����yp��=^�*Ӈo�b��(sF���p�w��7
X��"IS� K�!3C�%?�x�K�
{;ބ
+�_W*��5��C�$SgP땭�j��b��"~��*�^���.煄�o��ܱ7�ܒ�^[�xǨ�T.��l
�+讼EZ���(���4P�al|�[�H�I�%5J�G��u�?�Z�S=)A�.�Q����)J�^�!��s��ܮ�BC��h�=
���]��V�b�]�pf3��VI�Qָ�I]�HX�R��z\�7[��W�-���
^����x
+
~�_��5U;-�X2:�@�}wA�� D㖬�� ��2Qk�JY̭�T
�0��L�D��e����
�w`��
��#1��w��C���TυP���ǒ��Jy%i	o
/aXg
S�4�$I1ͦ
�$��Z�r�@x* ��"�
�ķ,=��F7=�.�V���
aT����^4j�W�6͖���'z�[]"��עt�
4�ᜑ
��q��%(���u%�%
�ܕ�tј}*��8c_��eD�v7Į�s�EMH3���8)�h	��3=cz�B��Dž���=5��Ǩ��a���qBm����BF���-�q7�U�6�W�Ā�h�>��΢�OIp~}��� ��n�
+endstream
+endobj
+20031 0 obj <<
+/Type /FontDescriptor
+/FontName /FICHDP+NimbusSanL-Regu
+/Flags 4
+/FontBBox [-174 -285 1001 953]
+/Ascent 712
+/CapHeight 712
+/Descent -213
+/ItalicAngle 0
+/StemV 85
+/XHeight 523
+/CharSet (/A/B/E/H/J/L/M/P/R/T/U/Z/a/b/c/comma/d/e/eight/f/g/h/i/l/m/n/o/one/parenleft/parenright/period/quoteright/r/s/t/two/u/v/y/zero)
+/FontFile 20030 0 R
+>> endobj
+20032 0 obj <<
+/Length1 1626
+/Length2 16613
+/Length3 0
+/Length 17469     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct���&�vv��m�bۨ`'ٱmۨضm۬�bUT�X���t���ܾ_����5��g�g�56%������	P��΅������5quV��U��gT �� ���_���. {;qc @
h��� ���������N 
K ���-==�Y�	�x�O��Lg��
�������h����:Q
�X�  ૒�����FJQ �:� �]Ml@� y�)��H
0�w��� 0��3�Ӛ3�_,Qg�1��h
+���0:��b 8 �lA��� g���������@v�6�f��k7��!'���}���]�M�@.��U��%��������Π�n����H3{S�Z���/�_��1����p���	`rv�1��[�/���_4\�Av�ŀ��0v2�:;������t��O��ֽ����翲����8�\��6�L�lk����m�C`�gWd����,����:�O���_��ggh��06��������]����ߩ���'����-�����O���������BK���(��]��1�����
��;���и���R�mA6��_I���7[1{���ɸ�
����_YX�X�m9K�<�f� SK�����y�ˮagt�������YYX�çn	2���G ���vf�I��T�"Ϭ�*���I�x\���w	\�=
�r��(؛���?0bb�
 oFV.
 #;�߻��/����俀X��`��� ��훅�_�����
�F�� [...]
+9�P֤^\Pk���=�'oշ��P��Y��ϕs��CY���~
�4�U�/�@!�6U7�Q�arƅV�����.�.���޴��a�
�l���#m �[a ֗?���x�n�f0����
�����ቱё�[�CB��xxJ~c\��s��oN�L?�_ܸ
�4&\
te7�2%��tf*��l��g1��h3���>��*�jĈ�>����֝.6H9B�
��5%d�U@�h$�?ƶ�@�O
? �s�p2�C˲W׷�DZ�cF��1�B��yp$Lx	�q��6��q*�	�d
E{�
����^B�dz������l�hW
+�ݒ�J4w����P���������7���#�?1�vB;��	�x�y��N
c����'�,hs+�h'M��E5��� ��Z0>��38�rɂ<�%�$�W`[��=˫� q�=���
��N�

F���\�<o� ��6N.�
��h,�{�e��3�e�l�F:�W%�*Fj��� �@W��
��(�2��ŝf%'8��_��L��"�>\�"���-\1{���#�/���f%p�EUE�A�솗��	�m�?
�=ۆ����
$��	�c��4e���/:j��ü<
�`�)�uI�q>�2G����X�;}�} 3�Ѝ���ⓝP�k�-�0���Y�xD�1��6ڒ.��üo��!�z�6��OӽJ������d'��+�i��R��7�&4wzw^��A�y�N�����P��o�i����IV���t�N��_D����6�Ϝs
��{���z�?�����O����ґ�
�c�{i�\M~�<��3��-6�Md�v7+`�����n�"; [...]
�B�u�g�PPr�4�b2��X�����G�v�Smz�I:Dw�X_�"�z�CΎ�3�l��W���R
�#�+(ú������~����������6�Rq��m�
+X���?$�����\H
����U�u��
�
:�hx�
&��/�� uc(dYpL��K�_?z
��M�P�o��ޓ&��l�u��%��[
Eرߚ��b�Vz�֦*��h��Gk��D��=�j����1�Y��5��#V�1�	-�o
+~����7*����,aZ��C�t/V%-��Y?�
>�m*W#�Z��`�,���@�T�H�jU^q�\+���Q�3B�j�4����
V�jn
+p����i0>�X<x�.�G�{i�����' Ev�䐻stJt{:��*�nl	�]�(��
��o�\�aj(BL.&�N��Bq��,�}�GK̮��$���
�J��-Ō�@~i�������'ӄ#_ʙ�Ãh��/CG#���]���F�����R��2���d�����k�d��)͂/?�-+��گͿS�Pn����+�ϵ��TFk�>L�ECm��TS6n��P������-C�����U~H.&��bt/p!�I�bxx��z�QAv��|���'_�֊���OW	�
OO�F��:�	U��F�/lqD��H��Y"��`i�
+6�:� �_���
Ѩp`N���Mj�t
�
+:����|opuJe�q�x�z��
��ez�>[{\�k��I`{r#<34�L�虵�P��5��<�y�F�,�$��'��4m�t��r(�v��oF�(Kܡ�IApoq����U�<D�Y8}vP&��7rK\��
���Q��b�kN=\4���}��s�D� �m͒�w����2�HΗ��iǥnPEX?8
%K��<Gj�]�DD��6f.lcPY������|H5�:�7)���� �f�3���yd�t�
%������9�|�
�����n��c���[{��q��� K�T-��3y�~`�MLU�yZZ�:�-.�%�,o̮FWx����3�J.��.Le��R�6seV���X&�g�Nj]��U�8���i�A6�����߹
+�K��?3���MbBs3�l]�o?�x���5ң�mZ/K�!kkX?;7(y.]��vB0�lCFX�ڲE���k��MHO	�&�-�d�j��f�o�e�0#^
�1�6���2��
+�=lE��#�
W(o��ɝ�W�
+�#��R�n
+~��/����DZ�Y&�&w|QN�Ђ�O`*^�N�7d .UsV�("B
4�4��
8�AY[�cq���o�R6/-"i*��һ%���J�ɩ�]�oK�h6"�~�n?4]�5D�'|
r�Oɲ���W�$���(��c��?N����06���J�ug�:�*
>�/\1ri�t�Z
뢰�z�
����(�0���Ѩ-��q���~�e��,�V�
W1��9Ie�ɘ[?��}=�f2w$��oi0���
+��S�`�1�3�cG\T�T��C����v�V胱�`�8ܮ�s�K�[�rMp�-t*�ae�M֢�{��D#������+s08�rd�F��Pƥak����H�
�ǟ���̸I�/�Т�KԜZ��IE���i|5hk�l\/p7K���D�#�B

<}�$
%L.p�?�U�z�%���"�
���}L3�eٯ�^#+7�Rd[rj��F�X
9��~7O���
D�"l4s�_7�e��%E�f)3�l �B!��fF��{�D���O���8uS�=%fꣅw8��Q�-�����M�fU#�8<�}���&�A~�p8tr7Ҿ�
�h�
�>5s���5O[Z^P�Z�ʇ��DS�%##�kr��[�FA��>��W����h��IF��l�͑cRn�
|x�w�Y�����:��+�8���Or�z����~�0�A�̽ʞ�	�@Rt��!�o��r�Y��������h U�0�����5!X犡y��%����?PY.��2�U�,b�t�\��w�|jj��͂n]A�	�л�TB�#�F����va���P�g��VB�}��n�!4��
į�^��{d��	�4
�7�"x��c��UX_��]10.���7j6E�(�ꀑ�i ERh7��@]X�'�CX���6%�VO��ό�$�R����Y������%�:�R}
\Z������~AU*���Tglr~�OA��闆�A�ջ�*����yC�I���o��m��?*�t�@��~��ĕ
��_>7r)N����r�C�	�u�b�Y7�M��u��+���ug���&�$���/�`�Y��Zr�
�ڶΠ��������t��X�zDDߊ�����I� [...]
ɭ��
�.�MN�d)�X.!}�*�����%�awڅ�,\mtڨB�YhԘ��b��;53�*��*�y
�il=��"�����r:O�|����
E���1�.�F���pâ�]m\�7c��-]��ƻm)�Yz�.!���\7��=u+'Z.�c}��k�'{�կ�E��F4࠽L��M�9�nT��f�Q�0M�0V�G���;e�y1v��
,�҉���
�f^��p֝4.G����`\8����d�z�����U:��*a�H�h�>�L.IY��x���U��Ң9�{E����!��./-49+̨����*f���&��^r��~M�&�\�t�U�Jn�ޕ����U�g�Fи58���t��e3�*8�����s���(|�̋��9":Q�)?�Z�.8J
���p��:�\/�$}��*a�	���l��A0���p%��P��=�j.N� ���F
�:��X;
�b��ĵ�E���CԙD��H�6��R���\)��̏�������
+��6\H���ƀ64'�ZF�1J+��֕dH�.C�%�B���8��3*9�eZ�n�2��.D
+o�!�_�u����� ȟx�h����KdH�(�Pn��f!s"�m�E6+a��:t�R,�̌�
+�
	�w�ON�AV�J�jY�n�Q�w�3���锄�NP�}ʜb�T�#�(�HYni����|6�P4PB��m�gA������^o���y�)/�H12G��kΧ�$ 2�k��=�
��Y�
���;"b�m��
F��^]^:�o0�,GԾzO���z4>5�	;j"Y��g��1U��
_������*�&�#�
^@w�ﺵ����)3��>e��B�t/0�w��G�lrj h\��cxs�2�'���L�#�2�0�DS�7�_Z�)3 �?�!�:`(�	{僫�VN���&|k�
s�t���ȭ���0)ug
���hQ��C㳤��2��2}p�k �8����"簹�H��>xb�8H���90G\\�`�zc|���W�ۄ!/�q�U�ם݁Zw�D�*UbQ�T܂�گ��`�b��>�ȼ�-���"�
~��碥6��	d��{ EҘa9��Rns٬�
{�ER�Ʃk�V�����b��쌈�9�b
r:k>�
+3j_���_�3��T2TLQ�g� �
v�J不[*�ťa�TEJ,d�Yȳ4�4�댮y����jE�3=�ð=���+k*
;�/��<���nW�q���q,�!M5�gɿ[o�C�x
Ti�cn��b��I*�bb>]�>ǺF����T]N�-���e"����R��>�V�� �1�ʯdά��ҳ�S�vݨ��E�[gi�o"���م�r����ۼ�
+�:2�P��c��(�W8Z
���O߹�Q$sG_����V�j����C�����4|Gт�����(�8
���,�����)/�<��b�6=:
[�m�}�����Jya�;��>/6�����䞋��[������P��z����l��ʤQ<t�6�������ʒ��|��g�J�
��o�e|(O�E��K�m�#�fV���S��V�Yi��M!@v<5���*�u!��O��-�9��V���ǐ�U���
�Ѳw�u�O�J}MZ��&�*�Y22�5�q����;���в���4akY;L͌�-�3p[f�i��R��������� �]�_
�����l�1��q�`(s�̾�W*��筬s�h�?J��p�;�з�>C_HR+����}$�/vQ��~}�3�]�W��Z�?��
P�\�^��!g�R��?�~�:2��k�s�����A��	f�ԣ�.
Z8Lb�J���ފ�olUA��i�]��н^yN��4w�n�^�o f��}=��	��Ro����D��vh<�5��o�rnS��4L��D�塌��#{��'d ��]��
��
=Z����x׾�d�曰�R伡V����H���R�w�3�
����[����H�&���s
+
+[C}�o�.��S�R_3�5��:�c
	�6g�H;�@���*��4nbH�ob�H<O��&"��\�f�f���4UY���<�N��lL�6Є�����
<v�86E�Ec��k��f��:7�*y�%>Nx�̯�\4
�m��#w�y�m-�i�wY�"8�Jt�յ�t1w�PC������MF;�<W��9Y̲6��:20����T�|bQ���w�d;I#���8�N<M6���	�>�C
��X�9q���,T���Qa���Z:h���t������!
,I��$س�
W�pyѩ5QQ�&m+|I�/���5��v�A��da�H6�Fut�,�	n}��0A�#Vd������B�A�V�1�ʜ���[b2��5X�-wpXTy��g��r� 
����tnO�΍�����]����ō�W2��'��TƐ3;����>���U�.��^��[���Z?C���P���|�-�Kk��t��h�5,ka�
|L�%tR��k���
�
���0k�: ��Z3x���� ��-5�i�^��Sʪ���U���y��)4��S(��!~4�&�,6��;y��cC�XZ
+�+��Vm���hʺ��5w���6lj%Ƕ��R	I1�rE'ȱ>{��I
+������h�����6|�L����([�����8z>^���`��g�p���	�~@�E���0��QA��
'�ߋ5��
b�*��C��t
)���t<CI/B4ʡ
��+{h
[�MG�߁9�6d��@Y�e
5�)�$�zM�u�+V(�4
g!{�
����4^dEo��'vyL��ه�o�ڼ%��'�xu�
+@���ݎ�
\��{UW6�S���f~�EL��>�N��k>�?��I]o���2z���}
�l|c�z�T���QDP�y:R����>���5�x7'
:�9̥-���*a���
��v2���������g�i�����J�Z�)�7%�"�oC�Pr�$p�(�_$
{B!�M�:���z�~��$ ����=ǥ<�`g*v��� �#G�8�?�]������N�����}�tҘ��[�����Q�j��
��><���
�NH��h6N�����α�/~
�7R�
-M��32!�g�:n�*��
��@��](�E�R\W$�L������	��7G��n�rEofI9}-��4y����Q?����M��e��3;a�?U�;�fl�†��Rl�*
G`kn]�]Ո2k�xl�
q&Ǜ�F����T���U�=I&U�rCj�����\�_�64֖��s�Wt15k�w�s[�M_�l�?�i�����{�$��ު&D+(b���\	�Eۄ�G�EE�J<�[�B[�63��`�=�
��pŇڻL������ngI�k2����l#z�����s��
!1��g�Ie������<����#�^��ǭ���T����|O�T�k�?I@��1}�9��ׁ��S1۴quۆs�V�`�*�g/I�$�0�:me���_Q�p&(~� T7}��~ޮA�s��f��>��
H΀�Zq�%�_��G�g���5�
mYO^t���woxa� k7^�Y��Z��|T�v��n�6��#(��G��;��'������8A��myy��R�)
Ou�Ҳ�q1
�ڏ���g�g��κ���qd��q2wUzLA
]f
9+������Zgc<�S��
+�,���ڹ��W�X���1,�m��
���|��k���1�Dj���x
|���[_÷�>�c>۶XV�-ʞ�L��kjn�|SXV�*��1�ĦM��%ŭ���a���ʮ
�c[V�q���{X����ɯYw��2�ub��	Wd�8�عu�j *�����7�Xi%�B��Zj��U��J���_�
j��R�%F�V��
�
	�d�8�q�(?VS�9s���[]ż�F���.�z㶙��/40{6��
�U�7:�4Bz ģĝ go��
�gw��;�8yxś�|Xn��ɇ�z"N֒\X,Lj�ՠ�&莻pE_���W���5�"��.v*�T�Z�c�8�x����e����3'�4��Z��
��+<�Rѝ�kr1�WXm����U0�Z���p�C��
Ǥ��V
+ߏ�K�AL��OM?Z;��'2�j�ޱ����;�
� �#0-/+��LZ
�wy��j�f���L&�O���I�mrB���#Є�U�Vrk���a/x,--�&� AAS���9Ƙ,t�'�YIg��~RI<��
uj� ��
��?(���b��Ü���}��	��$�G�Ч��%C��<:p����[Q�W���.vQ=J6�dD:Ɵ��F�~3�a}�rI�h��P�Pŀ^4|�})O���ͷL�S����K
b��)G���b�(-�[�:p4/�Ub�/�q�����n^&'=t,5%F7��ؐ4>��d==U�G��Rс
+R��kR�˾�C�`�א�W���%��Yhv�7�R�tW ���޼�1,H����v�Cd6��iG
/�湗��1����s�/��{�c9�/�~�b�sܫ��`�F%�-w�Uڶ�a�.E@�����K�JGrG�ޏ�#G�*S�|��a��
��4��X�~�k�0�l���	X���
w
Nԑ�tT+kY�����Y�3
2���w��I�Gӕ�H#���$w�i7���hK�m�sE-U��j]
c�w���U*��d �{�� �����3��@����c��|7r��E��ӱ
�<Gc�!��M��<F�W{b��N��
P�Z
+�n�z���/Am�D]���z}�"u�[�S;���i&����x��쿻ݣ�o���1���̶�Ok�h���V�����
�b��ŧa+V�����~�=�_�ѾJ�] ̳�#MK�0�i��͗a�#�s�� ����U��qi��F�<��`�ar���H�/��OUX��0��
g�2k� ����<��� �m+ٻ��mq�8�Fy�x�IN�y���ۄ�Jݦ��^��N \���Q?�
+k/�:��b���#
<@��
��?��kE(�����hPg�*/~"��j&�z��GC�:S��`9Ǟ=����*�����
�;7�k��!�F)��q��g��U��s�M�e������5	��9Ss���iz��ja)-3t��9'���+j7�8��
��X�fΠ

֯����"mC���u
<[���4��+l?W⬕�y�y_���
0[TgY��}{0��׭��Xt���v<ᯜ\�
vV*q��
 �s��� �/�����1`�.۱0HG�(
�~s��X���F����<��;���059�q�"t,��@�j)
+Ç�Ɍ:~�w�ĸ!�n�H�u�B��k�U��ց�(�4��"��	�J[O� �Wم�q���ħ�r(T�
�f�_|
��ʖ�p���_����NI��6v��|�IdX>��;�q���1����8J���~��-e P�\�Rzш[
��X�67�%f얕t�#�:�����r
�1�i���Db�l�'S�Dk�R�B �J���R\�|�$�Y��n�>_��=�;>E�=�� �/�[�m�cֱ�����&ap~���	'�d���t�<+��*}�J�U٢����
̮���L�C菚K�VU#��B��� X�;8
+�v�yw��k��
1v>�
��PZPf�*ȴ�f��"ף���
D1�^��,�Ν~Cj��wz�VϠ�\	H�	��7�,
Z_�W�e���T��W�.��:���SO�RF�P�pT�f����X�2U�}��N��^��O�bs&rE
_� ܕ5S�K�2�g�����px��B���zHRg�D
+� *Af7P*Be�m����$l��S�W��ݩ\��N�	�5���J:���.��Y at bi�<@Xg�}����+�����K񞵬�?����H�,I��A�}�G!��Y>L��V#
?��#A3�_?9R�Sׯw�-Y��?�p��؝�'����u��ڝ�9��'�(|��Lkx�Eja�mZr땔=陲d'
o���� �*
�2�5����G�,#�JΗU
.P/�H	ۅG�]�W@'�O���4V�t�
+c�@���x��� z���[簟c�tkOT
�F���
���
��wk蛷��(��AK=���I�Ycr�mk��b0r�<�!�u≔$	��`9�?n���(
=e�'&��`֦Z̽G��,�pUkT?a�����î��̌�O�^�	}T�_
7��8����덤	�s�㈶��
	�
���2�v�6Hsf��
D�s���ai{��H�5�Kq��ĉ����_h�%��8
��	���I��~�|,�D�N�2y�
�g��04B$��.��>�"�/
+ ����Jo6X^�
"㻩� ����}J��~�ާ
+��N6Wވ����O(
p�.�����Y����QD<��4Oz;�j x��
���Vۮf at m�;���N�M��˸̠��//_�5�����rg�~�c��ү��ɴ5_����g�ISzC
+����2m�A*���r�|��ʒp;��x��G"O?!���	�lg����~|-�<�Y=V���NZ�%��v�$���ɶצ��y.�\q#�,4UDr��Z(��D�4�`��8����%�%�s�uR.��Ex��ٹ�չ,E��	��
��� ��@�At�_KL�Q��
UҺRD;
l�/v�9ɔ{�s�+!���0��� ���n$
ޠ��n'�^x:V_��2�Xl�W�D,K�K�b|y������h���\ɿ�΍eg�{��BZ�J72h�ȶ��9:�4[�e3	�/����;��QYI"�]%��{$#�o;*��yi��J՝9V�I; ����eP;�����HG�Q9
�߂���
+d?'��g����/=�v���
|j�>\鰝�Ӵ����S�D��'�/x�%DK�;�P��8�=�'�(A�)��d��Ա�
�s��s�y|M��];��z(l �\��UQ� ��MS��*�	̮����^���=�KL��U�N�_
+��)B��%1�'�x�*�
k��O��ri��M�͔	������L5GҰ�P�L�>��e����r#
�p�=7d�
:��{��7¿��\����]�"{뭣���t|�sE�1��{K�ڂ�m�MѿZ5s|WH_Y+wF�F�ˤ�&|��(�
0/<&���=8~�5���\6�e4Q�T� kB˽�7h���+?�g���hӋ�6	w��q	�"���w�m|�jek�
[,�i�L6
+ �h-��R�b[�ws�"B2W�ڂwB�Z������gں�t�q��Ca�V���/�b��]~Ez���1�oD�闍�g���}�5�A������\yMT#1\�	Ž>Q��
��lk��FХr�mwۍ������N��R
�Qb��>
�u��n��M��L�7UY�ٳ�H0O��n�`�����(�2V<@w����1��{�/-FkoԆc#I�<�֡�Ȳ�`2t�+,�~�-))绩 sN�ٓ}�3�o�
+s%Kh�F:"ɵV�/7fE�Nrw��(�b�Q�|��w|�H-��
+�UE?��cZ�.
+�$ke�o?Di�K���W"������2��w�^>�n�)�E�c�B�0�յ�Z&nR�����H�m� �
T4���f%�!��:��f'D�;l������$�{M��K�
C��X��KV�w1n�Ey���N9|
�;93��
'�̥2R���i�%��
�[b1��7���N
+�Z?�!�X^�x���S�#�vUw~ۆr
�������.P�>2�Rp���֠�c�\�ӊ�OH}o��͡1��.��cZt|��m�P�,��}=�6D+"uE.����I�`o=��D��tMS�䤾�)T%*���)�acI
�<F�A-��b�#1ld?���}�!~��t�i�$D�\M��3Rjm�� ��I��m�D#3~��˘aA4�G�������Y
(0W�Ћ[ꛦ�+z2%R���Y�
�n���&��:� /Ӵ� ��{�C�,���eq�Mә�`�	��
����n'&̏)�Ze�DŽ�8�;�INgK���f��s$��el�;�:G:�r7���M#i�b#�2]K}S�_A��w�C<iA�U�B���Y�?���S(=�<@��ѪU,\�9е��{}4���t�$q�p���nvWV#�WtQ�����;�Oۗ���㯞K�Hc�9��Zɴ-���Ƈ�ѩ����p�*'{ZĖ����4Qq��rV�#��s�(��u��j�/zg��<5ui
������:�R�W.A��e^ե����% ��
���Z���5p��B?�aɆ�R�f�x���[�U�
����C�~XM�N���+X螀
��1�(��L�;�
@V��JǙ����H�K��W��xIHZ
@ƺ���1�h��t����4΢$O�|
�䔶�Zs�!��IC��ˋ05e�=�f�
+Z{��l�U�5t�N�vUu欯S �<�(%-�N�B�
�N�6�=����мQ��
�
�.3%r�6��/|f�	;!����V��*T�Gp��,�٫%��՝u���C�iioR�u��F!'�r��
و
'�1NV�'|omDޮ���q����
����V��%o���zo2b'�=Pv&? >�F\�1��N�p�]b� ��a�Iͤ�_��m	��CR�-�a�C�vI͍�����f��"L�Ycq�@+�4��,�8���,��Xy�)�ԀT<aKk ��������>�g��E�8ڱ��L<B��~�Q:L��17$<P�,�0�Iy[�S��6k�a<k�I*EL�|��C���.6�}���dX��\��?*�=�}9�:v��\٨K�׸D�^%�w�>WN�I%��p�rD�q|�K����mp�i�+E�&�g3��"3��E����{v,�.IX�����Q�>���`n���G ��n@>̡�f��F�!X��
�|9Y��c2�
Ĵ�{3z����@ 
�V���-Cw
+��n;�̲<��st�i�����(���iB|����0UBW�#f�l�,�����ܦn��u��Qq�1�3�SF_Cf
�jB�
j
��n�|#�E�/֞�o)�:i��p¿�����
vZ��xiV�N�
Ar/!���S�8���^�}6l��FkSç
���
_F��
��Fu;-�@�C/u^0
+l���	Ki���!��3Rq��.^Q C���
+d�M���L�U��	�N�RBE�q�Ӌς�
+p�� ������X����`z�"�s�p� �$�<;���ִ(�Ʋf�<~��]
1�[�E>�yG��C��]�
+?
Ɇ��c�r�������~���S
Ē8��Yc�
`+�
����N�ϣ�B+	��vK���K�rD�1P?�G��
��]>�
[�^n�����m��6�m��|T��s�/Y���iR֎OX����4M�!��na��Ƞj�"L�����|�"�ܴ6����w
���``!�	-ˍp�gx���"/�
+"c��(�S�p�e�@|q�W�ů�����"�� '�X�<�Ý&�
�0ŏ��a�~�����ʓ<�
LNj�t,��b�eQJ�"䧔��H�H3�����v �D�A�B�������bvP2�\?V��7��4�1^0H��1$�[�8�;�x��O��%�V��1

��Ṽs�OHRJ�.�iݠ�Kz�T�D
OHri��3�-�)
��.=wPʌi�#H��V�E�Ǵ�_�s1&#S�1ó�uV��
�y)���Լ��'HR
+jO �ޞ.镄��Mx
�"�1���Ay���}��d
��.f>��Δ\�_w�?6sj���%�O�J�H`�n�JɎ�߰M��+L��D��"+_b��q�Ķ��4ϖ
� 0�y0��g��*,�3�]Y�����B|կJ��
�=}`y��W�z-JR�H6<�
�r�����XT,{j�$,�*�s	��Zv������
�6��>
_��|�r�
)x��]��
���O|���qkhd���������
_�	V�dGpX"P�c�^�{=p�\�����B���D���>�fD��8Ԇ1OM��ތ�g�����3��� ��
��tC��n�eU
�����S�pD��ˏ���@&�rЩ�HVc2�
p�"q'��a��i�;�E�+�'��Y��0v
�>4w�J\�i��S6��w|�se��s��I8I��8�pc�_pp��dVf�\rn�b��RȽ.��}՛��nQ.�>�d�
��	�qS��̘/r�2�k���-{
+�I!-|�(̼�y7W֛
�HM�I��U
Pc�8
/,��J�o	/j �B(�?,�����V��+2e��L��V/Wwc��
��Q-�핋x J!:�V�E�����J��>+��;|L�0��Z��> pƕ� Q%��/�Ʌavd=_U�%�n{t��V��C��A�D�q����#ć�����	*Aߟ.)��,NK~�3h+d�-��Z���;��iK|�F|�Ŭ=$>�)�]ޓ������J�~���c�'C����2
#ޕx�ړV��:���)�y8�
K2|�1tH��_�79\���N�\d��r�b^�溓C�&F[>��ͣN�N£*�p.8o��$e�	qo�퐾z���Pb��	�\�g��6��
+�
�#�
=������ W&�g�g�l��^�s�LdG��Ao�l�a+��	�������7��ET	w���sh
#CV�*/H���䞒���l�
&HS��C`���[�]�b[��J=p��ҮH<�X�ў 7+���u
�l��

p�e+�
ᣙ��ʑ���y�5�O\2=#Ye�'�A_95N�+,6��@
�"-V��q`V�?�3�LZ��3�S��e-m���AB��B�;@(Px�)�!�`��tȷ�o��8�h"�Jv�1�ѮnȦu'�����V�-K�����
nI(S�Z�X�PO��)�p7����T�d��6�9������97��w��:�뤑W���y5λ���z$x4�aO�}B�

|\�[H�C��Z����Q��:]��=�G�w�屈�I�}_4�I���,��)y�����ι�#�!Cs:X1|Qh�6�ݯ�e���w��
zsQ���g�~�U����S#%ڷE��/��	@3���;Hh?B�'�j^B��>��?aWeTӯo��9/���i
�m�͞Y�����i�٣X��!{�4��eRK�w��.���Ш��
G�R��UՓ�����N��/u��)�]ɺ�Q�{u;����;�
^�*g��%Y��ݤ4_����U,>X��.���D�x#�����u=�ټ�G���e [...]
�ͷ:�,^�R;�ʆ�\�^Pc��!b0;z����;���Q-~i�D"������Bs�ncCb�j��:+�v�4z��H=�L���մ/C��mzl�г*�a�
��r�s��>>���7 ��V�-|��(�<~��O�Úˑ�P
�� U�>o������g
��ZXQ�ͻW�д��c��u�;hl�
s�Fx��}� �Z��]N�0�)�?�;�4O���ɥ�RI����)��.n�����3(��3�9
+��by�N*^�e�����`�@ �jO�(�
+��>��<	������)�ܔf����}�lu º���ՂK�ﭷh��?�A��Lm�c�#���
(���

+W֮M�)60
�2�O��b-����R\�h݀��Hb(��q�{&lj����
0��B�Gw	6.1�!v�6G�\Ye�N�@E�Sk�0n^���im��hMn2j����;CI��N��F<m�&wf3��OГE|���
Y�����?��J����oWdjD�Wĺˋ���#O��6��Y}
�5�'N���J���� �ƬR�;I͟���
ECd*���
-I:��n��N�-8R\"nҵ��#��	�k���:Q;v2�6m��
D׶p,��2��eԫ�W�g�&�]�U��Z�$J��^�P�<b�`.�}����F<�[�K����.@��x�[��:��Z��3�{<�$�>������
�ٽ\�g
�lWH���f_!:���P߭
+ �W��Kn��꾆�X5�T�K�(��K�v����b
b�D�4�C����{�v�kOnvv!7�ީO���"VNhsd�@�� b��eZ��;���7=�|
�^
�=���0�Ů_�gl�
~�ٕQ�\r���?P��$�G�)���Pa�)]|.LT��"�Z��.u�	0�
�յdH��H"풂{�wR�7@��s��G��a�v�xc1��2i�l���N׻�Z�z���B�C�tb!���X��=7�qe��`���|��cI��k0�W���IO�IiP�-Ow��J�
�����;����Y��@<�F��w�P܏5
�q8v��ߟi��o��{<
���lAFA�ȵ~E���̭��2}�hG"��~n�2!}Dͨ�]�m�
�j�O :���>��<u�M�Q��h�#a�
/k�i
���*s�6�����
�PJetI�m�������_�]iEM�	f��w�Jͨ:@�*[zj^�殯]VF�$d�G�m$ˈ"�۔���Q�J���� [...]
�ěo
�?�+�t�֒IBއe@ˊ^�{5X�a����x��4;[؁
 -`D��b�c�ʣ�+D0q{�#�gF�|�h����lb�y. W�	bCK�ڵ~� �w���n�y`b:9
�%k�
�{����P��Kȍ�
י���
`�"��̐��q�g�{=*
��h-��ǔ��zgyR�M��ֵ�+
�Ag���9�(�/�Ў��{8eф�+#�bϣ�
	�|g���H�W�Z��hhm�
+_
:�T�&b�!�Y����5,� ��;������*	N�w\���S
+��M�g��Py���v�]}<
C�8r�E՚u*^2&��̠
+���_A���B��''Q<�͑
rH���N��
k�Z�	
[
+�,K��]b��hb�Fc��ɯ)S�/:N
GJ��ڳX����
+�14��w8��o��g�8�x�y��h��~��X���J�%����Sy�U�5B
+Aϕ�
����pn����4A�Fϓmڎɬ�m�|��[�~
�j�.�sw4�$
h˜�		t�~����(��{x!vt
�Ȃ5'J�F
�Q���/@�� JA��_�d�5I��א*�����2L�u�?��5M#���-�4Wm~���;��$iY��vIv��Q>Zd����?A7;���$Z��_���X:8燁T�&�Mt�{�n�l�A�&ף�%�=�U
�����e�mZ��2
 M�"�u�3b�����
+endstream
+endobj
+20033 0 obj <<
+/Type /FontDescriptor
+/FontName /URKSXV+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/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/b/bracketleft/bracketright/c/colon/comma/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 20032 0 R
+>> endobj
+20034 0 obj <<
+/Length1 1642
+/Length2 11972
+/Length3 0
+/Length 12819     
+/Filter /FlateDecode
+>>
+stream
+xڭweT\�-���Bpww���P�B��(\������
��!��!x��9�ݾ=�{���T������d���شoյX%�!�@9����!P9Z��hB
� �*��@k�"������JC�0,c
+�� ���
�)((�N
��8yBAla 
M=Fff�Y�����'���� н<�
 N�@0���`�@�
��~�n��&`�W���@�Kꮖ +�
+�
+v2l P��? +��Wi.l/\�. 
���
+���:�� ��PG����3 �� � �^z � @`+W�x��@�N�	
+y�������C\`.VP�
�U]F�y�l-`�v�� ���Mk���_%���м�0
� z���e	X�\�
,<_b��9AA����W, (������B���Ww�U'�?Uo������7��[���t�aC��z�i{��Fg�k^�6 '�?�֮N��܀п����0�$aa
;x��6��j�KH �Oe��=��$�_�E�������z�����S˹:8�Y8�
�?�
�e�X�/���kٸ:��7 ��������_���m=�?���8X�;�~I�uX9yٸ�a�ȁ<��� ��-����q�u��@�
|��޾8qp��m
�����?  ���
x����ٵ������M��e����i{:�7��*��?QIIA< ެ\/��rs� � �|<�����p��j��< F
l

������u2�7Y����҂Y��_��?
�V�P��/����y�{��@����J8�.5#
VK�38&c�q0ĩ�^�0߿��15lM����&��aB��s���qK�i{��Ё�;x�G����7�];?�v �i	Vڡ^����*�!�������i�
+�D;7�����[�?>͵��UʗX���7��t	{7���#C���Ƚ[d�ٱ�h�-����&�<͡��VO��n�Л+I�o��e����2�������7�~	
U���a�&K�2��f�r�&��V�03s.�"����5
���f�W��W}�9U��z!��g�����î=_�I��Q�y��v�r�Ki�<{猝�f�u2��{EȰ�iH=�ngu�
�X�1.��i��'D�>=	�r�<;���^qD 5��ٳF������ҍ�PZ�$1��i��K��d�l�]�:.9x
D_sV}00�3Ȓ~���
�H���%ЁJ��"-d�X2��@T����|(�q��M]\
��0e)W�2���dU+�|��'D��+G��Sm�sK�����(JB-�'�8��9��4��rӅ&5,P�d��*Q3����FIPj
�}�ib�f#m�
�($�@b�ŗ%V��0�M�иm�:��"����zO�5
U���}�A9�+��ώ왏�Ϋ�h�J���m�P��?";��7����A:&x at r&��s�ϭb��)�x�Lد�Z�i1P1$4
:�o�Bt����!��W��$��QP�w���<X����I�O6�
+$H��F���ʸ=�14���z��>L�qn�ڶ��>��m]��X���-eS�El)���t8͞���)rl*1z̜����lNݏ��U��.�H��IXߓq'^�g%.x���|n�B�ٻRH�v
��Z;��#�����<9�)Vׯ3���ُ��q�iZ"���Ƥƅ���z�N+Re
���\�rZ��B�n�����5̙i
�����$>����6��-[�f��.��E��y�p�a���O��3f������4.g�`:��N9�a�o/�
y��E�!��VƓL5��#��ʨ�
V�� �m��n��
�J�
��/�LI\V�
+��x�u���QĞ)N�X*1�z�ÙLҬ�䨔E
���[���q�ژ�G.��כ��o��L�
��ܖη�^��|2��C3^to��Wc���gNSG���m��!��)L�nM
dW���-D:Ä0n�*��=xF����5�(���]��h�R�y��Qnl��6�P�,nBC��ӛI+6���0l�rNU��pAWe�l_Py&7�i�����)�1�� �AG�}6
�8z�kx˲��Ɂun�`AW�]��8'2���9d†�r2h�Vl����Kx���U�QpѐL�p�~�7���B�?����#�!��#!��
[���DY9Y�(�����k��+K�Z�8Fm�0���E��
Fz\\:¾-�����&x26�K��D�'�́��#���5S̅7����To�J�Rr��Lt�1�9F��\�M�fX��E�S�ָ�vZ�������
�G%"'��y"wb$�W+��W�.�v��J�ͭ��ME9[�
&ؒF�B3���
��x��⭈�CP�`�Sǫ�5�ǟ$����2�j��b�KSd	�5�a�5IS�KK� ' ~�A�%3Oj���LFZ�vi�c���2y���FA)
K���x��,����Y��YB>�D��O�1��
���'@�[{T��>��.C���
�6Ly-B?)��	4�ˀ/ }T{sE�n�h����N�*����
���x؊�Q����	Nr#����"�,���ˣR�S�3̨��P�����X�"��a>�w8~+�<ZI��ͮno�\

�o͡N�y�z[ߙ��x$�6 C%������Ԝq\"���

�\̸{��R_Yg�Ֆ��}�샋��Hld���-��
�l���|�a��.
+[GT�����ܔ��Q�O����
r�ė�Ӎ��Y���F�z��cK��(Y���S|Wd��!גi�Qp�(jfu�
�Cyo���S���/�%�5bgĀE���a)Yq]
�4�]�r6�Ć��T�L�o��6HM��j���m�ˢnXM�)W�g++�Rt��c[�\��)�1d�y����bp�n�"��")!Kn|R�\7t��&Uz
+YѼ#K�?�iEPI��w~m{;�
��{�C���׎�sƉep�DJ�4x
���d�J����`5�
Z��{S�?��H�`�H��_�m�ڢ�[�0!E�
+ea%�$�	'��~�T]��p�ѱ��,�U �Y��b�_Gȫ$�G�L�-� އK~�g�$����^qF�&��8$
�
�1����BopQ��n"�m 'g2PC����hD���'���U�P�`;z�b�j�!9�*��v5
��Z�g9���,4����jnh�&���E���.}~�bs1�n�qH'
}��:���bA�%rƜV�OP��Z�m9`��o��CNs�Z$�
+
�V*s�@����
=���
��HD|^֣�����������``���oaT�,6�Som���]�!��l_+�U�&bPAѺ�2�X�^�������1G_ڊw��c�#b�O�O!>�kQ�Q
}z�����������*�#�n
�nK�&�q&��	������yR��N;��`��qg�m�J�i�[����ڵx��J�KH��W�q���Q��g��$�7ٍ����8��
\
+���j��P��8����p
+sz=:�U��Ѧ:�[�}f��&9�T�
�&�.�	��!̑��L�
��A[�5J���z����@�%�"P����J������J���YZY�%�
���q\���y�18m�.!^
���
�w���������e�B�q�����XEG
K?��ž�X�W
 ��H�n��d��l���=������q�m�`�����J?fzM�fj�q�>�(�!m��,UhO:b}�������e{;������*`%�\`tu9��J�=9j��I��"�&5�]�����v>3��Gn�����I�/������
�S���XA�aR6yak��V�
�M�u����z��Ԫcf>|��3bC�GȺI�,����b���=�뢆��L92a4F�	T�U��+�8U�/��nc���T��
��Q��sN
Kh8E)�PeY�[Bzw�=`H��#�I`�w3�p�s���6L��w���(p�ɚ%�9	��
�3�C�
�
n$X�h2>p&�����~�w�ji�
�i�֢���}K?޾ii�/��E��R���m�Lj��|�9!<N�ܽ�������
��V�0���
��f�t�p��
h����rn2���/�ִU�fѷ'��|
z�C�o..y�&��3Q(�1A�N��vw�
O���>m�[
�{Z�����[�����|ɤ]L6�v�~�rfߒ�F,��X���H�d�~��Z�:��"�Q-$�R�z�T#�U����ޏ�<�1�>�0��G�l-�[Y	��:�ݍ��zF�����qjlq���.ݦW��i��E�Kɱ6�W/{Z(v��IhaSrwR����k�:~��-����
M��O�
+�i�G� R\�	蚽��7#uj_vG�X��<�_
�ܒu���O��YP�4Vne�s�D#���ZM�r��-��8v��L�#������-���֌�W�&g~FU�&�i�T���q�����[tk������ŬeZ;���J�.�*u����2R����7aECT��V�@
d��&|�7g&E���tQt��
dFD.P�>���
0r�c�-���'�9�#�j�!�z�}��@4�c�Y�O�Q�w�N�ɮ��CL����!i��:��!�
�D��i��6�a�u��CZ�{�[
Ʊә���1̫��b~�M
��=`�@̂(��`�Λ����Ͼ�__썯a@�	��ve��3�\)ʳE���U�%)�+�ȳ�J������H�o��Wj1�;MC���oέjA��{��L!`��|ƕJ���� :t�˥�{2��P>�?cc��
�VQ���UpV���b5s�M�1jv}y����+�e�O�d�/�@�]\ԟ���n���]�&�̳GU��Z�3�t������� [...]
����$�
8V
��;��Y�1G��OC����?�
�;�[8
�Y
�Й��$Po�2ݩ�r�9���fva�^�$��p &9����z�W������k��m���@��W�{���y?. ��{�ϛ���%�Q-��)
��q	����A�A�|u퍳D�4�|*[s7P.C
'd*`O��Uѱ�:����m"ކ����J��\ļl,�;}dzL֋0��)IP��^z���W;ǚ����t��E�G�I�޲�>9e$ʷ���h��l^lg�n-��Ogf5�+��LhTB��0[^c�XĹ��O��{6�/��f;��?[�|��p
+�P�>ºH|�Vn|��g�����/Jp���׃Y)6<Ƹs���&^���h��t�b�0�/yC?�㱟{i�Z#1
U�����+
�ռ
+���Q��.<ʃ��7fJ�uDfppg���
+�E.�@zk�.hp��1d�_��#��H�Ie��ϓ���Sj �W�B|ʩ
C��O���-����.�e��b��݄?����R
u7,6{A�y#����A��eMpQ���wiW�G�@���7��7�9f
O[-��~��'�����*y]�fH�35b}�6+�g|=b��
ep���f5A�G���H�����;
�mpP��Ɲ�y�FBP������	i�P��9��;�hs��c��{1+9�~p��l������=j:���2����An�4�P�k"5�T#���fc% >�i���x�O�!j��,I��=w���KT���v�u�K&��i���>.�G1\:u��&ja���.m�V��a+ �@��O`>V�X�n��l"{j����و�:��c4��
�֙�Wu�laQl_F�kH{V��l5��g�� �����
f����epG�$�BzI�4�@�݇N��D
39�:�k�V+Z�jB�Z	 <�9D ��[�l���ޟ
+*Si���߱|��;���
l$^����I�`s��*T�Z���3O�=;H
��!��<���v�ɀ?����9�����5c�p7҃.�C�X�&l8��*8B��ދ��}�^h�
+N�܌-M������-��D
���w}������b��b5_
�������o���B9�mpo��$��lc�Dz̲��m�8Qy[8�HU�&�[�x���l�<7����sz ��c;�731��.���9��
h}:�b���O>�#T���{fP|;]Z�1C��=��';��l{
�-��E����cۈ�/�zh�f���_��׶�kX���z�U�]���ʈ�_�*c�\� 8^�>���i1L����k�׶��sWl����lM�%oᚕ7���;�j�����Y�����Bu]�8����#]Q0�H�*C)M]�n���¥�{1�߬�#�}�
*'��K.&�3���Q��p�3f�
���S{d\����
Z�X�� 4
���$��1���j��NX��p���ņ��cXy
F��n
�
���'����3����K�����-'mK�X�����Iy4���NTR�"�
�b�Tt�1��R��O�+�M^|¤}˭p�
�g�G�OmP:P�� [...]
:;��G0��gW�̤s1�b���[�P�c�1	=rG@ʽ~�k��p���*m�&����L�Eڜ��c���Zk�`�lr��o�OS�5�;,}W
+=E^�%�BA�~�����Ӎqh;���$���!Z�z��
۷�K�v&�=�9�H�#+�*�)�$��W����@qcED�,{�<����||J	���k�vb��j��X��ACq���n�s�(7>����,�i8��WԼw(:�By��͐pޞt
e7,a��R�%�
*�B�8�
�e� m{��M���]m_#�{��
+���m�P%,���
+'u�Us�(nh
9����2� �!s��u�X
{Qe�K=f�^�C�7�,���,���S�>��S<q"�`Ubp����i��c��ϔl���v~6��{�
+��β3�� �����B��b�^y���I���H-<L\�����$j}��g�B�Ŏ�K���䈣G���j�"�BV$�᭏�~�"S��K�E�v
�����=��


`�&���'��R/I�.9���`�
�R�P�o
š
o�]f����?!4��a
�d%�v�8;���F
/�
���L��3p�-B��z>u#o+�RA�T0���ҲDQ�@x�j�v�

��ͩã�O��a�d��.y��%B��L:J�:�q�f����m�_����'��U�e�(��
f�����t
b����y
�RM�(��k�c��2�$>֙Gn��wk�q�&�aj�:5X}��,��IO37�=6
ی
�\�����	
}�3𬟎dd�Z�QP��X�o)<�-�����}����p�Y��0R���,�-֘ʀ
��j:-C(a�C
mY6���ʇ4��*c��X=`$�
�ӷ\�uP�;&��z�����W��]f��X}E;}L�)աp6�j�
\5�����B^U��A�������96W��T5����k-�����#�y��RA���TD�Ýp�L'OB�[�	��F���^w��b� ��x����1��va1r6w���":\C$�+�W;�I�q�f�^o���ic�#&E�jYJ���5�)*_/G�!I�.r��+��̠����dD[H��
F=�1_)���u|:�S�_mk��
3���5~�M`��$���.+�I���<�E".t
��!�l�Xqa.k
+�Z�U�
���^����
���:׷���TD�&�JX��!X���|�h��z��[�|KZ��E�ģfѓ����x{��Y)�;qZ��DZ��	t�����X-�Cy�i=�]�הj���x`�)��(�Y��
�
��

+4�e�ߛ�
�cD�+1Zq�C	B�XhIFg���O���U�;nǟeu�Y5�p�f��9k�[@�
��������D?�~�
�'Rp���[2�t���`vŽo��6�տr��%��_x#��w
�G�]	;6��}�Q`@��t-_�����
��tJ$�X�Ֆ���s��������k#����i+��=E��F	�`F'�#?RG���m���Đ�����%
��~�(����!
+/�R�_��U�]�d U@����3��<�ܫ�!������|���wjy.o|��K°zH�,/�
V�j�U,��Q�\}�7o��
����8UQ	0�PM���m�>?�d0
�"�Ѵ�[J�
�}b}p�9@�sз<�s�v y-[k[�
��J(��K�zw����5#��#
=��o�V�_�M���~&S^ �+�K[k���`�f�xs�9
�l�% �:G�6����uV���GJ��:�����έx�g0�W
���Hk�O�i{��1��|�����b�c�k��d
+��3��P_�B����5ь2Y��nt�/rm������f>N	��g�t
K�Lq�Wh7�{Ÿ����,a}�rr�P�����
+c�%��L�@e�
+ ��N,f�k�Yv�}~jr��{�'t���d6R��)�ݨ��[Ũ}�J(U���.q5����V�J�s��YϱR��CG/SR�����h��*���q��U��mK��1_M�Ɍe��ư<7����Cu��w$�H~��\�=qmvkI��1�{��5�~�;Ó
�Y
E�?�d
!��QI
���?9�pQ���%���'�m�N���TNB�y[�,��,��^�s��a�R��cW���D���YV���^o�ԡ0;7� h����KLz���	I'bi���=�7
+��$}BN�>:���(U����L���QR�K,I�)�wie,cm�3)U'�:'V��nŃ k�<��)��qh����������դ���|S��g?�@v!���?��,q
��=.S�y�\�ʌ{AH�^��0a\�'!��xԟ,�m��]ɞ��+`MՈ��.6�!<7Nax��xkL[��?:�%[y͛�gao�MN�M��"Z[�Y���UE~�F%��@]]�#�Xs���&��n��z��]R��+˝�Mi����M��*�"}��o��{�̕��1:ʛ
[y�
���.7t�º�XM%x&k9r����\WރTMZ�j
g���O܈�Md�fz�[��Us��Z���Bn8v��
���t���H�lN5
<o�%�,��FFf����)(^�C�p�P�� 9�V`[�A�}�m�d#�I�
`�7kC���>��Yb�)��Ad�S4�<���;�Ҁ�����e�6D������i�-�8t��Y� j�L���΂Ż�v��B�
�
b�����h���\j�5��7W�|e�G:
q�e
��෡b#M�7oU�ɖ*U�bd���Tљ�b3=J�s�	C�W	�M
�:L�8T�8�T3��i�]o�t�iZ��A�0���Zӯ��F!p���[4r�{���"e��_&I#�G�^w{�Z����4Z�,�‹:�!$�]�Cz�4]~�>�x�J6
�-M
����/����l�K���Q{Q�/o��E����3<��ja�,0��,�ѝ
6����4I�"��d$%�?�g��mxF#_wӯ:���|�I!�*�Gn
�?���>=�F��Cu�5�iaY��TN�4��
+k���r}~j��T��������k��8
�O�9DF!��4]>��ZH�˰�$�Pfʆ�M'�
+�TM��C��Zc���L�2I5�bo��Ԡ� 40�����Q��K��+��f�i����u��� Ŧ�n�r�Uj��ny��	6�5�
>).��dHLbX0�G��������r�*���z�r��q�=5��hG+�Š�eY|R9�6_bԶ�_��#�4����7�����9���q�ߡnyZD
��lF�q�[���o!�K���6~�۳����KԸ~CH��v��r�G�Q�;;��̹řU���9^��NG6
+�J)+-���c{�	�� fA�<)��9�e-��M�Y�����.n�N�
��A&�=�d�
�|���	������(��-s�8��
+?@[���u6|ui@���
�YGT;��)�����'9{��D�G�������n_ю|���A
{bn%'��b��d4���"{�x�ժp�C_%)'Z`�x9�N]��6��1_��뤳�e���{A���K��[߹T���Z��05��k��$V����Q���
�vb����N�����Qz�
S��o��}5  ?p���5q
�ǝ�p{��t��P�g=�Y
+Gt�{)��2��q�i��h�<B
D�
uݥԒċ�h�>αV��cC��	
�ZL�|wM�U�#F��4�
�S�<�� �o����
>��7BE�
�,1��z�Z�̆:�!��\͖�c���\��
��Q���gm�2�̣�i���V�OJ��]o-F��H�\wt��\����p��I�=��}j�&��h;=
�OTO�׮s�#�<���Y:z�=�o�
����m��6�T�`o�ޒ���Z�3��:4$׭E~�+��
rf
�+���=-^*��.ŕv�O�^O���7ݤ�r��qTY`b=^F1V��2
!ϙN��9Q��y�8��e�E�J�n~�4ΐS����DjHQyh�9�v����[]�5c���,
���Ѽ�*a5p$��7\�̃Y�5 �V>�V��=�]��ouL�
x~�ĉ2;�6�41&�1�A�
+g��g8J�
�eL;J�b���J��‹ �'ڏ��M��[�N�6p��.8���TCr�}V7�U�O-�'1����0l
b�
�F�U��°��%XdîuG��}����M���&
+OP(v^r�zztQs�F�7��?�Y�1<ǃ��/
��TP��
^��fd#�rS�rU�"7�
��c!�
���tp���C���fpF*�
v	���*b��c�;��b�V(s�#4�Q�&�-=����x{��:�}��V�\�/��c�٥Eg
5�`�]����U�x�

��p?��G��E�M���g
ur��4����p���Zi�kH�E�L�ٴ����XBvQ����Nm�:��"*�Ä��@:"J�������Ȏ�.��i�k3�}�
+>�+��)�­ri�t]�At��ð�������ex���{J �"J\&�"���P5�׹
۟���\
���"�G3��|B��x~fO��b��
+S'�
�}�5%�p����qB}�p�*U�1g֑A
zT���BI���n�����}�U�����i_R�+�sg/I�ܨ��0��5�T��Ԫ�q.�"!
%�*y����E�v�v}y5�cYG������[���J*d7�o����\ģ�ǮOV��u��z���e�����7*��?{��q�nG�ś8��*r��H~c)pi�D�osD�8�ܗ�!�g�����:tAb��0��R^��I�.����LA�
+��C�N3n�[�K³�).d�0s&��o]�4�r�
�
+ ��^u��o�si{3^�aY�I=�������l����o���2�R���dLMڌ�C�)U����$��P@`
������OB�lZ��4�tI�)0=I���0Cֿ5��Q��
�8��1nm�A_^����n��Q����wPۑݛ8����:��)̀�A5O��ݘg����k��C�0-)�O���Z�
�H�OJ
C�ޕ�q�w�5�
�?p��_��kfPl��#N�PLR=�=`���
2�X��yױ�
+�E�-4{��#:A"D����n��2cia
~e¹➏�[�&X�uZ0�g������Ӡ�9�7����N��w;Vf�"P9��xE�f҃���:
ҨU�����L��]:�e8��LP�B&
vl��㉲��>�W��KN��w|��ŕ�u��I�e�v��燫p������'yH[3^��o��
+����TX�h֛a{�^�RQ�6iE
'�߮�Sо5������b[�����	�g���r�۵|�
1p�
+�I
+��Q7,"ʹI?$
�Ԝ�G�eJMt ���>0��&YE���O��T}��x�q��.wd��
*�a���4L�Qɗ�ˇ}�D�I�����4�}M�*:�����
m� S���;��w̠
s��tb;�m;�iួz�Xn�
+�3����Jڨ<ϫ��Z���;��ȕ��3�@=�Q�
~���{�9�&
�#
-$��S��-�Q;�6��'������{zv��~e"�M"�����4��=�y8�vY�T���a�BOV������~o�WO�M1�O�
2*�X��m�G(�
���[�
��yޑ��!��� ��2�S>+i�(�R�r,o_�
��uF�4?+$�
6�U%��B.��g���Q������;g�5����`|� rm�Ҽ�~.8?ˉ�ͬžƷ�����|�%Md�.ko�����#��kpg��v�+_�8C�V-@�Ԯ�C�md��NIˊ�A�g���
�WM�1�����Y��]T���o�3�7)��$�/�"������Yv7�|�R%�Y4�{����J�Fd,�g��+��B�P�G
���A}it�5�K���t�oc��
>�i=��\�~���)մ��1#�ȑ�֩���0���������Q��7ٽ�0����4&��XH3vf�|�y�Q4SV)b�k
���A�"�]�k���
���Q+1%qB��<�R�.�ԑu�Ğ�
V�c�F0��\5�dּ�D���u5zK�Y�J~�$"��'�{�SC��īm��> ^Y�OKt����] ���c@=����+��+.�r,�O+��1�4iw�G�d-U21ᦣt�%��e�
ş=\��ƺ%
���p��o�s$��
Eե��_�>��&'~�<���OaX
6PyFܔE�����{
+endstream
+endobj
+20035 0 obj <<
+/Type /FontDescriptor
+/FontName /SBCPHW+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/c/d/e/eight/five/four/i/m/n/o/one/r/s/seven/six/t/three/two/underscore/y)
+/FontFile 20034 0 R
+>> endobj
+20036 0 obj <<
+/Length1 1630
+/Length2 21405
+/Length3 0
+/Length 22250     
+/Filter /FlateDecode
+>>
+stream
+xڬ�c�e�&�f�핕�m�Ҷm۶]i۶m۬�}�ۻO��s��t�+b���3�wF,B9E#[cQ['ZzN�����������-�4����3௜��D��X����FX�ɘ�jl6602888`H B�v��fN reU
+**����c0p��_OGsS ��c+[;kc���׎��� '3c����1 at HVN]BF
@.&�
3�1vз�9X���
�m
�) &� � ��6F����H�K��p�364��f�fhl���`g�`m����`�0uзq��'[�������?	�����+!;ۿ�u��l
�


�� ��	��;O'3}�b;��UlM�Z�:�Sҿta�j���m
N�nN��20�;�Y��������_i8;�ۘ�g� cS}#+cGǿ0�����	�_�׷��r�����g�N��V&�0
�c:��mjnC�ϬHؘ���-7r�����ÿD���P�MB�����
`dlC'c��7$����e��>��(�o!�����7r�+G��K���>�WhQg++}���
��d�m �
@�Ϣ��w����[�[�����������?�I8��m����_j�i��-4w5w36�3w24��[��ٿ��6F�V�6���W[4
���E�dfnhi�	,�V���
+������e�%�$��7
�_�r�I���on���_�F������������
@��������#���&俀���K����
���nz�U�?~�y��/0"6��F���������i���Ԇ�I���[���5���nƆ0k˶�\Ai��N�9Óš��
���v%
J��~ն=�ia�
z5���Ӝ_m�K�v����G���Vd=)�Wy��D}�H[�
lTGt:%p��Q�׋�;`��*G{��
+:�x�
LP��~D.�~��Ov�>����h���@ȵ�����Od�c#�C=��}�8Tٱ�$\�>��IN�z
�_�o.l��KY-��H�ʮ
8���ď1�(
�L��������R�W�!�1��	���B3J�:u������y9�,3W9b�a�#��҈
+Y���T���35B��U�����U"yfؘ��HDx�#�k��ʓ����u:���x������~_��
��D3
�F<�s���[�P^D=A�)�1���sc��l5�
�OYT���C�5�t!ոJ]
�0�a�"�oY7pFI��{�'��hvu����-��͜�7J�A�7
��w_�JA�����0'k\|�/�
56RkF�j�V�d�
�d�D��'q�e�����I]���R��B�",�b�j�%ǀu�L��$�ՠ�\
���&�/y"� ��{��S��B� *� I���mv��$v�^..�Kq�9UhD]�K�AνM����sEZv
�v�3.Y)qf�����x�)`�(JS�]�M�8en9.nJ��O�Y����$�Q\R^T=UbFDjC���Eҿ��X���CJu���
U�\��P
���� �
j������/U?Q�#�́�0u�����!@�re�}�Zk.�dir�^���m�
um��љ����b7Ly�,��y���#��-����V�� ��hg�Ik��
	���嬆h,ʴQ�/d��Hj�Ӣ���
pq؞1o��nC/���]oK�n	2�J�O]�7�,<��V�0B������#,ŔS����׊���_����N�V�$T��Q"_L�K�P�X��TO��1MQi�S��m�2U�XŨ���ʕ�������*v�ل7L���Ȅư�y�]/�
+2n�K=����4[�B�b��泦���:�3.,`�}���c0xw�����j��p��ʄ�>W����ݞb{��ۚ���.���ߙ��������TH؏ n��h[�x�
�e2ۜ��Ky�v�۳4�?�
�f�C[�9�l��E�3�m����V�ko2l{ؾ/}.z��0BT1��T'\RZ�_�Lb�	��\8���k:
� �U :hE�@.G~5C���7�kr�
�yw�%�\ϝ�9�m��+�2ż.o�6�&D6�,�������}��s��v%s�e��Fc
B��� ɛ�%yj
�S��
)g�X���0J
.䄰f
ḇ!�Z�2E�An����JW�敜�:c��KT�~CLB
��#�N�,�I}�uj��x�J�0�o�R��uj��,*����@���jsǯ���`�Y،�f
+� N� ��
���U,x���?/�v��b� Q��Ta���q��#f5���kj:F
?H�Q*uA��d�D~K{l��/ϡ��7x}+q�4k��A�κP��J�G��*v&"��%��g���hя��o�"o(��u�30���_��6�����#��
t�Qܗ���g��3k�����(�aQ�h9hR�;�4�j�(,N��Mn+)/-mI$�5��
]v;V3],���;����7P��_����(pxQ���V�t��Һ����J��ףx���C� =�H�A����C΁
��MB
+>�	�O%�rGA1���{.��faY��qi{�Y��o.�j�:*�/eb���Ǡ�5[
r�y��
�鐇F�`�f��1S��ǘe�&}h�������)KR��(���{x�Qqy0&-�V�
� ر^�	���<���eJO|ۤ�|� ���$�B��� Bu����� ����^ ���`�^�P
�r k�χ�s�p��j�����tG��[R��5���H�Czħ~L�"'�F}�1�5�h �!�&ڬ
���ʁXl^i	d|es�T�S	�K�s��K�T� ��ƾ�q;�J<J,��<��:0���=U�	Lk7ax�
o�7V
����*V*1����R��?(gj�
ès��!�|��
�?_!vl�Op��}
�V�R�uQ 8'
P�}�4"�<����7����]�옠̹�H����^􂙮��#Op���[��E$�
�@ ��D\;�N}0��!�.���j��w�J6����] &6;��2�.��`d���C��d���O�T��3}S���9Ӭ�F����(B�2�~�F��O��G
��
�vwc�Ng3�ϳ�6h/���@�8
Y��)�g�ß
F
+�2���
c�R���M`bk��
e�q���X��Ҕ�nN �n�;O�sYv��蝇s£}��^\�M
������MƵ�l�腭Ԍ3n��.�Y2��S9�8�caW'(x�a{�>Zn5�
B�!v\�������Gޤ�n����me
�v|�:������;VlA���*�Z��][�`Z*nU��LqdR	����8w�����A�	��@D6�6��A���
#s��
��Ujja|��,ć��ӳ��u�t�Z�������g�8jW	����m�(Z���"ן�VUC�+��n��:5�]���DI��
kcU�	k5'�"�mҮ�l}���aGh
t��波uE��M&��jO���5�$�GK�������:� M%��N�����p4ct�OA��
��}sԧ�nhW�
�� �[�D����X�����2�{�O!�N"Ѵ�/ �<6�� rj�J�a��V�z�Aw���>�Q
70y-[p��]�c�EB��
�ـߔp�aa����uF3+�
�v�����I�q�]!¯q�߅��z��tq�LJw䲊�q��#�J�lV`�
�I��/���%���*L�F˂��1C-��7 H�9I/]�$�5��흡<
�OW
+C��
��P��G
5=<}��o�j��m�T�=���ʢ�1e��GөraV�&��F3x�<�/�ز 7И�
�w��2�^���o���������g 'd��w��ͦΖ���i	��K���M�sz�
�	P��>Bs~d}P&�� ˃W�������h��G
�
^a6��j�`�X���������>
=�0��W�±�5v����by:e`(|�"�i��[
��D���*�
�*�+O�����ʲ����=
+�nzg7#�n�y
�̬��ݡ�8ʛ��k`����>��e�۴~t���7������QHw բ��e��6
���O���&�?!��%}���d�0���ҍ��$j���%Ӕ?>
gd���/o:syL4Sd�C���=��s1��Ir"��.
W�4��	9Jsا��N��W�8A
+�1Z�n%.gŎ]q�u�ú�-��Lk�l7h�:�c�����>Cꐾ���7v���'閳�mf���S]�C�r��
-�=�X�5YU�lP%	�������<��w���b>��_\��\(D�!��P���:r�]�!�#�9�c^��w#�ZOO\
s͹��'5��&Z��{����G���z�
+���Z�=�K��w��2�P
+v�x�XI����at~���O
+�FLX�{eS���"�v�Ɔ����[#��;����xD�L���u'���*��ʁ��@��t�fR�η�
)H
.�/�n�w��E�ư�FiT!*�߸+nYm�2�������
���
���~|��ϭP��)�i0'�q^XuO�~
+��t��xJC�1	��_E-2�)��aA$V35ݫ
�� ���Y,/�e׾g��ځr��,Q�H��S�����d�*����o�ℳ K���-M �����K?c��7
��/��2 ��y��]�Q�'|G�b㭏v��s�H��Ĝ���ƴ+
���z��3�=Le������W��2�%fޡۆԣ0�r�=��捸�^5����iҒo�OT�
�Tr-��<�.-�z�
���θCg>Z�����������p
\�-\��-�8+ at 0��
R(�t��'�@�* D
�w��������糉U��Q\z�W)E�շ���c
����v��8�x��c��֥UH	=[>��g'��+v����˵�a�8Tm�ښD� h����ɤK!5�[$r�R2�;
+ӎމ'{�H�锲|*}6���x�[�����X=]W�)�q��M��]
�O�b��L�9nT����d��S8T
+�<Q 
�CE���w9*"�?����H����Î�������g��B<?�U.�_����d��q�3ՌH��ͺY;��L� ;���� [�㒓�ѦCYʂ���.���m�ݲJ�����_,O�����z�Z�\���+��r��K���q�E�b��gtk�Hn��
u��� =�{B�|�P��@L���	<c���,,
+�떥��?�2a�cXV��Ć��
�|K����(�$r�����f���y>3�]1%�n�#d[�;��L?l��7�x��
+!I+K,#��䃵����M�������4�:_8w
��\fCLgjf��'���FZǼ�hj�
�{m��Wv�Y���J������/��R�$B�a�����S
�Y2R��bt�D�'%�r���ט�!U�*Fu�;T��z�з/0�=_u�k�R��
+�\��
��+=�Xi���XPt%�BRL���ۢ��u<uV*y�\1V�kc�hw~���tgv
�
h�s�{8�
+��ؠ�:*^c$�pultY\��㑧oI	]��v5�j֍K;%P�
:kt`�d\\PZ�z���8�!�
)ɰ��U6n4�P�����f�|[��K���w��
�����KWR~����%�?�9�t/�W�	]��p�ێ�F?�a���a{f�l￵��L.טQ9XtAfU��W��)��
t�4�`�,�G$8��6u�M�H�@"��U��P�C�G^.�
xw��C��3O��r�+;����37����z�Bly
�c'�"|)M
+�C2ӎYD�M���� PN
U~�f�OXU��j��
�;`�9���4a�fS���E���$��ޏ�D�X�;���~�)UC�V
�eu/q�v�F��h�{H	J���ꏻ3�����2���+%fu���Y��뉽�Tu���@�]�n��
+�'o�����v��>3�c�Eٛ������rP�
�u�E~^��mV�f6~��4��G���6!��E-P�ʩ�
+TH�
G�}�3?vL�d�u�z��?����� �XP7W�M
��A���^�ֳ΍̘ĭ�� �9K�F���(� ��۵�� �
���5����Mdž�j)J^E�d�]�, �TUbBw��6꼺s�
+c�B��������p��k{��GE��6�i}���۱��];��Z�%�O|<��	P��itߦyw�3����E���y�έ.Л�
LQ��P�Gq{Ԕ6��ŵD'�Q�廣�zw�3=�i���>%��@�V
!A�U��8GKԃ(�d
+���+�c3Xq^���A�ٟ�š�<꘍���=P���fתY��3ta�ڽ��:'�s�f�ֿF2wۜ�b�
�Jd+�m�.��x��x�'/��i�Ujͭ
�����lj�q�G�h��P!6/��|c[!�3�re7�O�x��[j�zU�Z7��
�R�H<���0
a��&Β$mA��S!.�͸�,V��7s^��FnX��4!w������!�bV�
W⤳?���u�s{*4�r05�Z�
�Y���-.I.��Ϫ�������~NY��ZTm����¹ѕ���$Y�>T>�9 ��Zie�1��>���hDG�w�%���9��͠R�$`pP�{�uD������G�\<\p�'C5u���Le?\[�Q�M�03�#���A�'��D��
+��(��0�.<Р^j f�r�\
+������X�,.��ADGΆ]��J�����l����Mp�L����<kwH]@���֩�T���u7��
���
��`d}y.ҏ��;�yP	�N�����=��O���93'��ki�4���;\$��=
Y��_CEX���wHE冂<'
'_���F���
+ݭ~���T&:
�3I�JT}�XR�dI���
�`~/�c�>���[
��
���SQw���FPc�"M��r�Oth����P�
V#�K���҇���)�
E@��@�
�����F'��1bv���v�l���#d���y��\Ʉ"�$.�M���r�� -�
}n
�K���9�����Ͱ�����/}3����Yͼň��w�!�qq5
�sK�v~X �{b
+傌���_�w;�� 
)!^�ّS��p��}le`vͪ�is��R{n�_(��˧/$G��H
\)B<���W��>�>�x�A�`�9԰�A����D��4��b��[@���

�C�Tf�5Xam�+s��B���fb
+ �@Z�syt~x
B
g�٘j��DBzF�<{xs@��?�gI�ޕ�Qy��X�((
���B ��t���T���W�ɠ��!u��A�{(r[��u�(��>�Ÿ6��-q�Q�#�$�o���R�d��В�gH�-�2��q�Z"P��7��p��	��
{�6Iޞ�R��d���O�|�����>�1R��%��y���N���
��$:�I����}&2㉒�ͳU߇�Fq��o��"��
+U�Q�UlR6�P�?��e��)\Ϲ|4�'߃�d)���-R>�4=�&�c=O 
0
�8�1��Xle�*4W�t_��[d��tG���Sj�� ��
�}Z��<�b�.�� ��	��v�y3� j
�����rw�+;��m�+"z9��\Db��ԉ16�K����4ƍ��<]W��lmlg-4�L��

�h�����)

ZǺ:���!=;�0q� 5,��)4
Og0�3�ޣ)�'�џ�c������l�t��=��^�]Q��yb%:��i+��"�k<�w_E\�y���
S� �\[�ts��\o� �_��
�ճ��۝C�
^%�5�L�	�?���
ӕV��lK}����q�~YQÅ��r�FF S��G�<�
���o894^������K�"j�&�x��
�a
�k>Y�P
Nu�#$��e��mHj�f�#vNTx 
v�9�Cŀ�}O��d���6U	��_"M{�$T��J
9�g�� KPη��;d����&�ݐ�{Jɾ�D<�f�8*�
G�T}���
s~
�0�=3E%�@'Gd+)�V at a��-�z_� d�_۰��� f�.�]����q�K�\ڑ� [...]
D�)p����m�m�,	�Qg��+V�X�B��Ӫ�z�����&��X���Ur'�ؘN��I�tB��Ń
wS:�o������\�����>���V��c��
v
!V�p2:q9�Ex3<��j9%ʭgL+�@�Oe���ߖ�./�C� ��;l\������T��Co��P&�$4�
��E�
*2`��`t3������?��w�@���?�����^2L�{��-0K�*V\d�G�wW{�`��i�BL��i0�����F�/�~�s�R�
'�p<��,���H���,��g�\�+%k ����va�#�U�����<�w���
�4c׌X�y�Z
r �s��L��=6��<C����I2y:(* HƦ����d���'<J��
�GSq�k�xB��k~�n����y
$Sf��
��˼�d
"�k<m�jG����J�T��vޏX�����d�� ,v}S`J�2?�E�
��pR�ʐ�mkd��3�^$�f,9X0!' �qy'��`"�v��0�);���r&cT�8OwК��T�D��U���̀�h�b����
v���(�</K�=\�D����D��5�U�`68��
���z���^ЌF� �dvR-���
 \7aH8X�J=NF
�5k蟷	.a��R��o����h�vN�Τ�Xa�f�|�,��eϦ�z�Wd�Lc9�/��C�/�"e�
�K��L��9l�|0A���yȐ��2ä�_q�-�2���H�QuV�b+�Y������Pˊ��n'����׺$�c��%.m>:�<�B�E`�e-�#
�}�����m���ϩt�
hJ*��L{�i�,�� ����x0Xonw܊p�H"vj�5�e`���F��ܒ���]4�yA��.]Z
K7L>7�Ю���Gt݁.l���}���Ӥ˭@I���얗��y�>�ɲ��e6�����>L�m�KF�$�tYr��x�N�F:l��
+���Fv&m�:�,:N�aw�s���4�u��
O���j|i��ɭ�ֱ�[�j�����a|�#��[At�
f�@�N`t�]���L
��N�T���o�B
+̏�K���T'	�ս) ř@��٧z
��G��=�@Se����_	��y(I,�cib'>�$�+ĥ4s�uo�ta��6/��SѺ��!y��s*��.ߕ�
*�
Ѯv�My��� �E{y�s��M���o�%O�u
+��4I�
+�`�!�,ʏk^��❇c��~t!zPv%*��9T���RU������IH!
��w;�G�]:�8
ɗ\�R�39ƒ��*O��Z�-
f����x����,c��-p�~�7
�x����؎�<
�/-���a�d,Z��O�S�io�ʽ
�L,��ʙ�E$��s�5m�^^;�_wx	S|nS�zu��c���Fk�Ť~
�
�	&dHn����1%��O%
朱71�x$�e�`Q��^wl�PQ�]^��
b�ܗ���O#�bGb!
�Y���P�J^�
�����b���S�<v�|�
O>Eԑ(��<
+xD4,tY�� �=�7�t���k��'˔��
��@��[��{����__O����	�7W���S�k����R�;b�kG��JC���i:@ �[��B�����-�by�!`��7�з=��%�
u����sjʸ�#��Q��6��?���f<�Ie_Li
�9J��c\���`e���G�z�<~�

�YWo5�VNx)�r(y���W0|;[�)]�4�,ðų��Kڰ��?�w8_�&�I�o7�>�?ē6tGOM�

X��E$r���8
\=ŀY�/�c����*"Z�`
+��ӹ���Bܒ���u�E�&���uQ����t�̶
!��c~�ʮ��j$
�(���r݃kk��
p&��V�͉
+��Bf�4�-'~h��le[z���Fe��1c����:C��8|��TM\�u�
6
�zN�1G����=��Gz�\�$	����f�*�_����F<A�N���`�2(�:{�;�\	�I�V0�X���%
���)�%
Tb��z�K“\�W9��3'����2JAI�R����i6A�`�9+bv`Q�Xw�Iӎ�E��,�L
��kV\��2Oݗ4��Z�lz�fYz�7i��d�U�)a�S����6�#8d���p���v�]Nz*V��9:�q

�c���DŽq����-"{�X��Е���&n�7 at 7�c&]���u��"
�"�O�����W	2w�1#��y�Մҥ8�������~�g�x$S�΁�td�w��i����f;�
t:�THw�M�����0P�X�P������:��B=�ȺP�)LC��p鵟cᓽ!�e�����)0"=*�������A�1ˋ�.W�5����E��Ϣg����cE��E�Jen�e��I6C=Ti�(�	m9*�h	
�d
��+��t��c#5vmo���%��?�jjJ{篻� '
+�#hc-J=[�A�iէ
2������˾X��1p�;�F暈6�]���
�oxg0x��(D�[��IIc��-
Y�(���E�c/W�6�OH��䪺W��G��G��4����� K��R�e���J��5|c���_i)���(+�Q�,��HL��y4#�"�fA��Y���_/�fZ��9D�|6���녡kG�]&�Sͫ5�
�(IX�Dž����K0x�Q
+����e���H�{�Z
f�M�i��L���$��Y�e��B�h��-z���������d��U����u�!R����C�@?*����������n[�
6y���ɶ�睨�X	Z���<�7�0:�yi���J
�>
�S�V�Ѹ�	]�������u��,���,|`�S#q3��BUg�"�1tn��?
+���W�M84i:7
��Cƅ�Rm$�����<���"�˜��˜u�y�l�I#��%XVR�~��CM�q��GF�5����k�b�6I*�/�ň�G�[���l'��s)2b�xb�R|k�v7o�����
%����*�þ;*#
��y��xN�֬��K_��.
7zd�^K��_�Q
��,6��o�M;��/k��!��K��f��
��܀�&���4$A�
��U��Y�f|����E֟���3���_��v�g��

�v�Z�����F~��6��~l��%L<X@��5?Q��C��^�S����H7�P�����{�`��%}��KU�!P*$g��i��U�fL8�C
Cp�rl+��r�¾/����\]�7�Mvd����L]��pZ��ۮ+ �_ ��q�K¾�.�Է7
K�,6��K
+��Eq�i��a�������P]���	Oùq����ߣ�0ZrJ�9��G	�(ֳ��vK:�����wbVٖ�j
����Y�)�
�d���VG
+��<��ٰ\'��ػK�d�Q$>G{m�,��`�`��j��l���}Zcf��Cd�}kԚzW������`ɡ�y����<R�b|4�-GQ�}t��.1㗾yF�?	-#>�(�9b ~T1�nuU?�c8����3���܌��Xx_�ѼH?��K�$��Y[(�2�:l� ��nt�vԒR|`��� �k��rRڪ���Ѯ?�

+�E�H��`�<ͦ;�X�dZ�d٨2��R�
�ӱ݀���,<�2Z����6��X�.���c���>��(��-�!�K�>�X�H~c��AFX	Y at d��	����T(�`a���Y�U/�%�"2u�|�eh!�
��А�B������a��J(����Bu����1K����$�	��f
\D��?)�R{g[��Jh��sk���e
�5
�|��Z���?�Vt��N�)�/G��IJO�Y"ш�r��0���54�+mš~ڼ๒
��Q)K�^�}��|4�6�w5��
.��kϾZe�,���(ѼP��nl�	9HQO����v��X
+�i>&S�jG�)��r��mOf�w���yi�
�g^^9����|��r��p_Y0����Z��&�f
�!n�Gk"�bkG�!��[�z�keI�]!�F�C�
+���<�|=����]��SzJ�1��de���B�xX���w$„1�ߒ�ف���_L��⏨�����P=���r�����z=e�ۗ9�{�:Ѕ���LƸ0�󲳈�&��s�>@��ʫD�y���#��1���Ǎ��h�9{0P������
+ ��+
����늙i}�yq��>�y5)fJ�-�&�F�u�L�\����7LyI�p�K	����B���άɟ�-EF
ZT���
+?L ��ב�hz��Z�8,s��EuK:�^1���Kf5�u3Bht<��(F�D?8�:
���Tܶ�X�k���>�ޱ=�������=���Ʒq�����5\����
�[�Ћ�cf�
�v�����M��b�v$���='F/
˂�OA$��QDV�^=�P �vh�;X ��Hd���1��
+�܏��2������+����o�'�J�N�I�gO�(�p��A���;\�+�/�P]ޞ���0y1��sA1�V�
R�BX"/9�����=Jۉo� Y�L��q��>7
+��#�1�<$�]\H��
++���y��M�2��H�X`�tg���$�N���{Y�ztN�4�]���J�n�2e�"���v�rs���\��G���
Ғ�4$
+�9N�?)~x{�g ]4�l/X
_���K�3XLX�^/�džWAg#[ L�ر�h�U�c��*Jغw�z�J�V�(x��L�oe����؜B���NJ�8+��
���ڳ��#5�i̴�A�h�����8�t�}}�2�Z���"p3��#�~/�Y#��*

�2�*v��X3�3
+Z28u5�na(��-p%�o��N���g�Mu
O#��v���6nyĊ�Tg�����⟯��M�Z:x�߲���"��
U��ޙ���6���
��,l�G��������>tc>�xv����ST�����J94�Wۥ9��
+Ɩ���l?��f,���
;��y�S�˯���Q�D���%o�-~2(eVpʼ3`s�ޡ�~R2������2Fݱ*�����]	��$>O�Z�;�dO*$&�=��Z0/�6E��q�ٺ2Zl�yq��˵4:6!�'�
{G�#0�k���
)4�h��]����\0��*ܻ-���
�a֥H��h4W��dV 9��
Y�/�F@�<’�ei��'p���g�^ݬTqW��X���Ӆ�ز��j�r
P+��)`����c���%��<YOj�	�0Zi��#����{WO��|��G#�:ܡ�
4s0�6>2�d
۽���S��r
����D������4����@	8��:ƛC�΁�m�[�WLP�.:�!�]�j��o���O�?��q�b�
��u���t��R�yg�X��׌�c�X
~���rNٍ��b^󻼞ܙ�e�?�3}6Oӎ�5�TeZW���3}P�٢��A�E��2�Y�XY�)�A�]s-a�����~�Z��\���{:-K���\@Wu)wﵬ���UB�z��5���S%a��	���/~�

"`�3�J���Eh�j�/��ѯP
nޝ�F"���vVӬn|"
+��g3�v�pb��72�G������T9w1���_���a����]��0bJ�W�>����%n�X�4�XE ��7n��x׼5��|�0*樶b�y���+(��&?U�M��=W݈]�
+�v��8��(�=�?��S;�4���	�^�P�H�����U��z��y��r�߶�#�CW٣j��Mp	4ZJ�趶R�'�}Ҳ�K���WE��1y��,������q��o�Ş���c�Gl۠��N�:ӳ�Ta3E�\d �+���鲯�F_��d���/�GCwEG��5
�Ɍ���A�6��K����U*Q�SN��s�P2�4�n2�
b�:
�/E���,�(n�~�ހ	��R�.y>)�k�^E���B�b�s�]2u����Iו��mUC�/�k,l[�+bt���Vg:��O�
0�|;��QT��|��k��
+���?�\t�V�4�0�
��	$�WE��m�,�G��Eu���$�_"?6;��M�3o�U�Ѩ��;�i~F
+���CJY��}����uż���	������E�e�M���x�}�5W?,�
{���'7�H<x�8�V��
�k��?0��a�e���ɂ�WQ�4��:��Z{+|/r}p
kҖ�����"��v���.�;�,���<�S��<GU�W��v��
��;j�?0V$X�����z
BM�>�/�/k����A�d
�0}���n��s����
��О�ܾ`<&�:����r`I�:�4ć�lVX�ͺ�6l-�|��K�G
+�`�6x��|�q䧆^�.���$��2��_�e�
tV�6� ��g
+�l�.�x����]�i0hо{?[>��y=(&,t{���rqP������

+j�i���
,��)�
��藐�(2�a��CE�}øaF9���@8�V-Atud�ơ�x�m��7��n�I3}(���%����Q��&[��io
#�
���<11��~��E
պU%�ܻ7]��H
w#]=З�,�x���t@�e�,�8�,����>'ݟHkMl��	�e.l���DĖA	DkA����Q�&�Do��x�:��#��|�
��^�Y�,�K_��!L��\
���v�Y��Q#jLdF8��nA9��yO򵹯ǟ6*2����`{2PY�~��=
+��������G��7
�^L����
�b�
��E�y��O5�(��%u��Dpe'Ҹ
�|�f��{�_B
�_� A�o	\�	G�D�
�g����kP�}³ʗ>e�$�?T-I�
+�Py�
�
F���L
/,Z.��!�bi��>Q�u:��܃^�۠�
�|�*����ܣ�K�2����m;�Ȓ)3I}�g79^���|�||R�M�B��W���ʺ���v�Y-�Ė �*E=Q�յ~E>�C5�ݾ/�琛����ӟ%
+�X�ę@��0L��f��#*|Z���N��-��S�	ҳ*��T��2�|�#���B����=H
+	��"������ ōzg*B�Р&�ܩ����L��Y���B�Hx\+�t��ď�
ѷ
y�,��kru�һ,B3�ӄ�8���
+�y
+�6��N��Q.r	�4�H�i��>
ԩM�y=t{�i
��[�
��2&��£4E���
�TxWR+	P����J�o��.I�6��������!�=V�F�o�&fKE^�&?���n!����<C�^��ct
+���g�&5��`t��.�@���峹�a�pN��E�"{"Im��QT��ə���%�戀u4\B��:E��^+d�3c�E��1��T�j��@e
+��r�DΣ7|�ӌ!+
,��!

p�q"��?� �d��=���;x \��M

�'��>b`절B(
Zvr��s�R�A������
{�J++�
w%��ye��
F��i*�X���RXc1f�JmkD,�
|QD�}�)l�ձ���`ď��y_�4M�>0�Z�]��><��g�e��THRګ��)��u�v&"��%g�"��\��b�x��;�\u�pI}�	7�X��X���D�,25�
�
��;l	 �j/t<����!S�m��ݛ�
��Y+37��
�ۢf�e�
u6��l��ֶ����^m����M]��T�l-�]$Y���m|znu�T|��)ʼZ����%oo�6�md�-�V�����ډ���2.������	Yz��>��Ŀ
����Ͻj��/�m_5�x����9�}=��`�X����c�{:({�{��k7
O�
#WK4E�z/�
:�Q��;�S�:��d�s`@cpu{忼����fE��kF�.F/��B"�c��39�x��
�
'�|O��h�"B������&��0>��Zh�}n�j���.
�5.���Ɠ$��v�o��_1|%�-�B-���v���\L�?�,/,-�%`
Q*դ^���^
+���o�h��F�Ѡ��)���E�ɏ�x���|��p��
~d�1<.y�ƙ��:
D�@Z1�B����$	d9S%��
���E���i��q���
j\�~������t
+�'y�K?U�u�h��Ұ>��!�
S)�L�<K����<Y�Hh�J�ͺ�9a4Ć$���<����ق
u�
+�ٓ���d������n_����V�������G�G`��;�r�����6^%���c*�M�_ï�=�Y�o��
0��l�t�'\�6H!Ȁ\�nB���:��<�X��6g�5<�Ny������
+7K8[Z��x�T\��O��G��L�
'<"&AǦ_��0��4
�ٰ��������-�
q<��@K�bK��-�轫�E
S�3S�@�
4�[>|n�W�z�F1�x@�_���� ����p��D�@���� ܊�o�D��'Oo������qQ�$�P����p6�$}Kb�⿀�N�ʒ�'뼖��
�L���f�<<-C��m&���ƻ&huٴ�M30q��-K@
?^'�P�-Fc���{�JEG��2�p/���`	��;ԙf?����uȷN at 9Ho
��h�2ȠI��%�eN��DN�"�ՠPk�����"���,��y�,��?VL�:�F
ߣ�yƼV���Y
�;�Uƫ����H�fI���
���#+��.%"��f�'B�B��`h2vy2���b�f��K��ۆ>6�
+���E���X��`1�
-6cW-C��H�ϼ�r���ߗ��W�Y�1=b����Xog%
+ƙ	D�
+�=#�Y���(_��5ǂ��t�q�h�� �L[\�\: z�x��

U���*5Ž
+ N`nT}�Y�LO�s�2ڙ���9�`�|�U+Vw���V0��䩨|U�=D����ǖ
�
+i�"��@S�/=Tk���A0![�!ܸ�

��U�)�
+�R���<�Pz+Jvي���*�Nz�~C��;��%b�pѭ������Aa��.��,DJ`��	���O4���o�!���ٗ���;����Z����ޕMi��`P4Kb
g)|c[!m����,&
s�r��
,�fj�%����v;-Oڷ�N�# &��?Z%�\��Ч��]nX
��
+����I9���������
�� �m
���N��`�'ճ�ޢ��΢�z�m
�P�iL
�F�d�>�&�ݮ�y҃�Wec�-
+����fڐ��W��d�^ph�,��ӊ+zE���L�.�S�
ޮ����T��� �B1��$
�8��z��ޢ�`����|�3�_��b��r�.�1
�{��2�
x�e��W�K���Cr����a��%�'��N��J��/6� c�)�m�#�����p	.A�.jd
7�����DŅ���|(�-Q�;��l<�tۣ.��9R���<�V��pc��My�H�G�
d}g�v�)Ć�W�E)땱�Ҋ�F�_f�0>H��!*0�9�"S
e������*c�M���F� ��,&�q��}�EKv�]��+W�⭝�����Kq��=�p�
���xY. �
h}xl�����U

Ǽ�>����V���..
�E^��M��`���4�
�-	"Z�9
+��Xa�>	s��E�tـ�ޒy3�.Ӛ�\O
�~
�4�Ӿ�2����I�� �vD��7�`�}sv<t�!}��Mo��
�[}fx�����f��Vu|Ö�Ӓ�ZgM�8�K|?ye���SN���;�υ����|_��ddg�����c{�q�\O��0���C
�Íd�����y9C5�7�.+OO��t�����r@�_�`J�eG^/R3�
D 5
�p-�){̦I
�@Z
��N��n"��df�m�� ��7ʺ����9�6V�b����p�E��U�b�)��H詂y}�Wl��v��ub�����y��d Z6��>���؏P 
� �EP�7!�&k Ƅ7
��~�޼8	Q"��
��B<
-R귞t{�W��E��u_��:�I�!s�Q=��:Q=ˆ�d�AG����ŗ	
'�u�A���9
���.k�J�4g�v����%�r�f��5pvE���p��7oH�z9�`�k�F�=	*AZF
+�C��21q2�m�K�i��x���b���q�=
�u6
��6�-AM��#��"���.��
	�
�ҳ��ڜ��#����2M�x�BÌ
P+��8�F���"
զ��3�3}8>��6�.�/
�T]����K_�c?M_C��&)��*��b�\-u�|�	-cFh4& �Z
��-��r�V
+{���M]�p�Cn���U��";4��K}/X!�9[k�	�#�7�Qdσ�ު?J�5�D?��O,`Ta꒟��_��o��kͨML� ���߽xP�{�诤��;!���k+��8ԋ�*���T at t��ħ147�dYsg�����x4�[!I��5�������]Z��F͵7B�~(n`�FUy��'gT�Pƀ��F(�k��Z�(�C�������ś4|�,n��F�)�
�F$6Qع�b�dQ�B�
�W+�>⋧C����e���Q���!��nU�%ފQ�<��&�L�b����*Q,��V�>����
�OFWbiԌ�9)��ȴ��X����P.#y�Q ��R�����r.�n�4��-��N	
M��&��&��F�g���Z����k`��& ��]��O
vƷ���`����m��T���v�� ˕����`�ul��5{�IW�-���F�U덠������P8����џg�D��@ii�U�C�� (~b=w�VwݎJ�8)�V/�r:[��
+߰�L9gH�c'�q؍�m1\BM�H�d�@�вmD����Zxg,cM8����
3��뫶�DeFq�@v<6(2@j���
���7i䀱�K�@�q��O(y��P�C��.�ha
AN�
����WI��5��|\���
�Rjb�ʡ@�����kMj�zHՎ��h�������.�
+��������[3Bp��VÅW
s:��;ۑ�^���`�mk�6i} |
+uݝ�����2jY�X�}�Y�0�yC�K<��
�9��+HM�
޶_���K/�"���'�ې=��ž>


`�A�8�wE�����u�����?�@��-�
�9H*�>�
>AO��d��d�Xs;HOQ4��0��2�q�˳}-j�m�$n������2�
m��t-@)�C��?�~@��9A��Y%!o�j�Vd�
�����~��}8��́S4VZ�\��Q�.��qY��VI�c�r���E�5C$)��5�j�m�9-RyE2��<�^6#4��HzßU��h>��|ms:a���(���OU�F���
Y2T0�I�d AQ�
+��s�����$ss�&�b9;V�ݴք��0P�z��������c��
���S�x��01<�`�d��/%/*3��	��=��-�������a
+VN�O�ٿ�V�yu�� �B��˞vY�9���^\����S���L���P��V��G�߄�l
}κ+�+!J��A��l�5�$��T0����
ms��s
I
�쮘_��s�J��p�ϻo�͟@�Pu�+��>�ܱȃV!*����q��wx�Bh����" 4��y�3�
�v%�Zm���~��J�ܘx�3��$�񪨀�Kys�WX�2G�"cl��+~��4���p
 �X����sELc�����g	�
�G�NNť����T=��\�i�n��_U�S�s-Y�
Ÿ~鯇<,�P%BY��j��m�]1�kH��k�
�T
�
�кY��^���]{o�f�˯���#���Ԇi�߰���d"�������GC��H��JS1�82çzR"D����_�)���,3a�dgp�E|˝t� �{�+z���!>�����c�mCO�;O�QLNzj�X�eX�#�&P~
���iυ=�#6����S톎��Դ��Ud���}IȄ�.�ж�͹6
�wSO��Fɿ�;���v�/lL�$�qK7
+���'dD�L.5)��*��ZL�F����U�ˠ��vb���r�0�ԙ����E����
�
�}G�����o$j��D�I� C���"��
쇶�����f��}��7���
�O�ܲ�
�z#�~h�"�z�$Sp��3� ȹCS�t�un�-s�$ީ�K����VC�ZO�������I�b%��B��j�즯�/3�#�P{���/�H���
����F������
�*�xS;��ܝ���6�����Z9U��:t(��0n2.[J�{4������'�gj��t��F�g&m��42���J�4ۏ����C;����icf0d��99����n�	u.QЛ���.��
� �~�C���2�(ܵ�G��%����
�
�jG����L3��
�ô4@�+�Sx�t�7��;��>��g�ï�L�!��o��D�͆�’ 7^�c_��'�ϑ
�ߗ?�'�s�}9�
kc
E�۝s�+�*��~A'1^T�
+�Y�Ѩ`j���	.�vD��ڗ�l%\�炭R�iX:�;��U�2�8V��K+�
�3�����
V>��]8�8s9"��My�K0<��<c78B
�t�8Ǻ!��C���סhv�P���5�"p�[K�!Z��u��ioa����[�W���]֞!Gi��[�x�
�-�s�?;�q�	$r�`�x\��|ŵ�o����p"bi��"ws��b�Ļ~�M0�[
��`���M.)���W?�f��1RY��a�,ښ�֊�>�:^�=v\b��pʀc�M±䠃jP�I�H���#
�G=e����tvN�!�<�2G�W�s:|�
��
oƀ���~̳%m�{Q7��
+=��|�"k�e|Ӥu���(�����`�ˇ�
���s#�.1ڍ���5�@L9)���b�'@��qn�at1�LO,�R��$�%5v/4@�<JS�a&�N�O�8�2�O��f���Xkh0)AfY��
&�3�����}��c�
9��aL�޺1%FW/_�x1
+���#ei�!��d6����/6n����ˇ�N��� 6�
^G��;�1�db�7>I�3k?X�\�:����v�#��{��V޳�Gc����9�zbp�s&}��Ea
�/6�Zrp��숂��b��"Vu��;a/K��,�}�(��/}k���tp��
���L?vaPЖ��>�����_투�/|K̆�U��eR-&��f�Đ��b���4#�
z�4�o
��|Z�CNd����}��|w�>��z%�{����f]�=jOH�6X�:��bYua5 0ԩ!
�Q~g�z4���\jl��fA;y��J���7���6Q[W*
��ƻ���$�7��>!�� 	*6&^���
�LR8��$6��zE��$b�'�冲j<����]�&
ʱ��=�kU�m� ^+�W�Ma��5�~x�%�|�^���eI7eZ���J��-l����x_�
pwIZX�CJ�
+��C˦bn�������f��}T�|#@���-��GC�����ר!��t5Tu���]8�AجQ��PO�c=��*N��t����̴wى�%Ko��P�4����ӢƼ���x9ZJ��ԡ��lܘ!!s�>(�d���
�l��j�tЄ,+Cq~a�jY�e}�Ѐ%"��39y�Q�@#�hwm����k9�7�t�
�
l�x���1�;�s��%
�w��
s���cV+6	 �F�[Ky=��г�yi�����J��M�rq�=���1:�n�NTU5�U&�S;�*Y���B~1�<�If��)�}v�{�+
w��_M�O
%�Aخ�����|%s�5{ ]#��C;������2,�
�
�T�%S���8nF�s1u���X.a�I#����g�I�-��1V0+�B��τFJ{�-ʖ3`�%)�h'�UG����t�{��8�*�)��d� ��b�T���N!���h1pD��5��Ƕ�M;c
<�9�%��3$�<Q2P2����׶�x�3�ۋ�m
��y�p.v��]L��)�1�#3o�������Q�	�1q/�URqņ �8~X��C�Qb�.o�0�+v��3�9�_yI%1�[���4N]�
�I�
+endstream
+endobj
+20037 0 obj <<
+/Type /FontDescriptor
+/FontName /DODIPJ+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/A/AE/B/C/D/E/Eacute/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/aacute/adieresis/agrave/ampersand/at/b/backslash/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eacute/egrave/eight/emdash/endash/equal/exclam/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/question/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 20036 0 R
+>> endobj
+20038 0 obj <<
+/Length1 1647
+/Length2 18029
+/Length3 0
+/Length 18888     
+/Filter /FlateDecode
+>>
+stream
+xڬ�c�eݲ%����i�vVfVڶm۶�J۶+mVڶ���ӷo?���O�����f�#"�k��+�	�����:�1�3rd-l
]��ld��M�\$�
�1622Gg
;[Qgn���1@����
`���!���{8Z��;(Uըhhh������� =�,�l�\M���mLl��R�_;*�� ��M ��& 9y
I� ��*�&�&���w1��0H[��:�PL�
��^ ��l�-�)͉�/��� �dobd���������`o�hc����`�0s4�u�{�v 
[#k��k7��WB��vw�������99;9Z�;�F��w������v��
�L��4�3r���ai����N gw�b� �-��
<���Kf�h�4\�,l��3Z�����������_�������	�ߪ7�������ݿv��
,��L�M�a����4r������~��5�01��n�b������򟞡������������A���oH ������}"�7H��"����o��W���K��z��+�������������
4���� 
�g�X8�8F�W
k����ݭf���'���
B���BtLl�l�6[8�[���[8�L
��
޿�*��&���&E����ubd�/�������?j��2�5��5���_0��++�P��?L�m�����
�&��IM���-���sx�1�s�9�^ƿב�����'쿈��s-c��h��b�gdd������t�
������?}��l`k��������������+����.������ڲ�O�ezV�s
f�Ȥ��@�H�}i��B��^���
�J�����i�v��3��)�ñ>
k��T��<��B�?�
4��
����j�^׋��`�쌪���
+��%�ӝ,�P��T�$���h�O��Fi
q�]HM@(uEg��I'�OC�#ý����4�q�d<��)gD��
���F_�o�
.�n�^��.$���v"���������A���iN�k�M���#�"|$�0���L� �:�X���GDF��-)��nWu����TxoqJ��
I�;�|5uV�V
�uJ�
�,X�'a��?
�Ă��ɑ����چ���Ŷb	'����n'%�2��SP,���d(�	yo��O�Š5J�
�g���%��k�w�
�
�ӊh=���>�C�U�ޣ�
ϭL-5������"[�X���!�� WI��Ԃ�)
+��`j�175%��HK �/����
��z�3�6~��FL�ƙ��y�P(�
+<cj�4�x�x_��X��E�K`�_chQ�~Z�X��0^S��qˢ���Ѕ�uX�F�������jZ���h�9�|����5e��Wi�
��
�t����XYp�캝B@᧚Z�@G4K�'�����ʥQ�6��C�5}P>�+��x�
�'�(
2n�\8 ���+䆦��gP��V?4ԣ�L*
�=r����dV8�ڥ|�Z#�SĜ�
�T7Չ�6��Ȑ&�.rA�G?�kwsq�3�C�X�Z L��FW:UH-z��yT�
*�Jc�q������4
vdo�$���@C��0��0o��Q2�m`FPy�N���p�
��DB�y8�W��*
ldQ�b5��麚�:���G}M_m��y�0_
�45�;�w	 ��i�Vs~�8��l��z#�Vf��H	�!0���fs��Q0f��D
=3�
+	
l�.��#Ԇ0?X3��xc�r@�
v�4�곜!�)�Z� �iω!%�(3�t*�"�:|�?+�eu%Z�sm=�9Ǭ��й�Q��gS�_�O��~�K��Qmt3�:|�<�*�~Z���� ��*��L���T�i��a2"N�'c�W�u-�v�lm�/�Q9�䣮lm؞�#�����a�ĭ�SF��IuCؽ�8b��Gn54�y'���Ja�F�:3w"�s-N�O�
+����ѕ��=F$s�↿�8
�=�ˀ���'?��W]� Yfr2Y!#控gv�\�@�i��B�T���]>Vw����8+�Ս�x�
1�!>T#��)��쒝�W�0s��wcN����OD���
Q-q�J���[
rT��Ц���♍q�:_|Y�8Q'8{�Ջ��o���椗.C����7B�qH�۷��
��x6 �=p]��+�db��t�P���Q��lW%�G~��õץhn�p� 3�?��O�J*
��U��`,��ڔ������q�����SP� ��s�ړ�)����T.���Nڔ8�������.�v�`ʢHծ)jyM4���W����| �Q,ğ"�@b���s�����W��b��@\���ؔ��J ,�?5�I�,����ٚi�=U��5�ĕ�6
<F��&��y�����J5{�M��Q��9���vy��������r:QI�
9C"����B���v�l��,�h��
w���uD;��s$�T�4E�R�>�L�
�#�L

QQJf"-�8f;:���},kw8��
�n��`���؈m��K@�eR}�*Jl����)[�+b�0d�=6K� �]�l�&W�ٽA�?�+��#��<�k��W�XK�'ԟ��-�0�
�.�RTs�uL���`j���L
����Fw��-�G+�Y������5�>�?<�M7�7��ݭOwv����F�V��,��M�w $�+oQ��А�K�)j)�5c9�,"�Xs����?a��c����;��|�zN���I��XB��Co�%m��Z���!e�]uI̻��4�\jm�!�~(���!��H-�g�g�/J �	خ�(�@�Z�Vd��ﻍ�*���3�
W�~Gn�'���9�#�
�.��m@�1-rc<�Q����r4(0k�r� e0�$�n�H�]p	V��q3���v���qd_�#���0�P�ӧW��E0u.�R���Յ�[j�+���3a��]���� �J����?�[��(����=�=%�Bq����3`����e [...]
+�s�N����./�+�T��X'�;q�P���l�C��
��\�%ӎ�]*��L3��/c��UK#ZxX�-��,�s��UT�h��W�jY��x��}��Jy��1n�r#5y(O�<�eqj��i���Yn.���+J�Ǔ��f}��k�1�I{�W�<��Jݞ�I,;{���r��w(��]�[�金��0|:��8"�{��k��縸 �IHݠ�;R;C9
b
l�B9�r���
+ގ�5�&��{�������G�P��ګr��8�s#[�����v��Q��bhR��ի�NК�F�<Y�+�vS�n��m3?Zb��%J_�€ve���1>��BE�|skk�x�Ilk��A�F��&� ���)��g�܆z�Y�H����~�ubX^x�Y�DGW�� N��6���r��B����
l#հ�.� �m���I�!R�[8�/����_�[s�t��mT���R[F���Q���>nS�]i���O��La�y�U�
���t��e�t-G"
�&�$K�Z�qWR�Ϩ~&[�hi����-��� b_��H�Ðv���P��g�L犁a��pTj���=7)�hW�KL^���Ģ���ZiX�D��3��g����
��;��V�D���LR��e�B՞^��*��Z��+GH�"�1Y�]\+/	�
���o�L쯉s�3Ϯ[Ѓ)K5u�w������O��w�(r�t�B���	�F�`�i�\���N,,��|Q��%
�թ��V)�Ja��&��,�⽣�#�\{�gNUҬ���1����h������
��x��ڐ#0Wpԯ
<��@�	2m�H~�9�znq���j�o�=8Kҋ���.4H߾�%�
i�91��b��Tpi��.:�RΩ, �!n�ģЫf�I�Hx�:qm�(�|	��/f�W�
��p�E�Kt?�����f#��
�ڃ؎�:��o$�QV�����פ����f�T,�a�����d at o�e~@G"ӆ/
�25]���e�iъ{�8?�YG�
\g��p��*��@�G־�Wh���m
��I���iA��.�L��Tu��ힲ@���l�vЖ�����E��r�3n)�K������m���?#�\|5�6��	L�>�i�r�
uľ/;�D/���#�"����-��!���K�����A��y
C�jvk5�H�W�a�. at Y^\ԇ�cx>ٌ��>��*�`��5����B!OPkh at 4#�/V��u��h��]_���c5�cՄ>�v\�5ia��\iK
�N<C��1�9qP�\7T)�\��C7[9w$m���FM��\���ǫ�H-�����f�f;T�Cs����z0H?
v�m�~k���
+��,|��W4�
͵�
R���5��v�5���&tϽ�����S�.���UFiF��1"KP����Sw��$�
`5�_�?�j�"�~�q]'��@�:m��={%�|$�
+�J9�T�M��	�},���K

�xEh_�9z����-���Jt
����k��A�&>W2נ.��}z� ޶�Xg�3�V�OB'/$�����6	ה���6���tLw`Hb�G�X
���i;��>Qb��a!W���f�K�I�p��iЄ��w�wN_�2����
�[-���
+��6�'͔����0���m�+���lH������1
w�ث~�p㦽��#�ی��<�ь��8+O���4�
+��Ψ��`�&T�:���������;-��"}Ceɽ�.��A><D�2d�ʟ�}1	H��ǡ+T2n#��B�PH���I�){��HJԑ�@�9f�[�Tƺ��	ŸcidW�ݙ=��������C9 .O��㐞�
+]����
+�
�R�����}������Ʉ����0��$"9�&��
+��B&ҟ�aC}{��#�q'n�18�𪭜�C�s���3������皐�b�;�H⍒]���<��~�4��[8F����
�̱�ʊqRf�ȩ���1^���4s��&ᅬAi�[���)oH��ה�,���{���Z5,!��9;�{j�T��3���wuʟ��	��G��s���$�

G3�

+Wl�5hܼr9KVty��nr}�9����X��b
k��Y H+X���d�K�$�H��.o�e�8�
h� �H�ߤ�-c���M��S���8W��]n��掼�69?
���Tߟmr��CUn��z�
+^l��ΙJ��3�rv
`�`���v��򓬼��7�@��փ����3�Ř_vٚ]����" Q�O��y�V-p����
��ie�,)��}�L���4�iٽ���J��E(
6����r�05R���W��[VE�W�
�f���{$F����Q
���(3�xs����ߐb-Ro
��/����
2��
jA硼7�%���B�(�6a���h
5��.
+��N@�ګ�h�z��Ó��������9e�����c��A}NU�ǾRx��g�����HP�N}�p�
���5?�)sϴ��@�Ϻ��JRFK�*c؃y���w�/�욲�STZX��Ӈjw$�Qe���BT(2�=eO0Wm�|��N�T2Z��@;ѱ{�
+�g
��33�:*��}F���p����
��}�E�+
}�A� �!�`R^t]�w�c�91!��2q�+���P='0��GO?�"�Fqd�[��2���,?�Xy�~��0��8l��7//�7�Ed�ĺ��e)ad3ɽU��N�\
�r,{�p
�(��%�7�H
+��V
+ wv�%��W󨂦z~� ]R�]�1��,�2�J��3�R
u�����K�B[�L�8
+�j��c:h�rM��ݑ���l�.+*� ��B*����f?��vj$�i�i�6�j�l6[��]�os����/��N�U1���:�{‡
�.�+齷۩spX�vk�������ii*^%H�vC�cd����3wemE���?�KU��ew���3;����%�����|˄Ү]9�uc��赊=����@t�T�O0���d���w�P���;�Y
���0��d�e�`�O����Y��Bz��<���Cr��FY��]�ͤ�`.���2lϮz����g7Ft5�
�f��!���|���'�5T�Bꂇ|�	�E��"���Q	�U����*���H��o�;]�0��i�;I,�4�|q���(W3�o8���Q]>�O2J
F�� ��+q��g^�O|�aa��)���{a+��:}Χ
�;��+�!'�b����^����)��!�!�k����>�
��E�iU��
�5��.�T����@���ީ'�e�)��Nb�Ac�up�<���C��?Y���s 3���u��.�
+�1h�w[�<<�,�����EA2iK���
%�!:
�a���2�:��>
 &���hП���j��`��a�5�ȝJ`��m�^��)V�R�(�Ҿ�P���M��f~ �{��1���y{It�
�QZ*jH���n�4w�澳+=�N�UA�4���̀Q����Fn���t.\iRE)�'wP��[��Yu�䆋f�Œp
@�&M<�Y�]�rG2ػ ��@d�γW����j��EF��<�w��yV��D��/^T�ns��x�<
���ZTVaq%�Q�q4i%
U����a�xb{-ט��,'������u�NdT�-��-@�.�;�$�k O�=������$�ب���ZU��_ĉ�+�I���R��s��Ƶ�j�p=D�5�xM�GȖ[��;/�岌�g�Q�l�<xq3ZC��s�����
�
+mR���\ ��N8�_:�4�Y
ƍ  u���N/�&VD�w�‪�ȏ�d��`��M�=����~�F⃃2��0������Shpz�tF,T��H�9����1�*�(����`BZ���@-��z^�b�
����5�"P{�#2E
y7�F����W�N��(P��m*�U��<x#MXI_���>|j&���vӶ�����B�B��L�y`.hNtDl
G_�%�T�ˡs��Ν�ڱ.����ļ:(a|��3��/�c{�B��������b*��բ����"�{�)
��;I�|���k�S�
+��}>`��B+
,���9Γ
-�m�
�(ŽB�y�$�%�7�wz4�
t�l�X!w�<�	NTsR���GI0c"
��:�5���ɝ�H/��́
N>֧n�3��_�Pԛ6N� �vu���]�t��#�
+�M
8��%k?���Cvb��̓�Ź�Ɋ_4ߔ����z�ib"�U����i�=��<[1�i=��	Oz�4���8��^#�y�����&�5�3w��c7M`���}�PRa���\�W����
�~M|Աk��7�?~9���óm�)H[�^K��
�7�“��OF(�)����� F�Y�'�D���@��T�+L�
ai���)$���H-��r��
9rp��^��
���@�>�޶@")���<�7U��[p�h�@c�~�,�ޣ?�Q8���&��sc��Tr���mq^
j�[�N5��ث�ڍ�%·;{�o$�����
�\��N��\��");���t�lE�X*�3I
~w3
�D�[0�ם��!�I�l���!��ZN��
%A�!
+��"F#����A�����B	f����
D�
@��lV�����䋻0�)`�t�jg�J�=,�u��.ǭ�JY��(��]�T������������h3�~F��!��8��j8Ш��uK����6�H���P���<J�m��:�?6U}�zk0���#"�C�i�eoa+���&���XpU�|��W!`�٭�P(vt�'�
�|�!��&
+̒J���U!�P�a�TjS���̨�p����
o�{���iA
��C��
p�ޟ��8�T���_����fq�+��8�R3"��z�'��7MSi>���gTb�9���2���֞��W��0m)�Pj�t�a�L����TA�f�&<������� ��G�ں�~�L�S:n��O��|�˟�<w>T��WB�gW�h<4�Ԗz�+i"ٌ����z;ӥ���e�)aޣEc�����_W��[��r��J1
+��Vѯ2�^+&WY�n4��
����#ix�%��^�1���{҅���"�Y��v-N�
�F!R���[��ڈ���?W�ҐN�
΂��Z:AH�U��T�;x�=l��"���b
�-��sL
F"���w���/�!�gD�����d�<�[����
���p�fq͓��������7���.zza�
����^�*��v�`:�R��r�y��^�ݡ~����`S[�%��wQ�R�&�������o�y����Y��X�D�_�a
��>�1�
��&lr�)#�%�7�.`�
{�8�@��*b�,���t���Z]��I_ڂQ�H��h�
Q�g
��>�~"Y_VgX<
�,�
|P�"�ߑ����@:]�Q�F�`�W��Zp��QoWéG�N*X.�WJo��J.����I~�ތ�2�O.�*�DD+�8����sŒ�c�.����_�"X�&4t0�
���Qּ���
s �
+F���/<l�6�e����hMv0�X�����pJԤ�h/���@�3|뽊�y�p�����{l��тm �+u�!U�R�6�_
O|BKA��vUA���<]�j��y�$�C��=Y��C�7,&���R��j-��
*�i��W
QǼ@�q:f���%�n�4R��5�u
�$�X��c6h��R������
K����襽5��#{�/��~R��pP ��\�+�O@�a��w�
,�I
�.�EMeɯ-ø05U�|9�\x�$m���_2>��vń.i��$f���.���D|������[��
��BU��2�������\a��}�������z�p
�}&`�Mtع�;n����(��?P�M}��,4��5�3�	Qm},DG0���Ւ.�D��k��_Ej�
Y�`#�S��
�����
+�����Әȓ��w����S,���\�売�d�
�,�Ӄ
S��:�@��1Ͼm.N݀���~[����R�*�Iz��S��?@��3�'mf�c*DjԞ@�%'
�� �r��Y��I���3(N	�}z?���(e�\�ٙsF?�a+F�@0\���J�7�
����Cz���|�W�e�����eص���TDä
}� ���n�WN��ݾ-��������T������R
��=*`�m^����rQY��6TB��
іt��>�<rl�ٮ&V�p�Mf2ʜ�'H���v~k��rG�1M>R��L
���8)+���9��
(3FU����O��>��ʛ�_e>0>�2��kw��f�5_
�8zy�Ѿ�����vK���z�z��HO�o� ��5�}�Z�z�v} \7��x�
+![2���@Ћ�Y��r�K�|���[@��V�?su��O����a�j����r�Ћ��{�+v{�.�����
|h�<h�-;�klg9P����tI�u�Rʩ��T�4e��OM�Rcǁ�����f�T��#�� �(
m��8
-`Զ��{#��rjD"u��Y�	Ѩ�;
+�4�g�k
ޏ����_5�
+{��#O�
�UM�rr
+��z;wԴ_}Pl1,���H�ċ3'�W�0�V �
k	̟k��K��PF}6�1j�*��X��\$�e6x��0�8>�מ2t�����D}���߾V��U��K
����O@��+��]
���w�g�R�g�Mggq���B�O�/��q��j��6���g���l泿ԥ
ɡ�8:��������Eg��RP�-w/.�K����V����ʽ�S�M�땊��ҡ���M��jG6��M��z�/�u�ʡJ�\�ݍ�5P�Aw�cI=e�XWD+b�a܄@j�M�����4-Br��D�o!��0p꼷�
ܱ)�z)��j!���[�DlO��!��!-Fy�^��1py7?�]�
�)�'�
+��8��4qm�
Y"c]rߴ��AE�F#�Ə�R�[�lŜt����Wdvz������&����zI�[/�Q���8�~�'��.�
e�eD��]��w�ʋ^BsX\Q���G�hMK[Ѯ\�H����h�!�gv�

Q����&
v_l��lɭ
'Ƹ�޴�9���@�R��Lt�tT�ikI�s��N�u�v����cB�
���<t���G�b�
+�jPY?g(�$Y�C��
nc�u�zP���/Gd��H���� ���Ngo�ӆ��j3
�2̈́�4�hx�G���;��8T�p����.l2ܐ�(��)�2��N����"�o�T)`�lu�HӀ2�H�sdk�8�}�
epq0��9�"?b53�������f?���z�����	���#��K^�R��
Z
�M�:�b�l��k�˂y"�id{9ww��<A��z�S����x��0r˰�xyU��Ͱ)�:
i�+ZG�L
�@�����ʎ�!����;MU!� ګ�T�;��ڭ5�_ԭ�?���%�+�]�5�ιL���.�
Ns䓊�4��& ,�4�vEp�����ɠ�zܶZ
fZE٤{�ΕՠWd
+�O�Ngȉ�o@�*e��n�N��̄����V�|5�#,�G	�/+,�%�P�u�t�c�E��]pDV� �Z�%�!p�?b�6
;t���F�	��v�
���w騫Jo&���0�Ҏ[?�I�[ɀ#җ��3��x;JЩ-.ܫ��Z�
d�:`Q�h�zH�~�̲��
+m�ٷ0��Z�1�I�w$�UUMd��!�ՆPm��c�?�����;�P+������
<w�N�����Cɂ��*�������0��VI[�
���Z���@�d
^4a#��lY
]W	��J�q͗5��C��;j��2\�-�#�O����h� L����V��d�ޗ�����?���C�B5�j�����7řO`�z+�)��$�x\E���W-�v)aڊ��Ub����2��Ͽ��ʏE�itf� ��|\a��̕P�x6��<bH#hF2
nوS資��L�BA���/�\?�j�Əy�0�Ԣ#6yNYFR��Dh|�w�R ?ФHנ�2!�����I���
c�`��ouh���M��f��>Si|������K}�<�{J�4Q�
����_
��R��A��zo0]!o�]r���3�W=]��$= ,��o͝�%� i")�
Ex�2?(d�d"zN��nzC@�z�S�=R3�wL����ȭ̑H������/I����;��F�h����[�[�h˅���99u��X�s�4�����rV��S|&t�aj�&�Uf
m)�K7"
�����De>���yǸ�ph�eN@ܑ��o�(!l�69��	|7cJ��~హ�K�\?`�qtԴ�5��b$����L��-�Ϥ�k�^&��\5�U��H:
�ơ0��Db�^
�Vh}�4~�{�
���;��"^i$™UזJ�
ړ�?�;)��?�Ԙ�����$�	�z�q���>+���	�C�қ��
�_zj�1�#{�����HN&���`����]i��
��)��M��+��{J�B[�b����w�iہ
�
+��2i
ZP��w���6�1T->A�wÜ"8��1�~���͒9�tD�0mWn± [�FC�A}�k4D��'��W5�����F����E3���p��-ARW@�?o�nO��b�id���I���<؏��tPX���id7�/��A�[���Y�A�7L���:�2�=�D��
!��;,|I0oeT�dD~KA�3
f:�7�h��dz|}�U����k��J���B^��6�,��M#���A�-���r��|9ލ	k1�ǘn at l޸=�LI	2�]w���?�wc��D�R�B@�
��cAi���d
+;�KWj�W��81F�Fr�����F�R6����5��$�x�/�m�sׄ:N�+����m]�N-�13�
�r_3�5�e�� B�n}�S�̻t�Q����s�
�==�t���݈�Hƃ/�'��*?R���
�}�x�M
�	���]�4ڗ)��|�i�i�,\��_�]3��`v
XY֧�m����Z��
>Rq��\��t.y8V�X��[��!]���n�g��ˠ(���oc����b�< �Mh?=�����hvY�(�*!�쁓a��v�yp��ϼá��$��e�
��DV�FCt�2�
��5q�m�F�#��ص�#v�-WLv+.��8���xPk�r����)"����ca��g�h����$�z�i���U�Ǚ��C�uE^xZ��JgǬ����-�H������k�`��4��kMY*�M#?W��/
����Ά(�\QRϽ���P���z��sϗ
+���p	�l,�
�JWWy��F�d'<�w�@��_	��(��e������)v>�EJAqM?�,u$�H���#�)C�5
���<{
gɦ����|�7�޶�
;R8�&�< �;=�a
Լ z������B������ :	�4)!�F��%?�%��ަkM��iL.��Z6��q����̪��s���@����fT��o���%)sŁ�������=�
!��I���o�z5U57�����K����j7��Vx����~�T"a�J��
e��Qr'���49ю���#�z�X��.��Z0�/
s�>g������O]j��i\
�G�;��H�r��|�G����$�I,�\��UpR�m�n��tiîA�Ka�&��qK|Jm���a�uC���s��#��YY�
X�j,�B�J��
+ʷmW�(�֪5�h������wT�:����V�Ō\zا�#�`��x��L��H�_yJ 	�U��
��x�1�oaD��
%* ��K�P�q��R�՘cn�<�:�6�r$�ܓz����,\�d£����E�s�{��o��P��
�I\Ɖk��h|��:��%��E�9�D
�\�_���d{�w
�fI�	")l�t�
+[�-�{���kT��V��|�C��3$��$W�C�V�F+�X��
�ךK])��,����U�����3E�����D
+��l>Ge�q�s�MXK
+�qb<��z�Kp�
+���
+�ި�h2����E"�b���
T���Ǝ2�A�O�����d���V�������/‚�9������S���/B
�ѽL�$� +�y���ރR\����2
+d�g�D�<�t��
ͥH����]{J�7A��C�AB8�Ա��8m$r�N�ͳ�l��Кs��C����
+Q!B�Wk�F�6�
�%�����Oi롨K��_�Ξ�$_��b|
+��_X�h�pM#;"
�՟vCw��oð�P�y�Lz
��c�j� `���

���4����a��2>�=�7�B��F/���ib�9E|�.�0�8
4��bԆ�9],�����:�Ny� &W⭿��^�dWbP4��~:�mzΝ���$e�i��!�a���"�WihN4c�d���9.s��U�,E�j���>Ĉ�\,S�b�g
g/��d0� �'~6Oa�[���!�i�r���h^�$v;�τ`L�_|��,��W�]�8�Ǝ�Z�m���=����e/Bv�K"'�n��`V:�ܷ<]�V���a�#e�V������r�q�2Vv<�~O�l<��d+����t*�D�-@�D�H!aj̶歛e{��H�Q�]�,t����	��;97D��نd�D�����Rۄ-�~X�9��da�X
�ΰS�i�����{
+}�x�C�J��¬蜏#
��[Nv͚�,��ct囌37]å�ҫ1
+��!�"�8[��x��y�}Do0� h^�!��ޚ���
��bK�o��4JL���k����ڗ!;a�v���&0���M����t��/��È"�Z�^5
��
<�����Ƀ�	[

)rذ�eݸ�'��x�w
+�
+a l��%l,�������x1P���ke���k�5a ?)�j
+�M�[��k�H>
�߯� q���ږ����_,��v�����R�NY�
RM��S��Qlc�P/n̾<B^�[tM��	���L���d&y�\N�V�6m���|�!U�7���X��	��d����w���.Le4VXw� �npU����$��iF���	�A V<���`��V�w���:ϼY
0�Ii�����	�]5��+��_��M�!����l �
�(U�V��
	&�)�]
+�Od '�`p\+���Zo�r�����ٿ���v�mL���*4jM�nf��GWw��f�ub��Y���r.c��ƍ§Q��܇��
H�C�����clԝ
��p�QP�bRbCINt@?c�^s ij���m�9�i�X`�`E8h�����V%	C
�u�հ���	a��.D+E�J᎙��ݨ���	?n]������h*��Jx�
�\M\�gx�
�
.>��->�DңmҲ����Y
���5ԩ͉x�lE���&�� ����^�7d���*��)`����6�]����.A�.��F�
q��'
"P��D�s|�c|���h�P(���to^Gz�	�1��)E"0�1��N��S�>�x<�!�#
P��ꍻnOI��
V��"uj6a�3��ԋnGN�x�b3+VV�դO�q �����y�{p�6}[��ݿ�����4#�����t��a�@׊�-bƒ��ˑ�JK
�F젻

a��� �>ė�1���:�����r�=Q��+���7�ږ���TT/1�n8���, c
ч��:����v�ۖ�Ji���>���T
�uһS���QȜZj�-;Nh��������g;H�};n4 ���Ь1��d���<��>]�a�mM
+�D
(�-{vk��M�����,���U�{s��
M��C;�\��Ɵg'�S���>k�x�9���q���۫���X/���`3�gl�X ݬ�>l���qe��j���q/�����F1����G|B@#�5���le�,<>��N�'��O��~]_3#)���/������O��I�dW�%mw�R��&�eM�⏵�B2��י&9U�it�@�"1�\k{a9��c2��<�U�����i��
,Uz���
�3ܥ9��bS+�	�ش�&{s��x��8��QĐ
+�_�Z�x����
�ލ�e�ɣ��j`/�4�M�׼P�2U�<�*��D���<a�RX�?�e��K���[�$���n���3F����dD�<UC��o�H�gD�	���JG�,T�46�����M��
�y�2�Jm�g&
�<���/��6��烑\c��G1~���ng����>1�
lߨC�*��;M� [��Tw���Y%�J�T�/���fpʻ4�^7�K�����
(������#Us��߬�e@�ב��"�����^>t�8��
+�E�){�ۃ�=ȹ��ӂr^E�l�:K4�α��*	�����A�ۗ�O���1�����8K���T
M����O`G@�~�}�:[U
�j��PTf
+f��IkP1��*�wfؘ��jK��D�e�/�a�(�,
�=+u��%=�w!ٷk��*?�f4;K�ɋ��7�n$w��o
S�1j����\�$aւ�2t�:O��h�9RM�Gμ �T��c%
�<�Jw�&s��]-s���R��vZD��^�b�G,���
U��u ��jO}4ƨ>�V�Go+��B�����ڲ�4n���jXä���
n �QZ��:
DG
 �h"�Lk�i��T!lS�H\IƟ���
�2���')����A�pRmrx_0�cxu�A�"K��
k�A��٥�B�+��qZkWǂ�= �/C5�<�������ԡ����c�K�0��#�s�[�I ��vc��1��3~� }�	�5�4��Q����f��C� >��
�k����)�]�ӟ��+B�T\/��Q9׋�ʁ��`Uż��)�����~s��ۥّ���6Xz-̠�3���4/����!�ϕ
O��]�hj���}2���؃�}�
�����:>�R���nn�*>�����D:Dy�6(0̂2lm5^b z݇�~@�n�ρY_��d�y�
��o9D�6}{�0YY�#�����#u��C�q�q`�];%j�&�������[c8l��ȁ���f�<�^
FmOj�V��cK.�*3��0��n�uP}�j��>�Ր���G�Q�L�px�sg3�V�`��
���+c*�r��
Z?��}w�$V�-b%��a�8���B��(]�
+���j�<�k.��Pk�^�LU��#�LC�Vb�א%4�����߉/�ˈ�9�L^��?!��S��]7bR�P=��~��@�Җw3O
ϴ}�2n���v��[:R�
��ܘ5D���I��
����ș_�ϒlbT��'�
k�Y\�%��Y`݈{d�(�~�%��ƀ�~�|Ɂ�).�?�}�z��(��k&Ow��m��$R�_��k�Yz�Q8��g�!�C,ːrV�4i��v80����;�1ߍ��%2��Kܖ��w$e��u�Y��~�2��|
�jȴiYqo���#$h&B|��[O�;^
6kw�Ob��vJUP��҃��A�p�'y=�W��@��Ս���
���w���|�| ������@��Q"��E۲��Tb�o3��M
dKr��
龄pu�+/����۔y��I���Gz������?t��C��ś{bA��-��V�����ڰ��{t��G(��v�� k�Yt|�8�6��%K�O�t�
X���
��+l

==�HK��+�� $�-:�0�
�@�V��c�����Yo�B�麗)�K��z�+S�3��l�V�‘�<
+nN�6i����}�!7�ָfm
��o���nD�v���2:A2��g�	���?���}��AA�QhZ��ڣ�|`��� KeA�](���Q�ϐ����AF��d/�$%q�m%g�F��"��.����O��P�3��Ľ�up�ٸJ-Q3�щ�i9�8;��7O|>k�1_$�$��DQ�$��H`�:F0�@�*ѡ��Bf~y�+&��|�
�uT
���Zh
+���a�D\4�eMBMşq��mRc̫
�U�I��b�KiU���"���D�/�]tD�ў�)��狏�����,�R
 �P�
"�÷���S���ǚ�X��ҹ:�ul,��9$(�76�`�(8���W[ӽ$`��
��9(>�N����ˋ����f�˺N	ym�����P(U(��h?�{٦ >��,-����Ǵ6~�y}��o�q�� BM�Ma�6��5��T�	��G����L�AO��
+ �$�o��ퟂ��tg���p�:��u.�F��8<�-�l�|&��qn� �a4���Ν�A��22#&=_;3p�|��`�����Z�S�a�1�6uA6<��:?A[�
�Xw�`��q-=�UD v� }ʟъ��h��0
+)+gZ�-���?I�t�8�:j,��ΡiB�B��'*z
�Ѝ��0L���wJ�m��n96C�y��ݱµ�4�΅��V���6S�MN-��N�
�����"vN]�dw�aB�rlM�_L����ʐ
����Js��M	�>�Ɯ��Z���
e��]��y�S�B#Jy�Ε]��A�;Ӯ�K��W0����n
�Q_�zX4O�{����VB�=�q�+�=�Uy�k�\��L<�
+��,a���m
��-�^���9e��2��-0hK�B�-P�W�M�|O�P! �d^ip��F"-+ͺ�
��rQh�%q^y W���7�Bd���
����k�w�J��
'
��t�6�-���tC�����\l�p��U���
+��+��=��_��C�H�
+q��
�G+.�B>�2�
�i�
�#V�6��g�(��Ѓ	�Y�u`.uh�.j:���ƫ5���8��j at lL��z�2����-������
ƶ��bP�{[�
�_�͊�U!�ӟ_|�7��-c�H���vg?6~�4B��Zs}�QT�l׫���.(��m8���'��eB#7
)k��,��%�
q�Ȥ
�s3w�
�~8���1W���N
D
|lp𚧝Kv�_�
>I���΀��O����4z��#ǢZ2�B�����B��i��(�E������
+̈́N3g�Mkf���J�5t	���oT�m�4e��:璣�_J{��kG��ڐ��ʸ
�v��$2��Ί�
�(K
 ����(�L��c��g��׌��j=�0/侮��\�rt�:����������]�ӭ����
+<:�+#zg\f� ��s��If�
���e�+fc4������G�V�7k�?5���T=Ӕ�檾�F�B�xI�*{=<L��ؽ�	��:�r������'
Ui�
\�����oNQ��>fޕW�bU�J�<���z��������b����2�F�1�º�#
;,*@�eY��ӹZ�}-�qu�����=�Ɂ�J�A�.]a�y���B4�Ŀ�[�-����
ʽ�>>-@
J�K0������an7��_d��˼�ܤ�ۼ���˒�.gV���%��h�0�\@����
+Jg�g�Z�y
��N�?f�|����L
�lf��:�CȢ��
���;o���OJM�!���TX�Խz"���~�5A���wfp+���,��i3s9�B�6$ʗ�,�(KF��Q�k<�2����)'� ˱�]��UW�	`�N�yO#�B\'��T3e��}M/ N���2��r	�0˻��_,�
+��_�
�Ə��8
nF��h�L���$���aߍ7=�ZQN�8;
|�x}T�	ȸ�)0��X�<�����j,dq_o{�]@x_���
�ϥ$ȳt��jC���O��iԨ��7}�6f�΄{��Y.A��ET��/�`a�,S�^O$F~�QP3,3Xd�/Զ��M|�W>/�
v_���Q'*�����\NX*�"�$Gf������*���
+endstream
+endobj
+20039 0 obj <<
+/Type /FontDescriptor
+/FontName /EFTTGV+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/Y/Z/a/agrave/ampersand/b/backslash/bracketleft/bracketright/c/colon/comma/d/e/eacute/eight/equal/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 20038 0 R
+>> endobj
+19937 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/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/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/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/braceleft/bar/braceright 147/quotedblleft/quotedblright/bullet/endash/emdash 1 [...]
+>> endobj
+863 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TQEGZP+CMBX10
+/FontDescriptor 19967 0 R
+/FirstChar 48
+/LastChar 102
+/Widths 19947 0 R
+>> endobj
+5346 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XLOABE+CMBX7
+/FontDescriptor 19969 0 R
+/FirstChar 102
+/LastChar 102
+/Widths 19929 0 R
+>> endobj
+833 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XGUGIB+CMEX10
+/FontDescriptor 19971 0 R
+/FirstChar 0
+/LastChar 111
+/Widths 19951 0 R
+>> endobj
+613 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EERJVP+CMMI10
+/FontDescriptor 19973 0 R
+/FirstChar 11
+/LastChar 125
+/Widths 19958 0 R
+>> endobj
+2996 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 19975 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 19936 0 R
+>> endobj
+879 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WNXLJT+CMMI5
+/FontDescriptor 19977 0 R
+/FirstChar 68
+/LastChar 110
+/Widths 19946 0 R
+>> endobj
+765 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /AXPGTH+CMMI7
+/FontDescriptor 19979 0 R
+/FirstChar 26
+/LastChar 119
+/Widths 19954 0 R
+>> endobj
+2320 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZRLUIR+CMMI8
+/FontDescriptor 19981 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 19939 0 R
+>> endobj
+3037 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KGNDHW+CMMI9
+/FontDescriptor 19983 0 R
+/FirstChar 15
+/LastChar 121
+/Widths 19934 0 R
+>> endobj
+862 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NAIRUZ+CMMIB10
+/FontDescriptor 19985 0 R
+/FirstChar 11
+/LastChar 120
+/Widths 19948 0 R
+>> endobj
+1082 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UQOYSR+CMMIB7
+/FontDescriptor 19987 0 R
+/FirstChar 112
+/LastChar 112
+/Widths 19943 0 R
+>> endobj
+794 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CPXVZD+CMR10
+/FontDescriptor 19989 0 R
+/FirstChar 1
+/LastChar 120
+/Widths 19953 0 R
+>> endobj
+861 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LYFRJR+CMR5
+/FontDescriptor 19991 0 R
+/FirstChar 43
+/LastChar 80
+/Widths 19949 0 R
+>> endobj
+3426 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YPFGSD+CMR6
+/FontDescriptor 19993 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 19931 0 R
+>> endobj
+795 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SWADHT+CMR7
+/FontDescriptor 19995 0 R
+/FirstChar 35
+/LastChar 120
+/Widths 19952 0 R
+>> endobj
+3179 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SRQDSN+CMR9
+/FontDescriptor 19997 0 R
+/FirstChar 12
+/LastChar 118
+/Widths 19932 0 R
+>> endobj
+529 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GXJSMI+CMSY10
+/FontDescriptor 19999 0 R
+/FirstChar 0
+/LastChar 114
+/Widths 19964 0 R
+>> endobj
+939 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TPJSSH+CMSY5
+/FontDescriptor 20001 0 R
+/FirstChar 0
+/LastChar 96
+/Widths 19944 0 R
+>> endobj
+531 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TOOBUT+CMSY6
+/FontDescriptor 20003 0 R
+/FirstChar 3
+/LastChar 123
+/Widths 19962 0 R
+>> endobj
+834 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RWFLWS+CMSY7
+/FontDescriptor 20005 0 R
+/FirstChar 0
+/LastChar 110
+/Widths 19950 0 R
+>> endobj
+530 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DFVRAV+CMSY8
+/FontDescriptor 20007 0 R
+/FirstChar 120
+/LastChar 123
+/Widths 19963 0 R
+>> endobj
+3032 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JZUNZD+CMSY9
+/FontDescriptor 20009 0 R
+/FirstChar 0
+/LastChar 21
+/Widths 19935 0 R
+>> endobj
+15654 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KNYRWO+CMTI10
+/FontDescriptor 20011 0 R
+/FirstChar 112
+/LastChar 115
+/Widths 19928 0 R
+>> endobj
+4003 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BKKFBC+CMTT10
+/FontDescriptor 20013 0 R
+/FirstChar 101
+/LastChar 121
+/Widths 19930 0 R
+>> endobj
+3070 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SIAPJE+CMTT8
+/FontDescriptor 20015 0 R
+/FirstChar 100
+/LastChar 120
+/Widths 19933 0 R
+>> endobj
+938 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TVEUDK+MSAM10
+/FontDescriptor 20017 0 R
+/FirstChar 1
+/LastChar 26
+/Widths 19945 0 R
+>> endobj
+764 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UDLXQN+MSBM10
+/FontDescriptor 20019 0 R
+/FirstChar 63
+/LastChar 90
+/Widths 19955 0 R
+>> endobj
+554 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EOLHYO+NimbusMonL-Regu
+/FontDescriptor 20023 0 R
+/FirstChar 33
+/LastChar 125
+/Widths 19959 0 R
+/Encoding 19937 0 R
+>> endobj
+1507 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WITXSS+NimbusMonL-ReguObli
+/FontDescriptor 20025 0 R
+/FirstChar 39
+/LastChar 122
+/Widths 19941 0 R
+/Encoding 19937 0 R
+>> endobj
+758 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BVTPQN+NimbusSanL-BoldCond
+/FontDescriptor 20027 0 R
+/FirstChar 2
+/LastChar 148
+/Widths 19957 0 R
+/Encoding 19937 0 R
+>> endobj
+2446 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JNUSOP+NimbusSanL-BoldCondItal
+/FontDescriptor 20029 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 19938 0 R
+/Encoding 19937 0 R
+>> endobj
+528 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /FICHDP+NimbusSanL-Regu
+/FontDescriptor 20031 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 19965 0 R
+/Encoding 19937 0 R
+>> endobj
+552 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /URKSXV+NimbusRomNo9L-Medi
+/FontDescriptor 20033 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 19960 0 R
+/Encoding 19937 0 R
+>> endobj
+1773 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SBCPHW+NimbusRomNo9L-MediItal
+/FontDescriptor 20035 0 R
+/FirstChar 49
+/LastChar 121
+/Widths 19940 0 R
+/Encoding 19937 0 R
+>> endobj
+532 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DODIPJ+NimbusRomNo9L-Regu
+/FontDescriptor 20037 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 19961 0 R
+/Encoding 19937 0 R
+>> endobj
+763 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EFTTGV+NimbusRomNo9L-ReguItal
+/FontDescriptor 20039 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 19956 0 R
+/Encoding 19937 0 R
+>> endobj
+1248 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /FBUTUG+stmary10
+/FontDescriptor 20021 0 R
+/FirstChar 27
+/LastChar 122
+/Widths 19942 0 R
+>> endobj
+533 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [522 0 R 537 0 R 549 0 R 562 0 R 610 0 R 657 0 R]
+>> endobj
+734 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [721 0 R 741 0 R 756 0 R 778 0 R 792 0 R 802 0 R]
+>> endobj
+820 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [813 0 R 825 0 R 843 0 R 858 0 R 871 0 R 885 0 R]
+>> endobj
+903 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [897 0 R 906 0 R 919 0 R 933 0 R 951 0 R 959 0 R]
+>> endobj
+982 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [972 0 R 990 0 R 1011 0 R 1028 0 R 1046 0 R 1063 0 R]
+>> endobj
+1092 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20040 0 R
+/Kids [1078 0 R 1098 0 R 1110 0 R 1123 0 R 1138 0 R 1157 0 R]
+>> endobj
+1201 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1185 0 R 1220 0 R 1245 0 R 1255 0 R 1267 0 R 1283 0 R]
+>> endobj
+1324 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1309 0 R 1337 0 R 1356 0 R 1374 0 R 1395 0 R 1418 0 R]
+>> endobj
+1445 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1438 0 R 1448 0 R 1456 0 R 1464 0 R 1471 0 R 1477 0 R]
+>> endobj
+1489 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1483 0 R 1492 0 R 1500 0 R 1513 0 R 1519 0 R 1524 0 R]
+>> endobj
+1532 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1529 0 R 1535 0 R 1542 0 R 1572 0 R 1607 0 R 1639 0 R]
+>> endobj
+1672 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20041 0 R
+/Kids [1669 0 R 1712 0 R 1769 0 R 1829 0 R 1887 0 R 1942 0 R]
+>> endobj
+1991 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [1984 0 R 2024 0 R 2051 0 R 2107 0 R 2211 0 R 2313 0 R]
+>> endobj
+2381 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [2372 0 R 2391 0 R 2406 0 R 2415 0 R 2426 0 R 2438 0 R]
+>> endobj
+2473 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [2451 0 R 2478 0 R 2488 0 R 2499 0 R 2511 0 R 2522 0 R]
+>> endobj
+2538 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [2531 0 R 2557 0 R 2587 0 R 2618 0 R 2655 0 R 2747 0 R]
+>> endobj
+2827 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [2810 0 R 2885 0 R 2934 0 R 2948 0 R 2964 0 R 2980 0 R]
+>> endobj
+2999 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20042 0 R
+/Kids [2992 0 R 3024 0 R 3061 0 R 3091 0 R 3168 0 R 3246 0 R]
+>> endobj
+3328 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [3325 0 R 3423 0 R 3498 0 R 3568 0 R 3658 0 R 3691 0 R]
+>> endobj
+3707 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [3698 0 R 3710 0 R 3724 0 R 3736 0 R 3751 0 R 3765 0 R]
+>> endobj
+3794 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [3779 0 R 3797 0 R 3812 0 R 3829 0 R 3848 0 R 3862 0 R]
+>> endobj
+3891 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [3880 0 R 3897 0 R 3913 0 R 3928 0 R 3945 0 R 3959 0 R]
+>> endobj
+3991 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [3979 0 R 3998 0 R 4013 0 R 4034 0 R 4054 0 R 4067 0 R]
+>> endobj
+4088 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20043 0 R
+/Kids [4080 0 R 4091 0 R 4103 0 R 4129 0 R 4152 0 R 4222 0 R]
+>> endobj
+4320 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [4304 0 R 4390 0 R 4481 0 R 4549 0 R 4617 0 R 4706 0 R]
+>> endobj
+4741 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [4731 0 R 4746 0 R 4760 0 R 4773 0 R 4789 0 R 4803 0 R]
+>> endobj
+4830 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [4817 0 R 4834 0 R 4849 0 R 4865 0 R 4884 0 R 4901 0 R]
+>> endobj
+4929 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [4919 0 R 4935 0 R 4950 0 R 4968 0 R 4983 0 R 4999 0 R]
+>> endobj
+5024 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [5014 0 R 5033 0 R 5051 0 R 5064 0 R 5074 0 R 5088 0 R]
+>> endobj
+5109 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20044 0 R
+/Kids [5097 0 R 5123 0 R 5190 0 R 5216 0 R 5229 0 R 5244 0 R]
+>> endobj
+5270 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [5259 0 R 5293 0 R 5325 0 R 5343 0 R 5374 0 R 5432 0 R]
+>> endobj
+5511 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [5488 0 R 5543 0 R 5585 0 R 5647 0 R 5711 0 R 5751 0 R]
+>> endobj
+5778 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [5775 0 R 5802 0 R 5811 0 R 5829 0 R 5845 0 R 5859 0 R]
+>> endobj
+5884 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [5875 0 R 5887 0 R 5892 0 R 5918 0 R 5940 0 R 5988 0 R]
+>> endobj
+6013 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [6007 0 R 6020 0 R 6032 0 R 6042 0 R 6053 0 R 6080 0 R]
+>> endobj
+6123 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20045 0 R
+/Kids [6107 0 R 6164 0 R 6243 0 R 6332 0 R 6364 0 R 6379 0 R]
+>> endobj
+6407 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [6395 0 R 6410 0 R 6423 0 R 6469 0 R 6529 0 R 6590 0 R]
+>> endobj
+6622 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [6615 0 R 6626 0 R 6640 0 R 6657 0 R 6705 0 R 6732 0 R]
+>> endobj
+6761 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [6748 0 R 6771 0 R 6787 0 R 6829 0 R 6850 0 R 6874 0 R]
+>> endobj
+6934 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [6917 0 R 6949 0 R 6991 0 R 7016 0 R 7056 0 R 7094 0 R]
+>> endobj
+7124 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [7115 0 R 7178 0 R 7243 0 R 7338 0 R 7466 0 R 7497 0 R]
+>> endobj
+7519 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20046 0 R
+/Kids [7510 0 R 7524 0 R 7540 0 R 7554 0 R 7572 0 R 7593 0 R]
+>> endobj
+7668 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [7649 0 R 7704 0 R 7729 0 R 7757 0 R 7783 0 R 7821 0 R]
+>> endobj
+7893 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [7878 0 R 7902 0 R 7947 0 R 7976 0 R 7993 0 R 8032 0 R]
+>> endobj
+8076 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [8063 0 R 8085 0 R 8099 0 R 8120 0 R 8163 0 R 8213 0 R]
+>> endobj
+8248 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [8237 0 R 8253 0 R 8260 0 R 8295 0 R 8323 0 R 8355 0 R]
+>> endobj
+8384 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [8376 0 R 8396 0 R 8428 0 R 8491 0 R 8579 0 R 8681 0 R]
+>> endobj
+8795 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20047 0 R
+/Kids [8788 0 R 8841 0 R 8882 0 R 8901 0 R 8912 0 R 8930 0 R]
+>> endobj
+8962 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [8948 0 R 8966 0 R 8978 0 R 8986 0 R 8994 0 R 9035 0 R]
+>> endobj
+9112 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [9088 0 R 9128 0 R 9142 0 R 9171 0 R 9223 0 R 9265 0 R]
+>> endobj
+9300 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [9287 0 R 9355 0 R 9431 0 R 9509 0 R 9609 0 R 9683 0 R]
+>> endobj
+9751 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [9737 0 R 9764 0 R 9778 0 R 9786 0 R 9791 0 R 9804 0 R]
+>> endobj
+9831 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [9819 0 R 9834 0 R 9849 0 R 9867 0 R 9881 0 R 9894 0 R]
+>> endobj
+9921 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20048 0 R
+/Kids [9909 0 R 9924 0 R 9939 0 R 9959 0 R 9980 0 R 9996 0 R]
+>> endobj
+10023 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10011 0 R 10033 0 R 10049 0 R 10067 0 R 10087 0 R 10109 0 R]
+>> endobj
+10137 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10128 0 R 10145 0 R 10177 0 R 10231 0 R 10292 0 R 10379 0 R]
+>> endobj
+10495 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10481 0 R 10530 0 R 10549 0 R 10560 0 R 10579 0 R 10598 0 R]
+>> endobj
+10631 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10614 0 R 10679 0 R 10743 0 R 10773 0 R 10785 0 R 10805 0 R]
+>> endobj
+10838 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10829 0 R 10846 0 R 10867 0 R 10890 0 R 10917 0 R 10945 0 R]
+>> endobj
+10971 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20049 0 R
+/Kids [10963 0 R 10975 0 R 11016 0 R 11040 0 R 11056 0 R 11073 0 R]
+>> endobj
+11116 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [11109 0 R 11192 0 R 11262 0 R 11376 0 R 11521 0 R 11557 0 R]
+>> endobj
+11579 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [11567 0 R 11585 0 R 11599 0 R 11612 0 R 11625 0 R 11645 0 R]
+>> endobj
+11680 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [11663 0 R 11683 0 R 11723 0 R 11787 0 R 11864 0 R 11950 0 R]
+>> endobj
+12026 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [12021 0 R 12037 0 R 12050 0 R 12059 0 R 12075 0 R 12092 0 R]
+>> endobj
+12131 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [12110 0 R 12143 0 R 12218 0 R 12281 0 R 12315 0 R 12328 0 R]
+>> endobj
+12354 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20050 0 R
+/Kids [12342 0 R 12358 0 R 12373 0 R 12388 0 R 12430 0 R 12456 0 R]
+>> endobj
+12482 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [12473 0 R 12494 0 R 12563 0 R 12592 0 R 12606 0 R 12621 0 R]
+>> endobj
+12645 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [12635 0 R 12656 0 R 12722 0 R 12806 0 R 12885 0 R 12978 0 R]
+>> endobj
+13062 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [13056 0 R 13122 0 R 13213 0 R 13242 0 R 13254 0 R 13263 0 R]
+>> endobj
+13288 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [13276 0 R 13291 0 R 13306 0 R 13323 0 R 13336 0 R 13348 0 R]
+>> endobj
+13376 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [13363 0 R 13379 0 R 13397 0 R 13411 0 R 13431 0 R 13446 0 R]
+>> endobj
+13474 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20051 0 R
+/Kids [13462 0 R 13479 0 R 13495 0 R 13510 0 R 13528 0 R 13544 0 R]
+>> endobj
+13575 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [13563 0 R 13587 0 R 13603 0 R 13615 0 R 13627 0 R 13636 0 R]
+>> endobj
+13665 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [13656 0 R 13687 0 R 13704 0 R 13763 0 R 13842 0 R 13914 0 R]
+>> endobj
+14015 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [14009 0 R 14063 0 R 14115 0 R 14144 0 R 14151 0 R 14161 0 R]
+>> endobj
+14187 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [14176 0 R 14190 0 R 14204 0 R 14218 0 R 14230 0 R 14242 0 R]
+>> endobj
+14272 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [14258 0 R 14275 0 R 14292 0 R 14307 0 R 14328 0 R 14350 0 R]
+>> endobj
+14378 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20052 0 R
+/Kids [14367 0 R 14382 0 R 14397 0 R 14418 0 R 14435 0 R 14452 0 R]
+>> endobj
+14491 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [14479 0 R 14526 0 R 14568 0 R 14625 0 R 14698 0 R 14747 0 R]
+>> endobj
+14769 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [14766 0 R 14777 0 R 14789 0 R 14803 0 R 14812 0 R 14818 0 R]
+>> endobj
+14834 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [14825 0 R 14840 0 R 14855 0 R 14872 0 R 14906 0 R 14962 0 R]
+>> endobj
+14997 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [14988 0 R 15020 0 R 15084 0 R 15122 0 R 15147 0 R 15165 0 R]
+>> endobj
+15258 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [15239 0 R 15321 0 R 15394 0 R 15482 0 R 15535 0 R 15591 0 R]
+>> endobj
+15619 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20053 0 R
+/Kids [15608 0 R 15622 0 R 15634 0 R 15649 0 R 15663 0 R 15676 0 R]
+>> endobj
+15701 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [15687 0 R 15704 0 R 15720 0 R 15739 0 R 15756 0 R 15771 0 R]
+>> endobj
+15802 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [15789 0 R 15808 0 R 15827 0 R 15843 0 R 15860 0 R 15879 0 R]
+>> endobj
+15914 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [15901 0 R 15947 0 R 15984 0 R 16041 0 R 16064 0 R 16108 0 R]
+>> endobj
+16196 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [16186 0 R 16264 0 R 16363 0 R 16436 0 R 16503 0 R 16565 0 R]
+>> endobj
+16584 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [16580 0 R 16589 0 R 16594 0 R 16599 0 R 16614 0 R 16629 0 R]
+>> endobj
+16657 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20054 0 R
+/Kids [16646 0 R 16662 0 R 16674 0 R 16687 0 R 16704 0 R 16718 0 R]
+>> endobj
+16744 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [16734 0 R 16750 0 R 16771 0 R 16789 0 R 16808 0 R 16825 0 R]
+>> endobj
+16851 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [16842 0 R 16862 0 R 16885 0 R 16902 0 R 16920 0 R 16942 0 R]
+>> endobj
+16966 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [16956 0 R 16969 0 R 16998 0 R 17052 0 R 17104 0 R 17153 0 R]
+>> endobj
+17184 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [17181 0 R 17189 0 R 17205 0 R 17224 0 R 17240 0 R 17273 0 R]
+>> endobj
+17325 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [17310 0 R 17331 0 R 17344 0 R 17370 0 R 17394 0 R 17439 0 R]
+>> endobj
+17482 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20055 0 R
+/Kids [17468 0 R 17512 0 R 17544 0 R 17562 0 R 17599 0 R 17624 0 R]
+>> endobj
+17646 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20056 0 R
+/Kids [17642 0 R 17716 0 R 17782 0 R 17877 0 R 17970 0 R 18043 0 R]
+>> endobj
+18124 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20056 0 R
+/Kids [18121 0 R 18196 0 R 18271 0 R 18343 0 R 18428 0 R 18511 0 R]
+>> endobj
+18590 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20056 0 R
+/Kids [18587 0 R 18705 0 R 18827 0 R 18928 0 R 19054 0 R 19171 0 R]
+>> endobj
+19294 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 20056 0 R
+/Kids [19291 0 R 19406 0 R 19527 0 R 19604 0 R 19689 0 R 19757 0 R]
+>> endobj
+19842 0 obj <<
+/Type /Pages
+/Count 3
+/Parent 20056 0 R
+/Kids [19839 0 R 19904 0 R 19925 0 R]
+>> endobj
+20040 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [533 0 R 734 0 R 820 0 R 903 0 R 982 0 R 1092 0 R]
+>> endobj
+20041 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [1201 0 R 1324 0 R 1445 0 R 1489 0 R 1532 0 R 1672 0 R]
+>> endobj
+20042 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [1991 0 R 2381 0 R 2473 0 R 2538 0 R 2827 0 R 2999 0 R]
+>> endobj
+20043 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [3328 0 R 3707 0 R 3794 0 R 3891 0 R 3991 0 R 4088 0 R]
+>> endobj
+20044 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [4320 0 R 4741 0 R 4830 0 R 4929 0 R 5024 0 R 5109 0 R]
+>> endobj
+20045 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20057 0 R
+/Kids [5270 0 R 5511 0 R 5778 0 R 5884 0 R 6013 0 R 6123 0 R]
+>> endobj
+20046 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [6407 0 R 6622 0 R 6761 0 R 6934 0 R 7124 0 R 7519 0 R]
+>> endobj
+20047 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [7668 0 R 7893 0 R 8076 0 R 8248 0 R 8384 0 R 8795 0 R]
+>> endobj
+20048 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [8962 0 R 9112 0 R 9300 0 R 9751 0 R 9831 0 R 9921 0 R]
+>> endobj
+20049 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [10023 0 R 10137 0 R 10495 0 R 10631 0 R 10838 0 R 10971 0 R]
+>> endobj
+20050 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [11116 0 R 11579 0 R 11680 0 R 12026 0 R 12131 0 R 12354 0 R]
+>> endobj
+20051 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20058 0 R
+/Kids [12482 0 R 12645 0 R 13062 0 R 13288 0 R 13376 0 R 13474 0 R]
+>> endobj
+20052 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20059 0 R
+/Kids [13575 0 R 13665 0 R 14015 0 R 14187 0 R 14272 0 R 14378 0 R]
+>> endobj
+20053 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20059 0 R
+/Kids [14491 0 R 14769 0 R 14834 0 R 14997 0 R 15258 0 R 15619 0 R]
+>> endobj
+20054 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20059 0 R
+/Kids [15701 0 R 15802 0 R 15914 0 R 16196 0 R 16584 0 R 16657 0 R]
+>> endobj
+20055 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 20059 0 R
+/Kids [16744 0 R 16851 0 R 16966 0 R 17184 0 R 17325 0 R 17482 0 R]
+>> endobj
+20056 0 obj <<
+/Type /Pages
+/Count 27
+/Parent 20059 0 R
+/Kids [17646 0 R 18124 0 R 18590 0 R 19294 0 R 19842 0 R]
+>> endobj
+20057 0 obj <<
+/Type /Pages
+/Count 216
+/Parent 20060 0 R
+/Kids [20040 0 R 20041 0 R 20042 0 R 20043 0 R 20044 0 R 20045 0 R]
+>> endobj
+20058 0 obj <<
+/Type /Pages
+/Count 216
+/Parent 20060 0 R
+/Kids [20046 0 R 20047 0 R 20048 0 R 20049 0 R 20050 0 R 20051 0 R]
+>> endobj
+20059 0 obj <<
+/Type /Pages
+/Count 171
+/Parent 20060 0 R
+/Kids [20052 0 R 20053 0 R 20054 0 R 20055 0 R 20056 0 R]
+>> endobj
+20060 0 obj <<
+/Type /Pages
+/Count 603
+/Kids [20057 0 R 20058 0 R 20059 0 R]
+>> endobj
+20061 0 obj <<
+/Type /Outlines
+/First 3 0 R
+/Last 135 0 R
+/Count 10
+>> endobj
+519 0 obj <<
+/Title 520 0 R
+/A 517 0 R
+/Parent 135 0 R
+/Prev 515 0 R
+>> endobj
+515 0 obj <<
+/Title 516 0 R
+/A 513 0 R
+/Parent 135 0 R
+/Prev 511 0 R
+/Next 519 0 R
+>> endobj
+511 0 obj <<
+/Title 512 0 R
+/A 509 0 R
+/Parent 135 0 R
+/Prev 507 0 R
+/Next 515 0 R
+>> endobj
+507 0 obj <<
+/Title 508 0 R
+/A 505 0 R
+/Parent 135 0 R
+/Prev 503 0 R
+/Next 511 0 R
+>> endobj
+503 0 obj <<
+/Title 504 0 R
+/A 501 0 R
+/Parent 135 0 R
+/Prev 499 0 R
+/Next 507 0 R
+>> endobj
+499 0 obj <<
+/Title 500 0 R
+/A 497 0 R
+/Parent 135 0 R
+/Prev 495 0 R
+/Next 503 0 R
+>> endobj
+495 0 obj <<
+/Title 496 0 R
+/A 493 0 R
+/Parent 135 0 R
+/Prev 491 0 R
+/Next 499 0 R
+>> endobj
+491 0 obj <<
+/Title 492 0 R
+/A 489 0 R
+/Parent 135 0 R
+/Prev 487 0 R
+/Next 495 0 R
+>> endobj
+487 0 obj <<
+/Title 488 0 R
+/A 485 0 R
+/Parent 135 0 R
+/Prev 483 0 R
+/Next 491 0 R
+>> endobj
+483 0 obj <<
+/Title 484 0 R
+/A 481 0 R
+/Parent 135 0 R
+/Prev 479 0 R
+/Next 487 0 R
+>> endobj
+479 0 obj <<
+/Title 480 0 R
+/A 477 0 R
+/Parent 135 0 R
+/Prev 475 0 R
+/Next 483 0 R
+>> endobj
+475 0 obj <<
+/Title 476 0 R
+/A 473 0 R
+/Parent 135 0 R
+/Prev 471 0 R
+/Next 479 0 R
+>> endobj
+471 0 obj <<
+/Title 472 0 R
+/A 469 0 R
+/Parent 135 0 R
+/Prev 467 0 R
+/Next 475 0 R
+>> endobj
+467 0 obj <<
+/Title 468 0 R
+/A 465 0 R
+/Parent 135 0 R
+/Prev 463 0 R
+/Next 471 0 R
+>> endobj
+463 0 obj <<
+/Title 464 0 R
+/A 461 0 R
+/Parent 135 0 R
+/Prev 459 0 R
+/Next 467 0 R
+>> endobj
+459 0 obj <<
+/Title 460 0 R
+/A 457 0 R
+/Parent 135 0 R
+/Prev 455 0 R
+/Next 463 0 R
+>> endobj
+455 0 obj <<
+/Title 456 0 R
+/A 453 0 R
+/Parent 135 0 R
+/Prev 451 0 R
+/Next 459 0 R
+>> endobj
+451 0 obj <<
+/Title 452 0 R
+/A 449 0 R
+/Parent 135 0 R
+/Prev 447 0 R
+/Next 455 0 R
+>> endobj
+447 0 obj <<
+/Title 448 0 R
+/A 445 0 R
+/Parent 135 0 R
+/Prev 443 0 R
+/Next 451 0 R
+>> endobj
+443 0 obj <<
+/Title 444 0 R
+/A 441 0 R
+/Parent 135 0 R
+/Prev 439 0 R
+/Next 447 0 R
+>> endobj
+439 0 obj <<
+/Title 440 0 R
+/A 437 0 R
+/Parent 135 0 R
+/Prev 435 0 R
+/Next 443 0 R
+>> endobj
+435 0 obj <<
+/Title 436 0 R
+/A 433 0 R
+/Parent 135 0 R
+/Prev 431 0 R
+/Next 439 0 R
+>> endobj
+431 0 obj <<
+/Title 432 0 R
+/A 429 0 R
+/Parent 135 0 R
+/Prev 427 0 R
+/Next 435 0 R
+>> endobj
+427 0 obj <<
+/Title 428 0 R
+/A 425 0 R
+/Parent 135 0 R
+/Prev 423 0 R
+/Next 431 0 R
+>> endobj
+423 0 obj <<
+/Title 424 0 R
+/A 421 0 R
+/Parent 135 0 R
+/Prev 419 0 R
+/Next 427 0 R
+>> endobj
+419 0 obj <<
+/Title 420 0 R
+/A 417 0 R
+/Parent 135 0 R
+/Prev 415 0 R
+/Next 423 0 R
+>> endobj
+415 0 obj <<
+/Title 416 0 R
+/A 413 0 R
+/Parent 135 0 R
+/Prev 411 0 R
+/Next 419 0 R
+>> endobj
+411 0 obj <<
+/Title 412 0 R
+/A 409 0 R
+/Parent 135 0 R
+/Prev 407 0 R
+/Next 415 0 R
+>> endobj
+407 0 obj <<
+/Title 408 0 R
+/A 405 0 R
+/Parent 135 0 R
+/Prev 403 0 R
+/Next 411 0 R
+>> endobj
+403 0 obj <<
+/Title 404 0 R
+/A 401 0 R
+/Parent 135 0 R
+/Prev 399 0 R
+/Next 407 0 R
+>> endobj
+399 0 obj <<
+/Title 400 0 R
+/A 397 0 R
+/Parent 135 0 R
+/Prev 395 0 R
+/Next 403 0 R
+>> endobj
+395 0 obj <<
+/Title 396 0 R
+/A 393 0 R
+/Parent 135 0 R
+/Prev 391 0 R
+/Next 399 0 R
+>> endobj
+391 0 obj <<
+/Title 392 0 R
+/A 389 0 R
+/Parent 135 0 R
+/Prev 387 0 R
+/Next 395 0 R
+>> endobj
+387 0 obj <<
+/Title 388 0 R
+/A 385 0 R
+/Parent 135 0 R
+/Prev 383 0 R
+/Next 391 0 R
+>> endobj
+383 0 obj <<
+/Title 384 0 R
+/A 381 0 R
+/Parent 135 0 R
+/Prev 379 0 R
+/Next 387 0 R
+>> endobj
+379 0 obj <<
+/Title 380 0 R
+/A 377 0 R
+/Parent 135 0 R
+/Prev 375 0 R
+/Next 383 0 R
+>> endobj
+375 0 obj <<
+/Title 376 0 R
+/A 373 0 R
+/Parent 135 0 R
+/Prev 371 0 R
+/Next 379 0 R
+>> endobj
+371 0 obj <<
+/Title 372 0 R
+/A 369 0 R
+/Parent 135 0 R
+/Prev 367 0 R
+/Next 375 0 R
+>> endobj
+367 0 obj <<
+/Title 368 0 R
+/A 365 0 R
+/Parent 135 0 R
+/Prev 363 0 R
+/Next 371 0 R
+>> endobj
+363 0 obj <<
+/Title 364 0 R
+/A 361 0 R
+/Parent 135 0 R
+/Prev 359 0 R
+/Next 367 0 R
+>> endobj
+359 0 obj <<
+/Title 360 0 R
+/A 357 0 R
+/Parent 135 0 R
+/Prev 355 0 R
+/Next 363 0 R
+>> endobj
+355 0 obj <<
+/Title 356 0 R
+/A 353 0 R
+/Parent 135 0 R
+/Prev 351 0 R
+/Next 359 0 R
+>> endobj
+351 0 obj <<
+/Title 352 0 R
+/A 349 0 R
+/Parent 135 0 R
+/Prev 347 0 R
+/Next 355 0 R
+>> endobj
+347 0 obj <<
+/Title 348 0 R
+/A 345 0 R
+/Parent 135 0 R
+/Prev 343 0 R
+/Next 351 0 R
+>> endobj
+343 0 obj <<
+/Title 344 0 R
+/A 341 0 R
+/Parent 135 0 R
+/Prev 339 0 R
+/Next 347 0 R
+>> endobj
+339 0 obj <<
+/Title 340 0 R
+/A 337 0 R
+/Parent 135 0 R
+/Prev 335 0 R
+/Next 343 0 R
+>> endobj
+335 0 obj <<
+/Title 336 0 R
+/A 333 0 R
+/Parent 135 0 R
+/Prev 331 0 R
+/Next 339 0 R
+>> endobj
+331 0 obj <<
+/Title 332 0 R
+/A 329 0 R
+/Parent 135 0 R
+/Prev 327 0 R
+/Next 335 0 R
+>> endobj
+327 0 obj <<
+/Title 328 0 R
+/A 325 0 R
+/Parent 135 0 R
+/Prev 323 0 R
+/Next 331 0 R
+>> endobj
+323 0 obj <<
+/Title 324 0 R
+/A 321 0 R
+/Parent 135 0 R
+/Prev 319 0 R
+/Next 327 0 R
+>> endobj
+319 0 obj <<
+/Title 320 0 R
+/A 317 0 R
+/Parent 135 0 R
+/Prev 315 0 R
+/Next 323 0 R
+>> endobj
+315 0 obj <<
+/Title 316 0 R
+/A 313 0 R
+/Parent 135 0 R
+/Prev 311 0 R
+/Next 319 0 R
+>> endobj
+311 0 obj <<
+/Title 312 0 R
+/A 309 0 R
+/Parent 135 0 R
+/Prev 307 0 R
+/Next 315 0 R
+>> endobj
+307 0 obj <<
+/Title 308 0 R
+/A 305 0 R
+/Parent 135 0 R
+/Prev 303 0 R
+/Next 311 0 R
+>> endobj
+303 0 obj <<
+/Title 304 0 R
+/A 301 0 R
+/Parent 135 0 R
+/Prev 299 0 R
+/Next 307 0 R
+>> endobj
+299 0 obj <<
+/Title 300 0 R
+/A 297 0 R
+/Parent 135 0 R
+/Prev 295 0 R
+/Next 303 0 R
+>> endobj
+295 0 obj <<
+/Title 296 0 R
+/A 293 0 R
+/Parent 135 0 R
+/Prev 291 0 R
+/Next 299 0 R
+>> endobj
+291 0 obj <<
+/Title 292 0 R
+/A 289 0 R
+/Parent 135 0 R
+/Prev 287 0 R
+/Next 295 0 R
+>> endobj
+287 0 obj <<
+/Title 288 0 R
+/A 285 0 R
+/Parent 135 0 R
+/Prev 283 0 R
+/Next 291 0 R
+>> endobj
+283 0 obj <<
+/Title 284 0 R
+/A 281 0 R
+/Parent 135 0 R
+/Prev 279 0 R
+/Next 287 0 R
+>> endobj
+279 0 obj <<
+/Title 280 0 R
+/A 277 0 R
+/Parent 135 0 R
+/Prev 275 0 R
+/Next 283 0 R
+>> endobj
+275 0 obj <<
+/Title 276 0 R
+/A 273 0 R
+/Parent 135 0 R
+/Prev 271 0 R
+/Next 279 0 R
+>> endobj
+271 0 obj <<
+/Title 272 0 R
+/A 269 0 R
+/Parent 135 0 R
+/Prev 267 0 R
+/Next 275 0 R
+>> endobj
+267 0 obj <<
+/Title 268 0 R
+/A 265 0 R
+/Parent 135 0 R
+/Prev 263 0 R
+/Next 271 0 R
+>> endobj
+263 0 obj <<
+/Title 264 0 R
+/A 261 0 R
+/Parent 135 0 R
+/Prev 259 0 R
+/Next 267 0 R
+>> endobj
+259 0 obj <<
+/Title 260 0 R
+/A 257 0 R
+/Parent 135 0 R
+/Prev 255 0 R
+/Next 263 0 R
+>> endobj
+255 0 obj <<
+/Title 256 0 R
+/A 253 0 R
+/Parent 135 0 R
+/Prev 251 0 R
+/Next 259 0 R
+>> endobj
+251 0 obj <<
+/Title 252 0 R
+/A 249 0 R
+/Parent 135 0 R
+/Prev 247 0 R
+/Next 255 0 R
+>> endobj
+247 0 obj <<
+/Title 248 0 R
+/A 245 0 R
+/Parent 135 0 R
+/Prev 243 0 R
+/Next 251 0 R
+>> endobj
+243 0 obj <<
+/Title 244 0 R
+/A 241 0 R
+/Parent 135 0 R
+/Prev 239 0 R
+/Next 247 0 R
+>> endobj
+239 0 obj <<
+/Title 240 0 R
+/A 237 0 R
+/Parent 135 0 R
+/Prev 235 0 R
+/Next 243 0 R
+>> endobj
+235 0 obj <<
+/Title 236 0 R
+/A 233 0 R
+/Parent 135 0 R
+/Prev 231 0 R
+/Next 239 0 R
+>> endobj
+231 0 obj <<
+/Title 232 0 R
+/A 229 0 R
+/Parent 135 0 R
+/Prev 227 0 R
+/Next 235 0 R
+>> endobj
+227 0 obj <<
+/Title 228 0 R
+/A 225 0 R
+/Parent 135 0 R
+/Prev 223 0 R
+/Next 231 0 R
+>> endobj
+223 0 obj <<
+/Title 224 0 R
+/A 221 0 R
+/Parent 135 0 R
+/Prev 219 0 R
+/Next 227 0 R
+>> endobj
+219 0 obj <<
+/Title 220 0 R
+/A 217 0 R
+/Parent 135 0 R
+/Prev 215 0 R
+/Next 223 0 R
+>> endobj
+215 0 obj <<
+/Title 216 0 R
+/A 213 0 R
+/Parent 135 0 R
+/Prev 211 0 R
+/Next 219 0 R
+>> endobj
+211 0 obj <<
+/Title 212 0 R
+/A 209 0 R
+/Parent 135 0 R
+/Prev 207 0 R
+/Next 215 0 R
+>> endobj
+207 0 obj <<
+/Title 208 0 R
+/A 205 0 R
+/Parent 135 0 R
+/Prev 203 0 R
+/Next 211 0 R
+>> endobj
+203 0 obj <<
+/Title 204 0 R
+/A 201 0 R
+/Parent 135 0 R
+/Prev 199 0 R
+/Next 207 0 R
+>> endobj
+199 0 obj <<
+/Title 200 0 R
+/A 197 0 R
+/Parent 135 0 R
+/Prev 195 0 R
+/Next 203 0 R
+>> endobj
+195 0 obj <<
+/Title 196 0 R
+/A 193 0 R
+/Parent 135 0 R
+/Prev 191 0 R
+/Next 199 0 R
+>> endobj
+191 0 obj <<
+/Title 192 0 R
+/A 189 0 R
+/Parent 135 0 R
+/Prev 187 0 R
+/Next 195 0 R
+>> endobj
+187 0 obj <<
+/Title 188 0 R
+/A 185 0 R
+/Parent 135 0 R
+/Prev 183 0 R
+/Next 191 0 R
+>> endobj
+183 0 obj <<
+/Title 184 0 R
+/A 181 0 R
+/Parent 135 0 R
+/Prev 179 0 R
+/Next 187 0 R
+>> endobj
+179 0 obj <<
+/Title 180 0 R
+/A 177 0 R
+/Parent 135 0 R
+/Prev 175 0 R
+/Next 183 0 R
+>> endobj
+175 0 obj <<
+/Title 176 0 R
+/A 173 0 R
+/Parent 135 0 R
+/Prev 171 0 R
+/Next 179 0 R
+>> endobj
+171 0 obj <<
+/Title 172 0 R
+/A 169 0 R
+/Parent 135 0 R
+/Prev 167 0 R
+/Next 175 0 R
+>> endobj
+167 0 obj <<
+/Title 168 0 R
+/A 165 0 R
+/Parent 135 0 R
+/Prev 163 0 R
+/Next 171 0 R
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 135 0 R
+/Prev 159 0 R
+/Next 167 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 135 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 135 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 135 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 135 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 135 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 20061 0 R
+/Prev 119 0 R
+/First 139 0 R
+/Last 519 0 R
+/Count -96
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 119 0 R
+/Prev 127 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 119 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 20061 0 R
+/Prev 111 0 R
+/Next 135 0 R
+/First 123 0 R
+/Last 131 0 R
+/Count -3
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 111 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 20061 0 R
+/Prev 103 0 R
+/Next 119 0 R
+/First 115 0 R
+/Last 115 0 R
+/Count -1
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 103 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 20061 0 R
+/Prev 95 0 R
+/Next 111 0 R
+/First 107 0 R
+/Last 107 0 R
+/Count -1
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 95 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 20061 0 R
+/Prev 87 0 R
+/Next 103 0 R
+/First 99 0 R
+/Last 99 0 R
+/Count -1
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 87 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 20061 0 R
+/Prev 79 0 R
+/Next 95 0 R
+/First 91 0 R
+/Last 91 0 R
+/Count -1
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 79 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 20061 0 R
+/Prev 75 0 R
+/Next 87 0 R
+/First 83 0 R
+/Last 83 0 R
+/Count -1
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 20061 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 20061 0 R
+/Prev 3 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 3 0 R
+/Prev 63 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 3 0 R
+/Prev 59 0 R
+/Next 67 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 3 0 R
+/Prev 55 0 R
+/Next 63 0 R
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 3 0 R
+/Prev 51 0 R
+/Next 59 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 3 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 3 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 3 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 3 0 R
+/Prev 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 3 0 R
+/Prev 31 0 R
+/Next 39 0 R
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 3 0 R
+/Prev 27 0 R
+/Next 35 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 3 0 R
+/Prev 23 0 R
+/Next 31 0 R
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 3 0 R
+/Prev 19 0 R
+/Next 27 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 3 0 R
+/Prev 15 0 R
+/Next 23 0 R
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 3 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 3 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 3 0 R
+/Next 11 0 R
+>> endobj
+3 0 obj <<
+/Title 4 0 R
+/A 1 0 R
+/Parent 20061 0 R
+/Next 71 0 R
+/First 7 0 R
+/Last 67 0 R
+/Count -16
+>> endobj
+20062 0 obj <<
+/Names [(Doc-Start) 527 0 R (GFDL) 1516 0 R (GFDL_GFDL) 559 0 R (GPL) 1443 0 R (GPL_GPL) 560 0 R (Item.1) 807 0 R]
+/Limits [(Doc-Start) (Item.1)]
+>> endobj
+20063 0 obj <<
+/Names [(Item.2) 808 0 R (Item.3) 816 0 R (Item.4) 817 0 R (Item.5) 818 0 R (classParma__Polyhedra__Library_1_1Approximable__Reference) 1716 0 R (classParma__Polyhedra__Library_1_1Approximable__Reference__Common) 1717 0 R]
+/Limits [(Item.2) (classParma__Polyhedra__Library_1_1Approximable__Reference__Common)]
+>> endobj
+20064 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape) 770 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a00b832cc0784b7b30f4d4a2f738a3032) 3501 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a01e1250fa095e6dac631943527b5e41c) 3587 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a033967c42f02b6029fc4d6153eb8072a) 3106 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0442c5079b3de8dcac61c224ee7a2e6f) 3345 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1a [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape) (classParma__Polyhedra__Library_1_1BD__Shape_a07cc48290e435dfb739fb565ff1aa3fa)]
+>> endobj
+20065 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a0a486044e2b8a3efc48b5d73b6af3267) 3519 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0aa903d00357007b8ef684059f92a8d6) 3682 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0acf1147e3f81830606dec4cc8faddd4) 3436 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0badc932380dcb7f72ea50ca922d9d4b) 3517 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a0cc08ca5d72d5cf465eb7812ffbb156a) 3333 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a0a486044e2b8a3efc48b5d73b6af3267) (classParma__Polyhedra__Library_1_1BD__Shape_a0ff8a3e3f7c118f923482924b1862c2e)]
+>> endobj
+20066 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) 3187 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a12dc6df3a06f4c97c6bb2264bbad05ac) 3100 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a15b3e8152862a6b98ecf1c4f4a142634) 3188 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a16f61fdba7e14a67990a84e93be00efb) 3270 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a178a6a88143f44b43939d36024af6162) 3440 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a128b2fafec11e096e41f78710ba2ff0a) (classParma__Polyhedra__Library_1_1BD__Shape_a198e5e17ee2a7484f89d293b8bbf5ccf)]
+>> endobj
+20067 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd) 3505 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1a6088f536e9340145630576cfd6e6b9) 3105 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1d00782cbab77286295552af7dba7ed8) 3263 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1d502ed8aa71e78a52f33d9b16704974) 3681 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a1e645f35cbeedf3341428988157f71ab) 3180 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a1a02b17cbccf348192f3e7f776b3b3fd) (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51)]
+>> endobj
+20068 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) 3329 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a21d79f277ceee36111baef3184e8d2cd) 3675 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a2204d6d24f9c68fdb6a72062afe9a209) 3444 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a242d9bf0b5b215d4aa771e9f8595baea) 3253 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a24fbe68af11e373092f23f59b6cfd3e1) 3181 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) (classParma__Polyhedra__Library_1_1BD__Shape_a25a2d683973c6c6901e47c4fe90cf2b1)]
+>> endobj
+20069 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3) 3171 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a26a38ad6506b5c3154e90e696ea6dc88) 3186 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a26ed8b6a9eba118ffd48ecfd8bb74bbf) 3589 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a28b268e37d25a0cfa2b5bf39e85c758d) 3331 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a29212d49685544d8a3c71993bd30f467) 3257 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a25c5ef784f17646705c76a5be6c724a3) (classParma__Polyhedra__Library_1_1BD__Shape_a2af430cd70ac416ca0907312b65812e6)]
+>> endobj
+20070 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a32c0ddfdabd75501718ed9f44f6d9ae2) 3676 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a33daeddebffc6eb847edd92c3ba045dc) 3262 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a35f19d0e7190c5a18aebc9ced95d554e) 3338 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a3825b4905d72422089bf28d3c95c2964) 3185 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a396bd79b5d57d54685d9c1b9d970c00e) 3256 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a32c0ddfdabd75501718ed9f44f6d9ae2) (classParma__Polyhedra__Library_1_1BD__Shape_a3e0339ccaf8da39b9fd21ff8777e99e4)]
+>> endobj
+20071 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a43c478e6516cd11d378e25f16e669514) 3680 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a45fd50a7deed65baf4e64b803a595c29) 3583 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4780bcf6d4bced818a0cc1b6ed7c97d2) 3516 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4ac2269cb78d6549ccb1d573929be1c7) 3684 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a4aef1a4f6e9bed5d473e98320401e0e5) 3269 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a43c478e6516cd11d378e25f16e669514) (classParma__Polyhedra__Library_1_1BD__Shape_a4b7615a8ec5120dc083f368ecfe2d1da)]
+>> endobj
+20072 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e) 3432 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a535090b407c713681228d6ab2b835e36) 3332 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a54d9925e5f42a7730cfa90a3d537f1a0) 3582 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a54f33edf5fdf4c6f606136b882be9f1d) 3254 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5851243f84aa67103a7f805232daecad) 3340 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a4e04c3a6c835332c31dfbb928b31144e) (classParma__Polyhedra__Library_1_1BD__Shape_a587ebb6173af401b6fc9d274bb839608)]
+>> endobj
+20073 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) 3441 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5d71f71f50ba04fe5f810acf0cf1e294) 3509 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a5e972fbb672e9b2faec34b949c9a2918) 3267 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a620d5cdb01b8b20848ca01f4e4c05b4f) 3252 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a63e8c0f76da4e9b3520aa338d152d253) 3514 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a5a66e6f883c7310ddbc312f78bb0970f) (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873)]
+>> endobj
+20074 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) 3342 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a6a3dd351c33d66250d2b4ac639768f07) 3265 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a6ef0e7043830c5e6b9ffd67697d22c04) 3347 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a75188bcee0bfc88a4c8571acc04a1826) 3268 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a79a586ca093d218e5603380ac0475717) 3258 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) (classParma__Polyhedra__Library_1_1BD__Shape_a79acafbe4f67eb7e2710287bcd60db96)]
+>> endobj
+20075 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) 3177 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a82b35fc075e1e9542d4cc5cff2e236f8) 3103 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a830339e65ebcd4c100c672487dc63f33) 3677 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a84a9c57aa31433a277d9be6b0077065a) 3431 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a867bed09df5c122833745b9a4cbfa3ea) 3175 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8101d965bc32e4ab1df6aa445730769b) (classParma__Polyhedra__Library_1_1BD__Shape_a86dd59c40a3c9867c2979ff24ba342c2)]
+>> endobj
+20076 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) 3348 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8a1cd7df2586fcb1c129b1ec5a28fe9f) 3580 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8a87935278cb7b1290301e96cb82fcb1) 3266 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8c73e2c464d5e93dc55862d00d5478f8) 3255 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8c7ffb3e15a1f5746c633af2af465556) 3504 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a894e92407922be006a76577cf47b8589) (classParma__Polyhedra__Library_1_1BD__Shape_a8c89ddcd2fc4311af0e358477630d7d9)]
+>> endobj
+20077 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) 3337 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8e28c15a0d7487efa59258598e2f78b2) 3585 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8ede75fbd470fa30f11d4c02672883f5) 3335 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8f0bdfca2a6993bfa08358319d589ab6) 3249 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a900609f82bcb2d07dab53d7bd2035ec8) 3679 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a8e13e7d3536de2745bc9e58a25b75b77) (classParma__Polyhedra__Library_1_1BD__Shape_a91187ba19738062968cc1cb26b135a6a)]
+>> endobj
+20078 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) 3104 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9507085c5b0efd13c80f08a22b0f5529) 3445 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a96f9f41695040221ad560cb4ec452ef9) 3193 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a9743d54c550c39688a16670c49d7272e) 3433 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a988ff507806fa8126649f463ef6a1f31) 3437 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a93c1c491c0035f6c38b9ee036184aa7e) (classParma__Polyhedra__Library_1_1BD__Shape_a9c0703b2311336754e28a7f739b7e685)]
+>> endobj
+20079 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a9f427e126a129393342ba033e08c5d39) 3341 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa78a6abbbb3c425992ca644f732e69e8) 3176 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa7b3a5c12ea008b78eed88a621c1fab1) 3260 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aa85819690f928a46e3f437bfe629e976) 3334 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aab3964a5c29992e6476852c9d246fe6f) 3184 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a9f427e126a129393342ba033e08c5d39) (classParma__Polyhedra__Library_1_1BD__Shape_aaf0d15460d44b410c5a223d13b447b1a)]
+>> endobj
+20080 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) 3515 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab0a670aeef72d808d620bbc33a5e8cd7) 3513 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab109e8a2fca1324773e2a5777f75c852) 3442 0 R (classParma__Polyhedra__Library_1_1BD__Shape_abe5a9b3a09856b591bf8d94b53d1e673) 3588 0 R (classParma__Polyhedra__Library_1_1BD__Shape_abee6d42dd6f94979bcc7fb3d51102864) 3174 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) (classParma__Polyhedra__Library_1_1BD__Shape_ac68574b9eea6918a73dca2ce92a82fd7)]
+>> endobj
+20081 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) 3182 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aca71bae643870b4a7aaaabbab838c330) 3264 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acaa538c9c00b2f69301365d916bb49e8) 3251 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acad0e332f148041d23f17cdf85b80568) 3584 0 R (classParma__Polyhedra__Library_1_1BD__Shape_accbd8986577794cea90edef63e859ab1) 3510 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ac7f89b09f6755cdcd97daa3a92522b00) (classParma__Polyhedra__Library_1_1BD__Shape_acda762f8c081fed2862260211618fce0)]
+>> endobj
+20082 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) 3336 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acf4dc2de16f4a54ca03daa6ac1d31ce2) 3330 0 R (classParma__Polyhedra__Library_1_1BD__Shape_acfed8bc19e046453778c9d99d84df283) 3099 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad09a9ccc89ace499a888b6b1a1f4ce44) 3178 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ad2e535d5b20d25d36b4744da392edf02) 3343 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ace010a880cb8574335f1be294907de89) (classParma__Polyhedra__Library_1_1BD__Shape_ad369744c43a49ebac904bc3e17de0478)]
+>> endobj
+20083 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) 3430 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adbf2609849c95cfb7277df1edc69534f) 3189 0 R (classParma__Polyhedra__Library_1_1BD__Shape_adf3cfc56df68bc8063e6e9eb3d0ad3f1) 3507 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae0a1b4b4a344cad01c58e8e006a7ff16) 3183 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae0ba85e8cab7e4e95ec001bde5bdd99d) 3435 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ad80989353ea3738abdb6b605d27cc8fa) (classParma__Polyhedra__Library_1_1BD__Shape_ae61fdcc22d1e0fe43b94194f2eadaa1a)]
+>> endobj
+20084 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) 3503 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ae748c3f5082b158453fbb3ccf57c8f70) 3571 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aeda87d46bc3b54b420a475934e0e1cb6) 3506 0 R (classParma__Polyhedra__Library_1_1BD__Shape_aedabe8ecd0866b972e97709e17f94681) 3102 0 R (classParma__Polyhedra__Library_1_1BD__Shape_af0d016bccf8f6a9323cdbd4743003eb2) 3586 0 R (classParma__Polyhedra__Library_1_1BD__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ae68d61763922cee018cbba3834b2085c) (classParma__Polyhedra__Library_1_1BD__Shape_afa8a10ff4b09f8a87e3c558a39f5888e)]
+>> endobj
+20085 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936) 3190 0 R (classParma__Polyhedra__Library_1_1BD__Shape_afd263c6cdcbb67035989078c9058bb19) 3674 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) 1204 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a35ea0c10995c89f8a11a2e8bb5dc7f17) 4141 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a5ebec8f5ff32009c4cf98dead90f4a3c) 4135 0 R (classParma__Polyhedra__Library_1_1BHRZ03__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_afaa5d6b3c1b3b83161b619c28c5f9936) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae)]
+>> endobj
+20086 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) 4138 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a97b2101d371edae52746a53cf34e4b67) 4137 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_af2ec3c62388f9aef1414a527e82cd1a7) 4136 0 R (classParma__Polyhedra__Library_1_1Binary__Operator) 1719 0 R (classParma__Polyhedra__Library_1_1Binary__Operator__Common) 1720 0 R (classParma__Polyhedra__Library_1_1Binary__Operator__Co [...]
+/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) (classParma__Polyhedra__Library_1_1Binary__Operator__Common_a35b06cfa8331827b55846da95b222287)]
+>> endobj
+20087 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Binary__Operator__Common_a5621564b142adc0eaee14971b379084c) 4159 0 R (classParma__Polyhedra__Library_1_1Binary__Operator__Common_aa26b7ac0a5822f668664afb29033b4e0) 4158 0 R (classParma__Polyhedra__Library_1_1Box) 772 0 R (classParma__Polyhedra__Library_1_1Box_a04732c1c89db2f6d76b3b9479ec2fb99) 4322 0 R (classParma__Polyhedra__Library_1_1Box_a055f3030915a1b7de0cc50761d9a3245) 4319 0 R (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da4 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Binary__Operator__Common_a5621564b142adc0eaee14971b379084c) (classParma__Polyhedra__Library_1_1Box_a06c2ce3f0789aba0294da43628b50226)]
+>> endobj
+20088 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) 4565 0 R (classParma__Polyhedra__Library_1_1Box_a0acf30ed848cc95eb3c888c0e16952ec) 4328 0 R (classParma__Polyhedra__Library_1_1Box_a0cb0abcc152d2d7c95a116efd3ea989a) 4626 0 R (classParma__Polyhedra__Library_1_1Box_a0fc52076243c0da6c56397ae37cd5194) 4633 0 R (classParma__Polyhedra__Library_1_1Box_a1039be5680ea8eceb903367e1e7aa13f) 4398 0 R (classParma__Polyhedra__Library_1_1Box_a108121fbb775ce12e17480900dc32 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a070e05c80af78d7c91bee958b9848080) (classParma__Polyhedra__Library_1_1Box_a108121fbb775ce12e17480900dc32516)]
+>> endobj
+20089 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a1089c9be5304fd1f8bba20e462be1528) 4721 0 R (classParma__Polyhedra__Library_1_1Box_a13a65e37276cb17bf0f92c33e4d135fa) 4722 0 R (classParma__Polyhedra__Library_1_1Box_a15090c11a17afcd60289117320991a0a) 4238 0 R (classParma__Polyhedra__Library_1_1Box_a161c87c94b78fd1111365e185d0a3ae7) 4493 0 R (classParma__Polyhedra__Library_1_1Box_a17182f3f0d9242d5821ba59b2773ae55) 4499 0 R (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a1089c9be5304fd1f8bba20e462be1528) (classParma__Polyhedra__Library_1_1Box_a1d20ad17015746b2d9e0290631fc175b)]
+>> endobj
+20090 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) 4566 0 R (classParma__Polyhedra__Library_1_1Box_a2206a2c7921d483451f7e2366f0f8166) 4560 0 R (classParma__Polyhedra__Library_1_1Box_a22f9ceb879f1c8d892f60fb3d9577d81) 4413 0 R (classParma__Polyhedra__Library_1_1Box_a286412c3f05e82abdf69c5e5562ff949) 4312 0 R (classParma__Polyhedra__Library_1_1Box_a2e233c23c81273bd776c73cff35ec60e) 4557 0 R (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a21711374269e4bc42c158e233fd8d384) (classParma__Polyhedra__Library_1_1Box_a2ebf93b52454102cd99eaa211ad6ff71)]
+>> endobj
+20091 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a2ece0bdf729fb3120ccc49ba616371ad) 4628 0 R (classParma__Polyhedra__Library_1_1Box_a2f964d43c2798bde1924e82d88971ea2) 4394 0 R (classParma__Polyhedra__Library_1_1Box_a30fb611cd3b23f903e1b5f285c238c38) 4631 0 R (classParma__Polyhedra__Library_1_1Box_a319084c6ac93db482a8742a58e2e01f3) 4228 0 R (classParma__Polyhedra__Library_1_1Box_a3271b453d7283448ee3b26406f027c41) 4718 0 R (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a2ece0bdf729fb3120ccc49ba616371ad) (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558)]
+>> endobj
+20092 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a36a9d0801d846225758faab4be3cc7e4) 4635 0 R (classParma__Polyhedra__Library_1_1Box_a36e39f75a5b973533a044d606444db4f) 4332 0 R (classParma__Polyhedra__Library_1_1Box_a389e6681289ba2b90a1eaad6eff80a50) 4243 0 R (classParma__Polyhedra__Library_1_1Box_a3a1140c13e71533dd97cc2406cb8fd79) 4632 0 R (classParma__Polyhedra__Library_1_1Box_a3c827da439e915a61c30e404828e8d32) 4327 0 R (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a36a9d0801d846225758faab4be3cc7e4) (classParma__Polyhedra__Library_1_1Box_a3c8e578089e8420dc286b27411fde2fd)]
+>> endobj
+20093 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73) 4503 0 R (classParma__Polyhedra__Library_1_1Box_a3daaa36a6bf749e0b4d66ce57878e2d0) 4490 0 R (classParma__Polyhedra__Library_1_1Box_a3f2210364b954a8d532905d09bcb7149) 4244 0 R (classParma__Polyhedra__Library_1_1Box_a40ab06947d065a171792da1ce6ed2505) 4396 0 R (classParma__Polyhedra__Library_1_1Box_a4aa52c6b939cf0076740afb33dd454e5) 4564 0 R (classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a3d107d8f8a78a3925031545c8e1d1a73) (classParma__Polyhedra__Library_1_1Box_a4cd79f95aeca1043d5e56dcc194bf096)]
+>> endobj
+20094 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) 4621 0 R (classParma__Polyhedra__Library_1_1Box_a50155ea93e900c22ab4251298fa70bb0) 4625 0 R (classParma__Polyhedra__Library_1_1Box_a507389e04ae54928ad21bae9f8caf354) 4713 0 R (classParma__Polyhedra__Library_1_1Box_a5307e5cfaad0770ede6799ad31962d71) 4401 0 R (classParma__Polyhedra__Library_1_1Box_a5418f668bf3b5a8590ac6d5d483d5ea3) 4709 0 R (classParma__Polyhedra__Library_1_1Box_a54ee0d81e7047f0c89c29fd63af3b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a4e6787c98290a49ce80b90c008aac5a8) (classParma__Polyhedra__Library_1_1Box_a54ee0d81e7047f0c89c29fd63af3b778)]
+>> endobj
+20095 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) 4622 0 R (classParma__Polyhedra__Library_1_1Box_a573ac186b0da77408bcb80531ca0090c) 4329 0 R (classParma__Polyhedra__Library_1_1Box_a5f1ce9b2af5f6ba550cd9080ff83077c) 4229 0 R (classParma__Polyhedra__Library_1_1Box_a685232ed211cce61f5d27727d979df94) 4486 0 R (classParma__Polyhedra__Library_1_1Box_a6919ec5aef8459ad9c65bc36e8100d58) 4554 0 R (classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a5659d55fb93c1fe31b82a674e2630c13) (classParma__Polyhedra__Library_1_1Box_a6d2f7819b7359865679b24e683231303)]
+>> endobj
+20096 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) 4555 0 R (classParma__Polyhedra__Library_1_1Box_a6f66ccd85fdb7cc3afdfe9a9eec33805) 4630 0 R (classParma__Polyhedra__Library_1_1Box_a70638e55ff0529f6f481db703645be05) 4317 0 R (classParma__Polyhedra__Library_1_1Box_a7321e2cdc1f62423eef211a89ff5a93d) 4629 0 R (classParma__Polyhedra__Library_1_1Box_a736577ec65f40b0637f13486e64f051a) 4409 0 R (classParma__Polyhedra__Library_1_1Box_a7a1255c5cac46f6115750121e9713 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a6d5097ef9a821f98cb97571eb52a49aa) (classParma__Polyhedra__Library_1_1Box_a7a1255c5cac46f6115750121e97136e6)]
+>> endobj
+20097 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b) 4246 0 R (classParma__Polyhedra__Library_1_1Box_a7e1a00f36570e89ee95817d898587743) 4313 0 R (classParma__Polyhedra__Library_1_1Box_a7fff251a8cd2ecd8b928175af94d7069) 4245 0 R (classParma__Polyhedra__Library_1_1Box_a818b1050a44c6fb4d635a6fc088eeeca) 4232 0 R (classParma__Polyhedra__Library_1_1Box_a84d340c4e2a8a35e81d0fb91ff2c466e) 4233 0 R (classParma__Polyhedra__Library_1_1Box_a857138d532c5352b43623e6b5e5a6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a7ded037fa4c26b2e12565d3aa2c6b70b) (classParma__Polyhedra__Library_1_1Box_a857138d532c5352b43623e6b5e5a629b)]
+>> endobj
+20098 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) 4488 0 R (classParma__Polyhedra__Library_1_1Box_a88ea295438ef6e62d77b24c099f2b9c0) 4240 0 R (classParma__Polyhedra__Library_1_1Box_a8e45baf04a16a09cfa25bac864515832) 4330 0 R (classParma__Polyhedra__Library_1_1Box_a901382835b88fb9969d88eea101ae7cf) 4315 0 R (classParma__Polyhedra__Library_1_1Box_a90cc17398be6745eb507339397381d7a) 4397 0 R (classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) (classParma__Polyhedra__Library_1_1Box_a929caef76be87459ac964105f4c75cf4)]
+>> endobj
+20099 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) 4408 0 R (classParma__Polyhedra__Library_1_1Box_a944e2c41213d3ea40e74930a90de97bf) 4412 0 R (classParma__Polyhedra__Library_1_1Box_a96038eb89649898faa9a4355206b72d3) 4552 0 R (classParma__Polyhedra__Library_1_1Box_a9de293fc5ed59d0122ccd78839b1a668) 4321 0 R (classParma__Polyhedra__Library_1_1Box_a9e6044d3d1b8cd66b7e150763a0cce2a) 4236 0 R (classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a92ef9a99d160f55e3fc44a4bd1ae78f2) (classParma__Polyhedra__Library_1_1Box_a9ff61047ef1f0f33fe206ab471aa4025)]
+>> endobj
+20100 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) 4399 0 R (classParma__Polyhedra__Library_1_1Box_aa366a38561684a64bc0a042702534a07) 4406 0 R (classParma__Polyhedra__Library_1_1Box_aa50c3a8544e3182f11f4b971c2b185e6) 4634 0 R (classParma__Polyhedra__Library_1_1Box_aaba1e38f6fda99261ed2bd61ec99e369) 4714 0 R (classParma__Polyhedra__Library_1_1Box_aac61a0c0f3a687ef1d79d9014238554c) 4227 0 R (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a9ffb692c7f3bd8af9b81135e38b38dd7) (classParma__Polyhedra__Library_1_1Box_aace7b1f85601837554656295b9c90dce)]
+>> endobj
+20101 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) 4405 0 R (classParma__Polyhedra__Library_1_1Box_ab34fdd45afee329b70aa329b05ecab5b) 4556 0 R (classParma__Polyhedra__Library_1_1Box_ab4addfca3eaf252964b09cb03b12f701) 4711 0 R (classParma__Polyhedra__Library_1_1Box_ab4b097033191e38bbb59add2ebba3e70) 4241 0 R (classParma__Polyhedra__Library_1_1Box_ab76731fc33f60619d339fd146af90e7f) 4226 0 R (classParma__Polyhedra__Library_1_1Box_ab81be8ef47b7e0e260d2d9a361eb6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_aacf7b2a7e0bb5007ce8cd9506d06137d) (classParma__Polyhedra__Library_1_1Box_ab81be8ef47b7e0e260d2d9a361eb6e8b)]
+>> endobj
+20102 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) 4407 0 R (classParma__Polyhedra__Library_1_1Box_aba476c1ff2b0f1cd58f6e76b981cafac) 4563 0 R (classParma__Polyhedra__Library_1_1Box_abb6e0e38bda55fc988819da21f2689eb) 4395 0 R (classParma__Polyhedra__Library_1_1Box_abd0fb1fa2293b2ca367d1ba5eba12106) 4487 0 R (classParma__Polyhedra__Library_1_1Box_abd266a7d827fb77e09de63dfea2f9d58) 4498 0 R (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ab85f80c281c840eedb4f228757b8515a) (classParma__Polyhedra__Library_1_1Box_abd6b88d6fd6e0259faa544106b08aeaa)]
+>> endobj
+20103 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) 4558 0 R (classParma__Polyhedra__Library_1_1Box_abeb3e0b3cafb96de2ab53e985c574bb7) 4235 0 R (classParma__Polyhedra__Library_1_1Box_abf26ba6f468ba6cfd016cf8b8ca51b92) 4719 0 R (classParma__Polyhedra__Library_1_1Box_ac5eb33b72a86a33d7ae4685d376b50a6) 4404 0 R (classParma__Polyhedra__Library_1_1Box_ac72c231542712976d1f9223d0537f5d5) 4234 0 R (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_abe59d09769e8f4ee38d79b45a6295756) (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142)]
+>> endobj
+20104 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) 4310 0 R (classParma__Polyhedra__Library_1_1Box_acbf26ad2a67dbfbd24eb9c89448a793b) 4163 0 R (classParma__Polyhedra__Library_1_1Box_acddbfcdd0e7dd70c2258493ef67d0911) 4242 0 R (classParma__Polyhedra__Library_1_1Box_ace7b6bb6c1aabdf57f1643e88a834aac) 4333 0 R (classParma__Polyhedra__Library_1_1Box_ad02ce2da26b1d9dcd0d45042b9f5c3e5) 4237 0 R (classParma__Polyhedra__Library_1_1Box_ad303b49ba5f16febd5aba07ba6d1b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) (classParma__Polyhedra__Library_1_1Box_ad303b49ba5f16febd5aba07ba6d1b656)]
+>> endobj
+20105 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) 4492 0 R (classParma__Polyhedra__Library_1_1Box_adcd50fc4fa1b8e5533d7af0513d1a833) 4231 0 R (classParma__Polyhedra__Library_1_1Box_addca3baab772ce17fb5133b0c4e60c33) 4323 0 R (classParma__Polyhedra__Library_1_1Box_ae02fa938635a4847617bc270ce5d61f1) 4710 0 R (classParma__Polyhedra__Library_1_1Box_ae0cdf58c61934d284e497bb509596fde) 4239 0 R (classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ad9dba7a094763a47be44e246c1120fa7) (classParma__Polyhedra__Library_1_1Box_ae1509738a054a1ffeb070a35c41db257)]
+>> endobj
+20106 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ae51d28e968849dc1fc4ac29475dd89d1) 4720 0 R (classParma__Polyhedra__Library_1_1Box_ae627d4ce07125a5bf6dbe4c4464bfacf) 4230 0 R (classParma__Polyhedra__Library_1_1Box_ae70fafb10013762e436a434564d7e931) 4491 0 R (classParma__Polyhedra__Library_1_1Box_ae862a635387c2458da51889c20465f0c) 4410 0 R (classParma__Polyhedra__Library_1_1Box_ae8b96392adb007f1c59758cba8cbc886) 4501 0 R (classParma__Polyhedra__Library_1_1Box_aeb7acbeca4ad92485f92bf3ea7bcc [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ae51d28e968849dc1fc4ac29475dd89d1) (classParma__Polyhedra__Library_1_1Box_aeb7acbeca4ad92485f92bf3ea7bcc60c)]
+>> endobj
+20107 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_aec5e83677f965ea4672262477c3e9737) 4715 0 R (classParma__Polyhedra__Library_1_1Box_af0b5a67b4316f5fabc76dddc85e01f95) 4627 0 R (classParma__Polyhedra__Library_1_1Box_af3171c1a2a80a801ffef9d620bbe1eb9) 4559 0 R (classParma__Polyhedra__Library_1_1Box_af5edabe0fbfa14196208041ded356c65) 4561 0 R (classParma__Polyhedra__Library_1_1Box_af623edfed6d4816ac5573f42a6a1e801) 4326 0 R (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03da [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_aec5e83677f965ea4672262477c3e9737) (classParma__Polyhedra__Library_1_1Box_afb683aefdda7a1c5dcf92ee2a03daf81)]
+>> endobj
+20108 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_afcfef0ae2edb80d19b21b211f7523971) 4311 0 R (classParma__Polyhedra__Library_1_1Box_afd20bc6142cb1206b51b0b449ebf4273) 4502 0 R (classParma__Polyhedra__Library_1_1Box_afe3a91955f4b6b81c8572e60b3e263dc) 4402 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator) 1780 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a0ec1eb879aa24c8e3f8b9abc08a51f27) 6720 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__i [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_afcfef0ae2edb80d19b21b211f7523971) (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a1ddeb95722df9e5f35009c6e017e2404)]
+>> endobj
+20109 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a1e45c485643b62ed4d751fd0bfaa3677) 6723 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a2c9678fbda42018549d63c11e4c806a6) 6712 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a412d0108a72eca07f0075f7a60662e34) 6718 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a4db44a79e5e6eea466723a565634b017) 6725 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__it [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_a1e45c485643b62ed4d751fd0bfaa3677) (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_abed774daa9ed3c470c7fd237bf40e28c)]
+>> endobj
+20110 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac1af3129a578ad1519defead5bf9dfa4) 6721 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac8af5985d99461f4c7d765a67da5f02c) 6714 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_acade7cd192977aa0b43a42bbaafe1c27) 6722 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ad9a4e7c1648f42300ec153db346dffb2) 6709 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__it [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac1af3129a578ad1519defead5bf9dfa4) (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_adf87eef74d0ff9ff35e15aeea0a361c7)]
+>> endobj
+20111 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ae2203bd0c93393bccdc66bc07ca93d68) 6713 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_aef8ddf62527c76662e377fdc9b46b928) 6719 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator) 1899 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a150a3fcf4b23e91a58c5acb8a455fec2) 11029 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a1ba31de49e0fcff11975c0e8670269b9) 11025 0 R (c [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ae2203bd0c93393bccdc66bc07ca93d68) (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a1ffe9c9777d454e5bc5d0ad41887ae8c)]
+>> endobj
+20112 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a27ebe448697b1357cb06c60b471f4045) 11020 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a64ca0878a1f4a3c338b920ecb7c56c4e) 11026 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a701efa51459fa5353f1620f9a1524f52) 11030 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a939f1c932a39f3ac0d579352534ee0d8) 11031 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_aa29c608bc5c4c8d0b1d42da [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_a27ebe448697b1357cb06c60b471f4045) (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_aadf870c4d6fea9b5650aa888c2e79ca2)]
+>> endobj
+20113 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ab18c32ab9d8e6a7fc785165b6aa4db56) 11028 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ab331b1dede4f6e83d3eefb864929a9d9) 11024 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ad4a1398505beae32e88bdc66625dcf92) 11035 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ad9420cd4a63cbe1e155a94a8064f86b5) 11021 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae432dca61c738591a5c53f1 [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ab18c32ab9d8e6a7fc785165b6aa4db56) (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae6ce7cc93a11ff81885948a776dd0e56)]
+>> endobj
+20114 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae8f1b6153c04bde0aac8592ff6edbe36) 11032 0 R (classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_af7e70970808607a85d1daa4548c400d9) 11036 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron) 768 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a09726be54fe2a591787de59eeffdd2ea) 5199 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a2b220dabc613a89a062968101429e58c) 5201 0 R (classParma__Polyhedra__Library_1_1C__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1iterator_ae8f1b6153c04bde0aac8592ff6edbe36) (classParma__Polyhedra__Library_1_1C__Polyhedron_a2d68c082ea8fcddda6aa41afdd7ab476)]
+>> endobj
+20115 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) 5140 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a4b841053fdf5718c17a018ff650b550a) 5139 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a59d06e9b429faef7a632d58e4a0b12bd) 5197 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a5eb7f86790ada6549123a0225d68a4de) 5212 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a6424da8931d774f6a2e403c1e2f0d09a) 5200 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a33d58476db85f48e4ad680c69bca524f) (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d)]
+>> endobj
+20116 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_a75d4c8a80362dcd840c664b8c3c8182c) 5209 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a8a6c3f01edb04382620066f17b63b20c) 5203 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a9720487deabf813a31afd4e9cfe695aa) 5206 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_a9eb55b3f27138d74d5002cc9782fd381) 5207 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ac3126925bcd3349b150771d52c19639d) 5205 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a75d4c8a80362dcd840c664b8c3c8182c) (classParma__Polyhedra__Library_1_1C__Polyhedron_ac86d25d06285c9a2e890770fed084574)]
+>> endobj
+20117 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) 5202 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_ae46f7a91b9fac1a62ef875ec5c72aab6) 5204 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_afaae25a26dbecf9341c7fb2c2575f81f) 5211 0 R (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression) 1230 0 R (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a22e9347af75b6aac3d63edecff007a34) 5330 0 R (classParma__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_ac98ed1378829f72aee73c40dff16f269) (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a2c0a4ef9e072d80fed2be806ed3eb825)]
+>> endobj
+20118 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a311e87a81daa4ca81dfb5ff62bd29b0f) 5299 0 R (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a56648c2436a8c8b290e54ff23a69d7a9) 5298 0 R (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_ac2aa68157ca89c0b63725c3efcdd9200) 5328 0 R (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_ae1df79fdf94dd23fac62d57fe0681842) 5313 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_a311e87a81daa4ca81dfb5ff62bd29b0f) (classParma__Polyhedra__Library_1_1Cast__Floating__Point__Expression_aef498310bbb162748eb0cc7c1bb07fd8)]
+>> endobj
+20119 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Cast__Operator) 1721 0 R (classParma__Polyhedra__Library_1_1Cast__Operator__Common) 1722 0 R (classParma__Polyhedra__Library_1_1Checked__Number) 1723 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a009f1dc78c8b168cb2256481169157ac) 5384 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a00f887bfb5c61faba29a67def563c786) 5504 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a01655d2b2c4a079c9474d9072891e007) 5453 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Cast__Operator) (classParma__Polyhedra__Library_1_1Checked__Number_a01655d2b2c4a079c9474d9072891e007)]
+>> endobj
+20120 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) 5548 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a04f1fafc7f28579ed19eea062a2b13c0) 5653 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a0673c1c20598ea950f352d2d5ea2689c) 5786 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a06c0a4ba25cbc3d59797bf1c73c49497) 5590 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a0803532e7523865597c394e1371d2b16) 5591 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a02949da26a3761489d2fb98018010990) (classParma__Polyhedra__Library_1_1Checked__Number_a0a674e95cda0698184161e3e009aa570)]
+>> endobj
+20121 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a0edbf435f928c1702dc879bc4862bbf8) 5555 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a164f8732d5fe6b526a34e168145a95ad) 5495 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1a79ab4c49d7ae4406b56dc2b3d94463) 5557 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1b71d709b44273380a21cd197d3ebb85) 5715 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1bdc1023fb4478270594d0e965eb90c9) 5443 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a0edbf435f928c1702dc879bc4862bbf8) (classParma__Polyhedra__Library_1_1Checked__Number_a1c255ab3c82434e261f010d0590810c0)]
+>> endobj
+20122 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a1ccbc462776ddeb1052d4c4fb35da65a) 5655 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a1e526c2cec217592b49a1636bd5f497d) 5595 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a2024878c4c26cb836d454e2e93f40c8f) 5439 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a249c56a7ba2a6ad434338028cbdd00fc) 5654 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a24e90bb8bb38d248aca79c76a1717d9d) 5457 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a1ccbc462776ddeb1052d4c4fb35da65a) (classParma__Polyhedra__Library_1_1Checked__Number_a257a415453078f71a54d6d0b3b57ff4d)]
+>> endobj
+20123 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a262ceb2e6dc438920274528c8d324344) 5661 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a26483f6bea8469aa377bf4a8fa77f64d) 5763 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a268aa30d717cdc7d07e60cf7c56712e6) 5505 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a298300b8f88eb674c317b99ad09a474b) 5438 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a339b5de27c5e23c9ac925b0a7f5bedcd) 5764 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a262ceb2e6dc438920274528c8d324344) (classParma__Polyhedra__Library_1_1Checked__Number_a33a5462cd5398fdbd61989d17aeeaa72)]
+>> endobj
+20124 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) 5588 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3dc4a1fb95b9f86f622fbe557265f85d) 5547 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3f0416bda0c321489e3eb1fdad315c2c) 5558 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a3f13c2c23ad04a1ca900396fc27d0150) 5652 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a404beea19c04f4e7bbcfe81aae0d6a7d) 5450 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a3cb9b031ec4e6fd7e53e53da5b0f04a1) (classParma__Polyhedra__Library_1_1Checked__Number_a45a8595dfc15e72d28fd31b5f4561bdd)]
+>> endobj
+20125 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) 5444 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4ab8f30000aaa8dd4ee1d92dc1afc37e) 5599 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4b2839dbccb2736dccbb58b0e589b5e3) 5781 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4bed59d493c4fd91537602efb267c938) 5436 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a4bffbfaa7f512a0a886493a1a057b135) 5503 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a461dbfcb8f68886137794e4a408fc55e) (classParma__Polyhedra__Library_1_1Checked__Number_a4ce2f9170fb3470ba10d87607c3c0bf3)]
+>> endobj
+20126 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) 5440 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a5371b59fd606148bacb3cd9ec41c5306) 5660 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a53e464cc638472234a399bfcc3fb4fd9) 5755 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a55e9dfdf5da9a55b7523bda6b7f56c78) 5458 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a589cc1d8001fd57ded3f964928e66738) 5549 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a4f3206ab2d3c47e2014e5b306167c7c0) (classParma__Polyhedra__Library_1_1Checked__Number_a5a4741faa2f2e8ebf45ed4e3cc044fe6)]
+>> endobj
+20127 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a5d0001ad77e62cf77498a9504d793c61) 5722 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a5dcbfe8e54c7b465495bc71274c62a98) 5757 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a5dee740c35d52d07415f0ba91e15b648) 5725 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a610ebadc0a8c71ad8575ea198e800655) 5656 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a627ac77a4752fde3c10792ee9f1673a4) 5506 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a5d0001ad77e62cf77498a9504d793c61) (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac)]
+>> endobj
+20128 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) 5446 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6a2d561ac8088ed64a0bb51d8fffcd9b) 5554 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6afe848ad84ff68d48142caf0599760a) 5501 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6b608bb6b2030aafbc57964f63f9a6de) 5779 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a6e4e84f9ccaf35d6c56acc6c6c3de53c) 5550 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) (classParma__Polyhedra__Library_1_1Checked__Number_a7148f41de04826e832fe479a0e859f46)]
+>> endobj
+20129 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a7341b0f373b6f29aabb059318c838dd0) 5762 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a749193ffeb01c2c18a87d7f2965d5dc5) 5600 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a74af0786f5787a7f7db0a2b6232e56a9) 5716 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a74b0a8cfdec7831e7a3e296b3e3751dd) 5445 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a77a2c5c27e9c0838fea6e6447b20c320) 5449 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7341b0f373b6f29aabb059318c838dd0) (classParma__Polyhedra__Library_1_1Checked__Number_a79f64d099a652834da74cc8fd68f2452)]
+>> endobj
+20130 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a7a8a423b9e5236053b363400e7789fad) 5784 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7c476dda1d63f9a52caece85a3a905d1) 5759 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7c68cdeac59035fabf1603a87f313f66) 5718 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7ce6dfd81e04c3eb8d196bf13a96ebe6) 5551 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a7e4efb96f10ef03b316495c90ae4313d) 5717 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7a8a423b9e5236053b363400e7789fad) (classParma__Polyhedra__Library_1_1Checked__Number_a7f00bb47581722220814a6a59803e255)]
+>> endobj
+20131 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) 5437 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8772f767006f16e376d8eca9b1578b73) 5510 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8abdf2e292960e1fb216ce3c2c0816ff) 5491 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a91459c49e4f7d7fc2dea0347e0489ce5) 5502 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a91dd10f097f76e4ffba7e5760368a526) 5596 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a80f6de87ec43c33fac3832b14a507c0b) (classParma__Polyhedra__Library_1_1Checked__Number_a93329bd6701b72b26d8336d090f04c86)]
+>> endobj
+20132 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) 5496 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a9d2cd0aa9626fd28ec99bde5bff4c020) 5454 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa03c7854d954ddbffa13a2aca58f22d0) 5724 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa0952cbf70240edacf4abd0f460f98c0) 5601 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa27860086ead05da8ac152dbd2d6fabe) 5783 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a98dae78cdd16f7127a4b3e18c3976562) (classParma__Polyhedra__Library_1_1Checked__Number_aa3de5a2fe7f06d0aa3e4972be2023933)]
+>> endobj
+20133 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_aa49993578916331f71d60ff1b9a3951d) 5782 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aa5caf9c1465a76332b9b809a1bf9f9a2) 5714 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aaf7ee24b1de8cacef61bc37c4d280bd6) 5780 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aafe0bdaacef3657f8ed1368c3d1f374a) 5552 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab19be1f26efb21370e8460b325a7f57c) 5499 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aa49993578916331f71d60ff1b9a3951d) (classParma__Polyhedra__Library_1_1Checked__Number_ab2c74f72a54a0b6a18906c124de256a9)]
+>> endobj
+20134 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) 5507 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab4d4a0ebee3fcc93490aa029028a810b) 5442 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab65c6e56b8c876fadd996e950403e318) 5760 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab74908b692bc6f8112f5d27b96141431) 5385 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ab75c0e7d52f4b166574fa66584ce92e4) 5556 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) (classParma__Polyhedra__Library_1_1Checked__Number_abdf3631e599e5641e1fea94cfd46a3a2)]
+>> endobj
+20135 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_abe7d7a2cba56d2668ac3306afeb98e38) 5598 0 R (classParma__Polyhedra__Library_1_1Checked__Number_abf60cc7fa60d33c4fe958126d55cbac2) 5448 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac0ef828e81a5c7625db3abadcafc8438) 5383 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ac8b0427ab092068fffe6c4db194e9602) 5553 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aca7c785640663dd43199b6f4c9262b99) 5452 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_abe7d7a2cba56d2668ac3306afeb98e38) (classParma__Polyhedra__Library_1_1Checked__Number_acca11ef67e39b711f96604b6bf806feb)]
+>> endobj
+20136 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_aceae8deb3688022d007eec835d772695) 5719 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ada0964a53a3426e1fc35355ed38a235c) 5451 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ade1c60421ba77dae4f75a2bf42e8511d) 5597 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ade4a2cd219350c0e41006c642f27bbd1) 5593 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ade4a5582f82333f20fd6a8be13ff8d7f) 5589 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_aceae8deb3688022d007eec835d772695) (classParma__Polyhedra__Library_1_1Checked__Number_ae0c5fe9f35e5e632c14c559b3f8b4723)]
+>> endobj
+20137 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_ae14ac67511e816b1a2f336a54695cddb) 5508 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae15725ff36519df514dce8b2a52c8f9e) 821 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ae4cfb147e2773008ad585185d07e1b79) 5659 0 R (classParma__Polyhedra__Library_1_1Checked__Number_aefab59adcb013d5714004cd6b196483e) 5650 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af0647cd431d30a9658d4bdc77e32d9e4) 5498 0 R (classParm [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ae14ac67511e816b1a2f336a54695cddb) (classParma__Polyhedra__Library_1_1Checked__Number_af1faacdc4d1bd9cc6efa3df48b9ab40d)]
+>> endobj
+20138 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_af3c2c2bca173e0697358e9c76afd4a60) 5658 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af47ee9cf59cfac8a346660698c61d113) 5447 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af5e8cc3b25cdc1ef3e37bb82a4e8c7c8) 822 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af9d7eaecf113e25020c55ed0bf79eb03) 5492 0 R (classParma__Polyhedra__Library_1_1Checked__Number_af9daca45c3c1d0d1afd57ab47c6cacd4) 5497 0 R (classParm [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_af3c2c2bca173e0697358e9c76afd4a60) (classParma__Polyhedra__Library_1_1Checked__Number_afad3fbdebb1ba319083c56fa2ae679e6)]
+>> endobj
+20139 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_afb84ec3fc2c8fedbb685c29bbdc7f3a8) 5723 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afc3e3bc6e3d2c5b002d930b32b9631bd) 5720 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afcb46dd5c0701130f067f577f99ef27f) 5456 0 R (classParma__Polyhedra__Library_1_1Checked__Number_afcba1dd5e579752d6dcc40ef4d5799b8) 5382 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression) 1774 0 R (classParma__Polyhedra__Library_1_1Con [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_afb84ec3fc2c8fedbb685c29bbdc7f3a8) (classParma__Polyhedra__Library_1_1Concrete__Expression__Common)]
+>> endobj
+20140 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a603e2a97c5ea7e4e81bad4464a9aba2b) 6085 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a6ceeebd94402797c5ad4a69f8bb73bcf) 6088 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a9eeea4961725654dcc5f4526fa729df1) 6087 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Common_aa1ae2d642bd66d32f64b708c28fbf044) 6084 0 R (classParma__Polyhedra__Library_1_1Concrete__Express [...]
+/Limits [(classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a603e2a97c5ea7e4e81bad4464a9aba2b) (classParma__Polyhedra__Library_1_1Concrete__Expression__Type)]
+>> endobj
+20141 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a0c0e22bb6388967d928cb6cde46b9196) 6112 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a1558ce3303b13a4d17df20c2f4d20ada) 6093 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a1b95213b929e61be2683bf1d9c220d70) 6114 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a5d1e8bb981043726cc2ffacfdd3c3013) 6094 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Typ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a0c0e22bb6388967d928cb6cde46b9196) (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a722647b9832d183eedcc441913b25edb)]
+>> endobj
+20142 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a7d15247c02efb42a971a2cddbd7ff70e) 6121 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_abf158dc171228668bd20a36339b60f10) 6110 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression__Type_aef17a5e76a36d74b648706582fd2487d) 6095 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression_a307595e3959d8b493eef756efaf0631b) 5999 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression_a34ee73e8a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Concrete__Expression__Type_a7d15247c02efb42a971a2cddbd7ff70e) (classParma__Polyhedra__Library_1_1Concrete__Expression_a51da7be45180533a6f05d193a193fde5)]
+>> endobj
+20143 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Concrete__Expression_a837cb016717cabc430d6309b2d5bd28f) 6000 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression_aa13879760b95faeaebfcd40e1723005b) 6001 0 R (classParma__Polyhedra__Library_1_1Concrete__Expression_ae9988816fab7d8ef0cae14eab37167fe) 5998 0 R (classParma__Polyhedra__Library_1_1Congruence) 1777 0 R (classParma__Polyhedra__Library_1_1Congruence__System) 1778 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Concrete__Expression_a837cb016717cabc430d6309b2d5bd28f) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator)]
+>> endobj
+20144 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) 6925 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a12f3d0ee3885355092a65262f24d46af) 6886 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a192ff11375b59075c9ea19a8c2b5511e) 6922 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a400c02f876d8f4e3f6aef2bfc5fb16cb) 6921 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a0ac88c873a13c4afa6f99d3d436e13a3) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_a97586e332fd16ccf6e7d642bb4bbf83e)]
+>> endobj
+20145 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) 6888 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae575efc6c01c4bf9968c7e27bb94951b) 6920 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_ae7c03963759dfdb937135a7f99165361) 6885 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_af0ea51d59b5026db43b2edd4cee928ba) 6887 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_adca809f9ebacacf70bc610d41bbaff47) (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd)]
+>> endobj
+20146 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) 6540 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a0dd6aa622dcadcee1746650f8ca164eb) 6536 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a11de7a0cc309058d6aee273d613c9432) 6601 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a1557515cde9d0030743cd45ce2471e0a) 6481 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a1685b5eb65ba36a9e715a8e3344dbcd8) 654 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) (classParma__Polyhedra__Library_1_1Congruence__System_a1a897aa9f5d0da382de3c8baafba247c)]
+>> endobj
+20147 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a20b0080e4a1abdb68ce945191c540b2e) 6607 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a21f1586e66349acf7aa0d70c77f92b60) 6598 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a2e45b62cb223f5a21ced82480712e64f) 6545 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a32012e3b09434b858367d216108e42c6) 6596 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a339fab488002bb5b341e1bb82edee103) 660 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a20b0080e4a1abdb68ce945191c540b2e) (classParma__Polyhedra__Library_1_1Congruence__System_a3fe60e1a76b2a92143004e52ccfcb7c7)]
+>> endobj
+20148 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) 6593 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a562fa08178e809398402920e5e674ff8) 6543 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a5c85932f5fb67a78d1faf8165783d5d3) 6542 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a6605130131af1ca6e54f8ce1e71a993b) 6606 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a6e742d7ffa4f4b7037760cf3ebf62348) 659 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a548ae200545f7d25b875f190b5611368) (classParma__Polyhedra__Library_1_1Congruence__System_a705b9ccde802cccb058145896a399b50)]
+>> endobj
+20149 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) 6548 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a7c083d56e96fb1b5bc3c5fb23350f0a2) 6551 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a87998e7258a2c529be20f456ded30c90) 6605 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a8bca7707491a770d78b523ae5570b139) 6479 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a8f66b17d5e71aebc89be0af0e3a4c7df) 655 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a77c72d8473dc3e9856d7ff6c05ce7b07) (classParma__Polyhedra__Library_1_1Congruence__System_a8f78066abbc29188a3dccfad42477aec)]
+>> endobj
+20150 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) 6482 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a9e8a61b2b759dde8f65219688548ffaa) 6544 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa341843d5eadfc196441cad0af63ac9d) 6549 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa83361b2264ca8ed30599dca32447874) 6603 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aa8e40c27df6ef5afcad226530be53c54) 647 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a9d7fe3b07d9e1d35c04fa2d81e32bf34) (classParma__Polyhedra__Library_1_1Congruence__System_aaf3b18ae83d99811dad22d336a1a117f)]
+>> endobj
+20151 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_ab8ae5d861fb56c8ed906f604be7c4f02) 6534 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ac759e2fa9ea2058d86292dc3c5b43a7a) 6533 0 R (classParma__Polyhedra__Library_1_1Congruence__System_acf4cf2f1d8c3e1d339b1eddc94139272) 6484 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ad05bc9046303661aa532423ac5a5c16d) 6546 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ad7c61256a3d02a8f345701bf5eabdf6b) 659 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_ab8ae5d861fb56c8ed906f604be7c4f02) (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f)]
+>> endobj
+20152 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) 6547 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aeb80e8469483bf1408d49901fee73802) 6483 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aec5860620ae92988c1740dc393064fe7) 6594 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aedf8e546cc63ff0ade5d34cb995beb09) 6608 0 R (classParma__Polyhedra__Library_1_1Congruence__System_aee8ca9a278a53c88ad387a619bc80f27) 653 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) (classParma__Polyhedra__Library_1_1Congruence__System_af97f2d43a487ec81e040aec36bbc6ebe)]
+>> endobj
+20153 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) 6535 0 R (classParma__Polyhedra__Library_1_1Congruence_a016c2304fe3a1a73988eb83b2ccf1fe9) 6336 0 R (classParma__Polyhedra__Library_1_1Congruence_a07bb90eb18242945afb161e4deadb09e) 6265 0 R (classParma__Polyhedra__Library_1_1Congruence_a0ff04e47054c14b2edf29096ecc95ab7) 6247 0 R (classParma__Polyhedra__Library_1_1Congruence_a11d3ecf7df43ab6f40620de32004f339) 6184 0 R (classParma__Polyhedra__Li [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_afefca839fc7b4d2d166e7a1fe6196fd5) (classParma__Polyhedra__Library_1_1Congruence_a146b211f83e22bd011d3de2e5975073b)]
+>> endobj
+20154 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) 6268 0 R (classParma__Polyhedra__Library_1_1Congruence_a29c6deef0eb3911adbb08d36a8f0b3f2) 6188 0 R (classParma__Polyhedra__Library_1_1Congruence_a2ca2446f563956eb2b92ddd17e5c0b2c) 6260 0 R (classParma__Polyhedra__Library_1_1Congruence_a2cb39e7c88e9e724e7970d0e953f2c81) 6350 0 R (classParma__Polyhedra__Library_1_1Congruence_a33e6005a1fe40cb202eb619912c25c3c) 6248 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a29c63b939ed830a0395170835e60beaf) (classParma__Polyhedra__Library_1_1Congruence_a39b6f38fff55dd953ec509b3739dd17d)]
+>> endobj
+20155 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) 6176 0 R (classParma__Polyhedra__Library_1_1Congruence_a408ca35042312cfb3c8fb63d41ed2bf5) 6351 0 R (classParma__Polyhedra__Library_1_1Congruence_a42e13324ee4f4b86975c282078a646fb) 6174 0 R (classParma__Polyhedra__Library_1_1Congruence_a43983a6ee447e480f8700915bccb4811) 6249 0 R (classParma__Polyhedra__Library_1_1Congruence_a484373d269a31c21efae44a83f8be6f0) 6246 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a3c9879f0c9dcb81fe1bbf78828509ef6) (classParma__Polyhedra__Library_1_1Congruence_a501af16aca73aef5735b86c5240c8974)]
+>> endobj
+20156 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) 6348 0 R (classParma__Polyhedra__Library_1_1Congruence_a584cb5084fe5479b0c373e3d17fe5ffd) 6175 0 R (classParma__Polyhedra__Library_1_1Congruence_a5a207ecd92e9fd8f3b1937a5064746a9) 6258 0 R (classParma__Polyhedra__Library_1_1Congruence_a5f3003416d324720351da9235a0a3802) 6338 0 R (classParma__Polyhedra__Library_1_1Congruence_a6609e54e84d50cd074c2dd65f38b47da) 6189 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a54cdd6074f90a5623c8ae7ddcfedc5c2) (classParma__Polyhedra__Library_1_1Congruence_a6a24743a95176da13995bb6c17151c9b)]
+>> endobj
+20157 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) 6347 0 R (classParma__Polyhedra__Library_1_1Congruence_a77a4ec4e4b5b11f3ce61f6c6701d8a7d) 6262 0 R (classParma__Polyhedra__Library_1_1Congruence_a792bc245b5674677eb1cf9cb5d10def9) 6180 0 R (classParma__Polyhedra__Library_1_1Congruence_a79c648d88214174287e3763b804f4aaf) 6183 0 R (classParma__Polyhedra__Library_1_1Congruence_a844aeb45177c00f4d4ad0755509d9e69) 6178 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a7415de7b412a5e297810ff35a97a2849) (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735)]
+>> endobj
+20158 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) 6252 0 R (classParma__Polyhedra__Library_1_1Congruence_a95560c356a7aa70cccb41b866a8455c0) 6172 0 R (classParma__Polyhedra__Library_1_1Congruence_a9aa9789183ac22bcb28a092c3e1f804f) 6256 0 R (classParma__Polyhedra__Library_1_1Congruence_aa03b119140132112557907b772102b33) 6185 0 R (classParma__Polyhedra__Library_1_1Congruence_aa948df90fc7880e7e52ceef297ee9bbf) 6349 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) (classParma__Polyhedra__Library_1_1Congruence_aaf7dc46b2cfbd6650ac1d2035d331f15)]
+>> endobj
+20159 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) 6171 0 R (classParma__Polyhedra__Library_1_1Congruence_ab6054ead00332969adad17cdf785088b) 6340 0 R (classParma__Polyhedra__Library_1_1Congruence_ab917a480b6afe7e2750aa2862c6783cf) 6259 0 R (classParma__Polyhedra__Library_1_1Congruence_aba7dbedd485eab91821f129132a04723) 6181 0 R (classParma__Polyhedra__Library_1_1Congruence_aba9d8397055aa341d1ffc6702f67e60f) 6264 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_ab45e800217e1c61d8595e2ffc51a83ad) (classParma__Polyhedra__Library_1_1Congruence_ac26379e5f82fd0223682b11b9e052ea5)]
+>> endobj
+20160 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) 6250 0 R (classParma__Polyhedra__Library_1_1Congruence_ad07dc0dabac5685f9db8d9dc11e513f1) 6261 0 R (classParma__Polyhedra__Library_1_1Congruence_ad76648f21279e7e7c852cfc1daa1887f) 6173 0 R (classParma__Polyhedra__Library_1_1Congruence_ad8229aed551687502c5af78a4143254f) 6253 0 R (classParma__Polyhedra__Library_1_1Congruence_adeee840f3313b6050d439dbe5fe2fdd7) 6344 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_ac53e4323b140cdd4ba1ac96e7204d93a) (classParma__Polyhedra__Library_1_1Congruence_ae0c9395c1ac4d96e245be43fcd76424c)]
+>> endobj
+20161 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_ae79e04eb36dcf5595f3c664093686c3f) 6179 0 R (classParma__Polyhedra__Library_1_1Congruence_ae96eebded76c559c95910dc233c68f06) 6186 0 R (classParma__Polyhedra__Library_1_1Congruence_aeb05cfafe5dbcb57a7f831180204ef7f) 6170 0 R (classParma__Polyhedra__Library_1_1Congruence_aed38df906a6f7c01305168df91d7d095) 6263 0 R (classParma__Polyhedra__Library_1_1Congruence_aef9838273809d695f9c52a96b37123b6) 6182 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_ae79e04eb36dcf5595f3c664093686c3f) (classParma__Polyhedra__Library_1_1Congruence_af66a2692f29cc03aa773c48a2cc644ab)]
+>> endobj
+20162 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) 6269 0 R (classParma__Polyhedra__Library_1_1Congruence_afd55d0cb3ab31c5e800c18eb849aa295) 6254 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction) 1779 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_a1b6e413a75c138ef87cc373df0d25194) 6662 0 R (classParma__Polyhedra__Library_1_1Congruences__Reduction_a302c20124e5caa73cb5a860a57d6be5e) 6666 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_afcf86304f17dc474e1e5bbe0486c1b59) (classParma__Polyhedra__Library_1_1Congruences__Reduction_ac1c1301f7ca50550e48eb2e0e57528d0)]
+>> endobj
+20163 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) 1231 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a017b50a53d3f73e61cb5c9d787cb1907) 7064 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a20a1a23e17edcba771385da4510f4786) 7061 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a4ea19117641ead1de64af7d71bf323fc) 7099 0 R (classParma__Polyhedra__Library_1_1Constant__Float [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression) (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a79a27720fc3f7a3e989f10ebdb6b2800)]
+>> endobj
+20164 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a843388f4bb21a15bf18a841237a8a617) 7102 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a8669f7f8a54a22c294c94b36106edfb4) 7063 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_aa272377eb99f1a8b4b48114da9bc6051) 7062 0 R (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_aade09211d1e3917155860ba21f953756) 7101 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a843388f4bb21a15bf18a841237a8a617) (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_ae6c6807b378b537aea1651c3940c0161)]
+>> endobj
+20165 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint) 1787 0 R (classParma__Polyhedra__Library_1_1Constraint__System) 1788 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator) 1789 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a168ed0cbd2cf59717febf52a6d6e107a) 7770 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a177ecd1fb2bec07a416a3369f22d068d) 7774 0 R (classParma__Polyhedra__Library_1_1Constraint__System [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint) (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a40dee04f6adce4b8c60a569662f37f96)]
+>> endobj
+20166 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a4948dd7324bd5d7a28e142a66ba5f875) 7767 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a6d8bd16c6f8ccff0228956f76a9b7464) 7773 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a8ab042e81927db600ee725d3c983b252) 7766 0 R (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aa1ff4528466150c5a3ce8d110c0c92e1) 7765 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_a4948dd7324bd5d7a28e142a66ba5f875) (classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_acefade434fe64088a872391d152455c1)]
+>> endobj
+20167 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aeeafd2e88e461b1f480c37995d105714) 7772 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a09afd391300355989769ad52d3cc97aa) 7659 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a2552e7a194f5fb0d591bafb591b91968) 7712 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a2b451e6b09162c7c19b0a2ad36545c69) 7714 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a2b9db6ddc26573299d41 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System__const__iterator_aeeafd2e88e461b1f480c37995d105714) (classParma__Polyhedra__Library_1_1Constraint__System_a2cd0082c00a9bf823852c95674680b48)]
+>> endobj
+20168 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) 7666 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a32d97203a9cbf1abf97af74fc70df05b) 7656 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a3410a53827de9155ac7d6cbd84263364) 7667 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5498315352fd30826df848010c6bac1d) 7655 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a5a79ce2b52efebd42da2736164a043ad) 771 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a314eb5fed86c6bbe4a7223ca8362f0a9) (classParma__Polyhedra__Library_1_1Constraint__System_a5cebd3d6d6ec070c47682e77b0248f22)]
+>> endobj
+20169 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) 7663 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a6293b813e42a59a9795cafe0efa762cc) 7721 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a67f95ed6867827f03a6af0a7334376e3) 7711 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a6aec148aa41935a4072c64a43c51c577) 7664 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a70e9ad42674d62ed9bd73268e3af7064) 771 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a5fbb0274f3a0a91ad283aef6e608909a) (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad)]
+>> endobj
+20170 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) 7661 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a8388d0d6d7ff68c627d516ec17f56b4c) 7665 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a92333180e0163e9c87f2220dceef012d) 7669 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a964e4bcbbfde58f43977d0a8e686ec35) 7657 0 R (classParma__Polyhedra__Library_1_1Constraint__System_a999f627225c179795a8922d8335065fe) 771 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) (classParma__Polyhedra__Library_1_1Constraint__System_ab79c93f68d0f4589de855e872f9e72f6)]
+>> endobj
+20171 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) 7718 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ad350b84c25b7c37693d2e7a08d3165ca) 7709 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ad876557324aba0b545e25ebabe5a064b) 7660 0 R (classParma__Polyhedra__Library_1_1Constraint__System_add9738866968b13e938d5669dd94a55e) 7723 0 R (classParma__Polyhedra__Library_1_1Constraint__System_adfa7b03e2ac3a6666a7538431f1bdee9) 765 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_ac3223cf8c7d19b02b5e3c04038024b47) (classParma__Polyhedra__Library_1_1Constraint__System_ae36d644db84375b3aed9a748c6dff35b)]
+>> endobj
+20172 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) 7720 0 R (classParma__Polyhedra__Library_1_1Constraint__System_af2d6708545759fc6836df550bab529a0) 7654 0 R (classParma__Polyhedra__Library_1_1Constraint__System_af59c44aeed3fb4b88852730664a84e9e) 7707 0 R (classParma__Polyhedra__Library_1_1Constraint_a01c6cce6c756073f1684c4e7debd554e) 7199 0 R (classParma__Polyhedra__Library_1_1Constraint_a047a99eb91872d19730f4fd14a81f55c) 7355 0 R (classParm [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_aea9a4fb9807eb61cda3eedf8e5a7acae) (classParma__Polyhedra__Library_1_1Constraint_a097e454cd31f0dddb7e7a7ceab1a2511)]
+>> endobj
+20173 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) 7259 0 R (classParma__Polyhedra__Library_1_1Constraint_a0ab383f3930179982937f7733a283a03) 7251 0 R (classParma__Polyhedra__Library_1_1Constraint_a0ab38d6ea061e7c2cb1595ba9cf2fd42) 7260 0 R (classParma__Polyhedra__Library_1_1Constraint_a0d50a5df6b31c6de90fe366e18e750ff) 7256 0 R (classParma__Polyhedra__Library_1_1Constraint_a0e0942b92b2f099b4ad4897d2b986dea) 7202 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a09c8fc0753a389cc42f84c12f7920832) (classParma__Polyhedra__Library_1_1Constraint_a182ea33f63c0eea708e02a32b0904f30)]
+>> endobj
+20174 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a19173722ebe43fed184ef76abfb1c28c) 7268 0 R (classParma__Polyhedra__Library_1_1Constraint_a1e7682395739069fa5bee820540b2bd3) 7257 0 R (classParma__Polyhedra__Library_1_1Constraint_a239b0622fbcfe1638b4246deab2caa29) 7193 0 R (classParma__Polyhedra__Library_1_1Constraint_a2679da4dbd5b8c33ef607aee49690c2a) 7263 0 R (classParma__Polyhedra__Library_1_1Constraint_a29202eb817eb5c9d59433abeeb4f2eea) 7264 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a19173722ebe43fed184ef76abfb1c28c) (classParma__Polyhedra__Library_1_1Constraint_a2935fff040a5b31930fff594a0b2596d)]
+>> endobj
+20175 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) 7359 0 R (classParma__Polyhedra__Library_1_1Constraint_a32d23987abcbb26d66dcc31aa003b70d) 7482 0 R (classParma__Polyhedra__Library_1_1Constraint_a340e8b886fb185bed798dcbc1391c126) 7476 0 R (classParma__Polyhedra__Library_1_1Constraint_a36a0c8ccab7923610bd27f637af63e1d) 7201 0 R (classParma__Polyhedra__Library_1_1Constraint_a3c1dcd74ba0b2509f45aad45a5d922ce) 7190 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e)]
+>> endobj
+20176 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a405f3dfb1b620defbadb0b2f103b8f28) 7206 0 R (classParma__Polyhedra__Library_1_1Constraint_a423e3bb0d9886c630c3c227def9f2073) 7360 0 R (classParma__Polyhedra__Library_1_1Constraint_a442aecbe0ce384a7c1add146fb125ed6) 7248 0 R (classParma__Polyhedra__Library_1_1Constraint_a448b4387171ec166085eb46aacedaad9) 7357 0 R (classParma__Polyhedra__Library_1_1Constraint_a4b4c0277d3b6c85ab6633ae9f5e235c6) 7347 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a405f3dfb1b620defbadb0b2f103b8f28) (classParma__Polyhedra__Library_1_1Constraint_a50213d8479884e1f0d7fae1c4f817943)]
+>> endobj
+20177 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) 7349 0 R (classParma__Polyhedra__Library_1_1Constraint_a600a652347fb8718e0bc05f7230b8d8a) 7471 0 R (classParma__Polyhedra__Library_1_1Constraint_a61208276a246a505bd753ffbb568bfe7) 7351 0 R (classParma__Polyhedra__Library_1_1Constraint_a61bc4f536e4c04b9594e1b6c7e13d76e) 7470 0 R (classParma__Polyhedra__Library_1_1Constraint_a660c04b4c90264ea97b3367acb01e8a9) 7185 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a54742578f3ff98e32e7e15d6b554f13f) (classParma__Polyhedra__Library_1_1Constraint_a6742bd7f3f2cb079b96900dda0147940)]
+>> endobj
+20178 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) 7194 0 R (classParma__Polyhedra__Library_1_1Constraint_a78c24741e21a4406ea8ad1588c768147) 7250 0 R (classParma__Polyhedra__Library_1_1Constraint_a7bdaff085ea6859cdec9b27bffb6de4b) 7254 0 R (classParma__Polyhedra__Library_1_1Constraint_a852f422dfdf14a1e8a97b4dad77f7e36) 7346 0 R (classParma__Polyhedra__Library_1_1Constraint_a858b9fe39b14cf51d179a84be1605436) 7481 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a745ac1cdddf74c6f387cfbbbc566dc78) (classParma__Polyhedra__Library_1_1Constraint_a85ca415a40fbd066ad850e26b1fe1653)]
+>> endobj
+20179 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) 7353 0 R (classParma__Polyhedra__Library_1_1Constraint_a8d9338b98f6d33e111c0c0d70508b4ee) 7187 0 R (classParma__Polyhedra__Library_1_1Constraint_a8e5a205098d89ad9473676ae57f29ac5) 7342 0 R (classParma__Polyhedra__Library_1_1Constraint_a93d5d6abf06ec551294c4c18abb4349d) 7255 0 R (classParma__Polyhedra__Library_1_1Constraint_a9960963fb1f8fb56631e0402557065ae) 7249 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a89943bdfa5424bf7acecc51a7b6949c8) (classParma__Polyhedra__Library_1_1Constraint_a9a66ca9c0638705ea9620ecb49a41852)]
+>> endobj
+20180 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) 7189 0 R (classParma__Polyhedra__Library_1_1Constraint_aa8a21b3b30b29ca087ecc032d1a3f922) 7267 0 R (classParma__Polyhedra__Library_1_1Constraint_aaf207e746f4a3dc2722e254612dab3b3) 7261 0 R (classParma__Polyhedra__Library_1_1Constraint_ab0f18894c8f97fa0cd38736462f36132) 7253 0 R (classParma__Polyhedra__Library_1_1Constraint_ab12acbd3962ac07c4db8f1994351668b) 7478 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a9dc926136daee1f47975434ee45298ec) (classParma__Polyhedra__Library_1_1Constraint_ab3186208850238a080373f035cd532cc)]
+>> endobj
+20181 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) 7246 0 R (classParma__Polyhedra__Library_1_1Constraint_abbde4b86cfca3e29a917650f4c9c62d5) 7341 0 R (classParma__Polyhedra__Library_1_1Constraint_abdd61469bc5c6dfc6e97f306a751035c) 7469 0 R (classParma__Polyhedra__Library_1_1Constraint_ac7bf9d127644aa14a09eab633e87f544) 7186 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6ab) 7195 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_ab6976f576e6e50941ee7a7b1a737c0eb) (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e)]
+>> endobj
+20182 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) 7196 0 R (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abac1539389d3643cf986ef5bb99697d1cc) 7197 0 R (classParma__Polyhedra__Library_1_1Constraint_acc5c5125e7237c5913981b99a502f332) 7350 0 R (classParma__Polyhedra__Library_1_1Constraint_accc738986aa1e74d232da8c9cc10966a) 7192 0 R (classParma__Polyhedra__Library_1_1Constraint_acedadd7f774 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) (classParma__Polyhedra__Library_1_1Constraint_ad3ea3f2d15908e9ae70759f247c39727)]
+>> endobj
+20183 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) 7354 0 R (classParma__Polyhedra__Library_1_1Constraint_adda5908777a9d901f2e7bcf7f61b9d67) 7480 0 R (classParma__Polyhedra__Library_1_1Constraint_ae3674890a93b407b8080fdd7ea85d93f) 7184 0 R (classParma__Polyhedra__Library_1_1Constraint_ae3cacddb2450b8b685b8f39936a2b69d) 7472 0 R (classParma__Polyhedra__Library_1_1Constraint_ae615df068adfbb40a0b0b7a993579d22) 7473 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_adba3d929f4317a38ad387c5b45a91199) (classParma__Polyhedra__Library_1_1Constraint_ae73aae9c2283b936cdaf92e13ab5d727)]
+>> endobj
+20184 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) 7477 0 R (classParma__Polyhedra__Library_1_1Constraint_aea0fedb82a525e6ada13cd7fd2d03225) 7265 0 R (classParma__Polyhedra__Library_1_1Constraint_af023b7e8ad5a15b2617878bf2bf93d5c) 7343 0 R (classParma__Polyhedra__Library_1_1Constraint_af06b2331eb3d080794682080b7f7eb1d) 7358 0 R (classParma__Polyhedra__Library_1_1Constraint_af245f065572b31c8ca97e196e45f9cf9) 7352 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_ae86d21a6490f299af6229d70cf20c3ba) (classParma__Polyhedra__Library_1_1Constraint_af2eb5d22ef23937a261cfe3f6bc435e6)]
+>> endobj
+20185 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) 7266 0 R (classParma__Polyhedra__Library_1_1Constraint_afbee4abe5b3b83f47971e19f47f3bb53) 7205 0 R (classParma__Polyhedra__Library_1_1Constraint_afe7cc9f7ed389844bb2484ba6bebdde0) 7479 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction) 1790 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_a383574ff4028da9048235b061a613b99) 7793 0 R (classParma__Polyhedra__Library_1_1Constrain [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_af8fcee7f8582b0afc9115eb1304c24f9) (classParma__Polyhedra__Library_1_1Constraints__Reduction_a87f25b7a2988f918a20b3d09047b08ab)]
+>> endobj
+20186 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) 7789 0 R (classParma__Polyhedra__Library_1_1Determinate) 1791 0 R (classParma__Polyhedra__Library_1_1Determinate_a062f93b32c2103c74d7a91cfa027a82a) 7883 0 R (classParma__Polyhedra__Library_1_1Determinate_a079249fd8d7a54f2b876c1cecd42ab77) 7833 0 R (classParma__Polyhedra__Library_1_1Determinate_a086c7f397ab21146fde044139d607227) 7826 0 R (classParma__Polyhedra__Library_1_1Determinate_a0aec [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraints__Reduction_a898fefd81641cf4f6b854e85412a415c) (classParma__Polyhedra__Library_1_1Determinate_a0aec62be016edf40df1aeab68610290d)]
+>> endobj
+20187 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) 7886 0 R (classParma__Polyhedra__Library_1_1Determinate_a3596cd03bb91402d705bbf959506cb4b) 7836 0 R (classParma__Polyhedra__Library_1_1Determinate_a452974abf6ea3b81ac94e4c004bac876) 7897 0 R (classParma__Polyhedra__Library_1_1Determinate_a46f440596ccf2c1f53a4d312af97cc0c) 7889 0 R (classParma__Polyhedra__Library_1_1Determinate_a5c44d3d0955540b98975a14f5b97e942) 7895 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a2cca0fbafd235d3e82edcbc0f3c41d3c) (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be)]
+>> endobj
+20188 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) 7885 0 R (classParma__Polyhedra__Library_1_1Determinate_a773a5ffce9cb4be2b75dfb92177d9ec5) 7891 0 R (classParma__Polyhedra__Library_1_1Determinate_a775560d42dce1a47cd1cdedafb46d0fc) 7835 0 R (classParma__Polyhedra__Library_1_1Determinate_a92fe35a10fee9c27d0958a9d4a3b5bf4) 7830 0 R (classParma__Polyhedra__Library_1_1Determinate_a97bcf298710d2a89ee8c29d457fc925b) 7888 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) (classParma__Polyhedra__Library_1_1Determinate_ab922f32fb84e011b67fee7ac6b69d509)]
+>> endobj
+20189 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_abbd1a3e57c1f33d638b4ae3aa852416f) 7896 0 R (classParma__Polyhedra__Library_1_1Determinate_aced7c94ba2c14044e98327ac0bd11dd6) 7894 0 R (classParma__Polyhedra__Library_1_1Determinate_ad353ea3809ab22bb775fc17e65b6ab94) 7827 0 R (classParma__Polyhedra__Library_1_1Determinate_ad35fd6a6bd2b3ddf76f6a85e33ada2cd) 7834 0 R (classParma__Polyhedra__Library_1_1Determinate_ad4366a1eb42053ac30ef197d59f92707) 7838 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_abbd1a3e57c1f33d638b4ae3aa852416f) (classParma__Polyhedra__Library_1_1Determinate_ad97c1aed499bc56468b3ab250b235b38)]
+>> endobj
+20190 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) 7831 0 R (classParma__Polyhedra__Library_1_1Determinate_ae8fb80899b7c136573ec8f42beb8a207) 7887 0 R (classParma__Polyhedra__Library_1_1Determinate_af01a65d9370eabfc5e47d8b613b37b0a) 7882 0 R (classParma__Polyhedra__Library_1_1Determinate_af537493853b0d1460f9d868c122ae4c1) 7890 0 R (classParma__Polyhedra__Library_1_1Determinate_afa57568993488dd0803021cbaa06f3fa) 7828 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_ae04186768b7847971b787e23badc4682) (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression)]
+>> endobj
+20191 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a02d8b929a48de1c69e0e0d702359ec53) 7966 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a1a5c8e881f8449ae038fc40642062df6) 7951 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a1f3d0a78d4643a39b5bb1e57e9f75966) 7979 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a3ae2260455d60d464a71a9b82e49cc9e) 7954 0 R (classPa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a02d8b929a48de1c69e0e0d702359ec53) (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_a8ce651047fdd482308082762faeaa1f2)]
+>> endobj
+20192 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_aac178c76c46ac4796dc7c382ec2169ae) 7957 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_ab156f789e720f2d04086a672448ded40) 7952 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_abd3924517707378fc8a0addaeda7281d) 7987 0 R (classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_af0800054c69699766ed5188e3e11641c) 7955 0 R (classPa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Difference__Floating__Point__Expression_aac178c76c46ac4796dc7c382ec2169ae) (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a164b02df3563d0cac9dcf896537051c8)]
+>> endobj
+20193 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a443736bb8156073cf1c5f672737eb02b) 8039 0 R (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a4e31289c7f2b430f3ee16db365000bef) 8069 0 R (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a5c97434b373dda7d6f4f882478dcca61) 8067 0 R (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a6cfe9f46fa0f15b09149f89ef35430c4) 8040 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_a443736bb8156073cf1c5f672737eb02b) (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_aadb6d4669e8aa852e2f3d11e40c8c211)]
+>> endobj
+20194 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) 8038 0 R (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_abf9798785b87d68e6ff2db95401536a7) 8077 0 R (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_adaf83ce888c996163559b520ebda628c) 8037 0 R (classParma__Polyhedra__Library_1_1Domain__Product) 1834 0 R (classParma__Polyhedra__Library_1_1FP__Oracle) 1840 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) (classParma__Polyhedra__Library_1_1FP__Oracle_a34f9d9a55678514e434ebed37cf89f01)]
+>> endobj
+20195 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1FP__Oracle_a534e99d940f191cba72c31acb19989cc) 8403 0 R (classParma__Polyhedra__Library_1_1FP__Oracle_a70b0fbcc1272e8bb764a95cb3f1e2d17) 8385 0 R (classParma__Polyhedra__Library_1_1FP__Oracle_ae11646b9e6b853245a5d04301f39c134) 8405 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Constant) 1838 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Constant__Common) 1839 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1FP__Oracle_a534e99d940f191cba72c31acb19989cc) (classParma__Polyhedra__Library_1_1Floating__Point__Expression)]
+>> endobj
+20196 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) 8094 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a1227429514fcb31eb82e53cfee117251) 5311 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5612670116c6576925acad22b7df89e5) 5357 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a5fec18209ac7b45aa96a0e42680cbe49) 7073 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expr [...]
+/Limits [(classParma__Polyhedra__Library_1_1Floating__Point__Expression_a0b4f0cf30d6df8fd251719d179ab71dd) (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a66d27330f68cd1e721e3253daa389416)]
+>> endobj
+20197 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) 5355 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_a8bd1db7ffbb10f889201b84ebac733bf) 5356 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ac4bd733422313639358cb5c241cd0637) 5312 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expression_ad188910a1f5315a330c49dc7eaf6eaa5) 7109 0 R (classParma__Polyhedra__Library_1_1Floating__Point__Expr [...]
+/Limits [(classParma__Polyhedra__Library_1_1Floating__Point__Expression_a7b182efb244aa0474fe13b0971599240) (classParma__Polyhedra__Library_1_1GMP__Integer)]
+>> endobj
+20198 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) 9283 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a081a1af02e55d9903d0bf3816a6e91f1) 9281 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a11810ad660a4aa63766e8ebb0334b7d6) 9234 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a29b14636d21c90e28ee1821666dc1d64) 9235 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a2f220b5f73e79a2e6feab3a97a7e2445) 9236 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a01c5bdd401e8bc17ea983d941be2aa49) (classParma__Polyhedra__Library_1_1GMP__Integer_a38ab8dc3ca19cacef112ca316bc7ce09)]
+>> endobj
+20199 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) 9233 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a6d5c75bcc32f8aea006e8da4b3f736b2) 9268 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a6e613e3f02e896503d38da788ad593b8) 9229 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a7f9dc23eef0ab2ef9d07f4d53177afce) 9277 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a83b02e8cbb5d14a2ebf2843e6551391d) 9279 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a4039bbdc92a28fade431cb98f20b0fa6) (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c)]
+>> endobj
+20200 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) 9278 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_a9a22818e12d0abab8d8a8e0d3346f51a) 9231 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_ab8dbbfce1fd68d57df6b05d5cc74c012) 9230 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_abc1d7e892f343522c751d672d5632f17) 9282 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_acf54a358f4ddf09f56364da87de68a49) 9232 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) (classParma__Polyhedra__Library_1_1Generator)]
+>> endobj
+20201 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System) 1842 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator) 1843 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a53db1aeb67216c949d1aa627299ab5bf) 9188 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a71f52ba9ef61e0f336d025241003646c) 9187 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a76aee99fe2a1984162c8efbf867a97b2) 9184 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System) (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a7ec7cf59ce4c8e5902704637c02f39bd)]
+>> endobj
+20202 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a8ba666eb5beace7b116d9f9e16e9a742) 9181 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a94534f2d8132436533398ce6cdca13c8) 9180 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_acd703faaddfab4f29bdd2958b4a9d1c3) 9179 0 R (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_ad21fe8d252487a1df3b3c90f94fbcfb0) 9185 0 R (classParma__Polyhedra__Libr [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System__const__iterator_a8ba666eb5beace7b116d9f9e16e9a742) (classParma__Polyhedra__Library_1_1Generator__System__const__iterator_aff430afd2381244ef77bb37670ce5627)]
+>> endobj
+20203 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) 9110 0 R (classParma__Polyhedra__Library_1_1Generator__System_a071ec60375df0a0f5051dc431f445e37) 9109 0 R (classParma__Polyhedra__Library_1_1Generator__System_a25fce97f25e1814c62ec46b7a04ee942) 9103 0 R (classParma__Polyhedra__Library_1_1Generator__System_a2b29f5668213f9171cfdc666ef4142ea) 9098 0 R (classParma__Polyhedra__Library_1_1Generator__System_a37abf9e26c109cf608ec7829284883ec) 9113 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a02b52b4ef5b1806566495cb7b6d35abb) (classParma__Polyhedra__Library_1_1Generator__System_a558bee1e7045c2ed558e68002cb3dd4f)]
+>> endobj
+20204 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) 9044 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6135986b7669c295a1855279a9347433) 9047 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6b57cf93153051d3aa63c33e34ee4127) 9100 0 R (classParma__Polyhedra__Library_1_1Generator__System_a6e9c19c25562f9d1a71523d00b337450) 9111 0 R (classParma__Polyhedra__Library_1_1Generator__System_a7072dc2f1979eb1198aea49e10bcd59d) 9105 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a5b6f5bd4d4b79ef1721075830c19716d) (classParma__Polyhedra__Library_1_1Generator__System_a7b9d70f9508c08b9a86272878ca03b5f)]
+>> endobj
+20205 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a7bda239eefab2b9cc9cabc123bbaef31) 9093 0 R (classParma__Polyhedra__Library_1_1Generator__System_a804b0e848b19f18d99664d5bbd57a3f1) 9048 0 R (classParma__Polyhedra__Library_1_1Generator__System_a92ed2a28d3c4689eec62eae04cdc2520) 9091 0 R (classParma__Polyhedra__Library_1_1Generator__System_a9eef881b5ea4e9dae4b2ff713a43af79) 9096 0 R (classParma__Polyhedra__Library_1_1Generator__System_a9fe4a78fa5899317f5a060d7b607b5c1) 9101 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a7bda239eefab2b9cc9cabc123bbaef31) (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d)]
+>> endobj
+20206 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) 9097 0 R (classParma__Polyhedra__Library_1_1Generator__System_aaf6afcf59d181946f02b27418d9b651a) 9092 0 R (classParma__Polyhedra__Library_1_1Generator__System_ab0063024b3761b3ff89c3f259ebac6fe) 9104 0 R (classParma__Polyhedra__Library_1_1Generator__System_ab174d3f8d008aca83801ae0de294528d) 9099 0 R (classParma__Polyhedra__Library_1_1Generator__System_ab9156785517cdd6c775b365ea12d2d18) 9106 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) (classParma__Polyhedra__Library_1_1Generator__System_acb15b3a65e5dba1c113539f2912c75f8)]
+>> endobj
+20207 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) 9095 0 R (classParma__Polyhedra__Library_1_1Generator__System_acea4ab79eb91ca6bad6a126f08de1cc5) 9046 0 R (classParma__Polyhedra__Library_1_1Generator__System_ad53075833d1bde0c9e36dd70afb4b967) 9108 0 R (classParma__Polyhedra__Library_1_1Generator__System_adcd147a1c5474a820c7379514f629fda) 9133 0 R (classParma__Polyhedra__Library_1_1Generator__System_aed024de0dc1ad69e380f706d25740cb0) 9050 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_acce6ad80815e7d09970ed92968967585) (classParma__Polyhedra__Library_1_1Generator__System_afb150cd8c06fd986b4b57ffe29bc871e)]
+>> endobj
+20208 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) 8600 0 R (classParma__Polyhedra__Library_1_1Generator_a0c26ae11a4146369ff86288347cc54db) 8699 0 R (classParma__Polyhedra__Library_1_1Generator_a137b1f86858576e71034aec1ce54fd65) 8852 0 R (classParma__Polyhedra__Library_1_1Generator_a13c726daa7d565ded0b177e24b6d1104) 8582 0 R (classParma__Polyhedra__Library_1_1Generator_a1ad16d1e8a395685314dedffe17fbb8c) 8702 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a088d6ae30ad9a32fc26bb02fe46a26e0) (classParma__Polyhedra__Library_1_1Generator_a1b5063a9931b8a9d4a0db756c0b1c9e6)]
+>> endobj
+20209 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) 8500 0 R (classParma__Polyhedra__Library_1_1Generator_a2673a95cb7d41f3c6078024874d1f8b1) 8695 0 R (classParma__Polyhedra__Library_1_1Generator_a2a7d3afc8dd852529b766ccf8e908948) 8601 0 R (classParma__Polyhedra__Library_1_1Generator_a2aba27eb7310045e1a35c7e68af01ab2) 8506 0 R (classParma__Polyhedra__Library_1_1Generator_a2c0762c7e8b14cb1d2032bf920b57732) 8499 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a1c884f5152f75040139ec3d9ec8ac293) (classParma__Polyhedra__Library_1_1Generator_a2ca4d826872609fb433f459d805f436a)]
+>> endobj
+20210 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a2ef38aca6ca4ade62193017e6e794c94) 8586 0 R (classParma__Polyhedra__Library_1_1Generator_a303b4ed4262469c1834228e0f88dba74) 8692 0 R (classParma__Polyhedra__Library_1_1Generator_a37b12f6fbf02f9a3a51dee028128d446) 8495 0 R (classParma__Polyhedra__Library_1_1Generator_a37eddcfd7d63573ae2bf02e2f5ed6d50) 8799 0 R (classParma__Polyhedra__Library_1_1Generator_a39da685d64f5bc693cfe8869ee4fe9bc) 8851 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a2ef38aca6ca4ade62193017e6e794c94) (classParma__Polyhedra__Library_1_1Generator_a3bc88b2886b0b86865186d142e5ee414)]
+>> endobj
+20211 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a3e575c477cd1ab90e4aaa2997d8163f8) 8597 0 R (classParma__Polyhedra__Library_1_1Generator_a3f29f8b40d09b17eaa4cbaac069f72a0) 8510 0 R (classParma__Polyhedra__Library_1_1Generator_a42867df59ec40173391b76074f9f0fb2) 8518 0 R (classParma__Polyhedra__Library_1_1Generator_a42b10b56cb7a582076a2d279ae07cf85) 8850 0 R (classParma__Polyhedra__Library_1_1Generator_a43a020d3bbe2b93b7ffa78a1c817b647) 8804 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a3e575c477cd1ab90e4aaa2997d8163f8) (classParma__Polyhedra__Library_1_1Generator_a475ead5848d02d5c879bb96f22ce1cc5)]
+>> endobj
+20212 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a4904a65badd41facf2b598f09eb726a5) 8494 0 R (classParma__Polyhedra__Library_1_1Generator_a497cd4705484de0b938f6e03fd2ff460) 8514 0 R (classParma__Polyhedra__Library_1_1Generator_a4da7504ef9aeba8a782d47c83ce1abe7) 8519 0 R (classParma__Polyhedra__Library_1_1Generator_a4f591f8dde74ad99d0fb16a8c7e4a59c) 8701 0 R (classParma__Polyhedra__Library_1_1Generator_a4fb7d78e7b37d7f4b99babdc5cc84783) 8497 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a4904a65badd41facf2b598f09eb726a5) (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5)]
+>> endobj
+20213 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) 8438 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a4312979a12cae5ebb0791496e1ccce7a) 8437 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5ab7fe867b1243e111ef4364e3ef5b5329) 8439 0 R (classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5abed2d3fff60e7c0b8fc325bf46f9725f) 8440  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a55b76ba0041601d8da38ab5ad619eed5a05abaa6ff4aa204c25c94719e8a2b6f4) (classParma__Polyhedra__Library_1_1Generator_a5a20d28505fdda8702b48c35d08cfddd)]
+>> endobj
+20214 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a5c96c17c3224a111a56381a75f564896) 8694 0 R (classParma__Polyhedra__Library_1_1Generator_a5e24c88b976e1972777ddca6f259a30e) 8691 0 R (classParma__Polyhedra__Library_1_1Generator_a600c942b0a2e94b550ccd84ef9c30928) 8595 0 R (classParma__Polyhedra__Library_1_1Generator_a66af65679979f949af0457fbcb07dcca) 8512 0 R (classParma__Polyhedra__Library_1_1Generator_a6804f93015ae6e1dc0c2e42e726380c4) 8596 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a5c96c17c3224a111a56381a75f564896) (classParma__Polyhedra__Library_1_1Generator_a6d57d53909ab5cabeb63d17394f9617d)]
+>> endobj
+20215 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) 8801 0 R (classParma__Polyhedra__Library_1_1Generator_a76769b829453746113dd32f9fe880c9d) 8689 0 R (classParma__Polyhedra__Library_1_1Generator_a77fc44f44b1bdda486e19e30310634e2) 8508 0 R (classParma__Polyhedra__Library_1_1Generator_a787318df4682a2571d9cad8fc37c8fd6) 8848 0 R (classParma__Polyhedra__Library_1_1Generator_a78d14a45bade2c29f565fe13390ab13c) 8808 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a75190def344d4c1ba6c59a6f0fcf7420) (classParma__Polyhedra__Library_1_1Generator_a7c502c8d46ed2f68679404fdfdf8e0bf)]
+>> endobj
+20216 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_a855eb1638a9b23f78fac816e8c9f7a05) 8807 0 R (classParma__Polyhedra__Library_1_1Generator_a8c20504e1b73166cb984911a273bd304) 8435 0 R (classParma__Polyhedra__Library_1_1Generator_a8d0452265a9138357bbccc5902f80d97) 8501 0 R (classParma__Polyhedra__Library_1_1Generator_a9518a0d513563a1a7c144f35d639695f) 8686 0 R (classParma__Polyhedra__Library_1_1Generator_a95bad70fc4276b46478ff7100cbce347) 8802 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a855eb1638a9b23f78fac816e8c9f7a05) (classParma__Polyhedra__Library_1_1Generator_a974166a1fe54f72e254c8f02687084e6)]
+>> endobj
+20217 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_aa19ce1717f502bd8078edf02574f2df2) 8798 0 R (classParma__Polyhedra__Library_1_1Generator_aa2fbe779d999b06aa1cb9df1425b4064) 8442 0 R (classParma__Polyhedra__Library_1_1Generator_aa40eabb29ea4abe082c3a2e6dc820276) 8583 0 R (classParma__Polyhedra__Library_1_1Generator_aab2bceb460b09e14922ef0ad8011e74b) 8688 0 R (classParma__Polyhedra__Library_1_1Generator_ab339ccb929a7255295ad19a5b168d5d0) 8496 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_aa19ce1717f502bd8078edf02574f2df2) (classParma__Polyhedra__Library_1_1Generator_ab5a5a3f29a348a7280c00b8742a8222e)]
+>> endobj
+20218 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_ab6e741ec611a4779e6b45c4acd821181) 8697 0 R (classParma__Polyhedra__Library_1_1Generator_abb59cb64a8f7864eac1bb8253d164db0) 8591 0 R (classParma__Polyhedra__Library_1_1Generator_abc8ae851f2a0a6260d954b3bd8505249) 8585 0 R (classParma__Polyhedra__Library_1_1Generator_abccc1b3be92c83b70dd47667198d62cf) 8498 0 R (classParma__Polyhedra__Library_1_1Generator_abed1f1d1ff610a4d56c514a7b75509ab) 8796 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ab6e741ec611a4779e6b45c4acd821181) (classParma__Polyhedra__Library_1_1Generator_ac240ffbfd08a91635aada843229f6814)]
+>> endobj
+20219 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_ac39915aa29a5fcedd542ef9441a353a4) 8693 0 R (classParma__Polyhedra__Library_1_1Generator_ac5a61f5b91d0db37a1a2fa6c843a26a8) 8700 0 R (classParma__Polyhedra__Library_1_1Generator_ad006db44540ea4786f611e882bfe8da5) 8800 0 R (classParma__Polyhedra__Library_1_1Generator_ad593d3aa49a632911d8d49c83b3f4985) 8592 0 R (classParma__Polyhedra__Library_1_1Generator_ad7552a414d66f92897d12767579fa3ca) 8698 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ac39915aa29a5fcedd542ef9441a353a4) (classParma__Polyhedra__Library_1_1Generator_ad7576379843ab0fb9a33484bd4d68e71)]
+>> endobj
+20220 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) 8503 0 R (classParma__Polyhedra__Library_1_1Generator_ade2531310fd7806c9e4f745cab145926) 8584 0 R (classParma__Polyhedra__Library_1_1Generator_ade98f4e320d7d21e223afb83240b3800) 8507 0 R (classParma__Polyhedra__Library_1_1Generator_ae5902ab7e2d3304037a56ecda7fc22a4) 8504 0 R (classParma__Polyhedra__Library_1_1Generator_ae6e33f7246f4e3683fdab905d2e26819) 8515 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ad8cee05f88ad5aea288c1f6b8bf7cdc7) (classParma__Polyhedra__Library_1_1Generator_aebb212a14f52ed934059925c1f5f2010)]
+>> endobj
+20221 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_aec5862748da509cc5dbf2ccd7280a92d) 8441 0 R (classParma__Polyhedra__Library_1_1Generator_aeff190ba56f86d3425859043689d499a) 8517 0 R (classParma__Polyhedra__Library_1_1Generator_af1827b1f7a42393a2526944530559c5a) 8505 0 R (classParma__Polyhedra__Library_1_1Generator_af1bf8c762c6f36b30f2abcaffe591acb) 8509 0 R (classParma__Polyhedra__Library_1_1Generator_af4f9b4584e455154e3f201876af1848f) 8806 0 R (classParma__Polyhedra__Library_1_1Gene [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_aec5862748da509cc5dbf2ccd7280a92d) (classParma__Polyhedra__Library_1_1Generator_af64f0b6ef53df6ef8024b03b187d197c)]
+>> endobj
+20222 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) 8598 0 R (classParma__Polyhedra__Library_1_1Generator_afceefab91d648d188e42e5a75a3a977e) 8516 0 R (classParma__Polyhedra__Library_1_1Generator_afed6e254937adbecd53072747e51cb3f) 8696 0 R (classParma__Polyhedra__Library_1_1Grid) 786 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate) 1845 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a) 10188 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_af6f47b657c8fc219371405bf4728b244) (classParma__Polyhedra__Library_1_1Grid__Certificate_a3b727ab728f8758af9fb217eca9d791a)]
+>> endobj
+20223 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) 10186 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_a869306ea4afb6453b8e9cee36c96f46e) 10190 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_ac03d43b46ab7f9e5d0ea3c46a5eab7b3) 10184 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_acf34edb23c376600051bbc563e4122c4) 10185 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_adf9fc5ac7e45f36bc03af31b98b31a72) 1018 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Certificate_a67cbe06cd666025c2ff64652d5824a2f) (classParma__Polyhedra__Library_1_1Grid__Generator)]
+>> endobj
+20224 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System) 1893 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) 1785 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a26673943182a6efc6cc6e3aad8c731a7) 7004 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a2be2c8b9d00f81fc24dcbc36ad05afea) 7000 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a41cb [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a47def4dcb522c046a6f3a432d72008ed)]
+>> endobj
+20225 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) 6999 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9571074ab0249afc1e440c8c5eb5d429) 6998 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a9af54d524de94ada872d460c1dbd5cc0) 6996 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_aa6e183ba7e931dc88e16fb9ecfa8b3c7) 7001  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a61b27b2ed8bbc9a128f9001d160b078d) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_affa77e724493813cddf9740767c2473e)]
+>> endobj
+20226 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) 10693 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a102ffa79248502b4998a70fba5f13d98) 10747 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f0983add75d3a9c3663fbf925739212) 10754 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a1f6d9240b4cf201eee98359c903c1918) 10694 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a3ddc697f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a023dc725ab60578fb2161f06211fa023) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4254da492e5eeb1c12d8d87b997cd229)]
+>> endobj
+20227 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) 10701 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a494a5dcf815a292978b1864d2d7f77ae) 10749 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a4e6c82baa2eac91c07d9ae925b8d42b2) 10690 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a62e7b71f72659356d1d732236ed5f330) 10759 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a63fd9651 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a465d046e2570dea82e57ab6af9b179e9) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a6a5f64baba3ae5704d9645db684434d3)]
+>> endobj
+20228 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a773be362898fec2d48f0948c89870cf6) 10695 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a7d4c3ba6b9e9b575d07b2e87b69a24e3) 10756 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8530a0719104225bd022dbe9529ae527) 10758 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a864a52992178820135a7ae3a75e65377) 10760 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8a0c95f4 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a773be362898fec2d48f0948c89870cf6) (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8cf170e729ac4e4576624d6ed7d4b44d)]
+>> endobj
+20229 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) 10764 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8f29bc3aa01b8f5c67a3323189f9cf9e) 10688 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a90e26e60ccfbe3c6ab8d91b5bf06dab5) 10761 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a998804f094e131a7f06d05c6e9eb5f5c) 10700 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a9e847f0b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e247a33c9eb40439c706a98c5d363d0) (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e)]
+>> endobj
+20230 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aafcd2b876b8ea8235219720a10cf6e8e) 10765 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab014a801ad8cda797ce946b718ac7a72) 10684 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ab289fda31b27c62873b4542280a90719) 10685 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_abba3cc93433c6564ba34c1fdd360bde9) 10698 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac485f37c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aafcd2b876b8ea8235219720a10cf6e8e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_ac53b2bea17ae404e291cbcb7033dbaf2)]
+>> endobj
+20231 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) 10751 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_aca9c22c405ba1378296cc85f850aff21) 10686 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ace4c05e99016850c16c2bdaff5914afd) 10697 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_adfc60b971ed974350d241482f15f46ac) 10753 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ae64d3d01 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_ac5764ede75697ec70757c5e208945ca2) (classParma__Polyhedra__Library_1_1Grid__Generator__System_aefcc22cba81dc18bc3e25d399127f3f4)]
+>> endobj
+20232 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_af1afb697fed68cd53ff8d90b1d7cbc28) 10687 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a00017ad58d66a7948b0355b3e02c750b) 10241 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a041afb1a2cc7277572fb7235cf08cf64) 10388 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a081718c23b5785da17c63ffec13536cc) 10306 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a082a74ad0ce931ec2e517bf0f009daa2) 10399  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_af1afb697fed68cd53ff8d90b1d7cbc28) (classParma__Polyhedra__Library_1_1Grid__Generator_a091c62cb35ccf09353d79a532e6c1758)]
+>> endobj
+20233 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) 10309 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66) 10247 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a25b86c6f0633416506503de2bf693876) 10250 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a10e7c95784e356487a6a6263a89cec66a4ac3b90df83c2e43249ccfa2702640de) 10249 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a0f19da4c46bb8b3be01875eff4c00538) (classParma__Polyhedra__Library_1_1Grid__Generator_a1177f236d8c66c01bbb43b37ff90bc7d)]
+>> endobj
+20234 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) 10303 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a164c38a51c8718e6ac3a3f3e4af77bf0) 10307 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1aabacaac0806d617f53db4b34b3349e) 10297 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a1f0828932daf26d10e94120c1f4a4d6b) 10318 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a271a32761c20049948570491e6b5b9dd) 10254 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a13419c5d820bde20af5eabd23e479ec8) (classParma__Polyhedra__Library_1_1Grid__Generator_a2a0bc130f7cf6a0678ee3b982fcc7ab6)]
+>> endobj
+20235 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a2d4aa4b95cb53d23b232457b212e82e4) 10386 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a3024467f23276b9db83e3bbb6fc05b12) 10313 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a3075c67d9868fc0b483db13256fb4e0c) 10498 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a32364020a67e8172442cbd9d1077cf44) 10393 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a39f2fef2ef250b8dafb8be3c37d020ac) 10397 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a2d4aa4b95cb53d23b232457b212e82e4) (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6)]
+>> endobj
+20236 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a44d16f88718ec30357b12b5185b033e0) 10244 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a4be36a9309c5ecfa863e326c44296391) 10488 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a4c001b3abe941fc38c182ed23c7bca2b) 10251 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a4cf4938d837fcf701695a0828bf56cef) 10296 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a538c16dacec86f66e9520c728a7c5f35) 10496 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a44d16f88718ec30357b12b5185b033e0) (classParma__Polyhedra__Library_1_1Grid__Generator_a58b86510b9c4dc05004c0fc01622430b)]
+>> endobj
+20237 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a5f47fcccf4795964925294d448335f0a) 10312 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a60d9658ef91fbd3a1b0064253246f36b) 10245 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a622b8ffad2bd654696c12d7d07ba51c6) 10489 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a64600674ceb04a95caa3db13515aa9ff) 10311 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a657341bcebb7b81abd715a80d4aefc0f) 10252 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a5f47fcccf4795964925294d448335f0a) (classParma__Polyhedra__Library_1_1Grid__Generator_a6fb154017052c68b63121cef49c568ce)]
+>> endobj
+20238 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) 10300 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a77123fc17c8bc6d59a76802c0592a2c6) 10308 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a7718a50034230b311e3f3cc35d7709e9) 10240 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a77a904793c99cfb1d61fadd277d59471) 10305 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a77fd92da113b8b277b8626ce74bde0ad) 10383 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a76fce1702224700691a26cf5e780a1dd) (classParma__Polyhedra__Library_1_1Grid__Generator_a80ef003442edc6db8e77caa4de7f7ef1)]
+>> endobj
+20239 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) 10302 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a82f262d4a5b57ea92ef25f5f49006ffe) 10501 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a875a737ccb94634bd7f5fd577d7d9657) 10395 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a8950f38d19f1b721d66b756b0ae10cb3) 10384 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a8ab7b9abebd48fe0ad129a237338aa96) 10499 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a811f6f947785240bcb76bfca023fed17) (classParma__Polyhedra__Library_1_1Grid__Generator_a8ec4a26e544123076ee254d238a06d21)]
+>> endobj
+20240 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_a9188a38b44fd9b356f73459148e5f57e) 10502 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_a9a297ff1741690be337828dbbc0da636) 10238 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ab1db3272b7beca7b1d9d17f23d22ecbd) 10253 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_aba6b40a4b9708e94d6cd10f54144ed70) 10317 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_abaa6c80abf60b23dd19db6cc042719b0) 10243 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a9188a38b44fd9b356f73459148e5f57e) (classParma__Polyhedra__Library_1_1Grid__Generator_ac1e87cdf51be31f4c9c43c4c86bccb66)]
+>> endobj
+20241 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) 10304 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac74dafaa0b06e9cd3d15ea0d2af1b213) 10387 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ac915c8d26a7dbcdbbd0c4985ec5b7d4b) 10301 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_aca47a151389a78c2474186b9628ab5cc) 10497 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_acb1fb1a16ca8e051a815ae73b178dd62) 10246 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ac3e03bc2df621903d136c689c38bdb6f) (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c)]
+>> endobj
+20242 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) 10491 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ad350a787056fefe667783a60a9f2923e) 10394 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ad582c312a54b52e80b7fa8b836de9450) 10385 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_add0d04eab672e924694d77cc48921add) 10239 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ae94a99f8e8d290b5791baa01fd540a14) 10389 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) (classParma__Polyhedra__Library_1_1Grid__Generator_aeabcfd0fb026563fd3464f04d32c8e60)]
+>> endobj
+20243 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_aeca84d3bda389453f22a494ab9923088) 10484 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_aeed6163372d663031201f5b4c77b9d5c) 10400 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af00dd6aeffc847b73a3aee11d6d169b6) 10390 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af3146d81190eacbe889e3d0949907271) 10396 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_af4e7705af87f5eb64d2ebdc60cd7a36e) 10315 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_aeca84d3bda389453f22a494ab9923088) (classParma__Polyhedra__Library_1_1Grid_a0047a6aa4f26d9133b9d741f68384f38)]
+>> endobj
+20244 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) 9363 0 R (classParma__Polyhedra__Library_1_1Grid_a042613c3f4ad30b298d70143c935d7cd) 9455 0 R (classParma__Polyhedra__Library_1_1Grid_a0441c9c3b0ab0d55165bb6b4fd107f64) 9625 0 R (classParma__Polyhedra__Library_1_1Grid_a06894477c4e748b61eb0779ea8c0600f) 9702 0 R (classParma__Polyhedra__Library_1_1Grid_a071aa57e439ba4f358c7fd43b03a6a49) 9618 0 R (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a0262a2b32220536d8bc60d84ad8dac4c) (classParma__Polyhedra__Library_1_1Grid_a07bdac3717a59f64634da7d9b1cfaefd)]
+>> endobj
+20245 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) 9359 0 R (classParma__Polyhedra__Library_1_1Grid_a0c02302b6281fa91ef9275bd37e43efc) 9366 0 R (classParma__Polyhedra__Library_1_1Grid_a0d00cf0ecbb8edf21a37cc06f05ece26) 9628 0 R (classParma__Polyhedra__Library_1_1Grid_a0d8ed7a0e48fe76e7221842c780192b0) 9513 0 R (classParma__Polyhedra__Library_1_1Grid_a10e3116398b920cb137cf576a073cc68) 9697 0 R (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e4 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a092f5c04d267ab5709dda2d3e51aaeb9) (classParma__Polyhedra__Library_1_1Grid_a1287b254a91451368e7e2e456f448114)]
+>> endobj
+20246 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) 9525 0 R (classParma__Polyhedra__Library_1_1Grid_a19422844125a988daaf489cbaff3835b) 9530 0 R (classParma__Polyhedra__Library_1_1Grid_a1a26d0018999e56d94a7e96db2b6e553) 9742 0 R (classParma__Polyhedra__Library_1_1Grid_a1a5606b64a035977b9d76b1932227246) 9447 0 R (classParma__Polyhedra__Library_1_1Grid_a1b528a2e8d4d096f62535454e05b74ba) 9699 0 R (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b0953 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a145cc7c23d407576222e5af347f401c1) (classParma__Polyhedra__Library_1_1Grid_a1ba97c180500b43954b09532151f6c9d)]
+>> endobj
+20247 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) 9753 0 R (classParma__Polyhedra__Library_1_1Grid_a1d51ba9ca3c3e0bf0042502f40d2e11b) 9740 0 R (classParma__Polyhedra__Library_1_1Grid_a214e376adb9dc271c61b58f8b2c927f0) 9531 0 R (classParma__Polyhedra__Library_1_1Grid_a2528b5f433e743dda827b1028b6c74cd) 9451 0 R (classParma__Polyhedra__Library_1_1Grid_a2581586de73769088ece60dc01409a08) 9686 0 R (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a1cb88a546d32e7b5c07dc25055e33235) (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329)]
+>> endobj
+20248 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) 9445 0 R (classParma__Polyhedra__Library_1_1Grid_a31603d81a2b0571a82c4c79b8c6e4564) 9365 0 R (classParma__Polyhedra__Library_1_1Grid_a323efbe5d43695cc65f8cd5935da94dc) 9695 0 R (classParma__Polyhedra__Library_1_1Grid_a3628b6d6e250d4c6b8301173c6ecc777) 9748 0 R (classParma__Polyhedra__Library_1_1Grid_a36cc3783cdc92ab5fc69904c298ed12c) 9373 0 R (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da0 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) (classParma__Polyhedra__Library_1_1Grid_a3ac47497148e61f3d7a3da09d17a03bf)]
+>> endobj
+20249 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a3cd0fe4ed600eb3430539b864ad4142b) 9754 0 R (classParma__Polyhedra__Library_1_1Grid_a453e51570268eb4d63fc529130a54440) 9438 0 R (classParma__Polyhedra__Library_1_1Grid_a508103dc808fc747a90b573083a60461) 9690 0 R (classParma__Polyhedra__Library_1_1Grid_a527ffa31e1581a8beb83a832244dada8) 9367 0 R (classParma__Polyhedra__Library_1_1Grid_a53b24395ac61f8b2b2accc5a3900bf69) 9435 0 R (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec9 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a3cd0fe4ed600eb3430539b864ad4142b) (classParma__Polyhedra__Library_1_1Grid_a53f980fb1ac8fa21265bec985bd1382f)]
+>> endobj
+20250 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) 9446 0 R (classParma__Polyhedra__Library_1_1Grid_a596fc5b3ee0d04895aca9139cb6cbcb6) 9693 0 R (classParma__Polyhedra__Library_1_1Grid_a5cdf44f392505e1371a85b1245775224) 9700 0 R (classParma__Polyhedra__Library_1_1Grid_a5f6fcc1dab2b08eff20b41d1412d1e2d) 9752 0 R (classParma__Polyhedra__Library_1_1Grid_a621d377682c2c67051c24b1cc8a03497) 9450 0 R (classParma__Polyhedra__Library_1_1Grid_a659cb16eede4860a0c35976 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a59634a195948ff0617177d0a41e30602) (classParma__Polyhedra__Library_1_1Grid_a659cb16eede4860a0c3597638ca77830)]
+>> endobj
+20251 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a65f00faeb048901323ffd316d30d61a4) 9369 0 R (classParma__Polyhedra__Library_1_1Grid_a68665d093308c111817eca341b98d70a) 9616 0 R (classParma__Polyhedra__Library_1_1Grid_a688572fbdc35859515f5ea8ba583a45a) 9704 0 R (classParma__Polyhedra__Library_1_1Grid_a69a6e807d63018625b02e06c07a578db) 9368 0 R (classParma__Polyhedra__Library_1_1Grid_a6ae1850664122e9917f174d10fd3bf06) 9440 0 R (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a65f00faeb048901323ffd316d30d61a4) (classParma__Polyhedra__Library_1_1Grid_a6f703ba611b9e5ff613f4df35347ee95)]
+>> endobj
+20252 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) 9364 0 R (classParma__Polyhedra__Library_1_1Grid_a7fc86a6331f34f34a506ab2b0609ac37) 9747 0 R (classParma__Polyhedra__Library_1_1Grid_a7ff92e5d40e6faf667a0b1f6b8fad791) 9701 0 R (classParma__Polyhedra__Library_1_1Grid_a803035024ab9670971868f4b1092f7c5) 9442 0 R (classParma__Polyhedra__Library_1_1Grid_a82b76e3f18679ea161b53bfa80349009) 9528 0 R (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a727dc2405cfc5f2252e6f21aa0f18074) (classParma__Polyhedra__Library_1_1Grid_a85b2560352485ac05d10aab0ee483252)]
+>> endobj
+20253 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) 9437 0 R (classParma__Polyhedra__Library_1_1Grid_a87d004db7f8febf6f9c96b4a2a1c85e5) 9755 0 R (classParma__Polyhedra__Library_1_1Grid_a880344de195aef75a6b3f2a4db4787b4) 9436 0 R (classParma__Polyhedra__Library_1_1Grid_a8865893c48cc07adae5dca6b35081751) 9439 0 R (classParma__Polyhedra__Library_1_1Grid_a8d060ee1328743ae25698bc5835a5703) 9372 0 R (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f286 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a8688fd38682b19e97422816d72524790) (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8)]
+>> endobj
+20254 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) 9518 0 R (classParma__Polyhedra__Library_1_1Grid_a8f97dbc7a7c307fa72f7e904b2cbf21b) 9529 0 R (classParma__Polyhedra__Library_1_1Grid_a8fa02815bb561135934f91c9adcd0cb5) 9456 0 R (classParma__Polyhedra__Library_1_1Grid_a90ca2b1613fda31a2ac7e79d9388680d) 9434 0 R (classParma__Polyhedra__Library_1_1Grid_a90e87cbe8ae0717fa09ff51b70d64b47) 9620 0 R (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid_a943c42b0d1b3580e54b3ab60aa55255f)]
+>> endobj
+20255 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) 9526 0 R (classParma__Polyhedra__Library_1_1Grid_a9831db06919c6ee05360b08e84cccbb7) 9615 0 R (classParma__Polyhedra__Library_1_1Grid_a9bdab8408169307fbd899ec3670cb2bf) 9696 0 R (classParma__Polyhedra__Library_1_1Grid_a9e17201a9a12235a9a96cc31cfffd38f) 9756 0 R (classParma__Polyhedra__Library_1_1Grid_a9e4e32230b187284ac0b9ca8efba8f82) 9626 0 R (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a953a608f6f9d413870fb3eee5cc6ad1e) (classParma__Polyhedra__Library_1_1Grid_a9e87405c740d202951ba788f9e52cbf7)]
+>> endobj
+20256 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) 9453 0 R (classParma__Polyhedra__Library_1_1Grid_aa26f672c32271db69ed68fc60eee8cff) 9521 0 R (classParma__Polyhedra__Library_1_1Grid_aa28d735beef86789b73b41dbbde71abf) 9374 0 R (classParma__Polyhedra__Library_1_1Grid_aa76828d01f5c454221427eef68227f78) 9630 0 R (classParma__Polyhedra__Library_1_1Grid_aa9c12ecd84df4ed86b5676a09fa39208) 9623 0 R (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_aa033cfca735240b3699b523d60ad692a) (classParma__Polyhedra__Library_1_1Grid_ab602d97b867b5d2ea800ea7ceef4c6b5)]
+>> endobj
+20257 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) 9691 0 R (classParma__Polyhedra__Library_1_1Grid_abb10ea556dd34e0c1e13f7e99b9efe70) 9619 0 R (classParma__Polyhedra__Library_1_1Grid_abd8e73adc9b36c272118525242f9b50a) 9689 0 R (classParma__Polyhedra__Library_1_1Grid_ac009459805692e582a00d4b5954ab8e5) 9627 0 R (classParma__Polyhedra__Library_1_1Grid_ac418d88df400bcd2233fb6281debb08f) 9533 0 R (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_ab6bba83ceaafdb71df04b77e43bed022) (classParma__Polyhedra__Library_1_1Grid_ac4e1b49845e553ff84dc73e710def76c)]
+>> endobj
+20258 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) 9534 0 R (classParma__Polyhedra__Library_1_1Grid_ace98c3e57a1237e6dd5042b5a0919193) 9444 0 R (classParma__Polyhedra__Library_1_1Grid_ad09e4e3f9a9da562c6cdb73dd7b47fbe) 9520 0 R (classParma__Polyhedra__Library_1_1Grid_ad14942b33fb82bb3e6a13e5e92ada475) 9441 0 R (classParma__Polyhedra__Library_1_1Grid_ad42265530a9e3b2f3bda9ab40d4a835b) 9621 0 R (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_ac9d9eaf8b76024bc20ce524e13bf86a6) (classParma__Polyhedra__Library_1_1Grid_ad743f8b71eb68f6b41f7ea7b5d21dc22)]
+>> endobj
+20259 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) 9449 0 R (classParma__Polyhedra__Library_1_1Grid_adcf35e414093ac621958d1badd313e25) 9370 0 R (classParma__Polyhedra__Library_1_1Grid_ae47fdbff76383891b3896ac5fc213d5d) 9694 0 R (classParma__Polyhedra__Library_1_1Grid_ae5955a311fc4fde1edf2d5460f0a8356) 9617 0 R (classParma__Polyhedra__Library_1_1Grid_ae5dc5003b3652660bc4ff4a15e4060af) 9532 0 R (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_adc7cdee1981f44b5db23f6c28c79d0a6) (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e)]
+>> endobj
+20260 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) 9744 0 R (classParma__Polyhedra__Library_1_1Grid_aee33974909cfc1cba605734a57d44df0) 9741 0 R (classParma__Polyhedra__Library_1_1Grid_af1ab967a6606266f7e583fc9752667fe) 9527 0 R (classParma__Polyhedra__Library_1_1Grid_af39e1b0519a47aafb9dba4121dc41a9c) 9743 0 R (classParma__Polyhedra__Library_1_1Grid_af6df34e5e4ab9beab41cd76897d64c72) 9703 0 R (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) (classParma__Polyhedra__Library_1_1Grid_afae3a58c19c9a3b9916f29b7aca4d0e0)]
+>> endobj
+20261 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) 9624 0 R (classParma__Polyhedra__Library_1_1Grid_afc06f600e94b7bedb91d0371a51f4c38) 9362 0 R (classParma__Polyhedra__Library_1_1Grid_afde364ce088f82cf2b9a231e7d9f2abc) 9454 0 R (classParma__Polyhedra__Library_1_1Grid_afe613a3da3edc3cb4506f70d409f061d) 9746 0 R (classParma__Polyhedra__Library_1_1H79__Certificate) 1205 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_afb9d83c4e182f640833116dc2f725076) (classParma__Polyhedra__Library_1_1H79__Certificate_a061c4c3b4f1eef970794b274dae62504)]
+>> endobj
+20262 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_a1e1a505b4cd4a4ac97d3a38864bd3977) 10832 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a517f4965fd423413531cd1d2058748de) 10820 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a553c3b19a36235d228039a6bb3452918) 10833 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a5cca0390f76c0a92703e65d3707f157a) 10817 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_a7e6d252ce9557b9d73833ef594f6276b) 10836 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_a1e1a505b4cd4a4ac97d3a38864bd3977) (classParma__Polyhedra__Library_1_1H79__Certificate_aab939414cdbcf1ba174334859443a72c)]
+>> endobj
+20263 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) 10818 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object) 1835 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_a2a9693ada9db53099a8f7bc3b4e4b14f) 8126 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_a5d81385e212eb6794b6eccbff7d75f40) 8125 0 R (classParma__Polyhedra__L [...]
+/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_ab8bee5e53740adc193668686030bb4bb) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ad381baaa75c172ef8deb34e3663e3ad6)]
+>> endobj
+20264 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ade93b18091b0c0255f9edf5635671e5e) 8124 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_afc08222c6448a38d82487f73f0d2cd4a) 8128 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList) 1836 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator) 1837 0 R (classParma__Polyhedra__Library_1_1Implementatio [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Doubly__Linked__Object_ade93b18091b0c0255f9edf5635671e5e) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a0b8c563512e846bce0d716066f049fcd)]
+>> endobj
+20265 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a37513851388458132d6e62bab159032b) 8226 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a5a9d9c2da332d66b23af51d8977c5d74) 8225 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a95e8dcda2a5e9efd485371dad792eb71) 8242 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a9d011856be076fcc65af3573afe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_a37513851388458132d6e62bab159032b) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ac3cebc5fc52879ce539aaf78bf585f1e)]
+>> endobj
+20266 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ad2f6505da3244481da4a207f727147c0) 8229 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_af03e6b7aee6649e2eb37ad0e9afc8c62) 8231 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_af4621fadbf4b3fd92473f5a2a6eda95f) 8224 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a0a109855a36749a7f7b68bcf254bc759) 816 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ad2f6505da3244481da4a207f727147c0) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a28e363b5aa72287de3d6633631885818)]
+>> endobj
+20267 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a3b132b18d2e068b93f1e066cca596309) 8167 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a5e82ce331187ceffa3d71586cf6ab43d) 8176 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a6050f0724f65d27096693d5ca74f498a) 8174 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a6d27040392d25412134c73a31eb623c1) 8217 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a3b132b18d2e068b93f1e066cca596309) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a81b221513817c76fd3b8fd7dc404244e)]
+>> endobj
+20268 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a962fddfb4d1f0a4815fd08ab41789d4e) 8177 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a9e757d2cec432015a32ad41c1158f391) 8186 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_abf7fe1e5877e16e79af6547d6f94e16a) 8216 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_ad6d0f3a9509993f4064a876841e24db3) 8172 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList_a962fddfb4d1f0a4815fd08ab41789d4e) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler)]
+>> endobj
+20269 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag) 1895 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag_ad7aedf33c2b21bb5c7d9c3b441348e87) 10872 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag_ae5713be75588690281277d5fe7954a34) 10871 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function) 1896 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1W [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Flag) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler__Function_ae0f59cc4089db649e630a00531827ca9)]
+>> endobj
+20270 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler_a3690915d5c30a08607ade652aa157cd3) 10850 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler_add9a15bae9fb3c788a0ae526ef65733d) 10851 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element) 1946 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a153e3f99decdc5f5e6783237f663aa09) 14483 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Handler_a3690915d5c30a08607ade652aa157cd3) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_a4be685ffc90e4a9b9d45930ca3d75a25)]
+>> endobj
+20271 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ab604291f1f371f7c8bdf7c4f4d799954) 14487 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ade76cae38d35a93f595ca57a1be076d9) 14484 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_af28c7cc73f024d7be76270575e408e07) 14488 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List) 1947 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__Element_ab604291f1f371f7c8bdf7c4f4d799954) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a7e590338a93fccabc6523fde997f8d73)]
+>> endobj
+20272 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a80ba640b32901e54e1d60d760c74fa90) 14539 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a820628e94b7462dfe1b6f779e42d6ba5) 14538 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a91570d4eb002ad004ea2fdef91ad6dde) 14531 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_aa5c76d2c66f8173ec0dd35acc844db46 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a80ba640b32901e54e1d60d760c74fa90) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_add253088cfcc2b16bb6393925f956b8c)]
+>> endobj
+20273 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_ae955347d214b5ca7f04fcd6b7d53ee9f) 14537 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_afd76da49bf16b0f9548e9b2d8e37ac54) 14530 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time) 1992 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a1d613c80931007bd46f479582f90542e) 17380 0 R (classParma__Polyhedra__Library_1_1Implem [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_ae955347d214b5ca7f04fcd6b7d53ee9f) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a2f9b37006a7b28800bf7c2aebb7e331d)]
+>> endobj
+20274 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a6018819ab591dad51060b4d01d989374) 17383 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a6137f32f30cd8f8c6081c20a5a6bb200) 17377 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a67d50389960334cc0cddaf9e18cae713) 17376 0 R (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a833c9f70c384faeb871fa267cca49df6) 17378 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Time_a6018819ab591dad51060b4d01d989374) (classParma__Polyhedra__Library_1_1Integer__Constant)]
+>> endobj
+20275 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Integer__Constant__Common) 1898 0 R (classParma__Polyhedra__Library_1_1Interval) 787 0 R (classParma__Polyhedra__Library_1_1Interval_a0392d17d04d6a71534e7edc09d5a2de4) 10953 0 R (classParma__Polyhedra__Library_1_1Interval_a112e023392095ec2ae4e8d3ac7cc8eee) 10955 0 R (classParma__Polyhedra__Library_1_1Interval_a252ec311fb17e29a3ddcad44b746404d) 10972 0 R (classParma__Polyhedra__Library_1_1Interval_a2f75012f0260eb29d28e3f6ef60c97f4) 10956 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Integer__Constant__Common) (classParma__Polyhedra__Library_1_1Interval_a2f75012f0260eb29d28e3f6ef60c97f4)]
+>> endobj
+20276 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) 10926 0 R (classParma__Polyhedra__Library_1_1Interval_a479e61ba0938cd3303c57f1881d8f2ab) 10928 0 R (classParma__Polyhedra__Library_1_1Interval_a53dfdee0a44161ba830690eada3b59e2) 10948 0 R (classParma__Polyhedra__Library_1_1Interval_a546174614e2bea37b0f6f5717a90c218) 10929 0 R (classParma__Polyhedra__Library_1_1Interval_aaeb70a45d5ee0c7fac5f5d6c659fc69e) 10927 0 R (classParma__Polyhedra__Library_1_1Inte [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_a348c6523b219aee93545bb401dc0b813) (classParma__Polyhedra__Library_1_1Interval_ab5e4dd91b02f044f26a9fcf244ec0c5f)]
+>> endobj
+20277 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_ac6f109ff4cedf174407647a6a1ff1566) 10924 0 R (classParma__Polyhedra__Library_1_1Interval_ad7a9b929f459945a7578b161edcf5d4b) 10949 0 R (classParma__Polyhedra__Library_1_1Interval_adb7748cb7d0260ae8e1428698a3076e8) 10950 0 R (classParma__Polyhedra__Library_1_1Interval_af859c3d302c3573b8e2183e4370321b0) 10954 0 R (classParma__Polyhedra__Library_1_1Interval_afb730d60db4b7e1ddd4c9994ec077cf6) 10925 0 R (classParma__Polyhedra__Library_1_1Line [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_ac6f109ff4cedf174407647a6a1ff1566) (classParma__Polyhedra__Library_1_1Linear__Expression)]
+>> endobj
+20278 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) 1782 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a030483dd2c1346262825de9b2a7f985f) 6843 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a47dc6fa13c0ff235b9ad27ae26973bc7) 6842 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a50973a7d753dc94afb42a610aa71d68d) 6846 0 R (classParma__Polyhedra__Library_1_1Linear__Express [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_a81fad4c0c11e6214ddf1851573e56b5f)]
+>> endobj
+20279 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ab02f5557504544356029b3bad5f64942) 6844 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac54489beb3010518b290d6afa08902b5) 6837 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac8179a7265eb8cfa0fbb55b7f46c18b0) 6839 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ac8d7d3ac7c1bf2bab50a5594a41a2f25) 6845 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_ab02f5557504544356029b3bad5f64942) (classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator_aeafa7f136ae6eb82b0b996a2df4c6606)]
+>> endobj
+20280 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator) 1781 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a21c60e2a5b7d04de458f4d6ff0c3bd9b) 6781 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a2eb19a01c9b844f52f86464fc8f0ddd3) 6797 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_a5bfc7fe8384a4382f89fdb9dc06d7f77) 6782 0 R (classParma__Polyhedra__Li [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator) (classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_ad7326cf3c2ddd70745aa4a527ece65be)]
+>> endobj
+20281 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_af71ceaa08677639eff48aa5929df1c58) 6780 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface) 1786 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_a0c5be0f5a6fef022b59c78a41f1fa0a1) 7031 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_a4fd7b6cb64e68a51df8a7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression__Impl_1_1const__iterator_af71ceaa08677639eff48aa5929df1c58) (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_ab758d05c4671c852880999550882f33a)]
+>> endobj
+20282 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_af0b2ceba470bdb52cdf9bafa45e76b4a) 7025 0 R (classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_afd298b0bb1553ae69fdf50038423813d) 7029 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0308fb71a28c28f4e33aabfa9c5d3781) 11385 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a033a152c478db97a4e08bc562dbff4b1) 11215 0 R (classPa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression__Interface_1_1const__iterator__interface_af0b2ceba470bdb52cdf9bafa45e76b4a) (classParma__Polyhedra__Library_1_1Linear__Expression_a0540634ba6d2d2175bf25e92a0831af1)]
+>> endobj
+20283 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) 11272 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0dddfc1f0ff6f55a90c4ea8829b9752b) 11526 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a0ed481e43baf024d4a5b5e86e85c4a87) 11201 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a114f91c420cc8060d6834730c8e55721) 11389 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a158df02c8c54fa5a9286836fb01563cd) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a0912217f15a36eb486b243ee592f3379) (classParma__Polyhedra__Library_1_1Linear__Expression_a15c22785d951d9f8f6ec2e14f07b2dc1)]
+>> endobj
+20284 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) 11396 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a298a32e26d8133869f28560cca4ba73b) 11274 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a29d81c4c365b593f707cbfd0f960631f) 11563 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a2e4d2efe88475a75dab18c7f9fe5e217) 11388 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3024f7593cf48937f80197fb8030c290) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) (classParma__Polyhedra__Library_1_1Linear__Expression_a3221626e22e187252b866eb371001183)]
+>> endobj
+20285 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) 11394 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3393f0e95870b681e528c15803a26f60) 11535 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a34bbf3ed8e75730f44ca8a461881adb6) 11286 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a372cb81e5fdd27bd56a3fa2eb7aa8ac2) 11114 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a37de3f55cf5e917e32f7f2f9c6d34840) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a32a44c95ae4348ff889b48c309f9eab3) (classParma__Polyhedra__Library_1_1Linear__Expression_a37e6e92bcce55054b61338c740ecabe6)]
+>> endobj
+20286 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) 11397 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3878ace0dfcc23f80d55d206d2117c84) 11287 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a38856ca7f9129f389b4dee5a5a6da8d4) 11207 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a392d8d530782ff1240e73a9fb15f7975) 11529 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a3a808cf2742df02d856a8d9882845861) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a385e4d3cfe442f4fcbeefd9acf5c10eb) (classParma__Polyhedra__Library_1_1Linear__Expression_a4124a10b953c4c49984524875a257f3a)]
+>> endobj
+20287 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) 11392 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a447ce24e7e4fdf595ebaa4cf5d1c38b8) 11537 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a48ac89bc22c6c6013dcea1bff3522fdc) 11280 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a49574f120ec3f9fbfda58d6f826587e9) 11384 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a4d372c4dff7d328d3da118817ed3d8b7) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a41cdb256f546f09bd317deef44ac0009) (classParma__Polyhedra__Library_1_1Linear__Expression_a51f1b18014b098a53242c06d657040c6)]
+>> endobj
+20288 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a54156857db022ca821506d19162ebd5a) 11133 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5812366691d9099f839e01326923425f) 11198 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a58ce6d6e87e4bf19e99478994bbb6010) 11564 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5a74ca4d6d20b677bd8e4bf05dd45760) 11206 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a5bb7f6903958069b19f70d1391987a51) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a54156857db022ca821506d19162ebd5a) (classParma__Polyhedra__Library_1_1Linear__Expression_a5c4134b034447fcf2b7b154102233dcf)]
+>> endobj
+20289 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a61a01c066394a2b9ee5d797f6733c5e4) 11278 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a62b7a88cefba86a6731c6b46487fc28a) 11380 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a65766b549090f6b52281c99cfba9eed3) 11401 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a691b91bcd9b5c336892574e975235de5) 11400 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a695843d7e86aecb1d5e9632aae3eec88) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a61a01c066394a2b9ee5d797f6733c5e4) (classParma__Polyhedra__Library_1_1Linear__Expression_a6e35bc42eb22008e842e81b150eeab6f)]
+>> endobj
+20290 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) 11395 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a6f8cd8fbee64faaa5e47c8e41ba7662e) 6368 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a701574facbfd5461d399dccbc88a2999) 11125 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a703e355f3726c0cace243d4fe4b74125) 11542 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a72b6b45299672d85c7984392454296d6)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) (classParma__Polyhedra__Library_1_1Linear__Expression_a74deedff2114e5a1c72305ba6c6e42ed)]
+>> endobj
+20291 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a77edd516d26f3ad1466ddf2fe2a4baaa) 11528 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a789ef1b22376ead412872189bc809269) 11130 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a80d43634ca26fd76dcb1fdede6363dc5) 11399 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a89a4a8da07d80da533b024f24f4864ae) 11129 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a8a1eeaa7f9845c9d33a22c8c5f5acab2) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a77edd516d26f3ad1466ddf2fe2a4baaa) (classParma__Polyhedra__Library_1_1Linear__Expression_a8ae08699620424e3c3c97dd7a3885d02)]
+>> endobj
+20292 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) 11391 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a8e50cf8481eaf61b281c180029b36fe3) 11132 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a9075dd07574234cc124e6076c272e987) 11390 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a920af28903c20a4a4962761b834d577f) 11386 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a97f2c2912a13988f28555bee4fe96ef4) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a8d443d5098921978efd7b625000f3b68) (classParma__Polyhedra__Library_1_1Linear__Expression_a98b5ccd1157e6ec8beec7702af9acb36)]
+>> endobj
+20293 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) 11382 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aa65a75af714fc5abd032b312a647fe3c) 11211 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aa66d8fe880ea6f99aa1a70805427d9d6) 11285 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aa74c2bb5c2c947d02fabe33f854fa7d6) 11204 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aa8f43e35dec15be4374b207a9440eb2c) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a9dd6ce1cb02b58fd3b973e40867362ac) (classParma__Polyhedra__Library_1_1Linear__Expression_aadaa110a051cded2af6bb04516e8b72e)]
+>> endobj
+20294 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ab1a39b5a84040af5feee0336b275fa95) 11541 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab33dcdd2d3caf28d71cf7d3f2270535d) 11115 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab4396e8bfbdd5831fd37d13c19194cc4) 11393 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab48b93c69098ab1dccd8d063f9c41575) 11271 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ab60766264325cf8fc82be004b2565ddb) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ab1a39b5a84040af5feee0336b275fa95) (classParma__Polyhedra__Library_1_1Linear__Expression_abaf335015f8c71026d2bee65ce4d109f)]
+>> endobj
+20295 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_abc403edfa30e7e93cfc3aa20be9e3a65) 11209 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_abca5613972564c8ec5c832bc8ff200d6) 11268 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac1b93dcadc82e52690114301554801b0) 11199 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac220e6f2cf884a8b2bb4017fc9ae53da) 11266 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ac455ad97639d9e7f59dbdc22e35dc1e7) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_abc403edfa30e7e93cfc3aa20be9e3a65) (classParma__Polyhedra__Library_1_1Linear__Expression_ac9ef23a57b1e85eb8c0e905b16feda93)]
+>> endobj
+20296 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_aca00917f32f160b28b9870beb5ce5f8d) 11214 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_acf61af4e3287846f0ca79140ff00a2d5) 11131 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ad44ed4e61b7e7c0c86918b66f44ec665) 11200 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ad4d28b09f6a6ccc12af382b731824efc) 11127 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ad5080c3ee416a445b60ac48971d9b808) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_aca00917f32f160b28b9870beb5ce5f8d) (classParma__Polyhedra__Library_1_1Linear__Expression_ad54fa1aa395d8a01b1d40cef5e307653)]
+>> endobj
+20297 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ae197d31ddce9785add2d89475653f0ae) 11197 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae1dfbc8be3858f2423df19c32e043110) 11273 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae25d01221fd2014bead64c551c33c9c5) 11267 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae2f034a1e5e025d25025f71b644d1133) 11213 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ae9cc837bbae1745ada3780634c73858f) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ae197d31ddce9785add2d89475653f0ae) (classParma__Polyhedra__Library_1_1Linear__Expression_ae9de3534d98524f48d9f6c0cdfbf239c)]
+>> endobj
+20298 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) 11282 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aea8819f3edb590eff758fe295c7f3300) 11265 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aea92b7e986d474c9f9e92f3fa2ea56e8) 11126 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_aeba04371a7fce3d1b5a20b287937feea) 11289 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_af0d240ef2e0e5d6771cb1767f6fa64b3) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_aea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1Linear__Expression_af5bbfb14fef626aee9f34e71a78c0d7d)]
+>> endobj
+20299 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_afda2273cf9b1d62249e3604c2c538d92) 11202 0 R (classParma__Polyhedra__Library_1_1Linear__Form) 1238 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a0801eaf17912403e4e1028f8a369d340) 11962 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a091ead8d6024998d0b42d3414af7024a) 11736 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a0aae60933043b8a5733655f003b49855) 11795 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_afda2273cf9b1d62249e3604c2c538d92) (classParma__Polyhedra__Library_1_1Linear__Form_a0b17cb50f319bb1942e2d93bb03b39f9)]
+>> endobj
+20300 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a0fb5c6814551962ec105ad073103cdbf) 11963 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a11faeb0d0bdf510639755bdfa3da44fc) 11792 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a1969778eca91e2d869a184cd86a28b7f) 11741 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a1a3e8432869205057fe502d63327562f) 12031 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a1a88e1933993c8562b586eb50efb635b) 11956 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a0fb5c6814551962ec105ad073103cdbf) (classParma__Polyhedra__Library_1_1Linear__Form_a1dd1c5b1e1b88d96d7aa8eae595625a9)]
+>> endobj
+20301 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a249b83627bd1fc3a6e8cff5566de8e1a) 11954 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a25f7695aa23ee1eebaab53c180512003) 11955 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a31950d4b043d6b2e30a6186c68cb0df0) 12027 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a4544162241c2aaa453bf739e3cdbeccc) 11800 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a464efe235d459d13d155c27608940e02) 11804 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a249b83627bd1fc3a6e8cff5566de8e1a) (classParma__Polyhedra__Library_1_1Linear__Form_a4d12b35e0dd97b7319d536f692f50150)]
+>> endobj
+20302 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a4dbb70694594789f52b71511d56b9e30) 11796 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a50e316ac5412563b194a422ed639db97) 11875 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a532a142d9884da79dd7c66643aad74ed) 11805 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a55cc14142958a8c9fbab183d63a18d87) 11960 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a61ff1698fe2e74953ee823d59d2ddb31) 11873 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a4dbb70694594789f52b71511d56b9e30) (classParma__Polyhedra__Library_1_1Linear__Form_a62e142e1c4c2cb1a57bf9cb8d47efac2)]
+>> endobj
+20303 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a6377f256c9f9706efe893c170dcf4169) 11738 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a6c1cece5e5e0195baa563da3574b2e42) 11869 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a6c53f6f9c17b44e920dbcca5b02b6267) 11872 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a6cd1d9123d91ad11263872e5745a3212) 11961 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a6ffe3fb5134511834617a887244e645f) 11734 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a6377f256c9f9706efe893c170dcf4169) (classParma__Polyhedra__Library_1_1Linear__Form_a705817841ed4087af706fb138250677d)]
+>> endobj
+20304 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a768af1a1ab63ec4ae39ec442ec69ffb2) 11793 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a7fea886a5a8d881aaea0392ad771b0de) 11806 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a8121efae2cfdf708bc80df0a29ecace0) 11953 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a8452faaee93aca528132796ec28951ef) 11957 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a868c5d2bfed1531f600d5550a15c9282) 11791 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a768af1a1ab63ec4ae39ec442ec69ffb2) (classParma__Polyhedra__Library_1_1Linear__Form_a8a6be57b7127b316a2d1a9155218cdfb)]
+>> endobj
+20305 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_a8b1538f5a312dfe26223d4979e615bc3) 12029 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a8e65c033489da565762e3bde7d374d73) 11878 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a928bfef936763acd21344f469b74e83a) 11959 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a97c956c3432528492b019a33b6d4394e) 11881 0 R (classParma__Polyhedra__Library_1_1Linear__Form_a9a97dfad75b130ba9af2bf837221f571) 11790 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a8b1538f5a312dfe26223d4979e615bc3) (classParma__Polyhedra__Library_1_1Linear__Form_aa40049de444ed76982f6b4bd21aa5cfd)]
+>> endobj
+20306 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_aa6ff88fd77ab673abc05ffdcf583b957) 12030 0 R (classParma__Polyhedra__Library_1_1Linear__Form_aa79bd8215768f99b2f4955d80abe19bd) 11737 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ab010a109cfc8c298bec09df604e9c6ca) 11797 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ab5a66f5a68773b7bc33d39bdad1a9fb9) 11964 0 R (classParma__Polyhedra__Library_1_1Linear__Form_abbd8b9f2542dfd695e350d178acdb21a) 11739 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_aa6ff88fd77ab673abc05ffdcf583b957) (classParma__Polyhedra__Library_1_1Linear__Form_ac298af7d04123bec59f2a70423c0e4c1)]
+>> endobj
+20307 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_ac35d5925785d796c12dc79c193263580) 11742 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ac6910bddc1f60dd99cd77eeaca296341) 11880 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ac6b95d89c30f7eae0d0a6b8b017f3bb6) 11794 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ac9b28fec0aa459e25cf267c3ed31a0e5) 11877 0 R (classParma__Polyhedra__Library_1_1Linear__Form_ace7d8219031e05879897cd3443d35ed8) 11802 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_ac35d5925785d796c12dc79c193263580) (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22)]
+>> endobj
+20308 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Form_adb40b5b841a737ad5e7b8924335eef3a) 11879 0 R (classParma__Polyhedra__Library_1_1Linear__Form_adcca8dd406de66be709434ebb479c9eb) 11868 0 R (classParma__Polyhedra__Library_1_1Linear__Form_aecaf3176848b7bc62927a36ab60067ed) 11870 0 R (classParma__Polyhedra__Library_1_1Linear__Form_afa15deb19dfecdd98737b7375b1ce79e) 11867 0 R (classParma__Polyhedra__Library_1_1Linear__Form_aff8503daaa036375be162237f0d7c87b) 11874 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_adb40b5b841a737ad5e7b8924335eef3a) (classParma__Polyhedra__Library_1_1Linear__Form_affe69279c3c6de02262f18195a95e271)]
+>> endobj
+20309 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem) 1901 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator) 1784 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a108e6a6005f1a43bf906d349b9c40ea1) 6957 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a2d2a836128949f204da12c2fd3aa4f1c) 6930 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a3d8ac57c5e5aa2a5c2f5576d490c4f11) 6953 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem) (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a400322acab704cef7a052982929182ff)]
+>> endobj
+20310 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a4699390a942c1aaeaccd2b89b67e5855) 6954 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a4734a40ed0f8923109e02efe4cedc4c2) 6963 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a73e4d633b9400d175d45eb4e16f694d3) 6955 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a83032ffb501255f28077473407e1df81) 6932 0 R (classParma__Polyhedra__Library_1_1MIP__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_a4699390a942c1aaeaccd2b89b67e5855) (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_ad9dae1bccc03e59bf39357297de71360)]
+>> endobj
+20311 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_add6624f4b11313bba2819951fb70ea2f) 6929 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_af47168d758e7b40a1a458f985427ae28) 6956 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_af6ff26a7d66d601d93e6548e8472c892) 6933 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a01993c545c5d4dc725147ac29b1d26e5) 12235 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a0bf7e46a6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_1_1const__iterator_add6624f4b11313bba2819951fb70ea2f) (classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983a)]
+>> endobj
+20312 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) 12159 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a162d95e1149e222a317370e2fa25a120) 12233 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1e73b39b2848f8141aa58219cf97dead) 12294 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1ee38be62a49852994bf906003b0c23c) 12234 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a1ef2a882e1f0a3121f94eea90a9a16 [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a0f5e373c7067f61d03e3a90724a6983aac4528dcb9794c502cf7c9bd65e9c54ae) (classParma__Polyhedra__Library_1_1MIP__Problem_a21e9dae374ecb009d8f7f268f5e673e7)]
+>> endobj
+20313 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) 12291 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a28dfc886a103ede666395ab45fc7950c) 12297 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3601b97efe162fca1df11d70b0b3d607) 12302 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3800cc1eb2fb15d0c42dd71740bb661a) 12232 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3805575c5d920cbc808cf34e44c11fee) 12225 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a25be5d5e126674d8aca8b9ec828e289f) (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3)]
+>> endobj
+20314 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a3a94fde78bde319c0c1806ff074dea70) 12303 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a3aa58c4d8ded71e574db9d1c59533300) 12239 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a40f18b846fb1fe73b63da7fa7cbbbbca) 12227 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a42acbf3b42263a3dc137395dc8fe1421) 12295 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a485bfce228009ebec2a7bd83d695eddd) 12301 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a3a94fde78bde319c0c1806ff074dea70) (classParma__Polyhedra__Library_1_1MIP__Problem_a49625522da117289c0312c67060210f2)]
+>> endobj
+20315 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) 12238 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a57dab2bd4d371c36b4ebf610a6c85759) 12323 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a5da8e430d26c6471590e2c7ae5f7d82e) 12237 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a797f9cf758c537ea0abaffe280cc9682) 12293 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a8a238e31c3b4acf8a023a6346bbf752f) 12289 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a4d480f0b906eef0c0094c8fabc69a3b3) (classParma__Polyhedra__Library_1_1MIP__Problem_a8ccc13c9fa8f27701c935b481a371f89)]
+>> endobj
+20316 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_a97539a3abb32c8f6dee940d553cec62b) 12300 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa4a79e7bb87171b31d49429f9d875dcb) 12226 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aa9f9e9fbb372e1f21bd0472b2db20567) 12229 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232d) 12160 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da4d21924dceed7aac6368d4bc5affec [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a97539a3abb32c8f6dee940d553cec62b) (classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232da6a4badcfd0bb8d6e536fa16b2d5108d0)]
+>> endobj
+20317 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) 12162 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aabfec033a504656ea05620f485442b1e) 12290 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ab151aa3732a4737e63c5142b42159dc3) 12292 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ab5ff957e959947c6016cd28be6e2fadd) 12286 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abd1a41cf267b29ebf81851eb096dc6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_aabc43ede7fd0577eaeb7255a0eca232dafb044a16e827afb114b4a2b9ba86fcbb) (classParma__Polyhedra__Library_1_1MIP__Problem_ae60e06beac90231262189084333bda57)]
+>> endobj
+20318 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) 12243 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_aedfa8f360379ceb195993b2ef04424d4) 12236 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_af46e579954688eec46ac0a43029fdaa1) 12231 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_af9e8e2ee2a429df52a8755417e8c8df6) 12322 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_afc1e5cbd96d9c2819ba1ec2151f3897e) 12284 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_aea40406b8f95d9ca4f61f23598448cd5) (classParma__Polyhedra__Library_1_1MIP__Problem_aff27d012a01487b7c9c14a9a3b40d9b1)]
+>> endobj
+20319 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) 1236 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a07785ee99516a90ab920842fa3ab54d1) 12459 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a12e89691311b8923ae33e930a7c89f4b) 8339 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a247581d9877a1544797ef8388c86f6f4) 12460 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression) (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a598c3862b9f9e720061d5d3e87995840)]
+>> endobj
+20320 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a7ff53437f750fd3ce8781dd441d7c304) 12467 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a89dba3caf804c7ca6db844c67de99371) 12434 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ab22bb6327730a73a66ebd117ca90aaed) 8342 0 R (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_ae0f8501bc09bd6e6247c5d92476a03a1) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a7ff53437f750fd3ce8781dd441d7c304) (classParma__Polyhedra__Library_1_1NNC__Polyhedron)]
+>> endobj
+20321 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) 12570 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a16829d6b83d0c21f3d3e1f87c46ac239) 12510 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a2f41d86c5a949d903179e82072854ef4) 12573 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a35d0734550a70a165a87b145be5e8728) 12584 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a42e87760e6f69306e6322cc77f20d162) 12580 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a163f5dff452c6cf2e3a0c929eb2b8187) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a56849f08cce0bbdb7b8118abb30471c2)]
+>> endobj
+20322 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) 12509 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a691bb5ef88a4c9638034de4c1b9532cc) 12583 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a6b1f2d6606a0b4d4fc8bbde3b24ce553) 12575 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a7358056031cb08692ae07044715987cd) 12577 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a86c7ff797f1b5e1b31217a176176eb4c) 12585 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a60ae86027d4480aec07a5eed85f6977a) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a89d5bd03139c8fcaf1ab035208d680dd)]
+>> endobj
+20323 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) 12581 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a91cfad066b0e12cdaf7454fe4585cfc5) 12572 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_a9dc9e3a464def0e2d929fab9cae6e360) 12574 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ad5c6d64b009045df8248bcb8ffeea69e) 12579 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_aee8ba0ffc68e00046b55e12427c582cd) 12586 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_a8ee7e3364443dc8cd55f3f6388c81ecf) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_af5aee1171c6c67b9c57f3949b7b75be8)]
+>> endobj
+20324 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1No__Reduction) 1903 0 R (classParma__Polyhedra__Library_1_1No__Reduction_a5a0edbc51074f6e9e1a908fa292abe13) 12661 0 R (classParma__Polyhedra__Library_1_1No__Reduction_a77067a656a3aa9381a93a23dfba036e4) 12660 0 R (classParma__Polyhedra__Library_1_1No__Reduction_af38e352895f910cc9556dc7ac0d8f39d) 12665 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape) 771 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a003331e749ebf3ac37f3d5d010053 [...]
+/Limits [(classParma__Polyhedra__Library_1_1No__Reduction) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a003331e749ebf3ac37f3d5d01005321a)]
+>> endobj
+20325 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) 12728 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a07210f7190db4ecbd9af64ae673e7c00) 13231 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0851645a537132ba61da46cf65011cd8) 13250 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a0d8c78069019f44dc34ebab82ecfc6) 12989 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0a7f222ac228554b369d460087815b87) 12738 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a04704288741dbaf6f50e8fc09c43f737) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2)]
+>> endobj
+20326 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) 12998 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e09e7efc2f63aba534614086427bf49) 12896 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e90a75aac44c14997804b8911ff7bbb) 12831 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e984df6be52ebfb7284efb4c31d8e76) 13131 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0e9ecea59dea0ccb1cc3600bc11f1056) 12897 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a100662089d61a01ea43a28a944da266c)]
+>> endobj
+20327 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) 12983 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1091bf4d0e8ce7672f907cf5e7921120) 12730 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a11b4e4651b98d2af87bbc3ac55d76bbb) 13137 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a173628da404c1dc2c4d423cad7f9f960) 13061 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1910bb42882fe059a2ed18f5bad0a501) 12905 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a107c769c3c982506e2abf6979b9e92f6) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a196d1efc79437ca1d96b79b7cd60387f)]
+>> endobj
+20328 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a197fc2645bde64519a993bebc73f2caa) 13135 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1ae372d4f3b58cfa4af6edd51d845209) 12830 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1cd37a76428add108f267548ae76664b) 12899 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d5a47e2290eea8e036bd1623aba53d5) 13063 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1d780ef5b99cc9752eb322353b7b6b08) 13066 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a197fc2645bde64519a993bebc73f2caa) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a1f116cd62c9c54702aeafb564bf8e400)]
+>> endobj
+20329 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) 13073 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a217e4addfae235df12c449320e65f891) 12892 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a22b6ac7ec1477dc82d6db22900b59be2) 12821 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a25f104e58f88e05dfcb905bcd66e493b) 12997 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2b05cfa517e14902fe16c4c32c2cb543) 13249 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a204fb0538d07ee8ac3d5f2724419928b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a2d266342acc104c59dc0046242ccdac8)]
+>> endobj
+20330 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) 13128 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a353fe86259fbb2dd09d451e9dd468676) 12816 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a35518da8c480784110d40b680256bd61) 12889 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a38da38d0fab7eed9ee09fdb11f88fd15) 13126 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3905c42e02befd8a894c57abd9f972f5) 12820 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a2f13e4ffe7b47ec50721791877b41622) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a3b9f6fbac96e03a00d061a2cd2ca2baf)]
+>> endobj
+20331 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) 12999 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46797ad634dc267c1264aa046c69f9f8) 12747 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46a4105c8476e5f5260a775777398586) 12827 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a46d5dc7df45abdea275f0295fee58c23) 13070 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a4b561b7d32821298049fd05598b965f3) 12991 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a44e10aa0180433db7d19fb8e473dc829) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04)]
+>> endobj
+20332 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a50ca45a8cfc186aa1fd90160b643d766) 13222 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a51fb0220102e525b11cdb06dcbe322c7) 13127 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a52516b2247ed249d7989a7048a677614) 13064 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a580264341ec83f4bf3d6da1205939b0a) 12901 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a594973c5284386e52b8c33b206a47907) 12900 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a50ca45a8cfc186aa1fd90160b643d766) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a5d905934786546ee29986ddc15e2536b)]
+>> endobj
+20333 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) 12745 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6156f452e023eb181658f23bde09ec15) 13079 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a634913398afa411ada69f973e0acdb3f) 13134 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a65fe7fbf38e2395261aefa548bf71e94) 13130 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a6f9c769f48ed91cd71bec247b7733430) 12740 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a5e74729a5f7cabef57fb795cc728869c) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a702b00ff42a88c23ab25eecf0e9acef0)]
+>> endobj
+20334 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) 13072 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a72782e7d9a6612efd73b253b0f862c6b) 12988 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a74d2b64496aa448a85ec0b370cee0977) 12819 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a79864149b95e4560a85aa80eb9c1303a) 12987 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7ae373e57180f03b09aa0e38d1f19811) 12829 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a703f57855b17ef63b28f88fe13a51870) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a7dcb9b448c8c0171e18f29551077d133)]
+>> endobj
+20335 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) 12825 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a87aadd3a9d47e978a32c9867b13220a4) 13071 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a891529f721ff485fe2ec90ac48952cc6) 12669 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8a329c1ea10527cde394abab15b67356) 12746 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a8b99abb6e15eedbdb94e2466e8304c52) 12811 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a81c8a26a02090eb4fb9255dd814514a8) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a934cc1f45a6d438f5d468276140cd5a8)]
+>> endobj
+20336 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a940509da64dedf971ad0e8c07fa75bc6) 12742 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a96bae54a01fe00bad4306bec61bb4687) 12668 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9a6c3fb1249ffaf38f7ed7498c138557) 13136 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9b7061aa20aa4b513216bcdb1a905ce7) 13068 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a9ff9fc541a420e15ea669068b9c9cc69) 12750 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a940509da64dedf971ad0e8c07fa75bc6) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aa317313059bdf973567d2fcf5e030212)]
+>> endobj
+20337 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) 12898 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaae8e418bb3d7a1432117530eaea7ec4) 12817 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaccc951498a59150e2297e6a9a3843a9) 12743 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae058fd9619a17e121c3aab9b0612d81) 12894 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aaec5aac18085c547d9e8a207e2a91a2a) 13225 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aa493e3939364ce0db66b42f0ef6511d0) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b)]
+>> endobj
+20338 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ab030b7a285d9b5e6470263311eeb87f4) 13228 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab38e5d3ce8cc120ce4b534bc43d90d34) 12741 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab499fba7b7be2932147748248180e057) 12995 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab5dfec17f683d1cbe01cfc71d601108c) 12812 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab7c86f7ff6b09ff72e3ee3382b4c933b) 12815 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ab030b7a285d9b5e6470263311eeb87f4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ab88fa5dbd9a213a4826f1c766d547b55)]
+>> endobj
+20339 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) 13076 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aba9abb279871c30a4f0c6cbb188fecc1) 12992 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfb434e3d574f4bd53314ac8749c4731) 12986 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_abfde1aac87d8218fce0fa9b4ea8a5eb1) 12984 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac0753202309a8659d436445a609d8ebd) 13230 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aba8ba56b075b2be7b6309cfaed039070) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ac6376a87e99d3cdabaa6ee7542474849)]
+>> endobj
+20340 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) 12890 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_accc6c6488ea9d8555ea8e978cf188749) 12990 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_acfec639e917dfd6eb63c4006ac55b807) 12891 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad178f59cac52085594b73fcdff001cab) 13226 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad423a6ddce01a2f2efb34b826d0de921) 12828 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_acb19de0243a618e9bf3d62e2ee04ae01) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad597da38af773e6cd9335ffd866fa32a)]
+>> endobj
+20341 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) 13060 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad96422b035879adfe42f8ffd3ac2bcd4) 13227 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ad9e4b27a90287bc7f17da3de37be34d2) 13132 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adb81ef7bfbf3fbe1cedb4776c558c869) 13077 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_adbbe0f9a58b8cfa5c92d54082f2955f2) 13065 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ad8d04d80653fb850dd92468af1995f97) (classParma__Polyhedra__Library_1_1Octagonal__Shape_adc269190695c1745ab086168fcf35835)]
+>> endobj
+20342 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) 12744 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3a252c7d19e09650769922c1874a2ad) 13224 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae3be22e7dcdf54fdc0fb976fd755d0c7) 12818 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae85fbe787fa3e172ecf6a63b2847d69a) 12822 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aec298ee7df246c945e6a56442e04176d) 12985 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ae37107ec8d1402bb69ac6462d7f4646d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aed38463ae788879580d6372653452603)]
+>> endobj
+20343 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aedd7f0d898b4ab1df6dfa90605fede79) 13221 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aee949687b91366506561d398d257483b) 13139 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af01e11ba0928481fccc99a0c1cace0d9) 12748 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af14ea5b6122685afd62a3df786512d77) 12813 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af1921cd40fb0920e1173cf67418c63fe) 12809 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_aedd7f0d898b4ab1df6dfa90605fede79) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a)]
+>> endobj
+20344 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) 13075 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af34d4911235992f1f10dcf2f772ffe05) 13220 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af41476c22751c8d79e8599443aea93da) 13074 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af53fae5a9b3291b56e90e544402f2c0b) 13067 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_af7fd07f1f8d91c830130c061da7b6c56) 12814 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af9503f2a0fd1535ce7cb9465908006dc)]
+>> endobj
+20345 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) 13069 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afa8decb7c7093c9cde1255a6c1af62d4) 12749 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afb32b5b308dcb625f5a62006c6f3625a) 13138 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_afea57a711a6b7a5d501112b84b246759) 12906 0 R (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression) 1233 0 R (classParma__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afa62abe41a99d6a01cca319ed860bb5b) (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a47224e5fc07b3798eb4f2f5837073894)]
+>> endobj
+20346 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a8684a78903049fa062f98ada32e1a1f4) 13693 0 R (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_abb2196b5d457aab2d16ee39b6c0710aa) 13700 0 R (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_ac63c0ad7c349a9bc2071d7ed158d9ba0) 13692 0 R (classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_af3e260242ad3eb13cbe5281f3c51abb5) 13691 0 R (classParma_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Opposite__Floating__Point__Expression_a8684a78903049fa062f98ada32e1a1f4) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a031ecc9f79496b10a1b48d6626fd98aa)]
+>> endobj
+20347 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a058de183d237813010822dc5c734ce5c) 14576 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a27ccfe6ce15264f53bda385c5d93d0c3) 14578 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a3d06dcc99da3a287c6881d2b1e43935a) 14577 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a47e031aae6928828862422b0ceedec71) 14574 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a4d75a1f9b3e618d337fde1b4de9f [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a058de183d237813010822dc5c734ce5c) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_a81497d1095efd042cd3034335a3d19e6)]
+>> endobj
+20348 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a9be1cd3f6bd0582f6a60bffe2d72d2cc) 14633 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aa5e48e146300e08949a783b435f7672c) 14572 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ab6e5b1dd2b5b7cc9dae9b4ca656cd05a) 14582 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_ad096a02cc969dcd4b8606cd77d501070) 14573 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_aebe39b79533783e53ef583a9ea30 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_a9be1cd3f6bd0582f6a60bffe2d72d2cc) (classParma__Polyhedra__Library_1_1PIP__Decision__Node_af6356910030e23dc05bd4e500f073428)]
+>> endobj
+20349 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) 14575 0 R (classParma__Polyhedra__Library_1_1PIP__Decision__Node_afab20885083717c18371349d4c182481) 14632 0 R (classParma__Polyhedra__Library_1_1PIP__Problem) 1949 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a04f2cd33bf24eddaa306c392810004ef) 14713 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a06368fdf7c40ae26305476c42e412172) 14652 0 R (classParma__Polyhedra__Library_1_1PIP__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Decision__Node_af8feb908f5def7ba99abb739dd2dc6cc) (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece)]
+>> endobj
+20350 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) 14645 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1eceaed708535b4103023ee1a5d24ea5ff7b3) 14644 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a08ee3b2a32e3b7b8088a84a8beaca0f4) 14721 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a1c6db3c7a9e8bcc79574dfbb087cf996) 14717 0 R (classParma__Polyhedra__Library_1_1PIP__Proble [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) (classParma__Polyhedra__Library_1_1PIP__Problem_a1fefbce40046822771b243b1d2f1277e)]
+>> endobj
+20351 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) 14704 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a26a3ca0eb57793c00b0517a6856b8c10) 14710 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a2a7a0b9f3dc8cd6d55e839e20fa28f12) 14751 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a2f2683794347b7bceb41d88e1b1412d8) 14712 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a38cc9e4158abcf9fa6fb719d079108d1) 14702 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a25cc092f9c3d26be5b6dac41eb54186c) (classParma__Polyhedra__Library_1_1PIP__Problem_a56ce97c41ec068deda3ccfd81766ff83)]
+>> endobj
+20352 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a5958bfbbb683917b5f3d165a09fb00a3) 14762 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a5fdacdaf0ba18f647ac7bf95a2624af0) 14761 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a62d38f242bfeb5c6d1a4ccdb28518538) 14701 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a6dd86308a6aa3b0a99e7464fa6d64534) 14718 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a6ffb7a29c69bf20f56f8ba9f16dc74b8) 14714 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a5958bfbbb683917b5f3d165a09fb00a3) (classParma__Polyhedra__Library_1_1PIP__Problem_a77a39c345913dd490ff33b698d45b7e2)]
+>> endobj
+20353 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) 14707 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a86401a66d7add563a9fec4a610ca33b3) 14755 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2) 14646 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a2b86312f1e0350f49b28c23bd3815e9c) 14647 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a785a8dddb80c0cf25b4b02f3f38b0631) (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a624c8a3766d76f8eabbb18e9270b32c1)]
+>> endobj
+20354 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) 14650 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2adf2b5f608f0f0f055f58d9bedb694855) 14651 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a920510b7460ca0933ea807b88484ed8c) 14752 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_a934053580363fb6c281a614d593231f2) 14716 0 R (classParma__Polyhedra__Library_1_1PIP__Proble [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a8fc1017d7db28f674678a1ccc49ae7b2a9fbd7fce64abd6f1a6459300d77884f4) (classParma__Polyhedra__Library_1_1PIP__Problem_aa7ceb834deaff6303def1cbe95373edc)]
+>> endobj
+20355 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_ab9663a6c08e6c35bea0da7fa41c81393) 14722 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abaa2167b4f8ff4184a73ebe46aef2720) 14757 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abac8b241f6c2a61248fa768b9157203d) 14719 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abe6c178703fd2e036909f2cbd6cee470) 14638 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_abfb5615fad7429cb2c340d763df8a43b) 14753 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_ab9663a6c08e6c35bea0da7fa41c81393) (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0)]
+>> endobj
+20356 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) 14708 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae6a4663bfee916adb9330010328493d6) 14754 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_ae9d3cb337b4a4a0fc296d2b5b742b7f2) 14711 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_aeffbd9c469a175051d71f3fd7fb525d4) 14653 0 R (classParma__Polyhedra__Library_1_1PIP__Problem_af353ca460687792eb573428e18467f44) 14703 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) (classParma__Polyhedra__Library_1_1PIP__Solution__Node)]
+>> endobj
+20357 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) 14977 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a082a2f74f2c88339b84f233dc45e3370) 14919 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a49e1548e93467d9fd12ba992f8712c56) 14915 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4ec7c4c8093efb70675c35a17d6a7e28) 14807 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a4f54448c4e6823e33a0f5121e5d2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a02d378f2284277bd0cf98f4f5e9daa37) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a50a4be6352d2c6b88989c7a49bae79cf)]
+>> endobj
+20358 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a58ca16812eb7bf483600d204a504c63c) 14917 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a68753415da58ce7afaf72efc835a65be) 14982 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c1045d83957e66a37f4b9605431945c) 14913 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a6c2621d99e009a3c99558671ab046b9b) 14971 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a727cd68e90dd481583b6a2bd5fdf [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a58ca16812eb7bf483600d204a504c63c) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a7ef6a6a1d69f65fd28e518f0de795ffa)]
+>> endobj
+20359 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) 14911 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_a996dc24a90ed7bf0e7231563f3c78975) 14912 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ab41e16bb175c436813472be1b131f853) 14920 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb1b3eeef8a1a793899d9b66f1200fb0) 14914 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_abb91a97e6b843121536f02146fb4 [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_a8db329a321108295b995b5af1058ff37) (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac3cf88993e63370f39ad5ea8915ba2af)]
+>> endobj
+20360 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac75ace456537db34732d1e1cca5e06de) 14973 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ad5d38b578c833abb397e67cacce7f54d) 14969 0 R (classParma__Polyhedra__Library_1_1PIP__Solution__Node_ae941ad9d780f0c225b88c5a681132007) 14972 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node) 1951 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter) 1718 0 R (classParma__Polyhedra__Library_1_1PI [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Solution__Node_ac75ace456537db34732d1e1cca5e06de) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a022891f0008542ea787d812e6e6f9e48)]
+>> endobj
+20361 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) 3030 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a2bd978ad611c80d14315255b1577772d) 3033 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a3611ca64bf028cea3b37bbfe3c5f84e6) 3039 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a514da3c88769e7584fe9d6da6f2cb003) 3029 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a243d9267fe6a9414af634749b27dac8d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1)]
+>> endobj
+20362 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) 3028 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a8ca5257af8014cbcb2b4723340b9139d) 3038 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9561e112f9dc57e63230b0fda3858e1a) 3040 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a9b395593b699094656f3cc00361976f4) 3035 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ac2c8b1fa8685b79a6e0dac07128b24d9)]
+>> endobj
+20363 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_acd547a5df8e528ed1ab16c8f19c97685) 3031 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_ad59c13d00ea95d4ed045bca314f5e5fc) 3075 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_adcaa7cd147b3ebb7c52d232824de49e4) 3064 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a048588fb0ac55c4315b0ce6cb1ec274b) 15031 0 R (classParma__Polyhedra__Libr [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_acd547a5df8e528ed1ab16c8f19c97685) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a263d8e40807241816cef0286661553e1)]
+>> endobj
+20364 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a2d4cc0630c7f91e7e490a1322c53e5c0) 15101 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3b556a97f08c7fc9cbf0e4e9e7b6d901) 15127 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd1af04908aea1d1e5deda23b627a24) 15137 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a3cd966830899423f741449e6567241cd) 15093 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a43eb178d5fe05266ba5f76962e836bfe) 14795 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a2d4cc0630c7f91e7e490a1322c53e5c0) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a454c2aefff18b334bc3e37c1f6e2fb77)]
+>> endobj
+20365 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) 15032 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a4a60232026ce7d82ef5a4cee5e482fa9) 15132 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a675704312a01f43f3f2d23f1f24c50c2) 15130 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a6ff7edd489b1d20b1bca1f4431d802f1) 15094 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a740610ebd6849a2b7058991fa52071f8) 14642 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a48b522405ad8896775cbe6d2344bba4a) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a77459bc72a66ade5bdb58c0ce1aaf020)]
+>> endobj
+20366 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) 15030 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a850e5f1b5da521aff7ff926c0b54aa7a) 15104 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a8cd66485ef35802c6c117eab5f641d08) 15089 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9579b18f0878bf26e817c7215ceb4aa3) 15126 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a97ccf10304ef9ba8b58549f7570b8cea) 14806 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a7d8d70c48e3726d157cdaf49f6e1028d) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9957fb5cc207114f8401d86fd66c7fba)]
+>> endobj
+20367 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9ac8b3ffed6355e1de3f16b194a90a42) 15103 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aa53032d6032bb4c199a517187c46636e) 15027 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_aafa858d51c2ba75d0778692e95c895c7) 15097 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ab57aada46f9e76478cf7db1ca6ec9091) 15096 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac5612e1699099eb4ce49e81b696ae89f) 15029 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_a9ac8b3ffed6355e1de3f16b194a90a42) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac963d832360fbbf4936bd81bd82f4d44)]
+>> endobj
+20368 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) 15129 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad0f4f20d94ed76c2a147a571e3f44e6c) 15138 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ad2e8f2d9c5b2732df9e001bb155320ca) 15025 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ade3035e2021726b1d2c0c563d6c1216e) 15087 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ae3905fc4ad45180a029f856c7ca7a2fc) 15028 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af0d04edca3b2e3d30f5d6de7499396b5)]
+>> endobj
+20369 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) 15088 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_af6518b1b7e729018dfc57b6800d904f8) 15095 0 R (classParma__Polyhedra__Library_1_1PIP__Tree__Node_afe89a5e748cfb2fabd6c6d46458f0d4e) 14640 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) 789 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0477081337723b88cfe4e8a6e8f2929d) 13920 0 R (classParma__Pol [...]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_af46a1a2668f581e1bc158db432912f35) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0c2c96efcf10102068f754c608a12427)]
+>> endobj
+20370 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) 13936 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1190fcf4794305386f8475f9ac51ce00) 13859 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a15b21e990e26976e615a7d3244ed843e) 14016 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a187bdab1051f58af280af66645ce1fed) 13845 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a0ea21bf85aa2e90c449435cfedcef181) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d1ef9ef2a29c5aafe1baa14d0e49f23)]
+>> endobj
+20371 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) 13927 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1daec40615d5a93ce0de360865d93497) 13779 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1dc5b9db43a16365ba0773a96fe1b799) 13851 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a201ee4c814267695f31b30be833917bf) 13926 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a1d52cb88936eb0f5bde559b39f8ec42c) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a269f357fca785afae3774b1e084d9b93)]
+>> endobj
+20372 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) 13777 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a294875fd6b469d8949f08c24b5893b6e) 13850 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2c47f2f619b1d0f322b742891920735f) 14022 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2d12805af932544a4fc1575f8db62a3d) 14124 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a28f6854a94a3a7d58034cb1d51ae9c7c) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2fe458f016db5eeeb95bee46f1800533)]
+>> endobj
+20373 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) 14077 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a38a5f3efb1fe599046d2ed48223bfa41) 13847 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a031a8e65176b8bd80d2857bd9a68b6) 13931 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3a03cd3ea1b11c1c8dbdf462959d79df) 13867 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a343e039e48425126b187827066d12bf2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b90222087f1b165953960beac112e72)]
+>> endobj
+20374 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) 13856 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3cad64f36f7df128cc7637c9e0910bf1) 14084 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41c9a9dc63e253ac5ed21cbdad4e2640) 13860 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a41d30675a3c28980af0f087b06a1f4c1) 13917 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a43ab45399b7e22ffcd6403b7e59a473c)]
+>> endobj
+20375 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) 13848 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4857c775f03d5b4ff084723eed2b5e31) 13778 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4a53183970490595ac39c8c070601c6f) 14075 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a4ac4e4131c756f0ffce85b9dec7d2b3a) 14078 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a46f912e8b181561f68062e183005c8bc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a640fe823a102e14522990200193c6701)]
+>> endobj
+20376 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) 13776 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a676b331ee61606b74be4cd1f90756839) 13935 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6bd361a7c7e187c0ff63c62894e741f8) 13853 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6cd12c70f251a340295cb737ae2deace) 14134 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a6713cca018bed4091ffafb98ca4833d0) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a77a2a8e38120a21ac0d5f19eb6e1668b)]
+>> endobj
+20377 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) 13922 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7982064b912c7e29608acf2e4c0a29b4) 14132 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7999968db9fb568980215d2c84393358) 14018 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a7a1f9b31c3ed7dc3e7691b9110ddbedb) 14083 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a78e60691cfc6b6b52a34cc7952380a84) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a804363984fe210abe47624522dfb7a92)]
+>> endobj
+20378 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) 14070 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a888509fe116790d0b9a267e614be10ec) 13921 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8b2ee24610cb804238f33581093948c1) 14017 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8eb19423295d8af4d69f144fc227128f) 14073 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a885e896b320d1f4285b5dc92a20f8884) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a940db627ef73d29e63fed31acc7553f7)]
+>> endobj
+20379 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a964b893c418b1885f22f833e42cd730d) 13787 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a97cc0d02a88d52e79cbb6615a3bbab42) 14021 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99247c74022e8d51cd0a2d93a87bcfe5) 14026 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a99dc4fb442b60dc9c694d7abc853a3dc) 13865 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a964b893c418b1885f22f833e42cd730d) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9be620ae3a5afa0a9d5b89acfdae387a)]
+>> endobj
+20380 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) 14125 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa8128b9910f31bc963842e48c44a863e) 13866 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aad10819182a33870e4b0a7e3b2bca564) 13858 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aafc9294d3fb5f2c0fd8d4e4d22c283b6) 13932 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab3b8f7e6fdd123f510ba85f4527bdee3)]
+>> endobj
+20381 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) 13919 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aba9a62afaaf44d400bb19bc9af041182) 13785 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abad856c82bc5ed461fed87d318fb5950) 13784 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_abb5709426ac80aa0bcf907b4f1d4a577) 14019 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ab73df10027395d3b2c9fbd3f3e77944e) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac088d51ee5a9963244f0816e1558c80b)]
+>> endobj
+20382 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) 13934 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2583843b139ce11b842155b35d60332) 13849 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac2f1209d77894eb265d41b923b74f9d9) 14131 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac5ec610fb42e16beaac59b537a71f187) 14079 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac238f59379434b7fbfd7dccd74be1cd6) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ac7b41dba5d22086cb9715c3f51248f98)]
+>> endobj
+20383 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) 14066 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acc8d0378d1cb13b5ddc04dd12cf18ebe) 13855 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3a8f10409a9fd73afb6691686d6862c) 13925 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad3e2a76d26bef272d0a13fa3bae9a5c2) 13857 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_acbcc65a843515d547f055b687d1e6d5f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb0fa15c5f30fc4be6a94ce2606208ef)]
+>> endobj
+20384 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) 13863 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adca9874a75b5ba09114b8495a23c4edd) 13782 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adea57326388915780370a677453778b3) 14072 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adf7bd95cb0014251d60d1fd82c1d3932) 13861 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_adb466cb206f1d16d24257a838d130cf2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae274e65fc3f012ab21bcffa3177228c5)]
+>> endobj
+20385 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) 13864 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae8be1647844c9837446b9c735f11672b) 14027 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aea7119974f9313e4c93908a2955c4186) 13929 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aef3ebc0ed74af80cd3653321153360bd) 13783 0 R (classParma__Polyhedra__Library_1_1Partially__Reduce [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ae386245235cada70fc797b0747b0d326) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298)]
+>> endobj
+20386 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) 13928 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afb7b94b681c4d195080fa81ed1480cc2) 13862 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_affd7d0678df82882b006ea7b02771f98) 13923 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset) 788 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a05b872f147220805d2c4ee943a76ef13) 15406 0  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0aa45bed5fe5f850d404fa9f415c4b0f)]
+>> endobj
+20387 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) 15413 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0e607a3a4f75933f5770af4a1c435a2f) 15401 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a0ed96a7329312281236730beb476e4b1) 15414 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a12691e00b643410a6f401c55a2266adc) 15415 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a14552a788e6f0f23a513ba57c1ed9129) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a0c5d4cd9684f22f35f76212e54b6293a) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a17e25309469009012f40ed891a2c3f01)]
+>> endobj
+20388 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a1857e944bbc4d95b76cb564c647c6fa5) 15501 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a1958a70ab97d5ef79b472c38cea304cb) 15491 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2620151d844d477b43ae04337c554e99) 15246 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2915faf8e749672c943206607eb29f4b) 15266 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a2fa8e500a9e53318599462001f751c89) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a1857e944bbc4d95b76cb564c647c6fa5) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34d86332404f9819605dbce5ab19f684)]
+>> endobj
+20389 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) 15343 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a385074bda19450e4b4aba954520ae28b) 15493 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ac791813ad39c9adfb99a365636d1f7) 15547 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3ecaca69acbfe46c80b475d99757138a) 15546 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a3f4e612db0eea52c329f5a6be95197b9) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a37fa37c5d3937c14095868add547dac7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a410bfbb102ec5ec854351c383685ca91)]
+>> endobj
+20390 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) 15541 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a43d9dc891079233f9ec0618bd5d4b46c) 15328 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a44499a9c2e1c360ce6757ec020786e36) 15602 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58e593961a5e7c1f92670c9cbcd6b633) 15267 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a58ee2abcd4b191f32ff78c0e768b18b5) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a41c7ca1b6cc1f391be10cd4ab3396de1) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a60f11695efd1e26251b6f2463b989974)]
+>> endobj
+20391 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) 15341 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a69b8be312d167dfebfba35b91c7c9f95) 15324 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a6ef292d9fbb334ba7994b8d2b3a5e94f) 15405 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7347d9123ff2c5b816d45a40d74717a9) 15264 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7378d4cf77114743152ad5396a1b7db9) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a65234fd4b0ac6aa8765dc960489104c2) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8)]
+>> endobj
+20392 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) 15402 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a76fee04931b37e764744156fdc08d84a) 15496 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a778189ac90f9d76fcbf966965b27c791) 15418 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7b71c85c9201eabfb945527532eaebb4) 15397 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a7e6ce9a6495c9482980e3d2f76d948a9) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a81171c017292bad186bd36d04e0450e2)]
+>> endobj
+20393 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) 15550 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a88358b265bd62da2cd81c56fcd645ff4) 15243 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8b27f6597e651407b433a5098a47a76f) 15263 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8bef907491da530ce94e52f830e84f2c) 15605 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8d79ac97835780e6ca5e2022abf5ab0b) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a87bccf995617f2884fa2fe2f99479e5e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a8fcc73a0fbbd549174fd99a848c3fa52)]
+>> endobj
+20394 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) 15340 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9531e96c825c3a3ec880db64d5886bb9) 15400 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9639bd96c993f44bae8ec9185cf00d45) 15259 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a98db63b080d0117099060e3faa4f0278) 15251 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a99f8aab5b33871c9652a9f70407b30ca) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a92c73441367e1d9c77bc360a009820b8) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9a99b2b76d216a907dcb515f5ef61cfd)]
+>> endobj
+20395 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) 15403 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a9fddb040df547f46e9581e9ff7f80107) 15330 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa0bf2a85994114dfd0e8574b94c0843e) 15252 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1a9bfc80ee005c6dcf60ad60fbcedfd) 15342 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa1b0f7ebce9dd3f01d55861ea1698fdc) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a9df4749e0d54f9bb1ba38e2392697fa6) (classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6540753b860549e4d4be346d7cd0229)]
+>> endobj
+20396 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) 15399 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aae1e3a3bf181638f33c685688c86e816) 15417 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab061759f73cfae4553fa240e8b5e24de) 15498 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab0a22c4feede666e4f5c3602d21b31ad) 15416 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab3118b07bb55902e522ddf0375eac899) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aa6633280f8aef2c30ed25d9c59544c11) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ab363ed895c854b9e8cb40960a2fc87ce)]
+>> endobj
+20397 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab617c0a1051fd344e4d44fa5f5415b1f) 15601 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_abe381af245a3eb59deda1dd8d0743c44) 15495 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac5f23b096482951cc440f5fe9938c8b7) 15500 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_acc7b416e3bc54353d05447fa4cfca8a1) 15552 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_acda879ffdc222a06c9af2f820ac02c5a) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ab617c0a1051fd344e4d44fa5f5415b1f) (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4)]
+>> endobj
+20398 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) 15336 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad03499176ca7a20224e1be9c0bc7a8df) 15553 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1574856ed0bd50691f53d457f7050a3) 15245 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad1e68150be7e04e59627d8ee19c76d10) 15326 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad2b46dff4ba33746c2e55f7767627227) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad44e727022551209ba94ec652b950b8e)]
+>> endobj
+20399 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) 15404 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ad7e1698be31b1b95dc7e28d13ec162d5) 15594 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ade90870acddf26103903da3d9e270088) 15329 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_adfb4df5b07b3587b3d723514dede020c) 15494 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae21cdaa1460a54fb14ecb34f3ea30cb9) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ad5999a9b4d00e7c079fb27a26b640188) (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae2abdfa9b2796151d2d8940d14129568)]
+>> endobj
+20400 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) 15334 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae54a4b74cd6e303628d06baa3014a4a9) 15337 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae816bf5283bdc18773e7b188ef95df81) 15408 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ae86262d281c712780a1fd78570080d6f) 15488 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aec6ff4fd4b372a6635251b3129cadd42) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_ae4d04c972b69315f7f82ef303f1b31e7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_aed261a7f093a3ea4eb8cc2ba5eea3732)]
+>> endobj
+20401 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) 15260 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af32491e07197b3d96e0068b353e82211) 15411 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_af98f757db804a7f7c7f0ca1b36198f9b) 15489 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afbae47064f15bcfd238fbb8e778e4ea1) 15335 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afc2f9c2b16ce6601be8b0b685c0c11e1) [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_aee7b076885815e52c4678cfc0fb9e5a4) (classParma__Polyhedra__Library_1_1Pointset__Powerset_afed62d6b4c6cd06a08a49942907135bb)]
+>> endobj
+20402 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) 15551 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_afffb0b03585f4317ffa46aff429b2c6c) 15331 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation) 1952 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a1dd09c87a931132dbee52ea24266866a) 15960 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4cc725a9fe3bdaded2c131bb8bb47ed8) 15953 0 R (classParma__Polyhedr [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_affd60938da7b4567564d56fc29d5cedb) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a553ae81ae234cedad36e72b32c967e65)]
+>> endobj
+20403 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) 15958 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a80b9d602f99df76039d58032b20041d7) 15955 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a825bf274e880e1c8d51b42d32c69004e) 15963 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a9f09728ae53c8e3dadeb202f28bb6fdb) 15959 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa317e5d2d782c3589c48cb3b45d6 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a62827195c6aeacf38a8fb3df6df8ff2e) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d)]
+>> endobj
+20404 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) 15952 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab9da0d811233cfb64481a7fe08b7f645) 15987 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ac8b0d22ea3470020b35240f778c34a94) 15961 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_ad1bc9d7804925b15f8205df0b3efc8a4) 15965 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af00b427f47054a80d236d124443c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_af7184f692efc0672e3213f6be9d5cf4c)]
+>> endobj
+20405 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation) 1953 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a0ca2fc9566495b3d4ac6b970a301d9a1) 16049 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a306699ac7d5f2c2c909c3a3baf303009) 16056 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a419ea78710f4b45c1542647e1212a3f7) 16048 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a4f7df2a0b66616d7672e562fa8c4e8f6) 16047 0 R (classParma__Polyhe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a5740d23d50b9aa7c95e8b6b51242258d)]
+>> endobj
+20406 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) 16058 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a8ede6a8a55e35d1c41065b01afac0342) 16045 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aa303fa28c55c391afe4f067f91db36ce) 16046 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_aaf9d682418e536d9a1f6bd24991e1c56) 16051 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ad99eb5124bfcd9c75379efdde73d [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a6d5d2010157ae8f712e4a3e551d355d7) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_ade82782e3363de460caad677b3583559)]
+>> endobj
+20407 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) 16052 0 R (classParma__Polyhedra__Library_1_1Polyhedron) 1252 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0514c2e57ac8154666e9fe6bb56c0e18) 16131 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a05fba1023938607f7c5e345c0be716e3) 16283 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a075036249d2478e1710f5d6350c849f3) 16279 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af78754c1ef47797c0acbd31cf48f9caf) (classParma__Polyhedra__Library_1_1Polyhedron_a08e91d11b3deb5b694356b5573d2547a)]
+>> endobj
+20408 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) 16209 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0c58bbc8bf8db5f570da3db42a0ae2f7) 16440 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0d9abbf681b7b0724963d97596286ae5) 16192 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a13f15417d90174f6c2d3648e83d9fcf5) 16208 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1a3647877302fc6e0e583b8b881a7a4f) 16445 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a0a5c586d872f15baf7fd70941fc16c41) (classParma__Polyhedra__Library_1_1Polyhedron_a1c30b772596f8f342d0f05b9b142a932)]
+>> endobj
+20409 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) 16522 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a1d7db8ee4d8972c1818a36d6517ebbff) 16443 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a236a18fe8cc922d00ee92a6c6e42f923) 16276 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a249ea59c1765ea299f4d9471388aa5f9) 16526 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a26cdbeaa84beec1df0c9f86b73b20cfb) 16372 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a1cecffe684d1faa9b0f6b8d4f227e9ae) (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708)]
+>> endobj
+20410 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) 16118 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3065d01256aa333117e0ee24d99b4431) 16452 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a31d70a625e092dfdaed4f3232701f35d) 16200 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a3569a428ad758dc9ac8273e0f1f77772) 16274 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a371deb67f73bf27ac9a7ff6f2216db9c) 16379 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) (classParma__Polyhedra__Library_1_1Polyhedron_a3b49993a1cd4fc6891da88a6259b9f93)]
+>> endobj
+20411 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) 16282 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a418f9959fe50f163773ad9de147821ed) 16455 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a43cd840b1ec99350c222b3f217739cea) 16114 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a49fe44155b41ca85f41b2abc99c39e13) 16281 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a4b428098e57a9101473a54cd71a0753f) 16285 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a3c1e5a2419a5f4a5cf89133606ed1680) (classParma__Polyhedra__Library_1_1Polyhedron_a4f514edad990412bd66cc666347103ab)]
+>> endobj
+20412 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) 16270 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a50e1047c49fffb06bc5089a06a051a3d) 16376 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a527e7c81841bbcf1963c6e260dadfe01) 16449 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a547a8d96908afe5a7f9e4ba2e10d7ac8) 16441 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a5c5da855445b7c877a626d824dfce64e) 15873 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a4f9a47ba1b29f1e07a32542584d50686) (classParma__Polyhedra__Library_1_1Polyhedron_a5d53d09dcc839672fedd4ab5d4142d57)]
+>> endobj
+20413 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) 16206 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a5dfef947c46e234a1ffd4707312332ec) 16112 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6187dbe974649c7bd4de8e66f70d3e46) 16132 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a672b0568e7a27c37b3afde649f7c0171) 16286 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6b737abc8f33b2a2362e3f9c9ab08d58) 16454 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a5df26655af3ae7844569d7086edf8332) (classParma__Polyhedra__Library_1_1Polyhedron_a6b987d283ce345c52b5d193c0688ad28)]
+>> endobj
+20414 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) 16507 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6e73a7d462d6a9a3891fff6c4a923495) 16204 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6e9d9dd7740b414d407c16687c99a88e) 16439 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a6fb94f0e966e97bfb9dcf43dddcf12ba) 16120 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7366f9b91109b63f078e963bccd9f5b4) 16384 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a6c7c72e56241da463eaeccdff79b6d49) (classParma__Polyhedra__Library_1_1Polyhedron_a73cb0d61cccb259e06b68d4f83deb6d7)]
+>> endobj
+20415 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a76c9012a376984a1b88823a59bd5bcde) 16572 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7af48c81caa850300e6042bea1008a38) 16205 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7b8d597a3c23af1fce9d8d3e1d36e11d) 16116 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7df62db3bf13024d4ee9f8aaf0d27dc6) 16211 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a7e68bea365fe939d08c91ec4edc61a2b) 16267 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a76c9012a376984a1b88823a59bd5bcde) (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39)]
+>> endobj
+20416 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) 16521 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a86d2bbceaa288f2f605ac88516d313cb) 16518 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a87ebe6f7cd176227f61c6d0fe47a4f68) 16451 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8af124edba7c75bc76ec394405aa893e) 16577 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a8c33b9ea975535b5aa0882241cf78986) 16190 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) (classParma__Polyhedra__Library_1_1Polyhedron_a8ed700f662722cbebdc9328344ba2839)]
+>> endobj
+20417 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) 16382 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a941caad4d0717e0fab30bf246adc0370) 16575 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a96e902093a55f87f0aebc2bb13a8d740) 16273 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9764ef2f159cfdcca3f151e899bd43ef) 16448 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a97ddb3b93ac699eebaca7e79f691b0ad) 16115 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a90016052cbe535d7e8b1e20a2c599053) (classParma__Polyhedra__Library_1_1Polyhedron_a98c785602c5af8f7e0c1be92bb5e8b71)]
+>> endobj
+20418 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) 16271 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9bc768bb8d7d9b971b44b8b3be738963) 16456 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a9f3c5474494eb306717bc3da7c109307) 16130 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa0ac997a15935821583174de968e5bff) 16193 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa26e1a5815b7a0c3b610395c854594bf) 16278 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a9a45b4b8f148a20359a2f3e2b1c2cb2d) (classParma__Polyhedra__Library_1_1Polyhedron_aa38fbbd15d5dc2e98d5b24c92b06c290)]
+>> endobj
+20419 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) 16512 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa6b6fed08414c86d33fc4a44c59e9e22) 16450 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa78179b1d8478dce6cf572af8e0b9cb4) 16508 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aa809bff4b85d09cd801e5e5cde1b8c06) 16370 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab1b315e7f04c051a36f48d344dd34052) 16272 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_aa39bdf85d6db02629fa73bbcaddab6d5) (classParma__Polyhedra__Library_1_1Polyhedron_ab4959b3da46291de301d9150f5afc3aa)]
+>> endobj
+20420 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) 16519 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ab7a35f8df974c9e932df6291754859fb) 16117 0 R (classParma__Polyhedra__Library_1_1Polyhedron_abbb7562de97ccf13bd97b57bb5e3ac94) 16194 0 R (classParma__Polyhedra__Library_1_1Polyhedron_abfd98397c137d81dcc27111fba3ccd54) 16277 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac2182f38e9f8acede601c3dcfa71c3b3) 16207 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ab6ab1820f2fdf444d1431ff3af424451) (classParma__Polyhedra__Library_1_1Polyhedron_ac251eb38d1b24b8b570d874ee11df424)]
+>> endobj
+20421 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) 16383 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac5c7acc50141a9104ef5b9b7598c1438) 16201 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac6ea1802e6a6cfb32e5af6d6d26eb424) 16121 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ac93800b9ec7aae75937598e1f2209b1f) 16371 0 R (classParma__Polyhedra__Library_1_1Polyhedron_acbc86683af6afc0818cc9e980a84fcb8) 16377 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ac26060b9b14465d4f1d948ab9c838c9c) (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932)]
+>> endobj
+20422 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ad020ca98ef94bc16e1050da4e0d54971) 16573 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad6a8cc7029bad7ad7ad116c90ff59aec) 16275 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad6d1e866b7ba9bf4233f3a5254cda0f9) 16523 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad84befb6d0ded481871cbef1b7306824) 16574 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ad909d5b60cab5d1a6816577c97b60fcf) 16189 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ad020ca98ef94bc16e1050da4e0d54971) (classParma__Polyhedra__Library_1_1Polyhedron_ad914801461cad05325559e95b9c4d9c6)]
+>> endobj
+20423 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) 16453 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae10fbc38125e63858549f5ec8a25e046) 16369 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae1c5216e2ba5c80d77e128daea25b46e) 16119 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae3be29eddce8f41019e7dcb731c8ba7b) 16198 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ae58a861a42c5216a2267e3f94ecaec8c) 16513 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_adee3b5c0c3800ce2214e68a156cbcf77) (classParma__Polyhedra__Library_1_1Polyhedron_ae680437fdc213b7174c581caa2e0c0d3)]
+>> endobj
+20424 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) 16378 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aeb14f5522982b3874f2cd19586813421) 16268 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aeeb72a31f8e1823de7a8123585a331b6) 16280 0 R (classParma__Polyhedra__Library_1_1Polyhedron_aefab726809c553c136e5d8fda50c276e) 16442 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af074d4d4d406dd065812b32cc8714222) 16446 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ae89cd985111a1a27c60a6fcc28ae9788) (classParma__Polyhedra__Library_1_1Polyhedron_af15f956dac6d4b19ecd8fee0f9718f29)]
+>> endobj
+20425 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) 16373 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af496ec55802726ee3b39e52458ab0647) 16514 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af60c3f345fb8ec8c708e49e8fa33f737) 16269 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af740303d5461c838735ec53c5c1f8855) 16199 0 R (classParma__Polyhedra__Library_1_1Polyhedron_af882ff84afd3c2507e17ffa62ffd20a0) 16576 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_af47944944e16e786df5c0671e7baa995) (classParma__Polyhedra__Library_1_1Polyhedron_af8c0f1f8dc80d82fed8943f2c5737d2d)]
+>> endobj
+20426 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) 16524 0 R (classParma__Polyhedra__Library_1_1Powerset) 1954 0 R (classParma__Polyhedra__Library_1_1Powerset_a01b873b0e820222e07789c3ba5fa48ae) 17122 0 R (classParma__Polyhedra__Library_1_1Powerset_a04aed5c92cf15c71ce85b8cc173a893b) 17067 0 R (classParma__Polyhedra__Library_1_1Powerset_a0a4e3c1a54120a8a02ec161d3ba1a30b) 17166 0 R (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f208 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_afc2a04d2049183cddbcf70316fdf40e7) (classParma__Polyhedra__Library_1_1Powerset_a0a660ed1cfae2599d7f9236f2084d499)]
+>> endobj
+20427 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) 17112 0 R (classParma__Polyhedra__Library_1_1Powerset_a1c71c9b7d1de1b77eeb054e1c0ac935e) 17010 0 R (classParma__Polyhedra__Library_1_1Powerset_a1ee74f5687635ddbb9729be31a37e2d3) 17114 0 R (classParma__Polyhedra__Library_1_1Powerset_a241c65ff3d32769cbb9badd2c8e00ca5) 17069 0 R (classParma__Polyhedra__Library_1_1Powerset_a272424f5d0df282c6d1ee63a5c84e3e6) 17066 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a113964ab3d7ea36326ce962629a322ce) (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770)]
+>> endobj
+20428 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) 17109 0 R (classParma__Polyhedra__Library_1_1Powerset_a30e0b0c2c668e73566cb1720d72cdac2) 17119 0 R (classParma__Polyhedra__Library_1_1Powerset_a36becc8c3ace976043199807351d5b04) 17006 0 R (classParma__Polyhedra__Library_1_1Powerset_a37703f96495cf4bcb8ced3ff20e4c396) 17108 0 R (classParma__Polyhedra__Library_1_1Powerset_a386fa9c84bc37468f1a3a2b860a0bc3d) 17107 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) (classParma__Polyhedra__Library_1_1Powerset_a411d42e5b59a492742793834efeeabc1)]
+>> endobj
+20429 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a411da088d0c6344021ea086a87a09ee4) 17164 0 R (classParma__Polyhedra__Library_1_1Powerset_a44b0a622563e60fe28b91b7e9ff76364) 17072 0 R (classParma__Polyhedra__Library_1_1Powerset_a53acb5e9daa7c362b4d9023ae3a96447) 17111 0 R (classParma__Polyhedra__Library_1_1Powerset_a5534b8f8fbd973bfb7051cf5fb31f19d) 17116 0 R (classParma__Polyhedra__Library_1_1Powerset_a5a36a32ab46d46f574f3091e931e2bd2) 17059 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a411da088d0c6344021ea086a87a09ee4) (classParma__Polyhedra__Library_1_1Powerset_a5c3bee913efb87e4661df746e184e1e1)]
+>> endobj
+20430 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) 17157 0 R (classParma__Polyhedra__Library_1_1Powerset_a5eb3117d3d7d0566a99f9f5807276864) 17071 0 R (classParma__Polyhedra__Library_1_1Powerset_a66e3e2f2433738665eb748d2f6c5878f) 17057 0 R (classParma__Polyhedra__Library_1_1Powerset_a6f4469416e02c586de17284317f8a92e) 17007 0 R (classParma__Polyhedra__Library_1_1Powerset_a754f66ed06474d4b68a93131af02a86f) 17063 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a5d2c2fc2c077e77db657af49d332c9b5) (classParma__Polyhedra__Library_1_1Powerset_a7607ef1c8ef6b668dd2be62c39330406)]
+>> endobj
+20431 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) 17124 0 R (classParma__Polyhedra__Library_1_1Powerset_a8c82df1de8703aefeab268dc9ffc557f) 17061 0 R (classParma__Polyhedra__Library_1_1Powerset_a900663a0e97525c064ccf31152fa8ae7) 17009 0 R (classParma__Polyhedra__Library_1_1Powerset_a9fb86f09111d4ac21fdc7c7baa86e622) 17070 0 R (classParma__Polyhedra__Library_1_1Powerset_aa18495186f3f1b0fef979ec7d8147b81) 17163 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a86f44d9d38638be46ef23422783f847e) (classParma__Polyhedra__Library_1_1Powerset_aa215867508a89858bcc7ab025f8d20f1)]
+>> endobj
+20432 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) 17013 0 R (classParma__Polyhedra__Library_1_1Powerset_ab66151b86ac8c495eba1a3209501928a) 17068 0 R (classParma__Polyhedra__Library_1_1Powerset_ab955487a974e74224f3d72d743ee78a4) 17110 0 R (classParma__Polyhedra__Library_1_1Powerset_ac3283cf8fd0dd8ff2a319cba1dead1f2) 17055 0 R (classParma__Polyhedra__Library_1_1Powerset_acdc1e9b5ac338be9d0584d50d275226e) 17060 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_aab7519865a52fbbc8dc2031135a9fb41) (classParma__Polyhedra__Library_1_1Powerset_ad18afd61b30d839d5b7669b3a8dea008)]
+>> endobj
+20433 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) 17012 0 R (classParma__Polyhedra__Library_1_1Powerset_ad34bafd07f582c558936f9ea8892abd6) 17158 0 R (classParma__Polyhedra__Library_1_1Powerset_ad3bda090e4ac93d937ac4dd775c20919) 17113 0 R (classParma__Polyhedra__Library_1_1Powerset_adab2c45cbec19ad11bf34db42b794508) 17064 0 R (classParma__Polyhedra__Library_1_1Powerset_adab8b3f43dd9a5e707b95e15a9c282f8) 17005 0 R (classParma__Polyhedra__Library_1_1Powe [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_ad25e2d27e5d731e6b63fb84a65700faf) (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea)]
+>> endobj
+20434 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) 17058 0 R (classParma__Polyhedra__Library_1_1Powerset_aee126cc2eef44ab1d2055d0d15bc3169) 17120 0 R (classParma__Polyhedra__Library_1_1Powerset_af60bb41867a12ce28144596e3cc1406a) 17011 0 R (classParma__Polyhedra__Library_1_1Powerset_affd1594c3bfb8bfc8e5c01c5bf0403b1) 17125 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction) 1956 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_a8411ac9c6855778aa3f0f47a66bdfff6)]
+>> endobj
+20435 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) 17230 0 R (classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aaaf6dc9a305149db551f3dff63d7e6f4) 17229 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction) 1957 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a8041e8b3420a554e9637e4dfcf43c2b1) 17252 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_aa3b0210cf6bc4dc319d24d429518c61d) 17248 0 R (classParm [...]
+/Limits [(classParma__Polyhedra__Library_1_1Shape__Preserving__Reduction_aa8bb2afcbf530af32dd1251242a480e9) (classParma__Polyhedra__Library_1_1Smash__Reduction_aa4959b6198e090d37abbd07085b74a30)]
+>> endobj
+20436 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) 1234 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a11a03a73950216b9010c2350cf5ea7e3) 8343 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a1e3eb354a88609b46573e1dc2ce6dba9) 8340 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5ac67f2c19f4e1d46eb4d81e280aa581) 8370 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a5 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression) (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a726c33ab611816cd9b55a61621488650)]
+>> endobj
+20437 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a74fd79622aa9418de9e842a0d72bbcbe) 17314 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a768d2ac67126a0515bfea7d2c4d225dc) 17316 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a7ea3fd6cffaa3a413e3c2734a43bf28e) 17317 0 R (classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_aaba6bdfeae05d8463a8208b0c6b7a62a) 17313 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Sum__Floating__Point__Expression_a74fd79622aa9418de9e842a0d72bbcbe) (classParma__Polyhedra__Library_1_1Threshold__Watcher)]
+>> endobj
+20438 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Throwable) 1959 0 R (classParma__Polyhedra__Library_1_1Throwable_a14c081beabe1e165b1dc44b2a84b6c2b) 17354 0 R (classParma__Polyhedra__Library_1_1Throwable_a5024cc2b142473f5f733a8808cb09162) 17373 0 R (classParma__Polyhedra__Library_1_1Unary__Operator) 1993 0 R (classParma__Polyhedra__Library_1_1Unary__Operator__Common) 1994 0 R (classParma__Polyhedra__Library_1_1Unary__Operator__Common_a56b1bfd700c1f088b6be622b7b67a257) 17399 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Throwable) (classParma__Polyhedra__Library_1_1Unary__Operator__Common_a56b1bfd700c1f088b6be622b7b67a257)]
+>> endobj
+20439 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Unary__Operator__Common_aba21572aebe99f81b7f09b75f3b2d903) 17400 0 R (classParma__Polyhedra__Library_1_1Variable) 1995 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression) 1232 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a03ef7bb6314fd8cb72c4a5d4aaa4ff99) 17550 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a082d6ea17c164846898241075349cd31) 8341 0 R (classPa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Unary__Operator__Common_aba21572aebe99f81b7f09b75f3b2d903) (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a0ca3ec141b70de5ebcbf18d22aa1242f)]
+>> endobj
+20440 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a104ead3dc8b407e3246dc9e3c6040713) 8344 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a72b690903949d7e94dd627f7b49ab4cb) 17516 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a7aaa618bcb2bd6d5bf7777a277afd00f) 17557 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a7ddc454f90fc8200f333eee7896deb1e) 17517 0 R (classParma__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a104ead3dc8b407e3246dc9e3c6040713) (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_aea16ed2cd1cce0f92352901ce90db8b1)]
+>> endobj
+20441 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_af838a20e1508816e754fdfee5f4d2c1d) 17548 0 R (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_afcf9668b49ab7bc9559825c26963ed1a) 17549 0 R (classParma__Polyhedra__Library_1_1Variable_a2617e76e0aef9021ef98ea381cd1ac3c) 17458 0 R (classParma__Polyhedra__Library_1_1Variable_a394f0886d3b63fd890fdf9ee7c6cf2f2) 17443 0 R (classParma__Polyhedra__Library_1_1Variable_a44e2225e59844067e00529757 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_af838a20e1508816e754fdfee5f4d2c1d) (classParma__Polyhedra__Library_1_1Variable_a49b4a338d3d82bfb7a404ea87481fc4d)]
+>> endobj
+20442 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_a4f6d85b054ae413ec0b77ff6522b7304) 17456 0 R (classParma__Polyhedra__Library_1_1Variable_a5012c55d8fdb1420b80a3bfbe5a5b843) 14794 0 R (classParma__Polyhedra__Library_1_1Variable_a616f25ab81383a9c22ff3577a89a74c3) 17459 0 R (classParma__Polyhedra__Library_1_1Variable_a7102c6fe85d4c8e6939d29a047becbdb) 17446 0 R (classParma__Polyhedra__Library_1_1Variable_a75683687bda865c93db529b76271bed2) 17452 0 R (classParma__Polyhedra__Library_1_1Vari [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_a4f6d85b054ae413ec0b77ff6522b7304) (classParma__Polyhedra__Library_1_1Variable_a8dfe38ded52523b20209cce599411c4c)]
+>> endobj
+20443 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) 17451 0 R (classParma__Polyhedra__Library_1_1Variable_aae21b0f5a4289485ef86a9d11fcbfc50) 17449 0 R (classParma__Polyhedra__Library_1_1Variable_abb6a26c12f7bdee7504d577ca81992e0) 17445 0 R (classParma__Polyhedra__Library_1_1Variable_ad71d7986fdfd19215fc87726ebacf555) 17457 0 R (classParma__Polyhedra__Library_1_1Variable_aed0f237309569c2bfbf9e6f60740974e) 17448 0 R (classParma__Polyhedra__Library_1_1Vari [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_aa5f2c0410e128e2f082d761ef36820da) (classParma__Polyhedra__Library_1_1Variables__Set)]
+>> endobj
+20444 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) 17612 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a32b7f9e0a2f54d199ad55bc008bfa62e) 17609 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a3a5d4b3fb638414792155bcef8b54c1c) 17611 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a3d49b2488d36bda4fef0109bedf6b0cc) 17606 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a4090b6696c19cb93c705d9a9e06f4915) 17608 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_a0b93ff227453cf62d922dab902055f8b) (classParma__Polyhedra__Library_1_1Variables__Set_a4c3c15515e1335fb69130aad4f371a1c)]
+>> endobj
+20445 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) 17610 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a587efac6e5a2fbde0a1866dbe4427224) 17616 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a6e710cc6607e4ec2791b182707bb4f1f) 17632 0 R (classParma__Polyhedra__Library_1_1Variables__Set_a7176b36adef9683aae06961175ad94cb) 17607 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ab90c3d16fa19df74d838587f40d74477) 17617 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_a4e8f85cded8a6be1916c2cc0bb31c540) (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127)]
+>> endobj
+20446 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) 17604 0 R (classParma__Polyhedra__Library_1_1Variables__Set_afbcfd5d585123fad758b763b4e2ed336) 17605 0 R (classParma__Polyhedra__Library_1_1Watchdog) 1997 0 R (classParma__Polyhedra__Library_1_1Watchdog_a0f5f7c074992bb3c4464fa554490fb3d) 17636 0 R (classParma__Polyhedra__Library_1_1Watchdog_ad5a1348ca7621bbaac38c11716affd61) 17638 0 R (classParma__Polyhedra__Library_1_1Watchdog_ae59da834d6abca4c7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) (classParma__Polyhedra__Library_1_1Watchdog_ae59da834d6abca4c75ec2cba498871f5)]
+>> endobj
+20447 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Watchdog_ae6136681f74ee2a46497793fcf6222b1) 17635 0 R (group__PPL__CXX__interface) 1988 0 R (group__PPL__CXX__interface_ga00a906832c41c42a70a5c9d194e07a7d) 2321 0 R (group__PPL__CXX__interface_ga113f1e845cba6b1c3c5705d0e14f1cc1) 2246 0 R (group__PPL__CXX__interface_ga13bf4cf2db045bfd362c5c8aae7f785b) 2327 0 R (group__PPL__CXX__interface_ga1755dd7580d51df2976efb2f0275790e) 2322 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Watchdog_ae6136681f74ee2a46497793fcf6222b1) (group__PPL__CXX__interface_ga1755dd7580d51df2976efb2f0275790e)]
+>> endobj
+20448 0 obj <<
+/Names [(group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) 2239 0 R (group__PPL__CXX__interface_ga2173e32c6bc6800c0d43b2a92ad49fb6) 2378 0 R (group__PPL__CXX__interface_ga233295f67896774a4fa42920a4b8522b) 2379 0 R (group__PPL__CXX__interface_ga25ea3a289eadef732f4c7fd823387fb2) 2230 0 R (group__PPL__CXX__interface_ga266a81f442cf72bfded10a4ecb79f130) 2323 0 R (group__PPL__CXX__interface_ga2a514a2edd5c272133f56c6cec381142) 2340 0 R]
+/Limits [(group__PPL__CXX__interface_ga1c2a279a3ffa1d1e9947f2667be312ae) (group__PPL__CXX__interface_ga2a514a2edd5c272133f56c6cec381142)]
+>> endobj
+20449 0 obj <<
+/Names [(group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) 2266 0 R (group__PPL__CXX__interface_ga2c7a4b4311ef3639f73f40b414376899) 2130 0 R (group__PPL__CXX__interface_ga34d9dfd53548ce172ae94462d24f41e6) 2338 0 R (group__PPL__CXX__interface_ga3895a522ff33b50d1540541ef2fcd9e9) 2384 0 R (group__PPL__CXX__interface_ga3ccd0ef2cbdc282106525b2f0e734c7e) 2335 0 R (group__PPL__CXX__interface_ga3e0617011cb5b87be0b1d614fbcfbe7d) 2376 0 R]
+/Limits [(group__PPL__CXX__interface_ga2bd5ce486a5d2d2f1c8feef003906d13) (group__PPL__CXX__interface_ga3e0617011cb5b87be0b1d614fbcfbe7d)]
+>> endobj
+20450 0 obj <<
+/Names [(group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) 2269 0 R (group__PPL__CXX__interface_ga46ae7a59153f96588076702dc876c4aa) 2375 0 R (group__PPL__CXX__interface_ga470bfc567789301bfdc28fd70ed82f92) 2386 0 R (group__PPL__CXX__interface_ga4c655d3e5468ef60a37ff40ac0f744f6) 2343 0 R (group__PPL__CXX__interface_ga4fcd1fb98a48b131a0448fb694cb9504) 2383 0 R (group__PPL__CXX__interface_ga56eb4e32ec57658bc9e7823cd42ecbae) 2330 0 R]
+/Limits [(group__PPL__CXX__interface_ga41d2435f434bd8ef0f23cb68622b1f6f) (group__PPL__CXX__interface_ga56eb4e32ec57658bc9e7823cd42ecbae)]
+>> endobj
+20451 0 obj <<
+/Names [(group__PPL__CXX__interface_ga5d78cb515ce33c9a54c7fd82098d06e1) 2331 0 R (group__PPL__CXX__interface_ga5eff576922bf3646f7dd85cb1a05b93c) 2329 0 R (group__PPL__CXX__interface_ga60f87e33c0dde9f5c2c7d3b4b78818ab) 2385 0 R (group__PPL__CXX__interface_ga61102bed0c7780ab782fcc8cd57a384a) 2259 0 R (group__PPL__CXX__interface_ga616fcdc7600a3a11a8a9152e75730899) 2236 0 R (group__PPL__CXX__interface_ga62bbf00f3cdb29436772c58f7f2bb67e) 2336 0 R]
+/Limits [(group__PPL__CXX__interface_ga5d78cb515ce33c9a54c7fd82098d06e1) (group__PPL__CXX__interface_ga62bbf00f3cdb29436772c58f7f2bb67e)]
+>> endobj
+20452 0 obj <<
+/Names [(group__PPL__CXX__interface_ga6aaca5d438457de4baabe545c7e732f0) 2332 0 R (group__PPL__CXX__interface_ga6f9e36186616092e3affae42fd9728a0) 2339 0 R (group__PPL__CXX__interface_ga73813939ed838a85ae565152ba3cb6fd) 2253 0 R (group__PPL__CXX__interface_ga760aa1f95d13e389ec6eb33fdbf88783) 2129 0 R (group__PPL__CXX__interface_ga7968ac8ddb26250cb705117e6ed23048) 2341 0 R (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb) 2127 0 R]
+/Limits [(group__PPL__CXX__interface_ga6aaca5d438457de4baabe545c7e732f0) (group__PPL__CXX__interface_ga79bd3696a302bb721ef8168fa5d650fb)]
+>> endobj
+20453 0 obj <<
+/Names [(group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) 2112 0 R (group__PPL__CXX__interface_ga7e927a18b0f68715e9721e7f62e82b38) 2382 0 R (group__PPL__CXX__interface_ga809c78f95611c4b838b4e8f097a03e32) 2334 0 R (group__PPL__CXX__interface_ga8458e58a5e857de11c35ce3076a70ab8) 2125 0 R (group__PPL__CXX__interface_ga84cc2bd35e1437f8df3be984dd1f4638) 2262 0 R (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de) 2128 0 R]
+/Limits [(group__PPL__CXX__interface_ga7a529f51bfebdd4b3e69c866dced9bc1) (group__PPL__CXX__interface_ga853432469169b07e42c557e1d6d144de)]
+>> endobj
+20454 0 obj <<
+/Names [(group__PPL__CXX__interface_ga899c609558397160b3227c19d6ccc82d) 2377 0 R (group__PPL__CXX__interface_ga95f3cc785d7b89f59b3ca216461c34b0) 2325 0 R (group__PPL__CXX__interface_ga984f2c32e934b6510731f6a7faf28296) 2328 0 R (group__PPL__CXX__interface_gaa7159523299c8f193184a1bda20d6044) 2277 0 R (group__PPL__CXX__interface_gaa88e9b9cb2588cbf5914695fc14e69a8) 2131 0 R (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654) 2250 0 R]
+/Limits [(group__PPL__CXX__interface_ga899c609558397160b3227c19d6ccc82d) (group__PPL__CXX__interface_gaac82e7e0179442ef589f2fc61302d654)]
+>> endobj
+20455 0 obj <<
+/Names [(group__PPL__CXX__interface_gaad2f9666d98048451c6cfe54e37b16ca) 2337 0 R (group__PPL__CXX__interface_gab5cd24a1e332f51c649d05482bc7c90a) 2380 0 R (group__PPL__CXX__interface_gabadfeba0a415d210cdd6d7309365e800) 2126 0 R (group__PPL__CXX__interface_gac40e401b77b5ec6e9625c317ce6d760d) 2326 0 R (group__PPL__CXX__interface_gadf9d6f17d8974c81e3499f170e7762a2) 2280 0 R (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1) 2124 0 R]
+/Limits [(group__PPL__CXX__interface_gaad2f9666d98048451c6cfe54e37b16ca) (group__PPL__CXX__interface_gae19dfe022c51c874d905e2a7c81c18f1)]
+>> endobj
+20456 0 obj <<
+/Names [(group__PPL__CXX__interface_gae45a5a00d54a1e42ac214eab207d720b) 2324 0 R (group__PPL__CXX__interface_gaef6aa41f2904a20dce16a55ee8073a38) 2333 0 R (group__PPL__CXX__interface_gafdc6a039a856c60836df918848a21416) 2342 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a40409716eac06f7ee5c44a200d3702f0) 2249 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1a71c9b0459dc8ba8cc0c8178b6cf4f017) 2247 0 R (group__PPL__CXX__interface_gga113f1e845cba6b1c3c57 [...]
+/Limits [(group__PPL__CXX__interface_gae45a5a00d54a1e42ac214eab207d720b) (group__PPL__CXX__interface_gga113f1e845cba6b1c3c5705d0e14f1cc1ab39e3c667ce455313f8ff578722af2e9)]
+>> endobj
+20457 0 obj <<
+/Names [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) 2244 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea3e4424ce8e7ebe86e125541b561fc300) 2240 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea556cc08f48e769b9c15bea83d5d883a1) 2241 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea8191bdbdcd041a9859ed465d16062ab1) 2245 0 R (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667 [...]
+/Limits [(group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aea079e4b80f17b0095497103a52cffa3ab) (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416)]
+>> endobj
+20458 0 obj <<
+/Names [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) 2233 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2aa57b0c1a34eced57ca8437eea92a4328) 2232 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2abeee33de6f8542b0228161d044640eaa) 2231 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2ae0c0414fd69996a2edb8ea476ab236e1) 2235 0 R (group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd82 [...]
+/Limits [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) (group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13a39adc66b0a3d8cae2a7dc2abc8885c69)]
+>> endobj
+20459 0 obj <<
+/Names [(group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) 2268 0 R (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa0e276f8d715a744e012830a77880eb6c) 2270 0 R (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa28dca27d7ee1f30dd8b1797aa8f26a2d) 2275 0 R (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fa8d3ab7646117632841be76c043efc39b) 2276 0 R (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb686 [...]
+/Limits [(group__PPL__CXX__interface_gga2bd5ce486a5d2d2f1c8feef003906d13af0346be78c7e06bbfa7f2876edf54ade) (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fab25413bda9bbd45d2f22366d0e0ef831)]
+>> endobj
+20460 0 obj <<
+/Names [(group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fad29b7289ecceb32e5c0020885fb8293d) 2271 0 R (group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6faf050a7168b9fa5d10468384bfe007c5a) 2273 0 R (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaafd3e20e35e86cff976d68ffc4283c32) 2260 0 R (group__PPL__CXX__interface_gga61102bed0c7780ab782fcc8cd57a384aaf4462ec77078de4bbabb446cf61e5123) 2261 0 R (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e7 [...]
+/Limits [(group__PPL__CXX__interface_gga41d2435f434bd8ef0f23cb68622b1f6fad29b7289ecceb32e5c0020885fb8293d) (group__PPL__CXX__interface_gga616fcdc7600a3a11a8a9152e75730899ac7753e1dd51e1b7b3fdfafa9f8332370)]
+>> endobj
+20461 0 obj <<
+/Names [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) 2257 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda591549aad4d57135c2dcc6fd73daf554) 2254 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda9a59b7fa00c2cf8df942badc9c414aef) 2258 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fdac58a6ff6765224e937fefbadf45a4860) 2255 0 R (group__PPL__CXX__interface_gga73813939ed838a85ae565152b [...]
+/Limits [(group__PPL__CXX__interface_gga73813939ed838a85ae565152ba3cb6fda405c8934c8b3f4d8c5ba0b21b674e559) (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7869fdfe9b1ace668a0a7b1d2faba812)]
+>> endobj
+20462 0 obj <<
+/Names [(group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) 2265 0 R (group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a832f214eaa5bc2ce48e1e2d67473cf10) 2263 0 R (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a3b60d6dfe175b3a5d48361ac121f23ae) 2279 0 R (group__PPL__CXX__interface_ggaa7159523299c8f193184a1bda20d6044a7fee51bad737377323f3d7ddb036a74e) 2278 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_gga84cc2bd35e1437f8df3be984dd1f4638a7b85b6b4c644857c3809eeef6aa35dbb) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a057025d0ff550a2226a0a1273c84b4f6)]
+>> endobj
+20463 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) 2157 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0d808c2d0d6514c33e06445d7aa34270) 2139 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a202263943c451b9fdfe003b2bc8d0b1f) 2158 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a261922c7bb53bf71459671df868e55da) 2156 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a0905d51325862cb4db00635875efcff8) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4)]
+>> endobj
+20464 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) 2143 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4e2e7513e80017645e24e2fc7bb6846d) 2142 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a5912e00d1de38a643d48af1f0e5dd35f) 2151 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a6c817c11198882f3864d8ace4ec326dd) 2138 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a9f5dce9506b72773425c0504845d8e4e)]
+>> endobj
+20465 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) 2155 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa1bf7bec2cb0d949e45c3cd0e25874a6) 2150 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aaee8efad6ea4263d7aa15cb0db2497ea) 2147 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ab30277f972f730fe26f6cfc39098cc77) 2134 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aa0f28596ac7d4a43766fab174c28ccab) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8abd1bad185f4622d07b171767dafc78b6)]
+>> endobj
+20466 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) 2137 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aca1ef0806f3a27d811b8f7352d53a21b) 2144 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8aceefc8c6d25b8e2ae5e538a9f793516e) 2159 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ad5e386c6a05c9656eac42fe9e2cdd8b5) 2136 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ac77955fc77a169347da8820b46c3247b) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae0c660bfcbcd3d10c3e764e22f41d0a1)]
+>> endobj
+20467 0 obj <<
+/Names [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) 2135 0 R (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8afda2f32e2fc3f61357ce0d9d7813f5fc) 2152 0 R (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a0e1a601a53491f60c89282fde55b5352) 2252 0 R (group__PPL__CXX__interface_ggaac82e7e0179442ef589f2fc61302d654a324bf568397fdfc332a4c06e7a4facf5) 2251 0 R (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170 [...]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8ae704947d33ff1b60a2475950d5f18ec3) (group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2a78fc3e83d58f3eb97a8041b600870a05)]
+>> endobj
+20468 0 obj <<
+/Names [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) 2282 0 R (index) 759 0 R (index_A_Note_on_the_Implementation_of_the_Operators) 1258 0 R (index_Adding_New_Dimensions_to_the_Vector_Space) 925 0 R (index_Adding_a_Disjunct) 1162 0 R (index_Affine_Hyperplanes_and_Half_spaces) 864 0 R]
+/Limits [(group__PPL__CXX__interface_ggadf9d6f17d8974c81e3499f170e7762a2ab2bc77b49f9450faf5b5f8ca5374421d) (index_Affine_Hyperplanes_and_Half_spaces)]
+>> endobj
+20469 0 obj <<
+/Names [(index_Affine_Independence_and_Affine_Dimension) 909 0 R (index_Anc91) 1272 0 R (index_Approximating_Bounded_Integers) 831 0 R (index_Approximating_Integers) 828 0 R (index_BA05) 1273 0 R (index_BCCetal02) 1039 0 R]
+/Limits [(index_Affine_Independence_and_Affine_Dimension) (index_BCCetal02)]
+>> endobj
+20470 0 obj <<
+/Names [(index_BDHetal05) 1060 0 R (index_BDHetal06) 1286 0 R (index_BDHetal07) 1288 0 R (index_BFT00) 1289 0 R (index_BFT01) 1290 0 R (index_BGP99) 1202 0 R]
+/Limits [(index_BDHetal05) (index_BGP99)]
+>> endobj
+20471 0 obj <<
+/Names [(index_BHMZ04) 1291 0 R (index_BHMZ05_widening) 1053 0 R (index_BHMZ05a) 1059 0 R (index_BHMZ05b) 1292 0 R (index_BHRZ03_widening) 1000 0 R (index_BHRZ03a) 1003 0 R]
+/Limits [(index_BHMZ04) (index_BHRZ03a)]
+>> endobj
+20472 0 obj <<
+/Names [(index_BHRZ03b) 1293 0 R (index_BHRZ05) 1294 0 R (index_BHZ02a) 1295 0 R (index_BHZ02b) 1312 0 R (index_BHZ03a) 1313 0 R (index_BHZ03b) 1203 0 R]
+/Limits [(index_BHRZ03b) (index_BHZ03b)]
+>> endobj
+20473 0 obj <<
+/Names [(index_BHZ04) 1149 0 R (index_BHZ05) 1315 0 R (index_BHZ06a) 1316 0 R (index_BHZ06b) 1318 0 R (index_BHZ07a) 1319 0 R (index_BHZ07b) 1320 0 R]
+/Limits [(index_BHZ04) (index_BHZ07b)]
+>> endobj
+20474 0 obj <<
+/Names [(index_BHZ07c) 1321 0 R (index_BHZ08a) 1322 0 R (index_BHZ08b) 1323 0 R (index_BHZ09a) 1340 0 R (index_BHZ09b) 1341 0 R (index_BHZ09c) 1342 0 R]
+/Limits [(index_BHZ07c) (index_BHZ09c)]
+>> endobj
+20475 0 obj <<
+/Names [(index_BHZ09d) 1344 0 R (index_BHZ10) 1345 0 R (index_BJT99) 1346 0 R (index_BK89) 1347 0 R (index_BMPZ10) 1348 0 R (index_BMPZ12a) 1349 0 R]
+/Limits [(index_BHZ09d) (index_BMPZ12a)]
+>> endobj
+20476 0 obj <<
+/Names [(index_BMPZ12b) 1350 0 R (index_BRZH02a) 1351 0 R (index_BRZH02b) 851 0 R (index_BRZH02c) 1352 0 R (index_Bag97) 1274 0 R (index_Bag98) 1148 0 R]
+/Limits [(index_BMPZ12b) (index_Bag98)]
+>> endobj
+20477 0 obj <<
+/Names [(index_Basic_Geometric_Descriptors) 782 0 R (index_Bounded_Difference_Shapes) 1034 0 R (index_Bounded_Polyhedra) 874 0 R (index_CC76) 1038 0 R (index_CC76_extrapolation) 1054 0 R (index_CC76_interval_widening) 1023 0 R]
+/Limits [(index_Basic_Geometric_Descriptors) (index_CC76_interval_widening)]
+>> endobj
+20478 0 obj <<
+/Names [(index_CC79) 1359 0 R (index_CC92) 1360 0 R (index_CH78) 1058 0 R (index_Certificate_Based_Widenings) 1197 0 R (index_Che64) 1361 0 R (index_Che65) 1362 0 R]
+/Limits [(index_CC79) (index_Che65)]
+>> endobj
+20479 0 obj <<
+/Names [(index_Che68) 1363 0 R (index_Collapsing_a_Powerset_Element) 1165 0 R (index_Combinations_and_Hulls) 880 0 R (index_Concatenating_Polyhedra) 923 0 R (index_Congruence_Relations) 1056 0 R (index_Constraint_Geometric_Descriptors) 784 0 R]
+/Limits [(index_Che68) (index_Constraint_Geometric_Descriptors)]
+>> endobj
+20480 0 obj <<
+/Names [(index_Constraints_Representation) 877 0 R (index_Convex_Polyhedra) 866 0 R (index_Convex_Polyhedral_Difference) 916 0 R (index_Cylindrification) 976 0 R (index_Dan63) 1364 0 R (index_Double_Description) 893 0 R]
+/Limits [(index_Constraints_Representation) (index_Double_Description)]
+>> endobj
+20481 0 obj <<
+/Names [(index_Dropping_Non_Integer_Points) 829 0 R (index_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) 941 0 R (index_Extrapolation_Operators) 1017 0 R (index_FCB07) 1365 0 R (index_FP96) 1367 0 R (index_Fea88) 1366 0 R]
+/Limits [(index_Dropping_Non_Integer_Points) (index_Fea88)]
+>> endobj
+20482 0 obj <<
+/Names [(index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) 944 0 R (index_Fuk98) 852 0 R (index_GDDetal04) 948 0 R (index_GJ00) 1369 0 R (index_GJ01) 1370 0 R (index_GR77) 1371 0 R]
+/Limits [(index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) (index_GR77)]
+>> endobj
+20483 0 obj <<
+/Names [(index_Generalized_Affine_Relations) 966 0 R (index_Generator_Geometric_Descriptors) 796 0 R (index_Generators_Representation) 889 0 R (index_Generic_Operations_on_Semantic_Geometric_Descriptors) 805 0 R (index_Geometric_Comparisons) 1172 0 R (index_Gra91) 1377 0 R]
+/Limits [(index_Generalized_Affine_Relations) (index_Gra91)]
+>> endobj
+20484 0 obj <<
+/Names [(index_Gra97) 1378 0 R (index_Grid_Affine_Dimension) 1089 0 R (index_Grid_Affine_Transformation) 1101 0 R (index_Grid_Extrapolation) 1131 0 R (index_Grid_Frequency) 1105 0 R (index_Grid_Generalized_Image) 1103 0 R]
+/Limits [(index_Gra97) (index_Grid_Generalized_Image)]
+>> endobj
+20485 0 obj <<
+/Names [(index_Grid_Generator_Representation) 1072 0 R (index_Grid_Minimized_Representations) 1083 0 R (index_Grid_Relation_With) 1115 0 R (index_Grid_Space_Dimensions) 1087 0 R (index_Grid_Time_Elapse) 1113 0 R (index_Grid_Widening) 1127 0 R]
+/Limits [(index_Grid_Generator_Representation) (index_Grid_Widening)]
+>> endobj
+20486 0 obj <<
+/Names [(index_Grid_Widening_with_Tokens) 1129 0 R (index_Grid_Wrapping_Operator) 1117 0 R (index_Grids_Double_Description_Grids) 1085 0 R (index_H79_widening) 999 0 R (index_HH95) 1380 0 R (index_HHL90) 1381 0 R]
+/Limits [(index_Grid_Widening_with_Tokens) (index_HHL90)]
+>> endobj
+20487 0 obj <<
+/Names [(index_HKP95) 1382 0 R (index_HLW94) 1383 0 R (index_HMT71) 983 0 R (index_HPR94) 1384 0 R (index_HPR97) 984 0 R (index_HPWT01) 1385 0 R]
+/Limits [(index_HKP95) (index_HPWT01)]
+>> endobj
+20488 0 obj <<
+/Names [(index_Hal79) 1002 0 R (index_Hal93) 1379 0 R (index_Images_and_Preimages_of_Affine_Transfer_Relations) 947 0 R (index_Integer_Combinations) 1068 0 R (index_Intersection_and_Convex_Polyhedral_Hull) 914 0 R (index_Intervals_and_Boxes) 1021 0 R]
+/Limits [(index_Hal79) (index_Intervals_and_Boxes)]
+>> endobj
+20489 0 obj <<
+/Names [(index_JMSY94) 1387 0 R (index_Jea02) 1386 0 R (index_KBBetal06) 1388 0 R (index_Kuh56) 1398 0 R (index_LW97) 1402 0 R (index_Le) 1399 0 R]
+/Limits [(index_JMSY94) (index_Le)]
+>> endobj
+20490 0 obj <<
+/Names [(index_Loe99) 1400 0 R (index_MRTT53) 1408 0 R (index_Mapping_the_Dimensions_of_the_Vector_Space) 936 0 R (index_Mas92) 1403 0 R (index_Mas93) 1404 0 R (index_Meet_Preserving_Simplification) 980 0 R]
+/Limits [(index_Loe99) (index_Meet_Preserving_Simplification)]
+>> endobj
+20491 0 obj <<
+/Names [(index_Meet_and_Upper_Bound) 1147 0 R (index_Min01a) 1405 0 R (index_Min01b) 1406 0 R (index_Min02) 1407 0 R (index_Min04) 1227 0 R (index_Min05) 1228 0 R]
+/Limits [(index_Meet_and_Upper_Bound) (index_Min05)]
+>> endobj
+20492 0 obj <<
+/Names [(index_Minimized_Representations) 891 0 R (index_NF01) 1409 0 R (index_NJPF99) 1410 0 R (index_NO77) 1411 0 R (index_NO80) 1412 0 R (index_NR00) 1421 0 R]
+/Limits [(index_Minimized_Representations) (index_NR00)]
+>> endobj
+20493 0 obj <<
+/Names [(index_NW88) 853 0 R (index_Octagonal_Shapes) 1036 0 R (index_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) 1264 0 R (index_On_Object_Orientation_and_Polymorphism_A_Disclaimer) 1262 0 R (index_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning) 1260 0 R (index_Operations_on_Convex_Polyhedra) 913 0 R]
+/Limits [(index_NW88) (index_Operations_on_Convex_Polyhedra)]
+>> endobj
+20494 0 obj <<
+/Names [(index_PS98) 1423 0 R (index_Pairwise_Merge) 1190 0 R (index_Points_Closure_Points_Rays_and_Lines) 882 0 R (index_Points_Parameters_Lines) 1070 0 R (index_Powerset_Extrapolation_Operators) 1193 0 R (index_Powerset_Meet_Preserving_Simplification) 1001 0 R]
+/Limits [(index_PS98) (index_Powerset_Meet_Preserving_Simplification)]
+>> endobj
+20495 0 obj <<
+/Names [(index_Pra77) 1422 0 R (index_QRR96) 1424 0 R (index_QRR97) 1425 0 R (index_QRW00) 1426 0 R (index_RBL06) 1427 0 R (index_Rational_Grids) 1066 0 R]
+/Limits [(index_Pra77) (index_Rational_Grids)]
+>> endobj
+20496 0 obj <<
+/Names [(index_Rational_Polyhedra) 911 0 R (index_Relation_With_Operators) 995 0 R (index_Removing_Dimensions_from_the_Vector_Space) 927 0 R (index_Ric02) 1428 0 R (index_SK07) 850 0 R (index_SS07a) 1431 0 R]
+/Limits [(index_Rational_Polyhedra) (index_SS07a)]
+>> endobj
+20497 0 obj <<
+/Names [(index_SS07b) 1432 0 R (index_SW70) 1433 0 R (index_Sch99) 1093 0 R (index_Semantic_Geometric_Descriptors) 761 0 R (index_Sho81) 1429 0 R (index_Single_Update_Affine_Functions) 955 0 R]
+/Limits [(index_SS07b) (index_Single_Update_Affine_Functions)]
+>> endobj
+20498 0 obj <<
+/Names [(index_Single_Update_Bounded_Affine_Relations) 962 0 R (index_Space_Dimensions_and_Dimension_Compatibility) 901 0 R (index_Sri93) 1430 0 R (index_Syntactic_Geometric_Descriptors) 780 0 R (index_The_Powerset_Domain) 1143 0 R (index_Time_Elapse_Operator) 978 0 R]
+/Limits [(index_Single_Update_Bounded_Affine_Relations) (index_Time_Elapse_Operator)]
+>> endobj
+20499 0 obj <<
+/Names [(index_Topologies_and_Topological_compatibility) 868 0 R (index_Upward_Approximation) 819 0 R (index_Vectors_Matrices_and_Scalar_Products) 848 0 R (index_War03) 1434 0 R (index_Weakly_Relational_Shape_Interface) 1049 0 R (index_Weakly_Relational_Shapes) 1033 0 R]
+/Limits [(index_Topologies_and_Topological_compatibility) (index_Weakly_Relational_Shapes)]
+>> endobj
+20500 0 obj <<
+/Names [(index_Wey35) 1441 0 R (index_Wey50) 1442 0 R (index_Widening_Operators) 997 0 R (index_Widening_and_Extrapolation_Operators_on_Boxes) 1031 0 R (index_Widening_and_Extrapolation_Operators_on_WR_Shapes) 1051 0 R (index_Widening_with_Tokens) 1014 0 R]
+/Limits [(index_Wey35) (index_Widening_with_Tokens)]
+>> endobj
+20501 0 obj <<
+/Names [(index_Wil93) 854 0 R (index_Wrapping_Operator) 846 0 R (index_affine_form_relation) 964 0 R (index_affine_relation) 946 0 R (index_bibliography) 1271 0 R (index_bounded_extrapolation) 1020 0 R]
+/Limits [(index_Wil93) (index_bounded_extrapolation)]
+>> endobj
+20502 0 obj <<
+/Names [(index_convex_polys) 766 0 R (index_expand_space_dimension) 940 0 R (index_floating_point) 1223 0 R (index_fold_space_dimensions) 943 0 R (index_fp_abstract_domains) 1249 0 R (index_interval_linear_forms) 1224 0 R]
+/Limits [(index_convex_polys) (index_interval_linear_forms)]
+>> endobj
+20503 0 obj <<
+/Names [(index_intervals) 1022 0 R (index_limited_extrapolation) 1019 0 R (index_pointset_powerset) 1150 0 R (index_powerset) 1141 0 R (index_powerset_domain) 1142 0 R (index_pps_bgp99_extrapolation) 1192 0 R]
+/Limits [(index_intervals) (index_pps_bgp99_extrapolation)]
+>> endobj
+20504 0 obj <<
+/Names [(index_pps_certificate_widening) 1196 0 R (index_pps_geometric) 1171 0 R (index_pps_pairwise_merge) 1189 0 R (index_preamble) 760 0 R (index_ps_add_disjunct) 1161 0 R (index_ps_collapse) 1164 0 R]
+/Limits [(index_pps_certificate_widening) (index_ps_collapse)]
+>> endobj
+20505 0 obj <<
+/Names [(index_ps_meet_upper_bound) 1146 0 R (index_ps_operations) 1145 0 R (index_rational_grid_operations) 1091 0 R (index_relation_with) 994 0 R (index_representation) 876 0 R (index_sect_rational_grids) 1055 0 R]
+/Limits [(index_ps_meet_upper_bound) (index_sect_rational_grids)]
+>> endobj
+20506 0 obj <<
+/Names [(index_use_of_library) 767 0 R (namespaceParma__Polyhedra__Library) 1575 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators) 1576 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators_a9ccf426c9d89537e0351aac50a333e95) 2976 0 R (namespaceParma__Polyhedra__Library_a03ed91fbbeb6d32952c5d2a30bfd3830) 2817 0 R (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab) 2818 0 R]
+/Limits [(index_use_of_library) (namespaceParma__Polyhedra__Library_a05dd6b345e96427a50b45f9756e302ab)]
+>> endobj
+20507 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) 2822 0 R (namespaceParma__Polyhedra__Library_a19b0ebdb3476fe1feb0f51d9328fd384) 2895 0 R (namespaceParma__Polyhedra__Library_a20874a85120477d5cf11da451870d497) 2815 0 R (namespaceParma__Polyhedra__Library_a30a5addfb775d0e3586f1575ece47bf6) 2816 0 R (namespaceParma__Polyhedra__Library_a3bb2c0ddb1b766959ee6149bb52a7e61) 2660 0 R (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48) 2892 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a0adf6106892886dc859985042b8a7433) (namespaceParma__Polyhedra__Library_a3e6dcd6f5d8e3ea263c9205b21a83e48)]
+>> endobj
+20508 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) 2824 0 R (namespaceParma__Polyhedra__Library_a5e801a56c2c3dcec13d2d87adf07ac47) 2894 0 R (namespaceParma__Polyhedra__Library_a63bd7c7767faf3c219f9c2762095e2dd) 2829 0 R (namespaceParma__Polyhedra__Library_a66438955854cf73ddaf27a40a69fec7b) 2820 0 R (namespaceParma__Polyhedra__Library_a6a54c55d8b52ef353df7cefdfa632d8d) 2893 0 R (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee) 2830 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a5604f97d216583cdf012a50d2f8cdbde) (namespaceParma__Polyhedra__Library_a6c841f33162c2419bd53a078e6c788ee)]
+>> endobj
+20509 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) 2891 0 R (namespaceParma__Polyhedra__Library_a93c37cc32a1f50c36ec15d67fdbec3aa) 2819 0 R (namespaceParma__Polyhedra__Library_a99e9dc5df3cf7c0ab581e602d1176e41) 2826 0 R (namespaceParma__Polyhedra__Library_a9c118832fed4c0b9b40547578459dad4) 2889 0 R (namespaceParma__Polyhedra__Library_abdd9791a8d91b11a5bd3a6ef0770bc86) 2828 0 R (namespaceParma__Polyhedra__Library_ac3020576e4171dbe16a6979ab672d833) 2659 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_a74074a5ed3718745a4d82bacd5b381ed) (namespaceParma__Polyhedra__Library_ac3020576e4171dbe16a6979ab672d833)]
+>> endobj
+20510 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) 2821 0 R (namespaceParma__Polyhedra__Library_acbcc9c464e7d910f38ad2534e49ff925) 2661 0 R (namespaceParma__Polyhedra__Library_ace0cdceaa0c7eea84cc1c38cf5bea680) 2888 0 R (namespaceParma__Polyhedra__Library_ad31eeb0067d6cad2eb2ea5ab5bd0a2b2) 2890 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8) 2754 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d7670 [...]
+/Limits [(namespaceParma__Polyhedra__Library_aca6003248d614d68c07f5330b468a242) (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a9606fc251d767040929d3e2645dbb446)]
+>> endobj
+20511 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) 2755 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a979f37a289d4cb316643f1dcc07ec7cd) 2757 0 R (namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8abd640c30f757e4ecccd08ac527536ca6) 2756 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98) 2759 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a0 [...]
+/Limits [(namespaceParma__Polyhedra__Library_ada2f48b1fec9c98a2ddb26953ed1cfb8a96b8890edb38e9960c455aa178e508ba) (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0)]
+>> endobj
+20512 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) 2766 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9223ac459b80b2eb397dd7810be7aa07) 2764 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a9afce68d66f8c8eedec345f8df2e822f) 2761 0 R (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98accf532c4e56a06e520b6b3f638371667) 2763 0 R (namespaceParma__Polyhedra__Libr [...]
+/Limits [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98af4fca65e2503d4afea11aa9b9da7d51e)]
+>> endobj
+20513 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) 2831 0 R (namespaceParma__Polyhedra__Library_af127b16b1a8e300aa97caca515284b6f) 2825 0 R (namespaceParma__Polyhedra__Library_af9dd9190c5f29dbbfa3d6e442dea7e7d) 2823 0 R (namespacestd) 1577 0 R (page.1) 526 0 R (page.10) 887 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_aee4e9b54e65780ac3010fda40ea235a6) (page.10)]
+>> endobj
+20514 0 obj <<
+/Names [(page.100) 3248 0 R (page.101) 3327 0 R (page.102) 3425 0 R (page.103) 3500 0 R (page.104) 3570 0 R (page.105) 3660 0 R]
+/Limits [(page.100) (page.105)]
+>> endobj
+20515 0 obj <<
+/Names [(page.106) 3693 0 R (page.107) 3700 0 R (page.107d) 17785 0 R (page.108) 3712 0 R (page.109) 3726 0 R (page.11) 899 0 R]
+/Limits [(page.106) (page.11)]
+>> endobj
+20516 0 obj <<
+/Names [(page.110) 3738 0 R (page.111) 3753 0 R (page.112) 3767 0 R (page.113) 3781 0 R (page.114) 3799 0 R (page.115) 3814 0 R]
+/Limits [(page.110) (page.115)]
+>> endobj
+20517 0 obj <<
+/Names [(page.116) 3831 0 R (page.117) 3850 0 R (page.118) 3864 0 R (page.119) 3882 0 R (page.12) 908 0 R (page.120) 3899 0 R]
+/Limits [(page.116) (page.120)]
+>> endobj
+20518 0 obj <<
+/Names [(page.121) 3915 0 R (page.122) 3930 0 R (page.123) 3947 0 R (page.124) 3961 0 R (page.125) 3981 0 R (page.126) 4000 0 R]
+/Limits [(page.121) (page.126)]
+>> endobj
+20519 0 obj <<
+/Names [(page.127) 4015 0 R (page.128) 4036 0 R (page.129) 4056 0 R (page.13) 921 0 R (page.130) 4069 0 R (page.130d) 18708 0 R]
+/Limits [(page.127) (page.130d)]
+>> endobj
+20520 0 obj <<
+/Names [(page.131) 4082 0 R (page.132) 4093 0 R (page.133) 4105 0 R (page.134) 4131 0 R (page.135) 4154 0 R (page.136) 4224 0 R]
+/Limits [(page.131) (page.136)]
+>> endobj
+20521 0 obj <<
+/Names [(page.137) 4306 0 R (page.138) 4392 0 R (page.139) 4483 0 R (page.14) 935 0 R (page.140) 4551 0 R (page.141) 4619 0 R]
+/Limits [(page.137) (page.141)]
+>> endobj
+20522 0 obj <<
+/Names [(page.142) 4708 0 R (page.143) 4733 0 R (page.143d) 17880 0 R (page.144) 4748 0 R (page.145) 4762 0 R (page.146) 4775 0 R]
+/Limits [(page.142) (page.146)]
+>> endobj
+20523 0 obj <<
+/Names [(page.147) 4791 0 R (page.148) 4805 0 R (page.149) 4819 0 R (page.15) 953 0 R (page.150) 4836 0 R (page.151) 4851 0 R]
+/Limits [(page.147) (page.151)]
+>> endobj
+20524 0 obj <<
+/Names [(page.152) 4867 0 R (page.153) 4886 0 R (page.154) 4903 0 R (page.155) 4921 0 R (page.156) 4937 0 R (page.157) 4952 0 R]
+/Limits [(page.152) (page.157)]
+>> endobj
+20525 0 obj <<
+/Names [(page.158) 4970 0 R (page.159) 4985 0 R (page.16) 961 0 R (page.160) 5001 0 R (page.161) 5016 0 R (page.162) 5035 0 R]
+/Limits [(page.158) (page.162)]
+>> endobj
+20526 0 obj <<
+/Names [(page.163) 5053 0 R (page.164) 5066 0 R (page.165) 5076 0 R (page.166) 5090 0 R (page.166d) 18274 0 R (page.167) 5099 0 R]
+/Limits [(page.163) (page.167)]
+>> endobj
+20527 0 obj <<
+/Names [(page.168) 5125 0 R (page.169) 5192 0 R (page.17) 974 0 R (page.170) 5218 0 R (page.170d) 17973 0 R (page.171) 5231 0 R]
+/Limits [(page.168) (page.171)]
+>> endobj
+20528 0 obj <<
+/Names [(page.172) 5246 0 R (page.173) 5261 0 R (page.174) 5295 0 R (page.175) 5327 0 R (page.176) 5345 0 R (page.177) 5376 0 R]
+/Limits [(page.172) (page.177)]
+>> endobj
+20529 0 obj <<
+/Names [(page.178) 5434 0 R (page.179) 5490 0 R (page.18) 992 0 R (page.180) 5545 0 R (page.181) 5587 0 R (page.182) 5649 0 R]
+/Limits [(page.178) (page.182)]
+>> endobj
+20530 0 obj <<
+/Names [(page.183) 5713 0 R (page.184) 5753 0 R (page.185) 5777 0 R (page.186) 5804 0 R (page.187) 5813 0 R (page.188) 5831 0 R]
+/Limits [(page.183) (page.188)]
+>> endobj
+20531 0 obj <<
+/Names [(page.189) 5847 0 R (page.19) 1013 0 R (page.190) 5861 0 R (page.191) 5877 0 R (page.192) 5889 0 R (page.193) 5894 0 R]
+/Limits [(page.189) (page.193)]
+>> endobj
+20532 0 obj <<
+/Names [(page.194) 5920 0 R (page.195) 5942 0 R (page.196) 5990 0 R (page.197) 6009 0 R (page.198) 6022 0 R (page.199) 6034 0 R]
+/Limits [(page.194) (page.199)]
+>> endobj
+20533 0 obj <<
+/Names [(page.2) 539 0 R (page.20) 1030 0 R (page.200) 6044 0 R (page.201) 6055 0 R (page.202) 6082 0 R (page.203) 6109 0 R]
+/Limits [(page.2) (page.203)]
+>> endobj
+20534 0 obj <<
+/Names [(page.204) 6166 0 R (page.205) 6245 0 R (page.206) 6334 0 R (page.207) 6366 0 R (page.208) 6381 0 R (page.209) 6397 0 R]
+/Limits [(page.204) (page.209)]
+>> endobj
+20535 0 obj <<
+/Names [(page.21) 1048 0 R (page.210) 6412 0 R (page.211) 6425 0 R (page.212) 6471 0 R (page.213) 6531 0 R (page.214) 6592 0 R]
+/Limits [(page.21) (page.214)]
+>> endobj
+20536 0 obj <<
+/Names [(page.215) 6617 0 R (page.216) 6628 0 R (page.217) 6642 0 R (page.218) 6659 0 R (page.219) 6707 0 R (page.22) 1065 0 R]
+/Limits [(page.215) (page.22)]
+>> endobj
+20537 0 obj <<
+/Names [(page.220) 6734 0 R (page.221) 6750 0 R (page.222) 6773 0 R (page.223) 6789 0 R (page.224) 6831 0 R (page.225) 6852 0 R]
+/Limits [(page.220) (page.225)]
+>> endobj
+20538 0 obj <<
+/Names [(page.226) 6876 0 R (page.227) 6919 0 R (page.228) 6951 0 R (page.229) 6993 0 R (page.23) 1080 0 R (page.230) 7018 0 R]
+/Limits [(page.226) (page.230)]
+>> endobj
+20539 0 obj <<
+/Names [(page.231) 7058 0 R (page.232) 7096 0 R (page.233) 7117 0 R (page.234) 7180 0 R (page.235) 7245 0 R (page.236) 7340 0 R]
+/Limits [(page.231) (page.236)]
+>> endobj
+20540 0 obj <<
+/Names [(page.237) 7468 0 R (page.238) 7499 0 R (page.239) 7512 0 R (page.24) 1100 0 R (page.240) 7526 0 R (page.241) 7542 0 R]
+/Limits [(page.237) (page.241)]
+>> endobj
+20541 0 obj <<
+/Names [(page.242) 7556 0 R (page.242d) 18433 0 R (page.243) 7574 0 R (page.244) 7595 0 R (page.245) 7651 0 R (page.246) 7706 0 R]
+/Limits [(page.242) (page.246)]
+>> endobj
+20542 0 obj <<
+/Names [(page.247) 7731 0 R (page.248) 7759 0 R (page.249) 7785 0 R (page.25) 1112 0 R (page.250) 7823 0 R (page.251) 7880 0 R]
+/Limits [(page.247) (page.251)]
+>> endobj
+20543 0 obj <<
+/Names [(page.252) 7904 0 R (page.253) 7949 0 R (page.254) 7978 0 R (page.255) 7995 0 R (page.256) 8034 0 R (page.257) 8065 0 R]
+/Limits [(page.252) (page.257)]
+>> endobj
+20544 0 obj <<
+/Names [(page.258) 8087 0 R (page.259) 8101 0 R (page.26) 1125 0 R (page.260) 8122 0 R (page.261) 8165 0 R (page.262) 8215 0 R]
+/Limits [(page.258) (page.262)]
+>> endobj
+20545 0 obj <<
+/Names [(page.263) 8239 0 R (page.264) 8255 0 R (page.265) 8262 0 R (page.266) 8297 0 R (page.267) 8325 0 R (page.268) 8357 0 R]
+/Limits [(page.263) (page.268)]
+>> endobj
+20546 0 obj <<
+/Names [(page.269) 8378 0 R (page.27) 1140 0 R (page.270) 8398 0 R (page.271) 8430 0 R (page.272) 8493 0 R (page.273) 8581 0 R]
+/Limits [(page.269) (page.273)]
+>> endobj
+20547 0 obj <<
+/Names [(page.274) 8683 0 R (page.275) 8790 0 R (page.276) 8843 0 R (page.277) 8884 0 R (page.278) 8903 0 R (page.279) 8914 0 R]
+/Limits [(page.274) (page.279)]
+>> endobj
+20548 0 obj <<
+/Names [(page.28) 1159 0 R (page.280) 8932 0 R (page.281) 8950 0 R (page.282) 8968 0 R (page.283) 8980 0 R (page.284) 8988 0 R]
+/Limits [(page.28) (page.284)]
+>> endobj
+20549 0 obj <<
+/Names [(page.284d) 18275 0 R (page.285) 8996 0 R (page.286) 9037 0 R (page.287) 9090 0 R (page.288) 9130 0 R (page.289) 9144 0 R]
+/Limits [(page.284d) (page.289)]
+>> endobj
+20550 0 obj <<
+/Names [(page.29) 1187 0 R (page.290) 9173 0 R (page.291) 9225 0 R (page.292) 9267 0 R (page.293) 9289 0 R (page.294) 9357 0 R]
+/Limits [(page.29) (page.294)]
+>> endobj
+20551 0 obj <<
+/Names [(page.295) 9433 0 R (page.296) 9511 0 R (page.297) 9611 0 R (page.298) 9685 0 R (page.299) 9739 0 R (page.3) 551 0 R]
+/Limits [(page.295) (page.3)]
+>> endobj
+20552 0 obj <<
+/Names [(page.30) 1222 0 R (page.300) 9766 0 R (page.301) 9780 0 R (page.302) 9788 0 R (page.303) 9793 0 R (page.303d) 18199 0 R]
+/Limits [(page.30) (page.303d)]
+>> endobj
+20553 0 obj <<
+/Names [(page.304) 9806 0 R (page.305) 9821 0 R (page.306) 9836 0 R (page.307) 9851 0 R (page.308) 9869 0 R (page.309) 9883 0 R]
+/Limits [(page.304) (page.309)]
+>> endobj
+20554 0 obj <<
+/Names [(page.31) 1247 0 R (page.310) 9896 0 R (page.311) 9911 0 R (page.312) 9926 0 R (page.313) 9941 0 R (page.314) 9961 0 R]
+/Limits [(page.31) (page.314)]
+>> endobj
+20555 0 obj <<
+/Names [(page.315) 9982 0 R (page.316) 9998 0 R (page.317) 10013 0 R (page.318) 10035 0 R (page.319) 10051 0 R (page.32) 1257 0 R]
+/Limits [(page.315) (page.32)]
+>> endobj
+20556 0 obj <<
+/Names [(page.320) 10069 0 R (page.321) 10089 0 R (page.322) 10111 0 R (page.323) 10130 0 R (page.324) 10147 0 R (page.325) 10179 0 R]
+/Limits [(page.320) (page.325)]
+>> endobj
+20557 0 obj <<
+/Names [(page.326) 10233 0 R (page.327) 10294 0 R (page.328) 10381 0 R (page.329) 10483 0 R (page.33) 1269 0 R (page.330) 10532 0 R]
+/Limits [(page.326) (page.330)]
+>> endobj
+20558 0 obj <<
+/Names [(page.331) 10551 0 R (page.332) 10562 0 R (page.333) 10581 0 R (page.333d) 18200 0 R (page.334) 10600 0 R (page.335) 10616 0 R]
+/Limits [(page.331) (page.335)]
+>> endobj
+20559 0 obj <<
+/Names [(page.336) 10681 0 R (page.337) 10745 0 R (page.338) 10775 0 R (page.339) 10787 0 R (page.34) 1285 0 R (page.340) 10807 0 R]
+/Limits [(page.336) (page.340)]
+>> endobj
+20560 0 obj <<
+/Names [(page.341) 10831 0 R (page.342) 10848 0 R (page.343) 10869 0 R (page.344) 10892 0 R (page.345) 10919 0 R (page.346) 10947 0 R]
+/Limits [(page.341) (page.346)]
+>> endobj
+20561 0 obj <<
+/Names [(page.347) 10965 0 R (page.348) 10977 0 R (page.349) 11018 0 R (page.35) 1311 0 R (page.350) 11042 0 R (page.351) 11058 0 R]
+/Limits [(page.347) (page.351)]
+>> endobj
+20562 0 obj <<
+/Names [(page.352) 11075 0 R (page.353) 11111 0 R (page.354) 11194 0 R (page.355) 11264 0 R (page.356) 11378 0 R (page.357) 11523 0 R]
+/Limits [(page.352) (page.357)]
+>> endobj
+20563 0 obj <<
+/Names [(page.358) 11559 0 R (page.358d) 18346 0 R (page.359) 11569 0 R (page.36) 1339 0 R (page.360) 11587 0 R (page.361) 11601 0 R]
+/Limits [(page.358) (page.361)]
+>> endobj
+20564 0 obj <<
+/Names [(page.362) 11614 0 R (page.363) 11627 0 R (page.364) 11647 0 R (page.364d) 18515 0 R (page.365) 11665 0 R (page.366) 11685 0 R]
+/Limits [(page.362) (page.366)]
+>> endobj
+20565 0 obj <<
+/Names [(page.367) 11725 0 R (page.368) 11789 0 R (page.369) 11866 0 R (page.37) 1358 0 R (page.370) 11952 0 R (page.371) 12023 0 R]
+/Limits [(page.367) (page.371)]
+>> endobj
+20566 0 obj <<
+/Names [(page.372) 12039 0 R (page.373) 12052 0 R (page.374) 12061 0 R (page.375) 12077 0 R (page.375d) 18514 0 R (page.376) 12094 0 R]
+/Limits [(page.372) (page.376)]
+>> endobj
+20567 0 obj <<
+/Names [(page.376d) 18516 0 R (page.377) 12112 0 R (page.378) 12145 0 R (page.379) 12220 0 R (page.38) 1376 0 R (page.380) 12283 0 R]
+/Limits [(page.376d) (page.380)]
+>> endobj
+20568 0 obj <<
+/Names [(page.381) 12317 0 R (page.382) 12330 0 R (page.383) 12344 0 R (page.384) 12360 0 R (page.385) 12375 0 R (page.386) 12390 0 R]
+/Limits [(page.381) (page.386)]
+>> endobj
+20569 0 obj <<
+/Names [(page.387) 12432 0 R (page.388) 12458 0 R (page.389) 12475 0 R (page.39) 1397 0 R (page.390) 12496 0 R (page.391) 12565 0 R]
+/Limits [(page.387) (page.391)]
+>> endobj
+20570 0 obj <<
+/Names [(page.392) 12594 0 R (page.392d) 18431 0 R (page.393) 12608 0 R (page.394) 12623 0 R (page.395) 12637 0 R (page.396) 12658 0 R]
+/Limits [(page.392) (page.396)]
+>> endobj
+20571 0 obj <<
+/Names [(page.397) 12724 0 R (page.398) 12808 0 R (page.399) 12887 0 R (page.4) 564 0 R (page.40) 1420 0 R (page.400) 12980 0 R]
+/Limits [(page.397) (page.400)]
+>> endobj
+20572 0 obj <<
+/Names [(page.401) 13058 0 R (page.402) 13124 0 R (page.403) 13215 0 R (page.404) 13244 0 R (page.405) 13256 0 R (page.405d) 18432 0 R]
+/Limits [(page.401) (page.405d)]
+>> endobj
+20573 0 obj <<
+/Names [(page.406) 13265 0 R (page.407) 13278 0 R (page.408) 13293 0 R (page.409) 13308 0 R (page.41) 1440 0 R (page.410) 13325 0 R]
+/Limits [(page.406) (page.410)]
+>> endobj
+20574 0 obj <<
+/Names [(page.411) 13338 0 R (page.412) 13350 0 R (page.413) 13365 0 R (page.414) 13381 0 R (page.415) 13399 0 R (page.416) 13413 0 R]
+/Limits [(page.411) (page.416)]
+>> endobj
+20575 0 obj <<
+/Names [(page.417) 13433 0 R (page.418) 13448 0 R (page.419) 13464 0 R (page.42) 1450 0 R (page.420) 13481 0 R (page.421) 13497 0 R]
+/Limits [(page.417) (page.421)]
+>> endobj
+20576 0 obj <<
+/Names [(page.422) 13512 0 R (page.423) 13530 0 R (page.424) 13546 0 R (page.425) 13565 0 R (page.426) 13589 0 R (page.427) 13605 0 R]
+/Limits [(page.422) (page.427)]
+>> endobj
+20577 0 obj <<
+/Names [(page.428) 13617 0 R (page.429) 13629 0 R (page.429d) 18125 0 R (page.43) 1458 0 R (page.430) 13638 0 R (page.431) 13658 0 R]
+/Limits [(page.428) (page.431)]
+>> endobj
+20578 0 obj <<
+/Names [(page.432) 13689 0 R (page.433) 13706 0 R (page.434) 13765 0 R (page.435) 13844 0 R (page.436) 13916 0 R (page.437) 14011 0 R]
+/Limits [(page.432) (page.437)]
+>> endobj
+20579 0 obj <<
+/Names [(page.438) 14065 0 R (page.439) 14117 0 R (page.44) 1466 0 R (page.440) 14146 0 R (page.441) 14153 0 R (page.441d) 19607 0 R]
+/Limits [(page.438) (page.441d)]
+>> endobj
+20580 0 obj <<
+/Names [(page.442) 14163 0 R (page.443) 14178 0 R (page.444) 14192 0 R (page.445) 14206 0 R (page.446) 14220 0 R (page.447) 14232 0 R]
+/Limits [(page.442) (page.447)]
+>> endobj
+20581 0 obj <<
+/Names [(page.448) 14244 0 R (page.449) 14260 0 R (page.45) 1473 0 R (page.450) 14277 0 R (page.451) 14294 0 R (page.452) 14309 0 R]
+/Limits [(page.448) (page.452)]
+>> endobj
+20582 0 obj <<
+/Names [(page.453) 14330 0 R (page.454) 14352 0 R (page.455) 14369 0 R (page.456) 14384 0 R (page.457) 14399 0 R (page.458) 14420 0 R]
+/Limits [(page.453) (page.458)]
+>> endobj
+20583 0 obj <<
+/Names [(page.459) 14437 0 R (page.46) 1479 0 R (page.460) 14454 0 R (page.461) 14481 0 R (page.462) 14528 0 R (page.463) 14570 0 R]
+/Limits [(page.459) (page.463)]
+>> endobj
+20584 0 obj <<
+/Names [(page.464) 14627 0 R (page.465) 14700 0 R (page.466) 14749 0 R (page.467) 14768 0 R (page.468) 14779 0 R (page.469) 14791 0 R]
+/Limits [(page.464) (page.469)]
+>> endobj
+20585 0 obj <<
+/Names [(page.47) 1485 0 R (page.470) 14805 0 R (page.471) 14814 0 R (page.472) 14820 0 R (page.473) 14827 0 R (page.474) 14842 0 R]
+/Limits [(page.47) (page.474)]
+>> endobj
+20586 0 obj <<
+/Names [(page.475) 14857 0 R (page.476) 14874 0 R (page.477) 14908 0 R (page.478) 14964 0 R (page.479) 14990 0 R (page.48) 1494 0 R]
+/Limits [(page.475) (page.48)]
+>> endobj
+20587 0 obj <<
+/Names [(page.480) 15022 0 R (page.481) 15086 0 R (page.482) 15124 0 R (page.483) 15149 0 R (page.484) 15167 0 R (page.485) 15241 0 R]
+/Limits [(page.480) (page.485)]
+>> endobj
+20588 0 obj <<
+/Names [(page.486) 15323 0 R (page.487) 15396 0 R (page.488) 15484 0 R (page.489) 15537 0 R (page.49) 1502 0 R (page.490) 15593 0 R]
+/Limits [(page.486) (page.490)]
+>> endobj
+20589 0 obj <<
+/Names [(page.490d) 19530 0 R (page.491) 15610 0 R (page.492) 15624 0 R (page.493) 15636 0 R (page.494) 15651 0 R (page.495) 15665 0 R]
+/Limits [(page.490d) (page.495)]
+>> endobj
+20590 0 obj <<
+/Names [(page.496) 15678 0 R (page.497) 15689 0 R (page.498) 15706 0 R (page.499) 15722 0 R (page.5) 815 0 R (page.50) 1515 0 R]
+/Limits [(page.496) (page.50)]
+>> endobj
+20591 0 obj <<
+/Names [(page.500) 15741 0 R (page.501) 15758 0 R (page.502) 15773 0 R (page.503) 15791 0 R (page.504) 15810 0 R (page.505) 15829 0 R]
+/Limits [(page.500) (page.505)]
+>> endobj
+20592 0 obj <<
+/Names [(page.506) 15845 0 R (page.507) 15862 0 R (page.508) 15881 0 R (page.509) 15903 0 R (page.51) 1521 0 R (page.510) 15949 0 R]
+/Limits [(page.506) (page.510)]
+>> endobj
+20593 0 obj <<
+/Names [(page.511) 15986 0 R (page.512) 16043 0 R (page.513) 16066 0 R (page.514) 16110 0 R (page.515) 16188 0 R (page.516) 16266 0 R]
+/Limits [(page.511) (page.516)]
+>> endobj
+20594 0 obj <<
+/Names [(page.517) 16365 0 R (page.518) 16438 0 R (page.519) 16505 0 R (page.52) 1526 0 R (page.520) 16567 0 R (page.521) 16582 0 R]
+/Limits [(page.517) (page.521)]
+>> endobj
+20595 0 obj <<
+/Names [(page.522) 16591 0 R (page.523) 16596 0 R (page.524) 16601 0 R (page.525) 16616 0 R (page.526) 16631 0 R (page.527) 16648 0 R]
+/Limits [(page.522) (page.527)]
+>> endobj
+20596 0 obj <<
+/Names [(page.528) 16664 0 R (page.529) 16676 0 R (page.53) 1531 0 R (page.530) 16689 0 R (page.531) 16706 0 R (page.532) 16720 0 R]
+/Limits [(page.528) (page.532)]
+>> endobj
+20597 0 obj <<
+/Names [(page.533) 16736 0 R (page.534) 16752 0 R (page.535) 16773 0 R (page.536) 16791 0 R (page.537) 16810 0 R (page.538) 16827 0 R]
+/Limits [(page.533) (page.538)]
+>> endobj
+20598 0 obj <<
+/Names [(page.539) 16844 0 R (page.54) 1537 0 R (page.540) 16864 0 R (page.541) 16887 0 R (page.542) 16904 0 R (page.543) 16922 0 R]
+/Limits [(page.539) (page.543)]
+>> endobj
+20599 0 obj <<
+/Names [(page.544) 16944 0 R (page.545) 16958 0 R (page.546) 16971 0 R (page.547) 17000 0 R (page.548) 17054 0 R (page.549) 17106 0 R]
+/Limits [(page.544) (page.549)]
+>> endobj
+20600 0 obj <<
+/Names [(page.55) 1544 0 R (page.550) 17155 0 R (page.551) 17183 0 R (page.552) 17191 0 R (page.553) 17207 0 R (page.554) 17226 0 R]
+/Limits [(page.55) (page.554)]
+>> endobj
+20601 0 obj <<
+/Names [(page.555) 17242 0 R (page.556) 17275 0 R (page.557) 17312 0 R (page.558) 17333 0 R (page.559) 17346 0 R (page.56) 1574 0 R]
+/Limits [(page.555) (page.56)]
+>> endobj
+20602 0 obj <<
+/Names [(page.560) 17372 0 R (page.561) 17396 0 R (page.562) 17441 0 R (page.563) 17470 0 R (page.564) 17514 0 R (page.565) 17546 0 R]
+/Limits [(page.560) (page.565)]
+>> endobj
+20603 0 obj <<
+/Names [(page.566) 17564 0 R (page.567) 17601 0 R (page.568) 17626 0 R (page.569) 17644 0 R (page.57) 1609 0 R (page.570) 17718 0 R]
+/Limits [(page.566) (page.570)]
+>> endobj
+20604 0 obj <<
+/Names [(page.571) 17784 0 R (page.572) 17879 0 R (page.573) 17972 0 R (page.574) 18045 0 R (page.575) 18123 0 R (page.576) 18198 0 R]
+/Limits [(page.571) (page.576)]
+>> endobj
+20605 0 obj <<
+/Names [(page.577) 18273 0 R (page.578) 18345 0 R (page.579) 18430 0 R (page.58) 1641 0 R (page.580) 18513 0 R (page.581) 18589 0 R]
+/Limits [(page.577) (page.581)]
+>> endobj
+20606 0 obj <<
+/Names [(page.582) 18707 0 R (page.583) 18829 0 R (page.584) 18930 0 R (page.585) 19056 0 R (page.586) 19173 0 R (page.587) 19293 0 R]
+/Limits [(page.582) (page.587)]
+>> endobj
+20607 0 obj <<
+/Names [(page.588) 19408 0 R (page.589) 19529 0 R (page.59) 1671 0 R (page.590) 19606 0 R (page.591) 19691 0 R (page.592) 19759 0 R]
+/Limits [(page.588) (page.592)]
+>> endobj
+20608 0 obj <<
+/Names [(page.593) 19841 0 R (page.594) 19906 0 R (page.595) 19927 0 R (page.6) 827 0 R (page.60) 1714 0 R (page.61) 1771 0 R]
+/Limits [(page.593) (page.61)]
+>> endobj
+20609 0 obj <<
+/Names [(page.62) 1831 0 R (page.63) 1889 0 R (page.64) 1944 0 R (page.65) 1986 0 R (page.66) 2026 0 R (page.67) 2053 0 R]
+/Limits [(page.62) (page.67)]
+>> endobj
+20610 0 obj <<
+/Names [(page.68) 2109 0 R (page.69) 2213 0 R (page.7) 845 0 R (page.70) 2315 0 R (page.71) 2374 0 R (page.72) 2393 0 R]
+/Limits [(page.68) (page.72)]
+>> endobj
+20611 0 obj <<
+/Names [(page.73) 2408 0 R (page.74) 2417 0 R (page.75) 2428 0 R (page.76) 2440 0 R (page.77) 2453 0 R (page.78) 2480 0 R]
+/Limits [(page.73) (page.78)]
+>> endobj
+20612 0 obj <<
+/Names [(page.79) 2490 0 R (page.8) 860 0 R (page.80) 2501 0 R (page.81) 2513 0 R (page.82) 2524 0 R (page.83) 2533 0 R]
+/Limits [(page.79) (page.83)]
+>> endobj
+20613 0 obj <<
+/Names [(page.84) 2559 0 R (page.85) 2589 0 R (page.86) 2620 0 R (page.87) 2657 0 R (page.88) 2749 0 R (page.89) 2812 0 R]
+/Limits [(page.84) (page.89)]
+>> endobj
+20614 0 obj <<
+/Names [(page.9) 873 0 R (page.90) 2887 0 R (page.91) 2936 0 R (page.92) 2950 0 R (page.93) 2966 0 R (page.94) 2982 0 R]
+/Limits [(page.9) (page.94)]
+>> endobj
+20615 0 obj <<
+/Names [(page.95) 2994 0 R (page.96) 3026 0 R (page.97) 3063 0 R (page.98) 3093 0 R (page.99) 3170 0 R (page.i) 612 0 R]
+/Limits [(page.95) (page.i)]
+>> endobj
+20616 0 obj <<
+/Names [(page.ii) 659 0 R (page.iii) 723 0 R (page.iv) 743 0 R (paragraph.1.1.2.1) 783 0 R (paragraph.1.1.2.2) 785 0 R (paragraph.1.1.2.3) 804 0 R]
+/Limits [(page.ii) (paragraph.1.1.2.3)]
+>> endobj
+20617 0 obj <<
+/Names [(paragraph.1.3.2.1) 847 0 R (paragraph.10.10.2.1) 5350 0 R (paragraph.10.10.3.1) 5353 0 R (paragraph.10.10.3.2) 5354 0 R (paragraph.10.13.2.1) 5808 0 R (paragraph.10.13.3.1) 5815 0 R]
+/Limits [(paragraph.1.3.2.1) (paragraph.10.13.3.1)]
+>> endobj
+20618 0 obj <<
+/Names [(paragraph.10.13.3.10) 5824 0 R (paragraph.10.13.3.11) 5825 0 R (paragraph.10.13.3.12) 5826 0 R (paragraph.10.13.3.13) 5832 0 R (paragraph.10.13.3.14) 5833 0 R (paragraph.10.13.3.15) 5834 0 R]
+/Limits [(paragraph.10.13.3.10) (paragraph.10.13.3.15)]
+>> endobj
+20619 0 obj <<
+/Names [(paragraph.10.13.3.16) 5835 0 R (paragraph.10.13.3.17) 5836 0 R (paragraph.10.13.3.18) 5837 0 R (paragraph.10.13.3.19) 5838 0 R (paragraph.10.13.3.2) 5816 0 R (paragraph.10.13.3.20) 5839 0 R]
+/Limits [(paragraph.10.13.3.16) (paragraph.10.13.3.20)]
+>> endobj
+20620 0 obj <<
+/Names [(paragraph.10.13.3.21) 5840 0 R (paragraph.10.13.3.22) 5841 0 R (paragraph.10.13.3.23) 5842 0 R (paragraph.10.13.3.24) 5848 0 R (paragraph.10.13.3.25) 5849 0 R (paragraph.10.13.3.26) 5850 0 R]
+/Limits [(paragraph.10.13.3.21) (paragraph.10.13.3.26)]
+>> endobj
+20621 0 obj <<
+/Names [(paragraph.10.13.3.27) 5851 0 R (paragraph.10.13.3.28) 5852 0 R (paragraph.10.13.3.29) 5853 0 R (paragraph.10.13.3.3) 5817 0 R (paragraph.10.13.3.30) 5854 0 R (paragraph.10.13.3.31) 5855 0 R]
+/Limits [(paragraph.10.13.3.27) (paragraph.10.13.3.31)]
+>> endobj
+20622 0 obj <<
+/Names [(paragraph.10.13.3.32) 5856 0 R (paragraph.10.13.3.33) 5862 0 R (paragraph.10.13.3.34) 5863 0 R (paragraph.10.13.3.35) 5864 0 R (paragraph.10.13.3.36) 5865 0 R (paragraph.10.13.3.37) 5866 0 R]
+/Limits [(paragraph.10.13.3.32) (paragraph.10.13.3.37)]
+>> endobj
+20623 0 obj <<
+/Names [(paragraph.10.13.3.38) 5867 0 R (paragraph.10.13.3.39) 5868 0 R (paragraph.10.13.3.4) 5818 0 R (paragraph.10.13.3.40) 5869 0 R (paragraph.10.13.3.41) 5870 0 R (paragraph.10.13.3.42) 5871 0 R]
+/Limits [(paragraph.10.13.3.38) (paragraph.10.13.3.42)]
+>> endobj
+20624 0 obj <<
+/Names [(paragraph.10.13.3.43) 5872 0 R (paragraph.10.13.3.44) 5878 0 R (paragraph.10.13.3.45) 5879 0 R (paragraph.10.13.3.46) 5880 0 R (paragraph.10.13.3.47) 5881 0 R (paragraph.10.13.3.48) 5882 0 R]
+/Limits [(paragraph.10.13.3.43) (paragraph.10.13.3.48)]
+>> endobj
+20625 0 obj <<
+/Names [(paragraph.10.13.3.49) 5895 0 R (paragraph.10.13.3.5) 5819 0 R (paragraph.10.13.3.50) 5896 0 R (paragraph.10.13.3.51) 5897 0 R (paragraph.10.13.3.52) 5898 0 R (paragraph.10.13.3.53) 5899 0 R]
+/Limits [(paragraph.10.13.3.49) (paragraph.10.13.3.53)]
+>> endobj
+20626 0 obj <<
+/Names [(paragraph.10.13.3.54) 5900 0 R (paragraph.10.13.3.55) 5901 0 R (paragraph.10.13.3.56) 5902 0 R (paragraph.10.13.3.57) 5903 0 R (paragraph.10.13.3.58) 5904 0 R (paragraph.10.13.3.59) 5905 0 R]
+/Limits [(paragraph.10.13.3.54) (paragraph.10.13.3.59)]
+>> endobj
+20627 0 obj <<
+/Names [(paragraph.10.13.3.6) 5820 0 R (paragraph.10.13.3.60) 5906 0 R (paragraph.10.13.3.61) 5907 0 R (paragraph.10.13.3.62) 5908 0 R (paragraph.10.13.3.63) 5909 0 R (paragraph.10.13.3.64) 5921 0 R]
+/Limits [(paragraph.10.13.3.6) (paragraph.10.13.3.64)]
+>> endobj
+20628 0 obj <<
+/Names [(paragraph.10.13.3.65) 5922 0 R (paragraph.10.13.3.7) 5821 0 R (paragraph.10.13.3.8) 5822 0 R (paragraph.10.13.3.9) 5823 0 R (paragraph.10.18.2.1) 5995 0 R (paragraph.10.18.2.2) 6011 0 R]
+/Limits [(paragraph.10.13.3.65) (paragraph.10.18.2.2)]
+>> endobj
+20629 0 obj <<
+/Names [(paragraph.10.18.2.3) 6024 0 R (paragraph.10.18.2.4) 6035 0 R (paragraph.10.18.2.5) 6046 0 R (paragraph.10.18.2.6) 6058 0 R (paragraph.10.20.2.1) 6117 0 R (paragraph.10.20.2.2) 6118 0 R]
+/Limits [(paragraph.10.18.2.3) (paragraph.10.20.2.2)]
+>> endobj
+20630 0 obj <<
+/Names [(paragraph.10.20.2.3) 6120 0 R (paragraph.10.20.2.4) 6122 0 R (paragraph.10.21.2.1) 6383 0 R (paragraph.10.21.3.1) 6385 0 R (paragraph.10.21.3.2) 6386 0 R (paragraph.10.21.3.3) 6388 0 R]
+/Limits [(paragraph.10.20.2.3) (paragraph.10.21.3.3)]
+>> endobj
+20631 0 obj <<
+/Names [(paragraph.10.21.3.4) 6398 0 R (paragraph.10.21.3.5) 6399 0 R (paragraph.10.21.4.1) 6402 0 R (paragraph.10.21.4.10) 6418 0 R (paragraph.10.21.4.11) 6419 0 R (paragraph.10.21.4.12) 6420 0 R]
+/Limits [(paragraph.10.21.3.4) (paragraph.10.21.4.12)]
+>> endobj
+20632 0 obj <<
+/Names [(paragraph.10.21.4.2) 6404 0 R (paragraph.10.21.4.3) 6405 0 R (paragraph.10.21.4.4) 6406 0 R (paragraph.10.21.4.5) 6413 0 R (paragraph.10.21.4.6) 6414 0 R (paragraph.10.21.4.7) 6415 0 R]
+/Limits [(paragraph.10.21.4.2) (paragraph.10.21.4.7)]
+>> endobj
+20633 0 obj <<
+/Names [(paragraph.10.21.4.8) 6416 0 R (paragraph.10.21.4.9) 6417 0 R (paragraph.10.21.5.1) 6427 0 R (paragraph.10.21.5.10) 6436 0 R (paragraph.10.21.5.11) 6437 0 R (paragraph.10.21.5.12) 6438 0 R]
+/Limits [(paragraph.10.21.4.8) (paragraph.10.21.5.12)]
+>> endobj
+20634 0 obj <<
+/Names [(paragraph.10.21.5.13) 6439 0 R (paragraph.10.21.5.14) 6440 0 R (paragraph.10.21.5.15) 6472 0 R (paragraph.10.21.5.2) 6428 0 R (paragraph.10.21.5.3) 6429 0 R (paragraph.10.21.5.4) 6430 0 R]
+/Limits [(paragraph.10.21.5.13) (paragraph.10.21.5.4)]
+>> endobj
+20635 0 obj <<
+/Names [(paragraph.10.21.5.5) 6431 0 R (paragraph.10.21.5.6) 6432 0 R (paragraph.10.21.5.7) 6433 0 R (paragraph.10.21.5.8) 6434 0 R (paragraph.10.21.5.9) 6435 0 R (paragraph.10.21.6.1) 6474 0 R]
+/Limits [(paragraph.10.21.5.5) (paragraph.10.21.6.1)]
+>> endobj
+20636 0 obj <<
+/Names [(paragraph.10.22.2.1) 6620 0 R (paragraph.10.22.2.2) 6629 0 R (paragraph.10.22.3.1) 6631 0 R (paragraph.10.22.3.2) 6632 0 R (paragraph.10.22.3.3) 6633 0 R (paragraph.10.22.3.4) 6635 0 R]
+/Limits [(paragraph.10.22.2.1) (paragraph.10.22.3.4)]
+>> endobj
+20637 0 obj <<
+/Names [(paragraph.10.22.3.5) 6636 0 R (paragraph.10.22.3.6) 6644 0 R (paragraph.10.22.3.7) 6646 0 R (paragraph.10.22.4.1) 6648 0 R (paragraph.10.22.4.2) 6649 0 R (paragraph.10.22.4.3) 6650 0 R]
+/Limits [(paragraph.10.22.3.5) (paragraph.10.22.4.3)]
+>> endobj
+20638 0 obj <<
+/Names [(paragraph.10.22.4.4) 6651 0 R (paragraph.10.23.2.1) 6667 0 R (paragraph.10.24.2.1) 6736 0 R (paragraph.10.24.2.2) 6737 0 R (paragraph.10.24.2.3) 6739 0 R (paragraph.10.24.2.4) 6741 0 R]
+/Limits [(paragraph.10.22.4.4) (paragraph.10.24.2.4)]
+>> endobj
+20639 0 obj <<
+/Names [(paragraph.10.24.2.5) 6743 0 R (paragraph.10.24.3.1) 6751 0 R (paragraph.10.24.3.10) 6777 0 R (paragraph.10.24.3.2) 6753 0 R (paragraph.10.24.3.3) 6755 0 R (paragraph.10.24.3.4) 6757 0 R]
+/Limits [(paragraph.10.24.2.5) (paragraph.10.24.3.4)]
+>> endobj
+20640 0 obj <<
+/Names [(paragraph.10.24.3.5) 6758 0 R (paragraph.10.24.3.6) 6759 0 R (paragraph.10.24.3.7) 6760 0 R (paragraph.10.24.3.8) 6774 0 R (paragraph.10.24.3.9) 6775 0 R (paragraph.10.25.2.1) 6793 0 R]
+/Limits [(paragraph.10.24.3.5) (paragraph.10.25.2.1)]
+>> endobj
+20641 0 obj <<
+/Names [(paragraph.10.25.2.2) 6794 0 R (paragraph.10.25.2.3) 6795 0 R (paragraph.10.25.2.4) 6796 0 R (paragraph.10.25.2.5) 6798 0 R (paragraph.10.26.2.1) 6838 0 R (paragraph.10.26.2.2) 6853 0 R]
+/Limits [(paragraph.10.25.2.2) (paragraph.10.26.2.2)]
+>> endobj
+20642 0 obj <<
+/Names [(paragraph.10.26.3.1) 6856 0 R (paragraph.10.26.3.2) 6858 0 R (paragraph.10.26.3.3) 6860 0 R (paragraph.10.26.3.4) 6861 0 R (paragraph.10.26.3.5) 6862 0 R (paragraph.10.26.3.6) 6877 0 R]
+/Limits [(paragraph.10.26.3.1) (paragraph.10.26.3.6)]
+>> endobj
+20643 0 obj <<
+/Names [(paragraph.10.26.3.7) 6879 0 R (paragraph.10.26.4.1) 6882 0 R (paragraph.10.26.4.2) 6883 0 R (paragraph.10.28.2.1) 6961 0 R (paragraph.10.28.2.2) 6964 0 R (paragraph.10.3.2.1) 3069 0 R]
+/Limits [(paragraph.10.26.3.7) (paragraph.10.3.2.1)]
+>> endobj
+20644 0 obj <<
+/Names [(paragraph.10.3.3.1) 3074 0 R (paragraph.10.3.4.1) 3095 0 R (paragraph.10.3.4.2) 3096 0 R (paragraph.10.3.4.3) 3097 0 R (paragraph.10.30.2.1) 7024 0 R (paragraph.10.30.2.2) 7026 0 R]
+/Limits [(paragraph.10.3.3.1) (paragraph.10.30.2.2)]
+>> endobj
+20645 0 obj <<
+/Names [(paragraph.10.30.2.3) 7028 0 R (paragraph.10.30.2.4) 7030 0 R (paragraph.10.30.2.5) 7032 0 R (paragraph.10.31.2.1) 7119 0 R (paragraph.10.31.3.1) 7122 0 R (paragraph.10.31.3.2) 7123 0 R]
+/Limits [(paragraph.10.30.2.3) (paragraph.10.31.3.2)]
+>> endobj
+20646 0 obj <<
+/Names [(paragraph.10.32.2.1) 7514 0 R (paragraph.10.32.3.1) 7516 0 R (paragraph.10.32.4.1) 7518 0 R (paragraph.10.32.4.2) 7527 0 R (paragraph.10.32.4.3) 7528 0 R (paragraph.10.32.5.1) 7531 0 R]
+/Limits [(paragraph.10.32.2.1) (paragraph.10.32.5.1)]
+>> endobj
+20647 0 obj <<
+/Names [(paragraph.10.32.5.2) 7532 0 R (paragraph.10.32.5.3) 7533 0 R (paragraph.10.32.5.4) 7534 0 R (paragraph.10.32.5.5) 7543 0 R (paragraph.10.32.5.6) 7544 0 R (paragraph.10.32.5.7) 7545 0 R]
+/Limits [(paragraph.10.32.5.2) (paragraph.10.32.5.7)]
+>> endobj
+20648 0 obj <<
+/Names [(paragraph.10.32.5.8) 7546 0 R (paragraph.10.32.5.9) 7547 0 R (paragraph.10.32.6.1) 7549 0 R (paragraph.10.32.6.10) 7563 0 R (paragraph.10.32.6.11) 7564 0 R (paragraph.10.32.6.12) 7565 0 R]
+/Limits [(paragraph.10.32.5.8) (paragraph.10.32.6.12)]
+>> endobj
+20649 0 obj <<
+/Names [(paragraph.10.32.6.13) 7566 0 R (paragraph.10.32.6.14) 7567 0 R (paragraph.10.32.6.15) 7568 0 R (paragraph.10.32.6.16) 7569 0 R (paragraph.10.32.6.17) 7575 0 R (paragraph.10.32.6.18) 7576 0 R]
+/Limits [(paragraph.10.32.6.13) (paragraph.10.32.6.18)]
+>> endobj
+20650 0 obj <<
+/Names [(paragraph.10.32.6.19) 7577 0 R (paragraph.10.32.6.2) 7550 0 R (paragraph.10.32.6.20) 7578 0 R (paragraph.10.32.6.21) 7579 0 R (paragraph.10.32.6.22) 7580 0 R (paragraph.10.32.6.23) 7581 0 R]
+/Limits [(paragraph.10.32.6.19) (paragraph.10.32.6.23)]
+>> endobj
+20651 0 obj <<
+/Names [(paragraph.10.32.6.24) 7582 0 R (paragraph.10.32.6.25) 7583 0 R (paragraph.10.32.6.26) 7584 0 R (paragraph.10.32.6.27) 7585 0 R (paragraph.10.32.6.28) 7586 0 R (paragraph.10.32.6.29) 7587 0 R]
+/Limits [(paragraph.10.32.6.24) (paragraph.10.32.6.29)]
+>> endobj
+20652 0 obj <<
+/Names [(paragraph.10.32.6.3) 7551 0 R (paragraph.10.32.6.30) 7588 0 R (paragraph.10.32.6.31) 7589 0 R (paragraph.10.32.6.32) 7590 0 R (paragraph.10.32.6.33) 7596 0 R (paragraph.10.32.6.34) 7597 0 R]
+/Limits [(paragraph.10.32.6.3) (paragraph.10.32.6.34)]
+>> endobj
+20653 0 obj <<
+/Names [(paragraph.10.32.6.35) 7598 0 R (paragraph.10.32.6.36) 7599 0 R (paragraph.10.32.6.37) 7600 0 R (paragraph.10.32.6.38) 7601 0 R (paragraph.10.32.6.39) 7602 0 R (paragraph.10.32.6.4) 7557 0 R]
+/Limits [(paragraph.10.32.6.35) (paragraph.10.32.6.4)]
+>> endobj
+20654 0 obj <<
+/Names [(paragraph.10.32.6.40) 7603 0 R (paragraph.10.32.6.41) 7604 0 R (paragraph.10.32.6.42) 7605 0 R (paragraph.10.32.6.43) 7606 0 R (paragraph.10.32.6.44) 7607 0 R (paragraph.10.32.6.45) 7608 0 R]
+/Limits [(paragraph.10.32.6.40) (paragraph.10.32.6.45)]
+>> endobj
+20655 0 obj <<
+/Names [(paragraph.10.32.6.46) 7609 0 R (paragraph.10.32.6.47) 7610 0 R (paragraph.10.32.6.48) 7611 0 R (paragraph.10.32.6.5) 7558 0 R (paragraph.10.32.6.6) 7559 0 R (paragraph.10.32.6.7) 7560 0 R]
+/Limits [(paragraph.10.32.6.46) (paragraph.10.32.6.7)]
+>> endobj
+20656 0 obj <<
+/Names [(paragraph.10.32.6.8) 7561 0 R (paragraph.10.32.6.9) 7562 0 R (paragraph.10.32.7.1) 7613 0 R (paragraph.10.33.2.1) 7734 0 R (paragraph.10.33.3.1) 7761 0 R (paragraph.10.33.3.2) 7762 0 R]
+/Limits [(paragraph.10.32.6.8) (paragraph.10.33.3.2)]
+>> endobj
+20657 0 obj <<
+/Names [(paragraph.10.33.3.3) 7763 0 R (paragraph.10.35.2.1) 7794 0 R (paragraph.10.36.2.1) 7908 0 R (paragraph.10.36.3.1) 7910 0 R (paragraph.10.36.3.2) 7911 0 R (paragraph.10.36.3.3) 7912 0 R]
+/Limits [(paragraph.10.33.3.3) (paragraph.10.36.3.3)]
+>> endobj
+20658 0 obj <<
+/Names [(paragraph.10.36.3.4) 7913 0 R (paragraph.10.36.3.5) 7914 0 R (paragraph.10.36.3.6) 7915 0 R (paragraph.10.37.2.1) 7999 0 R (paragraph.10.37.3.1) 8002 0 R (paragraph.10.37.3.2) 8003 0 R]
+/Limits [(paragraph.10.36.3.4) (paragraph.10.37.3.2)]
+>> endobj
+20659 0 obj <<
+/Names [(paragraph.10.38.2.1) 8092 0 R (paragraph.10.38.3.1) 8103 0 R (paragraph.10.38.3.2) 8104 0 R (paragraph.10.4.2.1) 3702 0 R (paragraph.10.4.2.10) 3732 0 R (paragraph.10.4.2.2) 3704 0 R]
+/Limits [(paragraph.10.38.2.1) (paragraph.10.4.2.2)]
+>> endobj
+20660 0 obj <<
+/Names [(paragraph.10.4.2.3) 3705 0 R (paragraph.10.4.2.4) 3706 0 R (paragraph.10.4.2.5) 3715 0 R (paragraph.10.4.2.6) 3718 0 R (paragraph.10.4.2.7) 3720 0 R (paragraph.10.4.2.8) 3721 0 R]
+/Limits [(paragraph.10.4.2.3) (paragraph.10.4.2.8)]
+>> endobj
+20661 0 obj <<
+/Names [(paragraph.10.4.2.9) 3729 0 R (paragraph.10.4.3.1) 3741 0 R (paragraph.10.4.3.10) 3776 0 R (paragraph.10.4.3.11) 3783 0 R (paragraph.10.4.3.12) 3785 0 R (paragraph.10.4.3.13) 3787 0 R]
+/Limits [(paragraph.10.4.2.9) (paragraph.10.4.3.13)]
+>> endobj
+20662 0 obj <<
+/Names [(paragraph.10.4.3.14) 3789 0 R (paragraph.10.4.3.15) 3791 0 R (paragraph.10.4.3.16) 3800 0 R (paragraph.10.4.3.17) 3803 0 R (paragraph.10.4.3.18) 3806 0 R (paragraph.10.4.3.19) 3809 0 R]
+/Limits [(paragraph.10.4.3.14) (paragraph.10.4.3.19)]
+>> endobj
+20663 0 obj <<
+/Names [(paragraph.10.4.3.2) 3743 0 R (paragraph.10.4.3.20) 3817 0 R (paragraph.10.4.3.21) 3820 0 R (paragraph.10.4.3.22) 3823 0 R (paragraph.10.4.3.23) 3833 0 R (paragraph.10.4.3.24) 3836 0 R]
+/Limits [(paragraph.10.4.3.2) (paragraph.10.4.3.24)]
+>> endobj
+20664 0 obj <<
+/Names [(paragraph.10.4.3.25) 3839 0 R (paragraph.10.4.3.26) 3851 0 R (paragraph.10.4.3.27) 3854 0 R (paragraph.10.4.3.28) 3865 0 R (paragraph.10.4.3.29) 3868 0 R (paragraph.10.4.3.3) 3745 0 R]
+/Limits [(paragraph.10.4.3.25) (paragraph.10.4.3.3)]
+>> endobj
+20665 0 obj <<
+/Names [(paragraph.10.4.3.30) 3871 0 R (paragraph.10.4.3.31) 3873 0 R (paragraph.10.4.3.32) 3875 0 R (paragraph.10.4.3.33) 3884 0 R (paragraph.10.4.3.34) 3886 0 R (paragraph.10.4.3.35) 3888 0 R]
+/Limits [(paragraph.10.4.3.30) (paragraph.10.4.3.35)]
+>> endobj
+20666 0 obj <<
+/Names [(paragraph.10.4.3.36) 3890 0 R (paragraph.10.4.3.37) 3902 0 R (paragraph.10.4.3.38) 3905 0 R (paragraph.10.4.3.39) 3908 0 R (paragraph.10.4.3.4) 3748 0 R (paragraph.10.4.3.40) 3918 0 R]
+/Limits [(paragraph.10.4.3.36) (paragraph.10.4.3.40)]
+>> endobj
+20667 0 obj <<
+/Names [(paragraph.10.4.3.41) 3921 0 R (paragraph.10.4.3.42) 3932 0 R (paragraph.10.4.3.43) 3935 0 R (paragraph.10.4.3.44) 3938 0 R (paragraph.10.4.3.45) 3950 0 R (paragraph.10.4.3.46) 3952 0 R]
+/Limits [(paragraph.10.4.3.41) (paragraph.10.4.3.46)]
+>> endobj
+20668 0 obj <<
+/Names [(paragraph.10.4.3.47) 3963 0 R (paragraph.10.4.3.48) 3965 0 R (paragraph.10.4.3.49) 3967 0 R (paragraph.10.4.3.5) 3756 0 R (paragraph.10.4.3.50) 3970 0 R (paragraph.10.4.3.51) 3984 0 R]
+/Limits [(paragraph.10.4.3.47) (paragraph.10.4.3.51)]
+>> endobj
+20669 0 obj <<
+/Names [(paragraph.10.4.3.52) 3987 0 R (paragraph.10.4.3.53) 3990 0 R (paragraph.10.4.3.54) 4004 0 R (paragraph.10.4.3.55) 4007 0 R (paragraph.10.4.3.56) 4017 0 R (paragraph.10.4.3.57) 4020 0 R]
+/Limits [(paragraph.10.4.3.52) (paragraph.10.4.3.57)]
+>> endobj
+20670 0 obj <<
+/Names [(paragraph.10.4.3.58) 4022 0 R (paragraph.10.4.3.59) 4037 0 R (paragraph.10.4.3.6) 3759 0 R (paragraph.10.4.3.60) 4039 0 R (paragraph.10.4.3.61) 4042 0 R (paragraph.10.4.3.62) 4044 0 R]
+/Limits [(paragraph.10.4.3.58) (paragraph.10.4.3.62)]
+>> endobj
+20671 0 obj <<
+/Names [(paragraph.10.4.3.63) 4057 0 R (paragraph.10.4.3.64) 4060 0 R (paragraph.10.4.3.65) 4064 0 R (paragraph.10.4.3.66) 4071 0 R (paragraph.10.4.3.7) 3769 0 R (paragraph.10.4.3.8) 3772 0 R]
+/Limits [(paragraph.10.4.3.63) (paragraph.10.4.3.8)]
+>> endobj
+20672 0 obj <<
+/Names [(paragraph.10.4.3.9) 3774 0 R (paragraph.10.4.4.1) 4073 0 R (paragraph.10.4.4.10) 4087 0 R (paragraph.10.4.4.11) 4094 0 R (paragraph.10.4.4.12) 4095 0 R (paragraph.10.4.4.13) 4096 0 R]
+/Limits [(paragraph.10.4.3.9) (paragraph.10.4.4.13)]
+>> endobj
+20673 0 obj <<
+/Names [(paragraph.10.4.4.14) 4097 0 R (paragraph.10.4.4.15) 4098 0 R (paragraph.10.4.4.16) 4099 0 R (paragraph.10.4.4.17) 4106 0 R (paragraph.10.4.4.18) 4107 0 R (paragraph.10.4.4.19) 4108 0 R]
+/Limits [(paragraph.10.4.4.14) (paragraph.10.4.4.19)]
+>> endobj
+20674 0 obj <<
+/Names [(paragraph.10.4.4.2) 4074 0 R (paragraph.10.4.4.20) 4109 0 R (paragraph.10.4.4.21) 4110 0 R (paragraph.10.4.4.22) 4111 0 R (paragraph.10.4.4.23) 4112 0 R (paragraph.10.4.4.24) 4113 0 R]
+/Limits [(paragraph.10.4.4.2) (paragraph.10.4.4.24)]
+>> endobj
+20675 0 obj <<
+/Names [(paragraph.10.4.4.25) 4114 0 R (paragraph.10.4.4.26) 4115 0 R (paragraph.10.4.4.3) 4075 0 R (paragraph.10.4.4.4) 4076 0 R (paragraph.10.4.4.5) 4077 0 R (paragraph.10.4.4.6) 4083 0 R]
+/Limits [(paragraph.10.4.4.25) (paragraph.10.4.4.6)]
+>> endobj
+20676 0 obj <<
+/Names [(paragraph.10.4.4.7) 4084 0 R (paragraph.10.4.4.8) 4085 0 R (paragraph.10.4.4.9) 4086 0 R (paragraph.10.45.2.1) 8327 0 R (paragraph.10.45.2.2) 8332 0 R (paragraph.10.45.3.1) 8338 0 R]
+/Limits [(paragraph.10.4.4.7) (paragraph.10.45.3.1)]
+>> endobj
+20677 0 obj <<
+/Names [(paragraph.10.45.3.2) 8364 0 R (paragraph.10.45.3.3) 8366 0 R (paragraph.10.45.3.4) 8379 0 R (paragraph.10.45.4.1) 8382 0 R (paragraph.10.46.2.1) 8402 0 R (paragraph.10.46.2.2) 8404 0 R]
+/Limits [(paragraph.10.45.3.2) (paragraph.10.46.2.2)]
+>> endobj
+20678 0 obj <<
+/Names [(paragraph.10.46.2.3) 8431 0 R (paragraph.10.46.2.4) 8432 0 R (paragraph.10.47.2.1) 8905 0 R (paragraph.10.47.3.1) 8916 0 R (paragraph.10.47.4.1) 8918 0 R (paragraph.10.47.4.2) 8919 0 R]
+/Limits [(paragraph.10.46.2.3) (paragraph.10.47.4.2)]
+>> endobj
+20679 0 obj <<
+/Names [(paragraph.10.47.5.1) 8921 0 R (paragraph.10.47.5.10) 8952 0 R (paragraph.10.47.5.11) 8954 0 R (paragraph.10.47.5.12) 8955 0 R (paragraph.10.47.5.13) 8956 0 R (paragraph.10.47.5.2) 8923 0 R]
+/Limits [(paragraph.10.47.5.1) (paragraph.10.47.5.2)]
+>> endobj
+20680 0 obj <<
+/Names [(paragraph.10.47.5.3) 8925 0 R (paragraph.10.47.5.4) 8934 0 R (paragraph.10.47.5.5) 8936 0 R (paragraph.10.47.5.6) 8937 0 R (paragraph.10.47.5.7) 8938 0 R (paragraph.10.47.5.8) 8940 0 R]
+/Limits [(paragraph.10.47.5.3) (paragraph.10.47.5.8)]
+>> endobj
+20681 0 obj <<
+/Names [(paragraph.10.47.5.9) 8941 0 R (paragraph.10.47.6.1) 8958 0 R (paragraph.10.47.6.10) 8974 0 R (paragraph.10.47.6.11) 8975 0 R (paragraph.10.47.6.12) 8981 0 R (paragraph.10.47.6.13) 8982 0 R]
+/Limits [(paragraph.10.47.5.9) (paragraph.10.47.6.13)]
+>> endobj
+20682 0 obj <<
+/Names [(paragraph.10.47.6.14) 8983 0 R (paragraph.10.47.6.15) 8989 0 R (paragraph.10.47.6.16) 8990 0 R (paragraph.10.47.6.17) 8991 0 R (paragraph.10.47.6.18) 8997 0 R (paragraph.10.47.6.19) 8998 0 R]
+/Limits [(paragraph.10.47.6.14) (paragraph.10.47.6.19)]
+>> endobj
+20683 0 obj <<
+/Names [(paragraph.10.47.6.2) 8959 0 R (paragraph.10.47.6.20) 8999 0 R (paragraph.10.47.6.21) 9000 0 R (paragraph.10.47.6.22) 9001 0 R (paragraph.10.47.6.23) 9002 0 R (paragraph.10.47.6.24) 9003 0 R]
+/Limits [(paragraph.10.47.6.2) (paragraph.10.47.6.24)]
+>> endobj
+20684 0 obj <<
+/Names [(paragraph.10.47.6.25) 9004 0 R (paragraph.10.47.6.26) 9005 0 R (paragraph.10.47.6.27) 9006 0 R (paragraph.10.47.6.28) 9007 0 R (paragraph.10.47.6.29) 9008 0 R (paragraph.10.47.6.3) 8960 0 R]
+/Limits [(paragraph.10.47.6.25) (paragraph.10.47.6.3)]
+>> endobj
+20685 0 obj <<
+/Names [(paragraph.10.47.6.30) 9009 0 R (paragraph.10.47.6.31) 9010 0 R (paragraph.10.47.6.32) 9011 0 R (paragraph.10.47.6.33) 9012 0 R (paragraph.10.47.6.34) 9013 0 R (paragraph.10.47.6.35) 9014 0 R]
+/Limits [(paragraph.10.47.6.30) (paragraph.10.47.6.35)]
+>> endobj
+20686 0 obj <<
+/Names [(paragraph.10.47.6.36) 9038 0 R (paragraph.10.47.6.37) 9039 0 R (paragraph.10.47.6.38) 9040 0 R (paragraph.10.47.6.4) 8961 0 R (paragraph.10.47.6.5) 8969 0 R (paragraph.10.47.6.6) 8970 0 R]
+/Limits [(paragraph.10.47.6.36) (paragraph.10.47.6.6)]
+>> endobj
+20687 0 obj <<
+/Names [(paragraph.10.47.6.7) 8971 0 R (paragraph.10.47.6.8) 8972 0 R (paragraph.10.47.6.9) 8973 0 R (paragraph.10.47.7.1) 9042 0 R (paragraph.10.48.2.1) 9146 0 R (paragraph.10.48.3.1) 9148 0 R]
+/Limits [(paragraph.10.47.6.7) (paragraph.10.48.3.1)]
+>> endobj
+20688 0 obj <<
+/Names [(paragraph.10.48.4.1) 9175 0 R (paragraph.10.48.4.2) 9176 0 R (paragraph.10.48.4.3) 9177 0 R (paragraph.10.5.2.1) 4142 0 R (paragraph.10.50.2.1) 9271 0 R (paragraph.10.50.2.10) 9293 0 R]
+/Limits [(paragraph.10.48.4.1) (paragraph.10.50.2.10)]
+>> endobj
+20689 0 obj <<
+/Names [(paragraph.10.50.2.11) 9294 0 R (paragraph.10.50.2.12) 9295 0 R (paragraph.10.50.2.13) 9296 0 R (paragraph.10.50.2.14) 9297 0 R (paragraph.10.50.2.15) 9298 0 R (paragraph.10.50.2.16) 9299 0 R]
+/Limits [(paragraph.10.50.2.11) (paragraph.10.50.2.16)]
+>> endobj
+20690 0 obj <<
+/Names [(paragraph.10.50.2.2) 9272 0 R (paragraph.10.50.2.3) 9273 0 R (paragraph.10.50.2.4) 9274 0 R (paragraph.10.50.2.5) 9275 0 R (paragraph.10.50.2.6) 9276 0 R (paragraph.10.50.2.7) 9290 0 R]
+/Limits [(paragraph.10.50.2.2) (paragraph.10.50.2.7)]
+>> endobj
+20691 0 obj <<
+/Names [(paragraph.10.50.2.8) 9291 0 R (paragraph.10.50.2.9) 9292 0 R (paragraph.10.51.2.1) 9795 0 R (paragraph.10.51.2.10) 9838 0 R (paragraph.10.51.2.11) 9841 0 R (paragraph.10.51.2.12) 9844 0 R]
+/Limits [(paragraph.10.50.2.8) (paragraph.10.51.2.12)]
+>> endobj
+20692 0 obj <<
+/Names [(paragraph.10.51.2.2) 9798 0 R (paragraph.10.51.2.3) 9801 0 R (paragraph.10.51.2.4) 9809 0 R (paragraph.10.51.2.5) 9812 0 R (paragraph.10.51.2.6) 9815 0 R (paragraph.10.51.2.7) 9823 0 R]
+/Limits [(paragraph.10.51.2.2) (paragraph.10.51.2.7)]
+>> endobj
+20693 0 obj <<
+/Names [(paragraph.10.51.2.8) 9826 0 R (paragraph.10.51.2.9) 9829 0 R (paragraph.10.51.3.1) 9846 0 R (paragraph.10.51.3.10) 9885 0 R (paragraph.10.51.3.11) 9888 0 R (paragraph.10.51.3.12) 9891 0 R]
+/Limits [(paragraph.10.51.2.8) (paragraph.10.51.3.12)]
+>> endobj
+20694 0 obj <<
+/Names [(paragraph.10.51.3.13) 9898 0 R (paragraph.10.51.3.14) 9900 0 R (paragraph.10.51.3.15) 9902 0 R (paragraph.10.51.3.16) 9904 0 R (paragraph.10.51.3.17) 9906 0 R (paragraph.10.51.3.18) 9914 0 R]
+/Limits [(paragraph.10.51.3.13) (paragraph.10.51.3.18)]
+>> endobj
+20695 0 obj <<
+/Names [(paragraph.10.51.3.19) 9917 0 R (paragraph.10.51.3.2) 9852 0 R (paragraph.10.51.3.20) 9920 0 R (paragraph.10.51.3.21) 9929 0 R (paragraph.10.51.3.22) 9932 0 R (paragraph.10.51.3.23) 9935 0 R]
+/Limits [(paragraph.10.51.3.19) (paragraph.10.51.3.23)]
+>> endobj
+20696 0 obj <<
+/Names [(paragraph.10.51.3.24) 9943 0 R (paragraph.10.51.3.25) 9946 0 R (paragraph.10.51.3.26) 9949 0 R (paragraph.10.51.3.27) 9952 0 R (paragraph.10.51.3.28) 9963 0 R (paragraph.10.51.3.29) 9966 0 R]
+/Limits [(paragraph.10.51.3.24) (paragraph.10.51.3.29)]
+>> endobj
+20697 0 obj <<
+/Names [(paragraph.10.51.3.3) 9854 0 R (paragraph.10.51.3.30) 9969 0 R (paragraph.10.51.3.31) 9971 0 R (paragraph.10.51.3.32) 9973 0 R (paragraph.10.51.3.33) 9984 0 R (paragraph.10.51.3.34) 9986 0 R]
+/Limits [(paragraph.10.51.3.3) (paragraph.10.51.3.34)]
+>> endobj
+20698 0 obj <<
+/Names [(paragraph.10.51.3.35) 9988 0 R (paragraph.10.51.3.36) 9991 0 R (paragraph.10.51.3.37) 10001 0 R (paragraph.10.51.3.38) 10004 0 R (paragraph.10.51.3.39) 10015 0 R (paragraph.10.51.3.4) 9855 0 R]
+/Limits [(paragraph.10.51.3.35) (paragraph.10.51.3.4)]
+>> endobj
+20699 0 obj <<
+/Names [(paragraph.10.51.3.40) 10018 0 R (paragraph.10.51.3.41) 10021 0 R (paragraph.10.51.3.42) 10037 0 R (paragraph.10.51.3.43) 10040 0 R (paragraph.10.51.3.44) 10042 0 R (paragraph.10.51.3.45) 10053 0 R]
+/Limits [(paragraph.10.51.3.40) (paragraph.10.51.3.45)]
+>> endobj
+20700 0 obj <<
+/Names [(paragraph.10.51.3.46) 10055 0 R (paragraph.10.51.3.47) 10057 0 R (paragraph.10.51.3.48) 10071 0 R (paragraph.10.51.3.49) 10074 0 R (paragraph.10.51.3.5) 9857 0 R (paragraph.10.51.3.50) 10077 0 R]
+/Limits [(paragraph.10.51.3.46) (paragraph.10.51.3.50)]
+>> endobj
+20701 0 obj <<
+/Names [(paragraph.10.51.3.51) 10091 0 R (paragraph.10.51.3.52) 10094 0 R (paragraph.10.51.3.53) 10097 0 R (paragraph.10.51.3.54) 10112 0 R (paragraph.10.51.3.55) 10115 0 R (paragraph.10.51.3.56) 10117 0 R]
+/Limits [(paragraph.10.51.3.51) (paragraph.10.51.3.56)]
+>> endobj
+20702 0 obj <<
+/Names [(paragraph.10.51.3.57) 10120 0 R (paragraph.10.51.3.58) 10133 0 R (paragraph.10.51.3.59) 10135 0 R (paragraph.10.51.3.6) 9859 0 R (paragraph.10.51.3.60) 10149 0 R (paragraph.10.51.3.61) 10153 0 R]
+/Limits [(paragraph.10.51.3.57) (paragraph.10.51.3.61)]
+>> endobj
+20703 0 obj <<
+/Names [(paragraph.10.51.3.7) 9861 0 R (paragraph.10.51.3.8) 9872 0 R (paragraph.10.51.3.9) 9875 0 R (paragraph.10.51.4.1) 10155 0 R (paragraph.10.51.4.2) 10156 0 R (paragraph.10.51.4.3) 10157 0 R]
+/Limits [(paragraph.10.51.3.7) (paragraph.10.51.4.3)]
+>> endobj
+20704 0 obj <<
+/Names [(paragraph.10.51.4.4) 10158 0 R (paragraph.10.51.4.5) 10180 0 R (paragraph.10.51.4.6) 10181 0 R (paragraph.10.52.2.1) 10235 0 R (paragraph.10.53.2.1) 10564 0 R (paragraph.10.53.3.1) 10566 0 R]
+/Limits [(paragraph.10.51.4.4) (paragraph.10.53.3.1)]
+>> endobj
+20705 0 obj <<
+/Names [(paragraph.10.53.4.1) 10568 0 R (paragraph.10.53.4.2) 10569 0 R (paragraph.10.53.5.1) 10571 0 R (paragraph.10.53.5.10) 10601 0 R (paragraph.10.53.5.11) 10602 0 R (paragraph.10.53.5.12) 10603 0 R]
+/Limits [(paragraph.10.53.4.1) (paragraph.10.53.5.12)]
+>> endobj
+20706 0 obj <<
+/Names [(paragraph.10.53.5.13) 10605 0 R (paragraph.10.53.5.2) 10573 0 R (paragraph.10.53.5.3) 10583 0 R (paragraph.10.53.5.4) 10585 0 R (paragraph.10.53.5.5) 10586 0 R (paragraph.10.53.5.6) 10587 0 R]
+/Limits [(paragraph.10.53.5.13) (paragraph.10.53.5.6)]
+>> endobj
+20707 0 obj <<
+/Names [(paragraph.10.53.5.7) 10588 0 R (paragraph.10.53.5.8) 10590 0 R (paragraph.10.53.5.9) 10592 0 R (paragraph.10.53.6.1) 10607 0 R (paragraph.10.53.6.10) 10621 0 R (paragraph.10.53.6.11) 10622 0 R]
+/Limits [(paragraph.10.53.5.7) (paragraph.10.53.6.11)]
+>> endobj
+20708 0 obj <<
+/Names [(paragraph.10.53.6.12) 10623 0 R (paragraph.10.53.6.13) 10624 0 R (paragraph.10.53.6.14) 10625 0 R (paragraph.10.53.6.15) 10626 0 R (paragraph.10.53.6.16) 10627 0 R (paragraph.10.53.6.17) 10628 0 R]
+/Limits [(paragraph.10.53.6.12) (paragraph.10.53.6.17)]
+>> endobj
+20709 0 obj <<
+/Names [(paragraph.10.53.6.2) 10608 0 R (paragraph.10.53.6.3) 10609 0 R (paragraph.10.53.6.4) 10610 0 R (paragraph.10.53.6.5) 10611 0 R (paragraph.10.53.6.6) 10617 0 R (paragraph.10.53.6.7) 10618 0 R]
+/Limits [(paragraph.10.53.6.2) (paragraph.10.53.6.7)]
+>> endobj
+20710 0 obj <<
+/Names [(paragraph.10.53.6.8) 10619 0 R (paragraph.10.53.6.9) 10620 0 R (paragraph.10.53.7.1) 10630 0 R (paragraph.10.54.2.1) 10789 0 R (paragraph.10.54.3.1) 10791 0 R (paragraph.10.54.3.2) 10792 0 R]
+/Limits [(paragraph.10.53.6.8) (paragraph.10.54.3.2)]
+>> endobj
+20711 0 obj <<
+/Names [(paragraph.10.54.4.1) 10809 0 R (paragraph.10.54.4.2) 10810 0 R (paragraph.10.54.4.3) 10811 0 R (paragraph.10.54.4.4) 10812 0 R (paragraph.10.54.4.5) 10813 0 R (paragraph.10.55.2.1) 10837 0 R]
+/Limits [(paragraph.10.54.4.1) (paragraph.10.55.2.1)]
+>> endobj
+20712 0 obj <<
+/Names [(paragraph.10.61.2.1) 10969 0 R (paragraph.10.61.2.2) 10970 0 R (paragraph.10.61.2.3) 10978 0 R (paragraph.10.61.2.4) 10979 0 R (paragraph.10.61.2.5) 10980 0 R (paragraph.10.61.3.1) 10982 0 R]
+/Limits [(paragraph.10.61.2.1) (paragraph.10.61.3.1)]
+>> endobj
+20713 0 obj <<
+/Names [(paragraph.10.61.3.2) 10983 0 R (paragraph.10.62.2.1) 11044 0 R (paragraph.10.62.2.2) 11045 0 R (paragraph.10.62.2.3) 11047 0 R (paragraph.10.62.2.4) 11049 0 R (paragraph.10.62.2.5) 11051 0 R]
+/Limits [(paragraph.10.61.3.2) (paragraph.10.62.2.5)]
+>> endobj
+20714 0 obj <<
+/Names [(paragraph.10.62.3.1) 11059 0 R (paragraph.10.62.3.10) 11079 0 R (paragraph.10.62.3.2) 11061 0 R (paragraph.10.62.3.3) 11063 0 R (paragraph.10.62.3.4) 11065 0 R (paragraph.10.62.3.5) 11066 0 R]
+/Limits [(paragraph.10.62.3.1) (paragraph.10.62.3.5)]
+>> endobj
+20715 0 obj <<
+/Names [(paragraph.10.62.3.6) 11067 0 R (paragraph.10.62.3.7) 11068 0 R (paragraph.10.62.3.8) 11076 0 R (paragraph.10.62.3.9) 11077 0 R (paragraph.10.63.2.1) 11562 0 R (paragraph.10.63.2.10) 11578 0 R]
+/Limits [(paragraph.10.62.3.6) (paragraph.10.63.2.10)]
+>> endobj
+20716 0 obj <<
+/Names [(paragraph.10.63.2.11) 11590 0 R (paragraph.10.63.2.12) 11591 0 R (paragraph.10.63.2.13) 11592 0 R (paragraph.10.63.2.14) 11593 0 R (paragraph.10.63.2.15) 11594 0 R (paragraph.10.63.2.16) 11602 0 R]
+/Limits [(paragraph.10.63.2.11) (paragraph.10.63.2.16)]
+>> endobj
+20717 0 obj <<
+/Names [(paragraph.10.63.2.17) 11603 0 R (paragraph.10.63.2.18) 11604 0 R (paragraph.10.63.2.2) 11570 0 R (paragraph.10.63.2.3) 11571 0 R (paragraph.10.63.2.4) 11572 0 R (paragraph.10.63.2.5) 11573 0 R]
+/Limits [(paragraph.10.63.2.17) (paragraph.10.63.2.5)]
+>> endobj
+20718 0 obj <<
+/Names [(paragraph.10.63.2.6) 11574 0 R (paragraph.10.63.2.7) 11575 0 R (paragraph.10.63.2.8) 11576 0 R (paragraph.10.63.2.9) 11577 0 R (paragraph.10.63.3.1) 11606 0 R (paragraph.10.63.3.10) 11622 0 R]
+/Limits [(paragraph.10.63.2.6) (paragraph.10.63.3.10)]
+>> endobj
+20719 0 obj <<
+/Names [(paragraph.10.63.3.11) 11628 0 R (paragraph.10.63.3.12) 11629 0 R (paragraph.10.63.3.2) 11607 0 R (paragraph.10.63.3.3) 11608 0 R (paragraph.10.63.3.4) 11609 0 R (paragraph.10.63.3.5) 11616 0 R]
+/Limits [(paragraph.10.63.3.11) (paragraph.10.63.3.5)]
+>> endobj
+20720 0 obj <<
+/Names [(paragraph.10.63.3.6) 11617 0 R (paragraph.10.63.3.7) 11618 0 R (paragraph.10.63.3.8) 11619 0 R (paragraph.10.63.3.9) 11620 0 R (paragraph.10.63.4.1) 11631 0 R (paragraph.10.63.4.10) 11640 0 R]
+/Limits [(paragraph.10.63.3.6) (paragraph.10.63.4.10)]
+>> endobj
+20721 0 obj <<
+/Names [(paragraph.10.63.4.11) 11641 0 R (paragraph.10.63.4.12) 11648 0 R (paragraph.10.63.4.13) 11649 0 R (paragraph.10.63.4.14) 11650 0 R (paragraph.10.63.4.15) 11651 0 R (paragraph.10.63.4.16) 11652 0 R]
+/Limits [(paragraph.10.63.4.11) (paragraph.10.63.4.16)]
+>> endobj
+20722 0 obj <<
+/Names [(paragraph.10.63.4.17) 11653 0 R (paragraph.10.63.4.18) 11654 0 R (paragraph.10.63.4.19) 11657 0 R (paragraph.10.63.4.2) 11632 0 R (paragraph.10.63.4.20) 11658 0 R (paragraph.10.63.4.21) 11659 0 R]
+/Limits [(paragraph.10.63.4.17) (paragraph.10.63.4.21)]
+>> endobj
+20723 0 obj <<
+/Names [(paragraph.10.63.4.22) 11668 0 R (paragraph.10.63.4.23) 11669 0 R (paragraph.10.63.4.24) 11670 0 R (paragraph.10.63.4.25) 11671 0 R (paragraph.10.63.4.26) 11672 0 R (paragraph.10.63.4.27) 11673 0 R]
+/Limits [(paragraph.10.63.4.22) (paragraph.10.63.4.27)]
+>> endobj
+20724 0 obj <<
+/Names [(paragraph.10.63.4.28) 11674 0 R (paragraph.10.63.4.29) 11675 0 R (paragraph.10.63.4.3) 11633 0 R (paragraph.10.63.4.30) 11676 0 R (paragraph.10.63.4.31) 11677 0 R (paragraph.10.63.4.32) 11678 0 R]
+/Limits [(paragraph.10.63.4.28) (paragraph.10.63.4.32)]
+>> endobj
+20725 0 obj <<
+/Names [(paragraph.10.63.4.33) 11679 0 R (paragraph.10.63.4.34) 11686 0 R (paragraph.10.63.4.35) 11687 0 R (paragraph.10.63.4.36) 11688 0 R (paragraph.10.63.4.37) 11689 0 R (paragraph.10.63.4.38) 11690 0 R]
+/Limits [(paragraph.10.63.4.33) (paragraph.10.63.4.38)]
+>> endobj
+20726 0 obj <<
+/Names [(paragraph.10.63.4.39) 11691 0 R (paragraph.10.63.4.4) 11634 0 R (paragraph.10.63.4.40) 11692 0 R (paragraph.10.63.4.41) 11693 0 R (paragraph.10.63.4.42) 11694 0 R (paragraph.10.63.4.43) 11695 0 R]
+/Limits [(paragraph.10.63.4.39) (paragraph.10.63.4.43)]
+>> endobj
+20727 0 obj <<
+/Names [(paragraph.10.63.4.44) 11696 0 R (paragraph.10.63.4.45) 11697 0 R (paragraph.10.63.4.46) 11698 0 R (paragraph.10.63.4.47) 11699 0 R (paragraph.10.63.4.48) 11700 0 R (paragraph.10.63.4.49) 11701 0 R]
+/Limits [(paragraph.10.63.4.44) (paragraph.10.63.4.49)]
+>> endobj
+20728 0 obj <<
+/Names [(paragraph.10.63.4.5) 11635 0 R (paragraph.10.63.4.50) 11702 0 R (paragraph.10.63.4.51) 11703 0 R (paragraph.10.63.4.52) 11704 0 R (paragraph.10.63.4.53) 11705 0 R (paragraph.10.63.4.54) 11726 0 R]
+/Limits [(paragraph.10.63.4.5) (paragraph.10.63.4.54)]
+>> endobj
+20729 0 obj <<
+/Names [(paragraph.10.63.4.55) 11727 0 R (paragraph.10.63.4.56) 11728 0 R (paragraph.10.63.4.57) 11729 0 R (paragraph.10.63.4.58) 11730 0 R (paragraph.10.63.4.59) 11731 0 R (paragraph.10.63.4.6) 11636 0 R]
+/Limits [(paragraph.10.63.4.55) (paragraph.10.63.4.6)]
+>> endobj
+20730 0 obj <<
+/Names [(paragraph.10.63.4.60) 11732 0 R (paragraph.10.63.4.7) 11637 0 R (paragraph.10.63.4.8) 11638 0 R (paragraph.10.63.4.9) 11639 0 R (paragraph.10.64.2.1) 12041 0 R (paragraph.10.64.3.1) 12045 0 R]
+/Limits [(paragraph.10.63.4.60) (paragraph.10.64.3.1)]
+>> endobj
+20731 0 obj <<
+/Names [(paragraph.10.64.3.2) 12053 0 R (paragraph.10.64.3.3) 12055 0 R (paragraph.10.64.4.1) 12063 0 R (paragraph.10.64.4.10) 12072 0 R (paragraph.10.64.4.11) 12078 0 R (paragraph.10.64.4.12) 12079 0 R]
+/Limits [(paragraph.10.64.3.2) (paragraph.10.64.4.12)]
+>> endobj
+20732 0 obj <<
+/Names [(paragraph.10.64.4.13) 12080 0 R (paragraph.10.64.4.14) 12081 0 R (paragraph.10.64.4.15) 12082 0 R (paragraph.10.64.4.16) 12083 0 R (paragraph.10.64.4.17) 12084 0 R (paragraph.10.64.4.18) 12085 0 R]
+/Limits [(paragraph.10.64.4.13) (paragraph.10.64.4.18)]
+>> endobj
+20733 0 obj <<
+/Names [(paragraph.10.64.4.19) 12086 0 R (paragraph.10.64.4.2) 12064 0 R (paragraph.10.64.4.20) 12087 0 R (paragraph.10.64.4.21) 12097 0 R (paragraph.10.64.4.22) 12098 0 R (paragraph.10.64.4.23) 12099 0 R]
+/Limits [(paragraph.10.64.4.19) (paragraph.10.64.4.23)]
+>> endobj
+20734 0 obj <<
+/Names [(paragraph.10.64.4.24) 12102 0 R (paragraph.10.64.4.25) 12103 0 R (paragraph.10.64.4.26) 12104 0 R (paragraph.10.64.4.27) 12105 0 R (paragraph.10.64.4.28) 12106 0 R (paragraph.10.64.4.29) 12107 0 R]
+/Limits [(paragraph.10.64.4.24) (paragraph.10.64.4.29)]
+>> endobj
+20735 0 obj <<
+/Names [(paragraph.10.64.4.3) 12065 0 R (paragraph.10.64.4.30) 12113 0 R (paragraph.10.64.4.31) 12114 0 R (paragraph.10.64.4.32) 12115 0 R (paragraph.10.64.4.33) 12116 0 R (paragraph.10.64.4.34) 12117 0 R]
+/Limits [(paragraph.10.64.4.3) (paragraph.10.64.4.34)]
+>> endobj
+20736 0 obj <<
+/Names [(paragraph.10.64.4.35) 12118 0 R (paragraph.10.64.4.36) 12119 0 R (paragraph.10.64.4.37) 12120 0 R (paragraph.10.64.4.38) 12121 0 R (paragraph.10.64.4.39) 12122 0 R (paragraph.10.64.4.4) 12066 0 R]
+/Limits [(paragraph.10.64.4.35) (paragraph.10.64.4.4)]
+>> endobj
+20737 0 obj <<
+/Names [(paragraph.10.64.4.40) 12123 0 R (paragraph.10.64.4.41) 12124 0 R (paragraph.10.64.4.42) 12125 0 R (paragraph.10.64.4.43) 12126 0 R (paragraph.10.64.4.44) 12127 0 R (paragraph.10.64.4.45) 12128 0 R]
+/Limits [(paragraph.10.64.4.40) (paragraph.10.64.4.45)]
+>> endobj
+20738 0 obj <<
+/Names [(paragraph.10.64.4.46) 12129 0 R (paragraph.10.64.4.47) 12130 0 R (paragraph.10.64.4.48) 12146 0 R (paragraph.10.64.4.49) 12147 0 R (paragraph.10.64.4.5) 12067 0 R (paragraph.10.64.4.50) 12148 0 R]
+/Limits [(paragraph.10.64.4.46) (paragraph.10.64.4.50)]
+>> endobj
+20739 0 obj <<
+/Names [(paragraph.10.64.4.51) 12149 0 R (paragraph.10.64.4.52) 12150 0 R (paragraph.10.64.4.53) 12151 0 R (paragraph.10.64.4.54) 12152 0 R (paragraph.10.64.4.55) 12153 0 R (paragraph.10.64.4.56) 12154 0 R]
+/Limits [(paragraph.10.64.4.51) (paragraph.10.64.4.56)]
+>> endobj
+20740 0 obj <<
+/Names [(paragraph.10.64.4.6) 12068 0 R (paragraph.10.64.4.7) 12069 0 R (paragraph.10.64.4.8) 12070 0 R (paragraph.10.64.4.9) 12071 0 R (paragraph.10.65.2.1) 12321 0 R (paragraph.10.65.2.2) 12331 0 R]
+/Limits [(paragraph.10.64.4.6) (paragraph.10.65.2.2)]
+>> endobj
+20741 0 obj <<
+/Names [(paragraph.10.65.3.1) 12333 0 R (paragraph.10.65.3.2) 12336 0 R (paragraph.10.65.3.3) 12346 0 R (paragraph.10.65.3.4) 12349 0 R (paragraph.10.65.4.1) 12353 0 R (paragraph.10.65.4.10) 12382 0 R]
+/Limits [(paragraph.10.65.3.1) (paragraph.10.65.4.10)]
+>> endobj
+20742 0 obj <<
+/Names [(paragraph.10.65.4.11) 12391 0 R (paragraph.10.65.4.12) 12393 0 R (paragraph.10.65.4.2) 12361 0 R (paragraph.10.65.4.3) 12364 0 R (paragraph.10.65.4.4) 12366 0 R (paragraph.10.65.4.5) 12368 0 R]
+/Limits [(paragraph.10.65.4.11) (paragraph.10.65.4.5)]
+>> endobj
+20743 0 obj <<
+/Names [(paragraph.10.65.4.6) 12370 0 R (paragraph.10.65.4.7) 12377 0 R (paragraph.10.65.4.8) 12378 0 R (paragraph.10.65.4.9) 12379 0 R (paragraph.10.65.5.1) 12396 0 R (paragraph.10.65.5.2) 12397 0 R]
+/Limits [(paragraph.10.65.4.6) (paragraph.10.65.5.2)]
+>> endobj
+20744 0 obj <<
+/Names [(paragraph.10.65.5.3) 12398 0 R (paragraph.10.66.2.1) 12480 0 R (paragraph.10.66.3.1) 12498 0 R (paragraph.10.66.3.2) 12499 0 R (paragraph.10.67.2.1) 12598 0 R (paragraph.10.67.2.10) 12630 0 R]
+/Limits [(paragraph.10.65.5.3) (paragraph.10.67.2.10)]
+>> endobj
+20745 0 obj <<
+/Names [(paragraph.10.67.2.11) 12632 0 R (paragraph.10.67.2.12) 12639 0 R (paragraph.10.67.2.2) 12601 0 R (paragraph.10.67.2.3) 12603 0 R (paragraph.10.67.2.4) 12610 0 R (paragraph.10.67.2.5) 12613 0 R]
+/Limits [(paragraph.10.67.2.11) (paragraph.10.67.2.5)]
+>> endobj
+20746 0 obj <<
+/Names [(paragraph.10.67.2.6) 12616 0 R (paragraph.10.67.2.7) 12618 0 R (paragraph.10.67.2.8) 12625 0 R (paragraph.10.67.2.9) 12627 0 R (paragraph.10.67.3.1) 12642 0 R (paragraph.10.69.2.1) 12666 0 R]
+/Limits [(paragraph.10.67.2.6) (paragraph.10.69.2.1)]
+>> endobj
+20747 0 obj <<
+/Names [(paragraph.10.70.2.1) 13258 0 R (paragraph.10.70.2.10) 13287 0 R (paragraph.10.70.2.2) 13260 0 R (paragraph.10.70.2.3) 13266 0 R (paragraph.10.70.2.4) 13267 0 R (paragraph.10.70.2.5) 13270 0 R]
+/Limits [(paragraph.10.70.2.1) (paragraph.10.70.2.5)]
+>> endobj
+20748 0 obj <<
+/Names [(paragraph.10.70.2.6) 13273 0 R (paragraph.10.70.2.7) 13280 0 R (paragraph.10.70.2.8) 13281 0 R (paragraph.10.70.2.9) 13284 0 R (paragraph.10.70.3.1) 13297 0 R (paragraph.10.70.3.10) 13320 0 R]
+/Limits [(paragraph.10.70.2.6) (paragraph.10.70.3.10)]
+>> endobj
+20749 0 obj <<
+/Names [(paragraph.10.70.3.11) 13328 0 R (paragraph.10.70.3.12) 13331 0 R (paragraph.10.70.3.13) 13341 0 R (paragraph.10.70.3.14) 13344 0 R (paragraph.10.70.3.15) 13352 0 R (paragraph.10.70.3.16) 13355 0 R]
+/Limits [(paragraph.10.70.3.11) (paragraph.10.70.3.16)]
+>> endobj
+20750 0 obj <<
+/Names [(paragraph.10.70.3.17) 13358 0 R (paragraph.10.70.3.18) 13366 0 R (paragraph.10.70.3.19) 13369 0 R (paragraph.10.70.3.2) 13299 0 R (paragraph.10.70.3.20) 13372 0 R (paragraph.10.70.3.21) 13375 0 R]
+/Limits [(paragraph.10.70.3.17) (paragraph.10.70.3.21)]
+>> endobj
+20751 0 obj <<
+/Names [(paragraph.10.70.3.22) 13384 0 R (paragraph.10.70.3.23) 13387 0 R (paragraph.10.70.3.24) 13390 0 R (paragraph.10.70.3.25) 13393 0 R (paragraph.10.70.3.26) 13402 0 R (paragraph.10.70.3.27) 13405 0 R]
+/Limits [(paragraph.10.70.3.22) (paragraph.10.70.3.27)]
+>> endobj
+20752 0 obj <<
+/Names [(paragraph.10.70.3.28) 13416 0 R (paragraph.10.70.3.29) 13419 0 R (paragraph.10.70.3.3) 13301 0 R (paragraph.10.70.3.30) 13421 0 R (paragraph.10.70.3.31) 13423 0 R (paragraph.10.70.3.32) 13425 0 R]
+/Limits [(paragraph.10.70.3.28) (paragraph.10.70.3.32)]
+>> endobj
+20753 0 obj <<
+/Names [(paragraph.10.70.3.33) 13435 0 R (paragraph.10.70.3.34) 13437 0 R (paragraph.10.70.3.35) 13439 0 R (paragraph.10.70.3.36) 13450 0 R (paragraph.10.70.3.37) 13453 0 R (paragraph.10.70.3.38) 13456 0 R]
+/Limits [(paragraph.10.70.3.33) (paragraph.10.70.3.38)]
+>> endobj
+20754 0 obj <<
+/Names [(paragraph.10.70.3.39) 13467 0 R (paragraph.10.70.3.4) 13303 0 R (paragraph.10.70.3.40) 13470 0 R (paragraph.10.70.3.41) 13473 0 R (paragraph.10.70.3.42) 13484 0 R (paragraph.10.70.3.43) 13487 0 R]
+/Limits [(paragraph.10.70.3.39) (paragraph.10.70.3.43)]
+>> endobj
+20755 0 obj <<
+/Names [(paragraph.10.70.3.44) 13499 0 R (paragraph.10.70.3.45) 13501 0 R (paragraph.10.70.3.46) 13504 0 R (paragraph.10.70.3.47) 13514 0 R (paragraph.10.70.3.48) 13516 0 R (paragraph.10.70.3.49) 13519 0 R]
+/Limits [(paragraph.10.70.3.44) (paragraph.10.70.3.49)]
+>> endobj
+20756 0 obj <<
+/Names [(paragraph.10.70.3.5) 13310 0 R (paragraph.10.70.3.50) 13533 0 R (paragraph.10.70.3.51) 13536 0 R (paragraph.10.70.3.52) 13539 0 R (paragraph.10.70.3.53) 13549 0 R (paragraph.10.70.3.54) 13552 0 R]
+/Limits [(paragraph.10.70.3.5) (paragraph.10.70.3.54)]
+>> endobj
+20757 0 obj <<
+/Names [(paragraph.10.70.3.55) 13554 0 R (paragraph.10.70.3.56) 13566 0 R (paragraph.10.70.3.57) 13568 0 R (paragraph.10.70.3.58) 13571 0 R (paragraph.10.70.3.59) 13573 0 R (paragraph.10.70.3.6) 13312 0 R]
+/Limits [(paragraph.10.70.3.55) (paragraph.10.70.3.6)]
+>> endobj
+20758 0 obj <<
+/Names [(paragraph.10.70.3.60) 13590 0 R (paragraph.10.70.3.61) 13593 0 R (paragraph.10.70.3.62) 13606 0 R (paragraph.10.70.3.63) 13609 0 R (paragraph.10.70.3.64) 13611 0 R (paragraph.10.70.3.7) 13314 0 R]
+/Limits [(paragraph.10.70.3.60) (paragraph.10.70.3.7)]
+>> endobj
+20759 0 obj <<
+/Names [(paragraph.10.70.3.8) 13316 0 R (paragraph.10.70.3.9) 13318 0 R (paragraph.10.70.4.1) 13618 0 R (paragraph.10.70.4.10) 13632 0 R (paragraph.10.70.4.11) 13633 0 R (paragraph.10.70.4.12) 13639 0 R]
+/Limits [(paragraph.10.70.3.8) (paragraph.10.70.4.12)]
+>> endobj
+20760 0 obj <<
+/Names [(paragraph.10.70.4.13) 13640 0 R (paragraph.10.70.4.14) 13641 0 R (paragraph.10.70.4.15) 13642 0 R (paragraph.10.70.4.16) 13643 0 R (paragraph.10.70.4.17) 13644 0 R (paragraph.10.70.4.18) 13645 0 R]
+/Limits [(paragraph.10.70.4.13) (paragraph.10.70.4.18)]
+>> endobj
+20761 0 obj <<
+/Names [(paragraph.10.70.4.19) 13646 0 R (paragraph.10.70.4.2) 13619 0 R (paragraph.10.70.4.20) 13647 0 R (paragraph.10.70.4.21) 13659 0 R (paragraph.10.70.4.22) 13660 0 R (paragraph.10.70.4.23) 13661 0 R]
+/Limits [(paragraph.10.70.4.19) (paragraph.10.70.4.23)]
+>> endobj
+20762 0 obj <<
+/Names [(paragraph.10.70.4.24) 13662 0 R (paragraph.10.70.4.25) 13663 0 R (paragraph.10.70.4.26) 13664 0 R (paragraph.10.70.4.3) 13620 0 R (paragraph.10.70.4.4) 13621 0 R (paragraph.10.70.4.5) 13622 0 R]
+/Limits [(paragraph.10.70.4.24) (paragraph.10.70.4.5)]
+>> endobj
+20763 0 obj <<
+/Names [(paragraph.10.70.4.6) 13623 0 R (paragraph.10.70.4.7) 13624 0 R (paragraph.10.70.4.8) 13630 0 R (paragraph.10.70.4.9) 13631 0 R (paragraph.10.71.2.1) 13708 0 R (paragraph.10.71.3.1) 13711 0 R]
+/Limits [(paragraph.10.70.4.6) (paragraph.10.71.3.1)]
+>> endobj
+20764 0 obj <<
+/Names [(paragraph.10.71.3.2) 13712 0 R (paragraph.10.72.2.1) 14155 0 R (paragraph.10.72.2.10) 14198 0 R (paragraph.10.72.2.11) 14201 0 R (paragraph.10.72.2.12) 14209 0 R (paragraph.10.72.2.2) 14158 0 R]
+/Limits [(paragraph.10.71.3.2) (paragraph.10.72.2.2)]
+>> endobj
+20765 0 obj <<
+/Names [(paragraph.10.72.2.3) 14166 0 R (paragraph.10.72.2.4) 14169 0 R (paragraph.10.72.2.5) 14172 0 R (paragraph.10.72.2.6) 14180 0 R (paragraph.10.72.2.7) 14183 0 R (paragraph.10.72.2.8) 14186 0 R]
+/Limits [(paragraph.10.72.2.3) (paragraph.10.72.2.8)]
+>> endobj
+20766 0 obj <<
+/Names [(paragraph.10.72.2.9) 14195 0 R (paragraph.10.72.3.1) 14211 0 R (paragraph.10.72.3.10) 14248 0 R (paragraph.10.72.3.11) 14250 0 R (paragraph.10.72.3.12) 14252 0 R (paragraph.10.72.3.13) 14255 0 R]
+/Limits [(paragraph.10.72.2.9) (paragraph.10.72.3.13)]
+>> endobj
+20767 0 obj <<
+/Names [(paragraph.10.72.3.14) 14262 0 R (paragraph.10.72.3.15) 14265 0 R (paragraph.10.72.3.16) 14268 0 R (paragraph.10.72.3.17) 14271 0 R (paragraph.10.72.3.18) 14280 0 R (paragraph.10.72.3.19) 14283 0 R]
+/Limits [(paragraph.10.72.3.14) (paragraph.10.72.3.19)]
+>> endobj
+20768 0 obj <<
+/Names [(paragraph.10.72.3.2) 14213 0 R (paragraph.10.72.3.20) 14286 0 R (paragraph.10.72.3.21) 14297 0 R (paragraph.10.72.3.22) 14300 0 R (paragraph.10.72.3.23) 14303 0 R (paragraph.10.72.3.24) 14311 0 R]
+/Limits [(paragraph.10.72.3.2) (paragraph.10.72.3.24)]
+>> endobj
+20769 0 obj <<
+/Names [(paragraph.10.72.3.25) 14313 0 R (paragraph.10.72.3.26) 14315 0 R (paragraph.10.72.3.27) 14317 0 R (paragraph.10.72.3.28) 14331 0 R (paragraph.10.72.3.29) 14334 0 R (paragraph.10.72.3.3) 14215 0 R]
+/Limits [(paragraph.10.72.3.25) (paragraph.10.72.3.3)]
+>> endobj
+20770 0 obj <<
+/Names [(paragraph.10.72.3.30) 14338 0 R (paragraph.10.72.3.31) 14355 0 R (paragraph.10.72.3.32) 14358 0 R (paragraph.10.72.3.33) 14361 0 R (paragraph.10.72.3.34) 14372 0 R (paragraph.10.72.3.35) 14375 0 R]
+/Limits [(paragraph.10.72.3.30) (paragraph.10.72.3.35)]
+>> endobj
+20771 0 obj <<
+/Names [(paragraph.10.72.3.36) 14377 0 R (paragraph.10.72.3.37) 14387 0 R (paragraph.10.72.3.38) 14389 0 R (paragraph.10.72.3.39) 14400 0 R (paragraph.10.72.3.4) 14222 0 R (paragraph.10.72.3.40) 14403 0 R]
+/Limits [(paragraph.10.72.3.36) (paragraph.10.72.3.40)]
+>> endobj
+20772 0 obj <<
+/Names [(paragraph.10.72.3.41) 14406 0 R (paragraph.10.72.3.42) 14408 0 R (paragraph.10.72.3.43) 14423 0 R (paragraph.10.72.3.44) 14425 0 R (paragraph.10.72.3.45) 14438 0 R (paragraph.10.72.3.46) 14441 0 R]
+/Limits [(paragraph.10.72.3.41) (paragraph.10.72.3.46)]
+>> endobj
+20773 0 obj <<
+/Names [(paragraph.10.72.3.47) 14445 0 R (paragraph.10.72.3.5) 14224 0 R (paragraph.10.72.3.6) 14227 0 R (paragraph.10.72.3.7) 14235 0 R (paragraph.10.72.3.8) 14238 0 R (paragraph.10.72.3.9) 14246 0 R]
+/Limits [(paragraph.10.72.3.47) (paragraph.10.72.3.9)]
+>> endobj
+20774 0 obj <<
+/Names [(paragraph.10.72.4.1) 14447 0 R (paragraph.10.72.4.2) 14455 0 R (paragraph.10.72.4.3) 14456 0 R (paragraph.10.72.4.4) 14457 0 R (paragraph.10.72.4.5) 14458 0 R (paragraph.10.72.4.6) 14459 0 R]
+/Limits [(paragraph.10.72.4.1) (paragraph.10.72.4.6)]
+>> endobj
+20775 0 obj <<
+/Names [(paragraph.10.72.4.7) 14460 0 R (paragraph.10.72.4.8) 14461 0 R (paragraph.10.76.2.1) 14829 0 R (paragraph.10.76.2.2) 14830 0 R (paragraph.10.76.3.1) 14832 0 R (paragraph.10.76.3.2) 14844 0 R]
+/Limits [(paragraph.10.72.4.7) (paragraph.10.76.3.2)]
+>> endobj
+20776 0 obj <<
+/Names [(paragraph.10.76.4.1) 14848 0 R (paragraph.10.76.4.10) 14875 0 R (paragraph.10.76.4.11) 14878 0 R (paragraph.10.76.4.2) 14849 0 R (paragraph.10.76.4.3) 14852 0 R (paragraph.10.76.4.4) 14859 0 R]
+/Limits [(paragraph.10.76.4.1) (paragraph.10.76.4.4)]
+>> endobj
+20777 0 obj <<
+/Names [(paragraph.10.76.4.5) 14861 0 R (paragraph.10.76.4.6) 14863 0 R (paragraph.10.76.4.7) 14864 0 R (paragraph.10.76.4.8) 14865 0 R (paragraph.10.76.4.9) 14866 0 R (paragraph.10.76.5.1) 14880 0 R]
+/Limits [(paragraph.10.76.4.5) (paragraph.10.76.5.1)]
+>> endobj
+20778 0 obj <<
+/Names [(paragraph.10.76.5.2) 14881 0 R (paragraph.10.76.5.3) 14882 0 R (paragraph.10.77.2.1) 14978 0 R (paragraph.10.77.3.1) 14980 0 R (paragraph.10.77.3.2) 14993 0 R (paragraph.10.77.3.3) 14995 0 R]
+/Limits [(paragraph.10.76.5.2) (paragraph.10.77.3.3)]
+>> endobj
+20779 0 obj <<
+/Names [(paragraph.10.78.2.1) 15136 0 R (paragraph.10.78.2.2) 15150 0 R (paragraph.10.78.2.3) 15152 0 R (paragraph.10.78.2.4) 15155 0 R (paragraph.10.78.2.5) 15158 0 R (paragraph.10.78.2.6) 15170 0 R]
+/Limits [(paragraph.10.78.2.1) (paragraph.10.78.2.6)]
+>> endobj
+20780 0 obj <<
+/Names [(paragraph.10.78.3.1) 15172 0 R (paragraph.10.79.2.1) 15600 0 R (paragraph.10.79.2.2) 15612 0 R (paragraph.10.79.2.3) 15613 0 R (paragraph.10.79.2.4) 15615 0 R (paragraph.10.79.2.5) 15618 0 R]
+/Limits [(paragraph.10.78.3.1) (paragraph.10.79.2.5)]
+>> endobj
+20781 0 obj <<
+/Names [(paragraph.10.79.2.6) 15627 0 R (paragraph.10.79.2.7) 15630 0 R (paragraph.10.79.2.8) 15638 0 R (paragraph.10.79.2.9) 15641 0 R (paragraph.10.79.3.1) 15645 0 R (paragraph.10.79.3.10) 15683 0 R]
+/Limits [(paragraph.10.79.2.6) (paragraph.10.79.3.10)]
+>> endobj
+20782 0 obj <<
+/Names [(paragraph.10.79.3.11) 15690 0 R (paragraph.10.79.3.12) 15692 0 R (paragraph.10.79.3.13) 15694 0 R (paragraph.10.79.3.14) 15696 0 R (paragraph.10.79.3.15) 15698 0 R (paragraph.10.79.3.16) 15700 0 R]
+/Limits [(paragraph.10.79.3.11) (paragraph.10.79.3.16)]
+>> endobj
+20783 0 obj <<
+/Names [(paragraph.10.79.3.17) 15707 0 R (paragraph.10.79.3.18) 15709 0 R (paragraph.10.79.3.19) 15711 0 R (paragraph.10.79.3.2) 15652 0 R (paragraph.10.79.3.20) 15714 0 R (paragraph.10.79.3.21) 15717 0 R]
+/Limits [(paragraph.10.79.3.17) (paragraph.10.79.3.21)]
+>> endobj
+20784 0 obj <<
+/Names [(paragraph.10.79.3.22) 15725 0 R (paragraph.10.79.3.23) 15727 0 R (paragraph.10.79.3.24) 15730 0 R (paragraph.10.79.3.25) 15733 0 R (paragraph.10.79.3.26) 15744 0 R (paragraph.10.79.3.27) 15747 0 R]
+/Limits [(paragraph.10.79.3.22) (paragraph.10.79.3.27)]
+>> endobj
+20785 0 obj <<
+/Names [(paragraph.10.79.3.28) 15750 0 R (paragraph.10.79.3.29) 15759 0 R (paragraph.10.79.3.3) 15655 0 R (paragraph.10.79.3.30) 15761 0 R (paragraph.10.79.3.31) 15762 0 R (paragraph.10.79.3.32) 15764 0 R]
+/Limits [(paragraph.10.79.3.28) (paragraph.10.79.3.32)]
+>> endobj
+20786 0 obj <<
+/Names [(paragraph.10.79.3.33) 15766 0 R (paragraph.10.79.3.34) 15776 0 R (paragraph.10.79.3.35) 15779 0 R (paragraph.10.79.3.36) 15794 0 R (paragraph.10.79.3.37) 15798 0 R (paragraph.10.79.3.38) 15801 0 R]
+/Limits [(paragraph.10.79.3.33) (paragraph.10.79.3.38)]
+>> endobj
+20787 0 obj <<
+/Names [(paragraph.10.79.3.39) 15813 0 R (paragraph.10.79.3.4) 15657 0 R (paragraph.10.79.3.40) 15816 0 R (paragraph.10.79.3.41) 15830 0 R (paragraph.10.79.3.42) 15831 0 R (paragraph.10.79.3.43) 15834 0 R]
+/Limits [(paragraph.10.79.3.39) (paragraph.10.79.3.43)]
+>> endobj
+20788 0 obj <<
+/Names [(paragraph.10.79.3.44) 15835 0 R (paragraph.10.79.3.45) 15848 0 R (paragraph.10.79.3.46) 15863 0 R (paragraph.10.79.3.47) 15864 0 R (paragraph.10.79.3.48) 15867 0 R (paragraph.10.79.3.49) 15869 0 R]
+/Limits [(paragraph.10.79.3.44) (paragraph.10.79.3.49)]
+>> endobj
+20789 0 obj <<
+/Names [(paragraph.10.79.3.5) 15659 0 R (paragraph.10.79.3.50) 15870 0 R (paragraph.10.79.3.51) 15882 0 R (paragraph.10.79.3.6) 15667 0 R (paragraph.10.79.3.7) 15670 0 R (paragraph.10.79.3.8) 15673 0 R]
+/Limits [(paragraph.10.79.3.5) (paragraph.10.79.3.8)]
+>> endobj
+20790 0 obj <<
+/Names [(paragraph.10.79.3.9) 15681 0 R (paragraph.10.79.4.1) 15887 0 R (paragraph.10.79.4.10) 15911 0 R (paragraph.10.79.4.11) 15912 0 R (paragraph.10.79.4.12) 15913 0 R (paragraph.10.79.4.2) 15889 0 R]
+/Limits [(paragraph.10.79.3.9) (paragraph.10.79.4.2)]
+>> endobj
+20791 0 obj <<
+/Names [(paragraph.10.79.4.3) 15891 0 R (paragraph.10.79.4.4) 15892 0 R (paragraph.10.79.4.5) 15893 0 R (paragraph.10.79.4.6) 15904 0 R (paragraph.10.79.4.7) 15906 0 R (paragraph.10.79.4.8) 15908 0 R]
+/Limits [(paragraph.10.79.4.3) (paragraph.10.79.4.8)]
+>> endobj
+20792 0 obj <<
+/Names [(paragraph.10.79.4.9) 15910 0 R (paragraph.10.8.2.1) 4737 0 R (paragraph.10.8.2.10) 4767 0 R (paragraph.10.8.2.11) 4768 0 R (paragraph.10.8.2.12) 4769 0 R (paragraph.10.8.2.13) 4770 0 R]
+/Limits [(paragraph.10.79.4.9) (paragraph.10.8.2.13)]
+>> endobj
+20793 0 obj <<
+/Names [(paragraph.10.8.2.14) 4776 0 R (paragraph.10.8.2.2) 4739 0 R (paragraph.10.8.2.3) 4740 0 R (paragraph.10.8.2.4) 4749 0 R (paragraph.10.8.2.5) 4751 0 R (paragraph.10.8.2.6) 4753 0 R]
+/Limits [(paragraph.10.8.2.14) (paragraph.10.8.2.6)]
+>> endobj
+20794 0 obj <<
+/Names [(paragraph.10.8.2.7) 4755 0 R (paragraph.10.8.2.8) 4763 0 R (paragraph.10.8.2.9) 4765 0 R (paragraph.10.8.3.1) 4778 0 R (paragraph.10.8.3.10) 4809 0 R (paragraph.10.8.3.11) 4812 0 R]
+/Limits [(paragraph.10.8.2.7) (paragraph.10.8.3.11)]
+>> endobj
+20795 0 obj <<
+/Names [(paragraph.10.8.3.12) 4822 0 R (paragraph.10.8.3.13) 4824 0 R (paragraph.10.8.3.14) 4826 0 R (paragraph.10.8.3.15) 4828 0 R (paragraph.10.8.3.16) 4838 0 R (paragraph.10.8.3.17) 4841 0 R]
+/Limits [(paragraph.10.8.3.12) (paragraph.10.8.3.17)]
+>> endobj
+20796 0 obj <<
+/Names [(paragraph.10.8.3.18) 4844 0 R (paragraph.10.8.3.19) 4852 0 R (paragraph.10.8.3.2) 4780 0 R (paragraph.10.8.3.20) 4855 0 R (paragraph.10.8.3.21) 4858 0 R (paragraph.10.8.3.22) 4861 0 R]
+/Limits [(paragraph.10.8.3.18) (paragraph.10.8.3.22)]
+>> endobj
+20797 0 obj <<
+/Names [(paragraph.10.8.3.23) 4871 0 R (paragraph.10.8.3.24) 4874 0 R (paragraph.10.8.3.25) 4877 0 R (paragraph.10.8.3.26) 4888 0 R (paragraph.10.8.3.27) 4891 0 R (paragraph.10.8.3.28) 4894 0 R]
+/Limits [(paragraph.10.8.3.23) (paragraph.10.8.3.28)]
+>> endobj
+20798 0 obj <<
+/Names [(paragraph.10.8.3.29) 4904 0 R (paragraph.10.8.3.3) 4782 0 R (paragraph.10.8.3.30) 4906 0 R (paragraph.10.8.3.31) 4908 0 R (paragraph.10.8.3.32) 4910 0 R (paragraph.10.8.3.33) 4912 0 R]
+/Limits [(paragraph.10.8.3.29) (paragraph.10.8.3.33)]
+>> endobj
+20799 0 obj <<
+/Names [(paragraph.10.8.3.34) 4914 0 R (paragraph.10.8.3.35) 4924 0 R (paragraph.10.8.3.36) 4927 0 R (paragraph.10.8.3.37) 4939 0 R (paragraph.10.8.3.38) 4942 0 R (paragraph.10.8.3.39) 4945 0 R]
+/Limits [(paragraph.10.8.3.34) (paragraph.10.8.3.39)]
+>> endobj
+20800 0 obj <<
+/Names [(paragraph.10.8.3.4) 4784 0 R (paragraph.10.8.3.40) 4955 0 R (paragraph.10.8.3.41) 4958 0 R (paragraph.10.8.3.42) 4972 0 R (paragraph.10.8.3.43) 4975 0 R (paragraph.10.8.3.44) 4977 0 R]
+/Limits [(paragraph.10.8.3.4) (paragraph.10.8.3.44)]
+>> endobj
+20801 0 obj <<
+/Names [(paragraph.10.8.3.45) 4987 0 R (paragraph.10.8.3.46) 4989 0 R (paragraph.10.8.3.47) 4991 0 R (paragraph.10.8.3.48) 5004 0 R (paragraph.10.8.3.49) 5007 0 R (paragraph.10.8.3.5) 4786 0 R]
+/Limits [(paragraph.10.8.3.45) (paragraph.10.8.3.5)]
+>> endobj
+20802 0 obj <<
+/Names [(paragraph.10.8.3.50) 5010 0 R (paragraph.10.8.3.51) 5019 0 R (paragraph.10.8.3.52) 5021 0 R (paragraph.10.8.3.53) 5023 0 R (paragraph.10.8.3.54) 5036 0 R (paragraph.10.8.3.55) 5039 0 R]
+/Limits [(paragraph.10.8.3.50) (paragraph.10.8.3.55)]
+>> endobj
+20803 0 obj <<
+/Names [(paragraph.10.8.3.56) 5041 0 R (paragraph.10.8.3.57) 5054 0 R (paragraph.10.8.3.58) 5057 0 R (paragraph.10.8.3.59) 5061 0 R (paragraph.10.8.3.6) 4793 0 R (paragraph.10.8.3.60) 5068 0 R]
+/Limits [(paragraph.10.8.3.56) (paragraph.10.8.3.60)]
+>> endobj
+20804 0 obj <<
+/Names [(paragraph.10.8.3.61) 5070 0 R (paragraph.10.8.3.62) 5071 0 R (paragraph.10.8.3.63) 5077 0 R (paragraph.10.8.3.7) 4795 0 R (paragraph.10.8.3.8) 4798 0 R (paragraph.10.8.3.9) 4806 0 R]
+/Limits [(paragraph.10.8.3.61) (paragraph.10.8.3.9)]
+>> endobj
+20805 0 obj <<
+/Names [(paragraph.10.8.4.1) 5079 0 R (paragraph.10.8.4.10) 5093 0 R (paragraph.10.8.4.11) 5094 0 R (paragraph.10.8.4.12) 5100 0 R (paragraph.10.8.4.13) 5101 0 R (paragraph.10.8.4.14) 5102 0 R]
+/Limits [(paragraph.10.8.4.1) (paragraph.10.8.4.14)]
+>> endobj
+20806 0 obj <<
+/Names [(paragraph.10.8.4.15) 5103 0 R (paragraph.10.8.4.16) 5104 0 R (paragraph.10.8.4.17) 5105 0 R (paragraph.10.8.4.18) 5106 0 R (paragraph.10.8.4.19) 5107 0 R (paragraph.10.8.4.2) 5080 0 R]
+/Limits [(paragraph.10.8.4.15) (paragraph.10.8.4.2)]
+>> endobj
+20807 0 obj <<
+/Names [(paragraph.10.8.4.20) 5108 0 R (paragraph.10.8.4.21) 5126 0 R (paragraph.10.8.4.22) 5127 0 R (paragraph.10.8.4.23) 5128 0 R (paragraph.10.8.4.24) 5129 0 R (paragraph.10.8.4.3) 5081 0 R]
+/Limits [(paragraph.10.8.4.20) (paragraph.10.8.4.3)]
+>> endobj
+20808 0 obj <<
+/Names [(paragraph.10.8.4.4) 5082 0 R (paragraph.10.8.4.5) 5083 0 R (paragraph.10.8.4.6) 5084 0 R (paragraph.10.8.4.7) 5085 0 R (paragraph.10.8.4.8) 5091 0 R (paragraph.10.8.4.9) 5092 0 R]
+/Limits [(paragraph.10.8.4.4) (paragraph.10.8.4.9)]
+>> endobj
+20809 0 obj <<
+/Names [(paragraph.10.80.2.1) 15990 0 R (paragraph.10.80.2.2) 15991 0 R (paragraph.10.80.2.3) 15992 0 R (paragraph.10.80.2.4) 15994 0 R (paragraph.10.80.2.5) 15995 0 R (paragraph.10.80.2.6) 15996 0 R]
+/Limits [(paragraph.10.80.2.1) (paragraph.10.80.2.6)]
+>> endobj
+20810 0 obj <<
+/Names [(paragraph.10.80.2.7) 15997 0 R (paragraph.10.80.2.8) 15998 0 R (paragraph.10.81.2.1) 16068 0 R (paragraph.10.81.2.2) 16069 0 R (paragraph.10.81.2.3) 16070 0 R (paragraph.10.81.2.4) 16071 0 R]
+/Limits [(paragraph.10.80.2.7) (paragraph.10.81.2.4)]
+>> endobj
+20811 0 obj <<
+/Names [(paragraph.10.81.2.5) 16072 0 R (paragraph.10.81.2.6) 16073 0 R (paragraph.10.81.2.7) 16074 0 R (paragraph.10.81.2.8) 16075 0 R (paragraph.10.82.2.1) 16603 0 R (paragraph.10.82.2.2) 16605 0 R]
+/Limits [(paragraph.10.81.2.5) (paragraph.10.82.2.2)]
+>> endobj
+20812 0 obj <<
+/Names [(paragraph.10.82.2.3) 16606 0 R (paragraph.10.82.2.4) 16609 0 R (paragraph.10.82.2.5) 16617 0 R (paragraph.10.82.2.6) 16620 0 R (paragraph.10.82.2.7) 16623 0 R (paragraph.10.82.3.1) 16626 0 R]
+/Limits [(paragraph.10.82.2.3) (paragraph.10.82.3.1)]
+>> endobj
+20813 0 obj <<
+/Names [(paragraph.10.82.3.10) 16656 0 R (paragraph.10.82.3.11) 16667 0 R (paragraph.10.82.3.12) 16670 0 R (paragraph.10.82.3.13) 16678 0 R (paragraph.10.82.3.14) 16680 0 R (paragraph.10.82.3.15) 16682 0 R]
+/Limits [(paragraph.10.82.3.10) (paragraph.10.82.3.15)]
+>> endobj
+20814 0 obj <<
+/Names [(paragraph.10.82.3.16) 16684 0 R (paragraph.10.82.3.17) 16692 0 R (paragraph.10.82.3.18) 16694 0 R (paragraph.10.82.3.19) 16696 0 R (paragraph.10.82.3.2) 16633 0 R (paragraph.10.82.3.20) 16699 0 R]
+/Limits [(paragraph.10.82.3.16) (paragraph.10.82.3.20)]
+>> endobj
+20815 0 obj <<
+/Names [(paragraph.10.82.3.21) 16707 0 R (paragraph.10.82.3.22) 16710 0 R (paragraph.10.82.3.23) 16713 0 R (paragraph.10.82.3.24) 16721 0 R (paragraph.10.82.3.25) 16724 0 R (paragraph.10.82.3.26) 16726 0 R]
+/Limits [(paragraph.10.82.3.21) (paragraph.10.82.3.26)]
+>> endobj
+20816 0 obj <<
+/Names [(paragraph.10.82.3.27) 16728 0 R (paragraph.10.82.3.28) 16731 0 R (paragraph.10.82.3.29) 16739 0 R (paragraph.10.82.3.3) 16635 0 R (paragraph.10.82.3.30) 16742 0 R (paragraph.10.82.3.31) 16754 0 R]
+/Limits [(paragraph.10.82.3.27) (paragraph.10.82.3.31)]
+>> endobj
+20817 0 obj <<
+/Names [(paragraph.10.82.3.32) 16756 0 R (paragraph.10.82.3.33) 16759 0 R (paragraph.10.82.3.34) 16762 0 R (paragraph.10.82.3.35) 16764 0 R (paragraph.10.82.3.36) 16775 0 R (paragraph.10.82.3.37) 16777 0 R]
+/Limits [(paragraph.10.82.3.32) (paragraph.10.82.3.37)]
+>> endobj
+20818 0 obj <<
+/Names [(paragraph.10.82.3.38) 16779 0 R (paragraph.10.82.3.39) 16782 0 R (paragraph.10.82.3.4) 16637 0 R (paragraph.10.82.3.40) 16794 0 R (paragraph.10.82.3.41) 16797 0 R (paragraph.10.82.3.42) 16801 0 R]
+/Limits [(paragraph.10.82.3.38) (paragraph.10.82.3.42)]
+>> endobj
+20819 0 obj <<
+/Names [(paragraph.10.82.3.43) 16814 0 R (paragraph.10.82.3.44) 16817 0 R (paragraph.10.82.3.45) 16829 0 R (paragraph.10.82.3.46) 16832 0 R (paragraph.10.82.3.47) 16835 0 R (paragraph.10.82.3.48) 16845 0 R]
+/Limits [(paragraph.10.82.3.43) (paragraph.10.82.3.48)]
+>> endobj
+20820 0 obj <<
+/Names [(paragraph.10.82.3.49) 16848 0 R (paragraph.10.82.3.5) 16639 0 R (paragraph.10.82.3.50) 16850 0 R (paragraph.10.82.3.51) 16866 0 R (paragraph.10.82.3.52) 16869 0 R (paragraph.10.82.3.53) 16873 0 R]
+/Limits [(paragraph.10.82.3.49) (paragraph.10.82.3.53)]
+>> endobj
+20821 0 obj <<
+/Names [(paragraph.10.82.3.54) 16889 0 R (paragraph.10.82.3.55) 16892 0 R (paragraph.10.82.3.56) 16896 0 R (paragraph.10.82.3.57) 16906 0 R (paragraph.10.82.3.58) 16909 0 R (paragraph.10.82.3.59) 16923 0 R]
+/Limits [(paragraph.10.82.3.54) (paragraph.10.82.3.59)]
+>> endobj
+20822 0 obj <<
+/Names [(paragraph.10.82.3.6) 16641 0 R (paragraph.10.82.3.60) 16925 0 R (paragraph.10.82.3.61) 16928 0 R (paragraph.10.82.3.62) 16930 0 R (paragraph.10.82.3.63) 16945 0 R (paragraph.10.82.3.64) 16948 0 R]
+/Limits [(paragraph.10.82.3.6) (paragraph.10.82.3.64)]
+>> endobj
+20823 0 obj <<
+/Names [(paragraph.10.82.3.65) 16952 0 R (paragraph.10.82.3.66) 16960 0 R (paragraph.10.82.3.67) 16961 0 R (paragraph.10.82.3.68) 16963 0 R (paragraph.10.82.3.69) 16965 0 R (paragraph.10.82.3.7) 16643 0 R]
+/Limits [(paragraph.10.82.3.65) (paragraph.10.82.3.7)]
+>> endobj
+20824 0 obj <<
+/Names [(paragraph.10.82.3.70) 16973 0 R (paragraph.10.82.3.8) 16650 0 R (paragraph.10.82.3.9) 16653 0 R (paragraph.10.82.4.1) 16976 0 R (paragraph.10.82.4.2) 16977 0 R (paragraph.10.82.4.3) 16978 0 R]
+/Limits [(paragraph.10.82.3.70) (paragraph.10.82.4.3)]
+>> endobj
+20825 0 obj <<
+/Names [(paragraph.10.82.4.4) 17001 0 R (paragraph.10.82.4.5) 17002 0 R (paragraph.10.82.4.6) 17003 0 R (paragraph.10.83.2.1) 17193 0 R (paragraph.10.83.2.2) 17194 0 R (paragraph.10.83.3.1) 17197 0 R]
+/Limits [(paragraph.10.82.4.4) (paragraph.10.83.3.1)]
+>> endobj
+20826 0 obj <<
+/Names [(paragraph.10.83.3.2) 17198 0 R (paragraph.10.83.3.3) 17199 0 R (paragraph.10.83.3.4) 17201 0 R (paragraph.10.83.3.5) 17202 0 R (paragraph.10.83.3.6) 17208 0 R (paragraph.10.83.4.1) 17210 0 R]
+/Limits [(paragraph.10.83.3.2) (paragraph.10.83.4.1)]
+>> endobj
+20827 0 obj <<
+/Names [(paragraph.10.83.4.2) 17211 0 R (paragraph.10.83.4.3) 17212 0 R (paragraph.10.83.4.4) 17213 0 R (paragraph.10.83.4.5) 17214 0 R (paragraph.10.83.4.6) 17215 0 R (paragraph.10.83.4.7) 17216 0 R]
+/Limits [(paragraph.10.83.4.2) (paragraph.10.83.4.7)]
+>> endobj
+20828 0 obj <<
+/Names [(paragraph.10.83.4.8) 17217 0 R (paragraph.10.85.2.1) 17244 0 R (paragraph.10.86.2.1) 17253 0 R (paragraph.10.87.2.1) 17337 0 R (paragraph.10.87.3.1) 17348 0 R (paragraph.10.87.3.2) 17349 0 R]
+/Limits [(paragraph.10.83.4.8) (paragraph.10.87.3.2)]
+>> endobj
+20829 0 obj <<
+/Names [(paragraph.10.9.2.1) 5222 0 R (paragraph.10.9.2.10) 5256 0 R (paragraph.10.9.2.11) 5263 0 R (paragraph.10.9.2.12) 5265 0 R (paragraph.10.9.2.13) 5267 0 R (paragraph.10.9.2.2) 5225 0 R]
+/Limits [(paragraph.10.9.2.1) (paragraph.10.9.2.2)]
+>> endobj
+20830 0 obj <<
+/Names [(paragraph.10.9.2.3) 5233 0 R (paragraph.10.9.2.4) 5236 0 R (paragraph.10.9.2.5) 5239 0 R (paragraph.10.9.2.6) 5247 0 R (paragraph.10.9.2.7) 5249 0 R (paragraph.10.9.2.8) 5251 0 R]
+/Limits [(paragraph.10.9.2.3) (paragraph.10.9.2.8)]
+>> endobj
+20831 0 obj <<
+/Names [(paragraph.10.9.2.9) 5253 0 R (paragraph.10.9.3.1) 5269 0 R (paragraph.10.93.2.1) 17473 0 R (paragraph.10.93.3.1) 17476 0 R (paragraph.10.93.4.1) 17478 0 R (paragraph.10.93.4.2) 17479 0 R]
+/Limits [(paragraph.10.9.2.9) (paragraph.10.93.4.2)]
+>> endobj
+20832 0 obj <<
+/Names [(paragraph.10.93.4.3) 17480 0 R (paragraph.10.93.4.4) 17481 0 R (paragraph.10.94.2.1) 17566 0 R (paragraph.10.94.2.2) 17568 0 R (paragraph.10.94.3.1) 17571 0 R (paragraph.10.94.3.2) 17602 0 R]
+/Limits [(paragraph.10.93.4.3) (paragraph.10.94.3.2)]
+>> endobj
+20833 0 obj <<
+/Names [(paragraph.10.95.2.1) 17630 0 R (paragraph.10.95.3.1) 17633 0 R (paragraph.8.1.2.1) 2396 0 R (paragraph.8.1.2.2) 2397 0 R (paragraph.8.1.2.3) 2398 0 R (paragraph.8.1.2.4) 2399 0 R]
+/Limits [(paragraph.10.95.2.1) (paragraph.8.1.2.4)]
+>> endobj
+20834 0 obj <<
+/Names [(paragraph.8.1.3.1) 2401 0 R (paragraph.8.1.3.2) 2402 0 R (paragraph.8.1.3.3) 2403 0 R (paragraph.8.1.4.1) 2410 0 R (paragraph.8.1.4.10) 2432 0 R (paragraph.8.1.4.11) 2441 0 R]
+/Limits [(paragraph.8.1.3.1) (paragraph.8.1.4.11)]
+>> endobj
+20835 0 obj <<
+/Names [(paragraph.8.1.4.12) 2442 0 R (paragraph.8.1.4.13) 2443 0 R (paragraph.8.1.4.2) 2411 0 R (paragraph.8.1.4.3) 2418 0 R (paragraph.8.1.4.4) 2419 0 R (paragraph.8.1.4.5) 2420 0 R]
+/Limits [(paragraph.8.1.4.12) (paragraph.8.1.4.5)]
+>> endobj
+20836 0 obj <<
+/Names [(paragraph.8.1.4.6) 2421 0 R (paragraph.8.1.4.7) 2429 0 R (paragraph.8.1.4.8) 2430 0 R (paragraph.8.1.4.9) 2431 0 R (paragraph.8.1.5.1) 2445 0 R (paragraph.8.1.5.10) 2461 0 R]
+/Limits [(paragraph.8.1.4.6) (paragraph.8.1.5.10)]
+>> endobj
+20837 0 obj <<
+/Names [(paragraph.8.1.5.11) 2462 0 R (paragraph.8.1.5.12) 2463 0 R (paragraph.8.1.5.13) 2464 0 R (paragraph.8.1.5.14) 2465 0 R (paragraph.8.1.5.15) 2466 0 R (paragraph.8.1.5.16) 2467 0 R]
+/Limits [(paragraph.8.1.5.11) (paragraph.8.1.5.16)]
+>> endobj
+20838 0 obj <<
+/Names [(paragraph.8.1.5.17) 2468 0 R (paragraph.8.1.5.18) 2469 0 R (paragraph.8.1.5.19) 2470 0 R (paragraph.8.1.5.2) 2447 0 R (paragraph.8.1.5.20) 2471 0 R (paragraph.8.1.5.21) 2482 0 R]
+/Limits [(paragraph.8.1.5.17) (paragraph.8.1.5.21)]
+>> endobj
+20839 0 obj <<
+/Names [(paragraph.8.1.5.22) 2491 0 R (paragraph.8.1.5.23) 2494 0 R (paragraph.8.1.5.24) 2504 0 R (paragraph.8.1.5.25) 2514 0 R (paragraph.8.1.5.26) 2518 0 R (paragraph.8.1.5.27) 2527 0 R]
+/Limits [(paragraph.8.1.5.22) (paragraph.8.1.5.27)]
+>> endobj
+20840 0 obj <<
+/Names [(paragraph.8.1.5.3) 2454 0 R (paragraph.8.1.5.4) 2455 0 R (paragraph.8.1.5.5) 2456 0 R (paragraph.8.1.5.6) 2457 0 R (paragraph.8.1.5.7) 2458 0 R (paragraph.8.1.5.8) 2459 0 R]
+/Limits [(paragraph.8.1.5.3) (paragraph.8.1.5.8)]
+>> endobj
+20841 0 obj <<
+/Names [(paragraph.8.1.5.9) 2460 0 R (paragraph.8.1.6.1) 2537 0 R (paragraph.9.1.2.1) 2953 0 R (paragraph.9.1.2.2) 2954 0 R (paragraph.9.1.2.3) 2955 0 R (paragraph.9.1.3.1) 2957 0 R]
+/Limits [(paragraph.8.1.5.9) (paragraph.9.1.3.1)]
+>> endobj
+20842 0 obj <<
+/Names [(paragraph.9.1.3.2) 2958 0 R (paragraph.9.1.4.1) 2968 0 R (paragraph.9.1.4.2) 2969 0 R (paragraph.9.1.4.3) 2970 0 R (paragraph.9.1.4.4) 2972 0 R (paragraph.9.1.4.5) 2974 0 R]
+/Limits [(paragraph.9.1.3.2) (paragraph.9.1.4.5)]
+>> endobj
+20843 0 obj <<
+/Names [(paragraph.9.2.2.1) 2985 0 R (section*.1) 1444 0 R (section*.10) 1474 0 R (section*.100) 7103 0 R (section*.101) 7106 0 R (section*.102) 7108 0 R]
+/Limits [(paragraph.9.2.2.1) (section*.102)]
+>> endobj
+20844 0 obj <<
+/Names [(section*.103) 7181 0 R (section*.104) 7182 0 R (section*.105) 7258 0 R (section*.106) 7344 0 R (section*.107) 7345 0 R (section*.108) 7652 0 R]
+/Limits [(section*.103) (section*.108)]
+>> endobj
+20845 0 obj <<
+/Names [(section*.109) 7717 0 R (section*.11) 1480 0 R (section*.110) 7722 0 R (section*.111) 7764 0 R (section*.112) 7787 0 R (section*.113) 7791 0 R]
+/Limits [(section*.109) (section*.113)]
+>> endobj
+20846 0 obj <<
+/Names [(section*.114) 7825 0 R (section*.115) 7881 0 R (section*.116) 7884 0 R (section*.117) 7906 0 R (section*.118) 7950 0 R (section*.119) 7956 0 R]
+/Limits [(section*.114) (section*.119)]
+>> endobj
+20847 0 obj <<
+/Names [(section*.12) 1486 0 R (section*.120) 7981 0 R (section*.121) 7984 0 R (section*.122) 7986 0 R (section*.123) 8035 0 R (section*.124) 8066 0 R]
+/Limits [(section*.12) (section*.124)]
+>> endobj
+20848 0 obj <<
+/Names [(section*.125) 8070 0 R (section*.126) 8073 0 R (section*.127) 8075 0 R (section*.128) 8106 0 R (section*.129) 8123 0 R (section*.13) 1487 0 R]
+/Limits [(section*.125) (section*.13)]
+>> endobj
+20849 0 obj <<
+/Names [(section*.130) 8166 0 R (section*.131) 8169 0 R (section*.132) 8219 0 R (section*.133) 8221 0 R (section*.134) 8222 0 R (section*.135) 8240 0 R]
+/Limits [(section*.130) (section*.135)]
+>> endobj
+20850 0 obj <<
+/Names [(section*.136) 8244 0 R (section*.137) 8247 0 R (section*.138) 8263 0 R (section*.139) 8298 0 R (section*.14) 1488 0 R (section*.140) 8301 0 R]
+/Limits [(section*.136) (section*.140)]
+>> endobj
+20851 0 obj <<
+/Names [(section*.141) 8302 0 R (section*.142) 8304 0 R (section*.143) 8383 0 R (section*.144) 8400 0 R (section*.145) 8433 0 R (section*.146) 8434 0 R]
+/Limits [(section*.141) (section*.146)]
+>> endobj
+20852 0 obj <<
+/Names [(section*.147) 8587 0 R (section*.148) 8684 0 R (section*.149) 8685 0 R (section*.15) 1495 0 R (section*.150) 9043 0 R (section*.151) 9107 0 R]
+/Limits [(section*.147) (section*.151)]
+>> endobj
+20853 0 obj <<
+/Names [(section*.152) 9131 0 R (section*.153) 9178 0 R (section*.154) 9228 0 R (section*.155) 9358 0 R (section*.156) 9360 0 R (section*.157) 9745 0 R]
+/Limits [(section*.152) (section*.157)]
+>> endobj
+20854 0 obj <<
+/Names [(section*.158) 9749 0 R (section*.159) 10182 0 R (section*.16) 1496 0 R (section*.160) 10183 0 R (section*.161) 10236 0 R (section*.162) 10237 0 R]
+/Limits [(section*.158) (section*.162)]
+>> endobj
+20855 0 obj <<
+/Names [(section*.163) 10382 0 R (section*.164) 10391 0 R (section*.165) 10392 0 R (section*.166) 10682 0 R (section*.167) 10683 0 R (section*.168) 10757 0 R]
+/Limits [(section*.163) (section*.168)]
+>> endobj
+20856 0 obj <<
+/Names [(section*.169) 10762 0 R (section*.17) 1497 0 R (section*.170) 10814 0 R (section*.171) 10815 0 R (section*.172) 10849 0 R (section*.173) 10870 0 R]
+/Limits [(section*.169) (section*.173)]
+>> endobj
+20857 0 obj <<
+/Names [(section*.174) 10874 0 R (section*.175) 10893 0 R (section*.176) 10922 0 R (section*.177) 10923 0 R (section*.178) 10951 0 R (section*.179) 10967 0 R]
+/Limits [(section*.174) (section*.179)]
+>> endobj
+20858 0 obj <<
+/Names [(section*.18) 1503 0 R (section*.180) 11019 0 R (section*.181) 11112 0 R (section*.182) 11113 0 R (section*.183) 11279 0 R (section*.184) 11379 0 R]
+/Limits [(section*.18) (section*.184)]
+>> endobj
+20859 0 obj <<
+/Names [(section*.185) 11733 0 R (section*.186) 11799 0 R (section*.187) 11801 0 R (section*.188) 12025 0 R (section*.189) 12155 0 R (section*.19) 1504 0 R]
+/Limits [(section*.185) (section*.19)]
+>> endobj
+20860 0 obj <<
+/Names [(section*.190) 12156 0 R (section*.191) 12221 0 R (section*.192) 12296 0 R (section*.193) 12318 0 R (section*.194) 12433 0 R (section*.195) 12437 0 R]
+/Limits [(section*.190) (section*.195)]
+>> endobj
+20861 0 obj <<
+/Names [(section*.196) 12461 0 R (section*.197) 12464 0 R (section*.198) 12466 0 R (section*.199) 12500 0 R (section*.2) 1451 0 R (section*.20) 1505 0 R]
+/Limits [(section*.196) (section*.20)]
+>> endobj
+20862 0 obj <<
+/Names [(section*.200) 12595 0 R (section*.201) 12659 0 R (section*.202) 12663 0 R (section*.203) 12667 0 R (section*.204) 12725 0 R (section*.205) 13125 0 R]
+/Limits [(section*.200) (section*.205)]
+>> endobj
+20863 0 obj <<
+/Names [(section*.206) 13129 0 R (section*.207) 13248 0 R (section*.208) 13690 0 R (section*.209) 13694 0 R (section*.21) 1506 0 R (section*.210) 13697 0 R]
+/Limits [(section*.206) (section*.210)]
+>> endobj
+20864 0 obj <<
+/Names [(section*.211) 13699 0 R (section*.212) 13766 0 R (section*.213) 14074 0 R (section*.214) 14076 0 R (section*.215) 14118 0 R (section*.216) 14122 0 R]
+/Limits [(section*.211) (section*.216)]
+>> endobj
+20865 0 obj <<
+/Names [(section*.217) 14126 0 R (section*.218) 14148 0 R (section*.219) 14482 0 R (section*.22) 1545 0 R (section*.220) 14490 0 R (section*.221) 14529 0 R]
+/Limits [(section*.217) (section*.221)]
+>> endobj
+20866 0 obj <<
+/Names [(section*.222) 14532 0 R (section*.223) 14542 0 R (section*.224) 14571 0 R (section*.225) 14628 0 R (section*.226) 14634 0 R (section*.227) 14636 0 R]
+/Limits [(section*.222) (section*.227)]
+>> endobj
+20867 0 obj <<
+/Names [(section*.228) 14639 0 R (section*.229) 14756 0 R (section*.23) 1989 0 R (section*.230) 14758 0 R (section*.231) 14909 0 R (section*.232) 14910 0 R]
+/Limits [(section*.228) (section*.232)]
+>> endobj
+20868 0 obj <<
+/Names [(section*.233) 14965 0 R (section*.234) 14974 0 R (section*.235) 15023 0 R (section*.236) 15024 0 R (section*.237) 15026 0 R (section*.238) 15091 0 R]
+/Limits [(section*.233) (section*.238)]
+>> endobj
+20869 0 obj <<
+/Names [(section*.239) 15092 0 R (section*.24) 1990 0 R (section*.240) 15125 0 R (section*.241) 15128 0 R (section*.242) 15133 0 R (section*.243) 15242 0 R]
+/Limits [(section*.239) (section*.243)]
+>> endobj
+20870 0 obj <<
+/Names [(section*.244) 15543 0 R (section*.245) 15545 0 R (section*.246) 15596 0 R (section*.247) 15598 0 R (section*.248) 15950 0 R (section*.249) 15956 0 R]
+/Limits [(section*.244) (section*.249)]
+>> endobj
+20871 0 obj <<
+/Names [(section*.25) 2111 0 R (section*.250) 15962 0 R (section*.251) 16044 0 R (section*.252) 16050 0 R (section*.253) 16053 0 R (section*.254) 16111 0 R]
+/Limits [(section*.25) (section*.254)]
+>> endobj
+20872 0 obj <<
+/Names [(section*.255) 16113 0 R (section*.256) 16509 0 R (section*.257) 16515 0 R (section*.258) 16568 0 R (section*.259) 16569 0 R (section*.26) 2113 0 R]
+/Limits [(section*.255) (section*.26)]
+>> endobj
+20873 0 obj <<
+/Names [(section*.260) 17004 0 R (section*.261) 17008 0 R (section*.262) 17115 0 R (section*.263) 17118 0 R (section*.264) 17156 0 R (section*.265) 17159 0 R]
+/Limits [(section*.260) (section*.265)]
+>> endobj
+20874 0 obj <<
+/Names [(section*.266) 17161 0 R (section*.267) 17228 0 R (section*.268) 17232 0 R (section*.269) 17246 0 R (section*.27) 2114 0 R (section*.270) 17250 0 R]
+/Limits [(section*.266) (section*.270)]
+>> endobj
+20875 0 obj <<
+/Names [(section*.271) 17277 0 R (section*.272) 17315 0 R (section*.273) 17319 0 R (section*.274) 17322 0 R (section*.275) 17324 0 R (section*.276) 17351 0 R]
+/Limits [(section*.271) (section*.276)]
+>> endobj
+20876 0 obj <<
+/Names [(section*.277) 17353 0 R (section*.278) 17375 0 R (section*.279) 17398 0 R (section*.28) 2316 0 R (section*.280) 17402 0 R (section*.281) 17403 0 R]
+/Limits [(section*.277) (section*.281)]
+>> endobj
+20877 0 obj <<
+/Names [(section*.282) 17442 0 R (section*.283) 17444 0 R (section*.284) 17450 0 R (section*.285) 17453 0 R (section*.286) 17515 0 R (section*.287) 17547 0 R]
+/Limits [(section*.282) (section*.287)]
+>> endobj
+20878 0 obj <<
+/Names [(section*.288) 17551 0 R (section*.289) 17554 0 R (section*.29) 2317 0 R (section*.290) 17556 0 R (section*.291) 17603 0 R (section*.292) 17615 0 R]
+/Limits [(section*.288) (section*.292)]
+>> endobj
+20879 0 obj <<
+/Names [(section*.293) 17627 0 R (section*.294) 17634 0 R (section*.295) 17637 0 R (section*.296) 17719 0 R (section*.3) 1452 0 R (section*.30) 2318 0 R]
+/Limits [(section*.293) (section*.30)]
+>> endobj
+20880 0 obj <<
+/Names [(section*.31) 2319 0 R (section*.32) 2560 0 R (section*.33) 2561 0 R (section*.34) 2658 0 R (section*.35) 2750 0 R (section*.36) 2814 0 R]
+/Limits [(section*.31) (section*.36)]
+>> endobj
+20881 0 obj <<
+/Names [(section*.37) 2938 0 R (section*.38) 2975 0 R (section*.39) 2998 0 R (section*.4) 1453 0 R (section*.40) 3027 0 R (section*.41) 3065 0 R]
+/Limits [(section*.37) (section*.41)]
+>> endobj
+20882 0 obj <<
+/Names [(section*.42) 3066 0 R (section*.43) 3098 0 R (section*.44) 3101 0 R (section*.45) 3502 0 R (section*.46) 3573 0 R (section*.47) 3695 0 R]
+/Limits [(section*.42) (section*.47)]
+>> endobj
+20883 0 obj <<
+/Names [(section*.48) 4132 0 R (section*.49) 4133 0 R (section*.5) 1459 0 R (section*.50) 4156 0 R (section*.51) 4161 0 R (section*.52) 4162 0 R]
+/Limits [(section*.48) (section*.52)]
+>> endobj
+20884 0 obj <<
+/Names [(section*.53) 4225 0 R (section*.54) 4620 0 R (section*.55) 4624 0 R (section*.56) 4735 0 R (section*.57) 5130 0 R (section*.58) 5219 0 R]
+/Limits [(section*.53) (section*.58)]
+>> endobj
+20885 0 obj <<
+/Names [(section*.59) 5297 0 R (section*.6) 1460 0 R (section*.60) 5301 0 R (section*.61) 5331 0 R (section*.62) 5334 0 R (section*.63) 5336 0 R]
+/Limits [(section*.59) (section*.63)]
+>> endobj
+20886 0 obj <<
+/Names [(section*.64) 5379 0 R (section*.65) 5380 0 R (section*.66) 5592 0 R (section*.67) 5806 0 R (section*.68) 5923 0 R (section*.69) 5926 0 R]
+/Limits [(section*.64) (section*.69)]
+>> endobj
+20887 0 obj <<
+/Names [(section*.7) 1461 0 R (section*.70) 5943 0 R (section*.71) 5946 0 R (section*.72) 5991 0 R (section*.73) 6083 0 R (section*.74) 6090 0 R]
+/Limits [(section*.7) (section*.74)]
+>> endobj
+20888 0 obj <<
+/Names [(section*.75) 6091 0 R (section*.76) 6111 0 R (section*.77) 6167 0 R (section*.78) 6168 0 R (section*.79) 6257 0 R (section*.8) 1467 0 R]
+/Limits [(section*.75) (section*.8)]
+>> endobj
+20889 0 obj <<
+/Names [(section*.80) 6342 0 R (section*.81) 6343 0 R (section*.82) 6475 0 R (section*.83) 6476 0 R (section*.84) 6597 0 R (section*.85) 6602 0 R]
+/Limits [(section*.80) (section*.85)]
+>> endobj
+20890 0 obj <<
+/Names [(section*.86) 6604 0 R (section*.87) 6660 0 R (section*.88) 6664 0 R (section*.89) 6708 0 R (section*.9) 1468 0 R (section*.90) 6779 0 R]
+/Limits [(section*.86) (section*.90)]
+>> endobj
+20891 0 obj <<
+/Names [(section*.91) 6791 0 R (section*.92) 6832 0 R (section*.93) 6834 0 R (section*.94) 6884 0 R (section*.95) 6928 0 R (section*.96) 6994 0 R]
+/Limits [(section*.91) (section*.96)]
+>> endobj
+20892 0 obj <<
+/Names [(section*.97) 7019 0 R (section*.98) 7060 0 R (section*.99) 7098 0 R (section.1) 2 0 R (section.10) 134 0 R (section.2) 70 0 R]
+/Limits [(section*.97) (section.2)]
+>> endobj
+20893 0 obj <<
+/Names [(section.3) 74 0 R (section.4) 78 0 R (section.5) 86 0 R (section.6) 94 0 R (section.7) 102 0 R (section.8) 110 0 R]
+/Limits [(section.3) (section.8)]
+>> endobj
+20894 0 obj <<
+/Names [(section.9) 118 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) 1724 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_a98c515b16e12424b273eaff073b31f3b) 5924 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) 1726 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_a92edb0b8b1e2097c5d20795e576517cf) 5944 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) 1725 0 R]
+/Limits [(section.9) (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare)]
+>> endobj
+20895 0 obj <<
+/Names [(structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) 5927 0 R (structParma__Polyhedra__Library_1_1PIP__Solution__Node_1_1No__Constraints) 1902 0 R (structParma__Polyhedra__Library_1_1Recycle__Input) 1955 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare) 1727 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare_af6c069432956f215967c61be24a40939) 5947 0 R (subsection.1.1) 6 0 R]
+/Limits [(structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_abf5e694ab674c48a452893f021986318) (subsection.1.1)]
+>> endobj
+20896 0 obj <<
+/Names [(subsection.1.10) 42 0 R (subsection.1.11) 46 0 R (subsection.1.12) 50 0 R (subsection.1.13) 54 0 R (subsection.1.14) 58 0 R (subsection.1.15) 62 0 R]
+/Limits [(subsection.1.10) (subsection.1.15)]
+>> endobj
+20897 0 obj <<
+/Names [(subsection.1.16) 66 0 R (subsection.1.2) 10 0 R (subsection.1.3) 14 0 R (subsection.1.4) 18 0 R (subsection.1.5) 22 0 R (subsection.1.6) 26 0 R]
+/Limits [(subsection.1.16) (subsection.1.6)]
+>> endobj
+20898 0 obj <<
+/Names [(subsection.1.7) 30 0 R (subsection.1.8) 34 0 R (subsection.1.9) 38 0 R (subsection.10.1) 138 0 R (subsection.10.10) 174 0 R (subsection.10.11) 178 0 R]
+/Limits [(subsection.1.7) (subsection.10.11)]
+>> endobj
+20899 0 obj <<
+/Names [(subsection.10.12) 182 0 R (subsection.10.13) 186 0 R (subsection.10.14) 190 0 R (subsection.10.15) 194 0 R (subsection.10.16) 198 0 R (subsection.10.17) 202 0 R]
+/Limits [(subsection.10.12) (subsection.10.17)]
+>> endobj
+20900 0 obj <<
+/Names [(subsection.10.18) 206 0 R (subsection.10.19) 210 0 R (subsection.10.2) 142 0 R (subsection.10.20) 214 0 R (subsection.10.21) 218 0 R (subsection.10.22) 222 0 R]
+/Limits [(subsection.10.18) (subsection.10.22)]
+>> endobj
+20901 0 obj <<
+/Names [(subsection.10.23) 226 0 R (subsection.10.24) 230 0 R (subsection.10.25) 234 0 R (subsection.10.26) 238 0 R (subsection.10.27) 242 0 R (subsection.10.28) 246 0 R]
+/Limits [(subsection.10.23) (subsection.10.28)]
+>> endobj
+20902 0 obj <<
+/Names [(subsection.10.29) 250 0 R (subsection.10.3) 146 0 R (subsection.10.30) 254 0 R (subsection.10.31) 258 0 R (subsection.10.32) 262 0 R (subsection.10.33) 266 0 R]
+/Limits [(subsection.10.29) (subsection.10.33)]
+>> endobj
+20903 0 obj <<
+/Names [(subsection.10.34) 270 0 R (subsection.10.35) 274 0 R (subsection.10.36) 278 0 R (subsection.10.37) 282 0 R (subsection.10.38) 286 0 R (subsection.10.39) 290 0 R]
+/Limits [(subsection.10.34) (subsection.10.39)]
+>> endobj
+20904 0 obj <<
+/Names [(subsection.10.4) 150 0 R (subsection.10.40) 294 0 R (subsection.10.41) 298 0 R (subsection.10.42) 302 0 R (subsection.10.43) 306 0 R (subsection.10.44) 310 0 R]
+/Limits [(subsection.10.4) (subsection.10.44)]
+>> endobj
+20905 0 obj <<
+/Names [(subsection.10.45) 314 0 R (subsection.10.46) 318 0 R (subsection.10.47) 322 0 R (subsection.10.48) 326 0 R (subsection.10.49) 330 0 R (subsection.10.5) 154 0 R]
+/Limits [(subsection.10.45) (subsection.10.5)]
+>> endobj
+20906 0 obj <<
+/Names [(subsection.10.50) 334 0 R (subsection.10.51) 338 0 R (subsection.10.52) 342 0 R (subsection.10.53) 346 0 R (subsection.10.54) 350 0 R (subsection.10.55) 354 0 R]
+/Limits [(subsection.10.50) (subsection.10.55)]
+>> endobj
+20907 0 obj <<
+/Names [(subsection.10.56) 358 0 R (subsection.10.57) 362 0 R (subsection.10.58) 366 0 R (subsection.10.59) 370 0 R (subsection.10.6) 158 0 R (subsection.10.60) 374 0 R]
+/Limits [(subsection.10.56) (subsection.10.60)]
+>> endobj
+20908 0 obj <<
+/Names [(subsection.10.61) 378 0 R (subsection.10.62) 382 0 R (subsection.10.63) 386 0 R (subsection.10.64) 390 0 R (subsection.10.65) 394 0 R (subsection.10.66) 398 0 R]
+/Limits [(subsection.10.61) (subsection.10.66)]
+>> endobj
+20909 0 obj <<
+/Names [(subsection.10.67) 402 0 R (subsection.10.68) 406 0 R (subsection.10.69) 410 0 R (subsection.10.7) 162 0 R (subsection.10.70) 414 0 R (subsection.10.71) 418 0 R]
+/Limits [(subsection.10.67) (subsection.10.71)]
+>> endobj
+20910 0 obj <<
+/Names [(subsection.10.72) 422 0 R (subsection.10.73) 426 0 R (subsection.10.74) 430 0 R (subsection.10.75) 434 0 R (subsection.10.76) 438 0 R (subsection.10.77) 442 0 R]
+/Limits [(subsection.10.72) (subsection.10.77)]
+>> endobj
+20911 0 obj <<
+/Names [(subsection.10.78) 446 0 R (subsection.10.79) 450 0 R (subsection.10.8) 166 0 R (subsection.10.80) 454 0 R (subsection.10.81) 458 0 R (subsection.10.82) 462 0 R]
+/Limits [(subsection.10.78) (subsection.10.82)]
+>> endobj
+20912 0 obj <<
+/Names [(subsection.10.83) 466 0 R (subsection.10.84) 470 0 R (subsection.10.85) 474 0 R (subsection.10.86) 478 0 R (subsection.10.87) 482 0 R (subsection.10.88) 486 0 R]
+/Limits [(subsection.10.83) (subsection.10.88)]
+>> endobj
+20913 0 obj <<
+/Names [(subsection.10.89) 490 0 R (subsection.10.9) 170 0 R (subsection.10.90) 494 0 R (subsection.10.91) 498 0 R (subsection.10.92) 502 0 R (subsection.10.93) 506 0 R]
+/Limits [(subsection.10.89) (subsection.10.93)]
+>> endobj
+20914 0 obj <<
+/Names [(subsection.10.94) 510 0 R (subsection.10.95) 514 0 R (subsection.10.96) 518 0 R (subsection.4.1) 82 0 R (subsection.5.1) 90 0 R (subsection.6.1) 98 0 R]
+/Limits [(subsection.10.94) (subsection.6.1)]
+>> endobj
+20915 0 obj <<
+/Names [(subsection.7.1) 106 0 R (subsection.8.1) 114 0 R (subsection.9.1) 122 0 R (subsection.9.2) 126 0 R (subsection.9.3) 130 0 R (subsubsection.1.1.1) 762 0 R]
+/Limits [(subsection.7.1) (subsubsection.1.1.1)]
+>> endobj
+20916 0 obj <<
+/Names [(subsubsection.1.1.2) 781 0 R (subsubsection.1.1.3) 806 0 R (subsubsection.1.10.1) 1102 0 R (subsubsection.1.10.2) 1104 0 R (subsubsection.1.10.3) 1106 0 R (subsubsection.1.10.4) 1114 0 R]
+/Limits [(subsubsection.1.1.2) (subsubsection.1.10.4)]
+>> endobj
+20917 0 obj <<
+/Names [(subsubsection.1.10.5) 1116 0 R (subsubsection.1.10.6) 1126 0 R (subsubsection.1.10.7) 1128 0 R (subsubsection.1.10.8) 1130 0 R (subsubsection.1.10.9) 1132 0 R (subsubsection.1.11.1) 1144 0 R]
+/Limits [(subsubsection.1.10.5) (subsubsection.1.11.1)]
+>> endobj
+20918 0 obj <<
+/Names [(subsubsection.1.12.1) 1160 0 R (subsubsection.1.12.2) 1163 0 R (subsubsection.1.12.3) 1166 0 R (subsubsection.1.13.1) 1170 0 R (subsubsection.1.13.2) 1188 0 R (subsubsection.1.13.3) 1191 0 R]
+/Limits [(subsubsection.1.12.1) (subsubsection.1.13.3)]
+>> endobj
+20919 0 obj <<
+/Names [(subsubsection.1.13.4) 1194 0 R (subsubsection.1.13.5) 1198 0 R (subsubsection.1.14.1) 1225 0 R (subsubsection.1.14.2) 1250 0 R (subsubsection.1.15.1) 1259 0 R (subsubsection.1.15.2) 1261 0 R]
+/Limits [(subsubsection.1.13.4) (subsubsection.1.15.2)]
+>> endobj
+20920 0 obj <<
+/Names [(subsubsection.1.15.3) 1263 0 R (subsubsection.1.15.4) 1270 0 R (subsubsection.1.3.1) 830 0 R (subsubsection.1.3.2) 832 0 R (subsubsection.1.4.1) 849 0 R (subsubsection.1.4.2) 865 0 R]
+/Limits [(subsubsection.1.15.3) (subsubsection.1.4.2)]
+>> endobj
+20921 0 obj <<
+/Names [(subsubsection.1.4.3) 867 0 R (subsubsection.1.4.4) 875 0 R (subsubsection.1.5.1) 878 0 R (subsubsection.1.5.10) 912 0 R (subsubsection.1.5.2) 881 0 R (subsubsection.1.5.3) 888 0 R]
+/Limits [(subsubsection.1.4.3) (subsubsection.1.5.3)]
+>> endobj
+20922 0 obj <<
+/Names [(subsubsection.1.5.4) 890 0 R (subsubsection.1.5.5) 892 0 R (subsubsection.1.5.6) 894 0 R (subsubsection.1.5.7) 900 0 R (subsubsection.1.5.8) 902 0 R (subsubsection.1.5.9) 910 0 R]
+/Limits [(subsubsection.1.5.4) (subsubsection.1.5.9)]
+>> endobj
+20923 0 obj <<
+/Names [(subsubsection.1.6.1) 915 0 R (subsubsection.1.6.10) 956 0 R (subsubsection.1.6.11) 963 0 R (subsubsection.1.6.12) 965 0 R (subsubsection.1.6.13) 975 0 R (subsubsection.1.6.14) 977 0 R]
+/Limits [(subsubsection.1.6.1) (subsubsection.1.6.14)]
+>> endobj
+20924 0 obj <<
+/Names [(subsubsection.1.6.15) 979 0 R (subsubsection.1.6.16) 981 0 R (subsubsection.1.6.17) 996 0 R (subsubsection.1.6.18) 998 0 R (subsubsection.1.6.19) 1015 0 R (subsubsection.1.6.2) 922 0 R]
+/Limits [(subsubsection.1.6.15) (subsubsection.1.6.2)]
+>> endobj
+20925 0 obj <<
+/Names [(subsubsection.1.6.20) 1018 0 R (subsubsection.1.6.3) 924 0 R (subsubsection.1.6.4) 926 0 R (subsubsection.1.6.5) 928 0 R (subsubsection.1.6.6) 937 0 R (subsubsection.1.6.7) 942 0 R]
+/Limits [(subsubsection.1.6.20) (subsubsection.1.6.7)]
+>> endobj
+20926 0 obj <<
+/Names [(subsubsection.1.6.8) 945 0 R (subsubsection.1.6.9) 954 0 R (subsubsection.1.7.1) 1032 0 R (subsubsection.1.8.1) 1035 0 R (subsubsection.1.8.2) 1037 0 R (subsubsection.1.8.3) 1050 0 R]
+/Limits [(subsubsection.1.6.8) (subsubsection.1.8.3)]
+>> endobj
+20927 0 obj <<
+/Names [(subsubsection.1.8.4) 1052 0 R (subsubsection.1.9.1) 1057 0 R (subsubsection.1.9.2) 1067 0 R (subsubsection.1.9.3) 1069 0 R (subsubsection.1.9.4) 1071 0 R (subsubsection.1.9.5) 1081 0 R]
+/Limits [(subsubsection.1.8.4) (subsubsection.1.9.5)]
+>> endobj
+20928 0 obj <<
+/Names [(subsubsection.1.9.6) 1084 0 R (subsubsection.1.9.7) 1086 0 R (subsubsection.1.9.8) 1088 0 R (subsubsection.1.9.9) 1090 0 R (subsubsection.10.1.1) 2995 0 R (subsubsection.10.10.1) 5335 0 R]
+/Limits [(subsubsection.1.9.6) (subsubsection.10.10.1)]
+>> endobj
+20929 0 obj <<
+/Names [(subsubsection.10.10.2) 5349 0 R (subsubsection.10.10.3) 5352 0 R (subsubsection.10.11.1) 5377 0 R (subsubsection.10.12.1) 5378 0 R (subsubsection.10.13.1) 5805 0 R (subsubsection.10.13.2) 5807 0 R]
+/Limits [(subsubsection.10.10.2) (subsubsection.10.13.2)]
+>> endobj
+20930 0 obj <<
+/Names [(subsubsection.10.13.3) 5814 0 R (subsubsection.10.14.1) 5925 0 R (subsubsection.10.15.1) 5928 0 R (subsubsection.10.16.1) 5945 0 R (subsubsection.10.17.1) 5948 0 R (subsubsection.10.18.1) 5992 0 R]
+/Limits [(subsubsection.10.13.3) (subsubsection.10.18.1)]
+>> endobj
+20931 0 obj <<
+/Names [(subsubsection.10.18.2) 5993 0 R (subsubsection.10.19.1) 6089 0 R (subsubsection.10.2.1) 2997 0 R (subsubsection.10.20.1) 6115 0 R (subsubsection.10.20.2) 6116 0 R (subsubsection.10.21.1) 6367 0 R]
+/Limits [(subsubsection.10.18.2) (subsubsection.10.21.1)]
+>> endobj
+20932 0 obj <<
+/Names [(subsubsection.10.21.2) 6382 0 R (subsubsection.10.21.3) 6384 0 R (subsubsection.10.21.4) 6401 0 R (subsubsection.10.21.5) 6426 0 R (subsubsection.10.21.6) 6473 0 R (subsubsection.10.22.1) 6618 0 R]
+/Limits [(subsubsection.10.21.2) (subsubsection.10.22.1)]
+>> endobj
+20933 0 obj <<
+/Names [(subsubsection.10.22.2) 6619 0 R (subsubsection.10.22.3) 6630 0 R (subsubsection.10.22.4) 6647 0 R (subsubsection.10.23.1) 6663 0 R (subsubsection.10.23.2) 6665 0 R (subsubsection.10.24.1) 6710 0 R]
+/Limits [(subsubsection.10.22.2) (subsubsection.10.24.1)]
+>> endobj
+20934 0 obj <<
+/Names [(subsubsection.10.24.2) 6735 0 R (subsubsection.10.24.3) 6745 0 R (subsubsection.10.25.1) 6790 0 R (subsubsection.10.25.2) 6792 0 R (subsubsection.10.26.1) 6835 0 R (subsubsection.10.26.2) 6836 0 R]
+/Limits [(subsubsection.10.24.2) (subsubsection.10.26.2)]
+>> endobj
+20935 0 obj <<
+/Names [(subsubsection.10.26.3) 6855 0 R (subsubsection.10.26.4) 6881 0 R (subsubsection.10.27.1) 6926 0 R (subsubsection.10.28.1) 6958 0 R (subsubsection.10.28.2) 6959 0 R (subsubsection.10.29.1) 7005 0 R]
+/Limits [(subsubsection.10.26.3) (subsubsection.10.29.1)]
+>> endobj
+20936 0 obj <<
+/Names [(subsubsection.10.3.1) 3067 0 R (subsubsection.10.3.2) 3068 0 R (subsubsection.10.3.3) 3073 0 R (subsubsection.10.3.4) 3094 0 R (subsubsection.10.30.1) 7021 0 R (subsubsection.10.30.2) 7022 0 R]
+/Limits [(subsubsection.10.3.1) (subsubsection.10.30.2)]
+>> endobj
+20937 0 obj <<
+/Names [(subsubsection.10.31.1) 7107 0 R (subsubsection.10.31.2) 7118 0 R (subsubsection.10.31.3) 7121 0 R (subsubsection.10.32.1) 7500 0 R (subsubsection.10.32.2) 7513 0 R (subsubsection.10.32.3) 7515 0 R]
+/Limits [(subsubsection.10.31.1) (subsubsection.10.32.3)]
+>> endobj
+20938 0 obj <<
+/Names [(subsubsection.10.32.4) 7517 0 R (subsubsection.10.32.5) 7530 0 R (subsubsection.10.32.6) 7548 0 R (subsubsection.10.32.7) 7612 0 R (subsubsection.10.33.1) 7732 0 R (subsubsection.10.33.2) 7733 0 R]
+/Limits [(subsubsection.10.32.4) (subsubsection.10.33.2)]
+>> endobj
+20939 0 obj <<
+/Names [(subsubsection.10.33.3) 7760 0 R (subsubsection.10.34.1) 7786 0 R (subsubsection.10.35.1) 7790 0 R (subsubsection.10.35.2) 7792 0 R (subsubsection.10.36.1) 7905 0 R (subsubsection.10.36.2) 7907 0 R]
+/Limits [(subsubsection.10.33.3) (subsubsection.10.36.2)]
+>> endobj
+20940 0 obj <<
+/Names [(subsubsection.10.36.3) 7909 0 R (subsubsection.10.37.1) 7985 0 R (subsubsection.10.37.2) 7998 0 R (subsubsection.10.37.3) 8001 0 R (subsubsection.10.38.1) 8074 0 R (subsubsection.10.38.2) 8091 0 R]
+/Limits [(subsubsection.10.36.3) (subsubsection.10.38.2)]
+>> endobj
+20941 0 obj <<
+/Names [(subsubsection.10.38.3) 8102 0 R (subsubsection.10.39.1) 8105 0 R (subsubsection.10.4.1) 3694 0 R (subsubsection.10.4.2) 3701 0 R (subsubsection.10.4.3) 3740 0 R (subsubsection.10.4.4) 4072 0 R]
+/Limits [(subsubsection.10.38.3) (subsubsection.10.4.4)]
+>> endobj
+20942 0 obj <<
+/Names [(subsubsection.10.40.1) 8130 0 R (subsubsection.10.41.1) 8220 0 R (subsubsection.10.42.1) 8243 0 R (subsubsection.10.43.1) 8245 0 R (subsubsection.10.44.1) 8246 0 R (subsubsection.10.45.1) 8303 0 R]
+/Limits [(subsubsection.10.40.1) (subsubsection.10.45.1)]
+>> endobj
+20943 0 obj <<
+/Names [(subsubsection.10.45.2) 8326 0 R (subsubsection.10.45.3) 8337 0 R (subsubsection.10.45.4) 8381 0 R (subsubsection.10.46.1) 8399 0 R (subsubsection.10.46.2) 8401 0 R (subsubsection.10.47.1) 8847 0 R]
+/Limits [(subsubsection.10.45.2) (subsubsection.10.47.1)]
+>> endobj
+20944 0 obj <<
+/Names [(subsubsection.10.47.2) 8904 0 R (subsubsection.10.47.3) 8915 0 R (subsubsection.10.47.4) 8917 0 R (subsubsection.10.47.5) 8920 0 R (subsubsection.10.47.6) 8957 0 R (subsubsection.10.47.7) 9041 0 R]
+/Limits [(subsubsection.10.47.2) (subsubsection.10.47.7)]
+>> endobj
+20945 0 obj <<
+/Names [(subsubsection.10.48.1) 9132 0 R (subsubsection.10.48.2) 9145 0 R (subsubsection.10.48.3) 9147 0 R (subsubsection.10.48.4) 9174 0 R (subsubsection.10.49.1) 9226 0 R (subsubsection.10.5.1) 4139 0 R]
+/Limits [(subsubsection.10.48.1) (subsubsection.10.5.1)]
+>> endobj
+20946 0 obj <<
+/Names [(subsubsection.10.5.2) 4140 0 R (subsubsection.10.50.1) 9269 0 R (subsubsection.10.50.2) 9270 0 R (subsubsection.10.51.1) 9750 0 R (subsubsection.10.51.2) 9794 0 R (subsubsection.10.51.3) 9845 0 R]
+/Limits [(subsubsection.10.5.2) (subsubsection.10.51.3)]
+>> endobj
+20947 0 obj <<
+/Names [(subsubsection.10.51.4) 10154 0 R (subsubsection.10.52.1) 10189 0 R (subsubsection.10.52.2) 10234 0 R (subsubsection.10.53.1) 10494 0 R (subsubsection.10.53.2) 10563 0 R (subsubsection.10.53.3) 10565 0 R]
+/Limits [(subsubsection.10.51.4) (subsubsection.10.53.3)]
+>> endobj
+20948 0 obj <<
+/Names [(subsubsection.10.53.4) 10567 0 R (subsubsection.10.53.5) 10570 0 R (subsubsection.10.53.6) 10606 0 R (subsubsection.10.53.7) 10629 0 R (subsubsection.10.54.1) 10776 0 R (subsubsection.10.54.2) 10788 0 R]
+/Limits [(subsubsection.10.53.4) (subsubsection.10.54.2)]
+>> endobj
+20949 0 obj <<
+/Names [(subsubsection.10.54.3) 10790 0 R (subsubsection.10.54.4) 10808 0 R (subsubsection.10.55.1) 10834 0 R (subsubsection.10.55.2) 10835 0 R (subsubsection.10.56.1) 10852 0 R (subsubsection.10.57.1) 10873 0 R]
+/Limits [(subsubsection.10.54.3) (subsubsection.10.57.1)]
+>> endobj
+20950 0 obj <<
+/Names [(subsubsection.10.58.1) 10896 0 R (subsubsection.10.59.1) 10920 0 R (subsubsection.10.6.1) 4155 0 R (subsubsection.10.60.1) 10921 0 R (subsubsection.10.61.1) 10966 0 R (subsubsection.10.61.2) 10968 0 R]
+/Limits [(subsubsection.10.58.1) (subsubsection.10.61.2)]
+>> endobj
+20951 0 obj <<
+/Names [(subsubsection.10.61.3) 10981 0 R (subsubsection.10.62.1) 11022 0 R (subsubsection.10.62.2) 11043 0 R (subsubsection.10.62.3) 11053 0 R (subsubsection.10.63.1) 11560 0 R (subsubsection.10.63.2) 11561 0 R]
+/Limits [(subsubsection.10.61.3) (subsubsection.10.63.2)]
+>> endobj
+20952 0 obj <<
+/Names [(subsubsection.10.63.3) 11605 0 R (subsubsection.10.63.4) 11630 0 R (subsubsection.10.64.1) 12024 0 R (subsubsection.10.64.2) 12040 0 R (subsubsection.10.64.3) 12044 0 R (subsubsection.10.64.4) 12062 0 R]
+/Limits [(subsubsection.10.63.3) (subsubsection.10.64.4)]
+>> endobj
+20953 0 obj <<
+/Names [(subsubsection.10.65.1) 12319 0 R (subsubsection.10.65.2) 12320 0 R (subsubsection.10.65.3) 12332 0 R (subsubsection.10.65.4) 12352 0 R (subsubsection.10.65.5) 12395 0 R (subsubsection.10.66.1) 12465 0 R]
+/Limits [(subsubsection.10.65.1) (subsubsection.10.66.1)]
+>> endobj
+20954 0 obj <<
+/Names [(subsubsection.10.66.2) 12479 0 R (subsubsection.10.66.3) 12497 0 R (subsubsection.10.67.1) 12596 0 R (subsubsection.10.67.2) 12597 0 R (subsubsection.10.67.3) 12641 0 R (subsubsection.10.68.1) 12644 0 R]
+/Limits [(subsubsection.10.66.2) (subsubsection.10.68.1)]
+>> endobj
+20955 0 obj <<
+/Names [(subsubsection.10.69.1) 12662 0 R (subsubsection.10.69.2) 12664 0 R (subsubsection.10.7.1) 4160 0 R (subsubsection.10.70.1) 13247 0 R (subsubsection.10.70.2) 13257 0 R (subsubsection.10.70.3) 13296 0 R]
+/Limits [(subsubsection.10.69.1) (subsubsection.10.70.3)]
+>> endobj
+20956 0 obj <<
+/Names [(subsubsection.10.70.4) 13612 0 R (subsubsection.10.71.1) 13698 0 R (subsubsection.10.71.2) 13707 0 R (subsubsection.10.71.3) 13710 0 R (subsubsection.10.72.1) 14147 0 R (subsubsection.10.72.2) 14154 0 R]
+/Limits [(subsubsection.10.70.4) (subsubsection.10.72.2)]
+>> endobj
+20957 0 obj <<
+/Names [(subsubsection.10.72.3) 14210 0 R (subsubsection.10.72.4) 14446 0 R (subsubsection.10.73.1) 14489 0 R (subsubsection.10.74.1) 14541 0 R (subsubsection.10.75.1) 14635 0 R (subsubsection.10.76.1) 14759 0 R]
+/Limits [(subsubsection.10.72.3) (subsubsection.10.76.1)]
+>> endobj
+20958 0 obj <<
+/Names [(subsubsection.10.76.2) 14828 0 R (subsubsection.10.76.3) 14831 0 R (subsubsection.10.76.4) 14847 0 R (subsubsection.10.76.5) 14879 0 R (subsubsection.10.77.1) 14975 0 R (subsubsection.10.77.2) 14976 0 R]
+/Limits [(subsubsection.10.76.2) (subsubsection.10.77.2)]
+>> endobj
+20959 0 obj <<
+/Names [(subsubsection.10.77.3) 14979 0 R (subsubsection.10.78.1) 15134 0 R (subsubsection.10.78.2) 15135 0 R (subsubsection.10.78.3) 15171 0 R (subsubsection.10.79.1) 15597 0 R (subsubsection.10.79.2) 15599 0 R]
+/Limits [(subsubsection.10.77.3) (subsubsection.10.79.2)]
+>> endobj
+20960 0 obj <<
+/Names [(subsubsection.10.79.3) 15644 0 R (subsubsection.10.79.4) 15886 0 R (subsubsection.10.8.1) 4734 0 R (subsubsection.10.8.2) 4736 0 R (subsubsection.10.8.3) 4777 0 R (subsubsection.10.8.4) 5078 0 R]
+/Limits [(subsubsection.10.79.3) (subsubsection.10.8.4)]
+>> endobj
+20961 0 obj <<
+/Names [(subsubsection.10.80.1) 15988 0 R (subsubsection.10.80.2) 15989 0 R (subsubsection.10.81.1) 16055 0 R (subsubsection.10.81.2) 16067 0 R (subsubsection.10.82.1) 16570 0 R (subsubsection.10.82.2) 16602 0 R]
+/Limits [(subsubsection.10.80.1) (subsubsection.10.82.2)]
+>> endobj
+20962 0 obj <<
+/Names [(subsubsection.10.82.3) 16625 0 R (subsubsection.10.82.4) 16975 0 R (subsubsection.10.83.1) 17160 0 R (subsubsection.10.83.2) 17192 0 R (subsubsection.10.83.3) 17196 0 R (subsubsection.10.83.4) 17209 0 R]
+/Limits [(subsubsection.10.82.3) (subsubsection.10.83.4)]
+>> endobj
+20963 0 obj <<
+/Names [(subsubsection.10.84.1) 17227 0 R (subsubsection.10.85.1) 17231 0 R (subsubsection.10.85.2) 17243 0 R (subsubsection.10.86.1) 17249 0 R (subsubsection.10.86.2) 17251 0 R (subsubsection.10.87.1) 17323 0 R]
+/Limits [(subsubsection.10.84.1) (subsubsection.10.87.1)]
+>> endobj
+20964 0 obj <<
+/Names [(subsubsection.10.87.2) 17336 0 R (subsubsection.10.87.3) 17347 0 R (subsubsection.10.88.1) 17350 0 R (subsubsection.10.89.1) 17374 0 R (subsubsection.10.9.1) 5220 0 R (subsubsection.10.9.2) 5221 0 R]
+/Limits [(subsubsection.10.87.2) (subsubsection.10.9.2)]
+>> endobj
+20965 0 obj <<
+/Names [(subsubsection.10.9.3) 5268 0 R (subsubsection.10.90.1) 17384 0 R (subsubsection.10.91.1) 17397 0 R (subsubsection.10.92.1) 17401 0 R (subsubsection.10.93.1) 17471 0 R (subsubsection.10.93.2) 17472 0 R]
+/Limits [(subsubsection.10.9.3) (subsubsection.10.93.2)]
+>> endobj
+20966 0 obj <<
+/Names [(subsubsection.10.93.3) 17475 0 R (subsubsection.10.93.4) 17477 0 R (subsubsection.10.94.1) 17555 0 R (subsubsection.10.94.2) 17565 0 R (subsubsection.10.94.3) 17570 0 R (subsubsection.10.95.1) 17628 0 R]
+/Limits [(subsubsection.10.93.3) (subsubsection.10.95.1)]
+>> endobj
+20967 0 obj <<
+/Names [(subsubsection.10.95.2) 17629 0 R (subsubsection.10.95.3) 17631 0 R (subsubsection.10.96.1) 17645 0 R (subsubsection.8.1.1) 2394 0 R (subsubsection.8.1.2) 2395 0 R (subsubsection.8.1.3) 2400 0 R]
+/Limits [(subsubsection.10.95.2) (subsubsection.8.1.3)]
+>> endobj
+20968 0 obj <<
+/Names [(subsubsection.8.1.4) 2409 0 R (subsubsection.8.1.5) 2444 0 R (subsubsection.8.1.6) 2536 0 R (subsubsection.9.1.1) 2951 0 R (subsubsection.9.1.2) 2952 0 R (subsubsection.9.1.3) 2956 0 R]
+/Limits [(subsubsection.8.1.4) (subsubsection.9.1.3)]
+>> endobj
+20969 0 obj <<
+/Names [(subsubsection.9.1.4) 2967 0 R (subsubsection.9.2.1) 2983 0 R (subsubsection.9.2.2) 2984 0 R (subsubsection.9.3.1) 2987 0 R (table.1) 2472 0 R (table.10) 2505 0 R]
+/Limits [(subsubsection.9.1.4) (table.10)]
+>> endobj
+20970 0 obj <<
+/Names [(table.100) 3920 0 R (table.101) 3922 0 R (table.102) 3931 0 R (table.103) 3933 0 R (table.104) 3934 0 R (table.105) 3936 0 R]
+/Limits [(table.100) (table.105)]
+>> endobj
+20971 0 obj <<
+/Names [(table.106) 3937 0 R (table.107) 3948 0 R (table.108) 3949 0 R (table.109) 3951 0 R (table.11) 2506 0 R (table.110) 3953 0 R]
+/Limits [(table.106) (table.110)]
+>> endobj
+20972 0 obj <<
+/Names [(table.111) 3962 0 R (table.112) 3964 0 R (table.113) 3966 0 R (table.114) 3968 0 R (table.115) 3969 0 R (table.116) 3982 0 R]
+/Limits [(table.111) (table.116)]
+>> endobj
+20973 0 obj <<
+/Names [(table.117) 3983 0 R (table.118) 3985 0 R (table.119) 3986 0 R (table.12) 2515 0 R (table.120) 3988 0 R (table.121) 3989 0 R]
+/Limits [(table.117) (table.121)]
+>> endobj
+20974 0 obj <<
+/Names [(table.122) 4001 0 R (table.123) 4002 0 R (table.124) 4005 0 R (table.125) 4006 0 R (table.126) 4008 0 R (table.127) 4016 0 R]
+/Limits [(table.122) (table.127)]
+>> endobj
+20975 0 obj <<
+/Names [(table.128) 4018 0 R (table.129) 4019 0 R (table.13) 2516 0 R (table.130) 4021 0 R (table.131) 4023 0 R (table.132) 4038 0 R]
+/Limits [(table.128) (table.132)]
+>> endobj
+20976 0 obj <<
+/Names [(table.133) 4040 0 R (table.134) 4041 0 R (table.135) 4043 0 R (table.136) 4045 0 R (table.137) 4058 0 R (table.138) 4059 0 R]
+/Limits [(table.133) (table.138)]
+>> endobj
+20977 0 obj <<
+/Names [(table.139) 4061 0 R (table.14) 2517 0 R (table.140) 4062 0 R (table.141) 4070 0 R (table.142) 4738 0 R (table.143) 4750 0 R]
+/Limits [(table.139) (table.143)]
+>> endobj
+20978 0 obj <<
+/Names [(table.144) 4752 0 R (table.145) 4754 0 R (table.146) 4756 0 R (table.147) 4757 0 R (table.148) 4764 0 R (table.149) 4766 0 R]
+/Limits [(table.144) (table.149)]
+>> endobj
+20979 0 obj <<
+/Names [(table.15) 2525 0 R (table.150) 4779 0 R (table.151) 4781 0 R (table.152) 4783 0 R (table.153) 4785 0 R (table.154) 4792 0 R]
+/Limits [(table.15) (table.154)]
+>> endobj
+20980 0 obj <<
+/Names [(table.155) 4794 0 R (table.156) 4796 0 R (table.157) 4797 0 R (table.158) 4799 0 R (table.159) 4800 0 R (table.16) 2526 0 R]
+/Limits [(table.155) (table.16)]
+>> endobj
+20981 0 obj <<
+/Names [(table.160) 4807 0 R (table.161) 4808 0 R (table.162) 4810 0 R (table.163) 4811 0 R (table.164) 4820 0 R (table.165) 4821 0 R]
+/Limits [(table.160) (table.165)]
+>> endobj
+20982 0 obj <<
+/Names [(table.166) 4823 0 R (table.167) 4825 0 R (table.168) 4827 0 R (table.169) 4829 0 R (table.17) 2528 0 R (table.170) 4837 0 R]
+/Limits [(table.166) (table.170)]
+>> endobj
+20983 0 obj <<
+/Names [(table.171) 4839 0 R (table.172) 4840 0 R (table.173) 4842 0 R (table.174) 4843 0 R (table.175) 4845 0 R (table.176) 4846 0 R]
+/Limits [(table.171) (table.176)]
+>> endobj
+20984 0 obj <<
+/Names [(table.177) 4853 0 R (table.178) 4854 0 R (table.179) 4856 0 R (table.18) 2534 0 R (table.180) 4857 0 R (table.181) 4859 0 R]
+/Limits [(table.177) (table.181)]
+>> endobj
+20985 0 obj <<
+/Names [(table.182) 4860 0 R (table.183) 4868 0 R (table.184) 4869 0 R (table.185) 4872 0 R (table.186) 4873 0 R (table.187) 4875 0 R]
+/Limits [(table.182) (table.187)]
+>> endobj
+20986 0 obj <<
+/Names [(table.188) 4876 0 R (table.189) 4878 0 R (table.19) 2535 0 R (table.190) 4887 0 R (table.191) 4889 0 R (table.192) 4890 0 R]
+/Limits [(table.188) (table.192)]
+>> endobj
+20987 0 obj <<
+/Names [(table.193) 4892 0 R (table.194) 4893 0 R (table.195) 4895 0 R (table.196) 4896 0 R (table.197) 4905 0 R (table.198) 4907 0 R]
+/Limits [(table.193) (table.198)]
+>> endobj
+20988 0 obj <<
+/Names [(table.199) 4909 0 R (table.2) 2481 0 R (table.20) 2971 0 R (table.200) 4911 0 R (table.201) 4913 0 R (table.202) 4922 0 R]
+/Limits [(table.199) (table.202)]
+>> endobj
+20989 0 obj <<
+/Names [(table.203) 4923 0 R (table.204) 4925 0 R (table.205) 4926 0 R (table.206) 4928 0 R (table.207) 4938 0 R (table.208) 4940 0 R]
+/Limits [(table.203) (table.208)]
+>> endobj
+20990 0 obj <<
+/Names [(table.209) 4941 0 R (table.21) 2986 0 R (table.210) 4943 0 R (table.211) 4944 0 R (table.212) 4953 0 R (table.213) 4954 0 R]
+/Limits [(table.209) (table.213)]
+>> endobj
+20991 0 obj <<
+/Names [(table.214) 4956 0 R (table.215) 4957 0 R (table.216) 4959 0 R (table.217) 4971 0 R (table.218) 4973 0 R (table.219) 4974 0 R]
+/Limits [(table.214) (table.219)]
+>> endobj
+20992 0 obj <<
+/Names [(table.22) 3071 0 R (table.220) 4976 0 R (table.221) 4978 0 R (table.222) 4986 0 R (table.223) 4988 0 R (table.224) 4990 0 R]
+/Limits [(table.22) (table.224)]
+>> endobj
+20993 0 obj <<
+/Names [(table.225) 5002 0 R (table.226) 5003 0 R (table.227) 5005 0 R (table.228) 5006 0 R (table.229) 5008 0 R (table.23) 3072 0 R]
+/Limits [(table.225) (table.23)]
+>> endobj
+20994 0 obj <<
+/Names [(table.230) 5009 0 R (table.231) 5017 0 R (table.232) 5018 0 R (table.233) 5020 0 R (table.234) 5022 0 R (table.235) 5037 0 R]
+/Limits [(table.230) (table.235)]
+>> endobj
+20995 0 obj <<
+/Names [(table.236) 5038 0 R (table.237) 5040 0 R (table.238) 5042 0 R (table.239) 5055 0 R (table.24) 3703 0 R (table.240) 5056 0 R]
+/Limits [(table.236) (table.240)]
+>> endobj
+20996 0 obj <<
+/Names [(table.241) 5058 0 R (table.242) 5059 0 R (table.243) 5067 0 R (table.244) 5069 0 R (table.245) 5223 0 R (table.246) 5224 0 R]
+/Limits [(table.241) (table.246)]
+>> endobj
+20997 0 obj <<
+/Names [(table.247) 5226 0 R (table.248) 5232 0 R (table.249) 5234 0 R (table.25) 3713 0 R (table.250) 5235 0 R (table.251) 5237 0 R]
+/Limits [(table.247) (table.251)]
+>> endobj
+20998 0 obj <<
+/Names [(table.252) 5238 0 R (table.253) 5240 0 R (table.254) 5241 0 R (table.255) 5248 0 R (table.256) 5250 0 R (table.257) 5252 0 R]
+/Limits [(table.252) (table.257)]
+>> endobj
+20999 0 obj <<
+/Names [(table.258) 5254 0 R (table.259) 5255 0 R (table.26) 3714 0 R (table.260) 5262 0 R (table.261) 5264 0 R (table.262) 5266 0 R]
+/Limits [(table.258) (table.262)]
+>> endobj
+21000 0 obj <<
+/Names [(table.263) 5296 0 R (table.264) 5351 0 R (table.265) 5883 0 R (table.266) 5996 0 R (table.267) 6010 0 R (table.268) 6012 0 R]
+/Limits [(table.263) (table.268)]
+>> endobj
+21001 0 obj <<
+/Names [(table.269) 6023 0 R (table.27) 3716 0 R (table.270) 6025 0 R (table.271) 6026 0 R (table.272) 6036 0 R (table.273) 6045 0 R]
+/Limits [(table.269) (table.273)]
+>> endobj
+21002 0 obj <<
+/Names [(table.274) 6056 0 R (table.275) 6057 0 R (table.276) 6059 0 R (table.277) 6060 0 R (table.278) 6387 0 R (table.279) 6400 0 R]
+/Limits [(table.274) (table.279)]
+>> endobj
+21003 0 obj <<
+/Names [(table.28) 3717 0 R (table.280) 6403 0 R (table.281) 6621 0 R (table.282) 6634 0 R (table.283) 6643 0 R (table.284) 6645 0 R]
+/Limits [(table.28) (table.284)]
+>> endobj
+21004 0 obj <<
+/Names [(table.285) 6668 0 R (table.286) 6738 0 R (table.287) 6740 0 R (table.288) 6742 0 R (table.289) 6744 0 R (table.29) 3719 0 R]
+/Limits [(table.285) (table.29)]
+>> endobj
+21005 0 obj <<
+/Names [(table.290) 6752 0 R (table.291) 6754 0 R (table.292) 6756 0 R (table.293) 6776 0 R (table.294) 6778 0 R (table.295) 6799 0 R]
+/Limits [(table.290) (table.295)]
+>> endobj
+21006 0 obj <<
+/Names [(table.296) 6854 0 R (table.297) 6857 0 R (table.298) 6859 0 R (table.299) 6878 0 R (table.3) 2483 0 R (table.30) 3727 0 R]
+/Limits [(table.296) (table.30)]
+>> endobj
+21007 0 obj <<
+/Names [(table.300) 6880 0 R (table.301) 6962 0 R (table.302) 6965 0 R (table.303) 7059 0 R (table.304) 7120 0 R (table.305) 7529 0 R]
+/Limits [(table.300) (table.305)]
+>> endobj
+21008 0 obj <<
+/Names [(table.306) 7535 0 R (table.307) 7824 0 R (table.308) 8000 0 R (table.309) 8093 0 R (table.31) 3728 0 R (table.310) 8358 0 R]
+/Limits [(table.306) (table.310)]
+>> endobj
+21009 0 obj <<
+/Names [(table.311) 8365 0 R (table.312) 8367 0 R (table.313) 8380 0 R (table.314) 8922 0 R (table.315) 8924 0 R (table.316) 8933 0 R]
+/Limits [(table.311) (table.316)]
+>> endobj
+21010 0 obj <<
+/Names [(table.317) 8935 0 R (table.318) 8939 0 R (table.319) 8951 0 R (table.32) 3730 0 R (table.320) 8953 0 R (table.321) 9796 0 R]
+/Limits [(table.317) (table.321)]
+>> endobj
+21011 0 obj <<
+/Names [(table.322) 9797 0 R (table.323) 9799 0 R (table.324) 9800 0 R (table.325) 9807 0 R (table.326) 9808 0 R (table.327) 9810 0 R]
+/Limits [(table.322) (table.327)]
+>> endobj
+21012 0 obj <<
+/Names [(table.328) 9811 0 R (table.329) 9813 0 R (table.33) 3731 0 R (table.330) 9814 0 R (table.331) 9816 0 R (table.332) 9822 0 R]
+/Limits [(table.328) (table.332)]
+>> endobj
+21013 0 obj <<
+/Names [(table.333) 9824 0 R (table.334) 9825 0 R (table.335) 9827 0 R (table.336) 9828 0 R (table.337) 9830 0 R (table.338) 9837 0 R]
+/Limits [(table.333) (table.338)]
+>> endobj
+21014 0 obj <<
+/Names [(table.339) 9839 0 R (table.34) 3733 0 R (table.340) 9840 0 R (table.341) 9842 0 R (table.342) 9843 0 R (table.343) 9853 0 R]
+/Limits [(table.339) (table.343)]
+>> endobj
+21015 0 obj <<
+/Names [(table.344) 9856 0 R (table.345) 9858 0 R (table.346) 9860 0 R (table.347) 9870 0 R (table.348) 9871 0 R (table.349) 9873 0 R]
+/Limits [(table.344) (table.349)]
+>> endobj
+21016 0 obj <<
+/Names [(table.35) 3739 0 R (table.350) 9874 0 R (table.351) 9876 0 R (table.352) 9884 0 R (table.353) 9886 0 R (table.354) 9887 0 R]
+/Limits [(table.35) (table.354)]
+>> endobj
+21017 0 obj <<
+/Names [(table.355) 9889 0 R (table.356) 9890 0 R (table.357) 9897 0 R (table.358) 9899 0 R (table.359) 9901 0 R (table.36) 3742 0 R]
+/Limits [(table.355) (table.36)]
+>> endobj
+21018 0 obj <<
+/Names [(table.360) 9903 0 R (table.361) 9905 0 R (table.362) 9912 0 R (table.363) 9913 0 R (table.364) 9915 0 R (table.365) 9916 0 R]
+/Limits [(table.360) (table.365)]
+>> endobj
+21019 0 obj <<
+/Names [(table.366) 9918 0 R (table.367) 9919 0 R (table.368) 9927 0 R (table.369) 9928 0 R (table.37) 3744 0 R (table.370) 9930 0 R]
+/Limits [(table.366) (table.370)]
+>> endobj
+21020 0 obj <<
+/Names [(table.371) 9931 0 R (table.372) 9933 0 R (table.373) 9934 0 R (table.374) 9936 0 R (table.375) 9942 0 R (table.376) 9944 0 R]
+/Limits [(table.371) (table.376)]
+>> endobj
+21021 0 obj <<
+/Names [(table.377) 9945 0 R (table.378) 9947 0 R (table.379) 9948 0 R (table.38) 3746 0 R (table.380) 9950 0 R (table.381) 9951 0 R]
+/Limits [(table.377) (table.381)]
+>> endobj
+21022 0 obj <<
+/Names [(table.382) 9953 0 R (table.383) 9962 0 R (table.384) 9964 0 R (table.385) 9965 0 R (table.386) 9967 0 R (table.387) 9968 0 R]
+/Limits [(table.382) (table.387)]
+>> endobj
+21023 0 obj <<
+/Names [(table.388) 9970 0 R (table.389) 9972 0 R (table.39) 3747 0 R (table.390) 9983 0 R (table.391) 9985 0 R (table.392) 9987 0 R]
+/Limits [(table.388) (table.392)]
+>> endobj
+21024 0 obj <<
+/Names [(table.393) 9989 0 R (table.394) 9990 0 R (table.395) 9999 0 R (table.396) 10000 0 R (table.397) 10002 0 R (table.398) 10003 0 R]
+/Limits [(table.393) (table.398)]
+>> endobj
+21025 0 obj <<
+/Names [(table.399) 10005 0 R (table.4) 2484 0 R (table.40) 3754 0 R (table.400) 10014 0 R (table.401) 10016 0 R (table.402) 10017 0 R]
+/Limits [(table.399) (table.402)]
+>> endobj
+21026 0 obj <<
+/Names [(table.403) 10019 0 R (table.404) 10020 0 R (table.405) 10022 0 R (table.406) 10036 0 R (table.407) 10038 0 R (table.408) 10039 0 R]
+/Limits [(table.403) (table.408)]
+>> endobj
+21027 0 obj <<
+/Names [(table.409) 10041 0 R (table.41) 3755 0 R (table.410) 10043 0 R (table.411) 10052 0 R (table.412) 10054 0 R (table.413) 10056 0 R]
+/Limits [(table.409) (table.413)]
+>> endobj
+21028 0 obj <<
+/Names [(table.414) 10058 0 R (table.415) 10070 0 R (table.416) 10072 0 R (table.417) 10073 0 R (table.418) 10075 0 R (table.419) 10076 0 R]
+/Limits [(table.414) (table.419)]
+>> endobj
+21029 0 obj <<
+/Names [(table.42) 3757 0 R (table.420) 10078 0 R (table.421) 10090 0 R (table.422) 10092 0 R (table.423) 10093 0 R (table.424) 10095 0 R]
+/Limits [(table.42) (table.424)]
+>> endobj
+21030 0 obj <<
+/Names [(table.425) 10096 0 R (table.426) 10098 0 R (table.427) 10099 0 R (table.428) 10113 0 R (table.429) 10114 0 R (table.43) 3758 0 R]
+/Limits [(table.425) (table.43)]
+>> endobj
+21031 0 obj <<
+/Names [(table.430) 10116 0 R (table.431) 10118 0 R (table.432) 10119 0 R (table.433) 10132 0 R (table.434) 10134 0 R (table.435) 10136 0 R]
+/Limits [(table.430) (table.435)]
+>> endobj
+21032 0 obj <<
+/Names [(table.436) 10148 0 R (table.437) 10150 0 R (table.438) 10151 0 R (table.439) 10572 0 R (table.44) 3760 0 R (table.440) 10582 0 R]
+/Limits [(table.436) (table.440)]
+>> endobj
+21033 0 obj <<
+/Names [(table.441) 10584 0 R (table.442) 10589 0 R (table.443) 10591 0 R (table.444) 10604 0 R (table.445) 11046 0 R (table.446) 11048 0 R]
+/Limits [(table.441) (table.446)]
+>> endobj
+21034 0 obj <<
+/Names [(table.447) 11050 0 R (table.448) 11052 0 R (table.449) 11060 0 R (table.45) 3768 0 R (table.450) 11062 0 R (table.451) 11064 0 R]
+/Limits [(table.447) (table.451)]
+>> endobj
+21035 0 obj <<
+/Names [(table.452) 11078 0 R (table.453) 11080 0 R (table.454) 11588 0 R (table.455) 11615 0 R (table.456) 11621 0 R (table.457) 11655 0 R]
+/Limits [(table.452) (table.457)]
+>> endobj
+21036 0 obj <<
+/Names [(table.458) 11666 0 R (table.459) 12042 0 R (table.46) 3770 0 R (table.460) 12054 0 R (table.461) 12056 0 R (table.462) 12095 0 R]
+/Limits [(table.458) (table.462)]
+>> endobj
+21037 0 obj <<
+/Names [(table.463) 12100 0 R (table.464) 12334 0 R (table.465) 12335 0 R (table.466) 12337 0 R (table.467) 12345 0 R (table.468) 12347 0 R]
+/Limits [(table.463) (table.468)]
+>> endobj
+21038 0 obj <<
+/Names [(table.469) 12348 0 R (table.47) 3771 0 R (table.470) 12350 0 R (table.471) 12351 0 R (table.472) 12362 0 R (table.473) 12363 0 R]
+/Limits [(table.469) (table.473)]
+>> endobj
+21039 0 obj <<
+/Names [(table.474) 12365 0 R (table.475) 12367 0 R (table.476) 12369 0 R (table.477) 12376 0 R (table.478) 12380 0 R (table.479) 12381 0 R]
+/Limits [(table.474) (table.479)]
+>> endobj
+21040 0 obj <<
+/Names [(table.48) 3773 0 R (table.480) 12383 0 R (table.481) 12392 0 R (table.482) 12394 0 R (table.483) 12481 0 R (table.484) 12599 0 R]
+/Limits [(table.48) (table.484)]
+>> endobj
+21041 0 obj <<
+/Names [(table.485) 12600 0 R (table.486) 12602 0 R (table.487) 12609 0 R (table.488) 12611 0 R (table.489) 12612 0 R (table.49) 3775 0 R]
+/Limits [(table.485) (table.49)]
+>> endobj
+21042 0 obj <<
+/Names [(table.490) 12614 0 R (table.491) 12615 0 R (table.492) 12617 0 R (table.493) 12624 0 R (table.494) 12626 0 R (table.495) 12628 0 R]
+/Limits [(table.490) (table.495)]
+>> endobj
+21043 0 obj <<
+/Names [(table.496) 12629 0 R (table.497) 12631 0 R (table.498) 12638 0 R (table.499) 12640 0 R (table.5) 2492 0 R (table.50) 3782 0 R]
+/Limits [(table.496) (table.50)]
+>> endobj
+21044 0 obj <<
+/Names [(table.500) 12643 0 R (table.501) 13259 0 R (table.502) 13268 0 R (table.503) 13269 0 R (table.504) 13271 0 R (table.505) 13272 0 R]
+/Limits [(table.500) (table.505)]
+>> endobj
+21045 0 obj <<
+/Names [(table.506) 13279 0 R (table.507) 13282 0 R (table.508) 13283 0 R (table.509) 13285 0 R (table.51) 3784 0 R (table.510) 13286 0 R]
+/Limits [(table.506) (table.510)]
+>> endobj
+21046 0 obj <<
+/Names [(table.511) 13294 0 R (table.512) 13295 0 R (table.513) 13298 0 R (table.514) 13300 0 R (table.515) 13302 0 R (table.516) 13309 0 R]
+/Limits [(table.511) (table.516)]
+>> endobj
+21047 0 obj <<
+/Names [(table.517) 13311 0 R (table.518) 13313 0 R (table.519) 13315 0 R (table.52) 3786 0 R (table.520) 13317 0 R (table.521) 13319 0 R]
+/Limits [(table.517) (table.521)]
+>> endobj
+21048 0 obj <<
+/Names [(table.522) 13326 0 R (table.523) 13327 0 R (table.524) 13329 0 R (table.525) 13330 0 R (table.526) 13339 0 R (table.527) 13340 0 R]
+/Limits [(table.522) (table.527)]
+>> endobj
+21049 0 obj <<
+/Names [(table.528) 13342 0 R (table.529) 13343 0 R (table.53) 3788 0 R (table.530) 13345 0 R (table.531) 13351 0 R (table.532) 13353 0 R]
+/Limits [(table.528) (table.532)]
+>> endobj
+21050 0 obj <<
+/Names [(table.533) 13354 0 R (table.534) 13356 0 R (table.535) 13357 0 R (table.536) 13359 0 R (table.537) 13360 0 R (table.538) 13367 0 R]
+/Limits [(table.533) (table.538)]
+>> endobj
+21051 0 obj <<
+/Names [(table.539) 13368 0 R (table.54) 3790 0 R (table.540) 13370 0 R (table.541) 13371 0 R (table.542) 13373 0 R (table.543) 13374 0 R]
+/Limits [(table.539) (table.543)]
+>> endobj
+21052 0 obj <<
+/Names [(table.544) 13382 0 R (table.545) 13383 0 R (table.546) 13385 0 R (table.547) 13386 0 R (table.548) 13388 0 R (table.549) 13389 0 R]
+/Limits [(table.544) (table.549)]
+>> endobj
+21053 0 obj <<
+/Names [(table.55) 3792 0 R (table.550) 13391 0 R (table.551) 13392 0 R (table.552) 13400 0 R (table.553) 13401 0 R (table.554) 13403 0 R]
+/Limits [(table.55) (table.554)]
+>> endobj
+21054 0 obj <<
+/Names [(table.555) 13404 0 R (table.556) 13414 0 R (table.557) 13415 0 R (table.558) 13417 0 R (table.559) 13418 0 R (table.56) 3793 0 R]
+/Limits [(table.555) (table.56)]
+>> endobj
+21055 0 obj <<
+/Names [(table.560) 13420 0 R (table.561) 13422 0 R (table.562) 13424 0 R (table.563) 13434 0 R (table.564) 13436 0 R (table.565) 13438 0 R]
+/Limits [(table.560) (table.565)]
+>> endobj
+21056 0 obj <<
+/Names [(table.566) 13440 0 R (table.567) 13449 0 R (table.568) 13451 0 R (table.569) 13452 0 R (table.57) 3801 0 R (table.570) 13454 0 R]
+/Limits [(table.566) (table.570)]
+>> endobj
+21057 0 obj <<
+/Names [(table.571) 13455 0 R (table.572) 13465 0 R (table.573) 13466 0 R (table.574) 13468 0 R (table.575) 13469 0 R (table.576) 13471 0 R]
+/Limits [(table.571) (table.576)]
+>> endobj
+21058 0 obj <<
+/Names [(table.577) 13472 0 R (table.578) 13482 0 R (table.579) 13483 0 R (table.58) 3802 0 R (table.580) 13485 0 R (table.581) 13486 0 R]
+/Limits [(table.577) (table.581)]
+>> endobj
+21059 0 obj <<
+/Names [(table.582) 13488 0 R (table.583) 13498 0 R (table.584) 13500 0 R (table.585) 13502 0 R (table.586) 13503 0 R (table.587) 13513 0 R]
+/Limits [(table.582) (table.587)]
+>> endobj
+21060 0 obj <<
+/Names [(table.588) 13515 0 R (table.589) 13517 0 R (table.59) 3804 0 R (table.590) 13518 0 R (table.591) 13531 0 R (table.592) 13532 0 R]
+/Limits [(table.588) (table.592)]
+>> endobj
+21061 0 obj <<
+/Names [(table.593) 13534 0 R (table.594) 13535 0 R (table.595) 13537 0 R (table.596) 13538 0 R (table.597) 13547 0 R (table.598) 13548 0 R]
+/Limits [(table.593) (table.598)]
+>> endobj
+21062 0 obj <<
+/Names [(table.599) 13550 0 R (table.6) 2493 0 R (table.60) 3805 0 R (table.600) 13551 0 R (table.601) 13553 0 R (table.602) 13555 0 R]
+/Limits [(table.599) (table.602)]
+>> endobj
+21063 0 obj <<
+/Names [(table.603) 13567 0 R (table.604) 13569 0 R (table.605) 13570 0 R (table.606) 13572 0 R (table.607) 13574 0 R (table.608) 13591 0 R]
+/Limits [(table.603) (table.608)]
+>> endobj
+21064 0 obj <<
+/Names [(table.609) 13592 0 R (table.61) 3807 0 R (table.610) 13594 0 R (table.611) 13595 0 R (table.612) 13607 0 R (table.613) 13608 0 R]
+/Limits [(table.609) (table.613)]
+>> endobj
+21065 0 obj <<
+/Names [(table.614) 13610 0 R (table.615) 13709 0 R (table.616) 14156 0 R (table.617) 14157 0 R (table.618) 14164 0 R (table.619) 14165 0 R]
+/Limits [(table.614) (table.619)]
+>> endobj
+21066 0 obj <<
+/Names [(table.62) 3808 0 R (table.620) 14167 0 R (table.621) 14168 0 R (table.622) 14170 0 R (table.623) 14171 0 R (table.624) 14173 0 R]
+/Limits [(table.62) (table.624)]
+>> endobj
+21067 0 obj <<
+/Names [(table.625) 14179 0 R (table.626) 14181 0 R (table.627) 14182 0 R (table.628) 14184 0 R (table.629) 14185 0 R (table.63) 3815 0 R]
+/Limits [(table.625) (table.63)]
+>> endobj
+21068 0 obj <<
+/Names [(table.630) 14193 0 R (table.631) 14194 0 R (table.632) 14196 0 R (table.633) 14197 0 R (table.634) 14199 0 R (table.635) 14200 0 R]
+/Limits [(table.630) (table.635)]
+>> endobj
+21069 0 obj <<
+/Names [(table.636) 14207 0 R (table.637) 14208 0 R (table.638) 14212 0 R (table.639) 14214 0 R (table.64) 3816 0 R (table.640) 14221 0 R]
+/Limits [(table.636) (table.640)]
+>> endobj
+21070 0 obj <<
+/Names [(table.641) 14223 0 R (table.642) 14225 0 R (table.643) 14226 0 R (table.644) 14233 0 R (table.645) 14234 0 R (table.646) 14236 0 R]
+/Limits [(table.641) (table.646)]
+>> endobj
+21071 0 obj <<
+/Names [(table.647) 14237 0 R (table.648) 14239 0 R (table.649) 14245 0 R (table.65) 3818 0 R (table.650) 14247 0 R (table.651) 14249 0 R]
+/Limits [(table.647) (table.651)]
+>> endobj
+21072 0 obj <<
+/Names [(table.652) 14251 0 R (table.653) 14253 0 R (table.654) 14254 0 R (table.655) 14261 0 R (table.656) 14263 0 R (table.657) 14264 0 R]
+/Limits [(table.652) (table.657)]
+>> endobj
+21073 0 obj <<
+/Names [(table.658) 14266 0 R (table.659) 14267 0 R (table.66) 3819 0 R (table.660) 14269 0 R (table.661) 14270 0 R (table.662) 14278 0 R]
+/Limits [(table.658) (table.662)]
+>> endobj
+21074 0 obj <<
+/Names [(table.663) 14279 0 R (table.664) 14281 0 R (table.665) 14282 0 R (table.666) 14284 0 R (table.667) 14285 0 R (table.668) 14295 0 R]
+/Limits [(table.663) (table.668)]
+>> endobj
+21075 0 obj <<
+/Names [(table.669) 14296 0 R (table.67) 3821 0 R (table.670) 14298 0 R (table.671) 14299 0 R (table.672) 14301 0 R (table.673) 14302 0 R]
+/Limits [(table.669) (table.673)]
+>> endobj
+21076 0 obj <<
+/Names [(table.674) 14310 0 R (table.675) 14312 0 R (table.676) 14314 0 R (table.677) 14316 0 R (table.678) 14318 0 R (table.679) 14319 0 R]
+/Limits [(table.674) (table.679)]
+>> endobj
+21077 0 obj <<
+/Names [(table.68) 3822 0 R (table.680) 14332 0 R (table.681) 14333 0 R (table.682) 14335 0 R (table.683) 14336 0 R (table.684) 14339 0 R]
+/Limits [(table.68) (table.684)]
+>> endobj
+21078 0 obj <<
+/Names [(table.685) 14353 0 R (table.686) 14356 0 R (table.687) 14357 0 R (table.688) 14359 0 R (table.689) 14360 0 R (table.69) 3824 0 R]
+/Limits [(table.685) (table.69)]
+>> endobj
+21079 0 obj <<
+/Names [(table.690) 14370 0 R (table.691) 14371 0 R (table.692) 14373 0 R (table.693) 14374 0 R (table.694) 14376 0 R (table.695) 14385 0 R]
+/Limits [(table.690) (table.695)]
+>> endobj
+21080 0 obj <<
+/Names [(table.696) 14386 0 R (table.697) 14388 0 R (table.698) 14390 0 R (table.699) 14401 0 R (table.7) 2495 0 R (table.70) 3832 0 R]
+/Limits [(table.696) (table.70)]
+>> endobj
+21081 0 obj <<
+/Names [(table.700) 14402 0 R (table.701) 14404 0 R (table.702) 14405 0 R (table.703) 14407 0 R (table.704) 14421 0 R (table.705) 14422 0 R]
+/Limits [(table.700) (table.705)]
+>> endobj
+21082 0 obj <<
+/Names [(table.706) 14424 0 R (table.707) 14426 0 R (table.708) 14439 0 R (table.709) 14440 0 R (table.71) 3834 0 R (table.710) 14442 0 R]
+/Limits [(table.706) (table.710)]
+>> endobj
+21083 0 obj <<
+/Names [(table.711) 14443 0 R (table.712) 14833 0 R (table.713) 14843 0 R (table.714) 14845 0 R (table.715) 14846 0 R (table.716) 14850 0 R]
+/Limits [(table.711) (table.716)]
+>> endobj
+21084 0 obj <<
+/Names [(table.717) 14851 0 R (table.718) 14858 0 R (table.719) 14860 0 R (table.72) 3835 0 R (table.720) 14862 0 R (table.721) 14876 0 R]
+/Limits [(table.717) (table.721)]
+>> endobj
+21085 0 obj <<
+/Names [(table.722) 14877 0 R (table.723) 14991 0 R (table.724) 14992 0 R (table.725) 14994 0 R (table.726) 14996 0 R (table.727) 15151 0 R]
+/Limits [(table.722) (table.727)]
+>> endobj
+21086 0 obj <<
+/Names [(table.728) 15153 0 R (table.729) 15156 0 R (table.73) 3837 0 R (table.730) 15168 0 R (table.731) 15611 0 R (table.732) 15614 0 R]
+/Limits [(table.728) (table.732)]
+>> endobj
+21087 0 obj <<
+/Names [(table.733) 15616 0 R (table.734) 15617 0 R (table.735) 15625 0 R (table.736) 15626 0 R (table.737) 15628 0 R (table.738) 15629 0 R]
+/Limits [(table.733) (table.738)]
+>> endobj
+21088 0 obj <<
+/Names [(table.739) 15631 0 R (table.74) 3838 0 R (table.740) 15637 0 R (table.741) 15639 0 R (table.742) 15640 0 R (table.743) 15642 0 R]
+/Limits [(table.739) (table.743)]
+>> endobj
+21089 0 obj <<
+/Names [(table.744) 15643 0 R (table.745) 15646 0 R (table.746) 15653 0 R (table.747) 15656 0 R (table.748) 15658 0 R (table.749) 15660 0 R]
+/Limits [(table.744) (table.749)]
+>> endobj
+21090 0 obj <<
+/Names [(table.75) 3840 0 R (table.750) 15666 0 R (table.751) 15668 0 R (table.752) 15669 0 R (table.753) 15671 0 R (table.754) 15672 0 R]
+/Limits [(table.75) (table.754)]
+>> endobj
+21091 0 obj <<
+/Names [(table.755) 15679 0 R (table.756) 15680 0 R (table.757) 15682 0 R (table.758) 15684 0 R (table.759) 15691 0 R (table.76) 3841 0 R]
+/Limits [(table.755) (table.76)]
+>> endobj
+21092 0 obj <<
+/Names [(table.760) 15693 0 R (table.761) 15695 0 R (table.762) 15697 0 R (table.763) 15699 0 R (table.764) 15708 0 R (table.765) 15710 0 R]
+/Limits [(table.760) (table.765)]
+>> endobj
+21093 0 obj <<
+/Names [(table.766) 15712 0 R (table.767) 15713 0 R (table.768) 15715 0 R (table.769) 15716 0 R (table.77) 3852 0 R (table.770) 15723 0 R]
+/Limits [(table.766) (table.770)]
+>> endobj
+21094 0 obj <<
+/Names [(table.771) 15724 0 R (table.772) 15726 0 R (table.773) 15728 0 R (table.774) 15729 0 R (table.775) 15731 0 R (table.776) 15732 0 R]
+/Limits [(table.771) (table.776)]
+>> endobj
+21095 0 obj <<
+/Names [(table.777) 15742 0 R (table.778) 15743 0 R (table.779) 15745 0 R (table.78) 3853 0 R (table.780) 15746 0 R (table.781) 15748 0 R]
+/Limits [(table.777) (table.781)]
+>> endobj
+21096 0 obj <<
+/Names [(table.782) 15749 0 R (table.783) 15751 0 R (table.784) 15760 0 R (table.785) 15763 0 R (table.786) 15765 0 R (table.787) 15774 0 R]
+/Limits [(table.782) (table.787)]
+>> endobj
+21097 0 obj <<
+/Names [(table.788) 15775 0 R (table.789) 15777 0 R (table.79) 3855 0 R (table.790) 15778 0 R (table.791) 15780 0 R (table.792) 15792 0 R]
+/Limits [(table.788) (table.792)]
+>> endobj
+21098 0 obj <<
+/Names [(table.793) 15795 0 R (table.794) 15796 0 R (table.795) 15799 0 R (table.796) 15800 0 R (table.797) 15811 0 R (table.798) 15812 0 R]
+/Limits [(table.793) (table.798)]
+>> endobj
+21099 0 obj <<
+/Names [(table.799) 15814 0 R (table.8) 2502 0 R (table.80) 3856 0 R (table.800) 15815 0 R (table.801) 15817 0 R (table.802) 15818 0 R]
+/Limits [(table.799) (table.802)]
+>> endobj
+21100 0 obj <<
+/Names [(table.803) 15832 0 R (table.804) 15833 0 R (table.805) 15846 0 R (table.806) 15847 0 R (table.807) 15849 0 R (table.808) 15850 0 R]
+/Limits [(table.803) (table.808)]
+>> endobj
+21101 0 obj <<
+/Names [(table.809) 15865 0 R (table.81) 3866 0 R (table.810) 15866 0 R (table.811) 15868 0 R (table.812) 15871 0 R (table.813) 15872 0 R]
+/Limits [(table.809) (table.813)]
+>> endobj
+21102 0 obj <<
+/Names [(table.814) 15883 0 R (table.815) 15884 0 R (table.816) 15888 0 R (table.817) 15890 0 R (table.818) 16604 0 R (table.819) 16607 0 R]
+/Limits [(table.814) (table.819)]
+>> endobj
+21103 0 obj <<
+/Names [(table.82) 3867 0 R (table.820) 16608 0 R (table.821) 16610 0 R (table.822) 16611 0 R (table.823) 16618 0 R (table.824) 16619 0 R]
+/Limits [(table.82) (table.824)]
+>> endobj
+21104 0 obj <<
+/Names [(table.825) 16621 0 R (table.826) 16622 0 R (table.827) 16624 0 R (table.828) 16632 0 R (table.829) 16634 0 R (table.83) 3869 0 R]
+/Limits [(table.825) (table.83)]
+>> endobj
+21105 0 obj <<
+/Names [(table.830) 16636 0 R (table.831) 16638 0 R (table.832) 16640 0 R (table.833) 16642 0 R (table.834) 16649 0 R (table.835) 16651 0 R]
+/Limits [(table.830) (table.835)]
+>> endobj
+21106 0 obj <<
+/Names [(table.836) 16652 0 R (table.837) 16654 0 R (table.838) 16655 0 R (table.839) 16665 0 R (table.84) 3870 0 R (table.840) 16666 0 R]
+/Limits [(table.836) (table.840)]
+>> endobj
+21107 0 obj <<
+/Names [(table.841) 16668 0 R (table.842) 16669 0 R (table.843) 16671 0 R (table.844) 16677 0 R (table.845) 16679 0 R (table.846) 16681 0 R]
+/Limits [(table.841) (table.846)]
+>> endobj
+21108 0 obj <<
+/Names [(table.847) 16683 0 R (table.848) 16690 0 R (table.849) 16691 0 R (table.85) 3872 0 R (table.850) 16693 0 R (table.851) 16695 0 R]
+/Limits [(table.847) (table.851)]
+>> endobj
+21109 0 obj <<
+/Names [(table.852) 16697 0 R (table.853) 16698 0 R (table.854) 16700 0 R (table.855) 16701 0 R (table.856) 16708 0 R (table.857) 16709 0 R]
+/Limits [(table.852) (table.857)]
+>> endobj
+21110 0 obj <<
+/Names [(table.858) 16711 0 R (table.859) 16712 0 R (table.86) 3874 0 R (table.860) 16714 0 R (table.861) 16715 0 R (table.862) 16722 0 R]
+/Limits [(table.858) (table.862)]
+>> endobj
+21111 0 obj <<
+/Names [(table.863) 16723 0 R (table.864) 16725 0 R (table.865) 16727 0 R (table.866) 16729 0 R (table.867) 16730 0 R (table.868) 16737 0 R]
+/Limits [(table.863) (table.868)]
+>> endobj
+21112 0 obj <<
+/Names [(table.869) 16738 0 R (table.87) 3883 0 R (table.870) 16740 0 R (table.871) 16741 0 R (table.872) 16743 0 R (table.873) 16753 0 R]
+/Limits [(table.869) (table.873)]
+>> endobj
+21113 0 obj <<
+/Names [(table.874) 16755 0 R (table.875) 16757 0 R (table.876) 16758 0 R (table.877) 16760 0 R (table.878) 16761 0 R (table.879) 16763 0 R]
+/Limits [(table.874) (table.879)]
+>> endobj
+21114 0 obj <<
+/Names [(table.88) 3885 0 R (table.880) 16774 0 R (table.881) 16776 0 R (table.882) 16778 0 R (table.883) 16780 0 R (table.884) 16781 0 R]
+/Limits [(table.88) (table.884)]
+>> endobj
+21115 0 obj <<
+/Names [(table.885) 16792 0 R (table.886) 16793 0 R (table.887) 16795 0 R (table.888) 16796 0 R (table.889) 16798 0 R (table.89) 3887 0 R]
+/Limits [(table.885) (table.89)]
+>> endobj
+21116 0 obj <<
+/Names [(table.890) 16799 0 R (table.891) 16811 0 R (table.892) 16812 0 R (table.893) 16815 0 R (table.894) 16816 0 R (table.895) 16818 0 R]
+/Limits [(table.890) (table.895)]
+>> endobj
+21117 0 obj <<
+/Names [(table.896) 16828 0 R (table.897) 16830 0 R (table.898) 16831 0 R (table.899) 16833 0 R (table.9) 2503 0 R (table.90) 3889 0 R]
+/Limits [(table.896) (table.90)]
+>> endobj
+21118 0 obj <<
+/Names [(table.900) 16834 0 R (table.901) 16836 0 R (table.902) 16846 0 R (table.903) 16847 0 R (table.904) 16849 0 R (table.905) 16865 0 R]
+/Limits [(table.900) (table.905)]
+>> endobj
+21119 0 obj <<
+/Names [(table.906) 16867 0 R (table.907) 16868 0 R (table.908) 16871 0 R (table.909) 16872 0 R (table.91) 3900 0 R (table.910) 16874 0 R]
+/Limits [(table.906) (table.910)]
+>> endobj
+21120 0 obj <<
+/Names [(table.911) 16888 0 R (table.912) 16890 0 R (table.913) 16891 0 R (table.914) 16894 0 R (table.915) 16895 0 R (table.916) 16897 0 R]
+/Limits [(table.911) (table.916)]
+>> endobj
+21121 0 obj <<
+/Names [(table.917) 16905 0 R (table.918) 16907 0 R (table.919) 16908 0 R (table.92) 3901 0 R (table.920) 16910 0 R (table.921) 16911 0 R]
+/Limits [(table.917) (table.921)]
+>> endobj
+21122 0 obj <<
+/Names [(table.922) 16924 0 R (table.923) 16926 0 R (table.924) 16927 0 R (table.925) 16929 0 R (table.926) 16931 0 R (table.927) 16946 0 R]
+/Limits [(table.922) (table.927)]
+>> endobj
+21123 0 obj <<
+/Names [(table.928) 16947 0 R (table.929) 16949 0 R (table.93) 3903 0 R (table.930) 16950 0 R (table.931) 16959 0 R (table.932) 16962 0 R]
+/Limits [(table.928) (table.932)]
+>> endobj
+21124 0 obj <<
+/Names [(table.933) 16964 0 R (table.934) 16972 0 R (table.935) 16974 0 R (table.936) 17200 0 R (table.937) 17245 0 R (table.938) 17276 0 R]
+/Limits [(table.933) (table.938)]
+>> endobj
+21125 0 obj <<
+/Names [(table.939) 17338 0 R (table.94) 3904 0 R (table.940) 17352 0 R (table.941) 17474 0 R (table.942) 17567 0 R (table.943) 17569 0 R]
+/Limits [(table.939) (table.943)]
+>> endobj
+21126 0 obj <<
+/Names [(table.95) 3906 0 R (table.96) 3907 0 R (table.97) 3916 0 R (table.98) 3917 0 R (table.99) 3919 0 R]
+/Limits [(table.95) (table.99)]
+>> endobj
+21127 0 obj <<
+/Kids [20062 0 R 20063 0 R 20064 0 R 20065 0 R 20066 0 R 20067 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1BD__Shape_a1f8426558552c358c30b6263c758fe51)]
+>> endobj
+21128 0 obj <<
+/Kids [20068 0 R 20069 0 R 20070 0 R 20071 0 R 20072 0 R 20073 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a20814dec69b3a6602b70a9ad50db9b2a) (classParma__Polyhedra__Library_1_1BD__Shape_a641b55dd6c26bce06bd8041b38aec873)]
+>> endobj
+21129 0 obj <<
+/Kids [20074 0 R 20075 0 R 20076 0 R 20077 0 R 20078 0 R 20079 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a668cbd7cea86f47c4e2b303468083712) (classParma__Polyhedra__Library_1_1BD__Shape_aaf0d15460d44b410c5a223d13b447b1a)]
+>> endobj
+21130 0 obj <<
+/Kids [20080 0 R 20081 0 R 20082 0 R 20083 0 R 20084 0 R 20085 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_ab054f67fb31ea4e860dd7c24c0b56676) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a67b4e0eba7692bced073431cd3cc22ae)]
+>> endobj
+21131 0 obj <<
+/Kids [20086 0 R 20087 0 R 20088 0 R 20089 0 R 20090 0 R 20091 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_a6ab41afc79135511037718442fcad4d4) (classParma__Polyhedra__Library_1_1Box_a339a341a2f7d60de83e4feb3e8986558)]
+>> endobj
+21132 0 obj <<
+/Kids [20092 0 R 20093 0 R 20094 0 R 20095 0 R 20096 0 R 20097 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a36a9d0801d846225758faab4be3cc7e4) (classParma__Polyhedra__Library_1_1Box_a857138d532c5352b43623e6b5e5a629b)]
+>> endobj
+21133 0 obj <<
+/Kids [20098 0 R 20099 0 R 20100 0 R 20101 0 R 20102 0 R 20103 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) (classParma__Polyhedra__Library_1_1Box_ac86971c152fbb8d2d486d7396ad6b142)]
+>> endobj
+21134 0 obj <<
+/Kids [20104 0 R 20105 0 R 20106 0 R 20107 0 R 20108 0 R 20109 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ac8a2f81fc1c5b99600d406300792119f) (classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_abed774daa9ed3c470c7fd237bf40e28c)]
+>> endobj
+21135 0 obj <<
+/Kids [20110 0 R 20111 0 R 20112 0 R 20113 0 R 20114 0 R 20115 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1CO__Tree_1_1const__iterator_ac1af3129a578ad1519defead5bf9dfa4) (classParma__Polyhedra__Library_1_1C__Polyhedron_a6f581bf46ab0488f444977453ba2ea2d)]
+>> endobj
+21136 0 obj <<
+/Kids [20116 0 R 20117 0 R 20118 0 R 20119 0 R 20120 0 R 20121 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_a75d4c8a80362dcd840c664b8c3c8182c) (classParma__Polyhedra__Library_1_1Checked__Number_a1c255ab3c82434e261f010d0590810c0)]
+>> endobj
+21137 0 obj <<
+/Kids [20122 0 R 20123 0 R 20124 0 R 20125 0 R 20126 0 R 20127 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a1ccbc462776ddeb1052d4c4fb35da65a) (classParma__Polyhedra__Library_1_1Checked__Number_a65b1cc4ac0c0c8a2efcbf3d36d4ac0ac)]
+>> endobj
+21138 0 obj <<
+/Kids [20128 0 R 20129 0 R 20130 0 R 20131 0 R 20132 0 R 20133 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a6957dba3dbf92459a364893d7ecfb897) (classParma__Polyhedra__Library_1_1Checked__Number_ab2c74f72a54a0b6a18906c124de256a9)]
+>> endobj
+21139 0 obj <<
+/Kids [20134 0 R 20135 0 R 20136 0 R 20137 0 R 20138 0 R 20139 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) (classParma__Polyhedra__Library_1_1Concrete__Expression__Common)]
+>> endobj
+21140 0 obj <<
+/Kids [20140 0 R 20141 0 R 20142 0 R 20143 0 R 20144 0 R 20145 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Concrete__Expression__Common_a603e2a97c5ea7e4e81bad4464a9aba2b) (classParma__Polyhedra__Library_1_1Congruence__System_a0a4f8e3f3469f021594ea9311c21aadd)]
+>> endobj
+21141 0 obj <<
+/Kids [20146 0 R 20147 0 R 20148 0 R 20149 0 R 20150 0 R 20151 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_a0bf701759fc56f8fb215c273e53b46ae) (classParma__Polyhedra__Library_1_1Congruence__System_ae4a4890ceb257496b788e0d31dbf6d7f)]
+>> endobj
+21142 0 obj <<
+/Kids [20152 0 R 20153 0 R 20154 0 R 20155 0 R 20156 0 R 20157 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_aea6d543c90be52299d6ffc57fc9ba5d1) (classParma__Polyhedra__Library_1_1Congruence_a8aab82f7118966662582f88725ce4735)]
+>> endobj
+21143 0 obj <<
+/Kids [20158 0 R 20159 0 R 20160 0 R 20161 0 R 20162 0 R 20163 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_a94b3624c208219e401569cd289049b38) (classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a79a27720fc3f7a3e989f10ebdb6b2800)]
+>> endobj
+21144 0 obj <<
+/Kids [20164 0 R 20165 0 R 20166 0 R 20167 0 R 20168 0 R 20169 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constant__Floating__Point__Expression_a843388f4bb21a15bf18a841237a8a617) (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad)]
+>> endobj
+21145 0 obj <<
+/Kids [20170 0 R 20171 0 R 20172 0 R 20173 0 R 20174 0 R 20175 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) (classParma__Polyhedra__Library_1_1Constraint_a3c920e734593812d8529bc12be6f503e)]
+>> endobj
+21146 0 obj <<
+/Kids [20176 0 R 20177 0 R 20178 0 R 20179 0 R 20180 0 R 20181 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_a405f3dfb1b620defbadb0b2f103b8f28) (classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6aba7491a8ba26958c3e27bed23b7eef1a7e)]
+>> endobj
+21147 0 obj <<
+/Kids [20182 0 R 20183 0 R 20184 0 R 20185 0 R 20186 0 R 20187 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_ac9b8aa34a8ed8e2c3c38d0435adff6abab5b32713c840499d9e29facf95a17f41) (classParma__Polyhedra__Library_1_1Determinate_a5fc66875bf8b6a2838028fc66ce3f2be)]
+>> endobj
+21148 0 obj <<
+/Kids [20188 0 R 20189 0 R 20190 0 R 20191 0 R 20192 0 R 20193 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a6c75bb083e814ae12c8df6a2cd63fda6) (classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_aadb6d4669e8aa852e2f3d11e40c8c211)]
+>> endobj
+21149 0 obj <<
+/Kids [20194 0 R 20195 0 R 20196 0 R 20197 0 R 20198 0 R 20199 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Division__Floating__Point__Expression_ab33acaf64e56c6c81ec31eeed6f86d35) (classParma__Polyhedra__Library_1_1GMP__Integer_a84565fd9471a52f83618d0d5ce461c3c)]
+>> endobj
+21150 0 obj <<
+/Kids [20200 0 R 20201 0 R 20202 0 R 20203 0 R 20204 0 R 20205 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_a952922658abcdfb880fcf0a8483c9620) (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d)]
+>> endobj
+21151 0 obj <<
+/Kids [20206 0 R 20207 0 R 20208 0 R 20209 0 R 20210 0 R 20211 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) (classParma__Polyhedra__Library_1_1Generator_a475ead5848d02d5c879bb96f22ce1cc5)]
+>> endobj
+21152 0 obj <<
+/Kids [20212 0 R 20213 0 R 20214 0 R 20215 0 R 20216 0 R 20217 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_a4904a65badd41facf2b598f09eb726a5) (classParma__Polyhedra__Library_1_1Generator_ab5a5a3f29a348a7280c00b8742a8222e)]
+>> endobj
+21153 0 obj <<
+/Kids [20218 0 R 20219 0 R 20220 0 R 20221 0 R 20222 0 R 20223 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_ab6e741ec611a4779e6b45c4acd821181) (classParma__Polyhedra__Library_1_1Grid__Generator)]
+>> endobj
+21154 0 obj <<
+/Kids [20224 0 R 20225 0 R 20226 0 R 20227 0 R 20228 0 R 20229 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System) (classParma__Polyhedra__Library_1_1Grid__Generator__System_aa09a1ddc7936a5377e838cb44610548e)]
+>> endobj
+21155 0 obj <<
+/Kids [20230 0 R 20231 0 R 20232 0 R 20233 0 R 20234 0 R 20235 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_aafcd2b876b8ea8235219720a10cf6e8e) (classParma__Polyhedra__Library_1_1Grid__Generator_a41227446c918730e97998799bfe04da6)]
+>> endobj
+21156 0 obj <<
+/Kids [20236 0 R 20237 0 R 20238 0 R 20239 0 R 20240 0 R 20241 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_a44d16f88718ec30357b12b5185b033e0) (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c)]
+>> endobj
+21157 0 obj <<
+/Kids [20242 0 R 20243 0 R 20244 0 R 20245 0 R 20246 0 R 20247 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) (classParma__Polyhedra__Library_1_1Grid_a2d4a31320735e93af31c8d2cc7e78329)]
+>> endobj
+21158 0 obj <<
+/Kids [20248 0 R 20249 0 R 20250 0 R 20251 0 R 20252 0 R 20253 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a2f31170286d3abc2f4867d0b193ae8bc) (classParma__Polyhedra__Library_1_1Grid_a8d2cc5d18d050975101f2860f2919da8)]
+>> endobj
+21159 0 obj <<
+/Kids [20254 0 R 20255 0 R 20256 0 R 20257 0 R 20258 0 R 20259 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_a8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid_ae8d42fcd571a9c9d64f0e7ffe67e995e)]
+>> endobj
+21160 0 obj <<
+/Kids [20260 0 R 20261 0 R 20262 0 R 20263 0 R 20264 0 R 20265 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_aeb9b562373b4d288c03549bdba93fede) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ac3cebc5fc52879ce539aaf78bf585f1e)]
+>> endobj
+21161 0 obj <<
+/Kids [20266 0 R 20267 0 R 20268 0 R 20269 0 R 20270 0 R 20271 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1EList__Iterator_ad2f6505da3244481da4a207f727147c0) (classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a7e590338a93fccabc6523fde997f8d73)]
+>> endobj
+21162 0 obj <<
+/Kids [20272 0 R 20273 0 R 20274 0 R 20275 0 R 20276 0 R 20277 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Implementation_1_1Watchdog_1_1Pending__List_a80ba640b32901e54e1d60d760c74fa90) (classParma__Polyhedra__Library_1_1Linear__Expression)]
+>> endobj
+21163 0 obj <<
+/Kids [20278 0 R 20279 0 R 20280 0 R 20281 0 R 20282 0 R 20283 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) (classParma__Polyhedra__Library_1_1Linear__Expression_a15c22785d951d9f8f6ec2e14f07b2dc1)]
+>> endobj
+21164 0 obj <<
+/Kids [20284 0 R 20285 0 R 20286 0 R 20287 0 R 20288 0 R 20289 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a2666c570468f53609bf420024a12628d) (classParma__Polyhedra__Library_1_1Linear__Expression_a6e35bc42eb22008e842e81b150eeab6f)]
+>> endobj
+21165 0 obj <<
+/Kids [20290 0 R 20291 0 R 20292 0 R 20293 0 R 20294 0 R 20295 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_a6ea3cf85efb71cf62fa3e233c9e9cf7b) (classParma__Polyhedra__Library_1_1Linear__Expression_ac9ef23a57b1e85eb8c0e905b16feda93)]
+>> endobj
+21166 0 obj <<
+/Kids [20296 0 R 20297 0 R 20298 0 R 20299 0 R 20300 0 R 20301 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_aca00917f32f160b28b9870beb5ce5f8d) (classParma__Polyhedra__Library_1_1Linear__Form_a4d12b35e0dd97b7319d536f692f50150)]
+>> endobj
+21167 0 obj <<
+/Kids [20302 0 R 20303 0 R 20304 0 R 20305 0 R 20306 0 R 20307 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_a4dbb70694594789f52b71511d56b9e30) (classParma__Polyhedra__Library_1_1Linear__Form_ad326f3bec17300467f639ba345f2dd22)]
+>> endobj
+21168 0 obj <<
+/Kids [20308 0 R 20309 0 R 20310 0 R 20311 0 R 20312 0 R 20313 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Form_adb40b5b841a737ad5e7b8924335eef3a) (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3)]
+>> endobj
+21169 0 obj <<
+/Kids [20314 0 R 20315 0 R 20316 0 R 20317 0 R 20318 0 R 20319 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a3a94fde78bde319c0c1806ff074dea70) (classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a598c3862b9f9e720061d5d3e87995840)]
+>> endobj
+21170 0 obj <<
+/Kids [20320 0 R 20321 0 R 20322 0 R 20323 0 R 20324 0 R 20325 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Multiplication__Floating__Point__Expression_a7ff53437f750fd3ce8781dd441d7c304) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d1677ef76c939ca2025722d2ee249e2)]
+>> endobj
+21171 0 obj <<
+/Kids [20326 0 R 20327 0 R 20328 0 R 20329 0 R 20330 0 R 20331 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a0d4db6f54c7332e1a2e0bc85e16ba176) (classParma__Polyhedra__Library_1_1Octagonal__Shape_a508d952b878adf2e55d70d6ca1e64d04)]
+>> endobj
+21172 0 obj <<
+/Kids [20332 0 R 20333 0 R 20334 0 R 20335 0 R 20336 0 R 20337 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_a50ca45a8cfc186aa1fd90160b643d766) (classParma__Polyhedra__Library_1_1Octagonal__Shape_aafdd0083c1c10d49e06f4718a826ae1b)]
+>> endobj
+21173 0 obj <<
+/Kids [20338 0 R 20339 0 R 20340 0 R 20341 0 R 20342 0 R 20343 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ab030b7a285d9b5e6470263311eeb87f4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af2c70f89a472f7fa34ba64817693776a)]
+>> endobj
+21174 0 obj <<
+/Kids [20344 0 R 20345 0 R 20346 0 R 20347 0 R 20348 0 R 20349 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_af3135ed5b5cb04d1e8a54fa9be77b90f) (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece)]
+>> endobj
+21175 0 obj <<
+/Kids [20350 0 R 20351 0 R 20352 0 R 20353 0 R 20354 0 R 20355 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) (classParma__Polyhedra__Library_1_1PIP__Problem_ad750455647786b5cb28c5422930f0ec0)]
+>> endobj
+21176 0 obj <<
+/Kids [20356 0 R 20357 0 R 20358 0 R 20359 0 R 20360 0 R 20361 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_ae37362cbad36fd84d0896ab2f30679f3) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a6cb598653a5f9e64b0b42b88e5a9b5d1)]
+>> endobj
+21177 0 obj <<
+/Kids [20362 0 R 20363 0 R 20364 0 R 20365 0 R 20366 0 R 20367 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_1_1Artificial__Parameter_a78184503805baea26065449944702c97) (classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac963d832360fbbf4936bd81bd82f4d44)]
+>> endobj
+21178 0 obj <<
+/Kids [20368 0 R 20369 0 R 20370 0 R 20371 0 R 20372 0 R 20373 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Tree__Node_ac9be59196bce4192897f34838353409b) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3b90222087f1b165953960beac112e72)]
+>> endobj
+21179 0 obj <<
+/Kids [20374 0 R 20375 0 R 20376 0 R 20377 0 R 20378 0 R 20379 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a3be7b3a04406453631aef24b817565a5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a9be620ae3a5afa0a9d5b89acfdae387a)]
+>> endobj
+21180 0 obj <<
+/Kids [20380 0 R 20381 0 R 20382 0 R 20383 0 R 20384 0 R 20385 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_aa2a8683afd33a1d57db43c9db16de1f5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298)]
+>> endobj
+21181 0 obj <<
+/Kids [20386 0 R 20387 0 R 20388 0 R 20389 0 R 20390 0 R 20391 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a741a79dbeefc27764532e2be63120ff8)]
+>> endobj
+21182 0 obj <<
+/Kids [20392 0 R 20393 0 R 20394 0 R 20395 0 R 20396 0 R 20397 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a754588d1a8135cb2944e9cc0fd6ec486) (classParma__Polyhedra__Library_1_1Pointset__Powerset_acf126b6efb5eac0ac1b9228cfca539f4)]
+>> endobj
+21183 0 obj <<
+/Kids [20398 0 R 20399 0 R 20400 0 R 20401 0 R 20402 0 R 20403 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_acfb675b82bc6829361d1647880a2e00d) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_aa4b60ce3ac62aee15faac1b5035fdb4d)]
+>> endobj
+21184 0 obj <<
+/Kids [20404 0 R 20405 0 R 20406 0 R 20407 0 R 20408 0 R 20409 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_ab92b75d150bd5fbfc03cadec75d59e0f) (classParma__Polyhedra__Library_1_1Polyhedron_a281b8db6a8e0014ab2c41dd15f8c0708)]
+>> endobj
+21185 0 obj <<
+/Kids [20410 0 R 20411 0 R 20412 0 R 20413 0 R 20414 0 R 20415 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a2bf7987a6ee3547c1e125e83e432ee2a) (classParma__Polyhedra__Library_1_1Polyhedron_a8132d1a9b329271fb4f7faeb59c89c39)]
+>> endobj
+21186 0 obj <<
+/Kids [20416 0 R 20417 0 R 20418 0 R 20419 0 R 20420 0 R 20421 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a858e0030826ee6c29545a934166874ef) (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932)]
+>> endobj
+21187 0 obj <<
+/Kids [20422 0 R 20423 0 R 20424 0 R 20425 0 R 20426 0 R 20427 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ad020ca98ef94bc16e1050da4e0d54971) (classParma__Polyhedra__Library_1_1Powerset_a277ba920e188477bb301196b19d63770)]
+>> endobj
+21188 0 obj <<
+/Kids [20428 0 R 20429 0 R 20430 0 R 20431 0 R 20432 0 R 20433 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a2edf5fe7007a3e91a404546ca2f2d98c) (classParma__Polyhedra__Library_1_1Powerset_adef4c62b5cdf5186801c592cc62dccea)]
+>> endobj
+21189 0 obj <<
+/Kids [20434 0 R 20435 0 R 20436 0 R 20437 0 R 20438 0 R 20439 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_ae006881831b298f0af5031e99df2bc6f) (classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a0ca3ec141b70de5ebcbf18d22aa1242f)]
+>> endobj
+21190 0 obj <<
+/Kids [20440 0 R 20441 0 R 20442 0 R 20443 0 R 20444 0 R 20445 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variable__Floating__Point__Expression_a104ead3dc8b407e3246dc9e3c6040713) (classParma__Polyhedra__Library_1_1Variables__Set_aca3690ce9d77a85740cdf8a508edf127)]
+>> endobj
+21191 0 obj <<
+/Kids [20446 0 R 20447 0 R 20448 0 R 20449 0 R 20450 0 R 20451 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_ada205f4442f845f797fb108c121fe371) (group__PPL__CXX__interface_ga62bbf00f3cdb29436772c58f7f2bb67e)]
+>> endobj
+21192 0 obj <<
+/Kids [20452 0 R 20453 0 R 20454 0 R 20455 0 R 20456 0 R 20457 0 R]
+/Limits [(group__PPL__CXX__interface_ga6aaca5d438457de4baabe545c7e732f0) (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416)]
+>> endobj
+21193 0 obj <<
+/Kids [20458 0 R 20459 0 R 20460 0 R 20461 0 R 20462 0 R 20463 0 R]
+/Limits [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) (group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a4194f750c76fb24d6e5930e1696076c4)]
+>> endobj
+21194 0 obj <<
+/Kids [20464 0 R 20465 0 R 20466 0 R 20467 0 R 20468 0 R 20469 0 R]
+/Limits [(group__PPL__CXX__interface_ggaa88e9b9cb2588cbf5914695fc14e69a8a44e009680d1b9995b04ac762c6ef8057) (index_BCCetal02)]
+>> endobj
+21195 0 obj <<
+/Kids [20470 0 R 20471 0 R 20472 0 R 20473 0 R 20474 0 R 20475 0 R]
+/Limits [(index_BDHetal05) (index_BMPZ12a)]
+>> endobj
+21196 0 obj <<
+/Kids [20476 0 R 20477 0 R 20478 0 R 20479 0 R 20480 0 R 20481 0 R]
+/Limits [(index_BMPZ12b) (index_Fea88)]
+>> endobj
+21197 0 obj <<
+/Kids [20482 0 R 20483 0 R 20484 0 R 20485 0 R 20486 0 R 20487 0 R]
+/Limits [(index_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) (index_HPWT01)]
+>> endobj
+21198 0 obj <<
+/Kids [20488 0 R 20489 0 R 20490 0 R 20491 0 R 20492 0 R 20493 0 R]
+/Limits [(index_Hal79) (index_Operations_on_Convex_Polyhedra)]
+>> endobj
+21199 0 obj <<
+/Kids [20494 0 R 20495 0 R 20496 0 R 20497 0 R 20498 0 R 20499 0 R]
+/Limits [(index_PS98) (index_Weakly_Relational_Shapes)]
+>> endobj
+21200 0 obj <<
+/Kids [20500 0 R 20501 0 R 20502 0 R 20503 0 R 20504 0 R 20505 0 R]
+/Limits [(index_Wey35) (index_sect_rational_grids)]
+>> endobj
+21201 0 obj <<
+/Kids [20506 0 R 20507 0 R 20508 0 R 20509 0 R 20510 0 R 20511 0 R]
+/Limits [(index_use_of_library) (namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a468389fd24e4a478d296cbcf6b104eb0)]
+>> endobj
+21202 0 obj <<
+/Kids [20512 0 R 20513 0 R 20514 0 R 20515 0 R 20516 0 R 20517 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_ae511c510b0e7687e7866c274f3a06a98a4e456df02ee601b05831536311de132c) (page.120)]
+>> endobj
+21203 0 obj <<
+/Kids [20518 0 R 20519 0 R 20520 0 R 20521 0 R 20522 0 R 20523 0 R]
+/Limits [(page.121) (page.151)]
+>> endobj
+21204 0 obj <<
+/Kids [20524 0 R 20525 0 R 20526 0 R 20527 0 R 20528 0 R 20529 0 R]
+/Limits [(page.152) (page.182)]
+>> endobj
+21205 0 obj <<
+/Kids [20530 0 R 20531 0 R 20532 0 R 20533 0 R 20534 0 R 20535 0 R]
+/Limits [(page.183) (page.214)]
+>> endobj
+21206 0 obj <<
+/Kids [20536 0 R 20537 0 R 20538 0 R 20539 0 R 20540 0 R 20541 0 R]
+/Limits [(page.215) (page.246)]
+>> endobj
+21207 0 obj <<
+/Kids [20542 0 R 20543 0 R 20544 0 R 20545 0 R 20546 0 R 20547 0 R]
+/Limits [(page.247) (page.279)]
+>> endobj
+21208 0 obj <<
+/Kids [20548 0 R 20549 0 R 20550 0 R 20551 0 R 20552 0 R 20553 0 R]
+/Limits [(page.28) (page.309)]
+>> endobj
+21209 0 obj <<
+/Kids [20554 0 R 20555 0 R 20556 0 R 20557 0 R 20558 0 R 20559 0 R]
+/Limits [(page.31) (page.340)]
+>> endobj
+21210 0 obj <<
+/Kids [20560 0 R 20561 0 R 20562 0 R 20563 0 R 20564 0 R 20565 0 R]
+/Limits [(page.341) (page.371)]
+>> endobj
+21211 0 obj <<
+/Kids [20566 0 R 20567 0 R 20568 0 R 20569 0 R 20570 0 R 20571 0 R]
+/Limits [(page.372) (page.400)]
+>> endobj
+21212 0 obj <<
+/Kids [20572 0 R 20573 0 R 20574 0 R 20575 0 R 20576 0 R 20577 0 R]
+/Limits [(page.401) (page.431)]
+>> endobj
+21213 0 obj <<
+/Kids [20578 0 R 20579 0 R 20580 0 R 20581 0 R 20582 0 R 20583 0 R]
+/Limits [(page.432) (page.463)]
+>> endobj
+21214 0 obj <<
+/Kids [20584 0 R 20585 0 R 20586 0 R 20587 0 R 20588 0 R 20589 0 R]
+/Limits [(page.464) (page.495)]
+>> endobj
+21215 0 obj <<
+/Kids [20590 0 R 20591 0 R 20592 0 R 20593 0 R 20594 0 R 20595 0 R]
+/Limits [(page.496) (page.527)]
+>> endobj
+21216 0 obj <<
+/Kids [20596 0 R 20597 0 R 20598 0 R 20599 0 R 20600 0 R 20601 0 R]
+/Limits [(page.528) (page.56)]
+>> endobj
+21217 0 obj <<
+/Kids [20602 0 R 20603 0 R 20604 0 R 20605 0 R 20606 0 R 20607 0 R]
+/Limits [(page.560) (page.592)]
+>> endobj
+21218 0 obj <<
+/Kids [20608 0 R 20609 0 R 20610 0 R 20611 0 R 20612 0 R 20613 0 R]
+/Limits [(page.593) (page.89)]
+>> endobj
+21219 0 obj <<
+/Kids [20614 0 R 20615 0 R 20616 0 R 20617 0 R 20618 0 R 20619 0 R]
+/Limits [(page.9) (paragraph.10.13.3.20)]
+>> endobj
+21220 0 obj <<
+/Kids [20620 0 R 20621 0 R 20622 0 R 20623 0 R 20624 0 R 20625 0 R]
+/Limits [(paragraph.10.13.3.21) (paragraph.10.13.3.53)]
+>> endobj
+21221 0 obj <<
+/Kids [20626 0 R 20627 0 R 20628 0 R 20629 0 R 20630 0 R 20631 0 R]
+/Limits [(paragraph.10.13.3.54) (paragraph.10.21.4.12)]
+>> endobj
+21222 0 obj <<
+/Kids [20632 0 R 20633 0 R 20634 0 R 20635 0 R 20636 0 R 20637 0 R]
+/Limits [(paragraph.10.21.4.2) (paragraph.10.22.4.3)]
+>> endobj
+21223 0 obj <<
+/Kids [20638 0 R 20639 0 R 20640 0 R 20641 0 R 20642 0 R 20643 0 R]
+/Limits [(paragraph.10.22.4.4) (paragraph.10.3.2.1)]
+>> endobj
+21224 0 obj <<
+/Kids [20644 0 R 20645 0 R 20646 0 R 20647 0 R 20648 0 R 20649 0 R]
+/Limits [(paragraph.10.3.3.1) (paragraph.10.32.6.18)]
+>> endobj
+21225 0 obj <<
+/Kids [20650 0 R 20651 0 R 20652 0 R 20653 0 R 20654 0 R 20655 0 R]
+/Limits [(paragraph.10.32.6.19) (paragraph.10.32.6.7)]
+>> endobj
+21226 0 obj <<
+/Kids [20656 0 R 20657 0 R 20658 0 R 20659 0 R 20660 0 R 20661 0 R]
+/Limits [(paragraph.10.32.6.8) (paragraph.10.4.3.13)]
+>> endobj
+21227 0 obj <<
+/Kids [20662 0 R 20663 0 R 20664 0 R 20665 0 R 20666 0 R 20667 0 R]
+/Limits [(paragraph.10.4.3.14) (paragraph.10.4.3.46)]
+>> endobj
+21228 0 obj <<
+/Kids [20668 0 R 20669 0 R 20670 0 R 20671 0 R 20672 0 R 20673 0 R]
+/Limits [(paragraph.10.4.3.47) (paragraph.10.4.4.19)]
+>> endobj
+21229 0 obj <<
+/Kids [20674 0 R 20675 0 R 20676 0 R 20677 0 R 20678 0 R 20679 0 R]
+/Limits [(paragraph.10.4.4.2) (paragraph.10.47.5.2)]
+>> endobj
+21230 0 obj <<
+/Kids [20680 0 R 20681 0 R 20682 0 R 20683 0 R 20684 0 R 20685 0 R]
+/Limits [(paragraph.10.47.5.3) (paragraph.10.47.6.35)]
+>> endobj
+21231 0 obj <<
+/Kids [20686 0 R 20687 0 R 20688 0 R 20689 0 R 20690 0 R 20691 0 R]
+/Limits [(paragraph.10.47.6.36) (paragraph.10.51.2.12)]
+>> endobj
+21232 0 obj <<
+/Kids [20692 0 R 20693 0 R 20694 0 R 20695 0 R 20696 0 R 20697 0 R]
+/Limits [(paragraph.10.51.2.2) (paragraph.10.51.3.34)]
+>> endobj
+21233 0 obj <<
+/Kids [20698 0 R 20699 0 R 20700 0 R 20701 0 R 20702 0 R 20703 0 R]
+/Limits [(paragraph.10.51.3.35) (paragraph.10.51.4.3)]
+>> endobj
+21234 0 obj <<
+/Kids [20704 0 R 20705 0 R 20706 0 R 20707 0 R 20708 0 R 20709 0 R]
+/Limits [(paragraph.10.51.4.4) (paragraph.10.53.6.7)]
+>> endobj
+21235 0 obj <<
+/Kids [20710 0 R 20711 0 R 20712 0 R 20713 0 R 20714 0 R 20715 0 R]
+/Limits [(paragraph.10.53.6.8) (paragraph.10.63.2.10)]
+>> endobj
+21236 0 obj <<
+/Kids [20716 0 R 20717 0 R 20718 0 R 20719 0 R 20720 0 R 20721 0 R]
+/Limits [(paragraph.10.63.2.11) (paragraph.10.63.4.16)]
+>> endobj
+21237 0 obj <<
+/Kids [20722 0 R 20723 0 R 20724 0 R 20725 0 R 20726 0 R 20727 0 R]
+/Limits [(paragraph.10.63.4.17) (paragraph.10.63.4.49)]
+>> endobj
+21238 0 obj <<
+/Kids [20728 0 R 20729 0 R 20730 0 R 20731 0 R 20732 0 R 20733 0 R]
+/Limits [(paragraph.10.63.4.5) (paragraph.10.64.4.23)]
+>> endobj
+21239 0 obj <<
+/Kids [20734 0 R 20735 0 R 20736 0 R 20737 0 R 20738 0 R 20739 0 R]
+/Limits [(paragraph.10.64.4.24) (paragraph.10.64.4.56)]
+>> endobj
+21240 0 obj <<
+/Kids [20740 0 R 20741 0 R 20742 0 R 20743 0 R 20744 0 R 20745 0 R]
+/Limits [(paragraph.10.64.4.6) (paragraph.10.67.2.5)]
+>> endobj
+21241 0 obj <<
+/Kids [20746 0 R 20747 0 R 20748 0 R 20749 0 R 20750 0 R 20751 0 R]
+/Limits [(paragraph.10.67.2.6) (paragraph.10.70.3.27)]
+>> endobj
+21242 0 obj <<
+/Kids [20752 0 R 20753 0 R 20754 0 R 20755 0 R 20756 0 R 20757 0 R]
+/Limits [(paragraph.10.70.3.28) (paragraph.10.70.3.6)]
+>> endobj
+21243 0 obj <<
+/Kids [20758 0 R 20759 0 R 20760 0 R 20761 0 R 20762 0 R 20763 0 R]
+/Limits [(paragraph.10.70.3.60) (paragraph.10.71.3.1)]
+>> endobj
+21244 0 obj <<
+/Kids [20764 0 R 20765 0 R 20766 0 R 20767 0 R 20768 0 R 20769 0 R]
+/Limits [(paragraph.10.71.3.2) (paragraph.10.72.3.3)]
+>> endobj
+21245 0 obj <<
+/Kids [20770 0 R 20771 0 R 20772 0 R 20773 0 R 20774 0 R 20775 0 R]
+/Limits [(paragraph.10.72.3.30) (paragraph.10.76.3.2)]
+>> endobj
+21246 0 obj <<
+/Kids [20776 0 R 20777 0 R 20778 0 R 20779 0 R 20780 0 R 20781 0 R]
+/Limits [(paragraph.10.76.4.1) (paragraph.10.79.3.10)]
+>> endobj
+21247 0 obj <<
+/Kids [20782 0 R 20783 0 R 20784 0 R 20785 0 R 20786 0 R 20787 0 R]
+/Limits [(paragraph.10.79.3.11) (paragraph.10.79.3.43)]
+>> endobj
+21248 0 obj <<
+/Kids [20788 0 R 20789 0 R 20790 0 R 20791 0 R 20792 0 R 20793 0 R]
+/Limits [(paragraph.10.79.3.44) (paragraph.10.8.2.6)]
+>> endobj
+21249 0 obj <<
+/Kids [20794 0 R 20795 0 R 20796 0 R 20797 0 R 20798 0 R 20799 0 R]
+/Limits [(paragraph.10.8.2.7) (paragraph.10.8.3.39)]
+>> endobj
+21250 0 obj <<
+/Kids [20800 0 R 20801 0 R 20802 0 R 20803 0 R 20804 0 R 20805 0 R]
+/Limits [(paragraph.10.8.3.4) (paragraph.10.8.4.14)]
+>> endobj
+21251 0 obj <<
+/Kids [20806 0 R 20807 0 R 20808 0 R 20809 0 R 20810 0 R 20811 0 R]
+/Limits [(paragraph.10.8.4.15) (paragraph.10.82.2.2)]
+>> endobj
+21252 0 obj <<
+/Kids [20812 0 R 20813 0 R 20814 0 R 20815 0 R 20816 0 R 20817 0 R]
+/Limits [(paragraph.10.82.2.3) (paragraph.10.82.3.37)]
+>> endobj
+21253 0 obj <<
+/Kids [20818 0 R 20819 0 R 20820 0 R 20821 0 R 20822 0 R 20823 0 R]
+/Limits [(paragraph.10.82.3.38) (paragraph.10.82.3.7)]
+>> endobj
+21254 0 obj <<
+/Kids [20824 0 R 20825 0 R 20826 0 R 20827 0 R 20828 0 R 20829 0 R]
+/Limits [(paragraph.10.82.3.70) (paragraph.10.9.2.2)]
+>> endobj
+21255 0 obj <<
+/Kids [20830 0 R 20831 0 R 20832 0 R 20833 0 R 20834 0 R 20835 0 R]
+/Limits [(paragraph.10.9.2.3) (paragraph.8.1.4.5)]
+>> endobj
+21256 0 obj <<
+/Kids [20836 0 R 20837 0 R 20838 0 R 20839 0 R 20840 0 R 20841 0 R]
+/Limits [(paragraph.8.1.4.6) (paragraph.9.1.3.1)]
+>> endobj
+21257 0 obj <<
+/Kids [20842 0 R 20843 0 R 20844 0 R 20845 0 R 20846 0 R 20847 0 R]
+/Limits [(paragraph.9.1.3.2) (section*.124)]
+>> endobj
+21258 0 obj <<
+/Kids [20848 0 R 20849 0 R 20850 0 R 20851 0 R 20852 0 R 20853 0 R]
+/Limits [(section*.125) (section*.157)]
+>> endobj
+21259 0 obj <<
+/Kids [20854 0 R 20855 0 R 20856 0 R 20857 0 R 20858 0 R 20859 0 R]
+/Limits [(section*.158) (section*.19)]
+>> endobj
+21260 0 obj <<
+/Kids [20860 0 R 20861 0 R 20862 0 R 20863 0 R 20864 0 R 20865 0 R]
+/Limits [(section*.190) (section*.221)]
+>> endobj
+21261 0 obj <<
+/Kids [20866 0 R 20867 0 R 20868 0 R 20869 0 R 20870 0 R 20871 0 R]
+/Limits [(section*.222) (section*.254)]
+>> endobj
+21262 0 obj <<
+/Kids [20872 0 R 20873 0 R 20874 0 R 20875 0 R 20876 0 R 20877 0 R]
+/Limits [(section*.255) (section*.287)]
+>> endobj
+21263 0 obj <<
+/Kids [20878 0 R 20879 0 R 20880 0 R 20881 0 R 20882 0 R 20883 0 R]
+/Limits [(section*.288) (section*.52)]
+>> endobj
+21264 0 obj <<
+/Kids [20884 0 R 20885 0 R 20886 0 R 20887 0 R 20888 0 R 20889 0 R]
+/Limits [(section*.53) (section*.85)]
+>> endobj
+21265 0 obj <<
+/Kids [20890 0 R 20891 0 R 20892 0 R 20893 0 R 20894 0 R 20895 0 R]
+/Limits [(section*.86) (subsection.1.1)]
+>> endobj
+21266 0 obj <<
+/Kids [20896 0 R 20897 0 R 20898 0 R 20899 0 R 20900 0 R 20901 0 R]
+/Limits [(subsection.1.10) (subsection.10.28)]
+>> endobj
+21267 0 obj <<
+/Kids [20902 0 R 20903 0 R 20904 0 R 20905 0 R 20906 0 R 20907 0 R]
+/Limits [(subsection.10.29) (subsection.10.60)]
+>> endobj
+21268 0 obj <<
+/Kids [20908 0 R 20909 0 R 20910 0 R 20911 0 R 20912 0 R 20913 0 R]
+/Limits [(subsection.10.61) (subsection.10.93)]
+>> endobj
+21269 0 obj <<
+/Kids [20914 0 R 20915 0 R 20916 0 R 20917 0 R 20918 0 R 20919 0 R]
+/Limits [(subsection.10.94) (subsubsection.1.15.2)]
+>> endobj
+21270 0 obj <<
+/Kids [20920 0 R 20921 0 R 20922 0 R 20923 0 R 20924 0 R 20925 0 R]
+/Limits [(subsubsection.1.15.3) (subsubsection.1.6.7)]
+>> endobj
+21271 0 obj <<
+/Kids [20926 0 R 20927 0 R 20928 0 R 20929 0 R 20930 0 R 20931 0 R]
+/Limits [(subsubsection.1.6.8) (subsubsection.10.21.1)]
+>> endobj
+21272 0 obj <<
+/Kids [20932 0 R 20933 0 R 20934 0 R 20935 0 R 20936 0 R 20937 0 R]
+/Limits [(subsubsection.10.21.2) (subsubsection.10.32.3)]
+>> endobj
+21273 0 obj <<
+/Kids [20938 0 R 20939 0 R 20940 0 R 20941 0 R 20942 0 R 20943 0 R]
+/Limits [(subsubsection.10.32.4) (subsubsection.10.47.1)]
+>> endobj
+21274 0 obj <<
+/Kids [20944 0 R 20945 0 R 20946 0 R 20947 0 R 20948 0 R 20949 0 R]
+/Limits [(subsubsection.10.47.2) (subsubsection.10.57.1)]
+>> endobj
+21275 0 obj <<
+/Kids [20950 0 R 20951 0 R 20952 0 R 20953 0 R 20954 0 R 20955 0 R]
+/Limits [(subsubsection.10.58.1) (subsubsection.10.70.3)]
+>> endobj
+21276 0 obj <<
+/Kids [20956 0 R 20957 0 R 20958 0 R 20959 0 R 20960 0 R 20961 0 R]
+/Limits [(subsubsection.10.70.4) (subsubsection.10.82.2)]
+>> endobj
+21277 0 obj <<
+/Kids [20962 0 R 20963 0 R 20964 0 R 20965 0 R 20966 0 R 20967 0 R]
+/Limits [(subsubsection.10.82.3) (subsubsection.8.1.3)]
+>> endobj
+21278 0 obj <<
+/Kids [20968 0 R 20969 0 R 20970 0 R 20971 0 R 20972 0 R 20973 0 R]
+/Limits [(subsubsection.8.1.4) (table.121)]
+>> endobj
+21279 0 obj <<
+/Kids [20974 0 R 20975 0 R 20976 0 R 20977 0 R 20978 0 R 20979 0 R]
+/Limits [(table.122) (table.154)]
+>> endobj
+21280 0 obj <<
+/Kids [20980 0 R 20981 0 R 20982 0 R 20983 0 R 20984 0 R 20985 0 R]
+/Limits [(table.155) (table.187)]
+>> endobj
+21281 0 obj <<
+/Kids [20986 0 R 20987 0 R 20988 0 R 20989 0 R 20990 0 R 20991 0 R]
+/Limits [(table.188) (table.219)]
+>> endobj
+21282 0 obj <<
+/Kids [20992 0 R 20993 0 R 20994 0 R 20995 0 R 20996 0 R 20997 0 R]
+/Limits [(table.22) (table.251)]
+>> endobj
+21283 0 obj <<
+/Kids [20998 0 R 20999 0 R 21000 0 R 21001 0 R 21002 0 R 21003 0 R]
+/Limits [(table.252) (table.284)]
+>> endobj
+21284 0 obj <<
+/Kids [21004 0 R 21005 0 R 21006 0 R 21007 0 R 21008 0 R 21009 0 R]
+/Limits [(table.285) (table.316)]
+>> endobj
+21285 0 obj <<
+/Kids [21010 0 R 21011 0 R 21012 0 R 21013 0 R 21014 0 R 21015 0 R]
+/Limits [(table.317) (table.349)]
+>> endobj
+21286 0 obj <<
+/Kids [21016 0 R 21017 0 R 21018 0 R 21019 0 R 21020 0 R 21021 0 R]
+/Limits [(table.35) (table.381)]
+>> endobj
+21287 0 obj <<
+/Kids [21022 0 R 21023 0 R 21024 0 R 21025 0 R 21026 0 R 21027 0 R]
+/Limits [(table.382) (table.413)]
+>> endobj
+21288 0 obj <<
+/Kids [21028 0 R 21029 0 R 21030 0 R 21031 0 R 21032 0 R 21033 0 R]
+/Limits [(table.414) (table.446)]
+>> endobj
+21289 0 obj <<
+/Kids [21034 0 R 21035 0 R 21036 0 R 21037 0 R 21038 0 R 21039 0 R]
+/Limits [(table.447) (table.479)]
+>> endobj
+21290 0 obj <<
+/Kids [21040 0 R 21041 0 R 21042 0 R 21043 0 R 21044 0 R 21045 0 R]
+/Limits [(table.48) (table.510)]
+>> endobj
+21291 0 obj <<
+/Kids [21046 0 R 21047 0 R 21048 0 R 21049 0 R 21050 0 R 21051 0 R]
+/Limits [(table.511) (table.543)]
+>> endobj
+21292 0 obj <<
+/Kids [21052 0 R 21053 0 R 21054 0 R 21055 0 R 21056 0 R 21057 0 R]
+/Limits [(table.544) (table.576)]
+>> endobj
+21293 0 obj <<
+/Kids [21058 0 R 21059 0 R 21060 0 R 21061 0 R 21062 0 R 21063 0 R]
+/Limits [(table.577) (table.608)]
+>> endobj
+21294 0 obj <<
+/Kids [21064 0 R 21065 0 R 21066 0 R 21067 0 R 21068 0 R 21069 0 R]
+/Limits [(table.609) (table.640)]
+>> endobj
+21295 0 obj <<
+/Kids [21070 0 R 21071 0 R 21072 0 R 21073 0 R 21074 0 R 21075 0 R]
+/Limits [(table.641) (table.673)]
+>> endobj
+21296 0 obj <<
+/Kids [21076 0 R 21077 0 R 21078 0 R 21079 0 R 21080 0 R 21081 0 R]
+/Limits [(table.674) (table.705)]
+>> endobj
+21297 0 obj <<
+/Kids [21082 0 R 21083 0 R 21084 0 R 21085 0 R 21086 0 R 21087 0 R]
+/Limits [(table.706) (table.738)]
+>> endobj
+21298 0 obj <<
+/Kids [21088 0 R 21089 0 R 21090 0 R 21091 0 R 21092 0 R 21093 0 R]
+/Limits [(table.739) (table.770)]
+>> endobj
+21299 0 obj <<
+/Kids [21094 0 R 21095 0 R 21096 0 R 21097 0 R 21098 0 R 21099 0 R]
+/Limits [(table.771) (table.802)]
+>> endobj
+21300 0 obj <<
+/Kids [21100 0 R 21101 0 R 21102 0 R 21103 0 R 21104 0 R 21105 0 R]
+/Limits [(table.803) (table.835)]
+>> endobj
+21301 0 obj <<
+/Kids [21106 0 R 21107 0 R 21108 0 R 21109 0 R 21110 0 R 21111 0 R]
+/Limits [(table.836) (table.868)]
+>> endobj
+21302 0 obj <<
+/Kids [21112 0 R 21113 0 R 21114 0 R 21115 0 R 21116 0 R 21117 0 R]
+/Limits [(table.869) (table.90)]
+>> endobj
+21303 0 obj <<
+/Kids [21118 0 R 21119 0 R 21120 0 R 21121 0 R 21122 0 R 21123 0 R]
+/Limits [(table.900) (table.932)]
+>> endobj
+21304 0 obj <<
+/Kids [21124 0 R 21125 0 R 21126 0 R]
+/Limits [(table.933) (table.99)]
+>> endobj
+21305 0 obj <<
+/Kids [21127 0 R 21128 0 R 21129 0 R 21130 0 R 21131 0 R 21132 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Box_a857138d532c5352b43623e6b5e5a629b)]
+>> endobj
+21306 0 obj <<
+/Kids [21133 0 R 21134 0 R 21135 0 R 21136 0 R 21137 0 R 21138 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_a87e906459b095e23114ee8f0025086cb) (classParma__Polyhedra__Library_1_1Checked__Number_ab2c74f72a54a0b6a18906c124de256a9)]
+>> endobj
+21307 0 obj <<
+/Kids [21139 0 R 21140 0 R 21141 0 R 21142 0 R 21143 0 R 21144 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_ab45faf2ccad8057c7b27e0c999eb063b) (classParma__Polyhedra__Library_1_1Constraint__System_a78a4d5f5e4702a16d6aae656293ec7ad)]
+>> endobj
+21308 0 obj <<
+/Kids [21145 0 R 21146 0 R 21147 0 R 21148 0 R 21149 0 R 21150 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_a809a4546135123a08f12c0a65fb22241) (classParma__Polyhedra__Library_1_1Generator__System_aa33b89d7143376193110dde339707b0d)]
+>> endobj
+21309 0 obj <<
+/Kids [21151 0 R 21152 0 R 21153 0 R 21154 0 R 21155 0 R 21156 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_aad63aea0771a124cfb70c8e8e80779a3) (classParma__Polyhedra__Library_1_1Grid__Generator_acdc0aeddab3d98e336719f42e6e5b06c)]
+>> endobj
+21310 0 obj <<
+/Kids [21157 0 R 21158 0 R 21159 0 R 21160 0 R 21161 0 R 21162 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_ad32b963be25112be3f4856164c255730) (classParma__Polyhedra__Library_1_1Linear__Expression)]
+>> endobj
+21311 0 obj <<
+/Kids [21163 0 R 21164 0 R 21165 0 R 21166 0 R 21167 0 R 21168 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) (classParma__Polyhedra__Library_1_1MIP__Problem_a3a010e69cfabe1a026ee21f7639207e3)]
+>> endobj
+21312 0 obj <<
+/Kids [21169 0 R 21170 0 R 21171 0 R 21172 0 R 21173 0 R 21174 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_a3a94fde78bde319c0c1806ff074dea70) (classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ece)]
+>> endobj
+21313 0 obj <<
+/Kids [21175 0 R 21176 0 R 21177 0 R 21178 0 R 21179 0 R 21180 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1PIP__Problem_a0683916154cde6bb308ccdd9c22e1ecea3581e26c004ac37575fd4449822d09c5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_af633b1416a118a2ac3146ec4a4fd4298)]
+>> endobj
+21314 0 obj <<
+/Kids [21181 0 R 21182 0 R 21183 0 R 21184 0 R 21185 0 R 21186 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afaf0bc4f0e0a036dbc3852b3e4490243) (classParma__Polyhedra__Library_1_1Polyhedron_acf531d280805472a54c22fed0f689932)]
+>> endobj
+21315 0 obj <<
+/Kids [21187 0 R 21188 0 R 21189 0 R 21190 0 R 21191 0 R 21192 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_ad020ca98ef94bc16e1050da4e0d54971) (group__PPL__CXX__interface_gga1c2a279a3ffa1d1e9947f2667be312aead8db7109fb4bb50360b05800dd245416)]
+>> endobj
+21316 0 obj <<
+/Kids [21193 0 R 21194 0 R 21195 0 R 21196 0 R 21197 0 R 21198 0 R]
+/Limits [(group__PPL__CXX__interface_gga25ea3a289eadef732f4c7fd823387fb2a0f182c5824807f7bc66d2d2033810feb) (index_Operations_on_Convex_Polyhedra)]
+>> endobj
+21317 0 obj <<
+/Kids [21199 0 R 21200 0 R 21201 0 R 21202 0 R 21203 0 R 21204 0 R]
+/Limits [(index_PS98) (page.182)]
+>> endobj
+21318 0 obj <<
+/Kids [21205 0 R 21206 0 R 21207 0 R 21208 0 R 21209 0 R 21210 0 R]
+/Limits [(page.183) (page.371)]
+>> endobj
+21319 0 obj <<
+/Kids [21211 0 R 21212 0 R 21213 0 R 21214 0 R 21215 0 R 21216 0 R]
+/Limits [(page.372) (page.56)]
+>> endobj
+21320 0 obj <<
+/Kids [21217 0 R 21218 0 R 21219 0 R 21220 0 R 21221 0 R 21222 0 R]
+/Limits [(page.560) (paragraph.10.22.4.3)]
+>> endobj
+21321 0 obj <<
+/Kids [21223 0 R 21224 0 R 21225 0 R 21226 0 R 21227 0 R 21228 0 R]
+/Limits [(paragraph.10.22.4.4) (paragraph.10.4.4.19)]
+>> endobj
+21322 0 obj <<
+/Kids [21229 0 R 21230 0 R 21231 0 R 21232 0 R 21233 0 R 21234 0 R]
+/Limits [(paragraph.10.4.4.2) (paragraph.10.53.6.7)]
+>> endobj
+21323 0 obj <<
+/Kids [21235 0 R 21236 0 R 21237 0 R 21238 0 R 21239 0 R 21240 0 R]
+/Limits [(paragraph.10.53.6.8) (paragraph.10.67.2.5)]
+>> endobj
+21324 0 obj <<
+/Kids [21241 0 R 21242 0 R 21243 0 R 21244 0 R 21245 0 R 21246 0 R]
+/Limits [(paragraph.10.67.2.6) (paragraph.10.79.3.10)]
+>> endobj
+21325 0 obj <<
+/Kids [21247 0 R 21248 0 R 21249 0 R 21250 0 R 21251 0 R 21252 0 R]
+/Limits [(paragraph.10.79.3.11) (paragraph.10.82.3.37)]
+>> endobj
+21326 0 obj <<
+/Kids [21253 0 R 21254 0 R 21255 0 R 21256 0 R 21257 0 R 21258 0 R]
+/Limits [(paragraph.10.82.3.38) (section*.157)]
+>> endobj
+21327 0 obj <<
+/Kids [21259 0 R 21260 0 R 21261 0 R 21262 0 R 21263 0 R 21264 0 R]
+/Limits [(section*.158) (section*.85)]
+>> endobj
+21328 0 obj <<
+/Kids [21265 0 R 21266 0 R 21267 0 R 21268 0 R 21269 0 R 21270 0 R]
+/Limits [(section*.86) (subsubsection.1.6.7)]
+>> endobj
+21329 0 obj <<
+/Kids [21271 0 R 21272 0 R 21273 0 R 21274 0 R 21275 0 R 21276 0 R]
+/Limits [(subsubsection.1.6.8) (subsubsection.10.82.2)]
+>> endobj
+21330 0 obj <<
+/Kids [21277 0 R 21278 0 R 21279 0 R 21280 0 R 21281 0 R 21282 0 R]
+/Limits [(subsubsection.10.82.3) (table.251)]
+>> endobj
+21331 0 obj <<
+/Kids [21283 0 R 21284 0 R 21285 0 R 21286 0 R 21287 0 R 21288 0 R]
+/Limits [(table.252) (table.446)]
+>> endobj
+21332 0 obj <<
+/Kids [21289 0 R 21290 0 R 21291 0 R 21292 0 R 21293 0 R 21294 0 R]
+/Limits [(table.447) (table.640)]
+>> endobj
+21333 0 obj <<
+/Kids [21295 0 R 21296 0 R 21297 0 R 21298 0 R 21299 0 R 21300 0 R]
+/Limits [(table.641) (table.835)]
+>> endobj
+21334 0 obj <<
+/Kids [21301 0 R 21302 0 R 21303 0 R 21304 0 R]
+/Limits [(table.836) (table.99)]
+>> endobj
+21335 0 obj <<
+/Kids [21305 0 R 21306 0 R 21307 0 R 21308 0 R 21309 0 R 21310 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Linear__Expression)]
+>> endobj
+21336 0 obj <<
+/Kids [21311 0 R 21312 0 R 21313 0 R 21314 0 R 21315 0 R 21316 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_1_1const__iterator) (index_Operations_on_Convex_Polyhedra)]
+>> endobj
+21337 0 obj <<
+/Kids [21317 0 R 21318 0 R 21319 0 R 21320 0 R 21321 0 R 21322 0 R]
+/Limits [(index_PS98) (paragraph.10.53.6.7)]
+>> endobj
+21338 0 obj <<
+/Kids [21323 0 R 21324 0 R 21325 0 R 21326 0 R 21327 0 R 21328 0 R]
+/Limits [(paragraph.10.53.6.8) (subsubsection.1.6.7)]
+>> endobj
+21339 0 obj <<
+/Kids [21329 0 R 21330 0 R 21331 0 R 21332 0 R 21333 0 R 21334 0 R]
+/Limits [(subsubsection.1.6.8) (table.99)]
+>> endobj
+21340 0 obj <<
+/Kids [21335 0 R 21336 0 R 21337 0 R 21338 0 R 21339 0 R]
+/Limits [(Doc-Start) (table.99)]
+>> endobj
+21341 0 obj <<
+/Dests 21340 0 R
+>> endobj
+21342 0 obj <<
+/Type /Catalog
+/Pages 20060 0 R
+/Outlines 20061 0 R
+/Names 21341 0 R
+/PageMode/UseOutlines/PageLabels<</Nums[0<</S/D>>4<</S/r>>8<</S/D>>]>>
+/OpenAction 521 0 R
+>> endobj
+21343 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
+/CreationDate (D:20120628125818+02'00')
+/ModDate (D:20120628125818+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
+>> endobj
+xref
+0 21344
+0000000000 65535 f 
+0000000015 00000 n 
+0000104884 00000 n 
+0004884302 00000 n 
+0000000060 00000 n 
+0000000248 00000 n 
+0000105053 00000 n 
+0004884232 00000 n 
+0000000298 00000 n 
+0000000415 00000 n 
+0000124180 00000 n 
+0004884148 00000 n 
+0000000465 00000 n 
+0000000595 00000 n 
+0000124298 00000 n 
+0004884062 00000 n 
+0000000646 00000 n 
+0000000786 00000 n 
+0000130224 00000 n 
+0004883976 00000 n 
+0000000837 00000 n 
+0000000947 00000 n 
+0000140427 00000 n 
+0004883890 00000 n 
+0000000998 00000 n 
+0000001209 00000 n 
+0000154503 00000 n 
+0004883804 00000 n 
+0000001260 00000 n 
+0000001446 00000 n 
+0000192198 00000 n 
+0004883718 00000 n 
+0000001497 00000 n 
+0000001625 00000 n 
+0000197392 00000 n 
+0004883632 00000 n 
+0000001676 00000 n 
+0000001826 00000 n 
+0000202766 00000 n 
+0004883546 00000 n 
+0000001877 00000 n 
+0000001977 00000 n 
+0000213174 00000 n 
+0004883460 00000 n 
+0000002029 00000 n 
+0000002205 00000 n 
+0000235319 00000 n 
+0004883374 00000 n 
+0000002257 00000 n 
+0000002415 00000 n 
+0000235609 00000 n 
+0004883288 00000 n 
+0000002467 00000 n 
+0000002701 00000 n 
+0000241230 00000 n 
+0004883202 00000 n 
+0000002753 00000 n 
+0000002929 00000 n 
+0000254957 00000 n 
+0004883116 00000 n 
+0000002981 00000 n 
+0000003215 00000 n 
+0000264052 00000 n 
+0004883030 00000 n 
+0000003267 00000 n 
+0000003385 00000 n 
+0000268769 00000 n 
+0004882957 00000 n 
+0000003437 00000 n 
+0000003524 00000 n 
+0000315213 00000 n 
+0004882868 00000 n 
+0000003570 00000 n 
+0000003736 00000 n 
+0000350055 00000 n 
+0004882778 00000 n 
+0000003782 00000 n 
+0000003968 00000 n 
+0000369430 00000 n 
+0004882651 00000 n 
+0000004014 00000 n 
+0000004104 00000 n 
+0000369487 00000 n 
+0004882590 00000 n 
+0000004155 00000 n 
+0000004217 00000 n 
+0000375268 00000 n 
+0004882463 00000 n 
+0000004263 00000 n 
+0000004368 00000 n 
+0000375325 00000 n 
+0004882402 00000 n 
+0000004419 00000 n 
+0000004519 00000 n 
+0000375382 00000 n 
+0004882274 00000 n 
+0000004565 00000 n 
+0000004650 00000 n 
+0000375439 00000 n 
+0004882212 00000 n 
+0000004701 00000 n 
+0000004807 00000 n 
+0000394447 00000 n 
+0004882079 00000 n 
+0000004854 00000 n 
+0000004940 00000 n 
+0000394505 00000 n 
+0004882014 00000 n 
+0000004992 00000 n 
+0000005073 00000 n 
+0000448262 00000 n 
+0004881880 00000 n 
+0000005120 00000 n 
+0000005251 00000 n 
+0000448379 00000 n 
+0004881815 00000 n 
+0000005303 00000 n 
+0000005447 00000 n 
+0000570534 00000 n 
+0004881681 00000 n 
+0000005494 00000 n 
+0000005640 00000 n 
+0000570651 00000 n 
+0004881602 00000 n 
+0000005692 00000 n 
+0000005947 00000 n 
+0000662300 00000 n 
+0004881509 00000 n 
+0000005999 00000 n 
+0000006327 00000 n 
+0000666039 00000 n 
+0004881430 00000 n 
+0000006379 00000 n 
+0000006528 00000 n 
+0000668345 00000 n 
+0004881309 00000 n 
+0000006576 00000 n 
+0000006702 00000 n 
+0000668462 00000 n 
+0004881230 00000 n 
+0000006755 00000 n 
+0000007113 00000 n 
+0000668638 00000 n 
+0004881137 00000 n 
+0000007166 00000 n 
+0000007666 00000 n 
+0000668873 00000 n 
+0004881044 00000 n 
+0000007719 00000 n 
+0000008148 00000 n 
+0000692326 00000 n 
+0004880951 00000 n 
+0000008201 00000 n 
+0000008568 00000 n 
+0000926047 00000 n 
+0004880858 00000 n 
+0000008621 00000 n 
+0000008959 00000 n 
+0000935715 00000 n 
+0004880765 00000 n 
+0000009012 00000 n 
+0000009335 00000 n 
+0000935891 00000 n 
+0004880672 00000 n 
+0000009388 00000 n 
+0000009853 00000 n 
+0000936359 00000 n 
+0004880579 00000 n 
+0000009906 00000 n 
+0000010255 00000 n 
+0001159455 00000 n 
+0004880486 00000 n 
+0000010308 00000 n 
+0000010616 00000 n 
+0001199508 00000 n 
+0004880393 00000 n 
+0000010670 00000 n 
+0000011295 00000 n 
+0001212035 00000 n 
+0004880300 00000 n 
+0000011349 00000 n 
+0000011662 00000 n 
+0001216927 00000 n 
+0004880207 00000 n 
+0000011716 00000 n 
+0000012171 00000 n 
+0001217162 00000 n 
+0004880114 00000 n 
+0000012225 00000 n 
+0000012665 00000 n 
+0001332350 00000 n 
+0004880021 00000 n 
+0000012719 00000 n 
+0000013107 00000 n 
+0001332644 00000 n 
+0004879928 00000 n 
+0000013161 00000 n 
+0000013534 00000 n 
+0001336746 00000 n 
+0004879835 00000 n 
+0000013588 00000 n 
+0000013966 00000 n 
+0001337040 00000 n 
+0004879742 00000 n 
+0000014020 00000 n 
+0000014355 00000 n 
+0001337334 00000 n 
+0004879649 00000 n 
+0000014409 00000 n 
+0000014752 00000 n 
+0001380591 00000 n 
+0004879556 00000 n 
+0000014806 00000 n 
+0000015291 00000 n 
+0001381178 00000 n 
+0004879463 00000 n 
+0000015345 00000 n 
+0000015716 00000 n 
+0001398669 00000 n 
+0004879370 00000 n 
+0000015770 00000 n 
+0000016065 00000 n 
+0001462378 00000 n 
+0004879277 00000 n 
+0000016119 00000 n 
+0000016452 00000 n 
+0001499821 00000 n 
+0004879184 00000 n 
+0000016506 00000 n 
+0000016966 00000 n 
+0001514697 00000 n 
+0004879091 00000 n 
+0000017020 00000 n 
+0000017386 00000 n 
+0001527515 00000 n 
+0004878998 00000 n 
+0000017440 00000 n 
+0000017925 00000 n 
+0001540989 00000 n 
+0004878905 00000 n 
+0000017979 00000 n 
+0000018395 00000 n 
+0001549903 00000 n 
+0004878812 00000 n 
+0000018449 00000 n 
+0000018865 00000 n 
+0001558894 00000 n 
+0004878719 00000 n 
+0000018919 00000 n 
+0000019305 00000 n 
+0001566401 00000 n 
+0004878626 00000 n 
+0000019359 00000 n 
+0000019798 00000 n 
+0001575060 00000 n 
+0004878533 00000 n 
+0000019852 00000 n 
+0000020374 00000 n 
+0001591886 00000 n 
+0004878440 00000 n 
+0000020428 00000 n 
+0000021073 00000 n 
+0001618627 00000 n 
+0004878347 00000 n 
+0000021127 00000 n 
+0000021422 00000 n 
+0001710997 00000 n 
+0004878254 00000 n 
+0000021476 00000 n 
+0000021809 00000 n 
+0001733655 00000 n 
+0004878161 00000 n 
+0000021863 00000 n 
+0000022277 00000 n 
+0001738285 00000 n 
+0004878068 00000 n 
+0000022331 00000 n 
+0000022791 00000 n 
+0001747428 00000 n 
+0004877975 00000 n 
+0000022845 00000 n 
+0000023239 00000 n 
+0001763109 00000 n 
+0004877882 00000 n 
+0000023293 00000 n 
+0000023948 00000 n 
+0001799535 00000 n 
+0004877789 00000 n 
+0000024002 00000 n 
+0000024647 00000 n 
+0001816738 00000 n 
+0004877696 00000 n 
+0000024701 00000 n 
+0000025126 00000 n 
+0001816973 00000 n 
+0004877603 00000 n 
+0000025180 00000 n 
+0000025661 00000 n 
+0001827360 00000 n 
+0004877510 00000 n 
+0000025715 00000 n 
+0000026194 00000 n 
+0001847903 00000 n 
+0004877417 00000 n 
+0000026248 00000 n 
+0000026775 00000 n 
+0001852560 00000 n 
+0004877324 00000 n 
+0000026829 00000 n 
+0000027195 00000 n 
+0001852735 00000 n 
+0004877231 00000 n 
+0000027249 00000 n 
+0000027757 00000 n 
+0001854433 00000 n 
+0004877138 00000 n 
+0000027811 00000 n 
+0000028408 00000 n 
+0001892872 00000 n 
+0004877045 00000 n 
+0000028462 00000 n 
+0000028958 00000 n 
+0001904807 00000 n 
+0004876952 00000 n 
+0000029012 00000 n 
+0000029302 00000 n 
+0002038216 00000 n 
+0004876859 00000 n 
+0000029356 00000 n 
+0000029684 00000 n 
+0002068525 00000 n 
+0004876766 00000 n 
+0000029738 00000 n 
+0000030147 00000 n 
+0002076892 00000 n 
+0004876673 00000 n 
+0000030201 00000 n 
+0000030504 00000 n 
+0002092033 00000 n 
+0004876580 00000 n 
+0000030558 00000 n 
+0000030823 00000 n 
+0002296672 00000 n 
+0004876487 00000 n 
+0000030877 00000 n 
+0000031205 00000 n 
+0002307466 00000 n 
+0004876394 00000 n 
+0000031259 00000 n 
+0000031577 00000 n 
+0002394139 00000 n 
+0004876301 00000 n 
+0000031631 00000 n 
+0000031987 00000 n 
+0002434737 00000 n 
+0004876208 00000 n 
+0000032041 00000 n 
+0000032364 00000 n 
+0002439417 00000 n 
+0004876115 00000 n 
+0000032418 00000 n 
+0000032828 00000 n 
+0002447008 00000 n 
+0004876022 00000 n 
+0000032882 00000 n 
+0000033475 00000 n 
+0002462003 00000 n 
+0004875929 00000 n 
+0000033529 00000 n 
+0000033987 00000 n 
+0002462366 00000 n 
+0004875836 00000 n 
+0000034041 00000 n 
+0000034369 00000 n 
+0002467228 00000 n 
+0004875743 00000 n 
+0000034423 00000 n 
+0000034893 00000 n 
+0002467468 00000 n 
+0004875650 00000 n 
+0000034947 00000 n 
+0000035379 00000 n 
+0002492049 00000 n 
+0004875557 00000 n 
+0000035433 00000 n 
+0000035766 00000 n 
+0002502040 00000 n 
+0004875464 00000 n 
+0000035820 00000 n 
+0000036153 00000 n 
+0002638548 00000 n 
+0004875371 00000 n 
+0000036207 00000 n 
+0000036589 00000 n 
+0002726775 00000 n 
+0004875278 00000 n 
+0000036643 00000 n 
+0000036946 00000 n 
+0002781200 00000 n 
+0004875185 00000 n 
+0000037000 00000 n 
+0000037675 00000 n 
+0002814642 00000 n 
+0004875092 00000 n 
+0000037729 00000 n 
+0000038047 00000 n 
+0002845080 00000 n 
+0004874999 00000 n 
+0000038101 00000 n 
+0000038525 00000 n 
+0002849327 00000 n 
+0004874906 00000 n 
+0000038579 00000 n 
+0000038994 00000 n 
+0002849931 00000 n 
+0004874813 00000 n 
+0000039048 00000 n 
+0000039450 00000 n 
+0003089184 00000 n 
+0004874720 00000 n 
+0000039504 00000 n 
+0000040149 00000 n 
+0003115962 00000 n 
+0004874627 00000 n 
+0000040203 00000 n 
+0000040704 00000 n 
+0003275378 00000 n 
+0004874534 00000 n 
+0000040758 00000 n 
+0000041330 00000 n 
+0003295323 00000 n 
+0004874441 00000 n 
+0000041384 00000 n 
+0000041926 00000 n 
+0003306840 00000 n 
+0004874348 00000 n 
+0000041980 00000 n 
+0000042316 00000 n 
+0003319133 00000 n 
+0004874255 00000 n 
+0000042370 00000 n 
+0000042673 00000 n 
+0003382667 00000 n 
+0004874162 00000 n 
+0000042727 00000 n 
+0000043063 00000 n 
+0003409762 00000 n 
+0004874069 00000 n 
+0000043117 00000 n 
+0000043433 00000 n 
+0003456200 00000 n 
+0004873976 00000 n 
+0000043487 00000 n 
+0000043914 00000 n 
+0003634916 00000 n 
+0004873883 00000 n 
+0000043968 00000 n 
+0000044304 00000 n 
+0003654453 00000 n 
+0004873790 00000 n 
+0000044358 00000 n 
+0000044694 00000 n 
+0003658121 00000 n 
+0004873697 00000 n 
+0000044748 00000 n 
+0000045043 00000 n 
+0003881207 00000 n 
+0004873604 00000 n 
+0000045097 00000 n 
+0000045461 00000 n 
+0003926868 00000 n 
+0004873511 00000 n 
+0000045515 00000 n 
+0000045833 00000 n 
+0003930631 00000 n 
+0004873418 00000 n 
+0000045887 00000 n 
+0000046375 00000 n 
+0003935239 00000 n 
+0004873325 00000 n 
+0000046429 00000 n 
+0000046859 00000 n 
+0003945535 00000 n 
+0004873232 00000 n 
+0000046913 00000 n 
+0000047533 00000 n 
+0003964489 00000 n 
+0004873139 00000 n 
+0000047587 00000 n 
+0000048024 00000 n 
+0003964791 00000 n 
+0004873046 00000 n 
+0000048078 00000 n 
+0000048368 00000 n 
+0003970831 00000 n 
+0004872953 00000 n 
+0000048422 00000 n 
+0000048817 00000 n 
+0003974880 00000 n 
+0004872860 00000 n 
+0000048871 00000 n 
+0000049189 00000 n 
+0003975060 00000 n 
+0004872767 00000 n 
+0000049243 00000 n 
+0000049703 00000 n 
+0003975484 00000 n 
+0004872674 00000 n 
+0000049757 00000 n 
+0000050042 00000 n 
+0004003029 00000 n 
+0004872581 00000 n 
+0000050096 00000 n 
+0000050741 00000 n 
+0004024790 00000 n 
+0004872488 00000 n 
+0000050795 00000 n 
+0000051108 00000 n 
+0004030099 00000 n 
+0004872409 00000 n 
+0000051162 00000 n 
+0000051447 00000 n 
+0000052934 00000 n 
+0000053053 00000 n 
+0000056391 00000 n 
+0000051499 00000 n 
+0000056278 00000 n 
+0000056334 00000 n 
+0004855592 00000 n 
+0004853247 00000 n 
+0004853831 00000 n 
+0004853539 00000 n 
+0004856133 00000 n 
+0004856646 00000 n 
+0000056047 00000 n 
+0000056231 00000 n 
+0000056818 00000 n 
+0000056643 00000 n 
+0000056543 00000 n 
+0000056762 00000 n 
+0000063842 00000 n 
+0000064008 00000 n 
+0000064160 00000 n 
+0000064326 00000 n 
+0000064624 00000 n 
+0000058663 00000 n 
+0000064804 00000 n 
+0000060866 00000 n 
+0000065024 00000 n 
+0000058476 00000 n 
+0000056859 00000 n 
+0000064968 00000 n 
+0004855769 00000 n 
+0000064476 00000 n 
+0004854868 00000 n 
+0000060635 00000 n 
+0000060819 00000 n 
+0000063611 00000 n 
+0000063795 00000 n 
+0000350171 00000 n 
+0000315329 00000 n 
+0000065438 00000 n 
+0000065263 00000 n 
+0000065163 00000 n 
+0000065382 00000 n 
+0000067735 00000 n 
+0000067886 00000 n 
+0000068043 00000 n 
+0000068200 00000 n 
+0000068355 00000 n 
+0000068512 00000 n 
+0000068669 00000 n 
+0000068826 00000 n 
+0000068983 00000 n 
+0000069140 00000 n 
+0000069296 00000 n 
+0000069453 00000 n 
+0000069610 00000 n 
+0000069768 00000 n 
+0000069925 00000 n 
+0000070082 00000 n 
+0000070240 00000 n 
+0000070397 00000 n 
+0000070548 00000 n 
+0000070699 00000 n 
+0000070850 00000 n 
+0000071007 00000 n 
+0000071158 00000 n 
+0000071313 00000 n 
+0000071464 00000 n 
+0000071621 00000 n 
+0000071772 00000 n 
+0000071929 00000 n 
+0000072080 00000 n 
+0000072237 00000 n 
+0000072388 00000 n 
+0000072545 00000 n 
+0000072701 00000 n 
+0000072856 00000 n 
+0000073005 00000 n 
+0000073162 00000 n 
+0000073477 00000 n 
+0000073634 00000 n 
+0000073792 00000 n 
+0000073950 00000 n 
+0000074108 00000 n 
+0000074420 00000 n 
+0000077522 00000 n 
+0000074576 00000 n 
+0000074796 00000 n 
+0000067244 00000 n 
+0000065479 00000 n 
+0000074740 00000 n 
+0004851332 00000 n 
+0000073320 00000 n 
+0000074265 00000 n 
+0000077680 00000 n 
+0000077997 00000 n 
+0000078156 00000 n 
+0000078472 00000 n 
+0000078630 00000 n 
+0000078789 00000 n 
+0000078947 00000 n 
+0000079106 00000 n 
+0000079265 00000 n 
+0000079423 00000 n 
+0000079740 00000 n 
+0000079899 00000 n 
+0000080057 00000 n 
+0000080216 00000 n 
+0000080533 00000 n 
+0000080692 00000 n 
+0000081009 00000 n 
+0000081168 00000 n 
+0000081326 00000 n 
+0000081485 00000 n 
+0000081644 00000 n 
+0000081961 00000 n 
+0000082278 00000 n 
+0000082437 00000 n 
+0000082596 00000 n 
+0000082755 00000 n 
+0000082913 00000 n 
+0000083072 00000 n 
+0000083388 00000 n 
+0000083704 00000 n 
+0000083863 00000 n 
+0000084179 00000 n 
+0000084495 00000 n 
+0000084811 00000 n 
+0000084970 00000 n 
+0000085287 00000 n 
+0000085604 00000 n 
+0000085918 00000 n 
+0000089198 00000 n 
+0000086075 00000 n 
+0000086295 00000 n 
+0000076951 00000 n 
+0000074935 00000 n 
+0000086239 00000 n 
+0000077839 00000 n 
+0000078314 00000 n 
+0000079582 00000 n 
+0000080375 00000 n 
+0000080851 00000 n 
+0000081803 00000 n 
+0000082120 00000 n 
+0000083230 00000 n 
+0000083546 00000 n 
+0000084021 00000 n 
+0000084337 00000 n 
+0000084653 00000 n 
+0000085129 00000 n 
+0000085446 00000 n 
+0000085762 00000 n 
+0000089357 00000 n 
+0000089516 00000 n 
+0000089675 00000 n 
+0000089834 00000 n 
+0000089992 00000 n 
+0000090150 00000 n 
+0000090308 00000 n 
+0000090467 00000 n 
+0000090625 00000 n 
+0000090942 00000 n 
+0000091258 00000 n 
+0000091415 00000 n 
+0000091732 00000 n 
+0000091891 00000 n 
+0000092049 00000 n 
+0000092208 00000 n 
+0000092367 00000 n 
+0000092526 00000 n 
+0000092843 00000 n 
+0000093002 00000 n 
+0000093161 00000 n 
+0000093319 00000 n 
+0000093478 00000 n 
+0000093795 00000 n 
+0000094112 00000 n 
+0000094429 00000 n 
+0000094745 00000 n 
+0000094903 00000 n 
+0000095062 00000 n 
+0000095220 00000 n 
+0000095379 00000 n 
+0000095538 00000 n 
+0000095696 00000 n 
+0000095855 00000 n 
+0000096013 00000 n 
+0000096172 00000 n 
+0000096330 00000 n 
+0000096647 00000 n 
+0000096806 00000 n 
+0000097123 00000 n 
+0000097282 00000 n 
+0000097440 00000 n 
+0000097597 00000 n 
+0000099109 00000 n 
+0000097754 00000 n 
+0000097974 00000 n 
+0000088627 00000 n 
+0000086434 00000 n 
+0000097918 00000 n 
+0000090784 00000 n 
+0000091100 00000 n 
+0000091574 00000 n 
+0000092685 00000 n 
+0000093637 00000 n 
+0000093954 00000 n 
+0000094271 00000 n 
+0000094587 00000 n 
+0000096489 00000 n 
+0000096965 00000 n 
+0004856765 00000 n 
+0000099426 00000 n 
+0000099585 00000 n 
+0000099901 00000 n 
+0000100060 00000 n 
+0000100218 00000 n 
+0000100438 00000 n 
+0000098914 00000 n 
+0000098113 00000 n 
+0000100382 00000 n 
+0000099268 00000 n 
+0000099744 00000 n 
+0000103465 00000 n 
+0000103626 00000 n 
+0000103789 00000 n 
+0000103978 00000 n 
+0000104168 00000 n 
+0000104353 00000 n 
+0000104544 00000 n 
+0000107960 00000 n 
+0000104720 00000 n 
+0000105227 00000 n 
+0000103270 00000 n 
+0000100577 00000 n 
+0004855227 00000 n 
+0000104939 00000 n 
+0000104996 00000 n 
+0000105108 00000 n 
+0000105170 00000 n 
+0004856312 00000 n 
+0004854721 00000 n 
+0004851775 00000 n 
+0000130162 00000 n 
+0000259714 00000 n 
+0001159397 00000 n 
+0002814583 00000 n 
+0000692269 00000 n 
+0002849872 00000 n 
+0000936301 00000 n 
+0000108140 00000 n 
+0000108325 00000 n 
+0000108518 00000 n 
+0000108721 00000 n 
+0000109240 00000 n 
+0000107789 00000 n 
+0000105431 00000 n 
+0000108885 00000 n 
+0000108947 00000 n 
+0000109004 00000 n 
+0000109065 00000 n 
+0000109121 00000 n 
+0000109183 00000 n 
+0002091976 00000 n 
+0002467409 00000 n 
+0003456141 00000 n 
+0003115903 00000 n 
+0000112138 00000 n 
+0000112358 00000 n 
+0000111999 00000 n 
+0000109405 00000 n 
+0004852516 00000 n 
+0004852954 00000 n 
+0000112302 00000 n 
+0000115259 00000 n 
+0000119322 00000 n 
+0000119547 00000 n 
+0000115705 00000 n 
+0000116159 00000 n 
+0000115104 00000 n 
+0000112560 00000 n 
+0000115869 00000 n 
+0000115926 00000 n 
+0000115988 00000 n 
+0000116045 00000 n 
+0000116102 00000 n 
+0000115482 00000 n 
+0002708232 00000 n 
+0000119771 00000 n 
+0000120218 00000 n 
+0000119167 00000 n 
+0000116311 00000 n 
+0000119935 00000 n 
+0000119991 00000 n 
+0000120048 00000 n 
+0000120105 00000 n 
+0000120162 00000 n 
+0004856884 00000 n 
+0001327331 00000 n 
+0001319776 00000 n 
+0000123960 00000 n 
+0000124592 00000 n 
+0000123821 00000 n 
+0000120370 00000 n 
+0000124124 00000 n 
+0000124236 00000 n 
+0000124354 00000 n 
+0000124416 00000 n 
+0000124473 00000 n 
+0000124535 00000 n 
+0004851185 00000 n 
+0004853685 00000 n 
+0000128887 00000 n 
+0000129039 00000 n 
+0000129215 00000 n 
+0000129370 00000 n 
+0000129523 00000 n 
+0000129675 00000 n 
+0000129828 00000 n 
+0000130397 00000 n 
+0000128700 00000 n 
+0000124845 00000 n 
+0000129992 00000 n 
+0000130048 00000 n 
+0000130105 00000 n 
+0000130280 00000 n 
+0000130341 00000 n 
+0000310310 00000 n 
+0000288741 00000 n 
+0000293975 00000 n 
+0000309724 00000 n 
+0000315155 00000 n 
+0000135150 00000 n 
+0000135337 00000 n 
+0000135794 00000 n 
+0000135003 00000 n 
+0000130637 00000 n 
+0000135501 00000 n 
+0004852662 00000 n 
+0004852217 00000 n 
+0004850888 00000 n 
+0000135557 00000 n 
+0000135619 00000 n 
+0000135676 00000 n 
+0000135737 00000 n 
+0000149859 00000 n 
+0000140031 00000 n 
+0000140782 00000 n 
+0000139892 00000 n 
+0000136086 00000 n 
+0000140195 00000 n 
+0000140251 00000 n 
+0000140308 00000 n 
+0000140365 00000 n 
+0000140483 00000 n 
+0000140545 00000 n 
+0004851628 00000 n 
+0000140602 00000 n 
+0000140664 00000 n 
+0000140721 00000 n 
+0000145442 00000 n 
+0000146075 00000 n 
+0000145303 00000 n 
+0000141060 00000 n 
+0000145606 00000 n 
+0000145662 00000 n 
+0000145719 00000 n 
+0000145781 00000 n 
+0000145838 00000 n 
+0000145900 00000 n 
+0000145957 00000 n 
+0000146019 00000 n 
+0000149639 00000 n 
+0000150094 00000 n 
+0000149500 00000 n 
+0000146367 00000 n 
+0000149803 00000 n 
+0000149919 00000 n 
+0000149976 00000 n 
+0000150037 00000 n 
+0004857003 00000 n 
+0000153990 00000 n 
+0000154739 00000 n 
+0000153851 00000 n 
+0000150324 00000 n 
+0000154154 00000 n 
+0000154210 00000 n 
+0000154270 00000 n 
+0000154327 00000 n 
+0000154384 00000 n 
+0000154441 00000 n 
+0000154559 00000 n 
+0000154621 00000 n 
+0000154678 00000 n 
+0000158849 00000 n 
+0000159477 00000 n 
+0000158710 00000 n 
+0000155006 00000 n 
+0000159013 00000 n 
+0000159069 00000 n 
+0000159126 00000 n 
+0000159187 00000 n 
+0000159244 00000 n 
+0000159306 00000 n 
+0000159363 00000 n 
+0000159420 00000 n 
+0000163714 00000 n 
+0000163871 00000 n 
+0000164027 00000 n 
+0000164813 00000 n 
+0000163559 00000 n 
+0000159730 00000 n 
+0000164191 00000 n 
+0000164247 00000 n 
+0000164304 00000 n 
+0004854575 00000 n 
+0004853394 00000 n 
+0000164359 00000 n 
+0000164416 00000 n 
+0000164473 00000 n 
+0000164530 00000 n 
+0000164587 00000 n 
+0000164644 00000 n 
+0000164701 00000 n 
+0000164757 00000 n 
+0000294033 00000 n 
+0000169763 00000 n 
+0000170159 00000 n 
+0000169624 00000 n 
+0000165117 00000 n 
+0000169927 00000 n 
+0000169983 00000 n 
+0000170040 00000 n 
+0000170102 00000 n 
+0000175203 00000 n 
+0000175715 00000 n 
+0000175064 00000 n 
+0000170426 00000 n 
+0000175367 00000 n 
+0000175423 00000 n 
+0000175484 00000 n 
+0000175541 00000 n 
+0000175598 00000 n 
+0000175654 00000 n 
+0000179990 00000 n 
+0000180144 00000 n 
+0000184709 00000 n 
+0000180298 00000 n 
+0000180931 00000 n 
+0000179835 00000 n 
+0000175982 00000 n 
+0000180462 00000 n 
+0000180518 00000 n 
+0000180575 00000 n 
+0000180637 00000 n 
+0000180694 00000 n 
+0000180756 00000 n 
+0000180812 00000 n 
+0000180874 00000 n 
+0004857122 00000 n 
+0000299018 00000 n 
+0000299135 00000 n 
+0000185084 00000 n 
+0000185238 00000 n 
+0000185391 00000 n 
+0000185545 00000 n 
+0000186175 00000 n 
+0000184530 00000 n 
+0000181222 00000 n 
+0000185709 00000 n 
+0000184897 00000 n 
+0000185765 00000 n 
+0000185822 00000 n 
+0000185879 00000 n 
+0000185936 00000 n 
+0000185998 00000 n 
+0000186055 00000 n 
+0000186117 00000 n 
+0000241287 00000 n 
+0000298665 00000 n 
+0000274774 00000 n 
+0000190593 00000 n 
+0000190906 00000 n 
+0000191061 00000 n 
+0000191215 00000 n 
+0000191386 00000 n 
+0000191553 00000 n 
+0000192314 00000 n 
+0000190396 00000 n 
+0000186417 00000 n 
+0000191718 00000 n 
+0000191776 00000 n 
+0000191834 00000 n 
+0000190750 00000 n 
+0000191893 00000 n 
+0000191957 00000 n 
+0000192016 00000 n 
+0000192075 00000 n 
+0000192134 00000 n 
+0000192255 00000 n 
+0000197152 00000 n 
+0000196616 00000 n 
+0000196770 00000 n 
+0000196929 00000 n 
+0000197694 00000 n 
+0000196455 00000 n 
+0000192545 00000 n 
+0000197094 00000 n 
+0000197211 00000 n 
+0000197270 00000 n 
+0000197329 00000 n 
+0000197449 00000 n 
+0000197513 00000 n 
+0000197571 00000 n 
+0000197635 00000 n 
+0000288858 00000 n 
+0000269062 00000 n 
+0000201497 00000 n 
+0000201651 00000 n 
+0000201808 00000 n 
+0000201962 00000 n 
+0000202117 00000 n 
+0000202946 00000 n 
+0000201318 00000 n 
+0000197937 00000 n 
+0000202282 00000 n 
+0000202340 00000 n 
+0000202403 00000 n 
+0000202462 00000 n 
+0000202526 00000 n 
+0000202585 00000 n 
+0000202643 00000 n 
+0000202702 00000 n 
+0000202823 00000 n 
+0000202887 00000 n 
+0000293503 00000 n 
+0000274656 00000 n 
+0000274245 00000 n 
+0000207336 00000 n 
+0000207986 00000 n 
+0000207193 00000 n 
+0000203163 00000 n 
+0000207501 00000 n 
+0000207559 00000 n 
+0000207623 00000 n 
+0000207682 00000 n 
+0000207746 00000 n 
+0000207805 00000 n 
+0000207869 00000 n 
+0000207928 00000 n 
+0000212025 00000 n 
+0000212179 00000 n 
+0000218650 00000 n 
+0000212338 00000 n 
+0000213230 00000 n 
+0000211863 00000 n 
+0000208254 00000 n 
+0000212503 00000 n 
+0000212561 00000 n 
+0004852366 00000 n 
+0000212620 00000 n 
+0000212684 00000 n 
+0000212743 00000 n 
+0000212807 00000 n 
+0000212866 00000 n 
+0000212930 00000 n 
+0000212989 00000 n 
+0000213052 00000 n 
+0000213111 00000 n 
+0004857245 00000 n 
+0000310193 00000 n 
+0000218829 00000 n 
+0000219009 00000 n 
+0000219186 00000 n 
+0000219778 00000 n 
+0000218479 00000 n 
+0000213489 00000 n 
+0000219351 00000 n 
+0000219409 00000 n 
+0000219473 00000 n 
+0000219532 00000 n 
+0000219596 00000 n 
+0000219655 00000 n 
+0000219719 00000 n 
+0000228694 00000 n 
+0000223742 00000 n 
+0000224269 00000 n 
+0000223598 00000 n 
+0000220058 00000 n 
+0000223907 00000 n 
+0000223965 00000 n 
+0000224029 00000 n 
+0000224088 00000 n 
+0000224147 00000 n 
+0000224206 00000 n 
+0000228861 00000 n 
+0000229020 00000 n 
+0000234403 00000 n 
+0000229188 00000 n 
+0000229829 00000 n 
+0000228523 00000 n 
+0000224524 00000 n 
+0000229353 00000 n 
+0000229411 00000 n 
+0000229470 00000 n 
+0000229529 00000 n 
+0000229588 00000 n 
+0000229647 00000 n 
+0000229706 00000 n 
+0000229770 00000 n 
+0000234558 00000 n 
+0000234712 00000 n 
+0000234865 00000 n 
+0000235032 00000 n 
+0000235782 00000 n 
+0000234223 00000 n 
+0000230071 00000 n 
+0000235197 00000 n 
+0000235255 00000 n 
+0000235376 00000 n 
+0000235434 00000 n 
+0000235492 00000 n 
+0000235551 00000 n 
+0000235666 00000 n 
+0000235724 00000 n 
+0000269003 00000 n 
+0000281170 00000 n 
+0000241166 00000 n 
+0000239307 00000 n 
+0000239622 00000 n 
+0000239802 00000 n 
+0000240127 00000 n 
+0000240530 00000 n 
+0000241526 00000 n 
+0000239100 00000 n 
+0000236048 00000 n 
+0000240695 00000 n 
+0000240753 00000 n 
+0000240812 00000 n 
+0000240871 00000 n 
+0000240930 00000 n 
+0000240989 00000 n 
+0000241048 00000 n 
+0000241107 00000 n 
+0000239465 00000 n 
+0000239965 00000 n 
+0000240329 00000 n 
+0000241351 00000 n 
+0000241410 00000 n 
+0000241468 00000 n 
+0000245669 00000 n 
+0000245892 00000 n 
+0000246201 00000 n 
+0000246356 00000 n 
+0000246512 00000 n 
+0000246857 00000 n 
+0000247025 00000 n 
+0000247179 00000 n 
+0000247333 00000 n 
+0000247726 00000 n 
+0000247919 00000 n 
+0000248730 00000 n 
+0000245408 00000 n 
+0000241791 00000 n 
+0000248084 00000 n 
+0000248142 00000 n 
+0000248201 00000 n 
+0000248260 00000 n 
+0000248319 00000 n 
+0000248378 00000 n 
+0000248436 00000 n 
+0000248494 00000 n 
+0000246047 00000 n 
+0000248553 00000 n 
+0000248612 00000 n 
+0000248671 00000 n 
+0000246685 00000 n 
+0000247530 00000 n 
+0004857371 00000 n 
+0000274539 00000 n 
+0000281112 00000 n 
+0000925989 00000 n 
+0002434677 00000 n 
+0000252054 00000 n 
+0000252209 00000 n 
+0000252364 00000 n 
+0000252772 00000 n 
+0000252982 00000 n 
+0000253196 00000 n 
+0000253410 00000 n 
+0000253624 00000 n 
+0000253833 00000 n 
+0000254048 00000 n 
+0000254268 00000 n 
+0000254482 00000 n 
+0000254670 00000 n 
+0000255136 00000 n 
+0000251793 00000 n 
+0000248933 00000 n 
+0000254835 00000 n 
+0000254893 00000 n 
+0000255014 00000 n 
+0000255077 00000 n 
+0000252569 00000 n 
+0000304887 00000 n 
+0000304944 00000 n 
+0001852911 00000 n 
+0001199449 00000 n 
+0001591827 00000 n 
+0004002969 00000 n 
+0003089124 00000 n 
+0003945477 00000 n 
+0001763050 00000 n 
+0002781140 00000 n 
+0001788369 00000 n 
+0002638488 00000 n 
+0000258439 00000 n 
+0000258618 00000 n 
+0000258805 00000 n 
+0000258999 00000 n 
+0000259373 00000 n 
+0000259776 00000 n 
+0000258250 00000 n 
+0000255378 00000 n 
+0000259538 00000 n 
+0004856495 00000 n 
+0000259596 00000 n 
+0000259655 00000 n 
+0000259187 00000 n 
+0003658061 00000 n 
+0000263829 00000 n 
+0000264526 00000 n 
+0000263685 00000 n 
+0000260057 00000 n 
+0000263994 00000 n 
+0000264109 00000 n 
+0000264168 00000 n 
+0000264227 00000 n 
+0000264286 00000 n 
+0000264345 00000 n 
+0000264404 00000 n 
+0000264463 00000 n 
+0000268423 00000 n 
+0000269121 00000 n 
+0000268279 00000 n 
+0000264692 00000 n 
+0000268588 00000 n 
+0000268646 00000 n 
+0000268705 00000 n 
+0000268826 00000 n 
+0000268885 00000 n 
+0000268944 00000 n 
+0000272724 00000 n 
+0000273122 00000 n 
+0000273288 00000 n 
+0000273469 00000 n 
+0000273654 00000 n 
+0000273839 00000 n 
+0000274022 00000 n 
+0000275009 00000 n 
+0000272517 00000 n 
+0000269274 00000 n 
+0000274187 00000 n 
+0000274303 00000 n 
+0000272924 00000 n 
+0000274362 00000 n 
+0000274421 00000 n 
+0000274480 00000 n 
+0000274597 00000 n 
+0000274715 00000 n 
+0000274833 00000 n 
+0000274891 00000 n 
+0000274950 00000 n 
+0000278858 00000 n 
+0000279226 00000 n 
+0000279594 00000 n 
+0000279759 00000 n 
+0000279915 00000 n 
+0000280099 00000 n 
+0000280265 00000 n 
+0000280449 00000 n 
+0000280615 00000 n 
+0000285680 00000 n 
+0000285864 00000 n 
+0000280771 00000 n 
+0000281701 00000 n 
+0000278615 00000 n 
+0000275149 00000 n 
+0000280936 00000 n 
+0000280994 00000 n 
+0000281053 00000 n 
+0000279042 00000 n 
+0000281229 00000 n 
+0000281288 00000 n 
+0000279410 00000 n 
+0000281347 00000 n 
+0000281406 00000 n 
+0000281465 00000 n 
+0000281524 00000 n 
+0000281583 00000 n 
+0000281642 00000 n 
+0004857497 00000 n 
+0000286020 00000 n 
+0000286351 00000 n 
+0000286532 00000 n 
+0000286688 00000 n 
+0000286854 00000 n 
+0000287034 00000 n 
+0000287190 00000 n 
+0000287346 00000 n 
+0000287530 00000 n 
+0000287715 00000 n 
+0000287872 00000 n 
+0000288917 00000 n 
+0000285419 00000 n 
+0000281841 00000 n 
+0000288037 00000 n 
+0000288095 00000 n 
+0000288154 00000 n 
+0000288213 00000 n 
+0000286186 00000 n 
+0000288272 00000 n 
+0000288331 00000 n 
+0000288390 00000 n 
+0000288447 00000 n 
+0000288506 00000 n 
+0000288565 00000 n 
+0000288624 00000 n 
+0000288683 00000 n 
+0000288799 00000 n 
+0000292752 00000 n 
+0000293162 00000 n 
+0000294268 00000 n 
+0000292590 00000 n 
+0000289057 00000 n 
+0000293327 00000 n 
+0000293385 00000 n 
+0000293444 00000 n 
+0000293562 00000 n 
+0000293621 00000 n 
+0000293680 00000 n 
+0000293739 00000 n 
+0000293798 00000 n 
+0000293857 00000 n 
+0000293916 00000 n 
+0000292958 00000 n 
+0000294091 00000 n 
+0000294150 00000 n 
+0000294209 00000 n 
+0000298324 00000 n 
+0000299428 00000 n 
+0000298180 00000 n 
+0000294421 00000 n 
+0000298489 00000 n 
+0000298547 00000 n 
+0000298606 00000 n 
+0000298723 00000 n 
+0000298782 00000 n 
+0000298841 00000 n 
+0000298900 00000 n 
+0000298959 00000 n 
+0000299076 00000 n 
+0000299193 00000 n 
+0000299252 00000 n 
+0000299311 00000 n 
+0000299369 00000 n 
+0000303446 00000 n 
+0000303827 00000 n 
+0000303982 00000 n 
+0000309077 00000 n 
+0000304133 00000 n 
+0000305237 00000 n 
+0000303266 00000 n 
+0000299568 00000 n 
+0000304298 00000 n 
+0000304356 00000 n 
+0000304415 00000 n 
+0000304474 00000 n 
+0000303638 00000 n 
+0000304533 00000 n 
+0000304592 00000 n 
+0000304651 00000 n 
+0000304710 00000 n 
+0000304769 00000 n 
+0000304828 00000 n 
+0000305003 00000 n 
+0000305062 00000 n 
+0000305120 00000 n 
+0000305179 00000 n 
+0000309607 00000 n 
+0000309231 00000 n 
+0000314340 00000 n 
+0000314495 00000 n 
+0000309384 00000 n 
+0000310663 00000 n 
+0000308915 00000 n 
+0000305390 00000 n 
+0000309549 00000 n 
+0000309666 00000 n 
+0000309782 00000 n 
+0000309841 00000 n 
+0000309900 00000 n 
+0000309959 00000 n 
+0000310016 00000 n 
+0000310075 00000 n 
+0000310134 00000 n 
+0000310252 00000 n 
+0000310368 00000 n 
+0000310427 00000 n 
+0000310486 00000 n 
+0000310545 00000 n 
+0000310604 00000 n 
+0000314650 00000 n 
+0000314814 00000 n 
+0000315446 00000 n 
+0000314169 00000 n 
+0000310803 00000 n 
+0000314979 00000 n 
+0000315037 00000 n 
+0000315096 00000 n 
+0000315270 00000 n 
+0000315387 00000 n 
+0004857623 00000 n 
+0000318957 00000 n 
+0000319357 00000 n 
+0000318813 00000 n 
+0000315599 00000 n 
+0000319122 00000 n 
+0000319180 00000 n 
+0000319239 00000 n 
+0000319298 00000 n 
+0000322727 00000 n 
+0000323127 00000 n 
+0000322583 00000 n 
+0000319497 00000 n 
+0000322892 00000 n 
+0000322950 00000 n 
+0000323009 00000 n 
+0000323068 00000 n 
+0000326556 00000 n 
+0000326897 00000 n 
+0000326412 00000 n 
+0000323267 00000 n 
+0000326721 00000 n 
+0000326779 00000 n 
+0000326838 00000 n 
+0000330696 00000 n 
+0000330978 00000 n 
+0000330552 00000 n 
+0000327037 00000 n 
+0000330861 00000 n 
+0000330919 00000 n 
+0000334353 00000 n 
+0000334635 00000 n 
+0000334209 00000 n 
+0000331118 00000 n 
+0000334518 00000 n 
+0000334576 00000 n 
+0000338287 00000 n 
+0000338687 00000 n 
+0000338143 00000 n 
+0000334775 00000 n 
+0000338452 00000 n 
+0000338510 00000 n 
+0000338569 00000 n 
+0000338628 00000 n 
+0004857749 00000 n 
+0000342314 00000 n 
+0000342714 00000 n 
+0000342170 00000 n 
+0000338827 00000 n 
+0000342479 00000 n 
+0000342537 00000 n 
+0000342596 00000 n 
+0000342655 00000 n 
+0000345803 00000 n 
+0000346262 00000 n 
+0000345659 00000 n 
+0000342854 00000 n 
+0000345968 00000 n 
+0000346026 00000 n 
+0000346085 00000 n 
+0000346144 00000 n 
+0000346203 00000 n 
+0004855045 00000 n 
+0000349282 00000 n 
+0000349459 00000 n 
+0000349636 00000 n 
+0000349832 00000 n 
+0000350229 00000 n 
+0000349111 00000 n 
+0000346417 00000 n 
+0000349997 00000 n 
+0000350112 00000 n 
+0000354302 00000 n 
+0000354525 00000 n 
+0000354158 00000 n 
+0000350384 00000 n 
+0000354467 00000 n 
+0000358463 00000 n 
+0000358686 00000 n 
+0000358319 00000 n 
+0000354652 00000 n 
+0000358628 00000 n 
+0000362104 00000 n 
+0000362327 00000 n 
+0000361960 00000 n 
+0000358813 00000 n 
+0000362269 00000 n 
+0004857875 00000 n 
+0000365765 00000 n 
+0000365988 00000 n 
+0000365621 00000 n 
+0000362454 00000 n 
+0000365930 00000 n 
+0000368815 00000 n 
+0000368992 00000 n 
+0000369148 00000 n 
+0000369544 00000 n 
+0000368653 00000 n 
+0000366115 00000 n 
+0000369313 00000 n 
+0000369371 00000 n 
+0000371347 00000 n 
+0000371525 00000 n 
+0000371683 00000 n 
+0000371878 00000 n 
+0000372036 00000 n 
+0000372192 00000 n 
+0000372349 00000 n 
+0000372508 00000 n 
+0000372666 00000 n 
+0000372825 00000 n 
+0000372983 00000 n 
+0000373141 00000 n 
+0000373299 00000 n 
+0000373457 00000 n 
+0000373616 00000 n 
+0000373775 00000 n 
+0000373934 00000 n 
+0000374093 00000 n 
+0000374252 00000 n 
+0000374411 00000 n 
+0000374570 00000 n 
+0000374729 00000 n 
+0000374888 00000 n 
+0000377416 00000 n 
+0000375045 00000 n 
+0000375496 00000 n 
+0000370996 00000 n 
+0000369684 00000 n 
+0000375210 00000 n 
+0000570592 00000 n 
+0000662236 00000 n 
+0000665980 00000 n 
+0000377575 00000 n 
+0000377734 00000 n 
+0000377892 00000 n 
+0000378051 00000 n 
+0000378210 00000 n 
+0000378369 00000 n 
+0000378527 00000 n 
+0000378686 00000 n 
+0000378844 00000 n 
+0000379003 00000 n 
+0000379162 00000 n 
+0000379320 00000 n 
+0000379479 00000 n 
+0000379637 00000 n 
+0000379796 00000 n 
+0000379955 00000 n 
+0000380114 00000 n 
+0000380273 00000 n 
+0000380432 00000 n 
+0000380589 00000 n 
+0000380748 00000 n 
+0000380907 00000 n 
+0000381066 00000 n 
+0000381225 00000 n 
+0000381384 00000 n 
+0000381543 00000 n 
+0000383811 00000 n 
+0000381700 00000 n 
+0000381923 00000 n 
+0000377029 00000 n 
+0000375649 00000 n 
+0000381865 00000 n 
+0000383970 00000 n 
+0000384129 00000 n 
+0000384288 00000 n 
+0000384446 00000 n 
+0000384605 00000 n 
+0000384764 00000 n 
+0000384922 00000 n 
+0000385081 00000 n 
+0000385240 00000 n 
+0000385398 00000 n 
+0000385557 00000 n 
+0000385716 00000 n 
+0000385874 00000 n 
+0000386033 00000 n 
+0000386192 00000 n 
+0000386351 00000 n 
+0000386510 00000 n 
+0000386669 00000 n 
+0000386828 00000 n 
+0000386987 00000 n 
+0000387146 00000 n 
+0000387305 00000 n 
+0000387464 00000 n 
+0000387623 00000 n 
+0000387781 00000 n 
+0000387940 00000 n 
+0000390097 00000 n 
+0000388097 00000 n 
+0000388320 00000 n 
+0000383424 00000 n 
+0000382063 00000 n 
+0000388262 00000 n 
+0000390256 00000 n 
+0000390415 00000 n 
+0000390574 00000 n 
+0000390733 00000 n 
+0000390892 00000 n 
+0000391051 00000 n 
+0000391209 00000 n 
+0000391368 00000 n 
+0000391527 00000 n 
+0000391686 00000 n 
+0000391843 00000 n 
+0000392002 00000 n 
+0000392161 00000 n 
+0000392320 00000 n 
+0000392479 00000 n 
+0000392638 00000 n 
+0000392795 00000 n 
+0000392954 00000 n 
+0000393113 00000 n 
+0000393272 00000 n 
+0000393430 00000 n 
+0000393589 00000 n 
+0000393748 00000 n 
+0000393907 00000 n 
+0000394065 00000 n 
+0000394224 00000 n 
+0000394562 00000 n 
+0000389719 00000 n 
+0000388460 00000 n 
+0000394389 00000 n 
+0004858001 00000 n 
+0000396722 00000 n 
+0000396923 00000 n 
+0000397082 00000 n 
+0000397290 00000 n 
+0000397449 00000 n 
+0000397666 00000 n 
+0000397825 00000 n 
+0000398011 00000 n 
+0000398170 00000 n 
+0000398366 00000 n 
+0000398524 00000 n 
+0000398716 00000 n 
+0000398874 00000 n 
+0000399072 00000 n 
+0000399230 00000 n 
+0000399410 00000 n 
+0000399568 00000 n 
+0000399757 00000 n 
+0000399915 00000 n 
+0000400336 00000 n 
+0000400495 00000 n 
+0000400687 00000 n 
+0000400846 00000 n 
+0000401046 00000 n 
+0000401205 00000 n 
+0000401398 00000 n 
+0000401557 00000 n 
+0000401766 00000 n 
+0000401925 00000 n 
+0000402131 00000 n 
+0000402290 00000 n 
+0000402497 00000 n 
+0000402677 00000 n 
+0000402836 00000 n 
+0000403032 00000 n 
+0000405525 00000 n 
+0000405723 00000 n 
+0000403189 00000 n 
+0000403412 00000 n 
+0000396254 00000 n 
+0000394715 00000 n 
+0000403354 00000 n 
+0000400125 00000 n 
+0000668403 00000 n 
+0000668579 00000 n 
+0000668814 00000 n 
+0000931748 00000 n 
+0000935832 00000 n 
+0001211976 00000 n 
+0001216868 00000 n 
+0001217103 00000 n 
+0001332291 00000 n 
+0001332585 00000 n 
+0001336687 00000 n 
+0001336981 00000 n 
+0000405882 00000 n 
+0000406088 00000 n 
+0000406246 00000 n 
+0000406450 00000 n 
+0000406609 00000 n 
+0000406797 00000 n 
+0000406956 00000 n 
+0000407152 00000 n 
+0000407310 00000 n 
+0000407510 00000 n 
+0000407669 00000 n 
+0000407874 00000 n 
+0000408033 00000 n 
+0000408254 00000 n 
+0000408413 00000 n 
+0000408628 00000 n 
+0000408787 00000 n 
+0000409001 00000 n 
+0000409160 00000 n 
+0000409369 00000 n 
+0000409528 00000 n 
+0000409748 00000 n 
+0000409907 00000 n 
+0000410144 00000 n 
+0000410303 00000 n 
+0000410730 00000 n 
+0000410889 00000 n 
+0000411077 00000 n 
+0000411235 00000 n 
+0000411431 00000 n 
+0000411590 00000 n 
+0000411802 00000 n 
+0000411961 00000 n 
+0000412161 00000 n 
+0000412320 00000 n 
+0000412507 00000 n 
+0000412659 00000 n 
+0000415417 00000 n 
+0000415851 00000 n 
+0000412816 00000 n 
+0000413039 00000 n 
+0000405021 00000 n 
+0000403565 00000 n 
+0000412981 00000 n 
+0000410515 00000 n 
+0004855948 00000 n 
+0001337275 00000 n 
+0001374868 00000 n 
+0001381119 00000 n 
+0001388303 00000 n 
+0001462319 00000 n 
+0001499762 00000 n 
+0001514638 00000 n 
+0001527457 00000 n 
+0001532130 00000 n 
+0001549844 00000 n 
+0001558836 00000 n 
+0001566342 00000 n 
+0001575001 00000 n 
+0001605203 00000 n 
+0001710938 00000 n 
+0001733596 00000 n 
+0001738226 00000 n 
+0001747369 00000 n 
+0000416009 00000 n 
+0000416439 00000 n 
+0000416597 00000 n 
+0000416790 00000 n 
+0000416949 00000 n 
+0000417179 00000 n 
+0000417337 00000 n 
+0000417550 00000 n 
+0000417708 00000 n 
+0000417931 00000 n 
+0000418090 00000 n 
+0000418293 00000 n 
+0000418451 00000 n 
+0000418662 00000 n 
+0000418821 00000 n 
+0000419025 00000 n 
+0000419184 00000 n 
+0000419372 00000 n 
+0000419531 00000 n 
+0000419718 00000 n 
+0000419877 00000 n 
+0000420072 00000 n 
+0000420231 00000 n 
+0000420443 00000 n 
+0000420602 00000 n 
+0000420792 00000 n 
+0000420951 00000 n 
+0000421133 00000 n 
+0000421292 00000 n 
+0000421486 00000 n 
+0000421668 00000 n 
+0000421827 00000 n 
+0000422018 00000 n 
+0000424721 00000 n 
+0000424922 00000 n 
+0000422175 00000 n 
+0000422398 00000 n 
+0000414940 00000 n 
+0000413194 00000 n 
+0000422340 00000 n 
+0000415634 00000 n 
+0000416224 00000 n 
+0001816679 00000 n 
+0001816914 00000 n 
+0001827301 00000 n 
+0001847844 00000 n 
+0001852501 00000 n 
+0001852677 00000 n 
+0001892813 00000 n 
+0001904748 00000 n 
+0002038157 00000 n 
+0002068466 00000 n 
+0002076834 00000 n 
+0002296612 00000 n 
+0002307406 00000 n 
+0000425081 00000 n 
+0000425275 00000 n 
+0000425434 00000 n 
+0000425649 00000 n 
+0000425808 00000 n 
+0000426250 00000 n 
+0000426464 00000 n 
+0000426622 00000 n 
+0000426847 00000 n 
+0000427060 00000 n 
+0000427217 00000 n 
+0000427412 00000 n 
+0000427570 00000 n 
+0000427773 00000 n 
+0000427931 00000 n 
+0000428117 00000 n 
+0000428275 00000 n 
+0000428473 00000 n 
+0000428631 00000 n 
+0000428827 00000 n 
+0000428982 00000 n 
+0000429172 00000 n 
+0000429330 00000 n 
+0000429520 00000 n 
+0000429678 00000 n 
+0000430119 00000 n 
+0000430278 00000 n 
+0000430470 00000 n 
+0000430629 00000 n 
+0000430844 00000 n 
+0000431003 00000 n 
+0000431192 00000 n 
+0000431351 00000 n 
+0000431543 00000 n 
+0000431702 00000 n 
+0000432128 00000 n 
+0000434736 00000 n 
+0000434941 00000 n 
+0000432285 00000 n 
+0000432508 00000 n 
+0000424208 00000 n 
+0000422538 00000 n 
+0000432450 00000 n 
+0000426029 00000 n 
+0000429899 00000 n 
+0000431915 00000 n 
+0002394080 00000 n 
+0002439357 00000 n 
+0002446948 00000 n 
+0002455059 00000 n 
+0002462306 00000 n 
+0002467169 00000 n 
+0002482942 00000 n 
+0002501980 00000 n 
+0002726715 00000 n 
+0002845020 00000 n 
+0002845200 00000 n 
+0000435100 00000 n 
+0000435324 00000 n 
+0000435483 00000 n 
+0000435704 00000 n 
+0000435863 00000 n 
+0000436060 00000 n 
+0000436217 00000 n 
+0000436407 00000 n 
+0000436566 00000 n 
+0000436763 00000 n 
+0000436922 00000 n 
+0000437115 00000 n 
+0000437273 00000 n 
+0000437469 00000 n 
+0000437627 00000 n 
+0000437820 00000 n 
+0000437979 00000 n 
+0000438172 00000 n 
+0000438330 00000 n 
+0000438518 00000 n 
+0000438676 00000 n 
+0000438861 00000 n 
+0000439020 00000 n 
+0000439213 00000 n 
+0000439372 00000 n 
+0000439578 00000 n 
+0000439736 00000 n 
+0000439929 00000 n 
+0000440088 00000 n 
+0000440508 00000 n 
+0000440667 00000 n 
+0000440863 00000 n 
+0000441022 00000 n 
+0000441207 00000 n 
+0000443650 00000 n 
+0000443862 00000 n 
+0000441364 00000 n 
+0000441587 00000 n 
+0000434259 00000 n 
+0000432648 00000 n 
+0000441529 00000 n 
+0000440298 00000 n 
+0003275318 00000 n 
+0003286631 00000 n 
+0003296236 00000 n 
+0003319073 00000 n 
+0003382607 00000 n 
+0003409702 00000 n 
+0003634856 00000 n 
+0003643272 00000 n 
+0003881147 00000 n 
+0003926809 00000 n 
+0003930571 00000 n 
+0003935179 00000 n 
+0003964429 00000 n 
+0003964731 00000 n 
+0000444021 00000 n 
+0000444214 00000 n 
+0000444373 00000 n 
+0000444574 00000 n 
+0000444733 00000 n 
+0000444918 00000 n 
+0000445077 00000 n 
+0000445506 00000 n 
+0000445692 00000 n 
+0000445851 00000 n 
+0000446040 00000 n 
+0000446199 00000 n 
+0000446385 00000 n 
+0000446544 00000 n 
+0000446738 00000 n 
+0000446894 00000 n 
+0000447080 00000 n 
+0000447278 00000 n 
+0000447465 00000 n 
+0000447658 00000 n 
+0000447847 00000 n 
+0000450312 00000 n 
+0000448039 00000 n 
+0000448555 00000 n 
+0000443290 00000 n 
+0000441727 00000 n 
+0000448204 00000 n 
+0000445292 00000 n 
+0000448320 00000 n 
+0000448437 00000 n 
+0000448496 00000 n 
+0004858127 00000 n 
+0003970771 00000 n 
+0003971500 00000 n 
+0003975000 00000 n 
+0003975424 00000 n 
+0004024730 00000 n 
+0004030039 00000 n 
+0000450497 00000 n 
+0000450691 00000 n 
+0000450878 00000 n 
+0000451065 00000 n 
+0000451257 00000 n 
+0000451445 00000 n 
+0000451626 00000 n 
+0000451821 00000 n 
+0000452034 00000 n 
+0000452230 00000 n 
+0000452445 00000 n 
+0000452642 00000 n 
+0000452837 00000 n 
+0000453049 00000 n 
+0000453246 00000 n 
+0000453433 00000 n 
+0000453623 00000 n 
+0000453824 00000 n 
+0000454006 00000 n 
+0000454193 00000 n 
+0000454384 00000 n 
+0000454577 00000 n 
+0000457197 00000 n 
+0000457394 00000 n 
+0000454766 00000 n 
+0000454989 00000 n 
+0000449961 00000 n 
+0000448721 00000 n 
+0000454931 00000 n 
+0000457588 00000 n 
+0000457783 00000 n 
+0000457965 00000 n 
+0000458158 00000 n 
+0000458352 00000 n 
+0000458552 00000 n 
+0000458752 00000 n 
+0000458958 00000 n 
+0000459148 00000 n 
+0000459353 00000 n 
+0000459542 00000 n 
+0000459697 00000 n 
+0000459883 00000 n 
+0000460079 00000 n 
+0000460500 00000 n 
+0000460928 00000 n 
+0000461355 00000 n 
+0000461541 00000 n 
+0000461960 00000 n 
+0000462392 00000 n 
+0000462833 00000 n 
+0000465771 00000 n 
+0000463259 00000 n 
+0000463482 00000 n 
+0000456783 00000 n 
+0000455142 00000 n 
+0000463424 00000 n 
+0000460290 00000 n 
+0000460714 00000 n 
+0000461142 00000 n 
+0000461751 00000 n 
+0000462176 00000 n 
+0000462613 00000 n 
+0000463047 00000 n 
+0000466199 00000 n 
+0000466389 00000 n 
+0000466594 00000 n 
+0000466799 00000 n 
+0000467003 00000 n 
+0000467208 00000 n 
+0000467413 00000 n 
+0000467618 00000 n 
+0000467823 00000 n 
+0000468028 00000 n 
+0000468233 00000 n 
+0000468471 00000 n 
+0000468710 00000 n 
+0000469187 00000 n 
+0000469426 00000 n 
+0000469663 00000 n 
+0000469901 00000 n 
+0000470378 00000 n 
+0000470617 00000 n 
+0000470855 00000 n 
+0000471094 00000 n 
+0000471571 00000 n 
+0000471810 00000 n 
+0000472047 00000 n 
+0000472523 00000 n 
+0000472757 00000 n 
+0000473233 00000 n 
+0000473470 00000 n 
+0000473708 00000 n 
+0000474184 00000 n 
+0000474423 00000 n 
+0000474660 00000 n 
+0000474898 00000 n 
+0000475374 00000 n 
+0000475613 00000 n 
+0000475851 00000 n 
+0000476327 00000 n 
+0000476564 00000 n 
+0000480153 00000 n 
+0000480358 00000 n 
+0000480596 00000 n 
+0000480835 00000 n 
+0000481312 00000 n 
+0000481551 00000 n 
+0000477039 00000 n 
+0000477498 00000 n 
+0000465186 00000 n 
+0000463635 00000 n 
+0000477204 00000 n 
+0000465985 00000 n 
+0000477262 00000 n 
+0000477321 00000 n 
+0000477380 00000 n 
+0000477439 00000 n 
+0000468949 00000 n 
+0000470140 00000 n 
+0000471333 00000 n 
+0000472286 00000 n 
+0000472995 00000 n 
+0000473946 00000 n 
+0000475136 00000 n 
+0000476090 00000 n 
+0000476802 00000 n 
+0000515820 00000 n 
+0000515938 00000 n 
+0000516056 00000 n 
+0000516174 00000 n 
+0000516350 00000 n 
+0000516468 00000 n 
+0000516585 00000 n 
+0000518923 00000 n 
+0000519041 00000 n 
+0000519104 00000 n 
+0000519168 00000 n 
+0000519231 00000 n 
+0000519295 00000 n 
+0000519359 00000 n 
+0000519423 00000 n 
+0000519487 00000 n 
+0000519551 00000 n 
+0000519615 00000 n 
+0000519679 00000 n 
+0000519743 00000 n 
+0000519807 00000 n 
+0000519871 00000 n 
+0000519935 00000 n 
+0000519999 00000 n 
+0000520062 00000 n 
+0000520126 00000 n 
+0000520190 00000 n 
+0000520254 00000 n 
+0000520318 00000 n 
+0000520382 00000 n 
+0000520446 00000 n 
+0000520510 00000 n 
+0000520574 00000 n 
+0000520638 00000 n 
+0000520702 00000 n 
+0000520766 00000 n 
+0000481789 00000 n 
+0000481993 00000 n 
+0000482232 00000 n 
+0000482709 00000 n 
+0000482913 00000 n 
+0000483151 00000 n 
+0000483390 00000 n 
+0000483867 00000 n 
+0000484106 00000 n 
+0000484344 00000 n 
+0000484583 00000 n 
+0000484788 00000 n 
+0000485265 00000 n 
+0000485504 00000 n 
+0000485980 00000 n 
+0000486185 00000 n 
+0000486661 00000 n 
+0000486900 00000 n 
+0000487104 00000 n 
+0000487342 00000 n 
+0000487581 00000 n 
+0000488058 00000 n 
+0000488297 00000 n 
+0000488535 00000 n 
+0000488738 00000 n 
+0000489215 00000 n 
+0000489453 00000 n 
+0000489658 00000 n 
+0000490134 00000 n 
+0000490372 00000 n 
+0000490848 00000 n 
+0000491051 00000 n 
+0000491289 00000 n 
+0000491765 00000 n 
+0000491970 00000 n 
+0000492208 00000 n 
+0000492447 00000 n 
+0000492923 00000 n 
+0000493162 00000 n 
+0000493400 00000 n 
+0000493875 00000 n 
+0000494114 00000 n 
+0000494319 00000 n 
+0000494795 00000 n 
+0000495033 00000 n 
+0000495238 00000 n 
+0000495715 00000 n 
+0000495954 00000 n 
+0000498902 00000 n 
+0000496430 00000 n 
+0000496653 00000 n 
+0000479379 00000 n 
+0000477664 00000 n 
+0000496595 00000 n 
+0000481074 00000 n 
+0000482471 00000 n 
+0000483629 00000 n 
+0000485027 00000 n 
+0000485742 00000 n 
+0000486423 00000 n 
+0000487820 00000 n 
+0000488977 00000 n 
+0000489897 00000 n 
+0000490610 00000 n 
+0000491528 00000 n 
+0000492685 00000 n 
+0000493638 00000 n 
+0000494557 00000 n 
+0000495477 00000 n 
+0000496193 00000 n 
+0000520830 00000 n 
+0000520947 00000 n 
+0000521010 00000 n 
+0000523099 00000 n 
+0000523162 00000 n 
+0000523226 00000 n 
+0000523290 00000 n 
+0000523408 00000 n 
+0000523472 00000 n 
+0000523536 00000 n 
+0000523654 00000 n 
+0000523718 00000 n 
+0000523782 00000 n 
+0000523845 00000 n 
+0000523909 00000 n 
+0000523973 00000 n 
+0000524037 00000 n 
+0000524155 00000 n 
+0000524219 00000 n 
+0000524283 00000 n 
+0000524346 00000 n 
+0000524463 00000 n 
+0000524527 00000 n 
+0000524590 00000 n 
+0000527735 00000 n 
+0000527798 00000 n 
+0000527862 00000 n 
+0000527926 00000 n 
+0000527990 00000 n 
+0000528054 00000 n 
+0000528172 00000 n 
+0000528236 00000 n 
+0000528300 00000 n 
+0000528418 00000 n 
+0000528482 00000 n 
+0000528546 00000 n 
+0000528610 00000 n 
+0000531852 00000 n 
+0000531916 00000 n 
+0000531979 00000 n 
+0000532097 00000 n 
+0000532161 00000 n 
+0000532225 00000 n 
+0000532289 00000 n 
+0000532353 00000 n 
+0000532417 00000 n 
+0000532479 00000 n 
+0000532543 00000 n 
+0000532660 00000 n 
+0000532724 00000 n 
+0000532788 00000 n 
+0000532906 00000 n 
+0000532970 00000 n 
+0000533034 00000 n 
+0000499106 00000 n 
+0000499311 00000 n 
+0000499516 00000 n 
+0000499721 00000 n 
+0000499926 00000 n 
+0000500131 00000 n 
+0000500336 00000 n 
+0000500541 00000 n 
+0000500745 00000 n 
+0000500949 00000 n 
+0000501154 00000 n 
+0000501359 00000 n 
+0000501564 00000 n 
+0000501769 00000 n 
+0000501972 00000 n 
+0000502177 00000 n 
+0000502381 00000 n 
+0000502586 00000 n 
+0000502791 00000 n 
+0000502996 00000 n 
+0000503201 00000 n 
+0000503357 00000 n 
+0000503561 00000 n 
+0000503716 00000 n 
+0000503921 00000 n 
+0000506609 00000 n 
+0000506814 00000 n 
+0000504074 00000 n 
+0000504533 00000 n 
+0000498524 00000 n 
+0000496793 00000 n 
+0000504239 00000 n 
+0000504297 00000 n 
+0000504356 00000 n 
+0000504415 00000 n 
+0000504474 00000 n 
+0004851922 00000 n 
+0000565339 00000 n 
+0000533157 00000 n 
+0000533275 00000 n 
+0000537043 00000 n 
+0000537161 00000 n 
+0000537279 00000 n 
+0000537397 00000 n 
+0000537515 00000 n 
+0000537633 00000 n 
+0000537751 00000 n 
+0000537867 00000 n 
+0000537985 00000 n 
+0000538103 00000 n 
+0000538221 00000 n 
+0000538339 00000 n 
+0000538457 00000 n 
+0000538575 00000 n 
+0000538693 00000 n 
+0000538811 00000 n 
+0000538929 00000 n 
+0000539047 00000 n 
+0000542827 00000 n 
+0000543062 00000 n 
+0000506970 00000 n 
+0000507175 00000 n 
+0000507331 00000 n 
+0000507535 00000 n 
+0000507691 00000 n 
+0000507896 00000 n 
+0000508052 00000 n 
+0000508257 00000 n 
+0000508413 00000 n 
+0000508618 00000 n 
+0000508823 00000 n 
+0000508979 00000 n 
+0000509184 00000 n 
+0000509389 00000 n 
+0000509545 00000 n 
+0000509750 00000 n 
+0000509955 00000 n 
+0000510111 00000 n 
+0000510314 00000 n 
+0000510518 00000 n 
+0000510674 00000 n 
+0000510879 00000 n 
+0000511083 00000 n 
+0000511238 00000 n 
+0000511443 00000 n 
+0000511646 00000 n 
+0000511799 00000 n 
+0000512375 00000 n 
+0000506213 00000 n 
+0000504728 00000 n 
+0000511964 00000 n 
+0000512022 00000 n 
+0000512081 00000 n 
+0000512140 00000 n 
+0000512199 00000 n 
+0000512258 00000 n 
+0000512317 00000 n 
+0004858253 00000 n 
+0000547184 00000 n 
+0000551495 00000 n 
+0000556078 00000 n 
+0000556371 00000 n 
+0000561089 00000 n 
+0000515096 00000 n 
+0000515286 00000 n 
+0000515479 00000 n 
+0000516703 00000 n 
+0000514934 00000 n 
+0000512529 00000 n 
+0000515644 00000 n 
+0000515702 00000 n 
+0000515761 00000 n 
+0000515879 00000 n 
+0000515997 00000 n 
+0000516115 00000 n 
+0000516233 00000 n 
+0000516292 00000 n 
+0000516409 00000 n 
+0000516527 00000 n 
+0000516644 00000 n 
+0000518641 00000 n 
+0000521073 00000 n 
+0000518497 00000 n 
+0000516843 00000 n 
+0000518806 00000 n 
+0000518864 00000 n 
+0000518982 00000 n 
+0000520889 00000 n 
+0000526914 00000 n 
+0000522876 00000 n 
+0000524648 00000 n 
+0000522732 00000 n 
+0000521253 00000 n 
+0000523041 00000 n 
+0000523349 00000 n 
+0000523595 00000 n 
+0000524096 00000 n 
+0000524404 00000 n 
+0000527094 00000 n 
+0000527274 00000 n 
+0000527453 00000 n 
+0000528726 00000 n 
+0000526743 00000 n 
+0000524803 00000 n 
+0000527618 00000 n 
+0000527676 00000 n 
+0000528113 00000 n 
+0000528359 00000 n 
+0000528667 00000 n 
+0000531087 00000 n 
+0000531249 00000 n 
+0000531439 00000 n 
+0000531629 00000 n 
+0000533391 00000 n 
+0000530916 00000 n 
+0000528919 00000 n 
+0000531794 00000 n 
+0000532038 00000 n 
+0000532601 00000 n 
+0000532847 00000 n 
+0000533098 00000 n 
+0000533216 00000 n 
+0004855407 00000 n 
+0000533333 00000 n 
+0000536664 00000 n 
+0000536820 00000 n 
+0000539224 00000 n 
+0000536511 00000 n 
+0000533561 00000 n 
+0000536985 00000 n 
+0000537102 00000 n 
+0000537220 00000 n 
+0000537338 00000 n 
+0000537456 00000 n 
+0000537574 00000 n 
+0000537692 00000 n 
+0000537809 00000 n 
+0000537926 00000 n 
+0000538044 00000 n 
+0000538162 00000 n 
+0000538280 00000 n 
+0000538398 00000 n 
+0000538516 00000 n 
+0000538634 00000 n 
+0000538752 00000 n 
+0000538870 00000 n 
+0000538988 00000 n 
+0000539106 00000 n 
+0000539165 00000 n 
+0004858379 00000 n 
+0000542389 00000 n 
+0000546473 00000 n 
+0000542545 00000 n 
+0000543120 00000 n 
+0000542236 00000 n 
+0000539418 00000 n 
+0000542710 00000 n 
+0000542768 00000 n 
+0000542886 00000 n 
+0000542945 00000 n 
+0000543003 00000 n 
+0000546629 00000 n 
+0000546784 00000 n 
+0000547361 00000 n 
+0000546311 00000 n 
+0000543364 00000 n 
+0000546949 00000 n 
+0000547007 00000 n 
+0000547066 00000 n 
+0000547125 00000 n 
+0000547243 00000 n 
+0000547302 00000 n 
+0000550998 00000 n 
+0000551154 00000 n 
+0000551731 00000 n 
+0000550845 00000 n 
+0000547617 00000 n 
+0000551319 00000 n 
+0000551377 00000 n 
+0000551436 00000 n 
+0000551554 00000 n 
+0000551613 00000 n 
+0000551672 00000 n 
+0000555699 00000 n 
+0000560436 00000 n 
+0000555855 00000 n 
+0000556487 00000 n 
+0000555546 00000 n 
+0000551987 00000 n 
+0000556020 00000 n 
+0000556137 00000 n 
+0000556196 00000 n 
+0000556255 00000 n 
+0000556314 00000 n 
+0000556429 00000 n 
+0000560592 00000 n 
+0000560748 00000 n 
+0000561271 00000 n 
+0000560274 00000 n 
+0000556743 00000 n 
+0000560913 00000 n 
+0000560971 00000 n 
+0000561030 00000 n 
+0000561153 00000 n 
+0000561212 00000 n 
+0000564939 00000 n 
+0000565457 00000 n 
+0000564795 00000 n 
+0000561527 00000 n 
+0000565104 00000 n 
+0000565162 00000 n 
+0000565221 00000 n 
+0000565280 00000 n 
+0000565398 00000 n 
+0004858505 00000 n 
+0000567659 00000 n 
+0000567854 00000 n 
+0000568040 00000 n 
+0000568226 00000 n 
+0000568411 00000 n 
+0000568603 00000 n 
+0000568793 00000 n 
+0000568985 00000 n 
+0000569171 00000 n 
+0000569363 00000 n 
+0000569558 00000 n 
+0000569746 00000 n 
+0000569933 00000 n 
+0000570126 00000 n 
+0000572484 00000 n 
+0000572665 00000 n 
+0000570311 00000 n 
+0000570826 00000 n 
+0000567389 00000 n 
+0000565698 00000 n 
+0000570476 00000 n 
+0000570709 00000 n 
+0000570767 00000 n 
+0000572861 00000 n 
+0000573072 00000 n 
+0000573267 00000 n 
+0000573463 00000 n 
+0000573658 00000 n 
+0000573870 00000 n 
+0000574066 00000 n 
+0000574254 00000 n 
+0000574444 00000 n 
+0000574649 00000 n 
+0000574850 00000 n 
+0000575032 00000 n 
+0000575219 00000 n 
+0000575410 00000 n 
+0000575604 00000 n 
+0000575808 00000 n 
+0000576014 00000 n 
+0000576216 00000 n 
+0000576417 00000 n 
+0000576617 00000 n 
+0000576819 00000 n 
+0000579163 00000 n 
+0000579372 00000 n 
+0000577029 00000 n 
+0000577252 00000 n 
+0000572133 00000 n 
+0000570979 00000 n 
+0000577194 00000 n 
+0000579562 00000 n 
+0000579755 00000 n 
+0000579952 00000 n 
+0000580149 00000 n 
+0000580346 00000 n 
+0000580540 00000 n 
+0000580735 00000 n 
+0000580917 00000 n 
+0000581109 00000 n 
+0000581303 00000 n 
+0000581503 00000 n 
+0000581702 00000 n 
+0000581906 00000 n 
+0000582097 00000 n 
+0000582302 00000 n 
+0000582495 00000 n 
+0000582684 00000 n 
+0000582838 00000 n 
+0000583023 00000 n 
+0000583219 00000 n 
+0000583430 00000 n 
+0000583644 00000 n 
+0000583859 00000 n 
+0000584045 00000 n 
+0000586203 00000 n 
+0000586420 00000 n 
+0000584254 00000 n 
+0000584477 00000 n 
+0000578785 00000 n 
+0000577392 00000 n 
+0000584419 00000 n 
+0000586641 00000 n 
+0000586856 00000 n 
+0000587071 00000 n 
+0000587256 00000 n 
+0000587452 00000 n 
+0000587648 00000 n 
+0000587841 00000 n 
+0000588033 00000 n 
+0000588224 00000 n 
+0000588418 00000 n 
+0000588620 00000 n 
+0000588820 00000 n 
+0000589009 00000 n 
+0000589214 00000 n 
+0000589419 00000 n 
+0000589630 00000 n 
+0000589840 00000 n 
+0000590051 00000 n 
+0000593518 00000 n 
+0000593730 00000 n 
+0000593975 00000 n 
+0000594220 00000 n 
+0000594465 00000 n 
+0000594710 00000 n 
+0000594922 00000 n 
+0000595165 00000 n 
+0000595409 00000 n 
+0000595653 00000 n 
+0000595896 00000 n 
+0000596140 00000 n 
+0000596385 00000 n 
+0000596630 00000 n 
+0000590255 00000 n 
+0000590537 00000 n 
+0000585879 00000 n 
+0000584617 00000 n 
+0000590420 00000 n 
+0000590478 00000 n 
+0000655882 00000 n 
+0000656000 00000 n 
+0000656123 00000 n 
+0000596875 00000 n 
+0000597080 00000 n 
+0000597315 00000 n 
+0000597552 00000 n 
+0000597789 00000 n 
+0000598026 00000 n 
+0000598264 00000 n 
+0000598503 00000 n 
+0000598742 00000 n 
+0000598981 00000 n 
+0000599218 00000 n 
+0000599455 00000 n 
+0000599693 00000 n 
+0000599931 00000 n 
+0000600169 00000 n 
+0000600408 00000 n 
+0000600647 00000 n 
+0000600886 00000 n 
+0000601123 00000 n 
+0000601361 00000 n 
+0000601599 00000 n 
+0000601837 00000 n 
+0000602075 00000 n 
+0000602313 00000 n 
+0000602552 00000 n 
+0000602791 00000 n 
+0000603029 00000 n 
+0000603268 00000 n 
+0000603506 00000 n 
+0000603983 00000 n 
+0000604186 00000 n 
+0000604424 00000 n 
+0000604663 00000 n 
+0000604902 00000 n 
+0000605140 00000 n 
+0000605378 00000 n 
+0000605582 00000 n 
+0000605820 00000 n 
+0000606057 00000 n 
+0000606261 00000 n 
+0000606499 00000 n 
+0000606738 00000 n 
+0000606977 00000 n 
+0000607216 00000 n 
+0000607454 00000 n 
+0000607693 00000 n 
+0000607898 00000 n 
+0000608137 00000 n 
+0000608376 00000 n 
+0000608853 00000 n 
+0000609058 00000 n 
+0000609297 00000 n 
+0000609536 00000 n 
+0000609741 00000 n 
+0000609979 00000 n 
+0000610218 00000 n 
+0000610457 00000 n 
+0000610696 00000 n 
+0000610934 00000 n 
+0000611139 00000 n 
+0000611378 00000 n 
+0000611617 00000 n 
+0000611821 00000 n 
+0000612060 00000 n 
+0000612299 00000 n 
+0000612776 00000 n 
+0000612981 00000 n 
+0000613220 00000 n 
+0000613459 00000 n 
+0000613664 00000 n 
+0000613902 00000 n 
+0000614141 00000 n 
+0000614380 00000 n 
+0000614619 00000 n 
+0000614857 00000 n 
+0000615096 00000 n 
+0000615335 00000 n 
+0000615538 00000 n 
+0000615776 00000 n 
+0000618593 00000 n 
+0000618798 00000 n 
+0000619037 00000 n 
+0000619513 00000 n 
+0000616014 00000 n 
+0000616296 00000 n 
+0000592510 00000 n 
+0000590690 00000 n 
+0000616179 00000 n 
+0000616237 00000 n 
+0000603745 00000 n 
+0000608615 00000 n 
+0000612538 00000 n 
+0000656305 00000 n 
+0000656423 00000 n 
+0000656487 00000 n 
+0000656550 00000 n 
+0000656614 00000 n 
+0000656677 00000 n 
+0000656795 00000 n 
+0000656859 00000 n 
+0000656923 00000 n 
+0000656987 00000 n 
+0000657051 00000 n 
+0000657115 00000 n 
+0000657179 00000 n 
+0000657242 00000 n 
+0000619752 00000 n 
+0000619956 00000 n 
+0000620168 00000 n 
+0000620380 00000 n 
+0000620592 00000 n 
+0000620804 00000 n 
+0000621016 00000 n 
+0000621228 00000 n 
+0000621440 00000 n 
+0000621652 00000 n 
+0000621864 00000 n 
+0000622068 00000 n 
+0000622280 00000 n 
+0000622491 00000 n 
+0000622702 00000 n 
+0000622913 00000 n 
+0000623124 00000 n 
+0000623336 00000 n 
+0000623548 00000 n 
+0000623753 00000 n 
+0000623958 00000 n 
+0000624162 00000 n 
+0000624367 00000 n 
+0000624572 00000 n 
+0000624777 00000 n 
+0000624981 00000 n 
+0000625186 00000 n 
+0000625390 00000 n 
+0000625594 00000 n 
+0000625798 00000 n 
+0000626002 00000 n 
+0000626210 00000 n 
+0000626411 00000 n 
+0000630228 00000 n 
+0000630440 00000 n 
+0000630645 00000 n 
+0000630850 00000 n 
+0000631054 00000 n 
+0000631258 00000 n 
+0000631462 00000 n 
+0000626612 00000 n 
+0000627602 00000 n 
+0000618107 00000 n 
+0000616449 00000 n 
+0000626777 00000 n 
+0000619276 00000 n 
+0000626835 00000 n 
+0000626894 00000 n 
+0000626953 00000 n 
+0000627012 00000 n 
+0000627071 00000 n 
+0000627130 00000 n 
+0000627189 00000 n 
+0000627248 00000 n 
+0000627307 00000 n 
+0000627366 00000 n 
+0000627425 00000 n 
+0000627484 00000 n 
+0000627543 00000 n 
+0004858631 00000 n 
+0000661813 00000 n 
+0000661995 00000 n 
+0000662113 00000 n 
+0000661577 00000 n 
+0000631672 00000 n 
+0000631884 00000 n 
+0000632094 00000 n 
+0000632306 00000 n 
+0000632518 00000 n 
+0000632728 00000 n 
+0000632938 00000 n 
+0000633150 00000 n 
+0000633355 00000 n 
+0000633560 00000 n 
+0000633764 00000 n 
+0000633968 00000 n 
+0000634172 00000 n 
+0000634376 00000 n 
+0000634579 00000 n 
+0000634783 00000 n 
+0000634988 00000 n 
+0000635193 00000 n 
+0000635398 00000 n 
+0000635603 00000 n 
+0000635808 00000 n 
+0000636012 00000 n 
+0000636217 00000 n 
+0000636422 00000 n 
+0000636627 00000 n 
+0000636831 00000 n 
+0000637034 00000 n 
+0000637238 00000 n 
+0000637442 00000 n 
+0000637646 00000 n 
+0000637851 00000 n 
+0000638056 00000 n 
+0000638259 00000 n 
+0000638464 00000 n 
+0000638669 00000 n 
+0000638874 00000 n 
+0000639079 00000 n 
+0000639284 00000 n 
+0000639489 00000 n 
+0000639694 00000 n 
+0000639899 00000 n 
+0000640054 00000 n 
+0000640259 00000 n 
+0000640415 00000 n 
+0000640618 00000 n 
+0000640802 00000 n 
+0000644017 00000 n 
+0000644221 00000 n 
+0000644407 00000 n 
+0000644563 00000 n 
+0000644765 00000 n 
+0000640955 00000 n 
+0000641589 00000 n 
+0000629607 00000 n 
+0000627783 00000 n 
+0000641120 00000 n 
+0000641178 00000 n 
+0000641237 00000 n 
+0000641295 00000 n 
+0000641354 00000 n 
+0000641412 00000 n 
+0000641471 00000 n 
+0000641530 00000 n 
+0000661695 00000 n 
+0000644954 00000 n 
+0000645110 00000 n 
+0000645315 00000 n 
+0000645505 00000 n 
+0000645660 00000 n 
+0000645865 00000 n 
+0000646054 00000 n 
+0000646245 00000 n 
+0000646400 00000 n 
+0000646605 00000 n 
+0000646796 00000 n 
+0000646987 00000 n 
+0000647143 00000 n 
+0000647348 00000 n 
+0000647551 00000 n 
+0000647705 00000 n 
+0000647910 00000 n 
+0000648115 00000 n 
+0000648271 00000 n 
+0000648475 00000 n 
+0000648661 00000 n 
+0000648865 00000 n 
+0000649021 00000 n 
+0000649226 00000 n 
+0000649413 00000 n 
+0000649616 00000 n 
+0000649772 00000 n 
+0000649975 00000 n 
+0000650167 00000 n 
+0000650370 00000 n 
+0000650525 00000 n 
+0000650726 00000 n 
+0000651112 00000 n 
+0000651316 00000 n 
+0000651472 00000 n 
+0000651658 00000 n 
+0000651862 00000 n 
+0000652144 00000 n 
+0000643495 00000 n 
+0000641771 00000 n 
+0000652027 00000 n 
+0000650919 00000 n 
+0000652085 00000 n 
+0000654170 00000 n 
+0000654364 00000 n 
+0000654556 00000 n 
+0000654748 00000 n 
+0000654943 00000 n 
+0000655146 00000 n 
+0000655347 00000 n 
+0000655541 00000 n 
+0000657305 00000 n 
+0000653963 00000 n 
+0000652324 00000 n 
+0000655706 00000 n 
+0000655764 00000 n 
+0000655823 00000 n 
+0000655941 00000 n 
+0000656064 00000 n 
+0000656187 00000 n 
+0000656246 00000 n 
+0000656364 00000 n 
+0000656736 00000 n 
+0000660431 00000 n 
+0000660854 00000 n 
+0000661066 00000 n 
+0000661295 00000 n 
+0000662417 00000 n 
+0000660251 00000 n 
+0000657473 00000 n 
+0000661460 00000 n 
+0000661518 00000 n 
+0000661636 00000 n 
+0000661754 00000 n 
+0000661877 00000 n 
+0000661936 00000 n 
+0000662054 00000 n 
+0000660643 00000 n 
+0000662177 00000 n 
+0000662358 00000 n 
+0000665803 00000 n 
+0000665284 00000 n 
+0000665462 00000 n 
+0000666156 00000 n 
+0000665131 00000 n 
+0000662598 00000 n 
+0000665627 00000 n 
+0000665685 00000 n 
+0000665744 00000 n 
+0000665862 00000 n 
+0000665921 00000 n 
+0000666097 00000 n 
+0000671005 00000 n 
+0000675082 00000 n 
+0000668122 00000 n 
+0000668931 00000 n 
+0000667978 00000 n 
+0000666338 00000 n 
+0000668287 00000 n 
+0000668520 00000 n 
+0004851480 00000 n 
+0000668696 00000 n 
+0000668755 00000 n 
+0004858757 00000 n 
+0000675150 00000 n 
+0000675401 00000 n 
+0000675652 00000 n 
+0000675848 00000 n 
+0000676099 00000 n 
+0000676317 00000 n 
+0000676569 00000 n 
+0000676821 00000 n 
+0000677039 00000 n 
+0000677290 00000 n 
+0000677508 00000 n 
+0000677760 00000 n 
+0000677978 00000 n 
+0000678229 00000 n 
+0000678481 00000 n 
+0000678733 00000 n 
+0000678985 00000 n 
+0000679236 00000 n 
+0000679440 00000 n 
+0000679692 00000 n 
+0000679894 00000 n 
+0000683812 00000 n 
+0000680144 00000 n 
+0000681073 00000 n 
+0000670656 00000 n 
+0000669098 00000 n 
+0000680309 00000 n 
+0000680367 00000 n 
+0000680426 00000 n 
+0000680485 00000 n 
+0000680544 00000 n 
+0000680603 00000 n 
+0004853979 00000 n 
+0000680662 00000 n 
+0000680721 00000 n 
+0000680780 00000 n 
+0000680839 00000 n 
+0004852069 00000 n 
+0000680897 00000 n 
+0000680956 00000 n 
+0000681015 00000 n 
+0000671880 00000 n 
+0000672011 00000 n 
+0000672161 00000 n 
+0000672469 00000 n 
+0000672892 00000 n 
+0000673130 00000 n 
+0000673152 00000 n 
+0000675059 00000 n 
+0000686427 00000 n 
+0000686722 00000 n 
+0000684063 00000 n 
+0000684315 00000 n 
+0000684533 00000 n 
+0000684751 00000 n 
+0000685003 00000 n 
+0000685221 00000 n 
+0000685473 00000 n 
+0000685691 00000 n 
+0000685909 00000 n 
+0000686838 00000 n 
+0000683587 00000 n 
+0000681283 00000 n 
+0000686074 00000 n 
+0000686132 00000 n 
+0000686191 00000 n 
+0000686250 00000 n 
+0000686309 00000 n 
+0000686368 00000 n 
+0000686486 00000 n 
+0004854426 00000 n 
+0000686545 00000 n 
+0000686604 00000 n 
+0000686663 00000 n 
+0000686780 00000 n 
+0000691974 00000 n 
+0000692092 00000 n 
+0000689532 00000 n 
+0000689753 00000 n 
+0000689946 00000 n 
+0000690167 00000 n 
+0000690388 00000 n 
+0000690609 00000 n 
+0000690830 00000 n 
+0000691051 00000 n 
+0000691271 00000 n 
+0000691473 00000 n 
+0000695993 00000 n 
+0000696197 00000 n 
+0000691692 00000 n 
+0000692914 00000 n 
+0000689298 00000 n 
+0000687063 00000 n 
+0000691857 00000 n 
+0000691915 00000 n 
+0000692033 00000 n 
+0000692151 00000 n 
+0000692210 00000 n 
+0000692384 00000 n 
+0000692443 00000 n 
+0000692502 00000 n 
+0000692561 00000 n 
+0000692620 00000 n 
+0000692679 00000 n 
+0000692738 00000 n 
+0000692797 00000 n 
+0000692856 00000 n 
+0000696418 00000 n 
+0000696639 00000 n 
+0000696860 00000 n 
+0000697065 00000 n 
+0000697270 00000 n 
+0000697509 00000 n 
+0000697730 00000 n 
+0000697917 00000 n 
+0000698122 00000 n 
+0000698361 00000 n 
+0000698582 00000 n 
+0000698769 00000 n 
+0000698974 00000 n 
+0000699213 00000 n 
+0000699434 00000 n 
+0000699630 00000 n 
+0000699851 00000 n 
+0000700047 00000 n 
+0000700266 00000 n 
+0000700459 00000 n 
+0000700680 00000 n 
+0000700868 00000 n 
+0000701073 00000 n 
+0000701311 00000 n 
+0000701532 00000 n 
+0000701713 00000 n 
+0000701899 00000 n 
+0000702104 00000 n 
+0000702580 00000 n 
+0000702800 00000 n 
+0000702981 00000 n 
+0000703185 00000 n 
+0000703423 00000 n 
+0000703643 00000 n 
+0000703836 00000 n 
+0000704040 00000 n 
+0000704517 00000 n 
+0000704704 00000 n 
+0000704925 00000 n 
+0000705112 00000 n 
+0000705331 00000 n 
+0000705518 00000 n 
+0000705739 00000 n 
+0000705944 00000 n 
+0000706164 00000 n 
+0000706368 00000 n 
+0000706588 00000 n 
+0000706778 00000 n 
+0000706974 00000 n 
+0000707193 00000 n 
+0000707389 00000 n 
+0000707609 00000 n 
+0000707804 00000 n 
+0000711779 00000 n 
+0000711975 00000 n 
+0000712196 00000 n 
+0000712417 00000 n 
+0000712613 00000 n 
+0000712834 00000 n 
+0000708024 00000 n 
+0000708777 00000 n 
+0000695336 00000 n 
+0000693165 00000 n 
+0000708189 00000 n 
+0000708247 00000 n 
+0000702342 00000 n 
+0000704278 00000 n 
+0000708306 00000 n 
+0000708365 00000 n 
+0000708423 00000 n 
+0000708482 00000 n 
+0000708541 00000 n 
+0004853100 00000 n 
+0000708600 00000 n 
+0000708659 00000 n 
+0000708718 00000 n 
+0000914183 00000 n 
+0000811055 00000 n 
+0000811232 00000 n 
+0000811350 00000 n 
+0000811473 00000 n 
+0000814392 00000 n 
+0000814628 00000 n 
+0000814805 00000 n 
+0000814923 00000 n 
+0000818043 00000 n 
+0000818278 00000 n 
+0000713029 00000 n 
+0000713249 00000 n 
+0000713445 00000 n 
+0000713650 00000 n 
+0000713855 00000 n 
+0000714075 00000 n 
+0000714271 00000 n 
+0000714476 00000 n 
+0000714681 00000 n 
+0000714868 00000 n 
+0000715089 00000 n 
+0000715285 00000 n 
+0000715489 00000 n 
+0000715693 00000 n 
+0000715914 00000 n 
+0000716110 00000 n 
+0000716314 00000 n 
+0000716518 00000 n 
+0000716705 00000 n 
+0000716926 00000 n 
+0000717121 00000 n 
+0000717326 00000 n 
+0000717531 00000 n 
+0000717940 00000 n 
+0000718144 00000 n 
+0000718365 00000 n 
+0000718552 00000 n 
+0000718773 00000 n 
+0000718959 00000 n 
+0000719180 00000 n 
+0000719367 00000 n 
+0000719564 00000 n 
+0000719784 00000 n 
+0000719971 00000 n 
+0000720168 00000 n 
+0000720388 00000 n 
+0000720575 00000 n 
+0000720771 00000 n 
+0000720990 00000 n 
+0000721175 00000 n 
+0000721395 00000 n 
+0000721612 00000 n 
+0000721833 00000 n 
+0000722053 00000 n 
+0000722269 00000 n 
+0000722490 00000 n 
+0000722710 00000 n 
+0000722895 00000 n 
+0000727304 00000 n 
+0000727523 00000 n 
+0000723114 00000 n 
+0000723808 00000 n 
+0000711140 00000 n 
+0000709000 00000 n 
+0000723279 00000 n 
+0000723337 00000 n 
+0000717735 00000 n 
+0000723396 00000 n 
+0000723455 00000 n 
+0000723514 00000 n 
+0000723573 00000 n 
+0000723632 00000 n 
+0000723691 00000 n 
+0000723750 00000 n 
+0000821748 00000 n 
+0000821925 00000 n 
+0000822102 00000 n 
+0000822338 00000 n 
+0000826020 00000 n 
+0000826261 00000 n 
+0000830213 00000 n 
+0000830453 00000 n 
+0000830634 00000 n 
+0000830811 00000 n 
+0000833879 00000 n 
+0000834056 00000 n 
+0000834232 00000 n 
+0000834408 00000 n 
+0000727711 00000 n 
+0000727930 00000 n 
+0000728118 00000 n 
+0000728337 00000 n 
+0000728533 00000 n 
+0000728752 00000 n 
+0000728948 00000 n 
+0000729167 00000 n 
+0000729362 00000 n 
+0000729581 00000 n 
+0000729777 00000 n 
+0000729996 00000 n 
+0000730184 00000 n 
+0000730402 00000 n 
+0000730590 00000 n 
+0000730808 00000 n 
+0000731004 00000 n 
+0000731223 00000 n 
+0000731419 00000 n 
+0000731640 00000 n 
+0000731830 00000 n 
+0000732016 00000 n 
+0000732206 00000 n 
+0000732392 00000 n 
+0000732579 00000 n 
+0000732800 00000 n 
+0000732990 00000 n 
+0000733176 00000 n 
+0000733366 00000 n 
+0000733552 00000 n 
+0000733757 00000 n 
+0000733942 00000 n 
+0000734160 00000 n 
+0000734379 00000 n 
+0000734565 00000 n 
+0000734731 00000 n 
+0000734950 00000 n 
+0000735142 00000 n 
+0000735308 00000 n 
+0000735527 00000 n 
+0000735714 00000 n 
+0000735933 00000 n 
+0000736118 00000 n 
+0000736339 00000 n 
+0000736524 00000 n 
+0000736745 00000 n 
+0000736932 00000 n 
+0000737149 00000 n 
+0000742072 00000 n 
+0000742293 00000 n 
+0000742480 00000 n 
+0000737334 00000 n 
+0000737557 00000 n 
+0000726710 00000 n 
+0000723977 00000 n 
+0000737499 00000 n 
+0004858883 00000 n 
+0000834584 00000 n 
+0000837642 00000 n 
+0000837878 00000 n 
+0000838114 00000 n 
+0000838350 00000 n 
+0000841527 00000 n 
+0000841761 00000 n 
+0000841997 00000 n 
+0000845818 00000 n 
+0000846054 00000 n 
+0000846285 00000 n 
+0000846521 00000 n 
+0000851243 00000 n 
+0000855187 00000 n 
+0000855428 00000 n 
+0000855664 00000 n 
+0000855841 00000 n 
+0000856018 00000 n 
+0000859964 00000 n 
+0000860140 00000 n 
+0000742660 00000 n 
+0000742880 00000 n 
+0000743066 00000 n 
+0000743262 00000 n 
+0000743474 00000 n 
+0000743654 00000 n 
+0000743874 00000 n 
+0000744059 00000 n 
+0000744247 00000 n 
+0000744431 00000 n 
+0000744601 00000 n 
+0000744822 00000 n 
+0000745008 00000 n 
+0000745204 00000 n 
+0000745412 00000 n 
+0000745592 00000 n 
+0000745813 00000 n 
+0000745999 00000 n 
+0000746204 00000 n 
+0000746400 00000 n 
+0000746610 00000 n 
+0000746787 00000 n 
+0000747008 00000 n 
+0000747204 00000 n 
+0000747409 00000 n 
+0000747605 00000 n 
+0000747783 00000 n 
+0000748003 00000 n 
+0000748188 00000 n 
+0000748392 00000 n 
+0000748586 00000 n 
+0000748798 00000 n 
+0000748975 00000 n 
+0000749196 00000 n 
+0000749392 00000 n 
+0000749597 00000 n 
+0000749792 00000 n 
+0000749970 00000 n 
+0000750191 00000 n 
+0000750376 00000 n 
+0000750572 00000 n 
+0000750964 00000 n 
+0000751176 00000 n 
+0000751364 00000 n 
+0000751585 00000 n 
+0000751771 00000 n 
+0000751967 00000 n 
+0000752359 00000 n 
+0000752571 00000 n 
+0000752759 00000 n 
+0000752977 00000 n 
+0000753164 00000 n 
+0000753334 00000 n 
+0000753555 00000 n 
+0000753747 00000 n 
+0000753952 00000 n 
+0000754362 00000 n 
+0000754567 00000 n 
+0000754763 00000 n 
+0000754930 00000 n 
+0000755149 00000 n 
+0000755353 00000 n 
+0000755592 00000 n 
+0000755813 00000 n 
+0000756005 00000 n 
+0000756210 00000 n 
+0000756448 00000 n 
+0000756666 00000 n 
+0000756883 00000 n 
+0000760867 00000 n 
+0000761034 00000 n 
+0000761253 00000 n 
+0000757068 00000 n 
+0000757350 00000 n 
+0000741253 00000 n 
+0000737767 00000 n 
+0000757233 00000 n 
+0004852807 00000 n 
+0000750768 00000 n 
+0000752163 00000 n 
+0000754157 00000 n 
+0000757291 00000 n 
+0000860317 00000 n 
+0000860494 00000 n 
+0000864383 00000 n 
+0000864618 00000 n 
+0000864854 00000 n 
+0000869250 00000 n 
+0000869486 00000 n 
+0000874265 00000 n 
+0000874501 00000 n 
+0000874737 00000 n 
+0000879867 00000 n 
+0000880040 00000 n 
+0000883781 00000 n 
+0000883958 00000 n 
+0000884134 00000 n 
+0000761439 00000 n 
+0000761606 00000 n 
+0000761825 00000 n 
+0000762012 00000 n 
+0000762175 00000 n 
+0000762395 00000 n 
+0000762581 00000 n 
+0000762775 00000 n 
+0000762938 00000 n 
+0000763157 00000 n 
+0000763344 00000 n 
+0000763512 00000 n 
+0000763733 00000 n 
+0000763920 00000 n 
+0000764116 00000 n 
+0000764284 00000 n 
+0000764503 00000 n 
+0000764690 00000 n 
+0000764851 00000 n 
+0000765069 00000 n 
+0000765256 00000 n 
+0000765477 00000 n 
+0000765664 00000 n 
+0000765860 00000 n 
+0000766019 00000 n 
+0000766238 00000 n 
+0000766443 00000 n 
+0000766662 00000 n 
+0000766866 00000 n 
+0000767085 00000 n 
+0000767269 00000 n 
+0000767441 00000 n 
+0000767659 00000 n 
+0000767851 00000 n 
+0000768070 00000 n 
+0000768275 00000 n 
+0000768494 00000 n 
+0000768686 00000 n 
+0000768905 00000 n 
+0000769091 00000 n 
+0000769296 00000 n 
+0000769514 00000 n 
+0000769706 00000 n 
+0000769890 00000 n 
+0000770109 00000 n 
+0000770290 00000 n 
+0000770474 00000 n 
+0000770677 00000 n 
+0000773878 00000 n 
+0000774099 00000 n 
+0000770896 00000 n 
+0000771294 00000 n 
+0000760264 00000 n 
+0000757614 00000 n 
+0000771061 00000 n 
+0000771119 00000 n 
+0000771178 00000 n 
+0000771236 00000 n 
+0000884368 00000 n 
+0000888984 00000 n 
+0000889219 00000 n 
+0000889455 00000 n 
+0000893992 00000 n 
+0000894228 00000 n 
+0000898421 00000 n 
+0000898657 00000 n 
+0000898834 00000 n 
+0000899011 00000 n 
+0000903781 00000 n 
+0000904017 00000 n 
+0000904194 00000 n 
+0000909994 00000 n 
+0000910234 00000 n 
+0000910474 00000 n 
+0000774320 00000 n 
+0000774540 00000 n 
+0000774726 00000 n 
+0000774947 00000 n 
+0000775134 00000 n 
+0000775321 00000 n 
+0000775541 00000 n 
+0000775728 00000 n 
+0000775915 00000 n 
+0000776136 00000 n 
+0000776323 00000 n 
+0000776510 00000 n 
+0000776731 00000 n 
+0000776924 00000 n 
+0000777297 00000 n 
+0000777484 00000 n 
+0000777689 00000 n 
+0000777910 00000 n 
+0000778103 00000 n 
+0000778476 00000 n 
+0000778663 00000 n 
+0000778868 00000 n 
+0000779089 00000 n 
+0000779282 00000 n 
+0000779655 00000 n 
+0000779841 00000 n 
+0000780046 00000 n 
+0000780267 00000 n 
+0000780460 00000 n 
+0000780833 00000 n 
+0000781020 00000 n 
+0000781225 00000 n 
+0000781445 00000 n 
+0000781637 00000 n 
+0000782009 00000 n 
+0000782196 00000 n 
+0000782401 00000 n 
+0000782622 00000 n 
+0000782815 00000 n 
+0000783187 00000 n 
+0000783372 00000 n 
+0000786734 00000 n 
+0000786955 00000 n 
+0000787148 00000 n 
+0000787521 00000 n 
+0000787708 00000 n 
+0000783576 00000 n 
+0000783976 00000 n 
+0000773293 00000 n 
+0000771516 00000 n 
+0000783741 00000 n 
+0000783799 00000 n 
+0000783858 00000 n 
+0000783917 00000 n 
+0000777111 00000 n 
+0000778290 00000 n 
+0000779469 00000 n 
+0000780647 00000 n 
+0000781823 00000 n 
+0000783002 00000 n 
+0000914360 00000 n 
+0000914478 00000 n 
+0000914600 00000 n 
+0000914718 00000 n 
+0000914839 00000 n 
+0000917753 00000 n 
+0000917871 00000 n 
+0000917994 00000 n 
+0000918117 00000 n 
+0000918235 00000 n 
+0000787913 00000 n 
+0000788134 00000 n 
+0000788327 00000 n 
+0000788700 00000 n 
+0000788887 00000 n 
+0000789092 00000 n 
+0000789313 00000 n 
+0000789506 00000 n 
+0000789879 00000 n 
+0000790065 00000 n 
+0000790270 00000 n 
+0000790490 00000 n 
+0000790677 00000 n 
+0000790864 00000 n 
+0000791085 00000 n 
+0000791272 00000 n 
+0000791459 00000 n 
+0000791680 00000 n 
+0000791873 00000 n 
+0000792245 00000 n 
+0000792431 00000 n 
+0000792635 00000 n 
+0000792854 00000 n 
+0000793045 00000 n 
+0000793416 00000 n 
+0000793603 00000 n 
+0000793808 00000 n 
+0000794029 00000 n 
+0000794222 00000 n 
+0000794595 00000 n 
+0000794782 00000 n 
+0000794987 00000 n 
+0000795208 00000 n 
+0000795401 00000 n 
+0000795774 00000 n 
+0000795961 00000 n 
+0000796166 00000 n 
+0000796387 00000 n 
+0000796580 00000 n 
+0000796953 00000 n 
+0000797140 00000 n 
+0000797345 00000 n 
+0000797566 00000 n 
+0000797759 00000 n 
+0000798132 00000 n 
+0000798319 00000 n 
+0000798524 00000 n 
+0000798745 00000 n 
+0000798938 00000 n 
+0000799311 00000 n 
+0000799498 00000 n 
+0000799703 00000 n 
+0000799924 00000 n 
+0000800117 00000 n 
+0000800490 00000 n 
+0000800677 00000 n 
+0000800882 00000 n 
+0000801103 00000 n 
+0000801296 00000 n 
+0000801669 00000 n 
+0000801856 00000 n 
+0000802061 00000 n 
+0000802282 00000 n 
+0000802469 00000 n 
+0000802656 00000 n 
+0000802874 00000 n 
+0000803058 00000 n 
+0000803281 00000 n 
+0000785843 00000 n 
+0000784171 00000 n 
+0000803223 00000 n 
+0000787335 00000 n 
+0000788514 00000 n 
+0000789693 00000 n 
+0000792060 00000 n 
+0000793230 00000 n 
+0000794409 00000 n 
+0000795588 00000 n 
+0000796767 00000 n 
+0000797946 00000 n 
+0000799125 00000 n 
+0000800304 00000 n 
+0000801483 00000 n 
+0000921296 00000 n 
+0000921419 00000 n 
+0000921535 00000 n 
+0000921776 00000 n 
+0000924930 00000 n 
+0000925048 00000 n 
+0000925166 00000 n 
+0000925284 00000 n 
+0000925402 00000 n 
+0000925520 00000 n 
+0000925636 00000 n 
+0000925754 00000 n 
+0000807080 00000 n 
+0000807271 00000 n 
+0000807459 00000 n 
+0000807647 00000 n 
+0000807835 00000 n 
+0000808176 00000 n 
+0000806900 00000 n 
+0000803490 00000 n 
+0000808000 00000 n 
+0000808058 00000 n 
+0000808117 00000 n 
+0000810773 00000 n 
+0000811594 00000 n 
+0000810629 00000 n 
+0000808392 00000 n 
+0000810938 00000 n 
+0000810996 00000 n 
+0000811114 00000 n 
+0000811173 00000 n 
+0000811291 00000 n 
+0000811414 00000 n 
+0000811536 00000 n 
+0004859009 00000 n 
+0000814052 00000 n 
+0000815044 00000 n 
+0000813908 00000 n 
+0000811800 00000 n 
+0000814217 00000 n 
+0000814275 00000 n 
+0000814334 00000 n 
+0000814451 00000 n 
+0000814510 00000 n 
+0000814569 00000 n 
+0000814687 00000 n 
+0000814746 00000 n 
+0000814864 00000 n 
+0000814986 00000 n 
+0000817702 00000 n 
+0000818455 00000 n 
+0000817558 00000 n 
+0000815225 00000 n 
+0000817867 00000 n 
+0000817925 00000 n 
+0000817984 00000 n 
+0000818102 00000 n 
+0000818161 00000 n 
+0000818219 00000 n 
+0000818337 00000 n 
+0000818396 00000 n 
+0000821407 00000 n 
+0000822461 00000 n 
+0000821263 00000 n 
+0000818636 00000 n 
+0000821572 00000 n 
+0000821630 00000 n 
+0000821689 00000 n 
+0000821807 00000 n 
+0000821866 00000 n 
+0000821984 00000 n 
+0000822043 00000 n 
+0000822161 00000 n 
+0000822220 00000 n 
+0000822279 00000 n 
+0000822402 00000 n 
+0000825679 00000 n 
+0000826443 00000 n 
+0000825535 00000 n 
+0000822655 00000 n 
+0000825844 00000 n 
+0000825902 00000 n 
+0000825961 00000 n 
+0000826084 00000 n 
+0000826143 00000 n 
+0000826202 00000 n 
+0000826325 00000 n 
+0000826384 00000 n 
+0000829587 00000 n 
+0000829768 00000 n 
+0000829931 00000 n 
+0000830929 00000 n 
+0000829425 00000 n 
+0000826637 00000 n 
+0000830096 00000 n 
+0000830154 00000 n 
+0000830277 00000 n 
+0000830336 00000 n 
+0000830394 00000 n 
+0000830517 00000 n 
+0000830575 00000 n 
+0000830693 00000 n 
+0000830752 00000 n 
+0000830870 00000 n 
+0000833597 00000 n 
+0000834820 00000 n 
+0000833453 00000 n 
+0000831135 00000 n 
+0000833762 00000 n 
+0000833820 00000 n 
+0000833938 00000 n 
+0000833997 00000 n 
+0000834115 00000 n 
+0000834174 00000 n 
+0000834290 00000 n 
+0000834349 00000 n 
+0000834467 00000 n 
+0000834525 00000 n 
+0000834643 00000 n 
+0000834702 00000 n 
+0000834761 00000 n 
+0004859135 00000 n 
+0000837419 00000 n 
+0000838468 00000 n 
+0000837275 00000 n 
+0000835014 00000 n 
+0000837584 00000 n 
+0000837701 00000 n 
+0000837760 00000 n 
+0000837819 00000 n 
+0000837937 00000 n 
+0000837996 00000 n 
+0000838055 00000 n 
+0000838173 00000 n 
+0000838232 00000 n 
+0000838291 00000 n 
+0000838409 00000 n 
+0000841186 00000 n 
+0000842174 00000 n 
+0000841042 00000 n 
+0000838662 00000 n 
+0000841351 00000 n 
+0000841409 00000 n 
+0000841468 00000 n 
+0000841584 00000 n 
+0000841643 00000 n 
+0000841702 00000 n 
+0000841820 00000 n 
+0000841879 00000 n 
+0000841938 00000 n 
+0000842056 00000 n 
+0000842115 00000 n 
+0000845349 00000 n 
+0000850028 00000 n 
+0000845536 00000 n 
+0000846584 00000 n 
+0000845196 00000 n 
+0000842368 00000 n 
+0000845701 00000 n 
+0000845759 00000 n 
+0000845877 00000 n 
+0000845936 00000 n 
+0000845995 00000 n 
+0000846113 00000 n 
+0000846168 00000 n 
+0000846226 00000 n 
+0000846344 00000 n 
+0000846403 00000 n 
+0000846462 00000 n 
+0000850215 00000 n 
+0000850418 00000 n 
+0000850638 00000 n 
+0000854244 00000 n 
+0000850843 00000 n 
+0000851483 00000 n 
+0000849848 00000 n 
+0000846778 00000 n 
+0000851008 00000 n 
+0000851066 00000 n 
+0000851125 00000 n 
+0000851184 00000 n 
+0000851307 00000 n 
+0000851366 00000 n 
+0000851425 00000 n 
+0000854448 00000 n 
+0000854612 00000 n 
+0000854778 00000 n 
+0000854964 00000 n 
+0000856134 00000 n 
+0000854064 00000 n 
+0000851677 00000 n 
+0000855129 00000 n 
+0000855251 00000 n 
+0000855310 00000 n 
+0000855369 00000 n 
+0000855487 00000 n 
+0000855546 00000 n 
+0000855605 00000 n 
+0000855723 00000 n 
+0000855782 00000 n 
+0000855900 00000 n 
+0000855959 00000 n 
+0000856076 00000 n 
+0000859322 00000 n 
+0000859502 00000 n 
+0000859682 00000 n 
+0000860611 00000 n 
+0000859160 00000 n 
+0000856328 00000 n 
+0000859847 00000 n 
+0000859905 00000 n 
+0000860023 00000 n 
+0000860082 00000 n 
+0000860199 00000 n 
+0000860258 00000 n 
+0000860376 00000 n 
+0000860435 00000 n 
+0000860553 00000 n 
+0004859261 00000 n 
+0000863693 00000 n 
+0000863863 00000 n 
+0000868375 00000 n 
+0000864042 00000 n 
+0000864970 00000 n 
+0000863531 00000 n 
+0000860805 00000 n 
+0000864207 00000 n 
+0000864265 00000 n 
+0000864324 00000 n 
+0000864442 00000 n 
+0000864501 00000 n 
+0000864560 00000 n 
+0000864677 00000 n 
+0000864736 00000 n 
+0000864795 00000 n 
+0000864912 00000 n 
+0000868553 00000 n 
+0000868731 00000 n 
+0000868909 00000 n 
+0000869663 00000 n 
+0000868204 00000 n 
+0000865164 00000 n 
+0000869074 00000 n 
+0000869132 00000 n 
+0000869191 00000 n 
+0000869309 00000 n 
+0000869368 00000 n 
+0000869427 00000 n 
+0000869545 00000 n 
+0000869604 00000 n 
+0000873430 00000 n 
+0000873608 00000 n 
+0000873796 00000 n 
+0000873983 00000 n 
+0000874855 00000 n 
+0000873259 00000 n 
+0000869894 00000 n 
+0000874148 00000 n 
+0000874206 00000 n 
+0000874324 00000 n 
+0000874383 00000 n 
+0000874442 00000 n 
+0000874560 00000 n 
+0000874619 00000 n 
+0000874678 00000 n 
+0000874796 00000 n 
+0000878840 00000 n 
+0000879009 00000 n 
+0000879175 00000 n 
+0000879359 00000 n 
+0000879526 00000 n 
+0000880217 00000 n 
+0000878660 00000 n 
+0000875086 00000 n 
+0000879691 00000 n 
+0000879749 00000 n 
+0000879808 00000 n 
+0000879926 00000 n 
+0000879981 00000 n 
+0000880099 00000 n 
+0000880158 00000 n 
+0000883161 00000 n 
+0000883329 00000 n 
+0000887636 00000 n 
+0000883499 00000 n 
+0000884484 00000 n 
+0000882999 00000 n 
+0000880411 00000 n 
+0000883664 00000 n 
+0000883722 00000 n 
+0000883840 00000 n 
+0000883899 00000 n 
+0000884016 00000 n 
+0000884075 00000 n 
+0000884191 00000 n 
+0000884250 00000 n 
+0000884309 00000 n 
+0000884426 00000 n 
+0000887804 00000 n 
+0000887974 00000 n 
+0000888138 00000 n 
+0000888308 00000 n 
+0000888473 00000 n 
+0000892813 00000 n 
+0000888643 00000 n 
+0000889571 00000 n 
+0000887438 00000 n 
+0000884678 00000 n 
+0000888808 00000 n 
+0000888866 00000 n 
+0000888925 00000 n 
+0000889043 00000 n 
+0000889101 00000 n 
+0000889160 00000 n 
+0000889278 00000 n 
+0000889337 00000 n 
+0000889396 00000 n 
+0000889513 00000 n 
+0004859387 00000 n 
+0000892981 00000 n 
+0000893149 00000 n 
+0000893319 00000 n 
+0000893481 00000 n 
+0000893651 00000 n 
+0000894405 00000 n 
+0000892624 00000 n 
+0000889765 00000 n 
+0000893816 00000 n 
+0000893874 00000 n 
+0000893933 00000 n 
+0004854276 00000 n 
+0000894051 00000 n 
+0000894110 00000 n 
+0000894169 00000 n 
+0000894287 00000 n 
+0000894346 00000 n 
+0000897809 00000 n 
+0000897970 00000 n 
+0000898139 00000 n 
+0000899069 00000 n 
+0000897647 00000 n 
+0000894626 00000 n 
+0000898304 00000 n 
+0000898362 00000 n 
+0000898480 00000 n 
+0000898539 00000 n 
+0000898598 00000 n 
+0000898716 00000 n 
+0000898775 00000 n 
+0000898893 00000 n 
+0000898952 00000 n 
+0000902281 00000 n 
+0000902454 00000 n 
+0000902675 00000 n 
+0000902860 00000 n 
+0000903046 00000 n 
+0000903238 00000 n 
+0000908055 00000 n 
+0000908260 00000 n 
+0000903440 00000 n 
+0000904371 00000 n 
+0000902083 00000 n 
+0000899312 00000 n 
+0000903605 00000 n 
+0000903663 00000 n 
+0000903722 00000 n 
+0000903840 00000 n 
+0000903899 00000 n 
+0000903958 00000 n 
+0000904076 00000 n 
+0000904135 00000 n 
+0000904253 00000 n 
+0000904312 00000 n 
+0000908464 00000 n 
+0000908655 00000 n 
+0000908875 00000 n 
+0000909047 00000 n 
+0000909231 00000 n 
+0000909602 00000 n 
+0000909771 00000 n 
+0000910595 00000 n 
+0000907830 00000 n 
+0000904565 00000 n 
+0000909936 00000 n 
+0000910058 00000 n 
+0000910117 00000 n 
+0000910176 00000 n 
+0000910297 00000 n 
+0000910356 00000 n 
+0000910415 00000 n 
+0000909416 00000 n 
+0000910537 00000 n 
+0000913901 00000 n 
+0000914962 00000 n 
+0000913757 00000 n 
+0000910801 00000 n 
+0000914066 00000 n 
+0000914124 00000 n 
+0000914242 00000 n 
+0000914301 00000 n 
+0000914419 00000 n 
+0000914541 00000 n 
+0000914659 00000 n 
+0000914781 00000 n 
+0000914903 00000 n 
+0000917530 00000 n 
+0000918356 00000 n 
+0000917386 00000 n 
+0000915156 00000 n 
+0000917695 00000 n 
+0000917812 00000 n 
+0000917935 00000 n 
+0000918058 00000 n 
+0000918176 00000 n 
+0000918298 00000 n 
+0004859513 00000 n 
+0000921073 00000 n 
+0000921892 00000 n 
+0000920929 00000 n 
+0000918524 00000 n 
+0000921238 00000 n 
+0000921360 00000 n 
+0000921476 00000 n 
+0000921599 00000 n 
+0000921658 00000 n 
+0000921717 00000 n 
+0000921834 00000 n 
+0000928321 00000 n 
+0000924707 00000 n 
+0000926105 00000 n 
+0000924563 00000 n 
+0000922073 00000 n 
+0000924872 00000 n 
+0000924989 00000 n 
+0000925107 00000 n 
+0000925225 00000 n 
+0000925343 00000 n 
+0000925461 00000 n 
+0000925578 00000 n 
+0000925695 00000 n 
+0000925813 00000 n 
+0000925872 00000 n 
+0000925931 00000 n 
+0000928530 00000 n 
+0000928759 00000 n 
+0000928989 00000 n 
+0000929177 00000 n 
+0000929407 00000 n 
+0000929604 00000 n 
+0000929834 00000 n 
+0000930065 00000 n 
+0000930262 00000 n 
+0000930493 00000 n 
+0000930681 00000 n 
+0000930878 00000 n 
+0000931806 00000 n 
+0000928069 00000 n 
+0000926273 00000 n 
+0000931043 00000 n 
+0000931101 00000 n 
+0000931160 00000 n 
+0000931218 00000 n 
+0000931276 00000 n 
+0000931335 00000 n 
+0000931394 00000 n 
+0000931453 00000 n 
+0000931512 00000 n 
+0000931571 00000 n 
+0000931630 00000 n 
+0000931689 00000 n 
+0000933964 00000 n 
+0000934175 00000 n 
+0000934411 00000 n 
+0000934609 00000 n 
+0000934844 00000 n 
+0000935042 00000 n 
+0000935278 00000 n 
+0000935492 00000 n 
+0000936535 00000 n 
+0000933757 00000 n 
+0000932028 00000 n 
+0000935657 00000 n 
+0000935773 00000 n 
+0000935949 00000 n 
+0000936008 00000 n 
+0000936067 00000 n 
+0000936124 00000 n 
+0000936183 00000 n 
+0000936242 00000 n 
+0000936417 00000 n 
+0000936476 00000 n 
+0000939561 00000 n 
+0000939776 00000 n 
+0000939962 00000 n 
+0000940177 00000 n 
+0000940363 00000 n 
+0000940578 00000 n 
+0000940764 00000 n 
+0000940969 00000 n 
+0000941174 00000 n 
+0000941389 00000 n 
+0000941575 00000 n 
+0000941780 00000 n 
+0000941985 00000 n 
+0000942180 00000 n 
+0000942395 00000 n 
+0000942590 00000 n 
+0000942805 00000 n 
+0000943000 00000 n 
+0000943215 00000 n 
+0000943410 00000 n 
+0000943625 00000 n 
+0000943829 00000 n 
+0000944044 00000 n 
+0000944248 00000 n 
+0000944463 00000 n 
+0000944678 00000 n 
+0000944893 00000 n 
+0000945108 00000 n 
+0000945322 00000 n 
+0000945537 00000 n 
+0000945752 00000 n 
+0000945957 00000 n 
+0000946162 00000 n 
+0000946401 00000 n 
+0000946616 00000 n 
+0000946797 00000 n 
+0000947002 00000 n 
+0000947241 00000 n 
+0000947456 00000 n 
+0000947637 00000 n 
+0000947842 00000 n 
+0000948081 00000 n 
+0000948296 00000 n 
+0000948492 00000 n 
+0000948706 00000 n 
+0000948901 00000 n 
+0000949093 00000 n 
+0000949306 00000 n 
+0000953570 00000 n 
+0000953785 00000 n 
+0000953980 00000 n 
+0000954173 00000 n 
+0000954388 00000 n 
+0000954584 00000 n 
+0000954799 00000 n 
+0000954995 00000 n 
+0000949499 00000 n 
+0000950370 00000 n 
+0000938985 00000 n 
+0000936757 00000 n 
+0000949664 00000 n 
+0000949722 00000 n 
+0000949781 00000 n 
+0000949840 00000 n 
+0000949899 00000 n 
+0000949958 00000 n 
+0000950017 00000 n 
+0000950076 00000 n 
+0000950135 00000 n 
+0000950194 00000 n 
+0000950253 00000 n 
+0000950312 00000 n 
+0001135278 00000 n 
+0001138855 00000 n 
+0001139032 00000 n 
+0001139150 00000 n 
+0001139268 00000 n 
+0001046000 00000 n 
+0001046177 00000 n 
+0001046295 00000 n 
+0001049353 00000 n 
+0001049533 00000 n 
+0001049710 00000 n 
+0000955187 00000 n 
+0000955401 00000 n 
+0000955587 00000 n 
+0000955791 00000 n 
+0000956268 00000 n 
+0000956483 00000 n 
+0000956677 00000 n 
+0000956882 00000 n 
+0000957358 00000 n 
+0000957573 00000 n 
+0000957761 00000 n 
+0000957966 00000 n 
+0000958204 00000 n 
+0000958419 00000 n 
+0000958601 00000 n 
+0000958806 00000 n 
+0000959045 00000 n 
+0000959259 00000 n 
+0000959463 00000 n 
+0000959667 00000 n 
+0000960141 00000 n 
+0000960322 00000 n 
+0000960537 00000 n 
+0000960718 00000 n 
+0000960931 00000 n 
+0000961112 00000 n 
+0000961317 00000 n 
+0000961531 00000 n 
+0000961736 00000 n 
+0000961951 00000 n 
+0000962141 00000 n 
+0000962354 00000 n 
+0000962569 00000 n 
+0000962784 00000 n 
+0000962999 00000 n 
+0000963214 00000 n 
+0000963429 00000 n 
+0000963642 00000 n 
+0000963826 00000 n 
+0000964023 00000 n 
+0000964237 00000 n 
+0000964424 00000 n 
+0000964620 00000 n 
+0000964833 00000 n 
+0000965019 00000 n 
+0000965215 00000 n 
+0000965428 00000 n 
+0000965613 00000 n 
+0000965826 00000 n 
+0000969754 00000 n 
+0000969969 00000 n 
+0000970164 00000 n 
+0000970378 00000 n 
+0000970574 00000 n 
+0000970779 00000 n 
+0000966020 00000 n 
+0000966832 00000 n 
+0000952886 00000 n 
+0000950593 00000 n 
+0000966185 00000 n 
+0000956029 00000 n 
+0000957121 00000 n 
+0000959903 00000 n 
+0000966243 00000 n 
+0000966302 00000 n 
+0000966361 00000 n 
+0000966420 00000 n 
+0000966479 00000 n 
+0000966538 00000 n 
+0000966597 00000 n 
+0000966656 00000 n 
+0000966714 00000 n 
+0000966773 00000 n 
+0004859639 00000 n 
+0001049887 00000 n 
+0001050123 00000 n 
+0001053332 00000 n 
+0001053508 00000 n 
+0001053626 00000 n 
+0001053749 00000 n 
+0001053872 00000 n 
+0001053995 00000 n 
+0001057087 00000 n 
+0001057263 00000 n 
+0001057439 00000 n 
+0001057616 00000 n 
+0001057793 00000 n 
+0000970984 00000 n 
+0000971198 00000 n 
+0000971394 00000 n 
+0000971599 00000 n 
+0000971804 00000 n 
+0000971991 00000 n 
+0000972206 00000 n 
+0000972402 00000 n 
+0000972606 00000 n 
+0000972810 00000 n 
+0000973025 00000 n 
+0000973221 00000 n 
+0000973425 00000 n 
+0000973629 00000 n 
+0000973816 00000 n 
+0000974031 00000 n 
+0000974226 00000 n 
+0000974431 00000 n 
+0000974636 00000 n 
+0000975045 00000 n 
+0000975249 00000 n 
+0000975464 00000 n 
+0000975645 00000 n 
+0000975860 00000 n 
+0000976040 00000 n 
+0000976255 00000 n 
+0000976436 00000 n 
+0000976651 00000 n 
+0000976864 00000 n 
+0000977052 00000 n 
+0000977265 00000 n 
+0000977461 00000 n 
+0000977674 00000 n 
+0000977870 00000 n 
+0000978083 00000 n 
+0000978271 00000 n 
+0000978484 00000 n 
+0000978679 00000 n 
+0000978892 00000 n 
+0000979088 00000 n 
+0000979301 00000 n 
+0000979489 00000 n 
+0000979700 00000 n 
+0000979895 00000 n 
+0000980107 00000 n 
+0000980295 00000 n 
+0000980507 00000 n 
+0000985118 00000 n 
+0000985331 00000 n 
+0000985519 00000 n 
+0000985732 00000 n 
+0000985928 00000 n 
+0000986132 00000 n 
+0000986345 00000 n 
+0000980702 00000 n 
+0000980984 00000 n 
+0000969124 00000 n 
+0000967042 00000 n 
+0000980867 00000 n 
+0000974840 00000 n 
+0000980925 00000 n 
+0001061304 00000 n 
+0001061481 00000 n 
+0001061717 00000 n 
+0001065493 00000 n 
+0001065734 00000 n 
+0001065975 00000 n 
+0001069679 00000 n 
+0001069861 00000 n 
+0001070038 00000 n 
+0001070215 00000 n 
+0001073464 00000 n 
+0001073700 00000 n 
+0001073936 00000 n 
+0001074172 00000 n 
+0001077264 00000 n 
+0001077500 00000 n 
+0001077736 00000 n 
+0001081267 00000 n 
+0001081503 00000 n 
+0000986531 00000 n 
+0000986696 00000 n 
+0000986909 00000 n 
+0000987101 00000 n 
+0000987267 00000 n 
+0000987480 00000 n 
+0000987661 00000 n 
+0000987874 00000 n 
+0000988053 00000 n 
+0000988268 00000 n 
+0000988447 00000 n 
+0000988660 00000 n 
+0000988841 00000 n 
+0000989056 00000 n 
+0000989237 00000 n 
+0000989417 00000 n 
+0000989631 00000 n 
+0000989817 00000 n 
+0000990013 00000 n 
+0000990225 00000 n 
+0000990405 00000 n 
+0000990618 00000 n 
+0000990804 00000 n 
+0000990992 00000 n 
+0000991162 00000 n 
+0000991377 00000 n 
+0000991563 00000 n 
+0000991759 00000 n 
+0000991967 00000 n 
+0000992146 00000 n 
+0000992361 00000 n 
+0000992547 00000 n 
+0000992752 00000 n 
+0000992948 00000 n 
+0000993160 00000 n 
+0000993338 00000 n 
+0000993552 00000 n 
+0000993737 00000 n 
+0000993941 00000 n 
+0000994135 00000 n 
+0000994347 00000 n 
+0000994524 00000 n 
+0000994739 00000 n 
+0000994935 00000 n 
+0000995140 00000 n 
+0000995336 00000 n 
+0000995513 00000 n 
+0000995728 00000 n 
+0000995924 00000 n 
+0000996129 00000 n 
+0000996325 00000 n 
+0000996502 00000 n 
+0000996717 00000 n 
+0000996902 00000 n 
+0000997098 00000 n 
+0000997489 00000 n 
+0000997700 00000 n 
+0000997888 00000 n 
+0000998101 00000 n 
+0000998285 00000 n 
+0000998479 00000 n 
+0000998867 00000 n 
+0001002900 00000 n 
+0001003088 00000 n 
+0001003300 00000 n 
+0000999077 00000 n 
+0000999300 00000 n 
+0000984335 00000 n 
+0000981153 00000 n 
+0000999242 00000 n 
+0000997294 00000 n 
+0000998673 00000 n 
+0001081739 00000 n 
+0001085642 00000 n 
+0001085877 00000 n 
+0001086110 00000 n 
+0001089239 00000 n 
+0001089416 00000 n 
+0001089593 00000 n 
+0001089770 00000 n 
+0001089947 00000 n 
+0001090124 00000 n 
+0001094398 00000 n 
+0001094634 00000 n 
+0001098346 00000 n 
+0001098582 00000 n 
+0001098818 00000 n 
+0001103182 00000 n 
+0001103418 00000 n 
+0001108372 00000 n 
+0001003481 00000 n 
+0001003651 00000 n 
+0001003864 00000 n 
+0001004079 00000 n 
+0001004271 00000 n 
+0001004476 00000 n 
+0001004886 00000 n 
+0001005091 00000 n 
+0001005287 00000 n 
+0001005454 00000 n 
+0001005667 00000 n 
+0001005871 00000 n 
+0001006110 00000 n 
+0001006325 00000 n 
+0001006517 00000 n 
+0001006722 00000 n 
+0001006961 00000 n 
+0001007142 00000 n 
+0001007357 00000 n 
+0001007525 00000 n 
+0001007706 00000 n 
+0001007921 00000 n 
+0001008089 00000 n 
+0001008301 00000 n 
+0001008482 00000 n 
+0001008693 00000 n 
+0001008870 00000 n 
+0001009062 00000 n 
+0001009230 00000 n 
+0001009411 00000 n 
+0001009626 00000 n 
+0001009794 00000 n 
+0001010007 00000 n 
+0001010212 00000 n 
+0001010425 00000 n 
+0001010629 00000 n 
+0001010842 00000 n 
+0001011021 00000 n 
+0001011232 00000 n 
+0001011423 00000 n 
+0001011634 00000 n 
+0001015116 00000 n 
+0001015328 00000 n 
+0001011837 00000 n 
+0001012178 00000 n 
+0001002351 00000 n 
+0000999537 00000 n 
+0001012002 00000 n 
+0001012060 00000 n 
+0001004681 00000 n 
+0001012119 00000 n 
+0001108608 00000 n 
+0001108785 00000 n 
+0001113528 00000 n 
+0001113705 00000 n 
+0001113882 00000 n 
+0001118787 00000 n 
+0001119023 00000 n 
+0001119259 00000 n 
+0001123221 00000 n 
+0001123398 00000 n 
+0001123575 00000 n 
+0001128371 00000 n 
+0001128611 00000 n 
+0001015520 00000 n 
+0001015733 00000 n 
+0001015919 00000 n 
+0001016124 00000 n 
+0001016335 00000 n 
+0001016526 00000 n 
+0001016709 00000 n 
+0001016914 00000 n 
+0001017129 00000 n 
+0001017310 00000 n 
+0001017524 00000 n 
+0001017739 00000 n 
+0001017953 00000 n 
+0001018133 00000 n 
+0001018313 00000 n 
+0001018527 00000 n 
+0001018708 00000 n 
+0001018889 00000 n 
+0001019104 00000 n 
+0001019285 00000 n 
+0001019466 00000 n 
+0001019681 00000 n 
+0001019862 00000 n 
+0001020077 00000 n 
+0001020270 00000 n 
+0001020449 00000 n 
+0001020627 00000 n 
+0001020831 00000 n 
+0001021046 00000 n 
+0001021239 00000 n 
+0001021419 00000 n 
+0001021598 00000 n 
+0001021803 00000 n 
+0001022017 00000 n 
+0001022209 00000 n 
+0001022389 00000 n 
+0001022568 00000 n 
+0001022773 00000 n 
+0001022985 00000 n 
+0001023176 00000 n 
+0001023354 00000 n 
+0001023531 00000 n 
+0001026833 00000 n 
+0001027047 00000 n 
+0001027240 00000 n 
+0001027420 00000 n 
+0001027599 00000 n 
+0001023734 00000 n 
+0001024250 00000 n 
+0001014576 00000 n 
+0001012428 00000 n 
+0001023899 00000 n 
+0001023957 00000 n 
+0001024015 00000 n 
+0001024073 00000 n 
+0001024132 00000 n 
+0001024191 00000 n 
+0001128788 00000 n 
+0001134797 00000 n 
+0001135038 00000 n 
+0001142636 00000 n 
+0001142754 00000 n 
+0001142872 00000 n 
+0001142995 00000 n 
+0001143118 00000 n 
+0001143236 00000 n 
+0001143354 00000 n 
+0001146658 00000 n 
+0001027804 00000 n 
+0001028018 00000 n 
+0001028211 00000 n 
+0001028390 00000 n 
+0001028568 00000 n 
+0001028772 00000 n 
+0001028987 00000 n 
+0001029180 00000 n 
+0001029361 00000 n 
+0001029541 00000 n 
+0001029744 00000 n 
+0001029959 00000 n 
+0001030152 00000 n 
+0001030333 00000 n 
+0001030514 00000 n 
+0001030718 00000 n 
+0001030933 00000 n 
+0001031126 00000 n 
+0001031307 00000 n 
+0001031486 00000 n 
+0001031691 00000 n 
+0001031906 00000 n 
+0001032099 00000 n 
+0001032279 00000 n 
+0001032460 00000 n 
+0001032664 00000 n 
+0001032877 00000 n 
+0001033068 00000 n 
+0001033248 00000 n 
+0001033427 00000 n 
+0001033632 00000 n 
+0001033845 00000 n 
+0001034036 00000 n 
+0001034216 00000 n 
+0001034395 00000 n 
+0001034600 00000 n 
+0001034814 00000 n 
+0001035007 00000 n 
+0001035187 00000 n 
+0001035368 00000 n 
+0001035572 00000 n 
+0001035786 00000 n 
+0001035979 00000 n 
+0001036159 00000 n 
+0001036338 00000 n 
+0001036543 00000 n 
+0001036757 00000 n 
+0001036950 00000 n 
+0001037130 00000 n 
+0001037309 00000 n 
+0001037514 00000 n 
+0001037729 00000 n 
+0001037922 00000 n 
+0001038103 00000 n 
+0001038284 00000 n 
+0001038489 00000 n 
+0001038704 00000 n 
+0001038897 00000 n 
+0001039078 00000 n 
+0001039259 00000 n 
+0001039464 00000 n 
+0001039677 00000 n 
+0001039868 00000 n 
+0001040047 00000 n 
+0001040226 00000 n 
+0001043898 00000 n 
+0001044113 00000 n 
+0001044294 00000 n 
+0001040429 00000 n 
+0001040652 00000 n 
+0001026059 00000 n 
+0001024445 00000 n 
+0001040594 00000 n 
+0001146781 00000 n 
+0001146899 00000 n 
+0001147022 00000 n 
+0001150434 00000 n 
+0001150552 00000 n 
+0001150675 00000 n 
+0001150798 00000 n 
+0001150916 00000 n 
+0001151034 00000 n 
+0001151152 00000 n 
+0001151270 00000 n 
+0001151388 00000 n 
+0001159043 00000 n 
+0001159161 00000 n 
+0001044475 00000 n 
+0001044690 00000 n 
+0001044871 00000 n 
+0001045051 00000 n 
+0001045232 00000 n 
+0001045409 00000 n 
+0001045600 00000 n 
+0001046418 00000 n 
+0001043673 00000 n 
+0001040861 00000 n 
+0001045765 00000 n 
+0001045823 00000 n 
+0001045882 00000 n 
+0001045941 00000 n 
+0001046059 00000 n 
+0001046118 00000 n 
+0001046236 00000 n 
+0001046359 00000 n 
+0004859765 00000 n 
+0001048812 00000 n 
+0001048971 00000 n 
+0001049130 00000 n 
+0001050181 00000 n 
+0001048650 00000 n 
+0001046613 00000 n 
+0001049295 00000 n 
+0001049416 00000 n 
+0001049474 00000 n 
+0001049592 00000 n 
+0001049651 00000 n 
+0001049769 00000 n 
+0001049828 00000 n 
+0001049946 00000 n 
+0001050005 00000 n 
+0001050064 00000 n 
+0001052991 00000 n 
+0001054058 00000 n 
+0001052847 00000 n 
+0001050362 00000 n 
+0001053156 00000 n 
+0001053214 00000 n 
+0001053273 00000 n 
+0001053391 00000 n 
+0001053449 00000 n 
+0001053567 00000 n 
+0001053690 00000 n 
+0001053813 00000 n 
+0001053936 00000 n 
+0001056746 00000 n 
+0001057907 00000 n 
+0001056602 00000 n 
+0001054239 00000 n 
+0001056911 00000 n 
+0001056969 00000 n 
+0001057028 00000 n 
+0001057146 00000 n 
+0001057205 00000 n 
+0001057321 00000 n 
+0001057380 00000 n 
+0001057498 00000 n 
+0001057557 00000 n 
+0001057675 00000 n 
+0001057734 00000 n 
+0001057848 00000 n 
+0001061022 00000 n 
+0001061958 00000 n 
+0001060878 00000 n 
+0001058101 00000 n 
+0001061187 00000 n 
+0001061245 00000 n 
+0001061363 00000 n 
+0001061422 00000 n 
+0001061540 00000 n 
+0001061599 00000 n 
+0001061658 00000 n 
+0001061781 00000 n 
+0001061840 00000 n 
+0001061899 00000 n 
+0001065270 00000 n 
+0001066098 00000 n 
+0001065126 00000 n 
+0001062152 00000 n 
+0001065435 00000 n 
+0001065557 00000 n 
+0001065616 00000 n 
+0001065675 00000 n 
+0001065798 00000 n 
+0001065857 00000 n 
+0001065916 00000 n 
+0001066039 00000 n 
+0001068996 00000 n 
+0001069176 00000 n 
+0001069338 00000 n 
+0001070392 00000 n 
+0001068834 00000 n 
+0001066292 00000 n 
+0001069503 00000 n 
+0001069561 00000 n 
+0001069620 00000 n 
+0001069743 00000 n 
+0001069802 00000 n 
+0001069920 00000 n 
+0001069979 00000 n 
+0001070097 00000 n 
+0001070156 00000 n 
+0001070274 00000 n 
+0001070333 00000 n 
+0004859891 00000 n 
+0001073003 00000 n 
+0001073182 00000 n 
+0001074230 00000 n 
+0001072850 00000 n 
+0001070598 00000 n 
+0001073347 00000 n 
+0001073405 00000 n 
+0001073523 00000 n 
+0001073582 00000 n 
+0001073641 00000 n 
+0001073759 00000 n 
+0001073818 00000 n 
+0001073877 00000 n 
+0001073995 00000 n 
+0001074054 00000 n 
+0001074113 00000 n 
+0001076864 00000 n 
+0001077853 00000 n 
+0001076720 00000 n 
+0001074424 00000 n 
+0001077029 00000 n 
+0001077087 00000 n 
+0001077146 00000 n 
+0001077205 00000 n 
+0001077323 00000 n 
+0001077382 00000 n 
+0001077441 00000 n 
+0001077559 00000 n 
+0001077618 00000 n 
+0001077677 00000 n 
+0001077795 00000 n 
+0001080499 00000 n 
+0001080927 00000 n 
+0001081916 00000 n 
+0001080337 00000 n 
+0001078047 00000 n 
+0001081092 00000 n 
+0001081150 00000 n 
+0001081209 00000 n 
+0001080712 00000 n 
+0001081326 00000 n 
+0001081385 00000 n 
+0001081444 00000 n 
+0001081562 00000 n 
+0001081621 00000 n 
+0001081680 00000 n 
+0001081798 00000 n 
+0001081857 00000 n 
+0001084847 00000 n 
+0001085011 00000 n 
+0001085177 00000 n 
+0001085360 00000 n 
+0001086346 00000 n 
+0001084676 00000 n 
+0001082110 00000 n 
+0001085525 00000 n 
+0001085583 00000 n 
+0001085701 00000 n 
+0001085760 00000 n 
+0001085819 00000 n 
+0001085935 00000 n 
+0001085994 00000 n 
+0001086051 00000 n 
+0001086169 00000 n 
+0001086228 00000 n 
+0001086287 00000 n 
+0001088836 00000 n 
+0001093528 00000 n 
+0001089016 00000 n 
+0001090240 00000 n 
+0001088683 00000 n 
+0001086540 00000 n 
+0001089181 00000 n 
+0001089298 00000 n 
+0001089357 00000 n 
+0001089475 00000 n 
+0001089534 00000 n 
+0001089652 00000 n 
+0001089711 00000 n 
+0001089829 00000 n 
+0001089888 00000 n 
+0001090006 00000 n 
+0001090065 00000 n 
+0001090182 00000 n 
+0001093707 00000 n 
+0001093877 00000 n 
+0001094057 00000 n 
+0001094813 00000 n 
+0001093357 00000 n 
+0001090434 00000 n 
+0001094222 00000 n 
+0001094280 00000 n 
+0001094339 00000 n 
+0001094457 00000 n 
+0001094516 00000 n 
+0001094575 00000 n 
+0001094696 00000 n 
+0001094754 00000 n 
+0004860017 00000 n 
+0001097708 00000 n 
+0001097886 00000 n 
+0001102297 00000 n 
+0001098064 00000 n 
+0001098934 00000 n 
+0001097546 00000 n 
+0001095007 00000 n 
+0001098229 00000 n 
+0001098287 00000 n 
+0001098405 00000 n 
+0001098464 00000 n 
+0001098523 00000 n 
+0001098641 00000 n 
+0001098700 00000 n 
+0001098759 00000 n 
+0001098876 00000 n 
+0001102475 00000 n 
+0001102653 00000 n 
+0001102841 00000 n 
+0001103595 00000 n 
+0001102126 00000 n 
+0001099165 00000 n 
+0001103006 00000 n 
+0001103064 00000 n 
+0001103123 00000 n 
+0001103241 00000 n 
+0001103300 00000 n 
+0001103359 00000 n 
+0001103477 00000 n 
+0001103536 00000 n 
+0001107382 00000 n 
+0001107569 00000 n 
+0001107739 00000 n 
+0001107905 00000 n 
+0001112534 00000 n 
+0001112715 00000 n 
+0001108090 00000 n 
+0001108962 00000 n 
+0001107202 00000 n 
+0001103826 00000 n 
+0001108255 00000 n 
+0001108313 00000 n 
+0001108431 00000 n 
+0001108490 00000 n 
+0001108549 00000 n 
+0001108667 00000 n 
+0001108726 00000 n 
+0001108844 00000 n 
+0001108903 00000 n 
+0001112895 00000 n 
+0001113081 00000 n 
+0001113246 00000 n 
+0001113999 00000 n 
+0001112354 00000 n 
+0001109193 00000 n 
+0001113411 00000 n 
+0001113469 00000 n 
+0001113587 00000 n 
+0001113646 00000 n 
+0001113764 00000 n 
+0001113823 00000 n 
+0001113940 00000 n 
+0001117607 00000 n 
+0001117775 00000 n 
+0001117942 00000 n 
+0001118110 00000 n 
+0001118280 00000 n 
+0001118446 00000 n 
+0001119377 00000 n 
+0001117418 00000 n 
+0001114193 00000 n 
+0001118611 00000 n 
+0001118669 00000 n 
+0001118728 00000 n 
+0001118846 00000 n 
+0001118905 00000 n 
+0001118964 00000 n 
+0001119082 00000 n 
+0001119141 00000 n 
+0001119200 00000 n 
+0001119318 00000 n 
+0001122699 00000 n 
+0001122880 00000 n 
+0001123693 00000 n 
+0001122546 00000 n 
+0001119571 00000 n 
+0001123045 00000 n 
+0001123103 00000 n 
+0001123162 00000 n 
+0001123280 00000 n 
+0001123339 00000 n 
+0001123457 00000 n 
+0001123516 00000 n 
+0001123634 00000 n 
+0004860143 00000 n 
+0001127382 00000 n 
+0001127567 00000 n 
+0001127753 00000 n 
+0001127944 00000 n 
+0001132864 00000 n 
+0001133068 00000 n 
+0001128148 00000 n 
+0001128965 00000 n 
+0001127202 00000 n 
+0001123951 00000 n 
+0001128313 00000 n 
+0001128435 00000 n 
+0001128494 00000 n 
+0001128553 00000 n 
+0001128670 00000 n 
+0001128729 00000 n 
+0001128847 00000 n 
+0001128906 00000 n 
+0001133271 00000 n 
+0001133462 00000 n 
+0001133676 00000 n 
+0001133847 00000 n 
+0001134032 00000 n 
+0001134403 00000 n 
+0001134574 00000 n 
+0001135401 00000 n 
+0001132639 00000 n 
+0001129221 00000 n 
+0001134739 00000 n 
+0001134861 00000 n 
+0001134920 00000 n 
+0001134979 00000 n 
+0001135101 00000 n 
+0001135160 00000 n 
+0001135219 00000 n 
+0001134217 00000 n 
+0001135342 00000 n 
+0001138573 00000 n 
+0001139326 00000 n 
+0001138429 00000 n 
+0001135607 00000 n 
+0001138738 00000 n 
+0001138796 00000 n 
+0001138914 00000 n 
+0001138973 00000 n 
+0001139091 00000 n 
+0001139209 00000 n 
+0001142295 00000 n 
+0001143475 00000 n 
+0001142151 00000 n 
+0001139520 00000 n 
+0001142460 00000 n 
+0001142518 00000 n 
+0001142577 00000 n 
+0001142695 00000 n 
+0001142813 00000 n 
+0001142936 00000 n 
+0001143059 00000 n 
+0001143177 00000 n 
+0001143295 00000 n 
+0001143417 00000 n 
+0001146435 00000 n 
+0001147145 00000 n 
+0001146291 00000 n 
+0001143656 00000 n 
+0001146600 00000 n 
+0001146722 00000 n 
+0001146840 00000 n 
+0001146963 00000 n 
+0001147086 00000 n 
+0001150211 00000 n 
+0001151502 00000 n 
+0001150067 00000 n 
+0001147326 00000 n 
+0001150376 00000 n 
+0001150493 00000 n 
+0001150616 00000 n 
+0001150739 00000 n 
+0001150857 00000 n 
+0001150975 00000 n 
+0001151093 00000 n 
+0001151211 00000 n 
+0001151329 00000 n 
+0001151445 00000 n 
+0004860269 00000 n 
+0001154083 00000 n 
+0001157463 00000 n 
+0001157531 00000 n 
+0001157755 00000 n 
+0001157960 00000 n 
+0001158165 00000 n 
+0001158404 00000 n 
+0001158626 00000 n 
+0001162070 00000 n 
+0001162294 00000 n 
+0001162490 00000 n 
+0001158820 00000 n 
+0001159572 00000 n 
+0001153869 00000 n 
+0001151684 00000 n 
+0001158985 00000 n 
+0001159102 00000 n 
+0001159220 00000 n 
+0001159279 00000 n 
+0001159338 00000 n 
+0001159513 00000 n 
+0001154839 00000 n 
+0001154970 00000 n 
+0001155120 00000 n 
+0001155388 00000 n 
+0001155766 00000 n 
+0001156004 00000 n 
+0001156026 00000 n 
+0001157440 00000 n 
+0001177441 00000 n 
+0001177677 00000 n 
+0001162683 00000 n 
+0001162905 00000 n 
+0001163098 00000 n 
+0001163322 00000 n 
+0001163517 00000 n 
+0001163710 00000 n 
+0001163934 00000 n 
+0001164130 00000 n 
+0001164354 00000 n 
+0001164550 00000 n 
+0001164742 00000 n 
+0001164965 00000 n 
+0001165157 00000 n 
+0001165361 00000 n 
+0001165836 00000 n 
+0001166060 00000 n 
+0001166241 00000 n 
+0001166427 00000 n 
+0001166632 00000 n 
+0001167108 00000 n 
+0001167331 00000 n 
+0001167517 00000 n 
+0001167721 00000 n 
+0001168196 00000 n 
+0001168420 00000 n 
+0001168614 00000 n 
+0001168818 00000 n 
+0001169295 00000 n 
+0001169519 00000 n 
+0001169701 00000 n 
+0001169906 00000 n 
+0001170145 00000 n 
+0001170368 00000 n 
+0001170557 00000 n 
+0001170760 00000 n 
+0001170998 00000 n 
+0001171188 00000 n 
+0001171413 00000 n 
+0001171603 00000 n 
+0001171793 00000 n 
+0001172018 00000 n 
+0001172210 00000 n 
+0001172434 00000 n 
+0001172659 00000 n 
+0001172850 00000 n 
+0001173074 00000 n 
+0001176658 00000 n 
+0001173264 00000 n 
+0001173722 00000 n 
+0001161449 00000 n 
+0001159767 00000 n 
+0001173429 00000 n 
+0001165598 00000 n 
+0001166870 00000 n 
+0001167958 00000 n 
+0001169057 00000 n 
+0001173487 00000 n 
+0001173546 00000 n 
+0001173604 00000 n 
+0001173663 00000 n 
+0001180657 00000 n 
+0001180893 00000 n 
+0001181129 00000 n 
+0001184385 00000 n 
+0001184562 00000 n 
+0001184739 00000 n 
+0001184916 00000 n 
+0001185152 00000 n 
+0001188237 00000 n 
+0001188412 00000 n 
+0001188588 00000 n 
+0001188765 00000 n 
+0001176848 00000 n 
+0001177041 00000 n 
+0001177858 00000 n 
+0001176496 00000 n 
+0001173931 00000 n 
+0001177206 00000 n 
+0001177264 00000 n 
+0001177323 00000 n 
+0001177382 00000 n 
+0001177500 00000 n 
+0001177559 00000 n 
+0001177618 00000 n 
+0001177741 00000 n 
+0001177800 00000 n 
+0001180375 00000 n 
+0001181364 00000 n 
+0001180231 00000 n 
+0001178052 00000 n 
+0001180540 00000 n 
+0001180598 00000 n 
+0001180716 00000 n 
+0001180775 00000 n 
+0001180834 00000 n 
+0001180952 00000 n 
+0001181011 00000 n 
+0001181070 00000 n 
+0001181188 00000 n 
+0001181246 00000 n 
+0001181305 00000 n 
+0001184162 00000 n 
+0001185268 00000 n 
+0001184018 00000 n 
+0001181532 00000 n 
+0001184327 00000 n 
+0001184444 00000 n 
+0001184503 00000 n 
+0001184621 00000 n 
+0001184680 00000 n 
+0001184798 00000 n 
+0001184857 00000 n 
+0001184975 00000 n 
+0001185034 00000 n 
+0001185093 00000 n 
+0001185210 00000 n 
+0001187955 00000 n 
+0001188883 00000 n 
+0001187811 00000 n 
+0001185449 00000 n 
+0001188120 00000 n 
+0001188178 00000 n 
+0001188294 00000 n 
+0001188353 00000 n 
+0001188471 00000 n 
+0001188530 00000 n 
+0001188647 00000 n 
+0001188706 00000 n 
+0001188824 00000 n 
+0004860395 00000 n 
+0001191164 00000 n 
+0001195472 00000 n 
+0001195540 00000 n 
+0001195744 00000 n 
+0001195983 00000 n 
+0001196228 00000 n 
+0001196431 00000 n 
+0001196634 00000 n 
+0001196873 00000 n 
+0001197117 00000 n 
+0001197321 00000 n 
+0001197525 00000 n 
+0001197764 00000 n 
+0001198009 00000 n 
+0001198214 00000 n 
+0001198456 00000 n 
+0001198693 00000 n 
+0001198930 00000 n 
+0001202888 00000 n 
+0001203133 00000 n 
+0001199167 00000 n 
+0001199861 00000 n 
+0001190860 00000 n 
+0001189078 00000 n 
+0001199332 00000 n 
+0001199390 00000 n 
+0001199566 00000 n 
+0001199625 00000 n 
+0001199684 00000 n 
+0001199743 00000 n 
+0001199802 00000 n 
+0001192106 00000 n 
+0001192237 00000 n 
+0001192387 00000 n 
+0001192711 00000 n 
+0001193148 00000 n 
+0001193386 00000 n 
+0001193408 00000 n 
+0001195449 00000 n 
+0001862290 00000 n 
+0001880011 00000 n 
+0001880129 00000 n 
+0001211563 00000 n 
+0001203344 00000 n 
+0001203589 00000 n 
+0001203794 00000 n 
+0001204039 00000 n 
+0001204283 00000 n 
+0001204493 00000 n 
+0001204912 00000 n 
+0001205157 00000 n 
+0001205368 00000 n 
+0001205788 00000 n 
+0001206423 00000 n 
+0001202627 00000 n 
+0001200082 00000 n 
+0001205953 00000 n 
+0001206011 00000 n 
+0001206070 00000 n 
+0001206128 00000 n 
+0001206187 00000 n 
+0001204703 00000 n 
+0001205579 00000 n 
+0001206246 00000 n 
+0001206305 00000 n 
+0001206364 00000 n 
+0001211799 00000 n 
+0001210091 00000 n 
+0001210567 00000 n 
+0001211043 00000 n 
+0001211281 00000 n 
+0001212093 00000 n 
+0001209902 00000 n 
+0001206720 00000 n 
+0001211446 00000 n 
+0004851036 00000 n 
+0001210330 00000 n 
+0001210805 00000 n 
+0001211504 00000 n 
+0001211622 00000 n 
+0001211681 00000 n 
+0001211740 00000 n 
+0001211858 00000 n 
+0001211917 00000 n 
+0001887591 00000 n 
+0001892697 00000 n 
+0001880306 00000 n 
+0001214470 00000 n 
+0001214697 00000 n 
+0001214901 00000 n 
+0001215128 00000 n 
+0001215355 00000 n 
+0001215582 00000 n 
+0001215775 00000 n 
+0001216001 00000 n 
+0001216193 00000 n 
+0001216397 00000 n 
+0001219501 00000 n 
+0001219728 00000 n 
+0001219933 00000 n 
+0001220160 00000 n 
+0001216586 00000 n 
+0001217512 00000 n 
+0001214236 00000 n 
+0001212377 00000 n 
+0001216751 00000 n 
+0001216809 00000 n 
+0001216985 00000 n 
+0001217044 00000 n 
+0001217220 00000 n 
+0001217278 00000 n 
+0001217336 00000 n 
+0001217395 00000 n 
+0001217453 00000 n 
+0001298106 00000 n 
+0001220365 00000 n 
+0001220592 00000 n 
+0001220797 00000 n 
+0001221024 00000 n 
+0001221228 00000 n 
+0001221455 00000 n 
+0001221660 00000 n 
+0001221886 00000 n 
+0001222090 00000 n 
+0001222316 00000 n 
+0001222520 00000 n 
+0001222747 00000 n 
+0001222952 00000 n 
+0001223179 00000 n 
+0001223384 00000 n 
+0001223611 00000 n 
+0001223816 00000 n 
+0001224041 00000 n 
+0001224243 00000 n 
+0001224469 00000 n 
+0001224672 00000 n 
+0001224899 00000 n 
+0001225104 00000 n 
+0001225331 00000 n 
+0001225536 00000 n 
+0001225763 00000 n 
+0001225968 00000 n 
+0001226195 00000 n 
+0001226400 00000 n 
+0001226627 00000 n 
+0001226832 00000 n 
+0001227059 00000 n 
+0001227264 00000 n 
+0001227491 00000 n 
+0001227684 00000 n 
+0001227876 00000 n 
+0001228103 00000 n 
+0001228330 00000 n 
+0001228557 00000 n 
+0001228784 00000 n 
+0001232669 00000 n 
+0001232896 00000 n 
+0001233123 00000 n 
+0001233350 00000 n 
+0001229010 00000 n 
+0001230645 00000 n 
+0001218961 00000 n 
+0001217720 00000 n 
+0001229175 00000 n 
+0001229233 00000 n 
+0001229292 00000 n 
+0001229351 00000 n 
+0001229410 00000 n 
+0001229469 00000 n 
+0001229528 00000 n 
+0001229587 00000 n 
+0001229646 00000 n 
+0001229705 00000 n 
+0001229764 00000 n 
+0001229823 00000 n 
+0001229882 00000 n 
+0001229939 00000 n 
+0001229998 00000 n 
+0001230057 00000 n 
+0001230116 00000 n 
+0001230175 00000 n 
+0001230233 00000 n 
+0001230292 00000 n 
+0001230351 00000 n 
+0001230410 00000 n 
+0001230468 00000 n 
+0001230527 00000 n 
+0001230586 00000 n 
+0001233577 00000 n 
+0001233804 00000 n 
+0001234031 00000 n 
+0001234257 00000 n 
+0001234483 00000 n 
+0001234710 00000 n 
+0001234937 00000 n 
+0001235164 00000 n 
+0001235391 00000 n 
+0001235618 00000 n 
+0001235844 00000 n 
+0001236071 00000 n 
+0001236298 00000 n 
+0001236491 00000 n 
+0001236718 00000 n 
+0001236911 00000 n 
+0001237104 00000 n 
+0001237331 00000 n 
+0001237524 00000 n 
+0001237750 00000 n 
+0001237943 00000 n 
+0001238135 00000 n 
+0001241524 00000 n 
+0001241717 00000 n 
+0001241942 00000 n 
+0001242135 00000 n 
+0001242361 00000 n 
+0001238360 00000 n 
+0001239759 00000 n 
+0001232291 00000 n 
+0001230825 00000 n 
+0001238525 00000 n 
+0001238583 00000 n 
+0001238642 00000 n 
+0001238701 00000 n 
+0001238760 00000 n 
+0001238819 00000 n 
+0001238878 00000 n 
+0001238936 00000 n 
+0001238994 00000 n 
+0001239053 00000 n 
+0001239112 00000 n 
+0001239171 00000 n 
+0001239230 00000 n 
+0001239289 00000 n 
+0001239348 00000 n 
+0001239407 00000 n 
+0001239465 00000 n 
+0001239523 00000 n 
+0001239582 00000 n 
+0001239641 00000 n 
+0001239700 00000 n 
+0004860521 00000 n 
+0001242554 00000 n 
+0001242747 00000 n 
+0001242973 00000 n 
+0001243166 00000 n 
+0001243392 00000 n 
+0001243585 00000 n 
+0001243812 00000 n 
+0001244004 00000 n 
+0001244196 00000 n 
+0001244422 00000 n 
+0001244615 00000 n 
+0001244841 00000 n 
+0001245033 00000 n 
+0001245259 00000 n 
+0001245451 00000 n 
+0001245644 00000 n 
+0001245871 00000 n 
+0001246063 00000 n 
+0001246290 00000 n 
+0001246483 00000 n 
+0001246709 00000 n 
+0001246902 00000 n 
+0001247095 00000 n 
+0001247321 00000 n 
+0001247514 00000 n 
+0001250643 00000 n 
+0001250836 00000 n 
+0001251062 00000 n 
+0001251255 00000 n 
+0001247740 00000 n 
+0001248730 00000 n 
+0001241110 00000 n 
+0001239939 00000 n 
+0001247905 00000 n 
+0001247963 00000 n 
+0001248022 00000 n 
+0001248081 00000 n 
+0001248140 00000 n 
+0001248199 00000 n 
+0001248258 00000 n 
+0001248317 00000 n 
+0001248376 00000 n 
+0001248435 00000 n 
+0001248494 00000 n 
+0001248553 00000 n 
+0001248612 00000 n 
+0001248671 00000 n 
+0001251482 00000 n 
+0001251675 00000 n 
+0001251902 00000 n 
+0001252095 00000 n 
+0001252322 00000 n 
+0001252549 00000 n 
+0001252776 00000 n 
+0001253003 00000 n 
+0001253230 00000 n 
+0001253457 00000 n 
+0001253661 00000 n 
+0001253888 00000 n 
+0001254093 00000 n 
+0001254297 00000 n 
+0001254524 00000 n 
+0001254729 00000 n 
+0001254933 00000 n 
+0001255160 00000 n 
+0001255365 00000 n 
+0001255567 00000 n 
+0001255792 00000 n 
+0001259000 00000 n 
+0001259227 00000 n 
+0001259420 00000 n 
+0001255995 00000 n 
+0001256513 00000 n 
+0001250274 00000 n 
+0001248910 00000 n 
+0001256160 00000 n 
+0001256218 00000 n 
+0001256277 00000 n 
+0001256336 00000 n 
+0001256395 00000 n 
+0001256454 00000 n 
+0001302109 00000 n 
+0001302227 00000 n 
+0001302345 00000 n 
+0001302463 00000 n 
+0001302581 00000 n 
+0001302697 00000 n 
+0001302815 00000 n 
+0001302931 00000 n 
+0001303049 00000 n 
+0001259613 00000 n 
+0001259840 00000 n 
+0001260033 00000 n 
+0001260259 00000 n 
+0001260452 00000 n 
+0001260656 00000 n 
+0001260883 00000 n 
+0001261074 00000 n 
+0001261278 00000 n 
+0001261505 00000 n 
+0001261698 00000 n 
+0001261902 00000 n 
+0001262129 00000 n 
+0001262334 00000 n 
+0001262526 00000 n 
+0001262752 00000 n 
+0001262945 00000 n 
+0001263137 00000 n 
+0001263363 00000 n 
+0001263556 00000 n 
+0001263783 00000 n 
+0001264010 00000 n 
+0001264215 00000 n 
+0001264442 00000 n 
+0001264645 00000 n 
+0001264872 00000 n 
+0001265065 00000 n 
+0001265269 00000 n 
+0001265496 00000 n 
+0001265700 00000 n 
+0001265926 00000 n 
+0001266114 00000 n 
+0001266341 00000 n 
+0001266534 00000 n 
+0001266727 00000 n 
+0001266932 00000 n 
+0001267157 00000 n 
+0001267350 00000 n 
+0001267554 00000 n 
+0001267778 00000 n 
+0001270757 00000 n 
+0001270950 00000 n 
+0001271177 00000 n 
+0001267970 00000 n 
+0001268193 00000 n 
+0001258469 00000 n 
+0001256706 00000 n 
+0001268135 00000 n 
+0001327447 00000 n 
+0001327565 00000 n 
+0001327682 00000 n 
+0001303167 00000 n 
+0001303285 00000 n 
+0001303402 00000 n 
+0001305649 00000 n 
+0001292010 00000 n 
+0001297870 00000 n 
+0001319540 00000 n 
+0001319658 00000 n 
+0001319893 00000 n 
+0001327214 00000 n 
+0001271370 00000 n 
+0001271561 00000 n 
+0001271786 00000 n 
+0001271977 00000 n 
+0001272201 00000 n 
+0001272393 00000 n 
+0001272620 00000 n 
+0001272813 00000 n 
+0001273006 00000 n 
+0001273231 00000 n 
+0001273424 00000 n 
+0001273649 00000 n 
+0001273840 00000 n 
+0001274031 00000 n 
+0001274256 00000 n 
+0001274449 00000 n 
+0001274675 00000 n 
+0001274868 00000 n 
+0001275061 00000 n 
+0001275286 00000 n 
+0001275479 00000 n 
+0001275705 00000 n 
+0001275897 00000 n 
+0001276089 00000 n 
+0001276313 00000 n 
+0001276506 00000 n 
+0001276733 00000 n 
+0001276925 00000 n 
+0001277117 00000 n 
+0001277344 00000 n 
+0001277537 00000 n 
+0001277730 00000 n 
+0001277922 00000 n 
+0001278148 00000 n 
+0001278339 00000 n 
+0001278531 00000 n 
+0001278724 00000 n 
+0001278949 00000 n 
+0001279140 00000 n 
+0001279331 00000 n 
+0001282429 00000 n 
+0001282656 00000 n 
+0001282849 00000 n 
+0001283042 00000 n 
+0001283235 00000 n 
+0001283428 00000 n 
+0001279522 00000 n 
+0001279745 00000 n 
+0001270226 00000 n 
+0001268388 00000 n 
+0001279687 00000 n 
+0001305767 00000 n 
+0001305884 00000 n 
+0001306001 00000 n 
+0001306118 00000 n 
+0001306235 00000 n 
+0001306353 00000 n 
+0001306471 00000 n 
+0001306589 00000 n 
+0001306707 00000 n 
+0001306825 00000 n 
+0001309821 00000 n 
+0001309939 00000 n 
+0001310057 00000 n 
+0001283814 00000 n 
+0001284041 00000 n 
+0001284234 00000 n 
+0001284427 00000 n 
+0001284620 00000 n 
+0001284847 00000 n 
+0001285040 00000 n 
+0001285233 00000 n 
+0001285459 00000 n 
+0001285651 00000 n 
+0001285843 00000 n 
+0001286069 00000 n 
+0001286262 00000 n 
+0001286453 00000 n 
+0001286646 00000 n 
+0001286873 00000 n 
+0001287066 00000 n 
+0001287259 00000 n 
+0001287483 00000 n 
+0001287709 00000 n 
+0001287934 00000 n 
+0001289984 00000 n 
+0001288158 00000 n 
+0001288381 00000 n 
+0001282033 00000 n 
+0001279941 00000 n 
+0001288323 00000 n 
+0001283621 00000 n 
+0001310174 00000 n 
+0001310292 00000 n 
+0001310410 00000 n 
+0001310528 00000 n 
+0001310646 00000 n 
+0001310764 00000 n 
+0001314117 00000 n 
+0001314235 00000 n 
+0001314353 00000 n 
+0001314471 00000 n 
+0001290208 00000 n 
+0001290434 00000 n 
+0001290659 00000 n 
+0001290885 00000 n 
+0001291110 00000 n 
+0001291336 00000 n 
+0001291561 00000 n 
+0001294630 00000 n 
+0001291787 00000 n 
+0001292069 00000 n 
+0001289768 00000 n 
+0001288633 00000 n 
+0001291952 00000 n 
+0004860647 00000 n 
+0001314589 00000 n 
+0001314707 00000 n 
+0001314825 00000 n 
+0001314943 00000 n 
+0001315061 00000 n 
+0001315179 00000 n 
+0001315297 00000 n 
+0001319422 00000 n 
+0001294855 00000 n 
+0001295082 00000 n 
+0001295286 00000 n 
+0001295513 00000 n 
+0001295718 00000 n 
+0001295944 00000 n 
+0001296136 00000 n 
+0001296363 00000 n 
+0001296568 00000 n 
+0001296795 00000 n 
+0001297000 00000 n 
+0001297227 00000 n 
+0001297420 00000 n 
+0001297647 00000 n 
+0001298222 00000 n 
+0001294360 00000 n 
+0001292249 00000 n 
+0001297812 00000 n 
+0001297929 00000 n 
+0001297988 00000 n 
+0001298047 00000 n 
+0001298164 00000 n 
+0001301827 00000 n 
+0001303518 00000 n 
+0001301683 00000 n 
+0001298445 00000 n 
+0001301992 00000 n 
+0001302050 00000 n 
+0001302168 00000 n 
+0001302286 00000 n 
+0001302404 00000 n 
+0001302522 00000 n 
+0001302639 00000 n 
+0001302756 00000 n 
+0001302873 00000 n 
+0001302990 00000 n 
+0001303108 00000 n 
+0001303226 00000 n 
+0001303343 00000 n 
+0001303460 00000 n 
+0001305426 00000 n 
+0001306943 00000 n 
+0001305282 00000 n 
+0001303699 00000 n 
+0001305591 00000 n 
+0001305708 00000 n 
+0001305825 00000 n 
+0001305942 00000 n 
+0001306059 00000 n 
+0001306176 00000 n 
+0001306294 00000 n 
+0001306412 00000 n 
+0001306530 00000 n 
+0001306648 00000 n 
+0001306766 00000 n 
+0001306884 00000 n 
+0001309598 00000 n 
+0001310887 00000 n 
+0001309454 00000 n 
+0001307111 00000 n 
+0001309763 00000 n 
+0001309880 00000 n 
+0001309998 00000 n 
+0001310115 00000 n 
+0001310233 00000 n 
+0001310351 00000 n 
+0001310469 00000 n 
+0001310587 00000 n 
+0001310705 00000 n 
+0001310828 00000 n 
+0001313894 00000 n 
+0001315413 00000 n 
+0001313750 00000 n 
+0001311095 00000 n 
+0001314059 00000 n 
+0001314176 00000 n 
+0001314294 00000 n 
+0001314412 00000 n 
+0001314530 00000 n 
+0001314648 00000 n 
+0001314766 00000 n 
+0001314884 00000 n 
+0001315002 00000 n 
+0001315120 00000 n 
+0001315238 00000 n 
+0001315355 00000 n 
+0001319199 00000 n 
+0001320070 00000 n 
+0001319055 00000 n 
+0001315594 00000 n 
+0001319364 00000 n 
+0001319481 00000 n 
+0001319599 00000 n 
+0001319717 00000 n 
+0001319834 00000 n 
+0001319952 00000 n 
+0001320011 00000 n 
+0004860773 00000 n 
+0001323411 00000 n 
+0001323634 00000 n 
+0001323267 00000 n 
+0001320301 00000 n 
+0001323576 00000 n 
+0001326991 00000 n 
+0001328386 00000 n 
+0001326847 00000 n 
+0001323825 00000 n 
+0001327156 00000 n 
+0001327272 00000 n 
+0001327388 00000 n 
+0001327506 00000 n 
+0001327623 00000 n 
+0001327741 00000 n 
+0001327800 00000 n 
+0001327859 00000 n 
+0001327918 00000 n 
+0001327977 00000 n 
+0001328036 00000 n 
+0001328094 00000 n 
+0001328153 00000 n 
+0001328211 00000 n 
+0001328270 00000 n 
+0001328328 00000 n 
+0001330685 00000 n 
+0001330928 00000 n 
+0001331125 00000 n 
+0001331322 00000 n 
+0001331562 00000 n 
+0001331756 00000 n 
+0001331950 00000 n 
+0001332879 00000 n 
+0001330487 00000 n 
+0001328567 00000 n 
+0001332115 00000 n 
+0001332173 00000 n 
+0001332232 00000 n 
+0001332408 00000 n 
+0001332467 00000 n 
+0001332526 00000 n 
+0001332702 00000 n 
+0001332761 00000 n 
+0001332820 00000 n 
+0001334694 00000 n 
+0001334876 00000 n 
+0001335116 00000 n 
+0001335310 00000 n 
+0001335504 00000 n 
+0001335686 00000 n 
+0001335867 00000 n 
+0001336097 00000 n 
+0001336280 00000 n 
+0001336464 00000 n 
+0001337392 00000 n 
+0001334469 00000 n 
+0001333075 00000 n 
+0001336629 00000 n 
+0001336804 00000 n 
+0001336863 00000 n 
+0001336922 00000 n 
+0001337098 00000 n 
+0001337157 00000 n 
+0001337216 00000 n 
+0001340795 00000 n 
+0001341027 00000 n 
+0001341220 00000 n 
+0001341408 00000 n 
+0001341613 00000 n 
+0001341803 00000 n 
+0001341993 00000 n 
+0001342225 00000 n 
+0001342419 00000 n 
+0001342607 00000 n 
+0001342811 00000 n 
+0001343000 00000 n 
+0001343190 00000 n 
+0001343422 00000 n 
+0001343615 00000 n 
+0001343803 00000 n 
+0001344008 00000 n 
+0001344198 00000 n 
+0001344388 00000 n 
+0001344619 00000 n 
+0001344813 00000 n 
+0001345001 00000 n 
+0001345206 00000 n 
+0001345396 00000 n 
+0001345586 00000 n 
+0001345818 00000 n 
+0001346009 00000 n 
+0001346196 00000 n 
+0001346401 00000 n 
+0001346591 00000 n 
+0001346780 00000 n 
+0001347012 00000 n 
+0001347209 00000 n 
+0001347397 00000 n 
+0001347602 00000 n 
+0001347791 00000 n 
+0001347981 00000 n 
+0001348178 00000 n 
+0001348755 00000 n 
+0001340318 00000 n 
+0001337573 00000 n 
+0001348343 00000 n 
+0001348401 00000 n 
+0001348460 00000 n 
+0001348519 00000 n 
+0001348578 00000 n 
+0001348637 00000 n 
+0001348696 00000 n 
+0001353644 00000 n 
+0001358900 00000 n 
+0001364244 00000 n 
+0001370002 00000 n 
+0001374632 00000 n 
+0001352788 00000 n 
+0001352976 00000 n 
+0001353166 00000 n 
+0001353362 00000 n 
+0001353826 00000 n 
+0001352617 00000 n 
+0001348963 00000 n 
+0001353527 00000 n 
+0001353585 00000 n 
+0001353708 00000 n 
+0001353767 00000 n 
+0004860899 00000 n 
+0001358045 00000 n 
+0001358231 00000 n 
+0001358421 00000 n 
+0001363454 00000 n 
+0001358618 00000 n 
+0001359141 00000 n 
+0001357874 00000 n 
+0001354123 00000 n 
+0001358783 00000 n 
+0001358841 00000 n 
+0001358964 00000 n 
+0001359023 00000 n 
+0001359082 00000 n 
+0001363642 00000 n 
+0001363832 00000 n 
+0001368955 00000 n 
+0001364021 00000 n 
+0001364424 00000 n 
+0001363283 00000 n 
+0001359438 00000 n 
+0001364186 00000 n 
+0001364308 00000 n 
+0001364367 00000 n 
+0001369152 00000 n 
+0001369340 00000 n 
+0001369530 00000 n 
+0001369720 00000 n 
+0001370125 00000 n 
+0001368775 00000 n 
+0001364721 00000 n 
+0001369885 00000 n 
+0001369943 00000 n 
+0001370066 00000 n 
+0001373523 00000 n 
+0001373720 00000 n 
+0001373908 00000 n 
+0001374105 00000 n 
+0001374293 00000 n 
+0001374926 00000 n 
+0001373343 00000 n 
+0001370422 00000 n 
+0001374458 00000 n 
+0001374516 00000 n 
+0001374575 00000 n 
+0001374691 00000 n 
+0001374750 00000 n 
+0001374809 00000 n 
+0001377402 00000 n 
+0001377603 00000 n 
+0001377842 00000 n 
+0001378053 00000 n 
+0001378293 00000 n 
+0001378533 00000 n 
+0001378772 00000 n 
+0001379011 00000 n 
+0001379249 00000 n 
+0001379487 00000 n 
+0001379690 00000 n 
+0001379928 00000 n 
+0001380131 00000 n 
+0001384213 00000 n 
+0001384417 00000 n 
+0001384654 00000 n 
+0001384858 00000 n 
+0001380368 00000 n 
+0001381412 00000 n 
+0001377141 00000 n 
+0001375146 00000 n 
+0001380533 00000 n 
+0001380649 00000 n 
+0001380708 00000 n 
+0001380767 00000 n 
+0001380826 00000 n 
+0001380885 00000 n 
+0001380944 00000 n 
+0001381002 00000 n 
+0001381061 00000 n 
+0001381236 00000 n 
+0001381295 00000 n 
+0001381354 00000 n 
+0001387818 00000 n 
+0001387936 00000 n 
+0001385096 00000 n 
+0001385334 00000 n 
+0001385538 00000 n 
+0001385776 00000 n 
+0001385981 00000 n 
+0001386390 00000 n 
+0001386594 00000 n 
+0001386798 00000 n 
+0001387036 00000 n 
+0001387241 00000 n 
+0001388361 00000 n 
+0001383943 00000 n 
+0001381662 00000 n 
+0001387406 00000 n 
+0001387464 00000 n 
+0001387523 00000 n 
+0001387582 00000 n 
+0001386186 00000 n 
+0001387641 00000 n 
+0001387700 00000 n 
+0001387759 00000 n 
+0001387877 00000 n 
+0001388000 00000 n 
+0001388059 00000 n 
+0001388122 00000 n 
+0001388180 00000 n 
+0001388244 00000 n 
+0004861025 00000 n 
+0001390837 00000 n 
+0001391033 00000 n 
+0001391255 00000 n 
+0001391476 00000 n 
+0001391681 00000 n 
+0001391902 00000 n 
+0001392123 00000 n 
+0001392311 00000 n 
+0001392532 00000 n 
+0001392720 00000 n 
+0001392925 00000 n 
+0001393146 00000 n 
+0001393334 00000 n 
+0001393539 00000 n 
+0001393761 00000 n 
+0001393982 00000 n 
+0001394169 00000 n 
+0001394391 00000 n 
+0001394579 00000 n 
+0001394783 00000 n 
+0001395005 00000 n 
+0001395227 00000 n 
+0001395432 00000 n 
+0001395635 00000 n 
+0001395856 00000 n 
+0001396078 00000 n 
+0001396264 00000 n 
+0001396485 00000 n 
+0001396707 00000 n 
+0001396929 00000 n 
+0001397151 00000 n 
+0001397338 00000 n 
+0001397560 00000 n 
+0001397782 00000 n 
+0001398004 00000 n 
+0001398226 00000 n 
+0001402222 00000 n 
+0001402426 00000 n 
+0001398446 00000 n 
+0001399434 00000 n 
+0001390369 00000 n 
+0001388556 00000 n 
+0001398611 00000 n 
+0001398727 00000 n 
+0001398786 00000 n 
+0001398845 00000 n 
+0001398904 00000 n 
+0001398963 00000 n 
+0001399022 00000 n 
+0001399081 00000 n 
+0001399140 00000 n 
+0001399199 00000 n 
+0001399258 00000 n 
+0001399316 00000 n 
+0001399375 00000 n 
+0001441085 00000 n 
+0001462201 00000 n 
+0001441260 00000 n 
+0001441378 00000 n 
+0001446218 00000 n 
+0001446395 00000 n 
+0001446512 00000 n 
+0001446633 00000 n 
+0001449720 00000 n 
+0001449838 00000 n 
+0001449956 00000 n 
+0001402648 00000 n 
+0001402851 00000 n 
+0001403072 00000 n 
+0001403294 00000 n 
+0001403516 00000 n 
+0001403738 00000 n 
+0001403960 00000 n 
+0001404182 00000 n 
+0001404404 00000 n 
+0001404592 00000 n 
+0001404813 00000 n 
+0001405001 00000 n 
+0001405206 00000 n 
+0001405427 00000 n 
+0001405615 00000 n 
+0001405820 00000 n 
+0001406024 00000 n 
+0001406245 00000 n 
+0001406432 00000 n 
+0001406637 00000 n 
+0001406842 00000 n 
+0001407285 00000 n 
+0001407506 00000 n 
+0001407702 00000 n 
+0001407894 00000 n 
+0001408089 00000 n 
+0001408310 00000 n 
+0001408496 00000 n 
+0001408682 00000 n 
+0001408904 00000 n 
+0001409109 00000 n 
+0001409328 00000 n 
+0001409513 00000 n 
+0001409717 00000 n 
+0001409938 00000 n 
+0001410159 00000 n 
+0001410381 00000 n 
+0001410586 00000 n 
+0001410808 00000 n 
+0001410996 00000 n 
+0001411218 00000 n 
+0001411440 00000 n 
+0001411628 00000 n 
+0001415613 00000 n 
+0001415801 00000 n 
+0001416023 00000 n 
+0001416211 00000 n 
+0001416433 00000 n 
+0001416629 00000 n 
+0001416825 00000 n 
+0001417234 00000 n 
+0001411850 00000 n 
+0001412957 00000 n 
+0001401664 00000 n 
+0001399642 00000 n 
+0001412015 00000 n 
+0001412073 00000 n 
+0001412132 00000 n 
+0001412191 00000 n 
+0001412250 00000 n 
+0001412309 00000 n 
+0001412368 00000 n 
+0001412427 00000 n 
+0001412486 00000 n 
+0001412545 00000 n 
+0001407064 00000 n 
+0001412604 00000 n 
+0001412663 00000 n 
+0001412722 00000 n 
+0001412781 00000 n 
+0001412840 00000 n 
+0001412899 00000 n 
+0001441554 00000 n 
+0001445859 00000 n 
+0001445977 00000 n 
+0001450079 00000 n 
+0001450202 00000 n 
+0001450325 00000 n 
+0001450448 00000 n 
+0001450571 00000 n 
+0001417456 00000 n 
+0001417642 00000 n 
+0001417863 00000 n 
+0001418058 00000 n 
+0001418466 00000 n 
+0001418687 00000 n 
+0001418874 00000 n 
+0001419096 00000 n 
+0001419292 00000 n 
+0001419701 00000 n 
+0001419922 00000 n 
+0001420127 00000 n 
+0001420349 00000 n 
+0001420588 00000 n 
+0001420809 00000 n 
+0001420997 00000 n 
+0001421185 00000 n 
+0001421407 00000 n 
+0001421595 00000 n 
+0001421783 00000 n 
+0001422004 00000 n 
+0001422191 00000 n 
+0001422378 00000 n 
+0001422599 00000 n 
+0001422795 00000 n 
+0001422991 00000 n 
+0001423178 00000 n 
+0001423399 00000 n 
+0001423595 00000 n 
+0001423782 00000 n 
+0001424003 00000 n 
+0001424191 00000 n 
+0001424378 00000 n 
+0001424599 00000 n 
+0001424787 00000 n 
+0001425008 00000 n 
+0001425195 00000 n 
+0001425381 00000 n 
+0001425568 00000 n 
+0001425789 00000 n 
+0001425985 00000 n 
+0001426181 00000 n 
+0001426367 00000 n 
+0001426587 00000 n 
+0001426782 00000 n 
+0001426968 00000 n 
+0001427188 00000 n 
+0001427375 00000 n 
+0001427562 00000 n 
+0001427783 00000 n 
+0001427971 00000 n 
+0001428191 00000 n 
+0001428378 00000 n 
+0001428565 00000 n 
+0001428786 00000 n 
+0001428973 00000 n 
+0001429160 00000 n 
+0001429379 00000 n 
+0001429564 00000 n 
+0001433397 00000 n 
+0001429748 00000 n 
+0001430324 00000 n 
+0001414839 00000 n 
+0001413167 00000 n 
+0001429913 00000 n 
+0001429971 00000 n 
+0001430030 00000 n 
+0001417030 00000 n 
+0001430088 00000 n 
+0001418262 00000 n 
+0001430147 00000 n 
+0001419497 00000 n 
+0001430206 00000 n 
+0001430265 00000 n 
+0001453615 00000 n 
+0001453733 00000 n 
+0001453851 00000 n 
+0001453969 00000 n 
+0001454087 00000 n 
+0001454205 00000 n 
+0001454323 00000 n 
+0001454446 00000 n 
+0001433584 00000 n 
+0001433806 00000 n 
+0001434028 00000 n 
+0001434249 00000 n 
+0001434471 00000 n 
+0001434693 00000 n 
+0001434915 00000 n 
+0001435145 00000 n 
+0001435367 00000 n 
+0001435597 00000 n 
+0001435819 00000 n 
+0001436101 00000 n 
+0001433154 00000 n 
+0001430533 00000 n 
+0001435984 00000 n 
+0001436042 00000 n 
+0002542508 00000 n 
+0001439126 00000 n 
+0001439348 00000 n 
+0001439553 00000 n 
+0001439758 00000 n 
+0001439978 00000 n 
+0001440200 00000 n 
+0001440422 00000 n 
+0001440616 00000 n 
+0001440803 00000 n 
+0001441670 00000 n 
+0001438910 00000 n 
+0001436342 00000 n 
+0001440968 00000 n 
+0001441026 00000 n 
+0001441143 00000 n 
+0001441201 00000 n 
+0001441319 00000 n 
+0001441437 00000 n 
+0001441496 00000 n 
+0001441612 00000 n 
+0001444871 00000 n 
+0001445059 00000 n 
+0001445254 00000 n 
+0001445442 00000 n 
+0001445636 00000 n 
+0001446753 00000 n 
+0001444691 00000 n 
+0001441876 00000 n 
+0001445801 00000 n 
+0001445918 00000 n 
+0001446041 00000 n 
+0001446100 00000 n 
+0001446159 00000 n 
+0001446277 00000 n 
+0001446336 00000 n 
+0001446453 00000 n 
+0001446575 00000 n 
+0001446695 00000 n 
+0004861151 00000 n 
+0001449497 00000 n 
+0001450694 00000 n 
+0001449353 00000 n 
+0001446971 00000 n 
+0001449662 00000 n 
+0001449779 00000 n 
+0001449897 00000 n 
+0001450020 00000 n 
+0001450143 00000 n 
+0001450266 00000 n 
+0001450389 00000 n 
+0001450512 00000 n 
+0001450635 00000 n 
+0001453333 00000 n 
+0001454917 00000 n 
+0001453189 00000 n 
+0001450937 00000 n 
+0001453498 00000 n 
+0001453556 00000 n 
+0001453674 00000 n 
+0001453792 00000 n 
+0001453910 00000 n 
+0001454028 00000 n 
+0001454146 00000 n 
+0001454264 00000 n 
+0001454387 00000 n 
+0001454505 00000 n 
+0001454564 00000 n 
+0001454623 00000 n 
+0001454682 00000 n 
+0001454741 00000 n 
+0001454800 00000 n 
+0001454859 00000 n 
+0001457432 00000 n 
+0001457646 00000 n 
+0001457875 00000 n 
+0001458080 00000 n 
+0001458309 00000 n 
+0001458514 00000 n 
+0001458718 00000 n 
+0001458946 00000 n 
+0001459131 00000 n 
+0001459335 00000 n 
+0001459564 00000 n 
+0001459750 00000 n 
+0001459954 00000 n 
+0001460183 00000 n 
+0001460377 00000 n 
+0001460582 00000 n 
+0001460811 00000 n 
+0001461005 00000 n 
+0001461234 00000 n 
+0001461428 00000 n 
+0001461633 00000 n 
+0001465799 00000 n 
+0001465994 00000 n 
+0001466224 00000 n 
+0001466420 00000 n 
+0001466624 00000 n 
+0001461861 00000 n 
+0001462908 00000 n 
+0001457099 00000 n 
+0001455109 00000 n 
+0001462026 00000 n 
+0001462084 00000 n 
+0001462142 00000 n 
+0001462260 00000 n 
+0001462436 00000 n 
+0001462495 00000 n 
+0001462554 00000 n 
+0001462613 00000 n 
+0001462672 00000 n 
+0001462731 00000 n 
+0001462790 00000 n 
+0001462849 00000 n 
+0001491229 00000 n 
+0001494548 00000 n 
+0001466854 00000 n 
+0001467084 00000 n 
+0001467289 00000 n 
+0001467493 00000 n 
+0001467723 00000 n 
+0001467952 00000 n 
+0001468147 00000 n 
+0001468376 00000 n 
+0001468604 00000 n 
+0001468834 00000 n 
+0001469022 00000 n 
+0001469251 00000 n 
+0001469437 00000 n 
+0001469629 00000 n 
+0001469859 00000 n 
+0001470047 00000 n 
+0001470277 00000 n 
+0001470473 00000 n 
+0001470703 00000 n 
+0001470898 00000 n 
+0001471091 00000 n 
+0001471321 00000 n 
+0001471535 00000 n 
+0001471765 00000 n 
+0001471980 00000 n 
+0001472195 00000 n 
+0001472409 00000 n 
+0001472639 00000 n 
+0001472854 00000 n 
+0001473084 00000 n 
+0001473314 00000 n 
+0001473544 00000 n 
+0001473774 00000 n 
+0001474004 00000 n 
+0001474234 00000 n 
+0001474438 00000 n 
+0001474668 00000 n 
+0001474870 00000 n 
+0001478673 00000 n 
+0001478876 00000 n 
+0001479105 00000 n 
+0001479309 00000 n 
+0001475098 00000 n 
+0001476382 00000 n 
+0001465268 00000 n 
+0001463159 00000 n 
+0001475263 00000 n 
+0001475321 00000 n 
+0001475380 00000 n 
+0001475439 00000 n 
+0001475498 00000 n 
+0001475557 00000 n 
+0001475616 00000 n 
+0001475675 00000 n 
+0001475734 00000 n 
+0001475793 00000 n 
+0001475852 00000 n 
+0001475911 00000 n 
+0001475970 00000 n 
+0001476029 00000 n 
+0001476088 00000 n 
+0001476147 00000 n 
+0001476206 00000 n 
+0001476265 00000 n 
+0001476324 00000 n 
+0001494725 00000 n 
+0001494843 00000 n 
+0001494966 00000 n 
+0001495148 00000 n 
+0001479539 00000 n 
+0001479769 00000 n 
+0001479965 00000 n 
+0001480195 00000 n 
+0001480400 00000 n 
+0001480630 00000 n 
+0001480815 00000 n 
+0001481044 00000 n 
+0001481230 00000 n 
+0001481416 00000 n 
+0001481646 00000 n 
+0001481851 00000 n 
+0001482056 00000 n 
+0001482286 00000 n 
+0001482482 00000 n 
+0001482712 00000 n 
+0001482942 00000 n 
+0001483137 00000 n 
+0001483366 00000 n 
+0001483588 00000 n 
+0001483817 00000 n 
+0001484009 00000 n 
+0001484238 00000 n 
+0001484433 00000 n 
+0001484629 00000 n 
+0001484859 00000 n 
+0001485055 00000 n 
+0001485284 00000 n 
+0001485479 00000 n 
+0001485674 00000 n 
+0001485901 00000 n 
+0001486094 00000 n 
+0001490045 00000 n 
+0001490240 00000 n 
+0001486287 00000 n 
+0001487218 00000 n 
+0001478205 00000 n 
+0001476565 00000 n 
+0001486452 00000 n 
+0001486510 00000 n 
+0001486569 00000 n 
+0001486628 00000 n 
+0001486687 00000 n 
+0001486746 00000 n 
+0001486805 00000 n 
+0001486864 00000 n 
+0001486923 00000 n 
+0001486982 00000 n 
+0001487041 00000 n 
+0001487100 00000 n 
+0001487159 00000 n 
+0001495266 00000 n 
+0001498981 00000 n 
+0001499162 00000 n 
+0001499344 00000 n 
+0001499462 00000 n 
+0001499580 00000 n 
+0001490428 00000 n 
+0001490658 00000 n 
+0001490888 00000 n 
+0001491405 00000 n 
+0001489865 00000 n 
+0001487413 00000 n 
+0001491053 00000 n 
+0001491111 00000 n 
+0001491170 00000 n 
+0001491288 00000 n 
+0001491347 00000 n 
+0004861277 00000 n 
+0001494130 00000 n 
+0001494325 00000 n 
+0001495387 00000 n 
+0001493977 00000 n 
+0001491623 00000 n 
+0001494490 00000 n 
+0001494607 00000 n 
+0001494666 00000 n 
+0001494784 00000 n 
+0001494907 00000 n 
+0001495030 00000 n 
+0001495089 00000 n 
+0001495207 00000 n 
+0001495329 00000 n 
+0001502971 00000 n 
+0001498699 00000 n 
+0001499879 00000 n 
+0001498555 00000 n 
+0001495568 00000 n 
+0001498864 00000 n 
+0001498922 00000 n 
+0001499044 00000 n 
+0001499103 00000 n 
+0001499226 00000 n 
+0001499285 00000 n 
+0001499403 00000 n 
+0001499521 00000 n 
+0001499644 00000 n 
+0001499703 00000 n 
+0001503204 00000 n 
+0001503438 00000 n 
+0001503671 00000 n 
+0001503876 00000 n 
+0001504630 00000 n 
+0001502791 00000 n 
+0001500136 00000 n 
+0001504041 00000 n 
+0001504099 00000 n 
+0001504158 00000 n 
+0001504217 00000 n 
+0001504276 00000 n 
+0001504335 00000 n 
+0001504394 00000 n 
+0001504453 00000 n 
+0001504512 00000 n 
+0001504571 00000 n 
+0001506939 00000 n 
+0001507177 00000 n 
+0001507382 00000 n 
+0001507620 00000 n 
+0001507858 00000 n 
+0001508063 00000 n 
+0001508267 00000 n 
+0001508505 00000 n 
+0001508708 00000 n 
+0001508946 00000 n 
+0001509144 00000 n 
+0001509349 00000 n 
+0001509588 00000 n 
+0001509793 00000 n 
+0001509996 00000 n 
+0001510234 00000 n 
+0001510437 00000 n 
+0001510641 00000 n 
+0001510880 00000 n 
+0001511077 00000 n 
+0001511281 00000 n 
+0001511520 00000 n 
+0001511724 00000 n 
+0001511962 00000 n 
+0001512166 00000 n 
+0001512404 00000 n 
+0001512608 00000 n 
+0001512847 00000 n 
+0001513085 00000 n 
+0001513289 00000 n 
+0001513528 00000 n 
+0001513766 00000 n 
+0001513971 00000 n 
+0001514210 00000 n 
+0001514415 00000 n 
+0001514932 00000 n 
+0001506489 00000 n 
+0001504824 00000 n 
+0001514580 00000 n 
+0001514755 00000 n 
+0001514814 00000 n 
+0001514873 00000 n 
+0001518373 00000 n 
+0001518491 00000 n 
+0001518670 00000 n 
+0001518852 00000 n 
+0001519034 00000 n 
+0001521662 00000 n 
+0001521839 00000 n 
+0001522020 00000 n 
+0001522202 00000 n 
+0001522324 00000 n 
+0001522447 00000 n 
+0001522570 00000 n 
+0001526982 00000 n 
+0001527105 00000 n 
+0001527280 00000 n 
+0001517271 00000 n 
+0001517476 00000 n 
+0001517681 00000 n 
+0001517886 00000 n 
+0001518091 00000 n 
+0001519274 00000 n 
+0001517091 00000 n 
+0001515152 00000 n 
+0001518256 00000 n 
+0001518314 00000 n 
+0001518432 00000 n 
+0001518555 00000 n 
+0001518612 00000 n 
+0001518734 00000 n 
+0001518793 00000 n 
+0001518916 00000 n 
+0001518975 00000 n 
+0001519098 00000 n 
+0001519157 00000 n 
+0001519216 00000 n 
+0001521439 00000 n 
+0001522690 00000 n 
+0001521295 00000 n 
+0001519467 00000 n 
+0001521604 00000 n 
+0001521721 00000 n 
+0001521780 00000 n 
+0001521902 00000 n 
+0001521961 00000 n 
+0001522084 00000 n 
+0001522143 00000 n 
+0001522266 00000 n 
+0001522388 00000 n 
+0001522511 00000 n 
+0001522632 00000 n 
+0004861403 00000 n 
+0001525302 00000 n 
+0001525556 00000 n 
+0001525810 00000 n 
+0001526065 00000 n 
+0001526320 00000 n 
+0001526505 00000 n 
+0001530811 00000 n 
+0001526759 00000 n 
+0001527690 00000 n 
+0001525104 00000 n 
+0001522896 00000 n 
+0001526924 00000 n 
+0001527046 00000 n 
+0001527164 00000 n 
+0001527221 00000 n 
+0001527339 00000 n 
+0001527398 00000 n 
+0001527572 00000 n 
+0001527631 00000 n 
+0001531466 00000 n 
+0001531584 00000 n 
+0001531707 00000 n 
+0001531830 00000 n 
+0001531066 00000 n 
+0001532188 00000 n 
+0001530658 00000 n 
+0001527939 00000 n 
+0001531231 00000 n 
+0001531289 00000 n 
+0001531348 00000 n 
+0001531407 00000 n 
+0001531525 00000 n 
+0001531648 00000 n 
+0001531771 00000 n 
+0001531894 00000 n 
+0001531953 00000 n 
+0001532012 00000 n 
+0001532071 00000 n 
+0001534598 00000 n 
+0001534844 00000 n 
+0001535059 00000 n 
+0001535307 00000 n 
+0001535520 00000 n 
+0001535769 00000 n 
+0001535984 00000 n 
+0001536198 00000 n 
+0001536447 00000 n 
+0001536661 00000 n 
+0001536875 00000 n 
+0001537124 00000 n 
+0001537338 00000 n 
+0001537586 00000 n 
+0001537835 00000 n 
+0001538020 00000 n 
+0001538269 00000 n 
+0001538516 00000 n 
+0001538730 00000 n 
+0001538979 00000 n 
+0001539194 00000 n 
+0001539443 00000 n 
+0001539658 00000 n 
+0001539873 00000 n 
+0001540122 00000 n 
+0001540337 00000 n 
+0001540552 00000 n 
+0001540766 00000 n 
+0001541522 00000 n 
+0001534211 00000 n 
+0001532411 00000 n 
+0001540931 00000 n 
+0001541047 00000 n 
+0001541106 00000 n 
+0001541165 00000 n 
+0001541224 00000 n 
+0001541283 00000 n 
+0001541341 00000 n 
+0001541400 00000 n 
+0001541459 00000 n 
+0001544395 00000 n 
+0001544572 00000 n 
+0001544754 00000 n 
+0001544877 00000 n 
+0001545000 00000 n 
+0001549254 00000 n 
+0001549431 00000 n 
+0001549667 00000 n 
+0001543995 00000 n 
+0001545123 00000 n 
+0001543851 00000 n 
+0001541742 00000 n 
+0001544160 00000 n 
+0001544218 00000 n 
+0001544277 00000 n 
+0001544336 00000 n 
+0001544454 00000 n 
+0001544513 00000 n 
+0001544636 00000 n 
+0001544695 00000 n 
+0001544818 00000 n 
+0001544941 00000 n 
+0001545064 00000 n 
+0001547403 00000 n 
+0001547651 00000 n 
+0001547899 00000 n 
+0001548112 00000 n 
+0001548360 00000 n 
+0001548572 00000 n 
+0001548819 00000 n 
+0001552625 00000 n 
+0001552813 00000 n 
+0001549031 00000 n 
+0001550255 00000 n 
+0001547196 00000 n 
+0001545329 00000 n 
+0001549196 00000 n 
+0001549313 00000 n 
+0001549372 00000 n 
+0001549490 00000 n 
+0001549549 00000 n 
+0001549608 00000 n 
+0001549726 00000 n 
+0001549785 00000 n 
+0001549960 00000 n 
+0001550019 00000 n 
+0001550078 00000 n 
+0001550137 00000 n 
+0001550196 00000 n 
+0001553062 00000 n 
+0001553250 00000 n 
+0001553499 00000 n 
+0001553713 00000 n 
+0001553962 00000 n 
+0001554176 00000 n 
+0001554424 00000 n 
+0001554672 00000 n 
+0001554887 00000 n 
+0001555136 00000 n 
+0001555351 00000 n 
+0001555565 00000 n 
+0001555955 00000 n 
+0001556197 00000 n 
+0001556404 00000 n 
+0001556612 00000 n 
+0001556855 00000 n 
+0001557062 00000 n 
+0001557303 00000 n 
+0001557511 00000 n 
+0001557753 00000 n 
+0001557959 00000 n 
+0001561733 00000 n 
+0001561941 00000 n 
+0001562184 00000 n 
+0001562392 00000 n 
+0001558200 00000 n 
+0001559305 00000 n 
+0001552256 00000 n 
+0001550449 00000 n 
+0001558365 00000 n 
+0001558423 00000 n 
+0001558482 00000 n 
+0001558541 00000 n 
+0001558600 00000 n 
+0001558659 00000 n 
+0001558718 00000 n 
+0001558777 00000 n 
+0001555761 00000 n 
+0001558952 00000 n 
+0001559011 00000 n 
+0001559070 00000 n 
+0001559129 00000 n 
+0001559188 00000 n 
+0001559247 00000 n 
+0004861529 00000 n 
+0001562635 00000 n 
+0001562842 00000 n 
+0001563084 00000 n 
+0001563292 00000 n 
+0001563535 00000 n 
+0001563722 00000 n 
+0001563965 00000 n 
+0001564151 00000 n 
+0001564392 00000 n 
+0001564634 00000 n 
+0001564843 00000 n 
+0001565086 00000 n 
+0001565295 00000 n 
+0001566458 00000 n 
+0001561445 00000 n 
+0001559513 00000 n 
+0001565460 00000 n 
+0001565518 00000 n 
+0001565577 00000 n 
+0001565636 00000 n 
+0001565695 00000 n 
+0001565754 00000 n 
+0001565813 00000 n 
+0001565871 00000 n 
+0001565930 00000 n 
+0001565989 00000 n 
+0001566048 00000 n 
+0001566107 00000 n 
+0001566166 00000 n 
+0001566225 00000 n 
+0001566284 00000 n 
+0001568999 00000 n 
+0001569252 00000 n 
+0001569505 00000 n 
+0001569723 00000 n 
+0001569976 00000 n 
+0001570195 00000 n 
+0001570449 00000 n 
+0001570668 00000 n 
+0001570861 00000 n 
+0001571115 00000 n 
+0001571308 00000 n 
+0001571562 00000 n 
+0001571781 00000 n 
+0001572035 00000 n 
+0001572253 00000 n 
+0001572505 00000 n 
+0001572758 00000 n 
+0001572978 00000 n 
+0001573232 00000 n 
+0001573452 00000 n 
+0001573670 00000 n 
+0001578001 00000 n 
+0001578237 00000 n 
+0001574071 00000 n 
+0001575118 00000 n 
+0001568657 00000 n 
+0001566681 00000 n 
+0001574236 00000 n 
+0001574294 00000 n 
+0001574353 00000 n 
+0001574412 00000 n 
+0001574471 00000 n 
+0001574530 00000 n 
+0001574588 00000 n 
+0001574647 00000 n 
+0001574706 00000 n 
+0001574765 00000 n 
+0001574824 00000 n 
+0001574883 00000 n 
+0001574942 00000 n 
+0001573871 00000 n 
+0001578507 00000 n 
+0001578778 00000 n 
+0001579048 00000 n 
+0001579319 00000 n 
+0001579503 00000 n 
+0001579772 00000 n 
+0001580043 00000 n 
+0001580279 00000 n 
+0001581343 00000 n 
+0001577776 00000 n 
+0001575339 00000 n 
+0001580444 00000 n 
+0001580502 00000 n 
+0001580561 00000 n 
+0001580620 00000 n 
+0001580679 00000 n 
+0001580738 00000 n 
+0001580797 00000 n 
+0001580856 00000 n 
+0001580920 00000 n 
+0001580979 00000 n 
+0001581043 00000 n 
+0001581102 00000 n 
+0001581166 00000 n 
+0001581225 00000 n 
+0001581284 00000 n 
+0001583593 00000 n 
+0001587907 00000 n 
+0001587975 00000 n 
+0001588179 00000 n 
+0001588418 00000 n 
+0001588667 00000 n 
+0001588871 00000 n 
+0001589075 00000 n 
+0001589313 00000 n 
+0001589560 00000 n 
+0001589764 00000 n 
+0001589964 00000 n 
+0001590202 00000 n 
+0001590450 00000 n 
+0001590654 00000 n 
+0001590857 00000 n 
+0001591095 00000 n 
+0001591343 00000 n 
+0001594905 00000 n 
+0001595109 00000 n 
+0001595348 00000 n 
+0001591545 00000 n 
+0001592237 00000 n 
+0001583289 00000 n 
+0001581554 00000 n 
+0001591710 00000 n 
+0001591768 00000 n 
+0001591942 00000 n 
+0001592001 00000 n 
+0001592060 00000 n 
+0001592119 00000 n 
+0001592178 00000 n 
+0001584539 00000 n 
+0001584670 00000 n 
+0001584820 00000 n 
+0001585144 00000 n 
+0001585581 00000 n 
+0001585819 00000 n 
+0001585841 00000 n 
+0001587884 00000 n 
+0001870355 00000 n 
+0001595597 00000 n 
+0001595802 00000 n 
+0001596050 00000 n 
+0001596289 00000 n 
+0001596528 00000 n 
+0001596767 00000 n 
+0001597015 00000 n 
+0001597229 00000 n 
+0001597478 00000 n 
+0001597717 00000 n 
+0001597956 00000 n 
+0001598205 00000 n 
+0001598453 00000 n 
+0001598702 00000 n 
+0001598917 00000 n 
+0001599345 00000 n 
+0001599594 00000 n 
+0001599809 00000 n 
+0001600237 00000 n 
+0001601047 00000 n 
+0001594554 00000 n 
+0001592458 00000 n 
+0001600402 00000 n 
+0001600460 00000 n 
+0001600519 00000 n 
+0001600578 00000 n 
+0001600637 00000 n 
+0001600695 00000 n 
+0001600754 00000 n 
+0001600813 00000 n 
+0001599131 00000 n 
+0001600023 00000 n 
+0001600872 00000 n 
+0001600930 00000 n 
+0001600988 00000 n 
+0001870414 00000 n 
+0001604791 00000 n 
+0001605027 00000 n 
+0001604270 00000 n 
+0001604509 00000 n 
+0001605261 00000 n 
+0001604117 00000 n 
+0001601269 00000 n 
+0001604674 00000 n 
+0001604732 00000 n 
+0001604850 00000 n 
+0001604909 00000 n 
+0001604968 00000 n 
+0001605086 00000 n 
+0001605145 00000 n 
+0004861655 00000 n 
+0001607868 00000 n 
+0001608090 00000 n 
+0001608345 00000 n 
+0001608599 00000 n 
+0001608853 00000 n 
+0001609047 00000 n 
+0001609268 00000 n 
+0001609489 00000 n 
+0001609693 00000 n 
+0001609915 00000 n 
+0001610136 00000 n 
+0001610323 00000 n 
+0001610544 00000 n 
+0001610731 00000 n 
+0001610936 00000 n 
+0001611157 00000 n 
+0001611344 00000 n 
+0001611549 00000 n 
+0001611770 00000 n 
+0001611957 00000 n 
+0001612162 00000 n 
+0001612367 00000 n 
+0001612588 00000 n 
+0001612776 00000 n 
+0001612980 00000 n 
+0001613201 00000 n 
+0001613422 00000 n 
+0001613625 00000 n 
+0001613846 00000 n 
+0001614067 00000 n 
+0001614271 00000 n 
+0001614458 00000 n 
+0001614680 00000 n 
+0001614866 00000 n 
+0001615070 00000 n 
+0001615292 00000 n 
+0001615514 00000 n 
+0001615719 00000 n 
+0001615939 00000 n 
+0001616124 00000 n 
+0001616309 00000 n 
+0001616531 00000 n 
+0001616723 00000 n 
+0001616945 00000 n 
+0001617130 00000 n 
+0001617350 00000 n 
+0001617536 00000 n 
+0001617741 00000 n 
+0001617962 00000 n 
+0001618184 00000 n 
+0001622070 00000 n 
+0001618404 00000 n 
+0001619509 00000 n 
+0001607274 00000 n 
+0001605467 00000 n 
+0001618569 00000 n 
+0001618685 00000 n 
+0001618744 00000 n 
+0001618803 00000 n 
+0001618862 00000 n 
+0001618921 00000 n 
+0001618980 00000 n 
+0001619039 00000 n 
+0001619098 00000 n 
+0001619156 00000 n 
+0001619215 00000 n 
+0001619274 00000 n 
+0001619333 00000 n 
+0001619392 00000 n 
+0001619451 00000 n 
+0001680819 00000 n 
+0001680937 00000 n 
+0001681001 00000 n 
+0001681065 00000 n 
+0001680642 00000 n 
+0001701490 00000 n 
+0001681188 00000 n 
+0001685101 00000 n 
+0001685218 00000 n 
+0001685454 00000 n 
+0001685572 00000 n 
+0001685695 00000 n 
+0001622292 00000 n 
+0001622514 00000 n 
+0001622736 00000 n 
+0001622958 00000 n 
+0001623144 00000 n 
+0001623366 00000 n 
+0001623570 00000 n 
+0001623792 00000 n 
+0001623996 00000 n 
+0001624218 00000 n 
+0001624439 00000 n 
+0001624661 00000 n 
+0001624881 00000 n 
+0001625067 00000 n 
+0001625289 00000 n 
+0001625477 00000 n 
+0001625699 00000 n 
+0001625921 00000 n 
+0001626143 00000 n 
+0001626365 00000 n 
+0001626587 00000 n 
+0001626809 00000 n 
+0001627030 00000 n 
+0001627217 00000 n 
+0001627439 00000 n 
+0001627660 00000 n 
+0001627865 00000 n 
+0001628087 00000 n 
+0001628275 00000 n 
+0001628497 00000 n 
+0001628717 00000 n 
+0001628903 00000 n 
+0001632723 00000 n 
+0001632910 00000 n 
+0001629123 00000 n 
+0001630343 00000 n 
+0001621629 00000 n 
+0001619745 00000 n 
+0001629288 00000 n 
+0001629346 00000 n 
+0001629405 00000 n 
+0001629464 00000 n 
+0001629523 00000 n 
+0001629582 00000 n 
+0001629639 00000 n 
+0001629698 00000 n 
+0001629757 00000 n 
+0001629816 00000 n 
+0001629875 00000 n 
+0001629934 00000 n 
+0001629992 00000 n 
+0001630051 00000 n 
+0001630109 00000 n 
+0001630167 00000 n 
+0001630226 00000 n 
+0001630285 00000 n 
+0001685817 00000 n 
+0001685999 00000 n 
+0001689554 00000 n 
+0001689672 00000 n 
+0001689788 00000 n 
+0001689911 00000 n 
+0001633129 00000 n 
+0001633317 00000 n 
+0001633539 00000 n 
+0001633727 00000 n 
+0001633949 00000 n 
+0001634154 00000 n 
+0001634376 00000 n 
+0001634615 00000 n 
+0001634802 00000 n 
+0001635024 00000 n 
+0001635220 00000 n 
+0001635416 00000 n 
+0001635603 00000 n 
+0001635825 00000 n 
+0001636011 00000 n 
+0001636197 00000 n 
+0001636384 00000 n 
+0001636606 00000 n 
+0001636802 00000 n 
+0001636989 00000 n 
+0001637211 00000 n 
+0001637407 00000 n 
+0001637593 00000 n 
+0001637814 00000 n 
+0001638009 00000 n 
+0001638204 00000 n 
+0001638391 00000 n 
+0001638613 00000 n 
+0001638799 00000 n 
+0001638985 00000 n 
+0001639172 00000 n 
+0001639394 00000 n 
+0001639590 00000 n 
+0001639777 00000 n 
+0001639999 00000 n 
+0001640195 00000 n 
+0001640382 00000 n 
+0001640603 00000 n 
+0001640799 00000 n 
+0001640995 00000 n 
+0001641181 00000 n 
+0001641401 00000 n 
+0001641586 00000 n 
+0001641771 00000 n 
+0001641958 00000 n 
+0001642179 00000 n 
+0001642375 00000 n 
+0001642562 00000 n 
+0001642783 00000 n 
+0001642979 00000 n 
+0001643166 00000 n 
+0001643387 00000 n 
+0001643583 00000 n 
+0001643779 00000 n 
+0001643965 00000 n 
+0001644185 00000 n 
+0001644370 00000 n 
+0001644555 00000 n 
+0001644740 00000 n 
+0001644959 00000 n 
+0001648289 00000 n 
+0001648476 00000 n 
+0001648697 00000 n 
+0001648893 00000 n 
+0001649080 00000 n 
+0001649301 00000 n 
+0001649497 00000 n 
+0001645153 00000 n 
+0001645670 00000 n 
+0001632021 00000 n 
+0001630539 00000 n 
+0001645318 00000 n 
+0001645376 00000 n 
+0001645435 00000 n 
+0001645494 00000 n 
+0001645553 00000 n 
+0001645611 00000 n 
+0001690093 00000 n 
+0001690211 00000 n 
+0001690329 00000 n 
+0001690447 00000 n 
+0001692801 00000 n 
+0001692919 00000 n 
+0001693037 00000 n 
+0001693155 00000 n 
+0001693273 00000 n 
+0001693391 00000 n 
+0001693509 00000 n 
+0001693627 00000 n 
+0001693745 00000 n 
+0001693863 00000 n 
+0001693981 00000 n 
+0001649693 00000 n 
+0001649880 00000 n 
+0001650101 00000 n 
+0001650287 00000 n 
+0001650473 00000 n 
+0001650660 00000 n 
+0001650881 00000 n 
+0001651077 00000 n 
+0001651264 00000 n 
+0001651485 00000 n 
+0001651681 00000 n 
+0001651903 00000 n 
+0001652091 00000 n 
+0001652313 00000 n 
+0001652535 00000 n 
+0001652755 00000 n 
+0001652942 00000 n 
+0001653129 00000 n 
+0001653351 00000 n 
+0001653539 00000 n 
+0001653727 00000 n 
+0001653949 00000 n 
+0001654137 00000 n 
+0001654325 00000 n 
+0001654546 00000 n 
+0001654734 00000 n 
+0001654922 00000 n 
+0001655144 00000 n 
+0001655332 00000 n 
+0001655520 00000 n 
+0001655707 00000 n 
+0001655928 00000 n 
+0001656124 00000 n 
+0001656320 00000 n 
+0001656507 00000 n 
+0001656728 00000 n 
+0001656914 00000 n 
+0001657100 00000 n 
+0001657287 00000 n 
+0001657508 00000 n 
+0001657704 00000 n 
+0001657900 00000 n 
+0001658087 00000 n 
+0001658308 00000 n 
+0001658494 00000 n 
+0001658680 00000 n 
+0001658867 00000 n 
+0001659089 00000 n 
+0001659285 00000 n 
+0001659481 00000 n 
+0001659668 00000 n 
+0001659890 00000 n 
+0001660076 00000 n 
+0001660261 00000 n 
+0001660448 00000 n 
+0001660669 00000 n 
+0001660865 00000 n 
+0001661052 00000 n 
+0001661273 00000 n 
+0001661469 00000 n 
+0001661656 00000 n 
+0001661878 00000 n 
+0001662074 00000 n 
+0001662261 00000 n 
+0001662482 00000 n 
+0001662678 00000 n 
+0001662864 00000 n 
+0001663084 00000 n 
+0001663279 00000 n 
+0001663466 00000 n 
+0001663688 00000 n 
+0001663884 00000 n 
+0001664071 00000 n 
+0001664292 00000 n 
+0001664488 00000 n 
+0001664684 00000 n 
+0001664870 00000 n 
+0001665090 00000 n 
+0001665275 00000 n 
+0001665460 00000 n 
+0001665647 00000 n 
+0001665868 00000 n 
+0001666064 00000 n 
+0001666250 00000 n 
+0001666470 00000 n 
+0001666665 00000 n 
+0001666852 00000 n 
+0001667074 00000 n 
+0001667270 00000 n 
+0001667466 00000 n 
+0001667653 00000 n 
+0001667875 00000 n 
+0001668061 00000 n 
+0001668246 00000 n 
+0001668432 00000 n 
+0001668653 00000 n 
+0001668848 00000 n 
+0001669034 00000 n 
+0001669255 00000 n 
+0001669450 00000 n 
+0001669669 00000 n 
+0001669854 00000 n 
+0001673088 00000 n 
+0001670039 00000 n 
+0001670262 00000 n 
+0001647164 00000 n 
+0001645893 00000 n 
+0001670204 00000 n 
+0001694099 00000 n 
+0001696412 00000 n 
+0001696530 00000 n 
+0001696648 00000 n 
+0001696766 00000 n 
+0001696884 00000 n 
+0001697002 00000 n 
+0001697119 00000 n 
+0001697237 00000 n 
+0001697354 00000 n 
+0001697767 00000 n 
+0001700311 00000 n 
+0001700841 00000 n 
+0001701136 00000 n 
+0001673274 00000 n 
+0001673496 00000 n 
+0001673718 00000 n 
+0001673940 00000 n 
+0001674162 00000 n 
+0001674384 00000 n 
+0001674605 00000 n 
+0001674834 00000 n 
+0001675055 00000 n 
+0001675284 00000 n 
+0001675504 00000 n 
+0001675732 00000 n 
+0001675951 00000 n 
+0001676233 00000 n 
+0001672827 00000 n 
+0001670444 00000 n 
+0001676116 00000 n 
+0001676174 00000 n 
+0001679075 00000 n 
+0001679297 00000 n 
+0001679502 00000 n 
+0001679723 00000 n 
+0001679944 00000 n 
+0001680166 00000 n 
+0001684316 00000 n 
+0001680360 00000 n 
+0001681306 00000 n 
+0001678877 00000 n 
+0001676474 00000 n 
+0001680525 00000 n 
+0001680583 00000 n 
+0001680701 00000 n 
+0001680760 00000 n 
+0001680878 00000 n 
+0001681129 00000 n 
+0001681247 00000 n 
+0004861781 00000 n 
+0001684504 00000 n 
+0001684692 00000 n 
+0001684878 00000 n 
+0001686057 00000 n 
+0001684145 00000 n 
+0001681514 00000 n 
+0001685043 00000 n 
+0001685160 00000 n 
+0001685277 00000 n 
+0001685336 00000 n 
+0001685395 00000 n 
+0001685513 00000 n 
+0001685636 00000 n 
+0001685758 00000 n 
+0001685881 00000 n 
+0001685940 00000 n 
+0001688854 00000 n 
+0001689076 00000 n 
+0001689272 00000 n 
+0001690505 00000 n 
+0001688692 00000 n 
+0001686238 00000 n 
+0001689437 00000 n 
+0001689495 00000 n 
+0001689613 00000 n 
+0001689731 00000 n 
+0001689852 00000 n 
+0001689975 00000 n 
+0001690034 00000 n 
+0001690152 00000 n 
+0001690270 00000 n 
+0001690388 00000 n 
+0001692519 00000 n 
+0001694215 00000 n 
+0001692375 00000 n 
+0001690748 00000 n 
+0001692684 00000 n 
+0001692742 00000 n 
+0001692860 00000 n 
+0001692978 00000 n 
+0001693096 00000 n 
+0001693214 00000 n 
+0001693332 00000 n 
+0001693450 00000 n 
+0001693568 00000 n 
+0001693686 00000 n 
+0001693804 00000 n 
+0001693922 00000 n 
+0001694040 00000 n 
+0001694157 00000 n 
+0001696189 00000 n 
+0001697944 00000 n 
+0001696045 00000 n 
+0001694383 00000 n 
+0001696354 00000 n 
+0001696471 00000 n 
+0001696589 00000 n 
+0001696707 00000 n 
+0001696825 00000 n 
+0001696943 00000 n 
+0001697060 00000 n 
+0001697178 00000 n 
+0001697295 00000 n 
+0001697413 00000 n 
+0001697472 00000 n 
+0001697531 00000 n 
+0001697590 00000 n 
+0001697649 00000 n 
+0001697708 00000 n 
+0001697826 00000 n 
+0001697885 00000 n 
+0001700088 00000 n 
+0001701608 00000 n 
+0001699944 00000 n 
+0001698112 00000 n 
+0001700253 00000 n 
+0001700370 00000 n 
+0001700429 00000 n 
+0001700488 00000 n 
+0001700547 00000 n 
+0001700606 00000 n 
+0001700664 00000 n 
+0001700723 00000 n 
+0001700782 00000 n 
+0001700900 00000 n 
+0001700959 00000 n 
+0001701018 00000 n 
+0001701077 00000 n 
+0001701195 00000 n 
+0001701254 00000 n 
+0001701313 00000 n 
+0001701372 00000 n 
+0001701431 00000 n 
+0001701549 00000 n 
+0001704058 00000 n 
+0001704286 00000 n 
+0001704490 00000 n 
+0001704719 00000 n 
+0001704907 00000 n 
+0001705112 00000 n 
+0001705341 00000 n 
+0001705537 00000 n 
+0001705742 00000 n 
+0001705971 00000 n 
+0001706167 00000 n 
+0001706395 00000 n 
+0001706590 00000 n 
+0001706794 00000 n 
+0001707023 00000 n 
+0001707218 00000 n 
+0001707448 00000 n 
+0001707644 00000 n 
+0001707848 00000 n 
+0001708078 00000 n 
+0001708307 00000 n 
+0001708511 00000 n 
+0001708715 00000 n 
+0001708945 00000 n 
+0001709175 00000 n 
+0001709380 00000 n 
+0001709610 00000 n 
+0001709840 00000 n 
+0001710070 00000 n 
+0001710258 00000 n 
+0001710487 00000 n 
+0001714409 00000 n 
+0001714621 00000 n 
+0001710715 00000 n 
+0001711997 00000 n 
+0001703635 00000 n 
+0001701776 00000 n 
+0001710880 00000 n 
+0001711055 00000 n 
+0001711114 00000 n 
+0001711173 00000 n 
+0001711232 00000 n 
+0001711291 00000 n 
+0001711350 00000 n 
+0001711409 00000 n 
+0001711467 00000 n 
+0001711526 00000 n 
+0001711585 00000 n 
+0001711644 00000 n 
+0001711703 00000 n 
+0001711762 00000 n 
+0001711821 00000 n 
+0001711880 00000 n 
+0001711939 00000 n 
+0004861907 00000 n 
+0001726241 00000 n 
+0001714851 00000 n 
+0001715063 00000 n 
+0001715293 00000 n 
+0001715523 00000 n 
+0001715753 00000 n 
+0001715983 00000 n 
+0001716213 00000 n 
+0001716443 00000 n 
+0001716671 00000 n 
+0001716875 00000 n 
+0001717105 00000 n 
+0001717309 00000 n 
+0001717539 00000 n 
+0001717769 00000 n 
+0001717965 00000 n 
+0001718169 00000 n 
+0001718398 00000 n 
+0001718594 00000 n 
+0001718824 00000 n 
+0001719054 00000 n 
+0001719249 00000 n 
+0001719478 00000 n 
+0001719700 00000 n 
+0001719930 00000 n 
+0001720126 00000 n 
+0001720355 00000 n 
+0001720550 00000 n 
+0001720745 00000 n 
+0001720972 00000 n 
+0001721165 00000 n 
+0001725059 00000 n 
+0001725254 00000 n 
+0001721358 00000 n 
+0001722524 00000 n 
+0001713977 00000 n 
+0001712205 00000 n 
+0001721523 00000 n 
+0001721581 00000 n 
+0001721640 00000 n 
+0001721699 00000 n 
+0001721758 00000 n 
+0001721817 00000 n 
+0001721876 00000 n 
+0001721935 00000 n 
+0001721994 00000 n 
+0001722053 00000 n 
+0001722112 00000 n 
+0001722171 00000 n 
+0001722230 00000 n 
+0001722289 00000 n 
+0001722348 00000 n 
+0001722407 00000 n 
+0001722465 00000 n 
+0001733297 00000 n 
+0001733415 00000 n 
+0001725440 00000 n 
+0001725670 00000 n 
+0001725900 00000 n 
+0001726359 00000 n 
+0001724879 00000 n 
+0001722733 00000 n 
+0001726065 00000 n 
+0001726123 00000 n 
+0001726182 00000 n 
+0001726300 00000 n 
+0001728692 00000 n 
+0001728937 00000 n 
+0001729183 00000 n 
+0001729395 00000 n 
+0001729640 00000 n 
+0001729852 00000 n 
+0001730099 00000 n 
+0001730312 00000 n 
+0001730500 00000 n 
+0001730747 00000 n 
+0001730935 00000 n 
+0001731182 00000 n 
+0001731394 00000 n 
+0001731641 00000 n 
+0001731853 00000 n 
+0001732100 00000 n 
+0001732345 00000 n 
+0001732557 00000 n 
+0001732803 00000 n 
+0001736845 00000 n 
+0001733015 00000 n 
+0001734361 00000 n 
+0001728377 00000 n 
+0001726564 00000 n 
+0001733180 00000 n 
+0001733238 00000 n 
+0001733356 00000 n 
+0001733478 00000 n 
+0001733537 00000 n 
+0001733713 00000 n 
+0001733772 00000 n 
+0001733831 00000 n 
+0001733890 00000 n 
+0001733949 00000 n 
+0001734008 00000 n 
+0001734067 00000 n 
+0001734126 00000 n 
+0001734185 00000 n 
+0001734243 00000 n 
+0001734302 00000 n 
+0001737040 00000 n 
+0001737273 00000 n 
+0001737506 00000 n 
+0001737739 00000 n 
+0001741835 00000 n 
+0001742016 00000 n 
+0001737944 00000 n 
+0001738814 00000 n 
+0001736656 00000 n 
+0001734584 00000 n 
+0001738109 00000 n 
+0001738167 00000 n 
+0001738343 00000 n 
+0001738402 00000 n 
+0001738461 00000 n 
+0001738519 00000 n 
+0001738578 00000 n 
+0001738637 00000 n 
+0001738696 00000 n 
+0001738755 00000 n 
+0001742203 00000 n 
+0001742357 00000 n 
+0001742579 00000 n 
+0001742802 00000 n 
+0001742998 00000 n 
+0001743221 00000 n 
+0001743417 00000 n 
+0001743640 00000 n 
+0001743829 00000 n 
+0001744051 00000 n 
+0001744271 00000 n 
+0001744458 00000 n 
+0001744679 00000 n 
+0001744868 00000 n 
+0001745089 00000 n 
+0001745278 00000 n 
+0001745499 00000 n 
+0001745687 00000 n 
+0001745859 00000 n 
+0001746080 00000 n 
+0001746269 00000 n 
+0001746492 00000 n 
+0001746681 00000 n 
+0001746900 00000 n 
+0001747087 00000 n 
+0001748310 00000 n 
+0001741457 00000 n 
+0001739022 00000 n 
+0001747252 00000 n 
+0001747310 00000 n 
+0001747486 00000 n 
+0001747545 00000 n 
+0001747604 00000 n 
+0001747663 00000 n 
+0001747722 00000 n 
+0001747780 00000 n 
+0001747839 00000 n 
+0001747898 00000 n 
+0001747957 00000 n 
+0001748016 00000 n 
+0001748075 00000 n 
+0001748134 00000 n 
+0001748193 00000 n 
+0001748252 00000 n 
+0001750755 00000 n 
+0001750978 00000 n 
+0001751167 00000 n 
+0001751356 00000 n 
+0001751577 00000 n 
+0001751765 00000 n 
+0001751953 00000 n 
+0001752176 00000 n 
+0001752365 00000 n 
+0001752554 00000 n 
+0001752775 00000 n 
+0001752962 00000 n 
+0001753185 00000 n 
+0001753374 00000 n 
+0001753596 00000 n 
+0001753785 00000 n 
+0001753974 00000 n 
+0001754197 00000 n 
+0001754386 00000 n 
+0001754575 00000 n 
+0001754798 00000 n 
+0001754987 00000 n 
+0001755176 00000 n 
+0001755398 00000 n 
+0001755621 00000 n 
+0001755842 00000 n 
+0001756065 00000 n 
+0001756254 00000 n 
+0001756476 00000 n 
+0001756664 00000 n 
+0001756868 00000 n 
+0001757091 00000 n 
+0001757295 00000 n 
+0001757518 00000 n 
+0001757741 00000 n 
+0001761633 00000 n 
+0001761787 00000 n 
+0001757961 00000 n 
+0001758892 00000 n 
+0001750296 00000 n 
+0001748532 00000 n 
+0001758126 00000 n 
+0001758184 00000 n 
+0001758243 00000 n 
+0001758302 00000 n 
+0001758361 00000 n 
+0001758420 00000 n 
+0001758479 00000 n 
+0001758538 00000 n 
+0001758597 00000 n 
+0001758656 00000 n 
+0001758715 00000 n 
+0001758774 00000 n 
+0001758833 00000 n 
+0004862033 00000 n 
+0001762519 00000 n 
+0001762637 00000 n 
+0001762755 00000 n 
+0001762342 00000 n 
+0001765156 00000 n 
+0001769592 00000 n 
+0001761942 00000 n 
+0001763167 00000 n 
+0001761471 00000 n 
+0001759102 00000 n 
+0001762107 00000 n 
+0001762165 00000 n 
+0001762224 00000 n 
+0001762283 00000 n 
+0001762401 00000 n 
+0001762460 00000 n 
+0001762578 00000 n 
+0001762696 00000 n 
+0001762814 00000 n 
+0001762873 00000 n 
+0001762932 00000 n 
+0001762991 00000 n 
+0001769660 00000 n 
+0001769863 00000 n 
+0001770102 00000 n 
+0001770353 00000 n 
+0001770556 00000 n 
+0001770760 00000 n 
+0001770999 00000 n 
+0001771249 00000 n 
+0001771453 00000 n 
+0001771657 00000 n 
+0001771896 00000 n 
+0001772147 00000 n 
+0001772352 00000 n 
+0001772556 00000 n 
+0001772795 00000 n 
+0001773046 00000 n 
+0001773251 00000 n 
+0001773455 00000 n 
+0001773694 00000 n 
+0001773945 00000 n 
+0001774150 00000 n 
+0001774400 00000 n 
+0001774639 00000 n 
+0001774878 00000 n 
+0001775117 00000 n 
+0001775367 00000 n 
+0001779283 00000 n 
+0001779534 00000 n 
+0001779739 00000 n 
+0001775583 00000 n 
+0001776277 00000 n 
+0001764762 00000 n 
+0001763362 00000 n 
+0001775748 00000 n 
+0001775806 00000 n 
+0001775865 00000 n 
+0001775924 00000 n 
+0001775982 00000 n 
+0001776041 00000 n 
+0001776100 00000 n 
+0001776159 00000 n 
+0001776218 00000 n 
+0001766110 00000 n 
+0001766241 00000 n 
+0001766391 00000 n 
+0001766723 00000 n 
+0001767171 00000 n 
+0001767409 00000 n 
+0001767431 00000 n 
+0001769569 00000 n 
+0001787956 00000 n 
+0001779942 00000 n 
+0001780192 00000 n 
+0001780443 00000 n 
+0001780660 00000 n 
+0001781093 00000 n 
+0001781344 00000 n 
+0001781561 00000 n 
+0001781994 00000 n 
+0001782570 00000 n 
+0001779031 00000 n 
+0001776500 00000 n 
+0001782159 00000 n 
+0001782217 00000 n 
+0001782276 00000 n 
+0001782334 00000 n 
+0001780877 00000 n 
+0001781778 00000 n 
+0001782393 00000 n 
+0001782452 00000 n 
+0001782511 00000 n 
+0001788192 00000 n 
+0001786483 00000 n 
+0001786959 00000 n 
+0001787435 00000 n 
+0001787674 00000 n 
+0001788427 00000 n 
+0001786294 00000 n 
+0001782867 00000 n 
+0001787839 00000 n 
+0001786722 00000 n 
+0001787197 00000 n 
+0001787897 00000 n 
+0001788015 00000 n 
+0001788074 00000 n 
+0001788133 00000 n 
+0001788251 00000 n 
+0001788310 00000 n 
+0001790489 00000 n 
+0001794768 00000 n 
+0001794836 00000 n 
+0001795040 00000 n 
+0001795279 00000 n 
+0001795528 00000 n 
+0001795731 00000 n 
+0001795935 00000 n 
+0001796174 00000 n 
+0001796422 00000 n 
+0001796626 00000 n 
+0001796830 00000 n 
+0001797069 00000 n 
+0001797318 00000 n 
+0001797523 00000 n 
+0001797727 00000 n 
+0001797966 00000 n 
+0001798215 00000 n 
+0001798420 00000 n 
+0001798624 00000 n 
+0001798862 00000 n 
+0001799110 00000 n 
+0001802689 00000 n 
+0001802937 00000 n 
+0001803176 00000 n 
+0001803415 00000 n 
+0001799312 00000 n 
+0001799947 00000 n 
+0001790149 00000 n 
+0001788712 00000 n 
+0001799477 00000 n 
+0001799593 00000 n 
+0001799652 00000 n 
+0001799711 00000 n 
+0001799770 00000 n 
+0001799829 00000 n 
+0001799888 00000 n 
+0001791435 00000 n 
+0001791566 00000 n 
+0001791716 00000 n 
+0001792040 00000 n 
+0001792476 00000 n 
+0001792714 00000 n 
+0001792736 00000 n 
+0001794745 00000 n 
+0001803653 00000 n 
+0001803902 00000 n 
+0001804117 00000 n 
+0001804366 00000 n 
+0001804570 00000 n 
+0001804775 00000 n 
+0001805023 00000 n 
+0001805271 00000 n 
+0001805486 00000 n 
+0001805915 00000 n 
+0001806163 00000 n 
+0001806378 00000 n 
+0001806807 00000 n 
+0001807502 00000 n 
+0001802383 00000 n 
+0001800155 00000 n 
+0001806972 00000 n 
+0001807030 00000 n 
+0001807089 00000 n 
+0001807148 00000 n 
+0001807207 00000 n 
+0001807266 00000 n 
+0001805701 00000 n 
+0001806593 00000 n 
+0001807325 00000 n 
+0001807384 00000 n 
+0001807443 00000 n 
+0004862159 00000 n 
+0001813581 00000 n 
+0001816502 00000 n 
+0001811632 00000 n 
+0001812109 00000 n 
+0001812586 00000 n 
+0001813062 00000 n 
+0001813299 00000 n 
+0001813758 00000 n 
+0001811425 00000 n 
+0001807724 00000 n 
+0001813464 00000 n 
+0001811871 00000 n 
+0001812348 00000 n 
+0001812825 00000 n 
+0001813522 00000 n 
+0001813640 00000 n 
+0001813699 00000 n 
+0001892456 00000 n 
+0001819020 00000 n 
+0001823811 00000 n 
+0001816220 00000 n 
+0001817031 00000 n 
+0001816076 00000 n 
+0001814056 00000 n 
+0001816385 00000 n 
+0001816443 00000 n 
+0001816561 00000 n 
+0001816620 00000 n 
+0001816796 00000 n 
+0001816855 00000 n 
+0001823879 00000 n 
+0001824141 00000 n 
+0001824404 00000 n 
+0001824634 00000 n 
+0001824864 00000 n 
+0001825127 00000 n 
+0001825357 00000 n 
+0001825621 00000 n 
+0001825850 00000 n 
+0001826079 00000 n 
+0001826343 00000 n 
+0001826606 00000 n 
+0001827418 00000 n 
+0001818761 00000 n 
+0001817213 00000 n 
+0001826771 00000 n 
+0001826829 00000 n 
+0001826888 00000 n 
+0001826947 00000 n 
+0001827006 00000 n 
+0001827065 00000 n 
+0001827124 00000 n 
+0001827183 00000 n 
+0001827242 00000 n 
+0001820282 00000 n 
+0001820413 00000 n 
+0001820563 00000 n 
+0001820895 00000 n 
+0001821339 00000 n 
+0001821577 00000 n 
+0001821599 00000 n 
+0001823788 00000 n 
+0001829447 00000 n 
+0001833855 00000 n 
+0001833923 00000 n 
+0001834146 00000 n 
+0001834393 00000 n 
+0001834616 00000 n 
+0001834863 00000 n 
+0001835109 00000 n 
+0001835354 00000 n 
+0001835601 00000 n 
+0001835848 00000 n 
+0001836094 00000 n 
+0001836340 00000 n 
+0001836587 00000 n 
+0001836833 00000 n 
+0001837080 00000 n 
+0001837327 00000 n 
+0001837572 00000 n 
+0001837819 00000 n 
+0001838063 00000 n 
+0001841616 00000 n 
+0001841862 00000 n 
+0001838308 00000 n 
+0001839238 00000 n 
+0001829125 00000 n 
+0001827643 00000 n 
+0001838473 00000 n 
+0001838531 00000 n 
+0001838590 00000 n 
+0001838649 00000 n 
+0001838708 00000 n 
+0001838767 00000 n 
+0001838826 00000 n 
+0001838885 00000 n 
+0001838944 00000 n 
+0001839003 00000 n 
+0001839062 00000 n 
+0001839121 00000 n 
+0001839180 00000 n 
+0001830326 00000 n 
+0001830457 00000 n 
+0001830607 00000 n 
+0001830939 00000 n 
+0001831384 00000 n 
+0001831622 00000 n 
+0001831644 00000 n 
+0001833832 00000 n 
+0001847432 00000 n 
+0001842109 00000 n 
+0001842355 00000 n 
+0001842602 00000 n 
+0001842848 00000 n 
+0001843095 00000 n 
+0001843339 00000 n 
+0001843595 00000 n 
+0001843850 00000 n 
+0001844079 00000 n 
+0001844300 00000 n 
+0001844556 00000 n 
+0001844785 00000 n 
+0001845041 00000 n 
+0001845297 00000 n 
+0001845518 00000 n 
+0001845774 00000 n 
+0001845996 00000 n 
+0001846253 00000 n 
+0001846475 00000 n 
+0001846732 00000 n 
+0001846953 00000 n 
+0001850579 00000 n 
+0001850835 00000 n 
+0001851058 00000 n 
+0001847209 00000 n 
+0001848550 00000 n 
+0001841265 00000 n 
+0001839447 00000 n 
+0001847374 00000 n 
+0001847491 00000 n 
+0001847550 00000 n 
+0001847609 00000 n 
+0001847667 00000 n 
+0001847726 00000 n 
+0001847785 00000 n 
+0001847961 00000 n 
+0001848020 00000 n 
+0001848079 00000 n 
+0001848138 00000 n 
+0001848196 00000 n 
+0001848255 00000 n 
+0001848314 00000 n 
+0001848373 00000 n 
+0001848432 00000 n 
+0001848491 00000 n 
+0001851281 00000 n 
+0001851538 00000 n 
+0001851761 00000 n 
+0001851984 00000 n 
+0001852968 00000 n 
+0001850381 00000 n 
+0001848772 00000 n 
+0001852149 00000 n 
+0001852207 00000 n 
+0001852266 00000 n 
+0001852325 00000 n 
+0001852384 00000 n 
+0001852443 00000 n 
+0001852618 00000 n 
+0001852793 00000 n 
+0001852852 00000 n 
+0004862285 00000 n 
+0001855585 00000 n 
+0001861515 00000 n 
+0001854210 00000 n 
+0001854491 00000 n 
+0001854066 00000 n 
+0001853164 00000 n 
+0001854375 00000 n 
+0001861583 00000 n 
+0001861771 00000 n 
+0001862008 00000 n 
+0001862349 00000 n 
+0001855407 00000 n 
+0001854658 00000 n 
+0001862173 00000 n 
+0001862231 00000 n 
+0001857584 00000 n 
+0001857715 00000 n 
+0001857865 00000 n 
+0001858221 00000 n 
+0001858696 00000 n 
+0001858934 00000 n 
+0001858956 00000 n 
+0001861492 00000 n 
+0001864982 00000 n 
+0001865163 00000 n 
+0001865401 00000 n 
+0001865605 00000 n 
+0001865842 00000 n 
+0001866080 00000 n 
+0001866318 00000 n 
+0001866557 00000 n 
+0001866796 00000 n 
+0001867035 00000 n 
+0001867273 00000 n 
+0001867750 00000 n 
+0001867989 00000 n 
+0001868226 00000 n 
+0001868462 00000 n 
+0001868701 00000 n 
+0001868940 00000 n 
+0001869179 00000 n 
+0001869418 00000 n 
+0001869657 00000 n 
+0001869896 00000 n 
+0001870132 00000 n 
+0001870826 00000 n 
+0001864640 00000 n 
+0001862517 00000 n 
+0001870297 00000 n 
+0001870473 00000 n 
+0001870532 00000 n 
+0001867512 00000 n 
+0001870591 00000 n 
+0001870649 00000 n 
+0001870708 00000 n 
+0001870767 00000 n 
+0001887414 00000 n 
+0001874096 00000 n 
+0001874276 00000 n 
+0001874772 00000 n 
+0001875281 00000 n 
+0001875781 00000 n 
+0001876266 00000 n 
+0001876515 00000 n 
+0001876761 00000 n 
+0001877005 00000 n 
+0001877500 00000 n 
+0001878008 00000 n 
+0001878507 00000 n 
+0001878991 00000 n 
+0001879240 00000 n 
+0001879486 00000 n 
+0001879729 00000 n 
+0001880424 00000 n 
+0001873745 00000 n 
+0001871020 00000 n 
+0001879894 00000 n 
+0001879952 00000 n 
+0001880070 00000 n 
+0001874525 00000 n 
+0001875027 00000 n 
+0001875532 00000 n 
+0001876024 00000 n 
+0001880188 00000 n 
+0001877254 00000 n 
+0001877754 00000 n 
+0001878259 00000 n 
+0001878749 00000 n 
+0001880247 00000 n 
+0001880365 00000 n 
+0002794110 00000 n 
+0003945716 00000 n 
+0004003210 00000 n 
+0002794169 00000 n 
+0003945776 00000 n 
+0004003269 00000 n 
+0001883903 00000 n 
+0001884400 00000 n 
+0001884897 00000 n 
+0001885405 00000 n 
+0001885906 00000 n 
+0001886392 00000 n 
+0001886641 00000 n 
+0001886888 00000 n 
+0001887132 00000 n 
+0001887768 00000 n 
+0001883642 00000 n 
+0001880592 00000 n 
+0001887297 00000 n 
+0001887355 00000 n 
+0001884152 00000 n 
+0001884649 00000 n 
+0001885151 00000 n 
+0001885656 00000 n 
+0001886150 00000 n 
+0001887473 00000 n 
+0001887532 00000 n 
+0001887650 00000 n 
+0001887709 00000 n 
+0003100735 00000 n 
+0002806441 00000 n 
+0003960506 00000 n 
+0004016036 00000 n 
+0001891811 00000 n 
+0001892031 00000 n 
+0001892233 00000 n 
+0001892988 00000 n 
+0001891649 00000 n 
+0001888001 00000 n 
+0001892398 00000 n 
+0001892520 00000 n 
+0001892579 00000 n 
+0001892638 00000 n 
+0001892755 00000 n 
+0001892930 00000 n 
+0004862411 00000 n 
+0001898646 00000 n 
+0001896582 00000 n 
+0001896804 00000 n 
+0001897007 00000 n 
+0001897227 00000 n 
+0001897423 00000 n 
+0001897644 00000 n 
+0001897844 00000 n 
+0001898048 00000 n 
+0001898246 00000 n 
+0001898882 00000 n 
+0001896366 00000 n 
+0001893285 00000 n 
+0001898411 00000 n 
+0001898469 00000 n 
+0001898528 00000 n 
+0001898587 00000 n 
+0001898705 00000 n 
+0001898764 00000 n 
+0001898823 00000 n 
+0001904512 00000 n 
+0001904630 00000 n 
+0001901783 00000 n 
+0001901994 00000 n 
+0001902215 00000 n 
+0001902469 00000 n 
+0001902723 00000 n 
+0001902977 00000 n 
+0001903230 00000 n 
+0001903425 00000 n 
+0001903646 00000 n 
+0001903865 00000 n 
+0001904069 00000 n 
+0001907551 00000 n 
+0001907771 00000 n 
+0001907957 00000 n 
+0001908177 00000 n 
+0001908363 00000 n 
+0001908568 00000 n 
+0001908787 00000 n 
+0001908972 00000 n 
+0001904289 00000 n 
+0001905042 00000 n 
+0001901540 00000 n 
+0001899078 00000 n 
+0001904454 00000 n 
+0001904571 00000 n 
+0001904689 00000 n 
+0001904865 00000 n 
+0001904924 00000 n 
+0001904983 00000 n 
+0002005336 00000 n 
+0002005454 00000 n 
+0002005518 00000 n 
+0002005582 00000 n 
+0002005646 00000 n 
+0002001430 00000 n 
+0002038039 00000 n 
+0001909176 00000 n 
+0001909396 00000 n 
+0001909582 00000 n 
+0001909787 00000 n 
+0001909992 00000 n 
+0001910212 00000 n 
+0001910398 00000 n 
+0001910619 00000 n 
+0001910806 00000 n 
+0001911010 00000 n 
+0001911231 00000 n 
+0001911452 00000 n 
+0001911657 00000 n 
+0001911861 00000 n 
+0001912082 00000 n 
+0001912303 00000 n 
+0001912508 00000 n 
+0001912728 00000 n 
+0001912914 00000 n 
+0001913100 00000 n 
+0001913320 00000 n 
+0001913511 00000 n 
+0001913732 00000 n 
+0001913917 00000 n 
+0001914136 00000 n 
+0001914322 00000 n 
+0001914527 00000 n 
+0001914747 00000 n 
+0001914968 00000 n 
+0001915189 00000 n 
+0001915410 00000 n 
+0001915630 00000 n 
+0001915851 00000 n 
+0001916070 00000 n 
+0001916254 00000 n 
+0001916475 00000 n 
+0001916679 00000 n 
+0001916900 00000 n 
+0001917102 00000 n 
+0001917321 00000 n 
+0001917542 00000 n 
+0001917729 00000 n 
+0001917950 00000 n 
+0001918137 00000 n 
+0001922188 00000 n 
+0001922405 00000 n 
+0001918356 00000 n 
+0001919520 00000 n 
+0001906939 00000 n 
+0001905223 00000 n 
+0001918521 00000 n 
+0001918579 00000 n 
+0001918638 00000 n 
+0001918697 00000 n 
+0001918756 00000 n 
+0001918814 00000 n 
+0001918873 00000 n 
+0001918931 00000 n 
+0001918990 00000 n 
+0001919049 00000 n 
+0001919108 00000 n 
+0001919167 00000 n 
+0001919226 00000 n 
+0001919285 00000 n 
+0001919344 00000 n 
+0001919403 00000 n 
+0001919462 00000 n 
+0002005769 00000 n 
+0002005887 00000 n 
+0002010775 00000 n 
+0002010892 00000 n 
+0002011015 00000 n 
+0002011193 00000 n 
+0002011316 00000 n 
+0002015271 00000 n 
+0002015448 00000 n 
+0002015566 00000 n 
+0001922626 00000 n 
+0001922847 00000 n 
+0001923066 00000 n 
+0001923286 00000 n 
+0001923506 00000 n 
+0001923692 00000 n 
+0001923913 00000 n 
+0001924133 00000 n 
+0001924319 00000 n 
+0001924539 00000 n 
+0001924734 00000 n 
+0001924938 00000 n 
+0001925158 00000 n 
+0001925345 00000 n 
+0001925566 00000 n 
+0001925762 00000 n 
+0001925967 00000 n 
+0001926186 00000 n 
+0001926373 00000 n 
+0001926594 00000 n 
+0001926790 00000 n 
+0001927020 00000 n 
+0001927232 00000 n 
+0001927437 00000 n 
+0001927658 00000 n 
+0001927845 00000 n 
+0001928066 00000 n 
+0001928271 00000 n 
+0001928458 00000 n 
+0001928679 00000 n 
+0001928875 00000 n 
+0001929080 00000 n 
+0001929266 00000 n 
+0001929486 00000 n 
+0001929681 00000 n 
+0001929909 00000 n 
+0001930121 00000 n 
+0001930326 00000 n 
+0001930547 00000 n 
+0001930734 00000 n 
+0001930955 00000 n 
+0001931160 00000 n 
+0001931347 00000 n 
+0001931568 00000 n 
+0001931764 00000 n 
+0001931969 00000 n 
+0001932174 00000 n 
+0001932395 00000 n 
+0001932582 00000 n 
+0001932803 00000 n 
+0001933024 00000 n 
+0001933211 00000 n 
+0001933432 00000 n 
+0001933618 00000 n 
+0001937845 00000 n 
+0001938050 00000 n 
+0001938271 00000 n 
+0001933838 00000 n 
+0001934942 00000 n 
+0001921540 00000 n 
+0001919715 00000 n 
+0001934003 00000 n 
+0001934061 00000 n 
+0001934120 00000 n 
+0001934179 00000 n 
+0001934237 00000 n 
+0001934296 00000 n 
+0001934355 00000 n 
+0001934414 00000 n 
+0001934473 00000 n 
+0001934530 00000 n 
+0001934589 00000 n 
+0001934648 00000 n 
+0001934707 00000 n 
+0001934766 00000 n 
+0001934824 00000 n 
+0001934883 00000 n 
+0002015689 00000 n 
+0002006069 00000 n 
+0002006246 00000 n 
+0002006422 00000 n 
+0002010598 00000 n 
+0001938510 00000 n 
+0001938731 00000 n 
+0001938918 00000 n 
+0001939139 00000 n 
+0001939325 00000 n 
+0001939512 00000 n 
+0001939698 00000 n 
+0001939918 00000 n 
+0001940114 00000 n 
+0001940319 00000 n 
+0001940539 00000 n 
+0001940760 00000 n 
+0001940945 00000 n 
+0001941164 00000 n 
+0001941357 00000 n 
+0001941561 00000 n 
+0001941780 00000 n 
+0001942001 00000 n 
+0001942187 00000 n 
+0001942407 00000 n 
+0001942603 00000 n 
+0001942833 00000 n 
+0001943045 00000 n 
+0001943250 00000 n 
+0001943470 00000 n 
+0001943912 00000 n 
+0001944098 00000 n 
+0001944319 00000 n 
+0001944523 00000 n 
+0001944742 00000 n 
+0001944927 00000 n 
+0001945147 00000 n 
+0001945342 00000 n 
+0001945546 00000 n 
+0001945766 00000 n 
+0001945951 00000 n 
+0001946171 00000 n 
+0001946366 00000 n 
+0001946595 00000 n 
+0001946807 00000 n 
+0001947012 00000 n 
+0001947232 00000 n 
+0001947674 00000 n 
+0001947860 00000 n 
+0001948080 00000 n 
+0001948285 00000 n 
+0001948506 00000 n 
+0001948692 00000 n 
+0001948912 00000 n 
+0001949108 00000 n 
+0001949311 00000 n 
+0001949532 00000 n 
+0001949748 00000 n 
+0001949929 00000 n 
+0001950112 00000 n 
+0001950332 00000 n 
+0001950518 00000 n 
+0001950704 00000 n 
+0001950925 00000 n 
+0001951118 00000 n 
+0001951304 00000 n 
+0001951491 00000 n 
+0001951696 00000 n 
+0001951917 00000 n 
+0001952110 00000 n 
+0001952296 00000 n 
+0001952483 00000 n 
+0001952688 00000 n 
+0001952907 00000 n 
+0001953098 00000 n 
+0001953282 00000 n 
+0001953467 00000 n 
+0001957036 00000 n 
+0001957256 00000 n 
+0001957449 00000 n 
+0001957635 00000 n 
+0001957822 00000 n 
+0001953670 00000 n 
+0001954246 00000 n 
+0001937008 00000 n 
+0001935165 00000 n 
+0001953835 00000 n 
+0001953893 00000 n 
+0001953952 00000 n 
+0001954010 00000 n 
+0001943691 00000 n 
+0001954069 00000 n 
+0001954128 00000 n 
+0001947453 00000 n 
+0001954187 00000 n 
+0002015869 00000 n 
+0002015985 00000 n 
+0002016103 00000 n 
+0002016220 00000 n 
+0002016336 00000 n 
+0002019712 00000 n 
+0002019830 00000 n 
+0002019948 00000 n 
+0002020066 00000 n 
+0002020184 00000 n 
+0002020302 00000 n 
+0001958027 00000 n 
+0001958248 00000 n 
+0001958441 00000 n 
+0001958626 00000 n 
+0001958812 00000 n 
+0001959016 00000 n 
+0001959236 00000 n 
+0001959429 00000 n 
+0001959615 00000 n 
+0001959802 00000 n 
+0001960007 00000 n 
+0001960227 00000 n 
+0001960419 00000 n 
+0001960791 00000 n 
+0001960978 00000 n 
+0001961183 00000 n 
+0001961404 00000 n 
+0001961597 00000 n 
+0001961970 00000 n 
+0001962157 00000 n 
+0001962362 00000 n 
+0001962582 00000 n 
+0001962774 00000 n 
+0001963146 00000 n 
+0001963333 00000 n 
+0001963538 00000 n 
+0001963759 00000 n 
+0001963980 00000 n 
+0001964165 00000 n 
+0001964385 00000 n 
+0001964580 00000 n 
+0001964784 00000 n 
+0001964970 00000 n 
+0001965191 00000 n 
+0001965387 00000 n 
+0001965592 00000 n 
+0001965778 00000 n 
+0001965999 00000 n 
+0001966195 00000 n 
+0001966400 00000 n 
+0001966586 00000 n 
+0001966807 00000 n 
+0001967011 00000 n 
+0001967197 00000 n 
+0001967418 00000 n 
+0001967614 00000 n 
+0001967819 00000 n 
+0001968005 00000 n 
+0001968226 00000 n 
+0001968422 00000 n 
+0001968831 00000 n 
+0001969017 00000 n 
+0001969237 00000 n 
+0001969442 00000 n 
+0001969628 00000 n 
+0001969848 00000 n 
+0001970044 00000 n 
+0001970247 00000 n 
+0001970467 00000 n 
+0001970652 00000 n 
+0001970839 00000 n 
+0001971060 00000 n 
+0001971247 00000 n 
+0001971434 00000 n 
+0001971655 00000 n 
+0001971848 00000 n 
+0001972034 00000 n 
+0001972221 00000 n 
+0001972425 00000 n 
+0001972646 00000 n 
+0001972839 00000 n 
+0001973023 00000 n 
+0001973208 00000 n 
+0001973411 00000 n 
+0001973630 00000 n 
+0001973821 00000 n 
+0001974005 00000 n 
+0001974190 00000 n 
+0001978125 00000 n 
+0001978345 00000 n 
+0001978538 00000 n 
+0001978724 00000 n 
+0001978911 00000 n 
+0001974393 00000 n 
+0001974616 00000 n 
+0001956109 00000 n 
+0001954441 00000 n 
+0001974558 00000 n 
+0001960605 00000 n 
+0001961784 00000 n 
+0001962960 00000 n 
+0001968627 00000 n 
+0004862537 00000 n 
+0002023138 00000 n 
+0002023314 00000 n 
+0002026098 00000 n 
+0002026216 00000 n 
+0002026334 00000 n 
+0002029476 00000 n 
+0002029594 00000 n 
+0002029711 00000 n 
+0002029829 00000 n 
+0002030065 00000 n 
+0002030419 00000 n 
+0002030537 00000 n 
+0002030655 00000 n 
+0001979115 00000 n 
+0001979333 00000 n 
+0001979524 00000 n 
+0001979709 00000 n 
+0001979895 00000 n 
+0001980099 00000 n 
+0001980319 00000 n 
+0001980512 00000 n 
+0001980698 00000 n 
+0001980885 00000 n 
+0001981090 00000 n 
+0001981311 00000 n 
+0001981504 00000 n 
+0001981877 00000 n 
+0001982064 00000 n 
+0001982269 00000 n 
+0001982490 00000 n 
+0001982683 00000 n 
+0001983056 00000 n 
+0001983243 00000 n 
+0001983448 00000 n 
+0001983669 00000 n 
+0001983862 00000 n 
+0001984234 00000 n 
+0001984420 00000 n 
+0001984624 00000 n 
+0001984845 00000 n 
+0001985031 00000 n 
+0001985218 00000 n 
+0001985403 00000 n 
+0001985566 00000 n 
+0001985847 00000 n 
+0001977639 00000 n 
+0001974825 00000 n 
+0001985731 00000 n 
+0001981691 00000 n 
+0001982870 00000 n 
+0001984049 00000 n 
+0001985789 00000 n 
+0002030773 00000 n 
+0002030891 00000 n 
+0002031009 00000 n 
+0002031127 00000 n 
+0002037685 00000 n 
+0002037803 00000 n 
+0001988677 00000 n 
+0001988898 00000 n 
+0001989119 00000 n 
+0001989340 00000 n 
+0001989561 00000 n 
+0001989782 00000 n 
+0001990003 00000 n 
+0001990224 00000 n 
+0001990445 00000 n 
+0001990666 00000 n 
+0001990886 00000 n 
+0001991105 00000 n 
+0001991323 00000 n 
+0001991543 00000 n 
+0001991763 00000 n 
+0001991983 00000 n 
+0001992203 00000 n 
+0001992424 00000 n 
+0001992645 00000 n 
+0001992866 00000 n 
+0001993087 00000 n 
+0001993308 00000 n 
+0001993529 00000 n 
+0001993748 00000 n 
+0001997664 00000 n 
+0001997885 00000 n 
+0001993966 00000 n 
+0001994189 00000 n 
+0001988317 00000 n 
+0001986141 00000 n 
+0001994131 00000 n 
+0001998105 00000 n 
+0001998325 00000 n 
+0001998545 00000 n 
+0001998766 00000 n 
+0001998987 00000 n 
+0001999208 00000 n 
+0001999429 00000 n 
+0001999634 00000 n 
+0001999855 00000 n 
+0002000076 00000 n 
+0002000297 00000 n 
+0002000517 00000 n 
+0002000737 00000 n 
+0002000956 00000 n 
+0002001148 00000 n 
+0002001548 00000 n 
+0001997376 00000 n 
+0001994419 00000 n 
+0002001313 00000 n 
+0002001371 00000 n 
+0002001489 00000 n 
+0002004243 00000 n 
+0002004430 00000 n 
+0002004616 00000 n 
+0002004844 00000 n 
+0002005054 00000 n 
+0002006540 00000 n 
+0002004063 00000 n 
+0002001804 00000 n 
+0002005219 00000 n 
+0002005277 00000 n 
+0002005395 00000 n 
+0002005710 00000 n 
+0002005828 00000 n 
+0002005951 00000 n 
+0002006010 00000 n 
+0002006128 00000 n 
+0002006187 00000 n 
+0002006305 00000 n 
+0002006364 00000 n 
+0002006481 00000 n 
+0002009874 00000 n 
+0002010104 00000 n 
+0002010316 00000 n 
+0002011437 00000 n 
+0002009712 00000 n 
+0002006723 00000 n 
+0002010481 00000 n 
+0002010539 00000 n 
+0002010657 00000 n 
+0002010716 00000 n 
+0002010834 00000 n 
+0002010956 00000 n 
+0002011079 00000 n 
+0002011138 00000 n 
+0002011257 00000 n 
+0002011379 00000 n 
+0002014329 00000 n 
+0002014549 00000 n 
+0002014770 00000 n 
+0002018989 00000 n 
+0002014989 00000 n 
+0002016394 00000 n 
+0002014158 00000 n 
+0002011643 00000 n 
+0002015154 00000 n 
+0002015212 00000 n 
+0002015330 00000 n 
+0002015389 00000 n 
+0002015507 00000 n 
+0002015630 00000 n 
+0002015752 00000 n 
+0002015810 00000 n 
+0002015927 00000 n 
+0002016044 00000 n 
+0002016161 00000 n 
+0002016277 00000 n 
+0004862663 00000 n 
+0002019209 00000 n 
+0002019430 00000 n 
+0002020420 00000 n 
+0002018827 00000 n 
+0002016588 00000 n 
+0002019595 00000 n 
+0002019653 00000 n 
+0002019771 00000 n 
+0002019889 00000 n 
+0002020007 00000 n 
+0002020125 00000 n 
+0002020243 00000 n 
+0002020361 00000 n 
+0002022915 00000 n 
+0002023432 00000 n 
+0002022771 00000 n 
+0002020601 00000 n 
+0002023080 00000 n 
+0002023197 00000 n 
+0002023255 00000 n 
+0002023373 00000 n 
+0002025875 00000 n 
+0002026452 00000 n 
+0002025731 00000 n 
+0002023613 00000 n 
+0002026040 00000 n 
+0002026157 00000 n 
+0002026275 00000 n 
+0002026393 00000 n 
+0002029253 00000 n 
+0002031243 00000 n 
+0002029109 00000 n 
+0002026646 00000 n 
+0002029418 00000 n 
+0002029535 00000 n 
+0002029653 00000 n 
+0002029770 00000 n 
+0002029888 00000 n 
+0002029947 00000 n 
+0002030006 00000 n 
+0002030124 00000 n 
+0002030183 00000 n 
+0002030242 00000 n 
+0002030301 00000 n 
+0002030360 00000 n 
+0002030478 00000 n 
+0002030596 00000 n 
+0002030714 00000 n 
+0002030832 00000 n 
+0002030950 00000 n 
+0002031068 00000 n 
+0002031185 00000 n 
+0002034087 00000 n 
+0002034315 00000 n 
+0002034519 00000 n 
+0002034747 00000 n 
+0002034934 00000 n 
+0002035139 00000 n 
+0002035367 00000 n 
+0002035562 00000 n 
+0002035790 00000 n 
+0002035985 00000 n 
+0002036190 00000 n 
+0002036418 00000 n 
+0002036611 00000 n 
+0002036837 00000 n 
+0002037031 00000 n 
+0002037234 00000 n 
+0002041492 00000 n 
+0002041721 00000 n 
+0002037462 00000 n 
+0002038685 00000 n 
+0002033799 00000 n 
+0002031424 00000 n 
+0002037627 00000 n 
+0002037744 00000 n 
+0002037862 00000 n 
+0002037921 00000 n 
+0002037980 00000 n 
+0002038098 00000 n 
+0002038274 00000 n 
+0002038332 00000 n 
+0002038390 00000 n 
+0002038449 00000 n 
+0002038508 00000 n 
+0002038567 00000 n 
+0002038626 00000 n 
+0002060959 00000 n 
+0002041926 00000 n 
+0002042130 00000 n 
+0002042359 00000 n 
+0002042588 00000 n 
+0002042793 00000 n 
+0002043022 00000 n 
+0002043251 00000 n 
+0002043438 00000 n 
+0002043667 00000 n 
+0002043853 00000 n 
+0002044046 00000 n 
+0002044275 00000 n 
+0002044486 00000 n 
+0002044715 00000 n 
+0002044926 00000 n 
+0002045155 00000 n 
+0002045384 00000 n 
+0002045613 00000 n 
+0002045841 00000 n 
+0002046070 00000 n 
+0002046299 00000 n 
+0002046527 00000 n 
+0002046731 00000 n 
+0002046960 00000 n 
+0002047164 00000 n 
+0002047393 00000 n 
+0002047621 00000 n 
+0002047815 00000 n 
+0002048019 00000 n 
+0002048247 00000 n 
+0002048442 00000 n 
+0002048671 00000 n 
+0002048900 00000 n 
+0002049094 00000 n 
+0002049322 00000 n 
+0002049540 00000 n 
+0002050997 00000 n 
+0002041015 00000 n 
+0002038908 00000 n 
+0002049705 00000 n 
+0002049763 00000 n 
+0002049822 00000 n 
+0002049879 00000 n 
+0002049938 00000 n 
+0002049997 00000 n 
+0002050056 00000 n 
+0002050115 00000 n 
+0002050174 00000 n 
+0002050233 00000 n 
+0002050292 00000 n 
+0002050350 00000 n 
+0002050409 00000 n 
+0002050468 00000 n 
+0002050527 00000 n 
+0002050586 00000 n 
+0002050645 00000 n 
+0002050704 00000 n 
+0002050762 00000 n 
+0002050820 00000 n 
+0002050879 00000 n 
+0002050938 00000 n 
+0004862789 00000 n 
+0002061136 00000 n 
+0002053850 00000 n 
+0002054079 00000 n 
+0002054273 00000 n 
+0002054502 00000 n 
+0002054696 00000 n 
+0002054891 00000 n 
+0002055120 00000 n 
+0002055314 00000 n 
+0002055509 00000 n 
+0002055703 00000 n 
+0002055889 00000 n 
+0002056118 00000 n 
+0002056347 00000 n 
+0002056688 00000 n 
+0002053598 00000 n 
+0002051193 00000 n 
+0002056512 00000 n 
+0002056570 00000 n 
+0002056629 00000 n 
+0002068166 00000 n 
+0002068284 00000 n 
+0002059567 00000 n 
+0002059796 00000 n 
+0002060024 00000 n 
+0002060253 00000 n 
+0002060448 00000 n 
+0002060677 00000 n 
+0002061254 00000 n 
+0002059378 00000 n 
+0002056916 00000 n 
+0002060842 00000 n 
+0002060900 00000 n 
+0002061018 00000 n 
+0002061077 00000 n 
+0002061195 00000 n 
+0002063580 00000 n 
+0002063824 00000 n 
+0002064069 00000 n 
+0002064281 00000 n 
+0002064525 00000 n 
+0002064736 00000 n 
+0002064982 00000 n 
+0002065194 00000 n 
+0002065381 00000 n 
+0002065627 00000 n 
+0002065814 00000 n 
+0002066059 00000 n 
+0002066270 00000 n 
+0002066516 00000 n 
+0002066727 00000 n 
+0002066973 00000 n 
+0002067217 00000 n 
+0002067428 00000 n 
+0002067673 00000 n 
+0002071744 00000 n 
+0002067884 00000 n 
+0002069231 00000 n 
+0002063265 00000 n 
+0002061460 00000 n 
+0002068049 00000 n 
+0002068107 00000 n 
+0002068225 00000 n 
+0002068348 00000 n 
+0002068407 00000 n 
+0002068583 00000 n 
+0002068642 00000 n 
+0002068701 00000 n 
+0002068760 00000 n 
+0002068819 00000 n 
+0002068878 00000 n 
+0002068937 00000 n 
+0002068996 00000 n 
+0002069055 00000 n 
+0002069113 00000 n 
+0002069172 00000 n 
+0002072133 00000 n 
+0002072356 00000 n 
+0002072546 00000 n 
+0002072769 00000 n 
+0002072958 00000 n 
+0002073180 00000 n 
+0002073370 00000 n 
+0002073592 00000 n 
+0002073782 00000 n 
+0002073971 00000 n 
+0002074191 00000 n 
+0002074380 00000 n 
+0002074601 00000 n 
+0002074791 00000 n 
+0002074981 00000 n 
+0002075202 00000 n 
+0002075391 00000 n 
+0002075580 00000 n 
+0002075768 00000 n 
+0002075988 00000 n 
+0002076176 00000 n 
+0002076364 00000 n 
+0002079741 00000 n 
+0002079965 00000 n 
+0002080154 00000 n 
+0002080344 00000 n 
+0002080534 00000 n 
+0002080724 00000 n 
+0002080914 00000 n 
+0002081136 00000 n 
+0002081326 00000 n 
+0002081516 00000 n 
+0002076552 00000 n 
+0002077008 00000 n 
+0002071384 00000 n 
+0002069454 00000 n 
+0002076717 00000 n 
+0002076775 00000 n 
+0002071939 00000 n 
+0002076949 00000 n 
+0002087245 00000 n 
+0002087363 00000 n 
+0002087481 00000 n 
+0002087598 00000 n 
+0002087716 00000 n 
+0002087833 00000 n 
+0002087951 00000 n 
+0002090910 00000 n 
+0002081705 00000 n 
+0002081927 00000 n 
+0002082117 00000 n 
+0002082307 00000 n 
+0002082497 00000 n 
+0002082719 00000 n 
+0002082909 00000 n 
+0002083099 00000 n 
+0002083288 00000 n 
+0002083510 00000 n 
+0002083700 00000 n 
+0002083890 00000 n 
+0002084112 00000 n 
+0002084302 00000 n 
+0002084492 00000 n 
+0002084714 00000 n 
+0002084904 00000 n 
+0002085094 00000 n 
+0002085284 00000 n 
+0002085506 00000 n 
+0002085696 00000 n 
+0002085886 00000 n 
+0002086110 00000 n 
+0002086300 00000 n 
+0002086490 00000 n 
+0002086679 00000 n 
+0002086845 00000 n 
+0002088009 00000 n 
+0002079273 00000 n 
+0002077202 00000 n 
+0002087010 00000 n 
+0002087068 00000 n 
+0002087127 00000 n 
+0002087186 00000 n 
+0002087304 00000 n 
+0002087422 00000 n 
+0002087539 00000 n 
+0002087657 00000 n 
+0002087774 00000 n 
+0002087892 00000 n 
+0002091028 00000 n 
+0002091145 00000 n 
+0002091268 00000 n 
+0002091384 00000 n 
+0002091501 00000 n 
+0002091618 00000 n 
+0002091735 00000 n 
+0002091853 00000 n 
+0002090628 00000 n 
+0002092090 00000 n 
+0002090484 00000 n 
+0002088249 00000 n 
+0002090793 00000 n 
+0002090851 00000 n 
+0002090969 00000 n 
+0002091086 00000 n 
+0002091209 00000 n 
+0002091325 00000 n 
+0002091442 00000 n 
+0002091559 00000 n 
+0002091676 00000 n 
+0002091794 00000 n 
+0002091917 00000 n 
+0004862915 00000 n 
+0002094806 00000 n 
+0002095011 00000 n 
+0002095227 00000 n 
+0002095441 00000 n 
+0002095644 00000 n 
+0002095848 00000 n 
+0002096086 00000 n 
+0002096301 00000 n 
+0002096497 00000 n 
+0002096712 00000 n 
+0002096907 00000 n 
+0002097100 00000 n 
+0002097313 00000 n 
+0002097507 00000 n 
+0002097722 00000 n 
+0002097917 00000 n 
+0002098110 00000 n 
+0002098325 00000 n 
+0002098526 00000 n 
+0002098741 00000 n 
+0002098941 00000 n 
+0002099134 00000 n 
+0002099349 00000 n 
+0002099530 00000 n 
+0002099716 00000 n 
+0002099921 00000 n 
+0002100160 00000 n 
+0002100375 00000 n 
+0002100562 00000 n 
+0002100767 00000 n 
+0002101006 00000 n 
+0002101221 00000 n 
+0002101415 00000 n 
+0002101620 00000 n 
+0002101859 00000 n 
+0002102074 00000 n 
+0002102262 00000 n 
+0002102466 00000 n 
+0002102705 00000 n 
+0002102920 00000 n 
+0002103102 00000 n 
+0002103307 00000 n 
+0002103546 00000 n 
+0002103727 00000 n 
+0002103942 00000 n 
+0002104124 00000 n 
+0002104328 00000 n 
+0002107781 00000 n 
+0002107986 00000 n 
+0002108202 00000 n 
+0002108373 00000 n 
+0002108569 00000 n 
+0002104542 00000 n 
+0002105060 00000 n 
+0002094239 00000 n 
+0002092298 00000 n 
+0002104707 00000 n 
+0002104765 00000 n 
+0002104824 00000 n 
+0002104883 00000 n 
+0002104942 00000 n 
+0002105001 00000 n 
+0002193156 00000 n 
+0002193391 00000 n 
+0002193626 00000 n 
+0002196636 00000 n 
+0002196872 00000 n 
+0002197107 00000 n 
+0002200540 00000 n 
+0002200775 00000 n 
+0002201011 00000 n 
+0002204331 00000 n 
+0002204567 00000 n 
+0002204802 00000 n 
+0002108783 00000 n 
+0002108978 00000 n 
+0002109192 00000 n 
+0002109388 00000 n 
+0002109604 00000 n 
+0002109798 00000 n 
+0002110012 00000 n 
+0002110212 00000 n 
+0002110426 00000 n 
+0002110627 00000 n 
+0002110842 00000 n 
+0002111039 00000 n 
+0002111254 00000 n 
+0002111441 00000 n 
+0002111638 00000 n 
+0002111853 00000 n 
+0002112045 00000 n 
+0002112242 00000 n 
+0002112457 00000 n 
+0002112643 00000 n 
+0002112840 00000 n 
+0002113055 00000 n 
+0002113242 00000 n 
+0002113458 00000 n 
+0002113674 00000 n 
+0002113890 00000 n 
+0002114106 00000 n 
+0002114288 00000 n 
+0002114504 00000 n 
+0002114718 00000 n 
+0002114934 00000 n 
+0002115150 00000 n 
+0002115336 00000 n 
+0002115552 00000 n 
+0002115748 00000 n 
+0002115964 00000 n 
+0002116159 00000 n 
+0002116373 00000 n 
+0002116568 00000 n 
+0002116772 00000 n 
+0002116976 00000 n 
+0002117191 00000 n 
+0002117387 00000 n 
+0002117592 00000 n 
+0002117797 00000 n 
+0002122243 00000 n 
+0002122459 00000 n 
+0002122655 00000 n 
+0002122859 00000 n 
+0002123063 00000 n 
+0002123279 00000 n 
+0002123475 00000 n 
+0002123679 00000 n 
+0002123883 00000 n 
+0002117984 00000 n 
+0002119089 00000 n 
+0002107187 00000 n 
+0002105269 00000 n 
+0002118149 00000 n 
+0002118207 00000 n 
+0002118266 00000 n 
+0002118325 00000 n 
+0002118384 00000 n 
+0002118442 00000 n 
+0002118501 00000 n 
+0002118560 00000 n 
+0002118619 00000 n 
+0002118678 00000 n 
+0002118737 00000 n 
+0002118796 00000 n 
+0002118855 00000 n 
+0002118913 00000 n 
+0002118972 00000 n 
+0002119030 00000 n 
+0002204978 00000 n 
+0002208008 00000 n 
+0002208188 00000 n 
+0002208306 00000 n 
+0002208488 00000 n 
+0002208665 00000 n 
+0002208841 00000 n 
+0002213301 00000 n 
+0002124070 00000 n 
+0002124285 00000 n 
+0002124479 00000 n 
+0002124683 00000 n 
+0002124887 00000 n 
+0002125295 00000 n 
+0002125499 00000 n 
+0002125662 00000 n 
+0002125878 00000 n 
+0002126060 00000 n 
+0002126276 00000 n 
+0002126457 00000 n 
+0002126673 00000 n 
+0002126887 00000 n 
+0002127075 00000 n 
+0002127289 00000 n 
+0002127482 00000 n 
+0002127695 00000 n 
+0002127889 00000 n 
+0002128103 00000 n 
+0002128299 00000 n 
+0002128513 00000 n 
+0002128701 00000 n 
+0002128915 00000 n 
+0002129111 00000 n 
+0002129325 00000 n 
+0002129521 00000 n 
+0002129734 00000 n 
+0002129922 00000 n 
+0002130136 00000 n 
+0002130332 00000 n 
+0002130544 00000 n 
+0002130730 00000 n 
+0002130943 00000 n 
+0002131139 00000 n 
+0002131353 00000 n 
+0002131554 00000 n 
+0002131768 00000 n 
+0002131969 00000 n 
+0002132183 00000 n 
+0002132369 00000 n 
+0002132534 00000 n 
+0002132745 00000 n 
+0002132934 00000 n 
+0002133099 00000 n 
+0002133311 00000 n 
+0002137867 00000 n 
+0002138081 00000 n 
+0002138262 00000 n 
+0002138478 00000 n 
+0002133491 00000 n 
+0002133714 00000 n 
+0002121595 00000 n 
+0002119272 00000 n 
+0002133656 00000 n 
+0002125090 00000 n 
+0002213542 00000 n 
+0002217971 00000 n 
+0002218212 00000 n 
+0002218453 00000 n 
+0002221734 00000 n 
+0002221911 00000 n 
+0002222088 00000 n 
+0002222269 00000 n 
+0002222445 00000 n 
+0002225464 00000 n 
+0002225700 00000 n 
+0002225935 00000 n 
+0002228892 00000 n 
+0002229126 00000 n 
+0002229361 00000 n 
+0002232459 00000 n 
+0002232695 00000 n 
+0002232930 00000 n 
+0002233166 00000 n 
+0002236788 00000 n 
+0002237024 00000 n 
+0002237259 00000 n 
+0002138659 00000 n 
+0002138873 00000 n 
+0002139053 00000 n 
+0002139231 00000 n 
+0002139446 00000 n 
+0002139627 00000 n 
+0002139807 00000 n 
+0002140022 00000 n 
+0002140208 00000 n 
+0002140404 00000 n 
+0002140616 00000 n 
+0002140792 00000 n 
+0002141008 00000 n 
+0002141194 00000 n 
+0002141390 00000 n 
+0002141597 00000 n 
+0002141773 00000 n 
+0002141989 00000 n 
+0002142175 00000 n 
+0002142380 00000 n 
+0002142576 00000 n 
+0002142788 00000 n 
+0002142998 00000 n 
+0002143170 00000 n 
+0002143386 00000 n 
+0002143572 00000 n 
+0002143777 00000 n 
+0002143972 00000 n 
+0002144184 00000 n 
+0002144394 00000 n 
+0002144565 00000 n 
+0002144781 00000 n 
+0002144977 00000 n 
+0002145182 00000 n 
+0002145378 00000 n 
+0002145590 00000 n 
+0002145762 00000 n 
+0002145978 00000 n 
+0002146174 00000 n 
+0002146379 00000 n 
+0002146575 00000 n 
+0002146787 00000 n 
+0002146958 00000 n 
+0002147174 00000 n 
+0002147359 00000 n 
+0002147555 00000 n 
+0002147947 00000 n 
+0002148159 00000 n 
+0002148347 00000 n 
+0002148563 00000 n 
+0002148749 00000 n 
+0002148945 00000 n 
+0002149337 00000 n 
+0002149549 00000 n 
+0002149737 00000 n 
+0002149950 00000 n 
+0002150132 00000 n 
+0002150298 00000 n 
+0002150513 00000 n 
+0002150704 00000 n 
+0002150908 00000 n 
+0002151317 00000 n 
+0002151522 00000 n 
+0002151718 00000 n 
+0002151885 00000 n 
+0002152099 00000 n 
+0002152303 00000 n 
+0002152542 00000 n 
+0002152756 00000 n 
+0002152946 00000 n 
+0002153149 00000 n 
+0002157062 00000 n 
+0002153386 00000 n 
+0002153609 00000 n 
+0002137021 00000 n 
+0002133883 00000 n 
+0002153551 00000 n 
+0002147751 00000 n 
+0002149141 00000 n 
+0002151112 00000 n 
+0002237436 00000 n 
+0002237613 00000 n 
+0002242114 00000 n 
+0002242291 00000 n 
+0002242467 00000 n 
+0002242703 00000 n 
+0002246773 00000 n 
+0002247012 00000 n 
+0002251610 00000 n 
+0002251853 00000 n 
+0002252095 00000 n 
+0002257009 00000 n 
+0002257252 00000 n 
+0002257433 00000 n 
+0002262707 00000 n 
+0002262888 00000 n 
+0002157276 00000 n 
+0002157490 00000 n 
+0002157671 00000 n 
+0002157834 00000 n 
+0002158047 00000 n 
+0002158229 00000 n 
+0002158390 00000 n 
+0002158603 00000 n 
+0002158785 00000 n 
+0002158948 00000 n 
+0002159163 00000 n 
+0002159344 00000 n 
+0002159539 00000 n 
+0002159701 00000 n 
+0002159917 00000 n 
+0002160099 00000 n 
+0002160295 00000 n 
+0002160458 00000 n 
+0002160673 00000 n 
+0002160855 00000 n 
+0002161051 00000 n 
+0002161213 00000 n 
+0002161427 00000 n 
+0002161632 00000 n 
+0002161823 00000 n 
+0002162036 00000 n 
+0002162239 00000 n 
+0002162430 00000 n 
+0002162644 00000 n 
+0002162825 00000 n 
+0002162996 00000 n 
+0002163209 00000 n 
+0002163401 00000 n 
+0002163614 00000 n 
+0002163818 00000 n 
+0002164197 00000 n 
+0002164411 00000 n 
+0002164603 00000 n 
+0002164816 00000 n 
+0002165001 00000 n 
+0002165205 00000 n 
+0002165418 00000 n 
+0002165610 00000 n 
+0002165794 00000 n 
+0002166010 00000 n 
+0002166223 00000 n 
+0002166404 00000 n 
+0002169606 00000 n 
+0002169820 00000 n 
+0002170034 00000 n 
+0002166617 00000 n 
+0002167076 00000 n 
+0002156477 00000 n 
+0002153832 00000 n 
+0002166782 00000 n 
+0002166840 00000 n 
+0002164009 00000 n 
+0002166899 00000 n 
+0002166958 00000 n 
+0002167017 00000 n 
+0002263070 00000 n 
+0002267527 00000 n 
+0002267768 00000 n 
+0002268011 00000 n 
+0002272707 00000 n 
+0002272950 00000 n 
+0002273191 00000 n 
+0002278026 00000 n 
+0002278269 00000 n 
+0002278450 00000 n 
+0002278693 00000 n 
+0002284113 00000 n 
+0002284294 00000 n 
+0002289711 00000 n 
+0002170250 00000 n 
+0002170466 00000 n 
+0002170671 00000 n 
+0002170885 00000 n 
+0002171090 00000 n 
+0002171304 00000 n 
+0002171520 00000 n 
+0002171725 00000 n 
+0002171941 00000 n 
+0002172123 00000 n 
+0002172339 00000 n 
+0002172555 00000 n 
+0002172771 00000 n 
+0002172952 00000 n 
+0002173168 00000 n 
+0002173350 00000 n 
+0002173532 00000 n 
+0002173747 00000 n 
+0002173929 00000 n 
+0002174111 00000 n 
+0002174327 00000 n 
+0002174508 00000 n 
+0002174690 00000 n 
+0002174905 00000 n 
+0002175085 00000 n 
+0002175266 00000 n 
+0002175482 00000 n 
+0002175664 00000 n 
+0002175846 00000 n 
+0002179729 00000 n 
+0002176027 00000 n 
+0002176896 00000 n 
+0002169174 00000 n 
+0002167272 00000 n 
+0002176192 00000 n 
+0002176250 00000 n 
+0002176309 00000 n 
+0002176368 00000 n 
+0002176426 00000 n 
+0002176485 00000 n 
+0002176544 00000 n 
+0002176602 00000 n 
+0002176660 00000 n 
+0002176719 00000 n 
+0002176778 00000 n 
+0002176837 00000 n 
+0004863041 00000 n 
+0002289958 00000 n 
+0002290145 00000 n 
+0002290266 00000 n 
+0002290392 00000 n 
+0002290513 00000 n 
+0002179897 00000 n 
+0002180068 00000 n 
+0002180284 00000 n 
+0002180500 00000 n 
+0002183578 00000 n 
+0002180716 00000 n 
+0002180939 00000 n 
+0002179540 00000 n 
+0002177105 00000 n 
+0002180881 00000 n 
+0002183793 00000 n 
+0002184009 00000 n 
+0002184225 00000 n 
+0002184441 00000 n 
+0002184657 00000 n 
+0002184896 00000 n 
+0002185112 00000 n 
+0002188443 00000 n 
+0002188659 00000 n 
+0002185328 00000 n 
+0002185551 00000 n 
+0002183362 00000 n 
+0002181143 00000 n 
+0002185493 00000 n 
+0002188898 00000 n 
+0002189114 00000 n 
+0002189353 00000 n 
+0002189569 00000 n 
+0002189792 00000 n 
+0002188254 00000 n 
+0002185766 00000 n 
+0002189734 00000 n 
+0002192874 00000 n 
+0002193744 00000 n 
+0002192730 00000 n 
+0002189995 00000 n 
+0002193039 00000 n 
+0002193097 00000 n 
+0002193215 00000 n 
+0002193274 00000 n 
+0002193333 00000 n 
+0002193449 00000 n 
+0002193508 00000 n 
+0002193567 00000 n 
+0002193685 00000 n 
+0002196295 00000 n 
+0002197284 00000 n 
+0002196151 00000 n 
+0002193987 00000 n 
+0002196460 00000 n 
+0002196518 00000 n 
+0002196577 00000 n 
+0002196695 00000 n 
+0002196754 00000 n 
+0002196813 00000 n 
+0002196930 00000 n 
+0002196989 00000 n 
+0002197048 00000 n 
+0002197166 00000 n 
+0002197225 00000 n 
+0002200258 00000 n 
+0002201188 00000 n 
+0002200114 00000 n 
+0002197452 00000 n 
+0002200423 00000 n 
+0002200481 00000 n 
+0002200599 00000 n 
+0002200658 00000 n 
+0002200716 00000 n 
+0002200834 00000 n 
+0002200893 00000 n 
+0002200952 00000 n 
+0002201070 00000 n 
+0002201129 00000 n 
+0004863167 00000 n 
+0002204049 00000 n 
+0002205096 00000 n 
+0002203905 00000 n 
+0002201369 00000 n 
+0002204214 00000 n 
+0002204272 00000 n 
+0002204390 00000 n 
+0002204449 00000 n 
+0002204508 00000 n 
+0002204625 00000 n 
+0002204684 00000 n 
+0002204743 00000 n 
+0002204861 00000 n 
+0002204920 00000 n 
+0002205037 00000 n 
+0002207785 00000 n 
+0002208959 00000 n 
+0002207641 00000 n 
+0002205290 00000 n 
+0002207950 00000 n 
+0002208071 00000 n 
+0002208129 00000 n 
+0002208247 00000 n 
+0002208370 00000 n 
+0002208429 00000 n 
+0002208547 00000 n 
+0002208606 00000 n 
+0002208723 00000 n 
+0002208782 00000 n 
+0002208900 00000 n 
+0002212397 00000 n 
+0002212585 00000 n 
+0002212773 00000 n 
+0002212960 00000 n 
+0002213724 00000 n 
+0002212226 00000 n 
+0002209140 00000 n 
+0002213125 00000 n 
+0002213183 00000 n 
+0002213242 00000 n 
+0002213365 00000 n 
+0002213424 00000 n 
+0002213483 00000 n 
+0002213606 00000 n 
+0002213665 00000 n 
+0002217337 00000 n 
+0002217525 00000 n 
+0002217689 00000 n 
+0002218574 00000 n 
+0002217175 00000 n 
+0002213905 00000 n 
+0002217854 00000 n 
+0002217912 00000 n 
+0002218035 00000 n 
+0002218094 00000 n 
+0002218153 00000 n 
+0002218276 00000 n 
+0002218335 00000 n 
+0002218394 00000 n 
+0002218516 00000 n 
+0002221452 00000 n 
+0002222561 00000 n 
+0002221308 00000 n 
+0002218755 00000 n 
+0002221617 00000 n 
+0002221675 00000 n 
+0002221793 00000 n 
+0002221852 00000 n 
+0002221970 00000 n 
+0002222029 00000 n 
+0002222152 00000 n 
+0002222211 00000 n 
+0002222327 00000 n 
+0002222386 00000 n 
+0002222503 00000 n 
+0002225123 00000 n 
+0002226053 00000 n 
+0002224979 00000 n 
+0002222742 00000 n 
+0002225288 00000 n 
+0002225346 00000 n 
+0002225405 00000 n 
+0002225523 00000 n 
+0002225582 00000 n 
+0002225641 00000 n 
+0002225759 00000 n 
+0002225818 00000 n 
+0002225877 00000 n 
+0002225994 00000 n 
+0004863293 00000 n 
+0002228551 00000 n 
+0002229537 00000 n 
+0002228407 00000 n 
+0002226234 00000 n 
+0002228716 00000 n 
+0002228774 00000 n 
+0002228833 00000 n 
+0002228949 00000 n 
+0002229008 00000 n 
+0002229067 00000 n 
+0002229185 00000 n 
+0002229244 00000 n 
+0002229303 00000 n 
+0002229419 00000 n 
+0002229478 00000 n 
+0002232177 00000 n 
+0002233343 00000 n 
+0002232033 00000 n 
+0002229718 00000 n 
+0002232342 00000 n 
+0002232400 00000 n 
+0002232518 00000 n 
+0002232577 00000 n 
+0002232636 00000 n 
+0002232754 00000 n 
+0002232813 00000 n 
+0002232871 00000 n 
+0002232989 00000 n 
+0002233048 00000 n 
+0002233107 00000 n 
+0002233225 00000 n 
+0002233284 00000 n 
+0002235990 00000 n 
+0002236154 00000 n 
+0002236320 00000 n 
+0002236506 00000 n 
+0002237729 00000 n 
+0002235819 00000 n 
+0002233524 00000 n 
+0002236671 00000 n 
+0002236729 00000 n 
+0002236847 00000 n 
+0002236906 00000 n 
+0002236965 00000 n 
+0002237083 00000 n 
+0002237141 00000 n 
+0002237200 00000 n 
+0002237318 00000 n 
+0002237377 00000 n 
+0002237495 00000 n 
+0002237554 00000 n 
+0002237671 00000 n 
+0002241125 00000 n 
+0002241302 00000 n 
+0002241482 00000 n 
+0002241657 00000 n 
+0002241832 00000 n 
+0002242820 00000 n 
+0002240945 00000 n 
+0002237910 00000 n 
+0002241997 00000 n 
+0002242055 00000 n 
+0002242173 00000 n 
+0002242232 00000 n 
+0002242350 00000 n 
+0002242408 00000 n 
+0002242526 00000 n 
+0002242585 00000 n 
+0002242644 00000 n 
+0002242761 00000 n 
+0002246089 00000 n 
+0002246259 00000 n 
+0002246431 00000 n 
+0002247190 00000 n 
+0002245927 00000 n 
+0002243001 00000 n 
+0002246596 00000 n 
+0002246654 00000 n 
+0002246713 00000 n 
+0002246832 00000 n 
+0002246892 00000 n 
+0002246952 00000 n 
+0002247070 00000 n 
+0002247130 00000 n 
+0002250790 00000 n 
+0002250963 00000 n 
+0002251134 00000 n 
+0002251323 00000 n 
+0002252277 00000 n 
+0002250611 00000 n 
+0002247408 00000 n 
+0002251489 00000 n 
+0002251549 00000 n 
+0002251670 00000 n 
+0002251731 00000 n 
+0002251792 00000 n 
+0002251913 00000 n 
+0002251974 00000 n 
+0002252034 00000 n 
+0002252155 00000 n 
+0002252216 00000 n 
+0004863419 00000 n 
+0002256013 00000 n 
+0002256202 00000 n 
+0002256369 00000 n 
+0002256536 00000 n 
+0002261295 00000 n 
+0002261512 00000 n 
+0002261680 00000 n 
+0002256722 00000 n 
+0002257615 00000 n 
+0002255824 00000 n 
+0002252496 00000 n 
+0002256888 00000 n 
+0002256948 00000 n 
+0002257069 00000 n 
+0002257130 00000 n 
+0002257191 00000 n 
+0002257312 00000 n 
+0002257372 00000 n 
+0002257493 00000 n 
+0002257554 00000 n 
+0002261896 00000 n 
+0002262083 00000 n 
+0002262246 00000 n 
+0002262420 00000 n 
+0002263252 00000 n 
+0002261086 00000 n 
+0002257834 00000 n 
+0002262586 00000 n 
+0002262646 00000 n 
+0002262767 00000 n 
+0002262827 00000 n 
+0002262948 00000 n 
+0002263009 00000 n 
+0002263130 00000 n 
+0002263191 00000 n 
+0002266222 00000 n 
+0002266386 00000 n 
+0002266561 00000 n 
+0002266725 00000 n 
+0002266901 00000 n 
+0002267064 00000 n 
+0002267240 00000 n 
+0002268193 00000 n 
+0002266013 00000 n 
+0002263434 00000 n 
+0002267406 00000 n 
+0002267466 00000 n 
+0002267587 00000 n 
+0002267648 00000 n 
+0002267707 00000 n 
+0002267828 00000 n 
+0002267889 00000 n 
+0002267950 00000 n 
+0002268071 00000 n 
+0002268132 00000 n 
+0002271335 00000 n 
+0002271499 00000 n 
+0002271675 00000 n 
+0002271838 00000 n 
+0002272014 00000 n 
+0002272205 00000 n 
+0002272420 00000 n 
+0002273433 00000 n 
+0002271126 00000 n 
+0002268375 00000 n 
+0002272586 00000 n 
+0002272646 00000 n 
+0002272767 00000 n 
+0002272828 00000 n 
+0002272889 00000 n 
+0002273010 00000 n 
+0002273071 00000 n 
+0002273132 00000 n 
+0002273250 00000 n 
+0002273311 00000 n 
+0002273372 00000 n 
+0002276630 00000 n 
+0002276821 00000 n 
+0002277037 00000 n 
+0002277211 00000 n 
+0002277427 00000 n 
+0002277613 00000 n 
+0002282445 00000 n 
+0002277800 00000 n 
+0002278812 00000 n 
+0002276421 00000 n 
+0002273615 00000 n 
+0002277966 00000 n 
+0002278086 00000 n 
+0002278147 00000 n 
+0002278208 00000 n 
+0002278329 00000 n 
+0002278390 00000 n 
+0002278510 00000 n 
+0002278571 00000 n 
+0002278632 00000 n 
+0002278752 00000 n 
+0002282827 00000 n 
+0002283019 00000 n 
+0002283223 00000 n 
+0002283429 00000 n 
+0002283634 00000 n 
+0002283826 00000 n 
+0002284481 00000 n 
+0002282226 00000 n 
+0002279056 00000 n 
+0002283992 00000 n 
+0002282637 00000 n 
+0002284052 00000 n 
+0002284173 00000 n 
+0002284233 00000 n 
+0002284359 00000 n 
+0002284420 00000 n 
+0004863552 00000 n 
+0002288217 00000 n 
+0002288433 00000 n 
+0002288649 00000 n 
+0002288835 00000 n 
+0002289208 00000 n 
+0002289424 00000 n 
+0002290637 00000 n 
+0002288008 00000 n 
+0002284688 00000 n 
+0002289590 00000 n 
+0002289650 00000 n 
+0002289775 00000 n 
+0002289836 00000 n 
+0002289897 00000 n 
+0002289021 00000 n 
+0002290023 00000 n 
+0002290084 00000 n 
+0002290205 00000 n 
+0002290331 00000 n 
+0002290452 00000 n 
+0002290577 00000 n 
+0002293004 00000 n 
+0002293187 00000 n 
+0002293395 00000 n 
+0002293578 00000 n 
+0002293805 00000 n 
+0002294034 00000 n 
+0002294216 00000 n 
+0002294445 00000 n 
+0002294641 00000 n 
+0002294870 00000 n 
+0002295100 00000 n 
+0002295296 00000 n 
+0002295526 00000 n 
+0002295709 00000 n 
+0002295892 00000 n 
+0002296085 00000 n 
+0002296264 00000 n 
+0002297214 00000 n 
+0002292695 00000 n 
+0002290844 00000 n 
+0002296430 00000 n 
+0002296490 00000 n 
+0002296551 00000 n 
+0002296731 00000 n 
+0002296790 00000 n 
+0002296851 00000 n 
+0002296912 00000 n 
+0002296973 00000 n 
+0002297034 00000 n 
+0002297095 00000 n 
+0002297154 00000 n 
+0002307284 00000 n 
+0002299843 00000 n 
+0002300071 00000 n 
+0002300265 00000 n 
+0002300493 00000 n 
+0002300754 00000 n 
+0002301015 00000 n 
+0002301275 00000 n 
+0002301470 00000 n 
+0002301697 00000 n 
+0002301924 00000 n 
+0002302130 00000 n 
+0002302358 00000 n 
+0002302585 00000 n 
+0002302779 00000 n 
+0002303006 00000 n 
+0002303200 00000 n 
+0002303405 00000 n 
+0002303632 00000 n 
+0002303826 00000 n 
+0002304031 00000 n 
+0002304258 00000 n 
+0002304452 00000 n 
+0002304657 00000 n 
+0002304862 00000 n 
+0002305089 00000 n 
+0002305281 00000 n 
+0002305508 00000 n 
+0002305701 00000 n 
+0002305906 00000 n 
+0002306134 00000 n 
+0002306362 00000 n 
+0002306568 00000 n 
+0002306771 00000 n 
+0002310942 00000 n 
+0002311169 00000 n 
+0002311374 00000 n 
+0002311601 00000 n 
+0002311788 00000 n 
+0002306997 00000 n 
+0002308132 00000 n 
+0002299364 00000 n 
+0002297438 00000 n 
+0002307163 00000 n 
+0002307223 00000 n 
+0002307345 00000 n 
+0002307525 00000 n 
+0002307586 00000 n 
+0002307647 00000 n 
+0002307708 00000 n 
+0002307769 00000 n 
+0002307830 00000 n 
+0002307890 00000 n 
+0002307950 00000 n 
+0002308011 00000 n 
+0002308072 00000 n 
+0004430060 00000 n 
+0002378756 00000 n 
+0002378878 00000 n 
+0002378944 00000 n 
+0002379010 00000 n 
+0002378573 00000 n 
+0002393958 00000 n 
+0002379137 00000 n 
+0002379259 00000 n 
+0002311975 00000 n 
+0002312202 00000 n 
+0002312394 00000 n 
+0002312622 00000 n 
+0002312808 00000 n 
+0002313034 00000 n 
+0002313221 00000 n 
+0002313427 00000 n 
+0002313654 00000 n 
+0002313882 00000 n 
+0002314110 00000 n 
+0002314338 00000 n 
+0002314566 00000 n 
+0002314794 00000 n 
+0002315022 00000 n 
+0002315250 00000 n 
+0002315437 00000 n 
+0002315665 00000 n 
+0002315869 00000 n 
+0002316096 00000 n 
+0002316301 00000 n 
+0002316529 00000 n 
+0002316757 00000 n 
+0002316951 00000 n 
+0002317178 00000 n 
+0002317371 00000 n 
+0002317599 00000 n 
+0002317824 00000 n 
+0002318052 00000 n 
+0002318280 00000 n 
+0002318507 00000 n 
+0002318735 00000 n 
+0002318962 00000 n 
+0002319188 00000 n 
+0002323291 00000 n 
+0002319380 00000 n 
+0002320641 00000 n 
+0002310403 00000 n 
+0002308380 00000 n 
+0002319546 00000 n 
+0002319606 00000 n 
+0002319667 00000 n 
+0002319728 00000 n 
+0002319789 00000 n 
+0002319850 00000 n 
+0002319911 00000 n 
+0002319971 00000 n 
+0002320032 00000 n 
+0002320093 00000 n 
+0002320154 00000 n 
+0002320215 00000 n 
+0002320276 00000 n 
+0002320337 00000 n 
+0002320398 00000 n 
+0002320459 00000 n 
+0002320520 00000 n 
+0002320581 00000 n 
+0002384194 00000 n 
+0002384316 00000 n 
+0002384443 00000 n 
+0002384569 00000 n 
+0002384757 00000 n 
+0002384940 00000 n 
+0002389013 00000 n 
+0002323519 00000 n 
+0002323747 00000 n 
+0002323975 00000 n 
+0002324202 00000 n 
+0002324395 00000 n 
+0002324620 00000 n 
+0002324816 00000 n 
+0002325021 00000 n 
+0002325247 00000 n 
+0002325440 00000 n 
+0002325665 00000 n 
+0002325861 00000 n 
+0002326091 00000 n 
+0002326304 00000 n 
+0002326510 00000 n 
+0002326738 00000 n 
+0002326932 00000 n 
+0002327160 00000 n 
+0002327366 00000 n 
+0002327597 00000 n 
+0002327789 00000 n 
+0002328015 00000 n 
+0002328210 00000 n 
+0002328414 00000 n 
+0002328608 00000 n 
+0002328834 00000 n 
+0002329031 00000 n 
+0002329262 00000 n 
+0002329475 00000 n 
+0002329681 00000 n 
+0002329909 00000 n 
+0002330103 00000 n 
+0002330331 00000 n 
+0002330537 00000 n 
+0002330731 00000 n 
+0002330959 00000 n 
+0002331156 00000 n 
+0002331360 00000 n 
+0002331566 00000 n 
+0002331794 00000 n 
+0002331988 00000 n 
+0002332216 00000 n 
+0002332444 00000 n 
+0002332638 00000 n 
+0002332866 00000 n 
+0002333071 00000 n 
+0002333298 00000 n 
+0002333537 00000 n 
+0002333765 00000 n 
+0002333959 00000 n 
+0002334185 00000 n 
+0002334377 00000 n 
+0002338573 00000 n 
+0002338765 00000 n 
+0002338992 00000 n 
+0002339188 00000 n 
+0002339393 00000 n 
+0002339847 00000 n 
+0002334569 00000 n 
+0002335465 00000 n 
+0002322612 00000 n 
+0002320852 00000 n 
+0002334735 00000 n 
+0002334795 00000 n 
+0002334856 00000 n 
+0002334916 00000 n 
+0002334977 00000 n 
+0002335038 00000 n 
+0002335099 00000 n 
+0002335160 00000 n 
+0002335221 00000 n 
+0002335282 00000 n 
+0002335343 00000 n 
+0002335404 00000 n 
+0002389140 00000 n 
+0002389267 00000 n 
+0002389453 00000 n 
+0002379445 00000 n 
+0002379628 00000 n 
+0002384011 00000 n 
+0002389636 00000 n 
+0002389758 00000 n 
+0002340075 00000 n 
+0002340268 00000 n 
+0002340495 00000 n 
+0002340692 00000 n 
+0002340923 00000 n 
+0002341135 00000 n 
+0002341340 00000 n 
+0002341568 00000 n 
+0002342024 00000 n 
+0002342217 00000 n 
+0002342445 00000 n 
+0002342650 00000 n 
+0002342878 00000 n 
+0002343071 00000 n 
+0002343299 00000 n 
+0002343496 00000 n 
+0002343702 00000 n 
+0002343930 00000 n 
+0002344123 00000 n 
+0002344351 00000 n 
+0002344548 00000 n 
+0002344779 00000 n 
+0002344990 00000 n 
+0002345194 00000 n 
+0002345421 00000 n 
+0002345877 00000 n 
+0002346070 00000 n 
+0002346297 00000 n 
+0002346503 00000 n 
+0002346731 00000 n 
+0002346924 00000 n 
+0002347151 00000 n 
+0002347348 00000 n 
+0002347554 00000 n 
+0002347782 00000 n 
+0002348009 00000 n 
+0002348203 00000 n 
+0002348397 00000 n 
+0002348625 00000 n 
+0002348819 00000 n 
+0002349012 00000 n 
+0002349240 00000 n 
+0002349468 00000 n 
+0002349695 00000 n 
+0002349889 00000 n 
+0002350083 00000 n 
+0002350311 00000 n 
+0002350505 00000 n 
+0002350698 00000 n 
+0002350891 00000 n 
+0002351119 00000 n 
+0002351316 00000 n 
+0002351522 00000 n 
+0002351715 00000 n 
+0002351942 00000 n 
+0002352139 00000 n 
+0002352548 00000 n 
+0002352741 00000 n 
+0002352969 00000 n 
+0002353174 00000 n 
+0002353367 00000 n 
+0002353595 00000 n 
+0002353792 00000 n 
+0002353998 00000 n 
+0002354191 00000 n 
+0002354419 00000 n 
+0002354616 00000 n 
+0002355027 00000 n 
+0002355220 00000 n 
+0002355447 00000 n 
+0002355653 00000 n 
+0002355846 00000 n 
+0002356073 00000 n 
+0002356270 00000 n 
+0002356476 00000 n 
+0002356704 00000 n 
+0002356898 00000 n 
+0002357092 00000 n 
+0002357285 00000 n 
+0002357876 00000 n 
+0002337534 00000 n 
+0002335688 00000 n 
+0002357451 00000 n 
+0002357511 00000 n 
+0002339620 00000 n 
+0002357572 00000 n 
+0002341796 00000 n 
+0002357633 00000 n 
+0002357694 00000 n 
+0002345649 00000 n 
+0002357754 00000 n 
+0002352345 00000 n 
+0002354822 00000 n 
+0002357815 00000 n 
+0004863685 00000 n 
+0002389880 00000 n 
+0002390000 00000 n 
+0002390122 00000 n 
+0002392863 00000 n 
+0002392985 00000 n 
+0002393228 00000 n 
+0002393350 00000 n 
+0002393592 00000 n 
+0002361200 00000 n 
+0002361428 00000 n 
+0002361656 00000 n 
+0002361884 00000 n 
+0002362112 00000 n 
+0002362340 00000 n 
+0002362568 00000 n 
+0002362796 00000 n 
+0002363024 00000 n 
+0002363252 00000 n 
+0002363480 00000 n 
+0002363707 00000 n 
+0002363934 00000 n 
+0002364162 00000 n 
+0002364390 00000 n 
+0002364618 00000 n 
+0002364846 00000 n 
+0002365073 00000 n 
+0002369330 00000 n 
+0002369557 00000 n 
+0002369784 00000 n 
+0002370011 00000 n 
+0002370238 00000 n 
+0002370465 00000 n 
+0002365300 00000 n 
+0002365526 00000 n 
+0002360871 00000 n 
+0002358159 00000 n 
+0002365466 00000 n 
+0002370692 00000 n 
+0002370920 00000 n 
+0002371148 00000 n 
+0002371376 00000 n 
+0002371604 00000 n 
+0002371831 00000 n 
+0002372058 00000 n 
+0002372286 00000 n 
+0002372514 00000 n 
+0002372720 00000 n 
+0002372948 00000 n 
+0002373176 00000 n 
+0002373404 00000 n 
+0002373632 00000 n 
+0002373860 00000 n 
+0002374086 00000 n 
+0002368981 00000 n 
+0002365820 00000 n 
+0002374026 00000 n 
+0002377033 00000 n 
+0002377261 00000 n 
+0002377456 00000 n 
+0002377649 00000 n 
+0002377842 00000 n 
+0002378073 00000 n 
+0002378286 00000 n 
+0002379750 00000 n 
+0002376824 00000 n 
+0002374356 00000 n 
+0002378452 00000 n 
+0002378512 00000 n 
+0002378634 00000 n 
+0002378695 00000 n 
+0002378817 00000 n 
+0002379076 00000 n 
+0002379198 00000 n 
+0002379324 00000 n 
+0002379384 00000 n 
+0002379506 00000 n 
+0002379567 00000 n 
+0002379689 00000 n 
+0002383093 00000 n 
+0002383324 00000 n 
+0002383537 00000 n 
+0002383724 00000 n 
+0002385060 00000 n 
+0002382914 00000 n 
+0002379947 00000 n 
+0002383890 00000 n 
+0002383950 00000 n 
+0002384072 00000 n 
+0002384133 00000 n 
+0002384255 00000 n 
+0002384382 00000 n 
+0002384508 00000 n 
+0002384635 00000 n 
+0002384696 00000 n 
+0002384818 00000 n 
+0002384879 00000 n 
+0002385000 00000 n 
+0002388107 00000 n 
+0002388335 00000 n 
+0002388561 00000 n 
+0002388787 00000 n 
+0002390242 00000 n 
+0002387928 00000 n 
+0002385242 00000 n 
+0002388953 00000 n 
+0002389079 00000 n 
+0002389206 00000 n 
+0002389332 00000 n 
+0002389393 00000 n 
+0002389514 00000 n 
+0002389575 00000 n 
+0002389697 00000 n 
+0002389819 00000 n 
+0002389939 00000 n 
+0002390061 00000 n 
+0002390182 00000 n 
+0002392637 00000 n 
+0002394197 00000 n 
+0002392488 00000 n 
+0002390437 00000 n 
+0002392803 00000 n 
+0002392924 00000 n 
+0002393046 00000 n 
+0002393107 00000 n 
+0002393168 00000 n 
+0002393289 00000 n 
+0002393410 00000 n 
+0002393470 00000 n 
+0002393531 00000 n 
+0002393653 00000 n 
+0002393714 00000 n 
+0002393775 00000 n 
+0002393836 00000 n 
+0002393897 00000 n 
+0002394019 00000 n 
+0004863818 00000 n 
+0002396793 00000 n 
+0002397014 00000 n 
+0002397249 00000 n 
+0002397454 00000 n 
+0002397688 00000 n 
+0002397881 00000 n 
+0002398086 00000 n 
+0002398320 00000 n 
+0002398525 00000 n 
+0002398730 00000 n 
+0002398965 00000 n 
+0002399166 00000 n 
+0002399401 00000 n 
+0002399602 00000 n 
+0002399808 00000 n 
+0002400043 00000 n 
+0002400243 00000 n 
+0002400478 00000 n 
+0002400678 00000 n 
+0002400883 00000 n 
+0002401119 00000 n 
+0002401355 00000 n 
+0002401561 00000 n 
+0002401765 00000 n 
+0002402000 00000 n 
+0002402234 00000 n 
+0002402470 00000 n 
+0002402664 00000 n 
+0002402900 00000 n 
+0002403093 00000 n 
+0002403287 00000 n 
+0002403522 00000 n 
+0002403722 00000 n 
+0002403915 00000 n 
+0002404151 00000 n 
+0002404371 00000 n 
+0002404607 00000 n 
+0002404828 00000 n 
+0002405049 00000 n 
+0002405268 00000 n 
+0002405503 00000 n 
+0002405722 00000 n 
+0002405925 00000 n 
+0002410014 00000 n 
+0002410219 00000 n 
+0002406159 00000 n 
+0002407474 00000 n 
+0002396214 00000 n 
+0002394366 00000 n 
+0002406325 00000 n 
+0002406385 00000 n 
+0002406445 00000 n 
+0002406506 00000 n 
+0002406567 00000 n 
+0002406628 00000 n 
+0002406688 00000 n 
+0002406749 00000 n 
+0002406810 00000 n 
+0002406870 00000 n 
+0002406929 00000 n 
+0002406990 00000 n 
+0002407051 00000 n 
+0002407111 00000 n 
+0002407172 00000 n 
+0002407232 00000 n 
+0002407293 00000 n 
+0002407354 00000 n 
+0002407414 00000 n 
+0002429436 00000 n 
+0002429619 00000 n 
+0002410455 00000 n 
+0002410660 00000 n 
+0002410896 00000 n 
+0002411131 00000 n 
+0002411367 00000 n 
+0002411569 00000 n 
+0002411805 00000 n 
+0002412041 00000 n 
+0002412277 00000 n 
+0002412513 00000 n 
+0002412749 00000 n 
+0002412984 00000 n 
+0002413189 00000 n 
+0002413425 00000 n 
+0002413630 00000 n 
+0002413866 00000 n 
+0002414102 00000 n 
+0002414304 00000 n 
+0002414509 00000 n 
+0002414744 00000 n 
+0002414946 00000 n 
+0002415182 00000 n 
+0002415418 00000 n 
+0002415619 00000 n 
+0002415855 00000 n 
+0002416083 00000 n 
+0002416319 00000 n 
+0002416521 00000 n 
+0002416756 00000 n 
+0002416957 00000 n 
+0002421402 00000 n 
+0002421637 00000 n 
+0002421839 00000 n 
+0002422041 00000 n 
+0002422276 00000 n 
+0002422478 00000 n 
+0002422680 00000 n 
+0002422916 00000 n 
+0002423118 00000 n 
+0002417158 00000 n 
+0002418419 00000 n 
+0002409545 00000 n 
+0002407683 00000 n 
+0002417324 00000 n 
+0002417384 00000 n 
+0002417445 00000 n 
+0002417506 00000 n 
+0002417565 00000 n 
+0002417626 00000 n 
+0002417687 00000 n 
+0002417748 00000 n 
+0002417809 00000 n 
+0002417870 00000 n 
+0002417931 00000 n 
+0002417992 00000 n 
+0002418053 00000 n 
+0002418114 00000 n 
+0002418175 00000 n 
+0002418236 00000 n 
+0002418297 00000 n 
+0002418358 00000 n 
+0002429741 00000 n 
+0002434186 00000 n 
+0002434306 00000 n 
+0002423320 00000 n 
+0002423522 00000 n 
+0002423715 00000 n 
+0002423951 00000 n 
+0002427768 00000 n 
+0002424187 00000 n 
+0002424474 00000 n 
+0002421123 00000 n 
+0002418629 00000 n 
+0002424353 00000 n 
+0002424413 00000 n 
+0002434433 00000 n 
+0002428003 00000 n 
+0002428239 00000 n 
+0002428475 00000 n 
+0002428711 00000 n 
+0002428913 00000 n 
+0002429149 00000 n 
+0002429868 00000 n 
+0002427559 00000 n 
+0002424718 00000 n 
+0002429315 00000 n 
+0002429375 00000 n 
+0002429497 00000 n 
+0002429558 00000 n 
+0002429680 00000 n 
+0002429807 00000 n 
+0002432170 00000 n 
+0002432377 00000 n 
+0002432605 00000 n 
+0002432833 00000 n 
+0002433061 00000 n 
+0002433250 00000 n 
+0002433478 00000 n 
+0002433673 00000 n 
+0002437499 00000 n 
+0002437728 00000 n 
+0002433899 00000 n 
+0002435223 00000 n 
+0002431941 00000 n 
+0002430100 00000 n 
+0002434065 00000 n 
+0002434125 00000 n 
+0002434246 00000 n 
+0002434372 00000 n 
+0002434494 00000 n 
+0002434555 00000 n 
+0002434616 00000 n 
+0002434796 00000 n 
+0002434857 00000 n 
+0002434918 00000 n 
+0002434979 00000 n 
+0002435040 00000 n 
+0002435101 00000 n 
+0002435162 00000 n 
+0002437923 00000 n 
+0002438152 00000 n 
+0002438380 00000 n 
+0002438568 00000 n 
+0002441214 00000 n 
+0002445695 00000 n 
+0002438766 00000 n 
+0002439476 00000 n 
+0002437290 00000 n 
+0002435448 00000 n 
+0002438932 00000 n 
+0002438992 00000 n 
+0002439052 00000 n 
+0002439113 00000 n 
+0002439174 00000 n 
+0002439235 00000 n 
+0002439296 00000 n 
+0004863951 00000 n 
+0002445764 00000 n 
+0002446014 00000 n 
+0002446264 00000 n 
+0002449451 00000 n 
+0002453734 00000 n 
+0002446480 00000 n 
+0002447067 00000 n 
+0002441018 00000 n 
+0002439727 00000 n 
+0002446646 00000 n 
+0002446706 00000 n 
+0002446766 00000 n 
+0002446826 00000 n 
+0002446887 00000 n 
+0002442254 00000 n 
+0002442386 00000 n 
+0002442539 00000 n 
+0002442865 00000 n 
+0002443303 00000 n 
+0002443543 00000 n 
+0002443566 00000 n 
+0002445671 00000 n 
+0002453803 00000 n 
+0002454058 00000 n 
+0002454314 00000 n 
+0002460828 00000 n 
+0002454530 00000 n 
+0002455118 00000 n 
+0002449255 00000 n 
+0002447277 00000 n 
+0002454696 00000 n 
+0002454756 00000 n 
+0002454816 00000 n 
+0002454876 00000 n 
+0002454937 00000 n 
+0002454998 00000 n 
+0002450353 00000 n 
+0002450485 00000 n 
+0002450638 00000 n 
+0002450960 00000 n 
+0002451395 00000 n 
+0002451635 00000 n 
+0002451658 00000 n 
+0002453710 00000 n 
+0002456801 00000 n 
+0002460759 00000 n 
+0002461044 00000 n 
+0002461301 00000 n 
+0002461561 00000 n 
+0002461777 00000 n 
+0002462425 00000 n 
+0002456595 00000 n 
+0002455315 00000 n 
+0002461943 00000 n 
+0002462062 00000 n 
+0002462123 00000 n 
+0002462184 00000 n 
+0002462245 00000 n 
+0002457665 00000 n 
+0002457797 00000 n 
+0002457950 00000 n 
+0002458252 00000 n 
+0002458667 00000 n 
+0002458907 00000 n 
+0002458930 00000 n 
+0002460735 00000 n 
+0002464962 00000 n 
+0002465183 00000 n 
+0002465370 00000 n 
+0002465590 00000 n 
+0002465795 00000 n 
+0002466016 00000 n 
+0002466221 00000 n 
+0002466442 00000 n 
+0002466662 00000 n 
+0002470118 00000 n 
+0002466882 00000 n 
+0002467953 00000 n 
+0002464723 00000 n 
+0002462621 00000 n 
+0002467048 00000 n 
+0002467108 00000 n 
+0002467287 00000 n 
+0002467348 00000 n 
+0002467526 00000 n 
+0002467587 00000 n 
+0002467648 00000 n 
+0002467709 00000 n 
+0002467770 00000 n 
+0002467831 00000 n 
+0002467892 00000 n 
+0002470338 00000 n 
+0002470559 00000 n 
+0002470779 00000 n 
+0002470960 00000 n 
+0002471180 00000 n 
+0002471401 00000 n 
+0002471607 00000 n 
+0002471826 00000 n 
+0002472030 00000 n 
+0002472251 00000 n 
+0002476563 00000 n 
+0002476784 00000 n 
+0002476971 00000 n 
+0002472472 00000 n 
+0002472941 00000 n 
+0002469859 00000 n 
+0002468190 00000 n 
+0002472638 00000 n 
+0002472698 00000 n 
+0002472759 00000 n 
+0002472820 00000 n 
+0002472881 00000 n 
+0002478343 00000 n 
+0002478465 00000 n 
+0002482328 00000 n 
+0002482450 00000 n 
+0002482571 00000 n 
+0002477158 00000 n 
+0002477379 00000 n 
+0002477566 00000 n 
+0002477753 00000 n 
+0002477934 00000 n 
+0002478587 00000 n 
+0002476344 00000 n 
+0002473164 00000 n 
+0002478100 00000 n 
+0002478160 00000 n 
+0002478221 00000 n 
+0002478282 00000 n 
+0002478404 00000 n 
+0002478526 00000 n 
+0004864084 00000 n 
+0002482759 00000 n 
+0002482102 00000 n 
+0002483001 00000 n 
+0002481953 00000 n 
+0002478826 00000 n 
+0002482268 00000 n 
+0002482389 00000 n 
+0002482511 00000 n 
+0002482637 00000 n 
+0002482698 00000 n 
+0002482820 00000 n 
+0002482881 00000 n 
+0002485279 00000 n 
+0002485510 00000 n 
+0002485742 00000 n 
+0002485974 00000 n 
+0002486180 00000 n 
+0002486412 00000 n 
+0002486644 00000 n 
+0002486843 00000 n 
+0002487076 00000 n 
+0002487275 00000 n 
+0002487473 00000 n 
+0002487706 00000 n 
+0002487905 00000 n 
+0002488103 00000 n 
+0002488336 00000 n 
+0002488534 00000 n 
+0002488767 00000 n 
+0002488965 00000 n 
+0002489198 00000 n 
+0002489395 00000 n 
+0002489627 00000 n 
+0002489825 00000 n 
+0002490058 00000 n 
+0002490290 00000 n 
+0002490523 00000 n 
+0002490728 00000 n 
+0002490961 00000 n 
+0002491193 00000 n 
+0002491392 00000 n 
+0002491625 00000 n 
+0002491823 00000 n 
+0002492352 00000 n 
+0002484830 00000 n 
+0002483210 00000 n 
+0002491989 00000 n 
+0002492108 00000 n 
+0002492169 00000 n 
+0002492230 00000 n 
+0002492291 00000 n 
+0002494893 00000 n 
+0002495015 00000 n 
+0002495203 00000 n 
+0002495391 00000 n 
+0002495578 00000 n 
+0002498291 00000 n 
+0002498473 00000 n 
+0002498661 00000 n 
+0002498849 00000 n 
+0002498976 00000 n 
+0002499102 00000 n 
+0002499228 00000 n 
+0002499355 00000 n 
+0002501615 00000 n 
+0002501797 00000 n 
+0002494606 00000 n 
+0002495826 00000 n 
+0002494457 00000 n 
+0002492573 00000 n 
+0002494772 00000 n 
+0002494832 00000 n 
+0002494954 00000 n 
+0002495081 00000 n 
+0002495142 00000 n 
+0002495269 00000 n 
+0002495330 00000 n 
+0002495457 00000 n 
+0002495517 00000 n 
+0002495644 00000 n 
+0002495705 00000 n 
+0002495766 00000 n 
+0002498065 00000 n 
+0002499420 00000 n 
+0002497916 00000 n 
+0002496020 00000 n 
+0002498231 00000 n 
+0002498352 00000 n 
+0002498413 00000 n 
+0002498539 00000 n 
+0002498600 00000 n 
+0002498727 00000 n 
+0002498788 00000 n 
+0002498915 00000 n 
+0002499041 00000 n 
+0002499167 00000 n 
+0002499294 00000 n 
+0002503904 00000 n 
+0002507971 00000 n 
+0002501328 00000 n 
+0002502099 00000 n 
+0002501179 00000 n 
+0002499628 00000 n 
+0002501494 00000 n 
+0002501554 00000 n 
+0002501676 00000 n 
+0002501736 00000 n 
+0002501858 00000 n 
+0002501919 00000 n 
+0002508040 00000 n 
+0002508255 00000 n 
+0002508483 00000 n 
+0002508688 00000 n 
+0002508918 00000 n 
+0002509146 00000 n 
+0002509342 00000 n 
+0002509571 00000 n 
+0002509768 00000 n 
+0002509972 00000 n 
+0002510201 00000 n 
+0002510429 00000 n 
+0002510633 00000 n 
+0002510862 00000 n 
+0002511068 00000 n 
+0002511297 00000 n 
+0002511503 00000 n 
+0002511709 00000 n 
+0002511938 00000 n 
+0002512167 00000 n 
+0002512373 00000 n 
+0002512602 00000 n 
+0002512808 00000 n 
+0002513035 00000 n 
+0002513239 00000 n 
+0002516444 00000 n 
+0002513442 00000 n 
+0002513912 00000 n 
+0002503488 00000 n 
+0002502294 00000 n 
+0002513608 00000 n 
+0002513668 00000 n 
+0002513729 00000 n 
+0002513790 00000 n 
+0002513851 00000 n 
+0004864217 00000 n 
+0002504758 00000 n 
+0002504890 00000 n 
+0002505043 00000 n 
+0002505353 00000 n 
+0002505779 00000 n 
+0002506019 00000 n 
+0002506042 00000 n 
+0002507947 00000 n 
+0002596275 00000 n 
+0002596397 00000 n 
+0002599727 00000 n 
+0002599854 00000 n 
+0002599981 00000 n 
+0002600108 00000 n 
+0002600235 00000 n 
+0002600361 00000 n 
+0002600487 00000 n 
+0002516674 00000 n 
+0002516903 00000 n 
+0002517109 00000 n 
+0002517337 00000 n 
+0002517523 00000 n 
+0002517728 00000 n 
+0002517956 00000 n 
+0002518144 00000 n 
+0002518373 00000 n 
+0002518562 00000 n 
+0002518768 00000 n 
+0002518997 00000 n 
+0002519184 00000 n 
+0002519413 00000 n 
+0002519600 00000 n 
+0002519806 00000 n 
+0002520033 00000 n 
+0002520225 00000 n 
+0002520454 00000 n 
+0002520648 00000 n 
+0002520854 00000 n 
+0002521083 00000 n 
+0002521272 00000 n 
+0002521501 00000 n 
+0002521690 00000 n 
+0002521896 00000 n 
+0002522100 00000 n 
+0002522330 00000 n 
+0002522561 00000 n 
+0002522767 00000 n 
+0002522982 00000 n 
+0002523213 00000 n 
+0002523428 00000 n 
+0002523659 00000 n 
+0002523874 00000 n 
+0002524105 00000 n 
+0002524292 00000 n 
+0002524497 00000 n 
+0002524728 00000 n 
+0002524959 00000 n 
+0002525165 00000 n 
+0002525396 00000 n 
+0002525583 00000 n 
+0002525813 00000 n 
+0002526000 00000 n 
+0002526230 00000 n 
+0002526461 00000 n 
+0002526691 00000 n 
+0002526887 00000 n 
+0002527073 00000 n 
+0002527302 00000 n 
+0002531258 00000 n 
+0002531489 00000 n 
+0002531686 00000 n 
+0002531916 00000 n 
+0002532103 00000 n 
+0002527497 00000 n 
+0002528333 00000 n 
+0002515775 00000 n 
+0002514109 00000 n 
+0002527663 00000 n 
+0002527723 00000 n 
+0002527784 00000 n 
+0002527845 00000 n 
+0002527906 00000 n 
+0002527967 00000 n 
+0002528028 00000 n 
+0002528089 00000 n 
+0002528150 00000 n 
+0002528211 00000 n 
+0002528272 00000 n 
+0002600614 00000 n 
+0002605031 00000 n 
+0002605153 00000 n 
+0002605278 00000 n 
+0002605405 00000 n 
+0002605532 00000 n 
+0002609214 00000 n 
+0002609341 00000 n 
+0002609468 00000 n 
+0002609656 00000 n 
+0002609776 00000 n 
+0002609903 00000 n 
+0002610030 00000 n 
+0002614135 00000 n 
+0002532290 00000 n 
+0002532521 00000 n 
+0002532714 00000 n 
+0002532942 00000 n 
+0002533128 00000 n 
+0002533333 00000 n 
+0002533563 00000 n 
+0002533748 00000 n 
+0002533979 00000 n 
+0002534210 00000 n 
+0002534414 00000 n 
+0002534644 00000 n 
+0002534849 00000 n 
+0002535080 00000 n 
+0002535311 00000 n 
+0002535542 00000 n 
+0002535773 00000 n 
+0002536003 00000 n 
+0002536234 00000 n 
+0002536465 00000 n 
+0002536696 00000 n 
+0002536893 00000 n 
+0002537121 00000 n 
+0002537317 00000 n 
+0002537520 00000 n 
+0002537749 00000 n 
+0002537946 00000 n 
+0002538150 00000 n 
+0002538355 00000 n 
+0002538586 00000 n 
+0002538783 00000 n 
+0002539014 00000 n 
+0002539245 00000 n 
+0002539475 00000 n 
+0002539667 00000 n 
+0002539873 00000 n 
+0002540104 00000 n 
+0002540301 00000 n 
+0002540532 00000 n 
+0002540763 00000 n 
+0002540959 00000 n 
+0002541188 00000 n 
+0002542568 00000 n 
+0002530649 00000 n 
+0002528516 00000 n 
+0002541354 00000 n 
+0002541414 00000 n 
+0002541475 00000 n 
+0002541536 00000 n 
+0002541597 00000 n 
+0002541658 00000 n 
+0002541719 00000 n 
+0002541780 00000 n 
+0002541840 00000 n 
+0002541901 00000 n 
+0002541962 00000 n 
+0002542023 00000 n 
+0002542084 00000 n 
+0002542145 00000 n 
+0002542206 00000 n 
+0002542266 00000 n 
+0002542326 00000 n 
+0002542386 00000 n 
+0002542447 00000 n 
+0002614262 00000 n 
+0002614389 00000 n 
+0002614513 00000 n 
+0002614640 00000 n 
+0002614828 00000 n 
+0002614955 00000 n 
+0002617517 00000 n 
+0002544942 00000 n 
+0002545137 00000 n 
+0002545368 00000 n 
+0002545565 00000 n 
+0002545762 00000 n 
+0002545957 00000 n 
+0002546188 00000 n 
+0002546374 00000 n 
+0002546561 00000 n 
+0002546756 00000 n 
+0002546987 00000 n 
+0002547173 00000 n 
+0002547370 00000 n 
+0002547565 00000 n 
+0002547796 00000 n 
+0002547993 00000 n 
+0002548180 00000 n 
+0002548374 00000 n 
+0002548604 00000 n 
+0002548800 00000 n 
+0002548995 00000 n 
+0002549226 00000 n 
+0002549420 00000 n 
+0002549614 00000 n 
+0002549844 00000 n 
+0002550040 00000 n 
+0002550234 00000 n 
+0002550464 00000 n 
+0002550660 00000 n 
+0002550855 00000 n 
+0002551086 00000 n 
+0002551283 00000 n 
+0002551480 00000 n 
+0002551674 00000 n 
+0002551904 00000 n 
+0002552089 00000 n 
+0002552275 00000 n 
+0002552470 00000 n 
+0002552701 00000 n 
+0002552887 00000 n 
+0002553084 00000 n 
+0002553279 00000 n 
+0002553510 00000 n 
+0002553707 00000 n 
+0002553894 00000 n 
+0002554089 00000 n 
+0002554320 00000 n 
+0002554517 00000 n 
+0002554712 00000 n 
+0002554943 00000 n 
+0002555140 00000 n 
+0002555335 00000 n 
+0002555566 00000 n 
+0002555763 00000 n 
+0002555958 00000 n 
+0002556189 00000 n 
+0002556386 00000 n 
+0002556581 00000 n 
+0002556810 00000 n 
+0002557006 00000 n 
+0002557203 00000 n 
+0002557398 00000 n 
+0002557627 00000 n 
+0002557823 00000 n 
+0002558010 00000 n 
+0002558205 00000 n 
+0002558434 00000 n 
+0002558630 00000 n 
+0002558825 00000 n 
+0002559054 00000 n 
+0002559249 00000 n 
+0002559446 00000 n 
+0002559640 00000 n 
+0002559868 00000 n 
+0002560062 00000 n 
+0002560248 00000 n 
+0002560441 00000 n 
+0002560668 00000 n 
+0002564191 00000 n 
+0002564386 00000 n 
+0002564615 00000 n 
+0002564812 00000 n 
+0002565006 00000 n 
+0002565234 00000 n 
+0002560861 00000 n 
+0002561148 00000 n 
+0002544013 00000 n 
+0002542792 00000 n 
+0002561027 00000 n 
+0002561087 00000 n 
+0002617705 00000 n 
+0002617825 00000 n 
+0002617947 00000 n 
+0002618069 00000 n 
+0002618191 00000 n 
+0002618313 00000 n 
+0002618435 00000 n 
+0002618557 00000 n 
+0002618678 00000 n 
+0002618800 00000 n 
+0002618922 00000 n 
+0002621848 00000 n 
+0002621970 00000 n 
+0002622092 00000 n 
+0002622213 00000 n 
+0002622334 00000 n 
+0002622455 00000 n 
+0002622576 00000 n 
+0002622759 00000 n 
+0002622881 00000 n 
+0002623003 00000 n 
+0002626524 00000 n 
+0002565430 00000 n 
+0002565661 00000 n 
+0002565858 00000 n 
+0002566053 00000 n 
+0002566284 00000 n 
+0002566481 00000 n 
+0002566667 00000 n 
+0002566898 00000 n 
+0002567095 00000 n 
+0002567486 00000 n 
+0002567717 00000 n 
+0002567914 00000 n 
+0002568306 00000 n 
+0002568501 00000 n 
+0002568732 00000 n 
+0002568929 00000 n 
+0002569115 00000 n 
+0002569346 00000 n 
+0002569543 00000 n 
+0002569774 00000 n 
+0002569971 00000 n 
+0002570168 00000 n 
+0002570363 00000 n 
+0002570594 00000 n 
+0002570791 00000 n 
+0002570986 00000 n 
+0002571217 00000 n 
+0002571414 00000 n 
+0002571609 00000 n 
+0002571840 00000 n 
+0002572037 00000 n 
+0002572224 00000 n 
+0002572419 00000 n 
+0002572650 00000 n 
+0002572847 00000 n 
+0002573042 00000 n 
+0002573273 00000 n 
+0002573460 00000 n 
+0002573647 00000 n 
+0002573842 00000 n 
+0002574073 00000 n 
+0002574270 00000 n 
+0002574464 00000 n 
+0002574692 00000 n 
+0002574887 00000 n 
+0002575081 00000 n 
+0002575309 00000 n 
+0002575503 00000 n 
+0002575698 00000 n 
+0002575929 00000 n 
+0002576126 00000 n 
+0002576323 00000 n 
+0002576518 00000 n 
+0002576749 00000 n 
+0002576936 00000 n 
+0002577133 00000 n 
+0002577328 00000 n 
+0002577559 00000 n 
+0002577756 00000 n 
+0002577951 00000 n 
+0002578182 00000 n 
+0002578369 00000 n 
+0002578556 00000 n 
+0002578751 00000 n 
+0002578982 00000 n 
+0002579179 00000 n 
+0002579374 00000 n 
+0002579605 00000 n 
+0002579802 00000 n 
+0002579999 00000 n 
+0002580192 00000 n 
+0002580421 00000 n 
+0002580606 00000 n 
+0002580801 00000 n 
+0002580995 00000 n 
+0002581225 00000 n 
+0002581421 00000 n 
+0002581607 00000 n 
+0002581802 00000 n 
+0002582033 00000 n 
+0002582230 00000 n 
+0002582425 00000 n 
+0002582656 00000 n 
+0002582852 00000 n 
+0002583047 00000 n 
+0002583276 00000 n 
+0002583472 00000 n 
+0002583669 00000 n 
+0002583864 00000 n 
+0002584093 00000 n 
+0002584289 00000 n 
+0002584476 00000 n 
+0002584671 00000 n 
+0002584900 00000 n 
+0002585095 00000 n 
+0002585292 00000 n 
+0002585487 00000 n 
+0002585716 00000 n 
+0002585911 00000 n 
+0002586098 00000 n 
+0002586292 00000 n 
+0002586520 00000 n 
+0002586716 00000 n 
+0002586909 00000 n 
+0002587136 00000 n 
+0002587331 00000 n 
+0002587560 00000 n 
+0002591301 00000 n 
+0002591496 00000 n 
+0002591727 00000 n 
+0002591924 00000 n 
+0002592111 00000 n 
+0002592306 00000 n 
+0002592537 00000 n 
+0002592734 00000 n 
+0002592921 00000 n 
+0002593151 00000 n 
+0002587755 00000 n 
+0002587981 00000 n 
+0002562892 00000 n 
+0002561344 00000 n 
+0002587921 00000 n 
+0002567291 00000 n 
+0002568111 00000 n 
+0002626646 00000 n 
+0002626768 00000 n 
+0002626890 00000 n 
+0002627012 00000 n 
+0002627132 00000 n 
+0002627253 00000 n 
+0002627374 00000 n 
+0002627495 00000 n 
+0002627617 00000 n 
+0002630256 00000 n 
+0002630439 00000 n 
+0002630805 00000 n 
+0002630988 00000 n 
+0002631231 00000 n 
+0002631353 00000 n 
+0002631656 00000 n 
+0002631839 00000 n 
+0002593347 00000 n 
+0002593578 00000 n 
+0002593775 00000 n 
+0002593972 00000 n 
+0002594168 00000 n 
+0002594355 00000 n 
+0002594541 00000 n 
+0002594772 00000 n 
+0002595003 00000 n 
+0002595234 00000 n 
+0002595465 00000 n 
+0002595696 00000 n 
+0002595927 00000 n 
+0002596462 00000 n 
+0002590932 00000 n 
+0002588177 00000 n 
+0002596093 00000 n 
+0002596153 00000 n 
+0002596214 00000 n 
+0002596336 00000 n 
+0002638122 00000 n 
+0002638244 00000 n 
+0002599440 00000 n 
+0002600740 00000 n 
+0002599291 00000 n 
+0002596706 00000 n 
+0002599606 00000 n 
+0002599666 00000 n 
+0002599793 00000 n 
+0002599920 00000 n 
+0002600047 00000 n 
+0002600174 00000 n 
+0002600300 00000 n 
+0002600426 00000 n 
+0002600553 00000 n 
+0002600680 00000 n 
+0004864350 00000 n 
+0002603888 00000 n 
+0002604350 00000 n 
+0002604547 00000 n 
+0002604744 00000 n 
+0002605657 00000 n 
+0002603699 00000 n 
+0002600909 00000 n 
+0002604910 00000 n 
+0002604970 00000 n 
+0002604119 00000 n 
+0002605092 00000 n 
+0002605218 00000 n 
+0002605344 00000 n 
+0002605471 00000 n 
+0002605597 00000 n 
+0002608595 00000 n 
+0002608792 00000 n 
+0002608988 00000 n 
+0002610155 00000 n 
+0002608426 00000 n 
+0002605951 00000 n 
+0002609154 00000 n 
+0002609280 00000 n 
+0002609407 00000 n 
+0002609534 00000 n 
+0002609595 00000 n 
+0002609716 00000 n 
+0002609842 00000 n 
+0002609969 00000 n 
+0002610095 00000 n 
+0002613848 00000 n 
+0002615019 00000 n 
+0002613699 00000 n 
+0002610423 00000 n 
+0002614014 00000 n 
+0002614074 00000 n 
+0002614201 00000 n 
+0002614328 00000 n 
+0002614453 00000 n 
+0002614579 00000 n 
+0002614706 00000 n 
+0002614767 00000 n 
+0002614894 00000 n 
+0002617230 00000 n 
+0002619042 00000 n 
+0002617081 00000 n 
+0002615238 00000 n 
+0002617396 00000 n 
+0002617456 00000 n 
+0002617583 00000 n 
+0002617644 00000 n 
+0002617765 00000 n 
+0002617886 00000 n 
+0002618008 00000 n 
+0002618130 00000 n 
+0002618252 00000 n 
+0002618374 00000 n 
+0002618496 00000 n 
+0002618617 00000 n 
+0002618739 00000 n 
+0002618861 00000 n 
+0002618982 00000 n 
+0002621161 00000 n 
+0002621622 00000 n 
+0002623125 00000 n 
+0002620992 00000 n 
+0002619198 00000 n 
+0002621788 00000 n 
+0002621909 00000 n 
+0002622031 00000 n 
+0002622152 00000 n 
+0002622273 00000 n 
+0002622394 00000 n 
+0002622515 00000 n 
+0002622637 00000 n 
+0002622698 00000 n 
+0002621391 00000 n 
+0002622820 00000 n 
+0002622942 00000 n 
+0002623064 00000 n 
+0002625775 00000 n 
+0002626237 00000 n 
+0002627859 00000 n 
+0002625606 00000 n 
+0002623307 00000 n 
+0002626403 00000 n 
+0002626463 00000 n 
+0002626006 00000 n 
+0002626585 00000 n 
+0002626707 00000 n 
+0002626829 00000 n 
+0002626951 00000 n 
+0002627073 00000 n 
+0002627193 00000 n 
+0002627314 00000 n 
+0002627435 00000 n 
+0002627556 00000 n 
+0002627678 00000 n 
+0002627739 00000 n 
+0002627799 00000 n 
+0004864483 00000 n 
+0002630030 00000 n 
+0002631959 00000 n 
+0002629881 00000 n 
+0002628054 00000 n 
+0002630196 00000 n 
+0002630317 00000 n 
+0002630378 00000 n 
+0002630500 00000 n 
+0002630561 00000 n 
+0002630622 00000 n 
+0002630683 00000 n 
+0002630744 00000 n 
+0002630866 00000 n 
+0002630927 00000 n 
+0002631049 00000 n 
+0002631110 00000 n 
+0002631171 00000 n 
+0002631292 00000 n 
+0002631414 00000 n 
+0002631475 00000 n 
+0002631536 00000 n 
+0002631595 00000 n 
+0002631717 00000 n 
+0002631778 00000 n 
+0002631899 00000 n 
+0002634731 00000 n 
+0002634955 00000 n 
+0002635179 00000 n 
+0002635370 00000 n 
+0002635594 00000 n 
+0002635817 00000 n 
+0002636041 00000 n 
+0002636228 00000 n 
+0002636452 00000 n 
+0002636649 00000 n 
+0002636854 00000 n 
+0002637079 00000 n 
+0002637304 00000 n 
+0002637490 00000 n 
+0002642241 00000 n 
+0002637713 00000 n 
+0002639155 00000 n 
+0002634442 00000 n 
+0002632128 00000 n 
+0002637879 00000 n 
+0002637939 00000 n 
+0002638000 00000 n 
+0002638061 00000 n 
+0002638183 00000 n 
+0002638305 00000 n 
+0002638366 00000 n 
+0002638427 00000 n 
+0002638607 00000 n 
+0002638668 00000 n 
+0002638729 00000 n 
+0002638790 00000 n 
+0002638851 00000 n 
+0002638912 00000 n 
+0002638973 00000 n 
+0002639034 00000 n 
+0002639095 00000 n 
+0002699537 00000 n 
+0002642466 00000 n 
+0002642671 00000 n 
+0002642896 00000 n 
+0002643101 00000 n 
+0002643326 00000 n 
+0002643550 00000 n 
+0002643775 00000 n 
+0002644000 00000 n 
+0002644225 00000 n 
+0002644450 00000 n 
+0002644675 00000 n 
+0002644900 00000 n 
+0002645091 00000 n 
+0002645315 00000 n 
+0002645540 00000 n 
+0002645746 00000 n 
+0002645937 00000 n 
+0002646160 00000 n 
+0002646348 00000 n 
+0002646554 00000 n 
+0002646779 00000 n 
+0002646970 00000 n 
+0002647195 00000 n 
+0002647400 00000 n 
+0002647591 00000 n 
+0002647777 00000 n 
+0002648001 00000 n 
+0002648207 00000 n 
+0002648398 00000 n 
+0002648585 00000 n 
+0002648776 00000 n 
+0002648998 00000 n 
+0002649201 00000 n 
+0002649389 00000 n 
+0002649593 00000 n 
+0002653076 00000 n 
+0002653301 00000 n 
+0002653492 00000 n 
+0002653683 00000 n 
+0002653873 00000 n 
+0002654098 00000 n 
+0002654289 00000 n 
+0002649782 00000 n 
+0002650738 00000 n 
+0002641732 00000 n 
+0002639393 00000 n 
+0002649948 00000 n 
+0002650008 00000 n 
+0002650069 00000 n 
+0002650130 00000 n 
+0002650190 00000 n 
+0002650251 00000 n 
+0002650312 00000 n 
+0002650373 00000 n 
+0002650433 00000 n 
+0002650494 00000 n 
+0002650555 00000 n 
+0002650616 00000 n 
+0002650677 00000 n 
+0002699781 00000 n 
+0002704135 00000 n 
+0002704321 00000 n 
+0002707983 00000 n 
+0002708105 00000 n 
+0002654480 00000 n 
+0002654669 00000 n 
+0002654893 00000 n 
+0002655078 00000 n 
+0002655268 00000 n 
+0002655457 00000 n 
+0002655681 00000 n 
+0002655871 00000 n 
+0002656057 00000 n 
+0002656247 00000 n 
+0002656472 00000 n 
+0002656663 00000 n 
+0002656853 00000 n 
+0002657078 00000 n 
+0002657269 00000 n 
+0002657459 00000 n 
+0002657684 00000 n 
+0002657875 00000 n 
+0002658065 00000 n 
+0002658290 00000 n 
+0002658481 00000 n 
+0002658670 00000 n 
+0002658894 00000 n 
+0002659084 00000 n 
+0002659274 00000 n 
+0002659464 00000 n 
+0002659689 00000 n 
+0002659875 00000 n 
+0002660066 00000 n 
+0002660256 00000 n 
+0002660481 00000 n 
+0002660672 00000 n 
+0002660859 00000 n 
+0002661049 00000 n 
+0002661274 00000 n 
+0002661465 00000 n 
+0002661655 00000 n 
+0002661880 00000 n 
+0002662071 00000 n 
+0002662261 00000 n 
+0002662486 00000 n 
+0002662676 00000 n 
+0002662866 00000 n 
+0002663091 00000 n 
+0002663281 00000 n 
+0002663470 00000 n 
+0002663694 00000 n 
+0002663883 00000 n 
+0002666799 00000 n 
+0002666989 00000 n 
+0002667214 00000 n 
+0002667404 00000 n 
+0002667591 00000 n 
+0002667780 00000 n 
+0002668004 00000 n 
+0002664072 00000 n 
+0002664298 00000 n 
+0002652377 00000 n 
+0002650962 00000 n 
+0002664238 00000 n 
+0002708357 00000 n 
+0002708484 00000 n 
+0002708605 00000 n 
+0002708726 00000 n 
+0002708848 00000 n 
+0002708970 00000 n 
+0002709091 00000 n 
+0002711479 00000 n 
+0002711601 00000 n 
+0002711723 00000 n 
+0002711845 00000 n 
+0002711967 00000 n 
+0002712089 00000 n 
+0002712211 00000 n 
+0002712333 00000 n 
+0002712455 00000 n 
+0002668193 00000 n 
+0002668383 00000 n 
+0002668608 00000 n 
+0002668798 00000 n 
+0002668988 00000 n 
+0002669177 00000 n 
+0002669401 00000 n 
+0002669590 00000 n 
+0002669776 00000 n 
+0002669966 00000 n 
+0002670191 00000 n 
+0002670381 00000 n 
+0002670571 00000 n 
+0002670796 00000 n 
+0002670987 00000 n 
+0002671177 00000 n 
+0002671402 00000 n 
+0002671593 00000 n 
+0002671817 00000 n 
+0002672008 00000 n 
+0002672199 00000 n 
+0002672424 00000 n 
+0002672615 00000 n 
+0002672806 00000 n 
+0002673031 00000 n 
+0002673222 00000 n 
+0002673412 00000 n 
+0002673637 00000 n 
+0002673828 00000 n 
+0002674018 00000 n 
+0002674243 00000 n 
+0002674434 00000 n 
+0002674624 00000 n 
+0002674849 00000 n 
+0002675040 00000 n 
+0002675225 00000 n 
+0002675415 00000 n 
+0002675640 00000 n 
+0002675831 00000 n 
+0002676021 00000 n 
+0002676246 00000 n 
+0002676433 00000 n 
+0002676620 00000 n 
+0002676810 00000 n 
+0002677035 00000 n 
+0002677225 00000 n 
+0002677414 00000 n 
+0002677638 00000 n 
+0002677827 00000 n 
+0002678017 00000 n 
+0002678242 00000 n 
+0002678432 00000 n 
+0002678656 00000 n 
+0002678846 00000 n 
+0002679036 00000 n 
+0002679259 00000 n 
+0002679448 00000 n 
+0002683051 00000 n 
+0002683241 00000 n 
+0002683466 00000 n 
+0002683657 00000 n 
+0002683848 00000 n 
+0002684038 00000 n 
+0002684263 00000 n 
+0002684450 00000 n 
+0002679637 00000 n 
+0002679863 00000 n 
+0002666010 00000 n 
+0002664508 00000 n 
+0002679803 00000 n 
+0002712577 00000 n 
+0002716253 00000 n 
+0002716375 00000 n 
+0002716496 00000 n 
+0002716678 00000 n 
+0002716800 00000 n 
+0002716921 00000 n 
+0002717042 00000 n 
+0002717169 00000 n 
+0002717290 00000 n 
+0002720074 00000 n 
+0002720257 00000 n 
+0002684641 00000 n 
+0002684831 00000 n 
+0002685056 00000 n 
+0002685247 00000 n 
+0002685436 00000 n 
+0002685660 00000 n 
+0002685850 00000 n 
+0002686039 00000 n 
+0002686263 00000 n 
+0002686453 00000 n 
+0002686643 00000 n 
+0002686833 00000 n 
+0002687058 00000 n 
+0002687245 00000 n 
+0002687436 00000 n 
+0002687626 00000 n 
+0002687851 00000 n 
+0002688042 00000 n 
+0002688227 00000 n 
+0002688417 00000 n 
+0002688642 00000 n 
+0002688833 00000 n 
+0002689023 00000 n 
+0002689248 00000 n 
+0002689438 00000 n 
+0002689628 00000 n 
+0002689853 00000 n 
+0002690043 00000 n 
+0002690233 00000 n 
+0002690423 00000 n 
+0002690648 00000 n 
+0002690838 00000 n 
+0002691025 00000 n 
+0002691215 00000 n 
+0002691440 00000 n 
+0002691630 00000 n 
+0002691820 00000 n 
+0002692010 00000 n 
+0002692235 00000 n 
+0002692425 00000 n 
+0002692612 00000 n 
+0002692802 00000 n 
+0002693027 00000 n 
+0002693218 00000 n 
+0002693408 00000 n 
+0002693633 00000 n 
+0002693824 00000 n 
+0002694048 00000 n 
+0002694239 00000 n 
+0002694430 00000 n 
+0002694655 00000 n 
+0002694846 00000 n 
+0002695036 00000 n 
+0002695222 00000 n 
+0002695407 00000 n 
+0002695755 00000 n 
+0002682282 00000 n 
+0002680073 00000 n 
+0002695573 00000 n 
+0002695633 00000 n 
+0002695694 00000 n 
+0004864616 00000 n 
+0002720745 00000 n 
+0002721050 00000 n 
+0002721172 00000 n 
+0002726166 00000 n 
+0002726349 00000 n 
+0002698389 00000 n 
+0002698576 00000 n 
+0002698801 00000 n 
+0002699250 00000 n 
+0002699903 00000 n 
+0002698200 00000 n 
+0002695998 00000 n 
+0002699416 00000 n 
+0002699476 00000 n 
+0002699598 00000 n 
+0002699659 00000 n 
+0002699026 00000 n 
+0002699720 00000 n 
+0002699842 00000 n 
+0002703521 00000 n 
+0002703710 00000 n 
+0002703909 00000 n 
+0002704509 00000 n 
+0002703352 00000 n 
+0002700135 00000 n 
+0002704075 00000 n 
+0002704200 00000 n 
+0002704260 00000 n 
+0002704387 00000 n 
+0002704448 00000 n 
+0002707696 00000 n 
+0002709211 00000 n 
+0002707547 00000 n 
+0002704793 00000 n 
+0002707862 00000 n 
+0002707922 00000 n 
+0002708044 00000 n 
+0002708171 00000 n 
+0002708296 00000 n 
+0002708423 00000 n 
+0002708545 00000 n 
+0002708665 00000 n 
+0002708787 00000 n 
+0002708909 00000 n 
+0002709030 00000 n 
+0002709151 00000 n 
+0002711253 00000 n 
+0002712699 00000 n 
+0002711104 00000 n 
+0002709404 00000 n 
+0002711419 00000 n 
+0002711540 00000 n 
+0002711662 00000 n 
+0002711784 00000 n 
+0002711906 00000 n 
+0002712028 00000 n 
+0002712150 00000 n 
+0002712272 00000 n 
+0002712394 00000 n 
+0002712516 00000 n 
+0002712638 00000 n 
+0002715070 00000 n 
+0002715519 00000 n 
+0002715966 00000 n 
+0002717410 00000 n 
+0002714881 00000 n 
+0002712881 00000 n 
+0002716132 00000 n 
+0002716192 00000 n 
+0002715295 00000 n 
+0002716314 00000 n 
+0002716435 00000 n 
+0002716557 00000 n 
+0002716618 00000 n 
+0002715744 00000 n 
+0002716739 00000 n 
+0002716860 00000 n 
+0002716981 00000 n 
+0002717108 00000 n 
+0002717229 00000 n 
+0002717350 00000 n 
+0002719726 00000 n 
+0002721354 00000 n 
+0002719577 00000 n 
+0002717605 00000 n 
+0002719892 00000 n 
+0002719952 00000 n 
+0002720013 00000 n 
+0002720135 00000 n 
+0002720196 00000 n 
+0002720318 00000 n 
+0002720379 00000 n 
+0002720440 00000 n 
+0002720501 00000 n 
+0002720562 00000 n 
+0002720623 00000 n 
+0002720684 00000 n 
+0002720806 00000 n 
+0002720867 00000 n 
+0002720928 00000 n 
+0002720989 00000 n 
+0002721111 00000 n 
+0002721233 00000 n 
+0002721294 00000 n 
+0004864749 00000 n 
+0002723872 00000 n 
+0002724082 00000 n 
+0002724307 00000 n 
+0002724565 00000 n 
+0002724790 00000 n 
+0002725048 00000 n 
+0002725562 00000 n 
+0002729974 00000 n 
+0002730197 00000 n 
+0002725818 00000 n 
+0002726955 00000 n 
+0002723643 00000 n 
+0002721536 00000 n 
+0002725984 00000 n 
+0002726044 00000 n 
+0002726105 00000 n 
+0002726227 00000 n 
+0002726288 00000 n 
+0002726410 00000 n 
+0002726471 00000 n 
+0002726532 00000 n 
+0002726593 00000 n 
+0002726654 00000 n 
+0002726833 00000 n 
+0002726894 00000 n 
+0002725306 00000 n 
+0002759235 00000 n 
+0002759357 00000 n 
+0002759422 00000 n 
+0002763265 00000 n 
+0002763331 00000 n 
+0002763397 00000 n 
+0002730402 00000 n 
+0002730625 00000 n 
+0002730830 00000 n 
+0002731022 00000 n 
+0002731414 00000 n 
+0002731644 00000 n 
+0002731850 00000 n 
+0002732090 00000 n 
+0002732314 00000 n 
+0002732520 00000 n 
+0002732716 00000 n 
+0002733177 00000 n 
+0002733382 00000 n 
+0002733622 00000 n 
+0002733846 00000 n 
+0002734052 00000 n 
+0002734249 00000 n 
+0002734446 00000 n 
+0002734907 00000 n 
+0002735113 00000 n 
+0002735353 00000 n 
+0002735577 00000 n 
+0002735768 00000 n 
+0002735992 00000 n 
+0002736181 00000 n 
+0002736403 00000 n 
+0002736593 00000 n 
+0002736798 00000 n 
+0002737023 00000 n 
+0002737215 00000 n 
+0002737439 00000 n 
+0002737647 00000 n 
+0002737871 00000 n 
+0002738080 00000 n 
+0002738305 00000 n 
+0002738501 00000 n 
+0002738725 00000 n 
+0002738930 00000 n 
+0002739155 00000 n 
+0002739379 00000 n 
+0002739604 00000 n 
+0002739809 00000 n 
+0002740034 00000 n 
+0002740226 00000 n 
+0002740451 00000 n 
+0002740640 00000 n 
+0002740865 00000 n 
+0002741061 00000 n 
+0002741284 00000 n 
+0002745188 00000 n 
+0002745413 00000 n 
+0002745618 00000 n 
+0002741479 00000 n 
+0002742313 00000 n 
+0002729285 00000 n 
+0002727150 00000 n 
+0002741645 00000 n 
+0002741705 00000 n 
+0002731218 00000 n 
+0002732947 00000 n 
+0002734677 00000 n 
+0002741766 00000 n 
+0002741827 00000 n 
+0002741888 00000 n 
+0002741949 00000 n 
+0002742010 00000 n 
+0002742070 00000 n 
+0002742131 00000 n 
+0002742191 00000 n 
+0002742252 00000 n 
+0002763524 00000 n 
+0002763768 00000 n 
+0002768521 00000 n 
+0002768764 00000 n 
+0002769069 00000 n 
+0002772657 00000 n 
+0002772906 00000 n 
+0002773092 00000 n 
+0002773275 00000 n 
+0002773456 00000 n 
+0002745843 00000 n 
+0002746046 00000 n 
+0002746271 00000 n 
+0002746496 00000 n 
+0002746684 00000 n 
+0002746890 00000 n 
+0002747298 00000 n 
+0002747486 00000 n 
+0002747711 00000 n 
+0002747897 00000 n 
+0002748120 00000 n 
+0002748344 00000 n 
+0002748548 00000 n 
+0002748751 00000 n 
+0002748976 00000 n 
+0002749201 00000 n 
+0002749426 00000 n 
+0002749651 00000 n 
+0002749876 00000 n 
+0002750099 00000 n 
+0002750304 00000 n 
+0002750529 00000 n 
+0002750734 00000 n 
+0002750959 00000 n 
+0002751184 00000 n 
+0002751375 00000 n 
+0002751599 00000 n 
+0002751824 00000 n 
+0002752049 00000 n 
+0002752274 00000 n 
+0002752499 00000 n 
+0002752704 00000 n 
+0002752928 00000 n 
+0002756620 00000 n 
+0002756844 00000 n 
+0002753116 00000 n 
+0002754135 00000 n 
+0002744669 00000 n 
+0002742551 00000 n 
+0002753282 00000 n 
+0002753342 00000 n 
+0002747096 00000 n 
+0002753403 00000 n 
+0002753464 00000 n 
+0002753525 00000 n 
+0002753586 00000 n 
+0002753647 00000 n 
+0002753708 00000 n 
+0002753769 00000 n 
+0002753830 00000 n 
+0002753891 00000 n 
+0002753952 00000 n 
+0002754013 00000 n 
+0002754074 00000 n 
+0002776895 00000 n 
+0002777017 00000 n 
+0002777139 00000 n 
+0002777383 00000 n 
+0002777566 00000 n 
+0002780593 00000 n 
+0002757034 00000 n 
+0002757259 00000 n 
+0002757450 00000 n 
+0002757641 00000 n 
+0002757866 00000 n 
+0002758057 00000 n 
+0002758248 00000 n 
+0002758444 00000 n 
+0002758635 00000 n 
+0002758826 00000 n 
+0002759482 00000 n 
+0002756361 00000 n 
+0002754347 00000 n 
+0002758992 00000 n 
+0002759052 00000 n 
+0002759113 00000 n 
+0002759174 00000 n 
+0002759296 00000 n 
+0002780837 00000 n 
+0002780959 00000 n 
+0002762753 00000 n 
+0002767559 00000 n 
+0002762978 00000 n 
+0002763951 00000 n 
+0002762594 00000 n 
+0002759679 00000 n 
+0002763144 00000 n 
+0002763204 00000 n 
+0002763463 00000 n 
+0002763585 00000 n 
+0002763646 00000 n 
+0002763707 00000 n 
+0002763829 00000 n 
+0002763890 00000 n 
+0002767784 00000 n 
+0002768009 00000 n 
+0002768234 00000 n 
+0002769189 00000 n 
+0002767380 00000 n 
+0002764173 00000 n 
+0002768400 00000 n 
+0002768460 00000 n 
+0002768582 00000 n 
+0002768643 00000 n 
+0002768704 00000 n 
+0002768825 00000 n 
+0002768886 00000 n 
+0002768947 00000 n 
+0002769008 00000 n 
+0002769129 00000 n 
+0004864882 00000 n 
+0002772207 00000 n 
+0002772431 00000 n 
+0002773576 00000 n 
+0002772048 00000 n 
+0002769396 00000 n 
+0002772597 00000 n 
+0002772723 00000 n 
+0002772784 00000 n 
+0002772845 00000 n 
+0002772971 00000 n 
+0002773031 00000 n 
+0002773153 00000 n 
+0002773214 00000 n 
+0002773336 00000 n 
+0002773395 00000 n 
+0002773516 00000 n 
+0002776608 00000 n 
+0002777626 00000 n 
+0002776459 00000 n 
+0002773770 00000 n 
+0002776774 00000 n 
+0002776834 00000 n 
+0002776956 00000 n 
+0002777078 00000 n 
+0002777200 00000 n 
+0002777261 00000 n 
+0002777322 00000 n 
+0002777444 00000 n 
+0002777505 00000 n 
+0002783287 00000 n 
+0002787719 00000 n 
+0002780245 00000 n 
+0002781259 00000 n 
+0002780096 00000 n 
+0002777824 00000 n 
+0002780411 00000 n 
+0002780471 00000 n 
+0002780532 00000 n 
+0002780654 00000 n 
+0002780715 00000 n 
+0002780776 00000 n 
+0002780898 00000 n 
+0002781020 00000 n 
+0002781081 00000 n 
+0002787788 00000 n 
+0002787993 00000 n 
+0002788231 00000 n 
+0002788485 00000 n 
+0002788689 00000 n 
+0002788894 00000 n 
+0002789133 00000 n 
+0002789387 00000 n 
+0002789592 00000 n 
+0002789797 00000 n 
+0002790037 00000 n 
+0002790293 00000 n 
+0002790497 00000 n 
+0002790701 00000 n 
+0002790941 00000 n 
+0002791197 00000 n 
+0002791403 00000 n 
+0002791608 00000 n 
+0002791848 00000 n 
+0002792104 00000 n 
+0002792310 00000 n 
+0002792565 00000 n 
+0002792805 00000 n 
+0002793045 00000 n 
+0002793285 00000 n 
+0002793541 00000 n 
+0002797511 00000 n 
+0002797767 00000 n 
+0002797971 00000 n 
+0002793762 00000 n 
+0002794473 00000 n 
+0002782861 00000 n 
+0002781483 00000 n 
+0002793928 00000 n 
+0002793988 00000 n 
+0002794049 00000 n 
+0002794229 00000 n 
+0002794290 00000 n 
+0002794351 00000 n 
+0002794412 00000 n 
+0002784252 00000 n 
+0002784384 00000 n 
+0002784537 00000 n 
+0002784871 00000 n 
+0002785319 00000 n 
+0002785559 00000 n 
+0002785582 00000 n 
+0002787695 00000 n 
+0002798177 00000 n 
+0002798433 00000 n 
+0002798689 00000 n 
+0002798911 00000 n 
+0002799354 00000 n 
+0002799610 00000 n 
+0002799832 00000 n 
+0002800275 00000 n 
+0002800867 00000 n 
+0002797242 00000 n 
+0002794699 00000 n 
+0002800441 00000 n 
+0002800501 00000 n 
+0002800562 00000 n 
+0002800623 00000 n 
+0002799133 00000 n 
+0002800054 00000 n 
+0002800684 00000 n 
+0002800745 00000 n 
+0002800806 00000 n 
+0002814400 00000 n 
+0002804717 00000 n 
+0002805196 00000 n 
+0002805675 00000 n 
+0002806154 00000 n 
+0002806623 00000 n 
+0002804508 00000 n 
+0002801165 00000 n 
+0002806320 00000 n 
+0002804957 00000 n 
+0002805436 00000 n 
+0002805915 00000 n 
+0002806380 00000 n 
+0002806501 00000 n 
+0002806562 00000 n 
+0004865015 00000 n 
+0002812576 00000 n 
+0002809054 00000 n 
+0002812507 00000 n 
+0002812816 00000 n 
+0002813043 00000 n 
+0002813249 00000 n 
+0002813455 00000 n 
+0002813695 00000 n 
+0002813920 00000 n 
+0002814114 00000 n 
+0002814762 00000 n 
+0002808818 00000 n 
+0002806909 00000 n 
+0002814280 00000 n 
+0002814340 00000 n 
+0002814461 00000 n 
+0002814522 00000 n 
+0002814701 00000 n 
+0002809820 00000 n 
+0002809952 00000 n 
+0002810105 00000 n 
+0002810379 00000 n 
+0002810764 00000 n 
+0002811004 00000 n 
+0002811027 00000 n 
+0002812483 00000 n 
+0002833443 00000 n 
+0002833687 00000 n 
+0002817359 00000 n 
+0002817586 00000 n 
+0002817783 00000 n 
+0002817977 00000 n 
+0002818204 00000 n 
+0002818399 00000 n 
+0002818626 00000 n 
+0002818822 00000 n 
+0002819016 00000 n 
+0002819243 00000 n 
+0002819439 00000 n 
+0002819666 00000 n 
+0002819863 00000 n 
+0002820057 00000 n 
+0002820284 00000 n 
+0002820476 00000 n 
+0002820682 00000 n 
+0002821160 00000 n 
+0002821387 00000 n 
+0002821569 00000 n 
+0002821756 00000 n 
+0002821962 00000 n 
+0002822441 00000 n 
+0002822668 00000 n 
+0002822850 00000 n 
+0002823055 00000 n 
+0002823294 00000 n 
+0002823521 00000 n 
+0002823709 00000 n 
+0002823915 00000 n 
+0002824394 00000 n 
+0002824621 00000 n 
+0002824816 00000 n 
+0002825021 00000 n 
+0002825499 00000 n 
+0002825726 00000 n 
+0002825920 00000 n 
+0002826126 00000 n 
+0002826603 00000 n 
+0002826796 00000 n 
+0002827024 00000 n 
+0002827218 00000 n 
+0002827411 00000 n 
+0002827639 00000 n 
+0002827831 00000 n 
+0002828058 00000 n 
+0002828286 00000 n 
+0002828480 00000 n 
+0002828707 00000 n 
+0002832264 00000 n 
+0002828900 00000 n 
+0002829431 00000 n 
+0002816670 00000 n 
+0002814960 00000 n 
+0002829066 00000 n 
+0002820921 00000 n 
+0002822202 00000 n 
+0002824155 00000 n 
+0002825261 00000 n 
+0002829126 00000 n 
+0002826366 00000 n 
+0002829187 00000 n 
+0002829248 00000 n 
+0002829309 00000 n 
+0002829370 00000 n 
+0002833874 00000 n 
+0002836805 00000 n 
+0002837049 00000 n 
+0002837293 00000 n 
+0002837476 00000 n 
+0002840799 00000 n 
+0002840982 00000 n 
+0002841225 00000 n 
+0002841407 00000 n 
+0002844593 00000 n 
+0002844837 00000 n 
+0002832458 00000 n 
+0002832649 00000 n 
+0002832843 00000 n 
+0002833034 00000 n 
+0002833996 00000 n 
+0002832075 00000 n 
+0002829641 00000 n 
+0002833200 00000 n 
+0002833260 00000 n 
+0002833321 00000 n 
+0002833382 00000 n 
+0002833504 00000 n 
+0002833565 00000 n 
+0002833626 00000 n 
+0002833753 00000 n 
+0002833814 00000 n 
+0002833935 00000 n 
+0002836518 00000 n 
+0002837598 00000 n 
+0002836369 00000 n 
+0002834191 00000 n 
+0002836684 00000 n 
+0002836744 00000 n 
+0002836866 00000 n 
+0002836927 00000 n 
+0002836988 00000 n 
+0002837110 00000 n 
+0002837171 00000 n 
+0002837232 00000 n 
+0002837354 00000 n 
+0002837415 00000 n 
+0002837537 00000 n 
+0002840512 00000 n 
+0002841529 00000 n 
+0002840363 00000 n 
+0002837767 00000 n 
+0002840678 00000 n 
+0002840738 00000 n 
+0002840860 00000 n 
+0002840921 00000 n 
+0002841042 00000 n 
+0002841103 00000 n 
+0002841164 00000 n 
+0002841286 00000 n 
+0002841347 00000 n 
+0002841468 00000 n 
+0002844306 00000 n 
+0002845259 00000 n 
+0002844157 00000 n 
+0002841711 00000 n 
+0002844472 00000 n 
+0002844532 00000 n 
+0002844654 00000 n 
+0002844715 00000 n 
+0002844776 00000 n 
+0002844898 00000 n 
+0002844959 00000 n 
+0002845139 00000 n 
+0004865148 00000 n 
+0002847573 00000 n 
+0002847798 00000 n 
+0002848024 00000 n 
+0002848249 00000 n 
+0002848453 00000 n 
+0002848682 00000 n 
+0002848874 00000 n 
+0002853405 00000 n 
+0002849101 00000 n 
+0002850172 00000 n 
+0002847354 00000 n 
+0002845454 00000 n 
+0002849267 00000 n 
+0002849386 00000 n 
+0002849447 00000 n 
+0002849508 00000 n 
+0002849569 00000 n 
+0002849628 00000 n 
+0002849689 00000 n 
+0002849750 00000 n 
+0002849811 00000 n 
+0002849990 00000 n 
+0002850051 00000 n 
+0002850112 00000 n 
+0002853634 00000 n 
+0002853863 00000 n 
+0002854092 00000 n 
+0002854321 00000 n 
+0002854549 00000 n 
+0002854754 00000 n 
+0002854983 00000 n 
+0002855188 00000 n 
+0002855417 00000 n 
+0002855646 00000 n 
+0002855875 00000 n 
+0002856081 00000 n 
+0002856287 00000 n 
+0002856767 00000 n 
+0002856996 00000 n 
+0002857191 00000 n 
+0002857397 00000 n 
+0002857877 00000 n 
+0002858105 00000 n 
+0002858299 00000 n 
+0002858503 00000 n 
+0002858982 00000 n 
+0002859211 00000 n 
+0002859406 00000 n 
+0002859635 00000 n 
+0002859830 00000 n 
+0002860059 00000 n 
+0002860253 00000 n 
+0002860482 00000 n 
+0002860671 00000 n 
+0002860877 00000 n 
+0002861355 00000 n 
+0002861584 00000 n 
+0002861766 00000 n 
+0002861953 00000 n 
+0002862159 00000 n 
+0002862638 00000 n 
+0002862867 00000 n 
+0002863048 00000 n 
+0002863252 00000 n 
+0002863492 00000 n 
+0002863721 00000 n 
+0002863909 00000 n 
+0002864115 00000 n 
+0002864595 00000 n 
+0002864789 00000 n 
+0002865017 00000 n 
+0002865211 00000 n 
+0002865436 00000 n 
+0002869348 00000 n 
+0002865629 00000 n 
+0002866403 00000 n 
+0002852696 00000 n 
+0002850381 00000 n 
+0002865795 00000 n 
+0002865855 00000 n 
+0002865916 00000 n 
+0002865977 00000 n 
+0002866038 00000 n 
+0002866099 00000 n 
+0002866160 00000 n 
+0002866221 00000 n 
+0002856527 00000 n 
+0002857637 00000 n 
+0002858742 00000 n 
+0002861116 00000 n 
+0002862399 00000 n 
+0002864355 00000 n 
+0002866282 00000 n 
+0002866343 00000 n 
+0003069141 00000 n 
+0002970047 00000 n 
+0002970230 00000 n 
+0002973039 00000 n 
+0002973166 00000 n 
+0002973414 00000 n 
+0002973658 00000 n 
+0002976860 00000 n 
+0002976982 00000 n 
+0002977231 00000 n 
+0002977474 00000 n 
+0002869577 00000 n 
+0002869783 00000 n 
+0002870011 00000 n 
+0002870217 00000 n 
+0002870446 00000 n 
+0002870637 00000 n 
+0002870833 00000 n 
+0002871059 00000 n 
+0002871256 00000 n 
+0002871484 00000 n 
+0002871681 00000 n 
+0002871910 00000 n 
+0002872107 00000 n 
+0002872336 00000 n 
+0002872565 00000 n 
+0002872760 00000 n 
+0002872989 00000 n 
+0002873183 00000 n 
+0002873412 00000 n 
+0002873607 00000 n 
+0002873804 00000 n 
+0002874031 00000 n 
+0002874218 00000 n 
+0002874414 00000 n 
+0002874640 00000 n 
+0002874826 00000 n 
+0002875024 00000 n 
+0002875252 00000 n 
+0002875439 00000 n 
+0002875668 00000 n 
+0002875897 00000 n 
+0002876126 00000 n 
+0002876355 00000 n 
+0002876584 00000 n 
+0002876813 00000 n 
+0002877040 00000 n 
+0002877225 00000 n 
+0002877454 00000 n 
+0002877651 00000 n 
+0002877880 00000 n 
+0002878076 00000 n 
+0002878304 00000 n 
+0002878501 00000 n 
+0002878707 00000 n 
+0002883593 00000 n 
+0002883821 00000 n 
+0002884018 00000 n 
+0002884224 00000 n 
+0002884430 00000 n 
+0002884618 00000 n 
+0002884847 00000 n 
+0002885044 00000 n 
+0002885249 00000 n 
+0002878913 00000 n 
+0002879930 00000 n 
+0002868749 00000 n 
+0002866627 00000 n 
+0002879079 00000 n 
+0002879139 00000 n 
+0002879199 00000 n 
+0002879259 00000 n 
+0002879320 00000 n 
+0002879381 00000 n 
+0002879442 00000 n 
+0002879503 00000 n 
+0002879564 00000 n 
+0002879625 00000 n 
+0002879686 00000 n 
+0002879747 00000 n 
+0002879808 00000 n 
+0002879869 00000 n 
+0002980840 00000 n 
+0002981021 00000 n 
+0002981204 00000 n 
+0002981387 00000 n 
+0002984319 00000 n 
+0002984502 00000 n 
+0002984685 00000 n 
+0002984868 00000 n 
+0002985050 00000 n 
+0002985233 00000 n 
+0002885454 00000 n 
+0002885683 00000 n 
+0002885880 00000 n 
+0002886085 00000 n 
+0002886290 00000 n 
+0002886478 00000 n 
+0002886707 00000 n 
+0002886903 00000 n 
+0002887109 00000 n 
+0002887315 00000 n 
+0002887726 00000 n 
+0002887931 00000 n 
+0002888160 00000 n 
+0002888387 00000 n 
+0002888576 00000 n 
+0002888803 00000 n 
+0002889000 00000 n 
+0002889227 00000 n 
+0002889424 00000 n 
+0002889650 00000 n 
+0002889838 00000 n 
+0002890064 00000 n 
+0002890259 00000 n 
+0002890485 00000 n 
+0002890681 00000 n 
+0002890908 00000 n 
+0002891097 00000 n 
+0002891323 00000 n 
+0002891512 00000 n 
+0002891738 00000 n 
+0002891935 00000 n 
+0002892162 00000 n 
+0002892359 00000 n 
+0002892588 00000 n 
+0002892779 00000 n 
+0002892966 00000 n 
+0002893157 00000 n 
+0002893344 00000 n 
+0002893573 00000 n 
+0002893764 00000 n 
+0002893951 00000 n 
+0002894142 00000 n 
+0002894329 00000 n 
+0002894535 00000 n 
+0002894761 00000 n 
+0002894947 00000 n 
+0002899777 00000 n 
+0002900004 00000 n 
+0002900197 00000 n 
+0002900364 00000 n 
+0002900590 00000 n 
+0002895111 00000 n 
+0002895398 00000 n 
+0002882884 00000 n 
+0002880127 00000 n 
+0002895277 00000 n 
+0002887520 00000 n 
+0002895337 00000 n 
+0002988714 00000 n 
+0002988962 00000 n 
+0002993382 00000 n 
+0002993630 00000 n 
+0002996717 00000 n 
+0002996965 00000 n 
+0002997209 00000 n 
+0002997453 00000 n 
+0003000517 00000 n 
+0003000761 00000 n 
+0003001005 00000 n 
+0003003857 00000 n 
+0003004101 00000 n 
+0003004345 00000 n 
+0003004588 00000 n 
+0003008619 00000 n 
+0003008868 00000 n 
+0002900783 00000 n 
+0002901010 00000 n 
+0002901204 00000 n 
+0002901433 00000 n 
+0002901627 00000 n 
+0002901855 00000 n 
+0002902049 00000 n 
+0002902276 00000 n 
+0002902471 00000 n 
+0002902700 00000 n 
+0002902895 00000 n 
+0002903076 00000 n 
+0002903303 00000 n 
+0002903489 00000 n 
+0002903685 00000 n 
+0002903898 00000 n 
+0002904064 00000 n 
+0002904293 00000 n 
+0002904480 00000 n 
+0002904670 00000 n 
+0002904856 00000 n 
+0002905026 00000 n 
+0002905255 00000 n 
+0002905442 00000 n 
+0002905639 00000 n 
+0002905848 00000 n 
+0002906014 00000 n 
+0002906243 00000 n 
+0002906430 00000 n 
+0002906636 00000 n 
+0002906833 00000 n 
+0002907046 00000 n 
+0002907224 00000 n 
+0002907452 00000 n 
+0002907648 00000 n 
+0002907853 00000 n 
+0002908050 00000 n 
+0002908229 00000 n 
+0002908458 00000 n 
+0002908644 00000 n 
+0002908841 00000 n 
+0002909235 00000 n 
+0002909448 00000 n 
+0002909637 00000 n 
+0002909866 00000 n 
+0002910053 00000 n 
+0002910259 00000 n 
+0002910455 00000 n 
+0002910667 00000 n 
+0002910846 00000 n 
+0002911075 00000 n 
+0002911272 00000 n 
+0002911478 00000 n 
+0002911675 00000 n 
+0002911853 00000 n 
+0002912082 00000 n 
+0002912269 00000 n 
+0002912466 00000 n 
+0002912860 00000 n 
+0002913073 00000 n 
+0002913261 00000 n 
+0002913485 00000 n 
+0002917612 00000 n 
+0002917782 00000 n 
+0002918011 00000 n 
+0002918204 00000 n 
+0002918410 00000 n 
+0002918820 00000 n 
+0002919024 00000 n 
+0002913678 00000 n 
+0002913904 00000 n 
+0002898938 00000 n 
+0002895609 00000 n 
+0002913844 00000 n 
+0002909038 00000 n 
+0002912663 00000 n 
+0003012591 00000 n 
+0003012835 00000 n 
+0003013018 00000 n 
+0003013201 00000 n 
+0003013384 00000 n 
+0003017656 00000 n 
+0003017843 00000 n 
+0003018026 00000 n 
+0003022610 00000 n 
+0003022854 00000 n 
+0003023101 00000 n 
+0003027633 00000 n 
+0003027873 00000 n 
+0003028116 00000 n 
+0003032741 00000 n 
+0003032985 00000 n 
+0003038115 00000 n 
+0002919219 00000 n 
+0002919387 00000 n 
+0002919614 00000 n 
+0002919819 00000 n 
+0002920059 00000 n 
+0002920288 00000 n 
+0002920481 00000 n 
+0002920687 00000 n 
+0002920925 00000 n 
+0002921151 00000 n 
+0002921378 00000 n 
+0002921573 00000 n 
+0002921741 00000 n 
+0002921970 00000 n 
+0002922165 00000 n 
+0002922334 00000 n 
+0002922561 00000 n 
+0002922756 00000 n 
+0002922922 00000 n 
+0002923147 00000 n 
+0002923341 00000 n 
+0002923570 00000 n 
+0002923765 00000 n 
+0002923962 00000 n 
+0002924126 00000 n 
+0002924352 00000 n 
+0002924546 00000 n 
+0002924715 00000 n 
+0002924943 00000 n 
+0002925138 00000 n 
+0002925335 00000 n 
+0002925504 00000 n 
+0002925731 00000 n 
+0002925937 00000 n 
+0002926164 00000 n 
+0002926369 00000 n 
+0002926596 00000 n 
+0002926790 00000 n 
+0002926963 00000 n 
+0002927189 00000 n 
+0002927382 00000 n 
+0002927609 00000 n 
+0002927815 00000 n 
+0002928042 00000 n 
+0002928235 00000 n 
+0002928462 00000 n 
+0002928649 00000 n 
+0002928855 00000 n 
+0002929080 00000 n 
+0002929272 00000 n 
+0002932635 00000 n 
+0002932862 00000 n 
+0002933089 00000 n 
+0002933271 00000 n 
+0002929456 00000 n 
+0002929804 00000 n 
+0002916883 00000 n 
+0002914156 00000 n 
+0002929622 00000 n 
+0002918616 00000 n 
+0002929682 00000 n 
+0002929743 00000 n 
+0004865281 00000 n 
+0003038298 00000 n 
+0003038542 00000 n 
+0003042472 00000 n 
+0003042655 00000 n 
+0003042899 00000 n 
+0003047497 00000 n 
+0003047741 00000 n 
+0003047985 00000 n 
+0003052030 00000 n 
+0003052273 00000 n 
+0003052455 00000 n 
+0003057272 00000 n 
+0003057455 00000 n 
+0003057699 00000 n 
+0003057882 00000 n 
+0003063985 00000 n 
+0003064233 00000 n 
+0002933456 00000 n 
+0002933662 00000 n 
+0002933891 00000 n 
+0002934120 00000 n 
+0002934349 00000 n 
+0002934578 00000 n 
+0002934773 00000 n 
+0002935002 00000 n 
+0002935197 00000 n 
+0002935392 00000 n 
+0002935620 00000 n 
+0002935815 00000 n 
+0002936010 00000 n 
+0002936239 00000 n 
+0002936434 00000 n 
+0002936629 00000 n 
+0002936858 00000 n 
+0002937052 00000 n 
+0002937246 00000 n 
+0002937441 00000 n 
+0002937647 00000 n 
+0002937876 00000 n 
+0002938070 00000 n 
+0002938264 00000 n 
+0002938459 00000 n 
+0002938665 00000 n 
+0002938894 00000 n 
+0002939088 00000 n 
+0002939281 00000 n 
+0002939475 00000 n 
+0002939680 00000 n 
+0002939908 00000 n 
+0002940102 00000 n 
+0002940295 00000 n 
+0002940489 00000 n 
+0002943988 00000 n 
+0002944216 00000 n 
+0002944410 00000 n 
+0002944604 00000 n 
+0002944799 00000 n 
+0002940694 00000 n 
+0002941225 00000 n 
+0002932096 00000 n 
+0002930014 00000 n 
+0002940860 00000 n 
+0002940920 00000 n 
+0002940981 00000 n 
+0002941042 00000 n 
+0002941103 00000 n 
+0002941164 00000 n 
+0003068706 00000 n 
+0003068953 00000 n 
+0003072407 00000 n 
+0003072529 00000 n 
+0003072655 00000 n 
+0003072777 00000 n 
+0003072904 00000 n 
+0003073031 00000 n 
+0003073153 00000 n 
+0003076476 00000 n 
+0002945005 00000 n 
+0002945233 00000 n 
+0002945427 00000 n 
+0002945621 00000 n 
+0002945816 00000 n 
+0002946022 00000 n 
+0002946251 00000 n 
+0002946445 00000 n 
+0002946834 00000 n 
+0002947027 00000 n 
+0002947232 00000 n 
+0002947461 00000 n 
+0002947655 00000 n 
+0002948044 00000 n 
+0002948237 00000 n 
+0002948442 00000 n 
+0002948671 00000 n 
+0002948865 00000 n 
+0002949254 00000 n 
+0002949448 00000 n 
+0002949653 00000 n 
+0002949881 00000 n 
+0002950076 00000 n 
+0002950271 00000 n 
+0002950499 00000 n 
+0002950693 00000 n 
+0002950887 00000 n 
+0002951115 00000 n 
+0002951308 00000 n 
+0002951502 00000 n 
+0002951697 00000 n 
+0002951903 00000 n 
+0002952132 00000 n 
+0002952326 00000 n 
+0002952520 00000 n 
+0002952715 00000 n 
+0002952921 00000 n 
+0002953150 00000 n 
+0002953344 00000 n 
+0002953538 00000 n 
+0002953733 00000 n 
+0002953939 00000 n 
+0002954167 00000 n 
+0002954361 00000 n 
+0002954554 00000 n 
+0002954748 00000 n 
+0002954953 00000 n 
+0002955181 00000 n 
+0002955375 00000 n 
+0002955568 00000 n 
+0002955762 00000 n 
+0002955967 00000 n 
+0002956195 00000 n 
+0002956389 00000 n 
+0002956583 00000 n 
+0002956778 00000 n 
+0002956984 00000 n 
+0002957212 00000 n 
+0002957405 00000 n 
+0002957791 00000 n 
+0002957984 00000 n 
+0002962182 00000 n 
+0002962411 00000 n 
+0002962605 00000 n 
+0002962994 00000 n 
+0002963187 00000 n 
+0002963393 00000 n 
+0002963622 00000 n 
+0002963816 00000 n 
+0002964205 00000 n 
+0002964398 00000 n 
+0002958188 00000 n 
+0002958414 00000 n 
+0002943139 00000 n 
+0002941435 00000 n 
+0002958354 00000 n 
+0002946640 00000 n 
+0002947850 00000 n 
+0002949060 00000 n 
+0002957599 00000 n 
+0003076603 00000 n 
+0003076723 00000 n 
+0003076850 00000 n 
+0003080093 00000 n 
+0003080215 00000 n 
+0003080463 00000 n 
+0003080585 00000 n 
+0003080707 00000 n 
+0003080829 00000 n 
+0003080951 00000 n 
+0003088517 00000 n 
+0003088637 00000 n 
+0002964604 00000 n 
+0002964832 00000 n 
+0002965026 00000 n 
+0002965220 00000 n 
+0002965449 00000 n 
+0002965644 00000 n 
+0002965835 00000 n 
+0002969382 00000 n 
+0002966022 00000 n 
+0002966370 00000 n 
+0002961843 00000 n 
+0002958624 00000 n 
+0002966188 00000 n 
+0002962800 00000 n 
+0002964011 00000 n 
+0002966248 00000 n 
+0002966309 00000 n 
+0003088759 00000 n 
+0003088881 00000 n 
+0002969571 00000 n 
+0002969760 00000 n 
+0002970350 00000 n 
+0002969213 00000 n 
+0002966589 00000 n 
+0002969926 00000 n 
+0002969986 00000 n 
+0002970108 00000 n 
+0002970169 00000 n 
+0002970290 00000 n 
+0002972813 00000 n 
+0002973780 00000 n 
+0002972664 00000 n 
+0002970582 00000 n 
+0002972979 00000 n 
+0002973105 00000 n 
+0002973232 00000 n 
+0002973293 00000 n 
+0002973353 00000 n 
+0002973475 00000 n 
+0002973536 00000 n 
+0002973597 00000 n 
+0002973719 00000 n 
+0002976573 00000 n 
+0002977594 00000 n 
+0002976424 00000 n 
+0002973962 00000 n 
+0002976739 00000 n 
+0002976799 00000 n 
+0002976921 00000 n 
+0002977048 00000 n 
+0002977109 00000 n 
+0002977170 00000 n 
+0002977291 00000 n 
+0002977352 00000 n 
+0002977413 00000 n 
+0002977534 00000 n 
+0004865414 00000 n 
+0002980431 00000 n 
+0002981509 00000 n 
+0002980282 00000 n 
+0002977776 00000 n 
+0002980597 00000 n 
+0002980657 00000 n 
+0002980718 00000 n 
+0002980779 00000 n 
+0002980900 00000 n 
+0002980960 00000 n 
+0002981082 00000 n 
+0002981143 00000 n 
+0002981265 00000 n 
+0002981326 00000 n 
+0002981448 00000 n 
+0002984032 00000 n 
+0002985353 00000 n 
+0002983883 00000 n 
+0002981704 00000 n 
+0002984198 00000 n 
+0002984258 00000 n 
+0002984380 00000 n 
+0002984441 00000 n 
+0002984563 00000 n 
+0002984624 00000 n 
+0002984746 00000 n 
+0002984807 00000 n 
+0002984929 00000 n 
+0002984989 00000 n 
+0002985111 00000 n 
+0002985172 00000 n 
+0002985293 00000 n 
+0002988366 00000 n 
+0002989089 00000 n 
+0002988217 00000 n 
+0002985548 00000 n 
+0002988532 00000 n 
+0002988592 00000 n 
+0002988653 00000 n 
+0002988780 00000 n 
+0002988841 00000 n 
+0002988902 00000 n 
+0002989028 00000 n 
+0002992686 00000 n 
+0002992869 00000 n 
+0002993034 00000 n 
+0002993817 00000 n 
+0002992517 00000 n 
+0002989284 00000 n 
+0002993200 00000 n 
+0002993260 00000 n 
+0002993321 00000 n 
+0002993448 00000 n 
+0002993509 00000 n 
+0002993569 00000 n 
+0002993696 00000 n 
+0002993757 00000 n 
+0002996430 00000 n 
+0002997513 00000 n 
+0002996281 00000 n 
+0002994024 00000 n 
+0002996596 00000 n 
+0002996656 00000 n 
+0002996783 00000 n 
+0002996843 00000 n 
+0002996904 00000 n 
+0002997026 00000 n 
+0002997087 00000 n 
+0002997148 00000 n 
+0002997270 00000 n 
+0002997331 00000 n 
+0002997392 00000 n 
+0003000108 00000 n 
+0003001127 00000 n 
+0002999959 00000 n 
+0002997708 00000 n 
+0003000274 00000 n 
+0003000334 00000 n 
+0003000395 00000 n 
+0003000456 00000 n 
+0003000578 00000 n 
+0003000639 00000 n 
+0003000700 00000 n 
+0003000822 00000 n 
+0003000883 00000 n 
+0003000944 00000 n 
+0003001066 00000 n 
+0004865547 00000 n 
+0003003509 00000 n 
+0003004708 00000 n 
+0003003360 00000 n 
+0003001322 00000 n 
+0003003675 00000 n 
+0003003735 00000 n 
+0003003796 00000 n 
+0003003918 00000 n 
+0003003979 00000 n 
+0003004040 00000 n 
+0003004162 00000 n 
+0003004223 00000 n 
+0003004284 00000 n 
+0003004406 00000 n 
+0003004467 00000 n 
+0003004528 00000 n 
+0003004648 00000 n 
+0003008107 00000 n 
+0003008271 00000 n 
+0003008995 00000 n 
+0003007948 00000 n 
+0003004903 00000 n 
+0003008437 00000 n 
+0003008497 00000 n 
+0003008558 00000 n 
+0003008685 00000 n 
+0003008746 00000 n 
+0003008807 00000 n 
+0003008934 00000 n 
+0003011735 00000 n 
+0003011902 00000 n 
+0003012089 00000 n 
+0003012243 00000 n 
+0003013508 00000 n 
+0003011556 00000 n 
+0003009190 00000 n 
+0003012409 00000 n 
+0003012469 00000 n 
+0003012530 00000 n 
+0003012652 00000 n 
+0003012713 00000 n 
+0003012774 00000 n 
+0003012896 00000 n 
+0003012957 00000 n 
+0003013079 00000 n 
+0003013140 00000 n 
+0003013262 00000 n 
+0003013323 00000 n 
+0003013448 00000 n 
+0003016867 00000 n 
+0003017022 00000 n 
+0003017203 00000 n 
+0003017369 00000 n 
+0003018209 00000 n 
+0003016688 00000 n 
+0003013703 00000 n 
+0003017535 00000 n 
+0003017595 00000 n 
+0003017721 00000 n 
+0003017782 00000 n 
+0003017904 00000 n 
+0003017965 00000 n 
+0003018087 00000 n 
+0003018148 00000 n 
+0003021809 00000 n 
+0003021980 00000 n 
+0003022146 00000 n 
+0003022323 00000 n 
+0003023223 00000 n 
+0003021630 00000 n 
+0003018404 00000 n 
+0003022489 00000 n 
+0003022549 00000 n 
+0003022671 00000 n 
+0003022732 00000 n 
+0003022793 00000 n 
+0003022919 00000 n 
+0003022979 00000 n 
+0003023040 00000 n 
+0003023162 00000 n 
+0003026917 00000 n 
+0003027096 00000 n 
+0003031846 00000 n 
+0003027285 00000 n 
+0003028236 00000 n 
+0003026748 00000 n 
+0003023455 00000 n 
+0003027451 00000 n 
+0003027511 00000 n 
+0003027572 00000 n 
+0003027694 00000 n 
+0003027751 00000 n 
+0003027812 00000 n 
+0003027934 00000 n 
+0003027995 00000 n 
+0003028056 00000 n 
+0003028176 00000 n 
+0004865680 00000 n 
+0003032025 00000 n 
+0003032204 00000 n 
+0003032393 00000 n 
+0003033167 00000 n 
+0003031667 00000 n 
+0003028468 00000 n 
+0003032559 00000 n 
+0003032619 00000 n 
+0003032680 00000 n 
+0003032802 00000 n 
+0003032863 00000 n 
+0003032924 00000 n 
+0003033046 00000 n 
+0003033107 00000 n 
+0003037138 00000 n 
+0003037309 00000 n 
+0003037475 00000 n 
+0003037661 00000 n 
+0003037829 00000 n 
+0003038662 00000 n 
+0003036949 00000 n 
+0003033399 00000 n 
+0003037995 00000 n 
+0003038055 00000 n 
+0003038176 00000 n 
+0003038237 00000 n 
+0003038359 00000 n 
+0003038420 00000 n 
+0003038481 00000 n 
+0003038602 00000 n 
+0003041680 00000 n 
+0003041849 00000 n 
+0003042019 00000 n 
+0003042185 00000 n 
+0003043021 00000 n 
+0003041501 00000 n 
+0003038857 00000 n 
+0003042351 00000 n 
+0003042411 00000 n 
+0003042533 00000 n 
+0003042594 00000 n 
+0003042716 00000 n 
+0003042777 00000 n 
+0003042838 00000 n 
+0003042960 00000 n 
+0003046136 00000 n 
+0003046307 00000 n 
+0003046473 00000 n 
+0003046644 00000 n 
+0003046810 00000 n 
+0003046981 00000 n 
+0003047149 00000 n 
+0003048107 00000 n 
+0003045927 00000 n 
+0003043216 00000 n 
+0003047315 00000 n 
+0003047375 00000 n 
+0003047436 00000 n 
+0003047558 00000 n 
+0003047619 00000 n 
+0003047680 00000 n 
+0003047802 00000 n 
+0003047863 00000 n 
+0003047924 00000 n 
+0003048046 00000 n 
+0003051343 00000 n 
+0003051511 00000 n 
+0003051682 00000 n 
+0003052638 00000 n 
+0003051174 00000 n 
+0003048302 00000 n 
+0003051848 00000 n 
+0003051908 00000 n 
+0003051969 00000 n 
+0003052091 00000 n 
+0003052152 00000 n 
+0003052212 00000 n 
+0003052334 00000 n 
+0003052395 00000 n 
+0003052516 00000 n 
+0003052577 00000 n 
+0003056078 00000 n 
+0003056252 00000 n 
+0003056480 00000 n 
+0003056666 00000 n 
+0003056853 00000 n 
+0003057046 00000 n 
+0003058065 00000 n 
+0003055879 00000 n 
+0003052882 00000 n 
+0003057212 00000 n 
+0003057333 00000 n 
+0003057394 00000 n 
+0003057516 00000 n 
+0003057577 00000 n 
+0003057638 00000 n 
+0003057760 00000 n 
+0003057821 00000 n 
+0003057943 00000 n 
+0003058004 00000 n 
+0004865813 00000 n 
+0003061994 00000 n 
+0003062199 00000 n 
+0003062405 00000 n 
+0003062610 00000 n 
+0003062802 00000 n 
+0003063029 00000 n 
+0003063202 00000 n 
+0003063387 00000 n 
+0003067463 00000 n 
+0003063759 00000 n 
+0003064480 00000 n 
+0003061755 00000 n 
+0003058309 00000 n 
+0003063925 00000 n 
+0003064051 00000 n 
+0003064112 00000 n 
+0003064173 00000 n 
+0003064298 00000 n 
+0003064359 00000 n 
+0003064420 00000 n 
+0003063573 00000 n 
+0003067635 00000 n 
+0003067840 00000 n 
+0003068069 00000 n 
+0003068275 00000 n 
+0003068480 00000 n 
+0003069323 00000 n 
+0003067264 00000 n 
+0003064687 00000 n 
+0003068646 00000 n 
+0003068771 00000 n 
+0003068831 00000 n 
+0003068892 00000 n 
+0003069019 00000 n 
+0003069080 00000 n 
+0003069202 00000 n 
+0003069263 00000 n 
+0003072181 00000 n 
+0003073278 00000 n 
+0003072032 00000 n 
+0003069518 00000 n 
+0003072347 00000 n 
+0003072468 00000 n 
+0003072594 00000 n 
+0003072716 00000 n 
+0003072843 00000 n 
+0003072970 00000 n 
+0003073092 00000 n 
+0003073218 00000 n 
+0003076250 00000 n 
+0003076977 00000 n 
+0003076101 00000 n 
+0003073447 00000 n 
+0003076416 00000 n 
+0003076542 00000 n 
+0003076662 00000 n 
+0003076789 00000 n 
+0003076916 00000 n 
+0003079867 00000 n 
+0003081071 00000 n 
+0003079718 00000 n 
+0003077159 00000 n 
+0003080033 00000 n 
+0003080154 00000 n 
+0003080281 00000 n 
+0003080342 00000 n 
+0003080403 00000 n 
+0003080524 00000 n 
+0003080646 00000 n 
+0003080768 00000 n 
+0003080890 00000 n 
+0003081011 00000 n 
+0003083912 00000 n 
+0003088222 00000 n 
+0003091835 00000 n 
+0003092084 00000 n 
+0003092324 00000 n 
+0003092564 00000 n 
+0003088291 00000 n 
+0003089243 00000 n 
+0003083746 00000 n 
+0003081254 00000 n 
+0003088457 00000 n 
+0003088577 00000 n 
+0003088698 00000 n 
+0003088820 00000 n 
+0003088942 00000 n 
+0003089003 00000 n 
+0003089064 00000 n 
+0004865946 00000 n 
+0003084862 00000 n 
+0003084994 00000 n 
+0003085147 00000 n 
+0003085473 00000 n 
+0003085912 00000 n 
+0003086152 00000 n 
+0003086175 00000 n 
+0003088198 00000 n 
+0003092801 00000 n 
+0003093051 00000 n 
+0003093266 00000 n 
+0003093516 00000 n 
+0003093722 00000 n 
+0003093972 00000 n 
+0003094222 00000 n 
+0003094436 00000 n 
+0003094867 00000 n 
+0003095117 00000 n 
+0003095331 00000 n 
+0003095761 00000 n 
+0003096475 00000 n 
+0003091516 00000 n 
+0003089442 00000 n 
+0003095927 00000 n 
+0003095987 00000 n 
+0003096048 00000 n 
+0003096109 00000 n 
+0003096170 00000 n 
+0003096231 00000 n 
+0003094652 00000 n 
+0003095547 00000 n 
+0003096292 00000 n 
+0003096353 00000 n 
+0003096414 00000 n 
+0003100978 00000 n 
+0003100212 00000 n 
+0003100448 00000 n 
+0003101159 00000 n 
+0003100053 00000 n 
+0003096698 00000 n 
+0003100614 00000 n 
+0003100674 00000 n 
+0003100795 00000 n 
+0003100856 00000 n 
+0003100917 00000 n 
+0003101038 00000 n 
+0003101098 00000 n 
+0003103962 00000 n 
+0003104200 00000 n 
+0003104405 00000 n 
+0003104610 00000 n 
+0003105088 00000 n 
+0003105327 00000 n 
+0003105524 00000 n 
+0003105763 00000 n 
+0003105958 00000 n 
+0003106197 00000 n 
+0003106394 00000 n 
+0003106633 00000 n 
+0003106830 00000 n 
+0003107068 00000 n 
+0003107258 00000 n 
+0003107463 00000 n 
+0003107941 00000 n 
+0003108180 00000 n 
+0003108374 00000 n 
+0003108580 00000 n 
+0003109059 00000 n 
+0003109296 00000 n 
+0003109477 00000 n 
+0003109680 00000 n 
+0003110156 00000 n 
+0003110394 00000 n 
+0003110575 00000 n 
+0003110760 00000 n 
+0003110965 00000 n 
+0003111443 00000 n 
+0003111682 00000 n 
+0003111870 00000 n 
+0003112075 00000 n 
+0003112554 00000 n 
+0003112792 00000 n 
+0003112986 00000 n 
+0003113191 00000 n 
+0003113669 00000 n 
+0003113908 00000 n 
+0003114114 00000 n 
+0003114320 00000 n 
+0003114795 00000 n 
+0003115032 00000 n 
+0003115236 00000 n 
+0003115439 00000 n 
+0003118982 00000 n 
+0003119187 00000 n 
+0003119427 00000 n 
+0003115677 00000 n 
+0003116143 00000 n 
+0003103283 00000 n 
+0003101443 00000 n 
+0003115843 00000 n 
+0003116021 00000 n 
+0003104849 00000 n 
+0003107702 00000 n 
+0003108820 00000 n 
+0003109917 00000 n 
+0003111204 00000 n 
+0003112315 00000 n 
+0003113430 00000 n 
+0003116082 00000 n 
+0003114559 00000 n 
+0003193449 00000 n 
+0003193693 00000 n 
+0003196338 00000 n 
+0003196582 00000 n 
+0003196826 00000 n 
+0003199779 00000 n 
+0003200022 00000 n 
+0003200266 00000 n 
+0003203166 00000 n 
+0003203410 00000 n 
+0003203654 00000 n 
+0003206964 00000 n 
+0003119633 00000 n 
+0003119873 00000 n 
+0003120079 00000 n 
+0003120318 00000 n 
+0003120524 00000 n 
+0003120764 00000 n 
+0003120955 00000 n 
+0003121127 00000 n 
+0003121367 00000 n 
+0003121607 00000 n 
+0003121804 00000 n 
+0003122042 00000 n 
+0003122239 00000 n 
+0003122478 00000 n 
+0003122675 00000 n 
+0003122915 00000 n 
+0003123112 00000 n 
+0003123352 00000 n 
+0003123549 00000 n 
+0003123787 00000 n 
+0003123974 00000 n 
+0003124171 00000 n 
+0003124409 00000 n 
+0003124596 00000 n 
+0003124793 00000 n 
+0003125031 00000 n 
+0003125217 00000 n 
+0003125457 00000 n 
+0003125697 00000 n 
+0003125937 00000 n 
+0003126177 00000 n 
+0003126383 00000 n 
+0003126621 00000 n 
+0003126859 00000 n 
+0003127098 00000 n 
+0003127284 00000 n 
+0003127523 00000 n 
+0003127719 00000 n 
+0003127959 00000 n 
+0003128155 00000 n 
+0003128392 00000 n 
+0003128587 00000 n 
+0003128791 00000 n 
+0003133499 00000 n 
+0003133738 00000 n 
+0003133935 00000 n 
+0003134141 00000 n 
+0003134347 00000 n 
+0003134535 00000 n 
+0003134775 00000 n 
+0003134972 00000 n 
+0003135177 00000 n 
+0003128995 00000 n 
+0003130315 00000 n 
+0003118373 00000 n 
+0003116338 00000 n 
+0003129161 00000 n 
+0003129221 00000 n 
+0003129282 00000 n 
+0003129343 00000 n 
+0003129404 00000 n 
+0003129464 00000 n 
+0003129524 00000 n 
+0003129583 00000 n 
+0003129644 00000 n 
+0003129705 00000 n 
+0003129766 00000 n 
+0003129827 00000 n 
+0003129888 00000 n 
+0003129949 00000 n 
+0003130010 00000 n 
+0003130071 00000 n 
+0003130132 00000 n 
+0003130193 00000 n 
+0003130254 00000 n 
+0003207147 00000 n 
+0003207330 00000 n 
+0003207513 00000 n 
+0003210707 00000 n 
+0003210890 00000 n 
+0003135382 00000 n 
+0003135622 00000 n 
+0003135819 00000 n 
+0003136024 00000 n 
+0003136229 00000 n 
+0003136417 00000 n 
+0003136657 00000 n 
+0003136863 00000 n 
+0003137103 00000 n 
+0003137308 00000 n 
+0003137548 00000 n 
+0003137786 00000 n 
+0003137975 00000 n 
+0003138213 00000 n 
+0003138402 00000 n 
+0003138639 00000 n 
+0003138827 00000 n 
+0003139064 00000 n 
+0003139253 00000 n 
+0003139491 00000 n 
+0003139687 00000 n 
+0003139925 00000 n 
+0003140122 00000 n 
+0003140360 00000 n 
+0003140557 00000 n 
+0003140795 00000 n 
+0003140992 00000 n 
+0003141229 00000 n 
+0003141426 00000 n 
+0003141663 00000 n 
+0003141859 00000 n 
+0003142096 00000 n 
+0003142282 00000 n 
+0003142449 00000 n 
+0003142687 00000 n 
+0003142880 00000 n 
+0003143047 00000 n 
+0003143285 00000 n 
+0003143491 00000 n 
+0003143728 00000 n 
+0003143932 00000 n 
+0003144170 00000 n 
+0003149109 00000 n 
+0003149347 00000 n 
+0003144373 00000 n 
+0003144660 00000 n 
+0003132840 00000 n 
+0003130498 00000 n 
+0003144539 00000 n 
+0003144599 00000 n 
+0003211134 00000 n 
+0003214884 00000 n 
+0003215133 00000 n 
+0003218311 00000 n 
+0003218499 00000 n 
+0003218682 00000 n 
+0003218865 00000 n 
+0003219109 00000 n 
+0003221994 00000 n 
+0003222238 00000 n 
+0003222481 00000 n 
+0003222724 00000 n 
+0003225749 00000 n 
+0003225993 00000 n 
+0003226236 00000 n 
+0003230001 00000 n 
+0003230244 00000 n 
+0003230488 00000 n 
+0003234271 00000 n 
+0003234454 00000 n 
+0003149553 00000 n 
+0003149792 00000 n 
+0003149979 00000 n 
+0003150176 00000 n 
+0003150389 00000 n 
+0003150570 00000 n 
+0003150810 00000 n 
+0003150997 00000 n 
+0003151194 00000 n 
+0003151403 00000 n 
+0003151584 00000 n 
+0003151824 00000 n 
+0003152011 00000 n 
+0003152217 00000 n 
+0003152414 00000 n 
+0003152626 00000 n 
+0003152805 00000 n 
+0003152978 00000 n 
+0003153218 00000 n 
+0003153405 00000 n 
+0003153611 00000 n 
+0003153807 00000 n 
+0003154020 00000 n 
+0003154198 00000 n 
+0003154370 00000 n 
+0003154610 00000 n 
+0003154807 00000 n 
+0003155013 00000 n 
+0003155210 00000 n 
+0003155389 00000 n 
+0003155562 00000 n 
+0003155802 00000 n 
+0003155999 00000 n 
+0003156205 00000 n 
+0003156402 00000 n 
+0003156579 00000 n 
+0003156750 00000 n 
+0003156990 00000 n 
+0003157176 00000 n 
+0003157373 00000 n 
+0003157765 00000 n 
+0003157976 00000 n 
+0003158165 00000 n 
+0003158405 00000 n 
+0003158592 00000 n 
+0003158789 00000 n 
+0003159183 00000 n 
+0003159396 00000 n 
+0003159585 00000 n 
+0003159822 00000 n 
+0003160028 00000 n 
+0003160199 00000 n 
+0003160366 00000 n 
+0003160604 00000 n 
+0003160840 00000 n 
+0003161045 00000 n 
+0003161283 00000 n 
+0003161488 00000 n 
+0003161728 00000 n 
+0003161968 00000 n 
+0003162161 00000 n 
+0003162367 00000 n 
+0003162607 00000 n 
+0003162844 00000 n 
+0003163049 00000 n 
+0003163285 00000 n 
+0003166796 00000 n 
+0003167034 00000 n 
+0003167239 00000 n 
+0003163488 00000 n 
+0003163775 00000 n 
+0003148260 00000 n 
+0003144830 00000 n 
+0003163654 00000 n 
+0003157570 00000 n 
+0003158986 00000 n 
+0003163714 00000 n 
+0004866079 00000 n 
+0003234637 00000 n 
+0003234820 00000 n 
+0003240172 00000 n 
+0003240416 00000 n 
+0003240660 00000 n 
+0003245742 00000 n 
+0003245985 00000 n 
+0003246229 00000 n 
+0003250982 00000 n 
+0003251226 00000 n 
+0003251409 00000 n 
+0003255129 00000 n 
+0003255312 00000 n 
+0003259497 00000 n 
+0003259741 00000 n 
+0003167411 00000 n 
+0003167648 00000 n 
+0003167841 00000 n 
+0003168079 00000 n 
+0003168285 00000 n 
+0003168523 00000 n 
+0003168716 00000 n 
+0003168954 00000 n 
+0003169141 00000 n 
+0003169347 00000 n 
+0003169584 00000 n 
+0003169777 00000 n 
+0003169962 00000 n 
+0003170202 00000 n 
+0003170440 00000 n 
+0003170646 00000 n 
+0003170884 00000 n 
+0003171122 00000 n 
+0003171360 00000 n 
+0003171600 00000 n 
+0003171839 00000 n 
+0003172045 00000 n 
+0003172283 00000 n 
+0003172489 00000 n 
+0003172727 00000 n 
+0003172967 00000 n 
+0003173172 00000 n 
+0003173411 00000 n 
+0003173650 00000 n 
+0003177362 00000 n 
+0003173889 00000 n 
+0003174906 00000 n 
+0003166327 00000 n 
+0003164026 00000 n 
+0003174055 00000 n 
+0003174115 00000 n 
+0003174176 00000 n 
+0003174236 00000 n 
+0003174296 00000 n 
+0003174357 00000 n 
+0003174418 00000 n 
+0003174479 00000 n 
+0003174540 00000 n 
+0003174601 00000 n 
+0003174662 00000 n 
+0003174723 00000 n 
+0003174784 00000 n 
+0003174845 00000 n 
+0003259985 00000 n 
+0003260168 00000 n 
+0003265868 00000 n 
+0003266048 00000 n 
+0003266230 00000 n 
+0003271547 00000 n 
+0003271794 00000 n 
+0003177602 00000 n 
+0003177842 00000 n 
+0003178082 00000 n 
+0003178321 00000 n 
+0003178560 00000 n 
+0003178799 00000 n 
+0003179039 00000 n 
+0003179245 00000 n 
+0003179485 00000 n 
+0003179691 00000 n 
+0003179897 00000 n 
+0003180137 00000 n 
+0003180342 00000 n 
+0003180752 00000 n 
+0003180992 00000 n 
+0003181198 00000 n 
+0003181609 00000 n 
+0003181849 00000 n 
+0003182054 00000 n 
+0003182465 00000 n 
+0003182705 00000 n 
+0003182911 00000 n 
+0003183322 00000 n 
+0003183561 00000 n 
+0003183767 00000 n 
+0003184005 00000 n 
+0003184209 00000 n 
+0003184413 00000 n 
+0003185187 00000 n 
+0003176893 00000 n 
+0003175130 00000 n 
+0003184579 00000 n 
+0003184639 00000 n 
+0003184700 00000 n 
+0003184761 00000 n 
+0003184821 00000 n 
+0003184882 00000 n 
+0003184943 00000 n 
+0003185004 00000 n 
+0003185065 00000 n 
+0003185126 00000 n 
+0003180548 00000 n 
+0003181404 00000 n 
+0003182260 00000 n 
+0003183117 00000 n 
+0003271982 00000 n 
+0003274700 00000 n 
+0003274827 00000 n 
+0003274949 00000 n 
+0003189010 00000 n 
+0003189202 00000 n 
+0003189396 00000 n 
+0003189579 00000 n 
+0003189734 00000 n 
+0003189973 00000 n 
+0003190156 00000 n 
+0003190345 00000 n 
+0003190693 00000 n 
+0003188791 00000 n 
+0003185383 00000 n 
+0003190511 00000 n 
+0003190571 00000 n 
+0003190632 00000 n 
+0003193162 00000 n 
+0003193815 00000 n 
+0003193013 00000 n 
+0003190910 00000 n 
+0003193328 00000 n 
+0003193388 00000 n 
+0003193510 00000 n 
+0003193571 00000 n 
+0003193632 00000 n 
+0003193754 00000 n 
+0003195990 00000 n 
+0003197009 00000 n 
+0003195841 00000 n 
+0003193997 00000 n 
+0003196156 00000 n 
+0003196216 00000 n 
+0003196277 00000 n 
+0003196399 00000 n 
+0003196460 00000 n 
+0003196521 00000 n 
+0003196643 00000 n 
+0003196704 00000 n 
+0003196765 00000 n 
+0003196887 00000 n 
+0003196948 00000 n 
+0003199492 00000 n 
+0003200388 00000 n 
+0003199343 00000 n 
+0003197191 00000 n 
+0003199658 00000 n 
+0003199718 00000 n 
+0003199840 00000 n 
+0003199901 00000 n 
+0003199962 00000 n 
+0003200083 00000 n 
+0003200144 00000 n 
+0003200205 00000 n 
+0003200327 00000 n 
+0004866212 00000 n 
+0003202818 00000 n 
+0003203774 00000 n 
+0003202669 00000 n 
+0003200570 00000 n 
+0003202984 00000 n 
+0003203044 00000 n 
+0003203105 00000 n 
+0003203227 00000 n 
+0003203288 00000 n 
+0003203349 00000 n 
+0003203471 00000 n 
+0003203532 00000 n 
+0003203593 00000 n 
+0003203714 00000 n 
+0003206616 00000 n 
+0003207633 00000 n 
+0003206467 00000 n 
+0003203956 00000 n 
+0003206782 00000 n 
+0003206842 00000 n 
+0003206903 00000 n 
+0003207025 00000 n 
+0003207086 00000 n 
+0003207208 00000 n 
+0003207269 00000 n 
+0003207391 00000 n 
+0003207452 00000 n 
+0003207573 00000 n 
+0003210420 00000 n 
+0003211261 00000 n 
+0003210271 00000 n 
+0003207828 00000 n 
+0003210586 00000 n 
+0003210646 00000 n 
+0003210768 00000 n 
+0003210829 00000 n 
+0003210951 00000 n 
+0003211012 00000 n 
+0003211073 00000 n 
+0003211200 00000 n 
+0003214536 00000 n 
+0003215321 00000 n 
+0003214387 00000 n 
+0003211456 00000 n 
+0003214702 00000 n 
+0003214762 00000 n 
+0003214823 00000 n 
+0003214950 00000 n 
+0003215011 00000 n 
+0003215072 00000 n 
+0003215199 00000 n 
+0003215260 00000 n 
+0003218024 00000 n 
+0003219229 00000 n 
+0003217875 00000 n 
+0003215516 00000 n 
+0003218190 00000 n 
+0003218250 00000 n 
+0003218377 00000 n 
+0003218438 00000 n 
+0003218560 00000 n 
+0003218621 00000 n 
+0003218743 00000 n 
+0003218804 00000 n 
+0003218926 00000 n 
+0003218987 00000 n 
+0003219048 00000 n 
+0003219169 00000 n 
+0003221707 00000 n 
+0003222844 00000 n 
+0003221558 00000 n 
+0003219424 00000 n 
+0003221873 00000 n 
+0003221933 00000 n 
+0003222055 00000 n 
+0003222116 00000 n 
+0003222177 00000 n 
+0003222299 00000 n 
+0003222360 00000 n 
+0003222421 00000 n 
+0003222541 00000 n 
+0003222602 00000 n 
+0003222663 00000 n 
+0003222784 00000 n 
+0004866345 00000 n 
+0003225401 00000 n 
+0003226358 00000 n 
+0003225252 00000 n 
+0003223039 00000 n 
+0003225567 00000 n 
+0003225627 00000 n 
+0003225688 00000 n 
+0003225810 00000 n 
+0003225871 00000 n 
+0003225932 00000 n 
+0003226054 00000 n 
+0003226114 00000 n 
+0003226175 00000 n 
+0003226297 00000 n 
+0003229134 00000 n 
+0003229299 00000 n 
+0003229466 00000 n 
+0003229653 00000 n 
+0003230609 00000 n 
+0003228955 00000 n 
+0003226553 00000 n 
+0003229819 00000 n 
+0003229879 00000 n 
+0003229940 00000 n 
+0003230061 00000 n 
+0003230122 00000 n 
+0003230183 00000 n 
+0003230305 00000 n 
+0003230366 00000 n 
+0003230427 00000 n 
+0003230548 00000 n 
+0003233804 00000 n 
+0003233984 00000 n 
+0003235063 00000 n 
+0003233645 00000 n 
+0003230804 00000 n 
+0003234150 00000 n 
+0003234210 00000 n 
+0003234332 00000 n 
+0003234393 00000 n 
+0003234515 00000 n 
+0003234576 00000 n 
+0003234698 00000 n 
+0003234759 00000 n 
+0003234881 00000 n 
+0003234941 00000 n 
+0003235002 00000 n 
+0003238678 00000 n 
+0003238859 00000 n 
+0003239038 00000 n 
+0003239211 00000 n 
+0003239594 00000 n 
+0003239773 00000 n 
+0003239946 00000 n 
+0003240843 00000 n 
+0003238459 00000 n 
+0003235258 00000 n 
+0003240112 00000 n 
+0003240233 00000 n 
+0003240294 00000 n 
+0003240355 00000 n 
+0003240477 00000 n 
+0003240538 00000 n 
+0003240599 00000 n 
+0003239403 00000 n 
+0003240721 00000 n 
+0003240782 00000 n 
+0003243989 00000 n 
+0003244373 00000 n 
+0003244552 00000 n 
+0003244725 00000 n 
+0003244916 00000 n 
+0003245094 00000 n 
+0003245264 00000 n 
+0003249920 00000 n 
+0003245455 00000 n 
+0003246349 00000 n 
+0003243760 00000 n 
+0003241075 00000 n 
+0003245621 00000 n 
+0003245681 00000 n 
+0003244181 00000 n 
+0003245803 00000 n 
+0003245864 00000 n 
+0003245925 00000 n 
+0003246046 00000 n 
+0003246107 00000 n 
+0003246168 00000 n 
+0003246289 00000 n 
+0003250109 00000 n 
+0003250298 00000 n 
+0003250469 00000 n 
+0003250635 00000 n 
+0003251529 00000 n 
+0003249731 00000 n 
+0003246569 00000 n 
+0003250801 00000 n 
+0003250861 00000 n 
+0003250922 00000 n 
+0003251043 00000 n 
+0003251104 00000 n 
+0003251165 00000 n 
+0003251287 00000 n 
+0003251348 00000 n 
+0003251469 00000 n 
+0004866478 00000 n 
+0003254610 00000 n 
+0003254781 00000 n 
+0003255495 00000 n 
+0003254451 00000 n 
+0003251761 00000 n 
+0003254947 00000 n 
+0003255007 00000 n 
+0003255068 00000 n 
+0003255190 00000 n 
+0003255251 00000 n 
+0003255373 00000 n 
+0003255434 00000 n 
+0003258380 00000 n 
+0003258618 00000 n 
+0003258857 00000 n 
+0003259031 00000 n 
+0003259271 00000 n 
+0003260290 00000 n 
+0003258191 00000 n 
+0003255690 00000 n 
+0003259437 00000 n 
+0003259558 00000 n 
+0003259619 00000 n 
+0003259680 00000 n 
+0003259802 00000 n 
+0003259863 00000 n 
+0003259924 00000 n 
+0003260046 00000 n 
+0003260107 00000 n 
+0003260229 00000 n 
+0003263959 00000 n 
+0003264145 00000 n 
+0003264331 00000 n 
+0003264524 00000 n 
+0003264728 00000 n 
+0003264934 00000 n 
+0003265139 00000 n 
+0003265520 00000 n 
+0003266295 00000 n 
+0003263730 00000 n 
+0003260485 00000 n 
+0003265686 00000 n 
+0003265746 00000 n 
+0003265807 00000 n 
+0003265927 00000 n 
+0003265988 00000 n 
+0003266108 00000 n 
+0003266169 00000 n 
+0003265330 00000 n 
+0003269907 00000 n 
+0003270146 00000 n 
+0003270363 00000 n 
+0003270549 00000 n 
+0003270921 00000 n 
+0003271138 00000 n 
+0003272102 00000 n 
+0003269698 00000 n 
+0003266502 00000 n 
+0003271304 00000 n 
+0003271364 00000 n 
+0003271425 00000 n 
+0003271486 00000 n 
+0003271612 00000 n 
+0003271673 00000 n 
+0003271734 00000 n 
+0003270735 00000 n 
+0003271860 00000 n 
+0003271921 00000 n 
+0003272042 00000 n 
+0003277570 00000 n 
+0003282036 00000 n 
+0003274474 00000 n 
+0003275437 00000 n 
+0003274325 00000 n 
+0003272310 00000 n 
+0003274640 00000 n 
+0003274766 00000 n 
+0003274888 00000 n 
+0003275015 00000 n 
+0003275076 00000 n 
+0003275137 00000 n 
+0003275196 00000 n 
+0003275257 00000 n 
+0003282105 00000 n 
+0003282363 00000 n 
+0003282622 00000 n 
+0003282838 00000 n 
+0003283095 00000 n 
+0003283353 00000 n 
+0003283612 00000 n 
+0003283871 00000 n 
+0003284087 00000 n 
+0003284346 00000 n 
+0003284605 00000 n 
+0003284864 00000 n 
+0003285080 00000 n 
+0003285339 00000 n 
+0003285597 00000 n 
+0003285856 00000 n 
+0003286690 00000 n 
+0003277254 00000 n 
+0003275620 00000 n 
+0003286022 00000 n 
+0003286082 00000 n 
+0003286143 00000 n 
+0003286204 00000 n 
+0003286265 00000 n 
+0003286326 00000 n 
+0003286387 00000 n 
+0003286448 00000 n 
+0003286509 00000 n 
+0003286570 00000 n 
+0004866611 00000 n 
+0003278492 00000 n 
+0003278624 00000 n 
+0003278777 00000 n 
+0003279111 00000 n 
+0003279559 00000 n 
+0003279799 00000 n 
+0003279822 00000 n 
+0003282012 00000 n 
+0003289192 00000 n 
+0003289404 00000 n 
+0003289628 00000 n 
+0003289883 00000 n 
+0003290138 00000 n 
+0003290350 00000 n 
+0003290574 00000 n 
+0003290830 00000 n 
+0003291086 00000 n 
+0003291339 00000 n 
+0003291594 00000 n 
+0003291849 00000 n 
+0003292105 00000 n 
+0003292321 00000 n 
+0003292546 00000 n 
+0003292800 00000 n 
+0003293055 00000 n 
+0003293310 00000 n 
+0003293566 00000 n 
+0003293822 00000 n 
+0003294077 00000 n 
+0003294333 00000 n 
+0003294588 00000 n 
+0003294844 00000 n 
+0003295097 00000 n 
+0003296295 00000 n 
+0003288803 00000 n 
+0003286902 00000 n 
+0003295263 00000 n 
+0003295382 00000 n 
+0003295443 00000 n 
+0003295504 00000 n 
+0003295565 00000 n 
+0003295626 00000 n 
+0003295687 00000 n 
+0003295748 00000 n 
+0003295809 00000 n 
+0003295870 00000 n 
+0003295931 00000 n 
+0003295992 00000 n 
+0003296053 00000 n 
+0003296114 00000 n 
+0003296175 00000 n 
+0003298688 00000 n 
+0003302379 00000 n 
+0003302448 00000 n 
+0003302642 00000 n 
+0003302874 00000 n 
+0003303106 00000 n 
+0003303338 00000 n 
+0003303536 00000 n 
+0003303768 00000 n 
+0003303966 00000 n 
+0003304198 00000 n 
+0003304392 00000 n 
+0003304624 00000 n 
+0003304816 00000 n 
+0003305047 00000 n 
+0003305279 00000 n 
+0003305511 00000 n 
+0003305742 00000 n 
+0003305947 00000 n 
+0003306179 00000 n 
+0003306383 00000 n 
+0003310470 00000 n 
+0003310700 00000 n 
+0003306614 00000 n 
+0003307628 00000 n 
+0003298332 00000 n 
+0003296505 00000 n 
+0003306780 00000 n 
+0003306899 00000 n 
+0003306960 00000 n 
+0003307021 00000 n 
+0003307082 00000 n 
+0003307143 00000 n 
+0003307204 00000 n 
+0003307264 00000 n 
+0003307323 00000 n 
+0003307384 00000 n 
+0003307445 00000 n 
+0003307506 00000 n 
+0003307567 00000 n 
+0003299483 00000 n 
+0003299615 00000 n 
+0003299768 00000 n 
+0003300058 00000 n 
+0003300459 00000 n 
+0003300699 00000 n 
+0003300722 00000 n 
+0003302355 00000 n 
+0003310897 00000 n 
+0003311129 00000 n 
+0003311319 00000 n 
+0003311525 00000 n 
+0003311934 00000 n 
+0003312160 00000 n 
+0003312352 00000 n 
+0003312580 00000 n 
+0003312774 00000 n 
+0003313006 00000 n 
+0003313197 00000 n 
+0003313389 00000 n 
+0003313594 00000 n 
+0003313822 00000 n 
+0003314054 00000 n 
+0003314259 00000 n 
+0003314484 00000 n 
+0003314742 00000 n 
+0003315000 00000 n 
+0003315190 00000 n 
+0003315415 00000 n 
+0003315672 00000 n 
+0003315930 00000 n 
+0003316445 00000 n 
+0003316702 00000 n 
+0003316959 00000 n 
+0003317148 00000 n 
+0003317373 00000 n 
+0003317597 00000 n 
+0003317803 00000 n 
+0003318025 00000 n 
+0003318229 00000 n 
+0003318420 00000 n 
+0003319374 00000 n 
+0003309961 00000 n 
+0003307853 00000 n 
+0003318586 00000 n 
+0003318646 00000 n 
+0003318707 00000 n 
+0003318768 00000 n 
+0003311731 00000 n 
+0003318829 00000 n 
+0003318890 00000 n 
+0003318951 00000 n 
+0003319012 00000 n 
+0003319192 00000 n 
+0003316188 00000 n 
+0003319252 00000 n 
+0003319313 00000 n 
+0003433585 00000 n 
+0003447128 00000 n 
+0003447311 00000 n 
+0003368761 00000 n 
+0003368883 00000 n 
+0003368948 00000 n 
+0003369013 00000 n 
+0003369135 00000 n 
+0003369201 00000 n 
+0003369267 00000 n 
+0003369333 00000 n 
+0003369399 00000 n 
+0003369526 00000 n 
+0003374201 00000 n 
+0003322141 00000 n 
+0003322364 00000 n 
+0003322553 00000 n 
+0003322777 00000 n 
+0003322966 00000 n 
+0003323190 00000 n 
+0003323380 00000 n 
+0003323585 00000 n 
+0003323810 00000 n 
+0003324003 00000 n 
+0003324228 00000 n 
+0003324452 00000 n 
+0003324677 00000 n 
+0003324901 00000 n 
+0003325126 00000 n 
+0003325351 00000 n 
+0003325576 00000 n 
+0003325781 00000 n 
+0003325985 00000 n 
+0003326210 00000 n 
+0003326403 00000 n 
+0003326628 00000 n 
+0003326817 00000 n 
+0003327042 00000 n 
+0003327238 00000 n 
+0003327463 00000 n 
+0003327668 00000 n 
+0003327893 00000 n 
+0003328086 00000 n 
+0003328311 00000 n 
+0003328503 00000 n 
+0003328727 00000 n 
+0003328952 00000 n 
+0003329177 00000 n 
+0003329401 00000 n 
+0003329626 00000 n 
+0003329851 00000 n 
+0003333738 00000 n 
+0003333962 00000 n 
+0003334167 00000 n 
+0003334392 00000 n 
+0003334597 00000 n 
+0003330074 00000 n 
+0003331029 00000 n 
+0003321622 00000 n 
+0003319597 00000 n 
+0003330240 00000 n 
+0003330300 00000 n 
+0003330361 00000 n 
+0003330422 00000 n 
+0003330483 00000 n 
+0003330544 00000 n 
+0003330605 00000 n 
+0003330666 00000 n 
+0003330726 00000 n 
+0003330787 00000 n 
+0003330848 00000 n 
+0003330908 00000 n 
+0003330969 00000 n 
+0003374506 00000 n 
+0003374628 00000 n 
+0003374877 00000 n 
+0003378097 00000 n 
+0003378280 00000 n 
+0003378462 00000 n 
+0003378584 00000 n 
+0003378705 00000 n 
+0003378827 00000 n 
+0003381872 00000 n 
+0003334822 00000 n 
+0003335047 00000 n 
+0003335238 00000 n 
+0003335462 00000 n 
+0003335687 00000 n 
+0003335912 00000 n 
+0003336136 00000 n 
+0003336360 00000 n 
+0003336585 00000 n 
+0003336791 00000 n 
+0003336996 00000 n 
+0003337221 00000 n 
+0003337426 00000 n 
+0003337650 00000 n 
+0003337839 00000 n 
+0003338064 00000 n 
+0003338255 00000 n 
+0003338479 00000 n 
+0003338668 00000 n 
+0003338858 00000 n 
+0003339083 00000 n 
+0003339273 00000 n 
+0003339464 00000 n 
+0003340300 00000 n 
+0003333319 00000 n 
+0003331240 00000 n 
+0003339630 00000 n 
+0003339690 00000 n 
+0003339751 00000 n 
+0003339812 00000 n 
+0003339873 00000 n 
+0003339934 00000 n 
+0003339995 00000 n 
+0003340056 00000 n 
+0003340117 00000 n 
+0003340178 00000 n 
+0003340239 00000 n 
+0003382119 00000 n 
+0003382302 00000 n 
+0003382424 00000 n 
+0003343517 00000 n 
+0003343707 00000 n 
+0003343933 00000 n 
+0003343358 00000 n 
+0003340496 00000 n 
+0003343873 00000 n 
+0004866744 00000 n 
+0003346823 00000 n 
+0003347012 00000 n 
+0003347237 00000 n 
+0003347428 00000 n 
+0003347653 00000 n 
+0003347859 00000 n 
+0003348085 00000 n 
+0003346624 00000 n 
+0003344087 00000 n 
+0003348025 00000 n 
+0003351291 00000 n 
+0003351510 00000 n 
+0003351737 00000 n 
+0003351965 00000 n 
+0003352429 00000 n 
+0003352648 00000 n 
+0003356683 00000 n 
+0003353041 00000 n 
+0003353267 00000 n 
+0003351062 00000 n 
+0003348265 00000 n 
+0003353207 00000 n 
+0003352197 00000 n 
+0003352845 00000 n 
+0003985654 00000 n 
+0003420570 00000 n 
+0003420509 00000 n 
+0003356873 00000 n 
+0003357063 00000 n 
+0003357291 00000 n 
+0003357522 00000 n 
+0003357747 00000 n 
+0003357973 00000 n 
+0003356484 00000 n 
+0003353421 00000 n 
+0003357913 00000 n 
+0003441181 00000 n 
+0003405385 00000 n 
+0003361014 00000 n 
+0003361239 00000 n 
+0003361464 00000 n 
+0003361690 00000 n 
+0003360845 00000 n 
+0003358191 00000 n 
+0003361630 00000 n 
+0003364773 00000 n 
+0003364998 00000 n 
+0003365224 00000 n 
+0003364614 00000 n 
+0003361919 00000 n 
+0003365164 00000 n 
+0003368092 00000 n 
+0003368283 00000 n 
+0003368474 00000 n 
+0003369709 00000 n 
+0003367923 00000 n 
+0003365453 00000 n 
+0003368640 00000 n 
+0003368700 00000 n 
+0003368822 00000 n 
+0003369074 00000 n 
+0003369465 00000 n 
+0003369587 00000 n 
+0003369648 00000 n 
+0004866877 00000 n 
+0003373239 00000 n 
+0003373464 00000 n 
+0003373689 00000 n 
+0003373914 00000 n 
+0003375002 00000 n 
+0003373060 00000 n 
+0003369956 00000 n 
+0003374080 00000 n 
+0003374140 00000 n 
+0003374262 00000 n 
+0003374323 00000 n 
+0003374384 00000 n 
+0003374445 00000 n 
+0003374567 00000 n 
+0003374694 00000 n 
+0003374755 00000 n 
+0003374816 00000 n 
+0003374942 00000 n 
+0003377810 00000 n 
+0003378954 00000 n 
+0003377661 00000 n 
+0003375209 00000 n 
+0003377976 00000 n 
+0003378036 00000 n 
+0003378158 00000 n 
+0003378219 00000 n 
+0003378340 00000 n 
+0003378401 00000 n 
+0003378523 00000 n 
+0003378644 00000 n 
+0003378766 00000 n 
+0003378893 00000 n 
+0003381434 00000 n 
+0003385067 00000 n 
+0003388779 00000 n 
+0003381646 00000 n 
+0003382726 00000 n 
+0003381275 00000 n 
+0003379137 00000 n 
+0003381812 00000 n 
+0003381937 00000 n 
+0003381997 00000 n 
+0003382058 00000 n 
+0003382180 00000 n 
+0003382241 00000 n 
+0003382363 00000 n 
+0003382485 00000 n 
+0003382546 00000 n 
+0003388848 00000 n 
+0003389066 00000 n 
+0003389297 00000 n 
+0003389487 00000 n 
+0003389681 00000 n 
+0003389913 00000 n 
+0003390145 00000 n 
+0003390377 00000 n 
+0003390575 00000 n 
+0003390807 00000 n 
+0003391005 00000 n 
+0003391237 00000 n 
+0003391434 00000 n 
+0003391664 00000 n 
+0003391851 00000 n 
+0003392083 00000 n 
+0003392315 00000 n 
+0003392547 00000 n 
+0003392752 00000 n 
+0003392984 00000 n 
+0003393188 00000 n 
+0003393419 00000 n 
+0003394376 00000 n 
+0003384691 00000 n 
+0003382921 00000 n 
+0003393585 00000 n 
+0003393645 00000 n 
+0003393706 00000 n 
+0003393767 00000 n 
+0003393828 00000 n 
+0003393889 00000 n 
+0003393950 00000 n 
+0003394011 00000 n 
+0003394072 00000 n 
+0003394133 00000 n 
+0003394193 00000 n 
+0003394254 00000 n 
+0003394315 00000 n 
+0003385861 00000 n 
+0003385993 00000 n 
+0003386146 00000 n 
+0003386436 00000 n 
+0003386839 00000 n 
+0003387079 00000 n 
+0003387102 00000 n 
+0003388755 00000 n 
+0003397538 00000 n 
+0003397769 00000 n 
+0003397966 00000 n 
+0003398196 00000 n 
+0003398392 00000 n 
+0003398609 00000 n 
+0003398841 00000 n 
+0003399032 00000 n 
+0003399221 00000 n 
+0003399453 00000 n 
+0003399644 00000 n 
+0003399875 00000 n 
+0003400064 00000 n 
+0003400269 00000 n 
+0003400678 00000 n 
+0003400905 00000 n 
+0003401098 00000 n 
+0003401325 00000 n 
+0003401557 00000 n 
+0003401789 00000 n 
+0003401983 00000 n 
+0003402215 00000 n 
+0003402406 00000 n 
+0003402599 00000 n 
+0003402805 00000 n 
+0003403033 00000 n 
+0003403265 00000 n 
+0003403471 00000 n 
+0003403664 00000 n 
+0003403868 00000 n 
+0003404100 00000 n 
+0003404305 00000 n 
+0003405507 00000 n 
+0003397069 00000 n 
+0003394588 00000 n 
+0003404471 00000 n 
+0003404531 00000 n 
+0003404592 00000 n 
+0003404653 00000 n 
+0003404714 00000 n 
+0003404775 00000 n 
+0003400474 00000 n 
+0003404836 00000 n 
+0003404897 00000 n 
+0003404958 00000 n 
+0003405019 00000 n 
+0003405080 00000 n 
+0003405141 00000 n 
+0003405202 00000 n 
+0003405263 00000 n 
+0003405324 00000 n 
+0003405446 00000 n 
+0003409336 00000 n 
+0003409519 00000 n 
+0003408798 00000 n 
+0003411779 00000 n 
+0003415865 00000 n 
+0003408988 00000 n 
+0003409820 00000 n 
+0003408639 00000 n 
+0003405732 00000 n 
+0003409154 00000 n 
+0003409214 00000 n 
+0003409275 00000 n 
+0003409397 00000 n 
+0003409458 00000 n 
+0003409580 00000 n 
+0003409641 00000 n 
+0004867010 00000 n 
+0003415934 00000 n 
+0003416153 00000 n 
+0003416371 00000 n 
+0003416599 00000 n 
+0003416818 00000 n 
+0003417012 00000 n 
+0003417240 00000 n 
+0003417468 00000 n 
+0003417696 00000 n 
+0003417894 00000 n 
+0003418122 00000 n 
+0003418320 00000 n 
+0003418548 00000 n 
+0003418744 00000 n 
+0003418971 00000 n 
+0003419199 00000 n 
+0003419427 00000 n 
+0003419630 00000 n 
+0003424001 00000 n 
+0003424229 00000 n 
+0003419856 00000 n 
+0003420814 00000 n 
+0003411433 00000 n 
+0003410002 00000 n 
+0003420022 00000 n 
+0003420082 00000 n 
+0003420143 00000 n 
+0003420204 00000 n 
+0003420265 00000 n 
+0003420326 00000 n 
+0003420387 00000 n 
+0003420448 00000 n 
+0003420631 00000 n 
+0003420692 00000 n 
+0003420753 00000 n 
+0003412707 00000 n 
+0003412839 00000 n 
+0003412992 00000 n 
+0003413294 00000 n 
+0003413707 00000 n 
+0003413947 00000 n 
+0003413970 00000 n 
+0003415841 00000 n 
+0003424456 00000 n 
+0003424682 00000 n 
+0003424910 00000 n 
+0003425114 00000 n 
+0003425341 00000 n 
+0003425546 00000 n 
+0003425774 00000 n 
+0003425962 00000 n 
+0003426190 00000 n 
+0003426417 00000 n 
+0003426607 00000 n 
+0003426833 00000 n 
+0003427025 00000 n 
+0003427215 00000 n 
+0003427441 00000 n 
+0003427630 00000 n 
+0003427858 00000 n 
+0003428049 00000 n 
+0003428240 00000 n 
+0003428468 00000 n 
+0003428659 00000 n 
+0003428857 00000 n 
+0003429085 00000 n 
+0003429313 00000 n 
+0003429511 00000 n 
+0003429739 00000 n 
+0003429929 00000 n 
+0003430135 00000 n 
+0003430545 00000 n 
+0003430772 00000 n 
+0003430965 00000 n 
+0003431159 00000 n 
+0003431387 00000 n 
+0003431578 00000 n 
+0003431770 00000 n 
+0003431975 00000 n 
+0003432203 00000 n 
+0003432395 00000 n 
+0003432623 00000 n 
+0003432851 00000 n 
+0003436872 00000 n 
+0003433055 00000 n 
+0003434255 00000 n 
+0003423422 00000 n 
+0003421039 00000 n 
+0003433221 00000 n 
+0003433281 00000 n 
+0003433342 00000 n 
+0003433403 00000 n 
+0003433464 00000 n 
+0003433525 00000 n 
+0003433645 00000 n 
+0003433706 00000 n 
+0003433767 00000 n 
+0003433828 00000 n 
+0003433889 00000 n 
+0003433950 00000 n 
+0003434011 00000 n 
+0003434072 00000 n 
+0003430341 00000 n 
+0003434133 00000 n 
+0003434194 00000 n 
+0003441303 00000 n 
+0003447494 00000 n 
+0003437100 00000 n 
+0003437328 00000 n 
+0003437556 00000 n 
+0003437747 00000 n 
+0003437975 00000 n 
+0003438166 00000 n 
+0003438364 00000 n 
+0003438592 00000 n 
+0003438788 00000 n 
+0003439016 00000 n 
+0003439243 00000 n 
+0003439471 00000 n 
+0003439698 00000 n 
+0003439890 00000 n 
+0003440087 00000 n 
+0003440284 00000 n 
+0003441368 00000 n 
+0003436563 00000 n 
+0003434464 00000 n 
+0003440450 00000 n 
+0003440510 00000 n 
+0003440571 00000 n 
+0003440632 00000 n 
+0003440693 00000 n 
+0003440754 00000 n 
+0003440815 00000 n 
+0003440876 00000 n 
+0003440937 00000 n 
+0003440998 00000 n 
+0003441059 00000 n 
+0003441120 00000 n 
+0003441242 00000 n 
+0003455838 00000 n 
+0003456021 00000 n 
+0003445012 00000 n 
+0003445203 00000 n 
+0003445435 00000 n 
+0003445898 00000 n 
+0003446089 00000 n 
+0003446320 00000 n 
+0003446780 00000 n 
+0003447614 00000 n 
+0003444783 00000 n 
+0003441577 00000 n 
+0003446946 00000 n 
+0003447006 00000 n 
+0003447067 00000 n 
+0003447189 00000 n 
+0003447250 00000 n 
+0003445667 00000 n 
+0003447372 00000 n 
+0003447433 00000 n 
+0003446551 00000 n 
+0003447554 00000 n 
+0003454856 00000 n 
+0003455088 00000 n 
+0003450771 00000 n 
+0003454787 00000 n 
+0003455551 00000 n 
+0003456259 00000 n 
+0003450575 00000 n 
+0003447810 00000 n 
+0003455717 00000 n 
+0003455777 00000 n 
+0003455320 00000 n 
+0003455899 00000 n 
+0003455960 00000 n 
+0003456081 00000 n 
+0003451629 00000 n 
+0003451761 00000 n 
+0003451914 00000 n 
+0003452220 00000 n 
+0003452641 00000 n 
+0003452881 00000 n 
+0003452904 00000 n 
+0003454763 00000 n 
+0003459650 00000 n 
+0003459881 00000 n 
+0003460112 00000 n 
+0003460342 00000 n 
+0003460573 00000 n 
+0003460804 00000 n 
+0003461034 00000 n 
+0003461238 00000 n 
+0003461443 00000 n 
+0003461922 00000 n 
+0003462119 00000 n 
+0003462350 00000 n 
+0003462547 00000 n 
+0003462753 00000 n 
+0003463233 00000 n 
+0003463464 00000 n 
+0003463661 00000 n 
+0003463867 00000 n 
+0003464347 00000 n 
+0003464578 00000 n 
+0003464784 00000 n 
+0003464989 00000 n 
+0003465229 00000 n 
+0003465426 00000 n 
+0003465657 00000 n 
+0003465854 00000 n 
+0003466051 00000 n 
+0003466282 00000 n 
+0003466479 00000 n 
+0003466675 00000 n 
+0003466906 00000 n 
+0003467098 00000 n 
+0003467304 00000 n 
+0003467784 00000 n 
+0003468015 00000 n 
+0003468209 00000 n 
+0003468415 00000 n 
+0003468895 00000 n 
+0003469125 00000 n 
+0003469307 00000 n 
+0003469512 00000 n 
+0003469750 00000 n 
+0003469981 00000 n 
+0003470176 00000 n 
+0003470382 00000 n 
+0003470862 00000 n 
+0003471093 00000 n 
+0003471281 00000 n 
+0003471487 00000 n 
+0003471967 00000 n 
+0003472196 00000 n 
+0003472376 00000 n 
+0003472561 00000 n 
+0003472765 00000 n 
+0003476884 00000 n 
+0003477090 00000 n 
+0003473241 00000 n 
+0003473955 00000 n 
+0003458881 00000 n 
+0003456484 00000 n 
+0003473407 00000 n 
+0003473467 00000 n 
+0003473528 00000 n 
+0003473589 00000 n 
+0003473650 00000 n 
+0003473711 00000 n 
+0003461682 00000 n 
+0003462993 00000 n 
+0003464107 00000 n 
+0003473772 00000 n 
+0003473833 00000 n 
+0003473894 00000 n 
+0003467544 00000 n 
+0003468655 00000 n 
+0003470622 00000 n 
+0003471727 00000 n 
+0003473003 00000 n 
+0004867143 00000 n 
+0003540939 00000 n 
+0003544354 00000 n 
+0003544475 00000 n 
+0003544661 00000 n 
+0003544904 00000 n 
+0003548065 00000 n 
+0003548309 00000 n 
+0003551648 00000 n 
+0003551892 00000 n 
+0003477320 00000 n 
+0003477526 00000 n 
+0003477757 00000 n 
+0003477987 00000 n 
+0003478218 00000 n 
+0003478449 00000 n 
+0003478680 00000 n 
+0003478911 00000 n 
+0003479108 00000 n 
+0003479339 00000 n 
+0003479570 00000 n 
+0003479757 00000 n 
+0003479988 00000 n 
+0003480185 00000 n 
+0003480416 00000 n 
+0003480612 00000 n 
+0003480841 00000 n 
+0003481037 00000 n 
+0003481242 00000 n 
+0003481447 00000 n 
+0003481676 00000 n 
+0003481872 00000 n 
+0003482077 00000 n 
+0003482282 00000 n 
+0003482470 00000 n 
+0003482701 00000 n 
+0003482898 00000 n 
+0003483103 00000 n 
+0003483308 00000 n 
+0003483539 00000 n 
+0003483736 00000 n 
+0003483941 00000 n 
+0003484146 00000 n 
+0003484334 00000 n 
+0003484564 00000 n 
+0003484761 00000 n 
+0003484992 00000 n 
+0003485189 00000 n 
+0003485420 00000 n 
+0003485616 00000 n 
+0003485846 00000 n 
+0003486041 00000 n 
+0003490174 00000 n 
+0003490372 00000 n 
+0003490602 00000 n 
+0003490790 00000 n 
+0003490988 00000 n 
+0003491218 00000 n 
+0003491405 00000 n 
+0003491603 00000 n 
+0003491833 00000 n 
+0003486270 00000 n 
+0003486982 00000 n 
+0003476295 00000 n 
+0003474179 00000 n 
+0003486436 00000 n 
+0003486496 00000 n 
+0003486557 00000 n 
+0003486618 00000 n 
+0003486679 00000 n 
+0003486740 00000 n 
+0003486801 00000 n 
+0003486862 00000 n 
+0003486923 00000 n 
+0003552196 00000 n 
+0003552379 00000 n 
+0003555684 00000 n 
+0003555867 00000 n 
+0003556048 00000 n 
+0003559732 00000 n 
+0003559981 00000 n 
+0003560226 00000 n 
+0003563786 00000 n 
+0003563974 00000 n 
+0003566777 00000 n 
+0003566960 00000 n 
+0003492021 00000 n 
+0003492227 00000 n 
+0003492456 00000 n 
+0003492662 00000 n 
+0003492891 00000 n 
+0003493122 00000 n 
+0003493353 00000 n 
+0003493581 00000 n 
+0003493810 00000 n 
+0003493999 00000 n 
+0003494227 00000 n 
+0003494415 00000 n 
+0003494643 00000 n 
+0003494839 00000 n 
+0003495067 00000 n 
+0003495264 00000 n 
+0003495492 00000 n 
+0003495680 00000 n 
+0003495908 00000 n 
+0003496097 00000 n 
+0003496326 00000 n 
+0003496522 00000 n 
+0003496751 00000 n 
+0003496948 00000 n 
+0003497177 00000 n 
+0003497364 00000 n 
+0003497531 00000 n 
+0003497760 00000 n 
+0003497953 00000 n 
+0003498120 00000 n 
+0003498349 00000 n 
+0003498554 00000 n 
+0003498794 00000 n 
+0003499024 00000 n 
+0003499216 00000 n 
+0003499421 00000 n 
+0003499661 00000 n 
+0003499890 00000 n 
+0003500117 00000 n 
+0003500312 00000 n 
+0003500539 00000 n 
+0003505716 00000 n 
+0003505947 00000 n 
+0003506144 00000 n 
+0003506334 00000 n 
+0003506564 00000 n 
+0003506751 00000 n 
+0003506948 00000 n 
+0003500734 00000 n 
+0003501203 00000 n 
+0003489525 00000 n 
+0003487152 00000 n 
+0003500900 00000 n 
+0003500960 00000 n 
+0003501021 00000 n 
+0003501082 00000 n 
+0003501143 00000 n 
+0003567143 00000 n 
+0003567326 00000 n 
+0003567509 00000 n 
+0003567691 00000 n 
+0003570547 00000 n 
+0003570734 00000 n 
+0003570917 00000 n 
+0003571161 00000 n 
+0003571405 00000 n 
+0003574223 00000 n 
+0003574406 00000 n 
+0003574650 00000 n 
+0003574891 00000 n 
+0003578620 00000 n 
+0003578864 00000 n 
+0003579108 00000 n 
+0003582651 00000 n 
+0003582833 00000 n 
+0003582955 00000 n 
+0003507161 00000 n 
+0003507341 00000 n 
+0003507572 00000 n 
+0003507759 00000 n 
+0003507956 00000 n 
+0003508165 00000 n 
+0003508346 00000 n 
+0003508577 00000 n 
+0003508764 00000 n 
+0003508970 00000 n 
+0003509167 00000 n 
+0003509380 00000 n 
+0003509558 00000 n 
+0003509789 00000 n 
+0003509976 00000 n 
+0003510182 00000 n 
+0003510378 00000 n 
+0003510591 00000 n 
+0003510769 00000 n 
+0003510999 00000 n 
+0003511195 00000 n 
+0003511400 00000 n 
+0003511597 00000 n 
+0003511776 00000 n 
+0003512007 00000 n 
+0003512204 00000 n 
+0003512410 00000 n 
+0003512607 00000 n 
+0003512785 00000 n 
+0003513016 00000 n 
+0003513202 00000 n 
+0003513399 00000 n 
+0003513792 00000 n 
+0003514004 00000 n 
+0003514193 00000 n 
+0003514424 00000 n 
+0003514611 00000 n 
+0003514808 00000 n 
+0003515201 00000 n 
+0003515413 00000 n 
+0003515602 00000 n 
+0003515829 00000 n 
+0003516025 00000 n 
+0003516196 00000 n 
+0003516427 00000 n 
+0003516620 00000 n 
+0003516826 00000 n 
+0003517237 00000 n 
+0003517442 00000 n 
+0003517638 00000 n 
+0003517806 00000 n 
+0003518035 00000 n 
+0003518266 00000 n 
+0003518462 00000 n 
+0003518635 00000 n 
+0003518863 00000 n 
+0003519059 00000 n 
+0003522594 00000 n 
+0003522791 00000 n 
+0003523022 00000 n 
+0003519232 00000 n 
+0003519458 00000 n 
+0003504897 00000 n 
+0003501386 00000 n 
+0003519398 00000 n 
+0003513596 00000 n 
+0003515005 00000 n 
+0003517032 00000 n 
+0003583143 00000 n 
+0003583326 00000 n 
+0003587639 00000 n 
+0003587883 00000 n 
+0003593350 00000 n 
+0003593594 00000 n 
+0003593838 00000 n 
+0003598336 00000 n 
+0003598579 00000 n 
+0003603879 00000 n 
+0003604001 00000 n 
+0003604249 00000 n 
+0003604371 00000 n 
+0003609782 00000 n 
+0003523219 00000 n 
+0003523416 00000 n 
+0003523647 00000 n 
+0003523844 00000 n 
+0003524073 00000 n 
+0003524269 00000 n 
+0003524498 00000 n 
+0003524704 00000 n 
+0003524933 00000 n 
+0003525138 00000 n 
+0003525367 00000 n 
+0003525563 00000 n 
+0003525791 00000 n 
+0003525984 00000 n 
+0003526212 00000 n 
+0003526417 00000 n 
+0003526646 00000 n 
+0003526875 00000 n 
+0003527062 00000 n 
+0003527268 00000 n 
+0003527496 00000 n 
+0003527689 00000 n 
+0003527874 00000 n 
+0003528080 00000 n 
+0003528311 00000 n 
+0003528542 00000 n 
+0003528773 00000 n 
+0003529003 00000 n 
+0003532871 00000 n 
+0003533102 00000 n 
+0003533299 00000 n 
+0003529232 00000 n 
+0003529946 00000 n 
+0003522135 00000 n 
+0003519710 00000 n 
+0003529398 00000 n 
+0003529458 00000 n 
+0003529519 00000 n 
+0003529580 00000 n 
+0003529641 00000 n 
+0003529702 00000 n 
+0003529763 00000 n 
+0003529824 00000 n 
+0003529885 00000 n 
+0003610031 00000 n 
+0003614603 00000 n 
+0003614852 00000 n 
+0003615034 00000 n 
+0003615155 00000 n 
+0003619972 00000 n 
+0003620281 00000 n 
+0003620462 00000 n 
+0003533496 00000 n 
+0003533692 00000 n 
+0003533885 00000 n 
+0003534115 00000 n 
+0003534346 00000 n 
+0003534539 00000 n 
+0003534736 00000 n 
+0003534930 00000 n 
+0003535113 00000 n 
+0003535308 00000 n 
+0003535490 00000 n 
+0003535717 00000 n 
+0003535899 00000 n 
+0003536081 00000 n 
+0003536311 00000 n 
+0003536493 00000 n 
+0003536689 00000 n 
+0003536871 00000 n 
+0003537102 00000 n 
+0003537299 00000 n 
+0003537530 00000 n 
+0003537727 00000 n 
+0003537956 00000 n 
+0003538147 00000 n 
+0003538343 00000 n 
+0003538534 00000 n 
+0003538765 00000 n 
+0003538962 00000 n 
+0003539159 00000 n 
+0003539355 00000 n 
+0003539548 00000 n 
+0003539778 00000 n 
+0003539970 00000 n 
+0003540164 00000 n 
+0003543871 00000 n 
+0003540347 00000 n 
+0003541059 00000 n 
+0003532352 00000 n 
+0003530183 00000 n 
+0003540513 00000 n 
+0003540573 00000 n 
+0003540634 00000 n 
+0003540695 00000 n 
+0003540756 00000 n 
+0003540817 00000 n 
+0003540878 00000 n 
+0003540999 00000 n 
+0003620766 00000 n 
+0003625924 00000 n 
+0003626046 00000 n 
+0003626168 00000 n 
+0003626351 00000 n 
+0003544067 00000 n 
+0003545024 00000 n 
+0003543712 00000 n 
+0003541255 00000 n 
+0003544233 00000 n 
+0003544293 00000 n 
+0003544414 00000 n 
+0003544540 00000 n 
+0003544600 00000 n 
+0003544722 00000 n 
+0003544783 00000 n 
+0003544844 00000 n 
+0003544964 00000 n 
+0004867276 00000 n 
+0003547717 00000 n 
+0003548492 00000 n 
+0003547568 00000 n 
+0003545206 00000 n 
+0003547883 00000 n 
+0003547943 00000 n 
+0003548004 00000 n 
+0003548126 00000 n 
+0003548187 00000 n 
+0003548248 00000 n 
+0003548370 00000 n 
+0003548431 00000 n 
+0003551361 00000 n 
+0003552439 00000 n 
+0003551212 00000 n 
+0003548674 00000 n 
+0003551527 00000 n 
+0003551587 00000 n 
+0003551709 00000 n 
+0003551770 00000 n 
+0003551831 00000 n 
+0003551952 00000 n 
+0003552013 00000 n 
+0003552074 00000 n 
+0003552135 00000 n 
+0003552257 00000 n 
+0003552318 00000 n 
+0003555336 00000 n 
+0003556231 00000 n 
+0003555187 00000 n 
+0003552634 00000 n 
+0003555502 00000 n 
+0003555562 00000 n 
+0003555623 00000 n 
+0004854125 00000 n 
+0003555745 00000 n 
+0003555806 00000 n 
+0003555928 00000 n 
+0003555987 00000 n 
+0003556109 00000 n 
+0003556170 00000 n 
+0003559445 00000 n 
+0003560351 00000 n 
+0003559296 00000 n 
+0003556466 00000 n 
+0003559611 00000 n 
+0003559671 00000 n 
+0003559798 00000 n 
+0003559859 00000 n 
+0003559920 00000 n 
+0003560043 00000 n 
+0003560104 00000 n 
+0003560165 00000 n 
+0003560291 00000 n 
+0003563438 00000 n 
+0003564157 00000 n 
+0003563289 00000 n 
+0003560546 00000 n 
+0003563604 00000 n 
+0003563664 00000 n 
+0003563725 00000 n 
+0003563852 00000 n 
+0003563913 00000 n 
+0003564035 00000 n 
+0003564096 00000 n 
+0003566551 00000 n 
+0003567811 00000 n 
+0003566402 00000 n 
+0003564352 00000 n 
+0003566717 00000 n 
+0003566838 00000 n 
+0003566899 00000 n 
+0003567021 00000 n 
+0003567082 00000 n 
+0003567204 00000 n 
+0003567265 00000 n 
+0003567387 00000 n 
+0003567448 00000 n 
+0003567570 00000 n 
+0003567630 00000 n 
+0003567751 00000 n 
+0004867409 00000 n 
+0003570321 00000 n 
+0003571525 00000 n 
+0003570172 00000 n 
+0003568006 00000 n 
+0003570487 00000 n 
+0003570612 00000 n 
+0003570673 00000 n 
+0003570795 00000 n 
+0003570856 00000 n 
+0003570978 00000 n 
+0003571039 00000 n 
+0003571100 00000 n 
+0003571222 00000 n 
+0003571283 00000 n 
+0003571344 00000 n 
+0003571465 00000 n 
+0003573875 00000 n 
+0003575011 00000 n 
+0003573726 00000 n 
+0003571720 00000 n 
+0003574041 00000 n 
+0003574101 00000 n 
+0003574162 00000 n 
+0003574284 00000 n 
+0003574345 00000 n 
+0003574467 00000 n 
+0003574528 00000 n 
+0003574589 00000 n 
+0003574711 00000 n 
+0003574771 00000 n 
+0003574832 00000 n 
+0003574951 00000 n 
+0003577753 00000 n 
+0003577918 00000 n 
+0003578085 00000 n 
+0003578272 00000 n 
+0003579291 00000 n 
+0003577574 00000 n 
+0003575206 00000 n 
+0003578438 00000 n 
+0003578498 00000 n 
+0003578559 00000 n 
+0003578681 00000 n 
+0003578742 00000 n 
+0003578803 00000 n 
+0003578925 00000 n 
+0003578986 00000 n 
+0003579047 00000 n 
+0003579169 00000 n 
+0003579230 00000 n 
+0003582235 00000 n 
+0003586751 00000 n 
+0003582425 00000 n 
+0003583446 00000 n 
+0003582076 00000 n 
+0003579486 00000 n 
+0003582591 00000 n 
+0003582712 00000 n 
+0003582773 00000 n 
+0003582894 00000 n 
+0003583021 00000 n 
+0003583082 00000 n 
+0003583204 00000 n 
+0003583265 00000 n 
+0003583386 00000 n 
+0003586931 00000 n 
+0003587112 00000 n 
+0003587291 00000 n 
+0003588066 00000 n 
+0003586572 00000 n 
+0003583641 00000 n 
+0003587457 00000 n 
+0003587517 00000 n 
+0003587578 00000 n 
+0003587700 00000 n 
+0003587761 00000 n 
+0003587822 00000 n 
+0003587944 00000 n 
+0003588005 00000 n 
+0003591571 00000 n 
+0003591953 00000 n 
+0003592132 00000 n 
+0003592515 00000 n 
+0003592694 00000 n 
+0003592885 00000 n 
+0003593063 00000 n 
+0003593959 00000 n 
+0003591342 00000 n 
+0003588298 00000 n 
+0003593229 00000 n 
+0003593289 00000 n 
+0003591763 00000 n 
+0003593411 00000 n 
+0003593472 00000 n 
+0003593533 00000 n 
+0003592323 00000 n 
+0003593655 00000 n 
+0003593716 00000 n 
+0003593777 00000 n 
+0003593899 00000 n 
+0004867542 00000 n 
+0003597420 00000 n 
+0003597611 00000 n 
+0003597799 00000 n 
+0003597988 00000 n 
+0003598822 00000 n 
+0003597241 00000 n 
+0003594191 00000 n 
+0003598154 00000 n 
+0003598214 00000 n 
+0003598275 00000 n 
+0003598397 00000 n 
+0003598458 00000 n 
+0003598518 00000 n 
+0003598639 00000 n 
+0003598700 00000 n 
+0003598761 00000 n 
+0003602791 00000 n 
+0003602962 00000 n 
+0003603132 00000 n 
+0003603299 00000 n 
+0003603485 00000 n 
+0003608187 00000 n 
+0003603653 00000 n 
+0003604496 00000 n 
+0003602592 00000 n 
+0003599054 00000 n 
+0003603819 00000 n 
+0003603940 00000 n 
+0003604067 00000 n 
+0003604128 00000 n 
+0003604189 00000 n 
+0003604310 00000 n 
+0003604436 00000 n 
+0003608361 00000 n 
+0003608516 00000 n 
+0003608673 00000 n 
+0003608848 00000 n 
+0003609241 00000 n 
+0003609434 00000 n 
+0003610091 00000 n 
+0003607968 00000 n 
+0003604703 00000 n 
+0003609600 00000 n 
+0003609660 00000 n 
+0003609721 00000 n 
+0003609848 00000 n 
+0003609909 00000 n 
+0003609970 00000 n 
+0003609045 00000 n 
+0003613320 00000 n 
+0003613493 00000 n 
+0003613679 00000 n 
+0003613866 00000 n 
+0003614088 00000 n 
+0003618754 00000 n 
+0003614316 00000 n 
+0003615403 00000 n 
+0003613121 00000 n 
+0003610286 00000 n 
+0003614482 00000 n 
+0003614542 00000 n 
+0003614669 00000 n 
+0003614730 00000 n 
+0003614791 00000 n 
+0003614912 00000 n 
+0003614973 00000 n 
+0003615095 00000 n 
+0003615221 00000 n 
+0003615282 00000 n 
+0003615342 00000 n 
+0003858947 00000 n 
+0003618971 00000 n 
+0003619157 00000 n 
+0003619530 00000 n 
+0003619746 00000 n 
+0003620886 00000 n 
+0003618555 00000 n 
+0003615598 00000 n 
+0003619912 00000 n 
+0003620037 00000 n 
+0003620098 00000 n 
+0003620159 00000 n 
+0003619343 00000 n 
+0003620220 00000 n 
+0003620341 00000 n 
+0003620401 00000 n 
+0003620523 00000 n 
+0003620583 00000 n 
+0003620644 00000 n 
+0003620705 00000 n 
+0003620826 00000 n 
+0003624150 00000 n 
+0003624541 00000 n 
+0003624735 00000 n 
+0003625127 00000 n 
+0003625310 00000 n 
+0003625698 00000 n 
+0003626594 00000 n 
+0003623921 00000 n 
+0003621093 00000 n 
+0003625864 00000 n 
+0003625985 00000 n 
+0003624345 00000 n 
+0003626107 00000 n 
+0003624931 00000 n 
+0003626229 00000 n 
+0003625504 00000 n 
+0003626290 00000 n 
+0003626412 00000 n 
+0003626473 00000 n 
+0003626534 00000 n 
+0004867675 00000 n 
+0003629058 00000 n 
+0003629290 00000 n 
+0003629522 00000 n 
+0003629753 00000 n 
+0003629985 00000 n 
+0003630183 00000 n 
+0003630415 00000 n 
+0003630613 00000 n 
+0003630845 00000 n 
+0003631041 00000 n 
+0003631271 00000 n 
+0003631469 00000 n 
+0003631701 00000 n 
+0003631899 00000 n 
+0003632131 00000 n 
+0003632329 00000 n 
+0003632561 00000 n 
+0003632792 00000 n 
+0003632990 00000 n 
+0003633188 00000 n 
+0003633419 00000 n 
+0003633616 00000 n 
+0003633813 00000 n 
+0003634008 00000 n 
+0003634238 00000 n 
+0003634434 00000 n 
+0003637975 00000 n 
+0003638172 00000 n 
+0003638404 00000 n 
+0003638602 00000 n 
+0003634630 00000 n 
+0003635767 00000 n 
+0003628649 00000 n 
+0003626763 00000 n 
+0003634796 00000 n 
+0003634975 00000 n 
+0003635036 00000 n 
+0003635097 00000 n 
+0003635158 00000 n 
+0003635219 00000 n 
+0003635280 00000 n 
+0003635341 00000 n 
+0003635402 00000 n 
+0003635463 00000 n 
+0003635524 00000 n 
+0003635585 00000 n 
+0003635646 00000 n 
+0003635706 00000 n 
+0003642540 00000 n 
+0003642662 00000 n 
+0003642784 00000 n 
+0003638800 00000 n 
+0003639032 00000 n 
+0003639230 00000 n 
+0003639461 00000 n 
+0003639659 00000 n 
+0003639857 00000 n 
+0003640089 00000 n 
+0003640287 00000 n 
+0003640485 00000 n 
+0003640681 00000 n 
+0003640912 00000 n 
+0003641109 00000 n 
+0003641306 00000 n 
+0003641503 00000 n 
+0003641735 00000 n 
+0003641933 00000 n 
+0003642131 00000 n 
+0003643331 00000 n 
+0003637626 00000 n 
+0003635992 00000 n 
+0003642297 00000 n 
+0003642357 00000 n 
+0003642418 00000 n 
+0003642479 00000 n 
+0003642601 00000 n 
+0003642723 00000 n 
+0003642845 00000 n 
+0003642906 00000 n 
+0003642967 00000 n 
+0003643028 00000 n 
+0003643089 00000 n 
+0003643150 00000 n 
+0003643211 00000 n 
+0003645777 00000 n 
+0003646008 00000 n 
+0003646239 00000 n 
+0003646471 00000 n 
+0003646703 00000 n 
+0003646901 00000 n 
+0003647133 00000 n 
+0003647331 00000 n 
+0003647563 00000 n 
+0003647761 00000 n 
+0003647993 00000 n 
+0003648223 00000 n 
+0003648420 00000 n 
+0003648617 00000 n 
+0003648848 00000 n 
+0003649045 00000 n 
+0003649242 00000 n 
+0003649439 00000 n 
+0003649671 00000 n 
+0003649869 00000 n 
+0003650067 00000 n 
+0003650264 00000 n 
+0003650496 00000 n 
+0003650694 00000 n 
+0003650892 00000 n 
+0003651124 00000 n 
+0003651322 00000 n 
+0003651553 00000 n 
+0003651751 00000 n 
+0003651949 00000 n 
+0003652181 00000 n 
+0003652379 00000 n 
+0003652577 00000 n 
+0003652774 00000 n 
+0003653006 00000 n 
+0003653204 00000 n 
+0003653402 00000 n 
+0003653599 00000 n 
+0003653831 00000 n 
+0003654029 00000 n 
+0003654227 00000 n 
+0003655244 00000 n 
+0003645228 00000 n 
+0003643528 00000 n 
+0003654393 00000 n 
+0003654512 00000 n 
+0003654573 00000 n 
+0003654634 00000 n 
+0003654695 00000 n 
+0003654756 00000 n 
+0003654817 00000 n 
+0003654878 00000 n 
+0003654939 00000 n 
+0003655000 00000 n 
+0003655061 00000 n 
+0003655122 00000 n 
+0003655183 00000 n 
+0003657335 00000 n 
+0003657455 00000 n 
+0003657576 00000 n 
+0003657697 00000 n 
+0003660273 00000 n 
+0003663849 00000 n 
+0003657048 00000 n 
+0003658180 00000 n 
+0003656899 00000 n 
+0003655455 00000 n 
+0003657214 00000 n 
+0003657274 00000 n 
+0003657395 00000 n 
+0003657515 00000 n 
+0003657636 00000 n 
+0003657757 00000 n 
+0003657818 00000 n 
+0003657879 00000 n 
+0003657939 00000 n 
+0003658000 00000 n 
+0003663918 00000 n 
+0003664124 00000 n 
+0003664347 00000 n 
+0003664553 00000 n 
+0003664775 00000 n 
+0003664981 00000 n 
+0003665204 00000 n 
+0003665395 00000 n 
+0003665592 00000 n 
+0003665815 00000 n 
+0003666012 00000 n 
+0003666235 00000 n 
+0003666430 00000 n 
+0003666653 00000 n 
+0003666848 00000 n 
+0003667071 00000 n 
+0003667268 00000 n 
+0003667491 00000 n 
+0003667688 00000 n 
+0003667911 00000 n 
+0003668109 00000 n 
+0003668331 00000 n 
+0003668519 00000 n 
+0003668717 00000 n 
+0003668939 00000 n 
+0003669126 00000 n 
+0003669322 00000 n 
+0003669542 00000 n 
+0003673671 00000 n 
+0003673894 00000 n 
+0003669728 00000 n 
+0003670624 00000 n 
+0003659827 00000 n 
+0003658349 00000 n 
+0003669894 00000 n 
+0003669954 00000 n 
+0003670015 00000 n 
+0003670076 00000 n 
+0003670137 00000 n 
+0003670198 00000 n 
+0003670259 00000 n 
+0003670319 00000 n 
+0003670380 00000 n 
+0003670441 00000 n 
+0003670502 00000 n 
+0003670563 00000 n 
+0003661165 00000 n 
+0003661297 00000 n 
+0003661450 00000 n 
+0003661724 00000 n 
+0003662109 00000 n 
+0003662349 00000 n 
+0003662372 00000 n 
+0003663825 00000 n 
+0003774386 00000 n 
+0003777340 00000 n 
+0003777523 00000 n 
+0003674117 00000 n 
+0003674339 00000 n 
+0003674562 00000 n 
+0003674751 00000 n 
+0003674974 00000 n 
+0003675197 00000 n 
+0003675420 00000 n 
+0003675643 00000 n 
+0003675830 00000 n 
+0003676053 00000 n 
+0003676250 00000 n 
+0003676473 00000 n 
+0003676669 00000 n 
+0003676891 00000 n 
+0003677088 00000 n 
+0003677294 00000 n 
+0003677500 00000 n 
+0003677722 00000 n 
+0003677919 00000 n 
+0003678125 00000 n 
+0003678331 00000 n 
+0003678519 00000 n 
+0003678741 00000 n 
+0003678937 00000 n 
+0003679141 00000 n 
+0003679345 00000 n 
+0003679568 00000 n 
+0003679765 00000 n 
+0003679970 00000 n 
+0003680175 00000 n 
+0003680363 00000 n 
+0003680585 00000 n 
+0003680780 00000 n 
+0003680985 00000 n 
+0003681190 00000 n 
+0003681600 00000 n 
+0003681805 00000 n 
+0003682028 00000 n 
+0003682217 00000 n 
+0003682439 00000 n 
+0003682625 00000 n 
+0003682848 00000 n 
+0003683069 00000 n 
+0003683258 00000 n 
+0003683477 00000 n 
+0003683663 00000 n 
+0003683882 00000 n 
+0003688225 00000 n 
+0003688446 00000 n 
+0003688643 00000 n 
+0003688863 00000 n 
+0003684069 00000 n 
+0003684661 00000 n 
+0003673022 00000 n 
+0003670837 00000 n 
+0003684235 00000 n 
+0003684295 00000 n 
+0003684356 00000 n 
+0003684417 00000 n 
+0003684478 00000 n 
+0003684539 00000 n 
+0003684600 00000 n 
+0003681394 00000 n 
+0004867808 00000 n 
+0003777706 00000 n 
+0003777889 00000 n 
+0003778072 00000 n 
+0003778255 00000 n 
+0003781744 00000 n 
+0003781988 00000 n 
+0003782236 00000 n 
+0003786521 00000 n 
+0003786770 00000 n 
+0003790247 00000 n 
+0003790435 00000 n 
+0003790618 00000 n 
+0003790801 00000 n 
+0003794108 00000 n 
+0003794289 00000 n 
+0003689059 00000 n 
+0003689280 00000 n 
+0003689476 00000 n 
+0003689697 00000 n 
+0003689893 00000 n 
+0003690113 00000 n 
+0003690308 00000 n 
+0003690529 00000 n 
+0003690726 00000 n 
+0003690947 00000 n 
+0003691136 00000 n 
+0003691355 00000 n 
+0003691543 00000 n 
+0003691763 00000 n 
+0003691960 00000 n 
+0003692181 00000 n 
+0003692378 00000 n 
+0003692601 00000 n 
+0003692792 00000 n 
+0003692979 00000 n 
+0003693170 00000 n 
+0003693357 00000 n 
+0003693580 00000 n 
+0003693770 00000 n 
+0003693957 00000 n 
+0003694147 00000 n 
+0003694333 00000 n 
+0003694539 00000 n 
+0003694761 00000 n 
+0003694943 00000 n 
+0003695130 00000 n 
+0003695351 00000 n 
+0003695538 00000 n 
+0003695705 00000 n 
+0003695925 00000 n 
+0003696117 00000 n 
+0003696283 00000 n 
+0003696504 00000 n 
+0003696693 00000 n 
+0003696913 00000 n 
+0003697101 00000 n 
+0003697322 00000 n 
+0003697509 00000 n 
+0003697729 00000 n 
+0003697917 00000 n 
+0003698093 00000 n 
+0003698312 00000 n 
+0003703383 00000 n 
+0003703605 00000 n 
+0003703793 00000 n 
+0003698499 00000 n 
+0003698846 00000 n 
+0003687566 00000 n 
+0003684831 00000 n 
+0003698665 00000 n 
+0003698725 00000 n 
+0003698786 00000 n 
+0003794468 00000 n 
+0003794712 00000 n 
+0003797903 00000 n 
+0003798147 00000 n 
+0003798390 00000 n 
+0003801538 00000 n 
+0003801782 00000 n 
+0003801964 00000 n 
+0003802146 00000 n 
+0003802389 00000 n 
+0003806457 00000 n 
+0003806701 00000 n 
+0003810937 00000 n 
+0003811125 00000 n 
+0003811369 00000 n 
+0003811613 00000 n 
+0003811795 00000 n 
+0003816339 00000 n 
+0003703974 00000 n 
+0003704194 00000 n 
+0003704379 00000 n 
+0003704574 00000 n 
+0003704787 00000 n 
+0003704968 00000 n 
+0003705190 00000 n 
+0003705376 00000 n 
+0003705567 00000 n 
+0003705754 00000 n 
+0003705977 00000 n 
+0003706164 00000 n 
+0003706361 00000 n 
+0003706570 00000 n 
+0003706751 00000 n 
+0003706974 00000 n 
+0003707161 00000 n 
+0003707367 00000 n 
+0003707564 00000 n 
+0003707776 00000 n 
+0003707955 00000 n 
+0003708178 00000 n 
+0003708365 00000 n 
+0003708571 00000 n 
+0003708767 00000 n 
+0003708978 00000 n 
+0003709156 00000 n 
+0003709378 00000 n 
+0003709574 00000 n 
+0003709779 00000 n 
+0003709976 00000 n 
+0003710155 00000 n 
+0003710377 00000 n 
+0003710573 00000 n 
+0003710778 00000 n 
+0003710975 00000 n 
+0003711153 00000 n 
+0003711376 00000 n 
+0003711562 00000 n 
+0003711759 00000 n 
+0003712153 00000 n 
+0003712366 00000 n 
+0003712555 00000 n 
+0003712777 00000 n 
+0003712963 00000 n 
+0003713159 00000 n 
+0003713552 00000 n 
+0003713765 00000 n 
+0003713954 00000 n 
+0003714174 00000 n 
+0003714363 00000 n 
+0003714534 00000 n 
+0003714756 00000 n 
+0003714948 00000 n 
+0003715153 00000 n 
+0003715564 00000 n 
+0003715770 00000 n 
+0003715967 00000 n 
+0003716135 00000 n 
+0003716356 00000 n 
+0003716561 00000 n 
+0003716801 00000 n 
+0003717024 00000 n 
+0003717217 00000 n 
+0003717423 00000 n 
+0003717663 00000 n 
+0003717884 00000 n 
+0003718102 00000 n 
+0003718288 00000 n 
+0003721989 00000 n 
+0003722212 00000 n 
+0003722401 00000 n 
+0003722598 00000 n 
+0003722770 00000 n 
+0003718451 00000 n 
+0003718738 00000 n 
+0003702484 00000 n 
+0003699057 00000 n 
+0003718617 00000 n 
+0003711956 00000 n 
+0003713355 00000 n 
+0003715358 00000 n 
+0003718677 00000 n 
+0003816522 00000 n 
+0003816705 00000 n 
+0003816945 00000 n 
+0003821785 00000 n 
+0003822034 00000 n 
+0003822278 00000 n 
+0003827291 00000 n 
+0003827535 00000 n 
+0003832308 00000 n 
+0003832551 00000 n 
+0003832795 00000 n 
+0003837674 00000 n 
+0003837918 00000 n 
+0003838100 00000 n 
+0003843046 00000 n 
+0003722936 00000 n 
+0003723159 00000 n 
+0003723348 00000 n 
+0003723545 00000 n 
+0003723717 00000 n 
+0003723883 00000 n 
+0003724103 00000 n 
+0003724291 00000 n 
+0003724453 00000 n 
+0003724673 00000 n 
+0003724862 00000 n 
+0003725085 00000 n 
+0003725274 00000 n 
+0003725470 00000 n 
+0003725642 00000 n 
+0003725805 00000 n 
+0003726027 00000 n 
+0003726213 00000 n 
+0003726409 00000 n 
+0003726581 00000 n 
+0003726743 00000 n 
+0003726963 00000 n 
+0003727168 00000 n 
+0003727388 00000 n 
+0003727592 00000 n 
+0003727813 00000 n 
+0003728000 00000 n 
+0003728173 00000 n 
+0003728392 00000 n 
+0003728584 00000 n 
+0003728805 00000 n 
+0003729011 00000 n 
+0003729232 00000 n 
+0003729425 00000 n 
+0003729646 00000 n 
+0003729833 00000 n 
+0003730039 00000 n 
+0003730259 00000 n 
+0003730452 00000 n 
+0003730637 00000 n 
+0003730860 00000 n 
+0003731081 00000 n 
+0003731270 00000 n 
+0003731491 00000 n 
+0003731711 00000 n 
+0003735472 00000 n 
+0003735695 00000 n 
+0003735918 00000 n 
+0003736124 00000 n 
+0003731930 00000 n 
+0003732459 00000 n 
+0003721340 00000 n 
+0003719003 00000 n 
+0003732096 00000 n 
+0003732156 00000 n 
+0003732217 00000 n 
+0003732278 00000 n 
+0003732339 00000 n 
+0003732399 00000 n 
+0003843290 00000 n 
+0003843534 00000 n 
+0003848489 00000 n 
+0003848732 00000 n 
+0003848976 00000 n 
+0003853071 00000 n 
+0003853314 00000 n 
+0003853558 00000 n 
+0003858521 00000 n 
+0003858765 00000 n 
+0003864871 00000 n 
+0003865120 00000 n 
+0003865368 00000 n 
+0003736345 00000 n 
+0003736550 00000 n 
+0003736770 00000 n 
+0003736993 00000 n 
+0003737199 00000 n 
+0003737422 00000 n 
+0003737610 00000 n 
+0003737833 00000 n 
+0003738056 00000 n 
+0003738279 00000 n 
+0003738501 00000 n 
+0003738722 00000 n 
+0003738928 00000 n 
+0003739134 00000 n 
+0003739355 00000 n 
+0003739544 00000 n 
+0003739750 00000 n 
+0003739990 00000 n 
+0003740211 00000 n 
+0003740407 00000 n 
+0003740628 00000 n 
+0003740825 00000 n 
+0003741019 00000 n 
+0003741239 00000 n 
+0003741433 00000 n 
+0003741653 00000 n 
+0003741848 00000 n 
+0003742041 00000 n 
+0003742262 00000 n 
+0003742442 00000 n 
+0003742629 00000 n 
+0003742835 00000 n 
+0003743314 00000 n 
+0003743501 00000 n 
+0003743723 00000 n 
+0003743912 00000 n 
+0003744133 00000 n 
+0003744325 00000 n 
+0003748706 00000 n 
+0003748929 00000 n 
+0003749120 00000 n 
+0003749307 00000 n 
+0003749513 00000 n 
+0003749702 00000 n 
+0003744530 00000 n 
+0003745427 00000 n 
+0003734893 00000 n 
+0003732656 00000 n 
+0003744696 00000 n 
+0003744756 00000 n 
+0003744817 00000 n 
+0003744878 00000 n 
+0003744939 00000 n 
+0003745000 00000 n 
+0003745061 00000 n 
+0003745122 00000 n 
+0003745183 00000 n 
+0003745244 00000 n 
+0003745305 00000 n 
+0003743075 00000 n 
+0003745366 00000 n 
+0003869404 00000 n 
+0003769859 00000 n 
+0003770042 00000 n 
+0003770164 00000 n 
+0003770413 00000 n 
+0003770657 00000 n 
+0003773898 00000 n 
+0003774142 00000 n 
+0003869526 00000 n 
+0003749889 00000 n 
+0003750112 00000 n 
+0003750303 00000 n 
+0003750490 00000 n 
+0003750695 00000 n 
+0003750892 00000 n 
+0003751088 00000 n 
+0003751311 00000 n 
+0003751502 00000 n 
+0003751689 00000 n 
+0003751894 00000 n 
+0003752090 00000 n 
+0003752295 00000 n 
+0003752501 00000 n 
+0003752707 00000 n 
+0003752930 00000 n 
+0003753119 00000 n 
+0003753342 00000 n 
+0003753531 00000 n 
+0003753720 00000 n 
+0003753942 00000 n 
+0003754131 00000 n 
+0003754318 00000 n 
+0003754541 00000 n 
+0003754730 00000 n 
+0003754919 00000 n 
+0003755142 00000 n 
+0003755331 00000 n 
+0003755520 00000 n 
+0003755743 00000 n 
+0003755932 00000 n 
+0003756121 00000 n 
+0003756308 00000 n 
+0003756473 00000 n 
+0003756664 00000 n 
+0003759812 00000 n 
+0003756858 00000 n 
+0003757267 00000 n 
+0003748147 00000 n 
+0003745664 00000 n 
+0003757024 00000 n 
+0003757084 00000 n 
+0003757145 00000 n 
+0003757206 00000 n 
+0003869711 00000 n 
+0003869894 00000 n 
+0003874220 00000 n 
+0003874469 00000 n 
+0003874591 00000 n 
+0003874718 00000 n 
+0003880898 00000 n 
+0003760140 00000 n 
+0003760366 00000 n 
+0003759643 00000 n 
+0003757502 00000 n 
+0003760306 00000 n 
+0003759976 00000 n 
+0004867941 00000 n 
+0003763073 00000 n 
+0003763312 00000 n 
+0003763552 00000 n 
+0003763778 00000 n 
+0003762904 00000 n 
+0003760558 00000 n 
+0003763718 00000 n 
+0003766597 00000 n 
+0003766823 00000 n 
+0003766448 00000 n 
+0003763994 00000 n 
+0003766763 00000 n 
+0003769572 00000 n 
+0003770717 00000 n 
+0003769423 00000 n 
+0003767052 00000 n 
+0003769738 00000 n 
+0003769798 00000 n 
+0003769920 00000 n 
+0003769981 00000 n 
+0003770103 00000 n 
+0003770230 00000 n 
+0003770291 00000 n 
+0003770352 00000 n 
+0003770474 00000 n 
+0003770535 00000 n 
+0003770596 00000 n 
+0003773489 00000 n 
+0003774506 00000 n 
+0003773340 00000 n 
+0003770886 00000 n 
+0003773655 00000 n 
+0003773715 00000 n 
+0003773776 00000 n 
+0003773837 00000 n 
+0003773959 00000 n 
+0003774020 00000 n 
+0003774081 00000 n 
+0003774203 00000 n 
+0003774264 00000 n 
+0003774325 00000 n 
+0003774446 00000 n 
+0003777053 00000 n 
+0003778375 00000 n 
+0003776904 00000 n 
+0003774688 00000 n 
+0003777219 00000 n 
+0003777279 00000 n 
+0003777401 00000 n 
+0003777462 00000 n 
+0003777584 00000 n 
+0003777645 00000 n 
+0003777767 00000 n 
+0003777828 00000 n 
+0003777950 00000 n 
+0003778011 00000 n 
+0003778133 00000 n 
+0003778194 00000 n 
+0003778315 00000 n 
+0003781457 00000 n 
+0003782361 00000 n 
+0003781308 00000 n 
+0003778557 00000 n 
+0003781623 00000 n 
+0003781683 00000 n 
+0003781805 00000 n 
+0003781866 00000 n 
+0003781927 00000 n 
+0003782054 00000 n 
+0003782115 00000 n 
+0003782176 00000 n 
+0003782301 00000 n 
+0004868074 00000 n 
+0003785829 00000 n 
+0003786010 00000 n 
+0003786173 00000 n 
+0003786958 00000 n 
+0003785660 00000 n 
+0003782543 00000 n 
+0003786339 00000 n 
+0003786399 00000 n 
+0003786460 00000 n 
+0003786587 00000 n 
+0003786648 00000 n 
+0003786709 00000 n 
+0003786836 00000 n 
+0003786897 00000 n 
+0003789960 00000 n 
+0003790928 00000 n 
+0003789811 00000 n 
+0003787152 00000 n 
+0003790126 00000 n 
+0003790186 00000 n 
+0003790313 00000 n 
+0003790374 00000 n 
+0003790496 00000 n 
+0003790557 00000 n 
+0003790679 00000 n 
+0003790740 00000 n 
+0003790867 00000 n 
+0003793760 00000 n 
+0003794955 00000 n 
+0003793611 00000 n 
+0003791122 00000 n 
+0003793926 00000 n 
+0003793986 00000 n 
+0003794047 00000 n 
+0003794167 00000 n 
+0003794228 00000 n 
+0003794350 00000 n 
+0003794407 00000 n 
+0003794529 00000 n 
+0003794590 00000 n 
+0003794651 00000 n 
+0003794773 00000 n 
+0003794834 00000 n 
+0003794894 00000 n 
+0003797677 00000 n 
+0003798634 00000 n 
+0003797528 00000 n 
+0003795137 00000 n 
+0003797843 00000 n 
+0003797964 00000 n 
+0003798025 00000 n 
+0003798086 00000 n 
+0003798208 00000 n 
+0003798269 00000 n 
+0003798329 00000 n 
+0003798451 00000 n 
+0003798512 00000 n 
+0003798573 00000 n 
+0003801312 00000 n 
+0003802509 00000 n 
+0003801163 00000 n 
+0003798816 00000 n 
+0003801478 00000 n 
+0003801599 00000 n 
+0003801660 00000 n 
+0003801721 00000 n 
+0003801843 00000 n 
+0003801904 00000 n 
+0003802024 00000 n 
+0003802085 00000 n 
+0003802207 00000 n 
+0003802268 00000 n 
+0003802328 00000 n 
+0003802449 00000 n 
+0003806109 00000 n 
+0003806889 00000 n 
+0003805960 00000 n 
+0003802691 00000 n 
+0003806275 00000 n 
+0003806335 00000 n 
+0003806396 00000 n 
+0003806518 00000 n 
+0003806579 00000 n 
+0003806640 00000 n 
+0003806767 00000 n 
+0003806828 00000 n 
+0004868207 00000 n 
+0003810131 00000 n 
+0003810296 00000 n 
+0003810463 00000 n 
+0003810650 00000 n 
+0003811915 00000 n 
+0003809952 00000 n 
+0003807084 00000 n 
+0003810816 00000 n 
+0003810876 00000 n 
+0003811003 00000 n 
+0003811064 00000 n 
+0003811186 00000 n 
+0003811247 00000 n 
+0003811308 00000 n 
+0003811430 00000 n 
+0003811491 00000 n 
+0003811552 00000 n 
+0003811674 00000 n 
+0003811734 00000 n 
+0003811855 00000 n 
+0003815342 00000 n 
+0003815521 00000 n 
+0003815702 00000 n 
+0003815881 00000 n 
+0003816052 00000 n 
+0003817066 00000 n 
+0003815153 00000 n 
+0003812110 00000 n 
+0003816218 00000 n 
+0003816278 00000 n 
+0003816400 00000 n 
+0003816461 00000 n 
+0003816583 00000 n 
+0003816644 00000 n 
+0003816766 00000 n 
+0003816827 00000 n 
+0003816884 00000 n 
+0003817006 00000 n 
+0003820695 00000 n 
+0003820876 00000 n 
+0003821055 00000 n 
+0003825831 00000 n 
+0003821437 00000 n 
+0003822398 00000 n 
+0003820506 00000 n 
+0003817261 00000 n 
+0003821603 00000 n 
+0003821663 00000 n 
+0003821724 00000 n 
+0003821851 00000 n 
+0003821912 00000 n 
+0003821973 00000 n 
+0003822095 00000 n 
+0003822156 00000 n 
+0003822217 00000 n 
+0003821247 00000 n 
+0003822338 00000 n 
+0003826010 00000 n 
+0003826394 00000 n 
+0003826573 00000 n 
+0003826764 00000 n 
+0003826943 00000 n 
+0003827718 00000 n 
+0003825622 00000 n 
+0003822630 00000 n 
+0003827109 00000 n 
+0003827169 00000 n 
+0003827230 00000 n 
+0003826202 00000 n 
+0003827352 00000 n 
+0003827413 00000 n 
+0003827474 00000 n 
+0003827596 00000 n 
+0003827657 00000 n 
+0003831283 00000 n 
+0003831474 00000 n 
+0003831661 00000 n 
+0003831850 00000 n 
+0003832021 00000 n 
+0003832978 00000 n 
+0003831094 00000 n 
+0003827950 00000 n 
+0003832187 00000 n 
+0003832247 00000 n 
+0003832369 00000 n 
+0003832430 00000 n 
+0003832490 00000 n 
+0003832612 00000 n 
+0003832673 00000 n 
+0003832734 00000 n 
+0003832856 00000 n 
+0003832917 00000 n 
+0003836927 00000 n 
+0003837094 00000 n 
+0003837280 00000 n 
+0003837448 00000 n 
+0003838222 00000 n 
+0003836748 00000 n 
+0003833197 00000 n 
+0003837614 00000 n 
+0003837735 00000 n 
+0003837796 00000 n 
+0003837857 00000 n 
+0003837978 00000 n 
+0003838039 00000 n 
+0003838161 00000 n 
+0004868340 00000 n 
+0003841415 00000 n 
+0003841580 00000 n 
+0003841751 00000 n 
+0003841921 00000 n 
+0003842252 00000 n 
+0003842422 00000 n 
+0003842594 00000 n 
+0003846699 00000 n 
+0003842759 00000 n 
+0003843717 00000 n 
+0003841186 00000 n 
+0003838404 00000 n 
+0003842925 00000 n 
+0003842985 00000 n 
+0003843107 00000 n 
+0003843168 00000 n 
+0003843229 00000 n 
+0003843351 00000 n 
+0003842087 00000 n 
+0003843412 00000 n 
+0003843473 00000 n 
+0003843595 00000 n 
+0003843656 00000 n 
+0003846870 00000 n 
+0003847033 00000 n 
+0003847202 00000 n 
+0003847374 00000 n 
+0003847699 00000 n 
+0003847870 00000 n 
+0003848042 00000 n 
+0003852170 00000 n 
+0003848203 00000 n 
+0003849159 00000 n 
+0003846460 00000 n 
+0003843899 00000 n 
+0003848369 00000 n 
+0003848429 00000 n 
+0003848550 00000 n 
+0003848611 00000 n 
+0003848671 00000 n 
+0003848793 00000 n 
+0003847537 00000 n 
+0003848854 00000 n 
+0003848915 00000 n 
+0003849037 00000 n 
+0003849098 00000 n 
+0003852341 00000 n 
+0003852563 00000 n 
+0003852785 00000 n 
+0003853618 00000 n 
+0003851991 00000 n 
+0003849341 00000 n 
+0003852951 00000 n 
+0003853011 00000 n 
+0003853132 00000 n 
+0003853193 00000 n 
+0003853253 00000 n 
+0003853375 00000 n 
+0003853436 00000 n 
+0003853497 00000 n 
+0003857009 00000 n 
+0003857182 00000 n 
+0003857405 00000 n 
+0003857591 00000 n 
+0003857777 00000 n 
+0003857970 00000 n 
+0003858173 00000 n 
+0003859130 00000 n 
+0003856800 00000 n 
+0003853862 00000 n 
+0003858339 00000 n 
+0003858399 00000 n 
+0003858460 00000 n 
+0003858582 00000 n 
+0003858643 00000 n 
+0003858704 00000 n 
+0003858825 00000 n 
+0003858886 00000 n 
+0003859008 00000 n 
+0003859069 00000 n 
+0003862918 00000 n 
+0003863124 00000 n 
+0003863329 00000 n 
+0003863521 00000 n 
+0003863743 00000 n 
+0003863916 00000 n 
+0003864102 00000 n 
+0003864475 00000 n 
+0003864645 00000 n 
+0003865493 00000 n 
+0003862679 00000 n 
+0003859325 00000 n 
+0003864811 00000 n 
+0003864937 00000 n 
+0003864998 00000 n 
+0003865059 00000 n 
+0003865185 00000 n 
+0003865246 00000 n 
+0003865307 00000 n 
+0003864288 00000 n 
+0003865433 00000 n 
+0003873736 00000 n 
+0003869117 00000 n 
+0003870019 00000 n 
+0003868968 00000 n 
+0003865700 00000 n 
+0003869283 00000 n 
+0003869343 00000 n 
+0003869465 00000 n 
+0003869591 00000 n 
+0003869650 00000 n 
+0003869772 00000 n 
+0003869833 00000 n 
+0003869959 00000 n 
+0004868473 00000 n 
+0003873933 00000 n 
+0003874838 00000 n 
+0003873577 00000 n 
+0003870214 00000 n 
+0003874099 00000 n 
+0003874159 00000 n 
+0003874286 00000 n 
+0003874347 00000 n 
+0003874408 00000 n 
+0003874530 00000 n 
+0003874657 00000 n 
+0003874778 00000 n 
+0003877252 00000 n 
+0003877472 00000 n 
+0003877692 00000 n 
+0003877879 00000 n 
+0003878099 00000 n 
+0003878320 00000 n 
+0003878507 00000 n 
+0003878727 00000 n 
+0003878947 00000 n 
+0003879164 00000 n 
+0003879384 00000 n 
+0003879605 00000 n 
+0003879826 00000 n 
+0003880047 00000 n 
+0003880267 00000 n 
+0003880453 00000 n 
+0003884576 00000 n 
+0003880672 00000 n 
+0003881753 00000 n 
+0003876943 00000 n 
+0003875020 00000 n 
+0003880838 00000 n 
+0003880964 00000 n 
+0003881025 00000 n 
+0003881086 00000 n 
+0003881266 00000 n 
+0003881327 00000 n 
+0003881388 00000 n 
+0003881449 00000 n 
+0003881510 00000 n 
+0003881571 00000 n 
+0003881632 00000 n 
+0003881693 00000 n 
+0003921924 00000 n 
+0003922046 00000 n 
+0003884796 00000 n 
+0003885017 00000 n 
+0003885203 00000 n 
+0003885422 00000 n 
+0003885643 00000 n 
+0003885848 00000 n 
+0003886066 00000 n 
+0003886272 00000 n 
+0003886491 00000 n 
+0003886712 00000 n 
+0003886931 00000 n 
+0003887152 00000 n 
+0003887373 00000 n 
+0003887594 00000 n 
+0003887815 00000 n 
+0003888036 00000 n 
+0003888257 00000 n 
+0003888478 00000 n 
+0003888699 00000 n 
+0003888920 00000 n 
+0003889141 00000 n 
+0003889361 00000 n 
+0003889581 00000 n 
+0003889802 00000 n 
+0003890023 00000 n 
+0003890244 00000 n 
+0003890465 00000 n 
+0003890686 00000 n 
+0003890906 00000 n 
+0003895513 00000 n 
+0003895733 00000 n 
+0003895953 00000 n 
+0003896173 00000 n 
+0003896392 00000 n 
+0003896613 00000 n 
+0003896834 00000 n 
+0003891123 00000 n 
+0003892445 00000 n 
+0003884127 00000 n 
+0003881949 00000 n 
+0003891289 00000 n 
+0003891349 00000 n 
+0003891410 00000 n 
+0003891471 00000 n 
+0003891532 00000 n 
+0003891593 00000 n 
+0003891654 00000 n 
+0003891715 00000 n 
+0003891776 00000 n 
+0003891837 00000 n 
+0003891898 00000 n 
+0003891959 00000 n 
+0003892020 00000 n 
+0003892081 00000 n 
+0003892141 00000 n 
+0003892202 00000 n 
+0003892263 00000 n 
+0003892324 00000 n 
+0003892385 00000 n 
+0003922234 00000 n 
+0003897051 00000 n 
+0003897237 00000 n 
+0003897455 00000 n 
+0003897640 00000 n 
+0003897859 00000 n 
+0003898046 00000 n 
+0003898264 00000 n 
+0003898450 00000 n 
+0003898669 00000 n 
+0003898855 00000 n 
+0003899076 00000 n 
+0003899262 00000 n 
+0003899481 00000 n 
+0003899667 00000 n 
+0003899884 00000 n 
+0003900104 00000 n 
+0003900324 00000 n 
+0003900545 00000 n 
+0003900765 00000 n 
+0003900986 00000 n 
+0003901206 00000 n 
+0003901427 00000 n 
+0003901648 00000 n 
+0003901869 00000 n 
+0003902089 00000 n 
+0003902309 00000 n 
+0003906653 00000 n 
+0003906872 00000 n 
+0003902494 00000 n 
+0003903572 00000 n 
+0003895034 00000 n 
+0003892628 00000 n 
+0003902660 00000 n 
+0003902720 00000 n 
+0003902781 00000 n 
+0003902841 00000 n 
+0003902902 00000 n 
+0003902963 00000 n 
+0003903023 00000 n 
+0003903084 00000 n 
+0003903145 00000 n 
+0003903206 00000 n 
+0003903267 00000 n 
+0003903328 00000 n 
+0003903389 00000 n 
+0003903450 00000 n 
+0003903511 00000 n 
+0003922354 00000 n 
+0003922480 00000 n 
+0003922668 00000 n 
+0003922790 00000 n 
+0003925890 00000 n 
+0003907092 00000 n 
+0003907313 00000 n 
+0003907533 00000 n 
+0003907719 00000 n 
+0003907905 00000 n 
+0003908125 00000 n 
+0003908312 00000 n 
+0003908499 00000 n 
+0003908720 00000 n 
+0003908907 00000 n 
+0003909094 00000 n 
+0003909315 00000 n 
+0003909502 00000 n 
+0003909723 00000 n 
+0003909910 00000 n 
+0003910097 00000 n 
+0003910318 00000 n 
+0003910505 00000 n 
+0003910692 00000 n 
+0003910912 00000 n 
+0003911099 00000 n 
+0003911286 00000 n 
+0003911507 00000 n 
+0003911694 00000 n 
+0003912011 00000 n 
+0003912197 00000 n 
+0003912789 00000 n 
+0003906224 00000 n 
+0003903782 00000 n 
+0003912363 00000 n 
+0003912423 00000 n 
+0003912484 00000 n 
+0003912545 00000 n 
+0003912606 00000 n 
+0003912667 00000 n 
+0003912728 00000 n 
+0003911853 00000 n 
+0003926078 00000 n 
+0003926200 00000 n 
+0003926322 00000 n 
+0003926444 00000 n 
+0003914763 00000 n 
+0003914969 00000 n 
+0003915190 00000 n 
+0003915410 00000 n 
+0003915631 00000 n 
+0003915852 00000 n 
+0003916073 00000 n 
+0003916294 00000 n 
+0003916513 00000 n 
+0003916734 00000 n 
+0003916955 00000 n 
+0003920791 00000 n 
+0003917175 00000 n 
+0003917401 00000 n 
+0003914504 00000 n 
+0003912999 00000 n 
+0003917341 00000 n 
+0004868606 00000 n 
+0003920978 00000 n 
+0003921197 00000 n 
+0003921637 00000 n 
+0003922915 00000 n 
+0003920602 00000 n 
+0003917542 00000 n 
+0003921803 00000 n 
+0003921863 00000 n 
+0003921985 00000 n 
+0003922112 00000 n 
+0003921417 00000 n 
+0003922173 00000 n 
+0003922294 00000 n 
+0003922419 00000 n 
+0003922546 00000 n 
+0003922607 00000 n 
+0003922729 00000 n 
+0003922855 00000 n 
+0003925664 00000 n 
+0003926926 00000 n 
+0003925515 00000 n 
+0003923110 00000 n 
+0003925830 00000 n 
+0003925956 00000 n 
+0003926017 00000 n 
+0003926139 00000 n 
+0003926261 00000 n 
+0003926383 00000 n 
+0003926505 00000 n 
+0003926566 00000 n 
+0003926627 00000 n 
+0003926687 00000 n 
+0003926748 00000 n 
+0003929358 00000 n 
+0003929597 00000 n 
+0003929838 00000 n 
+0003930078 00000 n 
+0003930284 00000 n 
+0003930995 00000 n 
+0003929169 00000 n 
+0003927108 00000 n 
+0003930450 00000 n 
+0003930510 00000 n 
+0003930690 00000 n 
+0003930751 00000 n 
+0003930812 00000 n 
+0003930873 00000 n 
+0003930934 00000 n 
+0003934996 00000 n 
+0003933819 00000 n 
+0003934046 00000 n 
+0003934275 00000 n 
+0003934503 00000 n 
+0003934709 00000 n 
+0003935784 00000 n 
+0003933630 00000 n 
+0003931189 00000 n 
+0003934875 00000 n 
+0003934935 00000 n 
+0003935057 00000 n 
+0003935118 00000 n 
+0003935298 00000 n 
+0003935359 00000 n 
+0003935420 00000 n 
+0003935481 00000 n 
+0003935542 00000 n 
+0003935603 00000 n 
+0003935664 00000 n 
+0003935724 00000 n 
+0003938276 00000 n 
+0003942647 00000 n 
+0003942716 00000 n 
+0003942921 00000 n 
+0003943161 00000 n 
+0003943406 00000 n 
+0003943611 00000 n 
+0003943816 00000 n 
+0003944056 00000 n 
+0003944300 00000 n 
+0003944505 00000 n 
+0003944709 00000 n 
+0003944947 00000 n 
+0003948612 00000 n 
+0003948817 00000 n 
+0003949022 00000 n 
+0003949262 00000 n 
+0003945190 00000 n 
+0003945836 00000 n 
+0003938000 00000 n 
+0003936009 00000 n 
+0003945356 00000 n 
+0003945416 00000 n 
+0003945594 00000 n 
+0003945655 00000 n 
+0003939173 00000 n 
+0003939305 00000 n 
+0003939458 00000 n 
+0003939788 00000 n 
+0003940232 00000 n 
+0003940472 00000 n 
+0003940495 00000 n 
+0003942623 00000 n 
+0003949507 00000 n 
+0003949713 00000 n 
+0003949917 00000 n 
+0003950157 00000 n 
+0003950402 00000 n 
+0003950608 00000 n 
+0003950852 00000 n 
+0003951092 00000 n 
+0003951332 00000 n 
+0003951572 00000 n 
+0003951817 00000 n 
+0003952028 00000 n 
+0003952272 00000 n 
+0003952477 00000 n 
+0003952682 00000 n 
+0003952927 00000 n 
+0003953172 00000 n 
+0003953381 00000 n 
+0003953801 00000 n 
+0003954046 00000 n 
+0003954255 00000 n 
+0003954674 00000 n 
+0003955509 00000 n 
+0003948193 00000 n 
+0003946062 00000 n 
+0003954840 00000 n 
+0003954900 00000 n 
+0003954961 00000 n 
+0003955022 00000 n 
+0003955083 00000 n 
+0003955144 00000 n 
+0003955205 00000 n 
+0003955266 00000 n 
+0003953592 00000 n 
+0003954466 00000 n 
+0003955327 00000 n 
+0003955388 00000 n 
+0003955449 00000 n 
+0004868739 00000 n 
+0003964246 00000 n 
+0003959261 00000 n 
+0003959740 00000 n 
+0003960219 00000 n 
+0003960688 00000 n 
+0003959072 00000 n 
+0003955746 00000 n 
+0003960385 00000 n 
+0003959501 00000 n 
+0003959980 00000 n 
+0003960445 00000 n 
+0003960566 00000 n 
+0003960627 00000 n 
+0003963499 00000 n 
+0003963739 00000 n 
+0003967136 00000 n 
+0003963959 00000 n 
+0003964972 00000 n 
+0003963330 00000 n 
+0003960986 00000 n 
+0003964125 00000 n 
+0003964185 00000 n 
+0003964307 00000 n 
+0003964368 00000 n 
+0003964548 00000 n 
+0003964609 00000 n 
+0003964670 00000 n 
+0003964850 00000 n 
+0003964911 00000 n 
+0003967358 00000 n 
+0003967604 00000 n 
+0003967850 00000 n 
+0003968095 00000 n 
+0003968341 00000 n 
+0003968587 00000 n 
+0003968834 00000 n 
+0003969046 00000 n 
+0003969292 00000 n 
+0003969505 00000 n 
+0003969717 00000 n 
+0003969963 00000 n 
+0003970176 00000 n 
+0003970423 00000 n 
+0003971559 00000 n 
+0003966847 00000 n 
+0003965168 00000 n 
+0003970589 00000 n 
+0003970649 00000 n 
+0003970710 00000 n 
+0003970890 00000 n 
+0003970951 00000 n 
+0003971012 00000 n 
+0003971073 00000 n 
+0003971134 00000 n 
+0003971195 00000 n 
+0003971256 00000 n 
+0003971317 00000 n 
+0003971378 00000 n 
+0003971439 00000 n 
+0003973578 00000 n 
+0003973789 00000 n 
+0003974024 00000 n 
+0003974222 00000 n 
+0003974457 00000 n 
+0003977802 00000 n 
+0003978023 00000 n 
+0003974654 00000 n 
+0003975604 00000 n 
+0003973379 00000 n 
+0003971768 00000 n 
+0003974820 00000 n 
+0003974939 00000 n 
+0003975119 00000 n 
+0003975180 00000 n 
+0003975241 00000 n 
+0003975302 00000 n 
+0003975363 00000 n 
+0003975543 00000 n 
+0003978210 00000 n 
+0003978429 00000 n 
+0003978634 00000 n 
+0003978839 00000 n 
+0003979060 00000 n 
+0003979264 00000 n 
+0003979484 00000 n 
+0003979689 00000 n 
+0003979910 00000 n 
+0003980115 00000 n 
+0003980336 00000 n 
+0003980555 00000 n 
+0003980776 00000 n 
+0003980963 00000 n 
+0003981168 00000 n 
+0003981388 00000 n 
+0003981574 00000 n 
+0003981795 00000 n 
+0003982016 00000 n 
+0003982203 00000 n 
+0003982423 00000 n 
+0003982643 00000 n 
+0003982864 00000 n 
+0003983051 00000 n 
+0003983272 00000 n 
+0003983459 00000 n 
+0003983646 00000 n 
+0003983866 00000 n 
+0003984052 00000 n 
+0003984238 00000 n 
+0003984455 00000 n 
+0003984638 00000 n 
+0003988916 00000 n 
+0003984820 00000 n 
+0003985837 00000 n 
+0003977313 00000 n 
+0003975827 00000 n 
+0003984986 00000 n 
+0003985046 00000 n 
+0003985107 00000 n 
+0003985168 00000 n 
+0003985229 00000 n 
+0003985290 00000 n 
+0003985350 00000 n 
+0003985411 00000 n 
+0003985471 00000 n 
+0003985532 00000 n 
+0003985593 00000 n 
+0003985715 00000 n 
+0003985776 00000 n 
+0003990738 00000 n 
+0003990982 00000 n 
+0003991165 00000 n 
+0003991287 00000 n 
+0003991409 00000 n 
+0003991531 00000 n 
+0003989103 00000 n 
+0003989290 00000 n 
+0003989510 00000 n 
+0003989730 00000 n 
+0003989950 00000 n 
+0003990171 00000 n 
+0003990390 00000 n 
+0003991653 00000 n 
+0003988697 00000 n 
+0003986046 00000 n 
+0003990556 00000 n 
+0003990616 00000 n 
+0003990677 00000 n 
+0003990799 00000 n 
+0003990860 00000 n 
+0003990921 00000 n 
+0003991043 00000 n 
+0003991104 00000 n 
+0003991226 00000 n 
+0003991348 00000 n 
+0003991470 00000 n 
+0003991592 00000 n 
+0004868872 00000 n 
+0003998061 00000 n 
+0003993721 00000 n 
+0003997992 00000 n 
+0003998248 00000 n 
+0003998453 00000 n 
+0003998692 00000 n 
+0003998941 00000 n 
+0003999146 00000 n 
+0003999351 00000 n 
+0003999591 00000 n 
+0003999840 00000 n 
+0004000045 00000 n 
+0004000250 00000 n 
+0004000490 00000 n 
+0004000740 00000 n 
+0004000946 00000 n 
+0004001151 00000 n 
+0004001391 00000 n 
+0004001641 00000 n 
+0004001847 00000 n 
+0004002052 00000 n 
+0004002291 00000 n 
+0004002540 00000 n 
+0004006322 00000 n 
+0004006571 00000 n 
+0004006811 00000 n 
+0004007051 00000 n 
+0004002743 00000 n 
+0004003451 00000 n 
+0003993345 00000 n 
+0003991861 00000 n 
+0004002909 00000 n 
+0004003088 00000 n 
+0004003149 00000 n 
+0004003329 00000 n 
+0004003390 00000 n 
+0003994671 00000 n 
+0003994803 00000 n 
+0003994956 00000 n 
+0003995282 00000 n 
+0003995720 00000 n 
+0003995960 00000 n 
+0003995983 00000 n 
+0003997968 00000 n 
+0004007291 00000 n 
+0004007538 00000 n 
+0004007776 00000 n 
+0004008014 00000 n 
+0004008264 00000 n 
+0004008479 00000 n 
+0004008729 00000 n 
+0004008935 00000 n 
+0004009185 00000 n 
+0004009435 00000 n 
+0004009651 00000 n 
+0004010081 00000 n 
+0004010331 00000 n 
+0004010547 00000 n 
+0004010977 00000 n 
+0004011163 00000 n 
+0004011876 00000 n 
+0004005963 00000 n 
+0004003662 00000 n 
+0004011329 00000 n 
+0004011389 00000 n 
+0004011450 00000 n 
+0004011511 00000 n 
+0004011572 00000 n 
+0004011633 00000 n 
+0004009866 00000 n 
+0004010762 00000 n 
+0004011694 00000 n 
+0004011755 00000 n 
+0004011816 00000 n 
+0004016218 00000 n 
+0004016462 00000 n 
+0004015510 00000 n 
+0004015750 00000 n 
+0004016584 00000 n 
+0004015351 00000 n 
+0004012099 00000 n 
+0004015916 00000 n 
+0004015976 00000 n 
+0004016096 00000 n 
+0004016157 00000 n 
+0004016279 00000 n 
+0004016340 00000 n 
+0004016401 00000 n 
+0004016523 00000 n 
+0004019516 00000 n 
+0004019740 00000 n 
+0004019966 00000 n 
+0004020153 00000 n 
+0004020379 00000 n 
+0004020566 00000 n 
+0004020753 00000 n 
+0004020958 00000 n 
+0004021185 00000 n 
+0004021412 00000 n 
+0004021598 00000 n 
+0004021825 00000 n 
+0004022052 00000 n 
+0004022256 00000 n 
+0004022482 00000 n 
+0004022687 00000 n 
+0004022914 00000 n 
+0004023141 00000 n 
+0004023368 00000 n 
+0004023595 00000 n 
+0004023822 00000 n 
+0004024027 00000 n 
+0004024253 00000 n 
+0004028025 00000 n 
+0004028252 00000 n 
+0004024443 00000 n 
+0004025701 00000 n 
+0004019137 00000 n 
+0004016830 00000 n 
+0004024609 00000 n 
+0004024669 00000 n 
+0004024849 00000 n 
+0004024910 00000 n 
+0004024971 00000 n 
+0004025032 00000 n 
+0004025091 00000 n 
+0004025152 00000 n 
+0004025213 00000 n 
+0004025274 00000 n 
+0004025335 00000 n 
+0004025396 00000 n 
+0004025457 00000 n 
+0004025518 00000 n 
+0004025579 00000 n 
+0004025640 00000 n 
+0004029734 00000 n 
+0004028445 00000 n 
+0004028665 00000 n 
+0004028885 00000 n 
+0004029106 00000 n 
+0004029326 00000 n 
+0004030524 00000 n 
+0004027816 00000 n 
+0004025926 00000 n 
+0004029492 00000 n 
+0004029552 00000 n 
+0004029613 00000 n 
+0004029673 00000 n 
+0004029795 00000 n 
+0004029856 00000 n 
+0004029917 00000 n 
+0004029978 00000 n 
+0004030158 00000 n 
+0004030219 00000 n 
+0004030280 00000 n 
+0004030341 00000 n 
+0004030402 00000 n 
+0004030463 00000 n 
+0004031493 00000 n 
+0004031780 00000 n 
+0004031344 00000 n 
+0004030734 00000 n 
+0004031659 00000 n 
+0004031719 00000 n 
+0004869005 00000 n 
+0004033959 00000 n 
+0004034110 00000 n 
+0004034261 00000 n 
+0004034414 00000 n 
+0004034566 00000 n 
+0004034719 00000 n 
+0004034872 00000 n 
+0004035023 00000 n 
+0004035176 00000 n 
+0004035328 00000 n 
+0004035479 00000 n 
+0004035632 00000 n 
+0004035784 00000 n 
+0004035937 00000 n 
+0004036088 00000 n 
+0004036241 00000 n 
+0004036393 00000 n 
+0004036544 00000 n 
+0004036697 00000 n 
+0004036849 00000 n 
+0004037002 00000 n 
+0004037153 00000 n 
+0004037306 00000 n 
+0004037459 00000 n 
+0004037611 00000 n 
+0004037762 00000 n 
+0004037915 00000 n 
+0004038068 00000 n 
+0004038220 00000 n 
+0004038373 00000 n 
+0004038524 00000 n 
+0004038677 00000 n 
+0004038830 00000 n 
+0004038981 00000 n 
+0004039130 00000 n 
+0004039282 00000 n 
+0004039435 00000 n 
+0004039588 00000 n 
+0004039741 00000 n 
+0004039894 00000 n 
+0004040046 00000 n 
+0004040198 00000 n 
+0004040351 00000 n 
+0004040504 00000 n 
+0004040656 00000 n 
+0004040809 00000 n 
+0004040961 00000 n 
+0004041113 00000 n 
+0004041266 00000 n 
+0004041419 00000 n 
+0004041572 00000 n 
+0004041724 00000 n 
+0004041876 00000 n 
+0004042029 00000 n 
+0004042182 00000 n 
+0004042335 00000 n 
+0004042488 00000 n 
+0004042641 00000 n 
+0004042794 00000 n 
+0004042947 00000 n 
+0004043099 00000 n 
+0004043251 00000 n 
+0004043404 00000 n 
+0004043557 00000 n 
+0004043709 00000 n 
+0004043860 00000 n 
+0004046538 00000 n 
+0004044010 00000 n 
+0004044297 00000 n 
+0004033150 00000 n 
+0004031921 00000 n 
+0004044176 00000 n 
+0004044236 00000 n 
+0004046690 00000 n 
+0004046842 00000 n 
+0004046995 00000 n 
+0004047146 00000 n 
+0004047298 00000 n 
+0004047449 00000 n 
+0004047601 00000 n 
+0004047753 00000 n 
+0004047905 00000 n 
+0004048057 00000 n 
+0004048210 00000 n 
+0004048363 00000 n 
+0004048516 00000 n 
+0004048669 00000 n 
+0004048820 00000 n 
+0004048973 00000 n 
+0004049125 00000 n 
+0004049277 00000 n 
+0004049430 00000 n 
+0004049581 00000 n 
+0004049734 00000 n 
+0004049886 00000 n 
+0004050038 00000 n 
+0004050191 00000 n 
+0004050342 00000 n 
+0004050494 00000 n 
+0004050645 00000 n 
+0004050798 00000 n 
+0004050949 00000 n 
+0004051101 00000 n 
+0004051254 00000 n 
+0004051406 00000 n 
+0004051558 00000 n 
+0004051710 00000 n 
+0004051861 00000 n 
+0004052011 00000 n 
+0004052164 00000 n 
+0004052314 00000 n 
+0004052466 00000 n 
+0004052618 00000 n 
+0004052771 00000 n 
+0004052924 00000 n 
+0004053076 00000 n 
+0004053229 00000 n 
+0004053380 00000 n 
+0004053531 00000 n 
+0004053682 00000 n 
+0004053833 00000 n 
+0004053984 00000 n 
+0004054137 00000 n 
+0004054289 00000 n 
+0004054441 00000 n 
+0004054594 00000 n 
+0004054746 00000 n 
+0004054899 00000 n 
+0004055050 00000 n 
+0004055203 00000 n 
+0004055356 00000 n 
+0004055509 00000 n 
+0004055659 00000 n 
+0004055808 00000 n 
+0004056034 00000 n 
+0004045779 00000 n 
+0004044425 00000 n 
+0004055974 00000 n 
+0004430026 00000 n 
+0004058666 00000 n 
+0004058817 00000 n 
+0004058970 00000 n 
+0004059120 00000 n 
+0004059273 00000 n 
+0004059424 00000 n 
+0004059576 00000 n 
+0004059728 00000 n 
+0004059879 00000 n 
+0004060032 00000 n 
+0004060182 00000 n 
+0004060335 00000 n 
+0004060487 00000 n 
+0004060639 00000 n 
+0004060792 00000 n 
+0004060944 00000 n 
+0004061096 00000 n 
+0004061248 00000 n 
+0004061400 00000 n 
+0004061553 00000 n 
+0004061704 00000 n 
+0004061857 00000 n 
+0004062009 00000 n 
+0004062161 00000 n 
+0004062314 00000 n 
+0004062466 00000 n 
+0004062619 00000 n 
+0004062770 00000 n 
+0004062923 00000 n 
+0004063075 00000 n 
+0004063227 00000 n 
+0004063380 00000 n 
+0004063531 00000 n 
+0004063681 00000 n 
+0004063832 00000 n 
+0004063984 00000 n 
+0004064136 00000 n 
+0004064288 00000 n 
+0004064439 00000 n 
+0004064591 00000 n 
+0004064741 00000 n 
+0004064893 00000 n 
+0004065043 00000 n 
+0004065194 00000 n 
+0004065345 00000 n 
+0004065497 00000 n 
+0004065649 00000 n 
+0004065800 00000 n 
+0004065952 00000 n 
+0004066104 00000 n 
+0004066255 00000 n 
+0004066407 00000 n 
+0004066559 00000 n 
+0004066711 00000 n 
+0004066862 00000 n 
+0004067012 00000 n 
+0004067164 00000 n 
+0004067316 00000 n 
+0004067467 00000 n 
+0004067618 00000 n 
+0004067769 00000 n 
+0004067921 00000 n 
+0004068072 00000 n 
+0004068224 00000 n 
+0004068376 00000 n 
+0004068526 00000 n 
+0004068678 00000 n 
+0004068828 00000 n 
+0004068980 00000 n 
+0004069131 00000 n 
+0004069283 00000 n 
+0004069434 00000 n 
+0004069586 00000 n 
+0004069738 00000 n 
+0004069890 00000 n 
+0004070042 00000 n 
+0004070194 00000 n 
+0004070346 00000 n 
+0004070498 00000 n 
+0004070649 00000 n 
+0004070801 00000 n 
+0004070952 00000 n 
+0004071104 00000 n 
+0004071256 00000 n 
+0004071408 00000 n 
+0004071559 00000 n 
+0004071710 00000 n 
+0004071860 00000 n 
+0004074890 00000 n 
+0004072009 00000 n 
+0004072235 00000 n 
+0004057637 00000 n 
+0004056162 00000 n 
+0004072175 00000 n 
+0004429992 00000 n 
+0004075042 00000 n 
+0004075194 00000 n 
+0004075346 00000 n 
+0004075498 00000 n 
+0004075649 00000 n 
+0004075801 00000 n 
+0004075952 00000 n 
+0004076104 00000 n 
+0004076254 00000 n 
+0004076405 00000 n 
+0004076557 00000 n 
+0004076709 00000 n 
+0004076861 00000 n 
+0004077013 00000 n 
+0004077165 00000 n 
+0004077316 00000 n 
+0004077468 00000 n 
+0004077620 00000 n 
+0004077772 00000 n 
+0004077924 00000 n 
+0004078076 00000 n 
+0004078228 00000 n 
+0004078380 00000 n 
+0004078532 00000 n 
+0004078682 00000 n 
+0004078834 00000 n 
+0004078985 00000 n 
+0004079137 00000 n 
+0004079288 00000 n 
+0004079440 00000 n 
+0004079592 00000 n 
+0004079743 00000 n 
+0004079895 00000 n 
+0004080046 00000 n 
+0004080198 00000 n 
+0004080349 00000 n 
+0004080500 00000 n 
+0004080650 00000 n 
+0004080802 00000 n 
+0004080953 00000 n 
+0004081104 00000 n 
+0004081255 00000 n 
+0004081407 00000 n 
+0004081559 00000 n 
+0004081710 00000 n 
+0004081862 00000 n 
+0004082014 00000 n 
+0004082166 00000 n 
+0004082318 00000 n 
+0004082470 00000 n 
+0004082622 00000 n 
+0004082772 00000 n 
+0004082922 00000 n 
+0004083071 00000 n 
+0004083221 00000 n 
+0004083373 00000 n 
+0004083525 00000 n 
+0004083676 00000 n 
+0004083827 00000 n 
+0004083978 00000 n 
+0004084129 00000 n 
+0004084281 00000 n 
+0004084434 00000 n 
+0004084587 00000 n 
+0004084740 00000 n 
+0004084893 00000 n 
+0004085046 00000 n 
+0004085199 00000 n 
+0004085352 00000 n 
+0004085505 00000 n 
+0004085658 00000 n 
+0004085811 00000 n 
+0004085964 00000 n 
+0004086117 00000 n 
+0004086270 00000 n 
+0004086422 00000 n 
+0004086574 00000 n 
+0004086725 00000 n 
+0004086877 00000 n 
+0004087029 00000 n 
+0004087181 00000 n 
+0004087334 00000 n 
+0004087487 00000 n 
+0004087639 00000 n 
+0004087792 00000 n 
+0004087944 00000 n 
+0004090760 00000 n 
+0004088093 00000 n 
+0004088319 00000 n 
+0004073871 00000 n 
+0004072363 00000 n 
+0004088259 00000 n 
+0004429958 00000 n 
+0004090913 00000 n 
+0004091066 00000 n 
+0004091219 00000 n 
+0004091372 00000 n 
+0004091524 00000 n 
+0004091677 00000 n 
+0004091829 00000 n 
+0004091982 00000 n 
+0004092134 00000 n 
+0004092287 00000 n 
+0004092437 00000 n 
+0004092590 00000 n 
+0004092742 00000 n 
+0004092894 00000 n 
+0004093047 00000 n 
+0004093199 00000 n 
+0004093351 00000 n 
+0004093503 00000 n 
+0004093655 00000 n 
+0004093807 00000 n 
+0004093960 00000 n 
+0004094112 00000 n 
+0004094263 00000 n 
+0004094415 00000 n 
+0004094568 00000 n 
+0004094721 00000 n 
+0004094873 00000 n 
+0004095024 00000 n 
+0004095176 00000 n 
+0004095328 00000 n 
+0004095480 00000 n 
+0004095633 00000 n 
+0004095785 00000 n 
+0004095936 00000 n 
+0004096087 00000 n 
+0004096240 00000 n 
+0004096393 00000 n 
+0004096544 00000 n 
+0004096697 00000 n 
+0004096850 00000 n 
+0004097002 00000 n 
+0004097155 00000 n 
+0004097308 00000 n 
+0004097461 00000 n 
+0004097614 00000 n 
+0004097766 00000 n 
+0004097919 00000 n 
+0004098071 00000 n 
+0004098224 00000 n 
+0004098377 00000 n 
+0004098530 00000 n 
+0004098681 00000 n 
+0004098833 00000 n 
+0004098986 00000 n 
+0004099138 00000 n 
+0004099287 00000 n 
+0004099438 00000 n 
+0004099591 00000 n 
+0004099744 00000 n 
+0004099897 00000 n 
+0004100050 00000 n 
+0004100202 00000 n 
+0004100355 00000 n 
+0004100506 00000 n 
+0004100659 00000 n 
+0004100811 00000 n 
+0004100962 00000 n 
+0004101113 00000 n 
+0004101339 00000 n 
+0004089931 00000 n 
+0004088447 00000 n 
+0004101279 00000 n 
+0004103867 00000 n 
+0004104020 00000 n 
+0004104172 00000 n 
+0004104325 00000 n 
+0004104478 00000 n 
+0004104628 00000 n 
+0004104781 00000 n 
+0004104933 00000 n 
+0004105086 00000 n 
+0004105238 00000 n 
+0004105391 00000 n 
+0004105543 00000 n 
+0004105696 00000 n 
+0004105849 00000 n 
+0004106001 00000 n 
+0004106152 00000 n 
+0004106305 00000 n 
+0004106458 00000 n 
+0004106611 00000 n 
+0004106764 00000 n 
+0004106917 00000 n 
+0004107068 00000 n 
+0004107221 00000 n 
+0004107373 00000 n 
+0004107525 00000 n 
+0004107678 00000 n 
+0004107831 00000 n 
+0004107984 00000 n 
+0004108137 00000 n 
+0004108289 00000 n 
+0004108440 00000 n 
+0004108593 00000 n 
+0004108745 00000 n 
+0004108897 00000 n 
+0004109050 00000 n 
+0004109202 00000 n 
+0004109353 00000 n 
+0004109504 00000 n 
+0004109655 00000 n 
+0004109808 00000 n 
+0004109961 00000 n 
+0004110113 00000 n 
+0004110266 00000 n 
+0004110418 00000 n 
+0004110571 00000 n 
+0004110723 00000 n 
+0004110876 00000 n 
+0004111028 00000 n 
+0004111180 00000 n 
+0004111331 00000 n 
+0004111484 00000 n 
+0004111636 00000 n 
+0004111789 00000 n 
+0004111942 00000 n 
+0004112095 00000 n 
+0004112248 00000 n 
+0004112401 00000 n 
+0004112553 00000 n 
+0004112706 00000 n 
+0004112856 00000 n 
+0004113009 00000 n 
+0004113162 00000 n 
+0004113315 00000 n 
+0004113468 00000 n 
+0004113621 00000 n 
+0004113772 00000 n 
+0004113922 00000 n 
+0004114073 00000 n 
+0004114225 00000 n 
+0004114377 00000 n 
+0004114529 00000 n 
+0004114678 00000 n 
+0004117478 00000 n 
+0004114829 00000 n 
+0004115055 00000 n 
+0004102998 00000 n 
+0004101467 00000 n 
+0004114995 00000 n 
+0004869138 00000 n 
+0004429924 00000 n 
+0004117629 00000 n 
+0004117782 00000 n 
+0004117935 00000 n 
+0004118087 00000 n 
+0004118240 00000 n 
+0004118392 00000 n 
+0004118545 00000 n 
+0004118698 00000 n 
+0004118850 00000 n 
+0004119002 00000 n 
+0004119154 00000 n 
+0004119307 00000 n 
+0004119460 00000 n 
+0004119610 00000 n 
+0004119762 00000 n 
+0004119915 00000 n 
+0004120068 00000 n 
+0004120219 00000 n 
+0004120372 00000 n 
+0004120524 00000 n 
+0004120677 00000 n 
+0004120830 00000 n 
+0004120983 00000 n 
+0004121136 00000 n 
+0004121289 00000 n 
+0004121441 00000 n 
+0004121593 00000 n 
+0004121745 00000 n 
+0004121898 00000 n 
+0004122051 00000 n 
+0004122203 00000 n 
+0004122356 00000 n 
+0004122509 00000 n 
+0004122662 00000 n 
+0004122815 00000 n 
+0004122968 00000 n 
+0004123121 00000 n 
+0004123272 00000 n 
+0004123425 00000 n 
+0004123576 00000 n 
+0004123728 00000 n 
+0004123881 00000 n 
+0004124034 00000 n 
+0004124187 00000 n 
+0004124340 00000 n 
+0004124493 00000 n 
+0004124647 00000 n 
+0004124800 00000 n 
+0004124953 00000 n 
+0004125105 00000 n 
+0004125258 00000 n 
+0004125411 00000 n 
+0004125564 00000 n 
+0004125717 00000 n 
+0004125870 00000 n 
+0004126023 00000 n 
+0004126176 00000 n 
+0004126327 00000 n 
+0004126480 00000 n 
+0004126630 00000 n 
+0004126781 00000 n 
+0004126932 00000 n 
+0004127083 00000 n 
+0004127234 00000 n 
+0004127384 00000 n 
+0004127535 00000 n 
+0004127688 00000 n 
+0004127840 00000 n 
+0004127990 00000 n 
+0004128216 00000 n 
+0004116639 00000 n 
+0004115183 00000 n 
+0004128156 00000 n 
+0004429890 00000 n 
+0004429856 00000 n 
+0004130611 00000 n 
+0004130764 00000 n 
+0004130917 00000 n 
+0004131070 00000 n 
+0004131223 00000 n 
+0004131376 00000 n 
+0004131528 00000 n 
+0004131681 00000 n 
+0004131831 00000 n 
+0004131984 00000 n 
+0004132135 00000 n 
+0004132287 00000 n 
+0004132440 00000 n 
+0004132592 00000 n 
+0004132745 00000 n 
+0004132898 00000 n 
+0004133050 00000 n 
+0004133203 00000 n 
+0004133356 00000 n 
+0004133507 00000 n 
+0004133660 00000 n 
+0004133811 00000 n 
+0004133962 00000 n 
+0004134114 00000 n 
+0004134266 00000 n 
+0004134418 00000 n 
+0004134571 00000 n 
+0004134723 00000 n 
+0004134876 00000 n 
+0004135029 00000 n 
+0004135182 00000 n 
+0004135335 00000 n 
+0004135488 00000 n 
+0004135639 00000 n 
+0004135790 00000 n 
+0004135942 00000 n 
+0004136094 00000 n 
+0004136245 00000 n 
+0004136397 00000 n 
+0004136549 00000 n 
+0004136701 00000 n 
+0004136854 00000 n 
+0004137006 00000 n 
+0004137159 00000 n 
+0004137311 00000 n 
+0004137464 00000 n 
+0004137617 00000 n 
+0004137768 00000 n 
+0004137918 00000 n 
+0004138071 00000 n 
+0004138224 00000 n 
+0004138375 00000 n 
+0004138528 00000 n 
+0004138682 00000 n 
+0004138836 00000 n 
+0004138989 00000 n 
+0004139141 00000 n 
+0004139294 00000 n 
+0004139443 00000 n 
+0004139595 00000 n 
+0004139747 00000 n 
+0004139900 00000 n 
+0004140053 00000 n 
+0004140206 00000 n 
+0004140358 00000 n 
+0004140510 00000 n 
+0004140662 00000 n 
+0004143392 00000 n 
+0004140813 00000 n 
+0004141039 00000 n 
+0004129792 00000 n 
+0004128344 00000 n 
+0004140979 00000 n 
+0004429822 00000 n 
+0004429788 00000 n 
+0004143544 00000 n 
+0004143696 00000 n 
+0004143849 00000 n 
+0004144002 00000 n 
+0004144155 00000 n 
+0004144308 00000 n 
+0004144461 00000 n 
+0004144615 00000 n 
+0004144768 00000 n 
+0004144921 00000 n 
+0004145073 00000 n 
+0004145226 00000 n 
+0004145379 00000 n 
+0004145532 00000 n 
+0004145684 00000 n 
+0004145837 00000 n 
+0004145990 00000 n 
+0004146143 00000 n 
+0004146296 00000 n 
+0004146449 00000 n 
+0004146602 00000 n 
+0004146754 00000 n 
+0004146906 00000 n 
+0004147059 00000 n 
+0004147211 00000 n 
+0004147361 00000 n 
+0004147512 00000 n 
+0004147664 00000 n 
+0004147817 00000 n 
+0004147969 00000 n 
+0004148121 00000 n 
+0004148273 00000 n 
+0004148426 00000 n 
+0004148576 00000 n 
+0004148728 00000 n 
+0004148881 00000 n 
+0004149034 00000 n 
+0004149187 00000 n 
+0004149340 00000 n 
+0004149493 00000 n 
+0004149646 00000 n 
+0004149799 00000 n 
+0004149952 00000 n 
+0004150105 00000 n 
+0004150258 00000 n 
+0004150411 00000 n 
+0004150564 00000 n 
+0004150717 00000 n 
+0004150869 00000 n 
+0004151021 00000 n 
+0004151174 00000 n 
+0004151325 00000 n 
+0004151478 00000 n 
+0004151631 00000 n 
+0004151783 00000 n 
+0004151935 00000 n 
+0004152088 00000 n 
+0004152241 00000 n 
+0004152394 00000 n 
+0004152547 00000 n 
+0004152699 00000 n 
+0004152851 00000 n 
+0004153003 00000 n 
+0004153156 00000 n 
+0004156118 00000 n 
+0004153307 00000 n 
+0004153533 00000 n 
+0004142593 00000 n 
+0004141167 00000 n 
+0004153473 00000 n 
+0004429754 00000 n 
+0004156270 00000 n 
+0004156423 00000 n 
+0004156575 00000 n 
+0004156728 00000 n 
+0004156881 00000 n 
+0004157034 00000 n 
+0004157186 00000 n 
+0004157337 00000 n 
+0004157490 00000 n 
+0004157643 00000 n 
+0004157796 00000 n 
+0004157946 00000 n 
+0004158098 00000 n 
+0004158250 00000 n 
+0004158402 00000 n 
+0004158554 00000 n 
+0004158706 00000 n 
+0004158858 00000 n 
+0004159010 00000 n 
+0004159163 00000 n 
+0004159315 00000 n 
+0004159467 00000 n 
+0004159620 00000 n 
+0004159773 00000 n 
+0004159926 00000 n 
+0004160079 00000 n 
+0004160232 00000 n 
+0004160383 00000 n 
+0004160536 00000 n 
+0004160688 00000 n 
+0004160841 00000 n 
+0004160994 00000 n 
+0004161145 00000 n 
+0004161296 00000 n 
+0004161449 00000 n 
+0004161602 00000 n 
+0004161755 00000 n 
+0004161907 00000 n 
+0004162060 00000 n 
+0004162212 00000 n 
+0004162365 00000 n 
+0004162517 00000 n 
+0004162670 00000 n 
+0004162823 00000 n 
+0004162976 00000 n 
+0004163128 00000 n 
+0004163281 00000 n 
+0004163432 00000 n 
+0004163585 00000 n 
+0004163738 00000 n 
+0004163891 00000 n 
+0004164044 00000 n 
+0004164197 00000 n 
+0004164350 00000 n 
+0004164502 00000 n 
+0004164655 00000 n 
+0004164808 00000 n 
+0004164961 00000 n 
+0004165114 00000 n 
+0004165267 00000 n 
+0004165420 00000 n 
+0004165571 00000 n 
+0004165723 00000 n 
+0004165876 00000 n 
+0004166028 00000 n 
+0004166181 00000 n 
+0004166333 00000 n 
+0004166486 00000 n 
+0004166637 00000 n 
+0004166789 00000 n 
+0004166942 00000 n 
+0004167095 00000 n 
+0004167248 00000 n 
+0004167401 00000 n 
+0004167554 00000 n 
+0004167707 00000 n 
+0004167859 00000 n 
+0004168011 00000 n 
+0004168162 00000 n 
+0004168312 00000 n 
+0004168538 00000 n 
+0004155169 00000 n 
+0004153661 00000 n 
+0004168478 00000 n 
+0004429720 00000 n 
+0004429686 00000 n 
+0004429652 00000 n 
+0004170829 00000 n 
+0004170981 00000 n 
+0004171134 00000 n 
+0004171287 00000 n 
+0004171439 00000 n 
+0004171592 00000 n 
+0004171745 00000 n 
+0004171898 00000 n 
+0004172051 00000 n 
+0004172204 00000 n 
+0004172357 00000 n 
+0004172509 00000 n 
+0004172662 00000 n 
+0004172815 00000 n 
+0004172967 00000 n 
+0004173120 00000 n 
+0004173272 00000 n 
+0004173425 00000 n 
+0004173578 00000 n 
+0004173730 00000 n 
+0004173881 00000 n 
+0004174033 00000 n 
+0004174186 00000 n 
+0004174339 00000 n 
+0004174492 00000 n 
+0004174645 00000 n 
+0004174798 00000 n 
+0004174951 00000 n 
+0004175104 00000 n 
+0004175256 00000 n 
+0004175407 00000 n 
+0004175560 00000 n 
+0004175713 00000 n 
+0004175866 00000 n 
+0004176017 00000 n 
+0004176167 00000 n 
+0004176316 00000 n 
+0004176469 00000 n 
+0004176622 00000 n 
+0004176774 00000 n 
+0004176926 00000 n 
+0004177078 00000 n 
+0004177229 00000 n 
+0004177382 00000 n 
+0004177535 00000 n 
+0004177687 00000 n 
+0004177839 00000 n 
+0004177992 00000 n 
+0004178144 00000 n 
+0004178297 00000 n 
+0004178451 00000 n 
+0004178604 00000 n 
+0004178756 00000 n 
+0004178907 00000 n 
+0004179060 00000 n 
+0004179213 00000 n 
+0004179366 00000 n 
+0004179519 00000 n 
+0004179671 00000 n 
+0004179822 00000 n 
+0004179975 00000 n 
+0004180128 00000 n 
+0004180281 00000 n 
+0004180433 00000 n 
+0004180586 00000 n 
+0004180739 00000 n 
+0004180891 00000 n 
+0004181043 00000 n 
+0004181195 00000 n 
+0004181348 00000 n 
+0004181501 00000 n 
+0004181654 00000 n 
+0004181806 00000 n 
+0004181954 00000 n 
+0004184695 00000 n 
+0004182103 00000 n 
+0004182329 00000 n 
+0004169940 00000 n 
+0004168692 00000 n 
+0004182269 00000 n 
+0004429618 00000 n 
+0004429584 00000 n 
+0004429550 00000 n 
+0004184848 00000 n 
+0004185001 00000 n 
+0004185153 00000 n 
+0004185305 00000 n 
+0004185458 00000 n 
+0004185611 00000 n 
+0004185763 00000 n 
+0004185916 00000 n 
+0004186068 00000 n 
+0004186221 00000 n 
+0004186374 00000 n 
+0004186527 00000 n 
+0004186680 00000 n 
+0004186833 00000 n 
+0004186986 00000 n 
+0004187139 00000 n 
+0004187290 00000 n 
+0004187442 00000 n 
+0004187595 00000 n 
+0004187748 00000 n 
+0004187899 00000 n 
+0004188051 00000 n 
+0004188204 00000 n 
+0004188357 00000 n 
+0004188509 00000 n 
+0004188662 00000 n 
+0004188811 00000 n 
+0004188962 00000 n 
+0004189113 00000 n 
+0004189265 00000 n 
+0004189418 00000 n 
+0004189571 00000 n 
+0004189724 00000 n 
+0004189877 00000 n 
+0004190030 00000 n 
+0004190182 00000 n 
+0004190333 00000 n 
+0004190485 00000 n 
+0004190637 00000 n 
+0004190789 00000 n 
+0004190941 00000 n 
+0004191093 00000 n 
+0004191245 00000 n 
+0004191396 00000 n 
+0004191547 00000 n 
+0004191698 00000 n 
+0004191849 00000 n 
+0004192002 00000 n 
+0004192155 00000 n 
+0004192308 00000 n 
+0004192461 00000 n 
+0004192613 00000 n 
+0004192766 00000 n 
+0004192918 00000 n 
+0004193070 00000 n 
+0004193223 00000 n 
+0004193376 00000 n 
+0004193529 00000 n 
+0004193682 00000 n 
+0004193835 00000 n 
+0004193988 00000 n 
+0004194140 00000 n 
+0004194293 00000 n 
+0004194446 00000 n 
+0004194599 00000 n 
+0004194752 00000 n 
+0004194904 00000 n 
+0004198393 00000 n 
+0004195053 00000 n 
+0004195279 00000 n 
+0004183866 00000 n 
+0004182457 00000 n 
+0004195219 00000 n 
+0004869271 00000 n 
+0004198545 00000 n 
+0004198697 00000 n 
+0004198849 00000 n 
+0004199001 00000 n 
+0004199152 00000 n 
+0004199304 00000 n 
+0004199454 00000 n 
+0004199606 00000 n 
+0004199757 00000 n 
+0004199909 00000 n 
+0004200061 00000 n 
+0004200213 00000 n 
+0004200365 00000 n 
+0004200518 00000 n 
+0004200671 00000 n 
+0004200823 00000 n 
+0004200976 00000 n 
+0004201129 00000 n 
+0004201281 00000 n 
+0004201434 00000 n 
+0004201587 00000 n 
+0004201740 00000 n 
+0004201894 00000 n 
+0004202047 00000 n 
+0004202200 00000 n 
+0004202352 00000 n 
+0004202505 00000 n 
+0004202658 00000 n 
+0004202811 00000 n 
+0004202964 00000 n 
+0004203116 00000 n 
+0004203269 00000 n 
+0004203421 00000 n 
+0004203574 00000 n 
+0004203726 00000 n 
+0004203878 00000 n 
+0004204031 00000 n 
+0004204184 00000 n 
+0004204336 00000 n 
+0004204489 00000 n 
+0004204641 00000 n 
+0004204793 00000 n 
+0004204946 00000 n 
+0004205099 00000 n 
+0004205251 00000 n 
+0004205404 00000 n 
+0004205557 00000 n 
+0004205710 00000 n 
+0004205863 00000 n 
+0004206015 00000 n 
+0004206168 00000 n 
+0004206321 00000 n 
+0004206473 00000 n 
+0004206624 00000 n 
+0004206775 00000 n 
+0004206926 00000 n 
+0004207079 00000 n 
+0004207231 00000 n 
+0004207385 00000 n 
+0004207537 00000 n 
+0004207690 00000 n 
+0004207842 00000 n 
+0004207994 00000 n 
+0004208146 00000 n 
+0004208299 00000 n 
+0004208451 00000 n 
+0004208604 00000 n 
+0004208756 00000 n 
+0004208908 00000 n 
+0004209059 00000 n 
+0004209211 00000 n 
+0004209364 00000 n 
+0004209517 00000 n 
+0004209669 00000 n 
+0004209821 00000 n 
+0004209974 00000 n 
+0004210127 00000 n 
+0004210280 00000 n 
+0004210433 00000 n 
+0004210586 00000 n 
+0004210739 00000 n 
+0004210892 00000 n 
+0004211045 00000 n 
+0004211197 00000 n 
+0004211350 00000 n 
+0004211503 00000 n 
+0004211656 00000 n 
+0004211809 00000 n 
+0004211961 00000 n 
+0004212114 00000 n 
+0004212266 00000 n 
+0004212418 00000 n 
+0004212570 00000 n 
+0004212723 00000 n 
+0004212876 00000 n 
+0004213030 00000 n 
+0004213182 00000 n 
+0004213333 00000 n 
+0004213485 00000 n 
+0004213638 00000 n 
+0004213790 00000 n 
+0004213943 00000 n 
+0004214096 00000 n 
+0004214249 00000 n 
+0004214401 00000 n 
+0004214554 00000 n 
+0004214707 00000 n 
+0004214859 00000 n 
+0004215011 00000 n 
+0004215162 00000 n 
+0004215313 00000 n 
+0004218823 00000 n 
+0004215464 00000 n 
+0004215690 00000 n 
+0004197124 00000 n 
+0004195407 00000 n 
+0004215630 00000 n 
+0004429516 00000 n 
+0004218976 00000 n 
+0004219129 00000 n 
+0004219282 00000 n 
+0004219435 00000 n 
+0004219587 00000 n 
+0004219740 00000 n 
+0004219893 00000 n 
+0004220045 00000 n 
+0004220197 00000 n 
+0004220350 00000 n 
+0004220503 00000 n 
+0004220655 00000 n 
+0004220807 00000 n 
+0004220959 00000 n 
+0004221111 00000 n 
+0004221264 00000 n 
+0004221416 00000 n 
+0004221568 00000 n 
+0004221721 00000 n 
+0004221870 00000 n 
+0004222021 00000 n 
+0004222174 00000 n 
+0004222326 00000 n 
+0004222478 00000 n 
+0004222631 00000 n 
+0004222784 00000 n 
+0004222937 00000 n 
+0004223090 00000 n 
+0004223242 00000 n 
+0004223395 00000 n 
+0004223548 00000 n 
+0004223700 00000 n 
+0004223853 00000 n 
+0004224006 00000 n 
+0004224158 00000 n 
+0004224311 00000 n 
+0004224463 00000 n 
+0004224617 00000 n 
+0004224769 00000 n 
+0004224921 00000 n 
+0004225074 00000 n 
+0004225227 00000 n 
+0004225379 00000 n 
+0004225531 00000 n 
+0004225683 00000 n 
+0004225836 00000 n 
+0004225987 00000 n 
+0004226138 00000 n 
+0004226291 00000 n 
+0004226444 00000 n 
+0004226597 00000 n 
+0004226749 00000 n 
+0004226902 00000 n 
+0004227054 00000 n 
+0004227204 00000 n 
+0004227357 00000 n 
+0004227510 00000 n 
+0004227662 00000 n 
+0004227815 00000 n 
+0004227968 00000 n 
+0004228121 00000 n 
+0004228274 00000 n 
+0004228426 00000 n 
+0004228577 00000 n 
+0004228728 00000 n 
+0004228880 00000 n 
+0004229032 00000 n 
+0004229185 00000 n 
+0004229338 00000 n 
+0004229491 00000 n 
+0004229643 00000 n 
+0004229796 00000 n 
+0004229949 00000 n 
+0004230102 00000 n 
+0004230255 00000 n 
+0004230406 00000 n 
+0004230557 00000 n 
+0004230710 00000 n 
+0004230863 00000 n 
+0004231016 00000 n 
+0004231169 00000 n 
+0004231320 00000 n 
+0004231473 00000 n 
+0004231626 00000 n 
+0004231777 00000 n 
+0004231930 00000 n 
+0004232083 00000 n 
+0004232236 00000 n 
+0004232389 00000 n 
+0004232541 00000 n 
+0004232693 00000 n 
+0004232844 00000 n 
+0004232996 00000 n 
+0004233149 00000 n 
+0004233301 00000 n 
+0004233454 00000 n 
+0004233607 00000 n 
+0004233760 00000 n 
+0004233912 00000 n 
+0004234065 00000 n 
+0004234218 00000 n 
+0004234371 00000 n 
+0004234524 00000 n 
+0004234676 00000 n 
+0004234828 00000 n 
+0004234980 00000 n 
+0004235132 00000 n 
+0004235285 00000 n 
+0004235437 00000 n 
+0004235590 00000 n 
+0004235741 00000 n 
+0004235893 00000 n 
+0004236044 00000 n 
+0004236195 00000 n 
+0004236346 00000 n 
+0004239758 00000 n 
+0004236497 00000 n 
+0004236723 00000 n 
+0004217514 00000 n 
+0004215831 00000 n 
+0004236663 00000 n 
+0004239909 00000 n 
+0004240062 00000 n 
+0004240215 00000 n 
+0004240366 00000 n 
+0004240519 00000 n 
+0004240671 00000 n 
+0004240824 00000 n 
+0004240975 00000 n 
+0004241128 00000 n 
+0004241281 00000 n 
+0004241433 00000 n 
+0004241586 00000 n 
+0004241739 00000 n 
+0004241892 00000 n 
+0004242045 00000 n 
+0004242198 00000 n 
+0004242350 00000 n 
+0004242503 00000 n 
+0004242656 00000 n 
+0004242809 00000 n 
+0004242962 00000 n 
+0004243114 00000 n 
+0004243267 00000 n 
+0004243420 00000 n 
+0004243572 00000 n 
+0004243724 00000 n 
+0004243876 00000 n 
+0004244029 00000 n 
+0004244182 00000 n 
+0004244335 00000 n 
+0004244488 00000 n 
+0004244640 00000 n 
+0004244792 00000 n 
+0004244945 00000 n 
+0004245097 00000 n 
+0004245249 00000 n 
+0004245402 00000 n 
+0004245554 00000 n 
+0004245707 00000 n 
+0004245859 00000 n 
+0004246011 00000 n 
+0004246164 00000 n 
+0004246315 00000 n 
+0004246468 00000 n 
+0004246621 00000 n 
+0004246774 00000 n 
+0004246926 00000 n 
+0004247076 00000 n 
+0004247227 00000 n 
+0004247380 00000 n 
+0004247533 00000 n 
+0004247686 00000 n 
+0004247839 00000 n 
+0004247992 00000 n 
+0004248144 00000 n 
+0004248297 00000 n 
+0004248449 00000 n 
+0004248602 00000 n 
+0004248754 00000 n 
+0004248907 00000 n 
+0004249060 00000 n 
+0004249213 00000 n 
+0004249365 00000 n 
+0004249516 00000 n 
+0004249670 00000 n 
+0004249822 00000 n 
+0004249973 00000 n 
+0004250127 00000 n 
+0004250279 00000 n 
+0004250428 00000 n 
+0004250580 00000 n 
+0004250733 00000 n 
+0004250885 00000 n 
+0004251038 00000 n 
+0004251190 00000 n 
+0004251343 00000 n 
+0004251496 00000 n 
+0004251649 00000 n 
+0004251801 00000 n 
+0004251954 00000 n 
+0004252107 00000 n 
+0004252260 00000 n 
+0004252413 00000 n 
+0004252565 00000 n 
+0004252718 00000 n 
+0004252871 00000 n 
+0004253024 00000 n 
+0004253176 00000 n 
+0004253329 00000 n 
+0004253481 00000 n 
+0004253634 00000 n 
+0004253785 00000 n 
+0004253937 00000 n 
+0004254089 00000 n 
+0004254240 00000 n 
+0004257834 00000 n 
+0004254391 00000 n 
+0004254617 00000 n 
+0004238649 00000 n 
+0004236864 00000 n 
+0004254557 00000 n 
+0004257987 00000 n 
+0004258140 00000 n 
+0004258292 00000 n 
+0004258445 00000 n 
+0004258598 00000 n 
+0004258751 00000 n 
+0004258904 00000 n 
+0004259057 00000 n 
+0004259210 00000 n 
+0004259363 00000 n 
+0004259514 00000 n 
+0004259666 00000 n 
+0004259818 00000 n 
+0004259971 00000 n 
+0004260124 00000 n 
+0004260277 00000 n 
+0004260430 00000 n 
+0004260583 00000 n 
+0004260734 00000 n 
+0004260887 00000 n 
+0004261040 00000 n 
+0004261193 00000 n 
+0004261346 00000 n 
+0004261499 00000 n 
+0004261652 00000 n 
+0004261805 00000 n 
+0004261957 00000 n 
+0004262108 00000 n 
+0004262261 00000 n 
+0004262414 00000 n 
+0004262566 00000 n 
+0004262719 00000 n 
+0004262872 00000 n 
+0004263025 00000 n 
+0004263177 00000 n 
+0004263330 00000 n 
+0004263482 00000 n 
+0004263635 00000 n 
+0004263788 00000 n 
+0004263941 00000 n 
+0004264094 00000 n 
+0004264246 00000 n 
+0004264399 00000 n 
+0004264552 00000 n 
+0004264704 00000 n 
+0004264857 00000 n 
+0004265009 00000 n 
+0004265161 00000 n 
+0004265313 00000 n 
+0004265464 00000 n 
+0004265616 00000 n 
+0004265768 00000 n 
+0004265920 00000 n 
+0004266073 00000 n 
+0004266226 00000 n 
+0004266379 00000 n 
+0004266531 00000 n 
+0004266684 00000 n 
+0004266837 00000 n 
+0004266989 00000 n 
+0004267141 00000 n 
+0004267293 00000 n 
+0004267444 00000 n 
+0004267594 00000 n 
+0004267746 00000 n 
+0004267898 00000 n 
+0004268051 00000 n 
+0004268203 00000 n 
+0004268356 00000 n 
+0004268508 00000 n 
+0004268661 00000 n 
+0004268812 00000 n 
+0004268965 00000 n 
+0004269118 00000 n 
+0004269270 00000 n 
+0004269423 00000 n 
+0004269575 00000 n 
+0004269728 00000 n 
+0004269880 00000 n 
+0004270032 00000 n 
+0004270185 00000 n 
+0004270338 00000 n 
+0004270491 00000 n 
+0004270644 00000 n 
+0004270797 00000 n 
+0004270949 00000 n 
+0004271102 00000 n 
+0004271255 00000 n 
+0004271408 00000 n 
+0004271561 00000 n 
+0004271713 00000 n 
+0004271866 00000 n 
+0004272019 00000 n 
+0004272172 00000 n 
+0004272325 00000 n 
+0004272478 00000 n 
+0004272630 00000 n 
+0004272784 00000 n 
+0004272935 00000 n 
+0004273088 00000 n 
+0004273240 00000 n 
+0004273391 00000 n 
+0004273543 00000 n 
+0004273696 00000 n 
+0004273849 00000 n 
+0004274001 00000 n 
+0004274154 00000 n 
+0004274306 00000 n 
+0004274459 00000 n 
+0004274611 00000 n 
+0004274764 00000 n 
+0004274917 00000 n 
+0004275070 00000 n 
+0004275223 00000 n 
+0004275375 00000 n 
+0004275528 00000 n 
+0004275681 00000 n 
+0004275833 00000 n 
+0004275985 00000 n 
+0004276136 00000 n 
+0004279762 00000 n 
+0004276287 00000 n 
+0004276513 00000 n 
+0004256475 00000 n 
+0004254758 00000 n 
+0004276453 00000 n 
+0004279915 00000 n 
+0004280067 00000 n 
+0004280220 00000 n 
+0004280373 00000 n 
+0004280526 00000 n 
+0004280678 00000 n 
+0004280831 00000 n 
+0004280983 00000 n 
+0004281135 00000 n 
+0004281286 00000 n 
+0004281439 00000 n 
+0004281592 00000 n 
+0004281744 00000 n 
+0004281897 00000 n 
+0004282050 00000 n 
+0004282203 00000 n 
+0004282355 00000 n 
+0004282508 00000 n 
+0004282660 00000 n 
+0004282813 00000 n 
+0004282965 00000 n 
+0004283119 00000 n 
+0004283272 00000 n 
+0004283425 00000 n 
+0004283578 00000 n 
+0004283731 00000 n 
+0004283883 00000 n 
+0004284036 00000 n 
+0004284188 00000 n 
+0004284341 00000 n 
+0004284494 00000 n 
+0004284647 00000 n 
+0004284800 00000 n 
+0004284952 00000 n 
+0004285105 00000 n 
+0004285258 00000 n 
+0004285410 00000 n 
+0004285563 00000 n 
+0004285716 00000 n 
+0004285869 00000 n 
+0004286021 00000 n 
+0004286174 00000 n 
+0004286326 00000 n 
+0004286478 00000 n 
+0004286630 00000 n 
+0004286783 00000 n 
+0004286935 00000 n 
+0004287088 00000 n 
+0004287241 00000 n 
+0004287393 00000 n 
+0004287545 00000 n 
+0004287698 00000 n 
+0004287850 00000 n 
+0004287999 00000 n 
+0004288152 00000 n 
+0004288305 00000 n 
+0004288457 00000 n 
+0004288610 00000 n 
+0004288763 00000 n 
+0004288916 00000 n 
+0004289069 00000 n 
+0004289222 00000 n 
+0004289375 00000 n 
+0004289528 00000 n 
+0004289679 00000 n 
+0004289832 00000 n 
+0004289985 00000 n 
+0004290138 00000 n 
+0004290291 00000 n 
+0004290444 00000 n 
+0004290597 00000 n 
+0004290749 00000 n 
+0004290902 00000 n 
+0004291055 00000 n 
+0004291208 00000 n 
+0004291362 00000 n 
+0004291515 00000 n 
+0004291667 00000 n 
+0004291819 00000 n 
+0004291972 00000 n 
+0004292124 00000 n 
+0004292276 00000 n 
+0004292429 00000 n 
+0004292581 00000 n 
+0004292732 00000 n 
+0004292885 00000 n 
+0004293037 00000 n 
+0004293189 00000 n 
+0004293341 00000 n 
+0004293494 00000 n 
+0004293647 00000 n 
+0004293800 00000 n 
+0004293953 00000 n 
+0004294105 00000 n 
+0004294257 00000 n 
+0004294408 00000 n 
+0004294560 00000 n 
+0004294714 00000 n 
+0004294866 00000 n 
+0004295016 00000 n 
+0004295169 00000 n 
+0004295321 00000 n 
+0004295473 00000 n 
+0004295626 00000 n 
+0004295777 00000 n 
+0004295930 00000 n 
+0004296083 00000 n 
+0004296235 00000 n 
+0004296387 00000 n 
+0004296539 00000 n 
+0004296690 00000 n 
+0004300359 00000 n 
+0004296841 00000 n 
+0004297067 00000 n 
+0004278493 00000 n 
+0004276654 00000 n 
+0004297007 00000 n 
+0004300512 00000 n 
+0004300665 00000 n 
+0004300817 00000 n 
+0004300969 00000 n 
+0004301120 00000 n 
+0004301272 00000 n 
+0004301425 00000 n 
+0004301577 00000 n 
+0004301729 00000 n 
+0004301881 00000 n 
+0004302033 00000 n 
+0004302186 00000 n 
+0004302339 00000 n 
+0004302492 00000 n 
+0004302645 00000 n 
+0004302797 00000 n 
+0004302950 00000 n 
+0004303103 00000 n 
+0004303256 00000 n 
+0004303409 00000 n 
+0004303562 00000 n 
+0004303715 00000 n 
+0004303868 00000 n 
+0004304021 00000 n 
+0004304173 00000 n 
+0004304327 00000 n 
+0004304479 00000 n 
+0004304632 00000 n 
+0004304785 00000 n 
+0004304937 00000 n 
+0004305090 00000 n 
+0004305242 00000 n 
+0004305395 00000 n 
+0004305548 00000 n 
+0004305701 00000 n 
+0004305853 00000 n 
+0004306006 00000 n 
+0004306158 00000 n 
+0004306310 00000 n 
+0004306462 00000 n 
+0004306614 00000 n 
+0004306766 00000 n 
+0004306919 00000 n 
+0004307072 00000 n 
+0004307225 00000 n 
+0004307378 00000 n 
+0004307530 00000 n 
+0004307683 00000 n 
+0004307836 00000 n 
+0004307988 00000 n 
+0004308141 00000 n 
+0004308294 00000 n 
+0004308447 00000 n 
+0004308599 00000 n 
+0004308752 00000 n 
+0004308904 00000 n 
+0004309055 00000 n 
+0004309205 00000 n 
+0004309358 00000 n 
+0004309511 00000 n 
+0004309663 00000 n 
+0004309817 00000 n 
+0004309970 00000 n 
+0004310123 00000 n 
+0004310275 00000 n 
+0004310428 00000 n 
+0004310581 00000 n 
+0004310734 00000 n 
+0004310886 00000 n 
+0004311039 00000 n 
+0004311192 00000 n 
+0004311345 00000 n 
+0004311498 00000 n 
+0004311651 00000 n 
+0004311804 00000 n 
+0004311957 00000 n 
+0004312109 00000 n 
+0004312262 00000 n 
+0004312415 00000 n 
+0004312567 00000 n 
+0004312720 00000 n 
+0004312872 00000 n 
+0004313025 00000 n 
+0004313177 00000 n 
+0004313330 00000 n 
+0004313483 00000 n 
+0004313635 00000 n 
+0004313786 00000 n 
+0004313940 00000 n 
+0004314092 00000 n 
+0004314245 00000 n 
+0004314396 00000 n 
+0004314549 00000 n 
+0004314702 00000 n 
+0004314855 00000 n 
+0004315007 00000 n 
+0004315159 00000 n 
+0004315311 00000 n 
+0004315463 00000 n 
+0004315614 00000 n 
+0004315766 00000 n 
+0004315919 00000 n 
+0004316072 00000 n 
+0004316224 00000 n 
+0004316377 00000 n 
+0004316529 00000 n 
+0004316682 00000 n 
+0004316836 00000 n 
+0004316989 00000 n 
+0004317141 00000 n 
+0004317293 00000 n 
+0004317444 00000 n 
+0004317595 00000 n 
+0004317746 00000 n 
+0004321263 00000 n 
+0004317897 00000 n 
+0004318123 00000 n 
+0004299060 00000 n 
+0004297221 00000 n 
+0004318063 00000 n 
+0004869404 00000 n 
+0004321416 00000 n 
+0004321565 00000 n 
+0004321716 00000 n 
+0004321869 00000 n 
+0004322021 00000 n 
+0004322173 00000 n 
+0004322326 00000 n 
+0004322477 00000 n 
+0004322630 00000 n 
+0004322782 00000 n 
+0004322935 00000 n 
+0004323087 00000 n 
+0004323240 00000 n 
+0004323392 00000 n 
+0004323545 00000 n 
+0004323698 00000 n 
+0004323850 00000 n 
+0004324003 00000 n 
+0004324154 00000 n 
+0004324307 00000 n 
+0004324460 00000 n 
+0004324612 00000 n 
+0004324764 00000 n 
+0004324917 00000 n 
+0004325068 00000 n 
+0004325221 00000 n 
+0004325373 00000 n 
+0004325526 00000 n 
+0004325678 00000 n 
+0004325831 00000 n 
+0004325984 00000 n 
+0004326137 00000 n 
+0004326290 00000 n 
+0004326441 00000 n 
+0004326593 00000 n 
+0004326745 00000 n 
+0004326897 00000 n 
+0004327050 00000 n 
+0004327201 00000 n 
+0004327352 00000 n 
+0004327505 00000 n 
+0004327657 00000 n 
+0004327810 00000 n 
+0004327962 00000 n 
+0004328115 00000 n 
+0004328268 00000 n 
+0004328421 00000 n 
+0004328574 00000 n 
+0004328727 00000 n 
+0004328880 00000 n 
+0004329032 00000 n 
+0004329184 00000 n 
+0004329335 00000 n 
+0004329484 00000 n 
+0004329637 00000 n 
+0004329790 00000 n 
+0004329943 00000 n 
+0004330096 00000 n 
+0004330248 00000 n 
+0004330400 00000 n 
+0004330552 00000 n 
+0004330705 00000 n 
+0004330857 00000 n 
+0004331010 00000 n 
+0004331162 00000 n 
+0004331315 00000 n 
+0004331468 00000 n 
+0004331620 00000 n 
+0004331772 00000 n 
+0004331924 00000 n 
+0004332076 00000 n 
+0004332229 00000 n 
+0004332382 00000 n 
+0004332534 00000 n 
+0004332687 00000 n 
+0004332838 00000 n 
+0004332991 00000 n 
+0004333143 00000 n 
+0004333295 00000 n 
+0004333448 00000 n 
+0004333600 00000 n 
+0004333753 00000 n 
+0004333905 00000 n 
+0004334058 00000 n 
+0004334211 00000 n 
+0004334362 00000 n 
+0004334515 00000 n 
+0004334667 00000 n 
+0004334820 00000 n 
+0004334972 00000 n 
+0004335124 00000 n 
+0004335277 00000 n 
+0004335428 00000 n 
+0004335580 00000 n 
+0004335733 00000 n 
+0004335885 00000 n 
+0004336038 00000 n 
+0004336191 00000 n 
+0004336343 00000 n 
+0004336495 00000 n 
+0004336648 00000 n 
+0004336801 00000 n 
+0004336953 00000 n 
+0004337106 00000 n 
+0004337258 00000 n 
+0004337411 00000 n 
+0004337563 00000 n 
+0004337714 00000 n 
+0004341200 00000 n 
+0004337863 00000 n 
+0004338089 00000 n 
+0004320024 00000 n 
+0004318277 00000 n 
+0004338029 00000 n 
+0004341353 00000 n 
+0004341506 00000 n 
+0004341659 00000 n 
+0004341812 00000 n 
+0004341964 00000 n 
+0004342116 00000 n 
+0004342269 00000 n 
+0004342421 00000 n 
+0004342574 00000 n 
+0004342727 00000 n 
+0004342879 00000 n 
+0004343032 00000 n 
+0004343184 00000 n 
+0004343337 00000 n 
+0004343490 00000 n 
+0004343642 00000 n 
+0004343795 00000 n 
+0004343947 00000 n 
+0004344100 00000 n 
+0004344253 00000 n 
+0004344406 00000 n 
+0004344559 00000 n 
+0004344713 00000 n 
+0004344866 00000 n 
+0004345015 00000 n 
+0004345166 00000 n 
+0004345319 00000 n 
+0004345470 00000 n 
+0004345622 00000 n 
+0004345775 00000 n 
+0004345928 00000 n 
+0004346081 00000 n 
+0004346233 00000 n 
+0004346386 00000 n 
+0004346539 00000 n 
+0004346692 00000 n 
+0004346844 00000 n 
+0004346995 00000 n 
+0004347147 00000 n 
+0004347299 00000 n 
+0004347451 00000 n 
+0004347603 00000 n 
+0004347755 00000 n 
+0004347907 00000 n 
+0004348059 00000 n 
+0004348211 00000 n 
+0004348363 00000 n 
+0004348514 00000 n 
+0004348667 00000 n 
+0004348820 00000 n 
+0004348973 00000 n 
+0004349126 00000 n 
+0004349278 00000 n 
+0004349431 00000 n 
+0004349583 00000 n 
+0004349734 00000 n 
+0004349885 00000 n 
+0004350038 00000 n 
+0004350191 00000 n 
+0004350344 00000 n 
+0004350497 00000 n 
+0004350649 00000 n 
+0004350802 00000 n 
+0004350954 00000 n 
+0004351106 00000 n 
+0004351258 00000 n 
+0004351411 00000 n 
+0004351563 00000 n 
+0004351715 00000 n 
+0004351868 00000 n 
+0004352021 00000 n 
+0004352174 00000 n 
+0004352326 00000 n 
+0004352479 00000 n 
+0004352631 00000 n 
+0004352784 00000 n 
+0004352937 00000 n 
+0004353089 00000 n 
+0004353242 00000 n 
+0004353394 00000 n 
+0004353547 00000 n 
+0004353700 00000 n 
+0004353853 00000 n 
+0004354006 00000 n 
+0004354159 00000 n 
+0004354311 00000 n 
+0004354464 00000 n 
+0004354615 00000 n 
+0004354768 00000 n 
+0004354919 00000 n 
+0004355072 00000 n 
+0004355224 00000 n 
+0004355376 00000 n 
+0004355529 00000 n 
+0004355680 00000 n 
+0004355832 00000 n 
+0004355985 00000 n 
+0004356137 00000 n 
+0004356290 00000 n 
+0004356443 00000 n 
+0004356594 00000 n 
+0004356747 00000 n 
+0004356899 00000 n 
+0004357052 00000 n 
+0004357205 00000 n 
+0004357357 00000 n 
+0004357509 00000 n 
+0004357662 00000 n 
+0004357815 00000 n 
+0004357967 00000 n 
+0004358120 00000 n 
+0004358273 00000 n 
+0004358426 00000 n 
+0004358578 00000 n 
+0004358729 00000 n 
+0004361883 00000 n 
+0004358880 00000 n 
+0004359106 00000 n 
+0004339891 00000 n 
+0004338230 00000 n 
+0004359046 00000 n 
+0004429482 00000 n 
+0004362036 00000 n 
+0004362188 00000 n 
+0004362341 00000 n 
+0004362494 00000 n 
+0004362647 00000 n 
+0004362798 00000 n 
+0004362951 00000 n 
+0004363103 00000 n 
+0004363256 00000 n 
+0004363409 00000 n 
+0004363560 00000 n 
+0004363713 00000 n 
+0004363865 00000 n 
+0004364017 00000 n 
+0004364169 00000 n 
+0004364322 00000 n 
+0004364475 00000 n 
+0004364627 00000 n 
+0004364780 00000 n 
+0004364933 00000 n 
+0004365086 00000 n 
+0004365238 00000 n 
+0004365390 00000 n 
+0004365542 00000 n 
+0004365695 00000 n 
+0004365848 00000 n 
+0004366000 00000 n 
+0004366152 00000 n 
+0004366305 00000 n 
+0004366456 00000 n 
+0004366609 00000 n 
+0004366762 00000 n 
+0004366913 00000 n 
+0004367066 00000 n 
+0004367218 00000 n 
+0004367371 00000 n 
+0004367523 00000 n 
+0004367676 00000 n 
+0004367829 00000 n 
+0004367982 00000 n 
+0004368135 00000 n 
+0004368285 00000 n 
+0004368438 00000 n 
+0004368591 00000 n 
+0004368744 00000 n 
+0004368897 00000 n 
+0004369049 00000 n 
+0004369202 00000 n 
+0004369356 00000 n 
+0004369509 00000 n 
+0004369662 00000 n 
+0004369814 00000 n 
+0004369967 00000 n 
+0004370119 00000 n 
+0004370271 00000 n 
+0004370424 00000 n 
+0004370577 00000 n 
+0004370730 00000 n 
+0004370883 00000 n 
+0004371036 00000 n 
+0004371189 00000 n 
+0004371342 00000 n 
+0004371494 00000 n 
+0004371646 00000 n 
+0004371799 00000 n 
+0004371952 00000 n 
+0004372102 00000 n 
+0004372253 00000 n 
+0004372404 00000 n 
+0004372553 00000 n 
+0004375285 00000 n 
+0004372702 00000 n 
+0004372928 00000 n 
+0004361024 00000 n 
+0004359247 00000 n 
+0004372868 00000 n 
+0004429448 00000 n 
+0004375438 00000 n 
+0004375591 00000 n 
+0004375744 00000 n 
+0004375897 00000 n 
+0004376049 00000 n 
+0004376202 00000 n 
+0004376353 00000 n 
+0004376506 00000 n 
+0004376658 00000 n 
+0004376810 00000 n 
+0004376963 00000 n 
+0004377115 00000 n 
+0004377268 00000 n 
+0004377420 00000 n 
+0004377572 00000 n 
+0004377724 00000 n 
+0004377876 00000 n 
+0004378029 00000 n 
+0004378182 00000 n 
+0004378333 00000 n 
+0004378486 00000 n 
+0004378638 00000 n 
+0004378789 00000 n 
+0004378941 00000 n 
+0004379093 00000 n 
+0004379246 00000 n 
+0004379397 00000 n 
+0004379549 00000 n 
+0004379701 00000 n 
+0004379853 00000 n 
+0004380006 00000 n 
+0004380158 00000 n 
+0004380311 00000 n 
+0004380461 00000 n 
+0004380614 00000 n 
+0004380765 00000 n 
+0004380917 00000 n 
+0004381070 00000 n 
+0004381222 00000 n 
+0004381374 00000 n 
+0004381523 00000 n 
+0004381674 00000 n 
+0004381827 00000 n 
+0004381980 00000 n 
+0004382132 00000 n 
+0004382285 00000 n 
+0004382438 00000 n 
+0004382590 00000 n 
+0004382743 00000 n 
+0004382893 00000 n 
+0004383045 00000 n 
+0004383198 00000 n 
+0004383350 00000 n 
+0004383503 00000 n 
+0004383656 00000 n 
+0004383808 00000 n 
+0004383960 00000 n 
+0004384113 00000 n 
+0004384266 00000 n 
+0004384419 00000 n 
+0004384572 00000 n 
+0004384725 00000 n 
+0004384878 00000 n 
+0004385031 00000 n 
+0004385184 00000 n 
+0004385337 00000 n 
+0004385489 00000 n 
+0004385641 00000 n 
+0004385794 00000 n 
+0004385947 00000 n 
+0004386099 00000 n 
+0004386252 00000 n 
+0004386404 00000 n 
+0004386557 00000 n 
+0004386710 00000 n 
+0004386863 00000 n 
+0004387016 00000 n 
+0004387169 00000 n 
+0004389824 00000 n 
+0004387318 00000 n 
+0004387544 00000 n 
+0004374346 00000 n 
+0004373069 00000 n 
+0004387484 00000 n 
+0004389976 00000 n 
+0004390128 00000 n 
+0004390279 00000 n 
+0004390431 00000 n 
+0004390583 00000 n 
+0004390735 00000 n 
+0004390887 00000 n 
+0004391039 00000 n 
+0004391190 00000 n 
+0004391342 00000 n 
+0004391494 00000 n 
+0004391646 00000 n 
+0004391798 00000 n 
+0004391950 00000 n 
+0004392100 00000 n 
+0004392252 00000 n 
+0004392404 00000 n 
+0004392556 00000 n 
+0004392707 00000 n 
+0004392859 00000 n 
+0004393011 00000 n 
+0004393164 00000 n 
+0004393317 00000 n 
+0004393470 00000 n 
+0004393622 00000 n 
+0004393772 00000 n 
+0004393922 00000 n 
+0004394074 00000 n 
+0004394226 00000 n 
+0004394377 00000 n 
+0004394529 00000 n 
+0004394682 00000 n 
+0004394835 00000 n 
+0004394987 00000 n 
+0004395140 00000 n 
+0004395292 00000 n 
+0004395444 00000 n 
+0004395597 00000 n 
+0004395750 00000 n 
+0004395903 00000 n 
+0004396056 00000 n 
+0004396208 00000 n 
+0004396361 00000 n 
+0004396514 00000 n 
+0004396667 00000 n 
+0004396820 00000 n 
+0004396973 00000 n 
+0004397126 00000 n 
+0004397278 00000 n 
+0004397431 00000 n 
+0004397584 00000 n 
+0004397736 00000 n 
+0004397889 00000 n 
+0004398041 00000 n 
+0004398193 00000 n 
+0004398344 00000 n 
+0004398497 00000 n 
+0004398649 00000 n 
+0004398802 00000 n 
+0004398955 00000 n 
+0004399108 00000 n 
+0004399260 00000 n 
+0004402191 00000 n 
+0004399410 00000 n 
+0004399636 00000 n 
+0004389045 00000 n 
+0004387672 00000 n 
+0004399576 00000 n 
+0004402343 00000 n 
+0004402495 00000 n 
+0004402648 00000 n 
+0004402800 00000 n 
+0004402953 00000 n 
+0004403106 00000 n 
+0004403259 00000 n 
+0004403411 00000 n 
+0004403564 00000 n 
+0004403717 00000 n 
+0004403867 00000 n 
+0004404019 00000 n 
+0004404171 00000 n 
+0004404324 00000 n 
+0004404476 00000 n 
+0004404628 00000 n 
+0004404781 00000 n 
+0004404934 00000 n 
+0004405087 00000 n 
+0004405240 00000 n 
+0004405393 00000 n 
+0004405546 00000 n 
+0004405698 00000 n 
+0004405851 00000 n 
+0004406003 00000 n 
+0004406156 00000 n 
+0004406309 00000 n 
+0004406462 00000 n 
+0004406614 00000 n 
+0004406766 00000 n 
+0004406919 00000 n 
+0004407072 00000 n 
+0004407224 00000 n 
+0004407376 00000 n 
+0004407529 00000 n 
+0004407681 00000 n 
+0004407833 00000 n 
+0004407986 00000 n 
+0004408139 00000 n 
+0004408292 00000 n 
+0004408444 00000 n 
+0004408594 00000 n 
+0004408744 00000 n 
+0004408896 00000 n 
+0004409049 00000 n 
+0004409202 00000 n 
+0004409354 00000 n 
+0004409507 00000 n 
+0004409660 00000 n 
+0004409808 00000 n 
+0004409956 00000 n 
+0004410109 00000 n 
+0004410262 00000 n 
+0004410415 00000 n 
+0004410568 00000 n 
+0004410719 00000 n 
+0004410870 00000 n 
+0004411023 00000 n 
+0004411176 00000 n 
+0004411329 00000 n 
+0004411482 00000 n 
+0004411635 00000 n 
+0004411788 00000 n 
+0004411941 00000 n 
+0004412092 00000 n 
+0004412245 00000 n 
+0004412397 00000 n 
+0004412550 00000 n 
+0004412702 00000 n 
+0004412855 00000 n 
+0004413006 00000 n 
+0004413156 00000 n 
+0004413306 00000 n 
+0004413457 00000 n 
+0004413608 00000 n 
+0004413759 00000 n 
+0004416101 00000 n 
+0004413910 00000 n 
+0004414136 00000 n 
+0004401272 00000 n 
+0004399764 00000 n 
+0004414076 00000 n 
+0004869537 00000 n 
+0004416254 00000 n 
+0004416405 00000 n 
+0004416558 00000 n 
+0004416709 00000 n 
+0004416862 00000 n 
+0004417014 00000 n 
+0004417167 00000 n 
+0004417320 00000 n 
+0004417473 00000 n 
+0004417623 00000 n 
+0004417776 00000 n 
+0004417928 00000 n 
+0004418080 00000 n 
+0004418232 00000 n 
+0004418384 00000 n 
+0004418536 00000 n 
+0004418687 00000 n 
+0004418840 00000 n 
+0004418992 00000 n 
+0004419143 00000 n 
+0004419295 00000 n 
+0004419447 00000 n 
+0004419599 00000 n 
+0004419751 00000 n 
+0004419903 00000 n 
+0004420055 00000 n 
+0004420206 00000 n 
+0004420357 00000 n 
+0004420509 00000 n 
+0004420661 00000 n 
+0004420813 00000 n 
+0004420962 00000 n 
+0004421113 00000 n 
+0004421264 00000 n 
+0004421414 00000 n 
+0004421564 00000 n 
+0004421714 00000 n 
+0004421865 00000 n 
+0004422016 00000 n 
+0004422167 00000 n 
+0004422318 00000 n 
+0004422469 00000 n 
+0004422620 00000 n 
+0004422771 00000 n 
+0004422922 00000 n 
+0004423073 00000 n 
+0004423224 00000 n 
+0004423375 00000 n 
+0004423526 00000 n 
+0004423677 00000 n 
+0004423828 00000 n 
+0004423979 00000 n 
+0004424129 00000 n 
+0004424279 00000 n 
+0004424429 00000 n 
+0004424580 00000 n 
+0004424731 00000 n 
+0004424882 00000 n 
+0004426506 00000 n 
+0004425031 00000 n 
+0004425257 00000 n 
+0004415362 00000 n 
+0004414264 00000 n 
+0004425197 00000 n 
+0004426658 00000 n 
+0004426810 00000 n 
+0004426962 00000 n 
+0004427115 00000 n 
+0004427268 00000 n 
+0004427421 00000 n 
+0004427573 00000 n 
+0004427726 00000 n 
+0004427879 00000 n 
+0004428031 00000 n 
+0004428184 00000 n 
+0004428334 00000 n 
+0004428486 00000 n 
+0004428638 00000 n 
+0004428791 00000 n 
+0004428942 00000 n 
+0004429094 00000 n 
+0004429320 00000 n 
+0004426187 00000 n 
+0004425385 00000 n 
+0004429260 00000 n 
+0004430094 00000 n 
+0004430137 00000 n 
+0004430164 00000 n 
+0004430269 00000 n 
+0004430727 00000 n 
+0004431358 00000 n 
+0004431505 00000 n 
+0004432170 00000 n 
+0004432324 00000 n 
+0004850273 00000 n 
+0004432363 00000 n 
+0004432840 00000 n 
+0004432879 00000 n 
+0004433192 00000 n 
+0004433549 00000 n 
+0004434127 00000 n 
+0004434154 00000 n 
+0004434791 00000 n 
+0004434963 00000 n 
+0004435243 00000 n 
+0004435564 00000 n 
+0004436198 00000 n 
+0004436453 00000 n 
+0004437148 00000 n 
+0004437841 00000 n 
+0004438352 00000 n 
+0004439023 00000 n 
+0004439607 00000 n 
+0004439793 00000 n 
+0004440691 00000 n 
+0004441254 00000 n 
+0004441913 00000 n 
+0004442306 00000 n 
+0004442882 00000 n 
+0004443782 00000 n 
+0004444481 00000 n 
+0004444526 00000 n 
+0004445188 00000 n 
+0004445542 00000 n 
+0004452873 00000 n 
+0004453107 00000 n 
+0004460153 00000 n 
+0004460377 00000 n 
+0004472726 00000 n 
+0004473412 00000 n 
+0004491734 00000 n 
+0004492167 00000 n 
+0004499311 00000 n 
+0004499548 00000 n 
+0004507462 00000 n 
+0004507692 00000 n 
+0004519179 00000 n 
+0004519460 00000 n 
+0004526606 00000 n 
+0004526842 00000 n 
+0004535398 00000 n 
+0004535690 00000 n 
+0004545283 00000 n 
+0004545539 00000 n 
+0004552652 00000 n 
+0004552877 00000 n 
+0004570640 00000 n 
+0004571064 00000 n 
+0004578521 00000 n 
+0004578757 00000 n 
+0004588551 00000 n 
+0004588812 00000 n 
+0004601123 00000 n 
+0004601458 00000 n 
+0004612477 00000 n 
+0004612774 00000 n 
+0004628125 00000 n 
+0004628834 00000 n 
+0004636143 00000 n 
+0004636391 00000 n 
+0004644835 00000 n 
+0004645120 00000 n 
+0004653558 00000 n 
+0004653866 00000 n 
+0004661778 00000 n 
+0004662036 00000 n 
+0004670420 00000 n 
+0004670751 00000 n 
+0004678844 00000 n 
+0004679072 00000 n 
+0004688151 00000 n 
+0004688385 00000 n 
+0004691972 00000 n 
+0004692209 00000 n 
+0004700086 00000 n 
+0004700364 00000 n 
+0004706517 00000 n 
+0004706767 00000 n 
+0004709310 00000 n 
+0004709604 00000 n 
+0004729383 00000 n 
+0004730011 00000 n 
+0004743601 00000 n 
+0004744016 00000 n 
+0004759047 00000 n 
+0004759566 00000 n 
+0004768475 00000 n 
+0004768796 00000 n 
+0004775815 00000 n 
+0004776173 00000 n 
+0004793765 00000 n 
+0004794273 00000 n 
+0004807214 00000 n 
+0004807580 00000 n 
+0004829952 00000 n 
+0004830672 00000 n 
+0004849683 00000 n 
+0004869640 00000 n 
+0004869763 00000 n 
+0004869891 00000 n 
+0004870019 00000 n 
+0004870147 00000 n 
+0004870275 00000 n 
+0004870403 00000 n 
+0004870531 00000 n 
+0004870659 00000 n 
+0004870787 00000 n 
+0004870921 00000 n 
+0004871055 00000 n 
+0004871189 00000 n 
+0004871323 00000 n 
+0004871457 00000 n 
+0004871591 00000 n 
+0004871725 00000 n 
+0004871849 00000 n 
+0004871984 00000 n 
+0004872119 00000 n 
+0004872244 00000 n 
+0004872331 00000 n 
+0004884413 00000 n 
+0004884584 00000 n 
+0004884919 00000 n 
+0004885588 00000 n 
+0004886326 00000 n 
+0004887064 00000 n 
+0004887802 00000 n 
+0004888540 00000 n 
+0004889278 00000 n 
+0004890016 00000 n 
+0004890754 00000 n 
+0004891492 00000 n 
+0004892230 00000 n 
+0004892968 00000 n 
+0004893706 00000 n 
+0004894444 00000 n 
+0004895182 00000 n 
+0004895920 00000 n 
+0004896658 00000 n 
+0004897396 00000 n 
+0004898134 00000 n 
+0004898872 00000 n 
+0004899610 00000 n 
+0004900348 00000 n 
+0004901102 00000 n 
+0004901864 00000 n 
+0004902582 00000 n 
+0004903272 00000 n 
+0004903962 00000 n 
+0004904652 00000 n 
+0004905342 00000 n 
+0004906032 00000 n 
+0004906722 00000 n 
+0004907412 00000 n 
+0004908102 00000 n 
+0004908792 00000 n 
+0004909482 00000 n 
+0004910172 00000 n 
+0004910862 00000 n 
+0004911552 00000 n 
+0004912242 00000 n 
+0004912932 00000 n 
+0004913622 00000 n 
+0004914312 00000 n 
+0004915002 00000 n 
+0004915692 00000 n 
+0004916382 00000 n 
+0004917134 00000 n 
+0004918016 00000 n 
+0004918898 00000 n 
+0004919714 00000 n 
+0004920546 00000 n 
+0004921378 00000 n 
+0004922136 00000 n 
+0004922906 00000 n 
+0004923676 00000 n 
+0004924492 00000 n 
+0004925422 00000 n 
+0004926077 00000 n 
+0004926863 00000 n 
+0004927649 00000 n 
+0004928435 00000 n 
+0004929221 00000 n 
+0004930007 00000 n 
+0004930793 00000 n 
+0004931579 00000 n 
+0004932365 00000 n 
+0004933151 00000 n 
+0004933937 00000 n 
+0004934723 00000 n 
+0004935509 00000 n 
+0004936295 00000 n 
+0004937081 00000 n 
+0004937867 00000 n 
+0004938653 00000 n 
+0004939439 00000 n 
+0004940224 00000 n 
+0004941009 00000 n 
+0004941724 00000 n 
+0004942542 00000 n 
+0004943416 00000 n 
+0004944266 00000 n 
+0004944978 00000 n 
+0004945940 00000 n 
+0004946845 00000 n 
+0004947655 00000 n 
+0004948465 00000 n 
+0004949275 00000 n 
+0004950085 00000 n 
+0004950895 00000 n 
+0004951705 00000 n 
+0004952515 00000 n 
+0004953277 00000 n 
+0004954023 00000 n 
+0004954769 00000 n 
+0004955515 00000 n 
+0004956261 00000 n 
+0004957007 00000 n 
+0004957753 00000 n 
+0004958499 00000 n 
+0004959245 00000 n 
+0004960017 00000 n 
+0004960911 00000 n 
+0004961873 00000 n 
+0004962616 00000 n 
+0004963562 00000 n 
+0004964406 00000 n 
+0004965216 00000 n 
+0004966026 00000 n 
+0004966836 00000 n 
+0004967646 00000 n 
+0004968424 00000 n 
+0004969170 00000 n 
+0004969916 00000 n 
+0004970662 00000 n 
+0004971408 00000 n 
+0004972154 00000 n 
+0004972900 00000 n 
+0004973646 00000 n 
+0004974392 00000 n 
+0004975204 00000 n 
+0004976049 00000 n 
+0004976795 00000 n 
+0004977541 00000 n 
+0004978301 00000 n 
+0004979043 00000 n 
+0004979797 00000 n 
+0004980551 00000 n 
+0004981305 00000 n 
+0004982047 00000 n 
+0004983025 00000 n 
+0004983963 00000 n 
+0004984925 00000 n 
+0004985716 00000 n 
+0004986398 00000 n 
+0004987280 00000 n 
+0004988064 00000 n 
+0004988826 00000 n 
+0004989588 00000 n 
+0004990276 00000 n 
+0004991078 00000 n 
+0004992016 00000 n 
+0004992818 00000 n 
+0004993620 00000 n 
+0004994422 00000 n 
+0004995224 00000 n 
+0004996026 00000 n 
+0004996764 00000 n 
+0004997502 00000 n 
+0004998240 00000 n 
+0004998978 00000 n 
+0004999716 00000 n 
+0005000619 00000 n 
+0005001357 00000 n 
+0005002095 00000 n 
+0005002833 00000 n 
+0005003571 00000 n 
+0005004309 00000 n 
+0005005047 00000 n 
+0005005785 00000 n 
+0005006523 00000 n 
+0005007212 00000 n 
+0005007947 00000 n 
+0005008809 00000 n 
+0005009811 00000 n 
+0005010667 00000 n 
+0005011523 00000 n 
+0005012379 00000 n 
+0005013235 00000 n 
+0005014091 00000 n 
+0005014947 00000 n 
+0005015755 00000 n 
+0005016646 00000 n 
+0005017438 00000 n 
+0005018230 00000 n 
+0005019022 00000 n 
+0005019814 00000 n 
+0005020606 00000 n 
+0005021398 00000 n 
+0005022190 00000 n 
+0005022982 00000 n 
+0005023774 00000 n 
+0005024543 00000 n 
+0005025241 00000 n 
+0005025939 00000 n 
+0005026637 00000 n 
+0005027335 00000 n 
+0005028033 00000 n 
+0005028731 00000 n 
+0005029429 00000 n 
+0005030127 00000 n 
+0005030825 00000 n 
+0005031523 00000 n 
+0005032221 00000 n 
+0005032919 00000 n 
+0005033617 00000 n 
+0005034315 00000 n 
+0005035013 00000 n 
+0005035711 00000 n 
+0005036409 00000 n 
+0005037110 00000 n 
+0005037910 00000 n 
+0005038887 00000 n 
+0005039856 00000 n 
+0005040882 00000 n 
+0005041868 00000 n 
+0005042814 00000 n 
+0005043696 00000 n 
+0005044624 00000 n 
+0005045602 00000 n 
+0005046595 00000 n 
+0005047611 00000 n 
+0005048547 00000 n 
+0005049388 00000 n 
+0005050053 00000 n 
+0005050789 00000 n 
+0005051476 00000 n 
+0005052370 00000 n 
+0005053332 00000 n 
+0005054274 00000 n 
+0005055346 00000 n 
+0005056283 00000 n 
+0005057099 00000 n 
+0005057915 00000 n 
+0005058731 00000 n 
+0005059547 00000 n 
+0005060363 00000 n 
+0005061179 00000 n 
+0005061995 00000 n 
+0005062810 00000 n 
+0005063626 00000 n 
+0005064442 00000 n 
+0005065258 00000 n 
+0005066074 00000 n 
+0005066890 00000 n 
+0005067706 00000 n 
+0005068522 00000 n 
+0005069338 00000 n 
+0005070083 00000 n 
+0005070851 00000 n 
+0005071619 00000 n 
+0005072387 00000 n 
+0005073155 00000 n 
+0005073923 00000 n 
+0005074691 00000 n 
+0005075459 00000 n 
+0005076225 00000 n 
+0005076993 00000 n 
+0005077767 00000 n 
+0005078681 00000 n 
+0005079522 00000 n 
+0005080356 00000 n 
+0005081124 00000 n 
+0005081892 00000 n 
+0005082660 00000 n 
+0005083527 00000 n 
+0005084361 00000 n 
+0005085129 00000 n 
+0005086075 00000 n 
+0005086963 00000 n 
+0005087755 00000 n 
+0005088547 00000 n 
+0005089339 00000 n 
+0005090019 00000 n 
+0005090819 00000 n 
+0005091619 00000 n 
+0005092419 00000 n 
+0005093219 00000 n 
+0005094019 00000 n 
+0005094819 00000 n 
+0005095619 00000 n 
+0005096419 00000 n 
+0005097219 00000 n 
+0005098019 00000 n 
+0005098819 00000 n 
+0005099619 00000 n 
+0005100419 00000 n 
+0005101219 00000 n 
+0005102019 00000 n 
+0005102819 00000 n 
+0005103619 00000 n 
+0005104419 00000 n 
+0005105219 00000 n 
+0005106019 00000 n 
+0005106846 00000 n 
+0005107725 00000 n 
+0005108549 00000 n 
+0005109373 00000 n 
+0005110127 00000 n 
+0005110994 00000 n 
+0005111762 00000 n 
+0005112530 00000 n 
+0005113430 00000 n 
+0005114297 00000 n 
+0005115065 00000 n 
+0005115778 00000 n 
+0005116602 00000 n 
+0005117426 00000 n 
+0005118250 00000 n 
+0005119062 00000 n 
+0005120048 00000 n 
+0005121034 00000 n 
+0005121923 00000 n 
+0005122715 00000 n 
+0005123507 00000 n 
+0005124299 00000 n 
+0005125091 00000 n 
+0005125883 00000 n 
+0005126687 00000 n 
+0005127575 00000 n 
+0005128463 00000 n 
+0005129351 00000 n 
+0005130239 00000 n 
+0005131127 00000 n 
+0005132015 00000 n 
+0005132903 00000 n 
+0005133791 00000 n 
+0005134679 00000 n 
+0005135567 00000 n 
+0005136455 00000 n 
+0005137343 00000 n 
+0005138231 00000 n 
+0005139119 00000 n 
+0005140007 00000 n 
+0005140895 00000 n 
+0005141711 00000 n 
+0005142527 00000 n 
+0005143343 00000 n 
+0005144159 00000 n 
+0005144975 00000 n 
+0005145791 00000 n 
+0005146607 00000 n 
+0005147423 00000 n 
+0005148239 00000 n 
+0005149055 00000 n 
+0005149871 00000 n 
+0005150687 00000 n 
+0005151503 00000 n 
+0005152319 00000 n 
+0005153135 00000 n 
+0005153951 00000 n 
+0005154737 00000 n 
+0005155561 00000 n 
+0005156385 00000 n 
+0005157140 00000 n 
+0005157964 00000 n 
+0005158699 00000 n 
+0005159451 00000 n 
+0005160203 00000 n 
+0005160955 00000 n 
+0005161707 00000 n 
+0005162459 00000 n 
+0005163211 00000 n 
+0005163963 00000 n 
+0005164715 00000 n 
+0005165467 00000 n 
+0005166219 00000 n 
+0005166971 00000 n 
+0005167723 00000 n 
+0005168475 00000 n 
+0005169227 00000 n 
+0005169979 00000 n 
+0005170731 00000 n 
+0005171483 00000 n 
+0005172235 00000 n 
+0005172940 00000 n 
+0005173676 00000 n 
+0005174412 00000 n 
+0005175148 00000 n 
+0005175884 00000 n 
+0005176620 00000 n 
+0005177356 00000 n 
+0005178092 00000 n 
+0005178853 00000 n 
+0005179654 00000 n 
+0005180510 00000 n 
+0005181341 00000 n 
+0005181994 00000 n 
+0005182834 00000 n 
+0005183800 00000 n 
+0005184623 00000 n 
+0005185359 00000 n 
+0005186038 00000 n 
+0005186822 00000 n 
+0005187606 00000 n 
+0005188325 00000 n 
+0005188931 00000 n 
+0005189541 00000 n 
+0005190151 00000 n 
+0005190761 00000 n 
+0005191371 00000 n 
+0005191981 00000 n 
+0005192591 00000 n 
+0005193201 00000 n 
+0005193811 00000 n 
+0005194557 00000 n 
+0005195439 00000 n 
+0005196321 00000 n 
+0005197203 00000 n 
+0005198085 00000 n 
+0005198967 00000 n 
+0005199849 00000 n 
+0005200731 00000 n 
+0005201613 00000 n 
+0005202495 00000 n 
+0005203377 00000 n 
+0005204259 00000 n 
+0005204774 00000 n 
+0005205100 00000 n 
+0005205326 00000 n 
+0005205566 00000 n 
+0005205786 00000 n 
+0005206001 00000 n 
+0005206219 00000 n 
+0005206435 00000 n 
+0005206654 00000 n 
+0005206984 00000 n 
+0005207212 00000 n 
+0005207547 00000 n 
+0005207865 00000 n 
+0005208195 00000 n 
+0005208524 00000 n 
+0005208885 00000 n 
+0005209188 00000 n 
+0005209527 00000 n 
+0005209824 00000 n 
+0005210034 00000 n 
+0005210363 00000 n 
+0005210572 00000 n 
+0005210868 00000 n 
+0005211110 00000 n 
+0005211355 00000 n 
+0005211798 00000 n 
+0005212158 00000 n 
+0005212386 00000 n 
+0005212671 00000 n 
+0005212953 00000 n 
+0005213334 00000 n 
+0005213723 00000 n 
+0005214059 00000 n 
+0005214341 00000 n 
+0005214650 00000 n 
+0005214945 00000 n 
+0005215238 00000 n 
+0005215546 00000 n 
+0005216081 00000 n 
+0005216747 00000 n 
+0005217413 00000 n 
+0005218079 00000 n 
+0005218811 00000 n 
+0005219708 00000 n 
+0005220638 00000 n 
+0005221062 00000 n 
+0005221248 00000 n 
+0005221433 00000 n 
+0005221619 00000 n 
+0005221803 00000 n 
+0005221989 00000 n 
+0005222176 00000 n 
+0005222362 00000 n 
+0005222546 00000 n 
+0005222734 00000 n 
+0005222918 00000 n 
+0005223104 00000 n 
+0005223288 00000 n 
+0005223476 00000 n 
+0005223662 00000 n 
+0005223848 00000 n 
+0005224032 00000 n 
+0005224218 00000 n 
+0005224403 00000 n 
+0005224589 00000 n 
+0005224769 00000 n 
+0005224955 00000 n 
+0005225139 00000 n 
+0005225323 00000 n 
+0005225509 00000 n 
+0005225694 00000 n 
+0005225880 00000 n 
+0005226065 00000 n 
+0005226253 00000 n 
+0005226438 00000 n 
+0005226624 00000 n 
+0005226809 00000 n 
+0005226995 00000 n 
+0005227180 00000 n 
+0005227366 00000 n 
+0005227550 00000 n 
+0005227739 00000 n 
+0005227923 00000 n 
+0005228104 00000 n 
+0005228291 00000 n 
+0005228477 00000 n 
+0005228661 00000 n 
+0005228848 00000 n 
+0005229040 00000 n 
+0005229230 00000 n 
+0005229423 00000 n 
+0005229613 00000 n 
+0005229805 00000 n 
+0005229995 00000 n 
+0005230187 00000 n 
+0005230378 00000 n 
+0005230571 00000 n 
+0005230761 00000 n 
+0005230954 00000 n 
+0005231146 00000 n 
+0005231338 00000 n 
+0005231528 00000 n 
+0005231721 00000 n 
+0005231907 00000 n 
+0005232101 00000 n 
+0005232291 00000 n 
+0005232483 00000 n 
+0005232673 00000 n 
+0005232865 00000 n 
+0005233056 00000 n 
+0005233248 00000 n 
+0005233440 00000 n 
+0005233632 00000 n 
+0005233822 00000 n 
+0005234014 00000 n 
+0005234204 00000 n 
+0005234396 00000 n 
+0005234585 00000 n 
+0005234774 00000 n 
+0005234966 00000 n 
+0005235156 00000 n 
+0005235350 00000 n 
+0005235535 00000 n 
+0005235727 00000 n 
+0005235917 00000 n 
+0005236109 00000 n 
+0005236299 00000 n 
+0005236491 00000 n 
+0005236681 00000 n 
+0005236873 00000 n 
+0005237063 00000 n 
+0005237255 00000 n 
+0005237444 00000 n 
+0005237633 00000 n 
+0005237825 00000 n 
+0005238015 00000 n 
+0005238207 00000 n 
+0005238397 00000 n 
+0005238589 00000 n 
+0005238779 00000 n 
+0005238962 00000 n 
+0005239140 00000 n 
+0005239316 00000 n 
+0005239494 00000 n 
+0005239670 00000 n 
+0005239848 00000 n 
+0005240023 00000 n 
+0005240198 00000 n 
+0005240411 00000 n 
+0005240680 00000 n 
+0005240962 00000 n 
+0005241243 00000 n 
+0005241525 00000 n 
+0005241806 00000 n 
+0005242088 00000 n 
+0005242369 00000 n 
+0005242651 00000 n 
+0005242932 00000 n 
+0005243214 00000 n 
+0005243494 00000 n 
+0005243770 00000 n 
+0005244044 00000 n 
+0005244318 00000 n 
+0005244596 00000 n 
+0005244870 00000 n 
+0005245148 00000 n 
+0005245426 00000 n 
+0005245700 00000 n 
+0005245974 00000 n 
+0005246248 00000 n 
+0005246522 00000 n 
+0005246797 00000 n 
+0005247071 00000 n 
+0005247345 00000 n 
+0005247619 00000 n 
+0005247891 00000 n 
+0005248160 00000 n 
+0005248434 00000 n 
+0005248708 00000 n 
+0005248982 00000 n 
+0005249260 00000 n 
+0005249542 00000 n 
+0005249823 00000 n 
+0005250105 00000 n 
+0005250385 00000 n 
+0005250665 00000 n 
+0005250947 00000 n 
+0005251225 00000 n 
+0005251499 00000 n 
+0005251773 00000 n 
+0005252047 00000 n 
+0005252318 00000 n 
+0005252584 00000 n 
+0005252855 00000 n 
+0005253129 00000 n 
+0005253401 00000 n 
+0005253673 00000 n 
+0005253947 00000 n 
+0005254220 00000 n 
+0005254494 00000 n 
+0005254767 00000 n 
+0005255041 00000 n 
+0005255314 00000 n 
+0005255585 00000 n 
+0005255856 00000 n 
+0005256130 00000 n 
+0005256402 00000 n 
+0005256671 00000 n 
+0005256941 00000 n 
+0005257215 00000 n 
+0005257489 00000 n 
+0005257767 00000 n 
+0005258041 00000 n 
+0005258320 00000 n 
+0005258602 00000 n 
+0005258882 00000 n 
+0005259162 00000 n 
+0005259444 00000 n 
+0005259722 00000 n 
+0005259996 00000 n 
+0005260271 00000 n 
+0005260553 00000 n 
+0005260827 00000 n 
+0005261105 00000 n 
+0005261379 00000 n 
+0005261657 00000 n 
+0005261939 00000 n 
+0005262220 00000 n 
+0005262502 00000 n 
+0005262782 00000 n 
+0005263065 00000 n 
+0005263353 00000 n 
+0005263639 00000 n 
+0005263927 00000 n 
+0005264213 00000 n 
+0005264490 00000 n 
+0005264770 00000 n 
+0005265054 00000 n 
+0005265336 00000 n 
+0005265619 00000 n 
+0005265907 00000 n 
+0005266187 00000 n 
+0005266467 00000 n 
+0005266747 00000 n 
+0005267027 00000 n 
+0005267307 00000 n 
+0005267588 00000 n 
+0005267870 00000 n 
+0005268158 00000 n 
+0005268441 00000 n 
+0005268723 00000 n 
+0005269006 00000 n 
+0005269288 00000 n 
+0005269576 00000 n 
+0005269863 00000 n 
+0005270151 00000 n 
+0005270438 00000 n 
+0005270726 00000 n 
+0005271013 00000 n 
+0005271301 00000 n 
+0005271587 00000 n 
+0005271873 00000 n 
+0005272155 00000 n 
+0005272439 00000 n 
+0005272727 00000 n 
+0005273014 00000 n 
+0005273302 00000 n 
+0005273588 00000 n 
+0005273874 00000 n 
+0005274162 00000 n 
+0005274449 00000 n 
+0005274737 00000 n 
+0005275017 00000 n 
+0005275299 00000 n 
+0005275582 00000 n 
+0005275862 00000 n 
+0005276144 00000 n 
+0005276427 00000 n 
+0005276707 00000 n 
+0005276988 00000 n 
+0005277270 00000 n 
+0005277558 00000 n 
+0005277845 00000 n 
+0005278133 00000 n 
+0005278420 00000 n 
+0005278708 00000 n 
+0005278995 00000 n 
+0005279283 00000 n 
+0005279569 00000 n 
+0005279855 00000 n 
+0005280141 00000 n 
+0005280425 00000 n 
+0005280713 00000 n 
+0005281000 00000 n 
+0005281284 00000 n 
+0005281564 00000 n 
+0005281847 00000 n 
+0005282127 00000 n 
+0005282412 00000 n 
+0005282700 00000 n 
+0005282986 00000 n 
+0005283272 00000 n 
+0005283560 00000 n 
+0005283847 00000 n 
+0005284135 00000 n 
+0005284417 00000 n 
+0005284697 00000 n 
+0005284977 00000 n 
+0005285259 00000 n 
+0005285539 00000 n 
+0005285819 00000 n 
+0005286099 00000 n 
+0005286379 00000 n 
+0005286661 00000 n 
+0005286949 00000 n 
+0005287236 00000 n 
+0005287524 00000 n 
+0005287811 00000 n 
+0005288099 00000 n 
+0005288386 00000 n 
+0005288674 00000 n 
+0005288956 00000 n 
+0005289239 00000 n 
+0005289519 00000 n 
+0005289793 00000 n 
+0005290061 00000 n 
+0005290330 00000 n 
+0005290604 00000 n 
+0005290877 00000 n 
+0005291151 00000 n 
+0005291424 00000 n 
+0005291698 00000 n 
+0005291970 00000 n 
+0005292242 00000 n 
+0005292516 00000 n 
+0005292789 00000 n 
+0005293059 00000 n 
+0005293331 00000 n 
+0005293603 00000 n 
+0005293875 00000 n 
+0005294141 00000 n 
+0005294421 00000 n 
+0005294701 00000 n 
+0005294981 00000 n 
+0005295261 00000 n 
+0005295549 00000 n 
+0005295836 00000 n 
+0005296124 00000 n 
+0005296411 00000 n 
+0005296699 00000 n 
+0005296986 00000 n 
+0005297274 00000 n 
+0005297561 00000 n 
+0005297849 00000 n 
+0005298135 00000 n 
+0005298421 00000 n 
+0005298703 00000 n 
+0005298983 00000 n 
+0005299263 00000 n 
+0005299543 00000 n 
+0005299823 00000 n 
+0005300093 00000 n 
+0005300359 00000 n 
+0005300634 00000 n 
+0005300914 00000 n 
+0005301180 00000 n 
+0005301441 00000 n 
+0005301702 00000 n 
+0005301962 00000 n 
+0005302228 00000 n 
+0005302493 00000 n 
+0005302759 00000 n 
+0005303017 00000 n 
+0005303275 00000 n 
+0005303533 00000 n 
+0005303758 00000 n 
+0005303976 00000 n 
+0005304193 00000 n 
+0005304411 00000 n 
+0005304627 00000 n 
+0005304843 00000 n 
+0005305061 00000 n 
+0005305278 00000 n 
+0005305496 00000 n 
+0005305713 00000 n 
+0005305931 00000 n 
+0005306152 00000 n 
+0005306376 00000 n 
+0005306598 00000 n 
+0005306822 00000 n 
+0005307043 00000 n 
+0005307264 00000 n 
+0005307488 00000 n 
+0005307706 00000 n 
+0005307930 00000 n 
+0005308152 00000 n 
+0005308376 00000 n 
+0005308598 00000 n 
+0005308822 00000 n 
+0005309044 00000 n 
+0005309268 00000 n 
+0005309490 00000 n 
+0005309714 00000 n 
+0005309935 00000 n 
+0005310156 00000 n 
+0005310380 00000 n 
+0005310602 00000 n 
+0005310826 00000 n 
+0005311048 00000 n 
+0005311272 00000 n 
+0005311494 00000 n 
+0005311712 00000 n 
+0005311922 00000 n 
+0005312131 00000 n 
+0005312341 00000 n 
+0005312550 00000 n 
+0005312760 00000 n 
+0005312969 00000 n 
+0005313179 00000 n 
+0005313387 00000 n 
+0005313595 00000 n 
+0005313805 00000 n 
+0005314014 00000 n 
+0005314224 00000 n 
+0005314421 00000 n 
+0005314605 00000 n 
+0005315192 00000 n 
+0005315795 00000 n 
+0005316025 00000 n 
+0005316249 00000 n 
+0005316481 00000 n 
+0005316725 00000 n 
+0005316968 00000 n 
+0005317212 00000 n 
+0005317455 00000 n 
+0005317699 00000 n 
+0005317941 00000 n 
+0005318183 00000 n 
+0005318427 00000 n 
+0005318670 00000 n 
+0005318914 00000 n 
+0005319157 00000 n 
+0005319401 00000 n 
+0005319644 00000 n 
+0005319888 00000 n 
+0005320131 00000 n 
+0005320364 00000 n 
+0005320602 00000 n 
+0005320879 00000 n 
+0005321161 00000 n 
+0005321443 00000 n 
+0005321725 00000 n 
+0005321998 00000 n 
+0005322267 00000 n 
+0005322535 00000 n 
+0005322809 00000 n 
+0005323084 00000 n 
+0005323355 00000 n 
+0005323627 00000 n 
+0005323901 00000 n 
+0005324180 00000 n 
+0005324470 00000 n 
+0005324760 00000 n 
+0005325049 00000 n 
+0005325339 00000 n 
+0005325629 00000 n 
+0005325919 00000 n 
+0005326209 00000 n 
+0005326494 00000 n 
+0005326784 00000 n 
+0005327074 00000 n 
+0005327364 00000 n 
+0005327654 00000 n 
+0005327939 00000 n 
+0005328229 00000 n 
+0005328519 00000 n 
+0005328809 00000 n 
+0005329097 00000 n 
+0005329385 00000 n 
+0005329681 00000 n 
+0005329977 00000 n 
+0005330273 00000 n 
+0005330567 00000 n 
+0005330863 00000 n 
+0005331159 00000 n 
+0005331455 00000 n 
+0005331751 00000 n 
+0005332045 00000 n 
+0005332341 00000 n 
+0005332637 00000 n 
+0005332933 00000 n 
+0005333229 00000 n 
+0005333516 00000 n 
+0005333812 00000 n 
+0005334108 00000 n 
+0005334404 00000 n 
+0005334695 00000 n 
+0005334988 00000 n 
+0005335284 00000 n 
+0005335569 00000 n 
+0005335843 00000 n 
+0005336083 00000 n 
+0005336277 00000 n 
+0005336470 00000 n 
+0005336664 00000 n 
+0005336857 00000 n 
+0005337051 00000 n 
+0005337244 00000 n 
+0005337438 00000 n 
+0005337631 00000 n 
+0005337825 00000 n 
+0005338017 00000 n 
+0005338209 00000 n 
+0005338403 00000 n 
+0005338596 00000 n 
+0005338790 00000 n 
+0005338983 00000 n 
+0005339177 00000 n 
+0005339370 00000 n 
+0005339564 00000 n 
+0005339755 00000 n 
+0005339949 00000 n 
+0005340142 00000 n 
+0005340336 00000 n 
+0005340528 00000 n 
+0005340720 00000 n 
+0005340914 00000 n 
+0005341107 00000 n 
+0005341301 00000 n 
+0005341494 00000 n 
+0005341688 00000 n 
+0005341881 00000 n 
+0005342075 00000 n 
+0005342268 00000 n 
+0005342462 00000 n 
+0005342654 00000 n 
+0005342846 00000 n 
+0005343040 00000 n 
+0005343230 00000 n 
+0005343424 00000 n 
+0005343617 00000 n 
+0005343811 00000 n 
+0005344004 00000 n 
+0005344198 00000 n 
+0005344391 00000 n 
+0005344585 00000 n 
+0005344778 00000 n 
+0005344972 00000 n 
+0005345164 00000 n 
+0005345356 00000 n 
+0005345550 00000 n 
+0005345743 00000 n 
+0005345937 00000 n 
+0005346130 00000 n 
+0005346324 00000 n 
+0005346517 00000 n 
+0005346714 00000 n 
+0005346909 00000 n 
+0005347109 00000 n 
+0005347307 00000 n 
+0005347507 00000 n 
+0005347704 00000 n 
+0005347901 00000 n 
+0005348101 00000 n 
+0005348299 00000 n 
+0005348499 00000 n 
+0005348697 00000 n 
+0005348897 00000 n 
+0005349095 00000 n 
+0005349295 00000 n 
+0005349493 00000 n 
+0005349693 00000 n 
+0005349890 00000 n 
+0005350087 00000 n 
+0005350287 00000 n 
+0005350481 00000 n 
+0005350681 00000 n 
+0005350879 00000 n 
+0005351079 00000 n 
+0005351277 00000 n 
+0005351477 00000 n 
+0005351675 00000 n 
+0005351875 00000 n 
+0005352073 00000 n 
+0005352273 00000 n 
+0005352470 00000 n 
+0005352667 00000 n 
+0005352867 00000 n 
+0005353065 00000 n 
+0005353265 00000 n 
+0005353463 00000 n 
+0005353663 00000 n 
+0005353861 00000 n 
+0005354061 00000 n 
+0005354256 00000 n 
+0005354456 00000 n 
+0005354654 00000 n 
+0005354854 00000 n 
+0005355051 00000 n 
+0005355248 00000 n 
+0005355448 00000 n 
+0005355646 00000 n 
+0005355846 00000 n 
+0005356044 00000 n 
+0005356244 00000 n 
+0005356442 00000 n 
+0005356642 00000 n 
+0005356840 00000 n 
+0005357040 00000 n 
+0005357237 00000 n 
+0005357434 00000 n 
+0005357634 00000 n 
+0005357828 00000 n 
+0005358028 00000 n 
+0005358226 00000 n 
+0005358426 00000 n 
+0005358624 00000 n 
+0005358824 00000 n 
+0005359022 00000 n 
+0005359222 00000 n 
+0005359420 00000 n 
+0005359620 00000 n 
+0005359817 00000 n 
+0005360014 00000 n 
+0005360214 00000 n 
+0005360412 00000 n 
+0005360612 00000 n 
+0005360810 00000 n 
+0005361010 00000 n 
+0005361208 00000 n 
+0005361408 00000 n 
+0005361603 00000 n 
+0005361803 00000 n 
+0005362001 00000 n 
+0005362201 00000 n 
+0005362398 00000 n 
+0005362595 00000 n 
+0005362795 00000 n 
+0005362993 00000 n 
+0005363193 00000 n 
+0005363391 00000 n 
+0005363591 00000 n 
+0005363789 00000 n 
+0005363989 00000 n 
+0005364187 00000 n 
+0005364387 00000 n 
+0005364584 00000 n 
+0005364781 00000 n 
+0005364981 00000 n 
+0005365175 00000 n 
+0005365375 00000 n 
+0005365573 00000 n 
+0005365773 00000 n 
+0005365971 00000 n 
+0005366171 00000 n 
+0005366369 00000 n 
+0005366569 00000 n 
+0005366767 00000 n 
+0005366933 00000 n 
+0005367128 00000 n 
+0005367391 00000 n 
+0005367654 00000 n 
+0005367927 00000 n 
+0005368194 00000 n 
+0005368445 00000 n 
+0005368696 00000 n 
+0005368971 00000 n 
+0005369256 00000 n 
+0005369529 00000 n 
+0005369804 00000 n 
+0005370079 00000 n 
+0005370333 00000 n 
+0005370624 00000 n 
+0005370905 00000 n 
+0005371178 00000 n 
+0005371470 00000 n 
+0005371770 00000 n 
+0005372043 00000 n 
+0005372341 00000 n 
+0005372640 00000 n 
+0005372933 00000 n 
+0005373227 00000 n 
+0005373501 00000 n 
+0005373772 00000 n 
+0005374035 00000 n 
+0005374270 00000 n 
+0005374527 00000 n 
+0005374810 00000 n 
+0005375085 00000 n 
+0005375349 00000 n 
+0005375602 00000 n 
+0005375855 00000 n 
+0005376149 00000 n 
+0005376482 00000 n 
+0005376754 00000 n 
+0005377020 00000 n 
+0005377301 00000 n 
+0005377582 00000 n 
+0005377857 00000 n 
+0005378126 00000 n 
+0005378395 00000 n 
+0005378695 00000 n 
+0005378999 00000 n 
+0005379276 00000 n 
+0005379553 00000 n 
+0005379830 00000 n 
+0005380103 00000 n 
+0005380405 00000 n 
+0005380702 00000 n 
+0005381002 00000 n 
+0005381289 00000 n 
+0005381588 00000 n 
+0005381887 00000 n 
+0005382177 00000 n 
+0005382458 00000 n 
+0005382740 00000 n 
+0005383014 00000 n 
+0005383279 00000 n 
+0005383544 00000 n 
+0005383807 00000 n 
+0005384068 00000 n 
+0005384358 00000 n 
+0005384654 00000 n 
+0005384906 00000 n 
+0005385171 00000 n 
+0005385470 00000 n 
+0005385689 00000 n 
+0005385826 00000 n 
+0005385959 00000 n 
+0005386152 00000 n 
+0005386308 00000 n 
+0005386457 00000 n 
+0005386602 00000 n 
+0005386832 00000 n 
+0005387050 00000 n 
+0005387175 00000 n 
+0005387300 00000 n 
+0005387425 00000 n 
+0005387550 00000 n 
+0005387675 00000 n 
+0005387799 00000 n 
+0005387923 00000 n 
+0005388048 00000 n 
+0005388173 00000 n 
+0005388298 00000 n 
+0005388423 00000 n 
+0005388548 00000 n 
+0005388673 00000 n 
+0005388797 00000 n 
+0005388922 00000 n 
+0005389046 00000 n 
+0005389181 00000 n 
+0005389330 00000 n 
+0005389479 00000 n 
+0005389626 00000 n 
+0005389772 00000 n 
+0005389919 00000 n 
+0005390067 00000 n 
+0005390214 00000 n 
+0005390361 00000 n 
+0005390508 00000 n 
+0005390654 00000 n 
+0005390802 00000 n 
+0005390951 00000 n 
+0005391099 00000 n 
+0005391247 00000 n 
+0005391394 00000 n 
+0005391542 00000 n 
+0005391691 00000 n 
+0005391840 00000 n 
+0005391988 00000 n 
+0005392137 00000 n 
+0005392284 00000 n 
+0005392432 00000 n 
+0005392580 00000 n 
+0005392728 00000 n 
+0005392875 00000 n 
+0005393023 00000 n 
+0005393171 00000 n 
+0005393320 00000 n 
+0005393467 00000 n 
+0005393613 00000 n 
+0005393759 00000 n 
+0005393906 00000 n 
+0005394054 00000 n 
+0005394202 00000 n 
+0005394349 00000 n 
+0005394493 00000 n 
+0005394636 00000 n 
+0005394774 00000 n 
+0005394907 00000 n 
+0005395039 00000 n 
+0005395172 00000 n 
+0005395305 00000 n 
+0005395438 00000 n 
+0005395570 00000 n 
+0005395701 00000 n 
+0005395835 00000 n 
+0005395975 00000 n 
+0005396116 00000 n 
+0005396257 00000 n 
+0005396402 00000 n 
+0005396550 00000 n 
+0005396699 00000 n 
+0005396850 00000 n 
+0005397001 00000 n 
+0005397152 00000 n 
+0005397303 00000 n 
+0005397454 00000 n 
+0005397603 00000 n 
+0005397740 00000 n 
+0005397867 00000 n 
+0005397994 00000 n 
+0005398121 00000 n 
+0005398247 00000 n 
+0005398374 00000 n 
+0005398501 00000 n 
+0005398628 00000 n 
+0005398754 00000 n 
+0005398881 00000 n 
+0005399008 00000 n 
+0005399135 00000 n 
+0005399261 00000 n 
+0005399388 00000 n 
+0005399515 00000 n 
+0005399642 00000 n 
+0005399769 00000 n 
+0005399896 00000 n 
+0005400023 00000 n 
+0005400150 00000 n 
+0005400277 00000 n 
+0005400404 00000 n 
+0005400531 00000 n 
+0005400658 00000 n 
+0005400784 00000 n 
+0005400911 00000 n 
+0005401007 00000 n 
+0005401196 00000 n 
+0005401459 00000 n 
+0005401737 00000 n 
+0005402017 00000 n 
+0005402294 00000 n 
+0005402538 00000 n 
+0005402798 00000 n 
+0005403067 00000 n 
+0005403384 00000 n 
+0005403666 00000 n 
+0005403948 00000 n 
+0005404188 00000 n 
+0005404315 00000 n 
+0005404440 00000 n 
+0005404564 00000 n 
+0005404700 00000 n 
+0005404847 00000 n 
+0005404993 00000 n 
+0005405140 00000 n 
+0005405288 00000 n 
+0005405437 00000 n 
+0005405578 00000 n 
+0005405710 00000 n 
+0005405849 00000 n 
+0005405998 00000 n 
+0005406137 00000 n 
+0005406264 00000 n 
+0005406391 00000 n 
+0005406518 00000 n 
+0005406624 00000 n 
+0005406794 00000 n 
+0005407010 00000 n 
+0005407148 00000 n 
+0005407295 00000 n 
+0005407431 00000 n 
+0005407547 00000 n 
+0005407589 00000 n 
+0005407774 00000 n 
+trailer
+<< /Size 21344
+/Root 21342 0 R
+/Info 21343 0 R
+/ID [<9ECED437ABB04C9C3DEE03769AAED80B> <9ECED437ABB04C9C3DEE03769AAED80B>] >>
+startxref
+5408102
+%%EOF
diff --git a/doc/ppl-user-1.0.ps.gz b/doc/ppl-user-1.0.ps.gz
new file mode 100644
index 0000000..0527884
Binary files /dev/null and b/doc/ppl-user-1.0.ps.gz differ
diff --git a/doc/ppl-user-c-interface-0.11.2-html.tar.gz b/doc/ppl-user-c-interface-0.11.2-html.tar.gz
deleted file mode 100644
index 69daefd..0000000
Binary files a/doc/ppl-user-c-interface-0.11.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-0.11.2.pdf b/doc/ppl-user-c-interface-0.11.2.pdf
deleted file mode 100644
index bc57130..0000000
--- a/doc/ppl-user-c-interface-0.11.2.pdf
+++ /dev/null
@@ -1,26761 +0,0 @@
-%PDF-1.4
-%����
-1 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-4 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-5 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-8 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-12 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-13 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-16 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-17 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-21 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-24 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-25 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-28 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-29 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-32 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-33 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-36 0 obj
-(\376\377\000C\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.6.2) >>
-endobj
-40 0 obj
-(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000I\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000i\000n\000a\000l\000i\000z\000a\000t\000i\000o\000n)
-endobj
-41 0 obj
-<< /S /GoTo /D (subsection.6.3) >>
-endobj
-44 0 obj
-(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.6.4) >>
-endobj
-48 0 obj
-(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.6.5) >>
-endobj
-52 0 obj
-(\376\377\000H\000a\000n\000d\000l\000i\000n\000g)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.6.6) >>
-endobj
-56 0 obj
-(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000D\000a\000t\000a\000t\000y\000p\000e\000s)
-endobj
-57 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-60 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-61 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-64 0 obj
-(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-65 0 obj
-<< /S /GoTo /D (subsection.7.2) >>
-endobj
-68 0 obj
-(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-69 0 obj
-<< /S /GoTo /D (subsection.7.3) >>
-endobj
-72 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (subsection.7.4) >>
-endobj
-76 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-77 0 obj
-<< /S /GoTo /D (subsection.7.5) >>
-endobj
-80 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-81 0 obj
-<< /S /GoTo /D (subsection.7.6) >>
-endobj
-84 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-85 0 obj
-<< /S /GoTo /D (subsection.7.7) >>
-endobj
-88 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-89 0 obj
-<< /S /GoTo /D (subsection.7.8) >>
-endobj
-92 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-93 0 obj
-<< /S /GoTo /D (subsection.7.9) >>
-endobj
-96 0 obj
-(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-97 0 obj
-<< /S /GoTo /D (subsection.7.10) >>
-endobj
-100 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-101 0 obj
-<< /S /GoTo /D (subsection.7.11) >>
-endobj
-104 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-105 0 obj
-<< /S /GoTo /D (subsection.7.12) >>
-endobj
-108 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-109 0 obj
-<< /S /GoTo /D (subsection.7.13) >>
-endobj
-112 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-113 0 obj
-<< /S /GoTo /D (subsection.7.14) >>
-endobj
-116 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-117 0 obj
-<< /S /GoTo /D (subsection.7.15) >>
-endobj
-120 0 obj
-(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.7.16) >>
-endobj
-124 0 obj
-(\376\377\000p\000p\000l\000\137\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.7.17) >>
-endobj
-128 0 obj
-(\376\377\000p\000p\000l\000\137\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (subsection.7.18) >>
-endobj
-132 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-133 0 obj
-<< /S /GoTo /D (subsection.7.19) >>
-endobj
-136 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-137 0 obj
-<< /S /GoTo /D (subsection.7.20) >>
-endobj
-140 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-141 0 obj
-<< /S /GoTo /D (subsection.7.21) >>
-endobj
-144 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-145 0 obj
-<< /S /GoTo /D (subsection.7.22) >>
-endobj
-148 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-149 0 obj
-<< /S /GoTo /D (subsection.7.23) >>
-endobj
-152 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-153 0 obj
-<< /S /GoTo /D (subsection.7.24) >>
-endobj
-156 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-157 0 obj
-<< /S /GoTo /D (subsection.7.25) >>
-endobj
-160 0 obj
-(\376\377\000p\000p\000l\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-161 0 obj
-<< /S /GoTo /D [162 0 R  /Fit ] >>
-endobj
-164 0 obj <<
-/Length 1142      
-/Filter /FlateDecode
->>
-stream
-x��VIw�6��W��W��Bpi/q��N�>ג{h�DC.
-Ֆ}�6���	��|���@}�W�?NG�/D�h�	��-
-L�
�i�Y���=�M�*
3A����H�F�mWo��^��U5�Ro��ψe�H(3�
�{3�AL���\���Qz
S�Ry���w��?�BD�׺��Z�V��㈂�� �9C)fIP���E���)��
�rLS����S��Z�G0 at 0��{C�
�
-4�	)�fn��Ҧ��墕&������9�<a(��o7C�,ē�����0�*���k����z ,��Ux
O�X�4=�:oU��S�c&"��V��-0!�#Z��P@?+�瘉 u�fzm�����]Xꂿ�������’ �
-�I9N9Ge3��{8��P�у�j@����`]���w� V�g�|+&�О$���xpNٶQ*[���
lx:���2
ϔ���h%��7��_�V�6�>m~�EQDwmeC��F仹�ߵ�5����*X-+՚
-�g�?ѪWR�����V��W��5���)��U��d�߬��;�?OV���N�Бf9v�;����ɶ�T#MU�`(�9�>����d
-K���p�8�8'���tN����n�e�eN��</�-j%fy2덖�
��e��q�C��!>�����w�'�
��z��Y)+/�ɦ7��}0{zڵFw����l^��I+�M_탓��P^,�K�"�A�����u�(f$�*�wm�.���[ך���9�^‹h���e��*�>�<�N�E�+��D�Ȏ;�<m���}H^`�������6U�L]�9n�
���Z�#�>8�apr�c�
o���?bJ)��a�L�k-h&�Si�Ϟ�۴g��e�^��I��2���e��BL�j�z�[�p�����������8�2�+�YtGgP!U������lN��q�J��?�E{��$���A~R]���Y�?q�e�K���wĶ�w�O0�,(���LƉ
�).��o�~�
s�Mc�f���P�x�V+m�$�LxOΔ
��j�y�YWArp
h��p��4@(Nl��8�i���� ��,�M�PB��Z��
�����Fw�u��W��~#�+ku+�}��o��Ӌo [...]
-endstream
-endobj
-162 0 obj <<
-/Type /Page
-/Contents 164 0 R
-/Resources 163 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
->> endobj
-165 0 obj <<
-/D [162 0 R /XYZ 89 770.89 null]
->> endobj
-166 0 obj <<
-/D [162 0 R /XYZ 90 721.073 null]
->> endobj
-163 0 obj <<
-/Font << /F56 167 0 R /F23 168 0 R /F40 169 0 R /F41 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-199 0 obj <<
-/Length 1863      
-/Filter /FlateDecode
->>
-stream
-x��Yms�6��_�oG�D4 ���TV�D���$�:���%H�"U�:���o�
R$%ײ{s�L��b��<�%���ƴ���y���cZ`�p��J
��ف�P[j��ᇛ��f>3~���ق�‚�eS���h����A�4N�
��Ŷ���-A���L+�Ri
���6���ǚ
q��B879W�Hwg�c�7���?
�SI0�?
�
-�I��̊�*��:	�P�b�'�����'�.3
G7���Yn�i}�i��&ʩ�2]�2Q+X�|�E�R5I���
=̶j�I?n�Z�ut����a9�����M=��6��(M��%��
��:
�B.��u�(
-�H���o at d��2�
X���B�Z�,/Ҍ��t�
�\l�������Rf����u)�t�j��ۛ[�\eR֛�f�M����r_�
-d��7Xs��s]fy��MAM�p�	��*qXH%���=w��8�7h+�ޫ.�Z�/�q�E�J?��O�J���4KW��6̔�
-�I�2���
�;*��CTlN�?A`��>N
����%
-KX�x&8h���Z�*K��?Lqf�Klp���1]��7�h0�N}=t5�T�\��/�cx�1��4�6�q at M5�ʁ��(%�C!&�Q��	~�E�_��O�>J:t�i�TXDEL�B�
Kݓ�U���f.��j���1�X���`h�	�#��1�K*���煮Ʋ=o �m� �tOZ�0�B&�؇��Yh7X�h�X�Պ*�يu6;�� ��q��*�O�

t�����9	�dqI?GPQ.�N
�`۳d�J 
�QtH
cZ$'�
-|�6F��TÂT�-�)�;\
�]t�}�'�KOP�X
-������Z���;p�ʼ(-�ߊ�
-���>+"��D�NoG7����Ԇ'���㡢�x8���^F	aD	a�Dt��T�	5��@�Iw���A��$Q
S�^i�s���o����������sR�|TR���`:
��?�(eS�M���,939E
)��vGD [W8����$AG?����F ��
_���BF߫��f4��ʇ)��2S�e�|<��
����t�a62i��TkR�뺴��)ݨHވ}eeEg'��LVLFq~���ڬ��i�����_�}�j��`��y�_��Q!�k��=B�ŊF��-f�����2]O�gS��..


�*��b��/Z�1�M�v֯G�|�w��ȟ e'��
-�
,6�9�1����pRm�9�lU�͟� �Jgq|�ԅ��|���@�>
�Ĭ�=�՝�*3����d�&??w^�2f���j�1
��umi���j[zOz��҇_�V��Y�Щfͻ{��	X찿���u�X�
`D�����
l�
Gd�y����S�1�5���]z����7@��
��*�=W��y��l�׻�(p��z���'$���LX
�G����8��$t�����c�DE�ѿ�F�%���*|����{Ү��v��m)�v�q ���%�#H��[�{����r�(˪D�
`9>ၯ�G�;�Q�x����K�@P_����S�����ݩ|�[�z�	�!���M�,���%^��)vzu*���w���>3&�ܩ��p+!
���_�2YȻE���]��H��"\����!J�d����g��CGvg�a���#��|���v�1�ω�S��^8�:�A�
S�‹E�`�u&s}�
'�j����;.�:���z#�N��7bB�7n�-�u�h��5#�
>T�����a�u ��e�7|'Ω��0ٗ7iІ�
�
2�sSл.)���}�
���<�Kؾ�Duq��e�8
b��w�t�

S����ƅmۍ�� MTG
-endstream
-endobj
-198 0 obj <<
-/Type /Page
-/Contents 199 0 R
-/Resources 197 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
-/Annots [ 172 0 R 173 0 R 174 0 R 175 0 R 202 0 R 176 0 R 177 0 R 178 0 R 179 0 R 180 0 R 181 0 R 182 0 R 183 0 R 184 0 R 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R 191 0 R 192 0 R 193 0 R 194 0 R 196 0 R ]
->> endobj
-172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 660.753 490.947 671.657]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 638.9 322.585 647.747]
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 607.263 337.877 618.167]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 595.308 513.996 606.212]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 585.41 169.87 594.257]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 501.143 383.194 511.04]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 433.858 151.499 444.737]
-/A << /S /GoTo /D (section.1) >>
->> endobj
-178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 408.174 229.087 417.15]
-/A << /S /GoTo /D (section.2) >>
->> endobj
-179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 380.587 252.131 389.563]
-/A << /S /GoTo /D (section.3) >>
->> endobj
-180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 353 165.446 361.976]
-/A << /S /GoTo /D (section.4) >>
->> endobj
-181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 335.395 163.723 344.242]
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 307.788 155.484 316.764]
-/A << /S /GoTo /D (section.5) >>
->> endobj
-183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 290.184 168.435 299.03]
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 262.577 206.393 271.553]
-/A << /S /GoTo /D (section.6) >>
->> endobj
-185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 242.915 215.06 253.819]
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 225.291 279.109 236.195]
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 207.666 199.967 218.57]
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 190.042 189.447 200.946]
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 172.418 165.935 183.322]
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 154.793 201.063 165.697]
-/A << /S /GoTo /D (subsection.6.6) >>
->> endobj
-191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 129.244 196.43 138.22]
-/A << /S /GoTo /D (section.7) >>
->> endobj
-192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 109.582 428.497 120.486]
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 91.958 325.574 102.861]
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 74.333 288.404 85.237]
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-200 0 obj <<
-/D [198 0 R /XYZ 89 770.89 null]
->> endobj
-204 0 obj <<
-/D [198 0 R /XYZ 90 454.329 null]
->> endobj
-197 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-231 0 obj <<
-/Length 2260      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�F~ׯ@�>,X1Gs��nmU�ͦ��S�HyrR*�X� �ò���L7@���R֖���su}L��Y:���������܉Y
���Z81wB/f~ ��y��\��}��%R3��d�g�_��x"b\İ
��W'�O�#p=�����O��Ν
�?9��8rn��I�¹<��	'�pz��u~!a�`GX�={�
-��@B��悃��Mq}V�˺�e��/�V��Ӫl���u�V�u�,Q��X
�\����^��̵j��9o�~�l6�9������~B�X*���߹Y �
	�Q$�T=|v՟��c���
-��C
��(�d(??VSq|
�x��c8���D�>g,z����s�O$z�#�_�G
DNL���0rGA��LOMvD�aA��G]R>c`��|��O�C<�Ǒ ������pG!�����#�3��j�:�������A9�<ݩ�?���)ܟ1�������ȚU���;��b��u^ꤾ����M�W呞�@���8
�Ƚ9�����wű��Ve3�?��.�-���?u�[���ʎ�wQ�r�.8"��cȞ�t��J��`��J�1��UѵO��W/���_�Cv5S�[k��b/x�gm0���;ׅ�
-n�n��I߽յi�A��[�O|�����6��G�����t���������7I�#m��~]�ȴ�.$OT=V_��8
��AJxL���#�\�#�\E,��,%8�]j��!x
-�~W0E(�]��t3�	
}
v�Zg:CzQ�8�k�r9��܋�׳X������3���L
-�߸��Z���������]U4���H��	�q��=��	���(tHĤ��
h3/ W[tej�����]k�DZ�N[�Wd�/��J'�����sY���}s
B�a��g
:e��{�E�����{�ʛ�
�z ��*OW$�g�ɗe/k[����Y�7��[��ο����"2�<fJ".�0-�ߵ�,u���Zo��6�
 SY780>��ѯu��7{k}��mVUWРw�y�
8
� �����w�sE�y�DS��SW� 8�`9���B�
-�
n���0�������	Y
rч���Rf6 �NN�bO���|�0��Ak���8v at VY?��Z
�����YB�8��j�z;��V�J6�q�}%kF+
u>��{,��1N/#��"�V:����U�n7�N
�����\�d�"W'�q�H��CI�@(g�6Y%_Аv<�3�~�+ 0��V��&%���� g��ڿNn�h�x���J�3hWɦǰt�vS�?�)�K,5f3��K�!�&��T�����:_�Z�m
-�
�Gʰ-2�i�0
���l��kV���Z�xȲ���v��
��	ç��7��A�����]�ɚ���O��;k;�C�[���s����
��`#�\���P<��<к)�`k�y
�F#��̜�v���;� 1dF��� p
*$`��&�PJ"t���;*""��F���O^�q>��UV-f�n
-D��'�m"H�h�o[
-��&� �.���ImO<���} SPZfN+tM�ޑ�UIk٨� 	)Y
�c9�FPHpx�~����
����5fB�q�e}<�.�3P�C�j�߶�W0�~�
-&�j�)�)		
^�(�F���C  �ꀶ
����
M�٭Ь>C��q��[k�����ӤO_�����rl�Q)vW*�g�)��L�#�}H�?V��c=yD���l������
Il�6�8�<28s`0��̀�����t�)��aw���	p�h�q��N�ȇ9?�p�������&
����y�S�
RLe����Aϳ�[�V�X��Un�֎!�N,�'/э.��� Cu�ޛ��.�M2M���בF��2��ز!�A%Fi/�i(`��
d>�<
��U�g����D�~�������5-2)��q��d�񉛔Ȳ��MQ�*Iɷ+�B%E���މf�D@�b{�B�N�H$3�
-A�g�ږΦ�N�|�`{Xq�;f. PM[wi
�.�#�q�e��
-f^j�g/T�xB�7}�2������R��������Bџ3���0~�y�R��kR����X��!���C
	�3
�:)���-[�������9�`›���+��b�^76C&���I<+ |=�R�7
D�����b��� A
!�j�ͷ�����,mX�YޞB�;���`���ˏ�Q�3��+[�(s� smÕ�����9(
-endstream
-endobj
-230 0 obj <<
-/Type /Page
-/Contents 231 0 R
-/Resources 229 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
-/Annots [ 195 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R ]
->> endobj
-195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 707.957 386.605 718.861]
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 690.333 326.84 701.237]
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 672.708 292.519 683.612]
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 655.084 379.98 665.988]
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 637.46 320.214 648.364]
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 619.835 285.894 630.739]
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 602.211 378.296 613.115]
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-213 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 584.587 318.531 595.49]
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 566.962 284.21 577.866]
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 549.338 401.539 560.242]
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 531.713 341.774 542.617]
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 514.089 307.453 524.993]
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 496.465 319.637 507.369]
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 478.84 300.838 489.744]
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 461.216 325.734 472.12]
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 443.592 297.52 454.496]
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 425.967 324.09 436.871]
-/A << /S /GoTo /D (subsection.7.20) >>
->> endobj
-223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 408.343 308.22 419.247]
-/A << /S /GoTo /D (subsection.7.21) >>
->> endobj
-224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 390.718 440.054 401.622]
-/A << /S /GoTo /D (subsection.7.22) >>
->> endobj
-225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 373.094 414.042 383.998]
-/A << /S /GoTo /D (subsection.7.23) >>
->> endobj
-226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 355.47 380.289 366.374]
-/A << /S /GoTo /D (subsection.7.24) >>
->> endobj
-227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 337.845 290.317 348.749]
-/A << /S /GoTo /D (subsection.7.25) >>
->> endobj
-228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-232 0 obj <<
-/D [230 0 R /XYZ 89 770.89 null]
->> endobj
-2 0 obj <<
-/D [230 0 R /XYZ 90 323.63 null]
->> endobj
-233 0 obj <<
-/D [230 0 R /XYZ 90 288.961 null]
->> endobj
-229 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F23 168 0 R /F79 234 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-242 0 obj <<
-/Length 3569      
-/Filter /FlateDecode
->>
-stream
-xڝZYs�6~ׯ�J����&�۵yp\�W���d�)5�F�9��e��nt��)ŕ�w�_7��
6���ُ�g�J�M.�D&���M�o�(q_��7On�|�	�Lys,���7���\�Ǿ��g���o�
�4��g���oJ ���"̳ͭ
t�D2��j����g��$q�8I� �=�ө���ӵi�;�E^Y�o虺c�:)S�6D�n5��Tc�����E����������=-�

��o
-s`�uS�ըJ46�zF���G@ɥW�ِ��f���.�{I
�b�
{��m�{�~ m#�����W4�0]K�}a�q��"uS����ܨ�G\J�D�M��;��jy����-��d�
-ډj�1;_�0KDYFwzSwj1g&� ��2�ǒ�<���.�rܚ>��6l�^�4mN}G͢��w��8����T��+�x�-;��,���;)
޶0���)x����L�
W6��<�}�p
��U���a(R��v`�
SO]�����AN���|**]R���5�?Ծ���<������#����6�����ڴ]a�
-�U�����u��>��d�{c�M����㩑�t[99������4�~?�,�va�Cșo�i^�_|�h�J
?��/
Dgn�[m�%I<�W�|B���R��?�NV'�X�wj����W�-�
����4��?ū\���

���J
ģ���3�@6u�az�a���x*�0���i�	���STA�K>l�)
���:
>3O_��=2[��L>�y��H�
Λ���ѕr�P�s���%f��M	NїF����"
Bp ��$+å]=�V��w�c�

)
�gԳ��cm�&rC�uu0�
-�cl  �cEw�\�~4��q�5�L�0�
--M�*�>�48��o;>�"F�
"'l:���*W��LD�
�~��kr(l|�o�<�Y�;j�p׆��<b\
3r
-����
-#�vf1�9��(�Yf���iy�O�3F��f�j뾁��ӫ���ti�
-p#K�9WH��׀��qKg���/
���L����'�4��cg�N���d=v/��s�;�B
b	q�fee�
j�*o՘\j��,|�٧�B4�з�<s�J6���t��
-���Q��%�N/W��B����Nƞ$
s�Ĩ*��aĸ����q��\5����`��6l��F{S�UI�(���fY� #jS�-VB怿+��
D5-l�>�%�g�^/&ꌽ�ۋ���G.�Ĺ�}�.��� ���mY��ƕb�%"��
;��IWj��#�[��-�kڊ�r훚;��~}�����7^?}��ݣ��YD�A�op�N&���������
�b�/����r���S�}{����
9g{���v+l�&���^� �
-��k3�v���l��)��u�L�QЇu�SC"��S�	b"���i9�O�8�*�Ų�L��
�O��ܤ"O� M
-� %|1�E���+"$�?ЯO?�}�2eI��O�"�o�
p0l~cy��ONu�N"��w]C������
�mԟ�nT�͊p�{��+ŧ
ƍ{6Sy�'d
�$0��F���L��!HHN0�p�m4G��i���t*�N���h��
�R�oEy�nj�(
:o!$�Ѻ�I�^y�[KNLq�{4�\��렊š��7����J�B��6X �
�c}:���ס��
�H��0&u_����,��~�2� �"	�)��;��#�I�lqk�k�Z�ځ�>`
��"���NF�+
-,�'@
�m`��J��E�H�rd��DG���C�л��"����+�$��W��R!�njT�O���-�J9����V� ��)�$�u�7��N�Ř�m
��4m׌]��
-�r\��l'���;�
s^��S벂�%�g׺*�Qk�'
�:�U��nIBA?�mR�vpF�G��FF�
I�T�ℎ)]�E&hx2�� L��ɠY;�
�f�&"tv?�
�%�נ����L��M�!	��� rI �@D����gԳ@�H�\
-ǠW#U2B��"��
붇���Z�O�
Sg����(���d!���C�q�
�O6�b�	�$��DY��ׁ�
��Ӭ�%� �I
8�
!��ͽ��!��p���x��y�־�٭_�������况r?�����p������4~`�Q3'W
��TH`�
�ED�ޱ�����/F�Uz����޵�:�p��8�á�xemQl�(h��Yd�"u��U�iW� 
-
-H���p���22#��j�h\�>�/�cqO$�D��%��xL�lB�.cQ����pN�
�	�C2$�Y/�8�
�(F�c�t��h>���A�w��DM'���5�����Q���ĕ����u��!N�qȁ��h--�4�
H�CZwu�P�c�㑇4����'�-���b�

���B��cŶ�HEzO�؃��h
��bJ���86-����o��A
�[X��g�o[W���
-� ��Վ�i�(#E���so��i$�(^g����zY4<��8��#�܌��\�*:B2o����@�r7��r��^*��Z����wjt�1�>�w3�~�o�o3��c1Vv�V��=��v�֔6�����|��k��

�³���*�I*� �c��n�)���b=����
-�ުJq�
;�
-��t{Du�� �;��UG�I�q�ҥ`oY���G1.��E}��u�nϮ+��K�պ[S�]�2�*R�v����^W
���3|Xŗӏ���l1�L�� �W�����'�"�(D�9�v���t5\鬷�5���8���������-`�Φ���jp���nd
-a�XB�0
JT)��n�8��H��J��;��
�!�������*1dI�U�0
\�>V4n�f Q���]��u9�m3`\����N��6�d�tĥ"Z.F9[P�;�<���l�M[�}ճ_R�,�?�k}��*��w�,��	 TuQ�r��y���*��Z[#���z�.��������|��;2D�X�2p.�#���H>���<�F��(ָ�l�=-�_�{K��
��Q}��D��o:�}π0"�0"/��T�Fc���Zt
���ͤt9Bݬ9� I8 �R�}�p�:�u�x�� �z䫍u��UB��k�!�Ԙ���r����9o�n��摈tL�^�� `
`&��$��0F���C��A��G
��x
@��n�يd�.
�pe<[l�m4DdC�_ǟ	�>gzݔn��S���4�g��S`�m(���
�'K9��V%Si�1��ū���
��Y�� ��^����e���c)>Vf����?�%��=,��}�܊��-�D^0
-�������=�9��M���?	�D2Rs!]� ����ݝ`�
eTS�#�EU�rh���+Ӫ{�7 ��aȯ� ��L
١ʜ~_��+#��ә
���ϓ�k�,��$�R0g��T��8Ϧ��!�
z�;ڨ$�����QeSP�1-��t�0��8���ū
�~i'�Lx]��22�jӼ�Dp��q�w,����x/�
-/7]wz�����ط�7��ݡ{�������n�^��ٽ�HB9
�b)��Z�I�
-endstream
-endobj
-241 0 obj <<
-/Type /Page
-/Contents 242 0 R
-/Resources 240 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
-/Annots [ 235 0 R 236 0 R 237 0 R 239 0 R ]
->> endobj
-235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [197.068 230.888 240.904 241.792]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
->> endobj
-236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [103.669 195.645 231.19 205.927]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
->> endobj
-237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [361.468 153.488 387.371 164.392]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
->> endobj
-239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-243 0 obj <<
-/D [241 0 R /XYZ 89 770.89 null]
->> endobj
-6 0 obj <<
-/D [241 0 R /XYZ 90 126.867 null]
->> endobj
-244 0 obj <<
-/D [241 0 R /XYZ 90 94.939 null]
->> endobj
-206 0 obj <<
-/D [241 0 R /XYZ 90 94.939 null]
->> endobj
-240 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-248 0 obj <<
-/Length 3054      
-/Filter /FlateDecode
->>
-stream
-xڕ�r�6���m�*[�SgOɼj���ٵS��L	I(��B����� �w��4�F���:��Շ�o�ߧ�*�d�p�z<�2���&�¬\���0���hD�W4���+Y���,D�Lv�x�E���y�x��M G���H'�t�*��~�W%�Z��(ۭ.�^�a�����_7���d;�26A at L�Q�u�{�V
O
���O�7�'�i��)�޷B��A
�
��[��_�����;��[~l���
��|Z��?Qzሯ��m�dK��Sם_���a���=S�K�ntg���f�D�ݟȑh��A�ē��Y���:Q�S�[�$)ox���k�~
�^�1%&���ք��д�L�dO�����*�Z4
�(�S�)3��9���
w�
�����w��,I肍b}�U��a�]Di�m̒0C�싢M��:�y"��� �4;�7Q���I�}3���:2G?0
6
-+�J
��x�A�4��l�t՝c=ɦ䣌���lR��8���.��쩚ft,
j�;� 1 ��6��m^t�0�w8�[K�����
��O�oɣYщW�\U�l� KUO�����
b4`�4��̓�X@`_;��+#��ks�����OX�8p���S=��[R= eӉ�̉�~�}����|CX�7\0u�7��}a��
�nc�Ze��4-�@B8�����ݝ%]���z{��A���Υ%v�@�3�5cHcf�D�i���G���u��o/����M)��hr��<�FQ�Ъ#a�gV{8��ñ�
N
�Q��# eg~���[�@Ih�K��\a$\�T^iE
�)��x��3��J�VT"ׂ}�����y��egOߝ�����d�!&$��m��Ɔ	#�}k�4���~=	��b ����g�?��/v��Ld��w��Ƕ����m)��BL<�wQ
��s
z4�y_
���eӑ��OC���y
�;��V
���;�8���맼���H�
��#��3��w�Ǜ��6:�Y��K�1�3v����e
E	�
��ޑ� /5<�Ő#���	
.R��(�%�滎1ZQ���]�̨�q�J
Q��apLM��g��5����憡i�2�,��	�^�Y���"ُ���d������73M^�y�Q#�g�Z��q�1���$���숑�N
M�WǞ)x�3�X [...]
-�&bM�!�h�
�h�}��)�����5���:*s�4t�9q�x�cn�(�(�L�/a�Jyp�5���l��6���}�z�I�2#+&5.�֖�#������2��y'����t�K؍z�
�P/�ʼn 9�En�j���,K ��ϬP܂Ŝ�²Ĭ켺7,�ιք����^�6B���($���Y	����X�����;� ��sR��s0`3��>J' {_v27i
��&��}[��f�._� -�@Q f_r#�98Z�>�\=�`��K�=n9��I'�4��
0�P�L��I.=�[/X��Q\�ԙ��WN�\
-�
�\����O4�#L88��E)_dwb:T�-݉�~M=,�ڀ_
 ��
-�����4�8�5/��*G+<(
�&��@[6:�
5�'=��p�
�WF�5��}�y#��?L��{$`��4w}�t����ư�D�x;h���A�`�FɯpͶ?��e�+��:�&NG�'��^�tk�^�Rd;W��Į�!>��J��PúgeaDŽ��J��cn��m��
=p
��^{��f��W4��_�ǨD�������c,����	þ
V~f����C�dg
#`�c�-�a�u���E�
�<�95(i_	.�b�s:{kE�Ȱ��P�P��}��H.�
g�	2��->(��ڟ��/
�b�&��F���j���
- ���T���(�E^�74�hf�
J���Pfu-
!K�B«mMZ����i\/Ĩ�?jE�M�B5�g�G6��=|
�1�w>�����P��:����)�fC
-�e=�!�4D��2���F����5�V
�}c��[�Bh��˂��0$��&�xE���QN�y�*��RQD���X8-�ҁ˕}��@�/)1�)9r�}^��#r�0�|K��r��)��H`����( �i��a���	6h��.-�n:���$A�g�m�=#�).(md�(.� ��u�jܡ�NP�v3<~}d��(��?J3�JxCe�G>�*p7G0�[iw�~>�t�-VI���,=(�L�r�XN!�
-�C|���+A��„��2�|)4�	��)YR�M�� �3	.��w�.�$=B~

m	��xK��Q�=��98�_�4��o���l�x���v�7���+>�%�I�	
-����Ɔ�B5F]�ٴ5/b�FC����E:�2M(f���t��}���nfb���|
�
E��:�*�ڴѸ`��h�s��o�<�T4��޳��}{Vv�UH�-�]
龩��n��Z
�(-�o��>�0�����Ꮢ%m�>7���B�V��v�)��� < �[���H�?�f#�X�~`8�M�%� �%1D��ԯ�Թ���[cp�\ P~,Y����׷3��p��K�s��W?�ڜE��:����x��1=�ɂ����>�P	TȅN���7��86�?@�Z2�R��zG�V-E>,
��
#���{|��h�����͗�o?>~����x��%�[��4t�����}
��q�80��8�v��2�c ��a���c$r6�NM\Eې�)D��N�ANzλJ:?��~�1�1�}	��������+��
��}D� ��P
)M���%d��'�:����}ڞ�O����~��_�aS��k�n�yEy_Q
-y[c9��WU]O�lsZ�$�-�3yC(� �����l���@f�/��^�1�І���6��5�ۧ�@�0ݼ�Mb�Ɨ�[`�#?�����r�z�7��ndw*]�ǁ�H� ��R!Ǐ��0��A6 ��;?��� j(4�
-endstream
-endobj
-247 0 obj <<
-/Type /Page
-/Contents 248 0 R
-/Resources 246 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
-/Annots [ 238 0 R 245 0 R ]
->> endobj
-238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 707.957 388.718 718.861]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-249 0 obj <<
-/D [247 0 R /XYZ 89 770.89 null]
->> endobj
-250 0 obj <<
-/D [247 0 R /XYZ 90 640.748 null]
->> endobj
-251 0 obj <<
-/D [247 0 R /XYZ 90 148.896 null]
->> endobj
-252 0 obj <<
-/D [247 0 R /XYZ 90 124.571 null]
->> endobj
-246 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-256 0 obj <<
-/Length 3075      
-/Filter /FlateDecode
->>
-stream
-xڍɖ���_�[��z4\D��͙g'v�������DB-x���e��S����/M� �P{���������o��K�]v�N�i�|�e�.9f���b��w�����.:�� ;�~���󷟞�p�����
X�w�I�˫���w����(Kw7�T�a�r���NI|ZQ� �;��a�|��wax���S���N_t�����W�� ��!o�}�{�μ\u.�
�M��g��u�낏�u�;Ay5��#o9��E~�}���⨠5����(:�
R�����
����ܽ��
4!D�ҽ���S�\�tnZ��a��Rw
�5M]�}{��bTe���s� �^�1 6�Q�i���L���>�S�
�������\�r-�f�	�J���� g�xv隊GDP��
eY���U�,5�J���^S/�����
:��h:S�,i"�XHGl��]e�
�?≓���HT�	
-����J}e�0&J�k7iT�?T>��=�)�@��0�-�

��0#uD�J�ZxSd����C��;^
,�̘�
Ud6 at 7��J�EQf���Gm-��g�
-�{�I9�ƽ�x�LH��V,z{xf�ux�A��
��� D�ɟ�m��
-�`y�|��Yi��Udv�fʣ0�+q�t%΄
\C!_qp�PI�(0�{�����6:f�،_�t�
˂σ#@�n�Mr��3��-3������뼩
���|#;\\��]���	�
-�o���m��N��&J�R!�7��G&�m+׭��9�K>�!��r

-��WT�8 6A4G��^O^;ey�^۱��? O�,;N�� V��p���r,4
-8��!�y:�{�Cg���v:�ŏ}5�,u3�2���9]��-Μ�"��[�
SJ�DoV�ގg��* ����d_ތ5�m̙l��Ĥ�-+��tY�mC~"��}�dbI>KƟ�LZK�)5 at 8�@�`��iג�2$^�5>�`���'c�P:�#_D�oϵ(
QO� }8~�2����g
������`��~ry]3�,W��Ӭփ}��5��ʽ�g�����&5
����g-(P�mg�<������pAx�[8���Җ���'RԘoZ�fg�2q�G���[2�S3@�e�( ����*gؕ
�xA��
|�d�U�Yp^c��e�bBGT��԰��
.���!xN���� � }A�����#�6J;b�G�_9T�[�+�cKSD��	� ����*�X�;2U�9E'������Y�S
��pgU\����1�Zx��w��
���F�Wwb���$ei���L��`�IrB`�}9�9�ׯ��ʎ
.\�.�႔ ��ъS�rm�2n���ڢ
4b
�	7 �z�`{}
����� �][�Z�M�����%��ʹ��K�*`e]��T~�����

ʦw����8��3�j�\�"�
z�j=V���� �*���49������iO�H5T.W|h
--��,
��Ct���H�t�T8r��p^
�([��.�
 �L7�҂AK�0�nj���a�s����2�n�Dث����`�:�
-y�8����T�S��߹g����:�l
�T,$�4(�A
�|?�a�&q� O	ߵ�H|-�\=g�� �	�G�e(� �_� �5��?�4/P��b:�n�A!�b��.�r"��&	+dc
r�]xDO
��
-ʾ��T
�#��(���R	�岧b�@��Q�hKT���<#�0r�

l��:GWf����i��t�lZ���T�%���+1wK�vb�]����=��4�Nak�
�t
R�:|�5�$� �7$8��
5T�\ ,Yo��Kl�����6Q�W�R�q��)���3��
�L�8q%����
�0
-�,��l�k;AZ�U/\%�w���W�� � �f���;�'�
/ޮ�<�+�Pֈ �� ��%����Л�mabӘ$��8K�@t�
�Q��MM)W"�|9��Ց
'_�؀�,�q�r�$p.÷O��%q'��핦jK)���bp����ҭqS����m���i�@ʚ��t�,�R.cp�5���|��9n���w�T��
-2��)Wm�_thlT�G��~*!�k$`�;�>
L�F��g�8wQB��zLW�-3����\�u�.�
�B�dᦞ�-��V�N����fݢ�m�0�
l�stdJ�|���	f.
w!*��j�Z9��tǦW
-.�w#g[QĪ�7	z Sj�3�
���/�\O�n0��+][M|s�	��ż����S �m���y�9��F�Y��R�
�]Hx�(as9 �%�q
����L�h6�K]�B���l&���Qf#o6���p�u�A6��,2�Eר
z�Wcj�	ʒ
�It0
IK���r���-
�ͮ]��
-;�=q�=>@,�8frqYЂ/7�VggRG"9�px�m=d�-�݂g�h���_`�k�9˺e$?���-t�L7�Bj���3iI`�1��"K�_�P�
s� 
w��\�����w�ص��i��6��=EMRj�r����iI���v:a��V�
Z��#�$�4ƾ/j-��?�'&<��
n�µoC�V��x����j�;��u�D&G�;�����<�q��d�-6=YsJ�yۅf��=�I������������&ǶH��"I@Ev&
�	A`���FH�
_hk�iC��%� FQU\�����'
��^���=���&����e3q�(N*�?td��t�VrW�uLo^jV,��Y&?�qJ��뜨fT��
d��T�)@��[�/0�&w]W	�$n�@O$�y���
nZ��
�:
-ӓ,[׳�4�m�,<]���ߩ(� �+�E�U��_��
�L��d��N`sI\�J�Ü
=
:�fJ��j
x_���i�3��+����0���7
-����"���ڦ�S�05L���zUm������?��!;E�?�*��$J�?��!���
$�>�h�O8
��My��S����Γ��ԩ
\�� �7���B(/ꑺ
�jg?�2�?����K1��=i-��/�ugG���	g|������>���������v���i�
��m����]=N
�i2�E�-L(hD��(L2�Wr�/�1d
-endstream
-endobj
-255 0 obj <<
-/Type /Page
-/Contents 256 0 R
-/Resources 254 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 171 0 R
-/Annots [ 253 0 R ]
->> endobj
-253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-257 0 obj <<
-/D [255 0 R /XYZ 89 770.89 null]
->> endobj
-258 0 obj <<
-/D [255 0 R /XYZ 90 386.351 null]
->> endobj
-254 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-262 0 obj <<
-/Length 2804      
-/Filter /FlateDecode
->>
-stream
-xڍɒ�6��_�������Hŧ�3N%�dzƝIM�9@$$��E���~���
_D�xx�����_�t�������_�6�m�]=
V;�ƻM��Y�����0�~�]�֭*y�8�K�����u�i�dY�y��ϧ_���t��.���U���M�����ß�� �/+��3m�Vq��\���ם�U*�`B�f}����,9����t[��3M�m������A�`�&���%r�
��
O}��c��^<�B�<�OFvL|�D���\�
��,�@����.t�,�W�
��V��,�T]\]jZ���yo�ed�Kf2W��vo�s۬�l
-�3�m��W��M]�
e�kr[�U�G�';�I��u��z��u
1}y��$��m��K3��8ԥ���
���%���w�P�C5UMa��K"8 7�R W3�����C�T
����
V
�YT��[�zϨ����[H�pik��/�(f�IR;�4��
�xd֢@(F��hX�xS���6�Qk���N�u��^w�O��V Z�P�~��]����F$���A�K]
-jQ'�F?B��= red� ��%wn�o�σp
?��`Au���f����Ƴ T*���/ڌ��m(�w
�
�*`�ꂃ
�����(f�C8y"�"��
-{�K7�mV�
��O��
_�yEÀ��-�z
��.H��l�S3�_�d'��m��햄�z���WZ%�t�lx�x���!԰fj�B|�5�K��\��v
lY�_����+���CJLj)���I�RF�=7/X�af�Ia��Bn
��*^�:���
4��B8���
:�чq�i
I���8���V� �8�E
�qr�ܔ�E�]�
�BA��l�D'��k�C��0���Mu�0c��9�Ĝ�:
�3Ӛ�`�f�˷:�
-[�ZT�)��zNp���O&?�P��'X%	���mJ;q|
Y�Y�!
-4�����'&
-�
v�NHľp�m�Lf��S�?GFH5tB�4~����hBDJ=�u�h���'U
H��X�ĩ��0��{Ν0�b!N���]
����A��d���pt
I��
��
�ֈ�O��
l-B�RI���o�.0
}G.� �HVhu�(ԝ̙!b�0���=��޼`��+HL1#70�y(��ܴ�PA}T����R��30�xT^n�=�ɼ��c�k{]rb�
y8��S�
^�X׉��L
|�/|t5ƥ��
�FÀI�[�sܓ�FN�+h�S�e̖W�8Pm7q,�lאk�
/����A %��>Z���
-0~��*��P����!��
�XOԿS����������Z�6� p��p֝(<�p��[h]��g�b�M2�& Q55��xri^1��l�&W��ҪZY
l�qr����v���e�C���,9?�E�b��̕nNjR��{��4��@�
��y���O
]R��ժ���9�#:TC��+���f��"P�gtx�(U;�֦B���hT�
��5����J}<�
�#t�!�P!����'Me�d�(
-_(f"��y����F q	\��pLF {J��4Y��Y\��
\!���F.\�
��~��� ��
-�<
o�/��ԗ�=�E�i�(�T

���]*����Ŗ����H�1�)���J�1�dg�f���I��-:
��w
�0]^*S��
������\��@�P�bZ�:%��
r���v�	K��
k�Y>|u�;�� pVnY���y]�<����I�	�c�
�rQ���i

b��"���6��I����d�/�1���y|����Xr�T�5^�@���c�
T"��
8_�;�u+&!�C8X
-!

o
-�R
-��.�"��/B�~ ԁNrm�2R�z��@u�gQ����K��1i"^f�dǬ�XRF��\�
-q6��

F�R�yzg��z)��~���N<!�������H��7x��u�{�4��� ���g^�U��K�8��
O�h�t'�����
ch�	�ǦHA�{��5K���r:\P�C���M+0��&[��$��gl�^
-��M���L�5
�9��
�Y0��H���R�N׹��N��?�K/r�<�lg�[Wׂ������ݚĜ
���1e
����S
!n�O�
����p;8���U�G�
�'��jr�S�
�
-n�����=b���8#������;��m�v!��EYY���i{���\
<�w[���̵̔�Z,�K��X����
�����;��X�������L�g���{Y���{��m�3�l��o�qƢt��پ��fl��!��܇gc���
�!a�Mh��
3�?f���r��>��]��߽�+��}�u9~
-�L��fu�
��F�l��=��d�
Z`=QV�o␙�]�|Ӈ��B}��=Y�
]"-�`���_F~*Ss�˽5G=�M/�Y]�_�k�H����qCOO���2�f�Zt�I�����y���y��Y�
`�
G�;
�q:E|8>��l|���T�+ېv������ɓ�MY6M4�low�/G��.�)��b��d� O�?���e��B��`Zh�I°TXg��Ѽp�S
:�o�F>
S�F4&�ŇN�3�!��x����S�-ĵ�[�O��Q!¡
��G��Mb�U�	�(
Q�"(3��r�E�x��ٷ�|&ox�;Uu��?C���C����g�S����
�T�5�L_*_��������?Q�a�>�����p���o��3[��?������ɻ�P�s�1��D3�^	'b��b�t�U
�JM
FS
-�7z��Zy:
-endstream
-endobj
-261 0 obj <<
-/Type /Page
-/Contents 262 0 R
-/Resources 260 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 259 0 R ]
->> endobj
-259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-263 0 obj <<
-/D [261 0 R /XYZ 89 770.89 null]
->> endobj
-264 0 obj <<
-/D [261 0 R /XYZ 90 703.416 null]
->> endobj
-265 0 obj <<
-/D [261 0 R /XYZ 90 473.115 null]
->> endobj
-266 0 obj <<
-/D [261 0 R /XYZ 90 322.118 null]
->> endobj
-267 0 obj <<
-/D [261 0 R /XYZ 90 183.075 null]
->> endobj
-260 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-272 0 obj <<
-/Length 3181      
-/Filter /FlateDecode
->>
-stream
-xڥZK�۸�ϯ�-T�H&	>7��k7��q��!e�"!	1ErAr����F7��8�+���F�����oN�ׇ�<=��9�7�>O�d�t���&��}��S���%�ߞ~و$�yk,����=�����=�����C S�&���>�6����o���//�l�l�.�(�[m><���������D���#�m� �
�S���n���.�}�����v����m�^3�S�{���^�B՝"rVDUu�
����|~��ԓ
�H�y>7�⩡.�q;i�{�xAË�m{צV�.�P4�
u�3�m���{���|����qLW�T��F��k��+�f-���Mbo��E���\�3;W�=�E`Ա1<!۶�����US�ܚ�Lk�6�
-]�C�;t�����S������Wꕹt��8'��)k&NH�D����҅�brIti/�w4h����W�ӟ��'MY�8���f��
_�W�}�r���I� d!'d�pB^��I��vV�I��x�$�Z�6��,��
�e2��]
f�ʼn�k���
*v�-G���w؆�7�'����Տ;G>�.+]ʞ��
ř8��|���=��)X��C�%���@�N�n`��J�Fj&�����/�}�\�"��7*��
-a���K2\H���ف
���C�NB
Cg��X�V����%���
L3���Rwm%�D��mM�M��ٷ�5V���A�ݟq�ę��bP'�/��\
m8xo���x���H]��81^��%{Z_6D����r���
�//�,|9�C�Q+�S+gd�0��ϸ�m�z�QٰU5�^6�0��~
-��>�C��G���VW��*b4�B��v
�2�' ��^�q-�[�͛ռRC�h����V�v"H�
ލ�ta
��
�F�{j�fj�Կ� 
p7�!H/'���"�﯇�3DiL�Gf>�س	�
�� �V���DX��yB
�X����΅gh��fd�	e�䖌�q\Pmy��_P?K����������b���s��`ͽь��mxQ�
.(?�,���5
-ܒ��<�f�W@�h����`i��A�3�V�jT7T��������ӹ'
�p` �U҈��
B�E�$
�B[a �� 0��<��}`�D�$d���^�Ʊ׍'1<<(N��h�0k���u
B*]%��?�b#Q�iO
{o�(��5���
�M��{!��
n�J�2q��b�x�rB$���%7kW�ċ�a�\�!0�a�����o�{x��a�rz�'�}�p�GP���ň���b4�d�o�� ~����dݷ�+∶�%�&]l=�V�.�p�", �=��
-R�h��t�-+�Vp�2t��4�n�ЊP�.gejD?�0�mp����t�E�G��i���|�s�/�t2qCZ>uF�B7���(YR^���߂�X� 	US�4�t���iNNJs�&a�6�HFi�
��B��q�Z�g9��~X�\Uk���Rb&91�}�"�0O
XƓ�a̚���-,����rhJM����@?��3xƵ�r�"vPi9�m�4�F� 	#�uw��l�B^�#{��(k:��(��ܙg~�g�qz��O�~Sc ��L�
��p-�s��&
�P�
\��n5�:@�B�%XǞ,�0.�ı8����#W?8�_0�`���I��IN����&NӜܨ6��Dxo�.�]��&�%��$��L�U����!�+~�ߣ+�ͳ��XHG��b*%m-�aH2����]�
-��N��)�
�f����{�1wa�x]KfC�`��,��;�mczz8:
FZ�`�<\@��!6�vZm at Yt_���/�W�a?Eu�%����r1drOi���Vh&[�ȝ+���C���
����U�������擔�B
-S9e��h������+�5�S�EH���τ;�t�0�p&
���c�
-#�3
nn��m�>���'�³X�T���z�.��M��~�[ �vM��X�(]?�-��

IP+C��)�K�h�-z�Ln��j���9-�RȦ��I��Zn�Y������u�S�`��4\2K.�U?K�lcƸ~������]��
p��y��gw�?��uڜ�*w�1La!�B�JuI75�-��_�M�L�K�#��\Iy�.ΐ����ɜj0�\�i�%�
-�
��%�?Y�������V45�&(�(dg{��B0LuSC��-��u���E���+�0v���uS��a-�d*+��:��OE4�5�gs
�Pi��=S���.����ĪU"�+S1^�h� R�6^�rv��J�䄖�����	�M5���J�#��ɀ)����
4��V�ܒS
Rg�K\�6�����i3jVa"�0&���k�h�����w��#ך�y�
���,
{
>V�ZKC�Y@���.NŬ(�ij.ڑ-�~  !�.�}(4�M�I
>�֕�Ç��H���fA
��9��'㸾�C���X�ړ.�
o��8���}=�DŽd�vLGgLKb��`�&$�@�<2����3�,Τ��_K.
<��k�P��5r�4�
C�
�]r�Pk4� ��(���
f`�y�cg\P㤓;+�NM	�Q�O�+�klj�hq�4������EBR#�;�4�а�s
	|����O�~�+�q��jw�j�Q'�8~Ə|��Wc
Y�7;-��r�Y�
-��|HK9 �)5��h�C�8Cj����s
��0�GY��M�!/Vf��
*�ͮ��k�
���ҵ�휽����'��W2WA3
-����'��㔖u�L�.���Q���W2��c�Ưx����1�7�����#}йi��Rҋ�Ӹ�Oyk���
-o�P2k���ѓF��K��dkp��~��fX�TN ��xy<E@���mh��I� 8Ͷ]����w=
M���(܌\KYʯ|����w%2K<���
�I��e���
�z��ͤ��
�/�lG_�����\._х\�[�?\��}�{�F�1e����w�L�f��K��7�l K_����8�����jq���R����D�>~+�'�Ӆ�
�*�ERM����gUI�N0��5���x�/W@|3�\K�܎�]`�����IP�P��k D��5'�JT��A��q����
��{�Q�;�
:�}�ëW�������n�^��ڶz���p� ��n�|W�����~R��� �d
-endstream
-endobj
-271 0 obj <<
-/Type /Page
-/Contents 272 0 R
-/Resources 270 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 269 0 R ]
->> endobj
-269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-273 0 obj <<
-/D [271 0 R /XYZ 89 770.89 null]
->> endobj
-274 0 obj <<
-/D [271 0 R /XYZ 90 491.087 null]
->> endobj
-270 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-278 0 obj <<
-/Length 3376      
-/Filter /FlateDecode
->>
-stream
-xڍْ��}�Bo��v���i�ĮM���^W*e�"��I�ر���
$Hs����F��h�������×�~����T�az�x9�!��S�¬:����0�o��Q�ѽ�y�4�kS���)u3h��y�{��y��LJ_8�?L:9e���=��� �������BH�C
F�[~x����r��.����;<��~���A�<{��j*G �
0�j3^-��~��'�Z�m3L7��-�� �(���)��xӪڪ9�w�ɨ�gs������6$:&�Q0�H
��+��o�<G~�5mSu}��4�G���A2S���.�������4�ȸ�wm�����F7�];�a���	Y4x��l���*=���rb�
3݋���!�~ܻb��j4m��-��d^����<
����
^�G��L�� ���Y���jByp�Roy_E����t
/S�k����
-��w��ƫf^����QR,�
.�+�"(���Yʙ�^�lq��ճ���y�}}
�W�O��єS�������ZR�����w&4��g=	I�]�#��
ɽ�x�^_@�pg��ۅ9���{gJ�x��-�lo7zm���a��Ev\��Ke��a��<R���>A5���[dP&4�j�^[\I"I�/?A>?��r�Y��[��78�[��|�P�8�c��
\�)Z������r
�!cd� Xţ���X��‚$
K�{�Y�U�0��sf�G�:��+̝GA
.�F�@b��������t��kFC.VPqt_rra����i���}��m

�!T�|i��	
H]x��LZ7#O�e�
>�h~���T��V�2\fB�SXγS��9����P��!�8xA�D�ĶX|-�H3y��
`�q�T�mEB���J]M�� 5�ro��p�	��
�n�,
-=�0
瀙�t�L�
-�3TX�5|e���VQprj�4j^I��-	��00��t�g�f�.���d�v���"L�-„ɥoo{
-�G%њ7�;�! ]�<3<���A�]�T��C;�%��Yi�� �,�

��?)�`�\��3xS��個�M3�;w�LM��1c1{R���0X]��Ҭv��+�2�}$d�7�`�A[��K�jƙ��3��������9
A��d�0>�RM�R��V���
���MUz�6�����@|B�okZ	�M�;˃p�AĮ�|j*�Q	ȕD�A��Ety�8�B � 
-ȅ�Z���E�D%�sQr=�0�c�d�QJ,I��{sJ8mYN� ��a�!J��`�I�Uq��),�`�������uCRX�ڃl-�����eC��W��ӒP`
��_��bI �2��XA��̼��dƻ�
�
��d��-I��.%�^�3'$��h5/�\��R]�>xū�K���<R~P�2��$�8� vNp�C�W�b�R#+5g��	{/D8�a��`ߩƐ,p��
x���l�$�	��D�	EЗ��KbZia�ύ�{�C�e�i����`�"ks	�� h�@��ʇ�Q����Q�f�(�wRgS��D+[��F�.���5v1m��U l�Z
��d����7խ�)y�
>v�%"��D0�L	��+��9��Q[��-*ۮ�X�o�(�$�QK�ܰ/ͶJ (��q2��
K��	���*9L��3m�|����
�j\���lJM��V=X�h
u���Խ���
gօg�d�
-
�
�3Ų9�mbs�{���R��.�Zd@��ɧ����`J[�lΙ�4�$��+$���|��SIR���滲�,>�GIYJ����M��c��5��A}"G�b�K.!��O0���Ǡl�EAj�vN$ᠲ)���(Y�ز.���C��e����E=o�lښ�f��O��!C;	Z<�e[K$��S�55�TK��ʾ�U�\�8
�Z�&�DA�� �
 o�(g	����X8�ql��C�
�!�Wz!ƙ#��G���92�"�+ힰ��0/<�,$�HG�R
-&��r����~�؁�d�E��#�����3��M�'5��Fc��	s�݃�
,����s��בl�^��K��ژ
8Q�V*b�?m��S� j!��^9�F㦦S�'В7�e+�e{�vH�N�A�Ʀ�
���S\�2t����
��r��X�`��AH���@"LN��/��1���S��n�����!�&�� ��A��0ˆP�𒋕n����]F N�=e_
�7��Ecڥ�F��Z��6hw�4"CL&z
�0��R
�h�D��q�"8"`��W� �y8�R\�6�o[q{�"C�x�Ս��J��Ǝ� lGX�
6����ax��3p�56����3��K�Y�o$Ķ��h�=J��:1�=�*��Vk#��^��b�
-��`Np�MxQ;
-����0_�}���{V�tZ��1Zz���}t���
Ym�@Z��
�B�J dЀObϳ��A�s�>��;�{ä=��B
�j�EM2�	��sj\yv�<����'bT���٦�^����-���G�{-��F���lD~�5DW�k" �����sgq��B�����Ab���h���`�gH�ٴ#B�:T˛����np�o�����1��QQ�\J�߈?x�҂��T0
W���l�~0��
4��l"��
+����қq��/�WF�%���S\h
�" ����'f��W�
�>�D���m��R2�,�rg�d�K��$�����1@�Ę���^W�R6��Cmdmc7c�ʭu̞+v��F����_�p�5�k�&����@o� ��հ­"�������%�w�=��:;�Fe"��w��vD��O�ldn�<�}m��0g����$^gs��V�#��Y:K�g|o<���6	4�\����@�p!�*���[s�m+H/߾�����wD�ߊ������; [...]
X�W��
�S0O.�z�b-@�V�����n*
�4���@�D쭑
-4H���%eؓB2��y�q6���e�I�w���%��X��
-�P��K�:��yA�n�|�p�άW1&��	��$^��Ӛ1�v�
H���<����8�F� `��~�P�N�-�9Yb��6�ۺ�&}t
�I�} �zߚ����P��~�X̸�B��IR(=����c�?���
,��)&�NI��
�(��N
-*S���S[߯���~0�^�w�|�(T�<�g���>�����������[�L
n#r=�o] �O� !w�(P����%��`G�I
-�{�q~�CX�k]DZ���ۗ��S9���t�Ɍo�߼]Iw#� �A4����8����;�c�y�� d�9|
-endstream
-endobj
-277 0 obj <<
-/Type /Page
-/Contents 278 0 R
-/Resources 276 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 275 0 R ]
->> endobj
-275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-279 0 obj <<
-/D [277 0 R /XYZ 89 770.89 null]
->> endobj
-280 0 obj <<
-/D [277 0 R /XYZ 90 319.051 null]
->> endobj
-276 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-284 0 obj <<
-/Length 2964      
-/Filter /FlateDecode
->>
-stream
-xڭ˒۸�>_�[�*�_��=9�&��&�
R�
 
-��"e>��ߧ_ A�8U���F���w��6O���ß
^�%W�",��~�x�j��E��avڼ��
�$�C{�C������_
���÷�"XR���ga~ׇؔ����	�?lT��͝���4N�ڼ{���N��Q��8��>L��&��0���q���n���.S*(?�,���,
~m��=���OȂ��ZskMg�^�vM�+͙��Ã��O�Ţ�ytսi��^	B˿��8�V���7'�A�؜��6��v��;9�LR>�����E��E��� �O���8h��6R�Vs���5�>V�wG$���L��ɞ�q�M
2aйm�<i(��;����>W�N�'a��_V��)L?��-�������p�li�g7moMg�J�.����&SwMۍl�0��2ϋ��?sW�u�4r�$
�l���|�̤a�S�I0q_���C}2�`��dHߴRiTĝ',�'i%)_ ]s5<��<$��&�D�����L�	$�9ˤ-�
8�h���1yN-��Z����ƛᯧN�����äO��G�����v�4�����~ixP±��z��
�/�ft�$
-�~�e�� ��  ��(��3p^�_
-܀��~p�u�
�[�܏Ʈ��b'0�Y$v�`�(�͂ۿ�YP�$AwS�{�4�Gt?z���9�k|)���}%D��W̨v�F��gIɞӆ��.N�B�]��(����Br�
-ܵ<��zw3-d�¿��'��e}:YdT�N�ⵓ�Vp�~��$
�
4��<���`�֖taXL�*�؜��{�FK �%��og�ݚ���<
-"�	�I���L0�1�A
�2��<�>7@�ƻ󉡖, ߳��śn{7�>jZ�ZN��S7=�
w�f�z�3"����|j�<�ڱu\�@"�s�hxR�t��9 _A P�
 �DF�I0��}���;b�!��g�v��^
����T�J�f�j�;NM9\1��\uo�\�O2q�0��p�Ɛ/{����
�k
�˱Ӄ�x�FI=��Ŏ@;�%�2
�I,�	.�
8����<�s,̸Di\z�ch�f#�s|��vq)N
6��-�0L���a�$/9�����'GS�	,�,�'��K�W��S� �΢]�7Ӓ_��j)
��},���E��8JY!q��a#k<}��h�
���P]�M�0�Ӣ�ye�5C�&�'&�C�3­ҥ�e&���
-�*I�p9�]3��``t���Q�\���%l.�Y���K<�(D��(A�z�9)��"g%�
c/�
O�tA��`;fNiQR�]
Nj����� �
ϵ�JΛ%��1%\K�[$�H�>�v����o8;
�;�T.A0�.D"��O�YR�����)D�\��.��$
�{k�����_ �ڝ[��z-
�ǿK��7�j^�A���N�Wd��w�Z��>
H���xL��r���?lx�q��������{�,�b�ݿ��
FV�IdU)�@���-xHoB�\q�y~f����x�o#�$1��1ña���h/L"�%	� %I��<
�|��Ԡ�+��R��-9Y*+���%Ė1�uFE�(Q��T��ZlK��wKeaJdIܬ��H/z |��0vd0v
��7^��T���`�o�NcX�*,l_�<�|�ы
RK���
�[3�ߞ
�V��2oc%
�$���XM�5��w3�z�	�|���(�)��
uU��'�Tc����k�"���!��*�,f�34��!"�*
W���P�V�hnh�Ϥ
]�
-���6M�v(�zJ�l¬ -M�R��wH+rxd:�@	����
-5�[���{B�-x�5ፖŵ����(&z��(��3J9�ĵڜ9�u��Ce��;�V�@Y@�`p��kμ*uN��Xs���L��V�lk�S9$�9��sœ��7�
e�{�8�oW+�ĦI
��Z�
-���+i2���s��qJ������s�?l�'`
�B�TM��Yʩ-U3[��R� �ѫc=�u��#O[�x�Hu1����P?��@�$:J�������b�̊u���#D��q���^��`�nF�@��v=���j�@�
�u.-�lZ�,a~宾��b�����0��t�^�/ 0��Ø+Ņ "�&b��
^�!�El琉K�k�a��GI
�����d��fc���Z��)��ϼq�4W+��-�kS��,��b�9� d>���झz�&��R���zs���ˈ�4u %�r4�s�A�ƳRL��T�JW�N����!���Sg��EO�zEOVDԇɞ�
3��P:D�N'�s^H]�����b
-Sy5���fя~
t��
�
��*
�ke��.?�S��f�W��
�u!��KU]�r�/�2�z��������Nӝ�"�-�����]6IbQ��Pq�����u)��|�LAQl�@�LJ��B�'���s|�̋
s ��h����J`ݮ��Wks��b��Q{�ӗ
 ��0��<��b�T����a#1����2i��n�~3 
�]��hL�=��
u��Oݪ3,�9O��L=�!���!�윻/T%.T�N�Bj�F4�C�JC?�ȓ(D�
�Py7����iNQ��Q	���.��\�O�K��
*��G�������xE��~!z�}�g|�(�
�O gT�
�̍�.r�%yV�82��T�
��矀�‹���#3��Xd��庲���6�u���:�dI��:9���ސ����L2"�k?L%�������.���5�����{���|�'w��
6��A>��y�>'}.�!t�
4d~����/��j^��
[
$4y�(?��i�O��{�_[nJ��3��Yt��g]�Ǭ��0�Ub��s�w�wƈ0X�o��G�g�ػW�
B��Z���폯_�����¡��6���ۭz=��B8Q��h
-GE>�%`X(����P�z��X4
-endstream
-endobj
-283 0 obj <<
-/Type /Page
-/Contents 284 0 R
-/Resources 282 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 281 0 R ]
->> endobj
-281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-285 0 obj <<
-/D [283 0 R /XYZ 89 770.89 null]
->> endobj
-286 0 obj <<
-/D [283 0 R /XYZ 90 388.395 null]
->> endobj
-287 0 obj <<
-/D [283 0 R /XYZ 90 152.864 null]
->> endobj
-282 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-291 0 obj <<
-/Length 3393      
-/Filter /FlateDecode
->>
-stream
-xڍ˒��>_�[��
-�"ss
�e{����C��CB#d��A�����/���Y�"�Fh�
-w/�p���ߞ
�}
w���|�tڕ��,�^��)���q���Gi�N[�p���ܘ��L��AC�(�"(��<}����ï,�"&�
�Ůj~�%�� �n
���]	�ݥq�f��ÿ
���2�Qě����1���=�d�V��}����������"Ъe��ue.Fw�p���:˽u�
 
dկTu�e�Q0�Vc+
^��AU���0�me�ƟW�+7�0
����W�Ro?��?�!P=kF�nOB�
P5�+�
m���8��j�� ����lڑ�y1
�)�O�-3�~����
����7�;ui�ڜ^�:<I��_��>
Ԩyh<��ǼS&�c0L��Օ�9���
����ͣc�}��'�VV�w�(��å��~n4��z�:V���

T�PT}{i��*���W��6l�͋��A�b�j��1���0/w<�q��}ѡx
���8�k4#�
�n��T5��������0����x�N�Z�>�����o��N�e͞��3(���O2
!
��aT�-�' AK�
�
�-�" [...]
-�C��˺��Ȁ�Yp64:e�N�z\p�B�n<u
-�D�Sќfx���_Ϩ�3�H�:��(DK�
���N���gY /�x��0�B�t<`�.ezV57-��N��^�0d�j-x�ʖ�`�i�:ag�Ū˙��7ٛ�9
�`^�#7�&��A�A�����( |�[�?,�8�C?�J����/|8�$�CX�
p�]�q�{džȜ�ik�"����eFq�2P�����
��ųZ
}���b_���`N�c��>�d'qЪWn�Ɇ�i���۰�x�L�d��G�|֐�

�kHb�4����R[G�����
-
�]-���Ut���0��s2��k�P��Qe`̾�}8��3>Me��&$��G���x�HH��s���X
-a^U�%���E{Ǽ4�ΊM�#��ؚe��,q�ڐ��o1pJx�M�q"��
 �tnlй�a:
���@Ƿ�t#Yh���ĩ H񧲠��U�Lˀ^�vuc
����̍c5
-Yq
&3�bb&�
-�M��D�7�9y��6��@
�+&sM�	=6s-����P�S\���e0�YFz�2m�]���I0(+���+��q��.|�=\d�6ˑ��Y�O��ٌ�"rX$�`�X"�H"�(�ę�ԡ��_`��R�DA�y���[���"c����b���7,�0L�Ч�
����Ĺ��?b�\FF?�=�Y��d|x�۰�0�y[��E8�i��gS�o
��B\\��]
3�
�� �I��R�k�(8ؼ�
��ơ
����ī۱.&/o��!����R�	+�Ywh&�����}��A)6J�:r��8�����3
����_b��^1o{�}gZ�*
F5�	�W�T�N��8g�
-�Z��y� ��.�(�69ā��g1�곬5� ���d��K$/ڶfd���^�
��Vy�i�މ��EB��H�`A,w�(�����A���/;?�NQ���K�:�n^:~�ǯ�Kb�k�i�(��|``��.�{пN��8�`>��d��bHP�CJ$��1	 �X �

0���e�
0s�,��a&�i��Ǝ�0��@OI
M#OY�Fr�#
��(�$�/��(Q-|ɕ�S+T�q1?Qd$�]=j#���+��7�c5)B�Na�[�$����K�$�
G 
	�$h�
J�fu�
� �/��H%w�����f�я�
OVk�4�{h�v�?I���ߧXí��b�"^)$��:L\�t}e���V��� ��Js�
x
-�p��p��`֠A�հ
t%\ŕ|Vث���������3dz�t�E� Ts����[*�����QY+%ǍpԥY
�/�*zs�@�$*���~�,k �5I7wI�)m�:#\V=�W���j����`_�:�T�e,�)%aT��
T��e�;iM���
� )
 �� �@�D��y%�I�\����r����;�v}�N�� .j�HV"���S :ˎ��8���4x� N��If@�F� ��".E
��S�,�
-^�
-8i��iQ@�z�t<���V
���G�
�3{�p�~�D��q���g�a���i�
n�͉3>IG��u��D�j���`�>u��5��Zݼ�bv�y$3�幒�r1�YQl�X`�\`��-���~T����!�C����Q}M��
s�
ι^�� 9�p�?\
-

v8H!Bx����\a!tDŽA�a=_" hy1�϶�^�[:��
�ԑ#����CB�G�;��]�0����E a�k�.��X_23AR�cL��1��
�'*�m
EN�#N��[)J��8�F
0�r�m��
OcZ6H��	��R��x� 0��`H^nh��bW�H��,�ݓ�2fK���;
-�����s��y
�N�T��iLs3��QTS�,�=͌ӣXf>_"烮�O��@�ri%�S
Zȏ�<�Sw�4���R9e:��R�4���=�K��jwFY`�4�g����ג��7=����T�{�~m����
 8{t9��Y�G�
 �'
-ؠ�_�y}�&9ʹ�D�
��Ź�F���y�H�����{��
-��
�����/�c��>�X�fL�9Æ+��Ro噵s� ���o��*=�nn��zK�
ْ���m���ܙ�96�
kjH���@ ��8�QJمc���x���-΅ �hd���	���x���Ϻ1zeJ2)zp�v�1����#���ę\~dߔ���Rc���	���� �}��yq�6��Z�
�
d�\
;/p?�[,��nn
�a�M��=�ؾ��3ܢ��I�y39����}��*�샋9�
��"h)���5Pj0�T
B�c���P����M��fN|�
�Jʥ�ɺ]�"�<D�T&��a��3��x]����e�������Mu/�D�$��B�[6�L=�oGg�]Ⱥ��^\.����)����y����g2�>E㨐���
S�OwEһG�u�5��o�QW2�nUGߨ�bԴ���8�PRPNqj3T�Pn��W��� ☑�u�e���2�� �v�lD
�r�lY���

X�EQ�$�
6ς9Q���s�o�,?�y�������IǤ���C�Ĺ'Wm���R���O
|�׳����>�g�ȌC�KF� mR/2�[|4:��E%�!"�]
L�������S^�����?v�)(��1�9�i�Z�㿛b�\qZ
�F؋�����_��C5
��\����/�����7̉�XS:*'W
�/��T�T�<����  �kF
-endstream
-endobj
-290 0 obj <<
-/Type /Page
-/Contents 291 0 R
-/Resources 289 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 288 0 R ]
->> endobj
-288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-292 0 obj <<
-/D [290 0 R /XYZ 89 770.89 null]
->> endobj
-293 0 obj <<
-/D [290 0 R /XYZ 90 701.612 null]
->> endobj
-294 0 obj <<
-/D [290 0 R /XYZ 90 475.706 null]
->> endobj
-289 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-298 0 obj <<
-/Length 3115      
-/Filter /FlateDecode
->>
-stream
-xڍZYs�F~ׯ�[����
r�dG���%�D�ו���A����뷯
���"�t���t3��x^��o�o�'�b���~���w���UC/_��x��� ^��M
�����n{}�}B������
X�����*Y/���o��
ȿ.�U�Y/^h�q�|���ſ.ܡ(Q<��V��{��9�Ug�Q�K?^;��gh$�S�L�
~7NV��nuU�\F��m�G�Uy�ڢf�
5��z2ĮV��C�b�r+��ݜT�w]?K�����:-[
�..A�M��]�+�3I`1R)Y;�:Se�V��`�;_���:Uǣ��e�r
�
]�/R��y�԰��ܚlė%.Y�z�Գل���8�u+۶�pJ3�{VGU�8/�=�G�^���fU76��� ���(n얾�t�.U#C�5��u�֚��.���T���e0t@cl�
tv�&k
�c�
��~��Y�B)��4�5j��f����'���؊�<�%�Q��)i����lz3ƛq8+=\�8�gqE�3�ƛgM�O�Z@�>�8~ZJL��6�|+.4T?�=��-�ط���9wk�)֘#"I���¸_�{��:r
����1����G]�mU��vJ���.��q�w7rS��q#�%(K�a���}�	�D�b��_6p��9��
�F�?u��;�#()��ɶ�4���&,BEi�E
ѧ��5p�
k���,�u!��a،�
[A�G6���"��Z}r䑧�ʻ��)pI
-�f��hx���m�ea�*�8�*n;8�"���,6 L� �	3j�"=r��;Lv?3�-7
c�
-�6���ɨ᎔Y
m�M�5?�5�R$�n���&��YԻ
-�-� �Ȕh�Z)��iP���S֦�@;c�T�q�ʊ.�kp�ZK�3����B��z��AX%�\�/��3�C��Z�fdk.��\�ES��bM�
sJ
-�+���r�\�q�	����#w����2�
��R����#��c���vO]]/�5�ݍ��ܣ��O�yϣT^
e�\�m�p��n`� 	{
�i6���#<R5�1��g��:6�ȿ
�G`������fU���� \C(s�s��̖��$w�]%�u�����J!�n���
�P$�I�
|��+�6†�pG���+7�V�������1�ԛ�d�,-q�y���h��Qur����z�����
[�7�&��,��cW�i���)�ƀ"pA�]��P̗�N�
�8��.+
-�5h�27���|��꽂z_
-z
-i��%�$Y��y�d6%
7"��R�4��N��b� �P�;4����/е�S�-
-𚿉��8�R�9<RHYJ�"(�F����d_U�97�
hLsM�/�@�(T�27eZ]���i�xrM���,r֤����q��}���-7��i�����+0࡮�T
�:�k��*�� v�ґ��,yH��]�Z ��b��+37l���ZfA�]{gV�Z�}�Xw��Z�W�N���Y�JE��H�|�@P��/���37��{E�_��U�:-d�"*�MC���ܱ�� E<��:�qL`�Ґn��rÊcc�8d_?1
��2pǁ����"�����7Y�� �v�/�#ᾇus�{p���]�{n&l�#9�W���B�B�C�Zc�4�Ykt�
-pX%
�,�Xg��a�n
�L�����\>؀.��rNK��n$㋝9"־��ĉy���T4P$$��0Rc����
ChN� (�+h��/8degV�Q��B�f�κU�^���^8��84���cA�<;���$��Pc # ��
H��x�6pF�F��6t���=8
 E��u�
���2U���k�����D�������)U;�3���_�c�kS
���_��F�.;��|f�%�=*�|3u��4���f
m%j~,o	��(�6@aE-�y<��*9�bQi�p�	��
�
-3|+.�Լ��#Kb�0c���8�5"QPP��M Ü��K���裒Ve(�
������� t+����-���N���;T��x�5�"?�w<Ȍ$Fk�lAWgop�|� 	�\�S1�)WpC/fK�d��5��)��zt䤎��r-g����^�h��K�Y
	e��<xV"o(��tG��P�8�L�
w�d�������

��@��G՘at	�ּ+�h��L��'�Mp�X��ST�;$(�a��&���x`���]����
; ՚�
6��
�k1)r� Q�+H
�E��+iujE
�s� qE���04�P�L9
-M�
�х
J
�	%��ɡe�L�q��	l0�"�)�d�����\I6f�ݹ~FM�i�9
�8�� k
-7dZb�
;yE�'��_�7�=
��9��YMw��7�5k
BgtԽỊ}��Ue0po�h�_��Q��?�n$�
V5�'>���}oϙ�A�
M2
�놓Ì\P��F�����̼�~	1f:��
��k;�,L��<�_������;:n���J#��e�d�U!v���{(����	S[#�:���Кg7_.�M�L��F��	}R>��TR�2��{ A
������U�-G�-M�	��/�s���_cg�jS��ʉ����f�τ14�G�O��z�j�"F�R���
L�d[��
5�.�89�Ÿ_���]V��2zY�}�7G�>Re-g�";eZzO�&A�z2�P�ki3¥|��?�E�$
t
��h))H?�H������HfM�Z���-���%\b�~�~�^^����<��_�
T���ǫ��W&���L���#������'|��g���ɰ����2�����v{�
w���W�7�w�wWoo�;BZ�ZnPO���&7���-s�|��c�=J��a�r�$ӟ�K@�WK�	������f{s���$96��?|}���q˃>���r���5`~����@������_0)	��_a��`|e��y�hI!�`�Xg�
u��[����̝w<�6�>�����dB�ܨ�&I��)-;:��X8ND at tW��������-�maZ����zA^_����C۞�������*kV]�O�J�o ��Ywb
�j�fcV�����5���/�C?��_0�
-endstream
-endobj
-297 0 obj <<
-/Type /Page
-/Contents 298 0 R
-/Resources 296 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 268 0 R
-/Annots [ 295 0 R ]
->> endobj
-295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-299 0 obj <<
-/D [297 0 R /XYZ 89 770.89 null]
->> endobj
-300 0 obj <<
-/D [297 0 R /XYZ 90 558.254 null]
->> endobj
-301 0 obj <<
-/D [297 0 R /XYZ 90 429.427 null]
->> endobj
-302 0 obj <<
-/D [297 0 R /XYZ 90 324.511 null]
->> endobj
-303 0 obj <<
-/D [297 0 R /XYZ 90 105.043 null]
->> endobj
-296 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-308 0 obj <<
-/Length 2644      
-/Filter /FlateDecode
->>
-stream
-xڥ[��F�}~�o�sf.��<9�3d
5�����DTN
���W�U�`؜�N^��.]]�j���h������Ӵ�u���6��j�j�~o�Z6@����~0,My��y�Q
$,ϛ$i?��(-" fo��z��կ���
��::ɶ���
���u�������pй�c�g��&
�����eߩ�몮�����i�u?�F_Yt{��zu\v��2�6 ]�g��L�.��ɝ8��3��%����a�݁������G����u�^1��
`��|���Li
���#`�P|hY��Gw>y�V
�����K��}gB����r�:�;��w���sW��
- s�3��]Ia��>P|����nӱn�paO��]=�R�
o�
-���TF���EÑbB
Sw5[;ES����׳��ko��
� ԲE1��P0�s����S� Cv���7�#t͈T'PU�.
|��QD�P�+#���'�a޻&p�Ն�\N>��
.3���MC�����<g�W�'�`�����ߜ�T]/����6��f�! �uKi�J�p��1����
�����u��<Tm1��l��60I�n��$lǸ
�8KIJ��m$��I\^�}Ma����FO��>	t�h��
ց�|�� �z>i�{ϡ�C�L����(�%��x�<s���C
R^0	�	���9txX��H
>{�
-�ŀ
�nq,vп^[�{������l�x��[aef���_���uA���ĝ�"%	����'�	�)�fv���`�€B-�<sr>�١u�#q_��l�â v"����,��j�A{�|q�7��~O���e�B	�Թ%͈C��^�9�{ٺW�xG�SH +n�t�ޅ\�k�R}�
-�aZ�ֈ��5�����
�wA �W���^ԭ�pk�C����.�-��f�6��
���+�f2��M�<�<px�
rX�@l6���
�t�BQ'����'��d�T�@�5���ի뵎�N|ۤh���ഋ�ugk1>�>%:Ew�`��:*���"�r���j���C�)Ї�ꏭ
����)��z�J;��_ȵv�w�A�%�
�!�P�"��\z^����G9��X�hB7l�w��o��Ǔ�ϓ�M�(�t>���m*�Q�Ȃ ݢ5H����mRpa�;|�
���f�l�"L���
B�
T&�� �)$0�"<�ԦV�HRM-��
o�o�6���0�'"�0HӬ���q��kH����B|n�["$컖"1��w��V�a�o�t��+e����sFE��x�b�#qw,�Ku*��yY���$	���)�Җ5D�$@
/,���;f��$+":���<�;>eT�Ԕ�M�%�2jK:
-O�Q>�O�0mE����xb�1�8e�,M)���Q(Q`�̳}

q�X�&QQ%�3͌AeX��(���M:)YW��B����q�	�f'��ڬ
���5Fjs�Qy�y�C�j�vQt{��U���g���xSZW0�}ڎ$
���W�_�:�`�b�T�ϙ����V8cQ
N#��l�
-��f���踐�Σ�4
�0���#��
*��Li��n����5 ZJ�@�S�F���<$Ȕ�#-	�K.��`�q�3����}
a�SV�&a�Y��o��|�7�Ra7$���2��%����f�L���
߹���2�O��I�G�)�]ɕ���!��ݓ_�� JS��e
o��K
����C��yN�Q^��L�ɚ��֮�
�`���XMP
gC}�e T"9��,I�Zt�8��2k
�������%a��`-�
E�v�v��b�,0�0|�
r�&�hQ�o���ȯ�f$b�B&�ԃMM�
�ZM��7���7b��
&����Ϩw����IW~��
<3
Vwu��CvN��`�o��I�$
-��N�#;a
�����$N���)�ţ��ޗC�Gw-uwN�S%@�0v�ȹ�K�\���3�d���:��U]�E`k�;T�}�Mb���� 0
�L��
-�<� �-<?�1�"F���͢B�֌��,�
�?5��
g'r8��_%c|��醽M���8x��5n��*�� s�݉M�XjË+Ѯj
b�I�	w�;Ag��@Ѵq#Zn�$�O�G��'
��?f�xw�5�Hn�O��4��vW4�iUl�U�U�W�V�2�\d(GӪSuɴ��~`<��x�>"��T�[�S�#`~G}V��S$���T��w�[�w�� v�
"(�Th/21�<n�e���-��T��}�\�C�a
���
�
�K���:���e(����)J@���E�j��SK�/�;���r��&[}t��P���X�I���ȫ>�
-��
��<Q�/�\����VU2!���/N�
��,b9MD�<�(���6�#�����Ӄ$�ǂ��}��ґ.�
c�+��"���]�gG�>>t�ЩCY�~~z�\.�>=�Y�JH���0Ч�����X6�U�G�#����0��/��j?W�x���x�qК��̒+��< �,��A~%`L,3xٝ�=�v�Q2j]D�O]�R
-:��g�{h�X�QI�
-��
-� �
->ȴ����V̘�]Fo�j�
\5��zN�S����fi���9�?7`ܳ���Q��
q
-ȣ����� <��Z
-endstream
-endobj
-307 0 obj <<
-/Type /Page
-/Contents 308 0 R
-/Resources 306 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 304 0 R 305 0 R ]
->> endobj
-304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 75.109 472.963 84.217]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-309 0 obj <<
-/D [307 0 R /XYZ 89 770.89 null]
->> endobj
-310 0 obj <<
-/D [307 0 R /XYZ 90 609.326 null]
->> endobj
-311 0 obj <<
-/D [307 0 R /XYZ 90 456.075 null]
->> endobj
-312 0 obj <<
-/D [307 0 R /XYZ 90 342.578 null]
->> endobj
-306 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-320 0 obj <<
-/Length 3006      
-/Filter /FlateDecode
->>
-stream
-xڍY[s�6~����%ҌE�.�}�S;��xkg;��3
���
Ehy�����T�l_D��� 88��@��u���_ܼ\\ݭ�Yꤱ�^6�ԝ��ԉb���枿����Y'���0���>>��>�<������/<rg
Ϗ�U2�v����r �<s� Mfb��B?�o9{���;�J�m��
��5���,�~��U�s��6�ީ�0�wk~4?p��i��Z���9���#u���6U��"�,�W{]ss���!}����rb?��oK/���Vsc_��Z��s�����Tɽ��>��	
�!,�e��^d����}'mşfkj�T�-2�+��p~�-d��VWc�M�궱��٪:�*�υ�@{h�I���3���,�ޡ�^�%�,���C�H?v�4�-�r�VA0
,�p��EAoif���-l;v���n侃�'��I\'NWv�Q+�5/	�y�v���
Uׂ'_zA���
MY�
���׊����E������LJO/��������^��������
vˍ\�`T"�=�e���
>��'��ܔ�nj-��i�֗rZ4el���΃.����o��i�bݵ2V3���ʵ
#�5����������;���N���k����9��&�N����5�E4?�
8x:��Fx;;8x�,��
	�=��/;9p��g2Ԯ�1GkW{0�}]�V3ߞ

����������J�>u��̈́g=�CW�v� ��Q�*�uu�w�'^%�Ujm��"�=Z����۱�`s�yN^l�,]명K����
�I����{f�p��������u@�(	x�F��j�`��~�֦� �6%
�Ta���H2n.:]�'h����4��ݾ4��#mÐQlz>n��/"��/D�;]S�!��M�5�-n<�b�$��8���
d/^��l�@f��C�kj��JU�@=�qq?�Ę�>э$��V:�M�j�
XP�z�;�
χ$fj͒���8s&��R���$�0��6
��ˣ4�у��%�
�o's���Ol
-�
.��h-I�1ŗ�m�ア�),ā�&}�ض��������V�c�׫�
��������+' �"��q���6Gy���{*����{4Rţ�->�
F �ٚI{��.���{S�UT���M�'(A�hz2D
���g�O0� !�P���Q��$��RJ!HT�m�u
NZT��e��Ţ�|�H��SG恠��H`�T16#X��t%w�|p���E�����F�� �/�̈�
�,�T���8����!�%�K!����U-���D��2m��+EU��<��z�P
�I#H�C�2b���\EմZ�<b6�g�=G�4N~CQ�ǀ��u����,J�Xz�
D�M��pX�
��o��4f�=^
��%X��|ݗζݕ��7N�#�*�
� �}J�!�]�3ȀN p�X0}��F��z���{?���ABV�_C
-��D&,�_�n�>릟�9�D�G���nm��9��w)�1��&��.u/�ǻ$�K=��v��wg �))�p_e�X�J��U���0�iw���׻ҘZ�7�i{��e3�y`2lQ(���'W��S�GS�1Je�ou>Ɯ��gh�
���5��G����ĺ�=B.���X�9غ��ȶ�z��#�w�m�۴��4����ܤz|�cB�x��������~�^��{頑��0��&��J�
-%��順Ğ�ĪS[�S�)�ծ��"$�� V�"���ҔbJ��
��0
��2��K�7SA
m�G\�H��
 ���c�_r���T�4]-��T��e�dj���u([&�h��d![
����w�]+
-
-� Q
n��/R�N�����I
P1
I`��(Zк��,��(�"��T�AI` #�5Y�.�>+'�����B�BА�X
2ރ}V
0�J�s���Y.Ƭ�ȾC�J
-��ve�90e�͖��h���`6 �K���)�G�㰱֢��:g�p�=��vR�*
a�Lݍ���
����|��rۏ)_#�a���1{Z����L ��kg�޴o� �m�o���o���b���
:Nz�5��:�cy�5"v�.�1L�k� r!?'` C�E
-	�FC*8� 	���oyL@.ތ�I�FJ��c�r��b��VI�T4̠�'�2�<e���)�e���<6�Ⱦ�PɁi�̸֓�诋�"j ��Va\�w���|�b�wB�,�$��o����-b��vsF����p㠳`�Zg�8�9��
-�c�Z�I��dDޜ�Bst#���@�-ձ�oKt�5��t& �L�VEN>�$��VS$z7�A���x�:m�ҍdc�ɧt: ���,��O����Ivr	9֏"Eɔ�ɵ���Q�
�׃Qn�(���)@N
�&����:/�ڀ3�a4�/�q����
(�[�<d��a�9a��B��p�sW	Y�h��B2�H��zWr�)}U�%���	g���0T��^���_�!�[c����ҟ�Ļl��ȩ5�{e�n�=��맧��w�7��/�Y���ORv���?޿�||�;�t��!H���2Bq��a ����W./H�y4�R�6_��T�턃S
���"E%�+��* i_��n�k��������ȭ)�Y ��Q�����EBy�Dg
������E��o� �obd��玲m�X at lχ$�]��â�2_N��0����U�
��P�>	OW�bH���7�j[���� �{B�[0 ��k%��H|���ܹ�@��5l=�TbL��[;#>�{֥<�ɣ&��q(�n�z7�t�'k��"͞v�z8s'�5�Q��R�\D�{|��U�����pьJ��(��3��Qڿ&a�*H��p�Di2�ۂ`��GR��(��O�<B���>�;u�1���z���çv&}�޿�Ä�Y
��)�������=
�P+���ӹ�
ןx�����}������ԓ�
A5����6&o��?���9�����7
-endstream
-endobj
-319 0 obj <<
-/Type /Page
-/Contents 320 0 R
-/Resources 318 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 315 0 R 316 0 R 317 0 R ]
->> endobj
-315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 526.42 321.452 536.702]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 472.308 508.501 483.212]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-321 0 obj <<
-/D [319 0 R /XYZ 89 770.89 null]
->> endobj
-10 0 obj <<
-/D [319 0 R /XYZ 90 457.553 null]
->> endobj
-322 0 obj <<
-/D [319 0 R /XYZ 90 425.612 null]
->> endobj
-205 0 obj <<
-/D [319 0 R /XYZ 90 425.612 null]
->> endobj
-318 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-326 0 obj <<
-/Length 3502      
-/Filter /FlateDecode
->>
-stream
-xڍɖ���_��K���5�)�6����؝L۱c� �P
��pq����
$�f;��@�P 
-�C��~��]}}w��m��m�������U��$�^��ŋ67a�{���o�M�����O�
�`��AL��
�S?J� ��v��՛��/W��^#�f�Uq���7U�ە����ꁐN�8��[�>]���w����
�m�nUYv��u	�瑧z���q����Q���	�kF�(
-��
���t�픢i7@�q�&���&�c�Ԕ����M����Cg�����A_����,Q�f�A%�:�e4����8m�$|�Vw'���Ǻ�
7�.;s
T�M� u��v��m�0fj/m�N����$�~���p�5�4
�9����Vu���E�
����x6]$0C���6�,l��3�5�jT�3^� C
���~�=�nb{�J���C
-�^6Q�/,���)+5X��
���6�������s<���[���Ru�܇���ƞ����S�.I���ui��^Bgp�
0�椆A�@�d����/�
3���UjU�42o�ı7�0�Vx����Z|������
�l�M�@��k��2=p��>q
�j
�
f9�����m�ij4p�"�����f-��W?�i3�,ˑH �
�/` 
7D�{��B���݌4V� K@{��t�%bľ%�q6��a`�
f��*���
���ɾ�̣��:B�G,�`�pa췪�0��
����$f0\9j�1�
���>��d�&	x���V�na20d��E���Cp�F89��0�&���^��X-B	
|�`����>
����9"�yj�~:��7Boƛ�hZ���[�
_����r�I at Z��8�tW�	�
M��
|�	�����1�mS�a�Mof���+u�k�O����
�����71Z�gEp��~�]�>8�
|nj4��3�{Ǧ�E3T���T�����W8t
� �^��g�i,3xi�ж;�K�E- �& �K`;���z�-��MS
���D�
�(����y�gQ$�-O �z`��%E0�V6IJ8%��=i򾠡��maP���@);|�
c"�`���\�U��}�3✆��i1{�2A(<�`@�$y
��8��ؗpZ�������µ#��v
)�
��Y͡�.
-�N�ņ)a�CF@�c�疌f�_�Af��a'A��������f�{�W��`��&����� c��Ƭ����
�lU�C��s��|�	ғ��!~��3�R�W ������LV���U��b����L8���Ѥ�
d����dJ��z̮���b�F�4Ϣ̚�4�d���q��>/�R
C�E�W6*ozi%g�x�_O��j�K�$�����o��ɚ�����Q��6`�0��X���ԋ�H�lt� �tX�
PQ�L��ӪT�Jf]�s):��H�D�pH�1����NJ�a��
��pL���)�!)9N�g*�bPH����ƽ�1��E��WXLS!�A|a��ԁ<:4@�007=;�4������|�i0a����v%ě
���%Ly{��N�:��

��� �O� ͉�@��)Jȗ����'l<
f �h`x�5��:	=��� �2
'���`ߜ��)KNd�h�10��ušK����hïY;%�wM+~�^@y�8\��5.
c:�eL���Ù$I
��BE2��@
�ڔc�4�|�

N���e{�{�!�ޱ�d#��t�;:j0/��v�&�ʤz�����Y?
-� |a(�6?�}�ᬹж�#4O��<��q

���=��B0���GrV �k
-p��:��=j!� �GQ��I�!� ��@	��A����
�"A6o��
�4� �r����\BO�K�AZ�d,�
-�A�#
�������~ �G ���d�l�Ԍ�|d�:Vpp��o�S��p�c]��m�#�'��A�S�����V���>I���uj9������+�~樆/vq�0
G�%��.��$
���6�^~z��=7��6�R�2K_�n�ԇ�RD�[`0��&�+(����Yi��EK�O�>~`0��?Y�Ⱦ��?욪G
|b.���5�y	�E�T@�P�@
��?S��
^&�����G���w
1Ƨ�3\��%U�y���2�SΫw"� >�'U3�\�0������(���lK'��=0���؋�1�QN�
&�w��;)]���-��<���-�X<:��� �_�f��'�VS ��c'�Dkl<.�F7
[8HS�K��=y|�n�L1
�`��}�H-Ê��HX�p����)�ܔ�		C�*�L��o�^��zA�(�4|�$Y�q��S�ŋ�B�Ihˈ�
H2�� Ēd�g2�`�e ��r,�̽l�j9,dl8�͒��9�J��E�9
@`�f�0������Sa�
'�R��6�|�]
-��9Y9�"���A-���"��M�a&ۊ�@�:�:H�����V�XТ���3�<e��Ы�.����)H��M�	g��m���+���}����lR��
m����
��J�i~(�T�W
ø�`_LI͖^nb?��n���p�\ҟ���qHO�:�$L�̝�7�op�������� �8��t�t$��(�pd��R<
-='xp�<��A�DA��wH
T��0a���
æ�~"5A[�4������@=?FM1ȄӔ��
�q�B�QK:ਲ਼~SӶ(`����<0q�
-w���
"1�kbm�F0��dέ
bO�[l�˅����D#k!_ �&C]؏,�X?q^1���T5�7
5
 \*/>.��*(���s��5��/k�}1����_��
B
1z�
����휤]�ӵA�m�	hb�� {-g�lHf��$=����s�xp��/�_
��5Ȧ�62l��R�����1�f	����#
���q�F��X��q u�5�n*�&��ؘtz�}
-r�\N�-%��u:\օ=��"�%���S�����$S-ZfX�m�>���E��F0nw	��H�\��>�X��ѿ[��o���F�R���h��r�_zq �
d�5dvϟ���v
-f�Ty&����ԟb̚��>�S���'���p�����9ח�յ��*
��DP.��]
P��f��H=�2Zf/��'�@'È� Sخ���F�˩%^�T��
��آd<�ϟ�z
+e���$���__mn�HOo�H�

61�06�F�\
-N�� �s
ϸ� ���]�f'I�
S^h���ɮ<�
Ш
�m��
�Z����:S	vw�
J6��~��0+� ���G����۟�����c��s�ߟ$��_����Lʢ���'ζ	�;�E�@l�a�mS=
5��h��w��@��|����v��^�0��BG
-a
ݍ���8 �p�!�}���
���m�
�z:�
-���a�ebگ^�xxx���~�m�����w/�1�&�T8>���R��H ��s����j
-endstream
-endobj
-325 0 obj <<
-/Type /Page
-/Contents 326 0 R
-/Resources 324 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 323 0 R ]
->> endobj
-323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-327 0 obj <<
-/D [325 0 R /XYZ 89 770.89 null]
->> endobj
-324 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-331 0 obj <<
-/Length 3530      
-/Filter /FlateDecode
->>
-stream
-xڭَ�6��ok�
�:���$�tv23�t�<�%���$::��ߺ(Q�:;H0 �X,��u�ho��6�ܼ~�y�6�6��!V���9x�$<�z����~}�n���?�0��o>�����'
�����������}�n����_�M��6�>8��
!՛P�6�n~��ܭD�b+���}^��{[3��4���36�mn�;�?38k
-e׷��Nyۡ�<؟4~e��M�ಱsw~���.ʡ��݅Jmu	S[��M]�6/��T##�if�q��%�y�;��E�ȹ5��e�a�*�acY��Zeǰwe��N��0v�w�
�����3rcz@����t57*&�����l�,6��ص���U�eW����k�9���m�jn�x.�
��>I
���RI����!@Y,�z�c���5��FNƋ�HS�}	�2MǠ
P��)7ʜQ#b�W0���
-��š�d$�2��beT� Eː���^秦̳J0u�
-Iz$M at 2���C.sQ��
���
%@[�|d#j�=-ˁ�~LXlj�˙�8
�"���~C"�����[�"J���{�I(�i�J(�\�X��\�{���A�Y_��!�!�
������I6q���
���G��uV�m�T�O��;?�>	T7fx:q��G'�Iz�b�61��z�z!Zu�[GSU,���RP�N�#���t��c'؏l$�X�K�G�����4���[�
Ma���e�
����B&{d/E*�2����N��#8�Jz �se��q[�`�`X�At�����ox��{������.��_�������%'GO���@h�
��tڲ!f�3� ��"�4m'ń/F������MCA��S��Ƣ[]m�l��z>��ђ�Y֝���Q6r��ڠ�U�w�0���[q�tr��@IJ�����mǃS� �1L�@�Jv[�{�v�5پ�5YIpkl$��M^�n��j
�,d��P-$�c4��gm+���6�t֒*�T�
�*��S�X���������%0:��
.o[p�w�
�AFa���e�3
-�9W��Q1������_�� ���(4
a.�拂
-�;w��P���$4�0��·��	l7�
-� ��4}y����M�\K��j���g#��=/�� �A
'���7_H
F�
h�A�������&��˾�<z�<���
��[2m�1�ηt%n0#J
W�0dHu�HR*�6 +���@�k�s��ĆTĦ�6
J�5��
0�@TR�Գ9�w}���^&GaEz8�=8	��
�
-��Մ�*뒣I �N`�?XZ4c�&�`eȫA�Bp
'�أ#k��ѕ��&nwl�N�t#{�죃c:>��ݸK i��c�k���U]�!;�"�DUa���Lj�dhN& LJM`�
yA��`hS� �AC
4����;�GI�
{����&p��D�n��q�Th�:;��_<O�<qŵw�;��*�}
��֑N�	%�hYl�%I(��ukVS��6W�vk$Ƭ3M;�8KRnQ��e葷����e3�
8�ޒ�%)ˊg9+
�Hٓ~�8e���s3I����J
������)Y9H*q���sof vr�r�h�; �s� tv%>sR�
(!����)����ƕ�'�nwx{���<��o��;�ꑘ<߹�	��d���4Pc��6QT���~(�e,25��)����V@A2��%N�œ�kt/1#�wo���
�BT��u9��
6�� �I7�%�
P�����a�3mn�(v�N�N�uL�.� +��T&+�x�4!Uc�w ���ڂ�sN�5��M�q7�r_i�s�W��XS�&f��
-lL��]R<�Z�1!$�b�p��s�M�1��
%��xYK������e��ƣ��͉�[
L��Hkr&<zn�B�r�^��څu����Ȇ�3cF�X9 �y���G�s
M%j$[H*�%����
�=P	7�]fjQ�Ư-0J]
�KI)r���:�5�� $X�J6j�E+���*�R��4T��]�/q%L at zA^I'��M��
�&��#��Mkh�8���Ag ��b %Z<6
-9�\�F��k�W1㪭�
x�U�^��%0�1��YY��?��`O	��S�E�a���{�E>ܞ:�br��	,�@�P�Vd��J�V��Y!�[�m(�
-~Y.P�
4��.
����ɼ�wѤQ>fQG����s� ���%¯�ϼ��r��v.ħr�U�b�g�!Lls=��ne	"��^�Ŕ	�4w<�鰅��gTIB��|�����o��
���������"r]E
-���v4>�Ղ�N�<�)J̳�G �
h���AL��
-
�ew��Th]E�
R	��	T-v�Ņ��U�.+�-1c����F���4f�B�.@,?����&wD��B�)��vDk>gJ-�L@֏Jz���&�2�Fk�3�
KgCN�U�o}:
p!h�u�����lzt�qr�֌3���v�����{�D�us�u��dce/s�ج�u���Zn19�nt �E�v��o�wy�����+�Ə�a�n m�ZVQ*�a-
@��}z�r�b��'jD���4byg�i�q��r�?�L�'��-��^b�x65�וŅ= m(��D|��2=�
q�i-�!�
ȃ���^<>�H����QO\
���r'��̝	�d|�Q�(|B�H*T�%F
��1r/)9"�*���dҺ�i����+�� ��W؄�BH0�[4�3C� ���=�Mn�b���hɤS
-�5
-���?���0�I��З���Y�B 
����
Ӗ�����3N�N�0�
'���Uttó��Y�u�uT����
ǝث �
���{�kQޕt���d�_���3���5(�؄%
`ȏ09"h̙l �S���Z�fǏ��0M{��C�B���6�Y
�)Y�T�e�q4d�Z�TzX�nz����a��`�up��e�'m� DŽP)�
�)���,;��
������N=�
�����p#$�F�Z�p]$�#��,�]�B�s¶�:2��ɳ宭��
��D�T �A�t:�L��v�*�����%Y����M�y�&�$�(����VNs��ֽ��y�	;�cu��b��
�B�
:��R�>��!��0/Z��V2z���5��VW/��v����
�so�3��0��S_����c&��T�k����!��kmKv 4�*z�p"]�	t펐�TF�
%��-�c%O��ڂt�ſ��Rzud����q�o)���۫(�x�\�WѲ��oI:V1�����9��V���l%���C�V8Uy60x��b��Ei�
Qy����|��^k��� [...]
&%�����d>I��u�$m����GS=�t�f<��|l3���Q�e������
�:���,�
�a��YÏ��a�V��Á*I/�~�Z���mc[�D�W_*L���}����^].�}�퇦<���u>W��3�� ��~��ac��L,<㬿����
��
-endstream
-endobj
-330 0 obj <<
-/Type /Page
-/Contents 331 0 R
-/Resources 329 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 328 0 R ]
->> endobj
-328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-332 0 obj <<
-/D [330 0 R /XYZ 89 770.89 null]
->> endobj
-329 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-336 0 obj <<
-/Length 3191      
-/Filter /FlateDecode
->>
-stream
-xڭْ����/���j����̹=;�V�$���Y�۪�%���8_� J�,o��~	� ��(g��rVo�^<\ݾ��Ub'�W�U�"?��z��W�[oD�Xo?~�ƛf�Ɩ��{Ug�AV]�uE��E&��C�
,7X���������+�tV.��Q��W���r �[9��ī'�tX�ƒo������av
�� 4�v����x�����W!hq=m������[Q�T=��C�򹑭l~�������*pϱku��#H9�
�U�A��=w}Yjܶk	X�tW�}�����6EZu4|/3pKHi�S������9!���3b�!��u� � ��^�@�U�W��D����$�����:��`�f�C��'_mH�7��H�����;�F����ϙ����$��Y}\��u�����\�N�vνpm���wK�'v�-���$ql�t�؉��UWt%n��թ���
�#�@������.!NeT�<8����jZ��x��$�9��]=Z�h�LێHmh�>�	�t`�dڠzs����O���ݾnZ
"&|�pK���
������8B2�?֮���$8$��w��DM}ݑ� +�~F���b�����n���6
-f��B�	��x�kX�� ��d�cf��¡H�*g�L;
�+I��� t�9�
��2Gӡż�2+�"��E��m����挆Q��	XͬhH)#6
��
v��������H��6k��ڵ��g���榊!X1�2�f���
��?����qY=��{���h�
h^�A^��������7�y�3�A���ZŎ�@�0���G�w��jB�1
�����ҕ�	g�l[BWFa�QߤU{u��n����&'Ek8�a����>|�!h���
�d �,��42.E+'��LJ��Rj�;�������#Y at c�,
:Ȯ�Ջ�Ʌ��(e�6m��pb�@`{|��{I;��Cz��-�e�ф�Y�4����@�M��*��� I�‘U��X�
 L����QK.�������?J{
)��gk��멠y�$7Ô{&�V�gn%,(5qIㆅr�x��ܡ�i5
����M�X@԰tr�E��l&��eC�ѷ�;ٰ��+!f�����9m�N�y���� L��D��
� �ht`82F 8t����9�c {�(���05��W2/�ra�"�d
C{���n:�+!{�8��ܰ�=,x�X��I��s�����`4���
������;�{�E!�o�4m�S�����:pWh��N	�-��G��Y��Q��j4��FϮC�/�P�\
-cØD�
2E�X�m�01rDRfޜe��$6�z
U��Ћ����0�3�`�����O�����
���?l���Oe� ���y��J�=e4cz�S��-�15��]0+�����3��ų�m1�(�d)1��c���`F
� ���Uq&��Hh��ٞ�,P�$)��%x���(I�w�߆���=�?^JQ}wa͎�f��Ȏ�
�
BE!���Ӧ��1��r�LI;#/Do?;{�Ɯ�����"�f!���S���+�{�v�`�z������^
�9���Y��s
㥄P�cȫ��ʴ8�r�)�";�MB���>�n�	�%l����D�1Xm[�
�.vv
���!�:
)pz;XA
���ǣ���k"=a�{���O�N�� �����4t���|/Pѥ��*yE 0'�@K�r,�`����l�B�H� �NR��QA N�A�>j�`NW<V*�š�>p��l���ae��6��2�����b 
�Ԇ�p�p�(��H�D�c�4TS�aF��aj`E��(��
z񤠗ppb�1�
L���R
�T��������F�}�[��[
͕���Ozv��n��/y(�\#�kF�!t�
�Aa�>���&�
�?�8�j�E��T�_��z �=�S�p0F
iP%��@DD���a�����G�w�����/d��P�����
-6��S9.��(a�p��<M'�C-a;�Dl#p}��4�D�ۧLw+�<7
G-WeE9Nٞ��Z=<��ZW��x Ѕ�!���S���1d�Q-��*��:J��
��|�U��V�����teS(���1m��QL	����T��,����8u�[&�2}�QF|Vu�q�ꎊ��8�`�K ����
Up[:4
t��[��$�y�y]⁆�rSF��5li^ϖp�
R��/FB���i\�	 9�T�'^��g�R
,l�0�`�A�R�˨���wQx�4�Vp
��I&�塯N��L��7u��g\
?
����RO�i�ft
�fۥ,T�X-+:U�SA��
��'�"0�md���3F(j�>��	i
{�
x�%�f��4���B$��Xɫ�Ȑ�-�(p����.�� �~#�֐�HW ��E����B ��
Y�5���h �i�c�* ��8����%�t��N�#��a�;:
��鱚�����y3Z�l���ot�3Ou6Gp���4V��n��ڳ����1]bg��?(�P?8�UhI�E�r�/
2@��i2�CO�j�%��:�P�=h����6/l�($���}+5%��pРE���U *�:��C��֞R�n:V���yF,2�f�5�
gO^�
M���
8$|����w�r����?>�/$Xc9������-�Yrtf���
�%�u
	͜QZ�i$�|��`��r�LJ
(|�x@.�>�/#s���,�
����SX>�ҭa�Dq4��)fi����<6յol�(��&"���c���3��j�=��:�36��
��zf�ͥ�%B�� �fe\����}�i�Q
"��{��؁`�=
"`�.8�c$׿����0�
�W=z�\�o�Fߴ|n�8�u�EeĦ���ş+0�n$��(0��
�c���*>���G
���W�(���@_
h�'֦�
��+�%�o����KY,����@R�S�_vl9���c��:)}Zp�%c���&�(�N�A���uc�
{K`C��
�_�I:��V5���6KT󟙂l��gf�?/��ȋ��+?��7�����A�K���.O{�7)��/��*�`�%�����W�2�*��;�Ζ1�
���
L��V�:e�S��%
��
�*�5� �(Y$�o+��kw�ؗ�c�*s��;��������Z���cc���X��
-�Ḯ�J��\=4�*t��n�
�~k�Kh
-endstream
-endobj
-335 0 obj <<
-/Type /Page
-/Contents 336 0 R
-/Resources 334 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 333 0 R ]
->> endobj
-333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-337 0 obj <<
-/D [335 0 R /XYZ 89 770.89 null]
->> endobj
-334 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-342 0 obj <<
-/Length 3185      
-/Filter /FlateDecode
->>
-stream
-xڕ�r�8��P�2TU"�Mj�䵕�3����Mm�́&)
>>���o7����^L��h4������^�?�����]d/֫u膋�n����^!̲��.������x�C�$�W�w������6۳og,�
���(^����ڋ
��.앷�/�\���b�x��3�d%'�8��q��L�n`��&���[7𬴮:��ohZ&_��m�4��j ������y��i��z����+�����M���J�$�D���nrH^e�#D�\	&yH��}��į/7�p��[��:�URJ�!ӊ�) hij���fI���P�Z����>o���мfh	^�Z�(ۗJrkjy���	!r	��/�� �V˷���>�ӑ��}f�d��ۮ�״���/m�MVmzŖƢ�`•�]ضn��o[��VI#u�#�<M'ͫ�'U��tLVc�u�$�<��
޻n���=�U��=o�X	$�xo����ׁ�Z��S��")'pR-
���v�X�5 ���p2�=� ¨��s��;�J� �dR�-
���N���j��v [...]
�&`�sz��:�
-a���u��T�S{�:��{��S�����,/�u#)�� ����i���92:q�J�|b;d��oo7Wۛ��G�t�����W�?*�<��4n��7QQ`:P '�I���+�U
oJZ ��iD>+
�Y���t��בW��1�6 �����Y_e� I�(�d�o��vBp:�"A�ʼnd��U&PA���G%�Ŵ>t&8F�i�hiǭ�F�1�M�э������4J�ӂ��\�~����)�:--�,��[�ݬ���l�e@�=m
�Un��$\<G���`��b�
-������(Z
�2!

��qy�6R*��R=4)�R�E9�L�0|�6*�G0l�� hgݮ���:�������&I;ZI�^	�٠��c��%�P��6��pݘ�
I��4�i��V/�`
>q���+A�޻��{ �H�ǯ��>���t4FV}��<J���I�?<0���WV�䦎Sb��6�
5
<�R���<��E����\V=�zx��y����2{���
m
��D9n���=p�
�s���6�/�`�芉֗��N?�7�6��n�K����o?�/��
�Q$�x]~37�'���haV7J�Z�:��I���E��$i�) �9$�I�G�>K/� ��Va��>=Й�|� ]��Il��yB��h.u�c�+�w�eL$��|LbdhB,!r�%�E'���)��t�H�ϓ�gC������&�h��Ҿ#�d_�@8�)�׈�	���EaE�|!�$��� n��[�R�"���oA�TKhRM�c��X���%T
�>�a�$�׺��_�@�c�m������n
�S�H9�`[o}Ѝ/��"0ӌM���]:
-�7%ͧ/&s�X��؈U���R�a�RB��t� #1��EF�1/6W:L��]{A�% 4C]���m^
6)��SF;��Q]rm���J�z�2\Q!�I��2���'H��E��3!�f2:�ljGikk�1��O����[�$�$�9�
b������̋
-�=N��bږ ��+���A���1h��r !�0ڜ�ف���ɿ`t�s'�E4S��%s\{�ce��fvS�T;wu�ih��)��&�@2��c�+D5���0�|���c��ԕHy�2(o�!��M�@^e7Ǣ�*�Sq�}� ̱<� }���"T1�䇪o��@O�M\�
�?�N;�y�=�%m�˾.N���|��o�}��{�
Ҍ���(ۥXMR�:��6�Uߦ�
<
%p6����UT
���Sg��vS5@-��A�^'�6��08�y�
���38�������ꍮl����n��[<L|�
�z�� "�;�B�#�3J�}�8������
"�0�͌��)��_C��u�S
-Ƿ@i��� �
-�EI�T�9\� 2�I�N�u8{��.��e��Ks2�uC&50�,,eG&(�
�
֣N��[ւP.
p8۲[kf�"�xԀY��� 
�&L{dED�T!X��
�vC]l
G�}B7�>�̃���v
�v�y�ʩ�.�}YƘ# �
C�E��(I\ϙV|���12G %��P
2qÁ!�23Ϸ�X�h~h>�B��S���+ �v�ZgȠz�`��ha�(f�(@
��n��4Q;�d�� ��p���!���%����`��Lďe���=�����NᓎB2���Oz̡�Z��e�
�#*A5����@�krh�!2��dz��d>vltu�5�
���m��j�8z�;
U٨��0)ܨ��
ק���8��{�g���'p�yc��B�d�T���Ԝ�� ��� Rn��ք䐓�6�u�a�ҮWo&��͇��6o�00�Y���uT���J �9R�H� �Z-����eď���>P�f�3j;�����#��5ᠣm+�
�:���@w&EU�R_�p��N/����P�t��t]^
:��
-�����X
�s��fDx$
-O�8���i�=��Q���l���wu	V�*�a8�죒5��NoC
�-�Pn/z:��hS���j>Ԝ�yq��_vT��2���>A��5�AM��Fٚ
{L��o�In��W퓵�m,�
RY����l� �Z?��ǥ�`2����b�hU�Q��4`l
���5-�_J�O��^���k`S��$'��j�����}�~~���Ϳn
��~�a������q�5�4Vp�� B�(�
�]'[
Ե�5a
o��#`�#�E�ՙ����\���2jwSw
�'���?TkO��w��L)�
D��O7�0I%�>]� �������{�~�Y�ӄIXf���lE)
-Y?�|���N��*�B'�Mԑ
8��)?.���㓲��`>��s�������y�דA�T�j$5J/A%ʶ
��\��
���w��B�~��
q
�r��*��Ⱦ���xyyY=W��n�/�����`���t�h�
dV#�鿚!��~�_MԿ���ȋ�_L�h��i�g}�wI�2���S]���Ih�V@�߼��Pn!���9���
-��N�Oʠϐt��n��T��&��
��
-��ŌC����o1����=�i��+qhV��8
����8��Y+*~����>� *l�Hs<z��A��
-endstream
-endobj
-341 0 obj <<
-/Type /Page
-/Contents 342 0 R
-/Resources 340 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 314 0 R
-/Annots [ 338 0 R 339 0 R ]
->> endobj
-338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 102.561 428.041 113.465]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-343 0 obj <<
-/D [341 0 R /XYZ 89 770.89 null]
->> endobj
-340 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-353 0 obj <<
-/Length 1931      
-/Filter /FlateDecode
->>
-stream
-xڕ]��6�ݿ����
�}J�KriҦ9�3��2�6
* ��뻫�0P�&Oh�����
-��[��b��fu�<v��I#Y����V
�N�[�`}�B�~S�})h�P�����WV����ǰ���bĮ�7��V
 ]ˣ�B'N����k�~e���&�I1
����-���/+wlZ�L�<��H�=��[?��Ok/��l��"D��ohwA��E&�VEK�}�f��H�%/ڮ��}�
�sEI��B���vַa�;"
Z���(���n���.���
���k����0��5\vE֗\S�j}"'hj ԙ��
���tth@��z^�䙀�wB�g���4e���mk��X$�}�{�
��qc�^�M7�oᐻ�,k
�I;:1�Km0���W9Ჺ�
�TD�h�d�k:ryN�YAF�Ȣw�
 �w�����j+ ���oK�$ex�w7t��#@�2O%
���<�g��K �\
-�z�w�i�����ĺ�r����I��̄��D}��/����v�Y�ӏ�{���[��ʑ,	t"F�!�
K}Jd8�3ѳC]c��zHN��
��R��XF�E���H�Z?��ȵH�j��1� �"j�څx�

,�&
-~
.&��5�v��߾��T{
-VC�"���bz"pV@��\ǰ%Փ&	�Y�x)iެ�<��S��O�B�!X ���슖����+Q�`1-xĜd�u���]TY��b�UV7�3A*I�%bn E5����
p���RxH
=8�-�2f�b�E���
{�@
�?��0�TG�������ߪ;��b�
	¬�%�9,N!T)d	#��Ս�+r�Md��
����������駧o��	.8A�-�΢��AF�8~��W
�
�������o>Yl�N
޹�$����UcP����+�F�4zG��q�i0����=-�qe�\
-B�����%;�	x��ם
����~���<3�b�j��*���[��[�+�����t�E�.�'S�粮��g�'c�F��&��c��y�Q3/ؠD
�AO/�����٣+;7�L��S 1��ȗl���@�8
}�֔��d�оt��K�gl>� �Z���`��Q |ha��(8\8ȷY�p4Ā7I�&@�����V ES�L��r��L�q&�
ˢZ��(��M�E�yN����st��$յ!TWUqzx���|y��[��a���Q��t�X��EM��_0|T	���bj��S�����p~
i!�}q���u�I�dA��ōi
- Z[�R�ԋȬ>n�JW
"�嚚�&�w���b^b��^
#

@zT�%tKTq����0��E7�ۢ�/��?v"��	��3
5�䒏�3A'(�����$�/	G>�ǦT�D


(���;��r5zF�>	�|�r␢���
/j��X�<5�D)��xY
-4
��/=$����"�UvnG'`��0���24�����WCmdf�X_��y!*!���-�c^O�R��k�S!g3�:i8���
�|�����,Ӄh�;Az����	$�l0�P{q��C�x��̽�y)�1]�*7S���TTv��8��W;�x‡�z�:���f��S<��=�g���a��]���#�^��X�n`{ɢ^�U
){]l%�g��ļ,�1m`<�>��0����(f��~��̯� ��ʞ
D�k��iY��6s���R�-�
z	�+?��O'��N��b�����ίU��o!�?p�~�
��5���f�`Q���[A��_����p��O�� v�T_�z���[�\
�ێ�o��
#��D�
	�g�2�	��5��G�Q�[!��i-	��U����%4� Hׁ~��}����5kJ�<��2�i������2�C�5��ݝN''k��*��]Ӕw/Ϝ�A
���S�	�
k�y�
E���
��_��
-endstream
-endobj
-352 0 obj <<
-/Type /Page
-/Contents 353 0 R
-/Resources 351 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 344 0 R 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R ]
->> endobj
-344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 192.651 513.996 201.628]
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 169.8 513.996 178.776]
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 146.948 513.996 155.924]
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 124.216 513.996 133.073]
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 101.245 513.996 110.221]
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.512 513.996 87.369]
-/A << /S /GoTo /D (subsection.6.6) >>
->> endobj
-350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-354 0 obj <<
-/D [352 0 R /XYZ 89 770.89 null]
->> endobj
-355 0 obj <<
-/D [352 0 R /XYZ 90 605.35 null]
->> endobj
-14 0 obj <<
-/D [352 0 R /XYZ 90 296.08 null]
->> endobj
-18 0 obj <<
-/D [352 0 R /XYZ 90 261.253 null]
->> endobj
-351 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-408 0 obj <<
-/Length 1241      
-/Filter /FlateDecode
->>
-stream
-xڵY�v�6}�+�V�V���˼�i�f���Ч�,�cq
���0��
]

�Y&O�H�t�>[ґ �, �M��Q��׈	NB�i�� 	�!X��Ѹ�y�1�a�iB'S{�����a4�m��Q�K�B	��/q٢�����̓8ؘ��`
~����g��B�"d�/�bJ�A	!�j�VU��I�n������])N�4]Ip�	�)w]1=�|�W��+�ЕI̸�]S��ߧM�~v�L���U��:�k]���͔[ȋZ��>��L��M^?��S���-NT�����c|0,7<m5�������~$�Hq �pB
���|�SY�aY����K�.86
�/kUdj����8���^��:���<���D$�#�^VL� ��t]du�@��}&Ѳ��
7/f�\Fb�o"Dpa�h�
��NۚU㵣����}b��qv��c��7ΫX|�-r�VK;l�6[��Gq~*���RM�'��}��ڃwFa�KądŬ�k`�R�j�a)��ԁ�m-� [...]
Rm�d��h����Ս�'@���5	� '�

��
Y�u��p���$�_I�
^�ݜ#�㜺Q��sw�'�@�	w*���ʵ��r0�*�>F�P=k��.r�O�Ty���S%��0D"�*�s��(�X&H�8�n�|�.�G`y�8�G;`u�V��NʢM�r�f�
�W�}NXH�H�%-oS�[����{!c�$��c�
(�$�����Pi9���*�4F���W�8�f[V;3u��E�ǩv;��˧���7���v�n�{������_T��8>,'�l�ꉛ�ZL�-����x�z�h�
M�.
-RO����>{4+7˩єpY
�'���
�Y�}6����nʓ�K�B�Ƞ,.u��jg�w��*uŕ���<���b�%S�+�~�B�|

-�LE���
-�L�X��(��Ew�W��
uK�
��n2�yd���}D
W�wC'
-�7C��(/C���룼y���
:E<vo�"��7č
a��A�J��
�gh�`���.*���W������ә��~�UW���/%�l���X�On��UO	\�u�CL��
-C�@CX����AS�]���.&bL^oT�u��py��lpV�u��J�ח��
��ȡ�-�$�(S�P�����e �*�V*�	��l�y�
-endstream
-endobj
-407 0 obj <<
-/Type /Page
-/Contents 408 0 R
-/Resources 406 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 405 0 R ]
->> endobj
-357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 629.143 340.256 640.022]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 619.091 513.996 628.067]
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 594.287 230.688 605.166]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
->> endobj
-360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 596.19 513.996 605.166]
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 571.386 188.187 582.265]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 573.289 513.996 582.265]
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 548.485 293.88 559.364]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 538.433 513.996 547.409]
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 513.629 229.144 524.508]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 515.532 513.996 524.508]
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 490.728 193.727 501.607]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 492.631 513.996 501.607]
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 467.827 288.351 478.706]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 457.774 513.996 466.751]
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 432.97 223.614 443.85]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 434.993 513.996 443.85]
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 410.069 188.197 420.948]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 411.972 513.996 420.948]
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 387.168 286.677 398.047]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 377.116 513.996 386.092]
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 352.312 221.941 363.191]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 354.215 513.996 363.191]
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 329.411 186.524 340.29]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 331.433 513.996 340.29]
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 306.51 312.141 317.389]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 296.458 513.996 305.434]
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 271.654 247.405 282.533]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 273.557 513.996 282.533]
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 248.753 211.988 259.632]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 250.656 513.996 259.632]
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 225.852 222.897 236.731]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 227.754 513.996 236.731]
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 202.95 202.952 213.83]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 204.853 513.996 213.83]
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 180.049 226.384 190.929]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
->> endobj
-392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 181.952 513.996 190.929]
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 157.148 199.635 168.028]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 159.051 513.996 168.028]
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 134.247 225.846 145.126]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
->> endobj
-396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 136.15 513.996 145.126]
-/A << /S /GoTo /D (subsection.7.20) >>
->> endobj
-397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 111.346 209.408 122.225]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
->> endobj
-398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 113.249 513.996 122.225]
-/A << /S /GoTo /D (subsection.7.21) >>
->> endobj
-399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 88.445 350.557 99.324]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.478 76.49 413.122 87.369]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.7.22) >>
->> endobj
-405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-409 0 obj <<
-/D [407 0 R /XYZ 89 770.89 null]
->> endobj
-22 0 obj <<
-/D [407 0 R /XYZ 90 721.073 null]
->> endobj
-26 0 obj <<
-/D [407 0 R /XYZ 90 699.742 null]
->> endobj
-406 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-446 0 obj <<
-/Length 1389      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vj�� ���U�i�Qez�3J�d$�����] ER��:v����X�~�bw!�l
��>�u6O�D(����N���E���r�]8�
�o�U�=�̖�V�e\�,
�<
K]
?�^
~�
>��Ѻ8
-Bg�
\��
-į
��(t��G[�Q���n�� ���J]�1z�:e8�
��sB!���.�O���L�B��eH���\Qrw+V���n��e)���yoj��
���Ľ�
φs�v�֢8]���J�
-�ZN���r7����+Ӎ~U�gy+�.a(b���ڃ�,>*���>[�gl��â
��'�}�]����#^�=׏:+'�4�Rp7򿉰���#�83<�\�'�x�9EH=x�����S�E����Ґ�
�3�{&�]���w��m�����l˴�=Mo���a���_�lg
�ρʏ<7�
O�
Hx̧*I(TT�y�פ8��C9TjM5��&
�B�D�u b�o^�馊7F�U
-G
/�V��V�R�b$Қf��p7η��i��r�����nk�+��	�^��o���%
-ce�&�8�Cb|@� �1Ľ j �Xv��RƉ�����
���3iB��pL�#&�(Ead��
���
�P<�F�u@�wD��$�jg�t�[���>S&�i>��
�����di,Q�v����B|
�A������

�ne�=��m[�
-�.�8Il�,�
-/p���p��QyWz0-��YρUl��o"�c��9&z&C�]
�? 9�
����r�gU��^g�4�N_�
C�D�'f2}��b�Xb��V�"���O,ثA^�&�]�qa	��A(z�m��ʥ���i�] A��Y���O6q���-���w%.�b��`А������f�40ﭠ���d��6��{�絁q��_��T�S�Wi!7)�`]5�ծ��Hݩ�I�'�hCb�ٝK�O

-����;�k�%0�[�����Џ��L�o�
�O���adgN�B�b}��ɂUs�6����`69tY%���o<���=sr|�Zó����^���p
�Ǭ�#�V�R��lJߥ(���
���I�~)D�]�v.7
�M
*ݬ�S���4�>wV_�
�ً$�J�\UƐH����P%F�@���e�#�K��w�ts�Q�?�f�I��8����6�7U����R>��c
E����s�7�s4�M#��<�i����}��;�����) �T�����Q_�<���G;8���2/�����W�

��"�Iu�^�&N���œ���"7g
�A�QŨ3H���|r��u�i�/�B���}[��_���~���R�ˑ,�L��k�A	�{9��"��+���2�6>�ӿg�O
-endstream
-endobj
-445 0 obj <<
-/Type /Page
-/Contents 446 0 R
-/Resources 444 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 402 0 R 403 0 R 404 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R ]
->> endobj
-402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 323.439 718.971]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.069 696.136 359.713 707.016]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 698.039 513.996 707.016]
-/A << /S /GoTo /D (subsection.7.23) >>
->> endobj
-433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 674.141 285.821 685.02]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 664.208 513.996 673.065]
-/A << /S /GoTo /D (subsection.7.24) >>
->> endobj
-435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 640.19 191.146 651.069]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 642.212 513.996 651.069]
-/A << /S /GoTo /D (subsection.7.25) >>
->> endobj
-437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 464.147 181.496 475.051]
-/A << /S /GoTo /D (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) >>
->> endobj
-438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 424.982 175.957 435.885]
-/A << /S /GoTo /D (group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) >>
->> endobj
-439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 385.816 237.396 396.72]
-/A << /S /GoTo /D (group__Init_ga635128363efd9f4c8c63e21702f40183) >>
->> endobj
-440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 346.65 254.542 357.554]
-/A << /S /GoTo /D (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) >>
->> endobj
-441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 307.484 224.654 318.388]
-/A << /S /GoTo /D (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) >>
->> endobj
-442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 268.319 240.703 279.223]
-/A << /S /GoTo /D (group__Init_ga234d52733263ece8ac36c980a80292c9) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-447 0 obj <<
-/D [445 0 R /XYZ 89 770.89 null]
->> endobj
-30 0 obj <<
-/D [445 0 R /XYZ 90 625.145 null]
->> endobj
-448 0 obj <<
-/D [445 0 R /XYZ 90 593.012 null]
->> endobj
-34 0 obj <<
-/D [445 0 R /XYZ 90 593.012 null]
->> endobj
-449 0 obj <<
-/D [445 0 R /XYZ 429.872 549.148 null]
->> endobj
-38 0 obj <<
-/D [445 0 R /XYZ 90 532.07 null]
->> endobj
-450 0 obj <<
-/D [445 0 R /XYZ 90 483.277 null]
->> endobj
-451 0 obj <<
-/D [445 0 R /XYZ 90 326.733 null]
->> endobj
-452 0 obj <<
-/D [445 0 R /XYZ 90 230.493 null]
->> endobj
-453 0 obj <<
-/D [445 0 R /XYZ 90 161.474 null]
->> endobj
-454 0 obj <<
-/D [445 0 R /XYZ 90 137.035 null]
->> endobj
-455 0 obj <<
-/D [445 0 R /XYZ 90 137.035 null]
->> endobj
-444 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F23 168 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-468 0 obj <<
-/Length 1542      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~�����@�P�(K{�Ҥp�&���m�֪�KQ5�_�Û$�J�6�x;���
�����W��g���1vb�$tfk'��8�
a�r>�?�^;~!/�H�^��ήngrop5|x��
O�S4��e>��	;+X~�`�Ǒ�W�r' >|3�a�� Q�"E1�8p�^��� S&j>�[TJK
��C�Eh
$#�b�k������tz7�On�_�L^�/��޽u$��kv�1�qd�N����[�Y��	ԓ���nR�I�q���NZ�"M��o�B��
Gޘ��x�(�Pd,""��#c�AhV�]6��1);��S�U^^�+{=�`�;
��u��#}�M�'fZf�[��fzc�
���#.�mS�b]K�����ue�]��$����f-7�B�h�T�
��
:v��0��@ �?�CF���A�ׅ�����9��e]��b3_	uK>�~,&b
�8����;=��
��reT��H�1Ƭ$ɢ<Qn6�Ie1b���D4W��Fߢ��W
���A[�9[��`U�0,�	��Z)�\ϵ�
���Z �MjQ�p��Y�†s"e�4g*
�{	���
hlYw����`leo+
{�F��rV�����G��J[�Z�K�*g*�j
ƌ���״����}���|�� ��-�Ûš�T
@Z�U�up��D�
�Y�S�}
NfGi9i3W�>��!��d&���2��#���a��u�)i��� �eV
���[���)��lyk�MX���
�6������

�2�z��b�,��Ap���®�MF�ד�]�ҧ2bʹ�d�˴J[�(��*� ��)��D��g��G� ����������kj�H�
-�Kx���^֍S���črMX/�L-U�ȝ��݂�q
)y� taQܔ�J�
 +G�+�����	

-�&%��ؗZ
-'� 랻)�~�{r;�����GYߞ;�
+eB%�4�\�PM[ʩ6�$X[�&��	�!7�� �߰_���Q at 0�����zĊ3���HG���#��
-�]OaSE����B&

8e��{��=8��
2+�-3��2�բe�?8��xY
-����tҶA ���� A�` O���+V�9t���>Ͳ�V2K�T�0�� �����'
%��L���^�ǡ�c~T9@�Lt�G!��@�$61�6�=T!�B�lB�r˖���{�	�o
�K��";ni;�~$
-=�	�4·1~Y�fS>��Ƽ�꘩}��WӇ���1��#0 yq��i�c'��@�����Ŷ��^Q�,�B$i��O�Ư '(1����T���% ~���y恌��n�g$�\�̬�y�
]f��T��&������V�P������AA�� j���F�7�`�(�����
�>9x���M�ɥ>r��:��I5e��˥Yz���!�n�	�&�*}r�4�����#H�Q�:� :kQm�ώ
��o�V/���;�B�~;?���hY��Hw
��
Z��Ӭ�2� r4n���*@�\w��CZ��-9}������
-endstream
-endobj
-467 0 obj <<
-/Type /Page
-/Contents 468 0 R
-/Resources 466 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 462 0 R 463 0 R 464 0 R 465 0 R ]
->> endobj
-462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 152.817 213.038 162.744]
-/A << /S /GoTo /D (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) >>
->> endobj
-463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 114.063 251.782 123.991]
-/A << /S /GoTo /D (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) >>
->> endobj
-464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 75.309 251.225 85.237]
-/A << /S /GoTo /D (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) >>
->> endobj
-465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-469 0 obj <<
-/D [467 0 R /XYZ 89 770.89 null]
->> endobj
-458 0 obj <<
-/D [467 0 R /XYZ 90 684.289 null]
->> endobj
-470 0 obj <<
-/D [467 0 R /XYZ 90 669.764 null]
->> endobj
-459 0 obj <<
-/D [467 0 R /XYZ 90 557.005 null]
->> endobj
-471 0 obj <<
-/D [467 0 R /XYZ 90 542.48 null]
->> endobj
-460 0 obj <<
-/D [467 0 R /XYZ 267.991 455.459 null]
->> endobj
-472 0 obj <<
-/D [467 0 R /XYZ 90 438.777 null]
->> endobj
-461 0 obj <<
-/D [467 0 R /XYZ 484.685 351.757 null]
->> endobj
-473 0 obj <<
-/D [467 0 R /XYZ 90 335.075 null]
->> endobj
-475 0 obj <<
-/D [467 0 R /XYZ 379.133 236.099 null]
->> endobj
-42 0 obj <<
-/D [467 0 R /XYZ 90 220.04 null]
->> endobj
-476 0 obj <<
-/D [467 0 R /XYZ 90 170.764 null]
->> endobj
-477 0 obj <<
-/D [467 0 R /XYZ 90 132.13 null]
->> endobj
-478 0 obj <<
-/D [467 0 R /XYZ 90 93.376 null]
->> endobj
-466 0 obj <<
-/Font << /F70 201 0 R /F72 203 0 R /F56 167 0 R /F90 474 0 R /F23 168 0 R /F79 234 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-491 0 obj <<
-/Length 1442      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��Wp�C��ƒ ���;N�$���d<[l$R%){�_��H�J��1�����~�X�z�
�~
=�M�B��$V\yW^L�0��T�4������QJ��c|]VY��'\R��B���z<L���l������b����~�1�'Iy�j��
���ܣDđwk�V^��K�|���:h�#B�����@e<&4�B�c��b��*ˋ��f5�n^\�X7r�^���D��q�Z���H�_Ή
-8��cD�s��ὙH�~K)ϵ{i�)�
QgV�a�|}xv~�������c3�Ug�� �
�xL
-,�Y*�"���I�&ۺ��&����8��!�����L�	�Z�`nI��nĐ$��H�R����w����/���*e�o�O�d�k该N*����s����(�����X�t^�b�'뉡(��Mb�\Q-��"���f�����"2rD
m�c���� f� h� �������危���*�
�
��[*�͘CDgs��O� ���zS��ή��~���_�=�5�={�c��d�J=�m"�
�q����O�Ӧ�o
�.�����c-��\#�t��}>=���df!b�#�T�J��h����4�ʲ��Y�?��Xt�%�]L(Ɏ
����z���p.^@m���ѽK
��%�������V���$���/
*&a��\t̒<����$\�_308T��&2�Cc�Ê�H�{��f����$�l������2[�.�������D5�w�Y���{U'y�x�&Wmi��^&u󹆡e6+���'#���v�8'�>$p��
�xk��в"ݘ26il۵����e�A�v
-�p@�w$�`�����)����倴ն	8�D׎
�/��jC�tp�	٦i�%!	U�Ȭ>�d������4g`��IUЊX�����f��}�>~��
_�������˳G�����
̎g�}8>J]�5����,w˻���G&��؇	袠�Y%��K{8���o�BV
�Km�>�&� 'C<���4���͊z� �u+c���[
��7%��h�� �Z������P�>{�}0���@ 놬M׳=@�.��\����р�@t��O0>�K�V��
�������6oL/�`�Y��Eq���®\��E��}f� &g��y
rrĈ�Y/�B�/��aS�3�,m��D�;s��)$ƽVBV�T>�ʇx�\ܩP��
r�A�)�a�%X�8
-wG�@�jO��egck��ݽ���V1���7�` �)��D
B"A�s}$ �m� ��<r�U��[�y��ۓ�􄇧(r��כ�����%W��LR��G�˟ǐ�*��i�o�u��U�°���ɐT
�s�\�!�f���F��.
DP�5~[������������ٺ$Y=�zsz��g��1��MxO�V�uؐ�����P„�
-endstream
-endobj
-490 0 obj <<
-/Type /Page
-/Contents 491 0 R
-/Resources 489 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R ]
->> endobj
-480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 683.943 264.505 693.871]
-/A << /S /GoTo /D (group__Version_gabadfeba0a415d210cdd6d7309365e800) >>
->> endobj
-481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.731 642.93 243.105 652.858]
-/A << /S /GoTo /D (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 545.159 204.032 556.063]
-/A << /S /GoTo /D (group__Version_gabdf8f4e9416010573d48e21cf0584762) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 504.145 204.589 515.049]
-/A << /S /GoTo /D (group__Version_gab51f10ea37de5299e9bc840afa206d4e) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 463.132 212.639 474.036]
-/A << /S /GoTo /D (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 422.119 197.387 433.023]
-/A << /S /GoTo /D (group__Version_ga676f27ad949159a3b79577f78870f60f) >>
->> endobj
-486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 381.105 175.808 392.009]
-/A << /S /GoTo /D (group__Version_gac6abee034f6ac000f15d1206fdeb8316) >>
->> endobj
-487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 340.092 173.736 350.996]
-/A << /S /GoTo /D (group__Version_ga63fef7041da34ac5bb372a2535d99377) >>
->> endobj
-488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-492 0 obj <<
-/D [490 0 R /XYZ 89 770.89 null]
->> endobj
-493 0 obj <<
-/D [490 0 R /XYZ 90 703.14 null]
->> endobj
-494 0 obj <<
-/D [490 0 R /XYZ 90 662.127 null]
->> endobj
-495 0 obj <<
-/D [490 0 R /XYZ 90 565.212 null]
->> endobj
-496 0 obj <<
-/D [490 0 R /XYZ 90 565.212 null]
->> endobj
-497 0 obj <<
-/D [490 0 R /XYZ 90 524.318 null]
->> endobj
-498 0 obj <<
-/D [490 0 R /XYZ 90 483.305 null]
->> endobj
-499 0 obj <<
-/D [490 0 R /XYZ 90 442.292 null]
->> endobj
-500 0 obj <<
-/D [490 0 R /XYZ 90 401.278 null]
->> endobj
-502 0 obj <<
-/D [490 0 R /XYZ 90 299.264 null]
->> endobj
-503 0 obj <<
-/D [490 0 R /XYZ 90 237.648 null]
->> endobj
-479 0 obj <<
-/D [490 0 R /XYZ 90 214.851 null]
->> endobj
-504 0 obj <<
-/D [490 0 R /XYZ 90 214.851 null]
->> endobj
-489 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F56 167 0 R /F23 168 0 R /F93 501 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-523 0 obj <<
-/Length 1671      
-/Filter /FlateDecode
->>
-stream
-xڭX�r�8}�W�P3(�@`�-��w;됹�̔
�$�b�W�d][��ۺ��q���C*��ju�N�N��[g�ߣ�ѩ�� 
������b
���MJ�����u	<�$gO��(
DWb�F��:��A�~���1]v����
��00r��� ���K
��0�:v�ASA��3=� Dz	��<]g�2�3˦
��|�^&Y�)a.6l�"��VD��4+վ�j1��Y�p��fx�g�^��c.�
���[�svY�;�OIME.s*���h�袠K��Q2�k�������v)�J�
OˤPf��
#� р6mԧӧN_�9��\/�b
�
�WE
Ζ��m��i�Z�<�n�R��f��r������`�D�mF��R�?򨫌��6B���5W<�3�ә�	���MΗ��Lē|]��:���a�^�Nx���LP�s�N�� ��
�\��;%���#2�f��,Q�<�ʍZ~��e�'e�y����\��9�q]���;1p z�U�����Hfj$���bs� [...]
ͫ�������F_��}=�4PN�f+p��AO�
�z���Ix������Y����$
-{o�~�0�/B��['t��|x7��O)��okr[R�A�BI�\YR\D��لAL|� 	<�4������:aA!��(�H��G�m��Et�����I�檶�3�Y(m�*��"��NWꗕJA����ER�B9u=��B.xؽx��t&��H��!
�	N����
~%����.�����9�8���X
���t%nI�N^F�Ƅ��
�>/�h.�E�홆�l/J��jP at -XAv�Q� �y�mC��\?�Mk������:y��[p���� �\T��Q��
q�YNr }�[
-WTY9kg����"��QQb	�j],�0GsMf�~6�@�Qo��(і�(����f����]ux$��\q��ô�>T�g�ZŐT�=Um Њ���N�����juf� �
]�}�sA`�
,�̇4�k�lQ��~���x!~��2Y�@��B,�^t �x�H��@�X.�z��iRjv
��$I2���p���4�8�
��Nb
�
@�n8[��I�\�z�g�
����m��*"��n\�#
��G��L��*��h���zH�y
��(�p�V�H��V��3.k�|�����v��9��_�U
hf�TU~f�:h-q��T*�u�U���U�y`��ү2�k
��|���k
�k
���㘗�1tz�'4��b3Of<V���?N��y�ݮ�[��/�&��vy����M�M|(Ԇ�8�y$�7��u5�����Y��]�*�
l�;�}�ȏ [��+�~��r������M
���Giy���1 �J@��#�#� ���n;ܼ�� i�#
-endstream
-endobj
-522 0 obj <<
-/Type /Page
-/Contents 523 0 R
-/Resources 521 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 356 0 R
-/Annots [ 506 0 R 507 0 R 508 0 R 509 0 R 529 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 530 0 R 518 0 R 519 0 R 520 0 R ]
->> endobj
-506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 516.359 228.51 527.263]
-/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 500.633 263.2 510.82]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) >>
->> endobj
-508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.213 500.633 437.728 510.82]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) >>
->> endobj
-509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.741 500.633 513.996 510.82]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 488.678 194.647 498.865]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.636 488.678 337.212 498.865]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) >>
->> endobj
-511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 472.235 258.956 482.422]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.002 472.235 356.269 482.422]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) >>
->> endobj
-513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.316 472.235 511.506 482.422]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) >>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 460.28 346.278 470.467]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) >>
->> endobj
-515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 443.837 278.951 454.024]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) >>
->> endobj
-516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.495 443.837 410.78 454.024]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) >>
->> endobj
-517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.324 443.837 513.996 454.024]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 431.538 148.72 442.068]
-/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
->> endobj
-518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 348.039 216.893 358.942]
-/A << /S /GoTo /D (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) >>
->> endobj
-519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.766 348.039 372.738 358.942]
-/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-524 0 obj <<
-/D [522 0 R /XYZ 89 770.89 null]
->> endobj
-525 0 obj <<
-/D [522 0 R /XYZ 90 721.073 null]
->> endobj
-505 0 obj <<
-/D [522 0 R /XYZ 90 704.04 null]
->> endobj
-526 0 obj <<
-/D [522 0 R /XYZ 90 704.04 null]
->> endobj
-527 0 obj <<
-/D [522 0 R /XYZ 90 602.8 null]
->> endobj
-46 0 obj <<
-/D [522 0 R /XYZ 90 587.099 null]
->> endobj
-528 0 obj <<
-/D [522 0 R /XYZ 90 535.836 null]
->> endobj
-531 0 obj <<
-/D [522 0 R /XYZ 90 367.515 null]
->> endobj
-532 0 obj <<
-/D [522 0 R /XYZ 90 309.084 null]
->> endobj
-533 0 obj <<
-/D [522 0 R /XYZ 90 249.026 null]
->> endobj
-534 0 obj <<
-/D [522 0 R /XYZ 90 224.585 null]
->> endobj
-535 0 obj <<
-/D [522 0 R /XYZ 90 224.585 null]
->> endobj
-536 0 obj <<
-/D [522 0 R /XYZ 107.713 122.328 null]
->> endobj
-537 0 obj <<
-/D [522 0 R /XYZ 107.713 93.929 null]
->> endobj
-538 0 obj <<
-/D [522 0 R /XYZ 107.713 77.486 null]
->> endobj
-521 0 obj <<
-/Font << /F70 201 0 R /F23 168 0 R /F90 474 0 R /F56 167 0 R /F72 203 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-555 0 obj <<
-/Length 2167      
-/Filter /FlateDecode
->>
-stream
-x��YKs�F��W��bB� �i%�V"KZ�NR�T#`HN
4
��_���3 @1*���^�"���_�=��;o���8:~��N�1����I}'�R���˝�n���4�}�}+ʼP�j���G'
-B�8D�b!�
�G���N�^2s�����}'��
�
ә�m����[8��}�K��˥����1?r� �>}}}q;���D�{us{1�|�x��ײ
����h慳�ʰX��4�7�ʦ���U���J���+t�w��?d��X�-�>L�ꊜ&�$��Lʜ�U���F|Q�n�U9
��K�fS�*�n���F�-�d�w������h�#`�f
��=AGj���~/Hӝ�Nn�o��秷W8�����
���Y���K��;�� qE���F�*�~����Y���a5a
�s3�ʲ���t��4�m����l�V��*i�Nl=[N����c)뮑�;Y��#�NW�����4�B�V
�e`O8� 

-�I+`U�Qz�H
��|��Ek����~�[��Zԏ�M8w;���Ԃ5��kЩ��]Օ�V��6*o%k��'��A���l�4���
�f�雯���������'E��F( 䀪���#C/�jqK?��J��qյ�cv����`!���7Um�`[�L5���U&
" �0��^/�.�[�+Ӫ+{?e�k�|�0�U�B���J԰!jb�1n�z(�C�I�٬���Fb ��S+���r1��������
O�(
�-
"�R�3VĦa7h�>��\�UY5�ڠ{����<��එ�
�}F�g<w��ɞ�Ȓ�lF0�C+t�4ƒDЀ���
-?\�tI�w	�G_=�<C��ܜ��=�_/ί.�S)
S/�{� �� k���:���[#��.��
�B�J�}�H�b @F{���~�=5ꮜ�jc����
-�� ��}���_���������b~�B�&��|�Y�ܶjE��
1���SI��|#q<�a�4��p���1�nlm� 
-7�0�l��������W/� �S
�#�d=A]hQ��
�
ɑ�
��а��Y X����|�&�WU��� MũF�����5�č�Mo��T��	� 1�zY��0���(-d�)+���O���;�.	����߮1IBX�5�##��f���2�U��f�	�6
��JƂ{��ݢZ�
]��]�!�@>��l
�Kh��j��
-�g�R�m}2W&�x�R�5,0��I�*X/���
�R
?���G�Z�L�UF@,�
��Ś�>cccw^YO,+3�t�mU�=�6���#� _ǘ$���7�҉���:��2�%
gU�!�R:j.ˀ(�x��
�f�U�rw�-n�@7�y��5�P�i���u��rl�E� �P}`�,��8p��
�i��6�k`op���%][�)1�=ft-�ׁ�3:fcS��V�l�Zi�
��s<y�M8�Cb��<�]���R����=G@Es�p����Ĭ���� ���
s�
-�,��WOcO3A�ǺN

3�(�af�b�g^0c��bƇe)�6�k�

K|B�'�.P����4��&A}�0�����```'���?h��fx]�5tʲ�A��+�و�VqG�S09��"�/#��}!�Ҽ��x��xJr*��+pFU���aG���H
M�
���ȧ��#&.
{�����*
�dkV��`@qH�ek��cn�>�ղ�j��h��9
���	��s�1{��GO�͚g�
�X8�#Ac���8!�'��a|�W���F/Оb��r���)�+���[�~��
t�q
ic�젣���t������]́��:��m���`ekI�,��3z��V���+?w��lًL�e[�'�FNn��oǕ�N��W�=�wLkV`ƽ ���

t�BQt�j����5̮hi����?
J�>�y�V��7B~.[|�+�?T����A�պ�6� �	�ͺ�`��7<���e��7F�8�.�
'���1H��)_?݃�`SA���%
����*���/ o�.s���q-�Z��=�R甖\�����?G�L9a�>@^�?�†w��| �L΍O�
i	}�-CCzTᾗ�(�4�ɱ���t����E3��6�k����^�x]�����c����ػ;$"PM�ےo���{'�0H��v;�����
-endstream
-endobj
-554 0 obj <<
-/Type /Page
-/Contents 555 0 R
-/Resources 553 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R ]
->> endobj
-548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 225.612 193.122 236.516]
-/A << /S /GoTo /D (group__Timeout_ga3b97bf31964a662176749152d0086271) >>
->> endobj
-549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 184.24 200.863 195.144]
-/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
->> endobj
-550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 142.867 250.127 153.771]
-/A << /S /GoTo /D (group__Timeout_ga8394b6aef8fc9841ec4e63c2724ad75d) >>
->> endobj
-551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 101.495 257.868 112.399]
-/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
->> endobj
-552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-556 0 obj <<
-/D [554 0 R /XYZ 89 770.89 null]
->> endobj
-539 0 obj <<
-/D [554 0 R /XYZ 107.713 711.11 null]
->> endobj
-540 0 obj <<
-/D [554 0 R /XYZ 107.713 681.956 null]
->> endobj
-541 0 obj <<
-/D [554 0 R /XYZ 107.713 640.846 null]
->> endobj
-542 0 obj <<
-/D [554 0 R /XYZ 107.713 611.692 null]
->> endobj
-543 0 obj <<
-/D [554 0 R /XYZ 107.713 582.537 null]
->> endobj
-544 0 obj <<
-/D [554 0 R /XYZ 107.713 553.383 null]
->> endobj
-545 0 obj <<
-/D [554 0 R /XYZ 107.713 524.229 null]
->> endobj
-546 0 obj <<
-/D [554 0 R /XYZ 107.713 495.074 null]
->> endobj
-557 0 obj <<
-/D [554 0 R /XYZ 90 451.604 null]
->> endobj
-547 0 obj <<
-/D [554 0 R /XYZ 90 428.726 null]
->> endobj
-558 0 obj <<
-/D [554 0 R /XYZ 90 428.726 null]
->> endobj
-559 0 obj <<
-/D [554 0 R /XYZ 215.408 315.191 null]
->> endobj
-50 0 obj <<
-/D [554 0 R /XYZ 90 297.688 null]
->> endobj
-560 0 obj <<
-/D [554 0 R /XYZ 90 245.845 null]
->> endobj
-561 0 obj <<
-/D [554 0 R /XYZ 90 204.592 null]
->> endobj
-562 0 obj <<
-/D [554 0 R /XYZ 90 121.847 null]
->> endobj
-553 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F56 167 0 R /F79 234 0 R /F72 203 0 R /F23 168 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-572 0 obj <<
-/Length 2024      
-/Filter /FlateDecode
->>
-stream
-x��XY�#�~�_��%`�i�}�-���w'Y-
�1T��ۇ܇e�ק�*�!i�k�o~jv�,���{{���q��������R�F"��;/��8HY����q!��O��<%��l��7ޯ߯?�������w
�|����ʼn��w?��{[ ��L��w��J/�����_w���p�8�3#2�\q��ם�
�]�Dh�ڬɏ]^WF���a4a�{+0���m_efe�{wu��Vw]^��GUĺ�3z����93q�
�Y��
-��
I��Y_�SN�K	��Aռ�p��X|a>�
H���}���
-�aeJ�2�(b~8��l�!9�Y̥[,�
3�x"Y
��* -cR��Ȑ�A�ltaެ.�=�LN����d�Geu_
����܂_�����c]�sU�dY��V�n���j�
�W>K!����
Q��%n�*u��v�{�27s�b?5&k���'{f��Ei茾v֫�r������6�;�sr����B,B���'R��[m�e�5y�g��7Zu���L�?���R�_�~6��%%��}B,:��B��0
���.��Z7M�l
-��q��lS;#'���Z.���:������SkkB8�L�ăZ
-��E�%�ql����!UD]�ck厃E�W�7)��)��!�H��p�f�PY`fG5�x3���
mX��<I!d��81��=Ou8u��|^F��
(�?�bw�W�Y-)	v�(��7a�K� �M��ȹ�7��C��P7�#���>�����i���?o
��O���#!
E�1<��ќ�V�����
�ƲR��((1�˹���hk�4��B�|�L�l���S�4Y6�z9^�*f0��U��I&h�AX1
�6{��۪55��#��`���t�`P����璅�;n!�*>
Ma
$K�p
-O�%xښ�Y�U�vy���J@ʦ"v�������M���oA����
��\�
j�8^Ț[�������
-�J�k^��圪'�jE�PI�������]�^<��2�+�@�K(d��ܙц(�rk^�/m��,d��q�J\Gi at 7
�z�����1K�� ���ݙ0+N��
��7��‹��d�`^.�`�EėH
;l���H1���5�
A<B�
�XqnB�L%\�B����YM�*x�9��^
�N�%౅���3{9A�Y8@��#1�9�<2,���U��4SfVWot��L���!Q�.��)��'�ƙ�E��P'����
u^,t2��ʇ�R���^�o��!'�|C�~���Ag_�9rRU�lBѾV�[�R�ߍ
�t
-K ���s�]_�$�y�3շ���EUa�l�i�5�ʺ

-67Qʂ0}�e���,���"m����m�)����+S}�h���^�aޞ�#�c��kwt�A�H�K�8j����-�Dy�
1�� ���"�ٜn՘x���9�|��� � ��KfZX�
�"/�7u�SX�`0/�@�

�y��*ic`u��鞎�5��۞�N����7���X�S{�e�X���p�=͇L�U��jL��S#��Hks��@�q�3�ּ-��� |�e0�
Uq���C�yFk�p�B�Q5�}���2�n�'쵁ê�oVhE�4�Tc�o�����̤��%��g$ɬ��_
��5�I��/{"M��l�F����ѭ�Z��4\�;�"�(1��l����h/�.�p��Ix��@2����~��]_�
�c��6�a8$�t�-��݅/��Q[���V�4:��M;y��j2���)�<
��R` ��JB.��WDt�x��7�e
-�r>������K���ҭ�]��
"S�ہ����{]l��.
�'t��'�!�.�@C��D�k�@��'h�b���g��O�l)M�o��T�p=���������p����SվW{��d���m�2"}ju��2�T�
߫
-��L��:�}贘�jU:��Cd��ύ��
Ũ� �|<t��/�Ӊe-�8>6,�
 a
���Ȅ� L3�l�d���K��%�/
-T.���I*�
-endstream
-endobj
-571 0 obj <<
-/Type /Page
-/Contents 572 0 R
-/Resources 570 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 566 0 R 567 0 R 569 0 R ]
->> endobj
-566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.939 481.019 511.506 491.923]
-/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
->> endobj
-567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.772 290.824 480.025 301.728]
-/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
->> endobj
-569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-573 0 obj <<
-/D [571 0 R /XYZ 89 770.89 null]
->> endobj
-574 0 obj <<
-/D [571 0 R /XYZ 90 721.073 null]
->> endobj
-575 0 obj <<
-/D [571 0 R /XYZ 90 670.288 null]
->> endobj
-564 0 obj <<
-/D [571 0 R /XYZ 90 647.977 null]
->> endobj
-576 0 obj <<
-/D [571 0 R /XYZ 90 647.977 null]
->> endobj
-565 0 obj <<
-/D [571 0 R /XYZ 90 472.217 null]
->> endobj
-577 0 obj <<
-/D [571 0 R /XYZ 90 457.901 null]
->> endobj
-578 0 obj <<
-/D [571 0 R /XYZ 90 127.12 null]
->> endobj
-54 0 obj <<
-/D [571 0 R /XYZ 90 121.353 null]
->> endobj
-570 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F90 474 0 R /F72 203 0 R /F79 234 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-614 0 obj <<
-/Length 1081      
-/Filter /FlateDecode
->>
-stream
-x��YKw�F��+����0o��k�8��{��d��pd�Z�I�u}�hc0X���x�
3��}��
f�7�������?���XR�
&^����HH�{W�D2	�ؿH�ˤ�B*��KR'�}�� d��̧"�2x�{3�}���=bm	)o4�]}��
��0b���As�S�3��G?!�� ����zR5~�3��B>�F$�Ly!�H��>S�r�w
-H���lzU��
�n�I����>6̘��
��\gU�gC3}���/${
-"��DIN����E�O��� ��L��]��:�؟�~2�O��$/�E��ׅ��tV��ԥS$#7�!�
-���d���r��8 �����MR���s�|e[1�
X��
�o�!
��4�F�o
-�ir=��|Q�z8Yd�z+G���X�\���l8�`�l�u��P*��p�+W�7z��ܡhSq��|*W-ղR
*�(�G��:<�+ƫ�\���Y3 5`��R��a�L7ԼV(�K���R��>D�!aI�mM������V�F��XB����
��}�W�<ꀅ��˹�u!mc�
-+�Qʯ�ԣ���E��
���(ue�;-҈Št@�ׇ�!)��O��4�ao���]��3m��
e@�M
g&�2I��
1�M�X�<�#"O�U���G�)w�$��_ H*~�
-���j=ߧ?Hѱ���
qu�z�{k���o���P�{���
�I|I�2I�l�
-e
-z��Q�祲�AlQ��
C
-�1�ݕÙl%���8R��r��d
h��I�i4�GI��g�ƈ2!(���H8"P&'��>�ou����P��
����10��I���0�.�$T���

� c��Vc+4�]�IG�S
�#Haq�Z8v)����$��b�D@)H��Is0ј�����`�GH�k[Ȍ��Âr��[��g�7z\&���,n�쐋$�.������}�ۣx����~e'��d��8ޙ-�[�R�f��>��&5[�(���^�[��W��ڤ��\��F�M]?��wwwhT�E�%J�>��z��2B�ي�����ql����f�p��������B��
-endstream
-endobj
-613 0 obj <<
-/Type /Page
-/Contents 614 0 R
-/Resources 612 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 568 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 628 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 611 0 R ]
->> endobj
-568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 685.097 255.368 696.001]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.908 645.973 351.956 656.877]
-/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.771 645.973 439.128 656.877]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 606.85 251.792 617.754]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.762 606.85 331.243 617.754]
-/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
->> endobj
-583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 567.726 251.792 578.63]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.283 567.726 380.777 578.63]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 528.603 283.024 539.507]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.995 528.603 393.708 539.507]
-/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
->> endobj
-587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 489.479 283.024 500.383]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.516 489.479 443.242 500.383]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 450.356 249.281 461.259]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.251 450.356 326.222 461.259]
-/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
->> endobj
-591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 411.232 249.281 422.136]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.773 411.232 375.755 422.136]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 372.108 283.602 383.012]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.572 372.108 394.863 383.012]
-/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
->> endobj
-595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 332.985 283.602 343.889]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.094 332.985 444.397 343.889]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.707 293.861 343.168 304.765]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.94 293.861 513.996 304.765]
-/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
->> endobj
-599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.62 242.783 347.081 253.687]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.145 242.783 513.996 253.687]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 231.804 178.437 241.731]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 191.704 247.598 202.608]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.568 191.704 322.855 202.608]
-/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
->> endobj
-603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 152.58 247.598 163.484]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.089 152.58 372.389 163.484]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 113.457 281.918 124.361]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.889 113.457 391.497 124.361]
-/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
->> endobj
-607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 74.333 281.918 85.237]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.41 74.333 441.03 85.237]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-615 0 obj <<
-/D [613 0 R /XYZ 89 770.89 null]
->> endobj
-616 0 obj <<
-/D [613 0 R /XYZ 90 702.302 null]
->> endobj
-617 0 obj <<
-/D [613 0 R /XYZ 90 702.302 null]
->> endobj
-618 0 obj <<
-/D [613 0 R /XYZ 90 626.078 null]
->> endobj
-619 0 obj <<
-/D [613 0 R /XYZ 90 586.954 null]
->> endobj
-620 0 obj <<
-/D [613 0 R /XYZ 90 547.831 null]
->> endobj
-621 0 obj <<
-/D [613 0 R /XYZ 90 508.707 null]
->> endobj
-622 0 obj <<
-/D [613 0 R /XYZ 90 469.583 null]
->> endobj
-623 0 obj <<
-/D [613 0 R /XYZ 90 430.46 null]
->> endobj
-624 0 obj <<
-/D [613 0 R /XYZ 90 391.336 null]
->> endobj
-625 0 obj <<
-/D [613 0 R /XYZ 90 352.213 null]
->> endobj
-626 0 obj <<
-/D [613 0 R /XYZ 90 313.089 null]
->> endobj
-627 0 obj <<
-/D [613 0 R /XYZ 90 262.011 null]
->> endobj
-629 0 obj <<
-/D [613 0 R /XYZ 90 210.932 null]
->> endobj
-630 0 obj <<
-/D [613 0 R /XYZ 90 171.808 null]
->> endobj
-631 0 obj <<
-/D [613 0 R /XYZ 90 132.685 null]
->> endobj
-632 0 obj <<
-/D [613 0 R /XYZ 90 93.561 null]
->> endobj
-612 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-667 0 obj <<
-/Length 983       
-/Filter /FlateDecode
->>
-stream
-x��Y�r�F��+z��U�Y�5���<�XY�S*,aY������B���
F���x�{9�O�醒��m�Qoxj(q�4�dtM
%F:P���"��e�m�9���ғϟFo>���ޛQ�k�a%��W`,�,{_(�b�{BA8Kn�FK"��난����2�ݫO���i��Ƹj�a
�y|^�_7Q�
V�<΢�?d��N�x������h�A�r]����pZr�J
Y"rɹ���\
Őw�h]�`�,�L��Y�K:+���P$�Z��Fq��Y�����Y�
	��YY���J��)Bw� �ܲrI��	��a���n{�� [�(���2d�0U�c,xfO>��|�m��Qv��
+v�18�m
�J+
�D��oP�s�
�r��J̟�!C��h��hb3G�I��MO�&]1E�^t ��1�8�:ql��ŹlU�f$H�:�ݏ���+a�㿜=�d`p+���6�a|�Dʘ���P�z�(8�`�QDю
'@��@F�F���c�@'��a��J�Ah��V|*ۥ^#��+K�Q�g�U��.�[ҕ����j�q���Ƙ %ţ"���
8�J�JP:p���S;ʶ(�OxݦeJ+��t�
ډ{�g�`����t�w�k�$��-POc-$��U�a?��)�	-5���$݃�����.�
0�
K$�8ɝ����kE��#��M=[�9���d��.�W��t�
�H��T=�3����&�=D��~��YP�6�Gdgz�V�'eU���rpNW-�+�vǘL?�;����b���S!�
L���?�c�'����?1���v2–�Q$!l_$1��9"8�3��2�yp�,�n�i���4L��Éo�!�g�pV��3~�g4'e�_�(���T��
>��&\��K��y�(]ϓ��G)���A �
��#�����I���Z����M��~
oooa��M<_�0φ�p��
-8
�rߦ��$��-�4��0��pf�su�"O��#�k
-endstream
-endobj
-666 0 obj <<
-/Type /Page
-/Contents 667 0 R
-/Resources 665 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 609 0 R 610 0 R 634 0 R 635 0 R 671 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 677 0 R 646 0 R 647 0 R 679 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 685 0 R 658 0 R 659 0 R 687 0 R 660 0 R 661 0 R 664 0 R ]
->> endobj
-609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 683.841 341.684 694.745]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.654 683.841 511.027 694.745]
-/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
->> endobj
-634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.967 644.574 346.745 655.478]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.828 644.574 513.996 655.478]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 633.595 178.437 643.523]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 593.352 255.907 604.256]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.877 593.352 339.473 604.256]
-/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
->> endobj
-638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 554.086 255.907 564.99]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.398 554.086 389.006 564.99]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 514.819 290.227 525.723]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.198 514.819 408.114 525.723]
-/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
->> endobj
-642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 475.553 290.227 486.457]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.719 475.553 457.648 486.457]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.684 436.286 359.771 447.19]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 436.286 513.996 447.19]
-/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 425.307 152.425 435.235]
-/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.048 385.064 362.135 395.968]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 385.064 513.996 395.968]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 373.109 212.758 384.013]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 333.843 270.84 344.747]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.81 333.843 369.34 344.747]
-/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
->> endobj
-650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 294.576 270.84 305.48]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.332 294.576 418.874 305.48]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 255.31 305.161 266.214]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.131 255.31 437.982 266.214]
-/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
->> endobj
-654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 216.043 305.161 226.947]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.653 216.043 487.516 226.947]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.757 176.777 372.777 187.681]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.598 176.777 513.996 187.681]
-/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 165.798 178.437 175.725]
-/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.101 125.555 365.122 136.459]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 125.555 513.996 136.459]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 113.6 212.758 124.504]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 74.333 264.225 85.237]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.195 74.333 356.11 85.237]
-/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
->> endobj
-664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-668 0 obj <<
-/D [666 0 R /XYZ 89 770.89 null]
->> endobj
-669 0 obj <<
-/D [666 0 R /XYZ 90 703.14 null]
->> endobj
-670 0 obj <<
-/D [666 0 R /XYZ 90 663.874 null]
->> endobj
-672 0 obj <<
-/D [666 0 R /XYZ 90 612.652 null]
->> endobj
-673 0 obj <<
-/D [666 0 R /XYZ 90 573.385 null]
->> endobj
-674 0 obj <<
-/D [666 0 R /XYZ 90 534.119 null]
->> endobj
-675 0 obj <<
-/D [666 0 R /XYZ 90 494.852 null]
->> endobj
-676 0 obj <<
-/D [666 0 R /XYZ 90 455.586 null]
->> endobj
-678 0 obj <<
-/D [666 0 R /XYZ 90 404.364 null]
->> endobj
-680 0 obj <<
-/D [666 0 R /XYZ 90 353.142 null]
->> endobj
-681 0 obj <<
-/D [666 0 R /XYZ 90 313.876 null]
->> endobj
-682 0 obj <<
-/D [666 0 R /XYZ 90 274.609 null]
->> endobj
-683 0 obj <<
-/D [666 0 R /XYZ 90 235.343 null]
->> endobj
-684 0 obj <<
-/D [666 0 R /XYZ 90 196.076 null]
->> endobj
-686 0 obj <<
-/D [666 0 R /XYZ 90 144.854 null]
->> endobj
-688 0 obj <<
-/D [666 0 R /XYZ 90 93.633 null]
->> endobj
-665 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-720 0 obj <<
-/Length 940       
-/Filter /FlateDecode
->>
-stream
-x��YKw�F��+fWi�0�GwI�$MZ����32V
-������:	Pz�W�F3��}|s��&���{�G���&�b��B�kd	��b��i�."�Uܧ���CvU��.�3I�7�t��"]�}N���������Q�{��m�h�%�6(��.�4����`n
��&͐`
�St���G�aկ!L�
���|bb��S"�kᾯ��"��eZĔ�W�m3=8��I�}ư
����/��
#�/�8�.�e�J��4�}1Y��ZP���^~|7�
��4�]�nR��%�|YY�8��Qð!
�!|��ZV
��� *��4���~�*��p#1�z;�C��O�n�oiR>3j�;��S!%܋�
N� X[�L�3T��h������������Q�eT����8mԂ�"љj��#DR,NX�ao҅%�v�����@‹TǛ4ɖY>o�#0��u�\�]A�Mө�c7�
�`:k;U�QdX�%�/P
��tU�W����
5�{��\�n��
{�:&t��8�
�eƨ��WE��,�
pS���RȣM!��"�+�=�b��YM� �EY��3�t���OK?m�9O!�y����`�-�su��^�0ʠ�R�F0R��{!_-ު	Ű��@	�D壘��
�×�ѾxSl�
��v����Z4nx~N[^���2o�H
*�T$��&�-�}����z�?�����)�\����ߪcz��?�5
2^S�}[n�l����gR�{���:� a��f}#�U��+���̜d�0��ݤ�
���4��[����'+7Y��3��)�\�
��L�_b_‚�n�r���
��w��c7

�1xE1�DD�
�58�����
�$/&
&���,����8Y��<[8+����
p(0*���"6ˋ4��ap��'�&o�ӿc���
-endstream
-endobj
-719 0 obj <<
-/Type /Page
-/Contents 720 0 R
-/Resources 718 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 662 0 R 663 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 735 0 R 711 0 R 712 0 R 737 0 R 713 0 R 714 0 R 739 0 R 717 0 R ]
->> endobj
-662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 683.914 264.225 694.818]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.717 683.914 405.643 694.818]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 644.794 260.908 655.698]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.878 644.794 349.475 655.698]
-/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
->> endobj
-691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 605.674 260.908 616.578]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.399 605.674 399.008 616.578]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 566.554 271.608 577.458]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
->> endobj
-694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.578 566.554 370.875 577.458]
-/A << /S /GoTo /D (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) >>
->> endobj
-695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 527.434 271.608 538.338]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
->> endobj
-696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.099 527.434 420.408 538.338]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 488.314 289.122 499.218]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
->> endobj
-698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.092 488.314 405.903 499.218]
-/A << /S /GoTo /D (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) >>
->> endobj
-699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 449.194 289.122 460.098]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
->> endobj
-700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.613 449.194 455.436 460.098]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 410.074 287.478 420.978]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
->> endobj
-702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.448 410.074 402.615 420.978]
-/A << /S /GoTo /D (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) >>
->> endobj
-703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 370.954 287.478 381.858]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
->> endobj
-704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.969 370.954 452.149 381.858]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 331.834 288.962 342.738]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
->> endobj
-706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.932 331.834 405.583 342.738]
-/A << /S /GoTo /D (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) >>
->> endobj
-707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 292.714 288.962 303.618]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
->> endobj
-708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.453 292.714 455.117 303.618]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.09 253.594 491.899 264.498]
-/A << /S /GoTo /D (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) >>
->> endobj
-710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.785 214.474 513.996 225.378]
-/A << /S /GoTo /D (group__Datatypes_ga261d916137f01c0effdefeb266a73172) >>
->> endobj
-735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 202.519 161.83 213.423]
-/A << /S /GoTo /D (group__Datatypes_ga261d916137f01c0effdefeb266a73172) >>
->> endobj
-711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.377 163.399 394.356 174.303]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.797 163.399 513.996 174.303]
-/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
->> endobj
-737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 151.444 221.595 162.348]
-/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
->> endobj
-713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.157 112.324 392.136 123.228]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.005 112.324 513.996 123.228]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.369 266.815 111.273]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-721 0 obj <<
-/D [719 0 R /XYZ 89 770.89 null]
->> endobj
-722 0 obj <<
-/D [719 0 R /XYZ 90 703.14 null]
->> endobj
-723 0 obj <<
-/D [719 0 R /XYZ 90 664.02 null]
->> endobj
-724 0 obj <<
-/D [719 0 R /XYZ 90 624.9 null]
->> endobj
-725 0 obj <<
-/D [719 0 R /XYZ 90 585.78 null]
->> endobj
-726 0 obj <<
-/D [719 0 R /XYZ 90 546.66 null]
->> endobj
-727 0 obj <<
-/D [719 0 R /XYZ 90 507.54 null]
->> endobj
-728 0 obj <<
-/D [719 0 R /XYZ 90 468.42 null]
->> endobj
-729 0 obj <<
-/D [719 0 R /XYZ 90 429.3 null]
->> endobj
-730 0 obj <<
-/D [719 0 R /XYZ 90 390.18 null]
->> endobj
-731 0 obj <<
-/D [719 0 R /XYZ 90 351.06 null]
->> endobj
-732 0 obj <<
-/D [719 0 R /XYZ 90 311.94 null]
->> endobj
-733 0 obj <<
-/D [719 0 R /XYZ 90 272.82 null]
->> endobj
-734 0 obj <<
-/D [719 0 R /XYZ 90 233.7 null]
->> endobj
-736 0 obj <<
-/D [719 0 R /XYZ 90 182.625 null]
->> endobj
-738 0 obj <<
-/D [719 0 R /XYZ 90 131.55 null]
->> endobj
-718 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-778 0 obj <<
-/Length 1216      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~�W��LY��Rߨ��N	v@~��F�i�%B�����V�AA�K�>IZ�=�|�w���������A��Va�C���
-Ɩ�-�=$$|��+��Χ�Ť��'aP�zr�
�n���~��� �
[ČH��pָ���4��0b�kݧ�f�
�wV��3W�KBn�D�D���"b
��T������N
��(;M*��J��0ɺi��I�e/
��,�w�����m4��AN�̶ނ��p)I�4\c�J�bP�+�+ι5c�	�x�
�$׆��1$</y�3ϗ�ud�^.��$�
B��*Lo�ؤIN�ɑG��&:�5\�W��b�E�eϐ�t�'�_( !�N��,�������_�0y
`����
pz�80�>����ʠL!O�R%�2�}9
-2
-�\�
�����.���.0�hY�$*)�^	cr��v{�L׍&�aX
�P�=!��P���/hFTB,99�)&��R�.$�U�c
����VW!앢��p]xŋ�T
�!�^�${:�����]���)}ܪ�l%#
ҝc)s,���_*����8��P�M�֯�!^�4+%�՛k׃M,Q�����K �J��+X%���qx:��#gm�T�\"\cP)W�r�U,`�ł|4?MN�M�!
�8Y�
z��i��`� ��ęӣ�
(��&����kp��Cq8P�p�4��s���JH^��Eg '�~�k�u�A���t�~����ۿ��	˅(7v��
��K�c��9�0.�k��
�L�w���i����
�i��oM�#ݩ���Q�Jo��0��D�L
��Bb�);��8�Ѵ4�U�7�n����5_���W�rɣ"N�yVF��\Z.cM�s�w�^�C\�7�=��G�J�Vb��\��N�ѝ��?
#9N��~q\{N�'���e��B)js�l�(,�3x4
k�Ƒ!�<+ퟧ�Q�u��M�r5CR�K���������� n<

�^���W�L락y.
-o�,%m)�
���^��U�F5���H1��>ي���
���ί�a��݆�I�
-	�o*K��3�)��B��7c��ۙ��a�`>NL�N8���I6�Lo��:�p�5]���G{e���������S���ӈ�>
�/��&���G9�M>[�۟:��.���
-n�d�[�u��+��O�1�&-�V��M٣��[/b��lG&��
g�Ҹ���
��1�
-endstream
-endobj
-777 0 obj <<
-/Type /Page
-/Contents 778 0 R
-/Resources 776 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 563 0 R
-/Annots [ 715 0 R 716 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 784 0 R 746 0 R 747 0 R 786 0 R 748 0 R 749 0 R 788 0 R 750 0 R 751 0 R 790 0 R 752 0 R 753 0 R 792 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R 760 0 R 761 0 R 762 0 R 794 0 R 763 0 R 764 0 R 795 0 R 765 0 R 766 0 R 767 0 R 796 0 R 768 0 R 775 0 R ]
->> endobj
-715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 707.957 253.705 718.861]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.675 707.957 335.069 718.861]
-/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
->> endobj
-740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.906 667.092 253.705 677.996]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.197 667.092 384.603 677.996]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.398 626.227 343.168 637.131]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.63 626.227 513.996 637.131]
-/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
->> endobj
-744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.834 573.407 343.605 584.311]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 573.407 513.996 584.311]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 561.452 169.591 572.356]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.707 520.587 385.23 531.491]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 520.587 513.996 531.491]
-/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 508.632 203.344 519.535]
-/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.486 467.767 385.009 478.67]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 467.767 513.996 478.67]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 455.811 256.225 466.715]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.514 414.946 404.049 425.85]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 414.946 513.996 425.85]
-/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 402.991 240.983 413.895]
-/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.917 362.126 415.452 373.03]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 362.126 513.996 373.03]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 350.171 319.328 361.075]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 264.683 251.533 275.587]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 248.111 291.912 258.642]
-/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.096 248.111 511.506 258.642]
-/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) >>
->> endobj
-757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 236.156 269.267 246.686]
-/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) >>
->> endobj
-758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.256 236.156 496.245 246.686]
-/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 219.211 313.491 229.741]
-/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) >>
->> endobj
-760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.833 177.972 255.144 188.876]
-/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.505 177.972 414.236 188.876]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f) >>
->> endobj
-762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.52 177.972 513.996 188.876]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 166.734 165.776 176.921]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.33 166.734 327.707 176.921]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) >>
->> endobj
-764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.261 166.734 513.996 176.921]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 154.435 145.233 164.966]
-/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.362 113.197 273.916 124.101]
-/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.335 113.197 453.397 124.101]
-/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) >>
->> endobj
-767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.21 113.197 513.996 124.101]
-/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.615 269.227 112.145]
-/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.216 101.615 448.922 112.145]
-/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-779 0 obj <<
-/D [777 0 R /XYZ 89 770.89 null]
->> endobj
-780 0 obj <<
-/D [777 0 R /XYZ 90 721.073 null]
->> endobj
-781 0 obj <<
-/D [777 0 R /XYZ 90 687.191 null]
->> endobj
-782 0 obj <<
-/D [777 0 R /XYZ 90 646.326 null]
->> endobj
-783 0 obj <<
-/D [777 0 R /XYZ 90 593.506 null]
->> endobj
-785 0 obj <<
-/D [777 0 R /XYZ 90 540.685 null]
->> endobj
-787 0 obj <<
-/D [777 0 R /XYZ 90 487.865 null]
->> endobj
-789 0 obj <<
-/D [777 0 R /XYZ 90 435.045 null]
->> endobj
-791 0 obj <<
-/D [777 0 R /XYZ 90 382.225 null]
->> endobj
-793 0 obj <<
-/D [777 0 R /XYZ 90 284.662 null]
->> endobj
-776 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-840 0 obj <<
-/Length 1722      
-/Filter /FlateDecode
->>
-stream
-x��Yms�F��_�o�f��^��oqbgh����$�
g�$UO���{��@2��!I��q����ܳ{+�M5��;9��^8X�gS[�k
�
�C�
�&�G�F��!c�ޥA�`t����A
�	ό#�c:��ϣ�N�G'���5"eY�q�����g�M`�7
#�ں���L��9׆'�`e�6ϲ��#�F&s5�D�4��V��\�}�X`0��
5.�I�ʬ�b��E��}1�?��фO�n�s�X�����p�[�o
��$�5�_���"�����vG:����h�
I���vV
��ҕ��t�m�^���/��.��S,� H��ٶYD�D�a �D��{kXV�L�1���;E�#���M
PH�`Y�S�F}
p
J�mRx2�1�[�\W � z
�]�$����q�T&D}ݧ�)�s5쾻:{@�d�T.��s+4�Y���/�����1c+�m0G����)Ƅ�nKZ��O?a�b�Z�����u�2�V߀}�?����
f����������'��H������a�*y呰��?
v�z���R���V��`���Ȟ
�!�j
�!JLi��2

g5ͼ&Ӛ@�����Ok���%����p��l�������V����
�=@��������y1��S�K�9
�O�D�C� �Y�i�s��X�r��U�D�S�jb
d�ʘ|ƥ,�]��S^�(�(�n<)U�B�|��8�Uy4ԜYM���?��l
��1R+<Dq�?
�s���
��K
��]�HI�`��e��\� .�W���i�j�fu8i`�'� ��$���J�� 
��9?:�
��m`�4�
ց����S؝투� ��e�VA�#��El��� �+�d�$^�;1�(
�i�E�0��e
7����yѕ	�yXM0����nܓ�`��y���X�A0QG_��i��eA�̓ 556��uG
G
̱��� k���^H1�m�	0�ol�G�O����z��}���|
�;�'�
�"�
aT��j��XT�i�ڊ�z�EY1Su�JH��e�RWa�c
��{�vvl�d�b�11��T���h�����)��U���D��	}��a�L)v��e�"R�{�<�Ĥب�^9��;5s��ȸ/oB��T�"ݰ���l�xu�wa�B<�6,�9GΒ��&r� �Ӓ0��
�}��>���5^��Y����ہ
�m�#م
��c�>p�v[vs�Hd�L���e�
�n.�
- �4H|��M���L�q�	���S�L��A��c�G<�/#q9)�=(
�	�џ�$��`
�{��|��f�?#�ZC
bc ;[u�,�k��&f#� �RZ!E�l
�ZSG��&�a��
m�U�]�{y�T�V�}�5��1��(ֿ�/n��7<�W��\��S�
��uw>�w��&[�vG�7��á?���������e�u����RF�!xOx�u��!D�2�q��[�Q���b�x�̥��@��A���-iwΏ��a���Γ~J�m��;1X2.$�p
���7y���β��囻�M
,rD�W�H�:��T�7*�Ș>�����;���v�'i �ݼd�o�^M��T����^�I��`�&��/�P&\Ѳ�=�'�U5�U�1򢂄��a؄��L��i��EH�־�	L\e�Y�'�����k4��2
-���)P����B �WU֒���E�r��0��E��Q��i�T_
-endstream
-endobj
-839 0 obj <<
-/Type /Page
-/Contents 840 0 R
-/Resources 838 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 812 0 R 813 0 R 814 0 R 842 0 R 815 0 R 816 0 R 817 0 R 843 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 837 0 R ]
->> endobj
-769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 707.957 308.53 718.861]
-/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
->> endobj
-770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 692.707 169.601 702.894]
-/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601) >>
->> endobj
-771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.59 692.707 233.262 702.894]
-/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) >>
->> endobj
-772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.251 692.707 296.923 702.894]
-/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.912 692.707 360.584 702.894]
-/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) >>
->> endobj
-774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 676.397 179.564 686.927]
-/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) >>
->> endobj
-812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.907 637.115 345.156 648.019]
-/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
->> endobj
-813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.666 637.115 430.714 648.019]
-/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) >>
->> endobj
-814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.073 637.115 513.996 648.019]
-/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 625.534 184.535 636.064]
-/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
->> endobj
-815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.686 586.253 330.4 597.156]
-/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
->> endobj
-816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.466 586.253 474.403 597.156]
-/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) >>
->> endobj
-817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.539 586.253 513.996 597.156]
-/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
->> endobj
-843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 574.671 232.375 585.201]
-/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
->> endobj
-818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.364 574.671 377.102 585.201]
-/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) >>
->> endobj
-819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 493.409 237.386 504.313]
-/A << /S /GoTo /D (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) >>
->> endobj
-820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.202 493.409 324.558 504.313]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 454.501 215.259 465.405]
-/A << /S /GoTo /D (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) >>
->> endobj
-822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 454.501 302.432 465.405]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 415.594 215 426.498]
-/A << /S /GoTo /D (group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) >>
->> endobj
-824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.816 415.594 302.172 426.498]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 376.686 218.318 387.59]
-/A << /S /GoTo /D (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) >>
->> endobj
-826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.178 376.686 365.534 387.59]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 337.778 223.299 348.682]
-/A << /S /GoTo /D (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) >>
->> endobj
-828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.638 337.778 359.995 348.682]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 298.87 275.881 309.774]
-/A << /S /GoTo /D (group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) >>
->> endobj
-830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.697 298.87 434.744 309.774]
-/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 259.963 276.987 270.867]
-/A << /S /GoTo /D (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) >>
->> endobj
-832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.803 259.963 435.85 270.867]
-/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.704 221.055 221.734 231.959]
-/A << /S /GoTo /D (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) >>
->> endobj
-834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 128.212 359.547 139.116]
-/A << /S /GoTo /D (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) >>
->> endobj
-835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 89.304 337.311 100.208]
-/A << /S /GoTo /D (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) >>
->> endobj
-837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-841 0 obj <<
-/D [839 0 R /XYZ 89 770.89 null]
->> endobj
-844 0 obj <<
-/D [839 0 R /XYZ 90 512.41 null]
->> endobj
-845 0 obj <<
-/D [839 0 R /XYZ 90 512.41 null]
->> endobj
-846 0 obj <<
-/D [839 0 R /XYZ 90 473.622 null]
->> endobj
-847 0 obj <<
-/D [839 0 R /XYZ 90 434.714 null]
->> endobj
-848 0 obj <<
-/D [839 0 R /XYZ 90 395.806 null]
->> endobj
-849 0 obj <<
-/D [839 0 R /XYZ 90 356.898 null]
->> endobj
-850 0 obj <<
-/D [839 0 R /XYZ 90 317.99 null]
->> endobj
-851 0 obj <<
-/D [839 0 R /XYZ 90 279.083 null]
->> endobj
-852 0 obj <<
-/D [839 0 R /XYZ 90 147.212 null]
->> endobj
-853 0 obj <<
-/D [839 0 R /XYZ 90 147.212 null]
->> endobj
-854 0 obj <<
-/D [839 0 R /XYZ 90 108.424 null]
->> endobj
-838 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F23 168 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-878 0 obj <<
-/Length 1846      
-/Filter /FlateDecode
->>
-stream
-x��X�r�}�W�-TU��}�feeK��Xr�n�l�`���H./����@�Dks�Je�D�� }Ч�ΫC�&߯'7����4b���:)u� %a�����t�����G	��&i���~��_���d���2�`�:
�I�8�~��g�� ��P⧉s�J{'`>|
g5�˄S~�M
�3=��O�(Mc��/���;��<
)u�����ȧ3RW��QR�6���'��
�6�O�w���6������OK�����I��(P�1F��93/ I
�U�@�-~���|�ԣn�
eվ.ĔQ�W�
���mK��
~�YC�O�������pVS��p�yZ�}�z�算�[�6���LJ���?uݲ���{��a��GY�Zo�n�׺*�;�7� t�e��GZ��.q�+8|kw�d�=�EX�ʶ�B�+W���ԏ]�����j�o���i9_�q�m�Z�M��;�E���i�詆EO�=l	l��S28�	�)�.&h }�h q7;y1��?����Xd�f�� [...]
�C�]�⑅�f��:1�s� HHLS�(!4dg�W���s[	��
���F.:���]]'���h�
��P �^�_��oUu�A
�`�T��
�B1몙�28��z�M�	eU�9^4��{�UԶ��=H�%
�#g�L��Ӏ�o�@�F�����5
:�g��e���U&G� <
��0u���_)v�D�R@��D,
1��x�����&�d�g�r��V!�33�V# ⍸
-ZQ� �v5+ˏU�>�]=�R�1\	G�7Zh���F�|V��y��,m{�U�b�ǂ���!���D��P�z��
;VY'⑧�;gD={���|�١�
<^�=�0?�3/$~�G�J�+V�h���u����M��H�R�M�wu�m,�l�_hH�n.���J�3T�+�?� '&Pv� 36	dm�;-c�
-�
��$��ޭM3[������ל���$b�}P��'�.�mw1=���q��s���shd'���]�W�v�tA#j��aq������	���͢{�H����h8�\���̠��"ڪlAԢ����(f�/@!IX2
-2� �r}4�
Sj^��L
�F@�Wb��g�I���b�aq��!��U�%��4���L���0t�g� ��	2ފќ��u,t�ad��)�m^6�\�<�h��QH	���V���A4MY]A
(!HDO�g���ӑ�����Qt����u���i�����QCCm�:y�ŀ.w&�{&�Vg�]�
�Jx��� �tЋh!e���M������z�7��cxb8��ۢ6�(�u,a�
l�l)`5c%0��m���^
�a��Be�+4��l���juF���76�I�g,���.ۛ��ʀGS�s
�`��
U�����
%Q=C���
-�'|�%�0`L��Y-�BJ U�X�`9��聯�m�y����\,��m�]�����
����*�!���߼/O�x�(
-�!r����=V pY�p��&c����
-endstream
-endobj
-877 0 obj <<
-/Type /Page
-/Contents 878 0 R
-/Resources 876 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 836 0 R 870 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R ]
->> endobj
-836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 695.073 316.27 705.977]
-/A << /S /GoTo /D (group__Datatypes_ga735949470e98393af90b12f534b06cba) >>
->> endobj
-870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 656.353 356.768 667.257]
-/A << /S /GoTo /D (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) >>
->> endobj
-871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 617.633 410.028 628.537]
-/A << /S /GoTo /D (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) >>
->> endobj
-872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 567.955 363.961 578.858]
-/A << /S /GoTo /D (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) >>
->> endobj
-873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 529.235 354.566 540.139]
-/A << /S /GoTo /D (group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) >>
->> endobj
-874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.387 490.515 351.249 501.419]
-/A << /S /GoTo /D (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) >>
->> endobj
-875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-879 0 obj <<
-/D [877 0 R /XYZ 89 770.89 null]
->> endobj
-880 0 obj <<
-/D [877 0 R /XYZ 90 714.099 null]
->> endobj
-881 0 obj <<
-/D [877 0 R /XYZ 90 675.379 null]
->> endobj
-882 0 obj <<
-/D [877 0 R /XYZ 90 636.659 null]
->> endobj
-883 0 obj <<
-/D [877 0 R /XYZ 90 586.981 null]
->> endobj
-884 0 obj <<
-/D [877 0 R /XYZ 90 548.261 null]
->> endobj
-885 0 obj <<
-/D [877 0 R /XYZ 90 509.541 null]
->> endobj
-886 0 obj <<
-/D [877 0 R /XYZ 90 453.323 null]
->> endobj
-887 0 obj <<
-/D [877 0 R /XYZ 90 293.599 null]
->> endobj
-633 0 obj <<
-/D [877 0 R /XYZ 90 269.384 null]
->> endobj
-888 0 obj <<
-/D [877 0 R /XYZ 90 269.384 null]
->> endobj
-889 0 obj <<
-/D [877 0 R /XYZ 90 141.652 null]
->> endobj
-797 0 obj <<
-/D [877 0 R /XYZ 90 117.437 null]
->> endobj
-890 0 obj <<
-/D [877 0 R /XYZ 90 117.437 null]
->> endobj
-876 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-894 0 obj <<
-/Length 1139      
-/Filter /FlateDecode
->>
-stream
-x��X�s�8~�_����eIIt��q�K�M\�L��vb�	S��/����6vr�O6��~�i�]$l��8����[�
��rß.6s���jj|69�V�`��At��Ƀե6��,�
V*��6��m�����x~�{��ol��AB�E��WlL��;#ە�}a�0��wn�;:x��k�A�hTg*�$�M
>G��)�'Q�0��qZ]���8SS}㦄�	XfI�*�W�k�t1r]nt)CB����
���2y��Ս
w�%�]"vl�`8
�W�cԿ�����
�x
��/kh�PA������_�IF_G%	�Y���2Y�zo��-��#J��on,�����ۆ��VvX<�Ȑ+IeP��	/]H�� 7r\r���Q�}�6�-��AOCo��q<&P����L�1��H�G��$�v�!�����N���O�N��]�@�
��q�`�0q�����[�c���y�f���PiΏ�4��
x�Զ�<��(��'u�7{:����V�6�Q	m��`LQ�qz"�r�*��j5��\�z��%�	uGp\8u��>���̢�9S�����i�U����'��� [...]
-����-"N��P2��M4=�8{������
�;�{����Rl�=�$L�Q����
�+w_
&�Be*���QFjj�-��
@r�y9��Z�0}��KKl��N��x���l�n�FL��<�h�ݵȊ� -�
Ӛ`n��2`�++���fxr�ٶL�"I۴,󉲴�d��%S$�5�@r�i	�dž��5�V����!������!��%!��ֵ	)
��{W�~�#Յmޑ�)�!
-��,Q� �r[�ms
��"��M��r�p��I��n�}��T�
��v
ޖ��ZMf�^)����S���w�T��>���\?��
�O
R%i���M
C
QxD�6f��*��
|3�纤[yQ��n6�wY�z����ߣI��q�JP������qBj
���w l�,> �(����Rc���H��
-endstream
-endobj
-893 0 obj <<
-/Type /Page
-/Contents 894 0 R
-/Resources 892 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 891 0 R ]
->> endobj
-891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-895 0 obj <<
-/D [893 0 R /XYZ 89 770.89 null]
->> endobj
-798 0 obj <<
-/D [893 0 R /XYZ 107.713 668.28 null]
->> endobj
-799 0 obj <<
-/D [893 0 R /XYZ 107.713 652.689 null]
->> endobj
-800 0 obj <<
-/D [893 0 R /XYZ 107.713 637.097 null]
->> endobj
-801 0 obj <<
-/D [893 0 R /XYZ 107.713 621.506 null]
->> endobj
-802 0 obj <<
-/D [893 0 R /XYZ 107.713 605.914 null]
->> endobj
-803 0 obj <<
-/D [893 0 R /XYZ 90 595.607 null]
->> endobj
-898 0 obj <<
-/D [893 0 R /XYZ 90 581.194 null]
->> endobj
-804 0 obj <<
-/D [893 0 R /XYZ 107.713 479.982 null]
->> endobj
-805 0 obj <<
-/D [893 0 R /XYZ 107.713 464.39 null]
->> endobj
-806 0 obj <<
-/D [893 0 R /XYZ 107.713 448.798 null]
->> endobj
-807 0 obj <<
-/D [893 0 R /XYZ 107.713 433.207 null]
->> endobj
-808 0 obj <<
-/D [893 0 R /XYZ 90 421.959 null]
->> endobj
-899 0 obj <<
-/D [893 0 R /XYZ 90 407.546 null]
->> endobj
-809 0 obj <<
-/D [893 0 R /XYZ 107.713 307.275 null]
->> endobj
-810 0 obj <<
-/D [893 0 R /XYZ 107.713 291.683 null]
->> endobj
-811 0 obj <<
-/D [893 0 R /XYZ 107.713 276.091 null]
->> endobj
-856 0 obj <<
-/D [893 0 R /XYZ 90 264.844 null]
->> endobj
-900 0 obj <<
-/D [893 0 R /XYZ 90 250.43 null]
->> endobj
-857 0 obj <<
-/D [893 0 R /XYZ 107.713 150.159 null]
->> endobj
-858 0 obj <<
-/D [893 0 R /XYZ 107.713 134.568 null]
->> endobj
-859 0 obj <<
-/D [893 0 R /XYZ 107.713 118.976 null]
->> endobj
-860 0 obj <<
-/D [893 0 R /XYZ 107.713 103.384 null]
->> endobj
-861 0 obj <<
-/D [893 0 R /XYZ 107.713 87.793 null]
->> endobj
-862 0 obj <<
-/D [893 0 R /XYZ 90 77.486 null]
->> endobj
-892 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F90 474 0 R /F11 896 0 R /F8 897 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-904 0 obj <<
-/Length 1946      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�TU �Gn;3v�Y��
˛C�R�$�B�Z
E�� )R�don{�H<�������v���է���mD��$!���I�	!�-�_]��~����aLX�&=���a~�0ƹ���տ�LQ����D��m�~��:K�١�Obg�m����_:�W���Ma�0ft�$$>3�QJ]Yu���u��r�o�OuW-�rqW)���b>�w���or��X��VV*UE]��׷"
i��0�D�ц{F뵦ze�_�"�R��.h4
-T�D�L�ۑc
%	���s��<�M�����փ�d,�3�
�ń
-n<=�/^
��~z��r�|�g�I�'} _��XW�/�E�6�Y(�c�'�=+�c����(_���ǯO�7_!�,a™��)�֐���!�y��F��ʜ�L���w|���q -;ٚ�����
�[�*��
�� �
�-�أv31��L�5�՛m)7 j
-��׶.;e�����~BB�iԱ�c<�
�����7J�w�c��
����,
d��8�_���	�g��_7�n���/�_�����"��?
��9
�[�Go�R�X�D�I�ۢZ��*�C�;b.��m�fm/��;ϋ�,�ȴ�
T�*+h���ө����K�޺S��H�O{��2H�C�nD�F���Q
(z5A0B��^���&��^vem����R�$�`�
Q'D�Ÿ$ I�
 7
���@��E�y�C�Ɣ"��8�<|���{���2�1$8�.C���

G�i�R�]|
�@
-s�p�.l�@q�����-�V�f��
-#V��� �D<
��#�[̭!�f����孾v� �_�c~�
-����=`�&�C�����$b6�{�0��U>fb^w�
���7R��K���X
-�MQw�Y�
�Qq3X
��-�Vɍ�|��̴J��0����e'�"U���E��D�5�@#�~�k�S��
L��A��g
-!�����
n]!�p(��L6��]�r�d=
-,�z��
�Ԋ����޽���
�͏�F9��� ·��x-�B�͘�1^d��7̌�t�엦VC
��I�b%[�N� ����C=]���ƫ �㮢��p4���&U������
Hy_`���O���w��oޣ�D
*ԉ�Ԉœ�\�l����������%���Gt$�~^
-�˴Zw���e
F?j�l[�Ex�5,
��e�D#�h��~s����]+���,����N��
��E��A�w�}
�讖E6��@���2+Ɩ�\�����1n�}_5�l��28�o b�e][M+�ɶ��롦9D摒vCp�훻ȡ�����k��� <��4o�*;�/u�m�W%<l��d��0�9���(���T�$�Q�^<��EP	��v�E��kѪ�p-T�ߨ���ʼ��� ���o&g�Mv�&ơ�z V�s`{Qz+Ҕ2ޯ���-�r
��V8�y�$��p��P�h4M> ����
\��V-ʢ��RV듚��$�#��wAu W�����˪b���"!؉^<��-�;ɋ������r�S���C/>N	��=�����������6)TFٴ��`�B��
���,�C�÷���u�d{4��y].���,z��'t�hY���1���-b�o�6�G=��s�#ilÇ~�@A�84�i(T
�@1�΀��<`�c�::]k�y�>�R�r��<J��ȵQ��b	��%���v�1�pL3�T]�GT������2��w��8�{K_�˲�<���׸f+r�-�ԍ��P�`�~���+���
DI<����C��ޠ�@�Ou���I��}���o]���,�����o=�FL�١�X�S��kZuii�Zږƶ
0H	��L�o���,��9�?���_>�C!�C}˕��x}���H֒�*�
)�5���q>ax�;T^N0���Ї�����7q�/����
-endstream
-endobj
-903 0 obj <<
-/Type /Page
-/Contents 904 0 R
-/Resources 902 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 901 0 R ]
->> endobj
-901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-905 0 obj <<
-/D [903 0 R /XYZ 89 770.89 null]
->> endobj
-906 0 obj <<
-/D [903 0 R /XYZ 90 721.073 null]
->> endobj
-863 0 obj <<
-/D [903 0 R /XYZ 107.713 626.262 null]
->> endobj
-864 0 obj <<
-/D [903 0 R /XYZ 107.713 610.652 null]
->> endobj
-865 0 obj <<
-/D [903 0 R /XYZ 90 587.403 null]
->> endobj
-907 0 obj <<
-/D [903 0 R /XYZ 90 572.982 null]
->> endobj
-866 0 obj <<
-/D [903 0 R /XYZ 107.713 472.666 null]
->> endobj
-867 0 obj <<
-/D [903 0 R /XYZ 107.713 445.101 null]
->> endobj
-868 0 obj <<
-/D [903 0 R /XYZ 107.713 346.457 null]
->> endobj
-909 0 obj <<
-/D [903 0 R /XYZ 90 305.968 null]
->> endobj
-869 0 obj <<
-/D [903 0 R /XYZ 90 283.656 null]
->> endobj
-910 0 obj <<
-/D [903 0 R /XYZ 90 283.656 null]
->> endobj
-902 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F90 474 0 R /F11 896 0 R /F8 897 0 R /F10 908 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-932 0 obj <<
-/Length 1720      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~��@�Cli=;f��Rn����v�}J"���.
-�:��=s���R�d
3g�����w�a��˫���!�$�
���'��� ����a8S���Ҩ,���|������$�FcF`琱��w�7W�o��G�(�B�M烏����w
FL
-oe�=�2�M�������Z�E"�ъ`|@-PƊ HrnD`o�0�w"qB�t򢨒O�i����è��R����T�TM�yVV��EU^L��ڞ�6�[�h���K5Sň���d����A�#��q5x�^(gF���b�̦�w��ž�d�p
�{���	ز��YԦ������!!
-�S�$����)�ެ�
�9l��#+D��z�v�tr��X�G�`(A���&f�c���A�B���ܥJ�J97�ڸ�NO�
��W.L�MT�W�T���E���s5���NH�"�5d�ߎ�`��T{�Z5^i�)`�<��_�er�i�v@�Z�K[�u�$
��
B���'Jyk��q��	
aok�׎��f%>3a�Ԉ��j��NVt�4"�����K����z�'�����5q//;����*,�
��z��#)H��h�T�.A;�A��kI at S�u�LҸ�×�F���z����
4�
-xږs��y-�-���p�JG��4z�0-k
�
��Άۨ�{�9��tF |��c�#�|~,B'�"��p]#Dx$�lF�ɔw��B}���Sit�
3@
-�d�r���hkt��P} ���j�F�Lc�i���-Fh�[��-�*��Z��|�C�C�����
A�4�y�|�!��a5���̪FuU�w\�H�N3�e[�40�l�H P�p�!vҩ}81H$��_�PB维 �)\\���)�?bV��;aV��*�����9��4hFik
nv*N���J�ި]�,;M�;kz��Qo)��0d̠I��e��@l�	@��#!'6� ��'%@�=�#D�/�<I��r$V)���x7��,G6x'�
o�����Q��Q�d5�rz7�R|lׁg}IRB�m at R�$N�<��G���ri���
��y7�����M�Z�*I��g��-
�(M
_���ͩ�J��f�K �c�{[��M��	�=��䩽��Ɗ��}�
�L*���HR0ά���Ï��2xl[㭶�����5bE���8��:;TD��{����}��+*!�J��F�����6�]ZT�9���30
M�׽��;�o�jX��L�$�1�5�}���1��Sۉ�� �'�;�՝GP+��a�E�Py���?(:���m�D��L��2�ު_<Y����
���W��*!䁀>
-@������= �t��@}�	���C�jB`��~h.��\��ٻ�滒}��c�}��e�[w&L��?����z��?��}׵i����a2��,:�<,t{�"���K�0���a��

	n�F붤gd�a��֬�R�sZ-�磱�sW���w-g�|�9'�
�C�=�ǰ:���U����J�П��+��:�M!��
4�\�*qeR
-c5�r2:��������>}�|)�bm���K�G��2�v���1f�n�]���s���([�
��K�[}�*J�iJ���N5�x����6�z�W_�>0�36vQ_ ��h�T�����j�B�-�dQ��:"�ﶨ!��7oH�w
Pl��o
`C��͹�nՎ��_�zG
-endstream
-endobj
-931 0 obj <<
-/Type /Page
-/Contents 932 0 R
-/Resources 930 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 911 0 R 912 0 R 936 0 R 913 0 R 938 0 R 914 0 R 915 0 R 939 0 R 916 0 R 941 0 R 917 0 R 918 0 R 942 0 R 919 0 R 920 0 R 944 0 R 921 0 R 922 0 R 946 0 R 923 0 R 924 0 R 925 0 R 948 0 R 926 0 R 927 0 R 950 0 R 928 0 R 951 0 R 929 0 R ]
->> endobj
-911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.967 516.758 382.12 527.662]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) >>
->> endobj
-912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.797 516.758 513.996 527.662]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 504.802 232.78 515.706]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.02 465.794 513.996 476.698]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
->> endobj
-938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 453.839 225.029 464.743]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
->> endobj
-914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.05 453.839 446.624 464.743]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 453.839 513.996 464.743]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 441.884 344.968 452.788]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.462 391.916 513.996 402.82]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
->> endobj
-941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 379.961 225.029 390.865]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
->> endobj
-917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.133 379.961 442.707 390.865]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 379.961 513.996 390.865]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 368.006 318.955 378.91]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.24 328.997 372.835 339.901]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a4ce5a35bce2cfe414dd42739b15819c7) >>
->> endobj
-920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.785 328.997 513.996 339.901]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 317.042 232.78 327.946]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.518 235.04 406.777 245.944]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61) >>
->> endobj
-922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.005 235.04 513.996 245.944]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 223.085 278 233.989]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.423 223.085 433.086 233.989]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.221 184.076 393.866 194.98]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) >>
->> endobj
-925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.797 184.076 513.996 194.98]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 172.121 232.78 183.025]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.546 133.113 403.749 144.017]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) >>
->> endobj
-927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.005 133.113 513.996 144.017]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.158 278 132.062]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.615 121.158 513.996 132.062]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 109.202 163.61 120.106]
-/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
->> endobj
-929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-933 0 obj <<
-/D [931 0 R /XYZ 89 770.89 null]
->> endobj
-58 0 obj <<
-/D [931 0 R /XYZ 90 721.073 null]
->> endobj
-410 0 obj <<
-/D [931 0 R /XYZ 90 699.661 null]
->> endobj
-62 0 obj <<
-/D [931 0 R /XYZ 90 699.661 null]
->> endobj
-934 0 obj <<
-/D [931 0 R /XYZ 90 592.441 null]
->> endobj
-935 0 obj <<
-/D [931 0 R /XYZ 90 532.909 null]
->> endobj
-937 0 obj <<
-/D [931 0 R /XYZ 90 483.968 null]
->> endobj
-940 0 obj <<
-/D [931 0 R /XYZ 90 410.09 null]
->> endobj
-943 0 obj <<
-/D [931 0 R /XYZ 90 347.172 null]
->> endobj
-945 0 obj <<
-/D [931 0 R /XYZ 90 251.192 null]
->> endobj
-947 0 obj <<
-/D [931 0 R /XYZ 90 202.251 null]
->> endobj
-949 0 obj <<
-/D [931 0 R /XYZ 90 151.287 null]
->> endobj
-930 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-978 0 obj <<
-/Length 1640      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_!`&3�Q�a��&C�����S[�M���6I����H�Ŋ�9v�/�L�ǻ{�;
Il�,l�>��v4��%�p�k�.-�-����oa}��3�r��b���paP�����ۋw�շ������O�"z<G�o��ѧ/�Z@�[
#&|k[u�-�2xF���_#�WB!zN��xB0��Ya$�	��_1�ì
�D)4��nG
�&�A�Z�����C&
=6H���&�+	�}���%,e
�a��a��ysuc�e�c:�H�dA
����
(@<�R�(����"�ob��A�x�r
E�$-�f���������R���2O�Z���FQ:���6V(�#�����".r����\+��R���i��,�f��Z
��9��Z{
 ��T�~R�d���8R���k�}���0�Ym�*4��K����L����,�K��vq�!L��fa4�=9C
��	��dy����uv��<�!�o����DŽ@PR� 
-�5�~�Q˜��Ϻ�3��]ZʚhA�P�����K�����������"����4�ܓ�L��;8l�b���J���0�A>���rY&��&rhe�3i���r�\�\f�OO��=�҈�
W �Uxi�쨾;��v$w�\?�&$
�u���c�-�w=���,�m2J5= �v�À��_d(ߗ�Ƥ��䦨�@��1�6�2f�m�0����ŕ��"܇8j-Ȇ���M��A/���E��"�_�!��p��g�:O�Req�Y&;P+�੒�����J�"��L��m_L�����S� ����p��?���(��GR= �Zv�^�kV��.'��y�a𵎜ތ�!�sj��q��>b~3i
0���?r�pu�

�ȸQꙸa/��Cr|���8U�R�)f��p�#x�ܽ�C}�?ɟ���ى�]�
-����~*
za����/׻�+��e�Y�.d��a�i����y���^�:�;,p�{��]?��� 
��O�2;����
-�Af�0ؐsS�_%٦��ߔ�(��4�d���=� 	�%:LgY=��n(s�%���CIG)r
�l��e���Q�8�>���r|��hC�!�
-D�W�(�E�)��N�zGf+X�U�)U�;	��c�������F
��꘩q�d;O���)�\���	�|Hn�;e���*��&/�:�w�Չ2��s�p �sZRű����J��*���.��`V��qX�]���;��U`�c�(J��=G�SB��d��YZ
DfI�u8W���ii��/7yRK�
�!����`]
l�����0E�9
a� �0�-6q�M�8�)������ݓbi?s
LXF�
���
��9k5O�.7�C���7��*���u��s�]}��M�7;
-(Y=�
����8���fP�w�{�J~0ͨpw|C4����OI4ux�xm��
n���^ym��=�d�.�a�^�U�k�
�o.�
6�~�R�1۰!Vi�Q�&�
�r���u�5����r
$�M�2�
]WA�߅�T�D�
�g�l�]��wjJ��_h�Hū"Cw쏲>M�
�Ǫ��U'�]�H7�l]�٫�t�ݢy�6I��(,��ݍQ+� ��h��WC�X�V�`C�@c\Q����|mY�
-endstream
-endobj
-977 0 obj <<
-/Type /Page
-/Contents 978 0 R
-/Resources 976 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 855 0 R
-/Annots [ 952 0 R 953 0 R 954 0 R 983 0 R 955 0 R 956 0 R 957 0 R 958 0 R 959 0 R 960 0 R 961 0 R 986 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R ]
->> endobj
-952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [129.838 482.849 328.132 493.753]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) >>
->> endobj
-953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.864 482.849 469.527 493.753]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 482.849 513.996 493.753]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 470.894 198.911 481.798]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.55 432.194 275.234 443.098]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) >>
->> endobj
-956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.678 432.194 414.341 443.098]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 432.194 513.996 443.098]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.966 420.239 202.448 431.143]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.231 381.54 336.604 392.444]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) >>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.729 381.54 475.392 392.444]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 381.54 513.996 392.444]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 369.958 167.678 380.489]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.33 330.885 284.573 341.789]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) >>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.797 330.885 424.461 341.789]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.515 330.885 513.996 341.789]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 244.219 275.539 255.123]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) >>
->> endobj
-966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.354 244.219 414.018 255.123]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 207.667 278.856 218.571]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7) >>
->> endobj
-968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.716 207.667 477.379 218.571]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 171.115 283.837 182.019]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61) >>
->> endobj
-970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.177 171.115 471.84 182.019]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 134.563 289.925 145.467]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) >>
->> endobj
-972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.74 134.563 428.404 145.467]
-/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
->> endobj
-973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 98.011 284.385 108.915]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) >>
->> endobj
-974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.201 98.011 396.852 108.915]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
->> endobj
-975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-979 0 obj <<
-/D [977 0 R /XYZ 89 770.89 null]
->> endobj
-980 0 obj <<
-/D [977 0 R /XYZ 90 721.073 null]
->> endobj
-411 0 obj <<
-/D [977 0 R /XYZ 90 634.035 null]
->> endobj
-66 0 obj <<
-/D [977 0 R /XYZ 90 627.195 null]
->> endobj
-981 0 obj <<
-/D [977 0 R /XYZ 90 528.792 null]
->> endobj
-982 0 obj <<
-/D [977 0 R /XYZ 90 500.082 null]
->> endobj
-984 0 obj <<
-/D [977 0 R /XYZ 90 451.21 null]
->> endobj
-985 0 obj <<
-/D [977 0 R /XYZ 90 400.556 null]
->> endobj
-987 0 obj <<
-/D [977 0 R /XYZ 90 349.901 null]
->> endobj
-988 0 obj <<
-/D [977 0 R /XYZ 90 259.22 null]
->> endobj
-989 0 obj <<
-/D [977 0 R /XYZ 90 224.691 null]
->> endobj
-990 0 obj <<
-/D [977 0 R /XYZ 90 188.139 null]
->> endobj
-991 0 obj <<
-/D [977 0 R /XYZ 90 151.587 null]
->> endobj
-992 0 obj <<
-/D [977 0 R /XYZ 90 115.035 null]
->> endobj
-976 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1016 0 obj <<
-/Length 1970      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~��Ї�@��#-
-�iS$����))
�D�Beɕ��_����z����IE�
g�����
�~�}w3�z
b/Fq@�f���
y�D _����/�����J��`L�\��M���Q��^%�4���J�s���M�2�31����쇛�?3ʱG�2���K���a/��
F,�����8e�,�?f���Y�	A�8�)"���e��̌q��&��]�W�2��b���
1
17��w;��LP?)3�B�վL�۾�j�~�������8*)̯]R'[	~j�|��l���:�)�c�)�N9Q@
-Լ�L��f&����ҷyf�������	����՜
-����1n
-せH��h�O�,��ϒZi3�L�9��a�#m��!�� ^BPn#��FeU���
9ݤ��
��ͽ�1��ײ�u�:0��j�DH'�(�����[M��O4~
= �"��@4�pyC��z�6u��F&xCm�O!	t��r�‰d
p�/����sN����S0B9�3�Av:t�d�/�2-��5Ҵ�)
-!�-���"�I��ЙΑ#yCA���v��{,T
����5�,zd<�&����`��Z�<��� ոd��KYٟ[�������"# ��� $dc�=m�O۪n�2��6M�.U�
����:�v4O���� ��E8�mVu�^��JwPU�J��J�x�c�&��Wd�
#1��h6�
�٨�ø��b��(�h��\@b/�a����K�-pZY�?��,�%�J�q
��
�GU`u�N'H��������mR�i�V��	�u��l�o�g!�oCШ��z���;�!uΉ/��{�I�3�̠ƦF$~PY����΁
y�}�C�j��w��"�7`I�BA>%$����ݻ��A'e���i���_߽7^)�(��b�4
-�h�xUm�P}
^UC��d�����[Y��ۻQ����k�G���I+�v��(��j�w�
-Q�;21t�DQj��E5n��'�^��sQ�
���
GS�Qe�=Ϧ�����'uD�a�C8FD�ϗ<�M��B �G�ͤ'�*z}�;��y��a�y�}^dn9vZ�j#?3o�j
-l
6Y���b���Ki�E��.���q����FuфQ%�s�`�|(�D!l��
�K��c��XAY�~e�~Df���Oc� Ea�h`�T�"@ZW�;�8�P�6�
�z{w1�
v�w�=���9���qp�����"pa���eg�p�e�B�aܠ���#�$�������w�rZl& {��0`�p@#���H�ť �r�)��l�(��p�TzQ���R�gIGM]�-9��'"���x!}2
������u���
��l���N�V[��Ue֝$ٶ�
J��C^�M�%�v��5o�pp!�Ff��rϩx� �����z$���){��U�#��)��:&��M�1��84^�!���1*�vR�
�f�k��P@�L�3�T����'�PD,`�����m��.��}m�K����j��;���K>���D��	�!�V��U{���p�z��L�?�s�+r�+��5�����S���)`qk��]!��#�3{5#S��<)�F�+ [...]
	�
����z΅_�%�/����վ8�
e�vN���A\w\���l�<��E�8��4s�fy[��
vi�d�[5�*�>�2�߭ކ��S����9'i��v_	t��"���XL�G�9��̉��u�������J���䰭����-��k}]Vo�����n#�:1�o뤾3�L���r�O�v���{/h,�_�ۦ�
�%)��P�31��nLjB#FP��
-�B3��]�:�x�oϽ�4�74��(W�.G6m�{ruu8
Pڠ}��j��W���ӅD/���R�$����	�!/U����$N���
-endstream
-endobj
-1015 0 obj <<
-/Type /Page
-/Contents 1016 0 R
-/Resources 1014 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1005 0 R 1006 0 R 1007 0 R 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1013 0 R ]
->> endobj
-993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 449.261 223.166 460.165]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) >>
->> endobj
-994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.982 449.261 298.463 460.165]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 401.767 277.402 412.671]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) >>
->> endobj
-996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.218 401.767 352.699 412.671]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 354.272 296.52 365.176]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) >>
->> endobj
-998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.336 354.272 371.817 365.176]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.682 354.272 489.176 365.176]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 317.737 285.96 328.641]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) >>
->> endobj
-1001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.775 317.737 361.257 328.641]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.952 281.201 304.924 292.105]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) >>
->> endobj
-1003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.586 281.201 380.067 292.105]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.896 281.201 494.389 292.105]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 244.666 230.608 255.57]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) >>
->> endobj
-1006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.423 244.666 331.917 255.57]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 172.148 244.456 183.052]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) >>
->> endobj
-1008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.271 172.148 345.765 183.052]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 135.612 221.203 146.516]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) >>
->> endobj
-1010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.019 135.612 322.512 146.516]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 88.118 252.755 99.022]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) >>
->> endobj
-1013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1017 0 obj <<
-/D [1015 0 R /XYZ 89 770.89 null]
->> endobj
-1018 0 obj <<
-/D [1015 0 R /XYZ 90 721.073 null]
->> endobj
-412 0 obj <<
-/D [1015 0 R /XYZ 90 622.113 null]
->> endobj
-70 0 obj <<
-/D [1015 0 R /XYZ 90 615.26 null]
->> endobj
-1019 0 obj <<
-/D [1015 0 R /XYZ 90 516.861 null]
->> endobj
-1020 0 obj <<
-/D [1015 0 R /XYZ 90 464.258 null]
->> endobj
-1021 0 obj <<
-/D [1015 0 R /XYZ 90 418.786 null]
->> endobj
-1022 0 obj <<
-/D [1015 0 R /XYZ 90 371.292 null]
->> endobj
-1023 0 obj <<
-/D [1015 0 R /XYZ 90 334.756 null]
->> endobj
-1024 0 obj <<
-/D [1015 0 R /XYZ 90 298.22 null]
->> endobj
-1025 0 obj <<
-/D [1015 0 R /XYZ 90 261.685 null]
->> endobj
-1026 0 obj <<
-/D [1015 0 R /XYZ 90 187.145 null]
->> endobj
-1027 0 obj <<
-/D [1015 0 R /XYZ 90 152.631 null]
->> endobj
-1028 0 obj <<
-/D [1015 0 R /XYZ 90 105.137 null]
->> endobj
-1014 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1048 0 obj <<
-/Length 1889      
-/Filter /FlateDecode
->>
-stream
-x��Y�s�6�_��>T��`� A����6M:饩������&!�S���#�ﯿ�H����i_Db�\��o? Ro�Q����W���!�bK_zW[/�^(bHXe��%��߮~��%<d��ys����;��xq�����>�0�����o�ˀ��G	�#�d����9\޻ů
jU��jT
�@E�B"A����
5������=�_�.�d�]��j�5
~@�Uu�</�v����i��vs̋�4����X�oӮ����F��
-~����B+��D
-�'��Q緪��Y!_&x��&o�J�|��Z	�ܭ]�Y�-^S�5��Z;I���K���+2�=ӫ�!����
�{+)i�6��e
u��@�A�>��"�yr�C�Z�iK��ݫ��r�cw����Щo
�־$
-�G��A���'�9�K	�Sz�d6�H��v��k@�/��O�O�ǟ���G"|�>R��GZ��;�#��#���#����' ��
>���q<��t�>`���@����‡���'�� $�J��И�+�6�_]���_vE��%�u(zZ�8(��� 1/7U
��y�i䥠���ͬ����V��a���
�t3�
�嶌��,t
M��];#���{$>�����#=]I�Hnʗ�^�@�@��zoo>���5�@�8bg�*9>{X�/� � !���	bԁ�Ǜ
������
6F� !
����b`H<1��� J�P��@�*�C�$s7pT�7�HP����(q��p(ӵ�MZ�!��
�|����Rw���J6UX�_����1O���u;�C��� �&���6��DJ �`$
m�	'l����j����A5i�W��������v��UD�7�2m�-�B
��r�wOCߖ5ޤS�4d��"X^�l����!U�:�L9Ix5Q��x&�B^�
H8Z�5��G&3�=P=��]s��+�s��2b��J��Ӛ��
 #
--j�Չ��&��ꦷ//_#������ õ}"?Vu
QM��
�̮�c!�]V[�2@��Z�y�1�f1:N�t��)gHѯa�����K$�z�)twwhu��4�`{=|��)�I~��Z�)o��J�*���Wo�`�M��Z:
r�U0Ic��끰8v�$+�N���I7�q\NOq��߬��N�>��m]
'Mk[B�1J@`���A}3��L�#�ta��o*�o�*ɠ40�-��b���XV�HhҔ
-W�-x
*vu��Tm��4�:�
-��ڪ�޴����qDj
�����>�z��Z8
�} |�0��W�Vm�sC���$�u�-ʿʋ��eVU���0øO���
-I(�Ya�{������������p���Ϲ�؄��?��H�C����I�l��]��l,1��MQ��:^�����װ�0��!�X�]���]
-�il��i�]��lv�<���8s1�!�
e��A�O�`<|{8�&֎78]OK� �4o?uΊ	����}��f4���p�c�9)�����IDO5���a�ƓS��Y�SS3;�qH�0�zǠ���(�!�M���Q���Q ��^�H(�b��’E��#s(�q��,�"���qda1�{86�����
-�\Jp!4����IM&nb�5{
R\�eu�w�v�L����ypC
g��� .>'�@C�l��E��h	�6�V�s�̓�%���4
F��=��1�����~�$<�?�{��
�����D�$���,����X\u����<��UV'��:����ϑ�uR�dg�5����FA��٬�~N�.9��Y;���� �}�[�
�@�-̀r����aq߶�7�Ӊ�
銼�I�^@�]�n�g!
�!8����(v,����7 
��|+N�Y�
-endstream
-endobj
-1047 0 obj <<
-/Type /Page
-/Contents 1048 0 R
-/Resources 1046 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 1012 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1059 0 R 1045 0 R ]
->> endobj
-1012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 696.408 222.319 707.312]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) >>
->> endobj
-1030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 649.399 223.973 660.303]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) >>
->> endobj
-1031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 567.258 238.369 578.162]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) >>
->> endobj
-1032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.184 567.258 339.678 578.162]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 531.209 241.686 542.113]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) >>
->> endobj
-1034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.546 531.209 403.039 542.113]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 495.159 246.667 506.063]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) >>
->> endobj
-1036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.007 495.159 397.5 506.063]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.672 170.749 330.933 181.653]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) >>
->> endobj
-1038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.314 170.749 513.996 181.653]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.18 122.744 513.996 133.648]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) >>
->> endobj
-1040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.412 110.789 298.094 121.693]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 110.789 513.996 121.693]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.207 163.61 109.738]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1049 0 obj <<
-/D [1047 0 R /XYZ 89 770.89 null]
->> endobj
-1050 0 obj <<
-/D [1047 0 R /XYZ 90 713.306 null]
->> endobj
-1051 0 obj <<
-/D [1047 0 R /XYZ 90 666.297 null]
->> endobj
-1052 0 obj <<
-/D [1047 0 R /XYZ 90 584.037 null]
->> endobj
-1053 0 obj <<
-/D [1047 0 R /XYZ 90 548.106 null]
->> endobj
-1054 0 obj <<
-/D [1047 0 R /XYZ 90 512.057 null]
->> endobj
-1055 0 obj <<
-/D [1047 0 R /XYZ 90 460.623 null]
->> endobj
-413 0 obj <<
-/D [1047 0 R /XYZ 90 343.018 null]
->> endobj
-74 0 obj <<
-/D [1047 0 R /XYZ 90 335.788 null]
->> endobj
-1056 0 obj <<
-/D [1047 0 R /XYZ 90 237.498 null]
->> endobj
-1057 0 obj <<
-/D [1047 0 R /XYZ 90 185.624 null]
->> endobj
-1058 0 obj <<
-/D [1047 0 R /XYZ 90 139.642 null]
->> endobj
-1046 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1080 0 obj <<
-/Length 1760      
-/Filter /FlateDecode
->>
-stream
-xڽX�n�F}�W�C) Z��(�$M�4-�D}J�!W2�THʎ���7��([��>�\���Μ�9��[{��}�l9;{b/Fq@o��b�<F"�����H�c�o����\�;Y����M���E���
*���le�JRi>�ɕ��$��d�J|�?-_�~[ξ�(�=b6(��t3��	{
��0bq�]�I�S��{?�{���Ǟ�L"蝉� !�cḎ>R*�.n��a!�y��a�[��J�����6C�4����FZ�M{��%���/Vu��s�P�� ���X�+��RG�2R�
��E��5����k�F�}w��#4u
-� �9�	 ���qp�,�H�`9G3��Wm�� +1���ޘ�je��t�@5���;C���D3�@A�ii�
�����VbbDI�f�Y������A���[d ���"���`��8�^�d![yOl���	x�
3
�x t�k��U{5o�!j��*�
�WI�gI+�d.�2+�k#�D8���Υ
Ѹ@{�[��˜`�����9
}y �ڌ7۪���&T;V�E�r��y�
-�W�lwIQ�X�,��
�42�
l=��8x&ނA�zaS�>���O]�O��4�f5/�}-�֪���Φ���'n��а'1
�Y��(3Y���5�>
�#��z��J����j5cr�vd\��=�F�P8�~�lk�=pGqDݜ��Y|AB�������>��G!l ��^�ݙ�����"`��D]5�>f�b/!�,h%Z9I���̈́ڔ�S�po�)�1
-�� #1b�=�@`����CP�>��Bpz	�e	`����D#�Qq/�5
���p��m>h�
A])�����AJ�,B ���Q�~(�J�PCY%�����$h|{H~<�,��7��;��j�_Y��zl��֕4_����Z����W�F���g�0�J� zYu$Kq����#h�:ƣ
-�oP$��qs��{�Z>?��
�|{���'g`|k9+F�eB(�`��~
��t��E�\6�:#
-jCσ�p}/��v�/d�䅴L�l�:߶yUN�Kh|�
��*����7[C޸�C�_��TI��+�~1 ��H���

V$�7�
�@��4Y���=v:"ROG��"UW�y���L�EU*��'i�*�~W�OM1��*��ߪuS����I}�̔�Vz������G
��
��A�q�^��ܲp͇����d0�^�1�X4����.�m���K��*ݩ�'7zȺ������k�e��e�\ᠨ�F�eUE5��Gg���B��D0W�R�B,n/:w^\���( ti�)VÄ�gE2O�=���f��c ����
��'s.:ܩ������DHo�`(�w�?O�
-Q�;~ѷ���@^�P�ϡ�t64iQՆQ�yWm�=D^v�ӈ�r�U�rLi [�cµ�/�����ϲ
Y�V,�p�R��w�ڴ�.U	�����G���!۩�G�x�"o`�p�"!ɷ�m at Q��	}��"�ɍ��_�`H`���"��^?l���wy���qP�nM/�:4ǤO�B��{'~�%���Z ��zI�.�aQ9�\�sȆ0�W���2So�%��V�ͥ����}�����|<7S�$�z����W��C�4��Q%��,�3)�r�
-�WjKY7�� F�ǩ��b��糧�0�⹷?f:���Ey�pwCpٶ����k�6hW�������0B�B�MĝgL��6�N8p�������C����&�|�
-endstream
-endobj
-1079 0 obj <<
-/Type /Page
-/Contents 1080 0 R
-/Resources 1078 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 1042 0 R 1043 0 R 1044 0 R 1060 0 R 1061 0 R 1084 0 R 1062 0 R 1063 0 R 1086 0 R 1064 0 R 1065 0 R 1066 0 R 1088 0 R 1067 0 R 1068 0 R 1090 0 R 1069 0 R 1070 0 R 1071 0 R 1077 0 R ]
->> endobj
-1042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.623 695.947 513.996 706.851]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) >>
->> endobj
-1043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.412 683.992 298.094 694.896]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.302 683.992 513.996 694.896]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.547 635.064 338.25 645.968]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c1f5f1) >>
->> endobj
-1061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 635.064 513.996 645.968]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 623.483 163.61 634.013]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.221 549.253 362.589 560.157]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
->> endobj
-1063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 549.253 513.996 560.157]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 537.298 189.622 548.202]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.064 537.298 306.672 548.202]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.528 500.326 359.281 511.23]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) >>
->> endobj
-1066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 500.326 513.996 511.23]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 488.744 163.61 499.275]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.243 451.399 346.554 462.302]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4) >>
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 451.399 513.996 462.302]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 439.443 163.61 450.347]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1069 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 439.443 369.765 450.347]
-/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-1070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 99.295 261.602 110.199]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6) >>
->> endobj
-1071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.417 99.295 375.334 110.199]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1081 0 obj <<
-/D [1079 0 R /XYZ 89 770.89 null]
->> endobj
-1082 0 obj <<
-/D [1079 0 R /XYZ 90 713.103 null]
->> endobj
-1083 0 obj <<
-/D [1079 0 R /XYZ 90 652.22 null]
->> endobj
-1085 0 obj <<
-/D [1079 0 R /XYZ 90 564.387 null]
->> endobj
-1087 0 obj <<
-/D [1079 0 R /XYZ 90 517.482 null]
->> endobj
-1089 0 obj <<
-/D [1079 0 R /XYZ 90 468.554 null]
->> endobj
-1091 0 obj <<
-/D [1079 0 R /XYZ 90 392.909 null]
->> endobj
-414 0 obj <<
-/D [1079 0 R /XYZ 90 273.409 null]
->> endobj
-78 0 obj <<
-/D [1079 0 R /XYZ 90 266.671 null]
->> endobj
-1092 0 obj <<
-/D [1079 0 R /XYZ 90 167.851 null]
->> endobj
-1093 0 obj <<
-/D [1079 0 R /XYZ 90 114.428 null]
->> endobj
-1078 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1127 0 obj <<
-/Length 1984      
-/Filter /FlateDecode
->>
-stream
-x��ZKo���W�\�>DJlW�SL�3����]��bюP[R%:���{��,ٲ��N�]I��8���΃4�~������u����"��Q(�+
>�X<���ǀ�)`�m}������o>�oW��\�~E���Q��է_q�B�FL���vZ!e�\��{��(�+
����!�'�gJ�]�|�p�GY�}���{�~�
(ǣ�\��jL�h}�����J�Su�qSk���CU�m�-oղԛ���Ϙ�+���gս��_�.[�#(¬��g���c�ɘ4}�i
b�ެ��#�0N�f܄�����M��*[���*��h>�����*��"O_�O��NtKb��-�k��Z�ߵU�O���e]eZ�׹���
�p�L�.�3M�1�F���)b�Q��!Lv��:��&��A��ښ�g�	�
-cL(E��3 �%9�YU,;�{+ȗ@\(P,��/k)"aŘXO1a!C,2�#Hr�F .��
-���5},��$:�0
�{�P��,�/�.r��C-�nQ
]�N�
�oE�ظ/I3���O�vHg�vpJc�$8=o�� J9���nΖ3�N�Z�@Ӭ��*Z{�X�4�㱛
G qVcXǧD�t����
JIIO�.|
���a�԰��A:=�t�yw!��^B,�"�Q
]�����k�p��5��/B<F-b��
�[�������^Ywm��_ ��|�F����[B��~��P��ߜπ�.w�X=�@Ǯ2Nz�;7q�Q�Bb1�]�
‘�PR��<>�`��	�'Jk}�1
-Ź�����7�T�T���l�0	����i �!�ݢ
" �dbĶ����y$�������`�<?cjR�TA�V�1������!h+B�›|
��C��Ҥ�}�}��gb���sM믆�Y�6]����}��6&x�,V��'ڃ\�=TY��r�ٷnд�d�-��:���U�h҉;�
�PI����X��>�C2:�'kj�׫|��i��d(����}��i6��h�j�\�٭0!��ƈQqzc�8��V�	�hk�ݙc,.	c#�є]�ݔ}�����M��e4¸
򈄦M
��.^9���ϯ�wJ�AO�B��n9@#s��u�
h�[3��T�L�0�l�gG>]����<F�ѓ	
f�JAUN/�17NwYg
���>��W�N�-aWt��	�W�/ϭ��ۘ
f������7�!�[���/�{e
��DW�C�,�z;����h�={�:��~b-�"��±��d�Y��ٞ+�]
F���,��W����T	p� "3}�|p�OŝCX�d^�f� |snP�]HZ��EY�~�;���ֺ�;G�,��
���)
%����c!F
��
\��!��{��]�f��8����ˤ���S5��g �qD#����'�r�ԣ�
�����2q'���De"�2t���+����("�e~ݵ�u
��K��+
�GrQ��
͚N ����
���%Ӿ%[�
)�N�K�>����$�~Ğ@Qً��Ȗa����˓RU�Iy��+���7L�p$��"B��gh�t&T�
!�n��/���l�+�YC�Tݍ)
��>���R�*�oU?�2���>�2|�l���aO�l�^��B�]f?�
��D`���.3���2��)bOH�[��J�MP��ʴ��I��
�0D�\ Qu���Aq)�����5�)ɋ�齱�xα���D�
���

�����
-E��]��q�Y�\9�.`9��ܽ��I��SE�A�K$@��c}��+}�a���Vں��"���0'4�=��
�;`P�b�w�0B\�x��`��g�VKa�s��ܫ�J�ן������x�����U2���@jQ͌�rֆ&]�����ӻ$_%
��0��,�*�Ј������G���Y෠y{k�L;z�0Fېz�u����z�F���P���]��Ah;	1�겍������E寪�ܤ56A���'�3#C
-endstream
-endobj
-1126 0 obj <<
-/Type /Page
-/Contents 1127 0 R
-/Resources 1125 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1131 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R 1100 0 R 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1136 0 R 1105 0 R 1106 0 R 1107 0 R 1108 0 R 1109 0 R 1139 0 R 1110 0 R 1111 0 R 1112 0 R 1141 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1145 0 R 1124 0 R ]
->> endobj
-1072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 707.957 334.099 718.861]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) >>
->> endobj
-1073 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.915 707.957 447.832 718.861]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.501 671.885 342.466 682.789]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) >>
->> endobj
-1075 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.676 671.885 459.593 682.789]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 671.885 513.996 682.789]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 659.929 208.989 670.833]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.316 612.898 374.601 623.802]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) >>
->> endobj
-1095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.627 612.898 489.544 623.802]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 600.943 261.024 611.847]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.675 553.911 382.518 564.815]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) >>
->> endobj
-1098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.903 553.911 496.82 564.815]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 541.956 261.024 552.86]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 505.884 269.043 516.788]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3) >>
->> endobj
-1101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.859 505.884 408.788 516.788]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.653 434.639 319.422 445.543]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) >>
->> endobj
-1103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.785 434.639 464.714 445.543]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 434.639 513.996 445.543]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 422.684 190.738 433.588]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 386.611 270.159 397.515]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) >>
->> endobj
-1106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.975 386.611 409.904 397.515]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.127 350.539 271.261 361.443]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) >>
->> endobj
-1108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.098 350.539 415.027 361.443]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 350.539 513.996 361.443]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 338.584 223.943 349.488]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.915 302.511 265.449 313.415]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) >>
->> endobj
-1111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.074 302.511 411.003 313.415]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 302.511 513.996 313.415]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 290.556 223.943 301.46]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 254.483 259.639 265.387]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126) >>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.455 254.483 399.384 265.387]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 172.28 264.61 183.184]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) >>
->> endobj
-1116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.426 172.28 378.343 183.184]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.092 136.207 324.496 147.111]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) >>
->> endobj
-1118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.297 136.207 442.214 147.111]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 136.207 513.996 147.111]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 124.252 182.977 135.156]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1128 0 obj <<
-/D [1126 0 R /XYZ 89 770.89 null]
->> endobj
-1129 0 obj <<
-/D [1126 0 R /XYZ 90 721.073 null]
->> endobj
-1130 0 obj <<
-/D [1126 0 R /XYZ 90 688.788 null]
->> endobj
-1132 0 obj <<
-/D [1126 0 R /XYZ 90 629.801 null]
->> endobj
-1133 0 obj <<
-/D [1126 0 R /XYZ 90 570.815 null]
->> endobj
-1134 0 obj <<
-/D [1126 0 R /XYZ 90 522.787 null]
->> endobj
-1135 0 obj <<
-/D [1126 0 R /XYZ 90 449.52 null]
->> endobj
-1137 0 obj <<
-/D [1126 0 R /XYZ 90 403.515 null]
->> endobj
-1138 0 obj <<
-/D [1126 0 R /XYZ 90 367.442 null]
->> endobj
-1140 0 obj <<
-/D [1126 0 R /XYZ 90 319.415 null]
->> endobj
-1142 0 obj <<
-/D [1126 0 R /XYZ 90 271.387 null]
->> endobj
-1143 0 obj <<
-/D [1126 0 R /XYZ 90 187.161 null]
->> endobj
-1144 0 obj <<
-/D [1126 0 R /XYZ 90 153.111 null]
->> endobj
-1125 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1169 0 obj <<
-/Length 1996      
-/Filter /FlateDecode
->>
-stream
-x��Y[���~�_AU
�����B�V6Uۓ�f�r�ɓ���В�E������
4�F�j���i��p�
-p�����]]��8PHE4
-�A�\e��0F�lN0��v[,^W���2Ջ6Y��T��]��z���]~�K]ψ
�.X"Q
�L�~�������oWތ��$P,�ts��
d��s�S2���6�
�E����W�+��ʋh�<!�.<�q|�Tؗw�������/e����`
1���b[�Ρ��VoE�'>c���i�U�L[�S⾁<2��
!f*�`včٔ���`N8�`�5��Q�1O_�H1���3�}s;F�i���&d(DI��hڬڵrE�64i�ޢQ �J ���4�.�噑�yw��Y�
0�0��uf}Ƙ�]#8R��=T�d��y-_
s3/�N���ʿ�ҝ.�
4F� A,
���" �=��0�4g�(]'�$��[A���8j���DMx�AQ���(�tn�'���*��������m���q�%ݯ�tFD�v�y���šnwu�I��'S��a5���
� A��
S����8�I���"�m���j�c�m2.U�|�<��a��2����O<)Y�
��u�F�m��U�]�	T8U��uo�B��e�Oq$cq�����*ɾ\��P��	���	+��h�Pu
V_U�m��ɨZ�3.�j3%J�8�NÖ<����`nQ�(�s�80�"~@x��$/:Z}���η���� �#]�s7�8|�j�T�2s'�]�	v=�U���
<j�lΤ
�l+���DFϊt��uej��<ӝ8c�1�Y	�̰ehi
-T?A9�"��ku��ػ"ƶ�����,�'	b���g�
�i�2
X����kʲ*�m�Pt��έ+��;����.u����08n���lk��Ԟ
-0-��䆴�
��� ȣ�eK�b��
j�!Z{/��9�:��"��
_dz=
��
:@6t�
d
�Fб�a����i�˼
0��w
-�b�'�_&d��؞�.��7�'�d��
<�)0�S|�@
�y���
7���:�ԇUm�$����Ť�'e�on��K���
Fǘ|h �
�,�D�m����������&_�&Wb
-�淎�v�	�!��.U�^�"�R�l`�PQ�y�=�<�H�B�ӧm�c3	���m^�^����5��*}cx�O�8��'�G�Q]�4�3
������^�Cаx��<$�:먐qB�a~����w}��P.��#��Y e�H���;G���~��y,B
� �1��
-��wpH>ѿb3!\"Bqw.9� 4[}e��v_��z0:qKk�Yhwn�Ϝ��Ӻ�$�|�45@�cb�	uF����+W��f�8wʒ��a
n�=�!ɛag6.e}���=
'�o���� �~W~�kjbH�#P�
>g&�a1����17-~�u� k��(�����tEE�d$��{� ��H�S!����l��j
�$_
-��[��P��}>��t �
-Y�x���I`$q_�!���Gw ��1
@��?��0.�|��F�.��6�[��,�VF�l��E��r�Z]5?���\Lɳ	
}�c7�\l>v�7�X�I��/
�����3���
L�B��9:"�,�'A�� '�AN�Bb?� ȩ�
ȩ�
��N:���<rU����ʽh�s��eu_���
4�0��&�.��}�A9���AE1���''l�9�yk\a�_cz/gNj�IѶ��~Z�Q�VgUӳ�
�_
-�
�!O��7�����
fYd
-
�\L��7�vʎ��z��)�=����?�v?��C1���w^��������-�덡~F��U��Y������:���k��6)W�d�w�	������fpo��LJ�4�=��敺�t��O��&�0?�.�����?��ػ��r��z�[��������{�6hW����5����B����S�e.(���L
-6�%,n��t���Cۮ
-endstream
-endobj
-1168 0 obj <<
-/Type /Page
-/Contents 1169 0 R
-/Resources 1167 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1153 0 R 1154 0 R 1155 0 R 1179 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1166 0 R ]
->> endobj
-1120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 707.957 276.804 718.861]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) >>
->> endobj
-1121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.62 707.957 416.549 718.861]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 670.944 280.122 681.848]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) >>
->> endobj
-1123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.982 670.944 479.911 681.848]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 633.932 285.103 644.835]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) >>
->> endobj
-1147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.443 633.932 474.372 644.835]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 596.919 291.19 607.823]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) >>
->> endobj
-1149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.006 596.919 430.935 607.823]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 559.906 285.651 570.81]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) >>
->> endobj
-1151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.467 559.906 399.383 570.81]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-1152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.571 242.159 226.746 253.062]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) >>
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.027 242.159 305.623 253.062]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.525 242.159 453.251 253.062]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 242.159 513.996 253.062]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 230.577 178.862 241.107]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 182.232 293.581 193.136]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) >>
->> endobj
-1157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.397 182.232 372.993 193.136]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 134.26 315.678 145.164]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) >>
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.494 134.26 395.09 145.164]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.716 86.288 304.36 97.192]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) >>
->> endobj
-1161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.786 86.288 383.382 97.192]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.546 86.288 504.154 97.192]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1170 0 obj <<
-/D [1168 0 R /XYZ 89 770.89 null]
->> endobj
-1171 0 obj <<
-/D [1168 0 R /XYZ 90 721.073 null]
->> endobj
-1172 0 obj <<
-/D [1168 0 R /XYZ 90 688.121 null]
->> endobj
-1173 0 obj <<
-/D [1168 0 R /XYZ 90 651.108 null]
->> endobj
-1174 0 obj <<
-/D [1168 0 R /XYZ 90 614.095 null]
->> endobj
-1175 0 obj <<
-/D [1168 0 R /XYZ 90 577.082 null]
->> endobj
-1176 0 obj <<
-/D [1168 0 R /XYZ 90 524.239 null]
->> endobj
-415 0 obj <<
-/D [1168 0 R /XYZ 90 416.594 null]
->> endobj
-82 0 obj <<
-/D [1168 0 R /XYZ 90 409.805 null]
->> endobj
-1177 0 obj <<
-/D [1168 0 R /XYZ 90 310.857 null]
->> endobj
-1178 0 obj <<
-/D [1168 0 R /XYZ 90 257.312 null]
->> endobj
-1182 0 obj <<
-/D [1168 0 R /XYZ 90 199.408 null]
->> endobj
-1183 0 obj <<
-/D [1168 0 R /XYZ 90 151.436 null]
->> endobj
-1184 0 obj <<
-/D [1168 0 R /XYZ 90 103.465 null]
->> endobj
-1167 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R /F92 1180 0 R /F91 1181 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1215 0 obj <<
-/Length 2037      
-/Filter /FlateDecode
->>
-stream
-x��ZIs�6��W�Vj&���Z'�M��Q����IH”[������BJ�h[�����$<����(�
��p�����2�N�"���b�D�	X��O���ex���G��CD"�ы����->�wg�g�x�
b�s�N��}�;)
��`�E�s�'��
\3���/gز�{5�EN��L�FFnB!���;���l�ύՅ�IY��N�0��:n��;��3�R	r~��7���)#�8�����@�q����h������4fhY�=Wv�3�2�JRϼ�q+�iqza�45S�q�	�����7E<2lVSr��`i��g��K�o�e�y�a��)
��gJ����i�1ve��a��ze!���VU�\�M#W��� �ղ.��]�j�g����mz��Ti�}� ��ׄ�$M� �1?�P;7*i�$��݃9"��)b���wZ# +ʱ�����;���jL�Wۚ��5���s6���M�9m9A'B����i����x�ӀE�p
Y�3 [...]
-�#�xQ�+_dĺ스�e1(N�Lu��4�w�
��L��nG�{ �P�$�y���- at 5U
���Eр'���M��U{W��
�F'�O��>c�
�4�P�q-����+C�E��
�ڀS^�c(
�T>q"�Ӎ��1�M`n7v����S>��T�

!g��#�X
�A-)�rF�2M�(�@���(`S{?6?���rs���k�!�7���DD�ؕ|���	�e%{t�e���<�!� ��T��[��7q-���(��
-�
a��_��CtsҎ{(
}B�#�[P�ź�˕(D�5W�����
�S)�	�i�҉��)�b��V�
��TX��T�
�t� U^�]�5�$�_I��H�x8b��(!�Qt/����l5�h��$���̭�F��F�AV�xl�{m��ɦ
-&`i��� 
-�`Ai�����
�\�/ԃ�J�K
�?.�֭Y�ĭl�
>�*�qk	˼�D��'q��fyJ"S�A-��[5�R�(Ces�uu�uX��ҋ��T�^��=uV�[��lz�9�8 �G�(ns����%�f���vkIJ����H�<W\�(v;m��P�U]
��k� �0���SEQ_�V]{��k�b6�Tl_���UU�̯���9g�bt��G!3��������NNӦe7��
��͜��*��yN���P�]�y���3*V	�'�K�զ�E�w���9�Brz2L� +p�}�k��
>��
Ɗ92h�0�	�&n�M��K�
؀�p�
�{���-
U�p�r�htZ��}l˲2��_��B���V���j}{vU���
Z7�e���
-�k	��
�
-�=�O�O}��F:������v`�0;M7��Wi�W'�B�
-�8E8�|�/w�#��V� �H�ݰ�G�c���m3C�6$j���؇P�1 "���UO��"՝�)A
��2N����"��j)<%�<

-�Hz
�
I�‚���4�v>E*D��G�,<�f���qU�0�bq|!2����J���z��J4I-�V����~��6Y_�B��U�b�Ԗ5��˭�,0n��ٔ�P2�i�܅�+`I�G��ɐI2f��K�I���6/��ad��i���
-5�
��f��H�q3x�Sc4D~�,�6�s�j�,�*-�.�k(�6��vW�O?���%Yo�����-K��Zԡ\S�n&^�,��A�ʂ��a7�C��Z�)g���z4k��
�D�,��?{�?u�raQ 
���� �>�z��A;�s�-x��Pfwk�ֱy�V^�q}g
.̔�q���]�fG�0Uo���1
~��.��;�oԖ���z`#�?Ru3f�G�g�F:��O�L�-�����u�V/��oooQҠ��U�d{�>߯x7Da���
cyY
#�,T?D�
����d�
-endstream
-endobj
-1214 0 obj <<
-/Type /Page
-/Contents 1215 0 R
-/Resources 1213 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1029 0 R
-/Annots [ 1163 0 R 1164 0 R 1165 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1193 0 R 1221 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1200 0 R 1201 0 R 1202 0 R 1203 0 R 1204 0 R 1205 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R ]
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.709 675.601 313.911 686.505]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) >>
->> endobj
-1164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.329 675.601 393.925 686.505]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.388 675.601 513.996 686.505]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 629.817 234.723 640.721]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) >>
->> endobj
-1186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.538 629.817 340.146 640.721]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 564.743 279.554 575.647]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) >>
->> endobj
-1188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.37 564.743 384.978 575.647]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.881 564.743 478.237 575.647]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.49 530.915 256.12 541.819]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) >>
->> endobj
-1191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.32 530.915 364.928 541.819]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.446 530.915 465.803 541.819]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 530.915 513.996 541.819]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 519.333 178.862 529.864]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 485.131 297.268 496.035]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) >>
->> endobj
-1195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.083 485.131 402.692 496.035]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.594 485.131 484.075 496.035]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 451.303 245.253 462.207]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) >>
->> endobj
-1198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.069 451.303 350.677 462.207]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.58 451.303 432.061 462.207]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 417.474 225.318 428.378]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) >>
->> endobj
-1201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.134 417.474 330.742 428.378]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 341.442 242.484 352.345]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) >>
->> endobj
-1203 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.299 341.442 347.907 352.345]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1204 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 307.613 245.801 318.517]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) >>
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.661 307.613 411.269 318.517]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 273.785 250.782 284.688]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) >>
->> endobj
-1207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.122 273.785 405.73 284.688]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 239.956 256.869 250.86]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) >>
->> endobj
-1209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.685 239.956 362.293 250.86]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 206.128 251.33 217.031]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.146 206.128 330.742 217.031]
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-1212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1216 0 obj <<
-/D [1214 0 R /XYZ 89 770.89 null]
->> endobj
-1217 0 obj <<
-/D [1214 0 R /XYZ 90 691.943 null]
->> endobj
-1218 0 obj <<
-/D [1214 0 R /XYZ 90 646.16 null]
->> endobj
-1219 0 obj <<
-/D [1214 0 R /XYZ 90 579.063 null]
->> endobj
-1220 0 obj <<
-/D [1214 0 R /XYZ 90 547.257 null]
->> endobj
-1222 0 obj <<
-/D [1214 0 R /XYZ 90 501.474 null]
->> endobj
-1223 0 obj <<
-/D [1214 0 R /XYZ 90 467.645 null]
->> endobj
-1224 0 obj <<
-/D [1214 0 R /XYZ 90 433.817 null]
->> endobj
-1225 0 obj <<
-/D [1214 0 R /XYZ 90 355.762 null]
->> endobj
-1226 0 obj <<
-/D [1214 0 R /XYZ 90 323.956 null]
->> endobj
-1227 0 obj <<
-/D [1214 0 R /XYZ 90 290.127 null]
->> endobj
-1228 0 obj <<
-/D [1214 0 R /XYZ 90 256.298 null]
->> endobj
-1229 0 obj <<
-/D [1214 0 R /XYZ 90 222.47 null]
->> endobj
-1230 0 obj <<
-/D [1214 0 R /XYZ 90 173.757 null]
->> endobj
-416 0 obj <<
-/D [1214 0 R /XYZ 90 72.549 null]
->> endobj
-1213 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1252 0 obj <<
-/Length 1885      
-/Filter /FlateDecode
->>
-stream
-x��Yے�F}�WP΃Q�5;�
0lR��o);N���<�.�HK�
h����BȒ�]�	�kw����v�v~�<����
��(��j�D�	Y�� �R��p:#cw����ʢn�8+���]݈�<�-�Uܔռ��ә�c�UM�8��B,D5%��l"
	�������ɋ���	y�C��>
-���&�>`'���F4��r�G�;���'x�
-!(�}����<�*���K?�Y;3�!�"��Քc�n-j=;.R���I���泬��?+��e��I+�����5��޶ $D�Ǵ ?eE�oR#*��S�Y�
���Z`3P�
�fK��"NE��G��<��5���5#p�
�Ό�9Q_��y�c���a��=��_ec����&j�W�(M�J�>�jp��h�x�ρ�!R%�F

�M������lY��=��؟
;tk����"��&�XFW��8�f>`Y"B7K���Ə.� ��<�BL=߽=��r�4��
�t���ྜྷ�4��E�{����3q�1ɚ�
X�p�0�8�B�=�&��z���,O�G|�)���C�.����i�V�5t���]�
��4��4tEm@�w�{�0�}e�'��l��uM4j�=�ya����C��� +����*W�QS��!(���r
 �~�9��`+��:!�=�[�*cg�T�>9�Z��3�O�B@�
�ʘ�0e�5�-}��N
fU_�[b����;�V.F`M�V���QMDh��a��󲞄��d�BK�d�׽Ɨs#N��M�����J.0Q�h0����
7B
��ې�;3n|�ےH�m����^{\��8_5ސ��ou�
�o�,�M�픡
G��EK`z�o7����Q at -�@�1��v�	���2�H�z��}�4��GG��y�:�T�������:R����B��^S�ݛ8�Ҹe [...]
c�J=)���fy��T������ܸ�Gџ����ױ���C� ����	��M
��r �[�%�Q��V����
bf���jy���}4�(�
5�T���M�����H�Kx>@�"���i��x��0�X��<�
�l/�
N�E

�;[Y�o;`��h}�8�&�V�w*g��G� ��kLt��prZ��p���	��8w����?�T��wo&x�`��gpz�#�?	xu9�B�%�u	J׏��N�}��Ҍ�Dn
��n��#1!d �C
-�9#���"�<0���]�fSI�J�
-P�.k�Z7B�0Bғ��
��
-#7[�N]�����f�����UR)�-���`�C��F(��GXs����=�
\��
)������&����w5�`{c9���3=�?(4S�
�M0{�iHu|�U�@�`�^{#b.���&�r��E&U���'�cq�l�R޿ǖ����=�l��ز��-��{�R�J���;��;q�S8X��%�u�8-�����R1�,�E���BrP�'S"��.��z^��@Ke6ݲxS��/c̈��>�
2�kAz@���׻

=P� |�aM���A[��p~�ń��q�#�xG��^�4�	f�+��2�H�c��]��W�L�U_�)
-y"��a�ae���r��5��\�o7�Xԕf�b~_���Ș���f���?�� �D��!�~D�qaR��P,D~��&��}��ZI�G=�m��]���u��cWw��
�&.��xi����E�X�T�	�)�'�ٍ�RT�>3h�0�ɔ .H1s/���>9�평�9���1��gAs�4����[��hSd�
-e���l�0�!�f��e+C تTn@���ƕ�����
-endstream
-endobj
-1251 0 obj <<
-/Type /Page
-/Contents 1252 0 R
-/Resources 1250 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1257 0 R 1235 0 R 1236 0 R 1237 0 R 1259 0 R 1238 0 R 1239 0 R 1240 0 R 1261 0 R 1241 0 R 1242 0 R 1263 0 R 1243 0 R 1244 0 R 1245 0 R 1265 0 R 1246 0 R 1247 0 R 1267 0 R 1248 0 R 1249 0 R ]
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 564.21 314.741 575.113]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.557 564.21 481.613 575.113]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.849 528.503 483.414 539.407]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) >>
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 528.503 513.996 539.407]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 516.548 270.438 527.452]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.842 516.548 484.911 527.452]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.57 469.883 487.693 480.787]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 469.883 513.996 480.787]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 457.928 270.438 468.832]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.543 457.928 476.612 468.832]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.173 422.221 338.25 433.125]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 422.221 513.996 433.125]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 410.64 163.61 421.17]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.84 340.028 349.582 350.932]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 340.028 513.996 350.932]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 328.073 163.61 338.977]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.051 328.073 274.034 338.977]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.277 292.367 342.404 303.271]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.392 292.367 513.996 303.271]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 280.785 129.857 291.316]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.869 244.705 346.554 255.609]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd352e1e9) >>
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.132 244.705 513.996 255.609]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 232.75 163.61 243.654]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 232.75 363.139 243.654]
-/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1253 0 obj <<
-/D [1251 0 R /XYZ 89 770.89 null]
->> endobj
-86 0 obj <<
-/D [1251 0 R /XYZ 90 721.073 null]
->> endobj
-1254 0 obj <<
-/D [1251 0 R /XYZ 90 630.358 null]
->> endobj
-1255 0 obj <<
-/D [1251 0 R /XYZ 90 578.999 null]
->> endobj
-1256 0 obj <<
-/D [1251 0 R /XYZ 90 545.315 null]
->> endobj
-1258 0 obj <<
-/D [1251 0 R /XYZ 90 486.695 null]
->> endobj
-1260 0 obj <<
-/D [1251 0 R /XYZ 90 439.033 null]
->> endobj
-1262 0 obj <<
-/D [1251 0 R /XYZ 90 354.818 null]
->> endobj
-1264 0 obj <<
-/D [1251 0 R /XYZ 90 309.179 null]
->> endobj
-1266 0 obj <<
-/D [1251 0 R /XYZ 90 261.517 null]
->> endobj
-1268 0 obj <<
-/D [1251 0 R /XYZ 90 187.59 null]
->> endobj
-417 0 obj <<
-/D [1251 0 R /XYZ 90 70.672 null]
->> endobj
-1250 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1303 0 obj <<
-/Length 1869      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~�����@��"��ִڵY�d�CZ�D�Beɕ�ޯߡH],�v���I)���}�
Rؘ��u��fpv�`�C�Mm�fbx�p,q�B�ִ������."�
�����/o�]�\˱������!l5�#�5����+6B��``�<�X��
�2x�����B�8��,�J���A�pD0��b���$/2?J���:/�|\���rl�O
-�M�@��+1ِ��H�
$>��vKel�����mn�.6�
���~��d�E���4S��D��49R;9ts'� �Zj��$����	�l��
9`0m�z�r���@$τ�
�z�s���}?��ڎpe�1�pe�+�����-pЈ_0Ǘi�=P���j�\w��n$�
�����:�F�)qV!�zv "+�p
G���2(�,��%ϣi2��j��է�u�$
Y
6!�a��/��)��J%"T�$F6�
�*?�;J�%bH��چswE9AZu璻X����hC����
-_0f=����jA��#���<�*!E�����q���f�aM.��E�n�G��I�bC�M�Y���,*j���
�
-|�zF�ëgfC�"�xvyKvj�3����L[Ab#�|�zm�G#�r�'��8槄��o���0�����Y��@z*d1�!@�=�R�|hq3
��"�!����$����Կ�����mD�t�y���΁$�YG �e�@7��y����\౨�0�@5���{�GS���*E��rh�xʖ��,W�٦��#Y�PxW��܌Z2��F
%�Xi�^��-?������$��&�Z�����`��C��%{%@�:ui� �#�Ԁ}
�ڤ��Co^�G���J
-&U--N]�Wiq
�F�d�X�@q��X6�� 
-�����Q�p����;e����T6���K��1�
;�#d�wEEK�ԛLT\=$hE����v	dj��$b74��
��(W=�zU�-�_6����T�Mȋ�M6��&Y52����d��2���6��\���FK�J갗W#b;�g����e����ѓ
�\��J���q�pz��(p���	�b-�עT_��R�ٓ��:em�Gݭ�^�m��C
��
-  i�\����:
��K`��"�bX�3·R�8V?Q��՗E6��>Zؼ��(�뢹���D��q	��),�W�n�H
�Y�W��߆Ε�5_�д�L��E��eY$�u_�&�"�(��qU"�^$�ҏ���N�'���E�1;�1�t6�
��FP�*�.6o������qYݢ|J�h��hz޹��AΞ��'RBw]��
?��d���	�R���a໽1�v\�b_�c��A
P�Ե����_5j�V��y�7�1
�u���PIVQM����x�?rߋ��L�lQ߹�$�Sy:�-c\d3��2摑T�
1�n��	)�x�D��:Yxn)�{�'�_��<-���c�[|b�,r��d�C���W����@I���,����T��xݎ�--��! 0[Ey�y c��I�1��1tEA1��
��\����x���(
Wri3���a�� �])�4�ʅ��cBEJ�72������P�CF�Ϩ8ک�?˹����
<���S]�
-���b�� ��ؼܭ���D�$u
��#�,Dm�d)�A��qL��]PI�u�
�r�� �>����e�f���/�}��`��\���r���?�E���K es	[F��i���0�����.�z9W�|��ҟ���׸
ުT��?s��8���ՄO~�T�Io��-E�k@��,F�	�P��2�EU	+
|3��o��u��\���oV�Wgg��
-9Z&�"CQq>;�>�4��
ܫ����@�yZ�R
�:�<0����uko
-endstream
-endobj
-1302 0 obj <<
-/Type /Page
-/Contents 1303 0 R
-/Resources 1301 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1276 0 R 1309 0 R 1277 0 R 1278 0 R 1279 0 R 1311 0 R 1280 0 R 1281 0 R 1282 0 R 1313 0 R 1283 0 R 1284 0 R 1285 0 R 1286 0 R 1287 0 R 1316 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1292 0 R 1293 0 R 1294 0 R 1320 0 R 1295 0 R 1296 0 R 1297 0 R 1322 0 R 1300 0 R ]
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 563.543 254.976 574.447]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) >>
->> endobj
-1271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.792 563.543 362.083 574.447]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 527.499 327.474 538.403]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.289 527.499 434.581 538.403]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.057 491.455 327.771 502.359]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.538 491.455 436.829 502.359]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 491.455 513.996 502.359]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 479.874 176.352 490.404]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.102 432.497 360.136 443.401]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.948 432.497 467.239 443.401]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 432.497 513.996 443.401]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 420.542 236.685 431.446]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.596 373.539 368.188 384.443]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.494 373.539 474.785 384.443]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 373.539 513.996 384.443]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 361.584 236.685 372.488]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 325.54 262.418 336.444]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) >>
->> endobj
-1284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.234 325.54 395.537 336.444]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.771 254.374 315.914 265.278]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
->> endobj
-1286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.395 254.374 457.699 265.278]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 254.374 513.996 265.278]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 242.419 190.738 253.323]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 206.375 263.534 217.279]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) >>
->> endobj
-1289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.35 206.375 396.653 217.279]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 170.331 327.732 181.235]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) >>
->> endobj
-1291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.548 170.331 460.851 181.235]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.728 134.287 261.237 145.191]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.675 134.287 394.979 145.191]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 134.287 513.996 145.191]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.706 189.622 133.236]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.517 86.288 255.424 97.192]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) >>
->> endobj
-1296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.651 86.288 390.954 97.192]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 86.288 513.996 97.192]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.707 189.622 85.237]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1304 0 obj <<
-/D [1302 0 R /XYZ 89 770.89 null]
->> endobj
-90 0 obj <<
-/D [1302 0 R /XYZ 90 721.073 null]
->> endobj
-1305 0 obj <<
-/D [1302 0 R /XYZ 90 630.282 null]
->> endobj
-1306 0 obj <<
-/D [1302 0 R /XYZ 90 578.417 null]
->> endobj
-1307 0 obj <<
-/D [1302 0 R /XYZ 90 544.395 null]
->> endobj
-1308 0 obj <<
-/D [1302 0 R /XYZ 90 508.351 null]
->> endobj
-1310 0 obj <<
-/D [1302 0 R /XYZ 90 449.393 null]
->> endobj
-1312 0 obj <<
-/D [1302 0 R /XYZ 90 390.436 null]
->> endobj
-1314 0 obj <<
-/D [1302 0 R /XYZ 90 342.436 null]
->> endobj
-1315 0 obj <<
-/D [1302 0 R /XYZ 90 269.248 null]
->> endobj
-1317 0 obj <<
-/D [1302 0 R /XYZ 90 223.271 null]
->> endobj
-1318 0 obj <<
-/D [1302 0 R /XYZ 90 187.228 null]
->> endobj
-1319 0 obj <<
-/D [1302 0 R /XYZ 90 151.184 null]
->> endobj
-1321 0 obj <<
-/D [1302 0 R /XYZ 90 103.185 null]
->> endobj
-1301 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1345 0 obj <<
-/Length 1838      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�~��ڇ#k�Q��(�v���[t��>m��+ӶP[RI9i��^t��l�:{^,��Fs���
��u���ξ��]\&8�P�8�^�(C<��e�!LP6_�qX�ۛ�R7Jesӈ�|A9��F��ȥ�}'WR�I��NQ�H����?�~���=#�f
�&��4�w��`	�?�,
��]Q�m�~��
{��Έ,H��82F�#
-ÄD�3�;��u���Me�L��)��4�vy^4n�Xp�XJ�5�	ˍSܰh��<M���u�*�����f�=&˥T���d'��9}���P��
�i���R���ِ�r��%��X0
-��4X�����J�HJ�a�*FY7m��>����1��[�n~��P�Y����4+ɺiB^3%.� �L�~�-JQ
�.G8���w��+�"@�p���ESܚ����.��s�UnI��X�����(!]�
-��;�ݺѪR;�|e�
$
T����;�B�[�ES���V�VJ���bWo�N�
,���
cͭP����Pm�g���$�� ��MFY�� ��gNe�@+Z��RmD�w�N�e��ou��/�B���M���]��d�:�Q�#
V�%�/
~�r�ߺ�v�.��9����q
��Wo��=D
�uA��	0�2����v�/s�6�o�_ĽT�bu@=�����NmbpI�a'�s�";8�J����?���U&��-��
8͹~���f�o��d	�R��v�F�V��
�˸���v��6{�O#x�"4:��1
Ң�R
��P8�ș�b�����d�`}�XXKQI��%а虄�cI"D6F��H��V���*�	��M���2�Ŵ'�r�"1"��M�b��=Oóe��]
-�e0G���e.��~�y�L�M�PH�������ů�.�M=�>�7�3�fQ�����Ɵ�������[e9q��h�ȣ����os�$iW�fY�JpFM���G4���y"�zb(/�����M�Rܙus�FD(��x��W���e� q�x��Bƌ��
-�SH�6��;b�K��93�
E�}`H�'�(߸2�D
1̆ :$;8��?�(�1��K�H�
�v[�
�+ٖW�2�=ԅ�F�m�.ո����ɿ�q:�ۡV�m!&����~�J��l�1`���.t^7����
����o2ƍ�O��GÓ��t���`z[�yN�>B�v=�]A7��(��O��� �M~�?җ�,Bi�_�
�ak[�勶��B��/M+�LXQ��fc\��ω+�n
%��U��N�JQ�W��+}]���aD���"����?vN�ϯe#�mK����UQ[ӏC�A
��ؗ���������\C�b���#3o}� ���uzNB�"�拘��)G�?͡T#f 5�'�½;"�Oת2��Xz���e,�M(��4�V&Gu�d$��;;��}��{#�����>��
Ɓl4"��l�tm��so[�-�|�#�;Hk6}�wd�������T}Z^���U��Z�
șͭ�j�ɡ}�
iC˖F��De3��F�%�z�on�'q�@}� [...]
-ُ?�Cx(��/Xt�~�Q�·�jg�;F÷��~#�J���9p�7?�%oD�ދ��� �0����?3�=�(�b��3��ּR*���4m��9z�Q�^J�
灿�v���z���F)�]��4M������
�5ڗE�P�\@$.��2z!�D�.p9�خR��P�棂���0N�1k �
-endstream
-endobj
-1344 0 obj <<
-/Type /Page
-/Contents 1345 0 R
-/Resources 1343 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1298 0 R 1299 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1350 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1342 0 R ]
->> endobj
-1298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 683.916 253.014 694.82]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d) >>
->> endobj
-1299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.829 683.916 386.133 694.82]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 590.523 257.985 601.427]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) >>
->> endobj
-1324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.8 590.523 365.092 601.427]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.768 551.407 315.922 562.31]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) >>
->> endobj
-1326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4 551.407 431.692 562.31]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 551.407 513.996 562.31]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 539.825 176.352 550.355]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 457.018 270.179 467.921]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.995 457.018 403.298 467.921]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 417.901 273.496 428.805]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) >>
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.356 417.901 466.66 428.805]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 378.785 278.478 389.689]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.817 378.785 461.121 389.689]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 339.668 284.565 350.572]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.38 339.668 417.684 350.572]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 300.552 279.026 311.456]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) >>
->> endobj
-1337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.841 300.552 386.133 311.456]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1346 0 obj <<
-/D [1344 0 R /XYZ 89 770.89 null]
->> endobj
-1347 0 obj <<
-/D [1344 0 R /XYZ 90 702.144 null]
->> endobj
-1348 0 obj <<
-/D [1344 0 R /XYZ 90 606.729 null]
->> endobj
-1349 0 obj <<
-/D [1344 0 R /XYZ 90 569.635 null]
->> endobj
-1351 0 obj <<
-/D [1344 0 R /XYZ 90 473.223 null]
->> endobj
-1352 0 obj <<
-/D [1344 0 R /XYZ 90 436.129 null]
->> endobj
-1353 0 obj <<
-/D [1344 0 R /XYZ 90 397.013 null]
->> endobj
-1354 0 obj <<
-/D [1344 0 R /XYZ 90 357.896 null]
->> endobj
-1355 0 obj <<
-/D [1344 0 R /XYZ 90 318.78 null]
->> endobj
-1356 0 obj <<
-/D [1344 0 R /XYZ 90 260.151 null]
->> endobj
-418 0 obj <<
-/D [1344 0 R /XYZ 90 147.353 null]
->> endobj
-94 0 obj <<
-/D [1344 0 R /XYZ 90 137.934 null]
->> endobj
-1343 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1392 0 obj <<
-/Length 2082      
-/Filter /FlateDecode
->>
-stream
-x��ZI��D�ϯ�
�*�ӛ�	IH��(���
U�E��~=�I�F�&v���V/o�������Ώ�__\=��Ч�s=wB�<D��b������
�
DB�ѧ�_]?{u�N}�xv}���'���C�pf���?���OF,�JO�
N<S��ůx')� B̙oe52�\R�ϗ��I��V\=���uع�
1
�u`�*i6�QӾ��F�}�
�1�ٍ����=
�VD���>��H��
aj�x
-4�r�U��l�]]'�<��=4�-w?�v��i>	C܃C�!��R�m,q�_z�	
a�����U�[=�c�-�t��	����P�k��8��8�����O����5�������mr
-��)gOv��=}�L�?}��2���>��9�t��T�2�J�/��2���pI����,x�!N����D`����c��+��S�������}{��j�W�=Ԁ*0�
�	%�Q-�J
hm걿����~��g��Sif�f�9
,2���2s
t��U�tDE�q
�=�Ee�%���}Ʊᩮ��,)�a0B�(�
�\2P�u+���f��8�S�0?��Q) _,@�Tj�ֈ�[+�x VKj��Qj
L�9����D�OC�"���Z�2=�-��\
P/�|�Dq0�@�˪�������K�Qk8�O�
�H�q>�PK�"
=�����;��e^GMR4�� _� �	���r
�@DS��p�� ��	��G�u�� z�ߚ�
�E��1Z8�3Z�!2C��1Z�F
Om�j�N��_V�aR���10f1�B(.�:i��.i��
e�"��P���2���;��P�|�i�F�;!��d��� LG�=���6%@T�R�|d�	�%c�fq>t�%�7*
��b�F#˹Ѵֲ
�|"t�a�ř	�`L,��'B�	|cE�����ކ�N���8�L��6|�)� B
�1A�x�!
�k���v$��&P�x�q�d?_&A�J��y�-3
�6m��e��,�v<��P2�\��JN(؜�d3�%�l����t�FUZ'1�ì�� ����qI��W����!��◳�C\7'�t]
�j%6N61m
-�
8��X��1�O�/+��1�q�3AR�p�Q�!	�5���{$���H`��P�e*���9�#S��|��]�&qԹ�N�}�
hD���l���F�z�4���ˢ�ViϪ�Ɖ<�Ve�KY�q�/̰
+̢Y��*ImQ��ٝ�([�v#��2�e�![�N 9��B
-�Q�-R�^����`
�Wm��"N��N���Lͨ�k��)�/��	�<]Gȴ6w���Ax�b4;8�3݈����Z|
�T

-���e#V ���
�ZV�G:Cry�ۧs���Ү�O�·�YV��j�7�����x	�L��C�)�U�~f����@�Tf�|���;���ٻ�A��:K͝�7�T;`?�_���6����`��8��Gu�y{F����2�?8C�w=�|��
�V
�̽�6 {U�n���VX��D��7EK���!=�P& ���
�i�T��Y���,����U�o�S�s����F�*�[��O
��W%�#�+�Ғ�	WPH��?O�{���!�y���m�N�A8W*/k4X�)�h�@ߥ �I!��cW�d�\5*2?1���
�?���Ƭ�� 
v��]���n�de*�=0q���V�#S��ơ�Ә4E�����P~���.�����RV�Q���)���;i���GD���>�jK��.6��o
-/��r�L��X�L(v�Z����*�([֏������]��^�岹z�l�1�C�
~�K�iY)��2���ϱ�7���^$~gO����m=�����r���(���m���R<�a��/E�T�p���(�1x�51s�̘�F��*����}S���2�"��erSEս���Ly�e���_�������mT_M��0
~�rs�
��ԑ�jo���$�T)W�|s��l�Q#�N���R5]�K��q��ۦ)���Z�VhV�e��J�+���C��7!�Pza�c�@XV��� I���vo�z=�9	�
-endstream
-endobj
-1391 0 obj <<
-/Type /Page
-/Contents 1392 0 R
-/Resources 1390 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1396 0 R 1357 0 R 1358 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1364 0 R 1365 0 R 1366 0 R 1367 0 R 1368 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1405 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1389 0 R ]
->> endobj
-1338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.658 637.086 222.207 647.99]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) >>
->> endobj
-1339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.575 637.086 296.546 647.99]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.903 637.086 448.629 647.99]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 637.086 513.996 647.99]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 625.131 220.377 636.035]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 577.876 286.956 588.78]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) >>
->> endobj
-1358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.772 577.876 359.742 588.78]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 530.621 305.646 541.525]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.461 530.621 378.432 541.525]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 483.366 291.499 494.27]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.315 483.366 364.285 494.27]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.151 483.366 479.133 494.27]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 447.07 300.057 457.974]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.872 447.07 372.843 457.974]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.948 447.07 484.931 457.974]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 410.774 228.097 421.678]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) >>
->> endobj
-1368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.913 410.774 326.896 421.678]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 338.914 272.929 349.818]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.744 338.914 371.727 349.818]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.63 338.914 464.986 349.818]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 302.618 221.462 313.522]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.278 302.618 320.261 313.522]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.529 266.322 251.533 277.226]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.772 266.322 355.754 277.226]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.86 266.322 461.216 277.226]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 266.322 513.996 277.226]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 254.741 178.862 265.271]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 218.071 290.642 228.975]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) >>
->> endobj
-1379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.458 218.071 389.441 228.975]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.343 218.071 470.825 228.975]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 181.775 218.693 192.679]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) >>
->> endobj
-1382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.508 181.775 317.491 192.679]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 98.957 235.858 109.861]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) >>
->> endobj
-1384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.674 98.957 334.656 109.861]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1393 0 obj <<
-/D [1391 0 R /XYZ 89 770.89 null]
->> endobj
-1394 0 obj <<
-/D [1391 0 R /XYZ 90 704.266 null]
->> endobj
-1395 0 obj <<
-/D [1391 0 R /XYZ 90 652.023 null]
->> endobj
-1397 0 obj <<
-/D [1391 0 R /XYZ 90 594.835 null]
->> endobj
-1398 0 obj <<
-/D [1391 0 R /XYZ 90 547.58 null]
->> endobj
-1399 0 obj <<
-/D [1391 0 R /XYZ 90 500.325 null]
->> endobj
-1400 0 obj <<
-/D [1391 0 R /XYZ 90 464.029 null]
->> endobj
-1401 0 obj <<
-/D [1391 0 R /XYZ 90 427.733 null]
->> endobj
-1402 0 obj <<
-/D [1391 0 R /XYZ 90 353.851 null]
->> endobj
-1403 0 obj <<
-/D [1391 0 R /XYZ 90 319.578 null]
->> endobj
-1404 0 obj <<
-/D [1391 0 R /XYZ 90 283.282 null]
->> endobj
-1406 0 obj <<
-/D [1391 0 R /XYZ 90 235.031 null]
->> endobj
-1407 0 obj <<
-/D [1391 0 R /XYZ 90 198.735 null]
->> endobj
-1408 0 obj <<
-/D [1391 0 R /XYZ 90 113.894 null]
->> endobj
-1390 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F91 1181 0 R /F93 501 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1429 0 obj <<
-/Length 1817      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ЇR@�ދWZh�8p�i�>%�ʐ+�E2$e����/��,�B_���rvf��k�����ד��ŕ�� .u���
-��� 9.����COgclE�x-2Q�u^.��U��,�<��ERj
��3�`�:�2��~}'�����$�s���������|�uB@
l���<ߊ6������
|k�m,N<S����	6��J��S���G"D���R�y��a怎IV��\�ީRi�$_,��.^J�˰��e&�~����y%�.�@��L`c�wa�c�W
$�(�i�6���a��t�-F��ґ�D�D�B�\
-1#�"J=9@��ii�J�+-���S������Cy�Vu�R�
RVɭ��0��Ŷ
��
e��0#I��`��Qe;����Ag֌R�s�4�	���&Z��l
܇���Б#ֳP� �G
��'ԏM��y4S�a-bME�l5%�~6X]䉌Oz��n�DS��k��T�YN�g�z[f
��$
������@	r�i�d�"i�'Cd��*J�E��!�Av�@ǜ�A���
-�"���I��<�y	Z��M�Q������N�&@-Gp@�	u�U��0!�b��.�`�xJ�0>
O?�$�q�H����{I��}J$�¥�� ���;v�c�������>��
-ƙ�{�23�) M� b��KQ�I��KQEeR(��	�>�4�����]!�QF��`��"��З�
���6��8
칪+`M}=S���
�I,����R&]�ʍ�)u읢�q�Zy�$�w�8ZI�uɿ��qJ��
�\Y[g��5�;o��8���!´r��j2۾�2�73���~sr��5,֖9�[��L�Ʒ1M���qv���s Ԩt�X�0��86ZbK[���eX�����Q U��ث�����[�5�j�5���BFy���ީ��dQ������t+
��.��:��C��5
��o�>��3�v]�o����
-to�A�
��@	�V�i����.M+�_y-؅u
����
��Ln��sS۵g����3C�cC�j�Fp8�I<�WU�ʤ��:�7�t��~Oʀ��"�'�	Ro&�
��i����i:H��
����b�ԏNČs0eS���Ëm�����C���/�*
:wT�T�y�0w%���a2��!i@�<��d��F��WvYVj�@�@N,��W�[Yڱ��8��k!sĽESb����0g*�����0��@	��h�>��>N8��1
@ �˸�{H�2�l�yI�c^O�ت�*M	�k�wz4^�� j��2�X�\MX��_�]��VO�Ʒ$i�%�ؐ�ƃS#N�]L畃���.���.�H ��,s�]�c~Fo���8+s���*7��
Unq����8��:��Ue�Xgk��~קK�a��^c:�a��@��I�Q����\�G�
L���	��/�
{�� ��'�Gh��T��<�<	&#)� =���lʱ}�I
�F
��a�k�A��c��#��]��	���٭��w��	�E��m�bh��(j��4�#�o�
ކij��Y�?NEX����z蒁p��
3�c&n_�.���@�gMKi�,�[-����W3����)4�P��u}����r\u�������#y��\�
r�߮3f�UA�������6O��".C={�| [...]
W���F
H�T�Yh�+���a�9�%�rKQV�~ ��;G�is����_�f��D5��^�Z����.�_\�v;Uh�%E������~K�1!�'N�!�.�`�\ux�C�q��4��9�_|g�
-endstream
-endobj
-1428 0 obj <<
-/Type /Page
-/Contents 1429 0 R
-/Resources 1427 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1409 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1414 0 R 1415 0 R 1416 0 R 1439 0 R 1417 0 R 1418 0 R 1419 0 R 1441 0 R 1420 0 R 1421 0 R 1422 0 R 1426 0 R ]
->> endobj
-1385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 707.957 239.176 718.861]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) >>
->> endobj
-1386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.035 707.957 398.018 718.861]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 671.236 244.157 682.14]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) >>
->> endobj
-1388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.496 671.236 392.479 682.14]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 634.515 250.244 645.419]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.06 634.515 349.042 645.419]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 597.794 244.705 608.698]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.52 597.794 317.491 608.698]
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 282.537 313.058 293.441]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c) >>
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.873 282.537 478.246 293.441]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.532 245.816 481.73 256.72]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) >>
->> endobj
-1416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 245.816 513.996 256.72]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 233.86 268.754 244.764]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.717 233.86 482.102 244.764]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.254 186.18 486.009 197.084]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) >>
->> endobj
-1419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 186.18 513.996 197.084]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 174.225 268.754 185.129]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.86 174.225 473.245 185.129]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.254 137.504 321.648 148.408]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) >>
->> endobj
-1422 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.611 137.504 513.996 148.408]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1430 0 obj <<
-/D [1428 0 R /XYZ 89 770.89 null]
->> endobj
-1431 0 obj <<
-/D [1428 0 R /XYZ 90 721.073 null]
->> endobj
-1432 0 obj <<
-/D [1428 0 R /XYZ 90 688.302 null]
->> endobj
-1433 0 obj <<
-/D [1428 0 R /XYZ 90 651.581 null]
->> endobj
-1434 0 obj <<
-/D [1428 0 R /XYZ 90 614.86 null]
->> endobj
-1435 0 obj <<
-/D [1428 0 R /XYZ 90 562.604 null]
->> endobj
-419 0 obj <<
-/D [1428 0 R /XYZ 90 455.611 null]
->> endobj
-98 0 obj <<
-/D [1428 0 R /XYZ 90 448.901 null]
->> endobj
-1436 0 obj <<
-/D [1428 0 R /XYZ 90 350.461 null]
->> endobj
-1437 0 obj <<
-/D [1428 0 R /XYZ 90 297.58 null]
->> endobj
-1438 0 obj <<
-/D [1428 0 R /XYZ 90 262.881 null]
->> endobj
-1440 0 obj <<
-/D [1428 0 R /XYZ 90 203.246 null]
->> endobj
-1442 0 obj <<
-/D [1428 0 R /XYZ 90 154.57 null]
->> endobj
-1427 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1464 0 obj <<
-/Length 1926      
-/Filter /FlateDecode
->>
-stream
-x��YY��6~��ڇ�@�奃��@s"i��Y�)	�E{�ʒ#�q��;�t���@
Q9
�o{+{�'�擳W�!
���؋�@Ao������������$������������|�mB�����(��ɧ/�K������Ӄ�
�
��w1�{��*��R�T"$B!̈A�>S���4��,��ϊ�v+e����

�o6��kY�*i���b_7r}�(����ۛ�J.�W,��J�g
������̴Ac��؛��D�=��7��� ���yrzkj���CQg���=��1Bݡ~Ƙ����H�č٬`�d �
	ؖC�����G�
-3����,�u��Z��U
�~�X�%a�f�@<�;�vU�d�j�퐘�6�i^%E�K�nJ���
F�z�wVS�}e�)	|eG+؊K��N�G��$@
ǝ�ƴ�(
-�
�Q{vv

�
N
	�׌�S���oŇ�XTr-�#\�`���p����8Ń�B�G"fȌ�7�}tn;��bD�;A�n�����O��_�tw��R��hNA�rGdDQP��� D���6�/Y
���x����������(�mU�����R�MY���.�
��r�<,~�45x���[�����iS��gzZ9�(A��8�1���x����H!!��X���B�zF-�������=���30�������"P� k�&��oM�N
Y?�j 
-j�8E�s#*B �LA<��l�,��a�
Y/�l�de191����șOA��F�yj{B#��b�$���
-7�a`�Q��z�ʁ�t��5�������n�
-�
�B�
�e�u%j�6��ľn�Ra�{�*�&�_�$��E�7ߓ�B�J��nP=���̵/���ri��GO3�j�j�_�f��K�T
H�V��1��!�#��}/k}�̍����;��R���FO!ݛ�Ι�`-��. ��b���h�讥K5����Ѥ�?;q���wk"��eU�Ͳ��rJ�&8���\��P�+e)��@�kÇ���Wp�`����W�-HMhE2�gU��#�h�i����v�u����Q��#�霭p�H0�xj����l���ϐ
��ԪJ72`(-&~
�!���T�gTgЁ����󥿵&�90�3eu�"����wy��F����l�a�ЪmgR�t���r�UV�F�M<�IL����_�](�������U�����G�C*�aI�t���C%�N�\�u���
	�U
�X��ݪ���e
@��g�,O[b��\o�}�;��
�x~�����2�%����%ط��B�OQ`�c9}��g=���,�iw� 4�׼M�ʹw [...]
�1�����u���.QC`�
&φw��V�ll������F!
-x���.��OUN�Z��w�Q�ـٯɛc�6
�y3`��ʶZ�G�۷�n	Ao�����?����A�{�p�
�G�!�ڞ���!���q
Tw����E�8
���#��v���

|m�m����?�Xک�n�A�B����7��ŀ-]|��l�t-��&��F�M�!�v��r=� ��
���j�j��$F��Y���2��3�*���ݣ3ާ����]8QW�\U��>����yU[坸��[�
��ģ��W���H�H�Һ��s?���)�l��G��"�A at 4�_�"�ی��Y��2$���2�_ɴJ��w��*�����.)V�de�9(á�ZV���6�L�m��o
-��Ւ��Mu�*_D$�b��
��`2��s�?&�P��Ey
����i6�gg��-j�-�M���
�{v\�tB�+�I��K]��
�:��F���@]
-endstream
-endobj
-1463 0 obj <<
-/Type /Page
-/Contents 1464 0 R
-/Resources 1462 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1269 0 R
-/Annots [ 1423 0 R 1424 0 R 1467 0 R 1425 0 R 1443 0 R 1444 0 R 1469 0 R 1445 0 R 1446 0 R 1471 0 R 1447 0 R 1448 0 R 1449 0 R 1450 0 R 1451 0 R 1452 0 R 1476 0 R 1453 0 R 1454 0 R 1455 0 R 1478 0 R 1456 0 R 1457 0 R 1458 0 R 1480 0 R 1461 0 R ]
->> endobj
-1423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.524 707.957 349.582 718.861]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) >>
->> endobj
-1424 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 707.957 513.996 718.861]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 163.61 706.906]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.609 696.002 272.909 706.906]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.961 658.977 342.404 669.881]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) >>
->> endobj
-1444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.075 658.977 513.996 669.881]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 647.021 129.857 657.925]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.552 609.996 346.554 620.9]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 609.996 513.996 620.9]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 598.041 163.61 608.945]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.07 598.041 361.456 608.945]
-/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 257.222 253.293 268.126]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) >>
->> endobj
-1449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.108 257.222 358.716 268.126]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.114 220.197 325.461 231.1]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) >>
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.285 220.197 433.893 231.1]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 220.197 513.996 231.1]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 208.241 174.668 219.145]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.159 160.257 357.827 171.161]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) >>
->> endobj
-1454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.696 160.257 464.304 171.161]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 160.257 513.996 171.161]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 148.302 235.001 159.206]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.838 100.318 366.064 111.222]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) >>
->> endobj
-1457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.612 100.318 472.219 111.222]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 100.318 513.996 111.222]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 88.363 235.001 99.267]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1465 0 obj <<
-/D [1463 0 R /XYZ 89 770.89 null]
->> endobj
-1466 0 obj <<
-/D [1463 0 R /XYZ 90 721.073 null]
->> endobj
-1468 0 obj <<
-/D [1463 0 R /XYZ 90 676.159 null]
->> endobj
-1470 0 obj <<
-/D [1463 0 R /XYZ 90 627.179 null]
->> endobj
-1472 0 obj <<
-/D [1463 0 R /XYZ 90 551.387 null]
->> endobj
-420 0 obj <<
-/D [1463 0 R /XYZ 90 431.756 null]
->> endobj
-102 0 obj <<
-/D [1463 0 R /XYZ 90 424.952 null]
->> endobj
-1473 0 obj <<
-/D [1463 0 R /XYZ 90 325.964 null]
->> endobj
-1474 0 obj <<
-/D [1463 0 R /XYZ 90 272.382 null]
->> endobj
-1475 0 obj <<
-/D [1463 0 R /XYZ 90 237.379 null]
->> endobj
-1477 0 obj <<
-/D [1463 0 R /XYZ 90 177.44 null]
->> endobj
-1479 0 obj <<
-/D [1463 0 R /XYZ 90 117.5 null]
->> endobj
-1462 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1512 0 obj <<
-/Length 1927      
-/Filter /FlateDecode
->>
-stream
-x��ZYs�6~����Ԍ� x�O��I��i�N��� 	S�dIȮ�}A�%K��c�/&	��
�~�

-{3{�_}}{u�"�^�������K�	�!<M�~��	��/����2���yy�~]i���b6S������T��>��SY�H���
���D��n�����+`��
9�b/]^}�
{��È%��XOZzep]x�~�����N<�҉���B��b8��}���Ҹ��cZ�L7�F�rֈ���`43f�ȅ�r������
֋�yV���6�`=�����#/���(M)
-�	C<i��2�
5ZV�Sz޸l.��B��o^�|k�� 
��I�Ȭ����lG�$n���f���}D��6�V�E��m��
��<����T3�ۗR�ȣZ,�
�?�L��b��c�r�����A�
Xp;�t!�q��$�U��*K��9��w����c�
��'j��iں�>�^��)A,N>����pWD��D-eV�b���χ�z�Yu}@Ҁ�(�9�� ��%��q+�^�g=�����8X~ĘY�vL
�$�n��� �$j�ۗ-�&��Pb��v��82LE6aԠf��1��P� �R�;����E^�pڕ����n�z(�1�xԇ��g�1U9�b
D�Cz����\z�o��wR�J��^
-p�V��@yixyVe�E5
�&( �a�1�q� �S
����;e&As�&#x�����-�q:@[����sO�a�����
����Íu�}-�L��y�|� 7�a�
-v>@fAH���Kn�uH <b�CR�c1ID"���WU�f�A��Q���Jg|�@.���
����ϊ
�
t�Y�s���m
�,kK�
��Ůe�6��4���
c
��
��I�����b0�|`6�
L�a��G�
��m1j
v&�Ҹ.A�Bo�L���L�?���dh�ta/[��n��)�:�$a��EQDZ�f�GY�4p7�˥�\��B6�֏���
-���Jh�c*��n���,�G-��k}lX*>%6�Ӥ��M\CD��8�
�ݴM= 
�
Y�E���˗��
�t8P���09��q-�}9
-���}34Tc��JNWM�8ua6��#�-V�gm�)V%�[V���ѐ
�%��
u��%�7���|^ _4t�
�en|���&����5�n
���'�4I8��� �6v*�+�h�������z	�ډa�H�P��
Z
Y*�*����y�
��z�!L����s��^��|Vu��Y��H��K�b}ta0�3`c�6����r�*"!"O���˞���Ye�M%���%}�d*�J�����˸�	��˸/�b�o~Zi�؝6
�����f�G�~J
��]
�O���?�@�=F
Ԙ�=��$_
U�"=�	N�z�~����/_g��
@�D��'�dc�R����B^
cp7tMA��Έ�
�A��N5m����X�5ϙD8 (pb�A��N�P:� �
-7�V
����ܱ-;�
�"h��ڹA$\˱X���+�t��.M�Y��w�j���[Q=�Uj;�6��[�A��.=D8�X~@�1�>�O���w�6]T�Rw�ղ�2U�=��Aa�N�̣�ɠ`äw��-��ʵ��j�lC�h�Hn�Ӷ��g	"4|
-ԭ
-���N��E|Y�K�')~yl-r1�d'��0��)�DTQH�X���נ�9Qe~�DG���p��Q�)�c+>[�v�/�����a�������1J�-c��m]40濭��ri(�Q�m�X������}i����;��f+1k޷�U1��v20�
tk�����/��J,��
B̖�lz
4App�'
���m-���^��-�h#��l�u������#J+��TQ"�o �7���f$Ɠ6��!��KiuP�9K�!����/�
-[
-endstream
-endobj
-1511 0 obj <<
-/Type /Page
-/Contents 1512 0 R
-/Resources 1510 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1459 0 R 1460 0 R 1481 0 R 1482 0 R 1483 0 R 1516 0 R 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1519 0 R 1489 0 R 1490 0 R 1491 0 R 1521 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1525 0 R 1499 0 R 1500 0 R 1501 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R ]
->> endobj
-1459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 696.354 260.735 707.258]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) >>
->> endobj
-1460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.55 696.354 392.17 707.258]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.432 624.875 314.892 635.778]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) >>
->> endobj
-1482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.033 624.875 455.653 635.778]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 624.875 513.996 635.778]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 612.919 190.738 623.823]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 576.762 261.85 587.665]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) >>
->> endobj
-1485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.666 576.762 393.286 587.665]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.785 540.604 260.611 551.508]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) >>
->> endobj
-1487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.106 540.604 393.726 551.508]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 540.604 513.996 551.508]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 528.648 189.622 539.552]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.574 492.491 254.798 503.395]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) >>
->> endobj
-1490 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.081 492.491 389.702 503.395]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 492.491 513.996 503.395]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 480.535 189.622 491.439]
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 444.378 251.33 455.282]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) >>
->> endobj
-1493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.146 444.378 382.766 455.282]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 361.939 256.301 372.843]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) >>
->> endobj
-1495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.117 361.939 361.725 372.843]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1496 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.825 325.782 313.612 336.685]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.147 325.782 428.755 336.685]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 325.782 513.996 336.685]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 313.826 174.668 324.73]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 242.347 268.495 253.251]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.311 242.347 399.931 253.251]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 206.189 271.813 217.093]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.673 206.189 463.293 217.093]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 170.031 276.794 180.935]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) >>
->> endobj
-1504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.134 170.031 457.754 180.935]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 133.873 282.881 144.777]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b) >>
->> endobj
-1506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.697 133.873 414.317 144.777]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 97.716 277.342 108.62]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.158 97.716 382.766 108.62]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1513 0 obj <<
-/D [1511 0 R /XYZ 89 770.89 null]
->> endobj
-1514 0 obj <<
-/D [1511 0 R /XYZ 90 713.279 null]
->> endobj
-1515 0 obj <<
-/D [1511 0 R /XYZ 90 639.777 null]
->> endobj
-1517 0 obj <<
-/D [1511 0 R /XYZ 90 593.686 null]
->> endobj
-1518 0 obj <<
-/D [1511 0 R /XYZ 90 557.528 null]
->> endobj
-1520 0 obj <<
-/D [1511 0 R /XYZ 90 509.415 null]
->> endobj
-1522 0 obj <<
-/D [1511 0 R /XYZ 90 461.302 null]
->> endobj
-1523 0 obj <<
-/D [1511 0 R /XYZ 90 376.842 null]
->> endobj
-1524 0 obj <<
-/D [1511 0 R /XYZ 90 342.706 null]
->> endobj
-1526 0 obj <<
-/D [1511 0 R /XYZ 90 257.249 null]
->> endobj
-1527 0 obj <<
-/D [1511 0 R /XYZ 90 223.114 null]
->> endobj
-1528 0 obj <<
-/D [1511 0 R /XYZ 90 186.956 null]
->> endobj
-1529 0 obj <<
-/D [1511 0 R /XYZ 90 150.798 null]
->> endobj
-1530 0 obj <<
-/D [1511 0 R /XYZ 90 114.64 null]
->> endobj
-1510 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1561 0 obj <<
-/Length 2167      
-/Filter /FlateDecode
->>
-stream
-x��Y[��F~�_A�>,��z�4ޭ�J
�ˉ�d��ʃ�Raђ� P �����7!���d�h��p.����&��^ཾ�����&
-��!	�ە^�b�C�K��>��n�h(�CxIϾ����w�Գ�W�W\axxؼ�Q$�����o����^�h,�{�h�1B�{��}�Tc���f���l�� �M��2��	Ww���vMVJ��
��ޜ0DYl���D�?�d=�S%E��_틥�`�WeekY�*i�-���@
=h�F�y`�v#͂�@v0�������V�ͮ*g��wYj'�8e8"�ܘ���V3
_[J㎦����*��K���(@����Zi���4Y|�JL�1b(�{	ie�1�a��0���$-���,�D�FOi۵���6�	���������*�N�tB���k3�	t��
�P�1��Qx�	j��D��8� ��._,���
�}����k�唹I�aUb����vQ^4���6�5��\�_0u�� ��e�2�eO�(��5�
e�c���X���j�׭�E�� ���! ���@缁<AQ(ZN�W��n��#B)���{m��y��������)� [...]
-�f��62S� 	F�>jH5;�ȺZ[�~�0Fu�
-�S���XcL{�1�G���b���t"��2��ZsŠ��)?/�f�L�ū��*	^.��2��\B(ԛ��o��ܒ_:�!!+	=�]�����w�
��3�e)W*(�Ֆ ��
ͷ��{��>0:"v��f4�%��"J�D]�p���蹵"�~�0���\��Yv�X��w)Em��˶8��$X䖘\ эu�H"o�5�8��+Zs0����ԏcVUH���vٲ���)��>�s���t+�X)��2/�`��'�
-Tcn�M��h��V=���wYm�pd}HP�3/�0?B<j��&��L7`�`e���q
-P��k����t��*�[�`���C��}=��/�'�Yg�]��|X[�3���
�2�j���f�Ж[����U		�l'
�f�
�fGjZ飮�U�4�07���k��j
�	�U?MxG~Gb�B�Dd;R�B�Ӎ��T�Z7c�VEBE틬���
U����a�~��ꡉ��C݂
�v�&5�
�`8�H��H�Š3�T/tã�(�������*`�°�a_��FPל�WD�-�"�Ux�ZPaي�,��Ď����Ya&5
�����)���8�H��
��i�
�t$L� j
��,��?�H[���X<����7�R�;
��B�:Ssql��[��
.�
�p��8
��T�Qݟ�[b�bh=X�sH�i������a*��+�$*�
-ɥ������A���>��Z at Tb.��@O�- �5- l
]_�c�s���͌}�%�
�ő�RK�%
Z��I*�&�RϺ�&��
-u��Q��;@p���AU�ݯI*��.ϕU�  ɳf�:
9�s�ṕ�3���m��9��]����o6*_��<u('��
d���r�p�}�D�(nz�������eD���)
��
��[U�[��������s�
�0�`�蓔�(
ܦ�n.�Z�
kpY����
�J��9��#Hi� Pp
-�����~2F��
-
��"L�/dV�Q���5��l��B�T6���/�jC{��Y���ц����x��x���S�w�����8��׼�,+K,��H�cy;W���N�}��f���N
l.
�}���s��j�~
-G�c�s(Ysi�j�n���
�_��;w�S�f�����9qF�. �R�y[t�g��4��hƇ���߂s����5�EI�0U~���I��
������L!�x���B�����O�0
-�%;�
&��b�_Y��_B;*��5
Ծ�J^�~5�/
��g8�%z��p�
"
-/E���E�Ǣ�g�R�m@��g���F��=k~�}����ܼ4K�&�z����oF�\a�?�����t�慟�B�g*�wꓲ���@��'*l�\��t 1
��s�����.}^�6Ǜ�ٽ�����G��lW����\�j'c�i)d��FlK�l�
-�����q��?�
-endstream
-endobj
-1560 0 obj <<
-/Type /Page
-/Contents 1561 0 R
-/Resources 1559 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1532 0 R 1533 0 R 1534 0 R 1535 0 R 1566 0 R 1536 0 R 1537 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1558 0 R ]
->> endobj
-1532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.032 448.577 220.898 459.481]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) >>
->> endobj
-1533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.641 448.577 293.928 459.481]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.686 448.577 447.412 459.481]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 448.577 513.996 459.481]
-/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 436.622 218.693 447.526]
-/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.942 436.622 324.435 447.526]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 366.996 287.046 377.899]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) >>
->> endobj
-1538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.862 366.996 358.149 377.899]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 319.287 320.799 330.191]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.615 319.287 391.902 330.191]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 271.579 288.132 282.483]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) >>
->> endobj
-1542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.948 271.579 359.235 282.483]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.658 271.579 472.957 282.483]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 234.83 296.69 245.734]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.505 234.83 367.792 245.734]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.898 234.83 478.197 245.734]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 198.08 226.414 208.984]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) >>
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.229 198.08 323.529 208.984]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 124.974 271.245 135.878]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) >>
->> endobj
-1550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.061 124.974 368.36 135.878]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.821 124.974 462.177 135.878]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 88.225 219.779 99.129]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) >>
->> endobj
-1553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.594 88.225 316.894 99.129]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1562 0 obj <<
-/D [1560 0 R /XYZ 89 770.89 null]
->> endobj
-1563 0 obj <<
-/D [1560 0 R /XYZ 90 721.073 null]
->> endobj
-421 0 obj <<
-/D [1560 0 R /XYZ 90 621.685 null]
->> endobj
-106 0 obj <<
-/D [1560 0 R /XYZ 90 614.998 null]
->> endobj
-1564 0 obj <<
-/D [1560 0 R /XYZ 90 516.55 null]
->> endobj
-1565 0 obj <<
-/D [1560 0 R /XYZ 90 463.627 null]
->> endobj
-1567 0 obj <<
-/D [1560 0 R /XYZ 90 384.068 null]
->> endobj
-1570 0 obj <<
-/D [1560 0 R /XYZ 90 336.36 null]
->> endobj
-1571 0 obj <<
-/D [1560 0 R /XYZ 90 288.652 null]
->> endobj
-1572 0 obj <<
-/D [1560 0 R /XYZ 90 251.902 null]
->> endobj
-1573 0 obj <<
-/D [1560 0 R /XYZ 90 215.153 null]
->> endobj
-1574 0 obj <<
-/D [1560 0 R /XYZ 90 140.024 null]
->> endobj
-1575 0 obj <<
-/D [1560 0 R /XYZ 90 105.297 null]
->> endobj
-1559 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F85 313 0 R /F96 1568 0 R /F37 1569 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1599 0 obj <<
-/Length 1810      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ЇR@�ރgZh�:p�6i�<%�@�+i^�a����E��GB_D�rwv�o�
ag�`��쏋��i���
���c'�b�0J�On��/�ح�l����/x��e��pӴ<_�ʢi��5�m��/��ݳ��Ɋ��{����D./�TLc�z�����ٟ�gx��<�(��U>��;)L�v0bq�\�E��Q���0�g��8w=��~0��@!�#c#�gJ}ō��|Z� �(Z3-��7���jA�"��^)�����w?cLW���{�
ᣏ�$�j���N���ͳ�9�#_JE΋F�Ų���3W�ݤ�{�}��\�D�
"gA�}_��ž�y�0(@v2�`����A�)#y��
΀g
�3*��'�K)霜F�`���$8ԆB����vA�5�Tvt�즦˵~^%�H.3>qb̐�'�‰3I�XD�Qh��9��4���S�����	�>���Ѥfw
����y�^	����f���`���j� ��g�th`R����y��0]�Bz��F@։~T��!X�������98.��4i�)����%�
j0�4$
�1[L�
�O��(`�Q`���1��#�x�ۮ [...]
-V����76PP��& C5��iYV��7i�I{ ��!D��nՃ|Wé��V�d"ߚ
h��.�Z�W"���#�O�@	�����0��u at 8��4+!�i�W�L?�w�C0���p�h8RO��{y�%m/
���AC�W���Ay�.�S%AX} ƽe1E�@b���bE�D4ee�>
M?�#F�
FPF{Q�
�=$�dK�
���.��)R
-��qXz��_Wˈ�G����si�79)"�������l�|ɛU-*%�m�`��͍�b
a����F<}��/�J�Cys`��
�$ h�{!�	��}���K��D�-�T�c-3�jɪsJ��Vsu��J
�8��ݬ�rE�l�֓
�t���l唖�.㫿Z�[���
yW�O��w�k�u
�Wh�򬒶���nƟ�
��#&S�AF��')(n�hk4�
�4��!� ��7ֿ��
� `#+��{�Y+m�����F1�/��
���~�*�R�3!��>C�f�u�V�B��$CKX+��E
QS~��4�/�k)��1�e�8�V����J�)����I����+���a��9�/m��[�������!r_H��J���~W-¼op���Xg��N��o�T����f�/�)�1y�jic�;V�\ֻ�����f��:�_��e��7z�B/9O�M�l����S^�,
���J�.��7i�+y$�
y`#Y�H�ˎ����c�5�ձoof
-�;�(܍q_'o۶z~rr}}�V
�
-Q�H�'�ӓ۽�
F��
�����T`D!;y*Z�};�ޞ��
-endstream
-endobj
-1598 0 obj <<
-/Type /Page
-/Contents 1599 0 R
-/Resources 1597 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1602 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1596 0 R ]
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.961 695.753 250.281 706.657]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) >>
->> endobj
-1555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.953 695.753 353.252 706.657]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.887 695.753 460.244 706.657]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 695.753 513.996 706.657]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 684.172 178.862 694.702]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 646.439 230.05 657.343]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.866 646.439 327.165 657.343]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.626 646.439 409.107 657.343]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 609.08 217.009 619.984]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.825 609.08 314.124 619.984]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 522.718 234.175 533.621]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.99 522.718 331.289 533.621]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 485.359 237.492 496.263]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) >>
->> endobj
-1584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.352 485.359 394.651 496.263]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 448 242.473 458.904]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) >>
->> endobj
-1586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.813 448 389.112 458.904]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 410.641 248.56 421.545]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) >>
->> endobj
-1588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.376 410.641 345.675 421.545]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 373.282 243.021 384.186]
-/A << /S /GoTo /D (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) >>
->> endobj
-1590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.837 373.282 314.124 384.186]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1600 0 obj <<
-/D [1598 0 R /XYZ 89 770.89 null]
->> endobj
-1601 0 obj <<
-/D [1598 0 R /XYZ 90 713.103 null]
->> endobj
-1603 0 obj <<
-/D [1598 0 R /XYZ 90 663.789 null]
->> endobj
-1604 0 obj <<
-/D [1598 0 R /XYZ 90 626.43 null]
->> endobj
-1605 0 obj <<
-/D [1598 0 R /XYZ 90 538.045 null]
->> endobj
-1606 0 obj <<
-/D [1598 0 R /XYZ 90 502.708 null]
->> endobj
-1607 0 obj <<
-/D [1598 0 R /XYZ 90 465.349 null]
->> endobj
-1608 0 obj <<
-/D [1598 0 R /XYZ 90 427.99 null]
->> endobj
-1609 0 obj <<
-/D [1598 0 R /XYZ 90 390.631 null]
->> endobj
-1610 0 obj <<
-/D [1598 0 R /XYZ 90 336.836 null]
->> endobj
-422 0 obj <<
-/D [1598 0 R /XYZ 90 228.343 null]
->> endobj
-110 0 obj <<
-/D [1598 0 R /XYZ 90 221.121 null]
->> endobj
-1611 0 obj <<
-/D [1598 0 R /XYZ 90 121.083 null]
->> endobj
-1597 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1628 0 obj <<
-/Length 1852      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ ҇P@�ދ�[h.#i�����*C�$"������
�$ڒl'y�������Aakaa�b�t::{�a+@�K]k:�ly<@�
o���v�����\���Mj���o�/�N/����t�uD`
-[D�w��[�j���b~ma��ڪE+�S��u9�g��*����vT"�C.��A�h>R���mև����d���
��{��0Ϸ��t��1u���H�م�DVy1��.+��EyVV��ң�������_�QG�&z�\�#����
-
G[U�9�z����[� a����1��w��Q�z�z�T�2�Im�{(�.�'4@>%�G�ϴ���$���:��������0�,��SҐ�fK�m�}9K�L�~��Z�YR��q1f�-�R��;
�)c��u�իzvQ�
ԋР+Z��|9����Eryp��
�ټ�W�C�
�������J��p8�E�[\H�@)���QQ{bB9A����8F}8@"�� O�dž��8�8g�ن!r��=Y-�z��#�~����~���'�]�xn��E�5���-;�L�Cs�̈́�5|O�:�&dX����J_
qUj ���

 7D#̿#�=��!��]�p�e��~���}b+ٮ
�������4�h��1��ǐ�,�;���#�P���>�_�	��s�R�S�)m���Gn��A�!���!ݾ� Q�d1p�A*�t8�@#ݹ�1W�
�TT�nU��q��a4���_ec��0M�)h�@��>�)��D��`�

T�Ĉ_�_���i�FG�=�&���,N��
6c���B�I��'ݯDVm�45��,��S�"�
s
�
� 
 ���]M�}.I��bn~��}��|�Ezp*5V4u䋯�fR=�。qj]���
qP�:�	�}�����A4���{$���H��Z�s[(�7
��#����j���J�
e��K�s�k���?hL}?8P-��,�Z��%��楡���&m%,���Iq9�J�t<�^/����
5�e
-�0"�� ��	LI���{<	��q?T�0Urm��52Q�$8�
�ª�*?Z�p��(�Ml�Ðrj
�
�� h�v<\��3Ⱦ�x�r~b\�vרz����{Qm
-Y	3_E5���KuWB��=	Y�h|�.��d�'uO����H
�AԶ���B��Y�o�el"�,*p�pQf��A!u�$�R8���sDŽ�s��
�o<g��/$g���a#T1MV��MW�+�
���I9G��2
-DƲpƐ�0I���sQFE���<H�XU<��p:
���k��3�+*�0�d��`�u��
 �
�8
�~uQO5z�k� \��āvx����	G��v����$�s�8�^={]䪞Mb�
-Ɠ<S�-,�HfV5�b%��X�+]��d��h�_M脁��rB���>�c$���dF��T���-W�$����V=�3���M�8?oF�K�)C
�֤
�����i�6�<�H_�
-\jh^�*mg�5�lܪ73o<U�U~��IO�<Ms�A�)��j��8��>�9W�a=��5����%\<��ql�4��`�<JukbD�dIU���ݜ��pQ�*�������F�B�=>�:�9z^���d?XOI�'vo�(��Mlt��Юt����Y
�xS�t]\��'χ��
����i�o#Džm�ؿ�꿉`�ק���
�v~Ì��'��"0�����R�E�g�$�����/��7a�؄
����a��R�%�J��0�
��d�q%�E�I�PODeʆ��0�/E�
j|��?G��]��7bYU���v��m�d]��:��8��}[!ҿ4�����Bh�
W��h�����g
-endstream
-endobj
-1627 0 obj <<
-/Type /Page
-/Contents 1628 0 R
-/Resources 1626 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1591 0 R 1592 0 R 1631 0 R 1593 0 R 1633 0 R 1594 0 R 1595 0 R 1634 0 R 1612 0 R 1636 0 R 1613 0 R 1614 0 R 1637 0 R 1615 0 R 1616 0 R 1639 0 R 1617 0 R 1618 0 R 1641 0 R 1619 0 R 1620 0 R 1621 0 R 1643 0 R 1622 0 R 1623 0 R 1645 0 R 1624 0 R 1625 0 R ]
->> endobj
-1591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.34 707.957 347.535 718.861]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) >>
->> endobj
-1592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 707.957 513.996 718.861]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 163.61 706.906]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.767 657.67 513.996 668.574]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 645.715 155.859 656.619]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.876 645.715 352.491 656.619]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 645.715 513.996 656.619]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 633.76 223.943 644.664]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.209 584.469 513.996 595.373]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 572.514 155.859 583.417]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.041 572.514 344.656 583.417]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 572.514 513.996 583.417]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 560.932 189.622 571.462]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.62 522.226 351.256 533.13]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 522.226 513.996 533.13]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 510.271 189.622 521.175]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.447 430.975 379.749 441.879]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) >>
->> endobj
-1618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 430.975 513.996 441.879]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 419.02 223.943 429.924]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.942 419.02 356.484 429.924]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.595 380.688 359.281 391.592]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) >>
->> endobj
-1621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.585 380.688 513.996 391.592]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 368.733 163.61 379.637]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.476 330.401 376.72 341.305]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af8d741d4315fb12dff45b47979f88808) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.906 330.401 513.996 341.305]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 318.446 223.943 329.349]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.403 318.446 445.031 329.349]
-/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1629 0 obj <<
-/D [1627 0 R /XYZ 89 770.89 null]
->> endobj
-1630 0 obj <<
-/D [1627 0 R /XYZ 90 721.073 null]
->> endobj
-1632 0 obj <<
-/D [1627 0 R /XYZ 90 675.506 null]
->> endobj
-1635 0 obj <<
-/D [1627 0 R /XYZ 90 602.305 null]
->> endobj
-1638 0 obj <<
-/D [1627 0 R /XYZ 90 540.062 null]
->> endobj
-1640 0 obj <<
-/D [1627 0 R /XYZ 90 446.789 null]
->> endobj
-1642 0 obj <<
-/D [1627 0 R /XYZ 90 398.524 null]
->> endobj
-1644 0 obj <<
-/D [1627 0 R /XYZ 90 348.237 null]
->> endobj
-1646 0 obj <<
-/D [1627 0 R /XYZ 90 268.851 null]
->> endobj
-423 0 obj <<
-/D [1627 0 R /XYZ 90 146.019 null]
->> endobj
-114 0 obj <<
-/D [1627 0 R /XYZ 90 137.581 null]
->> endobj
-1626 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1681 0 obj <<
-/Length 1942      
-/Filter /FlateDecode
->>
-stream
-x��ZI��6��W��2
.Z���$M���d�
�`��hm��1���(��,˚%6��DQ�
����v�v^O�_N�_�	Q�S߹\8!v7D�w��e ����xZ���R�W�E&ʨ�˫ϛ��U
-gg���7Y-�E4��B,D9#|*2�E���Gf�.�N~���3! v�^�Cw����7���������Y7�Rǥ
���y���*@"D�!������*��2�*%��+�'�3�"��������(R�D�m��tF�id�y���n�
�����Vh{�IN\Dֈ�L��&���
6�z�'����2KEf�2��Ka���ӓ0�z�A���WJ��W�/g
\��[٨\c]4Ԋ
-��Qo�
FFV���كӎ����a��!‡�
f6���Ď)�՘eB��{���;�l����n�'x��I\Y#�H�z���ށ��/�u	��֌��L�Û*5�}ճ躔����r��\_�E���q9c�TT���(C9E�e�mЃv4&>��A�{t _g�bĩ
�F�O�@��E���բ��ޣ�R0=
�8Ј.
-=�A�{r7���}��!R-�
���
��8f�*���̖���L�j�6�=����j��[���d���<K6����P��x �!A~
�� p=ĸ}�
&vYˢ��E���+^� a{���&
4���x��Z'��sM�mh��~<$
�-NFC��414t����8
�̈́f�Yc�.�<��}h� �ٲ��

���A��x8
s�#}1�T�j�����Ւ��>B
�8 V�!m�-���Q�w���-��+�܃�B�Ȍ߁��8��ȳC5���'�5w	8J�.y!��=��~
��}�7P�����}�矚���3h���$���}Yd��.�t��Wi�ws����%m]�?��#�,�@�!�q�y�,����	��,������AP	��Z��rq̚��Vi�]���f.��F���6oa\ؾ�8A��.�����q���f�4�����V+�zK�����"��&�Rݦ/�/��$k�$�0Q����q%6��ݗU"
G΁���o�k [...]
-�>����Eb��� ��.9�� ?|@d���r�z�\��!uh��Ub�2���2.�3p��Ǝ�6 ��-�G�����OLi��(-?D�ӗ���(=�"�<�G�#��i�
|�~��g
[�<�qs��
ϝ��]NA!�-�ZjU��lp����^is/<���
�R������� ��� 6�3��B���f��~j��L�Get�)O67".#��.�r�o^�!�l����}����k�0t��_g�ט
-^�e�(�� oՒ�4[�A�B��[����
z�;��NA�v�.G[���u���|�^�y�V�,J$�s ��>+���f���j��`i���:�L9��9��
��/���
-endstream
-endobj
-1680 0 obj <<
-/Type /Page
-/Contents 1681 0 R
-/Resources 1679 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1647 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1687 0 R 1654 0 R 1655 0 R 1656 0 R 1689 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1694 0 R 1668 0 R 1669 0 R 1670 0 R 1696 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1678 0 R ]
->> endobj
-1647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 637.149 276.535 648.053]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) >>
->> endobj
-1648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.351 637.149 405.202 648.053]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.302 600.889 377.134 611.792]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) >>
->> endobj
-1650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.146 600.889 513.996 611.792]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.895 588.933 265.437 599.837]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.028 541.714 411.181 552.618]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) >>
->> endobj
-1653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.919 541.714 513.996 552.618]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 529.759 164.178 540.663]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.476 529.759 339.339 540.663]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.749 482.54 415.46 493.444]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) >>
->> endobj
-1656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.919 482.54 513.996 493.444]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 470.585 164.178 481.489]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.283 470.585 332.146 481.489]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 434.325 283.977 445.229]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.793 434.325 438.656 445.229]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.663 362.564 334.366 373.468]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.738 362.564 494.601 373.468]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 350.609 208.451 361.513]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 314.349 285.093 325.253]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.909 314.349 439.772 325.253]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.998 278.089 286.066 288.993]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) >>
->> endobj
-1666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.774 278.089 444.637 288.993]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 278.089 513.996 288.993]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 266.134 268.754 277.038]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.786 229.874 280.253 240.778]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) >>
->> endobj
-1669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.75 229.874 440.612 240.778]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.73 229.874 513.996 240.778]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 217.919 268.754 228.822]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 181.658 274.573 192.562]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) >>
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.388 181.658 429.251 192.562]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 98.939 279.544 109.843]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.36 98.939 408.21 109.843]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1682 0 obj <<
-/D [1680 0 R /XYZ 89 770.89 null]
->> endobj
-1683 0 obj <<
-/D [1680 0 R /XYZ 90 704.266 null]
->> endobj
-1684 0 obj <<
-/D [1680 0 R /XYZ 90 652.077 null]
->> endobj
-1685 0 obj <<
-/D [1680 0 R /XYZ 90 617.839 null]
->> endobj
-1686 0 obj <<
-/D [1680 0 R /XYZ 90 558.665 null]
->> endobj
-1688 0 obj <<
-/D [1680 0 R /XYZ 90 499.491 null]
->> endobj
-1690 0 obj <<
-/D [1680 0 R /XYZ 90 451.275 null]
->> endobj
-1691 0 obj <<
-/D [1680 0 R /XYZ 90 377.492 null]
->> endobj
-1692 0 obj <<
-/D [1680 0 R /XYZ 90 331.299 null]
->> endobj
-1693 0 obj <<
-/D [1680 0 R /XYZ 90 295.039 null]
->> endobj
-1695 0 obj <<
-/D [1680 0 R /XYZ 90 246.824 null]
->> endobj
-1697 0 obj <<
-/D [1680 0 R /XYZ 90 198.609 null]
->> endobj
-1698 0 obj <<
-/D [1680 0 R /XYZ 90 113.867 null]
->> endobj
-1679 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1719 0 obj <<
-/Length 2055      
-/Filter /FlateDecode
->>
-stream
-xڽYY��6~���*�Uc�� I�*�=j��f��<�X�m*��9�}Zl�w&y1D���u��2v�v�N~�O.��(���N�
ᅈ�p�8�\N��q� ��~z�����w�����|�τ�+��=G"p�l��/�$��#ν��9
ep];'L�U�U�~O%B��
A"�(�R�o?s>�8�n�7��R�ZZ�>�	!�ݲ\߾������e5Eu��ndv�浬����k�\��1�9�@�/�w���!Y������!��l%<.�zW�}ٔcw	�����
-�
����=�a�`)�8��R��
�TK��%.�G3*�ڬ�,A;��*Ŧ���/��� �Q��ii�
tR{N�	��Ř@�:)�����a;��
��2��0I3��i����Z��q5e•Q-�
����X�uT=N9wѨ�G
ߏ��L�Ό��B�Xח����M�қM
7�[=Xd7N�8�$��a�T at K�۲���p
�ӑ1
-�C�D>��aJ��!��+���P <�,*
���(�BDI��I�M3"�Q���A����Pyo�y�s����-e^������kch�Տ� 	�
��33k`��€n�T�(�8�����	�G��a�|xN�{A��d��N�S���_�`11��
�p@��"�9��-����dA
��UT�"���B�t�Q�W�lQƾ"��'ci�qE�r��A�-�Y�^�L�F���|��_
f�(5���J�_���ҫa�3��Ty+�.���>�����?b�#N��
S����T���yYT�iz�l�rW� �K�4��lM��{ ���#��
3ũP

��g�W����$�]�Ei.�̛�����1�t��O�����2���6�

-�2��c0[Q�u��
�dc� ���#�
-�W�k�(�xb��0�%��BO���E5��[dc����4��Q�G�!G��wf
�F�zB �:�3�R�d��6Ӿ�u\���}O0�k��|`���ʫ$�&f���s[Tf`�45�\��Ɣ�O5�B���\3�؜*����6��MY��ܥ��G
ئ:{��BC���*d]�e�r�^?��m��K���ۈi[�

�%xX�@� k��	�ݼyK�"�dC�WhƷm ��0���U��/*@�4.
-(��rU�m��t-��>t�

�rq<��u��Q�Q���z;��P��H�P�
x���HZj"�⵶����\�m\���<d�|Ѻ����{��*5�&��2z/m]����&�
-қ�a�?����k}���
�
�.��ع�_�<hdS�al��A����
��*(
�U�t������/3�}iIb�jt,��
h[�> �9�6��[�~��t�����\�}v��q����]r�c뉃?5�����1lrh�|�S�����g�GGo�\F��뇲��:��g
-ʤ��0�N�)��v�|�=MwԬ]���
c'���2�W�\��Q�.N0�t'yN�e���k��&x� ���g6����馞��C�u�q��Lj���е
;��"�%�&:@tcݹ#r�Jgm�8"�#�#-P޹{�0j�s���e��_�q�6���w�(2���4CL��
j@̦)5݇�Y/��I%���U�U�W��K���� @,���d�
-�K�ZQ�R�=܌��yaŽ�F[⨜
1��
2��^���5u�*h��|E(:��mJ�f����Sm�f�A1��8����'��
-P���55T��uu
}�k�k�=�5
����
k��z_�M����F���s�$�4�T�0��[^_.Op��C��@�"��\������T�ca��seͩv�6��,�#�J4��S�{�c��imn|*�9�맿��_�S��k����d� ��>f�}��Se:���X?�dRE��M��R��+3�&ʗ�hi��������ZV�*FZ�~�r�ix���ZRV�}�#uF�*��m��Q�U�x�o�
�:�
nk��%���)������Gq�6yZV(m.!M\��U��]�6��e��W`C���L�	{��/Ev�
-endstream
-endobj
-1718 0 obj <<
-/Type /Page
-/Contents 1719 0 R
-/Resources 1717 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1531 0 R
-/Annots [ 1675 0 R 1676 0 R 1677 0 R 1699 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1716 0 R ]
->> endobj
-1675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.144 707.957 357.416 718.861]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) >>
->> endobj
-1676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.27 707.957 493.12 718.861]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 241.637 706.906]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 624.918 291.738 635.822]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe) >>
->> endobj
-1700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.554 624.918 446.416 635.822]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.098 588.903 296.048 599.807]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) >>
->> endobj
-1702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.133 588.903 513.996 599.807]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.891 540.934 299.822 551.838]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) >>
->> endobj
-1704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.559 540.934 503.422 551.838]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.743 492.965 310.762 503.869]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) >>
->> endobj
-1706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.215 492.965 470.077 503.869]
-/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 444.995 300.585 455.899]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) >>
->> endobj
-1708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.4 444.995 429.251 455.899]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.175 132.689 245.284 143.593]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) >>
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.168 132.689 342.698 143.593]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.027 132.689 498.753 143.593]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.722 120.734 284.277 131.638]
-/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-1713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.526 120.734 390.019 131.638]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1720 0 obj <<
-/D [1718 0 R /XYZ 89 770.89 null]
->> endobj
-1721 0 obj <<
-/D [1718 0 R /XYZ 90 721.073 null]
->> endobj
-1722 0 obj <<
-/D [1718 0 R /XYZ 90 639.784 null]
->> endobj
-1723 0 obj <<
-/D [1718 0 R /XYZ 90 605.792 null]
->> endobj
-1724 0 obj <<
-/D [1718 0 R /XYZ 90 557.823 null]
->> endobj
-1725 0 obj <<
-/D [1718 0 R /XYZ 90 509.854 null]
->> endobj
-1726 0 obj <<
-/D [1718 0 R /XYZ 90 461.884 null]
->> endobj
-1727 0 obj <<
-/D [1718 0 R /XYZ 90 410.494 null]
->> endobj
-424 0 obj <<
-/D [1718 0 R /XYZ 90 304.915 null]
->> endobj
-118 0 obj <<
-/D [1718 0 R /XYZ 90 297.658 null]
->> endobj
-1728 0 obj <<
-/D [1718 0 R /XYZ 90 199.376 null]
->> endobj
-1729 0 obj <<
-/D [1718 0 R /XYZ 90 147.555 null]
->> endobj
-1717 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1765 0 obj <<
-/Length 2109      
-/Filter /FlateDecode
->>
-stream
-x��Z[��4~�_�7��F��e�'(�S(P�ex(L�+��6�����9�d'�:�ݤ��F�u9��|:Gk��=콹�������^�����̋�'y�D O��ɗ��ј`���H'oJ�LިL�q���:���T`�mV�rO�}��f�
��W��"��l���wW��\�yE`{���@2�˫O�c/���<�Xz�͠��)����x��v���m4��F�H�
-cDxh���R�H���>�訳�u�ʹ�C3�hf������1�Ve>I�rR��e����߰�;��oo��נ�Z1�H`��J7�R��(��b"�ޢ��e�0-�fژJ�B
xcBQ$����
1髸V8:�~�0
�ouv}qm;u��R�uf_泭��������`F�U:��Ծ�
-�F�(ؐ�2�".[?�!LzER6�C!�� l���s�7F�ј��Zj�-�c+�"Β�	=�K��S�A 
�a�4��=9xKr�'{�=�#�}�m3�x܆Oc?�$��UeEņ���
�
-��q�А�����Č�
'(��a �	�Y�/����0+�7vO���!k�ح�$��yVՓ�u9��c
PE�:��J�x��(% [��1��J�	 �� �آ�� �`C�
���Ӽx�
��!H�w��@�3�&��ޅ�� ���!eڳ�T�DžT���X���~qm=B�h�p�Q�RQ0D�Ÿd<�
 ����	1fxf��U���)B�G�"
���IUN�(_5��
���w�j�'�@�e���d��(�cgu8!GG0u>�N�(�N7���*�5O$����
�ks�D��V�v\.drV��
!o��m6�ؿ�S���f�뎘
;&$p�����c,�ܻ�n�e�G� �X�,�l�<�KGKE�%:s�����i�ȽNS�j��Ne�*NS�[�99Uq���H�0 �!�`,`P�A��׫lZC���M`�����!O��aK�7]d
#f;�g��Ĉ���LC��d��.�^��:v�Z��
-��
�V�I�P�}y� �
��,�
�����K��K�(
�v�
�S��Y�E������-5ģa��3�iҜ 
�H����v��$?�zUf��؈�;-O<$)G�R.���s�l@�C.��jf�/:��q�/Xx6��E ���p����
y;� ���m��q�=''{��%���pEU��l��G|�8�)$[���{�:�
<�#8pd�#
<����)� ŀ
/Da�P�/Fa�6ظ��gH�^
���`
�
��!�$���
8u��h/�
,����g	�u�f�|�u�
����c��b_� �d�D�iB/�����������ҵ�S��V�}-!�v�
�\����)`}0	�^�R���\��y|��� ��3�umgUq�+-�~��UD�-h,�T-
s�0���l���՗�S�J��^�`(e!�]�`�̱d��E\�(��c�,וk�JD���(����v�
��
�Tj�r�լ
�Dݎ(�W��]mV�Jp���XZ����K��Y���Z��c7Y[��Fj�P瓢�������9���<x��G���_3���2U�䫡�F}*�F���I���S����o�N��H�8?��NU]�xyĩ}d@%`ӪKac���-Sm��y 
&��93x� ��3�'�N��t�&�[�Hp�	�
2-�a��_P�€]@q{�i>
7��7���.�CL��(_T�d��.��
�
wBV�W�@nW����4 at 8��}@���O�&�a~�
1��ZO�ղ���伱�(d<�������
-��#�м-+��T �l p�Ȑ�u�܎{5~"48�.��lhsi
^��"s�(.��4��
|�q
��������TD1��MD��ω(�A�������ٴ|9�T�����,���<I�1t��I��G0I��}P�%���o�D�1�}SϗKC�����a��2�o���2.��+;�]��W��ͷ_\�3�^�C�*�#S��	?�٪�~�|ޙ-U�.ҡ#�
�������KCk�?�����
-���|ϲ��dQ�������{4��*�E�t}
��~\��!J��󌭯@�e^*���L�@��7��?ё�
-endstream
-endobj
-1764 0 obj <<
-/Type /Page
-/Contents 1765 0 R
-/Resources 1763 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1714 0 R 1715 0 R 1730 0 R 1731 0 R 1732 0 R 1769 0 R 1733 0 R 1734 0 R 1735 0 R 1771 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R ]
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 696.995 310.289 707.899]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.104 696.995 404.634 707.899]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.77 651.16 338.282 662.064]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.762 651.16 436.292 662.064]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 651.16 513.996 662.064]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 639.205 197.911 650.109]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.537 593.37 345.607 604.274]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) >>
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.854 593.37 442.384 604.274]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 593.37 513.996 604.274]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 581.788 197.911 592.319]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 546.539 249.656 557.443]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) >>
->> endobj
-1737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.472 546.539 370.014 557.443]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.361 478.585 295.743 489.489]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) >>
->> endobj
-1739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.813 478.585 417.355 489.489]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 478.585 513.996 489.489]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 431.754 243.021 442.658]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) >>
->> endobj
-1742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.837 431.754 363.379 442.658]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.981 396.878 270.544 407.782]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) >>
->> endobj
-1744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.235 396.878 393.777 407.782]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.708 396.878 494.065 407.782]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 384.923 196.576 395.827]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 350.047 253.293 360.951]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) >>
->> endobj
-1748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.108 350.047 373.65 360.951]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.111 350.047 455.592 360.951]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 315.171 240.252 326.075]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) >>
->> endobj
-1751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.068 315.171 360.609 326.075]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 236.258 257.417 247.162]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) >>
->> endobj
-1753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.233 236.258 377.775 247.162]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 201.382 260.735 212.286]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) >>
->> endobj
-1755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.595 201.382 441.137 212.286]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 166.506 265.716 177.41]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) >>
->> endobj
-1757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.056 166.506 435.597 177.41]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 131.63 271.803 142.534]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) >>
->> endobj
-1759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.619 131.63 392.161 142.534]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 96.754 266.264 107.658]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) >>
->> endobj
-1761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.079 96.754 360.609 107.658]
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1766 0 obj <<
-/D [1764 0 R /XYZ 89 770.89 null]
->> endobj
-1767 0 obj <<
-/D [1764 0 R /XYZ 90 713.599 null]
->> endobj
-1768 0 obj <<
-/D [1764 0 R /XYZ 90 667.764 null]
->> endobj
-1770 0 obj <<
-/D [1764 0 R /XYZ 90 609.974 null]
->> endobj
-1772 0 obj <<
-/D [1764 0 R /XYZ 90 563.143 null]
->> endobj
-1773 0 obj <<
-/D [1764 0 R /XYZ 90 493.167 null]
->> endobj
-1774 0 obj <<
-/D [1764 0 R /XYZ 90 448.358 null]
->> endobj
-1775 0 obj <<
-/D [1764 0 R /XYZ 90 413.482 null]
->> endobj
-1776 0 obj <<
-/D [1764 0 R /XYZ 90 366.651 null]
->> endobj
-1777 0 obj <<
-/D [1764 0 R /XYZ 90 331.775 null]
->> endobj
-1778 0 obj <<
-/D [1764 0 R /XYZ 90 250.84 null]
->> endobj
-1779 0 obj <<
-/D [1764 0 R /XYZ 90 217.986 null]
->> endobj
-1780 0 obj <<
-/D [1764 0 R /XYZ 90 183.11 null]
->> endobj
-1781 0 obj <<
-/D [1764 0 R /XYZ 90 148.234 null]
->> endobj
-1782 0 obj <<
-/D [1764 0 R /XYZ 90 113.358 null]
->> endobj
-1763 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F96 1568 0 R /F37 1569 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1810 0 obj <<
-/Length 1890      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~��������N�
�Y�뺮����P-�f˞l7�~�o�YI��y�'Q�y.��s(�h
��b�l28{�p���TF��H�Hq����4�0|�i�*b2FDK��J�}3y�f���
�Otሸ�Rq4[
>|�Q
-�WFL�ѕ
��8e�\F��
��qk*D"�1��vI���ј
-󶝕�f��
���
!��hL9b\�y&��7���x��k\���/ץk��܏�gEV&�u�E�1gx8Yd�gw0��|�}S�GD
��i�rϼ�e�刀d��x�M�-��i�
Q1��#�t뜠t�	�!��
�aza�7
z�&b1� ��Xk������{�Z7@
��l�ʊ]b#aE�lh��ֵ��X����{���^��U�"
�.��⼘;�G��2{b �8�m��VNُ����c��l���t�%)8E�!Zx/������8L	�ԒUȔ
�f��y�%���_�n<̶[��t�xM_Z�+��e��W��
�^�&��m�}i�q���rm�7��WkF����-���
�X�
)��G��=s);I�topmk�� ��`~��_��X(c�|���»lYc�E�;
�
�f����]��&�ok߹�V����qS��³c �(ֆ�9L�+�3�
|�&��3/
�:1�m�m�ֱ�0�,;�Էc
���f�.�~g�MԊ�2�	k��� [...]
-���
˞+'�X�
�(6���9�X�l]z�f]�n��y`�v)#䎙A at b�
�8������o 
��8�f�d��o7��<
%`-��!M`ؼ�m
��2;ؘ�+
��


0@�4��Ģ�e���lħJO�A�[�� z7�
����҄q"
 yB�
�ӫ|��VQ� ��s�q���/
���N�b���%u���q������ꦏ��D
ߍ<c�B�<*2�+��>yό���La�����7�
�gfT�\*1�n�[S!��67�䁛���R�u
-�f��އ���;j�Ż�#��*bJ�����O�B��m�Z\ߩ����ɱ�����25	Fi��T�P���ҡ���5A�rM��l��v��e2�BW�~`b�*�>5鯦[CӊY�v�R~w0
Ϭ�WfV�N�Qv��8$S�ڄ>��
�U��M@�u�S�LO@?��1�sUmROU�`&8=�(CX���NH�N,�[�}D#��g�l����~�;�oq�o
+�
�QeDh�fD��eDیh�������M|� ��
��T�L��V6Pδ-�
/iPΪդ\�T�+1��cڦ�Ò��`$y��G� 
������(�]��I
�G�
�S�	�RIH?�!m�U��Sn~�z�GE9(�z)c�(bK9x������m
�A�Y�n~븪YW�[�ڎu��c
H��3��XW[�Y' ��b�ɇT��
����>��k���1΂T ��	KL){hG	
}D�Ь-=e�떖�f
-ZU%��OuF���>�?Ylw38�3z�;�\]Λ�R�y��iUZJ��LÕ���,-e'�A�qY��Ӝ���4W�]��:��c��QHiq�葹Nw�u
1���umkO��:�c��_0��ׅ��ׅ��3'�Ə�r
|���;�$�
ُ�F������\�3:-������E�?*�֝#�	�`
-gU��l�޵
-i����k�w��Y�H�/�
+`��q��<Ɔom�ʕ��
�]/�YZ&��u��L�k�rN��>���_v��@��6+�57k[��/I�����0��Y2+�KA���C�`���B�u
�#
-�����յ�b��<9;���B�-���D��
xvx�ROB����"�vvPl��C`C^�pe�;���v��
-endstream
-endobj
-1809 0 obj <<
-/Type /Page
-/Contents 1810 0 R
-/Resources 1808 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1816 0 R 1789 0 R 1790 0 R 1791 0 R 1818 0 R 1792 0 R 1793 0 R 1794 0 R 1820 0 R 1795 0 R 1796 0 R 1797 0 R 1822 0 R 1798 0 R 1799 0 R 1800 0 R 1824 0 R 1801 0 R 1802 0 R 1803 0 R 1826 0 R 1807 0 R ]
->> endobj
-1784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 451.41 254.399 462.314]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.214 451.41 360.928 462.314]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.099 404.587 332.581 415.491]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) >>
->> endobj
-1787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.39 404.587 448.104 415.491]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 404.587 513.996 415.491]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 392.632 190.738 403.536]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.77 345.809 359.65 356.713]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) >>
->> endobj
-1790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.13 345.809 466.843 356.713]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 345.809 513.996 356.713]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 333.854 236.107 344.757]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.589 287.031 327.725 297.934]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) >>
->> endobj
-1793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.024 287.031 436.738 297.934]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 287.031 513.996 297.934]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 275.449 176.352 285.979]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.985 228.252 326.438 239.156]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283) >>
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.133 228.252 435.847 239.156]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 228.252 513.996 239.156]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 216.297 174.668 227.201]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.03 169.474 332.792 180.378]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) >>
->> endobj
-1799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.532 169.474 440.246 180.378]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 169.474 513.996 180.378]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 157.519 182.977 168.423]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.637 110.696 350.332 121.6]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) >>
->> endobj
-1802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.679 110.696 460.393 121.6]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 110.696 513.996 121.6]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.741 223.923 109.645]
-/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1811 0 obj <<
-/D [1809 0 R /XYZ 89 770.89 null]
->> endobj
-1812 0 obj <<
-/D [1809 0 R /XYZ 90 721.073 null]
->> endobj
-425 0 obj <<
-/D [1809 0 R /XYZ 90 623.455 null]
->> endobj
-122 0 obj <<
-/D [1809 0 R /XYZ 90 616.082 null]
->> endobj
-1813 0 obj <<
-/D [1809 0 R /XYZ 90 517.834 null]
->> endobj
-1814 0 obj <<
-/D [1809 0 R /XYZ 90 466.239 null]
->> endobj
-1815 0 obj <<
-/D [1809 0 R /XYZ 90 421.438 null]
->> endobj
-1817 0 obj <<
-/D [1809 0 R /XYZ 90 362.66 null]
->> endobj
-1819 0 obj <<
-/D [1809 0 R /XYZ 90 303.882 null]
->> endobj
-1821 0 obj <<
-/D [1809 0 R /XYZ 90 245.104 null]
->> endobj
-1823 0 obj <<
-/D [1809 0 R /XYZ 90 186.326 null]
->> endobj
-1825 0 obj <<
-/D [1809 0 R /XYZ 90 127.547 null]
->> endobj
-1808 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1864 0 obj <<
-/Length 1935      
-/Filter /FlateDecode
->>
-stream
-x��Z_��
�O����3��E&O�5�I�צw���]ƣ�h�&��J�n����Hٖ-��ڗܓ(�@� ��y��������]����2���HH�K�Oa��
�	�8\.��]����|���
��J�|R��ј
-
��צ��S�n?��q�r��(�U(����o�����
)p@
W�"L7�~�A�
0bZ�ͤE�)�k|���
�
8tm&�����
-RkXR�V��R'M�]�i,`�i^��V�r����L�\4��a�#��	,-���r�bfe��֙{�����>�rW����	�0��7C�ˆ��N	�RcB��idZ�U}/�oUNAn�y�^Wh)y�~�HĀC�y^��y^9���2-�/nT�ܵ~�h���،(-Yn�z�N�O��� N��u���)�i��E
�(Q�
�o���
ԫ��f:�
S����iL/A�p^����������;
�9�ZɉG��6?�#�ç8K��6� 
�<�L��A"���3�M��5Y[�~L=�E�ۈ ��m�r��a=-J��e�'i��V���-��4�Z�>��^�Y��`�?�L\�d1[܎ՠ:�����EH��n�Ok��Z{q�F/�����H����Jﶼ��;"�FW�� ��� ��فhW-a_�$���}Xn��"�z����c>
L��Nꗥ���E�I�|
�>c�
�;J�H+��Y��gc!A�����L7���G*Z��q'��n�f [...]
-[~��E╁�H�0l�.��
`�=��iaf#j�oL����p��5ai%D%'���@�#��.�
������U�o�%���b����3�8k���)݃ic4�k�u2���L�ޝFC���
a�ь"�/Mc�}1/��"^xy�	q�K���Xs��bUM�FX�����XQ�D�[��/
-q��!�4n3�y��4��H��� ���Z2X�qL�WB�C>��w��!󯟾�l���We��A���eYTi�>Y+m�nl�v6.ݔ�o���Wk6l0�"��X��>�&��Ѭ(&y7�)jR[��r��	T��U\��u
ӊ�RIk�$],3{T
�.Kh�����9�#ᷖ����ӆ�W�Tk`pY�qb_I�,M�/����{J^�U�4}�#��@����vTg}�NEX8�9�
~��l�ШO�̃u�Uc����X�J����M{(R�^���	����,�^]��p1T�k���Ϯ�A
�l�
�y[ӵ�ۊ�RT�'�� �$V���~�&�I��|
����9P	y
@	yP&�9B5�KӋ3K��8;��_��-��{�v
6]��<��Vg
�!W����}�eĠ8%�1G���Pӄj�w���#=�����\�)�L
r�$����ʔ���vQ�m��Y5�xMM���HۿK�>��jC5��k*�Z�P{q�&�U���$
^T�sD7^x�,�Jt��m�� X�V�FP6�S�9����֭"`��*��&}�kej/��ԃq��q�%�����g��.V���Z?������qJ%�WG����5�"Kw���q�Nˣk��H���{�u2e�
��-/�S����M"q�'
�ކ�Y��^
-��c��%��D@�
-�"��)*��@���+K�*ഄ��M����cS��
Q���%�9�������
�)�k
�*��V�
�2��Y괣zK�*����0׃��K�������VY��
-�p�a�7�q q����'�� ��M,>�H~��{D&٩?��?��GS��۲�>qIc�ύ�ʅm�1�\d/�&)c��.}(���ݼuS��|����{�?��.\F�~�L���a�>x�8s�,2�,KS�t
-
¶E�@�
(��M��~
��Otk]�+��k=�������g4��*O�%J�[���~��!�T���kz�`��4n
in{�Mp�N�6�=�
-endstream
-endobj
-1863 0 obj <<
-/Type /Page
-/Contents 1864 0 R
-/Resources 1862 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1804 0 R 1805 0 R 1806 0 R 1867 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1870 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1873 0 R 1839 0 R 1840 0 R 1841 0 R 1842 0 R 1843 0 R 1844 0 R 1877 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1880 0 R 1852 0 R 1853 0 R 1854 0 R 1882 0 R 1855 0 R 1856 0 R 1857 0 R 1861 0 R ]
->> endobj
-1804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.052 696.014 367.489 706.918]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) >>
->> endobj
-1805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.251 696.014 473.965 706.918]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 696.014 513.996 706.918]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 684.059 236.107 694.963]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 647.222 261.841 658.126]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.656 647.222 394.382 658.126]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.303 573.874 315.869 584.778]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.881 573.874 457.607 584.778]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 573.874 513.996 584.778]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 561.919 190.738 572.823]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.417 525.081 281.164 535.985]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.291 525.081 415.017 535.985]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 525.081 513.996 535.985]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.151 513.126 213.632 524.03]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.135 476.289 329.415 487.193]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.259 476.289 466.985 487.193]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 476.289 513.996 487.193]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 464.707 178.862 475.238]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 427.497 252.436 438.4]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.252 427.497 384.978 438.4]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 379.7 266.822 390.604]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.637 379.7 399.364 390.604]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.196 342.863 377.816 353.767]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) >>
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.722 342.863 513.996 353.767]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 331.281 129.857 341.812]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.97 257.56 311.817 268.464]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) >>
->> endobj
-1846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.497 257.56 418.211 268.464]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 257.56 513.996 268.464]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.151 245.605 239.644 256.509]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.051 197.809 336.188 208.713]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) >>
->> endobj
-1850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.948 197.809 445.662 208.713]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 197.809 513.996 208.713]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 186.227 178.862 196.757]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.266 149.016 350.567 159.92]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.543 149.016 462.257 159.92]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 149.016 513.996 159.92]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 137.061 236.107 147.965]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.666 100.224 379.739 111.128]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.115 100.224 491.828 111.128]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 88.269 253.821 99.173]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1865 0 obj <<
-/D [1863 0 R /XYZ 89 770.89 null]
->> endobj
-1866 0 obj <<
-/D [1863 0 R /XYZ 90 713.109 null]
->> endobj
-1868 0 obj <<
-/D [1863 0 R /XYZ 90 664.316 null]
->> endobj
-1869 0 obj <<
-/D [1863 0 R /XYZ 90 588.946 null]
->> endobj
-1871 0 obj <<
-/D [1863 0 R /XYZ 90 542.176 null]
->> endobj
-1872 0 obj <<
-/D [1863 0 R /XYZ 90 493.384 null]
->> endobj
-1874 0 obj <<
-/D [1863 0 R /XYZ 90 444.591 null]
->> endobj
-1875 0 obj <<
-/D [1863 0 R /XYZ 90 396.795 null]
->> endobj
-1876 0 obj <<
-/D [1863 0 R /XYZ 90 359.958 null]
->> endobj
-1878 0 obj <<
-/D [1863 0 R /XYZ 90 272.632 null]
->> endobj
-1879 0 obj <<
-/D [1863 0 R /XYZ 90 214.903 null]
->> endobj
-1881 0 obj <<
-/D [1863 0 R /XYZ 90 166.111 null]
->> endobj
-1883 0 obj <<
-/D [1863 0 R /XYZ 90 117.318 null]
->> endobj
-1862 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F93 501 0 R /F91 1181 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1901 0 obj <<
-/Length 1633      
-/Filter /FlateDecode
->>
-stream
-x��XYo�6~������!)QǢ(����6�{���
A��X�W�s��wxH�l儓�X4I
g��8��qe`����`���F����ta�� 1�͍o&s��/����.�$g�ϦGgӉX
M�
,a����|c�����
��فo��M��P��1�1�Z���RE�T$�C.Hp� �*��Sʤ6�{Ʒ!�،�JO
�+�������Z%a�N�x�܅'qƣ"<�]�,�<
/�ƒ�/,����Y���9B�w���C6d[�̭!1��G
3�����aR�,��*
J��q}cH
-�^�T|�(ʰ��P?�\ב�;�x6�a��uƩ�Β��%W�D��ܢ��-�3���c��ecA:�&ؼ�Ԧ�>�}Rﹼ땃<��4��@F��z�}E��Lj�xh{��Q�ZW���
-
���u6��زs�&�m�0cH	��ʼ���@��8W��fr��&�b����%��s�D)r
�%�X�]�x��`�=v��Qh���{d���QV�|�G/�"
-��Ɔ�S�n�i���Ɠ���xtr��MZ
�m�ڵY
l��c�����UV�ҽ��|z
�
hzoƏn����y������g�@ ��³c6;;fPT��B�%D�>
-9ȣ�͡x$Fv
����"�"�1�"�H�$�gC�U|�f��8��6�:�W9(�uz�%�,�E��T�R=Uڬ�EVK���>���pЁ��H4����6pj~�"Wm;<*gq
����=����QӶm���<l>��6q����!�=�$Qi��.����D���ע�
��R�	Z7&��fQ�m�

�����C�J�h�:v�Wp��[��}%�(k�s��:�w�+у9޳y�(,�Y�O��<�}
��(�7
u���C�u��A�GZ/
T:�U'ud=�嬈WUӢt|�A��l'Pr���ͻ�����♋���P���0���Q���Ms�J׬v"V���\�^�s^KT�U
-��L����;.D֊f��Q�G�ȹb^6��AI�6�m]�ͮ��Ǡ�q;N5�������gZ�k�|�N�
�X���ΚҸ�
J{�~�3^�'�E�얅�
r��Z�p
"0M���29�P��
�x�9*\�h�3f��F
-{��_%��6kX�i�
-)��q8.,��e�Ӱ���#ixc�_p��g0�2N�|�K�ࠆ�h
-�G��A�{����)�f�z��!�M"yAs���!�iRL�ʎ<���
�~m�n'
�Aie7�h���
��s���?��!gyU_�eT5�*�dT�A��Ŕ��u-��
��m�o2m�M���<�jR�<EQ�����1
������t��'�bNG�g����Qx�����E“_
�9o�T�H��8�����������
_V�Ԫ�Zy
���;�g��.�%�߅�`�����i8�Z�mj��N¯g�G�&�Ϫ��o�5se���O��'ixɃ8���;
b��NV�m�TQ���Ϧ�8O�|^Dj�$�,��N�9P[N��j
]��Gi
�����Y$�R�pe�(Qk"�\�#y�
 ��H��"��2;�s
�B�o�
�>����.��7Y}YU����777hV�u�
-W����c˽1�M�V�Ks
��8��T���+��!"�
-endstream
-endobj
-1900 0 obj <<
-/Type /Page
-/Contents 1901 0 R
-/Resources 1899 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1858 0 R 1859 0 R 1860 0 R 1904 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1895 0 R 1896 0 R 1898 0 R ]
->> endobj
-1858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.455 696.029 338.122 706.933]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) >>
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.288 696.029 447.001 706.933]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 696.029 513.996 706.933]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 684.447 178.862 694.977]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 610.805 269.601 621.709]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.417 610.805 402.143 621.709]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 573.997 272.919 584.901]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.779 573.997 465.505 584.901]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 537.189 277.9 548.092]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.24 537.189 459.966 548.092]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 500.38 283.987 511.284]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.803 500.38 416.529 511.284]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 463.572 278.448 474.476]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.264 463.572 384.978 474.476]
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 148.926 346.513 158.854]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 112.118 342.637 122.045]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 75.309 338.045 85.237]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) >>
->> endobj
-1898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1902 0 obj <<
-/D [1900 0 R /XYZ 89 770.89 null]
->> endobj
-1903 0 obj <<
-/D [1900 0 R /XYZ 90 713.116 null]
->> endobj
-1905 0 obj <<
-/D [1900 0 R /XYZ 90 625.87 null]
->> endobj
-1906 0 obj <<
-/D [1900 0 R /XYZ 90 591.084 null]
->> endobj
-1907 0 obj <<
-/D [1900 0 R /XYZ 90 554.276 null]
->> endobj
-1908 0 obj <<
-/D [1900 0 R /XYZ 90 517.468 null]
->> endobj
-1909 0 obj <<
-/D [1900 0 R /XYZ 90 480.659 null]
->> endobj
-1910 0 obj <<
-/D [1900 0 R /XYZ 90 428.296 null]
->> endobj
-426 0 obj <<
-/D [1900 0 R /XYZ 90 321.129 null]
->> endobj
-126 0 obj <<
-/D [1900 0 R /XYZ 90 314.487 null]
->> endobj
-1911 0 obj <<
-/D [1900 0 R /XYZ 90 216.027 null]
->> endobj
-1912 0 obj <<
-/D [1900 0 R /XYZ 90 163.015 null]
->> endobj
-1913 0 obj <<
-/D [1900 0 R /XYZ 90 128.229 null]
->> endobj
-1914 0 obj <<
-/D [1900 0 R /XYZ 90 91.421 null]
->> endobj
-1899 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1948 0 obj <<
-/Length 1862      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~��`�K��1L\<�O>�)'>[SI�L�E���
�THʎ��o� MJ��C���������
kj9֧�������X
-\�Z�8���]h%��C��c�q��b^���Q1������<���`�p�>�*QL�X�浘5Ld�ˑ���>�io8��c�|��Z
G�o��/�;V�?Y��o=�As�
-ϙu��˞cT_}��[q��
-f"��a�0��9��a>����t|Xf�)�Kw�^�ˢ0�7�A��UT-K���B��mv��2��<0�|%�w���s0u�U�[ڨ�c]�R���\����9�����"�j0����M���������d��
��Zb�\�^b��|�%"�����h|vq��w،o�Y���y�߿�f��d�W�c�<G��؇ׇ���:�
Pn�;
?;>���;N�bň}F�AjU#/�4N��1d�g�
83�"�'nGs���2hȾD���1s8
�6>���y�~��ʕ������o����˓�ˢ��F�ތ����f
O>
��o�r���-&
q�������!���E2
`��<�3�>�����!�O�y~�xEs�߀�C�h�'�ҹ��S9p�������e\�E�QK8,�t��EfԊ2LND=�#}��"��ic�(}�ic�r�f Tn?��P熓"���r�0IA�2ͳU	j��w���J;Mʹ�1�
�6F) �a�Io
-�N_�>C���1�y���a�4`J�}9΅��
�
-���,��_X=.��&�$�I�
���2n���2�%��	�Ez�F��!�y� N}ޖ��ɼ�G��t��@��`
�
��]���c�?W�~�5F�g��٢,��!>r�>�
� ���c^Gu�2�
P
��s�_[
�k�('X"��!ʹ�*6Y�8y�*�$��a8
-7��ۄ�uÛG`�����ˏ�ӥ'Y�i&�"
��( VJ��g��gZ��M~�W��c��]^��
��Q�n�J��+}ڀ�.����mձ���&#ڴ_�O��n��=���<�&�iD���?"��{#g�̠�+��@C���>	�v9FZ
j��yi����8 %S�@
)��4et_��(e�#�#�����=�
�������������!�#���swIwC��
�
żE
R����
Ȼ:ѽ_IC) h��b_�L>�ȗ�P�A�+Q&?��)q�x�o�2=�c.��E?谋0k� ��(���
�T��|Q��|�T�03
-���J^wȎR1�Y�lg���c���x]���;8x��08 w�#��W���W�#�\�HO�j���{��#���P��e�'|�"�K�ɽ�f�Yn_	q�7L :����o� ���@<j\��e^5
�F�nn�T�&f���%GnG�$v�z}7{g�LG�Y�DM�mڄٞD|�s[4�c�a�&�Ww�Y~
}S�i�K�ue�ya�h�gISћ�\O��E
ҙ)���C=��f3��[ў<��L��R 3pI(�ڷ�&�j�Wg '&3��M�E����uoj���+n
s��k������ʅ6�����@+yI]�$7yq� ��ݖ���JJ{Y
��V��V�7hx:�~��JI{΢��'�x���K�
-(�)ٞt�7Fk�@��]�k�_f��ߊ"�'!LU�=��
-\�5�y���
-*m�k�^	^
-Q�U9�:nW��rfҗ��UlA
L���?��gin��G�=R�j���(�G���N$E�����ET<�Ʊ
r
e�e45���i���������-/L�����N�o� �HQ��N���4���a����-�ͪ�~��LZ�"�GN�	wU��������%Zf�@iu �w���O�`H�x����%���B�=�t�U9�V��f��
-endstream
-endobj
-1947 0 obj <<
-/Type /Page
-/Contents 1948 0 R
-/Resources 1946 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1897 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1957 0 R 1923 0 R 1924 0 R 1925 0 R 1926 0 R 1959 0 R 1927 0 R 1928 0 R 1929 0 R 1930 0 R 1961 0 R 1931 0 R 1932 0 R 1933 0 R 1963 0 R 1934 0 R 1935 0 R 1936 0 R 1937 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1945 0 R ]
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 686.342 340.247 696.27]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) >>
->> endobj
-1915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 650.127 330.842 660.055]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) >>
->> endobj
-1916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 613.912 426.413 623.839]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) >>
->> endobj
-1917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 577.696 451.11 587.624]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
->> endobj
-1918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.287 541.481 513.996 551.409]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.032 493.31 511.579 503.238]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.223 420.697 342.668 431.6]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.601 420.697 439.515 431.6]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 420.697 513.996 431.6]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 408.741 190.738 419.645]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.701 372.526 238.195 383.43]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.606 372.526 328.52 383.43]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.304 372.526 448.66 383.43]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 372.526 513.996 383.43]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 360.571 210.673 371.475]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.451 360.571 353.177 371.475]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.625 313.397 321.906 324.3]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) >>
->> endobj
-1929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.24 313.397 410.155 324.3]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.266 313.397 513.996 324.3]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 301.441 168.601 312.345]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.867 254.267 331.706 265.171]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) >>
->> endobj
-1932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.283 254.267 421.197 265.171]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.266 254.267 513.996 265.171]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 242.685 168.601 253.216]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 206.097 243.041 217]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.857 206.097 356.783 217]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.998 134.459 289.765 145.363]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) >>
->> endobj
-1937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.473 134.459 405.4 145.363]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 134.459 513.996 145.363]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.382 86.288 375.219 97.192]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) >>
->> endobj
-1940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.311 86.288 491.237 97.192]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 208.451 85.237]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1949 0 obj <<
-/D [1947 0 R /XYZ 89 770.89 null]
->> endobj
-1950 0 obj <<
-/D [1947 0 R /XYZ 90 702.305 null]
->> endobj
-1951 0 obj <<
-/D [1947 0 R /XYZ 90 666.09 null]
->> endobj
-1952 0 obj <<
-/D [1947 0 R /XYZ 90 629.875 null]
->> endobj
-1953 0 obj <<
-/D [1947 0 R /XYZ 90 593.659 null]
->> endobj
-1954 0 obj <<
-/D [1947 0 R /XYZ 90 557.444 null]
->> endobj
-1955 0 obj <<
-/D [1947 0 R /XYZ 90 509.273 null]
->> endobj
-1956 0 obj <<
-/D [1947 0 R /XYZ 90 435.613 null]
->> endobj
-1958 0 obj <<
-/D [1947 0 R /XYZ 90 389.465 null]
->> endobj
-1960 0 obj <<
-/D [1947 0 R /XYZ 90 330.336 null]
->> endobj
-1962 0 obj <<
-/D [1947 0 R /XYZ 90 271.206 null]
->> endobj
-1964 0 obj <<
-/D [1947 0 R /XYZ 90 223.036 null]
->> endobj
-1965 0 obj <<
-/D [1947 0 R /XYZ 90 149.376 null]
->> endobj
-1966 0 obj <<
-/D [1947 0 R /XYZ 90 103.228 null]
->> endobj
-1946 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F56 167 0 R /F23 168 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2003 0 obj <<
-/Length 2194      
-/Filter /FlateDecode
->>
-stream
-x��ZI����ϯ�-`���W4��
�&%[�ek\>H*H�$b` p��_��܆
�R9�������{�����������^b/BQ@�a�Eؓ<B"�_�������w

BD� &��7?������O���ۇ���x�=b�
$Co����{	t�aĢ�{҃V
�
�K���O7؊��4�E^�\�F8F��D���2��jtK��B�sw��$�Q(��+3���D%n@�H�Z�f5IK�.f��u:�؟����j
O�$[�y�y��ە��$�����L$@��!H+y����Eй�[
-�B
�I�_(�U�Ϸ��nuu�����z �8�����û��e1Y�����<-����Ω�v�
|���C/?��ug��W�zp1��7&��+�jȆ���(�衑u\?���-�
V�G�$��W�
j~��H��{[��!�X=��t|���
-BUm:�E��60P�
��	qY*���Cp���JR
���7�����r �����=\w\�#.|��A�(<�
3��lK_��{��Jĥ �c�����,��6�I67�4/6�Ec �sQ,�2��p�1 �������t?f���$��I�n>O�3	
<���3%|���̍��aa�
-;<Vϧ� ��B�)L)ы�D���
�݃WiG"�[�@�� ��]c+
FO���
|��Od.K�B_�A��W�Ϸ 9K�*S�U�*GL�ڠ���b@�^�S�
E4���ll#���8��m%�m��I�z
l��&t
ۻNh �١%��Z�޴G�23D=����܈8�{���ȏk���$�U5��@�0�݇���Cb��V��`�¼�V�_?��f!ET6�*���Q`/nP��f�.�� ��E�?�k�j�ⵓO7 j�ۑ0B�}ow��2�����ЖE/��H`vڲp�!���:Q�?*����&���h{y��0W�q�������gy��
����%�Z�
G���X�LO�!�`��
KY��
�00���u��\���>�i�#�}8��o�v$�烺��>ڟͥꝵ[�V�׍#H�
-��������ŵ�"�Q�hu�$��h޹�+�
-l�kxC�z�Z��*�#V:��d0������"Nũ�n�0�9�7�K��(�{ӣ�1
� )E
�QB�XD_�VR� ;��t�?~�?q�Lb�%�����s'�ҝ�U
�$!G.*�����v�T�xj�YQ���5���t@��ϙ��fV8��-K��*0�����j
Is"u�Ǹ�b���a}8
��m�14
�c���63]��"^ۗ��7�"��*V.9(��%���&�@�Q
�Z'�։a��8W�94~���Ʀ�3��&�Dy����y��7%\wZ
fLP��

�
��̓#Ӳ�[��؆ئ��g�(�l��k
 �#��`c�\��	���t�.�
}c_��UZW��^!ebGƶ��
�x�g�3�CEˁ�ReD�pG�
�8���q
-�x����u��nQ-q8

����yIU��$
�0
m+�{
-�
ʵ�}.�;`5�%ͧKp;�}=d�(:�6�x��	at��߷�u�.g�뜅s�J�$
� ���¾Z�B��%�T�1�b5�i��tl}F~	>Ys9
F-T�-XG����ئ�vF:�t����� ��O�Qkț�'d��
ֻ�`qc�;��� #��ß�m�a
Y�
��{��
�Ax7Dr��0�9��g~e I
��pi,X��d"٬��4n��Y>t��������p���OqU�:��] �v͋�ظo��|��(1G��W�B�i����\^�#��DJ*�ty��U��e��g�
W3�!0�M�0c��`��G����$��F\t@��|a��8�T^���`5"�
��55�B�Fuk2��^?��L�
^L�K�����p&k?Nm8FR��E��F��]�
��U�D�b\	q��~麰^n!~zѻ��u+��Z��z[���
���k��
ay ������g�j�'at�?["�Uة�������$�B��1.���zs^1��,W�s�?��E���y�>��q�l~�1C���|���w>�3;���~���o#!��L��]t`�S�a at i�
-�	�)AT�H�ń&\�`4��Z�+H�ι(Q�-�z������'4��&��%��;���nQ�]� 0E�ܝ)��`��L��\'u!�opO��R
-endstream
-endobj
-2002 0 obj <<
-/Type /Page
-/Contents 2003 0 R
-/Resources 2001 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1783 0 R
-/Annots [ 1942 0 R 1943 0 R 1944 0 R 2006 0 R 1967 0 R 1968 0 R 1969 0 R 2008 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 2011 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 1984 0 R 1985 0 R 2016 0 R 1986 0 R 1987 0 R 1988 0 R 2018 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 2021 0 R 1995 0 R 1996 0 R 1997 0 R 2023 0 R 2000 0 R ]
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.636 685.285 331.776 696.189]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) >>
->> endobj
-1943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.122 685.285 453.049 696.189]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 685.285 513.996 696.189]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 673.33 190.738 684.234]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.748 625.994 310.757 636.898]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) >>
->> endobj
-1968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.215 625.994 424.141 636.898]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 625.994 513.996 636.898]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 614.039 144.243 624.943]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.64 577.662 297.22 588.566]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) >>
->> endobj
-1971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.57 577.662 410.497 588.566]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 577.662 513.996 588.566]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.846 565.707 227.828 576.611]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.445 518.371 294.901 529.275]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) >>
->> endobj
-1975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.056 518.371 409.982 529.275]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 518.371 513.996 529.275]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 506.416 179.112 517.32]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 459.08 296.739 469.984]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.555 459.08 410.482 469.984]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 422.703 233.637 433.607]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.452 422.703 347.379 433.607]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 339.662 238.608 350.566]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.423 339.662 326.338 350.566]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.867 303.285 366.786 314.189]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) >>
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.363 303.285 459.278 314.189]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 303.285 513.996 314.189]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 291.33 190.738 302.234]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.204 254.953 362.443 265.857]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) >>
->> endobj
-1987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.357 254.953 456.271 265.857]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 254.953 513.996 265.857]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 242.998 190.738 253.902]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 195.662 277.91 206.566]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) >>
->> endobj
-1990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.726 195.662 365.64 206.566]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.621 195.662 481.604 206.566]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.687 159.285 288.366 170.189]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.763 159.285 382.677 170.189]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 159.285 513.996 170.189]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 147.33 164.178 158.234]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.789 110.953 313.294 121.857]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.794 110.953 404.708 121.857]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 110.953 513.996 121.857]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.997 179.112 109.901]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2004 0 obj <<
-/D [2002 0 R /XYZ 89 770.89 null]
->> endobj
-2005 0 obj <<
-/D [2002 0 R /XYZ 90 702.265 null]
->> endobj
-2007 0 obj <<
-/D [2002 0 R /XYZ 90 642.974 null]
->> endobj
-2009 0 obj <<
-/D [2002 0 R /XYZ 90 594.642 null]
->> endobj
-2010 0 obj <<
-/D [2002 0 R /XYZ 90 535.351 null]
->> endobj
-2012 0 obj <<
-/D [2002 0 R /XYZ 90 476.06 null]
->> endobj
-2013 0 obj <<
-/D [2002 0 R /XYZ 90 439.683 null]
->> endobj
-2014 0 obj <<
-/D [2002 0 R /XYZ 90 354.619 null]
->> endobj
-2015 0 obj <<
-/D [2002 0 R /XYZ 90 320.265 null]
->> endobj
-2017 0 obj <<
-/D [2002 0 R /XYZ 90 271.932 null]
->> endobj
-2019 0 obj <<
-/D [2002 0 R /XYZ 90 212.641 null]
->> endobj
-2020 0 obj <<
-/D [2002 0 R /XYZ 90 176.264 null]
->> endobj
-2022 0 obj <<
-/D [2002 0 R /XYZ 90 127.932 null]
->> endobj
-2001 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2064 0 obj <<
-/Length 1755      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�F~���[a&,{ե}�'�8M�N�N��F��I�l����v%��m�"���XVg��;W	;s;��~�9_x�	P�R׹�9v<
 �¯��y�!�
Gc<ȲE���Ux��?Hor�h>
Q�����,�H���r�L�%�E0�z�����ٿg��1�	���dy��+v�������s_nZ:�2�^8�gϰe
7EnCB<��

!�#�JEyxu��y$@�8QvY3��-W��
���F�B�0�T���E*N�p�Ne����
�I�;dU�e��1��l�%8
(����7�2p|Ѓ˵
(E.'Έ0X�
��*
%ugMՔfs��o��
<��,ra@�y_��q4�0
-�6Zy*b6m�G|�|R�Qi� Q��T���b$HPmB����T� ��� ]1��b�<]f+'����j��.5]d��6R�N�Ӟqa&-�`L#X9��4)�^@=
-����T�<���,��"V�Z���C��!�,fqօ<L'�!ȋ��[��Ŭ�C�
��aku0w~rH�
�k�|D8E��V�;<���f�dz7H�Y���eq\d�}D���y��Y
޴-Y{td]X)
<�6�*R��@�R\��0j��R�cT�O
��#Z�"%���o9Q�Y��g�dRƤ��(����W����<h�`�g�8�h�Ld
�4����ˀ?O�Lˮ}u�Du�JV���Me�/�	���mC��ژn'�KVq�6c�Z:
uuJ��,��k�d��`w�;�	ļ=Sl�5(�H�����
-���n��ɨ��*�ek��^����ϣ_ at t�ۀ�I?P�� 
-֍���R7 ��l)����՞l�/8!�V��+�k`��[Ja.�d������R~]�4?.�SH�8ۑ=2�NM�/�.���F[]d1��� �@�B�
R:���@��Սr�[n'u��4��v�G��6�1�
���p��8���j�'[mR]<�wh7(f'�;}��ȘΨ�0v{ <�����"�*��Z�C-�OX�ӟ�;w�}�M칒��$v���ꏭk����ǺTu
���C
:�ko��f�� 	�#�#{��Ǖ�����Rmz��4Q�նB\�1ʣ�T2/���
ͥ��Sy����Swd�QQǾfT�
�J��G)i�@dݕl�n��
�N��Ѯ����iғ}*�c�� �S�r����aO�`��h��K
m�/


-�A���Ѻ���C����9dbp`��5�i@�R�p)�i��Ix��˗�I���
m��U�1�!��C�����U�aWl�Y���8`M;C�;��m0��f�

-
J��t��VFu��6����?'�U�iuWW@���w:�R!���

�!��u�b���9��>��#Ч{��V�Q�
-���_�l �C�Of� �L�'3��e�������/�⅝�}׊/N�,��M����I�W�ծ^�B���9��Î:8����j��T
F=v�P�c����6��凷
��|vPlQ���K�
���Q��@�
T��ZV�㧻g�gS�mk�g��{�9t�����q3���N�h4o��'���XCE�)��~1C���{��Q��7yz�_�K�uԶ`�)���nҡȗz ���*]<��i
�?ķyT&$�qn�|���*���ͻ&e�?�K2�i(Ġ07�
%�r��̨�<&�
�l1"Q�4
1̡u��LF�8��oڗhC.�}�I�wJe?�����hR�Ug9��,1��F"�pPM�k3C� K#C���|/����G��
-endstream
-endobj
-2063 0 obj <<
-/Type /Page
-/Contents 2064 0 R
-/Resources 2062 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 1998 0 R 1999 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2068 0 R 2031 0 R 2032 0 R 2033 0 R 2034 0 R 2035 0 R 2070 0 R 2036 0 R 2037 0 R 2038 0 R 2072 0 R 2039 0 R 2040 0 R 2041 0 R 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2049 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2061 0 R ]
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 707.957 312.789 718.861]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.604 707.957 400.519 718.861]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-2024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 634.377 270.727 645.281]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
->> endobj
-2025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.542 634.377 384.469 645.281]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 597.475 240.132 608.379]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) >>
->> endobj
-2027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.948 597.475 353.875 608.379]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.842 562.564 330.976 573.468]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) >>
->> endobj
-2029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.528 562.564 444.454 573.468]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 562.564 513.996 573.468]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 550.609 174.668 561.513]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.129 550.609 256.61 561.513]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.803 550.609 351.284 561.513]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.394 515.699 277.987 526.603]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) >>
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.091 515.699 394.018 526.603]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.149 515.699 513.996 526.603]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2070 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 503.744 129.857 514.647]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.069 466.841 297.856 477.745]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) >>
->> endobj
-2037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.635 466.841 421.562 477.745]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 466.841 513.996 477.745]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2072 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 454.885 174.668 465.789]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.837 417.983 277.739 428.887]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.286 417.983 393.212 428.887]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.089 417.983 489.57 428.887]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 406.027 196.576 416.931]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 332.427 309.441 343.331]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) >>
->> endobj
-2044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.257 332.427 423.184 343.331]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 295.524 308.336 306.428]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) >>
->> endobj
-2046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.151 295.524 396.066 306.428]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-2047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 258.621 313.895 269.525]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) >>
->> endobj
-2048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.71 258.621 427.637 269.525]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 221.719 328.121 232.623]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.937 221.719 441.864 232.623]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 148.139 250.802 159.043]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.618 148.139 364.544 159.043]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 111.236 254.12 122.14]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) >>
->> endobj
-2054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.979 111.236 427.906 122.14]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 74.333 259.101 85.237]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) >>
->> endobj
-2056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.44 74.333 422.367 85.237]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2065 0 obj <<
-/D [2063 0 R /XYZ 89 770.89 null]
->> endobj
-2066 0 obj <<
-/D [2063 0 R /XYZ 90 721.073 null]
->> endobj
-2067 0 obj <<
-/D [2063 0 R /XYZ 90 649.476 null]
->> endobj
-2069 0 obj <<
-/D [2063 0 R /XYZ 90 532.82 null]
->> endobj
-2071 0 obj <<
-/D [2063 0 R /XYZ 90 483.962 null]
->> endobj
-2073 0 obj <<
-/D [2063 0 R /XYZ 90 347.526 null]
->> endobj
-2074 0 obj <<
-/D [2063 0 R /XYZ 90 312.646 null]
->> endobj
-2075 0 obj <<
-/D [2063 0 R /XYZ 90 275.743 null]
->> endobj
-2076 0 obj <<
-/D [2063 0 R /XYZ 90 238.84 null]
->> endobj
-2077 0 obj <<
-/D [2063 0 R /XYZ 90 163.238 null]
->> endobj
-2078 0 obj <<
-/D [2063 0 R /XYZ 90 128.357 null]
->> endobj
-2079 0 obj <<
-/D [2063 0 R /XYZ 90 91.455 null]
->> endobj
-2062 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F93 501 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2087 0 obj <<
-/Length 1815      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W����K��v�ַ�2
-4	Z�d�"�����}go��Jd7�"���᜙�sf�����GӃ�� ;�|�;ӥa'�><-����'���8��|X�F�_]NO.��򿃓�������
-Bg�
|���
��`Ģ�yR�2�S׵s{��6�
�ڵ�	�5�K�Lj�m@"D;r]�y]I7OCљL9"pg���g��ȧ�N���Gvc}�����{�7���
�jx�jB���7{S�I�����t>!�}Џi���nRo��Z}L�1���pĬ���J�h0 ��]�<<~'�
�a�x�!f���R�3�|����
��+��5AE`��]�]Ϯ��~�d�����l��6Csr�',�N{�ּȫ�g�
3�������DG
-��H#Ѱ)�O3=�	���t��8HF�9�G�I3
�k
� ��:��UF�����TI^�uZ�i�r���P�{��  c#F�8�c
1�(�0�r"Ga ��zZ��u��+��(`|�J���$
 ,��ĢH�8�?���
-���e9��-�1S!
-��
-�]Q�$�	ص
gs� ��d�
�s��q���y�T�2�(��s�ehQ LEN'!v�n�*�
���7�]n�`ƗE�ǡp��FWO�&���;}H�xm�Qk���Qk�Yc�1֘�B�.kH��Te)�&�'J�
��H�F��p�ԌrQ5	h�3���Q�
TR��G�% ����a~"PaF@@8���
j�sZ�In��]n�t��[%=52,�۬�_���5m�ɿ��MLH�1ͪb�(�Ln*J;�� �.@
-`܆�t3"�������R7����m1>�:�G��1B)�8E,�
n�&&������H�/;y
h���o�g���R�iĚ�0X��D�9=�I�#_��6Bq����yX&(�c)@l�썴.M��pq�{�.8!���]����\
��\�n��w����ӓw�gG��{)��)6�L��~�@$��@�ժ�5/$��w+(�
-8��0��H�� �5�j=�T){
��adv���g(���.�O���$�iF{ hh@��7-j@�`�w=t?���֍�Ҍ�%y�M�UyZ�U�Vme��h]P��=rz�����ԸR$uU~���? 9K��
��9g�L۬�(����������6���n0{Ni�潭)�E<��YZԹ ����%�z+���(l��0��@$ �]��=�
�(ͩ
��B
�2����eK�`��D�B�8/!�7��AFT3ӉW��I��q]���%����
{M���'���E��;�G

L����l
N�
� �$3�s��l��dC��`=�8�V
�cd���eO�m���zp�8���P����
E���I&`v0�u�AѮ��Y׈��˲�3���jG���(�����#A�-�t�H��E�Y��뾙y;� �W.x�G!�x��Y�=wye��q)o�d<����ҵ���ĶjAS��o��n�`�m�3
�����'��Ϝ��*]5�_H`��~�ȍ�}'a��
2����m��X.�4��؆���Nkc���}���M�
"d�sfe-ѳ_�\px8x�r��{R�G#@�����(�
DH��)����gZ��u:͞*
��
�Ƅ��T�'��fh3$A���Y}Q�w��@BS�y�Dv��1������]F��b��!Y����<�/��~x�����j������]
�UI��D��
.�|���t��mWVz���<� *��#�ܽM

��
{��>?��(�j��Pכ����мB�<ݔ(���Nk�@i���\�C:��� �
���q�y�1E 4
-endstream
-endobj
-2086 0 obj <<
-/Type /Page
-/Contents 2087 0 R
-/Resources 2085 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2084 0 R ]
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 684.591 265.188 695.495]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.004 684.591 378.93 695.495]
-/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 646.825 259.649 657.729]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) >>
->> endobj
-2060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.464 646.825 347.379 657.729]
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2088 0 obj <<
-/D [2086 0 R /XYZ 89 770.89 null]
->> endobj
-2089 0 obj <<
-/D [2086 0 R /XYZ 90 702.144 null]
->> endobj
-2090 0 obj <<
-/D [2086 0 R /XYZ 90 664.378 null]
->> endobj
-2091 0 obj <<
-/D [2086 0 R /XYZ 90 609.464 null]
->> endobj
-2092 0 obj <<
-/D [2086 0 R /XYZ 90 537.229 null]
->> endobj
-2081 0 obj <<
-/D [2086 0 R /XYZ 90 513.649 null]
->> endobj
-2093 0 obj <<
-/D [2086 0 R /XYZ 90 513.649 null]
->> endobj
-2082 0 obj <<
-/D [2086 0 R /XYZ 90 359.366 null]
->> endobj
-2095 0 obj <<
-/D [2086 0 R /XYZ 90 342.762 null]
->> endobj
-2083 0 obj <<
-/D [2086 0 R /XYZ 90 163.893 null]
->> endobj
-2096 0 obj <<
-/D [2086 0 R /XYZ 90 147.289 null]
->> endobj
-2085 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2113 0 obj <<
-/Length 1738      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~�����@L�)Qݰ�-ː.�6C��P,�f]&�I�_�Ë$K��$K6�%��\�s�1v�v~��x5���	Q�S߹Z9!v"��[�wD�tF0�nQl�痋S�L�$���X.�h=�Q����*ZJ��F�d9%•��"����ǫ����&MH�
b8rg�N��N
�/
��P8��P�0��s뼝�>�Vx|T	"���(�"�S�ݨ�R	bVZ�!��Y�O���3xb�*iR�>��q��JR}�jcm����,�2�����
ۙ%2#
��R�.����!
�wS��d�5<��QU%�L��ndʲ��4��j�����4��n����v'�����A,��4 ���c4 �y�d�)y�� �7S��qq��duT��֪�Ro�ʬ�|�������-3e�F�U��W�v�+�n�̆���V����!>b� Y
-��������3n�u���(�8��EuJG
-!�9��W
I�!�ؓ�f��2֢{���T`�s!������.[*�W�_6q[i,�A�
-Y�h�
�Rn�}�d��.��@����~ߏ�
-�����m���	���������@ң
ĹG!��(y#�
P�Z3|Ւ0ǯ�Z6���aU=e��g*�kYL��y<� �����&�7� %�@�e�Xn�m�P�
V�)
�R6��1�
�cn�L�[, � &X.O��h�5��;􀃊�Lg�����Ӊr5��[J9&��
��^
-�ᰭ
� �ǃmq�����c9M��>Ӡ
1
-1U��k��]��:�ֹa)��W
 ����ާ�fA{02�)�L��L�r�O� F�=��<R���5d���R=6fO�!Y��J8<��#bP���@b7A�/��a�͵U�f>pm���;ă���g�T�B~�q�_�b��wȒ��N�}�A�
�� o3
���z9-�T�]S�&5�gŮ�����1�׎6
7B(B�	�I�ᦈ%��(��a�8H��>]�r����zU���6����,CV�c�F���6Y��v�h�����]=�
�hpOl
�8
9 
�
��C�4�\=Еg�?��.
-
�qIg�RF��ץ|
|@?!�φ�~_�Nn�m�r��<|������"
0ĞCQ�@-7Q9"������ ���g�⿄�@���Qd��.7˙��5������5�w�k-��MҖWu��r���we{)�I�1��n��Y)ӏ� �����ê�=!>

U�$YĻ��7��ɑ��1�g��ϛ�ƧG��&�ŧ04NA���،�*�`(̣�_���^� �5��`ݪ�gcD�X<o�
���]�<���'�\K8ψ+�H����
P�)q�f,�7�V��O�H	t7���%�FװUW9�
ߙ1����;�9�u�l��z*�e�Z��
vH(�`G-�;$
�`G����Zt�
�f;�5����f}@7��
�rfY���'7I,
�Ȟ�����
۫=o���әir\���C�����f��XO }�����r� =�b���d��d{j�� �u�t�_�`]�( ��O,��)�M�y�����j<<�^�������Er]F�g��9re�]��ߟ�
[T��V�T�^E�Nϝ=3��Q,eiG����* *}�=�ܷ��?��t�կ=���L �6,��.^�緷�hY�]�%J�9�z~x���rö2
�`i�Dž�C��f�q��~�;�	
-endstream
-endobj
-2112 0 obj <<
-/Type /Page
-/Contents 2113 0 R
-/Resources 2111 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 2097 0 R 2098 0 R 2099 0 R 2117 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R ]
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.555 452.64 294.025 463.544]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.475 452.64 432.298 463.544]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 452.64 513.996 463.544]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 440.685 213.506 451.589]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 355.754 275.699 366.658]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) >>
->> endobj
-2101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.514 355.754 414.337 366.658]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 319.53 279.016 330.434]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) >>
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.876 319.53 477.699 330.434]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 283.306 283.997 294.21]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) >>
->> endobj
-2105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.337 283.306 472.16 294.21]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 247.082 290.084 257.986]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) >>
->> endobj
-2107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.9 247.082 428.723 257.986]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 210.858 284.545 221.762]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) >>
->> endobj
-2109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.361 210.858 397.172 221.762]
-/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
->> endobj
-2110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2114 0 obj <<
-/D [2112 0 R /XYZ 89 770.89 null]
->> endobj
-427 0 obj <<
-/D [2112 0 R /XYZ 90 603.678 null]
->> endobj
-130 0 obj <<
-/D [2112 0 R /XYZ 90 596.584 null]
->> endobj
-2115 0 obj <<
-/D [2112 0 R /XYZ 90 498.255 null]
->> endobj
-2116 0 obj <<
-/D [2112 0 R /XYZ 90 469.791 null]
->> endobj
-2118 0 obj <<
-/D [2112 0 R /XYZ 90 370.673 null]
->> endobj
-2119 0 obj <<
-/D [2112 0 R /XYZ 90 336.471 null]
->> endobj
-2120 0 obj <<
-/D [2112 0 R /XYZ 90 300.247 null]
->> endobj
-2121 0 obj <<
-/D [2112 0 R /XYZ 90 264.024 null]
->> endobj
-2122 0 obj <<
-/D [2112 0 R /XYZ 90 227.8 null]
->> endobj
-2123 0 obj <<
-/D [2112 0 R /XYZ 90 176.153 null]
->> endobj
-428 0 obj <<
-/D [2112 0 R /XYZ 90 70.154 null]
->> endobj
-2111 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2151 0 obj <<
-/Length 1464      
-/Filter /FlateDecode
->>
-stream
-x��XYs�6~ׯ�!g"� x��tFq�RYQ%�W���"$s�C%���� �ò�$N��/$�s��o��5��fj/[��V��55��C
͟k��\�!ہ�P{�;�x�Ҩ�!�
XT���
���?c������a�԰\o#��fI��;S
���f"�<m]MJ4�Px�ڤ�S�<c�l�Բ�'��P$0��4M}�����h:�
���U̓i,�6�M���<�3.?�|Ϋi<�.�sn;;�Z�X�ZL����o�����4���*��Q���y���!˼��@�
�쟁]�K��M���U����3m�\@J�����\�' f�k
�<G�G��(r��n?��v-��`/B�֦ =�r��Aɕ���w��ִ�aV*��렬[�P�A�i��\�� g[�`5E����Bإ�s��Mr���L�yەAZ{�
(�)�l�#b);�%��[��i�@�(-U��|�P�W*R���c�2�������7ջ�X�/'���y�;���Q%w�e�R:����X��2��Y*D�y��l<Y�s
0�]
˖��D� D�J���4{��kq�m�!㳢�z��/���^|4h�ݠe�2J��k�m���,?a�`D=�7�
j��]�~��
+l{/{8
6ѱ���O��*�>���2J5��m
"����(�gYZ���,��^��#���	6��&������r���
��2z_m9c��3�Qߙ����
<��i���I Sa��S�d�_=�/z�Q�Q�9������`�q�������
�!���h�y�g��E��i��{=�|ER�Թ���b�!V�����;����x��n�[ҫ6u��p�&�U�U���Y^<�v�"Z�	O˃�����+�Ǫ�8����*��<ϒi�
f|F iy��b�Hbo=a���
-j��a
p�N����$�B�#ۜ>Z>;� �
-6(�€0VlU�Un����`��Tv}+yU�y���.��+d
����v*�}�ιg�hD\��#T5�]�D-������b]�`����|G5A�w�uu^Ǥ!
r�5����6n�2)%UI��C�������8�\�}P�ۈa�y�*Ǟ��S	��
p#Q�����p�G��;�?s+�1O1
��
�s��%.D��F�S
�E���
v���6%x�[�/�.��U�q9�V��:�(��3���M�<�8b�����6C�����;��|��X`!�!�)�%
�A�#� �K?�y�aQ�p ϡG
`��b߃�E>������ ��5��vV�E.�T��r�]{�_q�R}T�I�D�}�śk
�

DWy�o�Ǚ�2��*X����/����]�ϟ��M!\������{q$ϫ�M�i"��x�i�^�"%hu��VU|��E,�
Q��r�m��^�Ѭ@�4Z�(*;`��ͫ�v
A�f��Bz$�dUe
t�R�LQG�v�
�B�
-endstream
-endobj
-2150 0 obj <<
-/Type /Page
-/Contents 2151 0 R
-/Resources 2149 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2163 0 R 2133 0 R 2134 0 R 2135 0 R 2165 0 R 2136 0 R 2137 0 R 2138 0 R 2167 0 R 2139 0 R 2140 0 R 2141 0 R 2169 0 R 2148 0 R ]
->> endobj
-2124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 564.677 334.727 574.604]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) >>
->> endobj
-2125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 528.713 327.524 538.64]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) >>
->> endobj
-2126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 492.748 482.861 502.676]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) >>
->> endobj
-2127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 456.784 495.155 466.712]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) >>
->> endobj
-2128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 420.82 481.008 430.748]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) >>
->> endobj
-2129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 384.856 496.5 394.784]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) >>
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 348.892 473.247 358.82]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) >>
->> endobj
-2131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 312.928 493.302 322.856]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) >>
->> endobj
-2132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.387 276.964 513.996 286.891]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 266.09 170.255 274.936]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.496 193.086 330.623 203.99]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) >>
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.829 193.086 415.426 203.99]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 193.086 513.996 203.99]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 181.131 144.243 192.035]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.399 145.167 319.045 156.07]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.153 145.167 407.75 156.07]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.583 145.167 513.996 156.07]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 133.211 168.601 144.115]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.989 86.288 328.193 97.192]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) >>
->> endobj
-2140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.892 86.288 417.489 97.192]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.583 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.707 168.601 85.237]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2152 0 obj <<
-/D [2150 0 R /XYZ 89 770.89 null]
->> endobj
-134 0 obj <<
-/D [2150 0 R /XYZ 90 721.073 null]
->> endobj
-2153 0 obj <<
-/D [2150 0 R /XYZ 90 630.3 null]
->> endobj
-2154 0 obj <<
-/D [2150 0 R /XYZ 90 578.554 null]
->> endobj
-2155 0 obj <<
-/D [2150 0 R /XYZ 90 544.613 null]
->> endobj
-2156 0 obj <<
-/D [2150 0 R /XYZ 90 508.649 null]
->> endobj
-2157 0 obj <<
-/D [2150 0 R /XYZ 90 472.684 null]
->> endobj
-2158 0 obj <<
-/D [2150 0 R /XYZ 90 436.72 null]
->> endobj
-2159 0 obj <<
-/D [2150 0 R /XYZ 90 400.756 null]
->> endobj
-2160 0 obj <<
-/D [2150 0 R /XYZ 90 364.792 null]
->> endobj
-2161 0 obj <<
-/D [2150 0 R /XYZ 90 328.828 null]
->> endobj
-2162 0 obj <<
-/D [2150 0 R /XYZ 90 292.864 null]
->> endobj
-2164 0 obj <<
-/D [2150 0 R /XYZ 90 207.94 null]
->> endobj
-2166 0 obj <<
-/D [2150 0 R /XYZ 90 162.043 null]
->> endobj
-2168 0 obj <<
-/D [2150 0 R /XYZ 90 103.165 null]
->> endobj
-2149 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F79 234 0 R /F23 168 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2206 0 obj <<
-/Length 2287      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�6}�W�-TU @��dq���LO����ݥ�DHbE"�����s�p���n)�5.�0�
�{.�G�
�r�����]�Gɀ���H�Q�$��ţ/DD�'c���z��ͻ�bL����j3���xB9�ޤ�*�\���j�L5��"̅������7?���yC`|<"v<�B1�on
>�Q
ſ�0�=�J��>��Gn�y��黿v*r$`*�S!
#
-�!!�;���e�LKkdd�Y�l�����Vn0]��c���
n��D9�a�(���ӷF _��N�
t#%����P/"��� ���V������I��JQH���#�����a�a���r�z���ۮ��B�4�jL���Pa�(��t��eUD�I��y����ヽwp�0������Ί
-����+�c�.[o�
�v��<ɿ=<��QcB�lTZ&Y:��s՟Ƅ��',�E%Hr��X��.ُ��L?<��rk5M�>Q�;��
ƈ�-��J�co
�Ρ�7�2�����@zdxÑ�fk���� �>
-� ��x�H�]>
-����6Y�@cN��1'�rU�w�j
-V�c�.�s��4�1Z0�IaC�*�$�+,�n@�?���sk=�.��E�Zv����!�j���2�V �	��
_����g�L�
����VԾ
�y ��|?�%CX6nLc�ޢ�
	�
ێ�9���Q^WM�
-Q@�el��y�UV:W��q2W�<�ϷE]>��
-o}��$|�q��b�^3�%�%��]�pc�ݙ
��ЛS��
S*��n�!�Z�-]�9D��N�z�î�
2�ϥ.L1`�O�7�<�c�N⨪7����(��CH�'�����R��lBh�J\���C#�Zn��݌=�
-[^��-u�ƕe�Q���d��OJ��Q��6Z�����n㵊J�Ig	q/l3�ǀ���q~�n�Ϋ�'�*rN�����=so�8Y<�뚮��	�=���1����kн�n��燻}�&A��h�gq*~�pl���s���\�H���HԾ��E�fH@�
�1ks�ٶ�FC��*�Q�A98��Ƈ���JM��
-|ڡ��,Y$�o�)(�`�*�f���T1�S�����uO��~.�Vc�� ���S�%��l�NB��`G�]
�v����G�]���
h5�݀��᧱�^	]"�����J-��=���E�j�8�]	���61g� �U���ŭ-���,��*[��{������� *,؞�P�8
-�J����4����w�,��~쁹cމ\E�L��y�	#�{ә��Ɖ@�>��ZH�kb��cZZ�Y���G�]��`�_���v-���ѹ
�v��L�s`
�j��i����پ����KI,�#�RUSX��j$��˰��q��R�W�x'�{�3"P� �C��G �
���=���`��I=�@p�akҡS%�
U
��{@~��{
(���*� ������#B�H�P7�ƍG1�D�#���Ɖ���,p��������`
[Gڜ��
p�M`G�'b�Xv1�o/��byp=d��T\"��
�����r�Q5M ���Ϟ��֗I�h3�»6��b�����a�뤟���%GL�e��g�C�
-9�_PO�J�!+�c��)���uL>x�
-��od{7
a]2�
�%�.Γ
-8���dR���[�5��9h;�R�
�R�-��.u��v���?F������3J>F�Wcn����
��*ZO7j��@���Y��	U'V�u�Y�
_|&P�N9�/�������b*?����R4~�����v��ˁ<������ױ.�bz��az%��82�
-���(
�U"F��7X�Di�3���d%�&b���WB�?~����ޫj[�4���B����ϣ���F��K�O�+
�
� 	r*�"Q���
��t�C?-�b�b`��K��;2�fP;xe�,�*)u�W��u/IU�*�&��O xiU6��bwW$h��]�� �B���&Ԯ�^o�4�Cl��U��l�6�I"K�������-��
��h�4���;p�`���R-�.���?���)��f'��a%���|�

��
�κ�{['Ǿ���!���**^G�W�u��0��~��U���
���p��q�Ғ�fy}�{gs����r���J�Ed��{2+"���G[��(]n��ko?t��9G(�ߌ9�J��m�n����^�G=�*\�
-1���K�����AՇ0����4�hg^p�CmZUU��������h�&y���v�v8m'N.\6�’
����
�T;!�-��>�
4�
-endstream
-endobj
-2205 0 obj <<
-/Type /Page
-/Contents 2206 0 R
-/Resources 2204 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 2142 0 R 2143 0 R 2144 0 R 2145 0 R 2146 0 R 2147 0 R 2170 0 R 2171 0 R 2172 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2212 0 R 2181 0 R 2182 0 R 2183 0 R 2214 0 R 2184 0 R 2185 0 R 2186 0 R 2216 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2203 0 R ]
->> endobj
-2142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.229 685.228 307.902 696.132]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) >>
->> endobj
-2143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.841 685.228 395.438 696.132]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 685.228 513.996 696.132]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.676 673.273 301.732 684.177]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.226 673.273 492.283 684.177]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.79 661.318 244.147 672.221]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 613.867 239.724 624.771]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) >>
->> endobj
-2171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.539 613.867 350.148 624.771]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.211 541.468 288.661 552.372]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) >>
->> endobj
-2173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.582 541.468 403.191 552.372]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 541.468 513.996 552.372]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.412 494.829 383.245 505.733]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) >>
->> endobj
-2176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.367 494.829 494.976 505.733]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 482.873 208.451 493.777]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.951 446.381 340.088 457.285]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.749 446.381 457.358 457.285]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 446.381 513.996 457.285]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2212 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 434.426 190.738 445.33]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.037 386.975 343.059 397.879]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) >>
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.806 386.975 459.415 397.879]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 386.975 513.996 397.879]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 375.02 190.738 385.924]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.998 338.528 309.69 349.432]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.399 338.528 422.008 349.432]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 338.528 513.996 349.432]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 326.573 144.243 337.477]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.082 290.081 294.344 300.985]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.136 290.081 404.745 300.985]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.913 290.081 506.27 300.985]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 278.126 220.077 289.03]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 230.675 310.577 241.579]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) >>
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.393 230.675 421.002 241.579]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 194.183 324.804 205.087]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) >>
->> endobj
-2194 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.62 194.183 435.229 205.087]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2195 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 157.691 230.319 168.594]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) >>
->> endobj
-2196 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.135 157.691 340.744 168.594]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2197 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 74.333 235.29 85.237]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) >>
->> endobj
-2198 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.106 74.333 319.703 85.237]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2207 0 obj <<
-/D [2205 0 R /XYZ 89 770.89 null]
->> endobj
-2208 0 obj <<
-/D [2205 0 R /XYZ 90 702.236 null]
->> endobj
-2209 0 obj <<
-/D [2205 0 R /XYZ 90 630.875 null]
->> endobj
-2210 0 obj <<
-/D [2205 0 R /XYZ 90 511.837 null]
->> endobj
-2211 0 obj <<
-/D [2205 0 R /XYZ 90 463.39 null]
->> endobj
-2213 0 obj <<
-/D [2205 0 R /XYZ 90 403.984 null]
->> endobj
-2215 0 obj <<
-/D [2205 0 R /XYZ 90 355.536 null]
->> endobj
-2217 0 obj <<
-/D [2205 0 R /XYZ 90 307.089 null]
->> endobj
-2218 0 obj <<
-/D [2205 0 R /XYZ 90 247.683 null]
->> endobj
-2219 0 obj <<
-/D [2205 0 R /XYZ 90 211.191 null]
->> endobj
-2220 0 obj <<
-/D [2205 0 R /XYZ 90 174.699 null]
->> endobj
-2221 0 obj <<
-/D [2205 0 R /XYZ 90 89.319 null]
->> endobj
-2204 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F91 1181 0 R /F92 1180 0 R /F93 501 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2258 0 obj <<
-/Length 1931      
-/Filter /FlateDecode
->>
-stream
-x��ZY��F~�_�[��5��3yJ��
k�RyX�T�LEî�_���C��T��
3�=�_�������n~�܌_9��gSۘ�
��!ˆ��x������lφEr��������{���������A�z
9��n
�`#��7F�s�'9ie���ui��|�����U��.�f��5bbD��!��/�#j������w�&ˇ�5Hg�h����:�3}=�Ǐ��ܱ(��k���^ƫ()�4Q�IA�:���e�D<��&Q�JΟ)�661
Fƃ8�zXH7_h1�<�n���w�dy��Tr:��,�~N��,
-�$����w��ڟ�m��ً�lB-��Hb�E��0�<K��fu��Yԥ@������b)�%r܆�����Oz���?D
�S�RG1�Kb���k��R�pc-�w�{8�A�?�KC_��$ElD�j}
�5x���*��F��@��Tu��U�ibZ�۬�B��}�y�aV͉���P0<@8H
-����!�����y۬�ݙFD����^#��Oģ|ˢ�T��K�H�׎<�]jFa�0
�|y����y��l	
i;�W^��v��]�X�j���$?2g��Yğ1��� ����|HȠ�}�umd6��W��*D�E�^�wN4�
��
4��
R.ۨI�����jb2���3-@��\��%
��u
$��2�Jn�H�߂m0>b0�A`�&U�̔R�(��]E8,�e
�<�
�I�>�Abj
�n�L\l��'���lH����j�eZVRI�ri��A���qCR2�ŋ�i2����u.�
����ä�w�����b��N�@8k
��N�*��fu=�s<D
z �.b.i��>�
��8��Â-
:	{�D�G��=�#
�e��o�n��B�у	_Ŗdcz[3ӿWp,���/��u�.
U��"l
�E
PO:̘x������a�r�����ڃ�a�,6�]�f�
�(-J�К�rBM�gi"�UA�L
-U�U
$��t+�K.u���^�2��G����֖=�2(�w��������Y�
-Ao���c����
1p�#f#k
ܦ���ͱD�$����p}��tY�: 0�ۈ�m�Ȣr�L���?.����B@�(:��+�8&
-�㻫�
/s��Ob
-.*7��
^!٩���FC�iD6i���3	�F]ӌ�+�

�SP͙���LŸ�
�5e��cb��&��3�V�s
핯

8ڣ`鿇�rqu6	LF�y
*Ej
Q1���톅&[�B]#Q�|�u�Rp��ʼn:�Z3��
ҫT��n�{�ѩ$�7Һ��l6BxΣh�>
��b�ҙyǍB����B�Ń3��
њ�sۥ���c�ǐ�6<֟y\W��5���.�
���z���pZl��y���oad9g�7�����l�O��!�
-���ܤ����y�D,9��vb��V��.�����^�2n�
�Yr.f�n��/��ʃj�
c�a��T�xWVH��N
-ut�XF�N3��x�Bq�Un�?݉��j��&{�.��y�lZM�
�+e$U��^#
l��GYvZ��2�/�:G=9�I���A�=8���M�_2g��y�I�Փ�C���ϕ�]2�E}�垏���x2$\�\�v<
-d=��Z�;��|���n:��	��%Ϫ6��2	��G�gvKq:�D��Fųz�o�t
e�����D��}���dSz�s\�ӂ�i�{�aQg
�TX6,c��Q!�� e�"����B��!�>�0&�����)(���t�����޾�g����í���O����_C���e(
��E��0��A���RV��N�^՗�n�� F�CQ�L�
-�`�U��$�Q��.TK[碦
e%ï�g?��OOO((P��Y�b>L��-�لDSkb.�Kc�4���W���-=�����
-endstream
-endobj
-2257 0 obj <<
-/Type /Page
-/Contents 2258 0 R
-/Resources 2256 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2080 0 R
-/Annots [ 2199 0 R 2200 0 R 2201 0 R 2260 0 R 2202 0 R 2223 0 R 2224 0 R 2225 0 R 2262 0 R 2226 0 R 2227 0 R 2228 0 R 2264 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2269 0 R 2242 0 R 2243 0 R 2244 0 R 2271 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2255 0 R ]
->> endobj
-2199 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.08 685.29 365.681 696.194]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) >>
->> endobj
-2200 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.471 685.29 457.068 696.194]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2201 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 685.29 513.996 696.194]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 673.335 190.738 684.239]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2202 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.279 673.335 313.636 684.239]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.519 627.755 370.755 638.658]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.984 627.755 460.581 638.658]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 627.755 513.996 638.658]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 615.799 190.738 626.703]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.478 568.474 337.394 579.378]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) >>
->> endobj
-2227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.582 568.474 423.179 579.378]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 568.474 513.996 579.378]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 556.518 144.243 567.422]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 520.151 274.593 531.055]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) >>
->> endobj
-2230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.408 520.151 359.005 531.055]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.217 520.151 472.2 531.055]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.953 483.785 279.315 494.688]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.978 483.785 364.575 494.688]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.693 483.785 513.996 494.688]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 399.775 267.409 410.679]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.225 399.775 377.834 410.679]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 363.408 236.815 374.312]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.63 363.408 347.24 374.312]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.685 328.786 252.621 339.69]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.016 328.786 367.625 339.69]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.139 328.786 513.996 339.69]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 316.831 129.857 327.735]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.543 280.464 295.638 291.368]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.891 280.464 405.501 291.368]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.699 280.464 513.996 291.368]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 268.509 156.417 279.413]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 196.455 306.124 207.359]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) >>
->> endobj
-2246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.94 196.455 416.549 207.359]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 160.088 305.018 170.992]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) >>
->> endobj
-2248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.834 160.088 389.431 170.992]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 88.033 247.485 98.937]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.3 88.033 357.909 98.937]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2259 0 obj <<
-/D [2257 0 R /XYZ 89 770.89 null]
->> endobj
-2261 0 obj <<
-/D [2257 0 R /XYZ 90 644.732 null]
->> endobj
-2263 0 obj <<
-/D [2257 0 R /XYZ 90 585.451 null]
->> endobj
-2265 0 obj <<
-/D [2257 0 R /XYZ 90 537.129 null]
->> endobj
-2266 0 obj <<
-/D [2257 0 R /XYZ 90 500.762 null]
->> endobj
-2267 0 obj <<
-/D [2257 0 R /XYZ 90 414.73 null]
->> endobj
-2268 0 obj <<
-/D [2257 0 R /XYZ 90 345.763 null]
->> endobj
-2270 0 obj <<
-/D [2257 0 R /XYZ 90 297.441 null]
->> endobj
-2272 0 obj <<
-/D [2257 0 R /XYZ 90 211.409 null]
->> endobj
-2273 0 obj <<
-/D [2257 0 R /XYZ 90 177.065 null]
->> endobj
-2274 0 obj <<
-/D [2257 0 R /XYZ 90 102.988 null]
->> endobj
-2256 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F56 167 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2284 0 obj <<
-/Length 2013      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�T���� ��)�3[N�UgR98.G�F�H���f<�~�E%�׮\� 4����

�
#
�{�����6őDRP�o#��4��
x+��q��\��8>
��7w�fI��~ؗ�u�?.W���MՕ�6ߔ��]�-Ͳ�2S�g,|��������.��#b��(͢�a���
-��1ˆ�,z6�QB<��/��ة~�iL�bd!) A�I�Y�~��j��ޯ8���Mk�G��;�@[��������R�㋩4��w��훷?�o7���H+A'�.��̮
-tO��H���2?��k�6u����9�>�z$��?2�@
�h-V$a(�

��:w��U:��4�EI��G�"�B�]m1��
x
�SY�a}ꎧn�
!ei虙�E&�24k�`t�z��#����
F�
n��j�lvy3

����� 
=b#
�
�_9�}
���ެ�߼+
;
���qIp�*X}���,�='�y�6K��}U�}6K��ewj�^����a�|�
-�O?�
S�I� 9�t�n�Z���$/��$�8\ F�I$8�tb��4%HJb�5��;�1��hmYuy�ꞣ�3H d����	 lFAt��Cr2AYʿ*��u^|
��o,�
�Q^�%��XJ0J�Jo��/	%ݿ$��P�6˄��aNT��T\���5�W��x&�U"PB��{D�����.W��@_��QGc�yH0��X���e��c	^e��W
= ��Tm�7��; ��G
�-W"�n1�|w&���ș0�yѺR<���٧)+[]pt;
�ik �%�lQ
?�M�� 
�3�D�ˈk�uP�~a�.� �D�i|2�"�� VR:
-u�mTY����*�F~?��[�!�zs:x�:;�Q��}�5{���H�GpֺP �5'腚 ��et��fJ
8�<��Q
g|A(J�Ox����
#��:�5hfH<Kev�1�b)JR�aF���g����&�������͇@ �B+�ܱ�v�o����w<V	:v�KN�
g(�V߱���h,��t����v행�
�q_��C;W��Zq��z�ou,���e�fp7w��E�:l�
�a�%�}W�ީ�N��C���|��r�`�?����Ô��L�;�xlϛ�Pa����Ò��<~���t��ؤ�;׬ZU'�ϛN&�F�{���#��Q�'	��4Mgs8/�i
�k�]


���>��J�
��~N.s��\�
s�\?�M;s.��I��\�]u��P��'�x̝�d�p��8�AO
-
Q�	���S�B���+f��>���YIAy��J[�V*g�n0,Ԓģ��)�000�q���bL��>�:�&ɟ�ň3�6UM����pʈYl��~����U��`
�h��D
�N��6./4Z|t
�5�A=�40�R�
�����+5!
�4܄z~�Q(�@Uz{��>	�Y9ݴ9,��iw�&�T�P/�MR��	�m��T!x�p�a���n��'0�
d`W޹���1�ܱ)m�����0�/� S��*�c'W�&$^M�Y�;��
 浞���	�y�H��)��~(u��sI�">pH�e���<����w��
1�\Xr.��J�����K��
�d�7
06�H3�
- ��H= �T�����_�f
�4 BW��v�`a:���DX@���Q�V��5[�Y��w�n+�||�!��C�b�@��B�
���_8�� |c&������h�4؄�����IzV����PڙnW�n��V����
�͝�UUaz����Z�B�[�e�P�.�������J�GM�^��7ӥ�JuЁ�_�k�"��4M���sb��.�ϸW�{���lJ��:�t�s��3�1]ztt��P��z��+�&�_ߪ�&o^���v�ۼz<�n���k�~m��K���n�O^�L�	�4	��и�Lb���'�/e�a=�Gԏ~Z�vQh��ޮ����<??�M�N�:6Hu7Бݜ�� ��\������b��d!ӷy�<�;�Y��cr�?
-endstream
-endobj
-2283 0 obj <<
-/Type /Page
-/Contents 2284 0 R
-/Resources 2282 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2251 0 R 2252 0 R 2253 0 R 2254 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281 0 R ]
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 694.785 250.802 705.689]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) >>
->> endobj
-2252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.662 694.785 421.271 705.689]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2253 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 655.488 255.783 666.392]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) >>
->> endobj
-2254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.123 655.488 415.732 666.392]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 616.192 261.87 627.096]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.686 616.192 372.295 627.096]
-/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 576.896 256.331 587.8]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.147 576.896 340.744 587.8]
-/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
->> endobj
-2281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2285 0 obj <<
-/D [2283 0 R /XYZ 89 770.89 null]
->> endobj
-2286 0 obj <<
-/D [2283 0 R /XYZ 90 713.103 null]
->> endobj
-2287 0 obj <<
-/D [2283 0 R /XYZ 90 673.806 null]
->> endobj
-2288 0 obj <<
-/D [2283 0 R /XYZ 90 634.51 null]
->> endobj
-2289 0 obj <<
-/D [2283 0 R /XYZ 90 595.214 null]
->> endobj
-2290 0 obj <<
-/D [2283 0 R /XYZ 90 536.09 null]
->> endobj
-2291 0 obj <<
-/D [2283 0 R /XYZ 90 459.723 null]
->> endobj
-2222 0 obj <<
-/D [2283 0 R /XYZ 90 435.454 null]
->> endobj
-2292 0 obj <<
-/D [2283 0 R /XYZ 90 435.454 null]
->> endobj
-2275 0 obj <<
-/D [2283 0 R /XYZ 236.688 333.345 null]
->> endobj
-2293 0 obj <<
-/D [2283 0 R /XYZ 90 311.14 null]
->> endobj
-2276 0 obj <<
-/D [2283 0 R /XYZ 184.963 77.486 null]
->> endobj
-2282 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F90 474 0 R /F99 2094 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2312 0 obj <<
-/Length 1877      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~�� ЇR@�ޓGZ�aJ
۵�����R$KR���;{�")ڑS%}�������7���r���ѫ��񩏝�
����	���	�΍�y��ӷ�DB6����ӓ���vt2=���'��_ ?p�룛��Y��[#ν&Z;�2�M��?��W!b����"6����hLv�<�]N.g�ňn�)��Y�%w#�]iH>`��<K�j��RR
��� 
�Z�<�
Q炄"�54p���6A%5�M!������Rx-�1�
a�;cNP�3��Z�"\YY�[+�aPh9�i[�
""��s*�Q��'ò�զH�te^���Ju���*���jS"��ڊ=
�	 刂h��+�]�J�����I�|
� aA����3c���Wg'�f�ӗ��׳��'/�'�4 !�	`dE���1��Q�zЊT�"�K\��4�ԃ�Q�0�#�F@��‰�(l^_v�]h�A<P�y��4]A..��w��N�
Y
-�*�-�Ӏ0�[����1˫x
%֌Y���,E��c��S O��Y���E6߬e
-��
fi��Eb{��,�����x�����Le���r(�uO�e�$و
-���R}"_t�qhxq�b���Ku3����VF
Y��p�m���"�@ֲd

CԱ�bw�psm�6;�rVE��-z#��\J
jd
-K�6��ꌇVϣ ��s�ث��&���ʞ���F4o)\�8f�p
��G�Y��y�Y؋A��R
-��-���#HMli��k�_ �
-����@4
+|SEc�എ�(��
դh�1>�*Y�*���v1*d�-�q-ןd��8���ׁN�)���c��i�J��?����fyTDkY�|v�\!J6��AB��}����z��e�U�P	���M��ٚ����E�E
A�T�T���!J�F�bı��A6����ũ����C^��p���+Zq�3ߦ^�l 7
vC��
k��S����5Z)$kJ��
�M�q���Ar�2sZ Zۘ�0����9�DАD��V�y�3
^�C̯Nf�k�3��Y�#�]Pڈ��Q�Y�T&$|���@��Q��Jw�P�!�uj�
G=n��=z�ԛ�W�!�u<�
�U6e����Q
B�hB4�Y;Aȣ��
/­U'i���/6�
��n�f�
 
-A���C��� �fy��~<�`

-��þ�A)�8�1��-�.յ�!qD��6Uي��.M�k��Zd�jQOl����.�,c�	vK.�i��I]�vb
	�8�sb\Y2Z�
t�(@0R
�A�wp�t
�U|'��8��
@��]�
BD ���1������=��l%S zH���������ķQd��z��X��֢ �jM�{fKݤg
C���r1$�[��:�dd�j�\��h��Ћ��4B)~@H4�~
<���s��Q9���b�οG��6y$j2N��٧2�ݨ�7:�0�M�o@�^'���C]�u{l(�vQA��z_�u#&0`B��
�m�
9
-|�
Еd����u \)m��'����P5ݨwBUj@���Q��
���� ��������/�UD�5*m�jJ���Ӽ�U'u\}#�y�Z�/��C���������VZCX�C�Y`�g�X��w�����J&w��r�v�ݹ���q�/��LMS��1F
�jN�d��ʢ�<?D>&����k F�
����/8�S����K��H }k,ɘ{�{�b�r0�d��[�("��,�TD�g��ڐ�E�j���Io`	K�KY��Ƅ���.J7zd
-�T<1C��t�j�ޯ\��0w�e]�
���O��Q�V.ʡ�or�mU�/�����ѼD�4�
W���w��-B8��	�Gp�u�'] C���:j��m;�
�А
-endstream
-endobj
-2311 0 obj <<
-/Type /Page
-/Contents 2312 0 R
-/Resources 2310 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2295 0 R 2296 0 R 2297 0 R 2316 0 R 2298 0 R 2299 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R ]
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.368 404.402 320.707 415.306]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.97 404.402 457.149 415.306]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 404.402 513.996 415.306]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 392.447 179.554 403.351]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.108 392.447 325.834 403.351]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 308.606 274.055 319.51]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.87 308.606 411.05 319.51]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 272.866 277.372 283.77]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.232 272.866 474.412 283.77]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 237.127 282.354 248.031]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.693 237.127 468.872 248.031]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 201.388 288.441 212.292]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.256 201.388 425.436 212.292]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 165.648 282.901 176.552]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.717 165.648 393.884 176.552]
-/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2313 0 obj <<
-/D [2311 0 R /XYZ 89 770.89 null]
->> endobj
-2314 0 obj <<
-/D [2311 0 R /XYZ 90 721.073 null]
->> endobj
-429 0 obj <<
-/D [2311 0 R /XYZ 90 555.222 null]
->> endobj
-138 0 obj <<
-/D [2311 0 R /XYZ 90 547.752 null]
->> endobj
-2315 0 obj <<
-/D [2311 0 R /XYZ 90 449.532 null]
->> endobj
-2317 0 obj <<
-/D [2311 0 R /XYZ 90 323.404 null]
->> endobj
-2318 0 obj <<
-/D [2311 0 R /XYZ 90 289.687 null]
->> endobj
-2319 0 obj <<
-/D [2311 0 R /XYZ 90 253.947 null]
->> endobj
-2320 0 obj <<
-/D [2311 0 R /XYZ 90 218.208 null]
->> endobj
-2321 0 obj <<
-/D [2311 0 R /XYZ 90 182.468 null]
->> endobj
-2322 0 obj <<
-/D [2311 0 R /XYZ 90 131.415 null]
->> endobj
-2310 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2341 0 obj <<
-/Length 2049      
-/Filter /FlateDecode
->>
-stream
-xڵY[o�~��p
*k��x�z�{��E�t��M�y�]�M�Beɕ���
�dɖ
I�,Q�p8��734�~
��~t�A� A��"�_	$K�6>�Q2��q���������X���8Tj����i�.��qx]4�Z�3e_��Bى�
"��4r��������#Z��]9�q0[�>��
�
-0��8ؙI��~����#|� � BZ�1���L��*���{-�Q��ö�5YYطw�l�VE��!P6�P�]�ț(+X(��V��|��Z;-U3ݤU�VM�ͦ�c��4�*����̱^8+��X�h
�>$��2�"F�	
9��*��6Ӻ���qh��
fڛ�;��38e�7j�6j`��#��Ǵ�M"D���47Y��j��ύDmw�r��
9���q/�
�рB1I��\
�#I��N����A1%~���"᫝�Eg�$�aA�	X
K���WY��a6�S�v݃����I&
a"���
-3F���2�Q�_b���l���N�]�	����v�\��~��r��?^e�Ck��ahL��Z-
-z��pH�fϜ�ñ}+ ����	~̽�8��[!�78! �:�+�G��}>4�
K�yYx*t(�8"��Z�pSvY�[�e�?٧�������J����vҪ� �,Ksc3�����
�%ă ��O�G�dV�[C<^@o�^N/�H�$N@\�0���3�e=KD
E{Ĵ~���X�Rn\��8=5&N�����2�H�
���n��V�1s9⏭����>���zn/���B�v�<$?ҮRͶj�8�Յ��3AK����Q
ђD�P:�(��<@ԝ�WkY����F��7��wwc��_���7�
��\������_��� ��alf�!��$Ģ��"G�ɵ���6N�bV�7��
2�^��Y
e�b�
'�~@I��iVY=�������RY�X��p��1�2~��e�CH;2��N�,c�[VH.�z��y�H��
؆�)

���pg����*T���U��"����.+��41�շ=�|,�
>c���P���>���J�sw�U[HX�S
y'�GxĿba|�-_e:
-��8���{�W�
W��V7���~͆x�� a�8����o}���z?�GH&-��%4~B����=yq�D�����	��KM"
-s�'���>cR���c�(���i�V+�x[s��k�~�y��=��	>A�2�a�UK�ݙ	R���+�����Y�@���8)6�7}�ͱ8�:�k��9�k
��'�<b�D�'�����1z
+�b%;��~%��ع���/����Z�� Kźf��N�
�n
��"��X
m�`ە����>
�@�"�4��LB�
��V?��8��[��9��Oд�e�)=РO��	�����!��/�? �$��j��C�ث��^..��;��%�f�
�O^ �ad�O�	��#��λ�`��[�C���s��'\����H2@�R�PJ�
_1�
�G !y{���w���U|��n��|�a)�Nlf����1{��f@�'�+��>/g��
���
�m����o3d�lF��-Z�����k�q$�n�7�?��S���'԰o��^
D
#�B0

�_>�oR^	�ζ���Ba�hL�i�~�0�l�:k�Ge�tc��ߥ�#�v=8ă [...]
-��SX���>��,g^��ڪ�����Z7Zʟ�K�7��7�>vZ at s,}�G}1����#�e��H0�Abճ��f�sp��U�ҍ��N7��}Q�n�����2���7�>�<Tc���n^ }1���j�����\=�)�ơ˶W�l+p�:��;��C�/�K�1@��"	���l�a~�I�"}�o���
o��i��Uj��dUZ=ٗ씛�Xnӥ[}о�
��Fw͵]�KZl
��7
��zKU��
�A�:���0
?)7f-�{�~
�nr.�b�R�SVM����j�ۡY��E��P�\Al_
_?���4-�Y��b�Ҵzp��Сa`|䧿 O|�
-endstream
-endobj
-2340 0 obj <<
-/Type /Page
-/Contents 2341 0 R
-/Resources 2339 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2324 0 R 2325 0 R 2326 0 R 2347 0 R 2327 0 R 2328 0 R 2329 0 R 2349 0 R 2330 0 R 2331 0 R 2332 0 R 2351 0 R 2333 0 R 2334 0 R 2338 0 R ]
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.008 254.179 265.925 265.083]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) >>
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.827 254.179 392.136 265.083]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.583 254.179 513.996 265.083]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 242.224 183.987 253.128]
-/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [131.75 202.937 266.763 213.841]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.407 202.937 392.716 213.841]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.583 202.937 513.996 213.841]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 190.982 185.631 201.886]
-/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.965 151.695 282.816 162.599]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) >>
->> endobj
-2331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.676 151.695 410.985 162.599]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 151.695 513.996 162.599]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 139.739 199.488 150.643]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 100.452 229.835 111.356]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) >>
->> endobj
-2334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.65 100.452 350.96 111.356]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2342 0 obj <<
-/D [2340 0 R /XYZ 89 770.89 null]
->> endobj
-2343 0 obj <<
-/D [2340 0 R /XYZ 90 721.073 null]
->> endobj
-2323 0 obj <<
-/D [2340 0 R /XYZ 90 704.169 null]
->> endobj
-2344 0 obj <<
-/D [2340 0 R /XYZ 90 704.169 null]
->> endobj
-430 0 obj <<
-/D [2340 0 R /XYZ 90 406.672 null]
->> endobj
-142 0 obj <<
-/D [2340 0 R /XYZ 90 399.802 null]
->> endobj
-2345 0 obj <<
-/D [2340 0 R /XYZ 90 300.648 null]
->> endobj
-2346 0 obj <<
-/D [2340 0 R /XYZ 90 271.705 null]
->> endobj
-2348 0 obj <<
-/D [2340 0 R /XYZ 90 222.246 null]
->> endobj
-2350 0 obj <<
-/D [2340 0 R /XYZ 90 171.004 null]
->> endobj
-2352 0 obj <<
-/D [2340 0 R /XYZ 90 119.762 null]
->> endobj
-2339 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F23 168 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R /F11 896 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2375 0 obj <<
-/Length 1801      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��Wpr)5�x��-M�S7qcuzH2F�$�ɐ�
��.
�H�ۉ��"J ����-v!�<��2�y::;��HR�M�^���GHH���>�2
����
�$,2��޿��y7���Fo���#��G�z��ЛoG?co�o=�Xz�f����s�]�~a�ʱ�QQȖ�K�Y��H ������hS��>N�~�VnXkW���̄(�~�ofWW��	�Pj�.[�Y��~Q�,[��J>aL�I�)�;h���G�0��YZV�T�∟'���)Ϗ�M��zOLlB�e��(����X$[��I�Ϊ�\u�9;��)%"��qC����8GQ��ق��#r/:�@�HJ�WM�DךH�q��H*U�'L�2�W(Z�Ga��e'tĂ0�(S���ef�gK�Tn��nI�v���#kG���[UղJ�u�ҹ:"��F�1
|Uk�
������ס
0�3�YTOD��޻��	Ӽ�7�x
� ?8�G��EiG��=���S2�hp?#x�/[!�]�X6� [...]
-��a�m���#}��P�/Z��'C�E�a"BD� �`�D���1 7}j
-L�z?L!�UG(��E_��|B��'O@���<�G
F�0y8F��G�a�ȣ�9�0�'�~�&����4��:�fDS�̨�t)���(�'�)�i�t��#ƌ���5�h�e�d�S��v�8�#N�Лp�cV�E�荒��
-
���t^A}R�j�n���

��?R�QW.%�,/`�!w��zB"jq�

-}J���lB�A`;�j�C�D6��ۑr��� k H�!DY-��ou�3�BAA�9m)g����<��|c��Կ$ �{L\{�����|| 08�9�ȓ#�[ᮒ����p	bA�?'��!~b
��#A4_C�
C
�m
���Z���CI���(��m��d���+�p�UU�b�`�yg�9n����t�N���\�F�5u�H�vEZK�I�!����Q��6P��w6]�"�O��x��<If��6�7�+�#i�A@{|�|0<i��z��k0�E>vI�x�
��>J��c]b4w��Py��tH�n§M~��]�	ѵ������4�!񔨒��
�K�����=


�e1��϶C����I��/�uBa u�D!v
n�4!��S �^�*N6uZ}��y����Ð`}9w]�t
b�.7�|L{U
a�_6U�_��	_�T���( Ɏ�&�
龦D�a�O�n��7 ����7�}Q�m^d�D�I��Ӿ0��RL��v[���¡�٭�Q,�&$��Ȑ
���rC�}��s�d(d�H(�$��0���uu���m��hS�%��g� {��_����`^��n����6F��!�0ݨ]�{5�{6*�IT�L��U���
���ΑسΦ�N�"��'2h�J
LM�S �.]T�~h�nU�^����Z-��!��W�`U h�0�2n
-��?��2A�7 ����:ӈ;Ҙ��0��z�1b�����v�~�˳���")��K��ŷ+����gA�9��k�c�_pO7��4��H_�Cq������x`Q ��Cq�}��Θﮥ��BF�Z�ؾ�L�qqg��S.�t��Wn�E�	0�G���4�J��8ݙ
Nx����%��
�p��#ǥ�kU7
�{��_uޥ-�(��zw]U������[4/�.M�%����^d/�h �&�,��mV(kC����$��8���:
-endstream
-endobj
-2374 0 obj <<
-/Type /Page
-/Contents 2375 0 R
-/Resources 2373 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2335 0 R 2336 0 R 2337 0 R 2378 0 R 2353 0 R 2354 0 R 2355 0 R 2380 0 R 2356 0 R 2357 0 R 2358 0 R 2382 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2372 0 R ]
->> endobj
-2335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.097 692.348 308.401 703.252]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) >>
->> endobj
-2336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.392 692.348 436.702 703.252]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 692.348 513.996 703.252]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 680.393 179.554 691.297]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.829 636.224 239.344 647.128]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) >>
->> endobj
-2354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.068 636.224 362.377 647.128]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.797 636.224 513.996 647.128]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 624.268 221.595 635.172]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.618 569.14 233.531 580.044]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.044 569.14 358.353 580.044]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.797 569.14 513.996 580.044]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 557.185 221.595 568.089]
-/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 457.531 258.185 468.435]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262 457.531 379.309 468.435]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 418.011 261.502 428.915]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.362 418.011 442.671 428.915]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 378.492 266.483 389.396]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.823 378.492 437.132 389.396]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 338.973 272.57 349.877]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.386 338.973 393.695 349.877]
-/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 299.453 267.031 310.357]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.847 299.453 362.144 310.357]
-/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.557 74.333 500.327 85.237]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2376 0 obj <<
-/D [2374 0 R /XYZ 89 770.89 null]
->> endobj
-2377 0 obj <<
-/D [2374 0 R /XYZ 90 714.099 null]
->> endobj
-2379 0 obj <<
-/D [2374 0 R /XYZ 90 657.974 null]
->> endobj
-2381 0 obj <<
-/D [2374 0 R /XYZ 90 590.891 null]
->> endobj
-2383 0 obj <<
-/D [2374 0 R /XYZ 90 473.938 null]
->> endobj
-2384 0 obj <<
-/D [2374 0 R /XYZ 90 436.441 null]
->> endobj
-2385 0 obj <<
-/D [2374 0 R /XYZ 90 396.922 null]
->> endobj
-2386 0 obj <<
-/D [2374 0 R /XYZ 90 357.402 null]
->> endobj
-2387 0 obj <<
-/D [2374 0 R /XYZ 90 317.883 null]
->> endobj
-2388 0 obj <<
-/D [2374 0 R /XYZ 90 258.146 null]
->> endobj
-431 0 obj <<
-/D [2374 0 R /XYZ 90 144.361 null]
->> endobj
-146 0 obj <<
-/D [2374 0 R /XYZ 90 134.439 null]
->> endobj
-2373 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2414 0 obj <<
-/Length 1727      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~��`�<����Oͭ�6���)ɸ��^
��l}���m�Y����L� ��9��
�O�����O��W����"I*���a/��� J�#�1�����Րb?O��T���U�
�آ��J�!	�<O��i���ʋqφ#*��"��i<Q�󵚪���t���2���y��j�i@�`�c�@A�M��ﱗ@��
F,
-�u]i�q��9��
~�^_	A�W_�y\��|�M�L�\>r�
�F�#���;,�oye����ʽ��ƅ}�r�s����}��B��]vF�g�r�	�!��1㉞�bU�t�8��x��
�BkJf=|���;C��%
q#1D�
�
�b���v$   
[����{]W ,`5�25��_�_50��B>{�i	=�z�j {`��n慈��
"!�{
W���mM(�
~YT`ց
����:˴�[�����
PP�@Px�n:x�J�Ii�"L
	xi>��
0��
�K{򰅅uw����s���ua��g,g��JK�Pl�LC�t㬩�����A�Sq �#P$DX����`S��<l��E��.���l4�kW/d)�>�=!{�3�B�}�X�O��1X����i�
K 2��$_ޚ�|ځi���M�m�$i3[_�`��HF�n����b28�_L��������,��c����Ã$۱�t˲�u���=0��D�,�t��
��a�B�De'� ����q�ss1%���4�=؅8dE���c��Tj(�[�T�V&�����_:e*{�Je������aG=q�a�A�b�s��� ��Fӝ�ϊ�+�qY�0�ܞ�%� (
-(��
�D2�V%�E�<,QsU��%���[��ȞXf�{��hyb.��L�A��%�>$HlV5�
u-<��&
Vש�}���
V�L*�z�6EY�Y҄r[��F��:��-�51nTV��������U\����1hC	]4C�Cj\{j6
`n#�'�p&]8��U�RL�>��ie
�F����&Z��S�i�
-�
F��D�zo��D�D�� �+3�f�L9�/��N!*�#v���9
0�Z��Sl�<��L�`��<B,6
�(C7Ɍ
��w�.a����r5���6�{i{
"!]�t�
�!<QwD��"l'�
�D�D��
��,�ؿy�t�f��f21k�
�$���H6L)��駓�&�)� }����. R�0:?��'�%QТ�<-�K�Qo��h�(`�[�eiS�:���<5!���rV"ȩ�Q:�C:�et���^L���Eﹾ8��okHc%����;�c�v�ZZ��4�c���Ko���͑D���`cA�S�`]k[�AE�cG\7뒖�ܓ��
�;�zj�>�,�:��(��(r���k�j��0
q.lF�59x�s�og�vcp� 4�0�ddshIs��
�e;cQ��s��fM_>"b���*N�js{5)ҥ��:pCgM����� �%��ś�t*��ps,���о��Ož�I��+��A+�jߌ
-	S����oDaޠQ ���������a��W5⋅���&Y��ߗ�".n��S�e��V�̶7w��.���(U�p(�&�n�k�&�?
�n�0'��
-1�xAu@ E��7�I3=���F��r��M�|]U�G����MJ���e����r_�m:!ND�e�0l�׷��C�Aᢾl�[� h�L�
-endstream
-endobj
-2413 0 obj <<
-/Type /Page
-/Contents 2414 0 R
-/Resources 2412 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2370 0 R 2371 0 R 2418 0 R 2389 0 R 2390 0 R 2420 0 R 2391 0 R 2421 0 R 2392 0 R 2393 0 R 2423 0 R 2394 0 R 2395 0 R 2396 0 R 2425 0 R 2397 0 R 2398 0 R 2399 0 R 2427 0 R 2400 0 R 2401 0 R 2428 0 R 2402 0 R 2403 0 R 2404 0 R 2430 0 R 2405 0 R 2406 0 R 2432 0 R 2407 0 R 2408 0 R 2434 0 R 2409 0 R 2435 0 R 2410 0 R 2411 0 R ]
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.291 633.995 386.001 644.899]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abcb586fdbb2eb01ec10c0eb941f4b7f1) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 633.995 513.996 644.899]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 622.04 240.541 632.944]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.22 584.646 473.043 595.55]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 584.646 513.996 595.55]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 572.691 330.512 583.595]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 572.691 513.996 583.595]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 560.736 240.541 571.64]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.278 523.342 381.627 534.246]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 523.342 513.996 534.246]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 511.387 192.402 522.291]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 511.387 429.869 522.291]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.079 473.993 377.826 484.897]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) >>
->> endobj
-2396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 473.993 513.996 484.897]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 462.038 192.402 472.942]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 462.038 429.869 472.942]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.377 424.644 382.529 435.548]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) >>
->> endobj
-2399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 424.644 513.996 435.548]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 412.689 252.167 423.593]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.672 337.147 414.488 348.05]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d) >>
->> endobj
-2401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 337.147 513.996 348.05]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 325.191 293.422 336.095]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.44 325.191 403.847 336.095]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.545 289.79 397.746 300.694]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) >>
->> endobj
-2404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 289.79 513.996 300.694]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 277.835 240.541 288.739]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.531 240.441 404.386 251.345]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) >>
->> endobj
-2406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 240.441 513.996 251.345]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 228.486 252.167 239.39]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.701 191.093 411.46 201.997]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.87 191.093 513.996 201.997]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 179.137 293.422 190.041]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.07 179.137 513.996 190.041]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 167.182 189.622 178.086]
-/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-2410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.557 74.333 500.327 85.237]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2415 0 obj <<
-/D [2413 0 R /XYZ 89 770.89 null]
->> endobj
-2416 0 obj <<
-/D [2413 0 R /XYZ 90 704.027 null]
->> endobj
-2417 0 obj <<
-/D [2413 0 R /XYZ 90 649.628 null]
->> endobj
-2419 0 obj <<
-/D [2413 0 R /XYZ 90 602.013 null]
->> endobj
-2422 0 obj <<
-/D [2413 0 R /XYZ 90 540.709 null]
->> endobj
-2424 0 obj <<
-/D [2413 0 R /XYZ 90 491.36 null]
->> endobj
-2426 0 obj <<
-/D [2413 0 R /XYZ 90 442.011 null]
->> endobj
-2429 0 obj <<
-/D [2413 0 R /XYZ 90 307.157 null]
->> endobj
-2431 0 obj <<
-/D [2413 0 R /XYZ 90 257.808 null]
->> endobj
-2433 0 obj <<
-/D [2413 0 R /XYZ 90 208.459 null]
->> endobj
-2436 0 obj <<
-/D [2413 0 R /XYZ 90 119.699 null]
->> endobj
-2412 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2458 0 obj <<
-/Length 1868      
-/Filter /FlateDecode
->>
-stream
-x��YIs�6��Wpz)5c�XI"��I:钤�:=��a�-E*$UU��}X���];��" ���-x�����w�o��˗!�$�
��'�r�D ����x�q��ǂ�&3{�������{�m�b9�4#�	{��(���f��#����È��ۛE�S��{?�y�ϲB"�q�(Et� c�e��<��
*��M�ؗw*�k�/w��N�܎���F�ul��H�[P��}�Ҽ�������b���J�n0'�߫RO\���p��rN"�ȯWE^��i�ʸ.��D���=����#����S`�x
^
-a�{:
��}�R�UL�DLD�YS�f`��͊��B��q<q�#6���!��l����5k�	^8����ޚ��Ci����AG�pBn7<W����T�8�}��+n@D�u�}��i��h��èо��y�)�^�y�&JU�nw�Vhp;Z�3I`���J�h����ȸu�#,D��<����<~
 ~��
�j%B!�`
��vRN|�	���zȜ��v�Q��hbQ
���'Uu�e���S��s6ଛ��v�C �
���%��jU?�kU�q��v�n���Vq{F>"��&���Ct
XH�|RAl�s�7������c�/�?��@��9`��
-��T���L��  ��	U�:��l�]��l�KnQ1�b�7BD��s��(�ʔ��f�� lv =�0q*; /v��J3�Cj�*��*�Tb�H1?��;��9�������q�>�Bti�u9j��O��L�esH��sU��8
��ƽ��k����d�۲،��-�ֲ̲
-��f���= �"��m��T
W}XH}W��PR���*��@��d
�P�Y��
������	��p�j�� �
Ck�ח����r*��Z�q�jd
{~���z�ƛX���MD���5P�v��;�S���V=0i%8���G��x�` "�R����eOu�jt�񺨛�s�d��r�q�^�����ܨr�C����كh��!�t,w��EcrH�����Ok��]~6�0��DP��Y��b����<�2f{�
�3���O
w)�<��Qux|�u=RΠ
��M�c
��mZ�3��dp"
�
pȐ�����Ҭ��]���t����5�z�y�zdq];���z)����,�۪(=.)�(��'��(�HW��I�O�X Pz@
-��E�O� ��cx���I<2.

�c0�+�4g�H0A������uq�u�������g����Зp�B�}r��b{h�16�h؊z� f����uB#Hv���G�	Vg�O���M���oLZ����5�/�'���.>K1q
�������}PSU麩� XǸa���>n6��0�ḫ��\`g��jy�*������bW�7�Y��R�v����|\�M�
-���D'̔@�

��Q�?�p����� �)e�i�Ox��h��۸�GXVM���(g�,�b(�;
�3�\J�r�/xJA�)���U��r�Χa�m ��O5�����֎���L��Ϧ�
��-���&�S��ê�-FG��ҕ�"Oڸ��
-�i���
�mӬRy��������f��9�S�K(�
"
���;����ete'uC碹���F�����v�/璂���-:��D�"{�&��p/����[�C$d��D1�5����r������czS������|���n��Q�
-�~�\ф�+��8��7�L��X٫;LbnA5Ƒn�r��RNVz��3ӕ��T�p[
-�������~�G�
-��t[���'�<�tD��B�@��
�D-LdHs�ܘv��_9��
-endstream
-endobj
-2457 0 obj <<
-/Type /Page
-/Contents 2458 0 R
-/Resources 2456 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2294 0 R
-/Annots [ 2438 0 R 2439 0 R 2440 0 R 2464 0 R 2441 0 R 2442 0 R 2466 0 R 2443 0 R 2444 0 R 2445 0 R 2468 0 R 2446 0 R 2447 0 R 2448 0 R 2449 0 R 2450 0 R 2451 0 R 2471 0 R 2455 0 R ]
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.035 436.688 476.806 447.592]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.297 332.737 372.995 343.641]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 332.737 513.996 343.641]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 320.781 214.528 331.685]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.059 283.972 407.858 294.876]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.628 283.972 513.996 294.876]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 272.017 226.155 282.921]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.136 272.017 470.267 282.921]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.477 235.208 375.814 246.112]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 235.208 513.996 246.112]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 223.253 180.776 234.157]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.112 223.253 392.23 234.157]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.093 186.444 346.828 197.348]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) >>
->> endobj
-2448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.63 186.444 513.996 197.348]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.933 174.489 336.051 185.393]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.57 137.68 363.709 148.584]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aacb1e10c50be6e9dd36e3aed93c7a222) >>
->> endobj
-2451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 137.68 513.996 148.584]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 125.725 214.528 136.629]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2459 0 obj <<
-/D [2457 0 R /XYZ 89 770.89 null]
->> endobj
-2460 0 obj <<
-/D [2457 0 R /XYZ 90 721.073 null]
->> endobj
-2437 0 obj <<
-/D [2457 0 R /XYZ 90 704.266 null]
->> endobj
-2461 0 obj <<
-/D [2457 0 R /XYZ 90 704.266 null]
->> endobj
-456 0 obj <<
-/D [2457 0 R /XYZ 90 489.268 null]
->> endobj
-150 0 obj <<
-/D [2457 0 R /XYZ 90 482.627 null]
->> endobj
-2462 0 obj <<
-/D [2457 0 R /XYZ 90 400.814 null]
->> endobj
-2463 0 obj <<
-/D [2457 0 R /XYZ 90 348.091 null]
->> endobj
-2465 0 obj <<
-/D [2457 0 R /XYZ 90 301.06 null]
->> endobj
-2467 0 obj <<
-/D [2457 0 R /XYZ 90 252.296 null]
->> endobj
-2469 0 obj <<
-/D [2457 0 R /XYZ 90 203.532 null]
->> endobj
-2470 0 obj <<
-/D [2457 0 R /XYZ 90 154.768 null]
->> endobj
-2456 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F23 168 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2483 0 obj <<
-/Length 1961      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�r	Uea�$	�ic�)絉3[{p\S
��P�LR�̿�n |���le+' ��n|�u�D�u@��f�\Ϯ��4�DG<
-�W��A,5Q���}.�
F)
w���9�a��mcZ?�3
L���Tq�1Y=gIX�7m��/���۲5�*]7|gVƮ1%N1�c6�p�������i��J��I�����A�����hH.�Y��~�Qo

[������$�
1c�1g��+{x�-x�P`6�Q�z�zgH��_z�Ts�F�� ?�`}�V�Mfj4ݚ}t
���*z�@{ز*��‘
�$DFI >%Z)g�y]�c
�f���e�q�X�^�T��p��p��$xE�ה
-\~t-ְnM�`���X��:�$�Zp�I��+��c��5�Kġ>�ۍ;2Q�̀u����[�d"�Rګu��6/=�S���p����
-���ύ�p�4�b�����r�w��3���s:s�@���QgtVD$�wr։�3'W���Hx�DH���`R�'G^.k�5�	0���c��Y��	Q�X at 2IX,�	��
|
v�E����X>�M��5�~��N��
-K�$}�N�4��1 LH ➇}�^�H��b�y#��B��9E�L���j�<+	d�X=+P�<*��>-nZӜ\J���ڻ'd��[}����@�i�u	0��z��U
��Oƍ@;3�4\c=9w!b
�+���ʮj��S!��
��eU�|����&G��:��8#R��;	�Q� �),"��S���B|<X�,��1�՚�9��Z.���s^
.E��

-��>��F�����B�
U�<�cҖ�D2�KwA�/�_�6�
��@~m�e��ڼ*ϔatC��N��
4��O�O��B* 	~~7�)a�W8pĔ[:���UWK=	���6��w�ϑ��D0g|�*�]���M�y���Y��i���7�{�Z�Ο�
t���@�[����w���4R(�m�GT�9��ww�9�g=v+Ӝ(v���KQBw+^����,w�tB&�c�*$���D��P&��dz�o�A��G�ǡ%xD(�����΄Ϣ�4>�ЎtM���1{E�'�}ڳJ"e�?iC
ۂ���DW�5DNr�؉��衩"G�ᔹD�/��;��5G��� n�P}“*c�~¼b0$�8l�,�T��术QT?��x�� �����*��a���~ h��ph�aS�W;�7~��ݣ�5���>�▫�(�ͼ~N�S+��=��}��H�כ�qyH@
)1��Y%�Y��Ƹ�vߦ��tf��im�u�5iٺ9�<�V����g��C$��
��/ӎU��E:l �:� [...]
-a�ߍ���+�
2n�)-��t�0�y&i
�a�BIF8�0��T�����r
�3��~�Y����;�g�M��^^]
�lȾ�w5��+@��iZ�`I�t�:�^�&+[�
y	�[�'��_ ���
-endstream
-endobj
-2482 0 obj <<
-/Type /Page
-/Contents 2483 0 R
-/Resources 2481 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2452 0 R 2453 0 R 2485 0 R 2454 0 R 2472 0 R 2473 0 R 2487 0 R 2474 0 R 2475 0 R 2489 0 R 2476 0 R 2477 0 R 2491 0 R 2478 0 R 2479 0 R 2480 0 R ]
->> endobj
-2452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.05 707.957 380.855 718.861]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) >>
->> endobj
-2453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 707.957 513.996 718.861]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.002 226.155 706.906]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.173 696.002 336.58 706.906]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.551 660.281 384.74 671.185]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5) >>
->> endobj
-2473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 660.281 513.996 671.185]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 648.326 214.528 659.23]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.724 610.612 385.567 621.516]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6d38a29d74f5992815fbdf006) >>
->> endobj
-2475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 610.612 513.996 621.516]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 598.657 214.528 609.561]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.079 560.943 377.826 571.847]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942) >>
->> endobj
-2477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 560.943 513.996 571.847]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 548.988 226.155 559.892]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.616 548.988 459.746 559.892]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.035 455.275 476.806 466.178]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2484 0 obj <<
-/D [2482 0 R /XYZ 89 770.89 null]
->> endobj
-2486 0 obj <<
-/D [2482 0 R /XYZ 90 677.808 null]
->> endobj
-2488 0 obj <<
-/D [2482 0 R /XYZ 90 628.139 null]
->> endobj
-2490 0 obj <<
-/D [2482 0 R /XYZ 90 578.47 null]
->> endobj
-2492 0 obj <<
-/D [2482 0 R /XYZ 90 500.784 null]
->> endobj
-2493 0 obj <<
-/D [2482 0 R /XYZ 90 439.784 null]
->> endobj
-2494 0 obj <<
-/D [2482 0 R /XYZ 90 417.088 null]
->> endobj
-2495 0 obj <<
-/D [2482 0 R /XYZ 90 417.088 null]
->> endobj
-432 0 obj <<
-/D [2482 0 R /XYZ 90 128.32 null]
->> endobj
-154 0 obj <<
-/D [2482 0 R /XYZ 90 120.655 null]
->> endobj
-2481 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F90 474 0 R /F99 2094 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2523 0 obj <<
-/Length 2114      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~����JU#��+���dvs9���a�rA$,#����ίO7��(Y���Te_$��nt} ��{�:�����m�{)I#y��^�{1OIA+�>�b:���k�E		�����_\~yq��ξ�<��,�!�
���ĉ�g��
���|��ĻՓ
-�S�k���g�AQ�����^�E'��������:U�-Jp�6�F�|oA9a<5�~�C���Y�݈�}��v��~��
,d�����v��
-���K� fZ�$�F�ϭ�����-.s�*��ݜ��J�]+�+Ә��V6�a��U!���H���!H��V���x��π��F#6+k��zB��Y]����U(����54��72o��*�<g�y8W��7��f�&���^~�W���r\hP&�G�� �����H�n�1j�n�0�i�
A�a�
�7͜��jg2�,z<��V���ef[յ��jA�۵�4�Ìy2����ڢ��\��~?E��[�˪\�NŽȵ,d�����&$`�p�yTꦨv���Y<���(;2��=P]0 ����azXÐ
�V���N\~*:G,�u:_Y+�dW�>+=q�(���O��& '�nN����_����"�$�m��O�:i-�U��$���Q�8�
�)>���J�a��$�S��`�A*4��Cƃ�X
�$�ͮQx�=`
#�'������]l�/��n��ݫ�:�{��ٖ�pK��"T�O	��e�i\
毮ZթO�!��C^�,�P���T�
07O�Ԑ�����	��$���
#D.�� >YN�q
�>��O0_J��?
M�G
-񭏂�6�����iNE,}���8���*��b�o��y�+O�x��E�ގ���׿�S�1��%��F��T%���e�
� ��=�O��x��0�ä�g��^~�R���������~�L�`�ѻ���#�|bi�"���d�qΎ
������%=���#.	��"?T؍�f��_uG0��LF����1�;�Ƨe`ߟ�wQ�QIr�5�P�l�"�h�
hE�1��fH�s�_�O�"��O{G
O��s7f
�Y۪U�ʕa8��<%���Ӥq7���FP���GO�lez���z]ݢ0Si*!a��Y��h�R�×��'ϊ�d��9%�i��T8@^p�M�
d��'H��a-��ϸH�p&<:�t!�u�p�W
�����Z��'�A
���"@Jh��
�j�
#q4��	}���w�z�K]�<�

��;i
뎵P�z�sӫI�O
-�S��]�+�2�N]w1����#M�)K��S��S@�1�
8��AKO(�
^��
�>�s

l��5^ȃ��U 4um�c�C���j�M]��bYm��t�v�l+
-�%���H��|�@��_ո��n��
q�pe6��Jr�s	��P�,y@����	�́- ���Z�ǟ7��U��������y���0(p�%ã��Ɣ��Z�3�J3u�Sƾ`G��H�=�/˜�.
�z��{��Ù�˗r*ZüN����_ at X�
-�;�K����>5���_���Tb�aW#���5�%���d��ߟ��H�vy�vd-��
�S[ňWS;��
�J#�>�����Ёf{#�bPr1?�-+#d��fը�5qr�!�^�~�ށ�иt|�і)���|7�ndk_K���b�J�Zs3;��
�1�Y
��k��c�a�@�����+@��n��'c�OM�[�Y��`��s>-$^�8��V�Z�4v�e<v�/l�i�F�ˈ�
- O˵�֚�a-+|�@�1���D�*�)h�U�A�	�E�`g�����d�zM�F:
rָ�mv

f�h�,��s�nU�1�
Fo4 at q�c�s���F���f_Yʵh@��h��KK��\�eZ�S[��m�^�{��;Q�R
�3��o٢T5��
̞�>���|Ƿ_���/;��_��CȆE1K�K?�!'6fk����ǡ�@7d���Œ~���h�M㵙�(W��뿂�`s�Y�8t�����0�y|'Jsc�E��bT�>SPg��g�+t�~���7���h_p
!�K�M�՟����ޒ�%�
놨�
J���W��H EJ�e��>VT�5a���B�w�N 1��
-endstream
-endobj
-2522 0 obj <<
-/Type /Page
-/Contents 2523 0 R
-/Resources 2521 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2497 0 R 2498 0 R 2527 0 R 2499 0 R 2500 0 R 2528 0 R 2501 0 R 2530 0 R 2502 0 R 2503 0 R 2531 0 R 2504 0 R 2533 0 R 2505 0 R 2506 0 R 2534 0 R 2507 0 R 2508 0 R 2536 0 R 2509 0 R 2510 0 R 2511 0 R 2538 0 R 2512 0 R 2513 0 R 2539 0 R 2514 0 R 2515 0 R 2541 0 R 2516 0 R 2517 0 R 2542 0 R 2518 0 R 2519 0 R 2544 0 R 2520 0 R ]
->> endobj
-2497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.395 637.339 363.884 648.243]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) >>
->> endobj
-2498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.989 637.339 513.996 648.243]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 625.384 180.776 636.288]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.136 589.232 317.224 600.136]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) >>
->> endobj
-2500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.07 589.232 513.996 600.136]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 577.277 129.857 588.181]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.661 542.763 513.996 553.667]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) >>
->> endobj
-2530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 530.808 173.025 541.712]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) >>
->> endobj
-2502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.898 530.808 369.276 541.712]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 530.808 513.996 541.712]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 518.853 192.402 529.756]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.91 482.701 513.996 493.605]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-2533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 470.746 173.025 481.65]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-2505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.898 470.746 369.276 481.65]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.615 470.746 513.996 481.65]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 458.791 192.402 469.695]
-/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.888 422.639 373.403 433.543]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52) >>
->> endobj
-2508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 422.639 513.996 433.543]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 410.684 180.776 421.588]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.112 410.684 294.518 421.588]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.951 374.533 375.341 385.437]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) >>
->> endobj
-2511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 374.533 513.996 385.437]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 362.577 180.776 373.481]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.211 362.577 428.342 373.481]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.882 362.577 513.996 373.481]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 350.622 267.41 361.526]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-2514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.013 314.471 377.278 325.375]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) >>
->> endobj
-2515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 314.471 513.996 325.375]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 302.516 180.776 313.42]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.98 302.516 431.111 313.42]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 302.516 513.996 313.42]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 290.56 304.5 301.464]
-/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-2518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.705 254.409 380.586 265.313]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) >>
->> endobj
-2519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.001 254.409 513.996 265.313]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 242.454 180.776 253.358]
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-2520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2524 0 obj <<
-/D [2522 0 R /XYZ 89 770.89 null]
->> endobj
-2525 0 obj <<
-/D [2522 0 R /XYZ 90 704.266 null]
->> endobj
-2526 0 obj <<
-/D [2522 0 R /XYZ 90 652.982 null]
->> endobj
-2529 0 obj <<
-/D [2522 0 R /XYZ 90 559.686 null]
->> endobj
-2532 0 obj <<
-/D [2522 0 R /XYZ 90 499.624 null]
->> endobj
-2535 0 obj <<
-/D [2522 0 R /XYZ 90 439.562 null]
->> endobj
-2537 0 obj <<
-/D [2522 0 R /XYZ 90 391.456 null]
->> endobj
-2540 0 obj <<
-/D [2522 0 R /XYZ 90 331.394 null]
->> endobj
-2543 0 obj <<
-/D [2522 0 R /XYZ 90 271.332 null]
->> endobj
-2545 0 obj <<
-/D [2522 0 R /XYZ 90 196.86 null]
->> endobj
-2521 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2568 0 obj <<
-/Length 1913      
-/Filter /FlateDecode
->>
-stream
-x��YK��4��W��S5��iYp�����Cq�ݚ�&JƐ��v����˯x

��'Y���n��u���&��׳/nf��G
-��&��:R8�\!�@o��%�b� �x����0�8.��wzU�I��m�m�
*p��ht�Ζ�u�km����D,����7��nf����#�H��r7{�G+�&ˆ�4:�I��S�6z=�q�՞DH�<Gԫ]�X�N�ϋU�r�5�w�Ų�����,���.���ڰ�2�����E
S�s
պ�9��QWf�jʑu�A;o��FȲ,��IQ
����`��)8uZf���{M(��������2pl�R!��B��F� N�������o1f�J�%
s�{J�B:)�x)�7�Mi;�M�N�)�����q��n�/U�hM镠}[��Dρd����;��a�
 `�˵kWy���1�c^L�Hp�S��n��OAS#/��
Q������%��F�V
7H��
-�
�ּ�F�+],.\����o�"��^
�Uf� ��V yk��v��{-�Cт�)Kk��I�@���C7���*�к�nn��ֳ��
LZ>:ڞ�х�:௫rD� t�-�T�څ'8�d�՟��q漛�ݷHs0�E���@/�*�l��
)uG�e�T"�Kħ�4b��y���}@E�r�ɱ>qz{2�,�C�_���zuξ�s
�a��FП>��Q��P��z~�$��i
�Zx��5���Y`\��;���
-��
�0�  ����{uX6e5v��u�o
-�~C���S��Q03�l
�1�G��an�d�j�S�Ov�.�
-mqa�����@��C�ݮrP��GJy��n�B�ڌ������i�ϑJ����]<b_¬��>�.���@Z�zFj #c-
.Z
-�,��7��ʼn�����Ğ��/��.8�5W�	`�s[6�1�<h�py
'�ۅQ�YmB_y���(�o]\��cȗF��
��j�
9Զy��vJ2i�
���F�<�jB'�E�eF4_0(� -M�C	k����G$
f�up��`ʐ���!10��p4���ڹ�'��u/F�XX�;n�=�9�
u�
�d��V|��dW�
�
-RI�桕�kE���P�驍�d�>@*
JQb
-Nh9M����'x�?2�o���UE���
-D,��j�S
-�)�����t�Բ�;
���FW�F�w0�"<Y\���u����=��ȃ��-��q�Qw���Io�%h�v��]�a���*�� T�bʨ`RKG�\� �"���S�.ğ�;=�d�>?�Ǽ��`����
7���)='�$�39�,Qpy
a�w_~E�
=t�Gc��]I����4��ݟ��1��l5�)$�}}_7zw�+�r�T%�g,�S!:
+�����D�t��fo�4��Y0������-���Z�z��\X�
�
��2���ʈ5�L�,ŪOc�z*TT�lX6'��9��;�5-�:
� x0�<w#�
a5F�D����1%�n�t��7QH(F<�g�!!�;h���m�˭n�a�F�i���z!��ir���p,h�� J���'&��
�ؕk�h湰[¡�if�
s��h� ��g �|`�>
?Ĵ�NZ ��f��
 �g
D�հ��
�p�L��{�}�y@$ W<��k�GA�+Dϒ��Og�Mu0_
��q�t�y���D���Y��CK����0������00I�J�
BT���ٜ��
�jg���M3so_�﫬�w�+7�eVl�Ư1��C?׺�d%C�|��l�ޙSu�v��}��A��gԸ�|��<~��4�ߢ������삊��wM�����x<�e�E��P�\�a]�~��6�Z临
��J��l�
��
h|N�f�
-endstream
-endobj
-2567 0 obj <<
-/Type /Page
-/Contents 2568 0 R
-/Resources 2566 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2547 0 R 2548 0 R 2549 0 R 2574 0 R 2550 0 R 2551 0 R 2552 0 R 2576 0 R 2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R 2577 0 R 2559 0 R 2560 0 R 2561 0 R 2578 0 R 2562 0 R 2563 0 R 2564 0 R 2579 0 R 2565 0 R ]
->> endobj
-2547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.801 375.771 336.353 386.675]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) >>
->> endobj
-2548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.864 375.771 415.258 386.675]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 375.771 513.996 386.675]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 363.816 144.243 374.72]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2550 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.223 316.972 332.716 327.876]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) >>
->> endobj
-2551 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.649 316.972 419.043 327.876]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2552 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 316.972 513.996 327.876]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 305.017 180.776 315.921]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.413 258.173 401.265 269.077]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) >>
->> endobj
-2554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.388 258.173 483.782 269.077]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 246.218 224.501 257.122]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.924 200.878 346.688 211.782]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) >>
->> endobj
-2557 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.321 200.878 428.716 211.782]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 200.878 513.996 211.782]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 188.923 210.673 199.827]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.869 143.583 359.878 154.487]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) >>
->> endobj
-2560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.457 143.583 445.851 154.487]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 143.583 513.996 154.487]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 131.628 210.673 142.532]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.365 86.288 351.754 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) >>
->> endobj
-2563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.829 86.288 432.223 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 217.298 85.237]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2569 0 obj <<
-/D [2567 0 R /XYZ 89 770.89 null]
->> endobj
-2570 0 obj <<
-/D [2567 0 R /XYZ 90 721.073 null]
->> endobj
-2546 0 obj <<
-/D [2567 0 R /XYZ 90 704.266 null]
->> endobj
-2571 0 obj <<
-/D [2567 0 R /XYZ 90 704.266 null]
->> endobj
-457 0 obj <<
-/D [2567 0 R /XYZ 90 531.194 null]
->> endobj
-158 0 obj <<
-/D [2567 0 R /XYZ 90 523.837 null]
->> endobj
-2572 0 obj <<
-/D [2567 0 R /XYZ 90 442.232 null]
->> endobj
-2573 0 obj <<
-/D [2567 0 R /XYZ 90 390.606 null]
->> endobj
-2575 0 obj <<
-/D [2567 0 R /XYZ 90 333.829 null]
->> endobj
-2566 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F23 168 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R /F79 234 0 R /F85 313 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2617 0 obj <<
-/Length 1943      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�Vi&��~��Ɠt��nZ��$�a$��T�T�����. �EK��4�6'<H.v��.���m��.��\�_*
d$���<08P� !a4
�
~�y
0�1>r��?_ݼ�����.^�\�qA���^ ������
�`�u�3:ظ���
�Ep}��.X鶞5h`Mr��Q�*B!�����b�
G��A�$1����o֫��.��C.�����hiGd���.��l���ҿ���v�Jn��(�F�z�R�k�PĹ*�3-�i�O�vr�W�d�	o�8�����ETp�J}'/�+�[ �[?3M�L
�0�fn�F�
-DU0"a��;*�^^���'��	�	R�����w}�IDx�
-rf��Ǝ_
-�0��qM-׈��� B�J�n$0
�I^L[cKo
��ս`��
M.'o
�W�$��Vo��"�\V�9��{�Y�Rz�~p-�N�zޢ0~	]���p9���
c�U�RG�Pk��Â"��`���1�
נK.
-�v��0	t��O3�����Q
a���?F��2lj�ٹK?�5>��[�6$Nn���q�~�@;ih� T��܏@��-�J�EB?U"��
�3�
�<�b[�
��$�
�&&����?t�1 d��&
�� ��8�
�,�M� ���ek�K�}}�J�,߇
�������4��}��=��飁�'�~�wʊ���t�����:�t��DZ]#���
-; &�lE����)_=q-�#U����k&$#�(�
�
�a�s���~���R�I4��e���`�(
����4\G�c�
tXo',�!�����t+:9V:���!��Y
�gqB�9g\b
-��g�!.qB�q�[���U%�$߮�>d͞����
���|{
-ت,�J�߂�}g�1Ü�����B�K�����c�
-q���2�7U�}Hh�xǵ�% ��
��{\���^�{]	~�I�
�cheBqV�mn�5�R���8ER�v��aZ��0�+��g
�T�^�1����x��Qà�+\-�N7q�񠴼��/
O}�ğ�C�"��~\���+�
��P�<���"��s1��\�s:��v>#8߉ݐ�)��z\�^ߝá0j
�m�

-�z7٥6w�(����̿�c��X��P
-8�V��G4F����z�Ӗ+�:��U}NK˜��&��,;�+����m Q�ő���� ��g;SJ��g@������l��
t�^8��{��\V�7�
�R��O z���PSa�0��Q���c�ǐa�3�W����w�i�~{�
�nr,�s4�$;T�8Pq���囝뜶���:GIg����9�H�mg�"a������R�.Vw�Cw�ϝĩ�me���k;��!m_�:�n�Q!�r��dr�JG"���J�KUe�>v�U����:�*E���8
�l�^A��D!�
W!�����0�GW�v

v�U�?=A�*l@�
q�>
-�I�]����鏺�Hؐ�:�����䰋CA�����_�R&�	�����9�!C��~���XGH,ؗ,m0���Fi���X�z�3޼Ͱo�0�U]���G���ʢ%\A�k3����Qq��n��1��="�ǠdgMH9GR���5��	 �|A��wت|��������N����>)���A	Ӄ��N"j	���J���O��>٭�W����D�J�U[|��&>��hY�_]��/W\�O�-z$
U]���B�I���W��'}��b�7%!�
-;�7%�;�6|��.���
-	Sd�7
�l�����2�/�:�O���0��A��ބ��}x[|�*ɣtnk
ᴘ�-��o�B
2��Oar.�3kџ�Q�
-Un#�6jM�Ux��:*Km^�e�GkP�!�
��'�������f�A�
�'�:Eq>�VMk"�Q��g~�
���p}q��0���ا�s��:
-endstream
-endobj
-2616 0 obj <<
-/Type /Page
-/Contents 2617 0 R
-/Resources 2615 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2584 0 R 2585 0 R 2586 0 R 2619 0 R 2587 0 R 2588 0 R 2589 0 R 2621 0 R 2590 0 R 2591 0 R 2592 0 R 2623 0 R 2593 0 R 2594 0 R 2595 0 R 2625 0 R 2596 0 R 2597 0 R 2626 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R 2627 0 R 2602 0 R 2603 0 R 2604 0 R 2628 0 R 2605 0 R 2606 0 R 2607 0 R 2629 0 R 2608 0 R 2609 0 R 2610 0 R 2630 0 R 2611 0 R 2612 0 R 2613 0 R 2632 0 R 2614 0 R ]
->> endobj
-2584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.31 674.609 364.945 685.513]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) >>
->> endobj
-2585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.964 674.609 449.359 685.513]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 674.609 513.996 685.513]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 662.654 217.298 673.557]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.162 615.882 341.213 626.786]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) >>
->> endobj
-2588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.084 615.882 427.479 626.786]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 615.882 513.996 626.786]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 603.927 180.776 614.831]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.356 526.738 358.294 537.642]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) >>
->> endobj
-2591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.36 526.738 444.754 537.642]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 526.738 513.996 537.642]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 514.783 190.738 525.687]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.453 466.019 354.718 476.923]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) >>
->> endobj
-2594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.881 466.019 434.275 476.923]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 466.019 513.996 476.923]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 454.064 180.776 464.968]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.86 405.3 430.484 416.204]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) >>
->> endobj
-2597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.054 405.3 513.996 416.204]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 393.345 129.857 404.249]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.262 393.345 254.668 404.249]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.539 346.573 357.689 357.477]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) >>
->> endobj
-2600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.937 346.573 436.332 357.477]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 346.573 513.996 357.477]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 334.618 210.673 345.522]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.484 287.847 370.879 298.751]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) >>
->> endobj
-2603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.073 287.847 453.467 298.751]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 287.847 513.996 298.751]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 275.891 210.673 286.795]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.965 229.12 362.74 240.024]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) >>
->> endobj
-2606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.415 229.12 439.809 240.024]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 229.12 513.996 240.024]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 217.165 217.298 228.069]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.925 170.393 375.946 181.297]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) >>
->> endobj
-2609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.581 170.393 456.975 181.297]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 170.393 513.996 181.297]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 158.438 217.298 169.342]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.392 111.667 363.215 122.571]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) >>
->> endobj
-2612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.317 111.667 442.711 122.571]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 111.667 513.996 122.571]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.711 180.776 110.615]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2618 0 obj <<
-/D [2616 0 R /XYZ 89 770.89 null]
->> endobj
-2620 0 obj <<
-/D [2616 0 R /XYZ 90 633.455 null]
->> endobj
-2622 0 obj <<
-/D [2616 0 R /XYZ 90 542.288 null]
->> endobj
-2624 0 obj <<
-/D [2616 0 R /XYZ 90 483.592 null]
->> endobj
-2631 0 obj <<
-/D [2616 0 R /XYZ 90 129.239 null]
->> endobj
-2615 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2674 0 obj <<
-/Length 2383      
-/Filter /FlateDecode
->>
-stream
-x��ZK��6�ϯ�m�* 	>���]�&��xR9�)DB�ɐ�(���@�Q
K��>R�� 4Ѝ��n�������_��_ݼ
�,"�����j�Y�ED�PKf��p1�f�R�,��?�:Evب����)�E#��k.��mިj%c�՟�J�>*7M�s������]����+K�3�S
-��x{��W:K���%n����v�q����տ��]��y�
�
a�;
#��FwE^7�.n��ƕު��s�<��UE���ܣ�ÜQGUu
-U���RU� m`�h0'�]3A"��Lw��4Q ����l�.p'�������
YZ7*���u�Y�����y�0je�!K�"
Y
����9s
-����P�i
���Ώ��R�,P��Ӯ[6XZj ��,њ]����>�uj��y��X[�[�Tm,#�Ҳ�i��FV����<g�Kޢq��
�\B}��abX}��O�h;>sa���J��ͯ�=�
�� � -�
!p�܌�/�Wi�h�Y�}ž>�17���jMu�ܾ]|��R-��o�8�u�E�����r�_��9w��Uv�
��]"�6s
-��P�f�a&)��`�d��ef��+|.��X�櫋�ۺ���hpܟƎ�j㭃�D]O���at�l���R)�f
�^x���
6�0�(��]e�B�K�C��
��]�9��ߓ�����%?wb���ֶ��V��gJ��ؖ`hP���9�G2H�b��n���
 6�E~
�{He�����z�7j�
��>N�}�9T,]��W51޼��7��
h�O�ʡ%��O���!���BK
-�b���F��L�\������0� N���m<A�}��Gg����lFZA��r�Ox��F.��#�=�]��ܼy\��G��z�q#���A��Í���?��!CX
�E�5�a�"�J��^]���#��k�+¿lD��[$V�<`C���
S�$�uk��YQ�:�
8,h���.���a�
��Z.���F��7]p�N	����+� SUڨNu� �'~��(l@��7�2ˠxEdŦ���e$*%�,�Č&�h�3I�{]O��B�Pȏz<M)���N&a�S�9�H(B] ���.eO��b�6��uh`=��F����&P�g�]�_H�"��q"���<g� ��B��Of��.
12��;���ͣ��<tdic���V"1��q'��Z����U.f�N`���՘���v%ٺ nn�ؼ����(b*�T.�9�m �
ka
+�L�^�$�
�p�v���%A|����j|���6���zn�
\������~�#���3¿Z�琱�
�&���)̄u	�����A^�t�ƮΞ3-n
-�.
��Y/!�#��u��	&Z�u+�G�nl%�u�w>�u!#e�I�=�s�S��0T�W���X�G���1V�0Dn��	�0B��f8�u���wO���A��z��A��U�uq:Zs�{����kE���Q�B�~ل��j�D���%�M�;,�M M�vS^
-�
n@QJ_⹌�����T�������;�����k`����-^�,Md��Us��D�r��f
-Pd
&�Mj�o�gsM�^
u�죩㢲�,�<�n�m[wWg���,ki	<xPy��Yˆ�Δ�U�<�28~���)&<���.���<�e'�y[XT�>�"IW�����.��X
��.e�I�U��n���}s�ڕ,�C���}�pO<% o/e
�쵰���_�)��|<҇��=�sֳÂ��>���,�w�f�,�s}_�Y2qK��w���>�T�
/��&0)���7���/4��
4�ț����@�'^��)l�ģ��Z��n�s�2@��Z'B�Q�̭
�@��`+�ɲ�湴3�
�v�y	5���~�Ȱ]�~јc����.ic�ғ�T-�L�����g�ɟ�Y�V��m�=���:�9�4��cmpT۲��n��AH���5_���cV*�:��A
�S�^J'܌}
�"��C����P
ǖ�CT��i��/9�mT�c��q�d�
�t~|���}�7�w�2B���w��h��99I��	�2�g�I����k�x�B���AK�"{'^���
2߫
?8�S�Z�
�`z�"`vk������K|W�^�O@�'�K����
�
L�-�W f��r��q=�X�
�p43��QYo�(0?
�Fm��E�?��+�O=��J�S~le>��	}�ISh?��TY�G�
�+�A�Vߣ���˖����2_(��
v�^��\�����F+����s����(]�d�3_,��i΃���0
)s��K=�j�F���Y[���8�Ž��D�4M����~�'qMvyZV$mn`�oN����`�Ή�,l[T
-uHsh��@���o`�

-endstream
-endobj
-2673 0 obj <<
-/Type /Page
-/Contents 2674 0 R
-/Resources 2672 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2639 0 R 2640 0 R 2641 0 R 2677 0 R 2642 0 R 2643 0 R 2644 0 R 2645 0 R 2646 0 R 2647 0 R 2679 0 R 2648 0 R 2649 0 R 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R 2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R 2661 0 R 2683 0 R 2662 0 R 2663 0 R 2664 0 R 2684 0 R 2665 0 R 2666 0 R 2667 0 R 2686 0 R 2671 0 R ]
->> endobj
-2639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.838 612.216 343.717 623.12]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) >>
->> endobj
-2640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.265 612.216 426.659 623.12]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 612.216 513.996 623.12]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 600.261 180.776 611.165]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 552.407 410.855 563.31]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) >>
->> endobj
-2643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.183 552.407 488.577 563.31]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 540.451 224.501 551.355]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.838 494.59 343.717 505.494]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) >>
->> endobj
-2646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.265 494.59 426.659 505.494]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 494.59 513.996 505.494]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 482.635 180.776 493.539]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 434.781 410.855 445.685]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) >>
->> endobj
-2649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.183 434.781 488.577 445.685]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 422.826 224.501 433.73]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2651 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 338.301 232.521 349.205]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) >>
->> endobj
-2652 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.337 338.301 335.743 349.205]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 264.753 277.352 275.657]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) >>
->> endobj
-2654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.168 264.753 380.575 275.657]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.017 264.753 479.373 275.657]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 227.858 277.661 238.762]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 227.858 380.883 238.762]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.326 227.858 479.682 238.762]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.033 180.004 317.283 190.908]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) >>
->> endobj
-2660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.026 180.004 429.432 190.908]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 180.004 513.996 190.908]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 168.422 176.352 178.953]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.429 133.146 315.995 144.05]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
->> endobj
-2663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.134 133.146 428.541 144.05]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 133.146 513.996 144.05]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.191 174.668 132.095]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.341 86.288 276.288 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.339 86.288 386.745 97.192]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 164.178 85.237]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2675 0 obj <<
-/D [2673 0 R /XYZ 89 770.89 null]
->> endobj
-2676 0 obj <<
-/D [2673 0 R /XYZ 90 627.296 null]
->> endobj
-2678 0 obj <<
-/D [2673 0 R /XYZ 90 511.707 null]
->> endobj
-2680 0 obj <<
-/D [2673 0 R /XYZ 90 353.397 null]
->> endobj
-2681 0 obj <<
-/D [2673 0 R /XYZ 90 279.848 null]
->> endobj
-2682 0 obj <<
-/D [2673 0 R /XYZ 90 244.975 null]
->> endobj
-2685 0 obj <<
-/D [2673 0 R /XYZ 90 103.406 null]
->> endobj
-2672 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F90 474 0 R /F56 167 0 R /F23 168 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2738 0 obj <<
-/Length 1948      
-/Filter /FlateDecode
->>
-stream
-x��ZKo�6��Wh�����T�k0S����I��La(6c
�$W��I}/IٖeY~�)�@V�(�^���KR8�8��꛻��w
-�$���C�@�		O��c�����&5"��J�������x����z{w���W8 ��@J����8C��F,���}��2�΂W�\�)�oZhh��i�cD�V��
��H*S���a�/�<++;������*��S����IVW(��ʤ�~l>aL�$��*����Ԍ�a��ܼӢ�P*8�,Zk>��lw�!��ꓸ���,S�)��,B�ҵ�Q�eW"�q�� �
��;!C�`�0��5�Hh�M|�TlY	>^
�C3_l��������@J����u��l81�B>)&��m�����k��scִZ����7����l��]�hx퀮�:��EB�|p�h��y���F��pp��� sm������j��5��ZŐ$��G�Gr$? 
�6�<�Q�.w�u����o�sϛ�IW�pK29���FJ��
��z>"۝]�I����f�XX��a��{	6�6�*��r�v���1t�a%_�J"�yM��`="/>/D
1N�{��p~N����Ā�5-�M��%h��G��F���kV�f�cXQ�0})Vh��C
-�=����Hvp��7�0�"ܮ�&#O6��_�<�{7G��I?o�1eت
S���h�=��� (� 
-F)�-�a$tEmt�Ⓣ��������%I94�zjۢ�:����
JN�3�_M�(�mM��eR%��bB�̀�p2 84E]��5P� N�	ҙԎ]����
��V�
�0�H*{�m�Y^5\�85��g�^
6�,���h�8S��
D���T;��=��SvN��1�58h9

�)�_NT��E61~��^P�a:GXlr
�3|.���z� ��D�E#^A�\]�AQ&���WYi��*b�K���W��<�k�����
ˤt�E�K��h�d�fO��,/_���}̬�:n�:��
"T!Eg4e����DyR
-ɗC�8)G���+ʎ�r\�<�j祩���O����&��1X�Q�_l
-�{c�y;��7��3NR�����4���M���?=qn6���q���Ǹس�ν��5�(��	�
�
쭞t��h��)
9q?�x"�ؠ�\�Z�<
����_i��ۺ�`׆��<���'����;�o?�
Sz&u�hf�e�(��i�̜�x�~�Z�n�!�X���qDQtp�L
I�g䪔��K
Wj*�`|o ��\�@
-/a��2z���õ< �H) ��i�´��4���Շˤ�v/�m����`ҏ_Mą�+���B;W��y8~b:JLVu�*�a�k.:ޜt��o�Z
���X".�9�$n(����A���VX�5�)�*/���!'
EJ��CF�FuCl�0��na�H�i���%�c�dY�v�}@�'�g��_"0;(?
^��cmo���|3��>wI�DL��%Ÿ��l.��Ȫ��?��vf�< 0 ��0 �1��׮�x��E�h[�ק�K8Wo�^�����b߁Uj���kGu���թ�	DB���� %�#�L��Ŕ�j]m��__BL��>1��i�f2E�4�C��T<�? ���	欀�yD��R�
��I�赀
}�N�@��	�L|��3�$,����0.}�C�@C2�<Ꚃ-�u�(��m�櫇j�J澐ִ�,`�_����g�(��
��b���ۿ��*�*��&l���?,�%;��O��'�TR����Snw'u#攱�g�Z.R�N��+����侈�'�p�?yg�E<��SO�`�9
�E�����=�-}����"��w�ȫRSW�p�Z!9���R�?���R��/�5�
O�j����r�D�-�d^���ݴ~ �
-���l�:
؆�ya|�

-S���q�]�
-endstream
-endobj
-2737 0 obj <<
-/Type /Page
-/Contents 2738 0 R
-/Resources 2736 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2496 0 R
-/Annots [ 2668 0 R 2669 0 R 2670 0 R 2741 0 R 2691 0 R 2692 0 R 2693 0 R 2743 0 R 2694 0 R 2695 0 R 2696 0 R 2745 0 R 2697 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R 2708 0 R 2709 0 R 2710 0 R 2711 0 R 2712 0 R 2713 0 R 2714 0 R 2754 0 R 2715 0 R 2716 0 R 2717 0 R 2756 0 R 2718 0 R 2719 0 R 2720 0 R 2757 0 R 2721 0 R 2722 0 R 2723 0 R 2758 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2735 0 R ]
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.223 685.375 279.796 696.279]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.728 685.375 387.135 696.279]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 685.375 513.996 696.279]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 673.42 164.178 684.324]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.08 637.222 323.629 648.126]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) >>
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.419 637.222 433.826 648.126]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 637.222 513.996 648.126]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 625.267 210.673 636.171]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.521 589.07 328.695 599.974]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.927 589.07 437.333 599.974]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 589.07 513.996 599.974]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 577.114 217.298 588.018]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 529.958 245.263 540.862]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) >>
->> endobj
-2698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.079 529.958 348.485 540.862]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 493.76 253.711 504.664]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) >>
->> endobj
-2700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.527 493.76 356.933 504.664]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 457.563 254.668 468.467]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) >>
->> endobj
-2702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.484 457.563 357.89 468.467]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 421.365 299.898 432.269]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) >>
->> endobj
-2704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.713 421.365 403.12 432.269]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 385.168 303.374 396.071]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) >>
->> endobj
-2706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.19 385.168 406.596 396.071]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 348.97 251.34 359.874]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) >>
->> endobj
-2708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.156 348.97 354.562 359.874]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 312.772 249.128 323.676]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) >>
->> endobj
-2710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.944 312.772 326.338 323.676]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2711 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.78 312.772 425.137 323.676]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2712 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.983 276.575 296.212 287.479]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) >>
->> endobj
-2713 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.905 276.575 405.311 287.479]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 276.575 513.996 287.479]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 264.62 179.112 275.524]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.84 228.422 296.676 239.326]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) >>
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.226 228.422 405.633 239.326]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 228.422 513.996 239.326]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 216.467 179.112 227.371]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.607 180.269 300.683 191.173]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) >>
->> endobj
-2719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309 180.269 408.407 191.173]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 180.269 513.996 191.173]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 168.314 179.112 179.218]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.11 168.314 270.591 179.218]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.197 168.314 378.678 179.218]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 168.314 513.996 179.218]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 156.359 174.668 167.263]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.327 110.863 249.243 121.767]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.28 110.863 353.686 121.767]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.875 110.863 500.601 121.767]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.908 196.576 109.812]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.856 98.908 297.337 109.812]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2739 0 obj <<
-/D [2737 0 R /XYZ 89 770.89 null]
->> endobj
-2740 0 obj <<
-/D [2737 0 R /XYZ 90 702.31 null]
->> endobj
-2742 0 obj <<
-/D [2737 0 R /XYZ 90 654.157 null]
->> endobj
-2744 0 obj <<
-/D [2737 0 R /XYZ 90 606.004 null]
->> endobj
-2746 0 obj <<
-/D [2737 0 R /XYZ 90 546.893 null]
->> endobj
-2747 0 obj <<
-/D [2737 0 R /XYZ 90 510.695 null]
->> endobj
-2748 0 obj <<
-/D [2737 0 R /XYZ 90 474.497 null]
->> endobj
-2749 0 obj <<
-/D [2737 0 R /XYZ 90 438.3 null]
->> endobj
-2750 0 obj <<
-/D [2737 0 R /XYZ 90 402.102 null]
->> endobj
-2751 0 obj <<
-/D [2737 0 R /XYZ 90 365.905 null]
->> endobj
-2752 0 obj <<
-/D [2737 0 R /XYZ 90 329.707 null]
->> endobj
-2753 0 obj <<
-/D [2737 0 R /XYZ 90 293.51 null]
->> endobj
-2755 0 obj <<
-/D [2737 0 R /XYZ 90 245.357 null]
->> endobj
-2759 0 obj <<
-/D [2737 0 R /XYZ 90 127.798 null]
->> endobj
-2736 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2805 0 obj <<
-/Length 2040      
-/Filter /FlateDecode
->>
-stream
-x��Z˲�6�߯�.TU�
� 	dV3N�JbW2�Me�T�IL�GHʲ���xQ�D�,y��̊$v��ݧ�����޷�zzx|
cO ��4��b*��i��c�ј`���\M~�/Vۥ�U#��"�4�b4���Y͓�4���\�92�C��̏��oO�?|�����%`��
�ܛfo~��
���0
-�6zR�� ���{���lW�wŢή�Q"��fg��3����f�`�i��a��jaW�JO�)1v�6��gi�f�_r�I��,v�b�[�b����2�E^7]Ƀr��Ǘǣ�#�E�ˤ���|�#qoL�
|�d]�C�"�+yBŪV����Q�`8��2o�e��|��W�����݁=>��
y�cD�˜9m�C3�
�o��(���46
�$@X֬�e����������B#�@z?�+����QD5p)"q�C،��J6�*�G�0��D]"Z�M�N�AP G���>8����s֕�)�,n-�4s�kQ$܌��͋�h�Y�l�Z�ـ��"L�{%�h�*��|&gFͼQ���I�����N!�ӻ�(��
@RH#%K��,��0itO���YJ{�8D����p�6���B- ��w�jmc�����0`n7K8�0�����b,����)FTbV/k�"���H?L��\7r�a��c�]Ƅ12 | ����|$��GRe쓑T�ЧO�L$� q*�� [...]

�������ZV�c,|,D��Y�
|�{�WF�����9���
�IҼ��%"��s*��O!
�+$m/ak�����^�v���L?����\K�e���\�Ԗ�8��E�lj�s��,��m<@�2'k;�
"y��t���2n���$����WBr��`4���s��  #�;
�M�N����*	� ,z
-�p�#�h9�C{{5m�D�O	ew(�zX`
-f at xb���� ���
����5�'���]e�ɼ*����wB�8�X|��o���Z� �<�����;�
A�(C
��ף�;�
�K�G�ID�?�
蝘�3��3]��Gp��Pm��.��
�3�C�?��8�`
�Zy���
-^�@�V��h�Q���KhD
 
�
MmÓ}� �$��b���\��
�A��#Ԗ)��NA���5fn
�Q�
-
�襤�
I�r%U�eJ)���wI�&9�#:��>݅!j�X�0x��R�j���Y�6�}�����i-O�h#�s��N+���ƃ��
A�7?�r���}��L�*U��"�m_�\Wp޲��_� q�^
��>�����d5�dVT�I�O�nY\G���Z���]_
-�0����]ܥ1��R�R����`%R�㝶c��Ew#kUl\�Н�V�^�S�|cgo����氜/�F�F�̽<��  ( ��~*k��:���U~v= ֦h>;���]q~IG���(����Qڱ/���P�`#n#�����u
-�6�

2�@k�-�Z՟��Jy�L���R_&v�/
�L�=�
~���a����J�)SL�}�*�͌?T�@��2�ēή�8�v)â��P��f}�?-���������=�i��|�x��/m�Ff}�}�;�R�u��c����B�qb�ݢZ�?|��K������+b��W�_ ��Tٌ�˿�^�0�������������k��G�U���uI��
��
�g��'
-rч�U@||{iEa+'#� )�7R�<Hʢ�gy�|#R�:�w at jג
3�(f��t/F�F����m��8��m^��9��8x)k��Gc��|q�h��*Sf��͟�__�o�Dtxxf��H��:Y����5��~
-�ň1�6/�Lr�~S�~�T��2gĀ(���	��k�R������A�)��+�
�Z1˦)�z|�l6hZ�u��J�G@��!{�	���iO��i`aP�H��4W�0ݺ��� �i 
-endstream
-endobj
-2804 0 obj <<
-/Type /Page
-/Contents 2805 0 R
-/Resources 2803 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 2729 0 R 2730 0 R 2731 0 R 2807 0 R 2732 0 R 2733 0 R 2734 0 R 2808 0 R 2761 0 R 2762 0 R 2763 0 R 2810 0 R 2764 0 R 2765 0 R 2766 0 R 2767 0 R 2768 0 R 2769 0 R 2770 0 R 2771 0 R 2813 0 R 2772 0 R 2773 0 R 2774 0 R 2815 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2823 0 R 2802 0 R ]
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.996 695.837 299.418 706.741]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) >>
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.125 695.837 407.531 706.741]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 695.837 513.996 706.741]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 683.881 179.112 694.785]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.908 683.881 272.389 694.785]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.024 683.881 379.505 694.785]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 683.881 513.996 694.785]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 671.926 174.668 682.83]
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.996 625.768 299.418 636.671]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) >>
->> endobj
-2762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.125 625.768 407.531 636.671]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 625.768 513.996 636.671]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 613.812 179.112 624.716]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.784 613.812 263.265 624.716]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.776 613.812 361.257 624.716]
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.536 565.661 292.284 576.565]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) >>
->> endobj
-2767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.53 565.661 394.936 576.565]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.37 565.661 503.777 576.565]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.168 516.514 331.574 527.417]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) >>
->> endobj
-2770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.452 516.514 440.859 527.417]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 516.514 513.996 527.417]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 504.558 180.776 515.462]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.166 467.366 331.582 478.27]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) >>
->> endobj
-2773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.458 467.366 440.864 478.27]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 467.366 513.996 478.27]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 455.411 180.776 466.315]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.543 418.218 284.541 429.122]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) >>
->> endobj
-2776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.794 418.218 387.201 429.122]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.649 418.218 496.056 429.122]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 383.019 223.116 393.923]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.932 383.019 326.339 393.923]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 334.867 317.601 345.771]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.417 334.867 420.823 345.771]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 297.675 303.375 308.579]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.19 297.675 406.597 308.579]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 222.937 267.39 233.841]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) >>
->> endobj
-2785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.206 222.937 344.6 233.841]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.042 222.937 455.025 233.841]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 185.745 274.015 196.649]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) >>
->> endobj
-2788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.831 185.745 351.225 196.649]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.667 185.745 468.276 196.649]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 148.553 271.265 159.457]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) >>
->> endobj
-2791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.081 148.553 348.475 159.457]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.917 148.553 493.221 159.457]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.747 111.36 279.532 122.264]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) >>
->> endobj
-2794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.989 111.36 358.384 122.264]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.519 111.36 513.996 122.264]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 99.779 129.857 110.309]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2806 0 obj <<
-/D [2804 0 R /XYZ 89 770.89 null]
->> endobj
-2809 0 obj <<
-/D [2804 0 R /XYZ 90 643.034 null]
->> endobj
-2811 0 obj <<
-/D [2804 0 R /XYZ 90 582.927 null]
->> endobj
-2812 0 obj <<
-/D [2804 0 R /XYZ 90 533.78 null]
->> endobj
-2814 0 obj <<
-/D [2804 0 R /XYZ 90 484.632 null]
->> endobj
-2816 0 obj <<
-/D [2804 0 R /XYZ 90 400.285 null]
->> endobj
-2817 0 obj <<
-/D [2804 0 R /XYZ 90 352.133 null]
->> endobj
-2818 0 obj <<
-/D [2804 0 R /XYZ 90 314.941 null]
->> endobj
-2819 0 obj <<
-/D [2804 0 R /XYZ 90 238.181 null]
->> endobj
-2820 0 obj <<
-/D [2804 0 R /XYZ 90 203.011 null]
->> endobj
-2821 0 obj <<
-/D [2804 0 R /XYZ 90 165.819 null]
->> endobj
-2822 0 obj <<
-/D [2804 0 R /XYZ 90 128.626 null]
->> endobj
-2803 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2875 0 obj <<
-/Length 1947      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�TU �)���6;�&c�43�∰�D"�$e��ק��dB�,Z��I�F��������wW��^]+�'��{�w�Ğ%b
�%�;_D���{��
>2w_�����?���gW�o��wE�����!y��ջ�K���
F���G���
i �K����+ܨ�wUb|G%B�� bxO)3���y�
c?���V�\4Z�5/��b9�)_n�UR��,N�Y�����|���<Ϫ��AN�T���=f�� O��.	��
-n��괘�l�Z�fS��<�`ɘ�Doʰ?�@Q����K�#9�qCDD ")�H#��$�&FN}��Ee��������Ҧ��u�m�v��8��Aͼyg_� aL�W����ۇ0\�N��ޥ F�6r�lk�=`N)���)%��1ДT��E�V�\��)i4�F�!h,����Aـ��殭z���`
.�Ɩ���y��3��� �<zT 6
yf2��(�{�i�f�i}�]�
�:3��Z��a�
�S�E)�!d���Z�m3k`(d�@
;s/�*��h�B
-F$�2w�f(g�P�
j��)_(͚�3 ��Q)��دNDH��$:#A�d�� �0?5��X��)�1�pq+Z� V$�lgP��3~�|���%*'YJ]+2��x>W"�X��Y(�S�P���p,�ף����
�>Y��b�\��K�xx9`qD�`<�
	�We��u�	yU���2���ɩ혤͘��o=�	N
sv�&��8rxR��
f�z<�/c����`ھg��k��$('��U�^�̓��$‘
���E�w��]�w��B����:K���ܭ��|�re��C�x�(cF{il9�H��!}����d�K2��
��Z�%�݄2�N�&���M�Rm��lM2� ��l�㚱��}L���H�f���A�j6:����ͫtU,ӻ��$vm�Zi���>�`#d��A�t1ab��9Ӌ9���O�7��p8 ]����J�zZ4�I��Q�ҷ��lm
k�1��
@գ�h;�67����mW�����s�'"@߶Mu<lM oU�.[�v�"��:}P-U�1C�/4߀��==��\����A���e�(�{l�>nu��O�gjUԛ�:�>�j���.oBf����c:�w[� �}� �O�V���3c
�H���:]��Z�E��H
/�W���8�vlh������u���\���d���
�:#�"5]��}�E:�
˼Z��eq���'��i�Iӆ���I�"6� |��6"��
�x��<�Y���Vݬ*b Y	���J�紀�}
ε1����P��N�Y�)�t�
��A��
���!O
[p�v� �m�8�4�����=��m�ٱ}/�P�E'�!.]*pD�s�k��`�v h.��ډ��q03
-
�h��3!�T� ��
->4�G��_�X�2�
#�"��Wu#\&�=���<6ȃZ���?�w��>�� �[M{#͞��-as�^��ne�,I�v�v�h؝������n�kJ%G�ܧ��	�Rõo���VY�J���d
���}Z���+k����i�LJ�n��.'�
�چK�e�|���#�9�0�;/@TC��\�>G�����Eo+3$rlf��.y~<�XE�D����
)�ߤ�����OE�*;���,�3vaUg�y���'c΃�N���ʪ��\U�=�!�?���#B_�6���B<6� � {���Ҭ���i/`�
ți�q�X$O��1ȇ<8��]{�N'Q`���_(���Q�JA��d
[���h�u���7��2.7��+�ʛ8[���17�~�6zí_*U�K;���gkC>��,�=�*;�M� ��6Ϧ��.k�߼��?1tg^4� �u�{]_^_?>>�y��YZ�(����{�}b
�c�k� Ȭb��Tvi��g7=?���^j
-endstream
-endobj
-2874 0 obj <<
-/Type /Page
-/Contents 2875 0 R
-/Resources 2873 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 2796 0 R 2797 0 R 2798 0 R 2877 0 R 2799 0 R 2800 0 R 2801 0 R 2878 0 R 2827 0 R 2828 0 R 2829 0 R 2830 0 R 2831 0 R 2832 0 R 2833 0 R 2834 0 R 2835 0 R 2882 0 R 2836 0 R 2837 0 R 2838 0 R 2884 0 R 2839 0 R 2840 0 R 2841 0 R 2842 0 R 2843 0 R 2844 0 R 2845 0 R 2846 0 R 2847 0 R 2848 0 R 2849 0 R 2850 0 R 2888 0 R 2851 0 R 2852 0 R 2853 0 R 2854 0 R 2855 0 R 2856 0 R 2857 0 R 2858 0 R 2859 0 R 2860 0 R 2861 0 R 2862 0 R 2863 0 R 2864 0 R 2865 0 R 2893 0 R 2866 0 R 2872 0 R ]
->> endobj
-2796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.909 707.957 311.644 718.861]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) >>
->> endobj
-2797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.263 707.957 390.657 718.861]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.157 707.957 513.996 718.861]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 696.376 129.857 706.906]
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.867 661.406 323.227 672.31]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) >>
->> endobj
-2800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.804 661.406 407.198 672.31]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.852 661.406 513.996 672.31]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 649.451 164.178 660.355]
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 614.855 298.383 625.759]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) >>
->> endobj
-2828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.199 614.855 375.593 625.759]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.035 614.855 486.018 625.759]
-/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 578.54 305.009 589.444]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) >>
->> endobj
-2831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.824 578.54 382.219 589.444]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.661 578.54 499.269 589.444]
-/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.648 542.226 307.801 553.13]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) >>
->> endobj
-2834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.159 542.226 390.553 553.13]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.466 542.226 513.996 553.13]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 530.27 164.178 541.174]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.53 493.956 311.309 504.86]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) >>
->> endobj
-2837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.549 493.956 390.943 504.86]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 493.956 513.996 504.86]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 482.001 164.178 492.904]
-/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 445.686 285.103 456.59]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) >>
->> endobj
-2840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.919 445.686 362.313 456.59]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.774 445.686 472.18 456.59]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 409.371 291.191 420.275]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) >>
->> endobj
-2843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.006 409.371 368.401 420.275]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.861 409.371 478.268 420.275]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 374.775 278.747 385.679]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) >>
->> endobj
-2846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.563 374.775 355.957 385.679]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.418 374.775 465.824 385.679]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.629 338.46 343.088 349.364]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) >>
->> endobj
-2849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.428 338.46 430.822 349.364]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 338.46 513.996 349.364]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 326.505 180.776 337.409]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 279.231 286.209 290.135]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) >>
->> endobj
-2852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.024 279.231 363.419 290.135]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.88 279.231 473.286 290.135]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 242.917 317.202 253.821]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) >>
->> endobj
-2855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.018 242.917 394.412 253.821]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.263 206.602 330.976 217.506]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) >>
->> endobj
-2857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.949 206.602 410.344 217.506]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 206.602 513.996 217.506]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.351 158.332 333.94 169.236]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) >>
->> endobj
-2860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [339.001 158.332 412.395 169.236]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 158.332 513.996 169.236]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.783 99.103 262.173 110.007]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) >>
->> endobj
-2863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.666 99.103 341.06 110.007]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.276 99.103 443.633 110.007]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 99.103 513.996 110.007]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 87.148 210.095 98.052]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.767 87.148 320.261 98.052]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2876 0 obj <<
-/D [2874 0 R /XYZ 89 770.89 null]
->> endobj
-2879 0 obj <<
-/D [2874 0 R /XYZ 90 631.819 null]
->> endobj
-2880 0 obj <<
-/D [2874 0 R /XYZ 90 595.504 null]
->> endobj
-2881 0 obj <<
-/D [2874 0 R /XYZ 90 559.19 null]
->> endobj
-2883 0 obj <<
-/D [2874 0 R /XYZ 90 510.92 null]
->> endobj
-2885 0 obj <<
-/D [2874 0 R /XYZ 90 462.65 null]
->> endobj
-2886 0 obj <<
-/D [2874 0 R /XYZ 90 391.739 null]
->> endobj
-2887 0 obj <<
-/D [2874 0 R /XYZ 90 355.424 null]
->> endobj
-2889 0 obj <<
-/D [2874 0 R /XYZ 90 296.196 null]
->> endobj
-2890 0 obj <<
-/D [2874 0 R /XYZ 90 259.881 null]
->> endobj
-2891 0 obj <<
-/D [2874 0 R /XYZ 90 223.566 null]
->> endobj
-2892 0 obj <<
-/D [2874 0 R /XYZ 90 175.296 null]
->> endobj
-2873 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2947 0 obj <<
-/Length 2496      
-/Filter /FlateDecode
->>
-stream
-x��[K�������f)bT]�����
�׳��^f&HB���u���EH h�}D��HE�����eV���c����������AFR<���
��������x��o�?M)��6ǧh�N���y
>NgT��ߒ<J��2r_��Q1'J�!™�(3������w��# �c)���r{��V0�C�3:x)&mN\7����a/}׵X��g�"D!	ƈj����Ҭ4�s����u�It���b%�)�+��TL>bL�h�O�x>FM��
�I�I5�� ���\���*�FI[�}�F��
-
�S�'�-wI��gvb��:���N���$
-����a�c{��a]c%���vQ��e
%y;���n�W�i�)y��
�@j�4�Nꇩ0O�C��w�6sV�?y�ݗV�X�es�V�3�F#��+��ܔ:c��0�7�pvXdy��8�&���Vb
ɍD��@�S�&N�^�]C�l-c�d�r�a��MdW�Z�tRV�Uf�QDaa`)�d���
_Y��*Z�}��a�h��}C����
���tg�C
f1�aR<,�P.�-���d�E_���=�!�I9�r��)��G����-
�� Co���O���I��'
�$r(���[�楟���3�0�K�a*�(�����h��T^���eh�
�	$#�z_a�e|��p^E�"��r��4�ƨr,WN2���eQQ�\�3
�r?���'RT�j}�
-e������B)�"
�i��6na* �x0;�u�Z��ٹ�mj�J���M#��5��< ��V�3�h�s�݆�L+��N
j� mN� ��Jt���p���nsA�%3��q�'�7!+��:V3�n�xN��q=
-�hCX�m��uL�HQGm�
�5���H
q#�@��n%�Z���p����:xW䯀7��U/x
��P)�F���[	#R!{��޴���&�k:Do}�-0C�V�u�7�"�6��L�z3���Gk�΂�ݜ���mE�
-�J�o ӄﶜ:J�n^J����E&����i:�?L5��0����&;n��A~�[�W��u��� ��6)�]j�w���͙��u|rM`����\y8��������஥��7�n��{E�
�k�H�DB�1�Hk��(��"�E&�m�vB�y���&j	)#,�9�z��&�v�\
)@JQ�� 0��������
-����)r�lY���s�9��/��^� @J�Z�,����K���n�+,�r�*f�c�5J1��9hh�–MT���Xs��
3�
-5��uH �)<�b[�dƅ�B�ka@
-�Z��(�{" '�0�9Q��o���V���_����?�
�9F��
]�l�
�-�����i��E��(`�բ�_	\�I��(`oԣ@�l-
-��wF
-���f``}Q@"ǩ�Q �Hej��-A��7<�#�̘(`Ii�Y
2n���gLa�A��_

�@�	dϐ@Ր@A%����Gm�mG���)��OY��%4.&h�s4 ؗvƿs2�㰐7���=A���zC��$
-�Q����W���x�J��L��
�Y׍�
�k&����.9��CYj7��^��vs�=����vsQj7�I��OT^�q�фr���s̻���־����%�fy���/JڟY�w�_if=&��F��x�
-��fצ�F.����T��@�Xwz̘�9�u��c֙
3֙
S�ψ7�c�̎�~�
����g�0��
���
Ȏ!�;�H��)D1M	D~��?C��Zǘ�B
+�+�X���
���ZX�_��
���*^��KY
�^�����	�_�;�����6����l�b�7�,�4����3T8Z�y���<,��
rF6� �σ�6�(
�����������(*Z����]MR0Gݬ6%�r������ϱ���$P�3��
-m�n+�R
-���z?�طˬ2�p��
-��*Y�7Q;�
�a��9D�a�s80)�!P�A��&��.���aɻ��We��c�
%~n�Z�4�gn)�-�v=��
d ,�V!��z�g�
��ܖ��c���Q
����V��CY\���<�$�/��d5���hu�"�{�DOՓ^T=;s��f�/*�9�U��H�VQk�aJU<I���g;�R���Ī)"�f�U��û-���jUS`����A�2X���0mַ�SR�~;����a
-�ާ���i=@b�}3�cߐ%�ٷ�5�~�m+�_�r3c��Qh{q
N������.
�r��h��} ;�A��Ze ,H5���`���g����4��d��H6�
�/�!�����+$�/U<>�Sq�J�6t�!�TO�i�
ݗ�ܔwa�x����A��
��8[��fQ�'���~
�C�q����L}6��CQ���6#��p�wP~���Uz�.�O�����o��_^^�2C�$ާ(��a��/s�
/NE�uq ���4rk���_
�Ps��DF�a
-endstream
-endobj
-2946 0 obj <<
-/Type /Page
-/Contents 2947 0 R
-/Resources 2945 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 2867 0 R 2868 0 R 2869 0 R 2870 0 R 2949 0 R 2871 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2950 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2951 0 R 2916 0 R 2917 0 R 2918 0 R 2919 0 R 2920 0 R 2921 0 R 2952 0 R 2922 0 R 2923 0 R 2924 0 R 2953 0 R 2925 0 R 2926 0 R 2954 0 R 2927 0 R 2928 0 R 2929 0 R 2955 0 R 2930 0 R 2931 0 R 2956 0 R 2932 0 R 2933 0 R 2934 0 R 2935 0 R 2936 0 R 2937 0 R 2959  [...]
->> endobj
-2867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.781 697.136 272.893 708.04]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) >>
->> endobj
-2868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.384 697.136 349.778 708.04]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.635 697.136 447.991 708.04]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 697.136 513.996 708.04]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 685.18 210.095 696.084]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.767 685.18 320.261 696.084]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.681 650.586 299.364 661.49]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) >>
->> endobj
-2899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.755 650.586 376.149 661.49]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.826 650.586 474.183 661.49]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 650.586 513.996 661.49]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 638.631 236.107 649.535]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.338 638.631 378.064 649.535]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.506 638.631 490.999 649.535]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.71 604.037 314.115 614.941]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) >>
->> endobj
-2905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.534 604.037 392.929 614.941]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.98 604.037 495.336 614.941]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 592.081 253.821 602.985]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.693 592.081 398.419 602.985]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.503 592.081 513.996 602.985]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.922 545.532 313.211 556.436]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) >>
->> endobj
-2911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.843 545.532 392.238 556.436]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.767 545.532 495.124 556.436]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.858 533.577 267.853 544.481]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.006 533.577 440.733 544.481]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 533.577 513.996 544.481]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 521.995 178.862 532.525]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.369 476.068 327.38 486.972]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) >>
->> endobj
-2917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.46 476.068 407.854 486.972]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.64 476.068 513.996 486.972]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.509 464.113 283.504 475.017]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.832 464.113 448.558 475.017]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 464.113 513.996 475.017]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 452.532 178.862 463.062]
-/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.494 406.605 351.546 417.509]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) >>
->> endobj
-2923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.75 406.605 435.144 417.509]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 406.605 513.996 417.509]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.65 210.095 405.553]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.43 394.65 386.425 405.553]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 394.65 513.996 405.553]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 382.694 179.112 393.598]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.501 337.141 361.275 348.045]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) >>
->> endobj
-2928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.485 337.141 441.88 348.045]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 337.141 513.996 348.045]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 325.186 210.095 336.09]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.43 325.186 386.425 336.09]
-/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 325.186 513.996 336.09]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 313.231 179.112 324.135]
-/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 230.094 285.641 240.998]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) >>
->> endobj
-2933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.457 230.094 362.851 240.998]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.312 230.094 472.718 240.998]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.181 182.823 351.58 193.727]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) >>
->> endobj
-2936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.471 182.823 428.865 193.727]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 182.823 513.996 193.727]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 170.868 144.243 181.771]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.899 134.556 352.403 145.459]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) >>
->> endobj
-2939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.013 134.556 429.407 145.459]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 134.556 513.996 145.459]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 122.6 144.243 133.504]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.118 86.288 315.801 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) >>
->> endobj
-2942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.629 86.288 393.023 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.494 86.288 491.85 97.192]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2948 0 obj <<
-/D [2946 0 R /XYZ 89 770.89 null]
->> endobj
-2957 0 obj <<
-/D [2946 0 R /XYZ 90 245.035 null]
->> endobj
-2958 0 obj <<
-/D [2946 0 R /XYZ 90 199.786 null]
->> endobj
-2960 0 obj <<
-/D [2946 0 R /XYZ 90 151.519 null]
->> endobj
-2962 0 obj <<
-/D [2946 0 R /XYZ 90 103.252 null]
->> endobj
-2945 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F37 1569 0 R /F93 501 0 R /F91 1181 0 R /F41 170 0 R /F92 1180 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3006 0 obj <<
-/Length 2378      
-/Filter /FlateDecode
->>
-stream
-x��ZYw۸~���[�s,+��u�x�i&�Nܧ$G�!)���R������X��Zlɝ�A�����
[+
[?���xs��b�G�C
�qi��r���O��������/s<D|>R���}||���|w����7^a���r=+Lo�|�VſX1߳v�Rjq�ັ>���S�Wm�oy`�åi�cD��%�
�=N���S\���q�e9���S����:��OqX�.�� 4�qn�*�Vr w��w'0�0i�\�u��I
��h;k;p�(I�J�̘W��Z�	��/�0��1�#]�d��,+� �z�DX�z�ل�.r�n
0�Z#�t�`B���#_��J���6�������
<O��9�ETM�Fn[��
��ش]�9�`LI�}�-6I�jY�9ɦ�O(”�!�¦Jb�
�eT�����b{[��Y�k���|k�ʳXNR�?�ۻ���4��"�epC����+�bЊ�e.��6ŒK�ʐ�wU�y�.���S�y^�Q�g�R�_�O�'^���:.
-�
�F=Ɇ�b�v5��o�!n���
�Hk�b�0�!�x�8��6�E<n_A L$�S���
K��)��
-g��z�tလ���
�OZ��
����!�1��
x���5�o��#���3mA�
ø��ۍ��iSo��T��*JS� �)�Q��n '��{51�c
�&�!�:~��N 
-.g��iP����2
����
-wăi�;6\}��	8�o�{\1j\%�
㤲�
Q3�@�OjL��
2+�
�T�=%�ȁ�
�\A2�l��~,��N��.[n�P��TNA
�j�B?�R2�Fp�J�`���q�UC1�����Y5
���
d���N��o�v��P���:���C��3��m+�Y]&q�B9
	�����*	w�F�u�(�,�i�u׽�L��cdr�w�d3��V&�
~b;�@�ީ�F��5��A�
�
�6Ԝ��I����
���q/`���.܅�@��f|DI+
��M�Ԩ�
�O��-ˆr��&:).�
� {>��s��}�K��������d��8����G��O�U�;�Oh���Ė˦Jƿ�!�ԀM���O�
-��L�|-s2f�-us<9��rǣ)��!o?5SMK"�<��y V�<
�S�V��&
|ˇR:���������
>q:�#�DŽ�j<L��s�"HԵ=�b[��������

�ȟ���P
-���eM�$_%����)��_@��>"c�ǹ� �����|��Ny
-�v���ǩ��J�mVG���h�QD;��L�|�|ʮ��k�<w�
�x��&��$���
7�t���
�
馦���
Y�2  	rě!b-������4E'Bz�
s��re���W�LP�
�p
����c����Qw�*�
�p�|e?
�6n����f��s�
� R96@�n��
��MH޴4J&���y�V��`�~� ���O�	�JH2
���+B���A&�"ڦś��Y�>��Q.�p�tH��!I!��3�e�QW� DMG ]�Tu?כ��`�	uNA����t��(�����
y�xK<m� z
�.Eg������|$I�3>pn`���p�l �{�My������`�
	'���&�������qȭ
�3
-��,�qo��}�x�VF=|�i��GЎ�3A�J
-��ٰU���voS�	��$�R
-�J�G��@x�=�仙˕l@��=V9�����̝d��_��m�Z�L���r�J�Z�4�k�y�d>tA��%E�E*Qkv[{�I��z�hY�AV'f����y�
��(��2)��ݜ�l�����
\��2�g��`�w���&N�����,.�:/��aA�q.���b�q�����8���c�ӿ�����Ʉ��\�qN��U��#����M6��T�:p�v���^_��e��7�
�1��k�
-�>\5�`4j7D�m�����qֺ�Ձ��|�˟E��]��}�n$kx�����0�5�
��Y�
j�XP��ɼ��vY�&Bz�f?"�
	'�rq#SCs��f���~	���
,c�>���$A��5���-�9��q&��6$d
	��<2�%t�%�|�ח1�d�\ˡ7I�H�>
-��8#�$�|T����|22��w��~�WEF�GC�ވ2�{EƁ�
͉�� uP�OP������琑
m����;��S�_R�Z��e���<��^ ���\�2��Q�Sè���eP>�{]�C�����|�^f�K���p��]��_�h�?�5ȶ��I�����x
-
-1���ķ���
7'z�c5w��h��qQ�n�y]��_��v�

-+�͒�DI}�ۏ,�F�_:�kO��y�1$��>�
��� ����
-endstream
-endobj
-3005 0 obj <<
-/Type /Page
-/Contents 3006 0 R
-/Resources 3004 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 2970 0 R 2971 0 R 2972 0 R 3009 0 R 2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R 2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R 2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 3017 0 R 2997 0 R 2998 0 R 2999 0 R 3018 0 R 3003 0 R ]
->> endobj
-2970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.424 674.211 347.542 685.115]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) >>
->> endobj
-2971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.676 674.211 426.07 685.115]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.478 674.211 513.996 685.115]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-3009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 662.256 144.243 673.16]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.166 614.69 303.425 625.594]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) >>
->> endobj
-2974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.3 614.69 380.695 625.594]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.272 614.69 479.629 625.594]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.357 557.033 314.208 567.937]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) >>
->> endobj
-2977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.274 557.033 394.669 567.937]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.426 557.033 500.782 567.937]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 545.078 208.451 555.982]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.695 508.471 304.848 519.375]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) >>
->> endobj
-2981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.254 508.471 384.648 519.375]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.917 508.471 489.273 519.375]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.79 496.515 244.147 507.419]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 412.841 240.282 423.744]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) >>
->> endobj
-2985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.097 412.841 343.504 423.744]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 376.233 243.599 387.137]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) >>
->> endobj
-2987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.459 376.233 406.866 387.137]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 339.625 248.581 350.529]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) >>
->> endobj
-2989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.92 339.625 401.327 350.529]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 303.018 254.668 313.922]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) >>
->> endobj
-2991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.483 303.018 357.89 313.922]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 266.41 249.128 277.314]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) >>
->> endobj
-2993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.944 266.41 326.338 277.314]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.32 167.791 345.4 178.695]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) >>
->> endobj
-2995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.43 167.791 427.824 178.695]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 167.791 513.996 178.695]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 155.836 208.989 166.74]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.265 110.135 358.591 121.039]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) >>
->> endobj
-2998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.566 110.135 444.96 121.039]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 110.135 513.996 121.039]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 98.18 208.989 109.084]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3007 0 obj <<
-/D [3005 0 R /XYZ 89 770.89 null]
->> endobj
-3008 0 obj <<
-/D [3005 0 R /XYZ 90 691.248 null]
->> endobj
-3010 0 obj <<
-/D [3005 0 R /XYZ 90 574.071 null]
->> endobj
-3011 0 obj <<
-/D [3005 0 R /XYZ 90 525.508 null]
->> endobj
-3012 0 obj <<
-/D [3005 0 R /XYZ 90 427.855 null]
->> endobj
-3013 0 obj <<
-/D [3005 0 R /XYZ 90 393.27 null]
->> endobj
-3014 0 obj <<
-/D [3005 0 R /XYZ 90 356.663 null]
->> endobj
-3015 0 obj <<
-/D [3005 0 R /XYZ 90 320.055 null]
->> endobj
-3016 0 obj <<
-/D [3005 0 R /XYZ 90 283.448 null]
->> endobj
-3004 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F56 167 0 R /F92 1180 0 R /F23 168 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3065 0 obj <<
-/Length 2372      
-/Filter /FlateDecode
->>
-stream
-x��Z]��6}�_a�2s�)R���6�n7MfQ`��P,�-Ԗ
I����^R��F֌'A�3�h�����K�t����OW�o���t������vЉ�Q><E���&\Mg�R��v���)��v}X�Q6e�ۦ�"\Ng\Q�eZ��m������6�m��V1)�g����/W���p��:anHE��,6Wo��IտL(���m��Dr��ɛ�߯hi�}��+巼bLz��3ʹ�'�К��ۙ?��(�ѺlY���6�B�@��+o?���We@ ��v3�)N�,,����!�2��7��`7RE�
�E����p�#8Ӹ'8#Lb<�c�
-l~	��mv�ճ/����6�
�`>ö���8*9�1FUƱ�.�zd+t�pX��/�|�x���;}i'K��!̛��]��r b`��}�
0�� ��
-�
-�R8]ݭ{ڸ�b�Bn�u���\N���}���p�	p&Z��\�m��p�����i���gIw}Y���Ҭ[�kh����
�Th/�8r��9���1
-��|���(?������fѴ
�>�| \Մ��j3�
��D�fj�\4�q1���b
��$������pΟ���v�S1Q�\_����D�}D/תa"�Y&b�	 �K��LI�.]�E9��舕HG�tt���H�gg)��H
�b$�����Xeٲ�o1�P1"%��MS��3�A�j
%E�HN’���s�+s̓e\�_����f��Bt?�l?�$�[k��
U��l��M�k�=�jaDŽ{��
-�����c[�
-�b[~�ʊ�e�V��r�<u<l�{�
�)���N���F��C����=1ȅ$�0�
��Iz<ȃ���|���&�o
9��l�"
�~
-�[+�ٓl��V�
(?�
s�m<
fZ�qD����/�� �|���e�0`�*iq��
k��/� �F
�|կ��y�X��"�K�������+�dfX�{�|���k�]��9nikX� ���ʂ{v7U�>+4�ZC��?y\I���	�
��|O��_
-��&��s�v+�6�b��\�gk�:�U�؅X��aU�
:9A�i�P

~�C��O�R�
S܏R�m����f�vS�z櫻�z
�y�L?��~-��z:<J?ˠ�`]��\�'A����=�r�v�8�(�DiB�<�w��j
-�P���D�{J ˵��g�-΢�O�n�
�
��'��0��`<��"��fz�A�=� ����G�O����	�EM�����=�T]�0
`p�5�
�E�&N��8��>C���t�|�{6��尝���!��ns�����.� ���;\ϖq6����.��1�ɨX�D���~�+o`|����y
�8��",�m�7V���˹I�.�7�_�*��0ck�N��}o
�+�
�Whڨ�
��� �Q�+�kb�î
yi�]�h�n���
���v�[� |J�üXA�W�u��	��,;�4J0��.\��\�B'8�:I	gO}ّ:���\
��
�9
��S}��nxpv��p���u���%��]�.�+
�l�/�����w�N
��åʮ���5�֥�E��&����H{L�	_���K
��V%8y5�}K�����(?���}�@%��7\�*.����X�����?T��I�)^���\����/���챰��4_�
eR����r_u6�p�k�m�		��ёb7��6�0���ɼ��Q��

-g�K}�&�?�+B�_5$���Wq�>�V����\(�@�Js��+�t�i�g�銡d����tj��N���}'�fC�v<��u��U�./
�Q�.�{3;��`8�
�s��O�/
���?qyٻ
���v��+4��<��-�N�5nKU�m�����s3R7�^
:�j�+�����ux(�r�3�4�pW���@�׉`ٙu!�� PHiN��

(:��>R��c����ͽG����-ɥ:�c}�Y�`��2
�
�4�Q&�܈}s",B�	��G��"&�",�
(2 h�0�"�Օc�akN)�ش4M��;ƈ�ҍ���8��*�r�6�H���WmQ��4�K��a��ge�u�9Fv�Q��.(�`�d�pљkɝ�
-Y��XceK �
��eӪ+���k�ii.~Sj.�4�P�ˆ�����ɮ���W&��?wU>�#��ܵ�9+����G�R��}cW9!�WvC�m��G�Z�B����,���k�k�.��e���/���
P��<ξ�*e����˭�˗˝3�(\%����w�k����չ���_����4��K��eU��]_��{���]��2�� ��-t'8 �����[`�f��·$�ʍ=l����� ��K!
-endstream
-endobj
-3064 0 obj <<
-/Type /Page
-/Contents 3065 0 R
-/Resources 3063 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 3000 0 R 3001 0 R 3002 0 R 3067 0 R 3022 0 R 3023 0 R 3024 0 R 3068 0 R 3025 0 R 3026 0 R 3027 0 R 3028 0 R 3029 0 R 3030 0 R 3071 0 R 3031 0 R 3032 0 R 3033 0 R 3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R 3074 0 R 3040 0 R 3041 0 R 3042 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R 3049 0 R 3077 0 R 3050 0 R 3051 0 R 3078 0 R 3052 0 R 3053 0 R 3054 0 R 3055 0 R 3080 0 R 3056 0 R 3057 0 R 3058 0 R 3082 0 R 3062 0 R ]
->> endobj
-3000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.935 696.832 356.401 707.736]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) >>
->> endobj
-3001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.046 696.832 435.44 707.736]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 696.832 513.996 707.736]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3067 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 684.877 208.989 695.781]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.88 638.717 369.592 649.621]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) >>
->> endobj
-3023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.182 638.717 452.576 649.621]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 638.717 513.996 649.621]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3068 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 626.762 208.989 637.666]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.184 580.601 267.458 591.505]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) >>
->> endobj
-3026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.352 580.601 370.758 591.505]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.376 580.601 513.996 591.505]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.474 531.452 322.349 542.356]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) >>
->> endobj
-3029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.533 531.452 432.94 542.356]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 531.452 513.996 542.356]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3071 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 519.497 208.989 530.401]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 482.303 265.716 493.207]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) >>
->> endobj
-3032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.532 482.303 342.926 493.207]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3033 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.368 482.303 451.668 493.207]
-/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-3034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 445.109 269.592 456.013]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) >>
->> endobj
-3035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.407 445.109 346.802 456.013]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.244 445.109 489.864 456.013]
-/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-3037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.699 407.916 310.76 418.82]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) >>
->> endobj
-3038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.169 407.916 390.563 418.82]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.84 407.916 513.996 418.82]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3074 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 395.96 129.857 406.864]
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-3040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 360.759 276.814 371.663]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) >>
->> endobj
-3041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.63 360.759 354.024 371.663]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.485 360.759 463.892 371.663]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 323.565 301.442 334.469]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) >>
->> endobj
-3044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.258 323.565 378.652 334.469]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.113 323.565 488.519 334.469]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.633 286.371 194.429 297.275]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) >>
->> endobj
-3047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.772 286.371 276.166 297.275]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.796 286.371 385.153 297.275]
-/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-3049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.855 286.371 513.996 297.275]
-/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
->> endobj
-3077 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 274.416 250.255 285.32]
-/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
->> endobj
-3050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.803 274.416 475.051 285.32]
-/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
->> endobj
-3051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 274.416 513.996 285.32]
-/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
->> endobj
-3078 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 262.461 290.095 273.365]
-/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
->> endobj
-3052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.412 262.461 452.716 273.365]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.632 204.346 372.328 215.25]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) >>
->> endobj
-3054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.67 204.346 451.065 215.25]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 204.346 513.996 215.25]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3080 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 192.39 180.776 203.294]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.192 133.279 357.51 144.183]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) >>
->> endobj
-3057 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.412 133.279 440.806 144.183]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 133.279 513.996 144.183]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 121.324 180.776 132.228]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3066 0 obj <<
-/D [3064 0 R /XYZ 89 770.89 null]
->> endobj
-3069 0 obj <<
-/D [3064 0 R /XYZ 90 597.868 null]
->> endobj
-3070 0 obj <<
-/D [3064 0 R /XYZ 90 548.719 null]
->> endobj
-3072 0 obj <<
-/D [3064 0 R /XYZ 90 499.57 null]
->> endobj
-3073 0 obj <<
-/D [3064 0 R /XYZ 90 462.376 null]
->> endobj
-3075 0 obj <<
-/D [3064 0 R /XYZ 90 378.026 null]
->> endobj
-3076 0 obj <<
-/D [3064 0 R /XYZ 90 340.832 null]
->> endobj
-3079 0 obj <<
-/D [3064 0 R /XYZ 90 221.612 null]
->> endobj
-3081 0 obj <<
-/D [3064 0 R /XYZ 90 150.546 null]
->> endobj
-3063 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F23 168 0 R /F79 234 0 R /F85 313 0 R /F93 501 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3125 0 obj <<
-/Length 2121      
-/Filter /FlateDecode
->>
-stream
-x��[Ks�6��W�Vj&��~tzJ�m����$�a,��D�
����� MR��n����X`w�o��pt��ǃ�G�?(
d$���idp��AB��"z
k:{{�2bR#b$|T=}�ۯG��z�ʾ;������W8"�{���N.^���
��0bFG�U���S��ѫ�?�W�*	�D�B�P� B�o(U��g���8���?��g^�?�����ry��jys�.�U~����cv|�-�<�ώ��:;˻�)��,����z2�����U�.�J�eH�E��i"
S'��:J��$�S��n�^�Π;
�穽�)�͸�W���"�"�p�m�Z��QH��}�v�a(e��H��
�$��;���u�~�J�^�U5��WNoW����O=�	�t��	��8vv^�
���a6*6
�F_�P�k;p�S��괧�9�0����`d��KRZw��މ@Ґ1+��zݧq�V�A�qЗ"�̔�+ϕ�����	�����!����0D
�O�.���Ǒ�r<��h��w��z��
o�O7�g����z�v@"���%��
���/��D�_3⍾�J�ڕ�Pz�N���>�s&b���?�`�v�A'D��EV�����H��I�Ag%����\��
�`�N�ܘ��iuM���`vn��3)❣���[@Ȕǯn�ez�/�dm�.�r;A�w
-HP�Q��������kղ/GF7
r�+��c$��SÊQ;������m^7m\1
WL�+����wP�����°p�
�"cR[#��!u-6#���"m�����x���Jlewŷ�`�pⴰ!�NO��TB�6�ݕ\T�_�ط~�v�^�P�4�
�dݣ�#,'��3�깛5��"��j���ˎv��Z)�?��UK�
���@&��W#�&��.󓕯�F��13����/�+78��dmCH�ď�wUw�\Р���~�.��*=��;ϳW^J�[% m��d/��aa�"`e�r
��a�$V[�7	��$[&�iW��џEQ���5� �������T򳊍奌;��k���c'Be���[D+S-�>����k����|���IM
����$
&>��V�ӼK|&$>�!>�����/Ю!>3L|l��2b>�]����
/�y�ՆU,�8�Z���Q�p�H�Oq�lah�ҏ�{.�nu�&.�@��	�� ��Gl�+-^��mR�lE�<��ǯ�躰\EW+���S
�j4�Y����h�d��0��	w�e5;᚝�v�C섑l�Ӄ����(F��*��c��U�Ud
	��K�}���T�[��U�!���h���%��؁�w��|1}��.O������K��Ѕ�e��NHBESu�-bÈ�7��kLc}�>���qĥ�t���˻�
*T��k��(���C�KMX���5h|zU@E=��D��� �m5?{��T��"�[fZ�vZ�����
-�LW��oE[�%
�|�c�/!����jjhE�tI����mu�/~7m猓�;�}'z����y��$

:�}؂5$[��i������7N�G�,�����,Cw��W�z�Ļ��U�r-�î"\��m��ʄ@L��8߲�E�R���T�
- \���'n�
���>F�VAVZ�U�cń�>���}�U���j-�b_-��ا�s���>;�v�o���d�v�� �G�&�r�?��){_��^Pl��=LJ�_A1+h	��b
>r�Coz4S�w�C
��4<:��f�{�C�=t����=t}�#�n������!]V�N�!���loBg
�|քN�"�}B�O��	�>��;��=�t�NM޹����\pp�����g4��g4
�ܿ�F�Ŵ�k1m�{}���
?�?�>��^wڠS��?������r��X1�H�J#}�����_���������֛���'�ܒ���#�,��B��"�U?������?g�q7�\�����*9�߿� zjQ49��Z��73!���$�y �l��v�k��#� �SP�x�*M�d�x�W?�,����
t</��o�����]��e���
rؚ���ȥ��DҩK`X|�*R7�,�^y0���)���
-endstream
-endobj
-3124 0 obj <<
-/Type /Page
-/Contents 3125 0 R
-/Resources 3123 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2824 0 R
-/Annots [ 3059 0 R 3060 0 R 3061 0 R 3087 0 R 3088 0 R 3089 0 R 3090 0 R 3091 0 R 3092 0 R 3093 0 R 3094 0 R 3095 0 R 3096 0 R 3131 0 R 3097 0 R 3098 0 R 3099 0 R 3100 0 R 3133 0 R 3101 0 R 3102 0 R 3103 0 R 3104 0 R 3135 0 R 3105 0 R 3106 0 R 3107 0 R 3108 0 R 3109 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3114 0 R 3115 0 R 3116 0 R 3139 0 R 3117 0 R 3118 0 R 3119 0 R 3120 0 R 3141 0 R 3121 0 R 3122 0 R ]
->> endobj
-3059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.88 707.957 316.987 718.861]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) >>
->> endobj
-3060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.577 707.957 393.971 718.861]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.026 707.957 503.432 718.861]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.106 649.731 297.836 660.635]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) >>
->> endobj
-3088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.651 649.731 375.046 660.635]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.506 649.731 484.913 660.635]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.594 603.46 421.847 614.364]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) >>
->> endobj
-3091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.151 603.46 501.545 614.364]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 591.505 224.501 602.409]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 591.505 363.618 602.409]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.887 534.275 400.763 545.179]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) >>
->> endobj
-3095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.36 534.275 478.754 545.179]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.973 534.275 513.996 545.179]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 522.32 206.788 533.224]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3097 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.601 522.32 345.905 533.224]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3098 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.816 465.09 368.48 475.994]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) >>
->> endobj
-3099 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.007 465.09 448.401 475.994]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3100 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 465.09 513.996 475.994]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3133 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 453.135 180.776 464.039]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3101 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 453.135 319.892 464.039]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3102 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.376 406.864 353.663 417.768]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) >>
->> endobj
-3103 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.748 406.864 438.142 417.768]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3104 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 406.864 513.996 417.768]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3135 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 394.909 180.776 405.813]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3105 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 394.909 319.892 405.813]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3106 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.568 348.638 425.899 359.542]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) >>
->> endobj
-3107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.177 348.638 503.571 359.542]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 336.683 224.501 347.587]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 336.683 363.618 347.587]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.027 257.535 412.981 268.439]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) >>
->> endobj
-3111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.718 257.535 497.112 268.439]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 245.58 224.501 256.484]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.314 245.58 363.618 256.484]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.386 166.432 373.128 177.336]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) >>
->> endobj
-3115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.224 166.432 451.619 177.336]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 166.432 513.996 177.336]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 154.477 180.776 165.381]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 154.477 319.892 165.381]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.946 86.288 358.31 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) >>
->> endobj
-3119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.966 86.288 441.36 97.192]
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-3120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.961 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 180.776 85.237]
-/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-3121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.589 74.333 319.892 85.237]
-/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-3122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3126 0 obj <<
-/D [3124 0 R /XYZ 89 770.89 null]
->> endobj
-3127 0 obj <<
-/D [3124 0 R /XYZ 90 721.073 null]
->> endobj
-3128 0 obj <<
-/D [3124 0 R /XYZ 90 666.444 null]
->> endobj
-3129 0 obj <<
-/D [3124 0 R /XYZ 90 620.173 null]
->> endobj
-3130 0 obj <<
-/D [3124 0 R /XYZ 90 550.988 null]
->> endobj
-3132 0 obj <<
-/D [3124 0 R /XYZ 90 481.803 null]
->> endobj
-3134 0 obj <<
-/D [3124 0 R /XYZ 90 423.577 null]
->> endobj
-3136 0 obj <<
-/D [3124 0 R /XYZ 90 365.351 null]
->> endobj
-3137 0 obj <<
-/D [3124 0 R /XYZ 90 274.248 null]
->> endobj
-3138 0 obj <<
-/D [3124 0 R /XYZ 90 183.146 null]
->> endobj
-3140 0 obj <<
-/D [3124 0 R /XYZ 90 103.002 null]
->> endobj
-3123 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F79 234 0 R /F85 313 0 R /F23 168 0 R /F93 501 0 R /F92 1180 0 R /F96 1568 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3145 0 obj <<
-/Length 2246      
-/Filter /FlateDecode
->>
-stream
-x��YKs����W�-�*s8
0pr��(��d�>�*̒Hv�5 j�����sG"�J%��b0��~~ݍ��
���⻛��W)�d,Kd���m2�I������(eRo/�<:
��o��G������V���o��~{)5�^׽mwya����n��ݔ�����~����7�_`�o]�Yj6�����)a��
g*3���t��R�s�yw���ܯ�$M�1 M�4"�L�0�	A��3&����$�q�'� �w����$f�$p�;�D;��,��z�������mI�T5M��5oZ���禁A[=g���r��S�5ֿ͔�Y�]W���pq�n�X,�/�E�Űad��4�<U�����div�i2�W���JR�t�σ����2�ƅ~�:�d
�ҭ�Qg�~0Ω��O�|]uF�ш�f¨Ⴂ
� SRO��{"��[~@/]�W�o�ˁ��'�k�_qwl�Ұ��RL��<CG���ha��
-`�
'����K��4�S�9�#L6�ծ]�
��L-T�0����$~�\�W$�$dR�����8@ ��Þ6���0FW\��(���t��R�"�<�^+3Z��(R�9i)��j%�Jb
-[�7$�
��Q�?������h�ѝ��Kw�U��A'���<L�B?^zX��3&�y����d�e�u�X��K�z��{� (`Ԙ��Y�/P}�D���mu���&j
��L�
�������bı�!7�=�R��;�
`@��/��_v����7o�
D�6��Zs>���Mr��f�"���?�S�8Z
$��i���*"vl������VD��0�

LA���Y�9;
�#��N����2
��5t`�o��*���h��7��,cƽ�����IT7=��	�mE���t at 0��&jJ����Z([sA��e���v���dmM���p<�3*��4��%-45r��;Kk��q_U?�u}އ%:=�z
��u�b�\�54h���M:�t��A0�)�P&�%ۄ��&�����4�A�@R�ƕ��+��`s��	Ǫ����(�����Y9^H�Nȁ�omO��
-��)3r�* Pʸg�cq!�0�T
�}�>�f
-
-W�4i/�$�X=�O�2#����H�ܔ%�_�}���Gp�+4>:�8.s�+@�� �(в
-�B�Ј���=9��|�q�>��p���ߵ�:��( :��!��m���
-VЌ��h�ː�WSy%}I>�!�@���C^Ci�"

����}u����C$��P�W�
IV-��	�<X_�	���ҝ�w
`��s�x
-��0(NY��A	f��9
!F���y'��l�
���&}V{�V�.;"��
Z�}�����Z.�5��(R�:��1m�����:�K�hp�b�s�2��GE��!28���`�p&Rs
%٢�Ĩt�؎�Bݧ��UEڷˮ��_�4	|��7q���jϩAݨ�a3���chfe+�6�� p��	�޷���fa"Ђ6RB�N|�X�K9=��1�v� :��>ΗG��Ł��*\a)ܚ�k5.X�&�[�Ԕ�Nm���u .�u�QC
-q(g�RG����R���ʽ<yY�Pl�셀��'+�[�-�R��v]�
-��eV��>8�4���CK���<sg9pD�냝PfOE��B� 9��<�@�jZ[� 	�M*��RK��x�r��z)n�n;��wO]otA�+B�ɩ��
B�
��0PNW)S�>�řa� (�8��0�c ��`Xs =��Y����I����kz,�!�T�
h�G��:o/\�j
�Q�2
JE������d _r�Y��ĵ���B=��[��C�V
�a�;�!_�>,>���ܟ��{�!Q��T�ūh
��/k�N�k�1L�
J��~8�*�J� �J
�D}� 
�
‚� A
�+L-p��_���\<{�8��Ѐd�,4��
h�53\�C�
A?���	
-�RX��p�����crC��Ob�����
-X��|1x"
�']/'����=-�1�q��$<�^�����Eb�n���pf	�d�̦�+x���0)�� Kg@�����.������
|Dgf�����ku{@�+��}̂՟�
P�^��M�c~�Ͽ^}Ă�_;��a�u�с��������Q�������
-�wv��H��
�/��'��
�-}����t:��c�uulY�_�\�����'� ����q�����5�gv�u(Hw
-endstream
-endobj
-3144 0 obj <<
-/Type /Page
-/Contents 3145 0 R
-/Resources 3143 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3142 0 R ]
->> endobj
-3142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3146 0 obj <<
-/D [3144 0 R /XYZ 89 770.89 null]
->> endobj
-3147 0 obj <<
-/D [3144 0 R /XYZ 90 648.863 null]
->> endobj
-3148 0 obj <<
-/D [3144 0 R /XYZ 90 493.343 null]
->> endobj
-2580 0 obj <<
-/D [3144 0 R /XYZ 90 469.787 null]
->> endobj
-3149 0 obj <<
-/D [3144 0 R /XYZ 90 469.787 null]
->> endobj
-2581 0 obj <<
-/D [3144 0 R /XYZ 90 321.663 null]
->> endobj
-3150 0 obj <<
-/D [3144 0 R /XYZ 90 300.873 null]
->> endobj
-2582 0 obj <<
-/D [3144 0 R /XYZ 332.797 200.653 null]
->> endobj
-3151 0 obj <<
-/D [3144 0 R /XYZ 90 177.706 null]
->> endobj
-3143 0 obj <<
-/Font << /F70 201 0 R /F79 234 0 R /F85 313 0 R /F93 501 0 R /F92 1180 0 R /F96 1568 0 R /F56 167 0 R /F72 203 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3156 0 obj <<
-/Length 1544      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W�V��|�"�޲H���6ź�!	�L�Bmٕ�8��
j��ʻ�l[�@O$�"���P�[y��a�j>�z���(�7_z�T�j�}�u0�4�P�p��^�r3}3��{���ɟ[�cx^��d;��z
 ��(����G[/�ƍw;�uB�(�H:"��b�4B~��ҏ�)�~�f�J����72�
g�(86c@�N��:-�3���<dI��2���v�H?Rʍ�-�7�]V�y�f%n��4[�����&K��>��8��H�F".k&�K��'*�$���G�p(y�B����Eq��kٙ��N�Ϧrٌ�����ZJ�t/@%.�o��1-
�|�r���`����SD1���w)�%��3F)\d�õ����]f�w�w� �nsZ��Jϻ%N�w׻l����n�5�V�G*��`�h�rA�r�����&�	�(�
-��������$����hAp�\�-h������=�,$��G�k£��A2wMԽ�͛k>�f�f�i$�f���jp�_��yuH7
�i����ό��i�8�ɫ��2�m��*,��};�-q3iLQ�� �`�~�$���$�����)�I��5ln�,�]�']����$7�N.#$�dv5�4�K7.�)��@�ZW4��WG�H4���(D"��rYc�K��
�JuL7���ڀQpQև�}���"ݚ�H�����
��
A#uU��6A@������
��j4�)٘QdP��Ƞ(aZ?
-
J�
��
�A2�hx.v��y��.B�4,�8*)lz١	C�
,��v��Ė^�-�	K%L���-<X�#� ͅ��`�$P���
�y�T�CO�
4�H:��5f�&����8��
-�DA��������@��kpBE�&Nv�8�T����ng׮4�N�-d������&N�
k��-�`�
\1W5q��m�*�P�ݼ��BB��}
�!v�El�y��77�rg��i��Vi�ߘ�i��#�A~"�k�y�Q\Z�7��{�ݝ�f�䶷ibb�%r����m6xt�}�
.
�9����5
-��@�3]#��0��q�� jA�G�I�#8$���Q���Q�aJ� ���6pK� ����
-`��0�6�V���i��Z��`?c*S������0�"��!����ͮ4�$`��ꁱd���'�aU`�P\�H
���l���_��\���\7��gw|�%
�7=m���
�}��� �ؿ��q
-�#Ͻ�����N{4�q��26�{v0�x��¼z�f��d�=�o�"?�
�-r�{4�Lb$5�$Lw^�V�*݁����0��=��~o�P��[����??�����7d����;6�o,η�����Ub�}�~�����k��]���ʝ�1+M������
-�7��/���qv�7�g�eirg@ �0�mbh�h�ߚ��x��Ie�V/��"˺,�/����#I
-r��}N��
-@��>η�0�
�B�<��F
�
��������hg�(
-endstream
-endobj
-3155 0 obj <<
-/Type /Page
-/Contents 3156 0 R
-/Resources 3154 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3153 0 R ]
->> endobj
-3153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3157 0 obj <<
-/D [3155 0 R /XYZ 89 770.89 null]
->> endobj
-2583 0 obj <<
-/D [3155 0 R /XYZ 90 669.851 null]
->> endobj
-3158 0 obj <<
-/D [3155 0 R /XYZ 90 651.703 null]
->> endobj
-2633 0 obj <<
-/D [3155 0 R /XYZ 332.797 549.954 null]
->> endobj
-3159 0 obj <<
-/D [3155 0 R /XYZ 90 529.65 null]
->> endobj
-2634 0 obj <<
-/D [3155 0 R /XYZ 90 357.566 null]
->> endobj
-3160 0 obj <<
-/D [3155 0 R /XYZ 90 339.418 null]
->> endobj
-2635 0 obj <<
-/D [3155 0 R /XYZ 90 195.326 null]
->> endobj
-3161 0 obj <<
-/D [3155 0 R /XYZ 90 177.178 null]
->> endobj
-2636 0 obj <<
-/D [3155 0 R /XYZ 332.797 77.486 null]
->> endobj
-3154 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3165 0 obj <<
-/Length 1729      
-/Filter /FlateDecode
->>
-stream
-x��I��6����UbqQzJI�v2�v�h�$0Y��X�+�q���QO�-ϒ��9��H��H��C�_&�o&g/5u|�+�����SG{>�
-z
睫	�������f~5���6��h�O�q�t^��K�J�(_a��?�eT͉�j�yB�FN?��:yq3�g�@�0�Rm�0���@�
��P"|��I��qύs=�}B1�X'<���
-�i	rh�$������1�P��6�D��,-�<����ۢ������T�S����y;��6DkRWr��T�,�/�&J�f�v��)�$��f�;Ù	�E�3�})���c���2F��E�Ѱ�����������!��fһ<�e���3��͜1-�'<g�q¸�+���͢���n��4�r����ƶ6x�b?��)�.�+NW8T�#l��l;[�3l�Ҩ�{�q�	���
�
�y͔ ]��y\FC
��rS˲���j�6��Hn4�
:2�#kGL�����s�ȣbL
�!�wVC}4�E�a�'�j�-�'ݬ��n]3&�>�l�������Y\l[L,�$J��Y	>q�Mc%�v	���B
��`�q�
��T&�6�_S%� ����0�n�L}���y�f
[�s�.wiXV�`C�-bHw
�o���
B|�*��-:-6����Q<��(OG��9�X�mQ,;��<}
a�4�m���%�Fv�A��Ǩ�O�!�0>�`Q���a
yU5>�	6��� ņ�f , s����-�#��%�*�Y�u����5`�~Zkʾ��
-|i]Eı���)�}���lN���@���4�!��0:@6�X�Y�o0!`�M �H
cak�QR+M���V�+����԰Y�C-�aI
��t�Ԃ0#~������ f Y�����
���r����1�6�B��PVS3Z�=
L�?z�
���2�$k6�!�26�죋D�Tl�
�$�8(���#4��7$��
Hh���wG�W�M��
$z4���
-V�V�#H�Dh�v����[9ǵ�s��/�lM�u/���փr��O�s�O��+���
�9ܡ.��r��˹J�`
-�X-B[�)����+:�����Ծ��;��}\��`J���K\b�y�~��#�n�;�uO��q}&����NKs at rA�߆��NJ�������fcǴ��v�<�;�|�ミ�8=XU�ه=�~�-+.�y�m�}�� �
#U|t�G�
-J	�C#��F�ww
? PP
lV�o�`w�Ί�hNK�ʤժE�d����A�f5FqY
��*ty贁��_1�\��9�졂���6
a}�wGX���ӊC$�G�U'A/��h�z��eVF»!T�ޱ'�9�

��\�� +mF�<
��z�
��p��ӔY�U�-G� Jz~�WW��7��.^�����������������7�_=�3��DP9(��y����c��W���3T,�ߥ��q�2�.ߎ�Y�է��ڃ�z��,��f;�{a}D	! ��^m��E�Uمe���7͒8�43��ja{�W����C���+��j�W�f��W�p at I��+��p��A���S�aY�o/�y��b�
�\�j���x�n#k0����R�.x
��Jm�7!��Q^Wi0H�x&�r��{IϽ���B
|r��o�*:��y��t]�ۧgg����٥�6'qyG��q�vaP�����%�C�� pd>�ӿ�ha
-endstream
-endobj
-3164 0 obj <<
-/Type /Page
-/Contents 3165 0 R
-/Resources 3163 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3162 0 R ]
->> endobj
-3162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3166 0 obj <<
-/D [3164 0 R /XYZ 89 770.89 null]
->> endobj
-3167 0 obj <<
-/D [3164 0 R /XYZ 90 721.073 null]
->> endobj
-2637 0 obj <<
-/D [3164 0 R /XYZ 90 558.829 null]
->> endobj
-3168 0 obj <<
-/D [3164 0 R /XYZ 90 543.508 null]
->> endobj
-2638 0 obj <<
-/D [3164 0 R /XYZ 332.797 442.325 null]
->> endobj
-3169 0 obj <<
-/D [3164 0 R /XYZ 90 424.847 null]
->> endobj
-2687 0 obj <<
-/D [3164 0 R /XYZ 90 257.098 null]
->> endobj
-3170 0 obj <<
-/D [3164 0 R /XYZ 90 241.777 null]
->> endobj
-2688 0 obj <<
-/D [3164 0 R /XYZ 90 77.486 null]
->> endobj
-3163 0 obj <<
-/Font << /F70 201 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3174 0 obj <<
-/Length 2226      
-/Filter /FlateDecode
->>
-stream
-x��Y[��:~�_�ۚ�E�����SB8)���
H��1��c�C��~[��cf*�a�,Kj�����v��=�{�v~s���{!
-=���^�{�"��۲��	�����
�DB�T��n:M�39v3���~C`�����z����7�[B��
F,
zG5i�s)��7���
��
-!����(G�����e�u���"��t:\��)v��ύX�}8Y�X��n�9zL��"�v�����?����h8��C���_1�r��%J)t�H4��V���1ӓ�S}�����~��X> 
q\��k��r�G��EyAk#B�!����	#��H���j� 
��T�w�E]Q�m���Y/��_�jҗ\l�R,���;�9`�!���Kơ�x{H��Bb!p�T?
�:{��
���4S��<���`3#
 ifkc�ݜ ���-

d72;�"I�Z�J�h��r��N�
7Y!tS��O�S�q@=�n���e&��
;iV���Xv��q6pk�e��ח��z�#�[���&J���j��\7ʍ�IE�r���_�\�s�/�Ǣ4D�e.�����%��e���jR�T�K
�� M|
d��Zd���%eo P7�'�ˢd��\N�
��ԭ\v"-�
-}8�$�	�N}�����<>���t[�=�N7��nX���~��}����=�^
'of����������ͤ�IG
�@��
S�-�un5���� �5 �t��d��f��ku��;�+��I
-�\�Y.�&_���B�#��4����.�
�懸������i�K�m5�:y�k�!'����孠Ƭ���L�QOI�I��Jͨ�Ջ�
���O8?��?��պ���k�C�?�Ka� ��;|
7"�^��+7>�o��<
-����/
���c�r� �\�����>��g����g�8�}`�!�����¢�jh���=�8�1p�갅��q�P
򴐣\R���f� UX_���L$Y�!߅���a�k	
qe+1Ke�%%��L�2[v<&�1)�r�Y%[U���U�.��x�
��؀Ѥ��:5�;�.�1�O�
P$0.v�e���M�����6�-ލg��ӹ�}N`6�ո������a6�g���{���p���蝑P��F�S������4F3u�
���E�'���Ё��G��/D}�:

-|�9p���tK���e�(�ߺ�|=߾��#��+��
^��
��g��V�
� ��(םt���W�-��5���n���v�-����g )�vH����n)	m��p�k����~\�[
-��VJ��
���S�U
�^m6t�t+_T�#eV�j�,#(��*��~��:����	a~z;��q$��4��C����K
�y�����`\�%��C�;�K��% �^�E���WhN�gf>%�T��#�&$H��=GH�]�/F?��G�"9W�`�i�c+:4�	�i���~��X}ŘƉ8�i@�~�{q�/Ҏ�)��
�ܠO�W��ރ��E����b��Yu% )it�����r�uѽ>�
ťˁ$���qh�uX
-���u�>ۀ�
K
*�d�+S>�Y��4){-�T
���-�G�w�&8�A�sb6W%�����W
-uR���
-�Wl�
ҥdq��ʳ���1����vن��a���U��jjUS���8*�V��5�]@��`����S�\W5
�W�7����0Uhڈ\tY����3��H<Q��jVIUb�E��~ �].�	v��^�k�<ډR�%߬c\G�H���b�U��w�A�G��1vA�5
.;M0��>[��v�++2��&��g
����'�lUp8-���_�Ѽ̪���U�3�)��U��v��
�/�N)UUtmz�
-&��
-�����[۴�^������]��!_UNv:~�=c���:�:Z]0����a)d�,��`�}���
� 7�;
q�S��B7�~H��r�Rihm���7���Wr��9l��m�Y�cT���˜c�X?2��e~~��0�T��|�Ta2e�:���6�f�!�ӹ���O���y�l[va�f��J��>������$(B>
��IW��	�A�x/��l��V��"=:I
�(��_�z�$Jׇhm�ǐ��+ab����_��;���U}�1�����N
i"�2�B�,�:3Qq����^��Ǎ:��.�B��Ϧ,���=
�(.�!M�9J�[Ho�b�Y����&���@��8ؐ�йS���9����'
-endstream
-endobj
-3173 0 obj <<
-/Type /Page
-/Contents 3174 0 R
-/Resources 3172 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3171 0 R ]
->> endobj
-3171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3175 0 obj <<
-/D [3173 0 R /XYZ 89 770.89 null]
->> endobj
-3176 0 obj <<
-/D [3173 0 R /XYZ 90 721.073 null]
->> endobj
-2689 0 obj <<
-/D [3173 0 R /XYZ 90 565.225 null]
->> endobj
-3177 0 obj <<
-/D [3173 0 R /XYZ 90 550.479 null]
->> endobj
-2690 0 obj <<
-/D [3173 0 R /XYZ 330.436 427.557 null]
->> endobj
-3178 0 obj <<
-/D [3173 0 R /XYZ 90 411.027 null]
->> endobj
-2760 0 obj <<
-/D [3173 0 R /XYZ 450.246 311.643 null]
->> endobj
-3179 0 obj <<
-/D [3173 0 R /XYZ 90 294.74 null]
->> endobj
-3172 0 obj <<
-/Font << /F70 201 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3183 0 obj <<
-/Length 2016      
-/Filter /FlateDecode
->>
-stream
-x��YK����WdGR5���aS@so
̡X
S)�VCl?Ȅ_O˒�QNr��a��z��[�_?��9�7��q���IA��q;�x�{qo����G�/Wc�8
�wK���Wq�$�"��U�[�(Nj�J�0R��g�U��5C�c|�ˏ�?̾y��9#��s$G~0��ه�x
��s��
�fQ:�(������
r�ń{B!����4���HrM�Yqܛ#*�C���%I	�3�P�:�G��
]O� �v�A�M8�+Cv��Y�b3�-��<��|I��/��^�1��f�
v�2#���"k��Y��H�|ڱZ��u��JA��KdxlH&��
��L���0fΣd@�[K�OIZ���8F��v�[���$�7_��H�-�<�*EF�;�V�`�k����S�Uy
�k {�бV���DŽ�ޅ("º�� �k��&Y�&��)��k�q��7̱��YY9�԰$�,1 ,.|a�6��S2�=D��;�m���X��h��,�+
惗{S�q�#"Y���cޜ�&W[0%*��������e���G�)�� [...]
��K�l��	Sr�
�X�J���!ի� ���B�C
�s�L at 0cU>��m��fS֛�UTuk]Ɍ@��g��ӢS����]Lb�5�)D)���ץ�8MB{���U���:5(l^��d�����04��.@]�B �ϒ"VYw��r�Fr
c�5Q���ܢ���e�����&FyV��&7�iw��2��������b[���└74b%�g���YL�g�� �ۻ�yY�~H�>��߆t�� U�.��E� ��7�@q�
�W�@v�
$�v(����Z�' �/�e {~��˔��e�@~GH�,���R��2�#��@�g
H�1�>��
��S�'W!1��m)H��'���w
N0G�ǧ��p�_���
" ߓWʌQ�:-3
��
 \YE�q���čn@���|�H��
j���N��/�@1�_�:�<I�c�ml�ʢ.��� �U������PX9�bJ��髣���T>���F�
G���
4���+�*�&�q3U�NSWI�+H6��Uc�Z7_��A��yi���|�+�0��8�Q
�L�IQU�Ǎ$؍!�C��!a
�M{&:G���҅(�{J�~��4EI�'�U���M������T��)�>HT:�
�1�����n�����8��+e��8

j�a�P}SQ�H����G���!0=��z����nd��z�W��@1��ֱW�ɶ���S<6�9�d����$����<Nt6��l�
=�
n&Z��B55��ۜ
:����FyT�v%6�i��5�ѰE���

 �3�B�]C�����
-��=*<�8
�A��~�����q|��� ���c��c����]Qk�5
-��
-&1�,��v�PF�]�o:��F
-�	0���=HA�C��Av��i��Hѩ��%#`v��`Š��h_R����`���2)ؽ��{B�k`?�y��5h/Ae�N�IX���
-����f�m�)��Vko̒�a��Ý�o�Y6}���R��%���l�_�A�m津�<��-,�R� ���?`o�^��2��?��ӏ�Fͽ\�
P���W������tBQ��,9(�
��.��'B�y�M���� 2$
�MC���%ΗT
-endstream
-endobj
-3182 0 obj <<
-/Type /Page
-/Contents 3183 0 R
-/Resources 3181 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3180 0 R ]
->> endobj
-3180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3184 0 obj <<
-/D [3182 0 R /XYZ 89 770.89 null]
->> endobj
-2825 0 obj <<
-/D [3182 0 R /XYZ 215.12 699.155 null]
->> endobj
-3185 0 obj <<
-/D [3182 0 R /XYZ 90 683.232 null]
->> endobj
-2826 0 obj <<
-/D [3182 0 R /XYZ 215.12 430.395 null]
->> endobj
-3186 0 obj <<
-/D [3182 0 R /XYZ 90 414.472 null]
->> endobj
-2894 0 obj <<
-/D [3182 0 R /XYZ 137.91 314.874 null]
->> endobj
-3187 0 obj <<
-/D [3182 0 R /XYZ 90 300.385 null]
->> endobj
-2895 0 obj <<
-/D [3182 0 R /XYZ 90 163.328 null]
->> endobj
-3188 0 obj <<
-/D [3182 0 R /XYZ 90 148.94 null]
->> endobj
-3181 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3192 0 obj <<
-/Length 1633      
-/Filter /FlateDecode
->>
-stream
-x��XK��F��+�+Ha�g���(���i�Pu�D���bC��
��=㱍̅�V�Te��̜��w<8X8�a��lt�B� D��2�����HHx��wc�'f/&5"��C��g���=={k�=���
�
ĝH�`���}�A
�_�P���4���6x;�u�(�"$
"�y�G���)�Q>!b�%ٺ��J�{!d�8�H��)�W��j�I�ɔ*5^UٲLv�{Jwq�
cj�ˍq��.[�ɖ�sq(J��unV&���yq�p��CA�)X�ց����A�	��=վ����ʳ'��8۹�QQT���}MȸY/L
�)�I��x�
'7�bk����(�&e�'ܺ�
jL��aJR�q�B�S�
-D!0�)�De���o�o&�lC�4�W����]��s� Y���=�‘�a	�XV��U��HM�
�;�I
-BY���rH�{�0��eu��!�����i�az��mT���@&L%�T�k�f��w���P���,��P�N��	ֈ˰�5��ud��X
hPm��i�G
�"�V��À�B�	A.��c��CI�P��-`g��)WXĻ4J2�3��}��I����j��E�6+[SŐ!C���:s��IV�|Sm�M����j%��~�C�E<�O
�C
d<�2�4g~� ��T���6��̓4Z����G$'����Ö~�)��$5Y�Xɇ�
J�xG4��g��G�uv0n
-�P���*�L�ϟ�ז��a @�BLuE�5 �!�z
��z�3������a
�
�:+�k��~Bo�'
hP��\C�

N��QV�vy���MC�.���
� �$|�%5�
�d������
��,��to�-l���T��|���,
a�}˓h�u
֛
-NȌB<��7ځ|3!�%��/M^x�r�H�tA@�F�猋�@�D�Wf�nL�"M����2�'
-|�j4L��Jż:z`F��
Tߛ~�7�rs��bؚ��-�g��ȋ�Ph��̔�JM
����ǁ��)�`���Wg c���$�0i�_*��mҧ
�ц�Wi��-{��Dz�����u��7hT���3�Cb(�W���>�FE�(ʤ���'���
r;�t��D�4��|�3���"���&>��� �)>�C��C�7¡���&.�J�?�6����Xc1�J�MU'�Z\�|sI9҄^��h
S$%���E$�������
-9q�y7ft������� �����l�$�&PUyNcNK���h�iY[F2��/K�m�W�t����@�� I��A����up��x Q��vX!`a(������0gP$$
@TꡋaH̚��հ�
-������@q�J�e��7F
@řh3�r�O�$99^5L�
�5NX�L�y�A�$���gB7��v
�zN#����j�g:+��3�
�
�܊9���u�[B���?��^�
� ���+��;�\!�>w1f�';.��}���J-r��Jy���3��U��+Wt���
��U=�-�W�&�fS�?GYm��s>Z�0���^�hM��M��5�oM;+8����Fu}�
��kM���?�����G�UY��QR�A˼;��~�ppMGn���X�ˍ�!��W�Y���-�
-endstream
-endobj
-3191 0 obj <<
-/Type /Page
-/Contents 3192 0 R
-/Resources 3190 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3152 0 R
-/Annots [ 3189 0 R ]
->> endobj
-3189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3193 0 obj <<
-/D [3191 0 R /XYZ 89 770.89 null]
->> endobj
-2896 0 obj <<
-/D [3191 0 R /XYZ 90 671.137 null]
->> endobj
-3194 0 obj <<
-/D [3191 0 R /XYZ 90 654.918 null]
->> endobj
-2897 0 obj <<
-/D [3191 0 R /XYZ 509.915 565.51 null]
->> endobj
-3195 0 obj <<
-/D [3191 0 R /XYZ 90 547.134 null]
->> endobj
-2963 0 obj <<
-/D [3191 0 R /XYZ 90 369.37 null]
->> endobj
-3196 0 obj <<
-/D [3191 0 R /XYZ 90 353.151 null]
->> endobj
-2964 0 obj <<
-/D [3191 0 R /XYZ 90 175.387 null]
->> endobj
-3197 0 obj <<
-/D [3191 0 R /XYZ 90 159.167 null]
->> endobj
-3190 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F90 474 0 R /F99 2094 0 R /F79 234 0 R /F7 3198 0 R /F23 168 0 R /F8 897 0 R /F13 3199 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3203 0 obj <<
-/Length 1756      
-/Filter /FlateDecode
->>
-stream
-x��Y��F���z
T�a�#yJ\v*�S�ě'۵��T��z���3#��c�N�)?�Ĩ������h����7��K�#���2��GG�$$\͢�C���	�x�٬n_�(
f�����#��Yz���1x�S���<��p���[�Ʀ��L
����y��f�׀�	8"A�@JG����{
����F����/ZG�2�\Eo�
pa=��B�1��b<y="x��ڂ�[oF[�䥩K!)xz
�X� e�l<9y)d�	���_{�,B�)"���z��w�[�-��q��g��ξk)h�4.4�OUx�!�O���F}Q�H�Uq�.ۧ3;+.
J[�_6�y�J�.W�s'�
�4�u/`��UnW�.��3���N�C�b�ȟt��vY�=���_e����:�l�.�|�#"�7��n��,�>�`���yr΅�f�Y��ȩ�)�ݷ�
x��f�u��7��l�����m���}�"gz� ��BR�h�	†U�
QDyQ�ԟJ�W��qσ��M�o�:^��A_�
f5BϨA��2����L'�C�<�a��Y���s�v�
E�*�G������v(��R�( m�
Q]W��W<��n_%����� ��w:I���JI�p�t)��d�����ZS��8G�6cW�<�~ϧ�Mw݊1E�:��
}�HD�SC��l{�K���+gpL���i|J���Chi�T��
-Z�Z�f�kV'?��pR�
2��c�R L���ݲ�ۍ����D�R�H^�X���z�������O~M�G��}��I'��V-�C��Fkj 
wI�I$�43 �#���.�L ��B��Ҁ$٨��+07��*�	ʘ_�[�^�LJ����Vw�A�� O���p�Rh�S�VUZa#HZ�ھ+jFAp�%Q�H��L`���s
�F�A�1�
3��q͎��L�S��D��O�+C~v��_>B�{�!�
�u�dL�1d�T
Y�U�
�P�*J� �H��#ީ���
�՚h~
9*J�C���E�ո+�*`�<���ތv+$ ��@A�>�;t����n���PwU2��:d��v,1�N����b�$���s I.Hz@2(��� %�HA�9����ĕ�(I7=
- at hί�\�#���1���У��<C� �E�N\�
��#zl���M���/Ѡ/B���qm��� ������m�:ĒA�vyu��@�9A`
�D�M$a�
�O`y#����*����eFV��j��Ley!���I?pQ�&J�WPF�UQ��iV���܄�	dWj����D���S�Il< ˘r����"�~
-a�켰ayh��d�˟Gl�/�-���s�
�ؕ���{1
ڵgh�(q5)��by"�O�]g�Sy�<>ы�AP6AP_�́�{�J
� *���璩�T�2�3��\��%� @� ���e��s=��f�+>��e@����m
Yc�H���F\!�
"����@�A���33Dv4C�G3Dv�1��)3�J����NQ #�,*7��q�N�
-T���D����a��13�-o����p�Tu
-�;����[H��.���G
tUaP����Ș�H�F��]���w���W�]
���yX�*N�p4�f�7��贸����ߌ�n����>^��\���T����M�f�
-��ʏ��-A%D�Ϩ����Ǻ�r���]�v�o'���{4ݢ}�lr��&P\'��P�D���9���=%�a�,���$u8�3�h��~lHu
-endstream
-endobj
-3202 0 obj <<
-/Type /Page
-/Contents 3203 0 R
-/Resources 3201 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3200 0 R ]
->> endobj
-3200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3204 0 obj <<
-/D [3202 0 R /XYZ 89 770.89 null]
->> endobj
-2965 0 obj <<
-/D [3202 0 R /XYZ 90 622.621 null]
->> endobj
-3205 0 obj <<
-/D [3202 0 R /XYZ 90 608.214 null]
->> endobj
-2966 0 obj <<
-/D [3202 0 R /XYZ 90 409.249 null]
->> endobj
-3206 0 obj <<
-/D [3202 0 R /XYZ 90 394.841 null]
->> endobj
-2967 0 obj <<
-/D [3202 0 R /XYZ 90 185.201 null]
->> endobj
-3207 0 obj <<
-/D [3202 0 R /XYZ 90 170.793 null]
->> endobj
-3201 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F56 167 0 R /F99 2094 0 R /F72 203 0 R /F79 234 0 R /F7 3198 0 R /F23 168 0 R /F8 897 0 R /F13 3199 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3212 0 obj <<
-/Length 1937      
-/Filter /FlateDecode
->>
-stream
-x��YYo�D
ϧ0O8��=6��v�
[�J�ɤ�H�0v��O�f|��d[Q��ɞ���qt����7���W
-G)J%���&Jq�x����:��S<��|
1� �J8�f_�����/�ٵ����3K8"��@*�V���5��0�:ˆ�It�6�#N<wѻ��3܈�O���c
)�ũ���83�^��TN�1��W�
-I���
xb�<��68y�J��	���ʗ[=_P��C�{��)
?��Y���1YQmJ���/F
�
�a(��y���B%��c�vz��͊���u��~NX+�nv�L�i�o&nu�M������lc��1-�P-m���]V�e�
��^��

'���9%E�HŖa�����ܝg���A�s���J
1.��`��4'Lg����Rω��<]U6��)��9%�;�a��r�����4J�UH*	�������"��
�1$Ma��i|8�o�D��5'I\�A`.��`��[��m���V��oX�$j/[`X&J@&<�#�	F�K��\
��RP�@'B�!M��|WeQ��7y�3�|	v�̽m& L�*�PU� �'��`!1�5ģU�8�v�|ay�
L���+
?
�G��
�>
G\ACB��ތ#!H���gz3�)e�g�v�ϒ�P:�CPB�2q�ʃ^_��AJ,�m��U�� �j��� �ma��Ӹ.)��
��
�	KGLv��dr.>�+$�1eA��)w��>���
��A��Nlx��sZH	ē�˭m�6�l�v�
�@j�˺Զd����3g*n
���bĉ8
-f�"i
�4�L�8�m��fZ���.4'R�\	���(4"#�AQ����6z�5#H��
؆���7�L�
]�?ׯ��Y��u�go
&�@Ŕ=��j�(J� A��c�d��� �ٳ�(��$“BA���8��r���X���!K(d�#zSǞ�7�Dr��i��P!�O�
-MC#��TĠ���F���i�*!�#�� 1��b P�W�S}�2" �тM�	� }�3 �
3x��s3p���Ύ ��B��<d`��sA�x� ӧbv3,X
-.�*���P!T�]�>~̐@̉2������!�2�d�d�g�eu�Vz������*�� ���������ձ^��}�
-A�Ȱ���S���)����P��
;k���<��t!a�3vXB�h�`�N'�=��D"�I]ot�h��{*���-���闲ժ4뼸mh�~G6��(���搙:�v���X�m,�CR�z���
.{[�,����n��hw
|A�PƶA���^gEu��n�t�^�><��D
w.ʌ�
�R�>���j��i5B ���)�$CȨ���B^="��k�B��A� )�MNR>0�]���ϵ�5b�7��]�L�E%N:��	� �^�S�
�#h����d{F��s�
İEr��:†
�ʯ-���'_��-(EY/���*�^�B�uV����C��,�2%Ě��+�o��Z�4\�����OD
-H�O��� ����xM� �H#��H#>/��P�٣�������^�<G;A��B�
�l!�j��E�eᠼ8�=����8d�e�:�p�B`
�W
�I��b�����nW�wW��(
��T>���T��Z�nY���!����Ğm槺b}tؑ�
ٽu+���
Z�k]�L~�Iޜ��((��CG�t�}5�ZG�Z�}S����~e�D�
-pA;C�>��*�����_��W+0�/\@�+$�d�����	h��
��m��2��&�1�y�~˛�����Y�������]
V�ԯ�6�΅�+���s��,��]�Tފ0�_!j�����w����-�{Ծ}?s���E9T�zm��������=ZU����T΋ch;����Z�A�q��@�}i��!/���y��O�u�c
-endstream
-endobj
-3211 0 obj <<
-/Type /Page
-/Contents 3212 0 R
-/Resources 3210 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3209 0 R ]
->> endobj
-3209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3213 0 obj <<
-/D [3211 0 R /XYZ 89 770.89 null]
->> endobj
-2968 0 obj <<
-/D [3211 0 R /XYZ 90 633.162 null]
->> endobj
-3214 0 obj <<
-/D [3211 0 R /XYZ 90 619.484 null]
->> endobj
-2969 0 obj <<
-/D [3211 0 R /XYZ 90 438.396 null]
->> endobj
-3215 0 obj <<
-/D [3211 0 R /XYZ 90 424.718 null]
->> endobj
-3019 0 obj <<
-/D [3211 0 R /XYZ 90 243.63 null]
->> endobj
-3216 0 obj <<
-/D [3211 0 R /XYZ 90 229.952 null]
->> endobj
-3020 0 obj <<
-/D [3211 0 R /XYZ 245.645 77.486 null]
->> endobj
-3210 0 obj <<
-/Font << /F70 201 0 R /F90 474 0 R /F56 167 0 R /F99 2094 0 R /F72 203 0 R /F79 234 0 R /F8 897 0 R /F13 3199 0 R /F11 896 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3220 0 obj <<
-/Length 1366      
-/Filter /FlateDecode
->>
-stream
-x���o�6���W�mP���Է5X�u]�-
���bѱ0Y�$����
E}[��
(�!O$�#y�;�xv

�|���Of�vH*���	��x���V�ܺ
-Q�M	����ŵG��M�k
e
��m�(�oJvN
��¥����J�2:-?΄�n�q��|����
-�!vI���,7��;�D����
|�P
-m
N��s3�m��jO"�U
Q�peA��H`MI�aq5f��V6�:�YXl���1/�Ǝ��~l+�q���j��B�¥J_0fV*�*��/�Zf�[[��mD �i-��H8S��W�L��@�z|�XnӼ8��ְ�6aq����}�wm��'��C�Oo3�����$�n%�sX�w�
�V̎x���(���(7�E�=*܃m\�bW��6��U���Z�ֶ�W�2��ʖ�V��юB����pz:���j�0�촇,.t_�5t&�&�m6Э2)9��2�f��7��H@�XoV'�k�9WaQ�Q��|���#�hꛣP�s�]�`�C��)�J�m�|]
���1��'����Zæ�FQ�w
�x��<�G��F
b�d�=bC�k� j��L�1R
�
H�
->9O���q��10���A�3~
��p�3�
O#
�oI�bx���h��
Ah\٢�����#�Gũ��h
��W���
Ly

�=�
���`���Q�&���d(��[�GqF�I�����lh҆SH��c�C)�k
�?=)�03���8�O�_�G
-�1A��:6���j�.�� ƈ��F1�t��^{- at G��{s�AWf)�DE���8���t���ȦP�$o��~g���@���7��M�v�0���]�9u�ae½��!�d? 7aTy�va\���DH���(�!��?`K�Ez��=P+р���g'p0���V
q,.s���:���\��w�nI<�I�(�.��~���)��Y&�lCjfS8S^ ����/���'5ks�Foْ�U9\G�^g��Ɛ(��N��y�zh��.dq0�s��>�H��K� �+��>Ӹ'>�J*0"O
v�D�_��dOm������'Ǟx�>�Y�	_#c�
^��T�(�<�K�ƽ�q�:��]V3��c¾��h�9��ˈ�a�QPF�w�(}1�
�K�|�]����|xL���
̲<�NB"T]ʬx���yk>	B1\�r�'Cb��YHƞ�����
kIs���f�� �8s�
a�lS��Խ��2�����,̎�qeE>���>|����
�/�O�:�����_�t&�Ϝ��fI�U���&�DԄ�s��{�u�v�r��/�r�[�(�Q�}��b�v6;
h��}�23���)A�ID�hC�ʛ�2�ֆ8�������O� =�V�
-endstream
-endobj
-3219 0 obj <<
-/Type /Page
-/Contents 3220 0 R
-/Resources 3218 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3217 0 R ]
->> endobj
-3217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3221 0 obj <<
-/D [3219 0 R /XYZ 89 770.89 null]
->> endobj
-3222 0 obj <<
-/D [3219 0 R /XYZ 90 721.073 null]
->> endobj
-3021 0 obj <<
-/D [3219 0 R /XYZ 332.797 627.602 null]
->> endobj
-3223 0 obj <<
-/D [3219 0 R /XYZ 90 611.567 null]
->> endobj
-3083 0 obj <<
-/D [3219 0 R /XYZ 90 452.665 null]
->> endobj
-3224 0 obj <<
-/D [3219 0 R /XYZ 90 438.787 null]
->> endobj
-3084 0 obj <<
-/D [3219 0 R /XYZ 332.797 337.754 null]
->> endobj
-3225 0 obj <<
-/D [3219 0 R /XYZ 90 321.72 null]
->> endobj
-3085 0 obj <<
-/D [3219 0 R /XYZ 90 162.818 null]
->> endobj
-3226 0 obj <<
-/D [3219 0 R /XYZ 90 148.94 null]
->> endobj
-3218 0 obj <<
-/Font << /F70 201 0 R /F23 168 0 R /F90 474 0 R /F99 2094 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3230 0 obj <<
-/Length 2267      
-/Filter /FlateDecode
->>
-stream
-x��YK���ϯP�b�*€��do٩u���3�=�n�(�B�4H�<���F���h7�\rI����?@|�᛿�|s��䛘šn�od3�W�ypbo�����F̍C�dZ��������w�w�����7.t�K���&=�<|�
��p����b�7�����[U��*E1�<�H7`
�I���P8�޺�)����ѯp��'�݈I��s�IX��Oy�����
�2m��/�9WY��sO������Q�J'm���ynZu�.��J�2U�
�Q���(�.s��}��3S��X
.�jR�m�˿���"�I�t���s�ĚpPf�v^�3)C���-zN20���y��ۆ^��
x����O�`�J&A�]�1WHZL2O0��b�s9�����N�=(�?���
^��������i�:*�݋@�}K�@7�X,gԧ�\΄׏ �.
���gU69��\���c��P�3�fe�Eb� ���le4��jUitN �Y�ʲ�	?^QY��y����!�E��7���+3�� [...]
-]V
-!��L!T�U����l�jT�&&_J�<��p�B�"�g��H'�%x�[��e�~}ں�Q�ׯ���U�ؐ�ՊJ�#wᐴ*ڞQ�|���N ��w
�� l�H�
�dX�[�k�1
<a�� U�k���̋f
-r�+1� �Vbp;
Ƨչ.�y��oOZ5���֢?čB0�Wvم`
�����,ʳ.)���%�A4�p���J�E�0�A�"iU�y5w>�/!` bc�ӌ�
� ����V+�
�,��� �y� M����r5"���P��-��?~
uu^�B���\�
-yPĜߠSk(r�Xkz=�����%�n U�$����B6�կ6��^ݴk�������f�BP�A��&y�!��y�xl+M^����&��C����g����%��j�]���!��Y�J7���2s� �X	!��ֽ�6 ��`��ɖ�Y��w{JZ�
����9V����.̱�H��6ɺ�/Q�T~�W�V��uH%�kc�^�[�d��oBSe��V�T��
���t�����R\�� \��}y��E�u���\��_�W1ƫuY^����3/^�z�e�����p��Dž�*��+Z� U�C2e��JC� ~�!��F�7,�?	!k
�N�k�#{i��2�,�o^ ��P]�y�� �^4�J�%K��/؇g�S��)ǚbF���tw��μc��ฅwLgEO�

��:M�3�
�26�fE��&�r�1K��
�p��ЈC��SH��h[#@s�\S3m�t�K^H��Q�/��Q4l !��
XH�16z�5�p��u��XW�VK���
�
�eI�3��;�Pa،��vd�sV6����1(�=�Ve֐�(��=��<9�v�UK/��/�1�)ѫr}�	'�B>��<s�$+��21띏'e5-�r�Q5Y��(<��~4߀Y`��X�n����
-���
P?}�3�����IA
FuxUU��(ۥV�c�h��%7��Hh�M���1����yz�W��|�:�E
<k�����$�ӻ��1sg���˵�������h����
]8����d����i���ݯd
�'|R�\���,����1���E�F��gۃ����Y�-S�9�j�I��%�|��c/�$/�_����!1�l钋G ��{���n��k>ϕ�o'i�(�����Ffa�w4]�һ����ɮaw��g�9ؙӍ�Ҏ�`��^;5��Z�C�_fa_�
/L��#�U�c�p
�t�C�W�
���G꽜�A|�9�p�{<Q�
�����
Uŵ�_��֓8ˬ@�o���s�4IQ�������_󊌙;����S*����#��
-fU
-:��]�Q���������V3o
�
-
}"03"̱��֕�;�:XԻ�(p�R˗�Jڞ�#
-ļHsU����9���� ��!(�
-��˯pΛP�E$�5���<'�Ǫ�����>���O9�����d��\W��=VEA�p �hg���vx㆐,�9a�>(>y���z0�Go�3�XV�1��A�:����`�3�x
�(�c�C?�!��Q�>#Y�= xt,O������Loi��I	5�����.4��Q�ۭNC~Iʎ**]|[ķ���A�y��x{��)e�A
�צ�����./���Զ�������҆ue^k���u]ܾL�qo�G�� Ũ�
y���[�ӿ��[
-endstream
-endobj
-3229 0 obj <<
-/Type /Page
-/Contents 3230 0 R
-/Resources 3228 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3227 0 R ]
->> endobj
-3227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3231 0 obj <<
-/D [3229 0 R /XYZ 89 770.89 null]
->> endobj
-3086 0 obj <<
-/D [3229 0 R /XYZ 90 672.236 null]
->> endobj
-3232 0 obj <<
-/D [3229 0 R /XYZ 90 657.666 null]
->> endobj
-3228 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R /F90 474 0 R /F23 168 0 R /F99 2094 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3303 0 obj <<
-/Length 1105      
-/Filter /FlateDecode
->>
-stream
-x��X[��8}�_�#T�L��GZ��.�
8=S�S)��
�\�"�e�&��W��Γ�ᜓ�/����)zx���ɪf@!z, �.k֣M�O��M������K���!X�e@�� ������ԁ:�8���iR�r�<!o���5�c�Fi� ٗ`� |*�*�
[�eS�J�^����E�d��ꀺ�Q�
�Z�h��''
-�M��
qH�!�q%С$����Z2���{a؎���a�7��XҀh�<x��y?�-)�"F(��_a`�W����U?h$���lGN�l{�$T�Ea��*��X��Q��S�j�
�����%�d.h���T���O5^��p
5ϥs��l�Ϟ]����w
�5)*�@��h��Lm-��T;�d2(5K�/Q��Q�w}I���
G~:O.���k�#��C}��
�_{^��c��P}Ҫ4
�h��H��W�6K��b��l�/~��h75��
�]�&G�	D��`�{�� P�����"Ǹ r�)9�BA� �2�h
�γ6r���vp���kK��γeN�4˷
���-� ��s�:0I'W��
���7n1I�/��W�b��U�ʜ��V�@Y��x����lza�w6m��E 2'�� ;p�gZ��Q����:���%-�=H{�_��~<�M�xL��6f0O3����
dv0ר���DϷ1���sob
a���h���o��?��fBA�
e��OQ�=�a��=�n	����+���a$Y�h{��J�v��~pw��E���
�tv�;Gu�s�6�9C��u�R��q[sVb��|�4�� �I���g�YBx�j��QZ��b�3C�Vx| @UVt����V�8Y���֥=��Y�wdq
�R��%,����5����,�kJj�p㉹?%���#xM��
�
�A`mt�7_T�����s�Z��~!1�Y�v�Ɠ�U���t6~+lR>��W~�����ݺ��F�l��uU�3�
�f
y����+{�cF�΄e�&�Z��q4�3�y?�ʱjs�J{����Q�dSW*��Ū���(f��O�Oj9�4�)�En%����>��w��������\�Q�v�*�����
-endstream
-endobj
-3302 0 obj <<
-/Type /Page
-/Contents 3303 0 R
-/Resources 3301 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286  [...]
->> endobj
-3233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.191 671.898 192.146 682.802]
-/A << /S /GoTo /D (page.18) >>
->> endobj
-3234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.571 637.764 189.526 647.951]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.59 625.756 184.545 635.943]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.59 613.749 184.545 623.935]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.59 601.741 184.545 611.928]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.609 589.734 179.564 599.92]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.274 577.382 279.23 587.913]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.91 553.42 197.865 563.95]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.502 529.801 173.457 539.987]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.091 505.494 179.046 516.024]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 483.215 140.809 492.062]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.165 457.912 175.121 468.099]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.649 445.905 264.605 456.091]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.294 433.897 271.25 444.084]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.95 421.89 261.905 432.076]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3248 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.979 409.882 293.934 420.069]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.252 385.919 205.208 396.106]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 363.296 140.809 372.143]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.655 349.949 265.61 360.135]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.53 337.941 264.485 348.128]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3253 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.855 325.934 241.81 336.12]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.156 313.926 268.111 324.113]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.966 301.918 198.921 312.105]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 279.296 140.809 288.142]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.601 253.276 205.556 264.18]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.909 241.268 293.865 252.172]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.913 229.261 236.868 240.164]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.23 217.253 235.185 228.157]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.472 205.245 258.428 216.149]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.965 193.238 278.92 204.142]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.947 181.23 203.902 192.134]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.963 147.096 268.918 157.283]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.599 135.088 264.555 145.275]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.108 123.081 273.063 133.267]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.434 111.073 287.389 121.26]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.494 99.066 263.449 109.252]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.089 87.058 254.044 97.245]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.207 75.05 273.162 85.237]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.439 672.615 505.395 682.802]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.659 648.635 417.614 658.822]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.666 636.609 431.622 646.796]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.684 624.584 469.639 634.771]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.371 611.841 430.326 622.745]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.371 599.816 430.326 610.72]
-/A << /S /GoTo /D (page.23) >>
->> endobj
-3277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.059 587.79 383.014 598.694]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-3278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.547 564.631 359.502 575.535]
-/A << /S /GoTo /D (page.23) >>
->> endobj
-3279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.435 529.446 389.39 540.35]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.974 517.421 394.929 528.325]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.02 505.396 467.975 516.299]
-/A << /S /GoTo /D (page.20) >>
->> endobj
-3282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.181 493.37 454.136 504.274]
-/A << /S /GoTo /D (page.20) >>
->> endobj
-3283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.874 481.345 450.829 492.249]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.675 458.185 394.63 469.089]
-/A << /S /GoTo /D (page.24) >>
->> endobj
-3285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.721 446.16 472.676 457.064]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 411.693 363.368 421.879]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 386.924 382.187 397.828]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 362.873 382.187 373.777]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 338.823 382.187 349.727]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 314.772 382.187 325.676]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 290.721 382.187 301.625]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 266.67 382.187 277.574]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 230.664 382.187 241.568]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 206.613 382.187 217.517]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 182.562 382.187 193.466]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 158.511 382.187 169.415]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 135.178 363.368 145.364]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 111.127 363.368 121.313]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 87.076 363.368 97.263]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3304 0 obj <<
-/D [3302 0 R /XYZ 89 770.89 null]
->> endobj
-3305 0 obj <<
-/D [3302 0 R /XYZ 90 685.014 null]
->> endobj
-3301 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3369 0 obj <<
-/Length 1309      
-/Filter /FlateDecode
->>
-stream
-x��Y[��H~�W�P�2ͥQ��Q�"Q ��I%�.F[�]Ӷ1��F0^F
5�'�/�|�;��ܘ\�r�U�
j��E]�5�q:�j�.B�=
�ϼ�
-_�w��Q۴
5���OT
���NJ6C�V���節��w
��-׋��*+�w��**`�vpH���!W�$Q��!�s�6�GƩb�]�>WexYN��\UJ�T�

�D��t�Ẃ
-x�E
�m6��k{��z��!�u�.ӭA��k �U�-��1����u$���-(��P�t�oX�x��P5
A��4OM��L�Z�H�h��m�
�p�$I�'H����1P�c����
۴�L�Z>��j��9p� Yp:�e�z� ��o�1p4��F�k�~ߜ������5<ý��Nb�m�[��p:I�Afױ{=�s'������⤕�
-����m8��q�3��^$���u:F׸e�i�j~�h���5�޿�î�s�VB�m؝�&�Ah� y�Vs$��ğb�	��o

0D�
k�)�[�ӈ �ˆܱ�C�Z�}-��g?
1�����a2�0ϹE�nFx$ȐO��!-b��kI3
-�$qTo5�x����W��Z�SZ
-���_@�^Dޜ?`�K�
-��R@�TFlyJ��p����h��!�q�YyB
� �{<�	
I%�csy�ʓ���3��,Q|������lM��?MQDMV� }�{S0�/[��%��2�ۉ�
��ʞJ@8n,Ɇ8���;d��6�tζ^��äj�`xE���П�f�4À樓�궦�]Uan�{�����Ƶ�Z@\~�:��Yt �W�35�AY�dʹ2n��#rǭA���
�'��<�(Z�ق��"
������fI�b�8�o�[�v��?�F9_۝����q�t�C"�++�1�	Փ�O��c�q2
�
~���ze�Ԋ2�+6��`�^6h��F���$��@`�
))���[ 4����MМ�;,%���n}��v��k&����h�z�C�2yD���H��2�/�	Mg����G at W;ݏ��#5?6����ؾ�e_$-����w�������d�)NogYy�
o��`�<j	���j���� >����"��<�F���kJ�k���1�TS��5�Z![���`�*+
-�~����o���N�L|�J
�ɒ���8����� ��C�9&��dC��$�� H��G�d��
�MI�PU�I��qJF��?�����z^ޱKV�"�7��/�����[.��`..�`FĀ�1O��{@�$��}#e��4"8�!��t�MD<���2

-endstream
-endobj
-3368 0 obj <<
-/Type /Page
-/Contents 3369 0 R
-/Resources 3367 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3208 0 R
-/Annots [ 3300 0 R 3306 0 R 3307 0 R 3308 0 R 3309 0 R 3310 0 R 3311 0 R 3312 0 R 3313 0 R 3314 0 R 3315 0 R 3316 0 R 3317 0 R 3318 0 R 3319 0 R 3320 0 R 3321 0 R 3322 0 R 3323 0 R 3324 0 R 3325 0 R 3326 0 R 3327 0 R 3328 0 R 3329 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348 0 R 3349 0 R 3350 0 R 3351 0 R 3352 0 R 3353 0 R 3354 0 R 3355 0 R 3356 0 R 3357 0 R 3358  [...]
->> endobj
-3300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 708.674 146.887 718.861]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 684.764 146.887 694.951]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 660.854 146.887 671.04]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 636.943 146.887 647.13]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 601.078 146.887 611.265]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 576.45 165.706 587.354]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 552.54 165.706 563.444]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 528.63 165.706 539.534]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3313 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 504.719 165.706 515.623]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3314 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 480.809 165.706 491.713]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 456.899 165.706 467.803]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3316 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 432.988 165.706 443.892]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 409.078 165.706 419.982]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 385.168 165.706 396.071]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 361.257 165.706 372.161]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 337.347 165.706 348.251]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 314.154 146.887 324.34]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.931 290.243 146.887 300.43]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 265.616 165.706 276.52]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 241.706 191.718 252.609]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3325 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.048 229.75 222.004 240.654]
-/A << /S /GoTo /D (page.33) >>
->> endobj
-3326 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.346 206.557 156.301 216.744]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-3327 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.878 193.885 184.834 204.789]
-/A << /S /GoTo /D (page.34) >>
->> endobj
-3328 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.079 181.93 283.034 192.834]
-/A << /S /GoTo /D (page.36) >>
->> endobj
-3329 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.314 169.975 223.269 180.878]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-3330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.993 158.019 188.948 168.923]
-/A << /S /GoTo /D (page.39) >>
->> endobj
-3331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.454 146.064 276.409 156.968]
-/A << /S /GoTo /D (page.40) >>
->> endobj
-3332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.689 134.109 216.644 145.013]
-/A << /S /GoTo /D (page.41) >>
->> endobj
-3333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 122.154 182.323 133.058]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-3334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 98.244 165.706 109.147]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.75 74.333 165.706 85.237]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 696.002 382.187 706.906]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 672.092 382.187 682.996]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 648.899 363.368 659.085]
-/A << /S /GoTo /D (page.22) >>
->> endobj
-3339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 624.271 382.187 635.175]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 600.361 382.187 611.265]
-/A << /S /GoTo /D (page.31) >>
->> endobj
-3341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 577.168 356.185 587.354]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.251 564.495 491.207 575.399]
-/A << /S /GoTo /D (page.45) >>
->> endobj
-3343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.486 552.54 431.442 563.444]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-3344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.166 540.585 397.121 551.489]
-/A << /S /GoTo /D (page.47) >>
->> endobj
-3345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 528.63 513.996 539.534]
-/A << /S /GoTo /D (page.49) >>
->> endobj
-3346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.729 516.674 454.684 527.578]
-/A << /S /GoTo /D (page.50) >>
->> endobj
-3347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.408 504.719 420.363 515.623]
-/A << /S /GoTo /D (page.52) >>
->> endobj
-3348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 481.526 356.185 491.713]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 456.899 382.187 467.803]
-/A << /S /GoTo /D (page.30) >>
->> endobj
-3350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.232 432.988 382.187 443.892]
-/A << /S /GoTo /D (page.32) >>
->> endobj
-3351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.592 421.033 432.548 431.937]
-/A << /S /GoTo /D (page.53) >>
->> endobj
-3352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.718 397.123 433.673 408.027]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-3353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.718 373.212 433.673 384.116]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-3354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.718 349.302 433.673 360.206]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-3355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.793 337.347 413.748 348.251]
-/A << /S /GoTo /D (page.56) >>
->> endobj
-3356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.522 314.154 395.477 324.34]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-3357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [466.301 301.481 478.256 312.385]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-3358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.426 289.526 442.381 300.43]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-3359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 253.661 423.153 264.565]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 217.795 423.153 228.699]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 193.885 423.153 204.789]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 169.975 423.153 180.878]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 134.109 423.153 145.013]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 98.244 423.153 109.147]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3370 0 obj <<
-/D [3368 0 R /XYZ 89 770.89 null]
->> endobj
-3367 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3424 0 obj <<
-/Length 1127      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~���[�L-K`	�c�tg�t��:3��d��m��"p
��W\�/``�:}�`���|���5@�f��b4�CG��&U)X����>3!�������w���,ރ� �t�]��$I���b�u�e#8��@� Ko��[6�j�v�K
������~��qZ������c
1�\��k�w��|+f�_S
�s��Q|����J�bh���
�����P�(�V}>V�����
�
c��.�n���aMR24KC��d���Q̽�q��̞�M���])���rH��wN�����<	���+"1�&�4Eb��$��b��%��gC$!�X0Ǐ_S?�@��(��^��z̅�/��f�8
5w��v����=a�RлC�
b~;���9��]`���IoC`�ٹ
]�Y̶�(dR���q?�Y̷���#���Q��2����l�ߒ4�I��Rc����p�W������X����)VZ�H"�T&�"�-3��8��!ss���؇�< [...]
-+;��_t&7]�Fz�
4"˗u��5��˵)�^���J��!���5�r
-�xB���dt��l}[��
U�ڸ~���-s�Bˀphw8Ygs��h_V����,wYb3��e��j���yU�߆Ӆ#�X�lSb���� ��x��l:L�
��Þ�D_��.KwR at O��D^��)|]P�g�uF+OD���EK�J������PhR��	��dY~�kF~�=�!1�m�ņ�'��)�&
Kn�c(,{��yL쳛7�+���&�r�x���j��"����S��/cB�(��/��r�=����$E��6"(�T�#
�
͔{�sR2��&'�j!.uf@�
��7q
�6��v;����wB�x*S;-�|B�3I�y����N�y��Y
�/�T��dI��?Dž��
-endstream
-endobj
-3423 0 obj <<
-/Type /Page
-/Contents 3424 0 R
-/Resources 3422 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3426 0 R
-/Annots [ 3365 0 R 3371 0 R 3372 0 R 3373 0 R 3374 0 R 3375 0 R 3376 0 R 3377 0 R 3378 0 R 3379 0 R 3380 0 R 3381 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R 3419 0 R 3421 0 R ]
->> endobj
-3365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 707.957 206.672 718.861]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 671.445 206.672 682.349]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3372 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 634.934 206.672 645.838]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3373 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 598.422 206.672 609.326]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3374 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 561.91 206.672 572.814]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3375 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 525.398 206.672 536.302]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3376 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 488.887 206.672 499.791]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3377 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 452.375 206.672 463.279]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3378 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 415.863 206.672 426.767]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3379 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.717 379.352 206.672 390.255]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3380 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.208 367.073 222.163 377.977]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-3381 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.919 330.562 213.875 341.465]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.919 306.005 213.875 316.909]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.919 281.448 213.875 292.352]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.994 269.17 193.949 280.074]
-/A << /S /GoTo /D (page.61) >>
->> endobj
-3385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 245.654 191.718 255.841]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.627 232.658 222.582 243.562]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.367 220.38 270.322 231.284]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.49 195.824 240.445 206.727]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-3389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.564 183.545 220.52 194.449]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-3390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.041 160.029 170.996 170.216]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-3391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.694 147.034 204.649 157.937]
-/A << /S /GoTo /D (page.67) >>
->> endobj
-3392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.775 98.567 217.73 109.471]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-3393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.763 74.333 191.718 85.237]
-/A << /S /GoTo /D (page.68) >>
->> endobj
-3394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.537 696.719 468.492 706.906]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-3395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.244 647.638 408.199 658.542]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-3396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.491 623.456 374.446 634.36]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-3397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.525 599.991 442.48 610.178]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-3398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.17 574.82 513.125 585.724]
-/A << /S /GoTo /D (page.72) >>
->> endobj
-3399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.244 562.593 493.199 573.497]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-3400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 540.468 357.291 549.315]
-/A << /S /GoTo /D (page.72) >>
->> endobj
-3401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 513.957 423.153 524.861]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 489.504 423.153 500.408]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 465.05 423.153 475.954]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 440.596 423.153 451.5]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 416.142 423.153 427.046]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 391.689 423.153 402.592]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 367.235 423.153 378.139]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 342.781 423.153 353.685]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 318.327 423.153 329.231]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3410 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 293.874 423.153 304.777]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3411 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 269.42 423.153 280.324]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3412 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 233.011 423.153 243.915]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3413 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 208.557 423.153 219.461]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3414 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 184.103 423.153 195.007]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3415 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 159.65 423.153 170.554]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3416 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 135.196 423.153 146.1]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3417 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 110.742 423.153 121.646]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.273 98.515 403.228 109.419]
-/A << /S /GoTo /D (page.72) >>
->> endobj
-3419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.612 74.333 480.568 85.237]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3425 0 obj <<
-/D [3423 0 R /XYZ 89 770.89 null]
->> endobj
-3422 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3477 0 obj <<
-/Length 1030      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�6}�W�f�1������4�m���ә�G�4k�^ٔ���Wg
�����	��{�=��J6-FW��g�ѯ�|�w-���h2�MDž_!z0|w�i��>6}L`�n����˿Յ��l�e��1"z�cN<4��0
-a�
¦�{h��)Fcˆ���
�2�-� �[�b�Q�4
-Z��	��]mW,��2��i"�r�Ĝ;�DEp�D�
G���f9��Qל�rO��� =\X6<{]��/Dj$��r����ۆ�L�<��r������NkX����|̓8�ؐ8�W�o��rNa'�\�l�Q�J&��+s�^����K��ٚ{c�����qb��)�����c=8�e��٤NT�Lm꼬ܷqV;����$U"BðL&���*�^��M�ߗ!k*�
~��ꀖ��YGMq}B
U�[�<�K��4Z�O%k��uAxL�"}�'r:LcB/��k�TK��˚FYi�)7�Kn�Z���2�C�4�h�rո���K�����w�n%�j9
-n��t�id)�]/�1�N�� �����@���1=��l�E4�����~�� \��!����+�:M��
.�YƗ�=`#�:�
�Uǟ`}�t@~׶M��d_�jg�t�1��u#YU������&�����۵�MF��>�e,B�3�
��|
�b�u^)�lh;����ĸ	&%��VT�����&ض��
-�K�[#4R�ϹjU��}
_T:X@�P�S������[�������?n+!?
	!�� M�U'
��Y
-�k�rt47�U��*�3*+T��#��;�xĿT��V����ݴ��?��;�'|�Ii��sW�,�o�
��]�����:L����
�xb:~a�el۸SnT�T����rP}��?J*���T�rC�r
':=x-�͋!�
���_�?

���ߩ��}�#v�?
-�:0�MPЂK�
^�xl�3�E+��~S�\X����gb���b���O��f�1癹<�&�GP�с�G�2i�"
-4HM,��R��
ƻ�m
D�:��S�
-endstream
-endobj
-3476 0 obj <<
-/Type /Page
-/Contents 3477 0 R
-/Resources 3475 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3426 0 R
-/Annots [ 3420 0 R 3427 0 R 3428 0 R 3429 0 R 3430 0 R 3431 0 R 3432 0 R 3433 0 R 3434 0 R 3435 0 R 3436 0 R 3437 0 R 3438 0 R 3439 0 R 3440 0 R 3441 0 R 3442 0 R 3443 0 R 3444 0 R 3445 0 R 3446 0 R 3447 0 R 3448 0 R 3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R 3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R 3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R 3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R 3473 0 R 3474 0 R ]
->> endobj
-3420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 696.002 175.13 706.906]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3427 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 672.092 175.13 682.996]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3428 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 648.181 175.13 659.085]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 624.271 264.086 635.175]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.296 600.361 228.251 611.265]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 576.45 175.13 587.354]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-3432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 552.54 175.13 563.444]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 528.63 264.086 539.534]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.296 504.719 228.251 515.623]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.67 480.809 221.625 491.713]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.987 456.899 219.942 467.803]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 432.988 264.086 443.892]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.296 409.078 228.251 419.982]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.67 385.168 221.625 396.071]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-3440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.987 361.257 219.942 372.161]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 339.404 140.809 348.251]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.652 325.392 295.608 336.296]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.979 313.437 293.934 324.34]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.308 301.481 246.263 312.385]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.03 289.526 258.985 300.43]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.6 277.571 285.556 288.475]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 255.718 140.809 264.565]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.916 241.706 270.871 252.609]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.206 229.75 297.162 240.654]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 206.557 174.572 216.744]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 183.867 140.809 192.834]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.669 158.019 216.624 168.923]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.177 146.064 289.132 156.968]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-3454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.994 134.109 281.949 145.013]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.34 122.154 280.295 133.058]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3456 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.168 110.199 294.123 121.103]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3457 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.484 98.244 292.439 109.147]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3458 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.003 86.288 276.958 97.192]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3459 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 74.333 175.668 85.237]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3460 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 696.002 423.153 706.906]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 672.809 356.185 682.996]
-/A << /S /GoTo /D (page.20) >>
->> endobj
-3462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.806 648.899 375.761 659.085]
-/A << /S /GoTo /D (page.24) >>
->> endobj
-3463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.413 624.988 363.368 635.175]
-/A << /S /GoTo /D (page.23) >>
->> endobj
-3464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 601.078 356.185 611.265]
-/A << /S /GoTo /D (page.20) >>
->> endobj
-3465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.229 577.168 356.185 587.354]
-/A << /S /GoTo /D (page.19) >>
->> endobj
-3466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.806 553.257 375.761 563.444]
-/A << /S /GoTo /D (page.23) >>
->> endobj
-3467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.827 529.347 372.782 539.534]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-3468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.605 494.757 463.56 505.661]
-/A << /S /GoTo /D (page.24) >>
->> endobj
-3469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6 482.801 406.555 493.705]
-/A << /S /GoTo /D (page.23) >>
->> endobj
-3470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.213 448.928 387.168 459.832]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-3471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.706 437.691 407.661 447.877]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-3472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.579 425.018 393.534 435.922]
-/A << /S /GoTo /D (page.20) >>
->> endobj
-3473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.198 391.145 423.153 402.049]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-3474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [337.024 44.211 451.992 54.174]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3478 0 obj <<
-/D [3476 0 R /XYZ 89 770.89 null]
->> endobj
-3475 0 obj <<
-/Font << /F70 201 0 R /F56 167 0 R /F72 203 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3479 0 obj
-[329.4]
-endobj
-3480 0 obj
-[631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631]
-endobj
-3482 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3483 0 obj
-[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9]
-endobj
-3484 0 obj
-[777.8 722.2]
-endobj
-3485 0 obj
-[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
-endobj
-3486 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2]
-endobj
-3487 0 obj
-[826.4]
-endobj
-3488 0 obj
-[500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
-endobj
-3489 0 obj
-[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9]
-endobj
-3490 0 obj
-[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
-endobj
-3491 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444 389]
-endobj
-3492 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3493 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
-endobj
-3494 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3495 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444]
-endobj
-3496 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-3497 0 obj
-[472.2 472.2 472.2]
-endobj
-3498 0 obj
-[500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8]
-endobj
-3499 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-3500 0 obj <<
-/Length1 1519
-/Length2 6664
-/Length3 0
-/Length 7679      
-/Filter /FlateDecode
->>
-stream
-xڍwP�[�.�	(U	HOB�W��� @ $!�@h�;H�M�J� M�� �t�"EE�E�
�w���;s�d&yW_�^���릩�����B�D �`9����.
��E�`1 /�
�����Z�0X8
-)��<�10(��Ӏ���($P�B�� �r`0P

�����j@=�@CQ�

-	�x�Qh<��#����o/ ���J
����0p{(h�9����)�
�����_��Cˁ@����P7�(
-�$ 
�㜁&0,
�s ��
4����@�͜�ؿ
�(G�'�=
�%�<@:�0 at Bu����
C��l�0��� !������+
�;jo�rCC�x8�	�G���Z�8/�0�t��E`Q�x����
~�j��B	����c�h
V
G�����p̚Hu��
��~�����	���+���[r�#

�px��#��`�|*�?:'(	�����܁0/{gЯfx4��KM���F���0?�#����B=`@
�����- ��
��9�����0ǿd��1p/��@?���'k�
PH���#陨Y�
������
�#".�!`	�4����y�s����	����e�E:���J�BA8���x����� ����@h����K��	_���-�
�#��,�O��wGZ��v��
�;�
���� ���
�(Š �����F�
���۪���D�D �DB,�
�Ղ{�
n�q�����ij �H�M���!D���e#잽+�r�f��	�%,"��x�0ª��M�=���N�IJ�
 P� I} ��u�y��<$�D�!@f?�#
-�5h�� �/�oQJ
r�u�N�?:0�����
-	i ��f�/��#���?������<��j��C���wl˿��
f��@�ˇ�Ԇ�
V��y���(�m��)�O���
�YL4�ɞ��5�Ѻ��i��~�;�a�g���
/�/©���i?q�a<�瀝{����e��5�RL/�M�h�.*e�^S^Z����<��ʴ��Bی:��˲
��e-�|2���
��H�^�����Q�R̽�4�Ln}��#@�g�B���
}Nj�@=����<a8zM�v
	�*���K?�J=63|�U6
z��
�
�m;/ooZs�'wI;�&;�@�xqУg���1���Qӹ�$M�JIX��
��˹�O
�z������х���t����
&*��/�k�m��p
#n�Q�J��)Ĝ-���\�ǃș��
���Iwn3S*��
i
�M/.~��^i~	�𹟢�ξ���Y�NG�ߔ{U42�!�{�n�7������>�&F���mq߷�k�ڠ�
U�W���&�u�}\
Jș�d�3*$��hk$w��RO�޵r�x�2��gǻ�̯�PmD� �����M��M�L� ]�M���ey��N'���^jb�I��J�i�zn���S�ƉA�����eY��P���7����*��~"���q��n
�'>�iS]�mɋxW�6����L1�RT�����]q'��;ي�8�:l8���Q6����[��
Q4n[rs~e%^n��z� �^G���'�$�n9�m�x�=�x�������r:'��Nʥ���5����Ne��;!v
-�zO���
α�v^x�	޲���$��M$�?t0�;��6��=�c@���m8N�BO&l �l	o���5���B'�M,L��N���75!�.�$;,ן��f7���k��������C-�P�P	5�
F2�����cȖ����
�_,j�Ѩl���g�$
^J��tꎭ8��4�_�d�
D���N����7���t��e��3���ݼ�

.���@�F�� y��B�b�II9�c�����g&䅼�\��
S��}��Rt�ݼg�Խ�Nj�{�2�O��
{�� A1bñ�Qị�ϸw<�͈�9^�]7
k�
�%����W���ë3G�fonB|�2^eB�Gƽ�՚�3kns$��5��'�`l�/��
0x;Gvi�d���[ü�r ��r�Y���7��w�r��kY��- h�*�u����f����K~!��թ�������c�.���d��0RS�w�S�,

-��z1���m���t�]4��sZC|��cA��UO��P�+��r���i��>��JQ
Q�=5J���n�:\�!ـ�
��_P�lP�D�����k�z[T9`''��w�hHF�+���Wm �]���~��F���_

�&���y2�Gء%�9�����]�ibP��=�9<���e�&���rF�B
�g�m��Y��;�[
�1�=��U��_��O�����x'ғ���f���`CO������b���<n)h[=�%؝�L�x�'b~���o6��#�c(��A�R]�C��mW�Ĉ�3�7%�Ĺ�
-�t��V��zy0�3�,k��dqg�1q�7x�j�2�����_Zw)j��q�^6bݗ�xG.q��;_7s�*�e�4~�iM-�g����[�9C��vk�U��Չda�|ZV�р���G�G%�#Wb1DQ_��Zmv+C)��
�)-��/��=8�
$ĺ�+��$�h^��
5��HX#2op���S�/�s����]��4�]kj�n�v�w4
>�O0O���Z�#��t��cg��
�y_��Ol�*�Lv*T�s�ךXe������8kTɗr5Y��9D�!L$K,�?�{a㍖w2OIG��G�>1	⃣���B>
P��W����=��KqM��y���z��R�-ͫ�ִ=��
�A ɢܚk����z�\�s���o��=3�^����QWp�ʑU�ؐ�Y�� oۏ'�tI�O+���:���a�����
�`��ڏo�%�_��슝�HiDҕ�˕�[��g�̒?#��ɥ|.0�a6�����?�b�^�jj��
����R�%��7+4+?�?�\����ؐY���~绝�դ5?8
�|vu}� I��!��V��.Ockj����W��L��
-���$�;NБ�
-�>����b9.|��	�~����T�L�H9��zgBu�w
��Z2����<��d�<��ۗ5�.�gn*c��'�fL��Ӛ-�Ŗ�N"S�/bh�u�ѫW.AuȯqS��.:}I{w-D�ł�'�6�I�08
��[��z��,�}��j�Q��9��Z(VzO�Ou�M����Z�v4���=��?C#1��4��O��E?3���e��WWԊy���RLP0��A=����2W���Z�t7�G9lr�f����4/��.��K~y���
�ꕤ��2�xݩ�
���ר��	%� �k�c�ת�j�02�vj"{>�������ɶ��OǢ�9�j�k;�VODH�O���]Z
.
�nO]y��$��X�)V{Jm@
���,׬Ƽ�����͖;6y ���wS|3[��k�%��K�׿�՞�л�=o��Ku-^�=y���-zVeΦH��ꇮ���(�yL`Tn�V$�]�h����#��o�$��ʸ�zO�}�&u�0��^��B>�Xց�o�O��̪�]r) ��m^u [...]
-�>ˡ���hB%��ヰ̻��\�����f��^�n_5��>�:&�}��`�
-A��>�
^�'
x��n�-�^���vz�qS�0�o<��~o��eЫ�O'&0��G�b+Ɓ����xeU��{����5O&Z,���a�;���#���t��ֆˬ�i���g��V��7N�A̾y�Wd�-��-����s4d�u<�j�~Ԯ��ع��m��%�{�t���2���<η�|98XȸP�f����"͕���b�5K�6�Q��qU�Ł�|����Օ�$�s3�O����UM�?�Œ;��}��r�.^xe�+��Z��;j��7\8�����R՚,�%vSW,��ϡ�T[��9<[7._u����?7��u�
���#�X[��_|n��i7�Y��&	�"N�]Ҋ�
�5N�|�,
�-z�����݅}�5���&
������U���{[K;�d���=:���\��b���g�T9�5�J��a�:����u�*C�k�����L
�gD7�v�`���"8H�G�UP��BXJ�̩�	h�g�|}4�5����u�җbm^�H�H۫;&�r�R���/y�M6�$��&涂S�>M��r�6�/kP��.#O���v����#��F���������Y壵���6�Im�_J���H�'u�Κ��im����Wlr�Gj��<{?�7��d	6I%�
8ch����8a��kC��,{E�
������#TDEs*����X/xu��Sw����g�t��NEF<�����g�b�n�ΔsE?�7
����홵Hхu�|TjT�5N�@�ẹ����B�YS�?�4��:�4K����M7��k��,k�����g�VT�i����N�-�&��
$�7���H�g�;�B|�n�
Ϸh��_���p��h��6�	�
�ȴ�#�Ȩ��Hm#�s
���ِ��--m$�*;��`�9��Z{���q
e��c
/��	zDcZ�[��,]
E���_
i��+Υ�@s��zr%����|�Ku�`�����ʑ����q�D��)L;鵑i�}�����Ѱ�%���q�����ת�g1񣶩�L��
-~1���
#[��Z2���r��z��~l��%���7�M�9�gϕ5�V�ٲ���v"
1�xĨx�>Ā�&��
D���?.w&k$��� �
�RW$��������X�������R;�-��ay��dnb��MXs�d�ߵ�k���-̂�?������֔��
��
eִg�N��.�V��[�,����*������\�z<I����s�u�V

֍�I� �}���f�b�����b9wR�g��l����󼷡?��}��5�S��30��%�U[�=vm���'ˈr^��.8����qS�HB�^�������&ȱ��E��y��*��Ǿz��:�H�ș����<̕5�R����N���<��X�in]�m?��$2��L3�5]��E|4Q�
�Ȑ÷���z�����>2b��E���k�5r���켖
���+B��/f�jO?|�-C'm�A���D��-�VY�l(I��D�Lea�>X
�=Iߵ��t-��g.3ZN��}�n��������:�
U�q
q��Wmqk/Y��ŏ%6����It�BiUcƲ+a�~�W
ߣ^�ߧV�y�̜������RƔ�.jSK2ʡ�!�W4Ȟ�%�[���5�';)�,Kl�'�EC�S}=�umh+��P�/��."��c��PU�[ū�e��.DN
Jܕ��?^���N��f�n��ycsxKa�
-�k
�lv�n���d��m�q�N\M���%Zz�
o2��mыZqW$�#���&��;-߼�3�w�ވ���YL��d�.Y:E?�p�Q��v�A���4���?�/5�e�3l���Q/J��;Zj.��R���_8h�W$dSjJ-s ,1�
-�g���6W��"2�o�{Tq�(��\B��-&?|A��+Rmo at G�[oFJ�������8�����j��xq���ݮ�<������
�fJA��@3�g2��㯧�-�u"R^�p^n��mov�;i*y��^��{n�"Ȭ苋a�K3�M[����
-��D�����ǜ����X���Dʺ���z�$��g��9���i>L:��f
-�H�WZt�РET\?+�~i��V��(H�
f�Y�\�`WL�F�j��ƪqf�ƶa�c�%D��x��>���;��̚_>�$���d�
\�8���.�
�><��'�l�&Mӯk��9aF���	�=ܬ��9H
-3��m��'gy'��-#�����A)&2�X�"�ʉ��{�L��d
2�p"]/��4W�X
7��
=�B�4��)EI]\���H�2N<{��S�5�{h��5�����2���C��y!�Z�ދ\v��
�3z�l��g{傈I>�R���1�Xٗ1�綵�V_]Q�/lo�,<����$�֭��u��I�WR��υ1�W�"8(%�m�_�h�]\�8{?����r��'F��uH�Ah
ʋZ���l2X ���T�j]�<�*7X#�ֹ,7 #�ǚ��t[���Ot�^�Ǟ��&ÿ%]�IE�[V�-�s�� ���ku�ʵ��3.Z�>Eɥ!WFMO�+ at L����e�t:��mc�v���ҁA�X.|�%f-����UM]yS�M�]��C�#;d��Wgmp+
�%xب�5�P��LTd
-��ݣ�3u�JVZ���}�A����{��&B�y<�Q��SNa�g�����5(g�g
#$fMpkx��;���0x��*����/��|u���he��!G����p�����~D�����Y�S�}^;��v����Pr��Mۑ�!,pOߛ���O�/�_�Vd�7|�
��0������Y�I�kaE������f�D��F8�岼�o�f\�4��׼^H�8�7�f�9!��K9C�
�6`8���
��&`��!��z��QW¡
��%XM�u�{���k�Dj���OZæ�=��5���ED+�ެ�5#���V��߇�">�O�¹���J����1&�9F�j�
�X��<��$d
���ӄ�?O����[_r�N���B2n�ğp�$m󏣡77WI�	��5��D*e <�J�>Ч�'�De5�Z�ؘ
�Z`�yO��վ~�y��s�
Cw�b�k��X��J��F�Š�Ҫ�/XayQ%���P��wJ�
O
-P���ݏ�,�i��{��<V��߯�H}��8�Z�1�5�2��T���(ˀi
� H�܎�`m׹�"�S00ꑛCVzJr<�T\��E$�[Bg�96/�@��aGO=�)��A��d�(����+U��Q
���yJ��1�I�m��Ά��mi�)=�罣�3(6�K)����� �
�Tu��5���"|���f��Xsnɣ�zI!+�\1�W�v�E��̤�wa!�H��P�
�.��#W�V�I��^'� ;˶������^��;�s~�fl�/����TUz��Z�.
-�VwoO3>�g��IE��M�`R�b���L�z�%a��~���?���/��ZI�Z�4�E1��!�Zca�����'rQn�U�P�v�u�_�
�������?�`����J��0
֫-�����e��f
����UҊ���J��+W�L�p�5/���U�jg��V� >������uč��f}�����$�����/������>�n��qC���M�J��t8�R?�ٱ<)�Y
�-����n���|���Kf<��b�I
�q�z�8��%#���]Zy8T���"����a=���8�K�h
-tT��
k��|�w%�_�]�==q��K��ޥ_u8���LM������
7��j���R�������kzR�x���I�}
-endstream
-endobj
-3501 0 obj <<
-/Type /FontDescriptor
-/FontName /JRBWAO+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/e/greater/less/triangleleft/triangleright/w)
-/FontFile 3500 0 R
->> endobj
-3502 0 obj <<
-/Length1 1407
-/Length2 6075
-/Length3 0
-/Length 7036      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.)��-C

3t7Hw
-�0��0C

�tJ� �)!%!
�H
����H��������9k�z������^ ����=���B��� )�����8  ����@c8��M4�yx�QH�������1>���B4� �0 ,&�� B ��߉()�
-�n� h��0O"�2�����ƌ�����%%��~�]a
p(	Ё��`���P`���ah���qB�ݤ}|| ��(G9n>�
�0�y�<�a��_��W�dD@��������x� �!=1^H{� 3
`��
�s�!�$k�I��u7 � �?�������]
�BQ�n�
�p�#` =5m�/� A��J� <Q�z�7���a~�
PS4 @0 ���	����=<�_��ܲ*�^��
-C�=�~�O��b��O��f]�(d�_�
i��
�����	���P�+�"���CDA��B �; �
u�����
�;��� 
-pC�
0 `Ap�(��
�=�`A�;�o�
�áh�
��$��;�
s�cc���X�0�@�~�y{���=
-���'��~Mu�M-�x� �OLI	�
���DA 0X

Ǽ��������W��l�j 
P 0�������/Zp�%n��G�0\�����H�<����]����.�/����Լ��a����#
q�#��J�P�
���
-#�����HYf�r�����"�Cq~�� H��������P�?D�{�8������`�@���aTu�|U<1��xb$����_6
#��C	E��R��� ���#�c�����|�
 (�D�1% 
� �ʃ�ך�`I���/ѿ�B�<<0��3�o���a0_�hf�w�
o=�Vd��_
���M?1�ͷ&D����,%eg�j����լ�;t��O^,L
��1���
�3�}sd�K��>ƞH	���:Iڄ�k��tW�ȣK�)�N�My{�^# i gm�t�e���fD�n{guq�65�����!�ٮ�xU�3g�5���8��4��Z2�D�>Uw��
�ϓ�0��
��[�c�&S��gT!�2��#��)��zN
`w�BI��r�;�8i5��l
/8�j�u-~��tW��V�E����z&1R�,[��w���jC�5���iqCo�&V
-�)������
-b�B� L�e�ΐ`���7���M�Xʧ��V�����
����w9v�Y�Z�>��vL�\=~Z��u��؞F�>��6Z���cq?P.��4b�?J1OGg�%_�M<e����>~�a#�-ľë�#�a$7�/+TMz.{l>�<t�̜��s������	��臶-\.O<�q>O�P���!�=`�D��sb�8?G�n��X��S`W�uܭ���h�
-�U\��T7'�(=FTD���T�m�|��ez�m ���1w�
��� I�#{K��5g�7̗���C�M%���,��A�f�O�T.�C����q��ZR~7��-BcW�1�[CH��+�r�ʛƒ��K�2
5,�4y��_�/@�n����Ц�w�ʕ�jH�p
����̟�����dU�x�O��T�
8Wkcތ'�6)B8�³!%;C���	pv�&�$"G��t\[q��/���
-��I�,��Ww��Ϲg��xB�66�#�r���e��z����<>3L�|Tꆞ9��˾H��S�jE��h
�
eT9ĺ'I�&�|{�E���q=L#K��Gԉq���Vw���d?I�{��ʻӐ����
��(Fr*��p�gZ�[=~��Ӭ��Lr�n�f�=���h
γ��Ǻ �
-
p��Y���t�<��%F9eeH�y�̳^�גr;���n�_�L�4<�e�5G�J�L��S����Ļ޻o~-i�c�~�.�lY"ҟ���k�]
-8&
�{�q)����q�\���9�c��ukK��H�9�v�	n���@'K��@;���&O�E��P�u�M�
񘝤u�m$��E7u����Toe�)}�5�}u�I��Q:��c
�>�G+
��l|3^��5|<��2MY§$�m_P��=n}La�o/��yL@��"�G�����Ϛ��>-LC�~�|գ
{���i=�0<��3C��n׭�&W�k@��#
!��a75��*���8?�&�H���E�D"��Z���ih�Ȉp��ܩ��?�b}�7�����[Ls��-��O8�x�� ��ɥ	��jM����NQ
x�w�y����5�{�
M&_
U�+_z���e�vOD�'��uI
-���TO+P��KS=
8�!&��3B
�Wz��+�p��q5�S]�1�XTٌ�;/.-� �� jdJ,�;舲PDH)J���x|�н
���LE��"�{4Q���pZ��T6
ݷ�n�K^�@�”�io�M��=HbKr�x��%�OKk�*��/L��m[
W�sŲH⚊
�{���Vl�gU�	�F%I�NyKU���g���
��+�E
�S$23�ж�
�T
�2(�v~	[��/j�2�X�F����T����;�P�]���䫵�>��Q�p�t$KCۏ�!cw�vev�	�K��f�Fj1��|�� �
W��Ӧ
@
��Y��ݥ�d��K�{�$���~�if�~�+J���τz�SN�rQO ��uS���Uw���n.K���U�
�c�-�Li���>"R��(m�s�̒�+��/}J�qO)L_v����"h�,ZX�~�	���{��4޸�\��v
�!�g���1�'M�0�m�(��/��]+��e��kR�k�8��&&4�m}���1�s��-H�lQdݓ�
�puȢŻ$"_І
ޘV�xD�6��bȦq�d6a��&���Qv�ǕYwƨ�@��
_�{B*�T
-u�
�!3����
Ω�C�M
�&7����

yk#;�&�d��od
o�\��%�ș?�
��^���Qnħ�M�_�x
�`q*
�
�y<��E�{$�{Xy"9lX�Q>k�����-�@�Ʃf��>�5�jJQ*k������0�{/����h	��<�M��J��~��	�*`:j��Í�x�WB8R��Q�Dž8gʐ�Oj�M�7���lc�h��2����au}‰׮�G��?/
��IñK�N|=
w�Y�s�2��#�e�UǞr/GS�
?�2Ʈl��oO���ˈ=s��sw���v�3�R�C:�8{v�'���
�����I5���v�Y"��Cy�B��x��o1����֞�T[��w���s���v�w" ���j������xC3�C35<ѮKA\�&$I7��,z��X���vh�U�O�
��Ŕ1
�K��sTՉ]���6Hv3
�v���t�#3 at i|��h0M�K�z �I<���b��X
-�
�q�\VK�(=%|Jjh�}����o��&��p`O	�S�i�{;���e�����뱎
��Ԉ��ȓ�M���
�ulM�ϛ_+�Ud�Z�������'@Q8�9ْ�+����qzJ����G�;�.��h[6>P'��)'�V�y�P%�^戮
�0f S	��i�

�~��௅���
s���왧�I�F�
s��gފ��8I�%V_lW
��|��>E&
� ��
^Y��sx�G�)w��n�j�|zVۅE����.;��P�
-������
-�lr��a׆�����ωW%D�
�;Xힻ����(,���³G�O����Q�m*<��mxð�G� �Q�-&H�~�
c���)p�^�iPğtq���0;�

_(h���mf�dR/��.洊���c7��

�]���i��J�9
-
QFU^�xjըolf��"J�n��oV9�?;&���������%/�j��^�%�dZ��7�Cڲj�ӆ;�
����/��4�8��F+��ߤ5�>��9��;,���b���4��
��vy�7MȭL�D����ү�m�4�)KƷm�:�j���]�";Z�0��
Pn�A ��@�x
.������ۉ���Q(I��i��:�JQ�i�>	����b�`
U�T�W��.ᷟ���߰��4�Z��v�j<������N˲Z��5JM�3=�E\�XuU��_�vh{�y����߯x1��}�
ח�Dž���hV�G3�jk8;a�Ӏ&�m��uĘUH���(���Sk�w��/��$3�\�
�����5vY]�s�1��m�� �[�So�$��Bh%���T����
�l啒��>S4U�wFG4(V'��HL@�����*ѪN6G��@+�
�d
-y뒿C�-d�0s6���
�b�:��f�`��PC���z��IC
�
�z4��?�B�.�
���| }����8�V�-[*�nz2	Z"">e��b��7�0�����O}C�v�'i��g�.{>���մ���O���wO
+ug��М#�i��
-۴h��6��N�&m:�(�H�Y�p�/��K��g+�Wt�ٔ�������[�ző<�j��r|d�J3،Y���
-�!����go�O�N�2 ��s��\�޷�N-No��p1A��ǧ�e���'��������$#?{	�V���y�
��pt"�t��U�M�\�	�����Z�/g�c+�~L}9�%���\���� �+�=������/љ)I���w��:�)��C>of����y��͘����닒��ڌ:�=�k3��$˟�ua�g]�,e0"_x��arN0E��ۂ}cu��x��挤z�����)�8
Z�j����V>��j�ቨ�֚��t��i����F��i�]R�5t҅
P��?�0m��aM׮���{k���zb��[����=�J�O�p���
�s��]!�^9�*��l&��{�_�od l�\�TE�ժ�b3�*9#2�UB��dJ��۵fv�Ye/�%$x�i.ߴXO�	l���Ic�E��T�?�����1'�s�]��&-ϋ3૟D�F
����搥wM�9f\�s�}/��HWq�sr�lj�eg��/jˎ��M���ؤ��Ϣ[��{�[�co��d��70�������
�0h����缒��)�?��7����m�c��>5-�x;;CL֥9}�?�'3d�P��0+>����T�3�f�g���u҉Nm窎&x�v�u��ob
\��ڕ�v��5����|u��~ބ�I��3�I��Tڱ
�gw�>9��������#�s�
�(�P���N���ﯰ��n�ݾT�0�|h �j���o���*
��e-�^^�
����p�w���k��N�[�EY�� [...]
���m��m�ϲz�4�D�n˗V��T�~�^ˉI�f���M��7�3,�y��e���V׃c��L�Q�P����7��b��
-�V��׃�/��n�x���
;����\2DS��.�9;
���7~�]{}��h���b"�����9���ZIY
-�k!��.�7L��-�. at 7
������H��ub��2͙
K8�Ljx$�B?�$�,�/���_�L��* �ߣ�ٺ
m8G�v��_f�Qq�{_����S�r�A�&���O�=�
-;~���P߃���+J���=>�L��{���`Q���yY6~��ʰnn��{=�M�VH�ʣW?Gdl��飠��ˉ�Ϟ_q�f(����Z=�H	�*�p�_�	�~��@v���ƘB
-������Yh��Y���*��o�+���+��b����[�,]��=�[v�6�+;:a?��H%7O	Po����*�/5CWyS-��
YWT��"� � �C��R}�f��4�q���
�����Z�tJ��XTOOԳy�n�6� ������v�{�9�Q�n��чk�-����R����$
r=e��?~i�M%���+������!<-݋ރ�1B��yO�*؜���W�k�3s�[�Y����go܇�f�>l#s�1l�7u@d�;z�Ƕ��	�H[���,{��ş�aQ7% -�̈́,l��>Ի�
1��=�/���>�
zu
��|��1�DY��"Eū������ws���کr�o��i�����~r*�����ᨬ=�H�q���x,�e��1%[�f
�$u�R��s�yhg��x�lu��R��%��x˳ز�5��l�{F�Zݪ�Oi0�e�oC�^Eķ��
�G!t9G�P�t{���S��
ַ{[A�
��O�"vyv�)�@�[
A�ӷvn\��<��T�~��f�*���jn$�؇�e�Q�H�R���-��r���()���^����
fY�M
0�r\�R�{�����@}\�´u��#b<h'����T�����w��//c
|�h����LAr2��#��\�f�ٮ�$�s9����χ *I��5
	
-��x��B�Ok�R;&�$L����?
�s�C��/X@|��S�
�c����m�
X��F��)7��PA
�H�������)芿��%uV��ݨ�aB%zн6>^�ӷ9P8^�&����������E�
&/(&�ytd��b�
�����[���^CR����%g��q�
Xq��$}~vTr,�*��Mg�Bչ�
�2h�n/����"�d
�y+�y�j����r��p`��H��q�|)�C��a�K����e���1��u��\���,��D�V��
-�)p�յ�R
�q���]��7�W
����貚��X�`��4�5fm�'�;F,�
�����P�G��dr�;��
,��z^un������HP����E
�̃\�"��W���t)�����iWHz��ؗy$3�$������r��Q�A
�ex-	߰���D�:�me�Lt_������ጅ��>�I���i:�{?�u�������Ƹ8Z��֐1M�EW�V�.�zf�Ҝ��D��I�`AP�l>�^�׋w��7��_/�p7}ͼ#'N:2{P��?�f��
-endstream
-endobj
-3503 0 obj <<
-/Type /FontDescriptor
-/FontName /VNHVYB+CMMI7
-/Flags 4
-/FontBBox [-1 -250 1171 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 81
-/XHeight 431
-/CharSet (/w)
-/FontFile 3502 0 R
->> endobj
-3504 0 obj <<
-/Length1 1569
-/Length2 7412
-/Length3 0
-/Length 8449      
-/Filter /FlateDecode
->>
-stream
-xڍ�Tn6NJ���8�F�tw
H
�F�����n�N�V$���H�H�7������|��9�s�s_�}��X���d��`E8
���
�ih���@~n ���E����R��]\!p��8ȹ�A�N
�@�i�a U7(���+$�+,��@ѿ
�.b y�;���
P�����,rp'/��
u��G �;�WTT��w8@����  �
�u�
-Ѓ[A���J�&n�@8���xxxp�
]��.��� ��
v����� 4A��?ȸ�Y �v�?z=�
���P�把p�Y�] ��z*� -'0쏳�N�_��r�����_� ��� ++�����l P0 at KQ����`ֿ
APW8*
��@A�(�ߕ� �2: 
-�_�\�\ NWnW�D�_iP]V�Y��

�0�+����!.`+T۽x�L���y�%�@`�6�@X�9�<�A���*���T���l�� PD�_D  v�=��x~���r�6��R��z;�� 6(`_�
����
-r.n`_��4�����
��X! �`[
���(5�揌�
�`Dq� ����d���5
�����|yt5��8� ��&+
�xs���� ^�� @u���4�4�o�� �_��ͨ���������@����_;���+4�(2�l�r�(�B}��?o���?�����������6����� G��/����Ѐ�������?�����9��UB�
��q.^n�_݅�*B<������&�=
�
P
�
w��zrPQ@���Pkg�zV\Q�c��v�{��d0j�������:�	
-@.. /|!P� �����`�߄�p��T ��`w��5fAQ j�
A�Կ5�������Q��GB�B���
���_�W ���( 
�A-�Wנ`Ŀ�
h�oԅ���n�����o������Q�=�V�s�p�'��5��gU2t
\�#��)gF|\#��q}
-��k�z��j%�s�����;4e�ϲ�g~x#k�y	�p=P�j��2v��}2����i��	-�0I�A�K���H�N<)k�>=�G5=�	
�E�ª!���UE�T�{뺈f�����ԏ��
c�6�LÓ5Ә������=*IW?,����
Pu����
-A����� N��b
�U�;��4roK��һ�}�+�Ig5�Gvȣ]3��νY�Խ�{�J�/�r�㥇�~ęN��–)<yG:�
r�=+i��#��_
����"��UT̻ks����ﰠ�U|G�}�Ae
F�B�v)���z�슳>��o0��i��s�D�K��fi
.UL-o��e�ݡ��Ֆ����,��3Y|OM�����x�a&�[���5����T�S���#�O_ֶ��}�j��+��4��}
�d����A4ӥ�4;I�����]k
{����>�`H9H��O��lB���WC���ldZ��qQ
�qTI'���H�f�O������y\G.�9w�t�
8��r�BSH�bHbW�qL�d�b�n�㛮�l��{o
7���K?��|�L�2�_�*S��`�x�*SF�-��瀼܋��y�&��4��qsfj&%��O+�|�?ڇV?�{6��<�&��&D١wҷ4������}z����x'*���� �?(��vz/��
�}?�
2~T���
�l2d�����N��2�gc��!��/��9���VRb����0���N����Y�9]�����䉢�G���wi�Q|�M���w�q�eK|58
=�m}a���i
=�.�f�*X a�����t��P�Qz
���g�H�����[2 F���)%�X�����>%�׫_����y/3[��k�8�X����M�]v
��G&7Ƚ�7q�8�Xi��x\�l��^4���,I�6A2��Gg.���D�5)�%BIt0�l���a�q�i�T҃���4U [...]
-�u;�O^7{�0
��*�9.�����π�dRt�
|8�ӷ��.m�!�EWQ����$�z��o��"#Ӽ5�U�
��,2��Iڀ���hO�����5�=}"|�.��p����3�Xť�m$�]X���!o�Y��
{�\'�+�`�G��ׯU�f0�딞��כ���ک`��}�j^S?�����WA�� F��
���� ��;
`B#�7HؽpskcM!�QsO%E\{����4t�/G��ԟ��qŋx�[�=�B_��c�Ӌv��!�
],�^!�܇��&��Ur��	��
�՚�Y��<қ�z�4���]
0!�֒į�<�j��$��Ed#�F�Y#����Y`��z*#���=��я" %]�O�1�H����q���/�W�2�>l��d���ي���3���..)
9,Kf�I�IEǡ�F���o`pu����G��MU�(���%��b��D������oE�Hn��VYz�bSJ�X�[���d}���Z?%�<|&�& ��ԌPۋ;N\���*P{��2�I~*r�-aNt�;�r�.�)���K) 烵q���i�� 7�u�&�g�+��
�P��EF;�O�O_�h��`�d���s�_�Y�e��]�v?���PY��\�)�K��������<n-�5[�v��O��^�; [...]
-ܶ�|h�N�)��݆eD6}
?#7n�
F�⮉�w��#h˙�?eYP�9/�f����t*)��c	u��ʥ�`�����"@���ȉ��c�V�W��y�Iv輖�@T�Wˍ{g4
d��M�?�5E�[�\�ܼ�~���<x�Z!����XL�@��#�8o�e��[��l"��~��㦤F�:��k���\���x�MVo����Cf�m7jjI&J��D�� �ԙ�r6-y6�ztTѿ�1⫛���ÜJ%�EB�˥cKu���㾏��y�=�ԏ�{��|=%�N	/�Qֲ���8>�˚i���S�r*��
��'FP�
h�6E,��~ �]��o��X3�|�OR��ΰ$�hƯ^D��ߡ;f����[��b
�
=���8bk�5���ɍ�
-�O��f��rT��;|�m�6�L����pS<�Ss9 E<�R~r�K2k<�n�
�=:-��:�r��t�S�|x�+D���}�[�ėGq��i�
i�0'A��u���c��oy]C��H8�n'R��q�u݀���b�HĈ�ÿ���4�Q
-q�|�����Z�
���x�C��
-@"���G�an~`r��N�R�G8uIe�9X�̖�#@
�T�˪����9%��	GϝՂח��T[	�X��@l��/��p���J��c
�m��ѭV��1�FV�sj{���E3[D�����o�yͿ��i'���WΏ$8~���ӡ�95!UȞ
/&]2DCY�Lv����Š��&���(�f��*����~���t�C�m� ���z�֓,ss<����S����bn�ǯUÜGb�x�9�~�}S
b	�+h�ZiU6
�~l�7� y���l�t�ƌ��Z�I]�0�a`���l�������{
�a��U�I�'J��.�]�N�s4�Ȩ�l\KI��S����
�fS�頼Z�G�1X]ùåh�x������!1�
-���^���m�:,uN�JEc�?

U�M
-�d;jl̈�;j-�U�҇�#)���W����r�s���n屔����.��T��Uc����Oޮ��f�OZ{%�6k�k
u��
�;��Z�(ĥo[��/��񎧤Y^X2��wS�pZ���U���0��*i}����a73S�9��u��APm�I
v������'��g$�b9�-�ַ)ٜ}�P痿\	6��l�ʬ�3!)�t�Te���9U�xS��p$��U=�L��+\��-Ʋ�@�B|A��#�h�Y��3p�
���InL�Ȁ�t6,&�<�q����~�sK-�6a^�
V&_ ^)�c��p�U�KH��g������љ���i�&�,#l쐗c���r2�6�x�C� 
�x�'Wfo�(�J
ra.�v��
$���I&Y-3��36�T�c���&��#��cj�I���<I��s0�J�n!SWp|��C!v�z8��
�|�f�
�^��w`��R�j���S�5���_������z at q_�E��5q7]
�,P�AC�Y��j}*�ӻ�'ȴ�<k�"
–]�8��{�סd�(�a��5��_�������:R�)��'�A[u��k$�����1�I]��e]��1�٪�|ٝas�P(�~i�.~Ni��!�TSU��A��e;}���
�1�w"� ���7�
;J��M���iŪ#��Y���N�(�c��1S!?Ԭ���~��kmh+"mf��RmC��x�
��1��/h_X��������dƉj2�0݋�)x8���3�C�p=�� [���������ᘕK
-�א�D�
l}
.zk׶
,���4x|�Rc>��S����w������6���H�0]������]��D�"#i����[����E3�+k���C�U֓������J���y�d

�)TH�Y�$|�����lE�J�
��Dv���6�eq˻�Lƀ
-�M��Z
�Hp��*޵�~����5���f���ګzۃ"G�>>�����Ur	�$A��[*ɾ;��K��;eR4�n6� ����5�ZX
19
���و09vÔ*h2�(�S�%D�-����I[�#^@��2��F��`y���$���& ��H�+�W0疚�&�A��鎛��
���XJDQ7���9.dIe?�tA�0�|Nu$o���)r���Y��A����c��v�~LJf
���&�G�}��i}���
[����Ɗ�o�Lk]$��uj�
�[B�y�
��
��bk��k��z�0��k�j�
��I�d?&px�%_���1TA�^�<�
��8*�L!�</�N�
\��
Y妈
-�� ����>�����
-h�W^R�%θp*���Vi_fA�)*��a�|�y�O�6?�;�HsYJXm�����o����5�)�h�J0A!9�6���p?��1�ȩ����5��߇lG��H5��0
�x
-
yv!ؙ'��l�(����Comd@���
��Tc����h�K�C��б
?��X�⊏�
-��-�6ˏ���d&�0(j5�,K��Wwz�>����f���;�/p�?��x%(�j�}N��������Z�|�s\�/X_�~騲
-
�8�/��\�vP�T��+�ߤױ��P�*����]��&���Spc|ës��ttU���o;C&a�ƭxC1�m9�Jw�2��m�X�@Y�D�b�h����#9���%ЭXBJS��NO}�g�L0P�J#?��d.s��
w��+����^	�&>�Mq{��)~"��%��*YO�zw4ID

�mV)׼e�����f�*��ˮ��
����y���|��oƇۃ���;0u`���E��#��
Fy���j|�bka�r�W#��N�D�S!���{i�W
��pu���7�Z�E_�u��5��Io�����V�����]�C�i$
����[�L'�,�.�aq����·V��ў�f@���H�f��Ao����!�ULT�I
-6
-ŧfM�u��[c�ήw�$�D��F
Gn��Yv�O�E�J�M���%���1������0��DI�ū�������d/Bz��~�� �*k��=��ʋ�':'K�A��l5/
��bE�������NJԽ�� ��*��vdt
4�aU�p�Kmھ]���H[
�0�G��|'�O�
-X�<s�X��t]�
>����zϋGЯ5�K�%?N%�Hi���%6�,�7ΊڕO�D�g�U����Yu�ra���w$\��
�Y�1����R������^��B-��m*��4�
�
uXZ��f�w
oo
-n<�>��u���W�+��?B��ш�`~�*�	%XT_	�m�YH~������F�1�M:�wo�@�w����g�ɒ�[��~�B��yG�>��g��r�c
-�
-�+�'�ˢ#��s,#������.:ҙ$I�im�^z,,R8ET�t��=(�D����w�]���qG�@�ED �ɒ�Tj�l�״:���>��ƈ~255���~�^rs�~��K
sO@ �]�UNjcG�o�Ȫ�
Q��~��Qg˗�;�Hn�߾����!R�{�e�s[�û.�;�E����m5C��K��A�i��
F+�Zp&�}��P�
#1ي�EHE�Ņ����n����������*>k��ғ8�i���d�
-���[��
��=�Yr�^yQd�s4�&Nn�:�%�&Qg-ם��ո���
���&��hX�웱�b�
->��]�W�f�-� ��]�gQ���=����hUF�Op��Ye�;
-T}��(��F�e8�h�hLxo:H}T���W�ܛ��ę���
�O�PZ�<�#�J�gP�D�Nrx�T�=��)�KƬӜ�e�%�ߜӦ���j�Y������Gl�+ҫ��?�q-��<�н�6G���|ne�����nʃ�ɏ���
���DW<L��!��de�
-���2�n�*z�o]��V�?�x�y�?�$�+�0!�*]G���
�=eb����v�D�
qA�?#�-VX����?_k��Vo�>?
��\	k8�V�_^�� �y���'Okm����Z�g����|�e�D#
e�{H�Ye<�rV����q|����gvp�e'˺4�
-� �&��xUH�`+��ٳج�J��o�umt2�C]��U�'�Xi��i�A'G�ޮ�����
-j�yn�a
5�+�>�7�4-Ew|
���)]EZ�e�Q�����.#�L:46�y��!��8��)}U�
V�����dC�a\+c��}�w������
Y��i"d
�H�@_	
�{�m!k����CUY�P�S���BI�۩A���2�t�R�P =���q^f�&�~&�Q�~jf at k��[Lw
X�ͩ2��6�j��r���:u�n�\�,��ϕ�uS]mu��6"Sl��;[����o����9#
ҙ�e/�awS����+�L
!�V�oZ�]6�\��N�މ�ш=�ǚU)-���$�)����p��ʤ}
奩r��J����S���db�}��k�	��O�\������`ǛA��!�"z���)w5�e���&8���>D�����I^�M@��\�n��Hfhwqk/}I�ȳ�y�
fh�>��p>�I<3����V��{�ߝ>��QP�;Z�\��R{
м�.������s����~�L���x�{3����
�O�25��;f,CO��.Z���?;]����m%�c,�:.�Y�
7fu`�kC�
�U�}&-�5�s�p��3����N��%�S�ly-Y�
E��r��׬?z�G��R��>�����7l�9�O�
-�m�\�����+)��y9Y���'R�q����ה:�\�	�{��f�y�t&eeOb�y�W�ߨjlG
��Ά0E�3.�!�3+��Q���?�f#��p��pD
��4vt\�d�@o�yF{\������ڦ @m�� ��h��猊{�u�+�X�z[e,�ꌜ)
��ا̤սI9޸%BY{c�f];�"�v�u�)Rw�{!�7��iX��r�V߈IF�$x\@��^����ᴘ��|㋹W\���;�>�P
-�2���\�w��{ۅ�e���rԢ+n��4Y��CQ�}u�$�F�"~9;Zy����iZ�4����v!$�B�[r��:�G~�ֽM
�E��I;%��?C�A"��D�]�6��&���_���
��-&nf�&
y�r|�)@�H�^�J��<�U�`�r��
�A
�>��=%yl�E
d�W

-I����D����i\
����~ۥ_r,
zSo�q�,��qv�O��
�^��R���ȁ7�0X����S�$'�9����h��=�
�EM���aR�$T+!@;XE��v�n�ݢ��f#�E7�c�F�c���e��!�O��I�b�{��?���vFr�H����#�x�{sd<o�v�9�蝡

��H׫�=O��0���$��9��=�d��J���? W�"�O�|3I�����y^q"�	*
C6De��]�
�Q_ž�g��
a&ҲV�n�i�A��W�Z��@˨�� ������W2v����ǭ�=�	�?g��},��"�W�("2���O��m5��8q��_/��#��MaH�M��b��	Yi�m�T�M�
Œvb���A�M7;G
�KT�%��L�W^`��U)<�X�
y�!
��V2m���λϕ/B9S~�����v��B�"s� ��[K{'�+ʹ^�Y��^G���@5}d�]q:�k����PP?'3�ʇ� �!x`
-endstream
-endobj
-3505 0 obj <<
-/Type /FontDescriptor
-/FontName /RMKTHO+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/comma/d/e/l/less/m/r/triangleleft/triangleright/v)
-/FontFile 3504 0 R
->> endobj
-3506 0 obj <<
-/Length1 1511
-/Length2 9163
-/Length3 0
-/Length 10177     
-/Filter /FlateDecode
->>
-stream
-xڍ�T�-�)PZ�!P�B����P4@�P�CqJ�Hq��K)m�"�ݥhq�"�~v�{���V�J�̞�s��='
��
�V�9G���%�V�q��x8����t�{�_n,=���W�4
F<�d���8UG@��
 ����@B\\ n..��
�B ��
-��	Pr�A\��
�<�P[��6/̖, ��� �� I
j	�T�[��Î�`{���%�����"�������	vp�t�ۈ��ܡ[��w�X~��
 2��b ��B]��k;Z#��p��a���\
2\aV8�as���
-@�	�3X�� v�_w q��)�W��BP��`KKG'0�
-�XC�! u9N��
 �Y�ۻ8>���P{��C�'�$5���s��C�.�.P�����<ܲ,�J���C�`�>�
�|�vO��}st�y�eXCaVֿIX�:uaPgW���_!.���l  ��  �
�xX����t���~��z;9:�H@|�֐�,o����B|��
��������
-��O�7��O���p����A{  ���?+�yY9��=��G�����l2���r� xs�r8��� ��"xX��w�.�o�x5����0kG��

.�o
nɂ���a��j�Z� ��#}c.>.ˇ/��� �������U�o���ɹ���3���`����)�"
�B��a8`���s�U!VPW��E�����s�P9��J����SCw᡼=�pt��~l 

��a�,_=<(.���<��o)
�t��=x�|� 0
��zh����=L���i��0G�C
-��/�������  ���� B�]����
 ���| �
=���| ��?�Ù�w���n�����'�_�,]��i�Cv����xZ �%�̤��p�]up�e�$�;����ú~2
��
���5.FKeZ��\2������,��,ͭ�Nc
ƛ�8��_>7f�F֛�����
��H~�zLɡ#��s���
-���C���
\�
�K�Ny�O]%s��������7%�
���
-��-�'H��
T����
O�����3��i�޳a��F��{�\掺��Z(��vi%�'{IJ�z��?��-���D2�]�?�mڣQ$�&�	{�<�3�-��J�V���[���ZV ����Z���zB38�:Qe�Y�#�+��k���s�6k�$�Y��O���'��;�
m޿j�z��q\�&5]��������w�Sڸ�Xem����R���J(��E�g�n	/n��!"ށGR��y\\/_�u �S��e�
E���
�}Y
Ǜ�w�7	��W����tx�Gf�#k�ʜ�*��6{1�IS�R;
T<\.'�)��Q���7}�M�ϫ(߱>U�n
�iw%�˹�W��
×�I���1�U�#�)xn��㼴Tʔ解��a�{�ToԊ�@p��/Z���.�)�(�
�-���H��:�G?���^
h-�qg/Q�a`ʟQ�R�)��g�dZ&����_���Y�?w�g�Kf$��g
Q
is���>���
ݑKQh�\�<�ZF�
X��>�J�m_n\��� �{��j���vj���ɒ(��;��E]wɚYʏ��� K�=����c|��"�U �3�-���O�e���J����n�p1�^$<	)5n5D�_���~<�qß�9�!��	�.��N��d��Ϡ��R�F"�h���t5ߏ���u�A ��^&Ҫ�aOut���l6m0��G [...]
���FQ^=2�{�IJ=y�ڒ��x���߸�i�W�׍�(��B�)���S�
ѷ
�r�%��cU�+�LC���h7o�%��I�� 
-<ӹ�
��j|��2�2�v/K;�|��78L���|�g,j*�9f�pe��nu�1��
-~E
zz�_?��8�H��ZIw�!����d��S��
6��^o.���R�]
_��qw�z-�Ʀd��g���Z��I�Ƚ����%��\�xbK��C+Ƈ6��rF��ը���_0t�
��q-�YVj��
�y����C���
4[/�iU�F+V)
w^����z�D%>�^��rŶf;z]��]
_t�3t�
�%r_Y\�6q,�XT�݊+�~꺕-�/�N"T
�ŜN��,���l�]P�=)
-&U��i�3s�UUf�{]	n���0Ů1�߶(�ت]�Lz���p�A�*n�Dh�ڂV�
:��m�N�z���rҼr�y
��d4�k�;��qKq@볎t��
���B�z�,�R*�
��}>��
�ܥ�t{�
-����ϛ�
�`r�t�H�H�/���
c��:uH����Q,$���}
U��&ǒ���(�~⹦�u��_������A�)����#�
����xR?OY�|��:5,���v�ա��k蝜�c|���R�v%�
-ȣi=�h})J�M=��G��=sP2�샀��-|�����r�ݨ%�5�9�>�<���|T at jf4h��G�}r��U�DG���-(�
-
��
�t7K
����n�s%>�	~g�f�M�yѼ��1��&��!WX� ��x���Ue~{Y
-�f-Y�į�Ve�p��^(�
P��C���'<��26���B�S=c����E�$u�nGh�M�������ܥN�ů��_����m*��g-F�#h�J&'���^�y5A$U����?���
-���.���r\��Ra�^��01�s7�&)U2��L��K����9%Anj2_"T��U�w�q��6+0{~O�7J����k�E���h
�GIJ������-���0n�^�O�0�
"���1��p(�Ȉ> ���3���-2�ۥ�^twzI*�Od� cyr
ey4�X@�$]�K�q�$�8�xs���-���,��}59�-�L�v]
--��Ra6'�<w2|��X�
|��[qD���f��+�?���%q��	F�A��/\9O\��Wg�OĄ���zkF�
�+��<P{��]�&{���Ar
C��[IK �;����
z�g��x#�t&Ͻ^�&:�
�=I�
-}�r>�U�	�|KOk0�.�]w"J�$�_�@~��f<B�
-9kL8�u{<�>@�
{���Ix���J��]Y��=���g7K�-�"�
-�V��	JP]Z
Ej壟H˚���̱]����@�7(�����^�}I�g�
��

�)�ݗ�.�o���W˩���g������w{\�κ��i$Э�p�L��B�y���7�ǹ���B��
Z��өd�
�w���, 
�=K�i~|
�o���N!�Z2�!>��2U�[�媚�j3�|RkR���d�J��5�����u�:C|[>NS��G\L�Ѹ>��C֕��=�{w8�
�:�T�
Su��KM����3��ܵ�ĴV�"�N�/7Y���t��d?
�����u:
GLp�� �
�����M��ɜ(�U���}�Vy����\��ܡ�T��v��k�=s��\�9p�n6rc��M�ۏ�����
޸SP2��A�~�%�����1��*kJ�h�E��١c*����{�IlLZii�oKLN}��u��\$0�e
��d+z������TF��������4�N�y�u��ۙX�f=���Y�D�bV-�U��&3�[�m�
e���l�M�28���D�V��R�Z
,�K�u�dž��&��B2QRʯ�
�&��=�ILw��ڪ���YX��/�]�Z_jx��+�d�lc�����SO>3$��:�9�ٸ\Q0�+5B�%��Y�]
-�8�q
(5KݞԺ Q���l�O�=�4�qbF?^
�ɻt5�h�
��2�];xV�@k���zڵ��E�tjI�RiI���x|2˚2L��S-�|���?Gx�A�\���¯��./d�k&��w�<~G�Q�ҿ�dmRӠ�
]a�p�i?B1���_��!��4������t6Ў����*BR
�C�	,1"I
�l���,dΆ0��u�h�Hs��"e�7����κ�y���
Xb�[�_5�އ��������֥_��#�1�ɘpLτ���>�Ilz�~
-�e��
l"��tF�*����x��L8C$ƙ6����W��t�ȓ���Ou:����E
{����Z)s5@
��!�(���<�J���}�	��Gc���M�^�u����� ��-$܇�cnz
��X���q���5R��kW�f�i:�.`��{�a��6��8�"��z�X&�2Öe�le�.��TQ��~E
-mt����X�-n��f��m�!�z�km��'���a(_<1,L-�(���Q��!qD�����39�e�{1���^�79�V]��D�
�X��b�Ó���C��*f�;�+��l�~�:�İX���y���w׋�*Z"Ih+0&�ܣ���?����^��R��},��:�K�zz��
-
��fX��z
�%Z
��M�]Z��,%��|/�^��/N�+�d�Vu��1�׽��9��o0쬍4���b��U�r��p��;EcvU!���z������l�� ���X�3%O瘤m��RD��Io����W�
Iĕ��?� .��� L��
�i﨏\��|
�G�/|>g>5
3�3��Gq��0obR�Ϻ�[�H�^s�}6��޷�
��.[�| :��2����Q�j�^����ty�S���s�
~��p��e�k���������v�d"���uW��
�
"�e*�p��E=�s���
�
�JN�˝�0:�X���r'��P��Q�WPFH��Kc�h�=��V$�'�^����ߥ"=��t~4��V�,��8*�^s��_PAW�$�c���n_5hqݺ1�w;p�3
h���4���{�-����MJ*�r�YkZW)��g&��qY;*��|7�}�
���k���GP9,�엌��:ۆu���-=�uQ��ā����h���0_)z�{�N�5E��d��d�!
Ե̿}a�������(�!��O*��s���Y+j
�|�@�$g��$����G�$����ǐ��x��=��&��r,Y0^��r1؀~�ݦ7�N=���G�swP��#E����g|*�%�����>�ԭ��d~��Ǹ7F�}�-{)4x��9�ו�z\k�7i��F6w��@!�yT�KC49�U���,?�>0�s�9�0���I�Q�`�3��/������mh�`j
-�l�
�
-8��׮�j�W�Wn��o���Ӎ�:4��u���d.+�7n����b����>����{4N
*#�=��P��� �5E
��9�
_{]Jěܾ735�y�K4y�ٷR�fa
�6��e18�q�L������m��ZT�k�\�H�H����BCI�0�5k
J���=���I{
o�‡��ԩ��m��*��dݽ��8����b�,��NR`1(ME�t?�eB�D�܈[ծ��+���_�
Nc�s��FP���b#�)0��-L|�ù�B�:�AǪ4�-��:kH]�I��v`7���qtFrK	��t#�kc3&�,��Y�Z�:=�[�6��!���s�*I�������HCL�
W~r$Vz�*��l��.De�wy˦��b皎G��ȶﺞ�]]��.�
-�)FH��\@�?�fn�NK�ٱ��ۚ������O��޿^�,���(M�$55<�
)�����|����¶&�EI΍���F
�kQ>{>�^'�
W���x����t<��
[8�q�϶@Ƹ3��8��f��p2S�&O�����(��~�;
��9���{
�X_���~\o1����E���Af[���}�*��gF���r�����������4���N�iZ�u��$��H6��1�
��>���4�.�O�|�n�����������b��6�A
s��e�{�� K4,�|Zy�m�
����j??�i5ƪ�F�����G�Ƚ6K�h�
B���`2���~,/�Tw��"�1MJ����؍P���/�^��AVE._�Zc:�i"�
�Y�oG��kri֨�3y!gKE},�1a/����]��T
��'r
Z��{��X9Of��܍��������Q"KU^ z���Gs�
�F��:�屗�OH�on��D�6Ax���uɄCKa�$�A��66w�(��I�OV��q7Ji�󟈩�)��-wgI�o����G|��|K�܄߅U��Tܑ�+���+�� ?>�	J�[��I�J�I�
�1�_�m3�|8;'n�vΰ���Z�6�`�eP�'�Ȓ
���δO6[:?[�L-���0�瘫Y�����.�X���ŭ������;
��E�CI�I’V����� _,; 2���w�����iʼ��
dS
�����%�LA�ĝ��$��G�e���4�H*��
��{9��Z�ZYu-0"�"Q�6&L>����jk
^מN��4l����Y�H��%��`
z-���;}����]�#
���
���
�e�6q��n��w4�]iT+��H������oNLK���� +�]�+A��듛,��t��X���Y��9ONҶȻ��,����
�Ϧ����B!�cܣ��m�v���Ǧv��-xWJ:���L��_���M"ĸ�02%��p!#��m��I뾙�$�ͨ�N�rh�;|U\
!��GI��CV�"�I�@��ھ'��x�H$��ѺQ�Q⶙a�6�s2_�߾a
����96	d�
-f�Vuh�
��
�P�l���dľb�D�ĝ��������ú�� v�S�:q���5oi�V�g�ː������Z��9�/�-�r��.�-Gsgl�H�4<*��ݙ�JI|(��SFyM�@L��]�H�9'E��N�P�Ļ��&�fӢ:!=�Z��Y�B]RO���L�ȳEU�7B��׷4<EF`踧2�K���]i֑G+�ay�{(�@.�������o��������#9���L\o�L?����1L=�)қz%���z�l�5�o/ FeO��*�{`�w���vFsP/w
���|��ێ*i�2$�DT�M�գ�����|�~�
6�*�۲�P�+�W��A*��p _�!Ô�O���k��
-��l��pN�
J&
���7�|҄�U�Q&5�W[	d|Υ��
-:-dG
�[utΙ�|���|��ƿ��D�+�z)wo<���[�n�uu�ظ�}�/����Q��%N×�N�֭��|
_�X�N�^�W�K_�OL(|�n7��^(�Ifs�B)��~��#� a;�s[�c��'��ʌL.y�z�ʪ
-��~���3��)��F��Iy,��&��"ȷ�g'X
Ej���L���&�Y�=Oq)=abTE�SŒ�bQ7h�ƭ�
�+�W�� ��;/D����4�!:ڥ�_8����q1T�t�
��1������q|�}�m��RO��
�G>��{P$�� 60F���![�~�x�g�+���[L[�
)�U�5J���hoV�\y�z&���R�ͤG�
WzpsN"=�w�ɹ��"���_��Ӂ>�^�
hD��^���汑�t�,j�\�߇�g��V��a���t���:����(�e2�6��g� ��"�8#��{P�I�&I4V�-T�Я:C�|<E�Wna��})������ݤ�
ç
-q�;�Y�6W�[m at ifi80z���K|

M�^�h��
���~�{?k�ؖ뗝̯y(�מr�O�J���u�	��l�wN-n.jzY��[���6�8���=��@�l���LRD'9���yO�
�mg��;������*Dv�C�Y/�k*i�c�	]Q�h�Iߵ�Y���ͺ�F���7+�Gʦ������$���.$xK��{f5)T�5�Kx��ŝ^�.��\)��/Ŷ�(y
������ߒ�
z�ڒȦ
�������F��y�W}c8� A �0+��Y}�@���-.�k�$�U�9�
��*��"�� 
,��jq˚��J~��*{���d��Znj�sv�����:_
�A�u��0�
tK�`�E~4^�Ɖ�G�<���Dj©P&T|z�� �-VW

��ۉls��ᢤC(��k��b�w��4߁�W��y>�@M��r}��w��P�zRqϕ?�B����M�ʻ����8�
l�M�=��o:�u;��rD7����l�j��b�d�iQ�$	��츌4k���\ޗ��i{i��3߳�%?�
-$��
"�"
�X$�<9�6���g_�oA}�Y��������nj�Pk3kVh��#�=��d���j�H�	�R�'�#�D��v�J��XJ��̀L���Q���TH@�eҁ��
����a[j����W~�ӝ��i��j
�d�H�@!��
َ���xV�ycr�f�
����eG�iGLR\�)��/E�өP
�������Ps�'/�y�u��k;��k�(^���S>�6�<1�;�g0������SA����B�R]�!T�>��J
Ir�*)&��D�&ы[��^��
](�O���"7�G�ŀ��I��u��1
�TS{Wѕ#�ܟ�NM��$E�Dԣ�E݉'�u8:�W�!VKf8�@�6z��)��z=gUHQ��M��Yח��-�h^뀤�N�7�Ah*
܅9�:�n��d�,��$������̦�z*���U�Y��d��Be���=���EI'w+�t\��e���
�r
��1��k5�H/�������ˆޠ�$;�6�h��[�B���&��@#��
��Ͼ�a&�N-��b���9&�v-6MD��!s*$R���R��k���YEmd��	q�
%˯�/oN=�^�pd���y������Kv�y[����/�Q3�]v�n�C�Y�8�%LLߖ͉�7�����#<����Yqy�Z���K�����Z�c�W�lx
�:Ł���ѵIrq��+
�G
1
f�
�֮����:f��
�zz�Z�����c���
O�WET�j!� �w
�����I��}�
-�=~�9L*!=��˗K܊������I���]��9v÷9:*Ă��7��m�2	��
�QF��0��w�K��<&�c�p(̻�pw-�f=}������?*��1���x'd7̈}��&�0c+�4+�I�k~�3L"Sm�Ξ�9mu����
Ze��I3Z�Z4}��!�l�7Ef����M��Q�؁ɡ�
-�#�v�e��_A�4C��@uw/��(e�j�m�i��4�m
::땠��:�]���W�/���!D\����m�+*
O�Ѧ��Ǡ��m��LS��K!@¯�Lf|g�>��ns�
�5"3�W�l�{���'+u���fH_�
�
-�������
���b�)��S�):��搷Q%�\s�s;�I�7w�A��
-�	"ą
-l3:�D�]-p��Qj͓�G�h�����;n�~�qoSZ�$&%����?�rKq�[G5D���9�C at Pmi^2n�2�[�g�/,�h�k�����j"�P#)��3��fV}�f�~,�!��+�g��CzKS�g�
j�S���2b�Вl���O	��O(
I����*GCi*W��S��F?�.~ͬ�y�Y
�*`qK+���°��}e��{����'��>弦nH�����p
=�y}E���a�	���l*u��P�.]|���<�H�T��1u'.�
��"��3s�M��Q����2�n��b�~V��KN+OnF�3��1گ���&�%�(��Z�_��麍G�-�Q�� O8���,���"̭���B|z
�
��l�ۋ�|Yx��d���/{��o�
������8�B�}��
��g�\����j��a��j
Lu$w�0\�ᝋ�io�h� �[���|]��'˘��������J	K��Y<������`�be%�	�U�FbZ�.�?�{��a
a�����\�
-O�^��w=Z]s��fq�V
p��Z}�tܳf�ʟ�l
!u�D�:w��ݨw}����wZ)Vg��3ն�V7e�:���R����X�uTS����,�U;�7�Y5�Cc4�Q��/=��rZ�Fu�q5o���OX�SӜ6
��5W
-��+ľx�)'q/~)�
����9�$ڌ&0�� M1-��ml�y��iS��/�� o�
-endstream
-endobj
-3507 0 obj <<
-/Type /FontDescriptor
-/FontName /XCKPWW+CMR10
-/Flags 4
-/FontBBox [-40 -250 1009 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/a/equal/h/l/r/s/two/v/zero)
-/FontFile 3506 0 R
->> endobj
-3508 0 obj <<
-/Length1 1454
-/Length2 6611
-/Length3 0
-/Length 7588      
-/Filter /FlateDecode
->>
-stream
-xڍwT��?���4*�n�����0�
ƀэt����4R"�"!
R���4
-J�N������s������Ͻ���3ce{�
TG	
e �zF  PT!��0��\�h�9̠H.�vU$�����(��
���K�K� �  P�/GR������p�1�*��	stBan���� ���%���]�H
�QNPW̍�
��AQ>�J�-�B��	y{{
�]=HG
~�7
�0�z@�^P{�/� }�+�70Ab�����1��
FB�

�{`<��P$ s7�X[ r���p��Á�gk ‚���3�W"�w0A����>0�#���4tQh? 
���v�@`��^`�
���p0 at C� ����	sCyz�\~!���du��*��
-Gy��O
��B0]��=Vg8������w����M�s��j���Q��s�� �@ PRJ u@�'�_�M|ܠ��¿Ԙ���n 
h ���!�� {A(�'4��?
������0
-`u����ɎQC
��1�G�� + �x� ���'
��p��Wd��������&�' ����Ң I�!��Y�����Z0��ڀ�dԆ;  �@���/^r���u���}��P �?���!�/��3����8�+��B���G���巕������]a.>�1,�Da6B��
���C�Xb=�=������(0f3��.7�CC�
`(���k��.08� ���� �����av
�yJ<0��m�bV��W��!�_;'". #�`b��1�8�O���P�o^��&�� p@ ��SZ
- d�K�[�U����� !��g�DaI���ߢ��
E"~+�U#�����oa �%�~$�P4B<7��Ȇ?j�8�S��-�6"?ɱf��#�7�|�yFF��S������>�baU��X�#��v[���T×����F�k/�g�h{GK����%�#`�����o�ۆ��
G����A1Չw�&��]��P���z���E�@�i�uH��"��)zV��������L�*�f���G
�/Z�g�"�p:���Dģ������.��qN?�͌{t3~�J��C�S���?��	�lr���� �~{��1*��@/�K�
�ܮ��ZΒB �w�po��M��΃���H6�=�,cY����G�`{y}�iD`K]�L�
%�I'�&�r(��d�NQ�ɘ��V��pty��J�Qݭ��8��;W���+N�>��RX�
��V�4w�:7`���c��5�M~������4r���Hj�箔�j6����@����֟���|4s�u�.�r"����
���|}[ [...]
3ep�wժ���>o��ޒ}��z�?{a�Ud����sݙ⨹)�M �é:`�7�n���s��&v���B���&Ѭ��G�E���Iƾ��x�ҁ1�#�v@��<;Y�J)n


�j5c���HG8�a�e�㱬��J�YT���gIZ��`ɇ��붖r�T�y���/���o5UfA	�

-���
-B�ӣ�	
qY�
/�
�v��שN;"C�N+�I5��!+ 1���q�63%=6�t��v�
-~�e�4�<��rh��"�1�Z�S�d�WY���
5<̖|�*ڮ�v2Y��{W�
���Ք���
�)IQH)_@���^!��Z'�chL!��z�E�J+���h�
���?��,�1�wF]v����j/Cq-���O����\Nm>��
��BF��k� 0JMv�AGྎ����ŌҜ�
õ��9
��yI�DM�������y���I�(��R#y�q%I6Y��
o$~������
l-�)��4��ȃ
��Ek�6(�.�(3�a|�"��WO�e� �����}�2�F����Y��T>��-*��W�����MC����ؚ~p�g��>/to|ϠVh�-��\ VHvl �>��BP�1*�f^���:
�Q"�yժ��0�&����bhݔX4g����ǬZ��k��7�-*�V�[��N���
�
�ޥֵ��	����
��˻�G_�[͒9&�'j�
4�[��ŽU�ߝH$H�
-������v����t
G|
���I����
���I�{�
&���[R�b����s&��p���x/s�w��eK��� w{��i5΃o�7��T ��y�ܺ��N����=���
*�8����\J��\�����>�3za�L�jr����[�wj�^�X�C�hf:b���G%�
�
y�pA=?8�kՒ�����Y=XN�����6x�c����J�����8b���v����T_k�k�@�S����m���+���f��>�;U�"�

����xb�t��ڂ���{�����E�vض���@������1�³�]��
-7���@yg�4u]L�Y�VC�f
�
�x�9|��dt�D$�KK�CI�I��usY�ݴ*��:����v\>�����K�����ؤjg�w�>/}���"ک��,.

��˫j��2Z�����[�(
J�*
�/G�	?��hJʘ/����(�C�W�,
����:�������Ovv6'�_
Hᤛc<ų��WBo]�s&�+W��qՋ�?��_:;��Q@����˔o���h8��h@�A�� )�zѩ��0��ĹmU���3
���X�
����!�t�cBܯ9�6�
�JU�_�^��㤉O���9�?��. Ħ
��ٙ�ե�Z��C��G�0�qw�_�)
��O���;�IWΆP�Ob�ޛ{/�7��_'����|$�"�"R�4�͗��⌽��]��f�)}Dtk�D�K�R��:���
�E^y�dR@�I��O��s*�;j�_!8���EY
���<�]��R��,
#u�d��6z;T��@�b�������Äl*�
#4L�R��%��imi;G���ii�i�W™rF���\�j�\(OK��Se�^�Q�����ͧjv��5�A��"�k����z˚
���ϯ��#����T/v���B�
��"4��𶨾W�~�r+�4~��k����8���+!��h\[~*�~�+͖y֚i�<���J�q�-�+���wp���e�o�[���a����_�B<G^#�nigژi?[���6��c�N�!X�"
*� "Hq�p�%5������G�>FccC _U�4��u��g
-�#�~.U���>�m{
H)�n���� [
�zq]d�#&�3��۴�q�q��� F����aV��ыƽ��o{�:���.���w�4��՚��z�U��{��C�a�6et��^ًJ���JMgh��9^���29�<�����+עʕ�
(+R
EVM^S
<�{����Ύ���
Z�p
m�n��44��0Ba7�B�;�d�V���w�&±��

-�vh7�y���@`����}k���6?�����UR���d��[
2�3��^��.�n�E�r਌��Ž���>ƁC�*O�TE0��.�Z���ͭ["wy|�L�X/��5I��؈8�œ���ܪq������#�۽�em���k�I�����ڙ-{
��o��P����y\�o��-
�`��]�x�4_�F4�����B�U-��€[���x6he`
7z!N�2.���N�ޔ�ȑ��'�'����u�v��`cn"���~	!���m

߭��Ìޥ*�0�n7���[��3��j6�rLto��,,�����[x��,�C�ʿDtf�)�|�k��N
-Q���^3A�G�mF`1��r���C�7�^�DA�֜��s��6R��LtM�M���d��h���?1U�
w!��v��~�
�Ei��8Ϫ��x�8>�>�B#�o�w�R���ɰō'S�{f)�N�Ө��R]�}@�b1�{���6�KܝD+��E?�7�<��&J܎�����jA����x-|2ہk��j ���dŀ�tg���s��ǡ#>�w�X{7�X��?�;�4i�
5�V��
�bE�9����8�V�.3�w�9Q�2
-�������ÿ.I�LH��z��%����1��653�
{�0<je��~���Wh��lY�d�Mr	o��{�OޱsՖT+19in�=X�fm~wd�%(fs�l�}=����,�i�W
-�?���}�_ Mk��ep��&Nf�	��ޫ��1	\��ʣl8,,�=��*z��
xi�!؉gW 5/ܣ�,��w԰C���V�F�do~����e37��ko8���A!u�����\�i>�(T�����U�a�	ϲv�t�w��M�U�zq��f�
����
-J�Ѩݳɰ��u��~49VդP|Cx�HK(O�8�JSK6y����tĐXR��
-�$	m-�:��4���Yx����
k��!�'����Y�N��Y�Ւ�g!���Wzi!��7ðF�[܎>�.Ʊ��[��:�I,_�0F�Ƶ �^��Ś;
-�&ٕ��<g��%�v4*������z���J��L^�Td�|�Smc�j�e���)-����$��G<
��>R�W�
�'�}#�T
$mN�sDc��E��!#%�2L��~�W���U��>Y�ǫ��K��c
-���l}�gu��	&��XxO���N�����%٤8�w��O
}B�g=�O��NS'�[�4��M��>
��
�"�Y���g�Uol��r�I6p����OYŗf
<F�}Y~h�S�|�sLa$�NB3�e1���5��ďVڂ�Y�R��?��>鏐J�J6�U6||߫{|��`Rߥؤ�K�m�h|���ؐ����b���Gl����Ѥ��Ax6Q��@��HZ�u�o����5
Q�=����Z�����o�͸SJ�'=��dW��m	@&S����'�2i�߼`70�+�Z�
Ώ�;�s|(12$�٫�.�
���WL��|j��lx1]����X'��Mc�L�MX/st��NX�:>#6xQia��Vt���5�M����섷�x��*e
�^�
���3��
�
�>�S\��8��+�W�?o���&�����)��x�|��(ҀC
-�Y֔�|o���>����~�5��g�܅���ɚ�!_
0�>��J���	V�I[�}��
��F��u/�I��<�~�xq�#���H^lNԞF|%dž��ý�]�I�Mt���܋��9�Mdr���R��
��n��痌*���:�q�Q�
ϊ�x�
i+�N����:���۶�5Of�CpN�g/���j��Q��
-�NP��������ko��.�(��6IeVӪ�<��&�3��m-R$" !2�`�g,t�u�*DM��4�Ȫkb�����a�-==� �
ɮ��cv|*-��w���B����c��n�]wO��{ɷ�|��eV�����y(aAf�ۺ~����\�"��C�A҄��AƇ*�,�ʄ7$��m�9
� k&��r�
-�+���D��
�?
-�#�ҟRJ/�|���,��ӂ����l��bsq�y�����ڄd�I�^�&��{��l�vAo�-ã�x%h��,�/���	ci>�^����<ڬD�,�=SB�N_Hu
#R�
�}����(�L��>$#�c>�f�c���,�v��s��6z*׽q�cs�4�xZe���?��OT�!8�*`9Q����F��
i��>A[L-$۝\��1�4@���P� �kNH���������8w@����8ICY�z��u�.��sO6ȃ�if���������������6��ܢmWkv��0�������Ў燏�Z
K;-��e�#�a�).q1����5����]��_rg��ddy��lĘ��%�<ѐ
�9�zp����#]2����BO�|�'��r�KGU�Dí:��R��
��O�L@���Ća�4��i>
ܥ�4�]�
-��s-?^�"er"
-7
�\|ȿy�5��`2�|�J��9��g�
� �=>���GT~���D��� �D�>�J��Lp��[�Q�nr��ㆈwH�e�|U�^�$��y�3{^���׼���cé 6s
NjƊ�l獛��b�džHK����l����[��O��k����8�����9G��/vt��աG
�s�k���^���:�BnV@�R]��o��/����${\�t(�?�c�v
�P�c��u�J^�e�u_����-9j
��i�~��00��Y
~&o���Q�l��\N}�s^h%�d�
m���7�a
�W�z5�I؜Ws�Eb�k�dS�4=��T�e�ޝp�1Ӊ���3�F:��cᗯ_/��]mJ�o�r�?��1_�wՋ�D����2�Œ-��SF���Q2V[�<<��[�3�d�GHU��(�N�#V�����SE�3��)���۳5�E�*q���",�
��<�O�t� �TR�
|���w���)���]Ry4f�
�<U
�.V8�\��Df��
���pZk�Ͳ�����_"�`��W�q��
�f�I�ʷ����B
�k����U�O�
"
-�ý݉�P$Un���̛���*q_LM���S1)�q�� �_YU#�/@�Tb��%8���*��֡�
��$��p��.�R������
��Il0�Bg[�'�S�au�
l�
��
'cc��N�tGZ���9�����c����pX�*�����i{-A�}C�(�,B�xa�T���<������[ ��^�(�|���T�t
�O��9��*����2�P�bv+ҷ�TΎ�y�F�`
�5ɷ��0�h��"�J��z�ݯ�>Q~�v3jo����#�����
��h_d��5���vJQ�����5)3�
�l�9=ذ`;��N9�}��c	I�׍�^���Td67��������ҝi��T؛ R�.]n�n��7ۻ~�:�Ө�l��;�I�l�vi�
�Y���7�)^�
��nQҿt
z�0YZp��
����8<�M ���n�el4bn;�:y�
��������P��C
�_�0��J��M��S��kk�
-��H�����Fn��7��SX{�팠[
�����B@�
��k�����3�(F
��F!Kw,;<��#'�q��7̂����p��~X�!y
�{�G�p���L�X��3�J�����j��n�%�2�E�O]%{
�9����=�^M �=5x�P���D���.�����D�x=N�"�
-��~�)i݈Oi�J��Kz^!�JG�y���� �ق
λ��/��])	�F��ƂJ}�%�~�}�h��X<�L�M/i3$��(Ew�gT�8	8l P�<��b��IWX�5���{�����{u��e�x·d�s�˵yY�]Bt+o�넩g����s>�N��~��bd'}�����
��m�ը�uɘ
��,y�h]���Ӥ�m�I1��Z�Y at i׭�\��N�_�E'/i+�ϛ�R�]F�ud/&c�؄@[�[
-��M�
�
;A�c�
M�[>����#2kJ����ݳb��,͊�z*
L�4�����7�� �q[e�l��衒&��s�;���!]<!���;����,z�IeU�!�E@8h�(:�&� �x�se�#���r��
+��Y������>.�� k��o
-endstream
-endobj
-3509 0 obj <<
-/Type /FontDescriptor
-/FontName /OPBINH+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/b/d/e/l/u/zero)
-/FontFile 3508 0 R
->> endobj
-3510 0 obj <<
-/Length1 1437
-/Length2 6463
-/Length3 0
-/Length 7424      
-/Filter /FlateDecode
->>
-stream
-xڍ�Xj7NI�.i��4�HA����c��m05JPJ8����"��4H����)�������������]���}���w?��n���8���h��(D
,T30���b`�8���
��	�S
��� �(����a�P�+�:���� ��b=�	 DZ"#��`ٿ
�9�:��
4�Qp ��+�pu���( BdeeD~�U�p
E
��np�UE�h��!ཱྀ�J! ����%����A�>bh�������4���1~pg�/�@C(���h���Sm�v���b��+�'G�\`Q�p
�6�LGh�G������B� �I�W�D��`(
�FzAQ��+��	i���� �(�_�PO�U<���:]9�n

-�T1B������Ax���� <!�Jsu�(g54	G�� ~�����aW�
�=V�����@9�����Y��X���_
W*�?:W�/P
-
�Ȃ�po < ����<�
������?���\A�� \�W? ����`�!��6�[@ @g��wE� �d�R�]���&�A ��}�s���3������,����T���IU
 ĉ�� Eť�@D\
(su�w�����o�1�Wo�2�\�@�?!\���0����_�"�wC���@�ho
�î� ����
����_Y�/���~4��������+��
��~�b���F��������?�� ��"�ת�
��
���.ᣉ�;#|an��\��D���hįg(
-���v�k0�����jR�M�U�wI

��k�ĥ��P
���$�A���
��@�
-�{��tAc ��){
r���-�� ��_"���x�����������b0Wk��2W��-�~�� 8
0=��ݾ������J6��!�1�U�
AQ�4�	{JE�*�*+b
s����N�iYC�Py���U��$�!٤�,��!�tt�05r����-��.2vQs��
��;�<��[t�r��������;����f�&WM�^I둟�}}do{�x�/���37��(��~ ����]��%�n�0 d��D!�fA���D����>�,�,6�
��t�7q�i�Lq%�s�آX�O�xvZ��Kd2򁈤[��zo��.��n!��G�h�T̤=_�)��"�Z[?�����&9��j�p��?�Q;~��qI:6\�����!
-�>����
��KZō(%�	�&����.��M(�P ����-�.E�H�UpN�,�k_^����Hd�.�>�����A���[�p��[�����F�'�m�}��"�kJ�O~���8��QJGEC�1ɂ��i��[Y�8��
yt��ť:�<�yY��:H0��$OTJ�&�����Zv����v�.&X�*�8�!n��}��+M���{$5�N�������S��]-�>����H�stߛ�_qlͬn�(�D��~���'wW5ty�6�Zi�k
?E�P�����I����5%�؄�(]����%+I��]оP԰8?jx"�3'
2��a)�j�#U�iL'�^���|#d,
0�?�j��R�4��W�o��{�c
�*Q���;
CT�]��s��g��m�u����^.�(���T�
�Ѵ�$��&����f�
��
���.pr�ƵC��+� \k�
���q�3$��g������Ve�!��@+Ls�z��Mb�F��p�'��d>��&����:&��f�g_>tu���� �X\XH�ѱ�>3;��֚�#@�G+&����c��
қ2�@��,|]��>E&l�Y7�R�������U�Ǿ�cU��B����m�s���	ŀ����-�Q�Ȕ���yc���'
S��S~)���"������
H�@�����J�ի���mi��
���V��喐h��y?e<���/$�~�X�a=.
�	��^T�w)���+�ޫ���=c� ��
D�q�x�"*s�# d8�S����-��q�>q ޫC�P!�{
J?��?���I{�E$[�z� �H��S�@*r���O��H,��n�T��i\^ʋʀP�t;��
{=OB���;	�?*�skޢ֢9�[�Z��lV�qo�Z�a��hkO�z��L��.��e�o��2�E��Z�8���|
I�أ����Ů����场CX��6p���j�@�]���O�'!#�<�x��w��>��HɾyZ��*�
���
�r�� g蝻�h
�G᩸|�T��Y�!vV����"雭V��{����C�NJ+��\�7I���0���ҙ%TOz����E�I�:2T�1㪉����\�m~���o_ȁqX} gG��
-'ɬ{�[��^����g�
zf�B�
7xҲ�t#�lQ	Kw�7�IqA��n��UY���HB�]��S�n������J�U��R�@�F܋Hm��z�k��pM+�m-��'�P5�J3&O��&r:5���O'􅴆����KzUieu
բ�[��ʮ|�%�����8���4
@J�4x̯	0���g�{J�
Nh�[rf�m5��X�0��
���O�.v}w?��Σw�O ���P��W�fG�me���O���v}Guh3�5ƚv���c��=r�:]��b"�|�]�������[dz3�ôV�&z�p$���d�>{�� ���w$�*V3[�)���?,\s�=�����Y:�T��&���_�5кQM���S�^kV��C��E����ʼ<��� 6J[��U�.�3��J/gu��[�#� ;$A��κ7f�8��%���=)l���]9.a-�p��7��܆4��1ְ�h�
$K�����p���prVX���N'�6�e��Ȃķ�3�\/�0wca����z��f���w���RŊ|�^i�5�`&j�Cs
�2��T7�L�1�D
q
>�2X0	
Wxlܿ�>쉷r�Ok��m��Kw���%�6g�Lnw
�=ys�d^n�8T��K��o+%'ke1
-t�#0͜w��#���ڳ�+IZn
�֏�U#|��ȝ
K��ƝG�{�����$.y0%,0u�,�n���踈u�_��靳�g��W��:v6�/ֳ�����5�;����{9����Ʌ���6g��_�����ˡ
��-�
-\��%qL��G�.�Y��a����r�P�R5О�&$�Rq|L<�(�{���8̻2� ��;��'F�7��o������a�5p��r�ICO��i�M-N����"�@���7�����#�T�ZUO�v
޵q���V�\
zEBk�~x�iQ��ts��%�8����!�?�٭?	�	�g.k��!�[7���mCģ,�gҊmI?��m��*
ᨺޯ>
�g�T�s_��cK�>�K
-!Juy�eH���I�y�n3�qj�g�/(r|ePg�Q2v���
A�
~׋KMԏ㇕�
�r�
Α}b���}�df0#Vdh}?����v���]S��L��T�@��2�fu�ƾ�Nl����gM�~	��9�+��V�<
uE'���>A�_�b���8-Q���axQ��/���I�3���č'������}4�A���G���9tq��3�'���x�y���o	e��[�I�p���nJ��N��1��m�g��;2���Q�i�����Mu������'�yV_
ζ�5�
��c`�RT��C
�{��g�S
2i}�&?H�"M;c)���h�?��ssQ���N�w:2�-���L���O����ʈ�D�l���aX�5Ӹ�(UY�j�=5�g�'��~�MQEciK�����*W�w
A��<^���!��ru{�ࢩ��+���Nx]k
6R

-���
�'�$O��&��
x���LU���;�#I�&�<�����GտEEb=	%
B�f��yJ)�
-

[bN���$4�j�/�U��]�� �ShӍ�������/?�ȊEw��BH�I��z����~8���
_/�`~9:X�m��}��>�
���ѳ��ѿ����⡽q
�ƴ����M�@��|st�=E��(�k��#�����k5�4����;�h�z�r
ި�(�(�����=�/T
4C	�̂�<؟��
$B��4H�6�Kΐ؇�a6ok!T/�S�djҗQ.R�Z�h�c��`��<�/���u:
+h�ű��t
��
��⿥�P+-�n*
-�X둰��0<�+K�a��0�c.`��RۈI���}�3����Yڥ�R%��ȗ#���ħ�
��K|T�Ֆ
�������i12��A)��(K��X'�%�����u%�GY��5���wM-}�
cΔ��(�D��,�n�jʤ"߰Uk}
�/?�"�'/�n)�S+��o�^"�J�:�?]j��k��Mgj���� Gw5pl����=B=%��5��*��錘J�l?��i����Ҷgs��,.�/0��k����IvR�S	o
J�?
��=���4&�~Ɯd4dm��f������r�c��.�6!���q"�p�ķ���ґ�w,�޹
P��T����#V�Z{�&%Q�wKw��p<9ݨZQO�
%����w1r>�O;��-g��f6�,m�Q�ba�&4�g����͟C���?+�a6"�2�v��ok�pjM�h�{�UZ�̸}�*z����n�� ���
!�>o�A�:y��𪕷p:��&�jkn�T�w·fJx�3"RܟW�y�/�ݼ��Vc�W�s?�Oj1�l����,�8����
�D��g,�&�GW9�~�g��zr�b��'�C
t��N+׈[3~��`����3#���
k3k�L���!�'�<
-=r]�Rw�2m��F��m��Hl$ާ��tQ4�#&�:R9��E�_Pүع�+q��M�8~:}{���~��4`Ab¯�8�v$.m��9���b��4lnk�Y��u1���Q�����c/���d�
-��m����=^&�M7�{$�I�jxުhI�*�puu��.��7n��:�n�SM�4�i�횇Q�tjV9~�hH���x�Sq>������f�I��H�x�?��
8��=�
�Z#�]�G�l{��c-J`�
q
���~U)rv	����Z���q6���,QR*�x�	A�•‹P
F��dH��ў��ʾS5#Y�?> �T>&k���w�j����.�$$�q��G��	��"��FS�o�
-	�s7޽Y�͗�"|�y��
$�S�(��ƨ��|\'؎��g
��
�ޔ�i��;�*��
��^b�{s��2h���,HS29qc7J�^��u�
�o'�'�*8\�
�����Vڥ|����ڄ��;�������!'���;g�ACU
.�`I(�p	.�i�{*���i4*A�
��^�l{���Э��bԝ�P���4!EG?�d��Q���F���P����2=Erp�o��2���Q1���;�X����!I�ǫ6���?
o���4��D�V�����]C�� g�-��A�Q���Y
1;��I��Ɖ�Nט�@.��Qbfp�ҹ��W	�V��t��P�+��
�u-��
���\�*��|�d�#�%�c����;)���e��F
-\+xq�f�Hx)[;wG�<��B>�L69�ݥ�)�A��<�jj
��ÄX�5��.��-���[!��V���W�ٖdk@�9�i����(��y�:�{m��B
�
�� �¯	۾�g�1W�w�
�j�n�k�c���7�V�HO����-�'�\\�R�j4����K�����5B�{�<!�
�e^����%g^���^:p<|m�S
-�t^C)���/c����*{Y��%3L2�q���NZp�_�r�8�E0�<��A�s�4���f���h2�+圹�
���x
{��
Q�V�a�6�:�m�=��l��G��$
-�氭�A�kux
�����GQ���1�|cc�
CfZ���)
-1mJ�̑�Q�m>arɊ��t�}]�z�T����}mx�����G�b�#�x|�e��	�d���i�!�gK�C�
ս^����K��}=�&�ќw���}
��ɚ�e
-��T��
셲�
w3��KtL�`��ӓe;Ixzs����%���TY�y�
�k�yo	l�$?4Y_�ˉ�����MK4�I2�0�7Pr�گ���v
q=�0�E
C.��P^*ݻ���ۿY[Q�LiDK�r��g%�N[[X�/��&����
R�.	BCr�c��dG�Irw�)��1���~���O	}.V��u׬g�U��L�
M�n��=�ߝI
w�
���W\�b�{@9�
 �o��x�d[=���e7D2p��/
M�Z����wO��Gb\
�Ky�:���*oչ�Q��N-��d�S5���v�5�p��n�`��
ҫY�E"�����4߇�sN;Q�����~�����mK"U�NW�5��~3{(m�����	 "�@�e@�_.��N13�%��n�{;��e�٬���?"/��D#r
)R�����a��� W#<F��0w��*O��љ��:�����|i�v��� )�o&�a��K���`��q@��j~�%7�� o1WbQ��A����-�p�
?}]�
%��;^�w]��=NY
�����,Wb��?
i���b�����q1����:bfOl��������*֕�
�ofMsS�NK����Z��q�VY
��MN�K�~����m��JØ[
|D3F����r&a������Up�h���(��..A�
�2
'��x�(	�*@Q'�e�#��1pn���0�*x;��%w�nL°�em��^�"��\����]�S�����7w��D���䶵8�[���	9ʺ�'�~B� ���)GKkJl��Rè�ٹ����T�}? �\�=~t�>�����T���N�e)�1{ӷ�d�γ^��et
@�X1`�;�[I�Y`uA��8�Tpi���&
���I�p����;jJ�D~(L1�#O|�]��y��N꩜��
�������m��p�q���V��&:w2��mɅA��x)����Ѩ�0�dƔ-����.��x�ؒ��v;��y�*Xva1ecqϩ�:�_
���r���X��k&��F�I�X��*m���^�l=��p*<^�� �]�N7-���3�tͧ�+$5y�e���cg5�t���ئ
�B

-N
�^��a1a���۵� �o�$j//���G�f�X־K�S8.M
r�tz�ޓd>z�[�U���L�t
���%�'<{��!ͯ.�=��N5��=6��
��hy�ُ#zSs�Fu�un�{:
-&̣�3�xƋ/���=gDP�Z�C�Zh��X��ܟf�zs�jO�#��˺�D���E�����7��
�+��ýW>�Q6�p(H2 �G��h�j�qe����k
zk�&V�1��j�1���
?Z�e�-6����G9WX8�6��3SG�@v��`��FX���H�`��ɝ&9����٬�Q"o�’�sz8d��ymU�K�r&q
�����=C�
-endstream
-endobj
-3511 0 obj <<
-/Type /FontDescriptor
-/FontName /UYHLKA+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/b/d/e/l/u)
-/FontFile 3510 0 R
->> endobj
-3512 0 obj <<
-/Length1 1647
-/Length2 9476
-/Length3 0
-/Length 10553     
-/Filter /FlateDecode
->>
-stream
-xڍ�T�k6,��%C����%�
0��0tI7HK�� 
�ҍ�4���J#��9�=�����}k�z��{_;�{�}�0�p���� �07��O
���/�������fa1�"� j�Y� p7(�E�_v8�x�)�0-�
@��	  ���A"�|| ~>>�� apq�"�j����\ n�,
-0Wo8��
��?G К
 ���
 �
�C��. -0�
�����0�YC!��
-��G \�yy===y��n<0��4;����C� p�
�7]�6��1
l��=��O���	�C 
-'�5�������<��it\!.�5�p�� ��w�������
���9��]��.v [����Ƀ�Bp�.6��`'7؃?�
u[= �(

P��������uE��A�~3��
�ᒕ\l`�������p��í{���VG����g[����o
-6O\�/�!j�!
T���� ���? � ���
�����[�P���+�`�@���<�a���=  �
���o�K� �j� XA�.��DPCl��:�z��=

�������a�l`.N����h.������*���6��ü ��b n~!> �O@ �p���(���?��`�_���Q�����������_3�k]���A�0� ��'�g���?�.�3�;��e���
ew'�?�������
u����0��Ђ=���B�!.������V5�a3�\���D��2�
b�
EX��9@���Cx'�
D���� �A||�c{�5kLJ���S� ���)�\�a6�w�_H �������� ���崁x�1� ^
���@�`
�c���[���Z��֎������we�6��0�
��V�
���B�����K��
��y^��-
->���Ԯ���U$�K��t��!1�_����_�0�����<�	� �@�V�_�l�Ȅ�c	
:���W�Xc/|�YK�:ԅ�]���xro�KM�l�f��]������He��^��˥u.o(�d�o}�[0">$�^��X$�On�b�"�(ڗ��â�6����}�g�҂ԩΒ��]_�
ɥg��W}_��h��-��ja
���)�'�σJgX
-�rf)��t�
�?�f�Χ��&���9����}�~᏿��Y�0�w�b�zJI�rF<:��+�-M�b��m�r��W�d1}

W�27!�7��j�~�KSO���Bh3?�F�O��\[�Djg�!�n��!A�
-8B�u�ʯ��}�uH�]���̊0$���Fy����w�
-��{~+:L|��A�~mKe|Cq�F}���02jl�"TWj�d��,��\�&`ٌA��k�g`>j�~�>S
+�<�(���C�"�4J�Oy��I[|6I��D���$Z�Jt�
Ti�ǵmp�ס�JF���AI˔�/�ψ��ҟ�n'nYX�`
�|C"�k�q�@z�0�r���h��=`y�7RT
B�����ً��������z9ܑ=��F�������TtJ�vZtEϑ��ɼ�zR'��*
-EP�S
��O=ZWƃp"���#6��[�
Os&�dx��
��:7���u�V=��Qz�,�rp]��ީ7���$��
�JY-����_=�&����P0\��/���B`E�Erf*^��.�]����:�Z��2ϳFЁ4��Q�_��31}X�Pg�5��o�-{�M�6n~ӛO)��KC(����-b�ڶ��>��]hpd"{�����R[����eL��i�F�$���G�Y�� ���]�
-�9���-�l��$c믭+�70�/&��
i� G(���` ;r�(���[��BCWH+�:C��偓j����Dy�c���Q���}���
17;�_�G�
��L��8�?߻�� ��v�I��[�Ac�Zn\�Mq��Dˍ$���?��ب�6�:�ލ�.�f�npN[��ӴX�$m
�����x�������֔�^�J��LMy\���W��D��{񺄰��6�+IGC��8��u3�때�%首Ս���q��C�BS
-��
��iA��)j�b�,���<) "30���A����:���Hnk�d�x~nv�m�
���:/�$	U�+�:*�B��.�Y��yL/L��C�j�L̪�Q�T�Y��q���{�7� g�M�>���CE����8�t�����ͳ���[jG�	�is��L������q[��eUͰ��־����8F�U�u�Lh�Bn��T
-׺]0�`]tq�3��v��E�-���H�y]�=���\Z��뵌�����C_(�{�{`M軞����8��D�=!س4��}_
[O*H�r����yH�GT�$gmcr���.K���B�T�����m�:�S\��Q�7�sU��b���ԅ����;}o���}q+��zY�i�ܰ�/T_۷
k�E���/��0ץ��?��Fq)I�����̅�ZT�'޳+P�f�;Eu�5K}*�}{[�XQ�{���D)?l?����4
z��n(J�������+<Ϩƨ�.��	w��%��{�n�ׁ���=�9�=�oh�޹� [...]
YqmL.���o|�������0
-�+tj��Z�hASy��0ᥠlX�[h����aMO6����M1.-}�a��&f�igw�~����6���A�L������l��穂݊\��R��ʩ����cEऍ�����Ƥৗ2�&sҙ��ǽJ߻��Rޣ;C��)G�s5��fg=�9Ď:y���EI��B��D�F
��-�@;���-��Wi"�cc8I'�}�����8g�t�m�	'J�XZ�Y�����s
�}������| r�W/��[�?#��~�����ی����/Wc ����֝|���E��ΞPzΙ�O�JN���&.�n�ꐔRӁm)E�KM
-w�h깖���ֳ�j�yq��!C@���#V`7�(Д����i��_L
���d��`9�����k�-�_j��ZH���X��7��u��f�
9���=��o����d#)f>�e�Hv��
-c�bUt��h�
��EQ���fw�輩�8����϶Xn���J�����g5�F�}�]��#�w��_��%Uٟ����J}��0��;�}�'q:�Ω�5X���Y.�z�/?*�υb��&�.(��j��G+�e�#Q�
3��3�`�Ĩ�����,y���V���(���zNc�+r��Zɉ��:��{�+b]��A�m.�G|gyu�l�S+]*�]�؏�)o�b�*L�a��3�'u��|f��>-�
m�� ����ю�y'��<2c�Q����K{�?
�G�

�VW���c8�:�.%�m?=N�Ls܁�fCG�����(�$P�-X*��Am�
��u�c�����aJM	�����D���e��C�>�e�cX
���XȽu
-?����7����L�mx��G��3�]Ȟtz5�ٔpq���K��
r���:�Z����7�I�i9V��+���u�����%OA�}N�c�5�go
g>�x*6��'�P�k�Wi�`m�V���[ɖ�
-H<%o�<�ܫh�

-<xo�p�RR��9U��G�Q�\�4wW�U�.*���h�xȸ:�GM�?=��~���&�;�����t�
��j��C�u+�C)t�٬���Z���ۢS�J#�o!K��k��C��uR�maWg��O�	uD�U)��˒����;�E�
0��x
��l
���N+�>۾*��R��K�&Q���b�7Q at F��}��5���	,��ly�g �9���^��}k�9�h�c%�����_�QIjp
T*�
S����o�ei����#�&�
�I�h�.
&�^�G�/BƐd�7S2~�f	Õ����*���Q�s�'��U]�WzÀz�*��|s5f�L{�\:�%�~�G���'�Zfzt�`v��V�o_��SZ��uCpXaNm�|I�l]xM,��ҿƍZ�aA�1��N�+���R^�c�z+O������TNu���fTa@̳a~�ev(
'ʛf�m�7h
-���|r5�2j�����t��
Ŝ[ˑ3z|��F�k��R��~g��а
3A�3{ѻ����

�6lbX�u"�`��"�LR�JQ�E#*k�^�����U��	Ht
�JL����F ]^Ic0���cS���$�K��yY
}W�;�����ǯ4��!�0TRC���V�Г}$����f�@��v�}�����DƖ�Ig�����Қ�+��L���)ec��c���q�e^Ho�0
l�d�)�O�։��>~<��ժ�7�
���V�R-B(
.�#f;�CO��ܬ<Z�4��=m����GR��_�v�+;�U���}}�4��۽���f7���
-UƠ�B�J��P飋�t�������'�{�
+o�ڔ�	>y�V:��t�/�Xd���*��i�.�\�>�s�J]"#��XK]�M:���d�G7��؎�l[3�Kpw����h�MN���j$�"��q�	9���s1��O�d7��O�	�4{�׳���!֍�;��L���R�W(7��B���!��_>�*c�����/q���0U
IU%!�r�������JaD����w
�r�A�!�n��÷fbag��j�ҩ�1�<f�����i:����X6a�b}�2F
�����d���y�ɠ�S����-��N��{��:Q�����)1�KJ�A�>�M/qx}/��fu�"k���
O��>K;M��˴��e�JX
��U9���W�
��kl
-^(�ڭ�S}ߍ��VS��?��[a��)�<����<O�+�A8��y7��}��(�
�X�	6���Ȉ�,��I���J�\Dp|}=�~���L�FҸ
��j�.t�q��E���[1Z�
>�q*�_
�')_|K�:��'�'����噚?�ը�9�!!��Dn�n����Om�;�8�)�F��ͫ{9��L>f�{�xE3�r|�):�3�O���[L�֨�����������V������Qx�K̰Q�2T6]
���΅C��a��:A���$�2�|���*5U�5
������MUj���� �T������
�����J�e�T'w��Y�'n��&tk�y�타8��^溲�gs�g�LV�
8hUM�.��!��eD��'�O-t�n�1��K�VP�!	���0	ҳ-
ź�"|+Y����.�n�ͧ^�mB�p��� t��B}pQ��N�@����7i۳"�=�ne�8٥�d�Vo��aE�R��Y�F8���K�G�~QX [...]
b
-o>��
u��Z�ٚ��������Thh����
�����?cA)Y
�
?�a����6:���zy"v~�?���C�����]"m_�iq&Ip��z�R
��b�ʄ���h��B�W���e�T��T��0��">�lIN��L39

ˡ�V��`��Ǡ�N\JA�g��]�##z+�i�
�u4���'��E������V?�g�SEO)P]L����P�4�g�
��Y�0�ݴ�
��ϩ�PL���)M�*eHp
��r�:O>%���U�T�@z{�ͬnW���E�m�W��鰙Uj�흩�"|?>�0���A9r"T�j���B}]�
q�`11/�5������B-J�o��y�9�2Yިs4s��ҁ�͉〸��T����&Vm���t�9%t�	���즏��`�{
�Ǐ�k[�&M��]�FF�t���m�k��ŵJ���q���&_Ȇr(&�2}mA8-�H�JZ�'��Q|��R3�`����4L"1�93{��
�;$f;��eIo�҆�׭|������%��Mc��s�[If󊰒׵���(6���f �)��r��QgH�听��5�C
�F���7�{��/��K��S;�f���#ea,���g�y
-Ƨ�jk+��mt���S������ؑ���j��"�����l���}K����I~��)}s[�V
��
QljTJ�ϱD��Rn��3}#-�0�
3�C��;�*uއʸC 
�%��1
�+ے��``d��Ж=���gr	����%�˕�&�N
��B8�g���;���%��#/�蜌{�™�b��/Dk���&�~�?>�
��:}�d���9H!�J�
���wҬ+��x����j����/�6��)aťu[I1���\�g�	
��́
!�T���o�_Gs�iP�E}':+<�o�h�C��l�<��~�VNL���g��'H?�� I�21D������&��X�m�
�B�u�������b4�'D�"{`�$\/�:
-!��IҬ�N���~*��7���B�A��5u6+��ڡ�S;��KǨ�帡~?���*f��.�'�;�ԋp2Qa&I�n���(�������4d��2�T���+�I9-��/Î��֢�/Ǘ!��
[2�������IO��̉D���7�[U��\1�&�T�GM��qF8�Q4���Kؕ�,��I� #��eH���`ւ�|ot1��Zcx���T�T��<��ʛc�����S;�k�s��/W��b/V�|�p

v��6A�x��٢�Z���ҙ��y#�Y(�#�
%wX�b����G�^�4�M
-�LJt�n�8��u���=�
��mǛ��yy��R�֭�.֍��.�'F>��j]qu�%T��ԣWV������抝e�~�T�L���_΅.�:�f�5�l�4�.��M��~�3�a�=��P��`HŶV��(�d�W���������s��&
-u��4��=�|��1A�s^px��7=�"�����$Vl��,����|#
-
�vdh�g��+b7al19��s��|�"�	�X#��8
�BQw�V��r�i:eF%#!�vxX�ܧ�gGu���l�'[32M4�a�����ٕ��h��
�y�ͽ��y��[K����Y\����$ ��ï�����b�.�5z�5�O�/��nm�U
�'X#!	�i5
(e�X�V�R�II��� 
�s�V{7*�ZL
����#�<D#ŖV��>��v
?�|s��Б�4�p�M?���{7�<���"�Zj�|�t�Vq(��n�tP8���霎�+�4J4#
���Hp쨘�3\������t�fH�mJ��l�ɑ��%��ϔ�
-{� a
&�+��]�|!�}��0��е����m���<�,+;!�������������gٹ�NF��~ 2-�!n�����Tm����7Fb��Ў�'lz�]h�v�lᴏ5��T���f�9�]��n���卵z������˻���3a�l�&Ѓ��l�P")�h51�Y�����SwǠvJU$T�
쿾 �w
-/
	�
-ߧ
�����k_T��
-P�[����E�JyQ� eW!�����?����P��+
��koe�s[j��R�׭���������u��
	/{R�b�f���_�7��C�8o&�_��c�ˁG
���t�)#g�$�*�i��9�0�
*���i@ ��屣����n��v��.i:T��i�e����z_y.J~ʥ��<��},"sO �ʐ�۲) "i"�ޫg�T�!��T? ǵ�h�H��1,��ާ�Iᝓ�y�8��P/4�>�<�����D7{��\&��|Q�h�ו���}x
�["'���?+2 w��U�}�� �,��A�|:c�ap�t�EF�!ڜ�g��*����l�&y�@��C���t���i�_2���g���a��
k�xD'��X��(��x���~H1%�|����#����M1oz���™%�D I=�_t���,xr�'{=��a��z<���6�h���m��ȕaB5(ȩ�f�K��
�0hB�����������=�R��n�	
���JI_�զ���e�o�~Y�0��
-�'EP��&h��V]��O�f�H�wX]ѹ
�r2�iL�2�6��
{�K�t]	��R�,�8����>!O�3���"�N�7�9�r1+�D#G۬u���nǹ�;流����gbT+������b#�5��b��oZ�4l�@�CV(:�}NFz�*g���*�2�	
W�N22��Ԧ'�|@�]~��{��P���1u�x]ќJ21]�9C�i ���u'1���O�1ڤ���q0&��l���)���k]n��_�̫��x��&n��>�)ٴ�e�|~ 
-�t-�H`~��v�d�
�kv
�{Բ`��K����������5�$��\9���<-o�7���V���Ϩ^��Q���t��7���V�zM/�7?�;�R1+�%��8����
���]�
��I����G�+�������ײ[	�N2a'�6�Z��䍸�m�
�J7�N��gD=/opĺ�1=�����8���W�?��I��9�
ta+R�9Bd#� ���&Tx;���v+�.��Q5Ws�r��G!&%��4����	p�$�9~I~
(��u��"�Tv#9c�X/),-��q^NAC>�!HW���8�\�N��2�"���ͬ�Z�:�*[�"�	�u��b2��j��P�f�f��2 YJ�O:��eLU�
-��X�q�L�YC~��j��@��vG<�}�XՒ
lD��yV�0� b�~r���h�%c�.�� i)��H�O��U�s{V�v���J�~\�����?�t6�~Ť�I�N61X�[�ݜ���
9�Y–e�:։����K
2ұǫ�����9�)�T}���b�ڢlE
x�r�6�+9��O�5m^-�k����U�/E� �Umm���`��&:s���C~�5+�ܼ8HE���
У�,��%�<rj�eL���K+V��`���%r(���t�T����N�+�C*��,�Iܦ��������s]j
-��A�e?**aU�I�X�=�կ����{$�S��=N��L8�� "Q��.��
,�dF���	���m2�ñfT�[�5�>�α��+zkΚ�o��y���ōl�d�:
-r*���հ�D��D�����=>[L�^u�x[nw�uM�]��P�R����G
-���ע�H�~�
-O���@�a?nI3J��
�B6%�����_�N���tX�0X���0�

Y���!�v(���c�XDˊ���B~ߐ[ J&�i�
�L�\W�Hu'�����aH<�>2�Im�!�����N����!̃ [�������0Y�n��;�6��	���X����h_F�ǭ���3((���N�M��uF�~I�:z�P-��C�1Q�h���d���L�D#xp8����K�WdyA�T#�t�j
�Җк�d�(~�
����P.d}U�4��\����1H��
-h�0�
Z~s�M��q
c��T��\��}�n�ܯԨ���hr�:N���NU�vP�M�}����`Α�V���J�%�
?n�g��r\��ي��r�߲�^��cn�+
��q���i����Kѱ����7a�G?K�uۣ)*���!�ʂ�X�+��`�F�&�q-8�ݤXi���A�7 ���C��ɬ�S){�u�8��
�� �
 ��k�y5�w��z{�0F��X]u�M�ތy�Zh3	&>�q�G��źx����
[�,E%
���o?.�^}��?;V����1мh<x�ݬ�U�P�L�F�ӝN�'�
g*f��s�,g��*̠�U�ĘWN�
�mpK��n���6�
�I*�V
-i���da��%�?͌�=z��ڋ⿥����rlإh0���R�xq�B�JR@ ����DE��gkZV��]�M���C�iI��Im��
}�o�k3d3
��@?BBq��m)ٝ��`A�q
-B��
�t�U4��g���{�
-��׶�,&F�'y��z����*�
�r��F̂���;�\�/]f��7K�[k$ԑ�񅞖{����
J��
bZP qQ�c�n�Qn��ia�6�5�мdٮTB=b5^�P�
e�ݽ��sǮ2��9�2��-+��g�hڭv�~���ݛ�!��7N̔8})�m��$(��4_g�E]�`�g�`����F:Т�x���D��}�;��:��ka��V*��"�B/�sOj�əa �
�H
�	H������
)�k�ak��@�Q�0��h�Z8�R��Q/9_@�;^��C::`X�k��ٛ�<�~��|Hq��f�q at n�0�kVoGH��
�R,�{��M 
��L��0y�r"�t���1M$�iΕ���>�~D�6��`�}�	XWl-5�Ul��N�VU~��W�/3�yӬ����GjU����$kV�
-endstream
-endobj
-3513 0 obj <<
-/Type /FontDescriptor
-/FontName /HRPHYH+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/v/zero)
-/FontFile 3512 0 R
->> endobj
-3514 0 obj <<
-/Length1 1455
-/Length2 6461
-/Length3 0
-/Length 7446      
-/Filter /FlateDecode
->>
-stream
-xڍxT�}�?�")%=�FZ�����
ƆltwH�� H���4JJw#H	���No��y���?�}���~W_������
���
nV���<|� -3~> � � 

�!	���c1�! p��x(��m�(��-���ݡ ~A ��8��8@��O�oG��8@��h� ��00�E���qpD����`r ���D
�ȹ�� @[@��vAU�Bp ���G
-vIG$�U����ӓ���ws��x� 
�`��
��
жu��ƃ�0t� �2�푞�n` J� �0*�
�P�j� 
W0�/gͿ

�
����_��D�J����.��0o�`��:ʚ<H/�#�-
�������m=l!P[;����m�rz [�?�@7�+���@a���u�J0���
C"�~��qQ����g��0�'��o�
���rw�5�A�������Tx��9�� !>1aa!~ �) �t��U������[�����
-wأ`��!�`��/��
@����}���O	�� � � ;�����(5��/57���E?~ ߯׿�,Q
�aP���
1���%MU�?��e���{|�� �b�| ~~~a������y�u���յ����?2���� ��@�N�o 
���gm8 ���
G�
`�7�-�����7������q�W�����ݑ�;�������c�u�@��x���D�
�!��v5���Z`��忭jH[Ԏ��
P<������/=�
��t!H��_\�{�P
�
G@~�;�(>����V茺[���6�Q��ϺJ0 
�k���nn��x(�$!�/?jWA`������HT ��`w��5XA �-��pF����^������������/�������twsC��o⠚�[�}?��^` ��,
(��&��F�Ɠ{k{u�#:Ѭ7J�:���Q'Ke�
����s�����Y?ί��^�s�W�U�hJ��G���O�;��Apj�1���$�IztD6��l)&���"]�ۯ?�t ����\ ��Č�4�8�܎=�gf��k�A3
���n��jFc7�� ��m�T߽7��3?~�����\�@��Z�*����G�1w(���<)G�-�U^�\�,-����%�u�Fd��TA_kR��{���B�=���F�:�ЬTn��1��f��w^�M�ю�j�3˳T���3��yݘ� 캎��ZS��
3M���X��PA���.mⲒ�,Ӥ����^�
�B�]��M�%� ��,��jڌNk�C��T�2��Nw�>�
vE
���ґO'��g���&�U:�&1�TF�j��;�9r���r1u[;T$�Ȋ͏3%
���jn�eh�5�
�"&$u�ZF�z�Rx��TH�T�h_����
E���ڍ{z]߱��܎xp�4�:�8ڔh��#'B��w��&��DfW��o��IK,���~ğm�6
���E=�F�vNnX��k�O��n|���-m�K���
��nPE��)�Zј Ԣ�<�ȼ�V��	׭kؾ��;>������`W���C��O�������7���X�|1�	�D�؎7���x�
��6�2�{��ϚbH�T\�λi?������� /0�B�Ex�
-.�5���-����mi�F1D�;���j�IDI�Y��p���ґ����@��2�j�/
?��$��.[g�;�_+�����D��N?K)��� �9a
-��k�F�A�'�E�&	��#�kz�\�o�Uc�\�P�KK at q�R;n���
<��~�A���C��T�ȹ���*P��e�K�&�4�$L�\g`2�Q�^웩7?����Z#�L$2;��e�˲?,Gr��N�3z���qv��o+��\
-�H�8�¬��)�D&��ȕvU�K�1.���(�
����/y���'�tե2H���J
-K?
-��(��`��ޘ�E9��塯�6_�����GE8%k�(��b(����>E��=t[N�R�
-��.�s!���6�����
���H3�o0h��Vg�1Z6����:bVݖ����>a�<���<}�&�N��^�jhD�}�]�x�WCK�
I3����
�J�dN��d�R\9g�D<�(��t��*D)����BVG�iц[u��- jo����f
��z�J>��ϓ,��w�T�
���}^�����
�"Qt\>��,���\�Oڝ��z׷���gS8�^Y���=�Z�H/�R
�y�J���F��cg
)ʃ�
-�Y#@r�2��G]�ҳ����ә��"�O1���/�ގ��LY�[C��߲�n�
[��B�6�"�Y����&��[qd1n�����U~]�[�n7`ʗH�I�v�B3�Ɠ:���"Y*�-en�Ve&Ԏ�1�O\��Z�b�p��FM�
��M�s=�͂޹)ڎ���6�>���h���
:� ��9��5ϭiR�lnU/n���vږeY����<�G?8�C�CS2
���~�DytY�`��K4 Xa�
0�^�}�Hs��&|��^���I�Ngߦ�<��3�7I<E�j������� ʼn�?g\�H?̲�c�����
K��c�'�Nm��p�P�������?ۧ9��
����*��:i���?����X���G.t���/S�
�W?���)�$
{w�
:i��-�W�dk�M�h,��4�rd��<��[�y�����e��#�����ᖭ��o�}C�v�3V;~^�4(
($�|�5%�$e5

�p�6i0{w�</�#�_��Źn�gU��}qf�J`���]��f�%�-v��
��%>�a��1��V
yUX��
R���E���\��y�=�J
���7
�Z}{s�U�t{��p�kUpVĂ�B���L*�����_q�r-���(�Ŧr�mװo6�|[�Q)����h�Ә�����YH�Pa�e+<a�(f�|НVqH�û\׸�3���$̯9Z�}�cn��k|J��1�O
��N���"+q��>�Q�7�m�6�oGB;jGUo���
���Zt�ќ�/�಄b��4O�����
"��	�����f>������ncH����>'ۢ}�~�EҠ�NކYq��
�.����Q=-vP�J:I:�גuG��u�0Ja%��Вԛ�U��<x.��66��,�Tmt�qN����s���%�
��o��j�PE�C�'�����0�i�q;��Y�*6�{����06O$8�SI��sP�Bx|���B�4�-��]��(�W��),��in��#E#U�cф^
O=��q�9��V��!<�1Q/F��j�5��N?���t! �ڎX����0�$��Y��{
�
��t}w�O?���HF��1
M���
y���3m�a�Z�9�_#����b8��c`E.
�χ�\�5����	{�e&z_X|¦
��i�7-�.�D�y��t����z�k��.T��tH��k�2gE�Y�J�ǡ��h&�WH2�a/�YM�o*~ֱ-�ߖ%�9��Ig�>G�-��j��$�E�K��y�c|Q.١�F�s7�T�
}ɸ��g��ɰ
�"�]���{u3�m�$ݙ�K�����{��_�!�7��G���M]���V�"�����b2۳�0��}��q=�'�36
�{�KH�O�{�%���>�s+�����U.�Qͣ�R~NB$
-!"�g3�ɇ��
��i�y��*���
4��#�s�Zb�y�h=����T���A/���.��_�#���5����?��v�&K��ȿt���0�)�P$:I�=��T���Ī�&�(R��0�Y���|��f��\i�����oƎ��V߭L<n����,L
���Z�����ʓG��y§mX�/�
-K̓>�������P�#��3��B��g
MX���~���Է���c
�#����ڬ��U��)�0p���`�n{b�D닶��.,<��! 6��vk���<���Jڔ�K�۠�(����'Ӥ�����
�igʙ$,I��
mw�T�ݢ��^��Ct�v}QOT�
q����e$��%Q`�A��f�
��8l�̄�RN�x��$�k�,���kַ~������/:�'�j���](�JV5J�x���#$3����2Zw���-�m�kg���aeH�����s���;4�V���YP<�Ҿ
��n#���}Jig�.ʹ ʹ�c`Ĺ�[��
s��
:�V��"HP�\o��,
�o�I$���UJ&,�~��@��I��Ln���H��9�qfvvf�|�WM�y�oʿ�&nU�4I�=
:�!����+T��e����hL��Rr^ד;
'/i
S�v(O�bZ��ȑ$w��H��q~�h����HH�t�b�
o�CD��(��r^}c㤸yjdxv�����u>�ŕ)p���
�?m�>H[[/��~ȾQmò�[NC\�ئG���NJX�j>�ߖ�જq{v��zh��Xt�Ѡ��{�|��F���S�\��.HV�Al)XN�N�;C;��©�J�M���(WB�j-k�͵������&O����3
-��C�
��]�+X���r`Vq�c��X3d�p�ΰ7_e5���j�k�
#x����X=x���%��֨�Q�i���D�hk����}�����,����Z�3�K]�V�ш���I���
_{�9.DC��Y/��#��>��wb,����W	����r㸪���_������4�����6y���[�MdQ>�{ɬ\:����plL-�z��=�Lw�EY�5���O>�|�<_Ec^ױ.@�޼	Sm�z7*H�Ȑ�ge����]ɩ�����;6�Q��J���lm7k�m���b��,Z���k
8�؞���E_��{��v�j,���hM���%ĕi
[~7�� #�`H
'��2]��
-�gH�]bJ�����&!��hX��A��qnd��:4Yj�4���M�P��� � -���Tu�F��FG�A;��Fέ6��x�[�v}r���b>o�V3}/4_7�U�$B?wW��px�x2G/�֝��K��ղAZz�G�����B@�L�zh+o�2��O
��66�)ײ��T��Tń�^�7ė��P/����\9�絰�G
�g�AȽ�@!������:�J����U��Db�!Y�g�����{Rp
�b��U�
֍�{����"�Dz��$4t���}T)ߜ�}�K�_��屵��D�,	�X|+�};ȶ
���C6y�3�D
�B��*��设y�x\[���g�[���6�*�y�w�
DG�Z�/������Z���
�'���5�
"1�zw
-�ʶ�Hecs
+S3l��L,}~6z��
->l
�+F�D�������̖�n�Q{���:�d����X�b��ͺ��0�ӻj���2]���Dl#�Q`�����yѧ
-
�`g�+碂�v�!�j��7_�)r�Ȼ$�J��i/�j�ANK�9BA�Hi�̇4���'�l�i r1.%��#�Ml�LP��o��q�K�
�H�{}߈s[��ɋ@�
T���#����o<ᮤ�_23�zt_�(����8���W1e�wH��y;ڻ��5�TB�J/A�,E�{'��=��PwX+��U�>�ݟy�:��[�i<�
�w�6!��b�z�=E[Zu�\������5
w��
71,c��:��|iݭ�����
I���$�G�v�ט���FQ��ߖ���h%���|!@7�{`�F�XP7��mLtk+��	�
�rV�0��O�/{
 
��i<DF6V�l�w*�(��c*��|�5q/���|J3�1=��>y
�<\Hę|�6�!K �j�ڣJ�Q�SD5��H5WRY�dc3r
k����^����h.�V&

�M��O �U����bP�ts�S{�E�-�\<��RGhUw3̳�z<Z�/�QcE0z|��jk���[1�Z{�>v	W&��A{�
O��
-�`Fah/x#���o{6�qK\�3|�VKՄ)�5n0x=k^���T,L3���A?��yZp��D��y�SG1]�r�J6+A SئR��H�_��
&Q/���K��jC��,��a=�I��S�jv�w���kF�
��D���ۚ�!�)���
��{��yh��'6a��
a�7
-ĝ��:8T�#��
d=-틍3���w�b�����"��ۿ���1YM�(p���j˰i�j�o�#�����;��>�c�3̘`��%��� }�}��pY�D),o�Σ�M髤�mo�Ͻ?��֮p��Э*��M?��)�2�z%�
aɖEN��r��1���7w-кF�?3e^��
�#g�^��WG����j�u���Ln߷:	�5:�W���]�D^v�p��zqO=�
Ɠ��n
nZs���ʡ�vG�>͵j�3JsX�v�]�J�����b�v�Y߽LˀvF#
.>���p����_�,�+gz ����N���Y�A�<9f��%�m.9���m������ z?ϩ�
�HE��A�F��
��C��c�M��}�qA����hl,0I"�E	'� �V�*��6Z�h�
�����Dԩg��2T��l"�1��Ϗ
`Ӊ0�Œ�zuy~~�4aWjO�~�ك����G���`�j��1i�92��1�k���zm�[��VtB$��j����?��N
�����J�/�|[n
�*�K�U����Oѵ�,:e�
�}�ٱ+h
cx�&�1i��
-
3$MO`\^�����ASs�
�1&"���7��b��V���	��)qeWd��c5)O/��mǂ
Dz9�Na	�˰�P
Hy��cf�ȸ�wD�H���+�Fm��n��eX�k��N�:�\��.î���w_K.��"��`�D��):��Se�|�Uݘ�@�~-�8�}����
|����֊�ۊX�)!7C�:�
)d�d,��i}����:�
-*�����x�'��i�&���Ն]��o]�%����W#��1��dg�q�Wo��N�|�+1�^�.��T�"��Xg�Y��So���
L��vƕ�v
<���X
��v�E�4nu����s�j>�7U��_��H�
��ͪ\�����������z�����R#�я\uq�>�/pNN��MHX�L�l6Z!���I̩�֟�:v>Γ� >5$6�.잯
�Zq���{uT
-U*�7kƢU��J�ڂ�^�b���`��4e}�f��$E8��J��b�ĩ]ܵ�M9��@��-��w��}���B�TcߤX4�3i�Ud4�-��k/9u-�
@rA�YD���m�[�x֏	!#�L�~�P�arq6�^��EK�4�xEC�
��/�:>?V��l�e�Ґ@�������Q�
ߪ�5?gT2x�/$J,'�)`(Kv� ��O��Xo�tm�������0����Ъ9�yo�� �T��ٖ.ž�K�||����
��xq�Tv4���<H��N�
9Ն ������7K��A��D1���!qӡ���̬��U!�L�V�V�i�ذ¾��٣f�ҏ�-U�+�(���U,\-�*�E�v%
-endstream
-endobj
-3515 0 obj <<
-/Type /FontDescriptor
-/FontName /VUZELH+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 40
-/XHeight 431
-/CharSet (/asteriskmath/greaterequal/lessequal)
-/FontFile 3514 0 R
->> endobj
-3516 0 obj <<
-/Length1 1481
-/Length2 6977
-/Length3 0
-/Length 7984      
-/Filter /FlateDecode
->>
-stream
-xڍvT���6�)%2@�6���.	��
�lt*�!
JI���t
-�H+��!��������{�s��������\�}��3v=C~y���D��A@)�����  ���ٍ`h�_0�	�
C"�����;��`J`4�O� hx� @� ��H\
-��;"ݥ J`O�- �@"�("vE���;���)��#�ˎ ����
��C�av`@�v��1��. C�

���W
-.G4�UJP���K 
G	 �
�� ^0�#� ���{B!�_�:`8�3"v��#
�7Dڣ���P p��A(L�u`�
յ ��P�g�?|��z 	�����_�`���`;;$���!
 �0(@WEK ����_�`��\����7T��`
�����a�h� 
-���4�.+# �H8
�@��~�O	��ô�G��d�H/��_{b����U�s�+�傁���
�h�(PRLLD
 u@��
�7�q��6�~�~�HW�=�4 f������P �����
�>�@ �
��:�D�d��P�?g���a� 
 F{  ���?O�0� .>�����������)����)( �~�" ~I	�\�$�b��g�����F������'�:�
	��Cӻ�ix��
-��6���
-:H��� ��o	�a�@����
����,�/����T<\\~��~��3s����d4f+����@���)��&kC!0�[��`�v�#
0
-�� E��0�
-�
-у��
����Q`j��P=$
-�녃��ˆY:;g�K��o�S�����CB~-��� ���!b4&$*
-�a���-o�� �Ƅ 0
 �Hw�_c�Q�0�3f
-����q� ;8`��&�7�u��ћ��;
��
� AfO�����v
��}��,
��Ͽ_
P�7Ԏhfi'�ԩ�i�I�<�����Rkd�Yw�(�c꥟��
�17H��4���a���
<;'�ޖ
���S�r�X���v�s�N�;
�w!�;��"�Q�H�g"�����L2���^-_)�lE��Kn��#
-�Tt�|v�&v�˽%t��%E�-w�t#u㏗�Ѱ�c���S�oq����z3?t�	��i��+
�����`�
H졧I�ԨCaq(�
)�N�g�/��q�����A�����p at 1�Ӏ<,�F���Kٻ[N��2	���W�)��#Y.
ԑ�g����]z�=�ҵ8�^�*�߷ H�3�ѪT��<�-
r=L���ޤh ��G�\�S"POd�jt�|=Zu«:�53W
��F�L�8g���92�^�x#�7��]哷2�w�`��R�6��\���.%�3
-䂵IS���{,�q��M at s��7���b�Վ��B'��3ʾN���Nױ(�*B��ZX{(E
1��J4�����»&�4NRe�pݶ���f
�f!�-i������m!>w�����0}���Ŗ�8w�e���mFz�
��Ŗ�
!^LS�?� ��w�xb�M��'5�u��5}�N&��֭�-I�^:>T8��v[	ؘ�޼��֒u����>��yp7�4�6���8���۝B��$�
�I�:�ȸ�8-�CDh��k���J�V�:]6��ოC{{+͒���e�	/s�q�dmu}�D�+Mx"?��-Ue�mSe��\
f4�~��Jv
��~�y��H~���gW[���pa*l
���xM�y
-w���*<��w�鋠���.��3�^�+�Ł����INcᗻ A��/�~֎�ЋGoˌ\oD���&ڦ\,�	�&�Q|�� ʿ���&���v��A����"�Տ�e��X�Vi͌`�z�Kͽ������Y�
���2��x�"Z����^ߤj�)��<��Ô֣z[�!��U�Q��;�RC��������-��4'��
����"�NJ묟�A�mzWQ��y��p5�FBX�%�Rʑ+r�S9��"���h��ƣ�*0'|F��N�u�&��]��V�D������3����������'/���xI1��E^��Kqpط5
<�B�(hֺZ)���
��
�/�!����,�2!�z���+�S`	�q��T6�l�#��Z�E
��"^R��~s����S[ak at y!�v��s$	���%�Z��n��d��	�u�����
%�1��I1����sS�U�W=�x��|S�N�
��[�f��9���ρ���Һu�GĚ'r�KQ�'�.�o2���Ӯآ���5F	�sǽ��Q~�7����O	ťWk);�FM�|�DϞ>k�f�][Lw�j�p��*qe���=�z6L�5����.<WX���L�_�e�h�(�n�\��@cw_�*���ĥr1�
�
������X��a܉lS<݆�� �N�ϛ�gI-2��3Tv	���
��5��e��a{A��G��E.�$��7U�W�{'�"s'�J����9����� ����;�'x$ߧ�2,�x@�|�s0k�R�@�	��۬r�o
�e� '�Wfa��.���qMEP����ލ�z��e�B
����d�I��`ng	�O)�t��و��KK�"O.�Ҳ�Ν:�J�N�y�R|���>D�6KOs���ۗ�(�+죆�L�K��5�FIJ�W��c�~�=
�'T|y^C�
�F7��+���VIxK\�
���4$�6�	�t
m��\����PM�� h�;�ϑ�g���+
Y���o����������F����A���jZ���G�G=�&r
����� \K n��̘�ږ��B���Y�]1�
t�7����rpS� ���J�����ڟO�|��ػWo-��W�v|W���V
J��@˴�h��l7A\�Wf{����'5��y�'�,^��R�uC���d�6�a�<
;�мeNc�����
�
��/��y��b���
x4���w-eqU�w���6A}Q����Ny��$���R�T�;��wr�V5E�M�Mk#��5'߉����\��B�3I�q��^���P�Qt�����K�Ӝ�Wn)��&`,k
-ƕ\���[�"g�=�"���
@J��I���3�T�U������n��a8�����xڅi�������H�7���
|	Sda넄i�s�@
�9FZ����{*� I�7��Udg
��e%�'�˒�8�ɾ��DX�7��%�᫄�ݕgW�~��bW)��o��NOe�g�Ш]���u��FNl.y/Gj�l‹c
-�k�J���L� ��֚:�
s�C��j	m+9X�#���	VeA
Z7|W(Y�x��|p:
-m�e���5����i;|��W�
�4#��^����O$����3	���݃
��'b:SC"�jX�l�
���S=���isO
�^�J�W���򝈻fu� �]sU�$��Ԓ��*�O>/	��*Tñ�
-s™+��p�9]����<k��\CU��.e��C�ΕM0���zr���4�
۰0G��� �m����y�1�5d���5\��򹇅���38?��۫e�
�i��tZ�õ�p�Y�'X�Ğ���_~�3男���;]��C��=�G��DI�f��a����4ų��� ��g�)^SC#-y���xo��V+)��U�dU�4:�ֻ��9�l��O�w�`��I4]
E��$�Rϋ\%'���m
��{�=��/%:PI+m��)%�x�+N��*��k���1��Or�t/o�
�o�\��
-���Vκ�ow^#�g��`�
!&6��%�֛NV�JJc�'�:~g�2xQel=����+����u��تk]ƅ�
�g�{�'�gӾ����\�?�	L�ДDrD�a�&,�M�$<��7*U)�.|�l_Y�
-K�N at 4  ��q�s{��
+k���J����f[ts�>�4Ǝ!s
�-�ϩ�9Ǘ
-\��XZV��g
byn,4�Ԏ��]
 �6��>w�5
��
#���-�[�nG�,��-��"0������� �G=y}a^�5��R��1��MY���MA�
�|$����Ug�3��cpΜ�ZR��M��"R�����HU*�^DS�������̕�M0�����'�y
-M3P+
٥q
���XqG��X��Z�/�,��۝ʖ�z��^Zt?���
!��*����t�f��b�&?��Kx(��Hu��fAv�S�N�Q�c����c_��Q�d��~��&Sih�����OI�_^�pGk��P��8�gF�8κ��?n��qcBRQ7�j|�Z�J���S�Ad�"�0S�WY��J��ްM
J��Sv��
e��7�"F

��_[rQ{�\�va!��5��� ����,�5�h��ғ\GuWј
$���i����=x0��E��2ɪG�e����(�:�Fڠ���|9�jiv�v�ƄĘV��\��_Pq�W�N��{c�W�\�sz�ϡ%�zE��my��!���Q_ok�E����c�_�.�I{�����B�7��GϠ���k(A���+3=UD��&n�V����ڗp���7)FD�{����dy�eV_]��n-��h�PC{�~t�������A(vl���u��s!j��kyDtt>�ڒ�gn�L\��J_$���M�� [...]
-S�)b����&��j�"��̷;�
���
��
��`��e�ܸ�j��)-c��\�~��ˏ��ms%v���.YR��$L�e��Ѷ@��Lo�g�0N�B��Yk,W����tm��3���

ѩ�Rbi��RƁ��
��Y:�hyV~2o\%�b�r�O�t<4J����[a?��9��sK�&�9{�)Y������YǧV��Ҩ��������Q���
{��� 
��!��+��.�� `��)y��<���ݧ��x��g���h�1Mn�x���ndi�4��r��*L�8�V�g��g��&W��>G�X�s�y�y��Ɗ�Δ���7N� |(��{�����OqM�D���3�U��7�Ɖ���7�埾�6�pgכ�L��Z�Pi��ӎe�������>W�
L��\�S�p�@�ݕ��Q��bD�1;>��#���̠����K��Kg�N4��]�'�9
ʂZ�6��h��3Ɲ��*F*�P���
Ɠ�
�$�DO�%C֥6�We�t�S+|���d$�N�(��\��mJ�Y}va���V�D�2�/9��7$�ҳg�����^0�R"N0m82�2���DZ���Mn-n\����	�L
�"�)��z��ʵ(�Nkz���!��C[Z��1�$)�Ѻ�
�i���b��U��D���*�6"���i��L����� �oO;�QcKM5*�I��ZR䜵Suђ;|�D���O�~��=��QF�<C��e��H}�B�5
�t���A��
-"��czt�Jh��NG]�����-���=ӑW���$�I�n<
��~P��#�?O��F�-'��;����
�KF&�#d~ͺ��l�
Dr11#�I���1�!�i6����@6�C������CYH
-��L�
/"{8��Q�|U�=%J�f� �+�ꨳ���|�'���oPei>��E@&����K��~�F����R��O^-gv8K��6�]v���!�9��Z�?ciZ��
�
��ݢ�p
�6�V�Ӧ��Rץv�9�<k���2��~�U�~��|?�+~�fr�r���6�ǕЭ�5y<>�`����ɝ[&��#�G�x�Hj�;����^Ϻ�����.J����W����d�q�|�'�
yz�q��U
|�4�+�����]��|%�a��&��(8nV��o�M^4=��h��
�VAkL��-.Y�� �_��� �M+�@Hd.�
j�9��� �4QjaS�y�&��ۢ��	O��)���Y��*���0I�$5rE��Cl!��F�S�Ù�K��9UEPـ
jG
�j���n s?�^t�i��!�8�˧E�G��a�`��>5eJ���-)[���]�ۇ����� _�Xw�wt�:-�Bm���bq!
�oK��y�����#j��Տ�rb.4���
��MF���
O�Y�^�f
s��U9�e@���2\s��tw����z�d�}�gҾ���k�iNj�
@��|��7����5�
L�Ҕe�oƹW����W��IZ�"Y�
��OX/�,��Y6'
��f��w�4\�zɇ�
���mϣ��r
~u�ML�r3�N�V���d5�s��=��-c�ڑ���k�6�[��y���XDPM?0W�Z�ئ��_����E=ɒ}�l���%C/�.W�`h��^g���Շ���㘬Z�����؀�h�W���x��75����4ͣsŻ�U���ͪ6t͐
�7�Bʋ+9F�,:
�c��R-Z%q�R-��=�ibߑ�	����;}��wsAK�5m+��"p�6OH�#{4�-�α��e���1��]�`Q��N�$}eV�0��5�8"^��bҔ������Et�+��5m�͕�X�����2�Ȥ����d��
-�.
ލ$I�	���7xĈ
�mS+9�
����k�ȍ�� �� u �
o�h�
i�&�9b=05}%�Ld�a�QY�ӆ�{����a�m�}x�����hi<nx
�D�}Ћ5:���O~<|������X�9�:U>�V�S������I��z�(]G�
g�
-m���0((t���Y�6U�0��*�M

M&z
G�c�xF`�H�3�Hj|0�]�jģw��"o5,��I�O����UhV���+�j9�
�ٯ(V�/1������Yg�t�FK�H�w�'!��!�bj�r �=�m����Lg�����q}�e=���
v�
��j�Okns�P�_�A@��I��c���)AN\>wZl��e�Fя�m>�g.�����:&s���kS��]�&Yծ�0���ի���Nj��7��[��<���X��6
��k�3x�Z�M�d�8�^S���+�����<���g��/�����z���^Ka�������;/��E�I"��Yj߄�_o�/���{�dڬ_�va��X�
�j��AZ�����p�y�;#�
���nV
l?����N,�S�%��&�}�O�y��O�x����ȃ�a�a.��G�:��+|&����w�p��ݴLO ��|�@ZS���+(�
-ն(��PI_>�N[���!���
->�
"�~�e�Y�mHmQg�/v��G@��a�ݦ�^D�k�"r���I�������������{_M��իc_z�?�s�h�{~t֗���x
�� ̏�j�=?��=�8/��i[3J�>���־��'F����
-�w1y}3[�I�,�c�����a�{���Gʳ8?zўJ�|�:Ț���/}���'��ZՐ��y��I�\r1 �L��ݬ���
����[Լ�d�
�T��S�����ť������=�/w�˙���
D�U��#}/�[5�\�c�"�!���9��V�>�
@>�Q����>��5��9��,��o�����|
~W�������B�
-|�%�6	溯�ty�gV�9Epvs�K�N�?y:���n�������4:.�>k�@��E��U^���h�w��oB�R�lU^ͣ��U�'tҢu��GU�8V�dJ>^�$7��.�	|pc�k�k}���,'�"my
-Tv~������w�n&�b}��U=`��m#�J�5rKޖ��~8��mαT��9��Y��2y�_ �)�R�I��M�Ee�P
cI>�����
��wQ	M�t�7�}-���������
n��ֽde�A��#�	Y�ư�Y�'�No���"J�yw����
���{��5�pV��#�'�ч)�?d��� V��v
LI���
ʎ!+6�gQf]�����Z�س
Nv
�a�	ǩC'	!�2�mr|��E� N��`a+rゝ�k�m��~W �
-�q�^�]�u-Iv������O�|g}�΀	լ5�6�͍OB7�rr�5(w 
-endstream
-endobj
-3517 0 obj <<
-/Type /FontDescriptor
-/FontName /ATFWDW+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 52
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
-/FontFile 3516 0 R
->> endobj
-3518 0 obj <<
-/Length1 1394
-/Length2 5926
-/Length3 0
-/Length 6875      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.�(���0
-�!
҂�0�30
��HH�H��Rҍ�� ��%��?�����w�Z�Y�������^vV-]^K�TG����r�F� ~~A>~~"vv=�
����]�t�!���+@	��6y0
-
���T]� A HD
$*�����w )���,�| U
�L�.�p�@¬mP�6�8!\ �Ç�~�d
�H
��Q6PtG�
�����(����A�
Ł@777>��3i-�� �C� t��P�+��
0@� �����
�gs�c�EX���H( m��A�pgt�
����tU� ��P��`�? � ����_ٿ
-�࿓���
����V0{(@SQ��z  �-���|�+f�@��9�(�
 �����9����a�� �AOYn)�pp��Q�D��'CB!�{ �l��p�{�u���-�~��tq>�Ü\�*���MD�ج�(�0�C!1 �	 u�� ���p��v�~��|�
� +4��
-��#�r�B(�
���;�}"� �0
-`�������6C�����G��&�h� ��~�y{���%n��O���5tU4�x� ��OV���	x
-�  �CTL ���2����[����.��OE���������-8��
��
4h.C��Pߔ_��~����;����_U�_���
)����vs���n���� 4�]PhY�#���w��ա�0������hy�����	��
��Üa�PK-
-b�H���
�j!�a��8�,~���U�CU��
�킢E��
-p����E `$�Aď&���0�
���%��7�@>8�N�1� �H�_kEs 舄���D�*
qA"���� t߿ϿU��C!D��ȣ`ۊ��27����Ŧ�8��pa��+/5�t�'�疥w�R���


�f��;t7m�
�KV�Aa(t.�
��~�8n��2["譇DS"���㵙n?7�1��h0�3D�Mp��Z�U����m���;k2*F&�i+ʈ�m�kdJK�4Iu�Sy:t��=�m����X6�M띝����L<z����Hi(%
��*kv_B7
u|�j�3���w��Iqw�
-
B9�
*�@��l�
t��"F�>X8fR��PU}�p� G��OO�W���zI�`,p�(����Q�ߴ�t�T�:?��:�
6bˊ��>�ӷ��)�3g�t�|KC�2ra�5-α^6��E�������Z����,4:����
�

-�;rw�
�&ҕ��1�e��/��
2p?��PX7YT7�TV?
-�ky��\��r̞7��V�B�업��g��Z��
�}E�T���?czm�9�r��@�Z-��}$� �$.ʷ�+kѤ�U�5���_��X�����!-�E�,0߭��!\iX��^�f6�d4M�[}��g����0�������<ϭ�ׄ���?4�_P�&���S�����
��f�0~���aU�'=���U�z�q#]��AA_[9?zds�	�r�A����] 8j�G��d����b�"T��
Nos)�<?u'1�J�`�=� d��+��Ūx]�*�F�Vs��)ŏ�{�%+:r�]U� U֋�->x�g�*9^�Տ�N��t0�v/-�U5]��y0_�6���~���E����
����
�P8ou��ឦ��-�lBVX���ˠ_��	��r��k
	'�X�{N�
-��63]^/`�n�	5{���{ΜPT�� ʝ��p{g,��+�{&��J���V��i�^f͙��2�
8��}�$�3"�f��}4fʻ�����!�&�f��!|Gw�.�!8��Z��{i7������l����E�1B)�
��$7}���rƤ�?����O�E
m���Yyz
IG>�e ����d
7��VE #��z�ɚ_��D�

��
����>�f%�Rɒ����� }E�#L��#	�1��OIN*\x�,Z��'��6���_z��5����
-?��
�K�K�T����x��O�8�� �|Li'���%�:�O �ei�B�9�ݛO?9���}�%J����.��N69g</U���8���0�#�͈%��Q���r[
~��������.��%�^vX��	�^^]�A�.}��
|aQ�ۥt��Wf��0i��M�����ѕ�y����4,�t�cK���?��"������q�Ԏ�[�w�1��O-(�
8R
 �A�i}�
-��H����9��e�+ҩ�y<n�9Q_�|眜z)@����1�|��z3i���
�y7��:.��f%����4A�fGs���C����I[m
\{��Md�n4B���U;�%����+q��*CBS��T�W�
�>-5n�5�P�ڨ���0:�[-E��RH�h
�c����
��S����=e����W���(_$
�f�d�O�t�
�ދd�g����n��<�(�1a��l8�+{l��k|���W
bǖ�CQ�ǕĿ/�r���®��,�{k����"�
-�����'��
��s>Fg�>���p��$Z�ot�U��e‰qꕩ��¼<

�T�ߙ��Y�0�}}c�蛷#�S70Fc��fi(K�sp
� ������~��`d�lq�I���DP��{�L�׳B��i�wK(�uՏ
-��,�N[y�'n������Gf��ߑ�����҄�H�tm�p�n���RD�?Tq�~z���l'�~)t�i�0�kq��)<D =ܴ���YR��0��v1Nq��oʒe#��D�u���>=��ϛH'��
I%
��`�Vإ�sӓ�]��\Z����=�4����'��>�_�0%�x}��6k�<�
���]`7�R
͎!��L�����}
{�H�1-%��އ���hQ��e7�A���9�����{�r
-����9���S
�R�'j疴}.��!8���/���%	t�_�
��07T��,�#h��|��H��
ȐQ<�*\bg�����
�$h%�3n�i�S]'�w��[�
8u&�}��Jn��.{�x��17+̕����J%e����L��Mv��Uőri9���m�&�4{�ŭ�2|^�ӕi��P����d�by�ȸ�����Y�
�2��ºmH���[���;>�E��T@�v�FIq�cP����'�w�d��
-
,��,�3�r����_n
�齅�W
s;�իq$��	���ذ@]��J����'f��c�V��<�\���~/�S�/X
�U�����$�V�a��e�lwk�Z�|~�~g�]�
�
���:O�W���$R���vzP�S޽����x~��︐ˉ�Z$U�-�������a�9~��@ڼ�B��Z�,�4�
�Vg����4�F`�`(w���é��"�C�қ�4�&a2\	����	�b
�9_����צAw�:w�dr�_�=#�)1�	�����r
�lP�oWG�1���_�G
�}��E���
�.�����ߠW5J���cK�������^�Q}b�c�|
u	�����~���FD�� ��"�+�
"��x�Mj���"�r$��u�$
R$��ܶ5�j��q[(
����I;LF{o��A �{:9���]�3�������Q$s�܄/;�qt�#�ر�4�?/��쌚�4Z%a��!M�
u�A3�<������;�[�J7h���
PǠ�p�Q��L�p
�q�B�肳
^!5��Bx<|*��<���*�󈰖�f��M�Iiv"��0i�ݘ\�,s��
c�&1Ɇ�5�ƀ����@eC
�5s�D�O��w!���LMOƖ*��6�]K-Qi�����DR�"}��ͩž_z����|sg�_��o�g��]
;�[����֎�k��t^F�T��TGZo�y�G;���C)QM���S
	h

�lX�I0���Q�t~�^��f>f�?y�Jⰹh�i����(eL�G����
�~�4J�;F"�&�~}�}�
և/���6m��y	% רz'^y��qޣ�ʩj���w�_q��^�_�U�
Wh:���ߐ��n�w}{��G޳-c�9�oS� �W~���q��D	�i9�[�`}�a�.����b"t�JYr�S~Yz�
��(������^{g;�^��av<ʚd��e�W�7�G���J4�
�R�J8qg�
�
��0q�5��
_F�� tF����� }���fI*�6�w��ի��b�
��a�a
.��.��V�(}��p�1��][�h%�)��;t�Cqzg
t��@8�pdShh�mo�H��^�T�fF͔��k�}|� �R [...]
-f�Q�D8�}��G&�h�y+>p�_X:Q
��lE��
��O���4` '=hi;�I���%���$����fS
����n����]~[NL�h���ܟgÎ�	5T�[7�xw���1����2Զ�ð��=$G3�ҭ��Oj�m��y�� ���)o-��)L�3�I�
99�<sB�iE�<�1l����#c:�P߇c�ƚ�#&�AoD#c��~��.d� �4���U�Mc��O�5r�T�#��⍻��i҃j��ƛ��kȫt��>k��e�'	��d���o��v�j"�6Vy#y��_���!]�/
�u�E��)�V���>��F�_��7N2�yb��	�
3��n]��A�
-�t
���!v�Qw�t~�
-7��h���{�
rߵ���9T�
5I�w)�}Iz t�	��B��'/r�cW	�$���.�6`!�-Hʗ
-O�z��/�N_�Y�s聫3	3
�PRa$�����#h��_��O�^�r��C�VnlaW���l�O�͔��Z��O�~��a��ge�jX//&�� ��L��t;��"�m�_�BZ@��=����.����]�\���Yi?�#���Q������p2�l�
�(�~��=�ƿ���,
Ucm���I�,j7��
��M%/9~Q�B�y֦��λs0�����D�l���aا��/�I�O
-?�@�Tg��xh���Dc��s�G�
�*Ee�Z��2
�2���>�i)K�����	ǟ�O�o��&5ws׻
�y�p����ST1ʵH�O}�ͦf�ܭ��d���-�����
o$
���+�(ʨ3���b�}��ִiF�4�GV��I.F��cR�#����Df�
�?�T3'׮2���F�����ǜ�g�
-�z~�%��ׇ�����"��]6/-���ɻ�N�#�,�˦��Ȼ�4����h;ƺ�r����bLEE���<N��B����s�1�IɄ��D�U(�
3ߘ�U~�
.%�jSM2�5U��T��q�ʝ�����?K8�Ҟ;�3�
�ou�/��j�j�\�b�+*5-g5&5�\%Er�=��ёf�m��W�{J��d�oX�
Y�F^�0yF6���C�#�$�u
-����=�4������Q'��\�z�Sg��+/���
� �,
m��<��l/Op�\����]��� f�v߯Au��'C{�_��
�	:�`8���d�4v�sy��^����.Y���!{STt��{��-Du
k��.s�h��M2댁���M��*�kF�
fY���և
�	4�.�a��ow�����2��+
I��
UU��aIRI�6 ��'G���m*+�lך�V��7�˝��S�О��
��@�L�w��`mv�~�>%~����q瀳�N�Q
-<f���ʼs>,���h
�'��Z�w%�Ϝ�l�f����D�����̲l�}۰ך��]��CЙ(`yЮw��<
�2�Kq�
�Q������3���^�A
7��Cr�+hFQl��"�j�]R���+�Ťh ��h�r`ps������T�OTXFb�
-��&�U��f+�H�������%��I'r�=&��Yl��
��}^啅ѣ�*����h�m�Β�*Zw��	Ξ���*Y}f_�����T,�F(
���ZbPk�W�h��'A�a�`_����?��x)Hn|TUU5���lݰ
�N.浕X��}�*��.)�n��b֡�Z�?�3
� �R��R�
xK���@0����wj^��M^2
Ę����x3ₔ����sFƜ��L�v�q�3=��̽\˱�r�3�|�x{C���A����!��f�
[,��P��H�^8��Qc$eŗ|�M�p�V�{)�����[B�w�<dqZ�m���
+���
k�^��Y�=Q�2��d
G�x��z��ƴ��n
���p{R��Q�� �a�[7�����N�^����QK�)kUi.�E����ލ��8��J��|�
��Jb&��c���-�k���<�
4Y��c�;�u@'�%Dx#�=�X�K�QG^eFG>��7R�{"���$�]OR�mN�I��u�$2g��w��El��A|�����
���3��n��ʯ��
T��O
�'���#8�^�G��.w�Ͻ7�-ɴ�k��z<��Q������{�vB/ֱ&�?�:=1_�j���](����
-\��{�ϻ݁]��j*m2�Kt1�JO�����<)�R���'O$�LR �7���y����n���J�B-F��.�,?Ta��Lz��R	�V���V;r��_S7�4�\�2��G�{�/
~�7fzHcR%S����H3����I
ev
-���a��f2�mw�f� 
+�U���e 3%�;@<B���Lcc;���4RDE��J�z]�{��hЖ^��X��lQջA�tR��J�B0o?�?;�
X�
-endstream
-endobj
-3519 0 obj <<
-/Type /FontDescriptor
-/FontName /NSJEOL+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1251 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 49
-/XHeight 431
-/CharSet (/prime)
-/FontFile 3518 0 R
->> endobj
-3520 0 obj <<
-/Length1 1440
-/Length2 6665
-/Length3 0
-/Length 7641      
-/Filter /FlateDecode
->>
-stream
-xڍuT���6-� 
R2tw#
��]3
13Cw��tJH���t� -!�H��t��������Z߷f��g_w������ag�7�W� ��p4����
PE��B
-($$* $$`g7��]�� vS(C�e�#A	�1�*���E��Z��@aQ��������PDHH��DR�
-�A��@-
��� �}�0G'4f���\`n����$��r��	��@]�	��
r!�0(��-�d��hwAAooo�J �t���z��N at C(
-��B���ܠ�	 ؁�N0����!�@
�
-C�(L�'
E1��4u�z�P��d�?	|���(, ��vU�j��.��7w�w:�\�@��:h4��J���z��
-��$��
��d a�EF���(��E�_m0���� �ܠp4
-�k>U
-�
����u�#���-
`p��/OwA8�����W
-�s����B�b�@��v�����
�;(�
�0�wG�
0$��0(��yA�h�'4��?�\���
��:��w��P�?k��#a>@+!����B�>�z���
�����;���
-j�Z����a����2���/*�
-
K�%%����l����oT�k8�wԄ; ��8`�o
^ɂ�/�p���F�P ׿�o-$.�|	��
�����_]�7���@�=]]��~���0�
���WFʞh�-ts��;�
��ʺP����h�
JpG���������0�}��C��������
-�C�(د7�JH�bׁ]0o��~��S�s_58��>q	 ���0"���_cS�緾��pS�p
: ��_�*,"
��

1�1��0��1����B at A�~����c�'���o�`��{��� ��@����^�󋈶�:%zo�/�>}�M��Gs�>�wҹ��>��R}g8]�<jb&��g�t�Ǻ;'t)M#��ֿ���_0tv���
A�9�I�Ǯ��>1`$yh�g���l�2R�Gt�f����a)�
�,9&eN�G?V�����Ȃ��3���5i9�*��X�d�
-�,�D�-���w�*!���⛜��t��ڽ��Q��~Z�y�Ƀ�TOr��QX
���*�I,��ݢ8�pA���V�-][hm΍ǻO�7�g�S��ꘛ������XԻ�J.ܶ
S N>_����j"���H�-Nh;Xs0ex"?�BBH\@w��H�Ok��a��#$F��5�B�r��cBv,��RO�I
E�#Cs�qTm!}�{�lz�|�s�-�m�{G�}�*��L�ud�=�����P<_�����!�o
LX�	xz��pV��
aꄽrWU�a:���Ҫ���v�g_�
�Z�ŷx-:g?Ohއ���
�J��<�b��]�*~�N}�Cn`/���T�`��~�s�"��@��~����/��̞�.=�'yg��V�x��A�o��U~o�o�c�yiG4�2A���c�OJ���&�~+�=N��ř8v�B����Ü�D��e�vq�E�&߾�xv�2\�iȎ��d��!�K��[�!^�Qx�T$k6�,a�l�*G�y���
�y��鸓��Xq�UN&�{2G�:�w��uɜy|�07f[��x�o��8 K�
˭��Bj�64�^^) ��AI�R�ji�;�2�U���� ��F�&L6�ap2S>NJS�P�P��Srq��ͽV���D&�f��3�,�X���QR�b1��)4dǒcQG�a���T�1����x��
��I�8N(>��q��rdk�zO�����{���$o��������(����i��t���t��
-l��
G�!}�L��d^��$��2Y�?�:oHG�W�3e
-V�d� $���)N�pU�O{C��$9{��6��PHS#�����
�N��:�芟��Q�FV�җOiK�h���7ZM�W���
-�>���zo��åsx�uCPxV����鳱Ao��p

<��s�+��W��2�m�WnD�V�����Ò���b[9��(:��C�[�O�ϰ
J
%��,?Ʊ^�87�=d����Q�+x�s1,Tf~�
׃Ͳ��)S
��p����8�s��M��,a�D��$䗫�ΰϸ��3cfã������n��
-�}[��Ձ���d���
G�3?K��^X�j�Ȍ��5m.�pB:���uh�n
V��
L5�o[���	[��[
u��lz��~Qᡬ
-$'ᜋ=]��|
��.;��<���Kc@�:�A�~c�և��>5z��N�D��͖��G�r?�-���Ƀ{c�2�6۹�\��٬����>1&�=�`�q� ������w���ʓ���^����*��y�x����
��B�>�2>`
o�%�:kZK
��r,nԵ�����H�Q�a�O�>�$���Ma��jx���g�|
/�����c����=~����M��J���$M����ӔS}N�&��tUE$&.֊�|���d�"G����XTW��(�X
d�pb�f�� h�}Q
��.#���J���hZ�?���}_[�J7<e���{�Ǒ��ŀͷ��Yx؝Ap��sq���,W?g�l
���
_���M�[�瓳
�
-���P����7�


���Σ�"շڭ�*[��>�gy�&�N���wO�c[�i
[�ĥ&���ح_ʸK;����;yy�'�����
���Jo���U�I�@K�M֨�Èc�${pf3���Y`���n���Yd���q$�Q��t���06\�R�;;u��J
�"����j�
�&�
��d�����l���k���o�zu2
dn
-�n��u��̀:�C�W���$)�Y�S�9Q����w���{�=f����Ǐ׎=��ɑ
���xe�y�,D܆�l�]y�b�c�k"�פ��{^M�U֭w��k��°��B��s�T���;�褓�/s��o��&"�>-�
�*�����]�b����"�Ԍ�Wʜ
���t���)��뇔��V;:��6w|q쩠5i�=n\�/Z��A�rm�R9��&l�[1� �
-u�E8?J�Y���MdLJ�s�	R��Uo��_F�$<������~�V=���	X2%�wN��b�$)d��a����u���5I���#�n����kP���Ц��Ur���q ��&�7m��2���ٸ���i�_��?y�����0�R�T��C�
w�p!8W��Tה9�и�g�5�/��e	�&�ţח_}ybEnN���
-����}�P_�J��<9��#=e�HFk�!�,�֧�Q0/u�0]�TNm�]����Ð�
-#�z!�w8ti,�
/�B�.k����+

�3��
x�����wx��<�D�߅���u�8����� y���A0� i����W���Qh��F��):����Gɝ)74 x���j�
�̩��R'2_��V}z"�O�m��
�.kM�]fИY7������ѓ�SE
�;V�c�5.��q. ����F���b��Պ��r���q��&��|��\��jq�]2���mv�<V�rW6�4�I,^:V_���
\�؎�
Iv]f@<z��$��
Ks�hA.� 1:]
 )S;����ʓ\e��p8P�~bH�q�
���2)Ǥ+
�Q��Z��
~�E�³�w8��ڜ����<��y��
m��\$�؊xL'�}��~�4���T�gR�@L��Gu�ѯX�r��h�FgrV�<��i+�Y� �BuQJE`2S��伭^ׅb�=�3ǃO���
�X*XM�p˅h�Oe~u���f�	Y�����	ٻĆ��&�?��a�A5���YS�[���-�q���['
��KMhQ<93��-���T��{��-K�*Go��_aܜk��[$���	
�
ZR��P��)7'̓�6�Q��m;_�wµ&&�4
7w�v�W{!�[l���ȑ�6�����SB���͌�	V���)�h�7���wQ�Q�	z���`��Ӊ���N'�(�
��Ĕ{��ĥ;���\>7_l
}R3ޖ�
���S·�
"KY 8Q������2?��x*D,
p�S
�
o��g��i���B��<a����l�!�����w�H(�k()N�J6q��'u^þ�km?�������/���y��ӫ��_A�:aJ{T3oa>�]Ϋ�
�U�H椚>��Ԡt+���{^!�&ʜ[
g�ų���k�$ޓm�,^�X�W��c���n׭7h��H�oy�R�A9s���\U�cC�«���g^lL���}4GV�sk�4&-����F	��Ó��S/�r���AmY������W>����/x�Dn<�]k�.��5��~{o�$q��VT72�8��5S�ꄂ���v~�e��h~o���<�~"�H�Յ�b��?��d
��,��|0	�
)4�aG-k���i6�p�
[p#'@ܝd���ֿ��~�8f���X�?ͳ�.�M�#��Ֆ]��a:�z���nERnE/�E�e.@;�S�U���c�uˑ��aKiI���:JV��10E
-U{���6
d>������!~V�݁��5�Z�@�
5f†
޹�b�8�Ŭm�
�ⷈO�	Y����z����Q�!��r
-�qs�
G�|E�,=�W�D��c�m 
�5R����6e`_T�b�I��j���@.��@Z][��u�Q�@�}����mE��Ĵ�T�\�eAr�\�H�������:��c��<H�"=�.���D
�/��Z��/�{
O��x��c�J�:
���E\
[���l�M����N��T
-�E�֥}���DD���� �:����
��Q��
-��^l��Ϻ�(�����m~��� ��B-"��D�w�뙪��F%m��!��1��
��H��*�l<:��M_^�0P�o&
�1R�Fv�|5B��E�gi�rc�h�J>J���h�q��c+4.��5�Ѡ]X�I��ݔu!�����U`�tӭ{�?��S��aԲ�=��z�ua�tIE��nj��,Wb��)�]* E���P軤��H�͓q�'<M��%ۑ�����\�T42��S
9�/Q)I
Y���h���Y�뱋oF9�FuΌn�j�/؜$>⁨U,DŽ�iL%�Qq<��KTpA�V=YL~�K��}����ī'����ۥ-`ӳ·tFo�8f����:��E�N���a��`��)y􆟼��]��	
��[�at{�f�r�H����W�ʫ�u
������ٲ}[�S�R��]�ܦl�<&�ɠ�m̫{
�x��ܰ�j�{��3"
H�$P��)�O�xw��p����
�P� �*�A����Sl�wz������ܽ!Sv�d����;=Q���Y!

�'�+��o$H�X	P�<�
�\o&��C�X5�.���j�ɧ��4rSM�
^�l`����N�	0���N��@K��oE�����Y1[?}��*�b�R�
��6�@_[C����R�@
8�m35vU����e�L��Ro|��^j+[�"_�!K(I��"�?��@�N�Hk�ֱ���>1�֚R�C �L�f�2�ϝ9|�^~���".�u���P�Y�g�V}�i�l]
��<g
3� �
B;
OˮZ�I�)��I�A�
-���m1�K����
��ؤyI��ztm�����p��j��;���V����ۆ���b��gmճ�F�B��b(�e՛�m%����GPh��
��@B�7_;R��eN��B�*j�1��2�1���-��|i�mD�Cf>jR�ts
���ӻo��S�k�v�[��]팷N]4�|�-�:�߈$nؾSy=tȵ�
̴gE����*W�t+
儢]��D��;u2
I��Ct:�]8=�fpV���[$��ul�qS\��X����$ص��J 1,ډSܢ��@_�
3��eOڟ_�	�Β���:n�,�ptz��,4Q1�=��ő\F;��`�*��
/�Ɔ䎤�����b�-|§�h�S�J�3 �J1��[�#e�5 $�d��dY��P��I��v�*d+�7��0���?��R��p�{�޴�u�WM�>O��2=ɾ�b򼀙k�����)X~M;m:{rׄq;�)D!���[7���J	�2o)���� ��_t]
��-�
I�:�,�Z-�
2d4�����,�{�>��UrG��9XKv߿��΀h��e�+��`ҹ=���͚�n��}
�K���Ƌ��
�I��G�d47&l
�k�q�AM���ո��Tʾ|ִ0�g��=Ϣ�KH���۝w�� [...]
|�M�ڳ*"σJ� ��b�
��O2����-I����͘�vGq��o�RZ-����o;.Q�RJ��,;���f���v?��q�B��w��w\KZ��X�>%gI+�4��Eǖ��
kpᔢ�M�[�j�����cG㎽O���
T5^��g/&��zp-�Z<�$U�+{�o?ccH�%���ȳ�eL�WD!f�=�=y���f�i('c]Pݐ^~h��|�����
�[���;ܼ+6^���-��$�{M5ɖJž���y���{�m�_���
Z��zG�uA��S��0�
�:���/NE$zCq3�iW=岟W��D�g��Y�@cJm"	�Sޝ��?�G:r�1ŝsq�N��)����λJ\���ܷ���!2q/S����~`��8�h,<�#�p�쩸`�'O�_�c镻��Kh��$��c;"o�d��X
�\۝ȶ:p˿��!i8^�� ���ҶZa� �����C�*:{�O�LD�^����$m���2R���)�;i۹6��N�~
-�V�\|ֶ�
�s*d�흐��ԅE�Z'�{'.�M�+[��%.|�m/k\�Dn�
�n���a�˔t^
������
�1��z���޸�����S�*.)��dv���!�块���������L���r�*���CH{]��b����ǂ"�Lf-��l�u�ڦ˟�>f����
g�
������WZF��t\Cȇ6(ժ;��i��*Vo�߾y{J��p��.��'�,?ax=�=�'�j���,e&R`F�����JG٨r�Yk^�
���V/�
-ol���8�+�U�?<
����)���9+m�����V�nу��%�^���Z
�x���`~�����־�q�ۢRETn�%��
wlY��P�����W��7�U�=�؄�!!�r+eC�~�p˿Ⰼ�=�M9j�}o-aHn_�O�󽣛�9����Bx�@��Ģ>
*Uj��퐢���&�	n�V�>�W��k�\ �P��|�ɬ��#H�H:˅�(,9�����,u���naw=P�	�0��Y<��+<$��
?�� {�r�A�@B��En!�욝
6c���=&Kl�\���$��-�>EZS�Ֆ������X
-endstream
-endobj
-3521 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 46
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 3520 0 R
->> endobj
-3522 0 obj <<
-/Length1 1463
-/Length2 6668
-/Length3 0
-/Length 7659      
-/Filter /FlateDecode
->>
-stream
-xڍtT��6-�HI�h���;$dlc��D��$��KB�$D at ZD��������������}g�l{�;����T@�p�h �AaY�����
@XXLPXX����
��A��$�����/U��bj@
�O�x� "b IY)Yaa�����ߎ�,@
��:8M­�@����.l����@�"22R��������;�"�"@P��_)��]0������� �
-�@9+��xC1. ��?	
����I�f.P�o����  , �� p46��� �� Sm=�!���ہ��n "�"����3�+!ܑ@�/�
p��  C
=A�� ��:ah6
��€�X�_���  ��zh
-�Ġ�P�O�B?�`oY
VE��C�4���Ԡ({�B�'�Gx���
��p��O`O��9
��	�V�ゅH��9C0 	aII	a � ���Lo拄�2����
��$�	Ku�`H��@/ ����oÿO$"" 0�8B��p��d����g��QP��0V{" ៟��a�F�a��q�5_!MUu#��~3�Ǧ����
�� d$�""� )))@���s������OFm� �������G|V�6��
X-C |������0�%��� �B�o�����%��nH��e��e�?�@w(���Vʞ�Z�#���oWK��Uև�����m�� ��
w�J\@D\PX�7Ek@} `#(��[H�[�C�h��%,�_6�ցܰ�
-�gV�R���:
� ��>Q	I ���cE&*!���)��K� !A8�
`9�(��c�X�P�v
-.?��pl=!
�s���D�
�
��;��QI��v��=ѿ���D��9~�����_O��LD��
��=j=�Qf�X"�[h�����L����]K�
�Pq W�>3�*
��t��ɰ����!�)Z�
��%�]���Ӄ��V0��yD�Y��N�1
��
�
o��Nj0�.���Ղ�v��=�M�;��;{
-�rV�&^�5;�f�ږ"�
-e��i�m>r�
�=Vi�a8�]��M�����7�����t��%+én��g
&�1�$<�iB��H|W-M��`(t��w��=��{�*�O̳��@5��0�]�g=,*CR0��C��ք�5Qϫ��,�+�g���|3^C���_u~�6XuA��h����7ȕ����6��੮ �ȣy'���ً�sB��Jo�V磅�b�ݺĶ����=�Z,MQRzE/�SX��\����
t��
A����ܔ���5���_�!�L���ȀP�F��6n��|n`x��wž�:����fn�IodYɼl�{�+6�w������S�����Q�[�5ӗU2��PS(nM�~��\)�mEtr<]�d�ᷙn���@S��es�
�}�^�9�
zn�L~�
-��I!�Cօ���t�Y�:�������Y���ʑx��d�?��{ �
�c�~�퀑�Ư
-s~yq����۱όC��
����x5�F��;>�H�̮7e�M�)q(��I�Pd�
�q
��[��e>�	�
�c�J��
]g��,I��㼕�?�K�w	T
(��l�z�pS�U͍��+Ou�k��[��
-n��F��5��m���;G�<a�{5G�q��>WVY���"�/��W�I�!#����86�Z�����J���B�TD0f��
�pv�i�.̊92��)@�֖
)���W����H:v_I��
�>߽V��`x�;�f�uG���{B3�-�Iꚏ�<��;u:�i�� �[�/��7�xI�)<v=�f�Jz�#���q�Ʈ�w��-�LcWr�36
�T_���u
-��j���+Zv`^#���uhC����J��L/��E�3JAA�+�����\0��['f��DR݄3*l�s8gw�eB�����D
46WcQ|�̦�r�������끷�L�
���W�K�o�/H����k�Z,7�݁1d�&�
v����I�Uc-
߸g|����+猱ٙ��5C~uHt�y�ā�I���
-��?�S���X
-�t������m-�������|�����l��&	��a�Ͷt�|*���.MF�z[��Ť�����U�w}��2e������S�c$��H�����{
}p:���jo�t�M8��{�8*}�EwT�
<i�w�������7�{l�Ŏ�t,;ٍ��Z���
x}b܂���:�F��2��Z��]x��v��%{s�1���qSm���@��2Z:��"�N��6�=ka~�ʏ.�������qb9_MH���F��|�I�[�/�	H��{��=\�YRj���Y/��Ko�
��zC���7�hy�h
���x�M�ȴ_�e={"��;f[�?7�Յx&f�ڹ�j&������Z��I�ja˷���A��9�w�!�g$
�z�5֌���j�칅6���7�H�J��V)l������6�b��*ԜTE���ˢv#��'��:%�iaZ���2ε}
H钩?��`j푒��fG��O\�����Ά^���j�@�>e��Ñ�b���g��W��:����O*��$*J���Wyod��S}�Q]-uؒ����W��Y
�I�0_g��]�ij��i��i� M*�>�����Ԣ��c�z~��CW䞌U����;݊@<'�=*;�I����Od�(�N�^'���8wڻ����H86͂`���量?�93�����dPr��v4�|Z˒�
֚d� -�БK�Q�`Aߡiѿ��"z���#`/A+HRQn9*�q��J��vD,����W

iL
�B���{?F�
�P張���������x
�|3�t������	�5��χ"�4��O�d��v%ל�]��~����BU�]F��R�k}�����h}��r���7�T�W
-A�����z����]ڬ�e����4N
J1�mR�o#�Mg�����`��)������r�p7��t]����Б{�ӷ�&���/0�Q���-���w�ɴ
ܤ�H��)�ߺ�.+���>;�ߧ
Lo�:( ;	.��
ǐڌ��
-��xG{�z?������.�U8�>*餶�yf>���D#��#do���~��|��X��Z���}ϧ5k	KQ,�\�-��A{lAW����>�
-
����w��#���٩�%�~����dJ<[j&[^��_e�%A�~���̲�£����Lz��(�
���_N�����kl��WL��ҋΜ��%q
b!� ^U[*x8|�V[�D�����
-ܱm����G�K0����~�}�(���I�;���V��u:��-��C
 T;o|-�NH׆�<��`��Yvc_7�Xֿp?����*Q��q�cy��n��:�
�ԩ?�SfX�c��U!P"#v�怂WT��s�4��945p>A��Ŏ6��

-3:�X|���|�����x�ε�l�82n�6'91�����V��G9��7���,
�j�q���#�|�<��C��bp?7���?�XdάU�苻S@:uj�i�v7I{��m[b
r>9:�R������z�����")
-���^Xg'�)�7��a�fvQ�w~F��@�6�c����O�6�&�bGi�1!�`���f���F��n+^�/
��b��7ʃ��-��
X1
.�45�V��pI��C��.��A4�f&�6�G��4+�	ٖ
�]�i������\��u'���
-��
�Ր��;�q^�en�=:0�=�T�� "�zj���Ӌ�*2�J�T9�f��{G���>7ƞ1!
�h�uҤ��,���>}��%�$�<롟�%��kՠ([��`������f�]kQ6�
w�����O;�(�7X�(Y.1�L��Qhƪ���%���1k��+x��oP�;�y��Я�vӘ/�˕�{���ϾI̓��GAAќ�b^��Nq.
G�&�
]T��
�v��R��� f
�bА¢�G�7@ˎu��A=
Eig�����!�qt5�ׂ�'t�d�
-e�:zv뢻ٍr^��06��/�(��@��C�ꣷ'�M�@�?�-����k���4Q9E
�\���x#wY#|`m�"�_�,�Bl�3nZ��L?��ND����P�hΰ��;η�J�o�
D��
?d��fc�@�Qu��V��_'��N�&�RйmL�Z?
d�](

����7�{�KH�օ��z䈒Oߟ
ih�L=��fy�N��4����Q�!
b�Չg����
�F�@���J�����,$��`,��SR���E�8!y`7lN�[	VW����N�d|��#^5���&��Ԛ|��JC�R�O�T<:�����J9f��;:�c�ƿrS��!����Ep��^v����8�/aTu
dzm��؃�C�ήy��7t��
�Gp>��l��(|I��^/�y�OG�I��ߧ��2HHppQ%�r��e�*��I)�WA��b�N�ʞ�آ�%�I�y�Y������62�#�6
_�G��,�&_PQ�r.��|�il�(��e4��l��ϙ&�E�|F枿~�'������Uu�=����pt�R��嬎���huu�/�b<�^&7���

�x?Wp�-v�̹�rO����̓�����
�������E���S%f�cS��X��R\�z3$L��)�`ҟ8y����zA�'��%.O�і����l�e~�
�.Y�����ե��is���hT����U��ͧ�a�b�;�K [...]
-�\��[Y�,9_:ٙ3��L��l,�� ��v�O3�f�_��O��</������G��؁[�_/�2ⲟ��|���|-�)����
J��
����b,�It��֙˔����凗n~�be��1�
-���+'m	��>K&���_�Vy��@�-�}OӲ��eN�l����!i�G��
���W�T�,\_|Gs5
$�dԖ�$=(��P����n�x��r�X���������
m��{/��H�&=�$];�q
��n����{g�FC7k�AyL�m��Ma��~���@����SzW5If�/�b�;�/�5Ġ����b�U��ٞ���=�c��K�7�>�L��v¦
-�1�
�����Ŗ�Uc���J�����i���4%�u�fyݏ�Y�_2��q4�m�-�)cUrƦDu���xw���ro.�6�����7G�LWi+D�^j!��\!*uބI(}���VH8+|/O%q�
-��
>3�`��튑��7\�͌�8��=y��jq}:_���@��q�<rn���UښGw�Ck�
�6�$R���J��(K��<>0�(xI�m��u����������l_�tI
OfS��؇x�W�=��-�
�w^��w����
ߕ����u
doY�9�c�B�ey͔(m�P�z�m�k����j�n��/~��ҫ��1�z�;�B��kv�l[YȬz=��T��A�*���\�ᙃ���b�s�.58]>)˔�Cƕ3p�R,���N���{����
�2�����
�kk51׏
��%���D�!�x���k��>�Q�����:k$�^�
-�c3�������:
�(#�$��./hࠈ���i\A�����N;���6ל�������>`�O���6�/�o��
e3��q����f~*�z��0⡜V{�'�4�h�E�M�q�E��{e��^$l+"5*��&q��ǧ�t	���p�}��
��|���ܷ�0���^�Ac����b���
QRd���,�8��ڑ茞��%N?� _R���L������Y� N��!�yj�ȣ{�WC�
-N���&�>h�Xj�
����k-��2��!N#e-�}��f
A�}�Z�H1�P�"����[�$T	�|'�v+�mQ
�e��:�Q�_1� ��<�ɝ�	��&�z��=�7�cR��]+"+V��tN��Q�<�z���tgȗq���#��j�b[���j�f᎕\�_��E����֘�
��=�4��8��P�]Ɏe�O<��?Q3�/��c��3��NdI5�1�T�-
7+öF����z#����qD�WTL��mWaC��e�#ܣ��-d�y�Y�dP)��^px��
e�nT����}W45��Y2N����ӉaG}zz���p�i��
�#��
��wMHH.�0'׎�a=kϐ�AW�UL*�����֙�΅������(R��,�e���ۻ�����Pvb�퀽�
��_��A�k<��[�
-��?��=l��Dgλ�[��9$�*O��3F>f%��SPe�����:4ŧ��3�S/��/��ў'���>��s���P�P"sp;��knFܝ@�x��fX
��'.nS�1���h�C3*�C�S���7[� ���z�.�\1(�Q"E-bHg���g

)$�/%�|;&���l�'mL�YŃ"(�^�%��e"��N��\�ŵ�M�[3����*�M�I��
v?S=HDqR�����,��wV��=k�
�s�M&Lө �+:HU���	ne
�r� /�M�Ry\|�w�x��6FS���k�;Oe鏧<����0.��s3�϶�
�ʔ
W�J���]?��6k�
-Ώ>�-Y��C�
-��^j�؃_�r��zk����7�+
�w���;�4k��h�[w������oy�&ë&?���vgK�\�[l�y-2�K�uG��C�����ݲ��r<e�x&<f�{"�Z�]�]�y%Bm
�쾨�h�u�+3��DUQ�OMf7�
Sz�ڢ.�>m��`p6��č<&'@�@hZ��iw���qll���8��[P"f��`���i����GH��n�('�=oG=����g�y�1��'{D��k/��
�@o-���yv�>7�m��t��=sH�٘�n0�
Gx�X���,I�{�O��_q���At3
�Q辬?sd�)��'�

����Y;H
���H����|��J��im&��~3�T�Yr՝����Vm��5f����*�X��Z���
-eUt�/�Z햌R>��\us�|��J
�\6�&0�T]��q��skx=m
�n]�{���*���# �ᶄB����`/O3��������(&�m����K��I޷-�(�Zȓ���+���
�w�J��D������έӞ���z���/��w?	���tJ�%(	��X�82z�Y�Ŧ\u���9F5\�in
���3T�l���[#���
-���Ay����糇��B1�
-�be��"�CyB���l�~��Y���ɧM�y�����o}�p��:����f�lG)ؼtо�F�*��%����~y�S�W�JExH�Rـ2��`��
��ť�J"��e
�,��
?X�4ÁR�k�B�</5�APg���0+^&�>Qv
+n
��(�����Z*b����l�n{��>�,�v�����>��$�,�t�O(2:�:�Ԙ\�8�L4��̲z�k
C/��� B�����&E4�x
-\N�f��S�|�g�x
���r��
�
ȩș:��k1�Z��q��>$&f�x�'��	��zp�\�&��!#
��~Z��*�oXh(�5�� ����
� vIYp�Ș���r������/P�(�#$
��ne�:җ3<��ug��&ѭxyڡ�?3��
-endstream
-endobj
-3523 0 obj <<
-/Type /FontDescriptor
-/FontName /GCEPBM+CMSY9
-/Flags 4
-/FontBBox [-29 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 43
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/plusminus)
-/FontFile 3522 0 R
->> endobj
-3524 0 obj <<
-/Length1 1342
-/Length2 2576
-/Length3 0
-/Length 3453      
-/Filter /FlateDecode
->>
-stream
-xڍS	8�{���%��-�>cߗ�gM��1�2Ø�f��ز�f�\[�n�!$eK�%�ʖ\k��%��R�v��y���y���������
�}v�ʆ�;��R e
��8٠� �G"�0'D�a2� �A�R���0��8��3�A�@*�d��
-�R�B�k!� ����ҵ �/� ��K*d�d��4��I����G@/�45Օ��C�N��(�
"�>��82�Hœ@��K	9
"Ѵ???8·��=�� ?D
@H�	�*e��ܠ�� NDc=�H���pt`;�$<Ha�S�Hط�ր-
�����J�Fs 
���F�j!e-��S}h8
-�D�<Hd��Z�!H	�Q�@
�Ae��|q$2Ν
X{:��86�
~
<�D�p����Z��fS
-����R l�}&$:�g�����7��G	�ay�(�U&
q�B:�-L60l�/�'�
-JS
���OD�^�Ģ�kAԪ��!8�F�
l`0�d��8_��L08��_-
-Hxp=I�_��n�c�fϟN��#��C�����I��T
-��|m�c�Cֶ������@�2(���:UQU4ه�_�����k^;
i�u�hA���$���A�wCrk#�z�!*[�  ���O 1H<�����`-�i�����?_�e��kq�u��q>$2k
a�$�����klHL�F- 
{3
)���#1�$�`G���u��A�N��kJ�S	�˃ƨ8:
ǂ!�
-A���bo�_'��S�;�1�`��J���D �W]�@8�Y�\�g���
Z�#�?�uA�}I�kGz�DV.�6��S
kC��5|���=2j����}��ΗY���>�����:�{��QQ���`PZ��hoY%����RP����)�5=nUS��B!x�~����7g�)�K���؋�I3��w�n?���y����#�����3��0��Ȩذ���� �A��DI�䗴��h�pC_��&�P��۷|4��̷z�&��ĭ�ځN��:S���r�s��ar�G]��Kk&
�2_|�
;=�ޛ�"�3̒��!�C��z*�;�eU{x����J,��i)k;��=���[�o��3���H�w�1��=-�0���P���e at i�^�7

��+�cuL[�U,{�b�ڛ=$��5���
�+a�\j��(돘��S�\�:o���2Vt�lU���'�����e�-O�#!���mC��?qエ�.�ȻL�:I�s?
f�9�������FTȵ���X1��s��{��W���`�
-'���C\��G��]wj6mȞ�ŒTR�~�ӂ/
վ�p�m[�R�sCIjn�L'��NJɢy\�����UN�9�*b��Ɂ����py�w�v�\�_����o��౗[g��7��O
-�h{��<hV�-�9���vDԍ��B ͡V��l�N����#���^�s!�c����u����#\4O�-
�s��@p*�� ��
O䊜rx�;1T��1���z1�^��tz����=�)���m��U��=�x��.�uQ
�P*]9�I�X�);���,%����ѻ�9
r��T�{<�:��'�
�X�]��r�`��'X�0�!u�Pw7�@����̤�{����'�"s,H�ɽ�yW.�X�\�lm��{Ѐ�m̤�{=Z�80�y|_�� �ū7�͢�aj}1^>�yfE���
;�S4S�C��;���ԭ������xnm�Gw�~ܪ=�[��W�3^�|H�l���Yw�I
M�$���Ǧ��Ԛv
�j�u<��}����ys����s���\S�3��u)�u�`Q���B�%�C�*]���
�g��)�Y6(�&V��~��N
�PĈ{�|Tp�;?AZ�\I�D����{L���$P[71b
-��t�l��Y
< ��'`�T�Of�=
�`�v�v��o�`�9���
�4(@j����L��÷�k{��f�x?sa���yà��z�
v���q1�|\��k=I{+zꏞ@���=�qF�9�v&�|tݹ[�P�M����Y�1;ս="�+���Y���#�R��g3q����""7�po�MM�wN���[��$��χ����~�3�:=޾8�_�_��`ctŠ�0$�=$q�`(Q�@>�^�e�� ����:�-�	r��h%HلS��R������Y������ԕ���BS'r]{Q-�C��A�C1�;Ϫ~8p]�Og������3;F��d3BR�Yz�y�e������?*�[#g���	Ψ
-\ʈ��-q�V./S�ԳԄ�X��8A��%�MV�$ueU�ױc�
�ٹ}��B�:�NY��4�Vi��_�"	��n5B��a���')����0>a�s KT��KksW�+��F�yUE�t��zU8/�CRw��7Us�
���x�Z�s�;���Mo�5������1�1t���D��Rr�?
�x���<v�o��r@��q�W��()\	��
Uqpyͪ��u��H6-湠�
ǃK�����*���~�_h"X.}�i��T��DZ��J˭ &*R1����MK2�^5X�
�H�`�ޅ���=# �ӷ^�����M��W���ax��0W搢�h��-f�J�r��,-�5��|�wj��D�3��)����C�`���sf����i���۝�����E)�H��
�6rzs`e�Z�g��3އa�ӺNO��k�/y��8ڞ�78}�VA|��\�T��X��9�{6R�w�(�
��5��.�[�M�oQu������FˇϞ��'�������u6���
<RU��t��[��I�̺?[��
�y>���n����<�G��\��;4]U��

-k�K�v��WJ4轺�3�wtA�;"J�;IS���>i���珆oR����
-��9_����R������/�'_�o����ۢaB���s�\�˸)�����z��zt���
�A���[�

�'��8n�OA�
)@��Q��FW�is�K<�7=�_v�"
(MG|�j�g���i���hUxٳ���m��"��9��]�ɱ�B%�R�k�J��,�H�=%��!�ڈ]Ē�E���h
�{�xd[|GRh��,�֕��i�zU��
�3_K�5�.^Cl�x-���sf���n�fe�a��?��4�%�J�yY 0f�
�A����>��B�}L��0��R^��v	{��eA)wK|�e������
	lk

�����Jgn�s���1i�qn|؜,��qs�F�3�bP������M{�����N�_-�h\��U��
-,c�{_R;��͕R��Zٞ���MR
��+�]hwq
.�݂�roȬr�F[
-r?6��C��ײ��c��x x\ms�*Vh�
|���s�؉(����A[�fB����pH�27�S5�m�?z�[V��D�-f���Ӎm]Mr����P�~��ܳ�]V&���Z���N��E'�
-endstream
-endobj
-3525 0 obj <<
-/Type /FontDescriptor
-/FontName /CDCNLO+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/Q/R)
-/FontFile 3524 0 R
->> endobj
-3526 0 obj <<
-/Length1 1606
-/Length2 4894
-/Length3 0
-/Length 5701      
-/Filter /FlateDecode
->>
-stream
-xڭTy8���&�V���W�}�ٲ��$���ȟ1c��K4Y"k�d
�ɖ,EȾd�.[d�M���\���u���������y�����42Q��
`Z($VD\$�]
p��(���
-Nij

u

����`,L
��A
�� ����y u�wr���&�BB�z~� ���N�� /���@�]aH,�>h
-�Xg�G� uC�;:� ���9�
C�0``�s@�!�

C�� G@�a 
-�՚�(K�
 �hN8��пB� �q�����;�#��`Q 
	A࠿���߄�!Õ#��ܱ�

�U�4���uc�v�� ʑ�	EAp�Z�
#��X0
�`a^�_�
` �F��	�	`h
�7
�;
��'a sc���;���k:�	�[�`4���4�wֿ8���0��(���&K��GR��Z
�#
-������y�0���kg$�P�
@a��b(,�$��ߩ,����7H���������W���������Z8� �JX�?
��  =����r��p����k�%���	D
&�A�D�$
-��	wׂ{��Fp,�p#3��7GBa
	#h�{���8��3
r�k���`H�_����[����JMW误��,#��X3o4��?��GA�e��PSCy�"R�����
@�8pCV��?T�
#����b�^�]B� �ߍ���Ӻ�M$��%�X0JX�9~�!8
����Nh�������`��/(�B�K��dl)KzG��ݖfq��Pt�����Ũ�I3r���%���Ok��V�'�
�͗|M�`�l�\�&y�d���l��W-�}7��I�e@
_{�Mls���?�Ib(7<���z�Ľ�> I,�3��W],�^Y�}���>_ۇ�
�M����_z���Q �$�p�c��1�o �d?=dq��#P~�Σ�iu莗�]��.q��`Xr�.�F�C�'���U����2�$I����P���Df��tO�
�(��ƃ�/��5���MXnI��U"�i�}<(�s.V�u�~�
�ށ���l�Y��I�@�
-��Hc"Eל�c�ΨJ�]_:
U�=
-l3��a�����˳����n���	�{C�I�l�%�*,�f)�t�5I��6�B�[��7��wvU~8*�x[���9��.Ė"�����B���6˾�j^	lB�ꪇ:
�3�y�|L:�Up
�
M:\�`1����v~7􉙔�a��n���i�)����]���{Y�
�9n
�t*���̋z+�~C52fX��U�G�+���z������Y����5ڑ�
��+�JH?���~hM��,�€�%1���m�8k�������A�du��k��p�]�	��u�����z�c^��4K�
k��E����bA�%���{��+��5�/+Ik��c��6��w� YӔf�c�lZ6�n�9�_�si�FO���M*r��
�w\]���I�l����mͪyQq���ԍ�L�ȏ
��)g����Z�zyv������W���"�q�(�L�
q��58������Q�c~̹pf"�<��%�v���)���qO"���s���i
���`��W��
�jJ�q��f/3�N{���P���

-�ܦ��	�{ ���"�i !͂7���a�
�Yl����E�TY����]��*��Ή{�����85�׮/��!�8�7\p.K�Ĺ�'��x���:�Y�k?��,�D8����n��0�L+�}iH�Ԣfe�:?��a��M�]]��Q���N�т'�@m�-h^�����̼�J��+���K~
|���־���o�8,�^t6�
i��
��]�-8=0�u�qхF�&2(���g}�j��Ƣ���[A�9E�9�T���Xw�~���1��I��ba�U�YZc�.
����iEQG�e]�Q����SOd^��ȣ	��p:��k�P���zQ[�r��e�x���H�d�6�X�$�}�Q~���c��,��ׅ��iU���	�i�ޏ����l�&L�l�	�%�����S�
-d�H�QI�?3Y��(=�($�r�ľU-C9
��&���
�4
�+�#c���晙��>
5k�r����i����}�H���o=�W#������ӆϭ;uD�͕��>�'���W7~�KO�O�FT�F�%<�Xv̱T�	�
Qۑ��Vf<rJl_�N��댠S��7�q�X�����*}E���|��N� i1W�+�kkiM�k�!y>�E�p;+��C+Q��1�jevt�)�T�	_o�,�x��N��M�����9��&��q��7
�!NU<B��
dF!��D�ͭ�9�Kj;�c@��Mf1f
�K�f^̛���c���><jJ+93$��jr��y8���6g�\���f�`૜-C�
�f�ځ<yh|P㊱G�-�?�)�헴k����E�J�wy/P�q�y��ު�3�s����7�K�s�įN�9BN
mحi���v
-z��
tO���>/_�hT���hS�\Sb at qxQ��G���m02�d�r�ȼ�u�	�o�)�K�Iy���m"C$�@�W�/]"6�n���:��=HD��N�9�nm���f*P�G���~��&�$Y�
aybV����{9Sw�t"Q���6�3�$z\[��Qr��8@�E(��
-^NC�@+Bw��g�Cy���9=�~���k�mQ��"����5���VTH��w"ɛ���3�i�~�ї&�\������i ���E�D����i�$Qg�u[Y�We�Z�˷|���=���P�X(kM����|2T�7����o�.7�
���їۼ@���>�W�cԶ���shއuH�e�B+
��%�)_�
.s��
-�u#��>��K�[(�c<$���}�ƚ
�o/g�Ř+�"ǹ#n�����TE[�f
m�D�?ه���
�<��2$S��D&>�d��ԏ�J�ͺ��V��>k-u�,̟���a�]�����P{��V44b䠗�u�nN���~\�5�a[74Һ�`h�_�la#F��ˊ��)��})_K�K�����m#��8i�s�3��葁��
��G'�9c��b!T��o95����Q
�c��E����Y�P�O_���1�5��.d�@�F8�
z��j�0q��	�Sʵ�b(r#�T_��XH��<ݡCr}�@f�.�j�NO�y�ۈ�c^�Δ��p��S�[[�l�(����BŲG0��d���`^x��g~P0'��nA�����3�9�UPl��OG����@�y���zzU3�(y�>��%E�7bb�6j�@5ߢ���r�d���!�[��jU�*�~=ǎv�!�-
6f���8n(%���U$+	�yƢ��v�z�0^���Ϟ`
������&�]�:�s�3��
-#��oI�zL��h'�E�E�J}S�k��|l�_����
�i��־
-GL���G�KV_٩�oIʜ��1�w�pjKx'�������eirs���p)`|dK.Q��My,�i��f�d�w����2�|��l�O�a@���+���۵&B0����+r¯oj.ɺ	N��m�ٍ+�aη1��lM^i۸�h��0�,�+�SQ����n
2d<��9����u��ڕ:5E.�{ �/��9qIJ^$I�{�w�Xh�t��X]�� �{ͱWs&�[]���/_[x�e��[��V$�t�f+����;e�0�m�}�t��s��
wi{a��v~Y���-��[}��ul��)�]gՠ��s�D�M�-\M�ό�k_��>��"%���5�ۨ�!�f��mm���XZ>�w�����D<�G7�~��Ff�fץ���s���o��Sd���B:������d��jJ�

�h	�
������
l�s�n��q�U��i�.��#����T7�1W�Ř�O��}HsZ�'5oK*����e�˸�R�9kq��|mWT��&ZbL��gU�+}|8��m������F�U�J(W��u��X�3S�
pT�Y"���ԏ����̅�u8G���V�r�b��Τ��ُI1�ۊpA�
Tz����"��S�,-p�s�G.�2��4��wJ�Y����b_��i�Eٗ|���2�5gqt81)��x��mdݵt<�
�����OŁ�O���n�9�
�=�tT at U�s�䄓��CA>β4�X�bw)u�����p�����.h�j��ڗ����{�����{c��b��\��]�*+������]١�4ڲL1i<xm�����!MX��7�������s��a��Ζ�/]4�{G'7��E
�X�գEĜw�����n:
zk�jh>��2�O����۳a7�����Ӷ��C��\�����
�a�^��+��
�MdDR=��(ЗD�FХu}������
w~K2��8�я�e���u�4 [...]
v^�4��,��`�rHWLBJ���{
.쨙��.�3�?�p�(��gxw�]�H�%]V���Ve'������}ω
��eT2S��y`�/�?����.�1�m��7��tEͷm2bO���ǖ�_�翕Cm�T����s��_+��K�}�qH�g����^�>��V�g��h��0��.��hU�v|�RVKA1_�D��T؋��jI
�r��Ё���u���]���֦(��.�s���Ei}6��D������d�%rLD�iP�0p�(
!
�*�|���%�|d�T� Sf��P�g���rV�������w���:���D3�U�D+$�����b
4���cϜ��ގS��	iK5�
�4���j,�E���L�4�/�v�~�
췊"~5��ah�Y,�E{YxQ����+����r��<P���	r���(��NG
�8J
<����*�T���1�n �U��
����6�^1n#��C�� �q�"�Q�o+֩���T�0c�(d$��+,��Xj���W�B;�/l�ix�����z��KUl��ίT��tE����K���`�r�ןޛ�*�^��-��7�����;��'����|Ig [...]
T)� ���OzZ�9J[ɼ���\��c�z'-WЬ�Z7��:(_*��
�&��P�N�wP]�Ii��_? �m��x�c�o&�<ϛ'
3�\	J�
8 &;zLɑdh�
w���g�h�YN�c��`��ùS� Z�^�}��D�`K��^�œ�m0ܦ��C2c
ݚb��exI-��u�9��~%�Hב��������o�r�H����
��5r�J_Ϣx��m�;|��|�:&)���:�����Qw��(�����Q��!E�zD~���[jX#p� qY�C�Гa�
��=6�\|掝���뚷�累�,j����Ι��_g��;�L��W��5Y�E���3�*��y�qd��VC-��P�/זu}�-#�6eqP�q�Jg�
�U�LH��Z5a12������0�h��V,y����Y��Q,��
�/�m(���ƬI�`����t�I+�bY��?=�R�ZB
��LK�;�B?i�VKA�MJ?�d�`6�;##,�|[
S��e �Z�
�X��u�
I��	�I��K
-e�6�|ݸqx�y��h{!�|���1��7j��'8~���]0�A=YE����`���m��
-�"��lo7��� *� 
-endstream
-endobj
-3527 0 obj <<
-/Type /FontDescriptor
-/FontName /QSNXBJ+NimbusMonL-Bold
-/Flags 4
-/FontBBox [-43 -278 681 871]
-/Ascent 624
-/CapHeight 552
-/Descent -126
-/ItalicAngle 0
-/StemV 101
-/XHeight 439
-/CharSet (/a/bracketleft/bracketright/d/e/l/r/t)
-/FontFile 3526 0 R
->> endobj
-3528 0 obj <<
-/Length1 1612
-/Length2 16995
-/Length3 0
-/Length 17832     
-/Filter /FlateDecode
->>
-stream
-xڬ�c�f[�%�v%*�Ҷ�Ҷm|i�f�m�v�m۶�W���=���������+"֌1c��7�9EZ~#����#-#
@�����A��Z�Vh��kd�#%��;��X
�;� �@#����`���#�غٛ��:(�T)��i���O���z��t03���}qZ��Z�
�B�_oT��@���% (+�..#
-��Q������ 9'K3C���!��H	0��X��`hcmd�Oit��
 � [����m at WC��?.�-�������;��`b�o����6 3kCK'�����K����o��_�_09GC{3[G�߬rB"����T���f� 㿑F6�N����/�_���������O. �����R��o�`��f��pr0�6�O4 {�����%���/�_���u����mm-���m�o���`�� �4��cd�����on3k8�E������v#'���s��� �f��/	}#kK7���^���oJ ����t�}"�7H��"���������o����y���"N��2�V�?.��� �玱Է���[�Y��6��@U�����w���
~k���0�1����A��h$g�hh
-0ַ�۩���F@{K3k�_E�m&�������L�
-��i=����F���_���N/#�&+-C�_�����j��f����(E���-���qx��=��L�� ��	9�����a�ϵ�����+@�o�
���?��\i�akC�fE�Q����x�/�?nC'{����{���?��:�
-4�[Y�1�h����X��=8.����>d[\�T��[e����Y��^
D�0����pj��/Au0܍aIޕ����"���C� kg�>��)��z��q5/���Ơr�3.��S��?��ls�D�K��F�h��m�\����{M��Y���#y����@�
d�>.uV4,�O}L���	�nz���������.;?��+���Z"��
	���= �C���̱HSg�}��
K�1�F
-s}	E)'{n& �W�
��������h�[�40�&�l�Q<�%���,{֍�݋��v����nڈ�
�Ν�"-�|�WA�a\
D�|a
�J��o��ט��@��
E��%㢵�[�]Y1���1�x��R4���@OOV;_v-x# }�~p	�F| �
dzC05%�"%��O{�OO��.�@@
�$%��,�i���K�
� �j���.f1��>�w�&.�R�
��R�yK�z���On �I"D�{5�ѯ
R�
щ ��y����u~=����1�e�(��~�3�ޢa�}�d�
�ܾ�?�ހ��O����kh����������T0 �F,�zRx�Zʏt��E��4�_J� ��M����q)Lq�+P��	�y�e2�}d
���
��Dq�{��+y���m�k�e���gk�J�������
���w�������]���r[���n*d)Vū-��w:�����Vh
51Geheg|��.�J�o�W�܁�j���Д7�#�~�K��Ҿ2�e?:
?��v
��k�����
�t�"�zoRSbR�����,�g��d��
-� �%ڃ�,��J��ꦤN��
w,���Mݒ�X�J��F!
����6� Wzv�#r��m������n��7&�޴KIM��s�Ӕ�'1�k� d/����&�Q4݅�Ǥ*�`W�Q4;�I��-�٭0��"&e�����C���:#!���ǾPnl�Q.ܶS�1�����@Eլ]^� :�����S\�h��%�+���;?�',Zš�0'���`gk��
?�����P��_�p�L���D��)o
�D��3�E/�0;HE]z�:�M~iFQ���.�r��6��ӂ��W���Y�>�ȳ��
a��� ��/2�z^����5�3�NՑC���]�
އ�R�2�
-�I�`m�Ӳ��8�h@��A���f*�$cag\gV��5<u�S-�on���(@���^�y.X�3�
�M@�$c�4�����<DK�̛Vl�J_O�XSҨJ��! {��Uhs, )�Ra�D��d�I�g ����q��ȠW���p���ǀH0�I���Qf>�Ӗ�HOk�W��� i��[!n4�0�
2�\�;�i��%pv��I�8@|��4
���:o

��A�*G�=�ï�=f!�jƧ^q�KTU ��8BE1�+�b�c��eE$؝�=�n��ͭQ���>r��5j;��T��Œ��7�϶�.O�C
M"
�N����� G��r��x�ޠ��뜝��D���o��Q�6��
�
�#�K�s�nF?D2V#�a5t.qT
�!54�/�HM^f�6 �K4����"�܉��ّ��x���Z�&�L kp���80Y�%������ފ�7�@��c�7����a�dF
����UV�P]�t�����Yo���$+շ���J�-�UI�����@��1���@�:�d�c(R=6M�ӑ}���%�i{�/�HWJ�_�#�w�{��J�rn��� �̒�̯s*z�ѷ�J10���D������<x�&�M&
�e�h�tR.�A�M���e)Yby�]C�A�DI�,����K�(�C��eh��
��&.����]�O:� �n
�����R��4Q$���+��
���
�b��r��e
-��5�-Ͳ"��W
�J��5f8���;]{M�M��e�RBrX����;��
�5��Ӟ�?��Z_!�O�k�le1;z^	�چH�@7r�"~i��;���������{��\"�L�	7#��-tm�}	�l�E�H�X�΂(/�L�ݚn��J�-9��B��v��e
-�����5�J�%f��:*z�����<�oj�S�h���x.����������� ��`
o��4u����3
\Ay[��PT����n#�&�H�
\�ڥ7�̔�J�g��Oo�����o}�v;���h,P��z^�q�o�m��I ��.��
-�
�
-����"<aK����
_J�:�
W�}��tO�==VD����HE$�u�1ߔsz���l�ׇ�C�V�H�
z43
-]-˓W|jR'81�ťW
-6�� D�T�ꝋC�gJ�D2y$�
-w��'\@��G�Wg���o:X-�fV�p���vO���E��ԙI�u�
��Ɨ�15���<hٗt��������L�L���ghSҴ
L�W�
�=�r��3�.�变zK��h�:K�mG
-;���"]��H�
-�p	H\��
M��]���|�T�&�۔�
��Y�b�ӣ��b�����\���T턇�=�*���F��"ӟ��>�
���j
�����&��/n��#��=?q��
�$�!������F݂ �E���XW?�i̵�{��H��'70��+�'^�a���d�bk�Z�� hO뵹��
����\�?��mYM$�9>hi�V�L�U���?�I����R
}� ��
U׸�<��e^��HR��Jf at Io���
�K��ѿ]�	�
*T���4��'�A�7߃�<����;�SRR�5�β,���\�.K�1�VQ6_J �;�0*v=�7$%P;�*Ӛ?��'$;�(P� �U\�O4�Z��jd[�<aE�~+퓖-z��*e=���q�r�.l� D�}%{��(_�Jl�o�؇�e�j�$of�*�
]�����xP1���
b]x�#�WȂ'*p*�&�(�����K��`85$��(9��6P��Y��Ek�PG�;E��Cv���>�dd<�׻,m~yc#/�c3ߏ@Ԟ�&��Ӥk]�P����TX;ώ�ب�-F�mI�
-��m�R�@
A
0�}Ť�e:@r�K�g��Rs��I�э�iţ�
����c�\�o��q�x������1
A���0�W6�;6��!���G�Z(��nc�+�:�j��Xɔ�Ș
u�rБ9u)��Kb�&��{�Ч/�Mk?�|�֜F�"�y�eX��R�>��
-S�FIyC�-�>h��<[u�q2�hOUD��f�>��4t�R�?j:���sw��%G�J�
�ɘorH��[[����0��+A�-��y�@�o��~��S�)W��L
���p2�m:O�V at oVk�!}}��c���5��>R+��|k�Lu)
�1�&i��f��Gcے4��(�y�
%
-qv���C��Tj�F��%��
|��WɈ�<ܯ(��ɫU�<.�̩�������},�˯�i��.$^�Zy�J�

-����
�@*�8�6y
�}�De����ȸó�TQ
���
.�K���ť��&N��O������҆��O�
ӣ���@ڝ���<)(|x"^�TJ�'v�S3�UIZ%F6&�r�� �ge'�b�Ԁ��kB<*�����{v���{�7ܼ1�����Sn�P�`#�"^��
����PB����֐�ܟPW|�օ�*
տQHk�p������D
Te[�* n��֣~����RbY�I:�Q���
'�@�/"�%GP�0�p��vo0C�II(^�H!�sA��U�sUH�ۄ �^��
�e��6���ܤ�]�
9�	U�9�%rԑ&�",�7�j?�
-qN��V
߂���i�,+Q�ܒ<��
d�p�U��pꀌ������z�4��n
l������Ao+_3}��k��@�Q��b��d���q�n�(˓WΝ�
�����?z���hq�k"$�8�J����
O��0�ͧ��s
Z�nI�M[�?��p,Ѯ�>8s��=ҼiW�봍ڻŶ�ϛ����H(H���X��4B?1x3S�'�H�y;P���[�;��"�+Qz
�kc-(����A7����ȺϨ�5ޫ�:^��b�]FX6�%�1Ί����
T�I��h]z�Oz��;���y< 
-qBX.�5�JM�e��������&��e��_
Q�
��A����7;�a6�׃R���A��=]b4�+c��G��^,L1j�[�iq�'�*�ﺺ^���xVp�B~:�s`����l�4K�]� 
��t������[�&��%�7x
���h���?;��P/���&z��U%�saI`+-148���IQ�l���@��͘�NbR��5���"9	X�S���a��s�&d�^CӪ���fj�H�P58kqy]�E}sc�LM(K2<*��J0�����m:ؑ����JZ	]�����m�ȥ�{�NC�t��
���o��W	�KU�V
��0lۻ�5�SfRrK[hC��d��J���O|E�"e
�C[�(+�+#��S����%�� �' �y�:%�v�x}�.J"u��
f��A�C�C��2I�d4���8��;Y����0�:B>����?dQz)�	Q��ƒ4�p����w�����[�_1�H=���� [...]
5v�K�cJx��\dYQJf�^� ���9~�
5�*WX
�K����������s��9Hmh�+��_,��gs<?�k�
H�f�[�s�'��#z�,���ыk�]H�"ˤ�"!���f�h�~���r�n
�J
h�L�`���7T6ojIA���X��
5�j�i���F�ȟ×�S�a.�=V�q�V�5g[c�5����4f1R���ezw�G��%t;ˆ���� u6E�ۤVT�b�5�萎�bf�����1�zV6�N�7?�m൒�Xl�X�%��>�ݶ
�[��($4#�nk����|�V�}��+�E����4���D�K���O��w6��r��F�r7/3Y�eUC��)A�Z�
�#�OP9�(7�YcE
�x��j�$�����)��Kk�xر��
B;M
 �*����������o�������\ �
P�?;I������e��1,�L�2W)�x�-�D�xx#_�!�v%bU9[V}���I���:�pcBF��R�1��0o���%�R��H�a$v��$���P
�ـ�_�8YQK�1_�+�LAy�I��6�ї	�m�`0�j�.�pZ߱�5���5V�.�bb��2�i��G���� ��*T�K����h��K!?��e�Y�W	�bn���mQZ��;�
-�zx/l���<��3v�
e��d�?]lG��x��=�<�������U!%�
^��g��^�����q�)�@�^c}�������E���}3s�
C�
�����|d�wb�J�
-B�\3R�y�p
�m��X���+�U�]�V�{ݯ�z+�I��]ݛ>����F��ϖ���]�W�jX��
���S�,.���:0m&��J��,k���
*�ь��ҩCC}NB�Ah3��`��pj��O�!��1[[��}�/���^��Q5�i5��}P7{&����w
�)�}��%[���<\ ��h�#�(�����f�B,`l�o�� T{*��ت�Kﭟڗ��i9YW�U�k$���@~
�:\X
U�*Q�Ќ����QX�ר��;���Gvy�;�

e�0�vё�_���۔��dL9z�a��.���V�1����Go��]�x�$�,�,�#��Η�Q���xbLkA��=]�l9s?�c
7�MC�R�F�x�$����&#
-�Ji���5Wn0��)GXY,���^�i�
-f'_QK8*�E�8�" �(K%�0��4��g�dMo��u?=��P�C��C���W�)�=���Yb������|�9?�]����O�{ ��OV�;�+m�H������'B�P��x�J
(�����R��8TL�8��"�J��C
�P��N*�E`2��.d�Z"U�b -��z_�q���&�!��C���,�yp�l�82��/��$��EL��:eG�>S7�!c=��kG��A?�M�����p��ݳ2q�^)
3���{gc\�?~�������{�226V�`�#`P+�tL��~.W����čzDz�
�
j���!��3V��$Nj4���j��ѳ� J+�2Q&d$W�
��
^Zi_�vv�J�U������.�d݇o8�	�l�̟
R�1��
-�
����J���@�e,�HЩaϺ��:f
��~=<d��&���fߩϜy~���.Y$�#2�h���_�����3H,�[��)b���y	�2�n�����0��ӡ�I�ɐ�_��M�(�'����QQ6,� @P]}	����n���=�h�jB�5	��m��|��B]moƓ�/Lor�l *Bp+u~�"��\6�{d�z�
\IZI�.ш��.��t��T�j�]��x���^�eqØ�0Y�LˏLi��N�*�M�K�
��Q~R���neʰ͂�$H7
�
-ٷ�x�I¡���&��pr9%�`T�h[O-J#Ǜ?��/�~����
����_�u':|�l)hHˤ�`���zj%d�u��c���'��
<1�ę�Z����R�q׷qL��
K3+%?p�mv��>���IU�u��[
��ЛI}��jä�	�G������8f�����^7���t�y����Z�tS��;X��ѥC/i�C�������
�P%��ۦ4����,a�3�̪2P$3���:(b�N��n�br+��Qh�� J'�x����5o
�'��q��Jg`�M0�]pv}þv���(i��қK_��=
��q��:p��Ot�q�hR;��2�ep�M-���
M�`X?�"r��Ϯ��� &�P#:s�=�
-o��nS����:�~��������
�,�2��E� 1�����/VRlo�-�I�M!X�do5�:B�
� 9i��"(����'��D��(�
�1�p&Am|�0g�h����>���x5����
B3
��A�d[��W㤣Uq�L�q��Z�v"�K�-/�$u�eߊ�����s;�
8�
-B��屧(�Blvy��b]�ch���x���"K,Op,�q�<�T�MH|�O!��!+��O
�v�ioL�Z#�M�H7�
3�w��Xkl+F��Az‘=��ʳk>���OD�s���
�ЕRh���Wٞ���~���H�
��C9s�/�&��+��=���膇2�ɲ�aB-lÞu�-�U�6	9���.)@�3;*e���g�[�W��K��mQW��`�
1
���7��+&����}
��'���6��>
��o�+L�k�V�<����o� �z at d�>���(��*�C��y-�m{�}�YǨ{0p,� �'<¼�MW��O�v��
I���/)#%)����$��2�+�`�Y�{��*^�tCF��i� �5X����H���a���
�_�Ѭ]KDp
-<�b�M�9�
zb�N�P���L�!TH�M�Z4�(I�1��R�80���7n=�
Gc�g���]��W
�-��=7��y]��?��S
=��vF��"umJ��)��jDG*��VoY�K5��
��6�յ���U����/��S�L��Yj�@�b��a2��
��
-�kr?��cV
�u�Y�iL���>�����
��{�q�v�|l�M얓PS����,���7�2	wk#�̡ޑ�E���9�VT�8�/Q
�����i����-��
���Wu|��7_q8�9$����ʱ �X���F�v����W7���c�SJ_��>V���SreO	T��u��ı����3���;u���m�݃��!�nr�|���0}�>�A h
�*+���0_���:�ERI�N���O��_��?�IկC#Ş�<�Z �,��mC�_L�2L~]�	?4�)B٘L�������CK5�Xܪ����5�g�c#nV�(~�]cu���Z�v
�D(@��;
Ob�q%X�@O� r�qd�$�
$Rb���
�G�t��I}�? ��C��@,ig
QAu�T�3
�'�b4��׫zS �o&1�hz��"����n��ﭰg
�Χ�=�|���X���v�z1�5�	ĥ���~ ��;�vWsx����t
�n���׋1�[h��	������d�u=AY;;�� �[Y{.I[������|E6���t*�x�i)��Ǝ�^K��g�t���MH�Gkv�=d�m%=����$
jH�W,[�����
r�{s�`�;�
�if (�{7�h�Dt�i&��O�I��q-�U
QL���.�Ht��y^��#%%��'�pJ�8oj�f������[/[�^'���
�����.R��@���`���A/�/�'��xg��i
�NAz44�"|%�tN]/���Sᣑb�b�Sѱ��ѦɄ�l�h
^]��m����#���5��n�M)u?�ί}0�FW�Tu+[A���]t�R��V�
��A�{��*��@��Ã�69,�����͗}h��=��"i�RLNYlwB~������>��^�?x+��'�\��G

E�%�0�h�lB���:�<^e}���
_x-�,蕖9�����n��&�C��Nۗ]�5��vj�S��Q>�k�a��\H=�b���8Eb����4��I'
>{C�aH=A���[�=��D�3���I�ii}�Ye̩��b�lG�	�b�ho�����r���;��K<f/�ݩ���t���?��6Ml��M�Z�z��6`�^?�H�}4�rP/ ���-

�O��������-�
�'A���&�}�qC�j����P&��
^�Zj�,y��6��deHAZ�cnf�N�kե�2&�
a
��L�<ش�P)]@T]�w�W�iE��jI"9 hA�Ƞ|.����x��+��2_j����p���\q���M��"�$d��P`e�i�q��n��$�}�L�V��L!J���M8�'*��)�c2�Im�n����3��/R��߾K��S{�u��J.b�=����2sih��	`�
ɬ��x{B7���L���l��5p%@2����q=X��5q����)��GϗW>�eV�Q�~3x�B
�,%76�xW
�AkҰ��p�c�h[�6��~$�d�
�
]�"����p��v%����Pߙ��AJ���A�л�Q��}���C�lJ�Ǎ�38&9�#�l~�����|F�(�>oAj�4h�"�>���H��-+.]ז��
'G��e
U8j�n+��GjB�P�?�a��&l!�fFj B+r(}����ڤ�ܯ�A_s}�/�*����)��:����,*��������[kwԬ�x6. ����W,
�D���6�ǫBA�aQ�D0X��,��t� �?�T�0��C<v=[]!�b�!N�v�\���M�Tl0��8X]g�y���H��e���*���Ԏ܁�������
�W�E"���cf'��69%䷮?Y�蜷�?`/�C2�e�}H�lR%��p	
N�Ulq	J�
-[jxD䬫��7/s
"���}�S�>���/����}C`�NSX4~���MPl>�s�䯾mcR�3D��u�]��*W�%^F{9����|K�H��U�
-�f��� w����A]�b\�y�F�l~����^
��Ԟ6+,�bA�D�_�[d
���Lm�S��C���C]+U���Ͼ<w/2����5 at AA �Z�B<U���M�S>ҟ��V����ܑ�=�]��
�ĭ���ϕ��x[S��
D
��qx}�I�"�f+��FT�@S*|%_�۷E�w��ٴ��Dz�:K��Ao#qhns�<
>�ft0_����
r0ً=�OPx���`��!��AH��o�e/}��4�F�>0ddN|TR��Q�̲�
{����z��OE	�����*�b�ֲ���&�T�ȹ�X�n�i�S6.Ж��cd�M�
Z'¿�0�I�i��,ž��k���Nf��<��
+�������\m�4�
���5�=��i�\ٙ�<®#	��NDe�U8%�
4��������-}�$��n1ڽ
�ES����B���}
﹄�Rh�dH\xG���D�&~�N!�cq��%I��@��
Զ#	y *�c
F��
zI�d�
<��G6n�Z�0���j���%g��$�Y��{�D����4��=>N�=�8m�W0A�t����K1���;�o2EB'/)4�o�y	�6�m�`�GO7��5R�iL��j�
D��}'�
���aXG��Im)D>�]�g��L�J
�\�
@�4��}/�r�&?��XTqR`[�(h4f�*��HsW'u7F�����F�~��V��*�mA�=��cz@�7
���5��<*r��	Pk)�x6,e����nv��Z��$	���+�%y!=:��� +^�8�G�����i������5�'L���d�qT��Cfe���"�_s~�q��}k�}���pѬ��#��s��@Ƕ醇�AP��y�F�SZ��#&sJi�.�Ng7�pCp
-�|�ӎ �}M6EV�_T)���6�T>�d��)�3��"�;[CF̥��7���1p�|�AA��J���!H
2��1s%}���
�h���3i�
��C�Z�
|4��8S���ޞ�����b������+s����1R���6O#>�щ�����=�
-m])Ƿ߃�
-3�,}�
�9��N4.0[�\�.}��b���G�au^�� :H9���&�#ݥ

-�F�&w��G"����H�;��{��,#�@L���O�X-����fl�IV|�\n�
��8�ZΔ�-9o���6��XBԑ`��X�ޠ/;���)�>��!�8L-���2�D��{�/2TNg�K�$$}�/$��	df���$��r�錖��^�]I �����2��4��?d\�KQ�_/-���u��>��V�
-�A���% ��7�.�i���@+S@��^��rD�9!��
�f�ȹ3墛��u��$��v9dI��ܧ��3q
����rX�z�Q<7E�8�]��pRcYm�,��4�Ŭ߿!7�v�_ً��+7�O�18T�<>qٓk~-ot\OR
=e��ۇvW��!)8H����cϴ�*�3
���N�qxO�/)�P�n�1��aJ��^��Gy2�����-���ڦ~CZ��w
-Fu!eX�'a��!����0*
�������Z�K�wuׄ{j�얕�]g�ڦ��ҍe&���c��-T���mL
�>��d� �n����
�>�`O�
A�V橃\*ҷ|K���-�FI[a���n��v����W����E�y��(
5��O�/f)�s�Np�U��'�3�S���� �@�4{(��
皉E�7���>������Ma��&�(^C�:*g�E��y����D�T"������Öm��fu�h�M@��5��,��
��酵+�:#_�ۮE�ҼBF�Q�;�NIj8+���82�-����:!B�&�&��D
���;3�{b�
=�
-����;R�;��]�hW��\�~���j���Jo��~��@]Rn��x��
,P>A��b�l�g��6�[��z�G�`����ʛf�+�G�7Z�������u�2H�������O�^/R at HiK�S�Rp���i\Nk�
d�ø���>�\�3�򴗩d`I�W#
Ur���&려��HKSfMj�
�U�斏I����O�OP�3tr"S�
r����h6u�ە-������R{P�l&I��.��sƀ1b=�O�Ջ���d��#	X*���������2\� Ƿ�F�V{���[~K��E4��/ъѐo�4��
��bQa�ŧ*��7�H�~�
�y%j8A�X��>���k

����M<3D+�;�*x[OM�]�.�N7�Ҟ����|�Qg�
-#=e��;Ik����k����� ���4�MqUFVe�+
f
ag�/l��_��(�tr??�<&ܓ {Evgu{��߰	�..��>g6�	�)�������<${��7Ӱ�z�]"�����}zp�;Q�J0�)��Kn�n걠
��V?��-ɣ�4�2Z��DA�0����X��R4��	��r˭B@�-��楠5ʒ���A�ST�t��ց�;����qT�AY3��E�
����",
�����
bY��I�!���[}N~	�t����C���%U(ŵ+�����b��b`:%���O\/��^P^L�}T��Xo�gY����`�	������u��!�*%��v�qo%�	�v�n}��5�� N�����E�
Á�2����栅���5(�70|������v���L���X�ɐ�ew
"ٕF=rH
f�/ 9Lm�� w��������l���½?
bH�mm-(�#�JI{C�ۼ��\uy'��]��P����"�1�ں��}-�i��X� ?�+����b
R�||��Uݜ����-��;��V��2�M\�0�4�#��T�O��0�\_G}�����n���%��Ӡ�3m��@�!�2�,�l��R�$�1��]��V���l�# ���@�F|��L�E}�(S
-�z�i��S�&mB�Lp��9��9�l\s�Y�e��;���t/���WfY
S#�Q����y�̥A
-��
>A�­��߼扅������]�nA�ޫ��s�����v�=�ҵI`�ư�$�N��Θ��67ƕ�^�����KQo)��	���o����
"x��;��O�,�$�e��3�J��"1��;���	�؅���܅
-o4�({cu=�'��U�PP3���\V6�.�,[�[Q�?ݗ��M2��M0%�-�M��e��@:{,:����3M���~y�Lj�IwWt~҇9V+�
����W6��	me*��	�-���ʛW"H&�v#�h�*�:��&Y��!!�H^P�(���\[�TD	qw�BQ́�xc�*r�V�p�0��I��C����1,¤3��w�p��]��Sd0I�0�=�P{\������$�}�h��R�_)$q�!cd��nh�ڮ�qP
�"������8Z\�hVG��,{�i2EηN:eqw�)4�y�i��?��
��^�Ӆ�v��G>k���w&��j.�[���Mm,�}�W�Y�����z����v�`��$AV/ŧ��)]
o֎{H�J�	.�궊`��E�V����F"��7����}��֛U����X
0�SloXy�)���W���/�y�v��/y����PkȬ
z_9��o̱s��t��ofyb
-?�6����r�Z^�ѵ)Ӫ:Cep�u���c<�t�75������i�G�H��{���܂��7�0�
�	;��g���̣��'��&��8��Đ;�[n��1�:���Q
山�Q��6G�M!6���@Ji����d�٢Mi(э'���r����m?ȔIO��C�9��RW����U�������V�̵���̜��“�y��D����e
V���esV���v
$
�س �3~�U�
t�:�P��V.P��I�
m
1��	t�s��"���K�;|[V��X�K16�o����u0��{wR/Η��j����> r��󶜙��k�F����Q�7
��έY��>��L����b^b���QHW�)�p��&Ҟy��� ;�%�;�P`C��s�F����
����
hڢ��].����nG���+�!�Ғ‰EZ���ɩ�9x%k��U�"�h.K���H;'�`8FW�&��Z�C��E
�lԥK�9|�[&��u3'�ӯ�?��o��Bh؊f(�i�|� [...]
�Q'~TP[����_��oĶc\�ƅ��f�>��,���v}��J󏤎Jy����ke�󢆊Z����["��!�'���/n�?3�9@�צ��2?*r&k<���
6�4��]
�lo`��.�9l�T �����pD�
�טY�dd��*�y�G����.$
�Bg3*�d�V�_3�!2}^�T/gx_����o�3�8:i�
�ص�BB9�6���?�B~U�$�Ѯ��L�3
���4P�u�?3=r!�W���!ON��U|^W�RS��P��؁�
-T٬K]j�
�gwrR���ƛ����^19����G���
�uk�
��}N�HG�M
���
-x봡�Ɵ��o��B�E4�!LڌtQ�|�z�����<Ҏ99��
-��D*n�SZM�^��
 ���|::��/���K���?
-��E�W��oJᒝ!�K�aK��;~z����#+�A�v��r�C��X$�/|�ǖ
f��N($�R�/id��R
ͥ�;����:0/�.x�Q��M} �� �,Zq/�m�2���l��$����R��0
��i�נ|�
��2��J#5*�RI�yc�d����i!��q��c�{���'��Ć�2��E8(�w�І�X����҈�QS���
���p�ހ�9;�o���N�rv��=���i

-�R��vCK&
�J#U�t�ڒitT<&i�,�隰a�'����O
-�
���'�� ���fz1��
��
Zn
:b�������W�⒀4�Z�u��
�)W��
J��{�kf6��I���/
zdr����Q:ٵD�ڲ�]ev�(�
���T����?ӇӺ�O�6����W����I��N�L�Q�v;�M��j�I�aӡ2��p at 9�4��t8��(���^R�yfĩ���ZQ
�G��
-�F:�u=c󰪏��Ei�'
�@�P{
~��N|j��|9�d>�&F
�79��h/�ȵ�OOR�&�%�*e���C�=T�����Y����+�Ӝ��P�c���N�*�_�i^�Ó��@!m��CJ@�tfߟH^t���j����J/d�����h|M�K$��+�J���W�%!���f4�,\��1
&��}p&W��e��K�#nYa��JR5�B�����W�6��>����|��)��y
���/X���pm��δt[�[����l���}NM���_�T`s۾���\��
/�g[���ֶ��{��UB��܍&��l���kB[�s�U]wL̂�W7M�z�J�O4{��t38��G& ?.��	�.�nI��Q�^x<�
-"��P�]#!�D��@�_�v�c{�S�
-�!}{j���Xz�
���~�l���r�n�&~�d��*���r�<ga!��|	��4l�*�Bpb{z�`˩=S1�
�����
v��5�W>��Q���CZ^����TP���.m����O7��
9�Y$pA�v;��9U�i�;���j16��)4�:A��Q"�x#w/�Q �j>���<��3*�N���{�����'����I�c/o����A�.G���
���(��~��+�M[H�K��y��
�G)�	jq�;�
z
tk2}�=��������U(
��+|�����!�k��� *�#CnT�7�_R�h�OXy=���X
-�(	��*�?0ëN��E_B�M<E
�Go˃��
�*��z���Z�r0�٦��0��lz��c
2g��]��w2YU�_�32���S���3�2ܺ_ nB��U3�p�]H�A���>�u���+~!Y ��N��>�8`��BR=XF�+�j.�º��i��h���}n�I��LIH��9��~�
-��4�Coz�Sdj�����(��g�|�,q�6ecu��D�3���ڌ�?T?5�V���s��m�pB��;F?(\��$d�DBJ*��r������r���֯һ�K"W���yku)�hY"۵�[�ҟ`?�{��<�0�G�Y�>��s���V�$sp��}|����Bbo�����V��_rg��x�7�,�ۦ2m�!F����k7�ʗ�DC�ޕ�̹�q�DZ���
�Br�]+��+Xrx���sׂ���*B��'5�r�欢�ϖ\!��.��?�QsG���������Y�=��tT!r���
-|�n��z��)
@��3^b�Y��)��P�S��g�aP5�^Co��n������5�����M��s�dȣB�q�泯#*ғ��/�:g(�WQJ	�t��������o�IOw�u�c��9*�J
"k*I�5L�G^H��YU(GX)+�U�k��w���6��hiaJ�vL��k�A�Φ,r���FxG��	�",'
�\m�^����e at U7Q�9��QmO�g��w&V��i����5�H���*���������h
��O�X���G"��z����_��X�fz�tY�זK��Rf�Z��1J0�㫼�B���ZX'���Q�����v�A����؞q�	9��d�m
x�9��Z2�`��f��9�p�6�@xr�n��?5+F$E
D5@�H����;O�����2P�H���e,�"S�o~,���@>��y���
�g�����J SML
@9���I��e�Gʩ5����"
Y,�RB���os�\W�@]�������ã)	w>��U,�O��
,Y
��Nx��Y0�{ⓈQX��U���_
m�Ų��u*��'DJ���CɝR>$"~cB��g�z�O�������^[9kb'ⱒ����,��I��0A��Et�s��&V3ȯ_\�x�M�_b��=b@�]R毽H�F���v�x9�	�y���dD�NM���uj�
�li�~��cW8ؗ�v��^,
��T�&��b�Ϳeʈ�oK�?�#
�q���Ľe�"z��~*K��]�j�Ы�Ph'ך"�I����'p$=t,e�D틺��	}���g�)����n�k�^̓��#��#;�7��x�<$�h3�\�����D��"Œ��$�(84I�M׷�MC��Ёe|{�6=lX�)J�p���6����.4뿝e�7+O�N�=� ��+���K���
��<����5����[������� ?^��a���WT��9
�k8Am�f��
��M�� ����_v�K�'�Y����r>�G��]
����WI���u�m;KPD�	�@s>mp
-endstream
-endobj
-3529 0 obj <<
-/Type /FontDescriptor
-/FontName /NQXOMN+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/g/greater/h/hyphen/i/j/k/l/less/m/n/numbersign/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3528 0 R
->> endobj
-3530 0 obj <<
-/Length1 1630
-/Length2 8179
-/Length3 0
-/Length 9013      
-/Filter /FlateDecode
->>
-stream
-xڭTeX��%����Ρ���AA``�!f IIQ���I������>�w������u��1s�Ϻ׺W��yh�t��VN�`'(
���%Ѐ8Z��ԝ�j@
�������30Ⱥ�-�'��
,0[��  �[XX� ����
-�����u
Y����e������	��@���`'gG0�H���p[0�� �jj+k(�5��`(�������
-���00
������ r�ZA~��x䒆, 0g0�~
;����`WG
��
�� 6�P��
�N ��f���G��ӟ��]�
=
�G2-'
r�8��Y����nk��y�N֏�VN ��-��
i
Q�
-����sY�V�����c�G2gWȟ2�`�Ϳ*`��m,\�
�0�#�#�����O���������O���� ����
��<�9A���6(:��eQ�Z;����[�9�s����ay,���	��	�[�sj8�S��o*s��D�H��?"��Oܿk�?.���>��Z���A���q�zd ���@
���q�p�~k\���+�����o��h������;�
�x
�4��Q 7�_fL�l���l��3�cׇZ�]
 P������7L������/
��{��r�)�SFA]Cل�߽�<�
7���
�wCu'�
~���8�x�@
^A�� @�����d�C���������������߿N�������~o�.�j��l�4��An�������M���g����`�ܴH4�.%=^M��7,�����i_�sq�^A����7)�V���o�B8�GD�<�m;��Ta]� r`���ϥ�c������"ȶ
�iV���c�}0���d"�e��:��cVt�B9������ş�=ϟ�����(�6���
�:{�1~�✩g�����r�Or��h4Q
b��m�����i
�
��]�cUT;��)�N§�8��q�t�7�t߻@���v$
���o�zॺ�D<������
-
,#]�\G_i�.m��
-�\"щ�J��UacsRHY
-O��I��DӴv[2���ǒ�;�?{%W��:–Lс�zo�����G������t	��
�S5���X'���wo����Oi�s����
�#F ^,���,�/�Ҽ��(���l�U�xrM>���~�8<�@0mxz�����kx�a`B
AS�~�b���E���>RcG�dݓ�%"�v���5��z�H̟M\l���ƫ��LƤԌ̒z�iou:(,�'
�TP��]r�kXQZ��8�ƀ�_��
-7�1�XO����vz�D�����Կo�Hm0�ih��ç- l9�ŏ5�q ,LҾ�l�uP[~.BN�k�噁�YΚ
K��9"0`��ڍ`����O�w 
�TG��-���N�ѻ,�Z_a��J�5�ƹ��8�/���k<t1h�b�Tָ������Yư��z�"���b|ʆ�K�aZ
-�ޭ�j�6H�<�@/�^�o����OL��Y�7�1�
-#
��Q�,���B
��+��6�}�N�Jrg�j|��b��p�V�6��JP%�]�3��cI���Xg��U�ї_ ,��HkMO{Tt6QE��K柱�O/��K�?�
��,���X�	�hM
��Y��(�m�M��u�
���4����
-Y�3k?�N�f�AR��'���p�l����b�YE[�]�#)i�>�t%$Dnva�#YQ)~��R�ݨ�\�����jkl_�����e��o
�|�w�LssEd�/HB
{T�7��%n򳶡c��*�R��F��
X�\yƣ����ٓ0~�):�
؈K���r��Y"�Z���u�Q N��s]s�4�U2�
�A��~�p�ժ'���q� ���7(�)����1i�ЇF�.F+�
}&l�q���{O�
�F"B���K��sn���fn�3]�!�#G��j)q��'��@
-L�����т�Bj��]�'n�%34�_
S=��F?6��[c���4L��\��)֋n�<� �Q]ZP"&�
�)�/7�v�
 ;N�����E2.��0�ٸ;+3�тȪڀ[?
�
غ�X��d���>C�	xK�1�8f����Km~y跿�WN)L䢏zݙg �%�]�����?���Y2c�nL,؅{�h��
����Su�O�"*� �yU��U#M ��4�}��Q�`J��H�\���8~�W� �E��
SgD��⃄�UT:���3�
[2�n/���
-H���MԹ3o��2��pB���Ũ���H��/t����g֑geծ�K"f��&�������
3��c��G�%i�����ޱ6�J'����th��{�{�Nfe��0�(�P����z�k=�uw&�7Q�0��Չ�T���>�G��#z�h�e�P�6^���b�J
�	����W#ShRB��E6� 0��o�.c�_�ݨVQ�W�\R�<����"�vr�Riv%s
-JiwC&5����wd��~,�ް������Έ��mQV��N{��i����f�@T�VT��!�\��/���JޘX����Di�n�C�.4;��3ԍ�`��,��St��>-W4p���
-_��Dt
4m��

�S�<�����M�T�,�;���g't�p�0�E�nj��H[�&�V �������h&���Js�N|�Z��b�۠����-{
-�d��J��g˥��܆57H���y
v7Q^LuW��_�R��tHV1o����'om����ʗ�z)V>1�Lb�W�FV(�� C���5e*��iL�� `��ӹt��{��H��{�畼sC1��f"\
�ѽ�w�ݻ�$T�؃�R5��	�ﺍ�.��%=Xa�Ph)7�\nen�@��k6]U�xD��uv��O�l����*/D�v�Dh��5��!��'���
��,C-7�����A^
���ن$pk��U:�$6��CB/�ƿ�
�_��f���}� r,�b%0�G!c2b�L
�wBD9\���!�����"o�)6����@o�XXb���C�Ap3��Q�
��l-z�{�
�ƍ�ucC&�I�J&���)̍U�p��7b�r7Z��(���TH�#)q��d�>Xt��Y0��ނ�<R'���a�W���;�ӂ��
Nn`z|��5�Û5r~b�ہ�M
��!�i��R9�
�l>�;n1
+��)��"�{�>V��誗�>��9��*u����7Z�Ɯ�&ꙋ��ģY��N澽`^�L:n�ɽ������JszV���D=ԋT1:�Z�o�	m��7h_�L�`������;p���tY
-3��I�:[k�|���R�0וl��������b��y��R(!Y����P+���zp_Ȍ�<�&xO�ڸ��').�_ �ӌH�% �U�FU����Կl�8�I���� /���(��^��
����^�~��GH�p�y6�:�0T���6���'��ņ��ŰS�U4�o��|$jNm���<�c;�[�	
)
���[�
�J���
��ai�%#ñ�Ȝ��X
&
c��K0���lH'�ψ��3�e��S‚pl��<�
�C�[
<��S_lH(~zع�=9o��uGl�E-s��j��L�<�~槎�j�k�Y�������O�����{$�ϳ�
=u$���.^,��8vj��+hE���z
�3
��o��$��	г�6�g^R�4b���|\�7{B>��
˔��Q|9�4�1�A��S��HY^󶛣�/�%���v�q�6o�NJ^p
-���~j��P2�&%>

������P�P��҂����SC�UN���Ţw7��B�y���*hDt�
-
,�Q�&��\ �V��4����IF?3�^�K�7���[����4=�^�TmQ�]���$�P��Q[|�ܫ�A�w�#*����P_5�?��V^�i.q�O�U3�V��S�+N�L�
-.��u�P݈u��B���W�,�'������gV)�>z���^�$��'��p�HΠ�
`6pN�N_�u�
-%~Փ>�%�O�AT����I/�L�ᤇ���V*�-�������S�ƾ
O�pÐ��K�ۧ~�k���~��
J��B32#��vLB����ˉ~>�<U�$�� ��hFC�ћ�ςEG������o�C�%-��t,$���UϕR:��]��R� ��G��ի�& l��6�<�X�f"p��/"��b4�WO
���[Ό
�7&d�.j���/��z��7� 5P
-�,~��}�g�J�;�7Aj��'
��tmʽ���:���h�O�j
0���e�LR�3�-��D��{Ӱ�)�+,��JzA$�
&����QҖyt9�^?����$m&`cg�q��z�$�O�O�E
-�
��Vvm��
���|���B'�/���E'*��%ʿR�i�aq���XdV��#zՠ0n�b7��1Y��R���l_bahf%�
����mџ��h�b��o��@�����9�KM�>΀9��\烅�<�A�7���NKp�Lqv8
���NKw����a��ή �܋�8Xz'l���j�'��f�Kt<�D�y
bJӏ�~�s�FN�L����-K%�'Lj�
-�-�6�(�s�C��2��˨g���|J}�փݖ�e9M`�w�r+/�!x�c�R��zT
�x#A���4=�i�
\�d�������\COcjZR��ޠ�o�c~��m�>���
�� ��B}
ݧż�� 	'*Kڱ8+$eM�tS���sHM�N2r�S�:٢ഞ�ho.
}bl���\�h��i�އ��Q��������ox$���/�tjH����i�(��n�TN�o�Q]ZΙ�s�#e���C��P�ϙ̶T��S�Xt7٨p�#��"D��I^�+\̨�i~�r��E`"��a?[$T	�)�h&�x'�Eб~�"߾��Z
vK��]�<%���IVN��ش� 9��_\��qȲ83�H�-�i�G%�U�u�e�kD�鼾�?
S�����̖�a/��e�b��i����Ɋ!��m��A
�ҭ`w��<㽽�bf*��Э�,��ł"k�Z�`�d��eM
-���Oy��Gjz]���),ۊ٘J����:z/�>OO]�ڋ�tSy��=
�K~�`Hx>�=E;0IuV
�
�W^���|�
-g���
-)ֽu+�ٯʼ�}��Ke�ײ�,�S?f�Գt�;1��4�"�ߝ�/&$��B�V�C�����ig�Ɗ��
/�3b�@{)ˉ�
���o����k����j�/���*��G
-�M�f��7/8�vQ���)��$�W�:�5�@�{���G
��a�7�1)�1U?Md,>}X�5IoPA}����u9����B{5�,�h��� �D�TC�k���s���1dW
ò������P��[��͖�5�q�YZ�L��@�C���&�Z�!��I��.1M�1�}۳�A�tl�kd
|4�+��Ƚ��;�
kq��
J†
t<�:� 7��b����󣱨A
�k�Dž��V�6�����d��eu�s�l�+���S��?��
�G|��9�V���.2*[
a�L�{�4F<��
6>*?^�c+�v���e6��6��
�d@!���W���
�ج,��B�3��:�lh�����C5W��@���k��
������%�ߦ��d���
�ek�ճ�3��qD�cdZ�R jςoD�
-S~��m�?�DqY�?F5�S.�%��R�X���}�{��D%)����@�,f|�
��Q�Ud���+K�
u��x��F���A�U>�����H��K2>���j�<o�Lۀ���
�EJ�z��s�F���!��w.<�蜻>�{�����'����=�[�+��v�o/
`�����k��D��g����.�r�\��A�J{�
9��x�=fA�=�M��_����vPs�&n6��f��=��A�_�V��tu*Xa1�4�s�^�GaG�w�i\j���*HKᩏ���}�p6��9
֊�no�R�n+j��gxo��.D
-v1EE��������67��3
��/6��Fi�vT
�|/������"qO��(Wv���
���~:��|/��$l����	#˅�u�Y$^g�r�
�դ�^Q��}��'�������]j���^���{�_���iD4m0��9�
Ţ�U�ȟ�P���~1�J�{�oە���|�ބ
�l���n��S���%�
-� Y��޺�t`�Y�q����������
-Z~���	0���ɘ�y.ه��J+�[.
���L���9���>o�	v�"���7�
:v�0�Б}CGi܅�ѭ:�h&�@tԛ�v-�i�1^������>�>M5�n�����1
-"2
���>q�r�;�
x3^��V)�u*-���V�a������!�-���ű�� s�\wv6�5�{���
�>!o���� ᴃ3�d�{w�!�ǻ,�
���<���k�u�z��w�ϔ�a�rQl� �z���7\
H�Y~<\��9�G��y82���j���#����W.�&�"���흖xc�lj��V"*�o}x���$�v܎=�b����W'A�7}�Boٍ�ɦI�"g�Q�=�,	" V�M�d�UA���&���dS1v=����-�E��
�x0��
�y���>M�����˹:�	?+N'�U��y�]�2�C?�
�Ƽ�G��
������Q�?�1dž��T�r�Έ'�s3&��-.&J��b:cb�o:�(�N�|s:7��<��q�
7iJtN��F�9"PPUn�n��ۏ�@m��a��:<�
--%2N��e�u�R2*��ݖ�`;�:�y�⺢��Ӓt��޲
ȃ/_�x:�`��ň�?�R��핕�&���D�\
���n�
|�_��A'�Yc�dީ�$�ի���KJ�0#aTu�No��ZP
Q�
ُ�I
�h�{�PeF�nOת�jEw\��n��N�
{��
-G
-�Rbk*�^>{�U  �6i�I���W��}���[��?���lA����+A�*�%L�
ږ�!�Z�����PIe��/Uݸ�t�a~tds���L?�/��kA#�zw^�b at f2�<��ˉ���m�y�!��C�Վċ���cZi�3��o�֩�܄~�
-ϷcQ:����y�������:aQ�z���P�
aP/S�
-
-a���ֵ-G���M��ԏ��8
a;2×\��}]�X�y��N
-���ڏ;Wφ#ځ�
-b
���-��#m
���S��~c;G�'q]����'c�	=�D��t	q��#���\�h�i������;%
-�F
�N��Z&�b��@�$�S�3
E�k���3���ó9���t�7I���cp�5�<�D�
l<:�?�
A�θ�b��ro�
F�1 �/�{<G��
����f'v
�a�g�2��O��S�,W	���C0[�ڠ�����֩y4�V[�Q��H���_Ec�
-��@��
�$S�x� �S�E&;A��,o�ڗ��5W(����ܹ)�j#����E����bßf�6�R�9n�ZE�,�8��K�Z�iڍ˯4��J_��>��yT��K+l��G�
�ۭg��b�\g��,�R���WPi��@�+�
�.�c�$}AF�&�ܬ�
�xh�A��|�.y�Li���=��*��Q ؞
-���g�B�P6��d�Qf~9*���7��O�{c0�C�5���|2:\Ҧ�1�F1kP��gkΩi
a�,�d�VL�'Wi`�r��#ד/uj9'A���hV����ҵ�O���.�ş���e�}fc�?���!�����F-�Up^���Ӕ�U��m�V�ISăڑ�i]
��[c,]�t��>*� o��<��0PW�g�
nl�ױp�����U��Γ��8l$,��
�<m�;���̉�'�e(+����9�c�����	��&��m�}|5��kI��sdQ�N�����ĜlS��!��ᵰT'}EG��
-c�*��8x�
O�L�n1���D9?�pB��P���4o�yR| n.����6lk����x?�0>zPR0�6�q��S��|eV��*u$"�2��1q������>�@�S��$��;�M��(���HE�T��9��}�/j}��%��G��ۡ1{>��7�S]�5-?;���hC�����T��^4wb���&M��O���xM�L��dc�&�����8ړ/L�*}���?B�+�ù���הCYţN�K�����m����w'�k��6$��j��8�<om
���%�8}Ӽ|;6F"ʼn��,
���=6e����"�
Դ��KjC���R�
�`�`v��3����ЋJ�|9�q`&r�n�/#��1�n
;�����<�I�}5[��
o��*۞�g5�����f 58C6��q*]�&��ǫ��ʤ-�����S賠�Η�H��N�-pAO�5�>��Iѻ��F���4�R_�b��L�c�Dh�8l\z��'����&��˳�T|���0�7���
%$ [...]
-��VG��ؙ�| ���
�F1y��}���%���!�ͨ��̆
�f���v����d������-a�Ԋ��-�4��_��_AŨ��2����UR�
#�
��_7wQU�1%p
�`��ʎ�3:��{l({q�#�!s�#�]�8�l "{� �
]���.G�� ��Eo�_I�t�m�&��9-�S�ף�z�ў`:0ܗA	�u[@_$k�09��PT X69�ҧku����<�G$.�S�
a�ȁ����Zޥ�g�u��1��-`������>�"��[
͘v2$V^�	��H�!D+u���>��4�r�O�O����g�)*��Y�b��흡�>���Zg���"J	z�gD�����eL���� ���j�& �B�.��KVm��a��
�~��oߣ��
��'��ҋm��#��N��'�����m'|3�t}gY1TC�a7D�XT`a0jb.��9+���|�RV��r���L6��&I)T�J��r�mV߰<d��[
·U>rP�7�Jq�*а�=�_�;>Z�O�:㋪���a�p ��/

>k
-endstream
-endobj
-3531 0 obj <<
-/Type /FontDescriptor
-/FontName /BFMNIZ+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/a/b/c/colon/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/plus/quoteright/r/s/t/u/underscore/v/w/x/y/z/zero)
-/FontFile 3530 0 R
->> endobj
-3532 0 obj <<
-/Length1 1626
-/Length2 16650
-/Length3 0
-/Length 17495     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctem�&
�N�۶m�;vvl۶m۶]1*���
-����ӧ�����}~�1�=y�y�{�1�&���J/l�`�p��330�+Xٙ���8�)8p���̬�������E��@+{1c ��X`F,0%fa!f���#'up�t���S��hR������b�����t���'�����up������vT ��� bs+[ �������$1���:�$�
�llK��jbkeJ,ge
-�wP�;8���@l�`of�Oi.
c	��8L���<L����
�vV..���\�-���{ t ��7�u5��_��ÿ 9:;������L���b�l�$��UIL��8����r�X�U;���4s0u��������[ٻ
�r� �ͬ\
m�=�������_0\]��-�
�3��������7����t�?�$�ߪ7vt�����ÿ��+�
�֜���oNS���V�p��̊���13ӿ�f����s8��AT��
�_�f����f s8F�ߔ�T�w,3�����@�
��-�����_9��.���}���%\mm�����w
��%clO�w����h\��?.�vV���N��Z�o�"�f�U'
4��a{���010�[h�"a�0S��Z����׿���f g[+{�_^��Rbzf&���S��2���� �� �f��_���QEX^YS����\�e��w�j�����R�
����0""
����
\��l���_@�
L�����
-���gyc�����ߺ���U�����I����7u0�glT���f'�	�Q��:;�%�_��o��q��� 
 S��5S���L`v�،��� 3�X�cy�ZIQ@�C�F�>w��{}(C�
�g����DZ
��� �-e�ߗ�z�u�����$�Ѡ
1�R3��fEnB��I��`FYŠ�
�`�����:�ԭ( �����4�)
������"����rdr|l��r��6/
����/��{
-��������Ս�D}��QGfS�!Ѭ�+K޼v��?�q��V��`�����N>U#H?F��LLٵ�l�Q�	�}dd� �9!�{%�z��sl+"|��	n�����R�����*�b =�
���Bփ-aҋ��=u�$��ď]�]�$�$��0x�#�}���q8�l�U�U�sG+�ҽ�3K����#W���Eu�;a2�^�%����D=�W�oƒ=Q�DR����C_�p�e
�	�=g����y����`QC��ŏ��
��0��tQ����SYP�d���&�OP倨�8M�m��N����l�$����:�=���z`EQ<��Qp��qN��0�)�D|�gS�ZCK-�����ʟ݋?��+wZX�mQt�!ȉ�uj���+����/D��Rc��ӟ�vŀ��8'��H+��"�m%�jpk���a��/��>�̛`��$a&��7��ZC��Ho�I=���i0x������r�m� ;d�?#��b���������ꓓP�g�)	0�_�(V2*ؔ}~mIj�i�?��^3e�U�����z�s�B���y����ʹ�o9����I3�;�;�f��f�rb��p�q�A�U�{�5
� M����72��~�-�s�<�r��ܞ��O �0����;9A�RU�����M�k�_GC8�X{%f���F�s|��L�_�@����J�荀[Ⱦ�s���
-�M|�����z�9��y
R
�6ZL�A��������Hy.�,C;|�W��
�8���Q_8��6.�*�/�IǨ���
$Q�~�9ѕ"f]�1
�S0�J#0����7��=�[X�OaӞ����֙lܹ9��N��-�ZVwOx��wŰ@*�K)>e�/�����N{9A~�^�O��D���}�N
�
��
gY��g�>+�) ������{��s���^¡�
nd�Gc1f�Q�F��j����b�K?���X-��0���|-�j�@Lz6mdC-c�Z
{B�㻼��k���)Aė
S����#��uikb]�6���m%�Z�@� ]=t�����D+_�W�ęf�5����ši1
9,c�1��fJ�
4A�HQu���Gh� �:#�
�e���!��GT ���Oh���n�,bO�v�vSo�H\­-<�b��	)��X
睳�T-i�������[(����W(`��캢A^���x�$U�7n9fL��}&��a
��
��K�.X;U�G9*
-���.���U<'��-/e/s�O��
���):�ڲl؊���"�~�ú�{��I��= ���X�u���H��q�
"r37f���q�L�������o9"�,%4��Sr�w
z�B !U�4�ӓ��G�2�3��31R]|�Uj�H���L� ���Tj�����@u�]������B��sK�Q$
�7��Y�V��k�6�a*e6���S�Vڎ�]O<����w��e2X"�"}A����G}i_m�@�Z
�#zB�޼�L�v�aZF�n��u���lO.��i˧l�����
2���-`WQ�/�"o��l�VPI�
�^��
ބ�_5�S����W'y�C����~��v]<V��9�H�z���Z��2%
��
Sf��_jHpd��'I=DÞCM��ahB���e��>C말
u�|�搒 ]MM�Űr�M,&q�� ���"��~$ke��4ѮRby���!&c
6�&���>p/��)JXƭ�����zz��w��ә�I�a`�mLu�yZZ���
6��
>w̞Zwx�����9~�TJG7���Q��vs%f�A��Xe�?�]�:�uk�q��3tC,�ý�~��C.�)�W�g���Ą�e�yٹ��}p���k����5�_�/B��1��6ɹ.�\K�wC�s��BF��
�s�d��@���L�ξ
O-X��4]�&�=���cgB�z�EL�]� ���I/�+�������y\#�s�&w�^'���$@H��-�}�H#�
ux�w�`�p��U)�M�6��d�W8�����d�y%��5�XC�~g�fi}ў�
k����dAJH�TJ��X��-;�NOQ�
��٨ꍚ��L�h��O��n��e'9ï�)NY�1��vK��E���LP-����iTL&\�_�"$R�uh6�a
t��
��CQ\aj+
cQ?�&X����S:0)Y��]ǐ��&��%��@�/$�����ڕ9��B
�@�/����խ�~3��;
-T�W
�9 at -�Y�
� COq�[/$aC��v���Y����q��C=�b��,A�n�
�W�mPbc<r!�p�3�n%�M��KK��hċ;
#ӕy��[H�IU��1�(�EA���e|1dg�
h�(t7K�w����B~�~% 
��c��$�{\�����t�X��c��V��k�W�*iճ��-�v$�׺l�K�c�
��u�q�ܡ��S
g��dz��[ST\���"����ߨfE��7KN�|
-5�'(�[
@��S�-��!�
�����T�|4$ZT
��p��Wښ1�x��aPI�܈��6a�U7��Uͭ���Lo�����+�?m�ś�,���]��&�߳N�
-��	�zu�NE3�N��=��l��q���š~�^wʠ�|��o�3c�L�쓐���wn
�����D?��]�$Bu��2�oD/#k�
v�
-
-VV7�?�b��R\� q�@���Z50�
!�^��mY\����jTHWU1� �,q��O𨪢~ڵ�u�$0C�S
��*�sڇ�_-�@�*���Y

��3�чPY4�z��y�&|�eM �ZT�5±��[�� uwE;B�tQ�ݬ��'�����&�����Շ�{�8�E�oN�j��k6r�o�g�%��

�
*&L?�06�$b`�Z-L�?�
�SaUܦ�b�
j��g^ӆ�	��˪Y�O"
�Ļ�����ҷ+������������غhɾ6�HϞ[x2���*�y]
�C1ElZX�MP:�f�e�
P���E���+
-&��I�;|�G��^[�\��dRej��B�Y�N���B�
-�Y��W|��Y �B�,�H��Ѝ�� t�R��f�m�"b��y��=�D*/g��P�v�絇�tD���
km�D�H����^�w9�F8���E�R�
!���S����o�4����
-���C�d	��d�w�sK��R��f�����c3���ƌ��/W��9S#�3�C(��\��7��.sx_��~W�x� Ώt���Z��	H�� o��=k�4.������s2@�G�b��T��ؕ��W���!�>�wr>R����85�M�E?8;|_U�-�&�aHju�Ʊ�<���FQ�h�u�le�y�GB�[n�*?����M*��.�-���=ֆ���(���#�=	�
�]z���[M��<��rW�A��9���WA���b7o�
-�uZ4o�����,<�
-�Օ�{���Y�=�<���4�$V�+6`��X�uB�
�g�I��fv�=ɘ�k��J����*�F��4�{�����J6:=å�pN $
~�O�yq?'[D�
�Wqȕ<[�q��(�\�����m��f)
WX|�V
�.��
��+ao�������tKI�$1
-�
2��N�8�N'ܧ�1M=a�ot�!j
B�qDa����������_я�31�h����#E�w)
tat(�����0
c�rdu���Z4���K	S�Ӵ�������y��$^�I�ݧ�+0\9�]c��o�A�?^�Ǐ�?��f �2�
���,�?e�V�d���kB�Eҿ��_ù! N�aI�о�ҴY��[�|�����t9'�w|+�ɘ6'
%��2�5TBT�Y^��ؕ�!��k�T��L�,JTs�p�:���]ֶ�8���+D��x����D�8�<",^:)��)f�������eҋw��pӘ/AA3�P��\8��R��$�
-e�M���F(
u������c��@�Z��	����f9!V2,�_Խ���^r
e+j
�u�M0�G�.NֻS����䫦�^�%�$�@KM0�Ʀ���qc��/=2�B�`�Z�P�H9
�V�T����\f�a�7M�P
�L���[�,�2�R�Ije�]�����I�@
�F���xLJ�_�mԷ��g�ЄK���4q���P�@F�
���a�| ��q�S}H�I�xdcs
9{˼8[ݘn�����^�*P�,I�e�4����J�;�L� /u�"��Lt���l��a.��O�v�&o`t��ӵz�P�k��Oէ0n���� �Q��[�$�+t�Q|�;�rE@�+f�A�!�H
w�l{��0�؉�
�ۚ�^�D'
Z6�;���&8#Q]�9�.��Tb��9�QT���rY�"�S�'��m�d�@`gH%x�ro_���+��w�N��I�g:4�`)ZbeX;�
�1־s��S~zrW�O���
�P
;.I�͇��������������,C��@s!N��lH7� #~���͓T{����V�.�,ִ4f���),>��nhb�E"��
12��f��3���=�i����'
�C#���}+W�X�9:����V$���4]�t�ED�ܨ8r���t�6Hs����!
�¾K��O��1
�C�}-��q��jZf2:�%GXR
��%���Es��0�O�},�z|"�>�^U�n��5N�q�	"��Ģ/�q|=w
T���לp��y�c� �<��k�%ݱs�/bgK�6i��XM�
D��Sr$��������i���
 K�!�5�_oh���1�3�)n��'�X�w
��Ӗ,���kUj������L�Qt�ɧ].>
9�@�����|r�uq��3@�ES�ZA�x	L�C�W;c�`�q�C�Ky^5�J� �Q+#1a+�5F��V�"����x���#*8�=��0��-=��[� a�fL�Y[���{�k�89DJF#�!���8%rI�v
���%��k�%k�WӨ=��j2�Zߐ�)K�v���hM8d�5M�
�i�aI]��Z����$�����&D����|}
�=�v�$���\�\��c-�:rH\����E|�aг|�}��(�J�mO���]t�5�F\����]_�c.e�H9
���l���c?c�4Tx�y�{ߞZ	a��x�]t��4��F�
\ѓ٣����1lP�kSpA���.�Ph�~�N�|s��
-�*
ӽ��̣�&��ST�d�l��v8ʘ�f�:�Q�\9l��e��t�?�"�
�����
�ߺ
ev0���Ӥ��?,�0���
�N�{~T>�W��a�\A*GJ�P@�"�ߟ�E�?+�c$4��<�憳���6
�~�k�
D�_z�{�Ž+^@�+�G���F�0��ؿ���4uCCsL�y�S�Q�,v�k$r0�X%"�}E�s��\^�,�r:L>��5�Pb9kr����@�.%�EJ�>
:WY��W
F���/,mٴ旞w^E�E�v~��
�}�����qn�/�lR�&�y���2I����k9֠�ş�<���@����6���Uv
�kT
�d��i?T3�_]3R��o
-��n�}���k��|��U'"��αZ���x���I�Nʠ��u���G���.
'&�EZ�����d���L�$�U�BܱU+��.��}��uq�<&�m��P�h�;�rN>�(.���q�f
6
�[�(
]��'U�^d�d| ϟk�
E��Dh2�^1:���{����4�
j�Yb�x4"L�8���_
-
-��!402�9����/� �Sn��3�'�uHi�qM{eBp"�)�;.��v�n���X��,�ۏы�2CM"p��Q�En�6��� Ms8��k4�/$�y�ri�81�
x
Q�9����vk7t��|ns��
ł�U
�0�� ����V|���.
�dI��v����(����c�,ߒ��UJ����NJ
����f�Gc��*%[�OF at g�w‚��YqG�ƘaUf�ߝ��A��.vo(w/�.��'�Ȅ��𨱃 Z�┗������S��dd>�BÖM���GzDh���y�XO)���-��/5��A~��Q�=Q�C�z3
�S�+���f�XŠh��X��ޔ�%��'!�>~���t��J��ZP���l�
}�2��.�w�c���{-�&?�o�Q$��
�'_��g� H+�("�����
����ݺ�D�.�+�އu���oߞ�Kg<:Qs�K�8��u��aPg5,����1 at Z���{���"��9�ʎv�J�a��*?Q��f����q4�;G�WX3��3=�iY��M��P��z��
�ܷ4b ��
�d3�`=�{T��'_�\����M|�z��yB�aa���Ӡ5
T��'�Qꢔ�É����Kq	}�+
�zU�м
��YRM�)��!�)�b�ǜ$�@�ڝ�� ��*��
��kce!	ZC���O�iP�C�8��$T������-��u�
ݿb�W��H�
YRQcn&
-�����#��Q��
��0�Y
o
�y���h΃���E.� �l���#a�ce�˴/v<�M~���W���B��
�Ǯ

v�JJ(��:�v�'� >y��Y
�^�\I�Uj|�φM*Q�D
�����1�85<f��-J��3�)Qv��w1���+��:&MsC��h�t���ײa�_�
�tN$�V{��R��X!(ʟ&;�f�x�>�JR���.�yע�~��Uj�5B!��B�U���
-e����xd���裌e~����+�e�I'���O
W��(\"'u�> ��;V➗�'�kJJX;:16��l(?�M�@��ʘ��1DR֌Q���^��:@��.jb_(���>�I�������5�YmH�B �U�ԄJ����E6̼ɤ��V���5�w
��i�5���uv|
Fc2$Y{
b��g���F���&2?9�r����I1ܪa[��	�T�~N�
-������_M[�DB�qs��a��z��.�I-׍�~���Ѐ�E��삳p�@W-e
���v�tϮHU��#"]
�
-��X0���T�H]l���~�� ����5����{j��٪U���@��J�PE��n66V�Y
3IDY_����5+�fot�?��pj>VA	��<@_�+�u
p��
�R���)�|G��;H����m�
��:���!�*��p
�j��0����&7z�
f���ƚm
e��}v�>�Q�P�H�oJ����iW�ƫ-�ꠖ�f�?���ѽ�@��յ^�ֽ��O(F��m���xd6����(%.��a�����C��`�Ot/�K�S����t� ��
ӻ�O �?���\�V}�]B��<CU�<Ϭ
uĬ�&|ㅫ/)ys��i�	�<
�Ɲ_�n����!�9Ԓ��e���:���
�Ѵ�X��o:�-_���/�X
4�����Z��-;�,�#y��
E��`C�~>൅t����܉�s��S&u2���a֮�ݷJ}hϿq�mt�\6+#i��˭�$��|�r����y8Ŧ�'�� �ڹ�#+�t�"2�=aڗ�X�����0��v�FL
%��˞7B7L��W�6���:s�Ȗ
b}e��)d�5�M:��ӟ*����X�g�jH�~���
ro���
��/]̈o�+J\YqAQ��!.Ѱ��
=��`��M�hʫ��
��vpۣ�����m��
��!�p�?U���[�Qs�z��R���N��-���`�s85��g䦙r-v
�߂�-r�^Y<���`�–S�xT�b����R�p<Fj�
4�� <�5$�N�s�������F`�+��K
�>���q/0�>
D}�āl
3�l�W�@sc�{�"�(?�f�L��]�B�k��#:�
�G�6Q�ENd�M8g
-'C W��䮿���
��i����ST�KL
�}7��a{3
����8a3�����eFw�u�u�#���C
��K�d_b�}Ioz@�M�-� w��.}{*����,	�@V͇h!6P2��E@�ܚD�V��m�l$�CQ]��I�w�"�������=���pvO%�`~��������TT��Γ
�yb��������
������'��,��zx%e	�(w="�
��,��jBNy|t>�d���1]��;�+���Ռ��Ji�3�(
�r�|@�)Ϋ(�����{lb,������J+��mGf��H0ZUA'������� g�M)VW�T���
$
�e�?XU4'SC,C%���s�Bo-���m�#X'�(<�W��}$�D�(]���蓐:z#�%�z%�����?B6D1��@��z��Ch�dJb��
-�0���F�(�%���������D*h�<3�)p��c��
��qӫ�X�8!�҇GW�"zt����F��
~�̗���
sؤa���}[n�I~2]�p�_�L����X
-�Gy�F�
!V��;�uY=�`�)�頑!;�u!����)&��(��|�Y��Vkt��P��t���t�k�x�H�2c߉�n��b\��*��Ҵ�x
���
^8�5��i�k��xfeg
#W
����ŵc��x��QaqJ���t�\F�����\g�|���^ָ�aۭ�K����#/����DCh
�4�I�ے����C�ԟ���M�u����쏂�-��%/�Xv�Q�L>��j<�Zȧ�R�4��� ���&/��jx�q�I�/z��I����
�o����<&��`�^z�2�]�
y�Tޜ���X��z��n�޳%zfZ�X[ĎT0���)ߑ[�A5nI�>�Г��s4�y+�4f�a�D%5(��$���V
4�F#{�S��Z[,kԽW�LϺ:��4[�gx�r;2]����*-vԝ�|�l.r�[g[������G�?�&��A�: ��	��MV	[�g�"�a�肨����X6q�U��G����
�.v�E�Ww���~�yRw4[#��$�Y�����
m(�һ���G�Z�
-x��ҍ����#οp�~���2Y�|
$��U%�V����O�;X�5��*
�C]�
�梄�J4�("zy�Bµq8��k
`g��1u)lM�͟E�)*lp�����
��P��v����0�e̴����m����[�(MYt0n�c
$���[*�l���jkcz���Y^#��W�}J��`0釱�`8�&�	m3 
-�����0E�װ�_S#�߆5��
�Q#=����;ff�xx�	��t�q-�F��w+}"aa�pIi��.�K��0��–�ӕ���E�
;�&��7U6�
�� ����]8ʦ~m��g��{R���R��4��`�a���@� �lyA��?6�o��5����G
q���{E��4
&��~�Aa�>��v~�
��Ls�>���x0����걩�K��o-�~A��m����z�09(گ��F��Gʆ}�#�د���'���>iΝP��.;�>if�`N{������ ô�|~g����ٞ��Z-MF[�}յ�p���˶f��~���A�v�5�ټ."t�߯|�K�7(���S' V����s`��&�Y狍�����Г(��s2��hM�.�
�3�ӓ�+��G�FC5��cp�y-���Q~Y��UW�׼�2JE}*'�5�7������Y�9����r(O�]�������5�6��D�9A+Bi⹎W��Շ��٣`�'��vP�ѯ_ߪ<��Y���
�g�m<� 0�O�xS��U��?�4I1�ipE�x�Y����VF�u���}����L3�$8��o�]�LX�=ȶ�l�a�ډ��'
�
-c���
-K�\
�
q|���Oj
\bg���7Ö�W��v�t9}���\��Լ
��P�uM�o<�]2�g-"�
y�7�VW���O��"��)u��\j���`���B��Q��J@� ���g��%�> {���K�e�����ɾ]g�^��(��|���3���M�-N�DvU�ɏ��:#lI�1"�]�Phf\"%��!
U�������b�����X�hb�n��r�Q�u�5T�
 E�1�� <}���
�<Eo�C�>�,��g�ڮājCj�~���u±��^�9��[�~��dɓV�x�(��S�����(Np�d �U
��̚�'❖��#=�4 P��d�w��JB3K'�� ���ej�ع�w
 }�
-[���U/R���G��cB��n�4%3v�E�]@��!�u���,���b�½ٺ,�uMF���]}��bcCoѕ�
[�ei��$>ջ>ao5�E��`^��J�
�ڷ��Al'�Ѩ�|�h�##��@𦇳`
��>�稃(�Xm�L�fu�X�H�r�s�J2d�L�i1��[r��onև�A�z�e���'��hPkT:Q\�&����ם,��X�Fv�wA�M�T�B1M�m��>|W���FzG�m��f#u��c�K���D	B���"���o�1l!:�1׮�BzmZg?�IRɏ�3|�~�
��/� ʪ����ֲ`U�.5A5zH]#�D'hP a����4�Q*���<��gp�$B�>xsA2ߒ���5R��Y�J��:f����b�y�)4�I��F*+�RY��trC��,z:|a�)?�?�dn��)
#�Hh�{G��ޯa�J5Z��@�:�/S���e6�����x��}�_�&g����eS��Od��bw=�j,"�Zr=�+遟Ҍ��,IV3]@Myy�Q����|qL��M�$?��
ëz8&�!%U:�Y��4���Ę�Y�v�+�;i��{z��^$�W����E����:9�7�Ѣ����Ɲd����{��9V���_d�
~�����y��v�W�6��@Uvt�#���L����=���I�lX0��5\�PL
2�u��	�Q���D6$���z��i�:n������
��f�5���~������Y�Z�
�{��L%� �i��t�fǻ"����mI~�͙�!������G��UsT/gn����1z�/}`1��� [...]
|�S�e���;bУ�񚖾l$���-&
	
���ӯd�����Y����4���
��
S�`d�-M8>1:��oo����Ug�:}i���_7���?�@�}�X�ͻUC�tǔ��n�)
�˜�
J�L}oKs�ڐ�����ì�Z�r0��� #��s'�I4
-8�&u��?hr
�N�@`
~o���>�
HK��\��k�'
��0(��Y�X�)��@8���5O]~T����&�N�2��>������8]&���#�őg�3�J��;'�
�cԶ92tr�slc�&
-���b= Y$ch�;��X��5�
��)�칇!��./O
-�3c��a�)B��#�^�J. �KAl����u
-X�\|
][�P�A�!q�g���\�[w�ؖ|���xX���� ,�
�������L���,�;�Xփ�����Q>���}G��D��X����W͊���*���g�7�SH�����W����K=��b�`(<�ݜF�
�c?�ʹ����C����
�
Y���زl�7=�c���^{�Z�����K��4��^�%^�h��	�u��L�K���/i�
3�+��R_�ǍPs%��Iƙ�
5�"ev�K�f��R~���?
}
��)D2|�}
�\}�=�4}����d�ou��Xo\
��]�����	�Ʈ��{n����ߕt_�Ӽ���· E�n
-��g'�(�q����^���	VNPƮ��f���&=�(Vw
�X�8�V���c�S���^�̦�z�q�#
-=VR�j�$|X�3槐I�Nv�IO�<�
5��������Z2s�!MlEZ��Ahe9��,��>��Z�FF2�
Xwq��
�R|�,���W<1���
6o�;ݵ�C@�1b��ڇD���B�C�&��G%:#kT�27KIP��
-T��]/
-
�e���-�@�x 9mk�h���m.��@�lf�G���Y�(�
 9_��������_w��'��. �5�LGi��S_��7�E�"Me�~�����,� 4�k\�xq�R�E�虳É��X��~&�7Bx��b��;�ag�;uy6�*B�{�k�0�}c�KFc���Nk0PǢ�����$*����/:*�
]��
wY&1�N�j
-�j�dc
-�kl��&�W1�̵-�p���߾,���_]�ϯ�wT��
ub��<i�-�%2y���P���&�w�S&�g�+�@��3�

�v��
Me�Q������d;�@/��Q$$���"6��['R(Z�4��4�*n�$A�,��7_զLW~��WE�x��7����$�ӹ�wݕ]�
�۽��JGiD���
_�:���Ka��`���[��p����
W�r��U�v͡R竰�d����3�y<�g���Q����f�L��n��e�-ȴCfd��<qE�Ջ�'޸�ٻȢ7��ik���!���|�\
wctz�~Һy��['�r���DB��B�Q��T�
7

��oj#r�:�7Z�Dtd��4�i@�TH
-�Gn�4f�X���IO�D�+X�sP�l�0D��9�pESk��l�sCA@��]��K"��\R
��<a嫳���ID�>�˾�:8L� �y�z��q
�k�q�j����*�.����*��>V10o%o΄�z�1�Á=��sbzHC�&���7���,ȹ�+ᬖ�"�]��Ζ��	t����
�x�A��I���9��#Y�^
,��Y2���%^�P�
��7*d�]��x�"�"#��&#�az�$�Y�J�j_C�#�ļp� �DŽ����H��i�ᯓYf����?N,��i>5�t����?"����F��fz`�e�O��^K�
��$Yi|����������Df8b[�y���X������5
��a���F��o� ܨ�^���Hq���@A�lO�h�C>��W�nv�x�J(d�a�W�
��o�D/˖X�`W�y�X%I��|�M�Ju�
B��Q'
��²]�
�]x/I�JVO�Pl�m<�����^�[Ҟ������)���ׁ�v/_�(0�Z�J0 17)�Z�ʇ>��� by-�Ic9l�'{� E����
�L��LT�65�]�
�`��f�����7T�M�
�m��[w�i3)c0`M��Fsޛ ��`8&^)Ԛ�((�&]l�� Q:P�bҽAM$���7w|n���S�Ƕ}�?-=vˣ1�1r���	���'͗�̩����Yv�����0��b~i ����r��7C�
-�DU������^���KQ���+Dy��Qe��4R$�G��ݻRD�X�'��W@��$[����ߗ�}Y<.�6\X'aq :��% ��<J)7ꀐP�p��y����.�2([��[xۿ�����������y�˓�
�FD�r�!�L�ء���RfS
 Gl�
l^I��p�2;w�m��
�
�J��1O)���p�1����XI��W6[��aJ6�֥#d�R��x� ������zڟ����>ft.w�Ψ���������z�l��4K1Q�����_��م�D�[9��UG��}tk�
a��Sy����,9��Ƶm	���x���#��X/SS���u��yI��݂1w�L�B'���ol��-w�ߍ�
�y���k}���s�b� $��7�'duTc�b|�lHyg��	�G�D�t��7��[r���w
��I������y
��4����F���Ք��o�.�;�F���,I[���
L6�����%�*U���|�[۔�U�X�y��N��0�v���)���%�Q�X:$(䚿e�O@�d��X��}�#����(!e>��R$6HT��>��ի�sP
-?ߺnj�
_-N�G���
���8t�8
h�M�ӯ
��Ώ��������B^�{tyQ�2�|�pE�W��<jہZ
�>�6���D����2��M �����
 ���U�۔V�ݚx����(�
-Rp]o��e�	*Fҍu�p��
-o���-.��$�qD���O���n�s������D��yO?*��5�c��X I�ԔK)V=����	��}�NA����
-R;H#/��qz�
-Y�M���66�`��p�n��Y��x�`���1���~P�{{��0]��]�uZט��
�)�]���{Oӵ�?��g,*t!"��[�hyH�02�N�Ȁ��8ҝ@!�y���|���ޟ�<�n������Ko/�r�@W����q�K�8r
X+���U-��æk����9�])yQ��_1=%��# n��?
9U0�P����'
����&��
4��r�ha��x�s��,�V|�1I)�
�U����|�?Ϙ�����S�#{�n�t2`Q��χ+�S���e�;6�����%q���X���Z���j,WW��U����i���3ت�

�<���1	�:~�"�?�%\c�8��x����m�qע���"�^W@^ɳ�-�(�����
]�~y& ���ũ�n�7�	�� �A�� B���b�)v� ����DRӢ<���2��\T�X��&t/-iȢ4cs
�а�CJ�7
s3
�I��3�ڠ7y�"R��޵���\�S:e��"֞;W�=@<8aU�T�8�o7�F����>��#x��t���� ;�
ӾӞ'
O��B7�	�o��GM����Y�����ԭ�oih��p
-D�i��V:�7�
��\�Ǎ�x�@=ǟ��ZGn�8��W=C
,E���W������&е ��p�3�ۺ&ݒluqm�U�D�aWr]��;�ع�]��^�����
���dǥ*'�}+�R�ӧ�"r8:��i�	�ҩ_�4����G��θ�kҶ�Y�RS=��q��@�/D0��%�Ֆ´l��^*6�?*qp ��+�D�1�S���qB��%
�yvƒ�=���
�?�����.����^�[X��U0���6:�J�%�ݶ1�S�$�j2�8�o�T�KY�N��1]��(�2��H�a�I5�:�4�ܴr*��Rh0_f�F������Yte�����K�V�7���>.�+75�&���o�_�ٞG>x��H۔�y�
�V3m�����:�s��o��9(yq�>�h���n��Q���h|�w����+8�א
&�];�Z��<S��W���8M�ԔN�M��yހ����hwzC׫�	3;!)[��EE���onV���Q��dO [...]
-���MیSV��-�<��VV�s�D��E�9@�o@��v�sP貅�V�d*�0FC�w������DN	�k�d�ȁ���.��t�s��U_K
q��z�ɁQ

-�,+{M�hk`�V[)��Iz€����@>
-$�}���K�ޗN|z�q	��b�6gUd-u�<�;�&1$�Ҍ���l���S�k�Y��u�
��
-!���hT_�
�;X�j�8?����N�[DX;�����]��=
��!i~1�ĭ�K׎%=���
�8�S
�]1
q�u����0	N;y���\�j�hv���an�
4�1�I|�cM 8�!�6$r�;5�3���g����٘�9�a����0�sw�����P鿑u��'<In�e�am�F
�YZ�����&|�~���������2��be+�w�gw &�����h�!��ᕫ���7GMj
�{��쀣%��=�0J���#��5�cb#�2b������u9��'��/�;-H*���]�"@�tA2��Ȝ#
�o��܃�2%�>
�iΈxnq
x�
�
c�h���J�i�
k/�ˁ�T��@
�0�D4�>M
�`\B��)�&�\�1�dA	:_ �C�
�慀�;�Bl�q��N(������]"rH�]8
��.�AZ��<�
v/vN�7aq:dL�f*��S�d޼��5���
aC�P)g�
-endstream
-endobj
-3533 0 obj <<
-/Type /FontDescriptor
-/FontName /RAMQWY+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/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/a/b/bracketleft/bracketright/c/colon/comma/d/e/eight/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/quotedbl/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3532 0 R
->> endobj
-3534 0 obj <<
-/Length1 1642
-/Length2 14175
-/Length3 0
-/Length 15017     
-/Filter /FlateDecode
->>
-stream
-xڭ�cx�m�&
۶mul۶V���c۶�AG
�f����ؚ<����s�o�����ֱ�:�Ϊ�κ�X7%����9� 	tpedeb�%Q��7usQ�+y� ��2�&v$_�78JJ1g���5�A���K�0'����������Q��
=��-�\Ih4T�h�����
��� _�.֖$T_?�v at G{�����u� @�j �����))��(J��H)j�H
 �_M(���Y���[�
\ �$@g�H̀��������%�BbB��0��
-x�
��H
���.._�I�]H,�M
\���Hb�`f�f�O_v
�
-rt~y�a_d�@W3gkGW��������������.�_0	����
h��OK�¾h�PWkW���?�L$��.�v&�_���
���U������V�@�
�4q6���|�|q�s;��'��ҽ����翢�����5X�� �,��Xپr��~嶴v�c�g^d
,�$�,����9��p����33�_E��
�<I�p̊@ׯ�$4�w*3����� ����-�����_5�_
������RK���)��
���
�ע1q ��5$�$�,7{������/��������_�� �.Zhg�_��8X~��������fkIk�������������ˮ�`p��v |	����
-ba�/�������?J|�7p0��
|i����uĕ�����_��_��� ��2i) ����*QQ��7#�W)��l
$<<�$<�
������a�ϳ������



+���|��d�_h$
̀������������O�?�������Z_����_� x ��V��f|!6ٙ�u��Ó�z����á�e
�%E5�
���m���o��L�Ӽm�������t��Xv�=i�����}E�T
\�Ăe��gZ1ޗ
�[��,�;�*��?ޠ�;؝a.i�݋0(

������1;QA��OϨ����F��z�!������a)�L��ROIS\=����> _ܹ��E�&N��
���
-�~e!�<�G8����.H���h��h�#	I}���f��F�l
��s���ŋ-4�
S@؁���q!�P�+��un��nC��긙�6��~�:����*�<��[�w���:���G�����j~�o�x�d���Y'��l�n�����Η<��}n�e��h�D;6_D����٭�;$�i���~�h����Y�ɪ�
9!-dǚ����th�O�)�~#HK��=�c}�
���Mf���
3
��8�#�������B�p����D�Ȳh:i
-fbWE�j�@ŋ�~�AcǺ�y
���G1_�q��:�T!*�kBo1<���Ub2� �����h��3
Y
�)$摏�����q$w���PL��V_�xY{�8wU,����|@3��/Ͳ��p[
�bIE���\V?�ȟοHs��N[;0��M�EiE�P�J��/��Y�h���oN����2���'9��O�X�2
-�]&C?G��#�/M��N�����o�/3����Y�����c�3z�?!�=����:�S�
����?��;m#d�Vk�����H3�j�'�?5�ė�~,�FR
۪hB�g���-8�)�H��Z˺��kq�K��eT"(eO��MY�v��!�Ԛ
6��o��t��A=��Q�mp���03�)�kPc,������}�cV8�wYeF�ƌNGuF9R�
�*���
�y�@.�SO:X��`��n� an6�Jܲ Ts���\8	ٯ^q��@�mLH���"w��yWF�
�a���Z���I�Pt���<2���ɓE�yX	vVv�Ŷ+%��B3B�$�F�7G�+�\兀(&p��~L??T]f�/;���]w�����ͳ!��fL�U����63��'�eC�d��h��/4Q)XcG����~
O�s]\�;�zZ&�
�6Z̙�!�;�����~;�K=+Z�b���j����q��;�U˘�$g�>��f�ED���z�

05�,���W�q� 
�ݓ��_x���g�l���<���@Q�#C��nm'����pk� �Z�s��j���7��
-oU����j}_a'4�T�1���C�n���'3 at _��n�<6�����
���aK1"܎qaOgIS��OG??:��*`=t��[�L�������NGx��`��`��l�����	����׷-%��h���J�s^�$B�}F�J���\7(U[Uðm���CBjG(z�u��
S+T�e��Ԩ`�TX��EK/�͠�L�w�)��{C����z��
���n���H3\���� ��ul��V\p]�7��,$C[�F���	v�۟R>��V�4���[����v� yY����
��hy��gè ;�����\��o�b�$���;�\��>��mx&�
�<�
A�,Q
��6�o2%�j�
-\�a./L� <U��w1
�d0ݤ5���Bё
-�5��̆������u����rWD�:��w�I���8D�2�)`d�hC:�^�kzer�sd[�
g�u�]X
"ͤNŮ�7��p9�B��q�� ��B)�;

&c�������F�Qx�,t$����� ���X�8N�ǂ�զ��H�1��M�Fd�+TP�1�����f��'Z$�ם��C���y5
-9��A�m�dY
����PW΅��\����r72�&�i���~� �
��
����^�j��yd�;��t1���N�~"�xƟ�=_���&\?�b���u��W*H_+X�)���[4��4ƹk�mz� ��-z폪���$2�"kZ��(��)�|����R4��
Os1R�v|�n\y��$<�?'(��$(�H�M���(�֖�(Q���[�G
nX��G�ghVQ�ԃc�U��h H�������R]��wb�E"���V|㥑�o��C|Ē���?�&��s���=R��T�h�I��~��ڷF@�����q�)�q�5O^35f� [...]
-������C���I�ny����W�꼴:}܈�ݰGq8̂n����E7�^�c�5����4�%ʆI�y�#{}
�{�u���Ec5~�-��a�-2�c�z?��>8�R���p$4�jػ��"�`���*�l�7]Q�������_���"�
t�
>�5�
'oB��E���J
X�]�g:d��a��O at q�X*��<�ȱX8K�x��{������JZע���:T�E�xZ̦aF�)j����4%���2��߬Ō6��.�P&æ�S{�7�Y��j�������3�vt�y�����S��,�$��MMPpQֲSTUy�Wm~n-��ʤ�ڸG���Z󁈅�ԙ�����xN�3�dt�T��}V�	S>�"�n;�(+����C��g*`qw\k�Ӭ2U-����Z�e���mX���{�t�ֈ�2�Q�������ݾ���2Ñĸ�y�H&� ���vI����3���/�>:+�n�;�uW�y�
-j�d�����{w� �)��^j]9�'��k��?�
-4��a�R�jU��-�i
-���a�y�QL����<E�x2�,y΋[HW	,�P�8U��A�#�t)6���ny���y<��
-����
��nQ�ܧ����(���Ë
���R���ks}ts�B�`tᘮDR�v���j�
A��x1����u[���������j@���C����BX[v�rZ��`�8?s-2����s��?-�8 at r�E�ӢAڑhtQaH�i���yN�����=���y��H[���$� �.�6B�� �|��ڦgd<��W�3f�|�ŸG�&
-In��^�=����J.:y<N�ٺ�_��+
'Cq���yw���PtyZ�<��3���!,��
���"�����1 4H�
��������3P���U��6P�`
� �h����d@�L���Ȋ��z7���,m�E���rd��*o�``��R[1�~�m
D?1,o��=\q8[���^e�,��(��4�EI_xq�
>@S��i�C�p��y�E?nAȢ�d޽q�t[Y�AM�|�ې'l���h ��7���z&u���&%�,�?5���ya�\��qr4�Ӯtkz��i�	�
��=����ZZ�j�!��:���s�r��ؚ��ã�R��������
�[9�l��Pg
/_���w���_��}
-�
Y���*c
Sv�b_E����U!eQ�?k�'l
�i�K����Oz^dd��,�u<gY�I<�
�pꖵ����ʛ�_!��]�9��.�4�Z5Oܿ!e�zx{�H���-Og����*>�m+�{4�'ϭL��l��0$Htmi�}r
r ��)�I7Yifqx#K!Ű�QC���0w��O�}�ҲB�=����A�������W�*kQvu�
�e��&͋F]/1�s�ض��D��JA� �N��̲��~,��JJj	Z��K�f�X�<�V�5�
�1��æ���t�{� �%~��8(�a��H�P���������ᱠ�����E�Z�M�U��΀��ָ�A��0-[�x�ld��8�#�TT�O����ÄX�W�I��<�g킱֊���Ek�(]��W�ua�I��{�q~d�@���9��>	,��T2a���s��D�W��:��g���
�80!?H�i((g%�	�k��
-����AT�Mō.!��%��J
-8�b]i?�o��I���	o�B��eG���~F	���d�>��5�~�%D";2��w�I�(�u
.���!'B�\<ˡ�#t�Qf�z{�9���C-F���a����.��a�:�O߼u
Pu)ʹ�<V[}FĦ,ؽ�s���l�e2D1�@c5~�������v8�o��vB�_Pujʌ��
)�5�����Tt\϶W_�
J�ԗo�q&��i
I$%�ή`w��=KZ�(r�i�׳A���Δې���](ey�ˎ���a
-L
�+
�3O�rQr#�]T���?φ�Im_�z~����W^T�ʾ�&�3
-8�hr������O���S���<vH��b[H�Obߥ�t>��9
0��VO�:?贅�B9�
-y�A��
��@�X-8"zut��%B�f�J����!KUf	B��.��Ǻm���mq?��G�2o���?�����z����=��4fi�l1䋍��6`+P��OU��]�-�ə��<׺U�t�	�j
�V6��
yZ�
�C�b��^�w��
�ͪ���j�3�"d
�F��R�U�N�Ӥ�̊+|��%
�ܚ]�R�d%q��Jm�?0�qB�

�߯��>�L�顬i,�
�_.��`D�Q�%S�Q�*��#*�F�<����/��|Q���O~�33PŘ
��h���ї�{6R�S,�+N���r�D�"١V����k�1G�б���
��9W��a9�@�x?0��7�0x�p�\Fu -m���M��1��%�2��mn	������7
Q����4�5�R�x|������!H|��6�6�B�0��;�G�C�����,6#�8�
�ˈQ-�i�	�
"n�=��`�5�ˤ?���]AWGN���
-Й��~b�fwp�� @A}�u��zH0����ny��1D���R�'{8EP������|��
�,�@��+
-�{�+
�_�Q���[�1�p<���� 5Q�c� ��\
�����st7ۧ�y�guh��1
-�*w4ㄼ�ѝ]���b{{^���o���l�M�My�E��&�Նk7"4��n��t�b���U�a�VBX�wV��%���y�F��G��G¾-�*�%��h� ����� H�=��7Z��Ăf�P�Az�۳�	�����Ai������.G*B���E 	1eǍ�+�ba˷�E��7�e	�������}\��6�п�����~E���?eˈ�2n_*��l����E�i}zu
-K�ͣK�b�;5wS�OG5�&��B��&�#�DfS*�]����EZ�{�4�"�
�X5.�p��i��o��K�c8���8�SQ�����!
1���
�����I혗�~�~.�ـ8��r�o&�X���``�}p�,��;��Hj�/���Z`��I,z�o۸+���O8�+5�٣R��2��O�N#�+�.��R�S�W�'B
q	�x
�T�>F��/�V՘cS���+ ���r�R�o���J�#���wg����-���.����(�P��"X+n}3��f���
-0Um����e��E�YT��Wo��D<�rVWی��!߹頧���א-�
-Z��n�����p�G0s��|�p�W�p��T`��h at A:\�*�����	��I��n&�RL��dI��A�vI�<9��ǡ[@!�;ೳ�7���ֶY)G�A�J^F�	xX�k��М_Mf�Xs3Q��ݞ�$ M$�y�I��;�R�gm�@"�:��7�+�����A�)�"t��6�����
-Hj�C1Q��\�*�.���8�L��v�5t���
���}��I	�T��9�6ɻ,ڭntY*e�jݚ=熤�ţ��f�xD ����=�G��4̧.e�/���˱�e�<�N^��h�ˢ{L��j�B���~f��
-�H����d�SODGbeZ�{��>���� �u�^T�׎� g��m�ڬ|0c5_u��
6�x���]:�b���⥰l9vIR������K�#�2����	�|�1z���^E�>E�%�o�r}���
��xga���I1���'�~��'�;7J�.9�_�
-l.yyY�ה����n�5

-,a�����g�o�pdE�y��9�3y�e�%F.
��nK��~�R�������7�����$^m߅)���ԉ*|�N���_h�L��LG4������Bֿk{H�F�ˆ�~G�N������[f���څ�T�`c,�i�ڥ�T ��}�i�u�� ���k?(s��̛nθ{����4Z1�&m����\�����sɽ�j�
��+�
��J�Ov(:����RS �]�F��Kڙ
o+

Mڇߓ|8T�{B���8����9�����]��'��
��9���gT7��P����C�HP^5���|=�Y���j�ֺ<�	=l��D�K9-Ԏ���w��
-�;1�����
�%�ev�o{\���f#��?r,�'
Y�gT#U���������c7��h4��7|&Sr��G
{�6Sb�"�(>t�Y��}���:
[�Vq�0���BP�Ѕ����c��f��<��
-��	ٕ�\R��G�#���E�n�
���s&#��_�憔��O^tK
���."��iy����N{S�HT���k�vo�����x���r-Y!���f� ����Ġ�LG`�Ö��Y	4
y
�4����޺<#TT�-� $�UD�
�':��N��E�����2s��.x1J��QĥD��w�N�$�jz+��qL�C�
Yj[�ns�Q�q
@ۉZ�
��F
��</�sq�`'E�5�J��ri�ę:u}�*��ڬMr�^�z[�G�)�6^"2YT2�Ӱ�ڮ
��]�pq��P�BE���	��<|�����k��d�o�B"N�g葶@��_�Pd�N��F��j�
q+;D�K
�
�C 
�y
��z��2	("�(�[������L���"��
�J
�Lx�*%
-���DyYFr�_�uD���E��@)����K6aWf`a&&���ߪ����B~�,�~�
����
-�_�8M7Pw��M
5���$$L%U��i���:C.���W���G�������e8'��`,���0�ϔm�G{\l�`*g�)<P������ԅ�
08��(����+�����ag�ij?`��
T�k�
�@��|�S�Tف��u�ʮIh]��R�aF���sqq�s�?n�.�f]ir��l��r
DΖ
}���5)j���
��ˠ� ߅�r�:� CϢ���}����gzXAC��ҁ�k:�2
pK�6W��Ȳ�y�
�.���SV#����#��ASC�=z�8����wɩ3�9�rE�۳�C�ٱ'nb�ǥ<T!�tJ51�Y�rUN�1�ʚ�K^;���e*P5x�˂z��'�d�W�� �}D:ɿa�f%v
���p[����*�����7�<y.��D���{�|b�ʲ�
O}=�Y�O/ܼ��_�\��>N�Q�g�e
�΍��y�K1�	Y��}'��e��ӆ��~C�A��ƸZ��F��HZy�Mn��� 8h�
-�4z_O"*
-;���3�R≀��ǩF�gJ��:��ӓ�
���B�����7�k����
�t����O>!���
��l����S���9�8��"�s-f䞊Dh�_�s�c��4�
]�vE(� ��G4n��M3ʩ�\%4s�3>3��

-<M�1�2����Q��
��L̡x�Z�3���ºݙߝ��%���N�{�s1y`�7o.VHg���*&
gv��v����Q���QK^�`w�$��eg����\s`��V��-�LM#�Lj�J
 �i\α���rEŨ��,�W�NT�
#
��%�UT��?�I�p�65�Y��́/�
-�1�b� ��Uj5З;H+
m+,�^}���$�K.��`�j=
��K��T��(�Z0
��<&����pY���Ac���ѡ~G
-�'�}!�O��NWƎH
�Qö�H{��!0�
�]XV����xR �Ԟ�M��k?�i�Q ���I��X�s��<�|
-�J{k��F)�$l9|\���k�) ��L5E��>�F� a+
-�"�߰���mY��2�%��T�jJ{�9e�J�h��[уFd�(�(
ɾõ��9�m����L�9�(�!گ��MX��Ir
�"��p
n��n��T�v��$���t�nG�o�
����3����[���^`�~t��b�r`l��P����i�nH��
�$O^|���`fM
��d7mȉ}Z��N��k��� �:r�^����<�h
��@cf����zA��Ԃ�r���zj$�v��-v�ab��`\�8�
-��Ἵx��
C���5�DT@ۭ�H�)0w�m����+���8O<[�k(4���RB�8]8h:�ܕ�_��v$|bX
-�����t\c5�.	���Nm
ך��eX)x��?P~U>>a����\��B��v}k��F�0�N�P?9� k-Ry�f�,�hؗ`VZX~�w�+�"EUD�td�,�R{�t4���g�e�I���8xV���^�bJ��+��"=����-�ڏ��&g�
�kf��
m�����Fvl"��Ԗi;kR�g�jT��3b�<GD�3��F�
-��MK����D/���c �
��i���ཀ���m��cP�,�{4ţ�#
�
�w{b�F�0z.m���q�<����q�	�R[k〗|;��M'K
�j��Ka�i�cJ`Z���`�0Х��� �,��˚�e�!`6Y�w4l���
�=�K�V���UuX���%��˸ 
�f=��!���w$��i
B��^�K�{3�.�e���Gx�͚����[�ЗRa�S��L�b��)
�w��-���fM��S����V{���>/	kV�f�E�W�j��#E9
-�E�>y5C'D|*VYH8��Z%�>�B����
-�y;�}uC�!�N	$劖��s*��
a,�}�]�G�Q
&����d~ ���Z�������������na�D
E�؝e���
�K&{_I�"�I�� �K΋����Cj�2Ů��jިMo9���7�,����S��
-͆��缇V������{(0Rd�!�u�
i
t(�:f~ZTRI&aƎt@-�#�b�C�o��Zv���D
���@2o~,��D�Uu4mR�y8�7����r�A��*ߛY#�r���(���c��14$<�[rl��T�����S��
N0xx��e
-�d�;�W<���;ש۹�җh�<���Q��^I�Ad(&�'���U��o�{���*Z�;�ί��I��q�˾��R���Y,��
�
��
�����
��b��r�-����4/��t�� =�j�]7'�Hʹ���4
{$UfR��Mz-zgƟ
EY�dq�
uSK��T�;����P�|�%,D����Y�����Zl�?W*/P�3�Z��V�(�;����~��{خG�7�*���v�콅Ɉ%z�׻V`�N�=
k��ȰR�ʻq7ȹ*��0*y�f`�hr�j���*��-VY��N�%�ؖ�����dNjV��7_ٓxaQ^���VȎ��X����ҩ",��VgO��w�X�|
��_
:��� ͂vb/`>����$����i��Ee���@��̶�4O�L����`\����S

����O,�m�#4M� ��j�ۉ~9��c[w���Pls��{J�������n���ƀ�WB�
^S��1��Ib��Ĝ���K�Qq/,fK
���۠�gz*Ʒ�y�l��þhn>d�g1dk�i��|��
ԡe��f��)��Z �G[EI��P�RrF�|E�
����~�:);��Pf�� ц��i���v�
�ъK�ձ��#�y�c<��i��{�,
��0ы�
��f�i\&��l#֧��j���*�
-���
��_)�uB��f)k?R�<�^����S	₢�"�p'W�Z��\�z[�[������}s��� ;\8`j`��r�)���WfԮ������Ac�qd�X�,��Ĩ
�J�"K'������}5�+���ɖ�=|���Mqb�����
������{c��-�����VfzrQ�(��o�ᔬ��"a��D���i���>��>53@�
j4����KE�1������V9:��ǎ
��O�d�ef�Rߝz�)3Vjtu�ѩ� ʅz0�
�<k��XQ� A�o�
�����d

�E0��".�%&�n�]5m:Ҧ"���\'VG���?���Mu��"05�r
���qw,K<äg0K
sB�z%W�{n���j
B �a�9x
-S�����祅������� ��c�����k�����@+y
>��Y�
�z�ı�
-�
"��
-�ʩ͓|�u�_���N~=?
B���A0@!~YR�&/�}���0s4{(�I�v�
1}6(M�KS�rP��

ۙCr��?�6��z�v+[����햪�v'�:b���P
SlM��Ct3��h?
��(�Ƅ8!
Cf<
�-�0
|�o�I�`
 
-&N=w
`푺;��:ە���\�.vʼnY���a�l�&v�UK�	֦��,�Us7D
-�T/�S�Z���͌'�qI�3J�3�P���/ҭ��\��c�Vv�%�C�r5��	b�⣒�=������Y��80�M0.V�•0��w-�2k'G�sX���HDA���Z�eP�e��g@�V2
3�ݕ瓖�-YuV=�%!$	���^�`�jL�c�!K�oa�bWmل�+���Q��!�P���XN�3���v�9�+���Z�@�I;�ϵӻ�o(�
���`�����,�L�dr�����+�^��X�-*}���[�;ʞ��<V�ԛM����0S`��\o��J��8�Rs���
!��
-���^��J�p27���L o��P�T<�З���N�����;�:�������=Ӫ���Ad�a����GL��Y?��,��z�T��4��`�
��������\!5�	E
5=Nt���W��Y�Z�
d`G��9v6�cZ��O0�%���Bs��3o�d��0t���G}ߎ
x�R�,
-���-m�.�b���ˆ��y?oO��;5�7]0�j�Z"U�m��y(��w�|���iPW�S�yE]��͉`� ع݉�����9�;�#E���;��A�h���a
8���]�b���woi���I��4/#�
k��<Z@�,�
D���ۮ�|ɡ�Vɐ PR��J������>�&�l?E�i~�F���ņ������
�ăYƛI�-D�y1i�k�4�������0#�0��YP��;;$0�sx�TL
�Ep���CC�CE���-a��Xô*�3/uq�e��Z�
 w���*&��
��i���l��5�YE%�h;7&�A	�1l��,0>�o�x�����1긌��r�)3�?�:6��8�
�SCM��1jR��"6�+`�%#�,�;������D��O��zVR�[�����u�0�s\�Y<�S�f~DW�z'�����(k۹�@�����,���w>�yُg�gd����Ǫm�g����^q0Jʯ�Ϻ�xnY:��٩�,�
_�g.C��
=.�%��wtC! 
e_���S�NN�E����-���/Z��-ĩ⿄�'d㧡�˽d����=[��f�&;�sϡ����7B��/]�HݻA��I�����H7�
���M3�T�*
�-�������~T�
-΍�5�
j'Y2;���>ּ�;cM߽�����2l
Ôv(��Q��C܎�]0�+x�H�DG�%�U����ْ{,;j
n��X�2�Q�����B�
9
�7���w��FjHsZ$�'

ݸ�d���(�5�
�\�|OUg�
�׽�F6W8��r�)�p!̝�HF� %�L��H�����䁼��]��0�[="��������7��Q
�I�`W�ɶz�1��B��U�!��{�O�W
���	1�jJ�F���F��7�,H���c�fl�3�n���$kB�L<y��o#�8eU�ݯv�A�e�\�O���"����a31O��kfa�=y��<��x%ƞw�
`U�
��T4���o�Z�Mw��ԷI$W������i�qb���;c��z"�}[��ʿ\h�7�aad�^�c��I|�����􂿅�g�gq�
-�XR
[�-u�xp1%����p�������#M�
��c��g��#�� ����J2Q�(iD'��0��<�^� ��mK�ȷ�����H��)�����.
����ͫT���z�`��z��U������8=���{}��4㵂�S��^��f���+��`�B��Y-�!L�ㆀu������5x>7T��:��J܂�x=�#{���j*��|��W�,��i���g�
!�#�Q#s����o��[��>&�)�o\9?�'��<g������4J��
�k~0���K;����s��f�k��?��L�3gs���bУ=X�̸�M䊚e����Z\�;2y����
-_��$���ҕi��P��#�E�o&�*D�z�Q���-c�;�}D�҅�
Ƹo
�H�h{=
/���Lr�I���|�,*_ӪG��
��<�;��Fi�z��xG&0[C`���p�CtY�TW�G%�U_3��> 0�
(��jm�5
L���CV-�"�
�s5�E���7�d��Q��ҁM}�������Q-�M�N��1�'Tz/#��k�W�p���M
gߦ�A�^Q�3�~��9��@�Gi����A
�7��]ʢE�'�kۍ��C�m\m���
kטmJgr����;7�g��|\��7���2��<�
g�ٌQ�l�cW23��-i�&�niQ[� ����_NK�Ó]��qK���(��^�ݳ��9p�3v�(�
?�E�
G	$� CӬ��aA'c�TiX����4��[�Lk��`W�F�$��P�@t>�qH�g��*�`�6ϥA�
V��N�K�&y׻_��Hܙ���Z/�����G�N���]!e'�����ě�5�r�&��F�(i1��r9�p4�T�!m�SZ��e��is�������> ײ6�o(����'\8�u����P [...]
-�����
!%�p 4���j�\3�c.V<.��ڬx"�N�DۍEX=��ۑ��b��d�d�TDU
-r�@k~2,���H��I��ü��>.�E����gm���ݎRV�.��zS*�	�϶��uv]%=_���s���%������2�h��x^���<O��=���i=6)����a8 WK8d�{5��G���&:�f[��N�wx)u첈򍁛^��3��u���[8R��$���w������&͞�o�5��d�'��j��M!Dʊa(����yI��
6N��f�
���
�
Ɩb�Pw�
���q�b!v�<kk����.�ؒ:��,0V�J��	al���5LXY#�.�%OS4
>�*Ivp1]�V�ۃ<C�P{�~�]���%�U:�C��}zҺ�u���G娡��
�j�,�r�T���E�C_��ȕ�du�
� ��5щl�U~��
H�zpLKH��/4hk��
�(*i�^�<|s7C.X�AF�i
�snE�g�(��R�5W���%�Y+�*�%l
�U�#�A���
�O2����c���9�fd;��t(7����d7ӆF�h3��b�=��
3�%o:�@1���:��):�*��纪yw��:
's����':�5�I�%�2�MJHw�
�g�
�z�/���%Ӎ�������%f��Ȣ�fPK_�I ��M(�0���
-���p2�@�<o�/�
���x�R�tWWg\
�����o�C�:����w<pC)Ĺ
-[#2&����xt�
�'S�
��7����)���
����4�� e͸Np�Ts�:�|1+��
-�OJ]�a�X��x%����7N�c	��Q�労���t(���l��.�2ZW��:����)����M=i J�J0��Ef��A�����m.K��ʘ;z���=���}f+��1���ksx����x�I��7��0@��Ö����q�B����)���屬�#�܎���r)
-����N����H@�C��ȢW�
-.�
-c�G�ͧ�8u���%7
5�C^�e���_��
�m�˜)

��m���`�
D{NU��0W;_؁����#��&�����|/r��� ��9�}3����{g��h~
�M������jʝ��1��6b����5TV�ô�"�$�M-\	{A� 馦�;w����-
-�-��t��4�i1կ� so�u��9.�)�;��@3��,����ނ��
-endstream
-endobj
-3535 0 obj <<
-/Type /FontDescriptor
-/FontName /XDYDPW+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/bracketleft/bracketright/c/d/e/eight/f/fi/four/g/h/i/l/m/n/o/one/p/r/s/six/t/three/two/u/underscore/v/w/x/y/z)
-/FontFile 3534 0 R
->> endobj
-3536 0 obj <<
-/Length1 1630
-/Length2 19951
-/Length3 0
-/Length 20801     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctem�&���TX��c۶m��
�FŶ͊m�b۶�|��o�9=������Xc�{⚸�=�
c�*(�
-��lm�h�� r�ֆΎJ��r��2�J at Sg�_9+
)�������F��	�PD�F && #'''
)@��������	@���NIMM�L ���S������@���hekg
�q�
��
�̀ s+ @X^ASRN
@!.�
-� 

� 
-ΆV�F s#��#�`b� ���`dkcl�Oi�t�
 G;���_7����
��`m����
`�0u0�q��'[�������?	�����+!;ۿ�u�l
�
�
�� �*���;O'3�b;��UlM�Z�9�Sҿta�j�
�m
N at 7�b��vV�c��s0�WΎ�6���
�hj�`ltt�
�����g����z;;+�y����?r0wrZ���02��i��7���

�?�"icb
`d�������\��j�?3C�7	c[+w�1��^���oH ��
�t�}$�7P��B�
��o��W���K��z��+�������������]26��{ �g�X8��|
�ͭ��O^��Z
��t�`�N�"hc��:�
�
��݀�
-�NFf ��=��\���`en����
-�ed`�/:3s#K�H`��
-hc�_+�K׿�W�U���,�*�
'w�����jdm�������������@�������M������_@��y�5pr0wh�����_����?O��F�������Qv2�1�;m�!�Gm�����-��U����
t��,�qZ�f�9�`�
��h��0~
-��]�R��We����Y��^
D�0����pj��/Eu0܃nEޝ
����&���G� kg�>�E��>�L=��j^f
\��A�`g\QI��
o�����ҏ�%����QJ]
ZbrM��Y���#��ȟ�����}
��hRn
��S�D'w}��z�O�WvNJ��f�*�UW��Eg���mƴ
f|�/A�=�E�i�ː`�h��x>�Q�))�ڎEɳe���:>�Tˌe�hs�Æ�E�T�B��O$5
-���
��8c	5�4EM��)v�Zl~RQ�5~#e�;EQz�N��P�] �*���Yg
-�C���h�]���y4-���"��*��D���`�%o4�
�MXT��@|�Om��D�v���#e~�
-A�ذn ���!��K�k����Je�?ǯ?u�� ]��^?�)�uR"
�-��Ò�u��cްz���F;�Xg�
'�M(9�;�m7�/�xł�K�¯��<
-�n�c.z�Yj��'�)�ՉT�t
��]+Sۤ�9/\�,�py�W�}b�����/Xb��zn�]��
���K�BlnN%�^'��G�sO�g(��L��]}����
d�Zr�Y���Q�z28(��_�b�N�[������L��-P�T=�[ڋ��Rܘ�\c�W��H&K�����?��g�[��⣋[�
*�C�� ����^Q�N�P���"��
�X	�g`��� $�q�ܪxK��c�<mn���%�
��O7st��HA�ۘ5S�^
jh�s�BD�����<Q�J
�9��� �;���Ð��Ҝ�`�y�VJ�s�=�zR:
t�e�6�ܜ�'ƌ$����s˦'W��}"�5҅���GsO=YjZ��
���]����0�3�&?
t���
~�8>p�iT��m���QL
�M�P�P��RG��1IYa�U��m�:Q�Pɤ���Ɲ���!���*~�ш7J���ȌƸ�~�]'��
l$��f
{9�y�����*!�gŀ
0E�Wk<TX�{����h��X�(��n��p��Œ�6S�
���Ֆd{��ے���.����� ���F]�`*,�G ���hS�d�
�e2���Kq�z�۽0�?�	�j
�+���dR�Y�3�u����F�s
o�{��}o�L�Ma��r2O�^��w\a3e���o��"�
�ܓa�H/�ЁK*
-9���rO���9����e0,�;���av��οا;��+��k��or���K��nM�p8���?���a�2&Y���a�FA ��{z���7��m����?�r�:�װ�����G�գ��݌��1��Y��V�g�ӱ�;��KC��=j:_�Ki ����k������

�W΄�N<�>�S�fn�H�f4��k��Y�c���e�}#�(�Mϡ��	vO	#^��5Z��T�@*�98��I�M���������

>���#���<�Qt�x���a&��,�r���ɒƈ��nY�p
-��T|o� ��!����q��9�࠙�K$��JX����h��/R��`>��H��4[��7�,ϕg��>>�e�>s
��0�ߡ_	���GY�5�}�&�
�,i��9%I��z�^N
�w����)�
"���쿞R&ȣw�
]��0��X���o&̒\��v���w�Y���׹L�s16�2l������Ǐ^��=4�LS�������*ܨ
��
-�F��Ï>
�0}�0���v#��賐ԉ�Qq�:��07G�a�6����<����T����Nnw�u��L��4XXI�Ɛ�� ��P�[�T
i0a%%�S9[Yk�JEn�;��Kk0��K��IGcBېF|٩�����݄|c��գ�,ڝ��Rw�]�͈d�MV��ƸU���-x`rGǩD�
Q�nK��u����Y�H��
���j�z�J�ॊ'Q9���:cz�	?ޏh�%
,�h������V�����qm�Ց0��-5l�a_�<i�
Է;�
R���kM>��$<J
H���O��U��ZHqQ]"�O̙d�U�+�Lw��Ҍ�1��Bc�Ct��~�UrVK=�B�O}�W#����0�I$���z�a[u�8v�)�/9�k�A��
�=6�]���J;�~�L�NB�T���E��oL����qU�Yx�l�&/��M����
�&D��k'��C��Y�ݥ��� Ui�_�P��|Yg�S�#�yP����&��Zt��@�tn�]aʪ;]Jcgk��p [...]
lYL>�O�;!(��5k#��NA�
˶����ȕ	_i/�||Cm�VS�fSM2�h�����9V^[��6���R�)k�!�r������s�y�3lH�	[�-�5��YL]�Գ'0K|� ��,����uPǁ'�l�]RB�>�=3AN
�ġ�߱��|��i|W
-�c^�b�G����Y��5��
-�V�
-�����n�zPlj
H��{�F�>�!�;��f�	�ne3���ay'i}gB
K?2PC5V�6*��,��>�L_'���ݼ�ҳR�˜~
-S�Q5_����(z<sP�9�(�����1��n]S��f��R
-W��&�
-I����M���V莥���F��{�G-�Z%��7\
höZZ���8��Ɯ#X���]���(�V
�c:���ǥE�P��
-�P�~}W3�Go�D��j*�j����4�}������J'�>Y��;m�:�;���3� �P[:)�,�E�����sj�_D��7 �N����[糃���T8:�J;��r[�����Qw�y�~�-���u6��І�\:=ռ��eņ}������ɵ	e7H��~��*Vyk�
k�R'�H<����9L8,wܠ܍�5?p��S�/|�

��О;�Bq�$a�r�q!X�a���WP�������S1:LH���x��	\��~�Aؾ,��o��U��"��w�Z+"��?����q
��:Ip�ЫB��>
�1�B�,���'�k��-� e
Z��ff������{L�z��[�D��Zɐr;y�1�?�N���D�'9�Y�M]�x�3�H �ܛ
|�A�#��-���^m���|͝�D�+�8H�f����T�vl�҃7
��qA�. ��s���"���\����JQ6A �춢�M�]��}�Zr�
���Q�O��/r�� Ѯ �8}[�vy����N�I;B����0Cպ�HK�bǿ�����IA��f�w6.�GR=�^��H�að��|�
&:��n���(�OsR��?�Cs��E�J3e"=�����z���C
0);G�e��"�v��I��x��i
?�0�Oa��>e����l�pn�퉧]�;�Kdd�[�N����>��8�%e�,���Զ�uc
$ޅd
|Aڿ�� j�9ߧ���K~^T�O����F�"��B�Cf@���l!�r��k�4���m�|�>�^���
Ea�4m�f
-�6P���Gbq`�e"��#m6d�Ӽ
-A�Nk��&3�;y�58�an��k"*�+����5=����Ŗq���O{��t�$+`�
��v,
�6�L�5���P��,#�����u�ʚ��k-.i
�F°B	���G$U&��C
��Q&�
�+�����\_����;Q݊�V�����k�S�P�r��9�(zQ�f������RS�6�2ȇ�v
�Mg+�Oep�d
����T,
�b�i���rkJ�n,�Zڐ�`�G�����
tT��Ai��7��;祊�Rr.U��1̭")���<�t�xOG
 矓���J59�-�Z"$-�<���"�Ĺ����:h=����L���>�}ب ��fD��2�����`��8_��A�3=� �qA��+ at 9��&)���f75�N�a�^w(v��R�
�N7��2�l�c+
�K��;���3We�$�~�Da�a��x
-�+�*�wh^��oW��x�ֵA��=�+R�M�GEx�"����du���5Ks��iYH'؃�Go.h�t���{O�
�L(,�p��!	qT
�zA7[Wz��6��xn����B�, at J>�՗~ɓ���J�+8���^ĥ~.����WLLz��S�x.
	6��S`w jҒmN]�wwT5�?i�.ng�|�9��
�V��M�����[x��'�ʋ��˚���7��X�a�-"�i
���
�3�V/�
-�c���\�hH*���4�dh���"��wI�u�0��8cx�EH���ŵ�(��H���tPqCY$l$�dL��bJ�V�~�T�w����"pY����/}�)/>ũBH�y��A���;ok�G���A�6b��r���Scմ�br�W֖����'6
O��y���q�����SiP2�C�G�\>o�p�F��c߀C����4o��8Q�?�%�Qbɫ��h�/���S���������&x7^�X-]��X�V=�VT�m�Z�W�jA�X$��4S��Z�+4?�ʖ�*A)T�P��(�����5�w|/�~,���[5��Q+r���*؍

+k���������%���G�l(��8���
��g����=�NcԲ�%^B$�rp��/�o�"��)�q��s j�_��Nm3�V��
@"ީn
��9<�pc_'v�]�V~�5���D�0��t#�,{���/�f��T�U���}�rޫ�r�e�T���(����C�)M-�1`6�09o�V�x�v�����ltK�Pk<RxD��}�����pk���	#з��T�J�Q��Ƒ�{���YƳp�&���J�~«�.1�mE�뛎�ݢqs���慁3�b5-z�A���}P�nb�FQ�.9/�6i�~�146t]��t~��4��n�e��Vɭ�a�!���یU�)���u�ԟ|���$�
P�ү��C2/�M9����f�%�l�}
�c{��U���Y�H����:��i}�M����R^���Ri휿�����07�fQȆ1��7�i2ANLU��C����Z}�&�����g���Y
7����22�������l�[��no(�a
-�ʳ�j!V��O]�WA�����w��v���3)
`J�#��I/LA��,��%Y>%"P"
��s��]�۳��G�gHlEW�J�&�ku����G��<��Vx�]�cZ������;P
	E�O�`ae:�VY4^d���=��Y�ٟd�K�Φ��󞈸�
-_����.i�: rD;8X���&�������'A��m_�w���Y�
Y��f�֔'���‡��.�p��?o��&ϟ�x���n��t�����dpͰ)^�,0��ma�������͎�C�1�>�� �����
	�]��W#a�UH
�.6{7�KyC
^w��5��������!
�c�C��GK��XY!���{9�Ƒ���Ҭ����_��t�FkF�����2�r�WҴ�e�|���h�)"f�;#E�d�&׺��(�-(�μ��ؾ�t�R��c��Q��i3E��4�}���Wx��
�fp1�2�qL���^c�̈�i����{�S�պ����G��9U�������0�@sg�J�����F�\��
ma�k�:���!�`�W���Wo���٬;w�h�P?�F�8s��r����}J��c��&��{��BУC�e���!ڜ�kF�/�&CY at MH�N¢T�Qn����}9?:�1�lz���.��X�t��o���>n
~|Ƌ������h�e���u��1��rw�ʮ�=�eeZz������c%t��sw���Z��S	}yf�Y��T��j
���P\�'`bx~��X�C�J$�ɚ�}.Z=�4�6��a)�0�NU�I��ݦI�
R4�&�0��Vw���r����D�9��y��j*|�_��MCv�}�)#�VkW������_��
�yu3�
-�]�.�hn8�0��]p���I�9�`���p:!V�,'�o *M�k��
�'�߉�]����߶�F��G\�\�8��u�J8�����q�!>V�� ��~%L&"0IL
p���VKUA
-j1�
�eXlB�&7@�(�H6ǯ
Be����P�}��FTs瘔+��
K4��-�+�a���]���6iC
�����Z���������$ϱt{L��ag�J�Y����U� ŋ�K�j8@�,�\
c�1Hz��s��X�����b�W�kjZ��G�F�����nC~(����x��/���k�(U��m���|l�1��B�Ѳ�tcf0#̣�����7�V��D��ٳGP`S�*��E���N��!	�q̽� �M�ZF��
-;�/�vVgl�[�K����.5�&JN������˹�޽ȴ��E�ת[}謇�9�
^#T�ᜆ
a��
I���g<�^�l2�jJP)ȴ� ��̴�
-iH�i��������N��x��ҷ��q���rU�,(mڹr��I6���˪���
���;���++A�*��J���J��N��dJ��P�u\��7Vo����g_���H�Sօ7TY\>E��k���5KiV -����̷��:QBqa2|��w��l	��-{)�i��%�	@a�qL>��04 �+h��
A��'����=�C��]^�As�"	]���
�N�9�:���[.��-��a��j6>|����T�
:�4��ˆ
-Is�7$�L�� �\��]֟�?���;�xSw?!�u�-�Z����7XS�4�8%1k��q�(�	�f����0�4�9 ׮V�ʺ�}��=J.��2}���{��E����Ta�ۈ��������7Vc���
�ե���̋��42�K��2 q�h� ��!4A�:��X
E�ylD��R�QDF�%7&`�QK�\I��I���'f|��aR�b�����
�ԴA�
�
��U����.�F����,U�5^G��=�W
O�;Uo��Z!lQ=�QpI*�Q�f�P�[I���g�q]�}���oN�L{�u
-�^�ux�{�o��R���zf{����C
�NI�[`P}#>�J�q:�ytB��
��̴͋�HՒH�KO��[⭥07�4݉X��~/)}?܋<�*����z�_����v#^����?�^1���]�o���D�S~��U7��ȳ�%x-�~h��7I���e�0���c�М�!��$�<V�&�S�;��OjU
m��H��^�Rƃ��
$G�
�������$��m����C�֓ 4m�p#�th�7�0���޴��v畒j(�����n����\�sj a=v\�F]��q�iH_���E�K��G�R���A`U\�\tޔ�x^1��J� �!EJ �æ��
5̽
-��g}Ŝ�==�'�f3'�+H*��	�v��
�5!	�d��k�+��t
-�)�P�6.�]X���d	;�P�uG�x;!�
TK��DϤ ��z�0��e��<
-�?���ٍ�j$�OAɆ�	<[`��fjO����.�
������1l39p��Dea(Yߪ��5܊�q�5�a
��4�:����F-�\9��D�r
�#c�g_Y�a�Fm]����J��N���Py�g�P�@���|��h;3.}�������?8 �L4�yM�V70vT��I�n���KaL� 1��i�t�	�6
-#�Kц�h��R4��k��T#��-��C��hG��'}f'ݺ��9�����Յ�����C�}�_�]���X
?9��h��
���%
�v��H�Wc���~RP����j�Y׬X�
<��p��R��
Y?��'ۧ�-VE�Z�d
��l�l�0T��J0,zyO�O
:��RA��|_y�m�Ѯ���l�����u盽��ð\�R��ϖO��VD��AZ���8����B�:�Ч��n7�ƣ&����k��H�$��tT92.a����A
_R���>���rě(�'Q��ݞ6�
Ϧ
�=�'׻�WX�� ��
�<
.x����E݀qP�*Ӧ�a����L�� �/�kNN
��}��u$���7F���ͳ�ݼ9	*)|��Y�6ȶp[q�.DQ��2����ٻU�~�E�%
J�لį��B��
v�o��
�!�NI���Xg��.�����'�r[Dy�u�ǯ��e����v]�,��Y�Z� ߊ�)�t���k����%	�(���Ec�*p|O�E�l�o_A/ri��
��p>���g,q
&1s{b���g:O��'"�QT�ˎ�[�ҧ|�fMg��<D�O����hr��H�vj*��&&D�c�!Y���i�c
-�m�fy��yͅ���Awj��\�?9Y�/cJ�l�6�z�>rF���)�:m�0E
���|"�z�|�RS
R�tx1
-mz����~�����-Qx����û�ƊьƎH�sp��%�x	����e���&���k�V��
�-mg�t
{��E��yҘ���7B�M|5�(�p�EN�\��nu�9�g��Ź@�{���Oи\�#p���t��>c��:��s��C��Y�6�f5��߲�+��% ���"�]-����\�qAŗ���}�@
_�f�D�u��tX�ĺ��q�0&f��|�Z��C^���(�<%S��.@^M�%����H5���}L�]@q9:�� ��"r��ƯRT�3�
�뫧�5ˑ_��рo$`�B�(�
���� ���� ��N��
������|7��i$�?u��{:88mR��
.���gr��&x�Ęa��?S\��cm��䳆V�@;�k)>2ƚ��+��'�
Oq�h�75���Ѓ�n
s��R{��|r�J�|�C#eq��
?܀�9
��S9S����վs�2Z���˼ 5��4�K�L�ʷ���HE�P��:<��o��H��c�3$��}�-}��§��a��`m�Gs#��Ϋ&�J!�?�bc"3���P1��l�����o
�Xm��P)�Z��t�����?~��Є��p��Z���(��vu�#'T ��AW�.�7Ӥ�-}v��?�
Z�ӏm�;ǀ<�
���7�
E?�:�7��<��B��.�7@}]B��H^�m\ͱ�g6�	�p�j�h�B��p�^M��G��JI���m�(9>
�(N��D���� �%^/ۡa▖���G5���/���E��Yǣ�;q�c���R���P
mnV�|wsV��a�
�_�S�7-B7dsc6���a���4ψ���~-���Y�X��S^� �U��3=
:�u�+���3�h\�
�0MT��1���
-yTg����z3���|�J���_�T�
�.��z�����#���*
���-A��N��C�}NP�iƨ���4�4�r��t��O��@��e�
�F �:��7��Kj����٦ɡ� �cP0ȟ�u��ݟ�ߒ4VY�$D����.�]tBP��Cg�Њ���4�NJ)0����<J�'K�����x�,@��m�||�k��w"uȝRo;
&�ˍ^�.e��
-���������g����^p7�/$�VS��\!��jD����z(Z>H��t�?|n	D����D�e�h\����c0�5I��<4��;��7'�0d�u
ء2�R�0&���yd��՟Vޕ��:L�(�v� ��YAN��I�z��<��΃h�� .����/�	��J�bdcf�1!��5�k�6��+P�Gi�&f!���f!� �5Hj��	�KW��H'Z9���*o�{\�7��/�} �x��ȳ�
v��
����Q�i1�|����q�
�e#v]S�-(��M^�'8+�<N=�E
�F

 a*j5/c�:��X
-
25��#�g�)��L��#�
-7 �h�,S���K��D��)^���0����3t�q�oW��X����ns��

-r:ы���4Rp*�$A?����=({�\�xT�Q��c��p�@d
`��c_��~�k�w�z�S��ȹlZ�
3m��x֤	�����:!�8���*��0k/5Ҽ�%�p{��F��t(>0ᰒ�n<�t�A���Z#��Si� ��hΜ�mU����w�5�G��%�1�c�ͥY:1[�:�w�v3�ź�V�ճ�S�ݯ
�zx��m�{��#�S�8T�:`
-K/Y�Lk"����:�����f_�j�K<ޝM�E`�mƸ������d�oR�Un���ӕM�ѻ�z�8�=a�z�)�Ƭfc�
vw�
w at rU
M�l~ ~RB�����
��lА{��jpVV�H���q�=��K��V�l#�6�s�6����(�
�2�v��&���(t��"�����Z
7��<�ſ$r��?;J(2n��w/6윣|
>54f���
-p{�`��iN�/���%U���]1C
�B@�g���%�
-�qb��>zu�qr_���.`������z��y�S�:-BW=��9ݿ�,��n}�Bؓx�!�
����b��}1i)���e��l>gJ+o��'U���=D�D�
�ҩ8�ɝ%
8%�g
�p6�Ҹ�x�OA�M���@ C�/��{�㩘��,���ԐѶ�I���Ä>񬨾a�Ԥ�P4U���d�N�]�3���F~�U�W"����c3�+�G`�-aY
����|�qI���
����
Ea�����
ԍ�W2�ԕ�I��Ė��VرR��V��#�$:�ꉗ�8b��z�����h*Mrnk�
؇��Lg���hd��
;�65%�;����~�
��ڜ�m;S
��
�	-��#�����K՘�E
�ܸ"a�c�@
�*��+]����0
-kh
�S�B*%���8�K>��ᐈ�b��۵�e������)`I^{e�}78\����1J�}�	��AGֺİ!6�=lR�6T>E��dac�tۙS�so
�s~Ť�d {̲��D�dJ��fvtoh�0�
�TxX: ��NskۯF3� �.��pj�[���.�5�]&���	5;�VqI��Q��f��\�PNrmu�K"���&+�����i1�t(������ �0��\RU�؂T��{L��[���Ȗk�M���8���]�
�OkLA{��>�t=��S� o
�IҼ:L�9�� ��OU�irNEr�2.�Ő 
-�L �R!E:
Y�����Z>d�F��_������\Cq.�
-��V
�
�eX�G�u�]�,@��+�uV�\�?�H
-�=
��~��çߦkt�Rbb-����!�}
�X at Ys�U��vӼcDŽǓ�Ku�
$��6!�'��l�
�ٿ?c捴������Q�"��QV�$�u)��R㳺�n2�qQ(�F�G�9���Kb����g;��I��/K��
>�z�Y_y��
�x�7[%��:����e�؄c�
d]xZ��lzTa�yeoW��H���-�H}ʅ4����{��YfXk�>�&��g:T���͂�Y��_s���I�V[
-U���i�>[ۍ�3r�:>BM�`^��
��·7��:�Ws�R=$,�1�KV��μ1i8�ϱ5]�"\M�Ml��J��vW��>G�l�7
O��e�H�CL�FTR[5��Q����?��G��U���ղă�
��sL��4g٬+^ƉT 
^�&h�%��x��Io�~�HV	�5$���K}�8�"��Z{ �DN�<3
�X�m��"1��;/#(פ���(Ɩ�
-�߅���,��Y
�
�ԏ	��F��I�2����Ȍu���V�`!�o!
tṘK���a?��
Uw5uݩ�쒨Z)lX����r������s�#g�_�fK;�v?_渾��ً~9e��O��W*�i�j;)Q�ç�p<<fꞒ&�w�_ֺ(���
�+��~z�{V����H��6����~�c�h�O��qhxN��P�lj6��
�pԳ�!�X��]���:.&z5�*�7/�<��j\�&�.� �X~"[ܖl����:jq��(Wmi��`�X�C*��p���돲
~jH�u�vN��Z$��Yt/�o�[�y�Z.�7���6n�e������&_�=T_2�Q��I�˻q���(�&�"���-��z���h�A/iB�����˽�Z��%;Q�{�e�5a��	o�{���&�Z2�}5��P>{
�_<h=؄��ޕ��
5&x���^�Zaz*5�$n:� 
<R}���{yH]�Z�|
	>�IwE���������%��{�t�=
s.9�\�.[��;��
�I����ʇ�������J
�
�	W,d�[`�3K��z^��!�Q�$
��ǰ����}J|�-G�,�E*�n�91�
��dgo�A5f����HA����K=� l���3Ȁe�kBk ��"^h�w"
�n.H���b�ߪ�:m�7�6%=���'��Y<�)��T�s�����aʗq���
-k@\������IYk�Tdz��n"����-���L��|�p�t��!���w�m
����`�

\p����	9(�L��^=5�S�C�k
-�>D*g�}e�D�%�+W��u�ɕa�t;�}K C�� ~:۽Z		�Q��T
-b�I�L(�̌��J�}
n�y�=�&��2�++ �&��Y��
eiG���08Yo�C�H�w��^e��|�kN�h/����%f�Z���B�ذ�yNl�����:�B�-�H꠻�^�^CAs��/��k�{����
9����\=K�m>�K�NP�\��a>����ŝ�������	l[~�&k���Ćb��oX�_ɻ~�U���b�uQ�
�Zб�χY�ܣ�	0�+������|����%�h6�V����h�zB�
-�j#J��x����������}�N��%!jY��#�7���Jb��*��Fg>�
5�M`����Y}А κ�`��K͝�t��}�
�~���
�%����&��6.uh�Ӹ���g�f�q"�g��"
-k'줩a�m�o�~�d-eql�ߕ#�4�
t+�o�	s�\�4��L�6iI�@a���y�ϫ�ޏ㨦�zt=Tg���
-VA�v����}� p�%�o3~4�:̲H2b�����a�gk�Iu���1m��!�5��[ӑ�e$q~$
-�d��<\�C�s��҄af?<)•����g�H�^�]�Y��!

�pgB�iʝ��tޟY<¡4ə!
�UQ�V2�_���5B�e��W��*
��1���
�zT8�|�V`D�u謟A��D(�`J��+�ʿ�V'�2��>@��%�fLFn2u��D�m�!?RNAFG����5A���E�e\Z�Iëг(jSk�#~��%1�2�%�PaB�@E�w\S�=��	VIښ�@q�����:,�8v�	@���p���x�p� ����䦿�

�Ps@�
5�&Z%h��'<K0���K�Y��i�T�Ϡ
ݑ��Gk=X(Wc�Dl���΄z{x.�.��ќ�$i��h����Z�(�	g�u	?D�Ωͳ��
�/�ŭ
.��)C�8���F���g���q�����d�:Wa��F_�����޴a\.Yt�KE�c�+�/=�._��;� Ǡt���gvg"���@?��&\9x7
3��`)��ԥ��g�"�����ڧ�3������XU��i߄��2r�%%�Q�%p
��7:�'TN��_#'^5UP6��,I����&���
��ȯ@b�V��Q�
B�Y���
-�
rN��9œ
�l�[wȵ1S0���N���0ox��$��#�zZ���uuo���]���7 nY?ʻ��k��c���0�5�r۷�9)
�F4(<��&]I,��=�T!ۮ��+���X|�8C����,�Y���?4��(��)��ؓ��ʮ|3�t-�nRBJ�{�no:6$׬����E ��u������N�Hs�xR�w6��u�[�gVW}
�дu@����w��+�8]�������U�9Ɇ�#f�c�ӥb)io>��߈��
��2 ��i�V��Ņ4p��,t�6M�8K.
-��
�N����֝KDF��������f�զ� �/^O�M�=NU!zh_��ٙ�$�Ab�=A8���������6��2��l�W��q�//^O
��O>(�]ԏ�)8&ݷ}1"�*�����}�4�2��۫J��_)���MI��J��a�Fg"t�=h�~���4m�2�
W�]^
D ���s�h�	�Z�A9BZ���EQ\�6#�E���ž
�9���}�
-�$B°��B{Q�cѐġ^wC�Bq�Q�
W�Q7��0#����%�?נ��6�
p�������"�N��3����h�����>�t�sbt��d�!�U8Ď�ІhDʢ'�y7�t��Va�јAc�ҡ���r��V!�%k��a�
-�2~SL
G/����8��.6��'
Kg��Y�6+�᭘6,���\U�2��͎.�Lgn�.�C�
���c��z�C��*��m1� Y�
��:��J$캜��5�Db�bF:n`��C�������ιJK`����b����t�u����,5�R
S�
�H�K��Z�9t&��;�|]����=���4��l���ѯ�%&K��ɑ���

L�g�
j���X|�
XX��nzSg�����#�����q�7î
�3q�Γf~���R��
�q���д(�ޯdZ�n�������㽉�H��m&d
-�wK.5�Y�2۲�����
������� �z#�[{�sId����7x��Xwx���9mh˙�m%OM8��땶���Ɏ*~-m?�`o
�`�D��~}�>���pC����E��Oj
ovy�d1p���]��~,p�7�y\�Z�e/ෞI!���C����h
�_ij(>���`��-o���X���[�2�yH�����
u%���S�n��ѣ�@Om��w��ﲯI�[L7<
-���l��-\k�����jCn&�I�>�&���L�,�
7W�����q�s��	
PU�er������~�;?IbW�5����ԅg}"�h�%�gW�p6h�d��T�L>�X�� =%�)}�#�
-� 4q
:
-K���-]�73�~�������7�C��m�{��"
^"Z��K��=���xF�>�
@cUhׂ�^4:}*���w~
��;C�W̆�75a*�s�
�n-r�=}mc��8a���>�:�kaf&{F��U�
-Ż`aia�:��A�N�
�,
�vYu�?��ݶ�H �&v�aR=D�o����7� _��J�w:5��4s�AӦ���;��4�ё���E���6�,.hO�T΢Iq+h�_��P�GbOz�b=H~��������"'�(���/�-5K���p6	�3��"i��4
�"�+\�II����9�$�Z�_Gތu�����
�p�
�ˁ�)ئ��k�Z&�ʦ �E
Xnqk ���B�$��J?��!X�~�٥��M�>z_��M�_|9����V��s��ݴ��=�N
�
-i�|�ۭM�
��$�
;�Y�#�Ò� 8�T��y�G2 �\L���ͩ[��LR$�J�

�o*�B�T
��ى�S%*�6�n��:t���f˦/�+�A?^?��B�k+�g�1#}�>��R9��ѱ���C��j艊
-�2M�p�_2 o�jo�ILMo�PV :���'��SmA	���[��#Ֆ>�
�1ݚ�E�k-�ĒW�C9ƭk=����Z�
�v�
%"�?6���ߚ�����H@\��)�ja4&g�5[�h�[i�yq>TW�U�!7�(8J�[�vMnZ|�:�=)�����;՛��
.-��U��8��s��!)���h5r���ߎI��4��7�P�
�,d��s9�nl�1�5Zp�
�*��|�s%]0l�L_p}4��q�WN)W����6W����%�8/^�O��p"���
7���Ș�w��{
�tJ�P?����"�C}'Fv<���EM�uh�&>
"��
w6�8�8�ş����}�Ԡ�>�`}k��X3��n�>@635_����'��9S��g�+��

d!���_v��K�B��O��7}�~��i
�;~�g�H�e>��`��q�Lu6�4�ߪ��L
#;Y�͟%;і���QPOc��ƾ(<��
׺B
�w�9�
����0�[p"�h�9��^�'�mgx�Dq�T�/C%K�ǂ���� v�{��qo���e/��gV*</�v�e���Ǫ3��~e�**�'Q��8��\�J����
4�t�Dž�29�����&٢/C&Q�)%�HIՒ_׺xq������w:��K���]+

����V�!m�z�c�n��)�aq2��[�:%��
�u�b�a�ٰ�6�&�	�r�gY��������`����R�$�/5O�������|��p���v���w\ܒ���Q���t�ڶ�Z�4��
��%-L.��Y2i�Oh�+fZ�j"��i�EJN
-�2aR<->�ӽ����2�M�3���n`{NZ{��[Q>&>���a*b|t��0�j
�iH�
K��Î�|F��2eO�)���8���-D�d�0����$8�i8o`�ҿt�������.�1?�%�ػ��[�f�6#n(Cp��-�N�����D�
���V�Nܼ�/���3��[@����uj�X���:���LD�P
�`�
�Il�
�&G�~ �qTm_�9��|h��SP8�;t��
�D
��e9�V�
'�c�w
f�y���fUx�-�� 
B`RjE�L�����I�{�,��;rv����3�jJP9�dg�
-_�"V{)�y��㩰6h�BQ��6�qO���qEx���s�
:�� �O�hlj��d��
j �x@�W���d�V%q��'diA�}�xl�^�sj<8c�蝥��,�&�ŐԆ�R�a��WGM��
�Y��[&uA��
@U�\O�dH��nL�	��	5��3�w����
����%�ͳ�!�ي�������[
-������qX	)��9�%C�R>�ǯ
&K��(���˂T���� �"m ���W���q�xI�h?��a��>2���9���T�{W�qu�Lo|�T
BƀD
ޠ`���@�ƿw�M[����Y��z at Z�3�Pxr�§��s^�T�eY��#>1�o�M27��[�
���-��$ցkІ
��g�
䨮��\ѿ�0�Ra$=��)����/��� !��[3)�K>���G_�0?�K����5Q(�Y��8�#���[†.�����;�B`I߇��MI$�ƃ
�@��5nDO�΢���l&��o�R�-Դ��Ǚ�"�ԗ�xv�A��h)-;w5�!���`�]

h�et�
{2}�K�$+i�l�$@J�Z�
j�N7�&Aҍӎ�}�
&L����x���e~{��Ή��	�6$yL܄�舀t(��W
W����	�Z�j�5Nj*`'?�J��`�w����B
��g���B��Y�BaQT�����+�s���Tu��L�`f�c�q�������V�kD����uu9��,�2�N�c�G��I�#4!8ap��Ǫ����ڕp��jt� �����J�Vu;�������2ې�a&D��c�9�_Fr��sP�x}J���0�-�����^��)D�KY�������E1Y����|��.
�>J
�h��ʷ���n �Ɛ��
Ae3.�2
 �4P
-/Gi�|������t�nу٠�/V�V�7�7ұ�GUI�P+
_b8�r��x^�
��`��D�J�qq��ؙ8F_����11-#��F���Ƭ��
F��:jN��^��}E�|��H��:W�ƒ]�Y���߻q4@��vջD�%��:���7C
 
�B�E��[`����߱s��E�7�+q&Ӟb}(>���7���*Q��δ�ɡ�P>QD\h�2��dDZX��XG�A`��_�h���(�J9H!��/I�v"x��-xn���]
-Ub��4
-p3�o�g �L��M�����o�U�$~�>�.���=u5�2z�.G����X {�߶T�ԥG�wt0Dl8D;�yV��M��C���&/"y�b��ē����9,Q�}u^N�w!�R)l��"�
H��Ĵ��)���ٟ��4SExwn����g��I�),�ʹ0���"J
�?(�6�O~;�K/�|v�Z���M˼�h��ј�#�9
$���՝��z	�)��sr�Ϥ<���l_<b���&��#�T��C�e�xb�����&^��F8��)/)�P��}-,�G� +ܖ��F�����b��(��L�H��
.e�� |�[�����%=NyT	��@9�hF����Fh�~`7rl�V�vt�Q��
#��CI�ꞌ��i�"��X�
Z�b5��"�������r�������~+���+N�;��N-��ۀ���4�
-Ǯt,/`���nR���F�S�o�\�t��`,�Ń����[��C� c��
�˴.���Re���Y���M��6U)�+>��
[׸
-H,���SV4��l�
��dV���P������̟FW �
~�ޓ�_���D7�]���X��uy��R�HG�
>��@x�����z��:
-{�^3�Z������(3��
�#��>��%0��EZ�;��d#���PM;禭Tfzh���Ay%��X���XoEp�؞���{'w���W��µ�G�T�`(cSl��7K
�m@\먪�
��w�‡��Y�����QP�ӑGb��7ȄR�
.
'�.S��U'��^��9Fy�r�֒#�κ Z�Ή�>8�[����������j�*�Z��
���L�-�n`��*?�z��<�h�0j������p+��_�!ݑ�oO��������;U7�yb�v�ƣM`���Ȓ��L�i%�
�I~W��%���
����<g��
-B�9��ǡ��Q��[���<���
@v��i$f��+!J��A���6q��"8�=�_��<&	�4f
��,"��P=�#�]+�˴[������S5�
���ɑ�9��A@�!��D���N�3KW�%]%P��G���b��(�d�{0���
�#�=�ϻ�u�͜�^7?�� F2�9��?�5!f@̻  ����?��rD��v-l�@�����]���Vׄ�];�l�/:V�o��� ��st��y*�U�#��� 3�O�L$5Ղ�g'����\�g��Z�B���i�v�2���T,Tk�(fcl�v�=-[��H��v����G���<����m�=d����2 a��z�jM�=}4�u�������
Y�b���m�{e
/j�����Z
-
�+drQ����/�}�L�Y�I�»��ן�����j�֓(<˫|�<�'�gk�ź>:���bƟ�A��J
F���"ń�Td��Y�i�F�G�
-��fL{o� �5cA�	�O'|~��v�,:�k>C�����?�X�[�^ �
L�4�m���W�g�m��4Z�=��ݪ~��W� _�����W3@X�L*[�H��%�Ћ��!�@� ���#x��� ���dT���*��]��ڦ�d�:mN�#�W�ҺB�VA�8���d4ަ�y��=�r�3:Ż�C��A�
W�BO�X)B���܌u��s�^�h`��I¹�n5zO,!����	�N#�菎2�݇ZCxs�
���bve��ݟr�@�4��>�׏ٜW���}eOTf���۔0Uǯ(�����ǩ<���wY�]0τ)T@;�����bg���)ȿ9��t���Y�7�Fѷ~
-�}mW���pq
�\��+�P�$�U
l�0�DP:H�E�V� ۄ���
-�-CA
-������Շ�h49���"ٍ�縀}��m���FQ�+��1�TH]1VX�ҕy�bٯ��t�N�z
6��
�F�
rѸ�����,
-0Zu��K�l|Du2W[�q1�R
|m�dq����n��k��?�7���~�d-��˰�`��G����Q�aJ�����(���-��ާV��x��s?��~�T
 ��HL�zN��
�H'�S<n�E^�	Lփ`�SĦ�?�g\���"���qT
��‚�Z�nW��{�cښ�����_Y�D<����}��/�y���ꉗ�(0("���kp
-endstream
-endobj
-3537 0 obj <<
-/Type /FontDescriptor
-/FontName /SAGEMV+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/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/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3536 0 R
->> endobj
-3538 0 obj <<
-/Length1 1647
-/Length2 15562
-/Length3 0
-/Length 16423     
-/Filter /FlateDecode
->>
-stream
-xڭ�cx�_�&
�v*�m۶S�m���
�6;��v:N:�x��<s��u�w�̜UW�u�u������_������)P���������hmo���h���#Ϡ
-�t�q3���8�((�\�&n֎�&n@^��
 4��Xxxx�( b�N�.֖Vn j
U-::�����`���_OWkK ��
@;G'{���_��kG5 �fXX�bJ�:2�R j)E
����ewS;k3�����H�pt��{0st0���4Wƿ\"� ��������
��Dp��[����
�vX��8��=7G�������?	��[8�+!'ǿ;��bɔ
]�\�\��� �*�K�;O7+�b�Z���w�;���Sҿ��4Q7kW����X�@����������ɜ\���������f@pZ����]]������t��N��V��������
����`��
-��`�ca����olKk8��E������o����`
@�
�?=C�7	sG;o�9��I���oH ���ʌ�}"�7H��"����o��W���K��z��+�������������
4&��� �g�ؙ� �8�f�W{k;����ݭ�w������!�`�W!F���]%������nfV 
����/���9�����W���_'f����[Y��:��ǿ!�����n���IBTBMI���0m��Y�oW��{;�3������Z�C%*���e`��0�r1����#+���O����Z�����
�����������\�	3G��H�����o��/�?�����_��5
�V��] �
h���h�f����ր]06-�74�>�Tެ^�=�α?03j�����>��e����{����H��x| ˎ�?
x]D�OF3�
u�����8�ɰ
1�B+��fI~B��Y�xZEհ�
�p�����&���{��R�YFS"fJ
ZC��e��'���c��w��G�t���|&�i�$�ܼ�]
��>!_=���=}ѳ>�ɂ
H3
�}^X�����Cg�E3\�׭Z�}n�
��� ����\~��
d	f�oQ���
��	�v�d5�{=��
����$��ٲ/e�~�j�h�[��InP�n���=�����
-��H)�[u�
+��'�o�l.u��J����}b��t�����0l�vah>��g�O�.��ujL�獛ߙ˪m��~��7YqĮb��/���Ԁ���czngi��.nz�*�ӋS���9^�	v���O+����p|��[W���
�O��h�{���,{g�>�4�n��n�]
]P����"0�U��M��VA
0
�\#]��+Lj-
��k��d߅���I���"�!�
�
���,�IF�"�_Ko��c?Q 
>&��"��:c�뫗I��w�^�*�'��Ӱ[$�LWo�n���d�� h�zy�������UFI� �_�h�
-��<x`K��UJ#3�7�h�jk�:ڱ)����My33�
-�Bܱ��%wvH�T��E�t���-
b�^ĭ�x
-���ߗx`�
�{�xx+�a뉬��ݦ�����}�r޵��Ǫ��X
\`��f�ķ-�]��"gC)g����E�P�B��V-_
cj@�&V$�W��y.����(��G?��z�����a��XG5Z_쯲
d�(�:DB�H��׫CYw�i�
���z�3<��?�j]�DŽ1�O�ͅv�f@�fI(�h�`
�ġ�?n��
N:��
-�V�����rm�8�AIs�e��4rc���	�f*�M/�+e�h�c_�!il��!�وJ��*!o�
�J<L��dGk�3��?z� ��x��6�}�nh��	�$�
?-�&89WU�O?V
��%lx�� ��0�	��7�y�(�k>�>’Ɖ$�̘>q�� ��-�&��m2A#��YCbY�������s�L?��T�dh���C��ᔈS
5(p���0/f���)6��-��g�PS�uk ?(z��R�,��5��S�%n?���/H���^��qZ�_=#�켆>P�ji[L)�iǗDž	��Y2��
��ؚT�τ������>.���
-��kǻ�#�Щ+�S��-x��QGiߦ�h�o���)��Ag����9�F����l
}a�Ir��Rz	\ͯrlL
Y���oKn��8���U`��ZH�q��>_��<l��/�*~��M��|�z�	�C.|`o*�eR���Gg�מBA��ѸX>�s'�3�L
��WL�-�rf/�)��{�u���uh��ͪ
����L
y��Yh���Fΰqa��s�2��*���y�)[	��1�W�2�����-����3zg��H�ls(9��_���@��/����$��.�����b\{��Q��  m'�H"�
K�+=)�E
�k?(�ݤáȞ��T��P����g��G�/���<�&
-��u�Y���{@�c����g������q�k�F;n���UBȍ�c�C ����a���ny�� �J��
-�K@[�q&����XI#��߄mG}Z� ����Vz��;u@���m��P���HeC�I�&�S0zE1sH
�`��\��lhE��P������3�*�kĈɔ���&?S9��$c;��a3O^P�-4V��)�s��
"�lH;�+�k9�

լ\��l⚷�W at U;��)�s�*��ig$�+R&�����B�+c�/0�>���F�e�O�lJ׭��>��Q}o1�e�h�:Q@�_�Y��k�?Ƅ쾹h:b���
��
-�F�	�Hsؖ�x�I���:'a�|�BM-<HN��0gc���qG�݈*��T�._�"�G
OKL�S �_៥�9lpYR�/��~I�D��e�Ǣ�|Li"��	�NtQ�d:�O�7����L�< et4��M*�۵/��
��^ n�
�c�xd�]�
�\�Qxec�
�A�<�ܢ�J�!!HbtP�DA��LAU"���,����/�C�3��i��|����.���
�nw�k��4����T�y��/�w�U����
,V>�R�������n�
�����}����j����ɛgx�5n�� �+!�8���ڢ,L/=�n�`%���u������;ۮj_�x]t<t����K�# ��G��K�j�����
-��
`FA��+�
=����^h���$4�ZP4�\�5��T�aՐ
-�����������f��"�$�q�ܜ��q� y�v���i��j޸>-�O�L��~* n�N���`�ūY%�%��?*�>����H
9�u���
���=7BK�,�E�����|G�"�}|gs,,�Q�9pWպE�J�.�M�e�:F=��p
�lE��gq*�=j�8p�Sk��SQ,Ŋ�I�׫#?�I=G���$�Ҍ�ø�
-��[ׄ_t��~���:���ȍ�o���~��Z��`ύ��	���y?� ��
i�5YjH������[@�k����J�K�K ����
��,�X/��Ӎ�n��Ѡ[,���3�Ia���{��V�0�6s��z�z4B)^��SP���3�a�[J���>�W�Ŭ��G���4Z'�Lh��(o�R_
�=ƿ+_(K�
�A߈M��V^��6�Y~��}�~{����ud�/���ulϫ��D�`''�d��׺�܁c����{���HyѤm�ؕ^Ab���X �A����;XC}\(x��������3
� �+W��˹�σ�f����#��FCxV��P���W�{�]l�5.���
-�_�����,�OO&wq��]4��b�L3�)0
3����{�)�X��.F_"N��`B׋k��(A)�!��)֧��ס�R"�U��,M]�N7�Z�q���σǦ���̧�$x,��Hï>f��-}h����E�����-&9"Dm��(�p��<�÷���Zl����v�:�}�a��Z�<�	�1f�YDk" ���K95�py��(hEh��"}&􀏞�|5��ǩ�@Vx ���q���%���:�}��'L��\�y�B �_S1Ь��f���|��K�)$%S�#�s�����YZ
I���?%�
��㮓4�&D�Q�4���^}�c�N>`��9�XÖ�%�������k�ii�oD-�
-z�80��|��ϑ��'�[\�w
R˗��%�j:���)
<�?�.G����G��Q'��(K�

������l�S[v�O��g�f{�����,�MS�]��r��w6��`�X �E��
M�i$C}q��`��f��w
�K��b���

��R��B��]����!�=W�]�v��4��[��8���x�~�H�Q�7D7���63�2�ߕm�7B��[E�'[*v?��Ǝ���5^��M���^:�U�$���e�w��
�Zw;֌��!����@o��Rl�|��&��.9��B��\���V��wxq�Zq�(�8�sc�n;
3ݤGW�Ѧsɢw�z���S����LG�+�|wd�?+�@
�H9X�
�"̒v.1��Q�Hh��.%��9Y6���xa�o�^���uM��X�4�FTʢ<;/M�T�,?����LA$�\��ظ��;�E�H���D#�8}ޚA�	(od���I�0e�W�]��Z?��
S^ٗ�_nOx�c�

-
�
-<Y	eԻp
=�Ѱ�w�+����>�+Dr�y��K�1ǂm�'�eKEiJۖy�*�Gk�!˘�oSH"�)kP�l �F�KtC������q
�`��-�&"|8R�;
�D�����׭V��ڂf�F	hk��
��Tŧ��W�K�ᦙ�0��9ؔ����;
�?Lym��μ�rO��^u�н룃�R���k�b����Aw��L�`�^�E�r	��Z��;�B�â�}������7u���Urv�R�Ip�mlw[C��o�y��d�O��׻<��I��#6
]�Xr�s�Ȧ<�0u���1t�
R�#�,
�
}��V7R�r�j��G�UBR-0�y��3Nf|�6M�|~M����c�����Dzn&�!N��Ƥe�B:����S}<�txEyO�*���J&�@	g�Z�>�J�a����OjO|ND��d��E%�
��B
�HV������
-�3�6�
�E at Ey��mn<�FZ�t�3^Ұx%?M��n
FjFf̕�p�
-tk�9�*�������a1�ɣ7��b�J�����a$WP>E>�Y�͆�?����܌`\ǔ7ĞK��E��`�hcj�)@�j�8sףyƴ���15�
(�4N���別-�r��$J�
�kC���e�'��������oUR��!#ں��p���E0���4!`'(�&a���	9����̶�)"I ��>�
��g�L�:�Uq-@�:Ņ��y��!f����qG�kS3�H��w���p�vH+����2lx
�ȼ�V�
-��Ɲht��ǓO�
��m��2�P�vA�`
lXx?1
Ɩ�����
���N^�,�64V��ך[P�*2'�Td���a��CM�4d�ګ�)j�.�7��g
-�j
v��
{����-�}� 3�������E�6�!6��\�U��D�wߝnb�5	������T��yu��_
#iM�Ց�<��
I���
��LP�$����N�Khj�
��I�Im��)�����Wi<h8ʶ��#��D��A
`~[�f�e�%�y�8@?vE���QF��&+
-���5�
��9�� �X�=�=̳���7J�?������\-�`�)K/$���`]�˭m��� Ew�k__yc�Ӟ8��I=�zjd������v���
-��Y���Sh����CH��1�Kk�Bcn�p�=붴�=1կa����>h+0
-]Y_Z
����H??��V;����}g!�m2�I޸��c�=�-�
R���?���|L8�G�c9�",Z�/Bps�8zD�P�Fn�g!����!��=`�%*.���&�e
-�=�@j�%|cԔDz
-�=0�� `�(C��6�&/�ޟפ��*ފ_��QL����#�}��G�&$¥bM���}�ᄉ<A�LZ�N3*G���zB�J
����� ���h#ʶ��n��
sC<}wDL�q���:�G���
^��_:S�:g����.�Icѽ۝r+���`�n��G��#��Úp�q菍#g�
�
�Vr9��g�{5�7�v�}�����
-���Y�
��1�/:�Y���̤��FtHi�6����
vɱ
���~9/C�Ҙᝠ�!9�ٻ�[�Nߓ����E�>0>�_YV��h
��L�����
-$����0���bn�V���r��������

�24GN�9�(c
Au?4o�E��w�~�<#��U‹{������
�v��~��u�,��(��
���v�����
�$Pq��V��G�Ӹ�"�8ܶ�{#�(���Pn�
R$������c4�X�M����xƮ��D�J�g�}K��:#��UF�(�8�|�}]
�J�雓"/T�CC#{$�7�Ӆ�ň�Q`�z��i�>�
Ծc�� �lN�E����c�Ź�[��1gi%?<|b�Hl�e�X�� 
�B_�!�jw�-ùQ��,N�K-�VqO_	XEU�8DB�ý��C���N5
-��zT��i\JS�Fc�Š%���tqh	�mz�i�
���=�����(�\���D��/	5�
c�Sq�/��0o����
fⲛ���ϣrT
��?,
ǫ쏓�}M�
��r�8���L�,�^;��fT���h�~Z"���]����|!�J���Ȇ���f���t�Y���9a��Eqgp�r]���w��Ш�
�T�j�Zk)`����$N�
��_ob��F���ٸ%�y���nW�������«�T��AG�0��?�8ű>\K��;�(޻�g
mT���>����#
z���{L�'�v��
J���#�\��T�ʇΦy���-�jk[
P�	H"8_�(������C޶wR�Gs& ��f�0"22�T��Ȫq��V$T���lk��n�i�����&�X�X���y�����
�q ��ڴ���Ǽ��γ��i}�d�/�Wb����u�������U��8���ޙ�i�+7�v�W$�|����l��D�af"�
�Y",')X�?J�
��jl2�lO�r,�j@=�.���[�חg����42��� [...]
-7�-q�G����[1�@L���;�gX�j��׼c���z*
�K�{E+�D�6Ӗ�C,/2U�/����"��oH���W�Z
� ��9H.�F��cx��˳����}GI8'Di =:HxL�~��&�b�^�
-Ez,DZ4F�f?����7�<��^=0>2�5��n>���h�C�e��hY��1�Ǣ�[�ʴ�́���а����]s��j��V��̊�����9F��R�D���n�#�A�{��&��-�'�����wlK�<�pV����^��_�x+I�-e�f��
-�VV�,��͊D�
�`�r
/G"$\]�в�ɯ���w�5�L��5��X�~z-�A
��rZWJ��P�<�d@B/�f�>�e�.I��r6bs���(��%`.ޑ�?�c����z��ʢ�dx�_�=�/i����Ԅհ�-��1Q,���o
-�;l�N�{F,�4	�j�+�.%B5'�嬂�
8

dl�"�ͷ3H�?:���5"�**a{��=�4�|�"-��k(�"���a�"\��UҐ�`�"�2?����P_�b���&:��Z�jI
A��IT&�V6�-g]@���Q��Hz��~tlQ��{
-��B����*�$|���%�3��B�ʗʁE��.�y
h����-����쭈tk
d����Z����Fk��e���=|
�U�6;�r��5�G�����,��Aǩ�w�j���B^3B5aN��z�qV�
U��!�)�cw�=E�/X�^�AWPvn�a�(l
�,�
�
MM{[AtW��qS��r�@��:��
YҖ�]b�d��O����oo��C>���j
�o蛂��*��xxA�
��Z‚[��r�)vvqn�N�Ϋ��铤/�..�bfv�sׅ��O���\R�/��	�r+��+?�L��8�l��*�w�X
Վ����կ�œ4|;��&T���Y�dx*�Bt��- at P�=d-j�q��HV����)���Gk]D�N
E$���i���;����O���vgc
%u���ϛ
E()��z�#��(��p��
-7�y4}|��bC bw�,NX�Zi'ZR���o��G��-�a0HГ �}Q��͂�k]'=�E��� �a
���'dq��
��PC�#��
9M7��:.��yh
V�!d缠�C���m�GN��2��t�S���J�0S����(v�e�v[mD,���
���ݡ|/g�T��O��(��?z�'s�'��.O�����:�d��5T5.�dn@���y�<�Գj-����
/�r��.B*
w��b�����O%�����]
�sk&E��U���4z���h̽T���8��	IC��i�5[L
�B%�n��S��{[8���Y'�a��/ѯ�Q��>ĂB
���'�����HfdN4�pw�]i\v�%l�0H�(��L�{_Pͯ��S�0W�^��S֌��L$wd�]Z��s��Q4��5,�*��/�-�$Y^&WK>�����ݨ&`���
3ܲ&j�
�	me���^�T*aM��n��a��?ApB��p�~�Y����^ L2m$|L�*
-|
L=�:�s
�KdU�w\��M�,�]��K� ��|��
�y�\��D��Oy6���j���d��g��G
!�7
-���8��t�>�hn�]��R�|�FchibI�U��A�m�
-�6TlG�@L�i��#�(x�>嚲A�.a���X�! C+[5C���gl�_���Lw
-��w.��?�䭇�
�W�h���PD�!��ڥC]+`�ѧ�c~E����������"w:���U��o���5�o�7,G���xpVR���%�D,F4(6�~)�p�a⡷{c��H0){�5�߯C4_��B����[
��cI6��4TK|e���jq�}��h�X@>`�
���`�H`"j䠘�H�mc�=I��n�8u�1�m�0�Yi�G=��G�uo)+�-��
FU�
-��?$4Oo��ą�v�yU�����W����UT�b�r�u�����ԥZ�j{q?��7����0^j�$�.��)�3h�Ơ簎�Z�E|S1��iҹp�'gYF�}:��n�%���u��25LG���[i1l�J�9�8�d��e������=���`�½醶�¡l���̹���6��Jԛ}r&�	��3�����\�b�{������('�Pxs��X�yf�3�;uOe-�{b}l�\�%�_
��
�����
�T����-���
h����p��іkÀŨ�h.X�܇��qiWj#H��(A��E���+��Y=�5��{
�dų���kğ��0�XDnG��	�t	��b�:/c&�4�%���\�9vɭ*c��*�c�������&� \��<���I����+�����zQ
Z�̌d4?�E���;���x���Z�PO�X86��Q
���x ��
؃}5�&%��J!1�9��[I/�.����:��Wh�~X��^�S�Q���h�3�$��7E������!���1e
�����2�:�n� a
-?ⓇgT�j��@dߞ�c� ��Hǩ���
�]��V�
{p���2��P���M-�
֠�r:v(LV��b=[�=9`J�H@)�@$�e�7�&T"��w7h
-���i�B$�z"�0OaG���Q%X<��0���S\
��
�Q�q�
'�����;f
?kh
�
Q���Kh���xRa(��Ƣ$��,.u3�����v\m��W'&�v�/�Q�aoq����
-���	�}���
-��@�I�
*���o�9�\���6

��':�8
-a�kv�u�"�A-�==1Q��XR�2O�4�ѩ�44&�&s�3Y�
��'J0b��Ά&�\�DJ٘S�5JO�x��_	�t#ꮝ��[wQ>
���R��ϩ��{G�!GY�⚞m� d)pL��s=g?MT�C��쨨Z�P���l��腗VLc�E�-n^1����:;��YƎ@Q�� f6|�<G<��
-&?#��sZw�Z�Y�AJ�r|���9���M���k���`�a��
?��#�FӪ�������m��m��e�^�r���w�"����f�~x�>��1��
&
��P�ȾI���1R,_��=���9���m���Nx�=���d�C���
}�­/��i�N�(Џ&��}���^S�S�έ���r� �c ���;����'
�	gM��#�m�Y�Ks}�@��K���g�%�jF}Q��"E�<D-w��#m�h!�{Gՙ���'7��BVLq�2���ߌ�

�7���-�6*(�CX� ��'&3kbK�����	h�
h�������mn�t�>�dO���a���ó� ��Qd�>,�
-w�T��MT��1b,�ߌ�5����=Q�0:�\ЁuF��A5D�%
���W��LՑ�[jG���(\��i��.������

��Rx�{|p�j�?=�"VG���^?���-^�����סX{�5m?� j:��~6�7ZH,�+�t�,h^�R�WT��^v
{�0H�K����%eOY#���+$��9ZP�aBb��VSDz��TԬl`W�*�O0�UB^=�do�=�����z�z�?[٪�<�>�Dt|c�r]���=�
���uY��e5v��|��ŗ��e=���+о�'���9{!ϮyS��t��B'�N�+K����i�H�D�{EY�l��:|�x)4gZ�0����Q�x�a��ai~4�d�wq� l&��AG
������Y�����e�xߌ���
�m%�a�����漻A�P�J���W��_�J�ؒ�׸�!-aD/�8Q��
-���L
�9�fU�:9/�1�
�;�U� ��/�6o�m�f�VΖ�T>�a(������r�n�Ȱ
��y�]�wq?���@��
���k|N��I1
�P׼ͅ�h%��>���+=�HÚ*�kh�5zqF�!����
�FmQң�Po���O��Y��Q~v[q��2C���`t�3�c������nR��>��%y�,
���<v
�o$ĩ�0Q�#�q���y�H�p
��^�M���S�Suf
���pS�(�q��EbƐt�?��T��X���V�Lw|�q�zg��uT��
��:����ő�Et[��������M�[.�f9�
�-�+'P�m�G��{���|�����%��I>#y˗;L1r1�f�B�'n&�}wsV$l�E��UӚ�H5s;��H4�c�jIi�|
����]g��n&�	-�V2�����|�]�u��Km�ؙ[��HT$#�G9*���a�
N�g�Q;��i]J®
�p���

-
�P�lw�|͸c!�
M��t��e�Ji�u�
���U�Q܁�]�1�� ��[��,/^QWs
��x��	��Qy}�/\��s4q:�'��x�f�!���~
D���0[g�B�{�r
-^?7���7X�^�
���
X�d+��ՇØ��\T����
/'l]Z�����@ۙ�+ͺ�˲��\>?���Vիa�f�s�
I��	�
�	(�ܔ�+E
-��8��+&
��T6~��h�&�������	
-܌����Iu��9~V�����a7�E��i,�z�0K�
|Pc�^���z:�C�(�	2���L��R�|?q��
-�1��,���>�c�@DZ�g3\�����mb�n
�:c��ٚ�OJV��y���((�0�#".�8�����W
�m��SW���x=Ib�bP?@����qd>�yi��5<
-���.�����X�ؗ�K~RZ�$v���s���?		���>�
-��`N 
����9�&���ǡ�(B��!�ŗ��]=SK�I�<�P�PO��N?Y0�ۮ�d����2z�Q�z����Z��
S�����"�x"q
N���[hݬ���
W�0���n���
u��'��)��m���
�4Zi�
��H��V�o�Sx�Ϗ�gN��[�����a�̌rA)�VBی]���|�ڹ�@m~+�
"�Wk��fL�ǡ��xӽ�ֶ�xH]�+�B4�'KK�k���!�҇�!<J���6��S���@��a�)~�[��T�Uox$Uԕ��%�^�sr���nn��8�1t��De2�vpKI>?�:�k�
�������]�L1���A�n
X}��A�HŰ%�^%�
�a�p����1ߌ�!�.�
�	1
��
�	\��s++9���ׯ�~��g=���
��MiI at X+����	��d*�4D�I�5���G,{�������{
�WN��I�٦�`���֟Y�3����
{UT.�}�	υ��35�
�wg%�to�P3 
�Ŋ���]&�����W4�r3 at G�2^'�g��k��}
����@�>]9�܏l��@$�J�ᳬ�<��	�Y�-���Κ�3w9�hR�H+ j�vP##5"�;�Z_4�[Ͽ���Փ���%���c�ui�b�
Q�ә�T4)S��V4 ���
1��a�����E[ƺ�Ε��V
ᧄ� �F߲_��f��L�O�=1
�=q�����
#�O>�w�\S�X��x�{
'&
-���'I�se�W��\J�p�L�do�Od
�� ����}�U����\��5�J���ّ�}���|ݴ� vrc��.�
\�X�����@[�p=6k���.�/f$1z�F������7YJ�&������M �M�>��+��
a���Y_�8�u��b��4���VR����[Z!^�� ��0�
��:����	y�[����L��F 	�u�=D����SpC�a������9���Y�V�����xƯ@�F!���n	��V*�d/��X0����)���D}�*ƣ8z"\��s"u����$���v��D�TG��v��l>9_���������J{
߸��.x/yn:g�m��p:i��6	�8�,��a��������"�������Y����ڻ+"<ze��E��6�o�^���
x���W���\���
ஏ�)�	�:�vwx��
9�_b����7p�u���N{
	n�V�п9�
7z~qb�md��[@7Erp�C����a�c� [...]
-�$Sj�E���4e��fc�^��
h'��|�e�D�Z��bg�=�OWN:� {�5
��
-�E���X
�מ��R��ǰ��Y�VR���G�p�}�S$�3�<��KљB9��b ^�%
��T���?*�<5��"�!ʗ	]�-34�A>�z�XZ��E��\w_%�F����'xx�m�S&ˋ#������U4�H���peZ�H��"K�Y$�g
?]�
-��*���@���
-eR��H�Ft��7
���g0��g�!�GKD�T�u�F/,��҅�J#�0V~i�X��z��=�An�5
�mN.��!
�;&�{���̆��
o�C������
Q�n!7$��;:�,}Pރ��p�-7
�ǚ�@�@_�H�i��e�`=���wm�.��I��~g
-^
-
���k�%����A�Y]�����ӂ��(�H�'t8[���1

o�9�Ljm�V�6�Nd�X�8=�m��=��ᔨg\U!z8��VNpm:p����G���OBS�=\_�Td>��?�
��ڝ���[m�eh� +��Y�-�g��ûiU
��_B�����C̐�n1j�^�w?��41�3N�R��^�{8+�PH�s�*M<�n?w.��~ѓTIP�)D���1�2�> p
.
� �4ipԔ�kj�G�Ȋ�
`O�ז�7p�4mf�'T�߱2�`=:IkB���GA��m}#'�zk�7R"�@Yޏ��	�&�;�~���
����l���u���p�&��R+Ip&oV��
�3J*�
s�%�wU��oY'��LH�(���v��L0(�
z/�Cr9���+��������qZ�Z���ŧ.t�GV��T@����HQ�q"�,c�����m��bCvm/�W塟�5�nN�L�����hh��	�p2W�㯹?�Y���No�lϪ�O��6�v�ᮛ�Ԓ��v�=�ۃhp���je1ؼj�~,
}D�*q
F��+�:ꏩ*U�G":����Bv�r�`�� �35�xZr`�}^8Jq�ڌ�@������ �V��xZ�.q�5Φj�*Rf��ɪ��'O��T�c
$�2��

%����r0׽�)<�2���Z��]� ��ὲA�u�Y���U��\E�obX�U���sS>+�z
�-M'��M�}���b��C�YH��},�)$1n ��+LF���\�Ki*�Z�6�����uu/W}��
�k��{|"�Ǚ[�̃I:NV%ϐ��Wo�v��[J���Y{7�V
��ɻ<�ø
�^�75i]����َ{pA��3�s���<�
-���N����P��:�ˏ�*�!�&���N�5a�
I“�Bn��.���j찚��OT@�˧
-��f��[Z"j_�R���}�Zx��}/�����N#�P(��o�/;x�;[��u�c
VS�J����n

s���a�N�qm0›V��x�����q��ȫ
8���C
;�$<���mc&}R~�`Ղ���d-�@(a94hɪ=7�
�J���h��ݚW��>���Ym��f��ˌ
p��
�ϕ�yW�;�a"�Fh�㞲a$�ɶ
�|��p�>k{e�
f��	@(��f�"��e
-�*�4Urg]�瀑YtJZm����3�ٶ�U��e�
n��p	�c*��Md����+���h)��w��b!:5{�Z�y?��W��FD��ޅ?��rH^Tߨ�ٕx��X��'���G�ґEWb��+^z*FC$��ӂ{o�L����Ї�ƅ�oH�
!5�n��P~�w�'1^
�`
<�����KN�!U�ް*`�L���9��&ȦkE�~�N�=�@�G)��&�
	�l�K�
/�b�F?!zލ���W��{PXפeJ��S�׏����FX
�灊'Q�l�,�;}o/�Mϼ���"��/�$Q�z�L>��
\**@g��ۘG
-خ�sks����
�ɅЏ�����ů46754��}Ī���
���(��P5��
-�� ѽ�p�L�snF�m�,`�����8�ʁN
��e面>�6��]�c|:�En���@���F�g�
�̈́��&�f��
$�,fT0���t��
Qb��2�Q���2��#�W���4Cx��S��c��H��6aw�y���L�+
��<<mr����C���%��H#}-l1!�K���)[ّ�Q=��W~/�m1p0��mn�T23C��ҍP|#����*hb9S��7��X�x�����Os$
����u����K0�Lȓ,x����(
,�S�0
�N�/)���}K����H)��9�� ���3����O{M��
1�-�"����p�l�^
Ά_�i�s������߭:4�ЉN宗����6�ի��m^���ؤ�GSia�>�
�G[֐�3Y 	�����3�Q�>�"����5p�R�Bi��̽�F;�B�wV�

~Z%U�����RK�N��J��#&ҕ�6:�K^��|�N6�E��S�<D�K�
Uo(��2yD� +�FB��}�*ř\Yl�?�LbdW��۸���7�ߌ�B�^M
�(꼄�qg<�:.Rx����GT.G)V
jv��I��֭��0_���b;��7���Z&�X�.��b3��G����Z<��K�r�կZ8.��É�����6��
��db at E�ߧ�.u]5C�pf�
B�)�w^�Dž����qc*��
�

���L�|��2LbLJ۶��:bC+���x�������
0>~
���n-�!�
-pG��۹Ҝ��7�����ͬ�M�9������o'��f^�a�sw�z[�L�I}[⥦/o��tƛQ�Sٹ����`���۔G��x�Т�|K�w���
�n�Ŷ7{9?i��X���{�7�����O���K�k,��p�Fp����`�DS�ɶ���ӻ�
��k?�&_	
C�^
9�}U�b8�;�j��
�-"3R��4�'�>���ܫS3���v��4k�X[�LG�qk�u����P�cuO-���G�\�E=���1�%#��G����1���z<%#��sT�^�Hc$��\I��c\��γ��ߪ4w/����D��@�y!�fK����5���:F�
-endstream
-endobj
-3539 0 obj <<
-/Type /FontDescriptor
-/FontName /EBESOF+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/W/Z/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
-/FontFile 3538 0 R
->> endobj
-3481 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater 64/at/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/bracketleft 93/bracketright 95/underscore/quoteleft/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/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
->> endobj
-896 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRBWAO+CMMI10
-/FontDescriptor 3501 0 R
-/FirstChar 46
-/LastChar 119
-/Widths 3489 0 R
->> endobj
-908 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VNHVYB+CMMI7
-/FontDescriptor 3503 0 R
-/FirstChar 119
-/LastChar 119
-/Widths 3487 0 R
->> endobj
-1180 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /RMKTHO+CMMI9
-/FontDescriptor 3505 0 R
-/FirstChar 46
-/LastChar 118
-/Widths 3486 0 R
->> endobj
-897 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /XCKPWW+CMR10
-/FontDescriptor 3507 0 R
-/FirstChar 48
-/LastChar 118
-/Widths 3488 0 R
->> endobj
-1569 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OPBINH+CMR6
-/FontDescriptor 3509 0 R
-/FirstChar 48
-/LastChar 117
-/Widths 3483 0 R
->> endobj
-3198 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UYHLKA+CMR7
-/FontDescriptor 3511 0 R
-/FirstChar 98
-/LastChar 117
-/Widths 3480 0 R
->> endobj
-1181 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /HRPHYH+CMR9
-/FontDescriptor 3513 0 R
-/FirstChar 12
-/LastChar 118
-/Widths 3485 0 R
->> endobj
-168 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VUZELH+CMSY10
-/FontDescriptor 3515 0 R
-/FirstChar 3
-/LastChar 21
-/Widths 3498 0 R
->> endobj
-170 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ATFWDW+CMSY6
-/FontDescriptor 3517 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 3496 0 R
->> endobj
-3199 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NSJEOL+CMSY7
-/FontDescriptor 3519 0 R
-/FirstChar 48
-/LastChar 48
-/Widths 3479 0 R
->> endobj
-169 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 3521 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 3497 0 R
->> endobj
-501 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /GCEPBM+CMSY9
-/FontDescriptor 3523 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 3490 0 R
->> endobj
-1568 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /CDCNLO+MSBM10
-/FontDescriptor 3525 0 R
-/FirstChar 81
-/LastChar 82
-/Widths 3484 0 R
->> endobj
-2094 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /QSNXBJ+NimbusMonL-Bold
-/FontDescriptor 3527 0 R
-/FirstChar 91
-/LastChar 116
-/Widths 3482 0 R
-/Encoding 3481 0 R
->> endobj
-203 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NQXOMN+NimbusMonL-Regu
-/FontDescriptor 3529 0 R
-/FirstChar 33
-/LastChar 122
-/Widths 3494 0 R
-/Encoding 3481 0 R
->> endobj
-313 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /BFMNIZ+NimbusMonL-ReguObli
-/FontDescriptor 3531 0 R
-/FirstChar 39
-/LastChar 122
-/Widths 3492 0 R
-/Encoding 3481 0 R
->> endobj
-201 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /RAMQWY+NimbusRomNo9L-Medi
-/FontDescriptor 3533 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 3495 0 R
-/Encoding 3481 0 R
->> endobj
-474 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /XDYDPW+NimbusRomNo9L-MediItal
-/FontDescriptor 3535 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 3491 0 R
-/Encoding 3481 0 R
->> endobj
-167 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SAGEMV+NimbusRomNo9L-Regu
-/FontDescriptor 3537 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 3499 0 R
-/Encoding 3481 0 R
->> endobj
-234 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /EBESOF+NimbusRomNo9L-ReguItal
-/FontDescriptor 3539 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 3493 0 R
-/Encoding 3481 0 R
->> endobj
-171 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [162 0 R 198 0 R 230 0 R 241 0 R 247 0 R 255 0 R]
->> endobj
-268 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [261 0 R 271 0 R 277 0 R 283 0 R 290 0 R 297 0 R]
->> endobj
-314 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [307 0 R 319 0 R 325 0 R 330 0 R 335 0 R 341 0 R]
->> endobj
-356 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [352 0 R 407 0 R 445 0 R 467 0 R 490 0 R 522 0 R]
->> endobj
-563 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [554 0 R 571 0 R 613 0 R 666 0 R 719 0 R 777 0 R]
->> endobj
-855 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3540 0 R
-/Kids [839 0 R 877 0 R 893 0 R 903 0 R 931 0 R 977 0 R]
->> endobj
-1029 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [1015 0 R 1047 0 R 1079 0 R 1126 0 R 1168 0 R 1214 0 R]
->> endobj
-1269 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [1251 0 R 1302 0 R 1344 0 R 1391 0 R 1428 0 R 1463 0 R]
->> endobj
-1531 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [1511 0 R 1560 0 R 1598 0 R 1627 0 R 1680 0 R 1718 0 R]
->> endobj
-1783 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [1764 0 R 1809 0 R 1863 0 R 1900 0 R 1947 0 R 2002 0 R]
->> endobj
-2080 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [2063 0 R 2086 0 R 2112 0 R 2150 0 R 2205 0 R 2257 0 R]
->> endobj
-2294 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3541 0 R
-/Kids [2283 0 R 2311 0 R 2340 0 R 2374 0 R 2413 0 R 2457 0 R]
->> endobj
-2496 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3542 0 R
-/Kids [2482 0 R 2522 0 R 2567 0 R 2616 0 R 2673 0 R 2737 0 R]
->> endobj
-2824 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3542 0 R
-/Kids [2804 0 R 2874 0 R 2946 0 R 3005 0 R 3064 0 R 3124 0 R]
->> endobj
-3152 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3542 0 R
-/Kids [3144 0 R 3155 0 R 3164 0 R 3173 0 R 3182 0 R 3191 0 R]
->> endobj
-3208 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3542 0 R
-/Kids [3202 0 R 3211 0 R 3219 0 R 3229 0 R 3302 0 R 3368 0 R]
->> endobj
-3426 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 3542 0 R
-/Kids [3423 0 R 3476 0 R]
->> endobj
-3540 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 3543 0 R
-/Kids [171 0 R 268 0 R 314 0 R 356 0 R 563 0 R 855 0 R]
->> endobj
-3541 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 3543 0 R
-/Kids [1029 0 R 1269 0 R 1531 0 R 1783 0 R 2080 0 R 2294 0 R]
->> endobj
-3542 0 obj <<
-/Type /Pages
-/Count 26
-/Parent 3543 0 R
-/Kids [2496 0 R 2824 0 R 3152 0 R 3208 0 R 3426 0 R]
->> endobj
-3543 0 obj <<
-/Type /Pages
-/Count 98
-/Kids [3540 0 R 3541 0 R 3542 0 R]
->> endobj
-3544 0 obj <<
-/Type /Outlines
-/First 3 0 R
-/Last 59 0 R
-/Count 7
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 59 0 R
-/Prev 155 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 59 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 59 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 59 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 59 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 59 0 R
-/Prev 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 59 0 R
-/Prev 131 0 R
-/Next 139 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 59 0 R
-/Prev 127 0 R
-/Next 135 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 59 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 59 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 59 0 R
-/Prev 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 59 0 R
-/Prev 111 0 R
-/Next 119 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 59 0 R
-/Prev 107 0 R
-/Next 115 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 59 0 R
-/Prev 103 0 R
-/Next 111 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 59 0 R
-/Prev 99 0 R
-/Next 107 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 59 0 R
-/Prev 95 0 R
-/Next 103 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 59 0 R
-/Prev 91 0 R
-/Next 99 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 59 0 R
-/Prev 87 0 R
-/Next 95 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 59 0 R
-/Prev 83 0 R
-/Next 91 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 59 0 R
-/Prev 79 0 R
-/Next 87 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 59 0 R
-/Prev 75 0 R
-/Next 83 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 59 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 59 0 R
-/Prev 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 59 0 R
-/Prev 63 0 R
-/Next 71 0 R
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 59 0 R
-/Next 67 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 3544 0 R
-/Prev 31 0 R
-/First 63 0 R
-/Last 159 0 R
-/Count -25
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 31 0 R
-/Prev 51 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 31 0 R
-/Prev 47 0 R
-/Next 55 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 31 0 R
-/Prev 43 0 R
-/Next 51 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 31 0 R
-/Prev 39 0 R
-/Next 47 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 31 0 R
-/Prev 35 0 R
-/Next 43 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 31 0 R
-/Next 39 0 R
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 3544 0 R
-/Prev 23 0 R
-/Next 59 0 R
-/First 35 0 R
-/Last 55 0 R
-/Count -6
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 23 0 R
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 3544 0 R
-/Prev 15 0 R
-/Next 31 0 R
-/First 27 0 R
-/Last 27 0 R
-/Count -1
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 15 0 R
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 3544 0 R
-/Prev 11 0 R
-/Next 23 0 R
-/First 19 0 R
-/Last 19 0 R
-/Count -1
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 3544 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 3544 0 R
-/Prev 3 0 R
-/Next 11 0 R
->> endobj
-3 0 obj <<
-/Title 4 0 R
-/A 1 0 R
-/Parent 3544 0 R
-/Next 7 0 R
->> endobj
-3545 0 obj <<
-/Names [(Doc-Start) 166 0 R (GFDL) 322 0 R (GFDL_GFDL) 205 0 R (GPL) 244 0 R (GPL_GPL) 206 0 R (group__Datatypes) 578 0 R]
-/Limits [(Doc-Start) (group__Datatypes)]
->> endobj
-3546 0 obj <<
-/Names [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) 850 0 R (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) 885 0 R (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) 688 0 R (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) 849 0 R (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) 633 0 R (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) 853 0 R]
-/Limits [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940)]
->> endobj
-3547 0 obj <<
-/Names [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) 621 0 R (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) 727 0 R (group__Datatypes_ga261d916137f01c0effdefeb266a73172) 734 0 R (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) 785 0 R (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) 736 0 R (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) 617 0 R]
-/Limits [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec)]
->> endobj
-3548 0 obj <<
-/Names [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) 673 0 R (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) 630 0 R (group__Datatypes_ga43246761a1030d751e756845a246bf68) 728 0 R (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) 623 0 R (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) 865 0 R (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) 675 0 R]
-/Limits [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5)]
->> endobj
-3549 0 obj <<
-/Names [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) 732 0 R (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) 856 0 R (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) 848 0 R (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) 684 0 R (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) 789 0 R (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) 626 0 R]
-/Limits [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6)]
->> endobj
-3550 0 obj <<
-/Names [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) 808 0 R (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) 676 0 R (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) 674 0 R (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) 632 0 R (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) 672 0 R (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) 729 0 R]
-/Limits [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
->> endobj
-3551 0 obj <<
-/Names [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) 862 0 R (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) 787 0 R (group__Datatypes_ga735949470e98393af90b12f534b06cba) 880 0 R (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) 738 0 R (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) 723 0 R (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) 631 0 R]
-/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551)]
->> endobj
-3552 0 obj <<
-/Names [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) 847 0 R (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) 869 0 R (group__Datatypes_ga82657533544652eb3ec1334a72da137e) 783 0 R (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) 883 0 R (group__Datatypes_ga84f27605574583d674403f6d71a73a24) 624 0 R (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) 627 0 R]
-/Limits [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f)]
->> endobj
-3553 0 obj <<
-/Names [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) 730 0 R (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) 733 0 R (group__Datatypes_ga97b246f11809448c53f089779c0019a1) 780 0 R (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) 683 0 R (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) 854 0 R (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) 781 0 R]
-/Limits [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56)]
->> endobj
-3554 0 obj <<
-/Names [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) 629 0 R (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) 682 0 R (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) 851 0 R (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) 731 0 R (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) 669 0 R (group__Datatypes_gac9397590f57ede293eed34366aec11dd) 724 0 R]
-/Limits [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) (group__Datatypes_gac9397590f57ede293eed34366aec11dd)]
->> endobj
-3555 0 obj <<
-/Names [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) 726 0 R (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) 625 0 R (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) 670 0 R (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) 782 0 R (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) 846 0 R (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) 620 0 R]
-/Limits [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b)]
->> endobj
-3556 0 obj <<
-/Names [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) 884 0 R (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) 881 0 R (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) 618 0 R (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) 797 0 R (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) 678 0 R (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) 845 0 R]
-/Limits [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
->> endobj
-3557 0 obj <<
-/Names [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) 722 0 R (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) 622 0 R (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) 882 0 R (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) 680 0 R (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) 686 0 R (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) 619 0 R]
-/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4)]
->> endobj
-3558 0 obj <<
-/Names [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) 791 0 R (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) 803 0 R (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) 725 0 R (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) 681 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) 866 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) 868 0 R]
-/Limits [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce)]
->> endobj
-3559 0 obj <<
-/Names [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) 867 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) 859 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) 861 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) 858 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) 860 0 R (gro [...]
-/Limits [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601)]
->> endobj
-3560 0 obj <<
-/Names [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) 811 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) 809 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) 810 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) 864 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) 863 0 R (gro [...]
-/Limits [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1)]
->> endobj
-3561 0 obj <<
-/Names [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) 802 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) 801 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) 800 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) 799 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) 805 0 R (gro [...]
-/Limits [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f)]
->> endobj
-3562 0 obj <<
-/Names [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) 807 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) 806 0 R (group__Error) 527 0 R (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) 534 0 R (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) 547 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) 543 0 R]
-/Limits [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
->> endobj
-3563 0 obj <<
-/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) 541 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) 537 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) 545 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) 539 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) 542 0 R (group__Error_gga0c0ab09 [...]
-/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d)]
->> endobj
-3564 0 obj <<
-/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) 538 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) 544 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) 540 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) 536 0 R (group__Init) 449 0 R (group__Init_ga234d52733263ece8ac36c980a80292c9) 461 0 R]
-/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) (group__Init_ga234d52733263ece8ac36c980a80292c9)]
->> endobj
-3565 0 obj <<
-/Names [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) 458 0 R (group__Init_ga635128363efd9f4c8c63e21702f40183) 459 0 R (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) 454 0 R (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) 451 0 R (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) 460 0 R (group__PPL__C__interface) 448 0 R]
-/Limits [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) (group__PPL__C__interface)]
->> endobj
-3566 0 obj <<
-/Names [(group__Timeout) 559 0 R (group__Timeout_ga3b97bf31964a662176749152d0086271) 564 0 R (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) 561 0 R (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) 562 0 R (group__Timeout_ga8394b6aef8fc9841ec4e63c2724ad75d) 565 0 R (group__Version) 475 0 R]
-/Limits [(group__Timeout) (group__Version)]
->> endobj
-3567 0 obj <<
-/Names [(group__Version_ga63fef7041da34ac5bb372a2535d99377) 505 0 R (group__Version_ga676f27ad949159a3b79577f78870f60f) 499 0 R (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) 479 0 R (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) 494 0 R (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) 478 0 R (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) 498 0 R]
-/Limits [(group__Version_ga63fef7041da34ac5bb372a2535d99377) (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213)]
->> endobj
-3568 0 obj <<
-/Names [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) 497 0 R (group__Version_gabadfeba0a415d210cdd6d7309365e800) 493 0 R (group__Version_gabdf8f4e9416010573d48e21cf0584762) 496 0 R (group__Version_gac6abee034f6ac000f15d1206fdeb8316) 500 0 R (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) 477 0 R (index) 233 0 R]
-/Limits [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) (index)]
->> endobj
-3569 0 obj <<
-/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) 410 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) 937 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) 949 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) 947 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a [...]
-/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61)]
->> endobj
-3570 0 obj <<
-/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) 935 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) 940 0 R (interfaceppl__Artificial__Parameter__tag) 411 0 R (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) 988 0 R (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) 987 0 R (interfaceppl__Artificial__Parameter__t [...]
-/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61)]
->> endobj
-3571 0 obj <<
-/Names [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) 984 0 R (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) 985 0 R (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) 982 0 R (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) 992 0 R (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) 991 0 R (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656 [...]
-/Limits [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7)]
->> endobj
-3572 0 obj <<
-/Names [(interfaceppl__Coefficient__tag) 412 0 R (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) 1027 0 R (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) 1053 0 R (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) 1024 0 R (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) 1054 0 R (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) 1023 0 R]
-/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e)]
->> endobj
-3573 0 obj <<
-/Names [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) 1028 0 R (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) 1050 0 R (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) 1020 0 R (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) 1052 0 R (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) 1021 0 R (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) 1026 0 R]
-/Limits [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f)]
->> endobj
-3574 0 obj <<
-/Names [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) 1025 0 R (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) 1051 0 R (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) 1022 0 R (interfaceppl__Congruence__System__const__iterator__tag) 413 0 R (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) 1058 0 R (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)  [...]
-/Limits [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
->> endobj
-3575 0 obj <<
-/Names [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) 1087 0 R (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) 1085 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) 1057 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) 1082 0 R (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c [...]
-/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__System__tag)]
->> endobj
-3576 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) 1171 0 R (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) 1140 0 R (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) 1173 0 R (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) 1143 0 R (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) 1172 0 R (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99 [...]
-/Limits [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126)]
->> endobj
-3577 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) 1138 0 R (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) 1133 0 R (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) 1175 0 R (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) 1135 0 R (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) 1137 0 R (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce3 [...]
-/Limits [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3)]
->> endobj
-3578 0 obj <<
-/Names [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) 1174 0 R (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) 1130 0 R (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) 1144 0 R (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) 1129 0 R (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) 1132 0 R (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa46373 [...]
-/Limits [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6)]
->> endobj
-3579 0 obj <<
-/Names [(interfaceppl__Congruence__tag) 415 0 R (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) 1218 0 R (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) 1183 0 R (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) 1223 0 R (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) 1217 0 R (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) 1228 0 R]
-/Limits [(interfaceppl__Congruence__tag) (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3)]
->> endobj
-3580 0 obj <<
-/Names [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) 1226 0 R (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) 1220 0 R (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) 1219 0 R (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) 1182 0 R (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) 1178 0 R (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) 1184 0 R]
-/Limits [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
->> endobj
-3581 0 obj <<
-/Names [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) 1222 0 R (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) 1224 0 R (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) 1227 0 R (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) 1229 0 R (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) 1225 0 R (interfaceppl__Constraint__System__const__iterator__tag) 416 0 R]
-/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__System__const__iterator__tag)]
->> endobj
-3582 0 obj <<
-/Names [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) 1255 0 R (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) 1260 0 R (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) 1256 0 R (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) 1262 0 R (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd35 [...]
-/Limits [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7)]
->> endobj
-3583 0 obj <<
-/Names [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) 1258 0 R (interfaceppl__Constraint__System__tag) 417 0 R (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) 1349 0 R (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) 1314 0 R (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) 1318 0 R (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) 1321 0 R]
-/Limits [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb)]
->> endobj
-3584 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) 1307 0 R (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) 1353 0 R (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) 1351 0 R (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) 1317 0 R (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) 1312 0 R (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc [...]
-/Limits [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838)]
->> endobj
-3585 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) 1308 0 R (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) 1352 0 R (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) 1310 0 R (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) 1319 0 R (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) 1306 0 R (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b4 [...]
-/Limits [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d)]
->> endobj
-3586 0 obj <<
-/Names [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) 1355 0 R (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) 1315 0 R (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) 1348 0 R (interfaceppl__Constraint__tag) 418 0 R (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) 1433 0 R (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) 1395 0 R]
-/Limits [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
->> endobj
-3587 0 obj <<
-/Names [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) 1404 0 R (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) 1400 0 R (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) 1402 0 R (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) 1407 0 R (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) 1399 0 R (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) 1432 0 R]
-/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545)]
->> endobj
-3588 0 obj <<
-/Names [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) 1403 0 R (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) 1431 0 R (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) 1434 0 R (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) 1408 0 R (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) 1406 0 R (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) 1397 0 R]
-/Limits [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9)]
->> endobj
-3589 0 obj <<
-/Names [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) 1398 0 R (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) 1401 0 R (interfaceppl__Generator__System__const__iterator__tag) 419 0 R (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) 1442 0 R (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) 1468 0 R (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff8952 [...]
-/Limits [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c)]
->> endobj
-3590 0 obj <<
-/Names [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) 1470 0 R (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) 1466 0 R (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) 1438 0 R (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) 1440 0 R (interfaceppl__Generator__System__tag) 420 0 R (interfaceppl__Generator__System__tag_a06 [...]
-/Limits [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b)]
->> endobj
-3591 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) 1474 0 R (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) 1526 0 R (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) 1524 0 R (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) 1514 0 R (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) 1475 0 R (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) 1 [...]
-/Limits [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c)]
->> endobj
-3592 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) 1518 0 R (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) 1530 0 R (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) 1477 0 R (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) 1528 0 R (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) 1527 0 R (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) 1 [...]
-/Limits [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
->> endobj
-3593 0 obj <<
-/Names [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) 1515 0 R (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) 1479 0 R (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) 1523 0 R (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) 1520 0 R (interfaceppl__Generator__tag) 421 0 R (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) 1570 0 R]
-/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2)]
->> endobj
-3594 0 obj <<
-/Names [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) 1603 0 R (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) 1573 0 R (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) 1572 0 R (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) 1607 0 R (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) 1574 0 R (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) 1601 0 R]
-/Limits [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c)]
->> endobj
-3595 0 obj <<
-/Names [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) 1605 0 R (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) 1608 0 R (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) 1606 0 R (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) 1604 0 R (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) 1567 0 R (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) 1571 0 R]
-/Limits [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e)]
->> endobj
-3596 0 obj <<
-/Names [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) 1565 0 R (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) 1609 0 R (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) 1575 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag) 422 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) 1630 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3c [...]
-/Limits [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f)]
->> endobj
-3597 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) 1640 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) 1632 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) 1635 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) 1642 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af8 [...]
-/Limits [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) (interfaceppl__Grid__Generator__System__tag)]
->> endobj
-3598 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) 1691 0 R (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) 1721 0 R (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) 1684 0 R (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) 1692 0 R (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) 1695 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
-/Limits [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
->> endobj
-3599 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) 1697 0 R (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) 1686 0 R (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) 1690 0 R (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) 1725 0 R (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) 1726 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
-/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe)]
->> endobj
-3600 0 obj <<
-/Names [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) 1685 0 R (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) 1724 0 R (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) 1688 0 R (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) 1693 0 R (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) 1723 0 R (interfaceppl__Grid__Generator__tag) 424 0 R]
-/Limits [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) (interfaceppl__Grid__Generator__tag)]
->> endobj
-3601 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) 1779 0 R (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) 1782 0 R (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) 1770 0 R (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) 1780 0 R (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) 1767 0 R (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) 1773 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1)]
->> endobj
-3602 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) 1776 0 R (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) 1775 0 R (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) 1772 0 R (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) 1729 0 R (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) 1777 0 R (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) 1781 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75)]
->> endobj
-3603 0 obj <<
-/Names [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) 1768 0 R (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) 1774 0 R (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) 1778 0 R (interfaceppl__Linear__Expression__tag) 425 0 R (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) 1823 0 R (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) 1878 0 R]
-/Limits [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d)]
->> endobj
-3604 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) 1883 0 R (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) 1906 0 R (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) 1907 0 R (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) 1815 0 R (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) 1876 0 R (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
->> endobj
-3605 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) 1905 0 R (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) 1819 0 R (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) 1903 0 R (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) 1879 0 R (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) 1871 0 R (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283)]
->> endobj
-3606 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) 1814 0 R (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) 1875 0 R (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) 1866 0 R (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) 1881 0 R (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) 1908 0 R (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020 [...]
-/Limits [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f)]
->> endobj
-3607 0 obj <<
-/Names [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) 1874 0 R (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) 1868 0 R (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) 1909 0 R (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) 1825 0 R (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) 1817 0 R (interfaceppl__MIP__Problem__tag) 426 0 R]
-/Limits [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) (interfaceppl__MIP__Problem__tag)]
->> endobj
-3608 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) 2079 0 R (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) 1966 0 R (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) 2010 0 R (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) 2083 0 R (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) 1913 0 R (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) 1954 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79)]
->> endobj
-3609 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) 2017 0 R (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) 2019 0 R (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) 2078 0 R (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) 2074 0 R (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) 2066 0 R (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) 2082 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420)]
->> endobj
-3610 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) 2081 0 R (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) 2015 0 R (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) 2009 0 R (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) 2005 0 R (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) 2014 0 R (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) 2020 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
->> endobj
-3611 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) 2007 0 R (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) 1960 0 R (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) 2077 0 R (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) 2089 0 R (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) 2071 0 R (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) 1962 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b)]
->> endobj
-3612 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) 1950 0 R (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) 1914 0 R (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) 1951 0 R (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) 2076 0 R (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) 1953 0 R (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) 1964 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0)]
->> endobj
-3613 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) 2012 0 R (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) 1956 0 R (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) 1955 0 R (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) 2013 0 R (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) 2067 0 R (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) 1965 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7)]
->> endobj
-3614 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) 2075 0 R (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) 1912 0 R (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) 2069 0 R (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) 2073 0 R (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) 2090 0 R (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) 2022 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a)]
->> endobj
-3615 0 obj <<
-/Names [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) 1958 0 R (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) 1952 0 R (interfaceppl__PIP__Decision__Node__tag) 427 0 R (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) 2118 0 R (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) 2119 0 R (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) 2116 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542)]
->> endobj
-3616 0 obj <<
-/Names [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) 2121 0 R (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) 2120 0 R (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) 2122 0 R (interfaceppl__PIP__Problem__tag) 428 0 R (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) 2168 0 R (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) 2265 0 R]
-/Limits [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
->> endobj
-3617 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) 2274 0 R (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) 2268 0 R (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) 2156 0 R (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) 2272 0 R (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) 2222 0 R (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) 2270 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84)]
->> endobj
-3618 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) 2266 0 R (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) 2263 0 R (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) 2218 0 R (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) 2213 0 R (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) 2286 0 R (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) 2211 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7)]
->> endobj
-3619 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) 2208 0 R (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) 2220 0 R (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) 2219 0 R (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) 2217 0 R (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) 2275 0 R (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) 2210 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215)]
->> endobj
-3620 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) 2157 0 R (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) 2215 0 R (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) 2161 0 R (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) 2155 0 R (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) 2209 0 R (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) 2261 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c)]
->> endobj
-3621 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) 2160 0 R (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) 2287 0 R (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) 2154 0 R (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) 2273 0 R (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) 2267 0 R (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) 2159 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71)]
->> endobj
-3622 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) 2289 0 R (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) 2221 0 R (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) 2162 0 R (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) 2164 0 R (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) 2276 0 R (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) 2158 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
->> endobj
-3623 0 obj <<
-/Names [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) 2166 0 R (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) 2288 0 R (interfaceppl__PIP__Solution__Node__tag) 429 0 R (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) 2319 0 R (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) 2321 0 R (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) 2317 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f)]
->> endobj
-3624 0 obj <<
-/Names [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) 2318 0 R (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) 2323 0 R (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) 2320 0 R (interfaceppl__PIP__Tree__Node__tag) 430 0 R (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) 2352 0 R (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) 2348 0 R]
-/Limits [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab)]
->> endobj
-3625 0 obj <<
-/Names [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) 2384 0 R (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) 2381 0 R (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) 2377 0 R (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) 2387 0 R (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) 2386 0 R (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) 2385 0 R]
-/Limits [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769)]
->> endobj
-3626 0 obj <<
-/Names [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) 2379 0 R (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) 2350 0 R (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) 2346 0 R (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) 2383 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) 431 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4 [...]
-/Limits [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002)]
->> endobj
-3627 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) 2433 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) 2429 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) 2422 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) 2431 0 R (interfaceppl__Pointset_ [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d)]
->> endobj
-3628 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) 2426 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) 2424 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) 456 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) 2494 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6 [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
->> endobj
-3629 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) 2467 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) 2463 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) 2465 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) 2469 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__it [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942)]
->> endobj
-3630 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) 432 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) 2532 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) 2546 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) 2540 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) 2526 0 R (interfaceppl__Pointset__Powe [...]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52)]
->> endobj
-3631 0 obj <<
-/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) 2537 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) 2543 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) 2529 0 R (interfaceppl__Polyhedron__tag) 457 0 R (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) 3084 0 R (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) 2818 0 R]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e)]
->> endobj
-3632 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) 3076 0 R (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) 2881 0 R (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) 2825 0 R (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) 2751 0 R (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) 2820 0 R (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) 2631 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061)]
->> endobj
-3633 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) 2759 0 R (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) 3081 0 R (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) 2742 0 R (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) 2740 0 R (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) 2821 0 R (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) 2635 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d)]
->> endobj
-3634 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) 2747 0 R (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) 2967 0 R (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) 2750 0 R (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) 3021 0 R (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) 2817 0 R (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) 3008 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
->> endobj
-3635 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) 2580 0 R (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) 2968 0 R (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) 2746 0 R (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) 2682 0 R (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) 2622 0 R (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) 3138 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807)]
->> endobj
-3636 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) 2811 0 R (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) 2819 0 R (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) 3070 0 R (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) 3086 0 R (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) 3073 0 R (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) 3069 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3)]
->> endobj
-3637 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) 3015 0 R (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) 2688 0 R (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) 3079 0 R (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) 3014 0 R (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) 2690 0 R (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) 2744 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04)]
->> endobj
-3638 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) 2969 0 R (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) 2965 0 R (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) 2583 0 R (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) 2755 0 R (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) 3083 0 R (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) 2896 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b)]
->> endobj
-3639 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) 2886 0 R (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) 2634 0 R (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) 3010 0 R (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) 2892 0 R (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) 3085 0 R (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) 2685 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc)]
->> endobj
-3640 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) 3136 0 R (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) 2676 0 R (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) 3132 0 R (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) 3128 0 R (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) 2638 0 R (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) 2894 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
->> endobj
-3641 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) 2963 0 R (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) 2822 0 R (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) 2687 0 R (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) 2880 0 R (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) 2960 0 R (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) 2760 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba)]
->> endobj
-3642 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) 2897 0 R (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) 3130 0 R (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) 3129 0 R (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) 2681 0 R (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) 2633 0 R (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) 2749 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7)]
->> endobj
-3643 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) 2887 0 R (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) 2814 0 R (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) 2962 0 R (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) 3019 0 R (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) 3075 0 R (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) 2890 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c)]
->> endobj
-3644 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) 3016 0 R (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) 3137 0 R (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) 2689 0 R (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) 2582 0 R (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) 2753 0 R (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) 2748 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d)]
->> endobj
-3645 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) 2889 0 R (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) 2812 0 R (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) 2620 0 R (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) 2575 0 R (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) 2637 0 R (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) 2957 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138)]
->> endobj
-3646 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) 2966 0 R (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) 2883 0 R (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) 3134 0 R (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) 2964 0 R (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) 2879 0 R (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) 3127 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
->> endobj
-3647 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) 3013 0 R (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) 3140 0 R (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) 2581 0 R (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) 3011 0 R (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) 3020 0 R (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) 2573 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe)]
->> endobj
-3648 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) 2891 0 R (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) 2680 0 R (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) 2958 0 R (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) 2752 0 R (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) 3072 0 R (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) 2624 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e)]
->> endobj
-3649 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) 2809 0 R (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) 2678 0 R (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) 2826 0 R (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) 2895 0 R (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) 3012 0 R (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) 2885 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741)]
->> endobj
-3650 0 obj <<
-/Names [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) 2636 0 R (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) 2816 0 R (page.1) 232 0 R (page.10) 299 0 R (page.11) 309 0 R (page.12) 321 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) (page.12)]
->> endobj
-3651 0 obj <<
-/Names [(page.13) 327 0 R (page.14) 332 0 R (page.15) 337 0 R (page.16) 343 0 R (page.17) 354 0 R (page.18) 409 0 R]
-/Limits [(page.13) (page.18)]
->> endobj
-3652 0 obj <<
-/Names [(page.19) 447 0 R (page.2) 243 0 R (page.20) 469 0 R (page.21) 492 0 R (page.22) 524 0 R (page.23) 556 0 R]
-/Limits [(page.19) (page.23)]
->> endobj
-3653 0 obj <<
-/Names [(page.24) 573 0 R (page.25) 615 0 R (page.26) 668 0 R (page.27) 721 0 R (page.28) 779 0 R (page.29) 841 0 R]
-/Limits [(page.24) (page.29)]
->> endobj
-3654 0 obj <<
-/Names [(page.3) 249 0 R (page.30) 879 0 R (page.31) 895 0 R (page.32) 905 0 R (page.33) 933 0 R (page.34) 979 0 R]
-/Limits [(page.3) (page.34)]
->> endobj
-3655 0 obj <<
-/Names [(page.35) 1017 0 R (page.36) 1049 0 R (page.37) 1081 0 R (page.38) 1128 0 R (page.39) 1170 0 R (page.4) 257 0 R]
-/Limits [(page.35) (page.4)]
->> endobj
-3656 0 obj <<
-/Names [(page.40) 1216 0 R (page.41) 1253 0 R (page.42) 1304 0 R (page.43) 1346 0 R (page.44) 1393 0 R (page.45) 1430 0 R]
-/Limits [(page.40) (page.45)]
->> endobj
-3657 0 obj <<
-/Names [(page.46) 1465 0 R (page.47) 1513 0 R (page.48) 1562 0 R (page.49) 1600 0 R (page.5) 263 0 R (page.50) 1629 0 R]
-/Limits [(page.46) (page.50)]
->> endobj
-3658 0 obj <<
-/Names [(page.51) 1682 0 R (page.52) 1720 0 R (page.53) 1766 0 R (page.54) 1811 0 R (page.55) 1865 0 R (page.56) 1902 0 R]
-/Limits [(page.51) (page.56)]
->> endobj
-3659 0 obj <<
-/Names [(page.57) 1949 0 R (page.58) 2004 0 R (page.59) 2065 0 R (page.6) 273 0 R (page.60) 2088 0 R (page.61) 2114 0 R]
-/Limits [(page.57) (page.61)]
->> endobj
-3660 0 obj <<
-/Names [(page.62) 2152 0 R (page.63) 2207 0 R (page.64) 2259 0 R (page.65) 2285 0 R (page.66) 2313 0 R (page.67) 2342 0 R]
-/Limits [(page.62) (page.67)]
->> endobj
-3661 0 obj <<
-/Names [(page.68) 2376 0 R (page.69) 2415 0 R (page.7) 279 0 R (page.70) 2459 0 R (page.71) 2484 0 R (page.72) 2524 0 R]
-/Limits [(page.68) (page.72)]
->> endobj
-3662 0 obj <<
-/Names [(page.73) 2569 0 R (page.74) 2618 0 R (page.75) 2675 0 R (page.76) 2739 0 R (page.77) 2806 0 R (page.78) 2876 0 R]
-/Limits [(page.73) (page.78)]
->> endobj
-3663 0 obj <<
-/Names [(page.79) 2948 0 R (page.8) 285 0 R (page.80) 3007 0 R (page.81) 3066 0 R (page.82) 3126 0 R (page.83) 3146 0 R]
-/Limits [(page.79) (page.83)]
->> endobj
-3664 0 obj <<
-/Names [(page.84) 3157 0 R (page.85) 3166 0 R (page.86) 3175 0 R (page.87) 3184 0 R (page.88) 3193 0 R (page.89) 3204 0 R]
-/Limits [(page.84) (page.89)]
->> endobj
-3665 0 obj <<
-/Names [(page.9) 292 0 R (page.90) 3213 0 R (page.91) 3221 0 R (page.92) 3231 0 R (page.93) 3304 0 R (page.94) 3370 0 R]
-/Limits [(page.9) (page.94)]
->> endobj
-3666 0 obj <<
-/Names [(page.95) 3425 0 R (page.96) 3478 0 R (page.A) 165 0 R (page.i) 200 0 R (paragraph.6.2.2.1) 455 0 R (paragraph.6.2.2.2) 470 0 R]
-/Limits [(page.95) (paragraph.6.2.2.2)]
->> endobj
-3667 0 obj <<
-/Names [(paragraph.6.2.2.3) 471 0 R (paragraph.6.2.2.4) 472 0 R (paragraph.6.2.2.5) 473 0 R (paragraph.6.3.2.1) 504 0 R (paragraph.6.3.3.1) 526 0 R (paragraph.6.4.2.1) 535 0 R]
-/Limits [(paragraph.6.2.2.3) (paragraph.6.4.2.1)]
->> endobj
-3668 0 obj <<
-/Names [(paragraph.6.4.3.1) 558 0 R (paragraph.6.5.2.1) 576 0 R (paragraph.6.5.2.2) 577 0 R (paragraph.6.6.2.1) 888 0 R (paragraph.6.6.3.1) 890 0 R (paragraph.6.6.3.2) 898 0 R]
-/Limits [(paragraph.6.4.3.1) (paragraph.6.6.3.2)]
->> endobj
-3669 0 obj <<
-/Names [(paragraph.6.6.3.3) 899 0 R (paragraph.6.6.3.4) 900 0 R (paragraph.6.6.3.5) 906 0 R (paragraph.6.6.3.6) 907 0 R (paragraph.6.6.4.1) 910 0 R (paragraph.7.17.2.1) 2093 0 R]
-/Limits [(paragraph.6.6.3.3) (paragraph.7.17.2.1)]
->> endobj
-3670 0 obj <<
-/Names [(paragraph.7.17.2.2) 2095 0 R (paragraph.7.17.2.3) 2096 0 R (paragraph.7.19.2.1) 2292 0 R (paragraph.7.19.2.2) 2293 0 R (paragraph.7.19.2.3) 2314 0 R (paragraph.7.20.2.1) 2344 0 R]
-/Limits [(paragraph.7.17.2.2) (paragraph.7.20.2.1)]
->> endobj
-3671 0 obj <<
-/Names [(paragraph.7.22.2.1) 2461 0 R (paragraph.7.23.2.1) 2495 0 R (paragraph.7.24.2.1) 2571 0 R (paragraph.7.25.2.1) 3149 0 R (paragraph.7.25.2.10) 3169 0 R (paragraph.7.25.2.11) 3170 0 R]
-/Limits [(paragraph.7.22.2.1) (paragraph.7.25.2.11)]
->> endobj
-3672 0 obj <<
-/Names [(paragraph.7.25.2.12) 3176 0 R (paragraph.7.25.2.13) 3177 0 R (paragraph.7.25.2.14) 3178 0 R (paragraph.7.25.2.15) 3179 0 R (paragraph.7.25.2.16) 3185 0 R (paragraph.7.25.2.17) 3186 0 R]
-/Limits [(paragraph.7.25.2.12) (paragraph.7.25.2.17)]
->> endobj
-3673 0 obj <<
-/Names [(paragraph.7.25.2.18) 3187 0 R (paragraph.7.25.2.19) 3188 0 R (paragraph.7.25.2.2) 3150 0 R (paragraph.7.25.2.20) 3194 0 R (paragraph.7.25.2.21) 3195 0 R (paragraph.7.25.2.22) 3196 0 R]
-/Limits [(paragraph.7.25.2.18) (paragraph.7.25.2.22)]
->> endobj
-3674 0 obj <<
-/Names [(paragraph.7.25.2.23) 3197 0 R (paragraph.7.25.2.24) 3205 0 R (paragraph.7.25.2.25) 3206 0 R (paragraph.7.25.2.26) 3207 0 R (paragraph.7.25.2.27) 3214 0 R (paragraph.7.25.2.28) 3215 0 R]
-/Limits [(paragraph.7.25.2.23) (paragraph.7.25.2.28)]
->> endobj
-3675 0 obj <<
-/Names [(paragraph.7.25.2.29) 3216 0 R (paragraph.7.25.2.3) 3151 0 R (paragraph.7.25.2.30) 3222 0 R (paragraph.7.25.2.31) 3223 0 R (paragraph.7.25.2.32) 3224 0 R (paragraph.7.25.2.33) 3225 0 R]
-/Limits [(paragraph.7.25.2.29) (paragraph.7.25.2.33)]
->> endobj
-3676 0 obj <<
-/Names [(paragraph.7.25.2.34) 3226 0 R (paragraph.7.25.2.35) 3232 0 R (paragraph.7.25.2.4) 3158 0 R (paragraph.7.25.2.5) 3159 0 R (paragraph.7.25.2.6) 3160 0 R (paragraph.7.25.2.7) 3161 0 R]
-/Limits [(paragraph.7.25.2.34) (paragraph.7.25.2.7)]
->> endobj
-3677 0 obj <<
-/Names [(paragraph.7.25.2.8) 3167 0 R (paragraph.7.25.2.9) 3168 0 R (section*.1) 204 0 R (section*.10) 274 0 R (section*.11) 280 0 R (section*.12) 286 0 R]
-/Limits [(paragraph.7.25.2.8) (section*.12)]
->> endobj
-3678 0 obj <<
-/Names [(section*.13) 287 0 R (section*.14) 293 0 R (section*.15) 294 0 R (section*.16) 300 0 R (section*.17) 301 0 R (section*.18) 302 0 R]
-/Limits [(section*.13) (section*.18)]
->> endobj
-3679 0 obj <<
-/Names [(section*.19) 303 0 R (section*.2) 250 0 R (section*.20) 310 0 R (section*.21) 311 0 R (section*.22) 312 0 R (section*.23) 355 0 R]
-/Limits [(section*.19) (section*.23)]
->> endobj
-3680 0 obj <<
-/Names [(section*.24) 450 0 R (section*.25) 476 0 R (section*.26) 495 0 R (section*.27) 528 0 R (section*.28) 531 0 R (section*.29) 560 0 R]
-/Limits [(section*.24) (section*.29)]
->> endobj
-3681 0 obj <<
-/Names [(section*.3) 251 0 R (section*.30) 616 0 R (section*.31) 793 0 R (section*.32) 844 0 R (section*.33) 852 0 R (section*.34) 934 0 R]
-/Limits [(section*.3) (section*.34)]
->> endobj
-3682 0 obj <<
-/Names [(section*.35) 981 0 R (section*.36) 1019 0 R (section*.37) 1056 0 R (section*.38) 1092 0 R (section*.39) 1177 0 R (section*.4) 252 0 R]
-/Limits [(section*.35) (section*.4)]
->> endobj
-3683 0 obj <<
-/Names [(section*.40) 1254 0 R (section*.41) 1305 0 R (section*.42) 1394 0 R (section*.43) 1436 0 R (section*.44) 1473 0 R (section*.45) 1564 0 R]
-/Limits [(section*.40) (section*.45)]
->> endobj
-3684 0 obj <<
-/Names [(section*.46) 1611 0 R (section*.47) 1683 0 R (section*.48) 1728 0 R (section*.49) 1813 0 R (section*.5) 258 0 R (section*.50) 1911 0 R]
-/Limits [(section*.46) (section*.50)]
->> endobj
-3685 0 obj <<
-/Names [(section*.51) 2115 0 R (section*.52) 2153 0 R (section*.53) 2315 0 R (section*.54) 2345 0 R (section*.55) 2416 0 R (section*.56) 2462 0 R]
-/Limits [(section*.51) (section*.56)]
->> endobj
-3686 0 obj <<
-/Names [(section*.57) 2525 0 R (section*.58) 2572 0 R (section*.59) 3305 0 R (section*.6) 264 0 R (section*.7) 265 0 R (section*.8) 266 0 R]
-/Limits [(section*.57) (section*.8)]
->> endobj
-3687 0 obj <<
-/Names [(section*.9) 267 0 R (section.1) 2 0 R (section.2) 6 0 R (section.3) 10 0 R (section.4) 14 0 R (section.5) 22 0 R]
-/Limits [(section*.9) (section.5)]
->> endobj
-3688 0 obj <<
-/Names [(section.6) 30 0 R (section.7) 58 0 R (subsection.4.1) 18 0 R (subsection.5.1) 26 0 R (subsection.6.1) 34 0 R (subsection.6.2) 38 0 R]
-/Limits [(section.6) (subsection.6.2)]
->> endobj
-3689 0 obj <<
-/Names [(subsection.6.3) 42 0 R (subsection.6.4) 46 0 R (subsection.6.5) 50 0 R (subsection.6.6) 54 0 R (subsection.7.1) 62 0 R (subsection.7.10) 98 0 R]
-/Limits [(subsection.6.3) (subsection.7.10)]
->> endobj
-3690 0 obj <<
-/Names [(subsection.7.11) 102 0 R (subsection.7.12) 106 0 R (subsection.7.13) 110 0 R (subsection.7.14) 114 0 R (subsection.7.15) 118 0 R (subsection.7.16) 122 0 R]
-/Limits [(subsection.7.11) (subsection.7.16)]
->> endobj
-3691 0 obj <<
-/Names [(subsection.7.17) 126 0 R (subsection.7.18) 130 0 R (subsection.7.19) 134 0 R (subsection.7.2) 66 0 R (subsection.7.20) 138 0 R (subsection.7.21) 142 0 R]
-/Limits [(subsection.7.17) (subsection.7.21)]
->> endobj
-3692 0 obj <<
-/Names [(subsection.7.22) 146 0 R (subsection.7.23) 150 0 R (subsection.7.24) 154 0 R (subsection.7.25) 158 0 R (subsection.7.3) 70 0 R (subsection.7.4) 74 0 R]
-/Limits [(subsection.7.22) (subsection.7.4)]
->> endobj
-3693 0 obj <<
-/Names [(subsection.7.5) 78 0 R (subsection.7.6) 82 0 R (subsection.7.7) 86 0 R (subsection.7.8) 90 0 R (subsection.7.9) 94 0 R (subsubsection.6.2.1) 452 0 R]
-/Limits [(subsection.7.5) (subsubsection.6.2.1)]
->> endobj
-3694 0 obj <<
-/Names [(subsubsection.6.2.2) 453 0 R (subsubsection.6.3.1) 502 0 R (subsubsection.6.3.2) 503 0 R (subsubsection.6.3.3) 525 0 R (subsubsection.6.4.1) 532 0 R (subsubsection.6.4.2) 533 0 R]
-/Limits [(subsubsection.6.2.2) (subsubsection.6.4.2)]
->> endobj
-3695 0 obj <<
-/Names [(subsubsection.6.4.3) 557 0 R (subsubsection.6.5.1) 574 0 R (subsubsection.6.5.2) 575 0 R (subsubsection.6.6.1) 886 0 R (subsubsection.6.6.2) 887 0 R (subsubsection.6.6.3) 889 0 R]
-/Limits [(subsubsection.6.4.3) (subsubsection.6.6.3)]
->> endobj
-3696 0 obj <<
-/Names [(subsubsection.6.6.4) 909 0 R (subsubsection.7.1.1) 980 0 R (subsubsection.7.10.1) 1472 0 R (subsubsection.7.11.1) 1563 0 R (subsubsection.7.12.1) 1610 0 R (subsubsection.7.13.1) 1646 0 R]
-/Limits [(subsubsection.6.6.4) (subsubsection.7.13.1)]
->> endobj
-3697 0 obj <<
-/Names [(subsubsection.7.14.1) 1727 0 R (subsubsection.7.15.1) 1812 0 R (subsubsection.7.16.1) 1910 0 R (subsubsection.7.17.1) 2091 0 R (subsubsection.7.17.2) 2092 0 R (subsubsection.7.18.1) 2123 0 R]
-/Limits [(subsubsection.7.14.1) (subsubsection.7.18.1)]
->> endobj
-3698 0 obj <<
-/Names [(subsubsection.7.19.1) 2290 0 R (subsubsection.7.19.2) 2291 0 R (subsubsection.7.2.1) 1018 0 R (subsubsection.7.20.1) 2322 0 R (subsubsection.7.20.2) 2343 0 R (subsubsection.7.21.1) 2388 0 R]
-/Limits [(subsubsection.7.19.1) (subsubsection.7.21.1)]
->> endobj
-3699 0 obj <<
-/Names [(subsubsection.7.22.1) 2436 0 R (subsubsection.7.22.2) 2460 0 R (subsubsection.7.23.1) 2492 0 R (subsubsection.7.23.2) 2493 0 R (subsubsection.7.24.1) 2545 0 R (subsubsection.7.24.2) 2570 0 R]
-/Limits [(subsubsection.7.22.1) (subsubsection.7.24.2)]
->> endobj
-3700 0 obj <<
-/Names [(subsubsection.7.25.1) 3147 0 R (subsubsection.7.25.2) 3148 0 R (subsubsection.7.3.1) 1055 0 R (subsubsection.7.4.1) 1091 0 R (subsubsection.7.5.1) 1176 0 R (subsubsection.7.6.1) 1230 0 R]
-/Limits [(subsubsection.7.25.1) (subsubsection.7.6.1)]
->> endobj
-3701 0 obj <<
-/Names [(subsubsection.7.7.1) 1268 0 R (subsubsection.7.8.1) 1356 0 R (subsubsection.7.9.1) 1435 0 R]
-/Limits [(subsubsection.7.7.1) (subsubsection.7.9.1)]
->> endobj
-3702 0 obj <<
-/Kids [3545 0 R 3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R]
-/Limits [(Doc-Start) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
->> endobj
-3703 0 obj <<
-/Kids [3551 0 R 3552 0 R 3553 0 R 3554 0 R 3555 0 R 3556 0 R]
-/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
->> endobj
-3704 0 obj <<
-/Kids [3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R]
-/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
->> endobj
-3705 0 obj <<
-/Kids [3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R]
-/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (index)]
->> endobj
-3706 0 obj <<
-/Kids [3569 0 R 3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R]
-/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
->> endobj
-3707 0 obj <<
-/Kids [3575 0 R 3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R]
-/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
->> endobj
-3708 0 obj <<
-/Kids [3581 0 R 3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R]
-/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
->> endobj
-3709 0 obj <<
-/Kids [3587 0 R 3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R]
-/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
->> endobj
-3710 0 obj <<
-/Kids [3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 0 R 3598 0 R]
-/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
->> endobj
-3711 0 obj <<
-/Kids [3599 0 R 3600 0 R 3601 0 R 3602 0 R 3603 0 R 3604 0 R]
-/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
->> endobj
-3712 0 obj <<
-/Kids [3605 0 R 3606 0 R 3607 0 R 3608 0 R 3609 0 R 3610 0 R]
-/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
->> endobj
-3713 0 obj <<
-/Kids [3611 0 R 3612 0 R 3613 0 R 3614 0 R 3615 0 R 3616 0 R]
-/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
->> endobj
-3714 0 obj <<
-/Kids [3617 0 R 3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
->> endobj
-3715 0 obj <<
-/Kids [3623 0 R 3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
->> endobj
-3716 0 obj <<
-/Kids [3629 0 R 3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R]
-/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
->> endobj
-3717 0 obj <<
-/Kids [3635 0 R 3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
->> endobj
-3718 0 obj <<
-/Kids [3641 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
->> endobj
-3719 0 obj <<
-/Kids [3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R]
-/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (page.23)]
->> endobj
-3720 0 obj <<
-/Kids [3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R]
-/Limits [(page.24) (page.56)]
->> endobj
-3721 0 obj <<
-/Kids [3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R]
-/Limits [(page.57) (page.89)]
->> endobj
-3722 0 obj <<
-/Kids [3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R]
-/Limits [(page.9) (paragraph.7.20.2.1)]
->> endobj
-3723 0 obj <<
-/Kids [3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3676 0 R]
-/Limits [(paragraph.7.22.2.1) (paragraph.7.25.2.7)]
->> endobj
-3724 0 obj <<
-/Kids [3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R 3682 0 R]
-/Limits [(paragraph.7.25.2.8) (section*.4)]
->> endobj
-3725 0 obj <<
-/Kids [3683 0 R 3684 0 R 3685 0 R 3686 0 R 3687 0 R 3688 0 R]
-/Limits [(section*.40) (subsection.6.2)]
->> endobj
-3726 0 obj <<
-/Kids [3689 0 R 3690 0 R 3691 0 R 3692 0 R 3693 0 R 3694 0 R]
-/Limits [(subsection.6.3) (subsubsection.6.4.2)]
->> endobj
-3727 0 obj <<
-/Kids [3695 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3700 0 R]
-/Limits [(subsubsection.6.4.3) (subsubsection.7.6.1)]
->> endobj
-3728 0 obj <<
-/Kids [3701 0 R]
-/Limits [(subsubsection.7.7.1) (subsubsection.7.9.1)]
->> endobj
-3729 0 obj <<
-/Kids [3702 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R]
-/Limits [(Doc-Start) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
->> endobj
-3730 0 obj <<
-/Kids [3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R]
-/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
->> endobj
-3731 0 obj <<
-/Kids [3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3719 0 R]
-/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (page.23)]
->> endobj
-3732 0 obj <<
-/Kids [3720 0 R 3721 0 R 3722 0 R 3723 0 R 3724 0 R 3725 0 R]
-/Limits [(page.24) (subsection.6.2)]
->> endobj
-3733 0 obj <<
-/Kids [3726 0 R 3727 0 R 3728 0 R]
-/Limits [(subsection.6.3) (subsubsection.7.9.1)]
->> endobj
-3734 0 obj <<
-/Kids [3729 0 R 3730 0 R 3731 0 R 3732 0 R 3733 0 R]
-/Limits [(Doc-Start) (subsubsection.7.9.1)]
->> endobj
-3735 0 obj <<
-/Dests 3734 0 R
->> endobj
-3736 0 obj <<
-/Type /Catalog
-/Pages 3543 0 R
-/Outlines 3544 0 R
-/Names 3735 0 R
-/PageMode/UseOutlines/PageLabels<</Nums[0<</S/A>>1<</S/r>>2<</S/D>>]>>
-/OpenAction 161 0 R
->> endobj
-3737 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
-/CreationDate (D:20110227101239+01'00')
-/ModDate (D:20110227101239+01'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
->> endobj
-xref
-0 3738
-0000000000 65535 f 
-0000000015 00000 n 
-0000025422 00000 n 
-0000940999 00000 n 
-0000000060 00000 n 
-0000000134 00000 n 
-0000030251 00000 n 
-0000940914 00000 n 
-0000000179 00000 n 
-0000000344 00000 n 
-0000068462 00000 n 
-0000940827 00000 n 
-0000000389 00000 n 
-0000000575 00000 n 
-0000087945 00000 n 
-0000940701 00000 n 
-0000000621 00000 n 
-0000000711 00000 n 
-0000088000 00000 n 
-0000940640 00000 n 
-0000000762 00000 n 
-0000000824 00000 n 
-0000097900 00000 n 
-0000940514 00000 n 
-0000000870 00000 n 
-0000000955 00000 n 
-0000097956 00000 n 
-0000940453 00000 n 
-0000001006 00000 n 
-0000001086 00000 n 
-0000102423 00000 n 
-0000940327 00000 n 
-0000001132 00000 n 
-0000001262 00000 n 
-0000102536 00000 n 
-0000940253 00000 n 
-0000001313 00000 n 
-0000001446 00000 n 
-0000102654 00000 n 
-0000940166 00000 n 
-0000001497 00000 n 
-0000001728 00000 n 
-0000106304 00000 n 
-0000940079 00000 n 
-0000001779 00000 n 
-0000001889 00000 n 
-0000116927 00000 n 
-0000939992 00000 n 
-0000001940 00000 n 
-0000002040 00000 n 
-0000121802 00000 n 
-0000939905 00000 n 
-0000002091 00000 n 
-0000002158 00000 n 
-0000125437 00000 n 
-0000939831 00000 n 
-0000002209 00000 n 
-0000002324 00000 n 
-0000191809 00000 n 
-0000939716 00000 n 
-0000002370 00000 n 
-0000002495 00000 n 
-0000191922 00000 n 
-0000939642 00000 n 
-0000002546 00000 n 
-0000002957 00000 n 
-0000199908 00000 n 
-0000939555 00000 n 
-0000003008 00000 n 
-0000003290 00000 n 
-0000207095 00000 n 
-0000939468 00000 n 
-0000003341 00000 n 
-0000003575 00000 n 
-0000213646 00000 n 
-0000939381 00000 n 
-0000003626 00000 n 
-0000003974 00000 n 
-0000220727 00000 n 
-0000939294 00000 n 
-0000004025 00000 n 
-0000004292 00000 n 
-0000239232 00000 n 
-0000939207 00000 n 
-0000004343 00000 n 
-0000004572 00000 n 
-0000257055 00000 n 
-0000939120 00000 n 
-0000004623 00000 n 
-0000004971 00000 n 
-0000267264 00000 n 
-0000939033 00000 n 
-0000005022 00000 n 
-0000005289 00000 n 
-0000274843 00000 n 
-0000938946 00000 n 
-0000005340 00000 n 
-0000005569 00000 n 
-0000292288 00000 n 
-0000938857 00000 n 
-0000005621 00000 n 
-0000005965 00000 n 
-0000300680 00000 n 
-0000938766 00000 n 
-0000006018 00000 n 
-0000006281 00000 n 
-0000319001 00000 n 
-0000938674 00000 n 
-0000006334 00000 n 
-0000006559 00000 n 
-0000326691 00000 n 
-0000938582 00000 n 
-0000006612 00000 n 
-0000006984 00000 n 
-0000335722 00000 n 
-0000938490 00000 n 
-0000007037 00000 n 
-0000007328 00000 n 
-0000352723 00000 n 
-0000938398 00000 n 
-0000007381 00000 n 
-0000007634 00000 n 
-0000371861 00000 n 
-0000938306 00000 n 
-0000007687 00000 n 
-0000007955 00000 n 
-0000390210 00000 n 
-0000938214 00000 n 
-0000008008 00000 n 
-0000008246 00000 n 
-0000432251 00000 n 
-0000938122 00000 n 
-0000008299 00000 n 
-0000008570 00000 n 
-0000439511 00000 n 
-0000938030 00000 n 
-0000008623 00000 n 
-0000008861 00000 n 
-0000473191 00000 n 
-0000937938 00000 n 
-0000008914 00000 n 
-0000009185 00000 n 
-0000479500 00000 n 
-0000937846 00000 n 
-0000009238 00000 n 
-0000009489 00000 n 
-0000487742 00000 n 
-0000937754 00000 n 
-0000009542 00000 n 
-0000009962 00000 n 
-0000505145 00000 n 
-0000937662 00000 n 
-0000010015 00000 n 
-0000010402 00000 n 
-0000511890 00000 n 
-0000937570 00000 n 
-0000010455 00000 n 
-0000010794 00000 n 
-0000530061 00000 n 
-0000937492 00000 n 
-0000010847 00000 n 
-0000011077 00000 n 
-0000012352 00000 n 
-0000012584 00000 n 
-0000011129 00000 n 
-0000012471 00000 n 
-0000012527 00000 n 
-0000934569 00000 n 
-0000932818 00000 n 
-0000933251 00000 n 
-0000932962 00000 n 
-0000934925 00000 n 
-0000014970 00000 n 
-0000015136 00000 n 
-0000015286 00000 n 
-0000015452 00000 n 
-0000015749 00000 n 
-0000015923 00000 n 
-0000016074 00000 n 
-0000016224 00000 n 
-0000016375 00000 n 
-0000016522 00000 n 
-0000016679 00000 n 
-0000016830 00000 n 
-0000016986 00000 n 
-0000017137 00000 n 
-0000017293 00000 n 
-0000017450 00000 n 
-0000017606 00000 n 
-0000017763 00000 n 
-0000017920 00000 n 
-0000018077 00000 n 
-0000018226 00000 n 
-0000018383 00000 n 
-0000018539 00000 n 
-0000021734 00000 n 
-0000018694 00000 n 
-0000018980 00000 n 
-0000014639 00000 n 
-0000012695 00000 n 
-0000018867 00000 n 
-0000934213 00000 n 
-0000015602 00000 n 
-0000933861 00000 n 
-0000018923 00000 n 
-0000068575 00000 n 
-0000030362 00000 n 
-0000021891 00000 n 
-0000022047 00000 n 
-0000022204 00000 n 
-0000022360 00000 n 
-0000022516 00000 n 
-0000022673 00000 n 
-0000022831 00000 n 
-0000022988 00000 n 
-0000023145 00000 n 
-0000023303 00000 n 
-0000023461 00000 n 
-0000023619 00000 n 
-0000023777 00000 n 
-0000023934 00000 n 
-0000024091 00000 n 
-0000024248 00000 n 
-0000024405 00000 n 
-0000024562 00000 n 
-0000024720 00000 n 
-0000024878 00000 n 
-0000025035 00000 n 
-0000025193 00000 n 
-0000025533 00000 n 
-0000021419 00000 n 
-0000019078 00000 n 
-0000025366 00000 n 
-0000025476 00000 n 
-0000934745 00000 n 
-0000029470 00000 n 
-0000029654 00000 n 
-0000029841 00000 n 
-0000033811 00000 n 
-0000030022 00000 n 
-0000030418 00000 n 
-0000029307 00000 n 
-0000025657 00000 n 
-0000030195 00000 n 
-0000030306 00000 n 
-0000033974 00000 n 
-0000034374 00000 n 
-0000033664 00000 n 
-0000030529 00000 n 
-0000034147 00000 n 
-0000034203 00000 n 
-0000034260 00000 n 
-0000034317 00000 n 
-0000037767 00000 n 
-0000038053 00000 n 
-0000037628 00000 n 
-0000034472 00000 n 
-0000037940 00000 n 
-0000037996 00000 n 
-0000041175 00000 n 
-0000041632 00000 n 
-0000041036 00000 n 
-0000038151 00000 n 
-0000041348 00000 n 
-0000041404 00000 n 
-0000041461 00000 n 
-0000041518 00000 n 
-0000041575 00000 n 
-0000935043 00000 n 
-0000045131 00000 n 
-0000045417 00000 n 
-0000044992 00000 n 
-0000041730 00000 n 
-0000045304 00000 n 
-0000045360 00000 n 
-0000049111 00000 n 
-0000049397 00000 n 
-0000048972 00000 n 
-0000045515 00000 n 
-0000049284 00000 n 
-0000049340 00000 n 
-0000052679 00000 n 
-0000053022 00000 n 
-0000052540 00000 n 
-0000049495 00000 n 
-0000052852 00000 n 
-0000052908 00000 n 
-0000052965 00000 n 
-0000056733 00000 n 
-0000057076 00000 n 
-0000056594 00000 n 
-0000053120 00000 n 
-0000056906 00000 n 
-0000056962 00000 n 
-0000057019 00000 n 
-0000060509 00000 n 
-0000060966 00000 n 
-0000060370 00000 n 
-0000057174 00000 n 
-0000060682 00000 n 
-0000060738 00000 n 
-0000060795 00000 n 
-0000060852 00000 n 
-0000060909 00000 n 
-0000063936 00000 n 
-0000064110 00000 n 
-0000064510 00000 n 
-0000063789 00000 n 
-0000061064 00000 n 
-0000064283 00000 n 
-0000064339 00000 n 
-0000064396 00000 n 
-0000064453 00000 n 
-0000934035 00000 n 
-0000935161 00000 n 
-0000067863 00000 n 
-0000068038 00000 n 
-0000068233 00000 n 
-0000068632 00000 n 
-0000067708 00000 n 
-0000064621 00000 n 
-0000068406 00000 n 
-0000068518 00000 n 
-0000072465 00000 n 
-0000072694 00000 n 
-0000072326 00000 n 
-0000068743 00000 n 
-0000072638 00000 n 
-0000076542 00000 n 
-0000076771 00000 n 
-0000076403 00000 n 
-0000072792 00000 n 
-0000076715 00000 n 
-0000080280 00000 n 
-0000080509 00000 n 
-0000080141 00000 n 
-0000076869 00000 n 
-0000080453 00000 n 
-0000084020 00000 n 
-0000084196 00000 n 
-0000084425 00000 n 
-0000083873 00000 n 
-0000080607 00000 n 
-0000084369 00000 n 
-0000086722 00000 n 
-0000086879 00000 n 
-0000087034 00000 n 
-0000087191 00000 n 
-0000087348 00000 n 
-0000087505 00000 n 
-0000087660 00000 n 
-0000088056 00000 n 
-0000086535 00000 n 
-0000084523 00000 n 
-0000087833 00000 n 
-0000087889 00000 n 
-0000935279 00000 n 
-0000089975 00000 n 
-0000090185 00000 n 
-0000090342 00000 n 
-0000090525 00000 n 
-0000090681 00000 n 
-0000090854 00000 n 
-0000091011 00000 n 
-0000091207 00000 n 
-0000091364 00000 n 
-0000091544 00000 n 
-0000091701 00000 n 
-0000091873 00000 n 
-0000092030 00000 n 
-0000092227 00000 n 
-0000092384 00000 n 
-0000092562 00000 n 
-0000092718 00000 n 
-0000092890 00000 n 
-0000093047 00000 n 
-0000093243 00000 n 
-0000093401 00000 n 
-0000093580 00000 n 
-0000093738 00000 n 
-0000093908 00000 n 
-0000094065 00000 n 
-0000094266 00000 n 
-0000094424 00000 n 
-0000094609 00000 n 
-0000094767 00000 n 
-0000094944 00000 n 
-0000095102 00000 n 
-0000095282 00000 n 
-0000095440 00000 n 
-0000095612 00000 n 
-0000095769 00000 n 
-0000095950 00000 n 
-0000096108 00000 n 
-0000096282 00000 n 
-0000096440 00000 n 
-0000096621 00000 n 
-0000096778 00000 n 
-0000096955 00000 n 
-0000097113 00000 n 
-0000097323 00000 n 
-0000097515 00000 n 
-0000099823 00000 n 
-0000100028 00000 n 
-0000100223 00000 n 
-0000097671 00000 n 
-0000098012 00000 n 
-0000089476 00000 n 
-0000088154 00000 n 
-0000097844 00000 n 
-0000191865 00000 n 
-0000199851 00000 n 
-0000207037 00000 n 
-0000213588 00000 n 
-0000220669 00000 n 
-0000239174 00000 n 
-0000249354 00000 n 
-0000257642 00000 n 
-0000274785 00000 n 
-0000292230 00000 n 
-0000300622 00000 n 
-0000318943 00000 n 
-0000326633 00000 n 
-0000335664 00000 n 
-0000352665 00000 n 
-0000371803 00000 n 
-0000390152 00000 n 
-0000432193 00000 n 
-0000432779 00000 n 
-0000473133 00000 n 
-0000479442 00000 n 
-0000487684 00000 n 
-0000511833 00000 n 
-0000100381 00000 n 
-0000100575 00000 n 
-0000100733 00000 n 
-0000100904 00000 n 
-0000101062 00000 n 
-0000101251 00000 n 
-0000101440 00000 n 
-0000101628 00000 n 
-0000101816 00000 n 
-0000102005 00000 n 
-0000102194 00000 n 
-0000103051 00000 n 
-0000099580 00000 n 
-0000098110 00000 n 
-0000102367 00000 n 
-0000102479 00000 n 
-0000102592 00000 n 
-0000102709 00000 n 
-0000102766 00000 n 
-0000102823 00000 n 
-0000102880 00000 n 
-0000102937 00000 n 
-0000102994 00000 n 
-0000505087 00000 n 
-0000530003 00000 n 
-0000105777 00000 n 
-0000105891 00000 n 
-0000106004 00000 n 
-0000106123 00000 n 
-0000104974 00000 n 
-0000105166 00000 n 
-0000105358 00000 n 
-0000105548 00000 n 
-0000106528 00000 n 
-0000104811 00000 n 
-0000103188 00000 n 
-0000105721 00000 n 
-0000105834 00000 n 
-0000105948 00000 n 
-0000106066 00000 n 
-0000106185 00000 n 
-0000934389 00000 n 
-0000106242 00000 n 
-0000106359 00000 n 
-0000106416 00000 n 
-0000106472 00000 n 
-0000110724 00000 n 
-0000108391 00000 n 
-0000108583 00000 n 
-0000108774 00000 n 
-0000108966 00000 n 
-0000109158 00000 n 
-0000109350 00000 n 
-0000109542 00000 n 
-0000109734 00000 n 
-0000109926 00000 n 
-0000110838 00000 n 
-0000108188 00000 n 
-0000106665 00000 n 
-0000110099 00000 n 
-0000110155 00000 n 
-0000110211 00000 n 
-0000110268 00000 n 
-0000110325 00000 n 
-0000110382 00000 n 
-0000110439 00000 n 
-0000110496 00000 n 
-0000110553 00000 n 
-0000933397 00000 n 
-0000110610 00000 n 
-0000110667 00000 n 
-0000110781 00000 n 
-0000116760 00000 n 
-0000113007 00000 n 
-0000113196 00000 n 
-0000113416 00000 n 
-0000113639 00000 n 
-0000114085 00000 n 
-0000114309 00000 n 
-0000114532 00000 n 
-0000114756 00000 n 
-0000114980 00000 n 
-0000115202 00000 n 
-0000115425 00000 n 
-0000115648 00000 n 
-0000116094 00000 n 
-0000116284 00000 n 
-0000116474 00000 n 
-0000117509 00000 n 
-0000112740 00000 n 
-0000110988 00000 n 
-0000116647 00000 n 
-0000116703 00000 n 
-0000116816 00000 n 
-0000116872 00000 n 
-0000116983 00000 n 
-0000113862 00000 n 
-0000115872 00000 n 
-0000117040 00000 n 
-0000117097 00000 n 
-0000117154 00000 n 
-0000117211 00000 n 
-0000117268 00000 n 
-0000117325 00000 n 
-0000117387 00000 n 
-0000117448 00000 n 
-0000121074 00000 n 
-0000121135 00000 n 
-0000121197 00000 n 
-0000121259 00000 n 
-0000121321 00000 n 
-0000121383 00000 n 
-0000121445 00000 n 
-0000121507 00000 n 
-0000121626 00000 n 
-0000120078 00000 n 
-0000120270 00000 n 
-0000120461 00000 n 
-0000120653 00000 n 
-0000120845 00000 n 
-0000122029 00000 n 
-0000119907 00000 n 
-0000117659 00000 n 
-0000121018 00000 n 
-0000121569 00000 n 
-0000121683 00000 n 
-0000121740 00000 n 
-0000121858 00000 n 
-0000121915 00000 n 
-0000121972 00000 n 
-0000935397 00000 n 
-0000125153 00000 n 
-0000125267 00000 n 
-0000124426 00000 n 
-0000124618 00000 n 
-0000127174 00000 n 
-0000124810 00000 n 
-0000125493 00000 n 
-0000124271 00000 n 
-0000122166 00000 n 
-0000124983 00000 n 
-0000125039 00000 n 
-0000125096 00000 n 
-0000125210 00000 n 
-0000125324 00000 n 
-0000125381 00000 n 
-0000127368 00000 n 
-0000127562 00000 n 
-0000127756 00000 n 
-0000127928 00000 n 
-0000128121 00000 n 
-0000128293 00000 n 
-0000128486 00000 n 
-0000128666 00000 n 
-0000128860 00000 n 
-0000129040 00000 n 
-0000129234 00000 n 
-0000129406 00000 n 
-0000129600 00000 n 
-0000129772 00000 n 
-0000129966 00000 n 
-0000130146 00000 n 
-0000130340 00000 n 
-0000130520 00000 n 
-0000130714 00000 n 
-0000130911 00000 n 
-0000131104 00000 n 
-0000131300 00000 n 
-0000131687 00000 n 
-0000131858 00000 n 
-0000132052 00000 n 
-0000132222 00000 n 
-0000132415 00000 n 
-0000132594 00000 n 
-0000132788 00000 n 
-0000132965 00000 n 
-0000135901 00000 n 
-0000136097 00000 n 
-0000133155 00000 n 
-0000134294 00000 n 
-0000126779 00000 n 
-0000125617 00000 n 
-0000133328 00000 n 
-0000133384 00000 n 
-0000133441 00000 n 
-0000133498 00000 n 
-0000133555 00000 n 
-0000133612 00000 n 
-0000133669 00000 n 
-0000133726 00000 n 
-0000133783 00000 n 
-0000133839 00000 n 
-0000133896 00000 n 
-0000133953 00000 n 
-0000134010 00000 n 
-0000131494 00000 n 
-0000134067 00000 n 
-0000134124 00000 n 
-0000134181 00000 n 
-0000134238 00000 n 
-0000176657 00000 n 
-0000136291 00000 n 
-0000136487 00000 n 
-0000136874 00000 n 
-0000137046 00000 n 
-0000137240 00000 n 
-0000137411 00000 n 
-0000137604 00000 n 
-0000137784 00000 n 
-0000137978 00000 n 
-0000138158 00000 n 
-0000138352 00000 n 
-0000138548 00000 n 
-0000138934 00000 n 
-0000139131 00000 n 
-0000139517 00000 n 
-0000139693 00000 n 
-0000139885 00000 n 
-0000140060 00000 n 
-0000140253 00000 n 
-0000140437 00000 n 
-0000140630 00000 n 
-0000140815 00000 n 
-0000141009 00000 n 
-0000141211 00000 n 
-0000141598 00000 n 
-0000141800 00000 n 
-0000142185 00000 n 
-0000142357 00000 n 
-0000145162 00000 n 
-0000145336 00000 n 
-0000142548 00000 n 
-0000143630 00000 n 
-0000135482 00000 n 
-0000134418 00000 n 
-0000142721 00000 n 
-0000142777 00000 n 
-0000142833 00000 n 
-0000136681 00000 n 
-0000142890 00000 n 
-0000142947 00000 n 
-0000143004 00000 n 
-0000143061 00000 n 
-0000143118 00000 n 
-0000138741 00000 n 
-0000143175 00000 n 
-0000139324 00000 n 
-0000143232 00000 n 
-0000143289 00000 n 
-0000143346 00000 n 
-0000143403 00000 n 
-0000143460 00000 n 
-0000141405 00000 n 
-0000143517 00000 n 
-0000141994 00000 n 
-0000143574 00000 n 
-0000145530 00000 n 
-0000145704 00000 n 
-0000145898 00000 n 
-0000146072 00000 n 
-0000146266 00000 n 
-0000146443 00000 n 
-0000146637 00000 n 
-0000146814 00000 n 
-0000147008 00000 n 
-0000147189 00000 n 
-0000147383 00000 n 
-0000147564 00000 n 
-0000147758 00000 n 
-0000147939 00000 n 
-0000148133 00000 n 
-0000148314 00000 n 
-0000148508 00000 n 
-0000148691 00000 n 
-0000148885 00000 n 
-0000149068 00000 n 
-0000149262 00000 n 
-0000149455 00000 n 
-0000149841 00000 n 
-0000150051 00000 n 
-0000150438 00000 n 
-0000150648 00000 n 
-0000153974 00000 n 
-0000154146 00000 n 
-0000151035 00000 n 
-0000152102 00000 n 
-0000144775 00000 n 
-0000143754 00000 n 
-0000151208 00000 n 
-0000151264 00000 n 
-0000151320 00000 n 
-0000151376 00000 n 
-0000151431 00000 n 
-0000151487 00000 n 
-0000151543 00000 n 
-0000151599 00000 n 
-0000151655 00000 n 
-0000151710 00000 n 
-0000151766 00000 n 
-0000151822 00000 n 
-0000151878 00000 n 
-0000151934 00000 n 
-0000149649 00000 n 
-0000151989 00000 n 
-0000150245 00000 n 
-0000152046 00000 n 
-0000150842 00000 n 
-0000154340 00000 n 
-0000154512 00000 n 
-0000154706 00000 n 
-0000154901 00000 n 
-0000155094 00000 n 
-0000155289 00000 n 
-0000155676 00000 n 
-0000155880 00000 n 
-0000156267 00000 n 
-0000156471 00000 n 
-0000156856 00000 n 
-0000157067 00000 n 
-0000157453 00000 n 
-0000157664 00000 n 
-0000158050 00000 n 
-0000158244 00000 n 
-0000158471 00000 n 
-0000158699 00000 n 
-0000158926 00000 n 
-0000159154 00000 n 
-0000159381 00000 n 
-0000159575 00000 n 
-0000159803 00000 n 
-0000160257 00000 n 
-0000160484 00000 n 
-0000160939 00000 n 
-0000161133 00000 n 
-0000161361 00000 n 
-0000161815 00000 n 
-0000165107 00000 n 
-0000165300 00000 n 
-0000165527 00000 n 
-0000165754 00000 n 
-0000165982 00000 n 
-0000166210 00000 n 
-0000162043 00000 n 
-0000162785 00000 n 
-0000153523 00000 n 
-0000152226 00000 n 
-0000162216 00000 n 
-0000162272 00000 n 
-0000162329 00000 n 
-0000162386 00000 n 
-0000162443 00000 n 
-0000155483 00000 n 
-0000162500 00000 n 
-0000156074 00000 n 
-0000162557 00000 n 
-0000156663 00000 n 
-0000162614 00000 n 
-0000157260 00000 n 
-0000162671 00000 n 
-0000157857 00000 n 
-0000162728 00000 n 
-0000160030 00000 n 
-0000160712 00000 n 
-0000161588 00000 n 
-0000176828 00000 n 
-0000178654 00000 n 
-0000178715 00000 n 
-0000178777 00000 n 
-0000178839 00000 n 
-0000178901 00000 n 
-0000178963 00000 n 
-0000179077 00000 n 
-0000179139 00000 n 
-0000179200 00000 n 
-0000179262 00000 n 
-0000179324 00000 n 
-0000179438 00000 n 
-0000179500 00000 n 
-0000179562 00000 n 
-0000166437 00000 n 
-0000166631 00000 n 
-0000166859 00000 n 
-0000167314 00000 n 
-0000167506 00000 n 
-0000167734 00000 n 
-0000168189 00000 n 
-0000168417 00000 n 
-0000168611 00000 n 
-0000168805 00000 n 
-0000168999 00000 n 
-0000169193 00000 n 
-0000169383 00000 n 
-0000169577 00000 n 
-0000169770 00000 n 
-0000169963 00000 n 
-0000170157 00000 n 
-0000170351 00000 n 
-0000170544 00000 n 
-0000170737 00000 n 
-0000170931 00000 n 
-0000171124 00000 n 
-0000171318 00000 n 
-0000171512 00000 n 
-0000174809 00000 n 
-0000171705 00000 n 
-0000172558 00000 n 
-0000164712 00000 n 
-0000162909 00000 n 
-0000171878 00000 n 
-0000167087 00000 n 
-0000167962 00000 n 
-0000171934 00000 n 
-0000171990 00000 n 
-0000172046 00000 n 
-0000172103 00000 n 
-0000172160 00000 n 
-0000172217 00000 n 
-0000172274 00000 n 
-0000172330 00000 n 
-0000172387 00000 n 
-0000172444 00000 n 
-0000172501 00000 n 
-0000935515 00000 n 
-0000179624 00000 n 
-0000179737 00000 n 
-0000179799 00000 n 
-0000179861 00000 n 
-0000179923 00000 n 
-0000179985 00000 n 
-0000180046 00000 n 
-0000182703 00000 n 
-0000182765 00000 n 
-0000182827 00000 n 
-0000182941 00000 n 
-0000183003 00000 n 
-0000183065 00000 n 
-0000183184 00000 n 
-0000175002 00000 n 
-0000175196 00000 n 
-0000175390 00000 n 
-0000175584 00000 n 
-0000175778 00000 n 
-0000175972 00000 n 
-0000176942 00000 n 
-0000174622 00000 n 
-0000172695 00000 n 
-0000176145 00000 n 
-0000176201 00000 n 
-0000176258 00000 n 
-0000176315 00000 n 
-0000176372 00000 n 
-0000176429 00000 n 
-0000176486 00000 n 
-0000176543 00000 n 
-0000176600 00000 n 
-0000176714 00000 n 
-0000176771 00000 n 
-0000176885 00000 n 
-0000178425 00000 n 
-0000180102 00000 n 
-0000178286 00000 n 
-0000177066 00000 n 
-0000178598 00000 n 
-0000931800 00000 n 
-0000932238 00000 n 
-0000179020 00000 n 
-0000179381 00000 n 
-0000179681 00000 n 
-0000182417 00000 n 
-0000183298 00000 n 
-0000182278 00000 n 
-0000180251 00000 n 
-0000182590 00000 n 
-0000182646 00000 n 
-0000182884 00000 n 
-0000931946 00000 n 
-0000183127 00000 n 
-0000183241 00000 n 
-0000185624 00000 n 
-0000185867 00000 n 
-0000186286 00000 n 
-0000186773 00000 n 
-0000186982 00000 n 
-0000187370 00000 n 
-0000187857 00000 n 
-0000188067 00000 n 
-0000188454 00000 n 
-0000188697 00000 n 
-0000189084 00000 n 
-0000189327 00000 n 
-0000189710 00000 n 
-0000189904 00000 n 
-0000190147 00000 n 
-0000190565 00000 n 
-0000190809 00000 n 
-0000191193 00000 n 
-0000191580 00000 n 
-0000192433 00000 n 
-0000185261 00000 n 
-0000183460 00000 n 
-0000191753 00000 n 
-0000191978 00000 n 
-0000192035 00000 n 
-0000186077 00000 n 
-0000192092 00000 n 
-0000186529 00000 n 
-0000187176 00000 n 
-0000192149 00000 n 
-0000187613 00000 n 
-0000188261 00000 n 
-0000192205 00000 n 
-0000188891 00000 n 
-0000192262 00000 n 
-0000189520 00000 n 
-0000192319 00000 n 
-0000190356 00000 n 
-0000192376 00000 n 
-0000191003 00000 n 
-0000191387 00000 n 
-0000194643 00000 n 
-0000194860 00000 n 
-0000195054 00000 n 
-0000195413 00000 n 
-0000195629 00000 n 
-0000195823 00000 n 
-0000196016 00000 n 
-0000196189 00000 n 
-0000196405 00000 n 
-0000196598 00000 n 
-0000196942 00000 n 
-0000197158 00000 n 
-0000197352 00000 n 
-0000197525 00000 n 
-0000197742 00000 n 
-0000197936 00000 n 
-0000198153 00000 n 
-0000198347 00000 n 
-0000198564 00000 n 
-0000198757 00000 n 
-0000198974 00000 n 
-0000199167 00000 n 
-0000199383 00000 n 
-0000199565 00000 n 
-0000200532 00000 n 
-0000194304 00000 n 
-0000192583 00000 n 
-0000199738 00000 n 
-0000199794 00000 n 
-0000199964 00000 n 
-0000200021 00000 n 
-0000195234 00000 n 
-0000200078 00000 n 
-0000200134 00000 n 
-0000196770 00000 n 
-0000200191 00000 n 
-0000200248 00000 n 
-0000200304 00000 n 
-0000200361 00000 n 
-0000200418 00000 n 
-0000200475 00000 n 
-0000203042 00000 n 
-0000203249 00000 n 
-0000203422 00000 n 
-0000203629 00000 n 
-0000203802 00000 n 
-0000204008 00000 n 
-0000204181 00000 n 
-0000204375 00000 n 
-0000204582 00000 n 
-0000204756 00000 n 
-0000204964 00000 n 
-0000205138 00000 n 
-0000205333 00000 n 
-0000205540 00000 n 
-0000205734 00000 n 
-0000205942 00000 n 
-0000206137 00000 n 
-0000206345 00000 n 
-0000206540 00000 n 
-0000210132 00000 n 
-0000206746 00000 n 
-0000207740 00000 n 
-0000202734 00000 n 
-0000200682 00000 n 
-0000206920 00000 n 
-0000206978 00000 n 
-0000207151 00000 n 
-0000207210 00000 n 
-0000207269 00000 n 
-0000207328 00000 n 
-0000207387 00000 n 
-0000207446 00000 n 
-0000207504 00000 n 
-0000207563 00000 n 
-0000207622 00000 n 
-0000207681 00000 n 
-0000935633 00000 n 
-0000210340 00000 n 
-0000210548 00000 n 
-0000210756 00000 n 
-0000210951 00000 n 
-0000211159 00000 n 
-0000211354 00000 n 
-0000211562 00000 n 
-0000211755 00000 n 
-0000211987 00000 n 
-0000212185 00000 n 
-0000212416 00000 n 
-0000212614 00000 n 
-0000216188 00000 n 
-0000216420 00000 n 
-0000216618 00000 n 
-0000213002 00000 n 
-0000213880 00000 n 
-0000209862 00000 n 
-0000207891 00000 n 
-0000213176 00000 n 
-0000213234 00000 n 
-0000213293 00000 n 
-0000213352 00000 n 
-0000213411 00000 n 
-0000213470 00000 n 
-0000213529 00000 n 
-0000213703 00000 n 
-0000213762 00000 n 
-0000213821 00000 n 
-0000212809 00000 n 
-0000216813 00000 n 
-0000217044 00000 n 
-0000217433 00000 n 
-0000217665 00000 n 
-0000218055 00000 n 
-0000218250 00000 n 
-0000218481 00000 n 
-0000218875 00000 n 
-0000219107 00000 n 
-0000219496 00000 n 
-0000219690 00000 n 
-0000219904 00000 n 
-0000223587 00000 n 
-0000223802 00000 n 
-0000223983 00000 n 
-0000224198 00000 n 
-0000224379 00000 n 
-0000220084 00000 n 
-0000220902 00000 n 
-0000215873 00000 n 
-0000214031 00000 n 
-0000220258 00000 n 
-0000220316 00000 n 
-0000220375 00000 n 
-0000217239 00000 n 
-0000220433 00000 n 
-0000217860 00000 n 
-0000220492 00000 n 
-0000218678 00000 n 
-0000220551 00000 n 
-0000219302 00000 n 
-0000220610 00000 n 
-0000220784 00000 n 
-0000220843 00000 n 
-0000224769 00000 n 
-0000224984 00000 n 
-0000225165 00000 n 
-0000225360 00000 n 
-0000225575 00000 n 
-0000225755 00000 n 
-0000225949 00000 n 
-0000226164 00000 n 
-0000226359 00000 n 
-0000226574 00000 n 
-0000226769 00000 n 
-0000227159 00000 n 
-0000227374 00000 n 
-0000227569 00000 n 
-0000227784 00000 n 
-0000227979 00000 n 
-0000228375 00000 n 
-0000228590 00000 n 
-0000228785 00000 n 
-0000229180 00000 n 
-0000229395 00000 n 
-0000229590 00000 n 
-0000229803 00000 n 
-0000229983 00000 n 
-0000230198 00000 n 
-0000230379 00000 n 
-0000234266 00000 n 
-0000234481 00000 n 
-0000234675 00000 n 
-0000234890 00000 n 
-0000230769 00000 n 
-0000231708 00000 n 
-0000223119 00000 n 
-0000221053 00000 n 
-0000230943 00000 n 
-0000231001 00000 n 
-0000231060 00000 n 
-0000224574 00000 n 
-0000231119 00000 n 
-0000231178 00000 n 
-0000231237 00000 n 
-0000231296 00000 n 
-0000226964 00000 n 
-0000231354 00000 n 
-0000231413 00000 n 
-0000228177 00000 n 
-0000231472 00000 n 
-0000228983 00000 n 
-0000231531 00000 n 
-0000231590 00000 n 
-0000231649 00000 n 
-0000230574 00000 n 
-0000235085 00000 n 
-0000235300 00000 n 
-0000235495 00000 n 
-0000235709 00000 n 
-0000235904 00000 n 
-0000236118 00000 n 
-0000236298 00000 n 
-0000236505 00000 n 
-0000236678 00000 n 
-0000236873 00000 n 
-0000237263 00000 n 
-0000237470 00000 n 
-0000237643 00000 n 
-0000237849 00000 n 
-0000238020 00000 n 
-0000238224 00000 n 
-0000238395 00000 n 
-0000242305 00000 n 
-0000242512 00000 n 
-0000242685 00000 n 
-0000238588 00000 n 
-0000239584 00000 n 
-0000233924 00000 n 
-0000231846 00000 n 
-0000238762 00000 n 
-0000238820 00000 n 
-0000238879 00000 n 
-0000238938 00000 n 
-0000238997 00000 n 
-0000239056 00000 n 
-0000239115 00000 n 
-0000239289 00000 n 
-0000239348 00000 n 
-0000237068 00000 n 
-0000932092 00000 n 
-0000932673 00000 n 
-0000239407 00000 n 
-0000239466 00000 n 
-0000239525 00000 n 
-0000242880 00000 n 
-0000243087 00000 n 
-0000243282 00000 n 
-0000243489 00000 n 
-0000243683 00000 n 
-0000243878 00000 n 
-0000244083 00000 n 
-0000244277 00000 n 
-0000244472 00000 n 
-0000244820 00000 n 
-0000245027 00000 n 
-0000245222 00000 n 
-0000245396 00000 n 
-0000245603 00000 n 
-0000245798 00000 n 
-0000245971 00000 n 
-0000246178 00000 n 
-0000246373 00000 n 
-0000246580 00000 n 
-0000246775 00000 n 
-0000246982 00000 n 
-0000247177 00000 n 
-0000247384 00000 n 
-0000247578 00000 n 
-0000247784 00000 n 
-0000247978 00000 n 
-0000248184 00000 n 
-0000248357 00000 n 
-0000249411 00000 n 
-0000241882 00000 n 
-0000239763 00000 n 
-0000248531 00000 n 
-0000248589 00000 n 
-0000248648 00000 n 
-0000248706 00000 n 
-0000248765 00000 n 
-0000244646 00000 n 
-0000248824 00000 n 
-0000248883 00000 n 
-0000248942 00000 n 
-0000249001 00000 n 
-0000249060 00000 n 
-0000249119 00000 n 
-0000249178 00000 n 
-0000249237 00000 n 
-0000249295 00000 n 
-0000251876 00000 n 
-0000252107 00000 n 
-0000252304 00000 n 
-0000252536 00000 n 
-0000252932 00000 n 
-0000253127 00000 n 
-0000253358 00000 n 
-0000253754 00000 n 
-0000253949 00000 n 
-0000254180 00000 n 
-0000254567 00000 n 
-0000254798 00000 n 
-0000255187 00000 n 
-0000255382 00000 n 
-0000255614 00000 n 
-0000256010 00000 n 
-0000256242 00000 n 
-0000256630 00000 n 
-0000256823 00000 n 
-0000257699 00000 n 
-0000251516 00000 n 
-0000249549 00000 n 
-0000256997 00000 n 
-0000257112 00000 n 
-0000257171 00000 n 
-0000257230 00000 n 
-0000252734 00000 n 
-0000257289 00000 n 
-0000253556 00000 n 
-0000257348 00000 n 
-0000254375 00000 n 
-0000257407 00000 n 
-0000254993 00000 n 
-0000257466 00000 n 
-0000255812 00000 n 
-0000257525 00000 n 
-0000256437 00000 n 
-0000257584 00000 n 
-0000935758 00000 n 
-0000260251 00000 n 
-0000260466 00000 n 
-0000260647 00000 n 
-0000260862 00000 n 
-0000261043 00000 n 
-0000261258 00000 n 
-0000261439 00000 n 
-0000261829 00000 n 
-0000262044 00000 n 
-0000262225 00000 n 
-0000262615 00000 n 
-0000262830 00000 n 
-0000263011 00000 n 
-0000263401 00000 n 
-0000263615 00000 n 
-0000263809 00000 n 
-0000264024 00000 n 
-0000264219 00000 n 
-0000264609 00000 n 
-0000264824 00000 n 
-0000265018 00000 n 
-0000265233 00000 n 
-0000265428 00000 n 
-0000265643 00000 n 
-0000265838 00000 n 
-0000266234 00000 n 
-0000266447 00000 n 
-0000266640 00000 n 
-0000270406 00000 n 
-0000270620 00000 n 
-0000267032 00000 n 
-0000268029 00000 n 
-0000259801 00000 n 
-0000257850 00000 n 
-0000267206 00000 n 
-0000267321 00000 n 
-0000267380 00000 n 
-0000267439 00000 n 
-0000267498 00000 n 
-0000261634 00000 n 
-0000267557 00000 n 
-0000262420 00000 n 
-0000267616 00000 n 
-0000263206 00000 n 
-0000267675 00000 n 
-0000267734 00000 n 
-0000264414 00000 n 
-0000267793 00000 n 
-0000267852 00000 n 
-0000267911 00000 n 
-0000266036 00000 n 
-0000267970 00000 n 
-0000266836 00000 n 
-0000270814 00000 n 
-0000271029 00000 n 
-0000271208 00000 n 
-0000271422 00000 n 
-0000271600 00000 n 
-0000271989 00000 n 
-0000272204 00000 n 
-0000272399 00000 n 
-0000272614 00000 n 
-0000272808 00000 n 
-0000273023 00000 n 
-0000273218 00000 n 
-0000273433 00000 n 
-0000273627 00000 n 
-0000273842 00000 n 
-0000277665 00000 n 
-0000277871 00000 n 
-0000278043 00000 n 
-0000278237 00000 n 
-0000274023 00000 n 
-0000274900 00000 n 
-0000270100 00000 n 
-0000268180 00000 n 
-0000274197 00000 n 
-0000274255 00000 n 
-0000274314 00000 n 
-0000274373 00000 n 
-0000271794 00000 n 
-0000274432 00000 n 
-0000274491 00000 n 
-0000274550 00000 n 
-0000274609 00000 n 
-0000274668 00000 n 
-0000274726 00000 n 
-0000278626 00000 n 
-0000278832 00000 n 
-0000279004 00000 n 
-0000279211 00000 n 
-0000279384 00000 n 
-0000279590 00000 n 
-0000279762 00000 n 
-0000279956 00000 n 
-0000280162 00000 n 
-0000280334 00000 n 
-0000280528 00000 n 
-0000280735 00000 n 
-0000280930 00000 n 
-0000281137 00000 n 
-0000281332 00000 n 
-0000281526 00000 n 
-0000281733 00000 n 
-0000281928 00000 n 
-0000282135 00000 n 
-0000282330 00000 n 
-0000282524 00000 n 
-0000282872 00000 n 
-0000283079 00000 n 
-0000283274 00000 n 
-0000283448 00000 n 
-0000283655 00000 n 
-0000283850 00000 n 
-0000284056 00000 n 
-0000287636 00000 n 
-0000287843 00000 n 
-0000288038 00000 n 
-0000288244 00000 n 
-0000284250 00000 n 
-0000285248 00000 n 
-0000277215 00000 n 
-0000275051 00000 n 
-0000284424 00000 n 
-0000284482 00000 n 
-0000284541 00000 n 
-0000278431 00000 n 
-0000284600 00000 n 
-0000284659 00000 n 
-0000284717 00000 n 
-0000284776 00000 n 
-0000284835 00000 n 
-0000284894 00000 n 
-0000284953 00000 n 
-0000285012 00000 n 
-0000282698 00000 n 
-0000285071 00000 n 
-0000285130 00000 n 
-0000285189 00000 n 
-0000288438 00000 n 
-0000288645 00000 n 
-0000288839 00000 n 
-0000289046 00000 n 
-0000289218 00000 n 
-0000289449 00000 n 
-0000289646 00000 n 
-0000289875 00000 n 
-0000290267 00000 n 
-0000290461 00000 n 
-0000290691 00000 n 
-0000291084 00000 n 
-0000291278 00000 n 
-0000291509 00000 n 
-0000295166 00000 n 
-0000295397 00000 n 
-0000295786 00000 n 
-0000291704 00000 n 
-0000292638 00000 n 
-0000287312 00000 n 
-0000285413 00000 n 
-0000291878 00000 n 
-0000291936 00000 n 
-0000291995 00000 n 
-0000292054 00000 n 
-0000292113 00000 n 
-0000292171 00000 n 
-0000292345 00000 n 
-0000292404 00000 n 
-0000292462 00000 n 
-0000290071 00000 n 
-0000292521 00000 n 
-0000290887 00000 n 
-0000292580 00000 n 
-0000295981 00000 n 
-0000296212 00000 n 
-0000296606 00000 n 
-0000296835 00000 n 
-0000297222 00000 n 
-0000297416 00000 n 
-0000297630 00000 n 
-0000297810 00000 n 
-0000298022 00000 n 
-0000298200 00000 n 
-0000298588 00000 n 
-0000298802 00000 n 
-0000298982 00000 n 
-0000299372 00000 n 
-0000299586 00000 n 
-0000299766 00000 n 
-0000303640 00000 n 
-0000303854 00000 n 
-0000300154 00000 n 
-0000301030 00000 n 
-0000294797 00000 n 
-0000292789 00000 n 
-0000300328 00000 n 
-0000300386 00000 n 
-0000295592 00000 n 
-0000300445 00000 n 
-0000296409 00000 n 
-0000300504 00000 n 
-0000297028 00000 n 
-0000300563 00000 n 
-0000300738 00000 n 
-0000300797 00000 n 
-0000300856 00000 n 
-0000298393 00000 n 
-0000300915 00000 n 
-0000299177 00000 n 
-0000300973 00000 n 
-0000299961 00000 n 
-0000304047 00000 n 
-0000304261 00000 n 
-0000304456 00000 n 
-0000304846 00000 n 
-0000305059 00000 n 
-0000305254 00000 n 
-0000305468 00000 n 
-0000305663 00000 n 
-0000306056 00000 n 
-0000306270 00000 n 
-0000306465 00000 n 
-0000306858 00000 n 
-0000307071 00000 n 
-0000307266 00000 n 
-0000307480 00000 n 
-0000307660 00000 n 
-0000307874 00000 n 
-0000308054 00000 n 
-0000308443 00000 n 
-0000308657 00000 n 
-0000308852 00000 n 
-0000309066 00000 n 
-0000309261 00000 n 
-0000309475 00000 n 
-0000309670 00000 n 
-0000309884 00000 n 
-0000310079 00000 n 
-0000310291 00000 n 
-0000310469 00000 n 
-0000311467 00000 n 
-0000303190 00000 n 
-0000301181 00000 n 
-0000310643 00000 n 
-0000310701 00000 n 
-0000310760 00000 n 
-0000304651 00000 n 
-0000310819 00000 n 
-0000310878 00000 n 
-0000305859 00000 n 
-0000310937 00000 n 
-0000306661 00000 n 
-0000310996 00000 n 
-0000311055 00000 n 
-0000311114 00000 n 
-0000308249 00000 n 
-0000311173 00000 n 
-0000311232 00000 n 
-0000311291 00000 n 
-0000311350 00000 n 
-0000311409 00000 n 
-0000935883 00000 n 
-0000314205 00000 n 
-0000314411 00000 n 
-0000314583 00000 n 
-0000314778 00000 n 
-0000315168 00000 n 
-0000315363 00000 n 
-0000315569 00000 n 
-0000315741 00000 n 
-0000315947 00000 n 
-0000316119 00000 n 
-0000316325 00000 n 
-0000316497 00000 n 
-0000316692 00000 n 
-0000316896 00000 n 
-0000317067 00000 n 
-0000317261 00000 n 
-0000317466 00000 n 
-0000317660 00000 n 
-0000317866 00000 n 
-0000318060 00000 n 
-0000318255 00000 n 
-0000318459 00000 n 
-0000321983 00000 n 
-0000322189 00000 n 
-0000322384 00000 n 
-0000322579 00000 n 
-0000318652 00000 n 
-0000319588 00000 n 
-0000313854 00000 n 
-0000311605 00000 n 
-0000318826 00000 n 
-0000318884 00000 n 
-0000319059 00000 n 
-0000319117 00000 n 
-0000314973 00000 n 
-0000319176 00000 n 
-0000933540 00000 n 
-0000932383 00000 n 
-0000319235 00000 n 
-0000319293 00000 n 
-0000319352 00000 n 
-0000319411 00000 n 
-0000319470 00000 n 
-0000319529 00000 n 
-0000322927 00000 n 
-0000323132 00000 n 
-0000323327 00000 n 
-0000323501 00000 n 
-0000323706 00000 n 
-0000323900 00000 n 
-0000324106 00000 n 
-0000324300 00000 n 
-0000324506 00000 n 
-0000324701 00000 n 
-0000324903 00000 n 
-0000325094 00000 n 
-0000325299 00000 n 
-0000325494 00000 n 
-0000325700 00000 n 
-0000329280 00000 n 
-0000329516 00000 n 
-0000329921 00000 n 
-0000330394 00000 n 
-0000330597 00000 n 
-0000325872 00000 n 
-0000326808 00000 n 
-0000321659 00000 n 
-0000319767 00000 n 
-0000326046 00000 n 
-0000326104 00000 n 
-0000322753 00000 n 
-0000326163 00000 n 
-0000326222 00000 n 
-0000326280 00000 n 
-0000326339 00000 n 
-0000326398 00000 n 
-0000326457 00000 n 
-0000326515 00000 n 
-0000326574 00000 n 
-0000326749 00000 n 
-0000330986 00000 n 
-0000331460 00000 n 
-0000331663 00000 n 
-0000332053 00000 n 
-0000332288 00000 n 
-0000332677 00000 n 
-0000332914 00000 n 
-0000333303 00000 n 
-0000333497 00000 n 
-0000333734 00000 n 
-0000334139 00000 n 
-0000334375 00000 n 
-0000334765 00000 n 
-0000334960 00000 n 
-0000335780 00000 n 
-0000328893 00000 n 
-0000326959 00000 n 
-0000335134 00000 n 
-0000335192 00000 n 
-0000329719 00000 n 
-0000335251 00000 n 
-0000330157 00000 n 
-0000330792 00000 n 
-0000335310 00000 n 
-0000331223 00000 n 
-0000331858 00000 n 
-0000335369 00000 n 
-0000332482 00000 n 
-0000335428 00000 n 
-0000333109 00000 n 
-0000335487 00000 n 
-0000333937 00000 n 
-0000335546 00000 n 
-0000334570 00000 n 
-0000335605 00000 n 
-0000338387 00000 n 
-0000338607 00000 n 
-0000338793 00000 n 
-0000339013 00000 n 
-0000339199 00000 n 
-0000339394 00000 n 
-0000339614 00000 n 
-0000339986 00000 n 
-0000340181 00000 n 
-0000340399 00000 n 
-0000340770 00000 n 
-0000340965 00000 n 
-0000341185 00000 n 
-0000341380 00000 n 
-0000341600 00000 n 
-0000341795 00000 n 
-0000341990 00000 n 
-0000342210 00000 n 
-0000342405 00000 n 
-0000342625 00000 n 
-0000342820 00000 n 
-0000343225 00000 n 
-0000343445 00000 n 
-0000343639 00000 n 
-0000344044 00000 n 
-0000344264 00000 n 
-0000344459 00000 n 
-0000344678 00000 n 
-0000348382 00000 n 
-0000348602 00000 n 
-0000348786 00000 n 
-0000344861 00000 n 
-0000345801 00000 n 
-0000337955 00000 n 
-0000335931 00000 n 
-0000345035 00000 n 
-0000345093 00000 n 
-0000345152 00000 n 
-0000345211 00000 n 
-0000345270 00000 n 
-0000339800 00000 n 
-0000345329 00000 n 
-0000340584 00000 n 
-0000345388 00000 n 
-0000345447 00000 n 
-0000345506 00000 n 
-0000345565 00000 n 
-0000343022 00000 n 
-0000345624 00000 n 
-0000343841 00000 n 
-0000345683 00000 n 
-0000345742 00000 n 
-0000348981 00000 n 
-0000349201 00000 n 
-0000349396 00000 n 
-0000349616 00000 n 
-0000349811 00000 n 
-0000350031 00000 n 
-0000350226 00000 n 
-0000350446 00000 n 
-0000350641 00000 n 
-0000350861 00000 n 
-0000351045 00000 n 
-0000351257 00000 n 
-0000351435 00000 n 
-0000351630 00000 n 
-0000351825 00000 n 
-0000355709 00000 n 
-0000355921 00000 n 
-0000352020 00000 n 
-0000352899 00000 n 
-0000348076 00000 n 
-0000345939 00000 n 
-0000352194 00000 n 
-0000352252 00000 n 
-0000352311 00000 n 
-0000352370 00000 n 
-0000352429 00000 n 
-0000352488 00000 n 
-0000352547 00000 n 
-0000352606 00000 n 
-0000352781 00000 n 
-0000352840 00000 n 
-0000356099 00000 n 
-0000356309 00000 n 
-0000356486 00000 n 
-0000356875 00000 n 
-0000357086 00000 n 
-0000357263 00000 n 
-0000357652 00000 n 
-0000357864 00000 n 
-0000358059 00000 n 
-0000358271 00000 n 
-0000358466 00000 n 
-0000358660 00000 n 
-0000358872 00000 n 
-0000359067 00000 n 
-0000359279 00000 n 
-0000359474 00000 n 
-0000359669 00000 n 
-0000359843 00000 n 
-0000360055 00000 n 
-0000360249 00000 n 
-0000360423 00000 n 
-0000360635 00000 n 
-0000360830 00000 n 
-0000361042 00000 n 
-0000361237 00000 n 
-0000361449 00000 n 
-0000361644 00000 n 
-0000361855 00000 n 
-0000362049 00000 n 
-0000362260 00000 n 
-0000362454 00000 n 
-0000362665 00000 n 
-0000362842 00000 n 
-0000363898 00000 n 
-0000355241 00000 n 
-0000353050 00000 n 
-0000363016 00000 n 
-0000363074 00000 n 
-0000363133 00000 n 
-0000356680 00000 n 
-0000363192 00000 n 
-0000357457 00000 n 
-0000363251 00000 n 
-0000363310 00000 n 
-0000363369 00000 n 
-0000363428 00000 n 
-0000363487 00000 n 
-0000363546 00000 n 
-0000363605 00000 n 
-0000363663 00000 n 
-0000363722 00000 n 
-0000363780 00000 n 
-0000363839 00000 n 
-0000936008 00000 n 
-0000366414 00000 n 
-0000366628 00000 n 
-0000366808 00000 n 
-0000367023 00000 n 
-0000367203 00000 n 
-0000367593 00000 n 
-0000367806 00000 n 
-0000367986 00000 n 
-0000368376 00000 n 
-0000368591 00000 n 
-0000368772 00000 n 
-0000369162 00000 n 
-0000369377 00000 n 
-0000369558 00000 n 
-0000369948 00000 n 
-0000370162 00000 n 
-0000370343 00000 n 
-0000370733 00000 n 
-0000370946 00000 n 
-0000371125 00000 n 
-0000375062 00000 n 
-0000375277 00000 n 
-0000375458 00000 n 
-0000371512 00000 n 
-0000372390 00000 n 
-0000366036 00000 n 
-0000364064 00000 n 
-0000371686 00000 n 
-0000371744 00000 n 
-0000371919 00000 n 
-0000371978 00000 n 
-0000372037 00000 n 
-0000367398 00000 n 
-0000372096 00000 n 
-0000368181 00000 n 
-0000372154 00000 n 
-0000368967 00000 n 
-0000372213 00000 n 
-0000369753 00000 n 
-0000372272 00000 n 
-0000370538 00000 n 
-0000372331 00000 n 
-0000371318 00000 n 
-0000375848 00000 n 
-0000376063 00000 n 
-0000376258 00000 n 
-0000376473 00000 n 
-0000376668 00000 n 
-0000377058 00000 n 
-0000377273 00000 n 
-0000377468 00000 n 
-0000377662 00000 n 
-0000377835 00000 n 
-0000378050 00000 n 
-0000378245 00000 n 
-0000378593 00000 n 
-0000378806 00000 n 
-0000378999 00000 n 
-0000379212 00000 n 
-0000379405 00000 n 
-0000379620 00000 n 
-0000380010 00000 n 
-0000380223 00000 n 
-0000380403 00000 n 
-0000380596 00000 n 
-0000380791 00000 n 
-0000381006 00000 n 
-0000381187 00000 n 
-0000381577 00000 n 
-0000381791 00000 n 
-0000381971 00000 n 
-0000382360 00000 n 
-0000382575 00000 n 
-0000382756 00000 n 
-0000386066 00000 n 
-0000386281 00000 n 
-0000386462 00000 n 
-0000382949 00000 n 
-0000383889 00000 n 
-0000374558 00000 n 
-0000372541 00000 n 
-0000383123 00000 n 
-0000383181 00000 n 
-0000375653 00000 n 
-0000383240 00000 n 
-0000383299 00000 n 
-0000376863 00000 n 
-0000383358 00000 n 
-0000383417 00000 n 
-0000378419 00000 n 
-0000383476 00000 n 
-0000383535 00000 n 
-0000383594 00000 n 
-0000379815 00000 n 
-0000383653 00000 n 
-0000383712 00000 n 
-0000381382 00000 n 
-0000383771 00000 n 
-0000382165 00000 n 
-0000383830 00000 n 
-0000386852 00000 n 
-0000387067 00000 n 
-0000387262 00000 n 
-0000387477 00000 n 
-0000387672 00000 n 
-0000387885 00000 n 
-0000388079 00000 n 
-0000388293 00000 n 
-0000388487 00000 n 
-0000388702 00000 n 
-0000388883 00000 n 
-0000389092 00000 n 
-0000389301 00000 n 
-0000393030 00000 n 
-0000389508 00000 n 
-0000390503 00000 n 
-0000385769 00000 n 
-0000384054 00000 n 
-0000389682 00000 n 
-0000389740 00000 n 
-0000386657 00000 n 
-0000389799 00000 n 
-0000389857 00000 n 
-0000389916 00000 n 
-0000389975 00000 n 
-0000390034 00000 n 
-0000390093 00000 n 
-0000390268 00000 n 
-0000390327 00000 n 
-0000390386 00000 n 
-0000390445 00000 n 
-0000393238 00000 n 
-0000393447 00000 n 
-0000393656 00000 n 
-0000393864 00000 n 
-0000394073 00000 n 
-0000394281 00000 n 
-0000394488 00000 n 
-0000394661 00000 n 
-0000395049 00000 n 
-0000395257 00000 n 
-0000395430 00000 n 
-0000395623 00000 n 
-0000396012 00000 n 
-0000396207 00000 n 
-0000396414 00000 n 
-0000396586 00000 n 
-0000396974 00000 n 
-0000397183 00000 n 
-0000397358 00000 n 
-0000397748 00000 n 
-0000397953 00000 n 
-0000398144 00000 n 
-0000398353 00000 n 
-0000398546 00000 n 
-0000398740 00000 n 
-0000398947 00000 n 
-0000399140 00000 n 
-0000403258 00000 n 
-0000403467 00000 n 
-0000403662 00000 n 
-0000399333 00000 n 
-0000400331 00000 n 
-0000392598 00000 n 
-0000390654 00000 n 
-0000399507 00000 n 
-0000399565 00000 n 
-0000399624 00000 n 
-0000399682 00000 n 
-0000399741 00000 n 
-0000399800 00000 n 
-0000399859 00000 n 
-0000399918 00000 n 
-0000394854 00000 n 
-0000399977 00000 n 
-0000395817 00000 n 
-0000400036 00000 n 
-0000396779 00000 n 
-0000400095 00000 n 
-0000397553 00000 n 
-0000400154 00000 n 
-0000400213 00000 n 
-0000400272 00000 n 
-0000404051 00000 n 
-0000404260 00000 n 
-0000404455 00000 n 
-0000404845 00000 n 
-0000405052 00000 n 
-0000405246 00000 n 
-0000405440 00000 n 
-0000405635 00000 n 
-0000405844 00000 n 
-0000406039 00000 n 
-0000406428 00000 n 
-0000406636 00000 n 
-0000406830 00000 n 
-0000407039 00000 n 
-0000407234 00000 n 
-0000407443 00000 n 
-0000407618 00000 n 
-0000407827 00000 n 
-0000408002 00000 n 
-0000408391 00000 n 
-0000408600 00000 n 
-0000408775 00000 n 
-0000409165 00000 n 
-0000409373 00000 n 
-0000409547 00000 n 
-0000409742 00000 n 
-0000409951 00000 n 
-0000410126 00000 n 
-0000410515 00000 n 
-0000410724 00000 n 
-0000410899 00000 n 
-0000414688 00000 n 
-0000414897 00000 n 
-0000411288 00000 n 
-0000412227 00000 n 
-0000402745 00000 n 
-0000400469 00000 n 
-0000411462 00000 n 
-0000411520 00000 n 
-0000403857 00000 n 
-0000411579 00000 n 
-0000404650 00000 n 
-0000411638 00000 n 
-0000411697 00000 n 
-0000406234 00000 n 
-0000411756 00000 n 
-0000411814 00000 n 
-0000411873 00000 n 
-0000411932 00000 n 
-0000408197 00000 n 
-0000411991 00000 n 
-0000408970 00000 n 
-0000412050 00000 n 
-0000412109 00000 n 
-0000410321 00000 n 
-0000412168 00000 n 
-0000411094 00000 n 
-0000415072 00000 n 
-0000415281 00000 n 
-0000415476 00000 n 
-0000415685 00000 n 
-0000415880 00000 n 
-0000416089 00000 n 
-0000416284 00000 n 
-0000416674 00000 n 
-0000416847 00000 n 
-0000417021 00000 n 
-0000417230 00000 n 
-0000417425 00000 n 
-0000417815 00000 n 
-0000418024 00000 n 
-0000418219 00000 n 
-0000418609 00000 n 
-0000418818 00000 n 
-0000419013 00000 n 
-0000419186 00000 n 
-0000419360 00000 n 
-0000419569 00000 n 
-0000419764 00000 n 
-0000419973 00000 n 
-0000420148 00000 n 
-0000420357 00000 n 
-0000420551 00000 n 
-0000420760 00000 n 
-0000420955 00000 n 
-0000421164 00000 n 
-0000421359 00000 n 
-0000421566 00000 n 
-0000421760 00000 n 
-0000421967 00000 n 
-0000425265 00000 n 
-0000425474 00000 n 
-0000425668 00000 n 
-0000425877 00000 n 
-0000422159 00000 n 
-0000423037 00000 n 
-0000414202 00000 n 
-0000412365 00000 n 
-0000422333 00000 n 
-0000422391 00000 n 
-0000422450 00000 n 
-0000416479 00000 n 
-0000422509 00000 n 
-0000417620 00000 n 
-0000422567 00000 n 
-0000418414 00000 n 
-0000422626 00000 n 
-0000422685 00000 n 
-0000422744 00000 n 
-0000422803 00000 n 
-0000422861 00000 n 
-0000422920 00000 n 
-0000422979 00000 n 
-0000936133 00000 n 
-0000426520 00000 n 
-0000426638 00000 n 
-0000426756 00000 n 
-0000426052 00000 n 
-0000426874 00000 n 
-0000425085 00000 n 
-0000423188 00000 n 
-0000426226 00000 n 
-0000426284 00000 n 
-0000426343 00000 n 
-0000426402 00000 n 
-0000426461 00000 n 
-0000426579 00000 n 
-0000933686 00000 n 
-0000426697 00000 n 
-0000426815 00000 n 
-0000429129 00000 n 
-0000429344 00000 n 
-0000429538 00000 n 
-0000429926 00000 n 
-0000430142 00000 n 
-0000430337 00000 n 
-0000430552 00000 n 
-0000430746 00000 n 
-0000430961 00000 n 
-0000431154 00000 n 
-0000431370 00000 n 
-0000431563 00000 n 
-0000431779 00000 n 
-0000431961 00000 n 
-0000432836 00000 n 
-0000428859 00000 n 
-0000427039 00000 n 
-0000432135 00000 n 
-0000432309 00000 n 
-0000432368 00000 n 
-0000429732 00000 n 
-0000432427 00000 n 
-0000432486 00000 n 
-0000432545 00000 n 
-0000432604 00000 n 
-0000432663 00000 n 
-0000432720 00000 n 
-0000434888 00000 n 
-0000435097 00000 n 
-0000435305 00000 n 
-0000435514 00000 n 
-0000435723 00000 n 
-0000435931 00000 n 
-0000436138 00000 n 
-0000436346 00000 n 
-0000436555 00000 n 
-0000436972 00000 n 
-0000437180 00000 n 
-0000437354 00000 n 
-0000437743 00000 n 
-0000437951 00000 n 
-0000438124 00000 n 
-0000438513 00000 n 
-0000438720 00000 n 
-0000438893 00000 n 
-0000443338 00000 n 
-0000443547 00000 n 
-0000443722 00000 n 
-0000443916 00000 n 
-0000444114 00000 n 
-0000444312 00000 n 
-0000439279 00000 n 
-0000440332 00000 n 
-0000434546 00000 n 
-0000433000 00000 n 
-0000439453 00000 n 
-0000439569 00000 n 
-0000439626 00000 n 
-0000439685 00000 n 
-0000439744 00000 n 
-0000439803 00000 n 
-0000439862 00000 n 
-0000439920 00000 n 
-0000439979 00000 n 
-0000440038 00000 n 
-0000440097 00000 n 
-0000436764 00000 n 
-0000440156 00000 n 
-0000437548 00000 n 
-0000440214 00000 n 
-0000438318 00000 n 
-0000440273 00000 n 
-0000439086 00000 n 
-0000444506 00000 n 
-0000444715 00000 n 
-0000444910 00000 n 
-0000445119 00000 n 
-0000445314 00000 n 
-0000445508 00000 n 
-0000445717 00000 n 
-0000445912 00000 n 
-0000446107 00000 n 
-0000446316 00000 n 
-0000446511 00000 n 
-0000446900 00000 n 
-0000447109 00000 n 
-0000447304 00000 n 
-0000447693 00000 n 
-0000447901 00000 n 
-0000448096 00000 n 
-0000448486 00000 n 
-0000448695 00000 n 
-0000448890 00000 n 
-0000449084 00000 n 
-0000449278 00000 n 
-0000449487 00000 n 
-0000449682 00000 n 
-0000449891 00000 n 
-0000450085 00000 n 
-0000450294 00000 n 
-0000450489 00000 n 
-0000450695 00000 n 
-0000454416 00000 n 
-0000454623 00000 n 
-0000454797 00000 n 
-0000455186 00000 n 
-0000450868 00000 n 
-0000451747 00000 n 
-0000442852 00000 n 
-0000440483 00000 n 
-0000451042 00000 n 
-0000451100 00000 n 
-0000451159 00000 n 
-0000451218 00000 n 
-0000451277 00000 n 
-0000446706 00000 n 
-0000451335 00000 n 
-0000447499 00000 n 
-0000451394 00000 n 
-0000448291 00000 n 
-0000451453 00000 n 
-0000451512 00000 n 
-0000451571 00000 n 
-0000451630 00000 n 
-0000451689 00000 n 
-0000467106 00000 n 
-0000455381 00000 n 
-0000455590 00000 n 
-0000455765 00000 n 
-0000456155 00000 n 
-0000456364 00000 n 
-0000456539 00000 n 
-0000456929 00000 n 
-0000457138 00000 n 
-0000457313 00000 n 
-0000457506 00000 n 
-0000457715 00000 n 
-0000457890 00000 n 
-0000458085 00000 n 
-0000458294 00000 n 
-0000458489 00000 n 
-0000458698 00000 n 
-0000458891 00000 n 
-0000459099 00000 n 
-0000459293 00000 n 
-0000459682 00000 n 
-0000459891 00000 n 
-0000460086 00000 n 
-0000460476 00000 n 
-0000460685 00000 n 
-0000460879 00000 n 
-0000461088 00000 n 
-0000461263 00000 n 
-0000461470 00000 n 
-0000464931 00000 n 
-0000465140 00000 n 
-0000465335 00000 n 
-0000465544 00000 n 
-0000461661 00000 n 
-0000462482 00000 n 
-0000453939 00000 n 
-0000451926 00000 n 
-0000461835 00000 n 
-0000454991 00000 n 
-0000461893 00000 n 
-0000455960 00000 n 
-0000461952 00000 n 
-0000456734 00000 n 
-0000462011 00000 n 
-0000462070 00000 n 
-0000462129 00000 n 
-0000462187 00000 n 
-0000459487 00000 n 
-0000462246 00000 n 
-0000460281 00000 n 
-0000462305 00000 n 
-0000462364 00000 n 
-0000462423 00000 n 
-0000467224 00000 n 
-0000467346 00000 n 
-0000465739 00000 n 
-0000465947 00000 n 
-0000466142 00000 n 
-0000466349 00000 n 
-0000466522 00000 n 
-0000467409 00000 n 
-0000464715 00000 n 
-0000462620 00000 n 
-0000466696 00000 n 
-0000466754 00000 n 
-0000466813 00000 n 
-0000466872 00000 n 
-0000466930 00000 n 
-0000466989 00000 n 
-0000467047 00000 n 
-0000467165 00000 n 
-0000467288 00000 n 
-0000936258 00000 n 
-0000469812 00000 n 
-0000470028 00000 n 
-0000470222 00000 n 
-0000470611 00000 n 
-0000470806 00000 n 
-0000471021 00000 n 
-0000471213 00000 n 
-0000471428 00000 n 
-0000471622 00000 n 
-0000471838 00000 n 
-0000472033 00000 n 
-0000472249 00000 n 
-0000472444 00000 n 
-0000472660 00000 n 
-0000472842 00000 n 
-0000473662 00000 n 
-0000469533 00000 n 
-0000467574 00000 n 
-0000473016 00000 n 
-0000473074 00000 n 
-0000473249 00000 n 
-0000470417 00000 n 
-0000473308 00000 n 
-0000473367 00000 n 
-0000473426 00000 n 
-0000473485 00000 n 
-0000473544 00000 n 
-0000473603 00000 n 
-0000479324 00000 n 
-0000476241 00000 n 
-0000476453 00000 n 
-0000476648 00000 n 
-0000477037 00000 n 
-0000477248 00000 n 
-0000477443 00000 n 
-0000477832 00000 n 
-0000478044 00000 n 
-0000478239 00000 n 
-0000478628 00000 n 
-0000478840 00000 n 
-0000482265 00000 n 
-0000482477 00000 n 
-0000482672 00000 n 
-0000479033 00000 n 
-0000479853 00000 n 
-0000475971 00000 n 
-0000473840 00000 n 
-0000479207 00000 n 
-0000479265 00000 n 
-0000479383 00000 n 
-0000479558 00000 n 
-0000479617 00000 n 
-0000476843 00000 n 
-0000479676 00000 n 
-0000477638 00000 n 
-0000479735 00000 n 
-0000478434 00000 n 
-0000479794 00000 n 
-0000483061 00000 n 
-0000483273 00000 n 
-0000483468 00000 n 
-0000483889 00000 n 
-0000484100 00000 n 
-0000484294 00000 n 
-0000484714 00000 n 
-0000484926 00000 n 
-0000485117 00000 n 
-0000485329 00000 n 
-0000485524 00000 n 
-0000485736 00000 n 
-0000485931 00000 n 
-0000486142 00000 n 
-0000486337 00000 n 
-0000486549 00000 n 
-0000486727 00000 n 
-0000490206 00000 n 
-0000490453 00000 n 
-0000486921 00000 n 
-0000487800 00000 n 
-0000481914 00000 n 
-0000480031 00000 n 
-0000487095 00000 n 
-0000487153 00000 n 
-0000482867 00000 n 
-0000487212 00000 n 
-0000483679 00000 n 
-0000487271 00000 n 
-0000484504 00000 n 
-0000487330 00000 n 
-0000487389 00000 n 
-0000487448 00000 n 
-0000487507 00000 n 
-0000487566 00000 n 
-0000487625 00000 n 
-0000490878 00000 n 
-0000491123 00000 n 
-0000491548 00000 n 
-0000491937 00000 n 
-0000492184 00000 n 
-0000492574 00000 n 
-0000492787 00000 n 
-0000493034 00000 n 
-0000493424 00000 n 
-0000493637 00000 n 
-0000493884 00000 n 
-0000494274 00000 n 
-0000494520 00000 n 
-0000494908 00000 n 
-0000495102 00000 n 
-0000495348 00000 n 
-0000495773 00000 n 
-0000496020 00000 n 
-0000496445 00000 n 
-0000496691 00000 n 
-0000497080 00000 n 
-0000497469 00000 n 
-0000497663 00000 n 
-0000498484 00000 n 
-0000489747 00000 n 
-0000487938 00000 n 
-0000497837 00000 n 
-0000497895 00000 n 
-0000497954 00000 n 
-0000490666 00000 n 
-0000498013 00000 n 
-0000491335 00000 n 
-0000491743 00000 n 
-0000498072 00000 n 
-0000492379 00000 n 
-0000498131 00000 n 
-0000493229 00000 n 
-0000498189 00000 n 
-0000494079 00000 n 
-0000494713 00000 n 
-0000498248 00000 n 
-0000495560 00000 n 
-0000498307 00000 n 
-0000496233 00000 n 
-0000498366 00000 n 
-0000496885 00000 n 
-0000497274 00000 n 
-0000498425 00000 n 
-0000504969 00000 n 
-0000500878 00000 n 
-0000501074 00000 n 
-0000501314 00000 n 
-0000501726 00000 n 
-0000501966 00000 n 
-0000502378 00000 n 
-0000502573 00000 n 
-0000502813 00000 n 
-0000503205 00000 n 
-0000503410 00000 n 
-0000503650 00000 n 
-0000503845 00000 n 
-0000504051 00000 n 
-0000504289 00000 n 
-0000508043 00000 n 
-0000508282 00000 n 
-0000508672 00000 n 
-0000504678 00000 n 
-0000505556 00000 n 
-0000500572 00000 n 
-0000498622 00000 n 
-0000504852 00000 n 
-0000504910 00000 n 
-0000505028 00000 n 
-0000505203 00000 n 
-0000505262 00000 n 
-0000501520 00000 n 
-0000505321 00000 n 
-0000502172 00000 n 
-0000505379 00000 n 
-0000503009 00000 n 
-0000505438 00000 n 
-0000505497 00000 n 
-0000504483 00000 n 
-0000508866 00000 n 
-0000509105 00000 n 
-0000509516 00000 n 
-0000509756 00000 n 
-0000510168 00000 n 
-0000510408 00000 n 
-0000510798 00000 n 
-0000510993 00000 n 
-0000511189 00000 n 
-0000511948 00000 n 
-0000507764 00000 n 
-0000505721 00000 n 
-0000511363 00000 n 
-0000508477 00000 n 
-0000511421 00000 n 
-0000509311 00000 n 
-0000511480 00000 n 
-0000509962 00000 n 
-0000511539 00000 n 
-0000510603 00000 n 
-0000511597 00000 n 
-0000511656 00000 n 
-0000511715 00000 n 
-0000511774 00000 n 
-0000936383 00000 n 
-0000514768 00000 n 
-0000514998 00000 n 
-0000515388 00000 n 
-0000515618 00000 n 
-0000516007 00000 n 
-0000516467 00000 n 
-0000516662 00000 n 
-0000517052 00000 n 
-0000517510 00000 n 
-0000517704 00000 n 
-0000518093 00000 n 
-0000518323 00000 n 
-0000518715 00000 n 
-0000518910 00000 n 
-0000519140 00000 n 
-0000519532 00000 n 
-0000519727 00000 n 
-0000520138 00000 n 
-0000520368 00000 n 
-0000520759 00000 n 
-0000520952 00000 n 
-0000521338 00000 n 
-0000521568 00000 n 
-0000521960 00000 n 
-0000522722 00000 n 
-0000514309 00000 n 
-0000512113 00000 n 
-0000522134 00000 n 
-0000522192 00000 n 
-0000522251 00000 n 
-0000515193 00000 n 
-0000515812 00000 n 
-0000522310 00000 n 
-0000516237 00000 n 
-0000516857 00000 n 
-0000522369 00000 n 
-0000517281 00000 n 
-0000517898 00000 n 
-0000522428 00000 n 
-0000518519 00000 n 
-0000522487 00000 n 
-0000519336 00000 n 
-0000519933 00000 n 
-0000522546 00000 n 
-0000520564 00000 n 
-0000521146 00000 n 
-0000522605 00000 n 
-0000521764 00000 n 
-0000522664 00000 n 
-0000529885 00000 n 
-0000525206 00000 n 
-0000525413 00000 n 
-0000525586 00000 n 
-0000525975 00000 n 
-0000526182 00000 n 
-0000526355 00000 n 
-0000526745 00000 n 
-0000526952 00000 n 
-0000527125 00000 n 
-0000527320 00000 n 
-0000527527 00000 n 
-0000527700 00000 n 
-0000528090 00000 n 
-0000528297 00000 n 
-0000528470 00000 n 
-0000528832 00000 n 
-0000529037 00000 n 
-0000529208 00000 n 
-0000529594 00000 n 
-0000530296 00000 n 
-0000524855 00000 n 
-0000522860 00000 n 
-0000529768 00000 n 
-0000529826 00000 n 
-0000529944 00000 n 
-0000530119 00000 n 
-0000530178 00000 n 
-0000525781 00000 n 
-0000530237 00000 n 
-0000526550 00000 n 
-0000527895 00000 n 
-0000528651 00000 n 
-0000529401 00000 n 
-0000644608 00000 n 
-0000644726 00000 n 
-0000644844 00000 n 
-0000647175 00000 n 
-0000532990 00000 n 
-0000533196 00000 n 
-0000533369 00000 n 
-0000533731 00000 n 
-0000533938 00000 n 
-0000534111 00000 n 
-0000534501 00000 n 
-0000534708 00000 n 
-0000534880 00000 n 
-0000535270 00000 n 
-0000535477 00000 n 
-0000535650 00000 n 
-0000536040 00000 n 
-0000536244 00000 n 
-0000536588 00000 n 
-0000536783 00000 n 
-0000536990 00000 n 
-0000537163 00000 n 
-0000537553 00000 n 
-0000537760 00000 n 
-0000537933 00000 n 
-0000538295 00000 n 
-0000538500 00000 n 
-0000538672 00000 n 
-0000539061 00000 n 
-0000539268 00000 n 
-0000539441 00000 n 
-0000539803 00000 n 
-0000540010 00000 n 
-0000540183 00000 n 
-0000540572 00000 n 
-0000541040 00000 n 
-0000532486 00000 n 
-0000530461 00000 n 
-0000540746 00000 n 
-0000533550 00000 n 
-0000540804 00000 n 
-0000534306 00000 n 
-0000540863 00000 n 
-0000535075 00000 n 
-0000540922 00000 n 
-0000535845 00000 n 
-0000536415 00000 n 
-0000537358 00000 n 
-0000538114 00000 n 
-0000538866 00000 n 
-0000539622 00000 n 
-0000540981 00000 n 
-0000540378 00000 n 
-0000647293 00000 n 
-0000647415 00000 n 
-0000647533 00000 n 
-0000647651 00000 n 
-0000650099 00000 n 
-0000650217 00000 n 
-0000544092 00000 n 
-0000544298 00000 n 
-0000544470 00000 n 
-0000544859 00000 n 
-0000545065 00000 n 
-0000545237 00000 n 
-0000545432 00000 n 
-0000545638 00000 n 
-0000545810 00000 n 
-0000546199 00000 n 
-0000546406 00000 n 
-0000546579 00000 n 
-0000546773 00000 n 
-0000546980 00000 n 
-0000547175 00000 n 
-0000547382 00000 n 
-0000547577 00000 n 
-0000547772 00000 n 
-0000547979 00000 n 
-0000548174 00000 n 
-0000548369 00000 n 
-0000548576 00000 n 
-0000548771 00000 n 
-0000549161 00000 n 
-0000549367 00000 n 
-0000549561 00000 n 
-0000549950 00000 n 
-0000550155 00000 n 
-0000550348 00000 n 
-0000554077 00000 n 
-0000554284 00000 n 
-0000554479 00000 n 
-0000550734 00000 n 
-0000551320 00000 n 
-0000543642 00000 n 
-0000541178 00000 n 
-0000550908 00000 n 
-0000550966 00000 n 
-0000544664 00000 n 
-0000551025 00000 n 
-0000546004 00000 n 
-0000551084 00000 n 
-0000551143 00000 n 
-0000551202 00000 n 
-0000548966 00000 n 
-0000549755 00000 n 
-0000551261 00000 n 
-0000550541 00000 n 
-0000650340 00000 n 
-0000650458 00000 n 
-0000653398 00000 n 
-0000653516 00000 n 
-0000554867 00000 n 
-0000555073 00000 n 
-0000555268 00000 n 
-0000555658 00000 n 
-0000555864 00000 n 
-0000556058 00000 n 
-0000556447 00000 n 
-0000556654 00000 n 
-0000556849 00000 n 
-0000557055 00000 n 
-0000557249 00000 n 
-0000557456 00000 n 
-0000557650 00000 n 
-0000557857 00000 n 
-0000558051 00000 n 
-0000558258 00000 n 
-0000558452 00000 n 
-0000558657 00000 n 
-0000558851 00000 n 
-0000559058 00000 n 
-0000559231 00000 n 
-0000559425 00000 n 
-0000559632 00000 n 
-0000559827 00000 n 
-0000560216 00000 n 
-0000560422 00000 n 
-0000560617 00000 n 
-0000561007 00000 n 
-0000561214 00000 n 
-0000561405 00000 n 
-0000561795 00000 n 
-0000561968 00000 n 
-0000562142 00000 n 
-0000562486 00000 n 
-0000562693 00000 n 
-0000562887 00000 n 
-0000563082 00000 n 
-0000563255 00000 n 
-0000567250 00000 n 
-0000567457 00000 n 
-0000567652 00000 n 
-0000568042 00000 n 
-0000568216 00000 n 
-0000568390 00000 n 
-0000563428 00000 n 
-0000564423 00000 n 
-0000553501 00000 n 
-0000551471 00000 n 
-0000563602 00000 n 
-0000563660 00000 n 
-0000554673 00000 n 
-0000563718 00000 n 
-0000555463 00000 n 
-0000563777 00000 n 
-0000556252 00000 n 
-0000563836 00000 n 
-0000563895 00000 n 
-0000563954 00000 n 
-0000564013 00000 n 
-0000564070 00000 n 
-0000564129 00000 n 
-0000564188 00000 n 
-0000564247 00000 n 
-0000560022 00000 n 
-0000564305 00000 n 
-0000560812 00000 n 
-0000561600 00000 n 
-0000562314 00000 n 
-0000564364 00000 n 
-0000653639 00000 n 
-0000568733 00000 n 
-0000568940 00000 n 
-0000569135 00000 n 
-0000569525 00000 n 
-0000569699 00000 n 
-0000569873 00000 n 
-0000570080 00000 n 
-0000570274 00000 n 
-0000570468 00000 n 
-0000570675 00000 n 
-0000570870 00000 n 
-0000571260 00000 n 
-0000571466 00000 n 
-0000571660 00000 n 
-0000572049 00000 n 
-0000572256 00000 n 
-0000572451 00000 n 
-0000572646 00000 n 
-0000572853 00000 n 
-0000573048 00000 n 
-0000573255 00000 n 
-0000573450 00000 n 
-0000573657 00000 n 
-0000573851 00000 n 
-0000574057 00000 n 
-0000574228 00000 n 
-0000574423 00000 n 
-0000574630 00000 n 
-0000574803 00000 n 
-0000574998 00000 n 
-0000575205 00000 n 
-0000575378 00000 n 
-0000575573 00000 n 
-0000575779 00000 n 
-0000575951 00000 n 
-0000579998 00000 n 
-0000580205 00000 n 
-0000580378 00000 n 
-0000580740 00000 n 
-0000580946 00000 n 
-0000581118 00000 n 
-0000576339 00000 n 
-0000577219 00000 n 
-0000566683 00000 n 
-0000564561 00000 n 
-0000576513 00000 n 
-0000567847 00000 n 
-0000568562 00000 n 
-0000576571 00000 n 
-0000569330 00000 n 
-0000576630 00000 n 
-0000576689 00000 n 
-0000571065 00000 n 
-0000576747 00000 n 
-0000571854 00000 n 
-0000576806 00000 n 
-0000576865 00000 n 
-0000576924 00000 n 
-0000576983 00000 n 
-0000577042 00000 n 
-0000577101 00000 n 
-0000577160 00000 n 
-0000576145 00000 n 
-0000936508 00000 n 
-0000656374 00000 n 
-0000656496 00000 n 
-0000581479 00000 n 
-0000581686 00000 n 
-0000581859 00000 n 
-0000582054 00000 n 
-0000582260 00000 n 
-0000582432 00000 n 
-0000582626 00000 n 
-0000582832 00000 n 
-0000583004 00000 n 
-0000583392 00000 n 
-0000583597 00000 n 
-0000583769 00000 n 
-0000584157 00000 n 
-0000584363 00000 n 
-0000584535 00000 n 
-0000584728 00000 n 
-0000584935 00000 n 
-0000585108 00000 n 
-0000585303 00000 n 
-0000585510 00000 n 
-0000585683 00000 n 
-0000585878 00000 n 
-0000586084 00000 n 
-0000586256 00000 n 
-0000586645 00000 n 
-0000586852 00000 n 
-0000587025 00000 n 
-0000587219 00000 n 
-0000587426 00000 n 
-0000587599 00000 n 
-0000587806 00000 n 
-0000587979 00000 n 
-0000588173 00000 n 
-0000588379 00000 n 
-0000588552 00000 n 
-0000588746 00000 n 
-0000588952 00000 n 
-0000589123 00000 n 
-0000589317 00000 n 
-0000589704 00000 n 
-0000594171 00000 n 
-0000594377 00000 n 
-0000594549 00000 n 
-0000594743 00000 n 
-0000595131 00000 n 
-0000589897 00000 n 
-0000590775 00000 n 
-0000579386 00000 n 
-0000577357 00000 n 
-0000590071 00000 n 
-0000580559 00000 n 
-0000581298 00000 n 
-0000590129 00000 n 
-0000590188 00000 n 
-0000590247 00000 n 
-0000583198 00000 n 
-0000590305 00000 n 
-0000583962 00000 n 
-0000590363 00000 n 
-0000590421 00000 n 
-0000590480 00000 n 
-0000586450 00000 n 
-0000590539 00000 n 
-0000590598 00000 n 
-0000590657 00000 n 
-0000590716 00000 n 
-0000589511 00000 n 
-0000656618 00000 n 
-0000656740 00000 n 
-0000659087 00000 n 
-0000659205 00000 n 
-0000595325 00000 n 
-0000595531 00000 n 
-0000595703 00000 n 
-0000595897 00000 n 
-0000596286 00000 n 
-0000596481 00000 n 
-0000596676 00000 n 
-0000596882 00000 n 
-0000597055 00000 n 
-0000597249 00000 n 
-0000597444 00000 n 
-0000597639 00000 n 
-0000597834 00000 n 
-0000598041 00000 n 
-0000598214 00000 n 
-0000598409 00000 n 
-0000598604 00000 n 
-0000598799 00000 n 
-0000599189 00000 n 
-0000599395 00000 n 
-0000599567 00000 n 
-0000599761 00000 n 
-0000599956 00000 n 
-0000600151 00000 n 
-0000600541 00000 n 
-0000600748 00000 n 
-0000600920 00000 n 
-0000601309 00000 n 
-0000601502 00000 n 
-0000601891 00000 n 
-0000602098 00000 n 
-0000602270 00000 n 
-0000602659 00000 n 
-0000602852 00000 n 
-0000603241 00000 n 
-0000603448 00000 n 
-0000603621 00000 n 
-0000603816 00000 n 
-0000604022 00000 n 
-0000604195 00000 n 
-0000604585 00000 n 
-0000604792 00000 n 
-0000604965 00000 n 
-0000605353 00000 n 
-0000605558 00000 n 
-0000605729 00000 n 
-0000605921 00000 n 
-0000606389 00000 n 
-0000593478 00000 n 
-0000590900 00000 n 
-0000606095 00000 n 
-0000594937 00000 n 
-0000596091 00000 n 
-0000598994 00000 n 
-0000600346 00000 n 
-0000601115 00000 n 
-0000601696 00000 n 
-0000602465 00000 n 
-0000603046 00000 n 
-0000606153 00000 n 
-0000606212 00000 n 
-0000604390 00000 n 
-0000606271 00000 n 
-0000605160 00000 n 
-0000606330 00000 n 
-0000659327 00000 n 
-0000659444 00000 n 
-0000661967 00000 n 
-0000662085 00000 n 
-0000662203 00000 n 
-0000664920 00000 n 
-0000665038 00000 n 
-0000609483 00000 n 
-0000609690 00000 n 
-0000609862 00000 n 
-0000610251 00000 n 
-0000610457 00000 n 
-0000610627 00000 n 
-0000610821 00000 n 
-0000611028 00000 n 
-0000611201 00000 n 
-0000611396 00000 n 
-0000611591 00000 n 
-0000611798 00000 n 
-0000611971 00000 n 
-0000612166 00000 n 
-0000612360 00000 n 
-0000612567 00000 n 
-0000612762 00000 n 
-0000612969 00000 n 
-0000613164 00000 n 
-0000613371 00000 n 
-0000613565 00000 n 
-0000613772 00000 n 
-0000613966 00000 n 
-0000614172 00000 n 
-0000614344 00000 n 
-0000614548 00000 n 
-0000614720 00000 n 
-0000615109 00000 n 
-0000615316 00000 n 
-0000615488 00000 n 
-0000619731 00000 n 
-0000619938 00000 n 
-0000620110 00000 n 
-0000615846 00000 n 
-0000616549 00000 n 
-0000609042 00000 n 
-0000606582 00000 n 
-0000616020 00000 n 
-0000616078 00000 n 
-0000610057 00000 n 
-0000616137 00000 n 
-0000616196 00000 n 
-0000616255 00000 n 
-0000616314 00000 n 
-0000616372 00000 n 
-0000616431 00000 n 
-0000616490 00000 n 
-0000614915 00000 n 
-0000615668 00000 n 
-0000665156 00000 n 
-0000665273 00000 n 
-0000667397 00000 n 
-0000620500 00000 n 
-0000620706 00000 n 
-0000620879 00000 n 
-0000621239 00000 n 
-0000621446 00000 n 
-0000621641 00000 n 
-0000621836 00000 n 
-0000622043 00000 n 
-0000622237 00000 n 
-0000622627 00000 n 
-0000622834 00000 n 
-0000623007 00000 n 
-0000623202 00000 n 
-0000623409 00000 n 
-0000623582 00000 n 
-0000623777 00000 n 
-0000623982 00000 n 
-0000624154 00000 n 
-0000624511 00000 n 
-0000624718 00000 n 
-0000624890 00000 n 
-0000625085 00000 n 
-0000625292 00000 n 
-0000625465 00000 n 
-0000625660 00000 n 
-0000625867 00000 n 
-0000626040 00000 n 
-0000626235 00000 n 
-0000626624 00000 n 
-0000626818 00000 n 
-0000627207 00000 n 
-0000627402 00000 n 
-0000627608 00000 n 
-0000627779 00000 n 
-0000628167 00000 n 
-0000628373 00000 n 
-0000628546 00000 n 
-0000632524 00000 n 
-0000632730 00000 n 
-0000632903 00000 n 
-0000628936 00000 n 
-0000629639 00000 n 
-0000619155 00000 n 
-0000616701 00000 n 
-0000629110 00000 n 
-0000620305 00000 n 
-0000621059 00000 n 
-0000629168 00000 n 
-0000629227 00000 n 
-0000622432 00000 n 
-0000629286 00000 n 
-0000629344 00000 n 
-0000624332 00000 n 
-0000629403 00000 n 
-0000629462 00000 n 
-0000626430 00000 n 
-0000627012 00000 n 
-0000629521 00000 n 
-0000627973 00000 n 
-0000629580 00000 n 
-0000628741 00000 n 
-0000667520 00000 n 
-0000667638 00000 n 
-0000667760 00000 n 
-0000670741 00000 n 
-0000633098 00000 n 
-0000633305 00000 n 
-0000633478 00000 n 
-0000633673 00000 n 
-0000633879 00000 n 
-0000634051 00000 n 
-0000634246 00000 n 
-0000634441 00000 n 
-0000634648 00000 n 
-0000634820 00000 n 
-0000635209 00000 n 
-0000635403 00000 n 
-0000635608 00000 n 
-0000635780 00000 n 
-0000636169 00000 n 
-0000636364 00000 n 
-0000636571 00000 n 
-0000636744 00000 n 
-0000637134 00000 n 
-0000637329 00000 n 
-0000637536 00000 n 
-0000637709 00000 n 
-0000637904 00000 n 
-0000638099 00000 n 
-0000638306 00000 n 
-0000638479 00000 n 
-0000638673 00000 n 
-0000638867 00000 n 
-0000639074 00000 n 
-0000639247 00000 n 
-0000639637 00000 n 
-0000639832 00000 n 
-0000640036 00000 n 
-0000640206 00000 n 
-0000640592 00000 n 
-0000640785 00000 n 
-0000641607 00000 n 
-0000631993 00000 n 
-0000629790 00000 n 
-0000640959 00000 n 
-0000641017 00000 n 
-0000641076 00000 n 
-0000641135 00000 n 
-0000641194 00000 n 
-0000635015 00000 n 
-0000641253 00000 n 
-0000635974 00000 n 
-0000641312 00000 n 
-0000636939 00000 n 
-0000641371 00000 n 
-0000641430 00000 n 
-0000641489 00000 n 
-0000639442 00000 n 
-0000641548 00000 n 
-0000640399 00000 n 
-0000644258 00000 n 
-0000644967 00000 n 
-0000644114 00000 n 
-0000641786 00000 n 
-0000644432 00000 n 
-0000644490 00000 n 
-0000644549 00000 n 
-0000644667 00000 n 
-0000644785 00000 n 
-0000644908 00000 n 
-0000936633 00000 n 
-0000646943 00000 n 
-0000647714 00000 n 
-0000646799 00000 n 
-0000645173 00000 n 
-0000647117 00000 n 
-0000647234 00000 n 
-0000647357 00000 n 
-0000647474 00000 n 
-0000647592 00000 n 
-0000649808 00000 n 
-0000650516 00000 n 
-0000649664 00000 n 
-0000647853 00000 n 
-0000649982 00000 n 
-0000650040 00000 n 
-0000650158 00000 n 
-0000650281 00000 n 
-0000650399 00000 n 
-0000653107 00000 n 
-0000653761 00000 n 
-0000652963 00000 n 
-0000650655 00000 n 
-0000653281 00000 n 
-0000653339 00000 n 
-0000653457 00000 n 
-0000653580 00000 n 
-0000653703 00000 n 
-0000656142 00000 n 
-0000656857 00000 n 
-0000655998 00000 n 
-0000653900 00000 n 
-0000656316 00000 n 
-0000656437 00000 n 
-0000656559 00000 n 
-0000656681 00000 n 
-0000656799 00000 n 
-0000658855 00000 n 
-0000659562 00000 n 
-0000658711 00000 n 
-0000656996 00000 n 
-0000659029 00000 n 
-0000659146 00000 n 
-0000659268 00000 n 
-0000659385 00000 n 
-0000659503 00000 n 
-0000932528 00000 n 
-0000933106 00000 n 
-0000661735 00000 n 
-0000662321 00000 n 
-0000661591 00000 n 
-0000659753 00000 n 
-0000661909 00000 n 
-0000662026 00000 n 
-0000662144 00000 n 
-0000662262 00000 n 
-0000936758 00000 n 
-0000664688 00000 n 
-0000665336 00000 n 
-0000664544 00000 n 
-0000662525 00000 n 
-0000664862 00000 n 
-0000664979 00000 n 
-0000665097 00000 n 
-0000665214 00000 n 
-0000667106 00000 n 
-0000667877 00000 n 
-0000666962 00000 n 
-0000665514 00000 n 
-0000667280 00000 n 
-0000667338 00000 n 
-0000667461 00000 n 
-0000667579 00000 n 
-0000667702 00000 n 
-0000667819 00000 n 
-0000670509 00000 n 
-0000670859 00000 n 
-0000670365 00000 n 
-0000668016 00000 n 
-0000670683 00000 n 
-0000670800 00000 n 
-0000672923 00000 n 
-0000673074 00000 n 
-0000673225 00000 n 
-0000673375 00000 n 
-0000673525 00000 n 
-0000673675 00000 n 
-0000673825 00000 n 
-0000673975 00000 n 
-0000674123 00000 n 
-0000674274 00000 n 
-0000674425 00000 n 
-0000674576 00000 n 
-0000674727 00000 n 
-0000674878 00000 n 
-0000675028 00000 n 
-0000675177 00000 n 
-0000675328 00000 n 
-0000675479 00000 n 
-0000675630 00000 n 
-0000675780 00000 n 
-0000675930 00000 n 
-0000676079 00000 n 
-0000676230 00000 n 
-0000676381 00000 n 
-0000676532 00000 n 
-0000676682 00000 n 
-0000676833 00000 n 
-0000676984 00000 n 
-0000677134 00000 n 
-0000677285 00000 n 
-0000677435 00000 n 
-0000677585 00000 n 
-0000677736 00000 n 
-0000677887 00000 n 
-0000678038 00000 n 
-0000678188 00000 n 
-0000678338 00000 n 
-0000678487 00000 n 
-0000678635 00000 n 
-0000678786 00000 n 
-0000678937 00000 n 
-0000679088 00000 n 
-0000679239 00000 n 
-0000679390 00000 n 
-0000679540 00000 n 
-0000679690 00000 n 
-0000679841 00000 n 
-0000679990 00000 n 
-0000680141 00000 n 
-0000680291 00000 n 
-0000680441 00000 n 
-0000680592 00000 n 
-0000680742 00000 n 
-0000680892 00000 n 
-0000681043 00000 n 
-0000681194 00000 n 
-0000681345 00000 n 
-0000681496 00000 n 
-0000681647 00000 n 
-0000681798 00000 n 
-0000681948 00000 n 
-0000682099 00000 n 
-0000682250 00000 n 
-0000682401 00000 n 
-0000682552 00000 n 
-0000682703 00000 n 
-0000682854 00000 n 
-0000685281 00000 n 
-0000683120 00000 n 
-0000672185 00000 n 
-0000670998 00000 n 
-0000683003 00000 n 
-0000683061 00000 n 
-0000685432 00000 n 
-0000685583 00000 n 
-0000685733 00000 n 
-0000685883 00000 n 
-0000686034 00000 n 
-0000686183 00000 n 
-0000686332 00000 n 
-0000686481 00000 n 
-0000686631 00000 n 
-0000686781 00000 n 
-0000686931 00000 n 
-0000687081 00000 n 
-0000687231 00000 n 
-0000687381 00000 n 
-0000687531 00000 n 
-0000687681 00000 n 
-0000687831 00000 n 
-0000687981 00000 n 
-0000688130 00000 n 
-0000688281 00000 n 
-0000688431 00000 n 
-0000688582 00000 n 
-0000688733 00000 n 
-0000688883 00000 n 
-0000689034 00000 n 
-0000689185 00000 n 
-0000689336 00000 n 
-0000689487 00000 n 
-0000689638 00000 n 
-0000689787 00000 n 
-0000689935 00000 n 
-0000690086 00000 n 
-0000690237 00000 n 
-0000690388 00000 n 
-0000690539 00000 n 
-0000690690 00000 n 
-0000690841 00000 n 
-0000690992 00000 n 
-0000691142 00000 n 
-0000691293 00000 n 
-0000691443 00000 n 
-0000691594 00000 n 
-0000691745 00000 n 
-0000691896 00000 n 
-0000692047 00000 n 
-0000692198 00000 n 
-0000692349 00000 n 
-0000692500 00000 n 
-0000692651 00000 n 
-0000692802 00000 n 
-0000692953 00000 n 
-0000693103 00000 n 
-0000693254 00000 n 
-0000693404 00000 n 
-0000693555 00000 n 
-0000693706 00000 n 
-0000693857 00000 n 
-0000694008 00000 n 
-0000694159 00000 n 
-0000696443 00000 n 
-0000694309 00000 n 
-0000694541 00000 n 
-0000684597 00000 n 
-0000683206 00000 n 
-0000694483 00000 n 
-0000696594 00000 n 
-0000696745 00000 n 
-0000696896 00000 n 
-0000697047 00000 n 
-0000697197 00000 n 
-0000697348 00000 n 
-0000697499 00000 n 
-0000697650 00000 n 
-0000697801 00000 n 
-0000697952 00000 n 
-0000698103 00000 n 
-0000698254 00000 n 
-0000698405 00000 n 
-0000698556 00000 n 
-0000698706 00000 n 
-0000698857 00000 n 
-0000699008 00000 n 
-0000699158 00000 n 
-0000699308 00000 n 
-0000699458 00000 n 
-0000699609 00000 n 
-0000699760 00000 n 
-0000699909 00000 n 
-0000700058 00000 n 
-0000700209 00000 n 
-0000700360 00000 n 
-0000700510 00000 n 
-0000700660 00000 n 
-0000700809 00000 n 
-0000700960 00000 n 
-0000701111 00000 n 
-0000701262 00000 n 
-0000701413 00000 n 
-0000701563 00000 n 
-0000701712 00000 n 
-0000701863 00000 n 
-0000702014 00000 n 
-0000702165 00000 n 
-0000702316 00000 n 
-0000702467 00000 n 
-0000702618 00000 n 
-0000702768 00000 n 
-0000702919 00000 n 
-0000703070 00000 n 
-0000703221 00000 n 
-0000703371 00000 n 
-0000703520 00000 n 
-0000703671 00000 n 
-0000703821 00000 n 
-0000705989 00000 n 
-0000703970 00000 n 
-0000704202 00000 n 
-0000695849 00000 n 
-0000694640 00000 n 
-0000704144 00000 n 
-0000936883 00000 n 
-0000706139 00000 n 
-0000706289 00000 n 
-0000706439 00000 n 
-0000706590 00000 n 
-0000706741 00000 n 
-0000706890 00000 n 
-0000707039 00000 n 
-0000707189 00000 n 
-0000707340 00000 n 
-0000707490 00000 n 
-0000707641 00000 n 
-0000707792 00000 n 
-0000707943 00000 n 
-0000708093 00000 n 
-0000708244 00000 n 
-0000708395 00000 n 
-0000708546 00000 n 
-0000708696 00000 n 
-0000708847 00000 n 
-0000708996 00000 n 
-0000709145 00000 n 
-0000709296 00000 n 
-0000709447 00000 n 
-0000709597 00000 n 
-0000709748 00000 n 
-0000709899 00000 n 
-0000710050 00000 n 
-0000710201 00000 n 
-0000710352 00000 n 
-0000710502 00000 n 
-0000710653 00000 n 
-0000710803 00000 n 
-0000710952 00000 n 
-0000711101 00000 n 
-0000711252 00000 n 
-0000711403 00000 n 
-0000711554 00000 n 
-0000711705 00000 n 
-0000711856 00000 n 
-0000712007 00000 n 
-0000712158 00000 n 
-0000712309 00000 n 
-0000712459 00000 n 
-0000712608 00000 n 
-0000712759 00000 n 
-0000712910 00000 n 
-0000713061 00000 n 
-0000713212 00000 n 
-0000713444 00000 n 
-0000705413 00000 n 
-0000704301 00000 n 
-0000713386 00000 n 
-0000713543 00000 n 
-0000713569 00000 n 
-0000931289 00000 n 
-0000713697 00000 n 
-0000713821 00000 n 
-0000714260 00000 n 
-0000714292 00000 n 
-0000714922 00000 n 
-0000715378 00000 n 
-0000715404 00000 n 
-0000715805 00000 n 
-0000716231 00000 n 
-0000716553 00000 n 
-0000717029 00000 n 
-0000717385 00000 n 
-0000717861 00000 n 
-0000718241 00000 n 
-0000718719 00000 n 
-0000719411 00000 n 
-0000719449 00000 n 
-0000719574 00000 n 
-0000720217 00000 n 
-0000728017 00000 n 
-0000728283 00000 n 
-0000735440 00000 n 
-0000735662 00000 n 
-0000744232 00000 n 
-0000744503 00000 n 
-0000754801 00000 n 
-0000755047 00000 n 
-0000762756 00000 n 
-0000762989 00000 n 
-0000770534 00000 n 
-0000770762 00000 n 
-0000781436 00000 n 
-0000781725 00000 n 
-0000789292 00000 n 
-0000789550 00000 n 
-0000797655 00000 n 
-0000797919 00000 n 
-0000804915 00000 n 
-0000805142 00000 n 
-0000812904 00000 n 
-0000813150 00000 n 
-0000820930 00000 n 
-0000821192 00000 n 
-0000824766 00000 n 
-0000824987 00000 n 
-0000830809 00000 n 
-0000831075 00000 n 
-0000849029 00000 n 
-0000849568 00000 n 
-0000858702 00000 n 
-0000859034 00000 n 
-0000876651 00000 n 
-0000877163 00000 n 
-0000892302 00000 n 
-0000892703 00000 n 
-0000913626 00000 n 
-0000914247 00000 n 
-0000930792 00000 n 
-0000936972 00000 n 
-0000937092 00000 n 
-0000937218 00000 n 
-0000937335 00000 n 
-0000937417 00000 n 
-0000941071 00000 n 
-0000941259 00000 n 
-0000941782 00000 n 
-0000942305 00000 n 
-0000942828 00000 n 
-0000943351 00000 n 
-0000943874 00000 n 
-0000944397 00000 n 
-0000944920 00000 n 
-0000945443 00000 n 
-0000945966 00000 n 
-0000946489 00000 n 
-0000947012 00000 n 
-0000947535 00000 n 
-0000948160 00000 n 
-0000948955 00000 n 
-0000949750 00000 n 
-0000950545 00000 n 
-0000951183 00000 n 
-0000951946 00000 n 
-0000952569 00000 n 
-0000953008 00000 n 
-0000953375 00000 n 
-0000953882 00000 n 
-0000954301 00000 n 
-0000955156 00000 n 
-0000955910 00000 n 
-0000956617 00000 n 
-0000957181 00000 n 
-0000957814 00000 n 
-0000958508 00000 n 
-0000959230 00000 n 
-0000959919 00000 n 
-0000960608 00000 n 
-0000961297 00000 n 
-0000961853 00000 n 
-0000962478 00000 n 
-0000963084 00000 n 
-0000963909 00000 n 
-0000964597 00000 n 
-0000965286 00000 n 
-0000965975 00000 n 
-0000966597 00000 n 
-0000967222 00000 n 
-0000967847 00000 n 
-0000968557 00000 n 
-0000969288 00000 n 
-0000969969 00000 n 
-0000970650 00000 n 
-0000971272 00000 n 
-0000971889 00000 n 
-0000972506 00000 n 
-0000973212 00000 n 
-0000973974 00000 n 
-0000974703 00000 n 
-0000975432 00000 n 
-0000976076 00000 n 
-0000976741 00000 n 
-0000977406 00000 n 
-0000978048 00000 n 
-0000978737 00000 n 
-0000979426 00000 n 
-0000980115 00000 n 
-0000980723 00000 n 
-0000981364 00000 n 
-0000982005 00000 n 
-0000982646 00000 n 
-0000983287 00000 n 
-0000983928 00000 n 
-0000984569 00000 n 
-0000985210 00000 n 
-0000985851 00000 n 
-0000986485 00000 n 
-0000987126 00000 n 
-0000987767 00000 n 
-0000988408 00000 n 
-0000989049 00000 n 
-0000989690 00000 n 
-0000990331 00000 n 
-0000990972 00000 n 
-0000991618 00000 n 
-0000992283 00000 n 
-0000993018 00000 n 
-0000993963 00000 n 
-0000994838 00000 n 
-0000995727 00000 n 
-0000996467 00000 n 
-0000997149 00000 n 
-0000997774 00000 n 
-0000998399 00000 n 
-0000999024 00000 n 
-0000999649 00000 n 
-0001000274 00000 n 
-0001000899 00000 n 
-0001001524 00000 n 
-0001002149 00000 n 
-0001002774 00000 n 
-0001003399 00000 n 
-0001004024 00000 n 
-0001004649 00000 n 
-0001005274 00000 n 
-0001005899 00000 n 
-0001006524 00000 n 
-0001007149 00000 n 
-0001007774 00000 n 
-0001008399 00000 n 
-0001008739 00000 n 
-0001008910 00000 n 
-0001009080 00000 n 
-0001009251 00000 n 
-0001009420 00000 n 
-0001009594 00000 n 
-0001009771 00000 n 
-0001009946 00000 n 
-0001010123 00000 n 
-0001010298 00000 n 
-0001010475 00000 n 
-0001010650 00000 n 
-0001010827 00000 n 
-0001011002 00000 n 
-0001011179 00000 n 
-0001011353 00000 n 
-0001011554 00000 n 
-0001011805 00000 n 
-0001012056 00000 n 
-0001012310 00000 n 
-0001012575 00000 n 
-0001012843 00000 n 
-0001013116 00000 n 
-0001013388 00000 n 
-0001013661 00000 n 
-0001013933 00000 n 
-0001014201 00000 n 
-0001014426 00000 n 
-0001014629 00000 n 
-0001014831 00000 n 
-0001015034 00000 n 
-0001015235 00000 n 
-0001015440 00000 n 
-0001015649 00000 n 
-0001015856 00000 n 
-0001016065 00000 n 
-0001016267 00000 n 
-0001016449 00000 n 
-0001016655 00000 n 
-0001016878 00000 n 
-0001017113 00000 n 
-0001017346 00000 n 
-0001017576 00000 n 
-0001017808 00000 n 
-0001018075 00000 n 
-0001018342 00000 n 
-0001018618 00000 n 
-0001018899 00000 n 
-0001019179 00000 n 
-0001019460 00000 n 
-0001019736 00000 n 
-0001019916 00000 n 
-0001020078 00000 n 
-0001020282 00000 n 
-0001020516 00000 n 
-0001020704 00000 n 
-0001020961 00000 n 
-0001021214 00000 n 
-0001021442 00000 n 
-0001021677 00000 n 
-0001021925 00000 n 
-0001022174 00000 n 
-0001022412 00000 n 
-0001022644 00000 n 
-0001022876 00000 n 
-0001023139 00000 n 
-0001023400 00000 n 
-0001023628 00000 n 
-0001023856 00000 n 
-0001024028 00000 n 
-0001024144 00000 n 
-0001024260 00000 n 
-0001024386 00000 n 
-0001024524 00000 n 
-0001024654 00000 n 
-0001024781 00000 n 
-0001024916 00000 n 
-0001025056 00000 n 
-0001025151 00000 n 
-0001025325 00000 n 
-0001025555 00000 n 
-0001025729 00000 n 
-0001025852 00000 n 
-0001025960 00000 n 
-0001026081 00000 n 
-0001026121 00000 n 
-0001026302 00000 n 
-trailer
-<< /Size 3738
-/Root 3736 0 R
-/Info 3737 0 R
-/ID [<A11605C686FD5CBDF10C6149961DD1FF> <A11605C686FD5CBDF10C6149961DD1FF>] >>
-startxref
-1026629
-%%EOF
diff --git a/doc/ppl-user-c-interface-0.11.2.ps.gz b/doc/ppl-user-c-interface-0.11.2.ps.gz
deleted file mode 100644
index ec6fb7c..0000000
Binary files a/doc/ppl-user-c-interface-0.11.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-1.0-html.tar.gz b/doc/ppl-user-c-interface-1.0-html.tar.gz
new file mode 100644
index 0000000..b2e7bdd
Binary files /dev/null and b/doc/ppl-user-c-interface-1.0-html.tar.gz differ
diff --git a/doc/ppl-user-c-interface-1.0.pdf b/doc/ppl-user-c-interface-1.0.pdf
new file mode 100644
index 0000000..694735a
--- /dev/null
+++ b/doc/ppl-user-c-interface-1.0.pdf
@@ -0,0 +1,26568 @@
+%PDF-1.4
+%����
+1 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+4 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+5 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+8 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+12 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+13 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+16 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+17 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+21 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+24 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+25 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+28 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+29 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+32 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+33 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+36 0 obj
+(\376\377\000C\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.6.2) >>
+endobj
+40 0 obj
+(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000I\000n\000i\000t\000i\000a\000l\000i\000z\000a\000t\000i\000o\000n\000\040\000a\000n\000d\000\040\000F\000i\000n\000a\000l\000i\000z\000a\000t\000i\000o\000n)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsection.6.3) >>
+endobj
+44 0 obj
+(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.6.4) >>
+endobj
+48 0 obj
+(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.6.5) >>
+endobj
+52 0 obj
+(\376\377\000T\000i\000m\000e\000o\000u\000t\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.6.6) >>
+endobj
+56 0 obj
+(\376\377\000L\000i\000b\000r\000a\000r\000y\000\040\000D\000a\000t\000a\000t\000y\000p\000e\000s)
+endobj
+57 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+60 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+61 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+64 0 obj
+(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+65 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+68 0 obj
+(\376\377\000p\000p\000l\000\137\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+69 0 obj
+<< /S /GoTo /D (subsection.7.3) >>
+endobj
+72 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (subsection.7.4) >>
+endobj
+76 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (subsection.7.5) >>
+endobj
+80 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.7.6) >>
+endobj
+84 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+85 0 obj
+<< /S /GoTo /D (subsection.7.7) >>
+endobj
+88 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.7.8) >>
+endobj
+92 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+93 0 obj
+<< /S /GoTo /D (subsection.7.9) >>
+endobj
+96 0 obj
+(\376\377\000p\000p\000l\000\137\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.7.10) >>
+endobj
+100 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+101 0 obj
+<< /S /GoTo /D (subsection.7.11) >>
+endobj
+104 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.7.12) >>
+endobj
+108 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+109 0 obj
+<< /S /GoTo /D (subsection.7.13) >>
+endobj
+112 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.7.14) >>
+endobj
+116 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (subsection.7.15) >>
+endobj
+120 0 obj
+(\376\377\000p\000p\000l\000\137\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.7.16) >>
+endobj
+124 0 obj
+(\376\377\000p\000p\000l\000\137\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.7.17) >>
+endobj
+128 0 obj
+(\376\377\000p\000p\000l\000\137\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.7.18) >>
+endobj
+132 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (subsection.7.19) >>
+endobj
+136 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.7.20) >>
+endobj
+140 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.7.21) >>
+endobj
+144 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.7.22) >>
+endobj
+148 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000c\000o\000n\000s\000t\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.7.23) >>
+endobj
+152 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000i\000t\000e\000r\000a\000t\000o\000r\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.7.24) >>
+endobj
+156 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.7.25) >>
+endobj
+160 0 obj
+(\376\377\000p\000p\000l\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000t\000a\000g\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D [162 0 R  /Fit ] >>
+endobj
+165 0 obj <<
+/Length 1265      
+/Filter /FlateDecode
+>>
+stream
+x��WIs�6��W��)5c�X.�%�kO�q-���9 at 4D�墂P
9��$*�۴��gD���}�{i
����?<	��3�i
Č#���h��<ˆ�4���pm�7���!�Ew�3�m����h`�lvtrų���
�E@�
q�� �x0{
+އ���D4���I�C�`��Fle
�]�Y�'5!p��o��ۂ6��f�av�
��8CPN2g��닶\��ݴZ��.�B��������^��
|�n݉�@�Em��\]�SK
g(Oi� {�a̜�a"�)"�\�H·�
� u���k
&A�doe ��A�b��L<ts	�(���?e+|଍�)���1Y`yĈ1��f
)�J`���[M�,
p��UQ���!������4A8�CėQ�4G)�/[�A~
��V��1p�A	��]�4N,A)'�0����o
!F��CB�Ǒ(� 1����t;�PN�/J�
�&��ص��lЅ9��
�,5=���@~k�6ςg��$��SX����bL����W

��f��/+6�����P�(#l۳��
+���&2����‹�R��Y�J�'�׫U��|�J�`���c[���8!������yo�j�#=���[o��d�+p�N�d/�*����.
�L�Ic��'�;�a�Rv�V��D��<]���9mƀ^FvhD'Asg�Ų�*z0��)�����tK���0[�I��ӵ��%�s��R���K�y���	Fc�q���^+��17�VJj�9���
�o�
[��1�}�ͥ�J}
N7��M��ۀ�y�j���Uݙ�>;�i+�M_탓��
P.Ke�WN�
�����ݺ1�*z���ڪ-��E���5��9�^��p��f����BU�C���u٩J/
�̎W��&xU���'��i�
���ݺ�U/u]�n����Z���>8�08�
�!r
+S����/B�Ѱp�N�m-h&�S��g��6���w�2��~�|���� Ԍ�i_��Sp�
�[��=\^�O�_��,���VtR��ۘ<��i����{��_֢� �[�k�5R+S���'k�v[_f1�ļ�0�n�a��|3�ȿLg2�͠MP����1C9���4��W�xS�h�V+e�$����f7��|\�
d~\y��1<���^�F�I�C��I�ᙉ�����ݵ�
#
y.{�/�Dx%L.*����fnߣe/�]s��} 
�9A��ba���ue�D��	����
��<B�k
2 �P�
�V޿L�������_|�L�
+endstream
+endobj
+162 0 obj <<
+/Type /Page
+/Contents 165 0 R
+/Resources 164 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+>> endobj
+163 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 174 0 R
+/BBox [0 0 640 829]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 175 0 R
+>>>>
+/Length 2688
+/Filter /FlateDecode
+>>
+stream
+x�m�K�#�
D�ZEm�4	�
{�(�#�sD��'�*�>��j�V��L��ǑS9���������9����qӸל�i�Қǟ�>�u��V���)�2k�%[�׍�jk
e���<F��bȣ��u��5�ID���q�^��%�R��ˬ���|�T�4��yԮ������hYϔc�ԭ��V�»�>�������������J�k�>�si���3�4���Hݏ��{�l��V����^.&ϩ�<&;�����u��I
@����Z�KD�P���\�i����s|��R4�h}�9��艥����b\K��؆��j�ik�L���=�̸�"ؼZI��(	���%s6W���+�y�1�H')�ql�
��g���y�Qs�_7������/�;ji�y�'x���k%_�J>8{w@�wv�NQȁ�l�=("JY�s����Iy
ǹ�k�S���+���}hk�>"���Rd�'n$�4��
�įGh
�Y�ϲ����Ȭbeh&f������3(0Ϝw�9��Б ��‘�^@�A}� �T�4D�߶V�?5�$��[e��!�f�b[�l��E�4����Y4�9p��	���n<���
��9;�D4%�q�+^�kK��%��9�5��|?ĝS�Ī��@.�"�A���T�5&�%^�n59:�/H��(%�~����a	Z=�d�I��fJ+�^+�︌�B2X����#ѥ�S�����0V[-NS� �(b&�C��*�s�

��*d�K
��5ɫ�6�؄KC�hz�4��)�
�y� DF^Akz�\3W��m9�`����@�l:�MYe��B�:x6+b� h�6$sܨ��W�Z�^,����Ddx&hI���
��$�a"q���
�:��RSH�2<Z<�H�r{v%��.W次�8��?�BJ6
b�H4
,Fߎ� �Ԛ�������2��B�Z�	�.Ŋ�>@��񸵊��d�J�
�S����Q��ufG�.-�+���]��ҢxR�ِNV1�0	K��r�ہ�
��.�Q�<��͙N��*7b�_<��6���G"Cd�t�6 D�x�RkT����`; F'���́�����Gy����.C��EK�+��
(�eC�K8T�2�Q)� [...]
���B[�}��T�<��W��Z�.q[C�T"WCNҵ�e;WCk��KC�CV �E���*!��h�n�o�v������"?�1˪���롋q� vZ��K�	��.����_�6=:�+Ң�y�����
���K�4zx��
�L�ť���IoOCE
;Q6M�`]�����TD��s��E��a�,|ʙd9�Iङ��CK-���{|�׎�Aг�=GD�~W�#�J�6l=��W#,�8�$���9G�=UT�����o	���2+�S�2��Q{��u���QnU=�Qc����0Wv�b�0�����J
�QK
Ց7�4<�U��
�Sz
�j}��RdJ-��U"�
Yl���U-��q"N)����I�+�F�ۜ+����Ӽ
��M�תoÂ���l6����Q�j�q�'���}BR�
PKǧ��ѓ�%2V����,^��
j�b�K����L�N͙
�q����MW��.�P��W$������
+D���5G�\����84I���$�h<u�k�L59�0%Q��)�FX�C��ӻ�
�����
���a:׊]G'�u
��Z��B�^LE��e����Z7D�C���c�I��
U��]��iQ8s�2��*'��X�"���h6b�B��k���L2(:����I�1�s�˹�����{�uo:�k�%�.�k[��x�R�����u�
�<�����-�o�ͻ�m���

�	x���}�H�e�.��XD
�8r�D��\�%#
����k�6
%o؁zW>
 ><�ϸ�x�G���/�#�"pb:�h]�F��7��>��KHݗT��r�kwت �ӠD���Ւy��K���կ���,�G��C�Ss|��<g��uo?�������K@�
��	4�ͺ'��)�$&O:3
��.��[�G�¸���E�;{
��*����Kw�-K���T@�O���+LH�㛃��ӊwĪfgh*�� Mj�TV���F1�k
I
�?5ڮ����åےT�ѻP.d�wѩ/��"\G�
���
��G"�
�u��+��t�bg��[����pS�jeg)s_�螢bM��R
-εQo��
}� ���������@1n�M͢
���6"�-lW�Z7U���
;���mD+�|G�F��Z��@
����Q�5����(g�`R���X�6T�����.��|��6���ч��
�?��3
o���3��� m�B ��MY:c�q�P}E'�-2���
+@!S#����s����I���U$ZJZ$��\!X��P8���+�x^�|�f�:��d|?@__��h���^�a9��n]چ�*5s|Y��E���v_�#^��[�/�s͢O��
�?v�s`\�ؿ��^X{��~Ej�aW�K/Tz�
����Z���\��j�
|��>�?��a��x(~?�B�
<q����
T��5F#��
�s�B�
+����[���N��o�ِW]r�a'tܯ�_�|�"�8w�VۥDD�#��n���f���?�
�
+endstream
+endobj
+174 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+175 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+166 0 obj <<
+/D [162 0 R /XYZ 89 770.89 null]
+>> endobj
+167 0 obj <<
+/D [162 0 R /XYZ 90 721.073 null]
+>> endobj
+164 0 obj <<
+/Font << /F58 168 0 R /F24 169 0 R /F41 170 0 R /F42 171 0 R /F60 172 0 R >>
+/XObject << /Im1 163 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+178 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+177 0 obj <<
+/Type /Page
+/Contents 178 0 R
+/Resources 176 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+>> endobj
+179 0 obj <<
+/D [177 0 R /XYZ 89 770.89 null]
+>> endobj
+176 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+190 0 obj <<
+/Length 1553      
+/Filter /FlateDecode
+>>
+stream
+xڝWݓ�8
���%3K��/�{9v�n��-���t�>�` Ӑ�$����'Y6����ɶ$K���l3kc1�s;���#f�n
�К����]�c+�c7���>۞�u��3�w�w8�c�b"���t����Y+ �����}�I	�,_x0�֬�G��M�m���s�s2vW�
���*�l�+f��`�"�3�L˥����ɦH�D�b[ᷴvE��� �ݬ�3�G]0
�O��L��

+/
f��"�U~��m���^o�f6�,6nZ��LGn(|2=�f5�]��a'
m%�ʖR3�����ၝT;}�I�?o�ʜ}�-��z>93��Ѳ{fZ�z"�]V�YY8]�EGp�TI��.��!Fb�C䄁}$�o����9IbI���w�*[?Ӽ��c��C����:�K
��3
�
D�����ʷZ}Ҩs	H�8KeQ�\����ܖU}�sW

GBR`��i�'����޹?,��b�p��[�[D��2��;�g%��W�Y�n�0�I�)�h����H��+
+���^;���G��p|

��,Qe�LQi���ã�}UM��D�����1["��
��p��F�j�1Jn���K
Q[GS�Nׇ<�u�*���T*v��9Z(��X��a1�r����KM��E��-D��tp1=�F���
+�*43�b/K��Һ����Bn�������ke��b�n$��C)��J��&�|�>T��xD��Ba�oP��A��Q��P�Y�*ɯ�~�XH1E�Xp;���
�X��#���Nl� 
�~(U	`�j �
ѩ��)>�n1�� Tl�IC����Z(�=��:>��?�̥�'Ho������@�	�R逑ҁ*Lx��
+G
%�@h��O@��	(�@�M���t0�����xt�!1�>Ά�
	��Ёp^�+�,�Ii¶�KCR�A��(OY��l���\�M$մ�k4�q1'���'Mu8�
������
UQ>���l��e)�ŵ�蒂
��yF �m]�x�>�J0�?
�w���CE܎ƣ�'-P�x?�?g3��8�ɀ�	�9�:!�磻�x�ٓ�t�q6t��Lj�4�.}>�?yzn��z�Z����vSI�i�,��k���4�ScQdo�ŐXE�Ф���N^ц���
V*��,
�Dy�e	���P.`�,[7Ias�����Y���ؐ��{ϵA��hf�5�o�W���f�|���vC�Q��zj
��P>�rs��P�h��l���i^B$�k�mY7G�42�.�X����*bɷ��݁N�
�ݦ�皓P
�֭Y�s��Wm
�}s�]N���9����<p�Al�&7�u1�����W��6uo��{��~G�o$<憞o	_�^?���s��~�D�s�4;5�7�	�m	��ӿ�$��>�d�n�?�;*0v[
�Y�Ƒ���2?�����9�O��F��C���6�Z[�N5iQ���y�?̇�8$����s��C��g�끞�|�a��zr���+b
�+	=K��y��e!7{�4�V���Glb0�&b:�G���4%��e��"���
+endstream
+endobj
+189 0 obj <<
+/Type /Page
+/Contents 190 0 R
+/Resources 188 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+/Annots [ 180 0 R 181 0 R 182 0 R 183 0 R 193 0 R 184 0 R 186 0 R ]
+>> endobj
+185 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/bugseng_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 195 0 R
+/BBox [0 0 640 166]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 196 0 R
+>>>>
+/Length 1662
+/Filter /FlateDecode
+>>
+stream
+x�}W[�
7
��S�	��8F�
�c6���)R"��Y��Z��J$U��ʩ\Y��Ϗ�o��ۿ��|��r)�j5�hu�9��]^�<r9��m)S�M�:)��v��� j��a+%�z}
$�$�/�*i^�jjS.*s&,t���R�<+h�:��wݱ��)�Z��
i%�z-�{�
Q݆��V,�Y���W���I_���'�ԫq�"��
��'
�*���b.i��\O�>���%�h�&�Ȥ�~˄@�D���N���$�_�&a#��e�Uj�|[Q�^o��2o���îi!cZ�ף����
i����s4eW

E����݆��
�<+Z
I��P꽇�8Y�Ɨ��3����4�W)�����/r�]w��<�ʶ�q�<��~�t��
�_u)�V��Y�U�����
+����/ 8� &���Ua���j��Je��+%
+��̉�)i�U
�
�S���F_@��rG�T���HE�
nw�6[.�:�o��@r�������ЊCAT���F_�n�n��)|�d�Q��
H�i��?
�h=�8�8΍=U��UPC%Ӎ�.
��(R�ae*77=�󱁉�S�^�
+��3��j_
��
�Z�|>j�$�3�#a���>�׹2D���'N)�
�+ }��"��{�7��Aw�a���mŏ�
+FVCg��
�ԭ����)_����'�\G�^����\��1B��g��n�\ڠ�NY�
:��Yq�&�Fa�-��� B��S��f���7�G	#S���
٬7��E�� 9�D��M
+G
+�20��Ci�e�+������D�����ô b�~#����z�'�\.���F�է��]xv���i�@ I�8a�=�z[PjVkn��w|0S��t�h�m�ل֩�H�F��@0#����5�jN�1�-�R�F;p1jվ(�֙EHG´��i
�;i�`
 {��&4X��s[4�I�
d�!
޴r/^�a��@��Ƕ�?Zr�W��U��PǗ}2
��di8�ÍU���Q{?��b:���H��l�D��
�0ձ�vxk�ڱ�ʜ�

ו��^Y�"Ƃ۸���8�z��Hح�(;�����_۲h��a
�
+�e���f���hX�R�iqV`z��!��9s���}���g�z^���A�.a?�S�*To
+�W�h@�+V�C�`�x�k��a�<��]a�M�:r�#�`[�{���T�|�W��$̽�g����+�xآ%��
-$�*^*��w��+�M��M1����Q���o*Z6�P)�P�n�+T�`����jV�
+	�
+�,r ��U��W
O�qj�T�M�J�p/������5쐯�kC����u�%��u_(�@�3~Gvig\��W�A�^���j;+t,q�pLM{9i�I�s$��!w�tꡎ�+�!�HB�$���� ������d�_
d7e"�yξ��W��w$����+N�n�� 8�uXl���W(��DY6�~٭����Ȧ�<6��IJGfQ%?4�
�
��L+Bt���{1m�8�MS&L��r9=56*�Q�*�RȾ�{O�C=��P���Yb���
���h��k
9K,k�8�n#�f:Vl07�:��+��i�v,��~"[
�k�� :)��
z��U����3���b��X��?k���1�G���f��σo��?Q��B
+endstream
+endobj
+195 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100335+01'00')
+/ModDate (D:20111106100335+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+196 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+187 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo_no_ppl.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 197 0 R
+/BBox [0 0 640 640]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 198 0 R
+>>>>
+/Length 2432
+/Filter /FlateDecode
+>>
+stream
+x�m�]�$7���y��%R����
+��C��s���ʬ��6
�Z��"#�d�u�Tά������ۿ����_G>K>{���gM^ο�8�s��(�czʥ����z���-U[�%�b�
9'cYSu��ó�T�*�^���δ��i��O/<��Y�J�8�|�6�i�G����T�2
�Q��R�RNk
]ΙϞ=��ǟ\�ۡ�Z��~��(�����YZ�<k�-����5k��Z��Q����~]7���Z
F���~��f��|����B5n��1�Sֈ�g
�
k+���㨥���h}�Sd�R�6{��X7S0�>��zʤ�@�����X�k���bq��x����e��2�ݒ9O�~&3y�-�qN�\Vy�V6����׍��}�p��
FX��k�0H
m֖F�uM@��办®�M쒑Rqp,�񶖕���y���W�2��
����:9FLs9o���n�	��S(v�A'{��� �\w|Q���҆�<i=ML�ZR�%��
+�&�
/81���L�n������``^I���*��g
��l���q��Ǘ�_� ������Q�Ov��vT�p���в8>���
d��o�ўAC�+���
b�8�$=��Zs����	~�4��ɓd�7^�ۣ�� X�~�����>�v��Я*�6[�h�b��h�G2o '
L4��dV2��?�i=�kq���@�7Ye�i���
�|G`ped�m��ڵ��\*'3�	
+�V/#�0�ۜ��!0�x/uA�N��ㄵ�"3 H�W�
v"젰aC"`� 6����{	�T�g��H]~!
b��S'����Z���>���]<ˀ����'
?��M��������
q�K�ؓc<1�c�3����x�h�H/r�ђ�'�
��(
���4��-0Y�~�BJ�1L��	�
^,t�����

"��bQ�N�b�3J"�� ����B	���
�����6\�h,�0pRٖ��Ѡ= Pz=�%�B�Mޑ�>ؙ�/1��
#��@ңvR��`r+pB���{Qo`
	@���_轁D^��j�J��H���(�B�3qy_�
�����G��K�cG� ��-TlFq�4T�G08��2�
�,E�
⃝VTD�
JY��&x;w+d�H\��)SU�t�����_!ԙ�q��P��h�[z
I��f�Q�M�sTQ؜���"�Ch&,�ɮ� ������M�k���C[�}���<��N�Ӑ7�}���C<;�d��./�F\KXS�>�"�
+}W,T&w�>8�[�����
+wx�_R�O;��{U�⑨���A��Wn�_N����#b��,���n~v�7�hI�W�{�Zw�LV1'�HI(6�;�C���
JBCFU$�=z����Ԝ�� ��8 ��{S�b�wH�g�Uk"�n�)[dA4ohw�@M�z�|��Z?��v#�քD�v��V�S"�Ed��
�5���:ND
,��	��{�!���}����?>'��+�S�2����mj� ��A�U=�Zf�wH�x�d��y�J����H#��� �Ҙ�
y�NP�'
b���#�U�
�\_j���D�[���</������r뤈J�o���jQ�e
+��3��˵O�yK�b���C���C�a��!쩨.6%g�'���Ս��@�/��4qS�@
bgS}w�}-���Cw#B�ZD�k�B�,&%U4�һbܴ������!'QE��n���	�� )�rO��1
h���m@��P�&�q��S��J��Yn��PxV��S;uc��D���z�S�_b
���-�]���8,�@GC�U���$�
zٲ�4w����L�@ԁ���SQ�H&�0�tJZ�*6�?�R���A��e� �!�0nI��-���R��ʵ� ĞƮ'*اq��n/���u�!m� 
����ss
 =��-
+ z�`�k�,�~�D�x�mC�`M�`�+_���x?�d�։U�uh�g}P�d�v-���q����:(��ڕ/�Ƿ�'��_�D�Q�fBc��/�fMj%�i���	%�8���U`�ԏ�a�l� 0v��s��DRn��h|�n�r��6pd�q�e�c�h�v0��Af�
���� ��jw-:��v��{�Њ$�&H��

�|��|�zL�w�zW|ׄ����_�N+��H�z)x_�{h ��\1Dz^ �Kc��!�aw�w�h
�(��.����
m��HA3À%�br�\�g�(���N�m��Ppn��
�88}�B?
+��?��"�`�����tu8��5���w\�S��i��h�R;�%{��.�L�
�
����3Lp	�rp
3Z[���&=K٣�E'h�>��o��4�	���^4�ѵlP���m�
�p#�י)ח�,�����M��ڮ5unT��7���*�G�F�Xjf%�A�H�K�;�4�ьw��
�JV��q��
<��d��������S2
�
+endstream
+endobj
+197 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+198 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 648.798 490.947 659.702]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 626.945 322.585 635.792]
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 595.308 337.877 606.212]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 583.353 513.996 594.257]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 573.455 169.87 582.302]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [204.862 457.687 398.138 467.585]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+191 0 obj <<
+/D [189 0 R /XYZ 89 770.89 null]
+>> endobj
+188 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im2 185 0 R /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+203 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+202 0 obj <<
+/Type /Page
+/Contents 203 0 R
+/Resources 201 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+>> endobj
+204 0 obj <<
+/D [202 0 R /XYZ 89 770.89 null]
+>> endobj
+201 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+248 0 obj <<
+/Length 1322      
+/Filter /FlateDecode
+>>
+stream
+x��MW�6�����YD�[Vw-0�)�t�醙�c|&�Avf���ʶ
�	A8p�
Xő-_�Gコ����������=	$��^zz�J���7�����Ά�g�A���G1���ũ(o�
;7
dڠ���
���;�_�71�=�
��Ess��3o����( ���I�I�L�YZ-��5����z���3����?
����
��.�~8U�v�Sx "Yy�
1���
K+��
[+Gg�K#G*V:�Y���Y4.�O���ӆ��
�
�m
��p�4�}�]�J����bn��Y����2
0!G����L3k�8���M�@"�X�GG��G�g��$^�
�d��f1d�մ�4�@���[��R>��F�kFb)�z&%�˃������4u
{��س���=�Ҭ�*������Pj at l��",g�f����>
+�TP��k��k��Oy��̔�,R��az��v�&�/SƖ�It�C}[э�(�E�֦�0��I'��O5�s3
�,��|
+
����.B�W:�c���ߢx��C~�I��1r�)���Nt	����
+�[�����ę5���]��h��E��x 軞s�̙1_�vB3��^��u�;�
�&E�xXȮ�a�k���0⮆����~�Y�B<63�ȬF��p�L
3�����j4N�4E�-�=���r�h��.��;=��<7?@���M튻��	�Z=<et�TY(�pg<��g?Q�]���QZK*&�^
;��8�.��2&�i��/��z�l���ٖމ픀;��J+
B��
+�Q�eTi�����)ɫF
E��k�m�
�N	`�)WSiW5bW�J�u����,��e}

/4����K��^�!���N���{���J8����l	wb�NLG�׉#��K��t��>���ԟ��3
:�2�=�eaFv $�{u�x��I�P�^k�毄[Je��w:�F��?���b�6���NYC��tP��7��8*�s�LT���vbq_"����x�ؽ���O[6`
��"�LC
����ݗI5�6�R�`�|��ݳ4���Ĭ#S��������?�����JM�Qԋ�`����4w_�a�<76s����U/K��b��9�rP�V��}��ْ��%��mF���͝�
�����b�%7��$�.� L�d�+˰�?����zS4}N���˘o�������2�=�0T� � 4���I�}��ҹo^u�g�e�
`ɪ}fWYv�����b��x
+��|	X�_! ��{Ym$�'��Ŧq^|
�^׊7�p�+b�M��y����qq��h����;H�@�o��
�u
+endstream
+endobj
+247 0 obj <<
+/Type /Page
+/Contents 248 0 R
+/Resources 246 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+/Annots [ 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 211 0 R 212 0 R 213 0 R 214 0 R 215 0 R 216 0 R 217 0 R 218 0 R 219 0 R 220 0 R 221 0 R 222 0 R 223 0 R 224 0 R 225 0 R 226 0 R 227 0 R 228 0 R 229 0 R 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 236 0 R 237 0 R 238 0 R 239 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R ]
+>> endobj
+205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 686.174 151.499 697.053]
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 666.159 229.087 675.135]
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 644.241 252.131 653.217]
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 622.323 165.446 631.299]
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 610.388 173.686 619.235]
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 588.45 155.484 597.426]
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 576.515 178.398 585.362]
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 554.577 206.393 563.553]
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 540.585 225.023 551.489]
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 528.629 289.071 539.533]
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 516.674 209.93 527.578]
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.719 199.409 515.623]
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 492.764 211.803 503.668]
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 480.809 211.025 491.713]
+/A << /S /GoTo /D (subsection.6.6) >>
+>> endobj
+219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 460.928 196.43 469.905]
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 446.936 438.46 457.84]
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 434.981 335.537 445.885]
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 423.025 298.367 433.929]
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 411.07 396.568 421.974]
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 399.115 336.803 410.019]
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 387.16 302.482 398.064]
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 375.205 389.942 386.109]
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 363.25 330.177 374.154]
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 351.294 295.856 362.198]
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 339.339 388.259 350.243]
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 327.384 328.494 338.288]
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 315.429 294.173 326.333]
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 303.474 411.501 314.378]
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 291.519 351.736 302.423]
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 279.563 317.415 290.467]
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 267.608 329.6 278.512]
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 255.653 310.8 266.557]
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 243.698 335.697 254.602]
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 231.743 307.483 242.647]
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 219.788 334.053 230.692]
+/A << /S /GoTo /D (subsection.7.20) >>
+>> endobj
+240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 207.832 318.183 218.736]
+/A << /S /GoTo /D (subsection.7.21) >>
+>> endobj
+241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 195.877 450.017 206.781]
+/A << /S /GoTo /D (subsection.7.22) >>
+>> endobj
+242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 183.922 424.004 194.826]
+/A << /S /GoTo /D (subsection.7.23) >>
+>> endobj
+243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 171.967 390.252 182.871]
+/A << /S /GoTo /D (subsection.7.24) >>
+>> endobj
+244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 160.012 300.28 170.916]
+/A << /S /GoTo /D (subsection.7.25) >>
+>> endobj
+245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+249 0 obj <<
+/D [247 0 R /XYZ 89 770.89 null]
+>> endobj
+246 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+252 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+251 0 obj <<
+/Type /Page
+/Contents 252 0 R
+/Resources 250 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 173 0 R
+>> endobj
+253 0 obj <<
+/D [251 0 R /XYZ 89 770.89 null]
+>> endobj
+250 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+259 0 obj <<
+/Length 3730      
+/Filter /FlateDecode
+>>
+stream
+xڵk�۶���
+M;�J�	>Ӧ3��d.�
׾�K��@$1G�2>_}w�
�D%Nf�EK`w�oH,
���櫻��_'b�yY
ċ��"�$̼(���⧥�Z�X�T����/��W��}���~k12 o^�ݼ��&>�yI�؞n~�E,v �v!<����tZ���g�x{���	/�p�&4
~��0
���b�t��Bt�)��K�J���:]Z���~
��u�x��h�gEK�r�
5��No
U�&/MMSF���x_V��ֹ9�>��ׯ�[e��o�(Zք��fr��jo�e�E$Ε>W�V׵[�~<mʢ~�|��N5��x<k��
+���r�)4����
p��^��[����fx�)`V�۲(���H!=�
����?
V��D�@�~�xa�8�8��w[�H�#�������y�u(���1��  ��c�=2U<��u~0�֦��
+����-o�+��٫��V$�@d�
X0|�(�uGK�fG��-O��UM��>�僶��A ?���z���5��8[�Dz-i�陛mтZ1�⭴aj�Wp0�#�\2�C�hP�'=:l���t���q/Zxa����[�:�a�G��4BSN��;��^G�7hi���% dK�|���+s�Z�`��`U����j�k��
�7ҭZds�[�]i�F�lө�U1\B�x,ۊF��胜Wh
�o\�
��
�%�'�ڈ���������%Sw��{ھ9�����8�J/�UF
+Q�JU�Fi�YRn�F����^(�3J3F%�!�}� ��I��V��0>��R
�^����gM��g��^"}��}��Q���˪tĞ+�8JT��&�Gb��XL���s���U~86;�_#�I
+�V2��@��BzI�5K^RoK�rh+=ٮ;&�rXA8#��>C� �T�_�Us4���6$�.�>�kp���������N����� W��\�9��dہ��v��ޔx5�>�_�4��˜���d�6�i�B�΍�X�x@�
+X�S�ؙ�Qh$�QZ���i��^
{�H?�v�Ƴ��!{�jQn���R$�
 �s�����s���.Ŏk�*�����©H�/�_�m݂D��]i4M[S���A
RȱZ��$aq�q���a
P�pFk<��

.�� $�;+�$X�è>�����ӳqX��
+A��1ɪ,��c#��S&|GX@��AA�r8 z9�m��i���%�r�i��K�B,�iO�RJ��
�h5���7��E�de���sO�F��
���^���јO�r:�#�����
�d���lk�ai�	
��_��
��c��©|�t"o��0!x�O}P���8������'��d���K^� ���A]�[p#a�<�V�jzc���|
�h����1G�%

��*��]k�t����4�j[��t��4'���HSUbp� [֬9����)��&>����'(xTU��*5�_~�HpW� ��m��(L���00'���{��g�2�Q��(s^���
+�(U�M�
N�]��s�0�(�<�jE��~��@}v�o'e�s[��ذ;�b�w�[2 �M�n�(�8JY�q�
�+
�A�w���S�j�w�Ʉ;����S0�]9�� ���p=T�q.vz�iR���2C*Da��9��@<*s` ki�J\hU�a!��
��i�W��<,B�����A�k���H0�h�HY���h�l�
KY}�P$6��
;#��L���Ϩ9a;��X
/��,�JnN�*��
+j7S/H<���f�
�� zm�=�g m���ܜۆ��Z��� 1�8��g�
�Cvc4������=�5Fuk�n99�Q>k�
+,���K�-1�j�j�L�uU��;�*OE��v4�<��ͯ`�s��6?
�H_�ñUt�	�!��n�>t�+�ӥbȘq�
ɳ�d�0g�
P
�Sf�� QL&� �����w������
�i�}���[}�̟}*Jž+zp�a=�V' 	�	�I`CuS��3�

�W�;!
+�x�O�w��p�fzGLbVb�Ð׹��%��(}� D΍e��$�6�H�y��O$�
+�	�����u2\�
�A�$q8e�F픡��L������"0z�92��	�Ĩ�qG��"�
i;U��/�X�����`� ��2�c�B"�d��i&�a*�/:��
��&�R$��[
�
8q^�'�b!��嵥�p&�!��؍�4�	�	\�a5�H�!�\�!�e>	#s�!Ѩ0J�hgy~6t4!����x�iy�Y0�G��f�E@%������n����D�S;:���L� �w�
83�Qgj#(�t���\;��=����=Y��˩���
���Q �G L���'ש=��Uc�	Н��~x�@Y� �hkGψ�
���4y�	�
��^�-1rz9sX���no�?��d �h�p\m?3ȸ���X3���~�p
)A�v�.�xR�S�
���W6_ �����P6fG
�-ڪ���K	��~�a��ìr{��[��
x�h�ۢ�����#k�8�h
3GX�p�:5�&?1*�m�k
��7�P��Uɓ�l��ś��߿z��ٷ߿y2G���b�:o���[
�Lܗ�C��^�={B��0���M��@����3�Ӌ�Z~�
+�8_#�r3zw�C�9�`�}�+,����2^��
�gwbx`
�����\	@y��:�bټ�
���ەƞz��L�/�����g��`�a�=�I���D�\d!~���oL]p�{8���r��4px��ԃ�
��_��5�򇙘n#������c

$3稠�GjI�\)�
}j���o�	��� �kLF?��ɷm����s3.�4U�yUW-I��2���J
�{4�-(�bp7�
+�����8>a���o� (�7<}���X���Gs"(�;� r_�����
+#/�ۤ�XQ޹ʆ1Fܐ�i�e^����L�f�3ۑ��̈́���?��ͭYi�asI�E��6*
�6,}Y<��u�3IF��}V��
JJ,���+#Oē
g������q ��1R%�}h�~���8�d��04�K
)|�$�?Դ�!%Mlg�R[jF�k�T�Ti�;Tw	f	�;B0{�!
�Fa>��6]��vT�G�ke��S,HВ$
^Gª�pWE��1Ab�iS�]��f��4��7�o;�*����p�ׅ�ed(!W���M�~W�`���&���
(ZV�L^瓠�������:��DY�CF|'�Y3TL@{N3S�U�����`Ԅ���F��9֋w�����U2�� ����
�����O$.�O�~6��zs�q'�O�#�$'
�ߎF���"S���ߠ%�xuX]�'��`����q��7���������.�����Ma�#ј�k�F������Z'��=.u�7t�q*�>%b���?���+]`�n��j�w��	�08�W� ��/ [...]
+�?�؅�d�
Ӱ_�ڹO鱂�ɢ�-9w�ҋ�N�-�����*òtl1ӻo��W�!:��,|q�
+@�\

ڻ��`��O��^�O����S"��W�D�x��u�2�9=�S�Ъ��^�
+~��l�T�UEq1	lb�{���r�V��b�~�F��/�
+!1����4�/�>ݴ�ZCj	�L����rt#l
���� ]��ܟC��#L���I
��
j�'I`1�c;�>d��ۓ\������5�?�,
+endstream
+endobj
+258 0 obj <<
+/Type /Page
+/Contents 259 0 R
+/Resources 257 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 256 0 R ]
+>> endobj
+256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2 0 obj <<
+/D [258 0 R /XYZ 90 721.073 null]
+>> endobj
+261 0 obj <<
+/D [258 0 R /XYZ 90 697.183 null]
+>> endobj
+257 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F24 169 0 R /F83 262 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+269 0 obj <<
+/Length 3404      
+/Filter /FlateDecode
+>>
+stream
+xڍZYs�6~ׯ�7s�$���}J���D��%eS[Ij��`fP�1�y�}�ȡ(�O@�������
6����wW�oRo��y$���&�6i��q���7'�����&L2��C���?����
ۮ~x���ʇ&o����M�MY_������Ǎ�y�y�N�&
+B�V����\y"��˒���S�7�����,á,�7��9��Ե���ݖ	7��T���UL�P�>�UP��7�|���&� �y�w�-�g8�
K��kUϴ�
���=��>]C5�
-�ZMo�����qs��']����'�:�bf�����N7�Lq�J?vE��<OG�I���j����*���ބ^�|{��N��k�+��4�e���4��j��Ge�e1�R�epa�v[?s$+ԇ���釢��x�a,�+m��%c�L�C�o���mn�_�+:�X�e1��%��f]YdU
mu9eA
JbHO���R�Hh�Ee4�yA@)N`|�N��J�s�߽���tfS��L-�c7�>us�b�"�tv�L����؜�B~�1r�cљXK�Q}[��@-u3?�ܢ��`���z�_����f�0���b82�W��jU
�F�5�[
��k؋��3�>�3��j�Nϭ��
k�
������P�j
���y��T�6L����<t>~�c
+Y7|��猺�}�ѷ���>mL駫��|/s����N?m[�hƮ���M'%��X������*]ʪ��,� �[�Z���=FQ������C�-��P����5L�?O�B����͂�k 1̄�s:�sj$νRL���!i�7$�ި����;ǖ�3L-d���f�:3G3~�"oEh ����r��6J,z��
�� ���6F�C��s��𛈴��e����:[hC��MY���@�q
�k���]�X�9Pw禨A�)U[��I�3��C3@ߪ������M&c�h���`1V���ׇ_2b?��8�
'W�(� /����Iq�4[��<.�q�BΝg��#�
���D8*��R �����mC��y1�5�u0/~�@Q1Jbc��<�ګ�3�X���J���Ty����[u?s�03۴Su��b:R����]��<s�i_)�%�	0
@�ؕX��zt?t���Ļ�s�
�\���c,���¹pq⦹o&�Y� <`����` ���3�
+�� @�� �i��q��C�u-8�X"D��M�ld��p�=���i�
Wh��y�r����ng����V� ���i�3�
q���[����IZ�ҹ�4p�$2�����O_r� q�Y(�$����nvѱt�fKa�R�$�D����,���,1_�'AZ#|;UX��٠,PgF
<���

�.��
b\ ~p�D e�(	$A��
n|ϳK̜��Q]Qq���� �%W� �7���
bzG�Pl�[��w�6�

+�9
%�K�##\	���	m����qந��b�f$��tJ�ݷ���!	��A
�8#b�kJ���	3��b�qN�������v��/�ʍz��?��[ڂ<��B��jt�
�9}�	�w�D%��
�$�a�5w��

��"22>�+Q-3���ӂT��Ad����!5�sLNG���ת�`�v/�(
�6�Q䛨���
�M�<�QG�;�6�iCL��:��]_xf!�%�b��R��x�l 'U1B���XUPhS��V;���_�t��D�%����O
�d� ��� 	 R ?�\�[��2�
�)�Z���|
>Kg�6���9F�|�����
N�ךɰ��ؙ�2���7����,�!�vE�����`U�z(O���`D�LN�|�>�
Ƣ��]IgY!4��&!�%��
y��l�H����^Ψ@!��W%�
�a^O���F�I�(��%�ʞ;^Z	��)�\F
=�0�S
�z�ί�
f�^K�9/�3b,]1�-�8
cI,�lbAʣ�Q
V��l��>�B`f?@
��K�Z?�X�U-}锧Va����2Fé�p~���>M$�T1�w�'G�ʣ|y���8
[�k��X��@�DQ����M�r�3\��*��z��.Ex�/X�I��D֗Z��|�s��qlHЇ�v��x�0G�Q

��ԁ
q�Y�| �ӹǦ3�&w [...]
+�S��ܛ�Z��%+
+2ܻ-����T�������.����w�P�σ/�1��<��L
��<�XG��Q�($�CQ/�(L�t}:f�0��w ��?yג7|k�����C�s�x�
�� ڛ	&˜��K�6-I�����~LU{b@����767�6�&���-�D�

�ؠ#�,LA�I���ጌy��:���c�o�q!��!����F�k��#9p�`�� ��=؛��jg�/�6�Y���Ao�r��;�~�h1�b/
�14-}�Cݭ9�^�ت.'���I[;��4
. at J~�m��cOL���k�N���ҙ�Y�SB��}1��D�Ć��\*�\�o��e�NIB���G�+�6׶�
����ؒ�y9�^qY���|�
��.�7�/�C0�s�
�g1��I+�̢���=�%{
�a�vN�v��k\f:3�%=V� ���be.x
�
3���@ۨv�͉Ş�x_.C�I_4
`�|���ᆳ�!Q�Os��ox�m��\�!��$@晑!	Ǖ���wg/�Ё�Z��\��tXhzpD5���w���z�«��MRZ�����<a�P��h^
!"u/��}+�A�>�7^{<��Kae�
�CT��3��S*t��!��}�����(I�A��?��F���˟W���iP�L�f�n������M�n���Đ~kI at 67OÌ�d����Lzy��/�Px-�
6e.�g/\L���
���f
C��l��
FQڽ���ř�Y�y���~
�jn��U�w���4u��>���`n4g/��R��i�t
+endstream
+endobj
+268 0 obj <<
+/Type /Page
+/Contents 269 0 R
+/Resources 267 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 254 0 R 255 0 R 264 0 R 265 0 R 266 0 R ]
+>> endobj
+254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [197.068 637.862 240.904 648.766]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
+>> endobj
+255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [103.669 602.619 231.19 612.9]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
+>> endobj
+264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.468 560.462 387.371 571.365]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
+>> endobj
+265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 464.4 388.718 475.304]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6 0 obj <<
+/D [268 0 R /XYZ 90 534.558 null]
+>> endobj
+270 0 obj <<
+/D [268 0 R /XYZ 90 502.537 null]
+>> endobj
+200 0 obj <<
+/D [268 0 R /XYZ 90 502.537 null]
+>> endobj
+271 0 obj <<
+/D [268 0 R /XYZ 90 397.689 null]
+>> endobj
+267 0 obj <<
+/Font << /F70 192 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R /F82 260 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+275 0 obj <<
+/Length 3139      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ�6��_�[��u�\�Es�؎�3�f�s�s�HHB�-\��|���T3
_�@(j�R����߼����͋�S���0�<
7{����8�Y���
o�����~�U�֝*y�y<�&��{���0ɲ]�E��?�r����ϛ ��7���i�ɫ��~�7����h�m�hS�م|���Ϳo�9��5�A�
&r�u��W�"��i]4O����Y�'-��
��8<���:������{tk�~Е�u0o�0��Is�Mc~�:܆>�!�|�z
���Z�M-�]S���#�����}
�ӎM��
�)�m{�L1����>X�����t6D��Mm�s����৳��x��yU���Vy��A
J�M o:
丛4>+|��� �m�{s�u���lV_�'��4ġLر��ʼ���
�a 0�lD�|_۩
$��
�pnz�Y����;��
+�0�K��g�3�d?
�AՃQ%1VY�{������)S�ȧH�&
�A��
A�
C�i!���נyK�\� 
׾���}!��N��w
��d�z3���U�7a
��;)�R�-�
�o�@$��u���0&LF�'��J�Y�M�
#�����$��P�B`�D2p*���NU<A��w8/�k�l8��u(��%�A�m]��1��)�� S�ٟ��|u3� �k��'�+���fM
:��A�D>�g���i+8�
�8 ��~�hƕ��'v���ص�=�7U;��B���"�%�-�f'���,m�
y��'ӟe������Oc
+>J��0��
��v;^�� :1��mK�-�F�<E5b�$| �"V�+rHv�@��G�K3��šj;�Ց� }����Xp���i�!��+=�+�����3��8�UM���vR�!����oq��NꦾG6-�JH��PD���
+�HHN�e߀�tv�E_L}���Z��]�
S������
�8��������߳p�\1��C��6݉�x|��2����<x����w��>}|`|�,���@�;�a�#Y��Hp���.�]�
���
_�0zdG=e@ �Y�
u�/%��z ��NrҦ͸V=*R�JDי�y`��$O֣�%�Wi��F`>�{_gU��TH��3FD`��Bv
 ��
+	�
!�_rfM��<�>��K�z>��ʠ*B�nVCk�������,�yQ�}fQD3Q�"����w]xÂ���
K2�J�x�GF�MD�J #'p���FQ�1
��^/T�
+A 'V����4#�1M��t?��3C\G�o
��iC�.K��<�Dm��7ȼ�-Ŀ��WMr�o�>�C+^�^�x�k��3c'�D�p8�Y+�
;�!`D��}�jAY�� �k'KdL����ٽ�
MD
)��g6I t���t��4�j�Fp��G�F�O�@%��X�T���,�
c��v���*�:vp�څ��tX���a�=f��� �D��w0EV<�����+�̘���:�U�[ev�L}��"�P.Թ��o��ٿ���'�S,z{xf�ux�A��
�w����w߶x�^��]�"~
+�(��n�x��E�+qf�x�e�
+����JBG����R���t�P��b3
+|�ӑ{�$^�y���7���f�+��P"�'�.
j,�� �v��x��L}DԒ)�6�HIc>�Z�(�$jٚHf�ª�w��%ِ�b���m��^���߾,�<�z��兵�d�!ɓ�W�
C��y:�"�f�

�L��U2%k����Ǿ�f���|��4
wke��U������9�l���r����d�
���6�
k �&��d��&�e%�']�߷!(s�
Է;ט@CK�Y2��g"�Z��N��1�a0Wf�-XJ�*+.�2(�9��fDx
+⓱�A(�ّ/��ѷ�zV��"H�o���t�͠��?�Xf

�p+��O�U��\]�����]m��ێ���cղ|3$
+{{~p�Ǖ�@�֝=�ɏ�G�Y�
�6��#{.�`+m�.x=T��"�1/[.�2q�{���[2�c��%�D�1��o;'��{3�%#jVQn
��?��ט��V�lB;T��Ԛ�a
QOH�<�V��#Wu��h�<�1�Q��?�1!~�PqoM\ !Ɩ��Ї�����Yh�
+�c��s�N"	5v"�.�T:6\B�f��b"����;2�������D]
I���:r�.�sR���d_b��zoeG�
��
� � ������m��v7V[��Fl��<Ꭵ#�$�����#��)� ⽶��:νmu�|F�~U�����A���qQ��T~����,0(�������F�Ϡ�eHr��H,z�V��������ƢS�����@Z
�ء��S��h
+��Cm�yWJta= �e�2qR0�N��5 m
ZI �*�SgFP�;ų�K\�&�-�u��^���
T s����v�W-���T�K
̱�{W�j0���D�'�
�S���!���-Ԥ.[�
�E�{m	�mz���p�\
l�_Iܢ�)�����7���ڄ�?�.4'(�u1��_�eR�!�M�2'��h��aD6�� W�����n�VAI�_W8�#�x�(��R	X:�+
 JU�FuҖ�Z�Aacč�>��]/3�.����^��][Ϊ�Kr'�`۶�����;
\U?Џ�<o�����@��-���Ử?$���Y� xc��|��Eaw�� �=�]ˁF�(�c�3���)���g﹆P�W��ҩ+O0=&�g(�X �`��S  �*#�v��*��N\-������E��c�6踁�]�~�H3�C'�+��5 �N��]�
�����6�I��AR�"��X�z^nj�eU*!�r����p*�(��&]�����i�\�oY��%q�g��JS���ʈC�=p�ֲd�ָ���
+k�GdטJ�
l[�5����0��]㫵���B�s�YB��QRa�+ؓ_θ�s�sq���
�a��_`�� ���(��+إ��/?�l�y%�w�	<�f%�~-��L��U�������g�`룊Iw�Aky'?��Ǝ�����H�p�cX"������ŋ�x�
촅T�yb1
Nӭ����ѧj�rEA2�������b�$��0�Oȉ� �p�|L��� ^�����1���� 	dJ�
+endstream
+endobj
+274 0 obj <<
+/Type /Page
+/Contents 275 0 R
+/Resources 273 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 272 0 R ]
+>> endobj
+272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+276 0 obj <<
+/D [274 0 R /XYZ 90 550.374 null]
+>> endobj
+277 0 obj <<
+/D [274 0 R /XYZ 90 525.951 null]
+>> endobj
+278 0 obj <<
+/D [274 0 R /XYZ 90 201.906 null]
+>> endobj
+273 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+282 0 obj <<
+/Length 3179      
+/Filter /FlateDecode
+>>
+stream
+xڕZK��6�ϯ�-TUF&>��)q⬓Yǻ���V�EBb>d������(J�qٗ!� @??�&\
V����o^���U��S�����<\eq�IR�U�?�x���/+�n7Q��"�����Oo�����O�7o"
+W/O6�vU67��* ��
+7:߮
hR����o�zw�ϛp~���$Q��"ٳkN]k��R��[�t`[���`8Zǭ�k������iL���2��OS����4�c[Ԟ�l���a~XGa`�������U�VI���ܣLC�*(�
+�y�:
�Z`I{O"
W�p�<I�z�Ѭo�F'S��a�J�w'��m2L�`;���=Ӌo���к��G[
�9���?�
�bW
�o���}?�.��PP�
���lm�8:S�
O}W��9�pa��|�V���L9p��*�-
��O��L���E{�N-s�ʹo�I��{OB�y v�_v}o
(�b�]7��A#���N��?3A-��q�-��
��
+[0?�
�i�?��-���Tt9����`Z���Dm�`��Tlp��J�z�I��]� ��o'�
+3I�8D�E��+���8,�i:+~����ǫ�3��!m[�#�
������M|.��w$A���s��E9Xt�Ov��m��t�w�PCt�~
 ���@xi�T��wB�s��4��Y'	����1��/z�^6`�	Ek��i�OӁ�����
9(�~U�"
0?�%�&��Ea0k�i��
��q<]�
��0��Ic���(�)
J� �
Z-��"b�s!b���S�O�=�D'PY$�Ʃ詥0
��

/e�a�Po$Ic�-�SmP�Y\{0Lz��	ڢH�{8�ȿ�*�Rh�J03�P�~E�\WZ�j1��C+����>3��r��R�4�Oi��ل䂗�hM���)kjoq�r�U=�EcK�
��r
+�	n�M�2�X�Q���%H�0��= s�
g�J��1�=�lX��ڛ���Qm:O�:A��w��
A��
Ȝ	U1<�N3�p-V�PhH��<Zr��vfx0F��� М�DR���� ��V��p
�pf�������`��
VGE}���`c
+Fؑ<��WG�+
��
7K
+����e|���8t _o8m�w
���
r��կ�H|�Ϥ��-��~��X@�6[qF
+�zq��-O��YR�M��
��� G�jG�:�ġ�;(O
+R�����ޮU
��΁}:�)��
+�7o�}O� m��
m��v ���Vd�����;[���:
c/�E"�T205
	&��
߲;�
isj�V�e�����83�Ԃ"9�B>�n3��̔RZ�'� '��F��b��
}����0;$9�����02��ږv�����x@�U=y8L{�����mce����Q��-EI�������*����L,��8�Ɓ��!��	@.�V���0Wu�5[x���j��8(f���r�4�m��w���Ąl ��3�jy����	����s�
Ɓr�+����2��1*w
��|jdR~h9�צ:x֢NhM~����+�_W!�6X~-WK$saN��f���)
]z���>�������`�`
�^P|��*�oL��,�G[A�0q*k8!G��S	�4/a�s|� W`R�1A�=�43#J>xx9"�n
sŕNX�
�-�l��XoZ#L%c�t�`��@&k
+K���UM���m�n碃�,:�.�_�����|�Konj�-��a�u��<�_��=�����<�oE����c�I ��x��:����R�A>�"u��⌟�&�V��8�eK���#�9�)8iz�?s�I��$q|�
��y8�|$a=���S�>�Ɯ�
7əi�
+�
bŘ �
:+S��

D�=�|p'J�_�%Д�i􉅫�c&IgoR��|
��,%(�f�����APO*a'�%��?�l!V&��]�J��HiF'�:����<kBt�v�Z��v�X�{��v�%q6�Q�/�=]
q��$K���l�
�fG�����
Z�*��hqk�
�����~v��b�LW>x���88�A%
�JV�MM�w�'��l�Ђ�q��g�t��)f�
t|
dYھ
�Gm�����J�
|�P<��0��_r����`lgjy:Q��<
�qǁ�v��t���T�L�� ��0��^�
����Ii�m
����-�
+�k��o{*!
��/���J�.�
��́4�y� �W������`o_Z��*>a�ؗY�
+d���*�"�/U�7
�ا�(����~
]���V�4~2WTt��Lz����_�a�!�ɱ���oA&5�pc/�b=�Mr'vN���
+}�j�c?�T�9wda���HV��i�
Q>�L�q�Q$k���
��_���[W �f��
�]՝Ⱥ�
�
��B������Q��X��"�b�p�F���ɝA E���)P����y��X������+#��	��?�@�E�V� 
M�wh��w.�:�x	����fF sj.-�&k
>���<�ѓ�ܴ�����q
+��\�
+�P�<'ť�"�PR�@��`_��E�b�$h���I(f�'�,��:)3��7FNQ��b�vxF&ٔ
22��ϗ�n"0A�_�3_x�Be]Y�y�3EЙ�����e.�{Ӥ���38z���qg
�����c+r�`�"��Ji��3���3��E\���E�u�ھ:W� |ýKF�Y����ـ����_�.�����|K>Cb�d0�<N)�?���߁�$_�$(�5����R��'6�"
��0��4S��h���LE�Im@:��T�S�� <�*fi.�-?ĵTg�N�7�
�q�
+Y�r�T�l�"*\�l9v�c,%��c������<f��
�à@�(��')Y�>��
�
�~2�8�
W-(��3W����BH!Nd���<��q��Բ2a�X��O�s !���]dd�P�W���&=ՑT�]/4yr�<"�N&3O��[����j�)���c0[g�$�N��FY�hpަA�F/^7z�c���n��홡��t�gz���z��ozY�~��N����+��X
d���/U at B�zv�0�Gю>��o��7!��� 
��3FD���0]�W�5?�VmT����8��o/^�ƃ3�a����8�6a��S	����7|��S�\+����`k
+endstream
+endobj
+281 0 obj <<
+/Type /Page
+/Contents 282 0 R
+/Resources 280 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 279 0 R ]
+>> endobj
+279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+283 0 obj <<
+/D [281 0 R /XYZ 90 495.818 null]
+>> endobj
+284 0 obj <<
+/D [281 0 R /XYZ 90 266.607 null]
+>> endobj
+285 0 obj <<
+/D [281 0 R /XYZ 90 116.859 null]
+>> endobj
+280 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+289 0 obj <<
+/Length 3015      
+/Filter /FlateDecode
+>>
+stream
+xڭZY���~�_���U�ⲟ
%VɑUJi�����%� �Z�������XY��B
������a�m^�����ŏ����,����&�6�.s�o��l��s^��E�Q]^�˻˾�
+n��
+��
+/i�K�h���O7���|��(o��֑����t��WoS�����Y�yԓN�]�Yo����ƛ�2^���]��K��.�cg8*nm��Gs�9����(u恪�b�v^��h�����}X��{�j>�7[?r���HG�]�7�UN͛���6��/4[-��TQ�+�
rrn�~�����T=�
��Y1�#�!��n�7���-M��V�
����m7v�Ϳ�>�l/���N���S
�n��A�%�^�]UH����}2��c����(�Z
+MY>p�j�/�f��
��q��b0����r]�,0�A�m����v��sa�*
+��AC�+h���������)(=^AA�`���4���Ox��%����5
�/ �w��V�:?�e���U�����ٚ�x�qTaQ���r1��m��`�B	�HfɬBc�ź���%̥��ĝ���WCS�O�*4D�ne�[
���"'��2��)�uy)df5��kO_=��\a�" ���l��=�Y��g�֥)U�0�Au�~�x�
�[~��ij/U�����Z����ƾ��I������qto�֔���w3�n��݅�k��~
�h>��]�ဏ^��~����0�2�^.S�
���S������dg��
+������Kl�h����)u�V�
񓛳�|Ps�N�4���L{��L{�fک�i���N�	��:F,����N��<eQ�6B��Y��������

�k
*�q���l�ˣJ�7���%+\X�E諸�O�jv�
�z����KթK��d�?36��	;��F�WH#�Av�
Mȝ��0kw
Y�6|��
Q�$�����8���;G/��i4��6M���)9?
�m�dȰ\�Tɼ7�ZY�bmew�	E{R�|��s��=� 	G��{�|���37�I
Ep$�{��:�L��
h�3
:)��\��J�)B��"�&Q_VTE��e�Q5�Ȝ��8qE!���."c�E���1���Eڱd&�(3�%1Z��,{n��n�#R(5������������<�G	��o��vŧ��J09
}�d
&�P9~4;N
�p8`�և���1eT���щG�6J<G��%�Nf�V������ ��V�������
1O�/�a]]�f���p��d�~9�B6ظ��P�	�l�^��d��P��`�I
��)���R3�N3.�檙�Y
�E�
C�iYhIY��Z�,t�pFtfVb�ͨ�5Oyˮ�{�16�Ƌt$���"D��Ϥ+����w�@;`�2{�8��e�=ZC�a���q4}N
M���0 �x���a�7ʨ+&A��#��L���� <�j4D�9T���O��\չ8��x�]����5�c�3��g8غDZ+��F�f���,�
+?:�N�Һ�
��BvcG�������J�i��ҭ����8F
+��KJDY/4�\�G��&��B�|7��v�� z��=𒙪yj��q�ԣ�o�^>�\�$#<P������8��F+�����_�Ӵ��$XFKw
�f��Nh��U�
-�9���P�z�S	�*d
�ʛ���$�
�
��
f�*X( ��F6���Bq��K-Л ����:
�b�a�ʍ
gj��<��T� _���TR6�7�L�j+D)
�;8�ν
B&�M���6���ޤ��^	
��=��YC�Ĵ�H�P^ؕ���
��=Y�n���єƸhpEeŲ�ۙe��+�rȤqq���^F��쥻�5Rx�;kY�q.dd�d��w�/�)_"�zY�m��-K?„�����B��n�lQ95
לq8s�!��V���(�_�e:�GK� h�
֡���������һ�[(���e�O[qB���5I�2@�y�5�g��(���#Y
�^��:����i�e��'�))�9)��Km��&�ni(��pyL�gk�����Ы�ݰ
�:�����W��_�����8�h�tI�U5�U'�ձ��G���:6�1��9a-�
)L�ӹ%��6^E΄9L]ϭ{<�Ah
N��[��y̼�+�)�03�-�Ls��i�r��,\F�(!��Z^:���2�7&�}x� jmO� �n5�'% [...]
+a&�d��$RìHM|��03�8�ԁ9
k��Йtڭ�+�JY|��ȥ0�a*cD��6�+��&}�$Q
#F ���N�~����en
A2�

���%��-���&g�"�����i�]z�����Ef�a<�X
�m�6��E
�������W�.�� �

��K�e'���ӄ�1ZR�@T�L���^n͗�eS��Ԯh�
ڑ󇖱
ߨa�� �� x��< ��σ_s�ѷq��w�>Ih.h���-v���cXHmXHL��Vn�,�2�f���uyԺ�L��,���
R��VWp�L4�
����m}9������

�Y�tM]jF%�hVM�(�^�aM�yLj�!
���)'&x�}�ʮh������t�c��m�@-�E��Ȧ:�����A��ʧ{�g��=-�k���q�&A��F0B��,��?!�7�$����޽{#�'���úp�o��7��vf3g���7�
�b����w=2�ki�:��O����#�\�O�C���a8����r�Usp�O�qq��^웵�K�""G�
�����7��ǁ������'�͘���Y(
/^����Zb�_�ﳊ5$
+endstream
+endobj
+288 0 obj <<
+/Type /Page
+/Contents 289 0 R
+/Resources 287 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 286 0 R ]
+>> endobj
+286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+290 0 obj <<
+/D [288 0 R /XYZ 89 770.89 null]
+>> endobj
+291 0 obj <<
+/D [288 0 R /XYZ 90 628.972 null]
+>> endobj
+292 0 obj <<
+/D [288 0 R /XYZ 90 299.073 null]
+>> endobj
+287 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+296 0 obj <<
+/Length 3487      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ���_�[���9ܗ���7����}ȳ}�H��
E�9��ק6��
�"�B�P�
���]�����ǻ7_�
+�<�w��]
+�
z��}~����]��AT�0��o���
?���W�w��E0�"��E��/w��� �
��*wτt٥q�n���_w�p�
�>GQ�iR�(
+���5�3Z�N�����5̢�C%��CH���C��5��0|:kn
���z�v���F�GAN�8۟���O
Qu����i
.e�6�S�&�0�کZ(K�Ө�V����F�$�}}V�!*�O7q��ګ��(�4�v �*�X���C\�
�[|���~b�e�� _�6���u��f\���<�2��+|�.�z>D�^���q��ί"�4�
a�h_��N��Q.I�	$8<dE���!�E���{M���0qcD!��v��ڂ

�q�Dv�"�x�I!� �(dE�m�
��Ng!	�7va5+�rҬ����	A�$�Y�@�N��j1���*BQ��x����0~d��#����p��r��>{ ��j8\o��4
��j��
��ZmdŃouBA;�zd#A�b��QAU
���(�W5N/l�<Bzf�^�q2��4��b�����o�v��js�u��q@�?�
�
ޏ���E����:�Ww��
h_=�Co�ߓ��c�
�B��a���бb�(���`
��
øoV�nsc7|���U����z:��Ʀc�P��Q�[��$]hݜ!`�C�.����b�pe*�[�A^Hf�1
���ge at zc����Y-��گ���r�m��������
�t"V
�A��W�^x�Fȉw��K	n�σ��8	�*��1J�W�f��+k�U��}UZ��l�[������?L��y��zsi�M�@V+mƩ|.��� ��,��ג6��Z�J
E�f��2
P�`��LO�X��O�u�<_�j�Q��l���C��G�I��p:
�Πt�p5�w;
-��O~����|4l���R8�4��b��\T�
^�hp_����+�ﶝnI1#)��p�
�I��9e[(D������R�d�F.q`
RW���L������ƗC�qx	%*Sk+�!��
W��o��
8'-�*��_��_�$p�A
g���
+�0����A��84s=0e 	
����)�"�ђ�V�|�xׅ���̃�z��zk�ЙT�Բ& 	���'�d� ���m
�!�0Z�u/ܛ
eC��2�
uJ%mȻ��=.2n�
��Nh\��
+�fVX(�XR�0�;�0M� pl9�ӌ�{� Ѕ�
�f�
0_FI��ԍ
�ٚg�u�&��9�U���I���������&�\95�l�1
��|=L�C�0����X�@8<ɜ��6�j���
�?�7I�$��>�]V��D��cs�U��e����W�ӣ��;%�e�!%�Z�"�D�
K����l\֘�1���p�А!ml}�'�
I�q=�KZ�/׶F���"Ɣ�r����

�d�}
�;e��wH)����斒fBfR����$b��F&�GP��bj��h9���q-�W"��fR�giW8d�(�aG�h�!�JA��Gg�
���I:����N�Y��BR�""�X��� �s�J6#	|�b�� ��������/x�
���n��a�j�f6���qk'��?x
c�g�r�&)ړC�^���jq��NrF�-�鵲X�h�L������Z���]B�:�q���
� �R��P��0f��	�6R!��T��CCBI��j�@bnj������#�=�p�eY�r+�-�f��{���,��e
���S��I�(H�doI��4|)C	<�[f
޺Y;�K>s�U�
����"L�-„�Z��R��7�{�! ]H�c���%=�nr3
Yi�� q-�n���dRH��Nb/[
���E62�����ZMOy03��'�/O���vS�6��*�Z�>2��A0��V����ɑu��@�� }��`
�&���Q�j6+�j� [...]
'[�
���}/��.�^�D���_�
D�p�	';(�ȣ��/J��6�n�6�c��K�赔
q���)3 4e�a�!Js��"A��*�*�S0�L��.����"),xm#�c�i$9�sZQ��l���KBUI���?P��6�VK*�j�2��˸
�z���ŏܕM�+N�*2�?��
k���Pn�;.!� �G�y^��
���E�t,
.^7R�N�^
+I	�B��sB�+�VՆ�6K��X��;��(����U�-�^x�"�*J�=��H�p	�r�xHL+��"JH��
�@�z%#X{�1w��qv 4C Kd͗�&4���(�Ɗ��(�{RG,XR�beK�؈@���{�H*�ȑr�H�����E�S.ٲN&6�T�kGɣ3�ԏ��H>��3$<Z��M�����Q�6������dR7�J���+ �w�1��g���XQ�"C�_�i���llS*�<
�-�J3{s�B���R����ڨ�9.��.l���
慍`��`����{K�;%��r�^AI�~vh��K�
7�%[��
+�/��g^Hb�nG�!�;w|�+�sI r����
��ˡ�,�|�F��3�,#���� 
�&��+����
s7ݝ�
�
�f��R�Fc�?�Ƥ�)W��zmH
��ĭ1�nƳ�}��?�C�Js�?Ν��'��o{�P�Y����5�m��$I��`oL��q�i����(^�Gm�{�������Y8�����|���t�)��W����
�J��z���_��Ŗ�%�.@�
�Iɿ��b�[���Ne_
���ТF|{
U��
+R����
ʥ�q,5�Z����v$�S勒ko�����_�
c�I�qz�3FԢ�}��n�+�����?����UT�jċZ�>y�	@Ӟv������e��� ���A
V��"��+8�� A�E�à-�����^|V�Q zqD�����P�@�#V��ɫ��5�\^6��ɝ�&k
�0Zt6���M/��
+�;�)�L��%�Z~d�A[^	�U
+���u��
\
+�1&���B�Ul�h�D��iu#D�D�$ly�bA �+p0��8���Ж�*����Ө.<��X���Ay��9���8���
��nu�
�[��x!wU�i��E���}X=��;�d����2 X^�[Y�]�� f�p�3�
�f"��Q�T}e���I�C�����eUR��B��ј�M��	�C����L� [�SPY�kB�ml�v=�QZ ��|�[��(��"N�߿y�"�*�����(¨(b��4h��ͻK��� �r@�a!h���U����*	�8����,�����V^�T�4+����J�_a&�������g�]1h�jJ�>
+BN�!��M[�2������}��8������<M׿�ys���'[��������<�s�/g����mlu��,%�A
+endstream
+endobj
+295 0 obj <<
+/Type /Page
+/Contents 296 0 R
+/Resources 294 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 263 0 R
+/Annots [ 293 0 R ]
+>> endobj
+293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+297 0 obj <<
+/D [295 0 R /XYZ 89 770.89 null]
+>> endobj
+298 0 obj <<
+/D [295 0 R /XYZ 90 130.877 null]
+>> endobj
+294 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+302 0 obj <<
+/Length 3084      
+/Filter /FlateDecode
+>>
+stream
+xڭ]�۶��~��J��h$E*yr��u�d�ƙN����N�P�LR�^}�
$HѮ�r
`�߻:�yܨ��?��{�}�6�x�ӻ���f�6E���
������\E��E����y���P���o]e��¤,�2*��������>�%p��$|t
�:�}�Um �a��t_n���t
+�z���?�TH�nIe��I�D^lwv}�ڦ�f{�)
=l�����>-�h8Y
�fp���u�cg�8�Qg��5=�<��$�~�?�k쁡��0����~ré��
��q�G���C˛FZ����x	��w�Ã�y~�x\/��x�_'��9*���+tT��6SB7�yfß��l�@
���b�dz1 ���~��x
_�Fg�O
�0X��^�I<��2�i�I�i8@�7�X"�x�Z��NQx3��G���e at 0/M�x)q'��^E,@�b�?�>�\�
h"�&�E�Ǖ�ߧ�

+�(k�����iL�uBT��y�$�� ��QwYT�n0<a���
"5@ IA����
$e#<e
oL�y�{� �ʘ�,��Ԧ�M�|g�
@h�y��35J`W�>T!� �Yy�
+>��_ß-D`��8=�|~rՉ��y'�f�!
�2


r;D1�K�^���z2X�:�x4=}�j��~0��5����j�D��y��3]O�B�G��o���|t��� �����:
�lb(�s�P �
-�t� 
��qMp�
+N�s���A�Hr<}�u��>خq
�#��E��鯗Km������
�/��#��-�"M6�.��r
+��D��Z�s�����@�_����;��@�4]g����dm�����v��Վ���U�i�Z��`$6[��=���o~E��bo�A ;!��r�I�8���~}7�����~�>Nu�e=x���?!�D�@���¨c��
;:�:�D�y�_l�>*�Y�2���P[F��xZ3F�����3QO��a�d�2�pr�׿|�����;�,����m�]��-x"�����4
o��7�
�0�
�FB�/K���0�9����~�w��(5�N.����1��Gw�Ȍ�fA`�I.�P���C��d>z�~V{��<��z�8Dd����7�g��\����YxoFI*Q��3�?s��
P��0y÷�+	o�zW7��
���eh�]��.�ec�KPM��
=�
Ƕt�n��y��:�a�i
��U��
�8Σ��й�BJ��ks�h���9X�7�����
��R�8 �۳���!1���b:���q'�1����m���Q5��:ZN
��ܐ�T�KL	=|q�bC��I�!2[#�&;��:��R���<:�<��5z�X3�*$��d0O�����`�<��^e� OU@򪆫?����|���,�����W���쿙i�TC�$Eᙳ�N����'
+�ׄ�Ӂ�9
@�uF�5#�Z�,' ��r�z��x�
+�s�֗5��j�G�'�ͽ�[��az
˳*���0\��׻����=juz�v�
_ 
s��CQ��
�Z`����8
�B�s��{�%��NVqE�92���{,�J>
���bV����:R ��;�7%��א��U�/�[n1��d��=FY~�X��|����=�=���X�`]I���n�
���h.
 �Bd�� 0>dD����r���W�W�6/���1��$$ Ʃ'�!?n�+e�+�؛�7��E�N�",�4L� ���=��,�ˮUZ���n#�D
�.�  N�Z��>I�I�0�<K%�1�o[ki>��<
]h��#�C�%���pb��dm阅a�
9�y	yc�z�g�>T����`�����C��0
+_�AD]�S�7�Ҭ�_�Ҽ<�KI�|K'����ěDJ焔
+���Hf�H�� �����liI�2�}Ն\�z"�|�F���,�>�N����j�%�l����U������X�-�:���ⶴ4#0s� |ѣ�B$�˟e���
� RQ��4{@
x at z��U�	��莝�gQL�ޏ���z؈��Z$@�W�3��
:]�w��:󠗈�G%�Z��������:���)B�ӏ���sB�������E�^�I�
�
+�Y��
��*�	�w�d�<̝v>�/Qc��K���ܧ
+
+��1�1X
���y}���Rm{ 9�}�S�܂z���%�PB��E�_Q^�f��L]�T�3��sA��j��2������3�Y�g��#��I��3ñ�������}"��%x +�"�^~>�4�g�Wg��=92�LY ϟK�
c�m�Lq�0rP�B!D��iI'3�M��Ō���_]�!�L(�� pa,�`�
�,��Qj���D�Ǧ�����O�V�p����D?�R�zﯝuO�;�S:��Ӽ�?͓$�Jc5�����vr
"
�Y
9��| �Me
�HD)Y͋���
����c���AJ�Q�L��E��ܟH9{�ULQ]u�M'D��������� �(�
+���'��Y/�t��I�� �@N�2T�d�:���/a�i
kB-�iQs��o��ΣH!J�gz��{�]�5��^�|��η31��L�]Z��	��ȫ��7�Ú��Gr���e[�_
�d�0� ���tv*
+Nd��_�aKk�XL��\:�C���e����Z`���p*��䗗��Ƕ���K@?2��)���^Z�!/S3]��������ޫg9�v��gj&-F<��:��w�JU���R����*���gƬXF�e!B�v��
+Z�
��r��ܒt��^
��.��څK��,B}�%į�I�e�haQ�?G���.�J��2,��1V�	D�M�q�[ވ��Et���$��/�a׵��$,��^���7U�EȚ���R�\�
�i}27�9���
v:.t�������a�oȊ8|�����ݻ�<��4�M�x5���`�ަ�/����şXx��i��1�I؋�=p�*��Zy'?�
�oD$'���>�%"�4
�o_�x�>���
+��&��6E�v��;���mg}� ;�{~�*�w;�9L�Y�J
+�1�1-��x��n^� ��?N�"�x
+endstream
+endobj
+301 0 obj <<
+/Type /Page
+/Contents 302 0 R
+/Resources 300 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 299 0 R ]
+>> endobj
+299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+303 0 obj <<
+/D [301 0 R /XYZ 89 770.89 null]
+>> endobj
+304 0 obj <<
+/D [301 0 R /XYZ 90 225.816 null]
+>> endobj
+300 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+309 0 obj <<
+/Length 3181      
+/Filter /FlateDecode
+>>
+stream
+xڝZK�۶��_�]�s|e$E�;�q���ַ��$
\
+YS�5�Q~}�����`��|���in�������o�pS슽�o
��"�dI�K��;l~
���?l�}���=�!�뿿x���#�ݽy��|�P��xz���My����ps ��p�晘ΛD��m6��q�'�_�$�vQ�{>l�00��n�Xw��^eI�
��n��קj
�=��3�X�B
L9�?tF�m7
+��a�>V�h�Ҵ���q<�~���UǍJoU�����0oJSoU*�I5����4���-'p����:�>�ݙ[p]n�
��7��;>�n{�Q���欬�<)R
�ieE+��u+
�6��C��
��څzS�È
� )�!����,uh|�tS/�e�Jh2� �;ޣ@�R�*a
�YZg8F_�{V3���t�pG:
�T�����@1s�)&�2V�0-��Z�*xU��i�m�;�<xOw��?���Q��;�]���^o�(��nO�M* g˸2
�]%�8���

��C
��W��<Pz�9�P�8��BcŁ�(��-��Ư}�.�'N���}��-��"\G
�B‡�;���ʚ������F�����wO��M�8U�^�f�-;<�/
�gܿ�?1gW�Sߓ�qp��\d��in1���Ћ��#L���d at 8`A�cwOmb
{��z�9At�r��Y��#��rCbS�
�~=�%|���޲�SI�o�G��
-`�=�mh�Y��T����6
+*�[�-�9#�S$�#�w�����Dd�T�f�����G�<���
�
��y/<�村þ3�5
������;j��lu{�痭��	��>��4rP2���g�"���P8�x�� >u������/d_�y� �����a�����'�=�%�z�%�_�X#���K���%Q���
<[�� ͜D�e��*pcc�\�
����D:|��+����F�-��5 &h��`�]V�,�`��!��5!	�
MB,�U��_#
L��0��x����nr�7,�j

�x��[��ݬ)"������� D �B��E�G�=��l����#�y���,������1��8h����2�M��M��M���Z?6�YЗ�\˴0P�n������E���h#���ܜ#4�<�c�8��j��v{%۽B�����T
�X�(�(g�gT������0����x���:`]���y�.{� �Go�ֿ��C��
= � �Wp,�' AKV3k"${J��[���-x_X���XD�
��W����L,3�⦮L�=E���O�ir [...]
d�
�0
��K�!
�-��f�Z�7�
����i1�s�s;�|���V
�LC��T3ބ,�"?�M�$@�l��bI!b/dS`x���?��8�\e)�K��X��}����ĵ�dVx�
Q��g/�e�Pi��Z�&;PjI`Nf\r̈^s�ZM�}sDI���tؗ�f
+��"��0�
��d�g��~�8g `���_H��E
+�����Z[�vɫLA�i+�)��F��CӅ~
+C՟�ձX��6�"��
��[���|2
>�2Nm�
'V
�i��9�I<�b1v��#�
��>
�j7�� �4C�]by���Yl%�rW'7��I�r����@��C�
�Ab��
	�S��<��{��X�xN/��u[6�8 i��=��}���̄N�����F�8<s��x
�z��"������X���d�
�J��v��H��we�Y�
�C)#�v
�i摎����\��ƠI��KH�C=�����X���K��D���E��h!����#��?`�N���P��N(~�`�~�l���&��,h`����Ȁ��V��ِ}+�����&�Of��r[��w5��6�ɥ�g}
6f�梇�h�u�[���/
�ƛ�z0
�"�Q��x��E��\Ks�]�׺o
Z?H�0H
�
cR���q��c���Ŋ���D����O�?50X��-7��Պ��Cxjw��E�}4I��(V��%��73�p݀�<\�S����f�b����!L/��b3�T^�C�>�zH��>�^Cw��n[W��%�d2��Å._�9���o�ޑ���h��zf��N=�b7
+�DOada�a,	��"d�hu��ź��V^�“���Xz�Rz �-��
+)�qޕ�e�\�v�����b�P�b�
�$0\�z"����9f��f�1ܒ+�J^,�<zPhy��5�[fxy�̒
+@��L�]����QkVH����hEf��գ6J�
��\bH��j
�
�l����?H�� ��Z|�R�W[�[��2)�_�=GC ���1(��[`m���i��{cx%��
�a����z��s
+�,f\D7�6�%����*���c�ͅ^"G�Ԅ�T�.��)
P@���9��E�R=�m)wquV�{Q
+��peq��%���Yu:oQ;)05�8޳;`��1z;l����]	9n��-9+����ؕ��#��rN`���~��k� k�nS�ztF��Z���W$w0m'��Q�V�RI�J�չ
5��@c�a"�I���.�� }y�E���D�*�1~g+z��+<'p:�����w{���Jd��
!�+�(I��)8J��m��,��6�/7|}��?��3�T~h�|�v�r6�~pL�2�ۤ��Y�jk��K�f\��y��\��J��&���ϧ�5:<d��fs�L�b\�fljMPo����
���uv�\쏊
�fAYg�-9è��J��Ef��ظ.��tWx�|�K��~T
���!�C��C�l���
�=��9t�r���r�����Q���A
+«̜;�-8���0�?������aѸ��T-2��?X��.S���
ob��҂�����0�2E�~��
!�|{�7�t�ؼ�=�w?/h����Y�c"�.T�ݔ������Z�ݞ&}�ѷ����5�
f���M���1���'�K�.tP����?���� ��s�j����եǧ?�|�8����v`ط��<9�v�>�s���]/�����s����R�l
+endstream
+endobj
+308 0 obj <<
+/Type /Page
+/Contents 309 0 R
+/Resources 307 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 306 0 R ]
+>> endobj
+306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+310 0 obj <<
+/D [308 0 R /XYZ 89 770.89 null]
+>> endobj
+311 0 obj <<
+/D [308 0 R /XYZ 90 646.255 null]
+>> endobj
+312 0 obj <<
+/D [308 0 R /XYZ 90 530.071 null]
+>> endobj
+313 0 obj <<
+/D [308 0 R /XYZ 90 308.971 null]
+>> endobj
+307 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+317 0 obj <<
+/Length 3429      
+/Filter /FlateDecode
+>>
+stream
+xڥZI�����_���*��F,�9���8J$�*e�  9%,�0�>_/��īr�
1�ݳtO�3t6獳�����޼��M�OB/�|<mg����o~�z�����~����(�MK���ɤ��Ɋ�+Љ� �&�_?~���ǧ/O.�r6�L}�G�&��~���� �q�~o������o�����'g���~���w]�d�{�;�핷Sި�9��v�a��2=���E��s�m�~@W����öhe\�
+��/�ind^̖eEיqªH���XCj�ޚA�C��,��3
������Ǖn�]!T�!с���09
��o��-�kS�>�����f���F�G��N�B�F�$`&	O��d4,m۴>�͙���"&���+ʓ����y�#���x�*
G��E��Ҽ^�تSp؞x�	�t��mo��L[��3%��H�
�?_�CW�S"S+T>UZׅ.�5ug:�#M������R|L[T��=1�L"�
�Q�Z��
����o,�[
u�QFh��uE#��:��론��Uf����'}���<���J�i�Е7t�
�j,�����H��[?ڟu�ry|�8���(��Pړ��p{���)
�T�@)G��.��x ���q2�`�~nb�p�'k�V]����z|���v�P��m
���l.��<����nC�d�+�+
+�O�x��X�DF(ݻ-%��en�O�Qk��Mm�LS5�BL�M2Gq�QwB*+�I-gt�s��ay�1|�*�ɮ�����(M�p% ��6�O�&ߏ+D��
d�w'r�I7�vCJz�O퇱��P���Г��z��
&L*����P�Х3j�-����Wձ�w��GE{�����5=��V�K
ok�]6���d��s�u�"�jq��%�ŏ�ED3wȤu.��V�@im�@��!
���
+i�R3� v�E'
�G!aB�H
b���G[H������i�Ķ6�JP�K	[
q�
!�Ҩ���tB6�$X;0Ƨ�o2�L�Ys�-�IN�:t��c��ľ��99`s��Ə���\<����&B6M�"��%{s���;�Y
h�9�� �0C�<2��Th��ܭ�yL;;�ڿ�WM�kɚF�fR qL@�a���T�N���I�b��И^�yS診Q���r�
��`�)��pغf3��	`!���ߏI�.�T�Ki�
���
�.�*2a/R���6LHEsC^H�V,$%�-S��&�C��N��`F2�֚�������)z2	U�P=��b�ԏ֌"�E�M�(A����&TUz�5Vm4bg%�{
p���$} ��."�Ls���e�HS[����Ԓ�J(�W��:p��3x$Z,��SHC� D T��j޷F�$�~�v�I�0C�����}���"M��*�L�
�|S�
M���9cC�x-�ai�:
�����g^"ϦN�Ph�� ��4� [...]
[��)uY*>V\�����EIp
Z�|����7�w�o�TWT�4A't�
W��щE���T�ey��3ԥx_oh ��
��m>��s�=Om9Z��4S~�,�qF�,G)r��
'�E�X�M[�R9N����P|>�Oa��њ��|�lIo|���Vn�Ei�8�=��ԏ��`~S]Q��n\y��D�̋�uA��zR�U�T'YK0�c�9���іI��Ys����4��g��8Sb�j>�'g�
�>�=�y{�
7�����
���j��i����C������c�H���۶(���~��rky��[��eE�����	�Sj8�$(pQ�e��/�^���
��7��4��v?���m�	Z���4
+��t{�"s��B�B�Xr!�Ɨ`����[��!
+I������h�^��\ih������ن���NwsfiM
�Vt�i��Rc�k%�;�w�u�����k����N:]g���Ӻh��T�$�~���!��P>ҕ�r
+���+̢��T캶@�e��^�
+� �fT�,�'��	�o�=��	9r�谦tŗ��� ���А|�y�f�(>�߲$�L۷D��	`Q�n��]qzl�y$�4%1ķh�n������<ֆq`dJʲ�z��k���Rr�X� Ap�-�']���D8�) ��)��dBɘ"�ݬ���0 x�6_K'z�h����R�T;Zb�eɥ\4�W�
�~LJe��d�jڙ[��K�,����8��ΠYk[�Z�(	�{C��2����{�zB_uD$ *�~f��5[�lɉ��$���鴋�Յ�Uq��:�#���œ`�p������nCc΢|8��s8�T���/��,
�
���A{�����e9�%*�MS�t�_�_2s�x4R�/6��
�e��7�"�
)Y�;�f1���Tb����
�TC�bА��%#��m1�
:��`<BS�H��
9m���.D���@��K�hYZ+���%B�kz��GT���"t��,-��� �1ŗ˜��y���Π;�D��doW�zr�X��u�Gpm�஽&��B,�7{kq�i$W-|H��=a���5���fqڄO��ў�vѽ\e��+{�P��r
t[H�����$�m������Y��rIb�U���,;��r����ܶ����\^�.���p
|�W�$��W��Yb�z��5�R7�9�����0�%R
;WX�2L0N2���˻�@[y��� V���Q֌|��Qt!����[b��UB[%!��zE-4ty0S�j,����D��6��
z^x�AB�j�u�	�Iy;��
��W�rb�ӊ
q�Ӑ���\��3k��&��V�\)/P��/�
+�Z�y+%>�e��k$_E�-kv��nYS�ߦ$(ߍ�^� �
�{��V)��w7�I�� U����i�:�����y.
4��f��N�Βq
�ʳ `F�F��ף�r+�
+��wt�6r�j#��6b*�������m uJ$����՗"�j��7z~7
5A�
�}����U_ �;֌Y���O�����Ɔ�����Y�|���A!��]��Y=Z�����Y�
�tJX��zc��ع��i�s�w�����G��{�0d�(�ȏ��BA�?�~r����Q�迗RhxzV�;
+@'�����Ҷ�?_eՃ�]1,��;tM@�
+�|(,����m�@���f[vco�B(yX���޼9g���
��1HL��h
{��A��8�Xq8�ۿhYy
w�������q#�(�mFځ
+x��7ip���
?=R�
+endstream
+endobj
+316 0 obj <<
+/Type /Page
+/Contents 317 0 R
+/Resources 315 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 314 0 R ]
+>> endobj
+314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+318 0 obj <<
+/D [316 0 R /XYZ 89 770.89 null]
+>> endobj
+319 0 obj <<
+/D [316 0 R /XYZ 90 392.327 null]
+>> endobj
+320 0 obj <<
+/D [316 0 R /XYZ 90 264.394 null]
+>> endobj
+321 0 obj <<
+/D [316 0 R /XYZ 90 160.456 null]
+>> endobj
+315 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+325 0 obj <<
+/Length 2819      
+/Filter /FlateDecode
+>>
+stream
+xڝ]��F�}~�o���p���'Fq��Qx's�< ��	��d��o}������SW�WWWUWS��{�i���������z#udv/��FZ��Tˆ٦���k�ߢz�=T��
B�
/�7�B��y��w:������
{���ߴ��?�4�

{Ĵ�

Ƽ��t�uM��M�uU�y�i����)a�m>����b��2��R
�M�de��`5��2�ىܲ*߫xϓM��L/ʆQ�!M��'cc����Ӫ��}ܯӊ���
+O� i�Vq���q�g	�Q�=��F��{�eIZ��=�Y��Y
�ǟ
$���S��M¥Y�H���bs�U�]���Z$�V ğ ]���֟��j6��;pD�`��.`ɕ�j�ANj��&�<
��O�%q��
mD��.Kv��
�#Ypg㢹�6�� �s`"A q�ED$���V�)��:�`|L�� ���-K��j�n�&ݧ��}0�I�
��H�+<���u��
+�CZ��4��{lve��7�e9c hJ
%an��+w�eu�˛�����%?>��:2z�� �g��df6
Sn��0�(L0/E���E�mZ�/��jZ�1r��y>.��)1݁���U Z�}K��o��t��<*�����Y���Iy��Ye�;q���7�ٌky����
���S��]bT�A�s����\�sg
+䝦V[
����N������
���:xh(��NPQ
g{�lȑ��o�*.�Ͼm)��T�r
�
�x���
<(�C�C
ue�����<z��t0$�
O��rϳhqE�~ƻIX��ŏ"o�<���].g���V����1me��G�����y�-Q��(��ޜ�
�ƫ�H������~�ϟx�F���b��O������*�;�|AC��C�V�n�^�x��W���,���5
���+"~�ï~�XE�x�>�8�ѝ���֏�|�q0-���8�^^�+,�"�.y�{��?�Vp��W� 3��*��>�D��(��	){a?�6��/^0~����|�*��L���
��	�
�<'��W37��*X.BOe&��9��>e��(����G�`M��O+��251
���`̋;
��B�p���
����b�޲.���p"�2:�X�/���7�Ƒ�ջg>P�7
W/ޕ��"�E�G�ٌIso
Nv��yz�W̹��,�0��q�4e1��͖�6��YC��ei [...]
�����0�MA�K\��%�7`��x,dS� �W�D����[�m��_
+���\��F�Ι��;������q/������	J͢��_�7!\��q��
p���v�qAI����̗r
0�'$rqh��}q��PdOeG��.lO��
��X%\zc�4
Pl�z�xN��;
!�x�[�,��>��BT�����ұ»�p������Uˑ, ��
 �
�_5K��
%��"��-�zKzD�lA9�H�����a�4�l(\q����Exs�3Z���x���T
Қ�K �+�U�9��Q4ם�L���[��nJ�09V0�<L]��ʌ�)�\O8�%b1�
��%�H)���
+i�k�,����[y��Xm��)��j�
+m]N$c�(��sH�tbl<�:w�����D7�
��
+�6���V&[��J��:�H��
�.=T�Z�I#]�t�Ǹ���[�w��݈{SB'Q'��+Ja���?^	C+�H޹�"��R�)t��e�'�"�#�2ACI
���
+Y�L�9�UR$P{"�T���٪$IYm�A�o\j��e���m���L�5h팆��T�FS�d������@�'�b!2�1Z�!ʥ�ו}Y
���3���:�]��ЙԢ��q]����ٯrx��g
�p�X�W ����y2�vclY!\eQp�1�#kvL�D@�^*�C�X�i]3%�ˌAcĨ�����Y;�5�;q��"K/���w���{s�N���l��u;/��iz�ȟ>J'�A5�1�
7d�mip�M|��
+�w�yKF{��f�� ��Ni��_(��
��O�F��
��
+f��[�+�
�l�vt.+z�Bw��Df���<��}��L+Ҷ�6��K��Er��wf[S�fY#'��9=)
$��}�Ҕ�*��!b����u.�#����Z���Il9a׬٘���>"��.K/�f(�2I�vl���勉}����!���!�}Żz��,
a��6�`(�M���l�9=zn�G��x�8=�4�>b��L��^܂=P64�`�=(�M��@d'����hPij�N*Л�B`�&��)~�X��u��tD�뚨f/
+�FD��m�6 at KO��p,����^s�m
҉#�gS�;�I����Fϗ"��n����X˝hȝht�b�N����~��:5�`��fջ�
�.ƨ��M���i\7W��S���d��B��y$5�Pf�顬M�]Z�W�v{����$.���/�N�%hd�P��� �V���!KuL���C`k�؉���{�g��	 )����E�� 
�U&�LY
+�nk�Ɉ?Bh
_�N��K5��O
�)�s\
�M�Ğb�߶,}�ߡ�ڣa���3��������$y?�:����m��a����:�G�F�/���4݁-"�
���o�&%(;�{ }g��+[
9�(س>2U���E������LnT
fPώq[���xKG�ͱU�V�_
0��c,�����_W5
� �����������(�
���j��6X��9��˗��N�w>R��[�Ž�j��ʞ�=���� ���#���.:.�
+endstream
+endobj
+324 0 obj <<
+/Type /Page
+/Contents 325 0 R
+/Resources 323 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 322 0 R ]
+>> endobj
+322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+326 0 obj <<
+/D [324 0 R /XYZ 89 770.89 null]
+>> endobj
+327 0 obj <<
+/D [324 0 R /XYZ 90 587.178 null]
+>> endobj
+328 0 obj <<
+/D [324 0 R /XYZ 90 447.102 null]
+>> endobj
+329 0 obj <<
+/D [324 0 R /XYZ 90 295.071 null]
+>> endobj
+330 0 obj <<
+/D [324 0 R /XYZ 90 182.701 null]
+>> endobj
+323 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F82 260 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+338 0 obj <<
+/Length 2679      
+/Filter /FlateDecode
+>>
+stream
+xڥYmo�6��_!엵�X������M��e�\���8Z�m!��Jr\����
eɧls8���
��ڱV�c}9���]\ǎ��i�E�li���
F�[X�G�x�����35���������*�mdو&W%�n�L�5�G��\w���׳��ٟg.��X.��qbe���8�ȿZ����L+�|����?�
��K�{V�G�ﺮ
����u��u^�'�㌶�ZUbC
C\Vxl�j��E%?Q��v��DI�J.�����)yC_Q..TE�Z��
������)Ib�w�B2s��YmX"�<���
Y�J�y�͋<�v�u-�9.2�k���|P�v��VO��+W_�9dsX�WY����!>
��AMb�hZ���j��˜k�|�F!�lmg���x�
;�l�x����<9�Zmͅ����Z�y�W3g�]-���|���	���f����:ӻoL�>>N�f�~2K7kef�Wy*V����esh�c`��W���
��7�7�o��Е����s�Ȳ��Mg7��o�L~x~|�����C��(�����-/�^e
r!���.��q��W����U��d�j'�����{���E����>��'iy�{��aϩ��3S$}�L�g�w��n����~o�ʝ���EA�=��<Z��Q7�O<
+�/ %�$���Ew�XP#/�f6��o�k5��ў:
O�䈬����؀�����YS�U�7)y��آ�csWn�J���c�PMn��a�ul7�G
%k
����xc��K�D�<'�
^�.���
}��;n
��!UL����NEޝO�������f݈���
4[�'r�_�n8:Z�
�ć�Yj��/��n>�";IӾK���e� �7�u4�gp�*_�9�`���C����&q�(m'
��[s4^��}W;�d����� ��>�F���F֧�4�|��}�]�r8����mH�@�~x0���p�{^��=��G���-08Amb����۫@�:"���4�)9�u��Ε}
VŻ#�
�
�f=G���W@��og���51����%/���M�F�>Gc6[0�m��Fߖ<
���:��1b#�#v׵�r��(���
W�8Ѯ��KB�'^���8AF�ٞ
z�l"&�9 �,KYp�K����= ��ϗ�b��`��Ed��k�tV��4��Eʡ����b�A���/���p�
�ze.<^�eh�dC
�F�$��2
tԆ1�����]��5���ȊP��_gk� MM|'�e�%�(
�N:Ȟ���ڨ��ZB
+lj��
+�� �
�8����lLI��$$
PK@u-*-
XPรk���+��s�R�L̗ �LN�t�*����_
�I�.�
+ �겯吥�5ݗ��sj�a�p}

�o;�oB��a�Ipq���a]^����cp!=��Q�OY�.C��`�n$vx����E,���T�U\�3��?4�Kh_T-����@3��'���d���Q�|n���T�$
+�ֻyN����E>�آ�<�H��⁠_�:������"���6�Հ�"/_H$_�|0���}2t,�lP��S��%�(^�C����,9O3߽��p���$
�J&k�=�RT��s�
+q �<Qk�m��������
+��˺�bA#j�
+��a7M��_��a�s��n�x`��z�
�~�o�~d�a��ڮ�B�j�>\�ׇ	X��Xm
{�l���
+;
����96�i`��H<�
l?�<�����	����q
��B�c
+"�
=`��QH���-ɰn������� �Y~]����
G�;�1���fn*�C�
H�Ù'�(WwaQ�
���zy����RrSf��Ѭ~
e�Ka�ۓ��󥁴ׅR�/UݴK��0���3�Ȕ���W��:�R��+������c
�"�S`
+���-"��h�=�fϢ[�/�\�`�H��*7�yc1K�X��+
+��
F��Iu0���
+����j����j �:)�
 �� E����2HM0�N	8�
e��SXbOb�e4�DS���+��$
�KOm��rW�zU�1\Ig� �G&jeR��%�r?ڜ�X��1�%> 4	9G��Y��'1
���ws�c�ʖ�[S2�헳ݵy/m�odꃶ${�h��
+���"'
���y,.���
 eZ$��7M��e��`YB�����
rRh�$��U^��:����]
�U���D���  �ӱN>=)&��]=5�ځ�F�Ѫ�
Z�
���7
qӼ��p~N�ryF҈�8l�%�/l��\��p�-��fR�*
�c&/
ݍX��Ð��z�هJp/�
��́�/"O�����]僱�B.�x��ǃfk��H�M��/�l��O�t��z��{�uF=��fW����ea�a at -X7��
�:/R��ب�+
�
J(*o� ��׽y����$���
ǧ{ߋ���)��A�=�*%Jq��-�$�f���DB��L�ڌ+��=�
)������;���~d�����]���|������W-�E;��ћnUN�g��� �_u��6b
+��]8� ����w��Qd7�l�fO��|���_�p��������v"��mUϥB�]�6��}��kG 
+Yc��?;:n�
8�����Ȅ���o���"�?���]��
+endstream
+endobj
+337 0 obj <<
+/Type /Page
+/Contents 338 0 R
+/Resources 336 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 332 0 R 333 0 R 334 0 R 335 0 R ]
+>> endobj
+332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 584.602 472.963 593.709]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 383.427 321.452 393.708]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 329.315 508.501 340.219]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+339 0 obj <<
+/D [337 0 R /XYZ 89 770.89 null]
+>> endobj
+10 0 obj <<
+/D [337 0 R /XYZ 90 315.138 null]
+>> endobj
+340 0 obj <<
+/D [337 0 R /XYZ 90 283.117 null]
+>> endobj
+199 0 obj <<
+/D [337 0 R /XYZ 90 283.117 null]
+>> endobj
+336 0 obj <<
+/Font << /F70 192 0 R /F72 194 0 R /F60 172 0 R /F92 331 0 R /F82 260 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+344 0 obj <<
+/Length 3699      
+/Filter /FlateDecode
+>>
+stream
+xڍɖ���_��K���5�):�Y�vfƝ�Jb��"�3܆�۝�Om !5��E
+�P�
rW+w��՛�ի��J�i�ǫ�q���$L�Q
�|�����_�߯�x���&�����?��q������C�����6٭����_�U��W�6Hw�GB�V���\�_��ʵ�_n���k�k�s
��	v�sR�u~�x���/
j�so8=�>��{A*j�6]�;�l�;N8��`T�
U�_@���	}s

7��N_onB/u:S�eL⪻���Q�'���q
?6���ɛl�t=l<G
ESKā�.�ڮy�T���Ԍe��4�
����� 
3���yQ?0h8ɔ^UBWʛ�7jX:M�#���7~��At��� {3
�{B�鞰C@���eQ^.Mj^ZB��W�"�d�f�A���)�N
+��I���} Z<J�4ݗ�#w����`y�{�\Ps�o?
����;��<D���IפSb!T��P���o]�JF��
�ءi� c8��* �4 �`�f@�p�>�(=�͊V��3`�����1w֎]ۜ] ~�~��
��N����u�����
��$����Լ���x����ۏ�������������Ϸ��>�3���AbY�`稶-
-#d�;	b�|� ]~��`x�� J��<#��b����p��
pKf0.�?�Am�2�ih�*ۂ@fM�yꊇ���95%Y<��^=��#�\E p0�Z�����(��k!�=']骞a(�RD�+�w?f'��I��|�U�ٰ���o�d�����)SC�U��t���y`3hq��ن�|���cGV�vbZ L�|C�2���
+Ep������%�yȈ.j`D�� ���~'�~}-���f�G�t
9#�A1�x��o/��eO�
+P�V�_�I����JW-xd�p	v.����=�.w���ڈ{�À�pJ��
IbL�
��f\#���i��.G��2��f^C���t�#����on�TM^
�x��|υ�b�q�Z6c
*!��cѡN-
��(�~2�Fp�y�������v���K��f��'8�/��#��'p�s at 0`��X�#M
�H�*�HNc�}���!1Kl/`t��7Yu�ݶ�,�4���GuAs�p|"�u�����wpC�6dʨ
����A
���!�#<�Z
7��~Ճ>�y8�<�bg}�Q�U��}��m�J�W񧆰)Hۂ�-~�^�z8�
;`�� ���-��Zh�1h�lg��V�9��&�.Y9�,��/Р0sɹ��b~ƪ�v�V@�	\=-�&g����=�>q

�8�.̲D��
��D1

�OY" (aDX-��7r��&t$�ɘ�=�y�rj�
�x���,�E��<�%�=�ۄpk Ɔ�آ����0��0�)ݔ��?��5�}
��{�P�9��������(���E
 1s):=i�)2\9�3�}���d�&	��u�0}X�f���x^dK�_��=�X�p�4�X�AR<b�A$t�Hdh�"�@>�\����q��~���:�7Boƛ�hZ����_8S9�	�q �wY1�SQ6}�l�Ar ��L`۔iL`����%$���1;��a}[oB��>�,I���5w)�
+ ��t7�
3�$"�
�I��͡J�_P��
�J	��y�36NIw��&�
^�=��N�BQ
?2�M4�~h
*@!H�
��MS,��^!� ZQ\�=��<Ϡ��pD�푡J��\�pL�q��(4��I��
u�l
�r���HBH��k_�B��K���p��J�&�����F� ��
����R
l9���	�Y��_�5�Z�v�6�N!��x���g���`�s��^����0�H/-�2�\�'=�$�R�Q7��݄{��v
�oW��@�	0V)h�ʉ9�せ��{�t$���|!c�~5\�?��1�+ ?P���vf% �}��/S�� yA.�����0���`r��h�9L��������Ks�7e����v&
�����{��0K1

E^�������y=�V��.���;@���
+�|M�r��aH���
�0��!����kS��ő�\� �e:��.J
�� d�7�V�:��TG���\
i����p�eDŽ�XUJ�a��
�:�8}�vϏ1�������%o1(����b�A��q�3e���32�B6���fR\X�1������a��L=���CN�	#̔�g����$f�c�
&゚X��C:/�}	` ��'o
�E����R2��rA?2����	O���$ �!.Uj�gְ�\��$a챊�B��27fy��з	2
m�5k�D���`����(o��v4ƥaL���)�!�y�?S�$��0X�H�z���6M���
=<1�T�yٞ���e���wl2���� ����ˬ
�t;F��
eR=�\-�m�q��k �0�	���>}�\h����꾌-Eq������
�ȌA<��<���AS�-��f
8P󥈆e<Q��I�>� ��@	��A���/
�"��R�֏=m�C,�ؕx#v/���&�@��m ���*<���xz��M=?�k? ţ
�@B�褪f4�#S�1�cJ��-�Wc��w�'b�A�S�����V�׋u���������ƶ������]�y�0
�B�`uV�$�=%�������-7��6�R�2K���n���������`�!�
@��x���f�
B-v����� :?�Ⱦ��?��'|f.�n���H*� B��T!��
W���x	���w�O�5?^s�b���+���J��s��}`��|�`O �Ɗ^& v�Y����{G��S�����ў�_��؋�1�QN��G�s��[)]����)��<��ݷ[�x2t�
Z
���6�]�P��x��җh������ƀc
ijr�iĶ'
/�M�)��

g���e�™|���x*�A'�L����!Sv���7E�Ӕ��Q
+�R���%������"���ߔ�9�d\�0�%�$4�d��M��$ `������"ԲX��p��+GX�;*�
 �SA��{V�/
+cl8����;�1 �k�R`}������Gc��5���*`�L����u�uy�JW[������E5��g�-x�|;���uX^��o��,'���P� ��$��Po!ؤ�����} |�O���F��
/�Qu^u���7?�F@��ׁ��
���ۯ��9�Y���d�9n"��wz�
��s:��r1 $�&.�%
ѹp �-
�����
¬��5�$qg�a

 �V�!qPQ��d�e�R�.
�����M	�Ӡr��"��5� N�?�04�)���8��״-
+������5Lܣ�
~䱇H���X��: h#hs2g��g�?Ms�Д2�X�Z����B�#
��6�bx_�j�o<i6:^�Ly�qi��TA�e��^">��Ag~Y#�w\����*`��s�ȇ��v����&~�g�`fM
�m��?Ӿ^�[�K��6
�9xu[�w
��� ������Z�M�`�:��`���YԲ� �ww��V��$|��-�_�2��ם�3��q��U�����������Bka)���t���? }{�;

����4
�7�^
�H�
�YS���š�d�ƞ�;���1�΢f�H1��%��q
�
+endstream
+endobj
+343 0 obj <<
+/Type /Page
+/Contents 344 0 R
+/Resources 342 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 341 0 R ]
+>> endobj
+341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+345 0 obj <<
+/D [343 0 R /XYZ 89 770.89 null]
+>> endobj
+342 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+349 0 obj <<
+/Length 3610      
+/Filter /FlateDecode
+>>
+stream
+xڝْ�6�}�B5/+UY2oJ~��8�lb;�Iv�I
 �����g����Ct��*U	h4�n�
z���[|s�������[�6�$H����[��n'���.��:���7o�ƛz�o�Zs�ɺ��Z��b��E���/��~���񻻯�>������y�x�n����߽E���&�mO�t^DA��⧻��q��q}��|Z�n��梳�7�
2��L�J��t����px�9C��4� ^>��x�
`�t�tىg����_f+�+u~�ȁ�^��_�Ȉ!�.○rS78���8擛z�cX�ۢiM}������j����q����a���nt�y��K�Sړ4
W��-�=�́��l)X~`�餥u5
or6yq�NV�wͽ�VUc1� �v��Z�U��(
�������c���ׇ�
r��:/�#w[#��BV�5�rU�Z�w�I���Ē88}��WWUVv�f�?�Ϫ�U�����JU�u�0������2t��c
!�2-�?�N	4�V�������0n1%���,��R�=�L�2�e˴'lW�H0�(r�)9��j��@Z�\�t���˸�IF�W��� S��!�d�
+ Bլ��W���Hr⥩�+�IUk#��+��y�c���$O+ߒ�z�Z�>y�3e9���Y������;��q
�
s
G\C J�
A'�Y�D�b�L!�*i���W"���F� ��}� "_
i�ST�:�I&v��E�g
P\�w�|��W/~��_�{����7<=��.�~X�0���EҦp��]�B�
&:
��օܷ�A6+080+ F���
�;�-��`�
�Q���n%+TY
+����T�A2�3wv�
n�`��&V9a-�+���5
�e���uq<���6�d�lZWs�t�����F]�n	��N���00����s�
�Ŭ�ب5Мwҋ}�8"�%7�����.	��
+��K�\�P|��ꚗ�=��*�
�	 =�
+��(�#��l���3��"P1k���#p��0�@L�.D�2�#���٩
P
+�VMW7�G�$�a�2����@O[�R֡�h��x'�.]�|�y,=֡_cH��[�|�>��8�Wq�`q�k�"N��o9,qV��LY1��K��՗���0`�5� !وpgtz�IUG9����,�?
�����
�����(P]��x�؝��΁ɳl�6EƱk�n���z0���ƖT�ظ��f�p
SDS�G����6-���N���U���
��`t�@3�6"R{�Rt��&^�zs�K�#SJ�~)퐽�?u�8�h��[����o
?��� �B�<h�ٚ�t�""��D��z$a8	$��GP��D���A4��3��
���nvY�e���`�d�N1n�x�b�a��=�M7�nm�և�[AT��`�
�A<	���l���������J������Gc��k�i�9g}�ӯ�y
D��c<&�Z�LW�5E�2+��Ia*SX%už
����8x�)S�`tD�
v*oj0��?Cf�B�� 8�d9�h��3laoF�W* [...]
+�0S�*���
�J���l����m*>����v��v��@Dž�
+���@��\��H(Nh�?�j4*c������,�qP��˨1ZWn
�䰇c�<<��u4pM���o�)�c�BlI�F����BT�{N���{���<� 2D r}�/4�a �� �	6�@�����	$`†�_�=�	��9.k
78y,;�L�5v����������E��d�2���k'G�u�FV2��m@癓�{��Ӛ�Kֆ
�G#6��T
+N�~v6�UY�Qd
{s�x
�`8^T�����2g[,R�T&���Q�:��Fݡ7�T$�v��, ���O���>X���2"22 b�r�h
; �c�0�Jlf/H3��<�l/�Z��N`�֘��eh
��a����Gl��A"OK�-�&[
��U� f�M�}΋`��E��١?\u>8�U������x3�J������sW�\�JgnI��|K�{ԕ��dt�Һk�� �6���C'�\�ixJj�s�Q�F�s��5!T�5���*Wu��1%�U��d�l����/5�9̀�[e��<��x��6�Hw
��cLpI:�� ��6
z�e�c��D��DZ���e+
�����hN�9���߀�֘���rQo��[}�t+��6Nqk��FV�
)3J�\]�h��B
���s+^#]BP�El'��-W�pc���%`�W��
��C
���B�x+�t�D'K����0›���[�M΅N5��9j[�N��
���n#�J3�
+�&�ԁ�ц54�M okg�
@�@��9&o�!`�O�5kK��k-��e�"�կZqL�9�V�K��U%�Bs�1}��D{����C.�?�@Cs����
�H�J1� $wߺr?$�2��Y��:JL--C�A��'M�cuക6��}\\<����+7_��<3�X�5*���(��m����I�C�H,��K�G�6�u��_��1�/TG"������Û��^>>�{��TCn+GQ�.��클G�R�V�i��~09=q} ���{��l�9��l�Q�5Q2.B
����@��)�9�pS�
+��j{h����{DK���h;.���
KO�>AgE��T��5����8"1e
++��_�OR
+x˒U&�<�Fm�*'�GGC��ozd�a��@n�GEP�?�{�C;C���{�(����_zhD�:Mj����i4���:�Y�~�(�Ce#r��g_��潡m�q nLj�NsG�AH�
���~A��Mn�J*_
��k���M��`��_nf��6i�P~�w�D�Vl����
=��#O�Qz�a�{Kµφ��2I�C��B
J�>K��7��B��@
q$���#a������l((k�v$.�`��w� �OII�
+N`ad`��A��9 p�JÙ��u-K?I��n�m ��q�����M[M�|g�о�ϧ�����
+2
vH*B��@a���0���\��I(��g�1�p`�@�n�*8��D���`ifP��
c���3n<��5��]t}.��~f��Ӛ�c��6���C�^}A���Z��
�y1���_�5�Pе
+E�2g
�FM8�
%3�I��d6�`9Ƃi�Y��SM?���=�)
)��T\d���
s+M�
��v�[������&��
��$t����C�J�u��a<W{F��N����Z�~,�,q<Ə����{�~啠���W^��d�K�D��]Q���1H�����
�݃����!�C)Ɂ�
��#X��=���P�+6��Q�~���I[:���
��;�v08�����9�=����������긁<}�#z�t�%��{���<+���Y�ϝ��߱�o�$�
���6����cئA;Q ���ⵁ��?��<~�\
+endstream
+endobj
+348 0 obj <<
+/Type /Page
+/Contents 349 0 R
+/Resources 347 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 346 0 R ]
+>> endobj
+346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+350 0 obj <<
+/D [348 0 R /XYZ 89 770.89 null]
+>> endobj
+347 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+355 0 obj <<
+/Length 3077      
+/Filter /FlateDecode
+>>
+stream
+xڭ˒۸�>_��%T��&�wr��ػ����IR��=P"4bL�2I�Q�>�	R��Z�D��4�~���q�~��������[en�x��[e�*	37��W�~u�p����U����0���߿{x���
q7/
n>����V>���$]m7���
+ �^yn����DtX�*�o�����g�۬�~�f^�J|��}^��ٞ��׷�
+�߼�˫�;͎�e�q�ؖ��<��O��i���
�S����2j��*r>떻�>��b�BԿ�~�hXڧ��TW��
�F�{��t�i���6C]v$^ou
�̢�w��O��ոQ�Dl���M�0΀ĔL��Rфjv�<Ĝ
M8��r�$4$�}��*��/n�� �U�=�zFQ�3x7C
O����(�E�ۦ(Qʺ���׾�;��ʦ~� <�+sF�3���8
DZ�H�n�<gQbpZId�>���-+��Z9at�
׾���qߋ������4��/l*
�oP�W6䇾!���#�|�_y�ɏǶ�
Ś��v �����iy h}ˠ���6��<;���W�������A, 4=k�҂�\Fws�lb���%hޕ��\%��U��N�F�Lc�<
t�"����$u�]O�'�l	`�} N�f������N�<�cIV��g3�U�2��C���a
H�̭�?�6'ZE�S�����!����٣`�<V?ce&\�q�
o��@R�l,�ˁ[ݾ!,����.NB�����������E\/����T1é���g�x��uIR�� ܝ�\m��
�$C ��ס^v�����{�5���������7���2��:�
rR�1+�FU-z»��IY_�PB�+fl��`����|Ņ%���K������+�Q�]�E���Rv"{a~}��7ؖWK�gn,�T�,qlt|��I�u���`ԓ�Au�����D-�4'.��<��
i�!�%(:BDm����2AH�
F;=+mh�>�	�4J:oQ��[s��tV�(frErp���`E��xD�w��<}�q6+���$���]�Ơ<�v��-
v�=���b�	��x���
0��
:a&.
������Ԛ�ǃ�0r�9
�e��Èy!e�*b�nI��%1
c\�h�� :0��Eʈ
;���S�[{-H7�!3�."��ݶ-7��[67�jVt�24f���
[��9rظ����{}5��y���^hԺ��F�i?" �s���7�������<�Z��
+f~7���'�{v2�Hȇ
����-�F at NFa���o�;�:�Fo��69)^�
,��=���e��a�?�����ظ���
S3)!}3�؝�@e}ei�,�1Q�
�ܙ���—8���,�������~�k�I�
�3#78VU2a�_a5�X�I�Y��O�|)U
'N���|�tz �e��/#A
E
�)���(m�I��a�6&���=���ȴ'�M�
�hXM��5�-����t��P¬V��٘"�B���}-���U���|�����
m���o��˕�)�;/�K�:��3��z���c͡8�
�v�=aJ3ד;H��fa���l
@��Hn{����x�
7O�n�
�WJ�p�����Ƹ7�r�>A�6��
f���b������voC�I�M݃�Bkw�I*8Ղ���g�(\1
+�R�F����+Л+
+�z��8eyb��4�� ά����ۣl��vD�X�tL^�ҔLGب'�ل5�
	�L��������t�
ٜ�p�1����Ulx0�h���$!uWcR���bS:{}���x�o�6t՘���JS
(�lېY�Ʋ
�{�. ������]�far<�`Iz#������X�R��C�[��j��%����ݵ�t,��5�Bq���%À� Tk/�k��=��K���۷2B����o�1�H+(��,X�\��)k��&�]*U��ޛ��j����
+���B��/%��@��n[���CLA��q l*�&�O��~&v	v��g�,�@
+Qێ{C���]
n����T,���`ߴ�͏G]\1��1&�֧S^A��㾈R(@�M]��y��
9+;��4��9�(mE 0��@+Cr,�`E�L��
�H�(�w���c(��Ԇ��
�i�0�+ky� /�
��f62��XL$�
����KE���TK1��jCôEôX�}dR
A�8
j��f at sky��@ ].奓R^&��5Ϥ
�rI�m)_*�AZ��at#�>�:���dx�5'=�C�D�E���Q!�f������6�3�:51mjn��
.� ���ea��q/1:�q��g{
+
	Ƹ��Y�	��µ���p^l���_s�T5@ ��Rw`�bIC��������lC��r�h�e��0��R	�M��4ƈ�3ϞȦ��p~�]LyZ��,���<��²����u�����23\t*�V5�&�E���8ڄB�P�A�V|M�B%����H��̻��.F2Ň�#����^|'�k��t���ݗd�gUw��Uw<��4DZKR� �%p��lP�m)c@����%O꒧P�1%
h躰edaغa��z��?l@E�'�\!�O���R��uu��j}!-�`a�ˇ�E�"�"SF�Ǝ���[�Cj%�Dc꜖i7����߷��q/��<�
�+��?F�lf�8U!V����b0ȧpE��	Ј�r�Q�:/���B�g;{FR��
x�%B��� .s�Y�lR�du���m~7�E]���D�5d�)IƇR�-I���
��4ll{�)�R��P{�W;�Q
)
ǡ
� �Ӗ$1ek�=�S��	t;H#�S��;��f&��
+�~:�]���!��;Mރ'��
u�Y�K�th�嘮�3����������?�&n�яE�n<��D�nҌ��W�`u��d�t�0��8���(v�$H)���S�Y���l�Ç7�x.o��{��_�W5D�;�e�S��!�3�ۼ>�������zx�%d��ZD��
��
�H��;U�ʆ_S�}��g��c��Gw
�>ͯ&�N׋�Dug
+��.�_���t�q �
+endstream
+endobj
+354 0 obj <<
+/Type /Page
+/Contents 355 0 R
+/Resources 353 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 352 0 R ]
+>> endobj
+352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+356 0 obj <<
+/D [354 0 R /XYZ 89 770.89 null]
+>> endobj
+353 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+360 0 obj <<
+/Length 3117      
+/Filter /FlateDecode
+>>
+stream
+xڥ�r�8��P�2T�X���{��N�3�����ښ�%R6|(9^��v� H��T�E�F��/4䮎+w����ū����6Y�ǫ�a���$�6Q
�b������u��}���n�NYR��u��y/چ@�žl$��n9^��s�������k�+�ֈ6I������
+ ��r7A��
R�
+� �������n<g��6�G�nOja�ɇ��v��+��C���MA��aW	y*���
��d���W��mڞ�vO�OBR�ڽ�
�ڏ���^�0�s��BJNl	s���T��W��R��`�W��,�h���#Q�m�E�D]�_E
���e�O�D}�x^�m'K�'�
x^��3և���_�����<��p3ds�H�t������6��s�7�~����{�
+t��󇛻�Q��(��
oLtc�Α/7q�m�MIP:8hX8��?�����H��ʪ̥�

M���p��G�\&(z}8_F.J�V�P��~��rO���,ߵ(v�6R'���:�BH�
$���s�h�() ��ZO(=l�f_
EID43j� ��3`��5c�z۬C� =�;q���
O!��6+�)OӶ D�8k�a
sb�U?��� e�
��z5�x)X�y�r��h�|�(�ni��l�kT��
[;E��
���?���1:.l��R�ޕ`�Ƒ 6n���a@�u
+]�`��r_�
��-�"w�D�
�g�zM��m�\F>�|�96T�8�����@˲�T{c VU/��m@,yE݅#B�9��Q�!�BgWҷ+�U�W� �G�FO��>R4NJ��.������s�*�)U�+׍�{�-i�-�2�N��
���VcZ���:C���B
p��CN;PG¶��:���(�G
+���I^>p�|��
LK�%�
��:�I>E<��E"�v?[�$U
�=s%��9G�O���/Iba�$
?��V�W��{��G�P��a~N�8��mƎ��/M��}lg��VV�W�	q�K�4C��u"�2�>X���s^r�ſُ!X�n��ڬ�t�r�b
&y>;�/��G�|��3W5%k0�=�ǹ�UR-�4�c
�;�����FR;�x�J`D�-�� �M��S��� ��{����c�u Z&� 	`)�Yg9��˜�`�XP�������OA¬#�n�$����
��J›��׺
��J��叄��v18[)��(�E
z��e^Y�_r.ged����R�~
��I�fLA���g���&߿�y����{ J�o���2	9��c9�D�	��۪2����3%-01��:6�<�4:�r���44	�4z:Ǵ�h8����^�G
Ŏ�%���$�P�q�@g�m�&I3̅�h?��� ��
�H���>:��œ.�L��j�WSI�7�h�Z'����Y
��<8�yp&\Ud1D������`���?5&bdB$:jp.��5O�A�
�|)�"����l�|�1*�GЄ�
XN�,
�[��q?����w�����>���]�
3][3%
zR8=�OYۑ�H'8�)	[�S�T����C�� ���OO�C#�
�~C2�0�Ր.
���кū�*�ڪÉ��rZL��F�w����g�J��u�Gu�ȗ:܅�����
�h�:)sg�HQ���i
�����'�_�{����kt�|
����i������������_��!���Vw���te��s�#>hX�zm�5K T�
0�z��\�CcG �%$�y�K�+�Y�!�5�`��Y}�;-�
�m���V_����
M��up��9c��)��q	M��h=��
+�D9T¥J�\E�/���Ҡ��$���#���@�t�	z��Ч��<E��&
f'
+#��K5�(�ᤖ���2
���VQLIBSj2.�ˢ
6?��!�r
��S4�چ�$���EW�X����O�����Q���*���T6f�����<�D>�򤼡���Tޜj��Z�	��V�;�X�@�L�?���_�?V|�7�t]�sųN��.ݘ�.a�ֲ�F�T��KF��Ƴ�ȵ�ž�>�=^g
�xc��:m׉�
<A��� :��"�e2c�:}��e$cȗw����%�t�e�4�]��$
ԍ���‰�
+�e�Rh1R�}C0ucA�)�
:h�� X��mI��H�f������h�|K�#8��eu�a-���I-�}8��1Cd�콟��$�
� �֢����m���mĞ��(��VfrI�|�UK,��B�GT��f�� j��h��B_��x��j��e��
]n��G�͞�<����
���V/��o����w������=�/'��l�A�ty#M�	]�KW5�.����
+���0��@����:b��9*��
zK8�\��JC�Y�
�~�EN��Lҵz��.�6��+~`�����
A'��p�O��G�]*KF�]��t:��S�q�} �0��Y�8,^H�"�ؿ�
,VcU}�Nx�
+���}]�T�ta�����
����ZE{�֌�v����*���ͣz'K�Sɉ���:$?�&��l�F�^E9h�X���]f�Ak�I�%c݋�Q͙�����6�5!V9~|
5��#�X��
�
��k�.�A�h7P��|ڮj���g�/j��]��Q^��9(���Bk���
��Y��
�y�D
c���*ԕl�U U�+�8CF%�ѓs��&b�9�X؏8Wdz���>�35�|��@���o
q�,U.j�g*��')�|=��O����t��]����XS�
]�7������S�w�
 ��$�
���^L
}���M�*���^��~��&�˜�Ԫi��j,��&�T�)�D]%f�Y��Cġ��`�����9�㳇D�2���~
r�S�Fj�d��3>��0��8@�y4ņ��}fJ^�Ql�t6p�������B��.��M�������x�%A��*	�
���L�����o��.��A������Z��J>��u>��D�7f�(�gJ�m\�3���,y���/+�����[,{����˧�?��ի�p�es��)
����$7��\�?���g)�,��n��y��#��ı�%B�z�n\/��n�A=��n�`u��A���/c��
+endstream
+endobj
+359 0 obj <<
+/Type /Page
+/Contents 360 0 R
+/Resources 358 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 357 0 R ]
+>> endobj
+357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+361 0 obj <<
+/D [359 0 R /XYZ 89 770.89 null]
+>> endobj
+358 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+369 0 obj <<
+/Length 2501      
+/Filter /FlateDecode
+>>
+stream
+xڕYY��F~�_�����2
��O����
�������JlI��Px������)��x�r��
t ����f��5{s�����!�f�N0��g�5
����%�φ
����2s��iGl"���O���f������X�����.f�����,�/3�t���L������7�����cSl۴m���ܶ-�l�wNhy|��ceÔ]y�Â�<��y���+!0�v��;U�JV�oNҺ���ܱ��Q,�9*f�\��\�G�m���S����u�~�T]g&����i���Y�c�E�*r�5����|�?�9� е|�-5�w
X��@QdF	�U�*n��-HoJ&�|����.|�����X���#W ��
+$�����4Uq�0��f��7�mS�q���
]��Ѩ*O����q)ۊUz865S�i������wa�-�o����
�
�E߼�S\5����cɃc���jVT��J�"^^��"���
[��-�}U�0Z���`�� i�8z�a��3"sfih�U���ּ�sc�ܺdzV�Ģ�nwG�uNAr��8-�&H �;Ƿ�}K�����q��Æ����

O��21;,������%K���u�^�Z����nޮ��z�|Z/Y|�
�:�vh<T�F��.���A\i
���@��b �	�C}djA	t����ʇ�&��zɮ$ռ��3��o�>����� ��?�N�A�Ls%�RS� �����k'е�0	�F[�
F[X�y��O(�H<�Uڰ�N�Qv �1
:?��\��`6� ?h�^�4%���l*�H/$A�$��<�~
L `��ʅE�Jy	)Y�$�Z�oo�<a��s�G������"3 ���cӜ~��?���hͲ:�\2�o�E$�Qn�Ah�W1t:fw����
�vc�\o*&`:��_ t8��?�=�p��
1s����BR�x�'�m����>Xy�G���3��ڃ|�]��.�ݲ
U�uqãx*�	\v-�b(�ӈ:4��Wx�{���R��]5�IxW}%�VV� �4�7��i#(N�<Q����o��1-���8z��"�L�4H�$m�L"C�Rρ�Q_t~�z.O�5
+bĥz/z�#��D{gj�V�5�f�V�b2�
�dx�w˷�@��:6%
L�*�7������\v	
q4�h�
 svRN::$N�##}%�F�E��e`V��'�FNTA��|�u5�kƨ����{�n��
˒K�MN\1�9r�	-�t�E^,�c���[���
)4@�v"�cG������?j
gXp]�\ز-��2��
+�
� 	�8]���Iiœ
u���	i�-`
τ4��?_�,:��v�����U�b�,x3;����n�`0궀r�J�(�n�
uk������m�Q��%jlL��u\��A ��T�����>l:\��
�B�v�8t�>�@YI��O[��{�
+
vj���dx���Ax�a�j��0
��uL'�(V
�_�p�]�����D�
���|�Q��ȋ�^�[��,p����5�)\���C�����d��C��н��{LG
���
��.8}+l�4�A$
+���`��v|Jq4j�tE����'��LyCA\���8|���
N����W�=�����?��|��B\�*��
+n��Q��a��*���u���ݨ/�^D��_�S��SO�@[MɠW�����4�GNv�g�=5O fx0�)[n�V�o͉��]w�|�
%߸
J�q
gܴ kU�m�aA ɽ � a���8�+���CK
2��
:�i����{DA�NY�S,A��k�b���9�a�23K��:�����?�m���{��]<_HR9�P��Zo$?�.WM���q��\

+�Ȉ�L��4N�	�{'���L��=��r�@�`䏫 �&R
�W��6��l�5J$}�,����.�
R�y
��2���O�\�#��Dx�C&�r�f/�C�*������eh�*���TF}�۴��:m�k�ԽF�=w�u���p�+��H����N����q�4�Q��22&�����B�˵��z���7/ZW)��JxE�2��"𭆚���	'Q�Dx���L�a<���G:$B���S�N��
�j�v�K���~�
+�"�;��UJ&RިBU���.��8E�'l^�R�qZ�uO[l2��g򋽱��h��� �vY��Ȃ3��L�Lz�8[�/C�K�j��\G`�3���+�U��Z��X7�����с�������70.t	]"[P�<��š��~
Z����R�1�:ȟ>���}ƣly���ԫ�QY��
�mW���q��W#G�~ @�X/�A�v4i��o
�c������m�Bӏ�%A.XvH�F�7&��#��U��~.A�U�
Ȼ�
+�Q	�(t��5-��J{��
y�щ�	�S���ˑ�ӻ�hc�
l�7_�W
;��}��ٽ�n(�G�r��P��`�}}���д[���G¼��Cļ
��g�%�
+endstream
+endobj
+368 0 obj <<
+/Type /Page
+/Contents 369 0 R
+/Resources 367 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 362 0 R 363 0 R 364 0 R 366 0 R ]
+>> endobj
+362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 600.977 428.041 611.881]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 100.311 513.996 109.287]
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+370 0 obj <<
+/D [368 0 R /XYZ 89 770.89 null]
+>> endobj
+371 0 obj <<
+/D [368 0 R /XYZ 90 486.093 null]
+>> endobj
+14 0 obj <<
+/D [368 0 R /XYZ 90 201.124 null]
+>> endobj
+18 0 obj <<
+/D [368 0 R /XYZ 90 167.167 null]
+>> endobj
+367 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R /F82 260 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+406 0 obj <<
+/Length 958       
+/Filter /FlateDecode
+>>
+stream
+x��X]s�8}�W�maf-����+M7��n���v<˄�������W )��,�������s�`t( '��i0~#��T�
�"�ra���"�шp�ZfMc���\~�>M��)D46���8ng�7��:�fl�q' ���O���{� M�[TF��.�y�W�
����H1b��C�-�#�P(US�j�J�˺�YL�p��>	�ň��!�n����ψ`���RN•�Y�e�|ٓŰ��`^)B��������6cY��F?.k�
�8$� ng��ԍ��:ә�Y˦7	A!���@��a{91�K�
R&H[���3D!Eɭ�L��^#I����c��w�[6�%���ߏ{V6z/�����Và�.�;���#�}�yU6�ۻF�M��ݦ6>t�����ZK�0F
�\�?���ʎ.U)v8�M�ʵnc���
+�-��=�d�-�z����t�!���r6鰨����\^od��Yn��Yi�2�R3�{��)3��{��,�ܲ�y��s��b~�wl���ݭ߸�Ӊ�|��ά=�
Sb�0
i��xr�i
 Y�4���<W�XPRq4
^����
��n�
~�lPv\~u����o-��{䷀��C�Wr&P�d at Is��dӄ���hn����$I��1��OSf�=���
���cAC��'	�dȚF� ��!��X��m�Ȏ��D��¿��
��Ѿ������L�C�Ĺ�����s���0�,��*��4�8��
�'Z�Rd���p
x:�8�����F� 0&���!b��1M\�Ő��8=�'�����B��,��MVH���9�ک�~�8��z��
G_"���,"3�a4�&ι���%��џ����@�	�$�/r����x|�)Y0_U��ۇ�"���
_�j���em&��-+�)�7G
+A�bF�� A�c��]�;������iE��)Ķg�
��3
+endstream
+endobj
+405 0 obj <<
+/Type /Page
+/Contents 406 0 R
+/Resources 404 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 365 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 381 0 R 382 0 R 383 0 R 384 0 R 385 0 R 386 0 R 387 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R ]
+>> endobj
+365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 710.114 513.996 718.971]
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 688.073 513.996 697.049]
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 666.152 513.996 675.128]
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 644.35 513.996 653.207]
+/A << /S /GoTo /D (subsection.6.6) >>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 526.815 340.256 537.694]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 516.763 513.996 525.739]
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 492.939 230.688 503.818]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 482.887 513.996 491.863]
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 459.063 188.187 469.942]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 449.01 513.996 457.987]
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 425.186 293.88 436.065]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 415.134 513.996 424.11]
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 391.31 229.144 402.189]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 381.258 513.996 390.234]
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 357.434 193.727 368.313]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 347.381 513.996 356.358]
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 323.557 288.351 334.436]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 313.624 513.996 322.481]
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 289.681 223.614 300.56]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 279.748 513.996 288.605]
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 255.805 188.197 266.684]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 245.872 513.996 254.728]
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 221.928 286.677 232.807]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 211.876 513.996 220.852]
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 188.052 221.941 198.931]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 178 513.996 186.976]
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 154.175 186.524 165.055]
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 144.243 513.996 153.099]
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 120.299 312.141 131.178]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 110.247 513.996 119.223]
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 86.423 247.405 97.302]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 76.371 513.996 85.347]
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+407 0 obj <<
+/D [405 0 R /XYZ 89 770.89 null]
+>> endobj
+22 0 obj <<
+/D [405 0 R /XYZ 90 627.618 null]
+>> endobj
+26 0 obj <<
+/D [405 0 R /XYZ 90 595.459 null]
+>> endobj
+404 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+449 0 obj <<
+/Length 1004      
+/Filter /FlateDecode
+>>
+stream
+x��W�v�6��+�+��$HtY��q�(j���

Z�h�")ST
�}�]E��f bf��!��(C�v~uz"�$��
4�"IQH
+�R�Y�}}D��	�6�٫σ��`t��:7��s��E��I�I�y�BQ
+�%��ы��@�a����
�B���:sv�<,�a��"�c6��|6���t|�JU'MU��$3���
�
ԅm2
��u�^��'ej�鲜4yU����C\�V����Zg
�i7x���L�l+�Æ0]�
�e�f?/UR�o��k��X-���Ό;+�-��@S�
�g��n8
���L��
��0_{;�J
�g:��j�RU�.u�BM�?����(�< j�"~j�?Km at 9�Y��W�e��.��S��
~V�&|{j�
�6�q>�IA㜟���cq��k�q���l�q��(~Q���rS��'�ڪ,�@׌���X�t���.��������UM���<)+������VSg�&�#�����k�t̡��f�S�q)��O�����̵���Q[޴���V5oz4�ia�7�>u��T=,�
�a�N ˏ}"y���)��%��y8�؉d�%}

�~b�/E�x��4���c�"�Et���T�U���'���X
�

C^@�7�M����.�#�n��G
��p
MG�58?\w
].�ۈt�.}W��kQ
+��*]�t�<���dY��I̽�#&k�5.$��4a�����O�l�x��
�3;yW�a0M&j�Q��l��e
�Y
����q^�SWi3j?����MsѲ����|�
/y��rc�܄���aY��Hv��
�L���w[K�I�㉭��� "�4=�3$��(�fqS6��
7ѻ+|t]����.��
���,���ش��'����N���-�}�jw�)�k��_�0�.럒r�̬�7
�7�
�
��
#�����^�a��g�w�N�͸c
�G�S����
��B���Kk�9��ݻ⹨j�VL�_�#�_�Hp
+endstream
+endobj
+448 0 obj <<
+/Type /Page
+/Contents 449 0 R
+/Resources 447 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 351 0 R
+/Annots [ 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 427 0 R 428 0 R 429 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 437 0 R 451 0 R 438 0 R 439 0 R 440 0 R 452 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R ]
+>> endobj
+422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 211.988 718.971]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 674.219 222.897 685.098]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 664.166 513.996 673.143]
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 640.346 202.952 651.225]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 630.293 513.996 639.27]
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 606.473 226.384 617.352]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 596.42 513.996 605.397]
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 572.6 199.635 583.479]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 562.547 513.996 571.524]
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 538.727 225.846 549.606]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 528.674 513.996 537.651]
+/A << /S /GoTo /D (subsection.7.20) >>
+>> endobj
+434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 504.854 209.408 515.733]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 494.801 513.996 503.778]
+/A << /S /GoTo /D (subsection.7.21) >>
+>> endobj
+436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 470.981 350.557 481.86]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.759 459.025 513.996 469.905]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 447.07 192.243 457.949]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 448.973 513.996 457.949]
+/A << /S /GoTo /D (subsection.7.22) >>
+>> endobj
+439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 425.152 323.439 436.032]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.411 413.197 513.996 424.076]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 401.242 138.375 412.121]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 403.145 513.996 412.121]
+/A << /S /GoTo /D (subsection.7.23) >>
+>> endobj
+442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 379.324 285.821 390.203]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 369.272 513.996 378.248]
+/A << /S /GoTo /D (subsection.7.24) >>
+>> endobj
+444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 345.451 191.146 356.33]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 335.399 513.996 344.375]
+/A << /S /GoTo /D (subsection.7.25) >>
+>> endobj
+446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+450 0 obj <<
+/D [448 0 R /XYZ 89 770.89 null]
+>> endobj
+30 0 obj <<
+/D [448 0 R /XYZ 90 318.801 null]
+>> endobj
+453 0 obj <<
+/D [448 0 R /XYZ 90 286.645 null]
+>> endobj
+34 0 obj <<
+/D [448 0 R /XYZ 90 286.645 null]
+>> endobj
+447 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+474 0 obj <<
+/Length 1703      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~���m��"��[��;��l��>4
�e�)�K3�_�GH€��i�L������U��`g�`������d`'B��¹\:v?B\�����
+D�
��o��".��
��=͒*���߸J�L���B�I����>wI4�t�f��r�eD at 6v���Q:����'�,`����B�Y�v|��:��Fب��j�.ƈ�:���sj��[B�1�B���l��ӆ��g�R���
��Q1?�§u6W��
�u2]��|�Q��W��޳�G��-IV�i��be�z�,Pq�l�Yb��-Ԋ+���1�n�,`L��bȜT�RT>u<�#N�V���,u
+T7R��!dF��;�yzw#Řp�L��4��_��h�1��˛�l�4>�w뺬���H��i*vn�c�Ҧ���
�*������Xx��qz�X\aL�'��t
�M'�O�xYY��<�(e5+�:[$�j�2;;{��!���0ӳzP�p]�C�YT����F4�^�.+
-�2:qi#`���r�2+f�+_5ì^_CD ���ۼ�lb��0ͫ�d�sF��e�r����F�g�Vl�J�Wo����=�3_��y]�E�O�*oϓrX�:n��2Ye�a��dJ�^#ȏT��*A��U=�}�Į�
-C!��"�Z�˵��v
c>
+E�J�+zHPj�!ؘ�׮�S�>kk��Zݞ4e
�B���lAq^��Ty`Gj�Q��w8�Qzj����<!
��-�Eİ�Yʼn.]��Nd9/������=>d{0ˍ�MA��IK,(XY�v
RøwU3BC
�s+Ӵ?AV�>�ԣ��[��,��lM�
�AkC�
�R��M˵�[������̪��!}nvl#�U�� �w
+�1œ9,��UD�� (j
�Bt`�3�!��Vܨ��P�R����p�����=��Ω�9�z�ߧ�
k��!m
�f��Թ��J䡌��c�Q	0����ɹ���-QЋD�
Ar�3�+�
+�:?��|v���oOOf/�_x����ZCx�"8�ޓa�M���bA�p�i!��ݠj��!PCE���0i�P'3}P2�H���
��dV[A�Vf
AG���@�7�����^��$�la����N��
�˘!"���2��¤Լ=B�H��8�P"��}�

��#=����Y;�t�DAjO���^�
�%0?�`J��
�֝�c��0�m-��
�?�7.;'���X���!Q���Q��k�Y@�]k��U��
+���Te��1F�JֲD꾄�FUۭ���I�����
+��A�n��ݦ[�	nc�Ͷ����y�����u��u1�0&��
/��� >��
^�V$0o`���	bL
Ep�����+4�
0:�P�1$+�
�/�� B�Q�R����](},���{��G�e�eN��vy�^��`N�
CRD؜���졆�Ρ��Fu-�: �<�+�
6���\��& p[�۽���|v�5�mm�q]�m9̛
bő�v���k;�.vbז�~{m���5��P����C�C59
i��9
�'?��Z�������٪�W�~E��/�̚���,~Q�Y���⬶o;�
N8��5����]H�mA�ٱ�?4ݪLB ؈[*ySU��&��zU�l���z��m�E��}G��

�xK�����
$�
��ҀI�fEw��i4��5sNr����y�,4
+endstream
+endobj
+473 0 obj <<
+/Type /Page
+/Contents 474 0 R
+/Resources 472 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R ]
+>> endobj
+465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 661.375 181.496 672.279]
+/A << /S /GoTo /D (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 634.343 175.957 645.247]
+/A << /S /GoTo /D (group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) >>
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 607.311 237.396 618.215]
+/A << /S /GoTo /D (group__Init_ga635128363efd9f4c8c63e21702f40183) >>
+>> endobj
+468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 580.279 254.542 591.183]
+/A << /S /GoTo /D (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) >>
+>> endobj
+469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 553.247 224.654 564.151]
+/A << /S /GoTo /D (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) >>
+>> endobj
+470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 526.215 240.703 537.119]
+/A << /S /GoTo /D (group__Init_ga234d52733263ece8ac36c980a80292c9) >>
+>> endobj
+471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+475 0 obj <<
+/D [473 0 R /XYZ 89 770.89 null]
+>> endobj
+476 0 obj <<
+/D [473 0 R /XYZ 90 721.073 null]
+>> endobj
+38 0 obj <<
+/D [473 0 R /XYZ 90 721.073 null]
+>> endobj
+477 0 obj <<
+/D [473 0 R /XYZ 90 679.937 null]
+>> endobj
+478 0 obj <<
+/D [473 0 R /XYZ 90 570.075 null]
+>> endobj
+479 0 obj <<
+/D [473 0 R /XYZ 90 498.84 null]
+>> endobj
+480 0 obj <<
+/D [473 0 R /XYZ 90 432.464 null]
+>> endobj
+481 0 obj <<
+/D [473 0 R /XYZ 90 408.03 null]
+>> endobj
+482 0 obj <<
+/D [473 0 R /XYZ 90 408.03 null]
+>> endobj
+483 0 obj <<
+/D [473 0 R /XYZ 90 316.73 null]
+>> endobj
+484 0 obj <<
+/D [473 0 R /XYZ 90 312.247 null]
+>> endobj
+485 0 obj <<
+/D [473 0 R /XYZ 90 222.919 null]
+>> endobj
+486 0 obj <<
+/D [473 0 R /XYZ 90 218.436 null]
+>> endobj
+487 0 obj <<
+/D [473 0 R /XYZ 267.991 151.281 null]
+>> endobj
+488 0 obj <<
+/D [473 0 R /XYZ 90 144.641 null]
+>> endobj
+489 0 obj <<
+/D [473 0 R /XYZ 484.685 77.486 null]
+>> endobj
+472 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F24 169 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+494 0 obj <<
+/Length 839       
+/Filter /FlateDecode
+>>
+stream
+xڭU�n�0
}�W�mP+�,���v�Ю�64t��&Jj,�S_��u��A�CX�D�<�� ��G���<#Ha%�D�5Re\a!AZ�ۘ�ُ�%Je���`�o>]/�]/n�^�n=D���^�,G�*��A�
+ԗ��T���
�g)|��&�� �`&��~��
�S�H��'f	%�ĥ�f	cy��m�b��`"Rg��
2�U�FlOQP�b���Vw'bJ�9��%&Ԟ�� f�4EW֦8�.#)V�DfDb���ȻF/�B��'��.dܛ�������*���9Ԃ������2
�'ui
ܘ��)GF	V�ÂaJ2ou��0	w��/�X�X4E�;�x�o�[�렚����b��N�bwJh�%���X�d��d2.��=H at a���[	�S��n�*����
�
�n�ޢ�ˮ>T`��N/�??��v"6�8��p��{l]�\l[;���Ή��Y�������YyZ�gp3�㜊��%���p��!�`�N��J�n,���0l��u�Zu�j���)�ƋE�Л��7+�8��8��o�Y�������ޛ����& j꺳T?�5Ie䰥���;�=j
�l�J����	d^iSW���<���`|�U�
䇮�/�g|�
ɱ`b1Ij�'9�d�oM
���"����db�3,�{y
�=!4�vs�v��MP�/������]���C7
!!;�܍eO�CЁ����?_����*̦/6a���EZ�(tmT_��/fB�a�},L?L!˱�3*b���Ē۫E`��PR��טއ�uj�;��S�=�������ߴ�l0�����g&r���ܬ�&�QPV�<i��d�
+endstream
+endobj
+493 0 obj <<
+/Type /Page
+/Contents 494 0 R
+/Resources 492 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 491 0 R ]
+>> endobj
+491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+495 0 obj <<
+/D [493 0 R /XYZ 89 770.89 null]
+>> endobj
+496 0 obj <<
+/D [493 0 R /XYZ 90 721.073 null]
+>> endobj
+492 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F60 172 0 R /F72 194 0 R /F24 169 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+512 0 obj <<
+/Length 1572      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����Y@��*�{k�dH״]�um�6�h�%W�3��~�ɖ-'Y�+�`�����|$��8�
+p�����`�H�@!�88�
$WH��4	>
c�ˆ`���Ch����"#*���
��0b$�xHI������|�e@@>��'�L��l��&0�*���$��N��2h�������0��tM�&4 )!h�
	��
ΐ���J�5$bh�����E�l� �
I��'�4B��+·�G�*�$F�% �!�|�Tt>
>D �4�1���/
s啧��N3��{���������7�R��=���d	
@s��RsDD���О�=����鏋�N��}��u��p�C3�4���kTD�
%l�\\�<�����l�7��ҿ��u��l�}���-%d��
���?��,
+NvN�����mw�ᬔ!�Cm��M���?֡yqx���Qj8�u�z-#з�@[7�
#��0q���r����`���e�J��Q}��S7�6g��J���|���A��zZ�g:��`�����a����S��.����m>%b
+ap
�#"���h��kPu�~%Էn�|>��1Z:�~��]�	���	)
�l��6���^�y�v����,k����1�d�l�:��m|
��m������Z�'?l�n�PsK�V�m�S{s��(_5�D"�|� a������7=�̛ߗwp
Aj�!��2�u�{�ւDf�3p�\�&)�2��v��M�-Q
W�O�{:/��fS�µ��M�
M�v�#%��4�����<��C��@4��y(I��9
~G���	���#Ս� �Għ�`�������@W�2����m���^8yg_g�b��[�:�kϿ��s�FgΕ�iZ�I��i6*��?�+�ȟ1W)���xSc�5n���6����qP�&RM7h�.�N�]�%v�7X�f�6�:�1�HD���C�JT[�i�8+�L�=S
+��&�m�
 �N6ͭ&$q��g!`?����>�F���xt�u�ݰ<��Ku�k(�h}�9]=B$�q�̙�%d���೜
�7��r�iU���j^��j�7�'��=��M)�e"p�1Z��P���k�!6���M����[
�T�
�A��,�M_�Œ����@V�Ѣ�F.�>�pP�О����bKC���FE}� ��
��0�m1�=k
+�d�����@��A�1AR�.{�7$�t+� D��h
�
+"-��	in�G(��/����y��Hߪ
+p�]�a�-$+bs���,Q��˻X��WLlZ�n`���o��ұy���[S���Y�_C��b��c���j=˻ȫL�"�*�����,qR����p��`�IB��}��P��t������a�
�h�03]�
�
+��q�wl����^R׍��d�)����O�@?p9�%��.�P�ZU�u
+/]�:ͯ�{l"�K�c?�G�˟C00�h����V��Tm-60�
n)2����n�uN��A��m`�y	�$
�h�亮���W��Hc\�6���cp�8n��eSP�
�Y��u��
���u�1 �
D�jg�����C?�<c�A�����`c
+endstream
+endobj
+511 0 obj <<
+/Type /Page
+/Contents 512 0 R
+/Resources 510 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R ]
+>> endobj
+498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 660.249 213.038 670.177]
+/A << /S /GoTo /D (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) >>
+>> endobj
+499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 630.596 251.782 640.523]
+/A << /S /GoTo /D (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) >>
+>> endobj
+500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 600.942 251.225 610.87]
+/A << /S /GoTo /D (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) >>
+>> endobj
+501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 571.289 264.505 581.217]
+/A << /S /GoTo /D (group__Version_gabadfeba0a415d210cdd6d7309365e800) >>
+>> endobj
+502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 541.635 244.032 551.563]
+/A << /S /GoTo /D (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) >>
+>> endobj
+503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 455.765 204.032 466.669]
+/A << /S /GoTo /D (group__Version_gabdf8f4e9416010573d48e21cf0584762) >>
+>> endobj
+504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 426.112 204.589 437.016]
+/A << /S /GoTo /D (group__Version_gab51f10ea37de5299e9bc840afa206d4e) >>
+>> endobj
+505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 396.458 212.639 407.362]
+/A << /S /GoTo /D (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) >>
+>> endobj
+506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 366.805 197.387 377.709]
+/A << /S /GoTo /D (group__Version_ga676f27ad949159a3b79577f78870f60f) >>
+>> endobj
+507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 337.152 175.808 348.056]
+/A << /S /GoTo /D (group__Version_gac6abee034f6ac000f15d1206fdeb8316) >>
+>> endobj
+508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 307.498 173.736 318.402]
+/A << /S /GoTo /D (group__Version_ga63fef7041da34ac5bb372a2535d99377) >>
+>> endobj
+509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+513 0 obj <<
+/D [511 0 R /XYZ 89 770.89 null]
+>> endobj
+514 0 obj <<
+/D [511 0 R /XYZ 90 721.073 null]
+>> endobj
+42 0 obj <<
+/D [511 0 R /XYZ 90 721.073 null]
+>> endobj
+515 0 obj <<
+/D [511 0 R /XYZ 90 679.146 null]
+>> endobj
+516 0 obj <<
+/D [511 0 R /XYZ 90 647.758 null]
+>> endobj
+517 0 obj <<
+/D [511 0 R /XYZ 90 618.105 null]
+>> endobj
+518 0 obj <<
+/D [511 0 R /XYZ 90 588.451 null]
+>> endobj
+519 0 obj <<
+/D [511 0 R /XYZ 90 558.798 null]
+>> endobj
+520 0 obj <<
+/D [511 0 R /XYZ 90 475.638 null]
+>> endobj
+521 0 obj <<
+/D [511 0 R /XYZ 90 475.638 null]
+>> endobj
+522 0 obj <<
+/D [511 0 R /XYZ 90 444.251 null]
+>> endobj
+523 0 obj <<
+/D [511 0 R /XYZ 90 414.597 null]
+>> endobj
+524 0 obj <<
+/D [511 0 R /XYZ 90 384.944 null]
+>> endobj
+525 0 obj <<
+/D [511 0 R /XYZ 90 355.29 null]
+>> endobj
+527 0 obj <<
+/D [511 0 R /XYZ 90 276.447 null]
+>> endobj
+528 0 obj <<
+/D [511 0 R /XYZ 90 217.206 null]
+>> endobj
+529 0 obj <<
+/D [511 0 R /XYZ 90 194.434 null]
+>> endobj
+530 0 obj <<
+/D [511 0 R /XYZ 90 194.434 null]
+>> endobj
+510 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F24 169 0 R /F100 526 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+535 0 obj <<
+/Length 793       
+/Filter /FlateDecode
+>>
+stream
+xڍTIS�0��W�V{��K�z,KJ)
��88��xH� ;0��>KJ� �����[��4G}����ѹ"Hc-�D���Lc!�o��bƒ��%�2�TK0rܓ_����m/����SDAD���
���)�/�\���)�P�8�Kt��H�B0=�?X�� �S�H�1ORJ��7����$)cy|ڔ�Ue�±z�� V�2�3=�i�Y�λ[��ﳤ�`"8�����ʰ��.��iQ�1ɘ�dHnRSY������q٘6�*/
+���l�/��r���=!����V��
3.��k�qXq,8�{��s9���J�	D |���ں�Z�,H�5��3͆p��ɠ��
҃�9Τ�*>ܺ��"���
�jW�;i���̃��ɩ��[T�����Dh�1v��
+�t0�
+K�,b��(ݷ��xm����������6�Ʈ�0��(&ͦ�
f>2p�{�ʶ�}�s�V��˺�L
�,^�Wif!��ݼz�KB�*��{��EѵM�0���d$>v����
+j��A�,>9:�	�[���؛��z��䓄�xS/�l���-�k"E�'�	�Q�jh�ŶZ7�:��^R��pg�wV˦y��ڋf
��A
����=k�
w�?���0SXhw���s�!�[��]�8:m���]
+�ҽCwO`�
+)����pO�

�p�O�sU�����E�/37e`�i+�����?
�)����`"=�b�_
+��
��VU(����K�G�v|�;�{�w�h�u믣�Z\�9��z|��Ja"w��������� �޵g
+endstream
+endobj
+534 0 obj <<
+/Type /Page
+/Contents 535 0 R
+/Resources 533 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 532 0 R ]
+>> endobj
+532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+536 0 obj <<
+/D [534 0 R /XYZ 89 770.89 null]
+>> endobj
+537 0 obj <<
+/D [534 0 R /XYZ 90 721.073 null]
+>> endobj
+531 0 obj <<
+/D [534 0 R /XYZ 90 704.201 null]
+>> endobj
+538 0 obj <<
+/D [534 0 R /XYZ 90 704.201 null]
+>> endobj
+533 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+556 0 obj <<
+/Length 2054      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�F~�W�-P	�ht��Kֆ
���5cPV;��8����\B`�dSy�Fs4�_w�##cc �U�e���GFh�
���"�wB���mm|�{�3Z������s6b�_�l���f0���{}l~]~ߛ,{�{G�%���Q���+2�0���L;
��)5
l�31��~�!�2�ˇ���
�aYf�X�	��uTKWj����\��҅�= �bǴ�PJ�d�_���2γ�-G=/��&�hc ���������Ƈ�
�ҬJ�<�mr
����%+�kE��*�״+�o���t��
+�O߾�^M��b5�\ͯV7���◎��7��BԐ2��8���W�ū�7���
χ|+�����f4��
gH��%_Of�����Q�K-���7���r5�q�����t�N��
)����l��i
�r������MR��ٛ����6��G��j�����r:�}	ٓ��N.����Fۡ+-�7
��k�ex�P���^��L��Q�D �u"��+�<G�cZ�
"
3t1��G�pF
I���$��qk2�Y]o!�
��Q�,��#�R��� ���L��S� �H�Ʀ*R�Rr�g5�iV���yR+h�8m�I��c�D.�`���5�=W�i*f{&
+C8%uBȖ�Z�OK�ق(���b���Ѿ�
+��hK�1�C[`x��
�w�[Jw�%!9�-܎�A9I�tc�*� �p��v}4V��$<9�Zoԁ{�(́8kdG@��Fo喖��	��_���sm�v�
+��jƴ$q"ԃ^`�ǰ�]�N��1�͓8j8�de�St�NQ5�hBjXʼ�Qc��.g%�%[ՠ��^th(�]O�K��.N��Qe|
�zV��ۿ�5_�J
(��#}��]p��{ͬ�M�a�t`*	�`,�?K��P'o���&u��3
"3
=P�5C�
��9��hJ���T�ӷ 1���Y��6C��#ě����I�KJӜ=�1�)���!5�m��� O-`���|�5��bD9¿oIU@��
ۖ��C�Ahu�}����c��X�;:�b�� "�-���fC%�4�@}��q��c��JbMm"�7"��3ViVC@�B���v�k(��,?�b��UY�k�?�&�u��X
��ԜL����s�*%O�z��~�VĶJ�e������|�����hT�9��|���W�Z.�P�(U��z�/%�ǩ�30�{���(K㲦�"�C!(~B�O`G�{>0H��C���U
��Q����� F!�SZ�Z�97������9��Ec�,~2SI�0��tW������^��
hP�d���~� ON��ŻA��J��

r-"Y�4
�P
���ɳ��H�����:h�d�I ~�?q?�oa�_
\�_襈���Z
��B|���y��(Jmކ2���hWd�m�rz����`}�XT,4.��
��д]��W�E��ax[WLZ��P�ԥ|�8��
��N�&O�@P
�B�
�Q\P}~
GD����%!l#��+M0u�~ �Ԉ�B?NN:�+�����?p�z�y�Vx Y~,dB3�=�i9`�)r{�~�F���t��=���6v����"2��:����&�
�bp �l������M��{.\E��\�L���ޑ�+i���'
�jS��v�?����O
]�9��mD��w�k�8&�W3�NU
x5���ɧ�%�|�Q��-(Av���˯�VMc�
�8�m�,�1Įl
@$��&����=�[�A3�5�)�
+�ۡj��S&
G��w�%�;��
R��H�}#'e��8D�Xtm���OQ�"ep��fp7�`j��U���p{2i�9�6@�啢 \��8��D�ey�o�n��_��\��M��\̺}K�>P���~�_�<J8����z�
��J/��&٦"�:��x'0RS�������
��
g��H4;E]q�1����慨�J�>z�'��^e+�r���mY���6��:tG���?
Uyu�r�o����(�ɔ�l@\��"K��@!��k)�|�
ͱX����4��q���;�o%�xK
+endstream
+endobj
+555 0 obj <<
+/Type /Page
+/Contents 556 0 R
+/Resources 554 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 539 0 R 540 0 R 541 0 R 542 0 R 560 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 561 0 R 551 0 R 552 0 R 553 0 R ]
+>> endobj
+539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 660.945 228.51 671.849]
+/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 649.708 264.246 659.894]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) >>
+>> endobj
+541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.637 649.708 431.896 659.894]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) >>
+>> endobj
+542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.287 649.708 513.996 659.894]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 637.752 180.66 647.939]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.648 637.752 324.021 647.939]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) >>
+>> endobj
+544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 625.797 259.802 635.984]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) >>
+>> endobj
+545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.653 625.797 356.319 635.984]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) >>
+>> endobj
+546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.17 625.797 511.506 635.984]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) >>
+>> endobj
+547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 613.842 348.35 624.029]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) >>
+>> endobj
+548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.887 279.747 612.074]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) >>
+>> endobj
+549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.185 601.887 413.47 612.074]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) >>
+>> endobj
+550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.907 601.887 513.996 612.074]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
+>> endobj
+561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 589.588 154.099 600.118]
+/A << /S /GoTo /D (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d) >>
+>> endobj
+551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 519.418 216.893 530.322]
+/A << /S /GoTo /D (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) >>
+>> endobj
+552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.766 519.418 372.738 530.322]
+/A << /S /GoTo /D (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+557 0 obj <<
+/D [555 0 R /XYZ 89 770.89 null]
+>> endobj
+558 0 obj <<
+/D [555 0 R /XYZ 90 721.073 null]
+>> endobj
+46 0 obj <<
+/D [555 0 R /XYZ 90 721.073 null]
+>> endobj
+559 0 obj <<
+/D [555 0 R /XYZ 90 679.937 null]
+>> endobj
+562 0 obj <<
+/D [555 0 R /XYZ 90 538.409 null]
+>> endobj
+563 0 obj <<
+/D [555 0 R /XYZ 90 491.228 null]
+>> endobj
+564 0 obj <<
+/D [555 0 R /XYZ 90 434.363 null]
+>> endobj
+565 0 obj <<
+/D [555 0 R /XYZ 90 410.074 null]
+>> endobj
+566 0 obj <<
+/D [555 0 R /XYZ 90 410.074 null]
+>> endobj
+567 0 obj <<
+/D [555 0 R /XYZ 107.713 328.501 null]
+>> endobj
+569 0 obj <<
+/D [555 0 R /XYZ 107.713 300.61 null]
+>> endobj
+570 0 obj <<
+/D [555 0 R /XYZ 107.713 284.675 null]
+>> endobj
+571 0 obj <<
+/D [555 0 R /XYZ 107.713 268.74 null]
+>> endobj
+572 0 obj <<
+/D [555 0 R /XYZ 107.713 240.849 null]
+>> endobj
+573 0 obj <<
+/D [555 0 R /XYZ 107.713 201.003 null]
+>> endobj
+574 0 obj <<
+/D [555 0 R /XYZ 107.713 173.113 null]
+>> endobj
+575 0 obj <<
+/D [555 0 R /XYZ 107.713 145.222 null]
+>> endobj
+576 0 obj <<
+/D [555 0 R /XYZ 107.713 117.332 null]
+>> endobj
+577 0 obj <<
+/D [555 0 R /XYZ 107.713 89.441 null]
+>> endobj
+554 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F24 169 0 R /F92 331 0 R /F106 568 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+583 0 obj <<
+/Length 1133      
+/Filter /FlateDecode
+>>
+stream
+xڭVKs�8
��Sp[<SdI 	��4��6��{j;d�)D�|�������'����I8�8x�z�]m�2�qʃ�.�p �
1E�)�����]������^�~�^~����r���"��q�
�4��է/8(��.�(����
+�ABc�V�������yH�YL
$H
B!.��o
.��n�
nn�^_��
g4�����H�!JĘ����eI�W�j�9��ص�N֎!�V�Q���t��C����L(�R6� ��Ӛ�P>{��Ԏ��l+�Uo�"�2s@c.�R� K	XԪkde�hX��2G�(��/{G=��Q5�+�'�]ۍ���M�<���pq��9}�ޭ�$\�s
]֪
���&��U�K�^&�ڊ`W
��=�q� 8,ZջS�zR?
�m�GIU#�ZD�����t���c_
+���(A�:"Jv54�.mH4
ߴ�PC�Ғ想�bR�`$�f�6˱��c�rl�=�1J�$��
+rٴv�<��8��+}�'g(�8���9Y:U]�&,�1{�:(&�
Lp�t}�MQ)?ߟ1��(IH�}M��-
K��6W4��b�\���8v"
o	D3�a�}�P;�F�
�l�B���j���V&��<�m�θ�8䒌zV(J�W~X�Z��;�
��Ɇ�2���<�!7�9�L��S��I�p.n�b^�_�l�P؜��
�tm����i���[S
F��\h���0�S����@�B#|<>��C��#��OY-e(SVȡ1%4�
*s�fWE��1,s�Š���j�Р���慸�cNI���6�ЃyC�5�KX�4�}��
�
�/��齔
�-O���b�����̝g��U���^1�_���0��+��#��jY6ӿk)-�1�E>�`�-��,����
���p�J�2������I�	�s���8:��-� �HvJ
�Z���/N����o�lf��@,�O�op�`"����2G
O�\�q�c's؋N-v�`s�8u�#L��t����c�5>7���=�ڼ7���I����e��W�ٸ�����Ǯ/ǻ� l0�
عWʗ���uJ�����,��S贳Z��l
�}��=���%윔 #��q7�G�v>��r�h��@��\
+endstream
+endobj
+582 0 obj <<
+/Type /Page
+/Contents 583 0 R
+/Resources 581 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 490 0 R
+/Annots [ 580 0 R ]
+>> endobj
+580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+584 0 obj <<
+/D [582 0 R /XYZ 89 770.89 null]
+>> endobj
+578 0 obj <<
+/D [582 0 R /XYZ 107.713 711.11 null]
+>> endobj
+585 0 obj <<
+/D [582 0 R /XYZ 90 670.473 null]
+>> endobj
+579 0 obj <<
+/D [582 0 R /XYZ 90 648.096 null]
+>> endobj
+586 0 obj <<
+/D [582 0 R /XYZ 90 648.096 null]
+>> endobj
+581 0 obj <<
+/Font << /F70 192 0 R /F106 568 0 R /F60 172 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+596 0 obj <<
+/Length 2279      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�R�ƃ Ȥ����d���z4����\�DK�H���q��~����X�6{��&���nt
�z�z?��myv�ZQ/"Q�oy�E�S~Dd ����Y@�|�(��圅�t��u5_pIg���.�6�`"�g\�]�tv�<�rƀ=��a'�
+������[�'��޽���|.��>���Z�(����z��c�DR�FQ���H�VG
v:�fӼ5�� �[p�?2|_�٪J�t9����o<_���� ���/�ڥY�}^HP3�*KF;k�+=�{w��.�꺲���)�PI�L7Y�6>Y�ɪ2{@�Px!���.��so�|��Q�cR��U�M���ۼ����]]��6�r��ˤ{�K�]��Y
��P��K���!�v^2�t��]�%Y��;�r�י��v:͙�g�w,�
rv�#<�7�����
+
t���
�y3/�+zN2����r;��E}W%�#l�O�����,-�tu\��r�<8�*�%���$�l�-�7[�8͹�� .�y��?Gz�vR
-&ω�̡z��P',�m�"̖�WI�;
�P�^%�H���{�H�q����@%�Q�8tk��{��mp��F��|U�!N��F\�Íh��i��Vq�1�`�*��KN�a�!
F-�h�D�nKA(��J�F�H���I�!��Z��

��—A��@��ב�Q�,9z���f�#�+0�jf���09�PA#�%U4Щo�� �=6���%Q�%�����9�gq�1}��M��i�÷C
,"HJ
����V�<� k9P�
�����B�#'���rrÓ'�B�: W��%F���,��7�+

	H[a��Vy�.͛2�B|�fB|[�5
"3]mͤ�Pژ֯���2_���{��U���K;�&A
`:3-�M!U����&@7Ek���� �wR�dl?	�;� [...]
+�����?�CV����t�j!�#��EF�9�H�B:��A�J���t�K��e�m4m�x
B�2��=8"�D�wM_?��Ѝa���!�,B"��@�L�d(�ݬo�d���J�.
+N{I�F�W:�?t!���(l#�I����������w?������W?~z{�n9��%�E��
���p��6h�g$H�Z/cE��0
G�

�,��y_��Ar��
�����C�$Y��}�{����g�]>���u_�W����Zcw[��Ohn�b���'"�g���
����Y�
�!$q�}� ���
�?DmL�?O�k����lb�M��H��&!]��P�f�m�d,����7�:
VK=5d��ڄ�������[Oj�
+��K��ST[]&�iR�#�/�
	���[
�WUSt�>���M��ˉ슥�E�O�P�����S�s�!\��r���s���֖QĻ��_N�&0�PGT&�n���SP֕ �<�-�)	X�Ѧ����Hx	<�cEDN�#�x�gh7�^���06i̷
��ܶi ��1�e�f�h'��_�V5H�
[�!]�P��m�m�b�Q�rB{�k�c�����E
 ��	�`3 ��f�Q�D9)��)j�p+��J�GO�B��`����DH��"�x�
Z������,�-ֵ��Ut���Kqn�`�e�e��E���D�v��p�-�k��
+{c*z�; 
T
|��E�^�Z����(�ob�7! �oB�t6���J0r�Q8�
�Ѫ��D�4��Qsq�csq�GlC
�Eq��?Z4��"`�E5
+ ��4�7q���}{���eƒ>�I����o�n ��쇗eE�v7����G��1I�>��~��?Lѩ�BNx�b�mU�}w~~So�$�p۸�+Eh�泶/��Ms�f@���͖���A� �[��ѿ d�.����~�,���˽�^���?/�
���
+endstream
+endobj
+595 0 obj <<
+/Type /Page
+/Contents 596 0 R
+/Resources 594 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 593 0 R ]
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 660.943 193.122 671.847]
+/A << /S /GoTo /D (group__Timeout_gaf0d33c5ec6461b246420cebe2d6866ed) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 633.048 200.863 643.952]
+/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 605.152 250.127 616.056]
+/A << /S /GoTo /D (group__Timeout_ga93f815a338ce597c6ae3e7b2018d962d) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 577.257 257.868 588.161]
+/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.829 307.959 482.396 318.863]
+/A << /S /GoTo /D (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+597 0 obj <<
+/D [595 0 R /XYZ 89 770.89 null]
+>> endobj
+598 0 obj <<
+/D [595 0 R /XYZ 90 721.073 null]
+>> endobj
+50 0 obj <<
+/D [595 0 R /XYZ 90 721.073 null]
+>> endobj
+599 0 obj <<
+/D [595 0 R /XYZ 90 679.937 null]
+>> endobj
+600 0 obj <<
+/D [595 0 R /XYZ 90 650.307 null]
+>> endobj
+601 0 obj <<
+/D [595 0 R /XYZ 90 594.517 null]
+>> endobj
+602 0 obj <<
+/D [595 0 R /XYZ 90 549.062 null]
+>> endobj
+603 0 obj <<
+/D [595 0 R /XYZ 90 492.195 null]
+>> endobj
+604 0 obj <<
+/D [595 0 R /XYZ 90 469.819 null]
+>> endobj
+605 0 obj <<
+/D [595 0 R /XYZ 90 469.819 null]
+>> endobj
+606 0 obj <<
+/D [595 0 R /XYZ 90 411.227 null]
+>> endobj
+607 0 obj <<
+/D [595 0 R /XYZ 486.978 311.112 null]
+>> endobj
+608 0 obj <<
+/D [595 0 R /XYZ 90 304.472 null]
+>> endobj
+609 0 obj <<
+/D [595 0 R /XYZ 90 184.042 null]
+>> endobj
+594 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F97 497 0 R /F72 194 0 R /F11 610 0 R /F8 611 0 R /F24 169 0 R /F10 612 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+617 0 obj <<
+/Length 1155      
+/Filter /FlateDecode
+>>
+stream
+xڕVKo�6��W{�
�
I�z�֦���l�6Z`�d�����KI���wȡl9I��A�p�����v
���~^Ϯ����4⑷�z)��0%"�]�}�y4����QBX����<ܯo�׏F6�]Ͼ����P_�8��z��3�
+`�(	��;�C�� ��{��>��P���0FC�y[H��S��(`c`����z����i�|����j�|�G�
ی
"x:����'��ЗRT'�`�r_m�l$��}֫�93*���՗���f#U�3d諦�Z�^W��
ƄE�2�
+�Q�c�%�!K�l�Z5��U�d����
��
+l$�Zv҉7Gd�YU�`L��Oz�����ˊ���T���z�&�/�yvq�M��9��̗�Nc£s��G)�f1��4�E�Tx
�W�4p������MHLS�qBh�Qw]*�U =y�x�ۼ��۰ z�
��t9�T��^�����u�p��
H����e#_R���xz#�l�s�O��u�M�I���Y���
+!ƣ��"us�,�l�"
%�~
Y�
�6�����T��sPU�T�TG�
+��M1rq5H��Z:���(����L�ǹ�K�mu=F������fC/G��"�+�љ>�&�a
�

(3fm�w�C6V#񷺭Q� q1�3��趩�bls�Y=]97�h���
�;v���
#���*��Iǒ}NL��Ϙ�H"B����<�~����װpJh*�a1E�C� ծ쑮e^f�����PF��F�Rp1�2 �" �r�|S�X��L�

U6f
Raj��UP�=�iq�+�9G���n��F����1t_µV���������x
&˜�`ʪ�	�sID�<#!��:gq<�t�� �
��T�,r�!�_U�F�-��7|��)�Gd�;ȬZ7����Kw�|��if�	;�� ��X����=j��tV8;�䴑s.������B��t�L�wA]h@�c}	�'1�*|��D
W��_��09��1��)m���c\/����cgs
��8
�S"��A��[@(g����
����.kvC�sҥ�/���9�S'�s!���A��e�E�LF(^� �<��i������
��I�	'
Fݽ9e�����
�N���_?�g�8&4:�vm�[a��[��P���-�_5�_,
�
+endstream
+endobj
+616 0 obj <<
+/Type /Page
+/Contents 617 0 R
+/Resources 615 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 592 0 R 614 0 R ]
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.253 696.002 511.506 706.906]
+/A << /S /GoTo /D (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) >>
+>> endobj
+614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+618 0 obj <<
+/D [616 0 R /XYZ 89 770.89 null]
+>> endobj
+615 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R /F82 260 0 R /F83 262 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+653 0 obj <<
+/Length 1106      
+/Filter /FlateDecode
+>>
+stream
+x��YQw�6}�W�m�B�%Y�ۖ6=���Oiǀ ��vl�-����d0Jh�i�Ƀe��t�{u�d��)"�M��~�w���L��i�b���p7F7��2�RBHp�ˤ|�L��UR'�Ca��Q����������~�C!6A��8Vh4��|&h
��!�#��?˗戳�3t���C<,���M{� C�b-kP�-��A�]X�L��Zx� �K�N��.�8�څ뇊�gl&�Kw���Q�ט���ٰ�I6v��̒����a>�g��ݍ򬪓������2�
x�D��q����jOvTb
)H�aѤ��1���t�W��
q����5+h9��~Xv���l0N�&��<��;!���)�&���$g�K9V,v�~���
9��Ҭ6!'��
������PFq`
+w�LV��ԧS$#��
+qC�n�+|
��A�R^߼�		��.o�V�Z@ ��h�[�b�c�t����>d�I�&Ù䋺Xԃ�"�;5��}"������>�B�=3qC�T���z+?�K���=�./���{lQ53c�|Q�-��=�J�.���P�K
Q�?Yk�.r����l���
��t
��,�8R��d����s,�ɆS�(�����ȭC���G0.�?�~*;�>�)%
kr
+�.Gx�ZaF�a!���G?G��/3�$����$����Ei*�s�eSP�%�<�$;�>J
J�T��-snW
�^���",=�=���!��
��ԅ�S&���@9,[amw���
�8™�T�s�
{Y>X|œ�$|%�Z`�_T-hQq�P�f~�D�j~Z4CY
�;KGgm�=��Z�lEζ<Y)GT
+i$u^
4K� ��&f�Fr�R3�^�w(��X�z��*�ɞ�P�)JLk�#�XJ���~�.�������2�9&�%��5O]_Q,�I��k���d8f�S�G�Cb
�g�;)�1z{����+׸p��$�.����[��$�$Xm�L�S(D�7 O�E�
m�R��)�'�{H1���؞����4�.��Q���
��d�f�ϋۺ.~����ie�)
����i�9�1�+�V{��4�F:<�'v+7G6
߂P,%k��:
/���V{�Ϧ��{;�Ы
�X���'
�

+endstream
+endobj
+652 0 obj <<
+/Type /Page
+/Contents 653 0 R
+/Resources 651 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 626 0 R 627 0 R 628 0 R 629 0 R 630 0 R 631 0 R 632 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 650 0 R ]
+>> endobj
+619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 628.97 255.368 639.874]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.908 601.309 351.956 612.212]
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.771 601.309 439.128 612.212]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 561.692 194.796 572.596]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.766 561.692 274.247 572.596]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 522.075 194.796 532.979]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.288 522.075 323.781 532.979]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 482.458 226.029 493.362]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.999 482.458 336.713 493.362]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 442.841 226.029 453.745]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 430.886 273.63 441.79]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 403.224 249.281 414.128]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 403.224 326.222 414.128]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 363.607 192.286 374.511]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.777 363.607 318.76 374.511]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 323.99 226.606 334.894]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.577 323.99 337.868 334.894]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.373 226.606 295.277]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 272.418 274.207 283.322]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 232.801 286.371 243.705]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.342 232.801 457.398 243.705]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 193.184 286.371 204.088]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 181.229 333.973 192.133]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 153.567 247.598 164.471]
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.568 153.567 322.855 164.471]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 113.95 190.602 124.854]
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.094 113.95 315.393 124.854]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 224.923 85.237]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.893 74.333 334.501 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+654 0 obj <<
+/D [652 0 R /XYZ 89 770.89 null]
+>> endobj
+655 0 obj <<
+/D [652 0 R /XYZ 90 721.073 null]
+>> endobj
+54 0 obj <<
+/D [652 0 R /XYZ 90 721.073 null]
+>> endobj
+656 0 obj <<
+/D [652 0 R /XYZ 90 645.85 null]
+>> endobj
+657 0 obj <<
+/D [652 0 R /XYZ 90 645.85 null]
+>> endobj
+658 0 obj <<
+/D [652 0 R /XYZ 90 590.79 null]
+>> endobj
+659 0 obj <<
+/D [652 0 R /XYZ 90 551.173 null]
+>> endobj
+660 0 obj <<
+/D [652 0 R /XYZ 90 511.556 null]
+>> endobj
+661 0 obj <<
+/D [652 0 R /XYZ 90 471.939 null]
+>> endobj
+662 0 obj <<
+/D [652 0 R /XYZ 90 420.367 null]
+>> endobj
+663 0 obj <<
+/D [652 0 R /XYZ 90 392.705 null]
+>> endobj
+664 0 obj <<
+/D [652 0 R /XYZ 90 353.088 null]
+>> endobj
+665 0 obj <<
+/D [652 0 R /XYZ 90 313.471 null]
+>> endobj
+666 0 obj <<
+/D [652 0 R /XYZ 90 261.899 null]
+>> endobj
+667 0 obj <<
+/D [652 0 R /XYZ 90 222.282 null]
+>> endobj
+668 0 obj <<
+/D [652 0 R /XYZ 90 170.71 null]
+>> endobj
+669 0 obj <<
+/D [652 0 R /XYZ 90 143.048 null]
+>> endobj
+670 0 obj <<
+/D [652 0 R /XYZ 90 103.431 null]
+>> endobj
+651 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+705 0 obj <<
+/Length 852       
+/Filter /FlateDecode
+>>
+stream
+x��YMS�0��W����>-��R`�h���aL☴�������q�'$t2˒w���+Y�C�C�jH�4h���;@#�5����E�*��{����h�e�{g����n'm���ֽELF$� ꍬ�+����a`Z�_�C#�)3�;Ա�X��R�f�C�@sy
+�P
X!I��8{�S�v���q4
?�	!-Ȁ=�j��!:���)r,x��R1g�.
�q+y�}�w1I�i/)
KG����+-D�u<��>�C?��(��<Lt�xA���y/
+'����%��	��>R�1[��2N	\��R$Y�3��z�����1b
+��u�n��.
.+F7��^RC!��
+�D
���*XU I�Jр@K��S�� $_�T͈�:=�ߜ�E�DJ6Hk���dT寯���(
����1#�)��(�Y�p�^��5

O(�`yY*�&�6�IV�
S`D��
R�bA��jA4(�A��ZF7
�v$�:��RfX[���壣��lI�H����%��j+�5������a��]God/Y�
+��|�r������Lhh����#!�`o)�T�x�2�q��5+\�����Yܿ�F�	e�x�XmY�9�s�T��4,��Yf�����[���� ){�AɐK:;o��0`"3��W*g��6EE�h����8{r�Γ������L�S��C`�LFG���Q��'ya/��xa0����(�m���+��M���-Dk���©w��/��?m"Z~<Fa^I �z�Ì������̆�)=סe܊ճ�ԷI2~�n�L��ЋF������٤D�{n��8���
y��9IF��� ��
+endstream
+endobj
+704 0 obj <<
+/Type /Page
+/Contents 705 0 R
+/Resources 703 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 648 0 R 649 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 679 0 R 680 0 R 681 0 R 682 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R 692 0 R 693 0 R 694 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 702 0 R ]
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 682.947 224.923 693.851]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.415 682.947 384.035 693.851]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 642.891 284.688 653.795]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.658 642.891 454.031 653.795]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 602.834 284.688 613.738]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 590.879 332.289 601.783]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 562.777 255.907 573.681]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.877 562.777 339.473 573.681]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 522.721 198.911 533.625]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.403 522.721 332.011 533.625]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 482.664 233.232 493.568]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.202 482.664 351.119 493.568]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 442.607 233.232 453.511]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 430.652 280.833 441.556]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 390.595 292.997 401.499]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.967 390.595 470.649 401.499]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 350.539 292.997 361.443]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 338.584 340.598 349.488]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 298.527 213.845 309.431]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.815 298.527 312.345 309.431]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 258.47 213.845 269.374]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.336 258.47 361.878 269.374]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 218.414 248.166 229.318]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.136 218.414 380.986 229.318]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 178.357 248.166 189.261]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 166.402 295.767 177.306]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 126.345 307.931 137.249]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.901 126.345 500.516 137.249]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 307.931 97.192]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 74.333 355.532 85.237]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+706 0 obj <<
+/D [704 0 R /XYZ 89 770.89 null]
+>> endobj
+707 0 obj <<
+/D [704 0 R /XYZ 90 712.265 null]
+>> endobj
+708 0 obj <<
+/D [704 0 R /XYZ 90 672.209 null]
+>> endobj
+709 0 obj <<
+/D [704 0 R /XYZ 90 632.152 null]
+>> endobj
+710 0 obj <<
+/D [704 0 R /XYZ 90 580.14 null]
+>> endobj
+711 0 obj <<
+/D [704 0 R /XYZ 90 552.039 null]
+>> endobj
+712 0 obj <<
+/D [704 0 R /XYZ 90 511.982 null]
+>> endobj
+713 0 obj <<
+/D [704 0 R /XYZ 90 471.925 null]
+>> endobj
+714 0 obj <<
+/D [704 0 R /XYZ 90 419.913 null]
+>> endobj
+715 0 obj <<
+/D [704 0 R /XYZ 90 379.857 null]
+>> endobj
+716 0 obj <<
+/D [704 0 R /XYZ 90 327.845 null]
+>> endobj
+717 0 obj <<
+/D [704 0 R /XYZ 90 287.788 null]
+>> endobj
+718 0 obj <<
+/D [704 0 R /XYZ 90 247.732 null]
+>> endobj
+719 0 obj <<
+/D [704 0 R /XYZ 90 207.675 null]
+>> endobj
+720 0 obj <<
+/D [704 0 R /XYZ 90 155.663 null]
+>> endobj
+721 0 obj <<
+/D [704 0 R /XYZ 90 115.606 null]
+>> endobj
+703 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F60 172 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+753 0 obj <<
+/Length 903       
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�0��+t�9d��,���B�@é0
�UC �Sǁ�߳��&5�ԉ�&3�,[��{����ِq��{<�z�
gDZh6�`g&�@i�:g'���"��?�eqv��
+���8�󫙝w�E$}u>^xOޥ�46g��R`B�L�����S�
�AF!�V>4a��T�ٱ���[��t3�,$7uP�I6��� ����,�\X��,
Ms���<ue�N繫�g�m�C���H�^�+�@�.����Au�;�*¦���^���y�H���lX�:��FE��r��f��W���~�����4��5�D�N��
�q.q.o�U�����e�lްX/k�wCC�k�E Z���GD_P&#�(�5�
H� {ia�9�n6�ϣ_� �7�~A�@C��`hs��E������%��[����GN:{�5Z
��������$��Z�@�t#2����_
�
�&=� L�z؅Đ������&��(��M�Aْ*j��!���Y�&���
�nӇ��Z��N�h��ݚ:�H*?NNj���0�MK�Yn�{���0g��(��Y�?�:
e��P�(&�:��8�'�&q�
�T�5��^B%�/�4`�/	�=��BA[����$���RW��F�r���ʇf�(E��{"���ٖ��(�\C��
Q[��Ӑ
B��
>Ak���*}�1F�0e�Y[����)����Z��G���>�BCddX�A=_�|�B��?r�'�8���E<��
as�A��I��~n�
����~O���?pſ�جx�p����S
�[[��M�
[�^�&b�e
�H-���糇���b8��!$���x]u6�5�ג�H���Y5�є'q����1�o��K��K���gJ5�o�^�\v�z��R"bu��
�Ew�
+endstream
+endobj
+752 0 obj <<
+/Type /Page
+/Contents 753 0 R
+/Resources 751 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 700 0 R 701 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 770 0 R 750 0 R ]
+>> endobj
+700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 683.36 207.23 694.264]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.2 683.36 299.114 694.264]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 644.127 207.23 655.031]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.721 644.127 348.648 655.031]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 604.895 203.912 615.799]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.882 604.895 292.479 615.799]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 565.663 203.912 576.567]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag) >>
+>> endobj
+727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.404 565.663 342.013 576.567]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 526.431 214.612 537.335]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.582 526.431 313.879 537.335]
+/A << /S /GoTo /D (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) >>
+>> endobj
+730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 487.199 214.612 498.103]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag) >>
+>> endobj
+731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.104 487.199 363.413 498.103]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 447.967 232.126 458.87]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.096 447.967 348.907 458.87]
+/A << /S /GoTo /D (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) >>
+>> endobj
+734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 408.734 232.126 419.638]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 396.779 279.727 407.683]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 357.547 230.482 368.451]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.452 357.547 345.62 368.451]
+/A << /S /GoTo /D (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 318.315 230.482 329.219]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 306.36 278.083 317.264]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.127 231.966 278.031]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.936 267.127 348.587 278.031]
+/A << /S /GoTo /D (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) >>
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 227.895 231.966 238.799]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag) >>
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 215.94 279.567 226.844]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.094 176.708 434.903 187.612]
+/A << /S /GoTo /D (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 125.521 322.725 136.424]
+/A << /S /GoTo /D (group__Datatypes_ga261d916137f01c0effdefeb266a73172) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 334.889 97.192]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.664 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 75.309 157.407 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+754 0 obj <<
+/D [752 0 R /XYZ 89 770.89 null]
+>> endobj
+755 0 obj <<
+/D [752 0 R /XYZ 90 712.265 null]
+>> endobj
+756 0 obj <<
+/D [752 0 R /XYZ 90 673.033 null]
+>> endobj
+757 0 obj <<
+/D [752 0 R /XYZ 90 633.801 null]
+>> endobj
+758 0 obj <<
+/D [752 0 R /XYZ 90 594.569 null]
+>> endobj
+759 0 obj <<
+/D [752 0 R /XYZ 90 555.337 null]
+>> endobj
+760 0 obj <<
+/D [752 0 R /XYZ 90 516.104 null]
+>> endobj
+761 0 obj <<
+/D [752 0 R /XYZ 90 476.872 null]
+>> endobj
+762 0 obj <<
+/D [752 0 R /XYZ 90 437.64 null]
+>> endobj
+763 0 obj <<
+/D [752 0 R /XYZ 90 386.453 null]
+>> endobj
+764 0 obj <<
+/D [752 0 R /XYZ 90 347.221 null]
+>> endobj
+765 0 obj <<
+/D [752 0 R /XYZ 90 296.033 null]
+>> endobj
+766 0 obj <<
+/D [752 0 R /XYZ 90 256.801 null]
+>> endobj
+767 0 obj <<
+/D [752 0 R /XYZ 90 205.614 null]
+>> endobj
+768 0 obj <<
+/D [752 0 R /XYZ 90 166.381 null]
+>> endobj
+769 0 obj <<
+/D [752 0 R /XYZ 90 115.194 null]
+>> endobj
+751 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F60 172 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+811 0 obj <<
+/Length 1191      
+/Filter /FlateDecode
+>>
+stream
+x��Y]s�6}�W��L-��ϾQ�ٲ����x
0�.���t��{e� �
bB���� [����9��
+4E]4~��s� ;&3�7AA��`�1�V8Q�x7mL
e��^�s��P<k�^�A�AT�7�e�Ѣq���1t@s�F߳�Hg
�96>5H��f�l�l�f�e&6�(ŔJ
�ep�U�DYƳ(
�R��
��T���]��6u�4ʱa0i�1co��
B��a��b�&�Q��&V�L�e`��u��;�!�.�s����B�h���J
%H�EP�a�Q��h��3�
�8��`�����^o4ϙ��2
btCL�+�<ba�b�a��s
�=�Ŷ@�FMl


l�F5��M�V�=��o�
+G���������p����
+�P�Ɩy
+zv��pnph�r���3^�	J at d�>YP
�{B oY�R �U(��2C�
&�]'&,��i�$&c���L���+�Yy�`�����m7�'��ʪ��
$BYx�$|j5CmJ˪G����{��-�1$����
F�[��jA�I
+���=P�?��cnX�pim�g/��	N
T/�k
+��X}�;�yJ6�nĞ���}3C�"�l"��7ώ��8��91n�Z�z!p��d) �����27�WM��Oy�-�-V��V�Sm����N"��!�~�o��Coк�z�����
w8�?Z݂q��j�ܴ�m����թkO懂�K&�k\8�
���my�>^rة�%~���S���5�Y�%��p���.��D��s��t-e�
+!d����l���I��[@k�K��K���V�a�'�*�s�W+]Z<\�]w��R��ˮ[G�%V�*�b����ut�K1�{��Zfx��v�7���˦�%9f���&*��I(����,����8U�C(%$����)Uը2W���-��_�9B��
�y�bpy�Z��L��*WNk���B�9"�a.W�Q�J?�v������i�d؂#�
?
�
�A�N�M�
*B��
+���u�p3&�h^.8:���֜�����C��ĎE���1��,'�q�%/ڲ��t
L󧗢�O���j&������D�`.�o�A�	�A���줘@?Ū���0܄����qy�o7l����xT�K��o���z
+{�������,L�NO⼚[�I��Y��l?{B�
��
+endstream
+endobj
+810 0 obj <<
+/Type /Page
+/Contents 811 0 R
+/Resources 809 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 613 0 R
+/Annots [ 748 0 R 749 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 819 0 R 781 0 R 782 0 R 783 0 R 784 0 R 822 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 825 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 826 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 827 0 R 801 0 R 808 0 R ]
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 682.45 334.889 693.354]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 670.495 382.49 681.399]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 641.398 253.705 652.302]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.675 641.398 335.069 652.302]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 600.347 196.709 611.251]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.201 600.347 327.607 611.251]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 559.295 286.681 570.199]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.651 559.295 458.017 570.199]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 518.244 286.681 529.147]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 506.288 334.282 517.192]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 465.237 320.434 476.141]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.208 465.237 513.996 476.141]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 454.258 123.654 463.06]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.23 320.434 423.134]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 400.275 368.035 411.179]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 359.223 346.446 370.127]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.064 359.223 513.996 370.127]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 348.244 183.419 358.172]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 306.216 346.446 317.12]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.904 294.261 394.047 305.165]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 221.635 251.533 232.539]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 210.054 291.912 220.584]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1) >>
+>> endobj
+789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.075 210.054 498.983 220.584]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) >>
+>> endobj
+790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [503.147 210.054 513.996 220.584]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) >>
+>> endobj
+825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 198.098 264.226 208.629]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) >>
+>> endobj
+791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.215 198.098 492.808 208.629]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) >>
+>> endobj
+792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 186.143 314.597 196.674]
+/A << /S /GoTo /D (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) >>
+>> endobj
+793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.87 156.673 251.182 167.577]
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.617 156.673 403.634 167.577]
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f) >>
+>> endobj
+795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.954 156.673 513.996 167.577]
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.092 153.542 155.622]
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [156.367 145.092 305.029 155.622]
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) >>
+>> endobj
+797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.854 145.092 506.887 155.622]
+/A << /S /GoTo /D (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) >>
+>> endobj
+798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.041 103.666 273.595 114.57]
+/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.371 103.666 453.718 114.57]
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) >>
+>> endobj
+800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.21 103.666 513.996 114.57]
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.085 271.429 102.615]
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.418 92.085 452.409 102.615]
+/A << /S /GoTo /D (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) >>
+>> endobj
+808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+812 0 obj <<
+/D [810 0 R /XYZ 89 770.89 null]
+>> endobj
+813 0 obj <<
+/D [810 0 R /XYZ 90 712.265 null]
+>> endobj
+814 0 obj <<
+/D [810 0 R /XYZ 90 659.259 null]
+>> endobj
+815 0 obj <<
+/D [810 0 R /XYZ 90 630.162 null]
+>> endobj
+816 0 obj <<
+/D [810 0 R /XYZ 90 589.111 null]
+>> endobj
+817 0 obj <<
+/D [810 0 R /XYZ 90 548.059 null]
+>> endobj
+818 0 obj <<
+/D [810 0 R /XYZ 90 495.052 null]
+>> endobj
+820 0 obj <<
+/D [810 0 R /XYZ 90 442.045 null]
+>> endobj
+821 0 obj <<
+/D [810 0 R /XYZ 90 389.039 null]
+>> endobj
+823 0 obj <<
+/D [810 0 R /XYZ 90 336.032 null]
+>> endobj
+824 0 obj <<
+/D [810 0 R /XYZ 90 241.229 null]
+>> endobj
+809 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+876 0 obj <<
+/Length 1961      
+/Filter /FlateDecode
+>>
+stream
+x��Z]S�6��W����F��c!t�
���nwv;
��mb��ʼ���#Kvb�	�
��`EHGG�y·dcm�a헣�ӣ�s
krLjj�;����;�0�W�}���Ƹ7
+oS?}���{g~��	��F��z����~8N��>" kD�2�ek����?�@�
#���}1h���s�M��w��ZxW=sW=�M�3[�A�H�Pj��Ӵ���z���6�\�u]��H��'Fy��u��s����ћ�ԛ�m܃-z�:�A�h."D���l���6 =
�^]����t��
I�w���&�3}�LS�<?�_B�6��[�,���6�9����X
����o"�dc|'��F�#Xr�>.����,���`؀Rd�d[�7Q�����I�3
�S�q��
��e��o.'�/�ó� ��ʉ
�Nbpy�W����rzP$������l�-#ʨ���Ft��
�,�S�w�\�Q{�b)������h���x}r5y�B~%�QX��˳��L�Q��^\�'��hxP��7ʆ��|�o�8�� jģЁ9��H����|
�5�G6Q�P2A	��:�O6�������ğq/W<��
��
���BP5��hx
�w�@��Lb����`1��S
96)Ǭ`}��ł~z#��a�U4�c��Cw�1
�V��
P�k!�V��
.e���xt񣰢lnM)�\�j�%T9�s�Jg�1
?
+����6��cݢM'Dq���|�XH����X������R��_�y	��+��r!����Y8��\����W���~ ���KR�mD���п]򃣯d�5�Y��
�d&��A�wւ�n!��%R?m�؈m��JQR"˃x���N-�
�=�D>0� �]w��]�8�Ψ�Z�upF�5G��ջ�<8)ha�;�B����y��e�Γ��eL�
���V�8 �e
�7~֝8�Ei�qb��%�#�-�c��Q�F�we�_V�e<!	��v���|W�Ģ�L�\U<��L�
U�
��_�Q)u�-[��D��w!h�%� 
Iɘ��E��2^'�'�̻S���2�'��j�Q((0yN��t&%#�F�:�y�=*���5�ܪ�묤�]y�)�-���i�}��(�+�m#���a1�	�:pޛ�M�@�w��1$V�4y_lD�U���HE��:��#������`g�
I[F�ٕ.Yvǻ�GRDz]��|т{cq
��3�"�}�'�
+�MRٺL�pp沍���gŐ,�����:LJ­a�0
+ 6/�I�h`���;��<�`�f��
#����11D3�~E���\Jd+�
��B�
ٕ�m�-7y�
�6vU�"�<)'I����M�n�W���_x�[_��������]�b�nW1u�>����iq%��;�䝎N&�j<�t9�pOF���;J�:
�q�櫌0Q�
f~��x�|��U�/U�W�Rڻs��.����o�^����ƒvI�
��ح�,�*$�p���YW}�\~zEˮ#8oI�m�	��\z����ԅ�;���ɇ��x���Qn�`]�(T���*(no�*�	J-x��u�W�W?
+���[���r�<��vW)���dd�
+—Ey���)�1X&�k�t
+����z2<�N	
�%<�Q�#�
��фG�ɊM���	R
�RR�DJ.�E�6��$xF�m$*-�J�����x�
+Ŭ��}��l��y����
H���^��n�o�~����v+
�ߚ˝Lo�O��vGk~�aB�OY�o9�o7L8^��C~Z�[Ȁ��Φ��@7�8������\�W�]M��U/on2��$>Pƿ���W�^��w¢(F�c
'��(7��V�~_��
��Mu�C�"ϓ���o��
*m	�k<��-
�Z���y��D
:W�[oT~=S����pU��
E3&�E�����D�q쮘v��j�bC�B
+endstream
+endobj
+875 0 obj <<
+/Type /Page
+/Contents 876 0 R
+/Resources 874 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 843 0 R 844 0 R 845 0 R 878 0 R 846 0 R 847 0 R 848 0 R 879 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 869 0 R 870 0 R 871 0 R 873 0 R ]
+>> endobj
+802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 707.957 308.53 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.719 169.601 706.906]
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601) >>
+>> endobj
+804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 696.719 233.262 706.906]
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) >>
+>> endobj
+805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.251 696.719 296.923 706.906]
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) >>
+>> endobj
+806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.912 696.719 360.584 706.906]
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) >>
+>> endobj
+807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 684.42 179.564 694.951]
+/A << /S /GoTo /D (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) >>
+>> endobj
+843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.246 655.905 343.495 666.809]
+/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.682 655.905 425.731 666.809]
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.428 655.905 513.996 666.809]
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
+>> endobj
+878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 644.324 177.89 654.854]
+/A << /S /GoTo /D (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.31 615.808 322.024 626.712]
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.338 615.808 450.122 626.712]
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) >>
+>> endobj
+848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.882 615.808 513.996 626.712]
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
+>> endobj
+879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 604.227 200.565 614.757]
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) >>
+>> endobj
+849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.554 604.227 346.138 614.757]
+/A << /S /GoTo /D (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) >>
+>> endobj
+850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 533.471 237.386 544.375]
+/A << /S /GoTo /D (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) >>
+>> endobj
+851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.202 533.471 324.558 544.375]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 505.329 215.259 516.233]
+/A << /S /GoTo /D (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) >>
+>> endobj
+853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 505.329 302.432 516.233]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 477.188 215 488.092]
+/A << /S /GoTo /D (group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.816 477.188 302.172 488.092]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 449.046 218.318 459.95]
+/A << /S /GoTo /D (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) >>
+>> endobj
+857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.178 449.046 365.534 459.95]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 420.904 223.299 431.808]
+/A << /S /GoTo /D (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) >>
+>> endobj
+859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.638 420.904 359.995 431.808]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 392.763 275.881 403.667]
+/A << /S /GoTo /D (group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) >>
+>> endobj
+861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.697 392.763 434.744 403.667]
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 364.621 276.987 375.525]
+/A << /S /GoTo /D (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) >>
+>> endobj
+863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.803 364.621 435.85 375.525]
+/A << /S /GoTo /D (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.704 336.479 221.734 347.383]
+/A << /S /GoTo /D (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) >>
+>> endobj
+865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 254.142 360.544 265.046]
+/A << /S /GoTo /D (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) >>
+>> endobj
+866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 226 337.311 236.904]
+/A << /S /GoTo /D (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) >>
+>> endobj
+867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 197.859 316.27 208.763]
+/A << /S /GoTo /D (group__Datatypes_ga735949470e98393af90b12f534b06cba) >>
+>> endobj
+868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 169.717 358.87 180.621]
+/A << /S /GoTo /D (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) >>
+>> endobj
+869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 141.575 413.126 152.479]
+/A << /S /GoTo /D (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) >>
+>> endobj
+870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 102.475 366.063 113.379]
+/A << /S /GoTo /D (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) >>
+>> endobj
+871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 74.333 358.88 85.237]
+/A << /S /GoTo /D (group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+877 0 obj <<
+/D [875 0 R /XYZ 89 770.89 null]
+>> endobj
+880 0 obj <<
+/D [875 0 R /XYZ 90 552.588 null]
+>> endobj
+881 0 obj <<
+/D [875 0 R /XYZ 90 552.588 null]
+>> endobj
+882 0 obj <<
+/D [875 0 R /XYZ 90 522.712 null]
+>> endobj
+883 0 obj <<
+/D [875 0 R /XYZ 90 494.57 null]
+>> endobj
+884 0 obj <<
+/D [875 0 R /XYZ 90 466.429 null]
+>> endobj
+885 0 obj <<
+/D [875 0 R /XYZ 90 438.287 null]
+>> endobj
+886 0 obj <<
+/D [875 0 R /XYZ 90 410.146 null]
+>> endobj
+887 0 obj <<
+/D [875 0 R /XYZ 90 382.004 null]
+>> endobj
+888 0 obj <<
+/D [875 0 R /XYZ 90 273.259 null]
+>> endobj
+889 0 obj <<
+/D [875 0 R /XYZ 90 273.259 null]
+>> endobj
+890 0 obj <<
+/D [875 0 R /XYZ 90 243.383 null]
+>> endobj
+891 0 obj <<
+/D [875 0 R /XYZ 90 215.241 null]
+>> endobj
+892 0 obj <<
+/D [875 0 R /XYZ 90 187.1 null]
+>> endobj
+893 0 obj <<
+/D [875 0 R /XYZ 90 158.958 null]
+>> endobj
+894 0 obj <<
+/D [875 0 R /XYZ 90 121.584 null]
+>> endobj
+895 0 obj <<
+/D [875 0 R /XYZ 90 91.716 null]
+>> endobj
+874 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F82 260 0 R /F24 169 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+914 0 obj <<
+/Length 2227      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�~���[��@��JR��j
o��W��f�TI��H
�q��Ӹ(��e���<g��� ����~�]]��У�5[Y!�|"׃���d;t���W��DB6�����l4�M���hv��������"?���է?����_-��0�^䢭Ũ�Ԛ^�~�5+��d-p� X�`�����	A�(>�e�-Y�Q:Rۋ�R�2�'�Z��MT�W�]��7|Y
�k�KJ���^�����\�W�V�U�9���q�j
�w�yVVjv ��������R�1j
	E4Ъ�L���d}��uV&���p�	uk���\.<==̟
>��F��d�p3�
ϧ�?O�M;�=�4L2D��4-��@��<�ɼP�/y�j!�\�ŒM��-g��G�҈���aw��

���Wy�Cd0$���WQ�J�i �2.�]����%m2�0
�l`{��K��q0�WB@ѐ��F�,��ث�2��
+6��Q�T���Q�eDZ��v��I����E`�h0d>�g�p�֮�~�/��.���"� H������h�x���{����dWk���^}�<�J�F:
)=A#΋���<Ӷ �좯����
�Iq/�H$Z�{Ug�PG��_�Q��M5����r��m��	F!D�!��u�k���-� �8���
�e9�͈]&�]������ �%��Lu���ۭU��h�����m&�E�E�W��›�F�j`�W=����
V�P��h� ��!�3��x�
⛅���/�<&��q������7� �V��h�S�A�G�C���U����
�{dw�#N�/�lx��d
�w	�ECW����Ki�0/�F�snո���b=#s�r��C
����p�S�&x���vR �<GR��kPV����<K��x
��F���%q���'�q �:��,�AP��<�A`�N�h�=�M%�&>Wm�Ft�
��$
+A��em��>r�k��;jUG
w̚�.=.{(H��b>C.x��⇢0��G�9��(�� �`-g��8��y���	�b��=SZGT$��K�	<
+j~�=��B�u�����}�cC��0�
k����U��';�̺'
���]�L�S��ɉײ��2�r.=��jH2~h�hmyr��tlHD	
+ޡs�	/� b�_�$�n�_�BH�����p��SS�}AHZX�KԄ:p%�CݍHoNМ"ڍ~TOVO��CPtԥ��R$W�H}�
������(��A��J}�qi��o&�t���J��[����X5���^	V0�Ofl�s�4
J\ ��(�A/�2~$E���Tb
u�#�
I�ڑ�4��H� B�R��B`Y'Y��-
�r���5]v]׆d�2�� �J�ۓ�xa���J�IZj��6%���D�S�꒘�^l�]yBY��
��^Y~B[E,h4z�l��l���y�F(�V��U���,:�����8LW�b�)�Eg��:V^f6�D%�.��l;e
�$��s� -x	u]y��sM��Xqy=x3�c�ĽC�ut�
e� k��Lk��՝&�suΉ���]�	�A�g�v~+/��=�
|f���j��dT�
1u�[ ��J޺!�	&�-L�Ծ���/�aP �)~Z`��Oo��	�^�tPEN<�>������x6�}|�F��|�ϛ�9�H�"�6Ӭ��!햌&M4 BHժ$�M�@!G�"K,��o:���(�M\�'|�A�m�Y��@�o�
�#o`�8��~�y8�%a����9�e}� _7�,e'���*�5�ȥ�?��A�M�T����@
z�5x�]�)X ��0�
���4����f6�\fW��|��ٕײ+�G��b��	
+|�b�ފY.y�����!��u�*=��U:w�N��
����xr�����21�
7hI�e�a���d�o�t�w7�&73pU��ǣ��n�cwmD욜��$�o��!���
���g�cp�8<i\�^a���
j�op��~|
B��|'��v�&���Q��x��8}�\��
0�;9�Ӽ�
�*���jⱅ:��Vkmd>x���\	ߧr�ݖ�f�
���:�/9;��ၠ|� ( Ob�|�p��
�0V�[�y��u
���}�}��K^�E\05t�EY�gI<����� AX�p��Йr��_��u%��-��h�$�MU�~��^�k(��(η��?l��v��<vls��$9D^
���Ɓh�
+endstream
+endobj
+913 0 obj <<
+/Type /Page
+/Contents 914 0 R
+/Resources 912 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 872 0 R 911 0 R ]
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 695.671 353.351 706.575]
+/A << /S /GoTo /D (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) >>
+>> endobj
+911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+915 0 obj <<
+/D [913 0 R /XYZ 89 770.89 null]
+>> endobj
+916 0 obj <<
+/D [913 0 R /XYZ 90 712.265 null]
+>> endobj
+917 0 obj <<
+/D [913 0 R /XYZ 90 668.739 null]
+>> endobj
+918 0 obj <<
+/D [913 0 R /XYZ 90 514.126 null]
+>> endobj
+671 0 obj <<
+/D [913 0 R /XYZ 90 489.837 null]
+>> endobj
+919 0 obj <<
+/D [913 0 R /XYZ 90 489.837 null]
+>> endobj
+920 0 obj <<
+/D [913 0 R /XYZ 90 382.583 null]
+>> endobj
+828 0 obj <<
+/D [913 0 R /XYZ 90 358.294 null]
+>> endobj
+921 0 obj <<
+/D [913 0 R /XYZ 90 358.294 null]
+>> endobj
+829 0 obj <<
+/D [913 0 R /XYZ 107.713 280.033 null]
+>> endobj
+830 0 obj <<
+/D [913 0 R /XYZ 107.713 265.423 null]
+>> endobj
+831 0 obj <<
+/D [913 0 R /XYZ 107.713 250.812 null]
+>> endobj
+832 0 obj <<
+/D [913 0 R /XYZ 107.713 236.202 null]
+>> endobj
+833 0 obj <<
+/D [913 0 R /XYZ 107.713 221.592 null]
+>> endobj
+834 0 obj <<
+/D [913 0 R /XYZ 90 213.738 null]
+>> endobj
+922 0 obj <<
+/D [913 0 R /XYZ 90 209.255 null]
+>> endobj
+835 0 obj <<
+/D [913 0 R /XYZ 107.713 130.112 null]
+>> endobj
+836 0 obj <<
+/D [913 0 R /XYZ 107.713 115.502 null]
+>> endobj
+837 0 obj <<
+/D [913 0 R /XYZ 107.713 100.892 null]
+>> endobj
+838 0 obj <<
+/D [913 0 R /XYZ 107.713 86.281 null]
+>> endobj
+839 0 obj <<
+/D [913 0 R /XYZ 90 77.486 null]
+>> endobj
+912 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F60 172 0 R /F82 260 0 R /F24 169 0 R /F72 194 0 R /F106 568 0 R /F11 610 0 R /F8 611 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+926 0 obj <<
+/Length 1821      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�F~�W�b&�wW�Jʛ
c�m\��t�
#`M�Du	���goB`
+��v�O{�:{�\�s�����uۺ�.n|l�(d�Y��b�wC�1x�Y�l�X�C0��]<ɣ|��P��Q��5/�
��б
��e��
�~o��-�dy��i���[3��ha䄁��L��R֕5l���Z-��'H�h%z�$!��ZG� G��ӶoW�P��6/@��
��z��JƷy<���Q���Q�wm0M�c4��aMI
-�C)"�W�y1���pQ�䊘��6��9�yZ���q:�l�\�
�BSF�����t0
+C
+y�s�R��<���ߗu�^���H�|
Z
X���=>ލo���m��;�
���o���]�{�Y$��0��}d�r�b�k�DjY�)G�k�1Wt�-<������;�N�L���?�y
�Q�K��=�>����U��{���f $|��Y��Z�x��E
��?b���D���x�U��ƽ��
�K��s�v<+��O�@�~n�X�<H���J� �k\��"K�[�����sv��ꍆ��E(�
h[�8�A}NB0n$��>
+@��x_}�:x{y�C_%���+���+��-W��,=M���v-}ϓ�
1�t~����~x~�:)�
hqQg�wwO!�q��J��U>=
{���S� �u�yJ�x�3'q*�-v�}(��Vw���C���{�=�6<�EX�2Ԋ��VDқ%
1�LUڞ
��7�_~Ѫ��x�̩�D���%�iI�6���$g!T��}�C���T�f�zœz�2X�ǮhRd���O�F�I
'D�!�R��������3�N&��w�N_�^� ;7B|�)�
�f��N������]�y�<�|
�D3h����O�2a�K_A���1�7y�^��B#1�*C�1�^ES at O�=Z�z7�QZG�4��W�/��lIa��uY�(���T�@�ש��&s�q�;,�ωf$a�yw�"e�f}]��<ՓQ�ͪU��	�΄F �Z�-�C�P�� ;���61�n�c:7c�ܐ��l5
�
��7�3�x9mB���(��vpB��V���
����P#4 Ļ"���U�� 8
�uY�!r���a}ݱ���E>��S��*�u�3��
+
+�ɀ�>
+���%�{J�
�R��hx��|���]�>���!�KA�v����R�.^%��0�*x
gU�
���]!]mƵ8�em��'js�k�Q���*)�>C��*}�������q�@�������k�Em�UfX�p}PuX���������R,AM�t�s-ε7q�T/�M��F��
 ��(F�[<��^������cf� ��;�bU �k`�'�*.�jO��d�����>S�Pn���Hߐ��\�I��s^�2UԲ�x{ϫ���t�*}) C!�9��4�
y�G�D�H�uIT���H]��?�����]�\a
+�]�:��S%G��:+��+т@PU
��5�l:�P! B��0�e�`]E颊���0$
���
��N�_�<`v)�
+�a�g�p\�5ҿ��e��tMc��4��*P���2�.�f��
+M6�ܝ��i]
����Tq45��
C�aeL��i�Kz�� ��0��+��b��Jʧ�( �
�d������ܜO��Ň�n�Ց�����V�����ڿ��*k�q���

�<x+�Z�4�ԓi��"0 ��'H6S ��}�V�Jџ��uPv�a��n
+r��4
e�W�P?��մ�2���<�e�~q1��@0����a߇���sS5�̔�8��D�
�����
��F����Co�����h��9�7.z�c]g�ݏ� ��6
+endstream
+endobj
+925 0 obj <<
+/Type /Page
+/Contents 926 0 R
+/Resources 924 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 923 0 R ]
+>> endobj
+923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+927 0 obj <<
+/D [925 0 R /XYZ 89 770.89 null]
+>> endobj
+928 0 obj <<
+/D [925 0 R /XYZ 90 721.073 null]
+>> endobj
+840 0 obj <<
+/D [925 0 R /XYZ 107.713 645.429 null]
+>> endobj
+841 0 obj <<
+/D [925 0 R /XYZ 107.713 629.639 null]
+>> endobj
+842 0 obj <<
+/D [925 0 R /XYZ 107.713 613.849 null]
+>> endobj
+897 0 obj <<
+/D [925 0 R /XYZ 90 602.107 null]
+>> endobj
+929 0 obj <<
+/D [925 0 R /XYZ 90 597.623 null]
+>> endobj
+898 0 obj <<
+/D [925 0 R /XYZ 107.713 516.474 null]
+>> endobj
+899 0 obj <<
+/D [925 0 R /XYZ 107.713 500.685 null]
+>> endobj
+900 0 obj <<
+/D [925 0 R /XYZ 107.713 484.895 null]
+>> endobj
+901 0 obj <<
+/D [925 0 R /XYZ 107.713 469.105 null]
+>> endobj
+902 0 obj <<
+/D [925 0 R /XYZ 107.713 453.316 null]
+>> endobj
+903 0 obj <<
+/D [925 0 R /XYZ 90 442.514 null]
+>> endobj
+930 0 obj <<
+/D [925 0 R /XYZ 90 438.031 null]
+>> endobj
+904 0 obj <<
+/D [925 0 R /XYZ 107.713 355.941 null]
+>> endobj
+905 0 obj <<
+/D [925 0 R /XYZ 107.713 340.151 null]
+>> endobj
+906 0 obj <<
+/D [925 0 R /XYZ 90 316.453 null]
+>> endobj
+931 0 obj <<
+/D [925 0 R /XYZ 90 311.97 null]
+>> endobj
+907 0 obj <<
+/D [925 0 R /XYZ 107.713 230.821 null]
+>> endobj
+908 0 obj <<
+/D [925 0 R /XYZ 107.713 203.076 null]
+>> endobj
+909 0 obj <<
+/D [925 0 R /XYZ 107.713 103.553 null]
+>> endobj
+924 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F106 568 0 R /F11 610 0 R /F8 611 0 R /F10 612 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+935 0 obj <<
+/Length 1243      
+/Filter /FlateDecode
+>>
+stream
+xڭXK��F��+t�T5�~�ۛ��8�,>9�-K$,D����h$!�����F��=�}�H�H�����h|�I`�*���<�$�‚T�6
>�\D�'��
P�P��}���ɛ��m�f2�:�����K�&��G�>�`���ܚ�[�h
��
+
F�Hm
+&��=j�
;0�R��[�@��bJ	�vٴ\�Y3f���t�N�2�����*p*f���
��{N#
>%���1�1D2�\4�������`y��fu�(�XFeJ���3��ױg��`�FZ��Y�5�o�P�&i���f@�E���o��ZT�n�b�-w�	I�XZN�l[���0j
T
�h�)�EĐ?��H����l�\d�l`Cn��v�2�!O���5q!P}uZ����Y�)��N�I���O3�1�lc at Z)k��<�$L��K
���UZ!�cQ�a�	0D� �"�1�ͥ�&�
G�ؾ��2K����q
��0��ī4[��
��s�h����R���D%��� q��^䘡��7��4�[
yq(�-�O��*��N�^@(�{
+
`q �K},��e�&"I���F�����)��>7>��[>�O�m�L
��-�Li;8KL�b"Aq��q�aR$�L1ph���w������P��<� (ط ���C�X��g�&��y�[kx7̅����"�8k�?�XP+��To�Gid���4��bڌ�‡�|5k_ZB5<���=����*�
��
�����p�F�B^b�a-�y���",��v��cU8O���a���[���>�T������p���
��Jڃ�(�ϛϸk|Oa�X`
�� cm��8�c���Ǻsp!WW
,NZ�6�.?�� .�x� =�[�틳�
ޚ��:ֶܗ�sUd�>/=M�F\ʞk�={�l~�d��Tn�:E
�X�l�f�֜'�EF�k���V���
_܍gW��V���9���Y��T_�F�X���Cl
�ӓT��D����"�3���.�Q�����n�_�)?�5��O��7)��<b2D�#)�~�xܥ�f����t�i�?x���՚U���c#SO�߮y�:����Ÿ_�߰�8�Zs���
^g�5}��߿��W��>��dQ}�ao[�i��o��M��kj���d�d��Z�\ZL�m[d)��C�%|H�ڥ��������Hc]�
f�+�SYn~���[
C����
�^Xk ��µ��΋���u�

��?�z
+endstream
+endobj
+934 0 obj <<
+/Type /Page
+/Contents 935 0 R
+/Resources 933 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 932 0 R ]
+>> endobj
+932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+936 0 obj <<
+/D [934 0 R /XYZ 89 770.89 null]
+>> endobj
+937 0 obj <<
+/D [934 0 R /XYZ 90 721.073 null]
+>> endobj
+910 0 obj <<
+/D [934 0 R /XYZ 90 704.201 null]
+>> endobj
+938 0 obj <<
+/D [934 0 R /XYZ 90 704.201 null]
+>> endobj
+939 0 obj <<
+/D [934 0 R /XYZ 90 633.655 null]
+>> endobj
+933 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R /F60 172 0 R /F83 262 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+961 0 obj <<
+/Length 1928      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~��������*R�0�[�!�Y�=���ڴ#L�\In��Ûlي�$ڰ'ݨ�s�>�C�h����ף�WG	JbG׋(���	1<ͣwc99���Ӻv��l��E�6YYL��?�LL��~=��z�qD at 4��%�T�l5z�'����u�KTtk�"N\������ZaD��5�����%	F��VI��VK���4��Kw�	J���qtƌ��KF��^��C	#c�
+�q~�P������Qۙ	�H$���\��_V0}<n���Y��� 9�t 
�B���W��i��t����)�Q��A��{��ӿ�7��鞙�m��d(zg�YY���
K$�A�_���N���Ӧ�q58)6�Ԁr���M:��C�ez,Rp�}|��MWm(��_Ż
��Q�QN��D���Z{I���Yl��A�� ���AV,ݣ!s�����
H�7됡52���
� �D��z;�̊Y��k7~;R0$���
��GD�'a ��t6���\W�G�b(Vq��s�!�8�@�)B��7:O=w�x�:�H
p7 �����v�jn�&��Z�����Wz�AW{�B �t�ՠ�� ai� ��y>��@��� �믝�u�-
��{�q���cv� {��"D�=���K��L �gE�_0UK��7v ����*Ʒӗ;6���R�40��Ĵ�ם)�D��{��0ϙ�)�c�a!�
�S`��9��ݴ�c�d.[;��(Q���t�5G��(��1�i�a�M���7Y>��ɥ�����/G�-��`�W{�p[�׮����t.�?$\��j€����
+��Vc��Ru�u�:�A����;:�}�vFL�(�2~F:�?3
���\
�^�6��G�1���c���#���Ѹ�bW_��*A

+��s�b�����#pX�V�0s�@b�v��>:�7w��_�;�S��A�P��!�� AZ�|�8o�3Y@��_8ըY��
�����-z�6.R$V(�n0D�{�H��|H�	�t�s�
�R�B�)�%��� ;��c0�
��3wM{~�j�
������9$�Zw�Vf�S�هW
+��B���=�L���r#���bDI
�y݇#�N�IT
ɀ��\��J�Ӗ���:F�)��@��e1�x�)ͳy�VKmy�=�6,nBƻ
���  �6)����_�O
��ꍣڃ�<��b޶u�]�~�!�Y�:�&|��`������s��Z��)�șYΘm��˚ra��z��
���e1s/Mw�j�V�?~����u=I(cǝد���r�V՘{������G�I��6�O���zJ*�#
ʓ�"��E�E��9��
������Q�C��0q�����yz�|��L-F=7����]�Z���fK`�w��g�*L�\
Xf=I�%��7zb�?ؒ���`�^T����R�.���B��ź�8�_ܓ������i�Iy �GqL�J��?ڬ SX���5
��5��s���n6�����,h.�j����S�biik�D�d�-�Gג��jz�=Ō������m
������v��=u=t����{PH���Z6Š)�\x��q>�
��;�9/��X���v�s�ʣvk�	�۰PP��1�)k��ڃ�
ݤY
��/t=����)�������a���:�ּ{Zڙu[Eg����;o1E�}�ߗ�0
+�`��{�(�[��F�\���
R�3�ݔ���v�6&B���F;j��7�HB at O<�GR�%r��P��D�����.���r�.u��\�G������{���&��p�'j�\���d6����e�3��(��<�GA[����&-2o�f�����fY�b�f�����,%��u�͊U�a�^�l�p�-0�����?�0����{o?������.J����ED�
+endstream
+endobj
+960 0 obj <<
+/Type /Page
+/Contents 961 0 R
+/Resources 959 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 940 0 R 941 0 R 965 0 R 942 0 R 967 0 R 943 0 R 944 0 R 968 0 R 945 0 R 970 0 R 946 0 R 947 0 R 971 0 R 948 0 R 949 0 R 973 0 R 950 0 R 951 0 R 975 0 R 952 0 R 953 0 R 954 0 R 977 0 R 955 0 R 956 0 R 979 0 R 957 0 R 958 0 R ]
+>> endobj
+940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.879 523.929 363.032 534.833]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) >>
+>> endobj
+941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.621 523.929 513.996 534.833]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 511.974 194.603 522.878]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 485.029 513.996 495.933]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 473.074 186.852 483.978]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) >>
+>> endobj
+943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.07 473.074 401.644 483.978]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.954 473.074 513.996 483.978]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 461.118 282.981 472.022]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 423.214 513.996 434.118]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 411.259 186.852 422.163]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) >>
+>> endobj
+946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.101 411.259 403.675 422.163]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.005 411.259 513.996 422.163]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 399.304 278 410.208]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 372.358 370.103 383.262]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a4ce5a35bce2cfe414dd42739b15819c7) >>
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.321 372.358 513.996 383.262]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 360.403 194.603 371.307]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 293.777 392.768 304.681]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.986 293.777 513.996 304.681]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 281.822 237.761 292.726]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+952 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.184 281.822 392.848 292.726]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 254.876 386.153 265.78]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) >>
+>> endobj
+954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.371 254.876 513.996 265.78]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.921 194.603 253.825]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+955 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 215.976 386.71 226.88]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) >>
+>> endobj
+956 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.928 215.976 513.996 226.88]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 204.02 237.761 214.924]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.222 204.02 485.808 214.924]
+/A << /S /GoTo /D (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) >>
+>> endobj
+958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+962 0 obj <<
+/D [960 0 R /XYZ 89 770.89 null]
+>> endobj
+58 0 obj <<
+/D [960 0 R /XYZ 90 721.073 null]
+>> endobj
+408 0 obj <<
+/D [960 0 R /XYZ 90 699.397 null]
+>> endobj
+62 0 obj <<
+/D [960 0 R /XYZ 90 699.397 null]
+>> endobj
+963 0 obj <<
+/D [960 0 R /XYZ 90 595.769 null]
+>> endobj
+964 0 obj <<
+/D [960 0 R /XYZ 90 539.529 null]
+>> endobj
+966 0 obj <<
+/D [960 0 R /XYZ 90 501.27 null]
+>> endobj
+969 0 obj <<
+/D [960 0 R /XYZ 90 439.455 null]
+>> endobj
+972 0 obj <<
+/D [960 0 R /XYZ 90 388.147 null]
+>> endobj
+974 0 obj <<
+/D [960 0 R /XYZ 90 309.376 null]
+>> endobj
+976 0 obj <<
+/D [960 0 R /XYZ 90 270.665 null]
+>> endobj
+978 0 obj <<
+/D [960 0 R /XYZ 90 231.764 null]
+>> endobj
+980 0 obj <<
+/D [960 0 R /XYZ 90 164.514 null]
+>> endobj
+409 0 obj <<
+/D [960 0 R /XYZ 90 68.474 null]
+>> endobj
+959 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1007 0 obj <<
+/Length 1869      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ ЇJ@�ޓ�E��G��M�D}J��VQ�T(�q�}gR�DˊM�I-wgfg�9v��[x����۸wv`O"�S��=���K$|�5�>�?�4~�1?DD��Ȍ��}3�|3~���.ǽ/=��G�z��Л&���7���
FL��W3)�8e�\y�{��#*�~8�B�����
~bE

	Ƹ�^�� � ��Y°<&
C"
*yZ8Ƒ����U��~ĘN�M����v$B"��"����<JT��C���ȗ����]��"��`HiؿNA�y4U��;5�o*W)�h�J�]�u�
	7d��#�Ȏ!���V %p?Jg�e�M�E��n|���et=r3�-�Ⱥ��i) ��
� ��[�?��t��);6��)
+ at Y����
+�L9�8�N�*��
-[�
�a�J�Z
5�o��Г@�1o�(� �Y�N��Bͬʯ*�
�7nh�#�MV(��b�ڨR��%���D%�U�g�H��G|ę�,�*
CJEsև� ����
k��
��wf���'�j杌DTȟ,T1��S�˻u�6j����w|/'k7�Mq�W�F7Z��SC�J84�4Dܗ`V�`V95��hm�ԁ�wfД��M�� "��ϳu\��;�����[�b���\9OhRfSI9�b	����P܇�
D k	��WalO."Bp����u�`��@t4�P�Z?�{��&#�!lN3��T��g�
�V�x\j�Gqɨ4�gq�R
;�M2-8�ջ�q�?za��|���N�+�� �Lplc=֬g���}�Fy
}.=��Q2�^��m���
VLK����H�
+�t�D?�Q8?��'4$���8]fI�P�ʶ�	�&XB��,��� 
Zg�7|�ρnU? *:�cM���Ѐ�JB(d��],��"Ie�A��T�%qY~m%}�(. &��i���?*�z~j� 2�@<6$��4aG%
+ �)T�N!��z[����T�p�����O��.���d���#0k
L�U��ݩ�\;2G�8G
�lZ�
+��W���
d�
+Ym蔈����)fٶh�.�� �J�݄"
�;����Ƽ������n
n��۩�
4����
+GrW�l�\E�	��3#���p�0":�H3�-�[��Nf���dʂ���"" E�D�E��0�.�ҵ	#���:�y�ih�C ) ���R�.L��*��_w]���85�֋��u�4EG��2���/]6tY�
��m��To�M~�#,Y�-{�	zDh�z���fǓ�6Y׬�rOe��{W�
	��NF(�!"M|^��KQ��ʩ���v��/*����[*#08�U�wUgY�FN�8�6�I�B�غˢ�k�E�ǡ�k\��k�<=9��+*}$x�,�n`�]"K_���dd���,i=.�`W���^�똨[
CFg��(!�zJ���Uy�~�6�<^���G�ן���߻�5K�5;�;�4�o�j��$��Nc��c�
C���|���UC9ս�*��P����Z!0�amo�q��IJZ/bO/�l�M�Э�P,�ͽ���p���T����<K�j�yi��_gwD0]��-�yZw��Nѷ-�6|��uÒ<ʪc�N��[�I�T�tw [...]
�]'̻Ȁ؎��
w

�l>�
�Q�A!AJ���0�ؗs�����6Z��ׇ����n�
�g�n˰��[
� pVq|Jgg4�T���U	1+�?�������8Geuu�,��˳������f�!Vw�ဃ�]�-їdyu�
����h���<nF
+endstream
+endobj
+1006 0 obj <<
+/Type /Page
+/Contents 1007 0 R
+/Resources 1005 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 896 0 R
+/Annots [ 981 0 R 982 0 R 983 0 R 1011 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 1014 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 998 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R ]
+>> endobj
+981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 583.286 324.618 594.19]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) >>
+>> endobj
+982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.836 583.286 462.499 594.19]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.307 583.286 513.996 594.19]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 571.33 172.909 582.234]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.55 543.165 275.234 554.069]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.678 543.165 414.341 554.069]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 543.165 513.996 554.069]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [130.966 531.21 202.448 542.114]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.231 503.045 336.604 513.949]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) >>
+>> endobj
+989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.729 503.045 475.392 513.949]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 503.045 513.996 513.949]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 491.463 167.678 501.994]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.33 462.925 284.573 473.829]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) >>
+>> endobj
+992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.797 462.925 424.461 473.829]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.515 462.925 513.996 473.829]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 385.846 275.539 396.75]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) >>
+>> endobj
+995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.354 385.846 414.018 396.75]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 359.809 278.856 370.713]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7) >>
+>> endobj
+997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.716 359.809 477.379 370.713]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 333.771 283.837 344.675]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61) >>
+>> endobj
+999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.177 333.771 471.84 344.675]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+1000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 307.733 289.925 318.637]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) >>
+>> endobj
+1001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.74 307.733 428.404 318.637]
+/A << /S /GoTo /D (group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) >>
+>> endobj
+1002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 281.695 284.385 292.599]
+/A << /S /GoTo /D (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) >>
+>> endobj
+1003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.201 281.695 396.852 292.599]
+/A << /S /GoTo /D (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) >>
+>> endobj
+1004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1008 0 obj <<
+/D [1006 0 R /XYZ 89 770.89 null]
+>> endobj
+66 0 obj <<
+/D [1006 0 R /XYZ 90 721.073 null]
+>> endobj
+1009 0 obj <<
+/D [1006 0 R /XYZ 90 629.693 null]
+>> endobj
+1010 0 obj <<
+/D [1006 0 R /XYZ 90 600.731 null]
+>> endobj
+1012 0 obj <<
+/D [1006 0 R /XYZ 90 560.56 null]
+>> endobj
+1013 0 obj <<
+/D [1006 0 R /XYZ 90 520.44 null]
+>> endobj
+1015 0 obj <<
+/D [1006 0 R /XYZ 90 480.319 null]
+>> endobj
+1016 0 obj <<
+/D [1006 0 R /XYZ 90 400.992 null]
+>> endobj
+1017 0 obj <<
+/D [1006 0 R /XYZ 90 376.838 null]
+>> endobj
+1018 0 obj <<
+/D [1006 0 R /XYZ 90 349.106 null]
+>> endobj
+1019 0 obj <<
+/D [1006 0 R /XYZ 90 323.068 null]
+>> endobj
+1020 0 obj <<
+/D [1006 0 R /XYZ 90 297.03 null]
+>> endobj
+1021 0 obj <<
+/D [1006 0 R /XYZ 90 255.19 null]
+>> endobj
+410 0 obj <<
+/D [1006 0 R /XYZ 90 143.749 null]
+>> endobj
+70 0 obj <<
+/D [1006 0 R /XYZ 90 136.981 null]
+>> endobj
+1005 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F11 610 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1052 0 obj <<
+/Length 2448      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s۶~���[��ƍ �<�I�I�69���v<4	I�H��K
�ןō7Ӳ\+I�3&���,�����_�~�8;b/F��»Xy1�B
�@�[�}�C�K�1������R��˜��,��&Y/�4������*I�y}'W�Z�ȗ�Q����/~=����3�c���F^�;��7�2���Èőw��<N<������a�7F4PM�����d� B�&��m��L��/�"m�5?���K1���#�cC�/
�?����$�k��v&�m��q'wW �^�E�"��{F� 
��	�
ρ@S�iSV�C�Ǻ����a�(2�x!��C�$
��[���n��`4���
@�9�`��檵U�;=@-��Q�
�k���2��&(��I��ۈ�e3�
���D1��'�4���ɖ9�+v�>=���yL\M[����(⑕��j�B_��Œa�'��|A��Tm̡���Λ��)ٶ�tbKF�Q�t]�c�����[i~^�zu' �4���3 5
.�o,@���g��Ium�Ӂ
�2Fq;�1#Y��P8�C�[2  &�&��	��UU�.w�/����	��5jän~9���
!�l�4
+C4
+{|��<�1�j���@U}���,L���h������4&
�����f�D9�\[|�AS�b
�ƿ��0�2��r����a�x�
��pQ(
�9��e��h��uσ�B�@a�z��a*��Q�B8F�}3c�>n�Q�P˹w�����2c'
(���8.���۬� 9�>�ȧ��7�U���� M�
�� �I�!�YM�Ng5*M)�.���LN4S'5�8��D�$
+!q5&�Oa
�N��C(����yDDP�#'c\�t�긜Q	Є�]s*� X����4]p����Q&8���@h�h

+C�F��:���
"�
����#�K����(�� 
��9��Hx�"�Ȩ
1Da��r&����B��	{#��d�U���@�%]��4l��muD���ŧO���P����P�K>j�a_�֞v�تlڗE��ja�J3)uD���ִt�Gִ���+9���I-3t�y~IA
}�'1w��$[�)
�S`�vA��J��ON����	u�߉��{�La8�R��ЃBE}�9l���!6n����������/
��E���|���9QgiM[�x�x��}Y�
�*�s�t=$�ͽ1��C�	u�����Ҹ���4څ�#�i�{]٥3�N��V�1
����
7�p��o�.�:�
�#㐫<)�ZB빌0�I�`�e��0�����$�;�n��j�����
�����
��f���U��_�U
�X2h�Y�U��
\2y���o�ם�߷([���� D�ѯi(y}yU�E�;
��̳��K��`�s`�y3ɘ�4
�vφ�p��P	
��V�P?��FN�Gݖ�,��B�zL�
?dZ��?�3‡!Z�!����	^���#e��z��J�K	��ْ����Ln��A$Fvk٘��g�.;����ڝy��홭�	���X��'��W�K���$�Oc���E��"�
\����.b1��
\�.� \ ��CV&3p�E8�
؇J~���o@��EL��PD�8
�
�ܕ�3�pL�y���7�.�>�W����W0��
�ݷ����
�8�a����=����v��(���8 at 1=e�
4�z��^�z������e@���\Dz�T2ٝ������������wBD�L��" a���@��c�<2$ ��c&��t�T��G�!h� �n
�����غ���H�9��Je����o�u0�`�d�!�H[u�qS��G�>
9���d���
�~f���N 9��2�߲d4��%<#���A���y!�$ߺ;//d�V�^�
��r��7��s�;
+vwY&G�t�s��7B}^6d�Eǁ�X��4��1��^5�X��6�U��ty&
%�Ԛ\)
�kIj�R��}UVwj|y�0�:�gx>_�
{d
+.y�K�
�/�^�B#,���z�"�n�&�a�!�U]�@�c�^���u�
ݭ�}��4���wɍi\�]I�����C�����l
wկ�J�y�kz�J:A�kY�n@'�I��fNӃ�(ϕI��v�(a
�A�}
��f�3ҝT;F�G���62�8Ţ�T���r�F��ba
�`JU?(�VI����>�:럢K�	�f_�BV��Q�&�lU�O�Lu5
+�ҭ|:��D ΢�5��vڗ�d��H�7�Qӫw�B�ʎ�z�/���C`�\��!
+�h"B�U�xn
��b�&k9�+8ݟ��~P
[���m�]
*"Z�=$�F���^J�O����k��r:`Y��U7M�z~~ծkY�QZ�n{�~r",��CŮ����*�i� w���;P%C�Vb ���cꏭ�7h��D�q�jǼ%(���n�a�
+endstream
+endobj
+1051 0 obj <<
+/Type /Page
+/Contents 1052 0 R
+/Resources 1050 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R ]
+>> endobj
+1022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 641.225 223.166 652.129]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) >>
+>> endobj
+1023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.982 641.225 298.463 652.129]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 607.294 277.402 618.198]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) >>
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.218 607.294 352.699 618.198]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 573.364 296.52 584.268]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) >>
+>> endobj
+1027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.336 573.364 371.817 584.268]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.682 573.364 489.176 584.268]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 550.392 285.96 561.296]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) >>
+>> endobj
+1030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.775 550.392 361.257 561.296]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 527.42 305.078 538.324]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) >>
+>> endobj
+1032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.893 527.42 380.375 538.324]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.48 527.42 494.974 538.324]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 504.449 230.608 515.352]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.423 504.449 331.917 515.352]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 450.053 244.456 460.957]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.271 450.053 345.765 460.957]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 427.081 221.203 437.985]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) >>
+>> endobj
+1039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 427.081 322.512 437.985]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 393.15 252.755 404.054]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) >>
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 370.179 222.319 381.083]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 336.248 223.973 347.152]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 270.893 238.369 281.797]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) >>
+>> endobj
+1044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.184 270.893 339.678 281.797]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 247.922 241.686 258.826]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) >>
+>> endobj
+1046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.546 247.922 403.039 258.826]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 224.95 246.667 235.854]
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) >>
+>> endobj
+1048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.007 224.95 397.5 235.854]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1053 0 obj <<
+/D [1051 0 R /XYZ 89 770.89 null]
+>> endobj
+1054 0 obj <<
+/D [1051 0 R /XYZ 90 704.286 null]
+>> endobj
+1055 0 obj <<
+/D [1051 0 R /XYZ 90 655.571 null]
+>> endobj
+1056 0 obj <<
+/D [1051 0 R /XYZ 90 622.282 null]
+>> endobj
+1057 0 obj <<
+/D [1051 0 R /XYZ 90 587.898 null]
+>> endobj
+1058 0 obj <<
+/D [1051 0 R /XYZ 90 564.926 null]
+>> endobj
+1059 0 obj <<
+/D [1051 0 R /XYZ 90 541.955 null]
+>> endobj
+1060 0 obj <<
+/D [1051 0 R /XYZ 90 518.983 null]
+>> endobj
+1061 0 obj <<
+/D [1051 0 R /XYZ 90 464.398 null]
+>> endobj
+1062 0 obj <<
+/D [1051 0 R /XYZ 90 441.615 null]
+>> endobj
+1063 0 obj <<
+/D [1051 0 R /XYZ 90 407.685 null]
+>> endobj
+1064 0 obj <<
+/D [1051 0 R /XYZ 90 384.713 null]
+>> endobj
+1065 0 obj <<
+/D [1051 0 R /XYZ 90 352.508 null]
+>> endobj
+1066 0 obj <<
+/D [1051 0 R /XYZ 90 287.142 null]
+>> endobj
+1067 0 obj <<
+/D [1051 0 R /XYZ 90 264.151 null]
+>> endobj
+1068 0 obj <<
+/D [1051 0 R /XYZ 90 239.484 null]
+>> endobj
+1069 0 obj <<
+/D [1051 0 R /XYZ 90 201.605 null]
+>> endobj
+411 0 obj <<
+/D [1051 0 R /XYZ 90 72.447 null]
+>> endobj
+1050 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1092 0 obj <<
+/Length 2063      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~�_�J
"UE
	N��j�SN�N��>�)-MBV(R&)���o��!Q�DJ*O< t7�������������W!�"4��K/�^�G��z�'LL���@ 0H�}�˛��7�w�������
�&�3��Px����o�K���
F,ޣ��|��{�n�s��)Q�^��&�G�8��2�$Ę":#��f���AAs=���5
q���h&�G<��/�bUme���E
������~�T7r���œ�P\E/e
р�&eQ7#j���� �C��ڬ�Uܔվf�.ؿ�f�
+#2����p���(�����a���[��6Y�p8�}��iF��;�>b~dϧO�6�a
O�"5/�m�4,���I��Y�2�ea�IB�]k`�H~M{v`oFBP��uV$�6��'̷�ɕ��y�?Fd�(�u �[$���B#�C�h��f�ή���d�2�� �BX���<ndjV�U�NG�
����M�إj
�ƽ����+�R��q-�e��9D���΂���i3 -q�M�M ���F��:[kY4;p����y�|J0,��J�`��~Ɓ*������T+�Goui.]rJ��q�Q��0�B�b�=j�Z���SR��\��\Y��gM0fr��Q$H
�$k�l�`�������x�(����R
	�o�<u�j"���|��c멪IM囝�|��u(�s�҉�]�3M�)��k3WE���((
E���`b� NZ�E�+
Q����_�(Jȳ�XV��P�)�
��Rtz3���fn��fnb�� 	~ [...]
��W�O���@���ea�j���83��:�9�ε��\si@߽L��):�[��I��E�1�m�+��I �H�;�b 
�6���i�<Yq(Ǣ+b6��l䟔���à
E�3(y
1����'��<K�6�hb�o#K���n�} A�r��!�����S�'N[�54����ߦ,ҶJ��J3(qB
�<7o��?Cڻ���"����e\���kC�
�ζ9`WO�^���ȥ}	�g���Eb~�̻����^~����5�F&����8#��l�.5��2�ʸ����B'��D~s�~��YA����g��q�5�s��C����>�"�xT�BD'Ÿ�]*s� ���cEA�l֫�y'a����R��;�ی
+�B~&�3�\^�l��y�������c�]�=����{���&�nB;���=fm`��ݳWZ~�)a�`L�kx�ك����T���b�_B��������D��4�
����˟�|>]����V*�dB��zl�(�4_�3R%+
�UF�liM9%vQ�h%�dzXy��|����T[-I��<����-��N
+qI�2K�
+J��Z{���g�`���Y1�*�
� �)
S�E=t��'ǚ=g
#����{�q/�8��A转�*ۨc�g
����큳���+��W�-�{z�����
+T�U`>��Xa����d��Ε��YY�j��$QqМ������DS�����/s��&�s��I���&���+P>'6aԀ��A?-�c�������0��!qb�a������w�?w䞖�VM6֠nt����`>�/۾��Z~�S�� �,���~-p g���2x��N���BF��a�!=
�����i`
�0p.�Ϲ>$*��׹>T�����ë�ׇ}ݧ����]��^�6M_
�"����6��k3�*�7�E!e�޸�������N�IR��׍n��q�zͼ��u�f o�	Ԡ��
P��i,2�)qJ����?����s\���J�R}���[���vw�
�
�p�YѦ�����Uք��0~'
Ќ������F�[�nA����i6w����Z+���}�v���MpZ�Kw՘�s���n��_c��
+endstream
+endobj
+1091 0 obj <<
+/Type /Page
+/Contents 1092 0 R
+/Resources 1090 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1097 0 R 1075 0 R 1076 0 R 1077 0 R 1099 0 R 1078 0 R 1079 0 R 1080 0 R 1101 0 R 1081 0 R 1082 0 R 1103 0 R 1083 0 R 1084 0 R 1085 0 R 1105 0 R 1086 0 R 1087 0 R 1107 0 R 1088 0 R 1089 0 R ]
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 564.657 320.769 575.561]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.987 564.657 493.669 575.561]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.714 540.136 492.53 551.04]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 540.136 513.996 551.04]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 528.181 282.045 539.085]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.373 528.181 502.067 539.085]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 492.701 500.882 503.605]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) >>
+>> endobj
+1077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.099 492.701 513.996 503.605]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 480.746 282.045 491.65]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.15 480.746 494.844 491.65]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 456.225 328.211 467.129]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c1f5f1) >>
+>> endobj
+1080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.429 456.225 513.996 467.129]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 444.643 134.838 455.174]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.705 385.614 352.073 396.518]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
+>> endobj
+1082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.488 385.614 513.996 396.518]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.658 168.591 384.562]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.033 373.658 285.641 384.562]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.143 349.137 344.895 360.041]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) >>
+>> endobj
+1085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [348.748 349.137 513.996 360.041]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.556 134.838 348.086]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1086 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.243 312.661 346.554 323.565]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4) >>
+>> endobj
+1087 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 312.661 513.996 323.565]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 300.706 163.61 311.61]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 300.706 369.765 311.61]
+/A << /S /GoTo /D (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+1089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1093 0 obj <<
+/D [1091 0 R /XYZ 89 770.89 null]
+>> endobj
+74 0 obj <<
+/D [1091 0 R /XYZ 90 721.073 null]
+>> endobj
+1094 0 obj <<
+/D [1091 0 R /XYZ 90 630.429 null]
+>> endobj
+1095 0 obj <<
+/D [1091 0 R /XYZ 90 579.39 null]
+>> endobj
+1096 0 obj <<
+/D [1091 0 R /XYZ 90 555.51 null]
+>> endobj
+1098 0 obj <<
+/D [1091 0 R /XYZ 90 508.075 null]
+>> endobj
+1100 0 obj <<
+/D [1091 0 R /XYZ 90 471.146 null]
+>> endobj
+1102 0 obj <<
+/D [1091 0 R /XYZ 90 400.347 null]
+>> endobj
+1104 0 obj <<
+/D [1091 0 R /XYZ 90 364.059 null]
+>> endobj
+1106 0 obj <<
+/D [1091 0 R /XYZ 90 327.583 null]
+>> endobj
+1108 0 obj <<
+/D [1091 0 R /XYZ 90 264.892 null]
+>> endobj
+412 0 obj <<
+/D [1091 0 R /XYZ 90 144.591 null]
+>> endobj
+78 0 obj <<
+/D [1091 0 R /XYZ 90 136.92 null]
+>> endobj
+1090 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1153 0 obj <<
+/Length 2099      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�6��W�r�*���`r����:�t{*�N�EK��
+���=�_?�"���RO�D�����
+�`���on&�o#
�(i�,����m|�FḪ�xZU��e��ת���OM���6Yͮ���wE��e2W���Z�zF�T�$�d����7�M�q3�sB� 8 fC�"�����q�����X,��nP
p��&��`{v���M���H:��D�!�ʒV-�tTN߮�y��Eӝǭx�6�W�#�c��oX������'�k��v&�m������е�nSK���7'��D
�!�`�
Dд�zޖu�Y��M���\vӤX���
��0�lB�����R�5%�x% )la���ꕕ��n��Q��P3*���`��'h��]r��Pޣ��Q
�'+5����
Œ�1ռ9 �	�B��"<
��k1�f�o�i�h
��S�U�d����k�K�{����
����q3��<S'l�\,����i
�1흛F���(6���#!",vc�!�\1�'
�@PL�%as�_U���4�5<�(b���K���fc���<����
+�WE�#ɬү�&iS���΁c��]�]`�s`X|F�I0K2>�H|
`˺�{��
�@Gr���=�~y@�0��1��J�&�Y,
�u����c�4?��?u(�(�R�F݈�MZ�2Ֆ��߂)�{��P��&i̷�Ȟ̗�M��짥�ғ���I�b%,�#��E
�_�5���>���J]˲ސر��������1@� �2��F�l
2�ϓ��1=�g�45#b�N��U3��ٞ��E��qyϳ�{�M
�Ln+�׾��s�֜E�� �ȶbA���m�
+���$�
+>�B� .Ā��+�(�0�¾1�� X���5�F��1��W}�-e��}b
)�\�����:�$�+�
*��4I��\c`��k�]hѴ{a/_���~�{1��v�b܋�
��D#(��л	8�F$b���:�|�+���!�
�,��3D�
~X�+7������l
�]1�x��d�"�᫗��,�򐐮mLӼ�j\�1�@{������Lξ6kcjv V[T����-�m�J3ɧy�i��Q[�H��I��;՟���Q
tJ� X"!!/��Ķ�)s
jol����S�X.��Ӏ�o�3���v��}YM���O�^��
[��IA�?�	����:����R
:B�ωP��M"g��ů�4pԔ�ś�|Do"8��:�ld3n�TW�2*U��!�!+u�0f��D!�GCqbnI�4A���XzE��SXU骢�
��
+�ЦV.@�ҖwՙB+�t4P�q"K�!�=fl�׸���3� Mj��!M����3��o&{`�9 [��6��=�����U�]��u�X�����Yk��2����P�=L�Etr$�7Dɍ
Oۣ���
�𮘥o#�4�狪y���b����ԝ�}Zާ�<��<��,�ܼ�(nU��
!6���>+�VI��\��He�H���*
�.�j��/�g��'£�gI<�gaȨ����1;, �"�%��}U�{��|����I�b�"�'�W��4j�X͠���*ik{Ҽʔ�LZ�u�|�N�Ƒ�,D�-��N�>,��k4xpgQ��>���ee�]Sw;
�����x�B�X�����1�h�₩�n�rm����҅��Q<]wr\y�Q�k��jN��ѐ�����<}�Y�~��Cj[_�"�LꚗZ~���e�#�Y��/6����=#|��Ѩ�q^��ɬ	�
t�
�s��e#
�U�^���9���'
���wu&]�K��%�ͱ{�az��k+}	���D���a� [...]
#�/���� s�V~��S��~�v�(���?\��آ��a�_~���<~H��:Y��c��z��_���E�8�V��lS
x�ኪ7X"k�[���
1�����.�wd")��v�۶����n�jT�B�r�Mn&G�r�� yY�҉������
��(o9L�s�&QD��v��M�
��r�)A�?���u-�
+endstream
+endobj
+1152 0 obj <<
+/Type /Page
+/Contents 1153 0 R
+/Resources 1151 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1159 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1124 0 R 1125 0 R 1126 0 R 1164 0 R 1127 0 R 1128 0 R 1129 0 R 1130 0 R 1131 0 R 1167 0 R 1132 0 R 1133 0 R 1134 0 R 1169 0 R 1135 0 R 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1173 0 R 1142 0 R 1143 0 R 1150 0 R ]
+>> endobj
+1109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 636.2 261.602 647.104]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6) >>
+>> endobj
+1110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.417 636.2 375.334 647.104]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 610.358 334.099 621.261]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) >>
+>> endobj
+1112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.915 610.358 447.832 621.261]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 584.515 338.473 595.418]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.691 584.515 451.608 595.418]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.273 584.515 513.996 595.418]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 572.559 187.959 583.463]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.316 535.757 374.601 546.661]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.627 535.757 489.544 546.661]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 523.802 261.024 534.706]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.675 487 382.518 497.904]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) >>
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.903 487 496.82 497.904]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 475.045 261.024 485.949]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 449.202 269.043 460.106]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3) >>
+>> endobj
+1123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.859 449.202 408.788 460.106]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 386.911 313.277 397.815]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) >>
+>> endobj
+1125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.495 386.911 452.424 397.815]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.126 386.911 513.996 397.815]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1164 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 374.956 149.224 385.86]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 349.113 270.159 360.017]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) >>
+>> endobj
+1128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.975 349.113 409.904 360.017]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 323.27 266.643 334.174]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) >>
+>> endobj
+1130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.861 323.27 405.79 334.174]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.492 323.27 513.996 334.174]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 311.688 194.603 322.218]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 285.471 259.041 296.375]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) >>
+>> endobj
+1133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.259 285.471 398.188 296.375]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.891 285.471 513.996 296.375]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.89 194.603 284.42]
+/A << /S /GoTo /D (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+1135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 247.673 259.639 258.577]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126) >>
+>> endobj
+1136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.455 247.673 399.384 258.577]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 174.423 264.61 185.327]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) >>
+>> endobj
+1138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.426 174.423 378.343 185.327]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 148.58 319.912 159.484]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) >>
+>> endobj
+1140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.13 148.58 433.047 159.484]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.749 148.58 513.996 159.484]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 136.998 134.838 147.529]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 74.333 276.804 85.237]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) >>
+>> endobj
+1143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.62 74.333 416.549 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1154 0 obj <<
+/D [1152 0 R /XYZ 89 770.89 null]
+>> endobj
+1155 0 obj <<
+/D [1152 0 R /XYZ 90 704.286 null]
+>> endobj
+1156 0 obj <<
+/D [1152 0 R /XYZ 90 651.264 null]
+>> endobj
+1157 0 obj <<
+/D [1152 0 R /XYZ 90 625.61 null]
+>> endobj
+1158 0 obj <<
+/D [1152 0 R /XYZ 90 599.767 null]
+>> endobj
+1160 0 obj <<
+/D [1152 0 R /XYZ 90 551.01 null]
+>> endobj
+1161 0 obj <<
+/D [1152 0 R /XYZ 90 502.706 null]
+>> endobj
+1162 0 obj <<
+/D [1152 0 R /XYZ 90 464.455 null]
+>> endobj
+1163 0 obj <<
+/D [1152 0 R /XYZ 90 401.974 null]
+>> endobj
+1165 0 obj <<
+/D [1152 0 R /XYZ 90 364.365 null]
+>> endobj
+1166 0 obj <<
+/D [1152 0 R /XYZ 90 338.522 null]
+>> endobj
+1168 0 obj <<
+/D [1152 0 R /XYZ 90 300.724 null]
+>> endobj
+1170 0 obj <<
+/D [1152 0 R /XYZ 90 262.926 null]
+>> endobj
+1171 0 obj <<
+/D [1152 0 R /XYZ 90 189.486 null]
+>> endobj
+1172 0 obj <<
+/D [1152 0 R /XYZ 90 163.832 null]
+>> endobj
+1174 0 obj <<
+/D [1152 0 R /XYZ 90 89.397 null]
+>> endobj
+1151 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1203 0 obj <<
+/Length 2377      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�۸��_a�j1�/�D��wI���^�&�O��P$�"K�$�f��w��ڲ���P
r�)jșyf�j�t=��N~��\]x�Ч��n5
�4�B�}��L?�<<����)�"�/��W�~{�����l��n�uB���>G��������4��_��PL��ԣ
�����?l�rx�[l*`k���F<�(�� B�Fޕi^WjW�!�M�
"pg����p�ȧ��P2BDI�̨���rE4�iH��Q����wr��
�@`n��D)w^�~\p�g��
Vv-�������l�˖i�\�
���|]�e
��Ǫ��C��O����7F
���FB�k
�	cff9x(�3I)����2.�j`��zh��`��y�Y�1��
�?�a( x]z;�F��uz/ss
@�5Xp��2,p��L�������LT=4�&*AC Т��Qw�g���6�%��&2�m�eE����j��QP?��s�g/�ٻ6!K�;+�a��s�g�3�̵��`&�}�7R��hh��G8t,?�%��qxd�"�]0�
�7��4]&���
OJ��X�H����dDZ$n؏�#c���x|
�[OG6�h��3�J�uT�E��V( �`B����U�
!�bq��zH������"J~
M��Q�§���8�a��=�nA�Kˆ J�`4�V���b;$J� �ǁI
�Ieo���h3�>�T��‡�"s
� qD�
�F�e
��ΚT��*.ӝV�
R1��B#�n.��q'[��
���e�W�M�q�![4�*�����
+p1��Q?[W�BU��4�.t�Y�B5/B١|���ʤj]�G2F�%q�B
XO0
w����A���@����[�������
+����k�˲+���貺U�Y��J�M	�f���
��
��wʞ�Aˍ�(����n!�
*�΅v��6��-hA�q�Eġ{\ A�s
��ڞ��V�����J��|;�xH��2��@R�p��y0[�(��~6>����
+�ɲ�������
�	X蘩�����4��}"�L�S���df� h��	}
�
��͡��
	��A3y�4�~/3"`����φM@	}[�M�DucU�pJ{���Vn?7T�5<:S�S
+�Ư���+�q]����?WU��U9p5d};���PI!k-�;�����M��̥N4˃��	�DFR���;��S(�.>ז	ѣ׷i.�r��ۮ�`�"�E�w&�J\��@D���4�̾@ey0���q
+
&a��R�>Yze��d �	H3p
QEQ�Ǝ��ք}�8 ���
�7���K���$�4_x�a��@#`�ڿp�
��y �v��p��QMc�
 
mݮ�B��P�F{P:2Cx�Is�S��Ik;�6��$�,r��&,D��d�R�^װ�qh؀�_�"cn����s�a3z�B�W}����CT����>��޻`�7��h��C����
��2�b$�`�}���ȲX�vKç�J>�_:��(����S:�]<��Q��D8�qp0��0�J���s&�S��sDC�1
��€BoH�8�
�9������@�3p�O�BT��n�Cx�>����D��P�j7�j�W
YB#T��P����JM�>�`\L�w��"��

�C�jT6X�Q�֏2�e�<
�>�U���8�0
i�4�Q�]T��&"D��z��"P���7��3aP�f�����f�f}�C6ɋ���ڿ�m^�<j��۵e�z

�
������F`.N�閑�������ʢ�n�
�
0�)b]�?7¨�(h�ٞU@�).�T��9nK�%#�W��{Z�8GEI8|v\���T
���e�f�\��i�
�a�F�'���ݣ>��0УC�ስM��TH�������>2�O�ʎ�BA�;�0�N��y����#���?�6�
`�Y�G�	tg����J �@B?cF�Q0���lŭ��9ݓ�+烖�� %?�+��
+
+���hU"@ ����I5�������_+������L��\���^���h���}���M�
+�=�ؤ�=o�dq�`����������m�E5"�Z��$�#
�6��<i�p�Xa^�!if[<���e^C���ϲ�r&�J&h�q�B��R��@�����{��
�����ms�[�����N���m|
+�<��6���P����	�
�� ��w�6�؁��-��. at X'n��@}�
��0�Z������
���ݻ[����F�z��ӛ�3��V���:Y���-���]E˽r�,;RK�n�,�� ���i���D���-�>a�����������������8at/�
�o��hNC�
��:t�� ��X

+endstream
+endobj
+1202 0 obj <<
+/Type /Page
+/Contents 1203 0 R
+/Resources 1201 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1212 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R 1200 0 R ]
+>> endobj
+1144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 696.152 280.122 707.056]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) >>
+>> endobj
+1145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.982 696.152 479.911 707.056]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 670.548 285.103 681.452]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) >>
+>> endobj
+1147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.443 670.548 474.372 681.452]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 644.945 291.19 655.849]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) >>
+>> endobj
+1149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 644.945 430.935 655.849]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 619.341 285.651 630.245]
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.467 619.341 399.383 630.245]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.411 310.036 227.586 320.94]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.707 310.036 307.303 320.94]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.856 310.036 456.582 320.94]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.942 310.036 513.996 320.94]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 298.454 183.844 308.985]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 261.519 293.581 272.422]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.397 261.519 372.993 272.422]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 224.956 315.678 235.86]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) >>
+>> endobj
+1184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.494 224.956 395.09 235.86]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.716 188.394 304.36 199.298]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) >>
+>> endobj
+1186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.786 188.394 383.382 199.298]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.546 188.394 504.154 199.298]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.709 151.831 313.911 162.735]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.329 151.831 393.925 162.735]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.388 151.831 513.996 162.735]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 114.273 234.723 125.177]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) >>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.538 114.273 340.146 125.177]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1204 0 obj <<
+/D [1202 0 R /XYZ 89 770.89 null]
+>> endobj
+1205 0 obj <<
+/D [1202 0 R /XYZ 90 713.039 null]
+>> endobj
+1206 0 obj <<
+/D [1202 0 R /XYZ 90 685.741 null]
+>> endobj
+1207 0 obj <<
+/D [1202 0 R /XYZ 90 660.137 null]
+>> endobj
+1208 0 obj <<
+/D [1202 0 R /XYZ 90 634.534 null]
+>> endobj
+1209 0 obj <<
+/D [1202 0 R /XYZ 90 593.431 null]
+>> endobj
+413 0 obj <<
+/D [1202 0 R /XYZ 90 482.92 null]
+>> endobj
+82 0 obj <<
+/D [1202 0 R /XYZ 90 476.087 null]
+>> endobj
+1210 0 obj <<
+/D [1202 0 R /XYZ 90 377.702 null]
+>> endobj
+1211 0 obj <<
+/D [1202 0 R /XYZ 90 325.04 null]
+>> endobj
+1215 0 obj <<
+/D [1202 0 R /XYZ 90 276.711 null]
+>> endobj
+1216 0 obj <<
+/D [1202 0 R /XYZ 90 240.601 null]
+>> endobj
+1217 0 obj <<
+/D [1202 0 R /XYZ 90 203.586 null]
+>> endobj
+1218 0 obj <<
+/D [1202 0 R /XYZ 90 167.477 null]
+>> endobj
+1219 0 obj <<
+/D [1202 0 R /XYZ 90 129.465 null]
+>> endobj
+1201 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R /F99 1213 0 R /F98 1214 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1249 0 obj <<
+/Length 2193      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���+5CR�Hu���f1��I��«ȴ-T��t�}ER�l9q�žX����)�l
��{�����c'Da@�v���~�X O+���/��-�ty]�uSEI�,?~��-c�f�4����Z6�f��
�osx��b�?ȵ��D�2W�%\�>��r�����o3�����‰�٧_�����:y�p
�A��S���q��6��]��]��(��D��gJY��Ns>-	���j1�Ƭ�C7@	b���Z%ɲ.A��*�d^'E�OR��3|�fGO�p�j3E'����
Y6�K9�ruC�
�xE���ƞ��:���1HBF4��s�
+|5k��>���Yqb���
+PRk84�fҝi����#�ʌ�j���Vg};ء{,�\��,�x�
C����=
��� �G�pC��
Z$<�V\���2e'2? ��sp):��
ӧ�e�ܫ�F����	��\�9`?�*
�*�v��T<ero���L,�2Sx�=���EB~�� ��� �
��h��Q�Dw���z��=G8���g�InyZ�N�e
��g��\�Pn �7�&��Ȋ��e��KH �_
P0�J(R��(��CQ+tN��Q?Z�&+펀�(�,�av&���\DY�jS���9ً��� ���
����P]ygJ�\ 
�gH� ��b�5� ���;�C"U�-�:i�{�_��R�W�ϕ
�L:����A��Ao�İ}�i�ɮ�*��/�C�&H�	s�}\֍�UGMR+�k<�n����C8��Tf*F�*MI���b���P/�[�=�e�� Z��KbpuA���5,�|�oJYm�Ҁ6�~�td
�"3�΋���qRq�#�O(n��p��‡��暣�ƒ��j�nS= �i�Ty7��m;#n���Le[��e������FBP��
��䒷y�6W?�
\4ћ6�����
0�3�D�gp��X��j�G�R.��k\�Zh=
+�Nл��OFΩ�
�%}�U7��m&�xQ
�C�B�1s��֧���o��G�$ab�>����JF�	i�� �
$�tme���mF�O
� $
+� !
P�{gL����>&��v.{0ea�
�#PQwގFʿ(��4�,P"��Ҵ��o�H��@p��j�wG��*�~'��>l�X��Il&'
y�R�O���� 
+���'dP���AS���pQ
'�r�f�E��������$|~�;�4 0{�o@�ږ=�Աk�R_j(��:��n�<�^�"�"B��,T���2
��OZD������Us#.�
#��m�w �9��v�}~2rֺ:ΦH	ć-����@"ʔԥ�
�3 at a"�P�C{� b�4��&J�.4ROu\%e����g�v���6�n���KY�5#��
�C�
}E�;�0(���C�2�&IT�J��J�m�厵�*��9�
+}_��Zս���.
���}�1p
+B>2��[�Iٞ��"n�1�zɚmR]�^��_�VC�\WE�W��
Ȱ��}ϥZ�T~9vch��Ί<���|���h�Y�=�K��Mux3
<a�M��

�� ��C� :>v<��y@�
������)���6�=ۛ`. ��L�G!!c��4�1�jۑ��1��

1f��|�����^���=1�`
B�D�yXC�̺����萷{L
�����Au���5�WEB�����,�Q��
6t����t
�w�ߒ<Nە�J��a$ؓ9��	Z�C9���ڥ��	��Y�<!�A��X�����&`��Oک�K>�X��hl �FM��
WT��^��Lfw��m�
�.FO�4�
�d7v�1 �6�Ͽ�:��Y�գ���'�H�
�O~�����"
?�g��9�`'�3N�9������$��A��n��A?�O��O�_J���Y�a�T���Ÿ�
���E���V�Ԝ�=X�P�)i�t���~�r�0�;�?QKU�<w���T�΍�_ [...]
��8
������w��Z_�E���6r�[�Qa�S-�UԹ�~�>��(����^����oU��SҙS��Ҧ_-ܯ���n֥�a�D@[��c�4�WWw���
����/���8Z4�������!PW�#[�X}3u�P�1P�o�1�v#v�?�D���m�9o
+0����e��
+endstream
+endobj
+1248 0 obj <<
+/Type /Page
+/Contents 1249 0 R
+/Resources 1247 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1197 0 R 1198 0 R 1199 0 R 1253 0 R 1220 0 R 1221 0 R 1222 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1266 0 R 1242 0 R 1246 0 R ]
+>> endobj
+1193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 279.554 718.861]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) >>
+>> endobj
+1194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.37 707.957 384.978 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.881 707.957 478.237 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 682.518 252.137 693.422]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) >>
+>> endobj
+1197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.355 682.518 356.963 693.422]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.79 682.518 449.147 693.422]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.625 682.518 513.996 693.422]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 670.936 134.838 681.467]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 645.123 297.268 656.027]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) >>
+>> endobj
+1221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.083 645.123 402.692 656.027]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.594 645.123 484.075 656.027]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 619.684 245.253 630.588]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) >>
+>> endobj
+1224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.069 619.684 350.677 630.588]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.58 619.684 432.061 630.588]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 594.245 225.318 605.149]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) >>
+>> endobj
+1227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.134 594.245 330.742 605.149]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 522.105 242.484 533.008]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) >>
+>> endobj
+1229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.299 522.105 347.907 533.008]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 496.665 245.801 507.569]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.661 496.665 411.269 507.569]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 471.226 250.782 482.13]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.122 471.226 405.73 482.13]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 445.787 256.869 456.691]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.685 445.787 362.293 456.691]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 420.347 251.33 431.251]
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 420.347 330.742 431.251]
+/A << /S /GoTo /D (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 111.728 314.741 122.632]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.557 111.728 481.613 122.632]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 86.288 479.073 97.192]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.291 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 228.924 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.328 74.333 443.397 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1250 0 obj <<
+/D [1248 0 R /XYZ 89 770.89 null]
+>> endobj
+1251 0 obj <<
+/D [1248 0 R /XYZ 90 721.073 null]
+>> endobj
+1252 0 obj <<
+/D [1248 0 R /XYZ 90 697.669 null]
+>> endobj
+1254 0 obj <<
+/D [1248 0 R /XYZ 90 660.275 null]
+>> endobj
+1255 0 obj <<
+/D [1248 0 R /XYZ 90 634.835 null]
+>> endobj
+1256 0 obj <<
+/D [1248 0 R /XYZ 90 609.396 null]
+>> endobj
+1257 0 obj <<
+/D [1248 0 R /XYZ 90 537.067 null]
+>> endobj
+1258 0 obj <<
+/D [1248 0 R /XYZ 90 513.511 null]
+>> endobj
+1259 0 obj <<
+/D [1248 0 R /XYZ 90 486.377 null]
+>> endobj
+1260 0 obj <<
+/D [1248 0 R /XYZ 90 460.938 null]
+>> endobj
+1261 0 obj <<
+/D [1248 0 R /XYZ 90 435.499 null]
+>> endobj
+1262 0 obj <<
+/D [1248 0 R /XYZ 90 394.597 null]
+>> endobj
+414 0 obj <<
+/D [1248 0 R /XYZ 90 284.414 null]
+>> endobj
+86 0 obj <<
+/D [1248 0 R /XYZ 90 277.455 null]
+>> endobj
+1263 0 obj <<
+/D [1248 0 R /XYZ 90 179.107 null]
+>> endobj
+1264 0 obj <<
+/D [1248 0 R /XYZ 90 126.69 null]
+>> endobj
+1265 0 obj <<
+/D [1248 0 R /XYZ 90 101.893 null]
+>> endobj
+1247 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1293 0 obj <<
+/Length 2170      
+/Filter /FlateDecode
+>>
+stream
+x��Y[�۶~�_�I*�DX\Ip��L�K�i�����hh�rB�2Iy���9��&��]��>����;��`��?^_\��p�8�ap�b
D<F"��4x7�t���O
%"q?��g�y}����[]w������*
��@�
Vۋw�� ���X,�[�hp��o/�{��+�qM�@�k!׮��׈D�u��}���|�8�%��f���[�5��1K�����M��j[���U���o�Z���eL}�(�ď�5�����6?���n+�b��MR���Ek�ϔ�-�v�6w9�f*iTz���W� �Y��(�u(ISk��'FHc$1���GH	�
!2����e��"b����b
�?�S*?��YV4�Xc��80�1
 w��._&u�m��3=�*�_�o��Fm�fF�z2�D,�U�=�j���=�^7�

3��Pځ	��S͸C*�,�����n�;��
�C]�`TdP�-�(��
�!;���L9�W�J��F�~�H1O][e��_М�'*Q�<��˩p���6�r�L�(����ɠ<Y
�q���$6k��\5��h�D����q/f����8��*�
�>%y�&���p�w��h%
+{�z5�=
Ѹ]��&s���s�g��zoI� ��#�]Y�Y��Ů��?����,��!�O�h�I�;�P��s��*E�LX4��E��!��m��u�șZ�g����]�*V�p
.�^�<ڗ���q~]�c
+�1��
��k�ޅG�姓̔�J�i����mFSKyj)Fa�"�=��"y� 
�
���&hA<�C����0\����Q��$�2>!_|�uK�~��Y9
+6U���`~�;����Dž	08ǽ��r
��?�s<��}]r&�3b��C��w~m�<N�Ѷ
w��{=Z&�S�b$i�}~�+ah�w�`	�0ų���NPP�|˅V�����5�G<��+K̻/�oT����dҰ�~���瓲_�Ңbc6y��D�,[�J�4ɑ܄���Įo~�Ғ6D�Z�~��������	O�IX���/V�[>�6r.
��&���仙sfL�G��%)�:��%|�@
����`�A�&����f
E(Bd�!j��&�r��R*�^Uٮ���X\b�#Ɲc�s��n�W+m��b�M�r�'��"���G
��R �f��K��jۥE��5�_&#ۯ.��k>Mf

�
�
+ׁ�������,u
U*Iearz�LV+�י���/�)�ω%^g�\��ڱ�w�mz�N�:]�C�Z�HVNL�u
����,����c�af7R����^��.R2�
&
.W{=��@g�ܝ����xk�\�Fz��OUnG[ɺ��rN�{Ph4WWC^ӂ�I
H�C�qt�0칼���Yb�n�+���*9�J�'m�.������ �X
�3����CBF��=H�O�_��m	��0&:���:��	vn!v�1���'��a)�
7�<�m,��2���7j
uy�����
�����1��,�	�Fy��S��ab��&�K��6a
؜�:��e��=�P��]?c!�xP�>�f�w�~��f�e;!��ZI�.5���+L*�KW�U���:"^��/}N��_i�w��=03�y��9���"5��N�g��Ce7%�
��
͆),~܉�����tЃh,���_��wg8۝?"�o���r�S�֟�����7{XN�w��0�/<�d�#I����$t���\��vi��[ �A2Ɂſ��@���pd0�9(�rcWE
��.��E
��j"�����<����c,F��'�X
+%�O�O����S�����0�a;�\c:�\��
�*}�v�Q嗤��)����R��U���
C�4qPu���6��o����%���>��f+�&'8�D{���R��}jH��T�}��}*����
��=$E��t�w�j&��z�g��X�c��x_��E��{����G ����GPg�D5��wS��q���,x^�����-:�FUC<�P#�_�bf2;�f��������}���}�Q�n� ���V�_u����I�O�y��|ҫ����!'ұ�`���[兺���vx��0·�7�B��7M�������ԪؠU�=���g at .[h5���3+�pk�كE�Η�{
+endstream
+endobj
+1292 0 obj <<
+/Type /Page
+/Contents 1293 0 R
+/Resources 1291 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1070 0 R
+/Annots [ 1243 0 R 1244 0 R 1296 0 R 1245 0 R 1267 0 R 1268 0 R 1298 0 R 1269 0 R 1270 0 R 1300 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R 1303 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R 1281 0 R 1282 0 R 1283 0 R 1309 0 R 1290 0 R ]
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.57 685.091 487.693 695.995]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 685.091 513.996 695.995]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.136 270.438 684.04]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.543 673.136 476.612 684.04]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.787 647.33 323.864 658.234]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) >>
+>> endobj
+1268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.361 647.33 513.996 658.234]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 635.748 134.838 646.278]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 573.183 344.25 584.087]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) >>
+>> endobj
+1270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.468 573.183 513.996 584.087]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 561.228 134.838 572.132]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.28 561.228 245.263 572.132]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 535.422 337.635 546.326]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.853 535.422 503.909 546.326]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 509.615 338.193 520.519]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd352e1e9) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.411 509.615 513.996 520.519]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 497.66 134.838 508.564]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 497.66 334.368 508.564]
+/A << /S /GoTo /D (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 164.593 254.976 175.497]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) >>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.792 164.593 362.083 175.497]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 138.787 327.474 149.691]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.289 138.787 434.581 149.691]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 112.98 325.222 123.884]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.44 112.98 431.731 123.884]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.396 112.98 513.996 123.884]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 101.399 134.838 111.929]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1294 0 obj <<
+/D [1292 0 R /XYZ 89 770.89 null]
+>> endobj
+1295 0 obj <<
+/D [1292 0 R /XYZ 90 700.787 null]
+>> endobj
+1297 0 obj <<
+/D [1292 0 R /XYZ 90 662.573 null]
+>> endobj
+1299 0 obj <<
+/D [1292 0 R /XYZ 90 588.238 null]
+>> endobj
+1301 0 obj <<
+/D [1292 0 R /XYZ 90 550.665 null]
+>> endobj
+1302 0 obj <<
+/D [1292 0 R /XYZ 90 524.858 null]
+>> endobj
+1304 0 obj <<
+/D [1292 0 R /XYZ 90 460.593 null]
+>> endobj
+415 0 obj <<
+/D [1292 0 R /XYZ 90 337.721 null]
+>> endobj
+90 0 obj <<
+/D [1292 0 R /XYZ 90 331.046 null]
+>> endobj
+1305 0 obj <<
+/D [1292 0 R /XYZ 90 232.615 null]
+>> endobj
+1306 0 obj <<
+/D [1292 0 R /XYZ 90 179.648 null]
+>> endobj
+1307 0 obj <<
+/D [1292 0 R /XYZ 90 154.03 null]
+>> endobj
+1308 0 obj <<
+/D [1292 0 R /XYZ 90 128.223 null]
+>> endobj
+1291 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1345 0 obj <<
+/Length 2146      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~ׯ`�e�*
��g��Y�[�8�=�}pR*
	I�P$MB3ѿ�P�D
cI��j_D����_w�����?G�=���؉P�S�y�;v7B����8@�dJ0���f�(�ZV<���㦖b5�|1�R��s)�9����A�E5!�X��	���l�����F�G��z(�x5��v�����B�yh帔�1s>��=�Fv�����@H�|x# ����R��ܾ�|�z��b.+a����C�RD���	���=�'d�-0��վav�RC��=|p�C��
t���
E�
+� ni
1n
�cE!�ϔq���S��3e�2�3;F�����'5c�5�Lzw����	AH�m|�"0��E�q�w�4Kj��:xzr��7VS�[��ws_.�����
+����b�M���^���)��3}	1
+��>�F
���J��˸�y�	}i^T�D.��
P�3#M\MX0\�D��jJ�C����z@�)�pO '�Q��!
|D\�ځV4SBL��C�
��Q�`��u���s^ �a�
 ���Tc%�<�mA�A�\?�G��EaPW�q���p��U��pxn�aͭ�Q�&��
�
��:���-��b`�Q����2�Q
�yԀ/��'"R\��oā�"�%=���@��҄k���P;;B^��t��W#��\�f��}B��NV�5�졬2�Ty��
+0�
+�RlyN�L�5��$r��Yf �(�/g��"A
�+V����
}@L�bb��:�eZ䭵���7�>��0~*�t���l�V� (��C�2�(��`%ѡ*�.���%�J�5h�;�z�U�
/���V��<)7�8V€�|���Y�NS�!���x������CD�\�D�Um�Ђf�aR~�ljQe[%Cq������$D>�/�IN�*��Qv��nIuJbU���Ω�\W;��/��ɸ��w
����#&�%'
+G�0n!zJ��L�JR��!�d�>�<k��毻D���ު�nH�8
���a�=���
.������
�&���q><x�9�m`+����F8��
 � N
1�^Zc�]J��i����
rJŁ��1�ת��SV��m��ʓ<�P�A��c�$�MY�����ig�g�G
i����e�u]D��j��A�����
.�D�|-���X�
��5�z��,��*�>�BR��`��O��gB�b�(�i6������K���p�$^
$^xd0�F`݈
����uPj�}M�
+g�Z�����8E:W6]5�H�gk.SP
Saŷ���\IWe&�I�\�6��Gw�U�sY��
����UX�$����a[ 8��Z��@
_��-7U�?R�@MNq��Wh�n*
T�z�
M ���/���M�?�A���	��u��E�<�u�����C��g6�?��W����8���
�uBuU(�=Y�q��s�N�cs���EK�Q�ܐ� �m���
+�ړN3���ۊ�j�"Իi�����$�eU�5�ݴpdh}T���5�t=| P*��6Y�Z�Q�*��}*�tK��;r
F���4��E�NL��5��X�5�6o��;ȡ��p�9�>/���組�
y˪"#�Ŭ�P���?.`��U�vC�
d�v�� ����2)�Cu3��g6I���vM0����/����w�k5z+�
+��e��0��3��o�)�}��� ����v�Y���
> �}�\��d�k.#dx�B��K]
�a�C
�.f�F���aʿ5�HSA�5�6YV����|s`��
�����_=/�X%�e?7m�;�S�g�N��:P�<zf�)��Mw5x
��,Y��?#�
`E�<��I�l42 ���4o��Q�������v\]�
5�*f��[�~�^��!�.�Ej�ϻ�*��RV����)a(��sv]����4���
h}M�����l����P!
+����i��F�B%�����~��(����a��"���߿gV-��
�k�ݏ0����/�,�M5�]
��<��*=)2ն� +7�%���n�k�~w�ُ���
�I��<k����ww��xs��b`Ie�r�������E��j7�Ԃ\
+d�"���0A�O����Ga�y�{�ܴ/�
w�+�)���K�
c"��
+endstream
+endobj
+1344 0 obj <<
+/Type /Page
+/Contents 1345 0 R
+/Resources 1343 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1284 0 R 1285 0 R 1286 0 R 1348 0 R 1287 0 R 1288 0 R 1289 0 R 1350 0 R 1310 0 R 1311 0 R 1312 0 R 1313 0 R 1314 0 R 1353 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1357 0 R 1322 0 R 1323 0 R 1324 0 R 1359 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1330 0 R 1331 0 R 1363 0 R 1332 0 R 1333 0 R 1334 0 R 1335 0 R 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1341 0 R 1342 0 R ]
+>> endobj
+1284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.102 707.957 360.136 718.861]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) >>
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.948 707.957 467.239 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 707.957 513.996 718.861]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 236.685 706.906]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.822 658.016 369.414 668.92]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) >>
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.946 658.016 477.237 668.92]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 658.016 513.996 668.92]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 646.061 241.666 656.964]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 619.033 262.418 629.937]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) >>
+>> endobj
+1311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.234 619.033 395.537 629.937]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 552.079 306.652 562.983]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
+>> endobj
+1313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.87 552.079 439.173 562.983]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.875 552.079 513.996 562.983]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 540.124 149.224 551.028]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 513.097 263.534 524.001]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) >>
+>> endobj
+1316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.35 513.097 396.653 524.001]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 486.069 327.732 496.973]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) >>
+>> endobj
+1318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.548 486.069 460.851 496.973]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.728 459.042 261.237 469.946]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) >>
+>> endobj
+1320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.675 459.042 394.979 469.946]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 459.042 513.996 469.946]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 447.46 189.622 457.991]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 420.06 252.416 430.963]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) >>
+>> endobj
+1323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.634 420.06 384.937 430.963]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.64 420.06 513.996 430.963]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 408.478 168.591 419.008]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 381.077 253.014 391.981]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d) >>
+>> endobj
+1326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.829 381.077 386.133 391.981]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 303.164 257.985 314.068]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) >>
+>> endobj
+1328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.8 303.164 365.092 314.068]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 276.137 306.661 287.041]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) >>
+>> endobj
+1330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.879 276.137 413.171 287.041]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.873 276.137 513.996 287.041]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 264.555 134.838 275.086]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 197.228 270.179 208.131]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) >>
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.995 197.228 403.298 208.131]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 170.2 273.496 181.104]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.356 170.2 466.66 181.104]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 143.173 278.478 154.077]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) >>
+>> endobj
+1337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.817 143.173 461.121 154.077]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 116.146 284.565 127.049]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838) >>
+>> endobj
+1339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.38 116.146 417.684 127.049]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 89.118 279.026 100.022]
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) >>
+>> endobj
+1341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.841 89.118 386.133 100.022]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+1342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1346 0 obj <<
+/D [1344 0 R /XYZ 89 770.89 null]
+>> endobj
+1347 0 obj <<
+/D [1344 0 R /XYZ 90 721.073 null]
+>> endobj
+1349 0 obj <<
+/D [1344 0 R /XYZ 90 674.298 null]
+>> endobj
+1351 0 obj <<
+/D [1344 0 R /XYZ 90 634.863 null]
+>> endobj
+1352 0 obj <<
+/D [1344 0 R /XYZ 90 567.72 null]
+>> endobj
+1354 0 obj <<
+/D [1344 0 R /XYZ 90 528.926 null]
+>> endobj
+1355 0 obj <<
+/D [1344 0 R /XYZ 90 501.899 null]
+>> endobj
+1356 0 obj <<
+/D [1344 0 R /XYZ 90 474.871 null]
+>> endobj
+1358 0 obj <<
+/D [1344 0 R /XYZ 90 435.889 null]
+>> endobj
+1360 0 obj <<
+/D [1344 0 R /XYZ 90 396.906 null]
+>> endobj
+1361 0 obj <<
+/D [1344 0 R /XYZ 90 318.805 null]
+>> endobj
+1362 0 obj <<
+/D [1344 0 R /XYZ 90 291.966 null]
+>> endobj
+1364 0 obj <<
+/D [1344 0 R /XYZ 90 212.868 null]
+>> endobj
+1365 0 obj <<
+/D [1344 0 R /XYZ 90 187.724 null]
+>> endobj
+1366 0 obj <<
+/D [1344 0 R /XYZ 90 159.002 null]
+>> endobj
+1367 0 obj <<
+/D [1344 0 R /XYZ 90 131.975 null]
+>> endobj
+1368 0 obj <<
+/D [1344 0 R /XYZ 90 104.948 null]
+>> endobj
+1343 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1407 0 obj <<
+/Length 2373      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~ׯ`�>D��08tv�*�r�8Y{���Ni9"�a�"e����_����!�pF��%l4�����$��
�~�|=�z
b/BQ@�z�E�
�� �%�ǩ��~���c�@$
+�!=��wׯ�]P�&��'_&na���9
+���L>�����0b�������S���0��[U0�\�T����A�
B
+��c<})�8�d2�S*�_�,�m��V�Y��u��(���G̏����Ӈ��@��8Ȍ�._*Qv|U�����2N����
�Zn*���I��[ٷ�L�����-��ӻ4��8s��\��,�E���{=V&�RL�:�`�!?��s��J�Z}�A/l
�Y0�аy��|�B�
X��b��ȼ��w��o���&����Z沌k�X�,6���2��4_��O�L>�A�#��H��O�����s(�n��rq+�D�3Χ�����V�`qN����
+�G��
v#�\��B��1�xDQ��@b��ЅR4��	�
r�,�Y��Z��

+z�����x
���ڄ��h�d��^��,e#GBw
�
+`����O]�%͗�.�f&����
�`
�"��fBFBy��@8���!�u�A�p)c 2��2�z��l��e_;#�ψ�0�a�۸vAV5�S�yaon��F��#Ez+���	Y?

Xw˺(�gF�wU��s�#_�۩��I��8,B��D䡘oB��F��A�^O�q���K�4�AXuD��ks
����/���I:�
��
+����3�P��#��A�Z�6�e\.^�g[J�s�/F��Ip�zR��i�Mv �
| �\��-1����H
.�<\��� �	0��N
&pw�lP�(g
C��l���R%�{3��e at 3�occ������ș43AG�d۹@�$r�ߘ����}�:�bs����LC[0/����5I̞�jLARI�����Fa�f�9�]7f����a�$���Lކ��ʸ�*��@N�-w�Dܚ�QnǬ*�[^�_vq�
+�~6o�PDG	�k�n�
�~�-'7},� 5 @����(_��m�/��e���-LՓU��
�P�F����sO[,����
C��0���
+��Jh�<�U{�̀a�y���ƃ�FO
�� Bt�P�Q�܍�,���\�: ��6VM��B.FA��
��!�0�c�:F�ܣ1
+qFt!݋�sB�j$9L��n�*�Su�.���Ep^9��� ���\
r�ry�\.�PlH3t�0�
W~\u	N���Fĸ3'D4��?"'B�;���
��]nеU���0j΋�ܨl^bj
��<��;�~g���09��w~�d�=�t�잜�*6ki�BS��H�$Ƕrl�Q`
?��4��Q�H�y�$!it^�=;�/Sg
������e
�����4K���a��ǚt8y�p�Ơ]�)m
:
1��o[���:.��[!�����O�t����љ�F(�9�B��!����T�� \�g��R��C�
s�����Ѽ�ì�E���n��`�J(���D�
�ט� v&r��H�ᅐ��L���H�0M�<l+�7�
�Xwq�&�#��6�
 ��f���10�[���M�Y�0������=(��:�E���
+�C�F�}�ٓ�f�;��p�k8�Fv�d\���
��>(U���D�tj^��y-����wM+��"IW��
 �u�Dv@���E[!>%4� 2�Ȣ
v\� �j at p�5G���)�����߿:�r��
�
�mF�@5p[.�����Hgg�\ǡ��r\�����ٟ����zW�C��*����$����;X�(�@�!ў;��\��]�5����B�K�F�9ꘞ
+u+�N��*'�!��p���+����9���Q��b���u�;�
1�5
+��@��A;����z���T��F
+#�խO�Wi~&�}�5��A=e��$$��ŦP/h�]��e��g�=�>�c���h4U5�Znڰ�=�u��=�zsz!A�/��I`��O�LF�27�2��I3�>_P
j
V�)�h��� *�7L�]�^���W-��Lt�.��H����K��)�e7P�����Vp��fR�X%S���ڑ9� ��u��i��ü��p2�.
�����6�
8��>9m�1������@��©9�ܘ�Y5W
K���J�v٠�ț�ӝv��
����-�~h
��
+(
+);�
�΃@�<ҟN}�`�IR}��[�l��Wo6�{Y��V�
��[���
�� E!���2��>�s�_����[{b2��q���k{���:`���]�5��q�����SДe[l�U
Z'|�MIb�����DN��[�n�����ϯ�nv�J�k�,6���>
����7E�WŔ�����8�l
+endstream
+endobj
+1406 0 obj <<
+/Type /Page
+/Contents 1407 0 R
+/Resources 1405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1370 0 R 1371 0 R 1372 0 R 1373 0 R 1412 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1394 0 R 1421 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1404 0 R ]
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.658 444.565 222.207 455.469]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) >>
+>> endobj
+1371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.575 444.565 296.546 455.469]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.903 444.565 448.629 455.469]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 444.565 513.996 455.469]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 432.61 220.377 443.514]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 396.379 286.956 407.283]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.772 396.379 359.742 407.283]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 360.148 305.646 371.052]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) >>
+>> endobj
+1377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.461 360.148 378.432 371.052]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 323.916 291.499 334.82]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) >>
+>> endobj
+1379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.315 323.916 364.285 334.82]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.151 323.916 479.133 334.82]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 298.644 300.057 309.548]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) >>
+>> endobj
+1382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.872 298.644 372.843 309.548]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.948 298.644 484.931 309.548]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 273.372 228.097 284.275]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) >>
+>> endobj
+1385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.913 273.372 326.896 284.275]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 212.649 272.929 223.553]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) >>
+>> endobj
+1387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.744 212.649 371.727 223.553]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.63 212.649 464.986 223.553]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 187.377 221.462 198.281]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) >>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.278 187.377 320.261 198.281]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 162.104 245.512 173.008]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) >>
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.73 162.104 343.712 173.008]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.539 162.104 435.896 173.008]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.374 162.104 513.996 173.008]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 150.523 134.838 161.053]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 124.877 290.642 135.781]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) >>
+>> endobj
+1396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.458 124.877 389.441 135.781]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.343 124.877 470.825 135.781]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 99.604 218.693 110.508]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) >>
+>> endobj
+1399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.508 99.604 317.491 110.508]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1408 0 obj <<
+/D [1406 0 R /XYZ 89 770.89 null]
+>> endobj
+1409 0 obj <<
+/D [1406 0 R /XYZ 90 721.073 null]
+>> endobj
+416 0 obj <<
+/D [1406 0 R /XYZ 90 617.052 null]
+>> endobj
+94 0 obj <<
+/D [1406 0 R /XYZ 90 609.963 null]
+>> endobj
+1410 0 obj <<
+/D [1406 0 R /XYZ 90 511.652 null]
+>> endobj
+1411 0 obj <<
+/D [1406 0 R /XYZ 90 459.486 null]
+>> endobj
+1413 0 obj <<
+/D [1406 0 R /XYZ 90 411.489 null]
+>> endobj
+1414 0 obj <<
+/D [1406 0 R /XYZ 90 375.71 null]
+>> endobj
+1415 0 obj <<
+/D [1406 0 R /XYZ 90 339.026 null]
+>> endobj
+1416 0 obj <<
+/D [1406 0 R /XYZ 90 313.754 null]
+>> endobj
+1417 0 obj <<
+/D [1406 0 R /XYZ 90 288.481 null]
+>> endobj
+1418 0 obj <<
+/D [1406 0 R /XYZ 90 227.57 null]
+>> endobj
+1419 0 obj <<
+/D [1406 0 R /XYZ 90 202.486 null]
+>> endobj
+1420 0 obj <<
+/D [1406 0 R /XYZ 90 177.214 null]
+>> endobj
+1422 0 obj <<
+/D [1406 0 R /XYZ 90 139.986 null]
+>> endobj
+1423 0 obj <<
+/D [1406 0 R /XYZ 90 114.714 null]
+>> endobj
+1405 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R /F98 1214 0 R /F100 526 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1451 0 obj <<
+/Length 2031      
+/Filter /FlateDecode
+>>
+stream
+x��Z�n�F}�W�C% Z�(�6q�4m��}J
+�!WQ�TH�n���7^dʒ
�}1��rvg��̙����������e��E>���a/�><���i���	�x��拟d!��)�Ż�u#7��,�f�5v��W�9xzU��2N�y|+����p*
5DH��)�?�_M^^O>M�{Ĭ/Pz�f��O�0��ÈE�w�'m<N\s����	���_�F0G$`^@"ĨwUlw��o�.f���"i2�J��I�����›S�@#��b��~.�jY��a�^��z��ԂʬY��V0s�2gw����X�´ s
��Ũ�@���
���>WzR�|N�9�5ߨmj�\\F�?�
w�L���
�O��Д#2"DI�f�MZ�9�"Dn���@� �"
�礖�
����f�������S����l��(��-*o�
�ޙ�
�M�'B��L��1b����ܖ�!��DX04�B��?3F��T�$���} (�
 ��c=�l����a��0��e�y���߸��5�b5#x�l0{[f*Y�YI��, [...]
�
S�mw.���5��,[����I����G}_����
=�d�Q
���}�� ����6�hc�{k.�,�X�||�#�N�@	����U ��!����+�(
�S�'/��q��R�0ЍO��6
��נ�9q+��Gq��f\L�͘(�x���p=�
+eu�V�}
��&���`\0G�#D,�!�8�uX�!<�I�m���@+�D�[�^�B<����mm�]�|�<�6Z'-vj����l	y�64�jDU�Tp��rx�:o,UFik�TLo�X�֭�{�
b�
��J�# �Х�w�5j�!@�1�-��6-��f��V�f�r���;���)�\�[V �![��a��*�Z�4�χ�L|�U��(�?�脲X�8��,���S3�SG8�S�A�U�w�H��#��A���d���-&u�8\�p
ٙkQ�ec[�,
±αt�F
,m���*'��
�R@���]gdY #ϲ��Q,�:
#+Cm�r��#��Wn�Y0]����f��[��w��͌��3d{-��"�1A���W-
ָ0���2��H܏�_eE��Rifқ)��6w|;"+@o�Iߡ�3��
�J��r���Ҙj�����+0�I
��䣨ʯe��:n�pW��_ٛ��/7r����٠{�Ű�d�M��h�.�C�-�����U�"�
 �ک�e#��:���=�
m
�i: ��@��U֜L�`�A	��.�[.h�!U:�5���:�����{Gy[�ۡ�5���.�
�5M-�
-��j���Prb)A�|����R�DB�B�BN�� ��5�
+����F��`Qu�

��S�src�a�b?�!uE�:���(��f|=�G�yib�~W���<&������x�[��,��GX��o@\�yQo�΋����
+��Z_��v�L&�
�/n
ʩ~� �	���:�
+1?�_BQ���1_h��:�<�W�%�{�Ag|����=���S=�e�αL�F�#�g0����юT�z��*s��.
�ͥ�"i}�
����8:#ZS��F>
�>n�6�=!��WŌ��M�gi�2�6��=��H��=<�4
ю�w-�M������	iw�X�P�-���A�Xi>J���,�͝�7�jwq�[����s�2E�Pi(
+�־�P���6x���˰�g����
*b��%d/?������zQPF����#G�P5���N�y2�9	܇y�!��X{?�"
#8�����"�j!���"�=X�G������½�ۛ7��͏��:.V�x%���0��QK(��Z�%. |��d�Q�"��m���vx�y'��������]�w[&!W�H��>����[ղX�����>���
�
+�ҕ�Y��vD���-0A�O���蟠��$��ѿ�/݇v��jü%
D��
�0m��
+endstream
+endobj
+1450 0 obj <<
+/Type /Page
+/Contents 1451 0 R
+/Resources 1449 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1424 0 R 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1462 0 R 1434 0 R 1435 0 R 1436 0 R 1464 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1467 0 R 1442 0 R 1448 0 R ]
+>> endobj
+1400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 686.111 235.858 697.015]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) >>
+>> endobj
+1401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.674 686.111 334.656 697.015]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 660.304 239.176 671.208]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) >>
+>> endobj
+1403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.035 660.304 398.018 671.208]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 634.497 244.157 645.401]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) >>
+>> endobj
+1425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.496 634.497 392.479 645.401]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 608.69 250.244 619.594]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) >>
+>> endobj
+1427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.06 608.69 349.042 619.594]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 582.883 244.705 593.787]
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) >>
+>> endobj
+1429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.52 582.883 317.491 593.787]
+/A << /S /GoTo /D (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+1430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 272.727 313.058 283.631]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c) >>
+>> endobj
+1431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.873 272.727 478.246 283.631]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 246.92 475.706 257.824]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) >>
+>> endobj
+1433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.924 246.92 513.996 257.824]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 234.965 228.924 245.869]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.886 234.965 442.272 245.869]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 198.199 486.009 209.103]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) >>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 198.199 513.996 209.103]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1464 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 186.244 268.754 197.148]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.86 186.244 473.245 197.148]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 160.436 321.648 171.34]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) >>
+>> endobj
+1439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.611 160.436 513.996 171.34]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 86.288 342.567 97.192]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.785 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 134.838 85.237]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.838 74.333 244.137 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1452 0 obj <<
+/D [1450 0 R /XYZ 89 770.89 null]
+>> endobj
+1453 0 obj <<
+/D [1450 0 R /XYZ 90 701.166 null]
+>> endobj
+1454 0 obj <<
+/D [1450 0 R /XYZ 90 677.242 null]
+>> endobj
+1455 0 obj <<
+/D [1450 0 R /XYZ 90 649.74 null]
+>> endobj
+1456 0 obj <<
+/D [1450 0 R /XYZ 90 623.933 null]
+>> endobj
+1457 0 obj <<
+/D [1450 0 R /XYZ 90 598.126 null]
+>> endobj
+1458 0 obj <<
+/D [1450 0 R /XYZ 90 556.774 null]
+>> endobj
+417 0 obj <<
+/D [1450 0 R /XYZ 90 445.855 null]
+>> endobj
+98 0 obj <<
+/D [1450 0 R /XYZ 90 439.181 null]
+>> endobj
+1459 0 obj <<
+/D [1450 0 R /XYZ 90 340.75 null]
+>> endobj
+1460 0 obj <<
+/D [1450 0 R /XYZ 90 287.782 null]
+>> endobj
+1461 0 obj <<
+/D [1450 0 R /XYZ 90 262.616 null]
+>> endobj
+1463 0 obj <<
+/D [1450 0 R /XYZ 90 213.895 null]
+>> endobj
+1465 0 obj <<
+/D [1450 0 R /XYZ 90 175.68 null]
+>> endobj
+1466 0 obj <<
+/D [1450 0 R /XYZ 90 101.343 null]
+>> endobj
+1449 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1492 0 obj <<
+/Length 2189      
+/Filter /FlateDecode
+>>
+stream
+xڽY[o�F~ׯ ���j<7��E����t�l���CR
9��R�BRv���̕�Dɲ���!�̙9�wn�����������{1�x�K/�^�c��y�<��u��ǂ�8�Ij���������{�n������+�=�Ga��ɇ������
F,����������O~�`���U�1/�.U#
#
+�!!���+Q�X8Ks-S!u���io&(E�U~���������o
����lN}<M�%�ʦշwI�B߷��ޙ�I�-:	���
(I�i�V�l�%Yf&5#�S�#�#��f5�=F��v��]�I^�}
��(��
c
�))���s�i^�fXZ�^3�S�O7�b�ZnMnk�~״b�PG��[3��i-�‰r+H���.q��Q�`e�L��

�(�΃�(��y���I��{Fa��� �8�X����զ�cn�:��R�(�~i�A����ш�
.>o�bъ���
Ye�<S�x`���zk����������^w\��\��H��
�މv[��l�"�l�eS5��~�������x�/�K�U�G��iUﲩ�L�$5��5� �
f���:����)$@�|�{T�VO�����lιo<i�p���
�99#F�L>ߗ�� 
s�L$������,m%/�\�O
_G
p���T

+�%3�y%�$/D��<5i�oڼ*Oq��
1����ۈ�ă2�7�m�JIf|i���
/���
���Q�m�&�$D�fE�8��zYy���7�e!l�e�xO�|4���e�y�ԕ��}��uj�d�,vf�4��Nɗ
O�bu�r�FT�4S�>z\ݲ���3�䩗�I*�̢�3�������u߽p}�9�1%i`V�s��ҁ�(�#��eU���Mf��n���pf�zj�9u�ދ#˪(���81���
�3`/g���6

��i.���p,�?Ew���F��
+
\a�;JYB����R�,�C��
q�N��
�Q�L�H��$�\ɢ���nͺ�vv#�2k��G�Xkk�
.Li �2��”��0.�&�p�Ҟ�B�F<�Kx'j�S�.�iJ�ʡ��y
��
+�=g�F����f&퇺���g(�]���Y!�b�%�=,k
�ɋ
+������@�A{FU�7�0<�S�q�qv����۪��$�1�Ims�ʼ\��'Q�� ��YU��Y�K�L
(�a�M���F
��i�U�2��!(�OOm2"p�sHA"� K�ٜL���
�sc��3��vo/��n/�S �8Z6.8��a�j��!:0�F�,�m^d�n�*֛vweD=RK��q`;Y
+;/m1sfM�~�[��~꼚7Yp��x2�.�����I,1
���iX:U�`:V��
+�28��Z=��q%�,c6���r�B�2��#��"f�	l��R�5�lrL�RJ}�1*�
�:��0@>w�~���Cyo�+k���[ޒE��L��W��
2
�u
+`{(
uM'�K��\>�o��ȥ�F��
+�A_�7�O��� ��8�x
Y{|9ڱH���L�I9
��Hb�}��{.Z�Dy�p�I	o
���$�qޟK
��
pl~~�ܵ˚#-̠G'`F{:-]쁡��Q�8!
0G�5`�`3�9R�I�@�"�C��<`��%Zr�2�D�^ϥ�/��Q&k�S
�}�4�B��N_�t���5�7�a����#M�Ɲ�>�9A<t�e�����
g��=<vf����t�^
+=�gg"��P���8�^��5�eC�>)�,q�����2�ƀp�wnj�\��4&�]
g��� d
���{�
i���*UzRj�<�Ear}�o��k�6s�4�%U��:���v�ɢ
�An~�
����|e����������nog��5�J����m�l�T,�
J�f�a��K"KĞJˉ����I6�m����I����ړ���R��J����N�A�����ȖN�]oԙf�'ߋ�s��eZT�k���"����\�������E!e����M�!�c����#L���{���1Wo��{U��N�
��;������?�E�
�p��a���~�7?��/I��&+���a���F�_�~�1��I	^g�\���E��
G��BP����‚W�����&�C��;��Ʈ��k����է��
+�Ո��&�!��5�+�
�K\������1hfv
+endstream
+endobj
+1491 0 obj <<
+/Type /Page
+/Contents 1492 0 R
+/Resources 1490 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1496 0 R 1447 0 R 1468 0 R 1469 0 R 1470 0 R 1471 0 R 1472 0 R 1501 0 R 1473 0 R 1474 0 R 1475 0 R 1503 0 R 1476 0 R 1477 0 R 1478 0 R 1505 0 R 1479 0 R 1480 0 R 1481 0 R 1482 0 R 1483 0 R 1508 0 R 1489 0 R ]
+>> endobj
+1443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 696.05 335.952 706.954]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) >>
+>> endobj
+1444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.169 696.05 500.542 706.954]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 670.244 336.509 681.148]
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) >>
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.727 670.244 513.996 681.148]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 658.289 134.838 669.192]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 658.289 332.684 669.192]
+/A << /S /GoTo /D (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 325.222 253.293 336.126]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) >>
+>> endobj
+1469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 325.222 358.716 336.126]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 299.415 321.855 310.319]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) >>
+>> endobj
+1471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.073 299.415 426.681 310.319]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1472 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.904 299.415 513.996 310.319]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 287.46 134.838 298.364]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.159 250.695 357.827 261.599]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) >>
+>> endobj
+1474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.696 250.695 464.304 261.599]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 250.695 513.996 261.599]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 238.74 235.001 249.644]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.838 201.974 366.064 212.878]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) >>
+>> endobj
+1477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.612 201.974 472.219 212.878]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 201.974 513.996 212.878]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 190.019 235.001 200.923]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 164.213 260.735 175.117]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.55 164.213 392.17 175.117]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.611 102.021 305.072 112.925]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) >>
+>> endobj
+1482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.393 102.021 436.013 112.925]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.459 102.021 513.996 112.925]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 90.066 149.224 100.97]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1493 0 obj <<
+/D [1491 0 R /XYZ 89 770.89 null]
+>> endobj
+1494 0 obj <<
+/D [1491 0 R /XYZ 90 711.293 null]
+>> endobj
+1495 0 obj <<
+/D [1491 0 R /XYZ 90 685.487 null]
+>> endobj
+1497 0 obj <<
+/D [1491 0 R /XYZ 90 621.221 null]
+>> endobj
+418 0 obj <<
+/D [1491 0 R /XYZ 90 498.349 null]
+>> endobj
+102 0 obj <<
+/D [1491 0 R /XYZ 90 491.674 null]
+>> endobj
+1498 0 obj <<
+/D [1491 0 R /XYZ 90 393.243 null]
+>> endobj
+1499 0 obj <<
+/D [1491 0 R /XYZ 90 340.276 null]
+>> endobj
+1500 0 obj <<
+/D [1491 0 R /XYZ 90 314.658 null]
+>> endobj
+1502 0 obj <<
+/D [1491 0 R /XYZ 90 265.938 null]
+>> endobj
+1504 0 obj <<
+/D [1491 0 R /XYZ 90 217.67 null]
+>> endobj
+1506 0 obj <<
+/D [1491 0 R /XYZ 90 179.456 null]
+>> endobj
+1507 0 obj <<
+/D [1491 0 R /XYZ 90 117.076 null]
+>> endobj
+1490 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1537 0 obj <<
+/Length 2022      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~�����@��"�b;
�֦�ehצOm(6m
�.����;$EY�eǩ��^LI���;7R؛{�{>��bpvα'�i�]�<�=�
�p7�>9"t4&�aQ,/��L����K�Gc��L�rO��}'g�
�h(3�DB
}>�|�r��b�u@`e��R�x�M����؛��
FLDލ��z>e0.�����f�����QopB!V�O�fq���q
�4I��ǚ�r^s��LЂt�}[)�^ʴP�����O8�;�Z�<��6E�Gm^=��Ǎg��"9�Ȕ��'ޘ��F�wR�ʬ����P�U����H �
��Έ�!��>����m�'� �D��!=���!���r�8q�g�
�J��F0�������
1>l3�퐫�,o�J�PG
����0;��>mˏ�pm�+��<�6��N P7���

Cҏα~
�h� �M`�D9���\�
��
�߫*�;���J,BQ� )Q}H��$��5��U- �'?9�3��?5+�q [...]
�=J��^�
��0��fh�������v��y�T^�(
��
�M)V%�[Vh�x�6�!�!`<��u]z��&Z�.�,�:����4��nxo{����]
�X�#*
�]'K���?�W�\���~Dյi�
��� LD�(���Y*�*�H��M�5M�S+맭���a���GuJQ�oJ� d�
+�[��O������/=�8�AxL����ېM����
�(�����_�t/�}YoyCBD��>��������bm�Ml��+��l8�^NdU���(���v��H{�_�R��b��ެ
��:�
�D�$�,J��ڇ/g�
!�j���6��L�mĨ��
0(	w3*5�W}%4����%�����՟`����v���3+��x�(
+h�/(������Gb�,T��q��n&
c�.t7���a#�Au\�����!��z��
	 0�iW�C�d���a($���
��W������
���CH;G�P�哱���t�*u!9������n!t�H&:�.�Yiݷ8��I��<����{d�
���S��׃u�q5I���*-~@ک
�# 2FP�����`dPma�Qm=�]�U�����
;T�.�Vb}m&A��wa�!�z�5(����5���e
O���
D��� ��	"
+y�iD�A�S�H�L��`5mg)(|��~(EPB4�JЃ��4���Fᘁ6CҜ�����R���DL�]5)��H��(�Ah^�"<�-�nܵ���~H�3�nx��n�h��į��/\����_g�2׹�:��.L���Դ?�ph0�1��麑j#��h�����
�q�p��\�B< R�?��OVi���j�n̶d��W
Ÿ�8+�6Af9$f#u�1�w��q�ϡ��Yd:-���i�t��������.�ڞ�օ�]�	��ޓ���g�ीC|ǠC����_��
ڜ;w >���Z>�-7[ݵ#���Y[��
+�][�#>�[?m���;9��di���&l	[�
�t_����nlh#��$�,WSigҚ0�E�~��դ�6�,�6���{}(�[G��)�q�
~��>K��I�M��Q �~���k{�
^��|�e����~�d�����mg�x9j��'�\o��u�w��Kgp+��]�e�Yֽ,M�Z(U<>;�Z�!���$��r^���Q�:�9(�y�|~��,LxB�9��@]ٸ�(�+x?&�S3�}m�t/��^��{��!�_��x�ő
+endstream
+endobj
+1536 0 obj <<
+/Type /Page
+/Contents 1537 0 R
+/Resources 1535 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1484 0 R 1485 0 R 1486 0 R 1487 0 R 1488 0 R 1541 0 R 1509 0 R 1510 0 R 1511 0 R 1543 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R 1518 0 R 1547 0 R 1519 0 R 1520 0 R 1521 0 R 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1528 0 R 1534 0 R ]
+>> endobj
+1484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 261.85 718.861]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) >>
+>> endobj
+1485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.666 707.957 393.286 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.785 679.904 260.611 690.808]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) >>
+>> endobj
+1487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.106 679.904 393.726 690.808]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 679.904 513.996 690.808]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 667.949 189.622 678.853]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 639.896 250.732 650.8]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.95 639.896 381.57 650.8]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.831 639.896 513.996 650.8]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 627.941 168.591 638.845]
+/A << /S /GoTo /D (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+1512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 599.887 251.33 610.791]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) >>
+>> endobj
+1513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 599.887 382.766 610.791]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 517.871 256.301 528.775]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) >>
+>> endobj
+1515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.117 517.871 361.725 528.775]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.454 489.818 304.24 500.722]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) >>
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.404 489.818 410.012 500.722]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.13 489.818 513.996 500.722]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 477.863 134.838 488.767]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 406.806 268.495 417.71]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) >>
+>> endobj
+1520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.311 406.806 399.931 417.71]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 378.753 271.813 389.657]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) >>
+>> endobj
+1522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.673 378.753 463.293 389.657]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 350.7 276.794 361.604]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) >>
+>> endobj
+1524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.134 350.7 457.754 361.604]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 322.647 282.881 333.551]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b) >>
+>> endobj
+1526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.697 322.647 414.317 333.551]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 294.594 277.342 305.498]
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) >>
+>> endobj
+1528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.158 294.594 382.766 305.498]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+1534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1538 0 obj <<
+/D [1536 0 R /XYZ 89 770.89 null]
+>> endobj
+1539 0 obj <<
+/D [1536 0 R /XYZ 90 721.073 null]
+>> endobj
+1540 0 obj <<
+/D [1536 0 R /XYZ 90 696.246 null]
+>> endobj
+1542 0 obj <<
+/D [1536 0 R /XYZ 90 656.238 null]
+>> endobj
+1544 0 obj <<
+/D [1536 0 R /XYZ 90 616.23 null]
+>> endobj
+1545 0 obj <<
+/D [1536 0 R /XYZ 90 534.025 null]
+>> endobj
+1546 0 obj <<
+/D [1536 0 R /XYZ 90 506.161 null]
+>> endobj
+1548 0 obj <<
+/D [1536 0 R /XYZ 90 422.96 null]
+>> endobj
+1549 0 obj <<
+/D [1536 0 R /XYZ 90 396.79 null]
+>> endobj
+1550 0 obj <<
+/D [1536 0 R /XYZ 90 367.042 null]
+>> endobj
+1551 0 obj <<
+/D [1536 0 R /XYZ 90 338.989 null]
+>> endobj
+1552 0 obj <<
+/D [1536 0 R /XYZ 90 310.936 null]
+>> endobj
+1553 0 obj <<
+/D [1536 0 R /XYZ 90 263.553 null]
+>> endobj
+419 0 obj <<
+/D [1536 0 R /XYZ 90 147.175 null]
+>> endobj
+106 0 obj <<
+/D [1536 0 R /XYZ 90 137.887 null]
+>> endobj
+1535 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1593 0 obj <<
+/Length 2609      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�F��W�6`U��
@#sJ���xl���
�
"@
+b	 J���y�a#HBiυhݍ�|om��f�g�\�|{u��dz 
�f��Y�g>����h���b���3�	D��/޽�}����|v�����+����.��l�^}��"���
#�٣���8ep��>^��
+R0��
ʋ!L�a� B4�mX��|A�p^�U��Y��;^�����قr�x�7���m^ǰ����>��(��Ͱ4�,7�8��K=^ۗ"؊���RГ-��
�p�H6��ݪ�����OU�l�4��K�,҃���z�O�w�%�
3�R����>-\��^�oKՕ��j	�S�eϩ�<.���
�/7�4n��i�/���w��)".�@�c&�x�(��)6?
�b�^��r^�I�8,��>e
Rγ1��m,U+�l������Pf� `'
�����&����\`�Kߪ�w�
w�x��k��]% �}6��0�	�ǻ��n�~QΙ��`dȂ1'�� 
�A���	v$s�†����5J�&�N��}/c�ƫlc=�O�|;E�l]!vd\��\�l'M�>G��ܹ1Ԃ��:u�ߙi�FB��dN����S䉲b)��y����No`�#@�T*r�wP�%�g��.H�!����"�?�^4¾�\��?��! +QL��rc�O!�����=тcI��u� J�P�y�
\����1Ԁm1�=��*I��+���cg�qG����IO��m���Z�2�xHn�d��ҍ\�X��3�#y[�#��eR�q����Q�	��F��ѕ���;�
��
+.|�֒X��
���t���Ԅ��Wq��
�z(
E]�-�]��p�23t(G��!�
�|����OB����	�@* �~Z��a�z�0��o\�K`m�����>[Ԥ�"L�4�Ȱ@Vޑ����N
pf\���Q2����&��M�������1,\(d�2���]")��>�9��]��>@�6 �#�@~nљ����
����u���2�.�v��p!-������ٴ��cn�vZ��]�|�
`�{ ��
��oa>8K�]�0@��
Λd��2� �B}�F~u�	�0Wy"�́�6!���;f�5#5^�
�f$�
4#�%>�˘lޘ����Ø���s����Z��L�cM
+�eF�����hzԌ\
+��e�ʺ����ؙ�
+$��;_1֫ba&>%@��s��&��]��*���Hik��?�_�d$�
+��ޜ�6���z�о��3eW�ط��~��\�S�l�υ&8�F�����o��>��r5Ɣ"��~0ѭ�#��Ce
+c
@���c* �ƦGK� Q��M���.
"lj"�	=#r�x��s�r^W�ӱqT7��A�m��ghT�Fǁ�A^nk����ϐ�ʿ���-
�R at 1;�H�ͫ�4��ȳ(�6�����E+��c���rWqVC=h��]�]���J��Z� )�(���&1m���2�׷�a��<J�_��C�BmT
�B*�Z�5�q9��5t,�a_r�
0�!̃�d��Ψt9A�4~���Q'�8�JGA
m���[B�G��q�T�ȑ'Ι!v0p���]��k�k�]�
�����&�0�C�E�B�:G���W�>��
��Ԏ�f�!�[7�<Hr�RF�	��C�S9�
��"*��
+nOΊ�:��hۚ!ƛ�?;��Pz�
+��[�a��w�Q9����`���*ɦ
����2qvG%�)�w�nOʲ縶��v5�V�=�
�N����+���wԟvk���l|�j8
C��#����ʟ��S����E`����
��\�+���:y��M`U�5)3/��d���	`�� ����q��Xg�\��8R_xN�TB��ߵyu�WUa�T�:�+�N�wq-�`��8�]��k�*I�t��0�+���M�����~0���w���Æ".���@u���W��2c\p�/x����6�~k&�0�O�w�AO&���;;��MS��
W+#!h���Ɋ]}�nW�Eo:雖s)I�,J��M���ϱ����ю�
+^c=�O���������X{�Q��b�@
��+���U����+M~�K.��~��HU�q���76Y��x�\>8h9#]4pڶ
�9�@��}�<"���3c$�&�duos�H��6� 9 9b
��&
(�b~����&��B���x`["����.n�0�1�OV22���
�jw}H�1�!|�'�
 2�tb�
S�/����*I��.-.N���;��o������c(.��Aq����}fu�FWم�Ɲ���A�z�`۰0�ٝl���:�@v��
�g���EN{N���%a#�2�Zo��s�� (ڏ(O�f�3�tl+���z
;:���=
+�2���xg!�U;�}��B���ݱzhט�7)���a�v��h7Tߟ��=�L(�� "3G�ukS������
}yf�]�1Oo��_˰д���(�1���9�3���E�
q�6�	�Q�:�������d�A�t
PE�|/x_�ŏ��w�
 g�Vy�o��b�G�kaa�4�_�'�,6����?���>
+endstream
+endobj
+1592 0 obj <<
+/Type /Page
+/Contents 1593 0 R
+/Resources 1591 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1369 0 R
+/Annots [ 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1597 0 R 1533 0 R 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1558 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R 1564 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1608 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R ]
+>> endobj
+1529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 636.457 218.374 647.361]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) >>
+>> endobj
+1530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.592 636.457 288.879 647.361]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.227 636.457 436.953 647.361]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.579 636.457 513.996 647.361]
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 624.502 196.556 635.406]
+/A << /S /GoTo /D (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.805 624.502 302.299 635.406]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 565.929 287.046 576.833]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) >>
+>> endobj
+1555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.862 565.929 358.149 576.833]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 529.273 320.799 540.177]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) >>
+>> endobj
+1557 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.615 529.273 391.902 540.177]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1558 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 492.618 288.132 503.522]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) >>
+>> endobj
+1559 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.948 492.618 359.235 503.522]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1560 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.658 492.618 472.957 503.522]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1561 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 466.922 296.69 477.826]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) >>
+>> endobj
+1562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.505 466.922 367.792 477.826]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.898 466.922 478.197 477.826]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 441.225 226.414 452.129]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) >>
+>> endobj
+1565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.229 441.225 323.529 452.129]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 379.337 271.245 390.241]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) >>
+>> endobj
+1567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.061 379.337 368.36 390.241]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.821 379.337 462.177 390.241]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 353.641 219.779 364.545]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) >>
+>> endobj
+1570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.594 353.641 316.894 364.545]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 327.944 243.828 338.848]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) >>
+>> endobj
+1572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.046 327.944 340.345 338.848]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.73 327.944 433.087 338.848]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.565 327.944 513.996 338.848]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 316.363 134.838 326.893]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 290.293 230.05 301.197]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) >>
+>> endobj
+1576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.866 290.293 327.165 301.197]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.626 290.293 409.107 301.197]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 264.596 217.009 275.5]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.825 264.596 314.124 275.5]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 191.749 234.175 202.653]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.99 191.749 331.289 202.653]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 166.053 237.492 176.956]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.352 166.053 394.651 176.956]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 140.356 242.473 151.26]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.813 140.356 389.112 151.26]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 114.66 248.56 125.564]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) >>
+>> endobj
+1587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.376 114.66 345.675 125.564]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 88.963 243.021 99.867]
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) >>
+>> endobj
+1589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 88.963 314.124 99.867]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+1590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1594 0 obj <<
+/D [1592 0 R /XYZ 89 770.89 null]
+>> endobj
+1595 0 obj <<
+/D [1592 0 R /XYZ 90 704.286 null]
+>> endobj
+1596 0 obj <<
+/D [1592 0 R /XYZ 90 651.484 null]
+>> endobj
+1598 0 obj <<
+/D [1592 0 R /XYZ 90 581.144 null]
+>> endobj
+1601 0 obj <<
+/D [1592 0 R /XYZ 90 544.489 null]
+>> endobj
+1602 0 obj <<
+/D [1592 0 R /XYZ 90 507.834 null]
+>> endobj
+1603 0 obj <<
+/D [1592 0 R /XYZ 90 482.137 null]
+>> endobj
+1604 0 obj <<
+/D [1592 0 R /XYZ 90 456.441 null]
+>> endobj
+1605 0 obj <<
+/D [1592 0 R /XYZ 90 394.364 null]
+>> endobj
+1606 0 obj <<
+/D [1592 0 R /XYZ 90 368.856 null]
+>> endobj
+1607 0 obj <<
+/D [1592 0 R /XYZ 90 343.16 null]
+>> endobj
+1609 0 obj <<
+/D [1592 0 R /XYZ 90 305.508 null]
+>> endobj
+1610 0 obj <<
+/D [1592 0 R /XYZ 90 279.812 null]
+>> endobj
+1611 0 obj <<
+/D [1592 0 R /XYZ 90 206.776 null]
+>> endobj
+1612 0 obj <<
+/D [1592 0 R /XYZ 90 182.963 null]
+>> endobj
+1613 0 obj <<
+/D [1592 0 R /XYZ 90 155.572 null]
+>> endobj
+1614 0 obj <<
+/D [1592 0 R /XYZ 90 129.875 null]
+>> endobj
+1615 0 obj <<
+/D [1592 0 R /XYZ 90 104.179 null]
+>> endobj
+1591 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F103 1599 0 R /F38 1600 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1637 0 obj <<
+/Length 1937      
+/Filter /FlateDecode
+>>
+stream
+x��YY�۶~��ڇ�@��U�r�m�I{/�d�SR��E{�ʒ#�3���M�-/�8-��E���|磈�U���n&��#
�(i�,����.
�N#D��`���M>Qe���*T�4e5�P7j=_�E�̳ƍ6�jvE��,`h�,��}����9U�
�i��<��~�j����Ä�M8 ��",֓��� ��WF,�����8e�o&�M�s#*��s�I��
!���7����j�,W)�J%�Ջ*�4YY�����a?Z8 ���x3�x��Q��7)R{��
-ʍ/��^�| k��hq$B!�Nܭ
\�Y2���*gDL�Ty	�?3�3#0��)gTL��X���&� �9L#�B���B�	Z�Vh���	b�����+Q�c�|;���b�VE���}kn������z�U�k/By�yn��
+���0��z:X��3	�
!ʝ��(�Yo������V%)DE�)���iir�0��]y
,B1�ce�_"��K"
+�HRz�P2jK�E� �1œY!u�BQb�
�
9���ٻ��B��^D7%�S�C��F
K_F��H21Tl�sD��Z��
2�7��{_5#1�"qՌ2�B2T�$�h��X��p
]���4�#�{E��(�1h!�C�J��O�mm���5�N:l}��:+�6Uv&�n�`(�:X�vDV��
�	}X���#O2��O����bG��B� t�Nl_|�r��
�ۀ����a��W6���&M
���>��(J�p���U��JD���΂_!
��9xv��G]O�v���+����V��+;y��M=�'a���$�<��3�a]H��U�k3�ĶI�t���Ԯ-C�����ڕ������X�ۼ�	�t/�S��l����:?�%ix�5G��CnSa� ����fy�
�e�Ҭ����a��gOH��Y��
+����üc?N����Ӵ�1���1"H��^�BQ$�����7� A�:�kM��E����6�\�3s$�.��'�Q�f%"���O���"��∅�| ��c��
+�� �4�����XA0�u"3�
�0#��-�g�
I���<ثr9��v�!o7��@_I�#����R�Y�KM-�e��q��t��Y؊���I�"4�F�Ͱ�����I�/X��k~��ML��W���*�������ic�h
suWW��ԝe�bK�p����@[+4*a[�3
�
�3�XbЬ��Ĉ�����j=��$n��rɜ�\5�
Ҟ3A{��|Q�~Y�8��%y�&-i�A����PDa���G��Mt�H�ɟ����Vo-�%i��qSi�rc�}i��gyn�
^���&y�*�꿜��V):��C�`)BM��!�ƕg�ka���{�?-.����-�����5ή�YL�3�od�gA$�鴃{��K���d?��.������l��Hpye�]c>�3�D4,?�I:%���{��`O,e|��
PXӜ.��Plw����m�I�}u0�����I[�x
v���X���0"at�6�_T��������'��
� �j�S;�� ��' [...]
+endstream
+endobj
+1636 0 obj <<
+/Type /Page
+/Contents 1637 0 R
+/Resources 1635 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1616 0 R 1617 0 R 1642 0 R 1618 0 R 1619 0 R 1620 0 R 1644 0 R 1621 0 R 1622 0 R 1623 0 R 1646 0 R 1624 0 R 1625 0 R 1648 0 R 1626 0 R 1627 0 R 1650 0 R 1628 0 R 1629 0 R 1630 0 R 1652 0 R 1631 0 R 1632 0 R 1654 0 R 1633 0 R 1634 0 R ]
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 425.461 335.703 436.365]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) >>
+>> endobj
+1617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.921 425.461 513.996 436.365]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 413.506 134.838 424.41]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 385.952 522.191 396.856]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 373.997 313.028 384.901]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.555 373.997 513.996 384.901]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.042 168.591 372.946]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 323.529 530.749 334.433]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 311.574 313.028 322.478]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.058 311.574 513.996 322.478]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 299.993 134.838 310.523]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 272.065 343.145 282.969]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [346.362 272.065 513.996 282.969]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 260.11 168.591 271.014]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 191.05 365.809 201.954]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.027 191.05 513.996 201.954]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 179.095 194.603 189.999]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.603 179.095 327.145 189.999]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.595 151.541 359.281 162.445]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 151.541 513.996 162.445]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 139.586 163.61 150.49]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.806 112.032 362.05 122.936]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_af8d741d4315fb12dff45b47979f88808) >>
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.567 112.032 513.996 122.936]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 100.077 194.603 110.981]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.064 100.077 415.692 110.981]
+/A << /S /GoTo /D (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1638 0 obj <<
+/D [1636 0 R /XYZ 89 770.89 null]
+>> endobj
+1639 0 obj <<
+/D [1636 0 R /XYZ 90 721.073 null]
+>> endobj
+420 0 obj <<
+/D [1636 0 R /XYZ 90 611.746 null]
+>> endobj
+110 0 obj <<
+/D [1636 0 R /XYZ 90 603.082 null]
+>> endobj
+1640 0 obj <<
+/D [1636 0 R /XYZ 90 499.43 null]
+>> endobj
+1641 0 obj <<
+/D [1636 0 R /XYZ 90 441.365 null]
+>> endobj
+1643 0 obj <<
+/D [1636 0 R /XYZ 90 402.498 null]
+>> endobj
+1645 0 obj <<
+/D [1636 0 R /XYZ 90 340.075 null]
+>> endobj
+1647 0 obj <<
+/D [1636 0 R /XYZ 90 288.158 null]
+>> endobj
+1649 0 obj <<
+/D [1636 0 R /XYZ 90 206.954 null]
+>> endobj
+1651 0 obj <<
+/D [1636 0 R /XYZ 90 167.634 null]
+>> endobj
+1653 0 obj <<
+/D [1636 0 R /XYZ 90 128.125 null]
+>> endobj
+1635 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1687 0 obj <<
+/Length 2127      
+/Filter /FlateDecode
+>>
+stream
+x��Z[�۶~��ڇc5�W]�ڤY���M��<$����^���J�.��wxu��u��ɓ(�9�|3C	{k{W��g��E(��]�z�
!��]꽟
������!"�/���������;�l������G�#�}���K6���c/��<�Xzz����5���~�a�
+FT���X�B:R�D�� @�!�X����l�,��bIiwuRe�&+
�_;��+��R�-)G�GF��"��ǭ�A���HM�vW$J��-+��Y�MV��-̥��*�/�e�F���Ǻ���턹I�|���wl�X�i�@�7
+@�ΤZ���;�yf�,+{�����,�3V2N�e�?�w�$��
۔��j's��ES���Uԭ��H��'���o
�V�����'jCA
��lE��B���+%X-F	_��r//بf�V�>2��'>F��V��ɒ� pϬiD�4�dZ&;��X�j���.���b_|�w�`7d
��ܴ"d+4������\^�
k@���a�pe?P*���/��v����
��E�9�3�.���ؐ�MZ�30�p���q�t t��	��D�#�c$��G��� 
#̹��"�3�Ĵ`Ј�iZ�#��hZ�⽹)��?�,sS"�/����
�(��3��(db8q/��ڐ�k
lj�}+oᙬd=GHv�vS	�$�=�T!��!��)�ˬH�]*�H�"�H�P9n���� �"j��8�H^Ȑ�P��!W�oDLʀy@)���-Q�~�r;szD��~S6�%��qTS�θ����7rs#��9�"��;
�� U
H�b�j�� ��m]g�B�� ���c�����	�>���c��u��z��QY���oW]X酔�TC�&-��EN�Z5�U8�U�0�<�[�a6�8�B⠸��X"h��\c�q���3�^��.�S��*7��q?X�p?�E��AXݏ]���X�v��
<�[T�m6e���4�
���&D����p���3t� |>�I�Q�B0�JaL?R$:R+�G��3)A�3D at O
���d��+�A��9Rgb#
�)wZ�
+�^� �5I�jԐ;�Q���5�խ=̚�
27XW��:�N�ԽɏU+nlm�r�i�����ί'0+s��k̙s�������	�;
+&�7�		\R	p�
r�׉�.�;�i.H���	ԗQ@�I<����Km�q?
��q
RN��]��t�I�h����B�/��/9Ӹ�mŪ[nȩ��b��ʆR��A
|o���r�o�P��}?
��Ϻ���q[v�lO�S�
V��[���z���)���:�M_�w
+1?�����P���b��}�f����s�K]%+�Y]MV<̕
������c�X��'\D���]��� B,r
yھ��
�#`O��E�ᒪ���g fk�TB ϙ�?#�R�|N����b���>γ4vi�C��}ÄPu��/��u�;���h8��zg�i4uRV���e���*�W���V�C�綸Ч�P����Fnd��\ƵL�)��R�6	(�U�2[7�
"tu�K[k�ikݟ�4�}
��ʹ���a6�U�br$���q"Wi����C�
�+4Ƈ�V̹
"��D{�a>Vz5h�Rg��� �W	��:esr��Jl�k��U��t�8
+
�m&\J
7u������{�t��u�ƲH�v���Ξ�qĩ�
K���y��d�>�}+�]5��[0G����_��	��G�Ɍ������a�֟u{6w ���͞��"
 V=d���'�/ţƔp�P7Z�uV����0�D
�*L'T=�\v��ӑ��9["8ME!�N�a�'�7�N�����a��Ŷ��|1<�sLuc �E���|Y)�1b��'
�'��Ԥ�-sȳaZ��f��f���m\7#������(V??�l��������ˏ�\\
�@�S@6r�$�y�D��<�s�&A@��~[?l߱
�7�{Y��N��-;���)��GQ��{�b1�=;f������d/�姸X��}�z�/��Բ���6o
�縀i�p��'�.�vS��10'�ͥ�����8�3{z���!�i��7�u-�5Jʉ�{9Py��C��vSV.-�΍�I���)�E�
+endstream
+endobj
+1686 0 obj <<
+/Type /Page
+/Contents 1687 0 R
+/Resources 1685 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1694 0 R 1663 0 R 1664 0 R 1665 0 R 1696 0 R 1666 0 R 1667 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1699 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1702 0 R 1677 0 R 1678 0 R 1679 0 R 1704 0 R 1680 0 R 1681 0 R 1684 0 R ]
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 432.214 276.535 443.118]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.351 432.214 405.202 443.118]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 406.818 368.34 417.722]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.558 406.818 496.409 417.722]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 394.863 241.637 405.767]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 358.508 402.661 369.412]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.879 358.508 513.996 369.412]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 346.553 134.838 357.457]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.137 346.553 310 357.457]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 310.198 411.219 321.102]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.437 310.198 513.996 321.102]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 298.242 134.838 309.146]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.944 298.242 302.806 309.146]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 272.846 283.977 283.75]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) >>
+>> endobj
+1668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.793 272.846 438.656 283.75]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.614 211.783 328.317 222.687]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) >>
+>> endobj
+1670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.641 211.783 482.503 222.687]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 211.783 513.996 222.687]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 199.828 195.719 210.732]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 174.432 285.093 185.336]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) >>
+>> endobj
+1673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.909 174.432 439.772 185.336]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 149.036 281.577 159.94]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) >>
+>> endobj
+1675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.794 149.036 435.657 159.94]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.917 149.036 513.996 159.94]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 137.081 228.924 147.985]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 111.685 273.975 122.588]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) >>
+>> endobj
+1678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.193 111.685 428.056 122.588]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.316 111.685 513.996 122.588]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.729 228.924 110.633]
+/A << /S /GoTo /D (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 74.333 274.573 85.237]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.388 74.333 429.251 85.237]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1688 0 obj <<
+/D [1686 0 R /XYZ 89 770.89 null]
+>> endobj
+1689 0 obj <<
+/D [1686 0 R /XYZ 90 721.073 null]
+>> endobj
+421 0 obj <<
+/D [1686 0 R /XYZ 90 604.849 null]
+>> endobj
+114 0 obj <<
+/D [1686 0 R /XYZ 90 597.856 null]
+>> endobj
+1690 0 obj <<
+/D [1686 0 R /XYZ 90 499.518 null]
+>> endobj
+1691 0 obj <<
+/D [1686 0 R /XYZ 90 447.166 null]
+>> endobj
+1692 0 obj <<
+/D [1686 0 R /XYZ 90 421.959 null]
+>> endobj
+1693 0 obj <<
+/D [1686 0 R /XYZ 90 373.648 null]
+>> endobj
+1695 0 obj <<
+/D [1686 0 R /XYZ 90 325.791 null]
+>> endobj
+1697 0 obj <<
+/D [1686 0 R /XYZ 90 287.987 null]
+>> endobj
+1698 0 obj <<
+/D [1686 0 R /XYZ 90 226.735 null]
+>> endobj
+1700 0 obj <<
+/D [1686 0 R /XYZ 90 189.573 null]
+>> endobj
+1701 0 obj <<
+/D [1686 0 R /XYZ 90 164.176 null]
+>> endobj
+1703 0 obj <<
+/D [1686 0 R /XYZ 90 126.825 null]
+>> endobj
+1705 0 obj <<
+/D [1686 0 R /XYZ 90 89.474 null]
+>> endobj
+1685 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1732 0 obj <<
+/Length 2426      
+/Filter /FlateDecode
+>>
+stream
+xڽZ[��8~�_A�>,��Ւ@�lm�l�N�L�L6�yJ���656�}��{tÀi۝x��,����|�"������?��W{1�9���‹�'�1w�����ٜ`���Z߽����,d��e}�&�ٜ2�_��I*������D�,�#a�32���狷�_/L�=b�cHD^�����2x���QGރ��B�u�}�������z%Q�E�
���#
+MA"Ĭ�l�uр� [b.U��m~�$'���Bf!��3�}X��/��W1���b%�
y٘.C(��.���A�צ�(��^�
e~��0��P�ijM�&i��3�T:��(yk��j-7�h�kY�����'u���͏j�دg��6 at poN��8�F1����lgRd�Q�z�T���$j%�ۦ���/ʼ��I�
+���a�c2P

�����/ͼ��h����vm:�FM#�_f�[��˼�8��5�l���D#[��BăW���j[�J�V�v�������6�,_<���&��ؖ3s��i�f �����Au�3x��4g`� _�XYW��f�Aw�
+�7b#�]��I=
S��3��l�[�-�k� JA��z�#g��Rm��1������~���
�����g3~�ۚ��
��-!����H@!��.�)5��R��T
�f9�qc�X�Z�+F�p2�a�p��1#F�w@% ����E#�v��xe�g���gټ: 0�j��&��<�Z�3Z�K�b�=�5	�SJBD��֪q�4���,��@o�8�3S��mmqځ
����#r
�	�1�#���#�H��I��/0�A��i��i��ݝD�c��������o�.f�
5��l��wU
=���m�:	�C���M�j��^��L� 
Z���6	�Q�!�i�r�N�P��o�Y.f(��9Hn���la�z
��oޚ�а'�ag^���`!�#�SK-��!v�Kq6��Đ���Έ�
B�m	�4�? b���a���
H�4rHJ���5PJWI=	%޷
�g�[=�T�D��HVx2xT‡X���I\�^��\�&�t�U[��|�A�T^=
�
Vy���j��v9��>O��
�CU�X8
FOf�)��pI�CҤy~�m7�x`�ޙ���Q���3�`�(z9s��ˀ)$�C���6�BZ3}T���k�Miʏ���ma��A :��y�.Q$�9؎
GպL��<�|���
�B�8'�|+�(܄b�s7��s� \Bq2��$wb(�L?
U�UK(%���
����,⊹��HW:b���7�M��Q�$od��y�W~ �X���-3��,��S���.�^
+2]
��\
K.&�7E 5��0�ҭ
J�3�d}O]*/s�gr��Yuy�&�����v)Z��j��ܙ�K {1�8Z(�C_��C@	#��p���L��!Z�շ�]ڷ���f�
�N�^-fQ��K�jv�蹖?
	 r�P�q�̴��[�$娜s�
�M�L
_�� "���I /A�M#
+=�CEm �HtemS�
���8
a�^������r�br�iyT��
ys��,sS���|0w�̄�4��?f��r��Z�2
�}�
�鄝�M
�\^	:$���#/��6��'!��,@"�x�_c	�$;�އ���h�(@<���'�6	!�
+ 
+@�pEֵ5QP�I%�O+�k��q�
�ܝ
$uwV`�����w[�x�A�ȥ�}:x���z������OM�/
�c�M�d��
�#�R3ݑB�i�����8���A���Z
�(!��%7y!����cU�F������ـ,���ƞ+J �
�j.��x�Τ�b��������Z�}Q~'�+��g�=��׶:�j�	�NO�I�� �3�8�5q.�u9��r3\��q����c��r-��*�]*a
�h�:G#B��"&��O��P�
!!0d���8��
&A�����Nm�=
x��������6a
Ő��ѹ��Ρ{b��HU ��b�p���������G���h�MF�a�p�k��f�`
+�Ipx��y�]� ����݌���T9dJpD��Ϝ��F
8?9E5fo��y�̬ۙl?�V ��լ�J	N��f�T(�3�޶Y�D�$^ౖ
�u޶��7��D��d�ͺ��P\ ݥY�����C
��ofķ�"p�?����,;CW�9u]��6Y�	�i��~�
i�����\S��B
�
��8����	��e���q��|����h���c���&)��d)���
r��Y�SE��;�/�
mA�^i[�;����
>J�Q����\�

��D&��vն���_�K��(-'��w/
�|���]�)]�����!�;}3�9�(�+�Au�~[��^�.�7������}d�d_M
+endstream
+endobj
+1731 0 obj <<
+/Type /Page
+/Contents 1732 0 R
+/Resources 1730 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1682 0 R 1683 0 R 1706 0 R 1707 0 R 1708 0 R 1736 0 R 1709 0 R 1710 0 R 1711 0 R 1712 0 R 1713 0 R 1714 0 R 1715 0 R 1716 0 R 1717 0 R 1718 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1723 0 R 1729 0 R ]
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 650.466 279.544 661.37]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae) >>
+>> endobj
+1683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.36 650.466 408.21 661.37]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.711 625.442 350.983 636.346]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) >>
+>> endobj
+1707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.405 625.442 480.255 636.346]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 625.442 513.996 636.346]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 613.487 228.904 624.391]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 553.447 291.738 564.351]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe) >>
+>> endobj
+1710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.554 553.447 446.416 564.351]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.098 528.422 296.048 539.326]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) >>
+>> endobj
+1712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.133 528.422 513.996 539.326]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.891 491.443 299.822 502.347]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) >>
+>> endobj
+1714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.559 491.443 503.422 502.347]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 466.419 305.526 477.323]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) >>
+>> endobj
+1716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.744 466.419 459.607 477.323]
+/A << /S /GoTo /D (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 441.394 300.585 452.298]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) >>
+>> endobj
+1718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.4 441.394 429.251 452.298]
+/A << /S /GoTo /D (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+1719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 134.507 241.617 145.411]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) >>
+>> endobj
+1720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.835 134.507 335.364 145.411]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+1721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.712 134.507 483.438 145.411]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.552 259.649 133.456]
+/A << /S /GoTo /D (group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+1723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.898 122.552 365.392 133.456]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1733 0 obj <<
+/D [1731 0 R /XYZ 89 770.89 null]
+>> endobj
+1734 0 obj <<
+/D [1731 0 R /XYZ 90 665.325 null]
+>> endobj
+1735 0 obj <<
+/D [1731 0 R /XYZ 90 640.49 null]
+>> endobj
+1737 0 obj <<
+/D [1731 0 R /XYZ 90 568.305 null]
+>> endobj
+1738 0 obj <<
+/D [1731 0 R /XYZ 90 545.165 null]
+>> endobj
+1739 0 obj <<
+/D [1731 0 R /XYZ 90 506.49 null]
+>> endobj
+1740 0 obj <<
+/D [1731 0 R /XYZ 90 481.466 null]
+>> endobj
+1741 0 obj <<
+/D [1731 0 R /XYZ 90 456.442 null]
+>> endobj
+1742 0 obj <<
+/D [1731 0 R /XYZ 90 416.049 null]
+>> endobj
+454 0 obj <<
+/D [1731 0 R /XYZ 90 306.696 null]
+>> endobj
+118 0 obj <<
+/D [1731 0 R /XYZ 90 299.415 null]
+>> endobj
+1743 0 obj <<
+/D [1731 0 R /XYZ 90 201.16 null]
+>> endobj
+1744 0 obj <<
+/D [1731 0 R /XYZ 90 149.366 null]
+>> endobj
+1730 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1777 0 obj <<
+/Length 2288      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~ׯ�ۂU�hN
��F>J�c{m��`�X1�P �(�~{�EҢ��R�0
�4���>�
�=���������
����b��!
���/���߯~r� z�I�^|x����gu����ٟgna������ܜ}�
;1L��`����Ӌ6�
�����?gز��,y}��;|B!����
+��f��e.0v���ӊ�rm���P�ݢH��Q��-ޖI�x+3YFu^.��e���͢�;2-u��+x'yMzDrH��
�=�h �Es�_1fj�Hz�€6k�5�@D;�s��q�mN}��9s�	�]�3�2�e5�Ӏ���T���\T��d���y������W��ψ+�n>�c�Y��Y���U-���>���(�~#�'���@���#��C�"l
)q�Uh6焸������a�&���r��Ks���A 
���-`N9���p���>c=#�U�V[��g(� �5�͉W�a9�=�}
�t;!<�o���4�	���

<�NH�����|3�?BQ8��00~���B�}�/�T�̳�֜̍���J��,
��\Z�p�Y*c���(�&i
 e
Q e
6�� S
����p�2/����C�G�[DMAN 0>{�eB�{gMH= 2�R�UǕ��&��[�Z��H�O��6� 
F4�F��UQe�TV�1D�G���J��?cS�J\��`�^p�YT��)��o}T�u��b�F:�
:m�Tz� T��(�����P0�֡���Q�F/8�)*
"�@'
�6L,��$;�Le-�`��C���!���d���lƱ{�Il�����y���@x�<��)E0$Xت�&��7�1�g�5�e��e^Z�S�Y�dk3m�r�i��K�Ԍ�/��Y���Ԃ�Z�7�2�d�v
�?D#�<��!,|#ʛ [...]
&�2��Mp�J�\�(h]�f�.T}�y�&e��N�띰?���,��AHS� 8A�m��	c5��9�O�ޖ���i���ȠG9b�RE��fF�3]�r��0�LdV[Bt���CʅG
��r�x�J���۝Y]����X����"/��q���\g��1��A��<�7@�mT&��d!���a�޴,ɾ� ����+���N����'
+
�I�
R���;58'����#�>���a��t�
��� e�rs�_z$uՄA��ݡ�x��x�^ U~x �tÓ>_����K
FW
�X%ur+�$-��5_�%�d���
�
�#�;i�x�(������	�Y=j~��k����R�a�+w#CE4X���H�FyF.ʦVJ"S�����5��*�
�i�`(;!��E��nf�`!˛��Q��멳<��p��� ^x��]�N�yj�fs�_+��ڲh�R,�g�[��u[W��-��"���,�̊m}�a[���
+��P�4V�䋢��߹��)��Q1<�^�E^kG����L�:ηSmF=�U�����S��V�(����F�A9H|�8?�
OU�2�
��	�՛�蹰0�؁#oJJc�y�����y"X� ���%�����IlGp�H
�r쀌�ީ�`Bx�y51,M��\�7�t(�K3���
�{�K�LW�&Y��}c#^�oé �P�M�)���p88�	(A�
E�)���
+��Z&�"�n�g�6��w8B� �����!A��-
�W xSdMf'��za����y؎����ok�y6ED�o��:�Pu��s�(ͣ�>�8
@��a,�y|,�<��~��se�@�S"H}��}�A+�Eo�H������Q�A]�9�A�	NN���bb`("3(8 B�d
%�v�4�_ղL�zܫ��O(�h���Y���BV��e5|��V	��N�#S(��
!�:��7K�B݆�2��o�Xa���Jŝ�MQF}0��ʸj��Cq�����ŰS588^��A7��0ƭ�|$z�/��!
[Q��^ޫ�Q4!Q��
%p�
b���-�T՛ʗC
'
�,P&����.
v72��T�"F7�U��<�|���ڬ���H��3�?� 0�uk	�zc}��c'�/7�y����
��;��7l

+}[k�$��]3��Ǐ����\�E�z���ˇZ�2���:��_�l����*4ɲ{aCVn�V�eӹ6��ъ����i�� �G؂瑩������58�5Z�4��n3xl��ƕ5 ��e�p�TSE����_��
`
+endstream
+endobj
+1776 0 obj <<
+/Type /Page
+/Contents 1777 0 R
+/Resources 1775 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1781 0 R 1745 0 R 1746 0 R 1747 0 R 1783 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R 1757 0 R 1758 0 R 1788 0 R 1759 0 R 1760 0 R 1761 0 R 1762 0 R 1763 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1769 0 R 1770 0 R 1771 0 R 1772 0 R 1773 0 R 1774 0 R ]
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 310.289 718.861]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.104 707.957 404.634 718.861]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 670.629 334.02 681.533]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) >>
+>> endobj
+1727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.237 670.629 427.767 681.533]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.115 670.629 513.996 681.533]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 658.674 179.65 669.578]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 621.346 342.577 632.25]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) >>
+>> endobj
+1746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.795 621.346 436.325 632.25]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+1747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.354 621.346 513.996 632.25]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 609.764 179.65 620.294]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 583.021 249.656 593.925]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) >>
+>> endobj
+1749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.472 583.021 370.014 593.925]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.361 518.699 295.743 529.603]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) >>
+>> endobj
+1751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.813 518.699 417.355 529.603]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 518.699 513.996 529.603]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 480.375 243.021 491.279]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 480.375 363.379 491.279]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 454.006 267.071 464.91]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) >>
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.289 454.006 386.831 464.91]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.216 454.006 479.572 464.91]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1758 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.05 454.006 513.996 464.91]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 442.424 183.844 452.954]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1759 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 415.681 253.293 426.585]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) >>
+>> endobj
+1760 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 415.681 373.65 426.585]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.111 415.681 455.592 426.585]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 389.312 240.252 400.216]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) >>
+>> endobj
+1763 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.068 389.312 360.609 400.216]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1764 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 314.031 257.417 324.935]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) >>
+>> endobj
+1765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.233 314.031 377.775 324.935]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1766 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 287.662 260.735 298.566]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) >>
+>> endobj
+1767 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.595 287.662 441.137 298.566]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 261.293 265.716 272.197]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) >>
+>> endobj
+1769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.056 261.293 435.597 272.197]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 234.923 271.803 245.827]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) >>
+>> endobj
+1771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.619 234.923 392.161 245.827]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 208.554 266.264 219.458]
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) >>
+>> endobj
+1773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.079 208.554 360.609 219.458]
+/A << /S /GoTo /D (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+1774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1778 0 obj <<
+/D [1776 0 R /XYZ 89 770.89 null]
+>> endobj
+1779 0 obj <<
+/D [1776 0 R /XYZ 90 721.073 null]
+>> endobj
+1780 0 obj <<
+/D [1776 0 R /XYZ 90 686.129 null]
+>> endobj
+1782 0 obj <<
+/D [1776 0 R /XYZ 90 637.299 null]
+>> endobj
+1784 0 obj <<
+/D [1776 0 R /XYZ 90 598.522 null]
+>> endobj
+1785 0 obj <<
+/D [1776 0 R /XYZ 90 534.011 null]
+>> endobj
+1786 0 obj <<
+/D [1776 0 R /XYZ 90 495.875 null]
+>> endobj
+1787 0 obj <<
+/D [1776 0 R /XYZ 90 469.506 null]
+>> endobj
+1789 0 obj <<
+/D [1776 0 R /XYZ 90 431.182 null]
+>> endobj
+1790 0 obj <<
+/D [1776 0 R /XYZ 90 404.812 null]
+>> endobj
+1791 0 obj <<
+/D [1776 0 R /XYZ 90 329.343 null]
+>> endobj
+1792 0 obj <<
+/D [1776 0 R /XYZ 90 304.857 null]
+>> endobj
+1793 0 obj <<
+/D [1776 0 R /XYZ 90 276.793 null]
+>> endobj
+1794 0 obj <<
+/D [1776 0 R /XYZ 90 250.424 null]
+>> endobj
+1795 0 obj <<
+/D [1776 0 R /XYZ 90 224.055 null]
+>> endobj
+1796 0 obj <<
+/D [1776 0 R /XYZ 90 181.302 null]
+>> endobj
+455 0 obj <<
+/D [1776 0 R /XYZ 90 69.05 null]
+>> endobj
+1775 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F103 1599 0 R /F38 1600 0 R /F92 331 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1837 0 obj <<
+/Length 2236      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~���k1�wJ�b�m�iӢ��b�b�X�G�-Meyf��~��l��d<y�>��(�\��#R8Y%8�n������I�2Ier�L2�(�!!�H�O"r6'������mY鼹��?w͌�S�ݖuu��ٜ
+<}S��Y�
�n��v�*�ER�ө`�߮��|{=�cB@
+���@*M����pR@��	F,K�;h�p��N~��s��Qa����IiBʄ�A�%dL�CA��
e�a8;&C"UQ���	�s>X��od]���2�*��L��9g
�M�B�eY�2�2�E�6���M �[ <ӍŇ,����rnli�S����׳O?��C[^���U�T��˺q��3�m��h�-2�hoQ
�*$)w�����]��HP�)��`%��md.��Ua�!���V�n���|)C2�a�ߝeH�v�G �X2ga�܋��:ou�L�:初����b��[���6oCKo}g��FU������=O ��
V�$����S��K��mv��n�/��� ������=߿�a�1=	��"�z])�W��sa��%\��J��yg��7+=�b���=��f4/�>:�~�
vO e�
�
E���1s�h�Q����>⏔%)�'�E���� ��S�e3c@[ ��X�72�,�
\_d[f�F�a�}���/�����UQV+7O[�ǀ�0�[g�c�:˪�8��@�Ŵ�%�¬�����
��gsF��){R�,�!���[��Z�E'�Ay�� ��hh� Z��ள2Q�R���
\A$",t4^RPIr	�$y�Iv�7e{{����y��g�"��30O{6}q�ȘZ9�s��9�)��]�s3ݴ�sƈ]�K��
�����Dg
�!��p�tN�),�ݸ�)s���pʌ�G at J%FBD�#��@4䡙<�
y�4���R���?�x����t\6��t"bD>-T�*��Tt���1+G`#W(O
�hq|RRO���G�ٕ��$�٬�:F��(�T
+'(V�d#���/껏�U/ǐ(�k�C�F|mR[G����I�vLR>��g��
��Ѩ8KO�
"SD%�<Ʊ
�=r�p�<�)�	�_$�Y��
+5�z���P*.G���
�:e�����u������V6��%&<h�&<�Kx�m�}l�1����k�Uq,'�)$��X'l`�i[�Y1n}O�aV�>�z��T�%�)
2�i9Me�$�\J#�m����q�;]�&���{�
+S���XT�Wg��
��.�0�w�
��l�a0f�a�m��
>��B�d�C$��#��
�qՑ��7�
ڎd �#��If���֓L ��OH�8;3�����v���>��6�,��,���pCvu�>c&��&
+R�J�g2�?�
�������9ȉ,��PT]�I
E�Әi�B��
E���Lǐa�v�3��,֔ŗNeL ���o�X��1�ݯ��>gB��m���
	yd��vD3�c�m�r���]�Y�
"�$��'���	�t��fd��=���}�9�Q��l���"�—&� �8f�.�>ʅ�dJ�O��`- ���s�ḠOg���O�m{�N\�69R��
�O���6O�\�`%����ߣ�V��ۀ;�
��e?�A�1
�@�偒��d���'��S7����"H�GB�^�V_�D�6�(E��!�T3�����,�O��>@
:$*w�Pk�ո_3=�ޖ~�M��
��v���y��Xuݾ�v/-�$�z�;��U���k����Z�[]�s�'���J{B������'��I��]
+��?�E������
���V|�C�P�
��n�?�h�l��>�f$b

�

�"I?��ts��)�r�
c�H��Pf
<
�Gi�m،p���ЅĀ
�!���B�IMė��&�H�#�M�įӔ>�E�����E�7X!Q\�F�� 4�W�
� ��(
����t�x���x���t�Xߕ��1Pr���^�*�*�� �uNT�yS�F�H1M����duPVO-IR���\R���&�F��3�c��P��nW�}�~X�
+	��q
+j���[�x�sF^�v�J��3I4ƃmu�יS���j���hsoҢn��A6xB�G�_t �S��$�~�؟�:�IJ��y�m��}uu�a���j���0�t/+1$z3
�n��cQYA�&7���ׂ���#i���	�$��#�m�0��;��lX�Gt��kZT
+endstream
+endobj
+1836 0 obj <<
+/Type /Page
+/Contents 1837 0 R
+/Resources 1835 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1797 0 R 1798 0 R 1799 0 R 1800 0 R 1801 0 R 1842 0 R 1802 0 R 1803 0 R 1804 0 R 1844 0 R 1805 0 R 1806 0 R 1807 0 R 1846 0 R 1808 0 R 1809 0 R 1810 0 R 1848 0 R 1811 0 R 1812 0 R 1813 0 R 1850 0 R 1814 0 R 1815 0 R 1816 0 R 1852 0 R 1817 0 R 1818 0 R 1819 0 R 1854 0 R 1820 0 R 1821 0 R 1822 0 R 1823 0 R 1824 0 R 1857 0 R 1825 0 R 1826 0 R 1827 0 R 1828 0 R 1834 0 R ]
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 563.049 254.399 573.953]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.214 563.049 360.928 573.953]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 526.755 322.991 537.659]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) >>
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.209 526.755 428.923 537.659]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.482 526.755 513.996 537.659]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 514.8 149.224 525.704]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.77 478.506 359.65 489.41]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) >>
+>> endobj
+1803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.13 478.506 466.843 489.41]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 478.506 513.996 489.41]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 466.551 236.107 477.455]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 430.257 324.645 441.161]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) >>
+>> endobj
+1806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.862 430.257 430.576 441.161]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.135 430.257 513.996 441.161]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 418.675 134.838 429.206]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 382.008 322.961 392.912]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283) >>
+>> endobj
+1809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.179 382.008 428.893 392.912]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.452 382.008 513.996 392.912]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 370.053 134.838 380.957]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.03 333.759 332.792 344.663]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) >>
+>> endobj
+1812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.532 333.759 440.246 344.663]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 333.759 513.996 344.663]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 321.804 182.977 332.708]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 285.51 346.204 296.414]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) >>
+>> endobj
+1815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.422 285.51 452.135 296.414]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.695 285.51 513.996 296.414]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.555 202.892 284.459]
+/A << /S /GoTo /D (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.052 237.261 367.489 248.165]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) >>
+>> endobj
+1818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.251 237.261 473.965 248.165]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 237.261 513.996 248.165]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 225.306 236.107 236.209]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 199.971 261.841 210.874]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) >>
+>> endobj
+1821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.656 199.971 394.382 210.874]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 139.076 306.074 149.98]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822) >>
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.292 139.076 438.018 149.98]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.615 139.076 513.996 149.98]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 127.121 149.224 138.025]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.417 101.786 281.164 112.69]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.291 101.786 415.017 112.69]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 101.786 513.996 112.69]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 89.831 213.632 100.735]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1838 0 obj <<
+/D [1836 0 R /XYZ 89 770.89 null]
+>> endobj
+122 0 obj <<
+/D [1836 0 R /XYZ 90 721.073 null]
+>> endobj
+1839 0 obj <<
+/D [1836 0 R /XYZ 90 630.246 null]
+>> endobj
+1840 0 obj <<
+/D [1836 0 R /XYZ 90 577.985 null]
+>> endobj
+1841 0 obj <<
+/D [1836 0 R /XYZ 90 541.88 null]
+>> endobj
+1843 0 obj <<
+/D [1836 0 R /XYZ 90 493.631 null]
+>> endobj
+1845 0 obj <<
+/D [1836 0 R /XYZ 90 445.835 null]
+>> endobj
+1847 0 obj <<
+/D [1836 0 R /XYZ 90 397.133 null]
+>> endobj
+1849 0 obj <<
+/D [1836 0 R /XYZ 90 348.884 null]
+>> endobj
+1851 0 obj <<
+/D [1836 0 R /XYZ 90 300.635 null]
+>> endobj
+1853 0 obj <<
+/D [1836 0 R /XYZ 90 252.386 null]
+>> endobj
+1855 0 obj <<
+/D [1836 0 R /XYZ 90 215.096 null]
+>> endobj
+1856 0 obj <<
+/D [1836 0 R /XYZ 90 154.012 null]
+>> endobj
+1858 0 obj <<
+/D [1836 0 R /XYZ 90 116.911 null]
+>> endobj
+1835 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1892 0 obj <<
+/Length 2182      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_���j-
� �����r2�����I�8"$��+$5�ɯ���K�.�ƻ[�/"E�F��'�����^������cG �S߹[:;����_�|�x����
��&駯?�|���O���ۻ�?���1�=�g�^}�
;<������yԃRǥ
�����_Wز��,�}��ȇ�D�a�7J=�x3��<�0��Ym+fʕ��=�<)�d~g2,�o����8��q���|%3�o�y-�t������^��"Ϫz�~=F.����J1�_�r9�
���"�Y=�����
$"<ψdw��IL����z}0�#|��Rv�
H2�Us^IJ�jB �\ѹ��7�e����EfF
+��f@��
9%�)����1�7����]�4�D
���)�����W�g�ެ���F�4�h
�3�r�L�;�8?�4��
BN
R�
+J��!
~���̔�H0	ͥȫ���V�P{�S��ii���
	�`�D'��b��Ls���TF���G��x���jM�Pm�Va
Wʆd�~C%��8-����P �ݏ��CX�!h�L��y11�3�P�� f��
)
�� 6�"sS�r
�i����[婵�,���H�$G(G��E��d : w_N]o��u34�1�����Mb�D�M$m�
Wq��ؔ�oY
��S��W�d����
�̮F����͘
)��q��<K��H!��3Gm� ��1�|
t�9����F�v^
��,s
@
$ ���H���o��j
�rW/��Gpe^%�E��`����=�J�yȅ�r!X���W
����|
��V�0)1P
�!��
�f�-T�hD�ks�>�}�G��iK����F�f
+��m��	���`}0�
#���g$Q4�s��V��'A�����
�
N��д�"���T�!����A��`��x�1v��y�@��C��0�����ZP���
��Op����I���g��a�\`���`�Xv ?hW�����l
�<)[8bg��3��ɝY�M�"\إ[X��:�k%k�cn��K��Q(u]��A�֚e~�Ӎ�E�e�(�(�����"cA��nH�-��.�'�I�5��5[;;!Z�_ �:;�[�_1/Y)��oY/�7g���k�|
g����� Үc5�9E����D��V���`�݇;�
+��O�N��>�F�wh܏����\<��D��j�����z��>�@��>
D8F�G�B�*�}�E2؀����e�Kߗe���1|)��G0F4���uV��L�}R�S�޳���(��sж4M�tԡ!�y���c�D�
+���5�$u\$O#��ڍe��@�ٳ���1Gp
��?��A
����4Ϋ-I )��K��廬���65\�>�r�[���:��yQ��\��q_��4���
M� f~z����
	pU
�1<1�(?��|!�@���噪�yw��l��}L
�l��3؀�Dg:U]�0=���4
tOQ�������ٴܘ��> ��x�	�X�VgBf�n*�-ȸ�we���
ܨ;�L�D
��/
���6$I���߰�M�.��
Q����"Wgm6�5�
��B�bk[7�|�;�j�>���m��~��J�GO$�J|/zV�8�G������`�WdL��;�-��G�*�o����WM+�^�T��or���f�?�u�Ht�q���$��6�e��pQ��o��$��CӅpfX:G�+qD���
���}I
��v\~2�N.��Cs!���
���yW�e``&��uD�3�Hod
Ɖ��4�բ�����
V�/�\���M<y*d���]O����a)����9yW��7QVqwM�Q_d`�\=}�#9Ą�;K���4����2�N�:�P���^�N�k�� ��˰���L�NFޖ
�|�I��l����m°o߫�v�Ea����9j����U'���\@
���?�t@��eAd��	ZFmh�SȨة��&�ϙ��B�O0L8��e�^�l����R�ɁXGn�f
���=�meP`��!
fn�
���㭹ymOB�l�	W�� [...]
�Tx{
+endstream
+endobj
+1891 0 obj <<
+/Type /Page
+/Contents 1892 0 R
+/Resources 1890 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1655 0 R
+/Annots [ 1829 0 R 1830 0 R 1831 0 R 1895 0 R 1832 0 R 1833 0 R 1859 0 R 1860 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1901 0 R 1870 0 R 1871 0 R 1872 0 R 1903 0 R 1873 0 R 1874 0 R 1875 0 R 1905 0 R 1876 0 R 1877 0 R 1878 0 R 1907 0 R 1879 0 R 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R ]
+>> endobj
+1829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 707.957 323.788 718.861]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f) >>
+>> endobj
+1830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.006 707.957 455.732 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.328 707.957 513.996 718.861]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.376 134.838 706.906]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 670.227 252.436 681.131]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.252 670.227 384.978 681.131]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 633.493 266.822 644.397]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) >>
+>> endobj
+1860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.637 633.493 399.364 644.397]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 607.718 374.128 618.622]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) >>
+>> endobj
+1862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.346 607.718 506.072 618.622]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.97 545.614 311.817 556.518]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.497 545.614 418.211 556.518]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 545.614 513.996 556.518]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 533.659 239.644 544.563]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 496.925 332.645 507.829]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) >>
+>> endobj
+1868 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.863 496.925 438.577 507.829]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.173 496.925 513.996 507.829]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 485.343 134.838 495.874]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.318 459.195 345.618 470.099]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) >>
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.646 459.195 452.36 470.099]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.942 459.195 513.996 470.099]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 447.24 215.076 458.144]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.616 421.465 373.689 432.369]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) >>
+>> endobj
+1874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.015 421.465 479.729 432.369]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 421.465 513.996 432.369]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 409.51 241.089 420.414]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 383.735 335.175 394.639]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) >>
+>> endobj
+1877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.393 383.735 441.107 394.639]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.703 383.735 513.996 394.639]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 372.153 134.838 382.684]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 309.675 269.601 320.579]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.417 309.675 402.143 320.579]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 283.9 272.919 294.804]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.779 283.9 465.505 294.804]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 258.126 277.9 269.029]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.24 258.126 459.966 269.029]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 232.351 283.987 243.255]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.803 232.351 416.529 243.255]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 206.576 278.448 217.48]
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.264 206.576 384.978 217.48]
+/A << /S /GoTo /D (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1893 0 obj <<
+/D [1891 0 R /XYZ 89 770.89 null]
+>> endobj
+1894 0 obj <<
+/D [1891 0 R /XYZ 90 721.073 null]
+>> endobj
+1896 0 obj <<
+/D [1891 0 R /XYZ 90 685.462 null]
+>> endobj
+1897 0 obj <<
+/D [1891 0 R /XYZ 90 648.728 null]
+>> endobj
+1898 0 obj <<
+/D [1891 0 R /XYZ 90 622.954 null]
+>> endobj
+1899 0 obj <<
+/D [1891 0 R /XYZ 90 560.66 null]
+>> endobj
+1900 0 obj <<
+/D [1891 0 R /XYZ 90 512.16 null]
+>> endobj
+1902 0 obj <<
+/D [1891 0 R /XYZ 90 474.43 null]
+>> endobj
+1904 0 obj <<
+/D [1891 0 R /XYZ 90 436.7 null]
+>> endobj
+1906 0 obj <<
+/D [1891 0 R /XYZ 90 398.97 null]
+>> endobj
+1908 0 obj <<
+/D [1891 0 R /XYZ 90 324.722 null]
+>> endobj
+1909 0 obj <<
+/D [1891 0 R /XYZ 90 300.83 null]
+>> endobj
+1910 0 obj <<
+/D [1891 0 R /XYZ 90 273.361 null]
+>> endobj
+1911 0 obj <<
+/D [1891 0 R /XYZ 90 247.586 null]
+>> endobj
+1912 0 obj <<
+/D [1891 0 R /XYZ 90 221.811 null]
+>> endobj
+1913 0 obj <<
+/D [1891 0 R /XYZ 90 180.498 null]
+>> endobj
+456 0 obj <<
+/D [1891 0 R /XYZ 90 69.644 null]
+>> endobj
+1890 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F100 526 0 R /F98 1214 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1951 0 obj <<
+/Length 2013      
+/Filter /FlateDecode
+>>
+stream
+x��Zko�8��_!t?�
�
�
����)<�����m�"1������_���V�:�Ğ�O�h��<<��^��ZX���;����\l��w�c�o-[��#��[l}��!��W�ep1�
+������R�A.C�q�U��
#�_�ŭP�D�����|�����x���G�>���Ǒ�YQ����b���ˆ������M<�֬��
6CLjrY�3�Z� �sZ�^	���� �����]�a�{n3�����v�> �a�{��d?F
�\�qۨ\*K5p��Z��SL`��^�S�aҬe�
+��d�Z
�W`�&
+E9�za�ΜmB	���������W��t
�Xn�YT%yf�o�B$���*qK$m��)
�\�P[��[�E�u,tK�Ҧ%g�l�n����\nT7��w"�E��:��r<�n�O�G��
+�mT�i(TE�k�
+kx� v`�۠~�
_�q��.��(MeX�B��S�ވ�	��"-˛����rm9<�<f��M�L"��	tW�Y�s"�����l}���>�>9�~�U�ZҿX?�V
�����`z5�\L�=�O�����t
\�>55��ڌ�c��rl�96���03��<6�
���.
�%i��P���4ZUM�A\v n�v�McT�������A%��
+�*jC��
��/��|4�8
>^��G�	T
�uv+�21{�p���ـ�S���`��/Oǧ���&_g����}X�c
�0��e�l9�^ί�����zt1����Kx�ϓ������
J]��4���H�$[��<�tå�,T�V����3x�
�z7��`>�4?�N�?�^D�
��ߪ�<���n���Ê�.��$2f� j��x|5�̓��q0�4:ʮ#���h $���@���ވ�6��ڝ��8��x1 �/���[8J|���>;���]�`���~'
B�!
�Q�ϛAB�[��*/����QY&�,Y�$�9u���r�d>��x����Ӏ�"O�r9^'0�RFgO
��e��]
[�
��ɤ ?�L�a�o2-�N:�jM�F>�Ou6�&��;$S5�fڻ������s���
+�ЧS�K�Ȁ^���u������QEr����ӵM��Gg>ݶ�mD
^��&�A�,��
�=I%�ú�����3��Y?�0��˲k4�C�϶�c@@Z�,�n�1��î���&�<J���
+R�?J�N��iį�%��h�
+��C0x%�C
���#���	/����c����$a���
+ ��AW�Ka�2�U2݋'���<<��A��|P���Ju�e?�w���ܺ�]x�w�w+��7�^r�Zt��(b~Õ��0E0r7:*A�@Nn�#�*�7v��
.A6m4e)�,0D��V�d&�@���B�C��=ݰ#�n
�t7"�vX�5��C������B�
�������ֽC���T8�F��{T8I�F-�@�}� ̟�݃4����x�V�4CZ���kNY�OI��(_=��J�l�^�
�,#"���
�L)�(�zUy�,��X2��>,̀"M}�,+J%�O3��^2$���5���,���ذ �
6���N����Ul��U����v��vI'ݷ�P�\/��-\�)I[C5s;��:׮�6>�x>����
(z���y?>l8�� �/��nj�,��t襂1���E%��e*m8�/Y�ʚ'�
0��e�Ͷ٬��8;Bp^��ҩ��<
��ܧUw��>
��ۼ�k�mGya�f�gq����\՝<$K�F)U��tz
.���7b��%�Y�I<���
��������;�S\\��hy��>>������8�^����@�W^��
\ස|#}_n���&��c��:77q�q
f�u����r������(~p^�\�ٺ�\%��%�(���gIL$7ܟ�:/ѓ�jե_{�u3dq-��(⮪V?
ݬ��(�������uv�h�Ӽ��L2�LU���o����1 ��
F��.U-�����CSq4I�u��Bl���?�6;
+endstream
+endobj
+1950 0 obj <<
+/Type /Page
+/Contents 1951 0 R
+/Resources 1949 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 1914 0 R 1915 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1962 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R 1965 0 R 1926 0 R 1927 0 R 1928 0 R 1929 0 R 1967 0 R 1930 0 R 1931 0 R 1932 0 R 1933 0 R 1969 0 R 1934 0 R 1935 0 R 1936 0 R 1971 0 R 1937 0 R 1938 0 R 1948 0 R ]
+>> endobj
+1914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 563.74 348.725 573.668]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) >>
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 538.261 344.849 548.188]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) >>
+>> endobj
+1916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 512.781 340.476 522.709]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) >>
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 487.302 342.677 497.229]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) >>
+>> endobj
+1918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 461.822 333.273 471.75]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 436.343 428.475 446.27]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) >>
+>> endobj
+1920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 410.863 452.823 420.791]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.945 385.384 513.996 395.312]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) >>
+>> endobj
+1962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 374.609 133.174 383.087]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 347.949 514.223 357.877]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 285.681 332.953 296.585]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) >>
+>> endobj
+1924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.171 285.681 420.086 296.585]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.954 285.681 513.996 296.585]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.726 149.224 284.63]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 248.246 235.002 259.15]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) >>
+>> endobj
+1927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.22 248.246 322.134 259.15]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.002 248.246 435.359 259.15]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.743 248.246 513.996 259.15]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 236.291 169.159 247.195]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.937 236.291 311.663 247.195]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.625 199.853 321.906 210.757]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) >>
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.24 199.853 410.155 210.757]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 199.853 513.996 210.757]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 187.898 168.601 198.802]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.867 151.459 331.706 162.363]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.283 151.459 421.197 162.363]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 151.459 513.996 162.363]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 139.878 168.601 150.408]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 114.025 243.041 124.929]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) >>
+>> endobj
+1938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.857 114.025 356.783 124.929]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1952 0 obj <<
+/D [1950 0 R /XYZ 89 770.89 null]
+>> endobj
+126 0 obj <<
+/D [1950 0 R /XYZ 90 721.073 null]
+>> endobj
+1953 0 obj <<
+/D [1950 0 R /XYZ 90 630.213 null]
+>> endobj
+1954 0 obj <<
+/D [1950 0 R /XYZ 90 577.736 null]
+>> endobj
+1955 0 obj <<
+/D [1950 0 R /XYZ 90 552.446 null]
+>> endobj
+1956 0 obj <<
+/D [1950 0 R /XYZ 90 526.966 null]
+>> endobj
+1957 0 obj <<
+/D [1950 0 R /XYZ 90 501.487 null]
+>> endobj
+1958 0 obj <<
+/D [1950 0 R /XYZ 90 476.007 null]
+>> endobj
+1959 0 obj <<
+/D [1950 0 R /XYZ 90 450.528 null]
+>> endobj
+1960 0 obj <<
+/D [1950 0 R /XYZ 90 425.048 null]
+>> endobj
+1961 0 obj <<
+/D [1950 0 R /XYZ 90 399.569 null]
+>> endobj
+1963 0 obj <<
+/D [1950 0 R /XYZ 90 362.134 null]
+>> endobj
+1964 0 obj <<
+/D [1950 0 R /XYZ 90 300.654 null]
+>> endobj
+1966 0 obj <<
+/D [1950 0 R /XYZ 90 263.408 null]
+>> endobj
+1968 0 obj <<
+/D [1950 0 R /XYZ 90 215.467 null]
+>> endobj
+1970 0 obj <<
+/D [1950 0 R /XYZ 90 167.074 null]
+>> endobj
+1972 0 obj <<
+/D [1950 0 R /XYZ 90 129.186 null]
+>> endobj
+1949 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F11 610 0 R /F83 262 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2022 0 obj <<
+/Length 2357      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�F��W��*l��%9�x�'q"��`�X R�� �R�_�������SS<������������w7����}`/B�O}�~�E�
x��w��a ����=懈D>LR��~����O�w���7��
{D�(�����'�%�����B�I
Zz�2�.���_n�wE�" f� B� )js;��0��6�R�rn��U
 
�V��oߏߗ�d�.��*���$[�y���r�G,��EՂ�"��޲�k�e��z�tS�X#˸~^��un�P�9�(�*�#�L�8>����1Kx�[�];d^�|.g��!	oDh����.�:��#*�.�f�Lc
�A��
�[W����~H�Z����bf���?�Ӻ(u[iL7�|�(�,�;$!"D>��,��!
�a�
�6�w�#��38���8���IZ�����C"s��@g�߇�H��q?T'	�(N�m v�<�`�H�|
�j��!����`>$��m�vti繰
���0v���էy
�~ـm�ن�0����.�U}��
>
�?�	���؀
�p�50�@?-%V�Zw����0P�
+��	qY��]����ER�`CQ�,NjEo��`���= w\�C.J[ND�(<
�#����l�z�Q��2Ja�g��fƶ�֍I6��X�O���"�-}��s�U�1s�>ď��]V�u��R�y�
�\
+
+���2&��
epe
+lY,c�e,VJ��b�^l�!�r���!��
b�@��;l�3��,eJa�O2�p��U�w�
�n��-/xO�
�r!(d(���L�-l"���8�! %* ����a�E�L1?}��l��lߒw�{�>r��f��y�1��jz�-D
a�6( q-�൓D#��
X��A��
i���T:�^]
���!��q�-
��>���B�h�D�lT?8���f����Ż�&P�&�h�M�mڛ
*��ʧ 5
�H!�\��f�9�����9����UN��h�
vN�	�����@!�
�<��Ldzu>�
u7
Ņ�Nx�R9	;����4.�;#��?W%�X�>�
	rRi�Z�G�
�Q���a�4y1B��@d��|�����P����<�1W
%��
0��F���Ѩ��bVw�ĺj
�5��.
�:Sn<[\���(���~�C#H�yG�:?D"��tb��*Vu�������E�[.ㄪ���d��vB��i�.m��d$�G�=�9ܙ�Ƌ<���E��.��P�
����Bm,�*�Ĕ���e�V=�:�T����mL6;?��
��ϊr�&PZqy�H%w����ֳ*�U%]Uj@�#��
]��CZV�'����Y
9��&
S<L?
k?��56�cn��UZ>�+��2�]
�����M심�ť��W'�
 k�-.'�R�ƹ,���[��֦���r4I'�ۯ��M�Z���B; �-K�A�E���7&
+4��R�G��u�H�����$l
}��`98YJ��
��t!��,���Y�uu���
326�e��ŋ
��v
󟉵pэ˷h�1X�8�R9y��P�/bM���$q�5��l�ҡ�1��On������5̋b7T�(:��5��I�@�
$�������LE���f�A����]W�ӯ�n�h"��U�W:6!!?�w�FvQ��h�Q��Al*s3#�f*gHt�����e��Igț"%wX�hw�}X\�َ���� ������3�یAld<䢰{�

+�N�d��~+�0��H�$��Y؊��F-��W�l7�j��tA(H�
P�
�.���W���URTۼ���u����<1G�TDH���KWΧ$���9���mZ:����2��9%�LLF
�i�ali���y6F�$�}ovq1��8��e
P�K����܊X���aI�ay�
F�ܓ�9a[������{�3
�M��:�3���q�)
+!>]'�
+�����`=���OD��L󾔫K�u8`	�>�><?	ƶJqAב�p�hS(�i��1I}���c�0y����o�{h�s��
3נ����!��N�(i�֛��|L���&��������|���X���v�|W,����%\�00�j�P��d�e�����G����}v�q����׷���M+���Ir�[���w���#���L���`���0	�K5�u��O;�tܾ]2�_,�.7��F��knE䧊�*���:��|���n�җwq>_�s��[PN9��i��ߪ��j(Ġ��r����D���e�\�%�L�y�Z�j�o
�i��+��p j��>������z�
M
���� a��Aÿ/����|ǡ|ᖒ�I��
+endstream
+endobj
+2021 0 obj <<
+/Type /Page
+/Contents 2022 0 R
+/Resources 2020 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1943 0 R 1944 0 R 2026 0 R 1945 0 R 1946 0 R 1947 0 R 2028 0 R 1974 0 R 1975 0 R 1976 0 R 2030 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R 2033 0 R 1984 0 R 1985 0 R 1986 0 R 1987 0 R 1988 0 R 1989 0 R 1990 0 R 1991 0 R 1992 0 R 2038 0 R 1993 0 R 1994 0 R 1995 0 R 2040 0 R 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2043 0 R 2002 0 R 2003 0 R 2004 0 R 2045 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2019 0 R ]
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 707.957 287.275 718.861]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) >>
+>> endobj
+1940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.493 707.957 400.419 718.861]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.325 707.957 503.681 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 682.38 372.345 693.284]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) >>
+>> endobj
+1943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.563 682.38 485.49 693.284]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [505.395 682.38 513.996 693.284]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 670.425 195.719 681.329]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 644.849 323.648 655.753]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) >>
+>> endobj
+1946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.866 644.849 436.793 655.753]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.698 644.849 513.996 655.753]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 632.893 149.224 643.797]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.958 596.358 311.967 607.262]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.635 596.358 426.561 607.262]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.459 596.358 513.996 607.262]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 584.403 149.224 595.307]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.64 558.826 297.22 569.73]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.57 558.826 410.497 569.73]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 558.826 513.996 569.73]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.846 546.871 227.828 557.775]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.445 510.335 294.901 521.239]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.056 510.335 409.982 521.239]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 510.335 513.996 521.239]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 498.38 179.112 509.284]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 461.845 296.739 472.749]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) >>
+>> endobj
+1985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.555 461.845 410.482 472.749]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 436.268 233.637 447.172]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) >>
+>> endobj
+1987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.452 436.268 347.379 447.172]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 363.75 238.608 374.654]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.423 363.75 326.338 374.654]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 338.173 361.426 349.077]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) >>
+>> endobj
+1991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.644 338.173 448.559 349.077]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.464 338.173 513.996 349.077]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 326.218 149.224 337.122]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 300.642 355.748 311.545]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) >>
+>> endobj
+1994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.965 300.642 442.88 311.545]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.785 300.642 513.996 311.545]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 288.686 149.224 299.59]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 252.151 277.91 263.055]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) >>
+>> endobj
+1997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.726 252.151 365.64 263.055]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.621 252.151 481.604 263.055]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.745 226.574 281.425 237.478]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.88 226.574 368.794 237.478]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.126 226.574 513.996 237.478]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 214.993 134.838 225.523]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 189.042 309.013 199.946]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.231 189.042 396.146 199.946]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+2004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.051 189.042 513.996 199.946]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 177.461 134.838 187.991]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 151.511 312.789 162.414]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) >>
+>> endobj
+2006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.604 151.511 400.519 162.414]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+2007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 89.951 270.727 100.855]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.542 89.951 384.469 100.855]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2023 0 obj <<
+/D [2021 0 R /XYZ 89 770.89 null]
+>> endobj
+2024 0 obj <<
+/D [2021 0 R /XYZ 90 721.073 null]
+>> endobj
+2025 0 obj <<
+/D [2021 0 R /XYZ 90 697.566 null]
+>> endobj
+2027 0 obj <<
+/D [2021 0 R /XYZ 90 660.034 null]
+>> endobj
+2029 0 obj <<
+/D [2021 0 R /XYZ 90 611.544 null]
+>> endobj
+2031 0 obj <<
+/D [2021 0 R /XYZ 90 574.012 null]
+>> endobj
+2032 0 obj <<
+/D [2021 0 R /XYZ 90 525.521 null]
+>> endobj
+2034 0 obj <<
+/D [2021 0 R /XYZ 90 477.483 null]
+>> endobj
+2035 0 obj <<
+/D [2021 0 R /XYZ 90 451.454 null]
+>> endobj
+2036 0 obj <<
+/D [2021 0 R /XYZ 90 378.747 null]
+>> endobj
+2037 0 obj <<
+/D [2021 0 R /XYZ 90 353.359 null]
+>> endobj
+2039 0 obj <<
+/D [2021 0 R /XYZ 90 315.827 null]
+>> endobj
+2041 0 obj <<
+/D [2021 0 R /XYZ 90 267.336 null]
+>> endobj
+2042 0 obj <<
+/D [2021 0 R /XYZ 90 241.76 null]
+>> endobj
+2044 0 obj <<
+/D [2021 0 R /XYZ 90 204.228 null]
+>> endobj
+2046 0 obj <<
+/D [2021 0 R /XYZ 90 166.696 null]
+>> endobj
+2047 0 obj <<
+/D [2021 0 R /XYZ 90 104.948 null]
+>> endobj
+2020 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2076 0 obj <<
+/Length 2441      
+/Filter /FlateDecode
+>>
+stream
+x��Z[sۺ~���[��ƕ ۧ��>�S���v�3M2Z�d��CR���wA $AQ�lKi�/�E���aoX��=��z�����Bb/D�O}�n�ؓ<D‡���i ���V�������:�`��/�希��xp��q>�&�~��gq5,N�WX�r���?Ȍ=��H�dy��
����7#��j����u�ݞ�q���q���!��$���L��&��y�FxJ�ҼV���fU7� ��i�p�-
�D
�.55�3x+���$K��!X�Z&+�E�����"`^ ��\qK)�9�F�",
���ȸК(�J`R}�ʇ\h��	N/Bڢ�rf�(�B�gN�#��7�j>dr��<MR��(��xH��[Rꧢ��u�
�:f$�T�
F8x�
+)�P!,G

�O�XGe<���O�D�V�
��)���
�P~ %ú@�ov�<l���� �B!�T~��8��,�������%�g����I�e?�t�<
�i��
p��1��Zu]�M>��Z���Y�	���x
�
c�2�IFP;z�CO &C;`�N��#����n�Y
	܍kV�$��"��1mۆ��
�[�aG�֪�1-kG�
��cV�}Q7b>� �W�#���?�]�/Ւ��C�Nze挲�n#G���/��
���md���Sm����!X^���,����/#
	A+��P��
� �Ve�L~���0#���|7���
onX��6H�rr$h�ūqm�j��B�ID1;���M�� ls�
lG���T6"N��n5�nps_����]�BO
���g��ԍ�AKZ?<V���1`��ψ�і�J7��v�EQ�l�?�q�
6��m\��&�%KK���E_��Ey��!
+v��1W�?DB���F�Tp+�l1^��
;O2�GmuR���S-�~��Pa�5��6cF	���
����qR�Vj�=��K��kI�����/�F��9
+���5��	��@�x���5��X����/�֮w'
[�z�� `{:7V���}[ʬ϶��Y�}�����*��9��H~�c�������O��]ŏ��	P�w�] �L�G0n+�ɦ Ӭ��>�lVէ{�J��ڰ)i���U��1u�h�1��d�^%��~�g���Á�
+��
�4�j�~�}���S���

��#��p.�4R1�\�<��P�
���9��g*�#�^��uy�a]�E��”�~jЖd�U#��<*�����^����s"|����z��O�����4�,�ٺ��h%��lT(PH�Mhk���..��{��	�*�e
G�T|
�����x p��<y�m-C���9`+S&]ɼ%<Y���+�IT썓�C���D��1�[���XK$��
+TC�*�q�Y��Xd�Q��֧ �*-/��]����-�}}H&*�x0N��
�Y��I�[��
���	�g
S���b���$�x�^���Z�ܷ>���
����{o
R E�1Wg�v�VJ+y��2��8-�'O�"Ͷ���U�(k�Bp+u��A�,�
�>�v�iJ&��
puXv��+`���Q�\�.3��H����CP�A�B	A]*9P'X�&`��h�K6�'��擳���Eei O�$OVG�
�`%aĸq
w� ��ꃎt�
�s��qE"ݴ��V
&�P��D�������4vP9�YU�4'1T
���ﴨ���o �݅i�qKH��(��>zc��PJu̇8f-�Q���<��
+�����M�0.
.�Sz��l�^ְv6����r��5^t��!��:"��
+�W$�(ddW�
��u����6rd��G���d��uϤF�>ĤR ?���U�1�ʁ
�����#	1���K� ���5*�B����3�x�źN��Ufl��tuQ
n&�\B���1��
�*�A��2ߧ\c����S�<�4�ۇqk{�v�Z�������f����K���Ym�R��]=V�w2�α.W�g![�
�P[X��3c����jo>��:?��{{��v����󷷗��ux�"	R�9QE�@�-�X�VU$
�4S�A�Pg�
�[AMJgW�O�G
��A�Rnp����������:u��]���̈́2N5�0/���W���n]�dr��~�f���*MJ�U����@�*�
��fU��*l�Z��z�m�ӯ���3x��G[ �������?��	1��lꤻ�J�ꦵ��ټʯ;*��ˤ,z��/������9݆U�V}G{6��U<%
L�-�}"
:ǜ���U����<nw�:!��"��2b`xz�kˊ2�ZIyQ�aeѰꌹ�mO�f�ߞ�����͒���M��,W==�_�!��I�ܴ���RuR5񥍁�Y^Ww��2j$��������O0e�HI����O��yqz�d�Y�hz��w�
;
+endstream
+endobj
+2075 0 obj <<
+/Type /Page
+/Contents 2076 0 R
+/Resources 2074 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2078 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2048 0 R 2049 0 R 2050 0 R 2081 0 R 2051 0 R 2052 0 R 2053 0 R 2054 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R ]
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 240.132 718.861]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.948 707.957 353.875 718.861]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.842 685.806 330.976 696.71]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) >>
+>> endobj
+2012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.528 685.806 444.454 696.71]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 685.806 513.996 696.71]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.851 174.668 684.755]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.129 673.851 256.61 684.755]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.803 673.851 351.284 684.755]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 651.7 275.101 662.604]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) >>
+>> endobj
+2017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.318 651.7 388.245 662.604]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.15 651.7 501.45 662.604]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.697 629.317 288.484 640.22]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.891 629.317 402.818 640.22]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.13 629.317 513.996 640.22]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 617.361 134.838 628.265]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.837 594.978 277.739 605.882]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) >>
+>> endobj
+2052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.286 594.978 393.212 605.882]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.089 594.978 489.57 605.882]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 583.022 196.576 593.926]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 528.484 309.441 539.388]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) >>
+>> endobj
+2056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.257 528.484 423.184 539.388]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 506.1 308.336 517.004]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) >>
+>> endobj
+2058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.151 506.1 396.066 517.004]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 483.717 313.895 494.621]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) >>
+>> endobj
+2060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.71 483.717 427.637 494.621]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 461.333 328.121 472.237]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.937 461.333 441.864 472.237]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 408.554 250.802 419.458]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.618 408.554 364.544 419.458]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 386.17 254.12 397.074]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) >>
+>> endobj
+2066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.979 386.17 427.906 397.074]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 363.787 259.101 374.69]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) >>
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.44 363.787 422.367 374.69]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 341.403 265.188 352.307]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) >>
+>> endobj
+2070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.004 341.403 378.93 352.307]
+/A << /S /GoTo /D (group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+2071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 319.019 259.649 329.923]
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) >>
+>> endobj
+2072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.464 319.019 347.379 329.923]
+/A << /S /GoTo /D (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+2073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2077 0 obj <<
+/D [2075 0 R /XYZ 89 770.89 null]
+>> endobj
+2079 0 obj <<
+/D [2075 0 R /XYZ 90 666.088 null]
+>> endobj
+2080 0 obj <<
+/D [2075 0 R /XYZ 90 643.704 null]
+>> endobj
+2082 0 obj <<
+/D [2075 0 R /XYZ 90 542.683 null]
+>> endobj
+2083 0 obj <<
+/D [2075 0 R /XYZ 90 520.488 null]
+>> endobj
+2084 0 obj <<
+/D [2075 0 R /XYZ 90 498.104 null]
+>> endobj
+2085 0 obj <<
+/D [2075 0 R /XYZ 90 475.72 null]
+>> endobj
+2086 0 obj <<
+/D [2075 0 R /XYZ 90 422.753 null]
+>> endobj
+2087 0 obj <<
+/D [2075 0 R /XYZ 90 402.252 null]
+>> endobj
+2088 0 obj <<
+/D [2075 0 R /XYZ 90 378.174 null]
+>> endobj
+2089 0 obj <<
+/D [2075 0 R /XYZ 90 355.79 null]
+>> endobj
+2090 0 obj <<
+/D [2075 0 R /XYZ 90 333.406 null]
+>> endobj
+2091 0 obj <<
+/D [2075 0 R /XYZ 90 296.248 null]
+>> endobj
+2092 0 obj <<
+/D [2075 0 R /XYZ 90 222.548 null]
+>> endobj
+2093 0 obj <<
+/D [2075 0 R /XYZ 90 200.256 null]
+>> endobj
+2094 0 obj <<
+/D [2075 0 R /XYZ 90 200.256 null]
+>> endobj
+2095 0 obj <<
+/D [2075 0 R /XYZ 90 77.486 null]
+>> endobj
+2074 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R /F100 526 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2113 0 obj <<
+/Length 2552      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�F��_!�>T������ᒸp��n�C?$�@K��;�T)*����,����ʖ(9��"�3�;���3$�����C�_�����Ie�~�7���AB¯i��@�����LjD��A��W���������{s���G��7^ ���e��gܟ���1��_ˇ�}N
��_{�2#*�=T�i�c!�g�BD!��pD0ƃ$-�#��`�Z�E�@X�R ��)�(2�4��A�F�Kϖ�o�:CD���T�^O�]>$b�=
�`/��Sl�e��zJ`�	���CB_�	�bq� @�Ys�5��_���?�H��4k "Ѭd�x�g�g���',�5agqp>��vP�'Y�.� ��u��	��ƅkT�݀l���duP0bD#!h�!v��q
Y
V�1lQR똇4�\�e{
+��x�	c:I��U1ڌI�6ːpʐ9K�4N�3�N1K]?�!�n�O���7�x �~.�TG��鯶� XmJ��
}�eH�
�8<(
cwR��>Pn��r
<��Y�<�����g��Q�*y����}�L��
��yլ���;
>��A�p"H�0wC�Q
-�"�m�X�w���ݻ��EB`��<�_$�f�ˍ�h��1$�xJ�W��
W��c@�M<G�dI����0��` ��󾆫MaBy�܏il�d���������9��D|��pq�����\O!���<���!l(����ڒA�w��|[c��y�(*�V���c2y�Ӿ&��;{���n@*���q�l}�p�iWx�3��kH��Ȁ�8*���W�t�<�n:� i��mȡ���e�^'�4�� 
�@4난"�a|�<Y��0\i��.�!�D��s3�+$Tp�z�P

U���Ry:��l��/���g�y��Lt��ɣ�`�Br �£�̣��
��
I�V��<�
|���
��)�.��}��S�<��@Y�%�S@��Z�ӟ��d-B\� ��Es(�Y�h���8'N@�SN*�3�$��6�"�B`XH���G2C�1C������M��Q�
+>~0�"
�Ɛ=`5�OSAp�a�
w#@
'ߐ�q	
����e�ZB��u� �1�,u�1�=�����x�%���h�55�3��MA`}��
]Ys��;�U�
u�]��y��:T���I����Ĩ�08g��x?�ю���HR�l	�Qgm�����H@�p�|_J�4g]�p���%�Rl��I���LZD[�0��xL��
�s��l=M��_�_k�-R�a�g˝��e�Ef��k��e�"��K��{(�tY \��O�
+���#5}Y���h
+�W�ztO�q���x���oц,�(���AB�����>�'Z핬-ld�P�2MJ��:"��,���*!&����u<I���r =#QM1T��J<��i�eT��~�
�'DOm
���zp[��~��gp/��t?S�:�#
+فW��~������F�N}R���[wu!2�}�,��[
z�XҪ��$�,6n	�o��n��`�Ś��Y
+Ȣ�O���ڑ�mh�$����)�)�#Ș��_T���Y�'�+lyܻ����M�Y�� �뀬����q��
+T�na�zk�s���vߗP#�%����5�`��b<yL�qZc�%؎��jPr����.����*Y�]W�òj�������3���Q��F\�a�
�21��8d��
���T �ĖNb`f
j�-!�
��穭
+(S��H�K��4\�!���5��{ը��**L[��T�p[:�����I,�ž�&����T
��Y_+Ӡ=�A��~<�
�(��ã�f1����}�mC�!`�B�4�>�&���	��
.Y����l��Y�X4�<a�}GMO2�bl�l���o at 7D�����l���TR���@{@/�=R������_1��S ��5�m��׿l
+88��
+c��>Ј$�X�-�W�$�x�Ó�a`/�E��b
+����
	��6TG�"�iݑ��!O��]�I�#�
I��Np/D��Z�lS��@U����!��Jhr|!��Nt����7n~D�p�N��k�m���y+_#���R�"|�1O���g#n��� ���92��9�/��h}"h&�Q
��Ho�̂� p�k-�ꯄ�FPp�,l��X���NF��-���[�
+l��{z��-�� u����*��!ja�ܵ�/I�h<6���@	�8 at 2l����h=I��t�\}��S��@\d
�o�Y���G�Q(�����&���1��v��
�~�%
�R�|Ƥ�A[@A��F7ÑV��i�E�nh���F�_G@А����[��%qd;\
���+��!Q�-zM����2�B	Î���k�C%]~Y�{#LT���Z���zLu��v���3�7y����q*�QL�����V�7O��޺�W��6J�h^ݽ�o��{
���Ve�埣tS7�-���
��D��B��A·������6���W�xZvkp�i��cQ����~��8s4qN�w�v0p2,���{Vˬ�$)\\���s���[}�
+endstream
+endobj
+2112 0 obj <<
+/Type /Page
+/Contents 2113 0 R
+/Resources 2111 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 2097 0 R 2098 0 R 2099 0 R 2121 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2104 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2109 0 R 2110 0 R ]
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.372 258.45 294.843 269.354]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.109 258.45 433.932 269.354]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 258.45 513.996 269.354]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 246.495 218.487 257.399]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 178.044 275.699 188.948]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) >>
+>> endobj
+2101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.514 178.044 414.337 188.948]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 155.233 279.016 166.137]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) >>
+>> endobj
+2103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.876 155.233 477.699 166.137]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 132.422 283.997 143.325]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) >>
+>> endobj
+2105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.337 132.422 472.16 143.325]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 109.61 290.084 120.514]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) >>
+>> endobj
+2107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.9 109.61 428.723 120.514]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 86.799 284.545 97.703]
+/A << /S /GoTo /D (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.361 86.799 397.172 97.703]
+/A << /S /GoTo /D (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2114 0 obj <<
+/D [2112 0 R /XYZ 89 770.89 null]
+>> endobj
+2115 0 obj <<
+/D [2112 0 R /XYZ 90 721.073 null]
+>> endobj
+2116 0 obj <<
+/D [2112 0 R /XYZ 90 658.004 null]
+>> endobj
+2096 0 obj <<
+/D [2112 0 R /XYZ 90 586.273 null]
+>> endobj
+2117 0 obj <<
+/D [2112 0 R /XYZ 90 581.789 null]
+>> endobj
+2118 0 obj <<
+/D [2112 0 R /XYZ 90 511.059 null]
+>> endobj
+457 0 obj <<
+/D [2112 0 R /XYZ 90 408.384 null]
+>> endobj
+130 0 obj <<
+/D [2112 0 R /XYZ 90 399.387 null]
+>> endobj
+2119 0 obj <<
+/D [2112 0 R /XYZ 90 301.631 null]
+>> endobj
+2120 0 obj <<
+/D [2112 0 R /XYZ 90 274.987 null]
+>> endobj
+2122 0 obj <<
+/D [2112 0 R /XYZ 90 192.349 null]
+>> endobj
+2123 0 obj <<
+/D [2112 0 R /XYZ 90 171.421 null]
+>> endobj
+2124 0 obj <<
+/D [2112 0 R /XYZ 90 146.916 null]
+>> endobj
+2125 0 obj <<
+/D [2112 0 R /XYZ 90 124.105 null]
+>> endobj
+2126 0 obj <<
+/D [2112 0 R /XYZ 90 101.294 null]
+>> endobj
+2111 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2154 0 obj <<
+/Length 1719      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ��f" 	
i�3N,g���,�J2Z�eNy($e���]\)K���N�D���]`ؚY�z�y5��
z�
+P�R�_Y�<'@̅��z��	z}�1�����lx69+z���	O'U8��)��aV��*�r�:�W\���̷�,�}��
Ɲ�
�E�<�<ߚ��w�A�[
#;�[9(�
j�3��;�v�V
#�DS<�!>]1�DHm�����Wa���>���"�Wq�I����C��
���A��	�=w��T�Y�W�l*���Wy���jD|�B�|��H���\�h���3���\5�E�#�{G�L���\�
�
�xUޣ�{+�����v
��bQ���Z����_Z����CYܷ=��Ն�ã|�HyV�UmQmhu
�
P���3��"��A��S37�&�29�4��cL�����ȱ}I��4xO)k�z�g�Y��k
F��uѵ�b��,�4`�
+��F�� L�u
x߃�
?1�bE>c���F��jO2>�P�8aǑs�̭Ww�T�B�`���bD�ٖZ��=�
�f�A �@v� �6r��V�
+A�L��ft�W�n�2�m	}B�Ļ�
��"�pq���S3x�g�da
��r$���hG�i�\
�-�
hY�xe>�F.��
��&�7Q��OmhN6^?�vR ������=f�$�L
����K�
+n�����+�#���$/5hm��Aij���.�̓x��|
�UaVm5D���,ٌl+�t��b��a$H��
�Mzt��hp<9�/�''����!t��k�us
������un6��j%�>[dW<,c��=��
�N
�T�R-�7:O-��t�qp9=��

�
�i��ـv���cT^���G�з?�?
���	<'�/���� m�?
��sg`5��-�y�s ��tQU�6]Vr���!���4��<��,T�R^o��E�}Cn@�l���x2:����{
ߘ`�F�~
���
�
G�㝇�O�-N��8����t������`08|
$#���(�O������#&�����#������OHI|!��������}举T�*�������@n��_y�c��d�f_
����n
 ����[�
��b1��|��e<�Dc%�;�f��~ S���B�.�"�(�L�9���(M��J��_dX%4ʃ�4�b���d�L�u��55#�9։h<���@X[0Q��.��hj��
��{&��Ӗ��S\}����$���U�7q�lfn��-����(�
3hDuUn9D���
�yv[�o�u
�e�O��
?�3����uyY�ӆ��
��ڬQX�HЪ�m�f�Me����ζR�ѱ:��w�4�	��� ����
SU�����a��!���@����:��O�*�5��Mp���7� F����54slD�%6kYF\c����۔,I�Ԯ&=t�<H*���Lf$�ɝ�Kq_W���+?�o��>a@�z�t�0oq`A\�Cg	�6�����������<u���^�{d_��r!Q��Q��
����}}��x���=��t5P=��l�g�ysֺ��(y�\�Dt�>���E�7���X^���u��s��)���L뗎,�.U&>�*A��\W������bV�l��yz��˟!�`�vκ����gЙ��d*�o�	r]j�?v����
�lˏ�Gݱ7Lm� ��X�	�L�v
+endstream
+endobj
+2153 0 obj <<
+/Type /Page
+/Contents 2154 0 R
+/Resources 2152 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2132 0 R 2133 0 R 2134 0 R 2135 0 R 2167 0 R 2136 0 R 2137 0 R 2138 0 R 2169 0 R 2139 0 R 2140 0 R 2141 0 R 2171 0 R 2142 0 R 2143 0 R 2144 0 R 2173 0 R 2151 0 R ]
+>> endobj
+2127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 445.942 337.158 455.869]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) >>
+>> endobj
+2128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 420.794 329.955 430.722]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) >>
+>> endobj
+2129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 395.647 486.029 405.575]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) >>
+>> endobj
+2130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 370.5 499.867 380.427]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) >>
+>> endobj
+2131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 345.352 483.827 355.28]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 320.205 499.319 330.132]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) >>
+>> endobj
+2133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 295.057 476.066 304.985]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 269.91 497.665 279.838]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) >>
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 244.763 513.996 254.69]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
+>> endobj
+2167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 233.888 156.417 242.466]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) >>
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.496 171.452 330.623 182.356]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) >>
+>> endobj
+2137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.829 171.452 415.426 182.356]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 171.452 513.996 182.356]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.497 144.243 170.401]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 134.35 314.154 145.254]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) >>
+>> endobj
+2140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.372 134.35 397.969 145.254]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.067 134.35 513.996 145.254]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.395 134.838 133.299]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 86.288 322.712 97.192]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) >>
+>> endobj
+2143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.93 86.288 406.527 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.556 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.707 134.838 85.237]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2155 0 obj <<
+/D [2153 0 R /XYZ 89 770.89 null]
+>> endobj
+2156 0 obj <<
+/D [2153 0 R /XYZ 90 721.073 null]
+>> endobj
+458 0 obj <<
+/D [2153 0 R /XYZ 90 617.302 null]
+>> endobj
+134 0 obj <<
+/D [2153 0 R /XYZ 90 610.116 null]
+>> endobj
+2157 0 obj <<
+/D [2153 0 R /XYZ 90 511.834 null]
+>> endobj
+2158 0 obj <<
+/D [2153 0 R /XYZ 90 459.855 null]
+>> endobj
+2159 0 obj <<
+/D [2153 0 R /XYZ 90 434.896 null]
+>> endobj
+2160 0 obj <<
+/D [2153 0 R /XYZ 90 409.749 null]
+>> endobj
+2161 0 obj <<
+/D [2153 0 R /XYZ 90 384.602 null]
+>> endobj
+2162 0 obj <<
+/D [2153 0 R /XYZ 90 359.454 null]
+>> endobj
+2163 0 obj <<
+/D [2153 0 R /XYZ 90 334.307 null]
+>> endobj
+2164 0 obj <<
+/D [2153 0 R /XYZ 90 309.159 null]
+>> endobj
+2165 0 obj <<
+/D [2153 0 R /XYZ 90 284.012 null]
+>> endobj
+2166 0 obj <<
+/D [2153 0 R /XYZ 90 258.865 null]
+>> endobj
+2168 0 obj <<
+/D [2153 0 R /XYZ 90 186.342 null]
+>> endobj
+2170 0 obj <<
+/D [2153 0 R /XYZ 90 149.428 null]
+>> endobj
+2172 0 obj <<
+/D [2153 0 R /XYZ 90 101.82 null]
+>> endobj
+2152 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F83 262 0 R /F72 194 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2222 0 obj <<
+/Length 2669      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_���j#
 
 �O�o9��gkl�!
+I��Lƿ~/Qǣ���)b 

������
��}�����K�g!
+�nֳϘ"?����;'��7?�܀#�Iվ���͏�o��߮~���xE�'<#�����vW�>�Y�?�0rC>�W�v3������^��
+Q�_%wg
D
<)�0�Pd� B� �UU�ɪ���؉�g�����������](ʹ�;�r+vr
�/Cڝ���7��ʕnӗ�#�ۦ�G�	%ܶH�zl� 7�m��O��/���,HH��
X?����R��k�n�c�Ym�婔s<��.q���F��S߹�`[�7�ڍh]�h�gU]�0H5
\�}�}|tt5rw�z�*�uVE��B߷;�
cWoSo�Ц��H�oN,��J�$݉�J�,�
+1����(
����Z�g&�F/����>T�0{��(�:/���(�rY���RӐ�N�h� N
+��3mc9��J?���^�_�TJ���G*��]����
H0����Z�g>PdD�
2��c�����mzLB���U�ʪ*n�4��rU�+����c*
x�s�FGt�!̛k=��P5�����P����2'��UFU�٠�n r�#"���Ş���{L��Z�0��
7��kd,��ZKLس
C!�
4[��}�K;�3���U��
^�1_�����怌����+c��,IW���վ����9@,�[�:�2a��
�s�9�\�B���Eb������9��R
Uu�*sQ�.`��[��kB���
ֆ�%�S��Tť
1�K�R_es;w�6M��
`�po�,َ!��� ÷#gH=D�ƃַ�~�����[��̽�K]_9�K
Ym�rݩ��}��꒐�'�zo��I,E��VĕHБ-c}|x`y��
��ٴ��lU�zP���$������T��'�������	w�1�'
�''��ݧ���ǮLoԳ�=pA�ˠT�}��S���V��20��M�
Զ�MU��H�  f `��e���]t=��v�li�v��9�X[0����By���Ԋ��s����O��@[Q�]�R�O�B]99�a��-E����6�Cl
�X�"�T� '�ӑ
+��?� O*�� p���p�O�Ҿ�
BtH�������X�&B�c�.��u
@u:@e� T�q�z���Q�r�9h��=E��W�
+*�R����/�D�_��n����zC�磠e�����+z�
^���b�
��d
P��<��.<B�W��k@�d@��=�L�hVf��2�X���7���d.�Z�l�ҁ�����
�-�
꬟�r�D�sφl�@k-3}�݈:���(�Q��7��a���P�L�1ć�;8�c�8��!wCX��

+��
�V�cq =�F
�G {�QMM
���) �D�
�-w:�����>ϏQ�"�;���t�[R�V��i�������hU��.��]G�\�@ZC�/���fWs��2
+��8&[�Q
+�Bnԟ
���D�4��k�=�7���>6d��u�'�!������6���
�Mw9ud:CFq��tK5���w/H��[`��׉��:#��*� �_�T�w4[�)�m�0]Է�9'��1��ڧ�*�\�R>�C�|���:�Խ.ҧ(��Q��l�qA��{1�e��3*�/���iR^��h'vy� z-$V�9�i8���L���8j�
ST��4=�b���
+�S}�N{�^4�uM�
�ȼ>�6'_�6[�

�|��H��
�^0�ޅ��������Dz칰�?��8����sg�L
軵s
�KB�
����Wy�c����o�L]ں���̝Е�My at u.��
M�� qr.��}���^�d�,��r'P-'EJ���WM�'���U\������oGI�J7Iw�r@���>\V�
�2����;Sy#I�osè�H�76ٓ� ��m\
���w6*���tt�|i���s�_Yj��'�,
+���zo�;k��I�rN��W'�i�b_‰�j�]�p��Ի�_m��w`ޅ5t�q�yJ���Y�������W��5U]�wi�=��Z�
���L�A�q�g�@�"qv�yY�/�k�	�;�p+.������f���=DT��V�.IƂ<к�S%;�=_p��ԟv�1��
a2e���P���,v��O���?���tYG]PPJ ����A
M�y��oq$q�S�,�O �}��,b�zVz�i:����c:S���������[��Ϻ�2
�6�,4f���
B]�"H�Q�����*�*U�$��÷���ɮ1�� y��GX��y�ε
�,8cDO^�q

+᝻5�~�y�]�}f�����\P$Ш�
�
�|}A
�*�s��b���~�ם9��tw"�����cާ��'��qUۋ
+E�j�
�Y���{�-�$��#����	
��d��wd.gO5J��ã�{�C�a��56a��
�t����ҽ��c at E���Wa�U?v��G��T\�ڹ�r�
n�-�ջy8� �ꔥ��Qb'Ukn����/��B~���>ޘ__ɗ�ki|z�A����;�e����Cy�w��l	 ���F��
+��Z�?���,�ڕ�SD�X����o����
������vf
�Q�&���e�b�ᢊ�����ZI
+endstream
+endobj
+2221 0 obj <<
+/Type /Page
+/Contents 2222 0 R
+/Resources 2220 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1973 0 R
+/Annots [ 2145 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2228 0 R 2185 0 R 2186 0 R 2187 0 R 2230 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2237 0 R 2206 0 R 2207 0 R 2208 0 R 2209 0 R 2239 0 R 2210 0 R 2211 0 R 2212 0 R 2241 0 R 2219 0 R ]
+>> endobj
+2145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.736 696.218 305.41 707.122]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) >>
+>> endobj
+2146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.856 696.218 390.453 707.122]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.046 696.218 503.403 707.122]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 684.263 288.151 695.167]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.977 684.263 473.033 695.167]
+/A << /S /GoTo /D (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 672.308 228.656 683.212]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 635.879 239.724 646.783]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.539 635.879 350.148 646.783]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.878 574.612 284.328 585.516]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.916 574.612 394.525 585.516]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.327 574.612 495.683 585.516]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.412 538.963 383.245 549.867]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.367 538.963 494.976 549.867]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 527.008 208.451 537.911]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 501.537 332.644 512.441]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.862 501.537 442.471 512.441]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.607 501.537 513.996 512.441]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 489.582 149.224 500.486]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 453.153 336.53 464.057]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.748 453.153 446.357 464.057]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.492 453.153 513.996 464.057]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.198 149.224 452.102]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 415.727 307.2 426.631]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.418 415.727 417.027 426.631]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.163 415.727 517.519 426.631]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.082 378.302 294.344 389.206]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.136 378.302 404.745 389.206]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.913 378.302 506.27 389.206]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 366.347 220.077 377.251]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 329.917 310.577 340.821]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.393 329.917 421.002 340.821]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 304.447 324.804 315.351]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) >>
+>> endobj
+2198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.62 304.447 435.229 315.351]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 278.977 230.319 289.881]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) >>
+>> endobj
+2200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.135 278.977 340.744 289.881]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 206.751 235.29 217.655]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) >>
+>> endobj
+2202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.106 206.751 319.703 217.655]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 181.281 358.109 192.185]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.327 181.281 441.924 192.185]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [459.059 181.281 513.996 192.185]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.326 149.224 180.23]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.765 169.326 272.122 180.23]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 134.673 364.744 145.577]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) >>
+>> endobj
+2208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.962 134.673 448.559 145.577]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.694 134.673 513.996 145.577]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.718 149.224 133.622]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.478 86.288 337.394 97.192]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) >>
+>> endobj
+2211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.582 86.288 423.179 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 144.243 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2223 0 obj <<
+/D [2221 0 R /XYZ 89 770.89 null]
+>> endobj
+2224 0 obj <<
+/D [2221 0 R /XYZ 90 711.377 null]
+>> endobj
+2225 0 obj <<
+/D [2221 0 R /XYZ 90 651.038 null]
+>> endobj
+2226 0 obj <<
+/D [2221 0 R /XYZ 90 554.122 null]
+>> endobj
+2227 0 obj <<
+/D [2221 0 R /XYZ 90 516.696 null]
+>> endobj
+2229 0 obj <<
+/D [2221 0 R /XYZ 90 468.312 null]
+>> endobj
+2231 0 obj <<
+/D [2221 0 R /XYZ 90 430.886 null]
+>> endobj
+2232 0 obj <<
+/D [2221 0 R /XYZ 90 393.461 null]
+>> endobj
+2233 0 obj <<
+/D [2221 0 R /XYZ 90 345.077 null]
+>> endobj
+2234 0 obj <<
+/D [2221 0 R /XYZ 90 319.606 null]
+>> endobj
+2235 0 obj <<
+/D [2221 0 R /XYZ 90 294.136 null]
+>> endobj
+2236 0 obj <<
+/D [2221 0 R /XYZ 90 221.721 null]
+>> endobj
+2238 0 obj <<
+/D [2221 0 R /XYZ 90 149.832 null]
+>> endobj
+2240 0 obj <<
+/D [2221 0 R /XYZ 90 101.447 null]
+>> endobj
+2220 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F98 1214 0 R /F99 1213 0 R /F100 526 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2271 0 obj <<
+/Length 2345      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�}�W�-R�
�B`��S��n�c��03��)JfE"�$���Ӹ�*ʒly����̋�F�����	�<����/��k���
���bO�!�<-���H8�"�IQ��7���rJ�$X'���V�+���&SI����>~J��i�d��M2�z��ŏ��]{ĎǑ�^����{
x���
���4�x>ep]{w�^`���j�"�'a*���B|�(�
+B!v:w�����ѩ���)h�'�&���W�t�dU�g�1_�+X�u)�>���S�]�����3cia����IR�Q��
�Bd�b1"����wdl\[ev
t�{E��$�")�Q�P�{���W

�fʽ֞*W�e�L3�
�b1��Re��mD�
_0�{e��f�<��Qc�C�̸��!�Z��,L)
+|f�H̚��|�~��&CD-��Ja���21I�>��v��t9Q	�����g+|�f鑽�y�G�E�
�'��P,R�	�̧ �@�? �j(Swy#*ͨ/���`
�wϕ�)�H0A!wq8���*����n�i6����m5�F"�mkoч��� 
�1ڮ?�b��id
g��l^7������%�w��K��0S���hx���V�*Ri��iԼ*��EpL�Ut��?%j[f$4(�K�W�J��ӷX�<1_�\�c�ip���M�F���*c�`n�5/T��֮C�x��6��2�f�?�=
�r�L;y���[Z%zQ�
z5G�� L�I����
++�i',
�d�(?� 
+��e7�j�u"��&S�'�Se�*�mu���#��D��78���N�x
�m��C3�˜Ӂ��)��2I��d rvM��ytt��Jd�I=B���W����q�L���s�*����2U
�����袣�qZ�o�
�r���%�e^���q�
+Ԧ.-��tP��!���<�#b�&v���e����Y�j���1R-��Į������!h���( �
Lk����x܆


��J��#x��}����6)�A��]�Z>�^Y��v�Ds���5��X�FϜ�W�ҐTe���6k�g��
���vK躙�)Zo�>k635i{=V��w>����q�����"hVX�
C�]��	�=P��u�F�[;H^��)�3�B����� �
I�
��
o��rJ�=2*a`���t���s�����U�z��:����'����vq����[�ّW#��������AҤ�`�ɑ�Z�[5"�QDEx\�$Rv� �Z
�뛏?�	�
+	�(v
+E��-D��+��� �ya��)?#
+�	j�>%5�
sw
�ǔ��e��'��qUG%~��Q��
+IJ
�=`�w�c��P��[��V87�z��W���E��/5�y�k]�zU6��\�=���q�.�V�bC-�)����a��cV:=���)2��w��T�i:_l7���g�=�����
�Nؙ�f1
�0�_72��:���*�T�+-�}�!����}�m���V�	���>O
���+��y�x'�{;\�z;�4u*v�{�~:a��d��h�,-W
�b$�h���
��ED����3���=@\: A����D�ц��ҵ	�T�S�i�SKxk#�B��T��s�T�/>ˆ�7��a��`�#�TmR��C�5�Po�<���.�> L.Y�RE}�r
+�Ǿ��Ţ�R�
}��HM�����ً��Xp��`c��
/#H�ΉD���4�
��oΜ?%k�B��9���v�ື�z�����A��]+%:�i!0S
]�}�d
��
6g[���	@��EhؘzdP�0�9�>�A8��󇩘Ԭ�7<����1>�h� R�Ư
+
��a�����2,
��{ �]'��^�C\i+�r�9,傞�6ߒt���#@h
[��Gh���0�]$$
�&���WLH���A
u{� Hv��
jQ��ϥ]�__��!ຌ�
�����8,4�
+�S�'��k�]��=ǹ�b��Z�:�Z�ٚq��Js�i� H��w�~�E�N�����0�$������V
���)��]X���C�
�{U�r���nkme��I;.�4=h��4��Ҿx�5t[e�}@�g�[�$��w�,Wu�1�L�ʜP�Ө-ع!�$qx| $ tG
4�

�P貙9��C�
� ���~tE}{�e�m�J��
{)�UR�a���A��(�֓сú�l�G�
	M!���]R'����W���� �U�H�@as��Q�⏳��v�m��|�H�Y@�k��
g��eR;^nL�Duĭ��1AA at k����ĉ�0�
�so~�;���
�>���$� ����
+endstream
+endobj
+2270 0 obj <<
+/Type /Page
+/Contents 2271 0 R
+/Resources 2269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2213 0 R 2214 0 R 2215 0 R 2216 0 R 2217 0 R 2218 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R 2278 0 R 2254 0 R 2255 0 R 2256 0 R 2257 0 R 2258 0 R 2259 0 R 2260 0 R 2261 0 R 2262 0 R 2263 0 R 2264 0 R 2265 0 R 2266 0 R 2267 0 R 2268 0 R ]
+>> endobj
+2213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 697.086 274.593 707.99]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) >>
+>> endobj
+2214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.408 697.086 359.005 707.99]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.217 697.086 472.2 707.99]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.953 673.351 279.315 684.255]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.978 673.351 364.575 684.255]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.693 673.351 513.996 684.255]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 604.903 267.409 615.807]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.225 604.903 377.834 615.807]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 581.168 236.815 592.072]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) >>
+>> endobj
+2247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.63 581.168 347.24 592.072]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 558.342 247.445 569.246]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) >>
+>> endobj
+2249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.663 558.342 357.272 569.246]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.407 558.342 491.717 569.246]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.775 522.652 296.87 533.556]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) >>
+>> endobj
+2252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.355 522.652 407.964 533.556]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.681 522.652 513.996 533.556]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 510.697 161.398 521.601]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 454.203 306.124 465.107]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) >>
+>> endobj
+2255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.94 454.203 416.549 465.107]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 430.469 305.018 441.373]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) >>
+>> endobj
+2257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.834 430.469 389.431 441.373]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 373.975 247.485 384.879]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) >>
+>> endobj
+2259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.3 373.975 357.909 384.879]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 350.241 250.802 361.145]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) >>
+>> endobj
+2261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.662 350.241 421.271 361.145]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 326.506 255.783 337.41]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) >>
+>> endobj
+2263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.123 326.506 415.732 337.41]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 302.772 261.87 313.675]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) >>
+>> endobj
+2265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.686 302.772 372.295 313.675]
+/A << /S /GoTo /D (group__Datatypes_gac9397590f57ede293eed34366aec11dd) >>
+>> endobj
+2266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 279.037 256.331 289.941]
+/A << /S /GoTo /D (interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) >>
+>> endobj
+2267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.147 279.037 340.744 289.941]
+/A << /S /GoTo /D (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) >>
+>> endobj
+2268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2272 0 obj <<
+/D [2270 0 R /XYZ 89 770.89 null]
+>> endobj
+2273 0 obj <<
+/D [2270 0 R /XYZ 90 711.811 null]
+>> endobj
+2274 0 obj <<
+/D [2270 0 R /XYZ 90 688.077 null]
+>> endobj
+2275 0 obj <<
+/D [2270 0 R /XYZ 90 619.439 null]
+>> endobj
+2276 0 obj <<
+/D [2270 0 R /XYZ 90 573.067 null]
+>> endobj
+2277 0 obj <<
+/D [2270 0 R /XYZ 90 537.377 null]
+>> endobj
+2279 0 obj <<
+/D [2270 0 R /XYZ 90 468.74 null]
+>> endobj
+2280 0 obj <<
+/D [2270 0 R /XYZ 90 445.194 null]
+>> endobj
+2281 0 obj <<
+/D [2270 0 R /XYZ 90 388.512 null]
+>> endobj
+2282 0 obj <<
+/D [2270 0 R /XYZ 90 366.661 null]
+>> endobj
+2283 0 obj <<
+/D [2270 0 R /XYZ 90 341.231 null]
+>> endobj
+2284 0 obj <<
+/D [2270 0 R /XYZ 90 317.497 null]
+>> endobj
+2285 0 obj <<
+/D [2270 0 R /XYZ 90 293.762 null]
+>> endobj
+2286 0 obj <<
+/D [2270 0 R /XYZ 90 254.949 null]
+>> endobj
+2287 0 obj <<
+/D [2270 0 R /XYZ 90 180.945 null]
+>> endobj
+2242 0 obj <<
+/D [2270 0 R /XYZ 90 158.569 null]
+>> endobj
+2288 0 obj <<
+/D [2270 0 R /XYZ 90 158.569 null]
+>> endobj
+2243 0 obj <<
+/D [2270 0 R /XYZ 236.688 77.486 null]
+>> endobj
+2269 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2308 0 obj <<
+/Length 2662      
+/Filter /FlateDecode
+>>
+stream
+xڵZYo��~�� ��HȨ�w��A�=<�7s8c
dv �-�H-Iyf�}�/�MQZ��TU��_U}�4�V��y�������Q�Ie4��
)� !��2�4�t�y�[�d�H"a�i�����Ż���;����qF�
G��H������g
-���#���3hq�๎���}��R0�B��[XL
#bW�`9�":���$/��*5�n���"B 

#�����(J�]��2��V<X���ՈNEP��It*�bFB�Ք�Iy3U�u��WO�B1
�	�S�Q��էKP�
QKJX|�4F	U��z��f#ZE2>�V��T��e�Ɋ:/�z_5�ƳS�f�#)ih�b��
��NgF)R8g��li��w,��?L!�|, �[�,4"c@$�q��I��M�����o_�H�1�U2���!:�!,�o�lL�v̤''
#NI$�1��h�@e
q+��e>L)���1��Q���}��bSL($	=Ŧ��H����i�nj��;
s�6�
+q{bA�������i�-?�m���Z0 ��h�$8�SZ.��`SI�Z<�U=�IH
+����D��@�!e��"�R1���E�̧d�FӤ]Ӽq�ͽ��MN0-�ʸ���1d0��;X�H0����@�_���338�
��)+�!��
+����)�0J ��t`'�,���O�E�&���By�g �;�p'�8��c��
�"�$%H
�#g�~Te}Pb::���G��H��3U�8��d�@���Dx4‹G��є�y�F /M��bM��B:߀G`lP���7�)���
&<�D!^ut��r�
�=�0� 
�X5%xR��t���� �ˤ���W����O��k����1��.���>m\S�� Ϫm���I�dB�҂P�xРJ�<�&cؑ
`�M,8Gz�PX:\n} �u�A 
,	�
\͂̋���_��@�T]��� �LM��0��P�P����=�c;���d�p�������3=�?�ٔ�gzӋf[wR
.}�;AA"A� v$%l���C=K��C�m���
J�k��O�#��P��	��9�i0E��/šC�
7�Fuڏ�Ժ�hW�h�pؐ�=��t��
[��Q��f���]Fw�r����0�t�ɂ r�q�z�!�P���t������qE�~vg�w��)�Foh�7t}��k�s�ٖ澬�����.ߑ� 2�m͋e�]�I��
��B0�� ��>t��q:�L�� �
��8��"o�t��f�yW��f�*͋l�8�1�]	��;#���НG��0��ewF�=�^עd̾si�;�RŁ�ҁ�G�q��N�_�1�.�u�~Ȭ�]-�
+]�kds䏺a Ds�WP�v�Hu�ǪV����&)�ê�6�]% �{�|	�,�
/�B	kw�(��]Ut�&�y�{�6��)� !�U��	�F��k��5F
+���a��Wo��~x�󛋷���O�׋��^_�t}	Mc{N��s�e��޴��"�$�mcQ6��N�
�#�:i�8}��[,�K��j�T��6�_�/�^���ױ]0xW�]
�˦����s-�M�I��X�����os�L�
	~:��xP.��
�@B�Y��/����� ��;]�XM_�/׿ʊ�J���r3��]�^�&%��Ԇ_g?�Ѿ�Yl�bo��)�O3�outhX�g�H	
'�?���P�a��qs����.%�g�����Eq^����sndIE��!���4Z%pox
�^;��eXdLN��bP)�P��r9v�Oc��4jE\%��&������Ҁ�����
�eUV��
��<�V�r��G��4Ɠo۬uL�
+ at XG�������V_�.
{
D"͊����_��v�[:2
!�Ǒd����}�n�L����:�@^
�� ���S�����1p1H�1�Yb���uk�#�ơ�5[xW6�,iӆ��j�Ex<�d���)�yaG�F۬![�
v?������^

��*k�0��ۅ�Wֻ�
��"<5U2�D��fL�.� h����8���-�'aV�N�Wҫ��
O�(2��]���i���
+�mm� ��3JMNiG�0ɫ
xi;f��v'
Hi
�t	�������
����S卩r�9A�n)'�M�Ԁ�ԵEt7��`�I�0c ��-M�m�ا)�t���0��m����h��ζ�
<»�b�N�f��� =B��v}99�
���$��.��_E�
�!NG��� IW���U
b^G��!��g}�#e�w.��9�k�a���B

��
�� *x���b[��}�
s�-��c
�+�v��7�^v=���l��u�
���sF]Jr�^�Ͳ�5cX���X��D�����>NrrwO<�ח�v	b�tc��F:�TY�ytP=5
�y蒜�i�K�U�����:�	�a*��
!��C(�
3�4�I�'���އ�hD��h�
 �y�f���f��-о��sv����\!���(&&������M����/7,��a��țu�]��_�b{����+
|-�zc_~��7i�ڥ+�{�_��꯺uD�mZ�|A���^Uu��	½�VיG�] [...]
+endstream
+endobj
+2307 0 obj <<
+/Type /Page
+/Contents 2308 0 R
+/Resources 2306 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2291 0 R 2292 0 R 2293 0 R 2314 0 R 2294 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2300 0 R 2305 0 R ]
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.599 215.326 321.938 226.23]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.431 215.326 459.611 226.23]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 215.326 513.996 226.23]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 203.371 184.535 214.275]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.089 203.371 330.815 214.275]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 126.66 274.055 137.564]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) >>
+>> endobj
+2296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.87 126.66 411.05 137.564]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 100.497 277.372 111.401]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) >>
+>> endobj
+2298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.232 100.497 474.412 111.401]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 74.333 282.354 85.237]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.693 74.333 468.872 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2309 0 obj <<
+/D [2307 0 R /XYZ 89 770.89 null]
+>> endobj
+2310 0 obj <<
+/D [2307 0 R /XYZ 90 721.073 null]
+>> endobj
+2311 0 obj <<
+/D [2307 0 R /XYZ 90 646.048 null]
+>> endobj
+2290 0 obj <<
+/D [2307 0 R /XYZ 184.963 532.79 null]
+>> endobj
+2312 0 obj <<
+/D [2307 0 R /XYZ 90 526.15 null]
+>> endobj
+459 0 obj <<
+/D [2307 0 R /XYZ 90 368.058 null]
+>> endobj
+138 0 obj <<
+/D [2307 0 R /XYZ 90 361.132 null]
+>> endobj
+2313 0 obj <<
+/D [2307 0 R /XYZ 90 261.859 null]
+>> endobj
+2315 0 obj <<
+/D [2307 0 R /XYZ 90 141.869 null]
+>> endobj
+2316 0 obj <<
+/D [2307 0 R /XYZ 90 117.589 null]
+>> endobj
+2317 0 obj <<
+/D [2307 0 R /XYZ 90 89.731 null]
+>> endobj
+2306 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R /F11 610 0 R /F24 169 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2331 0 obj <<
+/Length 2413      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo9~��h`F"�g�
,�n�g<ٌ��}H�#���J-��eg���>آ�#�ż�/��u�ꫢpr��䧓�_���I�h�S�&W�D�Dr�D
+O���D"J�3�1��v�������jJ�$����|�d��xr^6y���{��W�X�WD��NR6�|���۫��'V��
+$U�؜|���%��9��i���A��S�u����_�@�%
+J��p�(�JB!N��UQ6�Y�陦���#w�
��F�$J)m4['g�.�l��.f�7k�{[7��zJ��U0z�-���CK��XL��ܸǢv�j��$o�U�R�-���i��f����."%Ht2 k�V�g��f
S�y2�i!܌O��`R�q&�?@
�ژ��������ށ>l���ؖ�y�zQ��~�5s>a��j).�e�D�61r߼
��/�:�P>��q��&�n>a�ܨ@+
iE:γ
,��z���1*a4ʐ���x�{Kg���
��s�:/���mW/ ``K}��;1�X�A�P�!F��q�D4GJ���7����y��B~d���F�nD5CB�^tB��p.�E�j��d���RH��q��F���0:0�:�(�Ja[��kե,�ڤ�&o�bm�&U�T/�bg%?�(sĸv��
+O���r}
^�˅!�߯�>�����
�=��M���00�q
n|�l��%B�'�jkR�m��Co��fe2Q��!�P1���e���U��s���ql����)vd)hC)
��b`G��xVyi���������>��ÙW�7�v��tn
�`)cc;����04�L��p�[�� �J��Q�BA���/�
u@�@KKJ(�i;�T�S�"L%G\�ik�C�K$�~	Δ`$�H�֟F\asK�"J�
�EG\�Bm"�9�D�
c�m0
�*�� ������� 
+q�5!"[�m� �n3�
`�V S��� ܂�/��e�7��CA����
+���T+#A!L��6c���������e�qD*��!�픚�9M
�?����Y�W�EQ�Y5�m�
+��q�`	�$� &�E����k��p�2�d
Ҁ�Q���X����x�@(R�?!�"�}�wU4Ʒ�&�
r���W
P&�@2G̪��v��VP��ɥ�k���sn<
��T���q��I�&
�m�h�WE��]i 
��H���PH+�/�
+��>����K����5d��n�cȒ �Y����
k��~�($��+>�%6V<`QH7���]�^{ Z���0ն
��؄&�4����dUS�v��"[[v���=�jt$�� -4T�P�iҦ�)哖ܔ�I
�q��7��?��HQ��x�ـ�4|�V�#p��m�Z��P@��[VD
������lC7JS�!g
�v�
�b�5�
!��U	4����0�n}�-�g��%�)�����P�%��#YԎ�b7�eg� �vͱQc��>�������v��o�.8��Ɯ<���3�Z�i��a�eb�q
+��P at H6��1
?�e��C�������;]��@& ձP�30d>�F�ψ�<]���fzz|�Oy��x�9���"�'

¤O��V��=
�t�c%֐'��]z|1{y��������83}��￾}w6Sړ��հeW1�� ����I��ڭ�;�>+��v��B�E
+�uW471(
��J�C(
"�a{��)�ؒR,�j� �JK�6��E�VHH��Լ�!�/�z<=
��T������B���}�
z#�F���.r�"��:/�?�XU�MK"o��׮�dN@<��t���Ta�q[@�3<����&ϖ^ܛ��K�ԡ;π1xGc'[� �`LT p��؎4�XyP�`
+a̹��bv��#R$R�2\Sly��j���E���V/��z�D�����(%/•� :
�6�T�
�i
+�'m�p���
O
=�������u��v1�h�"�+YF�b�,�
�����	��Ї��FhI(tЍ�{	�D�)��
�{D#�p�(c�!��6�D����� |�mږ�M�tq�n[�U�E�q�o���dgtp���s�H���	9�{�=���Öꀪ��ΐp#W���xի#�g���˛��Ou��b
LJ^)l�'��.۵>��K�Xn���NӰ1�>A��R}�3r e��i����Z|~���I���>��(�GX�?�F��!��ꮨ-~>~K�!kZ�RM�W��E�gv�7~�w������=��0m��Ӝ���@A$�7�����].��z�]������:�~08���Y���}_�
#�U_���th
+ O>�m^u��'i�~9���_2QQݝ�4�����/��:/��+���O�P���It�r7�6-%��X���}]��i��Vc���0����{����_��oX�f
�諱�B���
+endstream
+endobj
+2330 0 obj <<
+/Type /Page
+/Contents 2331 0 R
+/Resources 2329 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2319 0 R 2320 0 R 2321 0 R 2341 0 R 2322 0 R 2323 0 R 2324 0 R 2343 0 R 2328 0 R ]
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 696.002 288.441 706.906]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.256 696.002 425.436 706.906]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 670.099 282.901 681.003]
+/A << /S /GoTo /D (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.717 670.099 393.884 681.003]
+/A << /S /GoTo /D (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) >>
+>> endobj
+2319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 125.617 260.24 136.521]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) >>
+>> endobj
+2320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.458 125.617 380.767 136.521]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.693 125.617 513.996 136.521]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 113.662 150.214 124.566]
+/A << /S /GoTo /D (group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) >>
+>> endobj
+2322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 86.288 261.336 97.192]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) >>
+>> endobj
+2323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.554 86.288 381.863 97.192]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.789 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 150.214 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga43246761a1030d751e756845a246bf68) >>
+>> endobj
+2328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2332 0 obj <<
+/D [2330 0 R /XYZ 89 770.89 null]
+>> endobj
+2333 0 obj <<
+/D [2330 0 R /XYZ 90 711.269 null]
+>> endobj
+2334 0 obj <<
+/D [2330 0 R /XYZ 90 685.366 null]
+>> endobj
+2335 0 obj <<
+/D [2330 0 R /XYZ 90 643.897 null]
+>> endobj
+2336 0 obj <<
+/D [2330 0 R /XYZ 90 569.405 null]
+>> endobj
+2318 0 obj <<
+/D [2330 0 R /XYZ 90 547.029 null]
+>> endobj
+2337 0 obj <<
+/D [2330 0 R /XYZ 90 547.029 null]
+>> endobj
+2338 0 obj <<
+/D [2330 0 R /XYZ 90 446.903 null]
+>> endobj
+460 0 obj <<
+/D [2330 0 R /XYZ 90 276.472 null]
+>> endobj
+142 0 obj <<
+/D [2330 0 R /XYZ 90 269.063 null]
+>> endobj
+2339 0 obj <<
+/D [2330 0 R /XYZ 90 170.845 null]
+>> endobj
+2340 0 obj <<
+/D [2330 0 R /XYZ 90 142.666 null]
+>> endobj
+2342 0 obj <<
+/D [2330 0 R /XYZ 90 103.287 null]
+>> endobj
+2329 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2371 0 obj <<
+/Length 2340      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~ׯ@�%d�9�3 �OY�J)��ZK�<�)DI$�a �����s�(�6�͖�`0����cz��������y{v~`/B��»]y�?B\���{?���۟=&BD"�ы�on_���Q��^ݞ}<#�
+{�|�Qz������[���
F,
+�=)�|���n��}�-+ëf-d^�	_�Fh�p�� B
��I-��r<�s���eD;�0�"rl/���ץ�ff�:�H4��i�.�"��<3OY����jd��"J}G�:t��
+�]���
;'[�l.9pZ>$�����x~)���QF�ܛ���?P�{_y�g
�|Ym��Q˵��;=�DxR������v�����F�kY�yV�e
�!e����^Қ�&0B�
#��b?��݋���Fv�| �
@q���ͧ���`��K�m�O�'�Ά0f��=��(
+��S,*���{��1�X \�`�#�
t��
	k�i@�����VZr����q������26֣��������ؑrʂ��
H?�R�N����3�Y��O����������/Cbj�	qnuy(x(E§=���̔����
\��J��^�'�]N}<Y�`�ͬǢ
�a� ;q�����n��*/S�T�M������a�6�*�pL���QIj;���V�2�a��Z,%�}\&1����A1�u$���a�@ԩ���M�-d��
�2��Ԋ��U�6�V�x� \�z��h8�w����,����ͯ�\��N]��R<�i���lm�ؕ`xY}&W �"�[�	�%Wd��N��|5��:Q�]$��o�3�	 Je��ɂ�dQ*�S���H��D�
�&x�_�'�����$a���
���]-��k׽���w2[�=4��!!x6�O�C"�x(��r�������;&�_kە�z�k��e�a
+�X�u^��k��h���[��XU�Z�P�A;�ep'���eQ���j�ys�$Т�:��|�]���!�~�,m��psg�i�e&�v���3p�
u�Cq�
h(��9����AJ;�e�����
C0��<��HH����¿��0��}JeJ>�+��A�W5�+�}E����]Z��VʐzDy�����=DMx���z�zR
ң��
q�`�%BT��/{<D�Ji��k�� a	B�% �кʊ]}�vW�����.[���z����(����;�$�%�|�*�`���Q�
�d���u�z�� �B4��=�Oc�Qؐ�U��wc^�(�������2
8Nc�Ց���z�ʈ�+]��hvL�Z�o���s�<h������ЯMװ{��jn��� Â�v�0�b�#&����b�x
2
1
v!�6�uS�A#0ϊ�ص
��|1���Z�����N���}T�t�$G�a�,T
+��
��|��
G�>�G�lᨧ� �pz��H��,�gi���"I��]Z|��cm�'$2������x0i
�2�K�5Ym��:难0����2;����K��
��l�������H�&�	�>,m�x�eX:
�@%`�gĐ (�z
�B�Che���)�}�ˀ�(WP��ob
+��@�(X����?��0�R�q�����T-ʤВ?S
�}�|�i���x�ՠ]�jJ�~_v-3YB��&���n�MwV���
�1+���>b�a�X�\����
g:H�|�R�(v
9�;��z�c�=U����7�܂��"z
��gO���م���^�]�g+�&���`��:h����A]��!?k����څn�}W'�gc������Õ�C󍌗��A9h���- at mabV`
�oL-~���x��#آ����XO��3��$ޜ�� >���-
+��F��)�U�T�
Y>P
v��aY;�姄L
T��LF�P�O��$lP���c�bdM�
O���Uc�o�̟6r�;!6V���-%%'�=
+Q�E���y�.�
	q�u���]{ldi�&��O��c��t
O���$�+
aLt��wr�d��PO�������҇QA���y�2��P�V����sn@�d�nt��z��ǭ^���x=s��d�h

1w,����xP�k�|U��&�]��t~�P5�PM��/Sٞd5jFO�V����v���M�NS���U��I�M��IV�q��p�{KI%T��
�K�·~�x���
�I����׹�/�7v��*e��
���f at o��6(
+ 5��(�
�zvN?g__�67��:�ֻx-��
��_+Y~�2�E��l����U�@6Z�����=
���
�6���,I�|�C�t%Ȧ�����vk(��ha��>ۏ���h�[�i^6'���
��hh��x��
+endstream
+endobj
+2370 0 obj <<
+/Type /Page
+/Contents 2371 0 R
+/Resources 2369 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2325 0 R 2326 0 R 2327 0 R 2374 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2377 0 R 2349 0 R 2350 0 R 2351 0 R 2379 0 R 2352 0 R 2353 0 R 2354 0 R 2381 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2368 0 R ]
+>> endobj
+2325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 695.23 275.174 706.133]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) >>
+>> endobj
+2326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.392 695.23 395.701 706.133]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.752 695.23 513.996 706.133]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 683.274 157.975 694.178]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 655.827 229.835 666.731]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) >>
+>> endobj
+2345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.65 655.827 350.96 666.731]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 617.42 300.628 628.324]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) >>
+>> endobj
+2347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.846 617.42 421.155 628.324]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.206 617.42 513.996 628.324]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 605.465 138.04 616.369]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 578.018 236.839 588.921]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.056 578.018 357.366 588.921]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.416 578.018 513.996 588.921]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+2379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 566.062 183.419 576.966]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+2352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.324 527.656 229.237 538.56]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) >>
+>> endobj
+2353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.455 527.656 349.764 538.56]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.815 527.656 513.996 538.56]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+2381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 515.701 183.419 526.605]
+/A << /S /GoTo /D (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) >>
+>> endobj
+2355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 442.308 258.185 453.212]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262 442.308 379.309 453.212]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 417.301 261.502 428.205]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.362 417.301 442.671 428.205]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 392.293 266.483 403.197]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.823 392.293 437.132 403.197]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 367.286 272.57 378.19]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.386 367.286 393.695 378.19]
+/A << /S /GoTo /D (group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 342.279 267.031 353.183]
+/A << /S /GoTo /D (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.847 342.279 362.144 353.183]
+/A << /S /GoTo /D (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 155.374 500.327 166.278]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2372 0 obj <<
+/D [2370 0 R /XYZ 89 770.89 null]
+>> endobj
+2373 0 obj <<
+/D [2370 0 R /XYZ 90 712.265 null]
+>> endobj
+2375 0 obj <<
+/D [2370 0 R /XYZ 90 672.863 null]
+>> endobj
+2376 0 obj <<
+/D [2370 0 R /XYZ 90 634.456 null]
+>> endobj
+2378 0 obj <<
+/D [2370 0 R /XYZ 90 595.053 null]
+>> endobj
+2380 0 obj <<
+/D [2370 0 R /XYZ 90 545.145 null]
+>> endobj
+2382 0 obj <<
+/D [2370 0 R /XYZ 90 457.163 null]
+>> endobj
+2383 0 obj <<
+/D [2370 0 R /XYZ 90 434.039 null]
+>> endobj
+2384 0 obj <<
+/D [2370 0 R /XYZ 90 407.337 null]
+>> endobj
+2385 0 obj <<
+/D [2370 0 R /XYZ 90 382.329 null]
+>> endobj
+2386 0 obj <<
+/D [2370 0 R /XYZ 90 357.322 null]
+>> endobj
+2387 0 obj <<
+/D [2370 0 R /XYZ 90 316.95 null]
+>> endobj
+461 0 obj <<
+/D [2370 0 R /XYZ 90 207.631 null]
+>> endobj
+146 0 obj <<
+/D [2370 0 R /XYZ 90 200.337 null]
+>> endobj
+2388 0 obj <<
+/D [2370 0 R /XYZ 90 119.71 null]
+>> endobj
+2369 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F82 260 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2414 0 obj <<
+/Length 2384      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�H~����e����W��O3�d+s��f����
$3�@��~O߀FHQlMvj�U4�}.��+�`
����__\��p �
i\����K$B�K���Q:_��l�-n��)�Uy�6Yko���Z
\١��.K�9�gUy��ʦ��۬Nڪ�i��|A��)ah�,3s�.[ezIV�!���b���Nj�/>^`�0(P����8Ha�� #&��^O��2�-�_/�y���x(s8�����""b���RC�-
�/(D�Ê�zm�z�'i�Tfs*f�7o;MUz�Ӓ�Оv�Ն�a��4��Y2
�A#
����B1�N����5�=Ea
��!���=R&G2&n�6o�}�m�o
3`I�!W�!F1�
ETH���]^��Hb~@�d47���k%�z����.)Ssq_�S�;xXX쵕��Nq�)��E��i���8���p��j&yb�&�
4R����(B�F4���@�Y����܇��0��t�$b�b���|qX�S-�a�T
1$��#[; ��`{<�RG �g
eYm�U��@/��ͩ�q��)v��sM����}ޔ����b`AϷ$�'��1Zo��Z��&0v��
��Aw��3��ms
�?Q��Nw�CP[��]����p��8�@�L����{;ۘ
f䛭?/����n�,��d9V'[¤���9M�qg2���4o~ߕ˶9b��W��Ś2�"qbTa!C��3�'�ᑁ�Q���Y������
+�k����6qs;�g.(��������?<�<FP/��4�4,Ҭ��������k��S0�,?��T��SR�iҥ
lr��1A�?ż}9u�pI:?���v�M�*;
�fgr��eUۜc[�i��Xe-�&�yQXX+C����.)����Y�d):�0��^"��� ���+[��5/����K3��ثl06*n~�|�e�z.)H�
��a��UH�bq�J�˝e��J|�%�TY
1��	�qB�p�
�:�R�r�d�E�tzr�������=�nW��T��7Ih���N�¸KNT1���~P�*
:�f�+�
\|��*
�H�]]�N�
�@|b� �*���b�9v��h9��1�=�`�h
���J�pɌ�m�,���$�O�`gM����KO��4��x����և�q|D����,e%y��< >�WxR*��g:�
EGc_
[�Q�L �v͗�$��F��xO(�TNp�X�W��
6|8ZgOh�u
�x���o�vW���:��m5X�)3w�����+�Y�25��a��)�^6URH09��0a
P
��bR�S���"<��7q��bK��o��†w�
[A�3P�՜�F7O���q��):��� w��A8
+uZ�G
Z�P�U\GB���"��֫�M�"S�4��Y���ͫ��(G�[ή� ��k���|�<le�W��6�[G����W����9��M�o�t
+�3���6���u���

����Z}�Pڛ�V)V��r�|}��r����
��sSi���Ɛ�b�
+����{C��cٽ9�o
+=ቈP̨ފ`�@�u�D'�K q
�!F��9!���$
 "�
\PFQ���j�$����,$�^"P�L^(���f1����#D�y���$�,;>z{��2�,
+gD �G��5�|#QA�B����e]���׮��W%�ևA}#�惏��2��8�|��6�ECˉ���
ڒ~�-$�$����HZ��G,�������ǵ�g�����X���'�
����6����D\и�
p��f�
�c��u��$�8��8�%е<^��#$
���U
�/�H�g`NNX5�T�����PR��vۡ�$O ��K�_��
+���b�!�-?H~�F8�U�/mLQL�c��P�v&�ۧ@�iM�.MvP��
�nͰ%E� }0S��߳e�r��Ɏb�.Z��
�-��F9��5�
S="�H�C��
+C�26�$��"7�g��6��8���B9����J�q��H��bB�����G"*;e7wծH'� �w#e5i-�DG�63��
���k�x=�(q3^�ƵnZ�[ӴV�]jۜ�~s��w�w��95���:��G%���A�H(�j7"���2X/��߾�����{�>��w��:+�O�\:]W����(
k
��wi���[�i8��ϣ$>^�_�x|��z�?F
��?Fs����#��
�Y!�߾��\\����r�K����9Ow�j��۹3��_��1��-���H�*���0���̵�p��
m*=���r����m�///ow�&+�h	Ǵ���Q�p�"������7:ȥ7N��3u���I��d����~�ځ�7��� ���
�+
+endstream
+endobj
+2413 0 obj <<
+/Type /Page
+/Contents 2414 0 R
+/Resources 2412 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2366 0 R 2367 0 R 2417 0 R 2389 0 R 2390 0 R 2419 0 R 2391 0 R 2420 0 R 2392 0 R 2393 0 R 2422 0 R 2394 0 R 2395 0 R 2396 0 R 2424 0 R 2397 0 R 2398 0 R 2399 0 R 2426 0 R 2400 0 R 2401 0 R 2427 0 R 2402 0 R 2403 0 R 2404 0 R 2429 0 R 2405 0 R 2406 0 R 2431 0 R 2407 0 R 2408 0 R 2433 0 R 2409 0 R 2434 0 R 2410 0 R 2411 0 R ]
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 707.957 374.218 718.861]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abcb586fdbb2eb01ec10c0eb941f4b7f1) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.436 707.957 513.996 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 194.603 706.906]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 673.476 458.332 684.379]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002) >>
+>> endobj
+2390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.549 673.476 513.996 684.379]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 661.52 298.403 672.424]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.308 661.52 513.996 672.424]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 649.565 168.591 660.469]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.278 627.039 381.627 637.943]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) >>
+>> endobj
+2393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 627.039 513.996 637.943]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 615.084 192.402 625.988]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.738 615.084 429.869 625.988]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.757 592.557 374.504 603.461]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) >>
+>> endobj
+2396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.97 592.557 513.996 603.461]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 580.602 185.757 591.506]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.093 580.602 423.224 591.506]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.377 558.076 382.529 568.98]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) >>
+>> endobj
+2399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 558.076 513.996 568.98]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 546.121 252.167 557.025]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 492.95 404.325 503.854]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d) >>
+>> endobj
+2401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.543 492.95 513.996 503.854]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 480.995 257.148 491.899]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.167 480.995 367.573 491.899]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.545 458.773 397.746 469.676]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) >>
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 458.773 513.996 469.676]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 446.817 240.541 457.721]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.209 424.291 401.064 435.195]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) >>
+>> endobj
+2406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.983 424.291 513.996 435.195]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 412.336 245.522 423.24]
+/A << /S /GoTo /D (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+2407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 389.809 398.267 400.713]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) >>
+>> endobj
+2408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.485 389.809 513.996 400.713]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 377.854 257.148 388.758]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.287 377.854 513.996 388.758]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 365.899 134.838 376.803]
+/A << /S /GoTo /D (group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+2410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 288.737 500.327 299.641]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2415 0 obj <<
+/D [2413 0 R /XYZ 89 770.89 null]
+>> endobj
+2416 0 obj <<
+/D [2413 0 R /XYZ 90 721.073 null]
+>> endobj
+2418 0 obj <<
+/D [2413 0 R /XYZ 90 688.351 null]
+>> endobj
+2421 0 obj <<
+/D [2413 0 R /XYZ 90 641.462 null]
+>> endobj
+2423 0 obj <<
+/D [2413 0 R /XYZ 90 606.98 null]
+>> endobj
+2425 0 obj <<
+/D [2413 0 R /XYZ 90 572.499 null]
+>> endobj
+2428 0 obj <<
+/D [2413 0 R /XYZ 90 473.196 null]
+>> endobj
+2430 0 obj <<
+/D [2413 0 R /XYZ 90 438.714 null]
+>> endobj
+2432 0 obj <<
+/D [2413 0 R /XYZ 90 404.232 null]
+>> endobj
+2435 0 obj <<
+/D [2413 0 R /XYZ 90 332.03 null]
+>> endobj
+2436 0 obj <<
+/D [2413 0 R /XYZ 90 275.923 null]
+>> endobj
+2437 0 obj <<
+/D [2413 0 R /XYZ 90 253.631 null]
+>> endobj
+2438 0 obj <<
+/D [2413 0 R /XYZ 90 253.631 null]
+>> endobj
+463 0 obj <<
+/D [2413 0 R /XYZ 90 72.893 null]
+>> endobj
+2412 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2467 0 obj <<
+/Length 2175      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s��~���%䌸��%}J$;�$u][}r<*L��	в��{�� !
+�hM����b/�����h����OW��
+GIet��
�7HHx�G��RN>\�1�1�֋���z����6zq5�4"�	GďH�h�
����94�aČ�n]�u�)��U�n���`D�}��0M#B��V��+!��(�L	�x�٬	!L".�ð9FCB�����	�s�Z�̈́�q�fe��=�+��`�Y]S$��Y}B��6�ڿ^*(��s*(5HkѢ�gI��ԧY�D���{e9��I����YF JNĹ�Hc٢#-�m\��Õc sy��`Xk�Z��'j��L)��W���g�}�,�[�M2h��U�u�R����r?/< ƍ��j���n�0���8����.��i���0�
��l�_A
I��<-�e��q�"�(���.����<�޻�`��o�Y�Ä
+�p�r�+��<�.�e�C����qm�є$%�
�MVq�̽�^�l
�
�"~��X��y�T��e-�"4������:YL�
�"���nh�g�QVq 2ظ�	����t�'~��e��Ƕ���ˤ�~�W���J�Ô��ا
0��~�2ŜV��)s�v[ֵ�S�	����g�b�F
<��ۛg�^��숆�=�p���U0�
cf{w�Ǒ�>��<�b0E
�$w��8��1�H�n�O�t5�,3 *���ֿ��n�-��w~�����7�qU7�
:t����_8�����G&�$���Aߩ�
����:�8Lm�o���OA
�_����6_ߏ?.���
V?
G�G0AB�G��a�;���Q�*�2�S�
ƺ��A��XW�b}�o��0r�E	�^լ�� �J���0�H��a�v�D���
�� fp|����y�e�uW��}[_�
�Mqv��8�7�p]��}�X�ʘ F�(a�S��]�$��Cm�wU�޷|���B&�]�u*J��*1kҵE�O�|ڹı��0���u���>�v�0���F��G�!���'Azj=��?�F�&.�v�ʡ��P{a�N�jF�^|���2yJ:=̅�	
�T4>
��2��>C�3��X^�?D�C�jH�ե�}څGR'��Mf_�L�.�;�
t���ې$l�l^��Ж�A�j��t�
+X����d�.^��j��7x��E2GC�ũ�`��`�A����8Y��l�Յ��7�����^�k�/>�i輚
+̹M�g�,�&��'[����i��~����Z:�ŐA�!�B��3xbl*+�U2I�Y�.�f�~h�� �Tc�}F��ujo�ڔ�� �B_�^d��ݪ�����{�FBֹ���f��
��;�����yf[H�ؽQ?{n�mC���ϲ�
;� ������W��>9)�K��
)�p;�	���Aij���JH�v
)ƞ��-�(���1���% O�'��
�אc
��'�_���[}X|�������v1��mr���ω�|���L(��2�t�?: �^��t
3��nX_�F)A�՘�҃z�TS��ټo�K"-�ݷ�$U�l�r���dʹ����{�3~�\����"��4�qt!m�s�r�	��6 3��R�Q3"��2)�tU�]&�l�n
:K���Gm|O�4���6�����1�W��=�qA��lg=w| �6
]9�Ukե�|Q�
�!�rB�ݼ8rnK!S6�{���K�f�r�}�� �X�0�Oi��_�i�2{:�A��D��0�N� ��C������R.eNA��y�n�q� 1�\���2J6
�]��\pȯ�tg�@���欨��6}
��W
E��:�Ү��B�qM� x=>�ET�h�~
+v�C'�`�9x���Z,��97�Z՘�B�E	/����eb�w��s ��k;���3���}8�YVaL�
뺤�6.����:L`e�� ��$���2�.�[�Z?CHW�-Z2��@;)�^7��[Q6���@��?A
�D�#D��=��՘�p�j͢�
&k���|�fBg���6���2��Zԧ�<߼��?\����l���I�'go�X㊫���������g�G�gk⟭�K�/�-N�N0ϻ������Q�����j�nM5���MYn~8?��[I�D�|}�f0�����әu^݊I3h\��~��� ֟Ns
+endstream
+endobj
+2466 0 obj <<
+/Type /Page
+/Contents 2467 0 R
+/Resources 2465 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2289 0 R
+/Annots [ 2439 0 R 2440 0 R 2441 0 R 2471 0 R 2442 0 R 2443 0 R 2473 0 R 2444 0 R 2445 0 R 2446 0 R 2475 0 R 2447 0 R 2448 0 R 2449 0 R 2450 0 R 2451 0 R 2452 0 R 2478 0 R 2453 0 R 2454 0 R 2479 0 R 2455 0 R 2456 0 R 2457 0 R 2481 0 R 2458 0 R 2459 0 R 2483 0 R 2460 0 R 2461 0 R 2485 0 R 2462 0 R 2463 0 R 2464 0 R ]
+>> endobj
+2439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 683.608 476.806 694.512]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.328 584.215 350.026 595.119]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) >>
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.064 584.215 513.996 595.119]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2471 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 572.259 168.591 583.163]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.059 548.718 407.858 559.621]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 548.718 513.996 559.621]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 536.762 226.155 547.666]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.136 536.762 470.267 547.666]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 513.22 353.845 524.124]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.063 513.22 513.996 524.124]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 501.265 134.838 512.169]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.174 501.265 346.293 512.169]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.093 477.723 346.828 488.627]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.63 477.723 513.996 488.627]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.933 465.768 336.051 476.672]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 442.226 355.648 453.13]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aacb1e10c50be6e9dd36e3aed93c7a222) >>
+>> endobj
+2452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.865 442.226 513.996 453.13]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 430.645 168.591 441.175]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 374.307 378.312 385.211]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) >>
+>> endobj
+2454 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.53 374.307 513.996 385.211]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.352 219.51 373.256]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2455 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.528 362.352 329.935 373.256]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2456 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 339.622 371.697 350.526]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5) >>
+>> endobj
+2457 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.915 339.622 513.996 350.526]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 328.041 168.591 338.571]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2458 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 304.125 373.351 315.029]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6d38a29d74f5992815fbdf006) >>
+>> endobj
+2459 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.569 304.125 513.996 315.029]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 292.543 168.591 303.074]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2460 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.757 268.628 374.504 279.532]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942) >>
+>> endobj
+2461 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.97 268.628 513.996 279.532]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 256.673 219.51 267.577]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2462 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.971 256.673 453.101 267.577]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2463 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 178.52 476.806 189.424]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+2464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2468 0 obj <<
+/D [2466 0 R /XYZ 89 770.89 null]
+>> endobj
+150 0 obj <<
+/D [2466 0 R /XYZ 90 721.073 null]
+>> endobj
+2469 0 obj <<
+/D [2466 0 R /XYZ 90 648.273 null]
+>> endobj
+2470 0 obj <<
+/D [2466 0 R /XYZ 90 598.992 null]
+>> endobj
+2472 0 obj <<
+/D [2466 0 R /XYZ 90 563.847 null]
+>> endobj
+2474 0 obj <<
+/D [2466 0 R /XYZ 90 527.897 null]
+>> endobj
+2476 0 obj <<
+/D [2466 0 R /XYZ 90 492.4 null]
+>> endobj
+2477 0 obj <<
+/D [2466 0 R /XYZ 90 456.903 null]
+>> endobj
+2480 0 obj <<
+/D [2466 0 R /XYZ 90 354.299 null]
+>> endobj
+2482 0 obj <<
+/D [2466 0 R /XYZ 90 318.802 null]
+>> endobj
+2484 0 obj <<
+/D [2466 0 R /XYZ 90 283.305 null]
+>> endobj
+2486 0 obj <<
+/D [2466 0 R /XYZ 90 221.813 null]
+>> endobj
+2487 0 obj <<
+/D [2466 0 R /XYZ 90 165.478 null]
+>> endobj
+2488 0 obj <<
+/D [2466 0 R /XYZ 90 143.101 null]
+>> endobj
+2489 0 obj <<
+/D [2466 0 R /XYZ 90 143.101 null]
+>> endobj
+2465 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2516 0 obj <<
+/Length 2416      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��6�ϯ�m�����]'��ûg�r�SS
#1K�2IY#��4^)Q�
OR�IDw�u
� ������իɘ���} q�D����m� M�c
�V������˶Q�{�
nT�^��b�PY=!"���6�O����U�}:S��W��*u!��0N&��|�����
*�X�8JD0[^��4`Ĥ6��2�(�k�|��v�uWD���g��=��DGAB��5�?U��&�c]����EJ�
�pŌ�o��0!
�3�8l�z��c�L��r�8|��Gyk�
G���KcGL��IXV�tV�Mk�s�ݴ��I��Kh,�T�'&8/������U�.��5:]S{Y�eV(����+kA_=�cģ��gu9��FHH�{ey�ۺ��h2eB�7
0
�	�
�.�
� �y�f.�;5K׍��u������:��i��R�ekی
�]QT�Í}�����~�*��aLgi�W�m���dب�k����,��;̱Bstil�C��Y]�Vve�Ij� X�)��M�E^8���.PݹV�}�嵚��~�~c���돇��vө���v/*4D� E{�z �\BZ;� �Ӻ��~�(F���z"
�VOLĜ1����H��s����}t���͋��Zg)Ufe�e�f'��d�&��.��o�/��1�8u
}ﵖ֩��,�d�{�:�v���@��$�H9t)+�2.ӭ�XC,���O�<K!�A{��qp��U�*��u+:��D0UD��K���&���WdcCB(��j4�%��Nԝ��d��V/�y0>_la�#��1�Z�3�
7f!��~�FI��y�8Bq���w��	�'Zd��>��1�٭��	�K@ C���p�����5λ�} �Br����J�Z�|�1O��\�:���#��rO���G�NU

+�b�ŀ�(b���ba�}G)�z;�� ^��BY�`�
����'�1Q>�+�>a�ON	d��T�<*�.����S�DQ O��F�k
�
�� '��{��b&��OѮ�/�jP�䓨A5���rD&KP,�FdD��1�
m���\G�C=$G�<��R ��"m:IB

*�
���;�4p/XA
�C�F�罛���v�
V�M9H�
�
��a��c����K�@�
����
C�N[�!
��<��*\�_u��0��$�egE�v�4���1l��%)jy��	A��
��
#&	F����w5�7���Yϥ������4?=P)D
�D,y$fj>e��S�s��oL"]Y5���������'��ok���<Ӎ���<#���3$NM2(�`0���`��k(
$�8�!�5��}�i��>��>��Ab���e�d�~�jl��^
����eh}��Z��2-���)W�p0��P��Q
���ɭ'
�Q�.3�j�ɐĀ�� �[!���q�&�������z��1/�*ݺ��ѠjE	c~���!):Wh>��ښ���&�i�K
5����� �;���Q��y�zK?
�Y���]�$�=N;
Ib���
G�3y�\A at l�\WR[�^Ӝ��P�����KE
>\
�*�ψ�xXȌG���7�]�>����i�6��ve�."�:�z���}WCu����#u8xqJ ��C����+ef��'�<�D�B?�vD0�+I�nǴ�7!���Yo��d����`����!p ���_
0�/�'� ǸB���R R)� nds��aP����4�n���}9��3��+P�S��x���Ҭ�ܜ�,;Eo�|�m
�����8���{�G]�>�bD
�y�������yT�I��Ǯ������A͸����T����M�m��t�����G#����@Q"��>
�9<����n�p��z�
#�%����2E��wgx�|��m�&��=n8
+�H�d���5
�K��^

��Y�ޚ2n���޸C��$O
7����$����~�' ?���'���&��2��UйZ@(Ҧ�{X#�Ѽ�����������?�y݌ar4�vqg
���q����aJb��[�X�-ևY�Δ��0;"P���[����_���'�M}�~P��nC��!�yݝӚsoA�4X�>[۪ ʘ�H��R��s�7��5���74�w�Ɖ�FO����Ѱ<A�
��Eո֫
5����T�fo�&]����Z�(�����˭y��)<V�4�E�}�.�
z���I1�8���3�
M���H&@G��VQU��;&����
��ˏi9_�s���jp<��F��p��<^�eW���cݩ3A�r�`���w}k���Å�`��>Ϥ;V�h�Ջ�����Q�
�lB|�1�#���ز�����t
�CA?�
C`p3���#L���
�{�����[��
+b������
+endstream
+endobj
+2515 0 obj <<
+/Type /Page
+/Contents 2516 0 R
+/Resources 2514 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2490 0 R 2491 0 R 2520 0 R 2492 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2522 0 R 2497 0 R 2498 0 R 2499 0 R 2524 0 R 2500 0 R 2501 0 R 2526 0 R 2502 0 R 2503 0 R 2504 0 R 2528 0 R 2505 0 R 2506 0 R 2529 0 R 2507 0 R 2508 0 R 2531 0 R 2509 0 R 2510 0 R 2532 0 R 2511 0 R 2512 0 R 2534 0 R 2513 0 R ]
+>> endobj
+2490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 396.587 355.997 407.491]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) >>
+>> endobj
+2491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.215 396.587 513.996 407.491]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 384.632 134.838 395.536]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 362.116 313.596 373.02]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) >>
+>> endobj
+2493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.814 362.116 506.192 373.02]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 327.944 524.463 338.848]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) >>
+>> endobj
+2495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 315.988 317.79 326.892]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.052 315.988 513.996 326.892]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 304.033 134.838 314.937]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 281.517 524.214 292.421]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) >>
+>> endobj
+2498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 269.562 317.79 280.466]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.052 269.562 513.996 280.466]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 257.607 134.838 268.511]
+/A << /S /GoTo /D (group__Datatypes_ga82657533544652eb3ec1334a72da137e) >>
+>> endobj
+2500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.92 235.091 350.434 245.995]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52) >>
+>> endobj
+2501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.064 235.091 513.996 245.995]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 223.135 134.838 234.039]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.174 223.135 248.581 234.039]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 200.619 352.898 211.523]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) >>
+>> endobj
+2504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.116 200.619 513.996 211.523]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 188.664 134.838 199.568]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.098 188.664 371.229 199.568]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.595 188.664 513.996 199.568]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 177.083 168.591 187.613]
+/A << /S /GoTo /D (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 154.193 356.774 165.097]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.992 154.193 513.996 165.097]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 142.238 134.838 153.142]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.33 142.238 371.46 153.142]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.597 142.238 513.996 153.142]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 130.282 231.136 141.186]
+/A << /S /GoTo /D (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+2511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 107.766 363.389 118.67]
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) >>
+>> endobj
+2512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.607 107.766 513.996 118.67]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 95.811 134.838 106.715]
+/A << /S /GoTo /D (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+2513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2517 0 obj <<
+/D [2515 0 R /XYZ 89 770.89 null]
+>> endobj
+462 0 obj <<
+/D [2515 0 R /XYZ 90 549.118 null]
+>> endobj
+154 0 obj <<
+/D [2515 0 R /XYZ 90 539.893 null]
+>> endobj
+2518 0 obj <<
+/D [2515 0 R /XYZ 90 458.851 null]
+>> endobj
+2519 0 obj <<
+/D [2515 0 R /XYZ 90 411.561 null]
+>> endobj
+2521 0 obj <<
+/D [2515 0 R /XYZ 90 342.364 null]
+>> endobj
+2523 0 obj <<
+/D [2515 0 R /XYZ 90 295.938 null]
+>> endobj
+2525 0 obj <<
+/D [2515 0 R /XYZ 90 249.511 null]
+>> endobj
+2527 0 obj <<
+/D [2515 0 R /XYZ 90 215.04 null]
+>> endobj
+2530 0 obj <<
+/D [2515 0 R /XYZ 90 168.613 null]
+>> endobj
+2533 0 obj <<
+/D [2515 0 R /XYZ 90 122.187 null]
+>> endobj
+2514 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F72 194 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2555 0 obj <<
+/Length 2321      
+/Filter /FlateDecode
+>>
+stream
+x��YKs����W��J
�������8��U*��
"�$l�pi�O�L^�9�r�	�WO?���d3��?_�}��y�IL����$��P�D0ZM>N�h�����"�� �������`֮�{�����0w^�0�,wW?��
+���P"�hr��v�<�ɇ��]Qd��̫y c0�a�q.	���t�N�I���l�y�jY��:-r˟���}Е�N�@Bq�q���^W at D�i������/
)�_�{��ڽ<i^W�^<3��G]��-k�����y�W%��V�~�˺"V��	
I �;N
e��t�#hfV�.I
+�I�f�p?��I^�ImTaW���:�5�7n.��[�J�M�8.�3���n�3��w3�d+�3�,ݹ�.v�.�x��F*Fb�R�6(���y�^�jz�3{�Vrm����;�w�i���M�'����	7?��j@}S��
+�e��)�o����k7p�޺�o���Ҹ��R�K]-{536ӫ���:�������E6c�L/�Z8���*�z��6ZK��ӵB]��$�ܱm2�t��Z�,�@|Z%;�\퓥��@�f�F��ҕU2�:�t���'F�<�&%�p|U@�&ON[
�e+ ��>fF
3�Vm��MF3�mQ!�U�<�&�Zs�̋QC��

.�t�K��*��`��\��`5ɪ���1�gT� g��K�怿�X:j�����`z���I	�8dI9���J�\�5��-2���(6""�ֱ��i����.ͽ޺H�H��B���! 
�q�vC��!r�@L
Ah�z�@��Lu��
��Z�Q��
z~��}
�����$������Ӝ������;��8����}�Y����(R��
33�����1%4V�=6��c��3no
�\p
���
N�
+�\܎\)"Xg�RB��ʝ�m22��>�g#
+HL/�F�(�Q�_f�Ȧ
�?s��A�����8�b	%�ۦ>����_�[��P��[Ԏ|
v��Y���
�cd����P@��<+
��nR ,網�O�6�`=�=$c��ಳ�ō���#�B�fO�eLBAX�Z2��Ez��ʵ�>��>�+HA�
�_�Jh���t��.Fn1��	�=�L)��A���{��
H�i>&
�q�n�ؕ.��rzڅ"C��"��BcGྨu�ƸYDB8K���
���ٵ����n3�Bd^��!_%9��X���+��-�]�;�.�X��@2�Q�0�4 at m1o;�H�	8m�
�|mbk3�ގp}�s������
R��Y
k?j��L�ӟ�S)��D2�3窿��\Qӿ��"+(�_�����Y��N�l�¤:�K
R!4��#�,,��:
0	�QJK����ºɅL.�Hl���3R'3�k
��Y�:�ۂf
kP��K}
1�#|�N��.{��
+6i&rS�bCc
+G
3߼��Zo���^�ć
S
(XR7"V8��~.�t
�m��q}q��b����$�򰄒|h�7U�nr�p
&T�%��9�!I�.b*·��`ݴq�r�^��� ���En{����ba0fa{Ņm�a%�|i2z�%�!Z��iA)��:M�=�!�G�-y��g�
�e���z�9����m�韆��n0��n_?��L�P�@v��<��if��Pُ�uD3i���و�g�
+P���-�v��W�
+˗.#!�d�[�@���
�
+^��U۟�{]�gZ�
�\�"40��Q��y�j�'��-(L�)���ȑ@4ԬF�A3"�
w��W����Z;�]D� �AS[��3k�z̮_�^3��w̞
�6?��q���R|��
��c
+h�\�o
�~�d�
�<�lz3��a�br6� |���Pu���߂�D���>�țӗ�
qE�+0��C8��ƪa�#I�/e}$��8��^3dd�/c�0:q6��o6`s��b��ފ�0��
aA�AKI�Dⷎz#���EXv5��K��n�z'Ƅ�"5�3
+<spf
ُ��G�7+�h�aD��hY
�z
η�g��J
�}�J./��1�0`�b$T��{]/E�0���
:z�?����A|_7�l�-O���\�z������M+M��
�aJr���ղ:����݀�������
�����o�R��.v��?�7w;1yW ���
��[���%$����9����<<��kmH��!�������W�����gt�&�!���E�N�|�a���@������F��\�/k
��j�q��ۺ�ss�t�T:� ���i�!�A�:M{�+|Ǜ�0����������
+endstream
+endobj
+2554 0 obj <<
+/Type /Page
+/Contents 2555 0 R
+/Resources 2553 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2537 0 R 2538 0 R 2539 0 R 2562 0 R 2540 0 R 2541 0 R 2542 0 R 2564 0 R 2543 0 R 2544 0 R 2545 0 R 2565 0 R 2546 0 R 2547 0 R 2548 0 R 2566 0 R 2552 0 R ]
+>> endobj
+2537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.801 231.929 336.353 242.833]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) >>
+>> endobj
+2538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.864 231.929 415.258 242.833]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 231.929 513.996 242.833]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2562 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 219.974 144.243 230.877]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 182.718 323.001 193.622]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.219 182.718 399.613 193.622]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.942 182.718 513.996 193.622]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 170.763 134.838 181.666]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 133.507 395.359 144.411]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.577 133.507 471.971 144.411]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.3 133.507 513.996 144.411]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 121.552 211.769 132.456]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 86.288 341.272 97.192]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.49 86.288 417.884 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.213 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 169.159 85.237]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2556 0 obj <<
+/D [2554 0 R /XYZ 89 770.89 null]
+>> endobj
+2557 0 obj <<
+/D [2554 0 R /XYZ 90 721.073 null]
+>> endobj
+2558 0 obj <<
+/D [2554 0 R /XYZ 90 573.946 null]
+>> endobj
+2536 0 obj <<
+/D [2554 0 R /XYZ 90 551.476 null]
+>> endobj
+2559 0 obj <<
+/D [2554 0 R /XYZ 90 551.476 null]
+>> endobj
+464 0 obj <<
+/D [2554 0 R /XYZ 90 391.636 null]
+>> endobj
+158 0 obj <<
+/D [2554 0 R /XYZ 90 384.543 null]
+>> endobj
+2560 0 obj <<
+/D [2554 0 R /XYZ 90 301.498 null]
+>> endobj
+2561 0 obj <<
+/D [2554 0 R /XYZ 90 247.204 null]
+>> endobj
+2563 0 obj <<
+/D [2554 0 R /XYZ 90 198.182 null]
+>> endobj
+2553 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F60 172 0 R /F97 497 0 R /F24 169 0 R /F72 194 0 R /F83 262 0 R /F92 331 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2605 0 obj <<
+/Length 2124      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�6��W�R�Ƌ�{�xw�&�d'�4�r1%�V���8ί�n $��-�-+IeJ� t7���@�FˈF�
��]�Q42�$<��������	<ͣcEx<�2J�x�[]��p:ޮ�o��~��x��.��d�c:~�)��"�e��l��>��61)�qb&?]}=����h�ܔ1Q:��G~��
���(FGw��:�\@��ޏ�Q/}���hi�&��
��p�*�cN�׷�j^�@I<N]��&,
��
_��]���AK׶pOk�T�d��}Qf�q�p�l�)�=�曲@�/�
��)Z
�`Ś�>m�aBT]���
~���,TA�o��*�bn�-	kW���l?j��e6�I�)�P##Xhbb��Y 5-}9��1�!�4#�֚�v7C�%�ɪ
�^Q��ś$t�)�H͡ˆ����G��+�0��K�ھ}k��N�����sc�{\_^��J�#�Z�~�ʮ/����]�w�ۙ
+G�Hc��\.��eGE.�]�z�?R*��Z��Ā��zXQN���c�VZЄ��-M
����
qX�Yz�֛F��S�DH�F��	����A�]���k��9�
�#�,]7��X� �u�
�?rB��!�i��B��$�p��5U�ú�
��%l �&I�n#,ġ���!�`���	s$��f/
��~�F/]�o�'΃6��m^ m�mj�I���1��� E�p�p銞�A[�p���	[
+�zMr�˒
��Z�A�1N�T����;��hP
Ji	*e%]�6�޵
p\L��BqŝtL���c�Mq
�b��Oq�:��&�8f�m=��W]�cޥ�Mq�� N$����ŢCo�
N����ޘ
�s�1ڧ7C����E��
�[�rb���Ey4;5c9�h"��� H���Q"%����5O�������,��Ն
;��{̀cpM4�
�
r
MD����'Υ ��30������Z'�)W
��"�?w���vVn���6
EΒ�l㑳���2"<|����!�1(�� c�
�^�<
��XI:P(v)��<�|
��a
.�>e�'� (?V� �3�✤���.����[��Z�l�+�N��ᔵq%��Uz�.wg&,[Kх�L��I��ޮ�Ԫ��o�J�4u�u
@(�����
+( �;���n�yQ,
�]
n
����a�``8�_
�	3/*�-Yx�X��@r�ĢM�
L���~����^���y
��嫕���������������r�����v���;�����'Wv�ȭ
<T�0�
�S�m/
�2X�b��y�[S�z��<����
Y,�"��G�
AD-���o���tl��.�	c5��LIł�D7j5�iT����
+P�	���- aC_)��5;S1� B
ȏ��M��΃�&��]���
8�z��&�5w��
�JKB��깨�
+
����
R��۶8�Q�
��X0{�!Pyfs
+8�	QŁ�����J
+���l���
���/z�\fA%�����/Vz.mM0�O��w.{�kx��.������8���
(!x��E��F�r��,�B��^BE�%��C������/s��I��=�mg�M�k�{�a�\�cg��{߉M>G��,��Yt}�4I�>�EoN�>���,z�I�EWU=��
��
<�W
�1t�x~9%������f��8%�Z�}I�	�3��ͱ��dx��=|��6a
Չ�I8=�6M�)=
�I��,�"KYej��Ӝ�C���
;͝5��r,>GR�+b��\��#��\��9t�iN�,:��
���yt�����$#��y�Nl�7y�Z�&�Ϋ<:���k�0
�%�w���?Cj�I�=���r{��\b<)�w�l?ѧ�(���z(��:�Iqw��v
��}'@���2>��\�m��.ۧv�P�	'��c���_��b���{`�Hl|x{U��ݻoZ��o���6]f��(q�9�E���$��^�o��m��O������NI�� [...]
+endstream
+endobj
+2604 0 obj <<
+/Type /Page
+/Contents 2605 0 R
+/Resources 2603 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2549 0 R 2550 0 R 2551 0 R 2607 0 R 2569 0 R 2570 0 R 2571 0 R 2608 0 R 2572 0 R 2573 0 R 2574 0 R 2609 0 R 2575 0 R 2576 0 R 2577 0 R 2611 0 R 2578 0 R 2579 0 R 2580 0 R 2613 0 R 2581 0 R 2582 0 R 2583 0 R 2615 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R 2616 0 R 2590 0 R 2591 0 R 2592 0 R 2617 0 R 2593 0 R 2594 0 R 2595 0 R 2618 0 R 2596 0 R 2597 0 R 2598 0 R 2619 0 R 2599 0 R 2600 0 R 2601 0 R 2621 0 R 2602 0 R ]
+>> endobj
+2549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 685.646 350.517 696.55]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) >>
+>> endobj
+2550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.735 685.646 427.13 696.55]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.458 685.646 513.996 696.55]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 673.691 169.159 684.595]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 638.036 347.898 648.94]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) >>
+>> endobj
+2570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.115 638.036 424.51 648.94]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.839 638.036 513.996 648.94]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 626.081 169.159 636.985]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 590.426 357.143 601.33]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) >>
+>> endobj
+2573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.361 590.426 433.755 601.33]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.084 590.426 513.996 601.33]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 578.471 169.159 589.375]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 542.816 331.559 553.72]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) >>
+>> endobj
+2576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.777 542.816 408.171 553.72]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.201 542.816 513.996 553.72]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 531.234 134.838 541.765]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.527 465.262 348.464 476.165]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) >>
+>> endobj
+2579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.701 465.262 425.096 476.165]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.459 465.262 513.996 476.165]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 453.306 149.224 464.21]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 415.659 351.773 426.563]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) >>
+>> endobj
+2582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.991 415.659 428.385 426.563]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.714 415.659 513.996 426.563]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 403.704 134.838 414.608]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 366.056 424.131 376.96]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) >>
+>> endobj
+2585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.349 366.056 500.743 376.96]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 354.101 224.501 365.005]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.539 318.446 357.689 329.35]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) >>
+>> endobj
+2588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.937 318.446 436.332 329.35]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 318.446 513.996 329.35]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 306.491 210.673 317.395]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 270.836 364.903 281.74]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.121 270.836 441.516 281.74]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.844 270.836 513.996 281.74]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 258.881 169.159 269.785]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.965 223.226 362.74 234.13]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) >>
+>> endobj
+2594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.415 223.226 439.809 234.13]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 223.226 513.996 234.13]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 211.271 217.298 222.174]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 175.616 371.529 186.52]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) >>
+>> endobj
+2597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.747 175.616 448.141 186.52]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.47 175.616 513.996 186.52]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 163.66 169.159 174.564]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 128.005 360.331 138.909]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.549 128.005 436.943 138.909]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [452.973 128.005 513.996 138.909]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 116.424 134.838 126.954]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2606 0 obj <<
+/D [2604 0 R /XYZ 89 770.89 null]
+>> endobj
+2610 0 obj <<
+/D [2604 0 R /XYZ 90 558.476 null]
+>> endobj
+2612 0 obj <<
+/D [2604 0 R /XYZ 90 480.733 null]
+>> endobj
+2614 0 obj <<
+/D [2604 0 R /XYZ 90 431.319 null]
+>> endobj
+2620 0 obj <<
+/D [2604 0 R /XYZ 90 143.665 null]
+>> endobj
+2603 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2675 0 obj <<
+/Length 2518      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯ�-T��A�$67��.ov
'�T��
+CB�|�"5��_�Ƌ/qF[�q��� �ݍ��n4�g����xy}q�:�3�xH���j��,�
����G/��_��a�|
�$�{��w�?�����]�x}��‡Gx��
E�,).>��g)t�4�(���N*f�p�g.�v����AOS�G�,�}����/e����/�����T
�%U9�ػ�����:�J;"��F�����A��)72����^�}��Zj�
��<��7#E^�}�27�ݜ2����v�
�ߌ��Ҭ�T打[4�u3'��gy���g
P�3ft0�Q���(�,1wk���
+��\���mc^�f4b�d��ܭ�ȅz��k�}s�&n[EyoF
�!F4rC�F��+���� h�����
m���#2�ò�s�ovY�t�,����0���725�%,H�P-�N��-�����Fl��~Y&��k��l��D��w�K����`&���6s
+�?�-&	`���m���rq��E���ހ�M�}_]����ejkG4�
f;��:�o
t�r1P�z�v?A|�"o#n�i�HY�X�T����nc�#e�O��~������jJ�s`ae������Iz����]J|n���f���l쓩�K�b
��˚{5vQ!�4ke����v� LgY�
��m&�v���$S�^��܏=�}��2��h��`�J?_�H�S�/_�}�
̠
�����!l0e�q�0��5��#���5�]�9v� �����w��}������A��[�iEhO+�#D��y�Q`<�@w�x�1������L� �����

 6�CT�DT��=�(��tJ���A���1qj��W
�@���"9
�#��we�Wd
و O���s�T�{�Q�L�ᵚS�J��,Q����޷>:̴�M
=�]�3�C[���Za������
=�1�ڬ�ϰ0L�F��k�A�B��D�
���U�e�
+��a��q����1�(%�Y�U�h�5M�p �^~
"
	J��)�B�w�?��!Š�g�@� �O"��.k6K���\ڃ�^ #�G� "���EXȂ8dt蒧�I_�-�J��Cc<� 
�G&\�.W�r at a�
�I쉭
�e�0L��z�2�	x_ّ�N;�EQ��k��)iK+I������t�m�Z��(�����Y�r�xZ��WV��fZ"e:!=�QLZn�׸W��`�y�s
jq�<4���?�'!p���A���g
�#�����Kg��	���4W
=U�V̺ ���4s1Q\�T86C5|�7��8B��^����
�Zq:B1G�V"6$ʺ	��n��Y�(��q���8�C�Lc�
�����ſC,&ql�W�Eh
��,�p�zO
��Gq
=�v�<vѸ/o/�[�Us:��h|�hܡ-F�8BX��#pD�d���I��[)�n��L�u5���{�#VOqʑ
����Jh��\6��������S�L��al}k*:"�R�"�E���d�`]���0�h�-�MfW/�g]�ru���<xuR�,�U�ښ�l_[l���ey�h���e��C���OΥ�ez&}8/3��87[��ޗI[z�m���W��s	�Ti��)�G�*7�����졩ފD.Ӭ��.�>+F_��'ɲ���G�m B�S�mq*I��`�ِ&���ߦ���P�E�b�

+�ߑ�����qc�Xne���~Y�����H1QU�XOIP�U at 5F�3$rڡ��l��
E���A1�t�A= ��n���#�}k2IXL������Щn�� 
#=R$Q�Dҙ�a�4Y��ƾ�p����B�S��
g���H�C`izta�d�5JG}k)�s9
J�ёI��
ݰK���fD�*G���q��>Yl�i�1�A&rwv�g�P�X���P��
��iv�[�ʼn��"�^f�2e�j�RcH��Xs����˟��MD������ol�qG��-�08���G�� 'R��_�속^F(�ޑL�.P����b���L�z�@�
��R�%�`k);��WB<
+C+�Y���(\���|�.{��'�"ҦC�o�!���Q�%q0��Z6fõǩvf�|1=>�O�������!��������Ie��>9;��i��,Y�\�a���
wm&�պ�DY�Ĥ=�y�("Ǿ�!R
$�������&�>Sз8_���
�����V�qξ{�����0�G��Ol%<�?�)�
��n3vP�&�Y�����G cD�
� _deVd���c.�;Ns
'
�>��y<�ӑ6'�nȳ�|
@��?���O���c�)��(��z���?O�E��N��to"���_�_.0�~�����
�q��f�*X�[n�-��_�A���g���@g!v��4���4�G��E�ދ�}��l�n�r�����Z�����޿�r��I� r��*w]�B��o.��A�R���s��_Ta���	"���l�f�����~]�r��'�!m��Q�p�����UT;�{Bg�OKh����
�
+endstream
+endobj
+2674 0 obj <<
+/Type /Page
+/Contents 2675 0 R
+/Resources 2673 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2630 0 R 2631 0 R 2632 0 R 2678 0 R 2633 0 R 2634 0 R 2635 0 R 2636 0 R 2637 0 R 2638 0 R 2680 0 R 2639 0 R 2640 0 R 2641 0 R 2642 0 R 2643 0 R 2644 0 R 2645 0 R 2646 0 R 2647 0 R 2648 0 R 2649 0 R 2650 0 R 2651 0 R 2652 0 R 2684 0 R 2653 0 R 2654 0 R 2655 0 R 2685 0 R 2656 0 R 2657 0 R 2658 0 R 2687 0 R 2659 0 R 2660 0 R 2661 0 R 2689 0 R 2662 0 R 2663 0 R 2664 0 R 2691 0 R 2665 0 R 2666 0 R 2667 0 R 2693 0 R 2672 0 R ]
+>> endobj
+2630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 628.099 337.387 639.003]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) >>
+>> endobj
+2631 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.605 628.099 413.999 639.003]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2632 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.328 628.099 513.996 639.003]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 616.143 134.838 627.047]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2633 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 579.203 410.855 590.107]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) >>
+>> endobj
+2634 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 579.203 488.577 590.107]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 567.248 224.501 578.152]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 532.3 337.387 543.204]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) >>
+>> endobj
+2637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [340.605 532.3 413.999 543.204]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.328 532.3 513.996 543.204]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 520.345 134.838 531.249]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 483.404 410.855 494.308]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) >>
+>> endobj
+2640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 483.404 488.577 494.308]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 471.449 224.501 482.353]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 397.68 232.521 408.584]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) >>
+>> endobj
+2643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.337 397.68 335.743 408.584]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 334.909 277.352 345.813]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) >>
+>> endobj
+2645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.168 334.909 380.575 345.813]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.017 334.909 479.373 345.813]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 308.927 277.661 319.831]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) >>
+>> endobj
+2648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.477 308.927 380.883 319.831]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.326 308.927 479.682 319.831]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 271.987 307.758 282.891]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) >>
+>> endobj
+2651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.976 271.987 410.382 282.891]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.748 271.987 513.996 282.891]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 260.405 134.838 270.936]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.052 236.043 306.618 246.947]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
+>> endobj
+2654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.379 236.043 409.786 246.947]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.13 236.043 513.996 246.947]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 224.088 134.838 234.991]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.437 200.099 269.385 211.002]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) >>
+>> endobj
+2657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.532 200.099 372.938 211.002]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.126 200.099 513.996 211.002]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 188.143 134.838 199.047]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 162.162 275.081 173.066]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) >>
+>> endobj
+2660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.299 162.162 377.706 173.066]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.072 162.162 513.996 173.066]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 150.207 134.838 161.111]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 124.225 316.057 135.129]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.274 124.225 418.681 135.129]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.047 124.225 513.996 135.129]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 112.27 169.159 123.174]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 86.288 322.682 97.192]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.9 86.288 425.306 97.192]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.673 86.288 513.996 97.192]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 169.159 85.237]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2676 0 obj <<
+/D [2674 0 R /XYZ 89 770.89 null]
+>> endobj
+2677 0 obj <<
+/D [2674 0 R /XYZ 90 643.201 null]
+>> endobj
+2679 0 obj <<
+/D [2674 0 R /XYZ 90 547.606 null]
+>> endobj
+2681 0 obj <<
+/D [2674 0 R /XYZ 90 412.798 null]
+>> endobj
+2682 0 obj <<
+/D [2674 0 R /XYZ 90 350.027 null]
+>> endobj
+2683 0 obj <<
+/D [2674 0 R /XYZ 90 324.234 null]
+>> endobj
+2686 0 obj <<
+/D [2674 0 R /XYZ 90 215.405 null]
+>> endobj
+2688 0 obj <<
+/D [2674 0 R /XYZ 90 177.468 null]
+>> endobj
+2690 0 obj <<
+/D [2674 0 R /XYZ 90 139.532 null]
+>> endobj
+2692 0 obj <<
+/D [2674 0 R /XYZ 90 101.595 null]
+>> endobj
+2673 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F106 568 0 R /F60 172 0 R /F24 169 0 R /F92 331 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2761 0 obj <<
+/Length 2332      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�F~���mQU��
d�6�I%���N�����
+K-���
 �ʯ����Him�\~�朾|���t�ؙ;�����W7�|�(T8�3'Ď�C�	��:�\QotM0�n�/�F��r���bD7K�U4]S�?��,f�D�ۏr&u��G�3�����۟�����rE�
+�!ƥ����$W�~��
��`���yЅ�S�K�׫_a[��_ݚ�9�Fp��1�p��1-���+YB�D�F���Bs��ʲT��y�-+�CD(���|b˴=��.��,-��E�N��D�V��j~�uY��\g3��i���ich^�TG���b�=7{����ӹ������
�kUQ�:`�Ǿ��B/45���ӎ�BS|_4�]t�#,�"H�i=
+7��6��=����!=ϼ���_r>]{ �8��c�bn�QP�������X&y�޵��~�
�kL�óm�겓/�i�g��V�P�'�R�B
��~�ժHK��ɳ2��{'�f9�؝�v!b��Y��`�8	�G�!�I]$��u'��\�o�
+�����Hw=�Y��z�y(�<��`�J�����K��$�X��m��ű[ʺ*��5}
c��Z0l����פ!Ύ��l�N�\�@�
�M�G �	>W��:�L <q��WQ��c���sY��lc�
1;�W��uo�})��^fi_-t��,qS<ĥ
�#���sI�	f�x-���d��/�J^�1}�
�~3�M�B0���
���H��:
Џ�#q9�M�rR�J��� ���ˀ�:/eu�0$+��5��� � S�^pPiL��O��0����4NdZ���:����Q�z�i�YMQu_�d!⢡����2	ڦ�N��
��jO3�
�VK�VEļcҏ~s6�
�'��kIY�gE����L5�d���ջ� X]�ސ�t���8�Q1��1/d�Ĭ� �
>莾�<4bG�g���Y�c�
s33�eb�t�g�Mm:
���kV���:BkRv��a{'A� 9>�A�5 at V
�� \�� ��2�M�G�n=~��Ew��
+�JB��uŵ��29SA�c:�eZu�*W�8=���7 ��v��A��!���=fJ���QlD�
�Ur at 5��,�*+���Qph�_S
+�N�B0D�GwQ_�;��V���O�]?�w��`P
���Ul
ki�\�5�q��.J�]�#�I��KC*���Tt�7�is��?�X 7�k[���"�(Y��ITZgjkI�&1�g���4��1�t-W��U��Z�T_> m���d��G�1�Ԃ�^{��#+n�|U
e�D at S�n�IT�|��*B�-wͩ��H�"9f}�e��1a�
�c:C
�E�F
aNӢ���"H
��h�����|�=�8m/�ު}Z&�[F���nT�'f�=���}���UEn�wjK~U�����������<�6
�+��m�YV�_f�����04��MĚ5�E���� �`j��[��_B����W�SD��>_�����
$SR��xT#�/Sl-{dJ3+
!S(�ZE+�B���u2�\zA�G���n*�W��4J�D;��=}��Hy"���+O<�&�8U�<�6!!��sJ���A�����{c�'�x�m-���Z���V+�O�<��cK����7U�Q+�O[���V�˟�V��sK��c�ͳ�AD���}< �?������<v�����1CV��!���e�����
E�7�̭;�s���f��>� &a��w�\VE<������|S���3��ґS����K¶
�f��ڳ�v��G(1�
�D��(���
�����hwB<�0H��f����>�j�g�]w��a�z��Bv��]��9Es�ZVއR~&��M���I�+_�K�q��e��K��t
+eH��M���&�
_�����u1�l��~(�`A�N`�����
�|"Z��`�A.��
+r�D�����MZ}�ͨ�
+U�l	�L��YW��W�I��K�2"�������GE
�U��F����Q5�axg%$��"�-6���C��̒�0��H���3�O8:rg���M$yp�R�VVv�jI>�&���o8S{-_0ز
�ܡ( �2���!~�d�F�q"��X��t|�VG�.6v�T�w�"� �|z�*B��X�=�}�Sv�>}P�	���̱C����^qP���ό�������*����j�S����o긑�/Qڤk���@&p�!AX����WYoƙ����W?���t��=6�ޢ��oon�V�R�s4ɒ��ۼ�ԛn 
8i&>E:�Q}d��o�:!h�c��_�0����
+[�������͏	s���@l�R�ʙ��
+endstream
+endobj
+2760 0 obj <<
+/Type /Page
+/Contents 2761 0 R
+/Resources 2759 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R 2708 0 R 2709 0 R 2710 0 R 2711 0 R 2771 0 R 2712 0 R 2713 0 R 2714 0 R 2773 0 R 2715 0 R 2716 0 R 2717 0 R 2774 0 R 2718 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2776 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2778 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742  [...]
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 685.043 245.263 695.947]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.079 685.043 348.485 695.947]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 659.14 253.711 670.044]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) >>
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.527 659.14 356.933 670.044]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 633.237 254.668 644.141]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.484 633.237 357.89 644.141]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 607.334 299.898 618.238]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.713 607.334 403.12 618.238]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 581.432 303.374 592.336]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 581.432 406.596 592.336]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 555.529 251.34 566.433]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.156 555.529 354.562 566.433]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 529.626 249.128 540.53]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 529.626 326.338 540.53]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 529.626 425.137 540.53]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 503.723 289.737 514.627]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) >>
+>> endobj
+2710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.954 503.723 392.361 514.627]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.727 503.723 513.996 514.627]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 492.141 134.838 502.672]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 465.865 290.344 476.769]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) >>
+>> endobj
+2713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.562 465.865 392.968 476.769]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.335 465.865 513.996 476.769]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 454.283 134.838 464.814]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 428.007 295.584 438.911]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) >>
+>> endobj
+2716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.802 428.007 398.208 438.911]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.574 428.007 513.996 438.911]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 416.052 134.838 426.956]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.486 416.052 217.968 426.956]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.224 416.052 317.705 426.956]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [413.3 416.052 480.587 426.956]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+2721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.327 381.183 249.243 392.086]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.28 381.183 353.686 392.086]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.875 381.183 500.601 392.086]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 369.227 196.576 380.131]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.856 369.227 297.337 380.131]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 332.366 293.93 343.27]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.148 332.366 396.554 343.27]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.92 332.366 513.996 343.27]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 320.41 134.838 331.314]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.51 320.41 218.992 331.314]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.502 320.41 316.983 331.314]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.203 320.41 477.49 331.314]
+/A << /S /GoTo /D (group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 285.541 293.93 296.445]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.148 285.541 396.554 296.445]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.92 285.541 513.996 296.445]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.586 134.838 284.49]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.51 273.586 218.992 284.49]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.502 273.586 316.983 284.49]
+/A << /S /GoTo /D (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.536 236.724 292.284 247.628]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.53 236.724 394.936 247.628]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.37 236.724 503.777 247.628]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 210.821 324.913 221.725]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) >>
+>> endobj
+2741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.131 210.821 427.538 221.725]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.923 210.821 513.996 221.725]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 198.866 134.838 209.77]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 172.963 324.924 183.867]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.141 172.963 427.548 183.867]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.933 172.963 513.996 183.867]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 161.008 134.838 171.912]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.543 135.105 284.541 146.009]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) >>
+>> endobj
+2747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.794 135.105 387.201 146.009]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.649 135.105 496.056 146.009]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 111.195 223.116 122.099]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) >>
+>> endobj
+2750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.932 111.195 326.339 122.099]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 74.333 317.601 85.237]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) >>
+>> endobj
+2752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.417 74.333 420.823 85.237]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2762 0 obj <<
+/D [2760 0 R /XYZ 89 770.89 null]
+>> endobj
+2763 0 obj <<
+/D [2760 0 R /XYZ 90 700.763 null]
+>> endobj
+2764 0 obj <<
+/D [2760 0 R /XYZ 90 674.407 null]
+>> endobj
+2765 0 obj <<
+/D [2760 0 R /XYZ 90 648.504 null]
+>> endobj
+2766 0 obj <<
+/D [2760 0 R /XYZ 90 622.602 null]
+>> endobj
+2767 0 obj <<
+/D [2760 0 R /XYZ 90 596.699 null]
+>> endobj
+2768 0 obj <<
+/D [2760 0 R /XYZ 90 570.796 null]
+>> endobj
+2769 0 obj <<
+/D [2760 0 R /XYZ 90 544.893 null]
+>> endobj
+2770 0 obj <<
+/D [2760 0 R /XYZ 90 518.99 null]
+>> endobj
+2772 0 obj <<
+/D [2760 0 R /XYZ 90 481.132 null]
+>> endobj
+2775 0 obj <<
+/D [2760 0 R /XYZ 90 396.45 null]
+>> endobj
+2777 0 obj <<
+/D [2760 0 R /XYZ 90 300.808 null]
+>> endobj
+2779 0 obj <<
+/D [2760 0 R /XYZ 90 251.991 null]
+>> endobj
+2780 0 obj <<
+/D [2760 0 R /XYZ 90 226.089 null]
+>> endobj
+2782 0 obj <<
+/D [2760 0 R /XYZ 90 188.231 null]
+>> endobj
+2784 0 obj <<
+/D [2760 0 R /XYZ 90 126.462 null]
+>> endobj
+2785 0 obj <<
+/D [2760 0 R /XYZ 90 89.6 null]
+>> endobj
+2759 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2858 0 obj <<
+/Length 2115      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks����W��*
�
3 at r��Vʎ�J�
v�XX"�� 
��ҿ>= 	P�\�k_D������_������?F_?�nn%v|�
*��G�ǎ�>r�:�ƒN><|�0�!�
��߾����oz�Wߍ�}�2"�v���"�9�������{#�{γ
�v8e�r�G�a���f�c��	�X#
#
+��D�a�?Y\D�dJ]<.R��ͭO�&1�<Y���jF4�2�1)���*}�2��1�&a���\F�!��OqbG�*~�ǃ��h�f;�
$����B���rr�(%��j�e�
0��_AZ-� onž��
S�=ϙ�0�f�{J��,����j[�}���-�������f5�KW�efi2+�"X��Fgq23�8 ���.>IYS��I^4h���,�Z��
���|oÌ\�[
+�=�̌j��#�#5N�=�X��fC�S��
��S�'*����l����g�N*�䞙z�	��o�u��qj7v�M�7�r
p�'
��v��
U*a����n��4�w���P��A�"
�t
%�z�<����
� 

�������3����dᛊ�vR��D%8i
����jɢ|�nv'�jd2!�,	ȯ17oA�D��r�����E�n.�\�>Gm�ó�]�VS�����j
�E��8^��YV^d{29�0h�u���)�
+wǥ�j��P�
�E� ���UdMC�[2S��� R���4�@
��:����+114�D�
 ��&����3���B wE�
�����C\����`]���	�$�]
���<��K��9�<0�-��E��2�w��"�K`��6�e�\���|u�B5�L *:�(
����!Jg�<�����}1F�
+��k䏙w�f|O�D5�L���t�L�HlÓ@��&�L
���we�Dҷ8������=�4�f�q����S+��v�m �
"�����6�J�����pѕi��Ɂ� �G
s�
+ٕ��e�����̅��@L0��
 ���Mő?Rsσ�^��v%���J�3'*dyU>^΃���ݾmx�C�Z�խµ�t*�y
4��8�
+h�M��O#�'`
��$��uJV0>��H�
̂<��u�ԧ�>����j�wj��jD�
&L"L��Ӊrfu �������I��6�(�0v�&�TD�vUtܪy>žߵ�L&����p��D�L��}�(���*m���'�@��CJK��:����!��
V[+`�����^�����0~�Pw�e�3���}��J�1�E2���\m�f�li�O�G��ZFJ
�lC���FXN�6�́��x�Yŏ����J�E�ºO�)}�3�	:�Iy�>_A�Ϊq�%��s�I��� �b���&�l/��F*ҚE�yyGD�����Ԯ�7mV-+IF�NZ[��֥�~�4e
���m��]�r�4������5y��i�N���S��w�d�&�(�W7���d��ۻ�$M������� �����n�ѦM�u���!޻da�sˏY����S`�Ǯ`��.m�x
͢U�����ұGe.�
�F�6���(JN�UF�zًtp ~�ȄBJ�Iy��@H���h����(�,?#x$�qQQS�нvJ��k�sx�֓�Ƚ��fK�e�T%�Y�� [...]
+{��
���@��[�*��Im
���u�@ma�Ғ�-�
Q�
�?Y
�
D}�@��D�ˤ�
U����`��!ǢF-Al���@�&����&�8'��E��zl��W��k��j0��<��Î�}��M
����p���x�����WmQ*�{V�����Q�>X:�\1sY��Z��ݵ5&O�/��7��p at MR����.��<��q��l 2�Β�jĴ�B����ٺ�
�EX��kW�>�$I��t[�0$-
�� E��f�M����E�/#W��T����,��7߭��M
+�jrS�7�	�y�MRfH�E�X|�
<v�N��������C�,���~����
+��1�7�r���8/���m�n��yRb����� l����4���U���j]��|C.F�J�ˢ������vZ�y�>6��d)!
+���ڲ�:ͪ�
^�u�y���Vn��
+endstream
+endobj
+2857 0 obj <<
+/Type /Page
+/Contents 2858 0 R
+/Resources 2856 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2535 0 R
+/Annots [ 2753 0 R 2754 0 R 2755 0 R 2756 0 R 2757 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2865 0 R 2798 0 R 2799 0 R 2800 0 R 2866 0 R 2801 0 R 2802 0 R 2803 0 R 2867 0 R 2804 0 R 2805 0 R 2806 0 R 2807 0 R 2808 0 R 2809 0 R 2810 0 R 2811 0 R 2812 0 R 2871 0 R 2813 0 R 2814 0 R 2815 0 R 2873 0 R 2816 0 R 2817 0 R 2818 0 R 2819 0 R 2820 0 R 2821 0 R 2822 0 R 2823 0 R 2824 0 R 2825 0 R 2826 0 R 2827 0 R 2877 0 R 2828 0 R 2829 0 R 2830 0 R 2831  [...]
+>> endobj
+2753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 695.923 303.375 706.827]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) >>
+>> endobj
+2754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 695.923 406.597 706.827]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 632.839 267.39 643.743]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) >>
+>> endobj
+2756 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.206 632.839 344.6 643.743]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2757 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.042 632.839 455.025 643.743]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 606.779 274.015 617.683]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.831 606.779 351.225 617.683]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.667 606.779 468.276 617.683]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 580.719 271.265 591.623]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.081 580.719 348.475 591.623]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.917 580.719 493.221 591.623]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.747 554.659 279.532 565.563]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.989 554.659 358.384 565.563]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 554.659 513.996 565.563]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 543.077 129.857 553.608]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.909 516.644 311.644 527.548]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) >>
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.263 516.644 390.657 527.548]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 516.644 513.996 527.548]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 505.062 129.857 515.593]
+/A << /S /GoTo /D (group__Datatypes_ga84f27605574583d674403f6d71a73a24) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.946 480.621 316.307 491.525]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.963 480.621 393.357 491.525]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.513 480.621 513.996 491.525]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 469.04 134.838 479.57]
+/A << /S /GoTo /D (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 444.599 298.383 455.502]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.199 444.599 375.593 455.502]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.035 444.599 486.018 455.502]
+/A << /S /GoTo /D (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2807 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 418.539 305.009 429.443]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) >>
+>> endobj
+2808 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.824 418.539 382.219 429.443]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2809 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.661 418.539 499.269 429.443]
+/A << /S /GoTo /D (group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2810 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 392.479 301.661 403.383]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) >>
+>> endobj
+2811 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.879 392.479 378.273 403.383]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2812 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.639 392.479 513.996 403.383]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 380.897 134.838 391.427]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 354.464 308.286 365.367]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) >>
+>> endobj
+2814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.504 354.464 384.899 365.367]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.265 354.464 513.996 365.367]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 342.882 134.838 353.412]
+/A << /S /GoTo /D (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 316.448 285.103 327.352]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) >>
+>> endobj
+2817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.919 316.448 362.313 327.352]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.774 316.448 472.18 327.352]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 290.388 291.191 301.292]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) >>
+>> endobj
+2820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 290.388 368.401 301.292]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.861 290.388 478.268 301.292]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 266.321 278.747 277.225]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) >>
+>> endobj
+2823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.563 266.321 355.957 277.225]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.418 266.321 465.824 277.225]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.787 240.261 332.246 251.165]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.742 240.261 409.137 251.165]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.023 240.261 513.996 251.165]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 228.306 134.838 239.21]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 191.287 286.209 202.191]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) >>
+>> endobj
+2829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.024 191.287 363.419 202.191]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.88 191.287 473.286 202.191]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 165.227 317.202 176.131]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) >>
+>> endobj
+2832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.018 165.227 394.412 176.131]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 139.167 328.221 150.071]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) >>
+>> endobj
+2834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.439 139.167 404.833 150.071]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.2 139.167 502.556 150.071]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.351 113.107 333.94 124.011]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) >>
+>> endobj
+2837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.001 113.107 412.395 124.011]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 113.107 513.996 124.011]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2859 0 obj <<
+/D [2857 0 R /XYZ 89 770.89 null]
+>> endobj
+2860 0 obj <<
+/D [2857 0 R /XYZ 90 711.269 null]
+>> endobj
+2861 0 obj <<
+/D [2857 0 R /XYZ 90 647.996 null]
+>> endobj
+2862 0 obj <<
+/D [2857 0 R /XYZ 90 622.125 null]
+>> endobj
+2863 0 obj <<
+/D [2857 0 R /XYZ 90 596.065 null]
+>> endobj
+2864 0 obj <<
+/D [2857 0 R /XYZ 90 570.005 null]
+>> endobj
+2868 0 obj <<
+/D [2857 0 R /XYZ 90 459.944 null]
+>> endobj
+2869 0 obj <<
+/D [2857 0 R /XYZ 90 433.884 null]
+>> endobj
+2870 0 obj <<
+/D [2857 0 R /XYZ 90 407.824 null]
+>> endobj
+2872 0 obj <<
+/D [2857 0 R /XYZ 90 369.809 null]
+>> endobj
+2874 0 obj <<
+/D [2857 0 R /XYZ 90 331.794 null]
+>> endobj
+2875 0 obj <<
+/D [2857 0 R /XYZ 90 281.667 null]
+>> endobj
+2876 0 obj <<
+/D [2857 0 R /XYZ 90 255.607 null]
+>> endobj
+2878 0 obj <<
+/D [2857 0 R /XYZ 90 206.633 null]
+>> endobj
+2879 0 obj <<
+/D [2857 0 R /XYZ 90 180.573 null]
+>> endobj
+2880 0 obj <<
+/D [2857 0 R /XYZ 90 154.513 null]
+>> endobj
+2881 0 obj <<
+/D [2857 0 R /XYZ 90 128.453 null]
+>> endobj
+2856 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F92 331 0 R /F60 172 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2938 0 obj <<
+/Length 2799      
+/Filter /FlateDecode
+>>
+stream
+x��[K������-d�wv��
�Jّ�i㋤b��HH�&��6�>= @�hHV9�A"t�4��������������x��Ba� #��
מ���		�ۙBT��	�xv<�������6
Ns�gq�H����
+<�)J���_�����:�ƄQv�p&f���?�|����ow��=�T
+���:ܽ}�� N��aČ�>d�
�
~�ޛ���|���
+Y]!
+I�C�q+yGa%Vyq���^��vQ����9m�Y��p���|Ͱ^=�b�c����߄M���.p�ئ��Z��~�3/�G�;�Q��2���y���Os�g#��(I�v���ڻ!�
_��?-~�x<��S��i�>�Qe\T}��=W�0J�%`OR�P�>��
�j��ٓ�(�f���?΅��+�
�d
����t����h.������V��4�/�wܺ!u�)a�!�8�>i�<B�(�]۸p.�΄6���s�fβ���T�c���;���x�O;���P�B�� �PDa��b��Ԙި �h

{ߴ��f 0!#�Nd\`�2o팋ş,0�t\$�e���s�?�����
a0b�7O�<x\|����ud��!��1��}���+�1R�_��1�@┈�.��ҁ�#�AD���q�CJ���<����S�E����
>�ҭ��� �Y��N{:P���S��uX�%�������
+�a��(�8����ǐ�fS�/��$�@Y�'�D��+J�LI)%"���2#�5��k�8Q a�;�����,
+*�����a�s��*\"Euaק�P6��a���R
+���<]�
n�* ��w_vQ[�
F�p�p�6Á}%�c,�֤�r�ԭ��y��.d�p�0ʹB `� �y���t���O��d��
2��QH�BZn�R&Йu���x���뫛�1\p�N�����(E��:P����4���ⵐH
q��
�A^
��J�o1�v��

�����߃�0-�2��=x-"T�:��$��I*����Dx��(^�n�� ���
���
	L[
7	�
<Z�)X5g�	���eǔd���v
+�x���1M�n�0:�u�<˰� O>p�8�x֢Վ?�����dž1�
������&�
+�]�����P���9<�v47��ARL��9�k�8�j��*G�
�� ��n	D;�Å��{�0^���x
��Hh>�������hN�=�� ���
$l�@4FX ��4%}@(�)��
D)!����@�Ta�V5��}؆Θ-�g6�i�[tmk�i �e
+�kfj��?��x�WL�U
����	�����
4��–ET�rj(@�1���hO�k(�h�E���R
+*���������� �g��>�H^��
�
�5����黽Ҋ�E�9ܷ�j���~�e.��o/�q?�����O�^lF�>�}�
�K#qh�2C�/0<y�=���M�}+J

�@\�aܧ�[�g
+#nx
��6
+f���_r��t�`��r�
�J�F��m�8m�+4A��v*�;���Lw�+D�mb	@�eO ��
+�T@ɫ������R9�,Z�F��5���.�K�n�P��M��ˢ,n.�h���,n���f��ۺB�{ M�&��ܜcލ�u��=��z*�6�R���O�a�l[O����B�� �$�_!rD2��hSC ���3Z��h�d��+�
B˚��g��.��J;���
Bˮ-Ah��]
+S��
+1'	�+�6��'���PurI9b�%��<5xq�Vv��B����/�s~��sc�?I{���~�W�DX�*���o�������m	�/c��+��
�f�a����-e�HrA����IC��ǂ�5�ot9�+���&
�� F��w?�N$8�hR���;���^O��}����٥I!

@ǰ�0���
+W[ѕRH`
o����<���~��ʀ�
�sQ��ڳ+?r�|X�La�@� �b@�C��'��.Z�vQÓ�,����b�{
+��=1j'��2B��=Z�-߶۶t��T ,��[�sk����
��]������7����7'�;�YG
?
+�a�!�'��@�M���Nz�����jn���.����0�ܕ��)��(k���|�\J���Wv��δ����p|
�}����r<�.أ
�7�W,���p�"5��~ͧ�55�~
6ϼ�x��e�Z�[��F^6�0 ���ϟɟm�t$�
+�4��O�v���
bk�'�_x��ϔLFQ:����caT��ܗj���N��"g��_|��	Ϟ,���s������
{���p��%8}񥶽
��;�����RK��ز`8����+�
�m8�q)���d��mS�B��Ԩ5攺�֚�ckJ�7����O.�lKi8G���$�u�`-�e��yo�
T%���,�KJ�ֲ|y�Į]m�*���}}�4W������r���xu���]q4�a�b�t�Sa�i: 
����At�����l���=I~�=I��E�9���h��+`Q��
8Y�2
���Ɉ���tz��$.��i�%Af�c�t�
��j&���w�\���S��su��
7z'j[ke�
���m� �����	G��EI��l췋ŷ��N*�ྸ�
+��\�ƫW/�����mζӡ�u�r��L��_�'=IQ ��~^������t1
A�zc�W�u��t���W
��Vbhe�DSDM�%l��������۠U|�Ǝ��J!|y#�.�+��T|��o��
+*^�V�
�������a���0���
g��?
��C
�������
+endstream
+endobj
+2937 0 obj <<
+/Type /Page
+/Contents 2938 0 R
+/Resources 2936 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 2839 0 R 2840 0 R 2841 0 R 2842 0 R 2940 0 R 2843 0 R 2844 0 R 2845 0 R 2846 0 R 2847 0 R 2941 0 R 2848 0 R 2849 0 R 2850 0 R 2851 0 R 2852 0 R 2942 0 R 2853 0 R 2854 0 R 2885 0 R 2886 0 R 2887 0 R 2888 0 R 2889 0 R 2890 0 R 2891 0 R 2892 0 R 2893 0 R 2894 0 R 2895 0 R 2896 0 R 2943 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2902 0 R 2944 0 R 2903 0 R 2904 0 R 2905 0 R 2945 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2946 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915  [...]
+>> endobj
+2839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.783 707.957 262.173 718.861]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) >>
+>> endobj
+2840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.666 707.957 341.06 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2841 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.276 707.957 443.633 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2842 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 707.957 513.996 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 210.095 706.906]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2843 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.767 696.002 320.261 706.906]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.592 671.813 273.704 682.717]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) >>
+>> endobj
+2845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.006 671.813 351.401 682.717]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.937 671.813 451.294 682.717]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [469.942 671.813 513.996 682.717]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.858 215.076 670.762]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.749 659.858 325.242 670.762]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.506 635.67 300.189 646.573]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) >>
+>> endobj
+2850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.405 635.67 377.799 646.573]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.142 635.67 477.499 646.573]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 635.67 513.996 646.573]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 623.714 241.089 634.618]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.746 623.714 382.472 634.618]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.342 623.714 494.835 634.618]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.71 599.526 314.115 610.43]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) >>
+>> endobj
+2886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.534 599.526 392.929 610.43]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.98 599.526 495.336 610.43]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.571 253.821 598.475]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.693 587.571 398.419 598.475]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.503 587.571 513.996 598.475]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.922 551.427 313.211 562.331]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) >>
+>> endobj
+2892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.843 551.427 392.238 562.331]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.767 551.427 495.124 562.331]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.124 539.472 262.12 550.376]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.641 539.472 422.367 550.376]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.964 539.472 513.996 550.376]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 527.89 134.838 538.42]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 492.369 323.519 503.273]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) >>
+>> endobj
+2898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.737 492.369 400.131 503.273]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.497 492.369 497.854 503.273]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.124 480.414 262.12 491.318]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.641 480.414 422.367 491.318]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.964 480.414 513.996 491.318]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 468.832 134.838 479.363]
+/A << /S /GoTo /D (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.376 433.311 345.428 444.215]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) >>
+>> endobj
+2904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.514 433.311 422.908 444.215]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.958 433.311 513.996 444.215]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 421.356 184.093 432.26]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.152 421.356 337.148 432.26]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.669 421.356 497.395 432.26]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 374.253 357.282 385.157]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) >>
+>> endobj
+2909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.5 374.253 433.894 385.157]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.26 374.253 513.996 385.157]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.298 184.093 373.202]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.152 362.298 337.148 373.202]
+/A << /S /GoTo /D (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.669 362.298 497.395 373.202]
+/A << /S /GoTo /D (group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 275.676 285.641 286.58]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) >>
+>> endobj
+2914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.457 275.676 362.851 286.58]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.312 275.676 472.718 286.58]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.181 238.536 351.58 249.439]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) >>
+>> endobj
+2917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.471 238.536 428.865 249.439]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 238.536 513.996 249.439]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 226.58 144.243 237.484]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.899 200.399 352.403 211.303]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) >>
+>> endobj
+2920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.013 200.399 429.407 211.303]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 200.399 513.996 211.303]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2951 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 188.444 144.243 199.348]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.118 162.263 315.801 173.167]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) >>
+>> endobj
+2923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.629 162.263 393.023 173.167]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.494 162.263 491.85 173.167]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.424 113.168 347.542 124.072]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) >>
+>> endobj
+2926 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.676 113.168 426.07 124.072]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2927 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 113.168 513.996 124.072]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2954 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 101.213 144.243 112.116]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2939 0 obj <<
+/D [2937 0 R /XYZ 89 770.89 null]
+>> endobj
+2947 0 obj <<
+/D [2937 0 R /XYZ 90 290.893 null]
+>> endobj
+2948 0 obj <<
+/D [2937 0 R /XYZ 90 253.942 null]
+>> endobj
+2950 0 obj <<
+/D [2937 0 R /XYZ 90 215.806 null]
+>> endobj
+2952 0 obj <<
+/D [2937 0 R /XYZ 90 177.669 null]
+>> endobj
+2953 0 obj <<
+/D [2937 0 R /XYZ 90 128.574 null]
+>> endobj
+2936 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F38 1600 0 R /F100 526 0 R /F98 1214 0 R /F42 171 0 R /F99 1213 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3008 0 obj <<
+/Length 2575      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~ׯ��RU�hN ���bg�u
o��>�.
@$j�# hY���s�$HB&�I�>H�������`g�`�ǫ��n^yؑH��u��
�
�K$\x��
�_���a���t��.�����˷w�U��˻�߯Ta���y��W>a'��
����(u8e�u�_��
+[Up_%��!
r��G"�(�R�o�9��E�նX)S��V��T���خ����M
�y�J�bUA��$��*ɳj,Wu��>(x,���Pl^
���BZ%V�cO����K�z�OZ��#���G
+aV�J��A
��N��ߛW>���u�^f���@E>��~��x �ŋz��譔���M�m�_��KS��a����v�m�y-��N��)��ea
���%�tq�I�a�y3�j�8L>bL��T|~�˃aF�F��q��Voa&-o^I�[�iX��eЍkF�\�4
+��E�x-����IBU�1����˥o�d)�
�.��B�]
��Q��}�Ρ
�c��jJ_� �����,e�G
�<T�!(���<ĩ��ċ��T�kh_��Ɛ�}H��� �&P‘牦������f����+<7t��8
�y���X" ��eG��P&�q�
`���(�[�
�}+"Ө{�S��G�Vƣz[=z#��c�����'Q��#�
�(0�A%&2~�U~DwS^�0�wrԋ�Y^
�>�)?�1�S��q�$���d>Y���N���C�Z�����SUa��A�)_�����]�~�
 �����m��3e�}�*Y 
�nh�߁����ɇu�ek3�
�M ���Β	���
����KD�Q�$kg��:��]c�
+
���xh��]�M ��qL�'�`*��t`�+.��:�j;��k�;
� kF��p����X#t ����`�Xƒ@��f��Y��o~��E3�+�T��L�
�D��Ί�
W�|U�вgu�{�j#��D�_��R�r2$�;���)@���~=?
�E^Ӣ��|WO�aю,���HRvw�۫��������F���`[
+��b��@s��O��(� �a�/
 �y��"@\
�h�|����0r"J�0o�.gB���0F�j.H�MPN�D ��>J E?�V��3p�)���l���$�`��å�)��(
� x o�bк�A��F֍�с��B��ջ2k�~I�)����d�5�:��w 31�0xN&/����U�$�h���U�0z��r1���!�gc��yH���?���a�����]�Su��6���Ꞃnk���0	Q�_ֆI�|O<'~�y}~�Egȕ���r>r���70�K"G%P�79��5�<���S
߄��A2D�0$ە��5����q��_�)hjM��í][����
+��N��A�u��J�����hB�l�jL��6���WU��l���
o�k�k?�%��C�jئ'C�T
nT��@�rF1��������%�Mi��v���
��0/-*�<��I�I����I��z�8�*N��N�kW�i
~�Eq�IQ�̲��	���K�X�;���
$[�<]�gq�y�z��^8�2�R"����bV��x�v2&�����79�P�D�-ٺ:'���.�j��Q
��O�n��[�3�*k��~3x�آ2��
�I
~
�`�:_���*C2� ��f��Y8����{�1
��d
+��l�r�e�m�}4z��A:�3[���l��[e���AYNM�/�%!��
����})FܿL��≠2�A�c��OO	�
�@�����cD+0�
�.
��(����c�+����r��������
�B�
���"�
B��,�ԫ�B�|�1���z�c�����^oF
�Գ��@׎z�i�C��֧�=T}+��s���F�\�R�
p�3>�
�-��
���
2O
8���EǙ��^ f�j���S���[��R�
R�H߄P~GA��`
��3����[m�E��{��y��Zz�
'EbD>5FC��\�im�����z��{�F}����=z�HsĽ�x�ˆ��B�3LÝǿ&���|*Z'�O6]��~��ک��p�
�>UdC9ы9]s��{`mf�>QBN�>�e�m����Na����Nф�����q�����ǼX�5�Y�N\��/�:�N|Lw��m�#�N|C����Ԓp��Ô�vIh�l��#
�^:����Lf���N�Ffx��;�����.{��H��C5���ڝ	j�!����\Q�N�,I�?����y���}Wd21ud�9G��&4�6�pj@�#}�
�
H�h����r�%�+����<��l�
�t��Mw��u4�d�x��>�&�7�w�c���p�A�hp�\r�K���eA�1���NCm|Sܥb3o��:�˹R_1��
+#L<������l�؂��)s~�AX'n	��������|=!�4�l��ۀ����y�
��z�m�k���^�j{[�*.��.�u�9�v�ʳE��q���$+ ��R���B���?������о�>
�BfS��w77�w�*��(��}3�u�<������)L�2n�CAa�ڣM�/�5U
+endstream
+endobj
+3007 0 obj <<
+/Type /Page
+/Contents 3008 0 R
+/Resources 3006 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 2928 0 R 2929 0 R 2930 0 R 2931 0 R 2932 0 R 2933 0 R 2934 0 R 3011 0 R 2964 0 R 2965 0 R 2966 0 R 2967 0 R 2968 0 R 2969 0 R 2970 0 R 2971 0 R 2972 0 R 2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R 2979 0 R 2980 0 R 3018 0 R 2981 0 R 2982 0 R 2983 0 R 3019 0 R 2984 0 R 2985 0 R 2986 0 R 3020 0 R 2987 0 R 2988 0 R 2989 0 R 3021 0 R 2990 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 3024 0 R 2996 0 R 2997 0 R 2998 0 R 3005 0 R ]
+>> endobj
+2928 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.166 707.957 303.425 718.861]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) >>
+>> endobj
+2929 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.3 707.957 380.695 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2930 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.272 707.957 479.629 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.843 661.365 310.694 672.269]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.246 661.365 387.641 672.269]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.61 661.365 485.966 672.269]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 661.365 513.996 672.269]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+3011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 649.41 195.719 660.314]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 623.971 301.661 634.875]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) >>
+>> endobj
+2965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.879 623.971 378.273 634.875]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.639 623.971 475.996 634.875]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 612.016 228.656 622.92]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.877 240.282 550.781]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) >>
+>> endobj
+2969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.097 539.877 343.504 550.781]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2970 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 514.438 243.599 525.342]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) >>
+>> endobj
+2971 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.459 514.438 406.866 525.342]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2972 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 489 248.581 499.904]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) >>
+>> endobj
+2973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.92 489 401.327 499.904]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2974 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 463.561 254.668 474.465]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) >>
+>> endobj
+2975 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.483 463.561 357.89 474.465]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2976 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 438.122 249.128 449.026]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) >>
+>> endobj
+2977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 438.122 326.338 449.026]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2978 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 351.039 339.589 361.943]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) >>
+>> endobj
+2979 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.807 351.039 416.201 361.943]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2980 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.53 351.039 513.996 361.943]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 339.084 169.159 349.988]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.868 304.447 349.194 315.351]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) >>
+>> endobj
+2982 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.772 304.447 426.166 315.351]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.142 304.447 513.996 315.351]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+3019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 292.492 169.159 303.396]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+2984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.935 257.855 356.401 268.759]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) >>
+>> endobj
+2985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.046 257.855 435.44 268.759]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 257.855 513.996 268.759]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 245.9 208.989 256.804]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 211.262 363.22 222.166]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) >>
+>> endobj
+2988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.438 211.262 439.832 222.166]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.161 211.262 513.996 222.166]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+3021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 199.307 169.159 210.211]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+2990 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.184 164.67 267.458 175.574]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) >>
+>> endobj
+2991 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.352 164.67 370.758 175.574]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2992 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.376 164.67 513.996 175.574]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2993 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 127.276 314.383 138.18]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) >>
+>> endobj
+2994 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.601 127.276 417.007 138.18]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2995 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.374 127.276 513.996 138.18]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 115.321 169.159 126.225]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 89.882 265.716 100.786]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) >>
+>> endobj
+2997 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.532 89.882 342.926 100.786]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+2998 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.368 89.882 451.668 100.786]
+/A << /S /GoTo /D (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+3005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3009 0 obj <<
+/D [3007 0 R /XYZ 89 770.89 null]
+>> endobj
+3010 0 obj <<
+/D [3007 0 R /XYZ 90 676.516 null]
+>> endobj
+3012 0 obj <<
+/D [3007 0 R /XYZ 90 639.122 null]
+>> endobj
+3013 0 obj <<
+/D [3007 0 R /XYZ 90 554.839 null]
+>> endobj
+3014 0 obj <<
+/D [3007 0 R /XYZ 90 531.284 null]
+>> endobj
+3015 0 obj <<
+/D [3007 0 R /XYZ 90 504.151 null]
+>> endobj
+3016 0 obj <<
+/D [3007 0 R /XYZ 90 478.712 null]
+>> endobj
+3017 0 obj <<
+/D [3007 0 R /XYZ 90 453.273 null]
+>> endobj
+3022 0 obj <<
+/D [3007 0 R /XYZ 90 179.821 null]
+>> endobj
+3023 0 obj <<
+/D [3007 0 R /XYZ 90 142.427 null]
+>> endobj
+3025 0 obj <<
+/D [3007 0 R /XYZ 90 105.034 null]
+>> endobj
+3006 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F99 1213 0 R /F24 169 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3083 0 obj <<
+/Length 2943      
+/Filter /FlateDecode
+>>
+stream
+x��\mo���_!ܗJ�����E��ͽ���

�Z���+EZ'q}g��o�jבݤI ��r�!9��3C��d9��N�{qr�$�K��z��rb�$��(
w���iF���2J�t�]�?�q:ݬo���n��tS�����+:��(����"��������
WĤP�L�^����/Nޜ0�N��R��L.�O^����<�DX3y�*]O$�w=y~��	
���(ts�eD�c�1?��8����&/O
kU����-�T�\
�w3�w�X�/�"����n�m_��*��d��2�����a�.6ž<�!�r��v_����{���ĿgO���:-q�8'Z��)�$��Oݟ��_Թ�s�����ͥ�[^�e�;)��3F�(猩)ʊ�n�ΞX��IIp	��w�d�P�c�r����:	9hF�L�N�W)9(�*IIkj;�xʭ!�
+�Tx��#�٤>��

���:?����q���?����F�����ZrI�ɺj�@�G����O
�-s�'�}X4������z}>��W��q���h8
j��(
tC�:�I,� C���}b��/�J}���,��,
�
+�*����"�Z
+T�R��D#��̎S,�$1�Xӏ�X��匫)	$_U�X��F��Ld���)\f���=�
+�ΌԷL���Q.���n���(x|�F	6�'�v�,V�y�_a��<%�b����W���k��r��=,v�\yqs}���X 98��0�R�GF�
+��

�2ߝ��P�m~�����\�W)��n��th����Y�����(�%�D��

+rϾ�Pif��� �x�E��7J��]W��t
 2=u0�/
V���{�7uL3��'\6��k�����x�iY�$�T6����n
+T�|1s"\l��k7����6,�)��e:��/�`��6�ŷ
�v܅��U�X᜼]-n���hxc��L8x�u�Mp��7I	�0�>#l
᰹m�K���ԗm^�0�nJ���?�N�`������o�w��m��b�MX�m~�|��t�u�1/rXX^���^ç�%�)Q������"!�����V�$���`gW<� $�D�8�!��� ~�5Z? �Tt!�������w�E^�Jd�������9���:�%����M4��AR���]Wv�֣��{�G�
kϧV�b��W����A��π����*
�Q�C��*+�V{�.�_4en5*�+��C
���
�Sg�F媎�i�V
�<M���K�t^Q6�q
+��C��F\��U�4�t p
2f,Xv`�I�����雵C�M��x�v*�D�H�v�3;�6
�"��g�b����8/P�%���¤�1�W���.N���8�`��-���6<�i��b��&�
+� ��+�|�1'?��I�-��4wͯ�
D���D |4d
���������<q
��2�
���3{_�}�
��\���b�Q���v� �W$%� W ��d��A�U�XqpE
R��c
��np�8.^�u��ŪA45p[�0pUV��8eb�c�8���!W�>�p�ƒDVDg"�j�g�)� �*&��ʨ
��lb
����C����b��X��B��u��T�;�X�Lb�I�X��@,֎RT[5���
��Ob��K�l
��X�
�������cs`��Q90�)�	�\�ᔂp-�PF�bоG�
+�ءıJajV)jV�EV)"��a�Sй�� 9.i�U��SJ����s��*���U�0

	�{����Z=�t��\�bB��I='X�g�sv�f�J=*�SF�7�Z�f�!�	!�i�p�66��L
����Պ8�� D����p���hJ��
�j
+
J:ծ/���y|3s�+�����zU���|����a�]
�S
(�㇑6:�/oY�P�8���!
+�Ls��c��K�܅��i�����B�p���35��39�����N��E�J阑Qq%T�X��txe�
��i�!��c��������78����fP��|{��m��7�ҹH�	�z�mw�l������H��"ʡH�1�U�,�,
R;�’���I�Nt�:���[��/m'�p/!$��Q'��;
��X�@����;�w���ڧt>4���eP�瘸�=���z>�푞;�������O���G�| B�%ӟ7�n
�K/NF�Og+�[m��i���l������z:��t���;��l�t
�jOg�=�ψ�Չ>W�g�I���VA����0 �ּ��a���|���I����L�<+���)zh���l>R
+��1���P8�O+��:��pG-t����#U�I�;���h�
�n����6���B��#Jt�!���\N��l����_q�q�+�rR�-
���O<�1�)Ծ2����L��
��o [?"6/8�{l�}�d�>��c%;
#�%?"�\�^�r�#8�#�X я��BX1L��
� �2j#,'�
��	��
� �X�N6 V�,��|�(���˛
t��cmO�OSP�
&�gy���(�fu�#�6rߙ6k]nvש�fkh t�m-/�A�m�
T��n"��V`���.1a�d��QĎ��� �~�#e�-8��3bj�ťҢ��i5�9��茢;�6^
k�7�L��&'��	� O�i��iX�t
+/�)A��ޠ4@�䈽A�:L�:_���};X�����8��$��z�BZ������Vqu'�'X]�AEݝ3"l��������G�

E)�
^l,��3���

N��������,^_Z���Z�b��j���@�4�"�+hz)�ӧ������_���f�̛?�V��s���0S*~���y��u8G���/�|!#�8���<��F���>�W�0�
�,
+����,�<;{}���Œ\�����~9�Օ9_:n�\ov1�[ �:�J�/���V��y�1��7'�=s�4��Ƶ{_
g?]��_6��O��Y�
+endstream
+endobj
+3082 0 obj <<
+/Type /Page
+/Contents 3083 0 R
+/Resources 3081 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 2999 0 R 3000 0 R 3001 0 R 3002 0 R 3003 0 R 3004 0 R 3031 0 R 3032 0 R 3033 0 R 3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R 3040 0 R 3088 0 R 3041 0 R 3042 0 R 3089 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3091 0 R 3047 0 R 3048 0 R 3049 0 R 3093 0 R 3050 0 R 3051 0 R 3052 0 R 3053 0 R 3054 0 R 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3097 0 R 3059 0 R 3060 0 R 3061 0 R 3062 0 R 3099 0 R 3063 0 R 3064 0 R 3065 0 R 3066 0 R 3101 0 R 3067 0 R 3068 0 R 3069 0 R 3070 0 R 3103  [...]
+>> endobj
+2999 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 707.957 269.592 718.861]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) >>
+>> endobj
+3000 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.407 707.957 346.802 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3001 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.244 707.957 489.864 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+3002 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 684.534 307.569 695.438]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) >>
+>> endobj
+3003 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.787 684.534 384.181 695.438]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3004 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.547 684.534 500.155 695.438]
+/A << /S /GoTo /D (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+3031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 649.908 276.814 660.812]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) >>
+>> endobj
+3032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.63 649.908 354.024 660.812]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.485 649.908 463.892 660.812]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 626.484 301.442 637.388]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) >>
+>> endobj
+3035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.258 626.484 378.652 637.388]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.113 626.484 488.519 637.388]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.925 603.061 189.72 613.965]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) >>
+>> endobj
+3038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.355 603.061 266.749 613.965]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.866 603.061 365.222 613.965]
+/A << /S /GoTo /D (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+3040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.898 603.061 513.996 613.965]
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+3088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 591.106 209.299 602.009]
+/A << /S /GoTo /D (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) >>
+>> endobj
+3041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.248 591.106 425.496 602.009]
+/A << /S /GoTo /D (group__Datatypes_ga6b8429baa2a70746836586aad6905b64) >>
+>> endobj
+3042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.819 591.106 513.996 602.009]
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+3089 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 579.15 227.002 590.054]
+/A << /S /GoTo /D (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) >>
+>> endobj
+3043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.249 579.15 393.552 590.054]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.632 533.566 372.328 544.47]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) >>
+>> endobj
+3045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.67 533.566 451.065 544.47]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 533.566 513.996 544.47]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 521.61 180.776 532.514]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 476.269 350.826 487.173]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) >>
+>> endobj
+3048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.044 476.269 427.439 487.173]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.823 476.269 513.996 487.173]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 464.314 134.838 475.218]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.88 418.973 316.987 429.877]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) >>
+>> endobj
+3051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.577 418.973 393.971 429.877]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.026 418.973 503.432 429.877]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 384.59 297.836 395.494]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) >>
+>> endobj
+3054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.651 384.59 375.046 395.494]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.506 384.59 484.913 395.494]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 350.208 418.761 361.112]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) >>
+>> endobj
+3057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.979 350.208 495.373 361.112]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [504.758 350.208 513.996 361.112]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 338.253 211.769 349.157]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.582 338.253 350.886 349.157]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.887 292.911 400.763 303.815]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) >>
+>> endobj
+3061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.36 292.911 478.754 303.815]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 292.911 513.996 303.815]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 280.956 206.788 291.86]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.601 280.956 345.905 291.86]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 235.615 365.172 246.519]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) >>
+>> endobj
+3065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.39 235.615 441.784 246.519]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.169 235.615 513.996 246.519]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 223.66 134.838 234.564]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.651 223.66 273.955 234.564]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 189.277 345.795 200.181]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) >>
+>> endobj
+3069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.013 189.277 422.407 200.181]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.792 189.277 513.996 200.181]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 177.322 134.838 188.226]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.651 177.322 273.955 188.226]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.568 142.94 425.899 153.843]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) >>
+>> endobj
+3073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.177 142.94 503.571 153.843]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 130.984 224.501 141.888]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 130.984 363.618 141.888]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3084 0 obj <<
+/D [3082 0 R /XYZ 89 770.89 null]
+>> endobj
+3085 0 obj <<
+/D [3082 0 R /XYZ 90 721.073 null]
+>> endobj
+3086 0 obj <<
+/D [3082 0 R /XYZ 90 664.555 null]
+>> endobj
+3087 0 obj <<
+/D [3082 0 R /XYZ 90 641.132 null]
+>> endobj
+3090 0 obj <<
+/D [3082 0 R /XYZ 90 548.213 null]
+>> endobj
+3092 0 obj <<
+/D [3082 0 R /XYZ 90 492.643 null]
+>> endobj
+3094 0 obj <<
+/D [3082 0 R /XYZ 90 435.346 null]
+>> endobj
+3095 0 obj <<
+/D [3082 0 R /XYZ 90 399.69 null]
+>> endobj
+3096 0 obj <<
+/D [3082 0 R /XYZ 90 365.308 null]
+>> endobj
+3098 0 obj <<
+/D [3082 0 R /XYZ 90 307.559 null]
+>> endobj
+3100 0 obj <<
+/D [3082 0 R /XYZ 90 250.262 null]
+>> endobj
+3102 0 obj <<
+/D [3082 0 R /XYZ 90 203.924 null]
+>> endobj
+3104 0 obj <<
+/D [3082 0 R /XYZ 90 157.587 null]
+>> endobj
+3081 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F83 262 0 R /F92 331 0 R /F24 169 0 R /F100 526 0 R /F99 1213 0 R /F103 1599 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3118 0 obj <<
+/Length 2973      
+/Filter /FlateDecode
+>>
+stream
+x��[[w۸~���[�sb7�/�w���6�&�K�
J�mv%R!�8�����7Ѳ��9۞��$Apf0��� �����v����Ⅶ��$�����,�3-+xZ��EZ�?\�4��(�ȶ^�������⻳��>�1xEg�}mf��ٻt���f�����m��Lr����ٯgԛB�&��I�i��
�a����*��ޝǔFy��f4���V��
��v��~]��UU׋rW�����:���LF��9��t[��&�i]���}��]7�osF���Ǫ�{�Gu��6�x���ۙB�v6
�����I
;�\/ˢn��1�
�*���>h��v���z���n�ʹ�e�lnov:+[a��\�&�kC��C ��T�^���$1,�i��R6P�/� /$JI��Cx)�%1����_ހUFG�]�7�?���p�ޓ�$�M���@����y�䃯�
�j�
׌�PV�>��K�ޚҎ�v���-c
+b����i1&���HT䂷�'�JA$3���G��
�r~���"/n�Pʛ	�Z�>�~.�&"V0q�&�gZ�&]@(���
��N�d�k�-�07��׫�F:t�#���	xL�A���0�	"x�_i���\@��JK
��Y��k�
Y�-�Qz��Lµ������]*�0ء���@=€c~b��ڻOQo�b�Rh��#4�7�^7e�q&2J�U�P�+�6L0S�P>M��$�.'�@��2�&
�@`����`�8y�����\H�.4���1��O�����9�Y�Q�}�⶘�У��f��_'
�h9���4�@�0�Ø��6�'#�Ǵ
3.
�
��d����Za��Y#s��/'S�)e�2Sỉ�fP�y
e�n�P�egGwvP�F�YO	���UJ�d��t|�>��u��_eKL��"���R�)�sn�
�M�=7|n�՟(��vD�
��|�.֙�"!B�&�@���z�$�@ �|
���1V���7���]
�n���q0�|-�[�8	��ѫ}2�I��⎥[L��b=�%�zq�Q \J
��~����lGw|
Z,߂k˷DǷР��D`���4ߊAy��9V%��-�x*�8�`u�ou�n�u�
�
��h��� ���dD�
�%�pn���{�r�O|��;?�d�*H���Qs�rq���}t��!:�	�d@��8I;�%�#��C����1.;�I����p־1�o��b\	ᇗ�#�u�&P�N��,�O��
�(��
%
�z�7���2�����C��}�/�W�O�o+��+�`���/�<�\����
�{(�F1�A�˟#L�9��}�}��0
<��*�"Z����
��@�mV���&{s�+�(ʷ�X�����U��D�m
��r$��+��7��	�ϑ
�
�%�A��)���+T�P��o�l��Yh�B��Re���*�X������
<�� c����s��']f#5�r�յ�|\�Xz��%h*o�%D [...]
I�+
��6j�7j�Ηy��Mڄ/�ﲢ͝�٥�;[~�t�
)
��?��(m.�Ք@
+��->��L
��m+�q��P?�ſ���q�7Y��C��@��=?�a�͓�C�9օ��K�˃�	�
�k��_O
JM
gO�j"5߃��B�7F�B�;���
R
8�䃂~�@�İ
+���9ĴO5�����"Z�CP#�S銅�iM8����]zq��W��fP)D�
�.���*�l:�,xԽ�K��l���
+��q�-ϧR&����< 4`euM�� jnY�6eݸ�u�������jx����U֊�+�p�Lt��d��1������
�.��sQz	����pV9H�s�X�7[H��:;�@�0D�>�q�p/�<+V���
��dk_1���.�/
���0݃��
-
���Yq�
ք�?�`1 3�q�`���B��$�o4�o2c��Q
yŕ�jc���^
�H`�P��}i5T|9����i�jQ�g*_���5ح0YXa��AA`���
I�f�8ś	�1�_N�7V�%ɓ.���S��:� �~��`���vXv*1�#,
FZ%�JN���1$�@+���M��y��<�`�~��� a_#��(�aCk�~��zg�z�=0�{6a ��8�K��=j�@���Ԯ�Z]f��;��{�cA
�d+'x2v��	ă�
	p[ecVs��N�*W�?
>�`
z�"�5��w�z�a?u�Kw�5|�@>�,���=��Uވ�P7qw��O���g�&��Wy�
�cX��q K]�9
L���2�yS#r��jU�ja�n T�o1�Ҥ�H�����+3���[`�*��-ҡV� 4�2���_ �Xs��
�q-�_�)-�lu�ƪ���2h�\��@"
��WΘdDp�u\�@*$V��\ up
+��
�OrIh�O��@m0C��SN(d�	��R�bh�a*��I�Pl4�ݡÄ���4�q�J�P�;�pa��:8����!����$O�!z!�G��y<yj31���n�K>O�hn�A.���E����#�
#�qРC�wm��2,��Ծ�a��O#���l[�^����z�^O��4����д��� �@ӝq@3-��e?TQ�h��JaU��2�8���N��F7�݅� ����������e��>��;�]N���E��2
��'	G�Q��
����E �	
����"�}(l��J$�}ٿ�/�7����F̾/AX'�
�w��&���0vD��cA����_�2�]�%-nw��r�G�M����O�8�<���D鸾�
������I��v9o�@X���������V�n��
!�5�������Ί[��(2��� �T��v�}SVY(<��[{����m�
+endstream
+endobj
+3117 0 obj <<
+/Type /Page
+/Contents 3118 0 R
+/Resources 3116 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 3076 0 R 3077 0 R 3078 0 R 3121 0 R 3079 0 R 3107 0 R 3108 0 R 3109 0 R 3123 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3125 0 R 3114 0 R 3115 0 R ]
+>> endobj
+3076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.629 707.957 406.582 718.861]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) >>
+>> endobj
+3077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.921 707.957 484.316 718.861]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [495.954 707.957 513.996 718.861]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 211.769 706.906]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.582 696.002 350.886 706.906]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.386 623.356 373.128 634.259]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) >>
+>> endobj
+3108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.224 623.356 451.619 634.259]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 623.356 513.996 634.259]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 611.4 180.776 622.304]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 611.4 319.892 622.304]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.508 549.713 351.873 560.617]
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) >>
+>> endobj
+3112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.091 549.713 428.485 560.617]
+/A << /S /GoTo /D (group__Datatypes_ga97b246f11809448c53f089779c0019a1) >>
+>> endobj
+3113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.87 549.713 513.996 560.617]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 537.758 134.838 548.662]
+/A << /S /GoTo /D (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+3114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.651 537.758 273.955 548.662]
+/A << /S /GoTo /D (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+3115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3119 0 obj <<
+/D [3117 0 R /XYZ 89 770.89 null]
+>> endobj
+3120 0 obj <<
+/D [3117 0 R /XYZ 90 721.073 null]
+>> endobj
+3122 0 obj <<
+/D [3117 0 R /XYZ 90 641.803 null]
+>> endobj
+3124 0 obj <<
+/D [3117 0 R /XYZ 90 566.434 null]
+>> endobj
+3126 0 obj <<
+/D [3117 0 R /XYZ 90 472.136 null]
+>> endobj
+3127 0 obj <<
+/D [3117 0 R /XYZ 90 312.393 null]
+>> endobj
+2567 0 obj <<
+/D [3117 0 R /XYZ 90 288.708 null]
+>> endobj
+3128 0 obj <<
+/D [3117 0 R /XYZ 90 288.708 null]
+>> endobj
+2568 0 obj <<
+/D [3117 0 R /XYZ 90 161.079 null]
+>> endobj
+3129 0 obj <<
+/D [3117 0 R /XYZ 90 156.596 null]
+>> endobj
+2622 0 obj <<
+/D [3117 0 R /XYZ 332.797 77.486 null]
+>> endobj
+3116 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R /F92 331 0 R /F100 526 0 R /F99 1213 0 R /F103 1599 0 R /F82 260 0 R /F72 194 0 R /F97 497 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3133 0 obj <<
+/Length 2395      
+/Filter /FlateDecode
+>>
+stream
+x��ZK���ϯ�-R���ùym��خMvR9����GRE�d��x����@Q�f��S�=	v�����&h�Hh򷛯�o�54q�i�������HG���y�~bW�[F)��v�o��N��e6�O��l�E���rE'��E�HgY��g���w��w1)�Ę���o����冁
+4aA�"�&����4�C��	%���ѿ�I$p]'�n�qCK�)�M��s��3�c�T'���*/@++q^�J1�S~���f�8�j�N�`�&\�J�M�<��5�(fF�k
QTGr��H��P�G�h5q�E�N���N��iN����jp!����l65��J_g=ҵ ҊQ�kM����f��}�
w"ZPC�8�&%��3�t(�Mp���@g�K�@�����a ����+\5�gJExə�K���Ǘ_�hp+�%��䖡�F��r�L*E"
&n������9��6�*V*����w��uZd�~ժ�s���tgF
+��rN�a�W��z~��G'i����
+��-�6��ەF�
���O�E�f�U�]�2
C�JB��!\g�y=���xkv���`�K]����������Ap��
���~����5�[?�1�}��C�`�!İ�궧p��u>�g���Xhr�r��������!A>�-fA.,��
��%N5��V���:�V�2����|��x7_m����F���"��W���D�#^��o��`ĺ���8���Pѧ�ݙYb 
+�"�S��T+p�����
+?Eb���`��|ꭂ�
*��g{�H	��٧�^�#��~�c(�o�ס�
j1�P
��p#�$����p��*��d�����UN*�P<v�M:/W�Z�Uq�_�k��1+W��ʀ�&@�1��}���(� ��W�m��t�.cFB"T,�
#�H��P�b��b$v
5<!�6V�!��V��8��&Ju�0u�?zV��F$�L�!��6�n舾@G�d/�#����鈂X`N�l^$%8%eä�]CJ��H	�)KRb:��0�
~��&\"
����v��g���m�E���U��� @�C\D+sPs�t�\��\İJ���@�EFU\D�"��"
p����J�S�s
�(Di4���PG��O)0���$����T��^����!so�b�ρ�q,�Pg��*��l��}���/�
�
m�-pGhD�k�o?�wԼ�N��
�;���ݠ��k��i­�s��YJ�݋tB	�
�ԡH>"
��#,�w�o�
+9
4�
�#�a� �i����V�bQ���������C^�]y�B
�If*
��a�c�A
+"_�y���	��>����߲�ci�o�k��x_ ���phE�v���g�o�`3�3�-l�	e��5G̿���{�)���&�D��Da�I�E�Kt�K�;�K *��ǜJ���@&
���<c�� I��7�`�9�	��>f��2j
�������@���(zp�	s<��B���_+Y��Yv��!/��7�P�Q�f/3� 
G�(z�E��
��b�#U!

e�	�.:[l����~���*��^?����v��9��;3��Z(t��iEM���Չ��AԮD�;T���?��T�qhlI,y�I	�n�Q��P���-�6W�_�q
+��ɓ
x�����l��2:y
+w�c��M�
$��#��C�W1h�谳����*�E�Nf�'�|Γ7���u%��� y�
���an[d�!>p��w8b��S�n�8�+Y���E��g�W�M\��
+�B&�:"�xua
b.~
+���y�F��
+x#|� ��!X��
��a]FPI�a
5.�ED��k%Cz( �E�/�p�(>�l���XtS��N
+��b�Ta�p�#m/��9/ �����@
Y�:`�xxඕC_ 3�B?<(���$ oe{���yx8tP ��4C�y�T�Cq
ԸB��U�t\�Un�L���w
+P>�o�mw6.΋
�y)�
B ���;
+K��R����E�!�.{�G$�
�H�s�N�bq��X���,�<y�G�o��A,�"�1G4
e�<^���5�yq�4�
ψ+o� �
��;'�G:�4�yZ"
6��<5'�yZ�
+6��<
����3�Pn���ɸ8O�k͠.�C;��ڝ�!7���8_�]�D���ŵ'���Y�8#ly�Zb��v@���B�M����c���G�1	���_�l���R�2��1͏i	��iE���
�2Bч����]Ve�ar�I���o�
��b�j@]��˻�O��!�dV���7�S��V�
�G��}V��ܤX'U���
y
њW��HN�������e��w�|���h��j�]%
+endstream
+endobj
+3132 0 obj <<
+/Type /Page
+/Contents 3133 0 R
+/Resources 3131 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 3130 0 R ]
+>> endobj
+3130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3134 0 obj <<
+/D [3132 0 R /XYZ 89 770.89 null]
+>> endobj
+3135 0 obj <<
+/D [3132 0 R /XYZ 90 721.073 null]
+>> endobj
+2623 0 obj <<
+/D [3132 0 R /XYZ 90 583.616 null]
+>> endobj
+3136 0 obj <<
+/D [3132 0 R /XYZ 90 579.133 null]
+>> endobj
+2624 0 obj <<
+/D [3132 0 R /XYZ 332.797 497.966 null]
+>> endobj
+3137 0 obj <<
+/D [3132 0 R /XYZ 90 491.326 null]
+>> endobj
+2625 0 obj <<
+/D [3132 0 R /XYZ 90 348.365 null]
+>> endobj
+3138 0 obj <<
+/D [3132 0 R /XYZ 90 343.882 null]
+>> endobj
+2626 0 obj <<
+/D [3132 0 R /XYZ 90 229.205 null]
+>> endobj
+3139 0 obj <<
+/D [3132 0 R /XYZ 90 224.721 null]
+>> endobj
+2627 0 obj <<
+/D [3132 0 R /XYZ 332.797 145.612 null]
+>> endobj
+3140 0 obj <<
+/D [3132 0 R /XYZ 90 138.972 null]
+>> endobj
+3131 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3144 0 obj <<
+/Length 2225      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�m���
qK�&�ٔ�
���dj2��H���D*��ƅH�,��Tv3�� �n4�����Y�����
^�K�H#-���
"�#k�<M�C�Fマ�P�h�l�Ż�7�w��������W8"�?GRE����G
M���#�U�h?ZE1ep]F���
p[��
+!�'�n��Ɣ�a��(>��u�|���"����b�tw�l���=�U��:����b�f�E�30�sЖ�rD��=ٸo=AG�y�	�6�f����\��	���c��$��
#
s7�#F�I�-�Y8���JWHb
c��W�ZlFcF��a�MJ;EF�p�O?aLS��Zż��٦,�EV���M��ܻ"}H�4��S���S��b0卝��0�(���f�vj�Pn��+x`j��Nl��lW�Jw2�$~�R�c*b�8����v�U2��[-�ܸ�_��$�m�W����$a�0aA}( �
H��c�_Ʒ�����8 �#
&�!Z
�R�:
l
��@	C���9e � �,c3݋`)a�T(����C���'��ơw�ޘ�ȗf�6�G���Ӄ�
	��Ѓ�	.C=
��U�d�a??_2�Z�
J�ȳY�5a�/��8���͈F�f��[�
����9�����%UhCD�ߌ V}r
�u_��4nu���`�#$'�>Ҳ������:4[+��m���Mn����|*uI
(�d7߇

+>Fu�2'
	���ƍE�L�t�1��;�R8L48�DI l�o�����k	�`.�@�f�Ѷ��мx(�{��<4�i
�lۤ�˦+�
�x����C��� ɦn�G _
4 ,qMsx�L]�C^�F�]=����
+�Y��H�
��?�`�L�E����'d�r���H�
�
�`�DZd��/R�g��Q��d�x�'nD����C��
��y8 �-Hf���y�SHqҋ`E��B-��(ƈ�^d� Dh(�t�z�zт :T�H'#9|����R#�u?W��H`�?
+|���}�f����Pv
|���҂hc�K��	⃸���1*�>�x���i�<u
+��/<�8"Bw
� ��ҤWx����Yxa<��i�4��mr9n6�J*�|��
����O�1&��
\!_k�{�|f�v{ȧ��/�|�ߤ��q��R��q��.�ͳ�
+�4~�k߅�v1n���|�'�s�N�/Ʃ�m1n�ŸU�?��M=cB=�BvBv���WD

+5q>5�Po��ⓨ	�
ۇ`�&\�PpW9�̎��E�N�E(�djb���S�B�P�#�8�d�??W�� �;��M
	U�5$TƟgvFR�=�H�
=
�Cj,���Eh��V��I�Z/m���(�\��d�"����8;a3�5��AR��L
ڌ8�OHΰ1@ڕ��l�d�3o�`�@��x=NeJ�L�?d,?���	A�;
�؍s1
���	b62,�1߭�E��b�8�-��7��
����J�G5�=$z��8>	
+%^�d9ˁ��W��q�oRw�c[�k�;�	���X�[d��E��$p�W0��p��
&@'e��x*VqR�ݥ�p�8i��5��>�I?i
T����D�f�8�C�����:/ӗ06�b�Z����
�!�;�]-�i���}{J����#b��6�\��6򕨽�������ۛ�7?^޽���z}{{�����������,e�-�ݗ9�Il7c�L3H�;'(]�o/mC�h�����#S 1����^_�אָ��M<22�t�p1��º$4B�Z���v����~���-g2�.�N����
+�y�i�<�W�dY}8���s�+}q����� �f��:���!��@�$ 
��&�̞` ��]5�����1RxG�c'I�
A�!YBfѡ�#�����~��+�ڃ
o
�8�[��yk �
o���r�d�)K
�՝�1
��1婫�4����9���3�
�+�"�F�J�q5�����}�-
f�	��o�Y6�(�I��8-�0�n� ۥ<��ҿ3s_���1W�X���(!C���V��
XA�_��1�6��׺�/�>����E��a�f�1�7n��
( � >ٝIf�s�	�%`��ͅ�\%�l����ˬL������7i��Co÷I���g��Wc��hN(�`�	<�M��u��\O���S-����}~^��_����m�l�&�A�t������s�
+ܩ:h�F��so�/��
+endstream
+endobj
+3143 0 obj <<
+/Type /Page
+/Contents 3144 0 R
+/Resources 3142 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2955 0 R
+/Annots [ 3141 0 R ]
+>> endobj
+3141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3145 0 obj <<
+/D [3143 0 R /XYZ 89 770.89 null]
+>> endobj
+2628 0 obj <<
+/D [3143 0 R /XYZ 90 634.961 null]
+>> endobj
+3146 0 obj <<
+/D [3143 0 R /XYZ 90 630.478 null]
+>> endobj
+2629 0 obj <<
+/D [3143 0 R /XYZ 332.797 549.31 null]
+>> endobj
+3147 0 obj <<
+/D [3143 0 R /XYZ 90 542.67 null]
+>> endobj
+2694 0 obj <<
+/D [3143 0 R /XYZ 90 387.411 null]
+>> endobj
+3148 0 obj <<
+/D [3143 0 R /XYZ 90 382.928 null]
+>> endobj
+2695 0 obj <<
+/D [3143 0 R /XYZ 90 231.42 null]
+>> endobj
+3149 0 obj <<
+/D [3143 0 R /XYZ 90 226.937 null]
+>> endobj
+2696 0 obj <<
+/D [3143 0 R /XYZ 90 77.486 null]
+>> endobj
+3142 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3153 0 obj <<
+/Length 3100      
+/Filter /FlateDecode
+>>
+stream
+x��\ms���_�o�f,
�A���s�sqm�t:��G�(K�D:��� H��@I|�N;�$��bw����}d��� >\|�x���iI��q>�x��FB·���P!*Fc�1
�����F���E8یH0���d�2S��7Qn�ih�އ�0
F�-™*=��������oL�bU
+���t}��<�����o���S������.pf=�̥��|	h�B!{WE�e�,�d4f���"B� ��

�c�Q�]Xwh�J8�܍��
2�S�b
�A�B��
J0
+(w�؄�I��*�iFzQ������L
�,�8+
+���Wq�M6�b��#*���HR�:�1��9/�V���A
+�ťGŘ`���BTu�-��A�L��q��pP
 GIf��K�(�!�%�B8�%ݗ�
{��t
'R"�0��&� [�E8�uk_�d�����o�a��Qe�k���U�B��wba�8��8���I4�(���P�b����z�HCX� 3 
W NX ցt��f1E��v7����|���X�"$�M��O'��8G�y�_Fp3Y���n��v
XkC�L%��$�
m��9��Y6�6���Lޖ��K��gFf���Yfބ�"ޚ
2O&�8z����nǩ�����O��x��������w�7pq�������O7�
�,6��a��7W�p�]�?\_=>\�4��A�ͧ�����_Z-�Q������
�ҷ 
���G�,�N7���,$�ާ�\7�g
	�B5�e%V���� $��m���E}BԘ
$&H��	Q�t*.Z$DA�0#M��5�DB��&!BR/+>�U?ޚ�(]o?�Q��$&B�}�K�`�T�2bI�.#�Լ��XXZ�C�X$�oB���(�P�%!�;�ɇ�1Q]ă����Pj��<L���JB�|��
0	�
:��8'!	��G[{g�ͷI���
7��h���,��pT6�y�h����?~�.g���?|�����.wj���M�5�)�nH��c�a�����I:���7J:
��ӼIG8I��%
��� ��k��0�L��'
-twL��ܱa=�c�^�k4�S�/��cՃf%��e�u�&@
"Lw��H�e��q��5i�QsR�e�⧲�RQM���2�<]��j��NS �"�LE��>��!�d٭�8���1�.Ú�
�X.�ݽ
n3C J
+	��)�r�өT^D^O
+k�	�G]������
Rs}�]z�ח�x�4�B�R��3��c�H	���T�b��־��2������C��Dž���	��A�Ca=�"n ��39��dr��o�n�6w��ޘל����H�&��eʣ8���5���Mr��!Ko�*��]43Յ�2���L�sl
s����5�Z���'�Ӧ򱳾-�Ӆ��N��*S+�%�
1��m��nmˇ�͖LV���(��I^u���\�-�M�������9e�&�LaV/��'��1�~���S�X��� ;� O��a3Y��i7��֝���h�>���9�HP}�1-Ѿ5ݟ4"�K
+���
8N93gWȫg�>ג�X��(mU�@�i�\���3�ۣ[F/޸����q�{
+����7�-i᛻� N��CCi�L���a
N�
C!�UyM�hh�ҏ���
����i��Ü����'�����J�0�`���?�iR���G�r�:#����j��PuP�?]�S�� �T����8��l �	B(/��ST��Z�r��}�!��V.>&���(��=��:�t���ѿ��&_�B��W�fq.��P�$m��b��(��
�Z ����^g#��(^/�>���+w+A�
?�.��!�O�D
+'3R��UE0`2@���	��
����P�[B���-�sh/��0��Li��V�4o�����y&Wƒy�	MV۸20s��8��l��#��9
z���OY������EP�L'i
6��s��c�AX	8�PTN�^�����ZYk��S:c�g����Mx��T2���0ŖY�/̡Z�5^D; �E�ҧ����Y��-
��p�0��ꤗ��i4`,�;P�P�+\�/Ή}�L�v6̴E��ܵ�s��
��l��GY 2���c��|�@k��(5�"����6*��*<.���[�O�s�qzpf~؂���{ꯜw��!��� c�$!���#e��&+
k���B�*�g��.J�
����x;��)�6�.m���&0U �vcN ��N%1k���^�H�Y�J����D��6�����:��|D/Z%h(:Z
E
�Q��ƣ蓿_S�
��(���x�sĦ��]���H!����}
��Ƥ�O�N%yp�I�P���}ኦ
�
|��|�?���Rˤ0&N2) [...]
+�3)��I��4�r��Ĥ��I���*6޾�z�§�:`Q��(dϢ��E!.��i�
^F��Ha�@�.��7$R ����D
+1
+ֶ��$��<�O��R�)$0��㧈��*��NG����7w?A
����N�
�
�� R��>�S<JK�~0�4��Ql�܄F�%%���b��⊶m�v�������&��Y6�K
���Y�vJ��)+�D�K��Hhꕻ��
�I[ t��@����	��y��PK����BYk�DJs04v��On~*�ڢ���EU��i74�B`��� u�TO��T�DYq	\<�\
+�I��̸�*q)<�R��a.�������)呙˗�ۛ�l�d�QΤ���� qsdl��.�W�
u��!Ϗ2D#���IK�~P���?�&������魡��21�.NN0&�4c"jVϘ��z�D�0&��1����֜1��l�c"�aL��	=�1�c"�cR�X�`�(;�?� ���
�����c�{�����W��v��&/a�_
����
|ކ�?��f���I��dޙN�m�m�'2��i,"���Ç0�����:ȯ�z����dPDu�Nj$y��wϻ�m��i�>�@���Y[:ϣ�:�e�\�Y��kET3��4[1X��.ҲI�tD�:}�
f7�ݬ��}
��'��Z��
+endstream
+endobj
+3152 0 obj <<
+/Type /Page
+/Contents 3153 0 R
+/Resources 3151 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3150 0 R ]
+>> endobj
+3150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3154 0 obj <<
+/D [3152 0 R /XYZ 89 770.89 null]
+>> endobj
+3155 0 obj <<
+/D [3152 0 R /XYZ 90 721.073 null]
+>> endobj
+2697 0 obj <<
+/D [3152 0 R /XYZ 251.842 623.558 null]
+>> endobj
+3156 0 obj <<
+/D [3152 0 R /XYZ 90 617.54 null]
+>> endobj
+2786 0 obj <<
+/D [3152 0 R /XYZ 456.333 537.808 null]
+>> endobj
+3157 0 obj <<
+/D [3152 0 R /XYZ 90 531.168 null]
+>> endobj
+3158 0 obj <<
+/D [3152 0 R /XYZ 90 438.683 null]
+>> endobj
+2787 0 obj <<
+/D [3152 0 R /XYZ 215.12 300.71 null]
+>> endobj
+3159 0 obj <<
+/D [3152 0 R /XYZ 90 294.693 null]
+>> endobj
+3160 0 obj <<
+/D [3152 0 R /XYZ 90 201.586 null]
+>> endobj
+2788 0 obj <<
+/D [3152 0 R /XYZ 215.12 77.486 null]
+>> endobj
+3151 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R /F24 169 0 R /F83 262 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3165 0 obj <<
+/Length 2365      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯ�-R�����=m
;����J��uMq$����Iʻ��i $Ep��6��$� Ѝ���u7��E�����yzw�N�� #���O����		w���H�����#a�{����o?L?ٱ��ӻ�w�pD�|���f���_p4��?G1����K��S�����?�p�
+FT�K�S+�iO1B!^�!��O�x�f�xB)��˗Za�ڭ��9�EF�V��zIV*P���Q�
2�>'�bL�(�^�A�B��D
J0�4T#�����X&���&b�A
���;o���
�^�	�gM4��
fyVV��R�2�y��t��>�1����ՀP�*y��	Uiƣ	,d���l��a`Bd�r`��V�����y�s�,�*�q�j��;��"9b
�S�r���&զ�J��������2��1�o��
+�!�����<
�E��l
�_	�ЈKӼg�U$�;So�,��E�Z�깾(�U�l�{&�~���q��v>lq[��Yv�`���H�
+9��.g.l�{E>䕛"`���;3G�#�Q�jg��*�z�
�r0I��N쭴2�����U��i�M�l���q�>.�i�
���	�6
���9/�Wfq����lj��f-/7�;
�'�!&ExҲ�d�|0(�;)8
��u��^� x&�0G�� �����<�5��JP0%���|�F��T��[H� V�R�db�3��e2$
Obq
�V0,�@�����w�>ƀ�Ki�Oree���<�*!�#�
+yӪ��i[V�j�����h�}V�a <��	;�
O(?�����c�S�_�5�v�?�
�H���&
q��c��)�M#;�
����_A���0;w��Ğ+�"���Y�-¥��N4R�FjA����s�b���6٬Jmd�w���_1�I=��cv�����X�8����tc��3QF�b���Sr�
��ګEj�`L��܋��r�Z7� �z�G�
+�MK��������]�g)�qoK('�%gEXQ�
I��$�:@p��Lҵ4A�[�Pq~�o�M���==R��XK�ؓ�B��(`�0 P N̢��cQ�(���w�\�D�cl���d�-j���DT���Z "M���N���a�F^C��`}E��t7�P^Ss�1'P�:�`ﺜ`�	�bgc�����`��p� �<�	�[�CN�jN��;N����T
�Q\_�hA"����(�?�@����)����H�`)�y���@�M԰�@ �jl�k���?
��M�2��q���|�
� ��d7�
+	�4�
+�.2��=
�l��/a ���ZK\�W|W-
���VG��d\�g�4�
a��-����@> fux�f�_�����?�Wp��:&A�ЎR�:.�%g]� #F0F��;w��
M��U�f!7�
�W��M�$-�v��A
5
A��nˋV���f�|���?�Dnw�ҫ  �R�Nj!�;��
J�Ux?�
+p�a?�_���k�TK�����7���.��
�?Y"ϒ!�HÁ��d�3
aHNW1���D��/8b�3��

>��y�<h���ɇj�N��p�M�߬.q1�x4�nC
�`�/�m����,�������N��K
^�^�+%�2�M��K��'�۳4ɪ=��6oM6w����3H@	���1�"�ʧ�X���۶�%1?#�~ՠ�&�4��)cו�ϊ{���6ﲖxzh�Nf>U�wS�"���9)>�
�H�y ��n@�rX
��()3�a	����P
+�f?!
�*��[��fC�k ��?��ƃ]�aA�fc��v m�	�P�w^ �/����LT(q:�u��U�f�`O�?�TS at r@�W3t
��\��kf{�:1*��+G
+(���S��~�����L�g�2[�v�u�=���
*�&MLxD:go/�)L'��
#��>"0T �WE�����t������}q����l"۬�"���;:3�;�l�Cw�t���ξf�s6��Is��mI�ְ=��U�|}��A_[_ϓ,_���F��}���tN/t���O����l>Z5
+2a�d�+���ڂ�3jsNAf�Vq=lAƴ�8\�)En"
+2�3 �b�$W�)ɸDJ��J2�
�XIf��wfI�vc:Z�1����쬊L}����<�UZm��P���"@E٩��L���%�_(1Q����l���Z��/9,�[n�Mv
6t��n�p��Fh�V?��o���8[l�E=�S����8�Տ�U&ş�B�jw�g�x�->�?�;��m"���>%ImR������΅HGo
t`Z�?W������fQ&�����x�M��zٶ	�.^�E��B�q��m���e�q
+endstream
+endobj
+3164 0 obj <<
+/Type /Page
+/Contents 3165 0 R
+/Resources 3163 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3162 0 R ]
+>> endobj
+3162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3166 0 obj <<
+/D [3164 0 R /XYZ 89 770.89 null]
+>> endobj
+3167 0 obj <<
+/D [3164 0 R /XYZ 90 721.073 null]
+>> endobj
+2882 0 obj <<
+/D [3164 0 R /XYZ 137.91 647.468 null]
+>> endobj
+3168 0 obj <<
+/D [3164 0 R /XYZ 90 642.885 null]
+>> endobj
+2883 0 obj <<
+/D [3164 0 R /XYZ 90 523.133 null]
+>> endobj
+3169 0 obj <<
+/D [3164 0 R /XYZ 90 518.65 null]
+>> endobj
+2884 0 obj <<
+/D [3164 0 R /XYZ 90 398.898 null]
+>> endobj
+3170 0 obj <<
+/D [3164 0 R /XYZ 90 394.415 null]
+>> endobj
+2956 0 obj <<
+/D [3164 0 R /XYZ 510.023 325.203 null]
+>> endobj
+3171 0 obj <<
+/D [3164 0 R /XYZ 90 318.563 null]
+>> endobj
+3172 0 obj <<
+/D [3164 0 R /XYZ 90 249.989 null]
+>> endobj
+2957 0 obj <<
+/D [3164 0 R /XYZ 90 175.761 null]
+>> endobj
+3173 0 obj <<
+/D [3164 0 R /XYZ 90 171.278 null]
+>> endobj
+3163 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3177 0 obj <<
+/Length 2694      
+/Filter /FlateDecode
+>>
+stream
+x��\ے۸}���[�*
��%yJ���n�*';y�8#���Di%�
��� H��@J�����s t�!'�'�������
+'Ie���(n���i�|�(D�tF0Ɠ�n��~J�d������)ѓm�xL�x�]~��/�s�>�#{Ɋk����p&&�L?>|����OwB�	q.R:y��}���9|�}�3:�\\�I8e�N~���
.��_!F�־�sҴ1'm�<Q�!�ݴ`
|���Mv�A�ɡ��b䠇�_/f�5��u�F��|F3FĘD�]#��!�!\�X#c�kD�`0†��햗�I��u)��#R"C���aY�iWrn����ezt�V��}�^��M6��e��HD"���
�;��!�9"�
D�#�@j��.͟�}+�q>��z>kh?M����J���7ǭ{��\=/+����{��Ӽ�&�1��n�
��
)�O����z�"E���j�U�%�kG
+E P=�#�!J ��-�h�D��0'�.kN䯛l�
�{�q�ғ�`�݇
�$=�!�la�| ج�`��WF\��X�y
c��Xc=���f�@���;x/0�\Ģ���Zc��ĩ4CQV�g��8�-�pB8

+
I"�3,��6uX��Xf0H���)�P�Z��T��qP�#��A	\�����5�g>0:
�1�G��M��K��K�
+#%�(�C�<��M:U�¡�v
�
l�8+�C�I��s-��34�a�4�ֆ�7��	�*ys��j��v�>
����3*a�2���E�T$O�~
��~������n�g��������<���4�t�OA7qJGt�t3c at bΨ�����۬���*ˏa7��&'*7sw��s �jd��
�[�Ѣ�*.����)TM���l_�	{jF)"�,��Y䇺��t%(���&w�dp�S
r} �Y}J\�,`;4}F��:�&�%����W�ֱKg���E�:�)�)ϊ
/]���OulA����]}JV�u�)S���+a>�]ٶJ��' �P#4%Y/�XA��(&9�,n$�B��K�!g
1���z���c7��LV���L��M�7�d�
+9q�����5'ʐ�Ɠ�\8�T !a�4�:y��5
�V6k�Z{��i8=!������t5܎ș�<h~�l�
���w�����QXb3{�����U
�
�$��d]Ժ���T��c�vMLjt,v=�#����s!F";��!Kai*:��!`=a���>��6}v�U)�>|9�j��8;/��
Dž��(ωvZ�,�+�bi1���B��
V2���7�E��Y�"�e�M�7+��s�qA�U�(s��%��c%�!����Y�#`
(���
"]�y�ty3^w��9�N
��
G�c��c��t2���aLn��+�c��ǚ�-�n6ۼh�n��ζ�4��̡U0�u0��w$g�Z� �qa�=�
f�̘į`��{C�E0�0�M��b:F
V0#зyqt
+fT�Q
�vL��
w
fr��[�L��
™f$h�̸�T�fƌ���a�S2�Q(|�/��)�_�d�~~��q�S5��J�>���R�`{3
^�M��!��e,a�ļ؍�zՌu�fFAr�-Y�T���Ȏ�و���/(�1eI�#+�A�E��$+d�1z'[Uu�F�f�1X57=�,���G�E�y�C�
��j>�b�l�T^U��\�qm��
	f���
+֔�
+䃬
'��Z���1N�T�^�2L���_Y/�?/Kg���Y;&�ϊ�qv}��\S�"]���t�+*f�������烬

�Hgʌ��1�L�W�H�a4=~=�Y����9�.{ߠ�Yu�_.�\�;�/�����5��2���K,��DaŲb�SN.*���}H6�b�5J��g�C5+�!:�cm��g���L��A�vU1#��u�d�
�j�d�s
+�Z��r���&��=��p28�
�Z!j�Šy|�*>	F(�#�	C�z��yΨ�|������z����cp
+�۸�Ljk��~4I[�5��]X����
W)k��ޏ&�]�T�`蓲��.��(k+�V�`�3e��+k�녲�	S
@���2%=e
+
+̦2���5�BS�pr��S��B�'p)�2{{ng)%�� �=io�10��]���Q�S�Jyc���2�g�)�xX�Py���́Ҝ-�Z�
+���-�v��y�3��/���J,ti���Bai)O!߮�eO{Ϛ=�/ �C���}>c�uQ������o�>���5�-�e��\�,�����̙�}c��CVj8Z�y�R�4QW�H�ah�>kh��K	�n��y�@w�i�������4�c{
� k����R�x� +�JmK�e�l\y2�{t�.q��ti�~�:nځ�
��K��v at r8�(�J¡k!�
���Ư��fEm�Z,;��h]���|,���ؿ�
�vL��H�(�apTw,��jq�<h:����@*��e���c�0��q�m
�=��<�b���\Q�tj4�-j
+��;߿�޼u/��|�Z����ӆ�������C���T�IY��-�_��ID�d����G�	¶�FS{;��,+�p7�%ջ��}C�Ӵhzʆ`y<�~��8d�=o7�-��X�;%jm���f�����m
Y�25�j
+a���U� �?F�(E�+��+����6,���8���IJ�f
+endstream
+endobj
+3176 0 obj <<
+/Type /Page
+/Contents 3177 0 R
+/Resources 3175 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3174 0 R ]
+>> endobj
+3174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3178 0 obj <<
+/D [3176 0 R /XYZ 89 770.89 null]
+>> endobj
+3179 0 obj <<
+/D [3176 0 R /XYZ 90 720.814 null]
+>> endobj
+2958 0 obj <<
+/D [3176 0 R /XYZ 90 649.083 null]
+>> endobj
+3180 0 obj <<
+/D [3176 0 R /XYZ 90 644.6 null]
+>> endobj
+3183 0 obj <<
+/D [3176 0 R /XYZ 90 560.635 null]
+>> endobj
+2959 0 obj <<
+/D [3176 0 R /XYZ 90 476.55 null]
+>> endobj
+3184 0 obj <<
+/D [3176 0 R /XYZ 90 472.067 null]
+>> endobj
+3185 0 obj <<
+/D [3176 0 R /XYZ 90 388.102 null]
+>> endobj
+2960 0 obj <<
+/D [3176 0 R /XYZ 90 304.018 null]
+>> endobj
+3186 0 obj <<
+/D [3176 0 R /XYZ 90 299.535 null]
+>> endobj
+3187 0 obj <<
+/D [3176 0 R /XYZ 90 204.893 null]
+>> endobj
+2961 0 obj <<
+/D [3176 0 R /XYZ 90 81.969 null]
+>> endobj
+3188 0 obj <<
+/D [3176 0 R /XYZ 90 77.486 null]
+>> endobj
+3175 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F83 262 0 R /F60 172 0 R /F97 497 0 R /F72 194 0 R /F7 3181 0 R /F24 169 0 R /F8 611 0 R /F13 3182 0 R /F11 610 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3192 0 obj <<
+/Length 3095      
+/Filter /FlateDecode
+>>
+stream
+x��\I����ϯ`N!��V�K�
EN�V
%��d�Db��� 
p�(�>���l�@�ʕ�
 xK�[��������
��_�=����^|��� #���?�
�)n���k={?�t�����#�����o?޿�����w�����;��8z����vw�?��.r�ѳ��C��
��ٻ���aO�B!M;
+�q�<�(�r�$�y�
K���p؞jC�AD���Nmj�N� �"•������vA���&^g
"���T
�"X�B
J0�`��O����i�E��?��:��Hc~
�F�0O���'�ikxJ��TsD�o�C'�h��Yp���j�qnpLS���<l�.(
���`���#4�E�4�.j��7�D"�=��d�yby~9��Kj�`�%
��H?Y��l!��;�A�J��8��?��P*˶:q��{x�O�cA�<�/��#����m�e4c�pޖ��
�$i
e��}(�5��4�D1�x=�ml�z
�dL"��MV#��>.|p��0��(L�ׁɅ�����R� `�Ƌ���D�x����*���Nz���"�$X
�֎�0+Oi.+�����`D�q�
�X�G�G��رsa�T��
�`.d1����qܳ8?ī�c��lJWҬ
:6�*O
0��T6S�l����
���)�quϤ�#<�.����N\�A��⯞�O
!m�6��(���!���!I�5�L�Qvn��)� #�_��fH#
��Ry�I�J")�L�'��3i�O��4ؖǕB [...]
,2@�,2�s��IX�~2|О�-9et��L�v~�a�Wj��0�4dRXB���L�ne.St�]Ɖ��'���j�o�������C_jq�
9��RQ�(�fH�������������8�a��$�������z�9K�6g��ihǶ|��õ
��0x`�-�\P>��P;O���Ĉ
� �h	���r2�����-�v�u��wI��\�����j��XOJ}l&�Bwp3��fF��f67P(���f���T��)a�ka13�;Z\	�I����U�	��*��� H���K
1�X.;͠
�LO�͠/�p���n�Hʡ���D��I���&w�ރ	�l*�8L�f��� �
+�>�jL&��q�Mރ
*v6��
�]���
.fН�f�D��f·�C�N\��a�
���R�Aw��Bw��K��܇�]���
�N��ss����v����x��qҏ�qm�w�����\�8-��v��}�o�Y�NH:[����+�{B���
�O"�I������Π-��-�1�%�H�A�mؙbH�
�g�i���WS��*��J�:�
x��^��F�
ڞ�Cg���Mc'^ɱ��B�,
�H)�hY(9L3,A�Z ��Ni�q2æm˼:�+Wܷ�c:��D�l�����&�Ǣh
���F���-z
�5\
��.vc�dL�.
ɴA�L}�!�tf_y�v��c��2��d�mXc�枹,9#c_n
���`BA,}\C{��������D��b*�!ኧ�hCB�{=,�!YG���
��M��yeT�J��7��,¡0�%w��A�&
+X�B����ahc- r
��3�rk�� ��C:2،C:4� t0
565�:����t�.�AM�a�~q�e�:�]k��
+�Q�x�P�k���;����>�t m��|��
+=�t08o��]D:�y��9�C\�tH3�`�	���mB�@:���N�}�8��(��>aEouUA�H���q���'��H�`5}� ��c_N�vf�6��M�
+G#�E�c�̰e�2�6�1\q�Z at n�����jgkf�S�� 
��
��):l��q@�pu|S0�4
;O�v�$IantP��h�U��8�a
�e~u�c�澹���E��_sM�
g>�a<���~��U�ВN�9�w$�6C`�Hn���9��豋�T��D&�Њ�e�h�4��T�M�BSϴ�������==>�	\�����&�v����	�+A;��-����?��{(�i��%��s
År�(
�����Z��`��*���^�ԯ��)�
l�	���ߞ�#�si7���v� 9x�b�κ��Z.���,4�v����|���V�l��O%Ͻ{"
+�͔iHHMw
e�$�:���t�4��W)���2�Xr�aq����TS|����O�P��põ�z���]
������V
+V-n�2�0$n�k�GY}YH�>���%'�M���!C>�{�'���n��c��9r�#�R	��
I���L
k��ޚ8{�N�=�c����C���EBΩº�8	hl�W��]�>
E(�A����=�[���yj�R"���5fm
�O>,�|�7pG�����!z�̊_�(
q׳���,1?���ײ�I^D�'�F˲ׄ��i�&���ur�&��cq�&��ѯ��2�]�T	�=�H�>��x��
+�B��8.�]�\�i�)_
�ڐ�3�5�'k͡���V�ti���˜��I���*`-2�y���h^���ѝ�Mt����'��_NU�k��[�q��s��9���T������a���c��!�b �8��|�%k�K�2ٞ��Ҟ��h�;�����?��7 ��8�Z��͊���������f
�%�[6
�.����0%�P��y���;y�o������_��8{�H�[X��?�8��B�y�0�5J���Ŝ[���nma]��D2>��jJ�������]�*-��m�Ժ9
�{����S
�Oh�ߝ�
�7���?V��w��
G�Z��h�Q�����H�
+endstream
+endobj
+3191 0 obj <<
+/Type /Page
+/Contents 3192 0 R
+/Resources 3190 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3189 0 R ]
+>> endobj
+3189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3193 0 obj <<
+/D [3191 0 R /XYZ 89 770.89 null]
+>> endobj
+3194 0 obj <<
+/D [3191 0 R /XYZ 90 634.093 null]
+>> endobj
+2962 0 obj <<
+/D [3191 0 R /XYZ 90 550.009 null]
+>> endobj
+3195 0 obj <<
+/D [3191 0 R /XYZ 90 545.525 null]
+>> endobj
+3196 0 obj <<
+/D [3191 0 R /XYZ 90 450.884 null]
+>> endobj
+2963 0 obj <<
+/D [3191 0 R /XYZ 90 379.153 null]
+>> endobj
+3197 0 obj <<
+/D [3191 0 R /XYZ 90 374.67 null]
+>> endobj
+3198 0 obj <<
+/D [3191 0 R /XYZ 90 280.029 null]
+>> endobj
+3026 0 obj <<
+/D [3191 0 R /XYZ 90 204.771 null]
+>> endobj
+3199 0 obj <<
+/D [3191 0 R /XYZ 90 200.288 null]
+>> endobj
+3190 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R /F8 611 0 R /F13 3182 0 R /F11 610 0 R /F7 3181 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3203 0 obj <<
+/Length 1927      
+/Filter /FlateDecode
+>>
+stream
+x��Zˎ�6��+��
d8|?�k�&H�i3Ei(�fƨ-;��`����d�ٞ�ЦE0
R��\^^�s.�4�Jh�b��bt������N..G#
QW�����&g�R:^��L8
�7��l3av��?lӫ�Wt�2�f��t���_�ˬ|&�˟�jl���ū��O#h��"�&����{�����l�|h�H.�.���_F�m�
�#��u6��A)����*v�.C���
]���<��Z{��8ݮ6�����
�Xa _�r4>�&��7���8�_9�0j�N�|;Ϸ�w��o{�)G�����pʏ��g��S�Cms���HS~�R�ɳ	c��=���Q
l1|&c�g=���At�(�b�7��~�U+�m3��D)7�
\`=I�q��=��&�l��Dg�_dy���;��c�T�$A��)��2�TѰ���#)�����P�	/r�z�X⨪_Ģ�!g�kZ�~�c�Ӹ`X��8�K����~���CNmM�>
���L
��Pc����
b�c��C�6�"�f��!�Ty����8UD	g����bVL�3�44X�\aٗ�B��<���� F�^�/}��f��}2��U픢g
~H��E�W���I�Y����|��F_�梲�A
�V
iq.��̻��J	�ym����t[���&+�F��v�
D}�1�	�`)��g��y�Q��~2�Eת���"���u�t(�X�iw6_fy�f��	����	N��qVc���XDt�
&:����=|x$�ie�Oqu��B
��X������訋�CtR�!�(׹��
�l:1㛩�Ǻ���-�
�o(q
7
c;F	� ��	h�������0���4�{���Dh�I���n4G�l�%�cp��B��1�q�<a��I��x�(���)��f�� �s+��t��e��8�I����*!�l�w��5ߵ̯���K�+���qi�m���Ĕ(��x��xU�b>��"�ԑ��Ͽ�&�}�?��%)
ڍP����k|�r�OC+/W���ͪ�A���>,��{��[_��J|�}��\_/4N���KXmZ����:���m�'�P|��jZ�庶���i5��Y
�(��#t�Ϊ���t�-B�/2�b�ݩ�F�pΠK���
���p��%����#P��Sª��0��^� *#��Q$
�w��rτ�zgI"���
�fA
�q���a�fdÉE7B>�F8t� �Ք�b���r�~D�������֧�E!hnˑ�f��U%�,c}Ӑ���j,�XP�շ��ó{9"B���rDK�)9"���h��ݺ�#�*�[�E���E^�<�*F�����t' [...]
-� ��ἃ�͠H��y�4�is�󐐠1�g��}��ӷv�;5�#��
+_aO�9��9�=��sVC}��Ya/���<Ʊ��|�!��^��
+�k��U�-I��H����>���$V��SF�{�4
+�����"�#���g=�\�h7.�Tac�X
���-8� ����#|dzB�Z4��"��VƸ��u��a�d���վpv�*�n6+�I�VD��0G��q([nNU��IH���0S��4�~�
�2 ����h�P_)㎔Q9�{̟L�⮇���Aj�
�^8�%����7o^�γмN�]z��O�M�W-g~+��7�ƕ�?��.����K�d�m���k�x=H�o��gܟI��qT�]c�ߛ�n�������󏻫"˯ȴڢ���yـT��XE،���V���m�qY
}#ub���(#�O�18��
e�<��V��Y�X�p�r)��W���<�ߕ�?
+endstream
+endobj
+3202 0 obj <<
+/Type /Page
+/Contents 3203 0 R
+/Resources 3201 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3200 0 R ]
+>> endobj
+3200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3204 0 obj <<
+/D [3202 0 R /XYZ 89 770.89 null]
+>> endobj
+3027 0 obj <<
+/D [3202 0 R /XYZ 245.416 711.11 null]
+>> endobj
+3205 0 obj <<
+/D [3202 0 R /XYZ 90 704.59 null]
+>> endobj
+3028 0 obj <<
+/D [3202 0 R /XYZ 332.797 625.36 null]
+>> endobj
+3206 0 obj <<
+/D [3202 0 R /XYZ 90 618.72 null]
+>> endobj
+3029 0 obj <<
+/D [3202 0 R /XYZ 90 461.393 null]
+>> endobj
+3207 0 obj <<
+/D [3202 0 R /XYZ 90 456.91 null]
+>> endobj
+3030 0 obj <<
+/D [3202 0 R /XYZ 332.797 375.743 null]
+>> endobj
+3208 0 obj <<
+/D [3202 0 R /XYZ 90 369.102 null]
+>> endobj
+3105 0 obj <<
+/D [3202 0 R /XYZ 90 211.775 null]
+>> endobj
+3209 0 obj <<
+/D [3202 0 R /XYZ 90 207.292 null]
+>> endobj
+3106 0 obj <<
+/D [3202 0 R /XYZ 90 77.486 null]
+>> endobj
+3201 0 obj <<
+/Font << /F70 192 0 R /F83 262 0 R /F60 172 0 R /F82 260 0 R /F24 169 0 R /F97 497 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3213 0 obj <<
+/Length 2589      
+/Filter /FlateDecode
+>>
+stream
+xڭZ�s�6�_����3k��)����7���{���!���-�֜-���4�� )Ytdom�KD� �L<YN��?o���y�cOR�*�&w��4�$"%R��|ri1�|�ӄ+Mh�`��}�뇻>�����w7��P�'ԭ�$ѓ����s<ɡ��ILx�'�v�f"��zr{��؋&��/�f�QJ(u$0�0��tF�8����Θ��s�m_�E�"�����S�1��� T�$Na��)����)�1�?�+��i���v��q��Z��L^O����u
�d�0�DP�/\�!NE���ƔM�4_�f��քŽ=��
��'�q�����Ng:2��,Ț~%
N�H�@�cڑ0�k�
�
#��1�n�0���q*�If�'��M��ڕ��ޗ�Y���n�����ک��Ո$�
’^��SGG�I�~%�Q��1[
Ә��Z0�sF����YO�8��s��p�_��ק)�#S�c^a�yL� 1�wV�!	��7��ʦ
��	�����|x��
����KӚMw`�
�����@�G���G�Z�*����NiGqW�i7�U���r���vm�TF����¸"�'�H"�8� �)�&�b��]զYU�|lO��{���sĤ
�,�!=�Y9�D�I�
+��ԧt���̋�"�e�5j�el+)�B�
.����'��f��&�l7�Š�?��0��4����-��:��=UQ[����x�ݔ�4�
�?���8r[�����-�
�f=��ftg)�\��o��~�&�����N�'T�Y�U�~7Sm���

*֋�Q�W�hݟ�� Q��j�I!�`��h,S�E
���u�a�!1
a*�$݇�1� �^=��I �059 �,�-�\��p�4AhQVg�p�4jBz�߀���az�hL�`��+E���[
)`:��&\'�(�o�ax�
�&�|�!M���y#�R���!�,	Y�Y�p����U�zHyhA�)�Ǫޘ���Tz���mp9��B�^��YV+��,"
�Fj
H���Q_�y��Cη[�(�
�Ί���Πy�D����܏['irr��g
�MKp��R�_��Y=�p��3������kYws,��"��
2������4��ÏP�g$Ey �������
�#����G��])�yH<W�!�`��;�@�f�"�q	=->�E!?D�6B�/��i���
�E
ǁ8dh�(�
�]���=�����˖��������ݶU
Y���4�\���pS���Ùs�D�a��E8�����&��)W�vp��,V�:8A�
�mF�/���t�q8
:���Qm���
`�W�u~(�{\ao�+;��
+[�����Z\!���
x?7sO�M���L�����f��\DɯÕ����z�UGqu�q\
:\q�"���K<
|���U��ʧ���t����[�G
���
�u�8�eCqC�č ���\����R^��]��"N�
�JOK�1�7.A�y�ԨU_�:�
y��.���j�b�~�θ�Q�C�ck[!tj��Rp���g�����V����U����5l
�%T�
0\w"I�$*=�%κ9ǫ�:Z�P����8��?�T;f��bgX���,��xB���}�j����6\�An!��l�6~��Z76�UJI��SV�r�c�K��i�E
y�P��7:
_�g�С5|�
+�'e����6����9�.p*�
w ö�	߬iv��w^��ò�
�
����uT��/[W��9D���E�~.wY���s��$�Љ�n��0�*v<����p�

mM��p��E��6z�`D����+j�7�,������C��~w��
��_���k�;O�
q��9�6]��λ�@�=a�< <0�PLՉ�̽�f�A��t�AӉ��Um��Յ#��
~�
�x��o�B�rE!VR� �������MU��߀�Eј���o�~+ހ�&Xa��U)���C��0�K�M�ag0��S�S��Jz�`�����|~@	�(.�����W��1��
˻�$}�"������,x"�����@G����$r�9ǂ�EB��졐����k�m_�v[��ckU,W]�
�]W�����l����n�����̏��� ��T]Z��j���F��j,%B�
�ɴ�}Ԩ�l۽wS
�����(�.�oZ�|���ij
b)���}����N ��ֹk��
��{
+�?�~l/�OFSXW�C�}�_�
�M�~�Sov
�?���zțGd��zQ�r�'�r�ns�����Q���Ǒ}��Cp��hyi
��կ
�TD
7~yP�ͫ�n3(g@�cUw�+��
+��+ƺx�Ǘ��`�9
+�H*��Z�ݝ��h���6x��`��ھ���_>1&�Y�3��E�
�H^�L{�j�H��_���a�J@[����H�88l��n��x�~�'���؞�
���;S��L`��88�혆�����x�>�d%�K?�����ۘ�oSH�������l�@�>;ۇJbwf
���U���_���ol�2�[3[��IȪm�߾};�-!-_��{6�������_ at zڴ�#3g�Rrh���t`�
+endstream
+endobj
+3212 0 obj <<
+/Type /Page
+/Contents 3213 0 R
+/Resources 3211 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3161 0 R
+/Annots [ 3210 0 R ]
+>> endobj
+3210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3214 0 obj <<
+/D [3212 0 R /XYZ 89 770.89 null]
+>> endobj
+3215 0 obj <<
+/D [3212 0 R /XYZ 90 721.073 null]
+>> endobj
+3216 0 obj <<
+/D [3212 0 R /XYZ 90 622.696 null]
+>> endobj
+3211 0 obj <<
+/Font << /F70 192 0 R /F82 260 0 R /F97 497 0 R /F24 169 0 R /F72 194 0 R /F60 172 0 R /F83 262 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3291 0 obj <<
+/Length 1301      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��8}�W�Z��I���Fk��Ap Nw��V�VڦV�E���_��V�¶[>A�9�%��M9��k ��#1F_��=�����/�$đW�
8�-�rd�}�k��m at X����� �'�ͷ%$E��� ߂r�l��D"��?];S7�����6 �;c��
*� D����׸������#^Z	>�E��>8�d���@$�B��9�	����P�����&Z��_�����3����b�2-�5�f$?.ĄYL� �2T�j�/��u�3��6HU
б�'�j��>��5�2��f�������92��w�Vk���d����jtU��?5�G�
��c�o��f^�!�L�L��*�.�t5�*s�6�����e*3�\.g���s�F����:���
7xoQ�q�2�V�'��b�{/��L�Y�	����]�!˧ճ{��"�N(�O�$]�2@�H�ԪH�޲�i��bE�P�<�
�z,*����[Xee��V�L���p�) �
+T�*�#��ض��G��3�cz�p�>�>)�}l`K%̖������thjņ���O6,îk�>Y3�̔���Z�󅘻�[l�s���I
�P��.+�Ng�5��$q–[����6������k
:2���"н�o1-uh_����LE�
�:>aU|��H`�3w�ҹ_�Y�6�Q�Հb}��4Pg�	j~�.��7 �E���X*���.w��lQ�-�BƼ	qR�����uo�]�-Yg�����p�q^9�~sJ|���b[��2|}�w'\�ņ0��r8�&ա+��ނ~���	<�e���:\�C����Q"а*����,�; B�(�vP���3����7�Ɩ�ɠ���[e�휵�th��(u��	��j�kG��,;\ʦ2��V͵r���
�S^�Ntf��[����T'}e�̈́���M֬	��V�
��k=�r�NUn��v��5��Qz���Hv堉�%��:d�?�]���=n�ZЉ)X����B�WD�YZHio����\:t���i��H' [...]
���FS`8��nT�ؠ?�t�)�юr� 
�Ev+�������^�S��O��b�g~�lY��g_S��Y���<�]���aR�� 򒄸�̋m��k� ���E��
�7�7�u������X�8
+endstream
+endobj
+3290 0 obj <<
+/Type /Page
+/Contents 3291 0 R
+/Resources 3289 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3294 0 R
+/Annots [ 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R 3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R 3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R 3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R 3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R 3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R 3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270  [...]
+>> endobj
+3217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.191 671.54 192.146 682.443]
+/A << /S /GoTo /D (page.18) >>
+>> endobj
+3218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.577 648.806 166.533 659.71]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.81 637.522 269.765 647.708]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.396 625.52 265.351 635.707]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.253 613.519 274.208 623.706]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.177 601.518 289.132 611.704]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.291 589.516 264.246 599.703]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.886 577.515 254.841 587.702]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.253 565.514 274.208 575.7]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.755 553.512 289.71 563.699]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.898 529.556 187.853 539.742]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.583 517.554 215.539 527.741]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.202 505.553 253.157 515.74]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.89 492.834 213.845 503.738]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.89 480.833 213.845 491.737]
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+3232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.193 458.099 178.149 469.003]
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.571 446.815 189.526 457.002]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 434.814 184.545 445.001]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 422.813 184.545 432.999]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.59 410.811 184.545 420.998]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.609 398.81 179.564 408.997]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.773 386.465 279.728 396.995]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 362.508 184.525 373.039]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.222 338.895 160.177 349.082]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.116 314.939 159.071 325.126]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.322 302.938 301.277 313.124]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.116 278.981 159.071 289.168]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.935 266.98 265.89 277.166]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.58 254.978 272.535 265.165]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.281 242.977 264.236 253.164]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.264 230.976 295.22 241.162]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.655 207.019 164.61 217.206]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.312 195.018 301.267 205.204]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.502 183.016 266.457 193.203]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.377 171.015 265.332 181.202]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.702 159.014 242.657 169.2]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.156 147.012 268.111 157.199]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.966 135.011 198.921 145.198]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.154 122.292 306.109 133.196]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 100.393 140.809 109.24]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.909 86.335 293.865 97.238]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.913 74.333 236.868 85.237]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.711 671.54 451.666 682.443]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [462.954 659.562 474.909 670.466]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.446 647.584 495.401 658.488]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.428 635.606 420.383 646.51]
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.721 623.628 472.676 634.532]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.435 611.651 389.39 622.554]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.974 599.673 394.929 610.577]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.02 587.695 467.975 598.599]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.181 575.717 454.136 586.621]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 563.739 450.829 574.643]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 529.444 402.939 540.348]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 505.488 414.555 516.392]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 481.533 414.555 492.437]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 457.577 414.555 468.481]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 433.622 414.555 444.526]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 409.666 414.555 420.57]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 385.711 414.555 396.615]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 349.8 414.555 360.704]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 325.844 414.555 336.748]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 301.889 414.555 312.793]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.6 277.933 414.555 288.837]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 253.977 402.939 264.881]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 230.022 402.939 240.926]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 206.066 402.939 216.97]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 182.111 402.939 193.015]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 158.155 402.939 169.059]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 134.2 402.939 145.103]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 110.244 402.939 121.148]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 74.333 402.939 85.237]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3292 0 obj <<
+/D [3290 0 R /XYZ 89 770.89 null]
+>> endobj
+3293 0 obj <<
+/D [3290 0 R /XYZ 90 684.655 null]
+>> endobj
+3289 0 obj <<
+/Font << /F82 260 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3366 0 obj <<
+/Length 1309      
+/Filter /FlateDecode
+>>
+stream
+x�͚]w�8���ܭ���$��9�t�Ua�����ɡ�*;�؀��~�
�V�J�V{#�?���A�� ����v�Q�&j"��4 �-MT;
��6j�p?	�D
H�S�j
{���BMwk��
R�Yն0
+k�?�0f͟ �Z[x�
+-(�c 8��k`�msH�(Iŀ�����P�;�ic����n�tnl
[�1tsH�u���d�4E):��;�ѧF*���R/}����������}]n���pq��c�;�w ���~N���
9��|��m��"�7D;p����n����Eo�;�<�g���7�`c`��c|�_*Z+�6�}dYӻ�K��
˹�c\3`�����������&�m����ƴ�O/~4)
�:�5�y�b�kW�\�
^�fX�����
���9d��$IuB?�
+�~r8@� ��ܡ��
 8� [
I�{�
IJ(v�ÜD#�Gq���gm^S�\�1b[�6S��KV��vɔpq��6G�1��1�o@�^�A���ʺl4��ל�$%��8FiW�Բ�z-������s�:�%U�Cr$�J�C�U�yM��Օ}�
?�*:B�CN-������ �zK�8R�
+(M�-i��L���(��(I�)�GV.�
�h|0�I6���}x��K	���!��/��,K��<b
l�ٷ(mkr@���Ѻl<K��M�KZ�w�� Ԯ ��A�K{�Cvs��>
+PFb
��e�V���l@/m��x���<���T��-{ F�e�XG9�#�[��<�����D���TҏG�������H�
9����8q0O���2�m�J��-[>�Z1���/�
���tv�e��Ӕ�)�asU�_9� �8Kg,�ev�>B� �Q
&�
1X�y�1�d�%��( ����z69|�
�����a�Eq���&˒&9<�
&W [=�E�:`B.�u
V����x
�Y�x\U9t҉���e����
��������Z�l��g���l8�&�NO9{�2�;�P5�܋�����>���Co�]�^8����G�N�,�2N7�
��� �Q9�rF J/��s�翱NH�~-�ꏓ�Ǝ�ms>��҂/� P��<�� U���*��q{���
+eޭk
[��h�
�����0���=���h�2BY��L�Y���ςˍH�T��m��4YPZ�{ʝ�⽌e�/h�Cߋ&�l�ό�=p�7$Pgsi�t��[CQ�Iq>�"V�߿�ko~$�vIl4e���pm��se�_�F��݆"Ԕ厓i�������OM�Q
n�h�hUZ�V�_��
c��ÏXc����
��N�0�
+endstream
+endobj
+3365 0 obj <<
+/Type /Page
+/Contents 3366 0 R
+/Resources 3364 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3294 0 R
+/Annots [ 3295 0 R 3296 0 R 3297 0 R 3298 0 R 3299 0 R 3300 0 R 3301 0 R 3302 0 R 3303 0 R 3304 0 R 3305 0 R 3306 0 R 3307 0 R 3308 0 R 3309 0 R 3310 0 R 3311 0 R 3312 0 R 3313 0 R 3314 0 R 3315 0 R 3316 0 R 3317 0 R 3318 0 R 3319 0 R 3320 0 R 3321 0 R 3322 0 R 3323 0 R 3324 0 R 3325 0 R 3326 0 R 3327 0 R 3328 0 R 3329 0 R 3330 0 R 3331 0 R 3332 0 R 3333 0 R 3334 0 R 3335 0 R 3336 0 R 3337 0 R 3338 0 R 3339 0 R 3340 0 R 3341 0 R 3342 0 R 3343 0 R 3344 0 R 3345 0 R 3346 0 R 3347 0 R 3348  [...]
+>> endobj
+3295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 696.002 198.074 706.906]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 672.092 198.074 682.996]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 648.181 198.074 659.085]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 624.271 198.074 635.175]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 600.361 198.074 611.265]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 576.45 198.074 587.354]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 552.54 198.074 563.444]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 528.63 198.074 539.534]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 504.719 198.074 515.623]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 480.809 198.074 491.713]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 456.899 198.074 467.803]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.503 432.988 186.458 443.892]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.503 409.078 186.458 419.982]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 385.168 198.074 396.071]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.023 361.257 196.978 372.161]
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.01 337.347 157.965 348.251]
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+3311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.048 325.392 222.004 336.296]
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+3312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.878 313.437 184.834 324.34]
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+3313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.079 301.481 283.034 312.385]
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+3314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [211.314 289.526 223.269 300.43]
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+3315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.993 277.571 188.948 288.475]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.454 265.616 276.409 276.52]
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+3317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.689 253.661 216.644 264.565]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 241.706 182.323 252.609]
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+3319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.77 229.75 274.725 240.654]
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+3320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.005 217.795 214.96 228.699]
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+3321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.684 205.84 180.639 216.744]
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+3322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.56 193.885 297.515 204.789]
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+3323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.248 181.93 238.203 192.834]
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+3324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.927 169.975 203.882 180.878]
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+3325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.111 158.019 216.066 168.923]
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+3326 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 134.109 217.192 145.013]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3327 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 110.199 217.192 121.103]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3328 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 86.288 217.192 97.192]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3329 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.312 74.333 197.267 85.237]
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+3330 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.426 707.957 442.381 718.861]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3331 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.69 696.002 438.645 706.906]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.401 672.092 430.356 682.996]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.401 648.181 430.356 659.085]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.475 636.226 410.431 647.13]
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.108 624.271 439.063 635.175]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.046 612.316 437.001 623.22]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.175 600.361 421.131 611.265]
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.472 576.45 379.428 587.354]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 554.597 357.291 563.444]
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+3340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.244 540.585 493.199 551.489]
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+3341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 516.674 423.153 527.578]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 492.764 423.153 503.668]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 468.854 423.153 479.758]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 444.943 423.153 455.847]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 421.033 423.153 431.937]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 397.123 423.153 408.027]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 373.212 423.153 384.116]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 349.302 423.153 360.206]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 325.392 423.153 336.296]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 301.481 423.153 312.385]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 277.571 423.153 288.475]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 241.706 423.153 252.609]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 217.795 423.153 228.699]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 193.885 423.153 204.789]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 169.975 423.153 180.878]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 146.064 423.153 156.968]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+3357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 122.154 423.153 133.058]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.273 110.199 403.228 121.103]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [506.281 98.244 518.236 109.147]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.134 86.288 512.089 97.192]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.46 74.333 510.415 85.237]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3367 0 obj <<
+/D [3365 0 R /XYZ 89 770.89 null]
+>> endobj
+3364 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3418 0 obj <<
+/Length 1117      
+/Filter /FlateDecode
+>>
+stream
+x�͙_s�8���)x;3s!a�I�K/ms��w3i�Q@ƚ� B4����Kl��`;N^�,��O��]��jH;��
��;Hs
��D�L5i��5l��vx�������6–�,ƕ7�N�;8�
�:������5?
�~CZ �4dX�X{(���i�5�n�<���ڦ�9W*�4��q���Nu�
~E���1
ٯ%R�"���|��
�6�Q}�R
+?G ݵ���S����.�E��-&�wV�eB�l�DVjb�9����
�p�>��`�F���7�zU^4ˎ�5�� %��<9�6���0G��tE�ѓ[j[1�:&
+뼐
b�zYJ}�<f"��mP�/�a��W3/M�P{
ᘋ�/YDX���Q�vP2�^�y)*�[Ndu&�Ӕ�*sy4�x(v˼B�� kU\�k-�3���X?RѰ��Zy� O�*��c��L�F/%�̘���M ��`�}L���.6B1
��
3��h��2�󏢋I�%VR$��V�K~'�|�HO��
+lZ�VW�mF�f��2&T�o�o}��<P��	�����؞
f��y�Ho�F�9�H�$h7�Y�H��;A�!Mt
�r#Qn-���Bpŋ竕X�R�x��ӭ
�����
�tx���QdO*9�����*͕7ͅ_�e�z!he��| !�g�QG�����WکL�Lʜ	�A�<f�ŭ
�]�
gtM
m��vᐝ�sؾ��o��8���,>��:��~�.A
���WPB
,J,� �t��ɋx�T؏���Ի���d�1Z�2�ղ�
+܌)/`���/S����B�n5�D��a�L��k�@�����<��@v���ud�KYښF�7}�-�ɫ�Zl�D�7�A�aԃǘ	��x��{/������Nآ%�]߶�SԼE��rv}s��SOi���V� ��?���ŪCs]>v ��V�c�渁�c��c��c�n�3Vy�X����%aNC֬p�ũ�a]�u�_���=̪���iT��"�_@�����Y 熱z���kM��ƜC�c�0]�9��)��v||����'����8"�;mr}
��jq�q���栧����A��X
�~?@��O̷˛�����"���
�|�?��
+endstream
+endobj
+3417 0 obj <<
+/Type /Page
+/Contents 3418 0 R
+/Resources 3416 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3294 0 R
+/Annots [ 3362 0 R 3368 0 R 3369 0 R 3370 0 R 3371 0 R 3372 0 R 3373 0 R 3374 0 R 3375 0 R 3376 0 R 3377 0 R 3378 0 R 3379 0 R 3380 0 R 3381 0 R 3382 0 R 3383 0 R 3384 0 R 3385 0 R 3386 0 R 3387 0 R 3388 0 R 3389 0 R 3390 0 R 3391 0 R 3392 0 R 3393 0 R 3394 0 R 3395 0 R 3396 0 R 3397 0 R 3398 0 R 3399 0 R 3400 0 R 3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R 3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R 3413 0 R 3414 0 R 3415 0 R ]
+>> endobj
+3362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.308 707.957 246.263 718.861]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.03 696.002 258.985 706.906]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.6 684.047 285.556 694.951]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.844 672.092 297.8 682.996]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.916 660.136 270.871 671.04]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.206 648.181 297.162 659.085]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.991 624.988 162.946 635.175]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.45 612.316 309.406 623.22]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.599 589.123 179.554 599.309]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.177 576.45 289.132 587.354]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.994 564.495 281.949 575.399]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.34 552.54 280.295 563.444]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.168 540.585 294.123 551.489]
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+3380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.484 528.63 292.439 539.534]
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+3381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.003 516.674 276.958 527.578]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3382 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 504.719 175.668 515.623]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3383 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 480.809 206.672 491.713]
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+3384 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.023 456.899 196.978 467.803]
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3385 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 432.988 198.074 443.892]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3386 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 409.078 198.074 419.982]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3387 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 385.168 198.074 396.071]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 361.257 198.074 372.161]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 337.347 198.074 348.251]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 313.437 198.074 324.34]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.503 289.526 186.458 300.43]
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+3392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.165 265.616 276.12 276.52]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.165 241.706 276.12 252.609]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 217.795 198.074 228.699]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.119 193.885 198.074 204.789]
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 169.975 206.672 180.878]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+3397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 146.064 206.672 156.968]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+3398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 122.154 206.672 133.058]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 98.244 206.672 109.147]
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+3400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 74.333 206.672 85.237]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+3401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 696.002 423.153 706.906]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.646 672.092 492.601 682.996]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.377 648.181 415.332 659.085]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.984 624.271 402.939 635.175]
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+3405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.646 600.361 492.601 611.265]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.646 576.45 492.601 587.354]
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+3407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.377 552.54 415.332 563.444]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.452 530.622 395.407 541.526]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [451.605 518.667 463.56 529.571]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.6 506.712 406.555 517.616]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.579 484.794 393.534 495.698]
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.706 473.556 407.661 483.743]
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+3413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.213 460.884 387.168 471.788]
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 427.011 423.153 437.915]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [271.299 44.211 348.609 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3419 0 obj <<
+/D [3417 0 R /XYZ 89 770.89 null]
+>> endobj
+3416 0 obj <<
+/Font << /F70 192 0 R /F60 172 0 R /F72 194 0 R >>
+/XObject << /Im3 187 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3420 0 obj
+[329.4]
+endobj
+3421 0 obj
+[631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631]
+endobj
+3422 0 obj
+[611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 611.1 351.8 351.8 351.8 935.2 578.7 578.7 935.2 896.3 850.9 870.4 915.7 818.5 786.1 941.7 896.3 442.6 624.1 928.7 753.7 1090.7 896.3 935.2 818.5 935.2 883.3 675.9 870.4 896.3 896.3 1220.4 896.3 896.3 740.7 351.8 611.1 351.8 611.1 351.8 351.8 611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9]
+endobj
+3423 0 obj
+[777.8 722.2]
+endobj
+3424 0 obj
+[571 571 856.5 856.5 285.5 314 513.9 513.9 513.9 513.9 513.9 770.7 456.8 513.9 742.3 799.4 513.9 927.8 1042 799.4 285.5 285.5 513.9 856.5 513.9 856.5 799.4 285.5 399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 2 [...]
+endobj
+3425 0 obj
+[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2]
+endobj
+3426 0 obj
+[539.2 431.6 675.4 571.4 826.4]
+endobj
+3427 0 obj
+[500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
+endobj
+3428 0 obj
+[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9]
+endobj
+3430 0 obj
+[500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
+endobj
+3431 0 obj
+[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
+endobj
+3432 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410]
+endobj
+3433 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3434 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
+endobj
+3435 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410 319 230 319 479 0 0 0 228 456 410 8 [...]
+endobj
+3436 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3437 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444]
+endobj
+3438 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+3439 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+3440 0 obj
+[472.2 472.2 472.2 649.3]
+endobj
+3441 0 obj
+[277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8]
+endobj
+3442 0 obj
+[222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500]
+endobj
+3443 0 obj <<
+/Length1 1549
+/Length2 7050
+/Length3 0
+/Length 8075      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T�}7N*)HO	i6J�;���6��!�(�%%�]RJ
+�� !���!����������y߳s�����u}������c=
Yk�%T	���� 򚚪   ���XY�0�#�o=��������C
	��1:�	w��:@ ����E�v�#� 
+7�5@��w���X��O$������#�݊ }��;
 �E¬ � M�ꄩhq���`P��R�Kء�1>>www^����������v ](
+�t�Z~AhA������v0�_=�
�
��0
+G���	qu��"�� =U
�6�����_܀?��xA�I�'�W"���`���	q��9�l`�P���/��
�8[�r�8��x����8�>:�$��`����B�h/
+��
#߯4�6+:[�Ý���hѯ�)��P+L�=��
�������ds��������
sq��*��������B� !��#! � �����U 쉀�6�~�1|�p��
��b~��Q7( �t��z������Y��P[�3�?�1j��_2f�H���� ���ϓ)�a�pgG����O��������rrp�7� ?��_ E �0���������1��t��Q���U�
+L��F��������Zp
�� ��oZa�@��[�;�������_���'Rrut�mg����c�8�
=�x`��,�&
�"���j�k�5��0W�����!�%�u���$�
�KC)�<�֏ah+�����405
a���p��Ń��dž�=+�����/�YD�������U��9���ֿv�_H A"!�DJ`$!�7���P�ߜ��:�ј �/��$�5h��|�_�ߢ0?���ׅ���t@ ��3�� �� |���� |rC~��j��� ���/v����_�(�����/pV�H$�oVb��-��}�P����J<ؾ&���J�Νg}Xo/��	?�p��Gq�|%^/+sV�Di��dfߡ%�r��8}�V�T�)x�ä�i�d;u}�=��}B�`��	�a�
��+d�c�(�NBik�
=V��5]���(��
���j�wVgjPы|���n���

�{����E�j�ID�V�u��3�x�J�征�y�n��Qjn��� [...]
� ��p�Y���!5`3�R{n�d
+V<~k������uA��F�
HO%]pY�z2��9���R�op2`�p��_�Z0/\H2#$ƽz�F�l���s~J��k���'ѕ�^�
 �:�K�=R�^K�uP��y�:)[�4���I�d��Ms�ľ����q�&��EV�C'S�4�U���uj���3���T��c��� 
+ZJ�܈��J�ޖඡV����r˽#4�v��;;��d��-����/IIP̮Ձs?��wu���WĈ�3��{D|?#Z6��ޣ���t�787
�1�$/���#�.��e�s�N��D��P�z��O�<��%2Qu��I�f�+A-����^�g��,{KM���U��w�/��Y�|_"樭�x�Q	JE�G�4sW(ڗ��
Z���݆���F͖e:�	�`��5r=Ͳ
Ћ
ƾã[���խ�6̉��.�_�ᣒ��M��=
�g��,i���"��,!
��b����%��G�A��V�4U����H���k�����P~S+d�X��Zr��2퍛�\���[��j��OF����;�ܜ�ݑnB��%��E�U9�!�udw�F[龱�¯�}Ճ���UT�o�o�
���� �p���rܕr�_|�-�Y�(�����y����Kƃ
K����^
+:��h�ھ;[�M�Y�kZ4ǂ����gi�K�������ca:%�5��E_��tn�3�#,7?Ȉ�v�c�B�ؔ�٣��.C�bϊ���� �"�����V��$��&0\���Z�S�z\8��q��`�:��~���~�a at 5ϒ����˯�O�����C�TR�5�5���tjĶ7����O�:�Xh�9��U���Ǯ<3�����ח�����aS&@�i���Ws��V[m��>H�>��OG�oT{{D�+����_��:�㴍���r.�'Q��ou��
+_-'���e�CB�Q�'��c�}�n�G~�^[*��g=�3�tK��f�Z
�>S?�$$ט�k~�&�ڟ<e�F�s�؆FG��J`������
+����mv�����i�wԺ�T8�:DZ�
:B�����,5|����
ȿ�;��q�ӾzD%t�L'�4͝�oN��X:��o�ZK�bCO�x�7y{V*�Y��I��������̆]Y
+�"�Q,?�}~d�oT�\�l��ݚ�H7Fd������В�e����
����&�I���x?�)R\Q��R�������q?w ���z�xҠ�A�S�=K��쁫��#�7�L�{���_7	;iJ�d�8�.b����s��8��ڶ<��So�I�T���@T��x�|G�76��ho���8 
���
4~�	y��x��
�����6�o��Yo�HVx��v����Z7�k��&,~��^!��A��4

K2�y�P�7�R���k���&��b�I�	�A���
o,�7"�rZ�Tw�F�9���
L�CI��o�[	}� �"�"���P��!����g�V�G]�FԷL�^�
~���!�ܚ٩�9�|L����h��֘����E�*\�E��<�e?�
��
*�jK^���#�^
c)�+!��ዌ�"�$Gu�Z�f�W��
�
+MQD�I>�-	��T�9K�ط��j~�9��i��Mv(\9�x��X�� �h^ �pc��i�x'97�.��iB��<�3�7�_�A��d>A�������ї���Z��������#�Z�S�6��+��O���S��{�G
�~sW��Sv�d���b��^����i�
��+�"V�sa:�O
r+	�q�돣Y������[�]�.X�"��@�d"��rЦ_�3���4jɲ��#2y�V�߾�7pƘ�G���x3@�
�v��J�-�xYI׾=���
�w�UU��)�y~8�+��g��\���g�6]!X l�I!�H�XK�Tb��8��
���K��
G ������ib��[_̇y��:�i��|�V�����d�Y�ݧm�ʌf���xܩ
ʌ��C��7.��d��Ih�Ө]��U%J�|����,�� Zݹ�s�Mb]~�''+��k�A����
����a�{Q��.]l�?�P��g�N��@���5�
|��B
+�p�_iAZS#���LTTf�L��ů~=�l�w��8p��
��e"e�1�\��&#!$�<��5
(��N�v\��)IXl�%�
@��r8h�m8��x�&��c�
+�"i
��S��p���<��h7��)}7(�O�\Ag���*#u?n"�� ��ꢉ��xuT>��|{�/
ʣ8J�
� ����!�V��q�Ɵ�.U�U��E��p��9�Cy�V�G�Q�i�p`���b�LeK"�
��2��P,��AE�
�9�xh�vB���S���`_'��-����+��^(
��olv���.T�
�y��'%{U)�#�D;^�]i��nԢ����%�1�Q� ���}�G��� E�Kz�����<ރ�k����#�+2��Ԝ��AY���
!�b�X�i��
+EH[��cG]�%����“��P���m
4��'>Z��8K����|��K�[����\��zqW��(��E �[���6j~O:w����J��N�~I|v
0)��L����5�qf�[�^���>@�`�1ۮ����ϋ�
X�>�ܙ��)
cn�Њ����TI���C_w
l
+˿~�l��9��=�ə��(����};�X28�����$G����e⛃w��
{x���N�����+ÄX�2����XU�A�˭������r�)��-lwOӥ)��y����t6�B���cq�#p�` ihgλ����&H���
v����=ު�)J��
+/4�7E�񝾷[vU/�e�/�T0�.
��v��cLX�B4o��ӳY_7�a7�FR?AW�!�#4ا���\��
�-���m'o���]Zh���V�X
+i�C�����h��E���mA�W�����hn�.|���ƕ��a�E���fe��@
+̩<�g�K�AD���UEX�

+ܗtU<��JL!`�Q�����
h<_�Q]?�GQ2�5,]��ن*'|��담�埸l�F��.�>��n&/���YE)���
�H�A���R��o�Б���R�L�2|�~5� %�|'6�I�q��.��c?�k&I��kių
u��
�Z���|�	
?!��t4��B�
k糑��2� �zN
�\$���,qy��Ho_<���Ev[����ᕥ������n\�sv|��Hh%U�L�/�M��O�� �Rڕ��$��X��@V�(��9qBNWY����V�+�>����O8t=��bq�=�Fyg튙	ZTh�sf��8V�~o���
+o��6���ܠ���T_��R�0���r����q�p���̇��Y�T�'�m��ڗ_w��X���uL����$(<��T7iX��!���]�y�$�����B�a��^1�����
:|J_��17}i	���=ӂ���Io���>/n)�#{���՘f�T�<^��J���d�j�`Α�������Cߦq`��m�KX�%e�4c���
�b���qCy��3/�GzH[h
K�����U����(����djJ���E�e�g�4�[h�0��j`�@����v�6#ǒ��uR�$4a�vN��GMaK^���OE�=��	�?�R*ǴE�Ce}��4!^�4#��0�~[����E��Kam�0{��U���/�
+xob��荟z*$�t�t2,2g����\'��s��Z,��w� H/���W-
�x �/+ö�)�����x >~Ng2���z��؃8��k���QÞʈ�����=�Jۿ9�];�0)�b�u���:����h��SwL��qŃX�'�-�ƥ��o�Q�U��a�
结��{�Fz�m�k�+�$_5IH	�h��U���+=Vz6�&Ϙ|#��DB˳զ�.BY����D'm ��L�|E�5GCd���թ�9�)8<��a�[%Å��'��r��삕�go�S}x��4Hoցo���z�����d^�i�ӆ>�(,W�z�9�#]�ٱ-�D��6 ~T*��,,�9ul���1�������&;��Ƣ���y��1ז�T�>�h:n�� yбq���J �
��4�x򒉓�MЏ�⮹�3�g^p������Z�2\R�g	l]����{_�>�h��-�L���Y���
+|��P���,$F �5��cUh���E(�ؾ ���G�����O�4��
ڊ�+S��k�L���
���ab}���\?n��׶v\N�o�y�r	���
+#g�h$��Ev���VmK
+�5���#�p�ofܖ��4���y�O����V����"�ڄ�%���,<��?uS*R��jw�G*�v<Q��'�B�

��8��CiX��-���+7-'0�
�ͦj
�����-����<���R����c�_�����Z7�Z|Ty�\�Z�<�?�
+���:EG��a����`�н�Z�WA�����K��p!eN
��J�ŷ����&�lW�o#:mf�p�q��څzA$�e�q�Իwȍ5�<�\��:X�d
҄o�7�Y&�=W��Ыڼ'|�}�
+~�s5�1�������5o\X�e��sd�[z�Ե ���T�`���?�ྂX1VV+�MJȽ�
M����}�5RΥ��Y�s���M��My�mDW<i���&Đ���8z^k��
+��<mP��4��(#�噅���ؼ����!������q�t�w�ďF��.�[<Y�0m�6t���3�l;w�~닂�3r�so��+���4h��8����-��zc�҅�"j��c�cau�p�N�c����8���1���-����x�\,vR���/����Ws�"�<-�<���~z�&�����,�q�j6O*WN39/\�~�Ɇڒ�$MJ�.�*�r����y�#��_��f6�pՔ!�"30��C�Ϊ&�f��������3��=��>� V��F�R%	
���|^�t<Z��(��l����<�����[��	��e���������u#4�$�e9��X���D
O��V�k�wC+bۋ�
q�>�
V�#�@��~W�����s�N�*��*J%�{��k�S�j�#��m['�t~��ޥ����RwM�����]��4�p��@B����K�vo(�
���*j��4��ۮ1�����P�*�5L��勫V���H�:s
�*�'�yIm�(򠭠��-w��h [...]
+~M̔*�봿u�C��1-��\�E;a�-t$�R8�b�\�(��ݭ�O$��Y��j��ˬ3��l6'vzX8��Q}ґ/Mc�2�hV�`���B�Ap�|9�:��!����i+.��C�ܹ�iQLzv���-�e˾�o�k�1V s�ۈ���B_��
��
|��C-���ۉ��ylC��Q3:��g�
̾��
 
襂,>�9��x|����5
QV��T�a6���	���
�1�,�����]��,��腝�����͌Щk�&0c�.�9�AM�H� X���F4ھɕ�����5�U5�j�+�4K5�E�܋Q�ba�4%h�. �vx��hHֈn&�_:>��>���&�+�:,���
��ρN��0![�z�[�qL�ǭ��c��sRr]��/�
+e!L�4-䥾͗�sk(b��M���R�����\�m��
��.�[O�M�"���+o�wq\%�u�]�z:�����2�X�
4Y��W
�N�~��d���c�vJ��%�n���`�
�YHu%+��H�N���d*��w���`d�Yx[2�A#�v���k�+v�e^')��~lSl�A ���@4�z���˗�n�y������X����Ֆ�v��V
0�X���(#����>)���jx������´@�K�)ć^����K�鹩S7�*Œ<! ���5���5{�E���>���ָ���X/�ll#34�?I&/r~�
�['�|��#�Բ\b���fr��}�2�>͚��L�q�ϭ*��~[?�~���:���O
U�[��� ���:-?S�CE▵oL�
tHC����l��b����G��&�yl���=G�'��
��Da5)%��
i��.Q�����w
+�W��
�V�3���ޮ!�
���t7o\C-~zko�IDV���I���
����	O����g��Z
3�4w̋���E.�CR*�G
+N�
��S�bcS�Ib�ӫ�G���9�h
+endstream
+endobj
+3444 0 obj <<
+/Type /FontDescriptor
+/FontName /CYTIHN+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/e/greater/less/s/triangleleft/triangleright/u/w)
+/FontFile 3443 0 R
+>> endobj
+3445 0 obj <<
+/Length1 1422
+/Length2 6267
+/Length3 0
+/Length 7233      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�k�/)�")
2t�
]� �)
� C�C��4�H	ҝ�!
�H+!!%)�|������u���޿g���L���-c���)"(n0H
(���,
��y@ >ff=8������ ��
+G"�����

�B��!(��:Tqs ���`!1����D�vD���!�p+�:P���0�!��\�6�(t���@6(;,**��;
(�s�C!�:e
sDW�B
��H(
���W
+6	[�I����Ã��ʃt��d�z�Q�@
�+��
f��q��A�C�
Գ�����"�Q
�p�CaWt��
+�D�*�5�`�?�j
���
��O���%�#~C�P���G� ��0������ �~9B
\��x�;� �D;��
T��B� ���
+u�;�\y\�� ��J��e��
���@���O
����݋��d�H��_�5
ae�
����>��S����"�GgCA"��"|@�3�	����^��	����F#��qB:�� `~pk������\�`~>���o� 
Z��(�%�� �';Z
��#��������A�~�9=E��
+�p�����|yUU���8� ��MV�	����A at 0X
F����?����[����蟄�k$
��}y�p��l�
;��%4�h.Àl�P�$��?����
����,�/��wC�n��l�����w���Me7z-ԑ��@���!��*�ì�n��mUFA��!��AS�,�����*�=aVZp�������
�B���8�(�l譃ڣ_W���� ��D�
�/�^�����"�~m#�����"@-	}�赵�y��;���D�C�h�~@k�
��1���@^�_��DQ ��o�_e�n..�>~������ �A	f��P�`����*�Q	ܽ�S#>��<3|T�„�r�nfƜj��lX�̮]C��4����j-]���	7��7:˸������ �)�F�
�dهb�.�Z�Q�:nKY���2���t�$x��)
+���h�uTe�Q D
vVtPM��zk��T��+��Ͽ�0�H�xŠ*�vF�Qyo�o�����3*P�=hm�)E� ����4X�%��.t�~u���1����{BQ�Zz��6�X��z��� ���
���u�B�N���׾�V.�
��
Ra�j���ߗ�z��w��T:��W �t�`��W�����b�˦+	ֆ�h�0�wH��Xv��MJ�Eu�$|��8ˏL��~r�gE)U��A!{i����Y2`\n2�
.���>Ӝ'r�<���WTT
7S���Á��j�c��AD�ˮ��{i�z��)�Y����8��IV~���u�3�f6�������_�+��V\��Y,��:9S��-Z���X�6k"sW�ً;c�����װ����oO���}�
R�?0t �k�z��&ѣe��|D
��2t�,
$
+��-��i$L���'����t�\b�+"�Qr;����r�@6~�F���h`B1�]�� ��
+�(�j2_�E X6J[�Y��oUVb���~�G�����&��
4���֭��-lyAo�D�ױ/�-
�\/�
�V�
DZ���{KN͂u�>�8��5O��� ���}n�%�a�G���>�m�1e�8X��[�(�#&�bpQ���4��
+m����
+�fV(*�h�~��s�L�=��Q�zn�:�(+���W��16f��Q����cQ�u�Ws���2�N�`�����
���!N}
�E��8���>3���
cwy����q�ɒT/��Ez��f����\��L�K�+o
��5!�¸$��
p�XT睛�����#D�f����
,0ܔ��ۥ�Lh�lF_OzԿʡ�5ED����(j�	)ը�E;>~bt#��e�|�!,gR,П�e��!�2
�ո�T��e���Xĸ�$�mJg:y�Ҝa2�p��Vx�]g<2�A�N���F��
3ϕ��w�
)3�1
+:9�2��v�1^vS�m_
O�V�p�Rg�q?Q�}wv��m5�R�a�|�Z����3�fn����H��ef����E�D_hK(��e߾��������n�ߓ���&� tF?M%�����zn��Ⱦ�ιgHG�ʧ�ug�ё���ܘ�ek�IQ��Һ�.���I6���"AK�q�f?� %U	�
�3��G
�O�u���
A8�)N��s�7�1�!����?�7�T��6\���*l�z�
#�i�F}o�"H�����e˯S4�aS�
hx�P�,
��=5U}y��T�R�G҄x�~�(�qJ��s$
l��\�zT셇L��
+�Ұ�H	�<?
�Js�;&+�
�$��-�>r.c>x�U���sD�bP�=��Pٞ�3�qk:�����n�+N�NfДw'�.DQ�9�
V8�bTƧ��uj*y��-vz��5�|�#auy�I�zs
&~R%S��nZq��m��e%�{�پWX)'�Fr\�L��tt��T�w�DG{�id�:������
6,M6T;�I�,���n�pN��D�>k?"�j&@���2u�!�1A_��#H�Y�M���Z�H���n����B�*� O��O��$�M��	T���������Uh��4�5�d����
-�o8�<?cy�S̺Jʐ-j�`Y�m����R'�nUU��Ρ�ә:3ͽ�}"�M�.NR�٧M@����lW)�l�=ሢ�J���i=,x<<) �B���$M��ө���+Jw�9���KX@�y�Y4i��i#,H}�=��z)��~����g���X�z0蕾>%vk_��)>�w^ƬA�)��}9���Y4~G�	ڔ�S͛��aQ�@��7
^U�Ŭ�P�v5<��q�Ә�- [...]
+�}.�wTq*:�S�Q*c瓻��
2_���&��>�u�*2Ar3����� �ǯ_m����떞[$WN��Qe���D���
��{
aG
+�'��(�)�� q�eO�=�Cܿ/��.�D��QC�h�
��8�U�����[G����W�_���%p[�
�{����E	=�͑�R��W�ף	�'EϠ���mГ��w�iQ�N�.l���
j�<d
$�hO�˜[�I�y��=nT���R�҆1G u{(ׄ��'��
���;j���c�X|����&�~�P h��
W�^��φgh�jh��#�qُ-^�(�Vۘq�K}��IΎ|���V	Tc�m�����b����(�G�bT��h�;R8���:ϓh#��_]�$�Ī�=��Ğ;�0��/��|��gyWc]J���u
�/_�
��W��<��)�Nt��|�{��]J
���/Ŋ�e��=C�PS�v����z�f�����U��[9��dcǬ�;;�/xH
f\����$i��f�UH^O|�����ʍ�y�6Ē�\lK���,�W�����@e=ő ��6���h����1{fʚ�=
����'�B�w�jEN���d�f���<��O�����<��W��y�
X?�'ؒ<�t6[��?
<��� Y�Z��mq��ӹy8ɶ�
+.���{ֵ�=�c'�q�VaDi
V9����1�����쥮f�M��-���Q��hV�Hh}������x����#�U�TxN?H�
+x/΁����3a�?�
+��w��+C�DprJD�U /C��>k���u����g�:�>�c�N^q��hڠ�gh���,H�~�
�oN.�;3&�����j���
y�W'J|:#E�<���P�X�ܤ
�{%>�QE�e�!B6��6�.��t�񃇃~���k����-�����`uv���3��Z'��ܼ$��m���kh��²�]sێE�j̃h�Ô������o���
��K8�=+�u/�>e�n�^��q8�^�ep�����B�oƨO��r����C�+�M��}�ݗ�}V�,�]
�ֽ���1��b}�9��J��X�i<ͺZD�q�z6�g���
��2�A;z��r\��י3�L�AH�ê]I��N���c6
\��sJ
*~
��I��z�@o�c�c at F������<G���*3w�u��ԗ)�\-�^�a��E
�[���(`����O�S���h�� �0����ܒ��I2�Zv�0�z��X�Y�I�~��Q|�Y*����5sh�N̽t>w���
���ӱ6�z��*`�9!�姹��6VD���z��JI���r<��=/O�&����l ug)�	V��OM�<���D�xsH�g�����~m��y����x�6}��Kzs�3��VTK�bN<�x��wfS�1��.���KE�SЪJu¸�Vzv<e�.FN�ج�
wE��H����:[��-	�
+�)ʨ�oX��uݛO��iTS��"WX��o���D��Z?E�+�����l��7�Lē�R���/'I6���Ζ>\�~�W� ��{�w��ɽ�	gq��zG�2�Ԍ^�ܦ�ʡ��
+�[?��X:7[e��˞+�bg���t��X
��Z�nE�G�F�'��0��E�&�O��x7�� 6 at +�i�0�{��ÒMh�/\jj>j�{N�t����#�� �K�>��tb>#R7���x�x,9͘���O&�oϊ*�8��
�qob�S�-V��o��=�[��9tW]W8�|�?o�8k��wN"�H������d6�N8Jٵ{Vݵ�oc�������	H�[�7
!�����lޕ�7R�Q��c��d�Ȥ��_.���V�"Ξ@A�P��@%k�N�+8}.Q�Vצ:G��`���%��'?�ջf��m�?)-2
�'�y�?�X�E
9yZ6�߅��4@����(
���G�q$t�o�-�#jǸ�cz5?�p7�_�?�**}u_.��,wŎ�b}IqŦ���x�̡
6�������ct�b�߻�T�z:�Κn~�I
.�Q�2�h�T��G�}��:���
+ ��h�m
��Ih�e��,!I�r��]��#��a\C��tv�J�W��{
3�T�3����I��/�p˼Zj�wQ��^(��
KW�j�
P�y��A?g��8��iE
�}��jQ_|�:;x�g�ވS
�qs1�|�ƥp�a�F�r՝tЗ����1���ҫ���#m�7Y�dw����7�������q>�d;�	�
+6�y�������
�)\�����2����ޕ.��f�k
+rU��K��
�T��:��M��
�
iDX�Y@���N
�ZT�:,�<ש+;�n�o)�|;Q
���Z�m޲�4�������э�)R�b�A�P�D�&F@;"c�1(@���Xc�b���
��|��!2H����]yn+^:����|G�GE&�
��O
�
����y_�nK�1�%4톼m��~Q�
�4��
�
�`)Ħs�ge�?�Y�f�`,%{�ų��U4d��>	���u~��y 9㍪tb���w(z}3�Í�J}��L(�k���&�L��K������I�j���j���sDu��>��Dt�X�v�l��ť	�o��7�@�A<^Z k}4�p�O
���lH�~��M�e]�<��f�H�������r�s
�K�U�{�t$m�S����bx��q%�md���̋�37N(��ql1
���w*��VJ0�y8T�vM&��Řnz��bx,H����h�"���o�q�f#�),����	�yo�ph��JlXҫkv���jqq��_���`
�����`���Y@��'F@1T�5��c��Lb�T��+��!�9Q'��%0����Ѣe�w�d%3��?`��k�fFO�����Ԥ<��Q��<xE�/�Z�~�
�Νn�����v�I
�0 ��#��ud�[�E�������`.�ţ����:� [...]
+��-�]�L�ߒ��e ��hT.~J�٭����VHx�OS;x� ����j�XTw�4y��й��_��Wl;d�c����
D����=u{��u��S.td�ץ3�]uG#]a@�>K�t-�0
{G��v����y\�Y+��co�̤��(��cTi�.��z�[���҄�Aˎ�y�
�ޠ��zc�����߽wۜ��|J���j��ݹ��T��g�#�����=�)�W�4X�O/� �q�{3���1��38�Γ|fΪ_$�O��������>�u�C�1�x�d&;9�/�1i��i0ϴf�%���/�tk���9$���e��؃�����]�K�s*7κ������5��
�M����)��w���_%�S~.<���E:��%�='
+�v�m��eb��k���j�j-u86)e�۠N��g�
�%���#^�'
0a}Q��vC�G^�� �|F����@	�fՑSV��c��
l!Pr_5�-Y?���D��#
���H����㝄���_�^������X�
+|.�����w��<kv0��b`9�	��A;�	��Cf������tV�
霨%҉,�Qض����yY
lH��
���4Z���k
�:zx�8�O��
zK��{����͡r���Gb[۶0�R�[I1���Rz�D?�1�
C�)�]f!��z(LE�����^������u��~�$�L����ozi�4.�D�a�u��^�ɛh�#?캣�RG-��a�p�|�]����/��#J$��;#ᣵ��v`����tw���R��/w���O���
��tnG�j=aVDYr���syy)j
�6J�*
�0>mI�:q��Q�l�$42Zie�wC���L���SFa Fw���C�Y[�2�Z|�k���}:y}���c"�&`~��ft�eQ�i�w�t�̠�Db�.�-^�� B�B3�JqG���5���x_c���t���wR&�:
�O��I.�fe+
����P��
+endstream
+endobj
+3446 0 obj <<
+/Type /FontDescriptor
+/FontName /KJFPML+CMMI7
+/Flags 4
+/FontBBox [-1 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/s/w)
+/FontFile 3445 0 R
+>> endobj
+3447 0 obj <<
+/Length1 1569
+/Length2 7412
+/Length3 0
+/Length 8449      
+/Filter /FlateDecode
+>>
+stream
+xڍ�Tn6NJ���8�F�tw
H
�F�����n�N�V$���H�H�7������|��9�s�s_�}��X���d��`E8
���
�ih���@~n ���E����R��]\!p��8ȹ�A�N
�@�i�a U7(���+$�+,��@ѿ
�.b y�;���
P�����,rp'/��
u��G �;�WTT��w8@����  �
�u�
+Ѓ[A���J�&n�@8���xxxp�
]��.��� ��
v����� 4A��?ȸ�Y �v�?z=�
���P�把p�Y�] ��z*� -'0쏳�N�_��r�����_� ��� ++�����l P0 at KQ����`ֿ
APW8*
��@A�(�ߕ� �2: 
+�_�\�\ NWnW�D�_iP]V�Y��

�0�+����!.`+T۽x�L���y�%�@`�6�@X�9�<�A���*���T���l�� PD�_D  v�=��x~���r�6��R��z;�� 6(`_�
����
+r.n`_��4�����
��X! �`[
���(5�揌�
�`Dq� ����d���5
�����|yt5��8� ��&+
�xs���� ^�� @u���4�4�o�� �_��ͨ���������@����_;���+4�(2�l�r�(�B}��?o���?�����������6����� G��/����Ѐ�������?�����9��UB�
��q.^n�_݅�*B<������&�=
�
P
�
w��zrPQ@���Pkg�zV\Q�c��v�{��d0j�������:�	
+@.. /|!P� �����`�߄�p��T ��`w��5fAQ j�
A�Կ5�������Q��GB�B���
���_�W ���( 
�A-�Wנ`Ŀ�
h�oԅ���n�����o������Q�=�V�s�p�'��5��gU2t
\�#��)gF|\#��q}
+��k�z��j%�s�����;4e�ϲ�g~x#k�y	�p=P�j��2v��}2����i��	-�0I�A�K���H�N<)k�>=�G5=�	
�E�ª!���UE�T�{뺈f�����ԏ��
c�6�LÓ5Ә������=*IW?,����
Pu����
+A����� N��b
�U�;��4roK��һ�}�+�Ig5�Gvȣ]3��νY�Խ�{�J�/�r�㥇�~ęN��–)<yG:�
r�=+i��#��_
����"��UT̻ks����ﰠ�U|G�}�Ae
F�B�v)���z�슳>��o0��i��s�D�K��fi
.UL-o��e�ݡ��Ֆ����,��3Y|OM�����x�a&�[���5����T�S���#�O_ֶ��}�j��+��4��}
�d����A4ӥ�4;I�����]k
{����>�`H9H��O��lB���WC���ldZ��qQ
�qTI'���H�f�O������y\G.�9w�t�
8��r�BSH�bHbW�qL�d�b�n�㛮�l��{o
7���K?��|�L�2�_�*S��`�x�*SF�-��瀼܋��y�&��4��qsfj&%��O+�|�?ڇV?�{6��<�&��&D١wҷ4������}z����x'*���� �?(��vz/��
�}?�
2~T���
�l2d�����N��2�gc��!��/��9���VRb����0���N����Y�9]�����䉢�G���wi�Q|�M���w�q�eK|58
=�m}a���i
=�.�f�*X a�����t��P�Qz
���g�H�����[2 F���)%�X�����>%�׫_����y/3[��k�8�X����M�]v
��G&7Ƚ�7q�8�Xi��x\�l��^4���,I�6A2��Gg.���D�5)�%BIt0�l���a�q�i�T҃���4U [...]
+�u;�O^7{�0
��*�9.�����π�dRt�
|8�ӷ��.m�!�EWQ����$�z��o��"#Ӽ5�U�
��,2��Iڀ���hO�����5�=}"|�.��p����3�Xť�m$�]X���!o�Y��
{�\'�+�`�G��ׯU�f0�딞��כ���ک`��}�j^S?�����WA�� F��
���� ��;
`B#�7HؽpskcM!�QsO%E\{����4t�/G��ԟ��qŋx�[�=�B_��c�Ӌv��!�
],�^!�܇��&��Ur��	��
�՚�Y��<қ�z�4���]
0!�֒į�<�j��$��Ed#�F�Y#����Y`��z*#���=��я" %]�O�1�H����q���/�W�2�>l��d���ي���3���..)
9,Kf�I�IEǡ�F���o`pu����G��MU�(���%��b��D������oE�Hn��VYz�bSJ�X�[���d}���Z?%�<|&�& ��ԌPۋ;N\���*P{��2�I~*r�-aNt�;�r�.�)���K) 烵q���i�� 7�u�&�g�+��
�P��EF;�O�O_�h��`�d���s�_�Y�e��]�v?���PY��\�)�K��������<n-�5[�v��O��^�; [...]
+ܶ�|h�N�)��݆eD6}
?#7n�
F�⮉�w��#h˙�?eYP�9/�f����t*)��c	u��ʥ�`�����"@���ȉ��c�V�W��y�Iv輖�@T�Wˍ{g4
d��M�?�5E�[�\�ܼ�~���<x�Z!����XL�@��#�8o�e��[��l"��~��㦤F�:��k���\���x�MVo����Cf�m7jjI&J��D�� �ԙ�r6-y6�ztTѿ�1⫛���ÜJ%�EB�˥cKu���㾏��y�=�ԏ�{��|=%�N	/�Qֲ���8>�˚i���S�r*��
��'FP�
h�6E,��~ �]��o��X3�|�OR��ΰ$�hƯ^D��ߡ;f����[��b
�
=���8bk�5���ɍ�
+�O��f��rT��;|�m�6�L����pS<�Ss9 E<�R~r�K2k<�n�
�=:-��:�r��t�S�|x�+D���}�[�ėGq��i�
i�0'A��u���c��oy]C��H8�n'R��q�u݀���b�HĈ�ÿ���4�Q
+q�|�����Z�
���x�C��
+@"���G�an~`r��N�R�G8uIe�9X�̖�#@
�T�˪����9%��	GϝՂח��T[	�X��@l��/��p���J��c
�m��ѭV��1�FV�sj{���E3[D�����o�yͿ��i'���WΏ$8~���ӡ�95!UȞ
/&]2DCY�Lv����Š��&���(�f��*����~���t�C�m� ���z�֓,ss<����S����bn�ǯUÜGb�x�9�~�}S
b	�+h�ZiU6
�~l�7� y���l�t�ƌ��Z�I]�0�a`���l�������{
�a��U�I�'J��.�]�N�s4�Ȩ�l\KI��S����
�fS�頼Z�G�1X]ùåh�x������!1�
+���^���m�:,uN�JEc�?

U�M
+�d;jl̈�;j-�U�҇�#)���W����r�s���n屔����.��T��Uc����Oޮ��f�OZ{%�6k�k
u��
�;��Z�(ĥo[��/��񎧤Y^X2��wS�pZ���U���0��*i}����a73S�9��u��APm�I
v������'��g$�b9�-�ַ)ٜ}�P痿\	6��l�ʬ�3!)�t�Te���9U�xS��p$��U=�L��+\��-Ʋ�@�B|A��#�h�Y��3p�
���InL�Ȁ�t6,&�<�q����~�sK-�6a^�
V&_ ^)�c��p�U�KH��g������љ���i�&�,#l쐗c���r2�6�x�C� 
�x�'Wfo�(�J
ra.�v��
$���I&Y-3��36�T�c���&��#��cj�I���<I��s0�J�n!SWp|��C!v�z8��
�|�f�
�^��w`��R�j���S�5���_������z at q_�E��5q7]
�,P�AC�Y��j}*�ӻ�'ȴ�<k�"
–]�8��{�סd�(�a��5��_�������:R�)��'�A[u��k$�����1�I]��e]��1�٪�|ٝas�P(�~i�.~Ni��!�TSU��A��e;}���
�1�w"� ���7�
;J��M���iŪ#��Y���N�(�c��1S!?Ԭ���~��kmh+"mf��RmC��x�
��1��/h_X��������dƉj2�0݋�)x8���3�C�p=�� [���������ᘕK
+�א�D�
l}
.zk׶
,���4x|�Rc>��S����w������6���H�0]������]��D�"#i����[����E3�+k���C�U֓������J���y�d

�)TH�Y�$|�����lE�J�
��Dv���6�eq˻�Lƀ
+�M��Z
�Hp��*޵�~����5���f���ګzۃ"G�>>�����Ur	�$A��[*ɾ;��K��;eR4�n6� ����5�ZX
19
���و09vÔ*h2�(�S�%D�-����I[�#^@��2��F��`y���$���& ��H�+�W0疚�&�A��鎛��
���XJDQ7���9.dIe?�tA�0�|Nu$o���)r���Y��A����c��v�~LJf
���&�G�}��i}���
[����Ɗ�o�Lk]$��uj�
�[B�y�
��
��bk��k��z�0��k�j�
��I�d?&px�%_���1TA�^�<�
��8*�L!�</�N�
\��
Y妈
+�� ����>�����
+h�W^R�%θp*���Vi_fA�)*��a�|�y�O�6?�;�HsYJXm�����o����5�)�h�J0A!9�6���p?��1�ȩ����5��߇lG��H5��0
�x
+
yv!ؙ'��l�(����Comd@���
��Tc����h�K�C��б
?��X�⊏�
+��-�6ˏ���d&�0(j5�,K��Wwz�>����f���;�/p�?��x%(�j�}N��������Z�|�s\�/X_�~騲
+
�8�/��\�vP�T��+�ߤױ��P�*����]��&���Spc|ës��ttU���o;C&a�ƭxC1�m9�Jw�2��m�X�@Y�D�b�h����#9���%ЭXBJS��NO}�g�L0P�J#?��d.s��
w��+����^	�&>�Mq{��)~"��%��*YO�zw4ID

�mV)׼e�����f�*��ˮ��
����y���|��oƇۃ���;0u`���E��#��
Fy���j|�bka�r�W#��N�D�S!���{i�W
��pu���7�Z�E_�u��5��Io�����V�����]�C�i$
����[�L'�,�.�aq����·V��ў�f@���H�f��Ao����!�ULT�I
+6
+ŧfM�u��[c�ήw�$�D��F
Gn��Yv�O�E�J�M���%���1������0��DI�ū�������d/Bz��~�� �*k��=��ʋ�':'K�A��l5/
��bE�������NJԽ�� ��*��vdt
4�aU�p�Kmھ]���H[
�0�G��|'�O�
+X�<s�X��t]�
>����zϋGЯ5�K�%?N%�Hi���%6�,�7ΊڕO�D�g�U����Yu�ra���w$\��
�Y�1����R������^��B-��m*��4�
�
uXZ��f�w
oo
+n<�>��u���W�+��?B��ш�`~�*�	%XT_	�m�YH~������F�1�M:�wo�@�w����g�ɒ�[��~�B��yG�>��g��r�c
+�
+�+�'�ˢ#��s,#������.:ҙ$I�im�^z,,R8ET�t��=(�D����w�]���qG�@�ED �ɒ�Tj�l�״:���>��ƈ~255���~�^rs�~��K
sO@ �]�UNjcG�o�Ȫ�
Q��~��Qg˗�;�Hn�߾����!R�{�e�s[�û.�;�E����m5C��K��A�i��
F+�Zp&�}��P�
#1ي�EHE�Ņ����n����������*>k��ғ8�i���d�
-���[��
��=�Yr�^yQd�s4�&Nn�:�%�&Qg-ם��ո���
���&��hX�웱�b�
+>��]�W�f�-� ��]�gQ���=����hUF�Op��Ye�;
+T}��(��F�e8�h�hLxo:H}T���W�ܛ��ę���
�O�PZ�<�#�J�gP�D�Nrx�T�=��)�KƬӜ�e�%�ߜӦ���j�Y������Gl�+ҫ��?�q-��<�н�6G���|ne�����nʃ�ɏ���
���DW<L��!��de�
+���2�n�*z�o]��V�?�x�y�?�$�+�0!�*]G���
�=eb����v�D�
qA�?#�-VX����?_k��Vo�>?
��\	k8�V�_^�� �y���'Okm����Z�g����|�e�D#
e�{H�Ye<�rV����q|����gvp�e'˺4�
+� �&��xUH�`+��ٳج�J��o�umt2�C]��U�'�Xi��i�A'G�ޮ�����
+j�yn�a
5�+�>�7�4-Ew|
���)]EZ�e�Q�����.#�L:46�y��!��8��)}U�
V�����dC�a\+c��}�w������
Y��i"d
�H�@_	
�{�m!k����CUY�P�S���BI�۩A���2�t�R�P =���q^f�&�~&�Q�~jf at k��[Lw
X�ͩ2��6�j��r���:u�n�\�,��ϕ�uS]mu��6"Sl��;[����o����9#
ҙ�e/�awS����+�L
!�V�oZ�]6�\��N�މ�ш=�ǚU)-���$�)����p��ʤ}
奩r��J����S���db�}��k�	��O�\������`ǛA��!�"z���)w5�e���&8���>D�����I^�M@��\�n��Hfhwqk/}I�ȳ�y�
fh�>��p>�I<3����V��{�ߝ>��QP�;Z�\��R{
м�.������s����~�L���x�{3����
�O�25��;f,CO��.Z���?;]����m%�c,�:.�Y�
7fu`�kC�
�U�}&-�5�s�p��3����N��%�S�ly-Y�
E��r��׬?z�G��R��>�����7l�9�O�
+�m�\�����+)��y9Y���'R�q����ה:�\�	�{��f�y�t&eeOb�y�W�ߨjlG
��Ά0E�3.�!�3+��Q���?�f#��p��pD
��4vt\�d�@o�yF{\������ڦ @m�� ��h��猊{�u�+�X�z[e,�ꌜ)
��ا̤սI9޸%BY{c�f];�"�v�u�)Rw�{!�7��iX��r�V߈IF�$x\@��^����ᴘ��|㋹W\���;�>�P
+�2���\�w��{ۅ�e���rԢ+n��4Y��CQ�}u�$�F�"~9;Zy����iZ�4����v!$�B�[r��:�G~�ֽM
�E��I;%��?C�A"��D�]�6��&���_���
��-&nf�&
y�r|�)@�H�^�J��<�U�`�r��
�A
�>��=%yl�E
d�W

-I����D����i\
����~ۥ_r,
zSo�q�,��qv�O��
�^��R���ȁ7�0X����S�$'�9����h��=�
�EM���aR�$T+!@;XE��v�n�ݢ��f#�E7�c�F�c���e��!�O��I�b�{��?���vFr�H����#�x�{sd<o�v�9�蝡

��H׫�=O��0���$��9��=�d��J���? W�"�O�|3I�����y^q"�	*
C6De��]�
�Q_ž�g��
a&ҲV�n�i�A��W�Z��@˨�� ������W2v����ǭ�=�	�?g��},��"�W�("2���O��m5��8q��_/��#��MaH�M��b��	Yi�m�T�M�
Œvb���A�M7;G
�KT�%��L�W^`��U)<�X�
y�!
��V2m���λϕ/B9S~�����v��B�"s� ��[K{'�+ʹ^�Y��^G���@5}d�]q:�k����PP?'3�ʇ� �!x`
+endstream
+endobj
+3448 0 obj <<
+/Type /FontDescriptor
+/FontName /RMKTHO+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/comma/d/e/l/less/m/r/triangleleft/triangleright/v)
+/FontFile 3447 0 R
+>> endobj
+3449 0 obj <<
+/Length1 1511
+/Length2 9163
+/Length3 0
+/Length 10177     
+/Filter /FlateDecode
+>>
+stream
+xڍ�T�-�)PZ�!P�B����P4@�P�CqJ�Hq��K)m�"�ݥhq�"�~v�{���V�J�̞�s��='
��
�V�9G���%�V�q��x8����t�{�_n,=���W�4
F<�d���8UG@��
 ����@B\\ n..��
�B ��
+��	Pr�A\��
�<�P[��6/̖, ��� �� I
j	�T�[��Î�`{���%�����"�������	vp�t�ۈ��ܡ[��w�X~��
 2��b ��B]��k;Z#��p��a���\
2\aV8�as���
+@�	�3X�� v�_w q��)�W��BP��`KKG'0�
+�XC�! u9N��
 �Y�ۻ8>���P{��C�'�$5���s��C�.�.P�����<ܲ,�J���C�`�>�
�|�vO��}st�y�eXCaVֿIX�:uaPgW���_!.���l  ��  �
�xX����t���~��z;9:�H@|�֐�,o����B|��
��������
+��O�7��O���p����A{  ���?+�yY9��=��G�����l2���r� xs�r8��� ��"xX��w�.�o�x5����0kG��

.�o
nɂ���a��j�Z� ��#}c.>.ˇ/��� �������U�o���ɹ���3���`����)�"
�B��a8`���s�U!VPW��E�����s�P9��J����SCw᡼=�pt��~l 

��a�,_=<(.���<��o)
�t��=x�|� 0
��zh����=L���i��0G�C
+��/�������  ���� B�]����
 ���| �
=���| ��?�Ù�w���n�����'�_�,]��i�Cv����xZ �%�̤��p�]up�e�$�;����ú~2
��
���5.FKeZ��\2������,��,ͭ�Nc
ƛ�8��_>7f�F֛�����
��H~�zLɡ#��s���
+���C���
\�
�K�Ny�O]%s��������7%�
���
+��-�'H��
T����
O�����3��i�޳a��F��{�\掺��Z(��vi%�'{IJ�z��?��-���D2�]�?�mڣQ$�&�	{�<�3�-��J�V���[���ZV ����Z���zB38�:Qe�Y�#�+��k���s�6k�$�Y��O���'��;�
m޿j�z��q\�&5]��������w�Sڸ�Xem����R���J(��E�g�n	/n��!"ށGR��y\\/_�u �S��e�
E���
�}Y
Ǜ�w�7	��W����tx�Gf�#k�ʜ�*��6{1�IS�R;
T<\.'�)��Q���7}�M�ϫ(߱>U�n
�iw%�˹�W��
×�I���1�U�#�)xn��㼴Tʔ解��a�{�ToԊ�@p��/Z���.�)�(�
�-���H��:�G?���^
h-�qg/Q�a`ʟQ�R�)��g�dZ&����_���Y�?w�g�Kf$��g
Q
is���>���
ݑKQh�\�<�ZF�
X��>�J�m_n\��� �{��j���vj���ɒ(��;��E]wɚYʏ��� K�=����c|��"�U �3�-���O�e���J����n�p1�^$<	)5n5D�_���~<�qß�9�!��	�.��N��d��Ϡ��R�F"�h���t5ߏ���u�A ��^&Ҫ�aOut���l6m0��G [...]
���FQ^=2�{�IJ=y�ڒ��x���߸�i�W�׍�(��B�)���S�
ѷ
�r�%��cU�+�LC���h7o�%��I�� 
+<ӹ�
��j|��2�2�v/K;�|��78L���|�g,j*�9f�pe��nu�1��
+~E
zz�_?��8�H��ZIw�!����d��S��
6��^o.���R�]
_��qw�z-�Ʀd��g���Z��I�Ƚ����%��\�xbK��C+Ƈ6��rF��ը���_0t�
��q-�YVj��
�y����C���
4[/�iU�F+V)
w^����z�D%>�^��rŶf;z]��]
_t�3t�
�%r_Y\�6q,�XT�݊+�~꺕-�/�N"T
�ŜN��,���l�]P�=)
+&U��i�3s�UUf�{]	n���0Ů1�߶(�ت]�Lz���p�A�*n�Dh�ڂV�
:��m�N�z���rҼr�y
��d4�k�;��qKq@볎t��
���B�z�,�R*�
��}>��
�ܥ�t{�
+����ϛ�
�`r�t�H�H�/���
c��:uH����Q,$���}
U��&ǒ���(�~⹦�u��_������A�)����#�
����xR?OY�|��:5,���v�ա��k蝜�c|���R�v%�
+ȣi=�h})J�M=��G��=sP2�샀��-|�����r�ݨ%�5�9�>�<���|T at jf4h��G�}r��U�DG���-(�
+
��
�t7K
����n�s%>�	~g�f�M�yѼ��1��&��!WX� ��x���Ue~{Y
+�f-Y�į�Ve�p��^(�
P��C���'<��26���B�S=c����E�$u�nGh�M�������ܥN�ů��_����m*��g-F�#h�J&'���^�y5A$U����?���
+���.���r\��Ra�^��01�s7�&)U2��L��K����9%Anj2_"T��U�w�q��6+0{~O�7J����k�E���h
�GIJ������-���0n�^�O�0�
"���1��p(�Ȉ> ���3���-2�ۥ�^twzI*�Od� cyr
ey4�X@�$]�K�q�$�8�xs���-���,��}59�-�L�v]
+-��Ra6'�<w2|��X�
|��[qD���f��+�?���%q��	F�A��/\9O\��Wg�OĄ���zkF�
�+��<P{��]�&{���Ar
C��[IK �;����
z�g��x#�t&Ͻ^�&:�
�=I�
+}�r>�U�	�|KOk0�.�]w"J�$�_�@~��f<B�
+9kL8�u{<�>@�
{���Ix���J��]Y��=���g7K�-�"�
+�V��	JP]Z
Ej壟H˚���̱]����@�7(�����^�}I�g�
��

�)�ݗ�.�o���W˩���g������w{\�κ��i$Э�p�L��B�y���7�ǹ���B��
Z��өd�
�w���, 
�=K�i~|
�o���N!�Z2�!>��2U�[�媚�j3�|RkR���d�J��5�����u�:C|[>NS��G\L�Ѹ>��C֕��=�{w8�
�:�T�
Su��KM����3��ܵ�ĴV�"�N�/7Y���t��d?
�����u:
GLp�� �
�����M��ɜ(�U���}�Vy����\��ܡ�T��v��k�=s��\�9p�n6rc��M�ۏ�����
޸SP2��A�~�%�����1��*kJ�h�E��١c*����{�IlLZii�oKLN}��u��\$0�e
��d+z������TF��������4�N�y�u��ۙX�f=���Y�D�bV-�U��&3�[�m�
e���l�M�28���D�V��R�Z
,�K�u�dž��&��B2QRʯ�
�&��=�ILw��ڪ���YX��/�]�Z_jx��+�d�lc�����SO>3$��:�9�ٸ\Q0�+5B�%��Y�]
+�8�q
(5KݞԺ Q���l�O�=�4�qbF?^
�ɻt5�h�
��2�];xV�@k���zڵ��E�tjI�RiI���x|2˚2L��S-�|���?Gx�A�\���¯��./d�k&��w�<~G�Q�ҿ�dmRӠ�
]a�p�i?B1���_��!��4������t6Ў����*BR
�C�	,1"I
�l���,dΆ0��u�h�Hs��"e�7����κ�y���
Xb�[�_5�އ��������֥_��#�1�ɘpLτ���>�Ilz�~
+�e��
l"��tF�*����x��L8C$ƙ6����W��t�ȓ���Ou:����E
{����Z)s5@
��!�(���<�J���}�	��Gc���M�^�u����� ��-$܇�cnz
��X���q���5R��kW�f�i:�.`��{�a��6��8�"��z�X&�2Öe�le�.��TQ��~E
+mt����X�-n��f��m�!�z�km��'���a(_<1,L-�(���Q��!qD�����39�e�{1���^�79�V]��D�
�X��b�Ó���C��*f�;�+��l�~�:�İX���y���w׋�*Z"Ih+0&�ܣ���?����^��R��},��:�K�zz��
+
��fX��z
�%Z
��M�]Z��,%��|/�^��/N�+�d�Vu��1�׽��9��o0쬍4���b��U�r��p��;EcvU!���z������l�� ���X�3%O瘤m��RD��Io����W�
Iĕ��?� .��� L��
�i﨏\��|
�G�/|>g>5
3�3��Gq��0obR�Ϻ�[�H�^s�}6��޷�
��.[�| :��2����Q�j�^����ty�S���s�
~��p��e�k���������v�d"���uW��
�
"�e*�p��E=�s���
�
�JN�˝�0:�X���r'��P��Q�WPFH��Kc�h�=��V$�'�^����ߥ"=��t~4��V�,��8*�^s��_PAW�$�c���n_5hqݺ1�w;p�3
h���4���{�+����MJ*�r�YkZW)��g&��qY;*��|7�}�
���k���GP9,�엌��:ۆu���-=�uQ��ā����h���0_)z�{�N�5E��d��d�!
Ե̿}a�������(�!��O*��s���Y+j
�|�@�$g��$����G�$����ǐ��x��=��&��r,Y0^��r1؀~�ݦ7�N=���G�swP��#E����g|*�%�����>�ԭ��d~��Ǹ7F�}�-{)4x��9�ו�z\k�7i��F6w��@!�yT�KC49�U���,?�>0�s�9�0���I�Q�`�3��/������mh�`j
+�l�
�
+8��׮�j�W�Wn��o���Ӎ�:4��u���d.+�7n����b����>����{4N
*#�=��P��� �5E
��9�
_{]Jěܾ735�y�K4y�ٷR�fa
�6��e18�q�L������m��ZT�k�\�H�H����BCI�0�5k
J���=���I{
o�‡��ԩ��m��*��dݽ��8����b�,��NR`1(ME�t?�eB�D�܈[ծ��+���_�
Nc�s��FP���b#�)0��-L|�ù�B�:�AǪ4�-��:kH]�I��v`7���qtFrK	��t#�kc3&�,��Y�Z�:=�[�6��!���s�*I�������HCL�
W~r$Vz�*��l��.De�wy˦��b皎G��ȶﺞ�]]��.�
+�)FH��\@�?�fn�NK�ٱ��ۚ������O��޿^�,���(M�$55<�
)�����|����¶&�EI΍���F
�kQ>{>�^'�
W���x����t<��
[8�q�϶@Ƹ3��8��f��p2S�&O�����(��~�;
��9���{
�X_���~\o1����E���Af[���}�*��gF���r�����������4���N�iZ�u��$��H6��1�
��>���4�.�O�|�n�����������b��6�A
s��e�{�� K4,�|Zy�m�
����j??�i5ƪ�F�����G�Ƚ6K�h�
B���`2���~,/�Tw��"�1MJ����؍P���/�^��AVE._�Zc:�i"�
�Y�oG��kri֨�3y!gKE},�1a/����]��T
��'r
Z��{��X9Of��܍��������Q"KU^ z���Gs�
�F��:�屗�OH�on��D�6Ax���uɄCKa�$�A��66w�(��I�OV��q7Ji�󟈩�)��-wgI�o����G|��|K�܄߅U��Tܑ�+���+�� ?>�	J�[��I�J�I�
�1�_�m3�|8;'n�vΰ���Z�6�`�eP�'�Ȓ
���δO6[:?[�L-���0�瘫Y�����.�X���ŭ������;
��E�CI�I’V����� _,; 2���w�����iʼ��
dS
�����%�LA�ĝ��$��G�e���4�H*��
��{9��Z�ZYu-0"�"Q�6&L>����jk
^מN��4l����Y�H��%��`
z-���;}����]�#
���
���
�e�6q��n��w4�]iT+��H������oNLK���� +�]�+A��듛,��t��X���Y��9ONҶȻ��,����
�Ϧ����B!�cܣ��m�v���Ǧv��-xWJ:���L��_���M"ĸ�02%��p!#��m��I뾙�$�ͨ�N�rh�;|U\
!��GI��CV�"�I�@��ھ'��x�H$��ѺQ�Q⶙a�6�s2_�߾a
����96	d�
+f�Vuh�
��
�P�l���dľb�D�ĝ��������ú�� v�S�:q���5oi�V�g�ː������Z��9�/�-�r��.�-Gsgl�H�4<*��ݙ�JI|(��SFyM�@L��]�H�9'E��N�P�Ļ��&�fӢ:!=�Z��Y�B]RO���L�ȳEU�7B��׷4<EF`踧2�K���]i֑G+�ay�{(�@.�������o��������#9���L\o�L?����1L=�)қz%���z�l�5�o/ FeO��*�{`�w���vFsP/w
���|��ێ*i�2$�DT�M�գ�����|�~�
6�*�۲�P�+�W��A*��p _�!Ô�O���k��
+��l��pN�
J&
���7�|҄�U�Q&5�W[	d|Υ��
+:-dG
�[utΙ�|���|��ƿ��D�+�z)wo<���[�n�uu�ظ�}�/����Q��%N×�N�֭��|
_�X�N�^�W�K_�OL(|�n7��^(�Ifs�B)��~��#� a;�s[�c��'��ʌL.y�z�ʪ
+��~���3��)��F��Iy,��&��"ȷ�g'X
Ej���L���&�Y�=Oq)=abTE�SŒ�bQ7h�ƭ�
�+�W�� ��;/D����4�!:ڥ�_8����q1T�t�
��1������q|�}�m��RO��
�G>��{P$�� 60F���![�~�x�g�+���[L[�
)�U�5J���hoV�\y�z&���R�ͤG�
WzpsN"=�w�ɹ��"���_��Ӂ>�^�
hD��^���汑�t�,j�\�߇�g��V��a���t���:����(�e2�6��g� ��"�8#��{P�I�&I4V�-T�Я:C�|<E�Wna��})������ݤ�
ç
+q�;�Y�6W�[m at ifi80z���K|

M�^�h��
���~�{?k�ؖ뗝̯y(�מr�O�J���u�	��l�wN-n.jzY��[���6�8���=��@�l���LRD'9���yO�
�mg��;������*Dv�C�Y/�k*i�c�	]Q�h�Iߵ�Y���ͺ�F���7+�Gʦ������$���.$xK��{f5)T�5�Kx��ŝ^�.��\)��/Ŷ�(y
������ߒ�
z�ڒȦ
�������F��y�W}c8� A �0+��Y}�@���-.�k�$�U�9�
��*��"�� 
,��jq˚��J~��*{���d��Znj�sv�����:_
�A�u��0�
tK�`�E~4^�Ɖ�G�<���Dj©P&T|z�� �-VW

��ۉls��ᢤC(��k��b�w��4߁�W��y>�@M��r}��w��P�zRqϕ?�B����M�ʻ����8�
l�M�=��o:�u;��rD7����l�j��b�d�iQ�$	��츌4k���\ޗ��i{i��3߳�%?�
+$��
"�"
�X$�<9�6���g_�oA}�Y��������nj�Pk3kVh��#�=��d���j�H�	�R�'�#�D��v�J��XJ��̀L���Q���TH@�eҁ��
����a[j����W~�ӝ��i��j
�d�H�@!��
َ���xV�ycr�f�
����eG�iGLR\�)��/E�өP
�������Ps�'/�y�u��k;��k�(^���S>�6�<1�;�g0������SA����B�R]�!T�>��J
Ir�*)&��D�&ы[��^��
](�O���"7�G�ŀ��I��u��1
�TS{Wѕ#�ܟ�NM��$E�Dԣ�E݉'�u8:�W�!VKf8�@�6z��)��z=gUHQ��M��Yח��-�h^뀤�N�7�Ah*
܅9�:�n��d�,��$������̦�z*���U�Y��d��Be���=���EI'w+�t\��e���
�r
��1��k5�H/�������ˆޠ�$;�6�h��[�B���&��@#��
��Ͼ�a&�N-��b���9&�v-6MD��!s*$R���R��k���YEmd��	q�
%˯�/oN=�^�pd���y������Kv�y[����/�Q3�]v�n�C�Y�8�%LLߖ͉�7�����#<����Yqy�Z���K�����Z�c�W�lx
�:Ł���ѵIrq��+
�G
1
f�
�֮����:f��
�zz�Z�����c���
O�WET�j!� �w
�����I��}�
+�=~�9L*!=��˗K܊������I���]��9v÷9:*Ă��7��m�2	��
�QF��0��w�K��<&�c�p(̻�pw-�f=}������?*��1���x'd7̈}��&�0c+�4+�I�k~�3L"Sm�Ξ�9mu����
Ze��I3Z�Z4}��!�l�7Ef����M��Q�؁ɡ�
+�#�v�e��_A�4C��@uw/��(e�j�m�i��4�m
::땠��:�]���W�/���!D\����m�+*
O�Ѧ��Ǡ��m��LS��K!@¯�Lf|g�>��ns�
�5"3�W�l�{���'+u���fH_�
�
+�������
���b�)��S�):��搷Q%�\s�s;�I�7w�A��
-�	"ą
-l3:�D�]-p��Qj͓�G�h�����;n�~�qoSZ�$&%����?�rKq�[G5D���9�C at Pmi^2n�2�[�g�/,�h�k�����j"�P#)��3��fV}�f�~,�!��+�g��CzKS�g�
j�S���2b�Вl���O	��O(
I����*GCi*W��S��F?�.~ͬ�y�Y
�*`qK+���°��}e��{����'��>弦nH�����p
=�y}E���a�	���l*u��P�.]|���<�H�T��1u'.�
��"��3s�M��Q����2�n��b�~V��KN+OnF�3��1گ���&�%�(��Z�_��麍G�-�Q�� O8���,���"̭���B|z
�
��l�ۋ�|Yx��d���/{��o�
������8�B�}��
��g�\����j��a��j
Lu$w�0\�ᝋ�io�h� �[���|]��'˘��������J	K��Y<������`�be%�	�U�FbZ�.�?�{��a
a�����\�
+O�^��w=Z]s��fq�V
p��Z}�tܳf�ʟ�l
!u�D�:w��ݨw}����wZ)Vg��3ն�V7e�:���R����X�uTS����,�U;�7�Y5�Cc4�Q��/=��rZ�Fu�q5o���OX�SӜ6
��5W
+��+ľx�)'q/~)�
����9�$ڌ&0�� M1-��ml�y��iS��/�� o�
+endstream
+endobj
+3450 0 obj <<
+/Type /FontDescriptor
+/FontName /XCKPWW+CMR10
+/Flags 4
+/FontBBox [-40 -250 1009 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/equal/h/l/r/s/two/v/zero)
+/FontFile 3449 0 R
+>> endobj
+3451 0 obj <<
+/Length1 1454
+/Length2 6611
+/Length3 0
+/Length 7588      
+/Filter /FlateDecode
+>>
+stream
+xڍwT��?���4*�n�����0�
ƀэt����4R"�"!
R���4
+J�N������s������Ͻ���3ce{�
TG	
e �zF  PT!��0��\�h�9̠H.�vU$�����(��
���K�K� �  P�/GR������p�1�*��	stBan���� ���%���]�H
�QNPW̍�
��AQ>�J�-�B��	y{{
�]=HG
~�7
�0�z@�^P{�/� }�+�70Ab�����1��
FB�

�{`<��P$ s7�X[ r���p��Á�gk ‚���3�W"�w0A����>0�#���4tQh? 
���v�@`��^`�
���p0 at C� ����	sCyz�\~!���du��*��
+Gy��O
��B0]��=Vg8������w����M�s��j���Q��s�� �@ PRJ u@�'�_�M|ܠ��¿Ԙ���n 
h ���!�� {A(�'4��?
������0
+`u����ɎQC
��1�G�� + �x� ���'
��p��Wd��������&�' ����Ң I�!��Y�����Z0��ڀ�dԆ;  �@���/^r���u���}��P �?���!�/��3����8�+��B���G���巕������]a.>�1,�Da6B��
���C�Xb=�=������(0f3��.7�CC�
`(���k��.08� ���� �����av
�yJ<0��m�bV��W��!�_;'". #�`b��1�8�O���P�o^��&�� p@ ��SZ
+ d�K�[�U����� !��g�DaI���ߢ��
E"~+�U#�����oa �%�~$�P4B<7��Ȇ?j�8�S��-�6"?ɱf��#�7�|�yFF��S������>�baU��X�#��v[���T×����F�k/�g�h{GK����%�#`�����o�ۆ��
G����A1Չw�&��]��P���z���E�@�i�uH��"��)zV��������L�*�f���G
�/Z�g�"�p:���Dģ������.��qN?�͌{t3~�J��C�S���?��	�lr���� �~{��1*��@/�K�
�ܮ��ZΒB �w�po��M��΃���H6�=�,cY����G�`{y}�iD`K]�L�
%�I'�&�r(��d�NQ�ɘ��V��pty��J�Qݭ��8��;W���+N�>��RX�
��V�4w�:7`���c��5�M~������4r���Hj�箔�j6����@����֟���|4s�u�.�r"����
���|}[ [...]
3ep�wժ���>o��ޒ}��z�?{a�Ud����sݙ⨹)�M �é:`�7�n���s��&v���B���&Ѭ��G�E���Iƾ��x�ҁ1�#�v@��<;Y�J)n


�j5c���HG8�a�e�㱬��J�YT���gIZ��`ɇ��붖r�T�y���/���o5UfA	�

+���
+B�ӣ�	
qY�
/�
�v��שN;"C�N+�I5��!+ 1���q�63%=6�t��v�
+~�e�4�<��rh��"�1�Z�S�d�WY���
5<̖|�*ڮ�v2Y��{W�
���Ք���
�)IQH)_@���^!��Z'�chL!��z�E�J+���h�
���?��,�1�wF]v����j/Cq-���O����\Nm>��
��BF��k� 0JMv�AGྎ����ŌҜ�
õ��9
��yI�DM�������y���I�(��R#y�q%I6Y��
o$~������
l-�)��4��ȃ
��Ek�6(�.�(3�a|�"��WO�e� �����}�2�F����Y��T>��-*��W�����MC����ؚ~p�g��>/to|ϠVh�-��\ VHvl �>��BP�1*�f^���:
�Q"�yժ��0�&����bhݔX4g����ǬZ��k��7�-*�V�[��N���
�
�ޥֵ��	����
��˻�G_�[͒9&�'j�
4�[��ŽU�ߝH$H�
+������v����t
G|
���I����
���I�{�
&���[R�b����s&��p���x/s�w��eK��� w{��i5΃o�7��T ��y�ܺ��N����=���
*�8����\J��\�����>�3za�L�jr����[�wj�^�X�C�hf:b���G%�
�
y�pA=?8�kՒ�����Y=XN�����6x�c����J�����8b���v����T_k�k�@�S����m���+���f��>�;U�"�

����xb�t��ڂ���{�����E�vض���@������1�³�]��
+7���@yg�4u]L�Y�VC�f
�
�x�9|��dt�D$�KK�CI�I��usY�ݴ*��:����v\>�����K�����ؤjg�w�>/}���"ک��,.

��˫j��2Z�����[�(
J�*
�/G�	?��hJʘ/����(�C�W�,
����:�������Ovv6'�_
Hᤛc<ų��WBo]�s&�+W��qՋ�?��_:;��Q@����˔o���h8��h@�A�� )�zѩ��0��ĹmU���3
���X�
����!�t�cBܯ9�6�
�JU�_�^��㤉O���9�?��. Ħ
��ٙ�ե�Z��C��G�0�qw�_�)
��O���;�IWΆP�Ob�ޛ{/�7��_'����|$�"�"R�4�͗��⌽��]��f�)}Dtk�D�K�R��:���
�E^y�dR@�I��O��s*�;j�_!8���EY
���<�]��R��,
#u�d��6z;T��@�b�������Äl*�
#4L�R��%��imi;G���ii�i�W™rF���\�j�\(OK��Se�^�Q�����ͧjv��5�A��"�k����z˚
���ϯ��#����T/v���B�
��"4��𶨾W�~�r+�4~��k����8���+!��h\[~*�~�+͖y֚i�<���J�q�-�+���wp���e�o�[���a����_�B<G^#�nigژi?[���6��c�N�!X�"
*� "Hq�p�%5������G�>FccC _U�4��u��g
+�#�~.U���>�m{
H)�n���� [
�zq]d�#&�3��۴�q�q��� F����aV��ыƽ��o{�:���.���w�4��՚��z�U��{��C�a�6et��^ًJ���JMgh��9^���29�<�����+עʕ�
(+R
EVM^S
<�{����Ύ���
Z�p
m�n��44��0Ba7�B�;�d�V���w�&±��

+�vh7�y���@`����}k���6?�����UR���d��[
2�3��^��.�n�E�r਌��Ž���>ƁC�*O�TE0��.�Z���ͭ["wy|�L�X/��5I��؈8�œ���ܪq������#�۽�em���k�I�����ڙ-{
��o��P����y\�o��-
�`��]�x�4_�F4�����B�U-��€[���x6he`
7z!N�2.���N�ޔ�ȑ��'�'����u�v��`cn"���~	!���m

߭��Ìޥ*�0�n7���[��3��j6�rLto��,,�����[x��,�C�ʿDtf�)�|�k��N
+Q���^3A�G�mF`1��r���C�7�^�DA�֜��s��6R��LtM�M���d��h���?1U�
w!��v��~�
�Ei��8Ϫ��x�8>�>�B#�o�w�R���ɰō'S�{f)�N�Ө��R]�}@�b1�{���6�KܝD+��E?�7�<��&J܎�����jA����x-|2ہk��j ���dŀ�tg���s��ǡ#>�w�X{7�X��?�;�4i�
5�V��
�bE�9����8�V�.3�w�9Q�2
+�������ÿ.I�LH��z��%����1��653�
{�0<je��~���Wh��lY�d�Mr	o��{�OޱsՖT+19in�=X�fm~wd�%(fs�l�}=����,�i�W
+�?���}�_ Mk��ep��&Nf�	��ޫ��1	\��ʣl8,,�=��*z��
xi�!؉gW 5/ܣ�,��w԰C���V�F�do~����e37��ko8���A!u�����\�i>�(T�����U�a�	ϲv�t�w��M�U�zq��f�
����
+J�Ѩݳɰ��u��~49VդP|Cx�HK(O�8�JSK6y����tĐXR��
+�$	m-�:��4���Yx����
k��!�'����Y�N��Y�Ւ�g!���Wzi!��7ðF�[܎>�.Ʊ��[��:�I,_�0F�Ƶ �^��Ś;
+�&ٕ��<g��%�v4*������z���J��L^�Td�|�Smc�j�e���)-����$��G<
��>R�W�
�'�}#�T
$mN�sDc��E��!#%�2L��~�W���U��>Y�ǫ��K��c
+���l}�gu��	&��XxO���N�����%٤8�w��O
}B�g=�O��NS'�[�4��M��>
��
�"�Y���g�Uol��r�I6p����OYŗf
<F�}Y~h�S�|�sLa$�NB3�e1���5��ďVڂ�Y�R��?��>鏐J�J6�U6||߫{|��`Rߥؤ�K�m�h|���ؐ����b���Gl����Ѥ��Ax6Q��@��HZ�u�o����5
Q�=����Z�����o�͸SJ�'=��dW��m	@&S����'�2i�߼`70�+�Z�
Ώ�;�s|(12$�٫�.�
���WL��|j��lx1]����X'��Mc�L�MX/st��NX�:>#6xQia��Vt���5�M����섷�x��*e
�^�
���3��
�
�>�S\��8��+�W�?o���&�����)��x�|��(ҀC
+�Y֔�|o���>����~�5��g�܅���ɚ�!_
0�>��J���	V�I[�}��
��F��u/�I��<�~�xq�#���H^lNԞF|%dž��ý�]�I�Mt���܋��9�Mdr���R��
��n��痌*���:�q�Q�
ϊ�x�
i+�N����:���۶�5Of�CpN�g/���j��Q��
+�NP��������ko��.�(��6IeVӪ�<��&�3��m-R$" !2�`�g,t�u�*DM��4�Ȫkb�����a�-==� �
ɮ��cv|*-��w���B����c��n�]wO��{ɷ�|��eV�����y(aAf�ۺ~����\�"��C�A҄��AƇ*�,�ʄ7$��m�9
� k&��r�
+�+���D��
�?
+�#�ҟRJ/�|���,��ӂ����l��bsq�y�����ڄd�I�^�&��{��l�vAo�-ã�x%h��,�/���	ci>�^����<ڬD�,�=SB�N_Hu
#R�
�}����(�L��>$#�c>�f�c���,�v��s��6z*׽q�cs�4�xZe���?��OT�!8�*`9Q����F��
i��>A[L-$۝\��1�4@���P� �kNH���������8w@����8ICY�z��u�.��sO6ȃ�if���������������6��ܢmWkv��0�������Ў燏�Z
K;-��e�#�a�).q1����5����]��_rg��ddy��lĘ��%�<ѐ
�9�zp����#]2����BO�|�'��r�KGU�Dí:��R��
��O�L@���Ća�4��i>
ܥ�4�]�
+��s-?^�"er"
+7
�\|ȿy�5��`2�|�J��9��g�
� �=>���GT~���D��� �D�>�J��Lp��[�Q�nr��ㆈwH�e�|U�^�$��y�3{^���׼���cé 6s
NjƊ�l獛��b�džHK����l����[��O��k����8�����9G��/vt��աG
�s�k���^���:�BnV@�R]��o��/����${\�t(�?�c�v
�P�c��u�J^�e�u_����-9j
��i�~��00��Y
~&o���Q�l��\N}�s^h%�d�
m���7�a
�W�z5�I؜Ws�Eb�k�dS�4=��T�e�ޝp�1Ӊ���3�F:��cᗯ_/��]mJ�o�r�?��1_�wՋ�D����2�Œ-��SF���Q2V[�<<��[�3�d�GHU��(�N�#V�����SE�3��)���۳5�E�*q���",�
��<�O�t� �TR�
|���w���)���]Ry4f�
�<U
�.V8�\��Df��
���pZk�Ͳ�����_"�`��W�q��
�f�I�ʷ����B
�k����U�O�
"
+�ý݉�P$Un���̛���*q_LM���S1)�q�� �_YU#�/@�Tb��%8���*��֡�
��$��p��.�R������
��Il0�Bg[�'�S�au�
l�
��
'cc��N�tGZ���9�����c����pX�*�����i{-A�}C�(�,B�xa�T���<������[ ��^�(�|���T�t
�O��9��*����2�P�bv+ҷ�TΎ�y�F�`
�5ɷ��0�h��"�J��z�ݯ�>Q~�v3jo����#�����
��h_d��5���vJQ�����5)3�
�l�9=ذ`;��N9�}��c	I�׍�^���Td67��������ҝi��T؛ R�.]n�n��7ۻ~�:�Ө�l��;�I�l�vi�
�Y���7�)^�
��nQҿt
z�0YZp��
����8<�M ���n�el4bn;�:y�
��������P��C
�_�0��J��M��S��kk�
+��H�����Fn��7��SX{�팠[
�����B@�
��k�����3�(F
��F!Kw,;<��#'�q��7̂����p��~X�!y
�{�G�p���L�X��3�J�����j��n�%�2�E�O]%{
�9����=�^M �=5x�P���D���.�����D�x=N�"�
+��~�)i݈Oi�J��Kz^!�JG�y���� �ق
λ��/��])	�F��ƂJ}�%�~�}�h��X<�L�M/i3$��(Ew�gT�8	8l P�<��b��IWX�5���{�����{u��e�x·d�s�˵yY�]Bt+o�넩g����s>�N��~��bd'}�����
��m�ը�uɘ
��,y�h]���Ӥ�m�I1��Z�Y at i׭�\��N�_�E'/i+�ϛ�R�]F�ud/&c�؄@[�[
+��M�
�
;A�c�
M�[>����#2kJ����ݳb��,͊�z*
L�4�����7�� �q[e�l��衒&��s�;���!]<!���;����,z�IeU�!�E@8h�(:�&� �x�se�#���r��
+��Y������>.�� k��o
+endstream
+endobj
+3452 0 obj <<
+/Type /FontDescriptor
+/FontName /OPBINH+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/b/d/e/l/u/zero)
+/FontFile 3451 0 R
+>> endobj
+3453 0 obj <<
+/Length1 1437
+/Length2 6463
+/Length3 0
+/Length 7424      
+/Filter /FlateDecode
+>>
+stream
+xڍ�Xj7NI�.i��4�HA����c��m05JPJ8����"��4H����)�������������]���}���w?��n���8���h��(D
,T30���b`�8���
��	�S
��� �(����a�P�+�:���� ��b=�	 DZ"#��`ٿ
�9�:��
4�Qp ��+�pu���( BdeeD~�U�p
E
��np�UE�h��!ཱྀ�J! ����%����A�>bh�������4���1~pg�/�@C(���h���Sm�v���b��+�'G�\`Q�p
�6�LGh�G������B� �I�W�D��`(
�FzAQ��+��	i���� �(�_�PO�U<���:]9�n

+�T1B������Ax���� <!�Jsu�(g54	G�� ~�����aW�
�=V�����@9�����Y��X���_
W*�?:W�/P
+
�Ȃ�po < ����<�
������?���\A�� \�W? ����`�!��6�[@ @g��wE� �d�R�]���&�A ��}�s���3������,����T���IU
 ĉ�� Eť�@D\
(su�w�����o�1�Wo�2�\�@�?!\���0����_�"�wC���@�ho
�î� ����
����_Y�/���~4��������+��
��~�b���F��������?�� ��"�ת�
��
���.ᣉ�;#|an��\��D���hįg(
+���v�k0�����jR�M�U�wI

��k�ĥ��P
���$�A���
��@�
+�{��tAc ��){
r���-�� ��_"���x�����������b0Wk��2W��-�~�� 8
0=��ݾ������J6��!�1�U�
AQ�4�	{JE�*�*+b
s����N�iYC�Py���U��$�!٤�,��!�tt�05r����-��.2vQs��
��;�<��[t�r��������;����f�&WM�^I둟�}}do{�x�/���37��(��~ ����]��%�n�0 d��D!�fA���D����>�,�,6�
��t�7q�i�Lq%�s�آX�O�xvZ��Kd2򁈤[��zo��.��n!��G�h�T̤=_�)��"�Z[?�����&9��j�p��?�Q;~��qI:6\�����!
+�>����
��KZō(%�	�&����.��M(�P ����-�.E�H�UpN�,�k_^����Hd�.�>�����A���[�p��[�����F�'�m�}��"�kJ�O~���8��QJGEC�1ɂ��i��[Y�8��
yt��ť:�<�yY��:H0��$OTJ�&�����Zv����v�.&X�*�8�!n��}��+M���{$5�N�������S��]-�>����H�stߛ�_qlͬn�(�D��~���'wW5ty�6�Zi�k
?E�P�����I����5%�؄�(]����%+I��]оP԰8?jx"�3'
2��a)�j�#U�iL'�^���|#d,
0�?�j��R�4��W�o��{�c
�*Q���;
CT�]��s��g��m�u����^.�(���T�
�Ѵ�$��&����f�
��
���.pr�ƵC��+� \k�
���q�3$��g������Ve�!��@+Ls�z��Mb�F��p�'��d>��&����:&��f�g_>tu���� �X\XH�ѱ�>3;��֚�#@�G+&����c��
қ2�@��,|]��>E&l�Y7�R�������U�Ǿ�cU��B����m�s���	ŀ����-�Q�Ȕ���yc���'
S��S~)���"������
H�@�����J�ի���mi��
���V��喐h��y?e<���/$�~�X�a=.
�	��^T�w)���+�ޫ���=c� ��
D�q�x�"*s�# d8�S����-��q�>q ޫC�P!�{
J?��?���I{�E$[�z� �H��S�@*r���O��H,��n�T��i\^ʋʀP�t;��
{=OB���;	�?*�skޢ֢9�[�Z��lV�qo�Z�a��hkO�z��L��.��e�o��2�E��Z�8���|
I�أ����Ů����场CX��6p���j�@�]���O�'!#�<�x��w��>��HɾyZ��*�
���
�r�� g蝻�h
�G᩸|�T��Y�!vV����"雭V��{����C�NJ+��\�7I���0���ҙ%TOz����E�I�:2T�1㪉����\�m~���o_ȁqX} gG��
+'ɬ{�[��^����g�
zf�B�
7xҲ�t#�lQ	Kw�7�IqA��n��UY���HB�]��S�n������J�U��R�@�F܋Hm��z�k��pM+�m-��'�P5�J3&O��&r:5���O'􅴆����KzUieu
բ�[��ʮ|�%�����8���4
@J�4x̯	0���g�{J�
Nh�[rf�m5��X�0��
���O�.v}w?��Σw�O ���P��W�fG�me���O���v}Guh3�5ƚv���c��=r�:]��b"�|�]�������[dz3�ôV�&z�p$���d�>{�� ���w$�*V3[�)���?,\s�=�����Y:�T��&���_�5кQM���S�^kV��C��E����ʼ<��� 6J[��U�.�3��J/gu��[�#� ;$A��κ7f�8��%���=)l���]9.a-�p��7��܆4��1ְ�h�
$K�����p���prVX���N'�6�e��Ȃķ�3�\/�0wca����z��f���w���RŊ|�^i�5�`&j�Cs
�2��T7�L�1�D
q
>�2X0	
Wxlܿ�>쉷r�Ok��m��Kw���%�6g�Lnw
�=ys�d^n�8T��K��o+%'ke1
+t�#0͜w��#���ڳ�+IZn
�֏�U#|��ȝ
K��ƝG�{�����$.y0%,0u�,�n���踈u�_��靳�g��W��:v6�/ֳ�����5�;����{9����Ʌ���6g��_�����ˡ
��-�
+\��%qL��G�.�Y��a����r�P�R5О�&$�Rq|L<�(�{���8̻2� ��;��'F�7��o������a�5p��r�ICO��i�M-N����"�@���7�����#�T�ZUO�v
޵q���V�\
zEBk�~x�iQ��ts��%�8����!�?�٭?	�	�g.k��!�[7���mCģ,�gҊmI?��m��*
ᨺޯ>
�g�T�s_��cK�>�K
+!Juy�eH���I�y�n3�qj�g�/(r|ePg�Q2v���
A�
~׋KMԏ㇕�
�r�
Α}b���}�df0#Vdh}?����v���]S��L��T�@��2�fu�ƾ�Nl����gM�~	��9�+��V�<
uE'���>A�_�b���8-Q���axQ��/���I�3���č'������}4�A���G���9tq��3�'���x�y���o	e��[�I�p���nJ��N��1��m�g��;2���Q�i�����Mu������'�yV_
ζ�5�
��c`�RT��C
�{��g�S
2i}�&?H�"M;c)���h�?��ssQ���N�w:2�-���L���O����ʈ�D�l���aX�5Ӹ�(UY�j�=5�g�'��~�MQEciK�����*W�w
A��<^���!��ru{�ࢩ��+���Nx]k
6R

+���
�'�$O��&��
x���LU���;�#I�&�<�����GտEEb=	%
B�f��yJ)�
+

[bN���$4�j�/�U��]�� �ShӍ�������/?�ȊEw��BH�I��z����~8���
_/�`~9:X�m��}��>�
���ѳ��ѿ����⡽q
�ƴ����M�@��|st�=E��(�k��#�����k5�4����;�h�z�r
ި�(�(�����=�/T
4C	�̂�<؟��
$B��4H�6�Kΐ؇�a6ok!T/�S�djҗQ.R�Z�h�c��`��<�/���u:
+h�ű��t
��
��⿥�P+-�n*
+�X둰��0<�+K�a��0�c.`��RۈI���}�3����Yڥ�R%��ȗ#���ħ�
��K|T�Ֆ
�������i12��A)��(K��X'�%�����u%�GY��5���wM-}�
cΔ��(�D��,�n�jʤ"߰Uk}
�/?�"�'/�n)�S+��o�^"�J�:�?]j��k��Mgj���� Gw5pl����=B=%��5��*��錘J�l?��i����Ҷgs��,.�/0��k����IvR�S	o
J�?
��=���4&�~Ɯd4dm��f������r�c��.�6!���q"�p�ķ���ґ�w,�޹
P��T����#V�Z{�&%Q�wKw��p<9ݨZQO�
%����w1r>�O;��-g��f6�,m�Q�ba�&4�g����͟C���?+�a6"�2�v��ok�pjM�h�{�UZ�̸}�*z����n�� ���
!�>o�A�:y��𪕷p:��&�jkn�T�w·fJx�3"RܟW�y�/�ݼ��Vc�W�s?�Oj1�l����,�8����
�D��g,�&�GW9�~�g��zr�b��'�C
t��N+׈[3~��`����3#���
k3k�L���!�'�<
+=r]�Rw�2m��F��m��Hl$ާ��tQ4�#&�:R9��E�_Pүع�+q��M�8~:}{���~��4`Ab¯�8�v$.m��9���b��4lnk�Y��u1���Q�����c/���d�
+��m����=^&�M7�{$�I�jxުhI�*�puu��.��7n��:�n�SM�4�i�횇Q�tjV9~�hH���x�Sq>������f�I��H�x�?��
8��=�
�Z#�]�G�l{��c-J`�
q
���~U)rv	����Z���q6���,QR*�x�	A�•‹P
F��dH��ў��ʾS5#Y�?> �T>&k���w�j����.�$$�q��G��	��"��FS�o�
+	�s7޽Y�͗�"|�y��
$�S�(��ƨ��|\'؎��g
��
�ޔ�i��;�*��
��^b�{s��2h���,HS29qc7J�^��u�
�o'�'�*8\�
�����Vڥ|����ڄ��;�������!'���;g�ACU
.�`I(�p	.�i�{*���i4*A�
��^�l{���Э��bԝ�P���4!EG?�d��Q���F���P����2=Erp�o��2���Q1���;�X����!I�ǫ6���?
o���4��D�V�����]C�� g�-��A�Q���Y
1;��I��Ɖ�Nט�@.��Qbfp�ҹ��W	�V��t��P�+��
�u-��
���\�*��|�d�#�%�c����;)���e��F
-\+xq�f�Hx)[;wG�<��B>�L69�ݥ�)�A��<�jj
��ÄX�5��.��-���[!��V���W�ٖdk@�9�i����(��y�:�{m��B
�
�� �¯	۾�g�1W�w�
�j�n�k�c���7�V�HO����-�'�\\�R�j4����K�����5B�{�<!�
�e^����%g^���^:p<|m�S
+�t^C)���/c����*{Y��%3L2�q���NZp�_�r�8�E0�<��A�s�4���f���h2�+圹�
���x
{��
Q�V�a�6�:�m�=��l��G��$
+�氭�A�kux
�����GQ���1�|cc�
CfZ���)
+1mJ�̑�Q�m>arɊ��t�}]�z�T����}mx�����G�b�#�x|�e��	�d���i�!�gK�C�
ս^����K��}=�&�ќw���}
��ɚ�e
+��T��
셲�
w3��KtL�`��ӓe;Ixzs����%���TY�y�
�k�yo	l�$?4Y_�ˉ�����MK4�I2�0�7Pr�گ���v
q=�0�E
C.��P^*ݻ���ۿY[Q�LiDK�r��g%�N[[X�/��&����
R�.	BCr�c��dG�Irw�)��1���~���O	}.V��u׬g�U��L�
M�n��=�ߝI
w�
���W\�b�{@9�
 �o��x�d[=���e7D2p��/
M�Z����wO��Gb\
�Ky�:���*oչ�Q��N-��d�S5���v�5�p��n�`��
ҫY�E"�����4߇�sN;Q�����~�����mK"U�NW�5��~3{(m�����	 "�@�e@�_.��N13�%��n�{;��e�٬���?"/��D#r
)R�����a��� W#<F��0w��*O��љ��:�����|i�v��� )�o&�a��K���`��q@��j~�%7�� o1WbQ��A����-�p�
?}]�
%��;^�w]��=NY
�����,Wb��?
i���b�����q1����:bfOl��������*֕�
�ofMsS�NK����Z��q�VY
��MN�K�~����m��JØ[
|D3F����r&a������Up�h���(��..A�
�2
'��x�(	�*@Q'�e�#��1pn���0�*x;��%w�nL°�em��^�"��\����]�S�����7w��D���䶵8�[���	9ʺ�'�~B� ���)GKkJl��Rè�ٹ����T�}? �\�=~t�>�����T���N�e)�1{ӷ�d�γ^��et
@�X1`�;�[I�Y`uA��8�Tpi���&
���I�p����;jJ�D~(L1�#O|�]��y��N꩜��
�������m��p�q���V��&:w2��mɅA��x)����Ѩ�0�dƔ-����.��x�ؒ��v;��y�*Xva1ecqϩ�:�_
���r���X��k&��F�I�X��*m���^�l=��p*<^�� �]�N7-���3�tͧ�+$5y�e���cg5�t���ئ
�B

+N
�^��a1a���۵� �o�$j//���G�f�X־K�S8.M
r�tz�ޓd>z�[�U���L�t
���%�'<{��!ͯ.�=��N5��=6��
��hy�ُ#zSs�Fu�un�{:
+&̣�3�xƋ/���=gDP�Z�C�Zh��X��ܟf�zs�jO�#��˺�D���E�����7��
�+��ýW>�Q6�p(H2 �G��h�j�qe����k
zk�&V�1��j�1���
?Z�e�-6����G9WX8�6��3SG�@v��`��FX���H�`��ɝ&9����٬�Q"o�’�sz8d��ymU�K�r&q
�����=C�
+endstream
+endobj
+3454 0 obj <<
+/Type /FontDescriptor
+/FontName /UYHLKA+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/b/d/e/l/u)
+/FontFile 3453 0 R
+>> endobj
+3455 0 obj <<
+/Length1 1647
+/Length2 9476
+/Length3 0
+/Length 10553     
+/Filter /FlateDecode
+>>
+stream
+xڍ�T�k6,��%C����%�
0��0tI7HK�� 
�ҍ�4���J#��9�=�����}k�z��{_;�{�}�0�p���� �07��O
���/�������fa1�"� j�Y� p7(�E�_v8�x�)�0-�
@��	  ���A"�|| ~>>�� apq�"�j����\ n�,
+0Wo8��
��?G К
 ���
 �
�C��. -0�
�����0�YC!��
+��G \�yy===y��n<0��4;����C� p�
�7]�6��1
l��=��O���	�C 
+'�5�������<��it\!.�5�p�� ��w�������
���9��]��.v [����Ƀ�Bp�.6��`'7؃?�
u[= �(

P��������uE��A�~3��
�ᒕ\l`�������p��í{���VG����g[����o
+6O\�/�!j�!
T���� ���? � ���
�����[�P���+�`�@���<�a���=  �
���o�K� �j� XA�.��DPCl��:�z��=

�������a�l`.N����h.������*���6��ü ��b n~!> �O@ �p���(���?��`�_���Q�����������_3�k]���A�0� ��'�g���?�.�3�;��e���
ew'�?�������
u����0��Ђ=���B�!.������V5�a3�\���D��2�
b�
EX��9@���Cx'�
D���� �A||�c{�5kLJ���S� ���)�\�a6�w�_H �������� ���崁x�1� ^
���@�`
�c���[���Z��֎������we�6��0�
��V�
���B�����K��
��y^��-
+>���Ԯ���U$�K��t��!1�_����_�0�����<�	� �@�V�_�l�Ȅ�c	
:���W�Xc/|�YK�:ԅ�]���xro�KM�l�f��]������He��^��˥u.o(�d�o}�[0">$�^��X$�On�b�"�(ڗ��â�6����}�g�҂ԩΒ��]_�
ɥg��W}_��h��-��ja
���)�'�σJgX
+�rf)��t�
�?�f�Χ��&���9����}�~᏿��Y�0�w�b�zJI�rF<:��+�-M�b��m�r��W�d1}

W�27!�7��j�~�KSO���Bh3?�F�O��\[�Djg�!�n��!A�
+8B�u�ʯ��}�uH�]���̊0$���Fy����w�
+��{~+:L|��A�~mKe|Cq�F}���02jl�"TWj�d��,��\�&`ٌA��k�g`>j�~�>S
+�<�(���C�"�4J�Oy��I[|6I��D���$Z�Jt�
Ti�ǵmp�ס�JF���AI˔�/�ψ��ҟ�n'nYX�`
�|C"�k�q�@z�0�r���h��=`y�7RT
B�����ً��������z9ܑ=��F�������TtJ�vZtEϑ��ɼ�zR'��*
+EP�S
��O=ZWƃp"���#6��[�
Os&�dx��
��:7���u�V=��Qz�,�rp]��ީ7���$��
�JY-����_=�&����P0\��/���B`E�Erf*^��.�]����:�Z��2ϳFЁ4��Q�_��31}X�Pg�5��o�-{�M�6n~ӛO)��KC(����-b�ڶ��>��]hpd"{�����R[����eL��i�F�$���G�Y�� ���]�
+�9���-�l��$c믭+�70�/&��
i� G(���` ;r�(���[��BCWH+�:C��偓j����Dy�c���Q���}���
17;�_�G�
��L��8�?߻�� ��v�I��[�Ac�Zn\�Mq��Dˍ$���?��ب�6�:�ލ�.�f�npN[��ӴX�$m
�����x�������֔�^�J��LMy\���W��D��{񺄰��6�+IGC��8��u3�때�%首Ս���q��C�BS
+��
��iA��)j�b�,���<) "30���A����:���Hnk�d�x~nv�m�
���:/�$	U�+�:*�B��.�Y��yL/L��C�j�L̪�Q�T�Y��q���{�7� g�M�>���CE����8�t�����ͳ���[jG�	�is��L������q[��eUͰ��־����8F�U�u�Lh�Bn��T
-׺]0�`]tq�3��v��E�-���H�y]�=���\Z��뵌�����C_(�{�{`M軞����8��D�=!س4��}_
[O*H�r����yH�GT�$gmcr���.K���B�T�����m�:�S\��Q�7�sU��b���ԅ����;}o���}q+��zY�i�ܰ�/T_۷
k�E���/��0ץ��?��Fq)I�����̅�ZT�'޳+P�f�;Eu�5K}*�}{[�XQ�{���D)?l?����4
z��n(J�������+<Ϩƨ�.��	w��%��{�n�ׁ���=�9�=�oh�޹� [...]
YqmL.���o|�������0
+�+tj��Z�hASy��0ᥠlX�[h����aMO6����M1.-}�a��&f�igw�~����6���A�L������l��穂݊\��R��ʩ����cEऍ�����Ƥৗ2�&sҙ��ǽJ߻��Rޣ;C��)G�s5��fg=�9Ď:y���EI��B��D�F
��-�@;���-��Wi"�cc8I'�}�����8g�t�m�	'J�XZ�Y�����s
�}������| r�W/��[�?#��~�����ی����/Wc ����֝|���E��ΞPzΙ�O�JN���&.�n�ꐔRӁm)E�KM
+w�h깖���ֳ�j�yq��!C@���#V`7�(Д����i��_L
���d��`9�����k�-�_j��ZH���X��7��u��f�
9���=��o����d#)f>�e�Hv��
+c�bUt��h�
��EQ���fw�輩�8����϶Xn���J�����g5�F�}�]��#�w��_��%Uٟ����J}��0��;�}�'q:�Ω�5X���Y.�z�/?*�υb��&�.(��j��G+�e�#Q�
3��3�`�Ĩ�����,y���V���(���zNc�+r��Zɉ��:��{�+b]��A�m.�G|gyu�l�S+]*�]�؏�)o�b�*L�a��3�'u��|f��>-�
m�� ����ю�y'��<2c�Q����K{�?
�G�

�VW���c8�:�.%�m?=N�Ls܁�fCG�����(�$P�-X*��Am�
��u�c�����aJM	�����D���e��C�>�e�cX
���XȽu
+?����7����L�mx��G��3�]Ȟtz5�ٔpq���K��
r���:�Z����7�I�i9V��+���u�����%OA�}N�c�5�go
g>�x*6��'�P�k�Wi�`m�V���[ɖ�
+H<%o�<�ܫh�

+<xo�p�RR��9U��G�Q�\�4wW�U�.*���h�xȸ:�GM�?=��~���&�;�����t�
��j��C�u+�C)t�٬���Z���ۢS�J#�o!K��k��C��uR�maWg��O�	uD�U)��˒����;�E�
0��x
��l
���N+�>۾*��R��K�&Q���b�7Q at F��}��5���	,��ly�g �9���^��}k�9�h�c%�����_�QIjp
T*�
S����o�ei����#�&�
�I�h�.
&�^�G�/BƐd�7S2~�f	Õ����*���Q�s�'��U]�WzÀz�*��|s5f�L{�\:�%�~�G���'�Zfzt�`v��V�o_��SZ��uCpXaNm�|I�l]xM,��ҿƍZ�aA�1��N�+���R^�c�z+O������TNu���fTa@̳a~�ev(
'ʛf�m�7h
+���|r5�2j�����t��
Ŝ[ˑ3z|��F�k��R��~g��а
3A�3{ѻ����

�6lbX�u"�`��"�LR�JQ�E#*k�^�����U��	Ht
�JL����F ]^Ic0���cS���$�K��yY
}W�;�����ǯ4��!�0TRC���V�Г}$����f�@��v�}�����DƖ�Ig�����Қ�+��L���)ec��c���q�e^Ho�0
l�d�)�O�։��>~<��ժ�7�
���V�R-B(
.�#f;�CO��ܬ<Z�4��=m����GR��_�v�+;�U���}}�4��۽���f7���
+UƠ�B�J��P飋�t�������'�{�
+o�ڔ�	>y�V:��t�/�Xd���*��i�.�\�>�s�J]"#��XK]�M:���d�G7��؎�l[3�Kpw����h�MN���j$�"��q�	9���s1��O�d7��O�	�4{�׳���!֍�;��L���R�W(7��B���!��_>�*c�����/q���0U
IU%!�r�������JaD����w
�r�A�!�n��÷fbag��j�ҩ�1�<f�����i:����X6a�b}�2F
�����d���y�ɠ�S����-��N��{��:Q�����)1�KJ�A�>�M/qx}/��fu�"k���
O��>K;M��˴��e�JX
��U9���W�
��kl
+^(�ڭ�S}ߍ��VS��?��[a��)�<����<O�+�A8��y7��}��(�
�X�	6���Ȉ�,��I���J�\Dp|}=�~���L�FҸ
��j�.t�q��E���[1Z�
>�q*�_
�')_|K�:��'�'����噚?�ը�9�!!��Dn�n����Om�;�8�)�F��ͫ{9��L>f�{�xE3�r|�):�3�O���[L�֨�����������V������Qx�K̰Q�2T6]
���΅C��a��:A���$�2�|���*5U�5
������MUj���� �T������
�����J�e�T'w��Y�'n��&tk�y�타8��^溲�gs�g�LV�
8hUM�.��!��eD��'�O-t�n�1��K�VP�!	���0	ҳ-
ź�"|+Y����.�n�ͧ^�mB�p��� t��B}pQ��N�@����7i۳"�=�ne�8٥�d�Vo��aE�R��Y�F8���K�G�~QX [...]
b
+o>��
u��Z�ٚ��������Thh����
�����?cA)Y
�
?�a����6:���zy"v~�?���C�����]"m_�iq&Ip��z�R
��b�ʄ���h��B�W���e�T��T��0��">�lIN��L39

ˡ�V��`��Ǡ�N\JA�g��]�##z+�i�
�u4���'��E������V?�g�SEO)P]L����P�4�g�
��Y�0�ݴ�
��ϩ�PL���)M�*eHp
��r�:O>%���U�T�@z{�ͬnW���E�m�W��鰙Uj�흩�"|?>�0���A9r"T�j���B}]�
q�`11/�5������B-J�o��y�9�2Yިs4s��ҁ�͉〸��T����&Vm���t�9%t�	���즏��`�{
�Ǐ�k[�&M��]�FF�t���m�k��ŵJ���q���&_Ȇr(&�2}mA8-�H�JZ�'��Q|��R3�`����4L"1�93{��
�;$f;��eIo�҆�׭|������%��Mc��s�[If󊰒׵���(6���f �)��r��QgH�听��5�C
�F���7�{��/��K��S;�f���#ea,���g�y
+Ƨ�jk+��mt���S������ؑ���j��"�����l���}K����I~��)}s[�V
��
QljTJ�ϱD��Rn��3}#-�0�
3�C��;�*uއʸC 
�%��1
�+ے��``d��Ж=���gr	����%�˕�&�N
��B8�g���;���%��#/�蜌{�™�b��/Dk���&�~�?>�
��:}�d���9H!�J�
���wҬ+��x����j����/�6��)aťu[I1���\�g�	
��́
!�T���o�_Gs�iP�E}':+<�o�h�C��l�<��~�VNL���g��'H?�� I�21D������&��X�m�
�B�u�������b4�'D�"{`�$\/�:
+!��IҬ�N���~*��7���B�A��5u6+��ڡ�S;��KǨ�帡~?���*f��.�'�;�ԋp2Qa&I�n���(�������4d��2�T���+�I9-��/Î��֢�/Ǘ!��
[2�������IO��̉D���7�[U��\1�&�T�GM��qF8�Q4���Kؕ�,��I� #��eH���`ւ�|ot1��Zcx���T�T��<��ʛc�����S;�k�s��/W��b/V�|�p

v��6A�x��٢�Z���ҙ��y#�Y(�#�
%wX�b����G�^�4�M
+�LJt�n�8��u���=�
��mǛ��yy��R�֭�.֍��.�'F>��j]qu�%T��ԣWV������抝e�~�T�L���_΅.�:�f�5�l�4�.��M��~�3�a�=��P��`HŶV��(�d�W���������s��&
+u��4��=�|��1A�s^px��7=�"�����$Vl��,����|#
+
�vdh�g��+b7al19��s��|�"�	�X#��8
�BQw�V��r�i:eF%#!�vxX�ܧ�gGu���l�'[32M4�a�����ٕ��h��
�y�ͽ��y��[K����Y\����$ ��ï�����b�.�5z�5�O�/��nm�U
�'X#!	�i5
(e�X�V�R�II��� 
�s�V{7*�ZL
����#�<D#ŖV��>��v
?�|s��Б�4�p�M?���{7�<���"�Zj�|�t�Vq(��n�tP8���霎�+�4J4#
���Hp쨘�3\������t�fH�mJ��l�ɑ��%��ϔ�
+{� a
&�+��]�|!�}��0��е����m���<�,+;!�������������gٹ�NF��~ 2-�!n�����Tm����7Fb��Ў�'lz�]h�v�lᴏ5��T���f�9�]��n���卵z������˻���3a�l�&Ѓ��l�P")�h51�Y�����SwǠvJU$T�
쿾 �w
+/
	�
+ߧ
�����k_T��
+P�[����E�JyQ� eW!�����?����P��+
��koe�s[j��R�׭���������u��
	/{R�b�f���_�7��C�8o&�_��c�ˁG
���t�)#g�$�*�i��9�0�
*���i@ ��屣����n��v��.i:T��i�e����z_y.J~ʥ��<��},"sO �ʐ�۲) "i"�ޫg�T�!��T? ǵ�h�H��1,��ާ�Iᝓ�y�8��P/4�>�<�����D7{��\&��|Q�h�ו���}x
�["'���?+2 w��U�}�� �,��A�|:c�ap�t�EF�!ڜ�g��*����l�&y�@��C���t���i�_2���g���a��
k�xD'��X��(��x���~H1%�|����#����M1oz���™%�D I=�_t���,xr�'{=��a��z<���6�h���m��ȕaB5(ȩ�f�K��
�0hB�����������=�R��n�	
���JI_�զ���e�o�~Y�0��
+�'EP��&h��V]��O�f�H�wX]ѹ
�r2�iL�2�6��
{�K�t]	��R�,�8����>!O�3���"�N�7�9�r1+�D#G۬u���nǹ�;流����gbT+������b#�5��b��oZ�4l�@�CV(:�}NFz�*g���*�2�	
W�N22��Ԧ'�|@�]~��{��P���1u�x]ќJ21]�9C�i ���u'1���O�1ڤ���q0&��l���)���k]n��_�̫��x��&n��>�)ٴ�e�|~ 
+�t-�H`~��v�d�
�kv
�{Բ`��K����������5�$��\9���<-o�7���V���Ϩ^��Q���t��7���V�zM/�7?�;�R1+�%��8����
���]�
��I����G�+�������ײ[	�N2a'�6�Z��䍸�m�
�J7�N��gD=/opĺ�1=�����8���W�?��I��9�
ta+R�9Bd#� ���&Tx;���v+�.��Q5Ws�r��G!&%��4����	p�$�9~I~
(��u��"�Tv#9c�X/),-��q^NAC>�!HW���8�\�N��2�"���ͬ�Z�:�*[�"�	�u��b2��j��P�f�f��2 YJ�O:��eLU�
+��X�q�L�YC~��j��@��vG<�}�XՒ
lD��yV�0� b�~r���h�%c�.�� i)��H�O��U�s{V�v���J�~\�����?�t6�~Ť�I�N61X�[�ݜ���
9�Y–e�:։����K
2ұǫ�����9�)�T}���b�ڢlE
x�r�6�+9��O�5m^-�k����U�/E� �Umm���`��&:s���C~�5+�ܼ8HE���
У�,��%�<rj�eL���K+V��`���%r(���t�T����N�+�C*��,�Iܦ��������s]j
+��A�e?**aU�I�X�=�կ����{$�S��=N��L8�� "Q��.��
,�dF���	���m2�ñfT�[�5�>�α��+zkΚ�o��y���ōl�d�:
+r*���հ�D��D�����=>[L�^u�x[nw�uM�]��P�R����G
+���ע�H�~�
+O���@�a?nI3J��
�B6%�����_�N���tX�0X���0�

Y���!�v(���c�XDˊ���B~ߐ[ J&�i�
�L�\W�Hu'�����aH<�>2�Im�!�����N����!̃ [�������0Y�n��;�6��	���X����h_F�ǭ���3((���N�M��uF�~I�:z�P-��C�1Q�h���d���L�D#xp8����K�WdyA�T#�t�j
�Җк�d�(~�
����P.d}U�4��\����1H��
+h�0�
Z~s�M��q
c��T��\��}�n�ܯԨ���hr�:N���NU�vP�M�}����`Α�V���J�%�
?n�g��r\��ي��r�߲�^��cn�+
��q���i����Kѱ����7a�G?K�uۣ)*���!�ʂ�X�+��`�F�&�q-8�ݤXi���A�7 ���C��ɬ�S){�u�8��
�� �
 ��k�y5�w��z{�0F��X]u�M�ތy�Zh3	&>�q�G��źx����
[�,E%
���o?.�^}��?;V����1мh<x�ݬ�U�P�L�F�ӝN�'�
g*f��s�,g��*̠�U�ĘWN�
�mpK��n���6�
�I*�V
+i���da��%�?͌�=z��ڋ⿥����rlإh0���R�xq�B�JR@ ����DE��gkZV��]�M���C�iI��Im��
}�o�k3d3
��@?BBq��m)ٝ��`A�q
+B��
�t�U4��g���{�
+��׶�,&F�'y��z����*�
�r��F̂���;�\�/]f��7K�[k$ԑ�񅞖{����
J��
bZP qQ�c�n�Qn��ia�6�5�мdٮTB=b5^�P�
e�ݽ��sǮ2��9�2��-+��g�hڭv�~���ݛ�!��7N̔8})�m��$(��4_g�E]�`�g�`����F:Т�x���D��}�;��:��ka��V*��"�B/�sOj�əa �
�H
�	H������
)�k�ak��@�Q�0��h�Z8�R��Q/9_@�;^��C::`X�k��ٛ�<�~��|Hq��f�q at n�0�kVoGH��
�R,�{��M 
��L��0y�r"�t���1M$�iΕ���>�~D�6��`�}�	XWl-5�Ul��N�VU~��W�/3�yӬ����GjU����$kV�
+endstream
+endobj
+3456 0 obj <<
+/Type /FontDescriptor
+/FontName /HRPHYH+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/bracketleft/d/equal/fi/h/l/m/o/one/parenleft/parenright/r/s/t/v/zero)
+/FontFile 3455 0 R
+>> endobj
+3457 0 obj <<
+/Length1 1481
+/Length2 6528
+/Length3 0
+/Length 7532      
+/Filter /FlateDecode
+>>
+stream
+xڍxT���6"]�H5 ���{�
C  �7�E�ޛ�t�"
�Jo��#��|������k}��Zɻg���Ϟgv��¨oģ F�ATp� /�$@I��B���/���/H��b
E� �	XL!�H(.�%w��)Qh���� ��b��� A~~���wI�2�
+��4p��E	���upD����`q $$ĸ�\ �P��
!.�  
`� A!(��`�vD�\%�����x�.H^���,7�
�rB�wO�2@��C���`�E��0Bأ��� � �� p$:�����F� =W�/��_ n����
+�+ݟ�_�����@��
+��@� {(
�S��Ey��@8�C"��@O �C~o
PU0  �
��C�ܡ�($/
+�ő�W�1���J
�$��?e�;�>w�?�u�#��~��p��/`W>8������6��� AD�%DEE 7 ��������+���!���
+�GӀ@�!�?$�@�{@�������  
� v(�����f��_kt�ݡ� +~�� ��^�z�F+
���|�
��b>K
]#3S�?���TTDx�x% <�� Q��� �y�u��m�B���?2j�� ��H�O�o"����gl8 ����@�`������o��!�
�����,����{G�
0�o?�_���t��|� �z�@�gC���C� 
�
�p�o�
+���Z�<¼��١HU�7�E�
�����@׀A�}���AG����=z g�݂D��
����U���_#(("
+ ��}�
+@�D ~�YC�K
��
G��! 4� �=�Wc� |@$�3���/�o�� ����Eq��y���/?����?�h�+:	��%~��{��S���;��[Rh��
�7D07� I�9�k��Q���Y�YZ�N��A�~|�稍��6��\u(]�,bbƟ���r��ѻ���4�|�J��O����w0��aL,=z��0р���[���U�X��櫍��
�MK�]�
����1���ױ��Ԃ�y5h���]w�
c
��ķ�g�m���|V��e~��>��7]�P��Z�*�����&c�PR?5Eb��$��ȹRYju�K����b�?�
+�Z��<
t����7z�!Dfd�O�lײ����oJ�v�IgVd�c�f
V
��( 8u

7:S���

m���X��P!��������Se`��_^(���\���毤S�4,���u��=�
r�~}�
�0�
?�jz�6�y�`>���
N0o����I|�!r��̔SEU���i��?d�����ڡ&e)/1;�o*DR`L��X{#C�B2\��)1��A���J���2!M2��O�Ən)�œ֮�1���m�`�~�'�g���a���D�M%� m�M��R��
>�Y�W�idK^�(�>�dz��g
���
+uQ����ɠU����}��2ގ�u���nz�7|?�:"�T��g
++�U4Ƌ�(}6��j��5�w
�7�}#���^
v��j�=t�Q
�K�6.!�Z��U��0�4H���]"�xC��
��Ѿ�`
&�5OY�k���)����y7�g�Z:>�~_���U���B���뉾�Q at t�
�nZ���*��4�DY/��F4�Z�O��
i_
��
+6ߩj.C���PyOR��a�l��oE]�7�}@o���rR���
?�y��5e5�@���Q�6����+�<��⪱ �H�ҥ5��h��
/���~�e?v?Ggw�A]�L��tPedX�a]��F�Z�U�70��Q�N���?6�5$�i��2���
>����gX��
.!��c�<����W� �кj)�vjǩ�7V%-��IT���BiWՊT
����O"���{�����ϖ��$����R)9�2C�d���VK*:
1U|kL͢�0���4TJ�-��1Pv$�&������
�!iw�Kgg�TиԷ�,����"/k
��:��.�B�$0�
�
��k���i��� i�	F,��
+���<�ŏY4��eh�f�+���T�H�+����L���B�g�4ws=��I���Yݮ�r�+�L��'�G*�}d��I��K�$�#��h��:q�� ��Aqdh�
GX=Q%����$
q8~����I��/�OO��"�mȔ
?�I��ef�(���|�7���gS:�Y\���5�J�� �\
�sc
�޸�u%�'C���B~��T�	��Y��t�j��C&'���m�yF����oFg��
!ZCl>2�a�]?=�&��Ư�A6�����KXY���b4^�y$:�\�<��[�
n7b*���J���0�&P9�U�![(�/d��Ue�׎�1�O\��[����EM�
��O�q=�˂ߺ.G]�
��S_��ʉt�B0
Y��ʷ�� ��u_R���W�ί���v˲�϶䦹	1�O�P��
GR���(�.�
���:�#��m�}F�
�w	���m金�,Ӷ:��<g$�	}ȞQ6�'��J�(|\$;Q�
�K
�YW~ζ�US�cb	�|.�bܪM�*2��b�x�,y���c�����٭"0[e�z'-Os#�{A
>�^ ��ȹN���OT�.C�ՖW4=����co���@C�
c�{s��1���EZ�>��6�qd|�u���� ��I�
i-�ϾE at n�3
{��G����)�5-�Y�X��yʨt�%	X�s�99{�Ehxυ��Y���}�Y�-ŀ��m纅n�%�}���1�YR~L���=��V��Q�m��K(b��^�0��z
EUX�O.�r��烻�\�	/�zRT@�>�����ӷ���ꜞr5~�J
�1��T��{�ɤ&@X�Gt���g� P�@��66����}��t�x)F��&�eOkv�w�=�v_��[��P������~wjm�!�/ߧ��9�I�n�0��h�[
}�<$ߖ�U�]ch,��7�*�/GV�Eս_��mRXKi~׎�uԎ�_Xa{#Gu
+����9�C e����
^���.�8��J�Lq�݇!���?��+�M堝w�F��n����wɂo�|��₻L]�7җ��J�
��Og߶dݒ��n]7�RZ
��A�$�fD`� �9��%b��Ǧ5� ��M���ɽ�
+Zx�qF.��jf^vkd�
,o
_4���gm'�l���K8�=�K��|��XN�����㗈gi~�J��?o���:0�Gq�@�`La;�|����?R4R�8����2p�
��)`CN
�;�;ڵ[K�m
x����҅�

8Jd�ro����qBk��+�7P� �5׷��qq�I�">����&G^q
o��c����
�+*�c�>U����}���^�/?p�~�
,33�f�
�����y��%Ma�J���/����^��/�C��|Iru�V�(�Z���y�7
����$��m/�YM�g.��cS��-K�sdQ��
s$��["���$�E�G����1>����]�Źl�Յ�`���;gy:�@?ρ?8�S7mܖB֝���=�D��{x�m�
-��*>�DJ�~j�b<��h��?#�!�7Ӱ]�	��
7����I���,��.=�n�-d��q	ó���dNz.W�'�5��d��*EȔBIJ�N&
�U7��ґ�n���4���
s�[b0y�� ��4ԝ��O�C�f\\O4#��5�+i�7�G;
+�AB%+۝�
�g��G*�-�	N2O�� [�~^�ն$"BE�S�u¹��[k�{
+�w���^�

�<Xz�8!܀��2a�@��������3F���g�m�t��_�X%~~���
a[C�8��� �
5�|ڰ��1ހ���;�)oJ�>�u��d��jj�Cd�W��g����s����o�
�'�P��]~n�i�/��]�[�U�%=��
Ys��.���A�Q%��
Ӥ����e��g��Dli��
]"`
+�NQi{/oq�!&J���'
+&����YA�:��J�$�Ѩp��"m�@���?�Z�i�?��
+$�A�r���̀���h����	����7;s�\) �'���>l.{H�L��`	WF������klź�j�����Ę��#o�����O��e5
|������^��j������Q�Y��2͉sn=�q.��D��\b|<9�V_�"�W�Zi��~����6�b��O%�b����W�
�r&/3���#
*��י�ٙ�Zx���d�T𽚴U	�,M�d��P�y���A��d���h,��R
+>��[
��錓�:T'ılN+�%u�w�
>���h=�c�������	v9Y���
�Q���8f㤼v3b|
~�����u>�Ó+t����?k��O]^)��yȾZ��eޯ�����̀!������|f��X�U9���Pe��
+51Eg��;�k�{4_B>����@
��B�4i�;�t�,�:�t�4��EyRJ������5����U�hH;�@�HzT��Ŋң�W�*�s��9���
+9j�ٛ�g5���i!h�
#r��dm�
�PZZ��hԶD�y�{�%R"�Z�j.��r��V��<M�U�jr��Ԫ5�U�6i�#��`O=ǃ�ii���
�q%��e���I��=~��@��4���8��d������v�
+���~M^���6Y���ϙUK?��+ϝ��ȹ���L�7��_dQ�i
���S��9�;/PӚ�w�
ԭ�j���݉z��wdL�8i���/=��{|�0�[YE`F���z�3�� C|
����G�O�Vt��
��M1�� ҝ���γ �3�
��E!���qe:'��$ͨ��y>H'��6_��S|��]bN
ϫ��!%��h�2
+�{�
�r�����ګ�$�	�w��D���<q��������\
�S��hCԎ�Up�-��5^��^��ztv1�?@�
��Z���*�B�`�{��Ji9ϟN�1H���`ڮ����(5�˳}���R`�\�fh+_�*��	o
��&��'-��0~j����	���c���~�7B�z�c9�ו��gހ�yOP�CA"dG��+Ceu\�dEo*��^ы�ԙ C�^͔��l��$���*�\��;����
3�G�Dz���7t���~V+_��K�!*����\_bw�B���.���
+����ֽ֣��f���fi�\�yc_<�:�7���@�J;=�������&PE>K�V*��Q�#��\�
��,$�V�<<b��2S�A+�!��w�eW�&	�|l�qe
+`�
x��ҧ���@+�K���刜�h�S�'�=���3%��v4�� � �N.9���(V�ęy���8��
_CuSR�
�2��cd�7
+�#vTr�*�R�'&�l�ݹ���
sȼ�-��}1e	E��I�돺
�����#�i�,a�CZ��	�y*�B�KE��Hw
/
+��k}�Ҝ�I}��4���3�"0�'�S
�
������gۙ��*=��b�r��c=N�$+'UL��
�crcG{����I)���%
}��T�#T�o���fI��x�&�V�����o�
��HP�����A���;�ؙ�i��@��v�:����z�u��vGPz�r$��
�tE�U^c5�SE�Y�LO�%�N�F��6��a�'4b�M3���D����*� ���(��ƺ����}Z@� ��eO�*��⦥��<��۟��~�� a� ���bJ;�1��]�:�Y���3����,A��I�0�+�G�ϐ�H��"�<iU-�յ�Y�}ǒ;͖����1\�'
�x�,���
ռ����bP�t퓗�zn
V.�|�'�����m;
��è�(=>�d�>������J��+���A{�G�lg5�����n�j
�޷���w�J\�2���J5D��Ҵ��n�y���í�4h�����	%����&J�
/�/
���M��جD�Lak*ɲ#��R� [...]
��K���1��<�Z���X��#��{�l��
��_
+��R� ��#iE;�2#�w|��|Y��T<
p�B����#���
���
6��A
+F����qT�m/l�_������{��\�7�]�԰�������.ރ(�^�3/E��ĕ�k��ּl���l��s_���

��G*��
�D���:���Ǒ�}.���
�F]l���sl��_.ν-g�/��A��I��ꙫA�X����ݫm.���e�.��5��Q��n�S�9 ���ד�t��J 
/���#�{1a�W��*;�ܫS�I2
*9�=�`MP�闗��4&s�M�Q�'3�t��<ջ�:�(̩�����t�J��`�Z�4;;F
��#�+v7��~f�����
n��ƒjL*_���pL�2�5�[���Si��E��Z=\M��; Bo'��nD��-�o;�ݽ�K�f	���D��3LݪG�r6�l9[ve�c޲IjM>�r����3~Z��!<WϠ���i��
�x���/��r>�z��%
+��%aqGl��c)1� ��Mǜ
T�S������a1����t'D��T�q���ܑA��O���Q��{,â]k����59pB
�^sw�D��=(��h��s�/��j�%�e��MH�oP��Twg.���\�k�������v�&ĝ��na���Y�7%�nlU�A�tA$���.����?�:ZO����v���5y�=<����^�������#�G.5k?Z��H���Kvw/վ��O���'�)�c%%_�������-4D
S�؂�Y^<�e��N҂�7‰XG��֖�+o�E��(���*:�˛�d�t_�O7�
��gm��2W�4N\��8���
��;m��������n�I��t9*�6JM�
+|���c#P:5�ը�a��h���񥄏�z9J)ʺ򛿃���=ɵD���i�zKY���F�Ҵ\���>�޼�#i���|�d�D�`�&� v_��K��G\y�{^�1$d�~��6KY����O�v�����VRN�M������H�s�5��4��*��Or�M,&kZ�����}	���ѭ��^T����1i=���c	~(N{j��Ю���ӷ�$j(-J]�k�WC:5]ː�M��6ϧ�j���BA7�+9�\z| � �*G*�3?��0��.�AK�G�`8��XtH_uƍ��[yn��ÑWy�շ6��)�LP��8�J�ľo)��W!���
؏��1�>ߺ�X���FK1*����Z��!�B�������Z���x����cs*:�,G�.2���:�'16��cB(rԸO��3G���
+6�ܒ�P�L���p�oN��=��=PyL_`�7G��4�˞"�`d��� ~)�G
+endstream
+endobj
+3458 0 obj <<
+/Type /FontDescriptor
+/FontName /ZMNSWV+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 40
+/XHeight 431
+/CharSet (/asteriskmath/greaterequal/lessequal/periodcentered)
+/FontFile 3457 0 R
+>> endobj
+3459 0 obj <<
+/Length1 1504
+/Length2 7108
+/Length3 0
+/Length 8129      
+/Filter /FlateDecode
+>>
+stream
+xڍvP�k�-ґ&z	:(ҥw�����PB�Uz�"*U��D:
+R�. 
D������w���L�>k�g��;��62W��
�hN

) ��Mo� @ ) $I��o������)�-�,�R�_j8G�ԡ8��>��� K�2
+`Y 	����( ԡ�@��F����jh<��#��� �$
 ��ˊ��"��Ї�\�HBE'�;�턀���J!���y(HH��� �H,�qQ� p� 8��� �
�H�f at J~��+�7E;�|�8� �#��(,!�
�c �� S
=��
��Y�� �@����+�;��Fz at Qx��p�
5��8_� ���r��cфx�7�u$8��9��j
��E�Ax�@,��E�_i]�@���H$
��R���:w"�
/�g�n(�����3s�E��!a�Bxz�u��r!@��`.p
 ������=p_'W�_���
��F�/�� ���p&��"��J,��a�������%
�!�p G�
E�Ov
w�s&
��؀�@�>�y�#�
�F���q�=_	���jf���v�&��/.
���#�UR
 +'�w������o����n�ꠜ� �?�����_��kc���`�&H�G�� ȉ���������e�)��/������,�����H�;�/���p���Gv�߮��?���!���m��A	ۡ�r!(\
,
I��XM�/
f��9����ߣ �pG��Fh,��
�����tNn��
+�0��&8a��]W儆�Z>I�
 ��@� ��$!�?���0��oy$�(4� p
8�1���*��b	�X7�\�`I0@uq!��L�o
����`B(ꂁz��� C	
���
A 	,a}������CX�߂#��������('��N��V?l<�Re�_
 ��o�L���	|��w�#���� +�җf��Y��x ���Ѡ�m[���T�<
�F�כ[�=?v�\��`�.�e�"�2|d�I�`Cj#�d9~*�.�\�����l-�
�<9��Ne�Ū�6#����7��mKwc��e�c���8wx�1����M\F��tw���4��BݎJ��0F6&�[ܹ}�]l̏�o��	܄
�=KI�a+F�	̐ �G�

|qo�@H@	��>UDąD�v����ʍJ����O��RVW�r�g�";&3B��N�}��
m��,j��m(҇Yo#X4+y���ʃ<�S���;�Ͽ��A�
$�&NPX��{�}�d~^���md�t��]��,���'=ɜ�|����^���V�_�z���1�
�=��F���%��|r+� �O���>��v�D�Ҫxz�x�bɮz̠���Y�,y�uk��[]�t���'X���+V
+tCMO!��:�J7_58�	�h���ԧ77�p5J��+R�\����௕ld�p~!��Ŗ��u�f��E�zQ�?%�/��K��A>��-w#>�$��O�Q��W����v3��y��rʺ�~7�6
�w��j��7�-��>o�:�t%�*�3��Q�uCx_Nl�_�b��`����b����ȸ���!��R\5n�be�-K���k;d�����R���t���G&�y}�$�Js��~A�U"����iq��h�8dσ��y>x�'{ܣ�/x��Ruαݵ��q!#\����)a2AWcV�
���<ZMF[�J�$}�m�aV�Z������L~�o���d\L�Q<u
,���8�o�
+
=�{Qn�q!
+�ޝ�rb2/�
�JҦ_`� �f~#"��hc��(t�����$�ß�{������m���!!mL;{���@&�U�B�;ѻM\R2��.2�m+w�
?l�d�z�!mE��}�s�
�����{�©�yW�&�#�ɏ��$R%�`�+�J1)=��ͤ��Këj�zN�Ca^�KUYQ�Me�!Ukaܐ�Dۛ�"�a��i�c��v~j����.������(�:O�[d5ls����
d.�~ϧ��գ�t����Y
�榪��ݼ\�����.��>��R�/�VeAs֑�É
{
w�;��!�C��㥶ho{��j$v~I��l~��1����R���b,�0��Hj�k5[��
c��pǫ
<���^'������A����%�N�#���",g�6I�Ͳ�
�F\�O�e#����w0`l��	

_�
����|�򑜣��
�{SQ2���l��X`,�p�3#�	�x��4���
Nʦ�TvЉ���c�9~x�
z=�;�{��yM�Ɖ����P6E�G������`ַ��S5��R2�������ǜ�P�A� d[E*A}!
�=�ZLSz��2�k�'n��
U���-�	'�~�4M&���q�g��$�M��
:��6Jɢ�+��yB����<�����
+�����р�Iz>>�G�	��R]��!0�
E
+�o
_)��R��g��7��S���
T�أl��ޟ3�]��/oJN:�
+������J+����@���" 8zTW

z��6�s!�
G��t�\�*8Ye�9.XZ�M�*��I�e�8>ٟ�����%3�9�|<VH�Nsx�^r���c����\{ϩ�(�3⃺�ٗ&l٣Whk8�����@��f�ʎ�
+}4��.<A/u���I"�ba?\�a���-�Ҏ����g�A4���(�w��T�y���I'C��#�����}K �K
��w�Ʌ����em�Q��7�]�*�����`R[i9���^{=@f��F����:֍
_�5i��A�^quߝ��֌1�"�v�������
^��T�(	��c�O4K�p�*{
�x����Z��6$�%
+�-3j�^��\�k1Dt�b?\���y`�6���#A�}���Ǯ���-����d�u���ȊWϹ��Yy�E�7��t���
n�TT�Hb�x�:�e�޻�Y�!��8Բ6�3 at w�����&E�)��Y��b� o`�y� �N�u�c�
��X�<���+a��N���5�Jw;)8��I�g�z�_�2��
+�
�P������
w�~�Zsb5Ur5;b�6�r[#/�NZMI;M;���P	8���5���bgn�\�]�<&g����/��(q�����f��Z#i+s��D��(�W�ȕi'\�h)���BC"l��={�=�5Ý���k�'ys��i�/��{���*�3khԖ��̻�kE�fwy�
�j�
�Kb=��)b���������u
~�O{h�^���X%�]
�� �XV{�]�[bH�i�O/�ē�;�*�}�놏܏�]ޅԲiM~������w��9�՝��9
+����`������Ԑ��5�Qσɔ�)�^DD�,?��d���T��x[��R��4�k�C�zh���y^K��, Y�gi �P�6�MN�]��
+�B f��R�U"�I�w$ַ� �N)[�^��=x%��ڙ���(�]u

s��pޠ�s`J1��+,��ُ�F�Uz�B�^���*�
=� �>7n}�4���l=�Ѡy7\�5�n�1nu��+����W���z�u��*u���ēF�<

,+�C��"̄�=�W��/�j��l?�M��8`�o+�
�"{�W�R]Ͳ,��"�Z�����-���`�G��^w���m�O%Q�+��oD��t�J*����'	�/�1���M�|�a��
���!�^&�􈳸k��P��N���UBK��yi2�����B�:
�>�k�Ir�J�O�S6_�{�W]}�D��=���xU�,�����f�
tF��u��3[}n�1�ܥX��z�k2m�P
9�ڝ��p���4R �����"��ޣ�qS�2�
+�����U��a��Pu �Sb�Ƃ��"Ӫ����9���3 Q��d�a
��C�9q��g���N���[B������pXpV?���l]W��mϓ�@��7�=��'
��C\ǹi���ڸY�;�Z���U�=9��.j
rf ݰ���GXc]��(��֐��
iJ����'��[�n	VԚ�J>��!9v���e
�Z�j_J+��
Sm����DQ
�������ę6�E(�O�����E�-��Km�e�I��Dc���ɉ���3�l��[�/εt
+��t�)
+��P]N�>���[��1{�+.䔏
�?�ou�U��Vv��Y��>�>#cd
+y%���hҬ�9j<��y����C�|�R>5��tS8���@F������&�뤻v���]ON4#S�߭Ͻp{G��v�	T�S����`��j|��`
����y�ɍQ&�d��2T�Q�ⵥ'�{�e�w�Nl ��_��m�Ku���Ƭ0D�>-;*p���t�q����e�ݭ1���^�܀�q
#�
���rK���!�o���x
+�e����N���+���F�r��[W��Jz����5󍤞��O���ʀ��=i���(�6�au��R�����&ކ�\GF��h-yٷ��l(����~�;R�
�-�Vg���Py��H
�Z��j�G)�S�(vtF�\�i
���|q﷧�<�Z��j���ޞR��4k�l�o'%�̡��
��Z�٨]޷�C�ᙰ���"��e%��"���۹�����p��4�s��
�9rܭ$C�|��
+1��8��I���%���|MY|s�[��EX��K�S�q�)X�.�C3w�����%ΐ" ���7|��,�����1_��	 :[�
ROh[�u�z
+ↆ�t*��4��y

��
+/�=�Jl�[I@��rz�M�9
��G;��+�}���~�t
9+��g�Šo��օ�5��ګ6
 w˨���8�ږO��'�Ѫ<ⴾ��b%��ޫ=o�2Ke��Y��1�=^dpY�!�<�?�m�>�m�]�G�vۇf탲���4�䡗��n\�?0�Zp6 m8MQ�OW�/�Թ��jd�_��Bz/�K���s�?B*���
�P��?L�E�+
+/>��ƆA�cY��hD��

+
�
+�$�uZ[�
��,lOYy��.
�
���}v_R%W���������~�ʰ����/�?]L��yu˗�X����#�<�6����<y�*{���B=N�hٶ���
���%��ahɌ�}nB9�/}��ؤ;���)p���Ͳ
�f���ZD��q�@
�x�t�1�c�1C��L� .��]��|<���
d���|Ȫ�Z�R��yj%>�AV��9�&e/����%��;�ݹ��y�4��sO��a�d��V��u2��$
����R|2
�k[T�M����I���&
+O�`��GĜ^���
�f�3�W{<)Z?G�X
�$�+m�W4F?�d�b��5-`٢�i�Y��X�h�2�1$=w�ìȵo�e�m�\_�wYyl�D��^�"M��ۖ>︕�-
���H��O���aHև4�!7dp�;�9�
+_�p#���m��O`T�q�#�[c�
�K�o�
�
m_}S�DN,�ᝎ>��~���)�v��;��$R�3��9u��*@W����k�*��YٴضT��9�.H೉~���P�1i7kf+BV��'��G��AxF�Tr.�C )XtM"q2�	��4⭁���7Ђ�$!�s5�UEf��r��Su��f{S����z@��
�b<!@��v��
+��:g�f5.!y����8�yä�q�.�9�nf� k�3��aE02;�iT`v|�-p/
x��^V�J��������$(�]%�L�����s���o��?1
��\az��>���P$
��_b�P���ܾn��?dx J6j�f�
+������C�
wW����
+9�j�
䠭�S
�=z��(Ph�)�=
�枋�ѭ�����Y��g�^��s��M���B�p�Y��nk�ǽ��7���2����Ҁ�۫[v���U/�p��Z&7�^�n�
�ݲD��o�-TS
�o�@��=$��[�	��j�R �%���U A��p�Y�}

�V�Wm̫~W�drմ���&�$�$��K�B]���l_P�o��k��鏔(bbH�S��L���v���}ae�.a#~]�%�g�d����b3��%k,)�nm�Ei�'�
P�*[0�w+��}����"�t���i�Oő��y��8n�g��R�?w�]V��bB�Y
;dž�E�O6�F�}�}�=�NJ~�
�j6��jn��J��nn�~�1����0�@�(2�W=^:�A���%�&��+K� ��J�>Ed��H����6f��S��u���tN/_
����W��92�������b���U��z�5�r��V%>��u�K�CM_��V�
�ֿ^��j}��ɥ��l}�/=�8Z4{{�3�������d�V�b�V���7�
+��m�4j�6;{w��|�S+���%�(6� ��i�M���5��͋̍��%[���e�Z���<��
�sKy&f�l���RD���$�fa�}m'9����0Xns��#>��⬞�G�zL�ͽ9�BI5���l�<'�ʅ���#�O�t�!N5�~I�<�a�	+Zq�0�vwԸ%��{��Ňs�R<�;�}�ݥ��D�[Ϭ�~��`giع��V���"<���"�����L�8p�9�-ڥ����6��v<�j
c�\�[�u�ݧ�`=�$#W����Q*n��m�kU��
؅�=|���:6ȱ���$���%��
+ʥ\g����n|�S?!v�$��5�ƻ�!�hYV0s��6I�垑!���#�Ē�*5
+
{'E�]6�D�*�4�U��U3�5/��i�3�7܆�!C`�U�E)0��g�:�wۅ2���	2�mL��ܹ ��G����J�5��3�}��Aj
{x�To.�
g
��-�d���F��#-����C������/0��%H39�OW��ukה9�^F���n��#�>o�
�/��tK�
�uo�Vm�gn2��(�q��-��j�)|���߃�p��
��on)��^f��Z�~�әk���S`�奫1���nB���ﴽ*^�
}q3>�l�0e�q
o�(S���
����y�Ѡ�
�4w��{
���Q��8K�l�
�;�
�-R
�2��T�� �j���,t�#R�5$}��Ht�/��v�$B�E�َ�}���@
hn�so�r��)j��c�="Y�h't� �v�5�3F�H"�ޠbɏc��
t���sŃ�N�~a���S ��I������d'EQ���CeI�a�r�d���-��G���>���V���Э��/�-م4�.���1/��uu�jU��w��
��-�<�
���%���o5\�YKBh��f^�*g�jB��%��@ZU�����55sj�
 �
+��|�XF��ߕ�+�����n�:���B*"���
��8������B�����c��U��&l̒�B?�^���o�¶	�N>�~p���4�$�
1����}��Σf�����4��*��&���e��z���h�!�a)��X��8��,�:�
�:o_`�n�t^��`�467T�����p4R�5�b��-:F�=������LUλ0)����
��6��
e!��5�xn��)��rA�s�<G�2D��b�cm��Y�9�r��wJ��4�OS��Ri=

��
+���j��ZH��-��³wh	�H���]T
ؘ��ƺS�VUYD+(�^��y�UWG���P��/���hԨxw�D�?Q��E�5��
+{ź3��AX���� ���=RMоI��ɪ��g�x	3�1�ѴB��}!���F� ��N�.�V�D��,@��h\F�A��vXȳ�� �Ig� ]H!έ}��B���6*�=���΃���\$��‡����#����{�{\P
��`����q�|��H���
+���k�R�I�<�`�
�c��]�E�c8�5b~PO��D��)��C邎/���%ė�]X{=���_������6���[S
��Qt1&��9���Ĕ<���V����܍Y��F�m�
�*+>�*�+Wꭘ����(Z7�Ԯ�c@�?r㏌�����Tg�
nt��
���r����!Ŗ�N
vH���M3jk�R�3��Y\�b/\YJg]An]��
�� ���fU
�o39�W]��'�$�Y���^ǂ��:�]�Z� 7z�f}����[#J�������oy�Qe}M����ժ�v�l�
|�y�*u8� ��Rhh0}=� �B�>
+endstream
+endobj
+3460 0 obj <<
+/Type /FontDescriptor
+/FontName /VYEUCT+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 52
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/paragraph/prime/section)
+/FontFile 3459 0 R
+>> endobj
+3461 0 obj <<
+/Length1 1394
+/Length2 5926
+/Length3 0
+/Length 6875      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�k�.�(���0
-�!
҂�0�30
��HH�H��Rҍ�� ��%��?�����w�Z�Y�������^vV-]^K�TG����r�F� ~~A>~~"vv=�
����]�t�!���+@	��6y0
+
���T]� A HD
$*�����w )���,�| U
�L�.�p�@¬mP�6�8!\ �Ç�~�d
�H
��Q6PtG�
�����(����A�
Ł@777>��3i-�� �C� t��P�+��
0@� �����
�gs�c�EX���H( m��A�pgt�
����tU� ��P��`�? � ����_ٿ
+�࿓���
����V0{(@SQ��z  �-���|�+f�@��9�(�
 �����9����a�� �AOYn)�pp��Q�D��'CB!�{ �l��p�{�u���-�~��tq>�Ü\�*���MD�ج�(�0�C!1 �	 u�� ���p��v�~��|�
� +4��
+��#�r�B(�
���;�}"� �0
+`�������6C�����G��&�h� ��~�y{���%n��O���5tU4�x� ��OV���	x
+�  �CTL ���2����[����.��OE���������-8��
��
4h.C��Pߔ_��~����;����_U�_���
)����vs���n���� 4�]PhY�#���w��ա�0������hy�����	��
��Üa�PK-
+b�H���
�j!�a��8�,~���U�CU��
�킢E��
+p����E `$�Aď&���0�
���%��7�@>8�N�1� �H�_kEs 舄���D�*
qA"���� t߿ϿU��C!D��ȣ`ۊ��27����Ŧ�8��pa��+/5�t�'�疥w�R���


�f��;t7m�
�KV�Aa(t.�
��~�8n��2["譇DS"���㵙n?7�1��h0�3D�Mp��Z�U����m���;k2*F&�i+ʈ�m�kdJK�4Iu�Sy:t��=�m����X6�M띝����L<z����Hi(%
��*kv_B7
u|�j�3���w��Iqw�
+
B9�
*�@��l�
t��"F�>X8fR��PU}�p� G��OO�W���zI�`,p�(����Q�ߴ�t�T�:?��:�
6bˊ��>�ӷ��)�3g�t�|KC�2ra�5-α^6��E�������Z����,4:����
�

+�;rw�
�&ҕ��1�e��/��
2p?��PX7YT7�TV?
+�ky��\��r̞7��V�B�업��g��Z��
�}E�T���?czm�9�r��@�Z-��}$� �$.ʷ�+kѤ�U�5���_��X�����!-�E�,0߭��!\iX��^�f6�d4M�[}��g����0�������<ϭ�ׄ���?4�_P�&���S�����
��f�0~���aU�'=���U�z�q#]��AA_[9?zds�	�r�A����] 8j�G��d����b�"T��
Nos)�<?u'1�J�`�=� d��+��Ūx]�*�F�Vs��)ŏ�{�%+:r�]U� U֋�->x�g�*9^�Տ�N��t0�v/-�U5]��y0_�6���~���E����
����
�P8ou��ឦ��-�lBVX���ˠ_��	��r��k
	'�X�{N�
+��63]^/`�n�	5{���{ΜPT�� ʝ��p{g,��+�{&��J���V��i�^f͙��2�
8��}�$�3"�f��}4fʻ�����!�&�f��!|Gw�.�!8��Z��{i7������l����E�1B)�
��$7}���rƤ�?����O�E
m���Yyz
IG>�e ����d
7��VE #��z�ɚ_��D�

��
����>�f%�Rɒ����� }E�#L��#	�1��OIN*\x�,Z��'��6���_z��5����
+?��
�K�K�T����x��O�8�� �|Li'���%�:�O �ei�B�9�ݛO?9���}�%J����.��N69g</U���8���0�#�͈%��Q���r[
~��������.��%�^vX��	�^^]�A�.}��
|aQ�ۥt��Wf��0i��M�����ѕ�y����4,�t�cK���?��"������q�Ԏ�[�w�1��O-(�
8R
 �A�i}�
+��H����9��e�+ҩ�y<n�9Q_�|眜z)@����1�|��z3i���
�y7��:.��f%����4A�fGs���C����I[m
\{��Md�n4B���U;�%����+q��*CBS��T�W�
�>-5n�5�P�ڨ���0:�[-E��RH�h
�c����
��S����=e����W���(_$
�f�d�O�t�
�ދd�g����n��<�(�1a��l8�+{l��k|���W
bǖ�CQ�ǕĿ/�r���®��,�{k����"�
+�����'��
��s>Fg�>���p��$Z�ot�U��e‰qꕩ��¼<

�T�ߙ��Y�0�}}c�蛷#�S70Fc��fi(K�sp
� ������~��`d�lq�I���DP��{�L�׳B��i�wK(�uՏ
+��,�N[y�'n������Gf��ߑ�����҄�H�tm�p�n���RD�?Tq�~z���l'�~)t�i�0�kq��)<D =ܴ���YR��0��v1Nq��oʒe#��D�u���>=��ϛH'��
I%
��`�Vإ�sӓ�]��\Z����=�4����'��>�_�0%�x}��6k�<�
���]`7�R
͎!��L�����}
{�H�1-%��އ���hQ��e7�A���9�����{�r
+����9���S
�R�'j疴}.��!8���/���%	t�_�
��07T��,�#h��|��H��
ȐQ<�*\bg�����
�$h%�3n�i�S]'�w��[�
8u&�}��Jn��.{�x��17+̕����J%e����L��Mv��Uőri9���m�&�4{�ŭ�2|^�ӕi��P����d�by�ȸ�����Y�
�2��ºmH���[���;>�E��T@�v�FIq�cP����'�w�d��
+
,��,�3�r����_n
�齅�W
s;�իq$��	���ذ@]��J����'f��c�V��<�\���~/�S�/X
�U�����$�V�a��e�lwk�Z�|~�~g�]�
�
���:O�W���$R���vzP�S޽����x~��︐ˉ�Z$U�-�������a�9~��@ڼ�B��Z�,�4�
�Vg����4�F`�`(w���é��"�C�қ�4�&a2\	����	�b
�9_����צAw�:w�dr�_�=#�)1�	�����r
�lP�oWG�1���_�G
�}��E���
�.�����ߠW5J���cK�������^�Q}b�c�|
u	�����~���FD�� ��"�+�
"��x�Mj���"�r$��u�$
R$��ܶ5�j��q[(
����I;LF{o��A �{:9���]�3�������Q$s�܄/;�qt�#�ر�4�?/��쌚�4Z%a��!M�
u�A3�<������;�[�J7h���
PǠ�p�Q��L�p
�q�B�肳
^!5��Bx<|*��<���*�󈰖�f��M�Iiv"��0i�ݘ\�,s��
c�&1Ɇ�5�ƀ����@eC
�5s�D�O��w!���LMOƖ*��6�]K-Qi�����DR�"}��ͩž_z����|sg�_��o�g��]
;�[����֎�k��t^F�T��TGZo�y�G;���C)QM���S
	h

�lX�I0���Q�t~�^��f>f�?y�Jⰹh�i����(eL�G����
�~�4J�;F"�&�~}�}�
և/���6m��y	% רz'^y��qޣ�ʩj���w�_q��^�_�U�
Wh:���ߐ��n�w}{��G޳-c�9�oS� �W~���q��D	�i9�[�`}�a�.����b"t�JYr�S~Yz�
��(������^{g;�^��av<ʚd��e�W�7�G���J4�
�R�J8qg�
�
��0q�5��
_F�� tF����� }���fI*�6�w��ի��b�
��a�a
.��.��V�(}��p�1��][�h%�)��;t�Cqzg
t��@8�pdShh�mo�H��^�T�fF͔��k�}|� �R [...]
+f�Q�D8�}��G&�h�y+>p�_X:Q
��lE��
��O���4` '=hi;�I���%���$����fS
����n����]~[NL�h���ܟgÎ�	5T�[7�xw���1����2Զ�ð��=$G3�ҭ��Oj�m��y�� ���)o-��)L�3�I�
99�<sB�iE�<�1l����#c:�P߇c�ƚ�#&�AoD#c��~��.d� �4���U�Mc��O�5r�T�#��⍻��i҃j��ƛ��kȫt��>k��e�'	��d���o��v�j"�6Vy#y��_���!]�/
�u�E��)�V���>��F�_��7N2�yb��	�
3��n]��A�
+�t
���!v�Qw�t~�
+7��h���{�
rߵ���9T�
5I�w)�}Iz t�	��B��'/r�cW	�$���.�6`!�-Hʗ
+O�z��/�N_�Y�s聫3	3
�PRa$�����#h��_��O�^�r��C�VnlaW���l�O�͔��Z��O�~��a��ge�jX//&�� ��L��t;��"�m�_�BZ@��=����.����]�\���Yi?�#���Q������p2�l�
�(�~��=�ƿ���,
Ucm���I�,j7��
��M%/9~Q�B�y֦��λs0�����D�l���aا��/�I�O
+?�@�Tg��xh���Dc��s�G�
�*Ee�Z��2
�2���>�i)K�����	ǟ�O�o��&5ws׻
�y�p����ST1ʵH�O}�ͦf�ܭ��d���-�����
o$
���+�(ʨ3���b�}��ִiF�4�GV��I.F��cR�#����Df�
�?�T3'׮2���F�����ǜ�g�
+�z~�%��ׇ�����"��]6/-���ɻ�N�#�,�˦��Ȼ�4����h;ƺ�r����bLEE���<N��B����s�1�IɄ��D�U(�
3ߘ�U~�
.%�jSM2�5U��T��q�ʝ�����?K8�Ҟ;�3�
�ou�/��j�j�\�b�+*5-g5&5�\%Er�=��ёf�m��W�{J��d�oX�
Y�F^�0yF6���C�#�$�u
+����=�4������Q'��\�z�Sg��+/���
� �,
m��<��l/Op�\����]��� f�v߯Au��'C{�_��
�	:�`8���d�4v�sy��^����.Y���!{STt��{��-Du
k��.s�h��M2댁���M��*�kF�
fY���և
�	4�.�a��ow�����2��+
I��
UU��aIRI�6 ��'G���m*+�lך�V��7�˝��S�О��
��@�L�w��`mv�~�>%~����q瀳�N�Q
+<f���ʼs>,���h
�'��Z�w%�Ϝ�l�f����D�����̲l�}۰ך��]��CЙ(`yЮw��<
�2�Kq�
�Q������3���^�A
7��Cr�+hFQl��"�j�]R���+�Ťh ��h�r`ps������T�OTXFb�
+��&�U��f+�H�������%��I'r�=&��Yl��
��}^啅ѣ�*����h�m�Β�*Zw��	Ξ���*Y}f_�����T,�F(
���ZbPk�W�h��'A�a�`_����?��x)Hn|TUU5���lݰ
�N.浕X��}�*��.)�n��b֡�Z�?�3
� �R��R�
xK���@0����wj^��M^2
Ę����x3ₔ����sFƜ��L�v�q�3=��̽\˱�r�3�|�x{C���A����!��f�
[,��P��H�^8��Qc$eŗ|�M�p�V�{)�����[B�w�<dqZ�m���
+���
k�^��Y�=Q�2��d
G�x��z��ƴ��n
���p{R��Q�� �a�[7�����N�^����QK�)kUi.�E����ލ��8��J��|�
��Jb&��c���-�k���<�
4Y��c�;�u@'�%Dx#�=�X�K�QG^eFG>��7R�{"���$�]OR�mN�I��u�$2g��w��El��A|�����
���3��n��ʯ��
T��O
�'���#8�^�G��.w�Ͻ7�-ɴ�k��z<��Q������{�vB/ֱ&�?�:=1_�j���](����
+\��{�ϻ݁]��j*m2�Kt1�JO�����<)�R���'O$�LR �7���y����n���J�B-F��.�,?Ta��Lz��R	�V���V;r��_S7�4�\�2��G�{�/
~�7fzHcR%S����H3����I
ev
+���a��f2�mw�f� 
+�U���e 3%�;@<B���Lcc;���4RDE��J�z]�{��hЖ^��X��lQջA�tR��J�B0o?�?;�
X�
+endstream
+endobj
+3462 0 obj <<
+/Type /FontDescriptor
+/FontName /NSJEOL+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1251 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 49
+/XHeight 431
+/CharSet (/prime)
+/FontFile 3461 0 R
+>> endobj
+3463 0 obj <<
+/Length1 1463
+/Length2 6796
+/Length3 0
+/Length 7790      
+/Filter /FlateDecode
+>>
+stream
+xڍuX�m�>
N�	at��n�AR�6ƈ
�� �HIH�"
"%-
"��� !�H�ߌ�}��������
�v_篮���
������F!�"� 1�����
PLL$&&��@`�a` �
�A��
+�������8L�����@}ow��$P\FA\VAL
(!&&�w"
+� �� �@#P��a <(O4�ō��� ����
+�*�y��	4c]`
���;�
A����h����z*�������

+
W�"�. at 3���A�?	o�=`��� <@
�7n�r����0 pG@`H
��	�����@s=C��'
�;��w�0��� �A��j���g#�W1Ayx���$
�p���
AX?�0���L�cP�z��v�%��9��f
+�������X
�p�IQ�g�)k!�(��ܟ&
���_��ͺ!Q���?
g�����S�����i�I�A�cp(-&/##%�ya~џ�-�=a���?a
��@O�'�G�p��~ ��
�E{�3��@\
E@�@'
���;�9�^�.��ډ�'���דN^P������WTS��L�J�7����Q~�@I1����4P\\N(++
�g�
����&`ğ͉���
����wx���#
�?� �s�-N�0 ���o/&-�}���
������]�7�������������0����''eo,�F(�9���j
�me#����Q=,g5$
'qq)���o
��F���&,�巐��
+�
wf�� ~�qpUbb�ù�{�`p�+Ù�s����$�e�`4�ÉL��@q�M�0�_����(,���
tF�?�U\B
(
+��8ڸ�L�o
����$P����`O���ŀ��+r�	�co4��_2�m����W
�� �M� ���u���5j,�"�GH?�ǥ���Jcyg�����Lz�߅V^�2�}=1
�"�}<�gߙ�!S�1O�wY}G�`�d�c����c�Yq���RMoP޵#��{`=}
%�%�V�Z|юY���z K�82Y�����7	l8�?bm쩒h�v�-�,�.IGꭉL'��vIك

���z�$w

��e*�i���9�����S��0x��҇�2R8��zD�~ �v���o~��3������ݤ�A��b�>;�/
v��[0��F#޺[ I;]�����H�Y�.�4 eT�Ժ�$�lŚ�үAIFQ���~�ٯ��լM
�U�
+)Wx>P9�����}��W{@BYC�p��6�"�������-x&��]�k�0�5�[Э}���ԙV1�J�^
����n�)�?秸����9v��$"�`i$�y�}�8C��3wM�!f��Ҋδ��6�'�G�J��}\s�&5}���
m]�T����ӶA�0C�2���}+ap7���R�H��/�ݳW#��7�y����)Q4�

}x�H9r�|�j���^Bx��e(qw��K���=�_�$�6�>A]j�aq��0�Sd�n���4;�������x�p��^%�mQ�J�����t��i
�.�a�?�`���\�
�
"E������R'�;Y�O&�ڤyf罃|Z�ܵw�'��ʣ��&�&�L�M�����*����.܃�Q9=Qe��
W����g_h��.���M�M�㽔��;v�Lm
�����>��6�-Kv��p$��0�x�@,�KZq���b�K���e2;t����G�t\@i���(s����tF�Cٱh�Y�7u�6zөX���wDaJg^Y;�����h?z�ԅ������뿄)�Z���P
�d�IM
+�������%�

�N��fQ�2�y������?05	�d��C���_SL�dr�~�t��G���b�X�
I�����IӢ��Cg��'R
�?���Y	*d����x���ތ;�
I!u0�.���L%A{vL�&
{k-V:�}�4���k�|�¾#��]�B1DvJ׮_�qp�n`�
L�O��? �W at S��Gٚ��H�ri�oa<�8D7�
<�R�eX�o^�����ɠ����s��m�Zt�s(��38����;+���J��m�>r̞�'�+-k(N����nh��`2Ag
+��ĖH���m2�c�C�
4[�6
�m�n>�o���JCy
+Ҩ��
8M�(=h��#�%P�an�t8�!���4dʹ�_ɿ��1q��6�8`�\��HQj%��q���7ϳr/uM 
%�l��
=���#�!Է�Nz�5����f�4�n�����b���pL�l[o�x����#�g�����xHw\q�C��6�;�1�v쟿X�ZPW�܈u���U����pyY0��gr�g���cv3|�+��6�s?�*���Q��
WD�
M�I��J�0������3O�
8m{�C��Lo�����si��^�/�j>y6#�[����.�Y\��8��G`-1����Bm�)�=Y�����L�
�#���"#M	�	ֳ�bf�T�K���Q��DjN�e�"���^N^K������{c�m8ض<DMgo9���u�$l���Rt��a{u��K�
�人>�͘�uD��~H��Si��k2�?fR75g���J�f'jm�?���
�����dP�}gv
�j�+��\�r�	�lNA�8��̈
�K߮2x��|��9�s=
K�G���+��
n���ɮ�˫6;ľ����%]�z,���ۮpEw�G
��8A�� �
��-��o'����~�����
d�}�
+�&�-�y}�&�A�P�}��"��Ҹ��Qu
�2��%qmnZ/���J���n�
+W
+�1WX�ۥ�@Å�
:g%[���
�t"X�n4ߡ)�uWy�._��Ǐ���
z�|ӢXW����A�hؖ9�̺��_�/K}�{\��*K��������W/�9Y�Z8��MXI�|�D�u�g�_
+�w�
gɌ
�_&R�1a�p/f���d��c�apQ��7���
s�	�����O�<nw�]�g���}۟�ĉ
V�i�5������%K���+���a�
��	Fi0�E���o�J��xH��{�7B�{�����^��A��E=X+���i�j-F��"�
�?k�L;{��
���n�i���-a蒲��0���
�b*{��(Ke�'sh
|�V��:Ft�δip{�
U��5_T2	�}H�mMBn��4ܬ�#C�p_���"^y��ce at hőKfQٵ�
�e�J���,!����8�+o^L��â���2��Ӫl�N?ʿ��J�d��$�ɯ��h~�za��\^u9	�JΧ��Њrsg�:�P>��F�6�f�P������㪇��4
�����q���i��y�|����;�p'�u�A��Xc/~h
L,Hyska�TO�(,CL���16���ׄ���tk� ��C�걻?�*+�� �
gYT��2&ԛ�G荸�
+䘳�Yw�:^�
ý�5���cU���*ZOA2+�.�I
$*
Q\v|�t˝N������U�=gõ���٨���O����S|�imGwDf�
^y^bqZ��2��?��ĊJx����)��
Oo�hN9�5:�,Z�u���/qY0��~w(X���qrh�E)yFe�
<�@x�4��8]'�� [x29BP�΀�Ǘ黻�
'FY1�kMEr����̢����:.3��)����I4�D���*�C/F#u;�r���$Z�����*��a4@�٪5����Fn��o����c]�W�xx��H۹�Ų�G�X��e�'Ɖ�	%6
+3�BK���b���@�1}00+�s�n\� 7�х@x�\V��KÁd��سRq��i'u�\��.�
(��u/����B�{�`}�!�a`
5e��g���e
,bo~p|�<���EJ�}y�M��V��1bI��_ZHn-O���1VƧ|G
�i�yz<S�yw��҇
,f~Q&n�ۚ
+������F���M%S�R�
p�>�
+ֱ�ς/#_�>6��,jYl)}�9SV���G�s�WM�������(��f�����	����z�S�˪6���ό7�&M
�,�����3X�{��
+�Ca��d��4�'
��N�x����>����m�i:��_���y��
,��
�g&T������LHg5�N�5��X�����@��؍F����'�*��3�dfk+J������8}���.,�� �?�h=.[H�I�
7�4W벜O��ߧ�Ԝ����ai�n��e�
���ٕE�I�qf� �� DSDS�Y����)pk�,]��ޯ�%�I��W���_�v��RpF�[
+�*NP&��\��DG[�۝�dK�Ѳ�a�B�^�ب߸�8���k�O��B����P1��
�
+�����(�c�[FHV�"�(���c
������̈́Q`�j�Mѽ�Ϛמ�

�%��p�қ�]p'�U�%\��rs���g��H-�}i�G��GQݥ���x;�MmEȾ��7݂�������)�\�-��(:7K.�1m:}[��q*7�1�|��.�o}�_�����4kZ
d�gB�?�l
����w������Aq�Jƕ�������d����WA��{��'\D��uxGNE3��0C�B�
Z>3��}�=M-��]n��=$���ˬi�g{j

+
+s
+��\��
+P���
Sn�</HK�

������{������/J�(��;f��Cw-s���31�.�1��`�x,s�FG����ȋC{���c���̵d�l�H|twM���|5�{�Di���a���G�v��7"*��|
s��z�:�5�O��Q��`6Q�y���<�VZG��)��(�L�J��
�`b���{^�ԞV/.,Y� 4�W��_�k��_�m1GU�GK����
�g�
�&$���5
+���pZ<K�׏1bݸ��S��I{�A�F�e�&�W�@���6E~TN�g�� �
�֜��u�k—�S�^�������~��dVE��C��j���9g��kϘ�W�';NQ���V�����T�^4<��]5""�\�	������ ��c�k�#�
�2�1=l�%�� ��s8JN�j�/ņ�nH���Ӏ2'�t�
W�.�%|#�������[���#�o	�m�6���=񫆣�0��o^5]��(��O
&:�2��a��"{�Z�敏�1��'�
�����V������,E�
&�����X��/�r���p�g�Vn�z����C&H��;
���#��FR��{�=t���
�$q�Ӆ"Y�lS��F]��^w
s�G_��.�I�1�v�/
��B��x��hg����9�d����$�������f*٧��A�
e 	�Up|����dpebh+�n�OR�^@pR51͛��GV#���kx'����� !��<����@J�B.4k#���L%�����݇�rn%i�_
�=���
~=*E�j 1��q�z<��M��^�u'�X�d�pq�
+�q�QVv,�
+��EvK�4|�?�2�� ���_QKv��P��C�N?,x}�X�C\��9� L�n�&?���ڮ��)��+����
�4�� �
����j�I�7����
��y_[c#�> "fr�����K
+�Wc��D
N���fL1[M!����c�y_�&F�wW��+��5��T�l+^/l���}�
i�`ً��F��^iO�/V8�@�����g��
�ݙo���n��
+s?�ۣ���W��-?|{��/����D��f�p����i��&�
���_��k���l'.l���Ƴ�|
�a|0�;���oo���Y��a���w��4�'z���2de����
��n��nr��������RxLDŽE�����g��K�L?>����P�
s����y;�a�l�0��]!������\�
6��ʹ�c�r��5�wb�l�"��0J�s���?x�Ŋ�o�
��V�������[�zT�*��}��b�.ɢk���������v�:Yu���Eϰ�[�BW�?�PJE0}I��687
/�q��pG��,~�7�<�d����Z�^c)	^�UՈ�m���چ�Wg}��&�K��V�]
TvKZ���)�B�r�lN�ܟ�Zr]���)D_�{`���>��%�
N鯑��
�/��׬{H1&��i��N
��Eo����i��p��	��*E��ϘI�"��*�
��J/�4���y�Vp���akup{��x#�S�v
� ���,�`��'�x��2�ևo^F����
��h�Y�L����*��0X�I4�_��B�	֣�k�����r��U�+�!YI��T��������m1��/��\
�+���I%���aX���k���k�^�3
+)Ӈ���
�
�3H�&����A�q�����l��}H��&��;���6~����Ʊ�y��a'����
�g��j̔��wRȔ�vDr�����5d�:4~~��S-�����#�X����V<z���jk�o�h�:��L�$#^��/�
j�8.\�%�U����<���&�H7��/�&hW�ҵ����]����5b�u��
+r���
'�9�(�(n��_��R��x}U��ጽ'��Pe���ni�dؼJ���D�N-͸�Dj��u�hE;����&U�
�@|sf��X�	;� _I
����Б��
�������B�
_Ǯ�Z�}�E��b��x5+}�����x�d��%�YC�iP�
E ^�N����`���h�>�=z�^�mKV�y�[0s�%�J�Q��8�� `my���r��
�� 
G��B
Y��6C�_��vʩcDONX-x��.u�
o�_��
��4�	�m�7�J����S�!
��D!C��1_o�j�
+�B�1�`Pu
���fw3�`�lV��v����I-�Ur�⑲����_68��Ig��>a��IN+ܶ���y�����늘|��d�$`�}@0z��Pm���|:bz{�wә|�&|$LQ;�R�zmu��^D��e�
��PυwuCц�h�[+�m%ƫ}��Bߓ��U�7
�w� ��3�@�E��A��ث��|7��4��V-<7Nk>S'��J0���QGa�r9�>z,V�uޓz�T��,[��_�I6`9�H
r��&B��<NPXHP
tW9��
��N��㱢
E�s���r�\.|x=�f
���
�=t�e��F�w��C�3�Βx4Hv
��[P)�����)���/d����孤��2mT��f��Δ+��T��`����k��j��F�E���'�	5���|�7���cjac��!x,�;�8e��Z�?
�Φ_�*�h�����K��d\�cxN}P�Δ&��ԛ��9a#�no��V����W�I�3��o\k/����k�
��nmgOm��%2_X���Ũ@tE�>EJ�%2�xI�#��!4�n�|��J���c"�$�5�ы	ڬ�p�{�
K�~�\�c���{�
��W�jRS���9H�����ܷ�9�s}�x�g�%Z�#��B�#�u��.�
Z����)Ց��)�
+�ݘ� �k%�b��
���%���_I?��0h!OV���[���U�݂��6��w)��)��NM؉�i9~?Ts�$�kg�>�?{��a�槮9��|]�TU��x��rE-̐:H@���i7�û)�V�ճ)��W��Y�8��R�
+�z��6�j�[}�8䫓6|��ܨO���7�8A�@���E
��
��t�i[�o�0�2�okE��)���5u�ɽ#���Imަyz��!�v�5*:
+@
���/C3 at L�#&M[��Q��HZ/���"B��hkw�<���7�a$}p��� SZ�
+endstream
+endobj
+3464 0 obj <<
+/Type /FontDescriptor
+/FontName /DFVRAV+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 46
+/XHeight 431
+/CharSet (/dagger/daggerdbl/paragraph/section)
+/FontFile 3463 0 R
+>> endobj
+3465 0 obj <<
+/Length1 1463
+/Length2 6668
+/Length3 0
+/Length 7659      
+/Filter /FlateDecode
+>>
+stream
+xڍtT��6-�HI�h���;$dlc��D��$��KB�$D at ZD��������������}g�l{�;����T@�p�h �AaY�����
@XXLPXX����
��A��$�����/U��bj@
�O�x� "b IY)Yaa�����ߎ�,@
��:8M­�@����.l����@�"22R��������;�"�"@P��_)��]0������� �
-�@9+��xC1. ��?	
����I�f.P�o����  , �� p46��� �� Sm=�!���ہ��n "�"����3�+!ܑ@�/�
p��  C
=A�� ��:ah6
��€�X�_���  ��zh
+�Ġ�P�O�B?�`oY
VE��C�4���Ԡ({�B�'�Gx���
��p��O`O��9
��	�V�ゅH��9C0 	aII	a � ���Lo拄�2����
��$�	Ku�`H��@/ ����oÿO$"" 0�8B��p��d����g��QP��0V{" ៟��a�F�a��q�5_!MUu#��~3�Ǧ����
�� d$�""� )))@���s������OFm� �������G|V�6��
X-C |������0�%��� �B�o�����%��nH��e��e�?�@w(���Vʞ�Z�#���oWK��Uև�����m�� ��
w�J\@D\PX�7Ek@} `#(��[H�[�C�h��%,�_6�ցܰ�
+�gV�R���:
� ��>Q	I ���cE&*!���)��K� !A8�
`9�(��c�X�P�v
+.?��pl=!
�s���D�
�
��;��QI��v��=ѿ���D��9~�����_O��LD��
��=j=�Qf�X"�[h�����L����]K�
�Pq W�>3�*
��t��ɰ����!�)Z�
��%�]���Ӄ��V0��yD�Y��N�1
��
�
o��Nj0�.���Ղ�v��=�M�;��;{
+�rV�&^�5;�f�ږ"�
+e��i�m>r�
�=Vi�a8�]��M�����7�����t��%+én��g
&�1�$<�iB��H|W-M��`(t��w��=��{�*�O̳��@5��0�]�g=,*CR0��C��ք�5Qϫ��,�+�g���|3^C���_u~�6XuA��h����7ȕ����6��੮ �ȣy'���ً�sB��Jo�V磅�b�ݺĶ����=�Z,MQRzE/�SX��\����
t��
A����ܔ���5���_�!�L���ȀP�F��6n��|n`x��wž�:����fn�IodYɼl�{�+6�w������S�����Q�[�5ӗU2��PS(nM�~��\)�mEtr<]�d�ᷙn���@S��es�
�}�^�9�
zn�L~�
+��I!�Cօ���t�Y�:�������Y���ʑx��d�?��{ �
�c�~�퀑�Ư
+s~yq����۱όC��
����x5�F��;>�H�̮7e�M�)q(��I�Pd�
�q
��[��e>�	�
�c�J��
]g��,I��㼕�?�K�w	T
(��l�z�pS�U͍��+Ou�k��[��
+n��F��5��m���;G�<a�{5G�q��>WVY���"�/��W�I�!#����86�Z�����J���B�TD0f��
�pv�i�.̊92��)@�֖
)���W����H:v_I��
�>߽V��`x�;�f�uG���{B3�-�Iꚏ�<��;u:�i�� �[�/��7�xI�)<v=�f�Jz�#���q�Ʈ�w��-�LcWr�36
�T_���u
+��j���+Zv`^#���uhC����J��L/��E�3JAA�+�����\0��['f��DR݄3*l�s8gw�eB�����D
46WcQ|�̦�r�������끷�L�
���W�K�o�/H����k�Z,7�݁1d�&�
v����I�Uc-
߸g|����+猱ٙ��5C~uHt�y�ā�I���
+��?�S���X
+�t������m-�������|�����l��&	��a�Ͷt�|*���.MF�z[��Ť�����U�w}��2e������S�c$��H�����{
}p:���jo�t�M8��{�8*}�EwT�
<i�w�������7�{l�Ŏ�t,;ٍ��Z���
x}b܂���:�F��2��Z��]x��v��%{s�1���qSm���@��2Z:��"�N��6�=ka~�ʏ.�������qb9_MH���F��|�I�[�/�	H��{��=\�YRj���Y/��Ko�
��zC���7�hy�h
���x�M�ȴ_�e={"��;f[�?7�Յx&f�ڹ�j&������Z��I�ja˷���A��9�w�!�g$
�z�5֌���j�칅6���7�H�J��V)l������6�b��*ԜTE���ˢv#��'��:%�iaZ���2ε}
H钩?��`j푒��fG��O\�����Ά^���j�@�>e��Ñ�b���g��W��:����O*��$*J���Wyod��S}�Q]-uؒ����W��Y
�I�0_g��]�ij��i��i� M*�>�����Ԣ��c�z~��CW䞌U����;݊@<'�=*;�I����Od�(�N�^'���8wڻ����H86͂`���量?�93�����dPr��v4�|Z˒�
֚d� -�БK�Q�`Aߡiѿ��"z���#`/A+HRQn9*�q��J��vD,����W

iL
�B���{?F�
�P張���������x
�|3�t������	�5��χ"�4��O�d��v%ל�]��~����BU�]F��R�k}�����h}��r���7�T�W
+A�����z����]ڬ�e����4N
J1�mR�o#�Mg�����`��)������r�p7��t]����Б{�ӷ�&���/0�Q���-���w�ɴ
ܤ�H��)�ߺ�.+���>;�ߧ
Lo�:( ;	.��
ǐڌ��
+��xG{�z?������.�U8�>*餶�yf>���D#��#do���~��|��X��Z���}ϧ5k	KQ,�\�-��A{lAW����>�
+
����w��#���٩�%�~����dJ<[j&[^��_e�%A�~���̲�£����Lz��(�
���_N�����kl��WL��ҋΜ��%q
b!� ^U[*x8|�V[�D�����
+ܱm����G�K0����~�}�(���I�;���V��u:��-��C
 T;o|-�NH׆�<��`��Yvc_7�Xֿp?����*Q��q�cy��n��:�
�ԩ?�SfX�c��U!P"#v�怂WT��s�4��945p>A��Ŏ6��

+3:�X|���|�����x�ε�l�82n�6'91�����V��G9��7���,
�j�q���#�|�<��C��bp?7���?�XdάU�苻S@:uj�i�v7I{��m[b
r>9:�R������z�����")
+���^Xg'�)�7��a�fvQ�w~F��@�6�c����O�6�&�bGi�1!�`���f���F��n+^�/
��b��7ʃ��-��
X1
.�45�V��pI��C��.��A4�f&�6�G��4+�	ٖ
�]�i������\��u'���
+��
�Ր��;�q^�en�=:0�=�T�� "�zj���Ӌ�*2�J�T9�f��{G���>7ƞ1!
�h�uҤ��,���>}��%�$�<롟�%��kՠ([��`������f�]kQ6�
w�����O;�(�7X�(Y.1�L��Qhƪ���%���1k��+x��oP�;�y��Я�vӘ/�˕�{���ϾI̓��GAAќ�b^��Nq.
G�&�
]T��
�v��R��� f
�bА¢�G�7@ˎu��A=
Eig�����!�qt5�ׂ�'t�d�
+e�:zv뢻ٍr^��06��/�(��@��C�ꣷ'�M�@�?�-����k���4Q9E
�\���x#wY#|`m�"�_�,�Bl�3nZ��L?��ND����P�hΰ��;η�J�o�
D��
?d��fc�@�Qu��V��_'��N�&�RйmL�Z?
d�](

����7�{�KH�օ��z䈒Oߟ
ih�L=��fy�N��4����Q�!
b�Չg����
�F�@���J�����,$��`,��SR���E�8!y`7lN�[	VW����N�d|��#^5���&��Ԛ|��JC�R�O�T<:�����J9f��;:�c�ƿrS��!����Ep��^v����8�/aTu
dzm��؃�C�ήy��7t��
�Gp>��l��(|I��^/�y�OG�I��ߧ��2HHppQ%�r��e�*��I)�WA��b�N�ʞ�آ�%�I�y�Y������62�#�6
_�G��,�&_PQ�r.��|�il�(��e4��l��ϙ&�E�|F枿~�'������Uu�=����pt�R��嬎���huu�/�b<�^&7���

�x?Wp�-v�̹�rO����̓�����
�������E���S%f�cS��X��R\�z3$L��)�`ҟ8y����zA�'��%.O�і����l�e~�
�.Y�����ե��is���hT����U��ͧ�a�b�;�K [...]
+�\��[Y�,9_:ٙ3��L��l,�� ��v�O3�f�_��O��</������G��؁[�_/�2ⲟ��|���|-�)����
J��
����b,�It��֙˔����凗n~�be��1�
+���+'m	��>K&���_�Vy��@�-�}OӲ��eN�l����!i�G��
���W�T�,\_|Gs5
$�dԖ�$=(��P����n�x��r�X���������
m��{/��H�&=�$];�q
��n����{g�FC7k�AyL�m��Ma��~���@����SzW5If�/�b�;�/�5Ġ����b�U��ٞ���=�c��K�7�>�L��v¦
+�1�
�����Ŗ�Uc���J�����i���4%�u�fyݏ�Y�_2��q4�m�-�)cUrƦDu���xw���ro.�6�����7G�LWi+D�^j!��\!*uބI(}���VH8+|/O%q�
+��
>3�`��튑��7\�͌�8��=y��jq}:_���@��q�<rn���UښGw�Ck�
�6�$R���J��(K��<>0�(xI�m��u����������l_�tI
OfS��؇x�W�=��-�
�w^��w����
ߕ����u
doY�9�c�B�ey͔(m�P�z�m�k����j�n��/~��ҫ��1�z�;�B��kv�l[YȬz=��T��A�*���\�ᙃ���b�s�.58]>)˔�Cƕ3p�R,���N���{����
�2�����
�kk51׏
��%���D�!�x���k��>�Q�����:k$�^�
+�c3�������:
�(#�$��./hࠈ���i\A�����N;���6ל�������>`�O���6�/�o��
e3��q����f~*�z��0⡜V{�'�4�h�E�M�q�E��{e��^$l+"5*��&q��ǧ�t	���p�}��
��|���ܷ�0���^�Ac����b���
QRd���,�8��ڑ茞��%N?� _R���L������Y� N��!�yj�ȣ{�WC�
+N���&�>h�Xj�
����k-��2��!N#e-�}��f
A�}�Z�H1�P�"����[�$T	�|'�v+�mQ
�e��:�Q�_1� ��<�ɝ�	��&�z��=�7�cR��]+"+V��tN��Q�<�z���tgȗq���#��j�b[���j�f᎕\�_��E����֘�
��=�4��8��P�]Ɏe�O<��?Q3�/��c��3��NdI5�1�T�-
7+öF����z#����qD�WTL��mWaC��e�#ܣ��-d�y�Y�dP)��^px��
e�nT����}W45��Y2N����ӉaG}zz���p�i��
�#��
��wMHH.�0'׎�a=kϐ�AW�UL*�����֙�΅������(R��,�e���ۻ�����Pvb�퀽�
��_��A�k<��[�
+��?��=l��Dgλ�[��9$�*O��3F>f%��SPe�����:4ŧ��3�S/��/��ў'���>��s���P�P"sp;��knFܝ@�x��fX
��'.nS�1���h�C3*�C�S���7[� ���z�.�\1(�Q"E-bHg���g

)$�/%�|;&���l�'mL�YŃ"(�^�%��e"��N��\�ŵ�M�[3����*�M�I��
v?S=HDqR�����,��wV��=k�
�s�M&Lө �+:HU���	ne
�r� /�M�Ry\|�w�x��6FS���k�;Oe鏧<����0.��s3�϶�
�ʔ
W�J���]?��6k�
+Ώ>�-Y��C�
+��^j�؃_�r��zk����7�+
�w���;�4k��h�[w������oy�&ë&?���vgK�\�[l�y-2�K�uG��C�����ݲ��r<e�x&<f�{"�Z�]�]�y%Bm
�쾨�h�u�+3��DUQ�OMf7�
Sz�ڢ.�>m��`p6��č<&'@�@hZ��iw���qll���8��[P"f��`���i����GH��n�('�=oG=����g�y�1��'{D��k/��
�@o-���yv�>7�m��t��=sH�٘�n0�
Gx�X���,I�{�O��_q���At3
�Q辬?sd�)��'�

����Y;H
���H����|��J��im&��~3�T�Yr՝����Vm��5f����*�X��Z���
+eUt�/�Z햌R>��\us�|��J
�\6�&0�T]��q��skx=m
�n]�{���*���# �ᶄB����`/O3��������(&�m����K��I޷-�(�Zȓ���+���
�w�J��D������έӞ���z���/��w?	���tJ�%(	��X�82z�Y�Ŧ\u���9F5\�in
���3T�l���[#���
+���Ay����糇��B1�
+�be��"�CyB���l�~��Y���ɧM�y�����o}�p��:����f�lG)ؼtо�F�*��%����~y�S�W�JExH�Rـ2��`��
��ť�J"��e
�,��
?X�4ÁR�k�B�</5�APg���0+^&�>Qv
+n
��(�����Z*b����l�n{��>�,�v�����>��$�,�t�O(2:�:�Ԙ\�8�L4��̲z�k
C/��� B�����&E4�x
+\N�f��S�|�g�x
���r��
�
ȩș:��k1�Z��q��>$&f�x�'��	��zp�\�&��!#
��~Z��*�oXh(�5�� ����
� vIYp�Ș���r������/P�(�#$
��ne�:җ3<��ug��&ѭxyڡ�?3��
+endstream
+endobj
+3466 0 obj <<
+/Type /FontDescriptor
+/FontName /GCEPBM+CMSY9
+/Flags 4
+/FontBBox [-29 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 43
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/plusminus)
+/FontFile 3465 0 R
+>> endobj
+3467 0 obj <<
+/Length1 1342
+/Length2 2576
+/Length3 0
+/Length 3453      
+/Filter /FlateDecode
+>>
+stream
+xڍS	8�{���%��-�>cߗ�gM��1�2Ø�f��ز�f�\[�n�!$eK�%�ʖ\k��%��R�v��y���y���������
�}v�ʆ�;��R e
��8٠� �G"�0'D�a2� �A�R���0��8��3�A�@*�d��
+�R�B�k!� ����ҵ �/� ��K*d�d��4��I����G@/�45Օ��C�N��(�
"�>��82�Hœ@��K	9
"Ѵ???8·��=�� ?D
@H�	�*e��ܠ�� NDc=�H���pt`;�$<Ha�S�Hط�ր-
�����J�Fs 
���F�j!e-��S}h8
+�D�<Hd��Z�!H	�Q�@
�Ae��|q$2Ν
X{:��86�
~
<�D�p����Z��fS
+����R l�}&$:�g�����7��G	�ay�(�U&
q�B:�-L60l�/�'�
+JS
���OD�^�Ģ�kAԪ��!8�F�
l`0�d��8_��L08��_-
+Hxp=I�_��n�c�fϟN��#��C�����I��T
+��|m�c�Cֶ������@�2(���:UQU4ه�_�����k^;
i�u�hA���$���A�wCrk#�z�!*[�  ���O 1H<�����`-�i�����?_�e��kq�u��q>$2k
a�$�����klHL�F- 
{3
)���#1�$�`G���u��A�N��kJ�S	�˃ƨ8:
ǂ!�
+A���bo�_'��S�;�1�`��J���D �W]�@8�Y�\�g���
Z�#�?�uA�}I�kGz�DV.�6��S
kC��5|���=2j����}��ΗY���>�����:�{��QQ���`PZ��hoY%����RP����)�5=nUS��B!x�~����7g�)�K���؋�I3��w�n?���y����#�����3��0��Ȩذ���� �A��DI�䗴��h�pC_��&�P��۷|4��̷z�&��ĭ�ځN��:S���r�s��ar�G]��Kk&
�2_|�
;=�ޛ�"�3̒��!�C��z*�;�eU{x����J,��i)k;��=���[�o��3���H�w�1��=-�0���P���e at i�^�7

��+�cuL[�U,{�b�ڛ=$��5���
�+a�\j��(돘��S�\�:o���2Vt�lU���'�����e�-O�#!���mC��?qエ�.�ȻL�:I�s?
f�9�������FTȵ���X1��s��{��W���`�
+'���C\��G��]wj6mȞ�ŒTR�~�ӂ/
վ�p�m[�R�sCIjn�L'��NJɢy\�����UN�9�*b��Ɂ����py�w�v�\�_����o��౗[g��7��O
+�h{��<hV�-�9���vDԍ��B ͡V��l�N����#���^�s!�c����u����#\4O�-
�s��@p*�� ��
O䊜rx�;1T��1���z1�^��tz����=�)���m��U��=�x��.�uQ
�P*]9�I�X�);���,%����ѻ�9
r��T�{<�:��'�
�X�]��r�`��'X�0�!u�Pw7�@����̤�{����'�"s,H�ɽ�yW.�X�\�lm��{Ѐ�m̤�{=Z�80�y|_�� �ū7�͢�aj}1^>�yfE���
;�S4S�C��;���ԭ������xnm�Gw�~ܪ=�[��W�3^�|H�l���Yw�I
M�$���Ǧ��Ԛv
�j�u<��}����ys����s���\S�3��u)�u�`Q���B�%�C�*]���
�g��)�Y6(�&V��~��N
�PĈ{�|Tp�;?AZ�\I�D����{L���$P[71b
+��t�l��Y
< ��'`�T�Of�=
�`�v�v��o�`�9���
�4(@j����L��÷�k{��f�x?sa���yà��z�
v���q1�|\��k=I{+zꏞ@���=�qF�9�v&�|tݹ[�P�M����Y�1;ս="�+���Y���#�R��g3q����""7�po�MM�wN���[��$��χ����~�3�:=޾8�_�_��`ctŠ�0$�=$q�`(Q�@>�^�e�� ����:�-�	r��h%HلS��R������Y������ԕ���BS'r]{Q-�C��A�C1�;Ϫ~8p]�Og������3;F��d3BR�Yz�y�e������?*�[#g���	Ψ
+\ʈ��-q�V./S�ԳԄ�X��8A��%�MV�$ueU�ױc�
�ٹ}��B�:�NY��4�Vi��_�"	��n5B��a���')����0>a�s KT��KksW�+��F�yUE�t��zU8/�CRw��7Us�
���x�Z�s�;���Mo�5������1�1t���D��Rr�?
�x���<v�o��r@��q�W��()\	��
Uqpyͪ��u��H6-湠�
ǃK�����*���~�_h"X.}�i��T��DZ��J˭ &*R1����MK2�^5X�
�H�`�ޅ���=# �ӷ^�����M��W���ax��0W搢�h��-f�J�r��,-�5��|�wj��D�3��)����C�`���sf����i���۝�����E)�H��
�6rzs`e�Z�g��3އa�ӺNO��k�/y��8ڞ�78}�VA|��\�T��X��9�{6R�w�(�
��5��.�[�M�oQu������FˇϞ��'�������u6���
<RU��t��[��I�̺?[��
�y>���n����<�G��\��;4]U��

-k�K�v��WJ4轺�3�wtA�;"J�;IS���>i���珆oR����
+��9_����R������/�'_�o����ۢaB���s�\�˸)�����z��zt���
�A���[�

�'��8n�OA�
)@��Q��FW�is�K<�7=�_v�"
(MG|�j�g���i���hUxٳ���m��"��9��]�ɱ�B%�R�k�J��,�H�=%��!�ڈ]Ē�E���h
�{�xd[|GRh��,�֕��i�zU��
�3_K�5�.^Cl�x-���sf���n�fe�a��?��4�%�J�yY 0f�
�A����>��B�}L��0��R^��v	{��eA)wK|�e������
	lk

�����Jgn�s���1i�qn|؜,��qs�F�3�bP������M{�����N�_-�h\��U��
+,c�{_R;��͕R��Zٞ���MR
��+�]hwq
.�݂�roȬr�F[
+r?6��C��ײ��c��x x\ms�*Vh�
|���s�؉(����A[�fB����pH�27�S5�m�?z�[V��D�-f���Ӎm]Mr����P�~��ܳ�]V&���Z���N��E'�
+endstream
+endobj
+3468 0 obj <<
+/Type /FontDescriptor
+/FontName /CDCNLO+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 464
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/Q/R)
+/FontFile 3467 0 R
+>> endobj
+3469 0 obj <<
+/Length1 1612
+/Length2 16995
+/Length3 0
+/Length 17832     
+/Filter /FlateDecode
+>>
+stream
+xڬ�c�f[�%�v%*�Ҷ�Ҷm|i�f�m�v�m۶�W���=���������+"֌1c��7�9EZ~#����#-#
@�����A��Z�Vh��kd�#%��;��X
�;� �@#����`���#�غٛ��:(�T)��i���O���z��t03���}qZ��Z�
�B�_oT��@���% (+�..#
+��Q������ 9'K3C���!��H	0��X��`hcmd�Oit��
 � [����m at WC��?.�-�������;��`b�o����6 3kCK'�����K����o��_�_09GC{3[G�߬rB"����T���f� 㿑F6�N����/�_���������O. �����R��o�`��f��pr0�6�O4 {�����%���/�_���u����mm-���m�o���`�� �4��cd�����on3k8�E������v#'���s��� �f��/	}#kK7���^���oJ ����t�}"�7H��"���������o����y���"N��2�V�?.��� �玱Է���[�Y��6��@U�����w���
~k���0�1����A��h$g�hh
+0ַ�۩���F@{K3k�_E�m&�������L�
-��i=����F���_���N/#�&+-C�_�����j��f����(E���-���qx��=��L�� ��	9�����a�ϵ�����+@�o�
���?��\i�akC�fE�Q����x�/�?nC'{����{���?��:�
+4�[Y�1�h����X��=8.����>d[\�T��[e����Y��^
D�0����pj��/Au0܍aIޕ����"���C� kg�>��)��z��q5/���Ơr�3.��S��?��ls�D�K��F�h��m�\����{M��Y���#y����@�
d�>.uV4,�O}L���	�nz���������.;?��+���Z"��
	���= �C���̱HSg�}��
K�1�F
+s}	E)'{n& �W�
��������h�[�40�&�l�Q<�%���,{֍�݋��v����nڈ�
�Ν�"-�|�WA�a\
D�|a
�J��o��ט��@��
E��%㢵�[�]Y1���1�x��R4���@OOV;_v-x# }�~p	�F| �
dzC05%�"%��O{�OO��.�@@
�$%��,�i���K�
� �j���.f1��>�w�&.�R�
��R�yK�z���On �I"D�{5�ѯ
R�
щ ��y����u~=����1�e�(��~�3�ޢa�}�d�
�ܾ�?�ހ��O����kh����������T0 �F,�zRx�Zʏt��E��4�_J� ��M����q)Lq�+P��	�y�e2�}d
���
��Dq�{��+y���m�k�e���gk�J�������
���w�������]���r[���n*d)Vū-��w:�����Vh
51Geheg|��.�J�o�W�܁�j���Д7�#�~�K��Ҿ2�e?:
?��v
��k�����
�t�"�zoRSbR�����,�g��d��
+� �%ڃ�,��J��ꦤN��
w,���Mݒ�X�J��F!
����6� Wzv�#r��m������n��7&�޴KIM��s�Ӕ�'1�k� d/����&�Q4݅�Ǥ*�`W�Q4;�I��-�٭0��"&e�����C���:#!���ǾPnl�Q.ܶS�1�����@Eլ]^� :�����S\�h��%�+���;?�',Zš�0'���`gk��
?�����P��_�p�L���D��)o
�D��3�E/�0;HE]z�:�M~iFQ���.�r��6��ӂ��W���Y�>�ȳ��
a��� ��/2�z^����5�3�NՑC���]�
އ�R�2�
+�I�`m�Ӳ��8�h@��A���f*�$cag\gV��5<u�S-�on���(@���^�y.X�3�
�M@�$c�4�����<DK�̛Vl�J_O�XSҨJ��! {��Uhs, )�Ra�D��d�I�g ����q��ȠW���p���ǀH0�I���Qf>�Ӗ�HOk�W��� i��[!n4�0�
2�\�;�i��%pv��I�8@|��4
���:o

��A�*G�=�ï�=f!�jƧ^q�KTU ��8BE1�+�b�c��eE$؝�=�n��ͭQ���>r��5j;��T��Œ��7�϶�.O�C
M"
�N����� G��r��x�ޠ��뜝��D���o��Q�6��
�
�#�K�s�nF?D2V#�a5t.qT
�!54�/�HM^f�6 �K4����"�܉��ّ��x���Z�&�L kp���80Y�%������ފ�7�@��c�7����a�dF
����UV�P]�t�����Yo���$+շ���J�-�UI�����@��1���@�:�d�c(R=6M�ӑ}���%�i{�/�HWJ�_�#�w�{��J�rn��� �̒�̯s*z�ѷ�J10���D������<x�&�M&
�e�h�tR.�A�M���e)Yby�]C�A�DI�,����K�(�C��eh��
��&.����]�O:� �n
�����R��4Q$���+��
���
�b��r��e
+��5�-Ͳ"��W
�J��5f8���;]{M�M��e�RBrX����;��
�5��Ӟ�?��Z_!�O�k�le1;z^	�چH�@7r�"~i��;���������{��\"�L�	7#��-tm�}	�l�E�H�X�΂(/�L�ݚn��J�-9��B��v��e
+�����5�J�%f��:*z�����<�oj�S�h���x.����������� ��`
o��4u����3
\Ay[��PT����n#�&�H�
\�ڥ7�̔�J�g��Oo�����o}�v;���h,P��z^�q�o�m��I ��.��
+�
�
+����"<aK����
_J�:�
W�}��tO�==VD����HE$�u�1ߔsz���l�ׇ�C�V�H�
z43
+]-˓W|jR'81�ťW
+6�� D�T�ꝋC�gJ�D2y$�
+w��'\@��G�Wg���o:X-�fV�p���vO���E��ԙI�u�
��Ɨ�15���<hٗt��������L�L���ghSҴ
L�W�
�=�r��3�.�变zK��h�:K�mG
+;���"]��H�
+�p	H\��
M��]���|�T�&�۔�
��Y�b�ӣ��b�����\���T턇�=�*���F��"ӟ��>�
���j
�����&��/n��#��=?q��
�$�!������F݂ �E���XW?�i̵�{��H��'70��+�'^�a���d�bk�Z�� hO뵹��
����\�?��mYM$�9>hi�V�L�U���?�I����R
}� ��
U׸�<��e^��HR��Jf at Io���
�K��ѿ]�	�
*T���4��'�A�7߃�<����;�SRR�5�β,���\�.K�1�VQ6_J �;�0*v=�7$%P;�*Ӛ?��'$;�(P� �U\�O4�Z��jd[�<aE�~+퓖-z��*e=���q�r�.l� D�}%{��(_�Jl�o�؇�e�j�$of�*�
]�����xP1���
b]x�#�WȂ'*p*�&�(�����K��`85$��(9��6P��Y��Ek�PG�;E��Cv���>�dd<�׻,m~yc#/�c3ߏ@Ԟ�&��Ӥk]�P����TX;ώ�ب�-F�mI�
+��m�R�@
A
0�}Ť�e:@r�K�g��Rs��I�э�iţ�
����c�\�o��q�x������1
A���0�W6�;6��!���G�Z(��nc�+�:�j��Xɔ�Ș
u�rБ9u)��Kb�&��{�Ч/�Mk?�|�֜F�"�y�eX��R�>��
+S�FIyC�-�>h��<[u�q2�hOUD��f�>��4t�R�?j:���sw��%G�J�
�ɘorH��[[����0��+A�-��y�@�o��~��S�)W��L
���p2�m:O�V at oVk�!}}��c���5��>R+��|k�Lu)
�1�&i��f��Gcے4��(�y�
%
+qv���C��Tj�F��%��
|��WɈ�<ܯ(��ɫU�<.�̩�������},�˯�i��.$^�Zy�J�

+����
�@*�8�6y
�}�De����ȸó�TQ
���
.�K���ť��&N��O������҆��O�
ӣ���@ڝ���<)(|x"^�TJ�'v�S3�UIZ%F6&�r�� �ge'�b�Ԁ��kB<*�����{v���{�7ܼ1�����Sn�P�`#�"^��
����PB����֐�ܟPW|�օ�*
տQHk�p������D
Te[�* n��֣~����RbY�I:�Q���
'�@�/"�%GP�0�p��vo0C�II(^�H!�sA��U�sUH�ۄ �^��
�e��6���ܤ�]�
9�	U�9�%rԑ&�",�7�j?�
+qN��V
߂���i�,+Q�ܒ<��
d�p�U��pꀌ������z�4��n
l������Ao+_3}��k��@�Q��b��d���q�n�(˓WΝ�
�����?z���hq�k"$�8�J����
O��0�ͧ��s
Z�nI�M[�?��p,Ѯ�>8s��=ҼiW�봍ڻŶ�ϛ����H(H���X��4B?1x3S�'�H�y;P���[�;��"�+Qz
�kc-(����A7����ȺϨ�5ޫ�:^��b�]FX6�%�1Ί����
T�I��h]z�Oz��;���y< 
+qBX.�5�JM�e��������&��e��_
Q�
��A����7;�a6�׃R���A��=]b4�+c��G��^,L1j�[�iq�'�*�ﺺ^���xVp�B~:�s`����l�4K�]� 
��t������[�&��%�7x
���h���?;��P/���&z��U%�saI`+-148���IQ�l���@��͘�NbR��5���"9	X�S���a��s�&d�^CӪ���fj�H�P58kqy]�E}sc�LM(K2<*��J0�����m:ؑ����JZ	]�����m�ȥ�{�NC�t��
���o��W	�KU�V
��0lۻ�5�SfRrK[hC��d��J���O|E�"e
�C[�(+�+#��S����%�� �' �y�:%�v�x}�.J"u��
f��A�C�C��2I�d4���8��;Y����0�:B>����?dQz)�	Q��ƒ4�p����w�����[�_1�H=���� [...]
5v�K�cJx��\dYQJf�^� ���9~�
5�*WX
�K����������s��9Hmh�+��_,��gs<?�k�
H�f�[�s�'��#z�,���ыk�]H�"ˤ�"!���f�h�~���r�n
�J
h�L�`���7T6ojIA���X��
5�j�i���F�ȟ×�S�a.�=V�q�V�5g[c�5����4f1R���ezw�G��%t;ˆ���� u6E�ۤVT�b�5�萎�bf�����1�zV6�N�7?�m൒�Xl�X�%��>�ݶ
�[��($4#�nk����|�V�}��+�E����4���D�K���O��w6��r��F�r7/3Y�eUC��)A�Z�
�#�OP9�(7�YcE
�x��j�$�����)��Kk�xر��
B;M
 �*����������o�������\ �
P�?;I������e��1,�L�2W)�x�-�D�xx#_�!�v%bU9[V}���I���:�pcBF��R�1��0o���%�R��H�a$v��$���P
�ـ�_�8YQK�1_�+�LAy�I��6�ї	�m�`0�j�.�pZ߱�5���5V�.�bb��2�i��G���� ��*T�K����h��K!?��e�Y�W	�bn���mQZ��;�
+�zx/l���<��3v�
e��d�?]lG��x��=�<�������U!%�
^��g��^�����q�)�@�^c}�������E���}3s�
C�
�����|d�wb�J�
+B�\3R�y�p
�m��X���+�U�]�V�{ݯ�z+�I��]ݛ>����F��ϖ���]�W�jX��
���S�,.���:0m&��J��,k���
*�ь��ҩCC}NB�Ah3��`��pj��O�!��1[[��}�/���^��Q5�i5��}P7{&����w
�)�}��%[���<\ ��h�#�(�����f�B,`l�o�� T{*��ت�Kﭟڗ��i9YW�U�k$���@~
�:\X
U�*Q�Ќ����QX�ר��;���Gvy�;�

e�0�vё�_���۔��dL9z�a��.���V�1����Go��]�x�$�,�,�#��Η�Q���xbLkA��=]�l9s?�c
7�MC�R�F�x�$����&#
+�Ji���5Wn0��)GXY,���^�i�
+f'_QK8*�E�8�" �(K%�0��4��g�dMo��u?=��P�C��C���W�)�=���Yb������|�9?�]����O�{ ��OV�;�+m�H������'B�P��x�J
(�����R��8TL�8��"�J��C
�P��N*�E`2��.d�Z"U�b -��z_�q���&�!��C���,�yp�l�82��/��$��EL��:eG�>S7�!c=��kG��A?�M�����p��ݳ2q�^)
3���{gc\�?~�������{�226V�`�#`P+�tL��~.W����čzDz�
�
j���!��3V��$Nj4���j��ѳ� J+�2Q&d$W�
��
^Zi_�vv�J�U������.�d݇o8�	�l�̟
R�1��
+�
����J���@�e,�HЩaϺ��:f
��~=<d��&���fߩϜy~���.Y$�#2�h���_�����3H,�[��)b���y	�2�n�����0��ӡ�I�ɐ�_��M�(�'����QQ6,� @P]}	����n���=�h�jB�5	��m��|��B]moƓ�/Lor�l *Bp+u~�"��\6�{d�z�
\IZI�.ш��.��t��T�j�]��x���^�eqØ�0Y�LˏLi��N�*�M�K�
��Q~R���neʰ͂�$H7
�
+ٷ�x�I¡���&��pr9%�`T�h[O-J#Ǜ?��/�~����
����_�u':|�l)hHˤ�`���zj%d�u��c���'��
<1�ę�Z����R�q׷qL��
K3+%?p�mv��>���IU�u��[
��ЛI}��jä�	�G������8f�����^7���t�y����Z�tS��;X��ѥC/i�C�������
�P%��ۦ4����,a�3�̪2P$3���:(b�N��n�br+��Qh�� J'�x����5o
�'��q��Jg`�M0�]pv}þv���(i��қK_��=
��q��:p��Ot�q�hR;��2�ep�M-���
M�`X?�"r��Ϯ��� &�P#:s�=�
+o��nS����:�~��������
�,�2��E� 1�����/VRlo�-�I�M!X�do5�:B�
� 9i��"(����'��D��(�
�1�p&Am|�0g�h����>���x5����
B3
��A�d[��W㤣Uq�L�q��Z�v"�K�-/�$u�eߊ�����s;�
8�
+B��屧(�Blvy��b]�ch���x���"K,Op,�q�<�T�MH|�O!��!+��O
�v�ioL�Z#�M�H7�
3�w��Xkl+F��Az‘=��ʳk>���OD�s���
�ЕRh���Wٞ���~���H�
��C9s�/�&��+��=���膇2�ɲ�aB-lÞu�-�U�6	9���.)@�3;*e���g�[�W��K��mQW��`�
1
���7��+&����}
��'���6��>
��o�+L�k�V�<����o� �z at d�>���(��*�C��y-�m{�}�YǨ{0p,� �'<¼�MW��O�v��
I���/)#%)����$��2�+�`�Y�{��*^�tCF��i� �5X����H���a���
�_�Ѭ]KDp
+<�b�M�9�
zb�N�P���L�!TH�M�Z4�(I�1��R�80���7n=�
Gc�g���]��W
�-��=7��y]��?��S
=��vF��"umJ��)��jDG*��VoY�K5��
��6�յ���U����/��S�L��Yj�@�b��a2��
��
+�kr?��cV
�u�Y�iL���>�����
��{�q�v�|l�M얓PS����,���7�2	wk#�̡ޑ�E���9�VT�8�/Q
�����i����-��
���Wu|��7_q8�9$����ʱ �X���F�v����W7���c�SJ_��>V���SreO	T��u��ı����3���;u���m�݃��!�nr�|���0}�>�A h
�*+���0_���:�ERI�N���O��_��?�IկC#Ş�<�Z �,��mC�_L�2L~]�	?4�)B٘L�������CK5�Xܪ����5�g�c#nV�(~�]cu���Z�v
�D(@��;
Ob�q%X�@O� r�qd�$�
$Rb���
�G�t��I}�? ��C��@,ig
QAu�T�3
�'�b4��׫zS �o&1�hz��"����n��ﭰg
�Χ�=�|���X���v�z1�5�	ĥ���~ ��;�vWsx����t
�n���׋1�[h��	������d�u=AY;;�� �[Y{.I[������|E6���t*�x�i)��Ǝ�^K��g�t���MH�Gkv�=d�m%=����$
jH�W,[�����
r�{s�`�;�
�if (�{7�h�Dt�i&��O�I��q-�U
QL���.�Ht��y^��#%%��'�pJ�8oj�f������[/[�^'���
�����.R��@���`���A/�/�'��xg��i
�NAz44�"|%�tN]/���Sᣑb�b�Sѱ��ѦɄ�l�h
^]��m����#���5��n�M)u?�ί}0�FW�Tu+[A���]t�R��V�
��A�{��*��@��Ã�69,�����͗}h��=��"i�RLNYlwB~������>��^�?x+��'�\��G

E�%�0�h�lB���:�<^e}���
_x-�,蕖9�����n��&�C��Nۗ]�5��vj�S��Q>�k�a��\H=�b���8Eb����4��I'
>{C�aH=A���[�=��D�3���I�ii}�Ye̩��b�lG�	�b�ho�����r���;��K<f/�ݩ���t���?��6Ml��M�Z�z��6`�^?�H�}4�rP/ ���-

�O��������-�
�'A���&�}�qC�j����P&��
^�Zj�,y��6��deHAZ�cnf�N�kե�2&�
a
��L�<ش�P)]@T]�w�W�iE��jI"9 hA�Ƞ|.����x��+��2_j����p���\q���M��"�$d��P`e�i�q��n��$�}�L�V��L!J���M8�'*��)�c2�Im�n����3��/R��߾K��S{�u��J.b�=����2sih��	`�
ɬ��x{B7���L���l��5p%@2����q=X��5q����)��GϗW>�eV�Q�~3x�B
�,%76�xW
�AkҰ��p�c�h[�6��~$�d�
�
]�"����p��v%����Pߙ��AJ���A�л�Q��}���C�lJ�Ǎ�38&9�#�l~�����|F�(�>oAj�4h�"�>���H��-+.]ז��
'G��e
U8j�n+��GjB�P�?�a��&l!�fFj B+r(}����ڤ�ܯ�A_s}�/�*����)��:����,*��������[kwԬ�x6. ����W,
�D���6�ǫBA�aQ�D0X��,��t� �?�T�0��C<v=[]!�b�!N�v�\���M�Tl0��8X]g�y���H��e���*���Ԏ܁�������
�W�E"���cf'��69%䷮?Y�蜷�?`/�C2�e�}H�lR%��p	
N�Ulq	J�
+[jxD䬫��7/s
"���}�S�>���/����}C`�NSX4~���MPl>�s�䯾mcR�3D��u�]��*W�%^F{9����|K�H��U�
+�f��� w����A]�b\�y�F�l~����^
��Ԟ6+,�bA�D�_�[d
���Lm�S��C���C]+U���Ͼ<w/2����5 at AA �Z�B<U���M�S>ҟ��V����ܑ�=�]��
�ĭ���ϕ��x[S��
D
��qx}�I�"�f+��FT�@S*|%_�۷E�w��ٴ��Dz�:K��Ao#qhns�<
>�ft0_����
r0ً=�OPx���`��!��AH��o�e/}��4�F�>0ddN|TR��Q�̲�
{����z��OE	�����*�b�ֲ���&�T�ȹ�X�n�i�S6.Ж��cd�M�
Z'¿�0�I�i��,ž��k���Nf��<��
+�������\m�4�
���5�=��i�\ٙ�<®#	��NDe�U8%�
4��������-}�$��n1ڽ
�ES����B���}
﹄�Rh�dH\xG���D�&~�N!�cq��%I��@��
Զ#	y *�c
F��
zI�d�
<��G6n�Z�0���j���%g��$�Y��{�D����4��=>N�=�8m�W0A�t����K1���;�o2EB'/)4�o�y	�6�m�`�GO7��5R�iL��j�
D��}'�
���aXG��Im)D>�]�g��L�J
�\�
@�4��}/�r�&?��XTqR`[�(h4f�*��HsW'u7F�����F�~��V��*�mA�=��cz@�7
���5��<*r��	Pk)�x6,e����nv��Z��$	���+�%y!=:��� +^�8�G�����i������5�'L���d�qT��Cfe���"�_s~�q��}k�}���pѬ��#��s��@Ƕ醇�AP��y�F�SZ��#&sJi�.�Ng7�pCp
+�|�ӎ �}M6EV�_T)���6�T>�d��)�3��"�;[CF̥��7���1p�|�AA��J���!H
2��1s%}���
�h���3i�
��C�Z�
|4��8S���ޞ�����b������+s����1R���6O#>�щ�����=�
+m])Ƿ߃�
+3�,}�
�9��N4.0[�\�.}��b���G�au^�� :H9���&�#ݥ

+�F�&w��G"����H�;��{��,#�@L���O�X-����fl�IV|�\n�
��8�ZΔ�-9o���6��XBԑ`��X�ޠ/;���)�>��!�8L-���2�D��{�/2TNg�K�$$}�/$��	df���$��r�錖��^�]I �����2��4��?d\�KQ�_/-���u��>��V�
+�A���% ��7�.�i���@+S@��^��rD�9!��
�f�ȹ3墛��u��$��v9dI��ܧ��3q
����rX�z�Q<7E�8�]��pRcYm�,��4�Ŭ߿!7�v�_ً��+7�O�18T�<>qٓk~-ot\OR
=e��ۇvW��!)8H����cϴ�*�3
���N�qxO�/)�P�n�1��aJ��^��Gy2�����-���ڦ~CZ��w
+Fu!eX�'a��!����0*
�������Z�K�wuׄ{j�얕�]g�ڦ��ҍe&���c��-T���mL
�>��d� �n����
�>�`O�
A�V橃\*ҷ|K���-�FI[a���n��v����W����E�y��(
5��O�/f)�s�Np�U��'�3�S���� �@�4{(��
皉E�7���>������Ma��&�(^C�:*g�E��y����D�T"������Öm��fu�h�M@��5��,��
��酵+�:#_�ۮE�ҼBF�Q�;�NIj8+���82�-����:!B�&�&��D
���;3�{b�
=�
+����;R�;��]�hW��\�~���j���Jo��~��@]Rn��x��
,P>A��b�l�g��6�[��z�G�`����ʛf�+�G�7Z�������u�2H�������O�^/R at HiK�S�Rp���i\Nk�
d�ø���>�\�3�򴗩d`I�W#
Ur���&려��HKSfMj�
�U�斏I����O�OP�3tr"S�
r����h6u�ە-������R{P�l&I��.��sƀ1b=�O�Ջ���d��#	X*���������2\� Ƿ�F�V{���[~K��E4��/ъѐo�4��
��bQa�ŧ*��7�H�~�
�y%j8A�X��>���k

����M<3D+�;�*x[OM�]�.�N7�Ҟ����|�Qg�
+#=e��;Ik����k����� ���4�MqUFVe�+
f
ag�/l��_��(�tr??�<&ܓ {Evgu{��߰	�..��>g6�	�)�������<${��7Ӱ�z�]"�����}zp�;Q�J0�)��Kn�n걠
��V?��-ɣ�4�2Z��DA�0����X��R4��	��r˭B@�-��楠5ʒ���A�ST�t��ց�;����qT�AY3��E�
����",
�����
bY��I�!���[}N~	�t����C���%U(ŵ+�����b��b`:%���O\/��^P^L�}T��Xo�gY����`�	������u��!�*%��v�qo%�	�v�n}��5�� N�����E�
Á�2����栅���5(�70|������v���L���X�ɐ�ew
"ٕF=rH
f�/ 9Lm�� w��������l���½?
bH�mm-(�#�JI{C�ۼ��\uy'��]��P����"�1�ں��}-�i��X� ?�+����b
R�||��Uݜ����-��;��V��2�M\�0�4�#��T�O��0�\_G}�����n���%��Ӡ�3m��@�!�2�,�l��R�$�1��]��V���l�# ���@�F|��L�E}�(S
+�z�i��S�&mB�Lp��9��9�l\s�Y�e��;���t/���WfY
S#�Q����y�̥A
+��
>A�­��߼扅������]�nA�ޫ��s�����v�=�ҵI`�ư�$�N��Θ��67ƕ�^�����KQo)��	���o����
"x��;��O�,�$�e��3�J��"1��;���	�؅���܅
+o4�({cu=�'��U�PP3���\V6�.�,[�[Q�?ݗ��M2��M0%�-�M��e��@:{,:����3M���~y�Lj�IwWt~҇9V+�
����W6��	me*��	�-���ʛW"H&�v#�h�*�:��&Y��!!�H^P�(���\[�TD	qw�BQ́�xc�*r�V�p�0��I��C����1,¤3��w�p��]��Sd0I�0�=�P{\������$�}�h��R�_)$q�!cd��nh�ڮ�qP
�"������8Z\�hVG��,{�i2EηN:eqw�)4�y�i��?��
��^�Ӆ�v��G>k���w&��j.�[���Mm,�}�W�Y�����z����v�`��$AV/ŧ��)]
o֎{H�J�	.�궊`��E�V����F"��7����}��֛U����X
0�SloXy�)���W���/�y�v��/y����PkȬ
z_9��o̱s��t��ofyb
+?�6����r�Z^�ѵ)Ӫ:Cep�u���c<�t�75������i�G�H��{���܂��7�0�
�	;��g���̣��'��&��8��Đ;�[n��1�:���Q
山�Q��6G�M!6���@Ji����d�٢Mi(э'���r����m?ȔIO��C�9��RW����U�������V�̵���̜��“�y��D����e
V���esV���v
$
�س �3~�U�
t�:�P��V.P��I�
m
1��	t�s��"���K�;|[V��X�K16�o����u0��{wR/Η��j����> r��󶜙��k�F����Q�7
��έY��>��L����b^b���QHW�)�p��&Ҟy��� ;�%�;�P`C��s�F����
����
hڢ��].����nG���+�!�Ғ‰EZ���ɩ�9x%k��U�"�h.K���H;'�`8FW�&��Z�C��E
�lԥK�9|�[&��u3'�ӯ�?��o��Bh؊f(�i�|� [...]
�Q'~TP[����_��oĶc\�ƅ��f�>��,���v}��J󏤎Jy����ke�󢆊Z����["��!�'���/n�?3�9@�צ��2?*r&k<���
6�4��]
�lo`��.�9l�T �����pD�
�טY�dd��*�y�G����.$
�Bg3*�d�V�_3�!2}^�T/gx_����o�3�8:i�
�ص�BB9�6���?�B~U�$�Ѯ��L�3
���4P�u�?3=r!�W���!ON��U|^W�RS��P��؁�
+T٬K]j�
�gwrR���ƛ����^19����G���
�uk�
��}N�HG�M
���
+x봡�Ɵ��o��B�E4�!LڌtQ�|�z�����<Ҏ99��
+��D*n�SZM�^��
 ���|::��/���K���?
+��E�W��oJᒝ!�K�aK��;~z����#+�A�v��r�C��X$�/|�ǖ
f��N($�R�/id��R
ͥ�;����:0/�.x�Q��M} �� �,Zq/�m�2���l��$����R��0
��i�נ|�
��2��J#5*�RI�yc�d����i!��q��c�{���'��Ć�2��E8(�w�І�X����҈�QS���
���p�ހ�9;�o���N�rv��=���i

+�R��vCK&
�J#U�t�ڒitT<&i�,�隰a�'����O
+�
���'�� ���fz1��
��
Zn
:b�������W�⒀4�Z�u��
�)W��
J��{�kf6��I���/
zdr����Q:ٵD�ڲ�]ev�(�
���T����?ӇӺ�O�6����W����I��N�L�Q�v;�M��j�I�aӡ2��p at 9�4��t8��(���^R�yfĩ���ZQ
�G��
-�F:�u=c󰪏��Ei�'
�@�P{
~��N|j��|9�d>�&F
�79��h/�ȵ�OOR�&�%�*e���C�=T�����Y����+�Ӝ��P�c���N�*�_�i^�Ó��@!m��CJ@�tfߟH^t���j����J/d�����h|M�K$��+�J���W�%!���f4�,\��1
&��}p&W��e��K�#nYa��JR5�B�����W�6��>����|��)��y
���/X���pm��δt[�[����l���}NM���_�T`s۾���\��
/�g[���ֶ��{��UB��܍&��l���kB[�s�U]wL̂�W7M�z�J�O4{��t38��G& ?.��	�.�nI��Q�^x<�
+"��P�]#!�D��@�_�v�c{�S�
+�!}{j���Xz�
���~�l���r�n�&~�d��*���r�<ga!��|	��4l�*�Bpb{z�`˩=S1�
�����
v��5�W>��Q���CZ^����TP���.m����O7��
9�Y$pA�v;��9U�i�;���j16��)4�:A��Q"�x#w/�Q �j>���<��3*�N���{�����'����I�c/o����A�.G���
���(��~��+�M[H�K��y��
�G)�	jq�;�
z
tk2}�=��������U(
��+|�����!�k��� *�#CnT�7�_R�h�OXy=���X
+�(	��*�?0ëN��E_B�M<E
�Go˃��
�*��z���Z�r0�٦��0��lz��c
2g��]��w2YU�_�32���S���3�2ܺ_ nB��U3�p�]H�A���>�u���+~!Y ��N��>�8`��BR=XF�+�j.�º��i��h���}n�I��LIH��9��~�
+��4�Coz�Sdj�����(��g�|�,q�6ecu��D�3���ڌ�?T?5�V���s��m�pB��;F?(\��$d�DBJ*��r������r���֯һ�K"W���yku)�hY"۵�[�ҟ`?�{��<�0�G�Y�>��s���V�$sp��}|����Bbo�����V��_rg��x�7�,�ۦ2m�!F����k7�ʗ�DC�ޕ�̹�q�DZ���
�Br�]+��+Xrx���sׂ���*B��'5�r�欢�ϖ\!��.��?�QsG���������Y�=��tT!r���
+|�n��z��)
@��3^b�Y��)��P�S��g�aP5�^Co��n������5�����M��s�dȣB�q�泯#*ғ��/�:g(�WQJ	�t��������o�IOw�u�c��9*�J
"k*I�5L�G^H��YU(GX)+�U�k��w���6��hiaJ�vL��k�A�Φ,r���FxG��	�",'
�\m�^����e at U7Q�9��QmO�g��w&V��i����5�H���*���������h
��O�X���G"��z����_��X�fz�tY�זK��Rf�Z��1J0�㫼�B���ZX'���Q�����v�A����؞q�	9��d�m
x�9��Z2�`��f��9�p�6�@xr�n��?5+F$E
D5@�H����;O�����2P�H���e,�"S�o~,���@>��y���
�g�����J SML
@9���I��e�Gʩ5����"
Y,�RB���os�\W�@]�������ã)	w>��U,�O��
,Y
��Nx��Y0�{ⓈQX��U���_
m�Ų��u*��'DJ���CɝR>$"~cB��g�z�O�������^[9kb'ⱒ����,��I��0A��Et�s��&V3ȯ_\�x�M�_b��=b@�]R毽H�F���v�x9�	�y���dD�NM���uj�
�li�~��cW8ؗ�v��^,
��T�&��b�Ϳeʈ�oK�?�#
�q���Ľe�"z��~*K��]�j�Ы�Ph'ך"�I����'p$=t,e�D틺��	}���g�)����n�k�^̓��#��#;�7��x�<$�h3�\�����D��"Œ��$�(84I�M׷�MC��Ёe|{�6=lX�)J�p���6����.4뿝e�7+O�N�=� ��+���K���
��<����5����[������� ?^��a���WT��9
�k8Am�f��
��M�� ����_v�K�'�Y����r>�G��]
����WI���u�m;KPD�	�@s>mp
+endstream
+endobj
+3470 0 obj <<
+/Type /FontDescriptor
+/FontName /NQXOMN+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/ampersand/b/bracketleft/bracketright/c/colon/comma/d/e/equal/exclam/f/five/g/greater/h/hyphen/i/j/k/l/less/m/n/numbersign/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3469 0 R
+>> endobj
+3471 0 obj <<
+/Length1 1630
+/Length2 8179
+/Length3 0
+/Length 9013      
+/Filter /FlateDecode
+>>
+stream
+xڭTeX��%����Ρ���AA``�!f IIQ���I������>�w������u��1s�Ϻ׺W��yh�t��VN�`'(
���%Ѐ8Z��ԝ�j@
�������30Ⱥ�-�'��
,0[��  �[XX� ����
+�����u
Y����e������	��@���`'gG0�H���p[0�� �jj+k(�5��`(�������
+���00
������ r�ZA~��x䒆, 0g0�~
;����`WG
��
�� 6�P��
�N ��f���G��ӟ��]�
=
�G2-'
r�8��Y����nk��y�N֏�VN ��-��
i
Q�
+����sY�V�����c�G2gWȟ2�`�Ϳ*`��m,\�
�0�#�#�����O���������O���� ����
��<�9A���6(:��eQ�Z;����[�9�s����ay,���	��	�[�sj8�S��o*s��D�H��?"��Oܿk�?.���>��Z���A���q�zd ���@
���q�p�~k\���+�����o��h������;�
�x
�4��Q 7�_fL�l���l��3�cׇZ�]
 P������7L������/
��{��r�)�SFA]Cل�߽�<�
7���
�wCu'�
~���8�x�@
^A�� @�����d�C���������������߿N�������~o�.�j��l�4��An�������M���g����`�ܴH4�.%=^M��7,�����i_�sq�^A����7)�V���o�B8�GD�<�m;��Ta]� r`���ϥ�c������"ȶ
�iV���c�}0���d"�e��:��cVt�B9������ş�=ϟ�����(�6���
�:{�1~�✩g�����r�Or��h4Q
b��m�����i
�
��]�cUT;��)�N§�8��q�t�7�t߻@���v$
���o�zॺ�D<������
+
,#]�\G_i�.m��
+�\"щ�J��UacsRHY
+O��I��DӴv[2���ǒ�;�?{%W��:–Lс�zo�����G������t	��
�S5���X'���wo����Oi�s����
�#F ^,���,�/�Ҽ��(���l�U�xrM>���~�8<�@0mxz�����kx�a`B
AS�~�b���E���>RcG�dݓ�%"�v���5��z�H̟M\l���ƫ��LƤԌ̒z�iou:(,�'
�TP��]r�kXQZ��8�ƀ�_��
+7�1�XO����vz�D�����Կo�Hm0�ih��ç- l9�ŏ5�q ,LҾ�l�uP[~.BN�k�噁�YΚ
K��9"0`��ڍ`����O�w 
�TG��-���N�ѻ,�Z_a��J�5�ƹ��8�/���k<t1h�b�Tָ������Yư��z�"���b|ʆ�K�aZ
+�ޭ�j�6H�<�@/�^�o����OL��Y�7�1�
+#
��Q�,���B
��+��6�}�N�Jrg�j|��b��p�V�6��JP%�]�3��cI���Xg��U�ї_ ,��HkMO{Tt6QE��K柱�O/��K�?�
��,���X�	�hM
��Y��(�m�M��u�
���4����
+Y�3k?�N�f�AR��'���p�l����b�YE[�]�#)i�>�t%$Dnva�#YQ)~��R�ݨ�\�����jkl_�����e��o
�|�w�LssEd�/HB
{T�7��%n򳶡c��*�R��F��
X�\yƣ����ٓ0~�):�
؈K���r��Y"�Z���u�Q N��s]s�4�U2�
�A��~�p�ժ'���q� ���7(�)����1i�ЇF�.F+�
}&l�q���{O�
�F"B���K��sn���fn�3]�!�#G��j)q��'��@
+L�����т�Bj��]�'n�%34�_
S=��F?6��[c���4L��\��)֋n�<� �Q]ZP"&�
�)�/7�v�
 ;N�����E2.��0�ٸ;+3�тȪڀ[?
�
غ�X��d���>C�	xK�1�8f����Km~y跿�WN)L䢏zݙg �%�]�����?���Y2c�nL,؅{�h��
����Su�O�"*� �yU��U#M ��4�}��Q�`J��H�\���8~�W� �E��
SgD��⃄�UT:���3�
[2�n/���
+H���MԹ3o��2��pB���Ũ���H��/t����g֑geծ�K"f��&�������
3��c��G�%i�����ޱ6�J'����th��{�{�Nfe��0�(�P����z�k=�uw&�7Q�0��Չ�T���>�G��#z�h�e�P�6^���b�J
�	����W#ShRB��E6� 0��o�.c�_�ݨVQ�W�\R�<����"�vr�Riv%s
+JiwC&5����wd��~,�ް������Έ��mQV��N{��i����f�@T�VT��!�\��/���JޘX����Di�n�C�.4;��3ԍ�`��,��St��>-W4p���
+_��Dt
4m��

�S�<�����M�T�,�;���g't�p�0�E�nj��H[�&�V �������h&���Js�N|�Z��b�۠����-{
+�d��J��g˥��܆57H���y
v7Q^LuW��_�R��tHV1o����'om����ʗ�z)V>1�Lb�W�FV(�� C���5e*��iL�� `��ӹt��{��H��{�畼sC1��f"\
�ѽ�w�ݻ�$T�؃�R5��	�ﺍ�.��%=Xa�Ph)7�\nen�@��k6]U�xD��uv��O�l����*/D�v�Dh��5��!��'���
��,C-7�����A^
���ن$pk��U:�$6��CB/�ƿ�
�_��f���}� r,�b%0�G!c2b�L
�wBD9\���!�����"o�)6����@o�XXb���C�Ap3��Q�
��l-z�{�
�ƍ�ucC&�I�J&���)̍U�p��7b�r7Z��(���TH�#)q��d�>Xt��Y0��ނ�<R'���a�W���;�ӂ��
Nn`z|��5�Û5r~b�ہ�M
��!�i��R9�
�l>�;n1
+��)��"�{�>V��誗�>��9��*u����7Z�Ɯ�&ꙋ��ģY��N澽`^�L:n�ɽ������JszV���D=ԋT1:�Z�o�	m��7h_�L�`������;p���tY
+3��I�:[k�|���R�0וl��������b��y��R(!Y����P+���zp_Ȍ�<�&xO�ڸ��').�_ �ӌH�% �U�FU����Կl�8�I���� /���(��^��
����^�~��GH�p�y6�:�0T���6���'��ņ��ŰS�U4�o��|$jNm���<�c;�[�	
)
���[�
�J���
��ai�%#ñ�Ȝ��X
&
c��K0���lH'�ψ��3�e��S‚pl��<�
�C�[
<��S_lH(~zع�=9o��uGl�E-s��j��L�<�~槎�j�k�Y�������O�����{$�ϳ�
=u$���.^,��8vj��+hE���z
�3
��o��$��	г�6�g^R�4b���|\�7{B>��
˔��Q|9�4�1�A��S��HY^󶛣�/�%���v�q�6o�NJ^p
+���~j��P2�&%>

������P�P��҂����SC�UN���Ţw7��B�y���*hDt�
+
,�Q�&��\ �V��4����IF?3�^�K�7���[����4=�^�TmQ�]���$�P��Q[|�ܫ�A�w�#*����P_5�?��V^�i.q�O�U3�V��S�+N�L�
+.��u�P݈u��B���W�,�'������gV)�>z���^�$��'��p�HΠ�
`6pN�N_�u�
+%~Փ>�%�O�AT����I/�L�ᤇ���V*�-�������S�ƾ
O�pÐ��K�ۧ~�k���~��
J��B32#��vLB����ˉ~>�<U�$�� ��hFC�ћ�ςEG������o�C�%-��t,$���UϕR:��]��R� ��G��ի�& l��6�<�X�f"p��/"��b4�WO
���[Ό
�7&d�.j���/��z��7� 5P
+�,~��}�g�J�;�7Aj��'
��tmʽ���:���h�O�j
0���e�LR�3�-��D��{Ӱ�)�+,��JzA$�
&����QҖyt9�^?����$m&`cg�q��z�$�O�O�E
+�
��Vvm��
���|���B'�/���E'*��%ʿR�i�aq���XdV��#zՠ0n�b7��1Y��R���l_bahf%�
����mџ��h�b��o��@�����9�KM�>΀9��\烅�<�A�7���NKp�Lqv8
���NKw����a��ή �܋�8Xz'l���j�'��f�Kt<�D�y
bJӏ�~�s�FN�L����-K%�'Lj�
+�-�6�(�s�C��2��˨g���|J}�փݖ�e9M`�w�r+/�!x�c�R��zT
�x#A���4=�i�
\�d�������\COcjZR��ޠ�o�c~��m�>���
�� ��B}
ݧż�� 	'*Kڱ8+$eM�tS���sHM�N2r�S�:٢ഞ�ho.
}bl���\�h��i�އ��Q��������ox$���/�tjH����i�(��n�TN�o�Q]ZΙ�s�#e���C��P�ϙ̶T��S�Xt7٨p�#��"D��I^�+\̨�i~�r��E`"��a?[$T	�)�h&�x'�Eб~�"߾��Z
vK��]�<%���IVN��ش� 9��_\��qȲ83�H�-�i�G%�U�u�e�kD�鼾�?
S�����̖�a/��e�b��i����Ɋ!��m��A
�ҭ`w��<㽽�bf*��Э�,��ł"k�Z�`�d��eM
+���Oy��Gjz]���),ۊ٘J����:z/�>OO]�ڋ�tSy��=
�K~�`Hx>�=E;0IuV
�
�W^���|�
+g���
+)ֽu+�ٯʼ�}��Ke�ײ�,�S?f�Գt�;1��4�"�ߝ�/&$��B�V�C�����ig�Ɗ��
/�3b�@{)ˉ�
���o����k����j�/���*��G
+�M�f��7/8�vQ���)��$�W�:�5�@�{���G
��a�7�1)�1U?Md,>}X�5IoPA}����u9����B{5�,�h��� �D�TC�k���s���1dW
ò������P��[��͖�5�q�YZ�L��@�C���&�Z�!��I��.1M�1�}۳�A�tl�kd
|4�+��Ƚ��;�
kq��
J†
t<�:� 7��b����󣱨A
�k�Dž��V�6�����d��eu�s�l�+���S��?��
�G|��9�V���.2*[
a�L�{�4F<��
6>*?^�c+�v���e6��6��
�d@!���W���
�ج,��B�3��:�lh�����C5W��@���k��
������%�ߦ��d���
�ek�ճ�3��qD�cdZ�R jςoD�
+S~��m�?�DqY�?F5�S.�%��R�X���}�{��D%)����@�,f|�
��Q�Ud���+K�
u��x��F���A�U>�����H��K2>���j�<o�Lۀ���
�EJ�z��s�F���!��w.<�蜻>�{�����'����=�[�+��v�o/
`�����k��D��g����.�r�\��A�J{�
9��x�=fA�=�M��_����vPs�&n6��f��=��A�_�V��tu*Xa1�4�s�^�GaG�w�i\j���*HKᩏ���}�p6��9
֊�no�R�n+j��gxo��.D
+v1EE��������67��3
��/6��Fi�vT
�|/������"qO��(Wv���
���~:��|/��$l����	#˅�u�Y$^g�r�
�դ�^Q��}��'�������]j���^���{�_���iD4m0��9�
Ţ�U�ȟ�P���~1�J�{�oە���|�ބ
�l���n��S���%�
+� Y��޺�t`�Y�q����������
+Z~���	0���ɘ�y.ه��J+�[.
���L���9���>o�	v�"���7�
:v�0�Б}CGi܅�ѭ:�h&�@tԛ�v-�i�1^������>�>M5�n�����1
+"2
���>q�r�;�
x3^��V)�u*-���V�a������!�-���ű�� s�\wv6�5�{���
�>!o���� ᴃ3�d�{w�!�ǻ,�
���<���k�u�z��w�ϔ�a�rQl� �z���7\
H�Y~<\��9�G��y82���j���#����W.�&�"���흖xc�lj��V"*�o}x���$�v܎=�b����W'A�7}�Boٍ�ɦI�"g�Q�=�,	" V�M�d�UA���&���dS1v=����-�E��
�x0��
�y���>M�����˹:�	?+N'�U��y�]�2�C?�
�Ƽ�G��
������Q�?�1dž��T�r�Έ'�s3&��-.&J��b:cb�o:�(�N�|s:7��<��q�
7iJtN��F�9"PPUn�n��ۏ�@m��a��:<�
+-%2N��e�u�R2*��ݖ�`;�:�y�⺢��Ӓt��޲
ȃ/_�x:�`��ň�?�R��핕�&���D�\
���n�
|�_��A'�Yc�dީ�$�ի���KJ�0#aTu�No��ZP
Q�
ُ�I
�h�{�PeF�nOת�jEw\��n��N�
{��
-G
+�Rbk*�^>{�U  �6i�I���W��}���[��?���lA����+A�*�%L�
ږ�!�Z�����PIe��/Uݸ�t�a~tds���L?�/��kA#�zw^�b at f2�<��ˉ���m�y�!��C�Վċ���cZi�3��o�֩�܄~�
+ϷcQ:����y�������:aQ�z���P�
aP/S�
+
+a���ֵ-G���M��ԏ��8
a;2×\��}]�X�y��N
+���ڏ;Wφ#ځ�
+b
���-��#m
���S��~c;G�'q]����'c�	=�D��t	q��#���\�h�i������;%
+�F
�N��Z&�b��@�$�S�3
E�k���3���ó9���t�7I���cp�5�<�D�
l<:�?�
A�θ�b��ro�
F�1 �/�{<G��
����f'v
�a�g�2��O��S�,W	���C0[�ڠ�����֩y4�V[�Q��H���_Ec�
+��@��
�$S�x� �S�E&;A��,o�ڗ��5W(����ܹ)�j#����E����bßf�6�R�9n�ZE�,�8��K�Z�iڍ˯4��J_��>��yT��K+l��G�
�ۭg��b�\g��,�R���WPi��@�+�
�.�c�$}AF�&�ܬ�
�xh�A��|�.y�Li���=��*��Q ؞
+���g�B�P6��d�Qf~9*���7��O�{c0�C�5���|2:\Ҧ�1�F1kP��gkΩi
a�,�d�VL�'Wi`�r��#ד/uj9'A���hV����ҵ�O���.�ş���e�}fc�?���!�����F-�Up^���Ӕ�U��m�V�ISăڑ�i]
��[c,]�t��>*� o��<��0PW�g�
nl�ױp�����U��Γ��8l$,��
�<m�;���̉�'�e(+����9�c�����	��&��m�}|5��kI��sdQ�N�����ĜlS��!��ᵰT'}EG��
+c�*��8x�
O�L�n1���D9?�pB��P���4o�yR| n.����6lk����x?�0>zPR0�6�q��S��|eV��*u$"�2��1q������>�@�S��$��;�M��(���HE�T��9��}�/j}��%��G��ۡ1{>��7�S]�5-?;���hC�����T��^4wb���&M��O���xM�L��dc�&�����8ړ/L�*}���?B�+�ù���הCYţN�K�����m����w'�k��6$��j��8�<om
���%�8}Ӽ|;6F"ʼn��,
���=6e����"�
Դ��KjC���R�
�`�`v��3����ЋJ�|9�q`&r�n�/#��1�n
;�����<�I�}5[��
o��*۞�g5�����f 58C6��q*]�&��ǫ��ʤ-�����S賠�Η�H��N�-pAO�5�>��Iѻ��F���4�R_�b��L�c�Dh�8l\z��'����&��˳�T|���0�7���
%$ [...]
+��VG��ؙ�| ���
�F1y��}���%���!�ͨ��̆
�f���v����d������-a�Ԋ��-�4��_��_AŨ��2����UR�
#�
��_7wQU�1%p
�`��ʎ�3:��{l({q�#�!s�#�]�8�l "{� �
]���.G�� ��Eo�_I�t�m�&��9-�S�ף�z�ў`:0ܗA	�u[@_$k�09��PT X69�ҧku����<�G$.�S�
a�ȁ����Zޥ�g�u��1��-`������>�"��[
͘v2$V^�	��H�!D+u���>��4�r�O�O����g�)*��Y�b��흡�>���Zg���"J	z�gD�����eL���� ���j�& �B�.��KVm��a��
�~��oߣ��
��'��ҋm��#��N��'�����m'|3�t}gY1TC�a7D�XT`a0jb.��9+���|�RV��r���L6��&I)T�J��r�mV߰<d��[
·U>rP�7�Jq�*а�=�_�;>Z�O�:㋪���a�p ��/

>k
+endstream
+endobj
+3472 0 obj <<
+/Type /FontDescriptor
+/FontName /BFMNIZ+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/a/b/c/colon/d/e/f/g/h/hyphen/i/l/m/n/o/p/period/plus/quoteright/r/s/t/u/underscore/v/w/x/y/z/zero)
+/FontFile 3471 0 R
+>> endobj
+3473 0 obj <<
+/Length1 1625
+/Length2 12194
+/Length3 0
+/Length 13033     
+/Filter /FlateDecode
+>>
+stream
+xڭxeT\m�%n�%	4��
�[ ��5�X�����	��www�!�7��Y��_3�G�u��zv�]��YMA"�� d
6���
��0� dAV���J�2
�`Kc��1����DA!b4p ��E

�< 5�1@h`a0sss#Q D�6�v S3 ���


�Y�� 
]���~�
dj
�|pZ�m��������@��`�D��5�d% ��* 	�5��� �hh	2Ȁ����@�	�`����J���쿼c	�
 �6@#��5���毋
`���ۿ?@� S;k��
8� k#KG���&��؁�#��}�`�`{{#;���=�����x:�8��mzw�&��`#ǿ%��{�y�:���@���
� c������{�w0;�?4
�A֦�ŀ
`45�3��ۿüc����	�?�7���t��6����� r�Z�|Abfy�i���d���wX��M� f�ٍ
m������A�g�杄�1���`
4Ab�;��P�����N����G����O����x�����w���5�z�-����� ����E���u��
+d������@5࿸���w����{C��M�Ea���/#�^
�4�9�L
,߻��]坉�%����?
0031��O�
dda�����r��1�ތ��*rt��n�'R�}
�]m����Z������GX�pg`f�0�2q���.7'����
��:7p�� ���fb��������ο��Y�������������������]�^���������.@#��Y�o�yrZ�Cn����VO3�@�MQ�r~�O%��;9d��L��g��	��fיC���o�;C]-�:��9��d4ݹ+���t;~��E()Gj�g�2k0�
L�;c
+����p�'ZY���h|Ȝr}��omP���j�p��� 0���(���n����;/`��	�2�)x
p�I�
\��k�^a�8���#�Z�
��*̞nxV��>�0y�,�	�iʫ N	<���X��4��*4����h�6���D������Y�vL<�?;R at u�gq+x
+��J���i��ʡo���q�w�T��I8��
�⦢��7cŠ�£L������t�Ŝc�Epa���[�Q����C���f�ۄ&�eq����I�'�g%r�'#�;���91+S�Jߢ�#@��O�?)�3wh���ӎ�J���C������6�O�
�y��0w�N�V��~(k5�j�+�R֨q�j��ڍ�����"�O�%�a�����͍*Ӱ��_p���E�W
JݱV���,����@�H{�3�]���,k��ݕO:mﳆ4�&���X���c@����ښ��Q�^g��:�IOXb�[��lm�[I.|�1��*�V=����I�)��~M59��U� ������- at .�T��Me[��K^Nf�b���n٥�9�C��Ū��bN9c��ѵ�2��sjʺ�m�%x���+m����} �����2�ȟ�����69����\�
����8w�χ�	W��}%9��WҤ!���)F��`:�܋����
f�g�����%�,1���1�v5v�-"%�1�6 [...]

F�`��L��}
��Wg��^IP���m�L`�W@��Z;�"d~�4��S�iO�!���Q�o��1��SS���h��.C�'U�b1�eVȩٱq�m&���J�gW�x;yf���[
��%ֵ�w�j�G�����`d�8#�	�_7�}�#o�/��
�p���Yk��H�'O��J=�����Ȗ����U�v{��������UX��G��$+��R��禔���WWR����a\����pP���m
3a�;�-�f��'�R��H��`��N��S��u��%�˻u?vX�T����2�,О�}_�pr
+%�V�e�[,�q]�9n=pBN
�"� �<[�C����F�/�y�(�p�U����S-7����W�v�|'�H��h�r�D
��X;il at k�
�������H"�Z^�9pD[�xPj~��Y#�)�"��FT��C:l/�

�uؚ�Z���/?kY)?,�Fa��Һ?�!�tP(�:F�ٰbu?U#��-Z���7ѨBǾ519��ya�;����&Õ����c�0��Z[��>n�
"!ڰ+'7�8��
��>��B��	��+�`��F{!>l��2r�6�E
+�S�� .�E�
&4	+�>j6��F$QA�9-����:?���xˡ!�b+�Yql�Dq�dr3�"���,#X�~N	E:��r0	�v�f!�pH]�������A��������7�<ݷ�d�/!�D�o�j>Vq}�Õ-���irʌk��4��=��Uϛ�
{��X����U�kAJ��st]�,�Z����s��B2�ON���
ԥ��F���ѭoeR(A��0 ���}7���a��
�
+���R���lT�Nx�W�-�\��ݡܬ�J�b�t�
�d|N$���oF��E�
�IQ$Lihh~�M�hz���-�w�"��]F��1f�,q�#��j�A(�Uyŵ� �8�%b����/e�.�w
������n�yztE�m�&AFJJ��y����5���}
��r�4�
�+�Y�a�S��:�
�cJ��5�E�ĢQ�
�6��N|5�~_���
^���
��gV:TL�����b|���_���
}~���/8�y(2�@�n��_As}ldhjG*�L�Ċ��CAT��F��t^�>�B�`����5��2/
4<����>h�m�ˣy����D�1u���W΄_���?��v�d���&N0�� �����\�vgBE��۪-zC3�X�k�Luk�kJ\�����
+�����u<wx��rw���/��X�1Q�X��=�VB=4�:۶LS!0
42bi"��N
M!�`������x+:¶���U&
+jz�q���
5,^{��3�(��Ž
��iS-z�I>4�[M���#^�-Yœ�}���A��|J at u����30R�ŝj;Z�~^%
�|��4��W�~"6�a��rkL?�o~'�k��L��zI�l�F�%�A=�7���R�dd����TlF����r��-\������;��g���S�
�r_&
r�ڮ/6�P�
<$�'>�
��t�����p	�>5�x��ɳ ~�R8Ⱦ���!9��EZ~� #�x��~�|#ua!!s!j�@J���5m��u���q#%�\���#�jʀ��!��_?�ڍ�zs��9�JhW���T�
����k0:q)œ���c��&5�m2v�"f����pBU[NV|V6�
+T
�8"��E�
�<S�������+���F�W�h
���?Jz�-:V�m���I
�+|RL5kK���>{��/bV
����G
�X����=��t�M���;�6�>�5�
%^��et���V��6���"�Y���t�lB�'!�\�M�K�j�G��=q��Z�t��
N�%!�.���7
`����r~ypi�o.�l"M��9q���LK@�s�*�'6��
+��!A�|H4��B1mu���fɊ��j�6����W*�C��mܰ��w5AZs ��&ă��U�
���ׁ��B�-1
�9.�GA�&���q�z�@�T��
%��@һ!�|�+,j@ӧ�i��
j#�~�%6�<J�
"�� �f�[���S}��4y�Q�� m�d�����#z�� �nu��QM�L3f«��
��f�� ��w|���]�7�E�lqc*�wxȴQ�K��
�4��`_�f��Ah�K�n�
$�g.��n�G�d!
�6�
��]�
Sb���K|Ԡ�~�o1�-XFD{vv[7�H1B��/"|+~����I|)�;���3[���eԵ�{�
�����%ɇ��!>
�1p�q�m��ݠ��E�N}�n��n��W�R��]���ih�
d��˶�
�vT�r��K5e}jT��w��x8J��f��6۰�~qп,�
R���}/dy>9���
�ɢ��ln�D$���Ņ�s���,g<@��ަ|�� F��f�1K���TOE�QݤS��D��h{�
�뼙21�84\/�s
|��hASu�](��|���	MA��K�&ʼ]�\>�U��Dʧ����g
m�h�fA�>J�4&�<�KU;cy��8�՛ѕo9���P%B�E�:�q�&��{,�;�+�� �6)���4x ��\U�,��l�X �r�PT�&2�Zg��3�lN$���H����Nz�u��U0��p�٧�V�&�v�>�2r�қ;��$�q.������M��ӆ����m��]��x�xS��� [...]
��p���#D�1=0PBһ�!@�m��zV����׬ -����F�B;��f�Y�� ��:�A[�2=���las�-�Y_��h/i�A$˰Ӄ�4�)
��mU�ĞX?���i�vq~��$�u�
+�K�)z�����p�yA�8`4�[�>z�����㟩0ΒW
�+��&�M��֖_�y�̚$��������*�?�V (��V��!��⤠�b
��?�	| ��s���	�Y�(//���ttc�(;d�N���>-%$b�I�����S�uc�ϯ/a��
R��_)��_�:��)$�����I�o/�i���]{�Ȁ�����
+�A��T��+.�
���
�Y��$�1Y�躨���V��J�װ/\ML2�j�4���Z\�ϬV�9�c�  \Q}���^�>v1���f9���"8�3
Z'}d˅��*Ɠ����i$i�>�U
�����U�F\�3����1�>�	^O�
y[�$2ܐ33�)(|�ͤ8���Ȇ�s�`|��G��O����������yo�������D�s=S���7J�4��l����i�(�
�w
�Ϟ�"��
e�?����
+�d��S�k
Ҽ �N��AYh�~Ip�SD��Ǩ\j��zĒ��
&0��f�x'-�1�
w����E��p`������_\,�?T�ʍ���k����d�	ȷb�'2�Yp
� "j�94"S�%��_<7�(M��] C�(�������Zߓr��p
n���.e�0�f������������t���6X��Ҏi���7
��VG'�^��`
+�,��^���REw1�4��`fS�jo'a�����]����6��?R�j0h�
+z�A݋+4
+Yԉ~�񺦯�� �"ڠ��D]�*L��s�ww�K �?%�ꯗ��d��5�������Ώo[]��E�����2 .`��$c�>�����8�A����FIUp�h��h߉6D��:,��3AO|v
�n_7ߑ<J;һW�q��x� �q#ۦ��$f�2eT���NW�O�r�W�I� lvc������
��s�9R��F����ުS��w��r�$��pv
�	�����u/�M����@�!���'���:v_�d���7n�2
���2I,KJ��4
9
+
JQ�]Be�;���a����	��H���
sȥ���da�bUnU�E��R0���Z�����X*�#����,d��[��t�K�m�N�	���2�^b
-�(K�NH�ߞ�%X(�=�����՞�3p�0���)	 �w�؄�B�zV_[U��#e-��\q7��
+`���]��ʘ��������Q�
�� �$P�2md�oU=�͋P}�UYyy�'	Ή#�U�/-��>3�.�����n�F
��Oy��w轙�׼�)Nz%Ύ
�DCyM�]ߎ<��0˿��H���pz~L���
�TɸE� b�Q���������k������a��+�0U^��;嘥�)�wd�thⱗJg/G�_8�9b*�*��A�^����Ȇof
+��9n�0a�@�mu`
5TO����j Rhb���i�"�n�d�2)�'ea��8JS�c���-|�G�O�Zv��	��Hk�v�ߛX�`Uʔ1V�G��
e
�G?=\�HkE'���;Ae.���0��3$�
�
��!�����&��67`{R�mӹb��|UhTJ���
�-��j����y7�#cyB���c`z7�44}
�k�G�S	FA��Rp�e7ܯ
��ʒ��˼���9
+B�4
yc�g�e��m��E^�
8��.�f���
+�p��*V�
/�*d��\\��h9�G��~̌�*
 >�L�
(�,e� 9����ғя���{���jj5vC��Y������u��|rdk�
�h��
+�L��LRm,m%��UJ����=u�:g[���[�/d
=�8�z�HRv�
�6��~=Z�O̹�L�
+=�XL��j\kN!�]g������c.�/�C��F�&/O�Y�}5*��"V�T���*��	��u �',��
{�[�����h9��\/��I
�=e .�4�4��������0��@V���H�n(?��3Z[�
���z6u��5y
+ƛаٜG�X<L=}�7�m�Dwp ڗ��8��'3��'����_�)�
+��gyY�
�꾥��� =�P�%Mo8��)��a3z��Z�L}%`����M���W�Gʽ����~օ*חk
@n
V�-�Y�P'�P^�%�j��p~]�?�]<�� N�r��i�7�ϥ
����mʨ�j����n�>5	vs��U�b8�N��a�[X���=E��ы��S��B����&QK�
K4ȶJ
�ϥ���K"Yߛ����Җޣ�$?�ge�j��d��U�Fr�6i7u
+�?Fw�\鳬i?.	OS-):Hj
�U��KI�O��
�(�-���{��wBw�
�
��b
(8,�)��ړ�v�������[���t��B����l
�Zj����[=X�_7���8t��\7/��"�J�%%�D�O|iD��4k at R�u�$#�/�G��o��c����>�G䖚�(�1q���d�:�R�{�PP�>S�):�1U�(9�"0���Z��v�Q(�e�wi�g�!�6�%e�ח
���j�����J8S��
���9#��\�	ʬ�(��n{���my�*������h���(����[kX3�D��QK%:�a���)wK�H��
�ί�
���F�ߴWO��%O��4�N_�n�Z�!'k�:�U�
���8.x������Q�zB�>X��k�
��V�6�G;E��!V��͉�
Y���oA$��]?U	X�1#���
ϏX}�^�4w�
��
e��!�U�����F�d���?���*��9�iQl�k.������p�i~r&�^{6�P����
+�H�@���n��y�jp*�`uU6K6&�&_�0t�>��й݇$
	HLD/����3�����g�LjI�c1&M.�������]�[[
��?�(�%��:�|��H�<��bZ�����P��C9Ho��Jט����=~��[`�ZM
/��u�5D���Q��<��QTA}3��Lr[���I���$���7=�ń3�k���'	BE��A����g��"���T����@�����4�E'�)9��霄67��$�������6SA:��t��E�ق�K9�+j�H���IL<�@Uق����Ž�¯܇�r�.�P&!�+����*�M�M��
O��-?��
'zRc"�R��X�0Ț�I�n��K� �Q�֐�v)#��GC�����bc���w�}�i?��B>��6�Z)n�-L�i�Ri�w�)qK�$8e�; ��yG���Г����,��~9����$�q/�1��7�?��
W�Bm�>�.�x�q�1_��Ȓ�F����T��x$����
܄c��F��[�bֵ��1��Ǧ����N`d�Q*���x&�K~��QX6ҋy�=}h��8M��کis�``�)!A/�q!gg���t�BӶ>V
O���S����b#��w?���f[c4����.N�v�D���i��<R�^DJ��O@a�W�}����R�����P�����QQ��Б�B�3w�D
+�=J��,�{���;'\����y��'zH"L�F�,��,
+����E�p�%��]����%�
�~C|�vذ�Mz�:|6�O����Ϻz���m{��N�B�es���$�
N(�N1�{FW���4�� �DF��r�$�F��숿���\�q����+%�
+i��A
+
$=�-�2iA��i��S��|c^�K
Mz���b[�IPEGWJ��3rkQ�aS��F�
�\���5N+҄��e(�|��"J]��p%J�
�w|���^t���*�<�
�פ;G��K�*돁�[�pn� �o��8���
+~�-�����
X{2��uT�l%�";�<
~
��wm��?�5��_w5�����2��$��i�U.U�uI�ꙗs�$����ƒ�jǢ���\3��fO�p�Tx2:�,��t������}�=ֻ�6%�0���nHF��s��w���~_Q;my�kww����s�٤��!���a��GQuc�����D���
�����2܃
�U��G�69^�}X"�@�gR
+�z�
����")�3��e�R
���)E
$���
+.�%6����i���4R|����KY��E��Gf،,��v+ἒ�t~+�9<�a[��P.��u�\����P�y%0�4�2�8�����

h��P
%`l��1��֌�ZZ-��1""@����~?��^a:�N��E��C.���d�Ąk[��[X�Ԅ�
���V�,��M���H�K�`�0�Ѫ��e?f��o

u���e��յR�,�
i�N�PՐ<��'���U<�
�xD��O��lH$uJn�,�g����!Ȣdq�/����"7��4ۑ��rU5E�<�
+\˼�A�n���������C�V�C�N܌�yv�<�/���oU��
+-臹����k���>��V���b@���*ݞ�8�X���׹� �qJ	i&�v�15�P�MIf:dAE�O]�5�Jq��&�^
��F�A}��Df߭�,?X�5�>R =�H��*�*�˙Re���X6&�_]T��ie��J��n�z at jM㇟�K�AJ���t%�
�Y>��`I�����D4�dH
+=yyS��E��v��ǃ��;e'a3�y���\�*�a�.���U�7_��ɣ��`�C\�J����<��
hj"wʓ��X������R�@#[�
��f
�b�ं}`9g+�v�
n��[��$��:Bp����;A2��5�<�#�*q������e�)v�
+bx�Yd�$��J�ݧ�9�-��!f��BsN=Ȣ[����P���$�':�?�����0�
Y�	%��915s���}�u�|,�|�yHΉ��}�N���Y�m	9��׀P&�Ӏ���ʥ{���˖��1�[*�P� BA�{�!s�D
�kɕW�ޢ���'UNq
+�E��p
=�������3!�z4�>�^�

G���M'�
���_QY�
��bg���66že���h�2R�
[�V����Ybfv���%��G�`,��L�AА\p��ˌ|��r`���D��?4����uIk�3BJ
7ck
���S���re �U)	�`�D���ީD����e����g�{B>�ͳ�8YLx��+�Az�§���̍��\^����)�����.�p��t��n��h2t���pCsC�z;�,�	�C�g�s�I3���,�n�
ux�h�ؤ�D��B�
���Ͻ��[ւ�����&E62���ْ^���
+�R�b%h)uƴ ��%E��5�����t����_�_����&s�슀i��5[�ġ��I8�
߲�`�8%|����ݧWӴ�YqD�O����M�(�h�<��e�y�-�sѤ�f�g��r�����ʧ2h�L�^T��cr�Z�Cˌ�\��/����h`9�+M?

���}�
�N�B6���#�2o
����*;�D�,�����d�.y�4�og~�fB˾�
F
c℉�m/
�1�
E�Q?�- �B�.��~�['s&q{M�%0��oYd�
���Z��ms�3/WS���	T�ך�3ʒ�s{�Yv/���3@��A\�+y�L�;QW��J�:��:��t�S�$�Z�q�;?m��m�=fҒ��ł
+�P�м���X.��Ԫ�dq@
cz�?w����ZFc����Ӭ��Q��g�� �!�~��K6�'�$�������HNQ�V�ׅ�*j+�c7�
�#u�����"�I�M̃�D�ZEXCq���
$d�X����E�
?�k
+��%A{�@�
-f[*���	�z2�i�	��I-�g
deD:��:���<��R������M"Ʌ����A��@8�q�/��@.\�T*q��U'h���|�A��ְ��9b�	~��B�7���돰�ma��yE�����r��ɽ1�
R�,��C�b��#��
+Xe�H#������R�@6�~k]x"���}��։9�M�#M3���E,�?�q7�5h^�r�>�>.���SR�)�Lum��-�q�?���]�&j��E%�
��?�Cƛv�
��
+��u^i�:q�����K>�1
}�X3�+�� �p}��%��W�
'
�Y�j�tY�������P�<�����f�l~k[�"q���鴠�����_
+�3��C��L�B���v|f�	��&d*K��e��R|�
+��h�:(Щ��o^�ک+�8RR��G�N���_�!81�7�~�����_2
Y����w�y}�6
��}�
�݄< &
oK����{��Z�|]p��8��ࣲ��� �Zv��P��
+
+Q�O�Py��ں�p�%AEwЙ�C�`��e�	���9
+�&����Ds�R��6��"��J~��Y�h��++�X�,��A�	:������s~��@h��L�9�_1	%W�&���RyӸa��U
���I�Xf�;�s��C��EJ�]=���$&.{W�mZ�՛�!��t�lҾex���qq^k������R���,��V%��X
+t�Ĵ�Pn��v�9lamp~��:�����:q$�p *y$�� ̟�ȡ
�
�O�
t%����+ϊ�հ݁N�c_�譵Ѭ
+�%�0l��8�
t����
h���'�p�
�Ѻs�W8(�a�oFI
�:;9H�B�˿QJ4�y��qW#��3b�$w�Obt����8?�&n�����u�A\���2��
M�#m�M�3����ɵ�2��-����
�e=�`-���T-U�7ڻ=��"�]���)���_F>_��=i�#A��?-W�
i}���
<���j���e���L /�d��b�j��S����+���R}̋$�z��谚¦
Z��/Ē�L#�u� �d[��L��i��ns��Q�z
�o�\$u�!��&�\�y_ )TQ�"Ꝏ���g���)��r��)��.��Z��~s�*j�b~C�ī�X�/�Bb��o�j��O �$!=�q"��丳z�ђ�[�x��
��غ���\�pS�et]�@�-/���H��%�G��VDY��X.LBd��
��+A�
ڸ��C8Dk�Oա�/�&��4cD2䩲6
�����r�Eƴ%
�&/~@/��ڢn� [...]
+BX·�w���)�uZ��F3O3w��w���hB�.�+h�F0̀u|������$=�<�vH
�=v�!
.SUJmΊ��Ԫ>
���6��
�V?g�j�נ�Q�N����։�͓�
�x���
�D'�0y���
/�pyU?���:��d�0�pq���P�;��s�����
��zq��2�i9>M�upT��WC7���;����S
+{���s��c�CYs�KM���i�	?�T�����~�t*�ɨ�A~�m�bv\���)G�.��+Jq����(iYV�-�[��!�ۇ�
|KѼ/�&
+���D��y;{~��t߷i�ҿ0��©>��J�LF7FB�Ky`
>T�u��'��8�=*d���]=���>'�&�c:d����FԎ��D���U �� �B.N.o�)�Pڛ��9�(*�����Y�ga}�$��X����6��J����IV�� �<n%���
�D.�(|'�s���cm����4�,?}9��e?�\�)��qqP��GM��
�A�0���v��
+�qE��J�:���A�bfZk֣罩4q��WP�
w��ڳ�a	���!��ǡ^���(2[�����\�7�x
2f�'���U���9ҷϢޥ'���R
Mͺ7�_��bNV�
�
���i��FR2G<�T�Axw�ioE��+}�����.��o��}�_W4�;�xӈ.��aW��!	G�O��o�>�7�Z �4��
Yy�.�;�$ˣ�P5��l�%�7���2V��C�x��J:�Ѻ e�gZv뉐?$�'S�V���J���<��Q�`hc���߂����j
����Q�����֖
R^E���80k'S�I�PC,H� #��]+��k�E�zU�vm��c꨻7
㋧�j�֏�{o��cM�gMi�J���@
F#Yh���,�n
'O�
 z�iL��.=�O�����I�B���g�|�ը}�]T\G�{?�}�a
57ހc���Fu5�Zp��gg#v�W:Mbd�d����ҎZ�	
�rЇg���
�#��ͩ,R�!�H(eA$�H
��l�ɠ
+endstream
+endobj
+3474 0 obj <<
+/Type /FontDescriptor
+/FontName /GXYNUO+NimbusSanL-BoldCond
+/Flags 4
+/FontBBox [-139 -307 822 975]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle 0
+/StemV 114
+/XHeight 532
+/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/Y/a/b/c/colon/comma/d/e/eight/f/fi/five/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/period/q/quotedblright/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero)
+/FontFile 3473 0 R
+>> endobj
+3475 0 obj <<
+/Length1 1641
+/Length2 7390
+/Length3 0
+/Length 8232      
+/Filter /FlateDecode
+>>
+stream
+xڭveX�k�.�V�	E�;��k��!
N��E�Kqww
+�-Z�E
���C����}��ϟ����>s��3���N�L���%c�d	Qprt�r�4���p]���s'�������x���e]! 7���
�
"0�X� `  (**��
�ur�v��غ�^��spp�m������	��8X
< 0'g���#��8P��B �P ��e���`S�xP�8B\��r��A� 5(�����\�� �c��߭���d�  �
C� ^`��o��
qu���� (
`�
+rt{�7' �
s��]�����OAήN�
��#���
v�:�
�j�)�U��-��wn8�8Y?zZ9����{�yD�@PG8�
���;�%`�;�@ޏ�ɜ]��p�C
m����
+��Z� p�#�#�����O��
��
�������5@���57��1'��1�
�����(;Z;��٭ܝ��y@\�\��a,d���XA��x4��
S��g*s��D�H��?"��N�j�_^�����OjwL��8 -�㦁� �w
����]���ʁ���`���߄��� �WɿY���E-�h�
�(��_V(\��҂��m� �����x��u�<���b\@^�`z�P���o�� �V�,�Q�?��(����p����o��yp��v� �o*u'�~s=����
+���DE �@~���������:���0����
�����d�yG�����u9Z=�ܿ
�a�������c��:��~�
��2��K�Hw�%�
�3��"�:�4��V;}H�X����	�n
���=��|���t{����!r�G���ޓ�d��0��k
����h���5��B�����:f�wh4���]1�/�=���.������oI:k
�Xw//X�G�>���lQqd��d��'��'�y[��5���x��^żn'��༮��k>�[)m%-��}�ߥRe��y����	L�.��CI���R��
+�S��>�TW!g��L�<��\�ʯ�1a^�4Zpn�M`e��L���*����sg$��(�6OԒ�M���j�6�@���l٠TN�3��W/uUt��2�6>��@�2������K����Х
�OXV��s���6֢�|���
fl�
�`�&���e��d+�*�皞��4,V�t�W����aΑ/�����e�A���|���jozj&ު^��
J<~�'Y���3���녎���n������,�jTY*BGg]D�]�'h1�*��Q"3���]�H��Ŝ��)q�e�
Y\�-�2K��d
�u�F�V맫���u����H�Ϣ8���6����~� ��8)~^`J���nD��J�Z����z
�ܭM}
�4�Qe���R̚S�����ҩ]��">{������a��
߬��UGM���!��P��Pޟ�F�!3u�
�7��� YJ�H�z\
�X-YLǦ%��
���
�
t,7Gڹ�y~
JL�$�Lz����
���v�]��
A{��Y�e��=G{p�&��uٟ�\*<����&7��|�@��Z�7���R�ܟ����m��زB�o�"�|x�Ӂ'3�s��/��pf}O���`�
+�)��f�%
�طk
�W?�T�`�)v i�(��ύ1f�S9H{���t�_�E&fȽ�x��ZM;~��4��Z+}É���
�"g�Q��P5�V
dȒK�3����C�z�H(4ޝmP�J �)�jzƳ[�S���ݴȅ�&�=X��͎�Mҹp@<2Y\��\��fw	9F�e�@�X7��99E��c˱��;��-e��$mehD�-�=c�&�
Ɩ���(�ŝ!�m��o����Vs�-}��
g�
+2"�}���C1�=ςG��}�
�g��љY����X
�^�1GEN��5��!6�d�d����y�=c��^��lf�D�X��*Ztv����<�B�⽠'�5g��wS
++
)tϐ��>ao6�*
+�)<E�M��Z��Q`;jd�/��Ȋ4��N�'Gƃ4
�)[�dn�;�T;	��_v\��'ُ�
~H�z/���ޛYzdu*�<�
+P�(6�<Ύ�
���k
P�᣾��-�v��]�T1g͢#�Z
s�(v}>�1�+�q��p k:+�{�^C׼^�dV
+7������-���
H��^�Зy���Ss�g}툊�I�<5��q�4�H��
�	�7�b|9�)�-|���>I��q����W��^[;S?�/��Ψ�*"N��7-Y��VĈ�z	�]t�*E�yE�g
ѝ�f��p��Q�=��fӹ�[Ɔ�яZd $ f�����Ol/f'5�q���	��|��O�L*�E7N�y�@)���Iv v�
n�u'z
Q��%�[�?���8�5�F����zO���hH��6����݊�|����y(�[b�q���ke��ko��8�#N�
�GM��0
Ѡ?'�`�)�[�i���؊x
+�.K��C����Lz1��7�É\���B
ƒ	f8M�)-�_��T�!ƒ~ǁ.m']o
C��ѥM�ɬ%��<�@��mW� iߔ��H�o��s�=�>
�<�A���9)��ͮ�b@�Ea���LI�.r��p�� �
|����7��B��F�
+��=|���&`����R�H�M!���{
�o�[{��O�L��YkY���B�l"����6..�9&]���t'�
���Q
���)o�lł���f�M3
��J#���
����$︞���Im�)Y��gI]@R��ZԈ
IU܌�b��~b�����S���i�J8�/|�ĵ�/q��8��{�c%v���9;K� 
�&a��d:�@a$؇w�tb�Z�}���D�?�]�}�y����u/&�>
�0�b
+'��$
�٢^�m^���*�����]�:�pS[
+��H=��#��Z�������\<�fݦ���.)�\�a�5Ij����:k9gK�㱞�����&���w(�d�
�N��*��
Ql�Gҥ�H��61��?4�x�tRة �Y��%��m
����Rq�}x ���9]�bl]Ͼ��
�����c������7����Ε��A�F�7�@^�cڗ���v(9�
Zn�9��l�,Ң,B'ڣW�-W�}v��
qR��y��)�%���_�Up1љ�, ��c��l9���!�M��7���|��E튵^�D��r���eύ���L-J�_�Q8���"�)?�i̷��'��NHM9��γ
�G�a���_>�S����!z��3P
)B]-��#��3jd���.�a�4�,�x=�7�c��2u)�� �� �X,?N�=��~؎i0��\}2�	l�&��*��D>"�Vx?d�3��9��>��v�����ۖ�$��c�3;D��Qe���������v�u~�a��)T?T>��X^�D�Ω���.:L�ڔ�J&�ؽ���
��d�ۖ�S�[�����6�ma��}mI��LC�

s�~XC��ghl3$�Rf�0�䜸"I[T��.�3i��Aec��Ut�G0ZV� ��䫾c�(�+�*�X
[�g��H�A�&f��J:RN\�s�9��D�U�K�r1�Qlak�<.�9
F�AU�8F:I���12 i@��	�N!�"�G�������y+�HE�˜���3W��78׻�A	�>*8��S�,�aeJ�'�m�i����rx�
f�OG���hJ��%$'�€�7Q�w
s��/���ˣ�(��|�+�6z��3"x�
�4����$M�6\+�A�/~V�\����{���5�c�;�B] [...]
+d�WOhz��D�
*3G'�QF^���
�'���f7{�NJkh�V�~#q]�T�A�Mu�UJ��^����_
+c�'E
+k��"�
�=��Z�2��J�k�3�����錅�
�Yr��<�FVCy�^�CW1�ufq����DB�^�
m�Py��Z��	�,�K�9ؽ>��:`5(Z��L��
�Th�5�'ĀQ�`�a�&6v�ﷆ��Ė��K�}��O�(����d��K�-y�L�3(�i@�}[�V����#���o]1��u�
�* �"nz�|�O""$���<�ۉ�r^-�N-a��0��b�0y�n�gU
+��8
+�j��^��;�?@)�dV{f%1:t�xU�QbW��>���ߜ
�عʜ.{�� X�0�A����U��
+;�ʤ�+�m� �����|�"�9���Rj�R6]YuX�O�������K�
Q"����
lG�I����z�{�r���!X\-��]CÓ��}&Œ“,N"��r�-�K(�@9�ˌ�=��NT��~�EZ�
+�}�0f��>�C
?׫]�h�T�ȳh
�5�޳)~�����Ƌn^>aZ
���jͷ���E_��Q%�
+�Q���N��i"2<*�5�Z
+_���
+�#�F�|)����,�����K�
Ze��@�-���B��|�ے̍�Bo���ϱ<���W0͎
+�
Ǫ�
5eZX�M�h�x�ZFh�+S}�Gu��B͎�n�w��֛���?�ج�w+��b	
@�H*Ӥ�����n��B�F��Ǽ��"*����i&ω8G������"|�o�>�#��`�	�|��fcY����`
��L
�Q\�ϼ�b��+�)R�Z��"i�&ߙ���Y�3b
+
�

<ܽ}�{Er�N��-g����ŝ���
�T��-DО�������l	����2�A�v3���@�Օe���J�L�N���ZPl
+�01�*�����^�0$}�K�
�637�kTa{����uf�}�5q�G|"���E���^'��}xTRL�OrH,̇${����i�	����
�� 鑨�:$�6�R[�i�|(�U{�.�uJ�+S�۾@���ՠ�D�l��J��d���)U�4�!�����f�K�"�7�߱nCG5�ޗ�������a��(��JRN���g,"6H��R�ʘi��@�d�tq����}��Ԙ1��x��<=��[@21���b�X j��U
+���� 3a��3C�<Z��D�3��LM��`nƗ~��8�����Ms
Ӌ��m$ϖn��~��5�����E%��
G�V|l
J=�n?�����UP+��g�O~�O��
g)H���7�}B,V�QK��!��~]m�M)f�U�s-#���O#�e�ӗ�x�1=EǠ%��9=;+�mų�&O�sn<4�Ն7w�E�
�k]b�-���1l�(�\�1���gO�6YLo�U
3�<l];�Ƅ3ٚ.�i
6}B)��n�z�fM���M���2���H1)C�;�p�b�E�
8����>��L��	ѡ��*����e��\9���ގ���c�iv��H�A��������%�z�OW�w2�a>S�3�p��}/��8i�XoZB{z
��M�z�
'K�2��T�B'`��Sk �X+6���e�~%
��֋�r�^6�HK�L�o��
-hSya�4&#Q�a�Q��P4b��c*k�U%Mb��4�|�q�7:�#8��껬�ɝ��
`k`�
| r���7J��9�Ƃ�SH�
���mS�L`Q��"HT�\�
+���۽���KN��I�O"�	�G���!�T8k+,�/b�0AٰD
�E6�����P>��X�i�O�:$���w��� �~���5�b�;��^�Ѡ!3Գx�8^6a��=;c�v�
�9��gߗ��/݉+y�YA������c�N�I�(^���Uջ
L���
Z�
���l|]�
wT�oc�5��b;�2;��g:�L�Q����yE�_%�ہ�\��saw�e���y5U�c$,r���X���H�7���ڈf|�ⶂ��}�qӃ�����e�w��~�&�E�e��q�����s��v�n\�V����M���<�丈�y��U�[H�����C��OS�vm���?z�\��
+�kdA^'Vw�Ȋ�o׬P��-��g6�%Y�
�љ
G���߹A
��Q����*G?vqR�
f�~���β�s���u��ҧM?u���0+/�
�e��y�����/�B'��
�]=�թ|5��0}a�"[�j�yF38�#
.wY7A?
��D��&}z��8��(�C<��
KdZn2��
���]�������� ��rW���$�Ǔ��]�@tK��LW�)��J&#*�ʗ9-(X>�6�$�b:��s��π�/[�u�/�N�
+�Zx`w�#�}Ĺ�"��y]-�\$Ψ
	{�M�օ�r@)��
��,���iv!�~����,\��y[,�wY�T�H��-F�u�}�f�ϗ��LH��y��8cQ��:����9v��Suk���
+
J�H(|�\N�d 	z�E�^�:����m�T$���
�u�:��w�
�@�U��~�"7""2/^���"&��tV򃑨"��:������A�������w�k�(8���������@.�AQDz�-mT���*�!E�ď���2oU�8�<��
+}{���86T�ʆ��t�͛_V1��f�'ճ
�>���
�����{6tb��S�.�Uw	��T�$<�nv��
u`����7V�l%�[�ʣ�װ���Y�����a-vfHS ���K���J����X��N���'� �Ϡ*��N�y ��ذ�7
�U �&h^�+�dc� �.�y�|� 3|>`4��N��=OŊ7��88G�r�o(�kU��Y)
,w�0����x[�l�.���Jf�;�;�o��ަ�é��,Uk��\�s�����ϊ/S+~�/���Y�7�)�;����y/����_ߒ�
�M��(>kޤ�yH.Ǩ���ٗ�|��
���wτ�%�1���d�����Y���?u�@�7�,���*7a�
D��ϰG���#���Bz�u�|c~��F�e}1	;�����P�_e��_-�
�~8)��ni�
H1��}�I��&�#�^P磌�E�k^��%2���6w^P8\F���a�ޒ�?yX YZ{�^uh&m�q\@0���"G-DN�Ԟ[������Н�"&<9����6],=
��^�it� [...]
+�yh���$�X����~3`9��q"4
��s�ïE��;C�
�Dݢ�϶����ld

E�N���Y���ݳ8������l2-ǵ�f�'��9G �ʕ�
�,�,
��'Ÿ[��ת���ѧ9�B�
'��@	��l<@
�Ť_��<H�j�%`'ʵ15���;^���߹���X����54Ͼ��yx�I�lŤ����	��x�����t��
f��b�����,��h
+�[>�H�RO�8T�P�d<"�st��9�{�2�uL��ԉ
G5^�L�:QE�!��V@B�^���O[�k��iv!�/eJ�ҟ�-�
�r�#$���W���N>_~-d��Xa����_t�z]l�����
+�}�D�����P�l��f�,�Ks�מ
e�K�@������9�7^RB4��QQ^�,b�ʚC�
Gs`�Q��-��A�b�rY����MV_��Ş:�l�7��<=�h8�g�1w�B|�ݏ��}qN�"r.�g���
�:�d;�v$��GBy8�>}���mv����4�8�e���I at z{�6��)��c���7��Veܒ�Q��?*��
��e����[>���u[Y�H
p^��E�
+�@h)�~�Tn�	�fZ�%��
+�h�&�\~�]$^�B����E�gB{����O�DW�ܘT������)�E�cB#zz ��Z�l3��k����Ǜ��\�Rū;�r܅�'�o
+j����rEƺ���0g?
��\B��2{۰�m��C��BzE�E�'�o���W�M.�9֬�=W���h�U
��~*�
���o���+J`w���
�T,P�"�A}9WE���Tv��<%��L˹P�N��X�gD=N��:AF�����֙�N�\_W5%��5E����D��
+endstream
+endobj
+3476 0 obj <<
+/Type /FontDescriptor
+/FontName /WGKKCA+NimbusSanL-BoldCondItal
+/Flags 4
+/FontBBox [-143 -298 913 989]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle -9
+/StemV 120
+/XHeight 532
+/CharSet (/a/b/bracketleft/bracketright/c/comma/d/e/f/fi/g/h/i/l/m/n/o/p/r/s/t/u/v/w/x/y/z)
+/FontFile 3475 0 R
+>> endobj
+3477 0 obj <<
+/Length1 1166
+/Length2 6307
+/Length3 0
+/Length 7078      
+/Filter /FlateDecode
+>>
+stream
+x�uWw8�۾�	B�u��轓轷`
&�0F'Ѣ�(5��m�ޣ�ޣ%D'����w�}�>�>�Ƿ����_y׻��Ƨ�
�V0K�s�#���$P�:X��h[8�phAl\� �.#�a�����C,P����ױu�Z�<  7H$$��}����� 4�P�@������

�� qDh�:9�C!VZ�+

qX�w��U�0'O8��`���gacc��Xz�� � .PG �~���9��t����o��w������{\ �-�$���dm��8]�9
!.��F�
�da�����L
+�������nv�0wG������V�d��ĥ�uv�(��o�=��7fA �A< a �
�x�m�~���t��Ar��-
�|��`N k
{�/�r���v�p� pW����%�}���
��� K���1���
�X��W�@��
 c'�
 ���kez�V0G{Ͽ��,
  .EmCMC����(�}JnA> ���S�3
+���3㿴�K�?P

���	�;���5
 ��8�:�5��r�M �6f�{~5
+� ����	�t����Կ���X�������U���p��
@�[{
��[8@�=��
�
ԇ����'�"��

+�v����LP��P�����.�l��=�h�\��o2�������-l�qq�?�?(���?J�;�aVPG�6�ޕp��i�+
~/�t��_{k�}���;7
���j�(��r��6��)�{v�JLJe��Ή֡FaW@ŗu*��.�1`+Qj����
K%%�n',�̉ML�M!�r��RLM��y��I�.�"��Y�n���Eg���C���0�74F�[��XT�E�J
�oM�?�
+�WW��)�5��"z����Z3vɤd�W�{NR�Ll>5�%���d�
\Dš%�a��H�P+ϕm��T
j���L�͟\�x�+}���X��h��	((F��U
D��8T)S�]�c�}�B�
Ҏ�;�e��—�
+22�)\U�_��-\�
�
�4�¬ژF��6�u]��M;�/��|w��hQ^]DA�ТhR�������j�}�_�Jx���JX:G�ʜ���46=�n;�fsD����
�ɮQt��=C���D@��Ӵ̜u��bF�q��X6�&�A�A�Yoo9��ʽ�}y�,��_q����̘���3��g/3���Z�=��^Ƒ��k��"L��eҷ
+��A_�Tx�cj-��:L{9���N�Ԓ
�/32
?�I
%�,��o�T�㍀}�~cLh^���
kXD�$2�L�ԍ���\��+��ڠ�
2��k�k幃D��~����T
��NE;6�m���$�Be�e�8�����ɤ�����l�	�gv�{�J	��=�����HS��
����i+���Eݔ
�	[
�8���vm�1��,��"aox�sL>M�]�<P')��m���@�O'��G.�{zU�{	�ǽ�<���ߌ���N�
ںU[,�o���x� y�Q��q��f$��d���`���|]J,��$m���Y>��K�9k)CL�����:qL���H�(C�xG, ��ip�8��00��gV5HJ�2z~�@�k�dN]ʎ�!�H� .0ru��K��8��ح���{�Ite����rH���pz~�������H��l���1��
\����i�h<Ͼ����yu쑟��(���Ǯ�
N77��y�Ӄ��Hަ�g���"s�%.�������3���NGY�
S~o�^�q]Sx5��~�'[�=�(V�T�<8o�G�dJ

+Sw|��g +c�|����:<�h
����{/����"}M!M͜E̚/�dƈ*ב���I��r
�
��l:MՃk�O�=�������
��RO��@���:B��o7�!�
΃�\�l��ͫs�*#6���l��$3�o5�G)�%^��I<��B�j�
��ߐ���Y��ɓ=�hT��GK����R&R����s��=��N�&ޮ
�p֙�*_�X�5H��>�o
x���
jГG����P0x����*�"`'z�%������	��iH	!�]�+0�A`�D�:,A?�	��tvDb.Q�����e�/�����@�'��g�i$��	&�Z�m�l�x�R�yO�?�*���"`�
k� �7h�jT���a�]�+!�9���XCM~U%uH+%<�=ԃ},�����ԁm�	~)K��
=��uW��A:�
Ѱ�B���
g��IT
����k
�8hWC̿�E�O�Pd|b�:�I4�N�]/��
�gr~����(���b�:ά�5�a�2����$��3di�%G��ֳΔY�	�+{��ZN���*�e�^�i����Q�/�8r�ȣ3�
��)��ڶ�'�͘8����lc�z@�<�}%��S4�*#��
��ZRް|�� �\9@F���%��	!J̿���

}�ݶ�_���j”�
Î�4㈰ ��X�C�^�(�� DT�9P�
/��9��"۲��Z��b|q� Qm
��e镻qJ,7�zf�0��V��g�Yw��ZX��{�tޟa��8|<���U�氽/�D��:�n��ޛa�|��vC���N�9��@�I6�g�6�tJ�sa��nV�]�z�*�L.g85ԏHRJ�4m:�h�i�����
��Sr÷���&��a7sk�XU�
�� g���<�����t��F#Hҹ���Vb!�67�
���ճ��-��̒�,t��)��uo(Q�#�
+��a�,�œ�v�&���1�
:I����i���C
�՟?R���)�O�C-NӊD�\�4�%nc�ʂ^
Ԭ��Z>
	���
+�-����H놹�ˌ�`���u�3���
+t��s�/���t�G/���)z����WRGWߑ���!w�ŧ�z���G�na
+m���ÌNc����l�B"��lu����R��c������bR�r?a����m<�K�?�oy*�y����S�Q��q~��b��7��*��6��m*�_.=���X�T����ĉ�c��v�������Oƚ�n&χ��*����Fk���:��q <�IȎ�'�Cg(K���1�Z>%e��}Fh.pH4X�K�u��9���c�����B�0�a�Nmr���(��F^�`�j�Z���l�q�|핿$o(>��r�.@�`Ɨ���s���{o�bT�S+��1|X�EG)d��y���
��јtj�!AC���]�~��9������G
��XewM5� W6��.T�[b�ޤ�K�
s��iB���q�D�9gL�v����6\E��3p�|���v,R�|	�����G����ֵ�~J�%
�I�
+.Y%4<Q����9�H	;Vn�s\`UP�9+�����X�L?nL]g�m��I�������/I�NI_�<VƯ�Hʷ��ʬ
J�hg���(}����,��-�g�EIf��I̭O���;Z��[�5�ax�A{]];�]���S|�{�"z�A��M
�~�T�E�4����
�����`�\O��2�ѷ�(T�"%%�l�Wl����U܃�1{�1�;;Q%�8o$���j�B��W�������< 2���������:�d�l��+M�ʰ����ܱ�NcI���O�Jq���4�����0��R4Ck��9Y�G����ܹ1%>=���?�5<�!C��D�t<2��٤ӂM&�������o7鍼zt鼳%� Y
m��t=xwZ	m�O�×���>��v�P���e-*|�k�b"W�\*���컁�|�18�*�|kNٜ�V;�n�益6?�}�B�@�x��p͆ܩ�:�&����8�]A����Y�+6�U�E���8@�‘����$(��J���=bZ0ԝH��W� [...]
+F�)k��I��勭{�&�L�O�2���\ħ��+���N�pOg"��靆��𫒄�P
+�P�c�
�d�<^��1�0
HRI\��M�M�
+<�D{8�5?��/�
2
3WCu.���	��XI���?�M^�Ԭ�i��[jZG�1h�rHd��V3|�lHd4�|��b�@!h਒t"�viۺ�J%˥D�U�pP��ޟ7dN��N�9T�0��+�ʍ�m��i�]�� �5W

+�
i��|�����i�^A��=_iA(ؕ���d��dLRBUlu`�y_����w-�D*�ZL�	
�W�2@`xn�Q_㜠.�SN7
�ܻ��c�
���8C�dѧ�;l�E�7�<J�/����
h$
���8��jSJX�x�ήz1�j�nb_��Ő���׼��b-���>߲�T�
�����}���<:]��V
+T�I���$d
J;���\3w�'��j2�����<ҿ����"-���D���o��V��*��D�V�R�„hb��n�"�x��ᬅ:���`?�am�F��5R�9�m[M| �>��3�����.�����h��XZ;�I���o
0У?���
=�Yg1��k�F�
+U�_.�m��Тv�Z� 
+���\e�p��N�0z�����Z������ɺr��c��[�2�n�սF�(��
5�)�*T���yD���ڈKz����(7M���'C�յˊ���\��T�[i�`ʛ�
+��;����9�R+�s�98-��Mo'�`�
&SU�1��=6�nԄ�]L�QB�RV��/���GH@�r��3{�ص�)�B�VY�v����).� h֋/d<R��L4v����
t]Y�ƞ�� R�奄SVÊ��/zy�


t΄�3R��SlKM�WB��b�D�hm^�|��_s\�&Afm�#�4��7�P�m�i�]0w���eZ��%���u?�(��
י�xcK}]Gz���0d�V��d`VJ�Z�f�w����nġ%���7����g&�$��9��^s/��
�
"�M֕��sm4��mi�dǬ�L�;�M�
��Һr�*���ͯ���JO�I�
+��N����H����Åؕ��R����bh�������8I�u��?қ؜�U��Vv�=����糏n��VPmE������?a���
�L�����W���;_=��CzG�j�l�P��lV��Q�SC$�Qxj��?�_}[�6�o#���t|8ŏ��;��ĒQ�t]��=�O�������P�P��W�Ԥ��\��/hR�4�RL.�v-ӥ
ɀ���>5�+M�}p�D�'nM����3�|�\��>�n:q1Zׯ$�
zwϽd���XY
��LZ��'��+�:+J`��'��gƘ,���\�����}��瀝�+���f
�",�­)@\������m��icݮNU�س��F[Ycz��}L4o�4�\v6���$
^�Q:8��|�����j��Zu���4����:"W�
��%�ڟ޾�J=�e5Y��ף���!A�XrV��'�
%�IPR81�}rl�5�b�CJ
�����x$`uN�]\|��H���s�]8��F��"��l��.�Q-Mt��ya4G�:�֚�(�c�@1�g��G���
Z#�t��y'x�����~��Y�?DD��$�(���D����dv�����꒶�X��r]
��~Tn۞�8d>�W
����Ҳ�����H{"4ƾ����bF�ў�Ŝ5�
��VVܗWڙ���n�R��t�k�)��]
�����"l��x��kcHSM����I�	�:mUH3,y43�e���p�����
$��d����	��t�|��$�Bym��s��U���]��[.:�>u�[Ed�k��7!k�MT��qV���!
���Y�|Tas��=5v(o�*
+��,7&��G���*
��q[��W�Q����0Xce���g�>R�'��ԉ���l������P�F���I��7�>�~M�p�咛�����Ai=dU�H����+9�
��ݛF�ui�O�O�
sVg�ku��~y���r�
+��d��M>���M����y�.��V#<%�Ω!M+Fޚm^���<@|&���N7�Zn�ޠmV,	�	
z�{7�E�5�P��8
V
�q�Q�d�+5��k>�	'�
�
�b,
zod����
�rC����J�V�KB��a���'ɳ\�a%�_N�7J8�XSfR����3U{Et���
$�j���:l��e��zh �������.����N�q!O�AA�T��k�`��*����{�O�Qz�&�*j��𖒜R5���^;����+�C��˂�y#L��K��N��T�q.�毵�Y�}֡
��'%}�{T�6�25�m�d,x���Ik��)l	u"]�c�n��އ^B�,�
#�7��b��XBU�-.��L


�^����-T���/
+>\��m��C>xON�{f�R'�
&��b��X�<Q�E9�@RD{�}]�z���5�yr&�����̪�"r���ܦR(	�8��'{���}�n4���,���uZ;�!��[WG���Y���{h�zF^�2E0�N��ԡ<|�Fb�d���9�����f����H�A�k;м�ܒ�n����
�67�zT�j!�XZ/
;���]
e�Q>rN�
��胩�o͓N��s��s
Fϱ�:����ޛ~gn�w5ؚ��8�4舌D�Ҩ/߆�Q|V��"
Z��p����y���3\tH��}`�@�=U�}ԈO������[q���'����e�}kqC
�Y��-69�@[y�q�(1�x�"#vVB$,3q~YP�~��ꜩVPr����d�!#��)|�A�`3Zx�����r
F{�<>뫕`r�lg�2�@1���]��ג��Jy�h�@Hv8�MxG��h�C`
���
^O
+��G�P����M��r� D�
���5"�qA^k˳�ʴ)遀�����6�^�}PN��Q-:��-�ry͜#�������4�A�<Lß��Tk͇w�՟���K�ݳ��Id	����&���T�q��I�%� ��c���1?�DY��B�w�����M
4�$n�#�
$�d��b�3�H#�	ݲ�(6j"�`�)�L��?�J-�<�����l�1�qx�)���.���-����2+I/m�!W�
RF˪�Q)��uor)����yr�?�`�

+endstream
+endobj
+3478 0 obj <<
+/Type /FontDescriptor
+/FontName /ISLYQY+NimbusSanL-Regu
+/Flags 4
+/FontBBox [-174 -285 1001 953]
+/Ascent 712
+/CapHeight 712
+/Descent -213
+/ItalicAngle 0
+/StemV 85
+/XHeight 523
+/CharSet (/A/B/C/E/H/I/J/L/M/P/R/T/U/Z/a/b/c/comma/d/e/eight/f/g/h/i/l/m/n/o/one/parenleft/parenright/period/quoteright/r/s/t/two/u/v/y/zero)
+/FontFile 3477 0 R
+>> endobj
+3479 0 obj <<
+/Length1 1626
+/Length2 16076
+/Length3 0
+/Length 16928     
+/Filter /FlateDecode
+>>
+stream
+xڬ�eT���&���Ӹ���;���F�����]�;���N�����{f�Y���3���k=�W�Uw5
������P�	�����.P9Zx�i:9�:	(�� �@��z
$)W��;�	,m��� �@K ''�C@@ � ����
+��u��h�1011����������tـ�?<�NΎ@����ׁZ@ ���9 Rj�T� �r�: 9 �j� P��p Y�A�@��`��
+p�� �t[��i͍�o.	7�9��h	��:�cb8]
Ann� 7���9���
ܝ  �����? �ꭝ����鯇�_��d�Nn�n�� gw�ߪ�Ҳ���nk��Om7�_3���������?-���7�_��9�pz��S���9;�����7��+�_0<�@`��B�
pژ�Z9 ����������W����{sgg�E;���a ��
�Y�88�ִt�[�Fb�gW��N ��<����������3
A�[9�
| V at k$6U'��%��w,������@�
��-���#�?9��
�������e=

T�
�.��o
��1���2�C����
+1w9�����
��h%�
��Ӧ�n�w$`�������[	r�y��A ks�����^ltu ��y��H,
���aӶYڃ�!���& ��?����_��T$�u�����_����]���/��ъ�����I#)��
�����`��������e��?��W"���U��]A� ÿ}�s������/��?�Ȁ-���Y-ws���M�_�̖
��	�����������@�7�i}��R(�.3'˽�`tJ�p��z4ܹ�Y��8�Ω/03jO���>��eF��g����P���{?�]_:�ğ�a�s�����(�ͤ5�^���%�]^vݣ�)
M��W8ҙn.W��g� *�� 
�'g� ˌ�/��0Z �J�Ҧ�>?�
�������
3�A�2�H;�Hu�1s}h�|�}��s���p6P\�bM�j��V���f
�ab��g�_��{�wTI�
1��t|*���?]h�s�i
^&�hN̦��}�I��ou��
?~B��c�ak�U����Amӏ
}�BS��͝8�+�ɓ6[�h���*j�}
�y8��������v�
�n�L�Z�<^��{Ճ`�.023_P�P`×�f��X&t!���PR2ø~B힅 ���'ʒםA����
;D$���
+N��N����W����PB��ߐ$Ke��L����R���G�?2"��N�Γ�6�< C~��v�9����m�|�}m�XFf�eF��� �\��n5�
+VZ�ɦv�O��HNɈZ�;q����N��+in�ű=�7!�?�@q�����A
�=�}��ڗ�$��32xIL�
��A�\&��&ۉ�s���>��
�B�v�O�V�DB�5�
+�fF
.:i�p/O�������yn���(���)��%���'�w����V����]k>9�ɽ6�������X[�p�w��l�_'
���5Zo��8Y���'�h��p[��/�Ql��Y4cx1y	����vy�'�
��'2���_Vry%���16�>oQ�w�Ijm����;W�R<J	��r=Ah!�!f@:��sC>�W�r��4A���}�$�3��-��Ob1��6��`��ȰuW��8rB��_
���=�z���X'Q?ll������S���ic�e
�m�L��8�\��
pn
��9_ZN�Z����|bڻ)i6���|����K���[%i��נ2�Э>�@fXT�s
��p�)b��@���.�[ /טVåP��'hQt��D\�r[��N��S^X�2�z`��,�$�ܣ��m1�$�4?
g
4��Rddz��+���ǘ�����8N�y��g���^֩�
ix|��7ެ�'�h�guj�ʭ�!�x���P��g�V+�70.#�)���-w�N;�'�u��U%@���ˍ�%iԇ#{��
+��#����֤��MX��G�*��hѶ~�z�f۩���V�E7��z�W���ת+�%4�l����z�������5広¼����:lĿ�l��|���b��|��	N�	��;�J���>�}j��N�F�q@&V
�8�b��.�E�u�p���
+��9�z���g����
-���lP��v0=J��OX�U��n���n��F��E�\��7aH �N���tF�E��2��o�
_
_k�}V��\���	f���
�ʣۊb�>ڃ��{��q��] �ʞt�]��:�d��a�#*z� n���y�T��ĵ]�g]�
+T�i:x���R
+^
�"w2��I�'���Z
TWB�g Zݗ�˴:�<��S5b�bSiQc\�Dk�8Ɯ�oqG�ɏ�٢�����i�6qnE^��j#���ƞ�8њ�}r
+�z
���
��T�؏') �ZD���7����]�G�
|O~�O�n���^7Z���|A�%?�Ȥ�S�la���
5{SɆ{Wq��s�gw�R�F����=X�o����c@
�S����G'M2�S��x/��a��
^�î5�p�(v���Jޥ�"
3�={V��&��J�d�0]0��q
q���"�@�,98S�D\��!n6b}P]����k���z�u<.�oB�`{e
�t/���ed�|�	-�����
�-�r��[���}7��%FBѳ����jr��g���U�7e�Ap�M\M�uzz����#>�%�
�@ܮVwd�����I5�|jG7����r�vku�Ӫx
V���.:������)�ANġ���w�*��H�<U{Y���q��Y¾�
�n?���4��H��z�/��a��8{]�4�?�<J�v°s�
�F�L�s�!�"�-�O��&�l���L�g
���Yp#��Qߍ�~ơ;��(,X���p�����B{�L�
+�JQ��&EIS�)�;w�gT���
Z�Y"�&���������Z�pI�?d,-W{V�".� 4�5��
8e
A[��{�mڳ�B�ɋ+C[���nI��a��1�V܄�H�l5"�y��44U-���
z�OͶ����l�O�j�U��6/x
zuwҏU_�о+�jW���_�R�$C�˾$⭁���w��`
����h�\�w�;� �
+:'vu�c�8�oy��)�[X{�b��>���
���[z� Z���-�4�nU������wM
I鰩}̊
�e�P
j�T���"JnLY!;�q>��.A�\ω:�_.��R�V�A��un�nԴ.�f ou|z�FD&�.�$p��$�bW�M�P�
}}���T-�O߇�̠��+�i���*��	^�
�A�2t�U>F�R�q�˘������_6���U�c�_ܗ��tr�
lŷe'W�
J�Q�y�v

��+^p �T1������
ǽ�TM�	��(��/.P*)�%k>���
���^}�knu���N{��
	kl���j���|��+ۢi�)�@��g��gP�;�ʓ�/a
1Vk
�O�$�hy�ߞ^R�Z���`'�
b�����R<��}�U��� �H�Ʒk/|"��g���9�~c䘜�����
�S{魴�
�~Ɓ#�����m��f�)��s��*BfP�{��g~\&�
��wꐈ���m��T8$Ty
�@�H30��*8�̋nO
ѵlb�3L=�h�2�T�03��[�P]C�.�θ�[�r�]PK
�ݱEij;�4�v�Vtp��T��98B�r��J�̨�Nt`���ߓ%�ަ�Û��/W�>E<W"%��捹8�}���J
5�����n�L���T at m����*9���p}D��sD��8�>
�^#��^Vo�I9�@��
�p���%�ۆ�ZC
Bz������AQM���dW|Ja히���Kc����}y
痣�9�	��j���v��ͪP�OW ���[�Q�j�.&��|�����:n�JhA1��p\I��I
�N1��1��L�{�h�N5�D-#��b�?eW ���m�,��O{Zp{V����Z
�#�Fv�g�o�6(�T0�����S�cX��i��ShQ�����,�!�U?�w�0���g?
�H���9�:xJvQV8��Z��e
�eo#i��O}.�e��y��=���L�
J�I�Ի
ZE�,2�F��TR#[L&UJ�ة�+ec�cO{ڝrB����2�2�-:j���̗̃��UFk��6��<�S�3W�eO����G�uv������WTn�� }=����p��.��++
K��-c��Λc9�YF�1���l'��#]F>�KC��?��N+R:�%D�o���l(޽���^Oں$���k�fG8;ܣ^J��
+��8��G#�����$�\+�;0ޚ�����S`#�;O2$
A�œi�׊{\i����*U�3r_�ŏ��Krv��
MZ��Xn�^� � %d�%��K]��M�i�]��|՜�t�d.�Kn�r��Cb�5��7£���f
�]���+�l�vNIp�g��{:�ޠ�A1������ta�!��DA��g]���
Յ6E�Q�q��]vX�0Bϭ��s=�,u�W���w�g�XQ�ۃ���[�ARf��dKi�8 �k�
0������B�ޗ�3� 1�V�i���&�G�K�Ӵ;�-�|�>JL�mbi����3ݦ�2G0c
͊rT� y�2(S�y�
�3f�����t<No�II������N���<E\B*{�{���n�";
|���>+�7Dچzp�(�(�-�+�$N�
���̠���B�D�-"R�cQ{0�ٖgؽ��!\�̾iv�&cw#dNZS��K�g�晪�j",.�g�(�R��e>QV#a������}�u2�.:�Y۲�Z�D5:π�w֯�"(:X�Й�e���:��ZV`Q�=	��6Iq�Lg�� ���
<����s�Cz�Z��
-񜙉3H��(
��2�
+c\B�h	!~��2��t�dAq�
��k�)
�y|���
\��'�#�W���X��ߥ_���-�0�	�
L
��!mܺ��
�q�}}
+�#-d��Z�s_3���C9t_A�>������0ja?���Vl��/-�5��[y��0q|h������G�DD�G��H�	^�,�%ˏ,��_��[�3��x꣚���K�w�ԇ
u��E76��i���5��)���ͨ�۷�.v�,�2\qo�H��
}�_����g�&T.5�-�t
+��-�L�({���4c~�Ȍ�G�.��*q�J���w	�tM-�,�r�gʻ
�
|�ٗd+
��ʠR�n�(Sr�����$1	\�#�)�?+޻]�;9�r ��� =h6��3�sBd���n�3���㟋�
��P.!�

7�r
����A��
��=�֟a���u�[G���8eXIU�t���x{��.�.)]�'�u�t�

��p��z�Vv��~݌��Ud���
���
�LJ�D
2a��YL��~�����X�*�E�͕����|��!�',s�%M!%O��`���if:�!0��Nǧ��ワ��w���(a����$yN�@�����%YT��&=f�+I�lOz�<j
OÏ5�<�f�P��
+��=�q-��}�ޏ�Qe�
��Ev�SC�� �*�-}Ɵ�s�$ ��CI��#�8(�	��B
�ئ�1�>�&NmdٻƱռQHQ*�����^�=�BL�0�Nߡ�Tl�Ι���
��\�E�Cm�
+Qr��$�A뷢ߗ����يN�\y�"F�#��l�Q.	#
'��56�!�-��1WZ
ک��KY(#�h�O;��6����uA'_�<h��Y�L����g��D��<�,�+�aj��h�
�2Fp`��SEH��J'�{d&-"��j��K�g�M�VU4������9�ob�	Xx�
����0wNɅϖ(�
�Py��R��v�c -��+U&I��1�[2�G(l!�b@�u���n�ȡh&^�huM.�<������Mk����e�M�v{.�p�\N�R����i=�tqZ¥ ��(�����??��V]���k����҆��IsƾLX@
+� #ۧ�?�B�%����
�Qϼ
!���R`�[���-GOG������2p�"�=�wi���ϗϤ%7� 	r\�������
��7���;�KJ30� �p ����-?�q�ü���[��W"���C�E�W0>�t�8�j�_`��ۡTl��~dN|f�9FP���<h���we<X����[W�a��D�x���`�|3���=,س�����/��y�z��a�7��ՈVr��7D� P���`՟
+��YC�A��Bn
+ 9��n
Y�߸���
�G������v�a�/pe�D
h$�
.�Q������
�9m��w�w�����hR��
����&S��� *�n2J%��5�@v1{|���.J]j�����
�/�yƞ����=鋖_/�>�W�p�t*��rw��8�W&_X��PY4�BG~)���2�z���9(��=1�o�c�¾qz�ڑ�j�~@}#����	~q;�L���.JQ�
�j�f�*
+����8�&	+�t�
�p����\ϸ"�9�p�r[1OtO��PRr~q�-����]� '�5_�M�N궃v��B���
����!M�t3��Ff���/�
ה���R�QHZF|�!�!� ������ey*��yNX����v��4I"u2��ʑ����=�(\��<�H{�R{��ԨÉ)�e�p��
���ÝS	:���*��-�UH ;)���ȯ
�/�(.���	�eb�9.����Ml�	�K
*��}8=hKS
��牙��p4�1X�,Uxƃ�v��x��/�*�Y?R���4FvNa�tD�A�8��>�����$Ȯ�R�7�{P�Gc�i+����d�%������3p�Wؼ��z����T�-Cy��J+��� �
+����~}�1[_��;��
��9q�DԪ��KwԴ:���M��!~����b��Y�G�KҮ�3;�Wã�6�T	�K~b�Ń���J��z���;9�!�[
+~X|���y��H����I�B���z at QD�`nWJ�@��J�{���{���%ޞ��2֢6^��'u`��+��8v��|�M�_~�S-����
�sc�r��.�~/�C�����{UE}�� "�J�
'޴�G�>���� �r�����V��Y/ȳnCxrC7�%/��u�
���uʦ�;1s�����\#
�Op��_���~�‚<^g}^�{�XvC\w�F:{��4���E�
T�$��DFϰ�TW,��-�r[���qt��~Q�&<�.�B�I����s[fr
�?�� Ӭ®�N�o�
���H}}B%����~
d�

iگ��M�4�3�(�E��@䮐���+�Q�л
m/
j%�ݒ�k���HVQ%}�Ό�p���Tjj�sK���!��\�w�\@�eR�˄:��&^������-
��{�߷dbT����
[Z��"�J�}�P$A���e�Ҁu���
+�� �Y�x��uL��|ƛ����r8iF�To�

$�R��e1q�X�ʨm����'���[d�
{b��p�az�U(��(&QR�B
�|!�d���˴�LX�5�4�qU�8
����w /�2
n��
F��+��<y�7��! 6���U\��/3Re�
+Q�(6������y��T3��ވ��~J�t�W�I��+��q`����FY���-��3��H���F�-�0�b
'
^Y�rf���<$v>���F�y?
<�}L��,��,S
� B���F0�i+,Aчu��e���#�'�%�7csP��<�
b�
1Md��F�
a����
�>�E��_�V�b���I�ጇ�{t��{b�����Nk�T�xQ.��kV�m���� ̂(��V6�0�4��)lt�zL"��]�D�2�貙S�)�m �U���ݍ:�w��'�m��9�wn�Yot���m ^�>�IQ̈́��b
�
<��� �h�>Bj���?7��i�	�������X
�]H6n߱��8B�m�r*�4�ɩ����
��@U�6i������8�>822`�ps�
��c.�V���7U�&��j�v������Z�qr���TT���x���ٹ�h��h%
R6z?��<�쫠�B�0K�z�|�)�4\� |�'=�a7(�c��ͦNI���0뵆^�Gn�	�+���6�
s83d���+�!惘�FFcK��& �T��'���;N�������9�x,��ժ����@2i�v�E����\���Gy٧7�
�/yڹ4

V$������U��yq"!��J�=k}��$3�!�5m5��W�4�
S�eܡ�
p?8�b�$�}	�����Az�H��A��%�F�o�64�r
�<��1�r�>�|�z6��|�MG��+7�мKV]��J0]
L��U�F�61tq(��H�gA�hdžO\���qg�(q��a�{	�V�:9��
`���k�Eȡ
+����y�.�v�|�-���0����a�H�uI~w��@e���\%٦N������ ���] /Y
O�n/��
+F('�
X(�0B��߸6��
�&k�؁fuiY�)l����>Y���wu���/�x�W�X�>Ƹ�L��(b]�����QD2K���	!1i�Q���ROۙF���n�MR�/F�S�㛡m�
+�v�w���;�
#�j��$���7E=6�bf�
��ij6]^j[L�;Q�
fL��|?���Rnql�%
+5��e9�Ink�hZj<z�φ�/����u�u;-���|�!�*l��Av�dJ�M"]����|V�_�C:�����?��l�7F������P��(v^t�1
;���k+��T)g�/�+�j�+(F����?�"��\Y��`I$q(%��GR�Шm�
�ߟ�
��h�C��US�MJ�
+�3��r��F��5�
q[�]�9��v܄�H����q���-�d^�&�ŏ۔o�"H�n36'�+���ʓ�M�������b��De+�(Uke�P<����t���T�BԈu�N��+vb�hK�y|ԑBEE
�ƣ_�&[�0ݎ;��
f
E5q,s�9���k��G�%�
O*q��('Fĥ�
��$/L_gl�Ok��
��.��/EBx���N�=ܵ�g�ʘ��hC��X!_iQΪ�"�]ͮz��l��
̻
���*�4
��SV(qT[� �EK%g�x^�
+�s�'�j*�ߪx^"��vsx
@��)
0�����L{|��E�s���tPl)~��5��o�~�q��!;�ƔTΟ�
���|S�ݮU�
ab�(�J�Z�1�)�ƅl��L�@ƈ�c���D�%[ڪVF�~Zzf�V��M���R��iT��}D�m����K�,�t���̀�
y�,�O�Ѝ����5���g���h4�d�G`I3s�[4�c
<�D/��:�zͼ~ߟ5���,E='�L���sYM���NiIuT��{��F�Z��'��G8��ǧkC��ST�)p'��
+L�y�Ӌβž[�.�a�oW0�D�Gp�
+�&Э��h�\��f���m��x��]is�ܰuZ�F�(zF���gm�y6��V2��b�����R <�j�(l�>%3�9@&O�Q��\�ҼI]��6�pp뾌U�N�j��?����
�I��
�P at z��c%�]o�]CA��T㮮ɗ���g�s�}�t^�^�
G�lC��,�@A�ƨ
�W_�{E��؎�q��|
؁xβ\F�0����K��P���6 ���vke�� H��*����
�\�H���A�)|� )9]�#q�ϣK��#���'t��78�Wdz.�ٟ

(���L	��ud���}$�W�l���?ϻ#ձ˱	
�2��C&�yBL,�/��rR�܊Q{�WKبd*��@�B��ze􋫈0�6�C�Ԋ���A�;4q��d������0��a�h�CL60�^
KM���
���h-C`
+���f
�f�@��	���tY,F?�j6U
�T�
���-y����1�f�>��!�$����z� ��;�^ʹ�p��	Z��&�
+LJa"5��}]��
��Us�F�*?���PΜj�>.p�G����n�Ja4e�2#x֏�Qb��nh�p��i�����g��]���mB!d
��C�[x$�Mi)N�j��W3�]?&�q���t5L�1�Am��
SS�B
d!�,��(��2��U�~ш�.�TL���Х5!8�d�
:�M�4���
�P�k{&��0)�,�n�������:>
=�=���/�8��!�>4HuXa!��u��X=�W���G���
�}=��9~�
G8��'rN(�N
+�ᾘ��t�	(���q�3c��o��}H��*�%ݱ��'���
�?۳;������Z����"�dп�W_#�WF,��f~(S�앂фNd��͢\A�/����?3\��X�]��o
�5��q�ReMT��n
W[��
ϲ�=R�<����Y>u����A(o�\=��+��Hx���C'�/�Y#��? �%����&�[p:441k�
��
���cC����Ba
–:��s�m�w/���{<X+o6C�}<�Qmy�a����SF%WD�a*����~�3~���p�Y�#����������R9���q��e��s��E�<��F����
�H*뗘��p'r��Wf;0�'��h�
$�D�I:�k�
T<k|,��l~�O1P[u�E����ybz���
�V��5k��zȽ�
�R	
9qI��*Ác�q�c���m�����
&�� ��m
�J�.�si���2Ʒi�h<�����px���\J����G�|w"�z
�ߒd�a�͸yąܭ�%h�
X���c�vE�#��Š-�;
jzG��|�Z�u�>��O��M����
+������T>
��Z
�//&��T;H�>�1:6!J��$(�o�ި�k��	�x�wEL�����K�b�+_�l��5U�ڄ���N�#�a��ӎ��
��5 at W&(dK�s"����	>>�b
觠@ܠ��:B��<Ycf�
����a�8V�۲zì�8�]�=���j�Ÿ���Ҽ���N&�`
Z`��oox	m1�	pG����x뷏Trg�t@8��^$X���ѻ��\��8��ۛ8�VY�ȋī=�>��S���ٜ2�;y
�gFF�+�b1atVB��V{�Xiu�����$Q��H�D+���wj6��~6�˷�)�dZ9���W����S��M_9���P��)͟m��=���K
t&^���{LV%�͌0�P�Oo�sn�"�2���(�L�ٷJ5�~�`n{�2������h��

+����>�y�9�7E��mz���MW}G
+�_H7�)�i�#��ս׾&�ǿ;a|��W6�$]s�1Sg�!}{|ѽj��8#Z�K=��!�
i��O����
�T��<�X�߫+� ���:��]0��?������b��Rp�ᭊ��OH�E�LB�鬸H
Ӳm���A:�¬
�R�
֡^n�g��0�8�o�PS�#�RA��8�;��( ��H����D!�/��o]b�o/E���h\m)����0�2b4�ε��Ϥm��eI�j����更-O��
+y�%�2��^�Q�v�xd��Y������J-]����5�)e��5T�Έ�������N	�I����S<c�r 
�- E�yN�4�
�W)-��NpfD��m��V��\Á�S��xY��7�vn7�8�xR�O�g�5D���:hЧ�#���+C�Np
�R��
'��t����6ȼ��Y�u�rL��Dq�����5��w%(@_
+4���1
��
]�**m�B_�
�7�(�G��Y
+9���G�2w����
l���D���\�+V
|�|#d�j�SAVdqLf�͜y)i��U��'�!�\�
���y6I|u�/��ڛ+�TsRj�敌����3���ZBjA�!�y!�1�
������C�ZK%���r)���2z˘wJ������&}O�f|�=W.F
��'/m�����Y���0#d�w�џ�L0|���ԯE��0���/m��æ� ��T�;-g�w8	�b�6�|��$gnD���:�
	�=u�	�u���E��]w���NG�����ј4
ci0*��#���-������0��hI���#
��˲���
 ��|@�W��OٟDVnQ`4�M}������3��O�`�Oa
+��_-(:�|?�{,*G��F��En�C2��\�]�pz�I�����Xe����7�ZB^)
��m
��
�.-e�ed"��U�P#y
�ɒ��n�D�}��sޥH'He
��ώo�M�?#���7�u`�'ԟ��
>F
����!ʆm�0�.���$\���}����+��%񕛙����z�N�II�*AJX����b%a�?u�
{:�m����n��]|2^v�Gc�
�@<y��G
�)��	�L�K�O.�0���&|7��gm�Zu�炶0�����N��ZNΜ�k?��N�6� �P",Y(��\}WR��ш��3kB�ˆyn��)�>���
+��>�b��Q��$M �5���pEO8P�C-���$��G
1'�4�a$#4^�?�$Y�
�(6f�X����Ma��ʁ_ﻖ9>U��4s�a-
R�p(��@�瞴�4u]f2>��
�Y���9O{{��|n�R�}yS��a�,~�q�t'/]Q�b`2����v�K3:� cl_˧�{�tI	�3��jS
�xm=�v��;L� �ڜ�L�z
�d���l�;���x�Ya1
+����%�K!q4�r��T�󾗥<�W;Aݮ���t1�›��
���z��2F�����8�4�CLw��9�cP�q�l��2
<�u��h=�y�����W-�յ�e�`5�|(�Z*���l�uFT�#�
�bL�ڰ�ߏ)o��|J�x�ؖp��x�S�V7�#ǥ���'ȝPS�|����@�mo�G���"f��l���p�+�)��.���s�貒G�\��0�8ke'76G��~����`�38+d���a�Q��J*;�Bu��t����j2hLG�F�z��+���le�(h��k�g�H~��$�EAצ�8"F���"��K���;��JP����7�Y���n�ER
�O�+��,�ּ*"�]5�g}���'#6�_�O�q�e((]t)K
+/���N��5F��l:�ڮ}F5�=��HC�Bu�!����Wᩩ2+�ȏBQ^GGNH�B�C��n��[����a
pb ��r���
+��0'��:�~��
<>��u������c�}�qvP*������ �]�{��装��9��7(:U֩��X_`I���&�m��[�
��z��yh�J������!��j�\��0d�����R3N�a�A�r �z
+�ߗs�ޠ]Z�0��S�(kl�z�x3�g�C��|����j�8E�	$Ss��3Ž/M�8�}�/T�����7n��JiK����W��g�I�仺dHb+9�j�(�
i}HT�]�O�Z�W��.�����ǩl)GST���:�nwu��u�F���P����p�Г�J(��T��c
^: ��GM�+�P�IrF,���F|�_�P��I�����
KY������/�V�f��|�/yN�1���w���
��Wf7z��	][b�)�����}5W$睶��q (X�#��>�Y]�[

a�
'���B�0hz���a��vwo猏�^R�~r���M="LaQ��1���vI��nF
">Sש��炢9���0�:+S
Uhj�>��K�Ib���$G=���(���sx+�.�Pe��mvu�9�����~���Q^	���6��#�����g5T����x�8
'�QW�g��umX9�J
�Wݙ��ht-��#E�#��T��Rr�D^�[���l��W˷
n1�	-M|W�E�nGtg��1خ|��s��mp��GlAɼ��tDa{" &��mI���%oE���2r�.Cb'=�
�_~�~ʏ-
��
�,��\�3Im%�z�D��bX�
��*P$��uw2�.`�)�?��r�/Vt���8�,˰��A�5N��m^�HG�
ߘ���� �޴Т���>�}�
�Fʃ�
)=��x�R��H`��!ϙ��H�������-��75j�/>�ʆ�]�5>0�~����g�����iF��>�\��ӭ:v�
I���:B�T��!�=0�/WŠ�3 Y_�
a���_^bLD [...]
+1��ں7�

�qX�؈{7=��Qd�Q��O릃������9��ښ� CeA^st
D
bRTSU�"L�H��߃D
+��O/��_�j/�Ұ���.o�����{gK@�lU	{��L��鱤� 6 G&�`i���=��
����d(�0'!&����
d��3ܴ �:�-���Et��
+�o��n� �X����G#�B5�7���N9�D_"Xi�Hk]1�<�;����4�үi
��/?�K�m�&��`+�ч$��##�h�

��`��)4
l^"��+�0�Z��Li�G������Y�.� /i� >��|w\K��Z��g��ى�.;�'֩��=l_�
�N?(BW��`�ÿ�
؎��
S`'{G��+O���I��C��su�G���+&� ���G���M�ɈA��zF����v��:�
BZ��cHi���L�����WP�Z�v�а?i�B?�s�o�s������7���Îߋ�
+�ޥ�D�w���8�Z����ّ�?���V��qS.���R�U���=�]����6����-�T�V��9�]D���_�
�I��`YWT�̌���q�
�5I|S�R�8_o��V���P�"�&tFoن���6-��cY4��.��(�
�?�>���ʠQ"Q��6/��a/���0r��2"}�?@v7hkL�`Ub����o^��5�ۡ�a%)k 5���pDs��e���F�'���L��{fѿ
�����`�!a$
r
���ѡ�;i�T
4�|���[_B��٤���
+I���jZ��c��=�
��5�Ī���&�2���ީz��M�ׅId�C��&����*���Tqܾ��3�	��J�!��Μ�%>W��l��$�*.��
�������
H�]�_�8��t��׿�UQR�G�rh�&�0j�s�F��b%���/͊�~*
o�Y���JiZo��u��J��]�)�"};�_\R��
�kQ���::
�i0f.�����b�=�Js�!f�dq�.˚�J���Z�]Fя�+e�RW�0��<zJ߮�aN��u���T�)䊛�o�J�K*���"�Q���\?.�n
��B\f�%����0��)��QՒJ6��r�P
N'\-��4'�}��Mt��L��,�XC�#�
V
+�L^���T6���
�Tuh�4�G��5q;Z����
�m-�O����5�����o;��+`��ݭ�9nm�">"�/�Cw[1��N�̗��z��4�eG�1����`��b-Bs�����pwB�c�{���'-:/@���j/U�B6��
�KU��
+0�<�5�~L&�M��H��*
� ,�^`��`���R���o%�CDxP
+�ڞ�h&3ST��/�d6�I�4X���e
TWMh.tḅ_Ȍ��M�8Nz�QT[$K���|3�sA���$��햌F��E��ǭ���2���%�֨r�e ,����q���+�6�^�Lk΂�>	���P��SR�'��3��}0�������3�b�nH
�$��P���lW�7[�!
�&�� f�yצe����'����[_
NS��2n��?FP:"
�vo�\9fy�|�Mq�Ct�~�P����J�7	$ګ�
J-�r�6�!׶�ߎ��f$
xu�ʶ��� ��YM
Ye�MǡV.�OΟ���S�uK��0=�*�E~}I87YRϞ*�gNwˤsz@�-p�7�N��#�L�t#y�V�-�3x���v+J`���0��W�
���T�t
eԶ����!�Kr{����	ܭˬ;�-�f�߷1T��H�a�V?
�ju綦�%��6�%x+�b�'�*�4W\�}/7�!�Ï���
�
2��ä��hݓbFT�
U �1'/�K;4�����vT+�ؒ�|��ʤo�Ϩet�5CLݿ���f	.�o���oB�
�T�qO�Qriq
Bv#����
+=fII���E��%>-�&�m���_��1��+��b��}!9ʶy�8�jtc�l���x��

*Ag��~+l[����z��-k�t�1q�Q
z哺[^.C�9������yTz������~�`���;�ݑ�G*���=����������%��3�6�2%w-jD�>
�&"���)�Y�@
���A���A�tŘ
H���!�A���"Zzʝ�!*�
	dBjc_s[4]�e� g���qJ�����h��P�+��4�^e�05���o߬
�HA�K�x^�gjx���
�{�-y񹞍ɗ��Q�BKQ` T8�1 ��Z��Đ�aBĆ����"�����eB�7�s^+(����3�Gq����Ta�
����L��K��(���^n�tD�rmaX�:�x��dyԆ̿�>�j�L^Ą���>�X�JL�J������@3ѯ�Zƥ����^6
�y�4�n�t
�����:C�ȴ'+�U��o����YȐ:��ChFǵK1ë[��W?�pv��{҉B�e
-δ< 
#���a.�:%���o�+���A�rr�
�T-�@�8x�
+��x�Ɣm���0�H7���h����c(�@��� ���"�9���k�b��KǼY�����{~��D}Ń�1�=�%����
D) �
+endstream
+endobj
+3480 0 obj <<
+/Type /FontDescriptor
+/FontName /MBKJVL+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/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/a/b/c/comma/d/e/eight/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3479 0 R
+>> endobj
+3481 0 obj <<
+/Length1 1642
+/Length2 10160
+/Length3 0
+/Length 11011     
+/Filter /FlateDecode
+>>
+stream
+xڭweT��-��	w� �]��C�t�$�	������	�!���}�9�ν�gf~t���]������Z/=����5�(�ع9��j 'K7�&�I
"�®
+�)�,
/?=��+���e,`@a�
� ��� ����0��gOW��

���������/�_. K�"/�P�-����t�8;����v���6 G @������<�I^M ]_�Pw�tYT at V@0�
���
�q XA�֠�Z�r�pIB �3�
+��:�����N (�� �l]-���;�A  �����_��m ��
+y�pz�^��!P���
�dU���G�0;
�_��� �y�X������
�

+� �� ��W.K �uv��|��B��
+��
7(l��
+� �@[
WkG �B�������O���������h��^�Q:�p`p�䴂���18��E�
�������?1w�������0�aa
;z��6�j�KJ �Oe��=��$�_�E�������z�����S˹9:�Y8�
�?�
�e�X�/���kٸ9��7 ��'��	���_����
�EKA
��
��$��E
vn~��AP9��Z
���X8�\��v
�5�����ݾqq��m�r ���?  ���x����9u�U��Y��M�����D��=�����IOb������ 
 ov��R�yy� BB !>��Oֿy��uV����< F\
\\܀����u2�7Y����҂Y��_��?
�Vn��/b��^�����=�V��+�`�Ԍ4X5iN���Q�7n����:��|�JH�_�u�r���q�Ϲ��m%���o$��]��?yo|h����W�޲�r�c��֋�>�UYC2������4��B1���v|��O��ODw��k�RC܎WGP]p�!a����wh�����{��5;�^Ă�7�:�i�zQg��|�����R�c� x���L,�� [...]
Ss�(Sp�
�U��O�]�<!jG�=\���՟gl\�?]K�H�$TC~�3h�RxK�V_n<Ӥ��jO�Q%jF�?��Q���
x߼�L�q�,
+	!�Xm�a�Qr2�v�$1n���6�I�0��ޗh	�@U+,m�?bRN�A@����g�o'�em�L�7?�&� ���#��
|}z�;�k�#�$�W=���q�*��2�o�IzUK:,�������]zT�l�
V��&���J�ӷk��`ߗχd'��l��H����S�1>c� �/����g+�x��i����G��'o(�-bJ��f����
4�L�cR�0�g�E�$esj���+0���H����߿)�M���J���V}Q�o�B�ٽZHB=�ys����6<� O�y����
�3��=���<=MI��И�8�b1МP�iA����b�r;����n���i2M}�n�5=�χ"c�
�;Gq(��[�6��#[@0d
�M�*_�?��(܆x������4"f��?�ܾ
���nJ�|�-C�]|�ų)����4�</���'S�m���^1eT�&�Ӑq y����^6�+B��%�N��g�����Q'�|.:���(b�ǥl_�F��3Y� [...]
+cɾ;��گsI*p�0nX� ��9�6u�K��N� �[��
+9�����r�U
+e��g6x��4�
�ͭ����mnM|T(
[�!�e�M�˷Fn�a�v9Ǫ�^���RG��ZT���Y2z^+�%8_�ſt����\�F�
�������>�9��n��*cq��DFp�|�_���:��Nl�Ѿ�6����2�(8�t@&���`̯���j!����{��Hא�2�Ca�x
+�mv�2Ҭ�,7MM��u�/��}�Z{xF��0������MfF||��ۜ��w׍�6�
�t���O�[}���F���`\��3oDq�T�72��X��m�2�K�ޞb6"N�&��|�����,�9{{L}'-CM��`Udn��O����n�������Þ]U���宥�(gہ�G�([x�G���Z��uj-�8M�
+y�CܟzR3�n�c
�P�
i�,a�&1L�Fi�Ғ6�	��Kĵ�yR�FK2iu;%��
�nז�|R?�,(�a+W3��=š��>>q�Dcc��d"�K!zgԁ�K)K(p
o���"J���f5(�4�
S&�l���A�S�����F#f�gu>VY���Y�0���N���
u1��G��'�$��Ea_,��r��,*�!�?ÌF{���9�>�xW����
 ��i��/�p5��'���)sux4С%�&��u��M]G2�¡8G
�4C+k%-z�9�Dv
�l<s1��?���:}-vL�<�;�P�����$��[� �ù,�N��=�����w�sS�r��r�1欙���.��R�|��{"���j�q$��,sa��)>����+�4�(85�NL���<�����e�
��1��i1`Q
��O)Y��
�t���r6��d��"Ta��7��[L�M�J�p���ޖF]�� S.�OVW��4�G�]x�q(F�2Ԁ��L�"�
J�xb�$
+������Ew�P�k�-f�
+=G����C��Ko�ߡ�Z�n�%VX�񚡭
���\�+{ÊoOz�5��ֿ��4

C�3}:[�P.>��E;�5w_��	�P$f0�1�ү�1õh�!���BY�I�
S�7��~��ɚ�E��
�#-G�ח��'�|\�
��!�I��ؙT�Z� Bۋ��"I�����du[t�c�t�:���=�+B
��ޚ�`���I_eZl���#d_Ɠ������n��[�8�.Cr =��v9���;~W�0�v(�3�6_�����ԔM0�
�,��Y���W����H�F��71T,�:ߝ��ս�g�	�\@�ʶ�3uq'�|�yCw�^$�
+
�Q*sٸ*P
x;yHO��DKD�/�1
+x�j��x��e0qbe�73�|�,4��l����Y�"��l[/�U�!eRAҺ�4=��Z�����痣/mſwؾ��~����W�㼨�>�ܣ⦍����;[և %�f���-�LX�6	���ع��?�w���c.f;8__}�Ҽ!V�TR�
GB�Biv�"��C6�?�9�7�lU��L���rt*z��^�֯Pp��{0[e&X���M�,���-����TZ	�G��
0oq�n�g��F�<�nr�|N8�*���̲)۔��CY��b�ig���$[�.�
�cȬ������
+��y5C/˰�u�z3�Ou�6u;G~-����)̏I�6����D�y��Q�/
(�r���匨PD�.:dX�;wC� �K��Ւ"��a~�
Ƴ���nW��G�vY��Ը�����MX����Xˆa��V��`�
+�'
1��1�୍�e���
+i��9;}e�� #p����lhK
i܏��r�'%��,�Ԡ�%o�o�2���Í�	�
:

Dr�z\�ݞ#��R�W_&d�緇�o���������Q]O[t����|�?ِ퓰o�'K! �Z�=~H�9�b|>Q�L��jU�h}�J'KU���u�9�ql*�cU�0�
�9���-4��N�ki&5	��}`H��҃+���y�H�s���L��y���0p�ٚ-�9	DŽ����0=�H���X߉r
|�9��~�3o�ZI��q�ւ���Cs/�/Ӓ������):�E.����BQ�vzsx���;�����
�3��G�OP���M��&�t�p��3�PO���(�d������5�&Q�?�c
z����<<��=�Q(3�A��=��o�۟~�M}l}ny��iM�f����}�^�ᾨlѤML6�z�q
=1�kNZ'�^(X�gfd��p��V�:�
*�^),�\
�z�T#�V]�`K��z��js���|/y��୉���\4b��YM�3��è�Qjlaު�6ݦ[��e�
T�Sɩ:�[/{J8f��Ex~KroB����k�:n�������.v��c�
+�i���k|�q�u�W{#F*��4>�NZ1�!ț�^1XSs֍s��?EFfA9�h�����|`ۢKj%��C^�6�����m��O'B%i3�4g��i�u�tM����o[��m�
PݣzC/i�C��-��q~+ebV�2-�HWi�ig
+=$J�e��T��1�?CT�p�������ߚ�W�]X*�Eql��'���)v?�X���K�Ѳ�nr���6��/桽'.sԺ�`_fW���]oom�`�b_��'x�l*��i��΋�v%��'���nl:G,F7jY�mQ誟;�\��5g�ND1������&a?j�x�8��c �lr�n�[��,	L#���y����q��Z�&斲o-�@.A\���8
+���{����H�ǫ��^|�U��q��y��2:
���T�
+�x����Q�����l
v�g��X�
Ev&Y�����6��)�q�1R
/.��w�"��e��<��N}.�[Y�m�
�U9
k��U�f��w���}c��=$�/;p&C
>�܈�{Q���[�K{,6
�
�����4�p0VL�"b���[�e8ЪL6|��r�҂ގ2|j�خ�8P-��ު���lK�����Tk�Ѷ���ڒ�
3�xw
�>��������*`�ga]f3�r�w��]oc�o����C(���u�޶qlz��8���v�����
+���}�ݿL��p����Ƥ���a�Q���
zl��K���%bV��ѝ�6]ke���6Yh�v�����(�Ebe��[��;T�b�ze����	~�Q��w�#DZ�ݣ�wv����W`�KV��3�IR�
+$4�.8�$9oE>5lr�G�$|k�<�L�'��'�u�P��
��T��ϴBɖ#=�W
�#Ue��4��8�xp����r~u�\�����ӿ�>�n-:�>p�����˂�1���:?R�]+���n���(x��M��X
+�qF�a�i�he�6l��.��kX�U���Ek�]@��,/�;�<���b	��↡�b�wʟ>�%�}�7�=�h4�X|��L@Ā�	�S�����Q�e��#������^���ZT��a��Cy�~S���Q�$\۞sG�{�mn���tgx9 y�{K����H>"�\������L��^,l��2
��y�|�L�TV��/�TMՠ�2$��v4���4S��c>WY}M� \��c��$��nnK#����
��v��ϏT�����qcr�
c[��I;��ӕ�gb��5B�F\*Zݾ|	t0�}O5"��U�r�.D>���L�V*B*����W�-�-�Z���;1�[K�+���!��aF�H����b�m�W)�?���.'�
�
����:�~ܟ�I
��6�VAl[�G	I�
+���TSo�i���|4,g���i�I^
+�:u�fֆaC��p<\
�Q�
��J��|5��7�q\�I������p�ԋo��f]ȗ	zZ��E��p�r�%K
+;G¬�"�(��.�am4��d���@���MyE~�}
}�g��� ZebD��)�
��m
�ݚ}�|����U�N_>��8��.� �v�I:mڥh�p�f���7�
�~
v����s{�KCL����w�����L��
�q,�5n��&<Uw����xU
�K
+��0i7
~�����iQ�
�
j
+��q4<�
k��s5���I=��UXB
�����E�
+t%�O�
�z�����o�nx_߲�Í."R�[���ų�8�7C�=9�rҿ?F������x�RcC<�bXI��J����t�+l�߸:Np�Z��bJ�K�an�i�0$��Ku��Q-9�m(A�z��
��jL�a�A
�F��J`��ټ�U:%ξ��
WM�
����
+?aI���Q*I1'�@����П5<C�>�'��e���_�uK�Ԟ��q�X����
����D�YO����-�bmQ�r���-is
w��+zLn��?/��>���f�y�7�t֞'+�m�
I���FI���H�)�5��wR��
�
ًv�4�o~��(2��V�Z�7K욌
p�g�W(�^���5����N�u9�&���!z����y�.[�G�6za��<Z;�"�
��VT�P�0��.�}��Xn]VКh�g��?�I���WIͮP/�!��F�[h���,騷)�˭+��V��U��� �!���e&�N���f
�O�9��
=���sVE�b��xR�M`���I}tVbh�тn�� ���%�)*��va�g�*�k��9��'���
�k
��`>/ꀕ?����N�q�P�5+S#�+�gX?�v��K�y.��=q�7\Q�t�[rs^&o���mz�5��+.���y�&��#=�'�[7�~~nϦn�[#޷�dn�	�bDBE!Us���C���6Q�4�H=|;ن�vꏾ��N$4Ƀ���;�yx�2�]��ɻ@X3��V>n�P���Rc�;̓�:�
>�(w�\i�<-Ud���wR4:dbd:�$Y]G�q�g�P&\�'_yGLHg�?

+�
+v
+#�(��G,���;%��i�����o�@
�h���L<j���v=^f�t�p���X�8���&r;Zb�G���0�Y��QF���)Bt
��e��?�8�
+�`�Z��C���s�,00��W:X	$=L����R�-��s�-�K�|(8�Y�,ޣ�ԭ���ǒx�H�~�G�ߣ�c�0Xϴ�eҟ
�F��%�ԕ
+.
T���pBI�I�O ��*&�C}��O��=K�'�B�=�����W�f	��� �(A�Lu�Nn[��n�Pm��J3���-n�z�ֈ�_zFV> �#��k�
7��$��s"Y��q��k�������I�-�Xk�D[-L�6���*��&
:��D�G2N����H�]�07闘G���"�@uY�Ƥ��Z����؂��&�v��T�q��G���_�,6�#Y{C���쎔��?���H�Q��yn��K��V�/lF+3
\r|��W�i
+-����J
��#l��|�>
1��e2�<X��F�O�ɘ������X#��+'kRx��'3*�hq�|�˩�{�a�61�1Wofn�����4�zGCL��sYޡ��]ۓm������
w-�1��y9���y7�>��?ԅQ���*��
��W�Q7���lG�3����o$t_ǵ%r^�|˫V��8�]'a��27���jFK��;�*8�04��hS��
+!;
"Ҭ1���"����W:������U��#��|;n�(Z
���ܢ���x��F��� �I�Έx�(#%u�l�0Q���
�
���F���f?���8��-����|7��
r橯��>,p���K~IHro�
+��%���A��8��#Q�9�YK��2�>��*�95��k�_����\��ɪwk�]�In��Wq2�
�����P�Z����7�o��9n^�У(u����*E��BU0j�>�%;������ub~O�x�2��Y��j�WT��?k��/�,�������x?���R���ao;�Oї���9�X�^E��2ʻ�qۘ����0?�uE��[�9�!BY���*��&^��?vP�3 ���T�ߞ�;u�
��d{�p�
+@���Ҙ�d	�&	'�n��S�{ނ��&�<�����N볋H�R�l_��Q]؍=.K��~F `,��e4�~;��n�zy�iRҡJ�
�C�(uc��4&�Z���1��-jd�#R�l
Oϓ�o���P4�1Eue���4d2���̜�5j���Rx��u����X8�J�zFSF ���-싖�ʹ�T-*�mjÂ��XQ�������E?�
C�ͧ�Q��1�72R�
�>��E��k��G���R�Z�G�ԯף�q�����t�
<�����9�LY�
a�������jP<3�ھd�'�쮈� �?9�@I�_��D�*,yk7V��2�7q�b6��H�W~)�k����L��y؄z
.

����\���nǏ
��y9(_M��Kz�4~Vh���"GC�@�'+���T�
�ΑmBoP����f1�mM�F��X_�3�O[l�P	�_o䖈�/.KlL�P��$����o��.Q�=`�����~�Ũ�����.��sFlgZ�w;&��]>�)�
S�	2i���j���675L����
|H8}f[r�UI\��62���t_fP�TПpb�ߴ�NYA��]�6�����'��bL|�*
��>wDp>
+5z&F:{��B�O�ɧ�1(�~T����{�p�w+��4w���^�
���'��?��e`�fʈ�V�
�L}���mpOE�[a!"g�c`����yZ٬�eD�l��'��!�E�BJ!d����yO�
+��T��6A1,M
+�;�{1
��[m�Ⱦ� SvCRh��
J���
�*�0�{�o�ζ�-�&�
,�F
\
��o�_;xN�;c���GM�Xz�u���L/k�@ﲧ�yBa�̒=�hq������간<���3q��E�g��1��~k��ld9�
r��D[
+v���0
e�r����=rV������.p".c�ϥ��*'r��ہ��s	�a���M�V���nih_1��U�����6����}��Z�ߞ���)�~\X��s'׬�S�G�K�Kx��ߩQ"�Ķ������9�x.˧J�3U��A7����
�T�u
+8���y'�>
$�9-�xNi�]�:[�q>8�l6��Yj��v+C�Oj��AD�S���C�4�0��~�}�k΃e������7:"�M�0)�E�
j����
�5nV�H+ga��4�
���
L@��>�[㎯o���!A�VZ�h���Q#��m���O�iy�^����f��R��wՈ��ӆ��N4y�U��5��⽃����]��
+�~�
B��0\*��(��?�;^�Rm�+-?V�B�����[�?d�M�+�����Ax��������:?G>S��p�Wr)^�i�F�!���%1\*K�eF?�:�tc�s at n�8yu���p^�Mm
o��*;��/�Q�Sy70U���	
�p!��
+�Ȇ�S{{ H�	�@�v�E�YF����;J�a��Hrdj[�h
���)��&.SƩ6݉n?X�E
����tʅ�n�kmРY�l��jsS�5��������<����	O�G�V���%6^�
���؉��1U9}�tSĻ
J;�5ن�'j���

�y.��L��l;�]��n�p"��y�%�G��	n�c?�'�2ϗAd���#�o�������c���+�{�j��u�m>E!���g
h�$�O60��6�|%^b�ۣ��aM3ؑ��
+���%!%.�T���s�v���������]/bp����Sm���!&"ɕ��
+·�j�Ф��0cɼ����0
��U�4�K�y�Zt4�V��L��[����� ��cF�
�[R�e��4�
�	y�0�?S}[�|��
2Ќ�}��HGp����T�aS+��ô��X��Ce#F>��A�[��`��E�d#�Zi��:v�M7vt�9U�A�߫�hpg Ĭ(Vuq��V)���Ձ�(3��!]�@cP�'��wD�Nj�?�?��z��
�n]BQ��h��E�%��J"39�B
R݉
��g"��
h���>��s�1r�qY�9i���}oL,�B��Y)iF�aݷw
�2��TT^�n���-L?'6\v�&�z�>�8�`	�B�)�x�FH#G|�
W|�'�0��3��OyG�G2Q�͸�����t�h�$�# |h�[r��q}��������q��xJc=�CI�[���B�D-�+6�t����[���Vƀ�m�;waЙ��JG�
��W�
+X�e	�B#5��[��-���}ӅAk��R�Ѽlى�����܋uV��%p�ǧ7x
+
ehh'3��m*ɳݲ�7$�"���EB���-�Z,_�T�E�����|0v��:��d��,��]�C��׎p[�Y2��0ߎ�D�����/�B�0R^�n�wv�.�M��U�0�c"6�	�U68�wD�ǹA�0;����O���]�i�ʪ6ĉ�ռ�
N#��
$�
��W���j��-��x�Ͱ�eO{���Ud��G�Q 8��hC�$3�^tF�5�l��$��aoB�4{e�X�����L��>vC4]���	F�8�K8��;�Y
�}R��^`'�qj�
�;�"�5c�<�\
�_�?)G]�[���
%`�
��g�XC�88�Osll�Q��������7*O�MUt�m
+��I�����N���ș�[v
���^��n?�xNJ���/M4�F��	+Cp�f�֤�y)S
��~B�͔sa�_�������H�~k�
M"w(A{u�`�_���z�!�z̀0Z0�j̮a��Maf~q��۱9&��?R�]�-
5@�@_���W/?\6�5���,>}���3�.�ء�_Qv��b4��C�m�<kP�K*�n
G���-���;j���S��[b�%b�ah2�E�9�V�{_� zч
���C��	M��t�j�e��-��[���5�5`1�9C�g�A�)�N�Q-�s�C�}���i)�6�
+1��o�V�M�sI4�e<�
��P[%c˭w�e��Z惢Z��
���L�b����P�B���@��5�k�N4N^���"�5��
a�lF2=^�C�u�fs��F�6&L�Q�[cq��u�.�u�h�j�Rp��ej�-���^8U�%�y��u%&�x�
�r��U�Z
O
��W at +T�=���o�-�?��J
+endstream
+endobj
+3482 0 obj <<
+/Type /FontDescriptor
+/FontName /UTIMSX+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/eight/four/n/one/six/three/two/underscore/y)
+/FontFile 3481 0 R
+>> endobj
+3483 0 obj <<
+/Length1 1630
+/Length2 19992
+/Length3 0
+/Length 20838     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ctfm�&Wl�۶mT�<���m۶m۶mW�S�����c��?���cM]׼'��2����!@��Ɖ�����P�����Q��ZΖS�V	`�L�W�
+MF&� 0p2��1pp��	E F�LL������d�¶v��fN��J���4���Dž���?,#
�Mm��qX��Yl��B�_* �Nf Bs+ �������8!���*�8��``E��lhenD(cn�qP��:Z�[ 4��16��5G��X�����v #�a 7#��?&B;�������BsGBS��3p�%4�1�r6����z�d�`������/�����������߬
+"b�������܎�̈́�&=�m���i�_��0�N�6��N 7�r��
�
����
f�`��2�
�mL��B��������/�_���}�/���Y��+��_^��s'G��	
4#�ߜFNs���@���+�6&���
��;������Q��3��00���r'4�@���:�MIH��2���
����B�������������
+-�le%g`�w�}c�
¿w�P��Cce����1�6�r�?E�Wou����?�I:�
����_j���4w3w+�;��X��ٿ�6� +s�_n�5VBZF��bS137������ 6�����t��~z-	5IE5��́�����EpRq��[���F���
+��	ٺz�2�q�2q0�}
�db���I�/ ���e
�
���훁�_����?%��#jcdk���(;��ݶ����l�����
��]����� � F�k˶F܁�iN�9Ó"��{A���JT
+�}�m{|RCw9+�?j������ܗ��>���F{ѭ�{��y��I(��~v�S�����]�Gz�,��i�1�
�M**�@�Mw0;@����%q��E%}���6J��A�DlB�-8���p��|pldx�����:;��� �;�(��]����
�ͅݱr)�E�)A���}ٙ��)z�1���[��A`�0F��:$&��0���`\xFEJ��sY�b�m����+�2c�3�
�1bY<���u�
I�B at bp1C+8�XB��1MQS-�w�����L�>B��w�<qO�(J���7>$o7P�J�@]օ�0�9(m�k��=����E0�E��7�2�h�}
l��Ft��)����5���M�]H5���d�oX!H[֍\��9d^I�-=���SEY����gN���� ��5%���J�����r�Y��.>�
k�i~E�j�V�d�
%g��'r�e>߰���t�W�K
�
v
��_�
�E�~ң7e�:��ր�'��Њ��eR��.j
c���#�1��C�
D�$��u3��.�'�����K�RlnN�A��g�so�g0��\��]C���
D�Fr�Y���Q5�z20��_�b�N�[�������L��-@�L=�[ڋ��Jܘ�Bc�G��H&K�����/�T/ȭ�Q
���-���)_�YH����QQ�A�P���<��
�X	S/0{_Q �8Wn�����9^�6��U��ņ�Q���
�e/R��>fÔ�ς��R�� ��{o�/OԆ�
+
xLN'�L&H���H�8�~�,g5XkQ��R~!�7UWJ�����f����̘�tS�gja���f[�?`K䓹V��|�ʯ�d�Oo���1r%�G�_w(Q(��z��v��A����F5:�p��G�8|1u��O��2��8*L�i�J����߶�S	UL���l�����o1o��MxS��8���h����e�AA��,pif��W#�gkY�Y�R��
�	g�ꌇ

�`
qs0B
�
�e3�MU
N�^�Q��j�A�<���Ol��r[3��Х��:���Ш�L�E|	�FNp���H'�	�Lf�㿼p�"NTB�s{�F���R�auD��ϦZ�=C��K^܉wm�
��
��K����)
SN�)�
�!���'l�
�x�
�s.���X�=
V��*��R�����.����'�{r�
�ew
+�%�\ߝ�ٟ}��;�2ټ.o�.�6X>�,�������}��s��f%c�u��Zk
B�����_�ԩ-���R�"@���0R
.���f
ḇ1�Z=f�0�����b6}��~e�o�WM�;�q%����`�`��¥-�ƙ�Ѕ�؏q����!��{��a�g� ��X���~�Ј5�n�s��k��Sˆ�G�ּ8�2�
+{��j��b���n�c�8�-��Ϩdp}��Aӄ;����OԪ=�T��E\N���Ϥ	bg��{�j����{1 �F�Wh�j
�v7p��
+i߳Y��*����1«

��zRh"��c�]>��KՅ*��7b���’&0���7c���qw�to��)�.KZc�hNI2@�.��Sg���y��ĩA
+�E��ih�(����)��Cן|���Co���	�W|u=*��ƾVrq���.�_�\
DME�
ۄ~f�rX�'ox��=4�LS�򛐂N��+ݨ�o�
+	���)�1F��9b��
���������݇��!�ӣ⺴#���NPêl���y���x7��ވ���������LI�4XXI�&��}!�tQ^ڪU
i0a$%oS9�X�����-v���`������Ƅ�!���Sq�I5>�
e��ѥ�,ڟ��Rw�].aD���Y��ƸS���-xd�@ǩ���Ö���ګ~2��s3��
��b����KO�j%u}��Qnr �BK8X2��- Ý����ד�ic�͑(��-5l��P�2i�
ا'�B���kC>��4<J
@���O��U��ZHqUS*4@™d�U�|�3�[e�ٔ�a�1��)�l�_j�
��� ����I_��$��"�`��麙b�^ӈ7�]m
+I�/tK2�׋q���/ߴXe�ݺƏ��i�ED�j�jrƳLt	���_
W
�����&h�*��
K�:��aB��qF�z4Lf��S��kM�*-�!I�/�
5x�p�?(,��}q�D�T�����
�/LY��Ci�l�p
����
����D��~c���$�;֡�+�}�
+c�*4�R{�)M#0���k����y
ļ�Q��u-��eh؋��C6�3��}P߉�#�|�m4d�6\�h�S=�݃`X���c%c�ˇ
ȠX[�����w�N����r��H��KE�+ò�"���*�;�U��o���j��l�YF-��}9��
�`G���
T�je-	��R��MK��!n�2�c�
�
Q[Z�Ů&:��k�z�FS����e~��v#�$`�,"~Ė��[J����g&�yA�8��6���Q:��Z\v��V,���� �%�:l�F�A��[��:q���S/j�M�i�_����
y�֭�P�O��l�
6��IZ?�P��O
�P��f�
+�?�JioϿ�W�Ic�~�l���վ2��C�xT/�j'�$���
�u-4�:1A�{Ls�[��?�3���~�	�A���{���R����
+=���� �ʰ�l��az�UA���jC��ђ�<''�1
5��0��"vS�ʣ�Xu���$t!��OJ�
+h��z�t��P3
@o�F��n.�i����4]
}������N'�^>���;o�:�����3��9�%1��rV*Y�O���+$��, ����P
��]�����rrO*
�z��'��r{���fɸ;�"�l��I��&�zhcn.��j�M�b�!f�<�Cn�sr�gB�
ҽ�/ĺ�U�F��F�� ����r�
7(wkN�g�̽x�\�)�o ����P
9Iر�dR�f:��
/nP���I��\����!� ��w�Ww�s��L�;衲C��Ȫ� �C�֚�f�^���9�=d)�zu���דC<FZH�e��
^�um�����A�I��
��t:b~�i^ߏKK�7[+2�Q'����ـ����$#7+��[�Br	@�{ˠ�w�%�����7[�IF/s�
Q��"����aE�b�U]��=�������G\��+�o�
lb��H��$��"3��2�m :��� gA�|WHf���\F�Ÿy(��/?F�9�l h7	 ���Q����%�n��
Ҧΐlg_<�P�nb�R��ؒ�w98�qX)�"9�L����e�H�'�h�8lh3�O���D����GB�����a�/�Мs���L�HυA��ry������PLʮqf��D#�H��=1{��
�l?�Ϛ L�s�?�_2~�r�h��8w��$���m{�+?n=�,:�'�zߚ�ؗ�˲X�^�����H|�
:� u|�6f��6�s}����]U�O�7 [...]
��Y�m
�XkT\¢�[� ����u�ʚ��k-�h����a�{a�I�L�&B�8��L��W�,H_�ɹ���˩w�>�=�1"�}<,�'��s�����m8�(zQ�f������PS�5�2ȇ�8�妳�O�28@����
K*��~�k�bL[�5�a7ݬl�E0ڣ��M��hv:*��4r恙�-.\�R��(9�)�D��V��g�� �w9O}����/ȕp��AN��J�����"�^�@�:�&r��
YO
�#"�$f ���>nR x��0�_{����?�\U2��	��pF��AL�=~~�8������FՐ�Z�g��G'�Xo:;HA���L�[�z���ƱO�&�����s�L�Uۯ��#Qy��<���ߤ��/�j����r2��umTb�Hź⊔��A��
OS�w����	��eiI5<//�y2������9���]`�	��n31$%��'V/�f�NW�E<�.�^�]��Hɇ��Яxr�pVKw��ڋ�4,$�<���CǤH��O
%�~�����b�S_���
U�u$-���"��`;g�aѪ��y �fUyf�,Wy�k|U�#�
+�.��2�U�=��q���#rn��UQ!v♟��
I��|B�N��$�{��D{c5��3��F�L �qC\\���b��TDWU7�E�F�O�Q�T�-�,�mͷ�����+�~-�˲��b�ME�9N5B��u�+�~I��N�r)+�b]�,#��q��	��
�i���֎����'6
O��y���q�������dd����|ޠ�����F�A��Q_"/�Yސ�I�.?�k����7]��Z�_5�j'/'O

Q��pn�j�Z:���2�m�T���
+���u�o�5��H
4�i�qu,.p7h��U��ՂR���6�QJ��BI�&��^�O�X��;��=Qkr���ׄ�0[kV&�4S�y��S��J���8ِ:�q�-��U/n71O�]ƨ��{+�DH�`tK��0"�)0q�y�9
�y��PB継�k�
@�T�M/

���oS{�]���}
L�
עc	�[K{R
+V���-�g��)��O�оr9ԂY��gyW�� )�?��A�)�,�1`6�29o�V
+�x�v��z�m�H�P�h<SxD��}���n�pk���
#з��V�J=P��ő�{����,]�I#�Q����j�K,p[����cD�=*j�{a�̡X͊�m����
է���Q��KN�ɢMA��_o
O
��8 /N��V�͵
V�*�:�3�yy��Y5�����vΌ��^&����}'4
���ݖ���b�D�-�O��}j�
�>ݪ0�
���J��k��o�|�v��,���N�z)���YR=1�����6��s��q��&��T�9�
렍����^����Α?��Ε�b|QQF��0�G����-z痼�;
+�A��@����Z������K�:pd��]��o��gl�&�L
+���w�
�Hcs�ڥR�$�?���B���#�kq6��~
ICm��@3��$�-�N��R��ק^��e7y嘄�*1` ��)Ž��B����XX�N�U����r���VigY�Rn����~OE\i�oBJ��*m�:"vD�8:Z���&�������'A���^�w���Z��[��f��V$����
'�_
+���5�I^� �h��uݽ��C���dpͰ+^�,0��oe�������͎�E�6��1�����������)�V�ƫ�<�]l�av�8����k�5ZWik
)
C<��"���-���R����zA�#�M�"
�E}�u3�Z2 �ʍ֌ZWգu�L��y��
+�<}��KD�05vN��Ն\��7����D���s�R�Ky��>G�;\��
=s���!�-�R�s^፮T���Tʘ�)A>��G��2#^�-���[��o��U�j�-���4X�?O8 at G�[�27U��	��/�z��-І��Fnr
���{�~�~��H\�kP�sg��
@kԋs17�*�\_٧�
+<ěn�_~Ԝ,=;4}[��	�
�-H^�f�Pk2�Ԇ��%,K���jXp��=v���ɦwۘ�3�Mt����w
��s[�
+�3^�}�ŝfF���=$o*����=��+�Z�����k�~��E>�7�O��}�^x�M�RŜI���3K��2�Wk,>B�6��*����?��N���&H^�5��Z�zi�mbW�Pfan����͒b�hnL���


b�������
��5T��c>*)ۆ����)c�V7י������;-���D)(��]L��pH���e�a��$��,c�<��m�j�XQ ��$@	�4)oy�2����$�t�V(��(�E
я���@;L���I8��=@�8䐜�`_�OP�%�"0IL
t���VKUA
+j5�
�eXnF�&7@�,�L6ǯFe���W��%�}pLʕH��'h�
+�`X����&�K���gh1D���e"������42�s,۝P�w�['��mQ�:;{S"H�b����
P��\����
$=^�5�J��B���|��
+���
蚚�i�đ���`e��Әʿu77ٲ�/4<{g
���K����M1��Q3^��3��`�
�b�yr��Q��nӦ���~?�

h�;P޺ꝟ�+��>��"e:�y�",EӢ��~�����Ͽ��ƙX5�V�0��C�d%'O��A������^d���"���:�a}�x��`��aC��z)G������[�4�̠�T4��" �67뀡B��N֡Y����xd
�����-}O��
�"�Q
̂��+Wn�i�	. �t
[�>[��&�0�@Ɂ��3pb�]Y	�^q�L�u^z�a~J-$Sz3�B��zB���d�R�}E��#}AY�Pey�R!��s�,�E��X^�*ߢ�u����d
+�b����d/-Z�Z�ר�qK��Ģ�~�aah �P>7р/��n�]~�@�'e�_Tj�ܸJB�{��²�b�I8�:��0�PR�Ƈ�X�Z�)Eg�%�p�R!mi&,�`���
B�[���~�I
�$� ��ƛyЃh��k�����bM1���Ĭ�U��٠d&������i�s@�[�ĕu����{�\��c�t������}'�Sa}؊���k����3Vc���
�ա���̋��22�K��2 u�� 
�!2A�9�w[����|
6"�v��,�I�%7!`3¨%l��V�G���'fr��aZ�j�����=�5�i�H�9�ߛ����}֭<5�iY�k��ܹG���<w��>1D�B��7b���T2��������Q��I
�C옯oP'q���zd��z<e������R
����f�����
�NIŕ;O ��cޓJ�q�0ytBp�C̴-�~GH5�H�+��w��ʶ���i(z���|_�R���݋<@���a�F_ш����#��w������0���]��|/ ESJ^'j��L����Vp?�B/�����ҍ������0Hi."��$�<W��׫�؝Z�6$�)��{|&�P��|+�Ad�S�#.�R�K��U~�t�
�s��&�@�1�ɯ
��2̯ �7/��
�y���'�(4��x��x� 7��ŜHXO�ֱQ�o�g���B��K=y
Y
+6W7
+��뢐��.��,^T�,��%�bH��ð�'a�@
s/Gˤ��\B1'�C�#���I+�
+��i�[Al
�������A2� �5ϕ�}U:��tY�|�
+��!�^�X����M��'K���p����d��
�kR�]^3~����O�s�?���ō�z,c��tK�
�-0�s;�7�
W�V
��	�GM}Y���
�CK��0����Ou}�ڝn�^e�c-}X#%�Ɛv��h��Q�q B�r"�\ca�����wDVt�Q{� �T�G˔R��S��d^�2$@�g:��HOvmoΥ� �z��%�y�
�D#�G�D!o}
cO5��?Ob~�v.XBc��!TM3���]��(�'_�/h����aE#(��,M5"n��E<t���m|�v��kO���
��8�}
p���O;�ا�U�%
���ɳ���vm`����>�AMa������Z[�����
+|�m&`���ڸŢ��sZ�ȯ���
�<����**5�g�h��F c�k��2�T�aѫ#��|�J�ۋ����'F���o�}�C�[�����n�O�r�+	`~z�_��m�X
C�l_]q�zC�B���P�=nw���&�����oH��S��tT92.a�����0A
�R��O�ޮ���r$�(��gQ��=�6��/�
���g���7X_��"���y\p̛��:��
զ�ͣ4{!��`U��L����U����HЍ��d�Y����=�9	*)|��Y/6ȶ�;q�.�Q�~2�%T5�=�Z�t�E	D�B��Y6!���P�w�=v�;��oGdp�s2��<;����
��k�Ӣ����VQ
0m��[�Y���|�}]K쒑���+�X=	�c
�>vD�nIF��!�\46���D^T�����"�v���O�SO�#���!�y��SS�z_�<�h'Q�.{�n�J_��۵]yƋ�b<�������ɍ�O"i�!��t��������?�/�΃�S�l;4+�F�5�����ܩ]�cpUGr�&_'���$m?uӽ�f�~�Xk��Cq����\���yJ�0H�k�b�
��
 8�&�-����d[��$̢���ap�(F3�8!��}‰���%T��h�� �Znې��4���~9[�����/
��-��<�4�	m��EA�#-s��4tj��y=�U,.Z�;~y�{M�e=&n�M��H�2ֈk�/8w�Nz0��Ui���An�,
�cx�Z����Qĸk$�=���<����sP
!��•ä�0��c�s��ĺ����0!f��r�Z��M^���(�<#���!@^C�%����H5���}L����z|�̟��$6 [...]
+���oB�<�XX�t=¬t���F�w��Lc��f�g����!T߈�`��I�p���h�L��2�E
�16�xξji�
~%|��G�X�6t��qĉ���S
6�(��2s~��ۏaNvY�H��F�Q	]lxj�,.��
43gav
+"�`J����wMPF����	�,
+P�1a���{@d�|j8�P�T�
�>��3�|ǏNt
8v=C;;����i,�h�V���"<����մ�4iT
+)����)6燋�/�ۑ���@�څ�GP�)�Z������������4��_@^�ֳ��\]ȉH+{Q&Uo
��4�@r�^
�&����6��c����1�/f'���o��/ O���V�]U�s�E��oK��
��v�k86 ��F9
N7--RHޣ��5�I7�qV)	6}���m������	��9�Y���
��&niY=�yTC��~B*L�Zd<_�<��S�چ�Y,�>�k 5P�f�w
0:[�̄�����E�ln̦�>w,�b"�S|���#
WP���a�
(�e�m1uK�X�,޳��3+Q��U} ���z9��4QQ�w� �J�j�q�nj����6�M+��_|m2{h��J��w���Fb�x���a;^a�A�?sF5<�di�D�87����x�-�P=�s^ 6��Q>���R��5�/6�ez�܎A�@#k�*b��zd�I��"|V	V�W��.�!	�GL��%�8�b `1͆��b
+L��w� )�d�v�4�1/�%�V���OP��VP7�3�c����0q7z��o*
П�f
+v�K_�F6��=,>��Xͭ�r����V��>��|h�@��[�I~p���+�Ʀ�i����qE�;�����E��PD��T���9a�!��kA��ٕ*�1�6�/#3�nF�x�>�1I!��:,���
8�vS�]K���h��>���Y����2v�Ϻ�)#$���8������'��6(o!���o�����7��������B,�	%6 �
ʦ@�Wn~��M�q���UW��7��
n�7]��V ��UO�=�w�^p�yf�x���wX�}w!�lľk��E>��ɛ�g��������8��te��u��M�ޜ�`�1�Q#J/:�}�rʬ�!��p#��ґe
+����c���蟟D�lj�jp:���k��ݬB=���9O9]�E��4R�*D�Az��?�=�:��{�#䘤?�C��9����`n_���m����r�[�֠&Lۥ�^4iB,f$����i
yh
^m�u�i^ߓ~��B��V�
+�pX��0
m>� ��N���]e�2�hƜ �.�v��3��ӫA���ɱH���"���L�v�;M{���b]A+��Yԥ��ہv;���6��Uꛑ�O�$d�&�
�/�d9T3�������ʟ
���գ����l���ls�-�d�/H�&�`��Z�r�m]�lꎿ�\�����AջΑ��5����{����3~������'%��?�}�eh��C��5VC��ڔ���YP�����?�~n�F��������GңU�׭;�d�����B?Z�pU~�Y��f�������B�
3��gG	E�m��
Ć�\rT,¥F Ǭ�R�?�E�c��0��b�v
B����P�ǻ���^���K��<5U����4������.`���������e�K�&-BG=��%ݯ�<��~s
�Jؓd�!�
����_�[;��
�p�:MpQ6
+�
�3��7C͓��u��
<r*Ņۂ?�\
�������C6�
�!�4�/
�'�Ms�`(���{�q<���;���\C
oϜƪ�>N�ϊ�uOM�
ESyU���i��4�-<G�|j�_�z#B�c��<1�I@�V2�a	�b �D"�#�K�-�x鰐�d�x�(
+���쵼�3�n�Y���_j�&����Ҏ��|���4�AVW��������L��DSi�sW��>ܻw6�]�F#�M��9��9)ߡ��׏�0�Ԗ�
۹:X�]HL(��
!ַ�N^��,j(�5	K��%��6)X_��no�[�qCkh�V2)��P���!^�q�N�D���|��%/+�U���.�mK��0��_C�E�h���?��ܞ�e�K
�b��æ%iC�S$�L���w�9u<&��L�?I�',��(`K�Jg�=����׏C�.˄G����Z�:���̰����}
éq��c/���6�����0��
����%�N�m��[ ��,���ԑ>-��犛�@���F�����!�>�gv'# ���*
I�a7 K��N�н�Wn�W@;������vc
��g�$��("
Ps����� +�b(�
��k�N+,�jyi7D�t4"=_Z��Wo �֍
X�'�}���f?ds��ρ��߬Ւ��>+v�˩	[Y�m�γ?�iڅ�8ɗFJ	�
���ˈ�DU)T--���c���Ä֐ҋ� ^\
�	���׉_
|��j<�p
k�����<������#�$z҆j$�[}p��yA� 
U�h�����:k��?

l"V>^�D�
�
O�[�Mݸ����(o�d�T-���>ug'��
M�u€�O��ЎY�G�Θ�r� ׶h���2p�[�1��/��F{~E�3�]�ȝ�qFzC�������}a� [...]
e��"2���#s�����[��"
{0�������cj�+I,
D44�ixG�+@(�X���Hˮ��P�'�4X��}h��T(�����6sR�Y��bNu��}a���
����`#�~\�[�֯/!=}��F�T�4��Ѭ)'��
���wP��#Lj��B��"p>P�+��}3z��AL:���j
#�K
�0����O��
+���7#>���
y��a�>����G��[W�
+�a�Q��^�\�cv�à'`|������J�|�,4�^O�P�D�Q���1!�NΊW.MI}!�8%�7"�}�l�!)���
+8����:�
�*����4Tg]��K-7��Ǧܺ�g.8|���G�&t
��;6��ez��F1��_�f��m�`.A�8D?b;��,��'}�<�4u4�a���S=^��(�1������&����������eLx��c�=6���S�.t��u�uC�2
$�B/�ߋ.
A$Q�����z,�5�0
�K���\\�
\X�ܙ���r��
�S��tuy��]J?�q�n��⨒

��F��obz����M�4�Ze�#if7��M�Q9K�
O���^�53�`���yts�M�AA�9
+��,�‘P:v���q$[�:R�&N�h�]S��Q������~k���9U��3S[H}qwrʂ��Jn��d>z�
m��K
EA��y��j�cl�y>���q���,�c�7�3�s�Ү��ؐ�m�Eg�DW�h�#�"�,��@i�<�ϴ
��G9\k}J<����������ǙI�
%i-[��Fv�
����g�������R����{-�(f��^*�@���*�3�uSl��s�$J(���F<y�&,�6���`k-2�7=�,��0�r(C�	�
J���ayn=f��������8f�
����=�q��
+;��o�����%e
/+
3�F+݇�d�B��Z
�^r�ƈ�5�Γ|RC7�cs>�Y���}��
@���ԱXL=�
z�����/ 
b�*Q`n1m��Iݎ���3�\~BL���{�C1BFIF
J���,�I at W9��>����ΟR�N
g�f�I�
<�Q®͝�?�y%p��%���#�i���a�7�c�N*�ʆ�
+r�����e����`�9r��t�
���q�mj��r�Fd܂U�:��~=���2[2f�_�LG�
��RN��d��/s����ջ�Д��Tp�wy��l����7�եp�ГMn܆�e<�f{�s	���ϟ�\>˨���|�7�6
�%�^��CY:�gfz��P<�=v���i��8Ds�\��s��"c&k㟼�K�YJw}txiJ�eg�^�̞)�v��q�J�4
G�tR�9��4�٢S�8(W����<)â�Br,򨕜QO )�.2;>3��ূ�!.-e�����~�YY

�^c���뽌��^�JO %�\��hA;��~�"Y����U���mt�@
+{�R���
�0���e�����C+�]7�y;����U�[�2���Mb`�+Lv��E4˚�0��T-.�o`�va٭��[|���I��!ye����t�(�j�p���������9)�|�D��*u~y1(��ry�
S?%�r�i�ZID��h�U�)7
���^�q����\v{�Ȥ��r2��U�Z��s"�	�
���~����
+���k[�
�
��
�_V
��6<;�J#�Z��F,0��VOGMaU�`7���M��(˯:2i#����>��z��`��
�;��.�* �t{
ڔ��c)YfC��c�	��e�s���,[�S"�^�PD�\�0.I�������?�2�ƒ�{�سa�
��d���<��a-�s� � �D�	|� ���=���iŋ�^��3~l��[���
�"��5Ι�)�nM�Ǡ�\�W;�4+Z�U����
�el�����o
(23\��/��j 
+a%� Pʆ�Ϙ��_���3�:�x��Зj_
+A]�q.�oQ�o
�DTG�'��;�t#-
�m�A��f��@
�{��Do ~�� �= �aA1$'��;�V_��QA��}�@H�&4���h��hI&m];�;����}F�hy|�*+���P�T��@����@����n
�šm��4Ni�$-|�9/�s�Z_{��"fP5 z��
��s�JNd"�E�u�Z��	�Ty�W�0��
�$��d� B��.v�k��YukI�����^�>����`V�WMϠ
�*,[���o���P�
cg�n�h
�2�'	Z�yU�	K���t��N,��pa
+*f����G]Kr�74�w!�_X�U'�G���K�Ͱ��Q�s���
���^���3@Г-A�:�pR0�r�\������'[,h�"�H�)66�Y3�`}p��ᣊ��X��ݠ��d�ji�����"�&��� ��
�T`%�{`����3�G
���)���
+��k��
+��
�b���^��%�
ޓ_Xsr
�F����
��Yu�nj�����K�6���"���C���nݟ��@��
-�
�ڮ
:���qkl�������
n¬lY���
l!� `w�o,��ݣ+Z��B��0X�3@�,�PcxV��4E'4j���3�K��^v�5��UL��CLN����$���`Eܣ������0 ��pWLlg7��=�P4iZw� NPQ�z
��Ԫ[5�7���֚
�����P�I�a��	�bn-
M6�Y�M���kQ'�_\k'd.�A��u�w�tl�/.��|���!<���Gԃv��~$�wY���ˉ�Ӗ?�ҕ��??zګi$4�dZ����݂%<��d���`��3�vļ������h��������y��?�.$W^��ˆ{Ч�V��ͩ��n��3�t��� @��:]��Y9�K���sլ��V���'���B�7�<��HA�*�
�<��
Ke����60N�K=�����MU�ȕ�����kT&n�ٝ�N
�4Qdԧ
���P��� �A%����5�(�]��k#� ��Puh]Lw��¼^۞���#��QSY��	��<�+� [...]
+Q2�
+`����CO(y���c>:�DN�I�lfM<�-�<8�-�+.ޯ�h��|6Ʉ9t1���g��1�ayĮ� R��Er�i#qGM��q� M�41�z�Q�U&�P�XvWA�rV��������!|<�*%F��8}2�;����)�	ډ�@��z�C�iԃO}�"j�[5�׳����:��/�R!
+��L���bS�
�!�����X�GP����f0s�4��{M�^S���	�#��͖2g5�^Z*6���c<�~���{�QPm�c��cnů�&�#�?ԍ�<�B�g�ߥ�p;V|!8q���ǹ-���
+ㅤ���"u��u4L��"�q�k���D�]B�[�
�l��A�
6��G�F�9�ÓC�
+J�7�W�?�Kt���ĚL��1SNū���Fn~A>S�b��
�q��J]
B�/lk�+&��d΍�8��)���IE�4>��suB�d����4
��M�`)���9�� `��J
+����Þ����|�}1�iS�Yl>��]� "��i��;|��a�5�۬���J�gT�	A:�i'r gw�_C�a
ְ
�l� a��n�w ,J�U)������ZR��!�;� N��~s���5��H��%}��y��/
+)HЉ�����M�����S�+���"�	���,�x.OL�����*ү �v
b0T�t�n'a
+��KJH��|%,��eaХ$���׶m�$�j��]�����%�����z�x���/nr�Y�ܺ�#knS�ty���{.���Kwp��и��F���&(�
�R��+t��P|-c3sg^�����c�+��u��hS����7�
��$���x?X��=f�XP�3X�=�4"!��!����ŭ{��-�(VOO�^�r��1~X��4V�5�֑���ET�D����m�L���EG?C���
+
{�r�k
U�`�j�-�"�.�l��ڤܑ6�Gx<yڬ��V�I>z\)�V2%�[Q�d]px���
+���u+|"�!a׶�YL�m�~
��%�T`&Y�Z�5Q�م�%�^�B.L�����I	���������a�3�	��ݟ�	^�`K����
��z�#Ce
��
`��
"};DJr�-?9M�Q�:ց�
��=�?��;u=9fzT濩==���~���",�'
W�eL�9���i��ɻ�5��?��/��nN��ma9��M��4���
=�PI����$��ELy�
�c����:�9�B$"q�!X
����h�I�TL[	DM}���ω1H��&���'_
+X#�	�^���k���8�L����a}龘C*�f��sjI����~=3��+�U�=@�>�4��W~���InY	0�I��*�:�w�A6��~��ֶ
=8��蹵zM�ke���.B��d�{�lo��8������2��7A�=���TP�s\��{��X��I����{#������em�W�}nW3�����ff�l(	�����L&�;M
`�1]s�pRC���D����m|�U�б�W~r^����3���5P�Ve�P�t!�-(2�[2��13�}��iBo�V��	Jv4F Ee�
{�l��U�R&�X�!R
�B5#�GUP��+L�|��s5����?_����zE$m!��H*�7롮gƩ�Œ��,�hT2R�
��4oB��H�ak�?��=p
+3�����
�wɱ
��O��M����������IÇ��΃J�tE���㮗˖�ao�rf��Ϗ#ۻ
+F��������ն^腲�

+�8zUR4�$ɇ-^qm�*�K�@4q���M1L�t_:
+�^W�~����ɏ?眯�$���ߠ�h:
�O��ޜE���W#�'5\k/�������
�Sg��Ë~�_�q��b��V�K
+ƢӅzC 
��B���p&�
L��
�c�/�5	W�3f�xs[L
\��\0n��u�:!d��8
zi8̢��9�^�H!�s�z U�r2��}�q�k�F*��>�&�B�L��Hۀ�=�_CQ6��m����eTcP�.�x�M�"}d��6��#�D�k,���K\�����ݕܵ
º?Yb at w�*ݥ
ȘLe
��K7��ryM��\^�j���&v/c��(�L���;
��A-Ia�\�v���Jw�X����#�~G��К`M|7�^�w(��QR8�63�6Hq��B���F�8֞��]70��΁Z~����zH��:=�U����U�r��D��uC8w[�#[>Qwy�f,0c�
�^`"�g���_��dX��
�J�Դ%실Y
�U����(�EE�۵m?�a���
�#K1NᎹ�Y�8c��Jc����jW��l,ma"�\� bDl.�y
���s�D�ϻM�tea�͛��j'W���hOd�B#��>��|�J+��Y?�y�<�t��4�*�S���1�D�
�ON�t���S%�7Y��I��C��T��񔛠])mV3j�X�r-��F�R!���)"�K�S����m���GQ�z�[�$�	�n|:����*�
�s�-
+�
+���
�}g7$︦��kF<F��e���+H�[6d�/�%�
+Ή���
���^<�&�G}"��81��L2�]�
+3�+DU�gz���8���r�j4�l������bA�E2�o�ո�ǎ��o3�݉�
��
;�Dԙ�ƭE���qȭ��p�/R�q�%���ubf_({pdy�����hb-�fF��3��<ͣO#��+��<��
�<em8g�]p��s�����Q,���o������'��
�)���
+��K���Z�4VT���B�N	ם�lm���\��H(�%�.*R�����κn
��*[T%��H􉶡���@-�9�V�yL�o���kh��pm��
k��A��1+?ϖ�'��ΝY(^�oϕ�i/A��/h
�o��n�U
+��@���\h�1lnڐ�T�d2��1i����;?/�n�I� c(�ZZ-H����H?+z5��å���&ۇ����#�Ӛռ~k����3��,s���e��}o�
����;��AX�b>��|'��b�͇{_��v�.�kϙ9ů��g�,
"
K����Z�/򵔱��d
c� ��b�tJ��k��vꪌmb�&���'_�n�`
�$0DFtñJ�Y�6ˎ���>�}`���G����@uI�˃r
-P4��~���
+U���7!@b�<Z�-��?�#�Zx U��K'~`EA���J���Bu��z?�
�2�<fKS�U���"d����:<�,��0ۘ
!G'1����>�V�5M&Z�~*�\�N��U,�ږ�����l�o�t�^�.��~̘�2�iW]�4P-d� �C4=�5�S���7�u�^7\�R�3S�M
DZ%��H�j��mG��Z^z�֤#�ڎ''������B�!���Q�K)�M��p�L&�V��MA�`������z�Sdӌ�2�6��9��;�	[ä�@�E���"w�F
&-�+�:Oi~y�R��3�~)�3l
J�^��x
�,K]����R3"*����Db�v+9��?2�pă#�7�$y�J�Z���`g
�E��ߩ22#&.`v��_eT�v`J-��]|�p@��r������m��Ţof�
�n?%A書զ�|Ƒ
0=����^k��nPG+��q9�_���9�?LD�����O1��qw�A��Za����
+ʴV��`���!ky�[�0��k\=�(�]Ζ�0k���8��Ӣ���
xP���9�%�&0$3,O&�ߠ���bd2�߄��|�k�o)�1��@�w\��/��kୀ����o Ҿ��u�N�W.�����i�oE�HO�nk>c0�Y�u�2���Ď�����,��U/�a�4jO}���d�8ܠ8d�2c��Ϧ�_
)�+�U
���C�M��'V�H����l��+�c3_)|0|a9}�zᦤ��
Pj�/Ma
 �����
B�?1k�Wb�|�Q�Q����W��ɺ��2w�
;]a�|����7Ϗ�*;�st&�
����
�γ�%<`
���ΨVy����P��J���Jr���d��v�ޤ_�h.C��ܣ0
6tGG�9Ǡ-쟸W��$y5a�c+e��C�B�s��	��ҍ�ՀQ�f��X�.�c�*�RF��N�^Xk���;

6�Ig����U�e���ځ�&g�R��l�Fl��'��z�+�O�f��
]�
+�x�4�~��
Ȧ����J9[w�g��ljc�Y��Wǐ��l
�asa9�
+���SM��T<"ꗵ�
 O�
�4P�j���cAH�C'p�/��0.��β,��+e�\(<��M:�Aub�>HwA%\���g<l�q墂v�Mݰ��^�8�ɐ�W�i��6�@���Ba|
�p�5��a�&N�kFu*��}P����Ws��}382���$�A��b�������^�;֜�6�d���B�
^]a�D��N�[����]7
bMvv��]$k���
O��>m��c_X2T����=�-u�LP.����h�8]�%I at m^
��p�~�(oE��e����*�O�H�|���\
��,X�މ�MǛ�����V‚x���y���f��j��Rү�0�.k��g����_��Tf~�<����:ow�ʑ��8��4��JO��x �O:�2��K�
��P�A���q�g<� !pь��N$�
�!#�Z�>������mpH22�K�*��7B��0�����=m �*��/"���;;/�@-v	�rV�j���xA�����rs��<\e��G��ܒ~#Y'
+����

�g؍/]�!��V

k��ه�Dv�'�<N�3���g��l���E���r��!��I�U�	��k�Rx�N����PġF|�Un�w�`��ؘ�*a��~%�7�f��⯙Od
���5�o�,b�=7F���`�:��=�
��z&*Iïhu�����&
�l
��j4X�:*`����oh�;0���s�z
�1hn��u
#�T�		�d'[o�q�J�����˓77!�b�i>ed���+r
+����T��yt��Yρ_A����*0U��h����v�����5Z�
����>v��?�侷r<�}:[x1Ȁ|ҍR(�_�::EB�
%�y��o�P��t��Y���
ga+�
�R
�XOp����z
l��1I�=�b�B���C�xUN
��S}2���P:=��*��d�x
���#�0��.Q��U#(6�E�����b�Q��7`��x{baIV��@I�x�3�עL�,j�IGVB� A���ڍ
J���66����@d	bg_=�y�>uUB���� �x�Q3���0<g�b������"2;��pH5���v�Qy�N�-�M�D2[s�P����i)?��b8���4O�O�]���,-��2x#r��S�(@�
)Q���R�J�
+endstream
+endobj
+3484 0 obj <<
+/Type /FontDescriptor
+/FontName /ZHVIQV+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/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/at/b/braceleft/braceright/bracketleft/bracketright/bullet/c/colon/comma/copyright/d/e/eight/emdash/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/numbersign/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3483 0 R
+>> endobj
+3485 0 obj <<
+/Length1 1647
+/Length2 15562
+/Length3 0
+/Length 16423     
+/Filter /FlateDecode
+>>
+stream
+xڭ�cx�_�&
�v*�m۶S�m���
�6;��v:N:�x��<s��u�w�̜UW�u�u������_������)P���������hmo���h���#Ϡ
+�t�q3���8�((�\�&n֎�&n@^��
 4��Xxxx�( b�N�.֖Vn j
U-::�����`���_OWkK ��
@;G'{���_��kG5 �fXX�bJ�:2�R j)E
����ewS;k3�����H�pt��{0st0���4Wƿ\"� ��������
��Dp��[����
�vX��8��=7G�������?	��[8�+!'ǿ;��bɔ
]�\�\��� �*�K�;O7+�b�Z���w�;���Sҿ��4Q7kW����X�@����������ɜ\���������f@pZ����]]������t��N��V��������
����`��
+��`�ca����olKk8��E������o����`
@�
�?=C�7	sG;o�9��I���oH ���ʌ�}"�7H��"����o��W���K��z��+�������������
4&��� �g�ؙ� �8�f�W{k;����ݭ�w������!�`�W!F���]%������nfV 
����/���9�����W���_'f����[Y��:��ǿ!�����n���IBTBMI���0m��Y�oW��{;�3������Z�C%*���e`��0�r1����#+���O����Z�����
�����������\�	3G��H�����o��/�?�����_��5
�V��] �
h���h�f����ր]06-�74�>�Tެ^�=�α?03j�����>��e����{����H��x| ˎ�?
x]D�OF3�
u�����8�ɰ
1�B+��fI~B��Y�xZEհ�
�p�����&���{��R�YFS"fJ
ZC��e��'���c��w��G�t���|&�i�$�ܼ�]
��>!_=���=}ѳ>�ɂ
H3
�}^X�����Cg�E3\�׭Z�}n�
��� ����\~��
d	f�oQ���
��	�v�d5�{=��
����$��ٲ/e�~�j�h�[��InP�n���=�����
+��H)�[u�
+��'�o�l.u��J����}b��t�����0l�vah>��g�O�.��ujL�獛ߙ˪m��~��7YqĮb��/���Ԁ���czngi��.nz�*�ӋS���9^�	v���O+����p|��[W���
�O��h�{���,{g�>�4�n��n�]
]P����"0�U��M��VA
0
�\#]��+Lj-
��k��d߅���I���"�!�
�
���,�IF�"�_Ko��c?Q 
>&��"��:c�뫗I��w�^�*�'��Ӱ[$�LWo�n���d�� h�zy�������UFI� �_�h�
+��<x`K��UJ#3�7�h�jk�:ڱ)����My33�
+�Bܱ��%wvH�T��E�t���-
b�^ĭ�x
+���ߗx`�
�{�xx+�a뉬��ݦ�����}�r޵��Ǫ��X
\`��f�ķ-�]��"gC)g����E�P�B��V-_
cj@�&V$�W��y.����(��G?��z�����a��XG5Z_쯲
d�(�:DB�H��׫CYw�i�
���z�3<��?�j]�DŽ1�O�ͅv�f@�fI(�h�`
�ġ�?n��
N:��
+�V�����rm�8�AIs�e��4rc���	�f*�M/�+e�h�c_�!il��!�وJ��*!o�
�J<L��dGk�3��?z� ��x��6�}�nh��	�$�
?-�&89WU�O?V
��%lx�� ��0�	��7�y�(�k>�>’Ɖ$�̘>q�� ��-�&��m2A#��YCbY�������s�L?��T�dh���C��ᔈS
5(p���0/f���)6��-��g�PS�uk ?(z��R�,��5��S�%n?���/H���^��qZ�_=#�켆>P�ji[L)�iǗDž	��Y2��
��ؚT�τ������>.���
+��kǻ�#�Щ+�S��-x��QGiߦ�h�o���)��Ag����9�F����l
}a�Ir��Rz	\ͯrlL
Y���oKn��8���U`��ZH�q��>_��<l��/�*~��M��|�z�	�C.|`o*�eR���Gg�מBA��ѸX>�s'�3�L
��WL�-�rf/�)��{�u���uh��ͪ
����L
y��Yh���Fΰqa��s�2��*���y�)[	��1�W�2�����-����3zg��H�ls(9��_���@��/����$��.�����b\{��Q��  m'�H"�
K�+=)�E
�k?(�ݤáȞ��T��P����g��G�/���<�&
+��u�Y���{@�c����g������q�k�F;n���UBȍ�c�C ����a���ny�� �J��
+�K@[�q&����XI#��߄mG}Z� ����Vz��;u@���m��P���HeC�I�&�S0zE1sH
�`��\��lhE��P������3�*�kĈɔ���&?S9��$c;��a3O^P�-4V��)�s��
"�lH;�+�k9�

լ\��l⚷�W at U;��)�s�*��ig$�+R&�����B�+c�/0�>���F�e�O�lJ׭��>��Q}o1�e�h�:Q@�_�Y��k�?Ƅ쾹h:b���
��
+�F�	�Hsؖ�x�I���:'a�|�BM-<HN��0gc���qG�݈*��T�._�"�G
OKL�S �_៥�9lpYR�/��~I�D��e�Ǣ�|Li"��	�NtQ�d:�O�7����L�< et4��M*�۵/��
��^ n�
�c�xd�]�
�\�Qxec�
�A�<�ܢ�J�!!HbtP�DA��LAU"���,����/�C�3��i��|����.���
�nw�k��4����T�y��/�w�U����
,V>�R�������n�
�����}����j����ɛgx�5n�� �+!�8���ڢ,L/=�n�`%���u������;ۮj_�x]t<t����K�# ��G��K�j�����
+��
`FA��+�
=����^h���$4�ZP4�\�5��T�aՐ
+�����������f��"�$�q�ܜ��q� y�v���i��j޸>-�O�L��~* n�N���`�ūY%�%��?*�>����H
9�u���
���=7BK�,�E�����|G�"�}|gs,,�Q�9pWպE�J�.�M�e�:F=��p
�lE��gq*�=j�8p�Sk��SQ,Ŋ�I�׫#?�I=G���$�Ҍ�ø�
+��[ׄ_t��~���:���ȍ�o���~��Z��`ύ��	���y?� ��
i�5YjH������[@�k����J�K�K ����
��,�X/��Ӎ�n��Ѡ[,���3�Ia���{��V�0�6s��z�z4B)^��SP���3�a�[J���>�W�Ŭ��G���4Z'�Lh��(o�R_
�=ƿ+_(K�
�A߈M��V^��6�Y~��}�~{����ud�/���ulϫ��D�`''�d��׺�܁c����{���HyѤm�ؕ^Ab���X �A����;XC}\(x��������3
� �+W��˹�σ�f����#��FCxV��P���W�{�]l�5.���
+�_�����,�OO&wq��]4��b�L3�)0
3����{�)�X��.F_"N��`B׋k��(A)�!��)֧��ס�R"�U��,M]�N7�Z�q���σǦ���̧�$x,��Hï>f��-}h����E�����-&9"Dm��(�p��<�÷���Zl����v�:�}�a��Z�<�	�1f�YDk" ���K95�py��(hEh��"}&􀏞�|5��ǩ�@Vx ���q���%���:�}��'L��\�y�B �_S1Ь��f���|��K�)$%S�#�s�����YZ
I���?%�
��㮓4�&D�Q�4���^}�c�N>`��9�XÖ�%�������k�ii�oD-�
+z�80��|��ϑ��'�[\�w
R˗��%�j:���)
<�?�.G����G��Q'��(K�

������l�S[v�O��g�f{�����,�MS�]��r��w6��`�X �E��
M�i$C}q��`��f��w
�K��b���

��R��B��]����!�=W�]�v��4��[��8���x�~�H�Q�7D7���63�2�ߕm�7B��[E�'[*v?��Ǝ���5^��M���^:�U�$���e�w��
�Zw;֌��!����@o��Rl�|��&��.9��B��\���V��wxq�Zq�(�8�sc�n;
3ݤGW�Ѧsɢw�z���S����LG�+�|wd�?+�@
�H9X�
�"̒v.1��Q�Hh��.%��9Y6���xa�o�^���uM��X�4�FTʢ<;/M�T�,?����LA$�\��ظ��;�E�H���D#�8}ޚA�	(od���I�0e�W�]��Z?��
S^ٗ�_nOx�c�

+
�
+<Y	eԻp
=�Ѱ�w�+����>�+Dr�y��K�1ǂm�'�eKEiJۖy�*�Gk�!˘�oSH"�)kP�l �F�KtC������q
�`��-�&"|8R�;
�D�����׭V��ڂf�F	hk��
��Tŧ��W�K�ᦙ�0��9ؔ����;
�?Lym��μ�rO��^u�н룃�R���k�b����Aw��L�`�^�E�r	��Z��;�B�â�}������7u���Urv�R�Ip�mlw[C��o�y��d�O��׻<��I��#6
]�Xr�s�Ȧ<�0u���1t�
R�#�,
�
}��V7R�r�j��G�UBR-0�y��3Nf|�6M�|~M����c�����Dzn&�!N��Ƥe�B:����S}<�txEyO�*���J&�@	g�Z�>�J�a����OjO|ND��d��E%�
��B
�HV������
+�3�6�
�E at Ey��mn<�FZ�t�3^Ұx%?M��n
FjFf̕�p�
+tk�9�*�������a1�ɣ7��b�J�����a$WP>E>�Y�͆�?����܌`\ǔ7ĞK��E��`�hcj�)@�j�8sףyƴ���15�
(�4N���別-�r��$J�
�kC���e�'��������oUR��!#ں��p���E0���4!`'(�&a���	9����̶�)"I ��>�
��g�L�:�Uq-@�:Ņ��y��!f����qG�kS3�H��w���p�vH+����2lx
�ȼ�V�
+��Ɲht��ǓO�
��m��2�P�vA�`
lXx?1
Ɩ�����
���N^�,�64V��ך[P�*2'�Td���a��CM�4d�ګ�)j�.�7��g
+�j
v��
{����-�}� 3�������E�6�!6��\�U��D�wߝnb�5	������T��yu��_
#iM�Ց�<��
I���
��LP�$����N�Khj�
��I�Im��)�����Wi<h8ʶ��#��D��A
`~[�f�e�%�y�8@?vE���QF��&+
+���5�
��9�� �X�=�=̳���7J�?������\-�`�)K/$���`]�˭m��� Ew�k__yc�Ӟ8��I=�zjd������v���
+��Y���Sh����CH��1�Kk�Bcn�p�=붴�=1կa����>h+0
+]Y_Z
����H??��V;����}g!�m2�I޸��c�=�-�
R���?���|L8�G�c9�",Z�/Bps�8zD�P�Fn�g!����!��=`�%*.���&�e
+�=�@j�%|cԔDz
+�=0�� `�(C��6�&/�ޟפ��*ފ_��QL����#�}��G�&$¥bM���}�ᄉ<A�LZ�N3*G���zB�J
����� ���h#ʶ��n��
sC<}wDL�q���:�G���
^��_:S�:g����.�Icѽ۝r+���`�n��G��#��Úp�q菍#g�
�
�Vr9��g�{5�7�v�}�����
+���Y�
��1�/:�Y���̤��FtHi�6����
vɱ
���~9/C�Ҙᝠ�!9�ٻ�[�Nߓ����E�>0>�_YV��h
��L�����
+$����0���bn�V���r��������

�24GN�9�(c
Au?4o�E��w�~�<#��U‹{������
�v��~��u�,��(��
���v�����
�$Pq��V��G�Ӹ�"�8ܶ�{#�(���Pn�
R$������c4�X�M����xƮ��D�J�g�}K��:#��UF�(�8�|�}]
�J�雓"/T�CC#{$�7�Ӆ�ň�Q`�z��i�>�
Ծc�� �lN�E����c�Ź�[��1gi%?<|b�Hl�e�X�� 
�B_�!�jw�-ùQ��,N�K-�VqO_	XEU�8DB�ý��C���N5
+��zT��i\JS�Fc�Š%���tqh	�mz�i�
���=�����(�\���D��/	5�
c�Sq�/��0o����
fⲛ���ϣrT
��?,
ǫ쏓�}M�
��r�8���L�,�^;��fT���h�~Z"���]����|!�J���Ȇ���f���t�Y���9a��Eqgp�r]���w��Ш�
�T�j�Zk)`����$N�
��_ob��F���ٸ%�y���nW�������«�T��AG�0��?�8ű>\K��;�(޻�g
mT���>����#
z���{L�'�v��
J���#�\��T�ʇΦy���-�jk[
P�	H"8_�(������C޶wR�Gs& ��f�0"22�T��Ȫq��V$T���lk��n�i�����&�X�X���y�����
�q ��ڴ���Ǽ��γ��i}�d�/�Wb����u�������U��8���ޙ�i�+7�v�W$�|����l��D�af"�
�Y",')X�?J�
��jl2�lO�r,�j@=�.���[�חg����42��� [...]
+7�-q�G����[1�@L���;�gX�j��׼c���z*
�K�{E+�D�6Ӗ�C,/2U�/����"��oH���W�Z
� ��9H.�F��cx��˳����}GI8'Di =:HxL�~��&�b�^�
+Ez,DZ4F�f?����7�<��^=0>2�5��n>���h�C�e��hY��1�Ǣ�[�ʴ�́���а����]s��j��V��̊�����9F��R�D���n�#�A�{��&��-�'�����wlK�<�pV����^��_�x+I�-e�f��
+�VV�,��͊D�
�`�r
/G"$\]�в�ɯ���w�5�L��5��X�~z-�A
��rZWJ��P�<�d@B/�f�>�e�.I��r6bs���(��%`.ޑ�?�c����z��ʢ�dx�_�=�/i����Ԅհ�-��1Q,���o
+�;l�N�{F,�4	�j�+�.%B5'�嬂�
8

dl�"�ͷ3H�?:���5"�**a{��=�4�|�"-��k(�"���a�"\��UҐ�`�"�2?����P_�b���&:��Z�jI
A��IT&�V6�-g]@���Q��Hz��~tlQ��{
+��B����*�$|���%�3��B�ʗʁE��.�y
h����-����쭈tk
d����Z����Fk��e���=|
�U�6;�r��5�G�����,��Aǩ�w�j���B^3B5aN��z�qV�
U��!�)�cw�=E�/X�^�AWPvn�a�(l
�,�
�
MM{[AtW��qS��r�@��:��
YҖ�]b�d��O����oo��C>���j
�o蛂��*��xxA�
��Z‚[��r�)vvqn�N�Ϋ��铤/�..�bfv�sׅ��O���\R�/��	�r+��+?�L��8�l��*�w�X
Վ����կ�œ4|;��&T���Y�dx*�Bt��- at P�=d-j�q��HV����)���Gk]D�N
E$���i���;����O���vgc
%u���ϛ
E()��z�#��(��p��
+7�y4}|��bC bw�,NX�Zi'ZR���o��G��-�a0HГ �}Q��͂�k]'=�E��� �a
���'dq��
��PC�#��
9M7��:.��yh
V�!d缠�C���m�GN��2��t�S���J�0S����(v�e�v[mD,���
���ݡ|/g�T��O��(��?z�'s�'��.O�����:�d��5T5.�dn@���y�<�Գj-����
/�r��.B*
w��b�����O%�����]
�sk&E��U���4z���h̽T���8��	IC��i�5[L
�B%�n��S��{[8���Y'�a��/ѯ�Q��>ĂB
���'�����HfdN4�pw�]i\v�%l�0H�(��L�{_Pͯ��S�0W�^��S֌��L$wd�]Z��s��Q4��5,�*��/�-�$Y^&WK>�����ݨ&`���
3ܲ&j�
�	me���^�T*aM��n��a��?ApB��p�~�Y����^ L2m$|L�*
+|
L=�:�s
�KdU�w\��M�,�]��K� ��|��
�y�\��D��Oy6���j���d��g��G
!�7
+���8��t�>�hn�]��R�|�FchibI�U��A�m�
+�6TlG�@L�i��#�(x�>嚲A�.a���X�! C+[5C���gl�_���Lw
+��w.��?�䭇�
�W�h���PD�!��ڥC]+`�ѧ�c~E����������"w:���U��o���5�o�7,G���xpVR���%�D,F4(6�~)�p�a⡷{c��H0){�5�߯C4_��B����[
��cI6��4TK|e���jq�}��h�X@>`�
���`�H`"j䠘�H�mc�=I��n�8u�1�m�0�Yi�G=��G�uo)+�-��
FU�
+��?$4Oo��ą�v�yU�����W����UT�b�r�u�����ԥZ�j{q?��7����0^j�$�.��)�3h�Ơ簎�Z�E|S1��iҹp�'gYF�}:��n�%���u��25LG���[i1l�J�9�8�d��e������=���`�½醶�¡l���̹���6��Jԛ}r&�	��3�����\�b�{������('�Pxs��X�yf�3�;uOe-�{b}l�\�%�_
��
�����
�T����-���
h����p��іkÀŨ�h.X�܇��qiWj#H��(A��E���+��Y=�5��{
�dų���kğ��0�XDnG��	�t	��b�:/c&�4�%���\�9vɭ*c��*�c�������&� \��<���I����+�����zQ
Z�̌d4?�E���;���x���Z�PO�X86��Q
���x ��
؃}5�&%��J!1�9��[I/�.����:��Wh�~X��^�S�Q���h�3�$��7E������!���1e
�����2�:�n� a
+?ⓇgT�j��@dߞ�c� ��Hǩ���
�]��V�
{p���2��P���M-�
֠�r:v(LV��b=[�=9`J�H@)�@$�e�7�&T"��w7h
+���i�B$�z"�0OaG���Q%X<��0���S\
��
�Q�q�
'�����;f
?kh
�
Q���Kh���xRa(��Ƣ$��,.u3�����v\m��W'&�v�/�Q�aoq����
-���	�}���
+��@�I�
*���o�9�\���6

��':�8
+a�kv�u�"�A-�==1Q��XR�2O�4�ѩ�44&�&s�3Y�
��'J0b��Ά&�\�DJ٘S�5JO�x��_	�t#ꮝ��[wQ>
���R��ϩ��{G�!GY�⚞m� d)pL��s=g?MT�C��쨨Z�P���l��腗VLc�E�-n^1����:;��YƎ@Q�� f6|�<G<��
+&?#��sZw�Z�Y�AJ�r|���9���M���k���`�a��
?��#�FӪ�������m��m��e�^�r���w�"����f�~x�>��1��
&
��P�ȾI���1R,_��=���9���m���Nx�=���d�C���
}�­/��i�N�(Џ&��}���^S�S�έ���r� �c ���;����'
�	gM��#�m�Y�Ks}�@��K���g�%�jF}Q��"E�<D-w��#m�h!�{Gՙ���'7��BVLq�2���ߌ�

�7���-�6*(�CX� ��'&3kbK�����	h�
h�������mn�t�>�dO���a���ó� ��Qd�>,�
+w�T��MT��1b,�ߌ�5����=Q�0:�\ЁuF��A5D�%
���W��LՑ�[jG���(\��i��.������

��Rx�{|p�j�?=�"VG���^?���-^�����סX{�5m?� j:��~6�7ZH,�+�t�,h^�R�WT��^v
{�0H�K����%eOY#���+$��9ZP�aBb��VSDz��TԬl`W�*�O0�UB^=�do�=�����z�z�?[٪�<�>�Dt|c�r]���=�
���uY��e5v��|��ŗ��e=���+о�'���9{!ϮyS��t��B'�N�+K����i�H�D�{EY�l��:|�x)4gZ�0����Q�x�a��ai~4�d�wq� l&��AG
������Y�����e�xߌ���
�m%�a�����漻A�P�J���W��_�J�ؒ�׸�!-aD/�8Q��
+���L
�9�fU�:9/�1�
�;�U� ��/�6o�m�f�VΖ�T>�a(������r�n�Ȱ
��y�]�wq?���@��
���k|N��I1
�P׼ͅ�h%��>���+=�HÚ*�kh�5zqF�!����
�FmQң�Po���O��Y��Q~v[q��2C���`t�3�c������nR��>��%y�,
���<v
�o$ĩ�0Q�#�q���y�H�p
��^�M���S�Suf
���pS�(�q��EbƐt�?��T��X���V�Lw|�q�zg��uT��
��:����ő�Et[��������M�[.�f9�
�-�+'P�m�G��{���|�����%��I>#y˗;L1r1�f�B�'n&�}wsV$l�E��UӚ�H5s;��H4�c�jIi�|
����]g��n&�	-�V2�����|�]�u��Km�ؙ[��HT$#�G9*���a�
N�g�Q;��i]J®
�p���

+
�P�lw�|͸c!�
M��t��e�Ji�u�
���U�Q܁�]�1�� ��[��,/^QWs
��x��	��Qy}�/\��s4q:�'��x�f�!���~
D���0[g�B�{�r
+^?7���7X�^�
���
X�d+��ՇØ��\T����
/'l]Z�����@ۙ�+ͺ�˲��\>?���Vիa�f�s�
I��	�
�	(�ܔ�+E
+��8��+&
��T6~��h�&�������	
+܌����Iu��9~V�����a7�E��i,�z�0K�
|Pc�^���z:�C�(�	2���L��R�|?q��
+�1��,���>�c�@DZ�g3\�����mb�n
�:c��ٚ�OJV��y���((�0�#".�8�����W
�m��SW���x=Ib�bP?@����qd>�yi��5<
+���.�����X�ؗ�K~RZ�$v���s���?		���>�
+��`N 
����9�&���ǡ�(B��!�ŗ��]=SK�I�<�P�PO��N?Y0�ۮ�d����2z�Q�z����Z��
S�����"�x"q
N���[hݬ���
W�0���n���
u��'��)��m���
�4Zi�
��H��V�o�Sx�Ϗ�gN��[�����a�̌rA)�VBی]���|�ڹ�@m~+�
"�Wk��fL�ǡ��xӽ�ֶ�xH]�+�B4�'KK�k���!�҇�!<J���6��S���@��a�)~�[��T�Uox$Uԕ��%�^�sr���nn��8�1t��De2�vpKI>?�:�k�
�������]�L1���A�n
X}��A�HŰ%�^%�
�a�p����1ߌ�!�.�
�	1
��
�	\��s++9���ׯ�~��g=���
��MiI at X+����	��d*�4D�I�5���G,{�������{
�WN��I�٦�`���֟Y�3����
{UT.�}�	υ��35�
�wg%�to�P3 
�Ŋ���]&�����W4�r3 at G�2^'�g��k��}
����@�>]9�܏l��@$�J�ᳬ�<��	�Y�-���Κ�3w9�hR�H+ j�vP##5"�;�Z_4�[Ͽ���Փ���%���c�ui�b�
Q�ә�T4)S��V4 ���
1��a�����E[ƺ�Ε��V
ᧄ� �F߲_��f��L�O�=1
�=q�����
#�O>�w�\S�X��x�{
'&
+���'I�se�W��\J�p�L�do�Od
�� ����}�U����\��5�J���ّ�}���|ݴ� vrc��.�
\�X�����@[�p=6k���.�/f$1z�F������7YJ�&������M �M�>��+��
a���Y_�8�u��b��4���VR����[Z!^�� ��0�
��:����	y�[����L��F 	�u�=D����SpC�a������9���Y�V�����xƯ@�F!���n	��V*�d/��X0����)���D}�*ƣ8z"\��s"u����$���v��D�TG��v��l>9_���������J{
߸��.x/yn:g�m��p:i��6	�8�,��a��������"�������Y����ڻ+"<ze��E��6�o�^���
x���W���\���
ஏ�)�	�:�vwx��
9�_b����7p�u���N{
	n�V�п9�
7z~qb�md��[@7Erp�C����a�c� [...]
+�$Sj�E���4e��fc�^��
h'��|�e�D�Z��bg�=�OWN:� {�5
��
+�E���X
�מ��R��ǰ��Y�VR���G�p�}�S$�3�<��KљB9��b ^�%
��T���?*�<5��"�!ʗ	]�-34�A>�z�XZ��E��\w_%�F����'xx�m�S&ˋ#������U4�H���peZ�H��"K�Y$�g
?]�
+��*���@���
+eR��H�Ft��7
���g0��g�!�GKD�T�u�F/,��҅�J#�0V~i�X��z��=�An�5
�mN.��!
�;&�{���̆��
o�C������
Q�n!7$��;:�,}Pރ��p�-7
�ǚ�@�@_�H�i��e�`=���wm�.��I��~g
+^
+
���k�%����A�Y]�����ӂ��(�H�'t8[���1

o�9�Ljm�V�6�Nd�X�8=�m��=��ᔨg\U!z8��VNpm:p����G���OBS�=\_�Td>��?�
��ڝ���[m�eh� +��Y�-�g��ûiU
��_B�����C̐�n1j�^�w?��41�3N�R��^�{8+�PH�s�*M<�n?w.��~ѓTIP�)D���1�2�> p
.
� �4ipԔ�kj�G�Ȋ�
`O�ז�7p�4mf�'T�߱2�`=:IkB���GA��m}#'�zk�7R"�@Yޏ��	�&�;�~���
����l���u���p�&��R+Ip&oV��
�3J*�
s�%�wU��oY'��LH�(���v��L0(�
z/�Cr9���+��������qZ�Z���ŧ.t�GV��T@����HQ�q"�,c�����m��bCvm/�W塟�5�nN�L�����hh��	�p2W�㯹?�Y���No�lϪ�O��6�v�ᮛ�Ԓ��v�=�ۃhp���je1ؼj�~,
}D�*q
F��+�:ꏩ*U�G":����Bv�r�`�� �35�xZr`�}^8Jq�ڌ�@������ �V��xZ�.q�5Φj�*Rf��ɪ��'O��T�c
$�2��

%����r0׽�)<�2���Z��]� ��ὲA�u�Y���U��\E�obX�U���sS>+�z
�-M'��M�}���b��C�YH��},�)$1n ��+LF���\�Ki*�Z�6�����uu/W}��
�k��{|"�Ǚ[�̃I:NV%ϐ��Wo�v��[J���Y{7�V
��ɻ<�ø
�^�75i]����َ{pA��3�s���<�
+���N����P��:�ˏ�*�!�&���N�5a�
I“�Bn��.���j찚��OT@�˧
+��f��[Z"j_�R���}�Zx��}/�����N#�P(��o�/;x�;[��u�c
VS�J����n

s���a�N�qm0›V��x�����q��ȫ
8���C
;�$<���mc&}R~�`Ղ���d-�@(a94hɪ=7�
�J���h��ݚW��>���Ym��f��ˌ
p��
�ϕ�yW�;�a"�Fh�㞲a$�ɶ
�|��p�>k{e�
f��	@(��f�"��e
+�*�4Urg]�瀑YtJZm����3�ٶ�U��e�
n��p	�c*��Md����+���h)��w��b!:5{�Z�y?��W��FD��ޅ?��rH^Tߨ�ٕx��X��'���G�ґEWb��+^z*FC$��ӂ{o�L����Ї�ƅ�oH�
!5�n��P~�w�'1^
�`
<�����KN�!U�ް*`�L���9��&ȦkE�~�N�=�@�G)��&�
	�l�K�
/�b�F?!zލ���W��{PXפeJ��S�׏����FX
�灊'Q�l�,�;}o/�Mϼ���"��/�$Q�z�L>��
\**@g��ۘG
+خ�sks����
�ɅЏ�����ů46754��}Ī���
���(��P5��
+�� ѽ�p�L�snF�m�,`�����8�ʁN
��e面>�6��]�c|:�En���@���F�g�
�̈́��&�f��
$�,fT0���t��
Qb��2�Q���2��#�W���4Cx��S��c��H��6aw�y���L�+
��<<mr����C���%��H#}-l1!�K���)[ّ�Q=��W~/�m1p0��mn�T23C��ҍP|#����*hb9S��7��X�x�����Os$
����u����K0�Lȓ,x����(
,�S�0
�N�/)���}K����H)��9�� ���3����O{M��
1�-�"����p�l�^
Ά_�i�s������߭:4�ЉN宗����6�ի��m^���ؤ�GSia�>�
�G[֐�3Y 	�����3�Q�>�"����5p�R�Bi��̽�F;�B�wV�

~Z%U�����RK�N��J��#&ҕ�6:�K^��|�N6�E��S�<D�K�
Uo(��2yD� +�FB��}�*ř\Yl�?�LbdW��۸���7�ߌ�B�^M
�(꼄�qg<�:.Rx����GT.G)V
jv��I��֭��0_���b;��7���Z&�X�.��b3��G����Z<��K�r�կZ8.��É�����6��
��db at E�ߧ�.u]5C�pf�
B�)�w^�Dž����qc*��
�

���L�|��2LbLJ۶��:bC+���x�������
0>~
���n-�!�
+pG��۹Ҝ��7�����ͬ�M�9������o'��f^�a�sw�z[�L�I}[⥦/o��tƛQ�Sٹ����`���۔G��x�Т�|K�w���
�n�Ŷ7{9?i��X���{�7�����O���K�k,��p�Fp����`�DS�ɶ���ӻ�
��k?�&_	
C�^
9�}U�b8�;�j��
�-"3R��4�'�>���ܫS3���v��4k�X[�LG�qk�u����P�cuO-���G�\�E=���1�%#��G����1���z<%#��sT�^�Hc$��\I��c\��γ��ߪ4w/����D��@�y!�fK����5���:F�
+endstream
+endobj
+3486 0 obj <<
+/Type /FontDescriptor
+/FontName /EBESOF+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/W/Z/a/b/bracketleft/bracketright/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
+/FontFile 3485 0 R
+>> endobj
+3429 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 33/exclam/quotedbl/numbersign 37/percent/ampersand/quoteright/parenleft/parenright 43/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater 64/at/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/bracketleft 93/bracketright 95/underscore/quoteleft/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/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash/emdash 169/copyright]
+>> endobj
+610 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CYTIHN+CMMI10
+/FontDescriptor 3444 0 R
+/FirstChar 46
+/LastChar 119
+/Widths 3428 0 R
+>> endobj
+612 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KJFPML+CMMI7
+/FontDescriptor 3446 0 R
+/FirstChar 115
+/LastChar 119
+/Widths 3426 0 R
+>> endobj
+1213 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RMKTHO+CMMI9
+/FontDescriptor 3448 0 R
+/FirstChar 46
+/LastChar 118
+/Widths 3425 0 R
+>> endobj
+611 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XCKPWW+CMR10
+/FontDescriptor 3450 0 R
+/FirstChar 48
+/LastChar 118
+/Widths 3427 0 R
+>> endobj
+1600 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OPBINH+CMR6
+/FontDescriptor 3452 0 R
+/FirstChar 48
+/LastChar 117
+/Widths 3422 0 R
+>> endobj
+3181 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UYHLKA+CMR7
+/FontDescriptor 3454 0 R
+/FirstChar 98
+/LastChar 117
+/Widths 3421 0 R
+>> endobj
+1214 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HRPHYH+CMR9
+/FontDescriptor 3456 0 R
+/FirstChar 12
+/LastChar 118
+/Widths 3424 0 R
+>> endobj
+169 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZMNSWV+CMSY10
+/FontDescriptor 3458 0 R
+/FirstChar 1
+/LastChar 21
+/Widths 3441 0 R
+>> endobj
+171 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VYEUCT+CMSY6
+/FontDescriptor 3460 0 R
+/FirstChar 3
+/LastChar 123
+/Widths 3439 0 R
+>> endobj
+3182 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NSJEOL+CMSY7
+/FontDescriptor 3462 0 R
+/FirstChar 48
+/LastChar 48
+/Widths 3420 0 R
+>> endobj
+170 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DFVRAV+CMSY8
+/FontDescriptor 3464 0 R
+/FirstChar 120
+/LastChar 123
+/Widths 3440 0 R
+>> endobj
+526 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GCEPBM+CMSY9
+/FontDescriptor 3466 0 R
+/FirstChar 3
+/LastChar 50
+/Widths 3431 0 R
+>> endobj
+1599 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CDCNLO+MSBM10
+/FontDescriptor 3468 0 R
+/FirstChar 81
+/LastChar 82
+/Widths 3423 0 R
+>> endobj
+194 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NQXOMN+NimbusMonL-Regu
+/FontDescriptor 3470 0 R
+/FirstChar 33
+/LastChar 122
+/Widths 3436 0 R
+/Encoding 3429 0 R
+>> endobj
+331 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BFMNIZ+NimbusMonL-ReguObli
+/FontDescriptor 3472 0 R
+/FirstChar 39
+/LastChar 122
+/Widths 3433 0 R
+/Encoding 3429 0 R
+>> endobj
+260 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GXYNUO+NimbusSanL-BoldCond
+/FontDescriptor 3474 0 R
+/FirstChar 2
+/LastChar 148
+/Widths 3435 0 R
+/Encoding 3429 0 R
+>> endobj
+497 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WGKKCA+NimbusSanL-BoldCondItal
+/FontDescriptor 3476 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3432 0 R
+/Encoding 3429 0 R
+>> endobj
+168 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ISLYQY+NimbusSanL-Regu
+/FontDescriptor 3478 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 3442 0 R
+/Encoding 3429 0 R
+>> endobj
+192 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MBKJVL+NimbusRomNo9L-Medi
+/FontDescriptor 3480 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3437 0 R
+/Encoding 3429 0 R
+>> endobj
+568 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UTIMSX+NimbusRomNo9L-MediItal
+/FontDescriptor 3482 0 R
+/FirstChar 49
+/LastChar 121
+/Widths 3430 0 R
+/Encoding 3429 0 R
+>> endobj
+172 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZHVIQV+NimbusRomNo9L-Regu
+/FontDescriptor 3484 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 3438 0 R
+/Encoding 3429 0 R
+>> endobj
+262 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EBESOF+NimbusRomNo9L-ReguItal
+/FontDescriptor 3486 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3434 0 R
+/Encoding 3429 0 R
+>> endobj
+173 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [162 0 R 177 0 R 189 0 R 202 0 R 247 0 R 251 0 R]
+>> endobj
+263 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [258 0 R 268 0 R 274 0 R 281 0 R 288 0 R 295 0 R]
+>> endobj
+305 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [301 0 R 308 0 R 316 0 R 324 0 R 337 0 R 343 0 R]
+>> endobj
+351 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [348 0 R 354 0 R 359 0 R 368 0 R 405 0 R 448 0 R]
+>> endobj
+490 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [473 0 R 493 0 R 511 0 R 534 0 R 555 0 R 582 0 R]
+>> endobj
+613 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3487 0 R
+/Kids [595 0 R 616 0 R 652 0 R 704 0 R 752 0 R 810 0 R]
+>> endobj
+896 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [875 0 R 913 0 R 925 0 R 934 0 R 960 0 R 1006 0 R]
+>> endobj
+1070 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [1051 0 R 1091 0 R 1152 0 R 1202 0 R 1248 0 R 1292 0 R]
+>> endobj
+1369 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [1344 0 R 1406 0 R 1450 0 R 1491 0 R 1536 0 R 1592 0 R]
+>> endobj
+1655 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [1636 0 R 1686 0 R 1731 0 R 1776 0 R 1836 0 R 1891 0 R]
+>> endobj
+1973 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [1950 0 R 2021 0 R 2075 0 R 2112 0 R 2153 0 R 2221 0 R]
+>> endobj
+2289 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3488 0 R
+/Kids [2270 0 R 2307 0 R 2330 0 R 2370 0 R 2413 0 R 2466 0 R]
+>> endobj
+2535 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3489 0 R
+/Kids [2515 0 R 2554 0 R 2604 0 R 2674 0 R 2760 0 R 2857 0 R]
+>> endobj
+2955 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3489 0 R
+/Kids [2937 0 R 3007 0 R 3082 0 R 3117 0 R 3132 0 R 3143 0 R]
+>> endobj
+3161 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3489 0 R
+/Kids [3152 0 R 3164 0 R 3176 0 R 3191 0 R 3202 0 R 3212 0 R]
+>> endobj
+3294 0 obj <<
+/Type /Pages
+/Count 3
+/Parent 3489 0 R
+/Kids [3290 0 R 3365 0 R 3417 0 R]
+>> endobj
+3487 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3490 0 R
+/Kids [173 0 R 263 0 R 305 0 R 351 0 R 490 0 R 613 0 R]
+>> endobj
+3488 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3490 0 R
+/Kids [896 0 R 1070 0 R 1369 0 R 1655 0 R 1973 0 R 2289 0 R]
+>> endobj
+3489 0 obj <<
+/Type /Pages
+/Count 21
+/Parent 3490 0 R
+/Kids [2535 0 R 2955 0 R 3161 0 R 3294 0 R]
+>> endobj
+3490 0 obj <<
+/Type /Pages
+/Count 93
+/Kids [3487 0 R 3488 0 R 3489 0 R]
+>> endobj
+3491 0 obj <<
+/Type /Outlines
+/First 3 0 R
+/Last 59 0 R
+/Count 7
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 59 0 R
+/Prev 155 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 59 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 59 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 59 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 59 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 59 0 R
+/Prev 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 59 0 R
+/Prev 131 0 R
+/Next 139 0 R
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 59 0 R
+/Prev 127 0 R
+/Next 135 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 59 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 59 0 R
+/Prev 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 59 0 R
+/Prev 115 0 R
+/Next 123 0 R
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 59 0 R
+/Prev 111 0 R
+/Next 119 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 59 0 R
+/Prev 107 0 R
+/Next 115 0 R
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 59 0 R
+/Prev 103 0 R
+/Next 111 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 59 0 R
+/Prev 99 0 R
+/Next 107 0 R
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 59 0 R
+/Prev 95 0 R
+/Next 103 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 59 0 R
+/Prev 91 0 R
+/Next 99 0 R
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 59 0 R
+/Prev 87 0 R
+/Next 95 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 59 0 R
+/Prev 83 0 R
+/Next 91 0 R
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 59 0 R
+/Prev 79 0 R
+/Next 87 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 59 0 R
+/Prev 75 0 R
+/Next 83 0 R
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 59 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 59 0 R
+/Prev 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 59 0 R
+/Prev 63 0 R
+/Next 71 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 59 0 R
+/Next 67 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 3491 0 R
+/Prev 31 0 R
+/First 63 0 R
+/Last 159 0 R
+/Count -25
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 31 0 R
+/Prev 51 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 31 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 31 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 31 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 31 0 R
+/Prev 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 31 0 R
+/Next 39 0 R
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 3491 0 R
+/Prev 23 0 R
+/Next 59 0 R
+/First 35 0 R
+/Last 55 0 R
+/Count -6
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 23 0 R
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 3491 0 R
+/Prev 15 0 R
+/Next 31 0 R
+/First 27 0 R
+/Last 27 0 R
+/Count -1
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 15 0 R
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 3491 0 R
+/Prev 11 0 R
+/Next 23 0 R
+/First 19 0 R
+/Last 19 0 R
+/Count -1
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 3491 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 3491 0 R
+/Prev 3 0 R
+/Next 11 0 R
+>> endobj
+3 0 obj <<
+/Title 4 0 R
+/A 1 0 R
+/Parent 3491 0 R
+/Next 7 0 R
+>> endobj
+3492 0 obj <<
+/Names [(Doc-Start) 167 0 R (GFDL) 340 0 R (GFDL_GFDL) 199 0 R (GPL) 270 0 R (GPL_GPL) 200 0 R (group__Datatypes) 655 0 R]
+/Limits [(Doc-Start) (group__Datatypes)]
+>> endobj
+3493 0 obj <<
+/Names [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) 886 0 R (group__Datatypes_ga0aac22e2dc312e8c41418dd8d59701f8) 916 0 R (group__Datatypes_ga12c368fa0bdd20b907d9ab8e92e999d2) 755 0 R (group__Datatypes_ga13f1f84a46d70b91637cb9d6af54af6b) 885 0 R (group__Datatypes_ga1822baf29ede5879f1c6ed77f0ca5984) 671 0 R (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940) 889 0 R]
+/Limits [(group__Datatypes_ga0764a0e607ec4de08a53e6d3b109a714) (group__Datatypes_ga1fd59c6502c8cbb9dbb802e4af34c940)]
+>> endobj
+3494 0 obj <<
+/Names [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) 661 0 R (group__Datatypes_ga25f9463d3385bd998e4fabcdce8dec5a) 761 0 R (group__Datatypes_ga261d916137f01c0effdefeb266a73172) 768 0 R (group__Datatypes_ga2f2a1aa8fbda2e53218cecba593f7427) 818 0 R (group__Datatypes_ga2fdde49c81e0fd5d54dba2cb056847b3) 769 0 R (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec) 657 0 R]
+/Limits [(group__Datatypes_ga25f4b655851f0f561cdddf94f667e833) (group__Datatypes_ga32ce20a24d131c3ec8274b907176bfec)]
+>> endobj
+3495 0 obj <<
+/Names [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) 711 0 R (group__Datatypes_ga429b479c97f57c41763a019c2dc5bf10) 669 0 R (group__Datatypes_ga43246761a1030d751e756845a246bf68) 762 0 R (group__Datatypes_ga4384ab8e17fe9415f5146ece650cf9c3) 663 0 R (group__Datatypes_ga4813a2ed52eb4aeac03bde07be0ddd83) 906 0 R (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5) 713 0 R]
+/Limits [(group__Datatypes_ga3b2653e715f41511257a84f35be7fba9) (group__Datatypes_ga4aa820c3f87b201ce364e854aa37dba5)]
+>> endobj
+3496 0 obj <<
+/Names [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) 766 0 R (group__Datatypes_ga4b10979f4464f0574331e442e9025d3c) 897 0 R (group__Datatypes_ga56026e685fb0fe336a5f346580f84ff0) 884 0 R (group__Datatypes_ga56e2574a7d2f006333151867599e8fa3) 720 0 R (group__Datatypes_ga576b0ae433a83ef58a3c174a86623582) 821 0 R (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6) 666 0 R]
+/Limits [(group__Datatypes_ga4af3a60e2d8ec27d56cf4a555cc1748e) (group__Datatypes_ga5a7338130cf6d33d28dd40ed560a24d6)]
+>> endobj
+3497 0 obj <<
+/Names [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) 839 0 R (group__Datatypes_ga5e128d772c07f54f135cac19e9a6ffbe) 714 0 R (group__Datatypes_ga5e59406ab43e2f1851ea2e066137b4bd) 712 0 R (group__Datatypes_ga6069aff3ad06a502f746df4adec1c16c) 707 0 R (group__Datatypes_ga64dda1bda497aab131fc204ed9e55894) 710 0 R (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f) 763 0 R]
+/Limits [(group__Datatypes_ga5b805182b79b6fb873d0624f7dfd2ee1) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
+>> endobj
+3498 0 obj <<
+/Names [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) 903 0 R (group__Datatypes_ga6d1de7e82c3d57a0a6229187078537d7) 820 0 R (group__Datatypes_ga735949470e98393af90b12f534b06cba) 891 0 R (group__Datatypes_ga7364448b56d85cb45c512ca35678952a) 813 0 R (group__Datatypes_ga73918c511d88c3fd8ad4de602c4d20df) 757 0 R (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551) 670 0 R]
+/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_ga747bcaa4d01a8065758096b1ff0eb551)]
+>> endobj
+3499 0 obj <<
+/Names [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) 883 0 R (group__Datatypes_ga763a5fa98155383055703dc08cb3e11a) 910 0 R (group__Datatypes_ga82657533544652eb3ec1334a72da137e) 817 0 R (group__Datatypes_ga841003bef28b1052aa2b5297a529d4d8) 894 0 R (group__Datatypes_ga84f27605574583d674403f6d71a73a24) 664 0 R (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f) 667 0 R]
+/Limits [(group__Datatypes_ga7593947fa164900140d09c08b56c6cd1) (group__Datatypes_ga88e874dbd26b94133467d81b006f0c3f)]
+>> endobj
+3500 0 obj <<
+/Names [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) 764 0 R (group__Datatypes_ga9448cd0d782a819c066e27cf3ebc1add) 767 0 R (group__Datatypes_ga97b246f11809448c53f089779c0019a1) 814 0 R (group__Datatypes_gab49861123b31a74dddcdffb4b8fd110a) 719 0 R (group__Datatypes_gab9fc89c0e89d4487a1f69a26849b682a) 890 0 R (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56) 815 0 R]
+/Limits [(group__Datatypes_ga934e8eb1ed3d9f688ffafe0f82ad02f6) (group__Datatypes_gabc52e1474c4b78458b4c13ddbfdc8e56)]
+>> endobj
+3501 0 obj <<
+/Names [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) 668 0 R (group__Datatypes_gac0d389ac714f0d4d3e6950fd692e7443) 718 0 R (group__Datatypes_gac37b94ca7dc0c8bb9797e6d91e16492e) 887 0 R (group__Datatypes_gac3cf4d5c81ff784729bb5d1c8d48ce23) 765 0 R (group__Datatypes_gac803b1dab9dd0072acb6fdda204efd26) 708 0 R (group__Datatypes_gac9397590f57ede293eed34366aec11dd) 758 0 R]
+/Limits [(group__Datatypes_gabf20fcbeb06790546a112b72eb0811f8) (group__Datatypes_gac9397590f57ede293eed34366aec11dd)]
+>> endobj
+3502 0 obj <<
+/Names [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) 760 0 R (group__Datatypes_gad55dee4843ce4694afab11a60f16ef40) 665 0 R (group__Datatypes_gad8582d9f10213d638e87de8f0aa91a01) 709 0 R (group__Datatypes_gadb1edf876e8c62fb7d2630a9280224f1) 816 0 R (group__Datatypes_gadc14acd60d7235a72f88850b9a917eca) 882 0 R (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b) 660 0 R]
+/Limits [(group__Datatypes_gaceb51fb97c11d86059188525d87ceaaf) (group__Datatypes_gadc58d1f680927df3786f41bdb47fa26b)]
+>> endobj
+3503 0 obj <<
+/Names [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) 895 0 R (group__Datatypes_gae439fa617415f2153f4793041c41bd9f) 892 0 R (group__Datatypes_gae50df8ccfc72a20b58ab7854ad2ccba9) 658 0 R (group__Datatypes_gae5679e4f41db32b7b91dfc81574fc1d6) 828 0 R (group__Datatypes_gae8610cd48952cf1dc71b525235f6f583) 715 0 R (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b) 881 0 R]
+/Limits [(group__Datatypes_gae311117a92fca76fc66fe3442ff6d09f) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
+>> endobj
+3504 0 obj <<
+/Names [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) 756 0 R (group__Datatypes_gaedee0800f6e695c36ace737095ccef5b) 662 0 R (group__Datatypes_gaef15021f65d2810602a9a1bd06fc878d) 893 0 R (group__Datatypes_gaefc9900fe07bfdee6310e4705ea0bfec) 716 0 R (group__Datatypes_gaf02dc1cffb4d3d79720ebafbe872be03) 721 0 R (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4) 659 0 R]
+/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Datatypes_gaf1c4903edb1a626a36a7220038f963c4)]
+>> endobj
+3505 0 obj <<
+/Names [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) 823 0 R (group__Datatypes_gaf449476be1ec42bab45fb86e7478bdf9) 834 0 R (group__Datatypes_gaf4f8f4bacd6f148fbbfb9209fb5b2b33) 759 0 R (group__Datatypes_gaf78df97484e374abe5d4e0f8973a622d) 717 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83a60e9236626a09f76d3fe049e03bd6926) 907 0 R (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce) 909 0 R]
+/Limits [(group__Datatypes_gaf2faa73b338e8563f6c022739e5ecc6f) (group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab34d1f06ae438f58dd44c6262b3281ce)]
+>> endobj
+3506 0 obj <<
+/Names [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) 908 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca48a27a450babc28cd9e37b24e4c7f870) 900 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5637cd5e0441762c2efba8ec4549156a) 902 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca5c5c70a1d41e6e79718bbeb33df7cad4) 899 0 R (group__Datatypes_gga4b10979f4464f0574331e442e9025d3ca8cbde0e6dec605c51ef708fb8cd2b52e) 901 0 R (gro [...]
+/Limits [(group__Datatypes_gga4813a2ed52eb4aeac03bde07be0ddd83ab602a0c001878a0debc775c4bee33777) (group__Datatypes_gga4b10979f4464f0574331e442e9025d3cae072091ed81a04a85178bba39494a601)]
+>> endobj
+3507 0 obj <<
+/Names [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) 842 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a59042baec996bc386154a1825ad56de0) 840 0 R (group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1aa05a8932097b094ca179e99e2d80b6ae) 841 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a81a7221b987cf71e9577f1d3162fc994) 905 0 R (group__Datatypes_gga6b8429baa2a70746836586aad6905b64a8a337487ebb2a4938a04103368bc24dc) 904 0 R (gro [...]
+/Limits [(group__Datatypes_gga5b805182b79b6fb873d0624f7dfd2ee1a3e5170687052e3962de866e2ab44d8f8) (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a81067f9cf8984d1b3febca4488a137e1)]
+>> endobj
+3508 0 obj <<
+/Names [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) 833 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9e4eb4979711bf6699ec8e0f335de476) 832 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6aa166787e251ef2cbaad9213d8e9d2653) 831 0 R (group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6af8c3e04d66cd611db5efcd92a6c52425) 830 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a1304ca7fa8d3e734d1677709a37d5d28) 836 0 R (gro [...]
+/Limits [(group__Datatypes_ggae5679e4f41db32b7b91dfc81574fc1d6a9029c33b6876c560bf78b5b86d0367c0) (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9a132c76cbee67b5bc2ac9e09af9c68c4f)]
+>> endobj
+3509 0 obj <<
+/Names [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) 838 0 R (group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9afdbee5cd06ff135cbf9614b661c9e923) 837 0 R (group__Error) 558 0 R (group__Error_ga0c0ab09a97e49f85f42c966e14cfdee6) 565 0 R (group__Error_gad6765993c08a2ae2f0ef377f822f4d33) 579 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106) 575 0 R]
+/Limits [(group__Datatypes_ggaf449476be1ec42bab45fb86e7478bdf9ab32d9464a7101eb1893562646a3cdd1a) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
+>> endobj
+3510 0 obj <<
+/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) 573 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a093ae02f8ceebbc40321d1eaf186f726) 569 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a24fd14db2a8ae42b3abcae3288e46edf) 577 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a6aa28e72200f879cbb83a36b60644fb2) 571 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a7dae659f72f654afae1c5c6f331192a3) 574 0 R (group__Error_gga0c0ab09 [...]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8bf236a519f7da9efd5f874a17d9689d)]
+>> endobj
+3511 0 obj <<
+/Names [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) 570 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6ab42a97917f263e8305d561f52cbd9c57) 576 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6abd22c4eaabb49bcb6c654a25e402c64a) 572 0 R (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6af29a62bdfcf44dbeec14afb409035438) 567 0 R (group__Init) 476 0 R (group__Init_ga234d52733263ece8ac36c980a80292c9) 489 0 R]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a8c65fedb9893ebb49394a3cff2f19a49) (group__Init_ga234d52733263ece8ac36c980a80292c9)]
+>> endobj
+3512 0 obj <<
+/Names [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) 483 0 R (group__Init_ga635128363efd9f4c8c63e21702f40183) 485 0 R (group__Init_ga7c98bac1ccfac398657571409a3fcd9c) 481 0 R (group__Init_gaf090a4178ad2e0dc0ea185961e13b3f1) 478 0 R (group__Init_gafdb2c887a3a2d1daf54a764d0d7f7f76) 487 0 R (group__PPL__C__interface) 453 0 R]
+/Limits [(group__Init_ga4af2931282f6a5f1b3444fb8e833d6a1) (group__PPL__C__interface)]
+>> endobj
+3513 0 obj <<
+/Names [(group__Timeout) 598 0 R (group__Timeout_ga3ebabd1a7396005fadcd08efb53c1f58) 600 0 R (group__Timeout_ga7e11189e03e9d1452b16e24dae5d6bc3) 601 0 R (group__Timeout_ga93f815a338ce597c6ae3e7b2018d962d) 607 0 R (group__Timeout_gaf0d33c5ec6461b246420cebe2d6866ed) 604 0 R (group__Version) 514 0 R]
+/Limits [(group__Timeout) (group__Version)]
+>> endobj
+3514 0 obj <<
+/Names [(group__Version_ga63fef7041da34ac5bb372a2535d99377) 531 0 R (group__Version_ga676f27ad949159a3b79577f78870f60f) 524 0 R (group__Version_ga79bd3696a302bb721ef8168fa5d650fb) 529 0 R (group__Version_ga7a529f51bfebdd4b3e69c866dced9bc1) 519 0 R (group__Version_ga8458e58a5e857de11c35ce3076a70ab8) 517 0 R (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213) 523 0 R]
+/Limits [(group__Version_ga63fef7041da34ac5bb372a2535d99377) (group__Version_gaa50f472bf6d1869a2fc1500d2fdf8213)]
+>> endobj
+3515 0 obj <<
+/Names [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) 522 0 R (group__Version_gabadfeba0a415d210cdd6d7309365e800) 518 0 R (group__Version_gabdf8f4e9416010573d48e21cf0584762) 521 0 R (group__Version_gac6abee034f6ac000f15d1206fdeb8316) 525 0 R (group__Version_gae19dfe022c51c874d905e2a7c81c18f1) 516 0 R (index) 261 0 R]
+/Limits [(group__Version_gab51f10ea37de5299e9bc840afa206d4e) (index)]
+>> endobj
+3516 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) 408 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a26270ebae88b22836f94cbdd003a022e) 966 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a27c82492b590d5445541451928a593ac) 978 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a2c8e06a14ae0f5878428e7385e98bedf) 976 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_a [...]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_ab1e38080e1de577a82f181e1e87cea61)]
+>> endobj
+3517 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) 964 0 R (interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_afa0c60a0cce5f80bcf4fdd22ba4913a9) 969 0 R (interfaceppl__Artificial__Parameter__tag) 409 0 R (interfaceppl__Artificial__Parameter__tag_a0340ab7363ad499c2d6a0182bc874057) 1016 0 R (interfaceppl__Artificial__Parameter__tag_a12aac19f5cba4af9f1a177cd7b772242) 1015 0 R (interfaceppl__Artificial__Parameter_ [...]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag_adbcbb0f82f71091112f2c768d2107bb8) (interfaceppl__Artificial__Parameter__tag_a23b660d538bf3d3140ab3a4dfe649f61)]
+>> endobj
+3518 0 obj <<
+/Names [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) 1012 0 R (interfaceppl__Artificial__Parameter__tag_a80b6aa70e38446636a0523f06353c8f2) 1013 0 R (interfaceppl__Artificial__Parameter__tag_a8758040d0309c4f1bce32f105cf4c554) 1010 0 R (interfaceppl__Artificial__Parameter__tag_ac7eb99bc96d86baf058f856e41b2ddfe) 1020 0 R (interfaceppl__Artificial__Parameter__tag_acb2d4b9c84cd7b7b4f2abb568471c424) 1019 0 R (interfaceppl__Artificial__Parameter__tag_adc5d20f68f0 [...]
+/Limits [(interfaceppl__Artificial__Parameter__tag_a6bc95e351716acc4b56829a62464cddb) (interfaceppl__Artificial__Parameter__tag_adc5d20f68f042656187d507cff5ceea7)]
+>> endobj
+3519 0 obj <<
+/Names [(interfaceppl__Coefficient__tag) 410 0 R (interfaceppl__Coefficient__tag_a001b2a61c18a500a446151a9024de3fe) 1062 0 R (interfaceppl__Coefficient__tag_a1e3bb22af6b60660fcb8d201b09ec7ed) 1067 0 R (interfaceppl__Coefficient__tag_a1ef606afeb25edded051be3b0c728086) 1059 0 R (interfaceppl__Coefficient__tag_a249071ec2d19ecedaaf4e32ca8fc4a8d) 1068 0 R (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e) 1058 0 R]
+/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Coefficient__tag_a39db5035590b4bf7017a43cdcca6a49e)]
+>> endobj
+3520 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) 1063 0 R (interfaceppl__Coefficient__tag_a526a2d8ad27e00b633408a36830dc2ae) 1064 0 R (interfaceppl__Coefficient__tag_a5fa6bcd4ec3cf844646033688f2fdf0a) 1055 0 R (interfaceppl__Coefficient__tag_aa1816497499ee569563a6d97a4ff553a) 1066 0 R (interfaceppl__Coefficient__tag_aaf38dc5a17ef89e16c45f363397afb59) 1056 0 R (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f) 1061 0 R]
+/Limits [(interfaceppl__Coefficient__tag_a474cce1b8348a126a8496cea7952a1f1) (interfaceppl__Coefficient__tag_abe5af687ddf08c6379bd115d210ac22f)]
+>> endobj
+3521 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) 1060 0 R (interfaceppl__Coefficient__tag_af0b12578ecdb0571ca51ee09789b2fc3) 1065 0 R (interfaceppl__Coefficient__tag_afabc584f4f391708d6c0d7c47030471a) 1057 0 R (interfaceppl__Congruence__System__const__iterator__tag) 411 0 R (interfaceppl__Congruence__System__const__iterator__tag_a38ece4277d5885940d45d6c8465ca19a) 1096 0 R (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)  [...]
+/Limits [(interfaceppl__Coefficient__tag_acad04388edea0d80b20c40266a3c3f14) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
+>> endobj
+3522 0 obj <<
+/Names [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) 1104 0 R (interfaceppl__Congruence__System__const__iterator__tag_a7f1fc328bf8f0d2ec92a6599ce7fe2d3) 1102 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9af8efc183a5a4cd4475146207f92c8a) 1095 0 R (interfaceppl__Congruence__System__const__iterator__tag_a9c7ea131b285ad7aaefbc1e2cf579512) 1098 0 R (interfaceppl__Congruence__System__const__iterator__tag_ade6bd909f8bb4bcdaed4dced85c [...]
+/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__System__tag)]
+>> endobj
+3523 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) 1174 0 R (interfaceppl__Congruence__System__tag_a2c60071e2c7adec51fc7175ddb7a3bff) 1168 0 R (interfaceppl__Congruence__System__tag_a3b54824f0f53bf664c3114fb67557115) 1206 0 R (interfaceppl__Congruence__System__tag_a3ce50d0fcf796935652563144194ccf7) 1171 0 R (interfaceppl__Congruence__System__tag_a45fb5ebe8a9c33d1e73593b09d8ab877) 1205 0 R (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99 [...]
+/Limits [(interfaceppl__Congruence__System__tag_a19d1974dd5b293a48b8f2de6fa3c2c8b) (interfaceppl__Congruence__System__tag_a56b9fe489466e7376b72bc99b4f99126)]
+>> endobj
+3524 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) 1166 0 R (interfaceppl__Congruence__System__tag_a68de3cffc4bbfa2a79c06c51adb653a8) 1161 0 R (interfaceppl__Congruence__System__tag_a86691cc44e4ef41d379ec2477221f0de) 1208 0 R (interfaceppl__Congruence__System__tag_a8cba47c10a4d9a84b170b37932dc04e5) 1163 0 R (interfaceppl__Congruence__System__tag_a8ce02af4c13862f7988ad3e43b5290cf) 1165 0 R (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce3 [...]
+/Limits [(interfaceppl__Congruence__System__tag_a5a6326e465cce738cb09fdd8df1d92ba) (interfaceppl__Congruence__System__tag_aa8fd21a451fe377a328d750951ce36f3)]
+>> endobj
+3525 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) 1207 0 R (interfaceppl__Congruence__System__tag_ae5f214d520a1f232251bee39685b62a2) 1158 0 R (interfaceppl__Congruence__System__tag_ae88c914d522014d2d181278bcfa9222f) 1172 0 R (interfaceppl__Congruence__System__tag_aed43bafe74e2b291d7b980c6ee8f3d5f) 1157 0 R (interfaceppl__Congruence__System__tag_af03d1a4f7f355971ac31ec1e4cb7297d) 1160 0 R (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa46373 [...]
+/Limits [(interfaceppl__Congruence__System__tag_abeb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Congruence__System__tag_af6cb7e34c1083df796fb12aa463739e6)]
+>> endobj
+3526 0 obj <<
+/Names [(interfaceppl__Congruence__tag) 413 0 R (interfaceppl__Congruence__tag_a0399dc1a987546af5d0491e72a6a05e4) 1219 0 R (interfaceppl__Congruence__tag_a08a4701b629d734ea0e11231a34514b0) 1216 0 R (interfaceppl__Congruence__tag_a10d11983038c7047547f4a68f8ea2b70) 1255 0 R (interfaceppl__Congruence__tag_a2845e4528b7b42c6c6527daceee21312) 1218 0 R (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3) 1260 0 R]
+/Limits [(interfaceppl__Congruence__tag) (interfaceppl__Congruence__tag_a29295feb65378f2ba04c202f4b9a1bb3)]
+>> endobj
+3527 0 obj <<
+/Names [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) 1258 0 R (interfaceppl__Congruence__tag_a553952be8bff48ab2a4a8b2820efc047) 1252 0 R (interfaceppl__Congruence__tag_a5e1c7e98053b2262c5f56c46e2f04f05) 1251 0 R (interfaceppl__Congruence__tag_a6871446de8be708c37b2bedbf12c9b76) 1215 0 R (interfaceppl__Congruence__tag_a6d24fa81c885803e34fadd9332287d2e) 1211 0 R (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d) 1217 0 R]
+/Limits [(interfaceppl__Congruence__tag_a4ea3e6a8b8e929e318a5c1c450667d10) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3528 0 obj <<
+/Names [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) 1254 0 R (interfaceppl__Congruence__tag_acaca085247f8483085877e21527a9cd6) 1256 0 R (interfaceppl__Congruence__tag_add70a09fb9b3cb0b8b7ce79d8d9ec14c) 1259 0 R (interfaceppl__Congruence__tag_af39f78c492db753013cbfd0177ffea60) 1261 0 R (interfaceppl__Congruence__tag_af61686ed9ede21b05016ee29f9de882b) 1257 0 R (interfaceppl__Constraint__System__const__iterator__tag) 414 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__System__const__iterator__tag)]
+>> endobj
+3529 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) 1264 0 R (interfaceppl__Constraint__System__const__iterator__tag_a18f6401539b34122053f5d76da0c3282) 1297 0 R (interfaceppl__Constraint__System__const__iterator__tag_a60ac68b3806bdf2e8b4805d661c52def) 1265 0 R (interfaceppl__Constraint__System__const__iterator__tag_a93c2b042e4c644ba6052c0a0130c74ff) 1299 0 R (interfaceppl__Constraint__System__const__iterator__tag_a9427aa22f07ee35e906d05bcd35 [...]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_a061420fd93cf031e877897142071c67d) (interfaceppl__Constraint__System__const__iterator__tag_abd830cdbf47ea1e5f0cb88ba4e3dddd7)]
+>> endobj
+3530 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) 1295 0 R (interfaceppl__Constraint__System__tag) 415 0 R (interfaceppl__Constraint__System__tag_a06731c2e3b3d14dceffb5b81f1447bc8) 1362 0 R (interfaceppl__Constraint__System__tag_a0d28be41ac786db82ce3cb24e2db5543) 1351 0 R (interfaceppl__Constraint__System__tag_a1b4e8ec21c2f4b2b925c4e11474062b9) 1355 0 R (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb) 1358 0 R]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_adc0293455632f1e58de03ee68caa785a) (interfaceppl__Constraint__System__tag_a27f2fdd3945057760e252740c98573eb)]
+>> endobj
+3531 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) 1307 0 R (interfaceppl__Constraint__System__tag_a3bd9634d21689bd4b0cbcb476a101e92) 1366 0 R (interfaceppl__Constraint__System__tag_a4316d3e1fd40ef324f4f9ac970481c9f) 1364 0 R (interfaceppl__Constraint__System__tag_a442076de6b59703f82c552f7e70aad72) 1354 0 R (interfaceppl__Constraint__System__tag_a56d19de5207d94e358a433995ce9730c) 1349 0 R (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc [...]
+/Limits [(interfaceppl__Constraint__System__tag_a2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Constraint__System__tag_a5e22cd8ea46cdef0e09027e6177fc838)]
+>> endobj
+3532 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) 1308 0 R (interfaceppl__Constraint__System__tag_a7a018b29b6f334f666391ec729265c25) 1365 0 R (interfaceppl__Constraint__System__tag_a984fd654d7b169e74d13f6207d48fefb) 1347 0 R (interfaceppl__Constraint__System__tag_aa975ef75ddb5359966ff21eecca491d0) 1356 0 R (interfaceppl__Constraint__System__tag_ab1988eecd5bca9d4ad8dbd128c885b9b) 1306 0 R (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b4 [...]
+/Limits [(interfaceppl__Constraint__System__tag_a6b54d1a028c5a0eff158b33ce1a6670f) (interfaceppl__Constraint__System__tag_ac19488a8f4e64cb797b8402ea44b456d)]
+>> endobj
+3533 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) 1368 0 R (interfaceppl__Constraint__System__tag_ad9b9ef9435b7a3bc8d92435ccf1cc0d7) 1352 0 R (interfaceppl__Constraint__System__tag_af8ebe9c0ce769746c2d2d01f6fcb4c91) 1361 0 R (interfaceppl__Constraint__tag) 416 0 R (interfaceppl__Constraint__tag_a08451f3fa991dc14b1b8874bdefd7cf2) 1456 0 R (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787) 1411 0 R]
+/Limits [(interfaceppl__Constraint__System__tag_ac8105464b2dbee48f8646bc2c2f1f2d8) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
+>> endobj
+3534 0 obj <<
+/Names [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) 1420 0 R (interfaceppl__Constraint__tag_a2d4948b195e743f39601a13610fcf94f) 1416 0 R (interfaceppl__Constraint__tag_a380ed65a246cd38c5ca3893b40eb4603) 1418 0 R (interfaceppl__Constraint__tag_a414a473844efce3515611fdc6b26e4de) 1423 0 R (interfaceppl__Constraint__tag_a702543ee828ef523fb5fe5ffdaf25925) 1415 0 R (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545) 1455 0 R]
+/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Constraint__tag_a87fc73217faaf213d5b5a810272be545)]
+>> endobj
+3535 0 obj <<
+/Names [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) 1419 0 R (interfaceppl__Constraint__tag_a90e279d0af3491d3cc793595e3e1bbff) 1454 0 R (interfaceppl__Constraint__tag_a94ca29d276a68f3f75aa62c8ab6109e4) 1457 0 R (interfaceppl__Constraint__tag_a9a30e394a9c84bb9d2debda31433e6b4) 1453 0 R (interfaceppl__Constraint__tag_aadbcd3b735dae0f714d1134cf8e6b911) 1422 0 R (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9) 1413 0 R]
+/Limits [(interfaceppl__Constraint__tag_a8c466c744746ef7249afa54667470cf5) (interfaceppl__Constraint__tag_ab93e22d57d1f5d94ae97ba1b9de9e3f9)]
+>> endobj
+3536 0 obj <<
+/Names [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) 1414 0 R (interfaceppl__Constraint__tag_ac21bd81d2f33da4dc915020bf16c801a) 1417 0 R (interfaceppl__Generator__System__const__iterator__tag) 417 0 R (interfaceppl__Generator__System__const__iterator__tag_a51dfb5223b7487379681d4cc1583917f) 1465 0 R (interfaceppl__Generator__System__const__iterator__tag_a7d4bec3e6101e95b57973dcab5880a51) 1494 0 R (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff8952 [...]
+/Limits [(interfaceppl__Constraint__tag_abfb19498f2647b44344c6a84fdd6cd2d) (interfaceppl__Generator__System__const__iterator__tag_ab823e62915ff895212640119f062252c)]
+>> endobj
+3537 0 obj <<
+/Names [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) 1495 0 R (interfaceppl__Generator__System__const__iterator__tag_acb94e9072062c0827a16766cef2c1a5e) 1466 0 R (interfaceppl__Generator__System__const__iterator__tag_acd03b90ea728537b78a669806309a5c0) 1461 0 R (interfaceppl__Generator__System__const__iterator__tag_ae2334b2eefe8cae2ad750dfea1f7cade) 1463 0 R (interfaceppl__Generator__System__tag) 418 0 R (interfaceppl__Generator__System__tag_a06 [...]
+/Limits [(interfaceppl__Generator__System__const__iterator__tag_ac5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__System__tag_a067f83ba740e5b6c0c585a5175723a0b)]
+>> endobj
+3538 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) 1499 0 R (interfaceppl__Generator__System__tag_a3d3687abfb3878a67fca687b8e4ff0b9) 1548 0 R (interfaceppl__Generator__System__tag_a3f5244b219701d5ba5939982a1d11d97) 1546 0 R (interfaceppl__Generator__System__tag_a540cea530eaa9c142b16fbf01f781673) 1506 0 R (interfaceppl__Generator__System__tag_a7752ae55e7cd4d014f6498348ef47865) 1500 0 R (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c) 1 [...]
+/Limits [(interfaceppl__Generator__System__tag_a33e20d1de127c9232d2d1188bee532ef) (interfaceppl__Generator__System__tag_a888341fcf1079aaaa4dd7b532662729c)]
+>> endobj
+3539 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) 1540 0 R (interfaceppl__Generator__System__tag_aad90ffcd536cd0d48ee183bca02103fc) 1552 0 R (interfaceppl__Generator__System__tag_ab1316806c765a595ddfa4de5e8d971f6) 1502 0 R (interfaceppl__Generator__System__tag_aba231f6ac03d82cbf693a6a29a5c2665) 1550 0 R (interfaceppl__Generator__System__tag_ae12a1e70aa5010e6617de857f51574a8) 1549 0 R (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3) 1 [...]
+/Limits [(interfaceppl__Generator__System__tag_aa7260438cfc5fa383c7fb80b127f8315) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
+>> endobj
+3540 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) 1507 0 R (interfaceppl__Generator__System__tag_af5253fb7ef85e1875cc453d9a9998459) 1504 0 R (interfaceppl__Generator__System__tag_af5911dc31286d92c979c7ff89c249bc8) 1545 0 R (interfaceppl__Generator__System__tag_afcc12e4f52a8ff85d16ebfc424447b63) 1542 0 R (interfaceppl__Generator__tag) 419 0 R (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2) 1601 0 R]
+/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Generator__tag_a048cb229297e24f6d0f7ab4e4351e2c2)]
+>> endobj
+3541 0 obj <<
+/Names [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) 1609 0 R (interfaceppl__Generator__tag_a278a22338f8428e328daf84dea4f94e7) 1604 0 R (interfaceppl__Generator__tag_a297969dd313ebb370c9419915398aaf2) 1603 0 R (interfaceppl__Generator__tag_a30161047ab7c47dd7a68a852e98ed83e) 1613 0 R (interfaceppl__Generator__tag_a30d13726e3b27f1be7e5eb05a7814bb3) 1605 0 R (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c) 1607 0 R]
+/Limits [(interfaceppl__Generator__tag_a140a26e6f6dc525c742aca71f598ed3c) (interfaceppl__Generator__tag_a318f5f2972203c84ea0fdb4b82bbab1c)]
+>> endobj
+3542 0 obj <<
+/Names [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) 1611 0 R (interfaceppl__Generator__tag_a6a901364857f84dc0f111a29330c33f9) 1614 0 R (interfaceppl__Generator__tag_a6d184edbb85d3c2747bb6097f7de17ad) 1612 0 R (interfaceppl__Generator__tag_a74a772b49c2c3190ad8501ffa0337d2f) 1610 0 R (interfaceppl__Generator__tag_aafa09f891353748a46868d342cc91cbc) 1598 0 R (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e) 1602 0 R]
+/Limits [(interfaceppl__Generator__tag_a5d89173a47e10f469337343cfb807218) (interfaceppl__Generator__tag_ab3fe811bb3a347e553576dadff55339e)]
+>> endobj
+3543 0 obj <<
+/Names [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) 1596 0 R (interfaceppl__Generator__tag_ad6d26ca0f256b0d9a45173e7d83ee4cc) 1615 0 R (interfaceppl__Generator__tag_af2fd5edcf647f4bc5b64cf0f4f712a51) 1606 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag) 420 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a0632eaac5ec676910e433016619b3e85) 1641 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3c [...]
+/Limits [(interfaceppl__Generator__tag_ace16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__System__const__iterator__tag_a1842c4ba3cd1adb1e1bccef3cfcfa57f)]
+>> endobj
+3544 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) 1649 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_ac23bf247df0b2721e97c8eeb8945adf1) 1643 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af2932a2fa90f54f604e340d0e2eac7ba) 1645 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af4cdf3fbe1977a24a90904e02efd791b) 1651 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_af8 [...]
+/Limits [(interfaceppl__Grid__Generator__System__const__iterator__tag_a813ac0651ebac0120830cedf1ea58395) (interfaceppl__Grid__Generator__System__tag)]
+>> endobj
+3545 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) 1698 0 R (interfaceppl__Grid__Generator__System__tag_a22e81aa8cd862935e9a0abab515cf838) 1735 0 R (interfaceppl__Grid__Generator__System__tag_a303533574d5d5d4d8f58e2d8646baa69) 1691 0 R (interfaceppl__Grid__Generator__System__tag_a3094a8093769d647b9f477e14d53a3a0) 1700 0 R (interfaceppl__Grid__Generator__System__tag_a3671e52fd03a1c456c630b7c5c632df8) 1703 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a121252cea61436e0df74e008b80c13b7) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
+>> endobj
+3546 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) 1705 0 R (interfaceppl__Grid__Generator__System__tag_a95c612736a3e7524077dd5c81bf2a105) 1693 0 R (interfaceppl__Grid__Generator__System__tag_a9fc89d795c20b4270756269edf1b9604) 1697 0 R (interfaceppl__Grid__Generator__System__tag_aa6324c2e330df63ad428eec9182fcc4d) 1740 0 R (interfaceppl__Grid__Generator__System__tag_aaf6f8270e3742973e0df7dcc9132f7ae) 1741 0 R (interfaceppl__Grid__Generator__System__tag_ [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Grid__Generator__System__tag_abc859551651eca1bcc3839f62d45dbfe)]
+>> endobj
+3547 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) 1692 0 R (interfaceppl__Grid__Generator__System__tag_ad00a2a1877537fa49a41013078ee2bb6) 1739 0 R (interfaceppl__Grid__Generator__System__tag_ad4d88d3daaa672264c63c83071c2021b) 1695 0 R (interfaceppl__Grid__Generator__System__tag_ae2c6fa9b0155fd9428ff3abcf1a66805) 1701 0 R (interfaceppl__Grid__Generator__System__tag_af29295940b1ad0b6b48cc44e92f04060) 1738 0 R (interfaceppl__Grid__Generator__tag) 454 0 R]
+/Limits [(interfaceppl__Grid__Generator__System__tag_ac64c8548738734fedbc94f03519b803a) (interfaceppl__Grid__Generator__tag)]
+>> endobj
+3548 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) 1792 0 R (interfaceppl__Grid__Generator__tag_a190a7c46776178432e89c9525db039ab) 1795 0 R (interfaceppl__Grid__Generator__tag_a2a64fe7b9774c990bd9db8aecd2dacea) 1782 0 R (interfaceppl__Grid__Generator__tag_a3fc151fc10282a5ede395e9b8a5502e2) 1793 0 R (interfaceppl__Grid__Generator__tag_a6cb7351e1bb87181f7e6c946db398b5b) 1779 0 R (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1) 1785 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_a0ca9a6d6894e381babab8f958c194f07) (interfaceppl__Grid__Generator__tag_a85958538f17770d4ae66bcd179d747a1)]
+>> endobj
+3549 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) 1789 0 R (interfaceppl__Grid__Generator__tag_a99aac01eb1b8adc3667bbd3db68e8d34) 1787 0 R (interfaceppl__Grid__Generator__tag_a9b452ce4baaf1c1644a6eb33658ae48a) 1784 0 R (interfaceppl__Grid__Generator__tag_a9c2a70f5f90ec3da123f549d6ca9fe4a) 1744 0 R (interfaceppl__Grid__Generator__tag_aa8e9420c29d8c75e775c4fd609830769) 1790 0 R (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75) 1794 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_a8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__Grid__Generator__tag_ac5a83c9e42e34b313e12a6cef4470a75)]
+>> endobj
+3550 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) 1780 0 R (interfaceppl__Grid__Generator__tag_adfc86b3b2966514ba2e2292584f68c08) 1786 0 R (interfaceppl__Grid__Generator__tag_afb6f23292760d6d55c57b5722f604897) 1791 0 R (interfaceppl__Linear__Expression__tag) 455 0 R (interfaceppl__Linear__Expression__tag_a1c54d4109f395752ea23822cee000d04) 1849 0 R (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d) 1899 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_acc700387404f10208584c1a847a6f328) (interfaceppl__Linear__Expression__tag_a225478fba412d40b785e2b41809cc90d)]
+>> endobj
+3551 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) 1904 0 R (interfaceppl__Linear__Expression__tag_a46773b226d490e5bbf6f3d587cf29dc4) 1909 0 R (interfaceppl__Linear__Expression__tag_a50bcfefbf053e770951fa02c2e2eb112) 1910 0 R (interfaceppl__Linear__Expression__tag_a512810c3e349a2f01217c6e426645260) 1841 0 R (interfaceppl__Linear__Expression__tag_a5f05719adb05b4fc86b33bbcf63884eb) 1898 0 R (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_a3530a20e5985d6da8acabad37bfe0e93) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
+>> endobj
+3552 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) 1908 0 R (interfaceppl__Linear__Expression__tag_a7d65378709f5a0c73e711f5528385990) 1845 0 R (interfaceppl__Linear__Expression__tag_a8172cf537ccecb7826eb21837b8d7e7b) 1906 0 R (interfaceppl__Linear__Expression__tag_a84c2e36e2ae01775ce542ebc83739726) 1900 0 R (interfaceppl__Linear__Expression__tag_a86c148ed14d1a2781e07bea5be7fb434) 1858 0 R (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__Linear__Expression__tag_a9ab7b109b1acae567c915b1db83b5283)]
+>> endobj
+3553 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) 1840 0 R (interfaceppl__Linear__Expression__tag_ab348eeffa0a61124b880932c35d0188b) 1897 0 R (interfaceppl__Linear__Expression__tag_abbbdd7f3c4800ef97b642142cd68648d) 1853 0 R (interfaceppl__Linear__Expression__tag_abfe9ef58fb96938e1c26b63e2b4ce0d1) 1902 0 R (interfaceppl__Linear__Expression__tag_ac21bf6dd42b915ff6f157fb73fe396e0) 1911 0 R (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_aa891671c2b9414353067da44a108ac1d) (interfaceppl__Linear__Expression__tag_ae7af7908bffe9b331262dcf8fd020b7f)]
+>> endobj
+3554 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) 1896 0 R (interfaceppl__Linear__Expression__tag_af232ff2f43109950ac1b0f5d124cf4cc) 1855 0 R (interfaceppl__Linear__Expression__tag_af78187771d58e90c174eeba577a471d5) 1912 0 R (interfaceppl__Linear__Expression__tag_af99b9dc1c16751ce872dab5245c22fdf) 1851 0 R (interfaceppl__Linear__Expression__tag_afc650c1c744fbfc4dbd15293b9827776) 1843 0 R (interfaceppl__MIP__Problem__tag) 456 0 R]
+/Limits [(interfaceppl__Linear__Expression__tag_ae861c5919e346c3966c43edc4cd47276) (interfaceppl__MIP__Problem__tag)]
+>> endobj
+3555 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) 2088 0 R (interfaceppl__MIP__Problem__tag_a0d5a001977b49f77a4514de614bf3c4c) 2025 0 R (interfaceppl__MIP__Problem__tag_a19ff64e7fd60a4e08c782a4683d62167) 2032 0 R (interfaceppl__MIP__Problem__tag_a2b4edec92d54747f5f1d2904407e744a) 2096 0 R (interfaceppl__MIP__Problem__tag_a32423400858178cc05f325962afd44e2) 1955 0 R (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79) 1961 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a086e697a92a664c83721e0c442d45271) (interfaceppl__MIP__Problem__tag_a34e5d32c224ab8293ff78c85d86e5f79)]
+>> endobj
+3556 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) 2039 0 R (interfaceppl__MIP__Problem__tag_a36c57e3007fcb2340dc415f8431df7aa) 2041 0 R (interfaceppl__MIP__Problem__tag_a3789c297e202c735dbd829cd6cbed989) 2087 0 R (interfaceppl__MIP__Problem__tag_a396b429302ce49ea9915778c317b81d2) 2083 0 R (interfaceppl__MIP__Problem__tag_a39e443628f6b73203b0f66189b8bc1c6) 2046 0 R (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420) 2095 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a3659fef24b67be6b668955bc6865e779) (interfaceppl__MIP__Problem__tag_a3ff750009bec94ab2c9a01139ba22420)]
+>> endobj
+3557 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) 2093 0 R (interfaceppl__MIP__Problem__tag_a44aa5cc75376dddfb9005dd74b27ff68) 2037 0 R (interfaceppl__MIP__Problem__tag_a4b9b7034fd7b17eff672d49a7c85ac2f) 2031 0 R (interfaceppl__MIP__Problem__tag_a4da79f8c645b945d52635733c3f63d7d) 2027 0 R (interfaceppl__MIP__Problem__tag_a5357e1ed14407abf82149fe878789efd) 2036 0 R (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4) 2042 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a43a14864f62b4528d6c87856cba4da34) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
+>> endobj
+3558 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) 2029 0 R (interfaceppl__MIP__Problem__tag_a70c652d969734f6a69841d30a5e9033b) 1968 0 R (interfaceppl__MIP__Problem__tag_a7397b715c2ccf3f6fcf2f3900efe10d6) 2086 0 R (interfaceppl__MIP__Problem__tag_a8190bd5fde521e37c585c5c59b65f90d) 2089 0 R (interfaceppl__MIP__Problem__tag_a894587e76b98f15a8ae120327dc9d532) 2080 0 R (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b) 1970 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__MIP__Problem__tag_a8bda1b8ba9119202c16f88fdb19a535b)]
+>> endobj
+3559 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) 1957 0 R (interfaceppl__MIP__Problem__tag_a8efd1f7de8fb2bbe6e33aff1d4184078) 1956 0 R (interfaceppl__MIP__Problem__tag_a8f2ab3d77bca7257df14bda9261a1326) 1958 0 R (interfaceppl__MIP__Problem__tag_a97fad1530ac4a3704d08097aec4bf206) 2085 0 R (interfaceppl__MIP__Problem__tag_a9dfe99ee7d8e2b1d7360ab0119bd12eb) 1960 0 R (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0) 1972 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a8ca7076566ebe098ff3bc307b4d91899) (interfaceppl__MIP__Problem__tag_aa1663bce444a20240c852c9443005cc0)]
+>> endobj
+3560 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) 2034 0 R (interfaceppl__MIP__Problem__tag_ab95e9f75dd971827c8a9a6b42faeeac7) 1964 0 R (interfaceppl__MIP__Problem__tag_ac379f873623c0fec37d988c2c374ffe5) 1963 0 R (interfaceppl__MIP__Problem__tag_ac39a1aacb6aa4f54150e2b138d7b36f2) 2035 0 R (interfaceppl__MIP__Problem__tag_acdbb5fd3fa1ab9faed26fc5be47cc0d2) 2047 0 R (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7) 2024 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_ab50ac757b6cb922c40504dc69c983568) (interfaceppl__MIP__Problem__tag_ad2154705f0854002a4f44f95580df9c7)]
+>> endobj
+3561 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) 2084 0 R (interfaceppl__MIP__Problem__tag_adf86eb3611cbe63b34ef195bc87a7312) 1954 0 R (interfaceppl__MIP__Problem__tag_ae5845918fa5037ca4e9bdde4a4a3ecf2) 2079 0 R (interfaceppl__MIP__Problem__tag_ae7dc964062c194e3ae8eef0a828164ae) 2082 0 R (interfaceppl__MIP__Problem__tag_aebfd121256089b1415f3bc6989c25bbb) 2090 0 R (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a) 2044 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_ad8caceee4f21496294aee9eb9aea4ec1) (interfaceppl__MIP__Problem__tag_af349e801a615b2014d36c30fdb56022a)]
+>> endobj
+3562 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) 1966 0 R (interfaceppl__MIP__Problem__tag_af63454e50c1937573c75495f3cb4c1d2) 1959 0 R (interfaceppl__PIP__Decision__Node__tag) 457 0 R (interfaceppl__PIP__Decision__Node__tag_a384e3002cf83ca2e73c4290d8629e043) 2122 0 R (interfaceppl__PIP__Decision__Node__tag_a4c12656e0256a4db3311855f9e94a36d) 2123 0 R (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542) 2120 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_af59141db49e5141da6ac594d43ead2f7) (interfaceppl__PIP__Decision__Node__tag_a6455bb2686ced2d1a463955f6cbfa542)]
+>> endobj
+3563 0 obj <<
+/Names [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) 2125 0 R (interfaceppl__PIP__Decision__Node__tag_a8f1b879675bf41b40bab41ebe9a97346) 2124 0 R (interfaceppl__PIP__Decision__Node__tag_ab8a5eaf323d5fb0076b2ce079f9f5fc4) 2126 0 R (interfaceppl__PIP__Problem__tag) 458 0 R (interfaceppl__PIP__Problem__tag_a00a4b6909bbb8ab2fbf602d8589707b9) 2172 0 R (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3) 2273 0 R]
+/Limits [(interfaceppl__PIP__Decision__Node__tag_a6b1a2446aa655ae65ce51b8a025c5751) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3564 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) 2281 0 R (interfaceppl__PIP__Problem__tag_a0fa81de47c40e47efad3842142159fe5) 2276 0 R (interfaceppl__PIP__Problem__tag_a1492c1ef5bc77d977d14267b2344ddf1) 2160 0 R (interfaceppl__PIP__Problem__tag_a182da2aa2af850a82ea4b4ab3773a759) 2279 0 R (interfaceppl__PIP__Problem__tag_a1ebc3efbeb7fcf8da5556b365a9a1839) 2242 0 R (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84) 2277 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_a227bae7ca5019a2488065ba188acbc84)]
+>> endobj
+3565 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) 2274 0 R (interfaceppl__PIP__Problem__tag_a2828646f7257660ec4a2a6a06427a715) 2240 0 R (interfaceppl__PIP__Problem__tag_a2f230174a1c6cf8b3d0115ab268d02e1) 2233 0 R (interfaceppl__PIP__Problem__tag_a41b5af390cf2af727c18a043bb869ffc) 2229 0 R (interfaceppl__PIP__Problem__tag_a4c043227bbacc5af1e44439c140f95fc) 2282 0 R (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7) 2227 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a239ff7924a1294205e5057d1048986ac) (interfaceppl__PIP__Problem__tag_a4f7ccdbb25ecfb4dcd2facbed54f26b7)]
+>> endobj
+3566 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) 2224 0 R (interfaceppl__PIP__Problem__tag_a65ace8cdf5e2fbf6e82c6834d3d29ada) 2235 0 R (interfaceppl__PIP__Problem__tag_a66b9c383e8c77d79c0ffbd2f99987a94) 2234 0 R (interfaceppl__PIP__Problem__tag_a68099fb9bb1067212c3e998b00255b24) 2232 0 R (interfaceppl__PIP__Problem__tag_a6b6bd9554098c88af56947f5a9e02818) 2243 0 R (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215) 2226 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a51082042eaafc2db84f50f28d3d5b646) (interfaceppl__PIP__Problem__tag_a7387184a11ae23fd66b730a1ae720215)]
+>> endobj
+3567 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) 2161 0 R (interfaceppl__PIP__Problem__tag_a76361c178cf8799f530f17e791e8d0b1) 2231 0 R (interfaceppl__PIP__Problem__tag_a7fde6bb756bf47a2801a8de40b1472d5) 2165 0 R (interfaceppl__PIP__Problem__tag_a83ff647a9f553f233355dcfe08f925ca) 2159 0 R (interfaceppl__PIP__Problem__tag_a8e179abb162b61259eb3923f067944ad) 2225 0 R (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c) 2238 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a73faac81cdd75868a90e0769e6e810ce) (interfaceppl__PIP__Problem__tag_a9f81c698a50d6b97d896dca8cda4042c)]
+>> endobj
+3568 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) 2164 0 R (interfaceppl__PIP__Problem__tag_aaa0eabf4e1c5b3bacdbadbc4fceeb6e7) 2283 0 R (interfaceppl__PIP__Problem__tag_ab5075367b0d60e3b979b18b4b8b36f55) 2158 0 R (interfaceppl__PIP__Problem__tag_ab51c22e30fbf76be062c500f2187b0a9) 2280 0 R (interfaceppl__PIP__Problem__tag_ab69f3fd82a3be2e835c16d812f6ef39f) 2275 0 R (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71) 2163 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aa91485e68401872e9369580d71074838) (interfaceppl__PIP__Problem__tag_ab98bad036b29cb094195b1d8e8212c71)]
+>> endobj
+3569 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) 2285 0 R (interfaceppl__PIP__Problem__tag_aca972841d5888907f7dcf13b24134e27) 2236 0 R (interfaceppl__PIP__Problem__tag_ad5da07355917717a2b3ea402a2a27cec) 2166 0 R (interfaceppl__PIP__Problem__tag_add80dff3a130d086d15874ada6e8d8ae) 2168 0 R (interfaceppl__PIP__Problem__tag_adeef8fc42bbbeee0f82d5da5ed6b9fb6) 2290 0 R (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3) 2162 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_abe40c32264f8b51a8c0d259d0777afc3) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
+>> endobj
+3570 0 obj <<
+/Names [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) 2170 0 R (interfaceppl__PIP__Problem__tag_aee2f9e1a5347b0fd66ca5f9aec8009e1) 2284 0 R (interfaceppl__PIP__Solution__Node__tag) 459 0 R (interfaceppl__PIP__Solution__Node__tag_a1eef951ad8a431e18a3e9d6a9e56594d) 2317 0 R (interfaceppl__PIP__Solution__Node__tag_a6c514d39c645b2b47002b597d998f527) 2334 0 R (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f) 2315 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__PIP__Solution__Node__tag_a9526c7cca61983debf9ced54bf89aa7f)]
+>> endobj
+3571 0 obj <<
+/Names [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) 2316 0 R (interfaceppl__PIP__Solution__Node__tag_ad6ece2828d918bbd4cded63665b88e96) 2318 0 R (interfaceppl__PIP__Solution__Node__tag_af60a51929fc4969d04191e4f524f6031) 2333 0 R (interfaceppl__PIP__Tree__Node__tag) 460 0 R (interfaceppl__PIP__Tree__Node__tag_a0095864fde9ce398bbcdc67fd7d7f795) 2375 0 R (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab) 2342 0 R]
+/Limits [(interfaceppl__PIP__Solution__Node__tag_ad4796bea8c483cdbd25979da0c81007a) (interfaceppl__PIP__Tree__Node__tag_a242792f5af528730b645b3831b4c6dab)]
+>> endobj
+3572 0 obj <<
+/Names [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) 2383 0 R (interfaceppl__PIP__Tree__Node__tag_a4a89db919ecd790e62027d3559d8d539) 2380 0 R (interfaceppl__PIP__Tree__Node__tag_a53680b4913fbc0c8bbf3a3f4097f672d) 2376 0 R (interfaceppl__PIP__Tree__Node__tag_a5c88187145d242b27660f9247fe83ded) 2386 0 R (interfaceppl__PIP__Tree__Node__tag_a74f00bca9deb1df435f5f32e16be9849) 2385 0 R (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769) 2384 0 R]
+/Limits [(interfaceppl__PIP__Tree__Node__tag_a331092da872154b17ae2e8d675b88145) (interfaceppl__PIP__Tree__Node__tag_a83a66e20c2502b8a2cf7f8a4b9925769)]
+>> endobj
+3573 0 obj <<
+/Names [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) 2378 0 R (interfaceppl__PIP__Tree__Node__tag_a97dd1858b35adebeeb6f0d2edeecb693) 2373 0 R (interfaceppl__PIP__Tree__Node__tag_a9fa4831093fbb97122699c344264e792) 2340 0 R (interfaceppl__PIP__Tree__Node__tag_ad9ec458d7b2f78d11393475db3e4cfe3) 2382 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) 461 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4 [...]
+/Limits [(interfaceppl__PIP__Tree__Node__tag_a8fd26a28b5329cecc22ad0a6958a9ea8) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a0746b37f80c4be687b0dc5ded6190002)]
+>> endobj
+3574 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) 2432 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a70541b12c8a9b281b3aa4f9c21624b3c) 2428 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a8d39b1769491b0ee262118bfa31bcc67) 2421 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_abc4dd4b94a80075012b0f30b13339632) 2430 0 R (interfaceppl__Pointset_ [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_a62836b9156289bd880bf9f32056a4dee) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_ad69ffccc04d33132e31a91296afad78d)]
+>> endobj
+3575 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) 2425 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_add8c6ae913a7e3f0a7e1470a23ba04a3) 2423 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) 463 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a1785059acd1bf60dcf4cda0044cc94b5) 2488 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a35180fb6 [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_adb6f375b8aad58a31f6a60abb7a9b1e2) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
+>> endobj
+3576 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) 2474 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a7e3f8c5b2e614c5d18783c2ef7b092e1) 2470 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a98e7f050a579e9deeb71a75758238928) 2472 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_aa82f0fc73b5f98fab74070ee92a100cf) 2476 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__it [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_abe46bba93c5ddcf4cf4cafdb0d74f942)]
+>> endobj
+3577 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) 462 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a024a52502b35029ff2ba102323d8ae5b) 2523 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a0bf696420bbdc5c2ef0993f61f2273b7) 2536 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a1b2ee4d834f0651a41647ac5b5e0f912) 2530 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a26a124537b8995832b2cb157abc7cf07) 2519 0 R (interfaceppl__Pointset__Powe [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_a91f0ccf4325f53430d7347ca73182f52)]
+>> endobj
+3578 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) 2527 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ab595ea1166752d23aba600af43417bd8) 2533 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aeb8456ecf06307c108046a8c665154c9) 2521 0 R (interfaceppl__Polyhedron__tag) 464 0 R (interfaceppl__Polyhedron__tag_a0184ad10aeca27f95d249d3a7e061b46) 3030 0 R (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e) 2860 0 R]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_aae5f47efa7c023e45aed9be161dce99f) (interfaceppl__Polyhedron__tag_a01daecb5bf8e498e7d539d7f3ba8496e)]
+>> endobj
+3579 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) 3087 0 R (interfaceppl__Polyhedron__tag_a0b031bedcfb70f485bab922596bce1c8) 2870 0 R (interfaceppl__Polyhedron__tag_a0e494452cce5a8916f4fe97a1c79e237) 2787 0 R (interfaceppl__Polyhedron__tag_a141c3283de2a46f2fcb278dcdca0558f) 2768 0 R (interfaceppl__Polyhedron__tag_a191744753f79b939c8d61efe45778bd8) 2862 0 R (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061) 2620 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_a1bd806c292d0576b94d3084b21736061)]
+>> endobj
+3580 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) 2775 0 R (interfaceppl__Polyhedron__tag_a1e5a2940765710cccea4ef4f1b7f1092) 3092 0 R (interfaceppl__Polyhedron__tag_a27fdc62bc2cae150c7d710a8e312a40d) 2690 0 R (interfaceppl__Polyhedron__tag_a2dc649f0ee90ea5af999e3c0bae54bcb) 2688 0 R (interfaceppl__Polyhedron__tag_a2f80d4608b0b75948b50dd862a14df66) 2863 0 R (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d) 2626 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a1dd00b705631c579994677fea3a86d63) (interfaceppl__Polyhedron__tag_a304dd0846a62cb4a9f79806ea82cee5d)]
+>> endobj
+3581 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) 2764 0 R (interfaceppl__Polyhedron__tag_a381b0e6e2e58df417ff578ed6d715520) 2961 0 R (interfaceppl__Polyhedron__tag_a39ee8e60c1d4d6faa40986d8fba28d5d) 2767 0 R (interfaceppl__Polyhedron__tag_a3bc82e8c76e1a47ecc20c85e1003036d) 3028 0 R (interfaceppl__Polyhedron__tag_a3e07a3e1a6e6c9f281227b4e215a3dc7) 2785 0 R (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741) 2953 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a357ddb19493a385970c56bf4847a07a1) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
+>> endobj
+3582 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) 2567 0 R (interfaceppl__Polyhedron__tag_a46fc9d1041d5548a5f8f220af2a07028) 2962 0 R (interfaceppl__Polyhedron__tag_a4b5f126aef2ca062b034f795f6e5cf6d) 2763 0 R (interfaceppl__Polyhedron__tag_a50d5c68064e215d3f2cf3ee69896e676) 2683 0 R (interfaceppl__Polyhedron__tag_a52e2499c42a9be1e527642cbfb16ff8c) 2612 0 R (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807) 3122 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a5932fd0c6867d83e3a34d5e680225807)]
+>> endobj
+3583 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) 2779 0 R (interfaceppl__Polyhedron__tag_a5a9b061c4408ab8d70a1dea91a6ff983) 2861 0 R (interfaceppl__Polyhedron__tag_a5e7090393ee5801d9c988db6d2a06a43) 3023 0 R (interfaceppl__Polyhedron__tag_a5eeb3bf2e0ec7e6cd38e47b53eb43423) 3106 0 R (interfaceppl__Polyhedron__tag_a612142029eeee3dd72bb0d37c670d6db) 3085 0 R (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3) 3022 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a5a6342bc4e04c1f228d210e5c363b6d4) (interfaceppl__Polyhedron__tag_a6137f367c0c83a73146d84c998d37cb3)]
+>> endobj
+3584 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) 3016 0 R (interfaceppl__Polyhedron__tag_a680aecc71f3b21fa0db03c7d1cbe466b) 2695 0 R (interfaceppl__Polyhedron__tag_a69c0a9ffd5b8910a90a91943a10fe3b6) 3090 0 R (interfaceppl__Polyhedron__tag_a6b5c73b1f3f864c8a10c39810b4711ce) 3015 0 R (interfaceppl__Polyhedron__tag_a6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) 2697 0 R (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04) 2692 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a658545ec6169d2843323bfe1ff078e6f) (interfaceppl__Polyhedron__tag_a6d147411700f558d74d8273accfb8e04)]
+>> endobj
+3585 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) 2963 0 R (interfaceppl__Polyhedron__tag_a6ffd595f3e1d85275962dde5f8401c7f) 2959 0 R (interfaceppl__Polyhedron__tag_a703c5d92387510c5cbf8b0f1da3029b2) 2623 0 R (interfaceppl__Polyhedron__tag_a7135823ecf68cedd5236d53e2b5541f5) 2772 0 R (interfaceppl__Polyhedron__tag_a7573064b44c45d804d398aec02e7a64a) 3029 0 R (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b) 2884 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a6ff56c68b449b94588ea7290d01625d5) (interfaceppl__Polyhedron__tag_a784570f6ced5461b4d82cdfefa1cb31b)]
+>> endobj
+3586 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) 2875 0 R (interfaceppl__Polyhedron__tag_a819d233e9b1442e06c806dea0523a2f9) 2625 0 R (interfaceppl__Polyhedron__tag_a81cc2a565346ce8ee12124224ddd8d6c) 3010 0 R (interfaceppl__Polyhedron__tag_a8402fc25b68056511cf62f1378666a88) 2881 0 R (interfaceppl__Polyhedron__tag_a841ceef027f12d5c99fc2e739ae340fb) 3105 0 R (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc) 2686 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a7918c3a73aed2529e1e57b8983264bad) (interfaceppl__Polyhedron__tag_a85417db0eb420d402acee4ef0d842efc)]
+>> endobj
+3587 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) 3104 0 R (interfaceppl__Polyhedron__tag_a879f2f2b0f967fa73cb59ea8d8b1d255) 2677 0 R (interfaceppl__Polyhedron__tag_a88a7c177ebe33a3d41609609660fd3ee) 3100 0 R (interfaceppl__Polyhedron__tag_a88c408677f6de73fd80903738268efa3) 3095 0 R (interfaceppl__Polyhedron__tag_a8948143df881c58c79da34380f847401) 2629 0 R (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14) 2882 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a875b11e85fe96586152f53f498158b1f) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
+>> endobj
+3588 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) 2957 0 R (interfaceppl__Polyhedron__tag_a8abb894f6f4a673d549aa9bf7456b638) 2864 0 R (interfaceppl__Polyhedron__tag_a8b280d026e0c343ec0d3f5521dda6376) 2694 0 R (interfaceppl__Polyhedron__tag_a8ffc5459233ed9781c0ca910e88fa1f9) 2869 0 R (interfaceppl__Polyhedron__tag_a90544f38c2980f308cd6e0f9248fdd99) 2950 0 R (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba) 2786 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_a93cee014592562084126f06fe47efbba)]
+>> endobj
+3589 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) 2956 0 R (interfaceppl__Polyhedron__tag_a96eaf729b170b6df69bc2d1127f8727c) 3098 0 R (interfaceppl__Polyhedron__tag_a977522267df419dd5f2824ce6c0f7610) 3096 0 R (interfaceppl__Polyhedron__tag_a9947be8614cba5c2e8b02771d48fc7d2) 2682 0 R (interfaceppl__Polyhedron__tag_a9d9b8361c659cadd31afb61152ccf06b) 2624 0 R (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7) 2766 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a9563155e281915a8bc2eea34ceff9cf0) (interfaceppl__Polyhedron__tag_a9e5f40dfc278c52da81291b30fbe75f7)]
+>> endobj
+3590 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) 2876 0 R (interfaceppl__Polyhedron__tag_aa309e957fa5f404b296e2e4c30e1697d) 2782 0 R (interfaceppl__Polyhedron__tag_aa48f8ae0f3a2647949417ec2da1c97e4) 2952 0 R (interfaceppl__Polyhedron__tag_aabb79ab0a7936b6f14cd20e15cb14fa8) 3026 0 R (interfaceppl__Polyhedron__tag_aad3749930a51c38886b1d5a01dbbba92) 3086 0 R (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c) 2879 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a9fb38e66323fe6cb24b32e32e66dba78) (interfaceppl__Polyhedron__tag_aad69d01217b9ea1043883162d285505c)]
+>> endobj
+3591 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) 3017 0 R (interfaceppl__Polyhedron__tag_ab062917f016d95800e29f87c203fd3bb) 3120 0 R (interfaceppl__Polyhedron__tag_ab1d03e0aac8dda484b102c536c612a45) 2696 0 R (interfaceppl__Polyhedron__tag_ab27e9641bc6946aef6e3254d28c6fab4) 2622 0 R (interfaceppl__Polyhedron__tag_ab32d3b44994fefe43c44e353a47cb4a4) 2770 0 R (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d) 2765 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_aaffebaba13f6fc73438bdccde0966547) (interfaceppl__Polyhedron__tag_ab4f7535037080c7f5db32b2e85fdc80d)]
+>> endobj
+3592 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) 2878 0 R (interfaceppl__Polyhedron__tag_abcf3ccb8e2e224496d1326e47e15fdc6) 2780 0 R (interfaceppl__Polyhedron__tag_abd393bd3febd678f09a51a0364756787) 2610 0 R (interfaceppl__Polyhedron__tag_abedffb6a2f5b2473d2d2ac9d448c65d9) 2563 0 R (interfaceppl__Polyhedron__tag_abf1bb44cdbf733e9ca39164f9d8e8179) 2628 0 R (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138) 2947 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_abc350d1ab1c6e4da0df6bb130364af7b) (interfaceppl__Polyhedron__tag_ac06aed22fa4405051df0da9e7bc16138)]
+>> endobj
+3593 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) 2960 0 R (interfaceppl__Polyhedron__tag_ac655ac3a494c4f92bb02d0b9294bdd85) 2872 0 R (interfaceppl__Polyhedron__tag_ac78c1168665c72eaf8c2457b12700fba) 3102 0 R (interfaceppl__Polyhedron__tag_ad015c9afd4968005d43f233359253c5a) 2958 0 R (interfaceppl__Polyhedron__tag_ad024f037803a208b74cd150eeaa5649d) 2868 0 R (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b) 3094 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ac0e5d09ffe586f8ea5ec782570015c5b) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
+>> endobj
+3594 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) 3014 0 R (interfaceppl__Polyhedron__tag_ad4b80df36fc02b4c47ca160420e50182) 3124 0 R (interfaceppl__Polyhedron__tag_ad6512d0d60c017982bd8031e9b8df336) 2568 0 R (interfaceppl__Polyhedron__tag_ad6b383704ed3f314864c52f5b715cbbf) 3012 0 R (interfaceppl__Polyhedron__tag_ad9547cb6430722246dea7f5a70566c06) 3027 0 R (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe) 2561 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (interfaceppl__Polyhedron__tag_ada9021952b7c7ad4ca6fc4ff082ec9fe)]
+>> endobj
+3595 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) 2880 0 R (interfaceppl__Polyhedron__tag_adc7cd513e31b7ecdda3a25a967d8a772) 2681 0 R (interfaceppl__Polyhedron__tag_add9c4afcd6f6bd78509219f32d57e348) 2948 0 R (interfaceppl__Polyhedron__tag_ae1e938f0c844231dfe2098ab8fbca67b) 2769 0 R (interfaceppl__Polyhedron__tag_aea399d3df97c711c758c8bf715e0c763) 3025 0 R (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e) 2614 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_adb06752e755290368c9bb00ad14a0984) (interfaceppl__Polyhedron__tag_aebe78c4ede3d49c63765e71cfe93904e)]
+>> endobj
+3596 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) 2777 0 R (interfaceppl__Polyhedron__tag_af29cc9becde5f28a37567093174d6855) 2679 0 R (interfaceppl__Polyhedron__tag_af777de5ca96f8d1631d3500008bf84f8) 2788 0 R (interfaceppl__Polyhedron__tag_af818756f74f766dfb937e586565db8d6) 2883 0 R (interfaceppl__Polyhedron__tag_af8a9392f205531631b3a98c332f594b1) 3013 0 R (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741) 2874 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_aee4d567631589e83063cfb8f80c2bd6f) (interfaceppl__Polyhedron__tag_af92f3c9d758e2a155a2a6faec4235741)]
+>> endobj
+3597 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) 2627 0 R (interfaceppl__Polyhedron__tag_af98013213e01ca8514b6dbd20116af4d) 2784 0 R (page.1) 166 0 R (page.10) 326 0 R (page.11) 339 0 R (page.12) 345 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_af93c7e3e554a92e8d3eeb4cf4261debd) (page.12)]
+>> endobj
+3598 0 obj <<
+/Names [(page.13) 350 0 R (page.14) 356 0 R (page.15) 361 0 R (page.16) 370 0 R (page.17) 407 0 R (page.18) 450 0 R]
+/Limits [(page.13) (page.18)]
+>> endobj
+3599 0 obj <<
+/Names [(page.19) 475 0 R (page.2) 179 0 R (page.20) 495 0 R (page.21) 513 0 R (page.22) 536 0 R (page.23) 557 0 R]
+/Limits [(page.19) (page.23)]
+>> endobj
+3600 0 obj <<
+/Names [(page.24) 584 0 R (page.25) 597 0 R (page.26) 618 0 R (page.27) 654 0 R (page.28) 706 0 R (page.29) 754 0 R]
+/Limits [(page.24) (page.29)]
+>> endobj
+3601 0 obj <<
+/Names [(page.3) 191 0 R (page.30) 812 0 R (page.31) 877 0 R (page.32) 915 0 R (page.33) 927 0 R (page.34) 936 0 R]
+/Limits [(page.3) (page.34)]
+>> endobj
+3602 0 obj <<
+/Names [(page.35) 962 0 R (page.36) 1008 0 R (page.37) 1053 0 R (page.38) 1093 0 R (page.39) 1154 0 R (page.4) 204 0 R]
+/Limits [(page.35) (page.4)]
+>> endobj
+3603 0 obj <<
+/Names [(page.40) 1204 0 R (page.41) 1250 0 R (page.42) 1294 0 R (page.43) 1346 0 R (page.44) 1408 0 R (page.45) 1452 0 R]
+/Limits [(page.40) (page.45)]
+>> endobj
+3604 0 obj <<
+/Names [(page.46) 1493 0 R (page.47) 1538 0 R (page.48) 1594 0 R (page.49) 1638 0 R (page.5) 290 0 R (page.50) 1688 0 R]
+/Limits [(page.46) (page.50)]
+>> endobj
+3605 0 obj <<
+/Names [(page.51) 1733 0 R (page.52) 1778 0 R (page.53) 1838 0 R (page.54) 1893 0 R (page.55) 1952 0 R (page.56) 2023 0 R]
+/Limits [(page.51) (page.56)]
+>> endobj
+3606 0 obj <<
+/Names [(page.57) 2077 0 R (page.58) 2114 0 R (page.59) 2155 0 R (page.6) 297 0 R (page.60) 2223 0 R (page.61) 2272 0 R]
+/Limits [(page.57) (page.61)]
+>> endobj
+3607 0 obj <<
+/Names [(page.62) 2309 0 R (page.63) 2332 0 R (page.64) 2372 0 R (page.65) 2415 0 R (page.66) 2468 0 R (page.67) 2517 0 R]
+/Limits [(page.62) (page.67)]
+>> endobj
+3608 0 obj <<
+/Names [(page.68) 2556 0 R (page.69) 2606 0 R (page.7) 303 0 R (page.70) 2676 0 R (page.71) 2762 0 R (page.72) 2859 0 R]
+/Limits [(page.68) (page.72)]
+>> endobj
+3609 0 obj <<
+/Names [(page.73) 2939 0 R (page.74) 3009 0 R (page.75) 3084 0 R (page.76) 3119 0 R (page.77) 3134 0 R (page.78) 3145 0 R]
+/Limits [(page.73) (page.78)]
+>> endobj
+3610 0 obj <<
+/Names [(page.79) 3154 0 R (page.8) 310 0 R (page.80) 3166 0 R (page.81) 3178 0 R (page.82) 3193 0 R (page.83) 3204 0 R]
+/Limits [(page.79) (page.83)]
+>> endobj
+3611 0 obj <<
+/Names [(page.84) 3214 0 R (page.85) 3292 0 R (page.86) 3367 0 R (page.87) 3419 0 R (page.9) 318 0 R (page.i) 249 0 R]
+/Limits [(page.84) (page.i)]
+>> endobj
+3612 0 obj <<
+/Names [(page.ii) 253 0 R (paragraph.6.2.2.1) 482 0 R (paragraph.6.2.2.2) 484 0 R (paragraph.6.2.2.3) 486 0 R (paragraph.6.2.2.4) 488 0 R (paragraph.6.2.2.5) 496 0 R]
+/Limits [(page.ii) (paragraph.6.2.2.5)]
+>> endobj
+3613 0 obj <<
+/Names [(paragraph.6.3.2.1) 530 0 R (paragraph.6.3.3.1) 538 0 R (paragraph.6.4.2.1) 566 0 R (paragraph.6.4.3.1) 586 0 R (paragraph.6.5.2.1) 605 0 R (paragraph.6.5.2.2) 608 0 R]
+/Limits [(paragraph.6.3.2.1) (paragraph.6.5.2.2)]
+>> endobj
+3614 0 obj <<
+/Names [(paragraph.6.6.2.1) 919 0 R (paragraph.6.6.3.1) 921 0 R (paragraph.6.6.3.2) 922 0 R (paragraph.6.6.3.3) 928 0 R (paragraph.6.6.3.4) 929 0 R (paragraph.6.6.3.5) 930 0 R]
+/Limits [(paragraph.6.6.2.1) (paragraph.6.6.3.5)]
+>> endobj
+3615 0 obj <<
+/Names [(paragraph.6.6.3.6) 931 0 R (paragraph.6.6.4.1) 938 0 R (paragraph.7.17.2.1) 2094 0 R (paragraph.7.17.2.2) 2115 0 R (paragraph.7.17.2.3) 2117 0 R (paragraph.7.19.2.1) 2288 0 R]
+/Limits [(paragraph.6.6.3.6) (paragraph.7.19.2.1)]
+>> endobj
+3616 0 obj <<
+/Names [(paragraph.7.19.2.2) 2310 0 R (paragraph.7.19.2.3) 2312 0 R (paragraph.7.20.2.1) 2337 0 R (paragraph.7.22.2.1) 2438 0 R (paragraph.7.23.2.1) 2489 0 R (paragraph.7.24.2.1) 2559 0 R]
+/Limits [(paragraph.7.19.2.2) (paragraph.7.24.2.1)]
+>> endobj
+3617 0 obj <<
+/Names [(paragraph.7.25.2.1) 3128 0 R (paragraph.7.25.2.10) 3147 0 R (paragraph.7.25.2.11) 3148 0 R (paragraph.7.25.2.12) 3149 0 R (paragraph.7.25.2.13) 3155 0 R (paragraph.7.25.2.14) 3156 0 R]
+/Limits [(paragraph.7.25.2.1) (paragraph.7.25.2.14)]
+>> endobj
+3618 0 obj <<
+/Names [(paragraph.7.25.2.15) 3157 0 R (paragraph.7.25.2.16) 3159 0 R (paragraph.7.25.2.17) 3167 0 R (paragraph.7.25.2.18) 3168 0 R (paragraph.7.25.2.19) 3169 0 R (paragraph.7.25.2.2) 3129 0 R]
+/Limits [(paragraph.7.25.2.15) (paragraph.7.25.2.2)]
+>> endobj
+3619 0 obj <<
+/Names [(paragraph.7.25.2.20) 3170 0 R (paragraph.7.25.2.21) 3171 0 R (paragraph.7.25.2.22) 3173 0 R (paragraph.7.25.2.23) 3180 0 R (paragraph.7.25.2.24) 3184 0 R (paragraph.7.25.2.25) 3186 0 R]
+/Limits [(paragraph.7.25.2.20) (paragraph.7.25.2.25)]
+>> endobj
+3620 0 obj <<
+/Names [(paragraph.7.25.2.26) 3188 0 R (paragraph.7.25.2.27) 3195 0 R (paragraph.7.25.2.28) 3197 0 R (paragraph.7.25.2.29) 3199 0 R (paragraph.7.25.2.3) 3135 0 R (paragraph.7.25.2.30) 3205 0 R]
+/Limits [(paragraph.7.25.2.26) (paragraph.7.25.2.30)]
+>> endobj
+3621 0 obj <<
+/Names [(paragraph.7.25.2.31) 3206 0 R (paragraph.7.25.2.32) 3207 0 R (paragraph.7.25.2.33) 3208 0 R (paragraph.7.25.2.34) 3209 0 R (paragraph.7.25.2.35) 3215 0 R (paragraph.7.25.2.4) 3136 0 R]
+/Limits [(paragraph.7.25.2.31) (paragraph.7.25.2.4)]
+>> endobj
+3622 0 obj <<
+/Names [(paragraph.7.25.2.5) 3137 0 R (paragraph.7.25.2.6) 3138 0 R (paragraph.7.25.2.7) 3139 0 R (paragraph.7.25.2.8) 3140 0 R (paragraph.7.25.2.9) 3146 0 R (section*.1) 271 0 R]
+/Limits [(paragraph.7.25.2.5) (section*.1)]
+>> endobj
+3623 0 obj <<
+/Names [(section*.10) 298 0 R (section*.11) 304 0 R (section*.12) 311 0 R (section*.13) 312 0 R (section*.14) 313 0 R (section*.15) 319 0 R]
+/Limits [(section*.10) (section*.15)]
+>> endobj
+3624 0 obj <<
+/Names [(section*.16) 320 0 R (section*.17) 321 0 R (section*.18) 327 0 R (section*.19) 328 0 R (section*.2) 276 0 R (section*.20) 329 0 R]
+/Limits [(section*.16) (section*.20)]
+>> endobj
+3625 0 obj <<
+/Names [(section*.21) 330 0 R (section*.22) 371 0 R (section*.23) 477 0 R (section*.24) 515 0 R (section*.25) 520 0 R (section*.26) 559 0 R]
+/Limits [(section*.21) (section*.26)]
+>> endobj
+3626 0 obj <<
+/Names [(section*.27) 562 0 R (section*.28) 599 0 R (section*.29) 656 0 R (section*.3) 277 0 R (section*.30) 824 0 R (section*.31) 880 0 R]
+/Limits [(section*.27) (section*.31)]
+>> endobj
+3627 0 obj <<
+/Names [(section*.32) 888 0 R (section*.33) 963 0 R (section*.34) 1009 0 R (section*.35) 1054 0 R (section*.36) 1094 0 R (section*.37) 1155 0 R]
+/Limits [(section*.32) (section*.37)]
+>> endobj
+3628 0 obj <<
+/Names [(section*.38) 1210 0 R (section*.39) 1263 0 R (section*.4) 278 0 R (section*.40) 1305 0 R (section*.41) 1410 0 R (section*.42) 1459 0 R]
+/Limits [(section*.38) (section*.42)]
+>> endobj
+3629 0 obj <<
+/Names [(section*.43) 1498 0 R (section*.44) 1595 0 R (section*.45) 1640 0 R (section*.46) 1690 0 R (section*.47) 1743 0 R (section*.48) 1839 0 R]
+/Limits [(section*.43) (section*.48)]
+>> endobj
+3630 0 obj <<
+/Names [(section*.49) 1953 0 R (section*.5) 283 0 R (section*.50) 2119 0 R (section*.51) 2157 0 R (section*.52) 2313 0 R (section*.53) 2339 0 R]
+/Limits [(section*.49) (section*.53)]
+>> endobj
+3631 0 obj <<
+/Names [(section*.54) 2388 0 R (section*.55) 2469 0 R (section*.56) 2518 0 R (section*.57) 2560 0 R (section*.58) 3293 0 R (section*.6) 284 0 R]
+/Limits [(section*.54) (section*.6)]
+>> endobj
+3632 0 obj <<
+/Names [(section*.7) 285 0 R (section*.8) 291 0 R (section*.9) 292 0 R (section.1) 2 0 R (section.2) 6 0 R (section.3) 10 0 R]
+/Limits [(section*.7) (section.3)]
+>> endobj
+3633 0 obj <<
+/Names [(section.4) 14 0 R (section.5) 22 0 R (section.6) 30 0 R (section.7) 58 0 R (subsection.4.1) 18 0 R (subsection.5.1) 26 0 R]
+/Limits [(section.4) (subsection.5.1)]
+>> endobj
+3634 0 obj <<
+/Names [(subsection.6.1) 34 0 R (subsection.6.2) 38 0 R (subsection.6.3) 42 0 R (subsection.6.4) 46 0 R (subsection.6.5) 50 0 R (subsection.6.6) 54 0 R]
+/Limits [(subsection.6.1) (subsection.6.6)]
+>> endobj
+3635 0 obj <<
+/Names [(subsection.7.1) 62 0 R (subsection.7.10) 98 0 R (subsection.7.11) 102 0 R (subsection.7.12) 106 0 R (subsection.7.13) 110 0 R (subsection.7.14) 114 0 R]
+/Limits [(subsection.7.1) (subsection.7.14)]
+>> endobj
+3636 0 obj <<
+/Names [(subsection.7.15) 118 0 R (subsection.7.16) 122 0 R (subsection.7.17) 126 0 R (subsection.7.18) 130 0 R (subsection.7.19) 134 0 R (subsection.7.2) 66 0 R]
+/Limits [(subsection.7.15) (subsection.7.2)]
+>> endobj
+3637 0 obj <<
+/Names [(subsection.7.20) 138 0 R (subsection.7.21) 142 0 R (subsection.7.22) 146 0 R (subsection.7.23) 150 0 R (subsection.7.24) 154 0 R (subsection.7.25) 158 0 R]
+/Limits [(subsection.7.20) (subsection.7.25)]
+>> endobj
+3638 0 obj <<
+/Names [(subsection.7.3) 70 0 R (subsection.7.4) 74 0 R (subsection.7.5) 78 0 R (subsection.7.6) 82 0 R (subsection.7.7) 86 0 R (subsection.7.8) 90 0 R]
+/Limits [(subsection.7.3) (subsection.7.8)]
+>> endobj
+3639 0 obj <<
+/Names [(subsection.7.9) 94 0 R (subsubsection.6.2.1) 479 0 R (subsubsection.6.2.2) 480 0 R (subsubsection.6.3.1) 527 0 R (subsubsection.6.3.2) 528 0 R (subsubsection.6.3.3) 537 0 R]
+/Limits [(subsection.7.9) (subsubsection.6.3.3)]
+>> endobj
+3640 0 obj <<
+/Names [(subsubsection.6.4.1) 563 0 R (subsubsection.6.4.2) 564 0 R (subsubsection.6.4.3) 585 0 R (subsubsection.6.5.1) 602 0 R (subsubsection.6.5.2) 603 0 R (subsubsection.6.6.1) 917 0 R]
+/Limits [(subsubsection.6.4.1) (subsubsection.6.6.1)]
+>> endobj
+3641 0 obj <<
+/Names [(subsubsection.6.6.2) 918 0 R (subsubsection.6.6.3) 920 0 R (subsubsection.6.6.4) 937 0 R (subsubsection.7.1.1) 980 0 R (subsubsection.7.10.1) 1497 0 R (subsubsection.7.11.1) 1553 0 R]
+/Limits [(subsubsection.6.6.2) (subsubsection.7.11.1)]
+>> endobj
+3642 0 obj <<
+/Names [(subsubsection.7.12.1) 1639 0 R (subsubsection.7.13.1) 1689 0 R (subsubsection.7.14.1) 1742 0 R (subsubsection.7.15.1) 1796 0 R (subsubsection.7.16.1) 1913 0 R (subsubsection.7.17.1) 2091 0 R]
+/Limits [(subsubsection.7.12.1) (subsubsection.7.17.1)]
+>> endobj
+3643 0 obj <<
+/Names [(subsubsection.7.17.2) 2092 0 R (subsubsection.7.18.1) 2156 0 R (subsubsection.7.19.1) 2286 0 R (subsubsection.7.19.2) 2287 0 R (subsubsection.7.2.1) 1021 0 R (subsubsection.7.20.1) 2335 0 R]
+/Limits [(subsubsection.7.17.2) (subsubsection.7.20.1)]
+>> endobj
+3644 0 obj <<
+/Names [(subsubsection.7.20.2) 2336 0 R (subsubsection.7.21.1) 2387 0 R (subsubsection.7.22.1) 2435 0 R (subsubsection.7.22.2) 2436 0 R (subsubsection.7.23.1) 2486 0 R (subsubsection.7.23.2) 2487 0 R]
+/Limits [(subsubsection.7.20.2) (subsubsection.7.23.2)]
+>> endobj
+3645 0 obj <<
+/Names [(subsubsection.7.24.1) 2557 0 R (subsubsection.7.24.2) 2558 0 R (subsubsection.7.25.1) 3126 0 R (subsubsection.7.25.2) 3127 0 R (subsubsection.7.3.1) 1069 0 R (subsubsection.7.4.1) 1108 0 R]
+/Limits [(subsubsection.7.24.1) (subsubsection.7.4.1)]
+>> endobj
+3646 0 obj <<
+/Names [(subsubsection.7.5.1) 1209 0 R (subsubsection.7.6.1) 1262 0 R (subsubsection.7.7.1) 1304 0 R (subsubsection.7.8.1) 1409 0 R (subsubsection.7.9.1) 1458 0 R (table.1) 606 0 R]
+/Limits [(subsubsection.7.5.1) (table.1)]
+>> endobj
+3647 0 obj <<
+/Names [(table.10) 3172 0 R (table.11) 3179 0 R (table.12) 3183 0 R (table.13) 3185 0 R (table.14) 3187 0 R (table.15) 3194 0 R]
+/Limits [(table.10) (table.15)]
+>> endobj
+3648 0 obj <<
+/Names [(table.16) 3196 0 R (table.17) 3198 0 R (table.18) 3216 0 R (table.2) 609 0 R (table.3) 939 0 R (table.4) 2116 0 R]
+/Limits [(table.16) (table.4)]
+>> endobj
+3649 0 obj <<
+/Names [(table.5) 2118 0 R (table.6) 2311 0 R (table.7) 2338 0 R (table.8) 3158 0 R (table.9) 3160 0 R]
+/Limits [(table.5) (table.9)]
+>> endobj
+3650 0 obj <<
+/Kids [3492 0 R 3493 0 R 3494 0 R 3495 0 R 3496 0 R 3497 0 R]
+/Limits [(Doc-Start) (group__Datatypes_ga68fae2777effe5d0ed0e3dcec1310e1f)]
+>> endobj
+3651 0 obj <<
+/Kids [3498 0 R 3499 0 R 3500 0 R 3501 0 R 3502 0 R 3503 0 R]
+/Limits [(group__Datatypes_ga6b8429baa2a70746836586aad6905b64) (group__Datatypes_gae8e2db00ec6575b865057ffd3195327b)]
+>> endobj
+3652 0 obj <<
+/Kids [3504 0 R 3505 0 R 3506 0 R 3507 0 R 3508 0 R 3509 0 R]
+/Limits [(group__Datatypes_gaec4f5c405067bcd0483d84591bc7c48e) (group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a03b444004b1031ddb1a51289b9d83106)]
+>> endobj
+3653 0 obj <<
+/Kids [3510 0 R 3511 0 R 3512 0 R 3513 0 R 3514 0 R 3515 0 R]
+/Limits [(group__Error_gga0c0ab09a97e49f85f42c966e14cfdee6a0860beb1b1c54c9f774b532d92404992) (index)]
+>> endobj
+3654 0 obj <<
+/Kids [3516 0 R 3517 0 R 3518 0 R 3519 0 R 3520 0 R 3521 0 R]
+/Limits [(interfaceppl__Artificial__Parameter__Sequence__const__iterator__tag) (interfaceppl__Congruence__System__const__iterator__tag_a74f9a28eb09ee718502409ab43b657d4)]
+>> endobj
+3655 0 obj <<
+/Kids [3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R 3527 0 R]
+/Limits [(interfaceppl__Congruence__System__const__iterator__tag_a7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3656 0 obj <<
+/Kids [3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R 3533 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__tag_a0ed54f6ac264a58059f51c7fe33ab787)]
+>> endobj
+3657 0 obj <<
+/Kids [3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R 3539 0 R]
+/Limits [(interfaceppl__Constraint__tag_a1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Generator__System__tag_ae9bc39a46753f158644428f3c01e73a3)]
+>> endobj
+3658 0 obj <<
+/Kids [3540 0 R 3541 0 R 3542 0 R 3543 0 R 3544 0 R 3545 0 R]
+/Limits [(interfaceppl__Generator__System__tag_aeeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Grid__Generator__System__tag_a4578b5352510727810a7c3be32208aae)]
+>> endobj
+3659 0 obj <<
+/Kids [3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R 3551 0 R]
+/Limits [(interfaceppl__Grid__Generator__System__tag_a68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Linear__Expression__tag_a643dad56c4e24b32e2c4951aee7a6822)]
+>> endobj
+3660 0 obj <<
+/Kids [3552 0 R 3553 0 R 3554 0 R 3555 0 R 3556 0 R 3557 0 R]
+/Limits [(interfaceppl__Linear__Expression__tag_a690fbcd5ef7202e646b30d92bdadcc29) (interfaceppl__MIP__Problem__tag_a5e359194d7a21e72a49aee51dbac25c4)]
+>> endobj
+3661 0 obj <<
+/Kids [3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R 3563 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_a6a8d9c1c40c886054ef76aac268f33b0) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3662 0 obj <<
+/Kids [3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R 3569 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (interfaceppl__PIP__Problem__tag_ae4b7a344b75c9fc8646539a69ee55cb3)]
+>> endobj
+3663 0 obj <<
+/Kids [3570 0 R 3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_aeb57397366e3cabbdac796f793cacc8b) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a64b1a8e66388915a57bfd0b53a2e46c5)]
+>> endobj
+3664 0 obj <<
+/Kids [3576 0 R 3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Polyhedron__tag_a402bb86dfedf35933c2a29cc07210741)]
+>> endobj
+3665 0 obj <<
+/Kids [3582 0 R 3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_a89c2384471ee03156c7b414dceee8f14)]
+>> endobj
+3666 0 obj <<
+/Kids [3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a8a9e2cf693ca3e9c464efb04071b8572) (interfaceppl__Polyhedron__tag_ad184bea5f8f38b87293d639d57ee340b)]
+>> endobj
+3667 0 obj <<
+/Kids [3594 0 R 3595 0 R 3596 0 R 3597 0 R 3598 0 R 3599 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_ad20b13c4f378bdc5aa64c3e833a62cba) (page.23)]
+>> endobj
+3668 0 obj <<
+/Kids [3600 0 R 3601 0 R 3602 0 R 3603 0 R 3604 0 R 3605 0 R]
+/Limits [(page.24) (page.56)]
+>> endobj
+3669 0 obj <<
+/Kids [3606 0 R 3607 0 R 3608 0 R 3609 0 R 3610 0 R 3611 0 R]
+/Limits [(page.57) (page.i)]
+>> endobj
+3670 0 obj <<
+/Kids [3612 0 R 3613 0 R 3614 0 R 3615 0 R 3616 0 R 3617 0 R]
+/Limits [(page.ii) (paragraph.7.25.2.14)]
+>> endobj
+3671 0 obj <<
+/Kids [3618 0 R 3619 0 R 3620 0 R 3621 0 R 3622 0 R 3623 0 R]
+/Limits [(paragraph.7.25.2.15) (section*.15)]
+>> endobj
+3672 0 obj <<
+/Kids [3624 0 R 3625 0 R 3626 0 R 3627 0 R 3628 0 R 3629 0 R]
+/Limits [(section*.16) (section*.48)]
+>> endobj
+3673 0 obj <<
+/Kids [3630 0 R 3631 0 R 3632 0 R 3633 0 R 3634 0 R 3635 0 R]
+/Limits [(section*.49) (subsection.7.14)]
+>> endobj
+3674 0 obj <<
+/Kids [3636 0 R 3637 0 R 3638 0 R 3639 0 R 3640 0 R 3641 0 R]
+/Limits [(subsection.7.15) (subsubsection.7.11.1)]
+>> endobj
+3675 0 obj <<
+/Kids [3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R]
+/Limits [(subsubsection.7.12.1) (table.15)]
+>> endobj
+3676 0 obj <<
+/Kids [3648 0 R 3649 0 R]
+/Limits [(table.16) (table.9)]
+>> endobj
+3677 0 obj <<
+/Kids [3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R]
+/Limits [(Doc-Start) (interfaceppl__Congruence__tag_ab67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+3678 0 obj <<
+/Kids [3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R]
+/Limits [(interfaceppl__Congruence__tag_ab76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__PIP__Problem__tag_a0a539cf36d2797f1c1cb24a5f3ae13e3)]
+>> endobj
+3679 0 obj <<
+/Kids [3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R]
+/Limits [(interfaceppl__PIP__Problem__tag_a0e81a3be2c1e438646f752885e8e2671) (page.23)]
+>> endobj
+3680 0 obj <<
+/Kids [3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R]
+/Limits [(page.24) (subsection.7.14)]
+>> endobj
+3681 0 obj <<
+/Kids [3674 0 R 3675 0 R 3676 0 R]
+/Limits [(subsection.7.15) (table.9)]
+>> endobj
+3682 0 obj <<
+/Kids [3677 0 R 3678 0 R 3679 0 R 3680 0 R 3681 0 R]
+/Limits [(Doc-Start) (table.9)]
+>> endobj
+3683 0 obj <<
+/Dests 3682 0 R
+>> endobj
+3684 0 obj <<
+/Type /Catalog
+/Pages 3490 0 R
+/Outlines 3491 0 R
+/Names 3683 0 R
+/PageMode/UseOutlines/PageLabels<</Nums[0<</S/D>>4<</S/r>>6<</S/D>>]>>
+/OpenAction 161 0 R
+>> endobj
+3685 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
+/CreationDate (D:20120628125824+02'00')
+/ModDate (D:20120628125824+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
+>> endobj
+xref
+0 3686
+0000000000 65535 f 
+0000000015 00000 n 
+0000037959 00000 n 
+0000967654 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000042765 00000 n 
+0000967569 00000 n 
+0000000179 00000 n 
+0000000344 00000 n 
+0000077831 00000 n 
+0000967482 00000 n 
+0000000389 00000 n 
+0000000575 00000 n 
+0000097424 00000 n 
+0000967356 00000 n 
+0000000621 00000 n 
+0000000711 00000 n 
+0000097480 00000 n 
+0000967295 00000 n 
+0000000762 00000 n 
+0000000824 00000 n 
+0000104743 00000 n 
+0000967169 00000 n 
+0000000870 00000 n 
+0000000955 00000 n 
+0000104799 00000 n 
+0000967108 00000 n 
+0000001006 00000 n 
+0000001086 00000 n 
+0000111183 00000 n 
+0000966982 00000 n 
+0000001132 00000 n 
+0000001262 00000 n 
+0000111296 00000 n 
+0000966908 00000 n 
+0000001313 00000 n 
+0000001446 00000 n 
+0000114873 00000 n 
+0000966821 00000 n 
+0000001497 00000 n 
+0000001728 00000 n 
+0000121620 00000 n 
+0000966734 00000 n 
+0000001779 00000 n 
+0000001889 00000 n 
+0000130439 00000 n 
+0000966647 00000 n 
+0000001940 00000 n 
+0000002040 00000 n 
+0000137404 00000 n 
+0000966560 00000 n 
+0000002091 00000 n 
+0000002201 00000 n 
+0000147494 00000 n 
+0000966486 00000 n 
+0000002252 00000 n 
+0000002367 00000 n 
+0000204949 00000 n 
+0000966371 00000 n 
+0000002413 00000 n 
+0000002538 00000 n 
+0000205062 00000 n 
+0000966297 00000 n 
+0000002589 00000 n 
+0000003000 00000 n 
+0000213447 00000 n 
+0000966210 00000 n 
+0000003051 00000 n 
+0000003333 00000 n 
+0000214207 00000 n 
+0000966123 00000 n 
+0000003384 00000 n 
+0000003618 00000 n 
+0000231867 00000 n 
+0000966036 00000 n 
+0000003669 00000 n 
+0000004017 00000 n 
+0000232511 00000 n 
+0000965949 00000 n 
+0000004068 00000 n 
+0000004335 00000 n 
+0000253197 00000 n 
+0000965862 00000 n 
+0000004386 00000 n 
+0000004615 00000 n 
+0000263942 00000 n 
+0000965775 00000 n 
+0000004666 00000 n 
+0000005014 00000 n 
+0000272728 00000 n 
+0000965688 00000 n 
+0000005065 00000 n 
+0000005332 00000 n 
+0000295781 00000 n 
+0000965601 00000 n 
+0000005383 00000 n 
+0000005612 00000 n 
+0000305182 00000 n 
+0000965512 00000 n 
+0000005664 00000 n 
+0000006008 00000 n 
+0000314136 00000 n 
+0000965421 00000 n 
+0000006061 00000 n 
+0000006324 00000 n 
+0000323934 00000 n 
+0000965329 00000 n 
+0000006377 00000 n 
+0000006602 00000 n 
+0000345270 00000 n 
+0000965237 00000 n 
+0000006655 00000 n 
+0000007027 00000 n 
+0000355241 00000 n 
+0000965145 00000 n 
+0000007080 00000 n 
+0000007371 00000 n 
+0000364012 00000 n 
+0000965053 00000 n 
+0000007424 00000 n 
+0000007677 00000 n 
+0000387081 00000 n 
+0000964961 00000 n 
+0000007730 00000 n 
+0000007998 00000 n 
+0000409017 00000 n 
+0000964869 00000 n 
+0000008051 00000 n 
+0000008289 00000 n 
+0000442949 00000 n 
+0000964777 00000 n 
+0000008342 00000 n 
+0000008613 00000 n 
+0000450563 00000 n 
+0000964685 00000 n 
+0000008666 00000 n 
+0000008904 00000 n 
+0000482269 00000 n 
+0000964593 00000 n 
+0000008957 00000 n 
+0000009228 00000 n 
+0000488613 00000 n 
+0000964501 00000 n 
+0000009281 00000 n 
+0000009532 00000 n 
+0000498610 00000 n 
+0000964409 00000 n 
+0000009585 00000 n 
+0000010005 00000 n 
+0000520045 00000 n 
+0000964317 00000 n 
+0000010058 00000 n 
+0000010445 00000 n 
+0000530781 00000 n 
+0000964225 00000 n 
+0000010498 00000 n 
+0000010837 00000 n 
+0000537852 00000 n 
+0000964147 00000 n 
+0000010890 00000 n 
+0000011120 00000 n 
+0000012518 00000 n 
+0000012637 00000 n 
+0000015975 00000 n 
+0000011172 00000 n 
+0000015862 00000 n 
+0000015918 00000 n 
+0000960825 00000 n 
+0000959247 00000 n 
+0000959680 00000 n 
+0000959391 00000 n 
+0000961356 00000 n 
+0000961712 00000 n 
+0000015631 00000 n 
+0000015815 00000 n 
+0000016402 00000 n 
+0000016227 00000 n 
+0000016127 00000 n 
+0000016346 00000 n 
+0000023443 00000 n 
+0000023609 00000 n 
+0000023761 00000 n 
+0000023927 00000 n 
+0000024225 00000 n 
+0000018264 00000 n 
+0000024405 00000 n 
+0000020467 00000 n 
+0000024625 00000 n 
+0000018077 00000 n 
+0000016443 00000 n 
+0000024569 00000 n 
+0000960999 00000 n 
+0000024077 00000 n 
+0000960115 00000 n 
+0000020236 00000 n 
+0000020420 00000 n 
+0000023212 00000 n 
+0000023396 00000 n 
+0000077944 00000 n 
+0000042877 00000 n 
+0000025039 00000 n 
+0000024864 00000 n 
+0000024764 00000 n 
+0000024983 00000 n 
+0000026942 00000 n 
+0000027093 00000 n 
+0000027244 00000 n 
+0000027395 00000 n 
+0000027546 00000 n 
+0000027703 00000 n 
+0000027853 00000 n 
+0000028010 00000 n 
+0000028161 00000 n 
+0000028318 00000 n 
+0000028475 00000 n 
+0000028631 00000 n 
+0000028788 00000 n 
+0000028945 00000 n 
+0000029102 00000 n 
+0000029252 00000 n 
+0000029407 00000 n 
+0000029564 00000 n 
+0000029721 00000 n 
+0000029877 00000 n 
+0000030034 00000 n 
+0000030190 00000 n 
+0000030347 00000 n 
+0000030503 00000 n 
+0000030660 00000 n 
+0000030818 00000 n 
+0000030976 00000 n 
+0000031134 00000 n 
+0000031292 00000 n 
+0000031450 00000 n 
+0000031608 00000 n 
+0000031764 00000 n 
+0000031920 00000 n 
+0000032078 00000 n 
+0000032236 00000 n 
+0000032394 00000 n 
+0000032552 00000 n 
+0000032710 00000 n 
+0000032868 00000 n 
+0000033026 00000 n 
+0000033183 00000 n 
+0000033403 00000 n 
+0000026483 00000 n 
+0000025080 00000 n 
+0000033347 00000 n 
+0000033804 00000 n 
+0000033629 00000 n 
+0000033529 00000 n 
+0000033748 00000 n 
+0000041892 00000 n 
+0000042076 00000 n 
+0000037795 00000 n 
+0000038071 00000 n 
+0000037656 00000 n 
+0000033845 00000 n 
+0000960467 00000 n 
+0000038014 00000 n 
+0000961532 00000 n 
+0000961830 00000 n 
+0000042261 00000 n 
+0000042442 00000 n 
+0000042603 00000 n 
+0000042991 00000 n 
+0000041721 00000 n 
+0000038236 00000 n 
+0000042820 00000 n 
+0000042934 00000 n 
+0000046502 00000 n 
+0000046837 00000 n 
+0000046363 00000 n 
+0000043143 00000 n 
+0000046666 00000 n 
+0000046723 00000 n 
+0000046780 00000 n 
+0000050375 00000 n 
+0000050708 00000 n 
+0000050236 00000 n 
+0000046976 00000 n 
+0000050537 00000 n 
+0000050594 00000 n 
+0000050651 00000 n 
+0000054082 00000 n 
+0000054416 00000 n 
+0000053943 00000 n 
+0000050847 00000 n 
+0000054246 00000 n 
+0000054302 00000 n 
+0000054359 00000 n 
+0000058262 00000 n 
+0000058537 00000 n 
+0000058123 00000 n 
+0000054555 00000 n 
+0000058424 00000 n 
+0000058480 00000 n 
+0000061980 00000 n 
+0000062257 00000 n 
+0000061841 00000 n 
+0000058676 00000 n 
+0000062144 00000 n 
+0000062200 00000 n 
+0000961948 00000 n 
+0000065797 00000 n 
+0000066186 00000 n 
+0000065658 00000 n 
+0000062396 00000 n 
+0000065959 00000 n 
+0000066015 00000 n 
+0000066072 00000 n 
+0000066129 00000 n 
+0000069974 00000 n 
+0000070365 00000 n 
+0000069835 00000 n 
+0000066325 00000 n 
+0000070138 00000 n 
+0000070194 00000 n 
+0000070251 00000 n 
+0000070308 00000 n 
+0000073543 00000 n 
+0000073989 00000 n 
+0000073404 00000 n 
+0000070504 00000 n 
+0000073705 00000 n 
+0000073761 00000 n 
+0000073818 00000 n 
+0000073875 00000 n 
+0000073932 00000 n 
+0000960289 00000 n 
+0000077064 00000 n 
+0000077240 00000 n 
+0000077416 00000 n 
+0000077611 00000 n 
+0000078001 00000 n 
+0000076901 00000 n 
+0000074141 00000 n 
+0000077775 00000 n 
+0000077887 00000 n 
+0000082072 00000 n 
+0000082290 00000 n 
+0000081933 00000 n 
+0000078153 00000 n 
+0000082234 00000 n 
+0000086246 00000 n 
+0000086466 00000 n 
+0000086107 00000 n 
+0000082416 00000 n 
+0000086410 00000 n 
+0000962066 00000 n 
+0000089889 00000 n 
+0000090107 00000 n 
+0000089750 00000 n 
+0000086592 00000 n 
+0000090051 00000 n 
+0000093570 00000 n 
+0000093790 00000 n 
+0000093431 00000 n 
+0000090233 00000 n 
+0000093734 00000 n 
+0000096661 00000 n 
+0000096837 00000 n 
+0000096994 00000 n 
+0000099109 00000 n 
+0000097149 00000 n 
+0000097536 00000 n 
+0000096498 00000 n 
+0000093916 00000 n 
+0000097311 00000 n 
+0000097367 00000 n 
+0000099266 00000 n 
+0000099423 00000 n 
+0000099580 00000 n 
+0000099736 00000 n 
+0000099946 00000 n 
+0000100103 00000 n 
+0000100286 00000 n 
+0000100443 00000 n 
+0000100616 00000 n 
+0000100772 00000 n 
+0000100968 00000 n 
+0000101124 00000 n 
+0000101303 00000 n 
+0000101460 00000 n 
+0000101632 00000 n 
+0000101789 00000 n 
+0000101986 00000 n 
+0000102143 00000 n 
+0000102322 00000 n 
+0000102479 00000 n 
+0000102651 00000 n 
+0000102808 00000 n 
+0000103004 00000 n 
+0000103162 00000 n 
+0000103341 00000 n 
+0000103495 00000 n 
+0000103666 00000 n 
+0000103824 00000 n 
+0000104026 00000 n 
+0000104184 00000 n 
+0000104367 00000 n 
+0000104523 00000 n 
+0000104855 00000 n 
+0000098714 00000 n 
+0000097675 00000 n 
+0000104687 00000 n 
+0000205005 00000 n 
+0000205630 00000 n 
+0000214149 00000 n 
+0000223976 00000 n 
+0000232453 00000 n 
+0000253140 00000 n 
+0000263884 00000 n 
+0000272670 00000 n 
+0000295723 00000 n 
+0000305124 00000 n 
+0000314078 00000 n 
+0000323876 00000 n 
+0000345212 00000 n 
+0000355183 00000 n 
+0000106426 00000 n 
+0000106603 00000 n 
+0000106761 00000 n 
+0000106941 00000 n 
+0000107099 00000 n 
+0000107273 00000 n 
+0000107430 00000 n 
+0000107611 00000 n 
+0000107768 00000 n 
+0000107940 00000 n 
+0000108098 00000 n 
+0000108279 00000 n 
+0000108437 00000 n 
+0000108614 00000 n 
+0000108772 00000 n 
+0000108983 00000 n 
+0000109372 00000 n 
+0000109530 00000 n 
+0000109735 00000 n 
+0000110125 00000 n 
+0000110283 00000 n 
+0000110478 00000 n 
+0000110636 00000 n 
+0000110807 00000 n 
+0000110965 00000 n 
+0000111352 00000 n 
+0000106079 00000 n 
+0000104994 00000 n 
+0000111127 00000 n 
+0000109178 00000 n 
+0000109930 00000 n 
+0000111239 00000 n 
+0000363954 00000 n 
+0000375772 00000 n 
+0000399971 00000 n 
+0000442891 00000 n 
+0000450505 00000 n 
+0000482211 00000 n 
+0000488555 00000 n 
+0000498552 00000 n 
+0000530723 00000 n 
+0000510045 00000 n 
+0000537794 00000 n 
+0000113462 00000 n 
+0000113651 00000 n 
+0000113840 00000 n 
+0000114029 00000 n 
+0000114218 00000 n 
+0000114407 00000 n 
+0000114596 00000 n 
+0000115675 00000 n 
+0000113275 00000 n 
+0000111491 00000 n 
+0000114760 00000 n 
+0000114816 00000 n 
+0000114929 00000 n 
+0000114986 00000 n 
+0000115043 00000 n 
+0000115099 00000 n 
+0000115156 00000 n 
+0000115212 00000 n 
+0000115268 00000 n 
+0000115324 00000 n 
+0000115381 00000 n 
+0000115438 00000 n 
+0000115495 00000 n 
+0000115557 00000 n 
+0000115614 00000 n 
+0000962184 00000 n 
+0000116912 00000 n 
+0000117187 00000 n 
+0000116773 00000 n 
+0000115853 00000 n 
+0000117074 00000 n 
+0000117130 00000 n 
+0000960644 00000 n 
+0000119232 00000 n 
+0000119424 00000 n 
+0000119616 00000 n 
+0000119807 00000 n 
+0000119999 00000 n 
+0000120191 00000 n 
+0000120383 00000 n 
+0000120575 00000 n 
+0000120767 00000 n 
+0000120959 00000 n 
+0000121151 00000 n 
+0000121343 00000 n 
+0000122530 00000 n 
+0000119005 00000 n 
+0000117352 00000 n 
+0000121507 00000 n 
+0000121563 00000 n 
+0000121676 00000 n 
+0000121733 00000 n 
+0000121790 00000 n 
+0000121847 00000 n 
+0000121904 00000 n 
+0000121961 00000 n 
+0000122018 00000 n 
+0000122075 00000 n 
+0000122132 00000 n 
+0000122189 00000 n 
+0000122246 00000 n 
+0000959826 00000 n 
+0000122302 00000 n 
+0000122359 00000 n 
+0000122416 00000 n 
+0000122473 00000 n 
+0000124010 00000 n 
+0000123735 00000 n 
+0000124124 00000 n 
+0000123596 00000 n 
+0000122722 00000 n 
+0000123897 00000 n 
+0000123953 00000 n 
+0000124067 00000 n 
+0000126691 00000 n 
+0000126880 00000 n 
+0000127103 00000 n 
+0000127327 00000 n 
+0000127773 00000 n 
+0000127997 00000 n 
+0000128220 00000 n 
+0000128444 00000 n 
+0000128667 00000 n 
+0000128889 00000 n 
+0000129112 00000 n 
+0000129335 00000 n 
+0000129782 00000 n 
+0000129972 00000 n 
+0000130162 00000 n 
+0000131454 00000 n 
+0000126424 00000 n 
+0000124289 00000 n 
+0000130326 00000 n 
+0000130382 00000 n 
+0000130495 00000 n 
+0000127551 00000 n 
+0000129559 00000 n 
+0000130552 00000 n 
+0000130609 00000 n 
+0000130666 00000 n 
+0000130723 00000 n 
+0000130780 00000 n 
+0000130837 00000 n 
+0000961175 00000 n 
+0000130899 00000 n 
+0000130960 00000 n 
+0000131022 00000 n 
+0000131083 00000 n 
+0000131145 00000 n 
+0000131207 00000 n 
+0000131269 00000 n 
+0000131331 00000 n 
+0000131393 00000 n 
+0000133217 00000 n 
+0000133335 00000 n 
+0000132999 00000 n 
+0000133449 00000 n 
+0000132860 00000 n 
+0000131646 00000 n 
+0000133161 00000 n 
+0000133278 00000 n 
+0000133392 00000 n 
+0000136167 00000 n 
+0000136359 00000 n 
+0000136551 00000 n 
+0000136743 00000 n 
+0000136935 00000 n 
+0000139691 00000 n 
+0000137127 00000 n 
+0000138092 00000 n 
+0000135988 00000 n 
+0000133628 00000 n 
+0000137291 00000 n 
+0000137347 00000 n 
+0000137460 00000 n 
+0000137517 00000 n 
+0000137574 00000 n 
+0000137631 00000 n 
+0000137688 00000 n 
+0000137745 00000 n 
+0000137802 00000 n 
+0000137859 00000 n 
+0000137916 00000 n 
+0000137978 00000 n 
+0000138035 00000 n 
+0000958229 00000 n 
+0000958667 00000 n 
+0000958375 00000 n 
+0000962302 00000 n 
+0000139883 00000 n 
+0000140101 00000 n 
+0000139544 00000 n 
+0000138308 00000 n 
+0000140045 00000 n 
+0000141811 00000 n 
+0000142004 00000 n 
+0000142198 00000 n 
+0000142392 00000 n 
+0000142564 00000 n 
+0000142758 00000 n 
+0000142930 00000 n 
+0000143124 00000 n 
+0000143303 00000 n 
+0000143497 00000 n 
+0000143676 00000 n 
+0000143868 00000 n 
+0000144040 00000 n 
+0000144234 00000 n 
+0000144405 00000 n 
+0000144598 00000 n 
+0000144776 00000 n 
+0000144969 00000 n 
+0000145148 00000 n 
+0000145342 00000 n 
+0000145538 00000 n 
+0000145732 00000 n 
+0000145928 00000 n 
+0000146122 00000 n 
+0000146293 00000 n 
+0000146487 00000 n 
+0000146656 00000 n 
+0000146849 00000 n 
+0000147025 00000 n 
+0000149878 00000 n 
+0000150056 00000 n 
+0000147217 00000 n 
+0000148401 00000 n 
+0000141440 00000 n 
+0000140253 00000 n 
+0000147381 00000 n 
+0000147437 00000 n 
+0000147550 00000 n 
+0000147606 00000 n 
+0000147662 00000 n 
+0000147718 00000 n 
+0000147775 00000 n 
+0000147832 00000 n 
+0000147889 00000 n 
+0000147946 00000 n 
+0000148003 00000 n 
+0000148060 00000 n 
+0000148117 00000 n 
+0000148174 00000 n 
+0000148231 00000 n 
+0000148287 00000 n 
+0000148344 00000 n 
+0000189730 00000 n 
+0000150250 00000 n 
+0000150445 00000 n 
+0000150639 00000 n 
+0000150834 00000 n 
+0000151028 00000 n 
+0000151200 00000 n 
+0000151394 00000 n 
+0000151565 00000 n 
+0000151759 00000 n 
+0000151938 00000 n 
+0000152132 00000 n 
+0000152311 00000 n 
+0000152505 00000 n 
+0000152701 00000 n 
+0000152895 00000 n 
+0000153091 00000 n 
+0000153285 00000 n 
+0000153461 00000 n 
+0000153655 00000 n 
+0000153830 00000 n 
+0000154023 00000 n 
+0000154207 00000 n 
+0000154401 00000 n 
+0000154585 00000 n 
+0000154779 00000 n 
+0000154980 00000 n 
+0000155174 00000 n 
+0000155373 00000 n 
+0000158144 00000 n 
+0000158315 00000 n 
+0000155565 00000 n 
+0000156637 00000 n 
+0000149499 00000 n 
+0000148566 00000 n 
+0000155727 00000 n 
+0000155783 00000 n 
+0000155840 00000 n 
+0000155897 00000 n 
+0000155954 00000 n 
+0000156010 00000 n 
+0000156067 00000 n 
+0000156124 00000 n 
+0000156181 00000 n 
+0000156238 00000 n 
+0000156295 00000 n 
+0000156352 00000 n 
+0000156409 00000 n 
+0000156466 00000 n 
+0000156523 00000 n 
+0000156580 00000 n 
+0000158506 00000 n 
+0000158678 00000 n 
+0000158872 00000 n 
+0000159045 00000 n 
+0000159239 00000 n 
+0000159412 00000 n 
+0000159606 00000 n 
+0000159782 00000 n 
+0000159976 00000 n 
+0000160152 00000 n 
+0000160346 00000 n 
+0000160525 00000 n 
+0000160718 00000 n 
+0000160898 00000 n 
+0000161092 00000 n 
+0000161272 00000 n 
+0000161465 00000 n 
+0000161645 00000 n 
+0000161838 00000 n 
+0000162020 00000 n 
+0000162214 00000 n 
+0000162396 00000 n 
+0000162589 00000 n 
+0000162783 00000 n 
+0000162977 00000 n 
+0000163184 00000 n 
+0000166508 00000 n 
+0000166716 00000 n 
+0000163567 00000 n 
+0000164641 00000 n 
+0000157773 00000 n 
+0000156789 00000 n 
+0000163731 00000 n 
+0000163787 00000 n 
+0000163844 00000 n 
+0000163901 00000 n 
+0000163958 00000 n 
+0000164015 00000 n 
+0000164072 00000 n 
+0000164129 00000 n 
+0000164186 00000 n 
+0000164242 00000 n 
+0000164299 00000 n 
+0000164356 00000 n 
+0000164413 00000 n 
+0000164470 00000 n 
+0000164527 00000 n 
+0000164584 00000 n 
+0000163376 00000 n 
+0000166909 00000 n 
+0000167081 00000 n 
+0000167275 00000 n 
+0000167446 00000 n 
+0000167640 00000 n 
+0000167834 00000 n 
+0000168028 00000 n 
+0000168222 00000 n 
+0000168416 00000 n 
+0000168620 00000 n 
+0000169006 00000 n 
+0000169209 00000 n 
+0000169403 00000 n 
+0000169614 00000 n 
+0000170001 00000 n 
+0000170211 00000 n 
+0000170405 00000 n 
+0000170599 00000 n 
+0000170826 00000 n 
+0000171054 00000 n 
+0000171509 00000 n 
+0000171737 00000 n 
+0000171964 00000 n 
+0000172157 00000 n 
+0000172385 00000 n 
+0000172840 00000 n 
+0000173068 00000 n 
+0000173296 00000 n 
+0000173489 00000 n 
+0000173716 00000 n 
+0000174168 00000 n 
+0000177825 00000 n 
+0000178018 00000 n 
+0000178245 00000 n 
+0000178472 00000 n 
+0000178700 00000 n 
+0000178928 00000 n 
+0000174395 00000 n 
+0000175183 00000 n 
+0000166065 00000 n 
+0000164793 00000 n 
+0000174557 00000 n 
+0000174613 00000 n 
+0000174670 00000 n 
+0000174727 00000 n 
+0000174784 00000 n 
+0000174841 00000 n 
+0000174898 00000 n 
+0000168814 00000 n 
+0000174955 00000 n 
+0000175012 00000 n 
+0000169808 00000 n 
+0000175069 00000 n 
+0000175126 00000 n 
+0000171282 00000 n 
+0000172613 00000 n 
+0000173942 00000 n 
+0000189901 00000 n 
+0000190015 00000 n 
+0000190077 00000 n 
+0000190139 00000 n 
+0000190201 00000 n 
+0000190263 00000 n 
+0000190325 00000 n 
+0000190439 00000 n 
+0000190501 00000 n 
+0000190563 00000 n 
+0000190625 00000 n 
+0000190686 00000 n 
+0000193264 00000 n 
+0000193326 00000 n 
+0000193388 00000 n 
+0000179154 00000 n 
+0000179348 00000 n 
+0000179576 00000 n 
+0000180030 00000 n 
+0000180223 00000 n 
+0000180451 00000 n 
+0000180906 00000 n 
+0000181134 00000 n 
+0000181328 00000 n 
+0000181522 00000 n 
+0000181716 00000 n 
+0000181910 00000 n 
+0000182100 00000 n 
+0000182294 00000 n 
+0000182487 00000 n 
+0000182680 00000 n 
+0000182874 00000 n 
+0000183068 00000 n 
+0000183262 00000 n 
+0000183456 00000 n 
+0000183650 00000 n 
+0000183843 00000 n 
+0000184037 00000 n 
+0000184231 00000 n 
+0000184421 00000 n 
+0000184614 00000 n 
+0000184807 00000 n 
+0000185001 00000 n 
+0000185195 00000 n 
+0000189147 00000 n 
+0000185386 00000 n 
+0000186514 00000 n 
+0000177390 00000 n 
+0000175348 00000 n 
+0000185550 00000 n 
+0000179804 00000 n 
+0000180679 00000 n 
+0000185606 00000 n 
+0000185663 00000 n 
+0000185720 00000 n 
+0000185777 00000 n 
+0000185833 00000 n 
+0000185890 00000 n 
+0000185947 00000 n 
+0000186004 00000 n 
+0000186061 00000 n 
+0000186118 00000 n 
+0000186175 00000 n 
+0000186232 00000 n 
+0000186289 00000 n 
+0000186344 00000 n 
+0000186401 00000 n 
+0000186458 00000 n 
+0000962420 00000 n 
+0000193450 00000 n 
+0000193564 00000 n 
+0000193626 00000 n 
+0000193688 00000 n 
+0000193750 00000 n 
+0000193812 00000 n 
+0000193874 00000 n 
+0000193988 00000 n 
+0000194050 00000 n 
+0000194112 00000 n 
+0000194225 00000 n 
+0000194287 00000 n 
+0000194349 00000 n 
+0000196340 00000 n 
+0000189341 00000 n 
+0000190742 00000 n 
+0000189000 00000 n 
+0000186692 00000 n 
+0000189503 00000 n 
+0000189559 00000 n 
+0000189616 00000 n 
+0000189673 00000 n 
+0000189787 00000 n 
+0000189844 00000 n 
+0000189958 00000 n 
+0000190382 00000 n 
+0000192987 00000 n 
+0000194411 00000 n 
+0000192848 00000 n 
+0000190946 00000 n 
+0000193151 00000 n 
+0000193207 00000 n 
+0000193507 00000 n 
+0000193931 00000 n 
+0000194169 00000 n 
+0000196065 00000 n 
+0000196511 00000 n 
+0000195926 00000 n 
+0000194602 00000 n 
+0000196227 00000 n 
+0000196283 00000 n 
+0000196397 00000 n 
+0000196454 00000 n 
+0000199053 00000 n 
+0000199297 00000 n 
+0000199685 00000 n 
+0000200173 00000 n 
+0000200366 00000 n 
+0000200754 00000 n 
+0000201242 00000 n 
+0000201436 00000 n 
+0000201820 00000 n 
+0000202064 00000 n 
+0000202452 00000 n 
+0000202696 00000 n 
+0000203084 00000 n 
+0000203278 00000 n 
+0000203521 00000 n 
+0000203908 00000 n 
+0000204150 00000 n 
+0000204536 00000 n 
+0000204729 00000 n 
+0000205686 00000 n 
+0000198698 00000 n 
+0000196689 00000 n 
+0000204893 00000 n 
+0000205118 00000 n 
+0000205175 00000 n 
+0000199491 00000 n 
+0000205232 00000 n 
+0000199929 00000 n 
+0000200560 00000 n 
+0000205288 00000 n 
+0000200998 00000 n 
+0000201630 00000 n 
+0000205345 00000 n 
+0000202258 00000 n 
+0000205402 00000 n 
+0000202890 00000 n 
+0000205459 00000 n 
+0000203714 00000 n 
+0000205516 00000 n 
+0000204343 00000 n 
+0000205573 00000 n 
+0000208177 00000 n 
+0000208393 00000 n 
+0000208586 00000 n 
+0000208972 00000 n 
+0000209188 00000 n 
+0000209382 00000 n 
+0000209575 00000 n 
+0000209768 00000 n 
+0000209985 00000 n 
+0000210179 00000 n 
+0000210567 00000 n 
+0000210783 00000 n 
+0000210977 00000 n 
+0000211171 00000 n 
+0000211387 00000 n 
+0000211580 00000 n 
+0000211797 00000 n 
+0000211991 00000 n 
+0000212208 00000 n 
+0000212401 00000 n 
+0000212619 00000 n 
+0000212813 00000 n 
+0000213031 00000 n 
+0000213226 00000 n 
+0000214264 00000 n 
+0000207828 00000 n 
+0000205877 00000 n 
+0000213389 00000 n 
+0000213504 00000 n 
+0000213563 00000 n 
+0000208779 00000 n 
+0000213622 00000 n 
+0000213680 00000 n 
+0000210373 00000 n 
+0000213738 00000 n 
+0000213797 00000 n 
+0000213856 00000 n 
+0000213915 00000 n 
+0000213974 00000 n 
+0000214033 00000 n 
+0000214091 00000 n 
+0000217373 00000 n 
+0000217581 00000 n 
+0000217776 00000 n 
+0000217984 00000 n 
+0000218179 00000 n 
+0000218386 00000 n 
+0000218581 00000 n 
+0000218776 00000 n 
+0000218983 00000 n 
+0000219178 00000 n 
+0000219385 00000 n 
+0000219579 00000 n 
+0000219772 00000 n 
+0000219980 00000 n 
+0000220175 00000 n 
+0000220383 00000 n 
+0000220578 00000 n 
+0000220786 00000 n 
+0000220981 00000 n 
+0000221188 00000 n 
+0000221396 00000 n 
+0000221604 00000 n 
+0000221812 00000 n 
+0000222007 00000 n 
+0000222215 00000 n 
+0000222410 00000 n 
+0000222617 00000 n 
+0000222809 00000 n 
+0000224033 00000 n 
+0000216986 00000 n 
+0000214456 00000 n 
+0000222974 00000 n 
+0000223032 00000 n 
+0000223091 00000 n 
+0000223150 00000 n 
+0000223209 00000 n 
+0000223268 00000 n 
+0000223327 00000 n 
+0000223386 00000 n 
+0000223445 00000 n 
+0000223504 00000 n 
+0000223563 00000 n 
+0000223622 00000 n 
+0000223681 00000 n 
+0000223740 00000 n 
+0000223799 00000 n 
+0000223858 00000 n 
+0000223917 00000 n 
+0000962539 00000 n 
+0000226717 00000 n 
+0000226949 00000 n 
+0000227144 00000 n 
+0000227374 00000 n 
+0000227763 00000 n 
+0000227958 00000 n 
+0000228190 00000 n 
+0000228579 00000 n 
+0000228772 00000 n 
+0000229004 00000 n 
+0000229394 00000 n 
+0000229626 00000 n 
+0000230016 00000 n 
+0000230211 00000 n 
+0000230443 00000 n 
+0000230833 00000 n 
+0000231065 00000 n 
+0000231453 00000 n 
+0000231646 00000 n 
+0000232567 00000 n 
+0000226357 00000 n 
+0000224212 00000 n 
+0000231809 00000 n 
+0000231924 00000 n 
+0000231983 00000 n 
+0000232041 00000 n 
+0000227568 00000 n 
+0000232099 00000 n 
+0000228385 00000 n 
+0000232158 00000 n 
+0000229199 00000 n 
+0000232217 00000 n 
+0000229821 00000 n 
+0000232276 00000 n 
+0000230638 00000 n 
+0000232335 00000 n 
+0000231260 00000 n 
+0000232394 00000 n 
+0000235444 00000 n 
+0000235657 00000 n 
+0000235850 00000 n 
+0000236065 00000 n 
+0000236260 00000 n 
+0000236475 00000 n 
+0000236670 00000 n 
+0000237060 00000 n 
+0000237275 00000 n 
+0000237470 00000 n 
+0000237665 00000 n 
+0000237876 00000 n 
+0000238066 00000 n 
+0000238261 00000 n 
+0000238476 00000 n 
+0000238671 00000 n 
+0000238886 00000 n 
+0000239081 00000 n 
+0000239470 00000 n 
+0000239685 00000 n 
+0000239880 00000 n 
+0000240094 00000 n 
+0000240287 00000 n 
+0000240676 00000 n 
+0000240891 00000 n 
+0000241086 00000 n 
+0000241474 00000 n 
+0000241689 00000 n 
+0000241884 00000 n 
+0000242098 00000 n 
+0000242293 00000 n 
+0000242507 00000 n 
+0000242700 00000 n 
+0000243089 00000 n 
+0000243302 00000 n 
+0000247606 00000 n 
+0000247821 00000 n 
+0000248016 00000 n 
+0000248231 00000 n 
+0000248426 00000 n 
+0000248640 00000 n 
+0000243494 00000 n 
+0000244599 00000 n 
+0000234940 00000 n 
+0000232759 00000 n 
+0000243659 00000 n 
+0000243717 00000 n 
+0000243776 00000 n 
+0000243835 00000 n 
+0000243893 00000 n 
+0000236865 00000 n 
+0000243952 00000 n 
+0000244010 00000 n 
+0000244069 00000 n 
+0000244128 00000 n 
+0000239276 00000 n 
+0000244187 00000 n 
+0000244246 00000 n 
+0000240481 00000 n 
+0000244305 00000 n 
+0000241281 00000 n 
+0000244364 00000 n 
+0000244423 00000 n 
+0000244482 00000 n 
+0000242894 00000 n 
+0000244541 00000 n 
+0000248835 00000 n 
+0000249050 00000 n 
+0000249245 00000 n 
+0000249451 00000 n 
+0000249645 00000 n 
+0000249839 00000 n 
+0000250228 00000 n 
+0000250435 00000 n 
+0000250630 00000 n 
+0000250836 00000 n 
+0000251029 00000 n 
+0000251235 00000 n 
+0000251430 00000 n 
+0000251625 00000 n 
+0000251832 00000 n 
+0000252027 00000 n 
+0000252222 00000 n 
+0000252429 00000 n 
+0000256593 00000 n 
+0000256800 00000 n 
+0000256994 00000 n 
+0000257189 00000 n 
+0000257396 00000 n 
+0000257591 00000 n 
+0000257785 00000 n 
+0000252624 00000 n 
+0000253666 00000 n 
+0000247237 00000 n 
+0000244778 00000 n 
+0000252787 00000 n 
+0000252845 00000 n 
+0000252904 00000 n 
+0000252963 00000 n 
+0000253022 00000 n 
+0000253081 00000 n 
+0000253254 00000 n 
+0000253313 00000 n 
+0000250033 00000 n 
+0000958521 00000 n 
+0000959102 00000 n 
+0000253371 00000 n 
+0000253430 00000 n 
+0000253489 00000 n 
+0000253548 00000 n 
+0000253607 00000 n 
+0000258175 00000 n 
+0000258382 00000 n 
+0000258577 00000 n 
+0000258772 00000 n 
+0000258979 00000 n 
+0000259174 00000 n 
+0000259368 00000 n 
+0000259575 00000 n 
+0000259770 00000 n 
+0000259977 00000 n 
+0000260172 00000 n 
+0000260379 00000 n 
+0000260574 00000 n 
+0000260780 00000 n 
+0000260973 00000 n 
+0000261180 00000 n 
+0000261375 00000 n 
+0000261581 00000 n 
+0000261776 00000 n 
+0000262008 00000 n 
+0000262203 00000 n 
+0000262433 00000 n 
+0000262819 00000 n 
+0000266988 00000 n 
+0000267219 00000 n 
+0000267608 00000 n 
+0000263012 00000 n 
+0000264175 00000 n 
+0000256161 00000 n 
+0000253886 00000 n 
+0000263177 00000 n 
+0000263235 00000 n 
+0000263294 00000 n 
+0000257980 00000 n 
+0000263353 00000 n 
+0000263412 00000 n 
+0000263471 00000 n 
+0000263530 00000 n 
+0000263589 00000 n 
+0000263648 00000 n 
+0000263707 00000 n 
+0000263766 00000 n 
+0000263825 00000 n 
+0000263999 00000 n 
+0000264058 00000 n 
+0000264116 00000 n 
+0000262626 00000 n 
+0000267802 00000 n 
+0000268033 00000 n 
+0000268422 00000 n 
+0000268653 00000 n 
+0000269043 00000 n 
+0000269237 00000 n 
+0000269469 00000 n 
+0000269664 00000 n 
+0000269896 00000 n 
+0000270285 00000 n 
+0000270479 00000 n 
+0000270694 00000 n 
+0000270889 00000 n 
+0000271104 00000 n 
+0000271299 00000 n 
+0000271513 00000 n 
+0000271706 00000 n 
+0000275980 00000 n 
+0000276195 00000 n 
+0000276390 00000 n 
+0000276780 00000 n 
+0000276994 00000 n 
+0000277188 00000 n 
+0000272095 00000 n 
+0000273020 00000 n 
+0000266619 00000 n 
+0000264367 00000 n 
+0000272258 00000 n 
+0000272316 00000 n 
+0000267414 00000 n 
+0000272375 00000 n 
+0000268227 00000 n 
+0000272434 00000 n 
+0000268848 00000 n 
+0000272493 00000 n 
+0000272552 00000 n 
+0000270091 00000 n 
+0000272611 00000 n 
+0000272785 00000 n 
+0000272844 00000 n 
+0000272903 00000 n 
+0000272961 00000 n 
+0000271900 00000 n 
+0000277577 00000 n 
+0000277792 00000 n 
+0000277987 00000 n 
+0000278202 00000 n 
+0000278396 00000 n 
+0000278786 00000 n 
+0000279001 00000 n 
+0000279195 00000 n 
+0000279410 00000 n 
+0000279605 00000 n 
+0000279820 00000 n 
+0000280015 00000 n 
+0000280404 00000 n 
+0000280618 00000 n 
+0000280812 00000 n 
+0000281200 00000 n 
+0000281415 00000 n 
+0000281610 00000 n 
+0000281825 00000 n 
+0000282018 00000 n 
+0000282233 00000 n 
+0000282428 00000 n 
+0000282818 00000 n 
+0000283033 00000 n 
+0000283228 00000 n 
+0000283441 00000 n 
+0000283633 00000 n 
+0000283848 00000 n 
+0000284043 00000 n 
+0000284258 00000 n 
+0000284452 00000 n 
+0000284666 00000 n 
+0000284860 00000 n 
+0000286026 00000 n 
+0000275440 00000 n 
+0000273212 00000 n 
+0000285025 00000 n 
+0000285083 00000 n 
+0000276585 00000 n 
+0000285142 00000 n 
+0000277382 00000 n 
+0000285201 00000 n 
+0000285260 00000 n 
+0000278591 00000 n 
+0000285318 00000 n 
+0000285377 00000 n 
+0000285436 00000 n 
+0000280210 00000 n 
+0000285495 00000 n 
+0000281005 00000 n 
+0000285554 00000 n 
+0000285613 00000 n 
+0000285672 00000 n 
+0000282623 00000 n 
+0000285731 00000 n 
+0000285790 00000 n 
+0000285849 00000 n 
+0000285908 00000 n 
+0000285967 00000 n 
+0000962664 00000 n 
+0000289079 00000 n 
+0000289286 00000 n 
+0000289481 00000 n 
+0000289676 00000 n 
+0000290065 00000 n 
+0000290272 00000 n 
+0000290467 00000 n 
+0000290674 00000 n 
+0000290869 00000 n 
+0000291075 00000 n 
+0000291269 00000 n 
+0000291463 00000 n 
+0000291670 00000 n 
+0000291865 00000 n 
+0000292060 00000 n 
+0000292267 00000 n 
+0000292462 00000 n 
+0000292669 00000 n 
+0000292864 00000 n 
+0000293058 00000 n 
+0000293265 00000 n 
+0000293460 00000 n 
+0000293667 00000 n 
+0000293861 00000 n 
+0000294056 00000 n 
+0000294446 00000 n 
+0000294653 00000 n 
+0000294848 00000 n 
+0000295043 00000 n 
+0000295249 00000 n 
+0000299255 00000 n 
+0000299462 00000 n 
+0000299657 00000 n 
+0000299864 00000 n 
+0000295443 00000 n 
+0000296544 00000 n 
+0000288647 00000 n 
+0000286192 00000 n 
+0000295606 00000 n 
+0000295664 00000 n 
+0000295838 00000 n 
+0000295897 00000 n 
+0000289871 00000 n 
+0000295956 00000 n 
+0000296015 00000 n 
+0000296073 00000 n 
+0000296132 00000 n 
+0000296191 00000 n 
+0000296250 00000 n 
+0000296308 00000 n 
+0000296367 00000 n 
+0000294251 00000 n 
+0000296426 00000 n 
+0000296485 00000 n 
+0000300059 00000 n 
+0000300266 00000 n 
+0000300461 00000 n 
+0000300667 00000 n 
+0000300860 00000 n 
+0000301067 00000 n 
+0000301261 00000 n 
+0000301492 00000 n 
+0000301687 00000 n 
+0000301917 00000 n 
+0000302306 00000 n 
+0000302501 00000 n 
+0000302732 00000 n 
+0000303122 00000 n 
+0000303316 00000 n 
+0000303546 00000 n 
+0000303740 00000 n 
+0000303969 00000 n 
+0000304355 00000 n 
+0000308432 00000 n 
+0000308662 00000 n 
+0000308856 00000 n 
+0000309087 00000 n 
+0000309477 00000 n 
+0000304548 00000 n 
+0000305591 00000 n 
+0000298877 00000 n 
+0000296764 00000 n 
+0000304713 00000 n 
+0000304771 00000 n 
+0000304830 00000 n 
+0000304889 00000 n 
+0000304947 00000 n 
+0000305006 00000 n 
+0000305065 00000 n 
+0000305239 00000 n 
+0000305297 00000 n 
+0000305356 00000 n 
+0000302111 00000 n 
+0000305415 00000 n 
+0000302927 00000 n 
+0000305474 00000 n 
+0000305532 00000 n 
+0000304162 00000 n 
+0000309672 00000 n 
+0000309886 00000 n 
+0000310081 00000 n 
+0000310295 00000 n 
+0000310490 00000 n 
+0000310879 00000 n 
+0000311093 00000 n 
+0000311288 00000 n 
+0000311677 00000 n 
+0000311891 00000 n 
+0000312086 00000 n 
+0000312476 00000 n 
+0000312690 00000 n 
+0000312883 00000 n 
+0000313097 00000 n 
+0000313292 00000 n 
+0000317298 00000 n 
+0000317511 00000 n 
+0000317706 00000 n 
+0000317920 00000 n 
+0000318115 00000 n 
+0000313680 00000 n 
+0000314606 00000 n 
+0000308054 00000 n 
+0000305783 00000 n 
+0000313843 00000 n 
+0000313901 00000 n 
+0000313960 00000 n 
+0000309282 00000 n 
+0000314019 00000 n 
+0000314194 00000 n 
+0000314253 00000 n 
+0000314312 00000 n 
+0000310685 00000 n 
+0000314371 00000 n 
+0000311483 00000 n 
+0000314430 00000 n 
+0000312281 00000 n 
+0000314488 00000 n 
+0000314547 00000 n 
+0000313487 00000 n 
+0000318504 00000 n 
+0000318716 00000 n 
+0000318907 00000 n 
+0000319295 00000 n 
+0000319508 00000 n 
+0000319703 00000 n 
+0000319917 00000 n 
+0000320112 00000 n 
+0000320325 00000 n 
+0000320520 00000 n 
+0000320909 00000 n 
+0000321122 00000 n 
+0000321316 00000 n 
+0000321530 00000 n 
+0000321725 00000 n 
+0000321937 00000 n 
+0000322130 00000 n 
+0000322344 00000 n 
+0000322539 00000 n 
+0000322753 00000 n 
+0000327406 00000 n 
+0000327612 00000 n 
+0000327807 00000 n 
+0000328002 00000 n 
+0000328392 00000 n 
+0000322948 00000 n 
+0000323992 00000 n 
+0000316902 00000 n 
+0000314798 00000 n 
+0000323113 00000 n 
+0000323171 00000 n 
+0000323230 00000 n 
+0000318309 00000 n 
+0000323289 00000 n 
+0000319100 00000 n 
+0000323348 00000 n 
+0000323406 00000 n 
+0000323465 00000 n 
+0000320714 00000 n 
+0000323524 00000 n 
+0000323582 00000 n 
+0000323640 00000 n 
+0000323699 00000 n 
+0000323758 00000 n 
+0000323817 00000 n 
+0000328587 00000 n 
+0000328793 00000 n 
+0000328988 00000 n 
+0000329194 00000 n 
+0000329389 00000 n 
+0000329595 00000 n 
+0000329790 00000 n 
+0000329985 00000 n 
+0000330190 00000 n 
+0000330385 00000 n 
+0000330580 00000 n 
+0000330786 00000 n 
+0000330981 00000 n 
+0000331187 00000 n 
+0000331381 00000 n 
+0000331576 00000 n 
+0000331782 00000 n 
+0000331977 00000 n 
+0000332183 00000 n 
+0000332378 00000 n 
+0000332572 00000 n 
+0000332962 00000 n 
+0000333167 00000 n 
+0000333362 00000 n 
+0000333557 00000 n 
+0000333761 00000 n 
+0000333954 00000 n 
+0000334160 00000 n 
+0000334354 00000 n 
+0000334560 00000 n 
+0000334755 00000 n 
+0000334960 00000 n 
+0000335154 00000 n 
+0000335358 00000 n 
+0000335552 00000 n 
+0000335756 00000 n 
+0000335949 00000 n 
+0000337172 00000 n 
+0000326875 00000 n 
+0000324184 00000 n 
+0000336112 00000 n 
+0000336170 00000 n 
+0000336229 00000 n 
+0000328197 00000 n 
+0000336288 00000 n 
+0000959969 00000 n 
+0000958812 00000 n 
+0000336347 00000 n 
+0000336406 00000 n 
+0000336465 00000 n 
+0000336524 00000 n 
+0000336583 00000 n 
+0000336642 00000 n 
+0000336701 00000 n 
+0000332767 00000 n 
+0000336759 00000 n 
+0000336818 00000 n 
+0000336877 00000 n 
+0000336936 00000 n 
+0000336995 00000 n 
+0000337054 00000 n 
+0000337113 00000 n 
+0000339768 00000 n 
+0000340005 00000 n 
+0000340394 00000 n 
+0000340631 00000 n 
+0000340826 00000 n 
+0000341216 00000 n 
+0000341453 00000 n 
+0000341648 00000 n 
+0000342038 00000 n 
+0000342275 00000 n 
+0000342664 00000 n 
+0000342900 00000 n 
+0000343289 00000 n 
+0000343484 00000 n 
+0000343721 00000 n 
+0000344109 00000 n 
+0000344345 00000 n 
+0000344735 00000 n 
+0000344930 00000 n 
+0000345799 00000 n 
+0000339399 00000 n 
+0000337380 00000 n 
+0000345095 00000 n 
+0000345153 00000 n 
+0000345328 00000 n 
+0000345386 00000 n 
+0000340200 00000 n 
+0000345445 00000 n 
+0000341021 00000 n 
+0000345504 00000 n 
+0000341843 00000 n 
+0000345563 00000 n 
+0000342470 00000 n 
+0000345622 00000 n 
+0000343094 00000 n 
+0000345681 00000 n 
+0000343916 00000 n 
+0000345740 00000 n 
+0000344540 00000 n 
+0000962789 00000 n 
+0000348623 00000 n 
+0000348843 00000 n 
+0000349038 00000 n 
+0000349257 00000 n 
+0000349452 00000 n 
+0000349647 00000 n 
+0000349867 00000 n 
+0000350257 00000 n 
+0000350448 00000 n 
+0000350668 00000 n 
+0000351058 00000 n 
+0000351253 00000 n 
+0000351472 00000 n 
+0000351666 00000 n 
+0000351886 00000 n 
+0000352081 00000 n 
+0000352471 00000 n 
+0000352691 00000 n 
+0000352886 00000 n 
+0000353105 00000 n 
+0000353299 00000 n 
+0000353688 00000 n 
+0000353908 00000 n 
+0000354103 00000 n 
+0000354492 00000 n 
+0000354710 00000 n 
+0000358980 00000 n 
+0000359199 00000 n 
+0000354903 00000 n 
+0000355947 00000 n 
+0000348200 00000 n 
+0000345991 00000 n 
+0000355066 00000 n 
+0000355124 00000 n 
+0000355299 00000 n 
+0000355358 00000 n 
+0000355417 00000 n 
+0000355476 00000 n 
+0000350062 00000 n 
+0000355535 00000 n 
+0000350863 00000 n 
+0000355594 00000 n 
+0000355653 00000 n 
+0000352276 00000 n 
+0000355712 00000 n 
+0000355771 00000 n 
+0000353493 00000 n 
+0000355830 00000 n 
+0000354298 00000 n 
+0000355889 00000 n 
+0000359391 00000 n 
+0000359611 00000 n 
+0000359806 00000 n 
+0000360196 00000 n 
+0000360416 00000 n 
+0000360611 00000 n 
+0000360831 00000 n 
+0000361026 00000 n 
+0000361246 00000 n 
+0000361441 00000 n 
+0000361661 00000 n 
+0000361856 00000 n 
+0000362076 00000 n 
+0000362269 00000 n 
+0000362481 00000 n 
+0000362676 00000 n 
+0000362871 00000 n 
+0000363066 00000 n 
+0000367226 00000 n 
+0000367438 00000 n 
+0000367633 00000 n 
+0000367844 00000 n 
+0000368039 00000 n 
+0000363261 00000 n 
+0000364187 00000 n 
+0000358647 00000 n 
+0000356139 00000 n 
+0000363426 00000 n 
+0000363484 00000 n 
+0000363543 00000 n 
+0000360001 00000 n 
+0000363601 00000 n 
+0000363660 00000 n 
+0000363719 00000 n 
+0000363777 00000 n 
+0000363836 00000 n 
+0000363895 00000 n 
+0000364070 00000 n 
+0000364128 00000 n 
+0000368428 00000 n 
+0000368639 00000 n 
+0000368833 00000 n 
+0000369221 00000 n 
+0000369433 00000 n 
+0000369628 00000 n 
+0000369840 00000 n 
+0000370035 00000 n 
+0000370229 00000 n 
+0000370441 00000 n 
+0000370636 00000 n 
+0000370847 00000 n 
+0000371041 00000 n 
+0000371235 00000 n 
+0000371623 00000 n 
+0000371835 00000 n 
+0000372029 00000 n 
+0000372224 00000 n 
+0000372436 00000 n 
+0000372631 00000 n 
+0000372843 00000 n 
+0000373038 00000 n 
+0000373250 00000 n 
+0000373445 00000 n 
+0000373657 00000 n 
+0000373852 00000 n 
+0000374064 00000 n 
+0000374259 00000 n 
+0000374471 00000 n 
+0000374666 00000 n 
+0000375828 00000 n 
+0000366749 00000 n 
+0000364379 00000 n 
+0000374829 00000 n 
+0000374887 00000 n 
+0000374946 00000 n 
+0000368234 00000 n 
+0000375005 00000 n 
+0000369027 00000 n 
+0000375064 00000 n 
+0000375123 00000 n 
+0000375182 00000 n 
+0000375241 00000 n 
+0000371428 00000 n 
+0000375300 00000 n 
+0000375359 00000 n 
+0000375418 00000 n 
+0000375477 00000 n 
+0000375536 00000 n 
+0000375595 00000 n 
+0000375654 00000 n 
+0000375713 00000 n 
+0000378858 00000 n 
+0000379073 00000 n 
+0000379268 00000 n 
+0000379483 00000 n 
+0000379678 00000 n 
+0000380066 00000 n 
+0000380278 00000 n 
+0000380471 00000 n 
+0000380860 00000 n 
+0000381075 00000 n 
+0000381270 00000 n 
+0000381660 00000 n 
+0000381875 00000 n 
+0000382070 00000 n 
+0000382460 00000 n 
+0000382674 00000 n 
+0000382869 00000 n 
+0000383259 00000 n 
+0000383473 00000 n 
+0000383667 00000 n 
+0000384056 00000 n 
+0000384271 00000 n 
+0000384466 00000 n 
+0000384856 00000 n 
+0000385071 00000 n 
+0000385266 00000 n 
+0000385480 00000 n 
+0000385674 00000 n 
+0000386063 00000 n 
+0000386277 00000 n 
+0000386471 00000 n 
+0000386664 00000 n 
+0000390806 00000 n 
+0000391021 00000 n 
+0000391216 00000 n 
+0000391606 00000 n 
+0000391821 00000 n 
+0000386858 00000 n 
+0000387846 00000 n 
+0000378354 00000 n 
+0000376036 00000 n 
+0000387023 00000 n 
+0000387139 00000 n 
+0000387198 00000 n 
+0000387257 00000 n 
+0000379873 00000 n 
+0000387315 00000 n 
+0000380665 00000 n 
+0000387374 00000 n 
+0000381465 00000 n 
+0000387433 00000 n 
+0000382265 00000 n 
+0000387492 00000 n 
+0000383064 00000 n 
+0000387551 00000 n 
+0000383861 00000 n 
+0000387610 00000 n 
+0000384661 00000 n 
+0000387669 00000 n 
+0000387728 00000 n 
+0000385868 00000 n 
+0000387787 00000 n 
+0000392016 00000 n 
+0000392231 00000 n 
+0000392426 00000 n 
+0000392641 00000 n 
+0000392836 00000 n 
+0000393050 00000 n 
+0000393245 00000 n 
+0000393439 00000 n 
+0000393634 00000 n 
+0000393849 00000 n 
+0000394044 00000 n 
+0000394434 00000 n 
+0000394649 00000 n 
+0000394843 00000 n 
+0000395232 00000 n 
+0000395447 00000 n 
+0000395642 00000 n 
+0000396031 00000 n 
+0000396246 00000 n 
+0000396441 00000 n 
+0000396831 00000 n 
+0000397046 00000 n 
+0000397241 00000 n 
+0000397454 00000 n 
+0000397647 00000 n 
+0000397860 00000 n 
+0000398054 00000 n 
+0000398269 00000 n 
+0000398464 00000 n 
+0000398678 00000 n 
+0000398872 00000 n 
+0000400028 00000 n 
+0000390302 00000 n 
+0000388038 00000 n 
+0000399035 00000 n 
+0000399093 00000 n 
+0000391411 00000 n 
+0000399152 00000 n 
+0000399211 00000 n 
+0000399270 00000 n 
+0000399329 00000 n 
+0000399387 00000 n 
+0000394239 00000 n 
+0000399445 00000 n 
+0000395038 00000 n 
+0000399503 00000 n 
+0000395837 00000 n 
+0000399560 00000 n 
+0000396636 00000 n 
+0000399618 00000 n 
+0000399677 00000 n 
+0000399735 00000 n 
+0000399794 00000 n 
+0000399853 00000 n 
+0000399912 00000 n 
+0000402744 00000 n 
+0000402952 00000 n 
+0000403161 00000 n 
+0000403370 00000 n 
+0000403579 00000 n 
+0000403787 00000 n 
+0000403995 00000 n 
+0000404204 00000 n 
+0000404622 00000 n 
+0000404831 00000 n 
+0000405040 00000 n 
+0000405235 00000 n 
+0000405624 00000 n 
+0000405832 00000 n 
+0000406025 00000 n 
+0000406219 00000 n 
+0000406608 00000 n 
+0000406803 00000 n 
+0000407012 00000 n 
+0000407206 00000 n 
+0000407596 00000 n 
+0000407805 00000 n 
+0000408000 00000 n 
+0000408390 00000 n 
+0000408599 00000 n 
+0000413203 00000 n 
+0000413412 00000 n 
+0000413607 00000 n 
+0000413802 00000 n 
+0000414010 00000 n 
+0000414203 00000 n 
+0000414592 00000 n 
+0000414801 00000 n 
+0000414996 00000 n 
+0000408794 00000 n 
+0000409960 00000 n 
+0000402330 00000 n 
+0000400235 00000 n 
+0000408959 00000 n 
+0000409075 00000 n 
+0000409134 00000 n 
+0000409193 00000 n 
+0000409252 00000 n 
+0000409311 00000 n 
+0000409370 00000 n 
+0000409429 00000 n 
+0000409488 00000 n 
+0000409547 00000 n 
+0000404413 00000 n 
+0000409606 00000 n 
+0000409665 00000 n 
+0000405430 00000 n 
+0000409724 00000 n 
+0000406413 00000 n 
+0000409783 00000 n 
+0000407401 00000 n 
+0000409842 00000 n 
+0000408195 00000 n 
+0000409901 00000 n 
+0000962914 00000 n 
+0000415386 00000 n 
+0000415595 00000 n 
+0000415790 00000 n 
+0000416180 00000 n 
+0000416386 00000 n 
+0000416579 00000 n 
+0000416772 00000 n 
+0000416967 00000 n 
+0000417176 00000 n 
+0000417371 00000 n 
+0000417760 00000 n 
+0000417969 00000 n 
+0000418164 00000 n 
+0000418373 00000 n 
+0000418568 00000 n 
+0000418776 00000 n 
+0000418970 00000 n 
+0000419179 00000 n 
+0000419374 00000 n 
+0000419764 00000 n 
+0000419973 00000 n 
+0000420167 00000 n 
+0000420556 00000 n 
+0000420764 00000 n 
+0000420958 00000 n 
+0000421153 00000 n 
+0000421362 00000 n 
+0000421556 00000 n 
+0000421946 00000 n 
+0000422155 00000 n 
+0000422350 00000 n 
+0000422740 00000 n 
+0000422949 00000 n 
+0000423144 00000 n 
+0000423352 00000 n 
+0000427876 00000 n 
+0000428085 00000 n 
+0000428280 00000 n 
+0000428488 00000 n 
+0000428682 00000 n 
+0000429071 00000 n 
+0000429265 00000 n 
+0000429460 00000 n 
+0000429667 00000 n 
+0000429860 00000 n 
+0000423546 00000 n 
+0000424710 00000 n 
+0000412591 00000 n 
+0000410152 00000 n 
+0000423709 00000 n 
+0000423767 00000 n 
+0000423826 00000 n 
+0000414397 00000 n 
+0000423885 00000 n 
+0000415191 00000 n 
+0000423944 00000 n 
+0000415985 00000 n 
+0000424003 00000 n 
+0000424062 00000 n 
+0000417566 00000 n 
+0000424121 00000 n 
+0000424180 00000 n 
+0000424239 00000 n 
+0000424298 00000 n 
+0000419569 00000 n 
+0000424357 00000 n 
+0000420362 00000 n 
+0000424416 00000 n 
+0000424475 00000 n 
+0000421751 00000 n 
+0000424533 00000 n 
+0000422545 00000 n 
+0000424592 00000 n 
+0000424651 00000 n 
+0000430051 00000 n 
+0000430259 00000 n 
+0000430453 00000 n 
+0000430841 00000 n 
+0000431050 00000 n 
+0000431245 00000 n 
+0000431439 00000 n 
+0000431634 00000 n 
+0000431843 00000 n 
+0000432038 00000 n 
+0000432245 00000 n 
+0000432438 00000 n 
+0000432647 00000 n 
+0000432841 00000 n 
+0000433050 00000 n 
+0000433245 00000 n 
+0000433454 00000 n 
+0000433649 00000 n 
+0000433856 00000 n 
+0000434050 00000 n 
+0000434258 00000 n 
+0000434451 00000 n 
+0000434660 00000 n 
+0000434854 00000 n 
+0000435063 00000 n 
+0000435258 00000 n 
+0000436422 00000 n 
+0000427399 00000 n 
+0000424876 00000 n 
+0000435423 00000 n 
+0000428876 00000 n 
+0000435481 00000 n 
+0000435540 00000 n 
+0000430646 00000 n 
+0000435599 00000 n 
+0000435658 00000 n 
+0000435717 00000 n 
+0000435776 00000 n 
+0000435834 00000 n 
+0000435893 00000 n 
+0000435952 00000 n 
+0000436011 00000 n 
+0000436069 00000 n 
+0000436128 00000 n 
+0000436187 00000 n 
+0000436246 00000 n 
+0000436305 00000 n 
+0000436364 00000 n 
+0000442714 00000 n 
+0000439532 00000 n 
+0000439747 00000 n 
+0000439941 00000 n 
+0000440329 00000 n 
+0000440545 00000 n 
+0000440740 00000 n 
+0000440956 00000 n 
+0000441151 00000 n 
+0000441367 00000 n 
+0000441561 00000 n 
+0000441776 00000 n 
+0000441968 00000 n 
+0000442182 00000 n 
+0000442375 00000 n 
+0000443420 00000 n 
+0000439262 00000 n 
+0000436628 00000 n 
+0000442538 00000 n 
+0000442596 00000 n 
+0000442655 00000 n 
+0000442773 00000 n 
+0000442832 00000 n 
+0000443007 00000 n 
+0000443066 00000 n 
+0000440135 00000 n 
+0000443125 00000 n 
+0000443184 00000 n 
+0000443243 00000 n 
+0000443302 00000 n 
+0000443361 00000 n 
+0000445768 00000 n 
+0000445977 00000 n 
+0000446186 00000 n 
+0000446395 00000 n 
+0000446602 00000 n 
+0000446810 00000 n 
+0000447019 00000 n 
+0000447228 00000 n 
+0000447436 00000 n 
+0000447853 00000 n 
+0000448062 00000 n 
+0000448257 00000 n 
+0000448647 00000 n 
+0000448855 00000 n 
+0000449049 00000 n 
+0000449438 00000 n 
+0000449645 00000 n 
+0000449837 00000 n 
+0000454924 00000 n 
+0000455132 00000 n 
+0000455327 00000 n 
+0000455522 00000 n 
+0000455717 00000 n 
+0000455912 00000 n 
+0000450223 00000 n 
+0000451387 00000 n 
+0000445426 00000 n 
+0000443625 00000 n 
+0000450388 00000 n 
+0000450446 00000 n 
+0000450621 00000 n 
+0000450680 00000 n 
+0000450739 00000 n 
+0000450798 00000 n 
+0000450857 00000 n 
+0000450916 00000 n 
+0000450975 00000 n 
+0000451034 00000 n 
+0000451093 00000 n 
+0000451152 00000 n 
+0000447644 00000 n 
+0000451211 00000 n 
+0000448452 00000 n 
+0000451270 00000 n 
+0000449243 00000 n 
+0000451329 00000 n 
+0000450030 00000 n 
+0000456107 00000 n 
+0000456316 00000 n 
+0000456511 00000 n 
+0000456720 00000 n 
+0000456915 00000 n 
+0000457110 00000 n 
+0000457319 00000 n 
+0000457514 00000 n 
+0000457709 00000 n 
+0000457918 00000 n 
+0000458113 00000 n 
+0000458503 00000 n 
+0000458711 00000 n 
+0000458906 00000 n 
+0000459296 00000 n 
+0000459503 00000 n 
+0000459698 00000 n 
+0000459893 00000 n 
+0000460102 00000 n 
+0000460297 00000 n 
+0000460491 00000 n 
+0000460686 00000 n 
+0000460895 00000 n 
+0000461090 00000 n 
+0000461299 00000 n 
+0000461493 00000 n 
+0000461702 00000 n 
+0000461897 00000 n 
+0000462105 00000 n 
+0000462300 00000 n 
+0000462509 00000 n 
+0000462704 00000 n 
+0000463093 00000 n 
+0000463287 00000 n 
+0000463496 00000 n 
+0000463691 00000 n 
+0000464081 00000 n 
+0000464288 00000 n 
+0000464481 00000 n 
+0000468913 00000 n 
+0000469121 00000 n 
+0000469315 00000 n 
+0000469507 00000 n 
+0000469716 00000 n 
+0000469911 00000 n 
+0000464867 00000 n 
+0000465855 00000 n 
+0000454330 00000 n 
+0000451579 00000 n 
+0000465030 00000 n 
+0000465088 00000 n 
+0000465147 00000 n 
+0000465206 00000 n 
+0000465265 00000 n 
+0000458308 00000 n 
+0000465324 00000 n 
+0000459101 00000 n 
+0000465383 00000 n 
+0000465442 00000 n 
+0000465501 00000 n 
+0000465560 00000 n 
+0000465619 00000 n 
+0000465678 00000 n 
+0000462899 00000 n 
+0000465737 00000 n 
+0000463886 00000 n 
+0000465796 00000 n 
+0000464674 00000 n 
+0000476174 00000 n 
+0000476292 00000 n 
+0000470106 00000 n 
+0000470315 00000 n 
+0000470510 00000 n 
+0000470719 00000 n 
+0000470912 00000 n 
+0000471121 00000 n 
+0000471316 00000 n 
+0000471511 00000 n 
+0000471719 00000 n 
+0000471914 00000 n 
+0000472304 00000 n 
+0000472513 00000 n 
+0000472707 00000 n 
+0000472916 00000 n 
+0000473111 00000 n 
+0000473320 00000 n 
+0000473513 00000 n 
+0000473722 00000 n 
+0000473917 00000 n 
+0000474125 00000 n 
+0000474319 00000 n 
+0000474527 00000 n 
+0000474722 00000 n 
+0000474931 00000 n 
+0000475126 00000 n 
+0000476355 00000 n 
+0000468490 00000 n 
+0000466063 00000 n 
+0000475291 00000 n 
+0000475349 00000 n 
+0000475408 00000 n 
+0000475467 00000 n 
+0000475526 00000 n 
+0000475585 00000 n 
+0000472109 00000 n 
+0000475644 00000 n 
+0000475702 00000 n 
+0000475761 00000 n 
+0000475820 00000 n 
+0000475879 00000 n 
+0000475938 00000 n 
+0000475997 00000 n 
+0000476056 00000 n 
+0000476115 00000 n 
+0000476233 00000 n 
+0000963039 00000 n 
+0000482090 00000 n 
+0000479534 00000 n 
+0000479749 00000 n 
+0000479943 00000 n 
+0000480331 00000 n 
+0000480526 00000 n 
+0000480741 00000 n 
+0000480933 00000 n 
+0000481149 00000 n 
+0000481344 00000 n 
+0000481558 00000 n 
+0000485514 00000 n 
+0000485730 00000 n 
+0000485925 00000 n 
+0000486141 00000 n 
+0000481751 00000 n 
+0000482562 00000 n 
+0000479291 00000 n 
+0000476547 00000 n 
+0000481914 00000 n 
+0000481972 00000 n 
+0000482031 00000 n 
+0000482153 00000 n 
+0000482327 00000 n 
+0000480137 00000 n 
+0000482386 00000 n 
+0000482445 00000 n 
+0000482504 00000 n 
+0000488378 00000 n 
+0000486336 00000 n 
+0000486547 00000 n 
+0000486742 00000 n 
+0000487131 00000 n 
+0000487341 00000 n 
+0000487534 00000 n 
+0000491880 00000 n 
+0000492091 00000 n 
+0000492285 00000 n 
+0000487919 00000 n 
+0000488848 00000 n 
+0000485262 00000 n 
+0000482767 00000 n 
+0000488084 00000 n 
+0000488142 00000 n 
+0000488201 00000 n 
+0000488260 00000 n 
+0000488319 00000 n 
+0000488437 00000 n 
+0000488496 00000 n 
+0000488671 00000 n 
+0000488730 00000 n 
+0000486937 00000 n 
+0000488789 00000 n 
+0000487727 00000 n 
+0000492673 00000 n 
+0000492885 00000 n 
+0000493078 00000 n 
+0000493289 00000 n 
+0000493483 00000 n 
+0000493870 00000 n 
+0000494082 00000 n 
+0000494277 00000 n 
+0000494666 00000 n 
+0000494877 00000 n 
+0000495071 00000 n 
+0000495459 00000 n 
+0000495671 00000 n 
+0000495862 00000 n 
+0000496074 00000 n 
+0000496269 00000 n 
+0000496481 00000 n 
+0000496676 00000 n 
+0000496886 00000 n 
+0000497080 00000 n 
+0000497292 00000 n 
+0000497487 00000 n 
+0000501830 00000 n 
+0000502077 00000 n 
+0000497683 00000 n 
+0000498726 00000 n 
+0000491475 00000 n 
+0000489053 00000 n 
+0000497846 00000 n 
+0000497904 00000 n 
+0000492479 00000 n 
+0000497963 00000 n 
+0000498022 00000 n 
+0000493677 00000 n 
+0000498081 00000 n 
+0000494472 00000 n 
+0000498140 00000 n 
+0000495265 00000 n 
+0000498199 00000 n 
+0000498258 00000 n 
+0000498317 00000 n 
+0000498376 00000 n 
+0000498435 00000 n 
+0000498494 00000 n 
+0000498668 00000 n 
+0000502467 00000 n 
+0000502714 00000 n 
+0000503103 00000 n 
+0000503492 00000 n 
+0000503739 00000 n 
+0000504129 00000 n 
+0000504324 00000 n 
+0000504571 00000 n 
+0000504960 00000 n 
+0000505155 00000 n 
+0000505401 00000 n 
+0000505790 00000 n 
+0000506036 00000 n 
+0000506425 00000 n 
+0000506620 00000 n 
+0000506867 00000 n 
+0000507257 00000 n 
+0000507504 00000 n 
+0000507893 00000 n 
+0000508140 00000 n 
+0000508530 00000 n 
+0000508920 00000 n 
+0000509116 00000 n 
+0000510102 00000 n 
+0000501371 00000 n 
+0000498905 00000 n 
+0000509281 00000 n 
+0000509339 00000 n 
+0000502272 00000 n 
+0000509398 00000 n 
+0000502909 00000 n 
+0000503297 00000 n 
+0000509457 00000 n 
+0000503934 00000 n 
+0000509516 00000 n 
+0000504765 00000 n 
+0000509574 00000 n 
+0000505595 00000 n 
+0000506230 00000 n 
+0000509633 00000 n 
+0000507062 00000 n 
+0000509692 00000 n 
+0000507699 00000 n 
+0000509751 00000 n 
+0000508335 00000 n 
+0000508725 00000 n 
+0000509810 00000 n 
+0000509868 00000 n 
+0000509927 00000 n 
+0000509986 00000 n 
+0000512992 00000 n 
+0000513188 00000 n 
+0000513428 00000 n 
+0000513818 00000 n 
+0000514058 00000 n 
+0000514448 00000 n 
+0000514643 00000 n 
+0000514882 00000 n 
+0000515271 00000 n 
+0000515466 00000 n 
+0000515706 00000 n 
+0000515900 00000 n 
+0000516095 00000 n 
+0000516334 00000 n 
+0000516723 00000 n 
+0000516963 00000 n 
+0000517351 00000 n 
+0000517546 00000 n 
+0000517786 00000 n 
+0000518176 00000 n 
+0000518416 00000 n 
+0000518806 00000 n 
+0000519046 00000 n 
+0000519434 00000 n 
+0000519629 00000 n 
+0000519824 00000 n 
+0000520868 00000 n 
+0000512551 00000 n 
+0000510294 00000 n 
+0000519987 00000 n 
+0000520103 00000 n 
+0000520162 00000 n 
+0000513623 00000 n 
+0000520221 00000 n 
+0000514253 00000 n 
+0000520280 00000 n 
+0000515076 00000 n 
+0000520339 00000 n 
+0000520396 00000 n 
+0000516528 00000 n 
+0000517157 00000 n 
+0000520455 00000 n 
+0000517981 00000 n 
+0000520514 00000 n 
+0000518611 00000 n 
+0000520573 00000 n 
+0000519240 00000 n 
+0000520632 00000 n 
+0000520691 00000 n 
+0000520750 00000 n 
+0000520809 00000 n 
+0000523990 00000 n 
+0000524220 00000 n 
+0000524610 00000 n 
+0000524839 00000 n 
+0000525033 00000 n 
+0000525263 00000 n 
+0000525457 00000 n 
+0000525847 00000 n 
+0000526077 00000 n 
+0000526271 00000 n 
+0000526661 00000 n 
+0000526890 00000 n 
+0000527280 00000 n 
+0000527475 00000 n 
+0000527705 00000 n 
+0000528095 00000 n 
+0000528290 00000 n 
+0000528680 00000 n 
+0000528910 00000 n 
+0000529300 00000 n 
+0000529493 00000 n 
+0000529883 00000 n 
+0000530112 00000 n 
+0000530500 00000 n 
+0000531310 00000 n 
+0000523558 00000 n 
+0000521060 00000 n 
+0000530665 00000 n 
+0000530839 00000 n 
+0000530898 00000 n 
+0000524415 00000 n 
+0000530957 00000 n 
+0000525652 00000 n 
+0000531016 00000 n 
+0000526466 00000 n 
+0000531075 00000 n 
+0000527085 00000 n 
+0000531134 00000 n 
+0000527900 00000 n 
+0000528485 00000 n 
+0000531192 00000 n 
+0000529105 00000 n 
+0000529688 00000 n 
+0000531251 00000 n 
+0000530306 00000 n 
+0000963164 00000 n 
+0000537676 00000 n 
+0000534180 00000 n 
+0000534387 00000 n 
+0000534582 00000 n 
+0000534972 00000 n 
+0000535179 00000 n 
+0000535374 00000 n 
+0000535764 00000 n 
+0000535971 00000 n 
+0000536166 00000 n 
+0000536554 00000 n 
+0000536759 00000 n 
+0000536951 00000 n 
+0000541052 00000 n 
+0000541258 00000 n 
+0000541451 00000 n 
+0000537337 00000 n 
+0000538087 00000 n 
+0000533892 00000 n 
+0000531489 00000 n 
+0000537500 00000 n 
+0000537558 00000 n 
+0000537617 00000 n 
+0000537735 00000 n 
+0000537910 00000 n 
+0000537969 00000 n 
+0000534777 00000 n 
+0000538028 00000 n 
+0000535569 00000 n 
+0000536359 00000 n 
+0000537144 00000 n 
+0000653024 00000 n 
+0000653142 00000 n 
+0000541840 00000 n 
+0000542046 00000 n 
+0000542239 00000 n 
+0000542628 00000 n 
+0000542834 00000 n 
+0000543028 00000 n 
+0000543417 00000 n 
+0000543623 00000 n 
+0000543817 00000 n 
+0000544206 00000 n 
+0000544413 00000 n 
+0000544608 00000 n 
+0000544997 00000 n 
+0000545204 00000 n 
+0000545399 00000 n 
+0000545789 00000 n 
+0000545995 00000 n 
+0000546189 00000 n 
+0000546384 00000 n 
+0000546590 00000 n 
+0000546784 00000 n 
+0000547173 00000 n 
+0000547379 00000 n 
+0000547573 00000 n 
+0000547962 00000 n 
+0000548167 00000 n 
+0000548361 00000 n 
+0000548750 00000 n 
+0000548956 00000 n 
+0000549150 00000 n 
+0000549537 00000 n 
+0000549744 00000 n 
+0000549939 00000 n 
+0000550329 00000 n 
+0000550788 00000 n 
+0000540485 00000 n 
+0000538279 00000 n 
+0000550494 00000 n 
+0000541645 00000 n 
+0000542433 00000 n 
+0000543222 00000 n 
+0000550552 00000 n 
+0000544011 00000 n 
+0000550611 00000 n 
+0000544803 00000 n 
+0000550670 00000 n 
+0000545594 00000 n 
+0000546978 00000 n 
+0000547767 00000 n 
+0000548555 00000 n 
+0000549343 00000 n 
+0000550729 00000 n 
+0000550134 00000 n 
+0000653260 00000 n 
+0000656461 00000 n 
+0000656579 00000 n 
+0000656702 00000 n 
+0000656820 00000 n 
+0000656938 00000 n 
+0000659899 00000 n 
+0000660017 00000 n 
+0000554112 00000 n 
+0000554319 00000 n 
+0000554514 00000 n 
+0000554904 00000 n 
+0000555111 00000 n 
+0000555306 00000 n 
+0000555501 00000 n 
+0000555706 00000 n 
+0000555899 00000 n 
+0000556287 00000 n 
+0000556494 00000 n 
+0000556689 00000 n 
+0000556884 00000 n 
+0000557090 00000 n 
+0000557284 00000 n 
+0000557491 00000 n 
+0000557686 00000 n 
+0000557881 00000 n 
+0000558088 00000 n 
+0000558283 00000 n 
+0000558478 00000 n 
+0000558685 00000 n 
+0000558880 00000 n 
+0000559270 00000 n 
+0000559477 00000 n 
+0000559672 00000 n 
+0000560061 00000 n 
+0000560268 00000 n 
+0000560463 00000 n 
+0000560853 00000 n 
+0000561060 00000 n 
+0000561255 00000 n 
+0000561645 00000 n 
+0000561852 00000 n 
+0000562047 00000 n 
+0000562436 00000 n 
+0000562641 00000 n 
+0000562832 00000 n 
+0000567302 00000 n 
+0000567509 00000 n 
+0000567704 00000 n 
+0000567910 00000 n 
+0000563218 00000 n 
+0000563970 00000 n 
+0000553554 00000 n 
+0000550954 00000 n 
+0000563381 00000 n 
+0000563439 00000 n 
+0000554709 00000 n 
+0000563498 00000 n 
+0000556092 00000 n 
+0000563557 00000 n 
+0000563616 00000 n 
+0000563675 00000 n 
+0000559075 00000 n 
+0000559866 00000 n 
+0000563734 00000 n 
+0000560658 00000 n 
+0000563793 00000 n 
+0000561450 00000 n 
+0000563852 00000 n 
+0000562242 00000 n 
+0000563911 00000 n 
+0000563025 00000 n 
+0000660138 00000 n 
+0000660256 00000 n 
+0000660373 00000 n 
+0000664205 00000 n 
+0000568104 00000 n 
+0000568311 00000 n 
+0000568505 00000 n 
+0000568712 00000 n 
+0000568906 00000 n 
+0000569113 00000 n 
+0000569307 00000 n 
+0000569513 00000 n 
+0000569708 00000 n 
+0000569914 00000 n 
+0000570108 00000 n 
+0000570301 00000 n 
+0000570508 00000 n 
+0000570703 00000 n 
+0000571093 00000 n 
+0000571300 00000 n 
+0000571495 00000 n 
+0000571885 00000 n 
+0000572092 00000 n 
+0000572287 00000 n 
+0000572677 00000 n 
+0000572872 00000 n 
+0000573067 00000 n 
+0000573260 00000 n 
+0000573467 00000 n 
+0000573661 00000 n 
+0000573856 00000 n 
+0000574051 00000 n 
+0000574246 00000 n 
+0000574451 00000 n 
+0000574645 00000 n 
+0000575032 00000 n 
+0000575225 00000 n 
+0000575419 00000 n 
+0000575612 00000 n 
+0000575818 00000 n 
+0000576013 00000 n 
+0000576401 00000 n 
+0000576594 00000 n 
+0000576788 00000 n 
+0000576995 00000 n 
+0000577189 00000 n 
+0000577383 00000 n 
+0000577590 00000 n 
+0000577785 00000 n 
+0000578174 00000 n 
+0000578381 00000 n 
+0000578576 00000 n 
+0000578966 00000 n 
+0000579173 00000 n 
+0000579368 00000 n 
+0000579563 00000 n 
+0000579770 00000 n 
+0000579965 00000 n 
+0000580170 00000 n 
+0000584581 00000 n 
+0000584788 00000 n 
+0000584982 00000 n 
+0000585188 00000 n 
+0000585381 00000 n 
+0000580363 00000 n 
+0000581525 00000 n 
+0000566564 00000 n 
+0000564150 00000 n 
+0000580528 00000 n 
+0000580586 00000 n 
+0000580645 00000 n 
+0000580704 00000 n 
+0000580763 00000 n 
+0000580822 00000 n 
+0000580881 00000 n 
+0000580940 00000 n 
+0000580999 00000 n 
+0000570898 00000 n 
+0000581057 00000 n 
+0000571690 00000 n 
+0000572482 00000 n 
+0000581116 00000 n 
+0000574838 00000 n 
+0000581174 00000 n 
+0000576207 00000 n 
+0000581233 00000 n 
+0000581292 00000 n 
+0000577980 00000 n 
+0000581351 00000 n 
+0000578771 00000 n 
+0000581410 00000 n 
+0000581469 00000 n 
+0000664327 00000 n 
+0000664509 00000 n 
+0000664689 00000 n 
+0000585576 00000 n 
+0000585783 00000 n 
+0000585978 00000 n 
+0000586173 00000 n 
+0000586380 00000 n 
+0000586575 00000 n 
+0000586770 00000 n 
+0000586977 00000 n 
+0000587172 00000 n 
+0000587562 00000 n 
+0000587769 00000 n 
+0000587964 00000 n 
+0000588354 00000 n 
+0000588561 00000 n 
+0000588756 00000 n 
+0000589144 00000 n 
+0000589351 00000 n 
+0000589546 00000 n 
+0000589741 00000 n 
+0000589948 00000 n 
+0000590143 00000 n 
+0000590338 00000 n 
+0000590545 00000 n 
+0000590740 00000 n 
+0000591130 00000 n 
+0000591337 00000 n 
+0000591532 00000 n 
+0000591922 00000 n 
+0000592129 00000 n 
+0000592324 00000 n 
+0000592518 00000 n 
+0000592725 00000 n 
+0000592920 00000 n 
+0000593115 00000 n 
+0000593322 00000 n 
+0000593517 00000 n 
+0000593712 00000 n 
+0000593919 00000 n 
+0000594114 00000 n 
+0000594503 00000 n 
+0000594710 00000 n 
+0000594905 00000 n 
+0000595099 00000 n 
+0000595306 00000 n 
+0000595501 00000 n 
+0000595708 00000 n 
+0000595903 00000 n 
+0000596096 00000 n 
+0000596302 00000 n 
+0000596497 00000 n 
+0000601668 00000 n 
+0000601875 00000 n 
+0000602069 00000 n 
+0000602264 00000 n 
+0000602654 00000 n 
+0000602849 00000 n 
+0000603056 00000 n 
+0000603251 00000 n 
+0000603446 00000 n 
+0000603836 00000 n 
+0000604031 00000 n 
+0000604237 00000 n 
+0000604431 00000 n 
+0000604625 00000 n 
+0000605014 00000 n 
+0000605209 00000 n 
+0000596691 00000 n 
+0000597856 00000 n 
+0000583888 00000 n 
+0000581691 00000 n 
+0000596854 00000 n 
+0000596912 00000 n 
+0000596971 00000 n 
+0000597030 00000 n 
+0000597089 00000 n 
+0000597148 00000 n 
+0000587367 00000 n 
+0000588159 00000 n 
+0000588951 00000 n 
+0000597207 00000 n 
+0000597266 00000 n 
+0000597325 00000 n 
+0000590935 00000 n 
+0000597384 00000 n 
+0000591727 00000 n 
+0000597443 00000 n 
+0000597502 00000 n 
+0000597561 00000 n 
+0000594309 00000 n 
+0000597620 00000 n 
+0000597679 00000 n 
+0000597738 00000 n 
+0000597797 00000 n 
+0000667800 00000 n 
+0000667922 00000 n 
+0000668039 00000 n 
+0000605404 00000 n 
+0000605609 00000 n 
+0000605803 00000 n 
+0000605996 00000 n 
+0000606191 00000 n 
+0000606386 00000 n 
+0000606581 00000 n 
+0000606788 00000 n 
+0000606983 00000 n 
+0000607178 00000 n 
+0000607372 00000 n 
+0000607567 00000 n 
+0000607955 00000 n 
+0000608162 00000 n 
+0000608357 00000 n 
+0000608552 00000 n 
+0000608746 00000 n 
+0000608941 00000 n 
+0000609331 00000 n 
+0000609538 00000 n 
+0000609733 00000 n 
+0000610122 00000 n 
+0000610316 00000 n 
+0000610510 00000 n 
+0000610717 00000 n 
+0000610910 00000 n 
+0000611299 00000 n 
+0000611494 00000 n 
+0000611689 00000 n 
+0000611895 00000 n 
+0000612089 00000 n 
+0000612283 00000 n 
+0000612489 00000 n 
+0000612684 00000 n 
+0000613073 00000 n 
+0000613280 00000 n 
+0000613475 00000 n 
+0000613865 00000 n 
+0000614072 00000 n 
+0000614267 00000 n 
+0000614461 00000 n 
+0000614668 00000 n 
+0000614862 00000 n 
+0000619225 00000 n 
+0000619432 00000 n 
+0000619625 00000 n 
+0000619820 00000 n 
+0000620027 00000 n 
+0000620222 00000 n 
+0000620416 00000 n 
+0000615252 00000 n 
+0000615770 00000 n 
+0000600903 00000 n 
+0000598022 00000 n 
+0000615417 00000 n 
+0000602459 00000 n 
+0000603641 00000 n 
+0000604819 00000 n 
+0000607762 00000 n 
+0000609136 00000 n 
+0000609928 00000 n 
+0000611104 00000 n 
+0000615475 00000 n 
+0000615534 00000 n 
+0000612879 00000 n 
+0000615593 00000 n 
+0000613670 00000 n 
+0000615652 00000 n 
+0000615711 00000 n 
+0000615057 00000 n 
+0000963289 00000 n 
+0000668157 00000 n 
+0000668339 00000 n 
+0000671825 00000 n 
+0000672000 00000 n 
+0000672176 00000 n 
+0000672353 00000 n 
+0000676301 00000 n 
+0000676478 00000 n 
+0000620805 00000 n 
+0000621012 00000 n 
+0000621207 00000 n 
+0000621402 00000 n 
+0000621596 00000 n 
+0000621803 00000 n 
+0000621998 00000 n 
+0000622205 00000 n 
+0000622400 00000 n 
+0000622603 00000 n 
+0000622793 00000 n 
+0000623000 00000 n 
+0000623194 00000 n 
+0000623401 00000 n 
+0000623596 00000 n 
+0000623803 00000 n 
+0000623998 00000 n 
+0000624387 00000 n 
+0000624594 00000 n 
+0000624789 00000 n 
+0000625179 00000 n 
+0000625386 00000 n 
+0000625580 00000 n 
+0000625968 00000 n 
+0000626174 00000 n 
+0000626369 00000 n 
+0000626759 00000 n 
+0000626965 00000 n 
+0000627159 00000 n 
+0000627353 00000 n 
+0000627559 00000 n 
+0000627753 00000 n 
+0000628142 00000 n 
+0000628348 00000 n 
+0000628542 00000 n 
+0000633427 00000 n 
+0000633634 00000 n 
+0000633829 00000 n 
+0000634024 00000 n 
+0000634231 00000 n 
+0000634426 00000 n 
+0000628736 00000 n 
+0000629547 00000 n 
+0000618649 00000 n 
+0000615992 00000 n 
+0000628899 00000 n 
+0000628957 00000 n 
+0000620611 00000 n 
+0000629016 00000 n 
+0000629075 00000 n 
+0000629134 00000 n 
+0000629193 00000 n 
+0000629252 00000 n 
+0000629311 00000 n 
+0000624192 00000 n 
+0000624984 00000 n 
+0000625775 00000 n 
+0000626564 00000 n 
+0000629370 00000 n 
+0000629429 00000 n 
+0000627947 00000 n 
+0000629488 00000 n 
+0000676654 00000 n 
+0000679366 00000 n 
+0000679487 00000 n 
+0000679608 00000 n 
+0000679725 00000 n 
+0000634621 00000 n 
+0000634828 00000 n 
+0000635022 00000 n 
+0000635217 00000 n 
+0000635424 00000 n 
+0000635619 00000 n 
+0000635814 00000 n 
+0000636020 00000 n 
+0000636215 00000 n 
+0000636410 00000 n 
+0000636800 00000 n 
+0000636995 00000 n 
+0000637384 00000 n 
+0000637578 00000 n 
+0000637784 00000 n 
+0000637977 00000 n 
+0000638365 00000 n 
+0000638572 00000 n 
+0000638767 00000 n 
+0000639157 00000 n 
+0000639363 00000 n 
+0000639558 00000 n 
+0000639753 00000 n 
+0000639959 00000 n 
+0000640153 00000 n 
+0000640347 00000 n 
+0000640554 00000 n 
+0000640749 00000 n 
+0000641139 00000 n 
+0000641334 00000 n 
+0000641541 00000 n 
+0000641735 00000 n 
+0000642124 00000 n 
+0000642318 00000 n 
+0000642525 00000 n 
+0000642719 00000 n 
+0000643108 00000 n 
+0000643302 00000 n 
+0000643509 00000 n 
+0000643704 00000 n 
+0000644094 00000 n 
+0000644289 00000 n 
+0000644495 00000 n 
+0000644689 00000 n 
+0000644884 00000 n 
+0000649552 00000 n 
+0000649759 00000 n 
+0000649954 00000 n 
+0000650344 00000 n 
+0000645079 00000 n 
+0000646009 00000 n 
+0000632752 00000 n 
+0000629727 00000 n 
+0000645244 00000 n 
+0000645302 00000 n 
+0000645361 00000 n 
+0000645420 00000 n 
+0000636605 00000 n 
+0000637190 00000 n 
+0000645479 00000 n 
+0000638171 00000 n 
+0000645538 00000 n 
+0000638962 00000 n 
+0000645597 00000 n 
+0000645656 00000 n 
+0000645714 00000 n 
+0000640944 00000 n 
+0000645773 00000 n 
+0000641930 00000 n 
+0000645832 00000 n 
+0000642914 00000 n 
+0000645891 00000 n 
+0000643899 00000 n 
+0000645950 00000 n 
+0000679848 00000 n 
+0000679966 00000 n 
+0000650539 00000 n 
+0000650746 00000 n 
+0000650941 00000 n 
+0000651329 00000 n 
+0000651522 00000 n 
+0000651729 00000 n 
+0000651924 00000 n 
+0000652313 00000 n 
+0000652508 00000 n 
+0000653323 00000 n 
+0000649273 00000 n 
+0000646218 00000 n 
+0000652671 00000 n 
+0000652729 00000 n 
+0000650149 00000 n 
+0000652788 00000 n 
+0000651136 00000 n 
+0000652847 00000 n 
+0000652118 00000 n 
+0000652906 00000 n 
+0000652965 00000 n 
+0000653083 00000 n 
+0000653201 00000 n 
+0000656179 00000 n 
+0000657061 00000 n 
+0000656035 00000 n 
+0000653558 00000 n 
+0000656344 00000 n 
+0000656402 00000 n 
+0000656520 00000 n 
+0000656643 00000 n 
+0000656761 00000 n 
+0000656879 00000 n 
+0000657002 00000 n 
+0000659678 00000 n 
+0000660431 00000 n 
+0000659534 00000 n 
+0000657227 00000 n 
+0000659841 00000 n 
+0000659958 00000 n 
+0000660080 00000 n 
+0000660197 00000 n 
+0000660314 00000 n 
+0000663923 00000 n 
+0000664751 00000 n 
+0000663779 00000 n 
+0000660597 00000 n 
+0000664088 00000 n 
+0000664146 00000 n 
+0000664269 00000 n 
+0000664391 00000 n 
+0000664450 00000 n 
+0000664571 00000 n 
+0000664630 00000 n 
+0000963414 00000 n 
+0000667520 00000 n 
+0000668457 00000 n 
+0000667376 00000 n 
+0000664930 00000 n 
+0000667683 00000 n 
+0000667741 00000 n 
+0000667863 00000 n 
+0000667981 00000 n 
+0000668098 00000 n 
+0000668221 00000 n 
+0000668280 00000 n 
+0000668398 00000 n 
+0000671543 00000 n 
+0000672469 00000 n 
+0000671399 00000 n 
+0000668623 00000 n 
+0000671708 00000 n 
+0000671766 00000 n 
+0000671884 00000 n 
+0000958957 00000 n 
+0000959535 00000 n 
+0000671941 00000 n 
+0000672058 00000 n 
+0000672117 00000 n 
+0000672235 00000 n 
+0000672294 00000 n 
+0000672411 00000 n 
+0000676021 00000 n 
+0000676772 00000 n 
+0000675877 00000 n 
+0000672700 00000 n 
+0000676184 00000 n 
+0000676242 00000 n 
+0000676360 00000 n 
+0000676419 00000 n 
+0000676537 00000 n 
+0000676595 00000 n 
+0000676713 00000 n 
+0000679143 00000 n 
+0000680024 00000 n 
+0000678999 00000 n 
+0000676990 00000 n 
+0000679308 00000 n 
+0000679429 00000 n 
+0000679550 00000 n 
+0000679667 00000 n 
+0000679789 00000 n 
+0000679907 00000 n 
+0000683018 00000 n 
+0000683357 00000 n 
+0000682874 00000 n 
+0000680203 00000 n 
+0000683181 00000 n 
+0000683239 00000 n 
+0000683298 00000 n 
+0000685702 00000 n 
+0000685852 00000 n 
+0000686002 00000 n 
+0000686152 00000 n 
+0000686302 00000 n 
+0000686453 00000 n 
+0000686604 00000 n 
+0000686755 00000 n 
+0000686906 00000 n 
+0000687055 00000 n 
+0000687205 00000 n 
+0000687356 00000 n 
+0000687507 00000 n 
+0000687657 00000 n 
+0000687807 00000 n 
+0000687957 00000 n 
+0000688108 00000 n 
+0000688259 00000 n 
+0000688409 00000 n 
+0000688559 00000 n 
+0000688709 00000 n 
+0000688859 00000 n 
+0000689010 00000 n 
+0000689160 00000 n 
+0000689311 00000 n 
+0000689462 00000 n 
+0000689613 00000 n 
+0000689764 00000 n 
+0000689913 00000 n 
+0000690063 00000 n 
+0000690214 00000 n 
+0000690364 00000 n 
+0000690514 00000 n 
+0000690665 00000 n 
+0000690816 00000 n 
+0000690967 00000 n 
+0000691116 00000 n 
+0000691267 00000 n 
+0000691418 00000 n 
+0000691569 00000 n 
+0000691719 00000 n 
+0000691868 00000 n 
+0000692017 00000 n 
+0000692167 00000 n 
+0000692318 00000 n 
+0000692469 00000 n 
+0000692619 00000 n 
+0000692770 00000 n 
+0000692920 00000 n 
+0000693071 00000 n 
+0000693221 00000 n 
+0000693372 00000 n 
+0000693523 00000 n 
+0000693674 00000 n 
+0000693823 00000 n 
+0000693972 00000 n 
+0000694121 00000 n 
+0000694270 00000 n 
+0000694418 00000 n 
+0000694567 00000 n 
+0000694714 00000 n 
+0000694863 00000 n 
+0000695012 00000 n 
+0000695161 00000 n 
+0000695312 00000 n 
+0000695463 00000 n 
+0000695613 00000 n 
+0000695764 00000 n 
+0000695915 00000 n 
+0000696064 00000 n 
+0000696215 00000 n 
+0000696364 00000 n 
+0000696646 00000 n 
+0000684919 00000 n 
+0000683536 00000 n 
+0000696529 00000 n 
+0000696587 00000 n 
+0000963539 00000 n 
+0000698911 00000 n 
+0000699062 00000 n 
+0000699213 00000 n 
+0000699364 00000 n 
+0000699515 00000 n 
+0000699666 00000 n 
+0000699816 00000 n 
+0000699966 00000 n 
+0000700116 00000 n 
+0000700267 00000 n 
+0000700418 00000 n 
+0000700569 00000 n 
+0000700720 00000 n 
+0000700871 00000 n 
+0000701022 00000 n 
+0000701173 00000 n 
+0000701323 00000 n 
+0000701474 00000 n 
+0000701624 00000 n 
+0000701775 00000 n 
+0000701925 00000 n 
+0000702076 00000 n 
+0000702226 00000 n 
+0000702377 00000 n 
+0000702528 00000 n 
+0000702677 00000 n 
+0000702827 00000 n 
+0000702977 00000 n 
+0000703127 00000 n 
+0000703277 00000 n 
+0000703428 00000 n 
+0000703579 00000 n 
+0000703730 00000 n 
+0000703881 00000 n 
+0000704030 00000 n 
+0000704179 00000 n 
+0000704330 00000 n 
+0000704480 00000 n 
+0000704631 00000 n 
+0000704782 00000 n 
+0000704932 00000 n 
+0000705083 00000 n 
+0000705233 00000 n 
+0000705384 00000 n 
+0000705534 00000 n 
+0000705685 00000 n 
+0000705836 00000 n 
+0000705987 00000 n 
+0000706138 00000 n 
+0000706289 00000 n 
+0000706440 00000 n 
+0000706591 00000 n 
+0000706742 00000 n 
+0000706893 00000 n 
+0000707044 00000 n 
+0000707195 00000 n 
+0000707346 00000 n 
+0000707497 00000 n 
+0000707648 00000 n 
+0000707799 00000 n 
+0000707950 00000 n 
+0000708101 00000 n 
+0000708252 00000 n 
+0000708403 00000 n 
+0000708554 00000 n 
+0000708704 00000 n 
+0000708853 00000 n 
+0000711124 00000 n 
+0000709001 00000 n 
+0000709222 00000 n 
+0000698164 00000 n 
+0000696773 00000 n 
+0000709164 00000 n 
+0000711275 00000 n 
+0000711425 00000 n 
+0000711574 00000 n 
+0000711723 00000 n 
+0000711873 00000 n 
+0000712024 00000 n 
+0000712175 00000 n 
+0000712324 00000 n 
+0000712475 00000 n 
+0000712625 00000 n 
+0000712776 00000 n 
+0000712925 00000 n 
+0000713076 00000 n 
+0000713226 00000 n 
+0000713377 00000 n 
+0000713528 00000 n 
+0000713679 00000 n 
+0000713830 00000 n 
+0000713981 00000 n 
+0000714132 00000 n 
+0000714283 00000 n 
+0000714434 00000 n 
+0000714585 00000 n 
+0000714735 00000 n 
+0000714885 00000 n 
+0000715034 00000 n 
+0000715184 00000 n 
+0000715335 00000 n 
+0000715486 00000 n 
+0000715637 00000 n 
+0000715788 00000 n 
+0000715939 00000 n 
+0000716089 00000 n 
+0000716238 00000 n 
+0000716389 00000 n 
+0000716540 00000 n 
+0000716691 00000 n 
+0000716842 00000 n 
+0000716993 00000 n 
+0000717143 00000 n 
+0000717293 00000 n 
+0000717444 00000 n 
+0000717594 00000 n 
+0000717743 00000 n 
+0000717894 00000 n 
+0000718045 00000 n 
+0000718196 00000 n 
+0000718347 00000 n 
+0000718570 00000 n 
+0000710548 00000 n 
+0000709349 00000 n 
+0000718512 00000 n 
+0000718697 00000 n 
+0000718723 00000 n 
+0000718851 00000 n 
+0000719290 00000 n 
+0000719322 00000 n 
+0000719952 00000 n 
+0000720408 00000 n 
+0000720458 00000 n 
+0000720859 00000 n 
+0000957711 00000 n 
+0000721285 00000 n 
+0000721597 00000 n 
+0000721919 00000 n 
+0000722395 00000 n 
+0000722751 00000 n 
+0000723227 00000 n 
+0000723789 00000 n 
+0000724169 00000 n 
+0000724647 00000 n 
+0000725290 00000 n 
+0000725988 00000 n 
+0000726032 00000 n 
+0000726169 00000 n 
+0000726522 00000 n 
+0000734718 00000 n 
+0000734988 00000 n 
+0000742342 00000 n 
+0000742566 00000 n 
+0000751136 00000 n 
+0000751407 00000 n 
+0000761705 00000 n 
+0000761951 00000 n 
+0000769660 00000 n 
+0000769893 00000 n 
+0000777438 00000 n 
+0000777666 00000 n 
+0000788340 00000 n 
+0000788629 00000 n 
+0000796282 00000 n 
+0000796555 00000 n 
+0000804805 00000 n 
+0000805079 00000 n 
+0000812075 00000 n 
+0000812302 00000 n 
+0000820213 00000 n 
+0000820469 00000 n 
+0000828249 00000 n 
+0000828511 00000 n 
+0000832085 00000 n 
+0000832306 00000 n 
+0000850260 00000 n 
+0000850799 00000 n 
+0000859933 00000 n 
+0000860265 00000 n 
+0000873420 00000 n 
+0000873884 00000 n 
+0000882237 00000 n 
+0000882556 00000 n 
+0000889755 00000 n 
+0000890115 00000 n 
+0000907165 00000 n 
+0000907615 00000 n 
+0000918748 00000 n 
+0000919081 00000 n 
+0000940041 00000 n 
+0000940669 00000 n 
+0000957214 00000 n 
+0000963637 00000 n 
+0000963757 00000 n 
+0000963882 00000 n 
+0000963990 00000 n 
+0000964072 00000 n 
+0000967726 00000 n 
+0000967914 00000 n 
+0000968437 00000 n 
+0000968960 00000 n 
+0000969483 00000 n 
+0000970006 00000 n 
+0000970529 00000 n 
+0000971052 00000 n 
+0000971575 00000 n 
+0000972098 00000 n 
+0000972621 00000 n 
+0000973144 00000 n 
+0000973667 00000 n 
+0000974190 00000 n 
+0000974815 00000 n 
+0000975610 00000 n 
+0000976405 00000 n 
+0000977200 00000 n 
+0000977838 00000 n 
+0000978601 00000 n 
+0000979224 00000 n 
+0000979663 00000 n 
+0000980030 00000 n 
+0000980537 00000 n 
+0000980956 00000 n 
+0000981811 00000 n 
+0000982568 00000 n 
+0000983281 00000 n 
+0000983845 00000 n 
+0000984478 00000 n 
+0000985172 00000 n 
+0000985894 00000 n 
+0000986583 00000 n 
+0000987272 00000 n 
+0000987961 00000 n 
+0000988517 00000 n 
+0000989142 00000 n 
+0000989748 00000 n 
+0000990573 00000 n 
+0000991261 00000 n 
+0000991950 00000 n 
+0000992639 00000 n 
+0000993261 00000 n 
+0000993886 00000 n 
+0000994511 00000 n 
+0000995221 00000 n 
+0000995952 00000 n 
+0000996633 00000 n 
+0000997314 00000 n 
+0000997936 00000 n 
+0000998553 00000 n 
+0000999170 00000 n 
+0000999876 00000 n 
+0001000638 00000 n 
+0001001367 00000 n 
+0001002096 00000 n 
+0001002740 00000 n 
+0001003405 00000 n 
+0001004070 00000 n 
+0001004712 00000 n 
+0001005401 00000 n 
+0001006090 00000 n 
+0001006779 00000 n 
+0001007387 00000 n 
+0001008028 00000 n 
+0001008669 00000 n 
+0001009310 00000 n 
+0001009951 00000 n 
+0001010592 00000 n 
+0001011233 00000 n 
+0001011874 00000 n 
+0001012515 00000 n 
+0001013149 00000 n 
+0001013790 00000 n 
+0001014431 00000 n 
+0001015072 00000 n 
+0001015713 00000 n 
+0001016354 00000 n 
+0001016995 00000 n 
+0001017636 00000 n 
+0001018282 00000 n 
+0001018947 00000 n 
+0001019682 00000 n 
+0001020627 00000 n 
+0001021502 00000 n 
+0001022391 00000 n 
+0001023131 00000 n 
+0001023813 00000 n 
+0001024438 00000 n 
+0001025063 00000 n 
+0001025688 00000 n 
+0001026313 00000 n 
+0001026938 00000 n 
+0001027563 00000 n 
+0001028188 00000 n 
+0001028813 00000 n 
+0001029438 00000 n 
+0001030063 00000 n 
+0001030688 00000 n 
+0001031313 00000 n 
+0001031938 00000 n 
+0001032563 00000 n 
+0001033188 00000 n 
+0001033813 00000 n 
+0001034438 00000 n 
+0001035063 00000 n 
+0001035403 00000 n 
+0001035574 00000 n 
+0001035744 00000 n 
+0001035915 00000 n 
+0001036084 00000 n 
+0001036257 00000 n 
+0001036434 00000 n 
+0001036609 00000 n 
+0001036786 00000 n 
+0001036961 00000 n 
+0001037138 00000 n 
+0001037313 00000 n 
+0001037490 00000 n 
+0001037665 00000 n 
+0001037837 00000 n 
+0001038068 00000 n 
+0001038319 00000 n 
+0001038570 00000 n 
+0001038830 00000 n 
+0001039095 00000 n 
+0001039366 00000 n 
+0001039637 00000 n 
+0001039910 00000 n 
+0001040182 00000 n 
+0001040453 00000 n 
+0001040701 00000 n 
+0001040904 00000 n 
+0001041106 00000 n 
+0001041309 00000 n 
+0001041511 00000 n 
+0001041718 00000 n 
+0001041925 00000 n 
+0001042134 00000 n 
+0001042341 00000 n 
+0001042547 00000 n 
+0001042733 00000 n 
+0001042929 00000 n 
+0001043150 00000 n 
+0001043381 00000 n 
+0001043613 00000 n 
+0001043848 00000 n 
+0001044069 00000 n 
+0001044325 00000 n 
+0001044592 00000 n 
+0001044864 00000 n 
+0001045145 00000 n 
+0001045425 00000 n 
+0001045706 00000 n 
+0001045984 00000 n 
+0001046232 00000 n 
+0001046417 00000 n 
+0001046596 00000 n 
+0001046754 00000 n 
+0001046916 00000 n 
+0001047120 00000 n 
+0001047354 00000 n 
+0001047542 00000 n 
+0001047799 00000 n 
+0001048052 00000 n 
+0001048280 00000 n 
+0001048515 00000 n 
+0001048763 00000 n 
+0001049012 00000 n 
+0001049250 00000 n 
+0001049482 00000 n 
+0001049714 00000 n 
+0001049977 00000 n 
+0001050238 00000 n 
+0001050466 00000 n 
+0001050694 00000 n 
+0001050866 00000 n 
+0001050982 00000 n 
+0001051097 00000 n 
+0001051225 00000 n 
+0001051357 00000 n 
+0001051481 00000 n 
+0001051609 00000 n 
+0001051746 00000 n 
+0001051876 00000 n 
+0001051957 00000 n 
+0001052131 00000 n 
+0001052361 00000 n 
+0001052535 00000 n 
+0001052659 00000 n 
+0001052756 00000 n 
+0001052865 00000 n 
+0001052905 00000 n 
+0001053086 00000 n 
+trailer
+<< /Size 3686
+/Root 3684 0 R
+/Info 3685 0 R
+/ID [<56EA3E090956F1821568D6344691D06A> <56EA3E090956F1821568D6344691D06A>] >>
+startxref
+1053413
+%%EOF
diff --git a/doc/ppl-user-c-interface-1.0.ps.gz b/doc/ppl-user-c-interface-1.0.ps.gz
new file mode 100644
index 0000000..698f3ca
Binary files /dev/null and b/doc/ppl-user-c-interface-1.0.ps.gz differ
diff --git a/doc/ppl-user-java-interface-0.11.2-html.tar.gz b/doc/ppl-user-java-interface-0.11.2-html.tar.gz
deleted file mode 100644
index 77e47a1..0000000
Binary files a/doc/ppl-user-java-interface-0.11.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-0.11.2.pdf b/doc/ppl-user-java-interface-0.11.2.pdf
deleted file mode 100644
index 6e263f1..0000000
--- a/doc/ppl-user-java-interface-0.11.2.pdf
+++ /dev/null
@@ -1,23682 +0,0 @@
-%PDF-1.4
-%����
-1 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-4 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-5 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-8 0 obj
-(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-12 0 obj
-(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
-endobj
-13 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-16 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-17 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-21 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-24 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-25 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-28 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
-endobj
-29 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-32 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-33 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-36 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
-endobj
-37 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-40 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-41 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-44 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-45 0 obj
-<< /S /GoTo /D (section.8) >>
-endobj
-48 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
-endobj
-52 0 obj
-(\376\377\000J\000a\000v\000a\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
-endobj
-53 0 obj
-<< /S /GoTo /D (section.9) >>
-endobj
-56 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-57 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
-endobj
-60 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000\040\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-61 0 obj
-<< /S /GoTo /D (section.10) >>
-endobj
-64 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
-endobj
-65 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
-endobj
-68 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-69 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
-endobj
-72 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-73 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
-endobj
-76 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000B\000y\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-77 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
-endobj
-80 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-81 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
-endobj
-84 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-85 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
-endobj
-88 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-89 0 obj
-<< /S /GoTo /D (subsection.10.7) >>
-endobj
-92 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-93 0 obj
-<< /S /GoTo /D (subsection.10.8) >>
-endobj
-96 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-97 0 obj
-<< /S /GoTo /D (subsection.10.9) >>
-endobj
-100 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-101 0 obj
-<< /S /GoTo /D (subsection.10.10) >>
-endobj
-104 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000D\000o\000m\000a\000i\000n\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-105 0 obj
-<< /S /GoTo /D (subsection.10.11) >>
-endobj
-108 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-109 0 obj
-<< /S /GoTo /D (subsection.10.12) >>
-endobj
-112 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-113 0 obj
-<< /S /GoTo /D (subsection.10.13) >>
-endobj
-116 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-117 0 obj
-<< /S /GoTo /D (subsection.10.14) >>
-endobj
-120 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-121 0 obj
-<< /S /GoTo /D (subsection.10.15) >>
-endobj
-124 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000n\000v\000a\000l\000i\000d\000\137\000A\000r\000g\000u\000m\000e\000n\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-125 0 obj
-<< /S /GoTo /D (subsection.10.16) >>
-endobj
-128 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000I\000O\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-129 0 obj
-<< /S /GoTo /D (subsection.10.17) >>
-endobj
-132 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000e\000n\000g\000t\000h\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-133 0 obj
-<< /S /GoTo /D (subsection.10.18) >>
-endobj
-136 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-137 0 obj
-<< /S /GoTo /D (subsection.10.19) >>
-endobj
-140 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-141 0 obj
-<< /S /GoTo /D (subsection.10.20) >>
-endobj
-144 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-145 0 obj
-<< /S /GoTo /D (subsection.10.21) >>
-endobj
-148 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000S\000u\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-149 0 obj
-<< /S /GoTo /D (subsection.10.22) >>
-endobj
-152 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000T\000i\000m\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-153 0 obj
-<< /S /GoTo /D (subsection.10.23) >>
-endobj
-156 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000U\000n\000a\000r\000y\000\137\000M\000i\000n\000u\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-157 0 obj
-<< /S /GoTo /D (subsection.10.24) >>
-endobj
-160 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-161 0 obj
-<< /S /GoTo /D (subsection.10.25) >>
-endobj
-164 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000L\000o\000g\000i\000c\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-165 0 obj
-<< /S /GoTo /D (subsection.10.26) >>
-endobj
-168 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-169 0 obj
-<< /S /GoTo /D (subsection.10.27) >>
-endobj
-172 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000O\000v\000e\000r\000f\000l\000o\000w\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-173 0 obj
-<< /S /GoTo /D (subsection.10.28) >>
-endobj
-176 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000i\000r\000<\000\040\000K\000,\000\040\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-177 0 obj
-<< /S /GoTo /D (subsection.10.29) >>
-endobj
-180 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-181 0 obj
-<< /S /GoTo /D (subsection.10.30) >>
-endobj
-184 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000a\000r\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-185 0 obj
-<< /S /GoTo /D (subsection.10.31) >>
-endobj
-188 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-189 0 obj
-<< /S /GoTo /D (subsection.10.32) >>
-endobj
-192 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-193 0 obj
-<< /S /GoTo /D (subsection.10.33) >>
-endobj
-196 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-197 0 obj
-<< /S /GoTo /D (subsection.10.34) >>
-endobj
-200 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-201 0 obj
-<< /S /GoTo /D (subsection.10.35) >>
-endobj
-204 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-205 0 obj
-<< /S /GoTo /D (subsection.10.36) >>
-endobj
-208 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000I\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-209 0 obj
-<< /S /GoTo /D (subsection.10.37) >>
-endobj
-212 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-213 0 obj
-<< /S /GoTo /D (subsection.10.38) >>
-endobj
-216 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-217 0 obj
-<< /S /GoTo /D (subsection.10.39) >>
-endobj
-220 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-221 0 obj
-<< /S /GoTo /D (subsection.10.40) >>
-endobj
-224 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000T\000i\000m\000e\000o\000u\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-225 0 obj
-<< /S /GoTo /D (subsection.10.41) >>
-endobj
-228 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-229 0 obj
-<< /S /GoTo /D (subsection.10.42) >>
-endobj
-232 0 obj
-(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000:\000:\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-233 0 obj
-<< /S /GoTo /D [234 0 R  /Fit ] >>
-endobj
-236 0 obj <<
-/Length 1153      
-/Filter /FlateDecode
->>
-stream
-x��V�r�6��+pI���0X.�e<^&v�c�9d2��$f�( 4���i,�l:�[.��~�z	�#�>�7�?M�>\��
3*4�!Z�dJ��4C��%�,T<b�D�1�ԍ
ۮ^/ԃ��j��^�_'W��8�4b4�f�d�H�=f`#h�v���`��5J�bJ"Y*g�s�H~h�W��X���Z7�]�ڊ�`
Q�9.��<g(�,	�½�!�%�T�i*6҂|����x�+�3���q�4�	)�fҦ��伕1����"#Ԫ��s
�]!�2PI(��c^�^�'�説Bho�������
�K
V�-<cAT���U�O9���)kU]��8��4�hٜ� u��zeK����8,u������#
-K�(*�'�8�
��ї�=��"@!G�N���"�u��G��^��
-p<K7�CX���0�t��v$�
�Ńs�6=S�eE�h���o~���x���(�GK�M����j��QAh�,�"�o+�m5� �����3������jY��T�<+��V���\t��*���U���'�O����%c�v����6�y�\֕w:��4������$P?N6M�i��C��1�n���XR�s���a�9�NV�sJ^�Vws-/s
-��y��mQ+1]�˓io���/K���
�O����?�
;��3LB��z������ި���]���i��գ���y}�'���}�
N��sb88 at y>�.y��5��[��V

#;�GwJ�][�s�9��Ƶf�2p���"���g�x�ʪ!ϣ�z���,<�<����O��5~���,z%u��M�+�C�s��-��������
N����9��۫`变R
-m�_8���Z
�	�T���&��&�����~b����aA�9�Ӿ��^��,\oy/wpyt~;�;}�
�Jx��TH��~c��:��nfܠ�:��/j�
m!�>$q��U�(� �@�:�O\}�����z�I���-�3�7
��cr8�qbm����������vӘ{��u?�=^��R�!�+ޓ3eGp����g��A�U�

�{�1
�/
�S  3
-~Z2��+<�&�-
x�?�Ц�V�DzīoǛ�.��>�j���dqm�nd�����]�x~���?'�ͯc�������
-endstream
-endobj
-234 0 obj <<
-/Type /Page
-/Contents 236 0 R
-/Resources 235 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
->> endobj
-237 0 obj <<
-/D [234 0 R /XYZ 89 770.89 null]
->> endobj
-238 0 obj <<
-/D [234 0 R /XYZ 90 721.073 null]
->> endobj
-235 0 obj <<
-/Font << /F56 239 0 R /F23 240 0 R /F40 241 0 R /F41 242 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-269 0 obj <<
-/Length 1724      
-/Filter /FlateDecode
->>
-stream
-x��Y�o�6~�_��I@�����eN��\dz�
E[�M�Beɓ���w�#e[q�$-���#yG��x��qm0�E�t�99�ّ/|c�4"fnd{>��[��b4�fS����
-f
f�]	�:�Y�38��� 4������X����l'
-��z����Ԙv����x~k!�ۜ�u��3�H�W��
3�	�SM0��	�
�I&��,����u���<vE��楽͒May�i'tq��(3�<�}���*)i�"�o�2S+X�r^$WRuV+I���=3.���8OoWr�W0L�����-g<
�5��,�IY&yfu
�L\��E�Ur�
n�FQ8W�d���
DNh.���%Zл�$
���I^P}�/��-ի�־�&��f
Y�!JG�R���A7_�.Ir^H�l�ۑ�6��RW��
�0�ˬ�ϰ�Y�sSe��mA]�p�
�-5Ҹ�J�/��gn�WiR��y���j�[��GC���o�!����4_V7x�q�$�h&���=�&�2l�W
�7I�:��
�� �\+��$�a⩜��#���E�Uݳ
-�]b�o��%��.���&�
��4F+9�����uT�mu]�c��TՊ��(%�C%%�Q��	��<�.�̏�>�Zt)i�� X$UJ�B�
G
.���V�fRs
4
�=��B�ih�}��{؎8� /�R��em�q"��8�	���F��*���>TVQٰ��c�^�f
X��4�\�:����uX��,����U4#��"�

4��$�'
�k���Kd�!�0�E��"Y ��Bh-�N��>�����F�(6��j\�PpKq
��ׂq����	�R���-hpi�
;Z`�v��T���5��Դ�� ��;"`cG
� "��Q�
����t88S���G���(!܈(!ܐ��C�/TgF��&��Ԣ�18�"�M��T�R���\n�gJH����`���rF�z�7JjqӛLz��+5�\
-���*1ʒ3�c�P��7iBpM�c�loIB������K0hE����p0{�T�f��t����2{�g�lpv9����d|1��dc*՚��.m⟦<���{��n,���pSH��Tq��G�N�-Z�z��*��n�U�N��$��[���ĨL*�� ���n�,V�%��av�
4ّ�<����󓓛�['~��l6�Ɂ�:#��@e�F��l�;:!��+��{H�J��hEh�0��s8c�|
��p\�uK�
&�Hg������"�/��BYy8L�,�E!���*;4�͝�G��Ѕ��������T����}��͜�9��^�
�C��t�Y�7�v�BO[-�{p�
X��p��QZ'�0���x��F�{Od�e����c�-<[\G<
�Z

�m��F���ʶ9��~"�;B�WP8K��>��o�g�e����,L9ۘpF��I����	#�c�8��?�����@�#	�a6�N`�0�M��p�h�
@^�� �oD
-'qv��TQA���:{��ɤ"x �h�8��_��x�y$������ND
6�p���o���s����\�Bfw���ڗG��-H���(�Y�9
9�8���.w.
��C����(pB���
l/
-�?�<����P�.KY���<�9����~⧳�'tf2إ-�E�USy����)�ۢ�3
-yso>�~pP
\�
‡_2�� ��
<��L���vۍ�=�@o
-endstream
-endobj
-268 0 obj <<
-/Type /Page
-/Contents 269 0 R
-/Resources 267 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
-/Annots [ 244 0 R 245 0 R 246 0 R 247 0 R 272 0 R 248 0 R 249 0 R 250 0 R 251 0 R 252 0 R 253 0 R 254 0 R 255 0 R 256 0 R 257 0 R 258 0 R 259 0 R 260 0 R 261 0 R 262 0 R 263 0 R 264 0 R 266 0 R ]
->> endobj
-244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 660.753 490.947 671.657]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.426 638.9 322.585 647.747]
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.464 607.263 337.877 618.167]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 595.308 513.996 606.212]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 585.41 169.87 594.257]
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.806 498.88 383.194 508.778]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-249 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 430.24 151.499 441.119]
-/A << /S /GoTo /D (section.1) >>
->> endobj
-250 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 404.385 229.087 413.362]
-/A << /S /GoTo /D (section.2) >>
->> endobj
-251 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 376.627 252.131 385.604]
-/A << /S /GoTo /D (section.3) >>
->> endobj
-252 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 348.869 165.446 357.846]
-/A << /S /GoTo /D (section.4) >>
->> endobj
-253 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 331.231 163.723 340.077]
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-254 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 301.55 180.928 312.429]
-/A << /S /GoTo /D (section.5) >>
->> endobj
-255 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 283.757 192.764 294.661]
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-256 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 258.036 155.484 267.013]
-/A << /S /GoTo /D (section.6) >>
->> endobj
-257 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 238.341 192.714 249.245]
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-258 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 212.62 155.484 221.596]
-/A << /S /GoTo /D (section.7) >>
->> endobj
-259 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 194.862 168.435 203.828]
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-260 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 167.203 206.393 176.18]
-/A << /S /GoTo /D (section.8) >>
->> endobj
-261 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 147.508 225.67 158.412]
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-262 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 119.884 221.874 130.763]
-/A << /S /GoTo /D (section.9) >>
->> endobj
-263 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 102.091 321.39 112.995]
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-264 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 76.371 196.43 85.347]
-/A << /S /GoTo /D (section.10) >>
->> endobj
-266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-270 0 obj <<
-/D [268 0 R /XYZ 89 770.89 null]
->> endobj
-274 0 obj <<
-/D [268 0 R /XYZ 90 450.711 null]
->> endobj
-267 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-316 0 obj <<
-/Length 1291      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�8~�W�mafct�dvv�ͥ�6�о�
�K�Y��0M��W�v�ld	<[����O�

	� Z���1�
%C,\�Ȑ2sw\����}�1�L�P2���������|�/�ZG���4M ���4�"NZ��Ape

@��n/M�����~���R~�GU?���Q�hp�PpCˡ@��
��=��$�����F]�8'?t������<� &�8�u m�:��\��
2
��٬��Y]+�ҡZ ��\�	ڡ���
��\��D�1~��%E��e �'y�����{cV+ H��
2�@~=A�=6�y�*�Bf�Yi���g�
�_,�C������m=4��!�)���>������ݔ��
�� �U�����@�e��}j��H܅Im�d꺃h���*�
��&Ɠ&�N�Ҕ���g"H�&?�ݥ���D��Y�&�i�o���
Hw�;�\lj�
���F
�B��Tdc���ˆxF�R�A���Sq�M [...]
Ar
2Y�
-��qa�#�7A�<�@_G~�vh�*r�xlHx�;P�G��]}|�\���x䟐YP_8(��m�˵�R�!�:u�*
�7�Av=��>W��j�z��� =�j6sB�۞��B:R���E���gH�2p�|�,ר
<
-[3^
-�M��+���eq��d�S��!W���d�f3~�r��?29v�%5
�Y��
�3
-WW4�+q���!l�:������f��G�
Y2��l�
��5b�
c���${g'���3c��V���rԣZ�,��ůb�Hi�qV��[�`*6�
�Q;C����,K�-$BC�m
	���O�}]����¶���W�$��@��4�
d��CI�K��&v*{���e���fl�[��# c�x^��
�ӡc=��mk�G	
[Ӟ��j�,"�yv�\���8�(Xad��9�1�v+�1���vf��x���Q����}��S�X�h�
���H��{,�%%�eI��Tn��"�Q���;���X9tp�#2lU��I�
 }=	���}y}~���B��@Y}l���c�H� 7�


R�Qy����}�P��ܔ�O�q���9NG�xTuu���;�Dq]��2S���튫�8�����7 at A�R?��=��&h�æ���y-�7�}*��G8�!J��cH7y>��vooo��,���T�IޝN��'��`���۪����L/b�B�D�g�3^
L�k��p�O
m,����
-endstream
-endobj
-315 0 obj <<
-/Type /Page
-/Contents 316 0 R
-/Resources 314 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
-/Annots [ 265 0 R 277 0 R 278 0 R 279 0 R 280 0 R 281 0 R 282 0 R 283 0 R 284 0 R 285 0 R 286 0 R 287 0 R 288 0 R 289 0 R 290 0 R 291 0 R 292 0 R 293 0 R 294 0 R 295 0 R 296 0 R 297 0 R 298 0 R 299 0 R 300 0 R 301 0 R 302 0 R 303 0 R 304 0 R 305 0 R 306 0 R 307 0 R 308 0 R 309 0 R 310 0 R 311 0 R 313 0 R ]
->> endobj
-265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 707.957 383.795 718.861]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 689.854 426.953 700.757]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 671.75 386.152 682.654]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 653.646 360.165 664.55]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 635.543 346.625 646.447]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 617.439 350.74 628.343]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 599.336 385.061 610.24]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 581.232 344.114 592.136]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 563.129 378.435 574.033]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 545.025 406.082 555.929]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 526.922 342.431 537.826]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 508.818 376.752 519.722]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 490.715 365.674 501.619]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 472.611 399.994 483.515]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 454.508 420.757 465.411]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 436.404 313.111 447.308]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 418.3 402.207 429.204]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 400.197 377.858 411.101]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 382.093 426.863 392.997]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 363.99 425.18 374.894]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 345.886 401.11 356.79]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 327.783 407.397 338.687]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 309.679 438.181 320.583]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 291.576 416.034 302.48]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 273.472 397.225 284.376]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 255.369 359.058 266.273]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 237.265 411.213 248.169]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 219.162 358.347 230.065]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 201.058 408.144 211.962]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 182.954 368.871 193.858]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 164.851 383.955 175.755]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 146.747 355.741 157.651]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 128.644 382.311 139.548]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 110.54 366.441 121.444]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 92.437 438.51 103.341]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 74.333 472.811 85.237]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-317 0 obj <<
-/D [315 0 R /XYZ 89 770.89 null]
->> endobj
-314 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-328 0 obj <<
-/Length 2735      
-/Filter /FlateDecode
->>
-stream
-x��Z[w�~���[�s, ���)I��N�];��&LJ!����b���;�H��
{����6���϶3>{}�����_B>�Y
�`v���|��������X,���?%YA��
���V/~��q�Dĸ�a/;�?�^�~!��g���Y�������Y
-�g�yq4;�I���
|����?.�e��W[��;ˬ�0+�b�R�P&���K��T���P�;�V�]����zx��-��/��w:O���7�>OꚚ��FW�X�[v,��/��������8�{�c��C@>�K�@�=�3�x�?
-����
E�C�1Hz	���W�10O��\U�ۅ�ϳ�.���Ok}x���_O]������p�s!��'U��r�|�����b�	/��g�|`�ݍn���/���� � *�T 10-��3I6�º�b�(��2�=bZ{�C

"\��b��s��&�il]�uMt�{�
:��c�숞DɊFW���
�)+k��?&
���
	
�P� ��.$1�j �
����5ã0�@U,�}��*��Yj��C��ֵm7����h^�{]e�$�sWuS%k�Mvů��k�T
-���5��Dc��^�<��g�׻�kK,�M�-
w�`L7k�h�/�;.7�9�!�{
��=��W��t$�}{M
k+��7���[��BW� ��2m��qA1_��	(��d\	��U4�҇J�� % "A}��o��q�H?

����q����b7�.5��f�0$-{�
{�"c7axb72���=��v[���h�}R� ̹Ʌ�E^�ˢ����h���~h�ƀ��/�X�֮�l��)�x��6����M��Icɕ
���W���N)�T;adKrdKhzܛ�)F�j0~�_Z���HvX�l�O�x*tӲzt�!1�[��
|�^[��9!�B���.[���V��;��]b��Jk�0��n�<7�
�h���=������*�󫶮&�'�}��TVSq�`��}��r=�E~�°;}���YK	�K�
O2(���{�%��3}|$.�>��zh,X�C����з(m��  �α����'e��n�Hﳵ=�
vBkk=<�i�9b����*@^d�^�y?)��d b�vF%�@"#vO"#t���̆
��۶ҩu�YCC�,w�mJ����Ե�FQ�
-/���c
��b�9DL���Hy�E� [챭���En� ��|[a��༮�AS� ɕq�0Ä	��YMI+vȡ��
-9h�<%:2=?gq �o0�@t�z*�s̅�x���l���,��@~�t
�UO���C54�%�c�7:nt�P��]U�o�M`x3˲k�X�&UJs�
P�_��d ���^��#�Y�5��zA�D
-�&U�y65�K��8aZv�ب�Y�����tB��X�VCGJ
-��3�3Y!�QY�R�����Cr�L)��T��2�/
�ֺ(�<�	~�5Aq�0pmEY,{!gB����~����ν{Y�
��</d�\��f��d�$5G�A*J
-��V�Zg��m�i�:ZVS�Nb��9��WM��� y,���T���Mf<r�Z;6�y���A�#�@��CB\���l>��H��g"!/��͢0�Q�)R 
�cnE�䣉�ԃ	�`_�OA�0
'��st�G�}e7 o��&2\+�����e̳1)	�_����uV���Jꄷ�!��0��J��]�$�i=)��a�]�(
е�
��D�2
K7
�HX@{#1�%�&�Ne�>��w+6���"���(uۗ]�ѧ
cC�Q�9v�m�sV*���s[��
Y���!��6O_�W�'��ۄB���(�8	Fkh���t
�9c���H�9��$'�b�h	x�)Q�Ʀ�a7F����
�'�7�c�7 ��$P7��-�K�q����0�c�%1��b�o��>���)����R������l��B���db�!��P�=*
�:�P��Jti
�`a_r@�Jhؒ��[���k�e���K�`�Y���Sf����T�:K��6<OXĢ���Q‡�um
���[���
-���~�co
�K��\��
�G���OX	���i���
��
�I����`S�6�>�
-�L�Kr�Y�5Y�g�
��c$z
�Do�u�x\�\1��^z�P���0����)��X�=��4�y<���1 at i{�T!��#�L��oZڼ�&a)
&�a�sG� ie7}���@����7Y1�9�_v�������r\��0�Og�KK|v�i�IΗ嶠�9����yo���clo�:�M�Ek;
Q�6�)�6��`�(%�.����!�z`�1㢛��N
 Z����y�/'_�X_r
�#=]Ժ��Д�8�rTs
�����iڄ�
�қ�s�E~p� m5O�S��
³s��1�Sb�s�X:E
j��������B'grHGE��l�-�b��s�o��ЧnW5�Bb&n�
L�4V�t4��Ρ�TKu;���e~a���`���W�q-�?R˛���Z
��`����=ZL�� 6����GÆ�1���<��e�N7��!mr�JS���:�����up��@�����B�̏�G��[�=y܂����y�{�����L��f�Z�翀?��‡ ����<�wo�� [...]
-endstream
-endobj
-327 0 obj <<
-/Type /Page
-/Contents 328 0 R
-/Resources 326 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
-/Annots [ 312 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 333 0 R 325 0 R ]
->> endobj
-312 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 707.957 381.205 718.861]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-319 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 690.33 381.195 701.234]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-320 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 672.702 348.538 683.606]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-321 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 655.075 381.395 665.979]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-322 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 637.447 335.796 648.351]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-323 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.948 619.82 357.384 630.724]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-324 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.923 210.277 513.996 220.558]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.828 198.322 179.664 208.22]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-329 0 obj <<
-/D [327 0 R /XYZ 89 770.89 null]
->> endobj
-2 0 obj <<
-/D [327 0 R /XYZ 90 605.056 null]
->> endobj
-330 0 obj <<
-/D [327 0 R /XYZ 90 570.374 null]
->> endobj
-332 0 obj <<
-/D [327 0 R /XYZ 90 456.765 null]
->> endobj
-326 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-339 0 obj <<
-/Length 2842      
-/Filter /FlateDecode
->>
-stream
-xڭ�r���]_���)�}�O�|�
GVVr��
-�$"C����tO�
�^Um^�������{��+g���������Y�vy��n�J�U
�v��X}����wV~��n�
5y�������-�]����z�’�ri{h��*?^|��Y0�a��~��
�qx>|����?.
��sF#�\���*v;uR����h�Ia�+��
��sY�����
-�?��/t����Q4�
?
��@ li˶��������w A5�����ŗS�6���
���~�g^�Cu��n#��+e�UȨ�Fam`�
�Q�|��������5��M@��w�
	M��^b��P�B���];
C�NK�;��(�2���I����}~�T
�=Ȧc��5T�z?�G�������֌���� ���
8��e�v-/��xq�����z_w��+�
��R5t#3q�{��(�?�f��hqՐ

&��7�� 0�iiD'�V2�x
���Z��J�>�`dz

���Q�?���������Ѝ�kJv�B
���'g�h�%v��Q^����y�l�$d(H�;}�I�=0|Ѵ���v�5�w#Aƀ�=l���Ch<�)�~m��S%�?��^�w<��Ȣ�;
���p�X4���lDw�]���w�8 at o���c�
&k��
-*�~�&C9�o&�ic�uYn&�����T��=3?J�q��Ab�R
�h_���G��G��!��UE�-U�	|���p&%��l+q������U塤�A�)�U��J�N�����1�D<R�8���Z�D��&f��v�; � m�
-je�G�
��T9�GQ�2
�/�4������)�nٮf�P�����-\ ��7���MSۇ|�,%���Eևl�a��H�0^�o�#
�
m��߈�4Ɉ���$h�,+x'�bL�±���3}�l�@�
<U9
x�lZ"aH8�ٔ�;�ҩ�r�4�=ɺP�U���l�jV&�
	�E�A�<t��
-��@�����,%XT
y���[� d��Â%�v
-%##`
����vY����8�'P�8շ�
��΀n�&3h�
2�;�-ߢ*}+�G!jr7�m'
-��w1�I���8��������3n�N2	�oP��Ķ�OG��`�I�gQDPheNw��6ZѴ��K�&w�5�hK�u_��l
���>".�3��J[	�w�G.��$6:��8�� 
d	Bcw�:�ryܖ��i S��P��B*
-�ˤ�1F`�E-��
N
$�˄q��U�R���&(
�����x�8fi�ބW6b	�ΕpaLJS g
L/ ��\ �*��
��� ���������[�(s

�� �8
����@@۲*�3�7=��
[L+��{
Ab������
�����֠��(% �+n���o�v�N ���Q�ق���g;�q% GY0I�8
������s&eA|i�b�gՏ�j�;�	c>܅\�T�a�
-��IY��W�$8#;��!c2��ѐ��iu����FW�Qi�O�U}�h��*�`!:�
GLuS0 �$3��B?�SԠةˮ̪�7�U
a
-"@SE��߶�k�jĖ'4rR?��m}}v0���W0�Q���L`6�8T��� 3���T��F�L���*������*�E�F
-J\@qn޸�<󎠚���J�N�%+j�H@Y29��@�Os�ȼUc��@s�:��N���N�T?m\Haֻ���̩@U��@��_>B�[�p
Ѕ۩Ϻ���u]
R{��X|�D�����]�s���3�#�i\���u�sS�\�bh�Ⱖw*�m#t#"w�#�3�%��.�֘��u�����
V��Ŭ��@�NhJ�Cם�ry�kw�l��?j�6z+], o(84gI�1�Z<������r��.�%AH�u�#���)�ho}ǔ���z$t�\���M�"|�'V�Q"(�
��0�Sf
Y��R�h{�.yb-Y_��\������j��I�`���������r:{x��.��;0�����\�
_�o����'6f�^	~�XP���~Lm�������"_��҈��(U�
Ќ���x4 ��y���QG�3�|ޤw�
�h������в��3͜e�'�
�Y�noH�<��m�,)s��XF`b���l^H��j�+��k������>
��
��F�E�3 [...]
�jm
r}hM��W
	�:h��@�a�:
P���8��%~����_�T�)!�Rv:U	�,�j�*��Sk�Q#*���������x���$i��C�D��A���~��I �f�7�J|�$C��靔���g��b
��
���M���l‰
�r�}lH!�B
僘������.��|j@�ʶ|�b>
�k<�W �qqh}'��BV�� |G���QӔtV����J����R�`�F��d� rk�r
�
���`�B�7�)`�{>�|S1+M�4��b|�iX
� �K�1��3��'L�`?9ù,����L���'���ʹ�O�0D�����}�3
:�u&��b�[���ϼ��$��2&q3��^��k9"q~���^��P�g/���R��w]�����N#;��D5
��^�������nT��
����C�A�&k8�L�U�2���B���D�Zr��
9�O�<��W��P��2M:pU�C�hw+��

-{�i����h���婱����B	>�V`��=ڔpG�aZh��B��%f?�����L����C�
-endstream
-endobj
-338 0 obj <<
-/Type /Page
-/Contents 339 0 R
-/Resources 337 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
-/Annots [ 335 0 R 336 0 R ]
->> endobj
-335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 281.08 388.718 291.984]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-340 0 obj <<
-/D [338 0 R /XYZ 89 770.89 null]
->> endobj
-6 0 obj <<
-/D [338 0 R /XYZ 90 353.296 null]
->> endobj
-342 0 obj <<
-/D [338 0 R /XYZ 90 319.31 null]
->> endobj
-276 0 obj <<
-/D [338 0 R /XYZ 90 319.31 null]
->> endobj
-343 0 obj <<
-/D [338 0 R /XYZ 90 213.902 null]
->> endobj
-337 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R /F11 318 0 R /F23 240 0 R /F8 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-347 0 obj <<
-/Length 3236      
-/Filter /FlateDecode
->>
-stream
-xڍ�r�6���-T���S�r��$��f&�
簕�&!	e�T at 2Z��o� >̙�b
��ot7
���p���?�����
W��~oWO��>\���&�¬\���8
�?�*]k�*�<�ϕ)x��)t�j��y����������.���UĨ��._��~W%�Z��d�����J�~�է�݅c*���(�D���àA:��b�N
OnMoyd��Ե�8ɂ�f`�uɣΟ��8
�\GY�k��t'm[
ls�Q�k�u3��_&�N���k���ڗ�3B@�[��R[�p� l���$�
-���!
��	�Ӈ�j�.IbƉ�Nj
��
C
-m;ejA��KS���T�3�e�9��R����Q����\��Fx����]�Q(!)!����;7�9�؞L�-�
��e����C&
�eE�D ��7���f��?��H?�
d����"��=��+����Lp���t%�k���� �ΣU�{f�z�H/�3rhdQ�\;���<8�mǣ�j[���
!}Ɋb���] �&͝w��Ug�%�lޝT�p� @V�
^S�Y&�}�u,�&�-d���zA��`�H���!� �D�!�m���`bMC���N>D‚
-U3਻/
 ,���PȸhJ�a���K��wz��ȩ�k����~�
-�N�s�.
c�^�cŘŭ��2��Fq�j.
��̉
F=�O l%h��ǟy0G�Hp���R0���$xȉ��v�ҢG���s����x�
�
��a�d�Y�,>,�G9��E�\Ď
28h;�Nw2���ɑ
Db�hE�8��ty�@�gӶ�h
Eǎ�A �r}��o�j��"ڤ�A[��p
-�'%�k;�lR}wj�u���yߠz��.(*�luc(G�KO@�nW���j>cd�݋���;A�q�.t�1L,)s��
��� ?7do����33�xj`8Ĩıٍ
� `vC�E��R}��j�s�Zв#YԸ�}ֲSY�� ��I�G]�/��
Qu����\i������쬨�x����uӷ�mj�"��
�2�s�?5����?� zEbT�[iͱ&�`F���Jʓs�hǛ� 
�S�9l�G-	l_�`�
�0���5�Ö�Y�+L����⽪����8_HQ�u lE�[`�
A�o\8��I�~��s�����t�_���:��)�c�~x��9�u�>
Qk��#i2JrR4���
-�$��b
�k7�g���9
X�"
-7q
#����(z~�P�k�65�̕}O�k
Sv)�)%r���(��`n����z2D��M`��i5) �W	i���
�3��t�h��N��P6y4I��&͇��4

y�.�`���ȜQ
�
z+ ��뽨1GA� ��f�.
�b��!�;5����7�&�����q8���Ɲl�g�Ѻ3b����s����%(�D�c���tP�J�ř<B��-[��Ĕ��ڟF$5:�8���p#�=�-�f�#�����=��l�R�8�Q*`qG��_U䥋i��&�r>��q0��,H*�2W$�����	d	RCc�y�Ԥ��m�g9<
����E@�
|�`*8!��+�G��>��"^9-D,���˅�I�Q
��h\ ��E
P�n�4��4���
��^w
�*<��.��7���
w�b��2��ȑ�,]M{�M����ßƔ|T�\p(<
f�-1�Z^�� :��r��vX�'
ʏ1�d��p(�p��
���FR�yTkt�,
�
 *͒f��\�ό���^-�o�$�ُg[^�W�X at 9���1��˂��Ŵ��<
G�	xU�����4��t`���\^ޥT��
��Z
-5,
�=$q �l,�{W at ym�},������ۏ�x��/߽z���O
�����q��x(�;���̙�;i��c�2�
��Ӽn`��q�v�j�>c H�Qo0���,\
�H�w�2��J��YV�i'[��B"pRr>Tƻ	l��|��◈\��[��o
�^ �#��Ka�B!g�{J�Z>��AۂǷY|+Ϫ}Y��Y(�$
-
��E�H�H��_�S�$�
- at q�	{
�<�X�%���%��R 
&���2�ᨠ5P��U����4BI,���A����"D���`rC������
gu�F�׉b&M ��r.�k�?ս���Y�ԊWs/�L��H�0��a'g}��f�'�W;�_�.���JȭE0�,q��Bg~/�;Q\��'vI p��-�M܎Y
-���qϵ��A�cV�}4Wg� 
!�
c�4���J۔2$��['��4�%HS����c��K���ȴrnEN=�V��QT�1m_��aKĸ�ft��|��"������o
�E܋n�v at Zp�ˬ8�������#�����`�
��_�m��
�`���$	��I�"���=IbNs��8sA<�A��J���FBG�vƽ��$�o`8��^��N<��I�и��s�����
���/R��h�

�n���ZR_�&�)
,�S��)���rE�̾�e*��9�Kѳ#��r
e�x�����/r��Ҷi�/,%��I�
�yv���t
-E���E՗Tj$�Yv�l��+<�-_Qu�{�F��gy����6���9�M�|?�k�	'�(���Ԯ�s�
��w�o3��r���[�r�?]U_�!l�S8�ש�4�#�'���p
3�<)�
��1�a0�ZT�O5E��G9d�(
��2"<�q�N(
�Q(�
-���"�,��ѐ��FU1$��."��Ncvh�)�1s.t�dt?GW;�[�����X��޿K�}=�ZQ`r��
y
-����ǫ0s��-ҍ�E�K�nԊޒ��ż�p�G���~�~� ���E.�
-36�еB�Q;�s
JF�}���92B�L8�1S�ʗ
�*6��vE�%��?�ȩ��o�ė���;~p� ۸7K�t$��U@Ž5IA>�
M���R
-�bU��>oq�2U�9����:5	[���g�
֑�4�Fx�&"Q�h���q�G�:s/�;1Q�B�r4�[�K���B\�/1���p��1���l������C��G��f�Kr�G�t��`���D*�=�/>6��K�\��l��A��F�]�U}��QP����~�~���?��we**�U����a>�Ǯ;���r����#c�Q
�`�X<u���7o���h7}m.vc�7���Hz&�(J7�h�
�ύ��y<$�h�%����.HD{�H�����ԛ�
-endstream
-endobj
-346 0 obj <<
-/Type /Page
-/Contents 347 0 R
-/Resources 345 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 243 0 R
-/Annots [ 344 0 R ]
->> endobj
-344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-348 0 obj <<
-/D [346 0 R /XYZ 89 770.89 null]
->> endobj
-349 0 obj <<
-/D [346 0 R /XYZ 90 363.78 null]
->> endobj
-350 0 obj <<
-/D [346 0 R /XYZ 90 337.913 null]
->> endobj
-345 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-354 0 obj <<
-/Length 3099      
-/Filter /FlateDecode
->>
-stream
-xڍZI������-RU��;��Oى'�=��
R�	Ip��L��Q~}�.N'�&�=���S��&�����w�����Y�m�O�"��I�O3�U��������8;��"�5D|�ӏ�����	�
�}~��!��`��t�6e������M�����&5�$��[o>=��!�s�fw���>
�̲��$�~ޅ�V���)J�m�؈���0ض�
�[���qL����:��=e+n\�]��z��2��#��`�^�9�=	
�p{�~�����'σ�ac{ݝpU
-��i�m�x�bbm\O�6O �"MY
|f�

_/ �����
-������{n(/�R2O��vx\P�]�
�p����\%`e�;?j�Uv��&�x�;3�[��>�"�UH�
-��ڡہ�J9�}[iY��
X

���3�E�_�(v�G)��-�މ����pn1 at l������Ts�]��q��[�����^�I�z1���5me~	��T�٠��QAHW����.W�?�ɝYF���'��m��(�
�h���=���|�E	��g���Ч
,LuS��۰p�Fn`�����v ��sK�^�k��B����eT�4�`� ��T
o�:]�gk���i�Ӛ@qC<;N�Ƕ��t��Г �P'g�9�oh��I�D'˻ʖ�K�9�6
h(^tU]oʡVB�;w�i�h�P+{
�Y{���"F�a�WS������p����iichV�8���Uwni�O��^��{�V��}�8���
���`���vb1@"����_���&�ʡW�Z��9�-k����)�[ -���Ǟ9��b]�X����%EE��७�l#��
i��O�fG��8g�
-�
��3��E�OD{F"{e��N��*_ԙ$�]ţW��� �}�\[
��\���.�T�����`��s���L@;c�?��5�r��iQ�J��C�đ$]�.�c;r<����#�૭(Fr�\bQ�J���@~���t2/
-l.�˶��4͵�
�1�C�9�,�
�eXCR.�
-c"[��)i<��9��/˜B�|FS����0��|c \�cmJ�O�7�0܏�4{TzAq(�_�[u�lh�Q��
$Ec
0U�>��
���Z]K�(�4b����
-�e�D��.��

-QwVײ��Y8�Q\����* H�<�Z�-j�֮'i�0ؒ��@�r�9�Ή1sb��
1a\g���

�3V�R�!�}70ڊc6ň�	���L��(�h�
1�J=��ra���)��-�����
 L���ȵ�yoD�Q����eW��
-l#���7����(.$���vym�-�$ ���fZ�9�c��j]q�-�r�=k�� �|���LP�H3��CDVB��1��k�����\a&��8�����.�y1�_����ڙ֑I�-�
`��}E�-���E�w-I�l˘\o(��
2!�x�W��.�����V-�����$�y�ix���Kӭcڈ`��� ��@�V?]��:2ܷm�V�C�2�
-O
�kg�:--Z����	��LcgA�`=t�� � a�ղJ�̋��Y���O�:�)e�J��,048{G��;(%��L�a�l�C�q*
�l�)J���ރa�'�N�E:߻��F2^
D��
-�\
x�1��0N�`ȣ
C{� ��8����7�4!]�%� Z�F�����[
�
��nV5�d�ቖS�Lp�q���l�Q�T

x)p
�S���
-|�8s�lX�
|��>��1h$�w
g�Z�s��#�צ�3�R��)X�)�� 	��$, ��%7��ɣ�_�
� �TQ�D"�HR���XK �uˇ�X=x��Iio~g�H��Ũ�TF���v��^!�ư��YR��FG.���PC߂|�}�S�6��ˮ��[W���4�K-e�(n��l|䯾헯�yY`B
-S����מS͚��.�DR��F9·��#?
��9,�U�����Ŝ/$Mh��ٞ
:�ʗ�U>hI�;
L��B�U��7��$�LBl6���p�w�>�
`p�|@�j at c�N���j�@�QNB��l�d�?(��E�%Z�/!e�?-�DE�� �128F.	�
-O�S���c��#W�i7����`k�99�t'��ڵ������"�K�8$��M�������=/b'C*lh��
���HT
Sx�E���hmj���b4�"�I���wy����#�`�f�N��M/Ї�Z�τ��M?�\)
-/�+���
$��]��u׸I�b9�׺:��E���?����8�
-ʺ�혠Ĵ��k�ڬ�|g�@9�|�Yz��p�+��V¿v!�`����n\^o�i̓ !}���0����8�p~�R�8�K��
�$��T�L�<sX�=�k��B�v�=���+�lU�������G��8F<"J����p7���(C[ǂKc�?�M���0
Lg�����)L��O�-�]z�xV
ȍ�X�6\[K�C����û�ˆ��tD����c�MEt>,�����|��ut�"R'j(�����oo�L`��\����1��=��o9��^�_��(@t�$�w�$�	7��$a���<'>�&��
7əi�e�
I��?�Wt�a��;;�_,�W���
-N�x�F�)���+W�WK��
�ԙ�<����I4���F>�b�JM�SH=�O�X�.,��đ��
N��Z����|Մ��vW	�`OG}Q���{aI��fT��Ky8%���$�b��~xTn>ZE��9����)
-I��LzI>�I(�pu���i��j�`�+�gv��`���1�:]�[s�Ȇ
-8n���U�� 1Ō����CQ�-MW
��ÿ�D�H�2\��QJ�}�����%���G�cG]��2�ax�P��l�M��8����:p5��T�=t��
���:��Y��Nu�1[������f�0������o�پ������I�}
-����5����ַ��:�ryG2��Y=F��7$�ݗށ�Ox����K�v�ևE:�{7�-���#,�����D^6��7���hvO���!���7\����w�^__����#���M��z��-�����=l+��ﱦ�8'<��>���
�x+������/�:$
-endstream
-endobj
-353 0 obj <<
-/Type /Page
-/Contents 354 0 R
-/Resources 352 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 351 0 R ]
->> endobj
-351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-355 0 obj <<
-/D [353 0 R /XYZ 89 770.89 null]
->> endobj
-356 0 obj <<
-/D [353 0 R /XYZ 90 634.883 null]
->> endobj
-357 0 obj <<
-/D [353 0 R /XYZ 90 261.747 null]
->> endobj
-352 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-362 0 obj <<
-/Length 2804      
-/Filter /FlateDecode
->>
-stream
-xڝْ۸�}�Bo+U�px�����[vv�I��V����$�yhҊ�>����\y�F������i�o~���ǻ�7��ɽ|�7���ߤq�%{���O�p�&������@6R��&O��R�Q�l��I���6�������>��y�Q�& ҉�f�����)�n�{Q�m����a�j���w�7�
/����=D�wA�m;Yt�9_���̣<9���N����
m�i�����keaE_�a	��a"�K���>�I���
`xiʺ{�[I�-�]�l��Բ$���
��YT
�����C����<D4��]�l�(1�Z5���jO�L��������z��n<�\���P1^%p�򢄠�<a	�}���ê������8풭@����`r��N�m�#}�����o��A�����n��XZ�������Y%94C������� ������
�,	�bT�*���,3;�E�guP�S����鴚x[�4�L2����/�4bKo`%��aL��~�(Kmom����b�ٗ��-/]
֜�ݣ
Z
s� Ne���h��↫�' t-���>(>pEzD���-3�\1�S
-�n�`��8�,���4gm����A1��jr�MI��
-eȎ �.<��ݗX!��$����3��Ǭ��0���ڤ\8B�LQ	U?�Y�UM7U�;���J{��=1��oݖ
-�q!�F��;	X�w�x��
��z>|e�R�~�q�n�u-՘�����p��$�2�
c8oEh&��V�Kb�T҆{��}!�Yv�с_�#+Ċ�����V/r�rtF�c�Y���
�xɿa } �pbz�^�@z5�D�?� u��60���`-� �=p8	1�$
G
��p�ۓ�` �I!�ޒG�Wo�
yu��{:H5����P�5c@�7F�p[�
r�Ma�G� d6U�mo*$��5�s��h%:Ik�?XИ3M��a���Q�l���gth�"i!N�Bޓ?�$
-�_��兖�֊E�`y�$��mhb:A�'$2�#
�	'@�x),��BA����$p�$���%�u,�(Z�0
-{�'�?ZFIʈۋ�0p�>�[��	7����ƎI0�p�0�%F6�����Ä��֢�n|*)	�NsmL��Up+��O�w�sv�+
��gQ��sI\��ښ��j}0��p]p`�8
[��$-�7	&��m�
�
�-
im�
��No%�w
F7w�J\�'���m��3�VY6+37��\Z�MY�kM�p�:�{�����ϥ�V,��J��X�+�G[<��� ��<V,y��/��:%�
V�3�Q�8��_
������_r
����^,ϳ��ՖN��}��X6���ms��j��Z���zQ�2�XiM���������F����
-#�@x�L�2��
�������ZS*��m?�:�M���(/
-=�u$��0L�X�
p
��O���I51&2�f� _�
ժ�b�Cسp9�9��r���:€#�@D���&C�
L�����EC��{a�m�$z�e$z��_ ��8b�q8
�cć�c��2��2rU�e4��B]j�J6ɓ�K uA�8��}>8�G�j����0��� O!��Q
��C��П����[�`/F fH7myBL0{�a
-ֈ�D�4]Z�y?+��
S?�����z�O�\6x8���hh�r[mkNZ�0K��A�빭$/9�gcg�O�\9<p��
�B�֒7�Zxi��3�Xf�1�����
-G�S%�?4�9�gӎ&We�N*�$/P��������	�?I��=��|�
���S�Ӯ��6�� ��’���=�` ��tf�$w�%uN�­44�ƌ������L��sN�L�
�Q� �Z:r�q�%�m(�Yɰ��"崶C�}J�
�
(`�����!���w���$|��I��f�I���`����P
v!d���w�V�#_�@�V�+UR��������n�q��O
�/L�`��
0k҆�����B�o�"?�+#™"a�l�z�ٗ
-o���/���,�-�k
���+��T�R�
���D�����@h{���F92��$�/�u�R�������"tU�aa�ѲY��-A���`'3�}.
��p��&�����+N�H��X_�/C���]ٺ��(
-��O�N��
-kEl�닪��	6 �!ջ���1N��!"�^�mq084kx��\q��c3鄔��8�@�
-�Fq&X`����&f��4��
�����V��–��׿8�����y�r�x���f�1��P�Zr�Ԕ�;K�,b�/� Q�T�
--T�����*���j���#�>_1дU_s%c�;.������4��;�88����!=�–r�+�D3�=�t��Nb=C;�qV[�
�Z�a���V�-M_qݍ���GJ�;V�Ԧe�Q��ϱtftQ�3��o
���U����`
���
�T�L�M�
���j�Y�b�Y}P�Q�^
�ʞB��
l�&���<پm���d�k�,қ��͞�s���4+�R��u����U��I�e���[���(�����X�<k��^�8Ϙ˿B�����j�?�{y
-}'��^�����|B����{j��Y�Z�iZ��
X]��6�SO�fo��h�7u|������w�ߐ�}6��s��B� ��僔�RƗ��
��
'"B��eA
-KV�s�]~||�^�^a��Q��
�8��BQA{i�;*�
Q�r�PxI��<���7���=3�� ��YI
-endstream
-endobj
-361 0 obj <<
-/Type /Page
-/Contents 362 0 R
-/Resources 360 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 359 0 R ]
->> endobj
-359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-363 0 obj <<
-/D [361 0 R /XYZ 89 770.89 null]
->> endobj
-364 0 obj <<
-/D [361 0 R /XYZ 90 700.936 null]
->> endobj
-365 0 obj <<
-/D [361 0 R /XYZ 90 546.471 null]
->> endobj
-366 0 obj <<
-/D [361 0 R /XYZ 90 403.962 null]
->> endobj
-360 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-370 0 obj <<
-/Length 3365      
-/Filter /FlateDecode
->>
-stream
-xڥ˒��>_�[����o�˛��8�����}�HhĘ"e��X���
$��x�⪩!�h4�~S��y����𗧇w�3WxE�����wY\xI
-�j��>=����.Js/(R�C�/����W�=}ĵ���
~y`���=�|W^~���U �f�{Q��^麋������?���$� F��1
-���]{�����{�>�a������n�A�/5���d��W�!���'�C��
�؋3!��C �vF����8��%�-*�m�^�?�+�+;��j�+� k]�3��wt���r��*ͣ3�ǣ��tϨ�EV
��;�"u�
-4�j���#>���g���25\�����;�x�$a��t a����όpb
WU
���n��תR�F���^�[�Vt/�;)eY���e�XtD^�
���K���7�$ڵ�wޠ��:݄��/HQ���ԋ�
�?�"b��0Yb�pL����O�/q4�х"����a,W
��E��
T��zꪚ.v�rJ*��� �M]*�q#���FK��lF2�^mm^�f���!٣֐�r/N�������+��'�*��zS-s���}aU�X_5�ث��}?��U1�kI�{V�,�$���
�U�x���%�͝�}4�2�I�00�y`%��'�-h\yQ����}��><��׊�Պ�
��V��V��V��Cъp�Ἤx����U��JȾ`�/�?U"/V*���y at o��K_�n�	��
��AJ@��+F�;��� �he
�^k�޵� ��uA)���Al:��y���l
� ݛ�	
a4
v�ʊ8Ꮇ[�<9[
�k�0�µ7(�0�
Þk|��
ATK�C�
�/A�u�h��/Ѭ��� S�u
�=��I �
Kb�ewC
�3Ǚ�7t>:Rk�x��+�%���YJ��CT���em^ݓ�����

�A#�B�;!�
x�~&K�������;�^  �F|f�N�{&d���[w�v��׎���v�_���k�
9z3L6G�T�:�t��_ ��ݾ�^��g�ň�Ѣ*��Jh�e	
-�u*R��w�,�N�*c@Ф]�����#ŏVNz�
^���7�}�EQN���}i�}���Nj�ؠ�jd_��k2�B�
-`2',�SX��/`�<Rvi�n:3t�2{]^��"u
v��9J�A`q5��L�!]{b%���A�[5,=ೖ��:\{!
�0`Մ�,Ke Ye���R۵r��5��	��<���w���-�SBj��R;�U+5�.�4��\j�Xʈ,2�_G8�-Be_��q����	����X+� ��J�s�
{@̣��=	�tN�"Mc6B�2�J���ň�[�J��~�U���/�B&9f))Ft�oh�B�ጿ�r��	�Vrc�6�Y��9=_��"�}
��+|��2�:®���|yY�A�[�6B�y�96G�\?uL��)Hq��$l
uz�
-��58�������>�H
��B�	�8V�A��7����CM���fy|�_��J���5+rL�1!�1g��d�)����$XX��
�"��8�:q&�z�l'�
P5������Ȋ+�0�v�A�e#A%*�9�$[�(�CL�>�ϻ�
Z�AM�NóM#��n��gR߲n�����I�
� �I�WI�B��Y	iz��
-��6#pޒ��m��_`�c
�k%*t�82����
X���n�#�jEiy��q�T����
I�꫆�C&9��҅������%֣�����)?�c��

�J2C�����~V��1$�c����|�}�/�-��FA��U�'U�A'2�>ɏ
���m&y�+��?��3�OdD�o
��֜�
ݑƼ�W����*��u�
��P�&-7|��FBZ25��7�(����b�,@%wy
k2'���3?'r�/T.' |Ҳ=�# �P,:��x�-8��Wo#(])\
�\�![+N�G�(҈�JY*R�~&
�����_b4�/QK��
oI�;f���A�k�8R�r��2ѣ߰�a�"�+�O܅2[�'����
ZJ�o�S��)���X�i�3M\9��[��g䢢 ��l�a<�>/���
]
�>pm
����;-��rpBX5����fb�ܭ}�Ԕ��U�VhK�'���T��X�6A 
��Ķ�{���--�8�R
G�W��D�RI��T6 �qSp�@��5B�6�7�7��rJ\|��
�4��SI�-'v���-t�{�	��D�q9u�Ds��E7
����*��4v��V�7
-�6���N��l�5
��~
L�CU7�����hZ��
�y��0�{�`h]3�X��K�>���e��I?_�ze�q
���x�U���.�F	x>��oz�B������0�)k���U8B�Ȑ6��g�
Q�q=�^M�7n.�NbJ{��msOIϲ��>.��2f��\R��~��,)i&d5�o-.$�$����%g�K��si4�un}����y�o"�
�e�Y�.��Np����1aD��2����]�X��‚$
K�{n'�ҙ�$�ʸ՝��� p��o%�қ���H(�w)�
ek_�C�!=��͐G�\u[��ͷ]��Wl�����<�`/L.�
#��)
��Isi�R���>��4�T�:E-:7\&B�U�a-�������4�!�8�
$�Ŷsy	�`&&��F�8u"��KW�Pb��RW��[�a����p�3}&˲�i�V0�9�tJ�+�QB�b�@G�	g�i 
-NN�
ͫ i��%!����T�r����S�M>S�U�
�@��"L���L�9��%o6Z�s�7Ģ
8����ȩ� f<��D+A�F��Ȍ�'�B
-6�:�-�&��E62���̐�^MKy03K'6��!
Ǎ�j&��0�E�H�0�6u�1�*���W;L�D�����a
#����']�Ѭ8+�f�1��[(���UUz�6����vF����s��I��)��=�d.=��"I�N"өI$xx��@�sS`g�(�ȡ�x.J�6�n�6�c��K�୔
q��
)3H�K$�0
2�Bi�
Q$�e����:SX��4
�K�}_?_Vd�#�l-���i(�����愪� [0�x�2�s*0� ec+Ÿ�oz���F�¦�'e��
a��:/%�V�3%$���aŒ+T�;���R�zA~�o��J���^�E9��( ��lg^�H�O6�}@��+�v����^-�J�|�4wdj�Q���k�~n�	/�OT{��]��J��+���}8�G������"
���;;��&+t�	���Afv���޽��x��ƶ��^=��ݚw
q��V�Y!25���'��,�c[^�No}�����
-endstream
-endobj
-369 0 obj <<
-/Type /Page
-/Contents 370 0 R
-/Resources 368 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 367 0 R ]
->> endobj
-367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-371 0 obj <<
-/D [369 0 R /XYZ 89 770.89 null]
->> endobj
-372 0 obj <<
-/D [369 0 R /XYZ 90 702.241 null]
->> endobj
-368 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-376 0 obj <<
-/Length 3108      
-/Filter /FlateDecode
->>
-stream
-xڭZK�ܶ�ﯘ[8UZ�o��
'�8���r�R�X���C�	R�ɯO�@�e����h���5����
�|����뿔ѡ
-�")�·*:�Y��ÏAr|L�(�����;=��;o�������Ժ�:�Sv
-����z��_
b�*:ļt
��C}}����� ��C����BL�C����
���C�2/6���0����
�(
-�T=���W7?Ey�
-�i��8�h��S?
����1�3��李�ᴪ���Y|8�y���]7�5u�
�i��
��GS�s���
O�����zS��Eh��#
�{�{Ty��kgGն��L�
-(�~�!�%�<�|y�O��A�2�A_uGC���
u�����ޙf�2�
�c��{?�BQ
��lh�yS�xg�A��tֱ��I=���4�
~A��/��kߘ��(!!�`��o+��}����!�`I@z;��D3�
z��
-����V�B�%��c
���,�������T�ۻ�wh-��-��˰Hd�
n�䧍��D����C~0�恍 �g�"��!�/�LW�S#�����|4ݤ?}�����v�Y	d�<��*��Ձ��F�L�
O�F�|�283��C��
�u�(ف4�
��|CAf���)�p�{-�� P��A�ъh���ٹ+O-J12l�F�
ӱ�\L}�
�����������;d�|S���lRJ�R��N���pMuwۈ�k3H{���?��D�U�p��3��� ����xw&���F��q v7v>&yp��L`/����A�X��ϫ�|}/�x�ӷl4+�aj

�s5�Ɐ��r^s���_�Sg�ٍ0<�>1��?ѮGoH'K�����')E����p�x
��x���O�C�1�
��
qnA�˝93a�2ӎ��v��s�q~�,���JʲH�Q֧dRa��'
0dz���K���V�

�b�wj���X�2�zj�P�t�o�>�e��܍3���U� i�N��|�-	�b =�ڛ���:7e����vv�
�ڥJ�����`%��.�mƟ^�7\�dn<�J��TD�*1R ���1(@w�w�*��ZYc��`�$
�J�S����f�S��^��@���1Q�T�1���d�����嗓��]�g�xP��`
�W��em�ڵ���d�y�{j�;t���&�&G93�PTJ��AL�yV�D�
�x	�*)�*)�"d�8@�&� ���q̐4�u�{ȃ(c7뀅�#� y�X?=_��{8C�(��d
���s3I��,�W�c�U~t�
&^�7t� dv��Ȇ��œr�
-� (w/ZGR���+M$�jƯ"A��$�1YO,�r�Es4�p&�"��0e�
������.J�v�D����c�%��7D�i��@c6h/fR&&�
�q�� '܎�(P�ix1cy��SHưۻ
���6�t2�2Y��I/�.7Zg��Ih#�R."R���Y������

-�A��tc ���z��x���G�G^
F��7�;R���*sb}��3���|��	E��$��E��r)�i�A
������ؠ�*��1d��it��}���\!˅ߗ��#A����\Kr��j#��щ_�yy��a3�͂ZX�a��,���
:SWKf3�w&
-��fU����y
��#mbN��YpkU-�V�H7� ��s��������"p���h�ϚK,Ax����
-��Y�*ӻ2 ��z�5lp���>���Qn�op�Q���`�/V���z����SjR��A������i�����9_���qJ��e1K�{|oܪixm(��c���)Ya���9�+L�襇��t� �
�]�� ~�h>��r#6L€>��w g���۷0�
��n�g�0架qf�	 �)��th�����
_��\`�_[��\Y�E����
tEf
\��ך�=��\�
p�V��
-�`1w],^��+�P�\���4.�g���Hz
-��Z�R����MV��I�%�'��<���_��b��A�h�_/(йZ0-���G�
Q���#�&�%�����#\��0;y&��45�� "#;;������\ 1���l��כCF�!#P���zߺ��F�
��@?�,f�
4T;
e�z.��'���A�z�>��vr�N�n���<��Y��*	�:�%�v+����
�좬��)��Ʌ~/ �&�:p�ج���+����լ)�A%�{��gi�����
-k�h��J��'�7��+u�2�
n�՛x٩��R ��-˱/}n�Z쟸k$�L~��Z�����n���c
ބ����R,�]M���j4�F\�C
�
�R�8@��Us��s��C(�\�e��v�ɏ���L��;X�Y����-
D�5��ڭ_��
-oO�TB��WrZ��3/���GأZ�f��z�/�~��7��u+��hfW� �e�C�mB���;���<U݈�&���v��/��h��g�."�v��z�����E��+h�Z����k�RЁ�`����͙g&m|v~]%3F��**�8�MK�1Z )>�u�p���}|\n�	���� <p?k��EE�]�iX����ы�t��B�ͥ�-0����R"OI�
w�oC�A
aW�����J��G*y�؋UX��;7L5d����������/	\vQ��h���,_o�di^��̏!~���rB���C�	mO� ]|%�� �D&�yl^X�AG���'�p�C�Jb[���
pӐkRRŸZ��]�]���{�"��9�^��rR�y�Ƅ�):d��6��
�˱U�����6��O�i�^���Tki�
J�L
J���T�|��|[�����.�W14۳�!d���al�æ���aœ%
'y�y���B�l�X
-�iO�;�t�Q#�
>H�۪|�x+-���w������!�"�����g�OEX�P0�?Ade����9
-���j��C�۾�_t3(��5Hh����"ê{�Գ,���u&`Z
	?��ህ��QݜH0�z����2L�9}��^k�

���������xWL at F���!��e
o��~����6�:sB3����J�A�q�q�V�Q*})�씖q���᱄I���Nj���L�5
-endstream
-endobj
-375 0 obj <<
-/Type /Page
-/Contents 376 0 R
-/Resources 374 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 373 0 R ]
->> endobj
-373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-377 0 obj <<
-/D [375 0 R /XYZ 89 770.89 null]
->> endobj
-378 0 obj <<
-/D [375 0 R /XYZ 90 528.352 null]
->> endobj
-374 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-382 0 obj <<
-/Length 3065      
-/Filter /FlateDecode
->>
-stream
-xڍɖ���_�[�����"&��3�=��e:�<�4��!	
IY�|}j	J�g.- U(
-�����&����Oo�)�M�����<
7U�)�j�0;l~��۟��oT��%U{h�����{x����!P�Ix{�+���}���xs����x����JH�&K�6��x�CN�↓$�%	���q��&y��.8�"}8��h�v��Ok������A�n�8r�Gƴ
��v�ǰ㉡��
-��ԣu�W0Kә��2��pntm�Dq�a`o�M���������`��ic!�I���P�9K`�hZC��$rG��C`b�G�@���e�>��W�;t��%�b�D��
�$���s�������z��
î'��2���"��$�rIbz7A�]�
-�mx�2aLd�,�3��0X�1>7��e
|Ë$�#\�
�h�Q�_�Y6��<�-�-`pt}+g
y��]�{�HR�����hd;\�t��rs�5��ca��5��ksF
�E���=��|�؞�EH��Gj��FN#k��yDR�q���wY��7�mlx�Vi���4r$;�
;�lWU������F�9�Z����{w�/[0���
-�QZw��W^��sgֈ7�5����c���7�мNG9{`Ryt�FNg���de��p���
�cjx��M3`%}�d_Y†���b����fG^#s�
�h������iC_F�“Ժi��(�$
����ۗ�(����"�xE=���5?�yl���
��Q�D"49�y�`,:/j�҃����
����J��|�)�b�$	�,
F�
��Ưf��~
w�,�,PS���Qm4^���_�k4���ȿ��B.!�,f�h��p�ػV�`(\^���^�pg��Wz
^:����$��h춃0�D�8p	H�dx:��@�!{G��
<�P"����-�TU����
o�,���#)�'z	D)��WJ9�ĵr��_�v�«=��o�St����EVsd(k�*�����G�d��_
yd�0�����ϲap� �] �ۨ'>�5�9��Gb~����;��xg85���o��{כ�m�%��]¤�8a]%���
-t��I��~�Nt at I$+|0�=��:���^�|"T0�&y&Wl��ޫp��瘟	��!x&��à��j���DwO��#CGۚFN]���Mm�
���>��W�*Z)�X�}�
-��O�l(GN�������bE�"�M�([���3��Ɉ��s�ʲ��]��xJ2�a�+y)v�*^��ʋ�R�R<���0YKs5�|�B�6'0�B&��=}X�b$�}�*�I�Y�`rpF�)�!� ��� �A����<����`�<��<+���#R*�8�����XB�XK��8]�ќ��UBU��Y�y���l(""E/��94d>�A�V.4��X
�/��y��vځ��l��ຖ�
ݭ�
t+#ȱLo�Y�1��$�������m�٪�j9��R*�M��O��ȳ��[Mw����+#O�Rr�"�&�T*�+RB
x�RD��%�V�C���tk%\�z��)�}��'^:9����֑��sa�c�E�����א�~Uu�t�}�2��*[�������jpl=	��k��#"�M�@�.�
��
p��g�ky
�#�	q��x����	�[5�[e.W�Y 7\l�G���s!�*�]U��[HMڈ�O~#�F�DN���F1��\����5���" ����I�N��J���eT�L��������ҕw�օ��ѧ��
M�,]�
����؈-�#��3�� ����6���KGU��Uq���|����S�Jn�BWҨ��P�V�^����՜|5���,�
�3����C7�*Ʉ����X)�+�{p_� ы��ܢ���	0����
�Oou�p�~S�ޕ��#���;�t
u�ž�s�D
\�fS�c��u���Τ�CIg�t���L	�e	�;o�}X�5ח���U�w���f�Z^��2\����'�����K�A��Y�N�2F��Te
���@Hd�'/qF��IF��G��G$d�
g0F��9�`�^�9�����v-T�sd}~]�4H�-1n�2�*�Y-�ޢ��JS�hG��
�rv  ��n@�� '�t4>�$X�vc��P I(��9)8�Eg���E����zȚ�-�'X��R3�v{ؒ��;�;�xV�@���h}�"v}�����`��Q��+[4xUp�?�߅o�&
jF��m 
:�9�våY��υ�+�N�%��l
�|V��8
��/��r#/PJ��&���-:K¼'��!��%aR�{���h�\�zB�
B8���Q{�ҽ�*�
8/s����m�G��
�7؅pB�A ��eC��
��
�K#K/��p?�$��tr�w��s��!9!�o.�ob�p��
�'�p`
>�ʤu�����=��z�}��7JBό�U��qr�!�R\��Zk��豷E�
.��G��b�Z�3.1f��?�S��N�a���ED*}������=;_Lyf��K�!�,�Hm}��+�[d��tYkk�I��\��xj5��.D���ü���s�o,6��}�|x�̙�Cm���*��PsQ5�Cq��
�b<��r�W݌S�6ϦC�
��'�.ԓX2�Y&"S^R+�3����[%�E��N�o��V:�S
$��A�-D ��
��hCN/�������1��
L�n�my�	?�7�6&H�_�h�Z��Q��bGiz�
-C!�I�u��S�
-�5��Ÿ��ɉ�R
x�,�Z�V�[*4���4�
qle�����
ݘŷX֡����2B,W��
X~�A*�W�Sg;��O��o����.I�/������T{L��
i^n�r��&n�M<#w�o�L]�z2�^�
���&��$z�`ݽ\��U�[�>���`z�p���.����'1q�d�Uw)_�
-�1"
��Ǎ���"
��I��c�4��߿ys�^w���t������|n�,�}'�ld��ԑj�
����(+�����x�����K��Fw
-endstream
-endobj
-381 0 obj <<
-/Type /Page
-/Contents 382 0 R
-/Resources 380 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 379 0 R ]
->> endobj
-379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-383 0 obj <<
-/D [381 0 R /XYZ 89 770.89 null]
->> endobj
-384 0 obj <<
-/D [381 0 R /XYZ 90 614.733 null]
->> endobj
-385 0 obj <<
-/D [381 0 R /XYZ 90 380.012 null]
->> endobj
-386 0 obj <<
-/D [381 0 R /XYZ 90 259.844 null]
->> endobj
-380 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-390 0 obj <<
-/Length 3485      
-/Filter /FlateDecode
->>
-stream
-xڍ˒�6�>_�[�*���co�[q�N���'��8H�F(�!�df�_��	I�$h4@��P�yބ�
�����]n�]����鸩�M�V�,�^��5���q?|�E��V5��4�s��O栻AC�,�2���=}x�����CK���Ig���
ڇ_
75�?l�]R��Bj7i����|~��C�����]�&��}L"��~Ԩ�q��޾�roZ����*��w�k|����w�5�m
��[ �8�f`$şC�.�<�F�8�M�-��zA��So����H3&
�nF
OFF2�(�����aȬO����Q{���Po��`��ƃO�,㓾������4��f�С��w�]
/�
�������I
T�8ؼ�
��fY �+��߷Qh;������+vy��W�����!$��$ �&U�I at df�L;�}c_Y-����=6S�q�txT
�]�[���_�K�X��6
�7�w�aPM�0��Z��
�M��I���\���<C��@��`y5� ������k���hM���e��o�U
h>o�H��m�8jG�v
-�$��}x#�;2�U_aUN�Ҧc ���1��z#D��랿]��$��;4S��?�. 	����k�x̽�{%has�50Dq�=�o��Z0�<p����2h��|	���F8
#0b�r$�nX �

@��$�!�
�'{�=�$�#�W7V �4n�3#34�<e���3�D��,�@l$�z����F
uj���J��(2�⮈
���fps��Ō�e�+���E�����+Y'g�D6�ML��Wd:����#!�$
.��@ş��
5���������
z��3�M�bj������f�<
��L�q
���h���I���>���Ƴ�q/�@�u�T�t}e���V��� ��J�
�<����c/�A5۴���:���ѣ��v�q`�NVAe8^n�϶?��m��~��x�������Yu:�Q:�,�xZ����R��
6��*���	ٙ����4k��^E�b�=�8�S�.
dy:[�; mM��]Ru�
��3�e��P/Rh�8W�oM�B��b/�Ab ��
�*0*�̲�/aiM���
� )
 �� �@�d���+!U�������R�
-x�ߑ�����#8����x�HV"���S :ˎ���q��O�ĉQ�"�
H���0�����=�����pi;^�j�
>Ң�
��x|���s:�^$��̞,\�_�(��y� "�3�0�Dy��<
��=���	�)
'X��'�I��)�*yV��b�7
t|�f�#�
V7VC�A�ӑ\�(��%
�x�,K�(6��[P�s��B-	>��(_�;I�G�I��&�C����Q}M����"	�	��}'�@�%�@&�Σ"`'��" �I�mT���y@�<� ��p=_" hy1�6���Ok�F��`�ȑ�M���!��ӣ�
�M�:�D�	�a�k�.���~f&H��{�I;�����4�LEG1##�Bs��(EC�W�y�d����Gr<�i� �;&�[K%��}ļJ�,����>[/z` �ς�=�)c���{��1|W�3�٣�y\;��Ri&�1�]̔�[�<5�r���8-�2��9t�|�d:����y���y���GH���.�S
-�2_$x-���]*,U�3����=��=ᅱ$pA@[���9�@�<��
~��S�GvJ| ���
H�$�#�p�l�v֯Y�>]�
�	%3��<_2�8s��9�8O<�Q�~o�Y!�t�sg����Gw�s�L3&Ŝa�ys����ڹ~ @��5oG�,
-q���jK�l�UV�T�~���
p��55�@��V �C����fa�j)/�ʉ����\��FF��
�FT�
�LQy�}���LI&E�|�N5�^̈́�)�.0�
&���}S^J��J�}��N$��dj9�u �l�l8�F0
��Z�
�
d�\
;/p?�[��y7W�M�)T�1 ��d�Շk���!���l�z�J�VW�J<��rN�CfC�ij��
��/]
&�jA�r�d#LY3t@=4�	9ƫ9�.TW�P-L����!��*�����o�뺴����Հ�g�o�{0xv��QV'���lL�zl_�κ��u	���<

����!o�V��S
Ys��g2�>E㨐���
SY�s�z{���k$	�^�멊+o�2���5-i��
��S��
k(7��ť��sd
3r����pQ�2@����C�BC.�-k�3��W|Q<$I�Bw2{��^u��{���*T�� ]-k*x��*��y�\[�u)�ꈋ#�PfjT$
�L<=^TBD-
�Wˑ�T.*ʥ�v1���ȇ1V�.��$�:ʥ8
��Q z2
-�(��E�4

���;h�s����
��c¹���
U����"
�s#�
��:
-B�j�
b�����t菜��aPt����0��WB�N��r��|�C�>���CQ�;��ZlC܊d>4f�3r��R�.t�Vv
�z�������
����gy�f,���XE��y$S"%�(��ƅ���^Q���c�'7jx�q�9C	t(�f�w,(+����-���TC��r�ז�a�	M|�P�$ь9��
���J4"bOe�3�5�7 ���(�<Fu�1���ux�
��qݎ�D�˶����'���=�C�R�
���K�a1ϴʚF���c��@��d��I~F"\X��x0�!�Ӂ���L�P!�
�7O��u�2BX���
-W������5l9�̕�!��l�U�t.
��)��C[���ǯ�]�'l�/F�-αf&$��%V�=�aX���{����-�u�y��	�l'o)|0O��N�oJ��� �L��P�4��� }Ӟ!_�
޼�2Y�Dج�Qސh���=,��[^�3�k��"(gr�лz���9btV��a����:
�e�����6��;�n��C,��e�ϓ�*�^Vs�p��w�y�X���?�K�h�t	��A.c��vC�%B)W+\E��˻u��32ћ������3r�UB������"[�@Lg��7Y�
$��9��|�(r����`���_�R�LCvR��1z/����N��P�ޕ�*������\���
̓�p���m�l
F�NFk�htU���6I3����JG!7�vjF��~�q<��p�}����[��:!'����
ͅ�h1�lW���}V�5w���w<��2���&�b��찲N�
��`�=�#@�T����>���q�M��l3[
����bi�E®M3��EW*���;�W�����?SY������g��+
-��")�Ri�� ��9����W�V^x>���k�ܓ��*+�g�d<פ���{t|G�H���A_���g�M�och&�GV�p�]<?����Z�����q���`�w�xTF
q)l
�{����ewvSg�vgƷ`��^q��QQ�rT�ΉR���	��$�<0iv(�mIw���Hո 
-endstream
-endobj
-389 0 obj <<
-/Type /Page
-/Contents 390 0 R
-/Resources 388 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 358 0 R
-/Annots [ 387 0 R ]
->> endobj
-387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-391 0 obj <<
-/D [389 0 R /XYZ 89 770.89 null]
->> endobj
-392 0 obj <<
-/D [389 0 R /XYZ 90 702.705 null]
->> endobj
-393 0 obj <<
-/D [389 0 R /XYZ 90 130.857 null]
->> endobj
-388 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-397 0 obj <<
-/Length 2864      
-/Filter /FlateDecode
->>
-stream
-xڕY�w�F�_���$�o�}sl�p������b�S
.�ٿ~���ݻ/aF�h4�����Fo#m�pu����w��T�:�3Z�GSm�ZS�v`�����������LT}��"A�����#�]y�?�t`i#��۪;m�W����v@�2�Ts:�
���2L�f����+�m���L�uU�i����C�(�k���m%�$L���L����Ȳd[7&ZY�uM�������$����I)��cKS�
붒��4c��8�>��J�[N���d6�|VE��	<��[�a������F7p�mӹ�<�u����b��.����
Ѫ�N�=
���F�Z
&屢a��$;�H�2�&��]t�J
}�d_�iN�$��2!;
�'�;s��[�.QQ�����tTӐ�i��l�T��='�Q��!��`��C�uH
f$yR�oz���Ҙ}�t
0lUwـ��qǪOR�8xUڱ���
-�'L?[�3��"'R��/��yo�W���!
���	˜VU"(����wV^��8��y��88� ��LvCQ�(Q�;��h����agd��D��N

�[
�D��]Y0�`M0Xc�V `3�`��	�Dk'�TI��c�V�XW�,�)��f����q�]�K��;\ю�G �2��Y��pч��hʚ�ܦ
a���u(Ԑf��Y~�آ�t�>�F�r�S\փa=�[��n)bO8�B?+���P^1
�5��)٦"H0)�?΀G �A��-O�N'��h�
�&�0n�XQ�cJ

P7����gۤ�)
0�մ���,�o�1}�ne�����BzW=��J�/�㊾�y{�<��„�B�|k4� �)�)vO���D�SS�/12���ә�R�І����#�=(~ T��
-�1	P5�?(�
�;1Z at P��b�4I$��$@�Ld��;�;�@zLxTH
-`�1Ak��E �1�0��������V�1��&��C�)-Ӛ�4;
x�	@�&�-0GM�UM�.��.�U��i��q�
^����nV2���`w�k�
e
-����F��:+�bt���]G&
~�R�fV��	��B(<C��
-
T����pH�V 6��+���8��&e�k��TR
�B�.&
���E����5�"�2-�w��F1�وl���h��
�D�"��jq�A�Z�LkS�X`%�(����xkpw��n�2��ũ�c��b�8�%.D2Z:g(�g�:��g��إ5W0�����G(-9�?
~��v�[xiD`�Ae��p�i-�����q1~��i�t1
�.�!L'"ݐ�t!M��dW`X��5�D�&��	u�Fi�j�,�;����k&M:p�ֽg˶�X����=�ųv?@H.��������m�j�O��i�� ~�Z
�I˻V���+J@~ ��� �6Ή��E;V'[ ���YXf�} ��o(� ��i7@�n���nG9���x�g0
2�_m�vó��M�}���/�mң������|
�9h�	ʞ��W��Ix[ʘ�jrd�
��C�����[�	��9�
��5��6�GF�i
��E�~���NXD]!�]�ݡ�EI���u�ڍ1u�GB�N����;/�f��wam�]�J5��
OEӯ5
`�)(���$~�(ӷ��Pd;Y���侔���<T�@�ite3pA��*��zq��&��&u�V�,�6���2�Gg\�q^���O�(����
����7X��e�Í7
�Y��F��UHXF��c�zgO�H1�5>�W=1��Ɋ�xᓿ^{
�ޱ�����|#�gwK{G���x�焾Tt�S�<����}y����*<����h=�.v6֡� ��5/����"
-�q0_=
���5	=��
/��̜�[�	�p�_L���Y8�g��EL$׍��/<"Ҿ -��1��y�q���ڬyҍ�0瞾���P%��
�w4G�|�ǿ<�^��
e�d�	��~0_n�7��aQ	S`�h��!�Re	�ag7����>�p��;�\�Г��!�{�/}JXcB��:�������g�YΘ��	�W���
�
0
����.8���Q����1a����fF��h*r�>���Y0��#��˜��^n Ǐ��y@�oc$6����rA?
-�8����_���2
�ޛ����5�y�̢h��u��P=Pr���b�%
oA��ʷA3!'Xs�.D�УX�!�W����M[?������u�G���4~M���(+D����p'��U�
�6�R�
�C�� A�>��c�ù�9!$ΈB��У��&�PFZ�`�����A��m-��m8%l�����,l�!
��au/�+<���(R�@�H;_�o�����f�È���a��;N�kb�y�]�|_�i��`�d+.�ԅ(�'r����؂`0C��
gK\�ZJ���}�٨@�!iIbOWx!�\@� ��7�dg�)d*���{Z�w!'�F\xS��B~���Ըƍ<A�d�
p�k���
-�.P�
�O���6Z���e�C
%��LWu'�&D�r
$B/�
%3>6���7����J�&��ц[? 
&�(�.`�Z�~�������
�@�qz?���ˍ�>�O|�z�`����r"�2��X�Be��*� ����'��7`��������L��DtԩkN&ux��;�\ՆE�@�{�^O<-�x	�����2.�}�¿�@+-�q�v��X���,���xˤM�����Oq~��q�T����ਪ�>��!Jvy���
����5Z�4�Qݕ��=���߷�����R�yz*մ�=��ێ�?y�RA�&2���X��Z��5�r&���P�����
@;��~Ҿ�
-endstream
-endobj
-396 0 obj <<
-/Type /Page
-/Contents 397 0 R
-/Resources 395 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 394 0 R ]
->> endobj
-394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-398 0 obj <<
-/D [396 0 R /XYZ 89 770.89 null]
->> endobj
-399 0 obj <<
-/D [396 0 R /XYZ 90 643.203 null]
->> endobj
-400 0 obj <<
-/D [396 0 R /XYZ 90 533.881 null]
->> endobj
-401 0 obj <<
-/D [396 0 R /XYZ 90 310.007 null]
->> endobj
-402 0 obj <<
-/D [396 0 R /XYZ 90 164.819 null]
->> endobj
-395 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-410 0 obj <<
-/Length 2535      
-/Filter /FlateDecode
->>
-stream
-xڥ]w�:�=����s�ؘ�'�҆n�d�{r�{�
-#�N��ڦ��3��1Խmw_�x4��[��{^��ś��������8�{�Uo��������}r��Uy���gd!K����n����;�ʢ�𑄃����_����.|�����;r�I/�\|���-����(��
Ѧ7B����^[�(>��]�')'N��W�0q��h�=��t�p�v�D�
�ϙ�Z�c8�~
�^5��fB�G��-��s:��e.�0b>�����nj� h�pŽ���%�Pi����������g��a�z#^�]`�{δ�e�`
��#kQ+][��q&SDV��G4�bɈ�7<Q-l
�p0�
��+�FN�Ig��4j��	�{F��(�a�F�$We�k/ɕX�\Y�m��~�|UK�
ł0�#�(E�k��[�~`�
-�R��f��~�X�\!�
-��e
���\�b
Z�N�q�P�d�,7�%¡SJ��2þY��]YW���D�Zl���@�	r��y&j�6�b(�u%i��<J�MmD-+�Z�t��eש�<-E���!�"�
#""R�Q�ٶ����tQ�w~��f�Q x,���S%ή�eUь�5�
�°P��v��;	��v�lE�$;��!�[��pFL��HL�P
A��w%�+���o%���?t���ܿ%�
8�'Og��������|�p?kb���`�^2$��߳��Y�y؍p�LV|�9�1t��/}��
�G���{{pL
��կ� 
9�#7\ʣ/�b3+h��h ܶ�`p�b��Q��j7M����y� ֥��e[]Uj���Ψ����t�d�,
vA|

��_V�"�T��֝�]��#� O�3�C'*%c*��9��T��ڧ<�	RѸ)d�T�~ ���Y�O3Q��+��l\ߺ��d��<����	(
�⁳4c���b�ϺFD�$%��J�neA��L
mAE�>Y0���
D�ք5���+�Jk�q��l��n0��%s3ns����HHOS$�:�=/�MI	
O
)���*�$��
v��ʌSv������p�
ڙ��cf��0
m�
X`��bU���L�	���6B��i&���Ϥ�
�̈́�Zg5 ]n���܏8�m�2Mlj{�3Yʳ�����!���J�/�k<;^�K�^)(
`
-
-b7� Ů�x&b�c9BQp\���1�.����Blxœ� 4,J6 ��Ԍٛ�l�x\jY�n-hI|�a��@��8o�N+?{�w?>�>9o�1��
-<H���G��HbWgP���x*s%-��6骥!>
#);!d�d�?��$mL
-B�IA&��u*��҉�F/��U[�Ԝ�N�WS1k���37�	~�	�͍�c��U&���N��M�5z��
�.l�KBHh��_eI���g�x9Y�\
t�xS�
�鋌��
�>�;�LeoE�O|�h^֙*�Β�mw灲W9�f�4P�!?\v
6!�M��s�߿0v��4������!�
-�U���6�\Y��M����������6�+
��L>��Of3�������n�4��<ߍ���w�	T6?@瑭�Ա�o���U�!�p�Sy�k�Al��1��ɳ���Lz��t
��Hl=�=��,X{Z�g
i9彡�p�TR���K�B���}�UY]o�������ع�\_�$Qu}�0���F|�n�c
�|�W�\.��,�i��y̴m�[�nP��p;H�pd5~94�.��JS��bkK�L�ٻ������G��]<�Uh1�2�]���o�j]�|M#��vǰ�
�d����S���ɪA�P��4
[e�բ8���sw�-Pb�J��]�U��}��Qښ���|�����v�p
���l�|
�_Y�G������y>��lv�ЙJ���y���`�����{����JaG�~�C\��^M3��ս���m]g��!B��He	�(�b��2�`���\�nU�<!�V��&�G�a�!� ���u6p�Hp_��s��F
-r�>�Oy��k$9�����qh[*s
A�-Ι�Б8j=��vGdq��{�(r
��01/\��	��ۓ`���_�#��R6g��
���nk�7��U)��@�ӫ
	�?O�ؤ���@����\�XI at K� Ȥ�:މ���&��ox)�|��G��EGC��Q��ֲ&��1�
	=�y�9��
s�2Ԫ�#��.�0NJGX�YRӇ8���4�:�'6/v,[8,$�C?�
�15�պ8��ݭ�KM�_sg��G��ggJ��3O��,	������<h ��w(
��=
rj�'\�M�L�H
s� I�U5�W��k
X[2a&�g�<�!ǿ9
�.�y�o
���i!]/iJ�/w
g�ŏ�n|��iKw�J�����)���

�J��
�n4J�9
��D���:?������E�&5�"��;��(�;a���x%�s%�&A��GQ��J��U5���tt��c�3�
����a��rw�ږ����m:�r���w)��4o��}ѓ��!�0�]
a�m�
�wf�/��5;
-endstream
-endobj
-409 0 obj <<
-/Type /Page
-/Contents 410 0 R
-/Resources 408 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 404 0 R 405 0 R 407 0 R ]
->> endobj
-404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.956 283.108 472.963 292.215]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.087 74.956 321.452 85.237]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-411 0 obj <<
-/D [409 0 R /XYZ 89 770.89 null]
->> endobj
-412 0 obj <<
-/D [409 0 R /XYZ 90 658.313 null]
->> endobj
-413 0 obj <<
-/D [409 0 R /XYZ 90 545.983 null]
->> endobj
-408 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-418 0 obj <<
-/Length 3177      
-/Filter /FlateDecode
->>
-stream
-xڍ�r�6��_���JU6�[d��s8�dƙ]{v+��"!�;<������
$%�[y!�F��n�	����]|�����a�.R'��x�]��b
�N�(_�����o/?,�8q�4�E}����ǧ�g����r���S������NYu��o�"�
�	�dq$�j������W��(Q|q�s<��|��խ����n}�]~�kmT��/��,2�*2]���7�e���tЦ*�_�Yc�Q]Q����FM�3���]3��Н2'^!x��4X>nIh��ΟF3�d}/��
�m�x����p����'��7 �#�è�:1N��m�k#;�V��
�ە��۾�!�A�1 �,�o, >߄?�U�W�α��;�,]
�n��d��e!hr|N�p��e�=�U�s�"�V��T����>^)�"�1�F�KD9 �I�-I�VQp�*
-!YEA��n;�r�if�О9�+�'o����������x��VL=Z$��V�f�ma{?�����؉��Z۾����
�GgW�Ncvw�}Q6ms؟���-h�m�;�ξ�Jم��¦��u�p�cq�x����8���v"7���=a= �w��H���|0+P�y���JםBu`�.mqv
-���8�ϔ���<PO�+=ǿ��S�����Ն��`r��#� ���C��$ⵚ���=�U
���F�{�x<��
|�"�a?d���mwTFFM_���

��4d
�����`T�
�L�u��آ�P�l#�wM�
�?��a\���[�F _��gw���6���â�b���震hM�f �Z���L��;� �6�m5,(����
Vä�v��Z�%�6��D�W���
�;?6�m:^Y6G��J{�QQ ��]����Ϗ���}�8����N���o�!�2@~������q��PCt���_ɬ���W�`jT�?�M�|Pc�fx�m_g�[䲐�
v�߱�A�<�ނ�^��,�9ߍ�EB��K�A����Fɚ��j���^��E��h�-�o5
{D<�-
�4�J�$.:IѼ��.I�p� 
-%���
��h9�w�����1m���Z���8�J�� �£��6`�n�I�_i�|�nse�r�Il5d=Ր5f
-��C�v

 �
�0s<�`�h%�V�
�j���$Zhw�c�
��1P6�p��LV7��0q!����8�l��/r
�3u`쀠�]4l���8�)N
�|IVY�\����-i;:�3�$���1�a��b1[Z�,!��@z
�k�g��v���:@F�=�UZQ��mP�@`R�>�B��ʭ=ߋ�3>3L W}+t�jui�a�7ݖG&�
�!D
;��d���#L��cdz���s����:	�r!
�\1DoAH�[!!R�2��{�"eH9�K�r���t.�U;��
-�URc��o_(�{��G
�h�W��] d��#6B�
F�"���
�0n��㖎�
v��TnzӃ��BȒ7:S�y�9��[��,�ףyK2#p�a
�
��
��[�e�}P-WI^�G� 
+)�*r�q�� !�2X"޻���ϋg�ӆ)�J4�,y
��
�6����0y�|E� ;����w�"�dJ�ɍ���R�

-��t
�{
-�0;:��
a�V�"L^B�<��7�ʸ�@4�A� �2� �q�9��B�Xw��P	Xɬ�R��a&򍁁�T l4��Z��2���mcE�Yq�`8�ש��ᾱw6�K���J���X
-X:Fo!�ԙ~#���'Zs��˧����
?=���d�>H���������習�
���;	׶Zf�/@;(b�~�]�ryA2��A���yEBq_	�ā�ک�������t(UF7
���Bc��=뗥��<rߔ�* ��*Ʌ���D ���z�}�<	��ML;�%�:W���#��=�m��&Ė?��X5�q���k�r��)(SC���;�J at I�`$8}=����\ڼ7�x�q- ���H2 ={�L܊�P���>�������#�Aa��\����$���3�'tϺl0�8Jz�02
��|���8����(\x�V��Y�Y.�$��++)������@�#�H��K
�ZA���9O����s�/29���G������(� ]����`d�>t�gYCg�&qPl�=�%CQ!rsC)x����J�����-j9�dR	9��
�65�J��n�
�8���N1�)��#3�=�]�̚�)����Z<햧���a�Fad^�c����%��;O�����1������g��1 zN�
Q*Lzl�9�
R�!����΢v�U�R̐�M
Tm�l{���N�%����׶�;��YSX����1�D��!m�r8@�-��Q�v8�m
�v�
-<��%Z‭Цc���`%�\s6�a}��KV��^��1�1l�<����.�ށ���}q` �䈕��h�c�:R*c�7VMT'��ܹ鿭"Ș����KɈ6������I�X���%����Zf�@,j?K��D�5�А'(�SL�VG�
Y�E}��53aj��W�����[y"���'J�J������0}y�	R3��S�L��3�9��v�T��y�QZ$PJ���!a�G�:�q��?��
.�E%L׃�ar#H�g�!��Z�D��%�)�Bum�kD�S���!_��F�x�
[��\��~�A9�	�
 �]I �c>�X`P
��'.��i
`H����$S�]��B�)D��z���a
-�قp�����Tm��d�t|nj4��d
��L�nWt�n/(q�r���:'q��t#�yϝޏ���%�b~d�hL���:T�B��ZD
�L
F� �f�O��G�y�E��(���B�l)�9�xB.�p-F

{��sAGm&��A�F�Z�!d��N/��B!d��-�՝�Q�1�)\�kmf�Q�W7�e�뽕OD"�E�kV7��W��{3׎���)�N�_cb�;�L7��a��t���;Nȃ��2u~�]�
��H�l�nj�=��W��ң��<���J���c']�?�������"\;Q�L�,l�yS�R2l��^�Fٗ�qK���Ֆ�%w��c
�cb&���6C0��g)K���NB�"����cl��������ȧ�J���S7}]
�StwP�߽�9:�V� Y!2<~�t�\�����v
K��@�(X������u
-endstream
-endobj
-417 0 obj <<
-/Type /Page
-/Contents 418 0 R
-/Resources 416 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 406 0 R 415 0 R ]
->> endobj
-406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.562 672.092 508.501 682.996]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-419 0 obj <<
-/D [417 0 R /XYZ 89 770.89 null]
->> endobj
-10 0 obj <<
-/D [417 0 R /XYZ 90 655.975 null]
->> endobj
-420 0 obj <<
-/D [417 0 R /XYZ 90 623.763 null]
->> endobj
-275 0 obj <<
-/D [417 0 R /XYZ 90 623.763 null]
->> endobj
-416 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-424 0 obj <<
-/Length 3698      
-/Filter /FlateDecode
->>
-stream
-xڍZI��6������P�u�\DR��{챝θ3O�EA->S��%m���jI��8(
-�v�]<,���g�WO^��"Y%�-����]��dF���9���]���_��^z�齨��h�6m�л<3eC���,��{�����+k�
O�W�f�
�~��]� ~�pWA�Y<2�q��|��ǫ���1�a4a��V�'���p�%���j��_�cj��/c�1��6�Kk����M�R:͡�[i�ҦIL#�j/�V�hrE޴fw�N9��~UWe{�=�t%
z�f�'Sp�8�[l;	C��� V�סC����3�(�wc��2����La:e�߯�sE�Ma���ו;ڇ̳(*+l��8O8��/
ӳ
m��~�Q۱j���q�8�
�i�ӆ|f����4s��Ve��5�颫��x���S�ع�_B
�lN���%
6NV�h�Y�X� �
 �p>L��T!iv�Ks[�t�n
���B�d0rqg��4�D�F8,렐Jw_��T�y<T��7'�忻��Y��b��R��]
��F�s�B�!����A�4uZH��m�<���=+� 'dc���v � [...]
]a
��(���x�DQ|�\���/,zE������
Q+�S]=��Q��5F
FήN��#bD���f~�;S�n�
�����?&(x����unD;E�.L�(�?�.@�I.O�5.�`�V0!��Հ�D��vm
>#�B�T��l�	�5Kw�&�ܴg���Ev�F��:$`坚B6�@�a�"���vD&m��Y���R�D�~�#����
� �����-���cZ�N��kW���C��d��g0�<��tkL)��3l7��#��AթҲ�'o�����o:��g7݈��j71(0�$���My 0�/��4&�D�f�9O�k�����w�Ȍ|/���.Zjv<�2\�Y���6-�
�l�I
��TW����
b�cA!� (�s����
-�h�8�1^��Q�w��)ű__������Kz<
ո�u�h,�n<R
W�.�|u`4
-�sK,/��cI����
-���y#M���P����}e)���
�pHS��y���_ɇ
J��h�����w�
���t�K���G\Sq����%�_ܿ�8/�H ��

�mV��:ѝs�9]�+I����k����
b��Y��Z��%���+�L�?�|� �x|�dTv�Y��5v?�;��PbV{� �ڃ1"�m��*/��zå����}x}#�_�����a�����J@"��EmB�#�w"����T�)
$���N$�1Y��Nl�"��]b��I֓u1`c<�a83M�H�F�XĊf�U�"V�[��!�ҔX%a��|b���߄�NU4�Vi�I�ىFV�
���������&5l )Z��K�I4/d}��L �w]fgn�D�5:B��&og�B"���]��]+ڧ���JQ�������rΑμ-�G6B~-]�o$Y���8e�r Q3u�U�Y�ZK�
ȞTo���)�7b�NE���DȢEE7�q��V��~k�W��^��6�s�
-J8�
�O6����)������#�E����ƷI�C�p
�������E�L��Ik�q���,]�?4i+dsܵ�x�t�����ĠՄ�z2��
1���N团i���p� �dc�o����R8�2`j��Jo�\ʙ�Y"!�p b[�C>���0f#�3��u=�,��T�y_��"��ʉ�v}�ZYʲ�c�
�ڝ�14�)3�E-��d6h��,�-��T?��Z��
Y��)ӣ��A�
ve�
-��@[��p\��B�R�^.�&� Z&��
"j6��]���d��T����E�"O �7
�
 ��
ܑDx��L��D�|�xZV�>:"�Nt��/%z?��
B
-1��٢
�f3Jڵ�_:tb3���Mb�/���=�6$��
3Y��u�4�\
-
n���e5׊~��)��6$);�
q�Sh���y���|���6
-b���+���
�4jk h�TN���u�Z�
��+;�V� {
�y<m��N�@j�P�eгu������:��
UІ��p#��	]U$B�28�A�+��6���e��{��;V*�>�|fy%��9�ku�2;���>'+G�D�<�
I�z#�6��������C�g;Ѱ�䢆L����[�/��k7F�U�ӆ�
-P&ۉ����Z4`
�
�'�A���lu\�IG9Љ)��c��uF�v=W���Y�3�J*#�(�8�T�"k�� p���N���%�U����ayRE�:D&,����z�6�&�\N���u/O�/N� $=3���Q��
T�nR��ƒ$��5{2*{�
�&>��nƹ�u�4��<rL������_���2��
����B��Ow��|x-d.
&��i鑯&��وV�x\"��9"������ލ
�y�\�}���ڻ
-|h�
aS׾�{@�ʪ#n'�%
 �JGʪ�d�>sw�X�@���o"������A�%�NK
8츦�� �-hY.}ck�hC��Mz�;flY;
G�Qo ��|ΆS��u5��U�m�B})Z �(�!�}�)Mu-�4c�ce%_�s.��K��9N�bw�#(4�Բ�!�\����Z�	�f�6<���&a�_M|h�
Hǧ�P)3;���b���$�O4�R���v�Ε�稩�
-�#�ϙ��45p�]�A������������5��|&"F�R�I&Z��c$��\�����W���A"
OkN� ���c�����-Se�����r!
��o��O�̄�S;0�
��[jʪ{8���[�veM�=&j��Hv��*-��f�6z�XT���'y9��9�H�Əgâ�����%����1��3
!vhmd�nG�x���W�
�<����T�!{]�u�:
-�x�������%"��������`���@4���
[w�N�hSR`
�c8
&��Ri��b��Q�
-=��3��
H�Q�k�{KVgYs:�FDFE�c��%�����7j���b[V����|18��x_b`T�@o��'_��cMbM�-�oE��|�_s$�Z�Luyb�DZ
!T_�Y���0i-�p��6S���6rA�(��
�w��)�#�����{�n�����&+��r���=��N��
�_�W߻��s�u�hH����Yš�
�Ҕ��=Ƴ�`������`G�^{���+�s�h�D֞&��F{�?����GP=a��&��Q����ᾧ��;�M�
-.��7l�v��s�`w���s�6�qh8�Fu�`��6����� _��8��K%l�(s���;*C*��Ƶ1������{�����Q�@F��9�ϳS��I�I��N`�?�j4��%���b�F��f���G�Nu�
��nh�3
��}�

�>��?��Mϥu��a�!���?δ���gd��-�9^>H�镍l�*��Pe����Ek�G�0Zy��w��e����8�����*����եF[5T������?4����d�:oG� :�U6u�p|����LA������i�q��6�_+}P�b�+�<����s�������_���}��Ƌ1$�s۞~x����q�5���O�*o� �yrqғ���*�K�9a�K� �Va-ncL���ʻ����e���
-endstream
-endobj
-423 0 obj <<
-/Type /Page
-/Contents 424 0 R
-/Resources 422 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 421 0 R ]
->> endobj
-421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-425 0 obj <<
-/D [423 0 R /XYZ 89 770.89 null]
->> endobj
-422 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-429 0 obj <<
-/Length 3225      
-/Filter /FlateDecode
->>
-stream
-xڭَ�F�}�B��J�E�&���G2N|,f��"�%�F\�yD;�uu�Iq
cm`0쮮>��zX���n~��y�:qW;g�����ڹ�$�9Q
�|���
7޿Yq�x�&���w�������ͫ��O7

�+��GN�������
�oV���Յ��U��-Ww7��q�D��(��x
�y{�l}��O���4�ʱ��{������M�
U�i��
�1(]g���7
7����)�����Ӄ���u��'���C�/7q�~� X?6cv�f(sn��~vt\��d��V�MYt��5J�f
1�]m��(bFTY�[?^䮳���h�lU�5u'�E<�55�8��Y��)_B��A�:�u_ԃ��Ѫ����pN���j����9��ĉ�p�� �$��{���P�=�������
pÄ���}£t���GsdE:
"�lCEGAp=T{��w����
%��@yZ���N� �":Rԇrȑ'����㯫
4��V[��
.C���&��mVwg=bL26�KW�K�
��ؔ�)X�a���DA�#�ᄮ�z�*j���gW]���pHƟCS�X?�f���/�Ҵq4^��!�
�9�=�Mŭ˩���ɷ��V-J"B���CǗ`���O(�t��Au
/�҇�����M]6Y�D�^3�e�-��γ6g��j��94e�݌?H}�z�cŀ�[e,�8�x—	��O���xl��bfy��e
 �/��A�
�2F��(*CDS�u��=�<h7g��g�9�:M�>��5
=� 굠��:w�R
w�j�b�܋���;Qf����%
�<J��#��J֟�
LRo?v�H����:��n��Ut<~��0li �\��dx�����%Y�E�`���$��NY��nT
?���;�.���3<�
U�r+;�=��
�
3�/*=�� s
J[��ɩk3 F����\})����6����h��׽8&�H΢ϊR��唎ڡd�/T^s"}���a�]v'������z'��
�����
��uӏ�E�9��]94������ـ���V6$Zl���`�H�`�:���ͧ:Af�$? 	^
-V�Y�^m�N֗gS&>h���V�e
8ƒ�N�G�A�ˀ(���H$���g
�@G�����xٲ�f��,
շ+D�h�@:߾y�����]���}�N�ƙ`�{�=�C�	��Gn[�� �JaB2�8��
���F �
��F"��
��#�� uN�jS���Y��
(��g�
�d#�[�
E��}�85������5Thu�
�Ƅ\�����'@��E��\�"������p������m(�X"S��
-z˒�&�<�Fېe�ٗN�,��'���0P�9�ZWΊ��X��Cc
'�{M(����
�i���5j�h���:�S���֨cE/
-s[먜e��L���w1r���ܐ�y�0�
�6m�S^�3��;a������
����G��H�0��t�gA�=�I|��
:pc:(~9�r#v�E_���i� =ʲ�N�C�CS7��EhP����Xb�ٛ!v&�{�
Ar��	��lY/[
g���7ó��l�ډ��~�'n�����D��$F,��1R/!9"pΊ"��D&/�ZY�"-C��R�j<bR؄�B�`��0ش�
�fN������+�l����Ѯ#B�F
��7��JZ�f�I9~y�,
��/е�"'٠i
�l)q�d����m
6��eW��vϢrg�VE�(�T���
�8��������W��ZPދ�d�_Iؼ�BAW+Ilœ0�G
4�H6����~C
��H"�a��=g��kUw��pd<_�r*�2�h����&?��l7r{'.�5������m�P�wXzPR]ڙ�PɿĄ�\�`;��fKh�[�ř�20.��!�� /D�v�#d��'v�.•uܰ���uS��9a��mh
IE.$���U�pF�(-@tPr�N� [...]
-=
-
]q>T����!%�$:)�Z<�vN�}�^��]���Q��n�$J�U�.����$5U�D�$���Dh�<"��tec��B9��W��C�N�ǀ��0���b��EiL�w��
-�ٳ�֊�b�i��#hY�/!�=��Dg\���&����A���dt�Ѿ���iQ �
�'4J):I�	��&SKIR�l
2��QA)��m��ۄXg *3P�Z�gwc�
H��A�z-����
�	=�#`�AY-r�TN��*7��h{Ō�������Ҥ����nQ,Ȩ�?�R�����+��9`�����K��9i�-
U���ɘM �UM�~ν�$��Ò�_X�##h/.���@��=4��u�i����B���
!׆��� 	5�ߘ��>�/?�a���񬨍���v
"�h�
f�D�-X �D0�Hd�Q�q5;��N E����TRG�?�FA[Š�/�t����
0�(�O3M�A��"��C�~ rgnF��PC�
��<O���K�6�-�$��)'ڌ%�]�a
-� :c0ͬy�vX	�V�E΋�\PPs9J&+�<"$Wݡ-��ͩ[���6+Ĕ���Ь��@�����{�d�B�	G$Zz�1}���f�E�M��7�v��\7~c�V��>':c��y�ą�
f�w���~�
�[�mrS����n ��@����~xRJFxY�{��S�i��K�ߘH�s^ ���ؚ{�
hL���U�,a�
_:Q&�=��D
��lO���˘8̵!�
�\Bh�˂5���ʸƯЪ�]tN�M��J��Lx���[o�����B
-p��p�ߓ�A*
iF�69�L�g&]q�eYM�L���*��T��Q�Q���hW�9���pm��^�
-�Õ�j��߭��06�!R;������bH`��S����0q"�D��k"�����?4�#�F��i�f��Po2�`Te8�S"��
�v���o`����mV�_�`q犅.���R����R�
��Ǖn��fշ��Q�gr�Sߟ���r�8�����:E��|.�ό�[���@�}�ЧmW��mSt��M�/��� ��6�
-endstream
-endobj
-428 0 obj <<
-/Type /Page
-/Contents 429 0 R
-/Resources 427 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 426 0 R ]
->> endobj
-426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-430 0 obj <<
-/D [428 0 R /XYZ 89 770.89 null]
->> endobj
-427 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-434 0 obj <<
-/Length 3217      
-/Filter /FlateDecode
->>
-stream
-xڭ�r���_��K�*��}$O�k��{R�$���H�,d(R�c��ק� A��n%�$��ht7}Q��i�-~�x�xq�.���'A�x�,ro�F�'0+�8��:�=移�4x�,�̑�fo�u��U':UW��ֲjq=�����寏�/�>^|���Lo����f����_�E��
�
�l�v�(�\<\���cv=��8����č�l�������� ��Ͷ#Q37JrX��?��zL5p�<1(�~��
H&��pv�I�r�
-���U��R�t���ת^��
�'��j/	�к|#
��:l/��;����;
"�R��������7
֙�+hq�2\�b�8&ID��e�����E��h���`�
VEY
/���՚����b
�,I����&���k�jxN�i� ��i��yn�
��b�%�R �F��F�ʝX��
��������pƆ2/4(�k
��T��
-
�V����k�(Qu����P��]�)���3r�J�
HY�*^+�������c6�	f>�Dck���P����V�n%V���g�o=��WJ��a��fXD�
-�{��6
�hk�oq������F.خAy#K�!Gp{�{�-�`�r0�|[uӲ[pA�^�<��� �;q�i
-�W|���e_��%�9k	 �B}� �&���M�c������hޝy
i�*�Q)���Fv��p2(�D֫�NUO�<h	'
SZ��Q�8���`h������5��
呡g�m���'�2M;��X���hUߟSu�{"����?�>�8e�ծK�v`
�
-��MB`3 C�#�ަ��_eu0O'Fl�-� l�çɦ��p�
�2��^��~�~/+���H�
����Tx6�d
P|]�9
S";]P�":��U
����p��A�+rX12�#(;��v�A�:��7D�Gt���F�޸�b[��*�1�����l����d��f��d�� ��ƧV
-
)��#ZCM�EM��V�(*�(h���
j7̨��L��--Q"0��`��srbѱ�
l���2{�吢R��)z^�s
���0B�]��{]�j�
Ϛ�榏�P�y��J��(`���F0�0H�,p���3��`�ڂc׆�@�@�W#_�Ua�TG�l�-�@[�0�d�&ҢJ��)�ꌖ�	O
>BV(]�
�^�--`�W����h�
��b�/%���Yg�z�(g�p�������2>Ec��<�r(�)̶��$$�s�ao�(�)��`
-&���i	"V�?V�$ڣ4F�ݶnVSc�j�ZTe���&	l`���;+�V�XU�UE![@���mœ$�V& �=�uX�9�as�k�K$�-�k�>M�i'���TC�����iks:�X
-���%��l�Ȇ}i\�j¾�
-j�S��S�">�g3���
-[G�
-�5
^O��'G�ҹJdM
̧y�u
��}U
��J�hKs0c�����Bw���
��*o��
VLlN2�/}�b�f
-ݶ���-�b��4�pM��f3l�
�c�u$.U�T��$K01�d�:Q�z}`�&6X��Ł&c����g=�_�dǙv^���N�m�ȇ�4ȱ '�����Ye��A�8��
����R ��)�/H3���� ��45��P:�T��`M7�j_���܊rð���VJn`�
-���BD�c�_0��ǀ�8�=��gdk�ky�B뒽0\��q��f�_q���f��vp�c�����~�|�E�#�k:��l�ԘI���BK�
$>g��:
:A ���!c1�t���x�ӷ�:w��ծ�'�>�VQB.1�VJ���)`A����t�ke*�>t	j�4�k
-b?�r��Xhg_���'��Qu3cN	_�|u{w{�WA��?|{��0S`���Ϥ�
f\���n�3����7�79$

Fi	�������0x|��—��2A1���22��
8�B
���N<'"�XYΌ@���`g�1��
�8u���&3�с2��x`"b��h��Ra8
��p��Q�u��|������q�e�P�m�6�l�
�
���W�2Dvr�@�v�sBJ� 0�<�s$?:�������+?1���c_7S(]��V
�?.f��2bSY�
��5f}e�2��-�*i�Ώ�Ԯ�SNf��
w
��_~<0�
Of\1��e��%��h���?L�X ��]�
)�(C�_l͞�y��L��<� \2� e6)d���

-����`�
gs`ˢ�
7����I&��Q5�L��P<b�Ǧv?�
���W�BҌ�ghZm8$:R��h�_
��X\C�R�o��p)�

�Yp�

"ɔ�#T�\)&	�(��41#(ic쿤c�g�
8�hO(57z&��M��,1G��@Riβ��,[>Y⨗�[��q�}��?��R��9Y��o�1����RC~�bL�YA��N�y:'���ǂy8�qnu��($K�@�[_1{�,1=�����VZlX�
-�u���e��ᒦ��26�
�I`�Yg>	��#�v����2�|��,n0;��g�6�榴(Dc�7�������g?�^*z���l�w�� ,�0�|Q�D�J�&-��|��Ջ���{���d2��>�}�x{�@����?Ie��*�
hJj���,����5LƘg�SXIhj��"
� �s�4�sP���
-��F�u��<�9ߴ�|x[�*� QE�F�����Ҹޘ
��
C5�`UM�
�D���u�t8�c-���4�֜���f��).
=�ft��$����&	��	�em:��g���iz�`q��?��2�H44�D|odgx"��ˤ�B.�ș�g�壇Ge��!E܃~�	
`	!���͕F�{R#&
n	�Ť��}0$
fS4�� ��<��ܮQ|��"�Av�[=�����Oo;�L�$�V��=�(�Ո�9
'E�U���:G�UG���
-�;Tĝ>���G�=��7�L雝���=�[GVt+�1�wd��-S�qSm	�_N��f'���oF�oE���a����R7�3���?!ˢ�q��S]
��h��
Ԫ�_q�^�%���eQ=��MK���w�f}�W��U/�
a�*�	联n�m!�4R�^H_f�3~7,!�s3?5���]�������n]H��������9��<Q��Gn�ߟ��ήn��X�q�,�S�d�"&%��8\�E�b�
-endstream
-endobj
-433 0 obj <<
-/Type /Page
-/Contents 434 0 R
-/Resources 432 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 403 0 R
-/Annots [ 431 0 R ]
->> endobj
-431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-435 0 obj <<
-/D [433 0 R /XYZ 89 770.89 null]
->> endobj
-432 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-440 0 obj <<
-/Length 3211      
-/Filter /FlateDecode
->>
-stream
-xڍZIs����W�t	YeCؗ��bӶ�D���RI ��

+���m���"��l==�|ݔ�8,��ۋ�6Wo"{�XI膋�~�؋�O� ��n���	Wm�/�0��$�ED}��v�������zs���C�����ŋ�t��_�b��
��x�@�N
���[,�/�{a�DZ
�ό��Kϱ�׫ X�}{�~{�J����������7�wܺ�}����?�Z��w?�Wo��8�^�t"+t}>�V��2�NgU���J$��j��1���*�Ny�r��y�j&��Z�����>�v�e.
T{��aϚ�M~N봕#�r�
U��s�8����t��Y�_��jx5�J�����*���l�J?�p
-�
�W���᦭���ة���Wv,+����N/𽢥j���E��dK�x�
u�R9�PJ�%ӕ
M¦����X�ñeR�7]Ѫ�0����N �ؗ���ɋ�2�߲jyF� ���o�NJe�
�L!��Fj2
�Ǯ
���_6�q����=�R�8��cA�˹W��v
s��dy�k�����|�K&˞����S�J�Y��X1)
RӒ���Wv����QY^6r®"u��H6:��G�������i� 6/]b
-�|hL��UG�
eB-4�מ��lh��,��&Z�V
óܠR'"~l��pk޿f�f�K��?-S���N�9?*٦�3�8�x�![KX�*K�������!�E��o�s����{��
e̜y�A���#n�-�i��
Q��V�9��i��^Oʙ �Z�ͩ�
�^�
�܉|q�)_�uJyl+Ǟ�4C�GZ%�f�V͜�i�d���4�����_ at L���)�r2k��\��漼 
��Re�E���a��M��^e?�b�T5������W�I��4��䃁���ީk�AO�TL��]ϵ*[�>�y�3m���MC|8V�3��b
0�K�������_��<x�lV^��Ӳ��o�_��.e����ݠ���*�@�S�Sڶ��:�D-�eS�Ǫ�ɨ����i��K3>�%���C��QϽ9���b
-�� d����{"�� ;��.G;��Lso�lϪY���̾�
���1�8&~Pz�9�F=�La�4�E���
-]��R8���� pq����g���A���&�:���Ӛ�$s*9p���
�@�@���H�!���#�8t��*	@O��hA�W�9�
�53h^��}�`�x�u/�Y 5��Gvp����
*�j���]�@��Y�Í0�C�ppȞɍ4H��f�\��C4�`��U�Xn��Z5Y����9��)�Ft
y"،�HiA
-�A&0�3Կ�̽��P
Z����R(?�a�GZء{�P%���L7��&�0G;�Q���n��,�+�f�\l�
Rp�b\��m�>�G�Zc��~�@�/�F�=
��|�1CH���)w��L�ȸ,�>}?
P
f�)3�TQ蘖�Y��C�f����"��ڎE
vbzm[�;P� �ZJ��zy�})+<�h�~s�7����5�h;,M#��w
-��GM�O5��8��{`��ő�\��#��615g�Р��s��nΰ� ���0�h!

-x �y�4����oF��"��%��~�����=�@^�p��#N3r%��D�0 ��"� ��.�n[
�2�ǂ�O�>��W�ACM�Ǹ7��-OK�:�4$�良ʞt�8���a�	�^kG�١��pVڶ���2�2;���s��,<�� 
^�ň�(<� �� 
-$3���<�N�b�tR��;�][��jD�<
g�>J�9=�Y	j
�e���x>�	Z��B���T�!��
ȋ��9�[��BB��8�ȿ�&<�γ�H[w<��=٪��|4s+ټ.�$� W�p�>��QYr�xŸ��J��7��@/�
�RzQ�c�@m:J�a�
-��/��'����;�5�(S �ɾ'pl1�7�6��ּ�����{��{�~x#>�ݍP~�y���_��!c7�"$���}�o���U

CV�:8�,v$0xF{@܀Ԓ�A�
e���[0�
�ރ����OS���
D��?_�C��N�}�JS ��Pﱎw�ωPNX'�4a�E����
uR叄��xV�X֟��:9)��� ���8��u쑱}>9i���g]�D; �5?���_�A�-�.$�Z/A%kF����9��
�X9��Э��X�J儉E
-�Ƕ=�xu���`
�Ϊ�����"߷W�%��'�鄑�
�0P�Y���v�f߆�� EGHU�׃�J^���
�
(5'�s���i
/� �҈�k& 6\�/)#���2z
-Z�
ɹd
��P>O{�1;�R�=0�#�/+٦O;�XW�c�K��E<��[���/�	��
-�!�έ�ߜ�VE�qG
k�%}�4I�jXr*��x�K�6`�&��w<4yĄC7
�(
��
-�����1
���P�=$�G��e\I
-;��uH񠻫�}�0��G
e� ��!��.��F.uV�N��I\��yT
�V��l�8b˼��� 
-��
�3�N<
ϥ��ٱ�8�FN
3��L��e@�b�'�2�����-I���(�H#��\w*�� �9V���rl�x�k�ڤ/l�� V�w� �(v:�
?��w׷@
uA0���ȉ^��<?a��b9�ax7�wOC1hLPP
 �y)5¡�0l��jꑖx���#�d���oO��
��Fʞ:p����Rj��)�����
�}��i���
�G�m�s�bx���g�\ˍx+ϊB���H�+��Od���
����w����
O���u=d�6A
�#�Y)H�D|q�
�Ą��
�E�bh~�M�a(�>H�
-�ے�ңޱ�.���Q�:6Q
Fc���ֈ�	�C��Q���v�q,w�}���ŵc��p(��>N
�"/AΗ�?����\XƉ������˜���9_�g����}���������z)�9��4�"�gx���h�����<Eo
��
?�ro��/�`'�� �
����������?��B+����" B7�~d��Hh�փ
*�O�t��^�N����i-u����\�8� ��7��� ���2!}j�Z�ڇ�_Ӳ/��>)��pU�E��^x=��A�N4����Ju�-�^`�Aצ�|k �{
]N�:�?�/#X�sW�Um�t�K�
�V��
-endstream
-endobj
-439 0 obj <<
-/Type /Page
-/Contents 440 0 R
-/Resources 438 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 436 0 R 437 0 R ]
->> endobj
-436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.676 298.279 428.041 309.183]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-441 0 obj <<
-/D [439 0 R /XYZ 89 770.89 null]
->> endobj
-442 0 obj <<
-/D [439 0 R /XYZ 90 183.6 null]
->> endobj
-438 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-458 0 obj <<
-/Length 1465      
-/Filter /FlateDecode
->>
-stream
-xڵX�n�8}�WyY�i��Y�b�m�I�M�l�>�E�ȴ-T/%����C*�k'i�}29"�r�p�4��
��/g��eB���1����K���)�b�ͽ�~8
��o�yWH
O���6�<{�, 4H@�Y�-
��
�
0R����$/+?So�7
%A:�6fQ�<��»
�3�{�qo�šv�qNx�z	c�14yv���pS�_*)q�W�u��Z��u���<�U#ψvp|�;�T;�1	h�z��!�[wz���r�
�ȗ�iZ
C-�/T.�ŷ2�v�0
�UW���q��u�aBAH��
��
��ٗ'�XJ�
�I�Ю�sg��]B�v�3�X�4����L#�ރ)nWysn����~r����.��]5v�
L��#=u��^����iz;������{;�ή_ݾ�ɾr� &h��U�f�K�KV���{�f`3�
eG���s at -��H-�F�ҟ�PK�`�۴�ug?
�E��#
M��~k�R��B�¬.��ʞ-��Ơ��
-�UU�66�����'�- �fȨ_#�D�J�M�����2ήh��u
������xEz�	�y�gL5�
-Gs{�q�
Dn@�Y3��sQ�
1�0��
�/kU/�(��������H\�$`��B�B�ưBO!�F
1q����8��B����1H^�V�
�U�g��O�-L�Ӓ�^ �BI�V`�Ӟ'!���P.܁0��TR-���T��p�݃�p���d
V��*!gG�չ�
v�M��4�]���q�
"�H,$As}�@k�}Gb��hI�����r8�������͑C��h㶚��ʹn�*���T���%*?YAw.ʒ����Y7�h�{Fz�עZvbه
Gi�+?��V-m�}5�>B�a���q���9`0��@dQz'J٬M{���
����rw��
�3l5<�{�K�{.�L�kST�'�{\��>8ť�[��v%�J���j�g@�<�D#:s�������7S�K���N�)g>O����E!��$�Y�{�l~�Ci1���}�
��cA^A��[Q9
��4��)��n�*��8�_���F��-UmPá.�ro�(�+q/�<�m�$��������?Q�3hCw7X�����GҘ<��S-��� �i�n忝�
+-,���+O��r{�^.�B��/Ꮏn��P���{O��%����.�
ё��8܁RN9�&�� |<b8<2�������s��+�
y��$�틺Z�'��x����W[���6�,�80��_�q0ܴ
-�O����
�x�����1�ܷ�y�Bm�&��>�ÄD���6W�MŇ(�ԅ��&6l����/�<�:����a��J�U'��sP�nh��B
-Q��
-��>�/6G��F��!DMX����m����f�!YC�*_+�������=�T��NVˢV�j��1
-x\�7J`��Fú�᭰��� Z�Y�
-endstream
-endobj
-457 0 obj <<
-/Type /Page
-/Contents 458 0 R
-/Resources 456 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 444 0 R 445 0 R 446 0 R 447 0 R 448 0 R 449 0 R 450 0 R 451 0 R 452 0 R 453 0 R 455 0 R ]
->> endobj
-444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 440.534 513.996 449.391]
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 323.254 216.421 334.133]
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 325.157 513.996 334.133]
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 209.9 513.996 218.876]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-448 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 187.982 513.996 196.958]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 166.064 513.996 175.04]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-450 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 144.146 513.996 153.123]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 122.229 513.996 131.205]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-452 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 100.311 513.996 109.287]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-459 0 obj <<
-/D [457 0 R /XYZ 89 770.89 null]
->> endobj
-14 0 obj <<
-/D [457 0 R /XYZ 90 541.228 null]
->> endobj
-18 0 obj <<
-/D [457 0 R /XYZ 90 507.242 null]
->> endobj
-22 0 obj <<
-/D [457 0 R /XYZ 90 424.048 null]
->> endobj
-26 0 obj <<
-/D [457 0 R /XYZ 90 389.245 null]
->> endobj
-30 0 obj <<
-/D [457 0 R /XYZ 90 308.79 null]
->> endobj
-34 0 obj <<
-/D [457 0 R /XYZ 90 276.727 null]
->> endobj
-456 0 obj <<
-/Font << /F70 271 0 R /F72 273 0 R /F56 239 0 R /F11 318 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-493 0 obj <<
-/Length 985       
-/Filter /FlateDecode
->>
-stream
-xڵW�n�8}�W�0�I���dC�,n��%-զ
adɕ���^Qrڤ�,���9��n�h�(:��;�
�4E��ϐ�H
C����ax_Ɨ�WaF�&7z|{3>��ʹ�����`�"V�Dh���}�h
-×��h�-��>�4��њ������ii�c�e�/�p�%��v�Gaͣ����8KWE
�i�
W�]8��|^��p�Cw}N���`���t���H�� �d
@
O��c������.�8K�̀i*eg
�mj����}�(�c����p�}�y<
�H�8XȎ�}��Wd��0X�n�/ROP��1��x�����za���X���_���6(]S_u�te�yq�W�A�EЍ�]ũ�Jܥ�`W�FpN5{�Y�Z�`��8��ϔ�I
&Р
_jr����I�$��l5�Nl�|,�kr��|Rq��d�I`\��]5:��i�/
?�0^�麉w�௩�O��8���k�d���of�?�o�y<90teB�G��B�/��B��#g�a)���ui��
��lnT���bE�1ϡ�Y�KӃ3��~)�|E�0���m��E�G�����_^�K�?�8
��T����^
�}J~n�'rjY(��
*��ɡ
-}ZpU-h� ���(L�4�8J³u:)��/�K�:2�a{B`���
{Z�*��&�ڦ:Q@^ҼÜ]28��؅�ft��
Q�#w�Q���V��aͺ������ke���]�y9p���Y��傁k�r�C��ž�1Ta-�d�<Bi��l�	����n�y�6�
-�μ��ܽ��B���]
f�p�@h"Mm��{[�c�0������n�\F��
�
�t���Ѽ>�"��\Ě�CW6�AZ^U��(]GI��L%}(��Ke�A�p�b���p��n����h�zW&���
0���E�<
6�
���:��9���r�
���7m	�և���
�E�;"�S����-բ8�e
w����p�? �b�X
-endstream
-endobj
-492 0 obj <<
-/Type /Page
-/Contents 493 0 R
-/Resources 491 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 454 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R 467 0 R 468 0 R 469 0 R 470 0 R 471 0 R 472 0 R 473 0 R 474 0 R 475 0 R 476 0 R 477 0 R 478 0 R 479 0 R 480 0 R 481 0 R 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 490 0 R ]
->> endobj
-454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 710.114 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-461 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 687.557 513.996 696.413]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-462 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 665 513.996 673.856]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-463 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 642.442 513.996 651.299]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-464 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 619.766 513.996 628.742]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 597.208 513.996 606.185]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 574.771 513.996 583.627]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 552.214 513.996 561.07]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 529.537 513.996 538.513]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 506.98 513.996 515.956]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 484.422 513.996 493.399]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 461.865 513.996 470.841]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 439.308 513.996 448.284]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 416.751 513.996 425.727]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 394.194 513.996 403.17]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 371.636 513.996 380.613]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 349.079 513.996 358.056]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 326.522 513.996 335.498]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 303.965 513.996 312.941]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 281.408 513.996 290.384]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 258.85 513.996 267.827]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 236.293 513.996 245.27]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 213.736 513.996 222.712]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 191.298 513.996 200.155]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 168.622 513.996 177.598]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 146.184 513.996 155.041]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-486 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 123.507 513.996 132.484]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-487 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 101.07 513.996 109.926]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-488 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-494 0 obj <<
-/D [492 0 R /XYZ 89 770.89 null]
->> endobj
-491 0 obj <<
-/Font << /F70 271 0 R /F11 318 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-539 0 obj <<
-/Length 1380      
-/Filter /FlateDecode
->>
-stream
-xڵX�s�6
�_���w��/�Rn���k�vݵk���=�"�o��RRS�H���-'�KL! � �7�w�{5�
�r�%A��M�y�%A��Ļ�y@B��Ӫ��w�D��
����
$V�hj�ͨ�����<lŅ��l޻���	��{(�I�=�����ܻ���C�e����b�̩�10�&,R5ONj2_ދ�Jǹ�S�Z^]}��y|-��g���,
c��S�Z�?_���N�<j9��uU��}
��4J�����fl�wS�z|�(
-�O�qgY0�J�\�M=~�#�Sޏ)������������].��f�S#�M)9Ci5���8�f���d�"��}�p��pƫ�	��N+ I`9E�i�5���?Ȫ�{�h�i�,��[JX��-��v�ia�za��Z5Y���jJ��]Ȣj��@�D��Y��՝�bj�QeJ�̩�
	Үww+�99�R��
B$�iH�ҹ kw�L`J�O��\:�=�6H�o�(2��ZgY��/(D/�fY96�UN�o�!�RF���{p_�d�N��=��6h 
?��4�AB\�8�/�A
���y��?��9_
�B��H
	
-�I?�N�f	�he��h�����|wda�j�P�۠F4��e��Ԟ
K��E.梨e1��yS�f8���1�T#A�p��*(�b�f��2����r`]�隓���
<<�E�%�s��:���&�u�)AN9���՟�mi�@ C�w}>�&�b[~�F�	�
�ץ��#�>��ӧ�� 0Kb@�/�����ugB.
��U|ܦ.(��O�B �!�o�U-�'�T�ɬ��.��
$
�ȧ��
8�'�j3(�Ҷ i`�u�m�q\IH#����zV�Z�"C����_�9�2~�l]R{��54h+m>в��u�
wKK��v-���8�
r9�0�	�֥ꐖ��Q��~�/\����u��]m��DhC�3rq�O�ՙ�)U}W`�W�JN�]#8�X.V���y;���8�Yx���
��[!;/����gѥ"�n};��>�Tz9k���Dc�W�4� cS�4Mnk�Dh4��&���j
8{�`��CŻ�'B�����s��Ww=�?�Ŵ)�z=������uM�����]�F,܋�!���Gd�n�uY��;9{4ҹ�?��m�n3��v{�(���p�2��I�GH��#.̈���(�A��/#���w�k�����=Ÿ�~�O�|�O`C�ﴘ5�L�����K���'��Z������������.�(� e@��8m �F��u�?�[��gT����b��g��zq5
><<Y4�\�@���"�L�[��i�'e����T�N��� .�ހ�&�%
��7�`K8��?�bǡ
-endstream
-endobj
-538 0 obj <<
-/Type /Page
-/Contents 539 0 R
-/Resources 537 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 489 0 R 495 0 R 496 0 R 497 0 R 498 0 R 499 0 R 500 0 R 501 0 R 502 0 R 503 0 R 504 0 R 505 0 R 506 0 R 507 0 R 508 0 R 509 0 R 510 0 R 511 0 R 512 0 R 513 0 R 514 0 R 515 0 R 516 0 R 517 0 R 518 0 R 519 0 R 520 0 R 521 0 R 522 0 R 523 0 R 524 0 R 525 0 R 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R 531 0 R 532 0 R 533 0 R 536 0 R ]
->> endobj
-489 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 687.913 513.996 696.77]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-496 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 665.592 513.996 674.568]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-497 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 643.391 513.996 652.367]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 621.19 513.996 630.166]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 598.989 513.996 607.965]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 479.529 311.484 490.408]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
->> endobj
-501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 481.432 513.996 490.408]
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 457.328 356.315 468.207]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
->> endobj
-503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 447.276 513.996 456.252]
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 423.172 310.042 434.051]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 413.119 513.996 422.096]
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 389.015 284.117 399.894]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 390.918 513.996 399.894]
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 366.814 268.984 377.693]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 368.717 513.996 377.693]
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 344.613 274.523 355.492]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 346.516 513.996 355.492]
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 322.412 309.94 333.291]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 324.315 513.996 333.291]
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 300.211 268.994 311.09]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 302.114 513.996 311.09]
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 278.01 304.41 288.889]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 280.032 513.996 288.889]
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 255.808 334.119 266.688]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 257.831 513.996 266.688]
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-520 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 233.607 267.32 244.486]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-521 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 235.63 513.996 244.486]
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-522 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 211.406 302.737 222.285]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-523 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 213.429 513.996 222.285]
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-524 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 189.205 292.784 200.084]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-525 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 191.108 513.996 200.084]
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-526 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 167.004 328.201 177.883]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 168.907 513.996 177.883]
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 144.803 349.212 155.682]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 134.87 513.996 143.727]
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 110.646 234.683 121.525]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-531 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 112.669 513.996 121.525]
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-532 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 88.445 330.801 99.324]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-533 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-540 0 obj <<
-/D [538 0 R /XYZ 89 770.89 null]
->> endobj
-38 0 obj <<
-/D [538 0 R /XYZ 90 581.116 null]
->> endobj
-42 0 obj <<
-/D [538 0 R /XYZ 90 548.798 null]
->> endobj
-537 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-609 0 obj <<
-/Length 1605      
-/Filter /FlateDecode
->>
-stream
-x��YYs�6~ׯ�[ə�H� 3�δ�Ӊ;n��%�h`
-R�R$�#��}�ے=r�`�Xb?�939
�

N^Q�~�3�:)r(I�(�������2:w�8�q�"E=}w9:�
]˹��h�� �r�^�4q�����L�|� ?L�V1�
�������2[Yo��zf�ߴY���i�P�}���*V�ٸ*�|R�q.njV߽x�V���U����M#�B)`?�|r?���n���>_^hY���[�
S�$KyXOh�A��$y�F�ӒO?#d��~!��~!��~����]��$�xr;��z8U<��S��2L��g��F��t����
-��Ok^$=�!�����IȽ�)ׄ"�k�Qm��
��؝,�+�r�����0Ҍ=�TZ�p+f��i�,BO�,}f��|�)��
Ց�ȶGg��5�8Y�"��
��c#�sp��I
��Nbbδ�tY�Y��l����K_
M̈́

�́���J�����	�}(`r|!�n
�0I
,En�g�Ձ(5�,L{�ҾNu�O?%}���e�`7�Z"�OP��
�Ƃ�z���� .��\�6p���K��8��ظ�3���j��0�U�!��$Pp�
S$m�I�LB�-5�[Y�A��K���@����[�M��Z8�������!��z�Ҿ�	�B��2� �u�����E��RMь�Y��sQ̴�j�Sv厠X9V�O��B}��X��d��#i�zT"39L�\���i
��O�f�c�p��Z�R��+����0�I�9��YV�m?{�7�j�>n�!��.����N�
�w%��T7蘔wֹ�z�2��dF�"?�9T���1M �{�Oz9y%#r��V3��^B{0���r�H����yγV;Z"�x%`�C*0Q*�
7��Ӯȶ���1�f��
�
X�`����wB��V*eIv= � �Ll�TL��r�
-���9D1��,-��X-V]A�~�3�j��r·^RMA# >���
�>P
-�j�El1�MU^�]�E���^1*
�_�c�+O-_э��9ok�i�}’
k�IƖ���%4����9��'n�L�M��C
-,��w�t�G
%���>�Wa
-���x�W~p׆�&
�B�גp���}�ż�о�@�ZX�)������?�)I�7� �
�&hx�4q(���+Y[��/c��!X��|jƤ_ٝzA������ljh��ԵR��
aFų���
<F$t)9�����`�s��F��ؕ�Vì�ox{�y����U��)Y�����
j��f��'I=�)Z񟎖��/�
V�L`�p��'�@b�w�-BR-֘y[`C�zx/�Tw��:�����
"��<bo?4������9SzdL�fٵ�߈3�5�ܹn�L�����]Q����V �e����Ϧ(�1��٤~!A0������}b�u���@�?\_)���Ђ�����L��wi9v�����}IZO��e����/^��
Vt����_���W2T�����G\���rI#�c{o�-;X�3 �L�5}m�������5~W���E{RU���]}-���$�62��Zm�
�$N�!�%�I�6W�_
'��O<!
-endstream
-endobj
-608 0 obj <<
-/Type /Page
-/Contents 609 0 R
-/Resources 607 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 534 0 R 535 0 R 558 0 R 559 0 R 560 0 R 561 0 R 562 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 591 0 R 592 0 R 593 0 R 594 0 R 595 0 R 596 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 606 0 R ]
->> endobj
-534 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 303.693 718.971]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-535 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-558 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 685.903 354.602 696.783]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-559 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 675.851 513.996 684.827]
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-560 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 651.76 352.748 662.639]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-561 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 641.708 513.996 650.684]
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-562 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 617.617 328.051 628.496]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-563 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 619.52 513.996 628.496]
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-564 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 595.429 334.507 606.308]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 585.376 513.996 594.353]
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 561.285 367.902 572.164]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 551.233 513.996 560.209]
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 527.142 344.838 538.021]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 517.09 513.996 526.066]
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 492.999 324.156 503.878]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 482.946 513.996 491.923]
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 458.855 283.748 469.734]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 460.758 513.996 469.734]
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 436.667 339.449 447.546]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 438.57 513.996 447.546]
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 414.479 281.622 425.358]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 416.382 513.996 425.358]
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 392.291 338.981 403.17]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 382.239 513.996 391.215]
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-580 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 358.147 295.464 369.027]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-581 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 360.05 513.996 369.027]
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 335.959 307.18 346.838]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
->> endobj
-583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 337.862 513.996 346.838]
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 313.771 280.431 324.65]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 315.674 513.996 324.65]
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 291.583 306.642 302.462]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 293.605 513.996 302.462]
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-588 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 269.395 290.204 280.274]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-589 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 271.417 513.996 280.274]
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-590 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 247.207 366.617 258.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-591 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.501 247.207 498.554 258.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-592 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 237.154 513.996 246.131]
-/A << /S /GoTo /D (subsection.10.35) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 213.063 405.341 223.942]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.84 201.108 338.393 211.987]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-595 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 203.131 513.996 211.987]
-/A << /S /GoTo /D (subsection.10.36) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 178.92 305.327 189.799]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 168.868 513.996 177.844]
-/A << /S /GoTo /D (subsection.10.37) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 144.777 305.327 155.656]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 134.724 513.996 143.701]
-/A << /S /GoTo /D (subsection.10.38) >>
->> endobj
-600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 110.633 271.943 121.512]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 100.701 513.996 109.557]
-/A << /S /GoTo /D (subsection.10.39) >>
->> endobj
-602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 76.49 306.453 87.369]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
->> endobj
-603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.041 78.393 513.996 87.369]
-/A << /S /GoTo /D (subsection.10.40) >>
->> endobj
-606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-610 0 obj <<
-/D [608 0 R /XYZ 89 770.89 null]
->> endobj
-607 0 obj <<
-/Font << /F70 271 0 R /F11 318 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-654 0 obj <<
-/Length 1201      
-/Filter /FlateDecode
->>
-stream
-x��X�n�8}�W�PѤ�
-��4-�m�l��KR�M;���RR
��ER�����N�}�)SÙ3g�3�������w���C��Ł��c#�b���Wfdَ��/�ɘ����49+jZ�ea�.�OM�X?F烳��瀀ll)�GadL���lL�����GƲݔ���33.
�R��S��s%��c��!�FH"D*��<�ɢ�V7l�i��cN����;&�)
�QBo}�q՚x�}�VZ;M�֪�T,˙|�7
-�;�`�M��u���H!J���pN���$���rx�A1��|���OzK-Ǘ�P��i�FV��"�ɘ���ܨĿ���b��Y�
��0�
Xߺ�x��G��&ҧ�
��H�H�n%A��0�~+I�\	C%%��"��a������OE��L�UK^�N��X
->�hU}��`����>sP���k����v!�� 
-�~����N�1v&)͒��LNs� ~6�����CC#�O�
��.��=��bN���B7����
-=�A8[� �c��
r�V�76c\C4� 	eÁ�'2
�
-��;�.�����#""�CVT��/n�I
£`�*;��M�\Hd`拌� I��|�7u�������Q����gB��
�ln��)0i�p�
�{9睖l&�YRL>�/.>+H�����ħe1燌�,-��N�~<�- $���f������uk<�#
���9M
�d��O�YG�A�A����"
-��B8����#��ޗ9h��q^���~�����NP�/��b��+�Lۓ�8�<_0i��债P��g��s�nܩ
-tL+�����e�������i[rk�Y
��r�y��/�s��#
��p��X�K8�L����銣���N��#�H$��D��d\,�߃pQ.U�������"ض��c�g9��ֹ��›|�>���_��ė�}Dg7Mx,����4�n���j�v,=�mkk�&��ܑ^�Yq o�K
��k���i���:,D=�+zDVid���g7^�#3?���y�Ȭ
���Ej��ȇ���E� ru�h뉇�Q]ETd�;A�
�v^����+�_	p��}������B� 
���7�lD]2ݩH0�1�?�ל

�("�n�o�zq2
.�K4�PS�
��z�Xd���B<�XK��+/y��a�!A�
�v�]i��v��w+��_�iV�
-endstream
-endobj
-653 0 obj <<
-/Type /Page
-/Contents 654 0 R
-/Resources 652 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 443 0 R
-/Annots [ 604 0 R 605 0 R 633 0 R 634 0 R 635 0 R 636 0 R 637 0 R 638 0 R 639 0 R 640 0 R 641 0 R 642 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 651 0 R ]
->> endobj
-604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 708.092 259.22 718.971]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 709.994 513.996 718.971]
-/A << /S /GoTo /D (subsection.10.41) >>
->> endobj
-633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.177 686.119 281.357 696.998]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 688.022 513.996 696.998]
-/A << /S /GoTo /D (subsection.10.42) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 569.242 368.911 580.146]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 530.167 328.111 541.071]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 491.093 288.583 501.997]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-638 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 452.018 292.698 462.922]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 412.943 327.019 423.847]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 373.869 286.073 384.773]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 334.794 320.393 345.698]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-642 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 295.719 348.04 306.623]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 256.645 290.496 267.549]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-644 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 217.57 302.123 228.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 178.496 380.468 189.399]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-646 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 163.765 232.722 173.67]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.421 414.769 150.325]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.94 124.69 389.318 134.595]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-649 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 100.346 284.389 111.25]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-655 0 obj <<
-/D [653 0 R /XYZ 89 770.89 null]
->> endobj
-46 0 obj <<
-/D [653 0 R /XYZ 90 671.176 null]
->> endobj
-656 0 obj <<
-/D [653 0 R /XYZ 90 639.063 null]
->> endobj
-50 0 obj <<
-/D [653 0 R /XYZ 90 639.063 null]
->> endobj
-657 0 obj <<
-/D [653 0 R /XYZ 90 588.326 null]
->> endobj
-652 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-680 0 obj <<
-/Length 1062      
-/Filter /FlateDecode
->>
-stream
-x�ݘ[o�6���)�6	�i��C��K�$M��n_�BPdZ!��t��~�
��;��Na�I��_?�sxH�D�������GP���h2CA�
`Dž�)�53�L.����.t�j�^��}�����d�߀�'����`�Gq6��B��/�V�E�(C6�������R�SI��D%.�-y�bJ��;Ɯn��
:�qյ� �T���Oׄ9�(�*�²H�|ZEa*Z����9������nx�6���y���-52�]��!���XJ���W���r1S�ĤĐә�1���ߙq�ʰ��Y�g�H��p�fOLT�R�s�󿛽�I����U�}�B����Վ���ъɾ-��G�<7mb�MJS v
-b}#i3�7��ט��(�]����8jk�i�/�S(%R�� �<-�P�]�ɠ�U,ҔǍ��~>�V�Y��
Ãt�<O�����v7
k{�i�BW�,�j�
-���(7��$VV������1�G:\s�&���&9�ۂ�dh�#����O���Iַ"m��U����Q﫠��Jߑp�KtXg��y�w�:y�n6

��)�^�"�E�
�#q�p��O���m��Y����
�Ĵ
Cd���Ry䴍�ut��N
��_¡?��!�y[�͛�0 	Y5+Z?�H�}6)��k��>����{Yp�8L�E"�����-�=��R�ԹjuzP��P��TU��-d��^�߄7U
��{�+�ϒ��F�qw(�FyG
��JT��(N�Y�����c��x���R1��!V!S��ެ���*;rs-a�
�V}ӭ�讓F�(}z��X�0��i�C5ٸ��
-������
�1
-0���Y�!u��O���;���F6�,�r]nl��Y�]7oQ
Sʶ�E�oM]
x��A�
f��l;�i}�U�aq�k�B���Z&�r�MC]���Q��Q�}��I[����Sͫ�L����U��Q���<�K~3�9�`�1�EE�_ԗ.�:�'�� �O�~���<���k�梬�hFe���p?�ecV2��
��ꄀl�`

tQ�DͲ.Sy����ܕ
-endstream
-endobj
-679 0 obj <<
-/Type /Page
-/Contents 680 0 R
-/Resources 678 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 650 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 677 0 R ]
->> endobj
-650 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 707.957 318.71 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 669.284 307.632 680.188]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 630.611 341.953 641.515]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 591.938 362.715 602.842]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 553.264 255.069 564.168]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 514.591 344.165 525.495]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 475.918 319.816 486.822]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 437.245 368.822 448.149]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 398.572 367.138 409.476]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 359.899 343.069 370.803]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 321.226 349.355 332.129]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 282.552 380.139 293.456]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 243.879 357.992 254.783]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 205.206 339.183 216.11]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 166.533 301.017 177.437]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 127.86 353.171 138.764]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 89.187 300.305 100.091]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-681 0 obj <<
-/D [679 0 R /XYZ 89 770.89 null]
->> endobj
-678 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-711 0 obj <<
-/Length 1266      
-/Filter /FlateDecode
->>
-stream
-x��XYS�6~ϯ�[�FH��p7	�2p�c<ױ]�I`:��՚�@�Z�dm>˧OG:j
j'��ac�؅�|;��V��Z>�
�kW���DB��@�
�������6�;Q:�E"z�"�m4b]ϱ|
�Ə�i�5l��@T%ԐPa��F���������{ڂ/�j6�7���PZ��˽��G^ � ��4����•k�mn��O�j�ԱQ���`�ih�/a~�Q1��<K
�ȸ��$�)��a?࠰�`9��k�6�uW󨽎���8֚�.��H�u��%	Uq:}f����Lk�I"�ng)]��%x��5ؚ�l�3?
�*���X��#�r!v
�S�2
��q<%i�\��xD>�D��A�MB�;�*0<z����*����'젓B..
��364��L�T��$��2��GY�I�n�;I��0]]	�#7�Z";2N*�8Lj*
����Z	h���$
���C�ͪ�u?"�.�\
-R�.��Dbs� ��P*:��P������59��@��G�\���n��V���8�DV<�s[�ٸ�����5-
|�J�4,p)嚄��V\�
W�|�M��wa��C
�8e|�摊���
�bĈ�3�A�����K���))"��
J���X"���0��c2y���MHٝ𐓰7gC�����سo���
-��ި����m�
��
�m
�V�

-��V���c�s^����r���zm���'�ϻ�Z��n��[4X���
���kԶς�`�>�6ae��{�
3�2��:�{s�c
u�E�XE.n�ƯH�䶯(>��X�Z�"�>��I^�����;�˵����ڗ�z�
�O�F��[CH
qx�;
:��Vw�S�0���eӿ�
�n�bWˍ
�H<�s+-��ӄIRoW�
B�
D@�� 9��l�ZWb�]���s�W��Z�h�vz.
��(�W��t��@
e�\�㊦<�ޯK�����Z�A�C���e�w�>�l�"|��
^���ՅF.2ܝ���qнܮ�c��wV�1K
�(�q,�����c�e�u�J�"KBY�aUbY���Ȳj��Z-A�}��|�b��om W^YdTED�.}{�R����6sU�]e�,��LEd��9{=��Ky9U�
�%)~aqIƤ�(��r�5��|��R at H��N!`4M*j@�f0~j��c&~�"�yȥS�Ż�������`��y�j/ϓ����J
-�����[�ڜf���B.��hM��$V�)]7������ ��½
-endstream
-endobj
-710 0 obj <<
-/Type /Page
-/Contents 711 0 R
-/Resources 709 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 676 0 R 683 0 R 684 0 R 685 0 R 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 715 0 R 691 0 R 692 0 R 716 0 R 693 0 R 694 0 R 717 0 R 695 0 R 696 0 R 697 0 R 698 0 R 699 0 R 718 0 R 700 0 R 701 0 R 702 0 R 703 0 R 719 0 R 704 0 R 705 0 R 720 0 R 706 0 R 707 0 R 708 0 R ]
->> endobj
-676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 695.234 350.102 706.138]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 656.835 310.83 667.739]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 618.437 297.699 629.341]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 580.038 323.163 590.942]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 541.64 323.353 552.544]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
->> endobj
-687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 503.241 277.754 514.145]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.107 423.14 263.359 434.043]
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.87 343.038 397.551 353.942]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 343.038 513.996 353.942]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 331.083 241.8 341.987]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.672 331.083 472.936 341.987]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 331.083 513.996 341.987]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 319.128 310.422 330.032]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.359 280.729 412.574 291.633]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 280.729 513.996 291.633]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 268.774 198.911 279.678]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9 268.774 430.789 279.678]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 230.375 370.496 241.279]
-/A << /S /GoTo /D (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 214.663 254.253 225.567]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.458 214.663 416.782 225.567]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 214.663 513.996 225.567]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 202.708 184.535 213.612]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.524 202.708 332.847 213.612]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 186.996 264.215 197.9]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.697 148.597 321.961 159.501]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.05 148.597 513.996 159.501]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 136.642 180.102 147.546]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.749 136.642 417.34 147.546]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 136.642 513.996 147.546]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 124.687 238.761 135.591]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.477 86.288 353.705 97.192]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.355 86.288 513.996 97.192]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-712 0 obj <<
-/D [710 0 R /XYZ 89 770.89 null]
->> endobj
-713 0 obj <<
-/D [710 0 R /XYZ 90 439.983 null]
->> endobj
-714 0 obj <<
-/D [710 0 R /XYZ 90 361.784 null]
->> endobj
-709 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-775 0 obj <<
-/Length 1329      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�H}�W��Z�h>�f�Q` ��f�(��X+�&�M��n3�~$����}��so`�
`��3�Ѿ��r��K������E�C>1wM^d��W� )
T%�P6zn�f�������
�/��'+�0l�}�_1�T�y�n
-��q�8��
��R<R�dF��I"q
�*F�����a�a��-
�f�@�}ݢ�1+�ft?
��
�YJG��=~�B��V� �̈́˦�ͩ�%�V���yNy|9  ��7�GkF����a>N����
<�7��ͣ��c0�}o:��������
M=+s6��z�,���OA�{=˲�s��z�,�
-'J*��!WQ>?��4Ks\O��j�e�d��d��G��mw���b
L��"h���}��s���4�lD���RjI*rP0*� �\�j�
-�g�L0)�H�r�>D�v析�&?���1��
ۋ�x9fA직��i��"�	�
�00�k�v��i�Jk��Z�ro߇
-��2��
-�5
-H��$�$NYZӜ,�}�ґaJG��+^�X�]��(�\B����>�P)P��{�qX��D��*P�v�%�V����֨��Gi���ּ2��T�}��W`�R�R�X<�i$T�
-Ɠ�����!��᪭����A,��
���\������iy����
-����5� ���%س��zN꧋������J�o��J��:�~�Ӽ������I����"yf�
�"CXW��
[�5�r���g��
�8�mvX�"
F��t�S��6�&���w��FO$T�М��p�N��׏Fz����,3_�ξn�$�M�n�Ŏ~���{���J �H���ym�*U���o ��w��V��6�q3�R���.ݍ�y����U#�:��zT Ȗ�J���佁���7�m
�*�!T�ǖd�pH��R�x�����˪ ���_�
-{@#YR�W��:t���ɋf�0�
S�+:�w���
��W���)�芆��ۊ.oP��Z_�B�6����n}��}�z`�h��?\��`J[D�%���Wٕ
e��9����٧
D@�1hڞ�����@�����=6��_�T���-E�>|:K1k���V���V̒K9�3B�Hc�{�8�]�e�}�8U��-(s<�Q�Z|ᐷ3���.�CO{4H���gy\*X
?�_�g�?�M�3,�$U�0$A|�"�|��g
?�� O=��� <U�Ǘ Ƕl�	����_���~~e�<���7��4��������0���<�&i{>���¿-��fs#o�0����]@����7Mf��0K�zfq&�ȓ=�
-endstream
-endobj
-774 0 obj <<
-/Type /Page
-/Contents 775 0 R
-/Resources 773 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 731 0 R 732 0 R 777 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 778 0 R 743 0 R 744 0 R 745 0 R 779 0 R 746 0 R 747 0 R 748 0 R 780 0 R 749 0 R 781 0 R 750 0 R 751 0 R 752 0 R 782 0 R 753 0 R 754 0 R 755 0 R 783 0 R 756 0 R 757 0 R 758 0 R 759 0 R 784 0 R 760 0 R 785 0 R 761 0 R 762 0 R 763 0 R 764 0 R 786 0 R 765 0 R 766 0 R 767 0 R 768 0 R 769 0 R 787 0 R 770 0 R 771 0 R 772 0 R ]
->> endobj
-731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.08 683.922 350.202 694.826]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
->> endobj
-732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.056 683.922 513.996 694.826]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 671.967 230.124 682.871]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.5 671.967 511.506 682.871]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 660.012 321.211 670.916]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.526 620.909 335.713 631.812]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.46 620.909 511.506 631.812]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 608.953 256.464 619.857]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.685 569.85 331.964 580.754]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.03 569.85 511.506 580.754]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 557.895 242.686 568.799]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.276 557.895 407.397 568.799]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 557.895 513.996 568.799]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 545.94 227.703 556.844]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.916 506.836 335.438 517.74]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
->> endobj
-744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.965 506.836 475.441 517.74]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 506.836 513.996 517.74]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 494.881 252.24 505.785]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.229 494.881 393.35 505.785]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.568 455.778 364.156 466.682]
-/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 455.778 513.996 466.682]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 443.823 283.214 454.727]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.129 443.823 513.996 454.727]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 431.867 162.558 442.771]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.546 431.867 402.346 442.771]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.232 392.764 360.829 403.668]
-/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 392.764 513.996 403.668]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 380.809 218.826 391.713]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.815 380.809 405.305 391.713]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.981 341.706 415.33 352.609]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 341.706 513.996 352.609]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 329.75 247.618 340.654]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.607 329.75 471.308 340.654]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 290.647 408.782 301.551]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
->> endobj
-758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 274.582 354.427 285.486]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 274.582 513.996 285.486]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 262.627 295.219 273.531]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.191 262.627 513.996 273.531]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 250.672 191.17 261.576]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.159 250.672 446.969 261.576]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 234.607 410.984 245.511]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.02 195.504 329.29 206.408]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.025 195.504 513.996 206.408]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 183.549 181.935 194.453]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.924 183.549 418.406 194.453]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 144.445 317.076 155.349]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-767 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 128.381 278.601 139.284]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-768 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.155 128.381 473.255 139.284]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-769 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 128.381 513.996 139.284]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 116.425 226.079 127.329]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-770 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.068 116.425 439.746 127.329]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-771 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.361 300.18 111.265]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-776 0 obj <<
-/D [774 0 R /XYZ 89 770.89 null]
->> endobj
-773 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-811 0 obj <<
-/Length 1114      
-/Filter /FlateDecode
->>
-stream
-x��W[s�8~�W�m��ZH��Kޚ�tȆ�
�yh;

-hjl�6e��~�,�B!�vg�	�ҹ}��l-,l��O:�� [�|�[�'+�V�E����[�!"�C0��k��nbS��f
+�2ܽI��:Yp�d5/���܆�u)�?O�;�I�k��Ile�� �f����ؚ��k
#7
-�Msieyԅ��w�����i�mݽ�u"R>W�]�jV��y&
�]1K
�
�!GJ�d��5!�+
�(O��|^��ŴL�g���+^�%��Ea,oD�T�$S����p�
=�Z���5 �i�
ҩF� vp� \�<��Łj
��z�ˤ���3���\h;��
γ:1����jQ�M	��0�ĩB���<_gs>�%�������
/?a��r�9�
E���u)�Z c��O�R$
r��>Q�_��
-��/8R5��ڃ��(�|����i^
��lG�EEn�����aFu6��п��iV������xύ

*{p�����2�א����f[���:��K�&f��������f
�#
��8�p{ٿ��/�@�D�um��Z��~G
�|Z�����C[?
�`8���7�S��
�;�4.�U�W����!^�"�0����v��_�c��(m“o���
�2[�����p;
�?A?A9
̣=d�Xd&���d��
'�ֱ�!e9����pt��o'G��B[cƍ�v�
#��F��K^r�9S�P�k��-�M
�v��eBK��H��	[�Zs�M�C��� ��f�[5u�!
�,,P�t|�NJ�ˎ�K�6-�i���Z�Z��ݍ���u��u�p�Q]̡��������j���g��*��8��
-`ea[��"+��V�RT�$«�T���ͽ-'��
σ)�5^�]�[uuܜ��ɪƜK�n���9�{�9��#�v��G�T��^����]����#x���ޞZM��%���"M��t"�toS�����!�se�g>
��C3�+>�7��>4Of����_OՇ����/u�l��$['�Z�
�q�j�C���APzA՘s���eV�zB�B��QHڶ������l6hV�u&���Wi�5�^����-ퟋU^rU�݀ �B�a$P�D�VMy��� qh��
-endstream
-endobj
-810 0 obj <<
-/Type /Page
-/Contents 811 0 R
-/Resources 809 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 808 0 R ]
->> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-812 0 obj <<
-/D [810 0 R /XYZ 89 770.89 null]
->> endobj
-813 0 obj <<
-/D [810 0 R /XYZ 90 721.073 null]
->> endobj
-814 0 obj <<
-/D [810 0 R /XYZ 90 669.671 null]
->> endobj
-721 0 obj <<
-/D [810 0 R /XYZ 90 645.396 null]
->> endobj
-815 0 obj <<
-/D [810 0 R /XYZ 90 645.396 null]
->> endobj
-722 0 obj <<
-/D [810 0 R /XYZ 107.713 543.857 null]
->> endobj
-723 0 obj <<
-/D [810 0 R /XYZ 90 499.386 null]
->> endobj
-817 0 obj <<
-/D [810 0 R /XYZ 90 484.513 null]
->> endobj
-724 0 obj <<
-/D [810 0 R /XYZ 107.713 383.109 null]
->> endobj
-725 0 obj <<
-/D [810 0 R /XYZ 90 342.758 null]
->> endobj
-818 0 obj <<
-/D [810 0 R /XYZ 90 327.885 null]
->> endobj
-726 0 obj <<
-/D [810 0 R /XYZ 107.713 226.48 null]
->> endobj
-727 0 obj <<
-/D [810 0 R /XYZ 90 150.802 null]
->> endobj
-819 0 obj <<
-/D [810 0 R /XYZ 90 135.929 null]
->> endobj
-809 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F88 816 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-824 0 obj <<
-/Length 1231      
-/Filter /FlateDecode
->>
-stream
-x��W�r�8}�W�6P��%�����!)'�mLf��N�Vlj0b '�_		/����n����}��t�������չv���ƶ�j
�
��棹��c���j�����P5��L�Z�Z?Z�/A
��8��Z�ߠ6�ӷ��j�զ�fa�m����!$�Z��,��'��zE�d�U�a_J��u"0Xk#@bJ���0
�i4
���Yo<�
��~�#�sM�d!@�
�
�.�Y^��(,����K6)[�a"�[e	5���ˍa
�i�ڮU�@
�gگ�]
-Kg��t�'c)MK��O�!��^

�u)�&��0I�ڎ�b/]�b�[�r���S�l��
=]h�g�:���T�ޜt�
������69����/��m!�)�
-j��™0xI�y8K�<�7WW=����\�%����
�ኖ4���W���6��XR��UH
�U~���R������O�]\K����b�˻VB��mc
0��n�`�9��^ts*<�
<w[,�e�y
��B�uB�F��x�9����W��z��/΄E�C u��TU�^9ˏ� ��
�l��ğ3�ˍ?�
�

�]�88YS
�
�#:-)�h��I
��T�m,��%�����������,,���iY�k�i�j9mDL�l"rxDQᵊ�:)�Vt��x���N�9���+�D�
�C��J
0|� 1���E���a�ߴ��jK��WA2� 
ż4���ZϘ[<fm�?��㻓�A ����@�&�ƾh���
`"���n&�sy�
�
-�ә��J9䃜Um�.N�{u^�Q��s�KQ�aT�OJ���a����O�S�!p�yPL�i,��&��%�H
-�oY�{_��J�8�u%+�0��I��4Y�'��5�6Ɂt���KQ76�<�7�L����9w#i��� K�d�<�-��
-<?��Sj�����O8�t��
�$
-�'��3�Pb�ĸ�"r������ܣ��r8�N�x�^�^��j_g|#�J,H����ý?;
�u�k�?	*JX�����l�{���
�l����E�U�@��ϖS=^v�ND�	��u���@��
��Du�R�a�X�u���$� ��z(h޼r
�t]?��u�.�1K�$�,���P�R��#=�]���D�↝�;�EۇDz,��N���
D�9�A\v�,�
���-
8[�o/�+�Su���9a8ow�o[�[K"�'vU�	
-endstream
-endobj
-823 0 obj <<
-/Type /Page
-/Contents 824 0 R
-/Resources 822 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 820 0 R 821 0 R ]
->> endobj
-820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.767 396.608 474.784 407.601]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-825 0 obj <<
-/D [823 0 R /XYZ 89 770.89 null]
->> endobj
-728 0 obj <<
-/D [823 0 R /XYZ 107.713 696.156 null]
->> endobj
-729 0 obj <<
-/D [823 0 R /XYZ 90 658.322 null]
->> endobj
-826 0 obj <<
-/D [823 0 R /XYZ 90 644.368 null]
->> endobj
-730 0 obj <<
-/D [823 0 R /XYZ 107.713 546.651 null]
->> endobj
-788 0 obj <<
-/D [823 0 R /XYZ 90 537.957 null]
->> endobj
-827 0 obj <<
-/D [823 0 R /XYZ 90 524.003 null]
->> endobj
-789 0 obj <<
-/D [823 0 R /XYZ 107.713 426.286 null]
->> endobj
-790 0 obj <<
-/D [823 0 R /XYZ 90 376.497 null]
->> endobj
-828 0 obj <<
-/D [823 0 R /XYZ 90 362.543 null]
->> endobj
-791 0 obj <<
-/D [823 0 R /XYZ 107.713 264.826 null]
->> endobj
-792 0 obj <<
-/D [823 0 R /XYZ 90 241.562 null]
->> endobj
-829 0 obj <<
-/D [823 0 R /XYZ 90 227.608 null]
->> endobj
-793 0 obj <<
-/D [823 0 R /XYZ 107.713 129.891 null]
->> endobj
-794 0 obj <<
-/D [823 0 R /XYZ 90 77.486 null]
->> endobj
-822 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-834 0 obj <<
-/Length 1006      
-/Filter /FlateDecode
->>
-stream
-xڽV�r�8}�+�6�B��/y#3�r6\�޲S.
q�/�/a�_�-Kf0�
TM�%�>}��t�	�"�F�{��{0	��mhr7�&��ۘ�[�g��T�RB��R���Ɣ7�Xu5F�'?ٖ�6;')�l���2�����W��3t;�:LD�	�M
����W��p���m
�b��txFh���CZ�R�)=���%� )cAk�g������5Xg��/����ݍ�p퍂$��"�<W5���.�{�8�DP��LZr_��[@��Fl
����5��]�m�@(lS��� �k��²� 4pu��	���3�m���&��M�a.�2�Q�|p���+a9J%��j1e0���p���01��m� �~
��TƔvr_��%��3q[eBV�[I�aR`��f��L��ʉv�VJ���ؙy�L����DA�-
-�(��j��y
�>-�U�z��z}
d<x�f[Y��Q=W��F���<��x�8���ʇ��')9y���Ы���>Q��
����ML5�C�w��F��d�U �W�6���O��/�/��3���KZ&�`}�
�l�t�:c��鰦�vv�~]#�ܮc?RkՔE�&g��Zg��^_5Sn0���v�q�n.�# qJ�?vw���3�Y�
-s��-9�L?{
&'.Ԫɂoe��T#�������Mf��߯��A�d�g�]���I��&��Fެn���M�yY.���v
-&�7�F'��
Z�~R���t]g2��\$p8����	4�37�,�0��r.�R�����gy�[J�������Ђxr=юT���z� g�3�)#��*$ǔ�w�t�eF���q�c���mS��
M���	�Y5r���V�
�������
�qGZ&�J�+y�̃�����Oʺ/�M��y~�Qލ��(Va�#�"�g�P���kX;rQ�Y�Џ^�bw����{��q���
�Eo��z����>6額l�9,N��	L�&�F���l�a����9N�ԆE5
-endstream
-endobj
-833 0 obj <<
-/Type /Page
-/Contents 834 0 R
-/Resources 832 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 682 0 R
-/Annots [ 830 0 R 831 0 R ]
->> endobj
-830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 489.545 249.291 499.473]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-835 0 obj <<
-/D [833 0 R /XYZ 89 770.89 null]
->> endobj
-836 0 obj <<
-/D [833 0 R /XYZ 90 721.073 null]
->> endobj
-795 0 obj <<
-/D [833 0 R /XYZ 107.713 621.2 null]
->> endobj
-796 0 obj <<
-/D [833 0 R /XYZ 90 569.598 null]
->> endobj
-837 0 obj <<
-/D [833 0 R /XYZ 90 550.14 null]
->> endobj
-797 0 obj <<
-/D [833 0 R /XYZ 107.713 445.739 null]
->> endobj
-798 0 obj <<
-/D [833 0 R /XYZ 90 394.137 null]
->> endobj
-838 0 obj <<
-/D [833 0 R /XYZ 90 374.679 null]
->> endobj
-799 0 obj <<
-/D [833 0 R /XYZ 107.713 269.301 null]
->> endobj
-800 0 obj <<
-/D [833 0 R /XYZ 90 235.811 null]
->> endobj
-839 0 obj <<
-/D [833 0 R /XYZ 90 216.354 null]
->> endobj
-801 0 obj <<
-/D [833 0 R /XYZ 107.713 110.976 null]
->> endobj
-802 0 obj <<
-/D [833 0 R /XYZ 90 77.486 null]
->> endobj
-832 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F88 816 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-846 0 obj <<
-/Length 1233      
-/Filter /FlateDecode
->>
-stream
-x��WK{�:��W�+,,K�xd�&$׹��ڤ����S�b�
�n�}$�q۹]ܕ%�fΜ93#��T�r�����6V\�Z�������t�`��ܩ��}���rq-8T�{>����_T�z����#�+D���v�0��}���}�`d����_JS7�7V�O=|
-!��  
C�����M��u��5����i�r��}�򧳳�h�r�8jv�$8��Rl�`����%��y�Ysu��^4���
��M
ٔ
-��("0'|��tZ,��1��|Kty�� �a�!�[�@�j&.���c��}�A:5
��9+���s�ل��Ё;�O
��.Sx����U���C�R����	.G��C11r
��`�e���\�����(�&��~��\#T]rIN�U�m5����wP�w}b#˶ ��w;��k���To��(\�咧�Mv�8_�&�pS
�B:QX���#0@	�i"ƕ������.b�cq���jqq���!~6��X�j&V�`^�L50��{EDuD���"�'*evR�*
*���7~T{�W[b[D��X��N�N
�f�wp>
��L���R<�+��s��i��]%��
��¬���Q��_C&��	
�ܦw�%K:V�F�Y�I3�]�p�U��t�e9�&l��&�(Y�)��g�MfIS���Z���ɗrͯz�]Ӆ�y����b!����i=�FzS�݃o'��p1�8����lo�`��~S2r҈M$�ڤGQ����ڭ�ܩ���݌��.ޅѰA%�0�� Y*�.k7�ٔQ��6	��a�����.�9�Y�#X<%�Y|\��	�>�?
ﱷX�Ã��2�k6�
b�H';"�
N����6��I���Q�@���w�lٙ��M��2;
L�t��U�rڡ��U
��q5�d����B02���*�
Q�EMc���.�cjq,�M������@�0-]x�d����te�M`�k�¿�B�|Z��im��I��w��
"���+��y��G^���o��u
-�d�-�fc��f�p�z�H��?�w���Z���r�������ԯ�����E�6
��4�VLQ���[M���m���.C/#�t��b7z�m���nd�ް���L���E�1��txD��7�Ԃ7�Y0�MiVV�Q߉S�
�
-oU���`�ݢ�@�4Z�(*�u<x��]�Lf���+,�r.�CP
0'�6
/E)���v��f�[u�
-endstream
-endobj
-845 0 obj <<
-/Type /Page
-/Contents 846 0 R
-/Resources 844 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 840 0 R 843 0 R ]
->> endobj
-840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.841 445.789 245.973 455.717]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-847 0 obj <<
-/D [845 0 R /XYZ 89 770.89 null]
->> endobj
-848 0 obj <<
-/D [845 0 R /XYZ 90 721.073 null]
->> endobj
-803 0 obj <<
-/D [845 0 R /XYZ 107.713 622.05 null]
->> endobj
-804 0 obj <<
-/D [845 0 R /XYZ 90 524.665 null]
->> endobj
-849 0 obj <<
-/D [845 0 R /XYZ 90 506.188 null]
->> endobj
-805 0 obj <<
-/D [845 0 R /XYZ 107.713 402.636 null]
->> endobj
-806 0 obj <<
-/D [845 0 R /XYZ 90 370.236 null]
->> endobj
-850 0 obj <<
-/D [845 0 R /XYZ 90 351.759 null]
->> endobj
-807 0 obj <<
-/D [845 0 R /XYZ 107.713 247.231 null]
->> endobj
-54 0 obj <<
-/D [845 0 R /XYZ 90 155.713 null]
->> endobj
-460 0 obj <<
-/D [845 0 R /XYZ 90 119.321 null]
->> endobj
-58 0 obj <<
-/D [845 0 R /XYZ 90 119.321 null]
->> endobj
-844 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F88 816 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-873 0 obj <<
-/Length 1080      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����$��IJ��b�fIЬ
��}J
-��iG�n����;�(�r�&�8O)�\���#�D]
>L��G#6B��
-��#�эaj;�b�\f<.�ts'��i2�\nl��ĺ♨J>��Xi��������쯓���d�}@A=A�Q�� D�lp�9L_"��(Dk�(C
sᙢ��_�S�)Ŕ6�����D�U�����hg
a�
��
��[���
t����L�3��ri<���(�Od���f	O�M}�K��$vv�	r(����Z|_� <f�� @!�2�.
-��u
X��N��V�8=*͓��of�,ڌ�}
-��"�&0G�p�>lbM���9�d�.
�K��z~mV�B0s�v��1��������^�
}O��U��ImNY�~M�2���$_63٪���D����%/r��e��ԙn
i�����z*\ ^G
�i!6�I����,�qv<�d\W
- )u
-��n����;�i�
8v��N���ښ_o�Zd/��a�D�u��|���U-yr �ٿ�R0����‚v�?~č��F�>'�K��w�*�{��񙔅��~�DY'E~�󝠪M�J��>5$�k͆
Rڞ�xq�;6��� L�L���]�=7��J<(���H�����ë�S��
yl�X��f��a:c���q�Q����H]�{�"�2Q�@�W
�~���U~��:.�15`�z���j�
-P���t���R�S�CX��վ�Z�����1��;�
y0�&/%�O Uݞ���l�
�yR}[��ޯ�~�����6��3"t��y!�A�*��5�� �kY�z�^#�����+�Y�6`y�~b��R�:�
��^�d
�43� �Q����{���y����[ߟÐ�;.�)eϽ��w[��G���-/�~�uC�'3�P������
�%W�^e��3ϗ+�4�>�����R	��J&���U{��z�{�
*�jr�$/1S��
D]����oԾ����v\d�Q��ܠ��u�~8\��xV�U��'��,���+��
-�
hwQӕ�����ž;BN ��UI�2�z�a�U-5
-endstream
-endobj
-872 0 obj <<
-/Type /Page
-/Contents 873 0 R
-/Resources 871 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 841 0 R 842 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R 868 0 R 870 0 R ]
->> endobj
-841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 686.258 218.955 696.185]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 672.322 262.113 683.226]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
->> endobj
-852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 633.453 221.312 644.357]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 596.641 181.785 605.488]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 555.715 185.9 566.619]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 516.846 220.22 527.75]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 480.034 179.274 488.88]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 439.107 213.595 450.011]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 400.238 241.242 411.142]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-859 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 361.369 183.698 372.273]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-860 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 322.5 195.324 333.404]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 283.631 273.669 294.534]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 269.002 232.722 278.908]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 244.761 307.97 255.665]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.94 230.133 389.318 240.038]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 207.949 177.591 216.796]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 167.023 211.912 177.927]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 129.13 200.833 139.058]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 89.285 235.154 100.189]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-874 0 obj <<
-/D [872 0 R /XYZ 89 770.89 null]
->> endobj
-875 0 obj <<
-/D [872 0 R /XYZ 90 704.263 null]
->> endobj
-871 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-896 0 obj <<
-/Length 1034      
-/Filter /FlateDecode
->>
-stream
-x�՘[o�6���)�6	�i��C��M�$M�-n_��P$Z!��(ɮ��Ǜ���дqb��E��x��� ��~��&��|��Dn=_<���r��yv
-
?�8��G�������bv%ߍ�f��GX�B ��=� )FןHE�)@ЉB�R�
-�G�9��1BF���J��?���]'~$4��VtC����߁뱇���qӘRό�?U�!뤴]d-m�Yq���[n��ʺ�����KB�U���ۥ��P(�]�����
#�j��@��fM⮡��߮uɴ�B7��v#��_��i�k 
��3�|��ߚe��t��s��������RW]�(R�\�Zf����󊿮�Ue�!�+-���Cu�0���+i,�Ԝ6����ո�Nm�,1��=�A�x���
5n"	.�*
�m����qn��U&l�&�P6�;,|����	�nv��6�3��2�h1�b&�V��¸תz
-��x~ZW]�3DMW�:�@2�
�bm��w�Z�Q�%�&������˘����v���2���v��M

�'c,21����"����=k�Ԫ�%/�+�
�$C�k&"_1mH�5�j5�\�4�M�s'���N�'���Wbۊ
��9��'�'e��O2���n���ɉ�mS�Cv˸�Ő��8(%���R
-�B5r*�+�^������z���	h�6�q�kr��\2\��=��ѐ�}�����>=2�0�¾�oa>�<臏[m-�o��Z����k�%g[��$�����|Z��;��x���rq���u9���ۑ� .�N��|~l�J���\�1S6u�
�����*+S������=M��/.���b����C��S�����|N��
�xp�E�V�6��y���6Y�6j�p��D�/3��2���A|!c���=�?�����O
N&��oK�D�V�
;b�+�C�D�}�Ly�N"@�8���]�ֿL&��
-&
�JVs��I]�
����B1�dQ�PUT\	v���`
�Ot'V�n��z7�K��ǥ&�
-endstream
-endobj
-895 0 obj <<
-/Type /Page
-/Contents 896 0 R
-/Resources 894 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 869 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 890 0 R 891 0 R 893 0 R ]
->> endobj
-869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 695.036 255.917 705.94]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 658.299 148.271 667.146]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
->> endobj
-877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 617.448 237.366 628.352]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 578.654 213.018 589.558]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 539.86 262.023 550.764]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 501.066 260.34 511.97]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 462.272 236.27 473.176]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 423.478 242.556 434.382]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 384.685 273.341 395.588]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 345.891 251.194 356.795]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 307.097 232.385 318.001]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 269.279 194.218 279.207]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 229.509 246.373 240.413]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 191.432 193.507 201.619]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 151.921 243.304 162.825]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 114.103 204.031 124.031]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 75.309 219.115 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
->> endobj
-893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-897 0 obj <<
-/D [895 0 R /XYZ 89 770.89 null]
->> endobj
-894 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-931 0 obj <<
-/Length 1313      
-/Filter /FlateDecode
->>
-stream
-x��XYS�F~����JU�xF��f at Pf�[(�R	{0JdI;�m(*�=s	|��&�>Is�t}LwCe�@�v��T<�ٺ�w���e��H�V=��:��yD&Q�g��=
�(L�[�G��[P�D\���a�a�!W�)�B�i���o�i�j�k�^$����*�I��TFt�T���\e�7MS7�7Q�?jPr���8�K%�M&	�= ]�A $�i���8-1I�D��l$���ķ���VO�Y2-�L�/�f8*��T��z��Ʊe/�[�u`�:��1%W7�n-Q��|�DE!Vd,A��-���G��O~��4��#ݔk.T#�$�*-I<�-
-�fBu�!�R݊�D3-5cScyd�c���E���1H��
��"e-!���n����@3,�`�Kp~eHh�
���qq�~���\H(��[\�1��H�����{��t��g��E)<�Ʋ����� .���A+��2�_�������M���|��L��fM
,���/u).��P}�c¢��
�O����}3v�FTڴx6��`4�Cf"
����Bp�#(��f�7�fYһ0��ͬ��K�+�����u\VȺ�Ӯ�i ����t�I$,s��
-����rHM��
%�4�F҂�z�M)�.T�cL�[Gӛ�
�����B#�tK��_��O�o�jLa~������"��7{�B�o[9�
�ǭ��nB.0m�*
ϒJ_��j���A���_�i���T��Q� 9Ʋqug�y��Y\�TeT�B/��Z*YR���x���1��Z�8'��i�����O���w��mT*��C�

v۽3��w�k�����q�E��Xo�S�v���G��V*�܉֥����V0�-��!�#�
�#�l�ݧ��-ȇtw��Ⴝ3
�◊����l�'ܞ
⒖
��3%���@02��
�W�n��<�n|�
-��P/#4h�%����UXg[^{,ޤ�s�罄�(b��qRV�N�e�߀OK��dI��Ea�:X#���o
�:';
μ���9�v^h�T�ڐ��ge_+i�ʇ&�������2�M�k��CO���ϸ����{� ��?�IO����~gE�MwY�̿l��ul��k�28�v���vV;��
���9�
R�axM�E��t�E�/�RCY=�����-�}O#��3�@W�Q:�Fc��6$w���{��&_�� m�
�Ӫ{-(�
R)�N���%5���0�V���̯�u���
��E�/���Fc>��a�i���<O�u�
��y��*��d�sB�
˰����%N�	O����UԐ�
-endstream
-endobj
-930 0 obj <<
-/Type /Page
-/Contents 931 0 R
-/Resources 929 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 892 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 934 0 R 922 0 R 923 0 R 924 0 R 925 0 R 926 0 R 935 0 R 927 0 R 928 0 R ]
->> endobj
-892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 685.192 190.901 695.119]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 646.675 217.471 656.603]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 608.158 201.601 618.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 568.665 216.365 579.569]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 530.149 216.355 541.053]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 491.632 216.554 502.536]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
->> endobj
-903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 455.172 170.956 464.019]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 415.575 192.544 425.502]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.055 334.325 278.938 345.229]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.744 334.325 387.534 345.229]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.04 334.325 511.506 345.229]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 322.744 233.501 333.274]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) >>
->> endobj
-909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 283.853 298.955 294.757]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.726 283.853 359.627 294.757]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.616 283.853 484.708 294.757]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) >>
->> endobj
-912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 245.337 263.698 256.241]
-/A << /S /GoTo /D (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 230.282 147.454 240.469]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.443 230.282 188.968 240.469]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.957 230.282 230.483 240.469]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.471 230.282 271.997 240.469]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 214.167 157.417 224.698]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) >>
->> endobj
-918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.448 175.277 214.914 186.181]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.506 175.277 360.535 186.181]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.434 175.277 478.227 186.181]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.126 175.277 513.996 186.181]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 163.695 180.102 174.226]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 125.179 244.968 135.709]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.738 125.179 294.581 135.709]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.585 86.662 255.909 97.192]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
->> endobj
-925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.774 86.662 448.819 97.192]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.855 86.662 513.996 97.192]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.707 232.286 85.237]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.275 74.707 335.777 85.237]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) >>
->> endobj
-928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-932 0 obj <<
-/D [930 0 R /XYZ 89 770.89 null]
->> endobj
-933 0 obj <<
-/D [930 0 R /XYZ 90 353.13 null]
->> endobj
-929 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-979 0 obj <<
-/Length 1442      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�8~���x�V$q3}s�u�
Ÿ�ݶ���L�x'����#$ܘ�I
��� 
���;7�\*X9��;G�Vld��T�
�Ɗ���0��B��j����hfۄM���t�;��u
��W��+���@V_����XY��;#��+���Tѩ�D�u>t�T���YJT3u��6�}�""�p�}��e�'�ۣV��d�J1��
1]1X]�PsX����X�
�<�ěD�
�.1�0e�,D����=:5�[ �(E�N�!ݐ�~����|��,[�r�X\J$�z��qe.YƊ�b�ڳ�j��+�/h>~t���ڪ���3v�Oێ�w+(-�,���!�xg
�}~!�
�	��`sCk�+Ijx^Vb&��
�(-g���|�7K�JF�ɾtx �P?�͝'��{�G���s�m{� ����x��f^��"^/Ų۵�:�c�w�g����L~5q��m�|�E��YV��-���q�����̆oGNP��x~����
lAo��ɉ [...]
-6wK7[��?:Yzh>L��F����
' '=t�/�Co�O�}���q�g�%

o:�`4ڷ����C@���>�Hu��t4O~qI����rAB�3H�w/���[w/��j�
���GV��
��5g9�%�ɘݤ��c&��3��o�}{�z��
�ܥ眸��吽g�Ӥ��z��φ�-�
�\�;�����{��V_N�t�,]�A�
=�W8U'L~:��2*�e}�ny#XLu���Ƨ����H
ޅ]
-i�K!e�C�3H\
�0���a�=�d��Ө��DLGIX��|�e_)V��B���85[�j
-�RL
!a��V�|�U�<�j�yr�-�P�
��EX�l�:y��6	�5	k�E�jѠgMn��&�K�kp�'��4�DW룾%�%X2t́���ъ�.�?	�2���Ƞ�]�X������ &�y3(��
�4�ú���G�y�x�]�$ևL���;��]�'q$?�Xz�H<]e7`�z�|��H��u��ܑ��F8O�m�~�qۢ�
6�ΌΑ������: �o�`�W����Pj�%�!/�7؆������o�U�`�Q%����2`��
�F������܍�Q�]���ů�����xՅؓ�4�U(�
N�?��:Ɂ�D9$<U��kZo��w���I�޲�P}b5��VU�7GG���(*�*������29�냷����B�
\��"�(0EpR
��Eq��:>Q��� �"�C
-endstream
-endobj
-978 0 obj <<
-/Type /Page
-/Contents 979 0 R
-/Resources 977 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 951 0 R 952 0 R 953 0 R 954 0 R 955 0 R 956 0 R 957 0 R 981 0 R 958 0 R 959 0 R 960 0 R 961 0 R 982 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R ]
->> endobj
-936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 684.506 223.927 695.41]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.698 684.506 282.945 695.41]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.934 684.506 321.69 695.41]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 646.57 205.018 657.474]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.789 646.57 237.466 657.474]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.455 646.57 262.433 657.474]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.421 646.57 296.744 657.474]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.732 646.57 381.426 657.474]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 608.633 228.261 619.537]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
->> endobj
-945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.032 608.633 260.709 619.537]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.698 608.633 325.107 619.537]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.096 608.633 359.418 619.537]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) >>
->> endobj
-948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.99 571.071 225.779 581.601]
-/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 571.071 369.659 581.601]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.099 571.071 511.506 581.601]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 559.116 243.912 569.646]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 520.806 221.336 531.71]
-/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.107 520.806 301.924 531.71]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.912 520.806 381.604 531.71]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.597 483.243 311.149 493.774]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.038 483.243 436.647 493.774]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.695 483.243 513.996 493.774]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 471.288 166.822 481.818]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 433.352 301.983 443.882]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
->> endobj
-959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 418.214 247.628 428.401]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.254 418.214 400.463 428.401]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.089 418.214 513.996 428.401]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 406.259 135.27 416.446]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-962 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.259 406.259 284.271 416.446]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 390.434 304.186 400.965]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) >>
->> endobj
-964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 352.498 223.01 363.028]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.781 352.498 364.668 363.028]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.657 352.498 494.341 363.028]
-/A << /S /GoTo /D (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.538 314.188 210.278 325.092]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 299.081 171.803 309.611]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.792 299.081 257.093 309.611]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.082 299.081 295.329 309.611]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.318 299.081 402.198 309.611]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 283.6 193.382 294.13]
-/A << /S /GoTo /D (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 74.333 197.097 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a45071a745fb30de24380e7e21c8c80ef) >>
->> endobj
-974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.913 74.333 278.162 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.065 74.333 334.082 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-980 0 obj <<
-/D [978 0 R /XYZ 89 770.89 null]
->> endobj
-983 0 obj <<
-/D [978 0 R /XYZ 90 246.778 null]
->> endobj
-62 0 obj <<
-/D [978 0 R /XYZ 90 175.415 null]
->> endobj
-541 0 obj <<
-/D [978 0 R /XYZ 90 143.486 null]
->> endobj
-66 0 obj <<
-/D [978 0 R /XYZ 90 143.486 null]
->> endobj
-984 0 obj <<
-/D [978 0 R /XYZ 90 92.848 null]
->> endobj
-985 0 obj <<
-/D [978 0 R /XYZ 90 92.848 null]
->> endobj
-977 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1002 0 obj <<
-/Length 1758      
-/Filter /FlateDecode
->>
-stream
-xڽXYs�6~ׯ�[����>�r&i2���S��P$d3塀dT��.� E2��8u
4q���8֭�X�gϯgˋбb,���V�X�?����hS����:�coQ&7�����L$7E��؝�?m��qX�'���:v"���\�\�
�R>_0߱_I�`�_s1���������?_�����}�Q�ϱ(��0��r��ce���r�G�VM*-���_XW��f�Vm����V��T���8�RJ(Em�wy�i	�J���
0Ĝ�6��]k1�|�.��+�'z�3��w#�nh��k�{���d��˼J�Π�&�$�)���x
�H�1��
&S:}b̟l"
+n��?��Y> �N�{�
-��">�l��
�69�TO�����A�&�MhH<�&xۉJ����ӭ���%���ܡ�D�"�^J��.op�XZJ|�I?�����

ڋ���̷Q-^���6�_��П�%t	�'��
�
-h���� 4�%ߤ�Z׫V�խ�}I���M֕�'Ǡ�f�H��j��m�3�X�2��2�n*�h�ׇ �)q��I�8�����G��@�!@���
is�ʼ���		X��%!l��":QO�Rj2�I^�yɛT�V'�	r@�O3�g�����l����9�^}�i;Wm�e��5���4]�'�!ǃ���)���ˎ

'��1\�
��x�ԓ�ሴ
p���
|�O�F at K`scto�dG ҦE�i���k�H���b�ȸ4a������(Vݫ�
�p��)��$a�J��X���҈����
ϾV�
�P�JZ��o	�J�2tL�
�3���^:�f;���a���
-������]"�D�B`,qx�Mr
Lͫ,O�>�i�l�D�
-��D
R6��ȏL������5��Yg|[�>��ߤ|I��q�
Q�����C:ɵ���ܕ���
GҘzR�<wۜ�1_P7 
 D�	��{m�A���F�Ⱥn�%Q:;�U
��
�U\�I̍�w�ގ�ԣe����ͥ�W/'*�Lm%"���`
�v�m��;��1r^��"d���@u�[

	��F
����[A��4�V�7�t��ϩ}E����0j��ȥ��a>�{�0p9�U��5 at X
ׅ+!����z������\���A� #�'Ef)vOe�]����@dI�
 q�ѿ������R'~��d�,	�:x�w
-Љt��D�Em���dUK@�8��$����>��*�J�ڕ*K[�@�ˆP�("O����p^J���`a8^8�CJ<e��bj�B�$�agS(|v�vâ{�`���.�
����؂t,]��Z-x)y\��	�8���5���ӕI��
q��\��{횖��S3y�#
-O��E1�T���M�3�c�O0�< �l�Я�{^�v嘿�z_E��A[�h�?ny�EҗU0��=��XJ[�Iݡ��贪s�v�!_4�>�38�2/Cʬ�rcz����A����h�S�
��
m�B��b���[��`�{�Ϣ]��*)
-=�G' ��~���~���{�;�K�N0$���֥@��!� x+�%
y�iw?
���n�_��Ϧ~@(H}⳩z
x�" 
-�{���h��֥��^���w����v48�T�]r��z#�
���=�n��MF�6����E$v��Ş����f.��7��1��L�ϙ�!{�B����k���r��nIڐ��7���r�)����~J=(�=S�3]Y
CNB���@N$�Ӥ����c
+���d
�
-endstream
-endobj
-1001 0 obj <<
-/Type /Page
-/Contents 1002 0 R
-/Resources 1000 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 851 0 R
-/Annots [ 986 0 R 987 0 R 988 0 R 989 0 R 990 0 R 991 0 R 992 0 R 993 0 R 994 0 R 995 0 R 996 0 R 997 0 R 999 0 R ]
->> endobj
-986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 681.578 191.16 692.482]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 681.578 263.777 692.482]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a46f81b7244ead222393409796c6155bf) >>
->> endobj
-988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 638.161 159.927 648.691]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 638.161 212.779 648.691]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a5861873d6b4efa078c9baea63cc8161c) >>
->> endobj
-990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 593.997 215.13 604.901]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_acd06275151af00aa4ee62a7317c547dd) >>
->> endobj
-991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 550.206 201.302 561.11]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) >>
->> endobj
-992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [104.984 458.626 188.171 469.53]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
->> endobj
-993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.661 458.626 496.91 469.53]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.979 446.671 513.996 457.575]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.296 394.698 396.428 405.602]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.864 311.933 513.996 322.837]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 102.704 240.255 113.608]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_adb3527cd368dc0c27de0d20f9a325d0b) >>
->> endobj
-999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1003 0 obj <<
-/D [1001 0 R /XYZ 89 770.89 null]
->> endobj
-1004 0 obj <<
-/D [1001 0 R /XYZ 90 703.14 null]
->> endobj
-1005 0 obj <<
-/D [1001 0 R /XYZ 90 659.349 null]
->> endobj
-1006 0 obj <<
-/D [1001 0 R /XYZ 90 615.558 null]
->> endobj
-1007 0 obj <<
-/D [1001 0 R /XYZ 90 571.767 null]
->> endobj
-1008 0 obj <<
-/D [1001 0 R /XYZ 90 504.864 null]
->> endobj
-542 0 obj <<
-/D [1001 0 R /XYZ 90 222.455 null]
->> endobj
-70 0 obj <<
-/D [1001 0 R /XYZ 90 212.77 null]
->> endobj
-1009 0 obj <<
-/D [1001 0 R /XYZ 90 124.146 null]
->> endobj
-1010 0 obj <<
-/D [1001 0 R /XYZ 90 124.146 null]
->> endobj
-1000 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F56 239 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1023 0 obj <<
-/Length 1236      
-/Filter /FlateDecode
->>
-stream
-x��WYo�F~ׯ�[)�Z�.o�(`;v�I]K}raE�$�<rU���i��d�Z�/���ofg�����~p1
��lE(�oM�V�������ha�ێ;�2��
?D$�ᐚ�������t"�W����%l}�CAh����
�0}ca�D��U�2˥���d�� �4�D��I0��
Gcl��%)_
Gԓ�*.��H�\Z4����
l���\�h9�p����y
s9
-�b�gY)���8a�^ٰ�e\�BÑ�#�<�[��W
���bm��)�*����\|���{����jv;$��h�M۴ 
�9�TZ;↌x
�E��=�9�u�jȧ��T��E\g<LA���E�?�Z�_�Y��
l33X�L4QZ�E�
印4-�Գ�I��S�Д��N|�:!��E���)�� y@����!��w��i� �4dTRf�(t�8^��1��26��n�%��ɼd����b7��K^Ih7
_S�N!?��4���!E8j�L�s�G)�>/��1Ll�K�
�YB{�c(P�$M��I�l�rI�6�Y-�<5�f�!B^䣽����h���,�֛�4v(r��t[��$��?�l�
-��<�l������E�
���̕
k�|0E�=<���"1�LKkK���10�
�]��|�'
�rFxQ'�j�����`�Tu��
-����$�A8p:4�I�
�]
|y�|�
4��#��V�&�
����]�b�,NTKp����w����	ǁ���@�l!�%�����tbp=
��4���x��;.�2�ze^c�>�<5U`�; e� 'l)����R�<���W<�HE�j�:ȥ&�n�m?����\�2�KBւ����o���<[&.e'�yx�ŗ!�D�����M-���\
m;��ڙ�e���}�o��NI�a� ;���4ڪz��b��X��/����'hԸ��۴�Ɩ"?آ~�׼LDu:���{�J�an�j=�״
�Qw	���1�mV(.�(����1�ͬ�,J���R@�w5@�c��WCZ4�^�|�w*�M�̮t~����'WN�M����/}S��$ �(�lP�O��Xn��(��HȘ6t���5g�ছ�z�嫺�@>���X�k�L�U����&�Y^7�0��f~Y�%	���JH�DMx�fjD
���7Y�i�O
-@�$h�Ƶ���x�ݢ�Bu�lJ���f���򨋖�@�ҖȬ(�!��PR|(3
ћ�
�e���~$���$�
-endstream
-endobj
-1022 0 obj <<
-/Type /Page
-/Contents 1023 0 R
-/Resources 1021 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 998 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1017 0 R 1020 0 R ]
->> endobj
-998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.949 683.554 448.294 694.458]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
->> endobj
-1011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 514.093 172.889 524.997]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ab4470b84b8b57bae591239910d220c70) >>
->> endobj
-1012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.915 474.998 146.976 485.902]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a133f3756e88145e6ff5bf3d1b41838d9) >>
->> endobj
-1013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.488 435.903 136.655 446.807]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_aa3a5f10fed94188b162073ef8efff393) >>
->> endobj
-1014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.488 354.574 137.213 365.478]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad35d7381bcd3c4cf029d4b76bb6545b8) >>
->> endobj
-1015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 151.857 276.658 162.761]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 184.651 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a1c91471f55b22735023d37417f0bef70) >>
->> endobj
-1017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.633 74.333 304.022 85.237]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-1020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1024 0 obj <<
-/D [1022 0 R /XYZ 89 770.89 null]
->> endobj
-1025 0 obj <<
-/D [1022 0 R /XYZ 90 721.073 null]
->> endobj
-543 0 obj <<
-/D [1022 0 R /XYZ 90 621.165 null]
->> endobj
-74 0 obj <<
-/D [1022 0 R /XYZ 90 614.414 null]
->> endobj
-1027 0 obj <<
-/D [1022 0 R /XYZ 90 533.187 null]
->> endobj
-1028 0 obj <<
-/D [1022 0 R /XYZ 90 533.187 null]
->> endobj
-1029 0 obj <<
-/D [1022 0 R /XYZ 90 494.211 null]
->> endobj
-1030 0 obj <<
-/D [1022 0 R /XYZ 90 455.116 null]
->> endobj
-1031 0 obj <<
-/D [1022 0 R /XYZ 90 371.766 null]
->> endobj
-1032 0 obj <<
-/D [1022 0 R /XYZ 90 371.766 null]
->> endobj
-1033 0 obj <<
-/D [1022 0 R /XYZ 90 316.863 null]
->> endobj
-544 0 obj <<
-/D [1022 0 R /XYZ 90 221.249 null]
->> endobj
-78 0 obj <<
-/D [1022 0 R /XYZ 90 214.498 null]
->> endobj
-1034 0 obj <<
-/D [1022 0 R /XYZ 90 115.646 null]
->> endobj
-1021 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F21 1026 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1060 0 obj <<
-/Length 2026      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W����  @�ޭ=�7v�Y;�gr�S*��$V(�&��*�>�9���xeO�T�E"����������jr};�z)��8��w��b�	#
�[�}���?#�i�4�d^W�~-�&���I����/��|��n�'Ѵ*��x��H��>��Ki�d�J�B���}=��v�iB@"�+G"����ï��`���QG��,�x��_x7��'�)s�o�^ʅL+GF
!����6/2'cb�J�>�9�_���x�]���Y��e��0(s�2
-,
-� �
��.H�Qu����!��^�� �
�`�%�RfI|��Q�fmVξ�_M�3�nN++z��^1�n��£������s�?�(d������QQ�D٧�H�z�#6������E(ˆ�� �i��!�|������զ.���������t���)�� ��3= BQ�;����@"�N�z�P��0��V5I^��;Ur3�^{b�[ڷM�����t�eS��&��iG`�8Ba��ڴ} FH2�HE��U8���><���{ �4�0Dڃ�E1D$�E
 L�#(:��D�>��;m�ӝ)v��|�\6R>��%'�;;��B&��@*
-�����ʶښ����$e�<]�����~,R��ͮ�����)Fz�?�h��R��\�D����n�
J�kC��kC��yD����-��
��
-i��6UU�r-׉��2q3��g`m��Ttf��Z6�!Й�+�
Q��m�����f��
a]CP a���!>2��v6�[��v�`��P*��t�m�`�����᩶A�y�uR�1���ZZB����6��A;�N	���k�L��(NP�9&���S-k�ܭ�H�tC M�䵲܁n��F�djA��:gt`c"�Qt~��� �@��eZ��9
�V��
8ٴ(��0���2������}���3����h�a
:;9<8f!>(���	|j��9b����p�B\�{~�Nj9�ԟ�m�αd!�F��
��T)��?c`��{�b�s�-�^�1'36�Q�(�6�	�h���-$0��wI^$�B��|i, b;b������,3��_�,�����C/=����w����N��)�����L�%���nm�m���նq~�6<
6�9p`2���sL��פ��z�&�G��ZT�f:z�b_�����c�Zmhs]�<J4.�W�
�v�'E�J��Z�+��ݿ�>�!ϻz�Ut��Uf~�s���MĴ3E��S`o�V=I'��
̰�RP2X��}ZT�?Oƶ���r�����i:�A�L��A
�������W�}R۟����-ϴ_v_џ�}��<>�Ǻi�x_t��/�y�h��� 3 �w��O�zy�H����s�EA���s�����<�
�5�,�E�-�9�|U����F}��o���o [...]
-�bs��GS�t�tOn��j���L����s�I�Kw�狙��<D\�3?X�� ^H�.�|ug��U��]g�^�q�`k��?��}y�h �4��tR���ʑ��T�Yj[%�����w���Y�MRn��@Ci���
�o��݅P �n�;nk�߼��G�7=P���"��Y+U?����v(mѶ���ꪮ��S/��B��
�e�BdS5�%98B8��
�%��$:���� �b$
-endstream
-endobj
-1059 0 obj <<
-/Type /Page
-/Contents 1060 0 R
-/Resources 1058 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 1018 0 R 1019 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1041 0 R 1042 0 R 1043 0 R 1044 0 R 1045 0 R 1046 0 R 1047 0 R 1048 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1053 0 R 1054 0 R 1066 0 R 1055 0 R 1056 0 R 1057 0 R ]
->> endobj
-1018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 686.733 184.651 697.637]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a509185b3d326e5d4496fbe8953b82f88) >>
->> endobj
-1019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 686.733 248.023 697.637]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 652.648 184.651 663.552]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) >>
->> endobj
-1038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 652.648 248.023 663.552]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.836 652.648 333.302 663.552]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-1040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 619.166 184.651 630.07]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ad008d79cb35b51e7dfbee0dcc3741dc3) >>
->> endobj
-1041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 619.166 266.294 630.07]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 585.685 184.651 596.589]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_abf571357a5156e495293957a44145a9b) >>
->> endobj
-1043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 585.685 272.919 596.589]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 552.578 189.015 563.108]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a173c08eeeb4a96b0060d5f023e4ba4a6) >>
->> endobj
-1045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 412.699 184.651 423.603]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a558341813be1d1bf607bf1c50e6e1ba3) >>
->> endobj
-1046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 378.614 184.651 389.518]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_aa37dcee4fa14c58b76c8d3c4227849e8) >>
->> endobj
-1047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.222 378.614 347.688 389.518]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-1048 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 345.132 184.651 356.036]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ae79d42cfe6b21bcf264fd9ea84e78fb2) >>
->> endobj
-1049 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.467 345.132 264.61 356.036]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1050 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 277.963 306.942 288.867]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a3665335e295bd7c05eeca13be606616f) >>
->> endobj
-1051 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.757 277.963 370.313 288.867]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1052 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.905 190.247 255.461 201.151]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1053 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.859 190.247 491.28 201.151]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) >>
->> endobj
-1054 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 190.247 513.996 201.151]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 178.292 161.84 189.196]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1055 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.301 178.292 231.857 189.196]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1056 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 99.916 191.678 110.446]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a1f026c17289bb2174eaec0d61a4a2e67) >>
->> endobj
-1057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1061 0 obj <<
-/D [1059 0 R /XYZ 89 770.89 null]
->> endobj
-1062 0 obj <<
-/D [1059 0 R /XYZ 90 703.14 null]
->> endobj
-1063 0 obj <<
-/D [1059 0 R /XYZ 90 568.611 null]
->> endobj
-1064 0 obj <<
-/D [1059 0 R /XYZ 90 427.069 null]
->> endobj
-1065 0 obj <<
-/D [1059 0 R /XYZ 90 208.527 null]
->> endobj
-1067 0 obj <<
-/D [1059 0 R /XYZ 90 117.822 null]
->> endobj
-1068 0 obj <<
-/D [1059 0 R /XYZ 90 117.822 null]
->> endobj
-1058 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F83 414 0 R /F56 239 0 R /F88 816 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1079 0 obj <<
-/Length 1277      
-/Filter /FlateDecode
->>
-stream
-x��X[s�F~ׯ�E3�z���q�L��u��C'�xZ�L�������h}I�d�"���~�9��`�����|r�R�� #�
�7����		�E�>dr�a�&`R#b$ljf�~���_̯�w����	�W8 n�@J�j��0�&��
l�E��S�ip5�c��5�D��I0�Lgc
��U��v1�QQ�ʸH�U�g�E'/�<����
�����T�:O�eGi�sSq����Dq
~���狛�M�[�(�
9U�A�Hu`2mM>˳�*6q�N�O���y�Y٬�:w�8�}(�Q���;���4�XD������rJqؾ�
��V,ÿ��i�-�_Z�ň@R�.�
��
M�Ϧ3A$����-��^���v�#{F�F��`�6B8	��̧�hD�Ԁ�ē��H�8E�ج}�I�E�B
���N��np6�7����e0���()�r��I��
r�]�qV? I�侾�(���>���
4P�4���~1�s��r��O�A�O$1<�n�{hCV3�ƅ��.ܻ����m����u��j]�~��� ��&��0���X���٪�6YR�v�,J;V���
B��$p$�>%�
�o=|PbY����O
0ѧ�A
��m�L9�W��~I���Y��G�2 �gM�o��(��ă�O���6��S2�
��)�u���<��}�ַ
c�X���
�´�k#9�Q�4�j�~
%gT��eS���&�,/���� ����-��%Yu}�++���*�d}
�K��P`�y(�LKd�(�7E���ƿt

-p���+m�_�{�0(��I~��
w��A@�,��^��؎���X�P��d_�¸�Q�%�
<����,66��=��pt�{�-}�#
Q� �B��y�;!�uЋ<N��#׆yS@6��а@
�����p�=Κ[�{�I�gD�����6\�zm�ep���m���o����qtpI�_�6��c9��H�1��ϳ�T<xZf�Ñ�.������%K�ud�=q���:l>��ۨ�{�嫤��)���z@�-��+wˋ����e����X��9��X ��=O��;�� b��د�:j�Ib�aCHD}쇍���*��.h�B\!a���5f�ķ�.�n�������|��ؽ���&Z��^g�-nj^�]���?O��L���M�%ݭ��\E�N4r��+k�จ|
-����&�{?)J����U�>=9�n�(.\��J���:=��(Z
��7
�V���
��P��/��&�`٪�pr������
-endstream
-endobj
-1078 0 obj <<
-/Type /Page
-/Contents 1079 0 R
-/Resources 1077 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 1076 0 R ]
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1080 0 obj <<
-/D [1078 0 R /XYZ 89 770.89 null]
->> endobj
-1081 0 obj <<
-/D [1078 0 R /XYZ 90 721.073 null]
->> endobj
-1082 0 obj <<
-/D [1078 0 R /XYZ 90 669.406 null]
->> endobj
-1036 0 obj <<
-/D [1078 0 R /XYZ 90 646.99 null]
->> endobj
-1083 0 obj <<
-/D [1078 0 R /XYZ 90 646.99 null]
->> endobj
-1069 0 obj <<
-/D [1078 0 R /XYZ 90 545.872 null]
->> endobj
-1084 0 obj <<
-/D [1078 0 R /XYZ 90 530.779 null]
->> endobj
-1070 0 obj <<
-/D [1078 0 R /XYZ 240.245 441.497 null]
->> endobj
-1085 0 obj <<
-/D [1078 0 R /XYZ 90 424.247 null]
->> endobj
-1071 0 obj <<
-/D [1078 0 R /XYZ 332.797 349.077 null]
->> endobj
-1086 0 obj <<
-/D [1078 0 R /XYZ 90 331.827 null]
->> endobj
-1072 0 obj <<
-/D [1078 0 R /XYZ 338.775 256.657 null]
->> endobj
-1087 0 obj <<
-/D [1078 0 R /XYZ 90 239.407 null]
->> endobj
-1073 0 obj <<
-/D [1078 0 R /XYZ 461.214 152.282 null]
->> endobj
-1088 0 obj <<
-/D [1078 0 R /XYZ 90 135.032 null]
->> endobj
-1077 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F88 816 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1097 0 obj <<
-/Length 1778      
-/Filter /FlateDecode
->>
-stream
-x��X�n�8}�W�mm�fHJ��t�@��v�"�f��e�f+K�$�����&[
-]��ؗ������̙C�`���������)Jc�� �A����n�#6���x�՛l���۵X�٬��:�o//�Ub�c�KQ��)ex��Ț�
ߋ��'��E�
0�hH�a2�t�z��z�uD�
�4C	������u�Q��`�'m����>��
��]�x�
B!f�ka|)ń���<��T�y�ˢ0#Y�E-�VZ�q��r;\ȍ(龬�j7�$=�R�h���>�3��'��2� k�8
S&�
LC���D(�qy+6s at X{�rW�m���*߁�m�_�qXiJ��(=����T��	��o��j4�WU!2m�� fW
-@�T����r�݊z6�v�b� W�L.g�{��ڛ��+$�Z�K1�>kΏ��c��ԡw�A/B&_�e��
�8
�in$���j	;���>
�^�Po�
���1J1u˶k�
=�QȈ������lF�
��pAn�	�1N�	ac
�~����DB�
��g�4Ff���z'�rn֢����c���+�D�����Q�;��Y�����)�:��|����r�;jV#Fi��D�[/��b�
-��}y����^Y�{�l���p���JN�*'�aV���I��E<��3d 5=�����4�Yf���U���Q��=��$g�6��6���:�e^m�@G�B��E�-2E����t�(��'�����wWj���؇fqL�
�N�-�{\H`�n���
�*a:6?ȲmDkg�u��V/޽;Mv=�(�6O����J��.�^��$g�Y=��Zi:I��ϰr��HW�[/-��K�G�@@ '���
����`E����s+
AJ�͘�nҍɞOގA)�Sf;���W�u
j���@J����;Uѥ�^�kGM�V�N���:����,3�3��
t���{$A1�}�h}
�,!?Z�_��`����-)�{U.U_�e�^w�n�>��-�g�SU�F��?�ܷM
-B�<��y���ӈY�ce (�Fj��z�#��a���FKY7�NjX.
{
�X��(r9��/SB-�:���{<@�Đ{��%������k����@��]gC��u���=
-�ɗ���OD!Tv��ڕ�(�Hl�j>+����B��zYW�!�p���*���1�bQlq
O��L� �`
�g
-T�̳¼ܕ��a��B���=r(��2��U�΍��|҈�'�ѴK��T��bf�d��?��E,:j
X"�
y�d
�w�L�怂�	pl��l��ȿ;��Z��ZרOV:��
'ѹ*��
�5	AoM-���yz�;`�
�jWP����e��rW�+Q�:k��6�%�����VY��+u�P��~b
E!?õ6�_�>�E�������ϳ���[p}Δ����:!abBM�k���ݒ܍�����|uu��B
ƕ��>ь��W�y����w��
H��p�Sh"�	��}l
�
�
�D��A%�h�
|��ppL��t2�#%�A.G��<��b�W0�{8r��

��qz8I�����w���<GA/� '�<
�������,*WD�/�>����
ͧr�
-��b��+���_;��)pU����,����=�gݵl��H�^�F	b鰍أ��n�ʑ�y|c�<�>�g�sV�v�ʚR!���˸��Q�6all�}�����t�4�>\�b�%��	�S�!,N�/��e��a�0� ��^^\��{�7�նF���n����z�B -��z�z����
N����ȒR	�6���
-a��o�(
-endstream
-endobj
-1096 0 obj <<
-/Type /Page
-/Contents 1097 0 R
-/Resources 1095 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1094 0 R ]
->> endobj
-1089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 542.706 230.651 553.575]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 177.811 159.927 188.341]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aac1766c4ad4a4697f6f9d4a92b200cb2) >>
->> endobj
-1091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 138.786 159.927 149.69]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_affb4611ad564f09455819718964b6e80) >>
->> endobj
-1092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.135 159.927 111.039]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a4445a4d60c39e32b6f6d3e2dcb901e55) >>
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1098 0 obj <<
-/D [1096 0 R /XYZ 89 770.89 null]
->> endobj
-1099 0 obj <<
-/D [1096 0 R /XYZ 90 694.474 null]
->> endobj
-1074 0 obj <<
-/D [1096 0 R /XYZ 90 672.163 null]
->> endobj
-1100 0 obj <<
-/D [1096 0 R /XYZ 90 672.163 null]
->> endobj
-1075 0 obj <<
-/D [1096 0 R /XYZ 90 534.122 null]
->> endobj
-1101 0 obj <<
-/D [1096 0 R /XYZ 90 519.643 null]
->> endobj
-545 0 obj <<
-/D [1096 0 R /XYZ 90 283.981 null]
->> endobj
-82 0 obj <<
-/D [1096 0 R /XYZ 90 277.066 null]
->> endobj
-1103 0 obj <<
-/D [1096 0 R /XYZ 90 196.31 null]
->> endobj
-1104 0 obj <<
-/D [1096 0 R /XYZ 90 196.31 null]
->> endobj
-1105 0 obj <<
-/D [1096 0 R /XYZ 90 157.778 null]
->> endobj
-1106 0 obj <<
-/D [1096 0 R /XYZ 90 119.126 null]
->> endobj
-1095 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R /F88 816 0 R /F11 318 0 R /F92 1102 0 R /F77 331 0 R /F83 414 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1122 0 obj <<
-/Length 1457      
-/Filter /FlateDecode
->>
-stream
-xڽXKs�6��W�Ԋ3����8v�i
����L�� �)	2|��� (R�e5uz"��ow�][
[�'/������
����
-��!b
���۩؟o,�
	=��Ξx��x����&���	�O�"j?C~`�����V0����	�]�Y.u�Z7�?'X���*1���
r���	A�(>R���w����F�q�zb�����mʦ1�q�E=��(��᛺L��n�+� {���� t�\���s�5#
�+�^6I����H=b�	zJ����v�4��[��j��q�E�z)mǟ�B=*��I.ԷDH
痁�S	܄q��*�d�5C��h�Ν�_�(us
\�C�yC��9MD��,
�(_�`�aD}b��!�� @�>��W��cة0����/�]�)��~^

�Q`	XM���&c�L	�w�3b�9
ޗ��wQs��醗�a��zt��û㏻(m�p�ӕ-F�

K��ݫ"���B8j�:PK��z#�
+u��ej��x�|��e#b�����
-�z�eU�LC�
w�#�Ph}܏ˤ��?׉f$�N������G�J�����uzC#�y#V|u����`�;�(o�P_�:JR�#���2)�Ln�g�+ܦ��P%�7���h	�}6G��g����
���r��[.�
-�����'��\�\�m*i�
չz&Y��-��[�21y\ʺ,g��12Ѵ�Cڨ��C�2
c
�M���Ds_�
i���|+J^U2^O��.#���l��eT祡[��Q�:Z�ٌ��p 
���+�~=oib�D��yx0�*���comf�eҗ��K�Y��Ӈ-_���4Y�Q�pv&����j�wf����-P
��V�o���[`�u~�>�Юz�&B���H,�

B���Ff��~o���{������=��ט���~�7Е�����OwJ�O��S�D]���[̋C&��x���!�z���/�]��Hl����.m�"��d%y��ǘ�ؖ���^t�v�
����1X�z
,��k�����
�M
��S=Y=�g�``D6�>
-<b
0.d�
-
�Ym	V��Q���6]�A��
	�u��
-��gd
��lH�]�����2z���KdSM�w��x.
a���4'�M�pks�w@\�5G�w��Sj�>�Ɲ����(G�I
��~�5��EWB�Dp��x�s������j��Q� ��%D\ON�#w��MI�; �}f��:&%D>(a��1!P�H���LV�p�����lD�
���D�
��݄��0�j�������$G
-2Q�[������dS#3^����u����^��E}��D-J^��uK��"��x����T���H4��%��/��o1�����MD�p�i
-��-3�c�֘���
-H�m]g����=�+Ԉ�(QRϋ"��C-pgw���?�K�jP��T3��E�X���ԙ�'����
-endstream
-endobj
-1121 0 obj <<
-/Type /Page
-/Contents 1122 0 R
-/Resources 1120 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 1093 0 R 1107 0 R 1108 0 R 1109 0 R 1110 0 R 1111 0 R 1112 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1119 0 R ]
->> endobj
-1093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 159.927 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) >>
->> endobj
-1107 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.111 159.927 679.641]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a2ae111e41ccba8a228746939bb1c595f) >>
->> endobj
-1108 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.743 669.111 209.76 679.641]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1109 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.759 629.517 174.861 640.421]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15) >>
->> endobj
-1110 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.861 590.297 215.488 601.201]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aaff569442866d78436e19428b4cb8e75) >>
->> endobj
-1111 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.883 509.048 193.271 519.579]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a2558e4d9aca774fc60a7f8cb26d002d0) >>
->> endobj
-1112 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.946 425.551 286.963 436.455]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.419 164.042 111.323]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a71cf9ab9ae4f184bf520137a8209ff3e) >>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.858 100.419 245.107 111.323]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1115 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.991 100.419 337.241 111.323]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.125 100.419 398.142 111.323]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1123 0 obj <<
-/D [1121 0 R /XYZ 89 770.89 null]
->> endobj
-1124 0 obj <<
-/D [1121 0 R /XYZ 90 688.013 null]
->> endobj
-1125 0 obj <<
-/D [1121 0 R /XYZ 90 648.793 null]
->> endobj
-1126 0 obj <<
-/D [1121 0 R /XYZ 90 609.573 null]
->> endobj
-1127 0 obj <<
-/D [1121 0 R /XYZ 90 527.831 null]
->> endobj
-1128 0 obj <<
-/D [1121 0 R /XYZ 90 527.831 null]
->> endobj
-1129 0 obj <<
-/D [1121 0 R /XYZ 90 470.76 null]
->> endobj
-1130 0 obj <<
-/D [1121 0 R /XYZ 90 399.611 null]
->> endobj
-1131 0 obj <<
-/D [1121 0 R /XYZ 90 377.217 null]
->> endobj
-1132 0 obj <<
-/D [1121 0 R /XYZ 90 377.217 null]
->> endobj
-546 0 obj <<
-/D [1121 0 R /XYZ 90 207.829 null]
->> endobj
-86 0 obj <<
-/D [1121 0 R /XYZ 90 201 null]
->> endobj
-1133 0 obj <<
-/D [1121 0 R /XYZ 90 119.576 null]
->> endobj
-1134 0 obj <<
-/D [1121 0 R /XYZ 90 119.576 null]
->> endobj
-1120 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F88 816 0 R /F92 1102 0 R /F72 273 0 R /F100 1135 0 R /F93 1136 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1154 0 obj <<
-/Length 1657      
-/Filter /FlateDecode
->>
-stream
-x��YIs�6��W�Vi�X�t'�4�4Ig��=%EA.
-IE����m����@o���������ɟד�W;>�����#]qwK��`$gs�1�n�<	n�Y|�Q�<���E
䷗�ϳt��T���ۢT�lN9�>���0��J�3�M�"G�S��>_�����|�0;Ĩ�HzN�L>~��
�q0b���E��R߱s5�g��'��
��e�#	A��>Q�+��ϵ�|m���z�|�sp�]�� �y�c�������i�c�*o6A��)����Ʈ��9��3�@�t<pA��J�p�3'
qO>�r���r�f�^s����ʂ�*[im�<�N0\(�䖛�0��&ĉ_/B�V����W"*�3�.��=y���/
T��a�����I��L�f�d���J��HH��.�g��T�A��� �,��>���"�"!�E�݁��9�5��g�O�OWe
�k����"����.��R���
l��\�2h
e�l�Gi��4���l�W��!g�� &�	)�
���i))�ު�`�h{$�� �i0(��cHR(<.��
�}5
d�
-��yV���
�R�+ư���,"�{�d�؃�]�E���5
�6���@f�>��3�~
�� ?vd��
��A�Sw�����D�
S��#[��
���'�3!�����
-}�z$���~�� O�F�*�(���
U�y�--��př`�����XE�0��l� '��ux���]E��<��_�m�X��ݺ�-W:PTٴ�`h�e_dS�L���`��a&�z|:}j$�uU
#�D��u�2��#�/Am5�
 ��][6�,s���0(���Lg	x ��2�j���
�5����E�r�l҄�S��t=#ne,E�g�#Q����� ��=e=Y
1"�΢�����ipw��>�����[

-���f�)p+�)�AF��d�d�ț.G$��?i�OE{H���
��@�
HK�~�r5��J$��r�G��z��Ƹ�D��t%*��j�\g�~l��i�
B�d�(a�k����
c=��s���6�[
k��7���S�3��Q�y,b5�
@Ұ�@��cy�v�N����'�#�N~|��M6�b`,r�N�W!�}n>��*U���� "U��+9ս��<ڍ���hu<�5P�b��;��	4D�100���H���n�>��1� >���	��Wƥ�2!St6�E{DlZ_m#Iˡ���.����<{��_��P��U̡\z�\-@>��1-���cZ�<��� ��-`4�|�	H�'��`5^���ب��+NO|n�B
څ�����^'%��޽;�S��3�"�zU�{��Εef��7�m�l�FFǪ���hE0$5�|������_ey�SmA�
��-���E1���*ϒ
�,�3�9����K��i�ٍ7.~	��Դ&�l�1��ڮo�2�r�O��ıS~�V�-eE;2�������ȿ9�5�L�l��M�׭F#aok8��;���y�ܼ���90�K��1�}�o���f
�
s�w���s> [...]
-endstream
-endobj
-1153 0 obj <<
-/Type /Page
-/Contents 1154 0 R
-/Resources 1152 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1035 0 R
-/Annots [ 1117 0 R 1118 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1151 0 R ]
->> endobj
-1117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 191.16 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 707.957 252.31 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a65c976f0aafc42c094699578b7a2bcbe) >>
->> endobj
-1137 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 667.816 191.16 678.72]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1138 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 667.816 257.849 678.72]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a09e7bb0fbd7304bfdd8412ce221c47b5) >>
->> endobj
-1139 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 628.049 159.927 638.579]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 628.049 196.739 638.579]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) >>
->> endobj
-1141 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 587.535 215.13 598.438]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a6bcbe60c7d20f1fee7847e262993b626) >>
->> endobj
-1142 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 547.394 201.302 558.298]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a1a974f4ed60693790cec91f324a85b05) >>
->> endobj
-1143 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 465.665 159.927 474.512]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1144 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 465.665 180.131 474.512]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a7ea59789fd9b3a6716718beae0e01c8d) >>
->> endobj
-1145 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 379.822 191.16 390.726]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1146 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 379.822 205.277 390.726]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a637fe9105c9bc0b2722544d16453e87c) >>
->> endobj
-1147 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 339.681 191.16 350.585]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1148 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 339.681 205.825 350.585]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a240b9d144edd0d6dca5cb42904f9b279) >>
->> endobj
-1149 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.175 254.854 314.307 265.758]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1155 0 obj <<
-/D [1153 0 R /XYZ 89 770.89 null]
->> endobj
-1156 0 obj <<
-/D [1153 0 R /XYZ 90 721.073 null]
->> endobj
-1157 0 obj <<
-/D [1153 0 R /XYZ 90 687.553 null]
->> endobj
-1158 0 obj <<
-/D [1153 0 R /XYZ 90 647.412 null]
->> endobj
-1159 0 obj <<
-/D [1153 0 R /XYZ 90 607.271 null]
->> endobj
-1160 0 obj <<
-/D [1153 0 R /XYZ 90 567.13 null]
->> endobj
-1161 0 obj <<
-/D [1153 0 R /XYZ 90 483.225 null]
->> endobj
-1162 0 obj <<
-/D [1153 0 R /XYZ 90 483.225 null]
->> endobj
-1163 0 obj <<
-/D [1153 0 R /XYZ 90 397.536 null]
->> endobj
-1164 0 obj <<
-/D [1153 0 R /XYZ 90 397.536 null]
->> endobj
-1165 0 obj <<
-/D [1153 0 R /XYZ 90 359.418 null]
->> endobj
-1166 0 obj <<
-/D [1153 0 R /XYZ 90 300.27 null]
->> endobj
-547 0 obj <<
-/D [1153 0 R /XYZ 90 126.989 null]
->> endobj
-90 0 obj <<
-/D [1153 0 R /XYZ 90 119.585 null]
->> endobj
-1152 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F8 341 0 R /F1 1167 0 R /F10 1168 0 R /F13 1169 0 R /F7 1170 0 R /F11 318 0 R /F23 240 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1191 0 obj <<
-/Length 1222      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vr&� ��[�G�n���z�3��$$| ���w���X��Z�
r����o�}��ZY�z;z3
M.Bl�(h`M�V��Ћ���º�=�|�^Zn!�I?=�������Z�7:������-b��(��4�|��
_Z�qdm�Pnyԅkf]��
ღ�1g~h�O�1�����s&���)Қ����t�&~����s#
6��m�R��Īu���Ⱥ�ۧe�
+R6���5��@H�q�}
?���3'
��	<e�(�5&!�s��2i��8��?�hҺ'��%؞;�
��H$�������R��\��Z�%zв=��;i�H��A�ŧHj�P����f���Z�b�J?���A���M^�(�-u�X݈b.}�Y.K�'u��5E��;ḡ�*s���ű
[0ir�[�� 7�
��\����$�~0"��|
7$u9�zQ��r֜�L̩����9=
�N���E!(
{����#p�
���:�Yǝ3&S�+m�6`9���z^CBc��V{:[ճA����د�Vb�����2�
���mY"���*�GK���i��I�R�)�9b�]&�W��P�c�M�
���
�%�
>��u�!%r�Ў'&�ڊDmŴS�(�&r

-Aw>�����!�l��+�H���e�c��̲Reަ��-�4c'C;����
'�w�C����s��� �B
��ܪwcD�H ����U�oV��ݚ-D2��\$����T7������
�+���K"��Q��]/X��˾4Iƻvա���7���G�솈v5��&��I��gO���Z�O����[%��m��U�1��0�X��
T��e�������Q�D{���o�'���F��{�-���v�K���(�뚃�a6������T,�*�,5{�����#
D{�s�1�ز���b1�|��ޔ�*��5+ux
���@3�Ќ	=� D<(���C �j}��b��� ���1���Q���P����
��i��W.���?*�

-��m������m�%�`�˒���/K��- at q�NSh ~hA�a����
I���m7;�dss�=}���b�$�V�K�ސ����L������.)���*��B�cp��
�@׬�=��V��C��n�	?�H��u]W'��f�A�DM�+�x=��l������/����%)/�6؄�@���/L���B$�c�
-endstream
-endobj
-1190 0 obj <<
-/Type /Page
-/Contents 1191 0 R
-/Resources 1189 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1150 0 R 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1188 0 R ]
->> endobj
-1150 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 682.026 198.363 692.93]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a392557cee71bc7b2eb23f07a9d788062) >>
->> endobj
-1171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 638.666 215.13 649.57]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) >>
->> endobj
-1172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 595.307 201.302 606.211]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a6b7400f7e25b1bb473b2fc16c0c90b32) >>
->> endobj
-1173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.696 504.526 374.148 515.429]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.419 492.57 262.551 503.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 319.286 157.417 330.19]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) >>
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.232 319.286 238.482 330.19]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.135 319.286 327.876 330.19]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.454 319.286 442.704 330.19]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 275.927 191.16 286.831]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 275.927 252.31 286.831]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_ae62d06b1c82e9d9f4f12bbb3c6f4bcae) >>
->> endobj
-1181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 232.567 191.16 243.471]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 232.567 257.849 243.471]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a148544cb9ef5bf6b9a60ee56655bff26) >>
->> endobj
-1183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 189.208 185.651 200.112]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.149 189.208 205.855 200.112]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_adc27929d7731cdc3beeba475147e3127) >>
->> endobj
-1185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 145.848 215.13 156.752]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) >>
->> endobj
-1186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 102.489 201.302 113.393]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a4738abd11cb0fdcb233ed4f18c874d56) >>
->> endobj
-1188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1192 0 obj <<
-/D [1190 0 R /XYZ 89 770.89 null]
->> endobj
-1193 0 obj <<
-/D [1190 0 R /XYZ 90 703.252 null]
->> endobj
-1194 0 obj <<
-/D [1190 0 R /XYZ 90 703.252 null]
->> endobj
-1195 0 obj <<
-/D [1190 0 R /XYZ 90 660.012 null]
->> endobj
-1196 0 obj <<
-/D [1190 0 R /XYZ 90 616.653 null]
->> endobj
-1197 0 obj <<
-/D [1190 0 R /XYZ 90 550.666 null]
->> endobj
-548 0 obj <<
-/D [1190 0 R /XYZ 90 437.872 null]
->> endobj
-94 0 obj <<
-/D [1190 0 R /XYZ 90 428.456 null]
->> endobj
-1198 0 obj <<
-/D [1190 0 R /XYZ 90 340.513 null]
->> endobj
-1199 0 obj <<
-/D [1190 0 R /XYZ 90 340.513 null]
->> endobj
-1200 0 obj <<
-/D [1190 0 R /XYZ 90 297.273 null]
->> endobj
-1201 0 obj <<
-/D [1190 0 R /XYZ 90 253.913 null]
->> endobj
-1202 0 obj <<
-/D [1190 0 R /XYZ 90 210.554 null]
->> endobj
-1203 0 obj <<
-/D [1190 0 R /XYZ 90 167.194 null]
->> endobj
-1204 0 obj <<
-/D [1190 0 R /XYZ 90 123.835 null]
->> endobj
-1189 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1215 0 obj <<
-/Length 1118      
-/Filter /FlateDecode
->>
-stream
-x��WIs�6��W�Vr�� pwO��L�f&�Փ��@$3����� E%�庚i���}o�����~^��W���4�+�V�'(a���l�Q�cl�LlYW��_
�̳�`����*�V��l���M�
ǥ��s�4���o�pHl�2� ��Q`������].f_f��Q��VZ��>ak
��F^[��Pa�ԃgn��~��g=!28#�]��-�r�V�]�&Y�fU)-�_�
l��GI��w�<+9��X���jU�]8`���F��l�+���g���}���W/i��F�"����3�Na;@��)���g S�M���^
N���(�S

-
- '���?M�K��&9J`Y�.؟����I���UX@��N0����	ǺJ���-�	�omL���u:�}�@��^ly�k
�6�*½��rh`�r���1�9C�F~��̡��*0EoHH�$����"�E�K�cS��fr#
t5hpb"���}%�c�ʳT}��+��uՕ�
b3����f�A���M�)�����=0�ȁHcNY1���
JQ�S�TES�/��uy�M��dz_dV2�]��u�f-/jS����!���o�{4ט)�����YB&I:~��t�B���-z�I�l�������d��!�
��
qQ�\���E6�գ�
��gl��Y@��0�z�}
Q���	��CzeD� 4>mH�jr���)���
R�P����T��
�@�
�
��XB����$c�R���7�����|�
���i�p�g/��2r��O��
J���[�[���
�
qԿ���Y��~�������7�I�Ԝ`f�S��������
��u�^9��?�/�U����o��X^���z�� �1����DGj�
N�J����	RO��۽z׼����S�Cy��
�ɂ�Q��;Y�B�D ����
-��4�>���J/
���7�0�������ێm��_d?���?.~p��������4l	�jv��
-l'�J��u�s���O˼�*A�{.R�(&CCh��l>��v(mPWf�@Y;��|�-�F)�(�k)C�)*��Uŋ�?A~�|�Ne��M��iX!����
-endstream
-endobj
-1214 0 obj <<
-/Type /Page
-/Contents 1215 0 R
-/Resources 1213 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1187 0 R 1206 0 R 1207 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1212 0 R ]
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.839 683.238 346.346 694.142]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 442.194 191.737 453.098]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_a8be9b5793c5bcbd09cbe45d5def529d0) >>
->> endobj
-1207 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 401.696 215.13 412.6]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_aad362521f7fba585112f1a2a5aea3d96) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 361.198 201.302 372.102]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_af2e1b75d9c8484321bfc25bb122970b7) >>
->> endobj
-1209 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.664 275.71 352.491 286.614]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 263.755 221.326 274.659]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.058 219.384 111.962]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) >>
->> endobj
-1212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1216 0 obj <<
-/D [1214 0 R /XYZ 89 770.89 null]
->> endobj
-1217 0 obj <<
-/D [1214 0 R /XYZ 90 721.073 null]
->> endobj
-549 0 obj <<
-/D [1214 0 R /XYZ 90 553.055 null]
->> endobj
-98 0 obj <<
-/D [1214 0 R /XYZ 90 545.427 null]
->> endobj
-1218 0 obj <<
-/D [1214 0 R /XYZ 90 461.99 null]
->> endobj
-1219 0 obj <<
-/D [1214 0 R /XYZ 90 461.99 null]
->> endobj
-1220 0 obj <<
-/D [1214 0 R /XYZ 90 421.611 null]
->> endobj
-1221 0 obj <<
-/D [1214 0 R /XYZ 90 381.113 null]
->> endobj
-1222 0 obj <<
-/D [1214 0 R /XYZ 90 321.207 null]
->> endobj
-550 0 obj <<
-/D [1214 0 R /XYZ 90 211.918 null]
->> endobj
-102 0 obj <<
-/D [1214 0 R /XYZ 90 204.291 null]
->> endobj
-1223 0 obj <<
-/D [1214 0 R /XYZ 90 120.854 null]
->> endobj
-1224 0 obj <<
-/D [1214 0 R /XYZ 90 120.854 null]
->> endobj
-1213 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1251 0 obj <<
-/Length 1210      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L ���Z��$M��V��� �-E� U�ō�T]l�j���G �.��
 ��<���8�
�c�(�h䍦^��8L��7���!�?��yA� �F�H�^��qt�qt����F�?{>a���
ʼn��{w��7��w
FA�x+=i�4��»����GM!bt�ԟ? ��O��y!&��2ի3�/��*�I�kua&!�#��L詵Y��e�=��駱�4m!e%k�q Q$F
��ѣp��\�
�&�i%M�y̝��׶��	�sۙ�RH�8#������	+�ʧ���˙�ǘ�BS�@�H�� ��&�&�{J����S�=�����-(�w�S����q&�<��Q����1�ݐ�Yp9��EU��D�q�?H.�o�6
.�4n�TH�$}Qf�4�?�UE^��MS����-��lL�)ˊ�^J�����m�	 9���C�gf�1V���̌�tQ�1�e"�`:@�	9��s�R�"5
�	���:�/�3��=f�Ɏgx
{	
��pJQR��u��,����)gʇ��>_iy�F�ګ� \�V����=�W^����m8�Wa�is�/�Z ��g��$��L�o���MhI��@��hJ]6�	�8�
�v��� F!
_��e%�*������$W���5x��s�v���'a
P
7ɥr���;~0��n���v��ԥ�;��7�1�
��g��BD��
�ϒUB�Ҹ� ���6R�3� [���|<Y�g�8��V�V�9oڒ	p
-Y�
�
��\�s�D���/�(@���y)i��Yg�`֭k�셐C\�^�> 	D,���cI����� [��^�-���y��͙�I)�
c�&�
����eҊ�3�Q��gw��_���?�Z�l���	B�=b���|�ۇ{d�(�H���x�ˊl�j�ݘ�����:~�˅^�}m�K'�<g�6׾
�)����_A^��>B����@��4
�S�
���T��o�$@f��a�
�?��F�~n�c��������!�Z�1
��P�F}e�e���~��z�Io���NL��y?1�w��󙗳%�YQo�Ax��2;�[-�w>c}��^.�IY�oN�rs�To9�*V�?@ԭp�� ��Z?+�ig��JHK�c�,.���j��-�|!Q�
�b��CV��s1k_��Ԇ�
��4�SX�\(她�'�-����)�
{
-endstream
-endobj
-1250 0 obj <<
-/Type /Page
-/Contents 1251 0 R
-/Resources 1249 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1225 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1230 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1243 0 R 1244 0 R 1245 0 R 1246 0 R 1248 0 R ]
->> endobj
-1225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 505.904 180.391 516.808]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.889 505.904 200.037 516.808]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a6bc9034f4ee160b652dea1e7491d9401) >>
->> endobj
-1227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 461.676 191.16 472.58]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 461.676 263.777 472.58]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a48d809046b22a739fd5517edad4ff203) >>
->> endobj
-1229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 417.823 159.927 428.353]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 417.823 189.845 428.353]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) >>
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 373.222 215.13 384.125]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ad96733e3e3c9087e06a052e5af198ba6) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 328.994 201.302 339.898]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ace05db6f6b402898007ea5bf6ea4a831) >>
->> endobj
-1233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 235.605 179.254 246.509]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 235.605 235.981 246.509]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.797 235.605 317.046 246.509]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.949 235.605 372.966 246.509]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 191.377 179.254 202.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 191.377 196.689 202.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a32f03a57929a179098fc098b1e848d13) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.504 191.377 277.754 202.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 147.15 179.254 158.054]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 147.15 202.228 158.054]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a0ba2ee1968e041e2fe2863cdc8a70436) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.044 147.15 283.293 158.054]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1243 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.196 147.15 339.213 158.054]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 102.923 179.254 113.827]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.752 102.923 194.467 113.827]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ac47942ccd3c17f5253701494570fc0b6) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.283 102.923 275.532 113.827]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1252 0 obj <<
-/D [1250 0 R /XYZ 89 770.89 null]
->> endobj
-1253 0 obj <<
-/D [1250 0 R /XYZ 90 721.073 null]
->> endobj
-551 0 obj <<
-/D [1250 0 R /XYZ 90 626.833 null]
->> endobj
-106 0 obj <<
-/D [1250 0 R /XYZ 90 616.875 null]
->> endobj
-1254 0 obj <<
-/D [1250 0 R /XYZ 90 527.564 null]
->> endobj
-1255 0 obj <<
-/D [1250 0 R /XYZ 90 527.564 null]
->> endobj
-1256 0 obj <<
-/D [1250 0 R /XYZ 90 483.456 null]
->> endobj
-1257 0 obj <<
-/D [1250 0 R /XYZ 90 395.001 null]
->> endobj
-1258 0 obj <<
-/D [1250 0 R /XYZ 90 350.774 null]
->> endobj
-1259 0 obj <<
-/D [1250 0 R /XYZ 90 257.265 null]
->> endobj
-1249 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1268 0 obj <<
-/Length 1140      
-/Filter /FlateDecode
->>
-stream
-x��W�s�6~�_�[a�����>]�L�w3m�}�e2�-*ps�_�I���3���V�o�oao�a�j��j����'��h�6��^
J�#����`DH0'c�J�.�����A�ur�g�:�O��*�N�Rsʱ�6O��
��F�_�7���Yp�z?�X����{���Q,�t7����^��0bRx����
)�g�}��:ï
���ȝ�j�,Wk�;U�:���,ڐ�<:r�=0Ba
Go̚<+��f��� ⾝UeV4f�H��ku�
sF���������-ژg����*���Z���f�Mgr@ޘL���&�,�
;l�</��Ǭ�.�>H�B& ���|���w�jr�����I��  }a=?k}�7y��Xnj��
#A�yF-�>�ݽ�,��iG1ù2��T�$�uc�YG=e��4ް�|Ô����Ҝ����h�g#j��N�;h0� �����R�%u�kC�# �z�RM`��� �䷥�|Ƙ��2q��r��tk֓N� � [...]
�����"��S�,�.���+��`��� ED�K�#�M�SZ���6�b/�
�]īm���H��� ���
-� EW��V��Vp�PLNgC
�*vң1;�^;=Gz-���H�I]/>�-vBs�1
-��@�g���N
�55�S
��u�Uzh�#9��������L2S�������|fQ��{v��(��]�����|65fTNq�@*#���D��hUiUC���w�m��QnF�
-�!q�o�m�
q⚄E���TM*��!�iA���`�cAN
-���H�����/�J"���hX
�GH⑆Nu�*�O�1�ﴱ����6v�s	<ٳ�+��q��u
����׹�P�&�&d��
SwQ�m��1����Ty�H�r�������I�L?]���$�
-@�>'�v�l����F�M 7�$��~���.�ܷ����$7�VԦ
-��a6%�U��<}R��b���s��g
�#R�H
���4�r�x||Di��EVi�5���ϓ~������ڸ�ݮ��։�-z�7�a��cv��/�Y��
�
-endstream
-endobj
-1267 0 obj <<
-/Type /Page
-/Contents 1268 0 R
-/Resources 1266 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1247 0 R 1265 0 R ]
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.572 682.483 357.395 693.387]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1269 0 obj <<
-/D [1267 0 R /XYZ 89 770.89 null]
->> endobj
-1270 0 obj <<
-/D [1267 0 R /XYZ 90 721.073 null]
->> endobj
-1271 0 obj <<
-/D [1267 0 R /XYZ 90 560.414 null]
->> endobj
-1261 0 obj <<
-/D [1267 0 R /XYZ 90 536.977 null]
->> endobj
-1272 0 obj <<
-/D [1267 0 R /XYZ 90 536.977 null]
->> endobj
-1262 0 obj <<
-/D [1267 0 R /XYZ 90 399.319 null]
->> endobj
-1273 0 obj <<
-/D [1267 0 R /XYZ 90 379.124 null]
->> endobj
-1263 0 obj <<
-/D [1267 0 R /XYZ 90 233.302 null]
->> endobj
-1274 0 obj <<
-/D [1267 0 R /XYZ 90 213.107 null]
->> endobj
-1264 0 obj <<
-/D [1267 0 R /XYZ 90 77.486 null]
->> endobj
-1266 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F88 816 0 R /F92 1102 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1283 0 obj <<
-/Length 1412      
-/Filter /FlateDecode
->>
-stream
-x��WKs�6��W�VjƂ��C�4q2I󪭞���� )E� ����%J��I�KO|-��o�ow��u��W����)r�'4	� �A�%�
��8�~^�	�$C$O`�y�������ŕ�6�XL����b�3�fA��\��^�	0��,�7F� �\��j��?�
-!�{&�p�(��3�1UWt���h��x�e�5R?��������m��;���M%ne!���t>�Ń���~+j^ț�o���,�J����̲
�����Hpk2r<F6 at c {k��
�Y(�p?��rƬ�+��l:K�?��,�]
��DW��v�%�zY+�᰻���	7��^�B��Kw�"�"���FG3���7@� >�{0 at d9�
f4A$�풋o%o��j�v��m����b���}݉
�����n{��\&�!�1���N6S���z:��4+{5�EI�5�f
4ize�����
�x5�QB�P�Q@8�[��;5:v�b-j�D����uJX��kE�h
!F�1�T[�

��,�.`LRdcI1'��
_}˜���li�CGK1%8�*��,�zz��
m
�#�Q�{��_K@߇-�;��l
�1�F�Ʉ
��y]���o�_ʪQ��;fgNc����B�,��0vB+Q����
-��Ra?_*&�c�Cz�C�~��$��J��%P�f4C8��wg�l�~�.L�����l�u����k:�amyΗn�l6{v�T�EI�k/ L+>!
� ��I(��%��llu=c��mC���RL)L�Q
ڶ���Һ����V������o�
T�]dϷP\����.��5������C��Ujg3�v��(u�<�>�S�����2�
��[ϑ�}]

-b��
�h�up�ӊ\����y�^v���YB���$6̧(���`R�޼ૢ�
�K���.�s��@�[��^TK��±�o���	�5m���Q���BG�|����Jc�4Gk��p�1Y�:�E`�� l�Q�7�~��
-lGS�G�
9HSt����pY�+��(
�;���
���h�]y�9V���:u~|h:���Ag�\J~MF�fd�s����ñמ���k]S� ?�W�������<٩���J��w��<y^pUJ�n�铵��(�8�Qm�
-@�g�3������
�:��%�U�l$67��;�/��l�l�L(ޙ���C�/P65�ZC=�nW|��z�TgÏ��5��P��MJ�

�(�����İ`�O��0J���ɛ?xP@����Lei ���`��iSP�ݣ�N��[;�؇7���E���.�+�t�^����MO�wE��*��bK�TC�e���W�;p,"����qR *#C��v~~~�J��Z���m��ùe�ʏ�d�զ�܍��	$=�%n��m;�(�~&���
-endstream
-endobj
-1282 0 obj <<
-/Type /Page
-/Contents 1283 0 R
-/Resources 1281 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1280 0 R ]
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 294.692 190.054 305.596]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 255.177 215.13 266.081]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a7695c9f42b5164da2b71e7a2b1382d06) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 215.663 201.302 226.566]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a58d5c27c8e3d638fc7d25ee54d04b08c) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.628 131.994 351.772 142.898]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.82 120.039 219.642 130.943]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1284 0 obj <<
-/D [1282 0 R /XYZ 89 770.89 null]
->> endobj
-1285 0 obj <<
-/D [1282 0 R /XYZ 90 721.073 null]
->> endobj
-1260 0 obj <<
-/D [1282 0 R /XYZ 90 586.363 null]
->> endobj
-1286 0 obj <<
-/D [1282 0 R /XYZ 90 571.05 null]
->> endobj
-552 0 obj <<
-/D [1282 0 R /XYZ 90 402.897 null]
->> endobj
-110 0 obj <<
-/D [1282 0 R /XYZ 90 395.884 null]
->> endobj
-1287 0 obj <<
-/D [1282 0 R /XYZ 90 313.996 null]
->> endobj
-1288 0 obj <<
-/D [1282 0 R /XYZ 90 313.996 null]
->> endobj
-1289 0 obj <<
-/D [1282 0 R /XYZ 90 274.601 null]
->> endobj
-1290 0 obj <<
-/D [1282 0 R /XYZ 90 235.086 null]
->> endobj
-1291 0 obj <<
-/D [1282 0 R /XYZ 90 177.269 null]
->> endobj
-553 0 obj <<
-/D [1282 0 R /XYZ 90 69.186 null]
->> endobj
-1281 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F92 1102 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R /F83 414 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1315 0 obj <<
-/Length 1296      
-/Filter /FlateDecode
->>
-stream
-x��X[o�6~����d��y��{��&h�]�=���ش�M�<I���#��%Gv�,ƀ=������s!��t�s9�e2]؉P�Sߙ,�;����m�ܺ#†
���8_��u�<>�y
Ou����x|����R�2��,zT`�C�~��
�I��t&a-�8u��M��&������
-Bg���ag��
�X:�z����o��
~�}�"!���r�}���
ᷰÎG9b<�&��YKXT?%*���#��d)�kl7v���D�H� 0��	�F�m�5�s��ս]�b��J��E���i�a�#�B�"L���)�9��|i8��
8�� �hM'���k���ʿr���


do�~8!����}p����G4
-��ײ��!�|��!�n��w�m�|A����Y��!Z9�2Ծ��|���u.�:
�DO����o
����g9���a���QW��k�Z&h�F�׫��0��8B�hƼ�
�c�-
2�R�a:S2-O�c��I?TR:	�=P(xG���Aʰ(�hȋ{M7
�M���E�)B�k��f�%U���ҐT�_F����3,�Ҹ��W��ޔ�J�f���b��t�Y��
8���ڤ~\dPu�R�m� �i��!�12��&��>1�� �'�$�We�2</%e�u�R`4]hk��
� T��{5�#!.�$�)��ԛ�!S��_�
��6z���6餄Y%�iUE1}��3�,!�S�5���RC�'
�ц{٣����:���x<����L4�;���rm���7��Z�3J٣��
-1zL �iS�G=Kp0n��XB�F����L��������V�ի� H��sڡg�Γ�is�-M�is��(�X%���(�Y�ֻy�32�������? =w�v���>˿V�f����ИYdI�U
-�B�1���b��x �Z��r��
�������J�U��
������Z*�H��w1��f�Uӄ���R1
5�+l{�(<��g<�&�"�*ɠI��z�+�&�@�-B����(n���� �fFpHn�l��2q�R~�����u��8x�w7��&���-��UǶ �R��
��'O������@\�jX6�N얾�%X7��z��E�_����G���q���K����t��n����{!�B�ɯq��ǷJ ����C@�ъ`��n��~5:���A��n�0
-IS

�r=
���-�h��u�T9Z������J�Z�;�,l
-]e���8�0��d ��*��	�� �,n�
-endstream
-endobj
-1314 0 obj <<
-/Type /Page
-/Contents 1315 0 R
-/Resources 1313 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1205 0 R
-/Annots [ 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R 1297 0 R 1298 0 R 1299 0 R 1300 0 R 1301 0 R 1302 0 R 1303 0 R 1304 0 R 1305 0 R 1306 0 R 1307 0 R 1308 0 R 1309 0 R 1310 0 R 1311 0 R 1312 0 R ]
->> endobj
-1292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 629.976 203.633 640.88]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.131 629.976 223.279 640.88]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_af9bea7ee11ebcb0cecdd692bdb9db064) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 592.415 191.16 603.318]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 592.415 263.777 603.318]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a49b4dd80b18b196615f00feb7c4c2276) >>
->> endobj
-1296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 555.226 159.927 565.757]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 555.226 189.845 565.757]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) >>
->> endobj
-1298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 517.291 215.13 528.195]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_aa32ef5503c68b0c2ccbd8d69251ecfd7) >>
->> endobj
-1299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 479.729 201.302 490.633]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_ae846d01ef7cc5222216fcac8f2d255c9) >>
->> endobj
-1300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 400.841 202.497 411.745]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 400.841 240.962 411.745]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a27971df55a7b8e685f759f3001b0aef8) >>
->> endobj
-1302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.778 400.841 322.028 411.745]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 363.279 202.497 374.183]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 363.279 244.818 374.183]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a5037c7ed51734dd6cb0c14811401e100) >>
->> endobj
-1305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.633 363.279 325.883 374.183]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.786 363.279 381.803 374.183]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 325.718 202.497 336.621]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1308 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.995 325.718 246.502 336.621]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a14fa7f266812072de5d2cafb578f2146) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.317 325.718 327.567 336.621]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1310 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.47 325.718 383.487 336.621]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1311 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.681 244.499 388.747 255.403]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1316 0 obj <<
-/D [1314 0 R /XYZ 89 770.89 null]
->> endobj
-114 0 obj <<
-/D [1314 0 R /XYZ 90 721.073 null]
->> endobj
-1317 0 obj <<
-/D [1314 0 R /XYZ 90 648.304 null]
->> endobj
-1318 0 obj <<
-/D [1314 0 R /XYZ 90 648.304 null]
->> endobj
-1319 0 obj <<
-/D [1314 0 R /XYZ 90 610.862 null]
->> endobj
-1320 0 obj <<
-/D [1314 0 R /XYZ 90 535.738 null]
->> endobj
-1321 0 obj <<
-/D [1314 0 R /XYZ 90 498.176 null]
->> endobj
-1322 0 obj <<
-/D [1314 0 R /XYZ 90 419.169 null]
->> endobj
-1323 0 obj <<
-/D [1314 0 R /XYZ 90 289.625 null]
->> endobj
-1324 0 obj <<
-/D [1314 0 R /XYZ 90 171.232 null]
->> endobj
-1325 0 obj <<
-/D [1314 0 R /XYZ 90 148.92 null]
->> endobj
-1326 0 obj <<
-/D [1314 0 R /XYZ 90 148.92 null]
->> endobj
-1313 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F88 816 0 R /F92 1102 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1336 0 obj <<
-/Length 1247      
-/Filter /FlateDecode
->>
-stream
-x��WMs�6��W�Vi�� � A�Z��$�Wm��x<4Il�U�����.@i:q&���p��}�����������dqb/B��[m�{a!�a��n��ݮ^{>�D
>�V�޿[��[]�w����	�W�#�{�B�%���{kX~�a�G��wF�P��w=�m�m(�ɐD�0�����p�9�U��E݅0t����(�/���M�-�4��J����lq�'N0CD0�j��e�}1��<���lvR�tW��V�lk�UcF�F�Ҥ��F�ο4&�"�}�
����e�Խ�w�n��Qn/?��ʤ)UW�9
|Ĉ����u'�OK1�uěagM0">����c<���I�ٜFdz����%��b�KX��<����a'�*���{���o�\�a��F�P���j��3�&-d���?WjF�Tֵ-��� ���.@=�8�3H欔���$�G�2�D�Y�:�q/16Q��	z0�I�
r� ���6�) /@ $�oy-�V�,�aSv=8B�M�f��
-��/P��
g����d G��HCg�z�s�PHHC?�[��兯�L��
����p�H
x��r�-U9*;�(���
���i�m��*SC�������6�u0>-:�0�n�}Mr♒�1,^Lr��"��VX��I�:��T�NgO?�ui����<�}��t����030����9Ҧ٥��7
-��d�L��n#1�1
���
�� k��5u����@�m�a�+��|��N��M�J`!�,@�
G"�8�,h
-&.
-ۅ�e��@ѸK�[ڸ�t?�FI�v��܌�dkH+m�7��]nSf��7-��͘fr���#��o�
u[	��ou�m �-L�xFA2�G�A�f[�F�ֿ P4���Lq�]?ԍ�I�
Q��i��"k�X����K�O��ę>���u?���x�)�b=~h�n��������-��|RԁO��[�������p
�6lc#҃ӟ��xб[�B�n�YC��B�En�6�=$������.0@�{M�6��N
-��2���g�����7��Z0��h��9��2��Ͻ�vWZ(ׇa�
!�,�G+��X?t�Q�Ա�L�ʚ��SA��q�m�u���~�鴜إ�k�~�j�����6Ύ;�� ���(@>Q]Qd*p-�� ��F�N�w̓P�
��������~�GI��"�J�EUe���=E+���994��T�6?ܝ��!|befy�����J��
-O;
-endstream
-endobj
-1335 0 obj <<
-/Type /Page
-/Contents 1336 0 R
-/Resources 1334 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1330 0 R 1333 0 R ]
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.219 213.297 111.123]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a84738aa470464f9f3192817554d26d30) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1337 0 obj <<
-/D [1335 0 R /XYZ 89 770.89 null]
->> endobj
-1328 0 obj <<
-/D [1335 0 R /XYZ 90 670.265 null]
->> endobj
-1338 0 obj <<
-/D [1335 0 R /XYZ 90 655.71 null]
->> endobj
-1329 0 obj <<
-/D [1335 0 R /XYZ 90 528.887 null]
->> endobj
-1339 0 obj <<
-/D [1335 0 R /XYZ 90 514.332 null]
->> endobj
-1327 0 obj <<
-/D [1335 0 R /XYZ 90 387.385 null]
->> endobj
-1340 0 obj <<
-/D [1335 0 R /XYZ 90 372.83 null]
->> endobj
-554 0 obj <<
-/D [1335 0 R /XYZ 90 206.662 null]
->> endobj
-118 0 obj <<
-/D [1335 0 R /XYZ 90 200.008 null]
->> endobj
-1341 0 obj <<
-/D [1335 0 R /XYZ 90 119.175 null]
->> endobj
-1342 0 obj <<
-/D [1335 0 R /XYZ 90 119.175 null]
->> endobj
-1334 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F92 1102 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1351 0 obj <<
-/Length 1189      
-/Filter /FlateDecode
->>
-stream
-x��WKs�6��W�Vj&� ���77�=v�ij9';��)HFJ�, U�� %R~�q{�A#�\�~���r��U����ϗ��I��
�	M��e�� �s��-���`D�xB0�a�՚ϛ���
�祼Q\�

�U���	y)�ce���ZTf��{!#�j<�
��K��[^�� �,U!Ɠ$I�0N�_/�G/G�`�q�J��X����`����<
���:�i�e0�>��=�w�%=7	NP
eAJ"ĹzM)k�wǂ�	�+n�2�
��>3JV+/m1��{ў�2\R��us�վ��
Ï
�u�@Jd�6�-ZJQ�`B�H��^�Q��$��mM����
�����۩q���qX�{�ꥅ4=ɢ
�%)�k��[���'A��z�B&4b��
1�i��Pb���B"��ig�1�"4~A���!?(�	�"���I
�<���
#�K��0\�]�|�P�q�`@
n9c�9E�p����F��X��g+%~%*����F�I���r/�o� [...]
-g���Od�S��#,=�����!�6���8>҅g�����
\4jS�Z!���=F9™o�Q/yޢ9�!���BY¼��g+�����{q- P��wQ:�z#ˮ���a�vfy�5�V�L�g�+��qvo֊���Y˞�*�����U�/t+�6�3�
W�%Y-l
-, n�ﲰQ�!%s�J���RT���-�
�I���j�?�;��vcg�4N�_�,��r|� }m��'o�]zt�Es8#����?o`��.y���UY�C{x�c�
"�«]w�KP�B6�k�"��6���/���v5ﶿ��w��~[q�y���Wuf/O˶K��-�Oc�B�O��t�+�ڮZ��e @��e'^P5���㏠[�b�=)�(#��׭1��t��nQ�Ѧ��B�L����o {-r6�_�v)��U�'��D���ѶrI�}i�kq/B
-endstream
-endobj
-1350 0 obj <<
-/Type /Page
-/Contents 1351 0 R
-/Resources 1349 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1331 0 R 1332 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R ]
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 707.957 215.13 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4e33) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 668.365 201.302 679.269]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) >>
->> endobj
-1344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.169 584.554 392.556 595.458]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-1345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.489 572.599 301.554 583.503]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 413.255 234.059 424.159]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_adf699afd1b4f9dbc15fd31424e9d15e7) >>
->> endobj
-1347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.627 170.1 246.21 181.004]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO_a2080ebe48063615d891b98ef65f2ca71) >>
->> endobj
-1348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1352 0 obj <<
-/D [1350 0 R /XYZ 89 770.89 null]
->> endobj
-1353 0 obj <<
-/D [1350 0 R /XYZ 90 721.073 null]
->> endobj
-1354 0 obj <<
-/D [1350 0 R /XYZ 90 687.827 null]
->> endobj
-1355 0 obj <<
-/D [1350 0 R /XYZ 90 629.846 null]
->> endobj
-555 0 obj <<
-/D [1350 0 R /XYZ 90 521.668 null]
->> endobj
-122 0 obj <<
-/D [1350 0 R /XYZ 90 514.607 null]
->> endobj
-1356 0 obj <<
-/D [1350 0 R /XYZ 90 432.597 null]
->> endobj
-1357 0 obj <<
-/D [1350 0 R /XYZ 90 432.597 null]
->> endobj
-1358 0 obj <<
-/D [1350 0 R /XYZ 90 374.736 null]
->> endobj
-556 0 obj <<
-/D [1350 0 R /XYZ 90 278.513 null]
->> endobj
-126 0 obj <<
-/D [1350 0 R /XYZ 90 271.452 null]
->> endobj
-1359 0 obj <<
-/D [1350 0 R /XYZ 90 189.442 null]
->> endobj
-1360 0 obj <<
-/D [1350 0 R /XYZ 90 119.626 null]
->> endobj
-1349 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1375 0 obj <<
-/Length 1347      
-/Filter /FlateDecode
->>
-stream
-x��WKw�6��+��9�I�l�]�dz2��L�Mfǀ n�Me;L��{%Y�CI���,[���~�!�
��4�q:�
��(��3]9vB?B,���yr}>�:}�xG$
-�~{�������A}�L
|�1�
-���
��bg	��;ywvz������0�e�ϚB"��$� ��`��;��
9
Q��wU�(�<3��|QmDV���2
;#ꣀ
A�Ԣ
-�u�#�f�8$�}Q?���}(e����m,7�l����b)�Y��e,_'��O��N��Y���3\�;��8o��1qN,�p�l�` �2j�|?
�(r���7�Gpf��5ɖ �l)��s�x� �Ғx�˧1�l�J��I)��/SY��F&f��ֽ�8`�rmQ���Z�"�gOB��ю)���'À�f#@�F�����Q^S�LҤ|5|[uط�kR���<(Vl
%`��̿r��*Ő0�[�tVټ8po�Qy8�
-Bߘ�Ya�x#J!��齔�@�G@�
�M�֑�!�*N�wE^Ʌ}�ԇ��<]6����e�����.�k�#Hڀ���>e5�(�GF���>jZ�y+�$c���$8��r��#۔P-�F�:��Z�
��u�omI�)wʧ�G��g.�iz�+�!�nU�s>����!�C���̹e%FYq6V=�2���ͤ����($
h��c�N�:�oR{�H�~��,�k�	�V�J�tVy��C��]��
-�TL:�:t��
-��TMJYwד�շ��o��ŋ
7�Ww
�J�H��`�l�qú۞�4-f7��\�n�- -t��P�+>�]"��s\�~#ȂW�En�j�Q]��ɺM�q��Y#j�N+Q���:=�^
���<�C�U������;q3o�u=x�7Q��� ���|b�k�eO�C������3E�OuihM�+p��բB\tJP'-�a�ԇpE�A/l��kQ�Ij�u-��L����+-`_`�����~��1��}���f9T�X�ښ.�����þc�5��A��
-����͞�L
�ا�����
�ENA�"�R9�ʡ��*F�D�1��?
����9R7j�Ё0N�۠
�N�~@Ңx�vB��Bg���j�6�a-��Q����=�&Q�E1�������~��Qm&�ly&�
�ń_u%�e�ӣv
��-\�[`���o�� E!䵞OC��B���A����K�Q/�/f��8d�ۥ�|��u�kQ�\Z��{�c!�wC�ܺ��Y�æe�(�p�i*
��j^h�`�>��A�w�>��:m�I(NB;�>��v2
�v;�(P�%[��r�ݦ���FˇBh�4e�KQς����{��m�,�"��-��
-endstream
-endobj
-1374 0 obj <<
-/Type /Page
-/Contents 1375 0 R
-/Resources 1373 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1362 0 R 1363 0 R 1364 0 R 1382 0 R 1365 0 R 1366 0 R 1383 0 R 1367 0 R 1384 0 R 1368 0 R 1372 0 R ]
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 317.082 215.509 327.986]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_a5b5e4c1fe8b8af4696ac7cc839fb3b40) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.625 110.199 408.678 121.103]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.987 110.199 513.996 121.103]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 98.244 245.674 109.147]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.591 98.244 465.892 109.147]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 98.244 513.996 109.147]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 86.288 272.713 97.192]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.772 86.288 513.996 97.192]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 74.333 116.46 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1368 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.326 74.333 358.55 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1376 0 obj <<
-/D [1374 0 R /XYZ 89 770.89 null]
->> endobj
-1377 0 obj <<
-/D [1374 0 R /XYZ 90 721.073 null]
->> endobj
-1361 0 obj <<
-/D [1374 0 R /XYZ 90 703.958 null]
->> endobj
-1378 0 obj <<
-/D [1374 0 R /XYZ 90 703.958 null]
->> endobj
-557 0 obj <<
-/D [1374 0 R /XYZ 90 427.194 null]
->> endobj
-130 0 obj <<
-/D [1374 0 R /XYZ 90 419.739 null]
->> endobj
-1379 0 obj <<
-/D [1374 0 R /XYZ 90 336.739 null]
->> endobj
-1380 0 obj <<
-/D [1374 0 R /XYZ 90 336.739 null]
->> endobj
-1381 0 obj <<
-/D [1374 0 R /XYZ 90 277.541 null]
->> endobj
-611 0 obj <<
-/D [1374 0 R /XYZ 90 180.547 null]
->> endobj
-134 0 obj <<
-/D [1374 0 R /XYZ 90 173.093 null]
->> endobj
-1373 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F92 1102 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1413 0 obj <<
-/Length 1476      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�Vr�� ��÷$�3I��vz�3
��$�|�|�q}H�zK���b�"���o���3o��+
-\�wS#�����p71�M�	�!��
^�<\���\L
-
&�����ůq&x���(,⛢,�<
��b��1�b�U֐2l�KxY��1ju	k��3���z�i��n�瀀�� J!�<߈���WlL��OFv��͢�p�
��v�� ﵍D�2�s=N�His-�1��\_�YT�e�L+nt��Y�E��CJ�(y���+ʀb�-��00�

��/�ïI��:�-�??`���/
�K�xdM��l�3|0�u��`��PcH��FTu�iX���:e��|*��|{E� j{�C#��ǥZ���F�K�E<�l��A��i�� '�
m�q�Cb�@vv٫�<�
-
U��'�T&��gHb��;��P��G �� �^p&��C.
4��+!_ũ(O�]�E����-"��
��af>��j�>EԷO���k�(pw��s#΀��+#^gp~�i��;q~�2a9؜qy���!�
LT�9��n@�~z���r�w��L�$��4 \����S��>2I���Ŧ,�$�6����V��񬝛A,H�nfj]n�"�f����(��I�.^�y:T�-��4�r���D��Y%��'�N��u��p'A��`�� F����\H����ţ�T���s�}B�#|NϤ׃��=?
�y����y\��"I�o�Ά:
-�uE-����%�2y�h*�5<[y��O� �
{�
r����.	z�
��o�����(��s���(�I��4��L�u�e�
���A^=4Z�֎+i�E�����z�4������Ŗ�#"��QQϖ�"6��_k�!
�f�L
:6b�.&>"zdr)*
'�u)ʨ��.L��7���o��
,ky-dLv�
���M�7�z���	Y��i*
�[���������Kv�Rp!�S��R�凔T�Ts^iETIc	A��8=
Fͱ�z�8��mN�<U�n���
���-BDD���zmg��[�ۤ
�N�x�1��-c�Y��.�F;�����xݶ�ᗦ-��Җ��h�
�V讛�Q��~��Zڈ5'D�)ࣤ�o$s�+��=ƙ�I�KK��C"������t�!�	������Q�]��5S�� �>P�x�A��^uPz
ml���l��e��}�u)k��Q�}�梈�r�
㎭���m�vA�"�8��)nx�$��
��'�3���P���_�٤K�*?��mb�g��,J�
���8��?0B��@�|�0pQ���� Ժ
����L
����`K�f����*g��<��|�E}���a�v<���Oc��gu۾� Qh��Y`���
�~D݊��3�0ګ_d$�)��_N��U���
QT�:����b��6�e)�y�����4/M 5=��l�<xIז���7F �߲Ό

-endstream
-endobj
-1412 0 obj <<
-/Type /Page
-/Contents 1413 0 R
-/Resources 1411 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1369 0 R 1370 0 R 1371 0 R 1385 0 R 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1394 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1401 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1410 0 R ]
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.067 191.16 695.971]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 685.067 210.258 695.971]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_ad3d011ec5cd66a3e9bf71053d6b818b5) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.074 685.067 291.323 695.971]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 645.903 191.16 656.807]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 645.903 225.192 656.807]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a3866453e844ec10e038e9ae2b336159d) >>
->> endobj
-1387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.007 645.903 306.257 656.807]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 606.738 191.16 617.642]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 606.738 215.239 617.642]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) >>
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.055 606.738 265.072 617.642]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 567.573 191.16 578.477]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 567.573 245.675 578.477]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a2a76c9ab182bf0cbd015cea16a24c635) >>
->> endobj
-1393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.384 528.409 224.634 539.313]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.132 528.409 248.703 539.313]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af5d9b1e4dec7faf038dd87f36773252b) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 489.244 215.13 500.148]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 450.08 201.302 460.984]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a491b55e596bb0dc1e707355a1b2169b5) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 411.289 205.147 421.819]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8) >>
->> endobj
-1398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 371.751 313.052 382.654]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a4cf0e5fe5ff7c8b23e809eb6ea8f9f2c) >>
->> endobj
-1399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.69 288.73 351.94 299.634]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.302 276.775 273.728 287.679]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1401 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.238 276.775 405.493 287.679]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1402 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.003 276.775 511.506 287.679]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1403 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 264.82 213.575 275.723]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1404 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.564 264.82 354.137 275.723]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 144.866 305.978 155.77]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1406 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 89.432 240.166 100.336]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab531066aa6dba222c8c61a8c3978257d) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.981 89.432 289.998 100.336]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1414 0 obj <<
-/D [1412 0 R /XYZ 89 770.89 null]
->> endobj
-1415 0 obj <<
-/D [1412 0 R /XYZ 90 704.196 null]
->> endobj
-1416 0 obj <<
-/D [1412 0 R /XYZ 90 704.196 null]
->> endobj
-1417 0 obj <<
-/D [1412 0 R /XYZ 90 665.151 null]
->> endobj
-1418 0 obj <<
-/D [1412 0 R /XYZ 90 625.986 null]
->> endobj
-1419 0 obj <<
-/D [1412 0 R /XYZ 90 586.822 null]
->> endobj
-1420 0 obj <<
-/D [1412 0 R /XYZ 90 547.657 null]
->> endobj
-1421 0 obj <<
-/D [1412 0 R /XYZ 90 508.493 null]
->> endobj
-1422 0 obj <<
-/D [1412 0 R /XYZ 90 469.328 null]
->> endobj
-1423 0 obj <<
-/D [1412 0 R /XYZ 90 430.164 null]
->> endobj
-1425 0 obj <<
-/D [1412 0 R /XYZ 90 390.999 null]
->> endobj
-1426 0 obj <<
-/D [1412 0 R /XYZ 90 333.926 null]
->> endobj
-612 0 obj <<
-/D [1412 0 R /XYZ 90 214.317 null]
->> endobj
-138 0 obj <<
-/D [1412 0 R /XYZ 90 207.522 null]
->> endobj
-1427 0 obj <<
-/D [1412 0 R /XYZ 90 108.561 null]
->> endobj
-1428 0 obj <<
-/D [1412 0 R /XYZ 90 108.561 null]
->> endobj
-1411 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F95 1424 0 R /F93 1136 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1450 0 obj <<
-/Length 1136      
-/Filter /FlateDecode
->>
-stream
-x��X]s�8}������Z��#om�v�ݶ��}J:
��M�p
���� lǮ�4���>x 	]
�stu1AcD����A��OP�C�yh��� �
1��i�n-N��K�x���T���/��/��׻���Q�"���
����������Z����e\3t���G
�]W�{+)���

0_#�c�+4�x	�
\�{��	��
-�،[w��8y��ĊJ��x>�
a��'���H�Q +�\�ư�2ԧ.f>�
����+[�%F��è�K��-1ӗ
-��|�{��7Y�
���͈�ؼ^�E����P���o`23�>��?�� Г_�|��xUʍ����ld��gK}W$
�i�wͰ�s�N�I��.Ü���i�Zĵ�x��L�2�ZTk�7}�m�g��w$��fX��){�
4�<���He��}J��sQGi֨s.��Lg5ė�7! ��
7ԁ�m�I��:^�i���,<)���6�R+��Q{���sT�*	Eu;CR��YM�,���¦0�y�\�Q��L�zRdY!�,ZE$�L����֞
����� ��$O�1�܃����)�	
��k�d�(9��i4��r"Fe4���2*���+�K#�i�ݐ�f�g
k�b�w�:yR�Dمms����g�j�>�Q�u�2v��CH0�\���-�k�t(桁p5���XC�,�����0�c��7LgO
t�N��a'[�>BT���N�AA��vH��^����ٷѮ�Zm�liM0��|�=��
��rC��#&o��Gc��H���(m�B9�Bڼ���c��f��C���V�
vdf"��X�JG��k��x�y���\�)��[�'��H
O��
�i�2��n����x�Vx�{
~�j�X���^��+M���|��y������%v�Z���vg/t��`����8����
�Uf{.���+f�Ϳx��R؁�4�x8�ak(S@��>�D�a�:
W��e�yljY�T\������
�;���hlB}�kQ&���)v�U�����2)�s�ϣ�nSӃ�]���|-R�d��6T�ĺM^ӌ����?��le�
�
-hk�I]�NON��+<��Y���d6�N���U�\췻��؛��"�� ����8i�M�'⺲��B
�5
-endstream
-endobj
-1449 0 obj <<
-/Type /Page
-/Contents 1450 0 R
-/Resources 1448 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1408 0 R 1409 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R 1443 0 R 1444 0 R 1445 0 R 1446 0 R 1447 0 R ]
->> endobj
-1408 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 695.674 159.927 706.578]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 695.674 199.867 706.578]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) >>
->> endobj
-1429 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 658.157 240.166 669.061]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.664 658.157 264.235 669.061]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aedf10f9d2de45d7e8de1809d4417741b) >>
->> endobj
-1431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 581.39 159.927 590.236]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1432 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 581.39 182.632 590.236]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aab30b6ef6e87a1df35c14d15237af04c) >>
->> endobj
-1433 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 382.051 305.978 392.955]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1434 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 328.462 238.482 339.366]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad6e4fdbf5475e6d24aaffaceb4a4abf9) >>
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.298 328.462 319.547 339.366]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1436 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.008 328.462 407.258 339.366]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1437 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 290.944 191.16 301.848]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1438 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 290.944 252.31 301.848]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad213660ecdcc0e4142a2fd7536489781) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 253.427 191.16 264.331]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 253.427 257.849 264.331]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_af0e7fc37eefdbd145c4e9203cfd5e5e7) >>
->> endobj
-1441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 215.909 238.482 226.813]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.98 215.909 262.551 226.813]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 137.085 191.16 147.989]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1444 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 137.085 205.277 147.989]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a87e8e31d3cf9dbe3c2e1041ea8ccf873) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 99.568 191.16 110.472]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 99.568 205.825 110.472]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d) >>
->> endobj
-1447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1451 0 obj <<
-/D [1449 0 R /XYZ 89 770.89 null]
->> endobj
-1452 0 obj <<
-/D [1449 0 R /XYZ 90 714.099 null]
->> endobj
-1453 0 obj <<
-/D [1449 0 R /XYZ 90 676.582 null]
->> endobj
-1454 0 obj <<
-/D [1449 0 R /XYZ 90 597.638 null]
->> endobj
-1455 0 obj <<
-/D [1449 0 R /XYZ 90 597.638 null]
->> endobj
-1456 0 obj <<
-/D [1449 0 R /XYZ 90 543.282 null]
->> endobj
-613 0 obj <<
-/D [1449 0 R /XYZ 90 453.31 null]
->> endobj
-142 0 obj <<
-/D [1449 0 R /XYZ 90 444.638 null]
->> endobj
-1457 0 obj <<
-/D [1449 0 R /XYZ 90 346.767 null]
->> endobj
-1458 0 obj <<
-/D [1449 0 R /XYZ 90 346.767 null]
->> endobj
-1459 0 obj <<
-/D [1449 0 R /XYZ 90 309.369 null]
->> endobj
-1460 0 obj <<
-/D [1449 0 R /XYZ 90 271.852 null]
->> endobj
-1461 0 obj <<
-/D [1449 0 R /XYZ 90 234.334 null]
->> endobj
-1462 0 obj <<
-/D [1449 0 R /XYZ 90 155.391 null]
->> endobj
-1463 0 obj <<
-/D [1449 0 R /XYZ 90 155.391 null]
->> endobj
-1464 0 obj <<
-/D [1449 0 R /XYZ 90 117.993 null]
->> endobj
-1448 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1486 0 obj <<
-/Length 1110      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W�Vr�� ��oM
w�63������ �)E�����@�-Y�"{�' ��}�a� ���|FW�"�Է�s+�V�E��ЛY�6��gH0�v���y����O�dZ�����$��||,J�����$�&w��R���S^U�y+�B��b�
�S����z�q<�o@�-l�CAhū��Wl�`���ȍBk�&�,���L�����jD� B��Ȅt)j��b���U\&E
�K�FW��0��!���E��x)�W�d�PfC`:(9����^;z��*�t[8�ـ�ƪBr=�	�O��
-yܬDVs��筡z�����0�Uy�Y�L��6A��|e>�X��2�u�-���i*.3[���sC��up~��mO�2 vC�
.�`B߸C�� ��X�"ƨD{hs=�Ao���������)[�2��F)�r��[��tL�z�

6��̥݊��.�i�ik�?��T��_5Y,5Wm��ԩ�"�y{d�3��B�L����^��C((�����QF��ҋ��V������=
-\{(�T��I�Y�>�n�|�Mĵْ�m��آЏ
-6�۴/Eh��y�ԽR܇�_$��z�r鱕Ǧ�R��L��l�����9O;�0�hߣ���l:p���� �iE
�Lm[1�'KvR%3�O�?C����2��(��-�x˭���
	�#H
/�1�� h�j����L˷��}����!
�oIse��Hx�Y��y�&�o�
٪+iо6O��
������F
�y
)�T<��u�Le����=��#ϲ: ���v��O��X8%��
-x��'J�i����;!~RZ����
i��YH�#B���*�^��T
���
G?z	�
|�͇�v��v����?E��S���!�M�;����8�w��]�H�@�W�U�u��
p�Q ���S,
-{8�H|��m�8��\o�F��٢��ԧ��\I������/cv��g�5<u�s�A�.�gj0D��<ޑ3t�ԝ0E��_˴��مn�H��t'Ų����h�^��BM�%J�QQ�����)6x�k�_���D ����a �YI�V*/���;�;��
-endstream
-endobj
-1485 0 obj <<
-/Type /Page
-/Contents 1486 0 R
-/Resources 1484 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1343 0 R
-/Annots [ 1465 0 R 1466 0 R 1467 0 R 1468 0 R 1469 0 R 1470 0 R 1471 0 R 1472 0 R 1473 0 R 1474 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1483 0 R ]
->> endobj
-1465 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 564.822 305.978 575.726]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 510.193 214.413 521.097]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_aef62be6cb1c9f4c4f3aff2c5f456c374) >>
->> endobj
-1467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.228 510.193 295.478 521.097]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.939 510.193 383.188 521.097]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 471.581 191.16 482.485]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1470 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 471.581 252.31 482.485]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8bacbf073ef0e1064e8c53ede4ad59bd) >>
->> endobj
-1471 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 432.97 191.16 443.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1472 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 432.97 257.849 443.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae42dcbc09bb42d181a19512206d15f70) >>
->> endobj
-1473 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 394.358 214.413 405.262]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1474 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.911 394.358 238.482 405.262]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) >>
->> endobj
-1475 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 313.947 191.16 324.851]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 313.947 205.277 324.851]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8d44f98f79421126eba1448fb80331b4) >>
->> endobj
-1477 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 275.335 191.16 286.239]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 275.335 205.825 286.239]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae1191ef860c3201d40fa4e20fd02ba2d) >>
->> endobj
-1479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 74.333 305.978 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1487 0 obj <<
-/D [1485 0 R /XYZ 89 770.89 null]
->> endobj
-1488 0 obj <<
-/D [1485 0 R /XYZ 90 721.073 null]
->> endobj
-614 0 obj <<
-/D [1485 0 R /XYZ 90 634.385 null]
->> endobj
-146 0 obj <<
-/D [1485 0 R /XYZ 90 627.409 null]
->> endobj
-1489 0 obj <<
-/D [1485 0 R /XYZ 90 529.046 null]
->> endobj
-1490 0 obj <<
-/D [1485 0 R /XYZ 90 529.046 null]
->> endobj
-1491 0 obj <<
-/D [1485 0 R /XYZ 90 490.553 null]
->> endobj
-1492 0 obj <<
-/D [1485 0 R /XYZ 90 451.942 null]
->> endobj
-1493 0 obj <<
-/D [1485 0 R /XYZ 90 413.33 null]
->> endobj
-1494 0 obj <<
-/D [1485 0 R /XYZ 90 332.799 null]
->> endobj
-1495 0 obj <<
-/D [1485 0 R /XYZ 90 332.799 null]
->> endobj
-1496 0 obj <<
-/D [1485 0 R /XYZ 90 294.307 null]
->> endobj
-1497 0 obj <<
-/D [1485 0 R /XYZ 90 238.245 null]
->> endobj
-615 0 obj <<
-/D [1485 0 R /XYZ 90 143.896 null]
->> endobj
-150 0 obj <<
-/D [1485 0 R /XYZ 90 136.92 null]
->> endobj
-1484 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1522 0 obj <<
-/Length 1144      
-/Filter /FlateDecode
->>
-stream
-x��XMs�6��W�Vq�� ��o�cg��Ij+�8DAR�dAҲ�})S4%�I�63=$���{o
bkaa����d0>���У�5�[!�|7D̃��u3d��<��
/@$������w��w�k�np6�5 �
-[�|ϐX�jp�[3x|aa䄁��&�,�:p������7B!��r��
Q���b5ʌ��$*d��U0���9�Z���\'�F�"/4�>Qʶ>1
P�z%Wo�͈a<�M&��۳�L�<W��aC��>a��f�~����4s�2��i$ER�~�i�z��Mr%�4}� �Y]��[ �
�K�q5V�W��g�A�'�N���0�(N�,�M�f ���'pe;�pQ�`y9�
cO�&
ꠐ?>SO"�3���7�u�ϰu�_����ڏ�NH�C ��~K\��TI�A�rM��k�\��N�jH�8��V,en&m�&�����2�� n����a���3a6ܛ�a��7caS�c��㨞�崝 ��FQ��1�	}�=�إlw�@ދ�JL_�i�"{؀]&wԒNO6rB���r
h��1S:��(3cPr�	/
qxcF��4F"Ϫ~���ǥ�b��
��{��ucS4�$��d�4
����r��&
�DG����kQp7z}-�Hɬ���P�|9��'S�lխv�m/b���{����
%W�Ԯ��<�v\�Ҩ� x��8O�c27�����&૾Y �o�u��U��yǩ�g�iFtd�8ٮQ��͍�
�|�F�/\}�=򺲃 	
-��>׎
X�uj>3�V�6K㇥�)~˩�����U'a��c/o/eR$NO
T.��sQ	nd��
-��7p�u��$=B5s{�T:Xذ�G��M�
�&K�d���j���30{h'� ���w,o�z���1OjŒ�#S�;�N~��\��
!��
�埶R;���O�}O�prP����<D�

����z�P�G�7��q}� �?t>h)׷�����]���\�ˉy͓E����I!Լ*�Q��c.�O6c��K��<�7¹�ޅz���������E��D���ѯZ
��N
-@�o@^Ev2
��k�Ld��,�Y��fO-���xS�W���a�z�^>|b&���*�l3
L�
�2�
-endstream
-endobj
-1521 0 obj <<
-/Type /Page
-/Contents 1522 0 R
-/Resources 1520 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1480 0 R 1481 0 R 1482 0 R 1498 0 R 1499 0 R 1500 0 R 1501 0 R 1502 0 R 1503 0 R 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1519 0 R ]
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.267 220.699 696.17]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ad5e935cae93921ba42abc76cf8b00c6a) >>
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.514 685.267 270.531 696.17]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1482 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.434 685.267 315.622 696.17]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1498 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 646.377 220.699 657.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a5bc40b8b8e15d365bba5c33ada0aef18) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.514 646.377 270.531 657.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.434 646.377 357.684 657.281]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1501 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 607.487 220.699 618.391]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a6dec5edff0aa73961373ed7e1b9e0729) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.514 607.487 301.764 618.391]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1503 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.013 607.487 356.03 618.391]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1504 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 568.971 159.927 579.502]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1505 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 568.971 204.221 579.502]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a48abd01c599231c78e6927ec9350b348) >>
->> endobj
-1506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 529.708 191.16 540.612]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 529.708 263.777 540.612]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_abf685a2367ea144b9f11f11d0591dbb6) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 490.818 220.699 501.722]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.197 490.818 244.768 501.722]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 412.03 159.927 420.877]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1511 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.425 412.03 182.632 420.877]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a1871d52b1c98e5fe6554bbc339a0c3f1) >>
->> endobj
-1512 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 371.083 191.16 381.987]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1513 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 371.083 226.706 381.987]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a4c1125e6621d0624a864f5f81046f3f8) >>
->> endobj
-1514 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 155.179 305.978 166.083]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1515 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 100.254 251.483 111.158]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) >>
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.299 100.254 332.549 111.158]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1523 0 obj <<
-/D [1521 0 R /XYZ 89 770.89 null]
->> endobj
-1524 0 obj <<
-/D [1521 0 R /XYZ 90 704.258 null]
->> endobj
-1525 0 obj <<
-/D [1521 0 R /XYZ 90 704.258 null]
->> endobj
-1526 0 obj <<
-/D [1521 0 R /XYZ 90 665.488 null]
->> endobj
-1527 0 obj <<
-/D [1521 0 R /XYZ 90 626.598 null]
->> endobj
-1528 0 obj <<
-/D [1521 0 R /XYZ 90 587.709 null]
->> endobj
-1529 0 obj <<
-/D [1521 0 R /XYZ 90 548.819 null]
->> endobj
-1530 0 obj <<
-/D [1521 0 R /XYZ 90 509.929 null]
->> endobj
-1531 0 obj <<
-/D [1521 0 R /XYZ 90 428.964 null]
->> endobj
-1532 0 obj <<
-/D [1521 0 R /XYZ 90 428.964 null]
->> endobj
-1533 0 obj <<
-/D [1521 0 R /XYZ 90 390.194 null]
->> endobj
-1534 0 obj <<
-/D [1521 0 R /XYZ 90 333.706 null]
->> endobj
-616 0 obj <<
-/D [1521 0 R /XYZ 90 238.343 null]
->> endobj
-154 0 obj <<
-/D [1521 0 R /XYZ 90 231.721 null]
->> endobj
-1535 0 obj <<
-/D [1521 0 R /XYZ 90 119.245 null]
->> endobj
-1536 0 obj <<
-/D [1521 0 R /XYZ 90 119.245 null]
->> endobj
-1520 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1553 0 obj <<
-/Length 1086      
-/Filter /FlateDecode
->>
-stream
-x��WMs�6��W�V�@ 	~��4v&n<�8N/NFQ�̔"Y����%R"m�T��=p�,v߾}
�B�����L/�"
��G�Kx�>�-НE	f��PB�U��"O��B�Y�̕Pgg�L
-5;�Q(���,�$�f����J�<���8�~MEY����zp�߀������rr~;�sB�?����� D�zr���|�D�Q���5�
�}�|����{!R�c�
��)�a~e����7���q����9
@؋U�y|Z�h�]�k�U���W�	\tdM�!G
-! �k`
�
C�p�M�ndU�̀[��7"�e�M�
O/Bw�V���Z��R.����ݠL�
�V��%~�ݝ��
��#p����?F~�%�ͮ��.O�B����O��m��
��з8/
�S��R�
@lT��a"�c8
-=��uK���q%�ޛ�R��fĪ!�c�k�;���*�P�(�������{�)d>����P��
�an�t152�NV"I�$��e���2��C '
v�h+�E9`�-��
��,mӢ���}~�P�4�>�#ۋ<neh��2W;���zkSXԼ�d&��9�T�z$:�<Ms�qk�d+۔a�<V^OJ��!58���w���YS��)�8g:kf)�Ä���َ��ͱd�o�̓��nȠ��.
�o8�!��*�:�8P�� ��}�?�e�0S���<Mb��\ϥ����↋�)a�CJi��-� X��雗j'}]��� �&�e��ɮ
�|4x�}
+%������	��s�����aS���}�0����վ(�
,Y�[	����O9�nx��'�ܹ�R{�g���M���
������{����͏��|�ijs�7ύ
�,v�=�m����E�55J,�ʕ����
��7
Odj�#�A0ƻ��Q��pbe�
������ �ӧ{�9��#R]7�4��H��Q��_.�s��lU��1�!��Z���ͧ/�T�؜[�+��"�{��@�]���FA��`��tF���~k���� �������*Φ��v���YR(�TӢH��w;+��#ڟ��
-[���P�]9Lң�
ƭ��|�ƿ �Rbk
-endstream
-endobj
-1552 0 obj <<
-/Type /Page
-/Contents 1553 0 R
-/Resources 1551 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1517 0 R 1518 0 R 1538 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1550 0 R ]
->> endobj
-1517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 707.957 191.16 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 707.957 231.1 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aab53a108e173a6657e2af82a66ea3737) >>
->> endobj
-1538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 669.479 251.483 680.383]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.981 669.479 275.553 680.383]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2834d46309af2717b28dc79843e1331d) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 589.262 191.16 600.166]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.658 589.262 206.194 600.166]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2f88b2137b58031e4838f19daff12f4a) >>
->> endobj
-1542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 388.715 305.978 399.619]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 334.212 229.336 345.116]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a642f2ab97bf846e69686a874001a9930) >>
->> endobj
-1544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.152 334.212 268.34 345.116]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 295.734 149.098 306.638]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1546 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.596 295.734 189.038 306.638]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a5c54fa6c29a576ab9de69361d15f8b17) >>
->> endobj
-1547 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 257.256 229.336 268.16]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.834 257.256 253.406 268.16]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_ae2482d18059a20a1cea2423a8b3d1043) >>
->> endobj
-1550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1554 0 obj <<
-/D [1552 0 R /XYZ 89 770.89 null]
->> endobj
-1555 0 obj <<
-/D [1552 0 R /XYZ 90 721.073 null]
->> endobj
-1556 0 obj <<
-/D [1552 0 R /XYZ 90 688.384 null]
->> endobj
-1557 0 obj <<
-/D [1552 0 R /XYZ 90 608.048 null]
->> endobj
-1558 0 obj <<
-/D [1552 0 R /XYZ 90 608.048 null]
->> endobj
-1559 0 obj <<
-/D [1552 0 R /XYZ 90 552.299 null]
->> endobj
-617 0 obj <<
-/D [1552 0 R /XYZ 90 458.485 null]
->> endobj
-158 0 obj <<
-/D [1552 0 R /XYZ 90 451.301 null]
->> endobj
-1560 0 obj <<
-/D [1552 0 R /XYZ 90 352.998 null]
->> endobj
-1561 0 obj <<
-/D [1552 0 R /XYZ 90 352.998 null]
->> endobj
-1562 0 obj <<
-/D [1552 0 R /XYZ 90 314.639 null]
->> endobj
-1563 0 obj <<
-/D [1552 0 R /XYZ 90 276.161 null]
->> endobj
-1564 0 obj <<
-/D [1552 0 R /XYZ 90 220.293 null]
->> endobj
-618 0 obj <<
-/D [1552 0 R /XYZ 90 126.479 null]
->> endobj
-162 0 obj <<
-/D [1552 0 R /XYZ 90 119.295 null]
->> endobj
-1551 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1583 0 obj <<
-/Length 1440      
-/Filter /FlateDecode
->>
-stream
-x��XI��8��W����(��%}���CC�s��b+�o�r�ï��$;Kw�2��K"K*U�W��ZK˵���
F�"ך�IHBk��&����Z���w>�^Z^8Fx��}�������]\���\
k� Ec+��?�V
-�/-y���V�r�'
�g��ு{R�ƚ紙g<q�$p�+�ϙ��gM�H^��;n�,w��!�5$E.�~ $أ���Q����~����\�$����mª��
)lle����Xj�j��<:����|���r�>��؇��t��Id)
����
�
�Л �=D:䰋H��3�.(�I�3�j	��:�W� 6���z�kg��N�B[�z���z�z.+
�]3���8�ez�(�
V#gx�=[��
��m�r�ыs�'��`�J���~`/ (��8Z$L������S�
Z�_M�@k�
:���H����&6`�QRR�Y�[�=G���
�ي:ĵoxi�r��J��+�HCZ�ɲ)����L[:�"_�6�X�e�䬐TYJM-:^r�k=J2Z�����M�G���e~��Ԇ���$c�~�R B
��SQ�>i�ZVT{
��6Q�q�|D|����ߊ���U�mV,4��\P����z1��*c��g�(�d��[�`j��k|��7 [...]

��Ė����a|�,��~���ك�+R������JU]h-*h��䑣d�*�;\�)q����k�� ��{��F-�_T�CQg߈�.Y~Hvδ��y�P?|�37����:�<N��:{��Z��ccȩ�mv5�W8^d�J���W
(���
{;�	�n9���-Dw�{bb�I��;
�( K��"���u��������cN<�IpF�q!2~(]c�'KI�8gy)61/��F�,i�����w
-�sP���j��b�4�"i~x��=٦7�Ǐw3�i�
>�!˜|냚zH��h�=�u�n� ��@���0U�
���n�������?^�^��2-�
]���X,ԻC�f���x��m0��EӁ�ZW;��6�.��Hkt�
=8�u�D#�Ս�l]���I �1��J��b4Z��(�QS�J .GU���^Cw��
k�Y����h�]�ckI���3���W�Z`
-endstream
-endobj
-1582 0 obj <<
-/Type /Page
-/Contents 1583 0 R
-/Resources 1581 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1549 0 R 1565 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1578 0 R 1580 0 R ]
->> endobj
-1549 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 685.255 210.527 696.159]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_a11bc5303b1d7a594017971538e60858f) >>
->> endobj
-1565 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 394.35 264.491 405.254]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
->> endobj
-1566 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.672 380.713 345.558 390.618]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 357.463 242.354 368.367]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 320.576 208.312 331.48]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.81 320.576 315.797 331.48]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a23fb2ed36793d2fa8974d9b6c3f93705) >>
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 283.689 229.362 294.593]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 283.689 275.021 294.593]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a896ee4273234f7c7181d76bdd9260f) >>
->> endobj
-1572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 246.801 228.785 257.705]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1573 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.283 246.801 305.586 257.705]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acaffbc7bc53bf538c9d8a75cb4a7e872) >>
->> endobj
-1574 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 209.914 234.334 220.818]
-/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1575 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.832 209.914 314.313 220.818]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae1db1d48c605e6f79aa78ea2a4a9cda7) >>
->> endobj
-1576 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 173.027 226.314 183.931]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a7fa63d4674ffff39446dd46ed0c26e6f) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 136.14 212.486 147.044]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 99.253 268.376 110.156]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a52edb70858467236238aaec3b1884d37) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1584 0 obj <<
-/D [1582 0 R /XYZ 89 770.89 null]
->> endobj
-1585 0 obj <<
-/D [1582 0 R /XYZ 90 704.255 null]
->> endobj
-1586 0 obj <<
-/D [1582 0 R /XYZ 90 704.255 null]
->> endobj
-1587 0 obj <<
-/D [1582 0 R /XYZ 90 647.852 null]
->> endobj
-619 0 obj <<
-/D [1582 0 R /XYZ 90 540.516 null]
->> endobj
-166 0 obj <<
-/D [1582 0 R /XYZ 90 533.884 null]
->> endobj
-1588 0 obj <<
-/D [1582 0 R /XYZ 90 435.331 null]
->> endobj
-1589 0 obj <<
-/D [1582 0 R /XYZ 90 409.441 null]
->> endobj
-1590 0 obj <<
-/D [1582 0 R /XYZ 90 374.577 null]
->> endobj
-1591 0 obj <<
-/D [1582 0 R /XYZ 90 337.689 null]
->> endobj
-1592 0 obj <<
-/D [1582 0 R /XYZ 90 300.802 null]
->> endobj
-1593 0 obj <<
-/D [1582 0 R /XYZ 90 263.915 null]
->> endobj
-1594 0 obj <<
-/D [1582 0 R /XYZ 90 227.028 null]
->> endobj
-1595 0 obj <<
-/D [1582 0 R /XYZ 90 190.14 null]
->> endobj
-1596 0 obj <<
-/D [1582 0 R /XYZ 90 153.253 null]
->> endobj
-1597 0 obj <<
-/D [1582 0 R /XYZ 90 116.366 null]
->> endobj
-1581 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1633 0 obj <<
-/Length 1921      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�RU�I�s�NeR�d6�؛�L�EK��
E*%���A ES�dI�Aht��7��� ?^�������A�␆��<�q y�Dw��ˈ`D��`�G˴Z�ɲ̟լJ�<�����ݻO?�$7՘D��>W��
-<z��Z��g5W�cULc��#!��}�����+�����Q0]\}�3��c���ਖ਼�8ep̓۫߮�waG B$
-a�$b��J���/
�LX�u6�b�
1R�����UZ�����q��Yh&��s����+~d뙿¹� 6Cnؤ��BԲ��QM���tǘ��5�s;�
�Y1�x�N�,-j7;��Lz)4H��bL�

�3�^W-&,D8��2�߇U1���О����O���l��c��-]v��1�
J�(��c�6�Wf���M���a�X���4`����u'
 �4������&Ȑ
I;�t��$S�R�e�|�*[g�)
�
,�1���k@��$H�FN(A�^
-�t6K�2��d�-T��V%i1K��^�v����e�&��
?�
����#���x�'�H�����b���]3��M��+��n�Zc�^���ZM��rώC\`ę���e�u�ც^(�.�w
�>&������ɭ��hd���V��Uu�����>=��u�3e��o5�=�����C"8�?�f�<0>���#Aw:��!F<�	h^�GK��J��{�ou�� �����k�';ˤ�L˥�x���cv7B{z�[�~��Ӽ��QOt�r��}S�)8&�Ϻ�%
Γ�� <�s�V��<`И��xȀ!ف� 
���c'�����0�!��]�x<�d�g�/+����}�a�n[�}�5�1���m^�@�8�#��
*�~�:[d�M��ɢ��u4l�vI|�A>�B­���d/lE\�y�c��;�9r n�j(
-(g�+�|�W.��:�l+�m��62�p=o,�ą
-�L'm�i2���Sl�
�l��Y�q�
z�萋�� 
k؀"p�赪�5xa� ;��[�w��[Uh� ���z�{l�2�2�"��י��g�b~�78A��N��&7�L����Z
��&�]㏪PUj�������1$�����0�Cp#jn{�f�e�k�*V�#�L�T���`KP,�����8Tg�2�������xA���
-Cֆ^Sb�	�N�� ���ѐ�1Bmg��
�[�X�Fi�$	
-%��m��I9F��5�$
�;�2n;�D �ph��M3s{G��tS(	�^I$���!��n
84'��[��U^�{��S�����u�"s�ɋ
-��o!�i���rb5l�p�`�
��EvZ��C
8DQ�Fl����w؜wN��Tg���V���
�UUlW1~W�|����w/`l43: b�"f[�|����
�5��Z�Lj����u)g�/�i��u}�w�^��
��p��]��qǒ�(���hx%�6}׽�yv�#��PZ�+j�(��W�&��+QS�0��F�
]v�
DM�؆M�/l2�0@["
�6D�X-�(y-l��4a�m��V
-��Wf/
ЃSݝ�� ("P�1�K��o+U=�Ϲ�ԏ�ˢ�e�s
7��V�Bժҗy���
 Ge��4}2�H�:�}��I�Aզu�PZz*oj 0�/�8�J{b�iw���
��*�w�m+�b�����Ƽ� �b:���WH 
\��t1Xw蘣�F��4���0b(��@��l����?�!@G���:��d���K$b���yv��p��� ���b�
-�7S�����xX���O
μqQ�MԿ���1b���E���h�U�J�������B0�����g�G?LiGD
-g�6�}����맧'4�hUd�
-e��r�_��*�Y�I����뢬�+q�[t���E.�0oф�mX���M��
-endstream
-endobj
-1632 0 obj <<
-/Type /Page
-/Contents 1633 0 R
-/Resources 1631 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1579 0 R 1598 0 R 1599 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R 1604 0 R 1605 0 R 1606 0 R 1607 0 R 1608 0 R 1609 0 R 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1614 0 R 1615 0 R 1616 0 R 1637 0 R 1617 0 R 1618 0 R 1619 0 R 1620 0 R 1621 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1630 0 R ]
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 708.331 201.946 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a2d9c6ed1390e4148c2fccb3491c7b4a7) >>
->> endobj
-1598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 644.792 192.89 655.322]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af27bf62f81d315063d66dc394ef9559c) >>
->> endobj
-1599 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 611.344 316.306 622.248]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4c0dddb2c112aeef626eef4d7e539d2d) >>
->> endobj
-1600 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 578.271 310.627 589.175]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a7c8c10d940074e8ec96a4d319b88e490) >>
->> endobj
-1601 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.443 578.271 371.219 589.175]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1602 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 545.571 232.192 556.101]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af66f20c1209205a55c53e42c83761b82) >>
->> endobj
-1603 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.008 545.571 279.514 556.101]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1604 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 512.124 236.068 523.028]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a203692374bea9a641aba897049f2ae03) >>
->> endobj
-1605 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.883 512.124 317.71 523.028]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1606 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 479.05 263.893 489.954]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acf903011430930b9c3afca546ecb07db) >>
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.709 479.05 344.958 489.954]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 445.976 267.071 456.88]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ad202d113166e7f68344ee82ba6e7b0fd) >>
->> endobj
-1609 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.886 445.976 353.685 456.88]
-/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 382.811 239.036 393.341]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) >>
->> endobj
-1611 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 349.737 239.325 360.268]
-/A << /S /GoTo /D (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.823 349.737 262.697 360.268]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a31c3eb3b5ccbe373dc04fe4d86234b87) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.663 316.29 288.644 327.194]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a81cb4962caaa75c19cdf6c8a5af4e46b) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.021 316.29 335.844 327.194]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1615 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.306 316.29 457.323 327.194]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.029 316.29 513.996 327.194]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 304.709 146.454 315.239]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 260.302 193.358 271.206]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.856 260.302 252.296 271.206]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 227.229 193.358 238.133]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1620 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.856 227.229 264.491 238.133]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a75aa539f287d460bc26a347512e51760) >>
->> endobj
-1621 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 194.155 230.289 205.059]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.105 194.155 280.122 205.059]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.315 194.155 349.332 205.059]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 128.821 256.859 139.724]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.357 128.821 349.541 139.724]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a54d7ba808dcfc372e231fe597f5daf1f) >>
->> endobj
-1626 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.356 128.821 459.786 139.724]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-1627 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 95.55 262.618 106.454]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_acaf3268d04168d4d22ebe73d9578d7d5) >>
->> endobj
-1628 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.433 95.55 371.757 106.454]
-/A << /S /GoTo /D (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) >>
->> endobj
-1630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1634 0 obj <<
-/D [1632 0 R /XYZ 89 770.89 null]
->> endobj
-1635 0 obj <<
-/D [1632 0 R /XYZ 90 721.073 null]
->> endobj
-1636 0 obj <<
-/D [1632 0 R /XYZ 90 462.179 null]
->> endobj
-1639 0 obj <<
-/D [1632 0 R /XYZ 90 143.001 null]
->> endobj
-1640 0 obj <<
-/D [1632 0 R /XYZ 90 111.753 null]
->> endobj
-1631 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F95 1424 0 R /F39 1638 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1667 0 obj <<
-/Length 2097      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�p�4�H�)ٵS�no��l��"13�9 ͇�ɯ��#�dǛK.ht7��u��֣���\\����H��w��2��(#q��{������+/LR²6�����͋�o�赋7/,Q������+�o�S���W
%a�z�h�EA������IU#�Y����v(���V� �~�J���p+F!���e�L���Daꭃ��Q�L�A<ۃ�h��8��p�]ǔ�?����u[�Ub?� �Z�w4�U���P)�0�N8;�8�R�*��VA@�(��,"�Ũ����JwH��[y/�
-�
~4�*�}�Yv�k'5I��G[$4��B����j�]�ֳ�T��C�/3-�'�0�?R���}�iE��Z-q��~F�_�^��y
n�K1g��(��[�d���
�>���e��3�NBi�Y����8���	3�ꚼ8
Vʝ��eN���,t�
�H4�,%1e�f�b��~'P`a<�b��������'�G�c�-	��Ǚ#��
��f�%�^���fPE�|�uHI#����ܰ��a:
tĐz�w��[��J#��	�D�f`��`_��,JH�S���/ �����ßB��,�us���,�:�$࣫
v�����iJ�,|��֤
-�b����|�
-߯�Z���DSmZ!�y�k*į�y'�5+[�U�}�Ճ�(��>W��Q���w�%�8�h�L��d�lt_:%�z���{�
-��m�g�W�\��_���¼�V>SԾڥ�(
T^�?���%�Agf�L�P9�Q@�(ŭ �AB�
-�����e%��Z����37�y��
�ɠ
�O�Q%T�	�-�
Lؖ�4 ���pl���=!L4���Q����b����5�1_E�w����C�9���zɹ^ѩ^����iiz:�eN�ىG=��t^�@�QH
�� p�Z�{Y���y�N�gO�K��86�1�wci{�^�j=�?�,�	2h��ϔ����ph�
hbP�r~ֽ�U7W���Y�[�Ls*�~��$w8�b�Z������
-;f����v_qX��~7���G=g#PT�q�A�ʽ
���<�#���6W[�������Q�$h-
�����3� ��M%
�W$�"u(�H_��j��PAt���o��|I�����]
i�4Htw�3��๋�& ���܉��EH��O'�.� P�mU��$�1
ĄP�,օ,���v�^솦��
-E����TE+ 
��B6��j@��H�l��5=3š
�A	,���c�if�cn
�
-@��/�e~�����'= b��.�T�F",�A,�5̯�������)�q��#p'B�=D�P����RO���8.T��C"Tm�\&�m�!c�o
-�������@�P�^��
�0�X�L���lج�o�U"�!��jP��T��(qB3���J��/KmaK��¦��X�
�[�{3UQO�st&� :��T��Sut8����z���/7�	j� �
�V���/
��r�3Z�VC.���v&�(׀��������� ��%��� c�|J12
��$p/:
Xd
�T�Ď>d��`��Y��Z�@*$,:RC8����:�!�4�� j���{����V
��jr�D,�&���z�u�Ѓ���Ò��
-�N����~Y+m*����P8���
#)|�@��8�NJ�z‹���k
k�_
m
v�Қ��Œ��5�)�h
&9�g�1/Ki�p�q:>'�I��i��v zey��9�P�
���H�T���<[I�������<U;�����=#i6����2ykF.�<zh�q]
�S̛^_,��&���o��:�D�淕�*�
��1V �&"
M���x�K'�Ix�>~�
��$>^ݕ��eL�I���T�=~�pU�e�0 @'��z��J���x}��n�,��(�$���
:
s N��{�m�M�
��k�	^�C皕���p�*��v�qȷ�����
6�G0�['�oW1t����u�b��>E�$@D6�7�Z��������*e�yn��������):2(ٴD�WMS]=�7��Z��7c?Y�¶��4�k[�H* ۛ$x�������
-endstream
-endobj
-1666 0 obj <<
-/Type /Page
-/Contents 1667 0 R
-/Resources 1665 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1629 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R ]
->> endobj
-1629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 683.608 172.361 694.512]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4dfc6347addaec85187c46bff12def97) >>
->> endobj
-1653 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 645.211 172.361 656.115]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_aee14b86bac3475fb14914092715b5916) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.298 645.211 306.125 656.115]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.82 645.211 405.07 656.115]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.198 645.211 513.996 656.115]
-/A << /S /GoTo /D (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 583.9 172.361 594.804]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a64a91a5f142efd873b50d2cb7d27e660) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.176 583.9 234.626 594.804]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 545.877 177.83 556.408]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ac2cab9caa4fff25fd03b1012a0c8cf5b) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 507.481 191.678 518.011]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4cdcdb051551e8a23b6ff80a3294c5de) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.411 318.102 342.66 329.006]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.006 226.134 322.456 237.038]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.912 196.555 329.362 207.459]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1668 0 obj <<
-/D [1666 0 R /XYZ 89 770.89 null]
->> endobj
-1669 0 obj <<
-/D [1666 0 R /XYZ 90 704.266 null]
->> endobj
-1670 0 obj <<
-/D [1666 0 R /XYZ 90 602.765 null]
->> endobj
-1671 0 obj <<
-/D [1666 0 R /XYZ 90 564.368 null]
->> endobj
-1672 0 obj <<
-/D [1666 0 R /XYZ 90 525.972 null]
->> endobj
-1673 0 obj <<
-/D [1666 0 R /XYZ 90 470.222 null]
->> endobj
-1674 0 obj <<
-/D [1666 0 R /XYZ 90 159.276 null]
->> endobj
-1675 0 obj <<
-/D [1666 0 R /XYZ 90 136.965 null]
->> endobj
-1676 0 obj <<
-/D [1666 0 R /XYZ 90 136.965 null]
->> endobj
-1665 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F88 816 0 R /F92 1102 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1684 0 obj <<
-/Length 1681      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vi&�� ·��;I�����$��EHfʇBRq�_�>E�N�[{�E��~��
`o�a��ٳ���R`O"����z{—�0���s�
K�1��U���>O�ouT�u�����x��j}U,H8�o�.������*K{�Vou�Xg
�1��9���/gϯg�g��
��s$Bo����^�_z1zw�K��S���n��
�
���B!֏�`	
�U/(��Ubo���b_4�S9/��C\��}���T}����vwo�E~�Io*;�𹻽=dp7ό��˰g
8���\������7/�
�����E6U^�q�Wm�>d�vw3g�&�ʪPqV�f
oIE4
�%�#a�z	U�H�$�X,��=���.����������.c|�|��ⴆݼ�'�9�Dq��%FR��4 >��Ыئ
-��J���n���6	���
�����h��#?d
�׍����8�0��I^����Zо����,W���#(C���yب�#��轁��@�
G�*��Ht��n׺(��3
-��
�En���Ao'p�)bA�
�Ddhm �t�8eD��95y[C�_�1��s��u
�u��c�#�\#�#N� �0�1!�}�s�����;�tJ`��[d��
�d:����9��丅��b��nc�t:1���1N���b�)'�������8ӪX?���e�,;�
"��Vo>My@�`t4�#5�7e�~�Gzjj(3�¦�;��)E��$nx�����%(�-���,�>Np0
Q 
_ӡ��
�$�

�R	��(����jAAd����V�yO�&�ER�"]�n��-�j
�UkXy_�Zn
Ģ/��)5s��
e�[m����:Xs�`J�����9�!*�z�ɑ��鱢���A��c���\&Q ��u�a�FDM$�
�q֧�I�f���#��6
Yݳh��̦]��Ve
�iGE]�v=��hg���xz�h�񏌞�c�˒̰s�k�|�.�iyl�d��<4�!
�C!?۠���tIP�
�P#	M�ɮ�8Z�bw 
�s�BE�t
-P�������\�SΌ��s�*xR�TE@�޽;�������W�gF�&ײU�~�� ��e�!�;�&
�Qܣ'��
��:��}��,���]�U��fR5U���
��D�]�4٬�P���"��`�f��V��Nok.�2\�~�753TS�a)؁����D���2x��/�_WQ ��U���ś��.]�6� ;����U9�'
�fէ �]�\
��7M�3�tA�G��=�
���m��,E��$�k��?�^�
Ѷ�Qa�kM8:| ��8u� ��,c��:ɘv{s� �F������kӺ����/k�|ؓP6LnCܨ�ȉ�`.d[b��J��]8�3p[��4$}�=��I�r��V
L�.��L�jz��i�s���
�RMS�Q(�?Xu��;_�&2�WNpȰ�M�׿���M���iX��c����
=S� z!��c��x2����x��e82�ʀl��
�ܰ�W6A����5�U�;����E ok���U��������Z�2�aC\t�� j����;ݴ��������t.R�($�������
ڔ�����j�OV���f!R��:�
�Ҽp%�	�8�A���8��Ru�C�2s��
-endstream
-endobj
-1683 0 obj <<
-/Type /Page
-/Contents 1684 0 R
-/Resources 1682 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1537 0 R
-/Annots [ 1678 0 R 1679 0 R 1681 0 R ]
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 604.983 406.173 635.827]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
->> endobj
-1679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 353.568 406.173 384.412]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
->> endobj
-1681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1685 0 obj <<
-/D [1683 0 R /XYZ 89 770.89 null]
->> endobj
-1677 0 obj <<
-/D [1683 0 R /XYZ 90 595.098 null]
->> endobj
-1686 0 obj <<
-/D [1683 0 R /XYZ 90 579.15 null]
->> endobj
-1687 0 obj <<
-/D [1683 0 R /XYZ 90 309.984 null]
->> endobj
-1641 0 obj <<
-/D [1683 0 R /XYZ 90 287.396 null]
->> endobj
-1688 0 obj <<
-/D [1683 0 R /XYZ 90 287.396 null]
->> endobj
-1642 0 obj <<
-/D [1683 0 R /XYZ 227.842 210.018 null]
->> endobj
-1689 0 obj <<
-/D [1683 0 R /XYZ 90 191.913 null]
->> endobj
-1682 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F8 341 0 R /F88 816 0 R /F72 273 0 R /F92 1102 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1693 0 obj <<
-/Length 1626      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�V� OTOm��$mӴV{I3
Z�$������.
�H�~�qgz��b_߷
�`�������u���!
��&�q������T����ۀ��8����_ޭ�ޭ����j5�4!����(���0��L�
0b�
�v�!���>���:�^��J2F� "
Q
;�>��Q�eQ[�B���H E������:[.����]����z��a�E@$����ծ*gTL��lN�p�o�o�ey�5r��}�"�Y�����
 QH[���ҝ�����f�A�5�����i���uz��N���S��`�P�.�e��;Uf#='�#N��xK8�ڣ��L�����o�_=�9������sbNZ1b��<�tB�����z���
ET6���1�c�|�uf���n�F��+k�y��(�ޚX��f!��T��l^d�u�ŵۑ�Wz
-��潛=V��^
���9v�wn-����#�����
vQ���b
��*�
�!�s]��� �2����!6���Hun����3�S7.s�L1�
��&�r?#ӻ�ʪ4��7UZ�-�`F�9�V,����.���j�*빵�G��Ǔ�v��d�c*�U���:�Vڙԇ�a ��C�ܦU=b9�(�-U5Y6H�9�!�
Ҝ�fs��\��C�0.��U�M�]���$0�&�~��֍9=���8�����$b����d޴gh�8��!Ë�� h=��)����e\����>ϒ�ڞ@!��c�b:J�2rD+��ʃ�3���㘟1�/���sD�mYi�	B�R����*U�"sj�P�|�~�˰O�ƭ8k �Q]�z��)
-��
-7J@
�P�Y��C
 p���g@�G���W���pf1�y���CL%bO!�c�X����ﲬ��Y�Gc�g�r����Ă�(
�
�6��-uX���tt�8-��� �/04d1hʔ�p�S>d_8{̇�l^P��Nh���Z��
��6�;�lZ;j�ڿ�V�.]��}��/��C�
ה�m�Rݰ�ޥ� �cDۦ��CS��s��8�)�Z at 7�������Ѱ�n��o�]?X���O��j�#��tpm��c5\"�O�pN��x��?�m��5E{$x
\��P�~�
-l�×b.�9�J6 /D$
�Ȅ��L|�
enګ�Pw���Q
-Y��<�ۣA����
ht-�=�ӄQ�Kf��|:�Z�0
|��LeC�����§�Ks���~㔨ӻb6�:�o%��
�BdC���6	�ٻ(�/�肓��/��vD&���Sz�U~���Ur��h��魆�==��p؈�H�����C���
4� "�M�M�6���X�>�T���⋪O�����oƐ
�q���
��-�e�q`��q�Q�ȅ9,t�I��
ta�C׎�[�5�\A%
-�
4��~#)�#�u��
�!�_��58*4ER��\������P��M"P�����'o���}(�7d���S�����ݴ���,�{��of���U1-��/7���P�$A��A������q
�;hF?��P;)8J�6WvZ����|F����X�\/����~>w����]ٔ����PLi�s at k���`�!5л� vX�

-endstream
-endobj
-1692 0 obj <<
-/Type /Page
-/Contents 1693 0 R
-/Resources 1691 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1680 0 R 1690 0 R ]
->> endobj
-1680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.639 679.768 300.161 690.049]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) >>
->> endobj
-1690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1694 0 obj <<
-/D [1692 0 R /XYZ 89 770.89 null]
->> endobj
-1643 0 obj <<
-/D [1692 0 R /XYZ 184.963 646.615 null]
->> endobj
-1695 0 obj <<
-/D [1692 0 R /XYZ 90 630.583 null]
->> endobj
-1644 0 obj <<
-/D [1692 0 R /XYZ 90 501.228 null]
->> endobj
-1696 0 obj <<
-/D [1692 0 R /XYZ 90 487.353 null]
->> endobj
-1645 0 obj <<
-/D [1692 0 R /XYZ 90 365.949 null]
->> endobj
-1697 0 obj <<
-/D [1692 0 R /XYZ 90 352.073 null]
->> endobj
-1646 0 obj <<
-/D [1692 0 R /XYZ 90 220.716 null]
->> endobj
-1698 0 obj <<
-/D [1692 0 R /XYZ 90 206.841 null]
->> endobj
-1647 0 obj <<
-/D [1692 0 R /XYZ 90 77.486 null]
->> endobj
-1691 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F23 240 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1703 0 obj <<
-/Length 1463      
-/Filter /FlateDecode
->>
-stream
-xڭXM��8��W��I�H�eYsۥ��]�Y�=���J�ő��`�_�-Kv�ē�
���h�{z�j� �f�ή^r
$b��@�G�޲��`D�Œ`��{Y��j_�߷*+�*�w�,�__�}}��)$�w��-�����\V�{|�֪�V&U`,���3��|�f��v�ߌ�78 nu�x�����8Ƞ�M�Q(��
�
"�o
|��=�g���@!�
���^<�j��s�(r%�{�����VX�>aL%4���0��!��K\��2�(N�kϷ*��ҹ����b� ��%�����	� N�"$ҍ����p��H�cP�)
�G�.	��8
-�4A'n�{U7����x����T6`*�ޣ�QS
�(½Kz�X�&�t���u�[�:l�߾r E}�n���k0�@1�/�N��t�3�9��C-�z���"�@B��w�Z��U=B����H��ҽ
�3���C E���_����eE+7��\�L���ٸ���(�:-vʵB$����68�0�0�Kֵ���n��V�Ҁ�4B�i�҂�$B��>���T����zf��vW&�C8�$�֏xH?<rυ����Qvo��2od
��U�����_�WZ���<Y�G!���WʨRր���$x
#���T_�5a��Um�	>b�h7
�g��y��6S��)�5JD7�4�	��������)3e�e
2�d�-CB��8�Pu5�~��XD'h��H%�g6�M؁����O��dW �Ɖ�d
�H�0i�
-Db�&)
�6>���P�Y�E$>w(��
��\n��ђD@
@Rc�"q�M"1
DQ�u���.�)h�TU�׮Ѧ�F�� _�,�&w. �a6���Qᬙ	�)ƈ����GCqt�Q�$^����]7mL�r�jU�s���H�

>��C9���w�n�#��������t{t�L�
�r�D�����G���c�F��G�f	��} �eR������د�0���
,�sbW���OP��E��=
����y
�4�9P�D�����:��ZU3�A} ��������
M��EUgPq�E~�\g+Yn`w�K�QЃ���"���nkȉ�9�dE+�c�p�H�c6J��9�6ܧzY*�e�d�-��rhF�U��Y
L���g�I���#oc���Ӽ��\_����^�r�C&�%���ML���u���\
2�嗵� 6�^g�$a�;�G7�
�����Jԥ���z�ja�
��~"\� \�b�g�����P�&��LL����z�O/}����=��H/�q ���PV3�
��7v�@�k�R�����{y#�K��[�M#7��k���-R��O�����=��42?۝�e�Ð%���,��Uy^
_���Ow�T����o�m]ﯯ����QZ���}�t}���W�;=(��懢w�E�(��e!��(��(�I>��koz'��?�̰
-endstream
-endobj
-1702 0 obj <<
-/Type /Page
-/Contents 1703 0 R
-/Resources 1701 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1700 0 R ]
->> endobj
-1700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1704 0 obj <<
-/D [1702 0 R /XYZ 89 770.89 null]
->> endobj
-1705 0 obj <<
-/D [1702 0 R /XYZ 90 721.073 null]
->> endobj
-1648 0 obj <<
-/D [1702 0 R /XYZ 90 607.89 null]
->> endobj
-1706 0 obj <<
-/D [1702 0 R /XYZ 90 589.781 null]
->> endobj
-1649 0 obj <<
-/D [1702 0 R /XYZ 90 459.138 null]
->> endobj
-1707 0 obj <<
-/D [1702 0 R /XYZ 90 441.029 null]
->> endobj
-1650 0 obj <<
-/D [1702 0 R /XYZ 90 216.186 null]
->> endobj
-1708 0 obj <<
-/D [1702 0 R /XYZ 90 198.077 null]
->> endobj
-1651 0 obj <<
-/D [1702 0 R /XYZ 90 77.486 null]
->> endobj
-1701 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F23 240 0 R /F72 273 0 R /F88 816 0 R /F10 1168 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1714 0 obj <<
-/Length 1541      
-/Filter /FlateDecode
->>
-stream
-x��WKs�6��W�i��� 	M�3m�d7���$EA[�T�����.�%EJ�դ��`
 �}|�aA��G���棫�!�Q�Ko����@!a��ޏ%�|���|�$l��O߾�_��ߙo������O�cn� a�%�����[��+�_E��
-m����yw�_F�QS#��3%\�)����N'���2��d�
�й.�(�t���~Wd�7zY��Y�(���l�����m9aѸXdz;��:ݦ_�|
�i^�����nj�Wυ�YG�i�	����2�ܶ8w�Vi��-�+��j
yO#c��Ÿޤՙs�Oke�s����~=ab�)���
�1>
-��ʽ)VBʬ��O�����=舢��	�U�$3U��͖�6N�{]��ٞ��?�U�֡��,&\��&�24��
-�
R�R�$�
�����'&ߵS�8��n1$,�`�fOF�$ܺM��x��)���
>|�7���J
.��	��!�L€AĄ3��E�/�q��uF �W(�1($�A*}E�� �	����
s�"]~S��ٽ�g
�3��+ck�j ��u ��R��.y�=��*��s;_�$ 
���q	X�A��N
�
-�V恊���@��¿�uu���*:�qQJ
Z�8_��#I�'֟�鬯
-��zc8���xd�a(�|`ܐǁ�I��'�OB�cs01��#tK�#����4$�/s�
H��\Z�� �WE�z�RY
}ƪ�"X����An�<��5���
-}�Q! �n(��K�s|IT�.�%g�y��92XqD��)F�t	�
]���K3\��.a��ѥ��ѥ�K��s,y��ty Hȳ�_
1�fY$�裇�U��̎�,�p������k:ZsVe�=��2�L
�ZP��� ���ss��?p.�B���1�C��8 ���q$w�F�>tf~��
-�fx��ߺ��4�*�p]�{�����y���wz����}�y����p�h0n5rYa��@���Xb�cʪ:w)�)>����)��"K���.4&�y�'�E~LLmf|0[=�G��9�]���'��0Bx������2U{1�a"�����-fNd`jFX��5�Wu�$�7f���C���
-ٮB����6��t
�Y
�g�Jʴs�+�
�z���ƒY�6�S�*S��u��Pqb)
-
*`tn����F�x��WXB�����9|^h���"7��nJm/m�Z�'iq�Td�Bkٺ]]�q��\�ȯ]�DW�_���y�G­�? 2�8�].�o'����Z�S|�q���)��fw�~�dơ��Dn�A��Yu�ʩ�z�Ჶ� T�Fߴ��
-�����r�-�HB�^
uQ�w���%�l=b\
����_H���'��> ͡�
-B"Tt��[�E���tӟ���ɫ>Z��8_7�U��b,W6�	.�Z���D�1�u�7����0B�ꪊ���B6
���จ�ᵣ����z-8*:4[���ͮ���=I*���$i}��eW�7R?Z���
�]�o�Rc��	����;�Alk��$�g0��
-endstream
-endobj
-1713 0 obj <<
-/Type /Page
-/Contents 1714 0 R
-/Resources 1712 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1709 0 R 1711 0 R ]
->> endobj
-1709 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 275.567 224.515 286.471]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_a6c67cb8304bf0e784ad1aa328e82e20e) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1715 0 obj <<
-/D [1713 0 R /XYZ 89 770.89 null]
->> endobj
-1716 0 obj <<
-/D [1713 0 R /XYZ 90 721.073 null]
->> endobj
-1652 0 obj <<
-/D [1713 0 R /XYZ 90 599.148 null]
->> endobj
-1717 0 obj <<
-/D [1713 0 R /XYZ 90 583.034 null]
->> endobj
-620 0 obj <<
-/D [1713 0 R /XYZ 90 385.695 null]
->> endobj
-170 0 obj <<
-/D [1713 0 R /XYZ 90 378.237 null]
->> endobj
-1718 0 obj <<
-/D [1713 0 R /XYZ 90 295.227 null]
->> endobj
-1719 0 obj <<
-/D [1713 0 R /XYZ 90 295.227 null]
->> endobj
-1720 0 obj <<
-/D [1713 0 R /XYZ 90 236.017 null]
->> endobj
-621 0 obj <<
-/D [1713 0 R /XYZ 90 127.062 null]
->> endobj
-174 0 obj <<
-/D [1713 0 R /XYZ 90 119.604 null]
->> endobj
-1712 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R /F88 816 0 R /F10 1168 0 R /F23 240 0 R /F77 331 0 R /F21 1026 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1734 0 obj <<
-/Length 1099      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�V�@ 	>|K��;�Q-5'�(H�C�*HE���.
$%���VѤ=hD<�������r������`4����$��3[:	v� A,��¹�h�zc<ܦr��o��q�2�/�L�����%x�'.��v�;3��(���EZU��/�tI<�"�E�
C�~�]~�
� �
b�0�N��}����
��$v�z��	���3
�6��~�1nMv�"�
��|38�y�Y����`s�1
l�~�x�"ƌ�����W�;�e7�Sy#W֭[=��[�z�˪>}U�}�
Ï
�u��ȉQ(D�$
�� �46�ny���2^��y(�<����>n��
��՞��k��>������21�Y)?
-\B�!zj�Cmy~�0�!�fݶ���
�Ӽ�
c�
�2�o�̔�R1� ?H��W�m��c�_\ʆi��Փ�4�X
{��D	��ͺ=�.�E�X����ƫs"V$B!��Κ�-�l��N5�kY�
�{��lc��i݀^�rs��eY�B���ʵ�ô�W��l� C����� ~��T�HC��?�	RS��jj,��ʿX~��̀+POK�E�\y�Ey�
Kk�XQ���B>E8��y��k��%�.:"����X�E^�i�=�Q+Co�
��>
-�B�h���<v
��B�/��d��7a?K�$�:�b?2>�mW9͙76;hZ�i��nE�n<%�o?T�&5�!���w%u�
�w)Z�<�B��<?B�Ei��j���5�>�m}�����o����
-T.$��r���?�Yلp��jN�T���C��
\��\\�Q����Qi��:=?�-���t��v�s�_��9՗�V��_�sZ�.�?O�wg�2XX���R
��������09O\.�Z:��"�b#�<S6�~a!"�������Q���+���D�%��5�\������t�N[�_^��p*V�teM�5�K}��l���?��r�>��p�`
�^wb�Q#��`jʹ�ɐ��i�nT�聋8������u]o�F��~��
-�D��(�G�m1�k9�Y!pe�H�XiﴛRj$�b�R
$�u�[.`�F_S��
-a����*
-endstream
-endobj
-1733 0 obj <<
-/Type /Page
-/Contents 1734 0 R
-/Resources 1732 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1710 0 R 1721 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1731 0 R ]
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 685.407 156.032 696.311]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a5c1e588b7f6a9f94b053a5cec723dfe6) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 646.783 167.091 657.687]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a637f0b668a07b52f0fc9454c13f4d16e) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 387.151 263.464 398.055]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3eb174fcfe2ba578f4d3d714e3743aa) >>
->> endobj
-1723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 352.513 257.925 363.417]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95cf5613be1fd13f273e5c2e7d38c802) >>
->> endobj
-1724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 280.134 247.464 291.038]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a51207bdf0804635cce036bd6b6459abf) >>
->> endobj
-1725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 244.106 248.022 254.637]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a952c4e092ec518368be278c13c689acd) >>
->> endobj
-1726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 207.705 256.072 218.236]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) >>
->> endobj
-1727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 171.304 240.819 181.835]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0f295b8b6083b12c373b48417ae8a466) >>
->> endobj
-1728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.906 134.529 233.078 145.433]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a8219b76f7582cc02ef563bf70b045ae6) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.906 98.128 231.006 109.032]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4254863fcee52d3a2ee594e14999fc21) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1735 0 obj <<
-/D [1733 0 R /XYZ 89 770.89 null]
->> endobj
-1736 0 obj <<
-/D [1733 0 R /XYZ 90 704.266 null]
->> endobj
-1737 0 obj <<
-/D [1733 0 R /XYZ 90 704.266 null]
->> endobj
-1738 0 obj <<
-/D [1733 0 R /XYZ 90 665.761 null]
->> endobj
-1739 0 obj <<
-/D [1733 0 R /XYZ 90 609.682 null]
->> endobj
-334 0 obj <<
-/D [1733 0 R /XYZ 90 515.284 null]
->> endobj
-178 0 obj <<
-/D [1733 0 R /XYZ 90 508.327 null]
->> endobj
-1740 0 obj <<
-/D [1733 0 R /XYZ 90 427.582 null]
->> endobj
-1741 0 obj <<
-/D [1733 0 R /XYZ 90 295.097 null]
->> endobj
-1742 0 obj <<
-/D [1733 0 R /XYZ 90 260.718 null]
->> endobj
-1743 0 obj <<
-/D [1733 0 R /XYZ 90 224.317 null]
->> endobj
-1744 0 obj <<
-/D [1733 0 R /XYZ 90 187.916 null]
->> endobj
-1745 0 obj <<
-/D [1733 0 R /XYZ 90 151.515 null]
->> endobj
-1732 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1761 0 obj <<
-/Length 1353      
-/Filter /FlateDecode
->>
-stream
-x��XK��6
��W�V� ��^���&�$M�m�6W�mM$Q����/����7�ݭ�63=xL� �@���9��e��z�X%�IQ��Yo�;I��(��ܹ���}�~���i
�4���^���Z�Qs����ǙS����%K'�fWﱓ���Q�.��f����_:of�ϰUe����C�'���>�}�Ȫ�T��kxQK�#�
�_�yW�@7Z�f��9�m�kCj�TZ�m�w_��x�u����Öf�w�D7�8W^�A��2#���K��'׏���>��y�۵�gbg��ZK�Zm��a��bsy�b���{�#
?���ш$q�`D
*#@�8�
��Id�x�d�z���垙���7��~T��疩����=���JS=�׭�r�Ip��皶,7C���q``4�K5��ꚁ�!
��`Fʕ��O
fa�F�1K�A0��Est�w� �׻	�qJ�؂��
�i���?+��p%I�p�8c�� �SȮ*l�
z�5����
u!
ZR9��N�+�= [...]
-[,΅�0b��k&;QO�hl�jTCM
ULB2h�rz���3
-ZFˬ+5�}����]�{�Ç2ߜ9
���NW�3"0Rz|�yA
�Z)±Eb�N��b��>���VN+���V˯��oY֞H9�ЀRƫ��ԞD���yˎ�%;��we�E�b\��c�!4�f�*zv��*'�tR��������j^�Ĵ�L ��Ɋ�6	�̚ˡ�3!�F��{(��*1
�-�w�
X������]l���2�?�
�C�QE�Ȩ�ߒd�ljMϲ#x!�A���u�"߅�
<��IZ�������(iۀ	���E�
-�Ѫ]Ҷ�-(Kh��.�,����
�q����xHO���d9֘X�_2}31
��b��YWA0�^���V�`�vqb��W��c
vql�*�44%�4���g��k��ťbӓ�:N{�=�К���5�	
-�*���:��ЊsObs���9:�F~�?\�����hi����lPd�����go������-�ڗ����?��XM�9tl{��q�J3�V��K՝�Xݚ��%���F%E

���K���
ˡ�
렬�	���q��V�ʈ����KabF_�MC�}�;6����6�ndnIpn@�|=>��ZO�/�[���mU�g���M߻��>��{�~��c (X�
B�D�61�;���?�S��'U��iZ�!^����ըe��e��Db]��]+0L��SQ!�
-��`�9�#�~�:��N�Z
1�K�\,��e-������)�י��Bb���5�T6� S�@!\������J��$�NGe%
-endstream
-endobj
-1760 0 obj <<
-/Type /Page
-/Contents 1761 0 R
-/Resources 1759 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1730 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1758 0 R ]
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 685.169 287.823 696.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 638.993 304.969 649.897]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.068 603.775 268.086 614.679]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa69764bcc2ebbadf48dbcfd23dbf0f27) >>
->> endobj
-1751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 566.565 291.13 577.469]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab284e2d9cfb5cf819fe552f5c20c4246) >>
->> endobj
-1752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 491.957 243.549 502.488]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ad508a885c0ec878d20c030b0897fdd89) >>
->> endobj
-1753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 456.74 251.29 467.27]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 419.156 300.554 430.06]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) >>
->> endobj
-1755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.062 384.313 308.295 394.843]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
->> endobj
-1758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1762 0 obj <<
-/D [1760 0 R /XYZ 89 770.89 null]
->> endobj
-1763 0 obj <<
-/D [1760 0 R /XYZ 90 621.05 null]
->> endobj
-1764 0 obj <<
-/D [1760 0 R /XYZ 90 473.641 null]
->> endobj
-1765 0 obj <<
-/D [1760 0 R /XYZ 90 401.214 null]
->> endobj
-1766 0 obj <<
-/D [1760 0 R /XYZ 90 347.828 null]
->> endobj
-1767 0 obj <<
-/D [1760 0 R /XYZ 90 288.188 null]
->> endobj
-1746 0 obj <<
-/D [1760 0 R /XYZ 90 265.719 null]
->> endobj
-1768 0 obj <<
-/D [1760 0 R /XYZ 90 265.719 null]
->> endobj
-1747 0 obj <<
-/D [1760 0 R /XYZ 169.73 164.55 null]
->> endobj
-1769 0 obj <<
-/D [1760 0 R /XYZ 90 147.039 null]
->> endobj
-1759 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F92 1102 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1782 0 obj <<
-/Length 1940      
-/Filter /FlateDecode
->>
-stream
-x��XK��8��W��NA<�m�17�Z(Xؚ��j���r
e�‘�-�
~��Ԓg���
K�W��w�������ų�xy�'a�]o��xi�,���{�S��rE	!��h���A�w;�i���Z7Eswyy���7�Wː���W8a�
-��E�b�
��fI3���/WiJ��Dˏ�/\/>/(0G<�̰ ͼr�x��x ��H�w4��^
F𭽷��d,KN�4�ź�U��(��\��ƶ�Vak��[u���qDžmiye���*�Ö��eu/8t�I)x�\E$�l(�P?�������&澐8(a�ffK�4(
�]�\9c(XYh
I��t� h#|I��o�
-�a���p%�c)m
4Csk�����{o�^�]�����
��
J�X4�;Qs��\{� P�����U%*Ui� �����1-Q%n�0�
��~��aS�Z'��	�'�C) ��0d6	��ܬܜUDg#�aY�
-�\�I�
hj?����.���-��Q�]^�
!���.c�.��c��iv&�y�
~��%������U�
�?�ڥ� ��>Z
WW��a�e
�j
�I�
P�J�^(��Fj��Rmx����JЈ����6�LX�g�^͛���no,�h���@��E�	�ȭ=B�m�p��Fi
-��p��+T+�2d�eL��s��C����nD�������@�Z�h)��km���
7�z0%���LG���� ��l�x��G
-a7�WE��Z�O�U�жkl���s ��(`$�"#>EF
�G�L[V���g��ru�26�s��d'6� 7[m:���� ��, 4u�!QHhQlQ���\�'�xv��e{{��Z�V�
��5`�(�IZ�6t%h��H$�]w�AV��(��`��Q�3�n^�ڸ���$�2��7�E��O���
��,I�.LwZ�jo2'��
�f���v���
(8߸Ӥp�T�r�7�U��7����
-��qf�Mf#��
-�uέ�aO*ٵ�-�0C���\6a��a�}� m����̒�N�:@���6�
� ��<���F��&�2�g�]H
-� ˒iB�(93Uj����g�ĩ[Zm�o6���/*��Ή�<rb�n��y fYw����%SX9Aׄi���
���A�Y7N�A��ڞ�!�]����� d�O��B|��Dr?���i�m#�yĥS�%��,e�d�Z��v ,���ɈV�.��e,��8��aF�8�3�&�A(�����dX����
-���@��=
m�^}-�ڐ��d�bk��$� ��mL/��r7A���@x��h�S�@��K��N����ǙY@�~�]߼~������,��cܱ5�Ã9�F�3�Aq����
�����t���Yd�=�+N'7$0{���S�T�	�
'sE64�v�O�Ӕ�\8l�0A�|;��

f�]�9�����m`)�.���J�SÆ�i���e��R�%�l�.���y욫c��!�q�ǹ.����p!��F�U]��v�j_)���|!*���>I
��
�%����|>d����M7�
'l>R��n�3�2�D�$��H����흫A
��iC1n�ݵ�lg$ÀF�/��pWHKߺ8���ݵeԣ}���5j�Rv���BS��Ž�[�A
-.t]c��$uRܸt9z!�:	�
J1Pa6�[�aDj'��]�� ͘p�)����
T��fN��N}X:L��A�� �k�d8A���2^X��c���a�\yL��E��0��W�ȩ�N�4Y
�����2�A3��	^���D��M�v
X�;y�}Yh4}�W7\�ۮ��[� ��د��w�~��4Vy�
�9�� �� ���A��b��s�T�'ϵ��W�A�t�
��R�ˋ����mЉ����8
���1�Bi
H��m���.gM��Ra�m
-��
��cl�� &<
-endstream
-endobj
-1781 0 obj <<
-/Type /Page
-/Contents 1782 0 R
-/Resources 1780 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1699 0 R
-/Annots [ 1756 0 R 1757 0 R 1775 0 R 1786 0 R 1776 0 R 1779 0 R ]
->> endobj
-1756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.82 696.002 335.356 706.906]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-1757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 684.669 210.548 694.567]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3eb174fcfe2ba578f4d3d714e3743aa) >>
->> endobj
-1775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.893 453.936 513.996 464.84]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 441.981 155.753 452.884]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.473 338.88 424.869 349.784]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1783 0 obj <<
-/D [1781 0 R /XYZ 89 770.89 null]
->> endobj
-1748 0 obj <<
-/D [1781 0 R /XYZ 215.131 687.2 null]
->> endobj
-1784 0 obj <<
-/D [1781 0 R /XYZ 90 671.743 null]
->> endobj
-1770 0 obj <<
-/D [1781 0 R /XYZ 90 560.189 null]
->> endobj
-1785 0 obj <<
-/D [1781 0 R /XYZ 90 546.266 null]
->> endobj
-1771 0 obj <<
-/D [1781 0 R /XYZ 267.991 445.134 null]
->> endobj
-1787 0 obj <<
-/D [1781 0 R /XYZ 90 429.054 null]
->> endobj
-1772 0 obj <<
-/D [1781 0 R /XYZ 484.685 330.078 null]
->> endobj
-1788 0 obj <<
-/D [1781 0 R /XYZ 90 313.998 null]
->> endobj
-1773 0 obj <<
-/D [1781 0 R /XYZ 376.044 203.067 null]
->> endobj
-1789 0 obj <<
-/D [1781 0 R /XYZ 90 187.61 null]
->> endobj
-1780 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R /F92 1102 0 R /F88 816 0 R /F23 240 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1798 0 obj <<
-/Length 2189      
-/Filter /FlateDecode
->>
-stream
-xڥXY��6~�_���JU o�%.;5^Ǟ�'��k��0#:��ce��nt�"5ǻ��"�����A�{����OwW�ob�"�t��=x��� a���i��wo=?J�J#XdG_}x����G��z}w�畂)�)Z�8�����g��`��'��&��
-U^�}���ǫ\��U���*J	��̦j�!����ߏVC�GQ?R۬U���6���"+q0\
Eeh�P�%��<Rԃ麱
̎��	�e�*{ !T��gW�/�@;s�{��$�������Ij�w��|���5yS��rb���ۀ�i��l���_�!�KGjeʬ�����:��aύ<C}�Ps6��5�
	���!�<�u��}��`�=��]��!��	f�����=���WgVҩ�[���57-�û���L�d �J��f���`#��P�Z�(�
�����H�
-kޔ��F~��
(�`z�?���綦X��
.��b�w�]��'��
�*w4�e�΀�y���D.U@����Ӹ"��}���|��e(᧾e��G�[.8�� ��
-
gn|-dⓤ�N�"Yo���(Z4��H����Z�H�6Ra̶�C5�Wm�U�}۔ǽ�u�}Yl��;�|y�bv�c}x�P��5Z
���r;pcWu��e�O
��G
-&�<Ĕ/�`���޺x���c!u�D�q�ߤz��H�rB��4�/ԅ�J��*�6(�i?���;g��3HG�}h:j�J�#�}ӛ�$D��r�n���9
�e<��p�ɪk6 �){��8
�e�H�D�0؊���U�~�����+��!�7𕡾��B�t��ݞ����E5VO,�T=о�vYR�3;�
-���L5�������P
��ؙ
�����o�5\� Tc
[
���K���x�4l?�
 0cN�ak�#
H��4�//��� �9�O�a!��t�A:��0K���c��؉Q��Ñ�v�_%�ĝB
1GFsT�a�J��Ŝ4a����0��!ǖ1�. 
-��� �� �w^ 
�� �
�Xkh	�Fj�g
���X_�A�FVb!�ʡ�({<7�>�8����0
-١#}�K܉E�%�,��Udɥÿ�B_�i���gKO�l g/�Z��7�}����
�I���o�u�əm&�Ĕ���
-�u}�`�-d^�ݺ���f��č��|�^a(�`
-ͭɳ
�=x�_�_�
l3K�i)|�|���{�Ta����X��U�
A
�ilk�����Qk�kj,��ڙ��;��gKb�ؒPŞ�76���p�5
�^�nT�$H�
no�Q�,6�(�e�F���B�
�_�8�ln��q
�k��X(T����h�RP�%=@�h���+^X�_������2�����`�!�^�P�a���C.�b����y��#(�
V�����N��Q� �ە�슾���A��KA�Y�B��&TB�B* ��i8!��XfNK?���rOXk
�uC߼4�A�:j�C��1�%�����О3-�R��q+
�ı��$��fxvƼ���Ǟwtru$���
�	���E	
-�mY�
��>��XQ����ݑ��K�
>(��z���Yvk
-:���&m�Cs2H<��=��@kl�l������q�3���
��L�ұ4�c�I*�:�I��5��Y����Ċ[�-�+��c�?��hjL<��4e���c���}?H]���l�T$?��J9?~�:\J}ڄX���9��@�¯{�
Ǧ2KS.�a~ d
N�0_��
UH
��0b�R�N��<��T� ��<�9
?H��iUK۲�{�o�f�s I�OPW���b��XD�A����/�C�y�n��8�'pV����z;nKˏ`�_L�u<�٤�f)t��@,���SҴ���g1�
�O���^Bb�A�(@��D�W~
J�y0��
��Ԋ�{?���
|*N�"���w��*��L��˜��.�v�s)��c�i���c�{l?�����0(\AY�
��Fq*䉁��I@O����=R�մŗ
[������t
#��N~矮����}H迋Xhx��~�E˲;�0�|��+f��v^�h:��쑷��w̓-L�:����:����ѕ��9��A	�
-M$Ⱦ�?G��"x��wz����`����0�/�����{��v���������1��	���3�b�j��jİ�#�F"k�k�Y�� �O9p
-endstream
-endobj
-1797 0 obj <<
-/Type /Page
-/Contents 1798 0 R
-/Resources 1796 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1777 0 R 1778 0 R 1790 0 R 1791 0 R 1801 0 R 1792 0 R 1793 0 R 1795 0 R ]
->> endobj
-1777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.946 696.002 484.558 706.906]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
->> endobj
-1778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [118.612 672.092 210.269 682.996]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) >>
->> endobj
-1790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.549 504.084 290.161 514.988]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
->> endobj
-1791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.474 492.129 513.996 503.033]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
->> endobj
-1801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 481.235 144.794 490.695]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) >>
->> endobj
-1792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 139.09 182.174 149.62]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e) >>
->> endobj
-1793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 100.111 184.485 111.015]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a56bef6f865a68fa4da54417474007228) >>
->> endobj
-1795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1799 0 obj <<
-/D [1797 0 R /XYZ 89 770.89 null]
->> endobj
-1774 0 obj <<
-/D [1797 0 R /XYZ 214.851 675.245 null]
->> endobj
-1800 0 obj <<
-/D [1797 0 R /XYZ 90 658.63 null]
->> endobj
-622 0 obj <<
-/D [1797 0 R /XYZ 90 262.912 null]
->> endobj
-182 0 obj <<
-/D [1797 0 R /XYZ 90 255.925 null]
->> endobj
-1802 0 obj <<
-/D [1797 0 R /XYZ 90 157.565 null]
->> endobj
-1803 0 obj <<
-/D [1797 0 R /XYZ 90 157.565 null]
->> endobj
-1804 0 obj <<
-/D [1797 0 R /XYZ 90 119.08 null]
->> endobj
-1796 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R /F88 816 0 R /F92 1102 0 R /F77 331 0 R /F83 414 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1816 0 obj <<
-/Length 1588      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L ���Ҧ�8m2n�>%
,B[Ty��~}7��h'N��Ll�$��ݳg����y��i�����e��������b/S�"8˼�>�( ���^�|}�����j�.�ۚ�w���W��b�7y%�o�L,W�a���7�Y�[Q/I�
��\��~Ėo^-~�Y�� ���y?Cq�m��������+�H�7�^H8޻ů
lC�ÐX4���A�ń BLX(5/w�y�W
B��͗������6�۪*�v�r��Yo��զ=o֢<�w�M�U%��Լ��3
dt�
��K��(TnS���z+�f�q��h�Z6��I0�
`Dv���46�8"nS�5�q��E%�;�r�ڽ�@��0'�NnZ�z�"wv�Q��,�\���H�Ԣg�E�=:ő��u'3�c*E�r�f�vJ��U
!��h�0}<�E%w^���\>
���1���Js��p�M�P����cL��B�q�w�<a��}	�O���'L�z\�����doC
/)�?�Ж�	�,�)9CZ����}˚z���8�փ"أ#@��
�'_�gö��x����}
)�Yj�N/6�~�%_���?����
84F!��5�}��5U�I'�F^�����l���� ���jb�����":�+�$c�� ��\��[�bӺp_�����K[�cFMg����	
��@4}x����/�oS�1�V��-�
��
�l����v`!����z�頭�ɠ���9&~s�J��KY^
-��;���0�\8�o�����~j�=v��R?d�י.Ax�&\j "�w�d_�":�;�>�,��@ץ����}��~b
�5���b-y)2�
V=�(#�YkG�c�\!��
A=E��QP����0�Cl��v���j���[��MF��2ь$����Ǫ�
�{��z”��9qy9#v�z^}!����Q�(�$<�#k��υ��"Ve�S����V,EI���E�k��F8�5�֩�u���g�ᮮt����&2wm[���	.V���֭-��^|يz�߳�q
-?�^��J�u���e���#�J�
����/��P��D�
��5"�g&WA� ��1��_�����GҺ���4�	l��ät��x��=�Hw��d�V�c�kQ2L60�%�TL}�~�C�
������o
b(��s-7�w��d>�K
O�VD)bK7�єob.��E�дۻ%��8�e��<._�jLܰ�^7ú(B���d4� �(F)�mz�$=�h�(���B؜���eOvB���t[W�$?۪(��JB!.�b���
��
R�Z�3!��+1j��S�4jd�}C�1|��`��4;ȟ�Aے�xdo��Ձf�TEw��_^��Kt�$�Fŗu���,l&�1�;���"D��/}��^�
𘏕a
C!��������v���_����հ�m.w
�YSW��F��-�-����
4�;������}nj�U �����M2����煦�)D
-9JH���m{���8
�hӠN�����P\��|;Y!$D���-�B��~���ĶmH�W���? �ߙD��
-endstream
-endobj
-1815 0 obj <<
-/Type /Page
-/Contents 1816 0 R
-/Resources 1814 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1794 0 R 1806 0 R 1807 0 R 1808 0 R 1809 0 R 1810 0 R 1813 0 R ]
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 707.957 263.817 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) >>
->> endobj
-1806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.555 668.883 236.709 679.787]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a82437262d9ddc0d2a8278e5f6d29f1a9) >>
->> endobj
-1807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.555 629.81 183.578 640.714]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) >>
->> endobj
-1808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 591.109 177.83 601.64]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a13d3f5de275c9f897d8b3c077ba38c3e) >>
->> endobj
-1809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 509.831 191.678 520.362]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a9d54e335e90cfbe82d97e3000f88df20) >>
->> endobj
-1810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 74.333 294.561 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1817 0 obj <<
-/D [1815 0 R /XYZ 89 770.89 null]
->> endobj
-1818 0 obj <<
-/D [1815 0 R /XYZ 90 688.086 null]
->> endobj
-1819 0 obj <<
-/D [1815 0 R /XYZ 90 609.939 null]
->> endobj
-1820 0 obj <<
-/D [1815 0 R /XYZ 90 528.541 null]
->> endobj
-1821 0 obj <<
-/D [1815 0 R /XYZ 90 528.541 null]
->> endobj
-1822 0 obj <<
-/D [1815 0 R /XYZ 90 471.781 null]
->> endobj
-1823 0 obj <<
-/D [1815 0 R /XYZ 90 400.829 null]
->> endobj
-1824 0 obj <<
-/D [1815 0 R /XYZ 90 378.468 null]
->> endobj
-1825 0 obj <<
-/D [1815 0 R /XYZ 90 378.468 null]
->> endobj
-1826 0 obj <<
-/D [1815 0 R /XYZ 312.673 289.361 null]
->> endobj
-1827 0 obj <<
-/D [1815 0 R /XYZ 90 274.444 null]
->> endobj
-623 0 obj <<
-/D [1815 0 R /XYZ 90 143.707 null]
->> endobj
-186 0 obj <<
-/D [1815 0 R /XYZ 90 136.969 null]
->> endobj
-1814 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R /F88 816 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1846 0 obj <<
-/Length 1419      
-/Filter /FlateDecode
->>
-stream
-x��XKw�8��Wx7�9D��ww�s`h���l���8Jb�/d�N��\�R�v
--6�eK�߽�}I�Z[��c�|6:�
��ȧ�5[Y�7B����~�����k��CD"��/�^�^^�n�������'l�v���Њ�����Z���FNZ�jRf�ԁ�Ժ�5�'��ieN�E����zx|ų��e��uR�c�;�������\'�&����v��z�5�����8gubSo��&ޘ�R7��J�Ss����|f;�Xp>�.�����x���y~<_��=�(����Uq!X
o�59���V����t�]jM���@���׍ ���
���F�T�ȿ������ij��9�ǁ�\;���q�Gͬ�ڋT��Q!��XZ=�!�y&%� T� '�]���$U�� �Df"���'N 4QbM\Q��"/����`p�
^�$����b����[
G���.r$
���ڃ���"gi;R�gt� �>TE�(�6Ε>R ��03
�E�d<��~�jO�1u��J?����
�y����+QdǞQ�i!��6���0M�y7�v����t����qRd���)��9L
�KP��H����H�dQMU�D��e�n7|)�<M����\���G��b�r�܋�5��W�y
��U��BD������W@�|�6	r*�5L�vv+�����|�ERkT��L���.>�F;3u�:����ݛh
��VݡL��.�${L�}�@R׆c&l�/���]h��v��;�L11R��"�yj[<;]�^ q�`�Y�7۪��4�����.�0�U�oxݷM)}������aҏz�u�W�s����8ce�`���s���-�~g[�E�=Q]}��zo{J�� 	�,�CFCD#�
#��~
-�Y�dyڏWP �Xx\�m`ō5S�K��c^�z�����L�յ�1�t��k�h�\L���yf at TE��]mIj����y�E.������>��P�D�T�y�ׂ��?0��B#�.�b���w��N�>U�
�z�W�
D���ʵ'}*c�ͫ��|٘���
�b�l����g�d�N�
-Ů0h(-�����A~�昳a�2�
-�M�D�G�S��H��p����˜�<�
�F6�b5/ۦG����q�S�m�t�	�T-W؆9�~E
�g
��AD�E������0v�n�9*�c�G��qeR��A8�'zX�A�����i���"Y�OHU `�����ۀ��*
�(}8C��
̅��W^P��I�ԇ�
zP)
��
,7��#<��G��
2�ٹ
�i�����eC���놭��$/V������ٞ7��bycΗ���q���TETҍ�[�����"�Z��OI>=Г��B�����uy~vv{{��
-5yR
-��ge���m���}f�ݝPV|
#ׇ..�%�b.�i��I������*
-endstream
-endobj
-1845 0 obj <<
-/Type /Page
-/Contents 1846 0 R
-/Resources 1844 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1811 0 R 1812 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1833 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1841 0 R 1843 0 R ]
->> endobj
-1811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 685.619 206.184 696.149]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.682 685.619 252.948 696.149]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node_a28255dd92e8d19d88eb174301fe3f226) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 428.2 169.043 439.104]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_af967eca4ca6d0e0e236868103ba9dc65) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 389.281 169.043 400.185]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a648a17e7c1bb0ed0ebf616eb4a7b8e78) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.546 389.281 291.373 400.185]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.151 389.281 361.927 400.185]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 350.362 169.043 361.266]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a8287cc70d71cf8032aedb143d2e11d7b) >>
->> endobj
-1833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.859 350.362 227.991 361.266]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 311.817 177.83 322.347]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a790d42c501f7fc8685da1a07afa4b546) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 235.874 264.491 246.778]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.672 222.233 343.567 232.138]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 198.979 242.354 209.883]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae90b3754a8d7d5346feaa19af1c8e2d6) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 162.085 339.738 172.989]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a9634759f4e965e07036fc9381502d9b4) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 125.191 208.312 136.095]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.81 125.191 328.111 136.095]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a54397279ba530e6606a150de9ac12898) >>
->> endobj
-1841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 88.297 294.926 99.201]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a824b5091189207ec0ee311c102c23f72) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1847 0 obj <<
-/D [1845 0 R /XYZ 89 770.89 null]
->> endobj
-1848 0 obj <<
-/D [1845 0 R /XYZ 90 704.251 null]
->> endobj
-1849 0 obj <<
-/D [1845 0 R /XYZ 90 704.251 null]
->> endobj
-1850 0 obj <<
-/D [1845 0 R /XYZ 90 647.82 null]
->> endobj
-624 0 obj <<
-/D [1845 0 R /XYZ 90 552.421 null]
->> endobj
-190 0 obj <<
-/D [1845 0 R /XYZ 90 545.781 null]
->> endobj
-1851 0 obj <<
-/D [1845 0 R /XYZ 90 447.206 null]
->> endobj
-1852 0 obj <<
-/D [1845 0 R /XYZ 90 369.488 null]
->> endobj
-1853 0 obj <<
-/D [1845 0 R /XYZ 90 330.569 null]
->> endobj
-1854 0 obj <<
-/D [1845 0 R /XYZ 90 250.968 null]
->> endobj
-1855 0 obj <<
-/D [1845 0 R /XYZ 90 216.096 null]
->> endobj
-1856 0 obj <<
-/D [1845 0 R /XYZ 90 179.202 null]
->> endobj
-1857 0 obj <<
-/D [1845 0 R /XYZ 90 142.308 null]
->> endobj
-1858 0 obj <<
-/D [1845 0 R /XYZ 90 105.414 null]
->> endobj
-1844 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1887 0 obj <<
-/Length 1680      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�Vi�H�ZO�I�L]��%�p ��������.�mZ�e+=� E<����]�u����:��jr�6t��	����N�Lj�9���E
��`�u�5k
-��U���YÒ\�֬߼9w��73
M�y΋�	���,gR��_��5/S�y4"� �}�z?��j�m�A��zw���I�ɧ/�����
�!���nP��ă6w.'L\��Cm� 
��8D��1�"���L��O'4.Y+f�Nof�N�V&�ʥ�Dn�F��n�Q��9o�j��U)ۆ���w�W?�ԅ?<xg[pL�D w�+�	A��
0

-������4Fn���z{ݯ�Ղ(-�0ݏ�캤��p�gR�'�S3�BP�w�KQ��� ������#(�	H�IW�Z���؎A��oL0p�		1�!�#��仝
;��tG��o���6e��&�<��2��xQ��w��!��}�I{=�k���%�1��;u3����"�
>�a���1��\�e�U{
-�^��.j��'�A�Yg����y�6�1e2"�VE}t�0�nK��
-�\��L?��xS�|�n$/[Pq')�#/-d�k!�$>�=�(	B��.i����1��w;���o��#�
!"=��gmղ<)xQ5k1�|���EH�/�@�Z�q��b��i���=>����+��M��{�ꕙ7����3��(nБ]S�Q�A�㍂�l�!>���S��9�N�������:͊�P��������Ji�P3����x³��N� ��G�,
�Z�J0�T�7�0����5� �6�bA��`7�
������Ц��&�2�4֪�6 LԼ�f�������<ʪ��E%�E���\�@O(�
-w���U�T�T�g��aqك�^5u%�܍�-/���. at n��6
-
��]���N��Ik?2���U&���ꠎ��n�!_ѿ*H�e�Jd�1��1h^
�E^da.y+�rp��qsP<��A�ь[�\ɾ��
1�FطcU��xFU��tN�\z,'�,Kd�R�@��K�`���I8����%PEr��f�|�u��5kX!��Ο�lԙ?ު�`8��n6���ZPl�M=_v�u
�;FP�ݍY�9�5������wP���j؀9��C톊���CD;ŷ8�b�%-���Â��A�V��
��{�zG.;�k�1�*��䒷ckX�='A���|D��\i��7	�HF���뉥��S�l����Ʒ���቉>uQH���~� :N�b��^�=.����8y��C��^�� 0�(Bf�F�@�
Zm�g�����t��p��{�snzP8����v1�V�z�}���
ሇ�5�����'���%�af���Q>Ǒc�֟���}�7��8F�k}<�x����CY<"����ņfϪ�^����/�|��n�NY�^���I_թP������5Oڿ�zm���E�
ޕ�tk��Cds�a�7�Q�>W�d?ƾ�͏c��7?�M/@q�2�١��U���4�95��˥~�M���Ζ�kV.Wli�z�n��n�(q�f�N��-˾�Q�Hi6��-Q~6E�%�h�������u��"E���u��oNOoooQ*Ѫu�D{Z���}�oV��G��γ/̋��:��TQ�P\�$�
��7��Э��� پiL
-endstream
-endobj
-1886 0 obj <<
-/Type /Page
-/Contents 1887 0 R
-/Resources 1885 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1842 0 R 1861 0 R 1862 0 R 1863 0 R 1864 0 R 1865 0 R 1866 0 R 1867 0 R 1868 0 R 1869 0 R 1870 0 R 1871 0 R 1872 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1877 0 R 1878 0 R 1879 0 R 1884 0 R ]
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 696.228 265.597 707.132]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ad66523fb7b954dfb1526e36e8b27bb96) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 659.819 195.042 670.723]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1862 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.54 659.819 275.967 670.723]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_adbfadbe547b418acdae00edab337eedc) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 623.41 229.362 634.314]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 623.41 275.021 634.314]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) >>
->> endobj
-1865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 587 226.314 597.904]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_afcbd2ac6b9314e699c7a5dc24bce759f) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 550.591 212.486 561.495]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_abc8db2e604f78ef5e10885bd22d73db4) >>
->> endobj
-1867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 514.182 268.376 525.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) >>
->> endobj
-1868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 477.773 282.603 488.677]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aa31e71a85cb3b2ca9cd0ec4ee1510ebf) >>
->> endobj
-1869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 441.737 201.946 452.267]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aed08641850e37f11854eb35aad8df8f4) >>
->> endobj
-1870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 358.607 192.89 369.138]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a70c7657a50eddefcf64a8ae441ee5065) >>
->> endobj
-1871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 323.591 316.306 334.495]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a6bfd316c1ba27c4f21e6710fc8fd3950) >>
->> endobj
-1872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 277.989 322.941 288.893]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_af08433106065fada525b5a53a720205e) >>
->> endobj
-1873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.757 277.989 383.533 288.893]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 241.58 293.621 252.484]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) >>
->> endobj
-1875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 205.544 232.192 216.074]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a35c6f27597bb1b3e91f42983100adfa2) >>
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.008 205.544 279.514 216.074]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 170.527 236.068 181.431]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a2940a7c722ff786661a179b646a82346) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.883 170.527 317.71 181.431]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 98.504 239.036 109.034]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1888 0 obj <<
-/D [1886 0 R /XYZ 89 770.89 null]
->> endobj
-1889 0 obj <<
-/D [1886 0 R /XYZ 90 713.216 null]
->> endobj
-1890 0 obj <<
-/D [1886 0 R /XYZ 90 676.807 null]
->> endobj
-1891 0 obj <<
-/D [1886 0 R /XYZ 90 640.397 null]
->> endobj
-1892 0 obj <<
-/D [1886 0 R /XYZ 90 603.988 null]
->> endobj
-1893 0 obj <<
-/D [1886 0 R /XYZ 90 567.579 null]
->> endobj
-1894 0 obj <<
-/D [1886 0 R /XYZ 90 531.17 null]
->> endobj
-1895 0 obj <<
-/D [1886 0 R /XYZ 90 494.76 null]
->> endobj
-1896 0 obj <<
-/D [1886 0 R /XYZ 90 458.351 null]
->> endobj
-1897 0 obj <<
-/D [1886 0 R /XYZ 90 294.977 null]
->> endobj
-1898 0 obj <<
-/D [1886 0 R /XYZ 90 258.567 null]
->> endobj
-1885 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F95 1424 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1915 0 obj <<
-/Length 2081      
-/Filter /FlateDecode
->>
-stream
-x��YKs�6��W�d�&@���i6ɤ2�q����$�$XƆ"9 dG���x�a�cOy+� � �_ݠ�h��wg��>;_�Q����mT�Q�׈�>�E��v�!ʊ
-ẀI���/������cg�^�}:�0�F�Χ�������oi���Q����
��>�I�6�:��,u��S�h1Q	�0��al��j6�Ӣ�+��q�(��'���Ih���)���%4�/������e��+ը�����y�og���)M�/��O�uUp�"�#9�V�@��qP|���db�Sw,���� ���Fktr�q��W~7�Q�e�k��$��`��߲g[�x߽�3�r������	�d��y���3
����[�T����p��z �M�����v7�g�S�p���ۼ39” WY��ΐ����3�t`�ʞ_1���_��	��uZ&�(�=SL��d�iʩ��ꕐPW��Ҍv}{s��y�n��`��=<$u��;�n>�
nՍ[u�+.U�jh�|VQ���d�
-�Eh+P�Ok�S����9�e�F�,^
���
���F�`���U6�
�
��ٹ,�#J���HWpZ:V�^��)KhC��|�ǀ�|)����խ~�O�_�N��;KA@�/tm��
-��y�ޫ�ܴ@U]?��%�� ��	"i�#�P�bŶV��~�
U�?t͠O�N��2X)��X���X1#%]�B�*�� 1[�!V[�H_ 5��H�2f�?��ƏѬ�������S�JJ��!
-�
���T�RwVJS ^�!⁇�$&'+����a����&7�>#/����r�y�zg�x9�ot_�)��w$ZH�;��.�Q���4~�Y�~�_@�k�ZIcӳi)m'�6Pn���>��|��@�;�}�ifj���7^��
-̸+����6\cq�v/���[���
�!B��s<!!Ql��u2�/>Y��Ą�F��F͆}5_R� |\���V�<���u��B���*I�>�0;g��^O��ee[�p�ډb�R�
q�ν

�X�����A�
Z"���y���`jP��
���#N��՘��쨚e/
"��H���
V^�g�A�
��b��:g���aan���8Q
�[�m�
-4�	�u�(�ջ�L��@1}��l
�Z ��Y�ݚwI��r�������1��U@�d!UN6��� �cT�\Ɍ���E^�Q��xi��\fZ#[��w�l�H�{�[H
�o�d���4��
-e���e���������l��%&q߹ݬK�x�
�3R�M�c�5,
F`Vs\�~���ڣ�
Cy��*ȣ8�B�Sԯiߢ�^�C �
�){S�lK��ɦ��\�&��dڵGϧ�<��)f�
I�4^l�&�BeqL
-�
��~��1�=e��@Y����|��Rrn(�bi�Л�7�Y�[�����$F���@�b�!f���L�6)k�B�yһ�
��ԧ���b
�"5}D-Z� w)8K
Z��B]hǐ��FWx7g�;7���;i:�,�'0yQ�����fP��7��
�{�6*89d��Xܓ-�����1�<V���1QPE�t���&˱/��|Z�0i�az���H�{��k+k�m�䩚�&
3/|]�b:9M�a[F�
��t�1\nft�+x�^4
�v��`Nc��$��1��BgP�x�v[���]��mxp^ڱ��f�\W���7�m�OlK�b���*�G&�n�-&�b�Yx10�Q�q��.Q�;S��8Ԫ|p�L��
-?�\ S�ѻ�Y�K�b��`Xؙ��
Įj��@I$���Di�i{i��K��
c,BQMI��K� �����
�o�nK��n�%K����_-0'�`
-��_��"��
BZ"y0��rΔ�����/����b��Rk6��-� &ǘ<���cG�[�u�;-��D��� �����.
\���m�{�7_��`��hX����
��[J_
ŭ��/��L�#�4v����>�kj���=R*FDӌ��]1��=�钄L�It�åOywJ
o��

�F�C���:���q�2�V��P���Ʀʲ�-��K����x��?6x�
-endstream
-endobj
-1914 0 obj <<
-/Type /Page
-/Contents 1915 0 R
-/Resources 1913 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1920 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R ]
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 708.331 236.008 718.861]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.506 708.331 259.38 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a8f3243fa126b883715b5d2e1fd624e0e) >>
->> endobj
-1882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 673.433 217.368 683.963]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.866 673.433 251.968 683.963]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a59b93ad12584038a0308a11c7bd6df82) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 636.169 217.368 647.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.866 636.169 300.127 647.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae46efaa4ab81418b82d78b65fa2713df) >>
->> endobj
-1906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.846 562.64 322.291 573.544]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.1 562.64 478.183 573.544]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a79aefa5f658a89e23ac6db4491efc11f) >>
->> endobj
-1908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.309 562.64 513.996 573.544]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 551.058 270.269 561.589]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.08 513.795 319.057 524.698]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a677df7ca9506825ddd0b3b2f8fdd2585) >>
->> endobj
-1910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.143 513.795 486.588 524.698]
-/A << /S /GoTo /D (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 423.338 191.678 433.868]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1916 0 obj <<
-/D [1914 0 R /XYZ 89 770.89 null]
->> endobj
-1917 0 obj <<
-/D [1914 0 R /XYZ 90 690.174 null]
->> endobj
-1918 0 obj <<
-/D [1914 0 R /XYZ 90 653.284 null]
->> endobj
-1919 0 obj <<
-/D [1914 0 R /XYZ 90 577.733 null]
->> endobj
-1921 0 obj <<
-/D [1914 0 R /XYZ 90 530.91 null]
->> endobj
-1922 0 obj <<
-/D [1914 0 R /XYZ 90 441.966 null]
->> endobj
-1923 0 obj <<
-/D [1914 0 R /XYZ 90 441.966 null]
->> endobj
-1924 0 obj <<
-/D [1914 0 R /XYZ 90 385.551 null]
->> endobj
-1913 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1931 0 obj <<
-/Length 2555      
-/Filter /FlateDecode
->>
-stream
-xڭYK�ܸ
�ϯ�S�]�M�zk���7){7U��$�5ő��,��^Rr{�} ��k4~��$I >�T�y��^���z�,��H�ts{��&�
��Ы6�<`Q��� �g�O���֏GYiqW�{-�����7����
Ϸ�}-O�}��W�0��ȃ�ò)%,%y�M���۷W��^�y�A�`�i��e��<]��l* �݀
E��X��&#�֛��_SE�t��s��%J�mw��8HaԽ�U�H�T��G��}�چz�wa�u�ۃ�F05��� ���YҲ0�YH0,h�+
`oq����' �
���{P�H�m�3��B�G	
-��{�����2c���	� �BY>�J5n��F�6���d���E�h�HGWM�:RT�@� ����p?bm�J"
-�FQ{
�.;
l�5=?��2��k��ox��(��ÔeiF|�0�q��g��Y�0`�_{����
E9
��3Z�A��s�ɠܹW ��ԍ��甅�W����3q
�C8�V�����j�H᨝4��3
���F��l�D��M�_)�Z���9P��vPK4�S�C��B�
do'�=eè��wI�5dՙ��(ea�y�v��+����L�Q��ϰ88H
��2r�P�j� ��Ey>���%�YD^���͚�!gQP,$���>�S�9�������ي�&,���G�8|4��G�QKq���Jh����U�p��FS��rLz�a1<`���e��l:�$��Pf�e�)���_]���a�V��1{��$:s#+Gn�
1s24��.�}|��
�g-
�&҈ݧ	 �A��P�ft�"�v�
-8�ڴDl�� ��H}y���BS�EY�z���q
Lf:- �  �IS��6�
k��M�
�^O,3,�LN���@O�D��ZY�{����ڻ��0^�����0~�|[�b:fE����
棼؞�^�"�l��
���#:�
��]A�E�G�
��0��9�r럤h�L��ZC;A�(��N
�x�V��qML/�H��Y
-�����c6� e
Qi�mC�cs7�\Lo�vD�8(�d�N��v�s; ����>��f at d�
��!
-�ե)dl��Jh
Er�R4VV�%+ F�s5�v��,��
l
-��{w�@a �Vi�h~H�8�v���	�*^HD1�Sv�X:;���:�����&���+]���Ǧ�&lj!´@<E��#l8�U��u
�kA��Ya�rT���+�"t�p�R8� ��n���Y� 
9Y��/d`�Z������2�>
�K<��q4��V���Gq`*Qf��0K�)�OD
v�2�r�ץK%mµ�b?C��eƲP�,1v&
����@G�<�H�0$�1ӡW�Ϋ0}q��'��Ν�jJ-O��
	��z��\i����`�_�u�m���-(K��4�eo
	��EL�)�ӹ��_"0�O3˻밨���NQ���-����KT2V%A�B���.g``:h�a��A��w!�������ؔg����5V���� N�d�.v3k�����"�۟ϭ��=���Ԙ����(�CU
-�@�3�:a}�����;�M2sH9}� �#�u����׋Wvn_v�s��絜�_�eo-�M�
-�<Kg�2���"ϼ�|��n�e�>pA��
�Q:�`��y��!a�j���p��Y
L�U���q%����
�X׽���!���tځ��, ��I7��I���=��z>���|
-����
l[�`�ʱ���PG�-��r��(T�N�[�WXTG��;:y$;��f�TR�b�o��W��DJ�'Gp˹(L���j����X�G|[ٷ$�9R�L�s�J�s)V;!@��t�v��*������%ES���ni�M&ꯩ5F�2��ו�?�YE>��N}t��H!�2�NgK����Uf� %N7�=|�$���dʼNCg
���ī9�
�3������n���F�k��x�� r;�E���C���E`��L�P|ԁ�#���(�`��(�ot	;X��u��/�13�m����Qf�"�|��� N�/���/�����9�(���k�<t�;�5��s��%,̲��u�����v(!��x��O�)
��𦔲2�d��Q9d�~_�[�
Έ����9�xp/CkY���q�V{�8$>P|�
-����|+k�c|O��J��z5 ��ͣ��ieu��p'���Ȭ쑳�ȧ[�������Pd�nd��E
-�A~
�k�G�q�%^��
��w�g�s��i�f w�P�����zRЇR34��
��u>���	C#�>
3��\�[qV����
v/���+�r3�N
#�X��
-��8���f�**
-f!iZk9^�4\�:���_�/�CL/�y%�}s��^�_W
-�&�ݿ�8c	����;�(�s���N��)���=E��w��E�Ћ��ԑ������۹��K4��O��6�� �d!��Xr#��
��Ʒ~#�
U
�F90��u��/.�
+
�u�Lu/����S�
W�<f����}w��茳$��`���/'�ȁc��-�
-endstream
-endobj
-1930 0 obj <<
-/Type /Page
-/Contents 1931 0 R
-/Resources 1929 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1805 0 R
-/Annots [ 1926 0 R 1927 0 R 1928 0 R ]
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.07 453.443 328.202 464.347]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.651 205.046 406.173 235.89]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1932 0 obj <<
-/D [1930 0 R /XYZ 89 770.89 null]
->> endobj
-1933 0 obj <<
-/D [1930 0 R /XYZ 90 425.277 null]
->> endobj
-1859 0 obj <<
-/D [1930 0 R /XYZ 90 402.438 null]
->> endobj
-1934 0 obj <<
-/D [1930 0 R /XYZ 90 402.438 null]
->> endobj
-1860 0 obj <<
-/D [1930 0 R /XYZ 90 194.322 null]
->> endobj
-1935 0 obj <<
-/D [1930 0 R /XYZ 90 177.114 null]
->> endobj
-1929 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F88 816 0 R /F92 1102 0 R /F23 240 0 R /F72 273 0 R /F8 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1939 0 obj <<
-/Length 1640      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vi�x ���4�$mR�VOiFC��̩D*$m����AB��L&���&���v�ۅp��p������đBJP���‘L�zy�a.����m�D���Ɍ�������Օ���Z�>�L���
�4�
f>�(��FL�ѽYt��໏�f����w8�"��	�x��8\�"�
�_�V���+�����
���̐
G0�pʂ�qGU�rA��N�+�!�]���
�搭����țl�/���yX./�\�/�I����8,��}�9���
��"\��b��P$qj��h����$
��)���w7e;q(��/����N���m���~��qs]S.(�ߕ�
-P�)�}��/�	R8�b"���޳�i���5�po�!@Z�m�z^�@:��P�h��*�����JL��T�(f
�B����
-���r��
2?g�,��F��W�]gU��
l����F��5���
���9@ƈ �R%����˚vBm���i���"��C��(
e��Ա	�:W��3>
S��8\��<�td�6�i
��{�9�(�L��"�*����8������
�k;yk�6`�uxh8�����_�,�<�ϋMW76:�F���F(㩞�N]#��]�r�]jg�]a
�w�V%)ܭ�n8���3� �J�)�Jͫ[ǪЮ����
� _�F�/D�nhIJ�
5nOY�.�4�݌�l��ƀ���HgM���[�#�Dz��H����z�9z�ۢE� QP�ue�ҍ<�#��֣�����+c���R��Ф$�R/۩c&��4�rI��9gVq��V�r�*��U�50X�ƪ�V�ުz�q{B����ZU�#
-FOT�&�zr^ާ̔m�>��d

-4�-5Z5m4�S����A����^	S�\��A�+)��ga6΍L&o0�z���q=u_��v溰#�Mݺ�ce�T?Q� �Ύ�U^hb�lة�+4�[F%�Tz�i��"N7���H[��P�+����a�`��
�隬��|*A������L�e/M7$ۗ����Ȕ�����TVD	M�K�P����h
�~6�Q+��3!iFCC�Pq"`py
-��N�@_�M�vg�!	�
$LO�>o�cg��
S
@�(+v�r	N��u�}���fgj��8Mq��H���k��b^n��;��gPdS�����>�u	���%pp���ŕ)������
*;���{h�
-d��u-�'���0w��k����qub��U8x�2�Ͻ, �d�M�NQ��4
�4
��Lp36nF�Ww{��~}��v@��>��o��T5
��g�a��=M�*�NJ�T5e;��[�S��z�*ߊ
������
-(IL��URX�`�
yA)</�b�A���PW
���s!m�4�8���9B�i�Kj8B/��k+
-��9|Bg^�ߚ# �FѯA�b�|�&�
��_�#����
q��__�ۑ���HI�+A�L�Ԝ�{_�?U\j3i�qݞol�7K:���]��s�Y���v�7��ݚ�Z��_m�|��Y���e���Eӑ}76�TEt�N�*
-�E䟨o�:3�zR *%�iq�u������=ڴ�*�
*���q�8��hAQ��o[;�9Ԯ�����[xrɾ�e���#K�
xdA�
-endstream
-endobj
-1938 0 obj <<
-/Type /Page
-/Contents 1939 0 R
-/Resources 1937 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 1936 0 R ]
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1940 0 obj <<
-/D [1938 0 R /XYZ 89 770.89 null]
->> endobj
-1941 0 obj <<
-/D [1938 0 R /XYZ 90 721.073 null]
->> endobj
-1899 0 obj <<
-/D [1938 0 R /XYZ 90 703.531 null]
->> endobj
-1942 0 obj <<
-/D [1938 0 R /XYZ 90 703.531 null]
->> endobj
-1900 0 obj <<
-/D [1938 0 R /XYZ 227.842 625.694 null]
->> endobj
-1943 0 obj <<
-/D [1938 0 R /XYZ 90 605.295 null]
->> endobj
-1901 0 obj <<
-/D [1938 0 R /XYZ 184.963 393.586 null]
->> endobj
-1944 0 obj <<
-/D [1938 0 R /XYZ 90 373.186 null]
->> endobj
-1902 0 obj <<
-/D [1938 0 R /XYZ 90 240.435 null]
->> endobj
-1945 0 obj <<
-/D [1938 0 R /XYZ 90 222.193 null]
->> endobj
-1903 0 obj <<
-/D [1938 0 R /XYZ 90 77.486 null]
->> endobj
-1937 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R /F8 341 0 R /F88 816 0 R /F23 240 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1954 0 obj <<
-/Length 1398      
-/Filter /FlateDecode
->>
-stream
-xڽW�r�6}�W��L�B�>�bw�Ɖk+yh���d��H���_�%.IӲۙ���H�ݳ��.pp������hz�� CYL�`�2
$Q�x
O��SH0bl<!�p+�F,�e��^��X��V
�}6���Zܔ��Ve�xW��xB9_墪��k��zL�PK٘�8	2�23:���
��Q�����
���� ���`om��2�̃�ѯ#|2B!�H(b��h
-Q�1�������,s)
-�p2�+My���l��E֪�S���Ϙc�3AN�y�r
���,aֵW�r��C�eH��nߖkko�PJ0f��
f%��(BYJ���^U�P���d��a�a:!�6�Q0�`�q�Z�;���E�������3)œ:��N9�<Rk
�(V�"w����{:��eO��e��%rhu�" Ld��"�eN|�9=N,njQ�J����F���Ⱥ�~[���KVO�abn6���m�1�����?�'��PŝO�����o�vP N�	�
8d�ij�%�����^�\�|{�0�^������]
zqv���mŎC�XY�
2�4 =�2��9������~½	M2����
s��L����nbʆ
"wyqu�2��AB��4K�QsĪ\�6��L��j]j���X��
y�{���Ԣ�N�k]nz!��</ǔ���<s9��> P�A9�^��)��U�&
{!Z��.ƴ�)� b��R[͜�1�;ޠ���,r�awA�qy.F�G3�s�~�R������a���i�����kܓUj>f
t/m�]�áB
-.@�ĉk�W��\-���rs+
��wŲ��/��^}�)�49�~S�!߶�����*�Ћ�o[-����m�Pb#k��
K�|'��/�|?�A�qL	�Vfb�n�k� Z�
Jb��R
��IQ
Q�|�R���E��C 
:._�A) Ę%�c�|_m�����������C���@X���v
�8;)�bw�׳c�i�p��BC'���Xob�!�rh�̜p�
����Z�B徾���R�m�x�������Թ<�=�~�ֻ*�v�:D?4�eJ_�H�/��YKa�J��ƺ
ќ�"c���㌆]2�-h8{�E� �Ǚzp���bqw�Tl=�5Sҡ�<"�c]�
-͖�V|���2��1y`w���ޟ�%���8Fq�=�2ѽM4
6AQ���{s�
(�����^�y�.�Mǵ@�GNt�#?�]�f�X*��$�O��7��o�<�K}�
��L���J�n����]
�LY��G//.���=�؟Eq�w��Ea��D��ՇJ��0�:R]�b��(�2�d
Q"�����n�oT�?��;�C��}9����l:���hY�]���z���Ӈ��h�b0�
w>7���X�Sb����
-X��!��ƿ�d<
-endstream
-endobj
-1953 0 obj <<
-/Type /Page
-/Contents 1954 0 R
-/Resources 1952 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R ]
->> endobj
-1947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.93 339.088 294.561 349.992]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 284.49 217.601 295.394]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.099 284.49 292.877 295.394]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node_a91789742bc249ae6978607b843ec4873) >>
->> endobj
-1950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.693 284.49 331.881 295.394]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1955 0 obj <<
-/D [1953 0 R /XYZ 89 770.89 null]
->> endobj
-1956 0 obj <<
-/D [1953 0 R /XYZ 90 721.073 null]
->> endobj
-1925 0 obj <<
-/D [1953 0 R /XYZ 90 614.696 null]
->> endobj
-1957 0 obj <<
-/D [1953 0 R /XYZ 90 600.249 null]
->> endobj
-625 0 obj <<
-/D [1953 0 R /XYZ 90 408.702 null]
->> endobj
-194 0 obj <<
-/D [1953 0 R /XYZ 90 401.675 null]
->> endobj
-1958 0 obj <<
-/D [1953 0 R /XYZ 90 303.326 null]
->> endobj
-1959 0 obj <<
-/D [1953 0 R /XYZ 90 247.432 null]
->> endobj
-1960 0 obj <<
-/D [1953 0 R /XYZ 90 190.913 null]
->> endobj
-1961 0 obj <<
-/D [1953 0 R /XYZ 90 166.544 null]
->> endobj
-1962 0 obj <<
-/D [1953 0 R /XYZ 90 166.544 null]
->> endobj
-1952 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F23 240 0 R /F72 273 0 R /F77 331 0 R /F83 414 0 R /F88 816 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1984 0 obj <<
-/Length 1545      
-/Filter /FlateDecode
->>
-stream
-x��XKs�H��W�V
ό����"@��	(��
;�Iq��o�K�L�dS�-.�G��������9��k��b2?����$����:	v"?AA�6ΧiD�/�3�
cD��������K�n�z1�>!�
-;D�(��u>��;�>s0��٫�rǧ
<3�r��U�Jq�0������D+p�<e���Vj
2���q�
�Q�3x���\����O�pHBCjm^\qwF<�vi �S���Ί��N/��\�|���f^��(pf4F��
�ٔ�6�EÚ�,�ֶz�\��^�3V��^m��x�k��P�2���2˲R����1����h����bP2D41��Li0���,�xz��byYf�Tyy^n8��\j}")x��$�t�̲_D��	ă���9[Vevs�7�-�t%��99��n�O�K�)�J����S>�-�k����0�a�%��TEǪ�
�
��Em�4��U�H"R_s|S\�Qgܚ�w���|�
�"�$
��1J������ �$�������Bt������NY�9&��ͬ3C����ơ`��� 
ϓ�B�v��k���<_qs
N�b-��G���c�qt<�
8t2d�]L��L@,��%c����
�Q
0��H�"'�B_ZF)�
-��i\��7�(��
��m��[���뱅8B^���r�Fh 
����JlT
��g���&lNh)�iͥ�ѝv� ;#~�#�G�O���a9���P�:l;�Ö"/H
�-�y?	\���}
���-ˌ��8���\�ByE�J�DB�wv����~�z\f�;C��Y�WP�|#�
�i��;�_�5m�_��J�f�,}
�E^e�_dȽ����}RV4�s�)�X�V���Py
C�7�A���L��워
^ۤ�s32 l�j����Rȝy�����6;(�6|%+�v'?�u%LՊ��y��b�b���J�4��V^W�r�d�I%*�e��]r,=h�EM_��>�f��YzְI�[v�f̅&b��M�8p��K�/z�//�٦cX^r(�M���t�� Z[%�JYg��\3%�wE�	��P6��E�����?
�uGV��M+8�t�UO7����N�Y�e��
H��e#��2jS��y��bVKSk�J?�a�^�YoA)Ehp_�EP@��
�i��Q
E��3�G� [...]
_jD	@G!�0�w��V�zx�6��
-j���"��A�-�˂���Q3��7��U]�.z�y̰��#a�/���s$[�Y
-{7�9��>~>�+cZE���GG��BA��J҉�T

��Yd"B�Cg�j��%DI �cM"D�ȁ�3H��))r�?.�D�}��%��YJ�_�bײ�a�F³U�={�CQ,��Y�X����O�?�qۡa0Q�M(_r�o�o�]��Y���ਘD63]5Mu2���{��Q[��@i3��l����-HQ���5/�>����C��HL�YȎGe����3�8
-endstream
-endobj
-1983 0 obj <<
-/Type /Page
-/Contents 1984 0 R
-/Resources 1982 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 1963 0 R 1964 0 R 1986 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R 1972 0 R 1973 0 R 1974 0 R 1975 0 R 1976 0 R 1977 0 R 1978 0 R 1979 0 R 1980 0 R 1981 0 R ]
->> endobj
-1963 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.248 542.374 345.393 553.278]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
->> endobj
-1964 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.511 542.374 513.996 553.278]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.004 531.395 151.33 541.322]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-1965 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 473.326 222.054 483.856]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-1966 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.552 473.326 269.934 483.856]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a3bb68244fa25aa1dd28d53d6dc467dda) >>
->> endobj
-1967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 433.063 223.698 443.593]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
->> endobj
-1968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.196 433.063 272.673 443.593]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_af05ddf904c768d1a140b1eafb16029c7) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 392.799 190.762 403.33]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_af82d85111918a80f87f4a6c5ef4adbb2) >>
->> endobj
-1970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.555 341.204 248.325 352.108]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a210d9950e830ca6101b5094189bfeff7) >>
->> endobj
-1971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.673 325.879 368.113 335.784]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 300.941 266.696 311.844]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
->> endobj
-1973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.194 300.941 306.266 311.844]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a79f23016d52a66ea47028326561288ec) >>
->> endobj
-1974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.97 285.615 398.41 295.521]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 260.677 218.178 271.581]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.676 260.677 263.836 271.581]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.095 245.352 402.534 255.257]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 220.414 201.302 231.318]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a76f71f4b2731d97b10d323548c77b7a8) >>
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 97.824 197.257 108.011]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 76.49 195.613 86.677]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1985 0 obj <<
-/D [1983 0 R /XYZ 89 770.89 null]
->> endobj
-626 0 obj <<
-/D [1983 0 R /XYZ 90 630.382 null]
->> endobj
-198 0 obj <<
-/D [1983 0 R /XYZ 90 622.902 null]
->> endobj
-1987 0 obj <<
-/D [1983 0 R /XYZ 90 492.631 null]
->> endobj
-1988 0 obj <<
-/D [1983 0 R /XYZ 90 492.631 null]
->> endobj
-1989 0 obj <<
-/D [1983 0 R /XYZ 90 452.487 null]
->> endobj
-1990 0 obj <<
-/D [1983 0 R /XYZ 90 412.224 null]
->> endobj
-1991 0 obj <<
-/D [1983 0 R /XYZ 90 361.002 null]
->> endobj
-1992 0 obj <<
-/D [1983 0 R /XYZ 90 320.738 null]
->> endobj
-1993 0 obj <<
-/D [1983 0 R /XYZ 90 240.212 null]
->> endobj
-1994 0 obj <<
-/D [1983 0 R /XYZ 90 180.805 null]
->> endobj
-1982 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2019 0 obj <<
-/Length 1724      
-/Filter /FlateDecode
->>
-stream
-x��YMs�6��W�Vj&�	�rOmҤN��M�S��@$,3�@��*���/��(ٖ�L=�$Ap���ay���W���Fg/c�IQ��su���<��{(��y���bA�˪�ܰ\�iY����˱�U���5S�0ƞ�fB6<7M��1N܊�'~��KZ���
�f�
�OH`7Ɵ�^�~�}a��9X�
Q�8�b��������i�U��C� ���~���;:U��ۙ䛹�e� R�^�x��*[-o�j�`~�Di������
_�?ff^�\6}����͇=|q9����>b�߫���g��Ə^�����^�Qg���`��D�|ǚ������;`��]��zcoLhhDU��o���鈉�	ݻW#��g��031�u� 
�~�1�|��J�$�[�Ș
�D����zP�z]"����&ZJD1/8-u�ױ}DAg%3=)�u��-5O/���k�����Y����A���� a���UB�zYA�։���B�&@'�K���&L�1Q�� [...]
-�mn��Üq&h�r�;
�.T����tI���a�"A��(0�����
2LBo�1�3������ɭ}�K�O�y��I��jF"b�L�j5
bw�"$(		@
-PJ
�s�Y:�}���ID�U��Mѣ�`
P-U]���g�Y�ԃ�v�o�(l������
j����G~jV��լ,2mqHa�
�-S�q >�\�K
�~��]���U��G#j�b��'4=*^p��J�})8���Ucȏ�a�o�c`�T�|����ue~�]��I vD$l���k�/�t�Z��
@�Dž|":�es;��j,��j [��,]m�-��zt��$FI
`�hJS45z���~j;Ѳ������,�?ł�7�dR��g��n]Y���
���U��xNy��
܆%9M���0���ֲ쀅��0�^5k�,G�>>@��u6\� �?K�
-$�(C����QP�G���&��Z���hr�̪�d�wΜA5�ȀN�iV��Qr�A��e+
�ަ��$�
�~J
�@(�RbņR*@q�m'�d]�� �rӒ|��~t[��������s[�z�d��Pq�R���'D�v������������0
����3�	f��LS�o
��S��詈F��'�"�ǷG��bz��"
�>�g��(����q���B��B�'�Vc��2Cy,��:�x�'��]|�;ն:\����'�X�
�FC�`#q1����')��%���KZ7;�g��<&%<��P��rB�a
P�m�@�|j'|��超'?�
������R�)
-R�^k���r3
�a�š5���1�D�5�S���|@�Oc\���l=�8�n=�� �ۥ��&�Ý��i��w�)����>����I�Q}�T����`-
�V����;���]��;��N^���}��N��N6Da�w��
-���K�ej��F��Et�߅�ЫG���9�O�e^
K��yv
d|`}�� %���;gR	k�^&���Fc��?v�9 ��C1�����0Mv�/'��h��l
���=��{Ҫ_S>_ѹ1u�a���خ��L�0C�(�[��:]F����h�{`�Ko��t0���ZH;�o���&U��L�%�=n�i�����z�FY�V�X
-T4g�ey�����a���iݞ�/*�t�1$>��$nլ��o���n�����
-endstream
-endobj
-2018 0 obj <<
-/Type /Page
-/Contents 2019 0 R
-/Resources 2017 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 1996 0 R 1997 0 R 1998 0 R 1999 0 R 2000 0 R 2001 0 R 2002 0 R 2003 0 R 2004 0 R 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2032 0 R 2016 0 R ]
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.968 641.594 392.801 652.498]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.683 496.146 207.239 507.05]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 401.466 231.425 412.37]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a307f552cb6559fb3316979350f0698e4) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 353.601 189.224 364.505]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad3ecaaf79c9a60ab4848342458e261d7) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 318.687 273.029 329.591]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) >>
->> endobj
-2001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.844 318.687 414.746 329.591]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-2002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 281.78 272.779 292.684]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a91754711e181bd642b50021a3750ba1b) >>
->> endobj
-2003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.595 281.78 414.496 292.684]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-2004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 244.874 323.738 255.778]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.236 244.874 381.969 255.778]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a6a0c0235057e5bd924816e77fbe24f13) >>
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 207.967 323.738 218.871]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.236 207.967 374.367 218.871]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ab86276be6b184ca176f526bdce7db8cb) >>
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 171.06 224.451 181.964]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a43f91b349368a1f43667546d2d844941) >>
->> endobj
-2009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.267 171.06 287.823 181.964]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 134.154 228.327 145.058]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) >>
->> endobj
-2011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.142 134.154 404.345 145.058]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.974 86.288 232.636 97.192]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a0ae5c861cdc8a2fed1057cb873c928fc) >>
->> endobj
-2013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.669 86.288 408.872 97.192]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.341 86.288 513.996 97.192]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 74.333 218.952 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2020 0 obj <<
-/D [2018 0 R /XYZ 89 770.89 null]
->> endobj
-2021 0 obj <<
-/D [2018 0 R /XYZ 90 721.073 null]
->> endobj
-1995 0 obj <<
-/D [2018 0 R /XYZ 90 704.246 null]
->> endobj
-2022 0 obj <<
-/D [2018 0 R /XYZ 90 704.246 null]
->> endobj
-627 0 obj <<
-/D [2018 0 R /XYZ 90 561.732 null]
->> endobj
-202 0 obj <<
-/D [2018 0 R /XYZ 90 555.076 null]
->> endobj
-2023 0 obj <<
-/D [2018 0 R /XYZ 90 442.515 null]
->> endobj
-2024 0 obj <<
-/D [2018 0 R /XYZ 90 417.309 null]
->> endobj
-2025 0 obj <<
-/D [2018 0 R /XYZ 90 335.81 null]
->> endobj
-2026 0 obj <<
-/D [2018 0 R /XYZ 90 298.903 null]
->> endobj
-2027 0 obj <<
-/D [2018 0 R /XYZ 90 261.997 null]
->> endobj
-2028 0 obj <<
-/D [2018 0 R /XYZ 90 225.09 null]
->> endobj
-2029 0 obj <<
-/D [2018 0 R /XYZ 90 188.184 null]
->> endobj
-2030 0 obj <<
-/D [2018 0 R /XYZ 90 151.277 null]
->> endobj
-2031 0 obj <<
-/D [2018 0 R /XYZ 90 103.412 null]
->> endobj
-2017 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2047 0 obj <<
-/Length 1888      
-/Filter /FlateDecode
->>
-stream
-x��XKs�8��W�TU|ӷĎ���$��sJ�T��H(��Î��o
P$M��{��Ww��
x������>9�L<'#Y������<'	3��ʝ�n.~�~�qJh�"�{������ן������'�<����$��ٟ|��sr�~�x$�R�NO�;���|:��gL���i���iq�L��G|�L(%��!�"�\Y5��y��{e��e
V����n��
N�����NbE�b���h�v�}Z]�����mEݴs�2B�^_+geħ��Q�y1#��x������]�shS�=�֧�Q<�����(� ���G#!��e�yn�Z��#�vA#��t��K�������^�fUL�w�᫚�݆O��)j+��Y� �$,�4$^���d.�x�ϛd� HI�bD8��� LѮz$.�t��zn#nyqЦ�	{��w��a����:զW+E,�
l�-��ͻ٘]U��y��]�c�h&b�׸:�(!��x$�"���ݢ�φ�KhJ�[+6�D at W
-Y���0L @
-
�����
-�l����-�Q�o6��ZP�����	C�&�_�/s+�(w�k0{ �����+Y
nx^������W8����pVQ.a�~A]&J� xm�J
\�e0Ҳ��ջT#�o�7�|k�3�5��؃p�8�?��,���Jf +W1���\u�྽Һ��
�{�ֶ�pֳ��q��9~����A���v
��.&3�e;Y*�h�7�⍙��hVs\3��]-�����xW�=/[l�H������Hb���5�j����
�8�L�L�L�Y�w��P��Eb��rd���S��Ŭ��r�T�ޢ��P��ئ?e`��
8-4!�o���ȹ�]z���y��Z�b�Gtzl]p
׸�a��(�Z
-iÎ2� 6+A3��N��D#��`���
D�0n�$�.$F�hB34�����c��teE#ͼZ*���b����T�l�Xur��
z���ȭX
Ht�c�s�6��hA`+k��
*<df8�ƛ�A�
-pe��� 5
fگ��p
�

-qx0��'1�7�O��&h�$�w|����K
7V����f�:A���^WT1O
|(��6
 �=[��fU�u�����Ƽ]aC	@��M.[�ԕ��Y#~7
-�U����%��|�mW��в;n
�iL�1�L�y��{����n���2g:�)�c�3����ީ]��#��r�֔7�}]z?�DF��G�P�i
�
/���m
����,�S�:|
-~6>KiL� FD$M��
�K�
����:W����Յ�q ���A�������:��
-B���~���_H����.�B�@�C�Yޟ��ȷ\��%���ڮ��K�,�9e��icr�<e���W��u�Hq���L-���e�A��?����ua��Ԍ,���.,i� �fQQT|��n)��g��u�Q%>���\�^u���
�X�Ø2�t:��kR��$�o@��;RD z3���&��Lu,�^����Zʂ��q���
����D[��ٳi���D�ŵ���ob;�+dY���k	�ŏ��Z�U�D�(>^��94
���sqt�39���%�S���zQb���%��?�lA}�,���X
��1����>���AW�z_�����<�$����O>)զ���wJe�D_wd�<��
mJ��}��/��͘d	$z����(QY"��I-z���LӖ��kl�
�x8��]�vF�(��.U���׆��ZD���
+;�H�<lnzM_C���7�
����S#"�ͱ_�Q4�������zӶ������
�4���YMD{ZU��� [...]
-���^��m��0��%�%&O�0m���{����
�
-endstream
-endobj
-2046 0 obj <<
-/Type /Page
-/Contents 2047 0 R
-/Resources 2045 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 2015 0 R 2034 0 R 2035 0 R 2036 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2041 0 R 2044 0 R ]
->> endobj
-2015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 684.897 238.817 695.801]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a1deba0aacc90a96b069e32f8c3d4559e) >>
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.459 592.695 206.015 603.599]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2035 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.181 281.45 379.083 292.354]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 207.885 286.113 218.789]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a041438b5dfc0a27bb1ef8944ccef9b20) >>
->> endobj
-2037 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.928 207.885 462.131 218.789]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.383 168.446 201.83 179.35]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_ad6b10e19a21f12cc1e19304c400cbcc9) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.646 168.446 377.848 179.35]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 129.381 179.355 139.912]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a8f633594965f90e853f0a0b7d9667e7a) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 89.569 179.803 100.473]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1063791d47e047aeeb186ba499482460) >>
->> endobj
-2044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2048 0 obj <<
-/D [2046 0 R /XYZ 89 770.89 null]
->> endobj
-2049 0 obj <<
-/D [2046 0 R /XYZ 90 702.144 null]
->> endobj
-2050 0 obj <<
-/D [2046 0 R /XYZ 90 637.953 null]
->> endobj
-2051 0 obj <<
-/D [2046 0 R /XYZ 90 501.064 null]
->> endobj
-2033 0 obj <<
-/D [2046 0 R /XYZ 90 478.621 null]
->> endobj
-2052 0 obj <<
-/D [2046 0 R /XYZ 90 478.621 null]
->> endobj
-628 0 obj <<
-/D [2046 0 R /XYZ 90 347.456 null]
->> endobj
-206 0 obj <<
-/D [2046 0 R /XYZ 90 340.491 null]
->> endobj
-2053 0 obj <<
-/D [2046 0 R /XYZ 90 227.151 null]
->> endobj
-2054 0 obj <<
-/D [2046 0 R /XYZ 90 227.151 null]
->> endobj
-2055 0 obj <<
-/D [2046 0 R /XYZ 90 187.832 null]
->> endobj
-2056 0 obj <<
-/D [2046 0 R /XYZ 90 148.393 null]
->> endobj
-2057 0 obj <<
-/D [2046 0 R /XYZ 90 108.955 null]
->> endobj
-2045 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F83 414 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2070 0 obj <<
-/Length 1595      
-/Filter /FlateDecode
->>
-stream
-xڵXK��6
��W�V{&�z˷6�v�v��f;=$-�k&2�����HJ���d�=스(� | M�G�:��~y��F�IH���r�D~B�f��n�(�ɔQJ�[^n�b[����J�����~6�O\:����B-�E�kY���
��e�
��J���J�d4��Q0���f�������Ì�b'݌�}�N�o
�$���޴q|׃g�
�5�֜KOmf��d4$�;a$i[߻�Ѧ��y7
�n�L�`�y‚��;P���j|��j{s� Зu�GQ/2Y}lTZ����Ӏ�;�f��ȉ���G�\����L��1cս��RY�ka݉zVN�h�݃OpOf֗{<��6�z�0�'A��Z~����5T���%�&rV���LY����G"?�&�h�?뀔�u_�J!~(�-�����VE�i��U6x/��
�4&A�>5��nSaO0���'#`䒑t���y�����9h����EZ��r'6K��Ƿ^����<4i8ʞ���)u�����.�.�}��0�z��D��$N~@��83N���3{<f������[�^�*-�V��Va�B
-���'F�ϖ�e-J^6�CX�k'\d7�6��:u^HUC� �bT�D������s�h﹄�Q��p.�-$E�l��y
J
C0���c�a���AF`��u�չ��C��B�ڭ'(�`����Tk�G��A�%I`u|m=4�
J�IN
�s+�Y��
E��Lq~���F�a?�/a��$�C�PP�[m�� ��D
QR=^%(�Dr��R`s�Op��A�Y��ij�/F�w�7���5a�1\ ���U-��qhb]!��0��r
l{�`�ˏ�г�4`XvP�y��B�L�9���k�v?n�
-
hvt��Q{�y��{�(��ׄ
��2�0dM�8��R��!����=��(��#
-EV�
��]������ͦ��2�)��^��&�Ι�
-��|n�Lbј���X�d�y���G"���E@ �Ѹ���]@2�~-��
�k�2Ό�aЇ�}�1e� IƯW�+xyo;!2������{���uZle���CG��ЪX�A`���2]ۡl�Vf���e�B�e�
A�[S���6-ؕ��7���V�ΎCW
Y��%�A;y
-ɱ�tU�#]VE��M"�6#�ajw
�O�z�s���?������xU|ك>�#Gv7	�U2�\�R�9���g��=�t�(���	�q�=��9�]TTu�!ޮ�p�f���9�ѳ���`x�ݔ���W���h?_jl��{Zo�6\y����t���<o��.]�Z
��,�
�ˢ nS�9���RT���������l�l��Ʊ\
Eg�Z*�+�p+>
C�ͻ���w���IH�o����:��w���I����+��2\����A���%�1��+A�$�4=ל�d�-9������M���k�
�hE�� /W��S��7��Љ69�jx~hqm�Qu�D�J��2ꁨ��O�ON;�}�[׃�.`�Ι���nnv�
I+�(�-��o���攁R���J�լ
tG��yp�ЙF�	�6:�n7����
-endstream
-endobj
-2069 0 obj <<
-/Type /Page
-/Contents 2070 0 R
-/Resources 2068 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 1946 0 R
-/Annots [ 2042 0 R 2043 0 R 2058 0 R 2059 0 R 2060 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2067 0 R ]
->> endobj
-2042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 695.169 199.907 706.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.405 695.169 251.105 706.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a5204a6f9136985b1cf438bea23fd9489) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 657.016 177.83 667.547]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a3e689b13a25dfaf0b6f22b21127bf4f9) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.356 576.729 191.678 587.259]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) >>
->> endobj
-2060 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.181 494.22 379.083 505.124]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-2061 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.072 339.109 218.628 370.078]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2062 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 138.599 194.507 149.503]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) >>
->> endobj
-2063 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 100.072 179.274 110.976]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a86ef4d8f3963d0e41bd32e5745b2b161) >>
->> endobj
-2064 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 100.072 263.687 110.976]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2071 0 obj <<
-/D [2069 0 R /XYZ 89 770.89 null]
->> endobj
-2072 0 obj <<
-/D [2069 0 R /XYZ 90 675.572 null]
->> endobj
-2073 0 obj <<
-/D [2069 0 R /XYZ 90 595.165 null]
->> endobj
-2074 0 obj <<
-/D [2069 0 R /XYZ 90 595.165 null]
->> endobj
-2075 0 obj <<
-/D [2069 0 R /XYZ 90 539.346 null]
->> endobj
-2076 0 obj <<
-/D [2069 0 R /XYZ 90 480.793 null]
->> endobj
-2077 0 obj <<
-/D [2069 0 R /XYZ 90 458.481 null]
->> endobj
-2078 0 obj <<
-/D [2069 0 R /XYZ 90 458.481 null]
->> endobj
-629 0 obj <<
-/D [2069 0 R /XYZ 90 245.218 null]
->> endobj
-210 0 obj <<
-/D [2069 0 R /XYZ 90 238.11 null]
->> endobj
-2079 0 obj <<
-/D [2069 0 R /XYZ 90 157.409 null]
->> endobj
-2080 0 obj <<
-/D [2069 0 R /XYZ 90 157.409 null]
->> endobj
-2081 0 obj <<
-/D [2069 0 R /XYZ 90 119.002 null]
->> endobj
-2068 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R /F95 1424 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2100 0 obj <<
-/Length 1198      
-/Filter /FlateDecode
->>
-stream
-x��X�s�6�_�[a��A yks����k��OɍG9&������[} q.�$����c�V���o��µ�-��4�u>������bj�WV�Za#Ba�Z�vH���S˧�b
-����?��?~�_������߉S������l&�_]+�ק���8�vRhc؇�ܺ��5q݊�!�S6/�d�3�ĵ��en�?�͒W���-�&+�Zn̨�����Q��5�>��V~�1��.��u�ZU3¿�Z;z.e�f�|�8.��9ϙ�>PtpYQ6문
[SW.q��o�Њ�o0F4���#�jg�k��`u�+�#9l֬QO5���`
�у��85vq�HH�
Ŭ^�Y}SfE�Hnawk�VN at l'+R�����Ʒ\�e���`�d�j/�
�J ^�J0��Jw������� (|3���,i`)8���'M�����
O�6^����˥�]���2�w��n��MyjFF�]�
ǯ��G�Z?����.3#��V���;%�U�7���Q/1�c�B�D����)	��L=�����f�x�T�֠=�ؕ�� ��ve�Qd/y��PSL�3x�浬!0��X��ܚ�n	'H$9�s%�m�9�p���*����S��t ZR�#
��*&D9�!�s@��Q����+���MNj [...]
-z�Vee�6!d|�ǝH�L�y�Elk۫�܌bdU�y�`b���r]���q�A�0�N3x� �&R����T�@�)d�
;�އ�ѻ��t�mY�a
*[�ٲb����L(�>����~
߁r�W��E6/��@}�5@ѝ��āi�X����L�
m$Į�R���H����]��Rr3�P�%N X��6�ܲ���lǿ�,�2�x��
�
.
?
��s����ա��FZ����q��BJ��BN�P����̸����H�`g>
-�g�zp�ta�9����D ���U3��(���g�=\�F���
��u���ҾF�K��o�T2+���LMߕm��nB�Y�B-�v��C?�E(��?�
����Q��� @˂Ih!"�h3g�1(�NG���j��*�jp�o�4x۲k��7q1]��&ѯ����I$8
~�YѲ�����
�Ŭ
�",X���U�k�"�X��w�)������ݺi�G��n�CI��"�V(kf�m>��.�h(�2j��m�JnB�E�|��-
ۨ
j����(&�
-endstream
-endobj
-2099 0 obj <<
-/Type /Page
-/Contents 2100 0 R
-/Resources 2098 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2065 0 R 2066 0 R 2082 0 R 2083 0 R 2084 0 R 2085 0 R 2086 0 R 2087 0 R 2088 0 R 2089 0 R 2090 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R ]
->> endobj
-2065 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 684.326 218.029 695.23]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2066 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 684.326 250.965 695.23]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a0b8fd6b1ed827658839d73fcb11d4755) >>
->> endobj
-2082 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 644.14 218.029 655.044]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2083 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 644.14 262.043 655.044]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_ad487a3b3a0d3590dd3678cf333549f47) >>
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 603.953 218.029 614.857]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2085 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 603.953 290.804 614.857]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a103c1a923368f15f9846bb63c5fc8bcd) >>
->> endobj
-2086 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 563.766 218.029 574.67]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2087 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 563.766 266.456 574.67]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a0ce79e66e5f99bf6dae5077d3eeb15a8) >>
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 523.58 218.029 534.484]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2089 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.527 523.58 255.378 534.484]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a981388a9978a768d9859bc6a05b59612) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 265.169 194.497 276.073]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.942 224.982 179.274 235.886]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_aba48365387e24282c5facb79d544df54) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.09 224.982 263.677 235.886]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 141.089 218.019 151.993]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 141.089 250.955 151.993]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a52e2da847dc03a6a0bd03eb718bbc2c5) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.432 100.902 218.019 111.806]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.517 100.902 259.253 111.806]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_ac9b4e9cbc50b16d0b8eae819ba758bb1) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2101 0 obj <<
-/D [2099 0 R /XYZ 89 770.89 null]
->> endobj
-2102 0 obj <<
-/D [2099 0 R /XYZ 90 703.966 null]
->> endobj
-2103 0 obj <<
-/D [2099 0 R /XYZ 90 703.966 null]
->> endobj
-2104 0 obj <<
-/D [2099 0 R /XYZ 90 663.899 null]
->> endobj
-2105 0 obj <<
-/D [2099 0 R /XYZ 90 623.712 null]
->> endobj
-2106 0 obj <<
-/D [2099 0 R /XYZ 90 583.526 null]
->> endobj
-2107 0 obj <<
-/D [2099 0 R /XYZ 90 543.339 null]
->> endobj
-2108 0 obj <<
-/D [2099 0 R /XYZ 90 484.095 null]
->> endobj
-630 0 obj <<
-/D [2099 0 R /XYZ 90 375.188 null]
->> endobj
-214 0 obj <<
-/D [2099 0 R /XYZ 90 367.755 null]
->> endobj
-2109 0 obj <<
-/D [2099 0 R /XYZ 90 284.809 null]
->> endobj
-2110 0 obj <<
-/D [2099 0 R /XYZ 90 284.809 null]
->> endobj
-2111 0 obj <<
-/D [2099 0 R /XYZ 90 244.742 null]
->> endobj
-2112 0 obj <<
-/D [2099 0 R /XYZ 90 160.729 null]
->> endobj
-2113 0 obj <<
-/D [2099 0 R /XYZ 90 160.729 null]
->> endobj
-2114 0 obj <<
-/D [2099 0 R /XYZ 90 120.662 null]
->> endobj
-2098 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F95 1424 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2136 0 obj <<
-/Length 1448      
-/Filter /FlateDecode
->>
-stream
-x��Y]��6}���0S�H >�o�t3I�t��>%��e[)���6���ݩw�����q�=�\��k--�z9��v4�
-]+Fq@�vaŮ�1�\ͭ6v�;c캮�fEƦ�<ݭ��`�T�
-V�..�
��涃#;�ΘP׾LYY��
_���	��|���0t>ݾ
�v;�2�`�kam Ead%���'ך��ז2#��u������~���=�
��+�ƙ�b"�sm�
^&�XWL�&W4hM�Zc�#�
�D�+��s�]��C��3^m9���M��>L�[ω����
�R9c?�azQ�N���j�l��˪��\~��D�nz�
3sY�b���#��"�T�P)�����u��_ۇ���w��|h
Q@�V�T�y�l��0�nT�۪�
h�u0�Svj0[y�
��di�;��[!���G�%)����P�����h�6�#!���ØQ����K.�7&R�3S|�S�0���.Qt7�{>Ā�SH���m�ƚ��^��p|t�{��ݻK��� 0�W3bjs��O�.�K�Wr�
Q�Վ�����g�T��2�4L��
p*�K�InjO.s9�>����fr/��
A��i3�7�T$چ�<�q���2�s
��#
z�A�op
n��*��r�Cnn���b��`�Dm3z|�
�im�����  [...]
 .!���=���7#�LH���|����d���V�%�v^�o��jh�w-�0�$4S��,��

-���F�B�DžFc�QB��*"8�^i�4�}.
Xf6�^��q]��jcj�}QL�l�i;��e}�r�8�P��<-����}JV��0�S��i&�rZ�*g/Ң�EZ�~��Z��Lw'�7?D	�T�1�*�[O���G�G�g r#[C���������ݩC�?���%�Cv�C����>�Md���E������uL�>��FeX���|)����:�y�&��"hP�)�Q� ��^d�A@�)��
�^ץr��4ǐ��>�<vr����-�T�dŋE}Pޜa�U��'u
o�{�$���m[���O�;���r�
L��7�����jZ�+����P
���VU���L��-JJ�|] QM��tr�
�0
����s���%�B���0�)�_�O��0��G��
-endstream
-endobj
-2135 0 obj <<
-/Type /Page
-/Contents 2136 0 R
-/Resources 2134 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2116 0 R 2117 0 R 2118 0 R 2119 0 R 2120 0 R 2121 0 R 2122 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R 2127 0 R 2128 0 R 2129 0 R 2130 0 R 2131 0 R 2133 0 R ]
->> endobj
-2116 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.912 533.841 306.267 544.745]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2117 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 455.857 242.354 466.76]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8b521c98491fa559861dae11ad3ec3f3) >>
->> endobj
-2118 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 418.8 242.663 429.704]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a84625e35d755ced248ffe55750614f09) >>
->> endobj
-2119 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 381.744 229.362 392.648]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2120 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 381.744 275.021 392.648]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a56bf9c6096c448f27d61416f27a05db1) >>
->> endobj
-2121 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 344.687 235.988 355.591]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-2122 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.486 344.687 288.271 355.591]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_add544c3d22008bb22d0b6fa536c651dd) >>
->> endobj
-2123 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 307.631 229.362 318.535]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2124 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.861 307.631 322.621 318.535]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad0f0c9ad050583abd703aaedb6e5cca1) >>
->> endobj
-2125 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 270.574 235.988 281.478]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-2126 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.486 270.574 335.872 281.478]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a81c4315daec6710e58a0617d92839e81) >>
->> endobj
-2127 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 222.559 224.093 233.463]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a25143e2f87da1099e3cb5c065a2e0890) >>
->> endobj
-2128 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 185.876 232.541 196.406]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aad130af7dc19af625d583e25020026e1) >>
->> endobj
-2129 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 148.82 233.497 159.35]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) >>
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 111.763 230.169 122.294]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) >>
->> endobj
-2131 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 74.333 282.204 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9f7d55f53c6ca0b56163de733c0bca5d) >>
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2137 0 obj <<
-/D [2135 0 R /XYZ 89 770.89 null]
->> endobj
-2138 0 obj <<
-/D [2135 0 R /XYZ 90 721.073 null]
->> endobj
-631 0 obj <<
-/D [2135 0 R /XYZ 90 620.983 null]
->> endobj
-218 0 obj <<
-/D [2135 0 R /XYZ 90 614.14 null]
->> endobj
-2139 0 obj <<
-/D [2135 0 R /XYZ 90 497.43 null]
->> endobj
-2140 0 obj <<
-/D [2135 0 R /XYZ 90 471.032 null]
->> endobj
-2141 0 obj <<
-/D [2135 0 R /XYZ 90 435.998 null]
->> endobj
-2142 0 obj <<
-/D [2135 0 R /XYZ 90 398.942 null]
->> endobj
-2143 0 obj <<
-/D [2135 0 R /XYZ 90 361.885 null]
->> endobj
-2144 0 obj <<
-/D [2135 0 R /XYZ 90 324.829 null]
->> endobj
-2145 0 obj <<
-/D [2135 0 R /XYZ 90 287.772 null]
->> endobj
-2146 0 obj <<
-/D [2135 0 R /XYZ 90 239.757 null]
->> endobj
-2147 0 obj <<
-/D [2135 0 R /XYZ 90 202.701 null]
->> endobj
-2148 0 obj <<
-/D [2135 0 R /XYZ 90 165.644 null]
->> endobj
-2149 0 obj <<
-/D [2135 0 R /XYZ 90 128.588 null]
->> endobj
-2150 0 obj <<
-/D [2135 0 R /XYZ 90 91.531 null]
->> endobj
-2134 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F93 1136 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2197 0 obj <<
-/Length 1635      
-/Filter /FlateDecode
->>
-stream
-x��ZY��F~�W�-R�w�\)�ʃ�lW
�ql��E	@	HX�7�>=�ı�\����@!�LwO�7_�
�3r|�U�y��~)|'BQ@�3t"�,B<�_�+B�s�C��(�N�����v^��|P�Z/:�/-
�|��
���O[?�� �~���F��Ѝ�#�'·�-ߚ��mLN�L����<
-��Ɛ����i��h�
�Jk�#Lk��|.M�5��"�Q2���8
��,�ܚ'xuW($K�د��*�W�ͲI�a�
%�xRi�O�BZ�y�����X��y���2�m�Yܗ
�.�Q����K
���
-3�,���3a��D_��|���q�x��7J����e����@>�`x�;�ei'i�M�R9�yw���M5��'�������/A�j
��OPTα�l���E���Z{�Zd�
�v�#
zQ�zd[�������1v�<�{���F��G�
�G���8oЀCD�;�aܪ���h"It�!߇E�8��F�ሐ a��8�z�<
�a�M�q/Sݭ��a�<��_g�,�$K�Dh��O[�rpbҾ�@5�=��lj��t���;�oA���[OB~!�
�
k��=8��r?���@
=
h4���F�N��4���)�Ė_aKU
�vXa�:�C5�O�O���[�)y�|�M����3Owx~۽�K�� `cq^{(s��-j��_�T��ɴX
"���<_�cC�(��$��>A:f����*$����O��W���f�z0�B
�+�
�r��HN����Yy�T�PxPQ����`SIM
-Jђ��eR?��!@zqyxR8dTI�R㤯��X��R�������q!7Vb �ܣ\3�vO�U��+��l^���E���S���I{�����&i#)��"%�@*b!�� J^�wR
�!����Hu��H��T$"q�-TDk*b۩H
�Dx
�� "";��n��Nv�]���MBd'	t/	%����b�K1��g��S�d*�XmT6,�F�J�RI
\Iի�xe��<.���k
�"��J5�b3i�3��b��>���\��R�]���q��(|2E��d�+�2}(.ő�\|ھ��I�.��v����^N��	n����ER���9���OG��b�x
#&�f�n�MI:��c˅��F�8g,f4A
G
A�:
�AY�Y;�*���@�H�OSTp�q'mSp
�ᙐ
���ڙ4�o�2����-�Ml���h�
-��-Ƚ�)��*[K]Xk�*�){7c����������r4N�� 4��>����n�4
�#uҺ��I
�x�Bș 9;�@D�
)��DJ�M����\?EH�3ᆀIxf�$Ew������q��=`Ӽ��j?�ˆ �Y
-Y]�U�9�qF���"G~�ǓG at 3�&*���[e7X6/�s�N�
z�\_�(@l�\,�B��G�Np�����b?��=�*��盤�ǹu���#�ES�:NG�xdE���2�E��y������
箭G�S�W��`:�۩�O@FDA
yP���Y���#�8�ӯ
-pde�
�zu2.�ُ��b�@���d���l�f�����x�!Q�9
����,�f�	�f�T@
��Muݽ
Y���

-endstream
-endobj
-2196 0 obj <<
-/Type /Page
-/Contents 2197 0 R
-/Resources 2195 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2132 0 R 2151 0 R 2152 0 R 2153 0 R 2154 0 R 2155 0 R 2156 0 R 2157 0 R 2158 0 R 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2163 0 R 2164 0 R 2165 0 R 2166 0 R 2167 0 R 2168 0 R 2169 0 R 2170 0 R 2171 0 R 2172 0 R 2173 0 R 2174 0 R 2175 0 R 2176 0 R 2177 0 R 2178 0 R 2179 0 R 2180 0 R 2181 0 R 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R 2191 0 R 2194 0 R ]
->> endobj
-2132 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 684.91 278.727 695.814]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a50926d4c45d6e451ccec518c8051733c) >>
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 648.156 227.958 658.687]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab7c4fb00dc7b0fff7edbe9d80ad15ae6) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.774 648.156 266.961 658.687]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2153 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 612.648 269.164 623.552]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4949285de47134b38f894d92823a931b) >>
->> endobj
-2154 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.979 612.648 350.229 623.552]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2155 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 577.513 269.771 588.417]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac72ffc5f5715e6a10e6d5e63a43b6e9e) >>
->> endobj
-2156 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.587 577.513 350.836 588.417]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2157 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 542.378 229.095 553.282]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac4f92e1418a46d38b818059a3dadab69) >>
->> endobj
-2158 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.031 542.378 311.281 553.282]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.439 542.378 382.456 553.282]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2160 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.259 542.378 460.276 553.282]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.286 484.329 228.916 495.233]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa8a9da2a38c61eb14ed1922e970552ba) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.591 484.329 311.841 495.233]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.658 484.329 384.675 495.233]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.369 484.329 461.385 495.233]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2165 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 426.28 229.095 437.184]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1) >>
->> endobj
-2166 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.031 426.28 311.281 437.184]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2167 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.439 426.28 382.456 437.184]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2168 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.259 426.28 460.276 437.184]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2169 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.037 414.325 308.86 425.229]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-2170 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.286 368.231 228.916 379.135]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af212c66bfb25b5b1949ee91f0e4b48ab) >>
->> endobj
-2171 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.591 368.231 311.841 379.135]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.658 368.231 384.675 379.135]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2173 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.369 368.231 461.385 379.135]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2174 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.383 356.276 307.206 367.18]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-2175 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 310.182 232.132 321.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2176 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.63 310.182 287.753 321.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3dec267cc9fa523feea43a8c0acdbe00) >>
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.569 310.182 335.075 321.086]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 275.047 232.122 285.951]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.621 275.047 287.743 285.951]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0debe61d4b261fe21a4109f8920557e0) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.559 275.047 333.381 285.951]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 239.912 232.132 250.816]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.63 239.912 287.753 250.816]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.569 239.912 341.7 250.816]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 204.777 220.765 215.681]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abc5704127ba61d2413c9bff4fd30f323) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.581 204.777 272.511 215.681]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 169.642 253.422 180.546]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a269b05089d9f1a4c329d5f5f1fe87dec) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.238 169.642 305.168 180.546]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 134.508 253.432 145.411]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac302814cfa610b65b7e92426d20b7efd) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.248 134.508 305.178 145.411]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 99.373 213.014 110.277]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4ee0954f71183611c9b29ad07ad9fba2) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.83 99.373 264.76 110.277]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2198 0 obj <<
-/D [2196 0 R /XYZ 89 770.89 null]
->> endobj
-2199 0 obj <<
-/D [2196 0 R /XYZ 90 702.144 null]
->> endobj
-2200 0 obj <<
-/D [2196 0 R /XYZ 90 116.606 null]
->> endobj
-2195 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F83 414 0 R /F56 239 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2246 0 obj <<
-/Length 1690      
-/Filter /FlateDecode
->>
-stream
-x��ZQ��6~����L��� o��4i&i���d<
�6
�]�_��wGr3}1�����ӧl-,l�1��zt�R`�C
�ܺ�[
���!��_h}�lo2%����V�l��ۥ
3G7��m_�x7�xl.O�;N�ɔ2<���<ק��\��dH��qlg,�ɧ�W�߯G_F
��0$\+X�>|�V�_Y�
׺+�,��p�����#l悛sb�1'B�� ����RV^=f}�2��M���O�-eP�0��/���/?�Ww>b����+�BO{
�^��~�
6rG�H)����F���b�%�8/]���ƈ�
�)��F�F�]BW�T�����OB}�&�V����!
�\�b�g�P]wD�^�f�ҋ�ή�lb����
�Z����^��D��š*���;ډ_D�Ʒª1�����ϗ�i(Oſw�)rmw?�:T�z<}�Q˳y�����#�\�bī�t�M
�K��Y��i�8�[���Bf��Vr�f�Y��n��̟��*�Z
^,��y�F�>��u��Zk+͹����
�#��ᶼp]�]>`�(D� [...]
Y�u�+�9r
o�X1�8�
N[WE���^��d�+ף������ˤ0v
fxڳ�
��

��~
D�,ܬ��k�h�:H����_���4.��V�'���[:o��
*��%?]��5�^���!��r)��?絲����r����"?)�H6�O3�?bLe��yM!?�9���G�{ھ�����V2��`���<W"
쪡�F�n�Zy�r�
-
5
�F��
��I�h�=�j��9�C�n#G

&
�dݖ�E��
�$	䌿�{GH8�������1��K�'v�������\M��� I�=Y
���Ez(�y!W]��
A0�3���A��.*���@j���8�m3T��
�律,G¡�Z��ѵ�m���>]
������Z
�Y-Z�EKd!�1n���D��k
��c�
-�zAz���B���*�_���v�G�bC
6�W�B&Z�C<
��?|�{���ٕ�6P�O J"J�^�.���+:���1��(i��@����
d`���Dc������ N�@�>D�"B�Yᄌ
����B�F���˅�cȰ
~����y�kR�y���&;�GڱGr�)���E��g����۴ɓ��“W³�~͆ܰ!?dC~�
�a��k`�*�1�=%��8ÐU��Eh&��N�L��sU����)T!e^oU�î}�V��9v����r�:C/�G(x���~0�Po.r��O�=
���3�GQ��TM� C�kjݽ�PM
"�v��c��pr���G1�3�6=Q��'B
$�8�ml��A�r�/ @��,�e�l��y�H���QNi��G��Ҥ��צ;m�S�����f����
�"Α���;fp�afj�}��%%3�$5_s'L��T��j�`u�Z{\��6��f7�&	�w`,�^��ԟ>��Q`Dm���
.���0����4���L(w���8 �<���]�^�;[�5�
-������G�y�+��*,V��2da��S��\@��֠�	c�z_�l���
-w���m�Y"��e�^�JMkg|����
-c�1EU�uI�<-�b������9�$�:CQq�^�ǯ!v���n�Q�[�4O3�w�������T�C��ڭ�Wh�a�0��'�
-endstream
-endobj
-2245 0 obj <<
-/Type /Page
-/Contents 2246 0 R
-/Resources 2244 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2192 0 R 2193 0 R 2214 0 R 2215 0 R 2216 0 R 2217 0 R 2218 0 R 2219 0 R 2220 0 R 2221 0 R 2222 0 R 2223 0 R 2224 0 R 2225 0 R 2226 0 R 2227 0 R 2228 0 R 2229 0 R 2230 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2243 0 R ]
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.127 707.957 186.574 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.546 671.922 205.831 682.453]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a45dd7fcc9b518abdc94c454b66ba1d5b) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 636.906 282.603 647.81]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3eced5e4c9a959bf44ba28393466ed15) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.739 600.498 268.376 611.402]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a101725c81694df74ced9b4f2cca1fbad) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 564.09 212.486 574.994]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4b3c940e8c7c8981b9b2124a75e011c1) >>
->> endobj
-2217 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.384 527.682 226.314 538.586]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5d5942488536d6a9095fc4bdebb9f7ed) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 493.413 201.946 503.943]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 421.245 232.192 431.775]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aaf462d898fecd8d545ce48f6a0632c3e) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.008 421.245 279.514 431.775]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 386.229 238.818 397.133]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_adb6d91da0ca1b3f0f9b755297ab69722) >>
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.633 386.229 292.765 397.133]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-2223 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 351.586 236.068 362.49]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af31626a3fd875ced253836666b29990b) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.883 351.586 317.71 362.49]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 316.944 242.693 327.848]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0db3ec1fb2ff3022b06cd0760dbc9b11) >>
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.509 316.944 330.961 327.848]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-2227 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 271.716 263.186 282.246]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) >>
->> endobj
-2228 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.001 271.716 310.507 282.246]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-2229 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 236.7 269.811 247.604]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3e3093f0cebb7f7d4b1ac1f1dda4df5b) >>
->> endobj
-2230 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.627 236.7 323.758 247.604]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-2231 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 202.058 267.061 212.961]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5b00da433f9d9473b1fbd2cdf6c5976e) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.877 202.058 348.704 212.961]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 167.415 273.686 178.319]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.502 167.415 361.955 178.319]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-2235 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 132.773 249.905 143.677]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.721 132.773 301.651 143.677]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 98.13 255.993 109.034]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0f157e4c644b4ca57dc6d0ffe0509ae2) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.809 98.13 307.739 109.034]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2247 0 obj <<
-/D [2245 0 R /XYZ 89 770.89 null]
->> endobj
-2248 0 obj <<
-/D [2245 0 R /XYZ 90 721.073 null]
->> endobj
-2249 0 obj <<
-/D [2245 0 R /XYZ 90 653.894 null]
->> endobj
-2250 0 obj <<
-/D [2245 0 R /XYZ 90 617.486 null]
->> endobj
-2251 0 obj <<
-/D [2245 0 R /XYZ 90 581.077 null]
->> endobj
-2252 0 obj <<
-/D [2245 0 R /XYZ 90 510.027 null]
->> endobj
-2244 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2311 0 obj <<
-/Length 2545      
-/Filter /FlateDecode
->>
-stream
-x��[Ks���W��j���-��M�d�٬�\f�T�D۬H�BR�(�>
�H�)���Tr1Ml4�_h�8xp�?�^]��p`��T������		w���D��o�&5"F�Ců����퇟ool�Շ۫]h�q�
�t�X_}�
K��c�3:x.:�N\W���߮�W�U��!
-IxB�q
-|�T����f�I���Ӕ�I4�Q���'�x��[-���œ��2���Gi�,�y�e�C�
�v���5�e��?F�t���

&���
-ˠ
s��ΙR$9	f�"%���
-�27�|c�\��Y�)����(�3ק)�!%ɡ�7��Ymm0ejb��7�
�)�8?m�0Yv"IS��wH��
Mg���m��S5ۭrw{%���.L�7�I
E��z���
Y�I���
-Q��
��3�5
�)*��3�x
ͣU����ܲ����u�Yowy�<�a���V3g�r���(J��N1D����b
3����6���x���&ۥC�v��0�)��<&�+yv*S��b:�]�9�dms�h�(�>��jN_���f������v���
�z�� ZY_�o;��]A)���:�N�:����~�>� �g���XfU�ڙ��@AN�9��H?�6Z�Gf(8�D������ح-:8�}���P� �i��Y]�|�&��
�ĉ��b�;G
�`d�n!k
��0�`������~*N
��W
-��o�Va�Ԭ#$�<^�����)!d�qx��|�Ɏ́�ɻ���'Q��?|٦�Ew��`ގ��~U\�Q�w�[F�XK�oҳY���
(�H�`$qpu���V`X�I�P�X����S7����Qw�
�M�T�~�x�w�p�-Є3y��};
�DZ�R0���@<�Ô7��_N=���eV�&pi|lzT-A/���bP�x%q��wK~T�D��^���\�
�
"�LRC�BZ�f5
����?T�J�g��B�b8hE
O"'�/��6b at K'bh�0
58o#��O�G
1��ps1�
"a����p as��_�A��ȹP���|G at A1
�ș@aF��
ݺ�r>�X���ŒF
cF��[��Gà �� ˄��yk�F�K@&
���M��=��7Ø@�hV
@`
w���jp�8�'��w0Hs���+L��jx�t�M�<X��P1.S��0J�ҩ�
0��o�Ww�~�~^�׼CEF�6p4+��Q�
8XB�]�U�P�J�iU.*�����5a�Q_@v�`�&�`S�;6�
t��>�i*ԤDk�x5��n�`Hc�o�cX��W�u�1�@*@�-���ձa}�J0�`E��E+Q��L�1�� S���A>x,%g���#���D|K�d҅���
p�+6���øoō���H���@���{�`��B�f�T��8����ڝ
- �c�j���
-`�"RjCk��:Z3@�`*�HR3*�S��%�^#yi&�X���`�L�H�E�^
�`�o30%��5� Sѓ� �o�������!J�4\�Wc�?�������W����n�z)�O�h���rN���<�K����0��z���/�ؾ
S�l��!^��+H���TÍ�D�uᖮ����:�7i���/�7��7!U�Д(2��B& 'ꉦ'KHT��a ��xj%
W��b �����ˆ�V������0��>l�i��FI�
N��ucA]I��+
-&���hi�P
-���

Z�ފ*sf=L�a?y
;�l
;�^���Wĕ�_Dϝfc�9f�� 0[9�q�o
��=Ub�SC*�H
9q�tܶtb5  �#"�4��Jl`������tb�mhb�AX?VkR'ݗb5lյ��@G1R�;$6�F�I*	� 3��&)Pa���`]��Q\ֈ
^�}]\f�p��:�P�v&[f��2;�-�!�<\�����1=Ȕ��
r.��1{
v+xo%�0>�T�ѭst�����
-|��߂�&�u�p�R�n~+D��VŽ�[����$]x	�AFp[F����q�c�u`Q��2�;7�!�2�(5c��0�}��~]�:�F��C%g�H<�F�sh$����K6L!�bu�Ө���R����b#v��4�
Y�=�Vh鮷*��>i(V �	Vn6p�m��
-Z`U	;V��#�J
�U��x��Y��J����`5c�"eM�.�չ`��o{�M�<
�d�m�E4_��(���9�t�y�����
*KX���~'˴qN���s�i:�t���f�z��4{-���m�kt<t�6���Ι1w$۝
�O�k4%���W��Q��W7��o�	z��r�pI���f�n6���#�2���F�=&!t��h��g�M
���g����<��{���_�Ԑ�C�O��۟�4L���c8��ھ9L
v��w?����6��gWϢ�w���Ϳ�ɮ����ЭTz8f��"jM⿒����w�gP��g�6O�ׇS��y�������3Zdh������v��n����8xZu�
�����M�ϴ�������'�m] j�� ��y
-endstream
-endobj
-2310 0 obj <<
-/Type /Page
-/Contents 2311 0 R
-/Resources 2309 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2265 0 R 2266 0 R 2267 0 R 2268 0 R 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2282 0 R 2283 0 R 2284 0 R 2315 0 R 2285 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2290 0 R 2291 0 R 2292 0 R 2293 0 R 2294 0 R 2317 0 R 2295 0 R 2296 0 R 2297 0 R 2298 0 R 2299 0 R 2318 0 R 2300 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R ]
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 707.957 243.549 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abe395df0f967ad2074e87c95cab973ee) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.365 707.957 295.295 718.861]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 673.473 251.011 684.377]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6e6eb647853269db9de88ed234a16656) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.827 673.473 302.757 684.377]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 638.989 282.005 649.893]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5b12ca4fb2557b59516d1bbb2e30fa43) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.568 602.898 311.394 613.802]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0c39fad28012b1e32b3bb3f51aa395e9) >>
->> endobj
-2267 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.21 602.898 363.14 613.802]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2268 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 557.455 225.298 568.359]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6e67cd103e4b330d46ded91f0ed0ec2b) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.114 557.455 264.301 568.359]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.856 557.455 359.105 568.359]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.74 557.455 427.757 568.359]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 512.012 238.02 522.916]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa7225f4984a8ca7b4701b78e9aa545b3) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.836 512.012 277.024 522.916]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2274 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.578 512.012 371.827 522.916]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2275 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.462 512.012 440.479 522.916]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2276 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.335 466.57 265.386 477.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2c5d0c7fb2c1bbaa9359ed0b497152cf) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.599 466.57 304.787 477.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.235 466.57 400.485 477.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 466.57 513.996 477.474]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.176 454.615 208.193 465.518]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2281 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.864 407.969 285.637 418.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) >>
->> endobj
-2282 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.615 407.969 328.802 418.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2283 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.721 407.969 432.971 418.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 407.969 513.996 418.873]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 396.014 171.361 406.918]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2285 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.94 396.014 254.957 406.918]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.436 349.368 276.092 360.272]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aac326b042c380a004289377eca7d2342) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.856 349.368 315.043 360.272]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.503 349.368 404.243 360.272]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.747 349.368 513.996 360.272]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2290 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.232 337.413 193.249 348.317]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.977 291.97 296.356 302.874]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) >>
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.89 291.97 339.078 302.874]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.999 291.97 436.739 302.874]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-2294 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 291.97 513.996 302.874]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 280.015 171.361 290.919]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.996 280.015 240.013 290.919]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.237 234.572 275.893 245.476]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a94e51c5141f6c2a46e4c8d8aaea539b4) >>
->> endobj
-2297 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.557 234.572 356.806 245.476]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2298 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.639 234.572 445.379 245.476]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-2299 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.703 234.572 513.996 245.476]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 222.617 171.361 233.521]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.922 177.174 296.3 188.078]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a21e654ffec08b0a79e6aa5ec29d72d) >>
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.807 177.174 381.056 188.078]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.466 177.174 478.206 188.078]
-/A << /S /GoTo /D (group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.095 165.219 202.344 176.123]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 119.776 293.621 130.68]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.437 119.776 332.624 130.68]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 74.333 297.497 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acd1f5212866a8cf9921096367ad10354) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.312 74.333 358.089 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2312 0 obj <<
-/D [2310 0 R /XYZ 89 770.89 null]
->> endobj
-2313 0 obj <<
-/D [2310 0 R /XYZ 90 655.897 null]
->> endobj
-2309 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F37 2314 0 R /F95 1424 0 R /F93 1136 0 R /F41 242 0 R /F94 2316 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2365 0 obj <<
-/Length 2035      
-/Filter /FlateDecode
->>
-stream
-x��Zے�F}��mQ�U]UP\&66bݻ=�c�c<�������Z\
��گw�
B-i4j;�Du��<�u2[

[oo�}������У��8�Bl�n��w���&9�dJ0�vUY4+��vɓ*��ҧ*��o�|�Pl���E>�R��UTת��Ϲ|���|��v@&??�����ͯ7�Q0�V��|�[	<~g	1k#;e�K
�����o������[��s�ވ���O"D����uÅ��k7K��v��I�~Ƙ�Q��
��]̅ķ��ӟ��%B"9e�Lk�kgu��g��&m�j�j��6�K
7Z�B��
-Ss�VW�(��4�y
��c�1� 4k>Gը`1�v��
�
�Ky�/:��Hk�P�H�Y��P��[X�el���0,��1%A����8d��{���;�4`�)L`G��R�3��i� �9�tB��<!��J�g	�4�����G9R�ڤ	j�)
']>c�Nb�~R���N<&M �o�3�5�c�� �݆�Ku�������lD��ǿ��.���s0��3}�vt���}�Q

l
- �( 0CQ�j�ߥ�� ��;�T�G�NږC at Jǁk,�]�Z,k����Ʋ��o6��cN8��,��<uO�m���,
��N����
�Փ�L
_�9�{�=�F��y����Ui�����Q$�|;��?L��Up���	
6ĴB�� cV
Cx9�e�}��]�}�
�eG�W��S��R�D�������ʱ�M"�9�>U@ sJO\fc0��D�O���!��Sc�U��G
m��8ʍ��k{N�\x:��i%C
�9�8!!�A�y�^
�Q���q>�N��g&\49�Ua�T�E�318IFqG��5g��Ko�<���͡C�0�lȭՃ�Q��Q��gi>轳�s/̨���ϲ6��w�2y8h�*�+�ߟ�ܒ��m6f�I����hz0��o�T8��
�
-�k�ȋprMj��O
�� :�z�N�4�n�_O�{�'�Z)$�LDJKș���v�}�T<+� 5r/���^�*��T�g|4^=
i!Ѽ�}��
�6G�j5p|�/��܄�a���8�
�}�a$~U�-�ŒW'[�;1 B���n�W3��J����S�)ĽHv:#��>Ad�0�D�3�K�d�6�I>�г��31�n�"�=���j
6
�H���D��JA%���_��M����ht�)+G�
7BSB��#4���qQ�&|�e�c��
O�)�y�U
-�NA�S�3�W^�x�tU�3#�H�^=s�ޯ~>|�LGQ��l�ǘ�:��Q�<`8q�ȺCU�|
P����#�

-מ��:�a�ڀʢ�+��X7��4Z�L�jl�r//<�DfC��Ő}&��J
kr�
�΃Ԟ4M���ꞇph�{���tM��G+|saS#���]Ki����2�M��NԂ��@��
T��(�C°ݖX��J�F5�J�`՛'�*6ߕG	�^�Mtl)^��
-
���x?�/�"�Ҽ��U��2���K~ G��n�7�v�/���:j��nZh�&�:^�t��xS�G�q��R
��'	!Q��r���-�yDg[�~6 ؁Q
3�Þ�i��q�f]�{W���eJ��ȯ ?���
y:\��Vl��i���'�?��5��
-�y������`p��ᾑ�5
o���?�޾4tqqI�8 m�
��>q�,���j��X	o�4w:>^���#�+$�T�zX+�S�M�?�u���|�\�z�5j�ǝ������
-+n�p����C���R84�ލa�#� [�Y_
-��ిf�Þ@/�q ���	�c��k��f��a_ċp8�
^����E��z�z����
�
����#��My at bE`�!�>�'��JEGeJ��`��e���{�?��y	]�lS����:Z����\~
6��?5��2a�D��Q�6<]�KY��v���@��
wP���2��{��)�(�~#X6M���v�٠�F�<-+�6�e�����,������!�YQ�v|�
Ϛ���Y�E�i��7-IcA
-endstream
-endobj
-2364 0 obj <<
-/Type /Page
-/Contents 2365 0 R
-/Resources 2363 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2115 0 R
-/Annots [ 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2339 0 R 2340 0 R 2341 0 R 2342 0 R 2343 0 R 2344 0 R 2345 0 R 2346 0 R 2347 0 R 2348 0 R 2349 0 R 2350 0 R 2351 0 R 2352 0 R 2353 0 R 2354 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2362 0 R ]
->> endobj
-2332 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 675.194 240.501 686.098]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_afaf7844389329a23b58abf355ae79ded) >>
->> endobj
-2333 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.317 675.194 292.247 686.098]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2334 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 602.806 193.906 613.71]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5f7cb393111807edd0542e1e4367f249) >>
->> endobj
-2335 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.722 602.806 245.652 613.71]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2336 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 568.165 316.306 579.069]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a250dcd46824fa3fcc48f2dd92a8293ea) >>
->> endobj
-2337 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 533.524 317.412 544.428]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) >>
->> endobj
-2338 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 498.882 250.443 509.786]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab492b453a39228bad565e4964c7ad257) >>
->> endobj
-2339 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.259 498.882 302.189 509.786]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2340 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 464.241 280.59 475.145]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acf583e7c0fafe7cfa29463e2c697258e) >>
->> endobj
-2341 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.406 464.241 341.182 475.145]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-2342 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 429.6 311.026 440.504]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a95849529fc06d893870e1b39fe009db8) >>
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 384 275.759 394.904]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a178d863fdd91da50df37aac742b5f89b) >>
->> endobj
-2344 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.574 384 314.762 394.904]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2345 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 349.359 267.061 360.263]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a255b897130d61d679afec084d905b71d) >>
->> endobj
-2346 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.877 349.359 327.653 360.263]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-2347 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.481 349.359 384.668 360.263]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2348 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 314.718 268.167 325.622]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abeedcb4af89476e04d9b358ae522dab0) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.983 314.718 340.246 325.622]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-2350 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 216.426 227.679 227.33]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-2351 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.177 216.426 271.664 227.33]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af15807720fca193200fa6ea8627ef10b) >>
->> endobj
-2352 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.535 180.021 227.679 190.925]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-2353 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.177 180.021 319.264 190.925]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_add26476af2dfda6abbb7508ef88cae2d) >>
->> endobj
-2354 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 143.615 230.519 154.519]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.334 143.615 276.157 154.519]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 108.974 234.394 119.878]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad8155c4d2baca71b59e67eb7396bb18c) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.21 108.974 314.353 119.878]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 74.333 241.617 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2d8112f8870851653e56b12e910f7e45) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.432 74.333 293.362 85.237]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2366 0 obj <<
-/D [2364 0 R /XYZ 89 770.89 null]
->> endobj
-2367 0 obj <<
-/D [2364 0 R /XYZ 90 231.376 null]
->> endobj
-2368 0 obj <<
-/D [2364 0 R /XYZ 90 197.008 null]
->> endobj
-2369 0 obj <<
-/D [2364 0 R /XYZ 90 91.32 null]
->> endobj
-2363 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F83 414 0 R /F56 239 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2404 0 obj <<
-/Length 2280      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�8}ϯ�����I�"���L���6�i3����Pl%V�<����~�%)Y���������E�{.%ޝx;{q}v�*
-<M�dһ��t�E�&B�����+6����ǥ"TK�dz/�yu����>;{y}���G�G�|A"�͗g�t��µ�
͠�2���p��Y�L^�i���4�i4
�fD)���!^&�)�W��^��rvS���,���.'��}z�_	����!�+'�� |bL�x�"�<��	�Ä
-���0a�_�
7
cR޹�73qԪ�6�Ez��o�2�牳v�G
-D�W��d�'������t4��6�Ӑp���m�
-m������-F��/��
��c�H�4��Z�H��`�z���O܂���W�S�~3ʼn漁яvH/469�͈�y���w�]q< B����Ai����0�2�V(�v�O&~n'ԅէxg
WD���ie��7'���AnI톪�Ym�[{��պ��sj��vq����Λ�~L�|�2�5�B?˶8_�ID�v�fD� \5ϟ�
�4a��p��0~��
-v��A�8���P0͈�7

-X��Ɉ��[GƚR���y��
.���˴N3�fw}��xd�
���SA�j
H������+�$��هMU'�1#�@�+�P���M�P*ة�h �	�S�ڊG��/���x)���
_/W�$~1�� �b9L@��!�7�P]&�P�A�-����7{�����$�-�����b��i����8��9��1,r��U�d>�D`d
�-\��,�
�v1	`�
g��k�*��,Y���qU]�
Ȫp��d3�u�Ã4J�`�ᝂ7R��w��x�Q
ޑ�;�;�8��#Z��&|
-�(��
'|ǻ���n
C��wȍ�����>�a�<pH���F�E:��
���q�s
-dɞF:���!�Z�@ma��2T�_�A@$;�T��up!R��jW
U�*ꛗ�'wTpr���xgJ
&wd����T`�|�.���p(WCr�b y�0���B
6�h!�=�
A�-�y,<鯲u�O�n���Q�զE/r���1<�nT�*�
�yD��]K�BX8"b
n_r�#�G$ؾChC}{%	�8��hk�Gpi.��!,�
�\���~D4lF��}b(G,���Z�37@�b�˪_G��I��!��
V�^
�E7~_��X �R�)U��!&�uKLϩBQ����:����e%L���	�0�$)�^�~�B�W��[G8sX�M��b��q�k
�F�9ob
�-!q�he[����N�B�Q��A�����"�u~��4��z��$�H��3و)�lĔg#��߅{�X�Á
�g��
�9v_F�僗"�j�C�
-� 5
>�%1SM����e�R��J��&�9��4k��9��e�2�d7 N_̅��x1�M�����۞��r��p6)b��!]�&�@Ӹ��4��N��
;"�������`�#
莾�(��
u�j|�4[Y����&���.[������jl�̍=f`�2����l/$�%�k|P��N����R�r�Ļa�!�����
����Ƭ�
��,A���ufR2
s��
�'�T�omϛ�W��S۸��=\�@�o�2�Q6cJ\l�	p�t�r7<�b۵w��6򢶍g�m�$�ƶyI9���dq��C�*=��*��-�aX���
��va+_��KC��؝�7e\n���:��
c����t�@dZ�&�����2�)��q�܃��]:���ʌc�0�;�&K��A�<�#�"�9ĿM�7Ii��ʙ��_̍%q��!❠6y�2��Mf�)�,���U\.�Y�t3���w�ص��"���7/6\��4�	n�2��S�:U�~��
�����
�%Lu�q����h�$ap➆P�
����̛t̺��x����:�$	�Vs�>�ٽ�l�g�5��"�
-R���� ��-vӪ���"������ɗPN���+�DS:N;;tà�
%4�^�;��<OVm�
9M
s�`�)r9��z��ז
�,]�~*-|f��=��/��D�V ����!g=�O�n���������9
-��U�x�4���ŘbJ��+5�Pÿ[		e:;��V�oU���L�y��D�Zu�pᝩ�����m���Aဏ!U��;'
-o��&^�O�e"��B��$�m�p���h ���G�Q���F�?^����	��O�R����u��8?||$��tU��>_���.����U���'�C�#pS���3���᝕�/���
-endstream
-endobj
-2403 0 obj <<
-/Type /Page
-/Contents 2404 0 R
-/Resources 2402 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2360 0 R 2361 0 R 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 0 R 2389 0 R 2390 0 R 2391 0 R 2392 0 R 2393 0 R 2394 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R 2401 0 R ]
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 684.621 266.244 695.525]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6661b721ae109cee00992746554acf53) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.06 684.621 317.99 695.525]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 646.916 282.015 657.82]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a894ed94e4bfdc07cd6ef5d45e5c464b7) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.831 646.916 333.761 657.82]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.54 611.204 262.638 622.108]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.454 611.204 314.384 622.108]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2386 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.765 575.491 332.797 586.395]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5c870a4502b7d88bf273472936bf4fb8) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.725 575.491 385.655 586.395]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.971 575.491 475.798 586.395]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.932 516.864 318.587 527.768]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.098 516.864 374.028 527.768]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.157 516.864 469.985 527.768]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.144 458.238 337.254 469.142]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a27c32393002b42d894f964a5d60af964) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.371 458.238 389.301 469.142]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.794 458.238 477.621 469.142]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2395 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.311 388.652 323.044 399.556]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad078549415d6b45298d374eb3b6f5c7d) >>
->> endobj
-2396 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.745 388.652 377.675 399.556]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2397 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.981 388.652 471.808 399.556]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-2398 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.348 271.626 426.278 282.53]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-2399 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.717 259.671 335.273 270.575]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2400 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 87.842 230.651 98.711]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2401 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2405 0 obj <<
-/D [2403 0 R /XYZ 89 770.89 null]
->> endobj
-2406 0 obj <<
-/D [2403 0 R /XYZ 90 702.144 null]
->> endobj
-2408 0 obj <<
-/D [2403 0 R /XYZ 90 317.132 null]
->> endobj
-2409 0 obj <<
-/D [2403 0 R /XYZ 90 220.289 null]
->> endobj
-2201 0 obj <<
-/D [2403 0 R /XYZ 90 197.598 null]
->> endobj
-2410 0 obj <<
-/D [2403 0 R /XYZ 90 197.598 null]
->> endobj
-2202 0 obj <<
-/D [2403 0 R /XYZ 90 77.486 null]
->> endobj
-2402 0 obj <<
-/Font << /F70 271 0 R /F77 331 0 R /F56 239 0 R /F11 318 0 R /F83 414 0 R /F95 1424 0 R /F94 2316 0 R /F98 2407 0 R /F88 816 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2424 0 obj <<
-/Length 1538      
-/Filter /FlateDecode
->>
-stream
-x��YI��6��W�V�9�%M�M�IS M��$0d�
���Jr���Hm6�5i�C.3M�������{{?�
ߍn���
Q(���V^�=��HHxZzo�#N�c<�DE�6y�V�"�%񼈊���W��v{B�q�M�T��$*K�|�V��Le
�8g|
������w��F
�
1��"
�}��%l������
�
�'ޛ�o#|�B!=WEԺ�EU<!x�A����y�'*�������y�͖�le6�Y4�{��M�����S0)���
�2�TT̞~ܘ �e
�7n�Aϝ@"�9�Z�������g *is�sH�ޡ)azSN���ת�Yie��q�Z�U�U��ä9�Lڣliy�<�|t�BpD�<��
-[Yu�U�*��j��:�B'�֜94�!�s�tif(l��h��ۋ������"2�<��P�
-�Z�����/��x��RY�1���]�<�&
�+J����~�������z��"`bXߤZ�ݺ�'T�wىDA�0I�J��G�%
-|�\܇�
-��e
��[2��E�n�"��
��K$}	�ΐ�!�/�s��P���_
���>� ���|�0��|���@ ��� �p���8���r���.x8u���<�L��$W�w�E
��/
-��r��eɔC��O��tKf"ؓ��a6���{@ۺ�$TAw�~pEv����
JbPt���
�
%թܦ�� A�9�e!d��+ at 6
/ �.=di��Yz
d�Kn
� K�Y^�*�Tf�}�e�dH/������Cr�"9=�s��
�5h��F+3bw�x�6[��4�}�$�߻��ڢ�{�t��O4�Fɶ���Ei��Vjy�y`�����JcRTD��TQ
�uw���a��	�N`�Oj�2k��b,z�{U�tZ󿁾e��jQ�g
	
}X_������>�0>�����
�
u?�
-�Ϡ�Q���ќ��
�.c��C�2~`�Reyg����l``��;`	,?#E<�Is�����6�=>}� �%��8����z,����+��+'�#��1 TH��-
�}K/���	x�΅�)��
fŶ�]ӿ�jп
�܂*ᢽ=+�k����r_{Q3�F둞,!�.�w��A��9��+�G�N��6l�@����@&��A`[V�Z���ͪ|�X�����S0��r8��c �W~ �܎��
�l�
��r����c P��ԕc��)�_8�sC at +�Σs��	��#@��/�� � 
� l�a�Ca��@����WQyf �`�:' �_08�t (����}�
e�B�kٿWki�?l
����g�B�;����tA�酿}Կy�k@|��< ;���W��h첏
��Ǘ��ËHC���~
e���ފz����g�����T�w!���_�l%f�a�t���0x���0h2e �R6.&z���2;5S��t]U�ۛ��n�%�f�@qu��$7�t��B\J�^�UßӼh��J1`$����r��fji��K�6
-endstream
-endobj
-2423 0 obj <<
-/Type /Page
-/Contents 2424 0 R
-/Resources 2422 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2418 0 R 2419 0 R 2420 0 R 2421 0 R ]
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 607.699 230.651 618.568]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 463.523 230.651 474.393]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 213.909 230.651 224.778]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2425 0 obj <<
-/D [2423 0 R /XYZ 89 770.89 null]
->> endobj
-2426 0 obj <<
-/D [2423 0 R /XYZ 90 721.073 null]
->> endobj
-2203 0 obj <<
-/D [2423 0 R /XYZ 90 597.954 null]
->> endobj
-2427 0 obj <<
-/D [2423 0 R /XYZ 90 582.403 null]
->> endobj
-2204 0 obj <<
-/D [2423 0 R /XYZ 90 453.779 null]
->> endobj
-2428 0 obj <<
-/D [2423 0 R /XYZ 90 438.227 null]
->> endobj
-2205 0 obj <<
-/D [2423 0 R /XYZ 211.842 176.742 null]
->> endobj
-2429 0 obj <<
-/D [2423 0 R /XYZ 90 161.036 null]
->> endobj
-2422 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F11 318 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2435 0 obj <<
-/Length 1856      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~ϯ��l fxEfÀ�h�v]׵���bӶ6Y�d�i��w(R�)K��v�0�%�(��\�s>� ?�=�:�x�@!%����A�
-�͂�#��ﯞLHD��M���_^^=yy��<;{ru���G8 v�"LWgo��`������m��*���4xs��v��A��B� "
Q������"^�R�J�����R�H!E�{�qȬ�q]x{/��bge�rV}���	
�(M2
�Z�I81z�I�̮�����_%Y�J��3{������e�.( �]]�@����r�l�[]�����c�g��@\�`��|YmI��uv��*��϶+]�e�<�ϝ%��${�1]mW��Ø��8��#*���4�
�P�0"{�t���?���8O�*� ��煓s$�6��V�ES �S�p���ɳ�Ω~���5��7k]}�QW�����l������ǩ^�����g��X8Hx=\��:�ϲ1��4�]�P, Dz�9h��=p��;�Z���۬��~�q��h�^���И��@2��U�/���5c
|L�l���q�ܤ6,���HT"��g}��D�
-���2H��H��坹����
$�1'�ėLGY^�#n�m63hV�E�r�:�A�pt�g�oAhY�W=�!�d��B��"�����	�������)�@#�OQ���jٯ�*� 
���ձ�2
� .��J��u�mV���Rϐ;�+o�} ��B��ֈ"1���!!M��`���@<�TǙ�Y��*�^��

S��irS�����1��c"�./W�Ǫڭ�p�_T��}]��Zi��<B
��sL���]�0�����$��q��*�	`K�|�4٦�f��S�M9���E��E�PvD?��~��ں&���'d7��w�9�]�?0
-q�
�\��%�����
K*I�YU0��N��-�[0cBŅ
�1ԙ�'zB.P6ٽ�;)�8�����D�	�� �C�컯+p�� �)W�~M�߯iݯIӯi�	a�U���6�l_'R�`��fm � HZ�?��v��X�
\��+�nr3�~0�}�d���#�҅S�s�̊�]&ӥ]���!}�!�� �tUU���3H���:O2��K]�>#L�e�
-
Ժ	,q4�l���tH<8q	�3��������~Y�� �
�pA��IxB��?�7�>h����'���;��=kO���^��P
�d���Ɏ�������
�:N��X
Q�p䛼8sՔ��Km�A�:�㊹L6jO�Z�6�r� �%ijT%[b(�E5��Uk,�0�&���4�7��nև`���I[[�0&ۇ18#)7u�&�݇߁�:
q
�
-��ER)����I%=@*%@�<�Q�!�j���I����G�
��
R��X���~N�a�G9%E$���[NY��?x��E��'��H���4<@L���O�LB}��_ߧd�G�D\��R �`i��ii4HK�.-e����#��J�
-��8wN����玐�\|��^Z
-TN����h)k�s��F�$ZJ8?FK[I���D� �R0P?��IV*N`�L���K7XqUV�4�JI
G��#6V�e�¾;�����	����� �f���X=d�aH��H��ꔚ�’�H%
�Gex8%�p�~yJ��8l6��7���op�_na*$`��V�Ԃ�0 G�ӱ�"Da���*�Q�������n��������yl�U�=���6^8Q�2ȸy�~S���Fߌ�p���8�Ʃ�6��N�E� LE�@32�
��h�c=�gP_�d9nk��e�enY��ˋ���[4ݠm��
���uz��]oq�Ἆ�*/
��1f�I[�t������n$�R�
-endstream
-endobj
-2434 0 obj <<
-/Type /Page
-/Contents 2435 0 R
-/Resources 2433 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2430 0 R 2431 0 R 2432 0 R ]
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 599.416 230.651 610.285]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 284.103 230.651 294.972]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2436 0 obj <<
-/D [2434 0 R /XYZ 89 770.89 null]
->> endobj
-2206 0 obj <<
-/D [2434 0 R /XYZ 211.842 562.806 null]
->> endobj
-2437 0 obj <<
-/D [2434 0 R /XYZ 90 547.938 null]
->> endobj
-2207 0 obj <<
-/D [2434 0 R /XYZ 192.853 247.494 null]
->> endobj
-2438 0 obj <<
-/D [2434 0 R /XYZ 90 231.245 null]
->> endobj
-2433 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F11 318 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2447 0 obj <<
-/Length 1420      
-/Filter /FlateDecode
->>
-stream
-x��Xˎ�6��+��
�4�"5]�A$m�t2EI`h,�*K�
q�_�K��-[
�ʹ� ��"%��9������ޛяw��k���
���bO�� F���'�p<!c�h��Ӈ���h�&�ET<�ܼS��1Q~��'T`�e��}��
ݼ��\�<����{7zu7�sD� �k�@Ry����g��0��3f(o�|��8e�zF�������ԞOK$	�$!��W�-fq��]7}-��E4 at B����V���,_'YT兝���j�H�O�u���/c*�(����z&N��		��FГ9�u���
)A[+�����cW8�\I��Q;����~Ɨ�%3J������k|�Q��>/ˉyb���4���՝�UI�����s���
C�o�4�/�]�L����Ⱦ��IV��]�?O�.����J.Խ|0
-	�Ak���)�"��#���+]Z�IU�ބq�8�
�B!Z�c

bd���P	�sf%��:����t�o�X,
)o��G�8�uo�1��4�g?�z��j�)�sP
)۱�ȍ�۬��q�9E, �"ޣ���� ������*)�
*ڲ���%x9I�y�� �S���P xP��k�ޓ���CXCI�z��
�6�
�R �R�4 :�++�>���p��.�|�uj�4��
-,4
t�P>����H~���U]4L5��3�U�Sڳ!�B�TgŐ��]���ħ�ȋ���A��	٧�%�\HS�!�p��Ee���k�31r�{%�
-ĸ �(�!{���k���11U~�|�����^���V��SŮ�-��ح�]>�&ժa��Q֏�',0(+�"2ո�W�A��h#1�#��1 �
%�`�x
�
����
˃�W8���*O�$[�����Zg+ڨ��@�)$��zY!j�y�b~��
-� �� F=��;�=�^����L�������oh/�%��
�>�C��Vs�j����	g�*ѧux	�����֠L��z����v���yV��8?WV/�!ꓚ �
k���RNCkb�r��
<WF?��*��G_Ch���� �	>�h�N6j>����F��3�9�PZ"*��Q8�`��u/F}N�#�5�I
"����>nӧ3��ig��ZI8��&�Xm@�穎\\��1�\���1�pu�LA�Y�ɇڇ���9�
�v�Z��?�5�@�戲�* u1
0X�`w�~�n�}x
-��z�}hs�	��C�)w�
[.���2ߏ��
hܰE�
�l�c�"�{��^Gٲ��N�۬��� 3����J]|7�w�%��(���Ѯ�2io�1x��A
O������
�^��ݹh�X�⹪���t��nѼDu�l
-�T��&�
�/V"IWn�
�:��}�[�d	��D¢� ���v�ƿI��p
-endstream
-endobj
-2446 0 obj <<
-/Type /Page
-/Contents 2447 0 R
-/Resources 2445 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2439 0 R 2440 0 R 2441 0 R 2442 0 R 2444 0 R ]
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 619.646 230.651 630.515]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 446.662 230.651 457.531]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 303.257 230.651 314.126]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 159.852 230.651 170.721]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2448 0 obj <<
-/D [2446 0 R /XYZ 89 770.89 null]
->> endobj
-2208 0 obj <<
-/D [2446 0 R /XYZ 192.853 582.681 null]
->> endobj
-2449 0 obj <<
-/D [2446 0 R /XYZ 90 565.9 null]
->> endobj
-2209 0 obj <<
-/D [2446 0 R /XYZ 90 437.12 null]
->> endobj
-2450 0 obj <<
-/D [2446 0 R /XYZ 90 421.872 null]
->> endobj
-2210 0 obj <<
-/D [2446 0 R /XYZ 90 293.715 null]
->> endobj
-2451 0 obj <<
-/D [2446 0 R /XYZ 90 278.468 null]
->> endobj
-2211 0 obj <<
-/D [2446 0 R /XYZ 90 150.31 null]
->> endobj
-2452 0 obj <<
-/D [2446 0 R /XYZ 90 135.063 null]
->> endobj
-2445 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2459 0 obj <<
-/Length 1314      
-/Filter /FlateDecode
->>
-stream
-x��XKs�6��W�Vi��� @�39�
'��I�X=�
MR[�ʇe��wA��hQr�q{��"� �X�~߇������v��b2�bK!%��+Ka�u����T�ٗ�{�	��0���������N��,&N|�1�9r��'��_�@�{
#���m%�C��u7�e�[W�I��B;�K
D�2�<�a^EYZ6.<5b|)֭S�ނM)l�\�e���Vߥ3O�8
-���u��i��]g�&X��fo��Ŧ�f�O����O��6��s
q�tS�MT�A�T"�h7�K�C�G�ݘ݈B沷R�ƭ*˳8[��(��$���>n?e�i��QB�
6%a� ~�Ǎ���u�0�6SH0Ҵ�$f��@:�	�x���,���
���>��#7�W$���m �qt_x����vF�i�=#r��WWeUD~�~�V^�r���x�q{ N�
��ٞ��}��:ɀ�r�k�s��)��"-GR�r��c���1l��
@�1�
n0�<di�3O���@*&���`�.��j�cۂ#)�9Dr�BH4��S�P��ڔ��7�� {N.Ҁ�\Q�{A*W�73���e����Y�I��}ګ.=�E�0�׈��D��"�2~"
@'ʻ)�c�<� J`7�,�m��kN�_�����1G�ɗd�s���۴2_���Wn������~��x���E�Ѷ�C�����
'A	�
�Rdp�A()n��&.��V�L�
T�<{Q������x�8���4{�����i��a�T��}g<L��@hz��N�Rg���p��#�pbtX�
A�Xc� ����3ؽ��)]_ _��h�I� .�h���
������
�4�ͧ"̋�!�
4��4)He���I5���e���=��y��p���>�u�geX���H�8���9��K�����z�ҩ���
WL1�t/����S��C8��!�,����y�P1pp(�A�szQe=�[���*LN�X���P~���Ot��Q���6	�=����һ���J��+��H��
��[
E��
-��De0^oH���A,O�P�c�/$£T�y�FqK��v,�1lq��I�
�p;�s2~�{���ń���Q�W�%4̥�ڸ����oS0i�[-f���kGe����yy�iR?h	�>{��֭�w)${�d�o�@���f�Oۈ}��ڋ��7RZ��t��D
�@���68&"X�ӏ�&��}R�$�����j>�n��/Q�Fy��j����W��>���^Z���j7t�]�ҕw0,i��L�
�%J
-endstream
-endobj
-2458 0 obj <<
-/Type /Page
-/Contents 2459 0 R
-/Resources 2457 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2443 0 R 2453 0 R 2454 0 R 2456 0 R ]
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 691.225 230.651 702.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2453 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 541.97 230.651 552.839]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2454 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 392.715 230.651 403.584]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2460 0 obj <<
-/D [2458 0 R /XYZ 89 770.89 null]
->> endobj
-2212 0 obj <<
-/D [2458 0 R /XYZ 90 672.193 null]
->> endobj
-2461 0 obj <<
-/D [2458 0 R /XYZ 90 657.985 null]
->> endobj
-2213 0 obj <<
-/D [2458 0 R /XYZ 90 522.938 null]
->> endobj
-2462 0 obj <<
-/D [2458 0 R /XYZ 90 508.73 null]
->> endobj
-2253 0 obj <<
-/D [2458 0 R /XYZ 90 373.683 null]
->> endobj
-2463 0 obj <<
-/D [2458 0 R /XYZ 90 359.475 null]
->> endobj
-2254 0 obj <<
-/D [2458 0 R /XYZ 431.18 284.409 null]
->> endobj
-2464 0 obj <<
-/D [2458 0 R /XYZ 90 268.667 null]
->> endobj
-2255 0 obj <<
-/D [2458 0 R /XYZ 218.507 192.979 null]
->> endobj
-2465 0 obj <<
-/D [2458 0 R /XYZ 90 176.615 null]
->> endobj
-2457 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2473 0 obj <<
-/Length 1471      
-/Filter /FlateDecode
->>
-stream
-x��X�n�F}�W�P��~�[$A�H�)

��%��RT��;{��e(�i�}1���p�̙3c�d����䧛��s����2��O
N7HH��'�R�3�����Yg��zuX�&�]�wM�
��_O)N��贮�3*p�t�m����pϊ*/�
猧ZM�߼�<���5!�N�w@ ��|=y�
'sX~�X7t�w��	�
�����	��1i�0�"
Ql|\�>�Ŧ-�j�\�4��ԛ`S�M��[3K"`���r�~�V���I�ح���=�h�=W��p�*�ȸ؜��eSO�H����8-�$��v @�;�5��ݩvYn���65Hj�mʪ9�T&����ʪ
1,�Ttg��� %��jSx�m
4��YY��z���ݪ�Aԍ5�̨�H�Px�@�Z�A\�'u� 
ǁ�Z�
[ED�V``J )�O��~����}������ [4;Ock�,��Ӛ�4�
-�
}�(_�Dc�G��"�z�	CBK�A��jp�����2��
�����n5�0J3�0C�
Ɖ����13QN.ѐ!s��w�
#�
V�/�)ς�܅�S"ҏYޮM�i�-Te�w���XPW(��!������ �{���:<�
��F�0Q��X��LJ$�|8�aI#9�f�e�è���""�x$(�j$��<�Ye\a���@3֕��/�|X
NUE�.���D��Z'�S)�*��fP���m�G%PR$!P/�z ���2�zh�����ᨑ�4�� �a���ö-�#�!i���ۑ85��\G�RR��#�S.���N
a�������U&��PC��b����Zx�H�
��	�nh�׋@���)��ĥ���~K�{�a�k�[�eU��Oe�@ �[��5���d����fM�.ڢٞ��d�� aA�x�U4��v�`-�
-���+��F�$kC}��U�%��];py�:�)��$QM_�/i����طo:���
:�s8gz�D��Kh��h�
)��Õ)�@&j1֭3�}du�^O](4
[�0�y�
�|��jΉ6�hS�5s�E��΋���cz�j�B%e[@R��L˰��
�d�.�J�WW���)4�d\�9�
-R�y
s
���Kc�2�1�ݟsus��7�ԋ@#~��O�Žh��;�a��<t�9vc��4N�c'\@B����"��J�A��r�!k
u���D�z��O*���z�,�0~_�O;֛�%"���:vvF�R��齇�7�s��GI%H�i�m�jG��”^��S���
L��˗����/_�K�i��t�zc��t�X@�-ƶa�ۮk��_|��7�2�?>X�u��j����K���iA���ۢ�a*`����f�.[���|�o�(���D�Ϙ��
N�E��g���y�}
-�F���m7�WW��
�[���M���j�Y]}.4'+Z�:��Kٺn
-�D�
4P����þu6�ƿV"o%
-endstream
-endobj
-2472 0 obj <<
-/Type /Page
-/Contents 2473 0 R
-/Resources 2471 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2411 0 R
-/Annots [ 2455 0 R 2466 0 R 2467 0 R 2468 0 R 2470 0 R ]
->> endobj
-2455 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 691.225 230.651 702.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2466 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 537.83 230.651 548.699]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2467 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 325.699 230.651 336.568]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2468 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 101.612 230.651 112.482]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2474 0 obj <<
-/D [2472 0 R /XYZ 89 770.89 null]
->> endobj
-2256 0 obj <<
-/D [2472 0 R /XYZ 90 667.099 null]
->> endobj
-2475 0 obj <<
-/D [2472 0 R /XYZ 90 647.908 null]
->> endobj
-2257 0 obj <<
-/D [2472 0 R /XYZ 90 513.704 null]
->> endobj
-2476 0 obj <<
-/D [2472 0 R /XYZ 90 494.514 null]
->> endobj
-2258 0 obj <<
-/D [2472 0 R /XYZ 90 301.573 null]
->> endobj
-2477 0 obj <<
-/D [2472 0 R /XYZ 90 282.382 null]
->> endobj
-2259 0 obj <<
-/D [2472 0 R /XYZ 90 77.486 null]
->> endobj
-2471 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2484 0 obj <<
-/Length 1088      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��+�+,|�d�Ů͙�dڦi���
�c
�lj����{m��=�)I6ـ%_]����ʔ,	%?~�Ư%��L�P�<B�hN��
}��Wj`F�r���o�wo�Ż��t�π�+J�]/@il�?R2��{B�5��K�
��k�0�c@�5�1`���
-
��ӑ�(���ϣ����'
9\T�I4/Fl��Ӎ?�&�U8O��:�����d�n�Q�N��
&�dR>�(�q8�G�j$q��~�V�*�f}����b���
q�j#�5;�r-�<�(P+�2B
�8B��8
V+�+
3k�o��d[x�dGɢ�m���bF]`���
{k���*M��t�tx�P
�*�:�r
c���S'�$>S
��Hr	\xv�ݿA��#���/�/]V��g���
�AQ��M��7����|�c��m�8�
6����-�&�&��U����c�h�/L�+٥xI��Aȏ�W�Vh��\�Z?�`3���
=v�8H6[D֧u
��pMA�� �	4Y4�>��17��2݅qP�c'�*�
���UW��e��S�]*��2�})R[� � �S
��\��o�U�&u{��/U�5�ڟ\)�k��}X
r=7�`�=`u��9Z�nv�f��Z��
��<�t�V+`�9���5 �\��@I�"��𔋫eQ�c3��|�k`|
�9�xt�m�+��S�a��@�������b҅�� r�fv)̻,� v���̖QOs�
^�ǗKĴ�a�]�U�j��i����H�Mد�ʋh���`e��
j����x�&Fܮ���E������ MË�.bla�����J�ob<x�
1j���v���ҷ F��_���3#桁T?5��5�QH���袬��w��E�W��n<�z�GH`�_���|��`|��Ksޯ�"�h	\T�2$�{VÚB��Wˣvp�d�XĹ~��˝��T�����A5�t��0bX��o~����G��bwn��r����
J�xQ�CV�����O�
ʴ4~"9�ng����x���!�`G��|�ݮ��h?�Vq$�JIj
�$���⑄7wM
�K�P���/j�,��&��
-endstream
-endobj
-2483 0 obj <<
-/Type /Page
-/Contents 2484 0 R
-/Resources 2482 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2469 0 R 2478 0 R 2479 0 R 2480 0 R 2481 0 R ]
->> endobj
-2469 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 607.762 230.651 618.631]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2478 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 463.773 230.651 474.642]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2479 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 275.478 230.651 286.347]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2480 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 87.182 230.651 98.051]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2485 0 obj <<
-/D [2483 0 R /XYZ 89 770.89 null]
->> endobj
-2486 0 obj <<
-/D [2483 0 R /XYZ 90 721.073 null]
->> endobj
-2260 0 obj <<
-/D [2483 0 R /XYZ 90 598.066 null]
->> endobj
-2487 0 obj <<
-/D [2483 0 R /XYZ 90 582.589 null]
->> endobj
-2261 0 obj <<
-/D [2483 0 R /XYZ 90 454.077 null]
->> endobj
-2488 0 obj <<
-/D [2483 0 R /XYZ 90 438.599 null]
->> endobj
-2262 0 obj <<
-/D [2483 0 R /XYZ 90 265.782 null]
->> endobj
-2489 0 obj <<
-/D [2483 0 R /XYZ 90 250.304 null]
->> endobj
-2263 0 obj <<
-/D [2483 0 R /XYZ 90 77.486 null]
->> endobj
-2482 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2499 0 obj <<
-/Length 1202      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6}�W��L	 n�[�I:Nۙ4Q����!�S�JRVԯ� )ɦ�K
���E$(p�{v���[{��i��|2{#��HP��W^�=�"����`F~@0��*��xQ���R'u��ҋ:�wgg�|���OԴ,��r<�1���޾�+�����{��l�"������|�焀C�#�������g�%���g�P޶��{��pͼ��&�d,� BBAQ��)�6�	�^�m����4��D|v����lӲX@�����	s<�>{�ԁÌP$D�t�씣���w�0�s�8�0"���A�
��W�G.
m�l�C�
Q5o/�f�8�a���p;
�>)W#KH��a+�E2b����ԑ�����y�m��M�:�
$E�
�7q
C8:����<-�<�K'��޾��%* G��^@ԝ���_��25G���qάzT!D!�#c
E�[��Ϡp�,M���&�E�]�V ��e5��K���2��t,�L"��]�T(�:<��1q2��a��` [...]
B��
�M��h���ȢTѿ!
�ߍP��`�E���r$�B��ב�<_�,�����
�T���mڴX�5Dž
tS�}_ÑřB�
Uu�ۭ��H$!GB���,�D�N"�"�����
u��0h��L��#v:M�WY��-6
0j�,�c���u��2����>���ݥ<�.�!�8��6H��*O���*���xDK$�{�k��m}]_Y,��0�˸�Í�%d�tWdN��}\
*y����P�J/�\*:��e�����0���q
�x0���Qi
)�Ȁ^�􎶛����0�:	���\"u\k'��vM�U���&��O6aM���fw�	��S�Dӈ�w��
{�>5�sÞyv����
��
k�����4�kg��ĸ2̎����Pf���k�q���}
peV`T0D����ku?h�p�`���w?O���C��
)2���m���l�ݢe�6EZ�(mgU�ͮ}���"�E�dh8V�;K��Z�<K�x�,	/����;7��7���
-endstream
-endobj
-2498 0 obj <<
-/Type /Page
-/Contents 2499 0 R
-/Resources 2497 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2491 0 R 2492 0 R 2493 0 R 2494 0 R 2496 0 R ]
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 621.763 230.651 632.632]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2492 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 470.861 230.651 481.73]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2493 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 331.915 230.651 342.784]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2494 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 192.969 230.651 203.838]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2500 0 obj <<
-/D [2498 0 R /XYZ 89 770.89 null]
->> endobj
-2501 0 obj <<
-/D [2498 0 R /XYZ 90 721.073 null]
->> endobj
-2264 0 obj <<
-/D [2498 0 R /XYZ 90 601.975 null]
->> endobj
-2502 0 obj <<
-/D [2498 0 R /XYZ 90 587.632 null]
->> endobj
-2319 0 obj <<
-/D [2498 0 R /XYZ 90 451.074 null]
->> endobj
-2503 0 obj <<
-/D [2498 0 R /XYZ 90 436.73 null]
->> endobj
-2320 0 obj <<
-/D [2498 0 R /XYZ 90 312.128 null]
->> endobj
-2504 0 obj <<
-/D [2498 0 R /XYZ 90 297.784 null]
->> endobj
-2321 0 obj <<
-/D [2498 0 R /XYZ 90 173.181 null]
->> endobj
-2505 0 obj <<
-/D [2498 0 R /XYZ 90 158.838 null]
->> endobj
-2497 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2511 0 obj <<
-/Length 1748      
-/Filter /FlateDecode
->>
-stream
-x��YK��F��+t
T��y?6'�e��$��\l�-�b7�_������+��4���?I8ZD8z5�~2�z�pd��TF����Hq����<�04x�i�&bR#b$lr��~;y�v�����
�
��#��
�t4[>|��
��D1��{�h
q����2���k�6c
)�����Y�)�<�:�x[�E0��W S�L��YcS"
�u6�xx����Y�ح���֊:�\���
�T"���N�E>�bx��Ƃ�azk���hcWHpRm)���/j	�C�Eq6�G�RUk
:���е�"�f��&_勇q����&.ӛU�����3���CØ��d�?�^`s;
-6�8fIF�1�@V��E���ј`����;�fP��u���H
7q���`��2��t��q�p}�nDa��
=̳����#�4K��:^q����
��=�����8R���]\t
�0Dkw~�=���
x��4K���qv%�m ԁV�����.�Ъ�t�v,�k���
t�h;$
��6զy���<�w)	S��E:�4Q�	�����d
�I�+W]p�Hbv
-�
-P#'B��j��#
j+0�Z��P{�o����ѱA�u���ln.�u�͓"
,��e3WA�h
o6i��;[
Z(l�5���m0z���@;xt4=�����m�f�D�1��
<�n�Yj$s?q��a���#�1v��19Q�$�J�B�%OB�	^�E�}X}�
��ȅ���x��I���ݝB#X+0�m������w3.x��Lg�0U�>����8�c�n�j������ZG���rnL;r}��P�8;:L�pQrCȧ���Р�*:q�g�������ݟg����$w� ^�}��{�����J뭃�nU6��
����A�$�
����B�?�B��
.����W�@h�T�V��	�qW6����.	x'j�����
-j��ן�q �HB�U��hW�=�j�1�р��E�O�
-�IU+�<�1��}<��2�Β.��}�	����
-�;:�l5ꢇ
��C���F�G3�X��g�D�ۇ��Hg������Dl��%B��?��AJEg'X��gG���v�
S.쏒E)��N8(#�
Ȣ����d�N�d�N�E)�ĉ
-@���I[�[]/T)�
t�V��j��D##�+f�P�c拲D������f[�宼�(�'��D�h�M�*i"飉�E%9�&���TY���7������;Ew[��
tҳ(�v6;4ؽ��W7�
�p3�%�~%
�;Pr
UJ]�B�)ʡfIM
��,���P��i�*�a�]�����N�����
�
-��l���
�c�� +H�}�
��0��dx�u�U�Y1�_�*���8�\T�ޯ�,j��c9����G��"q�ɉ�
C��G?%�PU��$��������y�
DA�k5J�5��
-U����>�?���
V�LX�i
	@7XI�p�R�
-j�~�^i�4c��(
��J ,!�:���>�x
A�����q`�䜖
��y�@��
~nx�8�s�3��)Bl�)�!���β9�)°j~���~�&���s�p;�;�!`�:���쪾��6)�	1
-��8�U
�6�;�
�8��
-؀��	��}��x��UW?
\�ٟ���4���,�������=�m�.K7J˫�fuu̔���H���"��+Њ��*�R}�ekWT�"� ��
-endstream
-endobj
-2510 0 obj <<
-/Type /Page
-/Contents 2511 0 R
-/Resources 2509 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2495 0 R 2506 0 R 2507 0 R 2508 0 R ]
->> endobj
-2495 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 691.225 230.651 702.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 444.896 230.651 455.765]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 198.567 230.651 209.436]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2512 0 obj <<
-/D [2510 0 R /XYZ 89 770.89 null]
->> endobj
-2322 0 obj <<
-/D [2510 0 R /XYZ 90 669.34 null]
->> endobj
-2513 0 obj <<
-/D [2510 0 R /XYZ 90 653.511 null]
->> endobj
-2323 0 obj <<
-/D [2510 0 R /XYZ 90 423.011 null]
->> endobj
-2514 0 obj <<
-/D [2510 0 R /XYZ 90 407.182 null]
->> endobj
-2324 0 obj <<
-/D [2510 0 R /XYZ 90 176.682 null]
->> endobj
-2515 0 obj <<
-/D [2510 0 R /XYZ 90 160.853 null]
->> endobj
-2509 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R /F7 1170 0 R /F23 240 0 R /F8 341 0 R /F13 1169 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2523 0 obj <<
-/Length 1834      
-/Filter /FlateDecode
->>
-stream
-x��YY��D~ϯ��Dz�>�'@,bi�
xYV�g�$�m�d���S}�q;�
�Ai^�Ww
]U_՗��*����o�&oN
2���j��(n���H>�#f�3�1N��f��ܯ�E��7�u�5���������*�3*p��&�����|��oyy��<�O
�~�z;��j�焀A8!� ��Nn����p���ok�N�ܢm�)��&�0�e��/��O� �y�G�׻)�i�d�|�7;g�P���{R�F
-v���Rn�&�z�F�x
����W�ܟ��
-�]dכ��P/�}������o�gK��w�i�4�&�U��@{d�,���$	~o���_��V3��'V��m�d����r`妲V����uu(E�:�B>%"K���QG�E�#�'8��w�P���ޚȉE^Vۢt�<�PH(
9�K���۪�;b��H�[�lo��^�쎬\���o{{�ۭ����c�wGs�zf
q!��Ìd��ی�6�,
� �޿�+�k�ȗ�:�}�`6�p�ĺ�U��c$�Jf�#��}��M^c���Y
z
 �ѥ�)��M���xw杢3�c��88
�m|x,�j�K+ܣ�=��ݖA
�K�D�:��K�;-3�L��
��Ѵ
t
tp�d�̦$F��
�HRB�K�%�[_$	i�1�/���f�*"�V����؍��瘴��&dآ�@�Ԟ%TX
`�au��'FCL�V`�C�q���R�=�]��
��kD3tj��c�2dH�/
-r��a� j � �� D!�( �V���������X��g

��o��<[z���~V(��*w��
zxw�i�M
�z��&�Y�B�I8"�	C��ؗә`:��(�J�8��o"��VH��ad
{%��JRr���*w�zSX�=>c�B:�p��
�D� ��auR
��H�HF���kpre;U�r�1��O�c��qI��A?�	�F�D��+�!<t%eg�]���;��u
���(@� �,$�� �B��V4�sAV"�i��X -U��Ͳ���:��m�8?���
v�S4ys�[C"p���
bĻ܏�=mGQ�������
;��DZ;�l���j�H���۩�i[Մ��!��\��Z<�<e0!�V
��
���Π:�
*�V�H 4ҟ[� �\R����D��$$b�<eX��sg���)K!��C�-ʾ�����X����R���X��� V�
�z�#V��,b��K��M�w�\��b�<�UIL�����?�o��͈d
s��A7��oG�C��"�l�NMI:Ψ(�l8�

�M�
ttl
-$�#TTAW��?՗'T|@�1g�����QN�RY��O����
1!�"�Č�J�U0�_����&��+���C��/��~s̮��v�	�/�'�	�	��k	H��<�BS"UzqJ
^G��2V��
��Yl���
O��82 �p���
-l���[�M>r$��㈻5F��I
�������=|�I�Ȣ7Ᏽ �F���p<�RF~v
��;�����%�������n�t�T,��ټ�(^�
��,����85�G���~��@ߦ�=��4�j���
�	6��!F��ž���]
���!{�
�w�C�M��J�Fܾ���7
��QG6r��<�P��=f���
;��~�
N��AJ�s�f���`��'?�����
ż��sV���Ix����η�读��b*D���<���
���ҕ/�����<��㏤��q���|��q~Z��������
�١CY�
*�u��8͵^O$
)�a��-�m�;��x��
-6d/a�֕�I�9>)
-endstream
-endobj
-2522 0 obj <<
-/Type /Page
-/Contents 2523 0 R
-/Resources 2521 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2516 0 R 2517 0 R 2520 0 R ]
->> endobj
-2516 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 589.514 230.651 600.383]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2517 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 308.956 230.651 319.825]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2524 0 obj <<
-/D [2522 0 R /XYZ 89 770.89 null]
->> endobj
-2325 0 obj <<
-/D [2522 0 R /XYZ 90 569.271 null]
->> endobj
-2525 0 obj <<
-/D [2522 0 R /XYZ 90 554.845 null]
->> endobj
-2326 0 obj <<
-/D [2522 0 R /XYZ 90 288.712 null]
->> endobj
-2526 0 obj <<
-/D [2522 0 R /XYZ 90 274.287 null]
->> endobj
-2521 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R /F7 1170 0 R /F23 240 0 R /F8 341 0 R /F13 1169 0 R /F11 318 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2534 0 obj <<
-/Length 1805      
-/Filter /FlateDecode
->>
-stream
-x��YIo�F��W�V�Ƴ��=�F$MS7v{I��(��D�m���}�P")RR6r1��7o���d
�
<�z;�x�p�XR�N���HHx�oØF�o_LjDb	��۫?^�>}}{c�
���
����
�t0^޾��^�
0b��v�2��u�
�
`�
-�UI�c
(�űS��q�.�U��*��8]��W��s��uM&�H��!�W›�"�8�E6=)f��4/G��:Ϲx�kR�D���
-�����p�GCI�0�!`
��g�d��I���Y���­m�WaJ���Ɖ���1�6
%��I������]0����EI>�C1��Wk�y�9-�Hm
�"C~'�w�m���p�0�ǫ�:)��E
9'�"�{,"�#NHu�C�e��5}f���	N��f��S�f
I�E$�ZyE��������h��
�me�H�	�*k����Z��FC�~��P������q�N�V��^*pOH��iZ����+
@W!��Z��)�l\�{���"s_
�w���֡`H8dqL���Hh'�pAf���P>?(e��J�r��l��I�LFkoy2ZdwER<^^^G�����*����yZ *|L'�d�c������f�d�r[��R
׾��
�
- KLN[�@�a�>L��l�Ւ���1
�x��n��:$k(��b�N"D5���U��I����lLA�
i
C	�CXi���u��*��
� �
�M�����=���Y��
"@:�#
�l��5w������d)�a��kn��D�J�$�/J��u��>u�4J�s��ʹ�X��uj
�i�s�tP��>" �w��l�@�GD�.���dj��ޟ1V���U3�H�}2Gd�@oTL��h�$�1�~�G����*��
oQM ��k@�s����t��$
� ��G'8U�ݐ→ځ� �ޜ�sz7���V�`�����2��*�,R���<-������N��I#�6�\��[w�B
�����Ǯ��$��Q���R�U�7�6�S��h�¨G<�_��L�d��i�����:���
D��
2������H��3�Mt^�&���*H�o�����
��fӮ�j1���_���J�j���,F90�+���b�ѲUV=�C9;8:�a�����"�͏8��y��*��t�S.�:5�h�j�9ڏ�
sH���
c����
-o��u�;g��kd�4
r������#Y�}�
;j��8�wJMm��/J?���M\q����n$�?
/M���0wJ.��?����g_�����.�G����h<}9�:ͷ:�K'o�02�/�Mo���y��0�
�� (>�y���N�Vބ�b at 9b�{y���A��ATT��pǁTwqC\)�$�Ru
-�<RG(PLNP u@��9H
�U������"NӟڪƸ�8� 

dC�92`<��l��^��H݈�,C�����6�u�����̃@p�P_�z�F�{�(���gR�/�����I�$�	�Q���
���t nk�̆�n�eJ����ȭ9=�
-f}R �⽓�9�bp�o�=4-:��$%��j]�
5>�pb��� a0��6D�����4�;���W�ϙ�bj����w;u���fz�����b�I���P�@
�V�^��
-#���@���
���eb&B�V��$�ݻ��^�̎����6i�S$D���{��'�������p���$�C���IS�
����T�Gp��o�\_^\l�[4ޠ�<[(+/����!�ս��
���#�U�ؠ�r3�)�⣝ò���A$�؆n
-endstream
-endobj
-2533 0 obj <<
-/Type /Page
-/Contents 2534 0 R
-/Resources 2532 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2518 0 R 2519 0 R 2536 0 R 2527 0 R 2528 0 R 2538 0 R 2529 0 R 2530 0 R 2531 0 R ]
->> endobj
-2518 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 691.225 230.651 702.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2519 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 679.145 513.996 690.049]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 667.19 176.565 678.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2527 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 375.702 230.651 386.571]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2528 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.06 363.622 513.996 374.526]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2538 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 351.667 176.565 362.571]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2529 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 101.901 230.651 112.77]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2530 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.086 89.822 230.642 100.726]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2535 0 obj <<
-/D [2533 0 R /XYZ 89 770.89 null]
->> endobj
-2327 0 obj <<
-/D [2533 0 R /XYZ 90 654.855 null]
->> endobj
-2537 0 obj <<
-/D [2533 0 R /XYZ 90 635.231 null]
->> endobj
-2328 0 obj <<
-/D [2533 0 R /XYZ 90 339.331 null]
->> endobj
-2539 0 obj <<
-/D [2533 0 R /XYZ 90 319.708 null]
->> endobj
-2329 0 obj <<
-/D [2533 0 R /XYZ 90 77.486 null]
->> endobj
-2532 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R /F8 341 0 R /F13 1169 0 R /F11 318 0 R /F7 1170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2548 0 obj <<
-/Length 1679      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W�V��|Sܞ� )���6��%	
�M�jmٕ�u���C����w�M�^lQ"����!q�
p���ǻ��[����2�[�k$$�����`��xB0��.�6�t�]?��<����>�����1š=&Q�M�*p�z
�{�`��fҙy�3
j6�r�~��n�׈�B8 N�T�6�O_p0����F
�I��S���v�����DH�D�ޞ4.�1�����R�y����__/Mj�x��m��x�c�����l⥱��<��bZ��g,�/Ij�l��_��	�V\����Q�D�
��\�^�nN�pB�x5���D`�5ػM������zH4C�Fղ̬��̀t����#���k��q�a�����!n���9&9
�`�)���l�L-�"[/�6�qX
��$N%R�ד���|a$��b@��+�,�X9���wfV8񠽳be�>�!B)D�э���M/:����†�щ��L�
>8M�c�4�=lH��<�(�G�B/� [...]
�Q����df`�	� !��9�ڿ-
#��
-$��\��!��U�r�<�3P�v^:��� L"��PJ�T`E�ԨdŊ�:�1��FL�OHq�V�X�Y�1�����ZL+I��.���ƒ�� �� �U�Y�E�Vqꝑ's�0HE�A�5
S�	G?tvl)9�[��D׉�e@=5��x~�R��Z��y�A�����r�/<t

 0
�6�|����u	��fK_p?
b�Z���y��9J`���U��oLZL��� \�9�{�6��m��S"L�t
qz�O��4ӗ)
�PѺo�@�nv���q{��;��q�z��ލ )��͆�P(��<��Ĝv�X *h��N�I��b�n܃O�M���V�J�݂����%�.R[l%��,(�dV�NP4� .!%%p�����N�l�H��#�k����ԍ�t��♙
�o�d��}
k
-̜�}�v���2
��DC]j�l�B��� �}a��)?�K�����u�γIJѬ�%���̶�t� 
�T]�ӝ>Ԭ� �\/K��ǖ�{�!.Yϟ�:�k6T�q�;&��U� h�_��PK	��.�ʐ&O+�
�A����s�K��W�zx�]�[����!Y����Om䋙_.a�����oP��P
�6�0{�$�I1�ׁ�ۢM�'1����2��Ff/<`&��m�m�Sl+[Gi�^�m��&���[S
p.

	֍�
�B���"�2�D�Z�.�
6&�0�j�k5�Ƽ
a��S/�yB�Dj�9�e��
�2JK�-
�D`_�po`c��Ҿj����V���>I��'MZ.ur�t��9�
��R�U3h'�~9��*e�Z q�0Q�=hP8�0�gjS
�࿡n��A��s�f�uCr��xQ�����
W�f�1���l"���p��	?�	�6zɺO�S� "�����f_M �EQ_��ڧ��>)O��{�+��2z�Eny�
[�wM ����m�ߔ7]PO��**n���,n�>����ƺ�
�˽�ǃѻuQfm�*��&�n,D�=�k��c�#��<��!��Ʉ�JDm�@.�����sƟA���tym"E�m�(v�WW���r�O�]���j�[_�	�q)G8
ُP]���l��*�TP�*4���5�y��������#
-endstream
-endobj
-2547 0 obj <<
-/Type /Page
-/Contents 2548 0 R
-/Resources 2546 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2490 0 R
-/Annots [ 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2544 0 R 2545 0 R ]
->> endobj
-2540 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 513.408 230.651 524.277]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2541 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.086 501.328 230.642 512.232]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2542 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 306.015 230.651 316.884]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2543 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 100.625 230.651 111.494]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2544 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 100.501 513.996 131.469]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2549 0 obj <<
-/D [2547 0 R /XYZ 89 770.89 null]
->> endobj
-2550 0 obj <<
-/D [2547 0 R /XYZ 90 721.073 null]
->> endobj
-2330 0 obj <<
-/D [2547 0 R /XYZ 90 490.269 null]
->> endobj
-2551 0 obj <<
-/D [2547 0 R /XYZ 90 472.559 null]
->> endobj
-2331 0 obj <<
-/D [2547 0 R /XYZ 90 294.831 null]
->> endobj
-2552 0 obj <<
-/D [2547 0 R /XYZ 90 277.122 null]
->> endobj
-2370 0 obj <<
-/D [2547 0 R /XYZ 90 77.486 null]
->> endobj
-2546 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R /F8 341 0 R /F13 1169 0 R /F11 318 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2560 0 obj <<
-/Length 1583      
-/Filter /FlateDecode
->>
-stream
-x��X]��6}�W��0S��ò��Ng��M��4Ms�S�a|� 7`;�	��w%��:�4}dK+��=gW`g�`��������Dҧ�3]8;“��0��wc�M�O�
��H��?��zz�z��ߍ�#��C�z�D��7�w���{#&gg&m
�2�^;��G�ɣ��{mQ���c<N�2�<��?�ĥ>���8�#o���&�e�z�RQ
���c
����7
-���		�ir{��#���rE�L��?1�Ǔ��7/��sXSDq��N���!�z��o
�.�
b��G%������Z(��J���
Z[\"L�����\��z�ˤTK�xl�1�	^��a����2�L �I=0#v�;s\"��W|�N~f�. m��eZ٦]�<D�l�����G
&�$e
�خK�;]��y�ɶ%��sU�+D�g�.j�?
���1�;D��GU�J\a
���+a
">
-�a���7��
Ok�
��eTO�K�lo4��<ܨR�Eoyk��%XB��9�
���wB�
7y����j���	ˁ�ɠ�n�-�!
	��I
��
�DEvE�g���\�����݁�=d\""@n�p�̻<:�H0�E���� 
-F`�5[��0��m��d\���&�C��q�쓢Ls��z�z�l7� 
桡�����׭�2�`��ЕYq��X��� |�[��2�e�kO"�ڝa""��nHhV��rU+Gs��X>��Fj
�Uj�J�[�%�i�.����\ee�&��1_V���i��������u
͞���F%���R�G�6�3]婎����x1��q�l�HJzF��վxJ� �7�
se�U���t�w�D
4�v�v�U���(0
-@���K�$�g���.G�ʅ
�g�F
����çZ
����V�kZ�bfv����P�9=�O�sE�A�ZܻE�ag�=+"Q��u嶥aG�t*��(Z.#�c
-ڊ��VR��o5��T�6){�w��HH@������AA����
�O�F\
�%�
hɠP�QpJ
�)1�+0�J
�(�Y8W�&w� 0���9��EMA��ZY�uڋ>\%�l����m:�P ��U
��@�hP,TVz���%�$���`p@��
����0�m{`�u4�-�����~2>V�R��f�s�1��(�_�3f
�.k���7u�ֹ�
"g�1�`�q
�c�j@G&�������Rɲ\���<ͯT
��ᶁ����v��hs'륦 �����Ԅ��qj�N�JM��^�ʙn�U�;�᭺�U���h]k~u��|�Typ�Wz
@TS��z�;a�/�|()Z'N0��}�Sٻ

	#H ��	e�_�2fv�_ �y}�rB�/���,��Rk�7Bw����F���$i���J0˯^8ɵ�I/��
�=����9!�����i�߄���
�MH ʅ�|�����h�5y�a� ;|eid���z�:L��pY�����
�~���ʿ�p>�|�5L��e�
yn��<��*���5m��R8�N�뗑!A�'5�k��UYf�77���
�M�,Gqy�e���vт��	�N�M��JS���+`I}�i�PW��H�
o���
-endstream
-endobj
-2559 0 obj <<
-/Type /Page
-/Contents 2560 0 R
-/Resources 2558 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2553 0 R 2554 0 R 2555 0 R 2557 0 R ]
->> endobj
-2553 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 540.406 230.651 551.276]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2554 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 401.854 230.651 412.723]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2555 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 223.062 212.778 233.931]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2561 0 obj <<
-/D [2559 0 R /XYZ 89 770.89 null]
->> endobj
-2562 0 obj <<
-/D [2559 0 R /XYZ 90 721.073 null]
->> endobj
-2371 0 obj <<
-/D [2559 0 R /XYZ 90 520.8 null]
->> endobj
-2563 0 obj <<
-/D [2559 0 R /XYZ 90 506.489 null]
->> endobj
-2372 0 obj <<
-/D [2559 0 R /XYZ 90 394.203 null]
->> endobj
-2564 0 obj <<
-/D [2559 0 R /XYZ 90 379.892 null]
->> endobj
-2373 0 obj <<
-/D [2559 0 R /XYZ 90 204.078 null]
->> endobj
-2565 0 obj <<
-/D [2559 0 R /XYZ 90 189.767 null]
->> endobj
-2558 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F11 318 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2576 0 obj <<
-/Length 1572      
-/Filter /FlateDecode
->>
-stream
-x��XK��6��W�V��|��[$A�H�m.I`h-�V#K�$����Ç��J�,��aהH������`���췛����$���&�p�		OI�iN0b�bI0��C\��ա��w:)�U�ޖqy}�nA�ܿ^5/�Œ
-<��U���F�9��5���y$_n��^����P�) P���~��
x�&0j��d�N�f��ٟ3�m��6�ã�pDq��z�m�uZ�Ua(��Rn�R�_�L�:2�B!�Zx%����|[�V/ʲ(W��ʿz	�:�0�(`�ʹٕł��ɸ��y�1�b
'I�o�<0�v��	5��nE�
-1z��k+�	��	����{�W�'v� �c���u|����w~�݂��^�E9�k
-�xHJE\%�
-��������1�8��������WV�=����GF�&T AϮA^|
�l�����c���
Qę
ש�ǝ����v\�ކ'�������q�A�^A��[�2Ɩ�t�j� �	C���e�#�q�)oL8h�I�$'f���[��j�S�r��X#�ޥՈp*Ǥ]����!��<C�u�
=�B��Ez��
"��I��y2&H"
��<v^��V��"��3��V;*��P�#
P�䬂6���S�u�� �8K�ճr{�����^�͈�Q�2.���I�DI!.�YH�TC���e���� w�i40�w.)%3�'�Ls���S�	w
-0:�5/��b_uۮp����el���
!���.9��I�tT�BD�3�4o3���?��1A��	��S��T��U�4�v5̾hE��@�j������1��Z}���K� 
-��wqY���M�x��	c�
��������i)�|�T�N?�����[6e����V��2�aW
�
�~�_�2��Z��D���}�Me� �Ͷ�j����=$����� �4��}�/(n�Ox_����ա�m	ל�C���i����[?_�B�\���.򓄑��.
=�ρ6ǰ�u�p� ps��޹Q��W����"f

 qK��+
`��q�7����*�
�3���IL�E��^1Y��^���3}���N�OcѬh��
(�8��6���O��D�2(�Gb��O1(�B�)�sg�XO%,�����h��`p�1�
���m�uJ-���]l���;�#��]��S���Ea �_3F��In
�rSIAf�?k���d�K��X�*	?�2���-5�y
�,�:,��	>̶Q�3�� �!FY5ś�F.���S4"�h����ӓhD;@70��.�F�i�n�!ձ�
:n�i�6�D
-Q�72=a!
-y�|�sI�|�[<Tc9l�*u�
��
��Cڔ��
+F.�2#�YDPȣ>�gU
=�ὠ�����^��·�)|����!��_�3i��
�Ƿ����TH�f:η�x�E��!S7�~m��W��_L��=�G�㬽�q]���`%���
tSH8g|
���3���D
->R�Ю��WW��	�+t��C����pȮ
�ƭB��ۣq�T�����L�W�PSB�<k�9���f�A����
-endstream
-endobj
-2575 0 obj <<
-/Type /Page
-/Contents 2576 0 R
-/Resources 2574 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2556 0 R 2567 0 R 2568 0 R 2569 0 R 2570 0 R 2571 0 R 2572 0 R 2573 0 R ]
->> endobj
-2556 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 691.225 212.778 702.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2567 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 551.889 230.651 562.758]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2568 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 536.381 212.778 547.25]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2569 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 386.868 206.372 415.934]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2570 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 342.468 230.651 353.337]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2571 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.809 342.344 513.996 373.312]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2572 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 181.224 230.651 192.094]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2577 0 obj <<
-/D [2575 0 R /XYZ 89 770.89 null]
->> endobj
-2374 0 obj <<
-/D [2575 0 R /XYZ 90 671.881 null]
->> endobj
-2578 0 obj <<
-/D [2575 0 R /XYZ 90 657.506 null]
->> endobj
-2375 0 obj <<
-/D [2575 0 R /XYZ 90 517.037 null]
->> endobj
-2579 0 obj <<
-/D [2575 0 R /XYZ 90 502.661 null]
->> endobj
-2376 0 obj <<
-/D [2575 0 R /XYZ 90 322.502 null]
->> endobj
-2580 0 obj <<
-/D [2575 0 R /XYZ 90 308.126 null]
->> endobj
-2377 0 obj <<
-/D [2575 0 R /XYZ 90 163.261 null]
->> endobj
-2581 0 obj <<
-/D [2575 0 R /XYZ 90 148.885 null]
->> endobj
-2574 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2591 0 obj <<
-/Length 1712      
-/Filter /FlateDecode
->>
-stream
-x��X�r�6��+��4�x$�Uڱ3I�4��lҌ�� ���(IYq��Hiٓ�3]�"��s.�����W�n'��$��
-�v�I�\"_����4�b�����D����
��w�W�no����v�ׄ����� ����g�`�����w�%
�
~w����	���Q�B�0�^@8�X���FE��Je�F_��uv���{��gF�}T8[/�}�n��66�n�lN}<��QΎ���
YfE��<KWq�1CUf�]e
-��*NTZ�Y�.��Ӆ�w�2�����v�As�ޜ��(�<jEc'����N�9[;:��.
��C�Ü��A��z4@�Ps�՗��+�|8d&���ͥ�A�!�72_�3A�v�j�����բ=h$5z~HҎc�L�����4^k!`
���`
���H}�Z˶fV�*��4���1o�{�g���O7Oൎ�^U
�gğ�e��N1Գ��G!�B�0�id��J7�vqUY�L_b�VЕLhW�/TϪ��S��L6ۓ�������Z��T�o=W�����l�[��e�/��1΄1Ǚ]iB�Ec x�@pN�1���
R�~qX��Z at I�/���E��w�c�#C� [...]
- �
9Z���9.)��vM<�/�Jz�G@/�I�(NM��E����dWC�86��Dh�
�_���5s
b(E�'4V���0��}ާz���͎� � �����:n��5��9b�:��Dl�)aF\���U��=0T���=0��c]�K�Qe&�iV���Ɩfm�W]��v{(�f�*��g�	�e���_�6�DPZ����#�

�Vwiĵa���2Kr�0��C\m�Z�P�� �8C�̈��g�2C�� @ђ�hlQ߶�*�ӆb���Qh
�b��pФ���]�t'h����	IFϻ���ϰC`$�3�hX at aIh[�k��V ;� y^+�D�� q�,aTq�[\��e��MN�p�!mR�kX9`38%<K�>���e�
-��SuǛ�Qu�v�E��%��)]DV��љ!Uk��
-�!�
�"��15�	���osn#1�J�)<�A�iݨ�����6 5�h�?�Q�r;NÃ����HmȑڰA��a�xzm��g�Q�&�&et�j�NӞ�@~A��nL�H
�;��Lr���zk��UӞF
8�ں�w7�~.�b��d=�z�5.ڢ<�
�J%#��n�� %�45N�
���<��m���i�����G�]��y��|�|�ov'�?�N�<$�t�A��q���%\RZё��!��#���|,q4S��
-e�@OH"��l�7��G/2'BT�JI@ݻ�p����Z������Y9�d�M%ye
������%
l�\b́�ӱ��
�n6�?��p)���?�֟iAH���F� Q@
@Q�=���[å}m0Ӽ�5�i^�D=���NG�fm���)Pֺ��+U���������t�Ћ.{����+$�Tx�ި�
5
��k�~��!9�I�Q!i�۪�//.�Z�h��y���"�w����`r���&�P�c��:�{{���aY2pg�H��	.
-endstream
-endobj
-2590 0 obj <<
-/Type /Page
-/Contents 2591 0 R
-/Resources 2589 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2582 0 R 2583 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R ]
->> endobj
-2582 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 629.312 230.651 640.181]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2583 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 612.464 212.778 623.333]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2584 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.185 455.419 206.372 484.485]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2585 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 391.728 230.651 402.597]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2586 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.3 379.648 178.487 390.552]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2587 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 99.895 230.651 110.764]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2592 0 obj <<
-/D [2590 0 R /XYZ 89 770.89 null]
->> endobj
-2378 0 obj <<
-/D [2590 0 R /XYZ 90 590.678 null]
->> endobj
-2593 0 obj <<
-/D [2590 0 R /XYZ 90 574.064 null]
->> endobj
-2379 0 obj <<
-/D [2590 0 R /XYZ 90 369.319 null]
->> endobj
-2594 0 obj <<
-/D [2590 0 R /XYZ 90 352.705 null]
->> endobj
-2380 0 obj <<
-/D [2590 0 R /XYZ 90 224.354 null]
->> endobj
-2595 0 obj <<
-/D [2590 0 R /XYZ 90 207.74 null]
->> endobj
-2381 0 obj <<
-/D [2590 0 R /XYZ 90 77.486 null]
->> endobj
-2589 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2602 0 obj <<
-/Length 1561      
-/Filter /FlateDecode
->>
-stream
-x��X[��F~�W�� �ٹ���*%Q&ۗ���,X��C(��=s���
�mRu��`{|�̹~��8�G8z>x|5�x�p��DR]�D	�O���4��	F,�	�x�N�U:Y��B��t�̮˴�]^�Q<
�#�|4��,Ӫ�o��v�t>ՠ�sƇ�}�z5xz5�4 `��7@ G����
�`�Ud͈��ZE�2�.�w�_��/� BZ� ����F?�0�1��l�����e:�M�:�ej����E�"�y4+!�`���b�w����x�-�c�8,`�i^y��1���%@-�2B�d �I�DcN�mx4�����2-���*n��,��i�垳<�C[GFP����
sG��Z��T>
#φ���)F��/��өD
�V��63�bc��U�g��,��U�j�46��l]r�ӄ#&��P�yc���J�ˢٿ��I=��1�bA��l�膕��5���M��ՙ$�E
�f˥���P�zľX�h�Q�չ$1�49:
o����x� [...]
-��b�g��X�/���UQ��,�`T��C�1�gX�
S���{����gB�{��mf�����:/���y�6n�U���+׾��k׺�}8����t�$9�#/�?�$�0�}m'��x�EZy��ы�F�
�u��B=`
�L2���w̑[�
�Uk��X�o�=~��w�&�l�s��	��l��
w=��x�	�d���]�
��p
-p��nҥn���6	�����
�1�����sPx��1��ƀ�z|����9K!%ȹ�Mm^�<��.�U�=x���ٽf���낺�ٍ�C�긜�i���q]
=(����km�Z��	&���7�o?	�D
�UG

���������kL�ݩ���
�=�����f�n�'Hq���jS��@`��>+u8"Q3�^�'�$��Lo��Á�����e�;@$"u�}/�>\�b�

&����
�F�_Ns���m;9�`��
�i��n�ٕ
-F�/}�yV�����-�6�-�y�r��
ຖq
���AfSy�,t
ԭ�˝�	"����n�Ќ�d7]X�Y��јv��X��k at l��i�W`�t�g�6�<&B!
�������3�'�Y��3�}-Ob�
��C̬Y�3��+{=&f0L$;,����3
z���0��^
�J���rw.�&"�4�`_�Q�/E(���3
-s׈�Q at 5��Z(Qw��?��
��H���o|���'�}��t|bD���R�@)�W���S
-��R<Jф��;���$�����}pb�,q��mؒ��s��O�y��m�M�:��Ϟz��W�N
��|�I�A������iX����w#!�ap���4|>�
�ٞ���8��KD}���z�u���Ǩ�{=p�ܻH!F1iҹ0f}yq��nѴB�<[�(3���x��BGj������}�.J�3�A�0(�T��V�-��4�
� ��
-endstream
-endobj
-2601 0 obj <<
-/Type /Page
-/Contents 2602 0 R
-/Resources 2600 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2596 0 R 2597 0 R 2598 0 R 2599 0 R ]
->> endobj
-2596 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 564.221 230.651 575.09]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2597 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 325.535 230.651 336.404]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2598 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 98.805 230.651 109.674]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2603 0 obj <<
-/D [2601 0 R /XYZ 89 770.89 null]
->> endobj
-2604 0 obj <<
-/D [2601 0 R /XYZ 90 721.073 null]
->> endobj
-2412 0 obj <<
-/D [2601 0 R /XYZ 90 530.948 null]
->> endobj
-2605 0 obj <<
-/D [2601 0 R /XYZ 90 515.969 null]
->> endobj
-2413 0 obj <<
-/D [2601 0 R /XYZ 90 304.217 null]
->> endobj
-2606 0 obj <<
-/D [2601 0 R /XYZ 90 289.238 null]
->> endobj
-2414 0 obj <<
-/D [2601 0 R /XYZ 90 77.486 null]
->> endobj
-2600 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F72 273 0 R /F11 318 0 R /F77 331 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2612 0 obj <<
-/Length 1783      
-/Filter /FlateDecode
->>
-stream
-x��[��6���+��dku���t(����7�&
;�K�}�.�����e�0�llY::::�OZ�-=��6z4
�=
����Tz�+Oa/�
-		o
��X����
�!"J� ������'/�����t�qD���
/Pz����{�-����S�wm:m<N�������UB!vN�e ���c<N�2�<�����
-a��da߶Q��f�l�_ŋ<����<����&���		�Yz~�N6I/f�����Y���#
-�d��7V1�=�RBX���H���g���a�o��CϞ�aki!G\�5��Gg����tx0�Ə�� ����]�2�
HV
	\��CD��~�����b�q��c;
L�
��V�~
;J^�x���$ޔ�8���g�!��������
-�d��Gȶ8�Aw��
�����ل���[H��*�x���n]���ʶ�V���� ��^���:Y�i�.�	���<�lw�q3;������̶��U�ϵ0�FV��˼v��~K���5!
%V}��(E¼�R��Ҹ�ϱ�w�s���
�w�c/l�V^�F�}0���j����7�$4@��F�dHOʐ���T���g�D��$�|#��C^�
��&.��o�t���( ���@��
�XT*>�VoS��dkk�/
)�܍��r�5;u��
�P�T�0��!&�1�;��[h7L	��
��0�v�C�!
�z���9
-��*�V���n����̭��=�3!X
i6�%�:
�y��(
-ko7��= ��D
-���
�Qj�w�.F5h�4�\2�.ױm)�,7�n�\k��\BB5��HZ�.7V@�n��S��vו�R���q愯׫8u����;�H(�aoU�!U(l��N�n/�U�w�j7�/�H�:5.�u��I�Wi�q�W�C
a��O>��α�!o�%_:�ys8	��
��	�G�d1{�/w�*s=�
�TS�+�f��k�����4�!�uR?# ��
�t��A�(Q���Ċ���p�:ں++3��l���T�?�"�u�S���E�,���
}
-[ ��{d3

Ё�(1�AU�k��I�uH�}I>
T#
,
bɣ�Qp�#~?��	X�Q�H#�$~Ԣ��G٪Z�
C�
��F�Zk"䋩�i/��c��
�F8l����`��8��!pB
��,�1#,�l�a
-Ì�����ht���]f������C�H	�0��"�m�2E!�*/wG�{eF���9I�3�����^��}#�~94��x��HO�Fi�qB�����F�Q������r�8����7귓��2ۥ����� TN=� 	����
s)px,Br�OD��H�
�
bȀ
��_A
-���\A�o�
-�+H�M^A�VJ B�8	U�!J�f�_C����R�n
&Jp
�D���L��v�s�ݴ��6�	���l+�u�A׶	D�wa9�����>��S-)�H(!��|0��o���L:�i���Sg�!�Ӛ�a�3�!���!cC��sU'n�M!d�S"�
T�c���(j/�A
��q�\�sЊ'��;��u��o���O�?�B"8�
�Q�P�K�B�S. �r9��
-{��W�vh�p�k��?,pؗ-�w��t���N��������k����&B��S����y��
[��"��
�R��m��E
;�X�|��G���:)*$�s��r{~vv}}��ڥ�6GIyG����նGA�}W�
A�MV�J at 2��k
�pP�_S Q'�T!�5
-endstream
-endobj
-2611 0 obj <<
-/Type /Page
-/Contents 2612 0 R
-/Resources 2610 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2607 0 R 2608 0 R 2609 0 R ]
->> endobj
-2607 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 502.758 230.651 513.627]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2608 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 257.661 230.651 268.531]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2613 0 obj <<
-/D [2611 0 R /XYZ 89 770.89 null]
->> endobj
-2614 0 obj <<
-/D [2611 0 R /XYZ 90 721.073 null]
->> endobj
-2415 0 obj <<
-/D [2611 0 R /XYZ 90 483.732 null]
->> endobj
-2615 0 obj <<
-/D [2611 0 R /XYZ 90 469.526 null]
->> endobj
-2416 0 obj <<
-/D [2611 0 R /XYZ 90 238.636 null]
->> endobj
-2616 0 obj <<
-/D [2611 0 R /XYZ 90 224.429 null]
->> endobj
-2610 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F11 318 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R /F23 240 0 R /F98 2407 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2623 0 obj <<
-/Length 1772      
-/Filter /FlateDecode
->>
-stream
-x��Xɒ�6��+x�Tea�� 1q��kb'�{&'ۥ�(HØ"e.����XH��x9�����F/�_7������g�of��$��r�f�I�	_�����{;'�x�$��!*��ꐧ�[�)�U����8]^�,H8O�*��ճ�X
�$�K���4*K;|����+U+-R
-<�r��������㌀N�#V� �Ћ���ﱷ��
FL���,�{>e�L����v��s����,��y�D�5-.��ͦ��?��
����VY�SY��
�[��󬬊(�*gh]��
U�}&�C�/H0�����zL6*k�4�ͳ_��
ZZ���G�t���5�"�Xc�#8��y�cb�AY`���(��uV&;��~Z�`
I�N��)��H���|�f�z��H�I�$-qA�����*�� Q���p�%�n�s'�{�U�w8���6,$a � H�5�\
k ���T�0lck���8&�m�V5#��̐������J��ۥ��,�X+���A<z��$�@�I
Bط����c�{��(v.Qތ`AB$0�$��Ƌl��4٬
�z���4�:g
�$e]6 �!�G

I���9����"B6[��dʍ`�$�Y�`BL�|�
|��
-!�nA�m&d�›5�":��_��BY˪
�1ߝ�I��CT%��W^��x�$�,�B�1�ێ��=,0�8#扁��W
-\��7��
.�x.�8O6��^�����5����:���ڬ�r���`_�!���1�e� s �Œfru,�Z�e�#?� ��]6=X,y �OZZ]][�
K�
�
#�
"*�@��Ӫ_��6 b������pB0�'��/�J�@�X��4�mŠ%�
q)���l>8�X�拦�	,/9݁}�&
���W �[F��l=(TY��
k�n�
�'�!t��<˖AǺ�*�w�$���v����>����Heۼ�

[
�ҩ�+�z"�&r��z����d%��������0��q ��.�aLM5�(O�V>�[ �C�a�9�HP���
;�A��l~H�w,o�
xH�c��b�[�F������e�+�'�
����M�	�Yg����(HoV
��|D�}}">�6uM�:�O9�G�k���M70MMsڷa�	L۳�] {�][������
-#�3�@wr@����UK7�=����5'2�g�T��N �n��7��/�=\"�^�s��XTD{U����%�nt,Ow��
Fk��o��n��
S�����}]VS. �ې�U{7� !�@LRg�q�M
��� �"���r�������ϟם��u���@�����M
�0E�w��9Ѐ:qDw����^��
�IU
�l�|?��m��6�-�uyL�e
��g��h�]v��4�z�
�2�\s[d�fe�r�@�����
-��(��㭏�+��,Ɛ �w��6F 6��M�0����֛���Ϳ;$��n� ��
"��u��v�+����,
���MX(�}잰����f\:�� ����"es���
�A�v9��tZ�m���:���"��Z�P2��AOtI���=�C�
�8T<U�N�Md��2.�֠�
b-ȅS�G�_������(m�]��G�Я�@m>HCp��P�~g��#�TxehR߽6�o_��$`_^��j���]
�(�I��O�n��R�,�`�\�*��(]��
[Q�a�Dmu����k��_�3>x��ϙ�C��|��X�V�����x<��Du�

-�T��\����B �i+k��}���A�$`SS��M��
��/�gV�
-endstream
-endobj
-2622 0 obj <<
-/Type /Page
-/Contents 2623 0 R
-/Resources 2621 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2566 0 R
-/Annots [ 2617 0 R 2618 0 R 2619 0 R 2620 0 R ]
->> endobj
-2617 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 638.236 230.651 649.105]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2618 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.717 371.574 230.651 382.443]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2619 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 199.076 194.697 209.98]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) >>
->> endobj
-2620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2624 0 obj <<
-/D [2622 0 R /XYZ 89 770.89 null]
->> endobj
-2417 0 obj <<
-/D [2622 0 R /XYZ 90 619.799 null]
->> endobj
-2625 0 obj <<
-/D [2622 0 R /XYZ 90 605.699 null]
->> endobj
-632 0 obj <<
-/D [2622 0 R /XYZ 90 306.125 null]
->> endobj
-222 0 obj <<
-/D [2622 0 R /XYZ 90 297.906 null]
->> endobj
-2626 0 obj <<
-/D [2622 0 R /XYZ 90 217.528 null]
->> endobj
-2627 0 obj <<
-/D [2622 0 R /XYZ 90 217.528 null]
->> endobj
-2628 0 obj <<
-/D [2622 0 R /XYZ 90 162.748 null]
->> endobj
-658 0 obj <<
-/D [2622 0 R /XYZ 90 71.604 null]
->> endobj
-2621 0 obj <<
-/Font << /F70 271 0 R /F88 816 0 R /F56 239 0 R /F77 331 0 R /F72 273 0 R /F11 318 0 R /F23 240 0 R /F98 2407 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2638 0 obj <<
-/Length 1595      
-/Filter /FlateDecode
->>
-stream
-x��X[��6~��ੁs�VDޒ�nN�&Mwݼlrr0�m
���wt���ͦ�>�	$���73ߌ�����������<�N���F�|�$؉��FK��%{��o� �$�Rӧ������_�o����ی�'�-���;�vv�	;K�~�`$ܹQ��NHx���
�BJ�VbuA!�|P	���ަ�wUq��:�\�:��?��%�M�<]��)��i�6�~�+Q{���̄���E=���� ��л��V�M^�zX��ݘ�=�\��U���.�����  s��~�(�L�y+�
a���ˬ�����g�*�Pp�7@���#�l�E{�^�\��9W>�>x����X U����V�È�[����SJ�(EQH
�00���}^,�1beU]{A�fW�˼\���h�iZ���S��6o�
�˥�(vo5�<��PH&~s㝾��4���Qs'\��#P<%�0�KX���(+�S
�7~��.ǎ8 v<�'!����<mŲs�}�I�c
j�ɛ#�S� [...]
X��IN+z���+Ǧ��Q��v��
�����
-�n�z�IR�k�j)��Z4�l-<}��JןUs��džA*�MW��|V��~�5A�	-^z-��B�
b8l����_��t��2�i#�yТ���f:7«z��[�_�
�x�
-�wm++\R)���
3��K�JY1�bj��P�%U���=K���~�Qv��䌂E>��z.�@Y���NI���J�T��
�hs)J��P���d
,s;�t�<�z)W�6,�Uj��k�
1Sv6��f������]��6�k6iӫ�Z
9T��#:N�����)����C��S����WU��XnS���l5b�5��Zu�vj
-�=Ch4��q�ַ�Kvdo+��yB�]3A�vT��2?
�#��
E<~���
ħmh�������͠��
c40���>�rQıl_#�K��=�����-� c�
�Q,�Yr���=��V��uUw�
��`����M]Ido
B��� �y��� �8�&����b��r`]
��ƀG�2j���A����� U�uh
.�7�r[E֢���^��v0��(4 ]PI��D��bAg�
��}I%�k����]�}+�nҿ������h��f���ۼ@sJ-Dw�M�~�6��)f����ʮ1�n�G	Nlw���q��u�I��=n�ˈE�1}�/#������ P��1�,v��j>���ҽ24��Ƨ
���T��S@N��>]Q�@�P�T�ff��F��<�\�۴�{ơ�iF���0�����~ �.��+5"_
���L���N
- at q�ݨ7m�{~rrss����|W��=�튓���G+"�B:�Rݛf:�Xӏa�a��m�
=
���=�
-endstream
-endobj
-2637 0 obj <<
-/Type /Page
-/Contents 2638 0 R
-/Resources 2636 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2629 0 R 2630 0 R 2631 0 R 2632 0 R 2633 0 R 2634 0 R 2635 0 R ]
->> endobj
-2629 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 627.419 149.098 637.949]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a293bf4ae6670add8afd68cbca2edd0e5) >>
->> endobj
-2630 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 587.744 136.665 598.274]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_adf4acacc53bd647f2c4ccaac0aa7643a) >>
->> endobj
-2631 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.921 547.695 173.486 558.599]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_aa771ef39be258755e151cd5edb617e94) >>
->> endobj
-2632 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.302 547.695 212.49 558.599]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2633 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.961 452.771 361.149 463.675]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2634 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.91 101.02 170.687 111.55]
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) >>
->> endobj
-2635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2639 0 obj <<
-/D [2637 0 R /XYZ 89 770.89 null]
->> endobj
-226 0 obj <<
-/D [2637 0 R /XYZ 90 721.073 null]
->> endobj
-2640 0 obj <<
-/D [2637 0 R /XYZ 90 646.43 null]
->> endobj
-2641 0 obj <<
-/D [2637 0 R /XYZ 90 606.874 null]
->> endobj
-2642 0 obj <<
-/D [2637 0 R /XYZ 90 567.199 null]
->> endobj
-2643 0 obj <<
-/D [2637 0 R /XYZ 90 498.083 null]
->> endobj
-2644 0 obj <<
-/D [2637 0 R /XYZ 90 402.409 null]
->> endobj
-2645 0 obj <<
-/D [2637 0 R /XYZ 90 379.912 null]
->> endobj
-2646 0 obj <<
-/D [2637 0 R /XYZ 90 379.912 null]
->> endobj
-659 0 obj <<
-/D [2637 0 R /XYZ 90 209.284 null]
->> endobj
-230 0 obj <<
-/D [2637 0 R /XYZ 90 202.171 null]
->> endobj
-2647 0 obj <<
-/D [2637 0 R /XYZ 90 120.031 null]
->> endobj
-2648 0 obj <<
-/D [2637 0 R /XYZ 90 120.031 null]
->> endobj
-2636 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F77 331 0 R /F83 414 0 R /F88 816 0 R /F92 1102 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2653 0 obj <<
-/Length 563       
-/Filter /FlateDecode
->>
-stream
-xڍ�Ms�0���
-݂I @��Mө�Τ5���x�Z�*ph�}����
hW��w�]
� ������b
8��@Z �A
r�"c�`��B
-=�1v[�+�k��� s-v�z�B��V�SWh%�K��6��
e�}W����o���ĕu&M9�nj��������!F�
-`(N at V9�'
r�^���a
-�@H�/������B"�D�fne/T)s��Vv�Vm��z��߱�

Qr[���! ��
���ث�0`���D�)��̀n�Oչ����Ǐ������QDC�Rz�68o�c%�^L
-'W�h{�j���>@�]1{YK-���B7Ւ*�beٌ"U��cZ��4��1 
-���`�qfE>R�.��
3� !�b-�9����`����Fo&!
uv�al$&W
�G�������l��s��Z����ϥ>ֽ�ń9�]�;�o c�������\p2�2�Zw�b�%�� ���Fʙ���,�O�vӳ�a���\M-
��]��0
(�бV�F��۶�/H_�"$D1�K��RU��� /�	bA��$�(U��j�Et=�?̫�
-endstream
-endobj
-2652 0 obj <<
-/Type /Page
-/Contents 2653 0 R
-/Resources 2651 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2650 0 R ]
->> endobj
-2650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2654 0 obj <<
-/D [2652 0 R /XYZ 89 770.89 null]
->> endobj
-2655 0 obj <<
-/D [2652 0 R /XYZ 90 721.073 null]
->> endobj
-2651 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2711 0 obj <<
-/Length 924       
-/Filter /FlateDecode
->>
-stream
-x��]s�8���+t	3*>�G��q�q
ơ�f�;�
�<�Ϳ_a�i�Ud���^x� �yx��
I� �
�q��.^�x��a;��@��pD	��
YB��E���A.���ܪ�4
�]�O�ǜ�Ă��V
�)_��4M#���ks"r��<{�BAp�N��_��-�~��J< ��՟��|���|o�Jv�#�:Mq&8E)H���i�C

->�hހ��u
����<xdeE݃-���4&�QF)�hq��0�9�sS��9eE*��	K0ͧ4i�|��|��+
-����e�P�+9����&�fTl�d����[H�B�Q��d�f�DsA��j|�{���Q��at��&
G�
�-�}�>�,�^<�&��7�XJY���'�|���d�e
Va���T{E5�ç��?�qW� ��f�j� ���v`��\'�~;���[�P��&E��X��R�������ߒ��2��5�muM�:]ti�)_��[�ϯ$�${^�6���]��<��@.:��
��Y�!��q넳,���C&���[�g��	0��a��o���@A��q�l
�>�
��~�nQ!
a�����0{!�P�ւ�r��6�y��tjiR~�Pƥ)
� x�ɔW��Qnщ��:[j�)��v({�\�yN
����U{Y��n��]���3J�����VI�7�;��7���0���v8�Z�̞�޼XY	������JX
[EN��s��]<�v��ɓ�W>�V�--q/�u���s��2�{�
-���Ӂh�Y��6H�cP��ti�R<�I�hy�Q�[�d� %�R�
�[g�SiK<�ז��

�Q7MS#٢�zXz�h8
�hr������x���.
|5u��3��~?��Eg���p��T˅V�֛z������J��q[[�~t��
-endstream
-endobj
-2710 0 obj <<
-/Type /Page
-/Contents 2711 0 R
-/Resources 2709 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R 2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R 2667 0 R 2668 0 R 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R 2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R 2689 0 R 2690 0 R 2691 0 R 2692 0 R 2693 0 R 2694 0 R 2695 0 R 2696 0 R 2697 0 R 2698 0 R 2699 0 R 2700 0 R 2701 0 R 2702 0 R 2703 0 R 2704 0 R 2705 0 R 2706 0 R 2707 0 R ]
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 659.915 278.601 670.819]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 635.949 278.601 646.853]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2658 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 611.983 289.122 622.887]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2659 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.849 600 285.804 610.904]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2660 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 588.017 278.601 598.921]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2661 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 564.051 289.122 574.955]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2662 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.849 552.068 285.804 562.972]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2663 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 540.085 278.601 550.989]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2664 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 516.119 278.601 527.023]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 492.153 278.601 503.057]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 468.187 289.122 479.091]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.849 456.204 285.804 467.108]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 444.221 278.601 455.125]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 420.255 278.601 431.159]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-2670 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 396.289 289.122 407.193]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2671 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 372.323 278.601 383.227]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2672 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 348.357 278.601 359.261]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2673 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 325.109 204.998 335.295]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2674 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 300.426 278.601 311.329]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2675 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 254.078 175.668 264.982]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2676 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 230.112 278.601 241.016]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2677 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 206.863 204.998 217.05]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2678 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 182.897 204.998 193.084]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 158.931 204.998 169.118]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2680 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 134.965 204.998 145.152]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2681 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 110.999 204.998 121.186]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2682 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 86.316 278.601 97.22]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2683 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 671.898 495.083 682.802]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-2684 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 647.895 495.083 658.799]
-/A << /S /GoTo /D (page.98) >>
->> endobj
-2685 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 623.891 495.083 634.795]
-/A << /S /GoTo /D (page.99) >>
->> endobj
-2686 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 600.605 421.479 610.791]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2687 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 576.601 421.479 586.788]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2688 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 552.598 421.479 562.784]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2689 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 527.877 495.083 538.781]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-2690 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 503.873 495.083 514.777]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2691 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.754 469.13 506.709 480.034]
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 445.126 505.603 456.03]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.33 433.125 502.285 444.029]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 409.838 421.479 420.025]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 385.117 488.975 396.021]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2696 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.214 361.114 493.17 372.018]
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2697 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 337.828 421.479 348.014]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2698 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 313.107 495.083 324.011]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2699 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 289.103 495.083 300.007]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-2700 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.03 265.1 512.985 276.004]
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2701 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 241.096 495.083 252]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-2702 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 217.81 421.479 227.996]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2703 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 193.806 421.479 203.993]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2704 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 169.803 421.479 179.989]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 145.799 421.479 155.986]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2706 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 121.795 421.479 131.982]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2707 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 97.792 421.479 107.979]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2712 0 obj <<
-/D [2710 0 R /XYZ 89 770.89 null]
->> endobj
-2713 0 obj <<
-/D [2710 0 R /XYZ 90 685.014 null]
->> endobj
-2709 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2770 0 obj <<
-/Length 1276      
-/Filter /FlateDecode
->>
-stream
-x��Y[S�8~ϯ���3!ّ/�A�B�	�!��v4"Q����v�¯_�ȕ()�l˶�w�s�������q����<۴��D��<�m�4֮��������ւ.����/��p�=l�l 1
-5T����j��q�
jc1�Q���\m�h-�W_�j|j�E b�G �{kB �Bf��%�aB��ab�
f,��t����@�i�hp��&��i��
�Z�B��q!a�'r�	KX8b��)�������iPG��-'���&����q�
��
�\O	���Q���包,�Y��@�j-#����%|L��l��� F^!������y�>��$'�l��~��J���pp�������f�D7?�(+��@Xgd2
�@t���:}�O��;�bO	���;�ᘤ�П�y��� h����'��,�LM��Rzu��Ah�����q ?���e��e�q{y�n�������T��_3o�FR��J���G2:&4O�9nj�NY�އ��]�~0
d�:q�j��I��YR=.��b���z�2���!F J�ۣ�I�s���ޑG*I'S�xV��A��@����\�[�@K���'5�Z	�R�Q��9*�'�<d4e{5MX́5��[�s�#s>f! [...]
-��c?�?�Ii�S�nP��㱟�Uv�ךJ+Kp��M
�*%,�#��K��L6Y�Sg����T�E9�k������+�����1dz\�_C)���D�{z>�
--R,!��
-�ӗ	�ͅc��
-��i��Q��n碽5`k��,��)P�8,E4!����;"��k��߁�r�K@�'˪��p��’��
�{�=X��Y��w���|-
�˺R����o���΢l�}��U�s�vH
�f�7J"�H|h3�w �.�m�:���o
-*��#r��l���C,f�(�x rH��]k�iCK_JD��(彥5�˅K��e(C����Jd�xy�m�^1�1�_�J�6�;
+�
������'�B��gu�iϱ��е� ,�ρo����|�T)+�<�k-S
}NY򗁱��=Ψ_��gLI~��B�%0�+��%��b�� �?���G�+�
*��#9���m���GG��
�R0
y� �
ű���
-Q����j�I�Ȃ()B�i9`Kx�#~��� �q�4�0��O;
+
-endstream
-endobj
-2769 0 obj <<
-/Type /Page
-/Contents 2770 0 R
-/Resources 2768 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2708 0 R 2714 0 R 2715 0 R 2716 0 R 2717 0 R 2718 0 R 2719 0 R 2720 0 R 2721 0 R 2722 0 R 2723 0 R 2724 0 R 2725 0 R 2726 0 R 2727 0 R 2728 0 R 2729 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R 2735 0 R 2736 0 R 2737 0 R 2738 0 R 2739 0 R 2740 0 R 2741 0 R 2742 0 R 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R 2748 0 R 2749 0 R 2750 0 R 2751 0 R 2752 0 R 2753 0 R 2754 0 R 2755 0 R 2756 0 R 2757 0 R 2758 0 R 2759 0 R 2760 0 R 2761 0 R 2762 0 R 2763 0 R 2764 0 R 2765 0 R 2767 0 R ]
->> endobj
-2708 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 708.674 204.998 718.861]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2714 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 684.047 278.601 694.951]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-2715 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 660.136 272.494 671.04]
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 648.181 295.737 659.085]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 615.424 204.998 625.611]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2718 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 591.514 204.998 601.7]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2719 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 566.886 289.122 577.79]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2720 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 542.976 278.601 553.88]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2721 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.166 509.501 289.122 520.405]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2722 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 473.636 175.668 484.54]
-/A << /S /GoTo /D (page.62) >>
->> endobj
-2723 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 449.725 278.601 460.629]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2724 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 416.251 278.601 427.155]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.59 416.251 293.545 427.155]
-/A << /S /GoTo /D (page.92) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 392.341 278.601 403.245]
-/A << /S /GoTo /D (page.92) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 369.148 204.998 379.334]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.955 332.565 278.91 343.469]
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 309.372 204.998 319.558]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 285.461 204.998 295.648]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 261.551 204.998 271.738]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2732 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 236.923 295.737 247.827]
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2733 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 213.013 295.737 223.917]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2734 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 179.539 278.601 190.443]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2735 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 145.73 140.809 154.577]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2736 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 119.763 278.601 130.667]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2737 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.713 74.333 175.668 85.237]
-/A << /S /GoTo /D (page.62) >>
->> endobj
-2738 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 695.932 495.083 706.836]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-2739 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 671.881 495.083 682.785]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2740 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 647.831 505.603 658.735]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.33 635.805 502.285 646.709]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2742 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.282 612.649 419.238 623.553]
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 578.184 421.479 588.371]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2744 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 554.134 421.479 564.32]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2745 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 529.366 495.083 540.27]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2746 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 505.315 495.083 516.219]
-/A << /S /GoTo /D (page.98) >>
->> endobj
-2747 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 481.982 421.479 492.169]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2748 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 457.214 488.975 468.118]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2749 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.754 433.164 506.709 444.067]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2750 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 397.982 495.083 408.886]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2751 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 364.033 357.291 372.88]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2752 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 338.643 421.479 348.829]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2753 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 313.875 495.083 324.779]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2754 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.071 313.875 510.027 324.779]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-2755 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 290.541 421.479 300.728]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2756 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 265.774 495.083 276.678]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2757 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.071 265.774 510.027 276.678]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-2758 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.55 241.723 511.506 252.627]
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2759 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 231.825 357.291 240.672]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2760 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 206.435 421.479 216.621]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2761 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 170.535 505.603 181.439]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-2762 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 147.202 421.479 157.389]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2763 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 123.152 421.479 133.338]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2764 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 99.101 421.479 109.288]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 74.333 505.603 85.237]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2771 0 obj <<
-/D [2769 0 R /XYZ 89 770.89 null]
->> endobj
-2768 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2862 0 obj <<
-/Length 1612      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�8~���m홚 @2;;�6N�m.�8mw��h[v����i���` #a�N2��|碣O˘�q�y}�98�,#0b�zf�ṁ�	
M�O]d��/�o
'���B������x�Ov�3��|�d�-�Oc��ɢ��eL��[�2��7��7-
�v�74Ɲ�;�S"�lA�D(7x��V���������G:<]����g�5?O����#���όFg�-��V�[��]FE�r9�!��&�՚~�[�
�N;Ƨ�
�l\\�	�S
�V�!.'Ë���D����h��	ٶ��Aa��ݣ�������'��4�d�-8�n� w,]���-�JFCq#��?<<�bJOy�%Kc� �}2RLh�o��Isb�ሎ�p��8����I�<����TBm�v����*
��ϡ-M�d*>[�=,��
�(Tt�j�����>�I�1��⑲D795�����{z�g\f�2��茏���[��?�[�5Td���
���=���
-�A��b
�,�[�o�8G

U��&p��TCq&)OE6�Th^m
��K���xM)K1���Q���w6I��5�71�e}'/w
5�Ve�1���(�yͥ���wk?���>I�Be'ح뀝$�L(��Z;;R�s�E�9r
/�
H�5���	_j�
��ڳ��.�I'+���F��瞩�F�7�����V�#��^�{#�}C�f]�!�����V���
VL�,�Z��N�qm��0Z�&�j	�z	�LmWu�bu�W�����
��[.IB�u${���W
�����6=nx��*
w�-)�"���Z��g<�����
�6i=˅���RrP^���v�vj<o*���zc��@
1�c�1	H��=k��rD�[5y*��*��J�
-0��\p��rpW,x��0z�#�\D+%'�We�C!kl�nBe
9�X�s1)z���TA��>
ё��Me�V-h7�s�tJ'��\ݺ���
��#X�d�b�B�GY��`y�7|����D�x�-����t�4�.�
-�
G��}�~
K9�o��4W�kNg�h�1���Ќ�D at 5i��mXE�DB��$�wtb}T��0Sn*)�à^��q?UG,5����U�
���-��>�I
�x
)����ha��
	e�ęw{�r��F�7j����m��j_�y��ݫޚч
-0)_;�/|F�6��9�]
=\ܞ�3�}z�j�}	uâH��#Nm��:M˩\�
�k��D*�����\�/{/%�-Z��h��OZ�4[</�o��
��㕪�W	+$,�a�A������ [�Mg0�!풞!j:���)͑�=��DCsݲT�2��4]ot�@qm�l�4Dh����Z�/ ��%v�&|B�,m=k��Vlgi���Q�
-��"nZ��9
�"M<Զ�ނ��{���/���}ɹ�v����9��ٺ_�_�3�
-��g��3\��A��u}�s�� C��ҫ���
��ӏ;��,��ؼ�>��#?�>��
��$?>gъ����-l�4��I
\5m���^��1�E���g����>}���iC�|���6M��www�$1W�XJS��ex�,�/�� [��ę[��X��>�M��F߃GJ��-���
2�?�Y��
-endstream
-endobj
-2861 0 obj <<
-/Type /Page
-/Contents 2862 0 R
-/Resources 2860 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2766 0 R 2772 0 R 2773 0 R 2774 0 R 2775 0 R 2776 0 R 2777 0 R 2778 0 R 2779 0 R 2780 0 R 2781 0 R 2782 0 R 2783 0 R 2784 0 R 2785 0 R 2786 0 R 2787 0 R 2788 0 R 2789 0 R 2790 0 R 2791 0 R 2792 0 R 2793 0 R 2794 0 R 2795 0 R 2796 0 R 2797 0 R 2798 0 R 2799 0 R 2800 0 R 2801 0 R 2802 0 R 2803 0 R 2804 0 R 2805 0 R 2806 0 R 2807 0 R 2808 0 R 2809 0 R 2810 0 R 2811 0 R 2812 0 R 2813 0 R 2814 0 R 2815 0 R 2816 0 R 2817 0 R 2818 0 R 2819 0 R 2820 0 R 2821 0 R 2822 0 R 2823 0 R 2824  [...]
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 696.687 204.998 706.874]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2772 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 672.712 204.998 682.899]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2773 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 648.737 204.998 658.924]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2774 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 614.261 204.998 624.448]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2775 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.782 589.569 295.737 600.473]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2776 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.415 554.356 167.37 564.542]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2777 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.244 541.651 207.2 552.555]
-/A << /S /GoTo /D (page.29) >>
->> endobj
-2778 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.978 529.664 293.933 540.567]
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.012 505.721 183.967 516.625]
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.335 493.733 296.29 504.637]
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.347 481.746 270.302 492.65]
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.474 469.758 183.429 480.662]
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.339 457.771 187.294 468.675]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.292 445.783 245.247 456.687]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2785 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.808 433.796 256.763 444.7]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2786 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.935 422.526 169.89 432.712]
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2787 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.923 409.821 260.878 420.725]
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2788 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.243 397.834 295.199 408.738]
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2789 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.297 385.846 254.252 396.75]
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2790 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.618 373.859 288.573 384.763]
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2791 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.234 349.916 186.189 360.82]
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.614 337.928 252.569 348.832]
-/A << /S /GoTo /D (page.42) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.146 325.941 180.102 336.845]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2794 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.337 314.671 153.292 324.857]
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2795 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.854 302.683 140.809 312.87]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2796 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.393 289.979 146.348 300.883]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2797 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.633 277.991 138.588 288.895]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2798 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.935 266.004 286.89 276.908]
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2799 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.856 254.016 275.811 264.92]
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2800 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.337 242.746 153.292 252.933]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2801 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.885 230.041 161.84 240.945]
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2802 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.424 218.054 167.379 228.958]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2803 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.74 206.066 165.696 216.97]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2804 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.175 182.124 175.13 193.028]
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2805 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.234 158.181 186.189 169.085]
-/A << /S /GoTo /D (page.47) >>
->> endobj
-2806 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.294 146.193 223.249 157.097]
-/A << /S /GoTo /D (page.47) >>
->> endobj
-2807 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.501 134.206 173.457 145.11]
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2808 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.234 110.263 186.189 121.167]
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2809 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.04 98.276 287.996 109.18]
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2810 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.86 75.05 189.815 85.237]
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2811 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.658 696.719 404.613 706.906]
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2812 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.588 672.809 380.543 682.996]
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2813 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.874 648.899 386.83 659.085]
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2814 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.659 624.271 417.614 635.175]
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2815 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.512 601.078 395.467 611.265]
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2816 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.336 578.508 357.291 587.354]
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2817 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.722 564.495 485.678 575.399]
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2818 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 553.257 401.006 563.444]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2819 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 541.302 404.882 551.489]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2820 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 528.63 485.12 539.534]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2821 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.486 516.674 479.441 527.578]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2822 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.749 505.437 361.704 515.623]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2823 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.381 492.764 454.336 503.668]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2824 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.839 480.809 398.794 491.713]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2825 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.868 469.571 393.823 479.758]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2826 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.849 457.616 398.804 467.803]
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2827 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.793 457.616 413.748 467.803]
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2828 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.148 444.943 399.103 455.847]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-2829 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.033 432.988 410.989 443.892]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2830 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.752 421.033 432.707 431.937]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2831 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.273 409.795 363.228 419.982]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-2832 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.715 385.168 402.67 396.071]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-2833 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.011 373.212 484.966 384.116]
-/A << /S /GoTo /D (page.60) >>
->> endobj
-2834 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 349.302 392.15 360.206]
-/A << /S /GoTo /D (page.61) >>
->> endobj
-2835 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.5 338.064 369.455 348.251]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2836 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.263 325.392 403.218 336.296]
-/A << /S /GoTo /D (page.62) >>
->> endobj
-2837 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.801 313.437 408.757 324.34]
-/A << /S /GoTo /D (page.62) >>
->> endobj
-2838 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.306 301.481 450.261 312.385]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2839 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.892 290.243 445.847 300.43]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2840 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.467 277.571 436.423 288.475]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2841 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.161 265.616 433.116 276.52]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2842 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.887 254.378 388.842 264.565]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-2843 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.535 241.706 495.491 252.609]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2844 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.833 229.75 429.788 240.654]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2845 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.422 217.795 363.378 228.699]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2846 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.619 205.84 510.574 216.744]
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2847 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.405 193.885 482.36 204.789]
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2848 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 182.647 401.006 192.834]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2849 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.926 170.692 404.882 180.878]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2850 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 158.019 485.12 168.923]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2851 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.749 146.781 361.704 156.968]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2852 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.868 134.826 393.823 145.013]
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2853 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.532 122.871 395.487 133.058]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2854 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.273 110.916 363.228 121.103]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2855 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.975 98.244 508.93 109.147]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2856 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.178 86.288 415.133 97.192]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2857 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.105 74.333 493.06 85.237]
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2863 0 obj <<
-/D [2861 0 R /XYZ 89 770.89 null]
->> endobj
-2860 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F11 318 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2965 0 obj <<
-/Length 1507      
-/Filter /FlateDecode
->>
-stream
-x��ZYw�8}���m�s&D���M�K�
�I&mڣ�٦�V��f~��ŭ�& �L�!f��շ\}( n�n�{m�.�*��xMd�Zs���K2=����1{���X�!Py ���Rz��[�o=H��OK��r+�w�p6=������>��ㆂH�.��}�c"�'� q
-�<���U��I�
?�ό�V�Ma~1�qw���X\��
��]P4M�r�G
Fa�>l�
a�:��
^�2��I�
��'Qzp�.2G��J��,@�1�-v�!U8ò��8 at d$$�I5bx6�
5k;�ם�J��v!u�e� .N��8�Yu�	�
��
��SN
<�'ض��M�#��*�T���)V�	XQ�UXr
��m��T��7�:
-d
��E�?��#�ۈx�Į�
V�|;�����|��ש}@�	r<��JC
���2^9�w^�._�[|"�;6�
�p
;��2֔���;�&6�ڍ�Ⲻ2A� (����b�	'�_T&#�����B��Q�!|�6�N*eT�h{O�|���K�R�[���q�R^.�qá��IXP���N��k��� ����	�w&|

W�v
��Ji�I$�@\�76р�B��W= 4#�*
��i-w#���۫�&�d�6i�bWU-M'�Z�U�t�
=�񜤽�*LF��m��{8�t<����|�:��"Q�
���S�ERE��Ž�lk4��Qy
-5���E at i�ښl��)lù�G���Fm�͖D��^��{b�[���B�Y?�]��t:�r���L�����:�*�����U��E���aad?����v�5	�(�����$;�G��mJ�Ҝ+�"(�!�ެ���5�~��'�Y��(���]���+2,�T�0<i�f !�����n�
C 
Y֑OC�
-���NL�hI���μd&2���yٚd-6GWА5�Q��K�I��L�
G�#��C3�}��iN�{< �Z�
c�u��L]*'^A)#(�,���Zӏ�'��E��
��?O,���i�����b�����_��\�!zk,���ߓh:�EW���t��d���z�R
�׹��6f\k
�L>������|j�&4(Ss���se��B��¯�
-�f���$r�0kXK�
-Eb@�; �@�a M]R�j2_^/t�_�*:�sumY�l|*-5���&��}�릾��:���S�q��?�%{����

/���h�@�m����M��c�ď�ް⊀�iۘ�
-w�Y���.�榕��o�4�.����D�vkփ-��|@��o'E�dL��riP�z
-{؞}#�<���7��nd^SD���g���?�km� 3_�Mx�8<t(��$oS��I�����o
-(�d^�N]�$�m I�8?�b��|�3�@�F�k�I at G�
��"�ZR�'w�_�a��
'�h���
-��wL�$	_]^��{~�;�	#�I.�н<���� 
�
-�(� ʙyA�7+�yI��B:�����e���	8
�Q�,u
-endstream
-endobj
-2964 0 obj <<
-/Type /Page
-/Contents 2965 0 R
-/Resources 2963 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 2649 0 R
-/Annots [ 2858 0 R 2864 0 R 2865 0 R 2866 0 R 2867 0 R 2868 0 R 2869 0 R 2870 0 R 2871 0 R 2872 0 R 2873 0 R 2874 0 R 2875 0 R 2876 0 R 2877 0 R 2878 0 R 2879 0 R 2880 0 R 2881 0 R 2882 0 R 2883 0 R 2884 0 R 2885 0 R 2886 0 R 2887 0 R 2888 0 R 2889 0 R 2890 0 R 2891 0 R 2892 0 R 2893 0 R 2894 0 R 2895 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R 2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R 2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R 2913 0 R 2914 0 R 2915 0 R 2916  [...]
->> endobj
-2858 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.078 708.674 169.033 718.861]
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2864 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.773 684.047 191.728 694.951]
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2865 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [129.402 672.809 141.357 682.996]
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2866 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.074 648.181 226.029 659.085]
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2867 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 636.226 174.572 647.13]
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2868 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.388 624.271 291.343 635.175]
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2869 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.378 612.316 291.333 623.22]
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2870 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.721 600.361 258.676 611.265]
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2871 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.195 588.405 191.15 599.309]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2872 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.071 576.45 195.026 587.354]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2873 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.57 565.212 184.525 575.399]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2874 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.445 553.257 188.4 563.444]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2875 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.896 540.585 182.851 551.489]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2876 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.772 528.63 186.727 539.534]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2877 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.684 516.674 268.639 527.578]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-2878 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.789 504.719 269.745 515.623]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-2879 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.676 492.764 177.631 503.668]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2880 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 480.809 190.353 491.713]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2881 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.848 468.854 171.803 479.758]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2882 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.393 456.899 234.348 467.803]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2883 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.968 444.943 216.923 455.847]
-/A << /S /GoTo /D (page.90) >>
->> endobj
-2884 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.69 432.988 229.646 443.892]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-2885 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.027 421.033 288.983 431.937]
-/A << /S /GoTo /D (page.98) >>
->> endobj
-2886 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.65 409.078 269.605 419.982]
-/A << /S /GoTo /D (page.99) >>
->> endobj
-2887 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.514 397.84 207.469 408.027]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-2888 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.122 385.885 208.077 396.071]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2889 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 373.212 202.776 384.116]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2890 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.308 361.975 166.263 372.161]
-/A << /S /GoTo /D (page.82) >>
->> endobj
-2891 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.115 350.019 159.071 360.206]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-2892 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.927 337.347 195.882 348.251]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-2893 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.136 325.392 228.091 336.296]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2894 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.439 313.437 219.394 324.34]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2895 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.574 301.481 228.529 312.385]
-/A << /S /GoTo /D (page.91) >>
->> endobj
-2896 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.518 301.481 243.473 312.385]
-/A << /S /GoTo /D (page.92) >>
->> endobj
-2897 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.296 289.526 241.252 300.43]
-/A << /S /GoTo /D (page.92) >>
->> endobj
-2898 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.015 277.571 214.971 288.475]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2899 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.203 266.333 165.158 276.52]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2900 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.283 253.661 202.238 264.565]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-2901 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.782 241.706 191.738 252.609]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2902 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.95 229.75 282.905 240.654]
-/A << /S /GoTo /D (page.97) >>
->> endobj
-2903 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.573 217.795 263.528 228.699]
-/A << /S /GoTo /D (page.98) >>
->> endobj
-2904 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.544 205.84 220.5 216.744]
-/A << /S /GoTo /D (page.96) >>
->> endobj
-2905 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.202 194.602 165.158 204.789]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2906 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.146 194.602 180.101 204.789]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-2907 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.549 182.647 163.504 192.834]
-/A << /S /GoTo /D (page.83) >>
->> endobj
-2908 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.492 182.647 178.448 192.834]
-/A << /S /GoTo /D (page.84) >>
->> endobj
-2909 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.189 169.975 222.144 180.878]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-2910 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.064 158.019 226.019 168.923]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-2911 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.563 146.781 215.518 156.968]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-2912 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.438 134.826 219.394 145.013]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-2913 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.04 122.871 178.996 133.058]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-2914 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.404 110.199 263.359 121.103]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2915 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.968 98.244 232.923 109.147]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-2916 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.745 86.288 249.7 97.192]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-2917 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.772 74.333 191.727 85.237]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-2918 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.765 707.957 362.72 718.861]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-2919 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.87 696.002 419.825 706.906]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-2920 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.48 684.047 462.435 694.951]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-2921 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.355 672.092 466.311 682.996]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-2922 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.852 660.136 424.807 671.04]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-2923 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.36 648.181 409.315 659.085]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-2924 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.059 636.226 508.014 647.13]
-/A << /S /GoTo /D (page.99) >>
->> endobj
-2925 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.46 624.271 467.396 635.175]
-/A << /S /GoTo /D (page.100) >>
->> endobj
-2926 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.587 613.033 380.523 623.22]
-/A << /S /GoTo /D (page.100) >>
->> endobj
-2927 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.048 600.361 488.985 611.265]
-/A << /S /GoTo /D (page.100) >>
->> endobj
-2928 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.33 576.45 502.285 587.354]
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2929 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 553.257 421.479 563.444]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2930 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 529.347 421.479 539.534]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2931 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 505.437 421.479 515.623]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2932 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 481.526 421.479 491.713]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2933 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 457.616 421.479 467.803]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2934 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 433.706 421.479 443.892]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2935 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 409.795 421.479 419.982]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2936 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.02 385.168 488.975 396.071]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2937 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 361.975 421.479 372.161]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2938 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.151 338.064 433.106 348.251]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2939 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.906 326.109 383.861 336.296]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2940 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 314.154 378.88 324.34]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2941 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 302.199 378.88 312.385]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2942 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.924 290.243 378.88 300.43]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2943 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.943 278.288 373.898 288.475]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2944 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.092 266.333 422.047 276.52]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2945 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.008 254.378 441.963 264.565]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2946 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.356 242.423 466.311 252.609]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2947 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.609 230.468 489.564 240.654]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2948 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.117 218.512 474.072 228.699]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2949 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.155 206.557 376.11 216.744]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2950 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.647 194.258 375.602 204.789]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2951 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.279 182.303 444.234 192.834]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2952 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.871 170.692 419.826 180.878]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2953 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.7 158.393 422.655 168.923]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2954 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.292 146.781 398.247 156.968]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2955 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.076 134.826 365.032 145.013]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2956 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.091 122.871 417.046 133.058]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2957 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.216 110.916 413.171 121.103]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2958 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.401 98.961 470.356 109.147]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2959 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [455.083 87.006 467.038 97.192]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2960 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.99 75.05 459.945 85.237]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2966 0 obj <<
-/D [2964 0 R /XYZ 89 770.89 null]
->> endobj
-2963 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3036 0 obj <<
-/Length 1450      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�H~�W�P����\�f
���J2����"�Qv�-�8ί�nMTP�L�E����s�קO7n��Ӹr7:�L��d�s
9p�j�P#WS�
/M��|��&��[y�ݿ��鍆�4�m�v�I�m(�7	_�nJ�?p at TL�[��*+��s��_
�IjD$@�e��$J�u @��Y���@P �	�7vߺ�3��H$��ͨ��4e�
���7��$������4j
�'bB�9L�o�Z=˱FeP�a(�NPaI~
4b�9ϱ3j	�$���\։q�;A7�h���q��^�
5s�IT
C�J{н���d��Dz�3��Ή!Z{o�$ ���A�nuQ{�v�{�)��v�U#�m�;oB�kYCk� �c!�E=�vNW�#����w�{�j0�X�/���zCrlwH�Ar�U. X�
��p
-3o�W�
�Q�
�!dW�i=�o�7Vkl�7�U_���5J��$���z
-��xb�l��2�� �� C�E^��䑈�w'�9��m
-W�"��)��ӂ�N�#�_�
��&�|@�(겞v6�q�S
fn�Ea���`G���i6�gL;
-b?G��e+���4�Ǻ
�Y�hHA��
0� �c=��ƽ�s��/j�_
q�fY>H�e�C���V�c'��x�ù%OTI�@
Fc��EZ/��
����Q/����3�ӕUR���Q]eFek�9�pY:�>s�x<D�I�
�YO�M��3��=
.�~3X��{MO���֥�/�"ˢ��u䙂�W�F��: v��Eq��x����
7Y]^>e��R�&%�
b��9�D�,Y�pWSFkX4�V�Q�W�7ZoN���j��(�&�{��Y��l�zeH����-�i7�a^�9����;烽t�>���
-&�E�t
�����B ͽٜL�iLlES�z)az����˶X�zONLI^Ĉ�o�OBW'^8;���������ܳ����JL�^&d�
(�YI�Z쐦8CSZ�^襙7A�V��"{'6�{l�dDm�$\�O�1�>�y^�=��'�G�O���E8�vb����)��$QJo-n�HZD��3�/YWa�c�p���^Ur����3M�Z=zA�{�+�H�"I����~d�MSovˆ�>����ħ�N�b"bݯ�!ۮ�	}��*��+%��g��x�G$
����R�*��KU"�%�$�W�xH�z�B����� ��(]S��#�d�
M����q��`�d���ęҡ^!Zdf^�q^���J��KƗ�ԡ&J�\����S�&�:ݬx�$Ie�s�.B�p�3�B��i>,.���b�c�!(n��l��
-({�KF�t���B>e�=7\�>;�
- (>\�~�1U��-I�
-�c\8�y�n}���wAްS&�2$}��y�ŗ��R���"��D�8�/����[�H`
R
1bY�RhJ at T5�k�����ǂ�`��I$�:ar�
-endstream
-endobj
-3035 0 obj <<
-/Type /Page
-/Contents 3036 0 R
-/Resources 3034 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3038 0 R
-/Annots [ 2961 0 R 2967 0 R 2968 0 R 2969 0 R 2970 0 R 2971 0 R 2972 0 R 2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R 2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R 2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R 2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R 2997 0 R 2998 0 R 2999 0 R 3000 0 R 3001 0 R 3002 0 R 3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R 3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019  [...]
->> endobj
-2961 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.383 708.674 242.338 718.861]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2967 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.708 696.69 219.663 706.876]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2968 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.327 684.705 185.282 694.892]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2969 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.82 672.721 237.775 682.907]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2970 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.93 660.736 269.885 670.923]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2971 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.003 636.796 188.959 646.983]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2972 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.24 624.812 155.195 634.998]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2973 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.947 612.827 259.902 623.014]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2974 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.761 600.842 165.716 611.029]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2975 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 588.858 287.08 599.044]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2976 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 576.873 284.918 587.06]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2977 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.42 564.888 224.375 575.075]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2978 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.895 552.904 145.85 563.09]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2979 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.009 540.919 245.964 551.106]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2980 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.71 528.935 237.665 539.121]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2981 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.324 516.95 263.279 527.137]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2982 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.122 504.965 261.078 515.152]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2983 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.805 492.981 257.76 503.167]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2984 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.165 480.996 175.12 491.183]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2985 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.819 469.012 176.774 479.198]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2986 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.8 444.325 261.755 455.229]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2987 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.335 432.34 284.29 443.244]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2988 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.078 420.356 249.033 431.26]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2989 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.384 408.371 199.339 419.275]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2990 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.348 397.104 230.303 407.291]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2991 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.242 385.119 229.197 395.306]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2992 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.307 372.417 209.262 383.321]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2993 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.398 360.433 190.353 371.337]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2994 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.641 348.448 213.596 359.352]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2995 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.708 337.181 211.663 347.367]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2996 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.716 324.479 206.671 335.383]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2997 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.469 313.212 288.424 323.398]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2998 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.363 301.227 287.318 311.414]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2999 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.39 289.242 208.345 299.429]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-3000 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 276.54 195.613 287.444]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-3001 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 253.288 204.998 263.475]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3002 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 229.319 204.998 239.506]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3003 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 205.35 204.998 215.537]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3004 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 181.381 204.998 191.567]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3005 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 146.958 204.998 157.145]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-3006 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 122.272 272.494 133.176]
-/A << /S /GoTo /D (page.43) >>
->> endobj
-3007 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 98.302 278.601 109.206]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3008 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 74.333 278.601 85.237]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3009 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 695.938 495.083 706.842]
-/A << /S /GoTo /D (page.87) >>
->> endobj
-3010 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 671.901 495.083 682.805]
-/A << /S /GoTo /D (page.88) >>
->> endobj
-3011 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 648.581 421.479 658.767]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-3012 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 623.826 495.083 634.73]
-/A << /S /GoTo /D (page.85) >>
->> endobj
-3013 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 599.788 495.083 610.692]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-3014 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 575.751 495.083 586.655]
-/A << /S /GoTo /D (page.95) >>
->> endobj
-3015 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 539.758 392.15 550.662]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-3016 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 492.743 392.15 503.647]
-/A << /S /GoTo /D (page.64) >>
->> endobj
-3017 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 456.75 392.15 467.654]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-3018 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 432.713 505.603 443.617]
-/A << /S /GoTo /D (page.58) >>
->> endobj
-3019 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 396.72 392.15 407.624]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-3020 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.195 360.727 392.15 371.631]
-/A << /S /GoTo /D (page.63) >>
->> endobj
-3021 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 337.407 421.479 347.594]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-3022 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 313.37 421.479 323.556]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3023 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 288.615 495.083 299.519]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3024 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.136 252.622 461.091 263.526]
-/A << /S /GoTo /D (page.74) >>
->> endobj
-3025 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.648 228.585 505.603 239.488]
-/A << /S /GoTo /D (page.59) >>
->> endobj
-3026 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.33 216.566 502.285 227.47]
-/A << /S /GoTo /D (page.71) >>
->> endobj
-3027 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 192.528 495.083 203.432]
-/A << /S /GoTo /D (page.86) >>
->> endobj
-3028 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 168.491 495.083 179.395]
-/A << /S /GoTo /D (page.94) >>
->> endobj
-3029 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 133.431 495.083 144.335]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3030 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.524 99.088 421.479 109.275]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-3031 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.127 74.333 495.083 85.237]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-3033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [373.078 45.092 488.047 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3037 0 obj <<
-/D [3035 0 R /XYZ 89 770.89 null]
->> endobj
-3034 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3051 0 obj <<
-/Length 612       
-/Filter /FlateDecode
->>
-stream
-xڽ��o�0���W�m�4�����ۺ�(�Ь�j�,�����	���gp��]G����;��~w�8
-�@�:[���Ɓ��
��~
I��
L�tx��p��}�"h��F�Fm%c뷅�l�	
#0]X�{r���8���]O�s0��[hD;?�bl­�t)�Z1!iU�)��XpY	���am���61!ƨdj�h���<�\1:������Q-��m�^M7=
L:.Av�5�S��K���e�e��_%t�f4�q|d_kq�.Y�]�>s\d?9.���j�`d�܎@�ῠ�7P���ZU*�KnFɉ�V��7L.N�@Z
ͪ,��˕�)�*Q���(nQ��DT�(w0��ٴ�8�W��{�6�:�L�;cl3%�Ü
���F��Z�\
-Y�� [}Ak�J��GM�q�������_����m�
-v- �q�EM
�CH���G�lq�ͽ�$ӈ���xe�2��Cn��,V�h\��oۨn+�>9�ؕ�L����"��6ѹ�t
�D:K��%
���]�8o�e��
�f�6���K��5�p�k��u]�u���N+���TP�ݲ�wN�U�0�a�㝗�R��R����B
��N���.!���u
���>�?I4�
-endstream
-endobj
-3050 0 obj <<
-/Type /Page
-/Contents 3051 0 R
-/Resources 3049 0 R
-/MediaBox [0 0 595.276 841.89]
-/Parent 3038 0 R
-/Annots [ 3032 0 R 3039 0 R 3040 0 R 3041 0 R 3042 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R ]
->> endobj
-3032 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 696.002 278.601 706.906]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-3039 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 672.809 204.998 682.996]
-/A << /S /GoTo /D (page.27) >>
->> endobj
-3040 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 648.899 204.998 659.085]
-/A << /S /GoTo /D (page.28) >>
->> endobj
-3041 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 624.988 204.998 635.175]
-/A << /S /GoTo /D (page.26) >>
->> endobj
-3042 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.043 601.078 204.998 611.265]
-/A << /S /GoTo /D (page.25) >>
->> endobj
-3043 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 576.45 278.601 587.354]
-/A << /S /GoTo /D (page.89) >>
->> endobj
-3044 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.272 552.54 290.228 563.444]
-/A << /S /GoTo /D (page.37) >>
->> endobj
-3045 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.904 518.667 270.84 529.571]
-/A << /S /GoTo /D (page.100) >>
->> endobj
-3046 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.646 484.794 278.601 495.698]
-/A << /S /GoTo /D (page.93) >>
->> endobj
-3047 0 obj <<
-/Type /Annot
-/Subtype /Link
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.219 460.884 243.174 471.788]
-/A << /S /GoTo /D (page.48) >>
->> endobj
-3048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [345.82 45.092 460.789 53.323]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3052 0 obj <<
-/D [3050 0 R /XYZ 89 770.89 null]
->> endobj
-3049 0 obj <<
-/Font << /F70 271 0 R /F56 239 0 R /F72 273 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3053 0 obj
-[777.8]
-endobj
-3054 0 obj
-[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6]
-endobj
-3055 0 obj
-[611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
-endobj
-3056 0 obj
-[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
-endobj
-3057 0 obj
-[513.9 799.4 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
-endobj
-3058 0 obj
-[569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
-endobj
-3059 0 obj
-[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4]
-endobj
-3060 0 obj
-[594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4]
-endobj
-3061 0 obj
-[1055.6]
-endobj
-3062 0 obj
-[399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4]
-endobj
-3063 0 obj
-[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
-endobj
-3065 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3066 0 obj
-[761.6 489.6 761.6]
-endobj
-3067 0 obj
-[556 556 167 333 611 278 333 333 0 333 606 0 611 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 389 555 500 500 833 778 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 832 667 667 667 722 667 667 722 778 389 500 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 333 278 333 570 500 333 500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
-endobj
-3068 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3069 0 obj
-[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
-endobj
-3070 0 obj
-[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
-endobj
-3071 0 obj
-[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5]
-endobj
-3072 0 obj
-[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
-endobj
-3073 0 obj
-[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
-endobj
-3074 0 obj
-[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
-endobj
-3075 0 obj
-[472.2 472.2 472.2]
-endobj
-3076 0 obj
-[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0]
-endobj
-3077 0 obj
-[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
-endobj
-3078 0 obj <<
-/Length1 1406
-/Length2 5931
-/Length3 0
-/Length 6889      
-/Filter /FlateDecode
->>
-stream
-xڍuT��6U:ҋ
-��{/"��!%�j轋HQ���t邂���T)�)����s�>��ֽ+k%�;���������XP�i�@"Ђ !�
@UW� ��B@�)�	
���N�eCy����@��`4֦Ac��H�� $
- IȀ$e�@�(�7���A|� ]!�=$�Eʥ���G�����:?x�� ������p��;
�B ]�掭����P8
���<r�h����������K�rR� ���� #�
�s ��
Ѓ���P"��8ý�r#
Ѿ
�5���0�6�� C���Z: }�/��_ ��� @B����+
�;�"�= 8�	�w��5t��~h ��
q�Bb�!>��

�}u@C� �2���
��{�����n�8
-�J�m�:�A��C��H�O
��A�}��3\W�����G88�����!l��{zô��`�&�ۜ`h�8PZDRB �����¿
-��{�~;A��XA��Kw�aH1^ ��a����)p�C� {�
A���X3��3v�(���]? ���'0v�
�7���XXG�\E͜��9UT�~ ���@PDZ ���$%E A�L��M��� �s��H��pD��b�m��L|������YA�]h����oB�_���
-~�����W��u���F�nn��<�?�
����]ho4V
�H�D�
5���h]������ZhV$�'�5���9��P����9`ӻ�0���; �ˇ�
��^��N�
�U�?K�#�H�_�� @P(�?)v�ؓ8 �����{��B$��
8"Q��f*{y���~�a~�_n���z�PX�^l��Ͽ������3SH�l�K]d�I��M_���\��y13�vD����
�c���n��eu�#�Ol������G��g����V[I�G��m)�����4QZ
��
4
s�o��Ǖ��-EiPH{�۫�W�W��]�Ԫ�Z��6�yٸ`�i�MX�W�}�$�5� 
1͞�����4y���=�'
�N-�X-�$�N�U��x�f��l�ĂD�n�Fe=�
�GLi���	�dG�+ME�c�0��w6�8�>� �}�Z�JeP%}[	L�xg�$�Ӕ
{��7o��Q����6�-��;6�&N�
-
-�A@�5uq���r�pQ�⨧���}9
2w��
-�*+$�`�dE#�>g�<4_b�$��hQj�
�Z��=w
{P��O������i/Eb�L�ӝ��
-��]:~�Js��Ņ�z�
���I�
?�g\`T�R�".�Ur
u�&Qz�b��j���{b�[Rӧ�4
��“��//9��+��n�>���20sIjܺ�����!w�g�z�ĕ �nr�O
D���;��o��
��|�g�,��o�������,I)�G��S@��
���
�C3_pkя���)�V��;o���Z9}��	��Et��X}��u�īcP]%��ʾ�v�	��0�����VD����ݺ�z�(�T{��a���`���S��u�R�c�`[X���foW�<�-鷤� ���5�!6eJ�kS�o�~܍zQ�;��6����挐p��˰�h����%�� �k�ץ�e�~���l�����K��NP^�筚/����>*�8f�
jO���!3�%��d�~2��y��!f�H�QB%�sɎ����/�)b�3����
˾�7�H�M�����{Q�}SQ�}XA�ə�c�\���Da��m�\���^t-��'�ؤ����ѼA��oc�Du`��t��/p.kQ:�5���j
ô�c��	Xrg�#�+_�b��l���>Ib����-��~���\����!=N��*n\�Y����(�*|���-v����m���z�̸�Ņ߫�ۆ
Z+>
9
�
-�
� ����O}�[t�\]���l�����x��-�R뎭Λo�60��d(*�)��N��վ���
-�J�S��
�S���J�]'����-��tE�dQT
��sN_���{�ӏ`
-7�O���R>���T<g��Y
-�6z;U���
�&.Dn�G	��OnՔ;�Տ���A�j�3�vs3g��w�.1��"!�g�ֹ��P,����]�l#�>�[&ި�d�c|������k�XfP?��h#�rOW{.%����v�W2gҩ�o�;?
�*U��P8L��_�w�Q��p�4�@
7�]!��D����i�.*�75�ە��b)*|8��;�=łe%�����Q�x�?Z�|M/
�߷�Y�9-?޻ύI<7�5{�\�"�Z�YLΒ&UE�`��J$�?�%H��&Ygԩ�����rU�R�P��H��E�E��kK<I;���1�أu��a�"y>h�3��
�w`����@r�6{�x
��&��ܐ:�����Ֆ�SCI���k�
� 6�i�UY)2�O
OdB�W��|����+�stUe!��˫ʘ�cN�����2���<�ԋ�$�����7�4)�Y�~Q{��fUl<k�^��"Ӈ�\��̘I���x8��
2�U� ��˞o9׭)S^Q��%��ڪP����P�
�
վ۹�9Z`�����e܅"�|;Vӌ1��kx{<��f�dd'����ד�`�=��N��\�"r�@�_�*lIa�2�=
�E6���͚��񨎸�.G�r
jݮ�mʂp
��`�`����Ch)��]��:�l�Q|�5��d|7*&Y.���f
-��ħ>�
$᯸>��&PN����ÄD��jI'1����ɮ)hm�կ=�_ujb�.P5��O�<F:�81ƻ1y� E��3XL��
-?��@��d	��-�9�+-e=��RiuQ�B��R�(���?2�9#��&��́C+{s��9�<�.�
�ǜ��ZE� �
�TD�
�TK��}���\梛Q���k���5c•��CQ6�ed����G��)�����b�b�v�~j�{��H�)�gV�n��LLft�S����ܣ,U��tnp��ٙ�X,�!ˮ�r�|Q��[]�	H�8��Š��s{�9w�
_s<S간t�U|
x���-6"�ڎu�"
C�g_c��wz%��?���:%�"����S+��Gݥ��"!\ n�
���8��� �/8����A9+�#d��~@ű�ƞa�bp�Pwa
�x�Ql�
�
-\�O�k/x���
c;~�~&�%wk�~�&��(��@�ϺO���
-r;��d�lɯ�Q�n�[�
m-�@f�
�К��zŻIz�/1�;k��7���2g9��
����1�߾B�.�5�����������t�D��.�3Ra�����=�Z��x���>1q|��SM� ������өSn�w�Cv���<���Y&]��r��"��f=n�N
��
-�d���Db�QJ
i�i���C�ZvX�nn�ǝ�j
���4�6�+�)���8��f�SH� +�`� ��'&
-��z�$��eɓdf
OR�F�WH����$�\aT�i�H��N�d�5.'��	r�՚ώ�ٷ���81K�
I1�%*қ��Ț�v��d��m����3QN,���k�����O:�\H�:�������y�
iw���p�q�
š3Z�{
;k����r

z|*u�u�U�	����8J'
]Y{�Lb\x/�h<U��h�1e��R��&�� �[����4���7k�}���ӷ\q
:�O}_����}i���H��_�r:<�s�����b�d������͌o��m���o0&}j`ɖ���=��ṃ�J�q�es4��]��|��0
ڂ�6�
V`���=�͕�P7[����_��j�q�<�8񡶫��f��<�R��/;y
-ax	`77����;*;v�]tЕf}�q��ՠ��q+/{1�~A4�|C�ŏ�:���X	d��Bx�@
uj���?ԗ�q Ce��
�
-�����ݏ�)}4
$����t
���o]__yN/T�2���j*�$7��ʸ�Ye���j˦O���<J�9<�}�Y�Y~$��}�>߲�x�x�Kw@�,ё9�b�&)�ζ����Hʀ�fc���q6oحi.�|jƃ,�Hc��	f�$Š�D��\�A��{���+�N��)� [<�Ӻ磰:f��

a���,�,
w%o(v��g��g������7���hXJ
kR�\���ꣀS�ԁK�j�R��0����p��c)
���u��Hd
-�}�L��տ[S^*�!8
ᤒq�]%m�$+~-�x�������F>,��
E�F��)�q��� P�s��9�#�W
�k'��9l���T㫇vV��Fv�&�N��w�Ėr>r����(��f�\s�_��3/�SQ�.5K�"[��\�K���4zMl<dgc��#�+�
�>�ܽo���6��G�4�����>���r���S���]FLt
�c9z���-�
v7,�ud�����
���4�Y�U��q��'x1��jz=}�� ��5}��G*Z�O�O�qe���A�ж
��9�Qoj�|
D��3���ʒ�i��F7��h�p%�f顭����Jk�ʛ[y��F�����%��g4����f��÷�
VT���
�0��Uژ+�����&�'��;�lc��]�'��q[#����V�d�W.'M���BJR:Dd5P��2*���a[�,��Q�<nd
�-�CZ��c���/���M�F�_��țʏ�y��j?_H���-�qF0�5�&'� h�N�^ұomۿ
-���\r}����%�����'�cl_��4=6�Σ�l�If2���ar����S�� *J��¨s���x��w�x���_���:�S5���\N�o�Ď�-��^zAj��
���[�G0ԓ��T�d|�����<����˯�(��>�M��Ln��H6()�%���(�D���?�E4G�A��;�	�23l�~f��O�3<�x~���>�NIH\t��'&��9~�����˴���̛�S�VG����pW��C���w-����L�0��R�����Z3��
W,i]?�������Q�Ǩ��� �
砅W�e.}aʠZ�Cy�����󊪪�B�����X�������v�"f��@L�
f7�r�͙�G���@4gʪBW�Plؗ~'�ƕG�D��	)�խ̦�-���ya��4,R7oUS�
���2���2F��W�ʜݞ
�@�mT����f
��W��wfۀ�K}��{u\�uE��UE�����x��a
�� ��)�CD�O)_"��{��
�5\�����Q=�]��?�,����1�x�]��{
��=~��0L�[ycB�
�
�*�`%��NG�����e����^
ܯ���'2U��,�[}hߊ��Q�>�y$D3`�����6�����
��r��
��.S{�v�l�Tu�s�lr��;��6H�Җd3BC �J�5,�6������G>Q������̌�=_k��Pj�)�p�_ab1N>)�d�N�M]�?
Y}:�1&d`Wg

�9��M������	�a	nOF�CvXN�X�ث,33��8�^Dh,�
?i�
Y�|j�ĕ�X��
r���4�����<OH1,��U|Y�m��8��Y��������*p��%��u�cfz�m�G`�ꦼ�~� �7��
���$�-��O��Xc$
����uN���>�&'"��E
-�G�xF̭{��К��4�F���<��ꩤ�.�2Q+���d����J�٪p�B��
-��~�E9�&m6|{xV�֪�]�!�CM�'�|B�tv
-"`W���K�8Z��f����v-��^~s��OȈ�w�
5
*'{y7�7g���H|�d�i�<��O:L���˻���X��/�/��5�o�-w�
\�
�f��%�Jz��@O��}2F�����yLO7�nμ�H0U��nI���Y��S����+���z����mA���]�=�	>A#�������/%�hF6�I�$���嫗%I���3��j��Ož�Ã��w�� �e��2���rbZ�S���16�
=b��D6W5Pzr����W��d���!���x$��6�
"Ou�=�[����g7�*~���C(u��
q��B
F�FL������X�\
5�&�L��|�����$�!!/�
����
�z%���ev��\2�x�"e�v�^
f����i����h�@��������^[
-N�ZZ��S���/�fL��c�`����
^�?�v%�%�͋>�\-k�8�g�O��K���\�~�\d�)�i6��ޥ������!�����̂��+�77W�x*�8
Tf: �H}4W���=$=L�c8ǔ�B2�����#"(����W�X��Ջ�WE!����\lf������ŏq��$֒+��D1��^�V��6�ͮ^�_��(�n.I3x���g�����
�a���O Ns�Q��,e��N���G�rtv�њ����9�B9�8�Z��G%^�j�̼������U1������.R
���Ef���d�
�Ԝ��L�������-j/ʰT*Oj
-��c��Uv%neN�ȱ�'�4-/ȧ�.F0CsF�W�,*�4�_�?2#(i���q�QMP(b@��3p�:_�Χ�}7�f+_=�����z�B���*�d�eɹ��KyP�IwY
L�3�)sq�W�SP-�������G�'+��嗭��q������`����@d/u/�>��d_�Y@���4j�

-��zP8㨵�Av����:ZG'ɭ���}���el���>�+V#�N��3�	1�;���7/+��o������I�0�s�k9p�ʊK�m�]�c�pZViqL9CI��qG~��&o��<��F�$����<��+�Ϻ2'���K���]}$!��]M5�����55�����-���;�O�7�Au>���MP}
-endstream
-endobj
-3079 0 obj <<
-/Type /FontDescriptor
-/FontName /LBWBDW+CMEX10
-/Flags 4
-/FontBBox [-24 -2960 1454 772]
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/ItalicAngle 0
-/StemV 47
-/XHeight 431
-/CharSet (/summationtext)
-/FontFile 3078 0 R
->> endobj
-3080 0 obj <<
-/Length1 1592
-/Length2 7908
-/Length3 0
-/Length 8960      
-/Filter /FlateDecode
->>
-stream
-xڍ�T�o6����R+%!�.ݝRҠ�
,���tw�t���t����"
Jw~�/����������>3s��=3���Y�G�t�e��PE���ȩ���A ���%`eՅ�
��	X��$
�$�9�B��!(4P
�x��  ����`!Q�
��
�#D�7�@���E����=0[:�ߏ vK XDD��� G(f	q�CP�PGtFK�@n	��<�+��-
-�,
-����@
�<p��$��;
e
І"�7��w� 
�#��xX��0�
�5�
���
-�%�	�vqu��" �� 
5��3��O�ڟ�'��� ��	����@0�?�!��pGg��'��`
s�4�xP
�' ���o �	G�C� 0����! E- ]�_�!-0g�	s�]#�wt������P'�����a�%�����k�ww��[��9YY�.�����sq�����A����@Q ����  ��zX�'��t��a�V�k��v�;��e@}a�P��7���P_��4��D �`�(���D�ot�j����?�xB�
 ����d�f�����_�#j�j�kr�U�?FYY�������+ �A�� !�����W�������#���5
�;��*�����������p �;�
Mh(��_��@��/�������G��Q�����)�:8�ag����C
a�!ЄvE��C
�^���@��hu�����*(zId�l�D�������0��3���O2�=
t��
	�}�@����w��
}� �3��A���x�P���9�,�V�w�W@ A  �hJ�%�7��VP�?8 �8�Qh �f_�5
A�{�"B  ��OI ��G� m~�~�������B@ �����k 
�Ѥ:��� ��

���Mt�Z��5�k��W�D�E��C��>X�"�F�A`t�������P�%��$�R,Į:��R�֝{mX
g7�̐�{��խ0f�����5��^q�
�hj׮!�r�����{���֓���QqÆ�����ɝ�D�S:�I�F��)�
�o���I;�l�uXI|
WwN%��Q+
-=
m�h�,�R�����]�dѧ�&pD�8�������T�
&U�s��
-ҥ���9�.��сO݂��X�Pd
-b}t����s���rߺmg�{[(QHo[u�,r��Uk
خ
l�<bO��5O����:�'s���MC��GY��3b5�J&�"�;�aʟʾ��?
U����
]�rUMUy1���D=A�t��o
kk��uf����U.�,�-_���
����	��i�-��o�DB�
�����`i�z��u?zq��N���o���d�f\*��b�c��j�|2
-__삁�k-ӫb��
�O|*<�M�z
�E�e^-��������E�9�ڣBb�y�#��fW�"�J1_Yak�\
R
��[0�܊c.����13 ε^8���k����&Ĕ�~r�/ٜ���Q4x��W?��I���ƕOռJ.B�

-s]QOZՔ&��妘e�#���
�Lx�"�tԔ�1^E;񋨥X"�G�ݏ��#>ڇ�Y�_��1�Z��������.^�
��01���\�����9؄?WDj�s�$��Z�
4��h|(W�<��=�Û͎�6J���
-l��<ئ���v�E[S����6�ط�
ݍ�w-_�����
1�<�l(�litB��p�}ɝo�Ƕ�'M��I3�nZ~/���
'�åvz�X�tE
'��OJ|���Ad�#�7=S6L'n�7��}�����=��&<�@(���ݕ-
-
�˞�
�.��
��
��uռ���,�ˬ�H�6�~�o�5/MtN>�eh�E��.	WW�� i��«^�s	��G���ʏ�O�����Y����L
�>Y�p�d�T}�97)��5r�0��܋�
�Pk|ѽ[��c!��U�hV%e
��~�z/�e�T/�g�z7�b��p��jv��bB�.�������
�6��p�<Mw���K �CJ��ȸ�9�3����-�wþ��+�T�f��� �7�Y��tq�S�()H1�Z��7���v�_%gȄ6� �#�7��>RSy^�j����Z�1�nf
-8pA�,Y_�v���&qT�	c�h�&{> �B���%k��,7��v���n]򖜈�V��s�/���YK}_;�>���mK�/E
�k�.�fO�udu�
k
�25]�n���s&���U�v7��C//z����F��T-7���$�>_��G%
-9�(?\xL3;S�eI����	����}�'J��@�'n�4�
>���W���d7C�3�E�B����kl��X� �'�����C��n������U��|����"�)�
�o�=��r��y_$��Ae.� ����
�h3����;^_�`Ў�~%����A�[���HЁ�lBDύÎ�{‚��we���
l7�V
-߀UEn�L�L
�G�u^��Z�(���{�v��]����4'�e�w��ӏk�n�d83�m�µ�WU㳿�!6X�E��"�l�1$-v�)�!�dS|�
M�z�����0u,#�WZK��Qy(.٘�&���̕��b�s��i|�=0���B���X�y��)��*�E5#���-~����QI*L�WT?2��P{�V��7^/��$s�
�p��L��4v����鹽B��`�eE�C��}L&��^M���l����ꁥ��x�"�b��*w�F��X޴�MU1�
�Y
z�,���{T��V)+k8Y/f-��+���<�
_���wR=
-�uZӰ�=�8�
H5��o=��a8����Gk	�{A�57h�V@���Z�s��5��:9�8k���r�D������8������0�l?�$P�Ch�����8)�ץ�P�J
ؓ��>��r�׼���`�M��$_όJ�T|]o�
��u
����ݯ�3����zFN#ֈ���8��1tf�o	oD�
��
�<jP�Z��j�y�9��(f�O`���T���9�Ө�}���Q�e����
�?�IR,�')%�5���/
-��������<����
-�#<����^�t`ZQ��4���Lj����|��~M���'��+]J�W�
-M�E�6�3)�cH*�7�ש�A��20�{^"��3�(���xg�#����U��j�c��>^c�+�{>3�(�B;Y��P}�r�i���ɧ~-�/���n��_���8;!�����
�g����0�Fm��mV�U�zeݏ)�'�D��
���?Xd�Ga�6c�lS�қqd?O?�0��*��A�Y
-�
�[���w
��z���ˤE��_wk�����P���e���+Ϟ4�W=3�5
��}?2�.I�9������W��p���
7V�u���{�Ł^�)k/�8$[Kc,E��	�0�Q�~�6�R
&��(��
�]A&H�@���d���D�**��ŷ�{����d�-�rzR싖�.?�2�;F�K/��<^���y��
�	�6�qB�VYlG����^�^$�]ùD�kaG���Y�VmbL��~�wG�ۜ[NR�7��)�����%�2�k�G
���#H�!�x:�kn��f'
-$�|���e���V�
AZ��z���ęx����g1,�Xve
=�P.X����������	@�^Q��
rè9�.�7���JYn
w���!
H ���Џ�
�v��c�����m������jY�p�+�`K5�/��Ƶ3D�H7���ƙ��O
-yKRˢ�>AQ9��c��B!N)jQ{
���b��t-�. ���l������ڨ�_����$�LKl��8�+2�`����g�H�g
J�<�ax$�Ԛ�aϣw�*V)u�Z�?a��?Ԟ��@Z'�N;Xڃ�U\��x�����-v��ȕ�
v��]Rl�d�L�a#Z�g�?}��~�
���%,7#�
8K�
�(�Ȳ�*7|�nջ�&�簉C�����}2y����&�4��H�I)O�^���~�L�r���)AwTl�%�H��r4`�k4`����Uf��-I�a��t(��>��iPI�v�mC�~p(��b���<9{EZ$�Q�XZ-��j��"�I��^��!��S=�0n�чk�������V+گZy��$K~�z��u-}6C��/��|��g��k�`Pb]!^��9�g��t	QS$��N�,Y
-ݘy68_3!Vq:���u���A�&�~���̰�
i��*'f���(Mi��lb��(F���h&(|*Iu؉^�5V2��sa.�h`a_8�3�㣨pɨ�8�]9��a*�uk�n<��!È�J˽���oX�)F����Ҋ)󖇶VK9��V[R���`<+:=z�+���F�㦀����aɉs����5�Ż��I���<���C=X+?���X�"��[>o�4�'_8]b��	ئx�>!��
�}F:�QJ�ߪ<�8�������C$6}��V����^~|m�����7/\�X3������rbE$uE�y�!(�NH�&�)��3�(ɹ���1�~�65K&g�`��E�-���Q0>#�Tlc�^��A7O��ߩ�
H!my�pA�Z_�����B?�XQ�TF:��æP㎻���q�
���q�F*�g�H���D���X��?�4�#��˷���Kw�췗���<>��*H���(2I0A t:|��wT�.e��Ӕ3�c��lu���L%��`�z�٤�
h���
-�FR�I[2�
��b�l"O���}�kat��ۭ5�Sř;��aI�!�^5�0��L
e?������O���m=�b��n:
�����w�d4s��Ð���X��.���g��x�pҸ��Uw�*#-V��
I�*
jm&��oˋ���Uv�7\,N����")���/ejm”�4tz�,{x'���!�y��W���ř���-GoTRJ�#^���
Pf9����̷�k at i�U7�@5�?�ގ9�SN�	Mc��Q�'3�s�(�:+�p��J���V�uY�0f��gy�-�1��׆���H�u�K0N
'�y
��T��,QO������IDwN�Pt�`��B�I��pPL;>�)'!��s$��*d�ޗ�Æ�攪�n0s���嘜dg�6���Q*Kr�����N	���ȷO{��>'rh{�.$l�����噱-f�k�W��ʝ�aZ��}l�zZD�ָX$�M��g�:_{�(&nt��%�ʯ�砤a���H�h�~�X�+�e���[P{��P���uʀ�!$�?���W5��?X�R`��v;Mf�Z�g��=J��ɻ�yJ�q{�l�M{���IҘ����8G�@ʮIa�u�N򇽄��
�J_z�>&�`4d�l���,{FcdS� [...]
-� ��ªY"�W��W��ޤEC�">�<�d�\�
YT|gH'$B��
�V�R�#|FƷ�48]���*&��S4s1
$<����q�g��ޘ�wK�&�^s�V�i�����R�6&\�4%y"�a�D��ˎ�ׂ�x�v�3+�R�R!?��q>�b�ӽ�;�O�n�u4xcƜ`
�M�q� S1_")�A >�
d+7��l]g&�>i�uO��_T�ǃ�w�bv���'/Q�	=����8��w�G�δď��nH̀�`�;5��_R�
�)�qU�V��Bk.��c�
�
�G�Yn�WJ#���FM;^��G#�
0�}G��E�R�����wwn��*�v6������~
��ŷ:�tlꍞ�Fr�I��+�ob��e��������
W�

��w�o����
��F��=Ns������$�[
-��S�����0͇��R�;�V�,w�˯��
3�V��a��DQ���\٘�Ũ�-�F<N��@]�a?��W�icK=�ɟ���3Vw�6�>�lx�1�.��.��b��J�C��r,D�
rhح�
B��7�c���ǒN_3r2�T�	>H�.9'���
�͕�X�b�*�'^��uRM��y[x���#�����2�c.G�$���(�z+nQD�쌪nX�D�h��э���hz�x$x� ۏ;3l��+
�VU�4��<
-��y�1�
����5h�:�NU�ii����v����[�f$���:PKd50��jI��ؼ/�S����
�T��$����j���!*����
��E<=���	m
���xLC@چd� �JW�G�fAɻ^Cw�! ����}z1;��H��M��q)����c
H��l�<����u�v�[;�]��s���g�@�m��n��
-���Gs�g��A
���R��z�7ٯpO���kL�/�Q�/V�#���8ͥ��Ջ��:n�ڬ�m9wX�,b:a�`�	�I�J
���vm��P#�lt����g�~L�/���`{�`�Յ���
��]��'�*�Y�co�=3��w�(�8�o�-msL�
�f_+v΋6}"�,�da��{$/Z�M��ʁ�K	�^�T�H���e2SK����dE�y!>	��5�`����LX�L�����M�>9`!~
Wc����<�W�����AZ��=?�r�F����;�uO�C?�nϨ��6�}�Nx�|Q��M�"ލg��V���^Y��Ae��s�
|�������>C_�̳Xf�^i*��"�]��Fe�ƒ��{~���
*��j�eU�ދ��9ڗ7���[j�ȣ�wus���^�m`�K��ڴ��K�J�(M��޾a^�
9�P���D��x���L����3�:�y��
`v��,�I��b3�0E)�i�o5W~��Q�Z�ˢ�
�{��z��r�ܒ���$ΜBU]-V|���nCҪ:if�Kۖ5�g��![͸�XgB�;�"�4�e#��k-`�>���K6�Kʇ�L�I6\�O

Ԯ�j�Q�=l���4�"�ɚ`%��K�ʝqdd �	�᪵����G6�˅{���k�O�}
�e�ƃ�H��]�>�9|3ʍ�%��-�I������]vF�#�✅.S���2Zc���LZ)�L
2��[�Z��'=�V��zd7kN�O����F���B��b�D�c��9�4w������ၤ%T�?�H���W���K����'!$�G��*>�Z�R�Ku�>=�S��G�sPf%�Ba�(���'d·�w��Am�k|}w_5X4F�V�s(.�ǥ���n�:�Yz�ְ�4p}�ȗ��T6��jn����������W��|,e�f��݊@����<5��R6�����Y�����L�Y�h�F��"1-K���s��W��]��}��+��E��X^�N�9�evK�`�項�7ɖwU�/�su��*t3}"���7߫%a��{%{o [...]
-?��J�]�ɱ��t���	��'Z����0�
�R���t�2S	
~����X;��s��I���������
��Yd/����T�o(*��wm�u��O=�K>�H>���E�X]�s����
ćt���������0%�>�E�	ڠHӞН�Vo�XL�9���
\�٧U߻wu�7�-�3�c���k9F)�(�؋�3.f�<�h��1\�����	��W�
��0�:�r�5�����
ήA3��$�x�u�%a�|k�e�3��<��a�78%��H�9W�L>rcZ5ٟ*�
`x
s�/쵤)|�:�g'��g�ҫ��~׉'[d���$Pgv�1q�k�@���4��°��7(x�X�]�x��u���З�W;T�;S3&��e�s�W��� ��
-`�]�p~.��}5!�,=
-�&����ip�TF�����$��j��/��k/BU�+G���|��_�_r�)W̷gN���Jo3xD�_��.��
����
��(�4�WT�yA�������z��ˇ^?�zw��9�2�:M�8���w�`����(�xt��aK�͈�fa6&�/_7���$_���,;DŒ����}#��	;Ɍ�>/���}��Hi��Z<b�����`L�˾ҧ"D#�C^��42#wIo�}j���x��%L>�Fbl�\�</o%��X�m
v�MD
�� %m���e����l]�w��g4��Ƅ
�ڧ5^��/����Y�|��9Q-.{w���
b��-ǹ�Դ���bT����V�>6rY���
1��4i����*
\�ͬ�q��64A
-`u�I���`5v��D(?P�7��w���^3�Dp�?����`9�k|ؾ@�������s�gH��]4u2�����-rs�ΪM��.9d�����<�s�b�]>z���nԒu?�^~�߽sɋ�)<��
f�;J�_9�?�M,1 S>��(��/���ؚ
�V�~��}E�
����o�H=��$��f�� ����_��:��P�/�
-2>&�
�FU7�R(Ϧ�P���7߸��셋^#]�4
}�#I�
:ڼ��Z}�g�hM������,�_v'Fe�jT����!�=�r���]��l�2��uO2�ư��>sj�?Eo$3fԇ'�=j4��V���Q*���7��]&��mH�v�Ԙ�����$f���A1Ţ��vW"�1'��OԂ$�����?����/q�
1���y�a�0z�O�!�ƌC
?�
-��	�������Q ��,��.|�Vj�-��2������>�{ ��~H�ּ�K?���F���;��Fo�$�W��	�=�os	�þ(�b	�k�ַ���$���i������O!,~����2sg��Ia�`���B)��c�
�nK���:h��I�x���^z,��J�`��p�Z�
7TJrO<����N��tא*�(��I��*ScE�C�Q���7��`�)�`һ�'��&9�R�t����a0�*v\v��v�s��"|��[�K�|
����E
�V��̽�A�4n��UN۫R[���!����B�v�뙠O_!1��|<�U�$�R���륪��D
�a
M\���O_7^
T����{��0zV{�3��7
-endstream
-endobj
-3081 0 obj <<
-/Type /FontDescriptor
-/FontName /OTQMQX+CMMI10
-/Flags 4
-/FontBBox [-32 -250 1048 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 72
-/XHeight 431
-/CharSet (/a/b/greater/k/less/m/n/r/triangleleft/triangleright/x)
-/FontFile 3080 0 R
->> endobj
-3082 0 obj <<
-/Length1 1438
-/Length2 6052
-/Length3 0
-/Length 7022      
-/Filter /FlateDecode
->>
-stream
-xڍW4������n�����j�ڻ���$$���TQ{oB�Q�Z�F��=����j����}�����{O�I~�~>���|'���F���p;�
��
-I�ut4�� !!!!abNNc(�򗞘�>���a���C�0:
-��4=\ @ P\(!-$�������<�� 
�&
As*��|PG'��_� .07 (%%��+
��
-A@� @�r��b*�A. #8
-A��+��
-�&-(���% rE
-��r�| /(�	`AB�{�O� ]�+�4bN����`w at y� F�C`HL��
� `��4�zn�og��|�?� 
- �N�'�g"(�W0
����`>P�#���i
��Q| ���#�	�ă<AP�
��W� ��� �A������H��O��?�`�Yf�
wu��PH���@0��}�
�!
���Kr���
~°�p4�A�= *|0*�t�@LHRBDR
 q@��N�?
��A~�?�
~np7�$ � ���!A� 
-�	���K�@ �

-F� �P�?�1j��o3�`)�� �����5�a�p���?�F,h���kp��俍JJpo���/,& 
-	�$0����	����V�ӝ�?5`pL��(0���?����7܀�Ѕc
p��+!1!0�
��ނ_!��f�?���
�y����s�v�v�+�����
(�r��1+�OWS��ց�C=\�Ӫ�a�D�!:?PT at H�
�T�zC���(��o2�5
L
(
�GB^<�(!���av�s� 13�m!1���5ޟ2�j��C����Ia1q � �c(��� ~@���C�q
 ( ��0! 
� �
A�s��� Aǟ7
�0��:!����&~*�U
�@`��EL+ɿ��&���eœ��Z��(2x�
���}7�*�!D���>��`��5�U�6��f�ܡ���=g~��o��兏�7~�uG�g�W߰?%��0���5a囦(1K� z���;���
{�8����uO&zݾY�&�ު��YS��M�(u{��l�o�"vD{'w�5.t�UT�n��l�)q�W5�B�@�,�������!+{
(
-U�~FQ������%�[�~v�T��F:�������Iͻ�V�f�YQN��[�dmk�N��S��P���Ol�
�����7O<
�9��[Xv��9��+��ߩ�� ��;E�h�*���i
d�*�
%�X��I�:0U�;��� �=\�::�(������a}����~�`���ɪ���
D��/���dE����P��+�TARr��N���M�|b�QN�u�$]����	wO�
%����k�
ˣ�$
˷�����R�w�Zn}O�l�4>V�u�^
�j�)
���=�ъ����XT�H�}{�|�1}l%,춄���r�
g*\D	�L����|���JȂ�lӭ#�)����ÚYOo
�5����8�Wz
��BZ�E(��$>Pqci����*��f{a]���M��g� �崿K�x�J�6 '�d&[ÄS�1��ڌ�S�Z����on�Rj��t��O��Z_
��W���{�
-5�p���6E�G�+�!�3�����T<�
+�M��7D
-sP�ۻ
	ӃO
�
`�'�Ác��"�֏�e��;���'&����'��ʙ�Ƶ���h�wb�
���-�a�Ĵ�hb�4�z]^@B
�a+�HwyRl����0_��j���"�F�xM��U��
V\��g����ڴ
-Crh�%Sq��
��ܔ��,����b8��V��g�
��d�&O��
��M����M�>�,Ta���v.��
�y�_���	�\^���=r)ֹ�� J�>�����	��y�bq�
Q괹��Wz�

��O��F��H�L_&ٹ�
��HfqV
����
����
cV at sPtɚ)'lΆ
 
R����ꠔE�U�u|��"��>�����K������+�2c��	K�K
���ɭ�����r�c�
-�w�&u������|��I09k?���}�+�T
-_�5x��K}�n��aKiӞ�:>� }%�z������!��5�4�E����ym� d��m/%�h��2#�_�-�����u*7�8�
l2��
g�g�Z';����2ߣ���!į�C c�p9�����K� j��y8�g�Du�9�+-�Gi2��('��r�>DOpV���tݜ	�=�Z�'@��J#����Z�$���9Tr�IS�h

->$�m��o�,4hꖆb� Z1
���k��b��
|�3hY��������pI�-�t�}itW��gӡ�
�+ň�!�ljT4*_	�AKF�.T����aEH�̿�j�Թ�A��9׹4�	d��Pb9�|��ְw���S� ���@������e������A){��'� 
@�¦̭8Qp�IQM桓N/��h&�0�k[�RA:_xM��>p��_b=
��}Ǻ���
!b�L[N骔S�\E�1{��ᫌ
�b�c�^����l|ޛl]�L�b%MZ փ�����y�g�;7WO
YS�6��+[��[�T�,�l>@����S�MF��X5�u;���A3+��7_/I8����}����I	��\o|���˻j�.ja�
{�
�
H?�d;���~8#�U�9�s�Jn�1�L��m�Umq��@o�Q��6ix���G2�E��o��h�����h,����+˱T�x=N��`yW{

6�|p7^��ܼc����T�f��������j��=K)��4t3S⚒��#�Gt^cɮt��3�(y�1���H����x���w��ٿ�.���NtI|�Id8.���K�^�"
-�5�
��v~���m�
'��!�Ti�eM�k�2Ұ;����0MI~üIk����5�2�9����#ה7�I�f:8��Љ�d����S�����N=�f�b��U����
����
����
�\��g<
�
���=+8p�{�&|�e�ш�6I;_
'o��J0
��p/�_ҖF�%4Wf7��C�G'ih}�"��N �t���Ać�Vx6��j`(�л�`g��P�޲�n�y���1��[z�Ru�Ih�fAN��+ߖ�[��-�UBS.Ӟl&±�7%.�B���
r���w!�֞�v,=�6nsظR�B�C�}����	젘W,��3*�U+�j<,{�(�/���l�Bo��;��%_��"�MA��C���C�ӑ^�[֨(�ݖ�q���H�Z+[�B���%;��{������
������IL��j��Jús��Eu�l�U�'�>!G�t6˱c&E��1蝠OO�i�	74����?l��
��Y�:V����*˝�M��
-e���
;�]k�C�v��5���^�]��"d�0�:�
�%�5���C�^3#0P0|��a���{cX��n�[��k
��I�
���)c#�]���*
%��63 �\�c���9�M�#�4�IƙI<�x�V})���[�]��
jLzd{��LU9{�����^
üdYMq
-��������	��78<��	h���=N
-[�.�k�
�V
'�^,�Ÿ<�B'9���p#
Qc7�n~�%4@�F�+�
-ߣM�BQ���`S����C��NJC���B�(��}��izG����$��u�[c!�}v�Jj}��w.폵�ɸ �;�f\1�I�`�F�腾�20Fxm�^��Ahx�Wj�Κ���/^o�5��,�i�:VP(��]����z9���V�k��х������Z�B؇��
7�������dM�d�+��+��|Ƴ�X�o����#0k֪��w��E��T���ndI4"��T���f󍒺� 
u��D1�
��
-DХ���q��	�m��X�u_�X�`�;����ʩrg7��1

-�&��R��}��yt��/�D8!�/oN
U��o�Ҫ��m%�ow��3[D����%ϼ�~��^��m�o_P�H}����B�6�E�vt��܊�Xj]:�l��`��~��bHa�06���{V��>-�l�`�d�o�Pu΅���չ��Z-j*�X:z�l���TY�i�q;}@�w��:�^��eV���<"!�mC3�
[��J
���ԾrNS�kL
�x	�r����-oL��;
r�0�D
i��
���ڙ�v�w]��A�("=���ް�*cr������1��8�i�hm���>OhD�{�.ܯlOHB����C�
.�:�L�?�Y�%���e���K
J|/N
u
-)�lo�`�3$�
_?������H�K��֫�)<��hn�m=UDL�$���a �-�nّ���`t1�3�5꩔gN��BźCzY�=�q�9`����L"T+x4�<�b�G�Ks�(gv8�ZrO�����Ԝkx/f�S;]�h����6������F�E
Ԕ/d��l&Ɗy�R&+��
�\�fq�T�
1���`y�c��ʹ1��U����mmZ�9�-	fgd}א�˖�
��$Q�Az�+f��Z�=�l2�LT� ��-�a�!�e�"���e���O���TW��"�`r�Őj�Q�w���2���z�6x��9���s@�M�b���೽��z4��\�W$j��
����������s�⢰>Bō�g"��l)��I
NAtS�o�S�����
@�%a����s���.��U	{��\�P�/(��R�����Wķ]T-?��'��2
-�nqj{e|�0�J�Js)�5*�E?����[Nެ�#�O���`�W���������LkX)�<��+Gj���z��G*�6E�BT���FS�	�Ն���L��.�a�R3w��$���kR�x�]�����A@�]2��jHVZ���
ҹ'��{�Fc��]��o�S
-�=� �7q���&�XQ��&�S�\8#.W
-���#r"�s^�ԛ3���%�1��j�Z=>ȉ1�f�J�
�\zx;�E���j�

-��������7f9��q�w
��D^�Ǔ0:nJ����Y�}���Ɣ%�RjL �%��
]�5�ٲj�O>BD�_�X+�ͦ�e7l*�64�JְK����Rn��2��7K���>BvU�e��s�꺙�r��Ԫo���]l+#�
�J\X�\�K��֔)���-vΚ
-�
t%]u9Q	�箱a����k�}�/�:
-��I�L��e�<
��������l��?'���̛6�I�I]
ʝ�u�=� �
�7
�x����hA�
r�q X�{���xu�6|Z<�& 2Z� � ;e��z��نI����ַ��x�8��sL�����[5G)���-�|̢T�(
^M��
m[�
�cj�
F�.
�*x�e/��I�ڱ2&�"_=`���:�>�Y�S?�(�
k�g�5�4�!AԺDɯour��{��6qgLE��ǃ
hD�G�b
��	{h;�C�!>y�ַ�ү�83�e�Ė>>V�
q�xJ�e�;�^LѽM
V�Ux~M^¡3��U\�~2�'/ev^��͌��S�����~�
 �
f3C[����9}��)cc�
%���3|f
:�7*��Y��Gxx� *�AB_��ؿz~�����{E)k8ej3İ܆�	��{��b���4<�j�d��������,����N�aDJ��D �v�*��#&��+œ�Y{�������2>��˦Ix1/Ֆ^Q8�pH�)���c�–�mjKC��ͬx�����z�d���h��|�e+U��/S�D��g�
;����vVM;t�g:472����Ex�����.��q(�j.>)�o��DRl�V_s(�L��-�5F��#�7��0�M�����
�Ŕ�?�>ᓹ\8^eꀞ�w7��(<�3�"-����5�_��v�L���
��2�"j���Wr at g�K���d��o��MB�{G���O)4�k��%8Nؒz�Y뒯>8|?�/l��"�$���%��]o�5�Q�Z���\_����ŝ�i
���(��'MG������O��>L/�<��6�]��];��nP~�
e�da�/ͯ�]����A��;�u����r5�#��=@�{\|8���������]�-����ǡR���W$�J��G��ll�u�H� <�V$Վ���b���kn�vRH��;�x?|�*7o~.��{��Of��Y�d�E�
���Aϓ�� �����H��4��]��_�_��a�:��lgV�>g%�ÍHQh�*o>|d93I'�՛ϑN�GR��دh7�GE�o

4=xPx������:]鏔[{/����.
�z��~�4���c<��MpǴ7$/���w�L�Ɔ�.R�y�ْ[=_�<��-��O�U��j���'4J�уHd�[00�@;>�j2�=O2D��>,���H:M\�~A-�2�aˇ�|Mvڝ=������C<a
o+��@�.��]�S�Uur��Ƌh�i���J��z-��N�:�/L�
x�G~�:yH�qѩQ땳��DK��WH�������\
=�ؐ�i�\�n�(lN���пa��L�/�~g#[]�k�+�N�}�HD\��Õ�g����v�L��;6�xc�
$��`�9�
G��U�>7��}�Mwֽ��:�I>HM��׋P�A��L�
mV�m!\��>ꊷ7��*~}�w
g�j%��Q��F�MhQ��ȴ�S
,��=WmC��Ee�5&\�-ϛ8����N�|+w+�Y����
�� ��BcRHK%�+�ZM�ִd���{��B�h�����V��
��0��d ^��1�)6���9����z��<��6����#�("^�֝���<��'�є�Ujhᘟ��� �`�ˇ��YI+3�,���֜�i�dNT�.�sH{rw�
�
1
VT]b���)*+�U�\��nᒎ_=>�v�Q@��f�	+�r�U�4-��v^y���vx��l�s���?�%�2|��ȃcv!'q�{.�|������上ͧ4�h�7C��hL
�;	=Ż�V�L9���
�
�������G��9�Y9���]C)��p�η*�Ef+}>
�IW5���I�L��[e$�M���W��C�Y
-endstream
-endobj
-3083 0 obj <<
-/Type /FontDescriptor
-/FontName /ZGGNQH+CMMI12
-/Flags 4
-/FontBBox [-31 -250 1026 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 65
-/XHeight 431
-/CharSet (/greater/less)
-/FontFile 3082 0 R
->> endobj
-3084 0 obj <<
-/Length1 1467
-/Length2 7070
-/Length3 0
-/Length 8050      
-/Filter /FlateDecode
->>
-stream
-xڍ�Tl7NJ���h��ɑ#�1��`�����.���F�$���T�o�������9�wv�v_}���w��`�3�W�E�@�8�_X at H�
iH ��D��D98
a(g�_jB#(�
������2
-F�u*`���4=�¢ a	aI!!�����ߎ�
@�	�� �8ԝ�C�ꃄ�;��e�>�!< aiiI��� E(� 0�ꂮ;
���r(�������� ��] �����x�P��Pw(�j
��v��A&@�0t���� �P^`$�V8� P�;:�n
E��� ]W(����>�_w�O���%���!��+����`�P�.P[ ���ᶿ
���t<�
s۠
~w �`4���C�0W���;��D�_iз�
-�UF��@�(w�_����P��}�L�	����%���v�@�z�
->���<�*��U����(�������0 ��zC
�7�q��6�V����"\vhP�
�C����PH����-
-
la�j���
�������G¼fBh�	�~}�s�@��w�����|uAƺ�z��Ǧ�����k�
�EĄ���������k����z�'����}y������
��%th.C��P�\H\���^��!������F��m����������1�]`�>9���B��^���C��2j
�p�_�
-�^E�=����bBb�0w �j�CA
���Y�k8��P=�;�׋���z� N�W�
=�?&�;zQ���K�����}��!�_�(". #�`B4!В8�赵�z��;@P �@�C h�� ;��ט� h�K��(
���(
t�GDD�_�$@����� 
H$���TB7������B����YD6ı.���"���
�a�����
K|T���Z�AN��Vp�Oh�إ��v����7�O��
>bg���
{f��ٛ3��I~�
���-ƩJL2��~
=ƨ;o
���p�>��K��(Jj���t�yY��M� m����j3d�)~B���m
���ɪ%�yI��U{gupxh�ncwT��g���s�]U�!1�Z����Wy��{�d~6j��T���4�Cʅɭ�4�Wlx&��I�{4�
�����gi���=�Riy�Y��#�l喁�u�~��>��]
��L�f��;��CU��Ӏw�Q��5S~�|�,yA�=/��y��p��wn�����P�G\�7y̭a��
��3�}���e^v`ƌhʨ�m���Y|p�5����&'&lj��c�o��ķ�S����M�`y���<]A�u��������?
o[�_bW�JsP�\\�yL�K�Z��"k1
�I
����cY9�������Ko�6�T�h`��g��� U`�#�|�D\��sw惾��*�A�� 휲g��Q�»��(NABE���Jv����
-FI����a��(]M��J�姘C��M�`��7
�"� {��ZJ[B�K�E��B����@�8+�����E��D�t��%�\�
-M�wk�H��E�J�g�����ĩ� .[����E21^D졖<o�I�|�y(y_'c��k�5�e��+��M�W�T�[�\=�q>��ќ�l����w��b��m���r�O}�#�?ѓ'&��լ�.�
-��d����&QZ��Y
Ű�؝����������2;�����cC�b����U��g�
�����%ń͌��h2t爝=;��
L
���_HM�6��qY�OE7�k*Ju�����\��GV��oߵ7&K�+���Ǘa��6�0Y{Ż;������l�d��iE����@��Bԉ�8y����8�ckuC���:ɍ[�� �B)&e��t�g9�w
�����g:wP�J��{���V)��h�
�.�L�����ع��I�G�/)�w	
n½���
|w��w��cO��|���`�?G^���&bTwqB9q�
-=(
��35y ~���9��`@��;q�
��u�S[������~>�D��:KQdncX��J��
����d�c�X�h���O4��J���Hd��ȋ���i��LW�|���Cn�5
-�,Ͷ	!˕�6KqS$�
�W�٭�So�H
���z�<?0��V�8\m4L��
�c iq��a�({�e8��x�v��R�!6�,;�KBo��5�
rs�hӗ�hH��$�d<��K���<u�J~�6I��~#��Y��/�RloW����N���~�J��L��&�O�!�D����U�]�����إ
-���
-���Ƹ��s��/�	%�|z�8|�t,�:B�K�P����iƚc7-F��'�W��gp��Y�D@��N���D���S&�[�S���#U��kڵg�ǐ̽�6�Ùx�

�����!
9TQ����S�ځ�t_Z�=�6 at D�<��
�ܣ-p�:�Z�/�O
!aj[ɠ�
� .{=���D`6�P�g�[]�|�+��0~u
2
t��Q��P��
 �&�6���k{�\�S
�K�� 9
-��Uڞ���V��9w,����^K��H�����(
y9�`��؆Ҫ|%�Ak| ?��p��-�L�s��O�r~'7�},��y��q%���l�ph�zD[�����j�#���*[�{E�\�o�N���3��Cs�
-�
،V_�g������,ߖ�b��y'R)`�l����l.�K?��i�5�]��`FYhp��z��mȠ����-�Yr�
�[6�]�M��"��� �h��*kF��
$HpNc�ql�6�M�@{T�p��w�c�I��F�xA�]��m����U�k�ڣFZ��k3h)��T���R����l�F_����馫�8�?�������U�����G4qM�J��>�w�
���wC��M�c�
���"ޓ���8�҂2�U��	N�o��6���al��@����V���ZH��8Mc%Q�z7��v�㽾W��

>#|����j��V�Pjo;�HKg�(;Ӧ��gQ!��qr:��ܸ�u�vƦ_Ǝ���.�{��DU�*i^�*PZ0-b����"Mw���5t@�
ި��:�M��PJ��t-�$�j����D�$.H%�E�
-�K#��W
�q5�Wu>54
�z@ו�I�"s�,�/�B�5C@
-v�1��uR�"�R�Y�#ޖa1%��F
�G�ɽ�3����_nʏ
��f�Kؾu��y%|5���Jm���y�<���|�{�]G�@G7��Kq3�3�����WbMѾ
�uC���#j�|�r���ʦ��8��
\�}
���	��%B>�
-K�d���#���4~հ�ZW�Fu=�nKv��ۣsZ+���֎�P��
�
H)o{\E��4�M�4�x�� �)���lT_�
ŏ��V	�U-R ��������3|���	�[�/�{�<y�c-�5�YP�<�Ɏ���ҭ}"1ǰp&�G�N�~Ź���g�`�V�n�r�&�ӤI��/��ɻM
N� ��E��'�
��S��P^E=Ŀ��,t���`kՓ`��5�
���OtI�u�{����~l/.���z��ܦ/��:�<�}[X�"2�r�F;��Y/��*�L��d���B����uJR]���by
??�>�N��`%�s�t��f�%?��(<��t�\9���Z�7HnK��hk�;]D�E�Hm
=����

�nRF�2S�n�}V��W�!꿴�kX�(�]�3��1ŝ�?�̍����2����0*���x����y�����0�1�
(��|����i�<7&���*G�"�=��SG�]5��o�K��m��h�}T!c���&3��d^�I��3@��>}��M��wm�̙2��4
@a$I8�c&����K���fF�x�}`l��"#�@��ǖ�
6�`%VC�
_/�.̴�v�ՠ�C����@��z�I�@����w�5fU����.���m�
-�,�O�
{��h�R��$�E1��rQ&Ac��RӅy�ϟ�U���{K�WSD�TF'�X���J
�u|w��J+�l�6��玊"�}o��ue#Ԍ��
��
�A'��Ǘ�HlUۊJ�s���F��x��,b�s.V�>�����W2˽M�/�a�����)�2�"
��WH����K7
Zi�1�����.v\in��U�4}J�7��S|n%[�:�
+\��@	�.<p�
��#
\�^�%�C"�+Ы!�H��ͩ�]��ueK�O&G�^�+
?���ph���a�^C��K��
�ⓤV}:S�"��P�F{ڣ�R���'|�ŏσ�龑oU�d~���.ҭj�������y�nܺ
�p���׸� 1���h�5f��R��5T����n��c7�ڻ�%�5?cM|��y�E8��uM�j�(��H^��<�&��᐀gon+����Y���������s��`?1(�:���D6��*R$I��'��;s}��(���
M�{�s�];E�+��[�;��R�_=�4v����h~
-QGݜ2���*dK�~p���4(F�����G���}��]Bf�1QT���
-l��*OM1��?��*a��ݬ�r+�9�U
l��ǯ�.�V!!S�{�
-�ʼnAS7��6�'��������g���\�#y���Єi�G��1�W��_&��a�M��������7��TU�nN�o#��Įg�Fk��sS����?%��(��=��}5��pl:üq�
-'K��䀞�
ͷ�f&v��>��*E�k"������?��c
r�3�?}%�$���B5:&��*|��9���·f�ҙ��|�R.�A#rRg7
��E�Q�4��i2X'�M�LN9pW�
#:��;�����'���O�(�rR�پ

� _?/vvt3~o��C8�}���U2c��f�9y�_�8�v�4��~�A���6c��)�P_X��E�2�ŕȞ�'^"� ���uZ
���=�t z���6���#�߰(�D7*\F���]��&��=;����MYtY���A���H|尔��v�PstE;���;� c$$VJ�*G���h�$b>�
�/�dcq���Tk��L��1���?ح�V�-����g���a��u0ן$�ty	o�c����\���:��,�y,c���#�ʞ��]�z��e�H��w`n��]>�HK]�X*��wZ�Yn�ӏ�.�I�4����R��H��Å������b@
7��#��=Ma�&ȡe0Ԗ8|��R�a�$���+�
���@�A��"�,��c�
�� [...]
_ע9��ڐ�w���6�#f����gd\��-�:��OU
JD��/5u�t_`f����<�n.P��6%2�T�%���·�#aZI�
�R��_�ү�ގɃ�/�Ĭ
���\~y=!���Y�$���#��U쵈��Y���<?��᪋Әy
��y�)��rOz܋���Q,E�ڧ�wď0y��`�ǨuT��ni�j~�3�(/
�"���H��vV�����۴�?�~�0
-l?i����8��+ow�bCR
�R�_<��/�׆:�v.�2!ǂ�w�h����F�,�a��
���l�
-�B�Բ���͡F
�
s�[����*�j��vY�I��ŧ��x�T�I����u֏b
�Ħa����V��q�G�щ���TO���˺�j
�!��
]Ӻ����f at sO��D
q�ެ�;���g������t�
�R���T��1���n�������W]2s���G%��,:�/*\v�"E�f��k[j=�w��?=a����-+����lw��@��[��G�=�=��o�7SW+���K흱�录�aXk+>� �>��-
ٹ7N����체�Q�<"��ڴ���1^ֱ���SB/�nƇ^���Z2k\���Ɉl4G�~�!@�ɲ/~��y�����+���YZPqxT�&b�,� RE���>\k�X�C�����7l�w�6�tRnU�=��z��GIs�a��
���J�.���̎�i�OG$���=��]fB
�}���+��QLW'h�s�k���
--�����K
�`�\1BM#ߪ1X��5$y"��4|�~��ӭ�%�ט؆<��yţa%�LF��R�fu#��dzbcC�
w�S��0�w�2�OU� �}}�0gᗪ*�
R#�-�b��E����
-[rn};

oDpK��?��pf0�b�����fʧ萖�݅o-P��=gR�n5p���RB֨�O,��\�qd�EZ�"��L8�p�3e���zI�U���e��Ȧ�����"�7%��
-Q���>Va爩<�3_lim읝W��Ih�	�)����T�ʌ�+~������I�!4��ߊ-fC%b{F^�~�EQr���X���kY|5Y��&��E7��žm3����L�XA
	S�?��Y4�z�ލ�߁S�(�*P��C��!�F=�!
Y7��F�7Y�^���a��AE�����4	C�Gx,�(_-�������
c���[x��qa�(.����E�0j*�����
-�S�/�	������
�_ȷ�'}���{=pH[9�ٙ��x�q�k�b�c`��|t$@c��f���U��6�ju5>�&�J����
�x������%��� 
3���f�IC�ǝ�������
-	�P������ߌA�
dw݉KKE���
Ng�\�`�d���`bi
%��cл]�	l_X�>��6��'��.��J3�r�d��(r�U��6��ʏ�
��X#c��D������bM"�Ya�0{�;�Li}qc�j�+�a�<�y|uS�3"gݛ<oOo_�8{�+q�s
��y
\�\�r2P~1o��Qѩ%���`6p�<�:�u�!i=8��<�����Y}v{MٝHN��u�i�S��F�7��?LG�v��F
�qj�|O�8�U�Y�(�^��jx���A�_A����Ҏ�X��_

'/��|��0�
�_���t웥�����`o0�Bo��Ӱ�c�x���C;f�:�����8󂪏�+�:�!	|_q	-�Q���}�@���3F7�ǘ��%(n�
̱�
�c��H�
3�J�j��f���.=Պ����
3�D�33�����O��u%�D3��ֲ0��F�j69�=RS]} -s�q��(ګ�Ґ�I��\=4k�^,
􋇋��"�0`�}=+�;XZr��N�la�ǷO_,M�=V<'�J�+h�e�sc�6=�T<&�(ǃ�
%a�	N!N����]�|�����
-�֓/�#���±�֌ɮ�dO8��8KM��=}O�GW�
-��Vrp3�w��I��$dp��.�#�P���S
��P<�|Z�:�;˃ƻ'������g���0v(8O�7�*�M`
�������
y�9�@(~!�G�O�{
�m3���s4$�j�������Ғ��~�%
�
�Pgj��ߌD�=l!h�4�.��	�d5��]�����KѺ�[WŽ[
�����]�J=�)�K�#Ѭԃ���e���Li��r�0���	[
i�&��#��
V
�
���b=�e��!�l�~��He�k"{�}9���k�5��D��ytN]�3�DV�o�
-��c��_Ɍ��
]Su��X,�a��_���e~�r�#�k`�!�G|h��x�mGU��ҽF|���B�I\x���^R�~�͔
aa��
�����_~�y
�P���.�1~
�T'
�L�UY�Y����
K��Ng��E7��-�,O���~�ُ�>��L�M��o��8�	�h�3�N�4���$E���'�����l��'���$"!uU�w:���f
�qxur��)<�v�h|�b�LlK7�l-)��P�L�.��!��3�(���^]���c��E���j.T��.�y�՜
��F)��T��4��4�L��b��qx?��"��$��CoޏT�%Y�0����#x��Ď�_�oH��U�\���k�S��_�
H
!.����L�oq��N�W��4(����ua��۵���!�|�K��S(v�TTu�
������SZ���5��dtj���
k\
-t��p��ĮX�ֆ�S��)����J� Ɉ��
-endstream
-endobj
-3085 0 obj <<
-/Type /FontDescriptor
-/FontName /OMWOOP+CMMI6
-/Flags 4
-/FontBBox [11 -250 1241 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 85
-/XHeight 431
-/CharSet (/d/e/m/n/u)
-/FontFile 3084 0 R
->> endobj
-3086 0 obj <<
-/Length1 1482
-/Length2 7295
-/Length3 0
-/Length 8292      
-/Filter /FlateDecode
->>
-stream
-xڍ�T�k6LJHw�H7
���%5

1�� �tK�H�4( ) 
�4(��! ���������Y���u����~�j�rH[;[A�ap '�@V]]Y������̓����;B�2c2@�ܡ�0��
-�u���69�!N�P�p y@��77���[��@g7�
�j
P��8� �
��.>nP[;��1���, ��� ��t���
-� � �
���D0���
�B�>�*�,f���pqyyyq���9��l%X�^P�
@�q�X~h�� �qb2 �����6p/��`p��!0��
�5�
�p8 at WY
����	V����n @N�������;;;��`>P�-��h*�q½�� ��W ����!�	�:��
~w(Hk@���v����9ݡ��(r�*�p��0kYg''
���?9��p�>\&� s����l�0k�_$�=\��aPW���_!&�l�8��[H�W� q@��v\�����@~;���
�\�] 6$ P����;���y@����o�	��`8�
-b
�a�S��
������<�~�
�����7�yY;�
}�	�=_.

5C-%�?��㓑q��q 
<��  P|x	�w������o��Wo��T��8��8<\��<<���_+����Z� ����)7?7���^��)���U��&��mH���������9A
}�
-x���a-ԝ������?����z8��WzXi���9�|��|�Pw�7�Z

-���߳x8�
-�h9�C}q
�������u`���������@�+�=�_�d��C
v����<� ����A��|X[k��o��8a���� ����1������/pA�
�����\N���p��

-�<~���ps{��[Y���= osn�,b_�zY#M�ű>*�z�~i��1Zh��XN��ɞW-W��*��whȸ^��6s�VO���w�A��eKc�0}�8�����v�	!�0U�H�[/�u4^'���m�.�?S]�l�#Q���Jh�F{gMi�	���ފ�٪_o����)w�)��j�id�F&��X�f�W5�����E�
��*���G�ap|y�~*9>�j��|�����L?+EB%�g,I�	�Y���(��ՃN�
���w�o����4P
�d[jZ?��=}��rFs?H���Qk|���'{�'J��TՎ=8 �*q�kP�,c��W�'��ۙ�j���f�>Ģ=|��C�}�����ʟGw�&}���*�J��5�ӳ&�l`%���q�R�� 4.;
成�WW�m)zdK��%,�������MA-Ǚ�Y0��ۥJy�^��
�q��6_irvY��U^��~�ܲ��ᕻ�3zf��һ��ƈv��2�N�����\��o?�Ҵ�� [...]
��[j,Q�,;N{��7���*�$��>Wj1JBQ����]�
���Y��O�ywlY})�"�m!��ψ$n���DŖԹ�mA�����13D
=�i����ا�Mh�n�ޔMz5f�=�4GF�֣�*h	(թ��:)��
k{"Y��m
-�>+���~mhF�o���k�D)�r1p
��ZB�)�Sߜ�8t�%��H�Od��K�㑁Χ
�j��8���|���n�Se�y:~�0z�ֵ�p:Ûn���۳�ު|VB�ls%;�����n�1�/�k�&���4��\*:$-3 at g�|-_������~'�;�c��T�1�9�!��;Hi���\����N��Q������̽C��3��l����x�ɉ�
��Ҙ�mg�EA��ڦ
�G�$3NIu)�_�(OK �1)�G|LdYbWb�/�S�
�
��(Ki.���E��qס��l��
�Pp����.��"�� G���`W��cd���H|������7��-��dG|^qd�˂p>�dMUN��*Ji
#��?B��(�Gy���ws^5Ň���a����,�1i�E/�O"Ff2<Έ��xd"$p�zK'�O]�2
?_���
�
�v�
�s��Hљ�x4�CJ��حt�F���Q����� g�
'�,ϐ�VϞ�\ޠ ��~�F�j�u�#[(�a�Vf�>s◩��"��T�ǩ�f�%h��/�Tc����DJ��7�e��'���9r k�V��a��^��
�-�#P��e����Z�u���p��c�ɸ��Ȋ�
�8��|��I�GiC��aO�΋��\��e�Yk�po�.i��)ޓ��J5��8q��R�hT!�L%�ʀ�C
-j^-�T��2���9�v
�\���q��"��̹KH-ir"Y�k��yj�N�ݦ�:����Ag��4��Bx�$K�:�
�O׫98B���Zl�y�	N��>#Ju$�%>X�8<�'��
?�W�$C�y�RrOqњ�y����j�-<���<�0J��	���Aw�=�������[����H�Fw��>)r[_(gsb����y
�$�V�j��=D	�d�)ӛ{[
eL�p"�w�QF8d�~�l>n��4���{��
'�9�J4�&CT��I�(\��D�#��i��7?�L2�m�y�_,���q`�4׵oBJ$�_)�§,�p���"�O@�opk���B�=*�F��Ć��Hk ���^��z6!�����iե�N���)OW��D���g�}[�46�j���)͉J^�(7#)��ܜ�
��w7|i�Z=�>F��	z,RD}ֶ�+�
�ߑ�S�>R����)�v�n������-������ќYY|�qJ�a%-��wN��?n�W��E���P;�
7<xv�’����Hjb���ěѤ����`��]n��Y�V��.�n䶼!�O4Ҟ0� �M�˙_�I�|��cܨ~8��4&�
a
Sc(�ͧ 6��4?Ϸ���6�|B^�1������ [...]
->v]��vV>��i4HE�W�1��_��h*o��n�km�V��ʯГqu
<o^����
Ua ^
���q$��z+��
"W���J2�mF�v�Β8֕&�_
�Y�
��k*�l�~'�P��j��:���T
'a��tK¡��S3���7_d�ok<�Z���I�&|d�[�
��HV��kV#�^(�Q�+���C�Nq�b9� �o�
H�0zI�S=
�.���
G�
]&Ec+-�K�
-f��@g"�y!����C�k�\>�6fG�;����떉'/��>"�o<g��	@�<�C��>�d�XVL/�<���;�c/�u�Q��k
ָ�
�����!~KyI�JW3��&q��ԫʎ���k>��~�}�ފa���,Q�
-�/�T8/?KQ���.�ۓW�x�
��_pwe5*���P�*ȣ����^��h}�vk��}��?�`�*󜆱�%QD���d��Zz��L-�8�v� }󲹾9��C��ĝ�T���[��h
�OC.g%��C��V���*�u v�$��hR�`�N)|�A�
Μ�:#2�/�b�IN?��nr[5�����h�E��������ڔ~n�I����ea׹dW�x
�p��Ѻ���]��lc�#��;������v�ޘ��X�i
�� �88�{QOT��3k�'�v3�m&�	d�'EJE.7r�z��g�Ȓ��p���6��D4ӧ�����+
-
S�6�B2M�6s�=�%�,���ڱ��ƥ�z]�͵�
H^�)�	���%�Ȍ�j�r^�U% Dk�3?i����mQD8��.F��S_��c��a�\cਸ��י�6
h1���۫=찾���hR�� .h7�$���]g���T
�3[��/'��H�6�Ӳ��k7J�����	M��"2Gѱ�e�䧛C�-�U�:qxY<��
�e��05���o
�#\��R�P�+8���h���
���z6�� ��.�^���@���d�NS���]9������U������
-���I
qa5O������C(|��}��6c��l�4�s>���������]��W\�M[t�F�(�ײ�������Е5H۱��QT�N�F�o�0&Χ�z�\�1P��i�D�06
-k�n)��c�ۦb������}�X�7E������7׌�L�o���?��>e��s�J`$�ȏ�S��5M�E6(��#�(<�~�n�.��,�d�="`�N�����5z���2�h�DToWn���=���3m���7𬤄�VZ<.x�����i�!���W��jA6k*C����V�c}�s`�Q��kL��6�);q��`��>��K���{���h3h�y-����.&�0愕z\�yN�8��i��V�#�w�
�e�;u.�=U7䯡ߞ^7m^57Ԋ���&>�E߀'�h2�&����?��x�ok�������E�ڰtd8B$f3�	�l
ޗ(2R�S;�����̡�zT)��(`��)Ϗ�PӅHE&c�/�b�Z�ܣ�]u��|�V�QH������C��,>�.������ɲ����#W
QDM^�]����G?@����git}���n$�o�
�8�SƘ^ݏv�ͣ�q񑏥��9$��+��?7�+���
7�^96B�=���\z��ΏFw-�>|�J�� [...]
�Sd�jEj����L���t��a�T���H��
-�?��E��v��䦨4��l~�4WOǼ�\�>������*��p�m��W�ڳr7�����(T">�g�{�@��Q�
���X-����WG��ܰ{Q�v��Ϲ�$�����,/�.:��}[tP������u��7�|�-R0�k�{���7�ʊ�H/��
��l�N��<슆Z��YS(?�cqMh�(���1Kr�ʡה�]����=74)/)y�(����5�;��.��(-y�̾���,B�Z���i���ַ����EN�p�NDp�� ,
��#��3v:��k�R�\|��X"].q��
�v���#�W�1BrD�� �t����
-�,adQ��I�J|�&�ӉY�����@W�'
���Z\��Jv%�i=���Cߵ�J�4 �G�f7r�R#i��5���
���
�
�D�뛁ѥC��6�`N�®�MQ��@W\��.
�����o�0X=h�ԇ����n�)#�z�iK�ۜ���S�u
�m�����4N������"���#0wm�U$���a�>��
�$e�\���rA9�%|�E�$ôBzm�4�E,5$��T?�0�p�=
���Z
��/�׭3eӂ,����1�k�*�l+�x�W9� ���@0�-� �u�����֑K��R�E�
��;"��#v�,�Ū�Y ?f���8
�fUp7
Ϝb�v�)
(���Lj�ł/E���J|xJ�

m�xq��(��a�?�]�V�}P�������k �E�

U.X����b���o�R�*|�hS�{�Aʇ�o����U˘�|%'��?h��g�vVO�����Ye*�Q��
pN|$�Z�y
�
�˟i�����q�M
N;���'��tj�[�E�
�%��S��C�T��WH�M
-?
���HY���Pc�rl&X�
ګtm7"���;��:17���9*ז3#��~.%�9���d�V?���+S�q�_N�����A��4�Q���H�:ЈL��[v�5�H��i6�Ǡ���CMsw�{�<�$Lʝ��Љ�uG��؞+=9nK�
��޸�t��k��8������]�S͛� B�ѓ`��
-��
��p@��p����a<$�	z҄�E���WXOrQ`��j�h�aX&/#:uշW:@�WB�T����j��_fҖ�%��2�HD����&L�$�n�f�3p�w�r���b&O�h���^���
��|�g*�:�ꥩ4��
-����G	�c
M�Qy�=X7ݚ�������>m��n at b��W�"�����$D�>�ػ
��������2[W���ˋ�;�
-R�! �3VQ��d!�	4ڭ]~�y�y�F!��[�yVӍ	
�4��]��:z��U꠭4�Ahк�}���B\Wo�T	p�v	������FUD
-��]�е����0�jKt*���q}(1M�)A�f��s$��~8[�8'�;���:��y��6&�c2M���C�%���hJ~,C٧_��g�x���e∽tn*�H�V�W3��0��nI�
���&8mcf��]u�dU��K�
����b�}�Gxe�ű��ܒ#��:������1ڠ�v^�Gh�u5����=rkní
�"��~�jf\��ѡ��q
��W���T�/�N>{Oμʀ&e
'uTj�[�$�Ƴż#�Ԕ��5&�q��1�H�F�^@#���0������G�^a����5���P)ٝd?D
��ś�Q2��*��)�V}e�B��$��9i�l,ݳ=<��b����R���hŨG ���"�Lv�}��
����V)-v��b�n�T}#��oL�Cӯ���/�{�%�4
�]�o�_
_I�M
|)�2U�oHD���xmC�
'ۮ�	hw~K�ع�m�3��9֙[M��q�*�]*|���zvӲ;���x�����Is���l��eH
?�T���\�mO�8��;n:��$�K4	ke5-1��j�)T�oԫ�#�xo��=�b���-��
���Es���\���;
Fs�2�,��T�s�
�Ρ�r7\�
 ��M9�/�0��܏�szb\V;?#��+3/܋Q�LټJn����^!V��)��$�}l
IV^�P���"t���v�Q���s���~s�9��J�"�{ŋ��wx���qֱz��gU
�.
���0��2���}���k�p��̉�1�^NF^�x@��<���b�jڳ�F84u}(��Q��^�v��lr�n�<�����>2���x�����@_%s7�~��<�Q�5Eb���R���t���z�
$|�b
��Ϝ�%E��'�f>G���X?����#�5s��|�
y��N_��R$��^�,_J��>�MR����bN��O�.\@`�/'olB����x��c�_�ň����Aj��Ĭ��&wց�N��Q9��ו(�.7u��nU��2I�Tl%�v���J�#�>�Bo+�1FjY�9��
ѽcٟ�6ʈ�b�y�
w�ˋl�(�l��I�A���֘�8]M޳���L��ӣ����(ˎM�ʭ ������ؒ
-XЍG��\n��
{����hkM쉨_�}��.���
m�� /�ntL� � ��tܲ 
Ӗ/dcTz��)��T��/���P�Q���'��}�N'��,��-���ӈ&񱻠��X�W*rۥf�e}�<�
-Q���Q�v`�q�����-mUgyS�
KF@���96�����gH֞��
��n��Zo�/�n��4lV�gW���;�d u�#
r�oQ#u���<ş��ᒟv�ي��� �3����0Y�y�M>�uJ9��o2�9 �^�q`��ibY0��MpE�����#�;N�ԋ[n���n0B��X��9G�?7���N�o�f�|���5�\�S��
u�02Fp���֑n���
�k�;�|UDx����G��ī7�}
�?�4����o~��&�j���K�E�>���;����_{R�4�0�?{����^u��T�[��N�� ����z�y�H}`�\��dyʆ�2N���m�cd(whr�҇��˫3=
��=J�Y:Lˇ$�&��|ֶҬ;B1dd�I#2t-�"���i
-_��V�P�����0�c$�u.?��/�l�?F�
_w�	h��»?w���4m)�����P�v��.�9e�}�����*�D�x%(>v`u����l%~R^{��K����P��$�ry%�V�|����؊�ֽ��
�b�P
-�LZ��
���P�fK�-A��ATI���D�
�
-endstream
-endobj
-3087 0 obj <<
-/Type /FontDescriptor
-/FontName /NNLWPH+CMMI7
-/Flags 4
-/FontBBox [-1 -250 1171 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 81
-/XHeight 431
-/CharSet (/d/e/i/m/n/u)
-/FontFile 3086 0 R
->> endobj
-3088 0 obj <<
-/Length1 1491
-/Length2 6577
-/Length3 0
-/Length 7577      
-/Filter /FlateDecode
->>
-stream
-xڍT4�۷V�!z
�h�E��{	�E��2�-�
��k�h�ѻ�������Mʽ���{k��f�ߜ��w����!��-��
-�!���R %


I (" 
-rpA�ΐ?jBc�;
-�I�7%w��)��h?
8
���
ݕ��@��_�pw)�2�j
� h�a!����
j�D����� �$%��~�\ �P0�!
 .�`�3��B�>�J�-�D�J	
-zyy	�\pw{Y
>�� �A@�=!����� �od�
 #(��n���C h�3
�!�
0[�; ]
`��
�s��~;k�v����������D�L��
-��pW�
-��A�! =Um�7� ���t9#��x�'�
�A;��
PU0 �� ��C�ݡ�H� �����4�[V��*�]\ 0$��g�Pw}�>��'��{�|�vP���O�
��`P7�������=	J��H� n �7�A�gz#W�/��O5���+�`���A����'�t�����wÿ%B!!�-��@�0������2z��Po��=! �����^�p���?��+���m������6EE�7��_X�/,�� ������}����A�4�'������������v����p4�! ��o	������
-�߈�3�����lH����������A.Pg�?h.{ �{�Go�?]M �wYb
�p�O����=���B��?�
E�B�!��P$��7�����3ч#�?�
t�6�ځ���
-=��&���_��)C�[��>T``���u�
 ���|ф@Kb _!���B�
 ( �#�! 4f�
ܝ�����?
���BB� A��EQq� ����8�!v�
w�1�
����9���j�����ah
ɿ��&�����:V�6�T*�{�o
K��
-��?�G���Y�&fe�i���v
�>tl�Ut;�^��拪a��=�gVݲg����>œx�{��:Eڀ�g���$�ڽC�1�V;���}�!�Wu��s/N�"UqͰf���ʢLm*I�ݵ��F�~�
��4\9k.q!�і�Rt�Y��[O	�*n��
�/�u3vDizo|e�$S��Ϡ,�Wa���"��N:����m�
۞�e��j�C���
���z�n��m��'�y���C	��,���aK�B�mrNy����F���O
�E���Q��J*�����=�X�k
g�J�C�ސ�6S��K�����<�3~�}��
�����F��
g��-�O.mkdc�`���W�L`Sfwc��ZC���r�x��t�9�(�-"��{F
*���|`��O��?�‰~=՗"�7�B|����:�z��r��

�AL�
`D�I�
�9����e,9'��!c�� �
h���� �p���L��&!�k(
-�=�*�hNs,_%Y���a�[2/9�ά�R��н;���A��o��d�JOx��8��e�{<�lŀ��k�����ZU����N���
��(���hӺy���
-,��+
-e���[]��o|H�N����s�7f�eQ�/
Z	6ϕb�qhP۩V�M觏K�8����ԑۢ���}�ZxR�9:��<�M
H�����ͤ��0��@�K��}��-
t�9 4i2����
�S
-7�{K�~L���i�����ŹQ��R4e"f5��֞��RƋn��<o�
PS|�N�� ���:�s'=
�
Է=s��˺�q�E��
-D��bC��/�Sц�U�q")2֓|u�U��-�d ��@-KJ>�
����
5p�ʧ�|Ce��Zs��Q^=��Ve��[K.�J�dJ���#��ր�^�w��m2=��4̒��ˆQ�w��fԿ�︼k�T�
xV�Ioʖ�=�2N.����M�&C'���w,V�rcM
[��נ�<:��L b}��X����UF]�5�IZ-3aY�y���7z��-
-d��ZÚJ�������s�wA��u��&8M�WXF^� oL��5��hwS���ڈ��~�S�3�+���x�ŭR���R�+i��D�n*��Dh�'�w�>"F5��L��]3����t�� ��
4p��&>�����|Jt�"޺���L�\H
a�2��
�b�J4~�s���™J"
J��L����ߍ{�a���<�h���e�qZ\�w�*=��K.I�Zy��2��:8�|œ����z-X�ڑ��a��F͟�W��f��
�o�|����pw†��ʒ<]�������
˚�f#�I���g���ki,����Z�#��$ jv��?��	���>.%�X?v\1�r`��ִ�A��Kx�:29��/,�
:-�f�y�{��&`ZF�=��c�k�^����MV��vk&��ٛ�}c:�+^�j�
	"�:�X�薋O-sN5?����|�	��Y;&�<0����tluS�G AZ��
���h�� ?�8��&>����Ҹz����ӡ��ok����~
-����#`Y[���,�|y�i.V�@d������A
�~j	�3�,�W7�+6�7
7�B
U���&25V�W|�T*��i�?���&a53��@�v�\w7ȓ�9;�S��[dO��Z�z�o�ж΁�d�RD�"j�V�|�HgsBӥR轒�x���9'A
}vؔ�Ξؾ
�Z���|�

�1I.�d��M��mjm��ER¿`K`m,��q �w� ��$'�[A�
9�,FH�}����T�W;���eHB�Ҙ1ni��.65-o�:��@`꒘rjN1L��#	V�dr�����I�?��'Ȃ����"��Ƴ����
-��.&0_2�~��YT1QݿX��=�e"+�o����+��(�����ԓ�6�<�i�S��r)���{�R�� ��~ʡ�s6�����t�/Y(r�}�!�^�V�q5Fա֙_:В��,��<�5('lf�~���t��A$�cQ^�E
_Ò�w��W[%Ó+S��Iᯂ�iT���D��
쩎��<���="��q�\{�� ׺1�bk��g%�z`DŽ��'���-?�Î��Q
Kzc�����jR�2�ɨ���o��y������v��G��v��qP,������U�����ȱM��R�ּ]t�9xR��H-������r����椕���?
WE�X�a��}]��O���
-\�
P�]TX\���C>�ۥ��ú��xc���>m�G� p�_��p�O���Izioψ.���{�NX+$�}t!��"|�]��x;)���u�j��>�^�#ޕT����N���Yʻ��_����H+g�$�N:�)_l �X��̐��0�xT�s�b�{8MIE�5D�̞�-H�@�\
p�6nM�Oy�8"�-�ѧYs^%@���'?�
(����XK
-o����+�˸b�b�m��5�ٛ���j��MM3�5I$��
\��{�H�J�k����E�
!ئ�;9.Wȓ�(%_2HKY�Dv�sF�ݷ� �=L�]9?��k�#�"�Tv
/������y/�ښ j�����Ʉ��ԙ������8)A\^��?Ⱦ�rD84D�]nV7�롹cE0�${���n�v�Ŏ�����"��-�-8LZj��L{P����[%C�tr�����`G�]�&1�8��Tu��<��'���L��Rc*�e� "�c(�b�C��4�E�h?,�S�r��SO̖
��N
��S��򦱡��F�5��#l���3�
�K�U6��k(ʌ ��e�
�����<U����7_r���qH.e\T�T��8�lW�v�0$�>M�1��>&���]?��.�$dl��
�S.���M��]�_4����P�D�]���&|��4��)k������0=]�=E�}��ET�h�$�:e�� �%l
$��8�y��kQ�;�R�-�|�
jmdt�z��Pp\V����ƴj�� j���8���˅hrG��;��/O�x3G�c��v#��r��@��1$�&0̠��+lѥ�ܜ\�	��dHJ:e"s�!+~�����ǸuQFD�r�t��k���mN}�����*<l�4
�L>�
O�ﱉ�s@��b�TQ()�إ8��%�޻�*�B�T�,Ə=��y�՗,��"�
^b��Ѱfi��b��-RL�D�=�����6躗^c�dr�,'�D����y�B�;�`���� �X
��L���3y�rQ�)�rs�����R�>�=��A��$��/!e�R�o�N:��ui�n��ғ^���l��I�{G�|N���
����*TQL�����78�-M�G||
-�Y;�X-�K�{O�EJ��%]O�E 먽����I�8��ʭOo�R>\W at iij�?�3yJ��P���N�
��7	���t�@�VU �
�<._qQ�ŹxĎ��6�]�T�íZ�L
�L�|V�q"ӧ��l�0F�tMͤ㦡�wXN�A{����
��򧰌ѐ�E�?뙄?�$r���l �?x�T|%�;�:�|N�
-IBt�	�3�"Z�p���
-��
���7�]��_�}�]\�;%%���TFJ�5����1�h��Ԣ�/:E;�v�O����rjL2+��FL~w_:�Sc-E��\�;}�j1��A9�[�T�H�Lr �|��s��(����� �c��b�����u
�9�
iW��#g84h~���Ũwq|I��� ���~��E�G�a+�n�R��#
Ґ�N�)���z��>���:��y�1 ,��[~�*���Ւ��X�̆��q��&5AȰ�$��O�үP'ݘ�ͬ������'6�Θ�����g�$s�N5 ��Lu�������iHi����-?{
_��J�FuRjq���C5��ݚW?�x3�9�r���j���I������8�r�.lVm
�O���E
-��(4?0|с+�w���LI�_�P��YC &W_�:e�ݖ:��y�_�o���z\n����Q���ґ~�M��KD�m
O��uʥCS����e�� |���T��Bѩ��%g�Ap^��؉@8������~8������T/��������*�ϳ�
��03q�D6�	�F��p�o��σVZha5�{��j#w��
-ߛ��S��h��e�e
#��"v��qt����q!ڈ�2ڎ�Hu��Q�
;��ў�
��?�x૏J��6�5�vê;�����p,Ź΁cn_��� ��x����k*#�M�vK\"���R�
-X�T��5Id?ߤ
�v}�6
�d��x���+."zN8��r!&���yJ��n@���#{:�=�)
j�]�xXQ	[�ޓz��X�j@�X��#�עۥ���7����÷�?Z�*�M��	M.NQGS��
��{B��LY7�ׯ��
_����TG�!#q���
-U(
i8,S�m��?��drp{Boі2��`�ȚJ�ձ��H7�
-���ЄcwCE��-��]b>�����k�xT3G��'p
��q{$YB
�Uv)��M�����F��&���yG�ט�*ۀ�$!@�����Pk�¼i�;'��6
鴀h��-�KZ�$X�
w���@����� BL��
�~��MǾ�g ��i�V�x��R�Uu4QG8��5��b#
l�Tw���a4�
;���h�
�zL�{s��գ��g����,����6�Q�ފV@���(�F��_Ϸ�O���*Y���U�T���
-k+47eF��7�e=$�vG
-����9>�
iK<�_�,�Q�"���>������ ��DM�ɧ����-��&����^���
-g�5)||���=��E��
��'}NjV񒽬J[qq����
�H����WM�n�]�Ꙉ�4���u����ʘ����9ȗ����CFK��j˯�o�}�Y��>�rު^�#�~2�ZNg��eRc�b�t�������s��Te1�J�����J�w�oȸ_�`r��1��R�(���
!k	���mđ�-�Ҵ����m2�8z��V��'7\��
-��1>�2��
j	�U���'ra&��h���gц-h/G\7wͧ077��q��|�;5��`r�.�K7hՓ��M�[{�p3�#�
�+Ԛ�Sv��؏A�
nfC��<�r���,=rt�,6�~�Md��v�w��z�d�]�M�s��
-���嶖W�e
(��ں��k�xW��.��� �/E��J�P���%������/��$�ZZ�~�8�(��]7R�/��+*�)���q��K�Te�$|t�����-ǧ��-�ר/[�?ĺr��g_�~0��V�����m���h��Xɔ�T�h�h�;���)����HV��k*�X޽ -o?;��p.���a�c{�7������(?���~�H���mSkg�1[����G�l�޴
�"�
G޷#I�n�o��j3���?�u�~��7t��E�dD��ѹb�raܙ
'���o��&V�Z��ғhͅ�.�@�[����X�����k.���x

����n����t�}7��ޫF�w
�N�u��M�:v;f<R[�>���L�c\~?�B�����Aw�܏P���[��;K��O��1�O�����������W|��[�����w��8��߹�>K�
��zvy������T�ɉ�yI��oCs��]���
�[R���嶯�8�=�J5
�_���T������Uफ"���\bg�Z2��t��+�t[h�%�&Zޣ
�~�
EhF2S��g7
��tQ;��V>d�Y�}�'����͸(G�q��a0���

���#�Շ��8-��3��D��$�^t�@j�D�P-)�qIK�E�0�!W,L�V��8��;o��g)�=����/߁�< '�%�^n�΄tr��ˏ8���
����wYw��]19i�����8���c�>{������쏿F���+��>t+^��_b���`�F�rPU�È/���6+
-���@9�L�XcV2?E��j������H���]�.�qۻ���������3�2�6�5a���ɂ�~�j�_�����W�
�������n����~8�1��:3����XE�F�
��qM����gRzb0��/
�/��ڬ%�^V�(�Dl+
�T�����C�����}
\u-�z:�XoS@�Id
-�V�}jj�㈝��L�Z.T��Ç��JM�o�9Y
�7l���8wu`�f��
;��l���in
-z�
a��/�k�ev6)
-��,�p
-��>C�wmH����G��fb
����=�@2��Q{�
���!����yA?њ/5)6K9}0_�
l\jE>f�F'�|8Ҋ���Y,����J^;j�Ň�6J]IJ$FPe9#E|W�ԟ�֓j����d�>�
֦�<��}�0b_��c�����,��I���fٛ�6:/�-Ai�5�;�:�	&��b�as�k}�[
-��s�ipTE	�2y�NdfH�S�\4X��,����(��L����k͑yX
�*���(4H��b�i�~���3�0�t���i
Z�x�lė�I���alZ$#\p��~hۦ��x2u���;�&YL��^�6m'�PJ�9�y���&�4����_�-
�\ly���N��<�;�u��L]R��#���1�w��Uy�q9���o����4h-C[8#�޺�g2�|� ����
-endstream
-endobj
-3089 0 obj <<
-/Type /FontDescriptor
-/FontName /DGLWIM+CMMI9
-/Flags 4
-/FontBBox [-29 -250 1075 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 74
-/XHeight 431
-/CharSet (/less/r/triangleleft/triangleright/x)
-/FontFile 3088 0 R
->> endobj
-3090 0 obj <<
-/Length1 1647
-/Length2 10913
-/Length3 0
-/Length 11985     
-/Filter /FlateDecode
->>
-stream
-xڍ�P��-�kp�������i�	t��
\�]�'�\�Kp
Np�.��33�WuouU���}[���oZJ
mVI�Pvg�d�H�jqr 88��88�Phiu@����(�z at W7,�/iW����L����N(y88��|B��B

 .��B\� 2�� �*@	���JC�}\Av��/����`���g��
 �tY[�����@���-
�k���B0�ػ�;
��{yy�Y:��A\��Y ^ w{��
��	��.�f���26Z��=��O�6�����x8���`��
��r8@[Q��
�i��
�� 8�8�����@ �Ζ��'gK�l�9�r*l���, K��oCKG7ȋ���%�������-r�� ˗�*��������r�]"��0/]��HC���`w7���ɀ\��/m�a�s���/��_����]���3�.��T����E���������� ] @ok{���u|��(9�_*�s�8l_� �l�/?(~n��@���0��ߊ�F(�� ��;�
-h���E
���
��
0�x�
'�����'�z�@��>���1_vi#EU�?+�['%����p X�x9 ��I�����a�n���C�a	�+�ET�B ���Ҽ����-�ZF���y�2���M8x9�_�8�����?�������&$���������Gm�r�����
�/k�
-yY�����\eU�
������/�!	�s��� 79�7�F�nm�'��3��� 0P��}� X_�?����~�r������e���HY�5����q��,]]-}P^F��x~�/j���� v60����R^ ���{��� v�ߢ?� ���o�;v��!'�
���2�
��v��< v�A ���_�;�_v�
�7�yQ�\�����_�+�#���)�_�?Y���%
gG����_���o�Kb��x� _�럹�Ws�=\_�r���/�������(�sk�p������$^�;�3�;���~��

w�i�u9��W�i�=�+[�
�K�~�-
�Q���m����ZS;m(
��%����ɐIYu$v�]��B^ö@Q�-p�@�(¹�����_�<9���[ǧ��P9��gR>K[h����
-���
�	��c��j;�B)�%�(����h�+����j��[
�!�%�����~�����ҕ���R�|4�w+��l�\�u �XpS�G���N��4 at 8=� �v�NJ&\sW*u��6�X
��ܯ�d���R��Wzݶ�H��?=f�
������\V���^G�k�n���
�_.�/Nj���$ko
��,�M���}
�K���ɲ�&� o!�z.uG̹Y��a$ �
=Jz�[��P�x�ֹ1�5��m�
Ƨ�l����Y	�=��EN$Ca�l��µDzM�z`�lX%��F
>�L��J�&��� M)��|��|�p�I��í`1ۉ^�n[o�&��Q,��~cȐTXD�����UU���D����+Zj8�x�N���.7�Ly�X���o��V��:R��NM��:�w[c]e^,��2�����"Q���
2��D�%��\6s�w��0@���\M���]��6�n�;"�"�ֹ)��݀ꝟ
ۢ
�ڢ�s�1)��k��e�:&�Q�og�\e��y��i^���lX"��=; \?���F����?R �T�笩�2�>ϥ�9l��J�Q$6�ֺ�ԯ�^�DT��tBӬˈG��@��}�K˟��/�V�d�m��h���Q�O��pA|4�����U�Hga�d����%�
w�>1�\
G�[��2�U�#=��Ӥ$�F
�b_���8��{%]�?B�G����ɮ�os
-�HRƲW|E�����}��u�
M�_�
����:e�Y$�����)�Y���鴡�v!gm��l� |�� ���Çl�a"
��������i�?�5Dx8���u��Q�Z�@��lipU��<��ҕ��e�7(���O�\���=Z�Ӛ���������xRg�_+�}8�T��7�k
ḴNVu��t��o�Q=���ǷN�v�� ��2�E�M$z
�6Wg�P�mE���0c7
��We?�hi#)��r2�e�e��^.u��w�|�44��w�ͬ��]������؛Ab$"��y:.Z��Vu�Q�J�D�,
�@�j�>B�5��̂�Y>��6�2��
���g�/���������[3�L\79��w����J���uF�9��H�m�)�Q3�n�._R����(����p�T����"�
ns��
I�J|�uwLɑ�mX�9���

���25���}�;�)��w
Pk�(�h?��_(�t"�@ �ȉ���n�T1��w
ڵ� �C{N��վ�`=��P�'�{�^���}�6��c�⃽�]Ü߶:6 =�V����
<����n�J��S�D����’�+Z��
x�;��Cľ���Tv���\�Z
Y�B!r=IFm)�]�J�^�J�<����\G�Z��.T��x�
B
-R,TT����$��O��a�\�
�J�)H���j�37�Nk��4��g[u��/���Yǵ�{
��:�a!{.��9����>�ԙ[������F��ưN�ϭ�qrA�؎��UT=Jb�@�=�D})Ҁ==�$��eK�i�Z��6~3~iG�\� le�F.�~�
-�T��
\���^4���_�uh:ϗ�a�(��,)�OK�a�A��wͩ
��I�q̎~�H�@��$s	[>nb�u
K�)_"�1<��c�FU��L�ۃ��u��̃V����~����!5����zz�
��c�3�hص�l�y �v��9����|Q�
	*��;e��B����N��GG����%���U����o��FL�?�Z�hr|
T	n��6���R��^��$d��}���k��J��HU�|�L��*]QcJ�*�<�d:cU��iU at Ot��
v$���|>�QJȉr�"��;�c%�	���_=#S�֦
���o
w��ǡ�&w�躊8B�ODxY� d���U
q�4��`���B�|nh�
���UwNI����WΒl�<��
\V^o���%'j at bB{R���U�~�LJ���*af~g�/o"l�My�U^�ڱ��T<l�|�t����g�
䒯
�p�N8-V<�~z0�l-R��>c	�
n��E��խx�qd��b�
a�s�yO���[�=9%�7z��\6.aM�R�R��+w���F�%�LμZ���*%���l(]#�y��^i#A}�^ j�Z�l��������!rw
�
qj?cʠ�7���<U��C��`>�3�Lj
��m���Tºu�	�4�'�I�ZD�
�ot
���i��˕B4:�6��‚h*�:����ۯ5��������-�j�ю\��o��ޖ

��\�m��@�
{�cF��A���]�苺K3˥�S�1p�.h�\�C�^���uL��I�t���§2N�#r��[ʹ
9����y�����ƼX�"�$R�V�Z�2b
�V�ܑ�ki�Ð�e?α�
0��������(��_(�rк�EG?���f�ú�a(���7�AiJ�c(.n��o?��t�g���|(���Ht`H?�l��Y�����5hv=�
lN�UR)�GEbH�@��+��B�iT#�S�k\_>3{�m����l�RWl��lY�[������y���Һ[ē��3�&��I���-
�g���h
�)�M������$�J�/�g�RZ�"֏��M?����)�.u��9��M#Æ�u��n|6�NE��

v3�#�+������;����̶ヾ>�=�(���K��~�ʏ��%�9ێ� ��g��|T��e1� ѷ'���(B;�EJD��
9dC	m���|�̚[G���Au*2Ez�'%��~S����W��w'���ѡ�7�<�
-x�?������p1
q���~�.�|ؽ��`B5Se�pÙ>�ylͫv#X�,�ů�&���э
�$�
ï
-o<Mtw1��M��Ty���!
--AS>\��;'�ZFP#Q���Cϕ��X�>-)32-)K�/�ޟ�
�
s��yU����wO�qOcq�j0I��߳;�Dl�/R�Y�=9���'

�ܞ�4h�APX/��uW,�iG�ƶhHz.� ƫrM�4�u^	�AB�T�r�T�gUA�Ǿ�7_�73�X��Mi
��H�� �0y�^Y*j����{��.�E���M��H⪢�Ʈ�Ϲ�����ˆ�D��Z.����>:H�����&��!�Ux�oY�&�b��k
���<L�<�$�¶G����4g�A�w��
�K�|��ti��v�/��6si�go 9pF�k
��J)]u�kx�#��L#
y+pXs���Y�W�Z���ػ��f��^�a�2S����o���{\]��H�a���[�YhE�YÝ�3�Dʴ�֥�u�G��٢R����$���� �3�X��ƚ�*����;��ڮO>�� U
C��o���p�pS�P����)��S
�(79�b���aM�2
-QE�[nx�x��+�(�l=bK�suu����.9�	ӥ�Q��-e}� &1�Nm��f[4
6�m)ZCIh+Х�<÷���=�P8!�r��&[z+��Z�HR���o	��0��YS{����ZM�>ͽ��n����}8R6�E%_��U�Go��6�8Ka����p���l��o�<;O�06H��y���4<�@a~�9Vx?�~�"(yS�ٳ�>�t��f�c�^�^<�7S$\���x�C��Dj
a.r�euC0+n�d�uL�#D�A��"����z�b~l��l����IVk�J��X���r���rF�����"ٺ�S�qg�}3Ԑ�C�װ�M'�[�7w�j<|Vh\/�W�y��X��2�v�R>��~˽#��:B�e���t/`�	)\t�G�-3Ԛ�C���:�\&�Ū=�7�X兢������Ed+��&�
{.tA��M�n�n�H�����l6�%�58�ow�UJ��g���&m�+H�$��N�=�n�b;̾|�
tbæ���i]t�y� �O�/zex9'�������s����|6�M�"g�=�;{�,��F����ϛ��5�h�{� g�]�J;A{����Ц���
f�-��W¼U%^��mpۊ�.���m%C�
�@
��=�۽
S�G�؆��d2�WB��K6�Z����TIw�W���I,������%í���Ƴ�
�H�{���)D�X}:��4�^vé��Ì7a�cI\Ê}�ҟ�
0yU�+����ɻh�}e6qt'z���
�;
����O��&J�s8�\4:-�H�-<n$`��᪏(��V���̖�HN��|��-,�
-�ˆ�b���c0-�;Ge�{����,�I^��.T,�	�
�~���/��	����=��
����rK�� 3����9�U���M��
+ּ'pL�̪2E7T|{�l!�hxO�c�^t��eحR��s�m����
S
-�ܣ����լl#���;��� T�����S?�~؍Yn'$y4�Le������6WVO��1��
�]=�p��$�W�+ʞ��2�tQB�s2t���.MI��;b
(��� Nʃi}_#�Ou�'�%������?���m�,��������⊜)����{f��2٣�t�!��)�&{������ѻ�
��H��O
����%��^1W�FiiC�^��LW+ܡ���&�1�zC�LX���g��dO<j�����6H��FO^e��y�
�Z��dÌ��¥�n�
-�>����ֈ��7\��]��5;+;_uAB́QD��b[�=Z�y�h�9�;p�XOF����V���riט!��!ɡ}T[�G��┷��1T3��W3���:M�r�w&{ď�f���dİ�™�]�?� 2&}�h
-
�|Ϛ�����CV����	�?)�G�*
����i�ݕ��ž�?�䐹ꭅ�y�~hAhc�<��n4
v̽��tb�N�	c��ѽ��UĘ|T��V�P�
�5I�%�#t,� wJ������mн��Q����~C!��ǶEN��>q�m�
��6�+y�+�5�H�YoR�W�5�!j�<�ѷg�ꌻ}�����ӓ�w^�D�@�l���0X�<�Xz�����py	
�9L>ET���+��a=�{�a�oe�L�
�3�&T~
xH�ܺK���
�r9����%���2�&E
`�>���y1֞��Č��
-m�8P��ԭ�E�#�
��活A�X[$RP�a����j�5'�`v+�v F�n���}*��qbJ��m+�9���Hr�&Νi�r��%��iZH}P�1Y��O^Cz�o}�D�p��0����95�-����W�5U�D4���âL��|�1����������`��&��m D
-��,n�|E���X�mEJ�W0�&��t|e
U�\_�'�}����m3�
-�~$�e�z&@�B��>#^L\�V���kM��o�Hi$
��;aIEi
�� V 4��Ɉ���cL�21�X�2+���~���F�X�d�<}X~��
����Q�S��I
�n�:�c�m�a�z�alY��yӬ!�7��4�P��\�"�-������f�ɷF�>R/
�ٔ9{M��A��@?( H���c�~`ߑ >mӟ��[��!ou �:Κ�jZ��1�ꐒG}u�J6���5��{���%͈k	��QkW���i�WF�"���w�������?I��N�v�_f7�����b%ZB|
ʦ�Ѷ�s<�×
"h3����i�{�Jx

�a�s
���_����b�m��}���z��<X"�ģ{Î������~Չ�Ʈ�BU�Kd�$Ѵֵ�,�� 
\}��\6�9����Hj�̊��O�%��L
�gyĸ2ps8QD#�k��1W���!�+τ*c���"��/�lpZj֓��J���v>�m>�,�"���~��]�qeF݊�4tg�y��EK�Ta/��c��F�9��e?0+��
�3
h��~#qs4�p]=����X�Zh)o��*Z����LHB�`us��ǣ���P���&

6+9��EH�B��5�"5D	u�Zڗ�b$�3{�I�e�tt���6�S�;�ؗ��}�	��e
��WCh��z�KF
����&��������|��7{
	�J
-!�E^�2��1����='z�o�i%~+=�1G�J&������.v�|-
C=��~�W�J{P�o?,X���^�#�=���X��k)oӅǍ���0$M6�O�R��
���E��R���u��H�*�}&-�
-t|h��r��\ 힡
��'��1������+��ps1)ۦzN�{/d����$�G�P�px�������t7V��zs뱸~��
vq�b:��s�Pq-Ƃ�6M/R/�'8�0�
]�_�R$;��?�e������Ůjz[�y�"�
��f�p�X�ON��}&7�
<|�i�e�(��~yD��yaxo��i�uy\�C�a�7-a�� b�찇-R�w`9H��,_�e
uu&���L�4�e��y���=
-MG��Q �뎃�	�]� ,������Q��ON�fXlฎ��	V�9
'��ORSЭ�pLy�׌Y�z�"��)N���c��=��:��U�<$��?V�j��'�+�-M�ß���ш
-�"E���8A����
��E�א���p��EG-k�wÅ�D��b٩���苦h�	�!>�G��(�eT�@6'm>P��Bb�^$�eE��C��ꦭP!u�&[���@�K뢹���!8�dQ�Z����0�
-X�Ĭ�i)�=9B|L���A� !
-d�~g�d����"
KyS�_����n	��/��+���I
�-��-
Cs�W
Uؒ�
'�/iM,�jg�D�:�
-I�	��"�O�������n���?GD���.�!��;`�.��L+�Vhm��Z�n|z˟m
���
�s��{l$y
-�֓BW9-o����jDBb:K�\ު]YfA���j*�Y%�qF���Ъ6E�o�Vw��Ci���JM-(yJ��t��70*
W�L��,9q$��ë!Ҫ� JP�Cf3	Όhr�yv=B�5��]����JԲ"CAA�n�ׇ�s�pN���&L	W��I�>�LH�.

��� ��y�/+{
^��<��s�6�2�k�k���jcj�IO�
��֜h��uy��Y�Qzr6u_CԵ��b	����U��f�>�h��q�w�g��G��������W�RS�e
���au��H��~
���,���+���z~E�+N��Z=n�՛�C�)���+���
��&Q=��F�D���n]L}~�Gs!KX��a������dG�i�
8�%)X`����,4�3����܇�k)>�8�QRӆ��-a�շ��.W�{�'�xD�Џf<�����m�\��T$�ٴr�I���
2��%K΄��>e,IM��M���JC�4�k��`���P=փ�����P��;�q} Y�� [...]
-2%y���2
#�E����p���~��[H�qt[z-
K��Tƽ�6�9�a��Q�����* ���L��
�B���r7wH#>����s.
��hW
-��M&Ty
T��S�a-?tEk����b��fu�("�p��?}�M��y�\���
��#��GZ��-�"�!����{��~�?��F���T-��|ݶt��{�/�����GP)��.
�u���놝n)�VW
º��oE��#^�k��{��f��[Pr�Y�S9��8n�L0w/]0ZyD���צ�u���������OBԻ�;�lb�_�d\�~��V���E'
����t	'\n�~�(���d�
�=�H:��V��̶�dp��#�QW�}D�x^^?��d�o���"IS
KCـo)��M�&!����E-�<�9H�X2j���j���*�o�6HZ���R
�*lo��4�z����,��?��[��w�D���-�+�s
6a7�p7ٟ#r�]�u�q74Ɵ�z~���90�.��7�h8��L
-%|�
����\�) ��KմL�ݱ��jWɗN��
lh/rS��z�yޝ�
J�P/ ]�}y6{���~ymoWV���4�
����i�nw2T:���פ�\r�~�����H�e�LG� i~���d0B��)�aP�Ȁv��tZ�A4-0t9��[Io��G�-�ģa��\�&FZ�<��zJy�4qf.��4����k ����bjJ>���"��:�2��0eP�
{K�s������lO�:T��[�
-�"���L��x�u1�4=�������4��z��֎�
tR}|ז��������������&
���2�HS��>sa�A��;��U��T��=�NM���[���:�9Rܚv����쓙���'zJW����
��L'Jz���ݷM��Q�&��mob��
-L���?�(&¯\)�k}0S�S{WTM�K��	)�X�@�:�
Y��(�DO}�Y
�V���4�&��DN��0D<O�U��%<[�3,px/���� �J�ו�������5�`�5�*\x�ZCߟ���˸�{u v�W~��PrЏ��Y�^��:�m��<�I=8
&6�JW\z���)
@����3�:�˕=Y�2U6++�#����X�֕��KU�Z����Uk�rJ���}�:��.��Tz��i�&��dD�QXތex�D�>T“
f���	N}��[��Gd��4���x�m�E�,
�;������
R���=��$f���q�u��Ή�rS����
�ʤϲ��x{	���j�	=�s���^C���}o��y�5R�$ԫy$�vv��S$'�
Һ���+3�`�7W�W��>ep��E}�1�
« �n�)��1�y��Rh�tX�Sf*�N$ʞ��
���h�mU1����'�t�N�J���6u��
-	kF�1�#=c��2v���i{�`�:\�I�]���]�v�S�ހ����'Q
Z��H*j�
����Ձ0����	�(�ݙ��`Z!�q��
%�;Z�E����r��}�q�#i��Tp�����Hnq'-UX���=�Qt�z1�>A<l-Rp�mqƱ*��l�#���c�aq����MцD7�E�Gw��Z��0�c͖j�1�w^HC�γ�r��l�>�2cs��n�#�;	�9��Y0������w��Fu~�
Ӱ2�e��˙��B��-�s4���W��{�zt�����||@+�uAˤY�	*V����FNYS��</H
���K.>�(A�ZTc0��QɃTe��*JO'��B�
v��P�����9L|�Ay/l�f>"�d���R(R�)0y2�ԗ�I̓�j��c��S��IzT#��9ܽ�T,�6�"����_�⽡���ʨ�i,�:�M8�>S�ڌ�fC��z�Ih�3
JQe
�$�j�7f�O=�ǃ
-���ڒ�5�	5��(͜	y�a��~x��9��%m�����R\&_�ǝZ�0��P��ؒ��Uz9����!�s�P���#I ���(�N���|�l����CƊPH��_�ɍ����y�9
�ރސ��bV�'�x��׎#}f9�	1B�B�U���{�S���}��i峟3��K{�6��-��s�H1�Sͷ�*@�L_(_t
tC�1��2����<8��
-���V�R��DE���%
�
��gK9�8��c��2[9����7b��WI��R<q�
�X��QH;�}��	�5J����ܗ��-�
N���'v_���?7i�P��-Þ���u�5�]�ջ�ŋ���HZ��=.���쉙TF�^e��p��tʸ��-:�A��� 9絍>R�kg��N�OV���]�[����0+�~�;�~�Q�3:��������&q/1c�q��n�I` �
�~��K�y�X�T��W8��>z��
�@�
-M�#�z#�ӓ]�'1���.)�����q�~��.S �,��u@
�0�AZdGz���Wq�l�#�
�\X�����K�a��L����B�0>7:��I�|�N2���8��f�/5����
-~$����*A�
_�c��xQ����
��>1/�	)zO|ǤL���8gV�o"
-5��UQ�j;��0L�e��h�ȲV
\�N�Xf9�}wdG5
-���a���zT&���>�J��o��ӑ�:��s�wE�8�*����Ζ��zF�I����/f�L6{�#�=Z*�>֏:Q\�L�E�v�i�����.%�
�!�o��C�T�!nPy�q�֔�`s�	�5�Ӯ@'�'{���,zt�ǧ}9�+�
-2��R�K7��CJ
(xd�۞@�G)��\~�,�M��Ն���A�3����2ڱ��!�cQ��lj�x�-�u?�>T�Ј�saލ�'��U�,�i�n�x�o5����j	�Ό����Q�-k�V�Ti�쥀�^Å+ZB�r�$��!�)o�h��
�l+��ɳ�E��yp	cx����U�N�4A��T�����
�v�i��$]���
��UTH�|~|�JۤTþfo[�o��sq�,S�+糔��[×�毬Z-�Hh�0�u�p]�e4��\�ʻ|��-d7x�	0���J-�8n6��cь�y�y���
� 4r��åzgwi�#`*m���^ſ�%B��2�k1N���:}B�Y*���� �;�����z,5@�?�7*{-�j9o�3&tb� w��8(Y*r�@��He��F��q�:��U��^Z���B�+�u�^���J�%�
ih'��%�2_�y�yD̥`'Gg�K���A]�fDB#�z��ow#:�W�HV]���&���F�s�,O��H˒{DB�m�����
�ШI6s��u�śZx$YN��c��O00iҍ�j
��3�ʋ�ܗF2ֿu?Tm�t�QK@:�%o�$����:��ܳ�w�T�H��O��=
�rAɩ1��T�� -J{kL_0bc��غ�u�볯˺����K#�i
���nA�Ʀb�ڊ�"v/⨝��F�e��
��f��/̰��� 
F@�
-endstream
-endobj
-3091 0 obj <<
-/Type /FontDescriptor
-/FontName /CZIMXX+CMR10
-/Flags 4
-/FontBBox [-40 -250 1009 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/CharSet (/a/c/d/equal/g/h/l/m/o/one/parenleft/parenright/plus/r/s/v/zero)
-/FontFile 3090 0 R
->> endobj
-3092 0 obj <<
-/Length1 1571
-/Length2 8204
-/Length3 0
-/Length 9229      
-/Filter /FlateDecode
->>
-stream
-xڍ�P�.�S��h
A�Kp���ݡ	$����]�w-Z�/�(�@�G{ν����3�Mf��-�K��g�Q�b������`P;H ��� �x8@ nl P���%����T�zi8�
� �1C<���� E{ ��_�K@p�@B�2���2f�K�
-@;c�a�
p��
��
L� .!!�?� I0
ba��!l�7Z���`0��B0�� �œ�nnn
f�
0��83�
��h���pW�%�w� U3��8�� m��_b-���
<�!`��
�
<�
�RP�9��+�e���5 .�����w 􏳙����
��Z� �`���2�
�0�Z�64�w�=����A���
�$n��� �=��wu�p�#™�b��B��a
�,
���98��g����@�`���{p��
����l�ZZ�.��őS
-qr+��m� ����� �@ A! �	 v����
\���G��[�����#�`�P�b~���r6sp���?����� �
�
l
�b�'��l�~�<
�0=�
 ������[�0�����
�SGWAMS��O��VII��^��  ;7��%�x8��w������H�� ��OD�
 �W	��W�s���ua��
��
�L���1�d�����L�?.���
��B���G����������5s��{��`�
�a#T`{�_S=�_K����8��Va���Pk�7�,q[�C6�_3xo���aΐ��
��
��îY�=<%����?��_)
��Y��9n>~�
n��0����zXNK��^89�0ă
�<�
��{�B N�ߢ�� �����w>����\ N�? ����k�(�t��z�|��p:��8���� N�?�C�.��d�t���1.p��c�]���2���`
��9��H�m}p�e��S7��q��^:3��"���3��&;p
�C2e�=��WY��KԷ^{m��a�I�~yߘ&hNm��^�$�(ړlx���]�Ŗ����n�
jr�"0��EO���ҭ_޽a�|�c�ܦ�V
��M�4{�N�q@�'`�y�,9-���#�cw�O?f��&�X�}�cx��
7�c�f=W+���{(�)
ɟ�^}�b��NU|2���x
�1m��s�C2��6�禪�%|��pB�����D!*z��e�C)M"o��⺻©@��3�Z"�^�^�
�r��f˜��!٫�����q�]Yq<�R��<f�覈��p�e��V
-A�g-5�>�������i�Dy���S������a\�<�����
s���8N/k
AE�axC���lN�ˑm��N�$X���2&������MW��h��z�g_(��&g�ƫR
-^[g�sk`���ly_Ks����5~���i$���TR���*��
�Xe��U��wd2��X�g�����:�26�?M)�Pؑ;��x,紬m���~���j�;ce������R�Z�˼{W���6�72��>�*��^qDVc�����Z���'�2G�oT<�A���U��ʡ}�Q!�ȯ�c� 
��
s�rA&u9�y-`���]�5�F#�05l2=��\
�6<��V����l���^_��l���[�v�5���1�����f��R�9}1l�d�V����Y�
+U�'���
��UEj�e�Hi}���T�a��v�$�
���绚/����Ȏ�8;&<k�
-�L�ʫQ l�s\'��x�e�.gʏ����
ѣ���Zz��#�b���by䙙ģ�I������:���_�8d�<����UT?&4�/���ˊ�u�OJR֘�����W���h��a�]�LH��!0Q�W�c!����
)i�ߡ:�̿X7�������7�=xY@#N^w/y�ZD�;�'f��c�:���0)�e
�W g�6?�Q�R����O������[
/�
(�Sw�n���R�
��M	eh�*�4�Id����v���4EBU�
��I�&�	���HFB�poa�n�I�:��-�Q��f�_$_�
�����
�0�~X�E
-Ȉ�8��_��Bd~�ω�|<��A.��e�S%�� ɓ:p�H=��`H5����^c9v/���K�٪CT�oӚ?S��KA�Vl\�h�)�ڣ�/+Vڣqm�M �,KL����0�
�`^>���H��
�ib�:��� ��vS��`}&����f
�H�x�W��ՂD�P�
-Z4�3�+]��X]�v\
��x�c�k)���Zd����|�vf�`I��aϮ�^�7�ez�+&cd���f
���He�{�����&)vŧJ���K#ͮ
-ߦb����Y�_'����
-�|G��O|��+��nE�`�OV�/kp
i�9�{0i�i���:.Ի�"=N�L����

�$#1=p�$#8�ߩ
i��r�s1��:��ވ�9Q�;Vw��AE+����}`�9�SI3���,v�<�^�Za�l|�
������
�õ��0�%��x6�Q-皐���J���k��B>Z��W4�So�Ϛ��X��Qd�̄.����e�u*2�����D��s)��@U������nE�W��I
�y���
i'E���v<��$&-O8~����r�����lD�KC0P��{=œ�gU�-�1>u���И��c~T�8��ېswm���M���
��
��F9Sk�y�ғ_eK�K�
-c���v���C����YS�	f�}jE�7�%�~�{����S�W��q|6�ܪMY�i��`�➴�lv ߵ�I�d�G*����G�GO01&9��}����K	5I߻�G
a_��b��?�d��D&�P{��?s�L�������%[4��tl�y�36��dZV���3����	�$+���{�&�����~�?mEi8�+ޤ�����G9�R�c}���8��d��d-[P!Wi���<{_��&�4t&��G;u�'��/b��g2�L;�(3BG���y��
��0A�U���ZX�sb�9"���T�j�:�e��K}��1L:��8)U��UhQ
-�K^r[����u�2�|rr��
W��&�\
����;[��2��FRo�;�G�[nJ���[u�߄?w�^�pe
XgX��#����Na8d���Z���H�6���y�\��.�Y���c>�V'�N#=U�B*���@�ךS
-b����ɦ�
�T�z9e?�6�/�L�;��K�F'�
�:�������/	��j,\ƻ�ǮD
-i&�
-o׫C��ib�1�\���0�

�1&�M����Q��jK���;R ҳ%]����Pޟk i3[�/%{�#�����rҾ�}
�m�/0@�eߟ�Sn����a����s�z(�[�
tG}*�n��*�����Z����P�Rw�������~��o��(Vk'�J,%]�E)l7�������r�����H�
v+�

-�7����p>^~u�����@i=ڳ}q�
�EwS���9�����E�TMRac�8��F�
�nD�-o�<y:��u��	���z/�c^H������#c⼍6��%k���
-���/D�,

�N(��P��=u�;�c$�8��DNؠGu�q��'������{����N�v�{EV�9��g�O���)����:ī��bkb��d�5vdWL�O��W����=
�.�o���̈���#QHky�oe������ݐ!�1�طG<�����J�����=
-�W
ޖIv� ��!b�)=e�N&
�x4hqlc(l߽S3
�XT.S�'��YM�q�^�.GCv
��N��ܑ�W��J�fp��߭X�"�먖�SG�/��7M�]�d,O���{V,CЂ�x���]�0#C߹���o!]��g�-�B�R?�޲���
-�
>���0�[I���x��
5������87�
�[�J��=�
-}��=���k����n�[6l� a�|��^��Q�
-���ј�E�Q
�9��EL"ez�Tl;FG�j$eJ:̝j����.�<�F*��C��.��{+���O
-�Cs
-��wI����5
�I���"X��LD�/��X
<��A���*��9��Su�����GW*�R��ښ���ÛG��+4uK�V��r� k��
�
��(n	- �w�9����mZ�*bPX�\V탁��"�}Q�alR�ν�Kv$_��i
-�ُ�ӕ�_��7�j,p	=9w���y�6lI�Xz��+"�g
�3�UI~Ӿlny:Z�N�<pn����k��7۾����y�P���h秼YJ��oB��Ȍ��կŃ(���4],���~̀V�]s�O��D��vxn��|ޙ9�����z�����`-�}�@A�7Oa�۟�����lg�<��v����T{f��Fg�̱j�#Bt��O����O���K�`
��0I���I��DzE��"����#�g�گ#e�����*f8c�
�[���X7[2���>ԍ��|�o�Y�ϯ�Һ&;�V� �7�z�ol_�Q9��e�Ɯ�\��nW7�nM�%���uy�\��^y�~
�@F�d��g�u��˫kǰs�Z#7���dy��gͮ
o^�������'��f)��
���xO�RLӝ��1!
��ҭ�Ad
mҵ�%Tg�/q���
c�WKhrZ{#��:�#�+��C���8m6"�X�
-����E��T0��a��*rي+�V�h�����������8%�(�P��u-.I�6�"

���+�'/JU�����KJ��=���BYk�WI�|-���u�k��F�u�0ω�V�
��!�iQ��:�&�;XF�V�&k�O��ޖ�h���]z\h��㐎}[����}o��a�G+Y^��X���G��U�q�������~T����^Ѯ�h��$=�לk�/� ���(�7!"v�*��;>�Q�
���"�>��R�����<��d����<T���Y��*����{]F��b���k��Q�uS
5��\L��i��T����o�����GA'�SbV��OEj����2ū���es�&��HC���={”�Y��Hu��0���U�1�
��yGo�
t��
-����f���
��\�
ο�J���"磃;,}a������3
KSV�Y=��bP۩��)�*���Q&6��� n7�
Q�9�E>ͦd��S�Iͧפ�
-�v�Y��z`O��ӗ���G��]�9P<�%�H���[�"Y�H��3��g�{,Ө��FY��s�De���t���ʾ>�>@���v�s���i�f$4���U��X`N I�jɅ��v�rnф��
+��#�S���B�CME�13*[H"�.�L�n[s�:8��ɨ���(%���
��%�=��
}��p���l�	H��T�17k���ą�|`���yS��f�W�'�2<v:)�F=��l{�s}T��l����px��a���/o�19��
G���z����
��fSK��gg{��7�Sgi�:�CM���bI�`��\[�jZ'R�4�������L��=�����ky�e�h��*�ܽm�Tm��z�Tg_��6�x�%Bgc��$�[�Fz��0�W
7��4Q\Ml�
��Q��L��0ݘ�����p]�;�z��7�ܨ��d�QW�!~fZ,z���YηWM�]�D&�B���F� 
�7���E��Hh�("s�K&{�
��A[Lҁ
.����(&�-\�Rq.Sl���d31Nf�(�/�y��g�~���ܬ�p���i�BN�ބ����+�?B_�y�3Xt�p�RFy��ӎ����7�F�b�T{b/=���
ߟr�t^��d(>��/Yܕ�Ue�k�{��c��ך��*�1D��n,%�(:���$,�պ�ː+<N�?�w
”h
�U�Ωڬ�򘣇
�[�����ܚ	/�1�
�w��ʋ�ufA��h�Ε��#i�]�r���`�d��OHO�u8�o�Wl����4p�5��I�s�=V��eIYz~�wW2�����R��������f۾p��h?�՞�Z���!U�Z�=�1m������g�*�G^�!]����"�H,�y±{���R�vf����
S@�m�XE�a�
��2ǎ>g����E$Bur,	@�'�ÀABY��n�W�6!9*o
�O�'�Pb������E>��D�0`�ls+1��o�C�gBӾS=�,�
j����fy�Ꝧؕ�

�D|��~�t��@�C��}�i�i��ղ� [...]
�p�

�K�͏j.!�BK��vvn*N��v�}cl�,
�
�e�9j����%���wZ����5�ʁA�i�T��p&<8���L��%���~��x#���5K5��t��� [*:���Ï�A߉�_��*�dCG@
�mE*�ɫ/¨��h$=�����3ɉ��Rx�l��,o���d���^
��7�빗����?
�F��`~}
=^���/\T�c��6N�RЌ����,�%U��|�Q���C9�$p%[M�]r�\Gz*��V��xD'xU���H
�Z6ઝFU���5b^��"��P)�`�ǯ�r�8qoQ�rn���G0-���
�i�t�|;Sɵ��ن��Bg:��%��c	����3ǹ�Vz/:� 
��h��B�8E<�ܫ_9���D-��<.��񈥙��#�q�#��s2�eö�x�U5o��e��$�9ߏpFWI|q��a!S�Jt�I-5 at s���ц
g��Ml���HZF�b���C��4�p�A�Zm��U��%j�R�kN-���gN/�xD4M}��˖~T���)�X��7VT���*Z���E�TE���G����Re [...]
-��Ԫ��!�2py���Z��w����Uy�/7�%e6l4�V]*RF��7sѠ7x�w5y�°}aMGw�N '��[}~�*�R��(�u�`�-�e
-s$,�%E/vB_�{9>$8��ԓ��xd%�Mԏȱ3l�s_�����ъ]X��u����s3.X��:�}�^���`Jg�B��,k�B-��w�+׏^9���jз)-�����;�^L��
���
��w���زr���z]̏�p�^��t��O���7����N
8�2��w:MIh:�.Y�3'Eg����u2b�CM�
��>T����
��ҟ
�E���$�yms��S��z�E{�/���3OR7�[������v2�Z�i��OqM�I��k{9D�w}Q
�@){��ܬ !x\eV�G�X�8 at X�)Mg�6�r����!�����ͲKLj����"�ƣ����o��Uu��?�t��z��^�۟���я��k�m��D�U+
-�k�G�r7�Mm�ԫ�z[���ά�
ܪҵ&��~s�*��OxݟV��%
v%���f�U/��nR:,N
G�O�c^�P��������E�jS�UY$�7�G���qB�o
��:��I%P�3������>?�v��`��<E�u���x�1���&
����J����c�����D/{=����r��`����$8o�Ǵf��S��H�����e}HQtw��f�9eT�B��dŒ��^��89�E���0�
�]]�J��7%��).$����K��=�҈�;���
a|��}�@�+XS�k����(�v�� ��uc����s�������eo&�>n��c
P��+b ��w߅'NQ�P�Y8�i/��}��Q/l�~'�Ou
^r�m}��N�~�R+��j�8�I������XM�g�Ԏf9n�K7���T� %ry�}�xr%�'Ս\�i�j��5�c��Kܹ��%LE����_�P��(K
'^�y���i`
}�i���\���)-����5<yVP
B$^6�tµJt�ߟ
F��o@@> �5 at w���9?�qNwwP^J�p휪&��3��>_\M��,��vh�s��O�V�k���ͺ
?HC[�pձ���| T&��lx�K���D�.�J��hH��Ĕ3V�鄹�ɡ�:,��1E;M��5Q>�u�3)���+
������>�#�
-	��.;{�O���c�q����a4�ѥ|X���i��l��Y�D�c�Ҥe?�cB��l:GY^Ju�N��
���S��Y5iݺ�[�m���+�W�|Ê�ˍt����
k�r"���ƅ��J4��v�����_x3�Q�Qp{V�����jӖ��
�k��Բ&"��p�*�UŒtY�RU�+�k�}-���9є�
P�?!�CE	�s8�̻�10���ܜ�H��9��bTKD_�x 
��d��o�ߐ�[�-:�d*��	4K�
���/��Z�(���5r5dXJ�CtSc��-�M��%��#�
-��@Z�r�5
~v.��[%|S��V?��ڠ�gDE��TԴ}	��M(}��,���� <{.�DqI@���Eߗ �e�|͚�H	
-
��^8�yM)7_M��'�"���
-�rR
�&� :_Ic�%iߨ�_�>S֏h�[�*P��@8�+
��� 
��j���:Zc�'��b�Q����r�6�(l~ͧ�S����jo��	@8z:`c���@��e��\:
�q��J)߉Z���%�2

I��?
pW6zԩ�{��
��e��ns5�0Mb�4�K��uF��}\�	��f���{�3{?�
_���P�P�f^�H�N$��B����g)�1 ����
Q�h8}� ���Ġ/`Ku;M��RK���
���l=RN:�H�������`���^�>hW�B䚼��e6�y������wA��W�&�s�z��3J���)x��h��n�XHҎ�/+����/�9�a��֌$��<�O[�f�L
Ľ�i����U"���Ȝ�	���񡣔���U��S*��Ĺ�SS�Za�-��msX���tv%�,u���:S�D��e��\"�r��'[�����u�)�M��
�Za?[W\��
�� �{��o%tZ��^0��e�Ż���%�b�9(:���*<�a��(?l/��
�M�����N�Q��̍�	,&���@��H�v�,ܶ7����:R�S��qW�fA��"�\����;o��`/�v^C̤G[P Mm&�w����Wp�ڈĨ5�J��!	?�"1�����$�Θ
-endstream
-endobj
-3093 0 obj <<
-/Type /FontDescriptor
-/FontName /UVIORO+CMR6
-/Flags 4
-/FontBBox [-20 -250 1193 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/CharSet (/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
-/FontFile 3092 0 R
->> endobj
-3094 0 obj <<
-/Length1 1622
-/Length2 8597
-/Length3 0
-/Length 9652      
-/Filter /FlateDecode
->>
-stream
-xڍ�T�.�	�P�w.-��Z,� Aܭ@q
-�kq)w+�)�Z�(�{��zoe�d3�g��+LtZ�\��+�����
ʪ�A ~n��Ĥsw��)0@]�`�ؿ�P���L��`���U<
���@^!1^a1�����*�{¬���@
�`�E8���l�����d��yEE�9���v��� `8P
�nuz�;u���\�>�sww������;�q#\m%�8�^0w;��
��	���
� ;A� �
`������"lܽ��P�����
.x�������@]e5��3���ڟ���J������_�;����
�@N�`�
n
��9B��
-j����@0���!��
�p�	�9��

�H

T�������
�
-svw�v�9�f����C���ֲ''(��
�;?9�+�Pu�?�� Gx���<����6�)X{8���a.
Pe��,
D�d�Pw� �.@�7�s=g�J�������@�
-� �
�������]=�~�V�7���aw�����A
��?t��
|z<^ ������lY#�>����\
Ccce�?����Ax�����\|�  //P����^����H����r��Qn� ��I�v�����L���.l�����x�c(����7	� _�����Ǖ�������2��������Z������s��K�0�
���x�
���B�\bu�5�������͐��:�]D���j�s���9@����{G
��p��~f�\� ���
v
���=t��a��;�<
����s|�B@��+����$��}XNk��s
��#�� � m�������D"@
����|x��y�<п��o���Я
�<��o�֊y���������C�ۇ7�_j> �� ���_P���/�@�������Y�B]���_��x��>�/��C����x̠Po(0;��<
���zQ%M�ŵ9">��i����7���q�����!+d��\:e��`a]��Lj���o��#�9I�����"Qg|�03F�y���tM/
5��Ԗ�����
�&��\<�|�
�O��5���C�ӛ�[�T�oJ�r��ǚ�(�dʳz;EA���E��Nt�?yv>A�3zO���؏�/�3Y�{u9�X����I�HiBA�zF44��'���B�ͯ�`�ݤ�Ga�B'��b����3X�H�d?*ݖ�����A8�bd�\���[β�Jg����YN���4M)Q�G����²��kBQ�*
t����X�i�]c�<i%�hO)S+��ypi�q��k{mx��P���bX���`%]9 �`Ab	��w7X�I�*�eu/�(�8�G�B�����䏿�Sa��qD:ؕL��kz�-��`
;0s&mYHg
�
DB��'�%�
G�
#�ز�R�bh�;�Рb�9�nE�X
ęT4$�����b��K�ԡA�16�7
{m퉇��S��T~�ꂉ�A�.ګ��aWa�l
-y���_�3��p
7��f:�a����GS���o���������
���e4lb��;C��bgЛ
��-�v	*p<�I�g�_ic���P����x��d{w�6�.�k\>�ˉ坡���g��"L>���I���f'`"0�2���q�VHʨ�4r��ZK���K�(it���a�ۻw_j�ur>��dYE�.��bmN�Nz�jyd]���!a5�ټD����Ҟ��
 w��Ҁ�v
�A�>����>ηA_��������������S�zD.��ȵ=E�R�$�X~�{4aA|/��ɼ���Ϡ���������_{�6X�����)m�)1
Q��QX.E5�9�� �oh�R{��:�WuF�Ʃ�v��� ��f��|�q�S�����S�-���?0jP��F�iX��
��jJ�{N���cOp
-4���+o�|7	�d�S��g2+�� '׻h��։�w��<:Q��i���j\�.]�݄o�ʨ1k��r�1����g
�qd	���������I����m]p��hd [...]
-1wq=>r]��
I���(ç`�T�t-0�zS��ѯ���.�H\�I��p��I�l�g�����I[��-�yP����I?����s�74�A*ay��zKLa\��oM~�ى�]�D� �D���s���f�K[U�K�׮O}�mk���Kg�K�s� ��d�"$�Ã��\�N��v]�zo��:-�
���J�4i����J=�
�w�z���^�Mɍ�=x�tn�_VvU-gKo�����}�i
o'
�f��-V$/�7M�� �K�RԎ���USy�h�W��J�2fƙ�������"��e���% ٯ�l���A�����\.��;��}\�0�B~��y;��E�M�ն��ʩ��%{a�x���=�����V׋+R���6��f���l��J���F(s�{-ɟ�~���<s�s)BR�쩑)ۚ��n_>�Lh�7�
˂���]jN̉�;��%����(�C�kj���y�ֆ���y�i�
��m愒,�s��N�zx�����T�H�#�p�-��l���Gz
���㠽�t'�4iw)�Q����
�y�R�O�J膹Zc+�'��(��N ���v}k���o���
���R�
��>(|ip���i2�}WKa3W�66�D�z�K{�RQ}E;pR����ܨ#�Ʃ��s��gg��s
�H
Ȓ�[��e$�����e��+�HYvn�Π������8�>E�Ͳ-����K]֑Icq�zKpf� |b"W��Α}v��G{����~ӌi���� ������6|͋���^���Θ�?����o��L�˷�@uu��-kF�J���'m����ߋ����:&�% �Q���;ɟ�U���_��x��q+TZ�I��)�������JLN��j��l��T��������sU

X�e,�p��X:8{��Te,U|��_,xU�C����jE�x���v�GĘl��~(�4�x�̥���.z�H�*@��� g`��/ny 
14��'�&im5$�x��
��y�J�29wߠ6��ǜ�fm2
p�n��
!��@ѫP��s�a��1��A�Y�#ɚ�0�W����8�rϴ�y��.�V�}Uډ/Rrѿ����A"�8GR����}
�7�S5:%A-�R}�@�t���@�
��DA��.A���6v��?��Ӡ���:���s�1)���:))D��Ž���{��`zQ�cЋ�x1'm�M������2_���W�Q�G�5|/T5�lR�B�FҪ=&˛ϱ��ѓ��M�ԗ|T������e����A��R��'���	�w��
-�N ��{�
�1�%=�-R�.���L9�p�ɰےH+���b8nj
-,�qvWN�i�L���'�懳�N����h�\/
��7}�i��c�F8��v��/L�P�OQ��09���,q��\8#*��AϛvC�ӣ:�c��L��&�Za>����r��0�f��<Y�`ջ�왱#�/b��
-�CS��/�?6is\�Q
-�ɵ����?;#�C^���^���� 
�/o�һ�l"H"��L���eF�q�t��;�;]"
�}	�OK衘�S����.K���r�5�#�<
�P,h���Jp�
-,5:"�@e!-���2����l�T5�xy��mtt�I��*��(E�#�t�
��b�c�p���������
%
.
���
.�h�V������=�W57V�Gf���ᠴ#��D�/�Kևn���lw|���-,�׶������ǣz�T���5k�^�E�<cxQ8p�H�Dv��w����
-�"�;軝��
�g�N�T��O�b���6�╟^��	ק��w^ަlu�E��A�0XV�!�-�W6^+�FSBzW��t�Ym�kqx�%�Rv%80�U1�dMH^2�&���9
���}|~��I.���.L�%*6b�p��D����\j�!!��Ǒk�����p�c��J�^Znj�08wX�9N�e%���E�X
�ˊ��\��]�h��m�Hsf������B��1<���p
݃6��8��y�N�6�H�K�=�%�w�,9�	�\�n���0>L#��2�E��P�l�5�
8G��fb��k���-\����
�;[MNt�ߛ���E^�R�q�.��cV�9��`ƺ呋c����$�^<Q��]��B��x�9b��*k��������Ji^W���}��E�����#̲(��)@��Pvq�C���
-Ar�"��짳ɤ4�:	U���

-�?���T�������.�<�I�Pk�_O�")L��{ϛ]�
�(q�z�&� :������,��4b{K�Y��E����[�̆��y��lS�bF�4��
-5��S��:7<ӷ:1
$�()�
_ְ�- ����,�{���KH�^!�Hˀs�{O�[J�
�O��ҷh���,ӲV&<��wQpfF��2^�%����Uo��'��$��):ӃN�1�v���4]W�ER.��ɼz;���G��;
�p��!�_�}�jI�xo״�9�X�[o��*W*M�o�X�ҢͳA6�"�bڄ��.��ٴ����햳��)�΋ا�~��T��{��_����a
-%�����<��r�+?$Ff7sv�W�;5<1v�dG��N�&v/0�b��3�J+
-�H������C��H�
QoN9�,J�G��f�ې��
-����O��j,OB�S*��s��xO�D�9�%��"��שS��s�^뀛'܄׳Â[�C��N�s����
��w��
.��AA7lj~�ԑjE���$��ǝ�2�VPz
�:ޗ���c,O�ӟ�ۏ�r~$)+}lUG��m��

Z+��V��{��R��{e��M�f�+�#[y��sH��<���av�2����e
�b�o]3=�����Ӌ��]ee�n�ST�a�Yö��%��sϬ>�������F�Qq}|��s�;�vr�GA )a�0\�I�
Q]\N~r�~
-���fr�")�x�
d�T�$Pš>����u@
�튙�d
�t
��i�
(��������(�K����)��+�n������5a��c(!~*�OVV
ў��˳c�	�)�'[/U��չZ��[ja�	�bG��gg�$�_l�h����z�Gǰ����
_�*5[�������
��F�^cT�%���{�f5G
L��_�8�k%�Y="W%�!tG���K�؈:;�$p	���Sآ|'H��V�����	�},��M�$��l~,��qb�؂o� ٰξ��Z]���v)zSw�	ZB�M�Ӷ�=*��\*�
�i3`��2Brg3�
`L��.��b�欖R�Ϯ���^�����$c��
��,Gg�S�jֲh�ڋ.��Jv�2�f�8^�`�jԮ��7G���cC�J'?
�Mc
~
;Q�T	�q���lߓ�8�9�� 
��0�5�9�&�ߦԳ

���S�3��P��9�Y3b�$3�bѠ[ӎ�`��Me$.+ա��n��Q��tǛ �7�CfR��<��C��x;�ⱳo_�X�	�q
+4;�n� �ΨZ�٢�f)�TG]=u	�Lm
-�]E�
ѣZ�\�����2mcB����ؗ�!f4:�Ȝ4������s��|4��슥S�)
�iK�]����� �ˊ���ݽͅ?�)����~kto�	�@���`��9_l`��UL��|�Kџ�
]
-�N��%ہ�r�iz�zB&L?�ǔ� 7����'��9Ys��@�d�
P3u����7���{�xV ��ӥ�H�K7�k��W����d
K1��[��3���%�h}1����k0���
/��%0��
�=k�?+գ7��C(]�9$��J�6$�����*K�p�|	q6�?2lx))q�1�z�j�I`���j`+��x�%:���
xN�C�R��T͊L�K���W�},
�m����&�uO�R[U������p.%�dw�[

~Vy/B���'t�3 at 4rдUk�r_.�ɼ��Wm�w(��%#A�l����OGumd�8n�����c��HU"�6�8e\�#+(Ls��/&d�
^��+���st:���>:9��P�����,�t�ձ�j�5�hY<Q2D�!��mk��<n��",~���{h
5�
��y
��
�n�x�K���h�o�cl���S�T����3�u+�GN����/5�ZlNs�#�l4rWl��i,��{�B�(��]��6	g
��6
R��r��
�[xg���[)0�-ov$�� �?�_*�/p��ӎ!�U{��
Y
,�����Q��.�CA��
��^%��
qE;�MJ��8�
5�C��B���

���iX�[W=�T3Z}DH�y�q��p�u^'79�ę��ơ~5�} �$�1����Բ ��B��a�Q�B��΍+}|���jѡm�V:Ih�ܟ�&�4\�~�A��{���K^E�m���sV�R��٠��Ѭ[4�\}"h�i	2����ҭ��&,޽4%�T<.������N�O��\��OAb
b|�F�2c;�L���o�y7p�l!vNR����74{���"8����%:�%.Ks4�
��Kws��G���|����
�7miA��F�jq��5-����� �y��V����2^M3��v���a�3��[	���~��/O��l�+�0YTJy]�t���e�����+�V
�/���)����8��h���
�v��{L1���t�^~%���bڴXi� �����=�#!!%֔V��v~�6zY�U!o6���Q�6ԙ=E���4(&�ނ6�夿7��lݍʉ�����(H:�}�|Fj�ڸ9�Z�bF#�$������P��|EG}
ً�R�a!|��5���Vڀ\F����˭V�C1?U�����Ͼ}�:
��V����a
$�N�V��+�~�]ʔ�i�6���ۊB�dR�e1
x:Wh���
T�Q�jf-mW�|�BG4�p@�yܫ��xKy[r�+/��KUҏETMT��X�
;�I|�QEK��2��u���ȫ\w�է·T�
�!*L������fu�ȯ;�Qmz�~��ۡ
�%)*/;*�VB�4	3˧>����@�q2�7���ލ0�zg
 Y�j�jk�\�

#"%�5�MP��Tl�ڕ��χ
�{���NŬ������DS�B��?3�E��}�;]1��˹��",	�'�^�l�P
�A:Ɩ��a�ڝ<���Aw9l�i�!
-��Y
-�G�p-Eu�@հ��R�����M� }��
s

jR��Eu'�
1R���;6��Xo�#�
�|�<��r%%�
��V��/#�}��4)���6��1��n8��8Ij]P8l��q�+"�o�|yH�\4���8��!���k��5ٌ@{TUXqH�R�WE-e�B��Xצ$Κ
SO��o�O�4zp>�z�m䒍O�|���FYoAҪ;�t2U�x�q�8�VU�`�J�ɎE�ǀr��_\���]�H4"�r��u���hڜ?��)
Y���p'{�I�Is���{�Q��:����[�yS�0$�ӭD��,�
���p%��>=[ݭOl��5:́H\Ċ[�ힼAδ����g�m�GRi�Y�1��i���K��\z���W�
[L��tu˭�aEw
y�!�M`[�T,<	�Wf�r���'z���
��
-�Y��C�-������+�6��;�K�A��'�p���Ⱦ�3E1n�]�#�Ɍ�y�mRv��
����S.�o�s�=Jc��h�^�β
k��&��*�
��Պ���o
L��f��>[����Ǒ�}
��V<�=1
��D_v|p�,v)c����/Z@�i�L>NJ�	k�=
-AW��;߫�|��Ģ,
�V�ҚϞk���g��훴 ,�
�%+��̆�g�
-�A[
��=�<��l ��u�"P��E
��� k
-Ɏ�ݡ�s<<�I^(�F��x���=u�
�u��ۡH5���O�F+wR��8��z�KV����
T>�Xx�C��]��z��(�����1VD�
C���/;r�{�׌���{�g��v��]k��[��˫+��5bc�v��}�?p���:�c�*٤�mB����r
-
�}�EQ�>WR��
-v
 ����_���B�ə���"�nS�]9,Q)�|-��I~
���ɷ:L���V���w;��jj9.`��YA
�+�J`n[��R"�
Ϙ�?G�������
$|�*ʇ�K�-�֒��z��X�]*���s5��j�oQ
*�Iذ��a/����6
-
�r��*%��~a���O�<������u.y�$|������{���Ƿ�t�k�
{��y�NS��+�˟�47�ˤ=V�]��
$��O��[�t�
�p�
-`N0�
-_],��t�!U��HO����ߵ)D��4L����e���Lz3Y�#��{%��n:KC�d�(d��
`��ڪuCcG�K]�![����g*�r`�)>[[
����i���Nh6UN�L�s|�?Ʋ\0�$���ib��ۋ���fd�.�&��
���e�otv��
ٝ�8k�|Ͽ?4�룐�6ϥc�
f�E'��Ԡ�����x&7N���ҭ˰��w)��_BA�Q��y��XJ����#���4U�����0�z��,��\Z�Z�ueM�D��$�Oi�a�2m���:�
-�l����U�,�f4�:�d�t����tm��K�+�$
�>�EW���������A�g�3#���7�ǭ�31'_�L-3OG&���������gUw�#=���ӡ�V�<��:!�
���ՅԥƏ�ňy��\�i�#����'C�w9 O@�-�����;��V��8
J��0�8�%���"�ۊ��r��ɝ"Z�;h�\5-u'�1܏�䫹�^��/�t�����LOF9$���s�
0s􌎿`	n�ኝ�X�5�L�-k<��[3o�
L%�z�`7��ILkVp���|v��E�i��#����p�XN���f����H�|n��鷐�k��įl9�I���)}i?�|C��P�h6C`R����CG
���4;�������<���;��sc�fC�
X��
���9� �n��Bэ����9׹\�UFk��ѷ4������Dj�CG�TR�+�O*j���Y�Ɖ�C���mb�bv�:�}��+���oإ��/!C�[�{ᶚ�;�[.�+Kj`U,%3�J�R���@*�z��3p�J�+
���ח�'����瑲Xj����m5���8ٍ�
!�ޮ��t�A���Lmɋ�]�'�,�l����{A�s�:�
L
-�ۺ��@|�V

ˀ�a�:�7Z{f�
Y�3�@�ӻ����v"��ש�+ ��
-endstream
-endobj
-3095 0 obj <<
-/Type /FontDescriptor
-/FontName /VWYYIV+CMR7
-/Flags 4
-/FontBBox [-27 -250 1122 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/CharSet (/a/b/d/e/equal/i/l/m/n/o/one/p/r/t/u/x/zero)
-/FontFile 3094 0 R
->> endobj
-3096 0 obj <<
-/Length1 1577
-/Length2 8923
-/Length3 0
-/Length 9964      
-/Filter /FlateDecode
->>
-stream
-xڍ�T��6,ݍ��
��Hww�� �0�
�� !-�)�J�tKR�-
�����_��֬�̽��{���7
��6��%�
$���q�s
-�U�� ��<윜��tt:;�_Zt:=��3������<��  %W; ��_�K@�����)�/G��0@�����`P�3:�4���	�vy��#�т	�%$$��'
 ir�X � U��5��)���
���\<�
�Q����A����ݝ
h��s�1��!.� -�3��
d	��.@
h��;:
@����Zf��t�v
��)�j	r<�h+� �
@п�U�r`�}5 .v���
��
����; ��(`���T�]<\X@��oG��3�)
���͟
��Ij�O��ݝ����ř�b��C��0O�,
����ۃ�.��듁8�,�nݓ��Xm�0w��_g+���w
��
�P��+HQ�o�'�?:0�����) �
 9@
�
��u<
@�\��O��z;�
 VO-�|!V��?tog����
-���O�K�\\ K��
�
�@��AR�����&�� q>�
�������,aP;���
�CVJWK΀�O��6II�< �l<B 6n>N '?@�����(���_���j !����"�
-������Wns���ua�w5��A �h����������L�?!���������#�jg���������!v�۟X�����������>�%VYB\��ת�|�
I(��ߗq��x�,5 .��_3x���@A0g��g�����?��]��}zJ��&��zZ��N)
��Y��9n>~ ��	��4�'������� �?�p�Ca.O!���|V0'��� p ��H�+������ 9�>��^ ���� ���
-8��������������@�@V.�h����E�b�9����p��)��?O���T�u=�NO�.��tw����O ��}�+��U�M]H�U�$�;���4ݦ�{&6��O�7�(�LՙA+N�$��q��e/$)��ZP�?&j���ܙ�kMn���O���I��Q����Hl��;���"��u(��:�
-bk�\���{���	����Uͯ�qW>���&�d�.�<k��م����g���4~��#�R<
��~
O���U���Y��
-
n�NRZ��$�#���R?S���K����=ZE�(s�XS��p�rgTC��B�{j�F>sm�&B��	6k˚	M��՟W���%p��Q��l%���K���&�|Qh��0+@�X��
�>�l ܉ɓ�S��~4Zx�^Q��f�֊T���^��>������2_mL	����T�_�w~K�T��
_z�#'�\��f����F������
#��!�H�LZa3�p�7��H ׮D�"�B�h�]�~�1�Y����;0a��e����y���V��)�)��I>�Ď!���/���[�	�1JW��9D�AU�47�w�W
Z�}��ۥ0[�������AL
驨�(ݔO��2����;�
�z�'�*
-\�����ږ��1�"�<]~
+[RmZQ��g�m(:
�бo̗���R8��
��5
-y-TWf�y��d�}�x�
-l	"�SL-r�e�W�{${�q>�
S68�Ċ��Z𯨿LLO�
-�ء}h�<y�.�z[^ �&c��L�0�GYl:�]��
e5��D���S�_��[�{sI$Qc4�p��v�3����ڗ]g��
�
$N�!ӽ�
��2��9�S:1��]�^��}y�����}�u�ɓb���[
h��z��_[W��m�[D4�1ܘ
��ةAa��UG��
����,$d���[GH���"9=�D7^�����o$��{a�MO�g�-��W�A�
C���%6&ov{?��;�o�R���ּ��X��9�\������\}�@񍊞H��Mδ���_��49&��*D�s��̎��L�B��_-�Z� z8URu,��HaJw��s���#Q�ٍ����L�[\{����uĈ�f�S�.��}kn���0�2f�)
�T0
j#*F�U럤h/tCev��>O7ﹶa��0
����m��'&�|��6C\x��d� ��fٟg���J7���C��a���,[���KJ~��,D�>��z�kE�F�d3�&ڞ|��=ՆF��ށ�h��X
v���� ���ŏޮE��ڑ�@��j?]_�n��Q�r�<8m/���
-$�y��gqn
b\j

%ݬB���5_&
���Ȍ���/���_����VK�
�D�s��
�������Wg�#�Yݮ����v��k�qWrC�r�Us���v��ȋ����54����>����j�*��r@ȉW	'iai� ��!C���T�\���p�>V�
�.&���ۓzѾ��ʔf���|�ҁO��Y��95�vO؜�^`�&9�|�H�mU����^�j���uM,����q
n��P�-�ӄ��U^j��I��*��.��":Q��,���׿��#��
�ln�^l�Ǹ
��IG�
�ۍ��ޛ�Z�Z�UL�s���{����c`��`e�u��
Rޒg6���IPv�;� �A�ڞ0����ߕ�Mj�g�
�F����v!�p-/xs���L���@]��;hκ>�DT����+={os�^P7�����i+�|��͸���NEo�>u;�y}j�
����`�~II��A�\$!+T0����:��
ڲ2�=E
����� �ki�d���
-ʑ
�s!��2����B�/�”'y'�;
@&�3�qD/{e�:�"����!��$�b�*���/��#�J}wR��Vɨ�c�^D����S
�$��*@?�� ��u��D����i����ʂ0K�X�}�
B�hJ�E��n��/�=��a��e��y?�".L��*6
ߴ��%
tBmW6cD�c|3o�FF�����\ʕb�E����J*��������
��n���Á35Q�V
3bW�(�s��w�mQ����|A�:������#���
��;�|޾e��
��-Gi
-@�]�i�\��lo%�6�sM�4��7O����3h_��T�T���f��7K!�q4����K�P����:�}D�pY�ɱ��U3*g*z���Fe��=�M��{��D�X���E͕ާ>�
��3����z/Dx�t)zo�l��zG�n/|^��y!�(d���e� ��R#>���i��r�8�'��U��
n�*��Y�_i����h���^��]��_L� +>��)o����F\)>ӔXChz��w��|���
J�w�y��W�˰5��)��i������
"�����S��q^��:���\
��cǀP΀�A���
��<���3�]
-�},�j[��{�\>��Q��u�A�8�u��	@�k|:?��H��vz(Ȅ
oeL�>ϽB��`&m�?
-�byaۉ�Ʀ�m“I��d�m�¹-��5Y���	�$n�
"9ў!�b>T�X�j!��.촧�m�R/"<j#t
�y����5��4b.�!��ށ�j��
|0�Y���
AQG0�R�R�j�G&K�y��N {^�uV�m��
�e��V�\�dtl!�|im?�|�Դ[���
�EZ_J����L߭hO��oҋ�].��w�*��|��O�e����@/�
A��^���
ԯN�Q�O
��R�M֝|l��s:
#�^(�X{�oI�n1.�Կլ��4��'U���7�x��m����qV�n
-���Slv�<�̨�}�g�K�"���<�$G���сx��#o
 9���]l]�<��?�e�+J��/�Db
��&��K��`���w��ѠM��4F{f1��+y��
5�]���H
�𾕟+	�Oe
gG��&d����C=��̡����5��h��x{�0)��
�l��T	���3�c+f0Lq���k�m�[!)<t��˽JO�&�|<-g�\�1O%�.<��R�����!u���a��@�z

�������
-� �
��W�%�
f�N™0t�Љ�L�o(v3�צ�
�rn׿��j�-���(����<c��g�	y�J�̥�m�Jɘ4��b��{�	��#ȑb�i��ŐK,�{=�4b����{���҄`¦j�5���|�����[�;;vG�W�j��W��=/�s�>�Z2���	� ���
<҈
-�F
	�SU�>�
8�*�:W��3��
8x�0������}'��C]��9��B
���d�[����,��Tz�:�R�r�y�� �|rȀ5�œ
r��ޠ-4�d��(N��	i�f������0�YkVV��p)-k�s���NI$�-�)�B�0y�
�6�R�o
-d0Hk�c�	�9�|�x�$�W��8�h�3\R�Õl�@�w�
>�1
r�E3��ܭ
݅,b����V��Pt���vT�L咂ԇ��#/��98�7�7�����_�ŵ{����pe���}��uWb�tw�����e�q&<�+��z>�-Θ��!��j���V��]c̳�W��?��V�W���~�^Ϲ�R�n�P�ޢ���Ĺ�����37{'���x4�1��k�>�^�k��O�x'�ī�H��)��(���2�z��	l`	�
�
->��5J�������
eL>i}�Z�Vh̆r��
-���/؂�)���?���&��"y�mbۆ��
���G(��zq�������,w�~�I
�Z~y���0�\���L(7u���
�-��㕅H�P鼸�d�̹q����M����G�yq�:A�j�R�)!�+m�/�S}R
�0��n��O��2�d"�X�j)*
�M�n;t֪��<
�ZN{�Vq�߬0H{ ����1M�
�m!�}O��?z�ιL}[��~
9M*	x��Wv�����=�at���K��'18>�hx�HM�fY��ٝW�{.<�qlm-�~����RD�"���)��d�x��A���Y1R�<?>CvZ
{$(_,�f�2G`j�X��duO�
��Wb����~&9�0�tp壸�Y�ߜN&A����Q�.&�jB
o��!3�)�&{+J�|<S�ڗI
-�I�yi��D�g���u���<����BֈR���
��
S!񍎜�J�Xp�++�J�N������K�
*;~�qƫwZJ�S%�c�^2��� ��w;ɲ-��VFs5���B|�gc�1܎��q��JD�d+��퐑�n�9�=.F
�o
	ԋ���)�e�63���Aʥy7�>�
������z�f��&M��ҫ�
-��A8
\G�ye�@M�����aU�R�ڛ�w;8-���[�Ja䟂� �M
b�/��0%��R
 ��rΤU�b��縫
�f�l�\𑗾ZF��R�
�SND���!ܶ��_D*��~Uz1^Ռ��[0��fu
)���U�}#h�Ϻ�
g�*6y�ɛ�h$>s;���-�m�6;bJ��'�qZK���}�=������u�j&V����-\z�:�_v�#k���2�[��4�|�i�rZ]��&�S2ejf�G��7tt֏}�s�H��m;+��[�}
���j�7�v��Z;��I�Օ����R�s��6�b?�T�%��-\BMq艘�<�1�L�2B��t軃�xs*�2l+C�I�{���Ĝ�ح�c��0ַU�e�j�A���_>;!�՜|�Q�7�`J��
-�'�
�0Wo�
-��
._��hz
,ۮ|�c�נ��!($��:�L0h��=o��J��{���!����0?� ���7�F6�HE�Z~\��IBM0��I��k���U�T:��~jU/��l�o�JL�*���N��̊Д�
i�mM*�O�%�D�z	�5�iQ�ѯ���-��g���ξC��N���3?���N�<�'F��4�*R$ J� L�/♻�2B`�;)on��~��\@�3Tt��$1p�'�x9•M��q6'\(�TeY��Wz�F�.G���8oxK9ې&7Z=J-:��F
�\�B>�
���9hG#蒮��uFB� Y kM{{I�"��T����}�eU���N��!���J�itN����]
�K-g`ގ���O]�E�N��@8��d��������YQm��ɼ��[�������YuN�&�[ª�B���9��!�2	7��Mq��E�)��I���c[%&J��(����(
��̚ٽ��E�&>Ӗ[2Cl��<ؤn�'��פ�^�N
-��Fr9��#�\J�R�z��d*�u�
-�'�mv�~
C�*��Y���C��K7��ꈐ���7-��In�`�=�n����d/���q�Ʀ_��ɐQ�woSZ�<�.��?V��z��Ǩ�v�|Z�%,����sV���w���	��C#Cʖ��
�
-
-6�;���Ȥ���x��6��
-=U'~4KZ<����U�9+c�����b�t&����|�����!ʵi
��zM~ie��@��7����?,���w���2�
\a�>��J{�+���P�v��
,
��9�;=���8�f�NGf�B,A��)*�M�qg���J
U���"�����C���v��eh�4��L
f��Oi'ᓚ3
-�͙}M\Dт�g�?	�d�7�!	z����֝o~լ��@��eT�z�
Ϧ?���A���˖���נ��Cb���L VMzީ(Ê	�"��N������"$��K�
��$��fLu�K ���R��"9���?{wDS�Q�F���E&=��ʁ��s0P�y��jLG���K�;j��'�;�K���0����4"��l^���C�U����i�?�*V����K�o����}���}XY�T	?�>0$�ѹ5
̈&WN��Ŧ���ܕ�lV��8��N������a	��$nƄJֿ���3	� Õ�ep�J�@���\Od!��Z}�cN5�*x�j�y����S�����m��_s��߯q�/��y�81
�v�B7�v���~�����qxn���
�
��d�#�G��?��	�Ď�2-zȑ�4K��
P���f
<�p
�u�5b,�kV�����*H�P���X7����	��)D���;&�2�R�RNi:�V:_�=��\�F���4ɷ�Y�#d Ÿs���*aF3LH

��������s�5����F��a�n�Z�Ɛ�U��3V+�F
��.�>?q��0��S��N��/�/`X� �OM�}<���$8zt�Y2�Q-�F'������@�����D3�}�͊H�S���X,b�� �d�m���T��Jj\歰�깉q��:܍"����f2�н��%��J�T�L�Ͻ9�-�kl9٩���
�L2X1#�Q	 D_�������D�/_(�|�T�?
�����W�f<C�K�QvC([C�2w�KHP�����q�4�<�E�Go�L�W����RJpd�
o��̜��
>
-Lu���n2M]�̀�N#u_�3:�Èܔj���N�n���`ꇝf�cqd�0<c��9u�wZ)$Hz��]�pN�o�fX=���(�+��F�e������
�ߤf����J�j�QhH���;��|�{<K��)�!+�
J��.
9�g�`>��*���`�̈́�b�ǂ���T;S=�~FxrU�wOT�^:Bŕ}���W��w`|���iW�=��/
�}�FS���7rM����p;�FK�+����'�h�;[�riP��a��Aφ���HइU�����̒F��~��!ZWY;������.�h8l(2l���M���
}_d��<��'�
��
T�Zn�S\���
��O����Ļ�����{���p�7M��#��劸'�Y��L���D�2-(N>����Mx�a�cB#�U�#�u
u�bړI:z�*_jWx��|��dP�v��.��>:��&1.��!��|W+H�V+YO�#9��<�r��w�
gGl
	�<�ڎX�h|~��}����x��(ZUѩ�xwt���Vtj�[U%%}�{H����Ԑ�2�Q%"�2$t��谖��ppM�
ӝ�^�7�i$"k�1���j�7� 
��C`Z�Mm��2���g��³��\��X��+k)�����
�^7T8�G�y�ݿ*�
-��R��������U�ʿ�|�FG������M�#VU��[�&5S�yW�
�٢>����1�L
Dh�����~��.�c�ÒF�{l]ĕ3�W�Gu �����TN�4J%BH"�T�
"����꬛N���v;�G���������v�p[���T�N���X��&i���w
hLe��~�F$�ՕM
�;�X�<'f��Ȁ�3�:�l�L��#Q�
-
+ʣ

W����|R��o�C�S%b�$�����6A201�
R2^�1�=��2�Jrn5���m���,����w��0'q_)>5���X��,n����||�׮ &�^c��9�bh˨�Q�U��� �JRz�T���4ɭf��&�>��L�]�;`RQ(�� �Z��̹^�g�ʨ���O۶�{	rf�GNb���5��G��b�P9��	����/|��FNdi&��
��
=5=�r�>�Ʌt&����"�o���j5���Xx��m�u��5`��LmQP*��BJS?�
U��^�%��e6��Z��֒�z~⁒�P��NT����
�م�K�]?y2a9�7�u���AӷPKM&*
�
-���ݼ��Ne��v�dU�
���AX�Q�u��I���`�έ����t��?&bP`��-NBZ���"�&(E	Qa�(閅i���6%κVeK���Zތ��
F�Y��'��Yo��%�0V�N�:�x���$x�[5d�/�B�o-�ӗ-��n�a�o�K�ʴ �1�k��P�
9(�wĞ90�!~�!T(�zi$�Q�f'��U�$���C�_0��CL�~���I0I>�9��M+
y
-'`N˓��S�hmg�L
�y��U�;��"�擈
��a ���|Kp�<2Y�ݕ�ca����M���0BN&P{��]"�J=Џtjc	�lK�Nk�6�w␅��>�^6
t(tR�-y	�Jݑ�I
a
�s���^��9�� s[^�M
�]��6W`��yL���2�m
-��l��o��OyG=rO
QT�����uͯ3��C�G��^rqB�N�ĩ;��D�~�6���̥	�?t�o�#{fB�|#�|I+�
�S�|:� ��1�F����:���L���(3�ktb~ J2��!��T<s

�w��YH�WD�]��֯�8/1s��T�r+t1�
&yD�'�h�
�`�н4P��?r�
Kˍ��s����}R�ߨ��]'��맾�PCUS3�\@����hkd��~"���h[�t�hp���O�U��O���>F�
��]u���
IU
��sd�q�({O���,�Q~��`N�U�
W�r�U=G
hsqt���"��膥��'�������q�َ:V��﷝:�D��;���QT��x���f�Sm�m��f��[�
�B
Lct�c��%��{3�a��)վ��S��p\_�	_��ȿ@P�ѷ�a^�!I���S�y��n �[l ���ͥh��SN*�W�s��> [...]
�8��hV9�
�!
����t�+�;Z�E��T���40���YX��> 4��h��)nS�{��p7̯�>��[{�|���_��}Av�F9�	���x���̆�l�t�B?{��v�0Y_V��MXP,�`�-K�-F����i��G�������V�� :�z����b���&@vT[���["4�
�F�:�Iį�wx
���K��ɟ ]��%=�R
���
��`�$�c%U�b�x.oBѨ�vi��0
��)�&S�"O�9.�����y�k
����ܣ���x��aK.�o�SO�y�gD
4��mV�#�7�pZ,y��$��w+�
�q\f�%���cB�7��W��I��L ��|k��ם���J&����&�`�I֮w׹�(��
Z�����_Z&���c��<�ܑ���HP
-endstream
-endobj
-3097 0 obj <<
-/Type /FontDescriptor
-/FontName /EBURFX+CMR9
-/Flags 4
-/FontBBox [-39 -250 1036 750]
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/a/d/equal/h/l/m/o/parenleft/parenright/r/s/v/zero)
-/FontFile 3096 0 R
->> endobj
-3098 0 obj <<
-/Length1 1514
-/Length2 6753
-/Length3 0
-/Length 7772      
-/Filter /FlateDecode
->>
-stream
-xڍx4����MլU���
����{ψ D��ڳ�^��VE�]�W�Rj�
E�������{���}�yߓs��}}�}ݟ�s''l̺|r�;�2���J �
��  P�"dc3��`��qB6c�;��K�/w��A(��P������b@ @���.PyB�Z� u
�$dS@���C
�P�:?8�\ Aqq1��� 9W�;
��@('�+�" �P��_)89�Pn^^^� W$?��Q���E9�!H��'�
�2@�
-�C���
`�E�e0 at 8��@� �A�8
������j� 
7�/gͿ
x �/��t�%����`����;
�0@GY�������
A0$
�Aa ;��ףּ �rz ��~H�;�
��GBa�8
-�J�>f%����G!	�O����G�Os]�/���+(���
{7#8�DM�"�s�� "@qQQA �1 �
v�U���
���Fs�sC�
�4 P���	� P�
� ��m���PP`� vG(���h����w�7����  ����'+���p��?�[,`d�`f`������o���8�O\��� ���?'�7�ߨ.�gw�+�������&��G�Ɔ
��
-���! ��o	��o���C�;����_Y�����
){�`��9�v�+����gz6��	����	䯁ւ�C=\�۪��gD��9��~��p(R�
�ׅ��Ni��f�k��p�.	�u�����G삾[���6AГ��Jp0���
-��@�� B��+�� zV�!޿%�#P� �c ��N���� ��tA����7��' �A~��0!4Co��ݮ�Q4�
-�{ �	} �C
_�H�ORQ���������=����~k������	f`�0��a�5r�^|��x+��щf}Q"(���~N���*S��m��g�ΗGL���s^�y[v�/���0�����
-�N�
!L�:�q���u�$=FR[


����p�
�W��n:�[��{ W@�9s:=*N.�s�3�*j�̒,���E������
�Sh��|{,�ϺE|��Ǐ�r��2�O
-5z�E�"(h)}ՙ�h��r՛���"�
-�i�,�Ů��ضb�ߧ
�ے�=
��o�<i�C��J��,�0�l�^	�mN�v��`�g���8�<�����P3��:jM#J�.�4�>4��?	��<q��6.;IP�*M
-�p��
yQ]�۰�ɇ�Gi 
-:6
-]5lmf�U�����__�A+M��϶�ߵ�D
#X���M;����&5����'7�VE�j�!�l������pt�:U$�e��'X��I

��
5�02�o�I��M��P�
�3���Rt�TH�T�� �ʼncLE������z=W�։v��B����N���
���ƽ��my���c���|�F�6eO,�
���:k8�7���2�E�vM�ۼa�0�g�|3����������
��nHEb�%�V٘ Ҫ�*�Ȣ��~�L��3��xvE$hq!�`#��z�A���{�cyE�
R��pq��*� vq?
�(�@E���&B�f��N��0�ԅ{�O�c�뾩�
��2|�h�eP�_`�(?��+��I�TG�
�����ޖ��cz���(�+����f	3#���Jǚ7B�6B-��Z��i~��4�S����
]�
��m���o&�����ROJ�Z����g��)���
�$��w|Ť�g���j<�'F�pi()^��$c�t�A�� [...]
-�C��ƈ��E�ּ�d����{����R�KҼa�륕��,�W�i�4�����
-i��8�z�N��$Ӳ6�y�ù�
.w���
`[rj���XuY^
�%�j���.��
�P��L1���CF�ju~c�H�p��Q�����}��q�����L͚l:�{Y��)w
-�rī�^
�L���g�gq2*Ւ9�ۓYMq�
�$���Z�D�����i'�X
�En�=th� ���D���p����M�b#	��BT�-Y����Î_�5����٣�B���5����ـoo��B

-�>�k56��_�Z��
�����
s��~�Ԉ�~�#Es�Rv��\�����Pz�L���}7��cl��x�ߚ�淧-m!�s�M챛�'V�ai	M����n�ĵ5k�lf�ͷA �S�՗�
u���
,�	�i�
�фr"'Y��R䋅���,�u������v��ɋr
-+�Q�� ����A���t��
�P̛r0h�
>��^?�iƯ�X�<�ȉ
yU�s��h�[�.���|i�acl �
T�mu�-3�K�upb�*��d:��&�ԉ��)����O4 Xc�
0�]��N��hq�h�,�3O�����gw!�!��nPM�q��S
�[�8�
�NH
�Y���c竢 ����X�ż]�>*7\�������E�g�{���x������
/{7���Z��	a��ؾ�D.t���/���W�_ӽ-�$y8��l!<|�0��\�z���Z��Uc��1�+�+��<��E��OZ�h[q~&!���H�-�l
>�1�
=�Y�x��y9ʠl���^�c�)g�Yh��
m��7�����w\�{�W�8?̌[
ͳ���o�]��0b�Hw`�����w��h�6[���
-|�Q��$|�w��IbQ>��T�p���
��Z�{sU��{��p�kUHv�B�������h Q�>�!~~�U�`�
M��T
��΍�/+1*e/ab!�&�����6R�UX�8*

G�jJ8�����F
��
-,�5.�Ni�����D+b2�?�#�Z*
�5�Й|k>�X�|IU�n�v�Yn#����
S�)��0
�F�i2��Fs�?�@�J
J:1�\>D�e�T�#(K���M�
����W��@��܉�=�z����U,m����0;.����u�s�*���G�!ڤӤ��7�٘⾸m��Q
-ˁoQOZ��2#pK������3jO
��F������x�F/y�kf_!�Uˁ)j
�c
_4���g�'

�&�:V� |���$��b���J"�3�#�!����*�Y`+��ud���~�hŘ�u�yϧ�=�`�x�
-q�0�O�K��c�[.��5I�lLԳ���Z"M��'g�~^_�S�@c�Vl���,%��m�6��
�tno��♆���X">���	�
S����|f(4,8�(9���/t��
�q�XYH@��T��b\��8�)aTn����6}W�u˼i]a�0J����?����>���E�����އ$��U+sW�}�]��<rי����o�Oa;��rW��J|�ܒ
hϖ�
]�dt����Of%;K�0�Q�#oqM|�Kv����
6���Z4n��]0?
�c��u
~x>~�nư=��7+qQsl�D}��d�ZZvcQr,�|�l�Y���
�Q�7�
���xW"�a{�F1��u�.����~�f��������m#�ſ�2�ll�p2�8�����vK�;W
-��+
���|�!J>J�nȘg 
��P.��l���sW[c��Y� DNt�]$�A�!��n'�ꑈzٚڵ��6ǻrS�¥kzT;]�L�gOX�ŕ
-[����Z� *���y�Vې�_+:Nw�=x&�����/WVyg������a�{+o�'4��0E%N

-��u�����S�Y��|ѳ�v\���E�I�=m?�7�~��9�
-�Pa��OV�;�P�2v{$���fi�Sy4+\S��"u��ہ��
�pG?�����h�����

O�}���
����j�y_H�2�sM�|�
�Q���d�2VPݾ|��
�L�#��\mbP*�nqYGI�J���mL�5Y����U$��%i`�A��f�
���8<����2n�xƁ$�k�,���k��A�G+c}E�L�t5w~�.T�I��<��p�G>�2�	wc���*�k��u��D;G��h7S���l�U�
�����z��̂�A���e8f�
��1��1���4��C����.e>—���K�%@�i��zq���Z˥UQQ}"՞�s?�d���ާ^�
��Y���Tƫ[Nt��s_VV�{�T8�`��o�dm
-8&�'ç߅��g�݃�U?O����c�ZF%�v��p���0�q���C
�3r��]�=
-���?
]5���}%�t�����[@�FƩ��r_|�াyld�	?A=���u9 �)r���
w8k�>H[]+��Ϲ^m���������]�)W Ȏ\�n9sؒ��y9���Hi��5��QG�!N��7��R�t�B�rev�e��\dV�t�$�3
3l�Z�
�tY;�y�
-�/V3q��:hk)�o���Ⱥ���HFTځ
-�Ś�ez�N�9ޏ\�{��\�3�-�r�nki�6ԅ?��do�
�PX���h�4G�y�z�%Q#�[�k.u���=�*/0z�Q����R��Mc,"���}ʬ"F!��L;'����gk�K:��w��4S�K��پ�z(i;C��Yn�@U����U3UF;����6��f��}k��lZ^���e��UN��d�N�}&3Z(u�ٔ��Bz��#���
T4�u��h�[4�
��F)
R�.O9�ں�h:=5�:���[YIpV���f�#�m��-<����eA�k�B.��S�����@�����ݮ�@�E�\��ea����r��+	ZIJr�{��d���k��a���oE��R$�뮪I��3E�o7!���ύ�6^�&KM����}�,R�&&�=H
%�#U
��
l����Ě��G/�^[ �h��+I�>Ŵ<���d�
��
-�MaC�H��=T|%5
|8��c�l��b٩���d�����1||�U�I�L�zh�@�2��
Pz
�gICo:
H�24]9)����|�P�Z��`
�����4/�7
(B~\h�6\^�󒼸�e՛kF��:#dH����~��͡�)����
-"�*�kFxo�DFX"3b��k�b��}T�ؘ���K\P��幹��L�*
]_/�9ȱ����1��3�D�J��"�����E'�D&B�����?8B�޶
VQ̓��
�Gz
n��
<�)1I��9�X�0�z����S޷]�S�EJ!�k�20�:ga������T�n��C1"7%�$�=���Cq���Ҷ-;:Oy0O�R�
ѠHI;L�̴EWz�xvKMyKB��:��g`�3�'qRp�(�T�#&
�b�ͥ���kش�#��!c	u.)U�#���sڋ5�΋�9a�Hi����t_�'Q
�i�T�<Jb���xY�����Nb][�	D����B��6OUlO�I��
+�,���=/���Ns��[�gb�2���o�uI��N�Xr�
S�c�Ŏ�-�
ƟI�[�%蔧_uq���
���a�6������̷�����}Ox/��͊mH �8�����M�:HP��|����TM&پ��UL��q׭����J�]�G�����<8d�(�������(Z���:�ElZIj!�;Ĩ��yO�ЈK�����-ce�!���1
� [...]
-��xVG!��
#:縕J�0��c�������^����
�kC{���v<[�:V�j�O
�^'뢦�Ⱥ5�t�i�#
r8
e��
J���{,v���
-*_�0Y��	{��5����9U��(��ID��mӰy��0p�#����
L�
_���V
���E��
{}�}[ξpY�D)\��
�oI�[>���~��~#���B��� �/������X9���;��W�<��Q�}�b��Ʈ%F�(�g���
��!*f�E����8����3�R�r�d��5�$����~"�/�'�~��Gp/J����K�q"i����-/�e��cw|�+�R���3c�4��=���^�E�$�'�a�\8-�;�2�����1��k[�M�ry�M�]��L%H��%�ۅd��	
emK���O[vQz��Ύk
`w�����t����d�AkO��)4|-�)
b¶��/��v�y�!�BS�RZ4
-.J�`u��"�):���f�A���w),�]z&��Cun�N&=������n>u�V��_�,�ϏS$��J��I5��U~��x�WN>���
�&�+s=��JlB��k
�P�i�"A�,ݨ��� � �v���W�/	v���*�K�T��p�ϰ��,�d�p
�nە���{�!�1e��
7�HO`^Z��It��I_s��1&"���_z����]��(D���]���Ε�|�����;��R��NQ)���V{�.0����2��1����'�<��3�QJ�ў������\�r!�4�y
{N�+�
�^b�G
Ź�WH�5�St���Se�|�T�Y��9�[/���|��PP�Nl"����V�����~�"�5\�
-�R��G��`�S�� �#�͌:�JZ�[�~9�k�ի>I�.��bJ�qRg�7��
ъݒOB���l� �"���Css\#]�����U��4o��I׾��P�d��������fQm�rZ7�6�(,� \D�U�%U��7�&zlE�9��ո��B��#6��殙��
��sN�E?�e�`H����ɔ	����s�r4���
�>H���EQaY����
J,�ȝ3��M�:^S]�hӻ��Y7�ToM��\����$#s��B���b�V\u
��de��H���'#�qY��~s��V�����Ks�)��\�D$ʋ�L?Ŵ-*�s�ٞc�<�a)�6��Ɋ6�ƙؽ�'����(�r;�Z��v�a:��+}� ��Ù�z�_���mnB]:�(.����R���VŒ���
�Y?4J��٫յ�{��6bn�~���B8�M��(v�5�S�j�e�"G�3l����U��S�s�Z+S��!�u��z�x�'�jR�\���iJ��*��l�*SKȚUDɖf���
Ic�vvgM�ps~r�H<�l�q�P˳��# 'g�Y
-�,
-
�yn�X��p�X�O����T`�X ��^p

*�I�}�h��n���O��mcu��`�W�;܏Wƶ���T�n�&f������ۘ[[M\��t;�9�|��t���������R�Y��`�dБ>�w�W��bAsK���E���Y� ���Rt?���*�ZۇK�����a��Wo߈_�Z
�̝>i�jߤb.�0��3^Ò��'.PJ��w�t�����8b��$��5��Pc-���	�my������t<z�U��8�r��"
�����.�� ��/8*�-PSwu�+X��O���:��Q�U\|%��P�A��Y H�4%G��c��3@�n���� �i�
-endstream
-endobj
-3099 0 obj <<
-/Type /FontDescriptor
-/FontName /UUCYST+CMSY10
-/Flags 4
-/FontBBox [-29 -960 1116 775]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 40
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/minus/negationslash/plusminus)
-/FontFile 3098 0 R
->> endobj
-3100 0 obj <<
-/Length1 1481
-/Length2 6977
-/Length3 0
-/Length 7984      
-/Filter /FlateDecode
->>
-stream
-xڍvT���6�)%2@�6���.	��
�lt*�!
JI���t
-�H+��!��������{�s��������\�}��3v=C~y���D��A@)�����  ���ٍ`h�_0�	�
C"�����;��`J`4�O� hx� @� ��H\
-��;"ݥ J`O�- �@"�("vE���;���)��#�ˎ ����
��C�av`@�v��1��. C�

���W
-.G4�UJP���K 
G	 �
�� ^0�#� ���{B!�_�:`8�3"v��#
�7Dڣ���P p��A(L�u`�
յ ��P�g�?|��z 	�����_�`���`;;$���!
 �0(@WEK ����_�`��\����7T��`
�����a�h� 
-���4�.+# �H8
�@��~�O	��ô�G��d�H/��_{b����U�s�+�傁���
�h�(PRLLD
 u@��
�7�q��6�~�~�HW�=�4 f������P �����
�>�@ �
��:�D�d��P�?g���a� 
 F{  ���?O�0� .>�����������)����)( �~�" ~I	�\�$�b��g�����F������'�:�
	��Cӻ�ix��
-��6���
-:H��� ��o	�a�@����
����,�/����T<\\~��~��3s����d4f+����@���)��&kC!0�[��`�v�#
0
-�� E��0�
-�
-у��
����Q`j��P=$
-�녃��ˆY:;g�K��o�S�����CB~-��� ���!b4&$*
-�a���-o�� �Ƅ 0
 �Hw�_c�Q�0�3f
-����q� ;8`��&�7�u��ћ��;
��
� AfO�����v
��}��,
��Ͽ_
P�7Ԏhfi'�ԩ�i�I�<�����Rkd�Yw�(�c꥟��
�17H��4���a���
<;'�ޖ
���S�r�X���v�s�N�;
�w!�;��"�Q�H�g"�����L2���^-_)�lE��Kn��#
-�Tt�|v�&v�˽%t��%E�-w�t#u㏗�Ѱ�c���S�oq����z3?t�	��i��+
�����`�
H졧I�ԨCaq(�
)�N�g�/��q�����A�����p at 1�Ӏ<,�F���Kٻ[N��2	���W�)��#Y.
ԑ�g����]z�=�ҵ8�^�*�߷ H�3�ѪT��<�-
r=L���ޤh ��G�\�S"POd�jt�|=Zu«:�53W
��F�L�8g���92�^�x#�7��]哷2�w�`��R�6��\���.%�3
-䂵IS���{,�q��M at s��7���b�Վ��B'��3ʾN���Nױ(�*B��ZX{(E
1��J4�����»&�4NRe�pݶ���f
�f!�-i������m!>w�����0}���Ŗ�8w�e���mFz�
��Ŗ�
!^LS�?� ��w�xb�M��'5�u��5}�N&��֭�-I�^:>T8��v[	ؘ�޼��֒u����>��yp7�4�6���8���۝B��$�
�I�:�ȸ�8-�CDh��k���J�V�:]6��ოC{{+͒���e�	/s�q�dmu}�D�+Mx"?��-Ue�mSe��\
f4�~��Jv
��~�y��H~���gW[���pa*l
���xM�y
-w���*<��w�鋠���.��3�^�+�Ł����INcᗻ A��/�~֎�ЋGoˌ\oD���&ڦ\,�	�&�Q|�� ʿ���&���v��A����"�Տ�e��X�Vi͌`�z�Kͽ������Y�
���2��x�"Z����^ߤj�)��<��Ô֣z[�!��U�Q��;�RC��������-��4'��
����"�NJ묟�A�mzWQ��y��p5�FBX�%�Rʑ+r�S9��"���h��ƣ�*0'|F��N�u�&��]��V�D������3����������'/���xI1��E^��Kqpط5
<�B�(hֺZ)���
��
�/�!����,�2!�z���+�S`	�q��T6�l�#��Z�E
��"^R��~s����S[ak at y!�v��s$	���%�Z��n��d��	�u�����
%�1��I1����sS�U�W=�x��|S�N�
��[�f��9���ρ���Һu�GĚ'r�KQ�'�.�o2���Ӯآ���5F	�sǽ��Q~�7����O	ťWk);�FM�|�DϞ>k�f�][Lw�j�p��*qe���=�z6L�5����.<WX���L�_�e�h�(�n�\��@cw_�*���ĥr1�
�
������X��a܉lS<݆�� �N�ϛ�gI-2��3Tv	���
��5��e��a{A��G��E.�$��7U�W�{'�"s'�J����9����� ����;�'x$ߧ�2,�x@�|�s0k�R�@�	��۬r�o
�e� '�Wfa��.���qMEP����ލ�z��e�B
����d�I��`ng	�O)�t��و��KK�"O.�Ҳ�Ν:�J�N�y�R|���>D�6KOs���ۗ�(�+죆�L�K��5�FIJ�W��c�~�=
�'T|y^C�
�F7��+���VIxK\�
���4$�6�	�t
m��\����PM�� h�;�ϑ�g���+
Y���o����������F����A���jZ���G�G=�&r
����� \K n��̘�ږ��B���Y�]1�
t�7����rpS� ���J�����ڟO�|��ػWo-��W�v|W���V
J��@˴�h��l7A\�Wf{����'5��y�'�,^��R�uC���d�6�a�<
;�мeNc�����
�
��/��y��b���
x4���w-eqU�w���6A}Q����Ny��$���R�T�;��wr�V5E�M�Mk#��5'߉����\��B�3I�q��^���P�Qt�����K�Ӝ�Wn)��&`,k
-ƕ\���[�"g�=�"���
@J��I���3�T�U������n��a8�����xڅi�������H�7���
|	Sda넄i�s�@
�9FZ����{*� I�7��Udg
��e%�'�˒�8�ɾ��DX�7��%�᫄�ݕgW�~��bW)��o��NOe�g�Ш]���u��FNl.y/Gj�l‹c
-�k�J���L� ��֚:�
s�C��j	m+9X�#���	VeA
Z7|W(Y�x��|p:
-m�e���5����i;|��W�
�4#��^����O$����3	���݃
��'b:SC"�jX�l�
���S=���isO
�^�J�W���򝈻fu� �]sU�$��Ԓ��*�O>/	��*Tñ�
-s™+��p�9]����<k��\CU��.e��C�ΕM0���zr���4�
۰0G��� �m����y�1�5d���5\��򹇅���38?��۫e�
�i��tZ�õ�p�Y�'X�Ğ���_~�3男���;]��C��=�G��DI�f��a����4ų��� ��g�)^SC#-y���xo��V+)��U�dU�4:�ֻ��9�l��O�w�`��I4]
E��$�Rϋ\%'���m
��{�=��/%:PI+m��)%�x�+N��*��k���1��Or�t/o�
�o�\��
-���Vκ�ow^#�g��`�
!&6��%�֛NV�JJc�'�:~g�2xQel=����+����u��تk]ƅ�
�g�{�'�gӾ����\�?�	L�ДDrD�a�&,�M�$<��7*U)�.|�l_Y�
-K�N at 4  ��q�s{��
+k���J����f[ts�>�4Ǝ!s
�-�ϩ�9Ǘ
-\��XZV��g
byn,4�Ԏ��]
 �6��>w�5
��
#���-�[�nG�,��-��"0������� �G=y}a^�5��R��1��MY���MA�
�|$����Ug�3��cpΜ�ZR��M��"R�����HU*�^DS�������̕�M0�����'�y
-M3P+
٥q
���XqG��X��Z�/�,��۝ʖ�z��^Zt?���
!��*����t�f��b�&?��Kx(��Hu��fAv�S�N�Q�c����c_��Q�d��~��&Sih�����OI�_^�pGk��P��8�gF�8κ��?n��qcBRQ7�j|�Z�J���S�Ad�"�0S�WY��J��ްM
J��Sv��
e��7�"F

��_[rQ{�\�va!��5��� ����,�5�h��ғ\GuWј
$���i����=x0��E��2ɪG�e����(�:�Fڠ���|9�jiv�v�ƄĘV��\��_Pq�W�N��{c�W�\�sz�ϡ%�zE��my��!���Q_ok�E����c�_�.�I{�����B�7��GϠ���k(A���+3=UD��&n�V����ڗp���7)FD�{����dy�eV_]��n-��h�PC{�~t�������A(vl���u��s!j��kyDtt>�ڒ�gn�L\��J_$���M�� [...]
-S�)b����&��j�"��̷;�
���
��
��`��e�ܸ�j��)-c��\�~��ˏ��ms%v���.YR��$L�e��Ѷ@��Lo�g�0N�B��Yk,W����tm��3���

ѩ�Rbi��RƁ��
��Y:�hyV~2o\%�b�r�O�t<4J����[a?��9��sK�&�9{�)Y������YǧV��Ҩ��������Q���
{��� 
��!��+��.�� `��)y��<���ݧ��x��g���h�1Mn�x���ndi�4��r��*L�8�V�g��g��&W��>G�X�s�y�y��Ɗ�Δ���7N� |(��{�����OqM�D���3�U��7�Ɖ���7�埾�6�pgכ�L��Z�Pi��ӎe�������>W�
L��\�S�p�@�ݕ��Q��bD�1;>��#���̠����K��Kg�N4��]�'�9
ʂZ�6��h��3Ɲ��*F*�P���
Ɠ�
�$�DO�%C֥6�We�t�S+|���d$�N�(��\��mJ�Y}va���V�D�2�/9��7$�ҳg�����^0�R"N0m82�2���DZ���Mn-n\����	�L
�"�)��z��ʵ(�Nkz���!��C[Z��1�$)�Ѻ�
�i���b��U��D���*�6"���i��L����� �oO;�QcKM5*�I��ZR䜵Suђ;|�D���O�~��=��QF�<C��e��H}�B�5
�t���A��
-"��czt�Jh��NG]�����-���=ӑW���$�I�n<
��~P��#�?O��F�-'��;����
�KF&�#d~ͺ��l�
Dr11#�I���1�!�i6����@6�C������CYH
-��L�
/"{8��Q�|U�=%J�f� �+�ꨳ���|�'���oPei>��E@&����K��~�F����R��O^-gv8K��6�]v���!�9��Z�?ciZ��
�
��ݢ�p
�6�V�Ӧ��Rץv�9�<k���2��~�U�~��|?�+~�fr�r���6�ǕЭ�5y<>�`����ɝ[&��#�G�x�Hj�;����^Ϻ�����.J����W����d�q�|�'�
yz�q��U
|�4�+�����]��|%�a��&��(8nV��o�M^4=��h��
�VAkL��-.Y�� �_��� �M+�@Hd.�
j�9��� �4QjaS�y�&��ۢ��	O��)���Y��*���0I�$5rE��Cl!��F�S�Ù�K��9UEPـ
jG
�j���n s?�^t�i��!�8�˧E�G��a�`��>5eJ���-)[���]�ۇ����� _�Xw�wt�:-�Bm���bq!
�oK��y�����#j��Տ�rb.4���
��MF���
O�Y�^�f
s��U9�e@���2\s��tw����z�d�}�gҾ���k�iNj�
@��|��7����5�
L�Ҕe�oƹW����W��IZ�"Y�
��OX/�,��Y6'
��f��w�4\�zɇ�
���mϣ��r
~u�ML�r3�N�V���d5�s��=��-c�ڑ���k�6�[��y���XDPM?0W�Z�ئ��_����E=ɒ}�l���%C/�.W�`h��^g���Շ���㘬Z�����؀�h�W���x��75����4ͣsŻ�U���ͪ6t͐
�7�Bʋ+9F�,:
�c��R-Z%q�R-��=�ibߑ�	����;}��wsAK�5m+��"p�6OH�#{4�-�α��e���1��]�`Q��N�$}eV�0��5�8"^��bҔ������Et�+��5m�͕�X�����2�Ȥ����d��
-�.
ލ$I�	���7xĈ
�mS+9�
����k�ȍ�� �� u �
o�h�
i�&�9b=05}%�Ld�a�QY�ӆ�{����a�m�}x�����hi<nx
�D�}Ћ5:���O~<|������X�9�:U>�V�S������I��z�(]G�
g�
-m���0((t���Y�6U�0��*�M

M&z
G�c�xF`�H�3�Hj|0�]�jģw��"o5,��I�O����UhV���+�j9�
�ٯ(V�/1������Yg�t�FK�H�w�'!��!�bj�r �=�m����Lg�����q}�e=���
v�
��j�Okns�P�_�A@��I��c���)AN\>wZl��e�Fя�m>�g.�����:&s���kS��]�&Yծ�0���ի���Nj��7��[��<���X��6
��k�3x�Z�M�d�8�^S���+�����<���g��/�����z���^Ka�������;/��E�I"��Yj߄�_o�/���{�dڬ_�va��X�
�j��AZ�����p�y�;#�
���nV
l?����N,�S�%��&�}�O�y��O�x����ȃ�a�a.��G�:��+|&����w�p��ݴLO ��|�@ZS���+(�
-ն(��PI_>�N[���!���
->�
"�~�e�Y�mHmQg�/v��G@��a�ݦ�^D�k�"r���I�������������{_M��իc_z�?�s�h�{~t֗���x
�� ̏�j�=?��=�8/��i[3J�>���־��'F����
-�w1y}3[�I�,�c�����a�{���Gʳ8?zўJ�|�:Ț���/}���'��ZՐ��y��I�\r1 �L��ݬ���
����[Լ�d�
�T��S�����ť������=�/w�˙���
D�U��#}/�[5�\�c�"�!���9��V�>�
@>�Q����>��5��9��,��o�����|
~W�������B�
-|�%�6	溯�ty�gV�9Epvs�K�N�?y:���n�������4:.�>k�@��E��U^���h�w��oB�R�lU^ͣ��U�'tҢu��GU�8V�dJ>^�$7��.�	|pc�k�k}���,'�"my
-Tv~������w�n&�b}��U=`��m#�J�5rKޖ��~8��mαT��9��Y��2y�_ �)�R�I��M�Ee�P
cI>�����
��wQ	M�t�7�}-���������
n��ֽde�A��#�	Y�ư�Y�'�No���"J�yw����
���{��5�pV��#�'�ч)�?d��� V��v
LI���
ʎ!+6�gQf]�����Z�س
Nv
�a�	ǩC'	!�2�mr|��E� N��`a+rゝ�k�m��~W �
-�q�^�]�u-Iv������O�|g}�΀	լ5�6�͍OB7�rr�5(w 
-endstream
-endobj
-3101 0 obj <<
-/Type /FontDescriptor
-/FontName /ATFWDW+CMSY6
-/Flags 4
-/FontBBox [-4 -948 1329 786]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 52
-/XHeight 431
-/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
-/FontFile 3100 0 R
->> endobj
-3102 0 obj <<
-/Length1 1411
-/Length2 5990
-/Length3 0
-/Length 6951      
-/Filter /FlateDecode
->>
-stream
-xڍtT�k�.�(����0�HHw#]�0�30
ݍ��t��JH	"���)�!�
-��{���9k��f�w������_6-]
ik�TG�x�� ��F" >>^>>~"66=��LĦE��p��� ���QhL�B��#� 7G H  �������
��@����0k�:/@����"���0[;��߯ ' ������ i'(��`�
�	]v�" 0(��_)8��P(g1 ��Ã��ʋ@�Jr>x�Pv 
�+���"
� ;A�0�%b���\���	�G
-wEG����H �8 at WY
��
��qV����Wo  ^����+
�;
� ���p/�`s�4�xQ��� 0���#������a�`+��
-�� 0��_�\!H�3ʕ����"�Wt���ֲ''(
�J��~r0$�n���d
���_���	k7g�S8��
�,��
"���� B|���EP �b��^��������8#�6hP?�
�G��
-v�PH7����6��D�a�
-j
���

Cm����G�<&|h� |�~�y3C��w�����|���jz2���&#���� <��@ ?�!"���w��4�o�Q-0�����Qn� <��ݼ�y��%
��V���
-��� ��o�'�A?@��
�;����_Y�_���
)�9:�6s���f����/���P�PG���߮�?�����9��UF��4�-q
� /��
� �Zk�P�?B�{��08T
�
-���AG����
�u�W�=��&(z��]W
AX��>~!a �{�E�/$������[�  /
�B� �
� 6$ѯ���N0���/�7��	C���Z7$���%������k�zB!D3S��P����o�

<_��V���uE
-�ا_�ة�g(���XZ��H���&|lʗ���۰�i[V�b�R.
-C�kM�'�����l���
I}�F~���t����A��ԏ0�v��򍂟ͮ�ƏvN���d,)
�X��]�h#�T��)Y
�$�MO���O�hX܅Lc
ݥךI\z��BoVwW���+Վw�e�tT�*,9�=t�	Y*u��2B_e�$�ߣ+t
-g_�v��12��u��9���a���H��*#5
�c����,?���^�I
�jD�%k����"�2ȶWqB�F��3Ś/K���Á�`#��(ݞ�;��
�����.GJ�44���7���$`�fw�˅�ƌgu�ԪH|���1��N7Le�SPܑ��xl�1��x���4%�	 �ϸk�������Ɋ�ŕ��I�@��n�լsΒ�U��(yK at 6��9b^p�f{��%I�b��2߼�9p�t�D����Z�?�����Q2R�wc_ƪY'��g���@y�*b]�NޚG�8�
�X|�'
��c���k�s�&邟���]�ǘ�(�%����x��\�&ĴJ�����6����\,E.�UM���c�5
�f*�����
-�����b��|/
-ʄ�K�@V罰l׮y�H�]]�K���
-���8��e��5���ۜJ}���]��
iR��폧	������zU�"�,�����7R��O�KFd�gNMY�dE?
-��|��]b�!{ŕ!��d&?�Y]��i�~e�p�,,}�+���ի�z��o�V�@� "iԱP��u���b*�x
����s�����3VA�F-�|�#}�-�HϢ�
4Em2v������vn�Z����
d�)������2��dp�'�r&��j �JU��͜M?���|���'��Ā#Iۼ���PO?��ʞ������ɦy�q��=��k�;�����̩��`rV����b�X
-�T���&����Dš�o8�b�^��@�u����v�3��l��O��T���f�X#�.kU�(���A����81C'�� �㖋���ى*T2�
?���I�'wLg 	�5��OMI.Z
z�&R' ��5��v\zW5ǴW�ޛ��
�K�O�V�����TLͤ:�� ���L�gy�
K3t�U!EG隂
��=�O?:����%B�
-�|���'��#��*\T@
SX\
ڙ�nt7��g�X-N��
�\%v�?��Q}6{k.�̘X�	�^~}�A�>}7�K|y!�e��
���k0)��m�,e���oKF��
-h�&�IM�ުz/׏�

��~���(�
���Ygh#�]V

�;�L5�
���ɪDg����ZyM��/�D~��6���q�-������6H*_V��Ƽ�
\�Ϣ��Y�����ܯ���
�������sa۝-�{,S�����o3'�;�s
ĩ4�
�z��
��헮
}d,YΩ
�
�
Oկ�QI���0$�i�qG�I�ʧ&mU:˜
.�T�w�a��tO�b+Rz��_������V(TZ�|q8L�|�Ÿ�=��0
�
qTv?�� sv߶�U�e�Q�’�
8�'gr��{
|���_����KQ�Ǖ� �b�;������lv��ꃆ�e�,�	JgB��2�o����C����:�H��_�.)njIG�4(QrF�x=
[�ʸ3k��QZyC"c���7�[/�Ӷ�0&��h(�\sq
�!\�����W���`d�=���ɴ�lDP���\LS,��
�%��_�Rzꪟ)X3��qGN7�z����7����Gf�N�{�����>��0�
�{+�g=�PAĕ�����"Ñ2���P!��\�SxF�iuE���a� �J��>[���ݭ��R��'K���~~��\�in1$�zY��
�Y`Wޮͪ_�e��8�h�{i�8�=��F�
�LbJ1D���n	ԩy��}�0̿�n��\�A*n�D�
���
�O��c
-X�w��G���hQ���7�!-�7�Q	�Eq�r�2��
�������B�rgj߬i�24D�p���z��
-^K� ?-.r�bn)J]�!F�':�g�ɓ&�}�&�x�U�>��¾�;�.%,Y�F4w��j�:䇺N&��C�7
-�p,&�,�F_=�v�:�,�bo�֙�
q�=�$��\$�>�ɟ�$��'��r���!lK�k.�r��|ihY�ӝe��XU���b�f}�ȼ���
�Y�
-�4�
e�5$]7���w���kU�2嗸
�UZ��
�0J_��l�Ά
"\B���]�y6�J�����[�dzo�5�\.$��
j�~�B�����X�n��/�����g�Ɠ)�k����.w�~-��U�+�q�����M��6��
m��S�1��"��iy�AW�=�K�\�Xʵ�z/o��y�$�
�[��zP�!S��çq�x}�w��e�Ӭ���W�
:��_`�F8�{Gڲ�J��Reu�V	��w�qi�zÿ^8�������C/E�h�����Bd�������%N��Uk��LC� u�1I�_o��Ҕ���/4�C�Y�Oz�("wk������~�F|��@�nĞ�.���
-���ڢW1J�K`K<��bǯ�Y�Q}d�c�~}�s���z���FX�� ��ί+�&��x�C����.w�D��
	�<H
-�׾3�wn����`6&�5�v����?��\J\��Z3eÕ๒�O�$�Y\�/�,pt����a�h��F�MX�5�$c�F M�u�@��Ãc����J;
Z/ʶh��]^P��H�	��|�P,�q�r�Ȳ�^5��Jh*r6��"���&�������1��N
���$ʕ1��Iٴ�R���mb�-5[�e�!͟�;��Ս�t������~�Rk��E�W�4��2�֘����^m�N/L���*�&��o+eA-��������'۸`ªo`
>���F�ފ4�������I�U�M�Im��ϸP���s�"՜�d$�	�f� �	]�͝DC����ϗ���%�k`��ǽ�&�X�њ�M*	�V´z�@����������$B�����;�F�ލ�b�ڵ���W%�ܣ\x��#�����T���}y��	�9���O�*屪BM�B��<�k�p�]��Ϗ^�7�1fY��<���3�e9NE�j� ����8�(
�\Q�
'�kM�K�ҋ�s���!�/�����
\�-��m�D8p+i�
�V,�4*��:�
S�9�,w)��]X<zD/��;���Ќ+sze^�����8h�d�
�_ �:���gs T�
Y���u��q�1��S����G]
��%S�E挦��A�)�=��^
-s{;����G�i��"C��]G;�$z=��պvsj���~��'(����4�-Lp��'�O�u��䡑`���G����#ͥ���ŭ��Q�>g�\ǔ;�4)��ϟ���-��Z���(D�f]GT��
�'!�S�p�9�#�P^:�kN�
��-{�;k�{��e�dJd�$ f���}M��IJ��9���lg,w�����7pƠA�k��6��ߍ�W7'�Q/�r{����c�(on��V$����/^}|f�F���
׷Kk��J�������H��F
�-mg����JX���k8�|��r��Q.��.wo���g��絤�g�1
��K��q��*�z�F�o��2�0�|uA��7�����do�_�U
�Q
��\��(��u�S�0��@��xS�Wm[6�!g��&f.(5͐���T F���r	1^2�
v�C8j�%��4<�HTls�ދ�E̜4��aw��I�n��ᕨFہ*��_P��t�>O~X
S�x}�y
y�Au2�`kP�F��(�|Mv���f�ig�&�i�
OϷ�W(�
H7�� l
)-m���/�?����F�_
-4�0Ozc��	��4��j[}�A���?��.n
�^w�|i�7��d��u9�
��F���\*��d
�{���$� ~:���'JA��\3�ykq_�$���n�v`�=Hҟ
-O�v�c�ٝ�A�BK葻+	3
+�XB~<�����ch��$o���~�Jšc�V.l!w���
��3-�Z]�U�?�=��Bp�
+2u,W�3ԋ�,D�t���#a���њ��#P`�7
o{�U���U�u�����#:�z+?5vɂ`\��� �s��� �
-p\�g�t�=}M%��:�{���(��1���p��]*9���⻤���o}��C;����Ce:}/�#>~��,|A�D�qV�.��2�Y�M��K'�o��>~Z8[-"-ئ����\���>��NkEJ'~��^$�
wCrBs
�KrKW��pI�׭!�i��8�U��+$~z��
V5õ
� �f�$�
ѻ!|Nf�<Q0lNZh�.
�8����U����->
{��y���ّ�&U��{OH=N8;E;��Y-�䁄�-
��J��[m>K����֛I���Ԗr�_�FR<���ԻjY]�O}����W�	
X4P�Uws�g�iAc��3�z�U�V��W�1�6��e���Jk�����J&T�G��"��H���<����oTh�'�Zڰ9����s�[�U<���,�<+��~��c�[:3r�NouV���k�h�^�b�W*(6�e7%��]'Gq��}�̏0�qX��?']ar,0�օ��"�����
�
|�f�(�f���5,G�e�7
� 3Tu��-kg�tƉ}�X	P,��҆�-M���s�v,�߬���
���
���)�^\]�}�Lx�����Y�u
W�A�
��N�AN/8�s����
�إ��]z�d���o;~͚�ŏ��g��~G�m��N�Q�If�9��6��QCx��@@��,�_���h�>���UR L��;�h U&Rf�3�xNܫ��a;"�B2��np�z����+Ю�Z�~��gݒ>��EN��ÂҎ����Y �TΒ~��	;jw����Sb3l�2vĝ#�A�&I<�cc
n�޷1�g��8MDK��'�ң��X�܋z2���:G�!��S��k2
��|6\
�Q�.D k����	��1
��x�p�R���Ot��D/R�b�`͝�uX!�
-�{\UyT�l�e
NX�&�CyfX"uJ�!��^�F�2`r
$!I~
�e*�����V�o]��#��<u�F|!�t�.��C��vW�u:r���l�^�/Byڈ�����l)��M'h�hh�
/��H�3Ǫ�2Ѽ�

j�k�a�]
���'�-Ǎ��G��HΓ�`D0��IMM�<��r�m�v:���^j5���YL��SZ��$:�ͬC���W�Z�p<��F�kG�{�
U��2�P�~D��Md%���6y�\c�s�
�9�g���|�]����'�B�S��}�D����'7+M��%
 b
�	�g��:X
���8��1�q(�cqf"%�+ at d�0�W���
o�QY����հR��w������&��*?����,�.��f���e逭��"��_5K��̻� ����g;�^��M̶j����&�W �}^�Pڦ��[IG5�BF-
��/���n�g��/n�/�{w�(W�H�)��T3-����j��0ĥ�e���.g�%W���y������aѮ�VE��T��	�PH^
.l�w��
i۝;��I*b�6)n�
�{���kn�f�u-.)dZ6��R������>0P\;7��������p��»=�ǽ^����Vo����+Ai�On<-Z
�ob����Z�f�^��,��9|�	��
ȳۉ]��f6�>ܢ4�� 91C���5^>�ZSbvw�0�ۦ�
��ݣXt`;�?��S�`�=���B1�F�;(g��*f
({
G�
 	��y�H�ȀhgJ��
+��O�,}���d�.���n���<hO�`J�pj�=�?<u������^X5�[�\�V��4��z��M��ǁ���䝜�b�QdQRl:/<cU��J�`#Q���h0u�
-����,�ɢ5U��{,^�i0����5�z�'}�iV��ګ����r�h����P�~*n���t�&��XՆ*7\V�$����z
-endstream
-endobj
-3103 0 obj <<
-/Type /FontDescriptor
-/FontName /ZQLTBN+CMSY7
-/Flags 4
-/FontBBox [-15 -951 1251 782]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 49
-/XHeight 431
-/CharSet (/minus/prime)
-/FontFile 3102 0 R
->> endobj
-3104 0 obj <<
-/Length1 1440
-/Length2 6665
-/Length3 0
-/Length 7641      
-/Filter /FlateDecode
->>
-stream
-xڍuT���6-� 
R2tw#
��]3
13Cw��tJH���t� -!�H��t��������Z߷f��g_w������ag�7�W� ��p4����
PE��B
-($$* $$`g7��]�� vS(C�e�#A	�1�*���E��Z��@aQ��������PDHH��DR�
-�A��@-
��� �}�0G'4f���\`n����$��r��	��@]�	��
r!�0(��-�d��hwAAooo�J �t���z��N at C(
-��B���ܠ�	 ؁�N0����!�@
�
-C�(L�'
E1��4u�z�P��d�?	|���(, ��vU�j��.��7w�w:�\�@��:h4��J���z��
-��$��
��d a�EF���(��E�_m0���� �ܠp4
-�k>U
-�
����u�#���-
`p��/OwA8�����W
-�s����B�b�@��v�����
�;(�
�0�wG�
0$��0(��yA�h�'4��?�\���
��:��w��P�?k��#a>@+!����B�>�z���
�����;���
-j�Z����a����2���/*�
-
K�%%����l����oT�k8�wԄ; ��8`�o
^ɂ�/�p���F�P ׿�o-$.�|	��
�����_]�7���@�=]]��~���0�
���WFʞh�-ts��;�
��ʺP����h�
JpG���������0�}��C��������
-�C�(د7�JH�bׁ]0o��~��S�s_58��>q	 ���0"���_cS�緾��pS�p
: ��_�*,"
��

1�1��0��1����B at A�~����c�'���o�`��{��� ��@����^�󋈶�:%zo�/�>}�M��Gs�>�wҹ��>��R}g8]�<jb&��g�t�Ǻ;'t)M#��ֿ���_0tv���
A�9�I�Ǯ��>1`$yh�g���l�2R�Gt�f����a)�
�,9&eN�G?V�����Ȃ��3���5i9�*��X�d�
-�,�D�-���w�*!���⛜��t��ڽ��Q��~Z�y�Ƀ�TOr��QX
���*�I,��ݢ8�pA���V�-][hm΍ǻO�7�g�S��ꘛ������XԻ�J.ܶ
S N>_����j"���H�-Nh;Xs0ex"?�BBH\@w��H�Ok��a��#$F��5�B�r��cBv,��RO�I
E�#Cs�qTm!}�{�lz�|�s�-�m�{G�}�*��L�ud�=�����P<_�����!�o
LX�	xz��pV��
aꄽrWU�a:���Ҫ���v�g_�
�Z�ŷx-:g?Ohއ���
�J��<�b��]�*~�N}�Cn`/���T�`��~�s�"��@��~����/��̞�.=�'yg��V�x��A�o��U~o�o�c�yiG4�2A���c�OJ���&�~+�=N��ř8v�B����Ü�D��e�vq�E�&߾�xv�2\�iȎ��d��!�K��[�!^�Qx�T$k6�,a�l�*G�y���
�y��鸓��Xq�UN&�{2G�:�w��uɜy|�07f[��x�o��8 K�
˭��Bj�64�^^) ��AI�R�ji�;�2�U���� ��F�&L6�ap2S>NJS�P�P��Srq��ͽV���D&�f��3�,�X���QR�b1��)4dǒcQG�a���T�1����x��
��I�8N(>��q��rdk�zO�����{���$o��������(����i��t���t��
-l��
G�!}�L��d^��$��2Y�?�:oHG�W�3e
-V�d� $���)N�pU�O{C��$9{��6��PHS#�����
�N��:�芟��Q�FV�җOiK�h���7ZM�W���
-�>���zo��åsx�uCPxV����鳱Ao��p

<��s�+��W��2�m�WnD�V�����Ò���b[9��(:��C�[�O�ϰ
J
%��,?Ʊ^�87�=d����Q�+x�s1,Tf~�
׃Ͳ��)S
��p����8�s��M��,a�D��$䗫�ΰϸ��3cfã������n��
-�}[��Ձ���d���
G�3?K��^X�j�Ȍ��5m.�pB:���uh�n
V��
L5�o[���	[��[
u��lz��~Qᡬ
-$'ᜋ=]��|
��.;��<���Kc@�:�A�~c�և��>5z��N�D��͖��G�r?�-���Ƀ{c�2�6۹�\��٬����>1&�=�`�q� ������w���ʓ���^����*��y�x����
��B�>�2>`
o�%�:kZK
��r,nԵ�����H�Q�a�O�>�$���Ma��jx���g�|
/�����c����=~����M��J���$M����ӔS}N�&��tUE$&.֊�|���d�"G����XTW��(�X
d�pb�f�� h�}Q
��.#���J���hZ�?���}_[�J7<e���{�Ǒ��ŀͷ��Yx؝Ap��sq���,W?g�l
���
_���M�[�瓳
�
-���P����7�


���Σ�"շڭ�*[��>�gy�&�N���wO�c[�i
[�ĥ&���ح_ʸK;����;yy�'�����
���Jo���U�I�@K�M֨�Èc�${pf3���Y`���n���Yd���q$�Q��t���06\�R�;;u��J
�"����j�
�&�
��d�����l���k���o�zu2
dn
-�n��u��̀:�C�W���$)�Y�S�9Q����w���{�=f����Ǐ׎=��ɑ
���xe�y�,D܆�l�]y�b�c�k"�פ��{^M�U֭w��k��°��B��s�T���;�褓�/s��o��&"�>-�
�*�����]�b����"�Ԍ�Wʜ
���t���)��뇔��V;:��6w|q쩠5i�=n\�/Z��A�rm�R9��&l�[1� �
-u�E8?J�Y���MdLJ�s�	R��Uo��_F�$<������~�V=���	X2%�wN��b�$)d��a����u���5I���#�n����kP���Ц��Ur���q ��&�7m��2���ٸ���i�_��?y�����0�R�T��C�
w�p!8W��Tה9�и�g�5�/��e	�&�ţח_}ybEnN���
-����}�P_�J��<9��#=e�HFk�!�,�֧�Q0/u�0]�TNm�]����Ð�
-#�z!�w8ti,�
/�B�.k����+

�3��
x�����wx��<�D�߅���u�8����� y���A0� i����W���Qh��F��):����Gɝ)74 x���j�
�̩��R'2_��V}z"�O�m��
�.kM�]fИY7������ѓ�SE
�;V�c�5.��q. ����F���b��Պ��r���q��&��|��\��jq�]2���mv�<V�rW6�4�I,^:V_���
\�؎�
Iv]f@<z��$��
Ks�hA.� 1:]
 )S;����ʓ\e��p8P�~bH�q�
���2)Ǥ+
�Q��Z��
~�E�³�w8��ڜ����<��y��
m��\$�؊xL'�}��~�4���T�gR�@L��Gu�ѯX�r��h�FgrV�<��i+�Y� �BuQJE`2S��伭^ׅb�=�3ǃO���
�X*XM�p˅h�Oe~u���f�	Y�����	ٻĆ��&�?��a�A5���YS�[���-�q���['
��KMhQ<93��-���T��{��-K�*Go��_aܜk��[$���	
�
ZR��P��)7'̓�6�Q��m;_�wµ&&�4
7w�v�W{!�[l���ȑ�6�����SB���͌�	V���)�h�7���wQ�Q�	z���`��Ӊ���N'�(�
��Ĕ{��ĥ;���\>7_l
}R3ޖ�
���S·�
"KY 8Q������2?��x*D,
p�S
�
o��g��i���B��<a����l�!�����w�H(�k()N�J6q��'u^þ�km?�������/���y��ӫ��_A�:aJ{T3oa>�]Ϋ�
�U�H椚>��Ԡt+���{^!�&ʜ[
g�ų���k�$ޓm�,^�X�W��c���n׭7h��H�oy�R�A9s���\U�cC�«���g^lL���}4GV�sk�4&-����F	��Ó��S/�r���AmY������W>����/x�Dn<�]k�.��5��~{o�$q��VT72�8��5S�ꄂ���v~�e��h~o���<�~"�H�Յ�b��?��d
��,��|0	�
)4�aG-k���i6�p�
[p#'@ܝd���ֿ��~�8f���X�?ͳ�.�M�#��Ֆ]��a:�z���nERnE/�E�e.@;�S�U���c�uˑ��aKiI���:JV��10E
-U{���6
d>������!~V�݁��5�Z�@�
5f†
޹�b�8�Ŭm�
�ⷈO�	Y����z����Q�!��r
-�qs�
G�|E�,=�W�D��c�m 
�5R����6e`_T�b�I��j���@.��@Z][��u�Q�@�}����mE��Ĵ�T�\�eAr�\�H�������:��c��<H�"=�.���D
�/��Z��/�{
O��x��c�J�:
���E\
[���l�M����N��T
-�E�֥}���DD���� �:����
��Q��
-��^l��Ϻ�(�����m~��� ��B-"��D�w�뙪��F%m��!��1��
��H��*�l<:��M_^�0P�o&
�1R�Fv�|5B��E�gi�rc�h�J>J���h�q��c+4.��5�Ѡ]X�I��ݔu!�����U`�tӭ{�?��S��aԲ�=��z�ua�tIE��nj��,Wb��)�]* E���P軤��H�͓q�'<M��%ۑ�����\�T42��S
9�/Q)I
Y���h���Y�뱋oF9�FuΌn�j�/؜$>⁨U,DŽ�iL%�Qq<��KTpA�V=YL~�K��}����ī'����ۥ-`ӳ·tFo�8f����:��E�N���a��`��)y􆟼��]��	
��[�at{�f�r�H����W�ʫ�u
������ٲ}[�S�R��]�ܦl�<&�ɠ�m̫{
�x��ܰ�j�{��3"
H�$P��)�O�xw��p����
�P� �*�A����Sl�wz������ܽ!Sv�d����;=Q���Y!

�'�+��o$H�X	P�<�
�\o&��C�X5�.���j�ɧ��4rSM�
^�l`����N�	0���N��@K��oE�����Y1[?}��*�b�R�
��6�@_[C����R�@
8�m35vU����e�L��Ro|��^j+[�"_�!K(I��"�?��@�N�Hk�ֱ���>1�֚R�C �L�f�2�ϝ9|�^~���".�u���P�Y�g�V}�i�l]
��<g
3� �
B;
OˮZ�I�)��I�A�
-���m1�K����
��ؤyI��ztm�����p��j��;���V����ۆ���b��gmճ�F�B��b(�e՛�m%����GPh��
��@B�7_;R��eN��B�*j�1��2�1���-��|i�mD�Cf>jR�ts
���ӻo��S�k�v�[��]팷N]4�|�-�:�߈$nؾSy=tȵ�
̴gE����*W�t+
儢]��D��;u2
I��Ct:�]8=�fpV���[$��ul�qS\��X����$ص��J 1,ډSܢ��@_�
3��eOڟ_�	�Β���:n�,�ptz��,4Q1�=��ő\F;��`�*��
/�Ɔ䎤�����b�-|§�h�S�J�3 �J1��[�#e�5 $�d��dY��P��I��v�*d+�7��0���?��R��p�{�޴�u�WM�>O��2=ɾ�b򼀙k�����)X~M;m:{rׄq;�)D!���[7���J	�2o)���� ��_t]
��-�
I�:�,�Z-�
2d4�����,�{�>��UrG��9XKv߿��΀h��e�+��`ҹ=���͚�n��}
�K���Ƌ��
�I��G�d47&l
�k�q�AM���ո��Tʾ|ִ0�g��=Ϣ�KH���۝w�� [...]
|�M�ڳ*"σJ� ��b�
��O2����-I����͘�vGq��o�RZ-����o;.Q�RJ��,;���f���v?��q�B��w��w\KZ��X�>%gI+�4��Eǖ��
kpᔢ�M�[�j�����cG㎽O���
T5^��g/&��zp-�Z<�$U�+{�o?ccH�%���ȳ�eL�WD!f�=�=y���f�i('c]Pݐ^~h��|�����
�[���;ܼ+6^���-��$�{M5ɖJž���y���{�m�_���
Z��zG�uA��S��0�
�:���/NE$zCq3�iW=岟W��D�g��Y�@cJm"	�Sޝ��?�G:r�1ŝsq�N��)����λJ\���ܷ���!2q/S����~`��8�h,<�#�p�쩸`�'O�_�c镻��Kh��$��c;"o�d��X
�\۝ȶ:p˿��!i8^�� ���ҶZa� �����C�*:{�O�LD�^����$m���2R���)�;i۹6��N�~
-�V�\|ֶ�
�s*d�흐��ԅE�Z'�{'.�M�+[��%.|�m/k\�Dn�
�n���a�˔t^
������
�1��z���޸�����S�*.)��dv���!�块���������L���r�*���CH{]��b����ǂ"�Lf-��l�u�ڦ˟�>f����
g�
������WZF��t\Cȇ6(ժ;��i��*Vo�߾y{J��p��.��'�,?ax=�=�'�j���,e&R`F�����JG٨r�Yk^�
���V/�
-ol���8�+�U�?<
����)���9+m�����V�nу��%�^���Z
�x���`~�����־�q�ۢRETn�%��
wlY��P�����W��7�U�=�؄�!!�r+eC�~�p˿Ⰼ�=�M9j�}o-aHn_�O�󽣛�9����Bx�@��Ģ>
*Uj��퐢���&�	n�V�>�W��k�\ �P��|�ɬ��#H�H:˅�(,9�����,u���naw=P�	�0��Y<��+<$��
?�� {�r�A�@B��En!�욝
6c���=&Kl�\���$��-�>EZS�Ֆ������X
-endstream
-endobj
-3105 0 obj <<
-/Type /FontDescriptor
-/FontName /JRVZXP+CMSY8
-/Flags 4
-/FontBBox [-30 -955 1185 779]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 46
-/XHeight 431
-/CharSet (/dagger/daggerdbl/section)
-/FontFile 3104 0 R
->> endobj
-3106 0 obj <<
-/Length1 1463
-/Length2 6668
-/Length3 0
-/Length 7659      
-/Filter /FlateDecode
->>
-stream
-xڍtT��6-�HI�h���;$dlc��D��$��KB�$D at ZD��������������}g�l{�;����T@�p�h �AaY�����
@XXLPXX����
��A��$�����/U��bj@
�O�x� "b IY)Yaa�����ߎ�,@
��:8M­�@����.l����@�"22R��������;�"�"@P��_)��]0������� �
-�@9+��xC1. ��?	
����I�f.P�o����  , �� p46��� �� Sm=�!���ہ��n "�"����3�+!ܑ@�/�
p��  C
=A�� ��:ah6
��€�X�_���  ��zh
-�Ġ�P�O�B?�`oY
VE��C�4���Ԡ({�B�'�Gx���
��p��O`O��9
��	�V�ゅH��9C0 	aII	a � ���Lo拄�2����
��$�	Ku�`H��@/ ����oÿO$"" 0�8B��p��d����g��QP��0V{" ៟��a�F�a��q�5_!MUu#��~3�Ǧ����
�� d$�""� )))@���s������OFm� �������G|V�6��
X-C |������0�%��� �B�o�����%��nH��e��e�?�@w(���Vʞ�Z�#���oWK��Uև�����m�� ��
w�J\@D\PX�7Ek@} `#(��[H�[�C�h��%,�_6�ցܰ�
-�gV�R���:
� ��>Q	I ���cE&*!���)��K� !A8�
`9�(��c�X�P�v
-.?��pl=!
�s���D�
�
��;��QI��v��=ѿ���D��9~�����_O��LD��
��=j=�Qf�X"�[h�����L����]K�
�Pq W�>3�*
��t��ɰ����!�)Z�
��%�]���Ӄ��V0��yD�Y��N�1
��
�
o��Nj0�.���Ղ�v��=�M�;��;{
-�rV�&^�5;�f�ږ"�
-e��i�m>r�
�=Vi�a8�]��M�����7�����t��%+én��g
&�1�$<�iB��H|W-M��`(t��w��=��{�*�O̳��@5��0�]�g=,*CR0��C��ք�5Qϫ��,�+�g���|3^C���_u~�6XuA��h����7ȕ����6��੮ �ȣy'���ً�sB��Jo�V磅�b�ݺĶ����=�Z,MQRzE/�SX��\����
t��
A����ܔ���5���_�!�L���ȀP�F��6n��|n`x��wž�:����fn�IodYɼl�{�+6�w������S�����Q�[�5ӗU2��PS(nM�~��\)�mEtr<]�d�ᷙn���@S��es�
�}�^�9�
zn�L~�
-��I!�Cօ���t�Y�:�������Y���ʑx��d�?��{ �
�c�~�퀑�Ư
-s~yq����۱όC��
����x5�F��;>�H�̮7e�M�)q(��I�Pd�
�q
��[��e>�	�
�c�J��
]g��,I��㼕�?�K�w	T
(��l�z�pS�U͍��+Ou�k��[��
-n��F��5��m���;G�<a�{5G�q��>WVY���"�/��W�I�!#����86�Z�����J���B�TD0f��
�pv�i�.̊92��)@�֖
)���W����H:v_I��
�>߽V��`x�;�f�uG���{B3�-�Iꚏ�<��;u:�i�� �[�/��7�xI�)<v=�f�Jz�#���q�Ʈ�w��-�LcWr�36
�T_���u
-��j���+Zv`^#���uhC����J��L/��E�3JAA�+�����\0��['f��DR݄3*l�s8gw�eB�����D
46WcQ|�̦�r�������끷�L�
���W�K�o�/H����k�Z,7�݁1d�&�
v����I�Uc-
߸g|����+猱ٙ��5C~uHt�y�ā�I���
-��?�S���X
-�t������m-�������|�����l��&	��a�Ͷt�|*���.MF�z[��Ť�����U�w}��2e������S�c$��H�����{
}p:���jo�t�M8��{�8*}�EwT�
<i�w�������7�{l�Ŏ�t,;ٍ��Z���
x}b܂���:�F��2��Z��]x��v��%{s�1���qSm���@��2Z:��"�N��6�=ka~�ʏ.�������qb9_MH���F��|�I�[�/�	H��{��=\�YRj���Y/��Ko�
��zC���7�hy�h
���x�M�ȴ_�e={"��;f[�?7�Յx&f�ڹ�j&������Z��I�ja˷���A��9�w�!�g$
�z�5֌���j�칅6���7�H�J��V)l������6�b��*ԜTE���ˢv#��'��:%�iaZ���2ε}
H钩?��`j푒��fG��O\�����Ά^���j�@�>e��Ñ�b���g��W��:����O*��$*J���Wyod��S}�Q]-uؒ����W��Y
�I�0_g��]�ij��i��i� M*�>�����Ԣ��c�z~��CW䞌U����;݊@<'�=*;�I����Od�(�N�^'���8wڻ����H86͂`���量?�93�����dPr��v4�|Z˒�
֚d� -�БK�Q�`Aߡiѿ��"z���#`/A+HRQn9*�q��J��vD,����W

iL
�B���{?F�
�P張���������x
�|3�t������	�5��χ"�4��O�d��v%ל�]��~����BU�]F��R�k}�����h}��r���7�T�W
-A�����z����]ڬ�e����4N
J1�mR�o#�Mg�����`��)������r�p7��t]����Б{�ӷ�&���/0�Q���-���w�ɴ
ܤ�H��)�ߺ�.+���>;�ߧ
Lo�:( ;	.��
ǐڌ��
-��xG{�z?������.�U8�>*餶�yf>���D#��#do���~��|��X��Z���}ϧ5k	KQ,�\�-��A{lAW����>�
-
����w��#���٩�%�~����dJ<[j&[^��_e�%A�~���̲�£����Lz��(�
���_N�����kl��WL��ҋΜ��%q
b!� ^U[*x8|�V[�D�����
-ܱm����G�K0����~�}�(���I�;���V��u:��-��C
 T;o|-�NH׆�<��`��Yvc_7�Xֿp?����*Q��q�cy��n��:�
�ԩ?�SfX�c��U!P"#v�怂WT��s�4��945p>A��Ŏ6��

-3:�X|���|�����x�ε�l�82n�6'91�����V��G9��7���,
�j�q���#�|�<��C��bp?7���?�XdάU�苻S@:uj�i�v7I{��m[b
r>9:�R������z�����")
-���^Xg'�)�7��a�fvQ�w~F��@�6�c����O�6�&�bGi�1!�`���f���F��n+^�/
��b��7ʃ��-��
X1
.�45�V��pI��C��.��A4�f&�6�G��4+�	ٖ
�]�i������\��u'���
-��
�Ր��;�q^�en�=:0�=�T�� "�zj���Ӌ�*2�J�T9�f��{G���>7ƞ1!
�h�uҤ��,���>}��%�$�<롟�%��kՠ([��`������f�]kQ6�
w�����O;�(�7X�(Y.1�L��Qhƪ���%���1k��+x��oP�;�y��Я�vӘ/�˕�{���ϾI̓��GAAќ�b^��Nq.
G�&�
]T��
�v��R��� f
�bА¢�G�7@ˎu��A=
Eig�����!�qt5�ׂ�'t�d�
-e�:zv뢻ٍr^��06��/�(��@��C�ꣷ'�M�@�?�-����k���4Q9E
�\���x#wY#|`m�"�_�,�Bl�3nZ��L?��ND����P�hΰ��;η�J�o�
D��
?d��fc�@�Qu��V��_'��N�&�RйmL�Z?
d�](

����7�{�KH�օ��z䈒Oߟ
ih�L=��fy�N��4����Q�!
b�Չg����
�F�@���J�����,$��`,��SR���E�8!y`7lN�[	VW����N�d|��#^5���&��Ԛ|��JC�R�O�T<:�����J9f��;:�c�ƿrS��!����Ep��^v����8�/aTu
dzm��؃�C�ήy��7t��
�Gp>��l��(|I��^/�y�OG�I��ߧ��2HHppQ%�r��e�*��I)�WA��b�N�ʞ�آ�%�I�y�Y������62�#�6
_�G��,�&_PQ�r.��|�il�(��e4��l��ϙ&�E�|F枿~�'������Uu�=����pt�R��嬎���huu�/�b<�^&7���

�x?Wp�-v�̹�rO����̓�����
�������E���S%f�cS��X��R\�z3$L��)�`ҟ8y����zA�'��%.O�і����l�e~�
�.Y�����ե��is���hT����U��ͧ�a�b�;�K [...]
-�\��[Y�,9_:ٙ3��L��l,�� ��v�O3�f�_��O��</������G��؁[�_/�2ⲟ��|���|-�)����
J��
����b,�It��֙˔����凗n~�be��1�
-���+'m	��>K&���_�Vy��@�-�}OӲ��eN�l����!i�G��
���W�T�,\_|Gs5
$�dԖ�$=(��P����n�x��r�X���������
m��{/��H�&=�$];�q
��n����{g�FC7k�AyL�m��Ma��~���@����SzW5If�/�b�;�/�5Ġ����b�U��ٞ���=�c��K�7�>�L��v¦
-�1�
�����Ŗ�Uc���J�����i���4%�u�fyݏ�Y�_2��q4�m�-�)cUrƦDu���xw���ro.�6�����7G�LWi+D�^j!��\!*uބI(}���VH8+|/O%q�
-��
>3�`��튑��7\�͌�8��=y��jq}:_���@��q�<rn���UښGw�Ck�
�6�$R���J��(K��<>0�(xI�m��u����������l_�tI
OfS��؇x�W�=��-�
�w^��w����
ߕ����u
doY�9�c�B�ey͔(m�P�z�m�k����j�n��/~��ҫ��1�z�;�B��kv�l[YȬz=��T��A�*���\�ᙃ���b�s�.58]>)˔�Cƕ3p�R,���N���{����
�2�����
�kk51׏
��%���D�!�x���k��>�Q�����:k$�^�
-�c3�������:
�(#�$��./hࠈ���i\A�����N;���6ל�������>`�O���6�/�o��
e3��q����f~*�z��0⡜V{�'�4�h�E�M�q�E��{e��^$l+"5*��&q��ǧ�t	���p�}��
��|���ܷ�0���^�Ac����b���
QRd���,�8��ڑ茞��%N?� _R���L������Y� N��!�yj�ȣ{�WC�
-N���&�>h�Xj�
����k-��2��!N#e-�}��f
A�}�Z�H1�P�"����[�$T	�|'�v+�mQ
�e��:�Q�_1� ��<�ɝ�	��&�z��=�7�cR��]+"+V��tN��Q�<�z���tgȗq���#��j�b[���j�f᎕\�_��E����֘�
��=�4��8��P�]Ɏe�O<��?Q3�/��c��3��NdI5�1�T�-
7+öF����z#����qD�WTL��mWaC��e�#ܣ��-d�y�Y�dP)��^px��
e�nT����}W45��Y2N����ӉaG}zz���p�i��
�#��
��wMHH.�0'׎�a=kϐ�AW�UL*�����֙�΅������(R��,�e���ۻ�����Pvb�퀽�
��_��A�k<��[�
-��?��=l��Dgλ�[��9$�*O��3F>f%��SPe�����:4ŧ��3�S/��/��ў'���>��s���P�P"sp;��knFܝ@�x��fX
��'.nS�1���h�C3*�C�S���7[� ���z�.�\1(�Q"E-bHg���g

)$�/%�|;&���l�'mL�YŃ"(�^�%��e"��N��\�ŵ�M�[3����*�M�I��
v?S=HDqR�����,��wV��=k�
�s�M&Lө �+:HU���	ne
�r� /�M�Ry\|�w�x��6FS���k�;Oe鏧<����0.��s3�϶�
�ʔ
W�J���]?��6k�
-Ώ>�-Y��C�
-��^j�؃_�r��zk����7�+
�w���;�4k��h�[w������oy�&ë&?���vgK�\�[l�y-2�K�uG��C�����ݲ��r<e�x&<f�{"�Z�]�]�y%Bm
�쾨�h�u�+3��DUQ�OMf7�
Sz�ڢ.�>m��`p6��č<&'@�@hZ��iw���qll���8��[P"f��`���i����GH��n�('�=oG=����g�y�1��'{D��k/��
�@o-���yv�>7�m��t��=sH�٘�n0�
Gx�X���,I�{�O��_q���At3
�Q辬?sd�)��'�

����Y;H
���H����|��J��im&��~3�T�Yr՝����Vm��5f����*�X��Z���
-eUt�/�Z햌R>��\us�|��J
�\6�&0�T]��q��skx=m
�n]�{���*���# �ᶄB����`/O3��������(&�m����K��I޷-�(�Zȓ���+���
�w�J��D������έӞ���z���/��w?	���tJ�%(	��X�82z�Y�Ŧ\u���9F5\�in
���3T�l���[#���
-���Ay����糇��B1�
-�be��"�CyB���l�~��Y���ɧM�y�����o}�p��:����f�lG)ؼtо�F�*��%����~y�S�W�JExH�Rـ2��`��
��ť�J"��e
�,��
?X�4ÁR�k�B�</5�APg���0+^&�>Qv
+n
��(�����Z*b����l�n{��>�,�v�����>��$�,�t�O(2:�:�Ԙ\�8�L4��̲z�k
C/��� B�����&E4�x
-\N�f��S�|�g�x
���r��
�
ȩș:��k1�Z��q��>$&f�x�'��	��zp�\�&��!#
��~Z��*�oXh(�5�� ����
� vIYp�Ș���r������/P�(�#$
��ne�:җ3<��ug��&ѭxyڡ�?3��
-endstream
-endobj
-3107 0 obj <<
-/Type /FontDescriptor
-/FontName /GCEPBM+CMSY9
-/Flags 4
-/FontBBox [-29 -958 1146 777]
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/ItalicAngle -14
-/StemV 43
-/XHeight 431
-/CharSet (/asteriskmath/element/lessequal/plusminus)
-/FontFile 3106 0 R
->> endobj
-3108 0 obj <<
-/Length1 1430
-/Length2 6367
-/Length3 0
-/Length 7333      
-/Filter /FlateDecode
->>
-stream
-xڍtT�[�.U 4�&��C�JG�H��B!�BB�ޤ"Mz�қ�D�R��KW�+��x����޵�]Y+��<3{�=�l.v]E;�-L
��
�e emCCi 
�E@\\��3��eC�#PH��PF� �O���QH�
��%d�%e�`@
���B� *�
�-�C!a� .e��7w����/p
�KKK��N]`h��!�
�D(�0 at A0���Jܒs�`\e��<==!.�(4�6?��8 �0w�f�"
�@\`1q����({�'
pg�t�e`�v04�;
0����������ܟ�_����(��
-Az#�p�
�
�i	b�0� i�
qvG��!
�3���9PS� 8��C�W���;��E�_ep����SF����wЯ�Thw��BM�	��D��1�H;�_$찮B�7,LC�����a q0,%*
�� ��A�WyCoW���o7����+��Ǒ��!�a���;�`�X������	
v(���H����0��l���/�
�Ӟ0 ����%N^v(�����+d��h�����bJJ(/�G@��D 	i)���E���7��^]�Ok����@ڣ ���o
Dq���� �>A�S2
���[���Pܗ�������T����K��ݐ���w������� ��� pB�bpK��­�ư�Yf����wT�-�"���5"��^0;]��[.W������^@@
��n۠N���
7��!n��}�*����u"� ��x��8q���>¸���y��5 $�Dap) ��`�B�~
T�3!�/�Sr���Y���ׅ����WP,�[��:������%���`P��)T6Ա6��i�"����;�q�5�
���V�w*�$����E�bR_���[G
-�.|>7Փ�7'赜��[�鏮��fF��.��X��Bv]�Pa�����(ȉ�	��
W�V�J7��Գ[ݫ��tv��Ԛ�z��&�y�@̃h���	�\��I�KR^�=/ꉣ�q���l���@~�1��>fK"O�M>�/7qog�d4c`!<�

��Q�|v�~ڧ�(zQ~:
�#�7����S��:*dP����/�
œ�tN��C~��
�,s���DuφF�tk��;�M?���kն
o����W찓k�̈́�}�̎��rX�*�U�;a��=����M��U��h|��/,R�
��CY� c�ev���﷟+�'��w�N'˶}k�;_��%��< ^�¬���<1>Fg
ۃ�Uh�*oŹ5�:(��j?��`y˃�q�����7R,ץ�)�
�� ��-�ʶ8z���ĤT��(o���f0�
'ɚ[;n5�
`N`/�(p�~<��Otܖ~2e�s at Jч}�U2n��=��)�K�2����{�*��+�m(�ɛͼ�����՘��
�*��|-
���Asڨ���.
�d~G~y6�i� �tt@��a��,?�W�)p8"�!�Iʵ�WN{3z��W?=���k�7�%��z�j��me��$�fw���4���`�W'��\ ���4R�|l�u�w��
-P��W��E�
�Ɣ	��xR���O��О�</�o�#pV'"p@�U��3�w%��Ѣ��询�<]DN�ڟ�*Egh
SE��Ǻ��Q-mGb����4T�yG�V�y>����LI1o��L	
-_v�Tt��m*��nyrb�N�j›MYO�Ի%��B/��˷�>���==�h���ùV7w��yu�`G;���-����	��(h��������%m����ʵ��gaԛ�Eo� ���t@�p�b��	�
��L�}k�%�"5����<�W���7�
[I"[�FF|�A�
�=����A�ƅ7$
֚�� �k�q����!��&={l����EQ�Ǽ��"��:�Q�վ�������Z.� [�^�G �g
�r�O��jt��,z-k�J���~fIo��q��M���h��J,`�����|��F<�I���ˑ�3]ao�U�w0���$�rQ�4Τ�zW�S����S�z�1s
������v��z�h�K��Ji���Lycע����t8�(<����~� ����c�X���]#
fw���?�dA!�*ˇ)+o��&���
���R�;����A����]u�
̸
e()���,�V�#ׅ}y�;B��[���I>D����^�\����r��^�
-��
ո���^p��\�,�Ŷ
�j$Y��_��ۆ��8�C��=`���
�n�][p�@jw�^Eu�
����Ӣ�>��l"�w���%:V�>�&��LѾ
��#�0 ��H�-L�Q>��;��g�
Y_kaۇHҖ�
�G���)�/
�n��|� ����s����;�w�_���'oH�ޯ�/�s1A�Gձ�
,&S��"?f�,M����(�y�0����-����:b��
-3fi��4r�;W)���H_�𑭊EG��J͟�:͙���}�˺�]"v�_�v'��d�R�R�\^�Hg��>�����?���N��x
>Z�Z�
S�&v� ��pɼKe�B�39���dDzF�i8X�T�Xz�p�"��
�?]�.s3(��^�rD�ݘT���G��y�j����#mSL)zGw6�\L2��9���{J
շK��5o
|��V�����î���r<��! ���^�l�H7���儁!�-���M�r�i��ϩ�R��

�z�Q���c8?�
o�$I��hg1M��ED�Ӄ�c���*��˔UP�k���0���5A�5X>�$� �xv9�+�����O�l����(]�e�
��H {����c������/t�gC��̵�Y|i
zGS�T��m+\�����H���d
-��(��!�W0��s_����=�jZAT^A��"U����U"����7|;=[i��
� 
-u
./��lI��R�y�%�H�C@������a�q��q�D��	�
�
q��=�j�/��cN�4��6zR�����R��\������S�����]�v�=#��K�weس��l���"}먲��c��Y���0��g��%�;�^��}U�@)&�`�᎟�S"���{JlK�&'��9l]+~w�#:�{w���yݽD%�_�cV���r��,�T�$��1��#L\�Mfo؃�o���0
-��9j>��-�74/?&� .5{��Σ*-�)Q����
 Ԭ]��S~��1lbn�`��w=��#x��peIef7��
��#�Ը�}�� ����Rv��Fy��Iph�#"����Tx�hiE�Ä��D��E����3L�/A۶Y�-_��� �xNNUU��yf/�U�n1�L��w�r!�*Kj�R�&xyS6?���i��A����tY�s��pS��^m�C'3��и�Lv%K���̷�ǟN�^�R���ko��	ռ����笄<�x�8S*���ܗN.�E�?��r5e �O�UV��}I	9�ы�^�V�Ww9
-���@\�
:T�i&/G����~�3V����R�}U= �@P\5��:�1�Ex{�*x�vx%��"��*�N�o����m�kO�����iEJ���-� ��v�o���".��/��L���6�Ck�<�lUC@:�'&G�ʟ�1���g���VFu_�F|�2�g{�
a6|hy$Ћ�/��d�ڗ�4��H�Vֆ4V�o�T�9a�Μܔ�K�
������hsjl�i0����H~��J�|l��BM)�)t�&�h#'����
8\�d���P at T��:j�}�ِyrr\��J��ʏ�jE�Eu廀��ͨFH�hȊHӱ�<*�61�h��	��i�%Q��,li�GZrZ���&-�Q�r�=� Z��Q�*��)�P��ڂ��Rb��.?h��|-eߒ�
x�+�26i���w���[`��#|���T]�cAǻb�~7r��Tg�S�-�
o^��}����0 +`�
�<(� KH�H���H>:9`�7g�ߐ��V�OtZf�2��Qߥ�g��Y�|�����«it���Z{Piڼ��fE�7�<W."�]��sK+'�����Xt��K`�#$66ى=�Q�2��������8^<z:�Q�	�.K3i�Bo�J��ʳ뭩#�۶F�����շK����
+
�/?;����d���y7�
�7����������ZBl7� IR�����0����ЧU��̐1u��0��Njtm.������R�3�x�J���Y��CnZG��7O��\�ɩ`�\�D״���8�}ْ�V%���<�Q�[F����
~��u��Bz�X������\,�}
�H�l�O�ǑSY��Ȫ�L$r�*�$�]Ja����a���
S�����[��l�&��-��e���]��A�
�r��,
�!,�min_�,H��i�^0�a�~�餻�a
w��"���

�����0�0���y�����'�/�d0�T���%>[��$Yt�Xe	���y��\����e]K�z'B��x [...]
-����as�/�9�J���n<�c��l�~�����tv
]3R������A}���0�A|�nI�A���Q�&���D�h��������Va�upx-�:���޳��$�1��S��]�W��C�
-��Ǫ?�&ݦ�{y���h�Y��SJ,71���ܭ!��v!�H��������3#ޔM�f
G�e]s��%���UE�f�/���Y"�]d�S?S��
�{1�ޢV4��СS?�k
=U+�y�59��
�
-�
>4�c�e�ԔiW�:��T�%��P1ۼ���4d� N�������S��EG5h���TҘ�g�Љ���d$���)�U��xwFv[
O�a�{�~�9�pN{>�	�t~�67
C[1�eQ�?����x���\��D���96IuRf�V��j�%��Q���3?��޷*
-Oو��d!�*;��
w��D��84�\$�F_�i�	��1

�(o/qB�gN�("��
q�u��j_�V�?n�
˖O:}k@ ���J��
���ʠL���-s�l�Z�?��9�ܛ�륕��YVn��p���q�.2�g��l���[�����a����+U��i���!i��$��=^j>��ϋ�v
����%.
���D,�6h�P�3���Q�w�i��,������ձi6�*�_���ܝL�:�X=h���I�Rva6"�<�F��9(�<��>Ø/1��a2�r�8��՚�{p����
��4��u�]��0�i���fF��\E$~7��f�=r���ljt�rVz$� =�ѽފ��1;7��A��*�������`�o�
5���
Ԇ�x����6ߒV�"ϱ a_I��d%��/7����+b8�ڗ%H�H4 �'c���zT��^d"2�u$�M���M��"��!2��%�M��g�Di�$�L��;�:���}x��� �:����`k�q�F�
�������3"�(��d���k�e
�:��k�	_6}
J$���N�)��O�<�I���L�#_�_����]iV"
�P��ѹ��3�ů����)
D�� [...]
-;�?��j1{{�N
Z�
�9[4U8Պ���0��
�D����鵄>7��)鎐��
-kT}K<����0��AD��tO(S��}/0>c�wn>
-��c��ښ��f
���[��;I<x�6VQDUp)B͙�\��;���ͺ�
��@��y^HͳhV���&�����֤�h����|�bJ��+�ҩ�K<�8�e���9�$[�V��9i���*��A��'��<��v!�B��L�
G�����SK]?e�=^n'�~��\�@��GcT^}!\͓�V&"�Z�p���S惰A#���
-�"m���l]��[#>��������|��
���/5ͷ��zטڶ�r��5��
�H$t�wӳ\i'S��\
�
��?os�&�p:qؔ@Qi���{ �2DsV���4��i��ٱ
�cU)���XS>9`U/�"}Yn��HN�Bfk���Ɯ���m5<8��L����	��9�'�����f�=N����0��ࣵn�7
��BL:3Һ4�_���N�/=ߴ^%�cV���� �Q�����$Y��v(���|q��+!�~ՠ����8
\'�ɘ
�I��
-!A7ME�!r�u�g��_+�>u�
��+���ܜBI��/�P[�\&U�?d3�kِr��Q�H��T�$���J��b��!��b�G_�ł^𬬊�c�4 �����Y��?�?uM�
o�X��U����a5�l�<.R�/�]�
]{p��Ms�"����/�K��UMB�N�y�W
-9�m�4\�{ٌ�˺��*\{�a)Z�T'>
h?�˓��1�������@A�O�I�,� �`�_��7b7e8���Е�_��a�4�)�ƹ_�kx�
�����F/��+S����{��|ޒ1���
-���ym�
���]�`\Cp�UӸG�
�Ve�e�1��������PB
��
�=W	RT4'4n����vQ��3͗"
�ݔ���jԩ
O>+X�-�N=
-F�ծS�H�2�W��
�5�~�'��Ȱz;����/�~5pV"*#rl� E�l�ϋ��%�#
6�"�.�Y�.&i�s1fc�hb�z�B�.�ym
����
u����d��g�Y~��^�)�!+ֻ��#h]�_�2�~"6���xԨ��(��Ǹ�(#ٔ�š�Z#����钄�ݹ��F��M�b
-:.�Ĭbt�,�r�t��К3��gm1���ц�D=���Q�?�&\U�r��s�g�S|.vlru�Y���Q�[Ϭ�T
��O,�������y�6RD(����!="'�˄�k2��������oB)sW�.S�^�
������a[O/
��dz3���\^����!g�FF�zSb�����&T�\�e�3p1ǢI
��VEH���M
'��np_
-��+S�y�
-E�����L٪e�fa��+^.�o$}Q���HT2Ҿ�� �-=v� 45�����\�uJ���|�mIǼ
!s����=)�!K
'�xdb��^{��((
-�̩ȬT~�k+$w����T�6��_f����?&�3�
-endstream
-endobj
-3109 0 obj <<
-/Type /FontDescriptor
-/FontName /YGAXLK+CMTT9
-/Flags 4
-/FontBBox [-6 -233 542 698]
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/CharSet (/e/m/one/two)
-/FontFile 3108 0 R
->> endobj
-3110 0 obj <<
-/Length1 1328
-/Length2 2269
-/Length3 0
-/Length 3132      
-/Filter /FlateDecode
->>
-stream
-xڍS	8�m��4YI#z��!�m��哌��y3cL�l��U~"[�/B"IZ,Q�$��$[�6!��?��������k���9�>�<�9�QVpt�2&ӽA<���B#P�����
�PX
-��)+�@l*��Sv�,�N��”	�<����� k@c��>z�>
-`P(�@:S0#Ad�X�i 
�lJgp��/���<�$5 ���Cs)
0 ��H�l
-��H"Rg:	���R�P�l�>

� �t����&
�) d�� �
,R��
-5Lp�@�e�3݇
Ld� �@�H ��
��� �U��lH[�.4��� h�g����Dm)�H"�D��>
�v[ �ȋ@"�E�������,=��� "��
-?�	1�,
�.rD.��ٜF6��46
��>3�	�x}�"W��O��B�| �g���@�A�
��l�3�~�|A6�Ca�z� 
��X��� ���E3�Cx(�� |x4�p����BY� `39`x��
��`h4@�Hl��h�_�yf�g�Λ?
-�@��P�����<���4*�|i�Hc���+�:ML�!@�hicx:�jc=�!��<?;���Ց���o�h>t`�2	^�~	ZQ���ڨ�W����
����¡H���^�������,�S��|�C�.�U���'@T�2œC�����kl�!N�?�Vl"o3�i�ԟ�Xx($;BleY<Kv���ǚ�Ht���`p: ��$ra(�B0�1��y[FC��	 4:�08�p��΄-�D
 �M��Ғ8L&og�&ǫ�㾴� �`}�餝�~�c�?]2�
�k�h�6}H�v5�
��)����4���^�[�/??�0�)�^�W��9���/�w�Z��{D3�c��I�-�¦���
K#�J��Fh��ݥ�I3pj�Q΄���k�s)�֨\}�hON\#�����1Ω)5)7�ꮵRb}���&U?�9��
7��X�ʔ}�J�a3�����x��ƫ�R
m0��?�=S
���js6�xXQ7~����KWT�w߹����}֢���
����]�*ڽk��
�K-��j���-R���+=���!ISz,¿�]坙]�M)L��_=�9ߨ!��H�	;�#��mp�u�_�PG�'��z�S��OY>�
QpA
�`��;\�AX��e_�n|�tM�Ѝ�}wZR��U�m��Ų����!����G7/A6}�O
������
�{���f�u�_�
lFG���
��!�_�!�']o��e^��͗L\�DD�o���
;��j�4p�<n��$���K�>b~�Γ�}����#˹�
jĔp]|��?Y&��d�<�
���q5����OUr�հ��
sw~��~�U��;~^M	�D�?���NV
�Ӳ^�Ye��"ȸ
/�� 0��
�[
:��
��*�4Yy.�B&y֠�+qQ�q�ӥ�/�ܨ% %�R�cR;v"Rc'	w
ƇJP�ڂ���;J��R̊���4˜
m�#H�{v�vj
�σ����p�z�\|�T0�ξ��Z=ao��&������ �K�i����
�WM�Gq���	��ጱ5�`��������f!�L�w{�8i϶�g����mbR���)z���z])���⛭q[������1��Gލ=T��ت
-�G�
>��x�	�n�V���<I�
��7�4���bT`@�T]�z��%BC3�f�T��]�я���x��v�՗�����F�MG��
Ͻ*��H�kъ�<�U�{�]8�ӲqOnS"a��	����=���\���ϖ�ͭ���SoDz
i�v����:�u'��7U{�_/��ç�=�9�J%,�!U���[S�.x0\V��x��zOQ�����ݲQ��7|�4*
%@���g%�\�H�����(����[�ӫ�&r)ɮ��W�k�w^�j Im9�(�^�(=Y����E 7�
%<\�[�3�v�Ԉq�։��5˿g�鈮x��-*�E9[ܛ����q���a�CeWԘ�CW�B����=�%�/;�'ی9jo�:Z=c���`

�UF<�J�T
-�����_Z'��2�zB-nk��h#�X␄L���3])��N�	br�*/%��w
���
���
Iٵ[-�Y�o��	��ko+q���4�HgR�&[�L@��d�������i���OԌ�[���'=
-<��m��C�A�-�Gk�U:���`լƛ�ًS�G��U�#2B�X�z�k���#tn[\��f���
qU��G�c�p���~�vX�����X�

g
ӗ����r�
mSYع~��X���7E߆"u�rX-�b[�kv�[
�$)bFe���r٧�4V�tF��$�� WZ������O-R|�mg�5,��N;j��1o�z�������'X�“
���ژ��O#��H�]�#�h�H�=I�%ML��z;��f����	ё�S����(���"B�@9�j��h$�S���Nf��)j�E�O*�y��c�=8�|lz���A�d�%f���[�:$k�fV�Zh+
�c5NT��:}��r���&�"�|E���H�ܙ��bd�����Ż~�Ӯ�$_��2�pO}X0gH�Z���
-7���Zxb�Yt?����8��W����_��N��9|X������
�+M�����I�����_2��H����L�[���K��y[x�xsWr �$evo?	�չ���_��#Gt������
'�+,�
��J��`�{�A�{���8C��]�ӄ�^�����ވ)�Nn�����.���ۥ �-

|lQ�g
��HA�d_��z�1�WT5a(_ȁ���wJ�Vސ^�ȗ�DJ���j������~��_�jO���������;&l��v�W
��0�(飜���l�lr"�X���
i�f�������-f�#�Kt������F�4�����EbW{tz��)8R�W4��#�ld�_� �n#=�4��т��ܺ�[y�ܫ������]wmv�nO��٣(��N�6$b�\C.b׿�{ے� c18���vQhe�m|���
s_������e�[��eE'�
��䟩�9�z�t�w�P��{1N��H��9p�`�
e�axE�����D�ٝ䮩�Wrb�"�F�|�?��k��
-endstream
-endobj
-3111 0 obj <<
-/Type /FontDescriptor
-/FontName /OAKMXN+MSBM10
-/Flags 4
-/FontBBox [-55 -420 2343 920]
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/CharSet (/Q)
-/FontFile 3110 0 R
->> endobj
-3112 0 obj <<
-/Length1 1606
-/Length2 5946
-/Length3 0
-/Length 6755      
-/Filter /FlateDecode
->>
-stream
-xڭTeX��i$T$
R�A@@��E�af��af`�nAI%$��S�ARJJR@���<���{��;��9��{]��^�Z�z
6&]^90�����y�$�PGk���+����(1��3��"�@4D`! ��@PBB��
��@z8Cm�� #}Nnn�y~� �=���DAm� v̏+�@:B�h
����@�A 6P����LM[���mP��!�@@��4� 
�� ���
 C����`ɡ @ 
-	A1� � �w���8;BQ(�? ��:�h�
� �����m!��
GL
��@�Q g(
�T�UT��'���]ńL&r��ҟE�p 
qG��e
��($
聩�C:C��pAA��b�p����0
-���`��ο����H$���iğ�r��Q�
���&��m
���^5�
 (���G���g@
�w�CF�a
 0Ć�_�Ɣp��T��ω���?"�D������\���}�;��

�
t�,�_
 ��  ���o���:Ba
�&��&���;5439�-F
->���P�2�
օ�Av  
3�?~#8�
��!-���+( 𷘡
� �=tѿB8���1����o��L����_�?Y��ц
H
���C
���C^
����
-=��
�
���j`�ek��Pw�sL�����_���`�� �����p0f����
�8;c��s�1
������;D<3� =	������N�T|��.���
-�_e���_�h�{�(QluU������M���&�zE�k�S�}أ�x�n&�
��,�y���ܫ/�-�I�L"�~~���k&&`��}PO�"�
-��s��3��SN�,���'H2_PBe�f�j,ʊ��-�w�'���z{����>��q�E�=R��m2Ţ=����@7x��]Ȗ�ZC�Tv3�aoI�H�6�
����1VT at Hb�:�n1�V�M������ff�0�فtA�ҸX�N����B96O�Ԕ�z� �}��6<u�9�=��_5����Z9w�j��5?��쵦(k2���v��
-P�ۇ�aI�:�l\I~
-�!�8�"u&J�B _�'d����;�ǿʾZvE������f� ���
�>h�J����]��J��ܛ�M�$N�k����F��
�TU�����Să�U���s�Tw��<�w����R�;��tq�N1���9�%��S�ȫ���}���NdG��
ETt������H����
��F�.�
y�m��W������au�
�r�o�T
�Y�ޑ0��e��[n������,rs|I�n8S��J�|9��ý�܌K�O�-�����
�Ƙ������<}�j��9Ȉk U?r�Ǜa��Jn�"�?8�Ğ,|	/��ŗ��<B�q�{Ja� =����`8��g�0�}��.D�)O7����%N��	O
�"�OD$�屼�Ӽ�R�)=o�w/���r>&j�n�$Wa���l����m�S�8��uJqA�q�M��
(/�g�H��
-���iu��Z���~k�Y`ёu��l#)�7
	ؗsa��Ɏ�U
:`���P�&���ɒ[�*�Z�	6�ؕ6I��u�=�g����u^�X�3�������ك�
f��\�"ut+�ы/6W��?6��ّ���g�����������Y�M
-���vV)�sp�$�s�wN
��1K�6���M��m�`��˗��M�:��{jy�Z��������T�8Ņ�i���au �~��J�a��"�xs��Q]��֠�
-�c(���nXR��
��=�lz5���%��1
Օ�E�{�s�9,�)歺�[��
,4I��j�Tl��r�~%3_�
�0>
y8�,���1�
>
D��pZ
�oxn?�O?ax4~��B���<���Z�3�
��ݦ��*r҆���������O�0�M��
�ی5�kLK��զb
�<� �c_%�
�I�Ĩ2װ��r��sQ�u]]���A�62�D��.�~a3�ows�h\c�����
mǨ�|��Bn^-����\��\ڿ$F�����
yΟ�_��F+��x��(pߒ_gY���I����η�BdchPq��I�v1��e|��箿Y��3z	�+M��֛ʎ��f
mS�f�O,�4[�/F�ޘa7���-��2��:�{�}Y̶뷗p
-m�އ���h��)�z,x���֮�j�~�{؞�\b]Zyt�8*B��K%��u�����أ��
�����Ȯ���ǔ�=
�hAv��m����(�L��9&�t	ޯ�V
�s?
-��
Ẍk�@��W�uѭ��+�ɘOb��v�����h�FV�������X���5�8�
 j��v%*��c�!ez
J��E�>B���э!�����a
�6׋�-T�<������b���&"���hϩ�B ��G�5�N|Xp��w6������0��ܥԣ�؜� n�R���n_�ި�@��u�	/\��#_%�p�^oŘ�fP�<�8!�v� c��g���f$~�p�2�eқ��ӫ;L�<�8}a��R��({l�ͨ�$�v��y�
��K�i٣��$8i-q�!�W�IN�oC��}�t��
�����
>>NW��}a�%�
�����}�X}�ʦ�6��|���K`��n���h�6`����VC���6�����b�d�����BT��Z�KF��.����uO
?Uu�_���%,GU`y�QU�h�F� fO�d!�8�R����_j�w����m���7k�H�������;�u�����g�{��n�
-ξ�{<CѢ�4��}�����A?
=\:�v:~t
�}�>��F��j�{"ٷ6�Ƣ>�~[�/;n}���TQu	�p�c�0�t��I|�
��}e�T��1�35U�=Ѻ
Y�h�9��a��6����|IV��w��epgh%~$_�����5b�dG�r}�L��,�fK;�O2O/ V���$���{Tܔ�쉰-ײ�[+����2�bmC�@/�V��AU��e��q�nݱOY
G����:f���'-�
y��N�]�
�)7�$�<�MH)		��I�ʄ<���n�7�5]l�H/X/*f�y�{3�t�}
�d��-р��8�15ď#kf�N�L���`
�'�59�#���
iY�gU�ե
 ղ�#=����V��+m�����w�mIm��
5�4�
-�v�茰�o^���������^eQ�u�{a|%_�nǟ�(fJr�.��ʪ�u^(ˣ#=�e2���2Y�
�ϟ��*�ir�.{�Q�TL�Fx�[�?(y[��X���U��#�E�S,�B���O�¢mt]��
-��V~����be�c]ޘ�%�ڠ6���Y_X�pޚ�!���<�l��
r�'�b}�}l����K��)��f�jw/�
�?�fl�]�e���
�kż1q���2h>-��#�yc(dX�������Q �j�L+ɥd�Diq������&���;�W�}�͙�ڊ���v#��
'��m�[OV�\���
�
��W�D��3�%�{�
�0���*k��E�Ҷ��ٞVU�(������R�1�L�R����C�ְ{����
���(#�7��!w��#�?5��

���t��
P
ks��Cס��m3��6O&Q�|
蓘�-��
bgT+7�!�%�[�
rJ7�>�|��Qu�`^�t$b�⪰�%&)�m����}�M���I��
�B1+�jm
n��&K�Dsq�����w/�]H��i+CH�q�(�I [�@	��!l-�x�8��B
-��ْ���"}�Y:�����F&�9�e�J�������m�ۺ���8{*�v�o���^%�]F�#ߌ��>��@J��\=���U$+F����a�6�d�d��'�<�V
����l�V'<��q���I
-~ ��0]��S@���
QVu��64���]�����D��<��
-��$I�0:��0.v
-�5��m5��a��'�������b�r
�v}�@��
-�`_c*>ݥғ��'�u�F��t����O�'��
��u��~>ޢ���
�o[�7��Ŷ�D���hb{����*�W����)#�g��_�n\�1�H/���*8Y��{�w�.�V������u&ބ����o$��Ω2������WJW�k
ʔh�١���Qɴ?E3�ۧz�
��Y�;ą��M���ΐ�Ó~�9�(��ij�Iq;�<Q�͑6�������8)��'�s*ӻn�P֜�OK��3�
�pbD���m[�I�X.�*�T;HuV��|���1ZQ��vŠ{DS5ɺ�o���
-6'<	Fp�[�: B�y�v%�OY�����M��z��r�i�b��a��û"䋃i�Eh+��Y��	�y\

�$*r�;
�����n�f~�j.
-(������e��9	����X�+{f����<E�����Ų]ǒ���T��G�5ߨj��Bf�)�J|�j+�˾�Y���RP��O�8��I��*�b��N�
�����d,'�u3�w���8x�J�.-��S�z9ަ0Yz3�
3�f(�073\u��pR�
m�i+)
�I����)[D��Á;��P���ڵ߬�+��
-�&�ӄۇ���]+
v<F��(�.\
-��,)�]������a-�t�Ƃ>�By�Z�=��G8
�{׵/�q1�������Ej���y��&�GҾ)����
nڗ+�߮�,^$=|r
L���F����l�dh�N[�a9ê�R�)��):Y�����t�6~�Z�zr�a�e��$���! Rh_A�����Av����W���ͧ��r����r�� �C/7�lK��I�6sd4�
�m��У_���<Ҋ�2n�>zdq֨!����}s�
������5�

8�Nj��t�&��]�I�aNʚ*���
HFG_�
-%�m�9Z�խ�j�?2b��6����S�ݲ�b��5r�-#A�W����QLW?����p�cH��\�d~�R)E�}VeR [ΫwrG��cC^
-����1�W�Ӯ�x{'ç�[ꨱ���^V
a�
-�D���Q 7'K���
��t�\6��
�͸ ܍�ąlP�9=t������Vb��2��Q>=�0��� ����b��!�
v�
���
n�dZ����u%�mEI"K�f�,�����VI�b���F)HS���	چ��1ܬ�E�97RO(�n�-iL��:����S{��3�����
p��?������R՝c旕�dLJ�H&}a���O�5,
���b>IWL	�y�_��U�Q[O�N�
��Q�
x5�N��׆O�
'9rlǠ�r̕���(��5�,�H��Q������ǔ_L
�i�2IQ=5԰+�}�.�N����F��>{ƈ�Jf�2�KƔ�rPw]
�\��w�\��<,N�O��
'���F����ܐ�^HZ�S�f��ɤ���
�u=a유�Fo���?=te�w�
z`l��D��ډ�A�^�Qx��"!~�4��֊ףD��B7#'�a�HY‰�|�:h-|^#r�%�D�2�k���j��٩�1E-�׭{��e�"�Jݨ�[6a�
&��SZo���z��m��AE�;*2��R�/d�`���>>=0m�a?�<��~މ��2�AN��4�4��1�)+��^_M�q��S5r��,ZX��(
y��<������^N�CA�|n8
ٲ�<�͐A�0V��zO
�a=�
�U0�*�=��k�%���^��W��j<�+�`��������J�
8�CϤ��ֳ|��dß
�U�v��˲=�U5��me�
R�����z�9�>��m,m��a#Ն�%�H�L`g>.�4I#�h��P�\E8�]����N[����M������������1d�U�oS*�1dl<��wy�t
�[�L��:d�-
� h�Id�2�A�V������K\�?3�h�g���T6"��ˌ�
���M�ȣ�͆�>�&d�}�V�Wh6�tT��,���-Y���Ҍ�֧
uoyët�Qm� "���\��{�	<x��(S
'�9�_����m$2E��{��5�d�V]�a�V�
4O�
})�=�W�߄"z�\/����X��{ո}
F4�
S
C�Y�yM:.��w�Ԑ2��׼Ie�v��h�JG�xo�י�A����m
Z"tܤ[�t� T
-�J[rm�t�.Ε޹������.��./�I��8:@�8 ?+ٙ�Z~��x(��k�eo���>D��Z�>1�c,��Ÿ�� q���tN��L�^aZ�o,n^b�]�
���8 �cRy��h����l$��i�j�^����#����u������V�o�2p0W����������9ਅ��]�"�TY���
G�"2��w��w�qut
Vhw~�L�A�Җ2�~~�M�|�`Dx�L�pF�^��.�J
-��{:k�[]�&J�l�9n6:Bn�Q�V/e��'�mtgY��
��RH����S+�%�s�b���ȅ�=|$�
(�½/��"妛�—��Y��Sx1 I�Ј&��s
�̧������,��u��X]�~w�ۜ�/���DS�3�S?������	\

�
KŎ�r��w;�:��|�$�>@v6��(�^�q}�7�Y
w�~y:
d�/��C�!`)..d?�5�����:`�ޡ��4q
-q�Q� !�H
z��Uu �[A����C��l$�lY��^�3l�AOZcR��r�3��N�&��'��.i�4���DKzڢM״h��.?K��-�������
-endstream
-endobj
-3113 0 obj <<
-/Type /FontDescriptor
-/FontName /SFYBYI+NimbusMonL-Bold
-/Flags 4
-/FontBBox [-43 -278 681 871]
-/Ascent 624
-/CapHeight 552
-/Descent -126
-/ItalicAngle 0
-/StemV 101
-/XHeight 439
-/CharSet (/a/bracketleft/bracketright/c/comma/e/i/l/n/s/t)
-/FontFile 3112 0 R
->> endobj
-3114 0 obj <<
-/Length1 1612
-/Length2 15301
-/Length3 0
-/Length 16119     
-/Filter /FlateDecode
->>
-stream
-xڭ�eP�Ͳ%��4�8l��wwwwظk��и{����N�����{�ܹw��3s숧2�V�̕UQ�Ɉ��M�L���tL�? r��F.N�v@:%Ss�_#
�������
P����@�� bj
`f0qqq�����=
-�-���J�T44��i�'`����;�,́ ���6v���@����MM�� 3KS�������8�R\N n
-4u4�(��Xd,�M�N�T 3;G�Ϳ c;���?�9���t��M�-�n3u76���E
�7u��tr��
�t�;�����`	4�q1���_��ݿ�;�������
�`���d�hi�
��UAD��<�-
����d��
�3�ibg��OI������u6�:�Mݝ��ed
-0�t��1����/����h�8Y���-�����������/�_���u���
��m<����_Q��������=
�ߜ��s�[��I��
����v���:��A���
�_�&v@���
����ߔ ��;����D�o���E��y������/����<�Wh19Cۿ��
����� ��cl

��pC[K��Æ��n�o��?8�Ά�!4�+#=㿍�Nb��&
-��� 3C�����]hb�hc	4��迚	�cbd�/>
Kck�?�g���h�_���_���E�d�h����(���;�x��%�?J��3���0����^tO 
3
��oBN&&��C��0��Z�����
���dF��?~����/0�@c;�fE��h�w���������_U�u����
�����1�꒝1w�UjF�s
f�Є�v_�P�}I�Ja��]�_j�6�o���`�����
����R�#=�m(�SL/��|H�z�Q6��9h�J��ԣ��d� ���v&��ߡ��Y
a����I\���I�|���bt|k A�)8=#O<~z�

쾁��ǥɎ�%�6��M>%Jr�0p��7��|u�p��V
�VN���3�Lx�9(��!8���d�E�6��=�\���y�(ϟpI��j����f�� � K�F��\�eI�	�l�˾q��^��
ɺl�Y�`�
$ �?�i#�0�q��m��׳Z
�f$��[xW�,x{'��bx�c�Y��X:!^۸�ݝ
G��P)
���A#�@
"o�����ϡo0��w
Zơ�Dg��NKM�NM��ho��m2�'
-�C��b��#=��W
�c͚��Y������%t9��/���&�P�R�8�ȸn�_��u�%
)�'C�W#��$i�_�Os^,v_&n�^
�3�����
��������b����?��y3U�y�=�<���nt<=����ͱ��Q4aE�M�wi�}��C!�΀�ʹ�R��mq�ܷ�
�����=�@�_S.
�O�p�w�Xq\
�7Ū�OQP����fE�Ц}��b�
-$1�
1O��
-��Qjۨ�ZúI��A��$�����m �:/�cT��9�]I�ki���9�s���{&�Z�a�t���(�m��3��5[���R�ϣ�<v.��������ÔDv�<����A��x�`]�r�羧�%F�r��#*��o�꘤�n�3�|��p�5��#��J��zE�
9hWL!�m�˜���7�eP�
����8�9
�峣E�:��˛G�"��7Ͼ�%\�+c�Pg��t�j����t� /�ĹL����^k���7�
z��މ*W��ԭe��Ja�X�ݑ����]+��Gn�+M�I�]W7/�i�xMx��W+�����ڡ��*}Ń9D#�����
VYS�!g
-Ov=�Q~O�����P�6�UJ3�v�]��&�S�E�My����3��!3�6��'�������J���e7A�I��/!�٨��u��甗�l
� t��6��+�n�Ƒ�:D��z+e��{��,̜s�9���i(��\���>�c'��̝��e��3�3qΎ�c�*f�S�L
-�I�A��W9<Jss|������Zȯ�Q��
q:��v����t�qޘ1�m;l-h�XGLg	��#)�A�Շ=�v[��R�uI�������/��ɨTTy�j�
��Ӳ)�]6��H�,{�$�*���u�
��c���,TG�!��+��=^-��0l��EX�#�Xa* ���nv $K|γ�Q*q}��54Lߔ}|����+��T��O�5��A���
�[�EE��x��@��� i�L��l:
c ��[_��� [tksf��Y�+:v3j��K�
d҈~g�+�H�R��M!�a��`ښk5���2be�d(��y�&��!k�DE�p(�Cay����C=�#���X�.����"��Da�z���n`5,79������u/��d|}m�L*M�1/V�K����P�RUh��SSC��@�6�G];���FҌ��\'����l�3��s��]w�s��\���+��>�k�ٱŕiF
-Dދ#l
w�^��ch�	=�
���G�R� �ҵ���Cz"H@�Mu��@���li8K��'<�T�Ϛ���U͙V[�DiH��t�UEy
��Њ�	n��\҂z�`��;�3�����i�rF5�ڣ��C�D���b2E�|�쑀�]�h"�bbI<ib��6�|�j5�)L�*ž�d
��	�Jm���M>#
c'����O�rY
-3��i�Q4-w�0��u(�v5
�5�ciE�>^z
�(݃��DDA)6�KU���r�پ�tc�[��*
�X�K�^�w��D���Q
;�4a�I!��l[/�e
���3%v��?�)]n2�� ��
��G�7?I���[ v���,a1C��8X���ɬ�;X�2c�H�!������,L�J4��K���Q� �b�qO��AZDkc�}8�:0C������d �������}�}H��@Xguq�X��s{�#ʩ
�H��߅a��G�!��#�n��(��i�'L�
-�k��>��z^�6�-7FNP7_]
�{�rDj�����+�4�IQ���<�)��'a_�ճOF���}�cⱏ�bj�"]��҆�0����+��Nz�Ҏ?����U.���t���z�ؼ�����sc�2�N�����{����W1b`si�F�F�:A�#r�7+ĊQ�	%��H�ջ���u��[�U-Y�G����	�e�<��

-��F�"d���](_:�@a���#�`��=
M���Ny'��P[��+����04"���dE~�fo at x�MuV��B�UB�8��N`�܃S�L�RKw��r"��m�u����wdCُ\��
�F�'6�"� �j�	Z�^��b"U����'��N�z��{�s�ܹ:j`�r_�q��B�MltV!t?h�@lET�8FlO��Z6 f�B
�b�W���7�2�OY�P��˹y��=����j�`l�S1�Ȁd;=�H��)��,�Mމ9
*C�^�-��9�p�R=�nbO�E�o���[���qЧo���&��4��4�
�5J[�c�ݞ�:IG
���l�֗���{��$�B+(�������o:�.ye����l)��6���H�;�:::Z�a
`U2�NJc��h���Pۂx�0�ԝ��7�`�
�u���UV��4`Ɲ����>R�V ��&/k*H��gi<ԏ��
�����(�c�Q��ɞ�4Ƶ��,;_��{��|��
� [...]
-f��ړ�@� �#���4�}�H�	AK�I|k��/;}�0j�g�HG�xB�B�1Ѻ���;�RU�
-�h�%���u�y���G���_���
S4Y'��Rod�uzIY��5�	�:P�FY
��#����=P���06�ճ�ȹ�C�@����O�3�-{
ơ豝��Y��F[Ӗ(A
l�p��/PAO���\n�
~�
�(��Eqz]��Q������`��
<�/6)��n7Ҹ.՚�֍`���/�Cq�r5�{'/"���h��C�52����� u�ܫn��Sm`��؇x�T�8��q�.�|h\��6#�G��
�:FՅ��
�AJ�{���l����ܦ�G�OѪD:�-�.�qֈ�	v�k`�LH5R!�ZQ��|A��������oKу�^+Ϟ�����B�:�G�a��d+�u�t�J�Mf�"I�˙[0x�R�U ��U�)
�>#@5���V#�]������	j�BF_Uo4�p��~(
�ބNf\8 �O��|(� �Ɨ��Vg��%IO�����
�O��������
c���|�I���s�55#g�=���h���[M�~�Otv��K���#vC��Q"�
MD�0����cu�ST8i.�u	�2B�
���I�I�z���ILw$k\�S��X�K�u�E�;�����7rG�ц�q�ζ�W��
�;��q㩴m��m`,6,�&)��JrT�.��x!|
-q �j�%��
��w���=�=ay?���2��r��4�1cW���6!
�B_��o��hPL���DŽغ�c%�M�O^"a)��h}=+��,xow��]1O����ҏ*�~6u~��όn�E�5������Yk���Hc���2
-�W�T���,�ݏ2��a��4��o�s(rwQo���*y6�,�����
�WUR����k�ă
5�3@^�
epYא;A�Y
{�T@�ߕ	 �Ƭe
d
-��
-�����q%B���͓A�2�;NJ��U�ar��\�r�kBl�Ij�bFW���
-m�D�>�Ka�
��w�!H��6
mJ��
B�V�)�}I
-��3y��#)�]��}@��N��#
�YAkj����<Z3�kW����Z/���0�z
&��a������˳�U�b��x,�ـ����L�r��L�wO��
-�[
-<��ja����kIӸ�k_B�����XXd)��^A�|]��<�
Us�zix�Q��)��Y�����W�t]��S�`Rv9�
P��b���Ԑ�F�k��9��u
	�T��%�v��i}6��"���(�6 O;�f��p��
��!Fv[ۼ���L���8q�-��{��cP��l��	xOW�盼N(ݩj{�����b�����߉B��v��jW�[��p����%.�C�Yyz�B%d>�<m͉��$R�ky�.��d��z-L��/(���E�tj�C�XUU
&}�a��Cy�K��� ��u����J�b	!�I<���H��҅�紧��a���`\M�����ޙ*0C
zL�T�ZJ9����E�;)X��T�\�-T�l� ��Il��q�?K�����
fԸ��rT�Ȋv���a8�����hE���;����
-��]����%Sxw�0`�S�Z/:� z0���u
-&D�ؿ�D�%�����S�1��.G*i������d��4���A&�M�$��X��s�\HO�-�縐�'�,�
�w�$*�&�=]
-c�Lb�[��ǵ��~�gKc�#��].��%�Q�}�=6����E�b%Hd
K'6/��PvI��&�-
I�,0l�SZҩ�
��c�!�r:��3��޵��G,lM��,C7y��j�5�
-X�7��	�<�;��v(7Z�����/�	�
1�\����k>v�ִ\Q���9z=
O�
-m&S�zH>�
�C��9��`'�� eXh�z,	}�/�{Wj4�DNoG~���`V��Z
��X�ԹY5�p�I�$N�E�xh��Y�&�z#�f�t�fg�Br��/1��Wˈ���
�k_��Ey�������;-o�(|p��;�Y���6_M�]������GJ%`|
�ƽP�*gr�`��_,��@Ͳh�v�:s�q��kLY`E=� ��%쯴��SJ)��_��Vb"�����\n�c
���
)�9 ���K�����p�Z@�	Y��� ���V�mI���>�$g骛T7t!^y�\�p�V
5�jך[7�����0=���t�������Ǫ�
����"?
�_nJc7eh�g����c��W��W�x:b�D;!GJ���5�H�yt'*w̔��+˺ x^�`��s0l����"�W��*NpӍӷ�Ծ<
���?�%|�[%2gJo����B�Z)$y�Oל���JT�J�?�d>v2=k��54����rq�����˵~�|a�Bu*�C\!]�fՌ��:~\��6���N@^m�z�6�os�3����
�����f��*k�-"��;�2�Kn���{�gX�I�s��� s�����sA�-��&�^�-��\�:C_�%K
����q�T�T+��3O���W�[�����V�����\�Ξ�x��L���J� �pZ-V�[�wF��W��?��{c���3�n��3���A�<i�(���$k>>�a�;�}ê���[�+�zI�ra���m��|Si=E�^���`��v������S
�&VQ
-f��յ�~]�}����E?��Q�p�5?u�F/qt�
|��sK��N�p���3
�I�vy�r.X�YDq��n2X4��JQ�^l����.���j6ȅ�c£OqP~.��.�Ꝼ�)�>`J�랁?�A
����aF��==�����=c2~��y7��+�6t�)7�аu��3d�Ũw��[� -V�q!�-��w�W�3������e/�X�*WV'�B=�)J=�Q�#Z0p �~Jpim��Ӿ���GC�ʅ�ZaE�!��(�]$N	�l۵���ٴts�$�<��oaA`
-��0x0��t/
��A?8�
-e�̬�fZ�7�b�L���|%�K{�\=>�f8)M�
z�����z9�M)��vξ����0���ĮoQ
����;
��l*T�C �"�}��YT���
]a��yr�J����v��<���"ω9����¢Zx�=o~jc�ό
��
U}&�'�hjXG^�μO��`�+�٧R�jQ��fi���#��@]i<��n'�L�;+DZ�H��{
�	>p��Pp�6᣼U1^�M<��u
��D��e�r�)�h�����$
-^���F
-�Q~()L��m���EӼ=�r�O똽���7\�������:��A��.T���Di/
���ި�[DJ�>'�b}��
-�y�[�s��=�*Q���
-�NΗ
��Y#�>�-��y���t��$���s��
-�\
�)h6�gY��G����ٔ�,7G#9�����'���e�k��

-:���q
-�삾\�
z
��o��`
w��ג���^`c%ͱq�
��
�r{r�A�z*���j<X����%�Q[�r+0�ӈ1)�(�d;5��E��o�
ڤ�;N�B�/��
�8�
��1[�9P�i�m_$��G��k�D�.����_�'��G^6���9:F�5�F�W�ŧqPsy���u�ԻY��v\xp��.
��mr�|m�;��e
U͆*\�hS����V:wG�GS�4�!sW�E��z[Ƃ�n����a���B$�m�=�;����A;�K��~�P^kM����A�,E�f���#���.)\N�c�����I��k���
qQ+FٹO��ʚ+����ľ�"#�V��s�w��B�z��':B�)��y���nf����@Z���(e=:Aֽ����2J�)��T�a���Y���/�s|�>��H#�R�h��D�ڐ�o$(A�Һs�HB�x��ξAf���Nz3;*�����X7��u;�2$^�6�h���'��O+�sS��,!(�:)V�js/O��x [...]
-�w|7��D6����pNg�*��
%
^�R����/B9�,
�i���j��%��A�!�mD���_���>yq�>?J3�u�lV��Ts'S��#�Oش�m
=�.w� 矝�Y�ɭ?�΁��-�NP�KJ�IL����3�­�����q�9�@z~���kݧ�	N:���(� ʃX��A�"���T�.�>��2K3�c�9�V%C붂ec)k����J�
%i1����
���>�
-�
�	�� �R�vaXLr	�Ƭ�����M*Z%޳HT�[�'VrX� �Uc�k��7y-a�շ#�-y2����K��C7��G�T$��77�ޫ��M�$�o�!��9\Z��<
�R�a}��,���Y�*��.��}IA��^c��UڌӜK��@�@�#c��3H'{�����!�ڬ�hv{H��I4
K�p�����|KI�m*6y���
,��g
y������{����D�2N^�)k��BDV�
p��B����
-9�Z+m�	R�\��Ų�FS��e����C�z��֕p��ц�b�\cmE�g�a�#��A���Ĥ���Kayn�>�r�8��H�e*�@Ve��Y��=� ��],_�$���^�w�����4$�ݍ�w�n�fޫj�յ�Nu���h?
��Ķ��>)
-^�mQ��Oח���F2N��yxn�4w��&���ɫ�oL����m
ڄ3��v����Mc�D�r#���=��g[��k�R~C������F���p=ڒ�z��ۗ�8���^���hb�
�)ҁ���4^9b�AI(�Er
��/ϙ�0bM��ᬬ��p�h���Ԣ�m�Џ-uc�|�V`
e0�^�5%�p�݈,���`sb��_*-�rۖ@����ƪȁ�D�=kSR�Z]�u���U��@�wi���2��ⵝ��J��O֯�3!V��6Ouq8>D{�[1玘<ʎ�q���X34@�hGq���T�全0�+]ۑ�jϻ��U�T�Ɠ�,�A8
7|�y}��_�	��dv�(5<��z�I��N�<PJ;���{��V�H�pyW��O�+><'H��et+\��*Ҕ��!�܆�FK��W��
뵊��C �x�����?4������c�
��tj�
-������~��?���Y�B1�h<�������{��9j���ޭj��`e����-G~�!"��Z�ޕ��Ӟ;�5YD�=�J��d��H]Q��n�������-�f���ƚgٴ�
/|M��$��Lƺ5���;�>z�ȥ
�M�-0
��KO,w���d6
��CG��*�.���
6�p
ʮ���
e�0
/�v�V
����VK�2
��4F��8w TN��~b�`��;�����"2�uw��+ؑ˹��C���
��
f5No�nv�y�F@�;�E4� 8
-7�	n򼔅7���uʩH�e���3�ȶ�X5m=�������
x�
�>L�Q�qF�n�]iW��uaג�P�
���ʃ�6�)F�0
;~r�
��g�,�V.��`S��o�h��uR�&�&���Oh
���X��� 9�}�\���t�O
��,���
-8�&f$��"�Sr�z
���|�=%���b�^����
-�=���H~�#f�3�cYS�d@��|����].d�`�}��n����t�=V>�b'�_��-`GR]����i8n�J,�qmq�Rm�
-
-��'Cʙ+=����
�:����	��͖D��N+,ǒ��m��]<N�ߌ����
�n���������#�!������u��X�N��!F��#����ϥ~)����g�w��wR���ct�@�|����k�`�?�ѵ��5wɶ3Nh.i�r
�`"E�p�������D�Uc�W��%@�9���+jxXt��Is�4��HFb�t��\�)��)��X~���l���ԇ�J�gCY^e��b�⯭	^�5j�s#:a�(.lP�g�heR�R��,���gs$c:�a��In���@h6�j�F%��4���
-i���Df�U��-r�M�t��/���N�h���h����_-�̈=�B�h�r,�'<������T�RA�{���x.A
-�d���<„,�+qM4�&?)l��M���q���Yf��]�����4��
�����Z'd�*Z�
-����K1�J!�Zm�$���&Mxj
y�u~���ya��G��
�F	��i
���
4�0�������U!^�6-�����T���d#٦�RJ�a�������{^!C�����]Ӗ?���~�Ԁ��	
���W�*.nx�1�m�HL^z��x�%j
����U��>��%� r�TЯKWA=�#{�Bc>8��54H�Ҡ��h�4|��uo5���4h� Zp��
Y#��&���KB�m
	�陒�x5��7�tsuZӝ
H�D�R�t�	F��f8,�1`IF�SgDׄ����d_�'�'6r^Bp*+���{G5Z���g�`}�p��N�e���5bg�<���B���H��?G��+�zvS�q)������$@�	
��qq��`���<�����ph�ѕ��	� "C�
�ź�=I?��/0�C;<)tmfÅhE�nO~?LwT��5(5?m\mi�
��Vb�.2�����Viv
-Q�d��[v��G���w���f��l��ڒ��E�u�igH�|�U��N?V������-��
���Nggn�3����}7IK�+��{r���e��^l�Q2�#e��v�6���G�s�3=�������`��_y
-�lH�H�Bè�M���!*_3*�X�727
-�[��	ɛ��
~�
]�
HD
��,ܭZ�ħI2���H������?�
�t<��CJa�lЕU�oQ�]��B�����~)��\1�w�^3t*�ܭG���Qd7����[7B�=��'�'R�x�!Y���(v8i���n~��f�˓�_�%��J%�0�I��
ڹ/%�rh����L(�(�j�.
->�wC�x����Щ���47�5Y7qХ
�������3
\��TS��ߺ5MX��RZ�`�����5��/Ls�TQO`
j�'���
�@�~Vp�V��0�Ŕ9
-!r�\�

 �����T��Q�Wx��E0T�s��#v�4�0ShX�Uu&��A���ż�OK&����+�߱��v�:�8�E��_���+Ž�!�d%q�e��΄L����,�)]4l�ϖ_�Bg;~���
��=Ji<�Ut�d�ו���mm���M�`%
���:j���Ix���Q� �P�uf�Chq���<-d��o*
-�/��M-�#��.
-�
W��ࡳ�,�ST(��2���o�	~��V۝�_��A�o�3Ӏ?2��i��	?}�k	H�喊�j��4�붻p���8o3g^�a�����d
X���J����q


�N-��W��,�ݱD����R�Ek�)jm���r,ZC�q��}�Q��.4.b:�_s�G�P���n*V��)�Ks0~���~qU�N��A.&��E��)=��(k|��M3��T�W�#�Xo͍������n��V��2
�7�);K��|���J�u�풮<Daއ���Ƶw̝�&t�6��43v�$Bݱ��.˼G\ -K��^�/\I�DaE
�z�d��l��|+�
V������4o_uc�@T��Ɋ���t�%�b�T(�?�����8B��|��T�2��ff�=1��h>CEfiX
2�A-�c�:5�ꊅq)QAX5�M��>�j�I�^�
-�[�<�lWc�E��Y]��ܱ���Ep�|��p�B��&P�k�:t�g`�d��沝
���~�7�5
42��I>��X�(
�����d/^s^�LN:�/93l�N[�kTm���V�V_��
-"����t���E�������O��Lg�{����L�ĉ��d�f�,ctܻm�;-���.A}�n�
ttnFa��>�a#�!�B
Z�ᝑk؃�j����J�����Cȓ���e��p�t�\�ϰ`fB��Q�C�QQ�\�D�O�v}�>g;@�r� �%׾�g���������{���ݲ]sF��d�۩B��<Ioz�+������!�iz�y+&�s�D��sI. ���\O���C�ءw3ĕ��մ��V{��\
-��
-��]�,�
Y7�{�޲Ė$���P���Tᒀ��f�MjNYPN�����
��?��ƶֲ���;{y���S[7��dY��l�������\HY��|OX���K`�85�2��^@�N �'����’s��_M�\����N�W
u�h�k�m��w��~D�4�nD���R�_UH"Ҍb�w[�
s�`WȈ
��ze�t���*�\�wfD�0�),�ìؔ
��u
��
��1˃��5��o�h̢�f��+c���&�P&(�V��z�!�,�i?��,�(X�1
b#B�<P�n�j��Q����$�#�7Qi�t,��Kc!J�6K��{
��u��9�/�a��@S����	�An�������L
$��+���4��<z�!�����]Mv�aD�{���z��q������UEf��I�!?�ѫ9�R��2���0b26���(�)Oq'S�T�/���n:E�, ����_�
��1���h�rW.�S��x/���9�7]AI��
�ʊ�8=�;��B!;˾\_y5�Ar
-Mg �����c�
-��eg�
C�܉����q�����d W_��
�&�e=�a�(@��y�Zz.g�Ao[0���:�Zܢ���RY����{��G���M�u;��
-ܻ�5�Tm%	5�5���
���I��S��S6����6�ZqG���m�^������":�}θKb��������z�8�US�
x���a�{{��xe�9�N
�����O���ĝ��@��/%��7�S�)��=�yj�'��q�6T8Fs^k�*�J/I �~�[Q\�,X�Ҩ�:�\�MD�t]���.$�U0�'=N�΃	��ɒN�����+�Ù#�q΢{W��q�1<��ʁ]vPY5N���JG��d(�t�~|���;����~*��`���e�b_�Rʀ�Y�B����>9�y�n�wTf
���G2}�xyh|7� ���H4�&��N�O���,����o�՞�
��~��QQFjz���R���1�o�Vb#���J���;�I��}㟾��+�a�py��Z™/'��Q<Η��v4"��7�;
p`��p��$�~�,�V"���������+R�?|o�v?u���n�R��ܛ�bRm�
A
�I�Iy�wI�C�b�jf0A��b�x���h�����D�Ju�x�Ӊm�q���Q7��l$����3�����j���!\���K�wދo֡Z��5�y�v�����7m���KA��
Pm
����1�1Vn~�4�ꑄyH�i
��x�s�x�r4nJ����{�e�h�Q�	����~�բ�x"��*r���<��b7��wR*�~��O��r9�jW�
-�
-����y���
��mbAaxR�۝c���J%	=q�<���>Q��a$�x��1:��R�%�~ڍ�����\wjIa��t���x	�Q�`G&d>���2���&�����D�Hz��
-Qm~��1�,%����[dYf2��~�[	�C�84��IQ*~�$f#QxC�^�z�aAE�
-\�:��
[�^�y�^���q�I�u^�����`kD��>O�r�.�h�V௑���h%���>�
zb�iW����Ϭ��ߌ�&��e�x�
-�r�!�
��O|
����/�R�WE�kG	�]�ɛ��Lىh��n|��u����'~q)ށ"�ľ���
-%�6�hQ�
��y��b$�~��U��٬%������u;J;m+��$f
'5r
-w�>��M�
�]�;�$(���g��~�|]�k�~�J�ruC�
�0�Ty5�r�v���ÄD��U3[1|����$/aWp�n�]��p���D}^!�~Kkk���_G3c�e�w8�i�}�'��-
V���xҤ�n>��
�g�����
�#\�x��Ĩ�N��C��Bha����R��\���ciR�͟fU���vs���� �l� �|P��8�ѹ��L�
��ܬ5�=Y��h��J*Om.'1�A�k,=݈��uc%96�>�n��@ �I�Uo��j#W�����2⸠����̀�?�8�&�8]���o��E�+!��3;�5��.����>�l��
S��W���F|Xk66���*��u}2�t|��rœ�`I)�D�&MW��ބ?8�7�>��T�U�~���
���'���If��t��oв*��}M�[
�F�JM}H:`75B��%}��
-��(�+�S��������lbW?�c at s
�����}���0��
�Jt8����V�X1�u3�
-<O?ikg�5U���B�>��QX���P�2K��x�h�'tQz&��p"�\uX����
�e�IRz��
-���
VH\'9QO琬���jB�GDҥ�n��cU����r�g��Np_���|��������ƫ�Wu
��7`*H����H�`�ܮ
Y|�<�����cf�0�)B����E}�
Ӷ��3�d�9��}��������`bOc��
l��bV��&�g���(�f::Dl�n[)��D�	��y6r�
-

�6bS��;�m�Vȸ	

��G���U�}֘	`�@D�3$��m�SSYD
�z����M*݂���_c	t,���{���Ǣ5�+��/4��W��g�N8I����B�w�ƫ.�'-~a���+ �����Ҁ��1
���
�n+���]�gޞKϰ@ؾ�� �=��J����R���}�hi�Ϟ���y9}d�!,��BEDtB��="[^���M���
-i�Y�)�D���CD����Zh��CuA�N\�둾�"�c����y@�A��"���m:9܄�k��;��C�G����)Y
�,�țX�EhmG���m��KG�J2P
�,/)����]o/�ӧF��O�<[!-�
q�z2��0(cb��
G���X4w�<�h~#������(��aO��..�����a��\pyKS�����ë���N��8�A7��Y�y�����ͽW]
��aR�Cd�$����n�D��ե�Y�n��r��(����t
�@(��4���15�Wڐ���빲���<�f���	#����
-�zv�|���%�B8�Y��vd�w��ƂH�Yn[�@
b���x~����ǰ�"�\p4��
���l�M�]�":��'�A�#Qg�V�������[�ٓU­�|�P5Rhc�Q!y�CY��XF�͝�Û���5���?��L��$�j�&_�t;����!�bг_�U�kd��{G
�7�aJR��NCK���ךO�d���1D�j�&�3d���?�&��k��"����&����]u���5�[�J7�\��4�{ߐ�u�4�ݜ2���)�eĭ�j>J'I�v�\c� Qz��1m.G�*��<�1\&�N6�K���oh��䏐�$b5�۬z-ڹ�>�`�\ [...]
-܂=~�����! �Un��h6h��J�'w�	�In{�9��2��x�bTL��P���|z�,Oy����Q�/U�M!�
i��cVצ���A����p��W��O�q�Y1#�q�+I�s:��j΅vۗÃI3�z��fD�Z��Y�|�8s�0߽��Ѯ������p\��ۇ�K
�?29���x����;�ё=E��\W��ȂI��>�w&#G��VOuw(�&���o7*����1��V}u�@�&ty=ѳ�dH�|M_,ʷ"�
c��Z��<B�w�ΏI[��2
a]�M�z$p吅���M4j�S7�u�u��_�fi�֎.�
'�"�
�:�O�1�bJ٦��
��i�2&�jG
?�cD�a(��f%�K�I�����3�Ek45�
YT�#��y� �}��?s>y���}k
� ��ӏ9�mE�<��{�;8Z�6�)=���V0���,O�%����� 8i{X΁�[�o�q�f�_Dzƿ�������Ěz��d��j
QI6���fO
2r�n�d�_R���
cj
�w:
s����(ԩ�z
�$�	ĉ��L�\a�g'k?슀Ot0���
-�U!��}{�O�$8F�8�x%�ѢJӕ����n��{��Z�]<uEP?]
�H��c)�Wq|"y�����*��0��0��_�=�����M�-��$�Fp�e�'�O����#�LX��{'.����g����P���~Lw����~�	21q����Z9ba��&�gn�E$|���4Z����!
[�6ġ��U��
�SP�Ly��� 3�s�
-endstream
-endobj
-3115 0 obj <<
-/Type /FontDescriptor
-/FontName /KKDVLJ+NimbusMonL-Regu
-/Flags 4
-/FontBBox [-12 -237 650 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/comma/d/e/equal/f/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3114 0 R
->> endobj
-3116 0 obj <<
-/Length1 1630
-/Length2 9643
-/Length3 0
-/Length 10477     
-/Filter /FlateDecode
->>
-stream
-xڭzUX�ݶuqw���8-��n��h�$��P�h�"-�w�"ť��K�Xq�O�o�ϳ�suξH�wͱ�2�Zo.�D���)m�*@�pN^.
������q� �\5�
A�'���I�h	A�r�p��h�Z�� ���˜L Y��d�`��1dcg��������?�'O�
`~zp:B�N at 0����
�o� [�# ��e���`U��(�@KG���S)� 5�5
�l!. ǿ k��4��4
`	�A�֠'7��5�� @�.N �� ��\,��
�! �����OOv[�_	A] O;���'2-
�vAဧ�Zr
-�	k	�z�ۧ�6k�?%��=�<�pK�=�bY6 ����)���W�0��_p \�v�.6�@���Ow�U'�Uo	�:z��
�k�� �À��\��|O1��O��@`L�?â
�� xy��۸B���]�j럙a{J��v�� m1�5 � ����\�9���G������5�o���z���Z���Q���i ��d O�
��s�8Z� ��5�����	���?8��FC�������ae��SS��vO�p��q��m�@
@-��-����g���6@G���_m}r���7L�-���G��! ������乵TՕ�t������ZO� ���c�����
���S����R (�
- ����?D����_kuK�
���������ϿV��F#�����
]�%��i�����vuqy�����T�?��=��Ɯ��X��'�&�+�2{���tu�"�C
j��r��!�~Iak�%��\��E
�<��[*/��;H
Y�?f?�e`��!Xfnd��6+�I�a�}<���l,�c��>��c��J���
���?�[�?1�%��ubu
I+~�3��܃��{W�,�}�=�(�[T�1L��d�>
�%�=-\~�X?�ܺ	���j��/E�������=6ꑮ�F��

̩�'gJ
�����f��
|����Q�c��U�s:B�um� H{��%�9
-�4���V�J66/��,C�_ �1Lz48�����!��Fi,�#�
-�\4�ħ��O2I��{��L���c�X�+��j�.�u���Z�:�s4��	�
��;D��6�)m7޷v�� ����� /��%�[6�L�/�h��E);e�)�l���Ճb'�|ϟ��!ݮw|������z�)�0�|���*�x��'rC�G���B�K���OU�z��Yۍ�����v�Q�2�J��'���t<���Թр�
��oa�%��-��Iv���6i��dz2
7�F��_�,�X���5��j�H��+��>m@��Z�8߹��8�|־�lx騶�+BE��t�3

��E�?��g��Sb�.��h NKi��T_�S��w�D�Lv�Qdݹ���h��
-
-k���jm���oN~���
U�]\\o,�I����p�̦1S%<�#�@���h����[3Q�N�ς�~��jѳJ)�>TM��$�
-_FiŐ�
�y�/	�|�(�t<A�C?�[��@���r^��N���2D4���>�Z���y�Yq+0-�ME�j2�o�r��2
[�Z����l3=*P����U@��̵��B�Z�R�L�;_��(���[�`�� �m
��<
z��v��
���֑�yr�ڡ�9�~K���������`zy��}�,.�<�w�Uv<(4
��E��r����0���O+Ɵq�
�
8��L�$=./jm2y��Ÿ��Iѐs�����D�c�3E���������rG8Br[�HR�s����Ϙu�& y1���r��n��Amx�����hKG;�ъ�#��
-��f�4z��i���Ǩ?��!\���v�"pݙ��K�]}��
-�]#f�
4�Ҹ@,p
�G���Lw�I��'��d"�$�ͬEeV��������ǫ+�2gf�gX5�&�J嗐��B��%"���ü{Z��ܐ�m�e�u�oŦm�t������5Lr���&c���2
{�����7�_�w��X�֕	
�I非�����&�8���0�,4ֺX�Di*��M,����4C
[�=u�|���4���Z����Ќi���؍���Qx8���k�� � @�5����X0
k��Vh��\)D�mE[8t�Hۖ}aaY���~�
���؂����p��P� e���l=%�q���bg����Z��#"�a�u�P4��M��S�׀jՎ���`;yK�v��Ef�H+�"F۾H��o7Ԡ��/y��^.�|�kpc�e�c��J?�1Q	N�Y|��>�ZLD��ͭ��p�����
^Q6��m3�3
I'�}��&�6*1r*�R�+���7,Q�s����
�
��y.A7n����io��Y�����48Jn��-������n�\��j�g�,#�ˡ	z4�~qFt���j�3���2�z
��
�������J���%:_�W7J�r����k%=�l��<>KY�jN��
-�ʲ�ꎴ�_�H�z}���Y஺��ڈ��W�SN2��
��N�E�Д3
-��}f!������
8�yȧl�,3�i�`<I���$XI6rђ��F�
N�ԥ�����wj��
���<��*�

d�3�icMi�Vf� �X.5A�(��6�S&��Y�r�<�	�q7�9
-��f"�V
>�'��
�[�K�J�>�Š�H���f]4I�6�I'P�޲8U��4����L�}���*-�6��݆�^̫
��",n��b��:�=���z����f#r!Z� A�
�6��F��#��o��rE7߾���3��m��e��!������n�ÙI�
y-]�̐�(��o��{��w�J�ʌU�߱�x��.(s��_�� .�{� FA�R��
�dC'S�hm�C�m���cF�t�Y��p� r����7��
Ӣ�ƃ��,�)�����fʎR�qW�~5̰�����x�.����,?�R��h �܁���~�

���2!�ٌ‡?mq��|�����Gm���ĉgd���&���4.[g��~�� ��
7��L�7
B���o�;�;���Ѷ�b'v�+m��v��
��p��
�`Ƕs
Ԝ�jF��췃�κq@��#����X�
l�U'�3l&�!	�6�G���+Z��'8��t��{22��Ĭ,XZ�|6���;	�· ���C�~D�������CRt����
-���|��
-�U��(QwƻW,U
-Qv-�иe����K�<���ϵI
FA��Ӵ�u4ӑ2/2"
j�WQ^�U��:|���|��q.G���I���2�/H���F`n3mY�zI�!��p!V�͒ 2W!0�M�A��]h�>����
���~��&y�E|d�t��p�A
 yKcR���P:��ʝ�էq�v@����MC���#={�6��jTCN����:P�'�nr�y��د���L��������[�n�T
-<�c�*D��Q5i��G����7�
w"����P�?^�w,i��|u;D]+p�9w�3�}3���S#	�lj�P#��ɯ��{�Eo<-(2l�,����o�ZW4}/|����� 
-�ŲF��w٪�Z=�� �.�Ϫ�#��(-�
�WL7�,�67�+�wiw�˩���&9
sE��ц�[�t��e��b"� E_&�&�?���y�k�N���Ī���9W�mzP����(�2	�|�;�#�N�LEu��̦u^���Z:M��Q��je9]@6����0r��8|��d�=���?�ҝ���5��`�ރ8�]���]���yCvE߼��z�j�n��X/���j]�V�
-FI��
f)�,�:��~��H/l��q؃ ə�/H'�f��
�CՔۛ��&�˖�O��F�A$��h���W�M�`��ll}�ˆ���\|��径��
�.���D�Ī9��=�7�["l�
��*#����|���OE��ﳭj�a�
�};�r���yv��s~�7�,�c�F�
/�%J���K�ȭ�$��

Y
�C��wy�\�c��{(L_)`����v�ED�Zg�Œ��9B^�/T�V|��2v��sc&}'��kȸ�%W:�^�����̛t
��8�| 0@�:��jY1�<�5]b�c@Õ��8˚
��H�4�3>72VX�Y�F�r{�(��\������7�}�gO%��Vؕ.��[�E"vm�inD��qz]���K}�M}�����=�H���۫l�|��[�P�4��9�<���e��0
��K�0s�yr]u�]����
єd�؋�S?���92���q�'��v�v�F�li-$q��ZM��K��}��վ���
�k�}G��/�+ [...]
-�MV��X�&�3�"�5�Zwqi]�/��~k���T�

��N}�jB�����^�6����^:��#t@�k
����EC[3TW���
-���Z�-e�ؚǑ[�
<4ɫy�"(s�e������q�l
Խ�4���P�p���$�E~��Vԅe��iE�
�+�ۤ+NL�̵�
-铣,"�?���֠��M��h�U<�3ʭ68��%"'U�~����,ry�Bs�e�a�5i���F�a#�#�
g����l�Ž�j�7c?cF��,�կ����M�unE�<��5w�ʼnӅ���>�C�!>�nq��߁}/H�k�����OS7r�=�ů�ё+�z^�4�#��^ЇMd$�ܽ��d�xv�n�DQ����l,�tEQ�7�ڍ�"֛6�����/�V�e��L����
ц�N����R�|)_f��
�Z�s񑺎S��	��†i��*ө6��#�Wc��h����F�}�U�����;�a��Q����T�d�E� ��bYU"Y�.ܞ���T���K������?�-‡c(\�z����ѩ�ȍ�

K?��%�
-��A���Y>9�ƪ�&+���Ԝc3C?�O��C��
�_>D	_?	ӛA<���wn{z��kpeF�l={y���`O�cm��s����yR
0c��lۗ�,zW��'�JD[�g��!(/���m�l�ڏ�q�{����q!��l|Er�f�%�
=�4�
+E�@�F Ka���d����2Q6�x���VߛX��v���Š�͆�{��o�s�v~��*9��1�~�51�B�M�l��ߟ|t�v
���k4v��
���:ه*�ȡp�#��+J���ȚD�)
z F#�o����xuJDCk��z��LVo�@�r�����å`�~&
	�-9��)�􎇙[_?3�a��������x�C��I���<��:e��GDfiu�C�5�wR����m9�Y�9:�%�N
�N�1�3e��-x�36 ]G1ȧ'���m
o1i�_X�l�<rQ��>�8}�}s��w�ڪ-�=���,� cw���������jqzg�G;H�{�V�4�D[3<���s�P�N�Fa<�`|)�#J�
kq
`���
��_�z�`z:�nR�8e��5�&!<��W��a(����Y�Ω*
m���}�y��=�6���*i,��K�a�.�
�x#��@����
'X���4Xc2��-m@�K
Z��B��M�D��z��.�(�q=�� ��j���t�@7LK=�Tĵ��ED1�-���>����g?�fEW�Y>s���.��X� 2`���
�G���to�Z���;
�
ө����xs�.�v~S.5�H��l�L�v�;�dy��pv���k��
@j
�h��dڂ���1��P�y!�1eN�{��դ0���p�٨�V
��.��6����Αx*K�"3���L0{�{�D�&���m��gs���V�����.�����Gx��E%��?)���
-�U*��m�o
�]x�d���@�
�/�i��ba7e�u4�d��D��4�
�~�
�5KDR�{�ec�:l�i��W
O����Xiy�.�vs�!��f�G6�����O[Y��)�:�ǣ�_
(�+I6�!�~��*��ޢh��IN4��)e�
6b��%�Pc���K����_�I�M�������%�<�z�5���	��}�wvvA��쒸�|�a�\�
-���r�+D�䥢t
���̛>&i�("d�m���ɢ�}��+y�
z[������B��ю��`�
+Gx��C����'�>�op�-���1��X�z�qw�`�3�k��^
�P[��#��E�
�}��߄���)3�Y�A�c������G
��4����=��=
-oH���B�z���X�#M�
>ԅ<w��{���Ԍ�\q ���B�
��n��iM���#}�����&������k+-��@ ,"`}5��HaJD
-�a(�
����1�{hZK�Z��(%q���\I
-gW����J��=�Bs�/.C���l���-Eo� ���h�<�_����%~w?� ��	
:	�{
-SrQ	���pÌ^Y˨Ky|
TܿI�k������4���]�m���u1�o��{φ0ߩ��Yr~h����,fg!��toM
-@�:�eI�__�
�Y�����I�,H&'n
-'l1�E������S?�
�.���76Y�5��g��O2u�Q|�z��6��45?�z؆N]e􁻞���

D
�Bh?j�[�n��U,K5���޾������f��Zk!y��pդ_��h$������!�n�TK��-�l�y|m�T���b�"+҂��;tID�OGik�	���#Fu|%ۤR׸�(
��V#Uo0��l�>�S��{ĸA`JZ��N�_'�I���Nc&��?

zTo:���am��$6ːW�W��� ;��T�=+?V%��zՇwy�S����VB3��o������R�
��I��/���]Bu��mGht�t�?
7�����%6�g9֬{5>f�P�g⦊.�?��� O�V6��G���C��8*���˞l~�B�r��K�,��`��
8����%Ϥ,W5�BQ<^ތ���I�?����OMnp����	<�I������Sv}���e�d�v�c�]�>� Δ�8Ǐ8��wK�)��m�z��<s:�AC_����m��@�H`����j3"��O�~Y�u~$�P�o�U`�!GۢC�M
�F�^��]�L�`�g�t�3��ƃ�G���ZT��,{
-
m$�h��h��߲�:Dk�SM��*6RI@�aZ��+�+,$Q���޷�D��֎�����'P���b'䏌���^��ODU0����k
- I�%�X >
-}�(V���d������"j�:q��@�u��I,�H�xv at esԾ�;c�R�.�_ze�������*�C��������۵8����#iU#,�/a�+�3��
�\ƨ^#�?Y�LL
-gk��N��Z����A&��
-r(<��%gə6|�/�o���w(ه��V�����7���4�mQ>X�1�^;���e�ou>��q�S�c��A�ٓw!e�>t�KY�^��Cy�(#DԢ����T��V���!�k��0�Zv"\��!U�No/��eP����%�6˾]|�el�ܨ�H��ʗ�r
�
�A�o�!�>��-�z�Y�����ܠ�X�h����v�O;����rB���7E2Xw:���P�Y��ⷡ�z�J�oq���%.��|��`O��;�P�p��3�P��Yeg{%��

-�1�uT�c���"G�?���O��5Ҙx)��a	r�s�	��cۍe��K�1��C)Kv���z@</"�6V�*
C=
-c
�*Tw�� X(�=f\X4is6	�<G�n�_� �
�Ra�1~7��0�E��a6�w��9����
- C�g�c^��>s�P����lꊀf�̻یr����R��K�ޣ�d��4o�7p�H�Z!"��|:��p�:Jd�e�F�%-����Ax��H-c�%q8
�P��ԯmxaMOˡ@+M�{Dk�۽��~��E���x���z�
��Z�T)Zg�Q,X	�G��H���*5Y-�eL�Rw�ߵ�{����p��i.�} �H%����H�ְT
�&}��ME���2�W�&R��&�
J*��9�y���:�7c[n��
M�!����֭�c:
���I��UD��{�"S=::B�Α(���A
@>�v
�����\��7#(�<r�on��;��!�q�b�r�wn�q� �=5;���k�x�!������C��(E�>��u 4f��z�8,��XWu���k^�C�k�UF���/M^�'���I�
���l'��ȼb��'��#9�
�+�yO���t�|����ٺ�֣����r3�P��C�8��(M�(
ٓ�U	��"г�&�(X�f6�B6�D�!$� [...]
-Ƹ5;�3M���:�fz"�:) [P�T���Lbp��W�������Ό��c?hm?+jɓ���v��e� ���Q��k	
�Z\��Oq�D2��5h%���w"[��|$��W��@��Z�?(3��Z�����Z������O$
t�v�|��yZ��[볝,r�
]�e�|�}�0(g
-�A��
��,���.c����|��e�R���0���87,"���k�J�w�I��]����@A�z�]����b24B<��%��9{h���݌��[wt����q�dN�z���8���f��@
B���Q[�h{|*~6x�9�\CeJ�{�
=>�-s�aؽ/����������
�_]�ZohX6\۹8�z��7 U�;��yH�i�!�V$+��m�
b��D���o
@
��4�����֤�T�-�W�愥�gP
'}�|&O�9�jȇ�Y]�ߜ����Ƃ�'i֙�Ӻ���$��e�l礔��H�S��Ī�K��S<l(��=߰Tr�
'\YJ��q�E?ʖ[�G�E�_F{��K��&"�2i
)��!�`�9���>Uw�x�Hu߄��]��H��z"���"ݑ���R��Z,W�Z�A��x��F�F�L��À\��\—T��.igs
lIaO>��1XA^�
��ت&�D�¼�v�b^�|J
b�3
��ߊ��\c��Nǎ���3�Ja'Zz���2_����_�w�.;�����>��i��
�Q������s�>G��tw���
"�^}>fߢ�
LL��B���+�T:�x�Cu9}6�V;$y
°���@.�6v��pd;�5��0
����T�
q$�B"j�4Hc¹���$_3�
���*e���.�
�-�z�k�m��gq�Z��I�HU�y<�A��tu
;�G�+W�{�z�q�@�f��3B$�i>�m1��̱�#��P�$3HZ"(�@ߓ}�*S�wrU��N(�/�[8y�1 ��%E-
V��G�N��x�^��3�|e���9�أj�c�ܒ����>�?�M�x�k�04i�,�M��ޮd�w���OK���
���wt����9�ʁ{ ���ؔH>�
 �1v�]ҏ{�Q�6�v�l
-�����ji�����3?�}���
ԇ�Fzc+'�t�
o��`��;ـ�A�T*Yߍ������-��5S�Jr}���u�?VMDT�.f1�������&E�
.}`��m����ͫ��A���[�hgkJ�x�f�����ߑ�RW��a7\�M{5��MG
��y�7e���<��)��XdO�G��n
�h��7bV/�%_١s)�%�zY�
DM�rDt4y� �R_�"^�뱠��sL�c64wxʋ�
0di:�7�'��"�i��ޞHe�N��Uq���f�EEk��ڎ����}Hz�NW��bKc��[�M�W\Qc���,|�p��j"�1xF��j�v�O�GPS��YL�^~�uiY�I�$S��^!�2ʹ�e�ŧ4a�2z*IOfz�#�w�Hp��we���������zc��ةQB#�oS���Ee�����u�й��Q�����
]��K��
:�$*
0v\9����R��5g��v�Y���
-7�l[���;��YZ
��ҡ�l2�]D�BDǭUV!��d�/r��\q��&�LO����MT���m�~�A�{�-��8�XnQJ���2d8��>�T�2�p�lFF�ݝ���H��>�8���w��б ��"��܄�6:��\�C$`��W���(�
�+}
P��dy�F��uO�U#���i�d���
�f�4����6\<.�<>�if�Q[�h���W�ኚ$]�ځg\l
��Y|�i�zG>�ĕ(��$����4���CQ�_d����V
-�]$�C�\�
�*U_JT��x��ַ=`�A�s�% �Nm<�CsH
�z��V�ǃ�h�Jq�.���\����
�B���^��S�ő���31>9U�w�4�h��Pߣ����)i�0k�Ƹ�S_q�Kќr4t9�:���4JQ	�!�R�����
��nN�g��Ǯ�x3��~T��
8��
-endstream
-endobj
-3117 0 obj <<
-/Type /FontDescriptor
-/FontName /PKMHPR+NimbusMonL-ReguObli
-/Flags 4
-/FontBBox [-61 -237 774 811]
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/CharSet (/B/C/D/G/P/S/a/b/c/d/e/f/g/h/hyphen/i/j/l/m/n/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/t/u/underscore/v/w/x/y)
-/FontFile 3116 0 R
->> endobj
-3118 0 obj <<
-/Length1 1626
-/Length2 16956
-/Length3 0
-/Length 17811     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct%��&�vv��m۶*�xǶ�Šm;۶mۨ$��s���qn�?}�{��&����̵���$J���&vF@	;[gzf&
�����������
�
�<�����GN.�4t���3t� 4�& 1�1������
G���p�03wP��hR�������������t�0�P���
-�����:����NT��@���5 ���-� 	��TPHm���� %#k
c���1��	H
0�sX�� 0��5���5'��X�N C��=���o��h���`t��pr��
`�0s4�u�;g;�������?��M��E����o��_�_0%;'g'cG
{g�ߪJb���ln��Om'��n����H;c�Z���/�_���������O-# ��������o�`������dak�_
� �@3CGk���_����L���o���[{�+��_Q������ڔ���oMc翵�,l���i[S; 3ӿ�&.����
-t�׀����$
M�l�= &@S8F;�%T�w*3����� ����-����?5��.�������.��
-�6��o
��#ch
��� � �<4.6��C
k�����������������
��D���,L
L�6Z8IX�M�,��������/���	�����W��@����>5s
c+�`��
hk���J�/��ꊒj�����_�J��Y���/��ъ����:�#"b��g��г�1��{	qs0��J�
�����Ύ� ��}31�������ӏ���5�3�gmT�
mM�n��2��6vqt�+�.�߮���_;���V��y�-S3Ҝk�s�&�t�z���B�K�
-�����R�w�+
�Ԅ04N�|�z,��
��
��`YSv'��|Ȩ{�Q7)�9i�J��5����!�s0i
�N(����"�jgu��~��'s�����d��k�R�ف��V[pvN�x��D90:<4�}
�{�O�

K�k��tF���������͕�
D}����̪(C���tyӪM�
�~�*-��Ś�{�$���"6O�b�.5'su���� 
q�$e�o�q=�?;C��
=��p2�3�BʰVֶPE���G���C�ʺ�ōz�'M���+�0J?�v>��r_Bh�{��� A�i�����ol_v����
K����^��1N�E�z�O�
Պ��1��
)z"-����C_=s�f	��=e����v����`VI��ŏ��
��0�
-J�P4+G{I�)�,
-�`	�dz�',�CT���6[g�p��%�9�6C�p�������ݵ�(NIͽLI=%Z`�Ŕ��q~�gS�XBK�=^W
�p���$T�t�/q���jTt�!̌�8�b��j���"h�4�wA�
��ΌP�d К�NJ��S�bջ��یK�����!��<P�g9�$a"�����BCZ�@w�A=���7h��+�9.����϶{B`u���}�	��������ޙq5ۦ�����;�b������Q�4!����#��)�c6��
�ʿo7�X�U���(��ٌ����I�
��P�hݸ5s��g0�ܑ�W�C
�
�/KY�,��ij
���	�t���1�:eۗ�u�<�r{�>����������nfjK���~�Ճ/%~|���t�am�����O���Ha�J1w��*9��/�^�q��:E{
+5Z%P:���^�.9�-�Cff�D�I�k��r
	�B�v��c���W��4
g0�Y�������C�r�Uix�N8 at u�\Y� ��㋘U&b�V]+?Ӯ4 C��W�q
��w

�)t�c�_��2��;+���C.?u#�����m�~^�m�w�Y��m�H��|yԛ*(a�+͘�
El���&9��x.�’�<���
�q��C�y١�Z�QSP�xۘ�e}��'S��Dh�.��
��4yM��4�>�;�OQy3v]�D��� ���Yc�Ʌ�<;�Mx�ht>�q���8�����I�RfN%�/<<%��>��S�ͱ��A�
ڎ�36���X�Yuju�`9�)�9�� =��T���<y,p�w�t��� F�ͯ�p��
�5o�!n��
Ӊ�\rC�5�}T}�cf��2d�E�
D4PEe�)�����z�2C��.�X���v<[�i�����z�F]J�__���N�1L��6��SKR.�,�8�Cm��(��
v>u�����
b�"ؐ��e̷���YZ)I����j�#�d�

��eZS�C;��>�Y;>���V���~vOt��-�6����V�?K���!���:����
��
ܧ��RM����Ռ�Nq:��Q������uRQ��*c�3�F\P���eVŨ������g'��_DT��ԫQ���� ��v�����C��tӓ�~��#);�V�M����'(k�Q�}�dJJ���/l�u+��'����*:E�x��c�ˈ�
��ک�� B��]�e�}�~8 I	|�D�xT��s�$��kp*<d3��Q��\� �;
�i|�Ĕ�(�:���i��#����g�.�����B�
�w)Z�u)���
���-��	�3d_�Q|�
P�'���s��4����b��X�ey6���
-����X��=?|G���`�aݔ��rE�Z�
J�J^�|<C0C�: ܡKᬭ����ϵu�o��R�աA(�I�_8�f�}���>ś�K�v�:̥�JXɠ5r�h1 
dt���@�ou�I�S�rYm��K���
#s���;!!�&z~��A�1���ʟ�ꂇz�����qvĻ�ђ��X�y�RhI�v
�4O�r~��0�{J���2Ƃ�ةz��..F�}l��V筞�|8_Sӯ�T�[��>���J>dm�!�#jj�94<"o�_&�2��{k	��2��NgSR�mF�#��
-I��Ї�<N
���I�E3��g�����ڷ�!��ݦ,P"2�m�0����&8x���mj}�Ue���3�M�̆��z)<&�p�3j�͸�͓H���J�,}k������e)� �{�������&E�W�g��^�J�G	��r�
-G�������Y�����c06T]�ߓ�	Pi�^�x̰vl(��b�Ҙ,%�
G ���m�$��
��I#m��~�
�&+F	aΊ9�I
��z ���8�Pv�2fH5��^F!v���ಖ�{��h���,����+�SSt��'�rx���
���Jz��!�0�^�\�įb|�w�^���Oe��%���P$�rD��=^0�.RQ�q������)'�U��T��o�)����%}
2E4O>/G���]����s?	��o�ury��g�
]e
�-�d��� �C�^���՜۬A��;`�u����8���(N��}�Ull���.	y�Y�p���p�׌��
-�L�@���f[� �T$�,�DZ5<�\)�;圢�?�0m������K�q�{�ܑ���lDCQ\аH5bG�\�N�����������} ,��]�'�=U���@���b�Y��u�A�m�1�݆�'/�9�q���u���G���1q��o��
�Œ�(8���D \�7�/eT��܌A�Xo
8mFk���]�����zuu��GE�_�yOv;WSDZ����\(�q�Fٷڔ�Ge�d��9� ���Y�$y%�%85a�Q2�y�y����`��Ն�H�zR��Ȉ�r�V�"��*.�r�g�.t���oD�9_��uש�
�ˍl	���)����2�
�b�5a�q�]Ԛ�a��s�D/h�sB�Z4�G?�\���G�!['�΢Xm�=f?�/�\��/BI��vG�
�5�&�T���q��
q�z�aN�;ܻ��B�k;��T���'#���5���V��Za���Ĭ���k8
-@��%��_r�������!l�V-�ޢ�+$,vŐEr�"gաQ�,�!��D߂�YH,O���EN��y��L2hqQ��w������9r�?�.�.*�u��N
$|�{�+�
c)%5�w3�p��D+{��؈���V������A/|��48�x�?�; �M��n�f�o-!#ת��p��)鏇��m(����.��Ӫ?}�;_��y{�_�ƒH�'�KyDL�9����3�s��>Z���=u��+��:�M>��A`
-_
�ӣ��' �E<ᢏ ?s�����I|o
d�*Vw�(?�WK���'��}��_E]�R"�SW�*U9U��>䅻r�������'�ڎ宠��$�1�;X�-Tr���}�L��0
}���4�
E�<E�pAb�$���%�:?4�5������x���\��ȣq��C�a�
aA�D��5۬~	�0��L,+h�1H������S�М��
h~��Jb7�ǚ�I{�E^2�������~��~a��$\�}��~;\K��ca[1Ύ'8�6�t{���,��WO@�
�?RҲ��D�J��@+]�b԰��p���`B��W)�ܦ��
-��r}��
��������.�o�rP��0fE���"���씕�����n���)�w��-�>]1KA� ����s8��n�%M�H�7��؊G�E���������k�m�e�
�I�f�g�N$�x���3U.�*窜λU��G4Re��Xw�-������3I�u�9��I�D�g{ MV���#mN!V{tMZ��76�x��<-q��h�,R�9�=T�z�*J�%^�!�Z(`����<���w�^�)�#��(�p�>6H��M�t��{N��˩��
�b�c6㺁z:�k!���j�m�� '��
��Gj�n�"�܃����g�aO�?�8���
�Ì������n��:@�]�X�.�����6�F��Tۇok���$&VA7w�ط�
xA�����]ވ�
-����,�i>46���>�e��p�M���s
�Y
��J�lm��S�_�0mݓ
(��
-�����0,����@Pvs"��[:�{Z��~��ZRrL~ST�(~�[�
�t���
-܄
Z(BT¶q�R
gߣ��
g��j������N+;
;Y��;�t5����zspv
-�zQ���f�	
�&B�m��Օ�
�[�6�c����(8�7��*
]���Ҹ��e�R��v-��l�g�
g���n��Q
w���`{"�HR��g���ꌌO�1jv���������2훆	�F0k"��P�=�`�{�(Kl�>+����,3�
�
2Fu�^ML�p�.��*���(�'e�3�h���SS�T:T�+	�L;�4���
-7���i*yޞ�N�ԑ�po
|i��'
��0⫰rƟ?s���iW��[!P�+�Q�'����`��X�=)���upH��1<^
X�
�y����6��KhΈD&7�g�
����EA@���!xL>o���W�/��$6ሗ|~ś�^K��Oְ�.��+��- G�-��ѥ�=jH��e�?9۲�=
���
1{_a6I9��>�հY&�
zm��+��S!ƣ(g$���a+���я`�
����9pne���uG����4C�����S��[t������$w�uO-9�8{,��&�wtDCG�#;U� *z�������C��,�,H
-�� ��z
-��fޟQ��k_��>	Ф6��
������*��r�~2�t��2gJ
6��=@X�;L at Gb�
����F�+��	�V��]��
�|6���
�/� �G���1k�o
�VI30��¤;M
�����4��j��b�xw{TY���l
��!���X6iJ닒��YE��'zzxT=�U�c�+꽻��$��P�A؛�7�{��{A��/���uG
5�,e��]��_��&����w%~���F���J��hl�I>��ȥ�>��!:�*W���Lx
�Ov/��AOc�K�L�]g��`�
�;g��_�c\�F5Y��im�1���8j���U�X�J� %���S{G�a�}���Hz���a�G��٨0�r=�(::u�Y�BfW��]���T/Z%�V���X�W�N���h�S
���+m��vn���3mg͓`1��0�X��aJJ��b�e*�I4���ls
K�̿��ǽ���|w���j���i,{%�F�s~�?D�vu6�� 8�Y�ң~�N����,񸸣���N
��(=����,Ղ�:�VMQ�	��5F��%���=}�!i��l�6 at oD`�O��*���W(� �
��
q�����,u�������]sx-%罽m�&�YI��g8\p������+�[o��f$�Ҋo>�{�e�9��+�����R�����J��=�����(�V����x��Ï3|K�U&���'��E�� [...]
5J��s�O7|û!d�$ߍX鄀���x�S�)���ː�W[�"Ko~�+(]Y!�Hӄ�h ��S�p����iD�^��q}��1V��;�&q�e᪢����H�3|`�y�M"~�� ���<R}��
'=l,ͅy��<��gI
-���<kZ�:1P����b`A�qW��U�u�9�S>ӆe�}L��SY���TB=6�T+w>�Ԕ�
<)\��
�a�ʹ�t�C�esK��Q:�2�/ʩ��s�z�l�r""��e9�Ȭ��D���*c���X���U6�8�=U
�X>���7�K,��FR���{$��% A����e��E����Ԉ��Y�T��W*/���݄oY�f�oBw�s���bs�p"�
-���%>��o�U��^��7���$�H'�-+>�k��j��g�����N?�m"�j��
�����EFшD�Æ
�8�i؀����n-;��G��Ç�m���6�h�P�fw��DA/���Π~�0��U�]��~���M��҂ 44��5ߍD��n���x��-��;D�0Q���G'y�Hgc������zէ�)��H�@7h�634RĖ �鲗���Wkb�WWӯ\��J�>�pЋ���~��\�IƂdjƩ,iwځ��[-�ԋ��*��F���p%~lX�<���ŵ�9wt@���v��G����R�ol�M�8��W�V���;ݮ��WD$���}v�m�͍�+���Ut�2���\�����+���Զ{matt�8 ݵ
��[Q�=6��-i�5��}-ط�
�=��iVv�u���,u�e
v�Qa����`=��,P� Է���V��}j�-:p����_
��s�e%�8
-x5\���f.:��3:7�Ck��b� ��� @O\��4�\"$���U��)q��ۈ߱����
-��=\�ü�f�v�aWv
�n�`�%�'
��T�G���K�g�.���P.�2����Ą�,
��hjK��R~G�~�{4ʐ�5��`(���]�
��2�]g�5���"[�9f
�e�\��3'#(:zE���g[#
m���'1�	篎���.2��� ǽ�������=�Yܰ�b����a��>��y�V�еH�g���t|֧
V�����_�3/n]—d�o���W����W
c,�2��{�����8Ơ�۶X93;/Т��ĭ�CvaE/N��M8����
E�l��yO�g���\]�B��ޜ�˴h
yŵ|���&gvqB��H�:� p�ׯF�Q�
�
'����B�.I�&�o^���f��V�RZ͏R�G�r����J]Բ��8���
�`,�C�p���_p<E��Yk�
G
�!u>g	������E4�:w'��G�n)�2�v7C=J�74�
'F�	tެ���\ϕ�
w|����`vB�*��<��W4|�݇@�G�:��9c
g1����5&i
!�+|�l�H�	�<!�]��h}ҹ�;<0&<-�W�CKa��ʨ��[���I���*yJS��i���Z#;^��
�
� ~?��d`�ց�O\e��
�ʴ_���4:^k���eEi�ȑ�SI�Hjw�θa��y  *��hO��đ�o
rdh�4du�dp��
-}p�}�~��jjv�e��
Q�d%�c��)��J�
������u�߻ N�٠�H�p0H|ی����Xu�:ڎc~��P�4��(1�LWæ�.v��/�vTm��ɄK.�/��*;�jn��
���g��O2�t��A�G�v�
W���G�X�et%�D~��O����pU���F�X#���eB�-]�+�|/=�y��V��0��B.8��INo�T��%�
m.}1�"s�9�K}��|�،F��R�TR�"�3fd�J�
�D⌉��8_�Fgwzp̦H��{)��+)%#���6!����;hln��Z�φ��ܦ�e���K���!�#V�U�"�5��<� �M�f�k��v�)�>�Wvi���Fܵ ��E�~��$�M��ؚv� K'
Q/�t2ա�I<B,��)k��	
]�b�
58
-�F`��,�G�4c�cR-G�
��ND��@ʡ3��̒��=�	Nӑ�l
-4bUݹ�O���oX�{4��[��	�W[!�gľNx�Y��ݮ:c����2NM�E������%�����R�9�jN$�'AR�g_�b��0�U�F��'�U0��^�p�af
XW��4�d��R�厲s��
uǑY:~�c3zY5*�%�
e��[���:���ز9I�� /-���|lZ�~r1���!6ÿ�������r���-y5����d�&ם��uqx���4DwG�3
m)lB���,�X
�����	D|uH���L��>���3�/ME�-i�-r'#��2W3��gǃ���3��m!
B��צ7HČS٬��oT?.v��+�(�H晠�>y:=���m`>L/��͂z�t�&$�)�Lp�Nx� z������-Q`��f�2����P� ���湩,�Q�
�9?�%�|�~=��
�����&��dM-�@־�.���2Q�KS F���o
���+������{}�V����
��.cv
p�>��ʆ�W��)�}��S7�͜�YRd�^/��ensQܝ��2�}���e�X$ȶZ�>5+B�ˎwK$�����梿���
-|2
Ն��
�R�=��}�"����P��ؓ��n��s��#\z����)s
-�
-x�mPdzM�ow��
��î!����man�*�"�D%�v
ou�O6�%t{R�R+l�Cu	n�
@X+FmJ� 塥��p$��❛e��Es�����8����O�GTyUP��Q�త�ꦈ��GrS~0��?p���]�6"�thj����O�&u��
>���_��#�"q������яv[(0���T\��a�
&k�%�{��f��
s

p�c��p��`AE� ��|��ۂ@����E�!b	
[b�^SDН��Ȧ�H��򆅗[�P�EV��U���Y�B�ti�va�U��'��Sc[�d��ʬ
-?QOY�⥸?����y�B��0�xZ�j9t�,ʙ�9��ͮ}yg1�
-}~�!ړbG�.H#*�@*T���V{7z���@�6.?�5�#IUN�#7�
5��{D��<D0\�u:������U�E��
�&m�D�=����[�a�
��io��5
���A�<|�boHAoq�i�
�8f�F$�4�!�Q;4���{�ŵ:�$��/��
�yC��7���*r�d
i{־ǧ_�ɡ�8��Tvy��[x
L�x�"w
C���K�k?AH�d�;{��W?
��d�Vu+��X��>Vt
��I �+�
�V����P�׀t-~��8�:+ZB��K�M-]o��}l�G��D�V�{m���8�}hվ��!��D:�hI��澭'�����=�Hɵ� 
��̧�Oll,�<�ۏS'o�I�;�eA��Uvmo���J#lK��OSC�ճȡ(6NGy�V�@6�_ޠ�������L���
!��۲��E~ʺ"ΩH~f߽|�/Չ��r�i�f���4�����L�/�"b!O՝k�%9��Z�ɧJ�����8a���(P u~����Chգ)eG�"b{��� ���
���f���S"V�v�;F
œ��������L��R�����N�h�A�!N�aۚWp�l�w%��i��{^OڼϘPE��ۚ>��:7�
���
/q8�\��h��.���b
�|i��p}�!IX [...]
O9�~�Y���~�sF��c��X�15���%�q���<$ k���ca}>O�e
=� #:���1׿�����ը�ȏx��9)�
�{A��Y���ޫ���d�I�mƍ�W���Օ ��϶q��
v�]�_�i>=w]��f�Rwƀ{�9.C��
-�-�h;��K���'U[�����,!q|9Qb��H�TtO���"���,%E�ľ$~r�^�(��8}��=�@�qo"��ż�V�W�`�����1y�
�h�J�w�:<�%	 �q��U���'�am��
Nv)����\�6.�h8
kZߧ\�-��
a���K*}T��nݣ
-�"R�T��c����h�9䖶����U1{�:�`������x���d��T��x �,��n
-���Q�
��`���x�V�4� ?&���.;u��_�
��-z6�.2��
���La��ɏrs��8ޔ���
�����
��h@;˥Ǖy�
=6A�	
�Mn�V���+JE�8^�
\�aYzE��\�;OR#��ʨb
^Uy��#X��E<�]"F�=rA
-p`�@2�!	���
ChO���7d^�	*ŅBF��u�V�3a�բ��ς
z�+�
-?�/��
�trh������Zh�?�R�6B����
�]��=��e��F��ڙ�K=�N�^��q��K�lË����ĕ%����޼5
g8zJD�Q�'`.;먞��ٲ���3�Jr�ϛ�DŽ+�&�L��2�na���$bK�]G
f)�ٴ"�5_��-q��DD. 8Y����p�t�#,�I��v S
-a�$τs��ɽ&]�I����s��8d�K��N�5�4$a�� ���D;��v��v����NS�7?��
������h��l��2�Z����V��
޼�7�
-:�0���h��J59��T�c�Y
P��m��
|�d���mp\3�h��Է����3��t%� �w{
���L��sZ���!f,矸�p�����
.;(v��:M�r�����" ��p�fQ%�`oC�0]���T��aD�n��*��d��+��#�_��9��
�P&1'ѕVb?O*^�
-B�A��0f|
@
Q���xX�ôz�3��P���ʻ
�suO�N��go-l8
~aZ��Ys�r�C'�r�rMb��
���,}�Ze���Z�ЀzH�H�G��&�����Ɗ&�i��\���@qw���
�! ?!�WP:�h������	�"~<¡Ԕz�V
=�A~��k��R�x��[�o��q:0���AQK���44���w�|�5'o;��� a�Df�{���b\Q�s��Uq��o{���8���=�o�[K}�Uu"G�ݧ��}�p�±	рc��:B��:��A#η�
g]�U�J���ĩ�$��TqO�-��E�d�K!��q��lm-��b� �8?"�yY�=]��y
���
��l��ԑ�M�͐N4����o�
|+�|��W���{�L���HŲS�B����a��-�I@ë���/�����C&�E��ק��A�I燤K=o� ��vG�D��W~
�vޕ��hń5�2�|�{�m#�"�,wu*�:��6�{fSE���!ğ�R�۟�Ԗ��F [...]
-ǐ[8N8�y�%˘��=Bm���}c����Q�g
-�TV!˕\�l�4��b`��.�K��RJ�@h1r;j4�$IH(�w7��
pI�,ݸ
��4�	�elt[־�Vč}�\k�EA��*��r4��ܣ$
��Uxn�+
��(4~NMf7N�S���%����N:�=�̆���#S�Up��}��ؚ����y�
S��>�
-��Qy&���]��g3i
|*�[ŭg�q:Ⱦ���gq�q}bbؕ6�-b�RQ�B)5���?��OK%^�gZ���
���5|s�U�.��8�G�(�y�hV*P����Z���
-����E�����Km4 .�����3כ��*
݄����	��X���un�N19~RF�f��p��O�D���n%4���1Ph�	�Fm�
�W�;L�


����l<s��W�2E~zlO&
X�/��ٝ�)�
q��)�����
�B�L>����(
��r��	��![b�C!
����e#v���.>$ѱ���I�fL���tEJ�Ú+:!�˭��|�X9�36�a�uK
%89��2�`)�%����|-y��B�஌��r|>AIv]�1q1)V�����q��T�^����[/p ���8�;�T(����w$M�f �a�ߝQj|����O:�_ ����}�1�
�
���2Z�i�
��L�w�n�V�4��#�x&P�r�i^_I����ӣ6+�[�����ޞ�:�)b�B�n�� p\]�f�A�#zC�,o{���E��3�e��}6����n�4�
8�V���~�����ڪ�꽧�-cJ�v
�o��
[$'�>�O�
��c��q>q�~�~��ɂu�0�S��ۦ�Cpr��TR�wڠ�&6a���e!�멿�ul�.Ҏ��ˉ
�x��^Mb�8\�R��P_z
-oc at c�	X��s��6���EY��%[�X`!�m;;
J��O�A�T��K#*j����A&'��M�E�-��
-^����&ejÝL?����L�[C,�<�A(�"�c�+
���,�La���������V�EPVzv����|X(t�FlW�d�Q9謂b�
�n�t�����Z��[Ā�1��5�޵7k�B2�{��^rEP��\��X'.`"@�y�'�h�v`�T��r���u����
-�#-�
�.��.Zm�:��m&F�Q� b�y7
�
��л
�ݺӸ�����M��I���/mAIK�@����r �1H�-h�$ߊ�GF`�d�F�*]YG넣��
-^'�+��^pk}�ؙ]^G ��2|k߬V��o;N
-Y����D�r��ߠ��˼�#6,�V!=��m�#%���
]�S��έ���L�7Zg*����c�_ �*A�6(�[A�i|�q*.�2	܂C��"bܟ�����von�����%$�?��Q/
/r�[�g��+�.�K�Poo9:��fg�]�_�-�4��
ch��/b�b��Wc�qbBf�ӑ�7Vb��c9�đ8�u�u,�Ez�]��K����~T��5�i@<�'�
��@
�1�����:J*���/��Jd�F,
l���(Ԧ
-��"��0��U���i
�"�
��xet��e�)��������߻#$�ܝ�P�_�U�u����mz��(
o��ӓ/
u[+���~\�l�7!iB
J�;�y
�;Ϝ�߾� �������Ė���K
�g��<��s�N��7D�J��̖�>vJ�9�۫�R�
��
1E�
-^�*#�?[�gT8yF�;��#��
b�CR#^0�X�HI+���0�~J��r�q������|���؛��:g��p�Mݵ��7�rj
�mu�|f�M q��p���#�'>+�lqMӚ��efUL��8;jk ��
)�Ր'$��}�Wt��e�d��Z?F�~��I�C�����M 
�
���\�lݛ�b��l˃��~+^"��L��؃�Ȃn�
=0�gO�SC?�1��=ئ�LJ�������p�"�2�`G6�!
s0D���-�>sޝ����g�F�J�Gf��LBu?"�f��7���\�:vRx͸+��'[�;��]nxG#$/dL�*�`X:��X�BA^�)t:
.��zz"C����O9�G�*��K��]��
o�)�Q7��V)��SE�=ʂm+hN��6[
��O�c�;՚y�w:�f��
-�i9��o���/*(�r�R��r�d��]U#n-��*��eX�͘�!П���O�	y��i����PKȷ�����[p��Wc���/����z�hkuY1������KtC��I�_=k�%��R
��*�=��X3�����tz$*
�����v�&-'�|��ý�.�U�hyy�1
⳺�P�xU;M����7�W�s�cQ$�6� 0
=h�
�ȥ��r���V3$ܶh=^�T���� 2��z�<)�3ldY��ً�iV\�oW
B����,.
�*K����B:�6%�{�٦^�T�A���d�v�>d�0u�G濕��%!�Z�����
��)O4#ށg���\�@l�.<�>	&��]�]&}
�	�Ld
�-�(P�	�`����Pl�H¸oLL����#� 4���FkC`�fXٱ*�� W/E����+�
�h�j* 
�{L�S��$�R|P�A��h�YI��P��-e�K���\;��=U]�Q�{�;�i���i&�M}��S
�z0n�OY~����l�%I�
˅�֎��Z3�`А
P]0c���a◵m��T����Q�
-���Cmzy�_ЅU��U<��OB��v
�Y]=�{�Y�Y�nI�d��n�= r_]��>��i�
/��p��cX����^W
�э(����� ܅@�z9�v�Vc�ߦH�|�~�l�]�E�Q2���'6���X������Ӆv|��'��0�p��N���*�Un
ʒV�r�����G� �O^�&y�}��5٩T8�􆙒���D3���)�f12��.1�=&��mݶ`���<€�)
�Μ��(0}�c���y�_[�Ɂ���f'��-�U�
������<N���

zo'�\6걬r��/.H�+`hróq�Y�0��U��'ى1�s
\�X<S��M��Y#�E�l[��~ż�1k�F�N5�G2ߞ$H�_h�ǭ�8)>\-�������d�p{h���~AЦ��ٱ-'�Ks3߀�yA�1 
���‰;l%�����joӅF����8Q��ĺ��܅}#������p۹o�L�����1��Q���Nw6������3�۫���4��/&���
�~U��CD�(�w�o<��o�_��Ӱ�
@l�n�n#�:p��DMY3
����Z�;�'m��:��X�?���b���J��sh=�h�D���3dga��\��jQ	���;��U���@�3�o�F��d����m=� ;_Qc�u6�o������q.=��'X��Y�
-e_')����2ZZ��Y��X�4O���a
�#��ƛ����
��0�.�j��f!�J�\�vxW7}"�.�m�CK��Iw�.]1v����(�0]��b�
	S��U>�����#;"/��DH�I3��#�. at mۆ8nۧ�
�?v���
�z@�V�8�<0�eoa�V�I�Jn���Y&*싻�c
�\�^�G��L�f�*�
2
���(��ήF�i��!mȄַ�
� ��{������*aP�wtK�]�cvq����R��fNJ��Ca���V�l)�KR;[���8g��rBv�@

U�z|��.�8A�@���N����Hz᠍
��$������C�hT�I�;Y�������6I���J�
��a�q����S��$1�IJ��تP�Ц�2�&gܳ�ۂ�Z		�
܁
�"�ZF��ɤd-)���4jB?܃���֓�o|}��b���
n��RN�>L�"��Y�b�`�!��x
n�a3�m]Y�7&U�>�ڡl�dyIks��g�W�z��8��'�蕋d_8.�)�1��oQ�JC�_�1�o|��ͬ���j�}�����P��3�t[R�t���ە��=
#����3�+���j��M2��('���f2��� ]qyx�~꾛��^��ɺ�djs/�O,�s��_�
�)V��ƚ��=9+dG��]�Nc<
�d���.�m��#0�a����t�`gu���	����V�Rbl���>��R{Br:
��|)�PyUD9ܓW|d
Am��h��K���H&���/�{=�j/�A=Sj�
-sd]�b��i������I��2���N1��k&��sXV<�G�) �Є��d NMuP�JZ�I�L�\
�; �=�
-&7�)�𯺘��X�%�S��<
�)�������1lV$����g�]���%�B��.��e���{Q�i�ʄ��{�9l :Pvv_r-k�о�[�n��W�^a
ŗN�k� �G�
��jMZHivG�]!�����s�L��""�-�(��
-xSc�9ɕvo)
-���w�����=ϖ��Y?�$��֘=����4{A�
-
��mf�)�2
.��JLc\���4�B<�=L�)�D���~�Mi�e�uE^o���Y\^���e�h爽�0���
w�<�@

�ɐ�
���"��,b;sE�i�F��@d�?�p�v�{Iˈ��a�:a�d���|��m<��Ly)����n�.3�_.��� Z/�������
��7�i� bZn�fc�ݧ�Rnbr�
Ӯ�ZyKx0};�� (��[
��N�
�\~rC�:!:�@J�&@�<{FL�^F;���mK�>���)�׆�k
�;�;� b{)��0��
�]ɒ
-E�D0��ٌEF<fY��*�~Z�
�G
B�4�v`�k��u:v�Vm�(:�3��-Xq`�z���5
'9�5�m���|f��0Bݢ^Q=�q�\[FFë^�Q�ߥv2���+�5X���	
��q��<�a��‼}Hs����M��ʓ�(�$����+��&�7��;$���dHEh9(|Y��V�0�Wi�!iyve!�
)���O��Ғp?9Kɔ �Z�c/Z�ā!j)/?���=���Hr/�1$���L1�3e�
z7k���7�IE
�v�?��g�6~�M��e�f��d 
���yE��h��9-t�y'��Jm�,ciZj'�|=9�i���
�1�L5%)���m��o����e����m���Ӡ�t���f�pz������t�qg�țsU-y����|�����
�Tf"@o�N�ٕ%�tҼ��)�i
-�l�_t'�Q���m/���z��6�vŌ:#�FF��\�O� o�
����U���[�08�q������t�w���9�~����=l?G�E��տ%.�z3�k�k���'�C(B�i�t�Ԋl�:���
����<��l����JJ&"��
B��,�����A�t�[K�n�
a�5�ݚ�E;���ch����XJ������oU
�u�F�`q�aL�b��3!������$Z�}-�`���)�
<W�+� ��O�R
-0ij>y�&r����\T*���o��T��r���;4V*Z��gR�bP1\ᶴ�^z�,�|�)���=JZ(_�D�I� G�z��(�����x�8tjAe�!�ڜ��B�(�&�
��>
�&e�W����Dx1[����x��H�Uad�Uq/n��m2Q���
n��@&�۠l��G��@�f�3z���y#��M��T��Pw�1��a��� �Vĭ�%0����c.V<��F��
�H
�⫤jh�5�웼��.o-�ɭF��F��)�|���
-7�.��v��)�i�
-endstream
-endobj
-3119 0 obj <<
-/Type /FontDescriptor
-/FontName /KMUOGT+NimbusRomNo9L-Medi
-/Flags 4
-/FontBBox [-168 -341 1000 960]
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/CharSet (/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/ampersand/b/c/colon/comma/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3118 0 R
->> endobj
-3120 0 obj <<
-/Length1 1642
-/Length2 14743
-/Length3 0
-/Length 15587     
-/Filter /FlateDecode
->>
-stream
-xڭ�eX\]�&���Ӹ�w�

k�]���{�`!ww	���0<���9s�o�����}�UrWպk�^��LY�I�
db.�wabcf�(�L\�UAv� ^y&s3����-�SDž@E%�dn��K������ � vv ///@
�����r�j�j�100������h>=���� ��7s[������'������9���
`�5�+)��*Jh�5 ����N�E(���M�@Ss{gs:��	`���do��4g�O,Qg�1������f�aj���`�dtv�| ��N��.�{� �Mm]��I�Sn�WBN�O
�O�'�2�����	�����,!��<]��]���
�T@��f S�J����S�b
�w��{����
`tv�5����	���W��@{��̀�dni�dfk���	�����g����zc[�y��e�?s �8��Z0#���4u��m	�G`��_d�-@ 6���\
�C�f��
���g�>�06��z��-XA.�!��w,3�����@�
��-�����_9�_^������BK���*�}6���
�s��>g
@
�ϰq��3o���?Oc;�������Zk��;i1�����_���
&6.f����R@s3e�������s��%װ73w�ڛ����tbe�/:u+����?Lp�[eno�_
���_��*j*j�0�&��?;�E���
��E�R ����?Pbb �7�g*L
� ^^n /7���&�p��s�`��� �2���>�����+��#io
-2����\���>��
-�Q��:9}���A�Y�������
�K
 S���
�:ܼ�1	��.6ȁP����€P�z�&o��km(s���o��c��]9���.
[��T��"_
-��B�5�?_��X
ː3N���/��7�t�Y5���TT
K_a�'�p8�]<�P�`Q�;������a��5�a�
�P'
>���
�w^Aw�2���S����
�%�x9�6��C?�}qz�
@=6Z��1O��Q���~@�Kj�n����2X�����MRJ��y�����;c��L��&�C��/Z��q|�t^���V�,�%R�
-���kW�:~��
-���σ}��/�T���s��|�����{���6�
Z͏�M����L��+D�
�?����;�N=�b�Z�Y#���0� ��=۪:4#����M�u8�Zh��6�:Zu��Ƨ�lij/k��'V�Mhv�~u���j1�ْJ�^g���f������]
��mVߵ*
+#x�-�ˑ���a�*��_:�y�Ϛ{X��
�bf-
[±
�}EG`��@����*W����+�ת��.A*e�ϤɪQ�'r�b�(,����#(n�%���"�-��qrv��n�8��35y�͌b���f�"��#�*W�8����#��v�2�踱W)ׄZ�jQx
s��m�
ޘ�! � u��
-�߳�$��!�{�-����'�P�n�_5(`�?x��D
-��#og��V�<Ip\᝹[�T�һr3,#9�fa_���5ԑ���w
-f+5�m�	�}�[��j�h�$'ˠ���ݜz$i�5�+�{����<�Q�2��K�C��s�W�����yS�����61�I���#��/'y�۹�T>�%bd�{��l
��N|�X�v�&<���8z
�#=�4;4��2q��U�	�f��(�n��o�N=,��<��v���lH�ᙓCIK"��T�X� e
b�i�����
�Cf'_���,l��dcVv�#3�{7��5=����2
F�b%�	����#IȠK�B6�@�= ���>�?
�oq��XOC���E1
_�H��Q�-�&���yʊL${'B �b޷Wa��dl
�k{b��B6��
-t���$0�H���|�����:8�/()���ө�*kJ���;A����p���a-I3�P�^FY�l
-�13~�44��\��G��'Mll[Y_���"ͦW434��w��
����2z?�݌ I��H�.: �B1哅n�+u�sI�Rkԑ!ZƂL�۫�d-$0�9�qq,D�5�4	��
32�f��m���
���,L�E�
�i����dz�:߮fO9�}�@��Qf��cb!��
e���_`Y�I����LlO��"�KH��X�S7�,(�
�����~�
�D�`������3����F�3������Ol�F��	x�
�X_�t�7��=�VK�FW�O��_
��;nᬙ!T�,���u~c����•5��)8�OV`X��Lӹn	tb��!�M\��G��^��1�\��=�1��t�k)IT���}��[����S�>���Dtd��V�T����Af^���m~���y�~6VjyGi!\(-E�
��6���� XKbO����[ O�$L
'�)ב�[��Z�-l�:efԡ�d�|���;
0+Ѽp�n5Y��@�D�
-���RO�KF?U-ܲ��h��]ȴt�����)���e�X�i���%��ٵ~
NR	�8:Å��� e2�Q���k��-U��/��syUm0tPv�~�ʐ�e6+OH��}���-�n���W�M�A6
-
-\l�����_Tq���$���zF�!
�uc-e4Zwq�#YEb'<M��H	��^k8�M6�[X���*��1;�a02�'\��8��!
_�����z��ڪ"K�
�g۹��
-B
o��Mf�1�g&8�
��R��y51���=�v߮�ͥZ�!k�A%���S���:� �l�Gم��,�����9�j�kᨤ%[��
��W�ȩV̷ ����i~�2^K����d�g�o��3x����'}37��8G�Y��O`���j�
ӹؼs��Փ3&�r۳
��W�[�A[-�Б�@1�n�����g�q��` p
�x���@
"��
T��O��?�
�?���0����oՐ0���
�%�n�B����
����5kl
�L��o��a���
n�u�]
��O�l
�j��*r�D�V��%r�w+�gA�\���� c!/����)ޘ��Gz$����
빧�gL�.1j�KW<���}��*>0|�ų]��
-4��c7���5�ȯዸ8��љ����:�|���mOeUɽ�,���������\ە�Q!nM��}�6-��M�a+�6��E���m��x�Uc���)0��������%�V���d�0��=HK�"�H�5U���B��������Ȣ����}�
�N#b��%�h��a� 
-^�aꋯ���-�
_�317��
`����%.�qx���6��6KGj�6r���Ij��S��K��l�����I�j�
��Ӷ�/�(�]��Զ��r��5�q��{0�١j�+5�k��B�x�P�����'q8��0��K�"VSx~9kix���iC
�v�<\�!~jRs��i�Q7�
-�"����Ľ��gɄ*2u�)�f1�\
wO�dw���95?�Nd����|M����_O#&��u�ߺҌsZ*
�?����=�"gU^>��ݾ�{��=q���ȧ���+�1!�'䠥�k�u���!At�)�sţp���f�͈A.�Zi�gD���.��f�}Ƀ)�W>��i�C&QV�9��Pvi�7�ԕ��_|a�D�^%?o�^��Bo�[���E"3�q�2�
	
<�����QuK�Ȼ�\8���DEM��B7��r]G��
]"�����{]�QOm��"�3� I�V�6�I�R�n׸�
�.(�앗����E��;!�N�G^���w��д�v�mvodF>��v���藎�UD,8 �Yې&&���Y�*}n�
i����P�,G~�i��l��
oگ�o�m
�V���b��p�7C��㠵����AH��-�R����4eF
�1�`��r������� ��`�������G�ȱ>������.�.=3�Gqٸ/�ѪzA�*�)��9y���I�a�����`�Z nǻ�;e=T	�Ԍ���A�h8��y
8>�3�Ra�q`��W�����5a�����h��k^aT�/�n]�S�o
�?�[W\
��
-~r5�E����n`��G̛hO�p���Â��V�OERך��(�R�B,|d$�-�
�.�@Fx�5֟
'���"C�H~Z��A��TJ�V�p��U�!'�fvh:�Ih+ife��}���l�h| x�Z)C�D�40�|�.ޒ��#<��*;�"@�SG�I/{Z���e�zy���_���s�`�/�ƥ?ڋ��t &�iy��D g}
e
��@'��BsyA�r�ݛz4�x_��Z;dO�:r}-���k��ݰ��V���z	�p��#c�;xL֫``
�n�;��:�ub>�����|(*
씕��s�wf3�-�5��
-
H��{��J'ə��$W��X��vWB0������#�L�E�(N���;9�U�ͱ%�u?�_�҆�����������J(i�VR�F4}i���]��N�>(�Q���PK��nS~��sO!d��W!
�gM7�"ٯ�Е�z��$|W2�B����a��+A#�#kj@�7�n2%�ك���3�}w��
l1C�p
�5^ �0'
��ugAU;>��$�Iv-���f�����=fC︂8��qӡ
$�����!��ܷr�Y���
�H�r�ڦ���F��Lf��X��ŗ �Zz���
��Ǿ3�p.��mc��X�T;��`P�k{���P�s�N�i�\�Dw�W�Х��,�#|��m�u��9����C������$���r�"6�⥇ #
�>�r
�� �Z���njz.�M�<Q1�!4�k���{�
\��ʗmy�<]J<��bړ�H�
+	JthT��ڒ ��_�X<7����\
t���~�p��n>،��1x�c$#�_��v
j;˻^�%�`��Uز����v��I����]
J)�\B��ix��<��7
�p��-�~[:C;w�ЫlxU�R���7���Jd�r�h՗
�'{�c M����Jg[M�ٚ*`"s7ǯ��rG��$�Iv��{^�9�-d�m���f�Z�f�K������$�ǀ!l�Z6 ,Q�

-�'(ۏ�W{��rM�TڂU)�ukԹU|B���Y����Ea�6Z��S`i����͈ꃹ��%9���/�/�&�n6�C�5!@�'$���A��-������P'�
y���ܪ��L4��$V�h
J
���
-�4�$�ϓ�X��BqA���ɕ��h
BAmz��W�����;�xx,
f�h����y��q��S�Of�Pr	x�s���(�x�Ti_4�3�����ɟ�ɳ�����vo�a����u?
���"kQ�n^�
ҹ#z�t��6�v2 ���m�
Ϛ)���z���Dg�קs�3<��/��t�-���<�#�6��HLE ^-Q�n8U"��v��Y��t�o��'
憛 ��mS�ed��k��)Qj�iY(W�9����a��/n�P�)�YsA��v؛�X �r3ُ"m�KB�i�ľ��e�r] �(��eR�v�߽�����48�G(��
{�MQ�_��#
�_��Ơ�X���WkL�8�
�	�$-}v��(��)��o��lr��`{]ޥ��W=s�^
�Ab\��KJ�{�6�~mKG͕��
���Z|��-���Ǿf���_G�w
,{Ͳ�Bkm�n��k�%�\\o�_�j�L�?�N������b�5&k�9�`�,1�3^��͔^}��I)KE�rI���8��R����R���{)�b�&9�$>�R��k���hM:������%��IM��'�b�y�s
�2A�)�:Ti[爾_PԾeb���~\^���L'(�;xV�������UW�|(J%Q��V�:%��T y�m���}m"}���#�>M�o�Z�]����H[�_�/�0.�֙%Dn6��A�3��k��Y.ע��ic��G^�t�+^��]�.��
���N}���DBz�q=��©��H)��
?Q&:�EdWF�ی����

�fs�X/���I����>y9���������e���
-W��I�:��
��y�rC��%�/��t<�Ə=����M'��@UV�
.��@7
->
-Eo�����v��ݰi��6���Q������"��C��.mJqTC`�P��ar�CT�;��@�b,K�\��9~x[���Y��Q�v=���-פBV�=2��K�|]} Ah��'
�W}

�˶�%��3�
Q�K�Bb��o��I��H�}���06�W�QNRY�|{��+{mV������%sR�j�"���r�.���ɍ�_�h�=<�
�
���ֹ��E���v�Ť�
m�z4��
̦����9�-���Ai�e^zכ�KS���.�vDe���*���mY?z����ۣ7�̘(���%o�Y�} 6W��G \kO9� wt�3�{��\dL<�������5
J�D��ϖQ�_CS1Y�,ܼp8i�)�
-�&F�^�&S��՗�S�x�`$,	������^�ȣ3'j�{�3��&gHRSS�;\B�+���U�䍇�*Ay�S=4 ѭ3�G���ծ�ނ��$�5=Qr8zY
��_]^�.#FZ��ܸƶ��a�3����ŭM��bc,c�6;�9v�_t�.:�u���Dm`�{2�U�
-��kS32B�����Ml���E��HF���|�����JB�X0�o��G�w�������=�g깹�
-21k���!d�+We�9�T�1�ļC�M����q�x��e��<�_��Fz7�l��f5v�
-\,�L�Z�;L�
�:����h����hx��vd
3f/���g��X��ߐ<nf��[��N$RFG���c�e p���4��t�F���3�$�d?ڼL,�Ga���X=�›�����L��0�WvćF�aw#ev��l�8Q{����CA7)X��d��o�Ҡ�ݹ-�*K�OM飽/֝䔲����3����@H��
;�c��
�@1�"c���q��`UJ�T+z��/�݄㥔B�'h&V��|�S�����*�+�͠�)pw�r�h�ģ�A��ؘ�3�KX�4Xf>��n����wߍQ3�N���<�R�h�tݘ����և/�6!��m�>m�ҶE���Q�ŵ�
�(�hNj�B������O��vE�]/���Xt�Rg��pq�+^t��hI���;�8��V�b}��q�bH��%UB�+�w�*��	q��B~<��XL=�LU��w�s5� k�Z����;�ϊ ��M�����l�DF	��z��i�/}�&QRWm8��9���
uU���?.@��5b���1�"����#w���Ϙ�q�]h2v��C [...]
'v]�l5����Mb
�o
�6�.v�/�qx|ܚ�鬔�o�V�0���1F"��~��p�t�hR�FPb���Q�5�k���ܥe�n�c�'8c+�n�w3wb��=n�*�Ug`�/kXY�_���y�����u;]>�u�!��S���g�+�<L���
V,�W
�7��Ɩ<S8�=B�n��Q�2ũ�����P�
-,N�	��ʩ��h��!�K5�|�,�!
��$�t�8�
�̢0�
-�L
-Ozq׈�~����V�'�ЋD�iK@��2`w����`ư3m������8�ٴK�����3sz�ڳ��ل;�����u�+?���7"<����`t?�&�}	dn/�e�UuG��
W��f�

,�ch���R߄9�\L�3�vNe�+���!�C&������K.@י��:^��e\��w�[���k�A���u�0�*�-��D�Ó
tz����/�J���gީa$������R۸t��
-*SI%p �$-x<Lew�8���I�
ќ�Q��<}h��m�����ڰ$�ē��$�~�.d��Z��ޭj���1���
�(*4חt˛T��Ć
`�����ߜkX�$���X�f�A�� �Px>����E���T��7+n��'�_��cQh}x�R����
`�jSh��KN���ͪ

H���\�ʘ®��3�4��wM&�d�k0״���ό)��8i_��W:���d�g��@�w�[Q�'
',b5n%�{�a���
s�^,�@��&k�����4�ʰIu��8vVo���%�d��3�}>zQ��%�qqt�kc�"Y�
[}<Q4S�y
�S���$<�*��U�V�j��#�i�pî�|��9.��(&�+(�6��t����������>�m�S
N��N��F�V��T�7Ǵ���Y��Nry�j�~�&��$�k��s�x$�^G�(��p$���d��h\�F�-BF�����>��ڈ}>�I�pgF�'�g p�;�
\p�%�`���m�1h��uh���s7�ѕ���fF�2H7�Vd�G{�rρ߭��q]-��6k�l�S�
=8n
�O�
�x���剈�^�v���Eo���Y6������jR�
-o���(����� �KS�<@�Ƌ(~�
 ������N����
uo�b�^���;9�5?�
e�!
��#`�����e �U�
g�洑ļ�eg� �?�w�&W�.�� �J
)���Q1z��90�Y��Ny���1�~���yUR�m)����D�+�F*<� ���U���舨���MC��B΁0���%��˳J	G6�S��ʁ�o�E�
-a�/��e>��<�|וޒ�����
�:�S�L��nm�����#B�C�� b�B^i��;��L�T3%{H�5ߺeK
-���cg
N�R��^�-V#�j�P��o?	z=VHP��3�t�Ҫ�&���VG�ϓ�G�v�^FY���]��y<���$�R<��y��`�|L]��N
��0QM���ϒ='���N����1��r��Ϗ���x
-���������A(K�g*!����4�r/�����c��Y
�Na���9�\i�n,/�
��
}����w�e���E[~)ܾ"�"V�>4T*��<dd�f�
-3��K�m���u��a0[C�#�qu���������c��
Q�:
؂��*���..�s[�
p�O4 A%���`�ʫ�<Tφv�&v��u�J䰺+d��G��/�)��ě��vU
eú����{��/��#1�#�f"� �KY�y�I��x֙��� AwyCb�Uz�Z���F�m_�9Nߗ�?3
�L��A�DE~Űm�Y�'��ˌ��aD�	?x
b�&��T�
M�+J���yE��~��Ca�\*�:G�g����O�阮�F��׶�6{�ڇC�0tק�p��A_)�!��9��aH0����[msA��P�Q�qZo��: z��9H�cB^pI�U'�  ��A�3h
h`��R�7-
N:���y
��FZD&JwS�Q
ݍ�g�?���3�g�
}�X���2��P-��11�ҿ�C
-Ӳ1����b-9��;�1���g,�ł�V����΀��d������=
-n888�{JY�#M���@ď8�ϋ 	� 䈄
�<CF��)������!+�!߃�Qltv4����O��D��)�q顒�ai�@��S�E[�o���dyTs[�{
'	��|�~S"?V�uK��)�xb�Q�]$�yΟַܿK�-_6Q����E�
,.��B���z�S\�9!��F��;�~|
[>c�3�$x�_Z
����ѴGaK���`A)�4:.��	}�/��Kj�t.z�vo�YJ�	��k��f��"Oã=�x6-Iʖ本����d:E�l�j2���V�T�ྥ��'ҫģ,��"��5����
L�«C	���Sd���ׅ��=;,���&�7�	Q6,~��F�� �t��[�L�6����z�L
��1�
���WH��p܍�+�@����Z'����a6Jr8$�.I:
��
�a�'�4��1 ��cCX�=K3E�6�G@:U��F���DbZ���t� ��؉�?Z9��j��������2 �4�m��z�
��@5
�&0���E���մ
�Y�b��8��V�6
w[g��]��u2��Z���7��_bq��%��Z0���'�
-��9�\7zx��1��T���+��pe��k��,�­��5ݯ�):G���4O����&��d�f���ޑ]=�Y��B �/�k��N���M�M�����8[�z���!��]
-W�
\��Y���ħ}
��	<�NKn)@
�nBzE2�}&QZ8�_䝯l����As+M��>~ W�|,�
�R?��O37�\|S/d-��|��O�w��.tǻ汔���4���4$ȕS���Y���B��z
,��r����~6�z���RA�Myk/�-SC݂jS_�
F$�(��H`����7�tx<�3z����-)��S�Q$�#
ðL��]��J7_��
-YK�Ý~�f���L����lxf~�;���09/3�E����k�������Ϩ
�\���vi)#��b��p0&j?`-�N����x��0W)���������]kƨ�Q� =���n��,��S'�!����H!ZC�9��v�Q�}�vp��G�ҵ>��ȣH�S�/�f����q�5���V����zJ򭌋�&�wU��G1o��(��F���]�����\1,�S��]��Ҩ��C�b�Y�>\�("\��K��]�L��h�|W�7ۆq�1[κ2ٖ�5��
��rNJ:��ů��ƕ��aZjATT/�q�4�S�쐺MU-�t���ų�]E
ܨa�37��mY$��cV�O&���o!�h��7F�����L�NiE��>����C̥���'����4G�Uyz}]�RX(|��}�:�|�
&Ƈ��K ����V�&X��y`�C��3$�$�
��c���
::z[[܂�k�Z_6�(�B
H��i��@�:�p�=8�Ƽ���e��F��`����
5���ܶC���R�ÆҀ���l��4(^���~2�o�%���2 �ϰ.��)y���iq
OQ������X�C>���g���iS�o�X���ݯ1��l>�I��q{�ߐS
z{eC���!�k/Up��i���%
�
���U3`}��
ā�wOW�4��ؑ�S�2 ���
U&��E2
-
&���-�,r�aJ�s�
-grb!y\yD,r��%���y}7�/] w��Pؓ�k�*0��
�o����
p]�b8�<&LM�8��i���eM��D�F$�%ġ��a^��i�f�Dm�yѪ+KPm��fd�婧yaͲnȏ�(��-��hZ�a�d�\�v�B�sx�_����<Yn$����z�X�5�erfܽ�k�h��F>f�
�"񷨅:�3������
�<���W�����e7X㰗as���*�3�Db���1���NߺLMq�
�6
Z���
б٘k� n��
-G+�����*����p%Ig���ze��!��zDQR⊮I��K��72�]���,� �"+�H��5S�D_\�-�]+�}@ı�)+��i��~z�/�h��h��ݘ>�|
9=��U&�(Rd�
 �V�sw6�s)cq���"��B�*Աhle:�AT�=_/Ց茳h���3
#�MM1�9ؿ_��T�XsN�c��JF��=�[�G�EE��o�0z�����:�UyI�c��P�<���x����HŬ\lX5 �U�k�E�8[�u�N��|K��ֹ
~���(/��PĒ}��`��"3o��	���
-�xb��M�(]�"��M�eG��Nűa9���ͪ�ȣ�wU<i7��\���>� ��z�E�Mswю�������VʒuƸ�Am
.	m���-�
��e�1�l�`���v���<�0uo�W�L%>a���l[���:
���%r-�V�V��a̯�;&K�Gc��3��
�O\"

�~����_�'Vc�*�1F����{~�&��`��	�tgf4�E�C]�	�sεH���b

e�؉
��_YiN��+��ש�#�R/�#f\CE?Qў4m���T�H'긎��6��c����ݾ���5���
%{D�,��2J��ut� A��:ƠQ΂�ײF8�'���R[�����\5��Rq�Yy�{*	4;��М��#�7�����t�)0�
��8�B���r�햏���H�b�<�������hӼ�')�B��۲��yV%�6�G��A�(��~C����S�-{��5�0
�%�7�!��F Ϣ�-7���
-X	�byာ�
g�m!���qK�\�N4�s2#�F�Q�E����8x�+�$\5]���w�8��떦/�"z��苕M�K��$�����ؗ`<gix�l�w,�;6��Y͔�!�1<�+L�W_ه�Wل��1J0����t�;(yk��=Uu�ˋ�fuݚ��WRK�ȟ�'+���Y>�[Ut<�5&���s?���m3Q��xA
ê d��g���7P;w���,� ���!��{(�%ǂ�^F��dy����ѥ$2��)h �����y#�W�7��G���rP����7�4�b7�G���
�cm
-�
c�qnQ0�:
#P��#`���??���_���}�Bv+`���b�
-q�#�����[\�AX�����l�v�ư�0K�T#��L[`\������'a�u).���:��p��=��2\k����%�H1B�
U�ʼ;���ȏq
��c
���.;���4�֠��d��j������7�H��̵Ot��U�OS�����&��!j
۳F�r��!�r�ѿ�((TO��b�8����%wjx?
��bb��,̽X��O�+=<��3�6.���G
�yo�؄�,����mD7u:�8]�`�;:,�Z�>�\����x
�0���6��O����Z���e�
�Ҿ�(��Τ}T`}6gJ���B`s
����.Ci��%�BVoʒ#�zu_���U��p�m�R�Q6���:F
d�z�daM^�,�ꡭ�6G��Y:f��̦b=y��
:�4�l߃��*}8B#e��C�i9Aҳ����Ɓ g�L�6�^/󭥓��q�̀��h?PT��8#=�4۽�i�Hq��Zd��_bs�߃���+O���nn�[��w8�G� ,[�
b�

Њ�v>ք�=�Ұ��:�I�*]d���b��h���A�ֿ�MTU#�wHk�
���R^y��Ax�X��
-��`q�uV��ٲ( �i�D
�q�H��>B�s\$��,�Fو�}II;�r
 �vs;
�A���]���+��"$��-�Ǧ��������\8�Q,��w�W�.�V���ogJ���SP9��Lc�s� }#q<��#K��c����pa7��V�"^_
S�”�Z"������v�[�fJ4�SUa`���a�zakDO�8h���/(�t��"��L
|B{b��8&L����K�)J��k[���Z�Yl���c!��KP�RyUNs1�Y�0�rhY*5��ٝ	��
-��|H�v/ös��ɋ���:��
�*�A+
"�,�jP�e��F3�4V]Q��|�A'�,���ct��7���l�*�*�0O'k�<�y
��<��=z�i��$|������`g���e9e�}�ׄtZ�5�q������@?�F�H�
�J�m����y"��C��K�(�s;:żC,
9�->w	�y\��Eݠ�����@��WWz�i;�
]��;fv���^
g1�
�����B
|!V�޴�u4#Zޭ[�f��vM�p
���j04U�f���{�]����f�f�Ebi/t��j
�H�
wk(�р�b%�v����UG�#�B���x���\͛p��{p� ы��<�1, \
چc�G��鸐���Ő4�N��du�o�Ƀ�"�3g�*~�>)�p�8[��;i����ڻ��C���x��8�/
e�
-.���p��V�����w�Ă�7J��QJ��:��ܩ�k:zu�	�bS�X���J^�ʨ��Uh��H�3�� ���N���_��F�G>����XShL�<*��$����ܙQ��@Z�-�M;W�1n�ɲ�>1!��y� @*"Z�n��;��~̭0�
}�����aC�Y�a���в&�τ��֩����W'<���ul\�w?
X��
�ޒ������E40Q���
ɹIF��z��*��~vIVi�.�~&�Ԣ�ģ��b!����d�~��H��{]��A��©Nu�?콌��$�{mpKe�H��P`6ɞnDs�ڻ%o��m����
j��y�
�,�C����z:��ѝ�Y��y���ۤ�V�C��R�A��� ����?����ύ�z�N�q¸�wG��n�^1�R��-���M��&���ǟ�����ps!�U0�l�8.5a@cЙ�DB3t�6���ܖ�B/��.5B����⍋xN�$ȕ�5�� Q�,�'���
-���8���]%�7Ÿ):'xB�ax/�H�ʙ�
���̽
�[��V�T�뎑W�����
-�u9�a��%*s��j
�52f/���z�]򜾩;�Ly����`�[訷�/_�#m��������48Q�)M2�
���嶔�+
��8�ii<#�(�/�#ac�5�"-�r͌#T���яɺ
������jŜ�_8dfLb
j�Wf�
_��	��t4�h$�V�RH�K��Ay
-piJB$�zTך�~����ٺ�A�&<�x�̰D�v����#[��k*|��9[��8r�
�TВw��h���Z�^�<�"��
�
ǖ^u���A��|c+��+~Ә�H(+ɭF�)M+ER�*/ݨ,_����
��Hw�
�F���y�5N��bI�;8�L:U�*@MY6�Ư_V��E,�k�P��BAL��k-�~������E�� �Y�΃�+�Uu��r#��]x��Jv��鯜3w/\����_���?��Rj*B@_�(HPkR��;���!V���N;�V���#�C��ẫ
�9�\��
��`a�-���Q>��� �Q��4pv҈9���ΔB�'��SK��T�Y�|����3/0h;ex��R<@��H�,y5׶�%�P�J�8F���Vn��b�t��&H����
��j����V%
o�ʇ�ҙ:
��LIx����g�=y�g�Ojb�wUf�jn
nD�׉���[����aj��㈵!�n<�1~��
-�Tz��C��@l
��%��j���	�AW�ha��k���տ�PI�	p���h�k�	Fo�B$���#

��<K��G�E�<���"�|�ф�x�J���{tӔ>"��
���ĕ����
-�
�P
�Ԣ��yy
`ǵ��X�8�;��N�d[�rMj�5��%h��,�<���Nͦ�h��-��17N��H�Z���fM�|4_2��&?�$:'�ٛK\(�����F�� wۊ���h��Ԋ��
w�=GB��K�t�Q\�88��Iw�����_����4J�
-�4-�����7ƅ��*,?���lkmx3[���^{�. at Eo�k�"����pB>�}��f
/�OC�>V^�l,/Cn2��4Q����$�<���#�
����+B�nO�-���
�=U"��hyAS�~J��Jzfo$���JN=�\/���Ll�w�b~�h�����^�?�qCa�!�[��R{.��V�7��>�_L_��e�����t-?���=�e�*Dzb��ߞ,te;��aĶ��;�]��������
-endstream
-endobj
-3121 0 obj <<
-/Type /FontDescriptor
-/FontName /INVNVQ+NimbusRomNo9L-MediItal
-/Flags 4
-/FontBBox [-200 -324 996 964]
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/ItalicAngle -15
-/StemV 120
-/XHeight 462
-/CharSet (/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/a/b/c/colon/d/e/eight/f/fi/four/g/h/i/j/k/l/m/n/o/one/p/period/q/r/s/six/t/three/two/u/underscore/v/w/x/y)
-/FontFile 3120 0 R
->> endobj
-3122 0 obj <<
-/Length1 1630
-/Length2 19929
-/Length3 0
-/Length 20778     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct��&
�vV�Tl�v�6V��m۶m�v*���T��޽���q��?���㙺&�yϱ(H�T�M
��$
�]��x 
-VvƮ�*v
-�r
*f���zv8
-
-Q����������@�� ff`a0sss�Q D

=�V�. juM::�����0����Hg+
{ ��73[G;3{���ׁ�ff K3����@TQI[ZA@-���4�7��\�m�L rV&f��f4 s ���������֜�b	;� Ύf&V��<L�
�1�
̀vV���V� 
������8 ��Ml]M�)����_9
�z����Srpvq6Z9� �fU��w�.�F.��v��k8���4u0q���������Y�;\�<\��el0�rv�5����/�#��_e�:[�[�g� ���������/�_���}���

m=���/��Y������9#
3�ߜ&.s[X��}�gW���
 �L�֛�:����
��Q��34�02u�������}Spp��@��2���
����B�������������
--�jk�`d�w�}c ���=����94�F��_�������)�zk���������߱�[�������J+g	+3S%+K����ߙ�K�noj���7����
-``fb�/65K+�H`������v���M[VQGN��s`���w\�<
���?��w0���?0""
 of. 
����� n�����b�OY��h����o&�u�?~�)��q{�VG�������O�?fW �/��: ���_{of�af���`�l����R��7:-�}��|4ı�I��п֡�/=�'w��{]c�,�g��ʹ�Ǒ
��x?�-U_����d4��;�]�tǁ���3.4������ t8�4����U�Kߡg�X�0�h���
-�1ȟ
�|M��0�Q�A���/(�N�<Q
O�����B
�����R�a����$�x�L>!_�8��W��4kQ��ݽ��V]��c�3g\�Y|	�
2	��ɺ�
��e)N�'��S��o�^��X�ؼl�I��Z玵���
�*�NV̾���A-$5����`*��ą�����?��ր'H!.�%T�?Q��/T�������F-}�!�B�a��
-�!���{�����u(�E��J[��
X�N3�H�u���$�`zKlj����C
-�W�0T�
�fb�h�<�{������=���쁈K��s'�Ͳ��0�M��R�W 岰�
-��l):H��u#���ߣNuV�gw��f�Er
$�f��ٰ(��
R'C="m��bG��d&@
�Y0ٞ��j�6x�t�p��7>D�ہ����ɽ�lC���i��%W�o�w8FQR8
����e�����`�
��|���x��bk/��:6e8nϹAeo��[ی��j�B�����(���Wx�y���>�e+O9��QhF������H��Ui��I5���հۡ����x48k�<�y9b0?*�
-�(Z��PĐ�5�kH�!#Y�@MUp
�s����L�6}!�뮞�k^Ď~�ٳ:�{Xa��G
{��mY
X��
-\*�0}�/��
�@�N(��Ʌ�����
-�;��[�YV�EZ��Oח��bĪd���v83e&���ۅ]Z�8�ޕ

��`��->��
-h:Y�ӟ��c�V��
�NR����6�i��CjT����ŨU�"Z��^&�TJ�����
�V�@��5KSm�W��Á}�*��E������f��C�5��]�"��p��ߙ�yk��G�\&8�D�5�<.�z�|=;
�mR��'`���t����� ;���͹VY>[�B
x:�Š��P�
-����Yx���3�=;hKV�9�;Yh%����BT̟q선dW�|��c>ߚ��C@u�~�߷2N4��n��'�x6+�&�
�:YNyq+ٳE8
-
�;�4��3C_
)���W�!-�D j�
-�|�
-�w.��H�\�;Q��"
��V�������G��/�wz
����>,Z[�#��'�k �|obu�UC��m�M�bpER�ϝ9!>w�����PI�Z�,���;��$�(o�  Z uG������5o�L���(Z
1�n�Ws��f��Q�������|<�~���h�x���W��Z��`�����h�b��+�ʝ��C�2�}����%��c�
�i��`ш��T�����:Ƒ	{���h��
���	?(t�΢$�-�wͬ��.OM���fi�k��I����a˔'����
-_̺�L��uB^��4e���P�
{-~�轚ߝ��V�gx�z�n
/h��5�'\�
�uLEyS�xx0_)��
��d�����B���
u:__�JMߥmP�s)h�WbS��I6O�L_ǘ�"
S�Xni
-�T}^��h���LC�S�4
�n1��q��?i3T��mB�����6#F����I��W
}j�ݦ��
-	���n��<L$-%�L��� �e\��W��?�^ڄ�#�-�!C'���
�O7� YO�P��'_�x�Af#�O!��;�	,��E(��̘�
�h<��!��� ���G���&�W����ۖ�\]
Zd
�-6vr�)�R(K}��Z5gz
xi�t���?b��=�%вZ,`�2�S��8��Q_�jnb��'�a�,Dz�ߢK�q5=��W˘Q
�(���3��*?y���A��U(	� �
h_�~�
|p7��soǼ� �[o>`�5��J�̣�o.X<h#N�X눆J'{a{r�t��{�l-w8��1�r�G� �$.S�9A��B
��|��{�#ct�H��
��_b�5ҋ���ʅB�ȸS�Cu*C/�F�k,�[Ҹ�!�Q��W�
�mSCpۛ W:}�������k��2�G�y�o�w�5�"N��Z��*�ܐ����cr(
(�,�8�o"o�X�Ф[����\���B�&��c��r��Hb��S��w����n����RX���U����� [...]
-ZDC�>s�y��fU� ��6���ky�>2��@�%��D�y0l�B•Nu�:
�u)Z�ӭ���E� *Z|浖5��'��bT��'τ#����(�Evx�eg��ڣ&̓e�Y�\f�V���"* 0��d;`9�*'����9��g�m���c�
6�X+0����
�n%O��-q�H0?e��!˞♤#����6.����f�
vK�&䃥Ma��n3ƴ��YT���WF���;�(Av�
���$��o�17�P'
qbne��M�M��Hd��sk
���Nإ#ȾH^0�6y�Eգs:�K)4��˺e΁�#E�#"��H�Teޤ��c�����3s=�<��G۶Z�F�
s�9\�W�r�nRZ����qE�R��


���,�]}㓆)K{B�H���W�q�
M�f ��=[��3r�
G�.R�>f
�98�.�qg��SjR�HK�	�
�8J/�OEt2��ȸ�
�A�iYq!
�R�b�^�@h
�!��]
ň��ʹvED�h���׫�����L��eѳ-A��V�3��k�ZBKq-�)
�a���r�@zw%��y`y'��AD%���ÒXTo
�=�@��}�H,��.Jt�jg���v٤'�2�|����y��6�fxs~>��z�u��r�N�5	30?�5��#�����jSͶ`+|e+]��,�����r	ד $gA�o�³t�\�5��p(��
X,��"�\e>-O?�8�
-J�0,���(�u.��c��x�H�W�?CO�?�=�c~0�
�HX��+��%�~ߧ�!�]jP�lK����C��U���L��k��{�#,���O��f}%o�qһ� �*���R�oQ0 }i��`+G�=��Ĥ�X1Tq(]�4�%���a�.�bR�2��l6����$������`7���g�'NTS�ET�0��P����>�o���[��@ �{��-��WPt at n���5�%�p�.��^L���y�;
��h{>3D1e����3��*ׂ��5T���޸cA١�
-D/�yyKwX��?!N�F/)E9cm|Y���$��i	�A����U�h�G�k68�<86K���_�@���� �5���y^�(էSxމ�xrE�\���0�t�"n�ϟ���F84=��r��&��߂�%�(�.�r�?�p�������*|a:4��:��z;���()w
��]:B�O}o���+����/4~:��I���
��@���s �[�H��=��
�j�f
��	b�Q��a/���`�%���-xձ��Z�I���s�)u�yAg8���k����_>�.O�����E�Yj��6�dҿ����kUǧ2�����=k
s���5"�G�V;�':i{�AyJ��������HWË<����e�
��iU]"`�tڔ�����'�F��[�鬮�B &�#p�IH}�&��f�aÜ�E�g"�3�זd/�_*=4{0�<J�7�Q8��2��y�I1$�L
��a��>��9��i�l�tt��L�ae���
����L@(��D�FQi��/N�v�Y[��
����
�(f't��)�:�`���|
z3w����%?m���k��_4�q~-y)R�l��
י�L�a�%�2�WF��a�����0��v4��4�r�z at 2�����Q!
-Yr��܏_-Jf>	}�X�}��䮪Y�8&�]���P�,ν(?ĀaE�1u��v������lv��R�
�&tt&�R�˂�Y{G�4B����
7��lB�Ӛ�9*�����9B`�u�?����6�
��f��t�+�h9_|L!���
e"��ٺȧ���t���J�
�Gs��|>���������%v�px�scr��FR͢0^���H���f�K��$W��A2��
~�ּy��ke{C3ɋ��ܚ�R��<;��2�d�4J� ���K�	�
�HYs�k�F����p��w�(�͛�`Z�mhj
J�[W�#��=�W]��\��ʪ��
-ŵ�xo�̠n�t�^�}QV��z���DU+���r��3�6%�; '���^�|��'����ռ%)�C<H���\L_C� �M�^J@�Y�B�#�"�cÿ���m�eO��(f82�� &y��}U�9~-r���.j>ò���~�rv&冨yf��_��n�
���ٵ��={��+n<BT�vO�z	=�U�?.!�h�ڏ6�B���:�ȟO����q�y���iҞ ��P�&��������CuQ�@��窓�G/�Ø�VD~�x
=��x9�}�rv
%㟤
گ@�:a�xT/��

��67�kLٚ��Za
�p����z���-s�w"�o���PH6�{��}1
-ʐ���;Zض�v�3�E��3��*B��O��0z�	�m��v5�
�q��6=����k�$��U�+_ at px��"�4�``�j
d}�
�ȹCv�ƅf1�p�;�]
p�˫� �uf��;�F����Q�Fl<1k{yrZ����Ճ���oS�
/<������ �
�ZP?2���0D(���U	&��~���j�4o��4~�w҉�>�<Z2�'j��
��_g��n�:���������:��k��e��J���C�

*�V.0e��_i�3������xm��2q~��E�>(ku�`�/��΋��P
���
7f�[iP�{J� �c�@Ya����)�.ϰS�:.��0�x�2||�l[���o���
-��/S��A�*���~Q���*|��m�	S!��2���=u�؄�mWZT�fCz�����1��z��
cU��I�~)���]V;5L������N9�����J�
rf�~���{��4��n�z�hp��u'��\V����<��">��������j�$ԡ�x�f;�m���-q�f��1u����
D�b6�\�r�'Җ��
��Y�J��G�͟dd4E�1���C{�e� ���,M��d!^�ƶp��eE,�ߧ>?����XD6���%�#�U'��
Sw��YNd�VMW����}-����3���2B����҉܆�V�^��sL��>u|��`�K�gf�v��5���d�I��
��u�Cvx}UrA��+b$��Jτ��O
���
��<���
�����L�Y��+�E��w����<��1��V��Sz���>�~����P�?�\\��}��B<%��A�o� /?y��c�Uv6P#�%|��HI��0�k�%Z���/ip�bjAvCE��i��l֪��^y0X�)�{���闷��آ��a�:~�I��/����R�8�bV؀��b�r;z�Zi�t�
�37�j�D̶���ں|y{���ZP|���et5�6�uJ\��^��L�� �
�c�[��n���[�Fy[�j#=.3�	���p[O��������N?�R��%��L��m��c|�B���ӯ��w��E-jNެ�0�!8�FI
�f� a��WNi�BOC��X��u'+!O��/����_�K�W�Y�~t�L�A�a��I�2&��Z�\�
-�T�X$�����L
S]�E�eN]�T��ւ�BD�W�	��ٱ�����Jq��
-��#����w�ᕕ:���O�-�S匟?����u�q��
-,Ss@�i�5�K��wMax�f�������2�e�S���?Wm�Ś�[85p�hrp���R�
-z̓��io͘]�
���;��)`�5~$c,I5/_���N����sb#
��M��n]�ζ�F������ۦ�qA�Z��w����
�jR�!1�{[�|�*6�cE�6�n�-�Y��8�V�憿#��[Yr]� x��۞�D���c��k8���c߫��"�=�0��T
�
-�p��$�R��<9y8
K
�����nLN��ڊ&Ke��]�7�jE�0��2Gc�z�$ NZ/�	�+^H���ʹD��%�Kސ��C��f�2���B���E��mb^�\�sJ�	��I�ߦ�rv��B���F�#w=
�B�Z����";Y�9�N��L���t�����잞�m�•��
����k.
ܹ]�n�����Q':�I��\�G=��U
?Y��7��d�
-�f�s������;C�%Y�n��	Ԭ��HH
t�qz�b��5-9�i܃��
S�NN��/n��nQj�O�Wj���cz�}��"� � �k�g�Eg��H�GS����%�!a
L��=I���y���w"�~�b*�zZHȼ����<[�",㍢K�,5����I��%��08V�����ئ�Uʆ��=_a�e�1(�|O�1W��.�(�XȈE�
<5Ʃ�u��A!�~�(;ڴ8��-��F-��{J���l.pZ��sM�+sIU�Xmu�R
��
���2�M��TQ
-��к�}����|��=�ɍ��=�IN��j���,�#i`T��k�)4���ȬK�P�\
�,��U@|�i+�[���pY�Y{�*K����Q�5�.��<��KȸKE=�1j��vs���c���mG���P�$W�0���í{�3�:vI�M��K8wo �ҧ�e��㤨�Þf���-%�Sﯤ��E�J2�И ؈=�LDkج&�wG�L(x�^3
`�pS�S�Ax�2Pc��I��'l
-��ˆ0�`��%#УO��.���11�w̌�1"fuQ�񑘣]�z�6�0�<����~�P��*L	ُ1�Z�h4�Q�gዛ�Ϊ�\M0�x}R:aځZ4�U�Y��jZ�A��h���&�v�/<�}��x�
H��h×4�y�����S���։d��g�<[M�)��}&���H�
�6*���6�J
>�������
ַ<T?��
�rrI)��{���VMЅ/`AT��
aeh[
8Fժ�F�Z�C�mO��b�6���/7��e&m�
-ɳ�
��Vai`��� 5��� ��g b3�g�+6�N������QZ��T]��y�"gc����N�Eh�
�@�I�>k�69�%%2&~*�SuU�f�㩍xSJ��d��G�ݺؗ*!TV$�ʒp8�a�T��B�'Y7A�Q /f��
�#ӭ��/��y��5��Ό���tcɤ�g�V{�t?o|Ж�r��s#)������l�o%zj�0d�2��"6­��B���������������
�4�0Fl�~H2N(��J�l:��t+���@�n^Fn�L^S����1�w��ixTl�|�|9��s�la����H)hQ͆��5��/]�}y��II(�:j.��h ��Ex�u������/c��4e1T�y��Nd���H�!r�~��'��(9��ݲ��C�5V4
kN!�[*@pےUEa����jS7n5�
�
�E4Ӑ�k��v8��P���� �&�.*4WOL�]
E��F�t�����ͨ�K�49��^��P�	�����b�/�
c�mеe�.#qA"�k�	�+l�`�7H-��/�J�`�ڣ2�kh�������DP
-�}��n��U6�u���� �իX&�B����%�x����
1r{a�� w�������x�ΰ�O=�>}vv��	�
���0 at 1�-��4�P�uVTE���j�]�Ц\�#tA��|W�i
-�/׷�3^M�N�l��l�r�8\��V8"v�Ph�
K at Y�(ywy��١����[�uq�e�h禛�����q\�u-	"����3�wi���'��`$Z�W7�����v�t�<'�uk����|&}��6O�-�j�J

>��X���ם�#R�X�l}��,�)���^��ق�_�L��� ��S �߯X`̓Ⱥ����4
�Uk��:N�y�
Q��r�ͭ�Ps�|��
-׼��L�3'v�"���:/I-M`=h:��
�a/aލ4#@N�����O]�1��"�Ĭ��b�CD��3���h��V���
R��2���m�eqK(��iIe��^~�8����
G���3�`!>�
^��Z���^����/=�#N�^i0f�Ya�<����B�$>��օN���~;r�F�>^�<~�M%O���������m��W�鍂yS�/�Q���[�S`�
%��MM�j��8����Q,�gF:��6d�S�1e���y�S�C�v���ʲ�J���O:��8�����)�;i���L_�yΠ�iv���p%\�~�b��o�e�du����
��%�]O�
���I��)9֨�9�_��}L.S��&S'�u����t�`�$fU�d�C�V�f)m7(
��Z :�:�]�3�=�V�,*�)�
O��HDv�4c`#QW���ʹ��Z���3լ/��=���`��L+�<�Mݜ[,0�!fm�֥^pﵜ�a+?��3��n�]�����'  �7�%x뤾�yYK��hr�0�#3�#V�g��P�ܲ����¾A�}�4%a������ח����YVuN���]���>�Gd��˙v:���.��G��ɉ�>�����S8�J������s�U����'�v��N� � [...]
-�-
љ�� T�
-�������Fy�(Q�5y���2�<>ѻ���
�ݵ‘�Go�;D���+��U��B����M�VL
��ܒ�J��8ZJz�؉:��j ����)�:��ƥ�GGW4qЮ�
	�IR����	�m7�U����퐊D���}Z����R�,����q:�x d��0���LN�b~�Ω��f��$��`}I�]�._SL`�tЙ��i
זY"�I^���u�V�
��x0�g�fʵ r�mZ���M�]v�����$(i��ޜ�@�&�n-s������� 5

-��F>���]�
�J?�
0`
��e����E�ގ1+��桦�E	�1�����-����݌ �UV<�X��$QwDvzbpFG\U�
-(n#���"��Z�����3��1ЄF��
qq�7��j�Z�Iݭ^:dқ����m[��{"]
-1'8�8��
���WRs3)L"H��[�(��
?��環��:�f���x�I���;SB�"id�>��0{�›�_a�{��8C��g�V`��0�sH(��ƶ�D�Ex��&{����m���J��nX�1�zxY6>�DP\��v����7���
3�T�N�
�	1��v�p��vp�3�_�i M���
ߔ�Ӧ�h���)
-�
WW>�M��C�������p[�����7��mA����0
AJgwdS��!��L-֥2l�GA�J���Bo�K��aIL=i��pËB��Ճ�R�T�Ł�^��ξ�
����h�!����"�X6���6�^��r�����8�M�.�"ko��&J
-�V����͔kJ�~������4�IVv��U�u$�2�� �EgT1��v
�I1���_�P[s����~�B�r��W	�l#U�
p�ҳ�(���*Ưu�'�?�U�N-��Ŭ�Q���ԅD�毮3�5.^��^�bF����@(���������
6�%�XM��������U;�筎�,D�
*�6iȇ�
ʕN���P�P�pTi�ak\\ f�U��m�#���
�˻�,���*�aF/��FB
b �
-M���e����گ��"��v��
���X���̫в�i/�樺<���]dvʢS��Y�>�:hN����ֱ����h�ՎeW����;��؟X#75�B����\�� Ц�g^�����tkl�W��܃� X��7� 8n��f_����ݲ����I1��d�sU�2�&��p����ܽKzt���0oƗ<��e��I��OÄm�p��*`X�̄V�\�$qVSv��֎�J&zr(�
�~q,���R�<���B
��+
�t�sh:�hp�]*M�L���9G�Y�n�P��KY�
J�͢d�X,
"JI�Dz���+0��+G�y��lG�Iui �ݿs`'u
���d(wB
b?'���+��I��a�d6l���g��a����=X���T6�Id�X����C��bE ʍ�N�u�;���ZFL��[+�������X�3#���
-Ôk<C+gI^	����S��!�>��5�nn���}'�ƺGw
Z.f�U�Xw���<ݣ�Y���R�ҖP[�iո��}%�M�˔Ɂ��PN�ܫ�TJQ�x��;CxY>���;��?KÛ��e��	2z&͍�Z0�\��ކ���� �b<�
ZFe�P2�@r��"�?،�<���A��t.��,Gw{i#l�3{���WҠdN��gz�~8�:؋f#�Q��l���ө�bm��M�S��Ԃ71�F�|�
<��,
���,E�,�%p��X���XY
u]�guio�i]ê�X1(s@_��P��NcuPۄ�\�
�ח,�u��b�v;��3�V�����y���?��a��͡~��ښR�*�}�
���V��Ѐ��Vh/O���5����%
��eC�F7�v�,�C��O���7�8	ol���N!����
<�O5��
L�J�y*��]�E^�
������*���v�~?2^����5I=���+oWn܂
��1+���&Eb���|�ӕ[��p
-�syü�|oʦ��\�|���vq�pt�W��J��l��~[G7G`�%^h�q$
�
U��#���j�-Ό��CRZ�t�^b���)�-���&�
��Bi�-��m�����a&
������(3d�qV���ڈk�)�P��n���+�*��+�=�~b$m��$�w�5��x]s+	���;��Z�sB����P�)�����С���7zUs��v���
��5f�[��
�Hv��" �4(]�'=:"�����Hl�wwk���v���c
Tnm Td+��>� �
���f�
�v
z�!yid�R�
K
S&B��o�ԍ�ز��z`z���
����d����ڰg�M͸�1��m���"�m��A'
��G�Ɛ}U$�<��g
'K̅���F]Tm8�
�ޓP-��}h����}ԭ�(O˔��.\d�������
�Ky�=�ȓ��g��U �.[6�%�ԭY��-�?���P�U��t�~6���/i���
�j'�{�y�t���l�P>�¨������F
�Wɲ�^�g�=�fk.��N){9�")�	������Q���D�����2���<V&�4�yDv�X��d�tT��qP0%yd�@�"8T�d�KR���Z
i����g2/8'W��V�\����E�g�l����o<��6�1mqg*���ԛ�ʈ�X�TK�!h� �ˆ�4����j��B�&���Fq=�� �
�&ǝ��,�y���91n��U�$l��� b�z��3�9ꑺE��{5��r��7��_�Qb��ŻX3�xoh+�;\��w?/�/C� q̰��� ��R
��x~���bյ@?�8c&s��� [...]
-?ןL04��?�%9���	W�h�1$�� v[f����+1
v_�
�*��+���g�
@]������޸��
�$�[p�b-
z�Y� 'h�f:C�ʶ����?lH)m�tĖ=�Q�+�|:���
���B&@�k�� �&l���/�"O��'�"�W����\���
�`�0�i�u���?^.Oty>�����k���Yf�@�.%ҷp�B%�^�W;B�vw�
�k!;�%U�;�>�~SqBz�O4('��4͜�A�0�ҍD����%$��q�c�F�S�9�߄��ks�=��`�V�~W��:?����p��4�K��^4��u����o����Ls�0HsC
�~�$�6�B�룖&L��u
rc�/'��.�t<a�4��� W]RS��
�(�� y%�FP���r�^n�U�Z�$�2�ͦ=h$�H��V�����P����E
�SJB��b��0� 1�*��m�n��c�>���>�+�uP��G1�#�5��(ķAyq��粦����'�j�c����� !���@�l�]��K$�~_���#��~'ms�M*�����_+�(�$Hp!0CP�6J2]
��
��ޣRL�_q�&Ӷ
~v��R$��v�"m3
#�sv�?M�����6�37
�E�"ߎLx;��2U�PFcu������=����xL�,k��TJP���
]}�i;�?��9���)�,!���^K␓��M,�Ï�p�,��'� ��W	4Z'�JXY�Mw�R�&�f�q��� �>f(���N����!�K��}����y0.�?�q}�a�֚I���)�y݂@�r�OQ�VO,��+�
3�j�)?"�Տ���`��
��X����o���9T�
�;��Y�����k� [...]
-��-�M
_+|�Dw�d�x|�l}��x
�RA�`���M��#�HQ�4�,i���s:R�
v
�
� 
Y��e*m\�a�
�B��3�
�	��|�
-tOP����6T�W�DU�e��AKQ�T=6
��^�4�Mٖ�R��"�W�
�
-
�?,α�7�Q��1 A�k����� 
\���sǃ
-6�>3XlhVINê�^�>xy�]L�'0@BW=�㏗��MY�s��(��u�q��W]�q�.�E���
-]f��uNr����P��E�|yxv+v���C�!��s-J�"�#���"]�
f�5W;�v����g��
-�UJ$*�ev�
���١0�ȝ ����
\�M�VF������
��uص��Fe$�@���G������R��
OÒ�����Ȣ�{����\o��Y��O��*���'g���2i�~O캗��a��@��a������a<N�nڃ��蹞��K8
-���.�qa33�� 86}nU�P
�G�ټ���VC�l0p�5!�w�ϧ+�7x�|
~d�Vk�L<
�K\�ԚV�u�Ua��U�>	z�Y���7Õ���4���ӳ��i�����y}qܢ�lo���a�OZ0�̕�1,U��V�����#f�b�lP��e����+>7���p��HʭZZZѸ���d���Gs#w7����8s
L[�<I��|/��FiL#�X�ň{`Q��D�]q��C�
�V��$�_����-ij��c1Q�d��Z��Ҹ��o�W`�n� �����[\R�ZV��%O����e�->�A�@��G��h]k�g�KJ�OW��Ğ5>MP+{
-��X<{�{V}e�?��^@�W�����s
-�y�����Q�oO6��q,��
qz��%�|9BC-s@^
2�[Y�?��NL�~h�ݛ
(�[r7`b�V�R*
8}<�Tg�&�S�Mƪ�0U������-��̫;]
�*�� ;�ِV-�l`q�H>b�+@*>(��f�zi�:���˚����͒��ƿ�5G���9��+�&�
L�=}k�
�f�uw�9��`�&9�q�f<{d�,��W�p%P��L,2��5o�F
�̮�G��5�0 7N�>��D���"��.6-�m���
���6�B
�<�~1+�=Ox:u�������ג���[�F�N�t�a��+�QKWC9��i!�
p'�߮P�(���M4��z���/��><�m@��%�a�Ҧ�<���ޣ���+����gK=��3wD�Gn[��5eս� !Q�
��
�
�
V��sKp/�=>���[@q��<�'�x�S��b���J�!s�і
�����uk�z���
"����F�
�%���WUv� ���B<N
y�G_?c�p��m���3�]�vN�9
}#�D��8��
A�O��[Z�7�3�]�d��I�#y��,��){��T@��
-Cp��ۛ~�����(�;/X�/�_�Vά�*��K�,Ñ�n�8��Iv6=�K&7v��g�J�qV�
�`����,�%���"��r���^2)�Zt=�ֶ;��XL�e�3��+\��!>W�\hĘ
�M�O��fw���8��H
�ϝKm��rt��ɅwZ�9x +��)�9U�p%����:6���[ 3q�³Kr��%�c}#6+��[���/���T�8�љ�^��:�*�_O�SEd}#�+U8Я�����:F��]B���?����REB���)7 ��r�z��cS)H�a��o��]s����
F��u$���R��tf"��U:Ժj�}���R������ஂ��^���^y޺��َnYK|�Q<��8�����k�	.���֝U
v��ZG)��t6z���'�(����L�V�.��d)(o�	&�l.;���4�&�mC�Isu[�[�Ь&���k����ͨ|��RCJK&����{v��f
-��9��`�Y�Ef��
�p�
M��:]=(I7Y�s��l��;B
!�����s�E����
�����
�F�����s�S����p��%�wc~�c�;V��ЯI
��wq<��
3���@L�}_t^KMl�4�`L��p
��n�<	+W�=r���E[Y�n2�
OmIGo'�ܙ9Pש�'B?T�׹�W�
-q��كa/�|�\�����n�t"����J󩒣����@w���#�݇/��D5u�i����Mޞ{+�����^6���WLE�
������Ego���
���S
�x�؋r"���c��l	�繴,�L.$%��f)G��*��>׽�!dDQ���cm������VDZ�Z
n-�
��Dk���9����Ƞ�P���'���
-o��)٪q��Do���!��Yvu_Cv�Ù��Ӛ��7R�'���;�8���큌S�
d|���ZZԫG���2��)ė
M�����=>T�H�I��E�N��ݭaTa�ʹ6�a?嚽�c��sY�I�F ޠ��/:���x�+m���*%'j$� ��]R̭����sCp���R1�l���V;]\|YHp}X��W�]����Ag�/b
-��$qmP��J�r���������?x�N"T9WH�m�SӇG^�O��Bo��\�遍�4��W�
-ȋ�/��
���A\��
1��ZA�mA�V
������G��IO����zV
nx�Ɇ
�y�윈�)c�1��k��l�~��_��q�,�T�ov)0q� _�~�`�zV�`�肄D� t���8�n��y��a�7��l�G'��D��M(_��
��u�[
-Fe9Tf�1�-�^���,�SP��6�m�j�}6
1(�����?q� =
��bz�����	›2{A5(��pT�	>�z��H �<*@�:pV���@�p��U�)�
�
�ݎ�:4���	�G]�);�J�P�
�6C�hR��^��X����.HaiX� ،�2��:�~'Q�nZ 1
8�*�����Y��$\	�!%�s���\�V�@�G�wIf���lӶ��)��|
�~�)�f�I���/��j<'T`7]��u�B
F�z4�ט8g	:�����z����
}��w���^�)����J�Y�K�
L���H��˟����e2�V��1�����F�Oۼ�JH;��A�O�#�?ZRΫ 
)T��L�^�"-3�/�ua��Ω^
-%��=aV�;ϡ7 at c��إ�VY��$��=Np���_f����>�G�op��a�scB*Q	���X~�g���#kI����^�}�~���p�7
5�6>3�J�+�4� �^��̿͜�pl��؅ ���
b	�)��<9��M��x3A�"�䣈��y�0<MU�����l����/�
'���S?
1��,�ȶc9Q��|�ڌ"}E��>�S�������֜�XJ�m�K at DG��נ����
�EHkC�
h�n�nU�h=�
5av l���оd-�� ��>H#\5w�!h��&�Ґ=������
}s���͡ �>��`7)�� c7��l�
A�tb��)zs
H�
r�K�6j&g��g�� }Q1G��\��5^Y�h݅�>?U1h�7�������P�Uݑ s]��ŀ@u��W��C�������J=�
�#ݽ)S*lZy��+
U�6����t�:�"cT��Nb��/�c��!�Ù�����n�ɣ�XXk�{��[�BiK�-�ᅡ9
g��<4M7Fvq�(����Ƹ�J��`��V0?@Y���ԫ��<��b�b�r�4h
�ư|��c�
`Q��@ L\�{��F����)1�b0
-��z�S�-8
-ru>����J�۲�|ob���Z~��s�JaQ_�*�	`[����L6�!
��F�,\��. W�z�2&� �u�58l^����#�5��n�v.��#e�a�VHg`�V�T��
�
��;�(�tRFu
-�g��� FW҃�\�`�
7P:�	Jf;=��X��{P� x1��զ};�&]"�PF����t�
tw7�PӜ�7����<��r^��l�x�Adp�JHJ�X"��y����j���K�Z�Ҝg�t�K
��g�Ղ Utg
���m#gZ��Տ	e�L/+���Q��&�N
-����q
��:��|�k�V�bpH�:!U�h�?l.��	)�@�M���*d�[��˨0t�#
��b��%749z�����
b=�A
��%�R	�d�B�h��5O(&}HѸ��A+����������
V�v/|q���h�����8��?Z�S���!�DN��lg.G�n
����#��q��/o���;N:�^Z���q�T��j[��{��RqL�O���؝4��~��2���3Rj�"��&�5�G�'��M&;�����]��Yd���V
O[��iC�n�+�s�;U�I�e-��h�@0��ά��iA~��N�m�ǫ
�J;��
-B�Iˢ�
-m����+
-��k^hn�ע��^@
�%E~�е�H��O�ή��wH��AE"Y�M�֡-^��@+���k�Ps�Pgz�#$����(���o��LȘpK��H�1�Cv_1T��
-��
-���[��WI��%T9�:�hn>ݚ;�T#\���:�hl� ���S�zwM�A�/˹��A+j��+ȳ
�
8�|wU\��^T҆s�F�m��$]��.�P�ƛ6�k��;�s�6�0����W	S��
��ޝ�
�
��IX���$��S��p����
�Bˁ��"�k�b��q�9���~?}�͖�X��F$`�T��+Rө
�P$B�F6�O��5{ʎ�a'ӡ��?�F��
-G�������</V0C95D* G
ȉ
������v��4��������i2@�Z�7�{y�Ec��m�{K�)_��Mځ�Q��1�Z�(sV,ŕE�QZ2�3	�ѝ��0v$��n��O��[ĵ�/6�*E�
�ُ�ֽ�Ҥm����#��� ��
?Ҹ���N�0��ho��<�~��|B�Z
���3d���a
6�e�{�N�\f�j�.�l��
��;�C
�C���͐� ��zg	�EW9�;���OP�z� ^��2w/\	��w��������Ҍ��J=��MY�-��<Tݢ��:ō��dG#{B#jš��
S9wM �C_�w���g-��_�2*�
-��iu�cն�}���d����{�p���dM����ф�/(�m[F�(6�}�����C<.>��(:�ˁ�š%��uT€6m���}��?��1��@kH��&9��܎ey����Zl<� *8?��.��
���y��8~�{�0�
-���MU=>k�+��07N%��������-�n�:���0��eu��\W��|��<�cr����r��	�
8��Q
-�`�Qd>���l6���u��t� �,��B�<���9���W��q|���Eޯ�5�V֐��t쐓P&ʺ�:�Q+����C O_�"�eJ�q՝0�Wk(ꇤ�Dx�Q����c�Q��J�S���b~��M�.z7���
-s����.�ߎVrH8��=�ך'.&��

n��/���V��w�w�?"$ʯ5�W�Z�;q_���#�^�L ��aHp�H;lZ�s��c���6��f�e->��QNW�
��{�������`a���T7�-���/�|
�,�c
+^_��&̌�2����s鰽
�w���.�ٌ��`u�5���>
��3�-^e�z��3� ���3��@s�*!8푅�G�hg
�U w�g��m���FfܳX�Ӥ�[����c���Y��3ʦC�I!����@a���4��lQ�
���
�= :w���"i%�
��

\�'�mC䄋��zu�=�Q��|\�2E�W�\��
���Å��ђ����*zL��ڍH-�f�^8�-2��W"�;�&t
�Uj���#ߐ��x����I�TF|� Q{��2t/l�{���4W@]�/?Z$�
N�3��
:��ˏ�s�C#�m�CvSp���ߖ��x�aCl�]��-���YR2_�
���e9�{��eC)��zq��R(�)o
����vIm��K��RG��?l���9L
�\�["t���D%�ϼM
��M�P�F�>ഢy�!�ު�
���G^����½���#q�T��*��ӣ@�
5~=rx�4@,�(�>��8�>��8�^�̾��e�
X�/��yQ��w'��*�,ն� ʵ���p�� 
�˰:��I�(�=:	�A�^�(��;��rd�gSO;��}-�K�

-���ʟ��Ԋ���Jv�c�
4b���bJ�<�}�a�t���c�;⃻���T�
(��
182
\~�P���)���X#�^�I�В[�<�&�o�
Ur^6	S
�$
1���L��O���r�^��y��Jė�

����|�vJ���9(j�
?d.��su
��pM��{��*����Q��Տ�Z-#
1wݬ ����m3���p�B�
^=�?v���7	�/q�X�b�Kl�j�P��Cb����.I�	�^�WYF�C
-�������ͺf�
c�� �m�/��Ul�6�K���
-�x��f��v���67�N����*
��h�O�Ja��K?q�f02�#왵4�0`�c��BA��q>g52wz~%�.u}�$�D�~�'�~97@
�^V�g�e��[r}Q[A^�u�w����{�)rO{���y1��s֍4fa�����
-t��
ȇ�hN���̭�#���Z�}���
�7z���H��@�D��X� �Qkd�U�M�L$��6�
˱3Yp��P|�
��T�a�'����
�S�P߇�_��lO���iJ��y�̋z�����*^��Z��Xa
��3�@�Z��a����tr*�x��B�kOɺ����.�?t1u�/��g��6Z�6w�`�
�4�GH�
-�w�w
�_�*T;n�)/v�{��B�l
z��|���L�j5���̭��~hk���d�
*���Z]
��.�j�~q¾����\C�Tf
��z�D4�)����^{��C���Y(q.w
Y9����'�ˣճU[wwA^O�R/���
,:T��U��s)-I��$��2-ߐ�ҙ�
d�.�c��& D4�xj��GK�&l���$j�>��@!�sj^�٧ *�
-�
-���~���ٛ�^��k���.(g5�YC�Vm @/��
-endstream
-endobj
-3123 0 obj <<
-/Type /FontDescriptor
-/FontName /YKOZLO+NimbusRomNo9L-Regu
-/Flags 4
-/FontBBox [-168 -281 1000 924]
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/CharSet (/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/asterisk/at/b/braceleft/braceright/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
-/FontFile 3122 0 R
->> endobj
-3124 0 obj <<
-/Length1 1647
-/Length2 15315
-/Length3 0
-/Length 16176     
-/Filter /FlateDecode
->>
-stream
-xڭ�c��]�%\��ʲm۶�\Y�m�˶mtٶ��]�mL?�;g�\�������y�;֎{Ŏ���DY�A���(�`������
P��3qsQu�St�gPZ�ɸ��b
pb�@cW+{qcW /@
h�XY,<<<p 1G/g+
KW ���


�Z��0��䯧���=���;����h������Q
�Z�V�@��������ZJQ �:�-B����� oe
-�w� �
���^ L
�ͬ�)ͅ�/��
���4����4:��
��vV..�V. 
gc{׿g�� ��7�u3�'��vs�%����w��_�/����������+�oTeq���ji��Ol��0����N3S�J����/�jle�pz���0�rq�5���/���տ�ps�����
��@
cg3[���_�������	�ߪ7vt�����ÿv��
�\]���p,�c����mae��O��؛; X��m7ss��
������gh�&al�`o�0��1):��
	���S��O����[�o���M�����v��_����t��U4��� ��3�����
�w� ��
g�?�����jlge��r��������r�W��!D�-�*������o�����'�L����`nl����eװ7:�Z�����������_0uK+S����7�7��5���_0��*+�(����6+��
-Wu/G �F�Rp0�_��DE
<>
,�< V.濗��u�ae���	�/"��\+�:[y���Y ����+��B#ao�`�O��ۛ�m��e�6usv���������c��K zM��:��Zgdg�6`�N��
�����9�7���9�dD��T�ׇ1���~vx��:~���
��c�R��/
	��h�PSvq�
3�#f�i��\-�oC�r2k
�N����C�v�9�\=���b�?:"���7}��FiAk(>=�L>~z��
黁
�ǧ��K�g��zJ���e�|�l�	�����胞��FdO�� ����H�U~2�M4ݥyݲ���j��RL�
A����$�@o~{��?����L��E'����
�м���+�D͖u.�yk\�e��n��'�A��I�
��(��v
���T���:=Z8�G\�$7�\j/A�x��U4���q,]�0�>ÆjJ�杘�zB�x�,�Z�f�$xڸY�\Vm�
{���d�%�?��ы^���g0,S�;v�����VW$nr�w$�ՃS���9V�	v���O+���rp�w]W�
�����#�0/_�)X�Έ}*�CФ��yn5dQ=
F����V!
7�2J��h�^�c�t��d
#�4 K�
�}N�g����O�A^�"��>S$ųP~-�_N�&������yu����k�_=L�
��w2TiD8�X��]" �'�z� �t+�ǒ=�T����1�vc��u�0~������^7ǥh^
-
�<x`���UJó�Wsh�jk�:�1I�������R
-�U!�Y��[����Bb��ږ�>O�VL<�ľ�e
�ا�oݡ<��L���DV7V �vS��j��Uo�
�W-�ہj�<��F���u�PgΦ��`�	���p!,�$��Y��e�����I�79^���6�@u�~�N��3H��d�eiD�����"+_f`������H�		��zuH �V5
���Ih��@�G���O�Z�Qa��#t3���Y�9
-,�
�|)q������"�I{1�[E��Z.�/�f�}Pa0�h�TW�zLCW�X�PW��,z�m)co�Z
I#�8����dc�����9`�$[ZS�� >����m��
-ư��tCj��
� ɯ�iy5�ɹ��\y��r�~�Æu����
�1�L��,PGB]�q��4N$�gD���ŋ��ϴlз�c6g�eڴ�
}L�.��gk*T����N%��S"N6���7�<��Z��^O��gg��>K��
g�[�Aэ.��jQL��^���+q�a^�; m��{�OxX�jL�u��xCM����bJ:M=8?(����)��#�b
[�J�<���5�m� ᛼��v��	�����p�3:u�JXʢ��u���u�&�f�I�B�
t��6��}�g8�q����F6�$GZ�����*��ľ����*��j����a��Z&�o��D�[���ʲ�� �Yj�̶ܔ���׫{��;����_E��YT�{�D!�	���#:w�
C����k�A��;М-{Ž�Z���M�i�������7^�Sځ�4���l\f�
�
��
-�>u�i�VB�z����F�F�+���e���o�^*��"����
_߉��I �ؗя��	劄P�
 �0X�ko�:������	��!`	u���ۈA;�{�#��t8Y��*1�����c1x$�Z
-OSm���_�W�uJh>�{D|�y3\�<�/}T���ֲ�����_���(�\�9�~���p�o��ۮ̵�Y��^ u
-h`k9�~�4v2A�ȶ�3f�R�ً��6�����J�F&�g��7��44T�iҵ����\P��!��7�v*�@6���@��\�|n�����6d2��=§��P��E+I�

Rְ�+/(��R���1Dd�Q6���m�5�����jZ.�AH6q���#��
Eϔ��*��qk$�3B&������f[��O`�}��Uݕ�ӈ/�dń�K�}�����|^���.y"��
��
-����_�1�]s�t�.%�)�;���,���O[v�%&S�?a;���#���[2?��	�vg�lV
��{��d�I�-�Yd4�?
q��ypM��*�"k
;b4�sC��Z~0�u�Lb�amA�%��͌���vȝӕ?
I̍�j�a��F�D�Mʉ��q:���8f6�
i�VаD�0��g�
���Z�����ѫk��a���l[�(���V���
$�F���؉�Q(�W��.ƒ����S�2)�b��5gq�d����/Gi�̹F��zH#m�2����Wy˖� ���i2�YƁ#�u�4���>��
�9��!)�
���
��"�7�<zT�}G���9-�&p��i�,!�
��@�����@Bs��wŅ��X~(��K�,��h��@٬�E
$����Nf��p�s��ʋ��U����¬�o�>~�3��c��th�BڹC3�&��>�"&EՄ�?�
-��V}sW�k?��^^W>��Z�^X�Kx3���[M>���-B�!�W�v��R�f��g�&��\2"���\����A�����߿΀_��z��Ug/�H�j�%L�9tLVN�=�O�v;[Y����eT�@x=�����Gm_;Ĭ�Eʜ���W
��~�Ɋ�'uR
>9���\���Y���;n��z�A�^�h����Gn�K��2�X�
��
 3r�.�N�7
7d��x�=gY�_��v�l+��?.�p�W���Ś�N�q�`|
nm��C���
�*d=�( ���m!�#���,�|���- �!�V�L'cSb�Ge��n�R�aI�aL��z+�H%|˥���=ya[d]v�l�O�Iu���(
-��6!Xo=�yڝ� �ι�+�/���
r��7k��"̦��� l5�
�}��
���4�[i
- ��O�!�(o�`����9���TT�=�ϕ
�X����D}s��d�0T��X����5�w��7�Ŋ���\;�T5��
3�aT�P��
e��^��	X��V���Ov������BbgY�%���:�{LDd�1�iOj���*��h��&�ƞNzE1��m�v-f\h
-��+xU�4�3�0���O�� �Be�dimU��lw��ڤ�,�SHR���?��
uuhT�:UR��'��`@�M��A���� y<�SJOz�m�8n^XjdNS���M7��n� ���l��p�Wt!�dC��p�:S*�ѣPk�������*H1�-�m���&�/�]��C�����i�a;EF�;-2��
-,i�-���
�.���o�N���R���0�c;���>N��
��s��^"9�Bq:�;�_��%Tѡ�����"�� 㡜g^Q�^���:_��C�
-�YV�6�4&n]�
-��'ZԈ؍�����C[�0X��M�\3KE�bR$����e���o'\�"�O���d �����9�mF�pdd��p��
���61D�8h��;cixV@����$�����K�^�?�����C�3J
c(
d'�
-{N�z�y,��Ϧ9"��
-�#cH|_Bm6-�, �Z
P�Zc���/�g��dz򕟙�\3
�6���nي�XQyB��ټ\�Y;��%��^�
������/�eB��\v��,���4� g�G ���U�~+
��GPP���\v��.ܚ́9�e��h
�i<�y��N:�q2�������0]jWz~a�+�Wk+%Y��z�7��W���FV^��
-3�]�8$ �oh�B.�uD�	�������>贇�'���~
�`�߅^����wT�r�(Zzٟ9�Z�9��@l�.
ɶ��%J^�<ދ�9�$�Iijm���H�w����P���?˧P��$�}6�-��
�A�|�c�ƽ��Aͮb�{
�U�Te��8ת�����f���ƇL�D�
K��J�z�H�Z%�`��/M���u��|g])9�r���؀4��@�:�qA�����G���T��Gu�h��>#�>�Ғn4U�u�٘�,�6���^j���ы�1�=
"L|"y3&�E��-��7�GaI
�Z�4��zײ*wʆ.����s	P]���"��;���(���x�E�RE�,�!yc��u�+Phy���ˍ�r����{���ͱzI���a+D��Qg�D��,���"
��t=��*~0�̑��+��ʟ�7���
t���$1����Q�c��4G�a������'�+��ʋ��(zC��
Kmjn�%�(Jl�B-��n�<+�TY;�s��^�f��[,
xh2jT|����qȀ�R��ȉ�5�?�\"mf�qbN�6�~%��.?��y,� `��M4��](�|���M���~0,f�c4<߯_v��-c7���V6���
-�.d��oHE��T[/��8�_�����:_��fv"�e������
����� �A���7�[�|g1�M�Z���񔸁+,f�C�F�Y��E	w����o��ݿooE�)�D���l�*"�D�\�QP�������6��XCI&�F���#��ʷ>��V��D�$`g��=�3���0���
-�l�km�垹��1�i��������
��Ot���o����n،� ���4u.û�s��,�ݻ�Vu�
`J���>���Z0ÏEl;�NzmVװJ�B����'ɢ+��ffܑ5��e�V�P?�R=��>��zur�jߖy��Ye��������4�^i������J'�jM��N��=�
�l�<ߡ&���t]�W�#�h�~İ���yޟg�.LۏV>Q��AsvS��Z7o�ҩ�E������#Ub��m6>�r�m�0ؘ0elzk��p��ʣ��h/�����
vw��j(/T_��oː�S
)x��{�<-€�N0���
���m��2t۫���2����.W�Z���{i� lފ�)Q>����r8���+˟ ��P�lW]_�g�Ӿ�<�,�k�o±��X;�<�z�(g��Zz0z"P����ɢ���{����J�,�HR�r�;*C^����3��Y��3:X `C))��r�(
���7�ו�ka
�-��������@+i�R��zI<��iQo>�,�����+
�|��E at 8sma���|���1���V_�LTs��@��;(��%2���ע��=%{I����o;t�o�;�u�Ɋ'k
�LA?1
�t�I�
�R��X�N
��q
bS�{~�
v��9��L%���D
-yc���"�
�Aр|
��so/
�1KN��h1��?�n
�����
-�3����Q�>�i����bz������L��
�?�:�T@����T5���p�#W��\$
r�_ͅ3k���}��0#�����-�b��a �qY��Nt��Xű�a��<Ҷ�J�e���s�.D���b���fG3�j
v���
��
��ӱ/7�{>�U38X7�*#ϰ���xQ��{��;`�>�B}�h[)^9�;펑�`��
-�
-�'��7C��'��%hո�	1o�d�����$>*��q�ȡ��
,�yG�;�~��z�D��
��UD��?N���%~���.���.`<
[��TxH�K��'X�q����e�p*>�u���DZ��T�7�yN����
���q���2��k
v;�,��
�Ez�L�j��1�&�py�Y�-�����~��N�z��=R��Qs/R��<�V=�ީ�4V����y�h\��������{i:n�M���� ��Hd�����!p�r�)�2!��#��f!~��&b&�y�3������z
��zeH�N�D�����W���?�I��,.k]P���������aqGN�}�lQ9����W�{/�e�D�D^jȼÛ�
�ɀ�J������d%>5�[���ᅢ��F�*����
�M�*^�|�L�
	�>�

�ܟ!R#?�?k��ɤ���lo��2}��?�9 �fr��ͳk�
nU��X
-4R�t�d�[���
-Z]v���O�����\�<����I(M2��&�ޏI槒L�)QD�	L
͵L�R�!ou]�C�S�f�7�S���1`�BSg��5�����t�񦬈�M\<����X���*�wa��I�S�!:e?
u���ђYa?�\ 1�����E�\�
-4���$Ն`���ԛR��K��?�=�J��y{�7ח�7�&`z[��ט	<��M���VֆE
��ui"�/�؉����ѣ�DE�
�Q��j�T�뷹BQ���\[���M���Wigf�Tr�J���DuP�ޅ�A;�
������\��!z�r�ٖ��Mh͡�ӈ��R�2�{l��Z�G��NbVT�d:���!ߋe5Qfwܟw���Ogo�	�/�rY�����l04$g
-J�
=�+���j�>m��ɛ�ٖ����J��BF`B7����(GfHݳi��5�C4�7�@)��k�M�	N��<5|c_����x|��E�jJ��k��׸V`�^�0'�Rf��7���VuD)X
XksBi[w��%�϶
������N��4�k�����$y�#��|��V��Q5hEa}4*Lñ�QG�'�,�o���\�Uc�*�l�iK�?��{��O�I��u��c��<A[{�|�m��V:����u�m�omSa��n�u�b�V�	&-
�)���pB^N˨=
�ē�h
-y��G�
=���٥
�
*����d���Ϥ�-�(��N\�*
-K��QP�eɜ�v%D<�}��ݭ�{6����c�+�D���ji��ʫ����
%���sjz����b�eJvmo<w>
��g���@�-!��p��ᬱ�zyd|�^b
e6�C��N��BY�yچ�����}ue�i�RUFZ�`+��hm��{� -`�t��y��3�8:=�2���f�@1r���'�-���[Vܚ*�Osg�j�
�C�lf=�"SX��H�Q}�<��f��?b6#%�x�Wr>O
����_;+*\/�	-%­��Pqs�3�cA����
�]�;��p���a���
Y�'!�Ո��
ؒ�yR�Y�eK=������n��c�v�'E��H��U�a������Vg�`��s04�J���Y��Ds]%�*g�����N>��GF�c��L�j�2,�Y��
-|�M�ƌ�j������Һ*�%z%��D/3}�z������- ��b����H��ŢGP
2�
!����7���=a,�!d����cdO�jr4�*[�̔Q��s�e5X`?x��lG޸�T�G���`p���Γ ng5�yU�
�4�(3AE��#����*L���Y�A�?Z?�|,^K$��
��?*%x�+������(9.I����ya%-6��8��@�Vo_�vl@��=��L ���?M�h�>^��)��Y��R��"��%��P�Q������VFIݫ�?�����G,BCDj�^��>��\$&�����>��ɪ]]�oR��S��ܛX۵j��IK#>-i�� �3tuW(��>nZ�$^ԁ���*S8OVư-"�OH���C'�H�v�B��
��K$�>c�ܱvN�^8,K�s���ۛX�krZ0'�ր*YИ:�� ��TE��+X�?'�\��?��}���TƄd#d@�nS1��ft�b@�32T�
�
�� R�ZH�#yv����o�ŕ�_�2�qHD���:�?��q�׶����
-ƳիX�ݰ�gdKW���lDH���X�*����G�S/h��s�
��S���+!��:��<�Ɓ��2��è���(1Ȣ�
91D 6��R����C�*裹 ^�#l��kaW����VnJ�G��k���b��e`Z��[�w�tp�����[�tYn5mMJX�11����f:�T��߁�
-��
:\��e⠨db%_	��Y��8~��}���� �\=/�&@
-��\�حb��;�y-I�fZ'>�|���ԡPO|W�+Ty�3��/��Dx�(�]�d����C�oe��@Yvf�p
_
E[])��qO��C�w�-N�
SQS��C�Z=}�
-m�7�Jr�lH�*���eO�J��2��lLLyØ�[C�1�i�:��j|�\7��J��1u\��Ҍ�
e�u�j�Yz+xH�g��k ��&>�;X�
�c�l���z�
�l��p����cU�M/`���"��1��Z q�E�MM�������UE˸r&��q�f��ً~ށ�0����TR�l�a�5H0���.�)�(�&�+�iOC�h�(���G-
,[?0�Q>�0�`��z�A+�����My�\�Zq� Ԛ|�Z�{��������*
;��@���%��
�A6�����g)聶.�t� �^�v�}�4�Slf}��#����p������dw��)���
3v%���e-T�>��)U9ÊTIjsڣa����x�h@��q�2rf	�O��x���9����8}����
]������^ ��-�
��$W'������@����ꆐ���6
M���;L�'�η$��
-�τ�ТZ�ɥ��:�\f�U��@k�#�sI���㦷N�
�]�۷�u��3�[iV�
F��i�dtЫ�C��Ē|<�ʻ���>V�r�/M�ǒ��/�ސ�gaᎮ
`��"<��|%�[��xUYIw
�z�˶^��C�-i���BD�v}�ޜQ��X���߈�+�2�f$DՍ�*֔�$:��Y~������N)-����D-�0`����3_
6���&�ڎ˪�9�ߜ>Ll_�NV
-K�)q�	7�զb��R�l�o"�L��'/��?� ���=݂�Væ�� #��H�搑@e��p�W��l�
3j��k��
<�g�
�O�����u_f	-�gRk�S���[cD�'J'j6d�c
���/3�n	r�2¼1n�>�X�Pe%��1O�,^�GdS��l��
oϮu�x�����
��	d��E�k24�l�X��%$U'�=�ɮ�I l:Ƒ�
-(op�$�p���Am#��3
d[�Kۡ�T��v��Fj���F�����%?�Jc�ĵ�ᰏ�x�
-p��IJ����n�m�t�z�O�*�Y��+

�I�ѭb;�޿�"~��9����OR�V��
�.��S�(ߐ��[�χ !�ew��eG���n8<1(:COI�� Tjj~�j_��B�b�y����Б�8_m�p!�;� �?e,"jmSXZAT�TP�hG��A)y"��+���N�k�B�E�2���e�;"H$K�
-�
�UĠ�Q�s�K��h�
[ ������,΁ŭ�?u���a�1�ٲ�Gl�P��8�@d[S�[���fu�^���?W��Ѡ-�T�ΤOr#.��Bi�`����� �Y����f$�Y�/l��I����
�GA�7�}�Y]�Z�+Y�Fl�D�ho��_\�����Tl�QY��o��柿OI�H!�M���
���Ԩ������-���:���*H��מ*У&FJ'�m����bL����}� �:
-�5� ";?��L��]p�MW�A#
gOݡ�qa��I��ʃ��g�@�?�|�Q�B��ڦ�EO�*�A�M u���iEc��g"��n8���K�ă��_�])<;��/���0�@�
��p�F��~k�t��(�P
-Rׁ���d���_��)~�(PXA��r��

q�a��j%�|)0��nGą����}������^�Y�:鐙2��
��Z�����r
@�� �'S��wW=�^�9�_9-�A�qY_���[
�|R�p֧8��*��mi�?�rVӕ�/Z�!F��k�ZR�"3�<�u�i#&��C[�z��`�P.����֢��t��9zPa�h�J�
-�u'�ec-0J|&�Żv�}\���\Z���ܽT~d�Ƚv�*~����m����Y#%ɏY�
��PG�����z��{�Vl��
-#U�k>hfdUOi�Y�S1I� �:�
�Oa���s������:Lb��8�U0�sg���l����
��>�Qޤ���j�������̃K�;�'6
����<��$�s�/6[CJ���O?��=�5Ϣ�E&�%�#�tHҌ�Y��nw�͒��E���u�.�ʫ:
�S0��Y��O��>��2���~�ă�!��ӓ�=�%?�̽y����KV]Q�� 
�5�w�!I����p����,�F\/��2-��~�RB�+�8��7�~]��¸�&:�kA�Rᩳ���b��Ͽ�z���B��~�
sb��b�V"���a�v��ҡ��tu��)�X�Z���\J��S���J^
�D��QM���E��Ї�k��C8����
�h8�ou��gߞ֣눍59���d���R�����[^����7���
�{r< �5��6���/f�����jX�Z`���<N7�Vdž+m*tp9!	�p.߳�ۢ��M���0g�I��,Q��{s��$���v�|
�8�=Mʞ�O

�yV�˫ې��˷
�ҀQ;s��w�3��I�пj��yH��$o�Y�J���
⏲!R~	��5\�Ş�Q�,tɲ']��U(���&�a�t��2dfط�����*e7�7�
�h��u���8����W��k� �zJ�a����6�A#���J��!�"Z��ڟo��&���JU
da+�Pm�a3�n�n�1;�:��z/!n�`C%��
;�#�
��� �L6�Nu�7�L�C
� ���*���w��c�;h�'h�!}
�^��PC��
-�9�|���/Z�9�R��7�U ��+�
-�&����?��
����
!�ͧ���A����s/�w��{
�x�Ğ�ygӸ���p�^?1r
�
�|QA!}o�R����r�ʁ��Lqj�L��4Ə�E%������
y�����j(��u"|�qЉhP�<�8�'��g(X�l�G+ec������f�� ���Cr�����:G��P+v�&P���T��R���2
�&�h�-�0���t�ѳ?Q3L���"y�Km�

��>�ްf��Y5�h�o�w�y�V��`JpvzJ+��O\`>ٲ]zZjt��A��
K"%W��׀o��0Y��N�.�lRơ>�`����	��V4
��=
-�����ی.�K��P6Y��ɵ��D�:�Nj�\Y�hԏ�(��_�,�^��U��Cy�b�l�
|CP
<�����d�5���~�T���E7L�`�А�ȑ֑٩�&cd�}.����
-���W}�f%Ĉ���,��N#����эʁ?7�!�v��/� �Ӡgy����t\*ֵ]�����?�GH�ٮ�q�Fڅ�i
���H
�^�
-f���M<wmT�ě��5B%{����Ϩ�&|�UI��Et��OweEv"m�z�v�;�&n��[�@��e(ta��3鬓T�2L%�A!w�}��*�,Ü4��d��
���?A>hO�|�h�vu�;\�pi�"a����ݬ��t�
}7W�~b��O��p3c����t`;���rk��sÂ`�an��3��.�E�c������
��4�~�8V�y�a)�B�0,���.��r[�����'j����
-��Nۢ�$�(7ނxru��T�)�X�W���
��'If���Hg���㹰�ҾFYd-B�
M���R;ꆣ�[O��EgU���YV;�0��i4��H��w��
-.��Q7���F�6�qP�8 I�Bu�X6�m'��c��m�s6
-[����ڲ[C�����s��S�z�qFJ �NQ�6l
{�h
zٺ�z�7�x������I���
s��팰�����ǑMܨ��Ѽv
MC}o�|�f��)x~�-f�$m�<@����>�s�sM�nY����G =��[u.}�@Eů�gٱy��hL�i1?�d�a�S�uE�B�zL�����Ͻ�U��KF���>
�ɬ�~sD�F�h̛�*}�
gZ.-�Q�&�gR at e엧�9�AV��^���X
U��#(<��O���T 0iQD��|�ߕryy�~�=:�Rޞ��Z�HN ��At�Q����^:5 �
����B�6M�!
��Lj���w:6�c^���pۄ�Q"��A�X��F��[
���J��<V�]�C
�}|$���vT3�B��H.,�%�9Mfe�-,ι�Ls'�b}B
���F�r�\f�<���@�i���
-�).���KaK\/��� ��� 5n\���
bz&_J�# ꐜ�ʺ�H1,o]�����@Nl�X��7��y�!'�|D��]m��l
�~L�p�
I��G09�C)���Ї�3\��кN�q"��
W;*�
���
-���h��.
-@���F�����\�/�ļ6�F�˶%D�2I���q��a4`�ͣ�$H����A�#O@��PyY1�y��7��ʔY��<��D+�]���;�&�f\UBh)���@
=S0��X	Nn-�էOj�aڦ�;��9&DgǾ�!4����n����
��y� �K���,��&�F�<��Ŗ�f�Uoz����:<8�%��
�8h'�����3�3�J��J'�����l��#ū�z�7֦�f4�s��k�� �t�����c�Q���-�
�&�,�>w�s#O�>�i�v��y,�Έ�K7��\�ǚ�X��Y6X%��*-^��O^i���Az!	n��ƻ �%+<�.��i�
����8��Wen�@��=	����YC��_�4��F��;�
�{Y ����4�����p�
�Jx��k���t

�?����@�ܓN�r׮u@�ө�/*��t�9�4�D{d
7F�����#�m����Ǿ5��c&�b��Ya,}
oB�)�f���=	qvJl�3Ț4ڐ05��C�Go�V�"
-���b,&XfP�c�T�}T|ͦ�
�����*��vW��`�ώ8�f����JG�r⥲
-dk�&H	΀�Ų����ً˸�l��pG��x㢧�2��a�����Z���o��~N��~5�ibC�

㺒$Q}��E�E��F#/\ֳzY�⳻z��]Q8��U}�8"(�_k� �qT��Į���X�WB�6Pz'�M6trn�5�c�����;I!��9+
��84����뒁����F�e���ju�L���jr�e0��9�n�����d�����
-ޡm�j��vL��
~����"I�ӥ��H�Riȩ��Q�^��fq��X�br�d���@�د?�
���IZʧ&�b��V5��p?�
;�F��V��*�[�׻�e+_��K�X�c
-ۏr����%� *ɋ�e+��Ƞ�xJ;&�9�6�*'�n�g�U��
_�~T��K5`Uz��j�1NѨ�[p\

�%�R���]��W{��W��/���:���ҹ�=�

�v��-5j˺C����̛�Iޑ�5:��Yf��.3�O�n�y#�._�K��xp�&�ֶ3el~Kz���ْU�<bL�	��ƕ
��ҹ�;a|��pڪ�5�<�;�$
�#
��)W�_�u�y��r?��Yt���nv}�
,���1!`�6������0@�I
�� �����,�C}Mښ�������{Z��ժxF]����Sg^�h�g�꤇���"Sa}�ǀ�����h�JcSn$,�Լ

��X���
-G#X*���<QZ]n�U��!$�����
�Gsț��

,^��E8�c�r���z
-�;�8gK�`I���
�L�Te�qāug��<n��s����)
-�Ōb�q9����EŸ��i�r/-\Ku��@IiO��J�bץ��c� ������>��
@�;�1�q�

r�ۥ�I�
������b�����W*n�����ZF�.b�x��,��+�I�F�o�ʻ�*�7u�)�q��~�)�$w4:v(��w1�|9lY)��j~*�������흆)Y������qq�e[��y�9�Y�A�������\
���[�Ep�J�-����M�^��S�+]'."��>
"����J�Z0C��V�V�f``�L��Xh�p����m(D�������Q��58tO����pǧ
]�mM�Ӡ��z�d
��
\��������8���?.m�e�b��	��@)f �0e���
O�1�P.��"A�!DY@�\`0��kZ�ơ��J�
L�x��ګYk���?���Ӊ�#+���w�Tl�H'����>F+�B-"�ٿ��T8F� Ǹ͙�k[+�b��~>ɪ���M�C�t-�F�S���H�J� �)���GB��)���
-��.,�I��<A��~m�|���ž+=��A�k�]<H�
- �y�N1�
T���VZ�v�5��`
��Zp�e�IQk:g�3v6���&w�=P�ϸ ^�f����n�� }�lv6Q|��k4g���w33D����_1M�����U��|�W9+ؽyJ�f
m� �]�����'��/e���F�R"	�xX�������V.�K��|����8�D}��$�Sf�!�+���/�!
1�
�U�5�lB8�|P��3ۨ�o+�!Ɇ;����%G 
�(�bi���V
�n+Z/Uy���Y}�K�w|R��Q�	7$lQRK��0��( ]�
���I�s�����֘�U��c)�ܑ2<(�5k����01J-�ƀ�~H{�
w��5O�jؙ&� j��D�m�]}�l! 4�4���W��q�����vbA3��6�֗���yC[���,U��^�J����o��3')ZO����k�Ұ�n�k2�Eh~�)���E ��+L>�ıy+��u%�4/!�!U��+Nw)��&�[fCO�7U����PYm��
]
�$�����z��	�
���6���k�gy,�f�Eg��b��
-�
-�Rb��ik)|.�IC	eʀ��m��s
<X=B�dz�T�R�P$y�
�KG�r8����	���NeX	�b
��8��_�i�+�Y�	�j���1�����1?�J�}�ą�,?�+o����1XA�Q !a�3��
��
B֔`��!�0���SN9��F�n�D��ю3�J�P�#_��]u�X��i(q
-K�)$=\��W�~DI!p��
N**�<BQn@<ī��19�I�E�
��<�R�~��.ā�%F;�#��B��|L~�3"z�
-�}��O�~����"s��eV=��
>�C:Q���L�Z��"�L���/�j�+�K�o\�HOd
��)��{�:a��	��3�e著�1@���\��e���"Q�z����`�*X�Ê�џv䟖�����?�\�,��K-��	
��ʁ�NNS���XC9w[�R�`	�\�;�KE��Ƅ�&q����z�O��$TR)�5����Knd�!sut�
��쿖��@k��\|=k�>m���+��,KO��w�oFF��vl��?`"���J㫋�]����O�F��Kz��M3	�mca��PJw�R��a*�N-�?�T:8{��4�������x�'�D����W6�,(��
��}�{ڣ+��I���C�����
ՏP�̵�+�`}���
6Dv�)o��	���L�/���2�S�EP�~�G�p}ࣧ�p$�u��䍗��e����y?��2:N��v_�Z�i���C���GO}�g$�L�W������P�����CD
�?  f�@
-endstream
-endobj
-3125 0 obj <<
-/Type /FontDescriptor
-/FontName /YZPPIP+NimbusRomNo9L-ReguItal
-/Flags 4
-/FontBBox [-169 -270 1010 924]
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/ItalicAngle -15
-/StemV 78
-/XHeight 441
-/CharSet (/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Z/a/b/c/colon/comma/d/e/f/fi/fl/g/h/hyphen/i/j/k/l/m/n/nine/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/semicolon/seven/slash/t/three/u/underscore/v/w/x/y/z/zero)
-/FontFile 3124 0 R
->> endobj
-3064 0 obj <<
-/Type /Encoding
-/Differences [2/fi/fl 34/quotedbl 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 64/at/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/bracketleft 93/bracketright 95/underscore/quoteleft/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/braceleft 125/braceright 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
->> endobj
-1167 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /LBWBDW+CMEX10
-/FontDescriptor 3079 0 R
-/FirstChar 80
-/LastChar 80
-/Widths 3061 0 R
->> endobj
-318 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OTQMQX+CMMI10
-/FontDescriptor 3081 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 3071 0 R
->> endobj
-1026 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZGGNQH+CMMI12
-/FontDescriptor 3083 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 3066 0 R
->> endobj
-1638 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OMWOOP+CMMI6
-/FontDescriptor 3085 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 3056 0 R
->> endobj
-1168 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /NNLWPH+CMMI7
-/FontDescriptor 3087 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 3060 0 R
->> endobj
-2316 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /DGLWIM+CMMI9
-/FontDescriptor 3089 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 3054 0 R
->> endobj
-341 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /CZIMXX+CMR10
-/FontDescriptor 3091 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 3069 0 R
->> endobj
-2314 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UVIORO+CMR6
-/FontDescriptor 3093 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 3055 0 R
->> endobj
-1170 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /VWYYIV+CMR7
-/FontDescriptor 3095 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 3058 0 R
->> endobj
-1136 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /EBURFX+CMR9
-/FontDescriptor 3097 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 3062 0 R
->> endobj
-240 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /UUCYST+CMSY10
-/FontDescriptor 3099 0 R
-/FirstChar 0
-/LastChar 54
-/Widths 3076 0 R
->> endobj
-242 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ATFWDW+CMSY6
-/FontDescriptor 3101 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 3074 0 R
->> endobj
-1169 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /ZQLTBN+CMSY7
-/FontDescriptor 3103 0 R
-/FirstChar 0
-/LastChar 48
-/Widths 3059 0 R
->> endobj
-241 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /JRVZXP+CMSY8
-/FontDescriptor 3105 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 3075 0 R
->> endobj
-1424 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /GCEPBM+CMSY9
-/FontDescriptor 3107 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 3057 0 R
->> endobj
-1135 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YGAXLK+CMTT9
-/FontDescriptor 3109 0 R
-/FirstChar 49
-/LastChar 109
-/Widths 3063 0 R
->> endobj
-2407 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /OAKMXN+MSBM10
-/FontDescriptor 3111 0 R
-/FirstChar 81
-/LastChar 81
-/Widths 3053 0 R
->> endobj
-1102 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /SFYBYI+NimbusMonL-Bold
-/FontDescriptor 3113 0 R
-/FirstChar 44
-/LastChar 116
-/Widths 3065 0 R
-/Encoding 3064 0 R
->> endobj
-273 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KKDVLJ+NimbusMonL-Regu
-/FontDescriptor 3115 0 R
-/FirstChar 34
-/LastChar 122
-/Widths 3072 0 R
-/Encoding 3064 0 R
->> endobj
-414 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /PKMHPR+NimbusMonL-ReguObli
-/FontDescriptor 3117 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 3068 0 R
-/Encoding 3064 0 R
->> endobj
-271 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /KMUOGT+NimbusRomNo9L-Medi
-/FontDescriptor 3119 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 3073 0 R
-/Encoding 3064 0 R
->> endobj
-816 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /INVNVQ+NimbusRomNo9L-MediItal
-/FontDescriptor 3121 0 R
-/FirstChar 2
-/LastChar 121
-/Widths 3067 0 R
-/Encoding 3064 0 R
->> endobj
-239 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YKOZLO+NimbusRomNo9L-Regu
-/FontDescriptor 3123 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 3077 0 R
-/Encoding 3064 0 R
->> endobj
-331 0 obj <<
-/Type /Font
-/Subtype /Type1
-/BaseFont /YZPPIP+NimbusRomNo9L-ReguItal
-/FontDescriptor 3125 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 3070 0 R
-/Encoding 3064 0 R
->> endobj
-243 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [234 0 R 268 0 R 315 0 R 327 0 R 338 0 R 346 0 R]
->> endobj
-358 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [353 0 R 361 0 R 369 0 R 375 0 R 381 0 R 389 0 R]
->> endobj
-403 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [396 0 R 409 0 R 417 0 R 423 0 R 428 0 R 433 0 R]
->> endobj
-443 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [439 0 R 457 0 R 492 0 R 538 0 R 608 0 R 653 0 R]
->> endobj
-682 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [679 0 R 710 0 R 774 0 R 810 0 R 823 0 R 833 0 R]
->> endobj
-851 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3126 0 R
-/Kids [845 0 R 872 0 R 895 0 R 930 0 R 978 0 R 1001 0 R]
->> endobj
-1035 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1022 0 R 1059 0 R 1078 0 R 1096 0 R 1121 0 R 1153 0 R]
->> endobj
-1205 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1190 0 R 1214 0 R 1250 0 R 1267 0 R 1282 0 R 1314 0 R]
->> endobj
-1343 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1335 0 R 1350 0 R 1374 0 R 1412 0 R 1449 0 R 1485 0 R]
->> endobj
-1537 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1521 0 R 1552 0 R 1582 0 R 1632 0 R 1666 0 R 1683 0 R]
->> endobj
-1699 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1692 0 R 1702 0 R 1713 0 R 1733 0 R 1760 0 R 1781 0 R]
->> endobj
-1805 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3127 0 R
-/Kids [1797 0 R 1815 0 R 1845 0 R 1886 0 R 1914 0 R 1930 0 R]
->> endobj
-1946 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [1938 0 R 1953 0 R 1983 0 R 2018 0 R 2046 0 R 2069 0 R]
->> endobj
-2115 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [2099 0 R 2135 0 R 2196 0 R 2245 0 R 2310 0 R 2364 0 R]
->> endobj
-2411 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [2403 0 R 2423 0 R 2434 0 R 2446 0 R 2458 0 R 2472 0 R]
->> endobj
-2490 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [2483 0 R 2498 0 R 2510 0 R 2522 0 R 2533 0 R 2547 0 R]
->> endobj
-2566 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [2559 0 R 2575 0 R 2590 0 R 2601 0 R 2611 0 R 2622 0 R]
->> endobj
-2649 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 3128 0 R
-/Kids [2637 0 R 2652 0 R 2710 0 R 2769 0 R 2861 0 R 2964 0 R]
->> endobj
-3038 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 3129 0 R
-/Kids [3035 0 R 3050 0 R]
->> endobj
-3126 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 3130 0 R
-/Kids [243 0 R 358 0 R 403 0 R 443 0 R 682 0 R 851 0 R]
->> endobj
-3127 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 3130 0 R
-/Kids [1035 0 R 1205 0 R 1343 0 R 1537 0 R 1699 0 R 1805 0 R]
->> endobj
-3128 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 3130 0 R
-/Kids [1946 0 R 2115 0 R 2411 0 R 2490 0 R 2566 0 R 2649 0 R]
->> endobj
-3129 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 3130 0 R
-/Kids [3038 0 R]
->> endobj
-3130 0 obj <<
-/Type /Pages
-/Count 110
-/Kids [3126 0 R 3127 0 R 3128 0 R 3129 0 R]
->> endobj
-3131 0 obj <<
-/Type /Outlines
-/First 3 0 R
-/Last 63 0 R
-/Count 10
->> endobj
-231 0 obj <<
-/Title 232 0 R
-/A 229 0 R
-/Parent 63 0 R
-/Prev 227 0 R
->> endobj
-227 0 obj <<
-/Title 228 0 R
-/A 225 0 R
-/Parent 63 0 R
-/Prev 223 0 R
-/Next 231 0 R
->> endobj
-223 0 obj <<
-/Title 224 0 R
-/A 221 0 R
-/Parent 63 0 R
-/Prev 219 0 R
-/Next 227 0 R
->> endobj
-219 0 obj <<
-/Title 220 0 R
-/A 217 0 R
-/Parent 63 0 R
-/Prev 215 0 R
-/Next 223 0 R
->> endobj
-215 0 obj <<
-/Title 216 0 R
-/A 213 0 R
-/Parent 63 0 R
-/Prev 211 0 R
-/Next 219 0 R
->> endobj
-211 0 obj <<
-/Title 212 0 R
-/A 209 0 R
-/Parent 63 0 R
-/Prev 207 0 R
-/Next 215 0 R
->> endobj
-207 0 obj <<
-/Title 208 0 R
-/A 205 0 R
-/Parent 63 0 R
-/Prev 203 0 R
-/Next 211 0 R
->> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 63 0 R
-/Prev 199 0 R
-/Next 207 0 R
->> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 63 0 R
-/Prev 195 0 R
-/Next 203 0 R
->> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 63 0 R
-/Prev 191 0 R
-/Next 199 0 R
->> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 63 0 R
-/Prev 187 0 R
-/Next 195 0 R
->> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 63 0 R
-/Prev 183 0 R
-/Next 191 0 R
->> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 63 0 R
-/Prev 179 0 R
-/Next 187 0 R
->> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 63 0 R
-/Prev 175 0 R
-/Next 183 0 R
->> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 63 0 R
-/Prev 171 0 R
-/Next 179 0 R
->> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 63 0 R
-/Prev 167 0 R
-/Next 175 0 R
->> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 63 0 R
-/Prev 163 0 R
-/Next 171 0 R
->> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 63 0 R
-/Prev 159 0 R
-/Next 167 0 R
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 63 0 R
-/Prev 155 0 R
-/Next 163 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 63 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 63 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 63 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 63 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 63 0 R
-/Prev 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 63 0 R
-/Prev 131 0 R
-/Next 139 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 63 0 R
-/Prev 127 0 R
-/Next 135 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 63 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 63 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 63 0 R
-/Prev 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 63 0 R
-/Prev 111 0 R
-/Next 119 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 63 0 R
-/Prev 107 0 R
-/Next 115 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 63 0 R
-/Prev 103 0 R
-/Next 111 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 63 0 R
-/Prev 99 0 R
-/Next 107 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 63 0 R
-/Prev 95 0 R
-/Next 103 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 63 0 R
-/Prev 91 0 R
-/Next 99 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 63 0 R
-/Prev 87 0 R
-/Next 95 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 63 0 R
-/Prev 83 0 R
-/Next 91 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 63 0 R
-/Prev 79 0 R
-/Next 87 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 63 0 R
-/Prev 75 0 R
-/Next 83 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 63 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 63 0 R
-/Prev 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 63 0 R
-/Next 71 0 R
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 3131 0 R
-/Prev 55 0 R
-/First 67 0 R
-/Last 231 0 R
-/Count -42
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 55 0 R
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 3131 0 R
-/Prev 47 0 R
-/Next 63 0 R
-/First 59 0 R
-/Last 59 0 R
-/Count -1
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 47 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 3131 0 R
-/Prev 39 0 R
-/Next 55 0 R
-/First 51 0 R
-/Last 51 0 R
-/Count -1
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 39 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 3131 0 R
-/Prev 31 0 R
-/Next 47 0 R
-/First 43 0 R
-/Last 43 0 R
-/Count -1
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 31 0 R
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 3131 0 R
-/Prev 23 0 R
-/Next 39 0 R
-/First 35 0 R
-/Last 35 0 R
-/Count -1
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 23 0 R
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 3131 0 R
-/Prev 15 0 R
-/Next 31 0 R
-/First 27 0 R
-/Last 27 0 R
-/Count -1
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 15 0 R
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 3131 0 R
-/Prev 11 0 R
-/Next 23 0 R
-/First 19 0 R
-/Last 19 0 R
-/Count -1
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 3131 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 3131 0 R
-/Prev 3 0 R
-/Next 11 0 R
->> endobj
-3 0 obj <<
-/Title 4 0 R
-/A 1 0 R
-/Parent 3131 0 R
-/Next 7 0 R
->> endobj
-3132 0 obj <<
-/Names [(Doc-Start) 238 0 R (GFDL) 420 0 R (GFDL_GFDL) 275 0 R (GPL) 342 0 R (GPL_GPL) 276 0 R (classparma__polyhedra__library_1_1Artificial__Parameter) 541 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Artificial__Parameter)]
->> endobj
-3133 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) 542 0 R (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_adb3527cd368dc0c27de0d20f9a325d0b) 1010 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a45071a745fb30de24380e7e21c8c80ef) 985 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a46f81b7244ead222393409796c6155bf) 1004 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a5861873d6b4efa078c9baea63cc8161c) 1005 [...]
-/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) (classparma__polyhedra__library_1_1Artificial__Parameter_acd06275151af00aa4ee62a7317c547dd)]
->> endobj
-3134 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) 1007 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 543 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a133f3756e88145e6ff5bf3d1b41838d9) 1029 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_aa3a5f10fed94188b162073ef8efff393) 1030 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ab4470b84b8b57bae591239910d220c70) 1028 0 R (c [...]
-/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter_acd52b4b7cf5a3c7da87fa56306263280) (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad35d7381bcd3c4cf029d4b76bb6545b8)]
->> endobj
-3135 0 obj <<
-/Names [(classparma__polyhedra__library_1_1C__Polyhedron) 544 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a173c08eeeb4a96b0060d5f023e4ba4a6) 1063 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a1c91471f55b22735023d37417f0bef70) 1036 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a1f026c17289bb2174eaec0d61a4a2e67) 1068 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a3665335e295bd7c05eeca13be606616f) 1074 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a5091 [...]
-/Limits [(classparma__polyhedra__library_1_1C__Polyhedron) (classparma__polyhedra__library_1_1C__Polyhedron_a509185b3d326e5d4496fbe8953b82f88)]
->> endobj
-3136 0 obj <<
-/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) 1069 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a558341813be1d1bf607bf1c50e6e1ba3) 1064 0 R (classparma__polyhedra__library_1_1C__Polyhedron_aa37dcee4fa14c58b76c8d3c4227849e8) 1072 0 R (classparma__polyhedra__library_1_1C__Polyhedron_abf571357a5156e495293957a44145a9b) 1071 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ad008d79cb35b51e7dfbee0dcc3741dc3) 1070 0 R (classparma__polyhe [...]
-/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a5491f9cbaf4f0215196fc05ce17eaec9) (classparma__polyhedra__library_1_1C__Polyhedron_ae79d42cfe6b21bcf264fd9ea84e78fb2)]
->> endobj
-3137 0 obj <<
-/Names [(classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) 1075 0 R (classparma__polyhedra__library_1_1Coefficient) 545 0 R (classparma__polyhedra__library_1_1Coefficient_a2558e4d9aca774fc60a7f8cb26d002d0) 1128 0 R (classparma__polyhedra__library_1_1Coefficient_a2ae111e41ccba8a228746939bb1c595f) 1124 0 R (classparma__polyhedra__library_1_1Coefficient_a4445a4d60c39e32b6f6d3e2dcb901e55) 1106 0 R (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f9 [...]
-/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_aef6bc45c4726c7fb386547c6ec104cf5) (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15)]
->> endobj
-3138 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) 1131 0 R (classparma__polyhedra__library_1_1Coefficient_aac1766c4ad4a4697f6f9d4a92b200cb2) 1104 0 R (classparma__polyhedra__library_1_1Coefficient_aaff569442866d78436e19428b4cb8e75) 1126 0 R (classparma__polyhedra__library_1_1Coefficient_affb4611ad564f09455819718964b6e80) 1105 0 R (classparma__polyhedra__library_1_1Congruence) 546 0 R (classparma__polyhedra__library_1_1Congruence__System) 547 0 R]
-/Limits [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) (classparma__polyhedra__library_1_1Congruence__System)]
->> endobj
-3139 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) 1195 0 R (classparma__polyhedra__library_1_1Congruence__System_a392557cee71bc7b2eb23f07a9d788062) 1194 0 R (classparma__polyhedra__library_1_1Congruence__System_a6b7400f7e25b1bb473b2fc16c0c90b32) 1196 0 R (classparma__polyhedra__library_1_1Congruence_a09e7bb0fbd7304bfdd8412ce221c47b5) 1157 0 R (classparma__polyhedra__library_1_1Congruence_a1a974f4ed60693790cec91f324a85b05) 1160 0 R (classparm [...]
-/Limits [(classparma__polyhedra__library_1_1Congruence__System_a2da6d6ce1ce4057b0332826381042d4d) (classparma__polyhedra__library_1_1Congruence_a240b9d144edd0d6dca5cb42904f9b279)]
->> endobj
-3140 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) 1158 0 R (classparma__polyhedra__library_1_1Congruence_a637fe9105c9bc0b2722544d16453e87c) 1164 0 R (classparma__polyhedra__library_1_1Congruence_a65c976f0aafc42c094699578b7a2bcbe) 1156 0 R (classparma__polyhedra__library_1_1Congruence_a6bcbe60c7d20f1fee7847e262993b626) 1159 0 R (classparma__polyhedra__library_1_1Congruence_a71cf9ab9ae4f184bf520137a8209ff3e) 1134 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Congruence_a322ec6fb5527b6ddc01ac35188d804b0) (classparma__polyhedra__library_1_1Congruence_a7ea59789fd9b3a6716718beae0e01c8d)]
->> endobj
-3141 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Constraint) 548 0 R (classparma__polyhedra__library_1_1Constraint__System) 549 0 R (classparma__polyhedra__library_1_1Constraint__System_a8be9b5793c5bcbd09cbe45d5def529d0) 1219 0 R (classparma__polyhedra__library_1_1Constraint__System_aad362521f7fba585112f1a2a5aea3d96) 1220 0 R (classparma__polyhedra__library_1_1Constraint__System_af2e1b75d9c8484321bfc25bb122970b7) 1221 0 R (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc [...]
-/Limits [(classparma__polyhedra__library_1_1Constraint) (classparma__polyhedra__library_1_1Constraint_a0b1d26f53dd99cfe4e2f8a4fc3e8b5d3)]
->> endobj
-3142 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) 1203 0 R (classparma__polyhedra__library_1_1Constraint_a148544cb9ef5bf6b9a60ee56655bff26) 1201 0 R (classparma__polyhedra__library_1_1Constraint_a4738abd11cb0fdcb233ed4f18c874d56) 1204 0 R (classparma__polyhedra__library_1_1Constraint_adc27929d7731cdc3beeba475147e3127) 1202 0 R (classparma__polyhedra__library_1_1Constraint_ae62d06b1c82e9d9f4f12bbb3c6f4bcae) 1200 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Constraint_a1112ff3331d87019a2df0fb9a83cfeb8) (classparma__polyhedra__library_1_1Domain__Error__Exception)]
->> endobj
-3143 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) 1224 0 R (classparma__polyhedra__library_1_1Generator) 551 0 R (classparma__polyhedra__library_1_1Generator__System) 552 0 R (classparma__polyhedra__library_1_1Generator__System_a58d5c27c8e3d638fc7d25ee54d04b08c) 1290 0 R (classparma__polyhedra__library_1_1Generator__System_a7695c9f42b5164da2b71e7a2b1382d06) 1289 0 R (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2 [...]
-/Limits [(classparma__polyhedra__library_1_1Domain__Error__Exception_a3d2371e510d8b88b2660a631d6857953) (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b)]
->> endobj
-3144 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) 1261 0 R (classparma__polyhedra__library_1_1Generator_a0ba2ee1968e041e2fe2863cdc8a70436) 1263 0 R (classparma__polyhedra__library_1_1Generator_a32f03a57929a179098fc098b1e848d13) 1262 0 R (classparma__polyhedra__library_1_1Generator_a48d809046b22a739fd5517edad4ff203) 1256 0 R (classparma__polyhedra__library_1_1Generator_a6bc9034f4ee160b652dea1e7491d9401) 1255 0 R (classparma__polyhedra__library_1_1Gene [...]
-/Limits [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) (classparma__polyhedra__library_1_1Generator_ac47942ccd3c17f5253701494570fc0b6)]
->> endobj
-3145 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) 1260 0 R (classparma__polyhedra__library_1_1Generator_ace05db6f6b402898007ea5bf6ea4a831) 1258 0 R (classparma__polyhedra__library_1_1Generator_ad96733e3e3c9087e06a052e5af198ba6) 1257 0 R (classparma__polyhedra__library_1_1Grid__Generator) 553 0 R (classparma__polyhedra__library_1_1Grid__Generator__System) 554 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4 [...]
-/Limits [(classparma__polyhedra__library_1_1Generator_acdcf46a226e15d398fe41d10873779ca) (classparma__polyhedra__library_1_1Grid__Generator__System_a183f982bd3198d2c455e51e7cedd4e33)]
->> endobj
-3146 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) 1354 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a84738aa470464f9f3192817554d26d30) 1342 0 R (classparma__polyhedra__library_1_1Grid__Generator_a14fa7f266812072de5d2cafb578f2146) 1329 0 R (classparma__polyhedra__library_1_1Grid__Generator_a27971df55a7b8e685f759f3001b0aef8) 1325 0 R (classparma__polyhedra__library_1_1Grid__Generator_a49b4dd80b18b196615f00feb7c4c2276) 13 [...]
-/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_a4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1Grid__Generator_a5037c7ed51734dd6cb0c14811401e100)]
->> endobj
-3147 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) 1327 0 R (classparma__polyhedra__library_1_1Grid__Generator_aa32ef5503c68b0c2ccbd8d69251ecfd7) 1320 0 R (classparma__polyhedra__library_1_1Grid__Generator_ae846d01ef7cc5222216fcac8f2d255c9) 1321 0 R (classparma__polyhedra__library_1_1Grid__Generator_af9bea7ee11ebcb0cecdd692bdb9db064) 1318 0 R (classparma__polyhedra__library_1_1IO) 556 0 R (classparma__polyhedra__library_1_1IO_a2080ebe48063615d89 [...]
-/Limits [(classparma__polyhedra__library_1_1Grid__Generator_a6039308885a8008bb3cf8533adc96d88) (classparma__polyhedra__library_1_1IO_a2080ebe48063615d891b98ef65f2ca71)]
->> endobj
-3148 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) 555 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception_adf699afd1b4f9dbc15fd31424e9d15e7) 1357 0 R (classparma__polyhedra__library_1_1Length__Error__Exception) 557 0 R (classparma__polyhedra__library_1_1Length__Error__Exception_a5b5e4c1fe8b8af4696ac7cc839fb3b40) 1380 0 R (classparma__polyhedra__library_1_1Linear__Expression) 611 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) [...]
-/Limits [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) (classparma__polyhedra__library_1_1Linear__Expression__Coefficient)]
->> endobj
-3149 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) 1452 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aab30b6ef6e87a1df35c14d15237af04c) 1455 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab531066aa6dba222c8c61a8c3978257d) 1428 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_aedf10f9d2de45d7e8de1809d4417741b) 1453 0 R (classparma__polyhedra__library_1_1Linea [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a24d3c42f7ed7c7a99a8a2bb5369eed4d) (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d)]
->> endobj
-3150 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) 1461 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_a87e8e31d3cf9dbe3c2e1041ea8ccf873) 1463 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad213660ecdcc0e4142a2fd7536489781) 1459 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_ad6e4fdbf5475e6d24aaffaceb4a4abf9) 1458 0 R (classparma__polyhedra__library_1_1Linear__E [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) (classparma__polyhedra__library_1_1Linear__Expression__Sum)]
->> endobj
-3151 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) 1493 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8bacbf073ef0e1064e8c53ede4ad59bd) 1491 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a8d44f98f79421126eba1448fb80331b4) 1495 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae1191ef860c3201d40fa4e20fd02ba2d) 1496 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ae42dcbc09bb4 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a26114c4deaf17e8a12123a0a8f760d5d) (classparma__polyhedra__library_1_1Linear__Expression__Sum_aef62be6cb1c9f4c4f3aff2c5f456c374)]
->> endobj
-3152 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times) 615 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a1871d52b1c98e5fe6554bbc339a0c3f1) 1532 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a48abd01c599231c78e6927ec9350b348) 1528 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a4c1125e6621d0624a864f5f81046f3f8) 1533 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a5bc40b8b8e15d365bba5c33ada0aef18) 152 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times) (classparma__polyhedra__library_1_1Linear__Expression__Times_a6dec5edff0aa73961373ed7e1b9e0729)]
->> endobj
-3153 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) 1530 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_abf685a2367ea144b9f11f11d0591dbb6) 1529 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_ad5e935cae93921ba42abc76cf8b00c6a) 1525 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) 616 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2834d46309af2717b28dc79 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_a7f106ecc8b4f062f0b2b53cd3098e50c) (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a2f88b2137b58031e4838f19daff12f4a)]
->> endobj
-3154 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) 1536 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aab53a108e173a6657e2af82a66ea3737) 1555 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable) 617 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_a5c54fa6c29a576ab9de69361d15f8b17) 1562 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_a642f2ab97bf846 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_aa51b2de39e7e3568d5c9322de4b0454b) (classparma__polyhedra__library_1_1Linear__Expression__Variable_ae2482d18059a20a1cea2423a8b3d1043)]
->> endobj
-3155 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) 1421 0 R (classparma__polyhedra__library_1_1Linear__Expression_a2a76c9ab182bf0cbd015cea16a24c635) 1419 0 R (classparma__polyhedra__library_1_1Linear__Expression_a3866453e844ec10e038e9ae2b336159d) 1417 0 R (classparma__polyhedra__library_1_1Linear__Expression_a491b55e596bb0dc1e707355a1b2169b5) 1422 0 R (classparma__polyhedra__library_1_1Linear__Expression_a4cf0e5fe5ff7c8b23e809eb6ea8f9f2c) 142 [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression_a0c0b91260da0f4729a335faa3747c397) (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8)]
->> endobj
-3156 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) 1418 0 R (classparma__polyhedra__library_1_1Linear__Expression_ad3d011ec5cd66a3e9bf71053d6b818b5) 1416 0 R (classparma__polyhedra__library_1_1Linear__Expression_af5d9b1e4dec7faf038dd87f36773252b) 1420 0 R (classparma__polyhedra__library_1_1Logic__Error__Exception) 618 0 R (classparma__polyhedra__library_1_1Logic__Error__Exception_a11bc5303b1d7a594017971538e60858f) 1586 0 R (classparma__polyhe [...]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) (classparma__polyhedra__library_1_1MIP__Problem)]
->> endobj
-3157 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) 1652 0 R (classparma__polyhedra__library_1_1MIP__Problem_a1a896ee4273234f7c7181d76bdd9260f) 1592 0 R (classparma__polyhedra__library_1_1MIP__Problem_a203692374bea9a641aba897049f2ae03) 1645 0 R (classparma__polyhedra__library_1_1MIP__Problem_a23fb2ed36793d2fa8974d9b6c3f93705) 1591 0 R (classparma__polyhedra__library_1_1MIP__Problem_a2d9c6ed1390e4148c2fccb3491c7b4a7) 1635 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a053b3ad9ab9c0920ee835d51589cb703) (classparma__polyhedra__library_1_1MIP__Problem_a31c3eb3b5ccbe373dc04fe4d86234b87)]
->> endobj
-3158 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) 1590 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4c0dddb2c112aeef626eef4d7e539d2d) 1642 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4cdcdb051551e8a23b6ff80a3294c5de) 1672 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4dfc6347addaec85187c46bff12def97) 1675 0 R (classparma__polyhedra__library_1_1MIP__Problem_a52edb70858467236238aaec3b1884d37) 1597 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a49981873be6474f7f399f1f54bc8861d) (classparma__polyhedra__library_1_1MIP__Problem_a54d7ba808dcfc372e231fe597f5daf1f)]
->> endobj
-3159 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) 1596 0 R (classparma__polyhedra__library_1_1MIP__Problem_a64a91a5f142efd873b50d2cb7d27e660) 1670 0 R (classparma__polyhedra__library_1_1MIP__Problem_a75aa539f287d460bc26a347512e51760) 1651 0 R (classparma__polyhedra__library_1_1MIP__Problem_a7c8c10d940074e8ec96a4d319b88e490) 1643 0 R (classparma__polyhedra__library_1_1MIP__Problem_a7fa63d4674ffff39446dd46ed0c26e6f) 1595 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a5b935844aeba5303d77ca82130998245) (classparma__polyhedra__library_1_1MIP__Problem_a81cb4962caaa75c19cdf6c8a5af4e46b)]
->> endobj
-3160 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) 1647 0 R (classparma__polyhedra__library_1_1MIP__Problem_ac2cab9caa4fff25fd03b1012a0c8cf5b) 1671 0 R (classparma__polyhedra__library_1_1MIP__Problem_acaf3268d04168d4d22ebe73d9578d7d5) 1640 0 R (classparma__polyhedra__library_1_1MIP__Problem_acaffbc7bc53bf538c9d8a75cb4a7e872) 1593 0 R (classparma__polyhedra__library_1_1MIP__Problem_acf903011430930b9c3afca546ecb07db) 1646 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_aab8f9339a589d7ecd8eba424cd8c8d3f) (classparma__polyhedra__library_1_1MIP__Problem_ad202d113166e7f68344ee82ba6e7b0fd)]
->> endobj
-3161 0 obj <<
-/Names [(classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) 1589 0 R (classparma__polyhedra__library_1_1MIP__Problem_ae1db1d48c605e6f79aa78ea2a4a9cda7) 1594 0 R (classparma__polyhedra__library_1_1MIP__Problem_aee14b86bac3475fb14914092715b5916) 1677 0 R (classparma__polyhedra__library_1_1MIP__Problem_af27bf62f81d315063d66dc394ef9559c) 1641 0 R (classparma__polyhedra__library_1_1MIP__Problem_af66f20c1209205a55c53e42c83761b82) 1644 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1MIP__Problem_ae0371bb311150040a06e7839efb57a83) (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874)]
->> endobj
-3162 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Overflow__Error__Exception) 620 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception_a6c67cb8304bf0e784ad1aa328e82e20e) 1719 0 R (classparma__polyhedra__library_1_1PIP__Decision__Node) 623 0 R (classparma__polyhedra__library_1_1PIP__Decision__Node_a28255dd92e8d19d88eb174301fe3f226) 1849 0 R (classparma__polyhedra__library_1_1PIP__Problem) 624 0 R (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a) 1923 0 R]
-/Limits [(classparma__polyhedra__library_1_1Overflow__Error__Exception) (classparma__polyhedra__library_1_1PIP__Problem_a17f644417468e6386da38c98547e035a)]
->> endobj
-3163 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) 1891 0 R (classparma__polyhedra__library_1_1PIP__Problem_a2940a7c722ff786661a179b646a82346) 1902 0 R (classparma__polyhedra__library_1_1PIP__Problem_a35c6f27597bb1b3e91f42983100adfa2) 1901 0 R (classparma__polyhedra__library_1_1PIP__Problem_a54397279ba530e6606a150de9ac12898) 1857 0 R (classparma__polyhedra__library_1_1PIP__Problem_a59b93ad12584038a0308a11c7bd6df82) 1917 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a2785a80c9004bee93bfd1117b92d3545) (classparma__polyhedra__library_1_1PIP__Problem_a648a17e7c1bb0ed0ebf616eb4a7b8e78)]
->> endobj
-3164 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) 1903 0 R (classparma__polyhedra__library_1_1PIP__Problem_a677df7ca9506825ddd0b3b2f8fdd2585) 1921 0 R (classparma__polyhedra__library_1_1PIP__Problem_a6bfd316c1ba27c4f21e6710fc8fd3950) 1900 0 R (classparma__polyhedra__library_1_1PIP__Problem_a70c7657a50eddefcf64a8ae441ee5065) 1899 0 R (classparma__polyhedra__library_1_1PIP__Problem_a790d42c501f7fc8685da1a07afa4b546) 1853 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a668742e4690285d10492b974e2cefb71) (classparma__polyhedra__library_1_1PIP__Problem_a79aefa5f658a89e23ac6db4491efc11f)]
->> endobj
-3165 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) 1894 0 R (classparma__polyhedra__library_1_1PIP__Problem_a824b5091189207ec0ee311c102c23f72) 1858 0 R (classparma__polyhedra__library_1_1PIP__Problem_a8287cc70d71cf8032aedb143d2e11d7b) 1852 0 R (classparma__polyhedra__library_1_1PIP__Problem_a8f3243fa126b883715b5d2e1fd624e0e) 1925 0 R (classparma__polyhedra__library_1_1PIP__Problem_a9634759f4e965e07036fc9381502d9b4) 1856 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a7a358e1419ff673a1bfe9f45339b08d6) (classparma__polyhedra__library_1_1PIP__Problem_aa31e71a85cb3b2ca9cd0ec4ee1510ebf)]
->> endobj
-3166 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) 1898 0 R (classparma__polyhedra__library_1_1PIP__Problem_abc8db2e604f78ef5e10885bd22d73db4) 1893 0 R (classparma__polyhedra__library_1_1PIP__Problem_ad66523fb7b954dfb1526e36e8b27bb96) 1889 0 R (classparma__polyhedra__library_1_1PIP__Problem_adbfadbe547b418acdae00edab337eedc) 1890 0 R (classparma__polyhedra__library_1_1PIP__Problem_ae46efaa4ab81418b82d78b65fa2713df) 1918 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Problem_aa96a2b76a7f5ef9d6e7b3d39600edc9c) (classparma__polyhedra__library_1_1PIP__Problem_ae90b3754a8d7d5346feaa19af1c8e2d6)]
->> endobj
-3167 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) 1854 0 R (classparma__polyhedra__library_1_1PIP__Problem_aed08641850e37f11854eb35aad8df8f4) 1896 0 R (classparma__polyhedra__library_1_1PIP__Problem_af08433106065fada525b5a53a720205e) 1897 0 R (classparma__polyhedra__library_1_1PIP__Problem_af967eca4ca6d0e0e236868103ba9dc65) 1859 0 R (classparma__polyhedra__library_1_1PIP__Problem_afcbd2ac6b9314e699c7a5dc24bce759f) 1892 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Problem_ae9f96b3510cf17d4a65104954507a59f) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
->> endobj
-3168 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Solution__Node_a91789742bc249ae6978607b843ec4873) 1961 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node) 626 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a210d9950e830ca6101b5094189bfeff7) 1991 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a3bb68244fa25aa1dd28d53d6dc467dda) 1988 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a76f71f4b2731d97b10d323548c77b7a8) 1993 0 R (classparma__polyhedra__library_1_1PIP__ [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_a91789742bc249ae6978607b843ec4873) (classparma__polyhedra__library_1_1PIP__Tree__Node_a79f23016d52a66ea47028326561288ec)]
->> endobj
-3169 0 obj <<
-/Names [(classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) 1995 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_af05ddf904c768d1a140b1eafb16029c7) 1989 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_af82d85111918a80f87f4a6c5ef4adbb2) 1990 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) 621 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a5c1e588b7f6a9f94b053a5cec723dfe6) 1737 0 R (classparma__polyhedra__librar [...]
-/Limits [(classparma__polyhedra__library_1_1PIP__Tree__Node_a87f661feff5c03995c6eded6108acbf2) (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a637f0b668a07b52f0fc9454c13f4d16e)]
->> endobj
-3170 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library) 334 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0cc57b7b8fc5f93c1b7a40c3ae293be7) 1765 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0f295b8b6083b12c373b48417ae8a466) 1744 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3d5082778a4123e14fc66912860bb420) 1770 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a3fa2bca063e4e77e27e008d3ded61be4) 176 [...]
-/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4254863fcee52d3a2ee594e14999fc21)]
->> endobj
-3171 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) 1774 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a51207bdf0804635cce036bd6b6459abf) 1741 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a8219b76f7582cc02ef563bf70b045ae6) 1745 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a868e2f5d243f0fa2bbc4abef8f68fc74) 1771 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95 [...]
-/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a508918bb6bf8c118c3e20f7e00605740) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a95cf5613be1fd13f273e5c2e7d38c802)]
->> endobj
-3172 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) 1743 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa69764bcc2ebbadf48dbcfd23dbf0f27) 1763 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab284e2d9cfb5cf819fe552f5c20c4246) 1772 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ad508a885c0ec878d20c030b0897fdd89) 1773 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae3 [...]
-/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a9f9880633bb81d02f27e6fb22dc83bdc) (classparma__polyhedra__library_1_1Partial__Function)]
->> endobj
-3173 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) 1824 0 R (classparma__polyhedra__library_1_1Partial__Function_a13d3f5de275c9f897d8b3c077ba38c3e) 1819 0 R (classparma__polyhedra__library_1_1Partial__Function_a56bef6f865a68fa4da54417474007228) 1804 0 R (classparma__polyhedra__library_1_1Partial__Function_a82437262d9ddc0d2a8278e5f6d29f1a9) 1818 0 R (classparma__polyhedra__library_1_1Partial__Function_a9d54e335e90cfbe82d97e3000f88df20) 1821 0 R [...]
-/Limits [(classparma__polyhedra__library_1_1Partial__Function_a0338aafe90d94205c2cb20cb714bc8d2) (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e)]
->> endobj
-3174 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) 1826 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) 627 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) 628 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a041438b5dfc0a27bb1ef8944ccef9b20) 2054 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1063791d47e047aeeb [...]
-/Limits [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a3e689b13a25dfaf0b6f22b21127bf4f9)]
->> endobj
-3175 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) 2074 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a5204a6f9136985b1cf438bea23fd9489) 2077 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a8f633594965f90e853f0a0b7d9667e7a) 2056 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_ad6b10e19a21f12cc1e19304c400cbcc9) 2 [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a4b29f6a5bfc34297ed8cad2fc85141ef) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a1deba0aacc90a96b069e32f8c3d4559e)]
->> endobj
-3176 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) 2030 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a307f552cb6559fb3316979350f0698e4) 2024 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a43f91b349368a1f43667546d2d844941) 2029 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a6a0c0235057e5bd924816e77fbe24f13) 2027 0 R (classparma__polyhedra__library_ [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a25fcf44b7620128ac3646cf9cb7ec333) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ab86276be6b184ca176f526bdce7db8cb)]
->> endobj
-3177 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) 2025 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad3ecaaf79c9a60ab4848342458e261d7) 2033 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation) 629 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a0b8fd6b1ed827658839d73fcb11d4755) 2103 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a0ce79e66e5f99bf6dae5077d3eeb15a8) 2106  [...]
-/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_acb627ec2ad25203404db2046bd1b415c) (classparma__polyhedra__library_1_1Poly__Con__Relation_a103c1a923368f15f9846bb63c5fc8bcd)]
->> endobj
-3178 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) 2080 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a86ef4d8f3963d0e41bd32e5745b2b161) 2081 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a981388a9978a768d9859bc6a05b59612) 2107 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_ad487a3b3a0d3590dd3678cf333549f47) 2104 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation) 630 0 R (classparma__polyhedra__ [...]
-/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_a5703e74effb8a5b4090be08699d6b808) (classparma__polyhedra__library_1_1Poly__Gen__Relation_a52e2da847dc03a6a0bd03eb718bbc2c5)]
->> endobj
-3179 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) 2110 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_aba48365387e24282c5facb79d544df54) 2111 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_ac9b4e9cbc50b16d0b8eae819ba758bb1) 2114 0 R (classparma__polyhedra__library_1_1Polyhedron) 631 0 R (classparma__polyhedra__library_1_1Polyhedron_a0c39fad28012b1e32b3bb3f51aa395e9) 2321 0 R (classparma__polyhedra__library_1_1Polyhed [...]
-/Limits [(classparma__polyhedra__library_1_1Poly__Gen__Relation_aa542fab30058371e9f17fca3eb84724b) (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2)]
->> endobj
-3180 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) 2415 0 R (classparma__polyhedra__library_1_1Polyhedron_a0db3ec1fb2ff3022b06cd0760dbc9b11) 2258 0 R (classparma__polyhedra__library_1_1Polyhedron_a0debe61d4b261fe21a4109f8920557e0) 2209 0 R (classparma__polyhedra__library_1_1Polyhedron_a0f157e4c644b4ca57dc6d0ffe0509ae2) 2264 0 R (classparma__polyhedra__library_1_1Polyhedron_a101725c81694df74ced9b4f2cca1fbad) 2250 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) (classparma__polyhedra__library_1_1Polyhedron_a178d863fdd91da50df37aac742b5f89b)]
->> endobj
-3181 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) 2148 0 R (classparma__polyhedra__library_1_1Polyhedron_a250dcd46824fa3fcc48f2dd92a8293ea) 2372 0 R (classparma__polyhedra__library_1_1Polyhedron_a25143e2f87da1099e3cb5c065a2e0890) 2146 0 R (classparma__polyhedra__library_1_1Polyhedron_a255b897130d61d679afec084d905b71d) 2378 0 R (classparma__polyhedra__library_1_1Polyhedron_a269b05089d9f1a4c329d5f5f1fe87dec) 2212 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a1d1b69611f06c6e9aa03fd1b951573f8) (classparma__polyhedra__library_1_1Polyhedron_a27c32393002b42d894f964a5d60af964)]
->> endobj
-3182 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) 2259 0 R (classparma__polyhedra__library_1_1Polyhedron_a2c5d0c7fb2c1bbaa9359ed0b497152cf) 2324 0 R (classparma__polyhedra__library_1_1Polyhedron_a2d8112f8870851653e56b12e910f7e45) 2369 0 R (classparma__polyhedra__library_1_1Polyhedron_a3dec267cc9fa523feea43a8c0acdbe00) 2208 0 R (classparma__polyhedra__library_1_1Polyhedron_a3e3093f0cebb7f7d4b1ac1f1dda4df5b) 2260 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a2a7c7870e8a2d07650293ccce8893174) (classparma__polyhedra__library_1_1Polyhedron_a3eced5e4c9a959bf44ba28393466ed15)]
->> endobj
-3183 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) 2373 0 R (classparma__polyhedra__library_1_1Polyhedron_a45dd7fcc9b518abdc94c454b66ba1d5b) 2253 0 R (classparma__polyhedra__library_1_1Polyhedron_a4949285de47134b38f894d92823a931b) 2202 0 R (classparma__polyhedra__library_1_1Polyhedron_a4b3c940e8c7c8981b9b2124a75e011c1) 2251 0 R (classparma__polyhedra__library_1_1Polyhedron_a4ee0954f71183611c9b29ad07ad9fba2) 2200 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a40f85671a746d80dd6a5a14292f6df72) (classparma__polyhedra__library_1_1Polyhedron_a50926d4c45d6e451ccec518c8051733c)]
->> endobj
-3184 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) 2325 0 R (classparma__polyhedra__library_1_1Polyhedron_a56bf9c6096c448f27d61416f27a05db1) 2142 0 R (classparma__polyhedra__library_1_1Polyhedron_a5b00da433f9d9473b1fbd2cdf6c5976e) 2261 0 R (classparma__polyhedra__library_1_1Polyhedron_a5b12ca4fb2557b59516d1bbb2e30fa43) 2313 0 R (classparma__polyhedra__library_1_1Polyhedron_a5c870a4502b7d88bf273472936bf4fb8) 2414 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a52cb475c174028850d7ddd0998e089bf) (classparma__polyhedra__library_1_1Polyhedron_a5d5942488536d6a9095fc4bdebb9f7ed)]
->> endobj
-3185 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) 2330 0 R (classparma__polyhedra__library_1_1Polyhedron_a5f7cb393111807edd0542e1e4367f249) 2371 0 R (classparma__polyhedra__library_1_1Polyhedron_a6661b721ae109cee00992746554acf53) 2406 0 R (classparma__polyhedra__library_1_1Polyhedron_a6e67cd103e4b330d46ded91f0ed0ec2b) 2322 0 R (classparma__polyhedra__library_1_1Polyhedron_a6e6eb647853269db9de88ed234a16656) 2320 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a5e9ac1ca10b983f0dee8146e6e95370b) (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702)]
->> endobj
-3186 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) 2327 0 R (classparma__polyhedra__library_1_1Polyhedron_a81c4315daec6710e58a0617d92839e81) 2145 0 R (classparma__polyhedra__library_1_1Polyhedron_a84625e35d755ced248ffe55750614f09) 2141 0 R (classparma__polyhedra__library_1_1Polyhedron_a894ed94e4bfdc07cd6ef5d45e5c464b7) 2412 0 R (classparma__polyhedra__library_1_1Polyhedron_a8b521c98491fa559861dae11ad3ec3f3) 2140 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) (classparma__polyhedra__library_1_1Polyhedron_a94e51c5141f6c2a46e4c8d8aaea539b4)]
->> endobj
-3187 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) 2149 0 R (classparma__polyhedra__library_1_1Polyhedron_a95849529fc06d893870e1b39fe009db8) 2376 0 R (classparma__polyhedra__library_1_1Polyhedron_a9a21e654ffec08b0a79e6aa5ec29d72d) 2329 0 R (classparma__polyhedra__library_1_1Polyhedron_a9f7d55f53c6ca0b56163de733c0bca5d) 2150 0 R (classparma__polyhedra__library_1_1Polyhedron_aa7225f4984a8ca7b4701b78e9aa545b3) 2323 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a951904ccc728d261cf367a0bc613478d) (classparma__polyhedra__library_1_1Polyhedron_aa8a9da2a38c61eb14ed1922e970552ba)]
->> endobj
-3188 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) 2413 0 R (classparma__polyhedra__library_1_1Polyhedron_aac326b042c380a004289377eca7d2342) 2326 0 R (classparma__polyhedra__library_1_1Polyhedron_aad130af7dc19af625d583e25020026e1) 2147 0 R (classparma__polyhedra__library_1_1Polyhedron_aaf462d898fecd8d545ce48f6a0632c3e) 2255 0 R (classparma__polyhedra__library_1_1Polyhedron_ab492b453a39228bad565e4964c7ad257) 2374 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_aa9a506db5b2ca3606ffdc72bae993831) (classparma__polyhedra__library_1_1Polyhedron_ab7c4fb00dc7b0fff7edbe9d80ad15ae6)]
->> endobj
-3189 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) 2248 0 R (classparma__polyhedra__library_1_1Polyhedron_abc5704127ba61d2413c9bff4fd30f323) 2211 0 R (classparma__polyhedra__library_1_1Polyhedron_abe395df0f967ad2074e87c95cab973ee) 2319 0 R (classparma__polyhedra__library_1_1Polyhedron_abeedcb4af89476e04d9b358ae522dab0) 2379 0 R (classparma__polyhedra__library_1_1Polyhedron_ac302814cfa610b65b7e92426d20b7efd) 2213 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_ab8b346098cc00bd96852efadc70e42d3) (classparma__polyhedra__library_1_1Polyhedron_ac4f92e1418a46d38b818059a3dadab69)]
->> endobj
-3190 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) 2252 0 R (classparma__polyhedra__library_1_1Polyhedron_ac72ffc5f5715e6a10e6d5e63a43b6e9e) 2203 0 R (classparma__polyhedra__library_1_1Polyhedron_acd1f5212866a8cf9921096367ad10354) 2331 0 R (classparma__polyhedra__library_1_1Polyhedron_acf583e7c0fafe7cfa29463e2c697258e) 2375 0 R (classparma__polyhedra__library_1_1Polyhedron_ad078549415d6b45298d374eb3b6f5c7d) 2417 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_ac5dfab82eea6ba1f83cbebca0237b084) (classparma__polyhedra__library_1_1Polyhedron_ad0f0c9ad050583abd703aaedb6e5cca1)]
->> endobj
-3191 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) 2262 0 R (classparma__polyhedra__library_1_1Polyhedron_ad8155c4d2baca71b59e67eb7396bb18c) 2381 0 R (classparma__polyhedra__library_1_1Polyhedron_adb6d91da0ca1b3f0f9b755297ab69722) 2256 0 R (classparma__polyhedra__library_1_1Polyhedron_add26476af2dfda6abbb7508ef88cae2d) 2368 0 R (classparma__polyhedra__library_1_1Polyhedron_add544c3d22008bb22d0b6fa536c651dd) 2143 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_ad453d2930f64cc40ad0b5dbe4ac50c07) (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1)]
->> endobj
-3192 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) 2263 0 R (classparma__polyhedra__library_1_1Polyhedron_af15807720fca193200fa6ea8627ef10b) 2367 0 R (classparma__polyhedra__library_1_1Polyhedron_af212c66bfb25b5b1949ee91f0e4b48ab) 2207 0 R (classparma__polyhedra__library_1_1Polyhedron_af31626a3fd875ced253836666b29990b) 2257 0 R (classparma__polyhedra__library_1_1Polyhedron_afaf7844389329a23b58abf355ae79ded) 2370 0 R (classparma__polyhedra__library_1_ [...]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) (classparma__polyhedra__library_1_1Timeout__Exception)]
->> endobj
-3193 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) 2627 0 R (classparma__polyhedra__library_1_1Variable) 658 0 R (classparma__polyhedra__library_1_1Variable_a293bf4ae6670add8afd68cbca2edd0e5) 2645 0 R (classparma__polyhedra__library_1_1Variable_aa771ef39be258755e151cd5edb617e94) 2642 0 R (classparma__polyhedra__library_1_1Variable_adf4acacc53bd647f2c4ccaac0aa7643a) 2641 0 R (classparma__polyhedra__library_1_1Variables__Set) 659 0 R]
-/Limits [(classparma__polyhedra__library_1_1Timeout__Exception_a2e8323cda85681d778d5924365cbddc1) (classparma__polyhedra__library_1_1Variables__Set)]
->> endobj
-3194 0 obj <<
-/Names [(classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) 2648 0 R (group__PPL__Java__interface) 656 0 R (group__PPL__Java__interface_ga0734505368bf2ef216c74aa9ed15793e) 800 0 R (group__PPL__Java__interface_ga0cd3c405aa537a001f59e642f2acddd3) 727 0 R (group__PPL__Java__interface_ga16616f4113ae69d86cdaf2b7b10cc0d6) 790 0 R (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f) 804 0 R]
-/Limits [(classparma__polyhedra__library_1_1Variables__Set_a961dfccd93ec291961f9938db0c86b2d) (group__PPL__Java__interface_ga1c0bf670d1be309282e282c6847dff2f)]
->> endobj
-3195 0 obj <<
-/Names [(group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) 792 0 R (group__PPL__Java__interface_ga57b815531385542de7563918454dff9a) 802 0 R (group__PPL__Java__interface_ga7b9f076ff672dec60890b152525134c8) 721 0 R (group__PPL__Java__interface_ga9006be5f6c0f7616400b3554738e732f) 729 0 R (group__PPL__Java__interface_gaa6be200dbc5f773603baf12657deea39) 723 0 R (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771) 798 0 R]
-/Limits [(group__PPL__Java__interface_ga464c2bc94f19f4509ffedb8b7b60439a) (group__PPL__Java__interface_gab884929ad9e98d94cac675f7fe3e9771)]
->> endobj
-3196 0 obj <<
-/Names [(group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) 806 0 R (group__PPL__Java__interface_gad6fca2904fa0ff88929687a101bc2ae1) 725 0 R (group__PPL__Java__interface_gad7cbdacd9a5e2c068c25c12f47f8936a) 796 0 R (group__PPL__Java__interface_gae444adc8164dfda0378177ddab117095) 794 0 R (group__PPL__Java__interface_gae574051d412d3ee587c872f48de81663) 788 0 R (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e) 801 0 R]
-/Limits [(group__PPL__Java__interface_gaccd1fa9f287c6fe48bd8dfd920a5397b) (group__PPL__Java__interface_gga0734505368bf2ef216c74aa9ed15793e)]
->> endobj
-3197 0 obj <<
-/Names [(group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) 728 0 R (group__PPL__Java__interface_gga16616f4113ae69d86cdaf2b7b10cc0d6) 791 0 R (group__PPL__Java__interface_gga1c0bf670d1be309282e282c6847dff2f) 805 0 R (group__PPL__Java__interface_gga464c2bc94f19f4509ffedb8b7b60439a) 793 0 R (group__PPL__Java__interface_gga57b815531385542de7563918454dff9a) 803 0 R (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8) 722 0 R]
-/Limits [(group__PPL__Java__interface_gga0cd3c405aa537a001f59e642f2acddd3) (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8)]
->> endobj
-3198 0 obj <<
-/Names [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) 730 0 R (group__PPL__Java__interface_ggaa6be200dbc5f773603baf12657deea39) 724 0 R (group__PPL__Java__interface_ggab884929ad9e98d94cac675f7fe3e9771) 799 0 R (group__PPL__Java__interface_ggaccd1fa9f287c6fe48bd8dfd920a5397b) 807 0 R (group__PPL__Java__interface_ggad6fca2904fa0ff88929687a101bc2ae1) 726 0 R (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a) 797 0 R]
-/Limits [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) (group__PPL__Java__interface_ggad7cbdacd9a5e2c068c25c12f47f8936a)]
->> endobj
-3199 0 obj <<
-/Names [(group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) 795 0 R (group__PPL__Java__interface_ggae574051d412d3ee587c872f48de81663) 789 0 R (index) 330 0 R (namespaceparma__polyhedra__library) 460 0 R (page.1) 329 0 R (page.10) 398 0 R]
-/Limits [(group__PPL__Java__interface_ggae444adc8164dfda0378177ddab117095) (page.10)]
->> endobj
-3200 0 obj <<
-/Names [(page.100) 2639 0 R (page.101) 2654 0 R (page.102) 2712 0 R (page.103) 2771 0 R (page.104) 2863 0 R (page.105) 2966 0 R]
-/Limits [(page.100) (page.105)]
->> endobj
-3201 0 obj <<
-/Names [(page.106) 3037 0 R (page.107) 3052 0 R (page.11) 411 0 R (page.12) 419 0 R (page.13) 425 0 R (page.14) 430 0 R]
-/Limits [(page.106) (page.14)]
->> endobj
-3202 0 obj <<
-/Names [(page.15) 435 0 R (page.16) 441 0 R (page.17) 459 0 R (page.18) 494 0 R (page.19) 540 0 R (page.2) 340 0 R]
-/Limits [(page.15) (page.2)]
->> endobj
-3203 0 obj <<
-/Names [(page.20) 610 0 R (page.21) 655 0 R (page.22) 681 0 R (page.23) 712 0 R (page.24) 776 0 R (page.25) 812 0 R]
-/Limits [(page.20) (page.25)]
->> endobj
-3204 0 obj <<
-/Names [(page.26) 825 0 R (page.27) 835 0 R (page.28) 847 0 R (page.29) 874 0 R (page.3) 348 0 R (page.30) 897 0 R]
-/Limits [(page.26) (page.30)]
->> endobj
-3205 0 obj <<
-/Names [(page.31) 932 0 R (page.32) 980 0 R (page.33) 1003 0 R (page.34) 1024 0 R (page.35) 1061 0 R (page.36) 1080 0 R]
-/Limits [(page.31) (page.36)]
->> endobj
-3206 0 obj <<
-/Names [(page.37) 1098 0 R (page.38) 1123 0 R (page.39) 1155 0 R (page.4) 355 0 R (page.40) 1192 0 R (page.41) 1216 0 R]
-/Limits [(page.37) (page.41)]
->> endobj
-3207 0 obj <<
-/Names [(page.42) 1252 0 R (page.43) 1269 0 R (page.44) 1284 0 R (page.45) 1316 0 R (page.46) 1337 0 R (page.47) 1352 0 R]
-/Limits [(page.42) (page.47)]
->> endobj
-3208 0 obj <<
-/Names [(page.48) 1376 0 R (page.49) 1414 0 R (page.5) 363 0 R (page.50) 1451 0 R (page.51) 1487 0 R (page.52) 1523 0 R]
-/Limits [(page.48) (page.52)]
->> endobj
-3209 0 obj <<
-/Names [(page.53) 1554 0 R (page.54) 1584 0 R (page.55) 1634 0 R (page.56) 1668 0 R (page.57) 1685 0 R (page.58) 1694 0 R]
-/Limits [(page.53) (page.58)]
->> endobj
-3210 0 obj <<
-/Names [(page.59) 1704 0 R (page.6) 371 0 R (page.60) 1715 0 R (page.61) 1735 0 R (page.62) 1762 0 R (page.63) 1783 0 R]
-/Limits [(page.59) (page.63)]
->> endobj
-3211 0 obj <<
-/Names [(page.64) 1799 0 R (page.65) 1817 0 R (page.66) 1847 0 R (page.67) 1888 0 R (page.68) 1916 0 R (page.69) 1932 0 R]
-/Limits [(page.64) (page.69)]
->> endobj
-3212 0 obj <<
-/Names [(page.7) 377 0 R (page.70) 1940 0 R (page.71) 1955 0 R (page.72) 1985 0 R (page.73) 2020 0 R (page.74) 2048 0 R]
-/Limits [(page.7) (page.74)]
->> endobj
-3213 0 obj <<
-/Names [(page.75) 2071 0 R (page.76) 2101 0 R (page.77) 2137 0 R (page.78) 2198 0 R (page.79) 2247 0 R (page.8) 383 0 R]
-/Limits [(page.75) (page.8)]
->> endobj
-3214 0 obj <<
-/Names [(page.80) 2312 0 R (page.81) 2366 0 R (page.82) 2405 0 R (page.83) 2425 0 R (page.84) 2436 0 R (page.85) 2448 0 R]
-/Limits [(page.80) (page.85)]
->> endobj
-3215 0 obj <<
-/Names [(page.86) 2460 0 R (page.87) 2474 0 R (page.88) 2485 0 R (page.89) 2500 0 R (page.9) 391 0 R (page.90) 2512 0 R]
-/Limits [(page.86) (page.90)]
->> endobj
-3216 0 obj <<
-/Names [(page.91) 2524 0 R (page.92) 2535 0 R (page.93) 2549 0 R (page.94) 2561 0 R (page.95) 2577 0 R (page.96) 2592 0 R]
-/Limits [(page.91) (page.96)]
->> endobj
-3217 0 obj <<
-/Names [(page.97) 2603 0 R (page.98) 2613 0 R (page.99) 2624 0 R (page.A) 237 0 R (page.i) 270 0 R (page.ii) 317 0 R]
-/Limits [(page.97) (page.ii)]
->> endobj
-3218 0 obj <<
-/Names [(paragraph.10.11.2.1) 1272 0 R (paragraph.10.11.2.2) 1273 0 R (paragraph.10.11.2.3) 1274 0 R (paragraph.10.11.2.4) 1285 0 R (paragraph.10.11.2.5) 1286 0 R (paragraph.10.13.2.1) 1326 0 R]
-/Limits [(paragraph.10.11.2.1) (paragraph.10.13.2.1)]
->> endobj
-3219 0 obj <<
-/Names [(paragraph.10.13.2.2) 1338 0 R (paragraph.10.13.2.3) 1339 0 R (paragraph.10.13.2.4) 1340 0 R (paragraph.10.16.2.1) 1378 0 R (paragraph.10.26.2.1) 1676 0 R (paragraph.10.26.2.2) 1686 0 R]
-/Limits [(paragraph.10.13.2.2) (paragraph.10.26.2.2)]
->> endobj
-3220 0 obj <<
-/Names [(paragraph.10.26.3.1) 1688 0 R (paragraph.10.26.3.10) 1708 0 R (paragraph.10.26.3.11) 1716 0 R (paragraph.10.26.3.12) 1717 0 R (paragraph.10.26.3.2) 1689 0 R (paragraph.10.26.3.3) 1695 0 R]
-/Limits [(paragraph.10.26.3.1) (paragraph.10.26.3.3)]
->> endobj
-3221 0 obj <<
-/Names [(paragraph.10.26.3.4) 1696 0 R (paragraph.10.26.3.5) 1697 0 R (paragraph.10.26.3.6) 1698 0 R (paragraph.10.26.3.7) 1705 0 R (paragraph.10.26.3.8) 1706 0 R (paragraph.10.26.3.9) 1707 0 R]
-/Limits [(paragraph.10.26.3.4) (paragraph.10.26.3.9)]
->> endobj
-3222 0 obj <<
-/Names [(paragraph.10.29.2.1) 1768 0 R (paragraph.10.29.2.2) 1769 0 R (paragraph.10.29.2.3) 1784 0 R (paragraph.10.29.2.4) 1785 0 R (paragraph.10.29.2.5) 1787 0 R (paragraph.10.29.2.6) 1788 0 R]
-/Limits [(paragraph.10.29.2.1) (paragraph.10.29.2.6)]
->> endobj
-3223 0 obj <<
-/Names [(paragraph.10.29.2.7) 1789 0 R (paragraph.10.29.2.8) 1800 0 R (paragraph.10.30.2.1) 1825 0 R (paragraph.10.30.2.2) 1827 0 R (paragraph.10.32.2.1) 1934 0 R (paragraph.10.32.2.2) 1935 0 R]
-/Limits [(paragraph.10.29.2.7) (paragraph.10.32.2.2)]
->> endobj
-3224 0 obj <<
-/Names [(paragraph.10.32.3.1) 1942 0 R (paragraph.10.32.3.2) 1943 0 R (paragraph.10.32.3.3) 1944 0 R (paragraph.10.32.3.4) 1945 0 R (paragraph.10.32.3.5) 1956 0 R (paragraph.10.32.3.6) 1957 0 R]
-/Limits [(paragraph.10.32.3.1) (paragraph.10.32.3.6)]
->> endobj
-3225 0 obj <<
-/Names [(paragraph.10.33.2.1) 1962 0 R (paragraph.10.34.2.1) 2022 0 R (paragraph.10.35.2.1) 2052 0 R (paragraph.10.36.2.1) 2078 0 R (paragraph.10.39.2.1) 2410 0 R (paragraph.10.39.2.10) 2451 0 R]
-/Limits [(paragraph.10.33.2.1) (paragraph.10.39.2.10)]
->> endobj
-3226 0 obj <<
-/Names [(paragraph.10.39.2.11) 2452 0 R (paragraph.10.39.2.12) 2461 0 R (paragraph.10.39.2.13) 2462 0 R (paragraph.10.39.2.14) 2463 0 R (paragraph.10.39.2.15) 2464 0 R (paragraph.10.39.2.16) 2465 0 R]
-/Limits [(paragraph.10.39.2.11) (paragraph.10.39.2.16)]
->> endobj
-3227 0 obj <<
-/Names [(paragraph.10.39.2.17) 2475 0 R (paragraph.10.39.2.18) 2476 0 R (paragraph.10.39.2.19) 2477 0 R (paragraph.10.39.2.2) 2426 0 R (paragraph.10.39.2.20) 2486 0 R (paragraph.10.39.2.21) 2487 0 R]
-/Limits [(paragraph.10.39.2.17) (paragraph.10.39.2.21)]
->> endobj
-3228 0 obj <<
-/Names [(paragraph.10.39.2.22) 2488 0 R (paragraph.10.39.2.23) 2489 0 R (paragraph.10.39.2.24) 2501 0 R (paragraph.10.39.2.25) 2502 0 R (paragraph.10.39.2.26) 2503 0 R (paragraph.10.39.2.27) 2504 0 R]
-/Limits [(paragraph.10.39.2.22) (paragraph.10.39.2.27)]
->> endobj
-3229 0 obj <<
-/Names [(paragraph.10.39.2.28) 2505 0 R (paragraph.10.39.2.29) 2513 0 R (paragraph.10.39.2.3) 2427 0 R (paragraph.10.39.2.30) 2514 0 R (paragraph.10.39.2.31) 2515 0 R (paragraph.10.39.2.32) 2525 0 R]
-/Limits [(paragraph.10.39.2.28) (paragraph.10.39.2.32)]
->> endobj
-3230 0 obj <<
-/Names [(paragraph.10.39.2.33) 2526 0 R (paragraph.10.39.2.34) 2537 0 R (paragraph.10.39.2.35) 2539 0 R (paragraph.10.39.2.36) 2550 0 R (paragraph.10.39.2.37) 2551 0 R (paragraph.10.39.2.38) 2552 0 R]
-/Limits [(paragraph.10.39.2.33) (paragraph.10.39.2.38)]
->> endobj
-3231 0 obj <<
-/Names [(paragraph.10.39.2.39) 2562 0 R (paragraph.10.39.2.4) 2428 0 R (paragraph.10.39.2.40) 2563 0 R (paragraph.10.39.2.41) 2564 0 R (paragraph.10.39.2.42) 2565 0 R (paragraph.10.39.2.43) 2578 0 R]
-/Limits [(paragraph.10.39.2.39) (paragraph.10.39.2.43)]
->> endobj
-3232 0 obj <<
-/Names [(paragraph.10.39.2.44) 2579 0 R (paragraph.10.39.2.45) 2580 0 R (paragraph.10.39.2.46) 2581 0 R (paragraph.10.39.2.47) 2593 0 R (paragraph.10.39.2.48) 2594 0 R (paragraph.10.39.2.49) 2595 0 R]
-/Limits [(paragraph.10.39.2.44) (paragraph.10.39.2.49)]
->> endobj
-3233 0 obj <<
-/Names [(paragraph.10.39.2.5) 2429 0 R (paragraph.10.39.2.50) 2604 0 R (paragraph.10.39.2.51) 2605 0 R (paragraph.10.39.2.52) 2606 0 R (paragraph.10.39.2.53) 2614 0 R (paragraph.10.39.2.54) 2615 0 R]
-/Limits [(paragraph.10.39.2.5) (paragraph.10.39.2.54)]
->> endobj
-3234 0 obj <<
-/Names [(paragraph.10.39.2.55) 2616 0 R (paragraph.10.39.2.56) 2625 0 R (paragraph.10.39.2.6) 2437 0 R (paragraph.10.39.2.7) 2438 0 R (paragraph.10.39.2.8) 2449 0 R (paragraph.10.39.2.9) 2450 0 R]
-/Limits [(paragraph.10.39.2.55) (paragraph.10.39.2.9)]
->> endobj
-3235 0 obj <<
-/Names [(paragraph.10.4.2.1) 1083 0 R (paragraph.10.4.2.2) 1084 0 R (paragraph.10.4.2.3) 1085 0 R (paragraph.10.4.2.4) 1086 0 R (paragraph.10.4.2.5) 1087 0 R (paragraph.10.4.2.6) 1088 0 R]
-/Limits [(paragraph.10.4.2.1) (paragraph.10.4.2.6)]
->> endobj
-3236 0 obj <<
-/Names [(paragraph.10.4.3.1) 1100 0 R (paragraph.10.4.3.2) 1101 0 R (paragraph.10.41.2.1) 2646 0 R (paragraph.10.5.2.1) 1132 0 R (paragraph.8.1.2.1) 815 0 R (paragraph.8.1.2.10) 837 0 R]
-/Limits [(paragraph.10.4.3.1) (paragraph.8.1.2.10)]
->> endobj
-3237 0 obj <<
-/Names [(paragraph.8.1.2.11) 838 0 R (paragraph.8.1.2.12) 839 0 R (paragraph.8.1.2.13) 848 0 R (paragraph.8.1.2.14) 849 0 R (paragraph.8.1.2.15) 850 0 R (paragraph.8.1.2.2) 817 0 R]
-/Limits [(paragraph.8.1.2.11) (paragraph.8.1.2.2)]
->> endobj
-3238 0 obj <<
-/Names [(paragraph.8.1.2.3) 818 0 R (paragraph.8.1.2.4) 819 0 R (paragraph.8.1.2.5) 826 0 R (paragraph.8.1.2.6) 827 0 R (paragraph.8.1.2.7) 828 0 R (paragraph.8.1.2.8) 829 0 R]
-/Limits [(paragraph.8.1.2.3) (paragraph.8.1.2.8)]
->> endobj
-3239 0 obj <<
-/Names [(paragraph.8.1.2.9) 836 0 R (section*.1) 274 0 R (section*.10) 366 0 R (section*.11) 372 0 R (section*.12) 378 0 R (section*.13) 384 0 R]
-/Limits [(paragraph.8.1.2.9) (section*.13)]
->> endobj
-3240 0 obj <<
-/Names [(section*.14) 385 0 R (section*.15) 386 0 R (section*.16) 392 0 R (section*.17) 393 0 R (section*.18) 399 0 R (section*.19) 400 0 R]
-/Limits [(section*.14) (section*.19)]
->> endobj
-3241 0 obj <<
-/Names [(section*.2) 332 0 R (section*.20) 401 0 R (section*.21) 402 0 R (section*.22) 412 0 R (section*.23) 413 0 R (section*.24) 442 0 R]
-/Limits [(section*.2) (section*.24)]
->> endobj
-3242 0 obj <<
-/Names [(section*.25) 657 0 R (section*.26) 713 0 R (section*.27) 714 0 R (section*.28) 875 0 R (section*.29) 933 0 R (section*.3) 343 0 R]
-/Limits [(section*.25) (section*.3)]
->> endobj
-3243 0 obj <<
-/Names [(section*.30) 984 0 R (section*.31) 1009 0 R (section*.32) 1027 0 R (section*.33) 1031 0 R (section*.34) 1034 0 R (section*.35) 1065 0 R]
-/Limits [(section*.30) (section*.35)]
->> endobj
-3244 0 obj <<
-/Names [(section*.36) 1067 0 R (section*.37) 1103 0 R (section*.38) 1127 0 R (section*.39) 1133 0 R (section*.4) 349 0 R (section*.40) 1161 0 R]
-/Limits [(section*.36) (section*.40)]
->> endobj
-3245 0 obj <<
-/Names [(section*.41) 1163 0 R (section*.42) 1193 0 R (section*.43) 1198 0 R (section*.44) 1218 0 R (section*.45) 1223 0 R (section*.46) 1254 0 R]
-/Limits [(section*.41) (section*.46)]
->> endobj
-3246 0 obj <<
-/Names [(section*.47) 1259 0 R (section*.48) 1287 0 R (section*.49) 1317 0 R (section*.5) 350 0 R (section*.50) 1322 0 R (section*.51) 1341 0 R]
-/Limits [(section*.47) (section*.51)]
->> endobj
-3247 0 obj <<
-/Names [(section*.52) 1356 0 R (section*.53) 1359 0 R (section*.54) 1379 0 R (section*.55) 1415 0 R (section*.56) 1427 0 R (section*.57) 1454 0 R]
-/Limits [(section*.52) (section*.57)]
->> endobj
-3248 0 obj <<
-/Names [(section*.58) 1457 0 R (section*.59) 1462 0 R (section*.6) 356 0 R (section*.60) 1489 0 R (section*.61) 1494 0 R (section*.62) 1524 0 R]
-/Limits [(section*.58) (section*.62)]
->> endobj
-3249 0 obj <<
-/Names [(section*.63) 1531 0 R (section*.64) 1535 0 R (section*.65) 1557 0 R (section*.66) 1560 0 R (section*.67) 1585 0 R (section*.68) 1588 0 R]
-/Limits [(section*.63) (section*.68)]
->> endobj
-3250 0 obj <<
-/Names [(section*.69) 1669 0 R (section*.7) 357 0 R (section*.70) 1718 0 R (section*.71) 1736 0 R (section*.72) 1740 0 R (section*.73) 1802 0 R]
-/Limits [(section*.69) (section*.73)]
->> endobj
-3251 0 obj <<
-/Names [(section*.74) 1820 0 R (section*.75) 1848 0 R (section*.76) 1851 0 R (section*.77) 1922 0 R (section*.78) 1958 0 R (section*.79) 1987 0 R]
-/Limits [(section*.74) (section*.79)]
->> endobj
-3252 0 obj <<
-/Names [(section*.8) 364 0 R (section*.80) 2023 0 R (section*.81) 2053 0 R (section*.82) 2073 0 R (section*.83) 2079 0 R (section*.84) 2102 0 R]
-/Limits [(section*.8) (section*.84)]
->> endobj
-3253 0 obj <<
-/Names [(section*.85) 2109 0 R (section*.86) 2112 0 R (section*.87) 2139 0 R (section*.88) 2626 0 R (section*.89) 2640 0 R (section*.9) 365 0 R]
-/Limits [(section*.85) (section*.9)]
->> endobj
-3254 0 obj <<
-/Names [(section*.90) 2647 0 R (section*.91) 2713 0 R (section.1) 2 0 R (section.10) 62 0 R (section.2) 6 0 R (section.3) 10 0 R]
-/Limits [(section*.90) (section.3)]
->> endobj
-3255 0 obj <<
-/Names [(section.4) 14 0 R (section.5) 22 0 R (section.6) 30 0 R (section.7) 38 0 R (section.8) 46 0 R (section.9) 54 0 R]
-/Limits [(section.4) (section.9)]
->> endobj
-3256 0 obj <<
-/Names [(subsection.10.1) 66 0 R (subsection.10.10) 102 0 R (subsection.10.11) 106 0 R (subsection.10.12) 110 0 R (subsection.10.13) 114 0 R (subsection.10.14) 118 0 R]
-/Limits [(subsection.10.1) (subsection.10.14)]
->> endobj
-3257 0 obj <<
-/Names [(subsection.10.15) 122 0 R (subsection.10.16) 126 0 R (subsection.10.17) 130 0 R (subsection.10.18) 134 0 R (subsection.10.19) 138 0 R (subsection.10.2) 70 0 R]
-/Limits [(subsection.10.15) (subsection.10.2)]
->> endobj
-3258 0 obj <<
-/Names [(subsection.10.20) 142 0 R (subsection.10.21) 146 0 R (subsection.10.22) 150 0 R (subsection.10.23) 154 0 R (subsection.10.24) 158 0 R (subsection.10.25) 162 0 R]
-/Limits [(subsection.10.20) (subsection.10.25)]
->> endobj
-3259 0 obj <<
-/Names [(subsection.10.26) 166 0 R (subsection.10.27) 170 0 R (subsection.10.28) 174 0 R (subsection.10.29) 178 0 R (subsection.10.3) 74 0 R (subsection.10.30) 182 0 R]
-/Limits [(subsection.10.26) (subsection.10.30)]
->> endobj
-3260 0 obj <<
-/Names [(subsection.10.31) 186 0 R (subsection.10.32) 190 0 R (subsection.10.33) 194 0 R (subsection.10.34) 198 0 R (subsection.10.35) 202 0 R (subsection.10.36) 206 0 R]
-/Limits [(subsection.10.31) (subsection.10.36)]
->> endobj
-3261 0 obj <<
-/Names [(subsection.10.37) 210 0 R (subsection.10.38) 214 0 R (subsection.10.39) 218 0 R (subsection.10.4) 78 0 R (subsection.10.40) 222 0 R (subsection.10.41) 226 0 R]
-/Limits [(subsection.10.37) (subsection.10.41)]
->> endobj
-3262 0 obj <<
-/Names [(subsection.10.42) 230 0 R (subsection.10.5) 82 0 R (subsection.10.6) 86 0 R (subsection.10.7) 90 0 R (subsection.10.8) 94 0 R (subsection.10.9) 98 0 R]
-/Limits [(subsection.10.42) (subsection.10.9)]
->> endobj
-3263 0 obj <<
-/Names [(subsection.4.1) 18 0 R (subsection.5.1) 26 0 R (subsection.6.1) 34 0 R (subsection.7.1) 42 0 R (subsection.8.1) 50 0 R (subsection.9.1) 58 0 R]
-/Limits [(subsection.4.1) (subsection.9.1)]
->> endobj
-3264 0 obj <<
-/Names [(subsubsection.10.1.1) 1008 0 R (subsubsection.10.10.1) 1253 0 R (subsubsection.10.11.1) 1270 0 R (subsubsection.10.11.2) 1271 0 R (subsubsection.10.12.1) 1291 0 R (subsubsection.10.13.1) 1323 0 R]
-/Limits [(subsubsection.10.1.1) (subsubsection.10.13.1)]
->> endobj
-3265 0 obj <<
-/Names [(subsubsection.10.13.2) 1324 0 R (subsubsection.10.14.1) 1355 0 R (subsubsection.10.15.1) 1358 0 R (subsubsection.10.16.1) 1360 0 R (subsubsection.10.16.2) 1377 0 R (subsubsection.10.17.1) 1381 0 R]
-/Limits [(subsubsection.10.13.2) (subsubsection.10.17.1)]
->> endobj
-3266 0 obj <<
-/Names [(subsubsection.10.18.1) 1426 0 R (subsubsection.10.19.1) 1456 0 R (subsubsection.10.2.1) 1025 0 R (subsubsection.10.20.1) 1488 0 R (subsubsection.10.21.1) 1497 0 R (subsubsection.10.22.1) 1534 0 R]
-/Limits [(subsubsection.10.18.1) (subsubsection.10.22.1)]
->> endobj
-3267 0 obj <<
-/Names [(subsubsection.10.23.1) 1559 0 R (subsubsection.10.24.1) 1564 0 R (subsubsection.10.25.1) 1587 0 R (subsubsection.10.26.1) 1673 0 R (subsubsection.10.26.2) 1674 0 R (subsubsection.10.26.3) 1687 0 R]
-/Limits [(subsubsection.10.23.1) (subsubsection.10.26.3)]
->> endobj
-3268 0 obj <<
-/Names [(subsubsection.10.27.1) 1720 0 R (subsubsection.10.28.1) 1739 0 R (subsubsection.10.29.1) 1766 0 R (subsubsection.10.29.2) 1767 0 R (subsubsection.10.3.1) 1033 0 R (subsubsection.10.30.1) 1822 0 R]
-/Limits [(subsubsection.10.27.1) (subsubsection.10.30.1)]
->> endobj
-3269 0 obj <<
-/Names [(subsubsection.10.30.2) 1823 0 R (subsubsection.10.31.1) 1850 0 R (subsubsection.10.32.1) 1924 0 R (subsubsection.10.32.2) 1933 0 R (subsubsection.10.32.3) 1941 0 R (subsubsection.10.33.1) 1959 0 R]
-/Limits [(subsubsection.10.30.2) (subsubsection.10.33.1)]
->> endobj
-3270 0 obj <<
-/Names [(subsubsection.10.33.2) 1960 0 R (subsubsection.10.34.1) 1994 0 R (subsubsection.10.34.2) 2021 0 R (subsubsection.10.35.1) 2050 0 R (subsubsection.10.35.2) 2051 0 R (subsubsection.10.36.1) 2075 0 R]
-/Limits [(subsubsection.10.33.2) (subsubsection.10.36.1)]
->> endobj
-3271 0 obj <<
-/Names [(subsubsection.10.36.2) 2076 0 R (subsubsection.10.37.1) 2108 0 R (subsubsection.10.38.1) 2138 0 R (subsubsection.10.39.1) 2408 0 R (subsubsection.10.39.2) 2409 0 R (subsubsection.10.4.1) 1081 0 R]
-/Limits [(subsubsection.10.36.2) (subsubsection.10.4.1)]
->> endobj
-3272 0 obj <<
-/Names [(subsubsection.10.4.2) 1082 0 R (subsubsection.10.4.3) 1099 0 R (subsubsection.10.40.1) 2628 0 R (subsubsection.10.41.1) 2643 0 R (subsubsection.10.41.2) 2644 0 R (subsubsection.10.42.1) 2655 0 R]
-/Limits [(subsubsection.10.4.2) (subsubsection.10.42.1)]
->> endobj
-3273 0 obj <<
-/Names [(subsubsection.10.5.1) 1129 0 R (subsubsection.10.5.2) 1130 0 R (subsubsection.10.6.1) 1166 0 R (subsubsection.10.7.1) 1197 0 R (subsubsection.10.8.1) 1217 0 R (subsubsection.10.9.1) 1222 0 R]
-/Limits [(subsubsection.10.5.1) (subsubsection.10.9.1)]
->> endobj
-3274 0 obj <<
-/Names [(subsubsection.8.1.1) 813 0 R (subsubsection.8.1.2) 814 0 R (subsubsection.9.1.1) 983 0 R]
-/Limits [(subsubsection.8.1.1) (subsubsection.9.1.1)]
->> endobj
-3275 0 obj <<
-/Kids [3132 0 R 3133 0 R 3134 0 R 3135 0 R 3136 0 R 3137 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Coefficient_a5e4f22d99d07f976fa2e51bc34525e15)]
->> endobj
-3276 0 obj <<
-/Kids [3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R]
-/Limits [(classparma__polyhedra__library_1_1Coefficient_a7c968f7ba606e8b99863ae8cdef3c686) (classparma__polyhedra__library_1_1Generator__System_ab1265553cab293b2c77d31f57682ae2b)]
->> endobj
-3277 0 obj <<
-/Kids [3144 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R 3149 0 R]
-/Limits [(classparma__polyhedra__library_1_1Generator_a05c97a4f4fc4ddf12b6582b46dc78c1c) (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2b2271e2f858709aef3d3705ac8c075d)]
->> endobj
-3278 0 obj <<
-/Kids [3150 0 R 3151 0 R 3152 0 R 3153 0 R 3154 0 R 3155 0 R]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_a6e2a52ee587e255b6172f976f5a823d1) (classparma__polyhedra__library_1_1Linear__Expression_a94678c0499f89a49dc9118ef12f161b8)]
->> endobj
-3279 0 obj <<
-/Kids [3156 0 R 3157 0 R 3158 0 R 3159 0 R 3160 0 R 3161 0 R]
-/Limits [(classparma__polyhedra__library_1_1Linear__Expression_aaf751a048f4895ec1ca6eb753a196908) (classparma__polyhedra__library_1_1MIP__Problem_afa2c94e0b2f7b773f7d2daf6d53f9874)]
->> endobj
-3280 0 obj <<
-/Kids [3162 0 R 3163 0 R 3164 0 R 3165 0 R 3166 0 R 3167 0 R]
-/Limits [(classparma__polyhedra__library_1_1Overflow__Error__Exception) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
->> endobj
-3281 0 obj <<
-/Kids [3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3173 0 R]
-/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_a91789742bc249ae6978607b843ec4873) (classparma__polyhedra__library_1_1Partial__Function_aa26b90cbd295d1509505afa09fb6a72e)]
->> endobj
-3282 0 obj <<
-/Kids [3174 0 R 3175 0 R 3176 0 R 3177 0 R 3178 0 R 3179 0 R]
-/Limits [(classparma__polyhedra__library_1_1Partial__Function_ab9ed1dd0b1f4bed335aefca206504f7d) (classparma__polyhedra__library_1_1Polyhedron_a0c70e4b9986758a2c5cfabd0968c80a2)]
->> endobj
-3283 0 obj <<
-/Kids [3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a0d6e2bbaaefe11efb5429fe1a61e3d22) (classparma__polyhedra__library_1_1Polyhedron_a7817a26193f804a89ffeb2dbf18fc702)]
->> endobj
-3284 0 obj <<
-/Kids [3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_a79d4ff349ca7b314602b79a2d74fe976) (classparma__polyhedra__library_1_1Polyhedron_ae4e82dc62f09b889cc2c699b6a8abda1)]
->> endobj
-3285 0 obj <<
-/Kids [3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R]
-/Limits [(classparma__polyhedra__library_1_1Polyhedron_aea3d6d51b260b5aa832a1a3a68ac98a0) (group__PPL__Java__interface_gga7b9f076ff672dec60890b152525134c8)]
->> endobj
-3286 0 obj <<
-/Kids [3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R]
-/Limits [(group__PPL__Java__interface_gga9006be5f6c0f7616400b3554738e732f) (page.25)]
->> endobj
-3287 0 obj <<
-/Kids [3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R]
-/Limits [(page.26) (page.58)]
->> endobj
-3288 0 obj <<
-/Kids [3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R]
-/Limits [(page.59) (page.90)]
->> endobj
-3289 0 obj <<
-/Kids [3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R]
-/Limits [(page.91) (paragraph.10.26.3.9)]
->> endobj
-3290 0 obj <<
-/Kids [3222 0 R 3223 0 R 3224 0 R 3225 0 R 3226 0 R 3227 0 R]
-/Limits [(paragraph.10.29.2.1) (paragraph.10.39.2.21)]
->> endobj
-3291 0 obj <<
-/Kids [3228 0 R 3229 0 R 3230 0 R 3231 0 R 3232 0 R 3233 0 R]
-/Limits [(paragraph.10.39.2.22) (paragraph.10.39.2.54)]
->> endobj
-3292 0 obj <<
-/Kids [3234 0 R 3235 0 R 3236 0 R 3237 0 R 3238 0 R 3239 0 R]
-/Limits [(paragraph.10.39.2.55) (section*.13)]
->> endobj
-3293 0 obj <<
-/Kids [3240 0 R 3241 0 R 3242 0 R 3243 0 R 3244 0 R 3245 0 R]
-/Limits [(section*.14) (section*.46)]
->> endobj
-3294 0 obj <<
-/Kids [3246 0 R 3247 0 R 3248 0 R 3249 0 R 3250 0 R 3251 0 R]
-/Limits [(section*.47) (section*.79)]
->> endobj
-3295 0 obj <<
-/Kids [3252 0 R 3253 0 R 3254 0 R 3255 0 R 3256 0 R 3257 0 R]
-/Limits [(section*.8) (subsection.10.2)]
->> endobj
-3296 0 obj <<
-/Kids [3258 0 R 3259 0 R 3260 0 R 3261 0 R 3262 0 R 3263 0 R]
-/Limits [(subsection.10.20) (subsection.9.1)]
->> endobj
-3297 0 obj <<
-/Kids [3264 0 R 3265 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R]
-/Limits [(subsubsection.10.1.1) (subsubsection.10.33.1)]
->> endobj
-3298 0 obj <<
-/Kids [3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R]
-/Limits [(subsubsection.10.33.2) (subsubsection.9.1.1)]
->> endobj
-3299 0 obj <<
-/Kids [3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R]
-/Limits [(Doc-Start) (classparma__polyhedra__library_1_1PIP__Solution__Node)]
->> endobj
-3300 0 obj <<
-/Kids [3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R]
-/Limits [(classparma__polyhedra__library_1_1PIP__Solution__Node_a91789742bc249ae6978607b843ec4873) (page.25)]
->> endobj
-3301 0 obj <<
-/Kids [3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R]
-/Limits [(page.26) (section*.13)]
->> endobj
-3302 0 obj <<
-/Kids [3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R]
-/Limits [(section*.14) (subsubsection.9.1.1)]
->> endobj
-3303 0 obj <<
-/Kids [3299 0 R 3300 0 R 3301 0 R 3302 0 R]
-/Limits [(Doc-Start) (subsubsection.9.1.1)]
->> endobj
-3304 0 obj <<
-/Dests 3303 0 R
->> endobj
-3305 0 obj <<
-/Type /Catalog
-/Pages 3130 0 R
-/Outlines 3131 0 R
-/Names 3304 0 R
-/PageMode/UseOutlines/PageLabels<</Nums[0<</S/A>>1<</S/r>>3<</S/D>>]>>
-/OpenAction 233 0 R
->> endobj
-3306 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
-/CreationDate (D:20110227101243+01'00')
-/ModDate (D:20110227101243+01'00')
-/Trapped /False
-/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
->> endobj
-xref
-0 3307
-0000000000 65535 f 
-0000000015 00000 n 
-0000039231 00000 n 
-0000890493 00000 n 
-0000000060 00000 n 
-0000000134 00000 n 
-0000042972 00000 n 
-0000890408 00000 n 
-0000000179 00000 n 
-0000000344 00000 n 
-0000081171 00000 n 
-0000890321 00000 n 
-0000000389 00000 n 
-0000000575 00000 n 
-0000100800 00000 n 
-0000890195 00000 n 
-0000000621 00000 n 
-0000000711 00000 n 
-0000100856 00000 n 
-0000890134 00000 n 
-0000000762 00000 n 
-0000000824 00000 n 
-0000100912 00000 n 
-0000890008 00000 n 
-0000000870 00000 n 
-0000000975 00000 n 
-0000100968 00000 n 
-0000889947 00000 n 
-0000001026 00000 n 
-0000001126 00000 n 
-0000101024 00000 n 
-0000889821 00000 n 
-0000001172 00000 n 
-0000001257 00000 n 
-0000101079 00000 n 
-0000889760 00000 n 
-0000001308 00000 n 
-0000001413 00000 n 
-0000116707 00000 n 
-0000889634 00000 n 
-0000001459 00000 n 
-0000001544 00000 n 
-0000116763 00000 n 
-0000889573 00000 n 
-0000001595 00000 n 
-0000001675 00000 n 
-0000133550 00000 n 
-0000889447 00000 n 
-0000001721 00000 n 
-0000001851 00000 n 
-0000133663 00000 n 
-0000889386 00000 n 
-0000001902 00000 n 
-0000002050 00000 n 
-0000170726 00000 n 
-0000889260 00000 n 
-0000002096 00000 n 
-0000002241 00000 n 
-0000170839 00000 n 
-0000889199 00000 n 
-0000002292 00000 n 
-0000002546 00000 n 
-0000201476 00000 n 
-0000889084 00000 n 
-0000002593 00000 n 
-0000002718 00000 n 
-0000201589 00000 n 
-0000889010 00000 n 
-0000002770 00000 n 
-0000003117 00000 n 
-0000207027 00000 n 
-0000888923 00000 n 
-0000003169 00000 n 
-0000003564 00000 n 
-0000210973 00000 n 
-0000888836 00000 n 
-0000003616 00000 n 
-0000003954 00000 n 
-0000211501 00000 n 
-0000888749 00000 n 
-0000004006 00000 n 
-0000004313 00000 n 
-0000225938 00000 n 
-0000888662 00000 n 
-0000004365 00000 n 
-0000004664 00000 n 
-0000231288 00000 n 
-0000888575 00000 n 
-0000004716 00000 n 
-0000005010 00000 n 
-0000237702 00000 n 
-0000888488 00000 n 
-0000005062 00000 n 
-0000005394 00000 n 
-0000243739 00000 n 
-0000888401 00000 n 
-0000005446 00000 n 
-0000005740 00000 n 
-0000247576 00000 n 
-0000888312 00000 n 
-0000005792 00000 n 
-0000006125 00000 n 
-0000247984 00000 n 
-0000888221 00000 n 
-0000006179 00000 n 
-0000006540 00000 n 
-0000254743 00000 n 
-0000888129 00000 n 
-0000006594 00000 n 
-0000006884 00000 n 
-0000260940 00000 n 
-0000888037 00000 n 
-0000006938 00000 n 
-0000007266 00000 n 
-0000267568 00000 n 
-0000887945 00000 n 
-0000007320 00000 n 
-0000007638 00000 n 
-0000270724 00000 n 
-0000887853 00000 n 
-0000007692 00000 n 
-0000008048 00000 n 
-0000274283 00000 n 
-0000887761 00000 n 
-0000008102 00000 n 
-0000008483 00000 n 
-0000274576 00000 n 
-0000887669 00000 n 
-0000008537 00000 n 
-0000008792 00000 n 
-0000279084 00000 n 
-0000887577 00000 n 
-0000008846 00000 n 
-0000009207 00000 n 
-0000279377 00000 n 
-0000887485 00000 n 
-0000009261 00000 n 
-0000009594 00000 n 
-0000287912 00000 n 
-0000887393 00000 n 
-0000009648 00000 n 
-0000010044 00000 n 
-0000294695 00000 n 
-0000887301 00000 n 
-0000010098 00000 n 
-0000010489 00000 n 
-0000300331 00000 n 
-0000887209 00000 n 
-0000010543 00000 n 
-0000010899 00000 n 
-0000300977 00000 n 
-0000887117 00000 n 
-0000010953 00000 n 
-0000011319 00000 n 
-0000308298 00000 n 
-0000887025 00000 n 
-0000011373 00000 n 
-0000011772 00000 n 
-0000313426 00000 n 
-0000886933 00000 n 
-0000011826 00000 n 
-0000012207 00000 n 
-0000313837 00000 n 
-0000886841 00000 n 
-0000012261 00000 n 
-0000012617 00000 n 
-0000319512 00000 n 
-0000886749 00000 n 
-0000012671 00000 n 
-0000012974 00000 n 
-0000347122 00000 n 
-0000886657 00000 n 
-0000013028 00000 n 
-0000013399 00000 n 
-0000347415 00000 n 
-0000886565 00000 n 
-0000013453 00000 n 
-0000013767 00000 n 
-0000351942 00000 n 
-0000886473 00000 n 
-0000013821 00000 n 
-0000014187 00000 n 
-0000365680 00000 n 
-0000886381 00000 n 
-0000014241 00000 n 
-0000014569 00000 n 
-0000370150 00000 n 
-0000886289 00000 n 
-0000014623 00000 n 
-0000014959 00000 n 
-0000375992 00000 n 
-0000886197 00000 n 
-0000015013 00000 n 
-0000015316 00000 n 
-0000399603 00000 n 
-0000886105 00000 n 
-0000015370 00000 n 
-0000015706 00000 n 
-0000406278 00000 n 
-0000886013 00000 n 
-0000015760 00000 n 
-0000016076 00000 n 
-0000414053 00000 n 
-0000885921 00000 n 
-0000016130 00000 n 
-0000016534 00000 n 
-0000419647 00000 n 
-0000885829 00000 n 
-0000016588 00000 n 
-0000017040 00000 n 
-0000424742 00000 n 
-0000885737 00000 n 
-0000017094 00000 n 
-0000017430 00000 n 
-0000431040 00000 n 
-0000885645 00000 n 
-0000017484 00000 n 
-0000017820 00000 n 
-0000437167 00000 n 
-0000885553 00000 n 
-0000017874 00000 n 
-0000018169 00000 n 
-0000545437 00000 n 
-0000885461 00000 n 
-0000018223 00000 n 
-0000018556 00000 n 
-0000549254 00000 n 
-0000885369 00000 n 
-0000018610 00000 n 
-0000018895 00000 n 
-0000549782 00000 n 
-0000885291 00000 n 
-0000018949 00000 n 
-0000019262 00000 n 
-0000020548 00000 n 
-0000020780 00000 n 
-0000019314 00000 n 
-0000020667 00000 n 
-0000020723 00000 n 
-0000882017 00000 n 
-0000880120 00000 n 
-0000880552 00000 n 
-0000880264 00000 n 
-0000882373 00000 n 
-0000023011 00000 n 
-0000023177 00000 n 
-0000023327 00000 n 
-0000023493 00000 n 
-0000023790 00000 n 
-0000023964 00000 n 
-0000024114 00000 n 
-0000024265 00000 n 
-0000024416 00000 n 
-0000024567 00000 n 
-0000024724 00000 n 
-0000024874 00000 n 
-0000025031 00000 n 
-0000025182 00000 n 
-0000025339 00000 n 
-0000025489 00000 n 
-0000025646 00000 n 
-0000025796 00000 n 
-0000025952 00000 n 
-0000026103 00000 n 
-0000026259 00000 n 
-0000028590 00000 n 
-0000026408 00000 n 
-0000026693 00000 n 
-0000022696 00000 n 
-0000020891 00000 n 
-0000026580 00000 n 
-0000881661 00000 n 
-0000023643 00000 n 
-0000881309 00000 n 
-0000026636 00000 n 
-0000081284 00000 n 
-0000043083 00000 n 
-0000028748 00000 n 
-0000028906 00000 n 
-0000029063 00000 n 
-0000029220 00000 n 
-0000029378 00000 n 
-0000029535 00000 n 
-0000029692 00000 n 
-0000029850 00000 n 
-0000030008 00000 n 
-0000030167 00000 n 
-0000030326 00000 n 
-0000030485 00000 n 
-0000030644 00000 n 
-0000030803 00000 n 
-0000030962 00000 n 
-0000031121 00000 n 
-0000031278 00000 n 
-0000031437 00000 n 
-0000031596 00000 n 
-0000031753 00000 n 
-0000031910 00000 n 
-0000032069 00000 n 
-0000032228 00000 n 
-0000032386 00000 n 
-0000032545 00000 n 
-0000032704 00000 n 
-0000032863 00000 n 
-0000033022 00000 n 
-0000033181 00000 n 
-0000033340 00000 n 
-0000033499 00000 n 
-0000033658 00000 n 
-0000033817 00000 n 
-0000033975 00000 n 
-0000034132 00000 n 
-0000037648 00000 n 
-0000034289 00000 n 
-0000034518 00000 n 
-0000028163 00000 n 
-0000026791 00000 n 
-0000034462 00000 n 
-0000878808 00000 n 
-0000037807 00000 n 
-0000037965 00000 n 
-0000038124 00000 n 
-0000038283 00000 n 
-0000038442 00000 n 
-0000038600 00000 n 
-0000039003 00000 n 
-0000039400 00000 n 
-0000037445 00000 n 
-0000034629 00000 n 
-0000039175 00000 n 
-0000039286 00000 n 
-0000882193 00000 n 
-0000039343 00000 n 
-0000038802 00000 n 
-0000351884 00000 n 
-0000042581 00000 n 
-0000042743 00000 n 
-0000043196 00000 n 
-0000042434 00000 n 
-0000039511 00000 n 
-0000042916 00000 n 
-0000879540 00000 n 
-0000043027 00000 n 
-0000043139 00000 n 
-0000046801 00000 n 
-0000047142 00000 n 
-0000046662 00000 n 
-0000043345 00000 n 
-0000046973 00000 n 
-0000047029 00000 n 
-0000047085 00000 n 
-0000050559 00000 n 
-0000050902 00000 n 
-0000050420 00000 n 
-0000047240 00000 n 
-0000050732 00000 n 
-0000050788 00000 n 
-0000050845 00000 n 
-0000882491 00000 n 
-0000054024 00000 n 
-0000054423 00000 n 
-0000053885 00000 n 
-0000051000 00000 n 
-0000054196 00000 n 
-0000054252 00000 n 
-0000054309 00000 n 
-0000054366 00000 n 
-0000058106 00000 n 
-0000058392 00000 n 
-0000057967 00000 n 
-0000054521 00000 n 
-0000058279 00000 n 
-0000058335 00000 n 
-0000061818 00000 n 
-0000062103 00000 n 
-0000061679 00000 n 
-0000058490 00000 n 
-0000061990 00000 n 
-0000062046 00000 n 
-0000065486 00000 n 
-0000065886 00000 n 
-0000065347 00000 n 
-0000062201 00000 n 
-0000065659 00000 n 
-0000065715 00000 n 
-0000065772 00000 n 
-0000065829 00000 n 
-0000069689 00000 n 
-0000070031 00000 n 
-0000069550 00000 n 
-0000065984 00000 n 
-0000069861 00000 n 
-0000069917 00000 n 
-0000069974 00000 n 
-0000073213 00000 n 
-0000073670 00000 n 
-0000073074 00000 n 
-0000070129 00000 n 
-0000073386 00000 n 
-0000073442 00000 n 
-0000073499 00000 n 
-0000073556 00000 n 
-0000073613 00000 n 
-0000882609 00000 n 
-0000076539 00000 n 
-0000076715 00000 n 
-0000080747 00000 n 
-0000076889 00000 n 
-0000077231 00000 n 
-0000076384 00000 n 
-0000073768 00000 n 
-0000077061 00000 n 
-0000077117 00000 n 
-0000077174 00000 n 
-0000881483 00000 n 
-0000080942 00000 n 
-0000081341 00000 n 
-0000080600 00000 n 
-0000077342 00000 n 
-0000081115 00000 n 
-0000081227 00000 n 
-0000085357 00000 n 
-0000085585 00000 n 
-0000085218 00000 n 
-0000081439 00000 n 
-0000085529 00000 n 
-0000089128 00000 n 
-0000089357 00000 n 
-0000088989 00000 n 
-0000085683 00000 n 
-0000089301 00000 n 
-0000092892 00000 n 
-0000093120 00000 n 
-0000092753 00000 n 
-0000089455 00000 n 
-0000093064 00000 n 
-0000096657 00000 n 
-0000096833 00000 n 
-0000097117 00000 n 
-0000096510 00000 n 
-0000093218 00000 n 
-0000097006 00000 n 
-0000097062 00000 n 
-0000882727 00000 n 
-0000098980 00000 n 
-0000099137 00000 n 
-0000099314 00000 n 
-0000099471 00000 n 
-0000099627 00000 n 
-0000099785 00000 n 
-0000099942 00000 n 
-0000100100 00000 n 
-0000100258 00000 n 
-0000100416 00000 n 
-0000102683 00000 n 
-0000100572 00000 n 
-0000101135 00000 n 
-0000098761 00000 n 
-0000097215 00000 n 
-0000100744 00000 n 
-0000170782 00000 n 
-0000102841 00000 n 
-0000103000 00000 n 
-0000103155 00000 n 
-0000103314 00000 n 
-0000103473 00000 n 
-0000103632 00000 n 
-0000103791 00000 n 
-0000103949 00000 n 
-0000104108 00000 n 
-0000104266 00000 n 
-0000104425 00000 n 
-0000104584 00000 n 
-0000104743 00000 n 
-0000104902 00000 n 
-0000105060 00000 n 
-0000105219 00000 n 
-0000105378 00000 n 
-0000105537 00000 n 
-0000105696 00000 n 
-0000105855 00000 n 
-0000106013 00000 n 
-0000106171 00000 n 
-0000106330 00000 n 
-0000106489 00000 n 
-0000106648 00000 n 
-0000106807 00000 n 
-0000106966 00000 n 
-0000107124 00000 n 
-0000109541 00000 n 
-0000107281 00000 n 
-0000107510 00000 n 
-0000102312 00000 n 
-0000101246 00000 n 
-0000107454 00000 n 
-0000109700 00000 n 
-0000109858 00000 n 
-0000110016 00000 n 
-0000110175 00000 n 
-0000110332 00000 n 
-0000110490 00000 n 
-0000110688 00000 n 
-0000110846 00000 n 
-0000111054 00000 n 
-0000111212 00000 n 
-0000111413 00000 n 
-0000111571 00000 n 
-0000111761 00000 n 
-0000111919 00000 n 
-0000112107 00000 n 
-0000112265 00000 n 
-0000112452 00000 n 
-0000112610 00000 n 
-0000112804 00000 n 
-0000112962 00000 n 
-0000113148 00000 n 
-0000113305 00000 n 
-0000113498 00000 n 
-0000113656 00000 n 
-0000113857 00000 n 
-0000114016 00000 n 
-0000114201 00000 n 
-0000114359 00000 n 
-0000114553 00000 n 
-0000114712 00000 n 
-0000114904 00000 n 
-0000115063 00000 n 
-0000115263 00000 n 
-0000115422 00000 n 
-0000115627 00000 n 
-0000115785 00000 n 
-0000115964 00000 n 
-0000116123 00000 n 
-0000116322 00000 n 
-0000119139 00000 n 
-0000119334 00000 n 
-0000116479 00000 n 
-0000116819 00000 n 
-0000109082 00000 n 
-0000107621 00000 n 
-0000116651 00000 n 
-0000201532 00000 n 
-0000206969 00000 n 
-0000210915 00000 n 
-0000211443 00000 n 
-0000225880 00000 n 
-0000231230 00000 n 
-0000237644 00000 n 
-0000243681 00000 n 
-0000247518 00000 n 
-0000247926 00000 n 
-0000254685 00000 n 
-0000260882 00000 n 
-0000261293 00000 n 
-0000270666 00000 n 
-0000274225 00000 n 
-0000274518 00000 n 
-0000279026 00000 n 
-0000119493 00000 n 
-0000119701 00000 n 
-0000119860 00000 n 
-0000120066 00000 n 
-0000120225 00000 n 
-0000120425 00000 n 
-0000120583 00000 n 
-0000120785 00000 n 
-0000120944 00000 n 
-0000121153 00000 n 
-0000121312 00000 n 
-0000121517 00000 n 
-0000121675 00000 n 
-0000121875 00000 n 
-0000122034 00000 n 
-0000122223 00000 n 
-0000122382 00000 n 
-0000122585 00000 n 
-0000122743 00000 n 
-0000122942 00000 n 
-0000123101 00000 n 
-0000123302 00000 n 
-0000123461 00000 n 
-0000123655 00000 n 
-0000123813 00000 n 
-0000124008 00000 n 
-0000124167 00000 n 
-0000124355 00000 n 
-0000124513 00000 n 
-0000124709 00000 n 
-0000124868 00000 n 
-0000125060 00000 n 
-0000125219 00000 n 
-0000125429 00000 n 
-0000125619 00000 n 
-0000125778 00000 n 
-0000125998 00000 n 
-0000126207 00000 n 
-0000126366 00000 n 
-0000126561 00000 n 
-0000126720 00000 n 
-0000126916 00000 n 
-0000127075 00000 n 
-0000127262 00000 n 
-0000127421 00000 n 
-0000127613 00000 n 
-0000129683 00000 n 
-0000129867 00000 n 
-0000127770 00000 n 
-0000127999 00000 n 
-0000118616 00000 n 
-0000116930 00000 n 
-0000127943 00000 n 
-0000279319 00000 n 
-0000287854 00000 n 
-0000294638 00000 n 
-0000300273 00000 n 
-0000300919 00000 n 
-0000308240 00000 n 
-0000313368 00000 n 
-0000313779 00000 n 
-0000319454 00000 n 
-0000347064 00000 n 
-0000347357 00000 n 
-0000365622 00000 n 
-0000370092 00000 n 
-0000375934 00000 n 
-0000399545 00000 n 
-0000406220 00000 n 
-0000413995 00000 n 
-0000419589 00000 n 
-0000424684 00000 n 
-0000430982 00000 n 
-0000437109 00000 n 
-0000545379 00000 n 
-0000130025 00000 n 
-0000130216 00000 n 
-0000130374 00000 n 
-0000130582 00000 n 
-0000130783 00000 n 
-0000130971 00000 n 
-0000131158 00000 n 
-0000131353 00000 n 
-0000131540 00000 n 
-0000131735 00000 n 
-0000131935 00000 n 
-0000132122 00000 n 
-0000132311 00000 n 
-0000132521 00000 n 
-0000132709 00000 n 
-0000132929 00000 n 
-0000133137 00000 n 
-0000135318 00000 n 
-0000133322 00000 n 
-0000133776 00000 n 
-0000129392 00000 n 
-0000128110 00000 n 
-0000133494 00000 n 
-0000133606 00000 n 
-0000133719 00000 n 
-0000545672 00000 n 
-0000549724 00000 n 
-0000135511 00000 n 
-0000135703 00000 n 
-0000135903 00000 n 
-0000136108 00000 n 
-0000136287 00000 n 
-0000136488 00000 n 
-0000136683 00000 n 
-0000136891 00000 n 
-0000137098 00000 n 
-0000137298 00000 n 
-0000137500 00000 n 
-0000137709 00000 n 
-0000137914 00000 n 
-0000138113 00000 n 
-0000138302 00000 n 
-0000138504 00000 n 
-0000140797 00000 n 
-0000138702 00000 n 
-0000138931 00000 n 
-0000135043 00000 n 
-0000133900 00000 n 
-0000138875 00000 n 
-0000882845 00000 n 
-0000140999 00000 n 
-0000141192 00000 n 
-0000141381 00000 n 
-0000141577 00000 n 
-0000141771 00000 n 
-0000141956 00000 n 
-0000142132 00000 n 
-0000142336 00000 n 
-0000142745 00000 n 
-0000142951 00000 n 
-0000143362 00000 n 
-0000143567 00000 n 
-0000143978 00000 n 
-0000144182 00000 n 
-0000144387 00000 n 
-0000144592 00000 n 
-0000144798 00000 n 
-0000145209 00000 n 
-0000145415 00000 n 
-0000145618 00000 n 
-0000145823 00000 n 
-0000146233 00000 n 
-0000146438 00000 n 
-0000146849 00000 n 
-0000147052 00000 n 
-0000147256 00000 n 
-0000147598 00000 n 
-0000140402 00000 n 
-0000139055 00000 n 
-0000147428 00000 n 
-0000147484 00000 n 
-0000147541 00000 n 
-0000142542 00000 n 
-0000143157 00000 n 
-0000143773 00000 n 
-0000145004 00000 n 
-0000146028 00000 n 
-0000146644 00000 n 
-0000162354 00000 n 
-0000162468 00000 n 
-0000162530 00000 n 
-0000162644 00000 n 
-0000162706 00000 n 
-0000162820 00000 n 
-0000162881 00000 n 
-0000164982 00000 n 
-0000165044 00000 n 
-0000165158 00000 n 
-0000149674 00000 n 
-0000149878 00000 n 
-0000150289 00000 n 
-0000150493 00000 n 
-0000150698 00000 n 
-0000150903 00000 n 
-0000151108 00000 n 
-0000151313 00000 n 
-0000151517 00000 n 
-0000151721 00000 n 
-0000151926 00000 n 
-0000152132 00000 n 
-0000152542 00000 n 
-0000152746 00000 n 
-0000152951 00000 n 
-0000153360 00000 n 
-0000153565 00000 n 
-0000153770 00000 n 
-0000154181 00000 n 
-0000154592 00000 n 
-0000154798 00000 n 
-0000155003 00000 n 
-0000155414 00000 n 
-0000155620 00000 n 
-0000155824 00000 n 
-0000156234 00000 n 
-0000156439 00000 n 
-0000156644 00000 n 
-0000156849 00000 n 
-0000157260 00000 n 
-0000157670 00000 n 
-0000157876 00000 n 
-0000158081 00000 n 
-0000158284 00000 n 
-0000158695 00000 n 
-0000158901 00000 n 
-0000159106 00000 n 
-0000159311 00000 n 
-0000159517 00000 n 
-0000159928 00000 n 
-0000160134 00000 n 
-0000160338 00000 n 
-0000160567 00000 n 
-0000149119 00000 n 
-0000147709 00000 n 
-0000160511 00000 n 
-0000150084 00000 n 
-0000152338 00000 n 
-0000153156 00000 n 
-0000153976 00000 n 
-0000154387 00000 n 
-0000155209 00000 n 
-0000156030 00000 n 
-0000157055 00000 n 
-0000157466 00000 n 
-0000158490 00000 n 
-0000159723 00000 n 
-0000165220 00000 n 
-0000165334 00000 n 
-0000165396 00000 n 
-0000165510 00000 n 
-0000165572 00000 n 
-0000165686 00000 n 
-0000165748 00000 n 
-0000167623 00000 n 
-0000167683 00000 n 
-0000167796 00000 n 
-0000167858 00000 n 
-0000167972 00000 n 
-0000168034 00000 n 
-0000168148 00000 n 
-0000168210 00000 n 
-0000170313 00000 n 
-0000170374 00000 n 
-0000170488 00000 n 
-0000170550 00000 n 
-0000170664 00000 n 
-0000162012 00000 n 
-0000162995 00000 n 
-0000161873 00000 n 
-0000160678 00000 n 
-0000162184 00000 n 
-0000162240 00000 n 
-0000162297 00000 n 
-0000162411 00000 n 
-0000881837 00000 n 
-0000162587 00000 n 
-0000162763 00000 n 
-0000162938 00000 n 
-0000164565 00000 n 
-0000164753 00000 n 
-0000165804 00000 n 
-0000164418 00000 n 
-0000163106 00000 n 
-0000164926 00000 n 
-0000165101 00000 n 
-0000165277 00000 n 
-0000165453 00000 n 
-0000165629 00000 n 
-0000167149 00000 n 
-0000167338 00000 n 
-0000168266 00000 n 
-0000167002 00000 n 
-0000165915 00000 n 
-0000167510 00000 n 
-0000167566 00000 n 
-0000167740 00000 n 
-0000167915 00000 n 
-0000168091 00000 n 
-0000169838 00000 n 
-0000172458 00000 n 
-0000172656 00000 n 
-0000170027 00000 n 
-0000170895 00000 n 
-0000169691 00000 n 
-0000168377 00000 n 
-0000170200 00000 n 
-0000170256 00000 n 
-0000170431 00000 n 
-0000170607 00000 n 
-0000882963 00000 n 
-0000172864 00000 n 
-0000173065 00000 n 
-0000173253 00000 n 
-0000173438 00000 n 
-0000173631 00000 n 
-0000173817 00000 n 
-0000174012 00000 n 
-0000174213 00000 n 
-0000174400 00000 n 
-0000174588 00000 n 
-0000174798 00000 n 
-0000174987 00000 n 
-0000175206 00000 n 
-0000175415 00000 n 
-0000175601 00000 n 
-0000175795 00000 n 
-0000175986 00000 n 
-0000177984 00000 n 
-0000176185 00000 n 
-0000176470 00000 n 
-0000172167 00000 n 
-0000171006 00000 n 
-0000176357 00000 n 
-0000176413 00000 n 
-0000178188 00000 n 
-0000178367 00000 n 
-0000178568 00000 n 
-0000178763 00000 n 
-0000178970 00000 n 
-0000179175 00000 n 
-0000179374 00000 n 
-0000179576 00000 n 
-0000179785 00000 n 
-0000179990 00000 n 
-0000180190 00000 n 
-0000180379 00000 n 
-0000180582 00000 n 
-0000180781 00000 n 
-0000180983 00000 n 
-0000181177 00000 n 
-0000183521 00000 n 
-0000181371 00000 n 
-0000181600 00000 n 
-0000177709 00000 n 
-0000176594 00000 n 
-0000181544 00000 n 
-0000183710 00000 n 
-0000183906 00000 n 
-0000184098 00000 n 
-0000184294 00000 n 
-0000184490 00000 n 
-0000184685 00000 n 
-0000184870 00000 n 
-0000185061 00000 n 
-0000185266 00000 n 
-0000185472 00000 n 
-0000185677 00000 n 
-0000185882 00000 n 
-0000186087 00000 n 
-0000186293 00000 n 
-0000186499 00000 n 
-0000186704 00000 n 
-0000186909 00000 n 
-0000187115 00000 n 
-0000187321 00000 n 
-0000187527 00000 n 
-0000187732 00000 n 
-0000187937 00000 n 
-0000188143 00000 n 
-0000188349 00000 n 
-0000188760 00000 n 
-0000188965 00000 n 
-0000189171 00000 n 
-0000189374 00000 n 
-0000189578 00000 n 
-0000189985 00000 n 
-0000190189 00000 n 
-0000190473 00000 n 
-0000183118 00000 n 
-0000181724 00000 n 
-0000190361 00000 n 
-0000190417 00000 n 
-0000188555 00000 n 
-0000189782 00000 n 
-0000192582 00000 n 
-0000192786 00000 n 
-0000192991 00000 n 
-0000193195 00000 n 
-0000193399 00000 n 
-0000193604 00000 n 
-0000193809 00000 n 
-0000194014 00000 n 
-0000194219 00000 n 
-0000194424 00000 n 
-0000194630 00000 n 
-0000194836 00000 n 
-0000195042 00000 n 
-0000195246 00000 n 
-0000195452 00000 n 
-0000195658 00000 n 
-0000195863 00000 n 
-0000196067 00000 n 
-0000196272 00000 n 
-0000196477 00000 n 
-0000196682 00000 n 
-0000196888 00000 n 
-0000197299 00000 n 
-0000197504 00000 n 
-0000197709 00000 n 
-0000197915 00000 n 
-0000198325 00000 n 
-0000198531 00000 n 
-0000198736 00000 n 
-0000198940 00000 n 
-0000199146 00000 n 
-0000199352 00000 n 
-0000199557 00000 n 
-0000199762 00000 n 
-0000199968 00000 n 
-0000200174 00000 n 
-0000200380 00000 n 
-0000200582 00000 n 
-0000200811 00000 n 
-0000201004 00000 n 
-0000201190 00000 n 
-0000201757 00000 n 
-0000192107 00000 n 
-0000190584 00000 n 
-0000201363 00000 n 
-0000197094 00000 n 
-0000198121 00000 n 
-0000201419 00000 n 
-0000201645 00000 n 
-0000201701 00000 n 
-0000203946 00000 n 
-0000204139 00000 n 
-0000204371 00000 n 
-0000204558 00000 n 
-0000204790 00000 n 
-0000205019 00000 n 
-0000205248 00000 n 
-0000205445 00000 n 
-0000205638 00000 n 
-0000205826 00000 n 
-0000206015 00000 n 
-0000206204 00000 n 
-0000208859 00000 n 
-0000206445 00000 n 
-0000207201 00000 n 
-0000203708 00000 n 
-0000201868 00000 n 
-0000206617 00000 n 
-0000206675 00000 n 
-0000206733 00000 n 
-0000206792 00000 n 
-0000206851 00000 n 
-0000206910 00000 n 
-0000207083 00000 n 
-0000207142 00000 n 
-0000209067 00000 n 
-0000209302 00000 n 
-0000209538 00000 n 
-0000209774 00000 n 
-0000210010 00000 n 
-0000210197 00000 n 
-0000210420 00000 n 
-0000214215 00000 n 
-0000214440 00000 n 
-0000210624 00000 n 
-0000211617 00000 n 
-0000208644 00000 n 
-0000207326 00000 n 
-0000210798 00000 n 
-0000210856 00000 n 
-0000878954 00000 n 
-0000211030 00000 n 
-0000211089 00000 n 
-0000211148 00000 n 
-0000211207 00000 n 
-0000211266 00000 n 
-0000211325 00000 n 
-0000211384 00000 n 
-0000211558 00000 n 
-0000883082 00000 n 
-0000221605 00000 n 
-0000214631 00000 n 
-0000214856 00000 n 
-0000215047 00000 n 
-0000215253 00000 n 
-0000215477 00000 n 
-0000215672 00000 n 
-0000215897 00000 n 
-0000216093 00000 n 
-0000216317 00000 n 
-0000216542 00000 n 
-0000216767 00000 n 
-0000216973 00000 n 
-0000217198 00000 n 
-0000217392 00000 n 
-0000217617 00000 n 
-0000217808 00000 n 
-0000217999 00000 n 
-0000218223 00000 n 
-0000218602 00000 n 
-0000218793 00000 n 
-0000219017 00000 n 
-0000219601 00000 n 
-0000213864 00000 n 
-0000211756 00000 n 
-0000219190 00000 n 
-0000219248 00000 n 
-0000219306 00000 n 
-0000219365 00000 n 
-0000219424 00000 n 
-0000218413 00000 n 
-0000219483 00000 n 
-0000219542 00000 n 
-0000221721 00000 n 
-0000221839 00000 n 
-0000221962 00000 n 
-0000222085 00000 n 
-0000222208 00000 n 
-0000225644 00000 n 
-0000225762 00000 n 
-0000221255 00000 n 
-0000222331 00000 n 
-0000221111 00000 n 
-0000219752 00000 n 
-0000221429 00000 n 
-0000221487 00000 n 
-0000221546 00000 n 
-0000221663 00000 n 
-0000221780 00000 n 
-0000221903 00000 n 
-0000222026 00000 n 
-0000222149 00000 n 
-0000222272 00000 n 
-0000224483 00000 n 
-0000224689 00000 n 
-0000224911 00000 n 
-0000225132 00000 n 
-0000228176 00000 n 
-0000225354 00000 n 
-0000226229 00000 n 
-0000224303 00000 n 
-0000222443 00000 n 
-0000225527 00000 n 
-0000225585 00000 n 
-0000225703 00000 n 
-0000225821 00000 n 
-0000881134 00000 n 
-0000225995 00000 n 
-0000226053 00000 n 
-0000226111 00000 n 
-0000226170 00000 n 
-0000228398 00000 n 
-0000228620 00000 n 
-0000228808 00000 n 
-0000229031 00000 n 
-0000229254 00000 n 
-0000229477 00000 n 
-0000229666 00000 n 
-0000229887 00000 n 
-0000230083 00000 n 
-0000230279 00000 n 
-0000233658 00000 n 
-0000233852 00000 n 
-0000230468 00000 n 
-0000231459 00000 n 
-0000227933 00000 n 
-0000226394 00000 n 
-0000230642 00000 n 
-0000230700 00000 n 
-0000230759 00000 n 
-0000230818 00000 n 
-0000230877 00000 n 
-0000230936 00000 n 
-0000230995 00000 n 
-0000231053 00000 n 
-0000231112 00000 n 
-0000231171 00000 n 
-0000231341 00000 n 
-0000231400 00000 n 
-0000880842 00000 n 
-0000879975 00000 n 
-0000234073 00000 n 
-0000234266 00000 n 
-0000234487 00000 n 
-0000234675 00000 n 
-0000234897 00000 n 
-0000235116 00000 n 
-0000235336 00000 n 
-0000235524 00000 n 
-0000235746 00000 n 
-0000235940 00000 n 
-0000236162 00000 n 
-0000236356 00000 n 
-0000236578 00000 n 
-0000239577 00000 n 
-0000236766 00000 n 
-0000237759 00000 n 
-0000233379 00000 n 
-0000231640 00000 n 
-0000236939 00000 n 
-0000236997 00000 n 
-0000237056 00000 n 
-0000237115 00000 n 
-0000237174 00000 n 
-0000237233 00000 n 
-0000237291 00000 n 
-0000237350 00000 n 
-0000237409 00000 n 
-0000237468 00000 n 
-0000237527 00000 n 
-0000237586 00000 n 
-0000878662 00000 n 
-0000879247 00000 n 
-0000880408 00000 n 
-0000879830 00000 n 
-0000239805 00000 n 
-0000240031 00000 n 
-0000240259 00000 n 
-0000240455 00000 n 
-0000240642 00000 n 
-0000240862 00000 n 
-0000241057 00000 n 
-0000241262 00000 n 
-0000241457 00000 n 
-0000241651 00000 n 
-0000241872 00000 n 
-0000242066 00000 n 
-0000242288 00000 n 
-0000242493 00000 n 
-0000242715 00000 n 
-0000242934 00000 n 
-0000245741 00000 n 
-0000243154 00000 n 
-0000244209 00000 n 
-0000239280 00000 n 
-0000237976 00000 n 
-0000243328 00000 n 
-0000243386 00000 n 
-0000243445 00000 n 
-0000243504 00000 n 
-0000243563 00000 n 
-0000243622 00000 n 
-0000243796 00000 n 
-0000243855 00000 n 
-0000243914 00000 n 
-0000243973 00000 n 
-0000244032 00000 n 
-0000244091 00000 n 
-0000244150 00000 n 
-0000883207 00000 n 
-0000245929 00000 n 
-0000246158 00000 n 
-0000246383 00000 n 
-0000246611 00000 n 
-0000246806 00000 n 
-0000246993 00000 n 
-0000247228 00000 n 
-0000248160 00000 n 
-0000245534 00000 n 
-0000244334 00000 n 
-0000247401 00000 n 
-0000247459 00000 n 
-0000247633 00000 n 
-0000247691 00000 n 
-0000247749 00000 n 
-0000247808 00000 n 
-0000247867 00000 n 
-0000248042 00000 n 
-0000248101 00000 n 
-0000249919 00000 n 
-0000250124 00000 n 
-0000250345 00000 n 
-0000250538 00000 n 
-0000250758 00000 n 
-0000250946 00000 n 
-0000251167 00000 n 
-0000251385 00000 n 
-0000251604 00000 n 
-0000251791 00000 n 
-0000252012 00000 n 
-0000252208 00000 n 
-0000252397 00000 n 
-0000252584 00000 n 
-0000252805 00000 n 
-0000253001 00000 n 
-0000253187 00000 n 
-0000253407 00000 n 
-0000253602 00000 n 
-0000253790 00000 n 
-0000253977 00000 n 
-0000254198 00000 n 
-0000256655 00000 n 
-0000254394 00000 n 
-0000255155 00000 n 
-0000249577 00000 n 
-0000248285 00000 n 
-0000254568 00000 n 
-0000254626 00000 n 
-0000254801 00000 n 
-0000254860 00000 n 
-0000254919 00000 n 
-0000254978 00000 n 
-0000255037 00000 n 
-0000255096 00000 n 
-0000260765 00000 n 
-0000257191 00000 n 
-0000257309 00000 n 
-0000257427 00000 n 
-0000257545 00000 n 
-0000256842 00000 n 
-0000257603 00000 n 
-0000256502 00000 n 
-0000255280 00000 n 
-0000257015 00000 n 
-0000257073 00000 n 
-0000257132 00000 n 
-0000257250 00000 n 
-0000257368 00000 n 
-0000257486 00000 n 
-0000259412 00000 n 
-0000259640 00000 n 
-0000259866 00000 n 
-0000260093 00000 n 
-0000260288 00000 n 
-0000260474 00000 n 
-0000261350 00000 n 
-0000259223 00000 n 
-0000257729 00000 n 
-0000260648 00000 n 
-0000260706 00000 n 
-0000260824 00000 n 
-0000260998 00000 n 
-0000261057 00000 n 
-0000261116 00000 n 
-0000261175 00000 n 
-0000261234 00000 n 
-0000263204 00000 n 
-0000263408 00000 n 
-0000263634 00000 n 
-0000263828 00000 n 
-0000264055 00000 n 
-0000264243 00000 n 
-0000264470 00000 n 
-0000264694 00000 n 
-0000264919 00000 n 
-0000265112 00000 n 
-0000265339 00000 n 
-0000265535 00000 n 
-0000265728 00000 n 
-0000265955 00000 n 
-0000266151 00000 n 
-0000266340 00000 n 
-0000266533 00000 n 
-0000266760 00000 n 
-0000266956 00000 n 
-0000267144 00000 n 
-0000267337 00000 n 
-0000268214 00000 n 
-0000262880 00000 n 
-0000261502 00000 n 
-0000267510 00000 n 
-0000267626 00000 n 
-0000267685 00000 n 
-0000267744 00000 n 
-0000267803 00000 n 
-0000267862 00000 n 
-0000267921 00000 n 
-0000267980 00000 n 
-0000268039 00000 n 
-0000268098 00000 n 
-0000268156 00000 n 
-0000270549 00000 n 
-0000270314 00000 n 
-0000270431 00000 n 
-0000269848 00000 n 
-0000272508 00000 n 
-0000272740 00000 n 
-0000270082 00000 n 
-0000270900 00000 n 
-0000269695 00000 n 
-0000268366 00000 n 
-0000270256 00000 n 
-0000270373 00000 n 
-0000270490 00000 n 
-0000270608 00000 n 
-0000270782 00000 n 
-0000270841 00000 n 
-0000883332 00000 n 
-0000272973 00000 n 
-0000273174 00000 n 
-0000273367 00000 n 
-0000273606 00000 n 
-0000273817 00000 n 
-0000274752 00000 n 
-0000272310 00000 n 
-0000271039 00000 n 
-0000273990 00000 n 
-0000274048 00000 n 
-0000274107 00000 n 
-0000274166 00000 n 
-0000274341 00000 n 
-0000274400 00000 n 
-0000274459 00000 n 
-0000274634 00000 n 
-0000274693 00000 n 
-0000278908 00000 n 
-0000276540 00000 n 
-0000276775 00000 n 
-0000276984 00000 n 
-0000277398 00000 n 
-0000277598 00000 n 
-0000278000 00000 n 
-0000278414 00000 n 
-0000281510 00000 n 
-0000281704 00000 n 
-0000281934 00000 n 
-0000278617 00000 n 
-0000279435 00000 n 
-0000276306 00000 n 
-0000274877 00000 n 
-0000278791 00000 n 
-0000278849 00000 n 
-0000278967 00000 n 
-0000279142 00000 n 
-0000279201 00000 n 
-0000279260 00000 n 
-0000277192 00000 n 
-0000277800 00000 n 
-0000278208 00000 n 
-0000282130 00000 n 
-0000282324 00000 n 
-0000282554 00000 n 
-0000282750 00000 n 
-0000282944 00000 n 
-0000283174 00000 n 
-0000283363 00000 n 
-0000283557 00000 n 
-0000283787 00000 n 
-0000283983 00000 n 
-0000284213 00000 n 
-0000284440 00000 n 
-0000284667 00000 n 
-0000284897 00000 n 
-0000285127 00000 n 
-0000285320 00000 n 
-0000285526 00000 n 
-0000285735 00000 n 
-0000285936 00000 n 
-0000286142 00000 n 
-0000286351 00000 n 
-0000286545 00000 n 
-0000286786 00000 n 
-0000289783 00000 n 
-0000289971 00000 n 
-0000286974 00000 n 
-0000288088 00000 n 
-0000281132 00000 n 
-0000279574 00000 n 
-0000287147 00000 n 
-0000287205 00000 n 
-0000287264 00000 n 
-0000287323 00000 n 
-0000287382 00000 n 
-0000287441 00000 n 
-0000287500 00000 n 
-0000287559 00000 n 
-0000287618 00000 n 
-0000287677 00000 n 
-0000880698 00000 n 
-0000287736 00000 n 
-0000287795 00000 n 
-0000287970 00000 n 
-0000288029 00000 n 
-0000290214 00000 n 
-0000290422 00000 n 
-0000290665 00000 n 
-0000290852 00000 n 
-0000291094 00000 n 
-0000291289 00000 n 
-0000291530 00000 n 
-0000291726 00000 n 
-0000291922 00000 n 
-0000292116 00000 n 
-0000292357 00000 n 
-0000292551 00000 n 
-0000292793 00000 n 
-0000293000 00000 n 
-0000293241 00000 n 
-0000293435 00000 n 
-0000293677 00000 n 
-0000293870 00000 n 
-0000294111 00000 n 
-0000295225 00000 n 
-0000289459 00000 n 
-0000288241 00000 n 
-0000294285 00000 n 
-0000294343 00000 n 
-0000294402 00000 n 
-0000294461 00000 n 
-0000294520 00000 n 
-0000294579 00000 n 
-0000294753 00000 n 
-0000294812 00000 n 
-0000294871 00000 n 
-0000294930 00000 n 
-0000294989 00000 n 
-0000295048 00000 n 
-0000295107 00000 n 
-0000295166 00000 n 
-0000296821 00000 n 
-0000297016 00000 n 
-0000297250 00000 n 
-0000297446 00000 n 
-0000297642 00000 n 
-0000297836 00000 n 
-0000298070 00000 n 
-0000298263 00000 n 
-0000298497 00000 n 
-0000298697 00000 n 
-0000298932 00000 n 
-0000299126 00000 n 
-0000299361 00000 n 
-0000299555 00000 n 
-0000299790 00000 n 
-0000302727 00000 n 
-0000302962 00000 n 
-0000303150 00000 n 
-0000299983 00000 n 
-0000301034 00000 n 
-0000296542 00000 n 
-0000295350 00000 n 
-0000300156 00000 n 
-0000300214 00000 n 
-0000300389 00000 n 
-0000300448 00000 n 
-0000300507 00000 n 
-0000300566 00000 n 
-0000300625 00000 n 
-0000300683 00000 n 
-0000300742 00000 n 
-0000300801 00000 n 
-0000300860 00000 n 
-0000303335 00000 n 
-0000303571 00000 n 
-0000303760 00000 n 
-0000303956 00000 n 
-0000304192 00000 n 
-0000304388 00000 n 
-0000304576 00000 n 
-0000304764 00000 n 
-0000305001 00000 n 
-0000305195 00000 n 
-0000305432 00000 n 
-0000305634 00000 n 
-0000305871 00000 n 
-0000306058 00000 n 
-0000306294 00000 n 
-0000306488 00000 n 
-0000306725 00000 n 
-0000306920 00000 n 
-0000307163 00000 n 
-0000310028 00000 n 
-0000310222 00000 n 
-0000307359 00000 n 
-0000308474 00000 n 
-0000302385 00000 n 
-0000301159 00000 n 
-0000307533 00000 n 
-0000307591 00000 n 
-0000307650 00000 n 
-0000307709 00000 n 
-0000307768 00000 n 
-0000307827 00000 n 
-0000307886 00000 n 
-0000307945 00000 n 
-0000308004 00000 n 
-0000308063 00000 n 
-0000308122 00000 n 
-0000308181 00000 n 
-0000308356 00000 n 
-0000308415 00000 n 
-0000883457 00000 n 
-0000310464 00000 n 
-0000310673 00000 n 
-0000310917 00000 n 
-0000311111 00000 n 
-0000311355 00000 n 
-0000311550 00000 n 
-0000311789 00000 n 
-0000311974 00000 n 
-0000312159 00000 n 
-0000312399 00000 n 
-0000312603 00000 n 
-0000315821 00000 n 
-0000312842 00000 n 
-0000313895 00000 n 
-0000309767 00000 n 
-0000308599 00000 n 
-0000313015 00000 n 
-0000313073 00000 n 
-0000313132 00000 n 
-0000313191 00000 n 
-0000313250 00000 n 
-0000313309 00000 n 
-0000313484 00000 n 
-0000313543 00000 n 
-0000313602 00000 n 
-0000313661 00000 n 
-0000313720 00000 n 
-0000316055 00000 n 
-0000316278 00000 n 
-0000316468 00000 n 
-0000316692 00000 n 
-0000316883 00000 n 
-0000317105 00000 n 
-0000317301 00000 n 
-0000317525 00000 n 
-0000317721 00000 n 
-0000317945 00000 n 
-0000318151 00000 n 
-0000318375 00000 n 
-0000318599 00000 n 
-0000318822 00000 n 
-0000322728 00000 n 
-0000319045 00000 n 
-0000320159 00000 n 
-0000315542 00000 n 
-0000314020 00000 n 
-0000319219 00000 n 
-0000319277 00000 n 
-0000319336 00000 n 
-0000319395 00000 n 
-0000319570 00000 n 
-0000319629 00000 n 
-0000319688 00000 n 
-0000319747 00000 n 
-0000319806 00000 n 
-0000319865 00000 n 
-0000319924 00000 n 
-0000319983 00000 n 
-0000320041 00000 n 
-0000320100 00000 n 
-0000322952 00000 n 
-0000323174 00000 n 
-0000323397 00000 n 
-0000323620 00000 n 
-0000323812 00000 n 
-0000324035 00000 n 
-0000324223 00000 n 
-0000324446 00000 n 
-0000324641 00000 n 
-0000324863 00000 n 
-0000325058 00000 n 
-0000325280 00000 n 
-0000325485 00000 n 
-0000325709 00000 n 
-0000325915 00000 n 
-0000326139 00000 n 
-0000326362 00000 n 
-0000326548 00000 n 
-0000326736 00000 n 
-0000327113 00000 n 
-0000327300 00000 n 
-0000327524 00000 n 
-0000327711 00000 n 
-0000327935 00000 n 
-0000328158 00000 n 
-0000328347 00000 n 
-0000328536 00000 n 
-0000328742 00000 n 
-0000328966 00000 n 
-0000329172 00000 n 
-0000329393 00000 n 
-0000332648 00000 n 
-0000329597 00000 n 
-0000330064 00000 n 
-0000322287 00000 n 
-0000320284 00000 n 
-0000329770 00000 n 
-0000329828 00000 n 
-0000329887 00000 n 
-0000326924 00000 n 
-0000879100 00000 n 
-0000329946 00000 n 
-0000330005 00000 n 
-0000338757 00000 n 
-0000338875 00000 n 
-0000341453 00000 n 
-0000341576 00000 n 
-0000341694 00000 n 
-0000341812 00000 n 
-0000341930 00000 n 
-0000344092 00000 n 
-0000344209 00000 n 
-0000344327 00000 n 
-0000344445 00000 n 
-0000346946 00000 n 
-0000332871 00000 n 
-0000333094 00000 n 
-0000333290 00000 n 
-0000333484 00000 n 
-0000333690 00000 n 
-0000333911 00000 n 
-0000334099 00000 n 
-0000334322 00000 n 
-0000334546 00000 n 
-0000334741 00000 n 
-0000334931 00000 n 
-0000335121 00000 n 
-0000335825 00000 n 
-0000332396 00000 n 
-0000330217 00000 n 
-0000335295 00000 n 
-0000335353 00000 n 
-0000335412 00000 n 
-0000335471 00000 n 
-0000335530 00000 n 
-0000335589 00000 n 
-0000335648 00000 n 
-0000335707 00000 n 
-0000335766 00000 n 
-0000338581 00000 n 
-0000337902 00000 n 
-0000338126 00000 n 
-0000340997 00000 n 
-0000338350 00000 n 
-0000338998 00000 n 
-0000337740 00000 n 
-0000335977 00000 n 
-0000338523 00000 n 
-0000338640 00000 n 
-0000338698 00000 n 
-0000338816 00000 n 
-0000338939 00000 n 
-0000341221 00000 n 
-0000341988 00000 n 
-0000340844 00000 n 
-0000339136 00000 n 
-0000341395 00000 n 
-0000341517 00000 n 
-0000341635 00000 n 
-0000341753 00000 n 
-0000341871 00000 n 
-0000883582 00000 n 
-0000343802 00000 n 
-0000344503 00000 n 
-0000343658 00000 n 
-0000342113 00000 n 
-0000343975 00000 n 
-0000344033 00000 n 
-0000344150 00000 n 
-0000344268 00000 n 
-0000344386 00000 n 
-0000346418 00000 n 
-0000349054 00000 n 
-0000346655 00000 n 
-0000347473 00000 n 
-0000346265 00000 n 
-0000344642 00000 n 
-0000346829 00000 n 
-0000346887 00000 n 
-0000347005 00000 n 
-0000347180 00000 n 
-0000347239 00000 n 
-0000347298 00000 n 
-0000349288 00000 n 
-0000349522 00000 n 
-0000349759 00000 n 
-0000349996 00000 n 
-0000350233 00000 n 
-0000350470 00000 n 
-0000350707 00000 n 
-0000350944 00000 n 
-0000351181 00000 n 
-0000354117 00000 n 
-0000351417 00000 n 
-0000352354 00000 n 
-0000348820 00000 n 
-0000347639 00000 n 
-0000351590 00000 n 
-0000351648 00000 n 
-0000351707 00000 n 
-0000351766 00000 n 
-0000351825 00000 n 
-0000352000 00000 n 
-0000352059 00000 n 
-0000352118 00000 n 
-0000352177 00000 n 
-0000352236 00000 n 
-0000352295 00000 n 
-0000356534 00000 n 
-0000356652 00000 n 
-0000360487 00000 n 
-0000354354 00000 n 
-0000354591 00000 n 
-0000354828 00000 n 
-0000355064 00000 n 
-0000355301 00000 n 
-0000355535 00000 n 
-0000355771 00000 n 
-0000359110 00000 n 
-0000359312 00000 n 
-0000356008 00000 n 
-0000356773 00000 n 
-0000353901 00000 n 
-0000352466 00000 n 
-0000356182 00000 n 
-0000356240 00000 n 
-0000356298 00000 n 
-0000356357 00000 n 
-0000356416 00000 n 
-0000356475 00000 n 
-0000356593 00000 n 
-0000356714 00000 n 
-0000360608 00000 n 
-0000360726 00000 n 
-0000360849 00000 n 
-0000360972 00000 n 
-0000365500 00000 n 
-0000359548 00000 n 
-0000360020 00000 n 
-0000363711 00000 n 
-0000363907 00000 n 
-0000360256 00000 n 
-0000361094 00000 n 
-0000358921 00000 n 
-0000356899 00000 n 
-0000360429 00000 n 
-0000360549 00000 n 
-0000360667 00000 n 
-0000359784 00000 n 
-0000360790 00000 n 
-0000360913 00000 n 
-0000361036 00000 n 
-0000364144 00000 n 
-0000364340 00000 n 
-0000364813 00000 n 
-0000365039 00000 n 
-0000367934 00000 n 
-0000365268 00000 n 
-0000365914 00000 n 
-0000363504 00000 n 
-0000361233 00000 n 
-0000365442 00000 n 
-0000365564 00000 n 
-0000364577 00000 n 
-0000365738 00000 n 
-0000365797 00000 n 
-0000365856 00000 n 
-0000883707 00000 n 
-0000368163 00000 n 
-0000368392 00000 n 
-0000368620 00000 n 
-0000368847 00000 n 
-0000369076 00000 n 
-0000372135 00000 n 
-0000372328 00000 n 
-0000369266 00000 n 
-0000370208 00000 n 
-0000367736 00000 n 
-0000366066 00000 n 
-0000369439 00000 n 
-0000369497 00000 n 
-0000369556 00000 n 
-0000369615 00000 n 
-0000369674 00000 n 
-0000369733 00000 n 
-0000369792 00000 n 
-0000369851 00000 n 
-0000369910 00000 n 
-0000369969 00000 n 
-0000370033 00000 n 
-0000372559 00000 n 
-0000372780 00000 n 
-0000373003 00000 n 
-0000373199 00000 n 
-0000373391 00000 n 
-0000373614 00000 n 
-0000373804 00000 n 
-0000374027 00000 n 
-0000374251 00000 n 
-0000374441 00000 n 
-0000374665 00000 n 
-0000374889 00000 n 
-0000375081 00000 n 
-0000375304 00000 n 
-0000378733 00000 n 
-0000375526 00000 n 
-0000376522 00000 n 
-0000371847 00000 n 
-0000370346 00000 n 
-0000375700 00000 n 
-0000375758 00000 n 
-0000375817 00000 n 
-0000375876 00000 n 
-0000376050 00000 n 
-0000376109 00000 n 
-0000376168 00000 n 
-0000376227 00000 n 
-0000376286 00000 n 
-0000376345 00000 n 
-0000376404 00000 n 
-0000376463 00000 n 
-0000393441 00000 n 
-0000393559 00000 n 
-0000378957 00000 n 
-0000379145 00000 n 
-0000379368 00000 n 
-0000379563 00000 n 
-0000379786 00000 n 
-0000380006 00000 n 
-0000380230 00000 n 
-0000380454 00000 n 
-0000380678 00000 n 
-0000380902 00000 n 
-0000381124 00000 n 
-0000381347 00000 n 
-0000381570 00000 n 
-0000381762 00000 n 
-0000381984 00000 n 
-0000382207 00000 n 
-0000382395 00000 n 
-0000382618 00000 n 
-0000382813 00000 n 
-0000386418 00000 n 
-0000386624 00000 n 
-0000386847 00000 n 
-0000387040 00000 n 
-0000383036 00000 n 
-0000383855 00000 n 
-0000378409 00000 n 
-0000376647 00000 n 
-0000383209 00000 n 
-0000383267 00000 n 
-0000383326 00000 n 
-0000383385 00000 n 
-0000383444 00000 n 
-0000383503 00000 n 
-0000383562 00000 n 
-0000383620 00000 n 
-0000383678 00000 n 
-0000383737 00000 n 
-0000383796 00000 n 
-0000395998 00000 n 
-0000396116 00000 n 
-0000396239 00000 n 
-0000396362 00000 n 
-0000396480 00000 n 
-0000387264 00000 n 
-0000387457 00000 n 
-0000387681 00000 n 
-0000387886 00000 n 
-0000388107 00000 n 
-0000388518 00000 n 
-0000388741 00000 n 
-0000388947 00000 n 
-0000389171 00000 n 
-0000389815 00000 n 
-0000386157 00000 n 
-0000383994 00000 n 
-0000389345 00000 n 
-0000389403 00000 n 
-0000389462 00000 n 
-0000389521 00000 n 
-0000388312 00000 n 
-0000389580 00000 n 
-0000389638 00000 n 
-0000389697 00000 n 
-0000389756 00000 n 
-0000399427 00000 n 
-0000392739 00000 n 
-0000392928 00000 n 
-0000393151 00000 n 
-0000393677 00000 n 
-0000392577 00000 n 
-0000389940 00000 n 
-0000393324 00000 n 
-0000393382 00000 n 
-0000393500 00000 n 
-0000393618 00000 n 
-0000395707 00000 n 
-0000396538 00000 n 
-0000395563 00000 n 
-0000393841 00000 n 
-0000395881 00000 n 
-0000395939 00000 n 
-0000396057 00000 n 
-0000396180 00000 n 
-0000396303 00000 n 
-0000396421 00000 n 
-0000883832 00000 n 
-0000398335 00000 n 
-0000398527 00000 n 
-0000398722 00000 n 
-0000398952 00000 n 
-0000399137 00000 n 
-0000399956 00000 n 
-0000398155 00000 n 
-0000396675 00000 n 
-0000399310 00000 n 
-0000399368 00000 n 
-0000399486 00000 n 
-0000399661 00000 n 
-0000399720 00000 n 
-0000399779 00000 n 
-0000399838 00000 n 
-0000399897 00000 n 
-0000402049 00000 n 
-0000402246 00000 n 
-0000402638 00000 n 
-0000402835 00000 n 
-0000403062 00000 n 
-0000403259 00000 n 
-0000403486 00000 n 
-0000403712 00000 n 
-0000403939 00000 n 
-0000404132 00000 n 
-0000404341 00000 n 
-0000404568 00000 n 
-0000404759 00000 n 
-0000404955 00000 n 
-0000405182 00000 n 
-0000405375 00000 n 
-0000405600 00000 n 
-0000405795 00000 n 
-0000405988 00000 n 
-0000406808 00000 n 
-0000401734 00000 n 
-0000400107 00000 n 
-0000406162 00000 n 
-0000402443 00000 n 
-0000406336 00000 n 
-0000406395 00000 n 
-0000406454 00000 n 
-0000406513 00000 n 
-0000406572 00000 n 
-0000406631 00000 n 
-0000406690 00000 n 
-0000406749 00000 n 
-0000413877 00000 n 
-0000409076 00000 n 
-0000409269 00000 n 
-0000409459 00000 n 
-0000409702 00000 n 
-0000409947 00000 n 
-0000410192 00000 n 
-0000410403 00000 n 
-0000410647 00000 n 
-0000410857 00000 n 
-0000411078 00000 n 
-0000411323 00000 n 
-0000411544 00000 n 
-0000411789 00000 n 
-0000412032 00000 n 
-0000412222 00000 n 
-0000412466 00000 n 
-0000412687 00000 n 
-0000412930 00000 n 
-0000413149 00000 n 
-0000416960 00000 n 
-0000413587 00000 n 
-0000414640 00000 n 
-0000408752 00000 n 
-0000406946 00000 n 
-0000413760 00000 n 
-0000413818 00000 n 
-0000413936 00000 n 
-0000414111 00000 n 
-0000414170 00000 n 
-0000414229 00000 n 
-0000414287 00000 n 
-0000414346 00000 n 
-0000414405 00000 n 
-0000414463 00000 n 
-0000414522 00000 n 
-0000414581 00000 n 
-0000413368 00000 n 
-0000419471 00000 n 
-0000417204 00000 n 
-0000417395 00000 n 
-0000417605 00000 n 
-0000417859 00000 n 
-0000418080 00000 n 
-0000418333 00000 n 
-0000418553 00000 n 
-0000418808 00000 n 
-0000422027 00000 n 
-0000422218 00000 n 
-0000419062 00000 n 
-0000420000 00000 n 
-0000416735 00000 n 
-0000414765 00000 n 
-0000419236 00000 n 
-0000419294 00000 n 
-0000419353 00000 n 
-0000419412 00000 n 
-0000419530 00000 n 
-0000419705 00000 n 
-0000419764 00000 n 
-0000419823 00000 n 
-0000419882 00000 n 
-0000419941 00000 n 
-0000422473 00000 n 
-0000422727 00000 n 
-0000422982 00000 n 
-0000423192 00000 n 
-0000423383 00000 n 
-0000423613 00000 n 
-0000423844 00000 n 
-0000426692 00000 n 
-0000426888 00000 n 
-0000424040 00000 n 
-0000424976 00000 n 
-0000421802 00000 n 
-0000420125 00000 n 
-0000424213 00000 n 
-0000424271 00000 n 
-0000424330 00000 n 
-0000424389 00000 n 
-0000424448 00000 n 
-0000424507 00000 n 
-0000424566 00000 n 
-0000424625 00000 n 
-0000424799 00000 n 
-0000424858 00000 n 
-0000424917 00000 n 
-0000427118 00000 n 
-0000427314 00000 n 
-0000427544 00000 n 
-0000427741 00000 n 
-0000427972 00000 n 
-0000428168 00000 n 
-0000428398 00000 n 
-0000428594 00000 n 
-0000428824 00000 n 
-0000429054 00000 n 
-0000429285 00000 n 
-0000429481 00000 n 
-0000429678 00000 n 
-0000429909 00000 n 
-0000430106 00000 n 
-0000430337 00000 n 
-0000431452 00000 n 
-0000426395 00000 n 
-0000425115 00000 n 
-0000430511 00000 n 
-0000430569 00000 n 
-0000430628 00000 n 
-0000430687 00000 n 
-0000430746 00000 n 
-0000430805 00000 n 
-0000430864 00000 n 
-0000430923 00000 n 
-0000431098 00000 n 
-0000431157 00000 n 
-0000431216 00000 n 
-0000431275 00000 n 
-0000431334 00000 n 
-0000431393 00000 n 
-0000883957 00000 n 
-0000433409 00000 n 
-0000433600 00000 n 
-0000433821 00000 n 
-0000434041 00000 n 
-0000434237 00000 n 
-0000434459 00000 n 
-0000434655 00000 n 
-0000434877 00000 n 
-0000435073 00000 n 
-0000435295 00000 n 
-0000435491 00000 n 
-0000435713 00000 n 
-0000435935 00000 n 
-0000436157 00000 n 
-0000436377 00000 n 
-0000436599 00000 n 
-0000440308 00000 n 
-0000436819 00000 n 
-0000437930 00000 n 
-0000433121 00000 n 
-0000431591 00000 n 
-0000436992 00000 n 
-0000437050 00000 n 
-0000437224 00000 n 
-0000437282 00000 n 
-0000437341 00000 n 
-0000437400 00000 n 
-0000437459 00000 n 
-0000437518 00000 n 
-0000437577 00000 n 
-0000437636 00000 n 
-0000437695 00000 n 
-0000437754 00000 n 
-0000437813 00000 n 
-0000437872 00000 n 
-0000440529 00000 n 
-0000440751 00000 n 
-0000440937 00000 n 
-0000441159 00000 n 
-0000441355 00000 n 
-0000441577 00000 n 
-0000441773 00000 n 
-0000441994 00000 n 
-0000442190 00000 n 
-0000442379 00000 n 
-0000442568 00000 n 
-0000442790 00000 n 
-0000442986 00000 n 
-0000443175 00000 n 
-0000443364 00000 n 
-0000443584 00000 n 
-0000443779 00000 n 
-0000443967 00000 n 
-0000444155 00000 n 
-0000444341 00000 n 
-0000444563 00000 n 
-0000444759 00000 n 
-0000444948 00000 n 
-0000445137 00000 n 
-0000445323 00000 n 
-0000445520 00000 n 
-0000445741 00000 n 
-0000445929 00000 n 
-0000446126 00000 n 
-0000446348 00000 n 
-0000446535 00000 n 
-0000446732 00000 n 
-0000446953 00000 n 
-0000447139 00000 n 
-0000447361 00000 n 
-0000447549 00000 n 
-0000447771 00000 n 
-0000447959 00000 n 
-0000448181 00000 n 
-0000448369 00000 n 
-0000448590 00000 n 
-0000451422 00000 n 
-0000451644 00000 n 
-0000448775 00000 n 
-0000449125 00000 n 
-0000439786 00000 n 
-0000438069 00000 n 
-0000448949 00000 n 
-0000449007 00000 n 
-0000449066 00000 n 
-0000487639 00000 n 
-0000487757 00000 n 
-0000490707 00000 n 
-0000490825 00000 n 
-0000490943 00000 n 
-0000493935 00000 n 
-0000494058 00000 n 
-0000497043 00000 n 
-0000497164 00000 n 
-0000497281 00000 n 
-0000497399 00000 n 
-0000500044 00000 n 
-0000500162 00000 n 
-0000451866 00000 n 
-0000452087 00000 n 
-0000452309 00000 n 
-0000452530 00000 n 
-0000452752 00000 n 
-0000452974 00000 n 
-0000453195 00000 n 
-0000453383 00000 n 
-0000453604 00000 n 
-0000453792 00000 n 
-0000454012 00000 n 
-0000454206 00000 n 
-0000454427 00000 n 
-0000454623 00000 n 
-0000454844 00000 n 
-0000455032 00000 n 
-0000455251 00000 n 
-0000455437 00000 n 
-0000455658 00000 n 
-0000455854 00000 n 
-0000456075 00000 n 
-0000456271 00000 n 
-0000456492 00000 n 
-0000456680 00000 n 
-0000456899 00000 n 
-0000460957 00000 n 
-0000461178 00000 n 
-0000461366 00000 n 
-0000461587 00000 n 
-0000457085 00000 n 
-0000457611 00000 n 
-0000451035 00000 n 
-0000449263 00000 n 
-0000457258 00000 n 
-0000457316 00000 n 
-0000457375 00000 n 
-0000457434 00000 n 
-0000457493 00000 n 
-0000457552 00000 n 
-0000500279 00000 n 
-0000500397 00000 n 
-0000500519 00000 n 
-0000503541 00000 n 
-0000503659 00000 n 
-0000503777 00000 n 
-0000503895 00000 n 
-0000506528 00000 n 
-0000506646 00000 n 
-0000506764 00000 n 
-0000506882 00000 n 
-0000509629 00000 n 
-0000461775 00000 n 
-0000461996 00000 n 
-0000462218 00000 n 
-0000462404 00000 n 
-0000462625 00000 n 
-0000462811 00000 n 
-0000463007 00000 n 
-0000463195 00000 n 
-0000463415 00000 n 
-0000463601 00000 n 
-0000463797 00000 n 
-0000463986 00000 n 
-0000464207 00000 n 
-0000464392 00000 n 
-0000464587 00000 n 
-0000464782 00000 n 
-0000464971 00000 n 
-0000465193 00000 n 
-0000465379 00000 n 
-0000465575 00000 n 
-0000465967 00000 n 
-0000466155 00000 n 
-0000466377 00000 n 
-0000466563 00000 n 
-0000466769 00000 n 
-0000466965 00000 n 
-0000467154 00000 n 
-0000467375 00000 n 
-0000467559 00000 n 
-0000467764 00000 n 
-0000468155 00000 n 
-0000468344 00000 n 
-0000468566 00000 n 
-0000468762 00000 n 
-0000468968 00000 n 
-0000469360 00000 n 
-0000469580 00000 n 
-0000469776 00000 n 
-0000469982 00000 n 
-0000470178 00000 n 
-0000470398 00000 n 
-0000470583 00000 n 
-0000470802 00000 n 
-0000470992 00000 n 
-0000471283 00000 n 
-0000460363 00000 n 
-0000457736 00000 n 
-0000471166 00000 n 
-0000471224 00000 n 
-0000879685 00000 n 
-0000465771 00000 n 
-0000879394 00000 n 
-0000467959 00000 n 
-0000469164 00000 n 
-0000509747 00000 n 
-0000509864 00000 n 
-0000509982 00000 n 
-0000513076 00000 n 
-0000513193 00000 n 
-0000513311 00000 n 
-0000516327 00000 n 
-0000516445 00000 n 
-0000520656 00000 n 
-0000520774 00000 n 
-0000520892 00000 n 
-0000524362 00000 n 
-0000524480 00000 n 
-0000473990 00000 n 
-0000474211 00000 n 
-0000474399 00000 n 
-0000474619 00000 n 
-0000474806 00000 n 
-0000475027 00000 n 
-0000475248 00000 n 
-0000475469 00000 n 
-0000475657 00000 n 
-0000475877 00000 n 
-0000476069 00000 n 
-0000476288 00000 n 
-0000476505 00000 n 
-0000476687 00000 n 
-0000476908 00000 n 
-0000477100 00000 n 
-0000477286 00000 n 
-0000477507 00000 n 
-0000477702 00000 n 
-0000477896 00000 n 
-0000478117 00000 n 
-0000478312 00000 n 
-0000478534 00000 n 
-0000478755 00000 n 
-0000478942 00000 n 
-0000479163 00000 n 
-0000479357 00000 n 
-0000479576 00000 n 
-0000483001 00000 n 
-0000483222 00000 n 
-0000479762 00000 n 
-0000480168 00000 n 
-0000473594 00000 n 
-0000471477 00000 n 
-0000479935 00000 n 
-0000479993 00000 n 
-0000480052 00000 n 
-0000480111 00000 n 
-0000524598 00000 n 
-0000527561 00000 n 
-0000527677 00000 n 
-0000527795 00000 n 
-0000531536 00000 n 
-0000531654 00000 n 
-0000531772 00000 n 
-0000531890 00000 n 
-0000535546 00000 n 
-0000535664 00000 n 
-0000535782 00000 n 
-0000535899 00000 n 
-0000483408 00000 n 
-0000483628 00000 n 
-0000483815 00000 n 
-0000484036 00000 n 
-0000484224 00000 n 
-0000484446 00000 n 
-0000484634 00000 n 
-0000484830 00000 n 
-0000485052 00000 n 
-0000485240 00000 n 
-0000485436 00000 n 
-0000485658 00000 n 
-0000485846 00000 n 
-0000486042 00000 n 
-0000486264 00000 n 
-0000486452 00000 n 
-0000486648 00000 n 
-0000486835 00000 n 
-0000487026 00000 n 
-0000487230 00000 n 
-0000487815 00000 n 
-0000482668 00000 n 
-0000480306 00000 n 
-0000487404 00000 n 
-0000487462 00000 n 
-0000880988 00000 n 
-0000487521 00000 n 
-0000487580 00000 n 
-0000487698 00000 n 
-0000884082 00000 n 
-0000538802 00000 n 
-0000538920 00000 n 
-0000539038 00000 n 
-0000541964 00000 n 
-0000542082 00000 n 
-0000545261 00000 n 
-0000489799 00000 n 
-0000490005 00000 n 
-0000490211 00000 n 
-0000490417 00000 n 
-0000491066 00000 n 
-0000489628 00000 n 
-0000488008 00000 n 
-0000490590 00000 n 
-0000490648 00000 n 
-0000490766 00000 n 
-0000490884 00000 n 
-0000491007 00000 n 
-0000493291 00000 n 
-0000493497 00000 n 
-0000493703 00000 n 
-0000494181 00000 n 
-0000493129 00000 n 
-0000491191 00000 n 
-0000493877 00000 n 
-0000493999 00000 n 
-0000494122 00000 n 
-0000495988 00000 n 
-0000496194 00000 n 
-0000496400 00000 n 
-0000496606 00000 n 
-0000499195 00000 n 
-0000496812 00000 n 
-0000497516 00000 n 
-0000495808 00000 n 
-0000494306 00000 n 
-0000496985 00000 n 
-0000497107 00000 n 
-0000497222 00000 n 
-0000497340 00000 n 
-0000497457 00000 n 
-0000499401 00000 n 
-0000499606 00000 n 
-0000502487 00000 n 
-0000499812 00000 n 
-0000500642 00000 n 
-0000499024 00000 n 
-0000497628 00000 n 
-0000499986 00000 n 
-0000500103 00000 n 
-0000500221 00000 n 
-0000500338 00000 n 
-0000500460 00000 n 
-0000500583 00000 n 
-0000502693 00000 n 
-0000502898 00000 n 
-0000503104 00000 n 
-0000505415 00000 n 
-0000503310 00000 n 
-0000503953 00000 n 
-0000502307 00000 n 
-0000500754 00000 n 
-0000503483 00000 n 
-0000503600 00000 n 
-0000503718 00000 n 
-0000503836 00000 n 
-0000505621 00000 n 
-0000505827 00000 n 
-0000506033 00000 n 
-0000506237 00000 n 
-0000506940 00000 n 
-0000505235 00000 n 
-0000504065 00000 n 
-0000506411 00000 n 
-0000506469 00000 n 
-0000506587 00000 n 
-0000506705 00000 n 
-0000506823 00000 n 
-0000884207 00000 n 
-0000508516 00000 n 
-0000508722 00000 n 
-0000508927 00000 n 
-0000509133 00000 n 
-0000512226 00000 n 
-0000509339 00000 n 
-0000510100 00000 n 
-0000508336 00000 n 
-0000507052 00000 n 
-0000509512 00000 n 
-0000509570 00000 n 
-0000509688 00000 n 
-0000509806 00000 n 
-0000509923 00000 n 
-0000510041 00000 n 
-0000512432 00000 n 
-0000512638 00000 n 
-0000512844 00000 n 
-0000513429 00000 n 
-0000512055 00000 n 
-0000510225 00000 n 
-0000513018 00000 n 
-0000513134 00000 n 
-0000513252 00000 n 
-0000513370 00000 n 
-0000515684 00000 n 
-0000515890 00000 n 
-0000518856 00000 n 
-0000519062 00000 n 
-0000516096 00000 n 
-0000516563 00000 n 
-0000515522 00000 n 
-0000513606 00000 n 
-0000516269 00000 n 
-0000516386 00000 n 
-0000516504 00000 n 
-0000519442 00000 n 
-0000519648 00000 n 
-0000520029 00000 n 
-0000520234 00000 n 
-0000520424 00000 n 
-0000520950 00000 n 
-0000518640 00000 n 
-0000516753 00000 n 
-0000520598 00000 n 
-0000519252 00000 n 
-0000520715 00000 n 
-0000519838 00000 n 
-0000520833 00000 n 
-0000523077 00000 n 
-0000523283 00000 n 
-0000523474 00000 n 
-0000523680 00000 n 
-0000523886 00000 n 
-0000524072 00000 n 
-0000524656 00000 n 
-0000522888 00000 n 
-0000521127 00000 n 
-0000524245 00000 n 
-0000524303 00000 n 
-0000524421 00000 n 
-0000524539 00000 n 
-0000526656 00000 n 
-0000526862 00000 n 
-0000527068 00000 n 
-0000529912 00000 n 
-0000527270 00000 n 
-0000527913 00000 n 
-0000526485 00000 n 
-0000524820 00000 n 
-0000527444 00000 n 
-0000527502 00000 n 
-0000527618 00000 n 
-0000527736 00000 n 
-0000527854 00000 n 
-0000884332 00000 n 
-0000530114 00000 n 
-0000530320 00000 n 
-0000530521 00000 n 
-0000530707 00000 n 
-0000530913 00000 n 
-0000531099 00000 n 
-0000531305 00000 n 
-0000532008 00000 n 
-0000529705 00000 n 
-0000528051 00000 n 
-0000531478 00000 n 
-0000531595 00000 n 
-0000531713 00000 n 
-0000531831 00000 n 
-0000531949 00000 n 
-0000534125 00000 n 
-0000534331 00000 n 
-0000534533 00000 n 
-0000534719 00000 n 
-0000534925 00000 n 
-0000535109 00000 n 
-0000535314 00000 n 
-0000535957 00000 n 
-0000533927 00000 n 
-0000532133 00000 n 
-0000535488 00000 n 
-0000535605 00000 n 
-0000535723 00000 n 
-0000535841 00000 n 
-0000537896 00000 n 
-0000538101 00000 n 
-0000538307 00000 n 
-0000538512 00000 n 
-0000539096 00000 n 
-0000537725 00000 n 
-0000536082 00000 n 
-0000538685 00000 n 
-0000538743 00000 n 
-0000538861 00000 n 
-0000538979 00000 n 
-0000541261 00000 n 
-0000541467 00000 n 
-0000541673 00000 n 
-0000542200 00000 n 
-0000541099 00000 n 
-0000539234 00000 n 
-0000541847 00000 n 
-0000541905 00000 n 
-0000542023 00000 n 
-0000542141 00000 n 
-0000544390 00000 n 
-0000544596 00000 n 
-0000544802 00000 n 
-0000545030 00000 n 
-0000545729 00000 n 
-0000544219 00000 n 
-0000542365 00000 n 
-0000545203 00000 n 
-0000545320 00000 n 
-0000545495 00000 n 
-0000545554 00000 n 
-0000545613 00000 n 
-0000547769 00000 n 
-0000547988 00000 n 
-0000548208 00000 n 
-0000548428 00000 n 
-0000548613 00000 n 
-0000548799 00000 n 
-0000549022 00000 n 
-0000549958 00000 n 
-0000547571 00000 n 
-0000545894 00000 n 
-0000549196 00000 n 
-0000549312 00000 n 
-0000549370 00000 n 
-0000549429 00000 n 
-0000549488 00000 n 
-0000549547 00000 n 
-0000549606 00000 n 
-0000549665 00000 n 
-0000549840 00000 n 
-0000549899 00000 n 
-0000884457 00000 n 
-0000550899 00000 n 
-0000551189 00000 n 
-0000550755 00000 n 
-0000550110 00000 n 
-0000551072 00000 n 
-0000551130 00000 n 
-0000552897 00000 n 
-0000553048 00000 n 
-0000553199 00000 n 
-0000553350 00000 n 
-0000553497 00000 n 
-0000553648 00000 n 
-0000553799 00000 n 
-0000553950 00000 n 
-0000554101 00000 n 
-0000554252 00000 n 
-0000554403 00000 n 
-0000554554 00000 n 
-0000554705 00000 n 
-0000554856 00000 n 
-0000555007 00000 n 
-0000555158 00000 n 
-0000555309 00000 n 
-0000555460 00000 n 
-0000555611 00000 n 
-0000555762 00000 n 
-0000555913 00000 n 
-0000556064 00000 n 
-0000556214 00000 n 
-0000556365 00000 n 
-0000556516 00000 n 
-0000556667 00000 n 
-0000556818 00000 n 
-0000556966 00000 n 
-0000557117 00000 n 
-0000557268 00000 n 
-0000557419 00000 n 
-0000557570 00000 n 
-0000557721 00000 n 
-0000557872 00000 n 
-0000558023 00000 n 
-0000558174 00000 n 
-0000558324 00000 n 
-0000558474 00000 n 
-0000558624 00000 n 
-0000558775 00000 n 
-0000558925 00000 n 
-0000559075 00000 n 
-0000559226 00000 n 
-0000559377 00000 n 
-0000559528 00000 n 
-0000559676 00000 n 
-0000559823 00000 n 
-0000559973 00000 n 
-0000560124 00000 n 
-0000560275 00000 n 
-0000560426 00000 n 
-0000560577 00000 n 
-0000562909 00000 n 
-0000560844 00000 n 
-0000552294 00000 n 
-0000551288 00000 n 
-0000560727 00000 n 
-0000560785 00000 n 
-0000563060 00000 n 
-0000563211 00000 n 
-0000563361 00000 n 
-0000563512 00000 n 
-0000563663 00000 n 
-0000563812 00000 n 
-0000563962 00000 n 
-0000564112 00000 n 
-0000564263 00000 n 
-0000564413 00000 n 
-0000564564 00000 n 
-0000564715 00000 n 
-0000564865 00000 n 
-0000565016 00000 n 
-0000565167 00000 n 
-0000565317 00000 n 
-0000565468 00000 n 
-0000565619 00000 n 
-0000565770 00000 n 
-0000565921 00000 n 
-0000566072 00000 n 
-0000566223 00000 n 
-0000566373 00000 n 
-0000566524 00000 n 
-0000566673 00000 n 
-0000566824 00000 n 
-0000566975 00000 n 
-0000567126 00000 n 
-0000567276 00000 n 
-0000567427 00000 n 
-0000567578 00000 n 
-0000567728 00000 n 
-0000567878 00000 n 
-0000568029 00000 n 
-0000568180 00000 n 
-0000568330 00000 n 
-0000568481 00000 n 
-0000568632 00000 n 
-0000568782 00000 n 
-0000568933 00000 n 
-0000569084 00000 n 
-0000569235 00000 n 
-0000569386 00000 n 
-0000569537 00000 n 
-0000569688 00000 n 
-0000569838 00000 n 
-0000569989 00000 n 
-0000570140 00000 n 
-0000570291 00000 n 
-0000570442 00000 n 
-0000570593 00000 n 
-0000570743 00000 n 
-0000573843 00000 n 
-0000570892 00000 n 
-0000571123 00000 n 
-0000562288 00000 n 
-0000560930 00000 n 
-0000571065 00000 n 
-0000573994 00000 n 
-0000574145 00000 n 
-0000574296 00000 n 
-0000574447 00000 n 
-0000574598 00000 n 
-0000574748 00000 n 
-0000574897 00000 n 
-0000575048 00000 n 
-0000575199 00000 n 
-0000575349 00000 n 
-0000575499 00000 n 
-0000575650 00000 n 
-0000575801 00000 n 
-0000575952 00000 n 
-0000576101 00000 n 
-0000576251 00000 n 
-0000576402 00000 n 
-0000576553 00000 n 
-0000576703 00000 n 
-0000576854 00000 n 
-0000577004 00000 n 
-0000577155 00000 n 
-0000577306 00000 n 
-0000577457 00000 n 
-0000577607 00000 n 
-0000577758 00000 n 
-0000577909 00000 n 
-0000578059 00000 n 
-0000578209 00000 n 
-0000578360 00000 n 
-0000578510 00000 n 
-0000578661 00000 n 
-0000578810 00000 n 
-0000578960 00000 n 
-0000579111 00000 n 
-0000579262 00000 n 
-0000579412 00000 n 
-0000579563 00000 n 
-0000579711 00000 n 
-0000579858 00000 n 
-0000580009 00000 n 
-0000580160 00000 n 
-0000580310 00000 n 
-0000580461 00000 n 
-0000580612 00000 n 
-0000580763 00000 n 
-0000580914 00000 n 
-0000581065 00000 n 
-0000581216 00000 n 
-0000581365 00000 n 
-0000581516 00000 n 
-0000581667 00000 n 
-0000581818 00000 n 
-0000581969 00000 n 
-0000582120 00000 n 
-0000582271 00000 n 
-0000582422 00000 n 
-0000582573 00000 n 
-0000582724 00000 n 
-0000582875 00000 n 
-0000583026 00000 n 
-0000583176 00000 n 
-0000583327 00000 n 
-0000583477 00000 n 
-0000583626 00000 n 
-0000583777 00000 n 
-0000583927 00000 n 
-0000584078 00000 n 
-0000584228 00000 n 
-0000584379 00000 n 
-0000584529 00000 n 
-0000584680 00000 n 
-0000584831 00000 n 
-0000584981 00000 n 
-0000585132 00000 n 
-0000585282 00000 n 
-0000585432 00000 n 
-0000585583 00000 n 
-0000585734 00000 n 
-0000585884 00000 n 
-0000586035 00000 n 
-0000586186 00000 n 
-0000586337 00000 n 
-0000586488 00000 n 
-0000586637 00000 n 
-0000586786 00000 n 
-0000589893 00000 n 
-0000586934 00000 n 
-0000587166 00000 n 
-0000572916 00000 n 
-0000571222 00000 n 
-0000587108 00000 n 
-0000590044 00000 n 
-0000590195 00000 n 
-0000590346 00000 n 
-0000590497 00000 n 
-0000590647 00000 n 
-0000590798 00000 n 
-0000590948 00000 n 
-0000591099 00000 n 
-0000591249 00000 n 
-0000591399 00000 n 
-0000591549 00000 n 
-0000591698 00000 n 
-0000591849 00000 n 
-0000591999 00000 n 
-0000592150 00000 n 
-0000592301 00000 n 
-0000592452 00000 n 
-0000592603 00000 n 
-0000592754 00000 n 
-0000592905 00000 n 
-0000593056 00000 n 
-0000593206 00000 n 
-0000593357 00000 n 
-0000593507 00000 n 
-0000593657 00000 n 
-0000593808 00000 n 
-0000593959 00000 n 
-0000594110 00000 n 
-0000594261 00000 n 
-0000594412 00000 n 
-0000594563 00000 n 
-0000594713 00000 n 
-0000594864 00000 n 
-0000595015 00000 n 
-0000595165 00000 n 
-0000595316 00000 n 
-0000595466 00000 n 
-0000595617 00000 n 
-0000595768 00000 n 
-0000595917 00000 n 
-0000596068 00000 n 
-0000596216 00000 n 
-0000596367 00000 n 
-0000596518 00000 n 
-0000596669 00000 n 
-0000596820 00000 n 
-0000596971 00000 n 
-0000597122 00000 n 
-0000597273 00000 n 
-0000597424 00000 n 
-0000597574 00000 n 
-0000597725 00000 n 
-0000597875 00000 n 
-0000598022 00000 n 
-0000598171 00000 n 
-0000598321 00000 n 
-0000598471 00000 n 
-0000598621 00000 n 
-0000598772 00000 n 
-0000598922 00000 n 
-0000599072 00000 n 
-0000599222 00000 n 
-0000599373 00000 n 
-0000599524 00000 n 
-0000599676 00000 n 
-0000599825 00000 n 
-0000599976 00000 n 
-0000600127 00000 n 
-0000600278 00000 n 
-0000600429 00000 n 
-0000600580 00000 n 
-0000600731 00000 n 
-0000600882 00000 n 
-0000601032 00000 n 
-0000601183 00000 n 
-0000601334 00000 n 
-0000601485 00000 n 
-0000601634 00000 n 
-0000601784 00000 n 
-0000601933 00000 n 
-0000602084 00000 n 
-0000602234 00000 n 
-0000602385 00000 n 
-0000602536 00000 n 
-0000602687 00000 n 
-0000602838 00000 n 
-0000602988 00000 n 
-0000603139 00000 n 
-0000603290 00000 n 
-0000603441 00000 n 
-0000603590 00000 n 
-0000603741 00000 n 
-0000603892 00000 n 
-0000604043 00000 n 
-0000604194 00000 n 
-0000604344 00000 n 
-0000604493 00000 n 
-0000607240 00000 n 
-0000604640 00000 n 
-0000604871 00000 n 
-0000588867 00000 n 
-0000587278 00000 n 
-0000604813 00000 n 
-0000607391 00000 n 
-0000607541 00000 n 
-0000607692 00000 n 
-0000607842 00000 n 
-0000607992 00000 n 
-0000608143 00000 n 
-0000608293 00000 n 
-0000608444 00000 n 
-0000608595 00000 n 
-0000608745 00000 n 
-0000608895 00000 n 
-0000609045 00000 n 
-0000609194 00000 n 
-0000609345 00000 n 
-0000609495 00000 n 
-0000609645 00000 n 
-0000609796 00000 n 
-0000609946 00000 n 
-0000610096 00000 n 
-0000610247 00000 n 
-0000610396 00000 n 
-0000610545 00000 n 
-0000610695 00000 n 
-0000610846 00000 n 
-0000610997 00000 n 
-0000611148 00000 n 
-0000611299 00000 n 
-0000611450 00000 n 
-0000611601 00000 n 
-0000611752 00000 n 
-0000611903 00000 n 
-0000612054 00000 n 
-0000612205 00000 n 
-0000612355 00000 n 
-0000612505 00000 n 
-0000612656 00000 n 
-0000612807 00000 n 
-0000612957 00000 n 
-0000613108 00000 n 
-0000613259 00000 n 
-0000613410 00000 n 
-0000613560 00000 n 
-0000613709 00000 n 
-0000613860 00000 n 
-0000614011 00000 n 
-0000614162 00000 n 
-0000614312 00000 n 
-0000614463 00000 n 
-0000614614 00000 n 
-0000614764 00000 n 
-0000614914 00000 n 
-0000615063 00000 n 
-0000615214 00000 n 
-0000615363 00000 n 
-0000615513 00000 n 
-0000615664 00000 n 
-0000615814 00000 n 
-0000615965 00000 n 
-0000616116 00000 n 
-0000616267 00000 n 
-0000616416 00000 n 
-0000616567 00000 n 
-0000616718 00000 n 
-0000616869 00000 n 
-0000617019 00000 n 
-0000618427 00000 n 
-0000617168 00000 n 
-0000617400 00000 n 
-0000606502 00000 n 
-0000604970 00000 n 
-0000617342 00000 n 
-0000884582 00000 n 
-0000618578 00000 n 
-0000618729 00000 n 
-0000618880 00000 n 
-0000619031 00000 n 
-0000619182 00000 n 
-0000619332 00000 n 
-0000619482 00000 n 
-0000619633 00000 n 
-0000619784 00000 n 
-0000619935 00000 n 
-0000620166 00000 n 
-0000618193 00000 n 
-0000617499 00000 n 
-0000620108 00000 n 
-0000620265 00000 n 
-0000620291 00000 n 
-0000620759 00000 n 
-0000620920 00000 n 
-0000621047 00000 n 
-0000621369 00000 n 
-0000621805 00000 n 
-0000622132 00000 n 
-0000622259 00000 n 
-0000622286 00000 n 
-0000622755 00000 n 
-0000878173 00000 n 
-0000623019 00000 n 
-0000623331 00000 n 
-0000623369 00000 n 
-0000623841 00000 n 
-0000624193 00000 n 
-0000624638 00000 n 
-0000625114 00000 n 
-0000625546 00000 n 
-0000625922 00000 n 
-0000626497 00000 n 
-0000627189 00000 n 
-0000627227 00000 n 
-0000627545 00000 n 
-0000628188 00000 n 
-0000635198 00000 n 
-0000635430 00000 n 
-0000644511 00000 n 
-0000644787 00000 n 
-0000651930 00000 n 
-0000652165 00000 n 
-0000660336 00000 n 
-0000660566 00000 n 
-0000668979 00000 n 
-0000669211 00000 n 
-0000676909 00000 n 
-0000677166 00000 n 
-0000689273 00000 n 
-0000689555 00000 n 
-0000698905 00000 n 
-0000699151 00000 n 
-0000708924 00000 n 
-0000709185 00000 n 
-0000719270 00000 n 
-0000719538 00000 n 
-0000727431 00000 n 
-0000727714 00000 n 
-0000735819 00000 n 
-0000736083 00000 n 
-0000743155 00000 n 
-0000743388 00000 n 
-0000751150 00000 n 
-0000751396 00000 n 
-0000759176 00000 n 
-0000759438 00000 n 
-0000766892 00000 n 
-0000767121 00000 n 
-0000770374 00000 n 
-0000770593 00000 n 
-0000777469 00000 n 
-0000777745 00000 n 
-0000793986 00000 n 
-0000794451 00000 n 
-0000805049 00000 n 
-0000805405 00000 n 
-0000823338 00000 n 
-0000823824 00000 n 
-0000839533 00000 n 
-0000839928 00000 n 
-0000860828 00000 n 
-0000861422 00000 n 
-0000877720 00000 n 
-0000884671 00000 n 
-0000884791 00000 n 
-0000884917 00000 n 
-0000885043 00000 n 
-0000885123 00000 n 
-0000885215 00000 n 
-0000890565 00000 n 
-0000890831 00000 n 
-0000891624 00000 n 
-0000892440 00000 n 
-0000893140 00000 n 
-0000893909 00000 n 
-0000894631 00000 n 
-0000895293 00000 n 
-0000896070 00000 n 
-0000896815 00000 n 
-0000897488 00000 n 
-0000898192 00000 n 
-0000898929 00000 n 
-0000899666 00000 n 
-0000900381 00000 n 
-0000901190 00000 n 
-0000901901 00000 n 
-0000902570 00000 n 
-0000903445 00000 n 
-0000904267 00000 n 
-0000905116 00000 n 
-0000905912 00000 n 
-0000906770 00000 n 
-0000907636 00000 n 
-0000908445 00000 n 
-0000909148 00000 n 
-0000909909 00000 n 
-0000910670 00000 n 
-0000911431 00000 n 
-0000912192 00000 n 
-0000912953 00000 n 
-0000913631 00000 n 
-0000914392 00000 n 
-0000915153 00000 n 
-0000915914 00000 n 
-0000916675 00000 n 
-0000917381 00000 n 
-0000918139 00000 n 
-0000918917 00000 n 
-0000919713 00000 n 
-0000920578 00000 n 
-0000921358 00000 n 
-0000922159 00000 n 
-0000923036 00000 n 
-0000924015 00000 n 
-0000924944 00000 n 
-0000925768 00000 n 
-0000926550 00000 n 
-0000927296 00000 n 
-0000928041 00000 n 
-0000928786 00000 n 
-0000929531 00000 n 
-0000930276 00000 n 
-0000931021 00000 n 
-0000931766 00000 n 
-0000932511 00000 n 
-0000933256 00000 n 
-0000934001 00000 n 
-0000934746 00000 n 
-0000935491 00000 n 
-0000936236 00000 n 
-0000936928 00000 n 
-0000937585 00000 n 
-0000938202 00000 n 
-0000938813 00000 n 
-0000939426 00000 n 
-0000940045 00000 n 
-0000940664 00000 n 
-0000941027 00000 n 
-0000941212 00000 n 
-0000941388 00000 n 
-0000941557 00000 n 
-0000941728 00000 n 
-0000941898 00000 n 
-0000942073 00000 n 
-0000942248 00000 n 
-0000942425 00000 n 
-0000942600 00000 n 
-0000942777 00000 n 
-0000942952 00000 n 
-0000943129 00000 n 
-0000943303 00000 n 
-0000943477 00000 n 
-0000943654 00000 n 
-0000943829 00000 n 
-0000944006 00000 n 
-0000944178 00000 n 
-0000944451 00000 n 
-0000944724 00000 n 
-0000945000 00000 n 
-0000945273 00000 n 
-0000945546 00000 n 
-0000945819 00000 n 
-0000946092 00000 n 
-0000946367 00000 n 
-0000946648 00000 n 
-0000946928 00000 n 
-0000947209 00000 n 
-0000947489 00000 n 
-0000947770 00000 n 
-0000948050 00000 n 
-0000948331 00000 n 
-0000948610 00000 n 
-0000948886 00000 n 
-0000949151 00000 n 
-0000949414 00000 n 
-0000949671 00000 n 
-0000949922 00000 n 
-0000950136 00000 n 
-0000950339 00000 n 
-0000950540 00000 n 
-0000950741 00000 n 
-0000950949 00000 n 
-0000951156 00000 n 
-0000951365 00000 n 
-0000951572 00000 n 
-0000951781 00000 n 
-0000951988 00000 n 
-0000952197 00000 n 
-0000952404 00000 n 
-0000952613 00000 n 
-0000952819 00000 n 
-0000953025 00000 n 
-0000953215 00000 n 
-0000953396 00000 n 
-0000953636 00000 n 
-0000953876 00000 n 
-0000954119 00000 n 
-0000954360 00000 n 
-0000954603 00000 n 
-0000954844 00000 n 
-0000955076 00000 n 
-0000955297 00000 n 
-0000955584 00000 n 
-0000955873 00000 n 
-0000956161 00000 n 
-0000956450 00000 n 
-0000956738 00000 n 
-0000957027 00000 n 
-0000957316 00000 n 
-0000957603 00000 n 
-0000957889 00000 n 
-0000958170 00000 n 
-0000958347 00000 n 
-0000958537 00000 n 
-0000958803 00000 n 
-0000959080 00000 n 
-0000959366 00000 n 
-0000959634 00000 n 
-0000959849 00000 n 
-0000960123 00000 n 
-0000960388 00000 n 
-0000960646 00000 n 
-0000960904 00000 n 
-0000961147 00000 n 
-0000961319 00000 n 
-0000961435 00000 n 
-0000961551 00000 n 
-0000961679 00000 n 
-0000961820 00000 n 
-0000961962 00000 n 
-0000962095 00000 n 
-0000962219 00000 n 
-0000962343 00000 n 
-0000962470 00000 n 
-0000962602 00000 n 
-0000962745 00000 n 
-0000962878 00000 n 
-0000963042 00000 n 
-0000963238 00000 n 
-0000963358 00000 n 
-0000963490 00000 n 
-0000963602 00000 n 
-0000963642 00000 n 
-0000963823 00000 n 
-trailer
-<< /Size 3307
-/Root 3305 0 R
-/Info 3306 0 R
-/ID [<5ADE27B4BA070C31911FC8E2EDAD199F> <5ADE27B4BA070C31911FC8E2EDAD199F>] >>
-startxref
-964150
-%%EOF
diff --git a/doc/ppl-user-java-interface-0.11.2.ps.gz b/doc/ppl-user-java-interface-0.11.2.ps.gz
deleted file mode 100644
index 6b3fe48..0000000
Binary files a/doc/ppl-user-java-interface-0.11.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-1.0-html.tar.gz b/doc/ppl-user-java-interface-1.0-html.tar.gz
new file mode 100644
index 0000000..3b91dec
Binary files /dev/null and b/doc/ppl-user-java-interface-1.0-html.tar.gz differ
diff --git a/doc/ppl-user-java-interface-1.0.pdf b/doc/ppl-user-java-interface-1.0.pdf
new file mode 100644
index 0000000..206d2c7
--- /dev/null
+++ b/doc/ppl-user-java-interface-1.0.pdf
@@ -0,0 +1,26019 @@
+%PDF-1.4
+%����
+1 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+4 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+5 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+8 0 obj
+(\376\377\000G\000N\000U\000\040\000G\000e\000n\000e\000r\000a\000l\000\040\000P\000u\000b\000l\000i\000c\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+12 0 obj
+(\376\377\000G\000N\000U\000\040\000F\000r\000e\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000L\000i\000c\000e\000n\000s\000e)
+endobj
+13 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+16 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+17 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+21 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+24 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+25 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+28 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
+endobj
+29 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+32 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+33 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+36 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
+endobj
+37 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+40 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+41 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+44 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+45 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+48 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+52 0 obj
+(\376\377\000J\000a\000v\000a\000\040\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e)
+endobj
+53 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+56 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+57 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+60 0 obj
+(\376\377\000P\000a\000c\000k\000a\000g\000e\000\040\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y)
+endobj
+61 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+64 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000D\000o\000c\000u\000m\000e\000n\000t\000a\000t\000i\000o\000n)
+endobj
+65 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+endobj
+68 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+69 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+endobj
+72 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000A\000r\000t\000i\000f\000i\000c\000i\000a\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000S\000e\000q\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+73 0 obj
+<< /S /GoTo /D (subsection.10.3) >>
+endobj
+76 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000B\000o\000u\000n\000d\000e\000d\000\137\000I\000n\000t\000e\000g\000e\000r\000\137\000T\000y\000p\000e\000\137\000O\000v\000e\000r\000f\000l\000o\000w\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+77 0 obj
+<< /S /GoTo /D (subsection.10.4) >>
+endobj
+80 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000B\000o\000u\000n\000d\000e\000d\000\137\000I\000n\000t\000e\000g\000e\000r\000\137\000T\000y\000p\000e\000\137\000R\000e\000p\000r\000e\000s\000e\000n\000t\000a\000t\000i\000o\000n\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+81 0 obj
+<< /S /GoTo /D (subsection.10.5) >>
+endobj
+84 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000B\000o\000u\000n\000d\000e\000d\000\137\000I\000n\000t\000e\000g\000e\000r\000\137\000T\000y\000p\000e\000\137\000W\000i\000d\000t\000h\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+85 0 obj
+<< /S /GoTo /D (subsection.10.6) >>
+endobj
+88 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000B\000y\000\137\000R\000e\000f\000e\000r\000e\000n\000c\000e\000<\000\040\000T\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+89 0 obj
+<< /S /GoTo /D (subsection.10.7) >>
+endobj
+92 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+93 0 obj
+<< /S /GoTo /D (subsection.10.8) >>
+endobj
+96 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+97 0 obj
+<< /S /GoTo /D (subsection.10.9) >>
+endobj
+100 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000m\000p\000l\000e\000x\000i\000t\000y\000\137\000C\000l\000a\000s\000s\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+101 0 obj
+<< /S /GoTo /D (subsection.10.10) >>
+endobj
+104 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+105 0 obj
+<< /S /GoTo /D (subsection.10.11) >>
+endobj
+108 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000g\000r\000u\000e\000n\000c\000e\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+109 0 obj
+<< /S /GoTo /D (subsection.10.12) >>
+endobj
+112 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+113 0 obj
+<< /S /GoTo /D (subsection.10.13) >>
+endobj
+116 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000s\000t\000r\000a\000i\000n\000t\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+117 0 obj
+<< /S /GoTo /D (subsection.10.14) >>
+endobj
+120 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000t\000r\000o\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000N\000a\000m\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+121 0 obj
+<< /S /GoTo /D (subsection.10.15) >>
+endobj
+124 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000C\000o\000n\000t\000r\000o\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000V\000a\000l\000u\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+125 0 obj
+<< /S /GoTo /D (subsection.10.16) >>
+endobj
+128 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000D\000e\000g\000e\000n\000e\000r\000a\000t\000e\000\137\000E\000l\000e\000m\000e\000n\000t\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+129 0 obj
+<< /S /GoTo /D (subsection.10.17) >>
+endobj
+132 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000D\000o\000m\000a\000i\000n\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+133 0 obj
+<< /S /GoTo /D (subsection.10.18) >>
+endobj
+136 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+137 0 obj
+<< /S /GoTo /D (subsection.10.19) >>
+endobj
+140 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+141 0 obj
+<< /S /GoTo /D (subsection.10.20) >>
+endobj
+144 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000T\000y\000p\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+145 0 obj
+<< /S /GoTo /D (subsection.10.21) >>
+endobj
+148 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+149 0 obj
+<< /S /GoTo /D (subsection.10.22) >>
+endobj
+152 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000S\000y\000s\000t\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+153 0 obj
+<< /S /GoTo /D (subsection.10.23) >>
+endobj
+156 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000G\000r\000i\000d\000\137\000G\000e\000n\000e\000r\000a\000t\000o\000r\000\137\000T\000y\000p\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+157 0 obj
+<< /S /GoTo /D (subsection.10.24) >>
+endobj
+160 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000I\000n\000v\000a\000l\000i\000d\000\137\000A\000r\000g\000u\000m\000e\000n\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+161 0 obj
+<< /S /GoTo /D (subsection.10.25) >>
+endobj
+164 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000I\000O\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+165 0 obj
+<< /S /GoTo /D (subsection.10.26) >>
+endobj
+168 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000e\000n\000g\000t\000h\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+169 0 obj
+<< /S /GoTo /D (subsection.10.27) >>
+endobj
+172 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+173 0 obj
+<< /S /GoTo /D (subsection.10.28) >>
+endobj
+176 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000C\000o\000e\000f\000f\000i\000c\000i\000e\000n\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+177 0 obj
+<< /S /GoTo /D (subsection.10.29) >>
+endobj
+180 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000D\000i\000f\000f\000e\000r\000e\000n\000c\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+181 0 obj
+<< /S /GoTo /D (subsection.10.30) >>
+endobj
+184 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000S\000u\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+185 0 obj
+<< /S /GoTo /D (subsection.10.31) >>
+endobj
+188 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000T\000i\000m\000e\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+189 0 obj
+<< /S /GoTo /D (subsection.10.32) >>
+endobj
+192 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000U\000n\000a\000r\000y\000\137\000M\000i\000n\000u\000s\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+193 0 obj
+<< /S /GoTo /D (subsection.10.33) >>
+endobj
+196 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000i\000n\000e\000a\000r\000\137\000E\000x\000p\000r\000e\000s\000s\000i\000o\000n\000\137\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+197 0 obj
+<< /S /GoTo /D (subsection.10.34) >>
+endobj
+200 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000L\000o\000g\000i\000c\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+201 0 obj
+<< /S /GoTo /D (subsection.10.35) >>
+endobj
+204 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+205 0 obj
+<< /S /GoTo /D (subsection.10.36) >>
+endobj
+208 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000M\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000S\000t\000a\000t\000u\000s\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+209 0 obj
+<< /S /GoTo /D (subsection.10.37) >>
+endobj
+212 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000O\000p\000t\000i\000m\000i\000z\000a\000t\000i\000o\000n\000\137\000M\000o\000d\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+213 0 obj
+<< /S /GoTo /D (subsection.10.38) >>
+endobj
+216 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000O\000v\000e\000r\000f\000l\000o\000w\000\137\000E\000r\000r\000o\000r\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+217 0 obj
+<< /S /GoTo /D (subsection.10.39) >>
+endobj
+220 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000a\000i\000r\000<\000\040\000K\000,\000\040\000V\000\040\000>\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+221 0 obj
+<< /S /GoTo /D (subsection.10.40) >>
+endobj
+224 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000a\000r\000m\000a\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000L\000i\000b\000r\000a\000r\000y\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+225 0 obj
+<< /S /GoTo /D (subsection.10.41) >>
+endobj
+228 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000a\000r\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+229 0 obj
+<< /S /GoTo /D (subsection.10.42) >>
+endobj
+232 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000D\000e\000c\000i\000s\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+233 0 obj
+<< /S /GoTo /D (subsection.10.43) >>
+endobj
+236 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+237 0 obj
+<< /S /GoTo /D (subsection.10.44) >>
+endobj
+240 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000C\000o\000n\000t\000r\000o\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000N\000a\000m\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+241 0 obj
+<< /S /GoTo /D (subsection.10.45) >>
+endobj
+244 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000C\000o\000n\000t\000r\000o\000l\000\137\000P\000a\000r\000a\000m\000e\000t\000e\000r\000\137\000V\000a\000l\000u\000e\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+245 0 obj
+<< /S /GoTo /D (subsection.10.46) >>
+endobj
+248 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000P\000r\000o\000b\000l\000e\000m\000\137\000S\000t\000a\000t\000u\000s\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+249 0 obj
+<< /S /GoTo /D (subsection.10.47) >>
+endobj
+252 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000S\000o\000l\000u\000t\000i\000o\000n\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+253 0 obj
+<< /S /GoTo /D (subsection.10.48) >>
+endobj
+256 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000I\000P\000\137\000T\000r\000e\000e\000\137\000N\000o\000d\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+257 0 obj
+<< /S /GoTo /D (subsection.10.49) >>
+endobj
+260 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+261 0 obj
+<< /S /GoTo /D (subsection.10.50) >>
+endobj
+264 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000o\000i\000n\000t\000s\000e\000t\000\137\000P\000o\000w\000e\000r\000s\000e\000t\000\137\000C\000\137\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\137\000I\000t\000e\000r\000a\000t\000o\000r\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+265 0 obj
+<< /S /GoTo /D (subsection.10.51) >>
+endobj
+268 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000o\000l\000y\000\137\000C\000o\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+269 0 obj
+<< /S /GoTo /D (subsection.10.52) >>
+endobj
+272 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000o\000l\000y\000\137\000G\000e\000n\000\137\000R\000e\000l\000a\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+273 0 obj
+<< /S /GoTo /D (subsection.10.53) >>
+endobj
+276 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000P\000o\000l\000y\000h\000e\000d\000r\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+277 0 obj
+<< /S /GoTo /D (subsection.10.54) >>
+endobj
+280 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000R\000e\000l\000a\000t\000i\000o\000n\000\137\000S\000y\000m\000b\000o\000l\000\040\000E\000n\000u\000m\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+281 0 obj
+<< /S /GoTo /D (subsection.10.55) >>
+endobj
+284 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000T\000i\000m\000e\000o\000u\000t\000\137\000E\000x\000c\000e\000p\000t\000i\000o\000n\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+285 0 obj
+<< /S /GoTo /D (subsection.10.56) >>
+endobj
+288 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000V\000a\000r\000i\000a\000b\000l\000e\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+289 0 obj
+<< /S /GoTo /D (subsection.10.57) >>
+endobj
+292 0 obj
+(\376\377\000p\000a\000r\000m\000a\000\137\000p\000o\000l\000y\000h\000e\000d\000r\000a\000\137\000l\000i\000b\000r\000a\000r\000y\000.\000V\000a\000r\000i\000a\000b\000l\000e\000s\000\137\000S\000e\000t\000\040\000C\000l\000a\000s\000s\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+293 0 obj
+<< /S /GoTo /D [294 0 R  /Fit ] >>
+endobj
+297 0 obj <<
+/Length 1270      
+/Filter /FlateDecode
+>>
+stream
+x��WIs�6��W��)5c�X.�%�kO�q-���9 at 4D�墂P
9��$*�۴��gD���}�[I�
pp}���I�$��!L� f
�Es��F
�ilU�k{���'7
	.����o{m�F�g���+�$E��8�-�刃��Qƃ�S�>�-�$�i�Ob

+
6b+�8���R>�	�c'~[���7��[��0I�
A9ɜ��	5�����n���\���޴Z���BZK,Gq|h豗�{C�w��Dk�Emn�\���9��Q��<�A�h�
��1s��1���`p"	�jslK�W]�0	� '{+@`��O�3���%�b�;w�L���a�6b��cr��$�c��f
)�J`A����t�� GxX���
rϟ��
AL�3:D|ELs����
�W�p�ke]�9������O�%(�����Y�m!Ĉ�|���q$�2H��$���n}M���/0��Ʈ�/g����'e(f���p��[��y<[�& I�H�º�ж�3cp �&�^1�o�	0�_Vl�N�w$�jEa��LW�<|6���n�^<�Ҕ0�•P��8i�^�:��W�� �<��T��	q寽~�p�{s T#�y�!�n�z�E%[]yZ8����Xz��]�
�6���'�O�w���!��~��ۉ��<]��ʑ6c@/#;3"��a����v�l���

�? �yx��0����=Fb�5�px�֝��t�UW*�8�s��_�`f�јo����J8s̍����j���C|���3��O�<�}�ͥ�J}
N7��M��ۀ� [...]
+�ļ�0�n�a��|3�ȿLg2�͠MP����1C9���4��W�xS�h�V+e�$����f7�����c;����cxpc7�����&	��'�g&֏���w�NЫz�����w��
^	��J�%|f����h�˶DE�
�w��c�5�S
���+�%�?L |������#�{�A�
ʺC����)x����
!O�
+endstream
+endobj
+294 0 obj <<
+/Type /Page
+/Contents 297 0 R
+/Resources 296 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+>> endobj
+295 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 306 0 R
+/BBox [0 0 640 829]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 307 0 R
+>>>>
+/Length 2688
+/Filter /FlateDecode
+>>
+stream
+x�m�K�#�
D�ZEm�4	�
{�(�#�sD��'�*�>��j�V��L��ǑS9���������9����qӸל�i�Қǟ�>�u��V���)�2k�%[�׍�jk
e���<F��bȣ��u��5�ID���q�^��%�R��ˬ���|�T�4��yԮ������hYϔc�ԭ��V�»�>�������������J�k�>�si���3�4���Hݏ��{�l��V����^.&ϩ�<&;�����u��I
@����Z�KD�P���\�i����s|��R4�h}�9��艥����b\K��؆��j�ik�L���=�̸�"ؼZI��(	���%s6W���+�y�1�H')�ql�
��g���y�Qs�_7������/�;ji�y�'x���k%_�J>8{w@�wv�NQȁ�l�=("JY�s����Iy
ǹ�k�S���+���}hk�>"���Rd�'n$�4��
�įGh
�Y�ϲ����Ȭbeh&f������3(0Ϝw�9��Б ��‘�^@�A}� �T�4D�߶V�?5�$��[e��!�f�b[�l��E�4����Y4�9p��	���n<���
��9;�D4%�q�+^�kK��%��9�5��|?ĝS�Ī��@.�"�A���T�5&�%^�n59:�/H��(%�~����a	Z=�d�I��fJ+�^+�︌�B2X����#ѥ�S�����0V[-NS� �(b&�C��*�s�

��*d�K
��5ɫ�6�؄KC�hz�4��)�
�y� DF^Akz�\3W��m9�`����@�l:�MYe��B�:x6+b� h�6$sܨ��W�Z�^,����Ddx&hI���
��$�a"q���
�:��RSH�2<Z<�H�r{v%��.W次�8��?�BJ6
b�H4
,Fߎ� �Ԛ�������2��B�Z�	�.Ŋ�>@��񸵊��d�J�
�S����Q��ufG�.-�+���]��ҢxR�ِNV1�0	K��r�ہ�
��.�Q�<��͙N��*7b�_<��6���G"Cd�t�6 D�x�RkT����`; F'���́�����Gy����.C��EK�+��
(�eC�K8T�2�Q)� [...]
���B[�}��T�<��W��Z�.q[C�T"WCNҵ�e;WCk��KC�CV �E���*!��h�n�o�v������"?�1˪���롋q� vZ��K�	��.����_�6=:�+Ң�y�����
���K�4zx��
�L�ť���IoOCE
;Q6M�`]�����TD��s��E��a�,|ʙd9�Iङ��CK-���{|�׎�Aг�=GD�~W�#�J�6l=��W#,�8�$���9G�=UT�����o	���2+�S�2��Q{��u���QnU=�Qc����0Wv�b�0�����J
�QK
Ց7�4<�U��
�Sz
�j}��RdJ-��U"�
Yl���U-��q"N)����I�+�F�ۜ+����Ӽ
��M�תoÂ���l6����Q�j�q�'���}BR�
PKǧ��ѓ�%2V����,^��
j�b�K����L�N͙
�q����MW��.�P��W$������
+D���5G�\����84I���$�h<u�k�L59�0%Q��)�FX�C��ӻ�
�����
���a:׊]G'�u
��Z��B�^LE��e����Z7D�C���c�I��
U��]��iQ8s�2��*'��X�"���h6b�B��k���L2(:����I�1�s�˹�����{�uo:�k�%�.�k[��x�R�����u�
�<�����-�o�ͻ�m���

�	x���}�H�e�.��XD
�8r�D��\�%#
����k�6
%o؁zW>
 ><�ϸ�x�G���/�#�"pb:�h]�F��7��>��KHݗT��r�kwت �ӠD���Ւy��K���կ���,�G��C�Ss|��<g��uo?�������K@�
��	4�ͺ'��)�$&O:3
��.��[�G�¸���E�;{
��*����Kw�-K���T@�O���+LH�㛃��ӊwĪfgh*�� Mj�TV���F1�k
I
�?5ڮ����åےT�ѻP.d�wѩ/��"\G�
���
��G"�
�u��+��t�bg��[����pS�jeg)s_�螢bM��R
-εQo��
}� ���������@1n�M͢
���6"�-lW�Z7U���
;���mD+�|G�F��Z��@
����Q�5����(g�`R���X�6T�����.��|��6���ч��
�?��3
o���3��� m�B ��MY:c�q�P}E'�-2���
+@!S#����s����I���U$ZJZ$��\!X��P8���+�x^�|�f�:��d|?@__��h���^�a9��n]چ�*5s|Y��E���v_�#^��[�/�s͢O��
�?v�s`\�ؿ��^X{��~Ej�aW�K/Tz�
����Z���\��j�
|��>�?��a��x(~?�B�
<q����
T��5F#��
�s�B�
+����[���N��o�ِW]r�a'tܯ�_�|�"�8w�VۥDD�#��n���f���?�
�
+endstream
+endobj
+306 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+307 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+298 0 obj <<
+/D [294 0 R /XYZ 89 770.89 null]
+>> endobj
+299 0 obj <<
+/D [294 0 R /XYZ 90 721.073 null]
+>> endobj
+296 0 obj <<
+/Font << /F58 300 0 R /F24 301 0 R /F41 302 0 R /F42 303 0 R /F60 304 0 R >>
+/XObject << /Im1 295 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+310 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+309 0 obj <<
+/Type /Page
+/Contents 310 0 R
+/Resources 308 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+>> endobj
+311 0 obj <<
+/D [309 0 R /XYZ 89 770.89 null]
+>> endobj
+308 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+322 0 obj <<
+/Length 1558      
+/Filter /FlateDecode
+>>
+stream
+xڝWK��6
��W�Vif-���J/�n�������L��,Ӷ&��Hr���
�-{���'� � >>�����й�wz��b7Eh��V��.�����ZY�m��:��;�;
�1�[1����V��|�ʬ��[������v�/<sk�����.öK4Ź�99�+�g�s�m�������%�_��8�r)����m�)�*ѫX����-��C��+'l7k@�qOQ\�A�S�9Ӿ�v�ʋ����u��|o�f���[:�هM-�����3ב
+�\ϷYMkWez��B�_�:�����f+��8<��j�7;)��\����e�Tϧ`&�1zv�\�]Od���:+
��A���*)��	�1��Lu��0�o����UV7��g#I-)V��"zW���3���X?m��������@\Z�\�ɸ�� �}%�R���F�K@��Y*�Z��,��t8綬꣜��D82���L�<i��������a�g�s�ӥ^��"r0��o��~�X���
+_Q�r�<aj�Js��M	��=�%Bl�WT��OY����!я�Q��
"�-Y��
+�3�����G���,��]���.Q�s'b�D�?N���6���Ԥc��&鷗6����v��u
���U�V���@�T9�(��X��a9������KM��	�E��T-D��tr�<�FqS�f�h�f*�^�3�uY#0�_��\�1pI���k���b�n5��C+��J���J�@kh<��o��%7�o��Ƞ�ר��IF�CB�J�k�� R,�8�&�Njb��l`�,��K �.����ZUX�����G|j>a�������� \<T��T�,յT�{�E��P>�t�`-�y��V( ��{
�`�3U�
h¤���p4�P*��������?\�0|
N㫵_܎Gw����l�� !�� !�>
�
��‚�T&`l˽4,UTj���9QK�}�����h&���_�����9�

?i��Ag0�
矜X�����-�R��,���
�RP��>� ���/�g�P
�����
8tb���x4��*�G���l�'�D
h�`���2{>�[�Z<YL'gC�|̤�I��2���g O�
��٧&k�;񸩤y�4I���W�w��`Qdo��DE�Q�Tf�
�hAB��3�@��6��Ʋ��Rq�@$��MEZx�F�E�����yYlHOݽ�֠yo���̈́�ӫ�pv�\��űvC�Q���4��{h�o���f
�l��}�Va"���	8��趬������Q�{,҂�lp�[uq���&Q�}�)���dtǮuk�f���U[Czߜ�.���
�
��sp
�� ���ĺ̓��X��ruH�����W���#�7
sCϷ�/\���{��Bp?P*mZ	�J��v�z[¯��o:)u�O������~��L��V��_�q����̏ ;���
�'
�5V�i�
��C���M�[�vN5kQ������̇�8$�?��˚���ѿ�끝�|���*|���c7D�����[�"��ܬ�r��Z�5�c�ހq��0���g<�����~���e����;
+endstream
+endobj
+321 0 obj <<
+/Type /Page
+/Contents 322 0 R
+/Resources 320 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 312 0 R 313 0 R 314 0 R 315 0 R 325 0 R 316 0 R 318 0 R ]
+>> endobj
+317 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/bugseng_logo.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 327 0 R
+/BBox [0 0 640 166]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 328 0 R
+>>>>
+/Length 1662
+/Filter /FlateDecode
+>>
+stream
+x�}W[�
7
��S�	��8F�
�c6���)R"��Y��Z��J$U��ʩ\Y��Ϗ�o��ۿ��|��r)�j5�hu�9��]^�<r9��m)S�M�:)��v��� j��a+%�z}
$�$�/�*i^�jjS.*s&,t���R�<+h�:��wݱ��)�Z��
i%�z-�{�
Q݆��V,�Y���W���I_���'�ԫq�"��
��'
�*���b.i��\O�>���%�h�&�Ȥ�~˄@�D���N���$�_�&a#��e�Uj�|[Q�^o��2o���îi!cZ�ף����
i����s4eW

E����݆��
�<+Z
I��P꽇�8Y�Ɨ��3����4�W)�����/r�]w��<�ʶ�q�<��~�t��
�_u)�V��Y�U�����
+����/ 8� &���Ua���j��Je��+%
+��̉�)i�U
�
�S���F_@��rG�T���HE�
nw�6[.�:�o��@r�������ЊCAT���F_�n�n��)|�d�Q��
H�i��?
�h=�8�8΍=U��UPC%Ӎ�.
��(R�ae*77=�󱁉�S�^�
+��3��j_
��
�Z�|>j�$�3�#a���>�׹2D���'N)�
�+ }��"��{�7��Aw�a���mŏ�
+FVCg��
�ԭ����)_����'�\G�^����\��1B��g��n�\ڠ�NY�
:��Yq�&�Fa�-��� B��S��f���7�G	#S���
٬7��E�� 9�D��M
+G
+�20��Ci�e�+������D�����ô b�~#����z�'�\.���F�է��]xv���i�@ I�8a�=�z[PjVkn��w|0S��t�h�m�ل֩�H�F��@0#����5�jN�1�-�R�F;p1jվ(�֙EHG´��i
�;i�`
 {��&4X��s[4�I�
d�!
޴r/^�a��@��Ƕ�?Zr�W��U��PǗ}2
��di8�ÍU���Q{?��b:���H��l�D��
�0ձ�vxk�ڱ�ʜ�

ו��^Y�"Ƃ۸���8�z��Hح�(;�����_۲h��a
�
+�e���f���hX�R�iqV`z��!��9s���}���g�z^���A�.a?�S�*To
+�W�h@�+V�C�`�x�k��a�<��]a�M�:r�#�`[�{���T�|�W��$̽�g����+�xآ%��
-$�*^*��w��+�M��M1����Q���o*Z6�P)�P�n�+T�`����jV�
+	�
+�,r ��U��W
O�qj�T�M�J�p/������5쐯�kC����u�%��u_(�@�3~Gvig\��W�A�^���j;+t,q�pLM{9i�I�s$��!w�tꡎ�+�!�HB�$���� ������d�_
d7e"�yξ��W��w$����+N�n�� 8�uXl���W(��DY6�~٭����Ȧ�<6��IJGfQ%?4�
�
��L+Bt���{1m�8�MS&L��r9=56*�Q�*�RȾ�{O�C=��P���Yb���
���h��k
9K,k�8�n#�f:Vl07�:��+��i�v,��~"[
�k�� :)��
z��U����3���b��X��?k���1�G���f��σo��?Q��B
+endstream
+endobj
+327 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100335+01'00')
+/ModDate (D:20111106100335+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+328 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+319 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (/home/roberto/ppl-1.0/ppl-1.0/doc/ppl_logo_no_ppl.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 329 0 R
+/BBox [0 0 640 640]
+/Resources <<
+/ProcSet [ /PDF ]
+/ExtGState <<
+/R7 330 0 R
+>>>>
+/Length 2432
+/Filter /FlateDecode
+>>
+stream
+x�m�]�$7���y��%R����
+��C��s���ʬ��6
�Z��"#�d�u�Tά������ۿ����_G>K>{���gM^ο�8�s��(�czʥ����z���-U[�%�b�
9'cYSu��ó�T�*�^���δ��i��O/<��Y�J�8�|�6�i�G����T�2
�Q��R�RNk
]ΙϞ=��ǟ\�ۡ�Z��~��(�����YZ�<k�-����5k��Z��Q����~]7���Z
F���~��f��|����B5n��1�Sֈ�g
�
k+���㨥���h}�Sd�R�6{��X7S0�>��zʤ�@�����X�k���bq��x����e��2�ݒ9O�~&3y�-�qN�\Vy�V6����׍��}�p��
FX��k�0H
m֖F�uM@��办®�M쒑Rqp,�񶖕���y���W�2��
����:9FLs9o���n�	��S(v�A'{��� �\w|Q���҆�<i=ML�ZR�%��
+�&�
/81���L�n������``^I���*��g
��l���q��Ǘ�_� ������Q�Ov��vT�p���в8>���
d��o�ўAC�+���
b�8�$=��Zs����	~�4��ɓd�7^�ۣ�� X�~�����>�v��Я*�6[�h�b��h�G2o '
L4��dV2��?�i=�kq���@�7Ye�i���
�|G`ped�m��ڵ��\*'3�	
+�V/#�0�ۜ��!0�x/uA�N��ㄵ�"3 H�W�
v"젰aC"`� 6����{	�T�g��H]~!
b��S'����Z���>���]<ˀ����'
?��M��������
q�K�ؓc<1�c�3����x�h�H/r�ђ�'�
��(
���4��-0Y�~�BJ�1L��	�
^,t�����

"��bQ�N�b�3J"�� ����B	���
�����6\�h,�0pRٖ��Ѡ= Pz=�%�B�Mޑ�>ؙ�/1��
#��@ңvR��`r+pB���{Qo`
	@���_轁D^��j�J��H���(�B�3qy_�
�����G��K�cG� ��-TlFq�4T�G08��2�
�,E�
⃝VTD�
JY��&x;w+d�H\��)SU�t�����_!ԙ�q��P��h�[z
I��f�Q�M�sTQ؜���"�Ch&,�ɮ� ������M�k���C[�}���<��N�Ӑ7�}���C<;�d��./�F\KXS�>�"�
+}W,T&w�>8�[�����
+wx�_R�O;��{U�⑨���A��Wn�_N����#b��,���n~v�7�hI�W�{�Zw�LV1'�HI(6�;�C���
JBCFU$�=z����Ԝ�� ��8 ��{S�b�wH�g�Uk"�n�)[dA4ohw�@M�z�|��Z?��v#�քD�v��V�S"�Ed��
�5���:ND
,��	��{�!���}����?>'��+�S�2����mj� ��A�U=�Zf�wH�x�d��y�J����H#��� �Ҙ�
y�NP�'
b���#�U�
�\_j���D�[���</������r뤈J�o���jQ�e
+��3��˵O�yK�b���C���C�a��!쩨.6%g�'���Ս��@�/��4qS�@
bgS}w�}-���Cw#B�ZD�k�B�,&%U4�һbܴ������!'QE��n���	�� )�rO��1
h���m@��P�&�q��S��J��Yn��PxV��S;uc��D���z�S�_b
���-�]���8,�@GC�U���$�
zٲ�4w����L�@ԁ���SQ�H&�0�tJZ�*6�?�R���A��e� �!�0nI��-���R��ʵ� ĞƮ'*اq��n/���u�!m� 
����ss
 =��-
+ z�`�k�,�~�D�x�mC�`M�`�+_���x?�d�։U�uh�g}P�d�v-���q����:(��ڕ/�Ƿ�'��_�D�Q�fBc��/�fMj%�i���	%�8���U`�ԏ�a�l� 0v��s��DRn��h|�n�r��6pd�q�e�c�h�v0��Af�
���� ��jw-:��v��{�Њ$�&H��

�|��|�zL�w�zW|ׄ����_�N+��H�z)x_�{h ��\1Dz^ �Kc��!�aw�w�h
�(��.����
m��HA3À%�br�\�g�(���N�m��Ppn��
�88}�B?
+��?��"�`�����tu8��5���w\�S��i��h�R;�%{��.�L�
�
����3Lp	�rp
3Z[���&=K٣�E'h�>��o��4�	���^4�ѵlP���m�
�p#�י)ח�,�����M��ڮ5unT��7���*�G�F�Xjf%�A�H�K�;�4�ьw��
�JV��q��
<��d��������S2
�
+endstream
+endobj
+329 0 obj
+<<
+/Producer (GPL Ghostscript 8.71)
+/CreationDate (D:20111106100336+01'00')
+/ModDate (D:20111106100336+01'00')
+/Creator (cairo 1.8.10 \(http://cairographics.org\))
+>>
+endobj
+330 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+endobj
+312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 648.798 490.947 659.702]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 626.945 322.585 635.792]
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 595.308 337.877 606.212]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 583.353 513.996 594.257]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+325 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 573.455 169.87 582.302]
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [204.862 457.687 398.138 467.585]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com/products/ppl/)>>
+>> endobj
+318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+323 0 obj <<
+/D [321 0 R /XYZ 89 770.89 null]
+>> endobj
+320 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im2 317 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+335 0 obj <<
+/Length 19        
+/Filter /FlateDecode
+>>
+stream
+x�3PHW0Pp�2�A c(�
+endstream
+endobj
+334 0 obj <<
+/Type /Page
+/Contents 335 0 R
+/Resources 333 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+>> endobj
+336 0 obj <<
+/D [334 0 R /XYZ 89 770.89 null]
+>> endobj
+333 0 obj <<
+/ProcSet [ /PDF ]
+>> endobj
+385 0 obj <<
+/Length 1459      
+/Filter /FlateDecode
+>>
+stream
+x��Z�R�H}�W�m��ޗ���J؆� ��I���U,�Hr��~Z��N���hK}��s���
����[�;��#,�J��չ�$�8�.e���umu�:W���� �"��,~
+��a�u߂�
X����\Xݰu�X=���.���Q��^�.�U���$.&
�#�Ѕ�H
e*���hi-�Wf/��a �����ʏ�ӆ  ��DNQ`_8�~_Uݕ��.��FW����3VPe���si�XE*����� �ϧAWE���6@
+��
+�s�𼹣ā�V��� �B͘�q��,E��>e�vIMf�
*c'QO=�s�]���K�R96�\[��
��6D.��IW+� �������u���?D�f@��
r�j�X����
��?�C���j����֙�ѽ�6�:��>g�4H��ء�4^�Y%���OS�8�[�9�(>e�@'Ѥ{�P{�����ϥz���F��-T��T_���7t�E�%3�l9���3��S�����A��� j��'�Q��j�/f*�-���B%����v�.�^C��B����z�F�Ftc��Dk]�k���&��$�a<ߩ^�{��F����O��iH������ܹV?
�Xݼ,� �5z1]��K��
 ���T:�n���
��x/խJT��R���$��Y��BF[A�����@h�
�͜
" m$��a`��.z^�|sX}���`���;��7�D#�q�����Q�F
+e#��1*�-�K5LT:�~6A�*I�
<���n;�
젗�
I�E
�
�L����q�
A8��$�ϴ�=�(_�M[�F�d����R.��\��_0	XN�KM$�a�r;
+�	 4�57�z߻��k/7JN�b�,�m5
�&L��m���ĭ�����뉒
lL�4"#
�t�dco���y��r^A�$樟4��)�;W��� ��]��L��lJ~��
j�%~�$�	#�_;�l0s6p#6
�_`!�L�2
3�Yϗ��"�8�1Ξk�
��?���#� ��]`d��7?_˔w8P�d�6�ұxY�5_~An7u|z�I'��CW
%F��$��&
��g�Y�`W�a��ݜ�
�u�M�h���sz�j�ļ�F��z�j
��WT�@s�&��q�
|��
�y�1�
�M�����|�ps��}[<��z��
��TR'Q��T��
4�w��~����D�8�^L��!2��N��'g?��Cc�L��S����˓-'�e~n�bD&�i)?ǖo
+���	�_%G7@,6A�m�QF��"��Lw�r9¦���L�J�Euϐp���˽�*M_\���N���ϩJ~s�4U�ɏF�=�/�����ё�
t;Ԑ���J�
�8�Y����HM�

+��z��.ˆ���݌���I��3��A��
����uH'� ҍaq�ַ=k�)�.c�&O��.���������êa�$��A�5y������
+endstream
+endobj
+384 0 obj <<
+/Type /Page
+/Contents 385 0 R
+/Resources 383 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 337 0 R 338 0 R 339 0 R 340 0 R 341 0 R 342 0 R 343 0 R 344 0 R 345 0 R 346 0 R 347 0 R 348 0 R 349 0 R 350 0 R 351 0 R 352 0 R 353 0 R 354 0 R 355 0 R 356 0 R 357 0 R 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 0 R 364 0 R 365 0 R 366 0 R 367 0 R 368 0 R 369 0 R 370 0 R 371 0 R 372 0 R 373 0 R 374 0 R 375 0 R 376 0 R 377 0 R 378 0 R 379 0 R 380 0 R 382 0 R ]
+>> endobj
+337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 685.699 151.499 696.578]
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 665.21 229.087 674.186]
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+339 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 642.818 252.131 651.794]
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+340 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 620.426 165.446 629.402]
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+341 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 608.395 173.686 617.242]
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 584.08 180.928 594.959]
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 571.896 202.726 582.8]
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 551.541 155.484 560.517]
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 537.454 202.677 548.358]
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 517.099 155.484 526.075]
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.949 178.398 513.915]
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 482.656 206.393 491.633]
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 468.569 235.633 479.473]
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 446.311 221.874 457.19]
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 434.127 275.613 445.031]
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 413.772 196.43 422.748]
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 399.684 390.062 410.588]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 387.634 433.22 398.538]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 375.584 446.97 386.488]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 363.534 469.504 374.438]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 351.484 434.247 362.388]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 339.434 392.419 350.338]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 327.384 366.431 338.288]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 315.334 352.892 326.238]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 303.284 384.553 314.188]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 291.234 357.007 302.138]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 279.184 391.328 290.088]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 267.134 350.381 278.038]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 255.084 384.702 265.988]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 243.034 415.517 253.938]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 230.984 414.411 241.888]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 218.934 394.476 229.838]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 206.884 412.349 217.788]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 194.834 348.698 205.738]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 182.784 383.019 193.688]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 170.734 375.567 181.638]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 158.684 371.94 169.587]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 146.633 406.261 157.537]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 134.583 398.81 145.487]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 122.533 427.024 133.437]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 110.483 319.378 121.387]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 98.433 408.473 109.337]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 86.383 384.125 97.287]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+380 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 74.333 433.13 85.237]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+386 0 obj <<
+/D [384 0 R /XYZ 89 770.89 null]
+>> endobj
+383 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+419 0 obj <<
+/Length 1136      
+/Filter /FlateDecode
+>>
+stream
+x�͙Ks�6�������`�Ad:=ԏ�
�Q-%'ÁeX�������K��Y�	@��[,v�$`0
`�v��d�w$` ����@�@P	�����0M�ϓ��� ��CM�������d\�
'�/d�`���q0���apm�O���o�My at 1�m�`7��q3��\t�㫓C�Ii �SA`
d0�S&W�]����k��,�2��G���4-�2���wF��iY$�M�Yx��.�:bka?S�y{y�����fp9dB� 2
*e� �`H���:�m�K2��"p#��"w����<���j	�!ڈp����s�
o
�A@��Ž%gi��@�D"C���0�F#�P�L��2���G֪��
�D]��Y:M�)kĩ��,�;�h���>����x��LiW�#�PN���������ɸRU�	�>�>�,�k!��>�C8���q����:����Z;�
+�.�O
�]P�F���|���u����v�B�s%�(�Q��RS��;�:iE at 1b!{�[{˚���7������'lak�����?c�,��IZ��i��a(_X�!�`Ŀ
;
+���
-�O�q���-l�&޸�|��
�JU�
-���N���6���E��l�8�Ӵ�;����D���RV���
�6+��2������~YT�̒.�U�+m�s�:�И��,�=�e[�r�ҳ���%#�_�5����
+��u���I�‘u\f��?��x'��
9vDn��֞�T�������N2�L�j�++
1�M�c�|�� �G�*��VX�c�jTUw(,�z��=;2'�b{봘\�Ly�H����a
�"�՛!� sd�콥Ď^>��/^~p�/��'����̜�)��3���v�@���rQm�����+��E at m���Q�3��_p����y2֕�w8�?��l���8�s��� L6v_@$nW������c�8'�Ai�=�Z{���
R���(3;H�?mnr���ht�^����k-&T�s���Bͺ�
+'n"���}�k�K�X�-�*��q�lHt_��˽� ���z�X;cݯu��ג�]}F�!H�i�غ���7{{W��\30-�G˴�/�
����(/MǑ�3o�4X_�ZX
+endstream
+endobj
+418 0 obj <<
+/Type /Page
+/Contents 419 0 R
+/Resources 417 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 305 0 R
+/Annots [ 381 0 R 388 0 R 389 0 R 390 0 R 391 0 R 392 0 R 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R 398 0 R 399 0 R 400 0 R 401 0 R 402 0 R 403 0 R 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 412 0 R 413 0 R 414 0 R 415 0 R 416 0 R ]
+>> endobj
+381 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 707.957 431.447 718.861]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+388 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 696.002 407.377 706.906]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+389 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.047 413.663 694.951]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+390 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 672.092 444.448 682.996]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+391 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 660.136 422.301 671.04]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+392 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 648.181 403.492 659.085]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+393 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 636.226 365.325 647.13]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+394 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 624.271 396.877 635.175]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+395 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 612.316 391.886 623.22]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+396 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 600.361 417.48 611.265]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 588.405 364.614 599.309]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 576.45 414.411 587.354]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+399 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 564.495 375.138 575.399]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+400 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 552.54 390.222 563.444]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+401 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 540.585 362.008 551.489]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+402 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 528.63 473.638 539.534]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 516.674 472.533 527.578]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+404 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 504.719 393.559 515.623]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+405 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 492.764 388.578 503.668]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+406 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 480.809 372.708 491.713]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+407 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 468.854 444.777 479.758]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 456.899 479.077 467.803]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 444.943 387.472 455.847]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 432.988 387.462 443.892]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 421.033 354.805 431.937]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 409.078 380.827 419.982]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 397.123 387.661 408.027]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 385.168 342.063 396.071]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 373.212 363.651 384.116]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+420 0 obj <<
+/D [418 0 R /XYZ 89 770.89 null]
+>> endobj
+417 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+425 0 obj <<
+/Length 2993      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[�۶~�_��R=+,��8nR���f7����ѡDH˘"e^�����`��޸I���e 
���`�ru\��wW��n���*I����a��U�'"����:�z�����%�ެ]�G��������B�	���0x����W.�ɕK�"�W����_�*���WRxI�z0D���<��۫^IfM
+`?�h�\_x~�,����zN]){VU
�*�Iבs\ob�p�o�m8��\mT$/����5l�n��)�n⼩��{��);�wuZ?�ܾ:����.?�uFy{O�iI#y���`��UMs�=��t���q���*�.lq��0�:G-�/
v/�L�B��U]W$+�\WxǏyf�O" ���m�_sB;ew�u�O
��5m��ۼ*y�;�}U�}�6���͝����o�8�_�xs��uÃվM�UiO���v/� P�('?m&7b�
}�pm��<g��_EW��7o^Q�`����
�b����.u�
�:�`]e��#M�P���8
+�
�]$�k"����
0��
.���ɀ��q,���l6U��S?�G�dRsX;�-pr^s��`H[|��9�W��j�7*�D�Z��w�]S딖
�Ŭ�x\$E�z� ��Q��]�|�3�k״FF`���^2��wh�
+}�j��6g�o;��<\�<N��T{&�,)�\I�\	=Oz��r�����5]8��*6@�~����x�p�Ȓ���sj�[��
|�^Wf s�����z������4�
��s�6��i�P��M���1�g��g���q�n� `�9��z�z*��-���6�/��>7E�_�� Q��� �'�Ä�a�FŮ�I)�ˬ��#�l
���:�-0�R�Z#1�ajܴԪ�-�V3
�h�pCB�Pp"l��J��}��|���u�5zzR?33ds��]��
/6�08��S*�R��i�uo,e�$^bw/�;�K��
0 X��Zg
�yKSya�L�V(�=:S7LF�s�
��.�<d��4�%����L%���#lq¶o̿+
qn���D��b�����9m�@a��ey��
+& ���
r��EF���d��ʼn2�a�����R\��q�8^���nX������qpT����If�H8�����2���6����c���fa��Қ'
��n��ӻ��yyD�$.���(��u
��Q�6�R���?
�䟨y.�D&���̖1�燻!j��]ZP|VG3oS6����J���M�0�Xu�L��	��5!��8A��*7#�#Ʊ�G��4��S��ڢ�r�Rp��i�19/�s�x�5�L
D^�Ҵ��Ysۘ�Y4(�#��ok��r4Ϫ^�|
+c6��$��@x�9����V���'�"�67X�L��6��}�e�l�\Ox���!A�	\b61hd�ez�h�E�f���~NY��
��	�-j��Q~�z at PO����D��9�4Ӥ�F�5o at 8�����բ( �G��$��8��HJ��^�|�*/�O4J��	�k1� �}�ih�,j.a��'|��`]E& �H�DYr�B��vv�>�ǥT8R��p�lC,�fyܩ�s�!Q��Ƕ/��_��-��`��؝�Ps��&�7~|_uE��,Q�T����E�z='�SɕiYa��%��>G�nC}F������x�%MƟ��[cFmy	?z՛�1�!��$�
:�+���q�8��(X��H�h�
�=�DL�m�ݯ @Ϟ��d�q��������
o���?�ГK�]�"qI���3�nr
d�蹮&
��t��
x <�Lb`��<�*���;^euK��z��/'
O�%_��R����߆��D���$ �p�
�^���_?M�"�~)0U��e�-KD�1�}�����zT1���(��2*����ܶiݒ݃�u�Y�H�4%��^ �e��i��6�z��r��z�t�l&>�R�
�
�C��U&�XK�)�{"J�A�X��g�����	0��`Ԅ��~O=��U�6���$&����2AڙL`hǛ~
�$y��>���������{�P�
7�,�P�&դ^&ݾ^F���ZSC���./��4�%m^./�r��%(؞��Ӹ䷚�!<7潎3���˪��F�t��΅^�u$B�=YVY5��b�S��K_/��D4 F� ��ht���=!e�|�[��\>̧i��yڦ1�s�D��pp�k5uХs=�y��s/l0��]�u��8?�TdMH5�}W�
��E�\	�5����{��-
+W��
z��hJ��ہ��@_`�䚰b0DGə��RhЛ��� 	��A׺�/N�m��t��Ou� �x�Clx��K
��J
�u�~�\��}&l(�	WE��� l��,Қ�{A�
��Ӕr�0D��Kq��S
+<�[���ϊ���|����
U����E�o�|Q�{�z<�l���������Yq�V��)�
+�ZFkia�
�g��N�(֛4����(پ�>�	?�_S���(�
��Dh�0Xr*&�(+2����ٖ5��X�l���Upݿ���/?^��Ay
5��������s��@����w�'cȱ7�ּ�l=��}Y���y�	9��a�����|��?����w�͒��ʋ���֋|3���Bn܎^T
x�����b���^�������`�Zܽ�|W����lb$
��ɟ��s��
��`���˶
���`{k�����.�/M�_�j}6u��'��:ɞF)��S����}C���ۻ5X�5Mޞ��~2gv��
��
���i����d��z���!&LE8���v#�}���! y�"������NJu<3���qY�|�?��?�����0�3�Y�X��9a~ �A�<�p���a�[m�O���~e[������Cf�z{�o��W77�����(��"�0�aq	������K |+�@���
��Õ�T7����ͤ]�7/O��E:���?ً��
+endstream
+endobj
+424 0 obj <<
+/Type /Page
+/Contents 425 0 R
+/Resources 423 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 421 0 R 422 0 R ]
+>> endobj
+421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.204 337.718 537.142 347.999]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2 0 obj <<
+/D [424 0 R /XYZ 90 721.073 null]
+>> endobj
+427 0 obj <<
+/D [424 0 R /XYZ 90 697.183 null]
+>> endobj
+429 0 obj <<
+/D [424 0 R /XYZ 90 583.798 null]
+>> endobj
+423 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+436 0 obj <<
+/Length 3176      
+/Filter /FlateDecode
+>>
+stream
+xڍɒ���>_����!{�ɖ%�YV�q\)��l�Ȁ �2b�>ok���H�
^o�߾4'X�����O�7w�U�(�"����nQ
�~��h���E�?��-�,��"�34�����>�µ�W�7_nBX
+!O}�/6Ǜ��-L�[~\�G�t\$Q
�z���7�P�e.Ea��I�/T�a��E)]n�->�� ��6�U\�^�
�ںn�Q�=V��v�J��+�e�zg���.N�����d����6emw��+7=�����ī
O��Zoe;>~|�߽�#��8	�fD����̈́�~NR�mecq
+��U��~g��HSުk}�
��1�ߒ?Hr-��~-
��)�a���%h�Ԯ��A2OH?MG���VaQ�a-VQ
�(�����(�ޕ�( =E,b�9u�+�<ؔh
��6�.{͓���d<�	޵��Q1_8�Bx}��`��d��[��c��mgňr�S�Ɛ�r?Ɋ��6m�isj�-!G���|���K
+2��w��Ɋ������Ǫ?0dN�F3����LՊ���Q�	+��+����Rv�-��C��l��#"��é����$�ۅhk]U�k-玃.�J��u��u��f�d�\�n�ȿ�r�7�Q�
ޢ�١�xG恋@�ƍ���%�"��Q1st�h2
�X��"�̫�`6�;5gDcL���
�˲뵩�E�߯���}da�<�jM�ʽǃ�s�$�$��p.̣��I���ʞ�M{\W��k�S[�zە<�ۋ�+�[{
+

̾7����Fw%�]��Wu���*{4Y>��m��
2��o)j�[)���f�°�;��fC
1+� I48�3 � |g
��1|��03d�P
�)��e��
+�%S`�i@^
@�S���+��	���?��n`W�}�ˁi��� H�1`��X�j������&
F at J �/I
�1�嵏�
R	
EX^�0�� ]	�q�
_�!s� �sJscƂ����f(�o���&&
��
�̩�˨��YU�g�X��LJR��:FC�O�շp�ݟy�?�e������l#�C��[�����۝Z 0��JI�U=a�Z��������V!t�� M��am�J�ݞ��Y��������B
��o\����K{�xP�A���0�Xִc024�eȢ�!�x��u��Ey�M�F
$.�xi޸���;�b�5o:�\�֒	�( �%�����"
���G)�.~�@���P��q�
�^A�+���Ad�U�{��7p�(��Pܪy�qX/d�
�C.j��9����H�E,.��e�
:�Q�1��oT���ЈGA�FU+?�
�mI{Z��w��A*^�z/%�ٓ��`����G<Wv2��oh��P!�m����������~sQE � ͭ�}zqw�3;���wߒ��
�1���Fwn9o�\�P�C�
�
)
��I�&NHثT���5���
&A�^��
W��="�{c-�e��f��CN�<�,4
�f�E,����\sҦ}�6����J#1"��B��#��G2��
Z���{�
شM3Űf���ȼ�)I7��[���N��݃\�`��
�
+)�t�� ���7pt��
�?��e(��G|- ǖJc�.�&  K $�v�����x���G�PQ�-���[>�~�
��o<�̹
�, �6������
��i�9ч�+ 0����,���0�E�ݟ��U�Q� O�3V=LB5���J�f�+aE6
��`9�V���<~	ds�C��Z �[#U.emN�0��b%�ȏ�.�o��1��[v
!q��Jp�L	��PY� f!�z�����)��K�0�@��<��e ������(HyX���*�Qy8�<,�p��+~�����T��p�<�j���l�6�g�Z��O[��Q�k]��"���*��Z�,i�=@E��aۿ!�����HEjǃs��.S1�vC{5��΍���_���.x��O�f3�
s
��ؐ`�N
g	%
$H�Q�gX>u�G�7��_�x�z�r<�����J�gˆ�i
���$�u�d�b:��8�3?�v*I�4��
�$S�MD��(����
V5

 [...]
qf����$DB�g��@�5��v�
�\:'��D��#q1.�c��/�_���n���_pJ���Fx�<ENJY���.iz݃�h��{'���
+u�iȝ!�A�67�)yB\�Y{<hI��Ƿ {^H�����%IH��.@'|B��������}��Qv��o* ��r+Ah�My�]"K���˹uZ|:��-&��p�/��L&lw
���f|} �����2K�Q<�0
��D�<�8[H�	���.߾�pM
�VK��\c`�����\�O�D*h@��`�̩�G?X���~}�DvS�/G�fVN�R:�6�
+
f���^�:�
�T��8Wd����d^pO��6���^�!�0��xo��d�Y�Eг}�<UD�S��`g
�Q;Su8kF�l �F�����_b�.�
�
���b���h 6�����9���v
Į�)�$٤���p %��kJ$�����G�Ny�I��zָ�6PFwT�&��
+k��e?�����V�ѽ(
8A$����)��(�ն�
�0�n��~�#� �V6p0,q�@vC�.L0��/C�Q
Ƙ��
M�^���c�eg��
� Y��j{{���J�qjPҺ�6"<V�������V�;�%
 �@��v0�c�(��<���<��9ƿ��,�U���Qp&�O
��/7��JE��´h�����c���d��[M�>d~��ހ�{���j�c�;8P�P�}���#����70��P
��~���)
9����02I�����_B]
+�tt��
�F7{�o!�w��R~���c����}-��<����?�7\
+endstream
+endobj
+435 0 obj <<
+/Type /Page
+/Contents 436 0 R
+/Resources 434 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 432 0 R 433 0 R ]
+>> endobj
+432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 434.776 388.718 445.68]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+6 0 obj <<
+/D [435 0 R /XYZ 90 506.992 null]
+>> endobj
+438 0 obj <<
+/D [435 0 R /XYZ 90 472.913 null]
+>> endobj
+332 0 obj <<
+/D [435 0 R /XYZ 90 472.913 null]
+>> endobj
+439 0 obj <<
+/D [435 0 R /XYZ 90 368.11 null]
+>> endobj
+434 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R /F11 387 0 R /F24 301 0 R /F8 437 0 R /F81 426 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+443 0 obj <<
+/Length 3155      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v�8��Э��l��(Js�t�y�d�����DB�$�����6�����b�P��J�E�xw��ǛW�d�b��m����؅�l�[���߂xy�a��ӯ2еnTɓ/��49�?�\׭��v�������7oo����p1�t�myu���� ��E�Jv��3m��8�o�x���M�S���2�VQ�D>�
+/�%A��q|ZZāj���
k]𬳼\�z����}�w.��9	L�v�,y�m��5*[��a�q�
>ck�c��yKk��2
+G*�
+o ������4�7¡�Y���d��g�m�
*U�–w}�^�U̓�򷵫�]�
O���C_��5��� S�:���K͐gӝ�ߌ���B����3�q�)��G
�
[�
�����I>��a/pk���P��
�tS��M}~��/�ɐ
yޓ��(��k�65��+��k�v ��ր�0��E�JD���`nFQn��'CD�	�tntnZM ��I�r��w��5h\�	����)��f!o
�
7i>|R�vVN>�Y�:�
+�e�<uF6l�
N
 ����X �NfOT���
((X(��c �n�8Lb��r� a��V-�Tc�ɶ߃�֝
�U��.�@@3'3P?v�|J�O�&@4��!h at qa(=-F�7��4o�0�hHõoF8�
r/���p#�=�-î���	�� ~�2Hɖl	�8�=��0}ρv?�g�d��Y���kF������4�Ee���L2p*I��FU<A��;/�k�l8�mM�*��&���c$tx�4B@���Tp��
K�Wێ@�E����"�
��v�A�$���zQi��y���=p����͸R���1���7g뎡[��I��%`���S���APwR�6+G�e�ٴ'�d�LW,
�XS�Q}�����`<Gh�n����#� ����h��
+���F
��\��J=!�d��
��}���q�2�:7Fw�!�H���6+Gp�#�z�t��^)=�+�^m
f׺e%g�gK%���^R�!�������=/pR���4kW��
+�H7�P�
	ɱ^:�
h��E{{F_ ��{
�z-��.��䲖\��;Xq
3�p�����
�c�h�\�1��$�U�vy���蒶��Oox���Oo��?z`|����
�<@�WkQ�p��,�h$����&خ�Dw^�įq�H�3&� \;�
8��$:�z H�NrԦM�g%���,�k���1U�ѲE+�@��������4�U��R!�ϲS���^x
�-�8$�	9B
���l�D
jI�%T-jueP!V���Z���*���,�yI|aQ$�(`�D_5d�I8e����8�yV2�
>ҋm"JV
B��o%�QAk��z��(�W�91�l|����
ɵ"w�vT��
q
��l��*u�:��y%jc3|�mp\B����h /<
�O(9"����"�L��c'�D�p��Y'�
�!`����P�NPr���"�,q]����^J�F���iOl� h�i�֘�D�1��PM�&�.r�qf �+�
b�fB

 f1n��u�8
T�P�t`�u
�O�5К��L�aF��K�ZxS��3����y%��6_6�nh�@�E�n��G�-��{5���F����U��#Ҝ�d~�C�{ Z���w_O��N���}��]Wx�w�'I�)��(2�N�IsV��W��9��$��	���R��{)UJ8=Aw
�
.�^��N��J��/�
�I�6�t0��1K���<�x��8#� c������2�MPK�
����"%��xjj����j
+ �m
�Z��sR��gC���:J��.w��s6A4'ۀ��p{����R�И���+�N�P�2
+�\n3u^�U&��*K6s������f�:O�۫4
D���V|i<g�@�)�оq�͘�R�r{�L�E�v�e_�.Q��-*��CJ斕|�uY~߆��awP/�Cc
A,)dɄ��D���0S�c&�`�̨[0�UV\Nm�H@�&��)�O��;�Գ�PD�oϵW��"H���L�#�t�͠��?���6z,,ÝĚ�맜PD͹�Н���5��ɽ�
�	�Ǫi� fH��|7�
W���w���0
��mn�4/el�\�
^�-�j��3�d����@�-��bw�%Qa�*��I�uo:��dD�**��!#T�g��3�9Z��U���݈ӄzBb��9��nO�
U�|A���S�	��[��O=&�/
*
$��є�xD߁u�2<	-N��L�|N�H$��N��5;Հ�u��Pť��Ë��DM�}�q8���E�wb���$�h
:r�.�sR�
�d_b�=��z�dG��'���pA�
 J	p��)R9�^�N[� M�@c?�N�#�$�����c˽S�A�{mi)u�[���&���l��T)�
'�ș��"Һ��r�]��N �و��t5
IC�"��ڱ�#t5p�"���1�$�*K�SI����
��8�M
[�(�?�v�:P
+�
ka.�
�����pb�<�� ���Ig��9uf��S���n��n�`��,MG2׊��`yF5�M��t����]U����َz�N�j
+����-�dC��;ȋ���2����Pk�Ysu�R���E�S��"
+nQ�o*[jk�@�`�P��b<{7�� ��C�m1DeN��$c�H\|�A�ZK����Z�C� V���

�
(�K%`�dV�4 (U}��Q;�j���	7���
η��͏��r�ʺ����>��J
I��\���4�ub[�qU�@?����7
+�[��߷�KR������~��+ ��P_E�
+�e����A.{�
-͢$���r�O�ԂF���BQ`��1E�l(O0=&�g(�X �`��S  �*�v��U���\-e����G�E�
�cu�踁�uy�hd[�C'�+��5 �N��]��������
��8���)p�K�Y�d+�K��V)�6Ὸ��{���rE�xv
Q��W�?-��)�Tu�z�(�m�h��[���<����p���k�
��vϏa��?u���^��#D��
+B��@5
βU�����G�ʎ�	�������z�SW�M���bleYL;�1-��xu_%�7d2���� ��M�
+endstream
+endobj
+442 0 obj <<
+/Type /Page
+/Contents 443 0 R
+/Resources 441 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 440 0 R ]
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+444 0 obj <<
+/D [442 0 R /XYZ 90 526.464 null]
+>> endobj
+445 0 obj <<
+/D [442 0 R /XYZ 90 502.04 null]
+>> endobj
+446 0 obj <<
+/D [442 0 R /XYZ 90 177.996 null]
+>> endobj
+441 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+450 0 obj <<
+/Length 3245      
+/Filter /FlateDecode
+>>
+stream
+xڕɖ�6��_�����2	p�&'lj3N<�g�g���9P$$!��{��6pQ���� �B�v�N�`��ͷ�7�ަ�j��'*Y�W�`�F�m���X���6������n��C�7��|����w8w���͟7!L�����t�ʫ��~V�\[�߭
hQ�����\����&�R�\S��0�3���Ԧ�^nnU����N����~B
kg�ϛ0^��M]>�L�pk��P��a`s�Eg�y؄ m?1��vg�w�c�?�?���s⒵��#mu)M�##��[��>���w
\)k�V�d���L{D�
)ڥ�#a������
�j
d�mj���粍
+֟7
+xfK�:Lm0�7��?�6|��5}��'�)FJ���6
+���
���f~,�l����CZi:@;8
��^���Qr��dMe�M����Z�d�T�y�� ��J�D��!��'d�ikS
+�[
���Gי�&���ps�mj�-����
T��br�1T���bZ�G}�i:�)f�
­E�q_ͭ��ڍg0�H��i��Q]}��UQkVEE��d�-� A�
9����6E������'���8��%]����w����E����3�\Ύ�J��em�
�M�����{b�ޓ��i��8v�
�
)+*��`��q3��Hš
ȅ���{+��hIܰ,�yJ��m��)�r����dj��rI�l�:@�m*
�)����ib/�K����D]a%���\���b���i9O��VMa��W{'RG"m��=�
������
x.��6�A�
�^���h��mg�ۢ�����B
M�e�
H��:�ECn^�1]Ɵ"
O��M
�3A��`���{{h���Xs�Zy{���@p�4�[�!;�������x��ck�Fwj���r1{��Z�06�5J����+���mPkY$A�YLxf,�����x��`�D�,f0t.YK=%13|3Q�i�~�r�P��f�(H��k
�Ewޜ�/�t~4�� *
r���R��@�~G�\�[��bIT�A���� �e��	���SZR�qA<�%� z"wvʞ�k
�
p�uVٜ���
�d����,F#�O��tL�
�9��h%g�
�۞jV,�� m͟�mQl:K�Y;A���<A���E�e��N��p-NShJ��
-�y�n�=#A�{�NY"�HBKL�x�z+Ӥ��wq0Q�����Ja�V�!y}���`gpF8�8���$΁}���99z�d2>n����\vl��{|�#��կ�@|�/��/m��qH
+�
����m�c�$��:��$�pY�$��`�b|I`��$v��%w�j�;���bΪ��f�J��a�"�0�u��	Ny�\�K ���ZT�5�	H˞��d�&�
�+
�� L�$��{osS��€}�|_(,L$S�c������H��T}��[�������Q�As��%�L(T�V~���$�?
S�u
��b��;���RȦ:��
T����ĉ
�DlGn	w�@�U-Y8,{��ɾ.me�����Q�[�E8��k�~���*N	��S�| 7}w�;�Ķ�P at X�% 8cXά�셱��3֬�{��T�_�IQ����+��E,_x��P(����
S���m'=�j�F��]�Q��!����z
����	ײo���j��)N
��z�
!�Gn9�[Y�o�g��+��qKT4�����0&̵ �srGs�P��ڇ
X��7
+�݄ȃ
�1(zF��
�1|Bf�Iy���V��
+���r�y;^�c����~�I�I3#���
!�5���+�t��l8V�e
Lg�i�i�$���"Y�YB�%]Քa����ݔu��Y��%�~����Cz�xR
#淔��
;�)��3�%�:bm`�>s"��[��x��XF�H ��|��:��!#p�0�L�"q������&�Z� �8��,��sjlK��OQ�Iӣ��k
D#��k㈔�Ñf
+��rCЗ�:�^5��K�LsV �_���^�9�UX��o�`��R�wp���^]�O�M,\�3q2y��`b���F)�2Qizrh۟$�R�c ��� N|e<�T
J�$����wB_�p�^�
+)�R�'���`�Yy$�$J'+
+H�syOE�$
Q��$[�� �t�
�fg{����
z*�	��1k�
�����qB�b1a"+�'z�����I%b%*���g�;ۋ䒬�Ѓ���7�h%��3C�p�8�enۼ� ?�s�W�
�U��J�7P1����	b)���
+09�
L)O'�P��}B5]�����i�h�]P�K
+0�7�y��0�
g��|�NJ{um�.k�h�u)��	Ӓ�h����پ��ox*A�X�<~oN$q������[+
��;{��
D�kƾ��>Ct��_��GB��
�O�Q<-5���躰{0��T~1WTt��HzBk(�=_�a��)�ɹn��oAU&s}+�=�Mb'.�[K
+�>�YP�c_RA��؁�5@�8S���&�A)f��2%�i�C�s�c.t~}���]%Y��5Y�(��Bڍ�l @p�
hXu�'��}��I,�/�
o�2kg�ܘ����
��Z��lǒ;�����\!�`I��<�׳�H����DG�����Y=V�.�gs}�j�����J��鋘{�
8{R�V\�=.!�▙B.��3e�iL�����N>�
�L�E���p�`$�	SI��̶�:)3�#
/K�X�
�����)���K�-a�d�_#3_x�*Ba]^f�z"3E�	�����e,�iL��$
�ڄ܉�B�sB�3r���U� ��y௔v�9�_5��ux��:�(��n�V�c��<��0BF���^�?�G�s_�����U��xI<�4���`�y
B���M{ I�zC��_	G�JŊ�P�Y�,��G�Jɾ���G�E�x("
b�X�SC�N���'�1V1s3sF���R	�h:o
+�W�b�
+y�ޭB9R�T��ؼozǹ�X�A���v��x.�����N
+��d��c� %��'xx�u�@�'�#�pՂ%s�)0�
� ���Q$j�*�����l��m��?`�	J�i�hrڧI�G ��Uz�]�Ft���vD����l��ޡ��&#�H���{��8�Ɛ�Y}곓,����0��
�mQ���(�s�m��>1�<w�w�*�����yQ�+�������u���zu�O�ԧ-<p�Z�9M�A��Cٻj��7ֳ��n���tV�C
+endstream
+endobj
+449 0 obj <<
+/Type /Page
+/Contents 450 0 R
+/Resources 448 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 447 0 R ]
+>> endobj
+447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+451 0 obj <<
+/D [449 0 R /XYZ 90 475.892 null]
+>> endobj
+452 0 obj <<
+/D [449 0 R /XYZ 90 250.667 null]
+>> endobj
+453 0 obj <<
+/D [449 0 R /XYZ 90 104.904 null]
+>> endobj
+448 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+457 0 obj <<
+/Length 2897      
+/Filter /FlateDecode
+>>
+stream
+xڭZK�۸�ϯ�-�*�L�����ɺ�x]Nٛ�����H�)R&)����kt|
����2�G�?��o���n�����|�'*�|����&��m����|��흊}���_���5w�]vuUr�MU���dY�y��o^����͗� [������i�)O7�7{�_o�m�g��t�D*�o�y��z�dy� ���q�0���
p��;�P
Us��p,۪��
�:E��F��m{W�`sw�ݩ���V��W��R���=7�FHe�vB{����I�C�
+K*��s}%uA�;H��1�5�`�Xs�l��G��{�o����U3��mV�2�i�k�^7�������@[]W4�Uve%a�0��t�N�չ�� ;��gZ�<��"��Mp��nɌ�dMR�b��k]qںe�m�d��س�����+5b�<�m�y�Nlꜻ�z�1�>����Ey�U���HFG��ݿ��#�j����3
*Ū���q����{-��/�s�
�#΍���s���Hk|~R��6��P
�~^"�`wX4��Q���]y/�j���*�&�ʼ_�}�����߷���6:D�_�
H�I=��$�!��U�M��e�mXUh����I�(e-��g&��

M���W�!^�L����ID+
Ri/�-�]�/�pV��w��{T�#�;��(v跇:K	�
ܺ4{�-BD2�l���g����ξV&��Ƌ�b�4�ط�:i=XZ=_
[��h;2Z�af�M�l�0�Y󭟤,�'��9�ǻ����8��>X�&Ƥ�\z9L�0�:�NU�\�]��lyxB���{ѯ�G*��"J��5gGEeE����;�q�`����e߱�a���a�Od'2�N-���٩;VLKc��Ҙ���_a#I8F�*��S�%���̖PmB%?ζQ��}yt	�&l�T�r�
�袠�H5QAUϔN�T�>�u��
&
��Xp*���L�
k��Ȯģ-�3�%cn������{
^����4�e��A�G�e�
T9�h=��6K��g��
�m�eȪܬT	ߛ��Lf���v�0Cٞ�L�^�xn���<��}Ϛ�N�-�bRGQ
��~h��ɹ��xVA��"e�!�WrLAf�A�?��2�*�]-+���N*<{�Z��5�FI֤���6'�o�q [...]
+��I�%~G��Ӓa'܅�jx�[�z7�����x���l0�㺢D̬��@7pX��s�����4

�٢_.��
����z�)WB�DV�KVP���kR�4��	vE�N�,5��q�V-˽Q-)6
-�U��Д}՟k�@���4̪���kfy˩�GZ1��ǃtd�gO���|{]q(
_$ꪀn��e�2u��-S��P�	G��p�>�XD8�+T�/
ӝ
V����
�1	b\a
f��o-��[
!��O�P�'����sU��"ɦ�b�K�ұ��3
�R"͕p��ѲX#3+���SK'K߉Bd����8Ѡ�����rئ�}�b�t���h�����B(��.��].ģ�IF
S{�'��g37�N` ��/YV�����q�D1�q��.u�
����c��������7ZA=���2M[_N�e�u��~h��`�:&›�������I�
]6B_y� �E�B���Oq8L
+̠	���~����	�5� խ�v����	�J���q`;�Vn\���II�o]�*�м��B�ɕ��晉Pm�*����љ� d��D���Ʊ׻�t��i�Cr�J0kȀ��	
�2�/�J�?�b*�@�'��WMY_���?�(~QY���rvC�!+,�ʣ\2i\"�ť�Q���{r�&*/Ng��j�
�G7FӋ3��r����o��n��3B���? :��Ch.��a�x�j�%�p��C6�hw���~a���=Z�
+��E�U
h��J��=_��p����-/��_��"Գfi�
���
���}*s%��HG���N{��4����t)4wR������s���4���1㧾{�~Ǝjb Tsk1
7A�c\A����
+�'�<�	4
-����9�#�T�JV���\N։
N�$���h������ΏP�,N�W�LX�Dzjޣ��B�rBb>�j_R�,>b�q�s�����c�L�tw���eLA	�������:�s���Ã%Pk{B�w���&)�+�Ѿ��5U2���h�O���u	��KcM
]B9��͕+�S�P�`��i��K��.!��<�]���3�@F�]'7}�����+��r��v��٘�m��&7�@�S��c���~��h�[A����J���0>X�yo��x��݄�HQ��ʳ#:��ý��0~(�C��0{m�
�\J}u�|��� �Z���E�v�I�=kE0[drOWR�V�&�xn��P�|� ך�t�V�%x��E��,>]|�R��2�3�5G���Ƚ���s%�b( �w�
��y�yp�t�;�y�Ӌr�-�����
+��E����i�Nٲ�������x�_�T۾m��e�~����R�9:�p��na O_f/�d��O�6hɕ���&��'�{��eS���x�
&���=����S�}�`>�y@�u���~�5;Q�T���5�~�N�y
+�_��t�߈�>l�{����I�V�7�
_��{5}�`ү�]W���h.�s=@�ݷ�`�M����^k�������
+���,��
+C���a8�����r�us�"�?F���4�
+�\W{ŏM�%�3����W�zd�m�(�<��
�~���pL�f�N��W�p�6��࿬D��
+endstream
+endobj
+456 0 obj <<
+/Type /Page
+/Contents 457 0 R
+/Resources 455 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 454 0 R ]
+>> endobj
+454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+458 0 obj <<
+/D [456 0 R /XYZ 89 770.89 null]
+>> endobj
+459 0 obj <<
+/D [456 0 R /XYZ 90 613.875 null]
+>> endobj
+460 0 obj <<
+/D [456 0 R /XYZ 90 263.466 null]
+>> endobj
+455 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+464 0 obj <<
+/Length 3509      
+/Filter /FlateDecode
+>>
+stream
+xڥɒ��>_�[��=�Kn�c�����
R�	��G�2Az<����p�R��6�F�w0�=���w�?޽�*v�̢l�xޕ�.O�c��S��e�
~{�fg�1,3XC�/~�����¹�/�~�
a*؅�<=�Ů����[����.8�e�{&��.�b�ow?���.N����(
�c�<
�a�
�E)��.������5H��CT��/���?a�����b�tus���M=��q���h����a�E�?�KW#OV}-��f��H٩�!
�-�P)f*�C3��s���Y��3�6��(p�<����:��d���Q�)�c����ƺ'�/��O�4T�xx��r�xipoy�W�N�, �
�����q�Y׼�����J��� E �����z�C��l���%\��4g�D���K?�t�N*�W3�w0�À�
��T�Hu�����a�̩���5�����^�9;���R�
�)�a���ʚ�2�M�D8mv�q�z4�:i��� [...]
�
��@���<����KQq��$l
�# �CՀ��F�ϸy"��G
��#x%
+YQ�X����IX����t2Ҭ#��{�T��50g�C:�4�}B-�L1wƘ�/���
�T��#Í
X�g�,f���;{�v�����ɺT���w��5VY�`�{;��
�7=�� m
1�K�U1|�4�g��0�Hȡ5Zr���h�i� ߊUv�Ϥ�U�6#ģ���z1����|�ચnTh
�T���5h�3��
y�?G|b�C(
�:V
�|���A�v��Au����0�݈���T����z:����e��K@�!��ta�8C���D�[-�_���(2%r�9�d���m���
H�g,ݙi�4����o��D��yӪS+:zv�$xl�>��
}����󋋇FۀI��.���Q�ә�'2�Ɉ��DFk�W���Ƽ~P��6�
$A��f\��By�*/d�kIK��Z�FF$�����e�����5�kp���
9ϗ�|Ҳ<�# �P":��x�
8��go(]%\���
����'?u��b�R��Tan�X9��.w���a4x/�Jd�/w�N�����9�{�
�	͊9aS�E���ک�B�\e!�O
džP����bF}���iP�KCŞdԋ�ڈ�t�+/1�^���џJEE?�����E�,��D�6tv��a���0���r�Q{\a [...]
���$�i�#�Q0�؆#�42��6�>M��!qZ��:e�6�]W5 �q3��@�ҷB�6
7�7��B�D�a��Diʌ ��`ˉ]f
ݳ�.�u�:���.���1�r�Fy�l��n[x'f��U�Wk(��M'��N�L��rjB�xs���z�(Ȇ�~:���9�ϴ�58���8ȱ`�[Wb�AA��3|"�����E��
6�_EIpR���a�p�av�TS�<�2(6�<D�:�R(^Q��K�("���j2����L�#�8��QA��Ǘ[S����"Œ�z���	�
M�eE}��Ze�r�;�E�*�YR�LȌj�ޚ\H"Il%�K�
�H�*���
�<ĵ�
~�PՈ
�p��.q��Q����#B����*
�����
/,Hұ��v>�J�y�!��<�L�
�a+�
%���"PT�S�J�r���Adž#z��{!�
�����88�~�r�]�=x
c�g�r�&=��
����4W� �}\>��,�R���	.��;����v��!��x�(��bG �m��Z
(��0f��	�6R!��T/}MBI��*]C^n [...]
+���Z�	�Y��@��[�S��
�=���.�P�
���c������J���;��(M&�l�tb[k1L�+��ldl�I�[Ft�:J���D��-
a��n�3�kb���#!�s�
�2�*���W7:r�ΐ������&���IWj2+�*������։'�tU��ٰMn虜��n��
�~���.���-�t�<0{�r

+W��˻�
����W Q at 6�=e���x"���gQr}�avK��
�,�X��o���W�D��)�0
�
�P�qC	b�d�8O�&l0�B��h?4O�Ha�kY
YNC�1�����o�sBUJ�-�?P�a_�9p-HY�I-���
�f|�#wi�㒓��L��9i��t�J��t�%$%��t��b���E��;P��k�G'�.��I!��9!�uL�rC
p�%J�H��tJ���$/�
��Mu
�'^x�
�*JR��\$zO(�>�F���J�ǃ�-S\�H�ndD k�2�*H�g@+2G�l�j���2hl(���'u�~%5�KV�ċ��].N�;���w
	�n��E l��=�-�dl�Mu���<:�O�h���3�>A£��v��ߡ�m�V�s��|Ri���F&V
+ (�12�g��Y��&C�'�i��ۜlX�4�y
�W�r�Bǹ�R����V��9έ��m���
湍`��`���{K�;%Z𲸮�B��
ڽ�R���fǖ����K~��X��@2�|g��l�w&	@��}d����xer(K)[_�d|�!�{��b����
���	RA���n�<e
+B�u��CiP��O�9�gJI�Z�
�!ݛ�w���|��a
��oYi���Z��a|]�}շf�Jǒk�J�I����VL���8ZZ��__���
<�p3x�sA����3ijp$�w�ﹾ��t{)�c��
ѭ!�����[wbe!ץ��N�y�
}
I�
�F����j������r�S�
��SG|�aķ�@_G��q�<��
�q,=�V��\q;�	�trm��ׯ���jsO����Q�zy��U�+�����>���۷����g�t|r5sM{����w�*B�C�c

��=�G칂�����,h��!)�F��
�Շ3��㤜��C =�X�a�'�2���3�؀&wF��-0�h���S���
+/Z��[�)�L��^Z~��V2{K�orW����׾�+piPF�d
rfի8�О�&6g�r!D�D�$l{�dA �+p0��8������J,�
��iPW��f,�Ozq`�O���G���锷0ɏiI�\�:�y
Ѥ?�I�F ��_���z 6�{ z3A�AVv,���&�R?�����x�/�2�{����zO2_x
��_X��w������Yu&�}x
89Á4_[��V>���
�r�[(Aґ���2����{w���S�X�v5/��c��v����|������C�ȭ
+endstream
+endobj
+463 0 obj <<
+/Type /Page
+/Contents 464 0 R
+/Resources 462 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 430 0 R
+/Annots [ 461 0 R ]
+>> endobj
+461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+465 0 obj <<
+/D [463 0 R /XYZ 89 770.89 null]
+>> endobj
+466 0 obj <<
+/D [463 0 R /XYZ 90 106.966 null]
+>> endobj
+462 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+470 0 obj <<
+/Length 3134      
+/Filter /FlateDecode
+>>
+stream
+xڭɒ���_�[�*���(٧I9q�]�x\�����Z(S�
R�t�>o%@�3�����}a���U�����
���NW��~�oW��}���������1�׏y�&_}��
lg�iy���Ժ���\c���d�+wI����7����CW�����6�n՜~�9]
 ��*���ꅐΫ2/�]}��4~����Y��2~����M̀�u2����a�ɮ�*y��-�]״׃�t��tC���p�K�^�e;
���v�^cƀ�“��:�m�W�i�\x��
���4O�`�����U�AV#
��}U1�_o�&�pp��;	�/֟�0 I����W^�;
%�m�(kr
�����ٛ3�^��R6�r6rړl��I�
�@$z�J�%
E/�K�4O��9l�ۊ:�� ���8�o��!ٸ��#�~�?�w�.�>��an�M��"�š�ȅ�$���yَl�M�["��� �z��e�_'�!{�䵿� O��[���[4
�4�e��
�If�ňd��/���_P�x
_T��h� [...]
�_&?�U�6�	D��D��
+������8�0�e=cy��4��k�<�G#~�� ��%�ɭlˤ�~4<a��
!5@ IA����
d�D<�h̀�*K���veL&
0/�id��?l�^ B����zgZ����}d̀F�@��_�������H�E��5'
N�
��*
B�1
�
r;F/��
���
V*�O#����]?�����{�=�6R;�� 
+|J]%p��2Z=�D�z=v�
`�4Ϙn��p೉��{�0f�.��
+� ��
�g��������U�x�8�N}
|q
u��e��!�Ž=Kd����9n��!P7@ў�)�Д`�m7e�[��n�=�S�Ws�+�]F�Z���ָ3� �G��F��
+���5Nx�3O�u�T'`���GH7�g��SjF���`�Q��N�J̭;`+�8�Q�
�nSn�sI
+����dF����o���4��TrU�O;ɯ�N�Ta���
�g?�"�Jb�
۸��4g�*�1�܎$4U҆p�2F׏@���l�h'��8z'I��
0�ܬ�W������F��z�w7�L�+�#S� ����r�����0�
� 	5*����{R�D���-�.
Qj,�J�S*�Xݳ�[dF��0ɤ�@(���!L�ONj���pU���J�I��_���l�\����Uxo&IE*A��3�?sCo�^�{������
�$����n
+�������_��޸�ΜoA-9�~r�r
�ҝ��s������2�*��6��=�p�F�5�s�!E���Z �7K�-}h¼A|�V!
 C�<��<$�PY�c �
w��}L3i�`�G���=8�ɂp��sG�ӈ/E0������|�#�5�(�Ψԡݔ����˩��}�1艟`�d���b��<M� �n\��S��*3�x*:�W3^�p3
��e�ݟ�B�K}�i{�.�����b!'�Ϝe6p�`�[/$_������ :�3���y&Ѝ�r��S�Ǽ���Z�
�v�m)uLC>
+N��
%�]c�����KP�,
��� }�;H��ݣZǫw@��x��
,�
E�o�շ�޳5�j�<56��%�K2�t�bW��Т?��{*�JN
~%��"����:� �̽�
�|�5d-��K �[
�p����,�7�t �d�}"�
�8	��(	Ρh{��b+9 @!2@� 0>dB	���9N֡�C����K��x�K�
��ݐ �͕��R{
p�ؼ(��R�E�ƀ�	�	��8�>o�^���:��{�6�H����`(֊J�$E)}��򬐸�_��X+�)?�Y�C�%

�,1��4ĉ���S�s�<L���B��g�>T��
��`����@���B�=��EyH�fR���KRZ,�I۴��g���Y�M&�sFJ��{id3idRM �4M��--+�*�J�6�j��G�����s�e>T��

+�j�]"J�`y课
��-�.p��n��ђ:��K33'�
—|�Q�$�`\�u����W�,��=`
y@���u���r�zt,�EA-W?���6���/J��C���⮵�3z��}TR,f�G��
�����AG��>�*D<�O�YP�0�8�!$�X1k�q{&�:��YL�F%
lh,g
_�d��i��3L]2�N�s%���!� �!�ş�
��u�E�^��<Y%��p
�ú�%(��2��,#��|�RbS�Ҹ	]�"��3]�sA醊��2��|��3���/#�G��I�90ñ�
�����}"D�G���<�e]&o?�hЃ3ޛ����82�R2Y ��%D�S[�L9� 9(r�"{w at M.s�'K��A�bI�e�̯m�Q&/�o �0Uje�xSf��.v�X���H�&w2/,k�8�b
��T*��O���������
�_N��V�4O�
K�E��7����<"
�e�8*�4
�䦱�>QJ���o�o��m+��!J)J
+��)�Z�(r#�go��)�k����ycAܘ]��0�;o!�)�
+���)��Y/�t�?�YB�p 'q
��dFG���%,�oÚ���Ŵ�����<���x�*��K�Z,ڦ�z�d<H��31��L�mZ���Vs�U���Ú��Gr��
d[Ͽ� a�9A!��p�.V�>�m`����XL��\����]����v
�
�)�|k
����nS,�Hp	!�,�fZ�!�Lg���[~�i�'z��� ��F_�3i1�Q<�����X����N?J�$ݩ��gƜ���e�q�WH*h%�TE �f��H��0������!�]�t_�"T�/y|
\o��b�o����d��\����b'�\Q֛
+�T�޿ǃo��y��ޙ��j��kp�-����Z�w�k�������uoR�����{k�d�󗕎�����G��v{ ?�%z�i
/��y�t}
,T
��]b6��&�f�w�˞{o�
�I_�� ��U�m��\���2�4��0�1-�F���\���A&�__�����
+endstream
+endobj
+469 0 obj <<
+/Type /Page
+/Contents 470 0 R
+/Resources 468 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 467 0 R ]
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+471 0 obj <<
+/D [469 0 R /XYZ 89 770.89 null]
+>> endobj
+472 0 obj <<
+/D [469 0 R /XYZ 90 201.906 null]
+>> endobj
+468 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+477 0 obj <<
+/Length 3135      
+/Filter /FlateDecode
+>>
+stream
+xڝZI������-�{�� E2���q
��ty
��B�"5\�n����8v&'�B(�Z�x�7��������E��v�>�o
��*�Y����;l~�����mԾ�%�
�������p���w	
ś��绢��统~�7 ��w�*7��t�d��o�yw���8���z'I�K^��5z�]��O�2��
Ov����6�`��>��c�sG��$�^��M��? G”cߝ�0=r��.���ۧ��N]s0�6��W@(s{��*z�&�5��I��ն/�u�;���T
o��U��q�ϕǑ>���&,$����^F�.�ˋB��FP���-v�4c��"�L���U&�̝|�йnO�6 
N�Y4�z�茐ae�5
�EY��-
��
g�E��u2�O
7Nz���/xy�����4�a�9�X�:�28X�_w
l�uc��
rBl�	�%�����U�=�9+2�;Eʣ1�Ht�8p���+l\�C��
��5S�m���f��C��'��㋘C�ʬ4�b��̝�R���&��A��u�m�V7�s��,�
���d{w�.��}��x�e�o8�Jwq^�)�
��4zS��2���2��������Q��;�Yh���Vo��Z���/�d0W����Ne��o 	�A�H�3V*�+J��
j�5�Uhl8��@�,�eb׳��o��d���5�� I��<H7�����g4ּ�޴�mݯ�ӥ�.�i
������	-ݺ�
���@t�ɜ]
`ד�qp�Ӽ���i^(��d�Fi���O�P������61��n��
�OP�ʋ�5�B��!�ސ���c۷�Y—r��Q�$A��L�o;`�5�_ w BNl���6�N�w0�[�9#i�T��:��g�v�'��4M���ix��G�y$ѹ;0(@{����=#��g<k
G'C�K���bf���_�����m�<�h��l���{��rFю�V�
7��'�������tU���
�:�Ud�=��c��;f�
l�jU����C��rg��
k�� �
��g���-��676v�϶f��<&����e�X�

�7�젵���`y���_���R�	Z��ׄ$x��$�E��!]��k��Ɂ��8p��mOD�s� ��qq�b���1p��/�
-8�f��xn�����6"�g���E�G�=WWo���BK

N��"������1'^�	�f��'E�r�r�p[f��
���a��+�2-
�l`zuw�4V���.�8����9B�γ
O�Ch~�+A� [...]
+
e�D'�A�݀'�t4�� 
���w
wȻ$�s��B����C�+�
�n �+ؖ���%R���Ú���|K`���
�l�� *�h;ľ��t�t�2�,~�ʔ�P�)*�%�}:M�
jf�<�}:��z�f\E.4'�W��{̒�P�{�C�ql�|�-,'2�bl���_t���P&�D�
t���
+�i�O�\9��	�l����Y�*啖�� !Xp&sV��m�G2���=
C'r):��BXm���'}��a�75BzZF�圼����=��v��)agB�ˉ@����&f
W��ql2&t�\,�U��J�/���
�ށ��exɟU���sȰT�V�'ّ�Άb�p҂Y�%�2PkI`�̸���е��戚8��/��,Rȟ^��IgP�$
>8�8��s���.�BJ�.R����l��u"�2�tN[�M�&'5��<4
�}
��ٍ9S��6�� �}��3��;��c*U�2o�9}�9Ӛ��8���j1NH���e�GBu�vNy��4C����Re��L9M����-M�$8��tﴁ&�b�����s>76$���-x ��p�цxN7�Ƕ��I�
+�4�
��}�h{fB'�����G�8<s-�Ѩ��a��T�R����$�(U�J�cs2��o%��+��5�|�p���:�@}�q(e�Ԯ��4�<��+3��W)�1h2+��PO!�jn!/Wr�%�G"��碆����������8��Y����Q�D��}�l���&,G���I��:#�`�0ِ}O�F�
0M���~%-]Q
G���κ$����yؘ�Z�
�[
+�

l����OW ��(o>��
0
J(G��0
��a)G�]�׹o
ZQ?H�0H
�
cR�I�8D�1�X�D�`U����75�}c��j`���[n��Պ��C�k���U�}|��%U��K
+������at
��"�ڗ�
4�x�j�L����2�\n�C�>�H�Re��;
�Y���ȠH*����P�˧kj_�M�;2�#
RC�
�Xܱ��1$#B����$�_v����#�,���r��W��V��ګ���l�lWIَ󮼺.ەR����$��C��Eay��5�h�Ln!��c�h�
������0��@J
+͒�v��
��(��P�h��h���y�=+$Cn�$��4w�����[J
�^-��C8..~���4;
2)U��QJ�E����I)�j�9
A�A��ksx��a�u�aI>
Pjܰ���r��v���k�э�EJ�5�>�VRT+1��B/�tj€�T�>��)
P@���9��E�R=.])W�u֐{Q
+��puq{�����:��h��n
��
0R��
6}ZH完
7��-�W }�WyW)�

+��9�I���+d_���mȺ�KO���3�3�e��Jy}��
L��/kT��L%g���\���?�v��1�0ѫ������ }��E�ݭD�*�1~g)��,(<g�;�����w{�[&����D<�|�ȣ&1~��(�
�%���E
H؈��������"����C��K]a)g��g�4?@���<>���9}>�-��w�����W*G?�
�|z]��Cָ�¯�˰OwE����2�b�W�'���(�IQ�4�i����g���a��{�w?
t����B��,$e��[������s�;��Z�F�%�}��0��T񈗦�F�5�E �7�N�_|:�����[^
�3F��G��O�W��I�8B�N�LN�x���׏������6Y�'�.�'n������r�fr����
�^��
+endstream
+endobj
+476 0 obj <<
+/Type /Page
+/Contents 477 0 R
+/Resources 475 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 474 0 R ]
+>> endobj
+474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+478 0 obj <<
+/D [476 0 R /XYZ 89 770.89 null]
+>> endobj
+479 0 obj <<
+/D [476 0 R /XYZ 90 616.675 null]
+>> endobj
+480 0 obj <<
+/D [476 0 R /XYZ 90 500.492 null]
+>> endobj
+481 0 obj <<
+/D [476 0 R /XYZ 90 279.391 null]
+>> endobj
+475 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+485 0 obj <<
+/Length 3359      
+/Filter /FlateDecode
+>>
+stream
+xڝɲ۸���B���l=�ss��Y�ĞT��s�HHB��
�yQ�>���
_��\D��h���!w���w����6�w�!OT��|���.��C�@�����k�޻�~��n�-j�|
��)���)u�k�dY�y����
�����C K���ILJ4ە��/���
+�v�!̳�!5�H��w�
���/w���2A��|ڿ�Ȼu#6B���}�{��������a<ju�s����u��+�Ʊ����*��L{�o�au}�.Ӏf��w-�
�YDڊ��Es�/����vm%�B�S7�R���8
,�q�<�l?�����3=C�n�F�W�8l�0uq�e֩�<�hI
]+C�߲�"��>�=�y�z'��;	ҥ�� ����x`l+m��Em�~=����0�V.�ϗ-�Q�~�]I��$�d���k���N����)�<B�u�IY]T�����}o&��.�
�������f8<�S��Q��/~��p�,�^3�f��;}PY<����{�~���&ب�#b�q����
+k��|G��Wk���
+�?���ĽN�t�H�.��as<�L۵y��X��sQ̊��DtA���
��ra�*J����
�?�
+�dZ��)�V�B�
z��
�<�
������h�n G�D\
+�2�5x�X;�!��_X�r<����]O�1:��ާ�P���4W�{:�>e�����~���O�h� Rc�K������
;@�rɳC�y���{�"=J��/ŀO��F�)w��9q
��A�DT7�?w�lI4�y�8[=����[�c;X��pE�\�Xy�w{��=�n7�g�g�x��l��L��Q���ݖr%�c]9��5b��GΚ��4���`�͑� �X�=���|R��ix���p��`�NU ؃N� �M
ߣ��^� V�jS
��C�b����)�yۏ�$�ؔd�6j샞��

�`���H��
�A3h ��
l��9��FN�'��y���A�b�N����Z���� K
o[��r�
��-�EK���A�(؄
���D�����b0e˂�Y
�9%% ��
p�� �4�[
�s�3vº����0!l�/Ų綐�l�S1�Κ��m�dH
�.�dy�8OX
+��Dݮ2�#�A��f‡��W�o4���S��DN�:t��c�h!���̙�E4~rxq�p�0�.r`ؤ�� ��) �5ys�c�daq�����B
-��! .NWn����Ǣwӝ��aӤ�p�4��ZH( ư��5�i���7�[�sb
3p����tQڲ
+�P��#���
[��&z=Vr)(y�
��b�����|0<�4t��ЄU*�	 :�$G�
z!Z

��
�j_�D�MTG\�e�f��B
+A at r���dx6	Q�D<lo�YI�U��(�\
+������a��7n�Qac�FSrV<|�� \�(`�> ��anf�dY2
i
���4�}8�����Q�
�	-�~[7���yD �I0�����5�'��hߝ��̠� �N�0�t1兛�54��+��z��M��%}\��
6�܆��|hL�g�>�*�:C+���	^L��=
y!�O�L"����-�Mg
���DJD��k']S���M:�O��
֧K'�97��

%�A�����1S�[)�N�k�RD�)�� X{B��.4\�А.@�\4瘼�);�8aQ�
ҕx�6G��E�l+b䫈�o
��;��+�.���˺[�)*Y�e�[�8R:T���s4��Q�~Ѕ;lSXS˲x�ت$�n�1�l���H��h��� B5��Ma�v߲k�p�F=�{��v(�f�Ҋ�R
��[>c[���ҀAh�[�u���Ni�2��hm�q���_�'��E��+���ɢ*�%+E��� ���a|>/Oa�QCk.!���]8�	���2::�2�]�mwB5��0AgO �Ms��J����R$�f�O8.
���]ٚI���9�1 �'�D}tפ��������yE�r���3��8
d�	�,t�Ҳ�>�

�f���
+|��!�E�u�۠�ӂ�ʼO��ZV�h���$� ����j]u��(�ۻ�-���x�E�6���]os\�8��2N��.ue^h�x�h)�:
�7ځ��ŝ����tx�m���v#�4���d{p��L90�
�c�����@�g�s̐�4�U
9����5W9�rC�Q��߼4�mq���fY����n���|�
�����F
P��f��
�߃��OB�7�XE�����IF�?���!�����%
�F��s0U��ٓвm���uoe{r�V2��V��'�I	Z�{Xn�
��TE�e���n���-�*���<����}�-2����E�	��
�1-����էi�*�J�����
���
�\�a��`rP׺
x�`���F]ԜcfR��"{���$¹Kp
I�%sL�dp�Ͷ�\m�!�/�⺶�-R�B:r�@��\��W�
�aJJy���'N;+7��%��oS�;�>:
+��Z}��?`���LF��b�����رH~GT��~&��K��ܕ�J�7��>�W�W�
��q<�8�
�lL�x�'|@>����mH�O�E�O��PG����%r1K���$^8h����<+�"x���3):�����e���ģ�{�jsϳ��l}q�͝�3����ݰd1�L7��-!�@�(|r
>@ys�d�m'��Agz�͖Ͼ0 �h�NF{t�\��.�b�=�CE�t}tV4���"B���>~�GDfzX�H|�3����b=�N
�ST\�<��
�

�&b��&�
+�'�2w�
"�#�l�&�J,J-�Z�h�I�:$��=a���ӆ��i��t�ЙN;X���.��o�A��U
!ږ���x�q�xN���W�`���q�Jb\��I{�
/��hi�L�]b�����D8��O�i.8:
�W�B��W.��X���5�+��yH)5���iQ%�1r�`��0�(�@tz.�/
��,��G X�#�'�li���g2�h��)
5���S
p\o���.&b-��A�W4TL����H�i�J%w�aQ
h
� d��ߎ��#�j,%V*�W�Ȍ+8
N���X�n���ڔ�kB�2�j�+U.����¨�Ue��O��أ�5$_���wv��~�B���I�!U�o�o��OMr��0���D�!�Y)e��7>,n�򟟢=��Yߣi�HGKA�`�U*����^�ց	����
*������|~ݹ����%��}�����!~�
��
���| ������iz���=9�Kq�� 2���c�}��$QNx �o�f� Ma,�4�&
+��}�������x�?�I

+endstream
+endobj
+484 0 obj <<
+/Type /Page
+/Contents 485 0 R
+/Resources 483 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 482 0 R ]
+>> endobj
+482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+486 0 obj <<
+/D [484 0 R /XYZ 89 770.89 null]
+>> endobj
+487 0 obj <<
+/D [484 0 R /XYZ 90 362.542 null]
+>> endobj
+488 0 obj <<
+/D [484 0 R /XYZ 90 228.734 null]
+>> endobj
+489 0 obj <<
+/D [484 0 R /XYZ 90 118.921 null]
+>> endobj
+483 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+493 0 obj <<
+/Length 2909      
+/Filter /FlateDecode
+>>
+stream
+xڝMs�H�_���<?>
ػ'b��7���Lj�
0�15<�'���+���H�̞Z-��j}u#���@
<�܅7_�mu0
M-����T
���ȴ`���h������&#mj���V��]��n���
H�@#~sdO����������ȘN�b�q0�
�Ap���V�ꪢi#M�=�(>
����9�L%)���	�V4��C�d2�"
&�.��4;���O����6)�����_LMS�=�CB��,���H����wUՓJ.�j�."D��u�^IOvž��

mj�t�kUƦR��c�w��r�@�'e�y}�fiL�E'y�ỮEI�(G�4ɢ:)iMkSX>�ŧS����!�� k�|g�
����Z�hZ�j>����9�Ȳ=�.|��5��Ǫ�
+�E��pq��Rʄ$��%��P$ m�PcgA��,��cc
�dC@�$[�����R���|�1��eO�����CMU�1U�G��9�Ex.7HnH$c _n8����EM(���F��VWST
b��A�� dX!�ê}&.
d��R8 p�>�E�1��Ųf��H.�Z�m]��kJ]`{Ա���=�����Ǥ���ؖ�6iYw�If�ʀ%�SY��A�8�	��
�{?�X��?�g����ʰ䢫90'�D�6����e��n)ۄ�s���?F� [...]
}�S~��h����*FAY�
�d�SƗ�����(�?���b~�t���>
�6]��kMW� GMY�h�����
_iv��

�Y���y��Y���_�1�K]��
CwNk�X��^/�ٗ>�;w
�cX��yNu|����e�Q�a+/�+<Ƌ0K:��
/y��[>Є������

C�?�s�zZο�	�M�!o�=7 <X�ٛ�4{0�D��	3���a/�W
+�/^��ڄ��b}��=������[�����
)'�_־d
+S
D�<��]��-g��
L��MH�r����I!���ʆ&���"���|��e�i ����G 8w��G"���^��y"l�d�
��6
����_�wD�P�
u 
=��^�A�
+
E��8~�8����Z��Xe��北�i�����c��\�^W�Q�v8�g79�tSo`1�\��;
�g��ցP"8A�yr;Rf� $�0=.[,��tg`d��U������2�];�O�����Q����7~�hW�EzL�^��ʶH�m�����a��-j��,j�6�G���y1'ʝ�@Q��!
+ŭO��w��Q�8ڱUg�⁙{��+=Z�_Tn�&v���bYv ���ؗ��Vsn�{J3��%Kl�|v_��Iz\�vL
+ǫ�
軕�9��\
Wk��P)
�{CU�����T
�썿w���y̱�ݙ��@�Z(

��}`���V�uI�i�@�Ӿ�$�
�4~b�
^-�M5Goy)Z6G��u�z \&�USm�
9E�E�(�4�V�a����Y��'`���f�Ҙ��p��̝K��w�gb �Yf��w&Q�u"��p��K�[
�
+���x�Gϟ�]Q�Ei��
+F��{�[lDaF�=�TN��%b1�t�ĥP�\[Q 抐·�? �k���³xGX��4�
+�4�H®�Ȳ�<+E�X�R�3���E.�M���O���B��
���+��:���,=�I_�
�Xv#`��4R��?����
꟨�U˷+
+^���v�#�d�K�͒5����G >���OVf����}
Xߓ����qݾnYĢ	��$H_'�I�;(�{�T�(w��O���C�r�E4����
��{��u�(����"��ewsN�L�rHC\�E��{�St,*��
>��QE�
�ä�D񸭊�\'}YK�I���n��G�P1�Iy��,�B\U�9�����@
+�iF�"?Q�y�TQ"湎T�����|<]���me>����=������ן��Os�8��d}.�_�,o�$�

W<wM�_fP��
t$
�O��ܧ#�2�ǐ�:m ��&���Ł�B�M�C"���ە-���DS�[fˤ%s]�6����%*�  Bw��A�Ԉhy"��
��
":|D6
UdȚ"�0Kk�Ă�ۤ�*5��&�[�`r0۩��t�1�,̃�/y��Dˉui�[�
I��Г=�(>��UkFDZ�)G����2ec����X��G�M�N���y��D�?�2�b#
k�Yv��o�<�M���1���۰
+��`���
P��
�Q]�!H$#��Q�4�
+�b���V��Մ�������e_�
Y`�`���J�&�hI�oi�6����F��0Ry6T�u���k�A�D��9
��8;�@ѝ����Pd���_?��NuV��Zա8g����CſDɒ��;�`'㪿&=V�ҼG\OE�7}2�L:�vW��r \'�
[�ׯ���;Kٺ�w�޵��Ȝ��~@�U5���

��a�W�h
�����\���hj�����XnJi��8���M3l�d�9��)
y{�R�*)�>9̟��
�E��^�6R񹌙r�$a��Q~oN��iկ�0K��ꡮO���u{~���mW�7ąٶG��I��=M8���7�������
+endstream
+endobj
+492 0 obj <<
+/Type /Page
+/Contents 493 0 R
+/Resources 491 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 490 0 R ]
+>> endobj
+490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+494 0 obj <<
+/D [492 0 R /XYZ 89 770.89 null]
+>> endobj
+495 0 obj <<
+/D [492 0 R /XYZ 90 551.105 null]
+>> endobj
+496 0 obj <<
+/D [492 0 R /XYZ 90 410.822 null]
+>> endobj
+497 0 obj <<
+/D [492 0 R /XYZ 90 258.583 null]
+>> endobj
+498 0 obj <<
+/D [492 0 R /XYZ 90 146.006 null]
+>> endobj
+491 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+505 0 obj <<
+/Length 2466      
+/Filter /FlateDecode
+>>
+stream
+xڵY_o�8�0�e�q-�O�٧t���\���
�
��(�Q���N���G���d<�]
*��(�"��Y:����rzvq=���M"9Ӆ�x�8H�0����:�#z��w�D\WC���/:ۮU٤M�Kb��*k�
y~8b��������3kz��5Bw
;�����3�'�s�$vvf��	�m�<����cuO[�>H�A�(@����8I����]�6��
��R��v��ZΊ�M��U�~WS�L��!-�LP3�r� 2�+fj��Vi�߸�kU�h
0��h<
+]?vF�s�0!�?�;ʗ+���z���G��=7�y4q��j8��V�t۬teN�Ԏ�*�ԑ
��dG�����B�=f.*���z���J���^o��Ғ�J���ٶQ�6_���^�y�أ���y��m9W���5�Z���n�6�*U��y�Ί<#��]���.�W�O֫S��uk�'��5�k��*�9����j@��>+���$O�@W���g�z��b3�9 ��D��?p���
��e����^Vz���i���f�c��Zl��
�"4��7�_ԙ�}a���qr7��
!`g�Wu�V���UήJ�f�
G��
?�
+
L.ono�_ڣ�#���]==q���uc��<No><�N�����p�t�B�Jt
�����1-�7}yq�*�sդyQ�Ł�i�/6�k�_�Z�<+�)@�c|� ���H��zZ�ry8O+��#�!ox�R7
9�R�g�G/���q�|�Y��ټ����v�ܺ�Z^�Q}qd0ЇA=�fёn(hc0�O�O�ZS�L�s"�Nf�ɞ�]�
;�4<-Ӑi��:W� @2�*T�T�D�EJ^d�n0ʑ\Ñ��Q�n$�
�$IG�D�"�M��y�'����>hD�&� x
+Ѕ�7�B�m�L�Ԁ#Ú���JEޝO���n��ڕY7i��V���'z�_�"

<I�'��iH1����Q��TT
a�5з=��@�9����Os��7H�c��`gz���P�\>��>O�n���{����ý���	�X�;�<J}��8?���j�M�;U�6����G�N	��
+�QZÔ�
ݺ��������͈0�hðY
��~�!� 0����a�5
�u-&@w��Z�r}�=���q���.�n�)6U�6��m(���[gpx at l�2b���7�����{�2�aG��T02�>��-��!�hG�{�ޚ�I�	p��������$!��9ࠔ���74����%�:�Ө
��H0vk�.(����oR���|���	z1��Pɨ\x8�S�@-UC[#�
+��:�
j�7Č|ю#�Ԯ^Xb�-5lѵ���C�f�u������E+6
(�Fဿ�����ey$- ��hH��c&��HsT ̃�0��`g�[02'�.�-����2ڀ�\�z4�1(�͟CA�3�-�,��$�UTC���3I�
+E(��_
'��S��+���9Q?�0
\`!�]/�-俹�8Ab�,��q$}�
�@��rJ	>a��5rm
�t[Ab�J I��6X
0����6�����L��3�PK�X�-P ���

�	��cM��Y
(">��"1)�)u�� 5~d��b��C�6�`�:�� �:7��l���&�#�&B]�>��yE^��H����+:���o[&٠f	�b)c�t�GH��qxH��lKO����,}%����M��
y���bv��B$� ��~yp3�}�QyY7*���{�V簛& �/
�J<OVuc��(TJ�CH� ���%��
����Y兮�f��ح�#��Q���Y?�7�
+7	��x;�\�plpF,
�~I�����
��w�q��&<{!B���R�Ok��\����g
+
a��_���g�u�I��Q�N#�Ru���ġ|��ɋ�w�\���9��F<ݱ��RrSf����~
��–nO��w�/lI{]h]1�R�M+���$�j��AE�<?MzW�zUվ}Rl�j탇�Cwං=-LA�
v�V�
��g��%ڮYto�sv�X�.���r��
�}c�"
���B���>P~�R������
+p��x5�|y{�S�z=)G �[H5wLe$
��#�Y�($��%�R�,�)�2f�BW���i��,S0`KOm��b[����1�d2~��#�֘��	�%?��~�9��U�P,����92w��^��"bL�nZ�ۊG��-�=�H��B��:ە�X���x!{?h�DC�
�
K�
ȂDN:�xE�},�8�=%:��IH
�o���WU��g���y�ˣ��Ԡ�|Rx�J��h3u
Yw=���&2o/ d<���}�SD$�1\���S����=r���/&@{w�
���ᖈO)��/��H &���to'�z����!�6�N4b+{K�=�[�ͧ�*@ڋ8��˓$9�.���.�ӷ��0y<v�Hعd���Ϗ߷\�;�5}�	7������9�cS��_�6�Df\ܬ}�
gr������
+endstream
+endobj
+504 0 obj <<
+/Type /Page
+/Contents 505 0 R
+/Resources 503 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 499 0 R 500 0 R 501 0 R 502 0 R ]
+>> endobj
+499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 539.084 472.963 548.191]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 327.058 321.452 337.339]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 272.945 508.501 283.849]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+506 0 obj <<
+/D [504 0 R /XYZ 89 770.89 null]
+>> endobj
+10 0 obj <<
+/D [504 0 R /XYZ 90 257.148 null]
+>> endobj
+508 0 obj <<
+/D [504 0 R /XYZ 90 224.905 null]
+>> endobj
+331 0 obj <<
+/D [504 0 R /XYZ 90 224.905 null]
+>> endobj
+503 0 obj <<
+/Font << /F70 324 0 R /F90 507 0 R /F72 326 0 R /F60 304 0 R /F81 426 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+512 0 obj <<
+/Length 3540      
+/Filter /FlateDecode
+>>
+stream
+xڍ�v۸��_��R��
+o"��'�S'�
k�ݳ�	Ylx
/�_߹��d��
�`xZ���o�o>��"Y%�-��E�.�0Y�#�e�_
�_�������K"�D�w?~پ��}ı��ۋo

�
��W�f�����.2 Z�� �,�	�\�~ �b�x�
��Jt��[y
���ly��k�vE�
t���Q
}^z�����k�>鞑�Vgy��}�
+�A�5�n�^Aw�:χ��<R�2m��ꉛi]uy��&Sou� hg&�K�u���~��
0��������|�Re8k�:�#k�XۭF�x�!#oyHQ�����st�i�8�#�8_sb �=C.Ӻ�S

��/�q�M�WjUu��T�@8d�����gභv4c�u�k�d~���z�C't��t��N�"��
+��9�VS�u�!D
�*e�C>���a�;w=��u��N���/?1䣮t�
+�<�X���E�����
�)�A�5&�2��s��.�Hf�YD�A�VW�{�V����� �x���9���w���>�z�l�a�CL�o�f�@�Y�wqz���Q�jPEw�����q�Y�%p}�	�c���:��2ɏ'!�
R�`�(�;8�k���U%��C=�A�\e�y:�a&2�<#
GK
b)�)�RV��A %�9���u$DmР�$@o��a|O�?�v�l~ P�eޓ����%�X*�H�*11B
�FH�r(���,���P;pt2�3����LD��C��5�o7���Ӟ;��{�<D���A��1*��g�UV2��Uo�vu���FUp�A @�K4Z��++�M�F��L_m���Cm�ڦ>�@�V]�)ʭXw���=x�*eU?s�g����<<�߽�y{w�����|�����w_�w?~yd��
���G� ��C�qT����
�
1X�x���ry�����:ak���
v5�N�Wy%�+���1�)TJ7
��Be��=c����@*�quA��SG�� ?U 쌲�pq��� ��q�J�G�Җ
���MJ
a����@��jTo:��v������Ev=w�g�AЏ' L5�W��Z
�ftF�3T�
��t7�͆��*�>bZ L�
@�\.7� ��;�0�"
�w���<d"(t�n�7{o��b�1>�{�E�1��2Z;#�!?̻
|�x!�#.#x�V�������N� ��g���i�#��%��l�R���$���ʈ{���lħ�
"F��	[4�^
���$�/Kw9F���6���.����{4S���!Ţ�#��祖��`�7.Q�f�A%�Z�m�[ԩ9S
+��w�h ��@�\O��)����H��0��g��9��� 
nq�K��{
=���B���1�>���%�0:K����nS����o|ţ:'�9o�r!rl��@;˫S��a

�,�W��1�=X��5$d�U��f�WO�z��;oP�#��Q�����}���m�qh
�JDNaS&����ޚ�p�۷���1* H��[b��ЄcИ��`%�Ls4M�]�b�����ĐsG���
�U
lu���l�
�t��f�E;��ё��f��,Kt\�2���"f�A�)K%�h����7w���S��M�HƓ1�;����T229b�P��Y�/ $����'K@{"�	�VO�
��yu>��a�)�a�S�	�{�+
$����-�p%r�G����
Q
0�-Ƌ<@b�Rt
+�)\|�+^l�آ�����$�R��������O����3'ڲ�DG!L��0�$�#F�DB_�D���S
+�̅��l
��'������x-�&�I��%�Y�A�q�3S�P\ �y��#�9�E���IG$��6u����;�,�IBb��r֧�H.�e�J���I�庻K�R�@L���;f�QD�9ܓ4�}��;���;�h��k�N��O4�<�{h���%����6�)��CcP
+Arg
l�b)
�rA�Њ�쉟�ye����ڹ�3Tɒ"�sœ�XƢd�@�'M�4�β-
�4"V"
!e��}aLDr!��/	Ɗ�Q:c(9Rs��3�(�‹��4��^��-��"�5�B��ۚ[3׎���)���[���d_�p.9@ҋ����%�I���"ը��Q�4����C7!ƾ|g�
�m��+ƶ'��4&�Ĝ �q��Fu
D:�A�a��1A���ȁ�g�
����(z�;���U�׳)s�&@^��w~h�0
��1�k �{
+�)�}�a e���\�Yn0f���ɂ4�0p��8`o�f)��ݬ�+�ם��'�x�]���j�s�$����:�V�^��/�j<
i��v	6
�k�00i�Ęzqqd?U*`�N*����G�R��u�U��E��#��\�N��4RK�
p�ڲaB1V�J%˰����F�V���X�0��������o1(��bS菝'SJ�g�����	���!�����"��)0�;v�Q4Q��`>�4�0�L)~fo�H(f�#�
&�[��C�0ġ�/
 1��0/�\�\J�_&�{�6��P>a�i?��0D=åJ-��ւ�˴�#,�
V�_)�[���,���6A��C�
�b���6���}] �M�p�
ƸԌi1�1%:�>O�'
+�$�
�T_� ��F�)�ߣ�#�M����8�]�,{�&�
l��i�許��pK��P��X]��*�l��{�)\𙡘;
� ���'ͅ�	
�Y����P�J9
��밈�ăs�9+��48�R-l�5_�hX�u�4/�c�r�����t����AN+���y�4��H*�+�F�s	=M�a���K� �1��3Tx�����z~d�~ �G�!���d�Z��
L��Tu���ie�D<�՘g��]gƉ�x���ts�c��헳>��w�$b��F�������]�y�0
�B�`�UZ
$�=&��s���hikR)@����l7�W��PD��
�!�
@��x����&�
B-r
?~�g0?H���0�/������h�/�%�o��筥�
 �
+H�k��q�Wj�]���Ip��m�����
 �xLۜ븉�������a �x�0��2�S�°
N?�;�p֟�-
 ��$��Ǿ��3B/%������<|�(�˟�}0%ӌ�>=|\1�œ��������5h�)�z�j4�3o��Dkl<��F7
��Ժ"�����$�ٺ�����{0�ꮫ��a�
+g�U�Y��7���dm�'$<
��u��	z����R���i2s%Y�q��K�ŋ	|�oʈ�H2�� Ēd�'2�o�`�e ��lH�̝l�jY,dl8�|ѕ#,�
��˩��ݙ�����E�*��?�7#kb��	�?�ۅ�r�8�i�nӠ�#�7we�����D��]O͟��U|w�6k
͢Vm��pύO֭ʟ�
Ͻ;�[�������X ��gy��6��
M�.���XҼDj-��|
O�w�K�r�8��~
����͛�����
+�k:;
���3s��/k����?Y����/ ʈ�
+endstream
+endobj
+511 0 obj <<
+/Type /Page
+/Contents 512 0 R
+/Resources 510 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 473 0 R
+/Annots [ 509 0 R ]
+>> endobj
+509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+513 0 obj <<
+/D [511 0 R /XYZ 89 770.89 null]
+>> endobj
+510 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+517 0 obj <<
+/Length 3567      
+/Filter /FlateDecode
+>>
+stream
+xڍZI����ϯ�K��4v��I�e�c-��N;
�
"
+�&���jil�>��������.�Y=���wW�����~���huwX�U
�a�Y��m�on��Y����7�nm��^Wiw2e��yU
+��<5eC��k����o�>_�8�Y�rF��w��t���U�+g��w�GF:���o����+g�n4g�u��+��
��}������-t�a����\��d��y�����P�L��\�ek2��W�'�k-�v {I�mc����s�5n��H��E����c^>
�/����+���t�o �>
Eƶ��[�"{F���@�����l�pMн�
���)iM�'��k�y#�� ���.��B�%9�MR
,/�t�^�(��M��7�K�{
7��ɧfJ:S
+|<�P҂�1;�jɜ��c���:��RR��"˖��b d�B7A��éq el
�d�P�G�ײ���|����NU���:�%�B9d
&e��U�a��Vaۄ��b����\��dbB�=�{5������	N�]��d���<���S�^��Ƥ��\[2[�'Q����_�B���

+?er4�����2o��`�0��(2{<V�.�����@�ec�g�^r��E��G����V�Y9��Zd7��
7,qFcc��
Y~�cbG�릀�}�xs�1)��������N�|o8��6x]Rf�L�B��w�us�&~w
/�ym��]H�8�&��
+_ �Fe�cHl�v���e��<�����j���5l3�l��
YJV�M���9E
?�������p77���6;�+���(S� @[�ph����ɲ�W$�Q� ��<
��.U'���,?\f����ڸ`$
+�I/�V���,���F0;��H���U=��ʺl��2C�
W�E��l9c�"��2-���礆����:o�"�O�nP&O�W���0��z��t
6mB�k�Ξ
��'5�"��R_�Q�
+��c�f*@������Z

�<��e���{]W=���E��9`��uF�q=W�*բ�Kd�A�*����� �9�o ��F�2�-� �*DD����&t�CBd�hh����4����K#��;�-N�F ���f��i��
-T��7��
����j��@A� ��
U�ry�Br�稺�fE��/<2���o������[����o�}'ۣ��l��q)GS�@\do�w1��Lr0�I`\[[�z�F%�`qV &�����ܙw'������GXiu­���
+E�t����"��;C�B}�Ŷw�uNвUb4����e�������
+�ĀF�岙��A1���0��$�[Ɩ��q���Ap*��b5R���Ӡ6�9�R���qB(
+@����ٗM}#��#�52_����DO2Deh��4�#(4�!
��reO�B�	
,(�A}��v~ =���=
�{_Kf@:�
 �I�%"@��&i:)��Z�����v����R]JG�A�`H4;������Z��>���0�X���|��o�q �O>#`6q�N�
+����{)K&Z���S���?"�
kέ �0g��H@�6:��^zD��L
,°�~{|:g�13��z�H�Q��PSV��Q�cw�gu�B�U�Y(�]�q3)��C�:��j���K�r�0�5œ�ǧ&�������%�tef���h�]`5Ck+��^�_�Y�<����#�:��υ]����	��aS�}'�?��������?Ol������
ub�
4�Mcz����l������P#�NZGx�,/�6h�n��&xu�du�
���ClS�;��Y�)��K����L�7�Xl�(�PR�/],�!
ՓXu'0�f̿ �mb�m�g�qk�
�^+����Ð�ν��iL�4Yb��d�;/A�N
<���U$�B���z����2���^HRyS#0����*D���6+�
+
1�dC?X�J�O�S	>;�@K�yO�{���P� �Q��W�
HJS.�Ft�*���ѱ��B��Ag����˥2I�V*iW��P6�C
��@^]U
n:�VU
����m���#�|��#�?&vUF�J�;���`���$\�m���i���%_��
;�m*%l.��n
Tg�v$T6��ck_���ƚs��>ko��
�0*$h]�@T8//�
��$��Z������G�3����Ţ⨆���>�4bv��!&tm���rg�6z��60`@U�x�
�鹴��9Dmɡ+���ڢ*2g�c!�q̩τ��lT����z�Yl-Pj�<� �@4�����X#��bǠ��y��O�6y�٪��<
��Yu�]�_�~��q!���w	�9V]���ܵ3։N�(��4z
|^4�I_.Y4��Ё
iܲ�jL��L����ŧm��
W桳��5��yٙ
�W�r�͢$�o�j�G���bU'����}g\�h���>e����|Ŋ�߬�	q�"xT;�TjB�ځ`R;���+���!-\���r\.�
�{�IzDt��W
.��7
�a+
_�4<䙄�
%��>�pw
0+�d����ʻ��,v5�.�!����v\��=^p#5��MiZ��V�������e�=:���FpLijـ�(�t�\uǹ–1wq����F���L
eQ%�REai�T�7
u��:�Tª��J���i"?$}a(�<�U��3���mL�`�toh�P3�DJZ�
g��VJo��ah_&�����z*5��V�,^�g��g�=a��æ���q_�Y=�]���5gynE�צ-=��
�L'�LֱԗgYv�������Ӭ�QTP�7�ȶ�c��ft-�y$]�x������s�
nItJBL/�Ɗ
[}��kr�D�]��Jv�?�:B ԕ|Tٔ�9��_Dr����֢߀lkw�
`�	�����J�9c`��O�䚶�B���Z{r��w��򢩡O�m���o�QM4_)=������\
�0_Z���′<�?Y{�� �\O�U�HU#���6���|�K*�`�t�h�j=�e#�*/�

[�KU�A��|��'�K�߷c��gڹ�z���T��У��z�4���M�tۨa;kh	՜��rΆJЖ��m>� <|I�zwD��@�#o߿�}s��˻���~��nH��sĒ�/2
Y{`;���9/���*�O�,����;
0���`�j'�mG6LѴ	5"�]1�z3.�E�����ݼ����}�)�8Ʈ�`".�3q����/�~hC-F�F>�Q��+�pY�$���\���Ldu�A]�G�H��FW��q<ǂ4�zZOCE��{R��@
�OϚH��D�_��Hnu����
��1Mc�u�9k�Ug�-mE.6����l�M
��Y���܉l��e{������	+����?a�?_E�}����WA�
�?��
>|�Q?h�
��~��;hK�D�<�gL�~��z�ߗ�Iٿ�(>�d�֡
�j��Y�������?ݼ��n�=,�̶=�x���{hL��EQ9��L�8�:�k�
lZ�
(_����~�'�[Շ���"�*��|�l
7�=��y�nT��ۓ�z]�N����Y:�3
+endstream
+endobj
+516 0 obj <<
+/Type /Page
+/Contents 517 0 R
+/Resources 515 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 514 0 R ]
+>> endobj
+514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+518 0 obj <<
+/D [516 0 R /XYZ 89 770.89 null]
+>> endobj
+515 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+523 0 obj <<
+/Length 3026      
+/Filter /FlateDecode
+>>
+stream
+x��ْ���}���/!�L,�#o�V�%K�R�N*e�$��D$@��f���k��S�V�e9��stO�Xw�_���~���y�����b?^����H�̉b��ߖ^�����"�S��bXD�������qW/�>_y�r
���$]lOW���.
+ �Y�N���":-B?������oW�\ŵ��W���	�t�x��y|�����fل��	����{I���N��$�6j��x�K�m���� Z��(�+/Z�{�}t#7/
�T%����r[!��G��w �ݥ�1U^"�v�:����
+ݴ�ܶ�`WW's���#w���V���Vû���5�0�"�7��q���	s�V>\^W]�Ç�ʆi�����
��9Tݱ����'6ykU��2�y_��R�7�9˪`z|
+ق?��ڨm����5��d�~/��ZGQ������e�1�)�AGzx��&?�ȼ

�F~�x,,DX�b =;nr��Z�u�|�6�:Ȋ�UO
/=��h{?r�{M pà��O�Agd)�5��˜4�ž~�`O~���T���UxF�0�
+�ƠHc�,���R�MK���OU-`�!����ֺ�J��j�@�7��
��攃>��]o.��Sm��
�.�G���y+������d* �*�f@�
Γ7C�π�ګ��
<����h�9�
�� �ixaF���G��\���g�)�
s�#b "��P�捅��Cvk�#OH�W�
�cpj�T(zN��{�eՎL�4
��٥9�f
M��
+�]yTMc��
��
+E�x�HF�'��$j�̙M�>w�V��s�ċ
6�%�!�k�V�m�姃�ed�aF%�!Z���,�1��"̧�����'8˩�|׉���u���4+1x���"�rU��<��rt�mu^�'wzhETU���
>��Q���0��&�xy�!/��L��'p=���
�|�+0(�
@L���c�\���f�Sw���ʷd�8k+^�2 @%ng�@�\F5S�lb���E�Y9��%��u�=v��� ��I(�#��t��Z�~b���| N�v�0V#�����l-l !T����d
+[A�q Y|��O�\�����C�džȐ�,�3{�z�g�ċN7<z�� ���L�ZЗ� ;#,O(A5UYtB�QG&�
�K��k
��Y
7�/X>&�`=I~2�djIj�
�����6m�@�>��*t!� �9 �
+��8�l���{
H�(�腝�3��*q���mN���R�
�./x����760�;��a?]*�b����
d���&�C��_-���>q���������a���W� L%)
���@�˒R��g�Rv\cZ��3�pf�>�
)���ȋ��AO�KQ��:��
��!�JNI����1#(��xȖT^��˴�
�鬬�
+���v
"��
&�DM=X �D0�H�$ް�]
+�ԔP�ŠA�/u���ih:*s��� �GY�;�GY,tr�q�
���eDq��M�2Q4��e�l��� �Nط$���O)��K|+9G4�j ��V��"�ā�Vު�(x
�, ��������B5�Zo$,��
+lU�anڬeh|��7i; 90����vo.��.
/� 1�
�R�����GW���xCȬ�J�I�1S� "]�vw�,1+
L2Bo�\ 99��=|����]�i
+�6z)>�
,Ǎ3n-����Ë�e ��?�2v.�Q�e�DJH_��*N�� �./
�3�
F���.	
��ۅ_�Q.�
���K��^�:��}P�I"�!@np>Bj]Ȇ%��U���q��B��v�i�8YV'�W�=�d$��b�HsB���|�6�$]t�3���)di�`�q�m;�]�,ۨ
5^xg�x�=y�9u�Q>���&k���̳�Y9�������Nզ������/dP��9�7!�q�`b� �RD]��Tr>�=50�k�4{]�B�$����d�,:=Er;2 ��
�^n�]�C
f�WJf8��C���s�`�
�\���B�����-^
q�
.UN��
bm���z��%��V3���o*Q�b�S
V��+��

+������,O
���LięU� 9x{����N�K���u-C)w��2Q��q7��	����W,o�Ӧ7d�*��c!���
��`~QՑ�D�FCe����S�|�����f�6t at w���:*j���2�z��|̮_�d��
�
tב��63P��K
+�9Ts}W�cYJ�;M��r����s����
+u��VB+	��꿨%�PQH���m?���e'�����H��k{%~�+AZ�޶�da�7�����Bo,ع~(��0�WԿ�y3`�;��,L��J�(!	mr���1�'PqA��\�O� ɄO�M/�����dRZ ��mó���ɮ���>�-u
qy�{A�W5���*
n����s�����We�׏����X�E�m�OD5+�f
+^�hHΚ�����������|�&����8 HwF����K9�/�#���$#�����W`>�QsL5V�,�2�P��*�y����A*�-*��JSg6���$bА|��V=�Gm��q��7��Q3/�����K���6��l+j"�T
C
��k�X7�
���̼�ĀL��
ቮ6��լ�7~T���g�s�ȯ�S�F_�b��ߩ
CƟ���
�@v�0�L�'�ڕ!�Y1aU������N@6��k^�?� �V
��Xj�P�}~:s��K�a.��wN\���1�e�7C*����M���k>|�5��
���l�S[�dIU6��
+

Wޯ�U����O�*}&�
'����cJlQ��
V�<(�[3�Ԋq0��O��K����c-
�"��>_���%�OH{LH�F 7�O�ⶂ͆�ְ�z����P�dI�R�J#@��P��҇oy�&G-e
��t^�������*筀~��gw���e��WI�p��<�
W��}ĝR"]f�S�����
H�����=���f��U�-8�q4�$��i�Τ����{ÏC�������%�
+endstream
+endobj
+522 0 obj <<
+/Type /Page
+/Contents 523 0 R
+/Resources 521 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 520 0 R ]
+>> endobj
+520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+524 0 obj <<
+/D [522 0 R /XYZ 89 770.89 null]
+>> endobj
+521 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+528 0 obj <<
+/Length 3403      
+/Filter /FlateDecode
+>>
+stream
+xڥ�r�8��P�2TU����=eb'�Lbgcg��f�@���

+A���nti:����@��h4�����a�ޞ�|��M⮲M���~���Uf�(�^���	�~�:oo>S�M��R�,�w�l��mC��bW6�c7�
/Z�y�������k�+�ֈ6I���g���
+ �[�� KW
+�^�~ �juw��3�f7���y�#n���<�i��E�N�?b#p� HN�S.e~(	��	8��߷���u��9��^�0���w�dr��S�M�6���'Ь���׉
$ �W�@q��M1�k�0K���h�� � ��.@Y�,a��9�}yʓ�������XR�l
+[F�H%dO-��%���@��
iB�B��˂�����;	
+�Y_Di��6�#�ՔO��8X���a�ф+��Y@��ccO�E�-� ]�ƖI�ΕLv�C���2��ص��ȸ]�7�-IjrE�'�4O3�K>.mW���!�Y/��5��'y�����}Phm�Ϋ�̋G�fW
E)y�>���-�w���n�D�ȼ.�&����s�Je\�
dū�Ȑ�-�
і����Nw�^� �%	��OR��
 ��XT
+J
0�x4���9Шrn ۖǼ�3l�[I�q��
jZfC9
�� :��?��y�v���8<=U�N�+OU�c�K��F[�h��E_:�S%v�'ȩ�j!������g���`Ȱ+?�#W�9S���
;��d�!��^a��3���vh
+�ۏ=�@
5�N�!b��XJ
���/	
�ԩ��g����<� lϮ�E��E�A��R):^4h��!h��H�P����:�Rʲ�c�>U<�o�I�ֈ��y�T�v�؟�P`s���0��	�'�o?�|}s}�C�����n��B�D!�G]ߍ�
+�L��
+� J
�� �A�G�+��f�(�p��*s�v�CSh<>\@��EC �LP��p��\�(�.
�
+P~��rG9M��NH�|k93���Fm�1��
�@��8u�h��� �Ȧ��� 6��
EKh�Hs��TU��"��zݠ���z�w�b1C�S�����b��B"�i��h#�`c
y ̉�V���(Q�\N
�^M0^*��
+ S��4�S�[�+ �'M_������]e�t��@��6�b��g��
6��q+���o�ԥ�=¥��*5h��]F��L"{г� ����V�H~>d�js	�3D�3��/��,�I�7b�P��T1�[������!�
�P����$��c[A��FO��>bp��f��$�brdJ�:��uc�
{K`K��
�#���g:��VcZ:~/l�{\b��ԑ�m`�ο�.J�q���+n���2�
�%��~	;C#�j�O/Rw
J[���)I��%D�\	&yʑ�#h5�K�X�(IÏb��3,�{��G�P�Os
�q
�ی
��_�e��(�RC��$���(��i�z
�D��#�`�_���y)�,�;�~
�:t���bեS�Sc0���q|Ɇ <*�3t���)Y����k\%�I;֠����^�~Am$�c<�ǬF$��
 \5J8���h��s�=�Z� �eB�h:Q*���r
V��1;�0�
+�7��
&�a
+f
AuC�$�Ƹ���oh4Vތ����]��E�����]
�V�''
+a���eY�WV���Y`�qA��T�����SP�9��l26����W��oo����'�LB}��l��%5��PU�|U��p�|��1O_Q�a�H�ё���$���Ih����9�F�1�.�'��x��aG��m���;�(Tr
�x'Й`��	B�
s�A0ڏEof?�n��)�a+����0�
8���ZE��T���:� ��ɨ<8{�g&�t
��	WY
Q�6s�A9Xl��O�	������o�Fj�mP��!_
+���!���a�V�G��zMHO  ��v-
�[D�u��t�����>���]L�8|��M��'������
I��t����^q��T�	�ޫj��{ ~O裏퇺^b��o�!�q؉jH��Jah���|�Cm��Dnz9-&�n�؇p�0��Zɾ���R��X������
�h�:)sg�HQ���i
�����'�_�}����+t�|
����ӎ�˫�W�ss�C��~�����sO��5��ɏ�K�����]
 �B\�A'�[�Fಀ;�,!9�{^�uXy������4����i9ePn�

�����ߜ>��D�jP7 ����0&T��HL�Kh�5D�FW�%ʡ".UU�
��{����9�/M
�
m�cO �C���>-eG�)Rm6i0;QQv _*��@�/�W�V�<�t 6�[D1%	M�ɸl8.�v����ۆ4�u��V�|l^����^]�b�CGS?M���nF?���t�c��i��
+CO�,�ʓ���Sys��Jj�'�.Z�#��� Fb~6�X�����ua��:
+�S�\򦻄�[˲mR���"O�"��
{r�P�x�5 at c���٣
@��� :��"�e2c�:}��e$cȗ���^�hi� �x�$
g�c<	uc�u������ByY��Z��g�L�XD�
+��H%��1ڒڹ��
��?�-�ם��f�u���
��\���ٝ<�,�}8��1Cd�콟��$�
� �֢����m���mĎ��(��VfrI�|�U�K,��B.٥��	�Ps`�E�}�z�oz�]
�̻��Ω��G�͞�<����
���Vϸ��l�)���ӫ����^�m�p�"��ibL�O
]���w��ͥT�u������ƾ��O�'�pAo	��K�Sih<�q֏����I��aC���E�F� v�
��4z!� 7��I]����Ke�(�˒�N�}�8���
��#
"���
�\��Ԗ��XU��^����uq߼^"6]�<�� ����%�)�V�^�5���ᇊ�*a���R�Tr��!�Q6�Lf�7�Z&`s�D�f��tRp�X�bw�Bs�=��(�M}�E�U�G����3����*���k�0�M�:���Z�7{����˅�9עe�b�~� ��B�5�ďG���,��
+�B���}h�?�����*�*�z�!����9�V1œP,�G��2�k�i�뙚X��X sp��7�8�?�*�
�3�I�U����'BR�{�O:f	ɮ�s�|�)ǎ.ݏ����R���Z�y��&�����{W�ɒ �w��$k��A����=5����:��gys�]�
+������_(>��BgB��<o� m���Lv��m\�#ǽ�Ro���e�[���|�{/�`�>
)�}��˗�� ��ّ'6��m=I6n���u��u�`N��b��c�E��&�}-<���3w�zI�+
���D�����e
g2���0Z�
+endstream
+endobj
+527 0 obj <<
+/Type /Page
+/Contents 528 0 R
+/Resources 526 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 525 0 R ]
+>> endobj
+525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+529 0 obj <<
+/D [527 0 R /XYZ 89 770.89 null]
+>> endobj
+526 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+534 0 obj <<
+/Length 2577      
+/Filter /FlateDecode
+>>
+stream
+xڕYYs�8~��P�e��1���}�$J���dce��f�&!��Tx��߾�+t6[�2�n���n|݀��ae�^_����~Z�،'X����Z�^l��՟�
��޽]�Ad�q ������ns��G��fw������y�o��*=]����ʀ�ve�n
�
i�i�9.|���ſ/��*�\�6m�׬����I��r|����}C�M^�Lx�
a�k�v|���0i������X�vc��H��J[���db{TLxY��I�-�󆩛���BeL��I?�.�������/��C����4�%zZU��7y�V�������K��$�߁mƾ�;���Amض��m���jTͦbJ�6�ح]�@����4{�6X�}:�6�≻�!w�cR�2�(�$m;�3��ct�9���\_�6���n{w�۾��I��$��k�T
,��)A
C�(��)iu^À�u�h�04NU��B`4�C���l�� '��
|T�k�2�V�d�"0G�=�����s�ÒfL��l���u�įyFQ�=/ [...]
+d�@2k�I��,���)���tmu��"��:�>����x��� 
+G�i���x<�	Z��72��� Y{�9
+�sR�����NJ��ק�U��AD����0YDUS�	���\qd��������H� i�l�j7�9�@���T?��r#>lxhoƌ�M���
�Dm��ȼ�(H<J ��
p�;�iu:yR�?<�r|mK��O�O7,�����=��{�%��f+�������� ��������ڷ�x
�Z�Є� 
�Q
$�<�yh�L-)�
5t8�!9'oȴ0~���T����w��J��k��_��D�2�V�)k�A�{�r�{v'е��	�J[�
Z"��Oy���!/#��y�B��2A��Й�M�چ`�پ� �A��j�R�ZH�P(Y.�2DU�
ۣJ�z(�IX����u�H��+��V/X�|^�ֿ�8rFAe� E��c۞��~||4egV��0�P��ZDrm3�M;Mw�ʕ놦�y�c�I�o�L

$`8��_ �8�
�?�
F8U�9䐯;jJۋ����<�����T8!�_u� �9�4�˲
��qI˭dɇ.iG���iD�� [...]
+�;b�H�/&Dn��yh�Y��D��%���
�v�G&Ϙ5sb̩z.Z�#�@G[gi�^sLä��_�tp����
���x���d�ry�݇'�I��h��)Do��0�b��.q��W���kD6�?M��~a�r 
����������|�	�?=V�pN
1��D^�҄��L�z�"/����L��Y���h�41��v�&83!���A-��	��M��вmN3�d(o�H`�Ak(n���Ek�<Q��I/�6?V���J�_G �N,K�}]��*� 1[��L��
e��K4h̪-�<B&le7φ��]�&��z�z=���+����z�L	l��v�~ ��p�c5�
+��I�����D+ e%i�?]��	*&��v�C����u��M��"pL࡛\�t�|��/���8E��b�H9�m�ln>���Oy��ͻ�p���1
��en�g
+���{���j_�`P�S�/ܔ�
�k�ֹ�pĶ\�x�QK읳���<A$
+�c�`£r|J�5+�4 
�~�Ё
�t���;HJQ_ �_��G@�݇����^�
�D�q�K�?B�⁥�|[~Mj�������e:�U]��Ջ�Vv���z�x�oI�Y�u�
+p�)t38�W�a
=r�3ݛ��O����Ђ=.�/G_�
����AA���H�q
g^� k[�m�_��H
9�ӆ��	��p�n
Z�AwnX����<G�չHR�$k��%�i���%3��TK�CR���8���~�!ڻ����T�M������V�i���n�%T��b9�W�G��⣃�?�-FVo�Yd9q I0��IX
����l8
��:a�bI�Ŋ%Op�k*��y�BbZ�
�=���X�ر�xb��Q'�fGơgU��j.��� ��%������6]�βb���P8�#Ȝp[�W,l�r<=$�d4�A���szI
���ӹ e�7
��I
ʨ$

|�q���R��U���+��P
0_��� �\R
+���@��!��<UL%=���J4�7��;Lأ/��z�%*�{ΐ�WɘHy�JU'��z�d��Dy
F��>x�|ʥ��t5Կl���ޑ�ϖƶgµב��sL7ry�g�]�u���[0
V�ߦ6���\�

�gpM�Bӏ闚/��e��(�61�
!\oO��e�qW1���	�8t#z��|`zz�ѳ
�R��oY
���_R
�� �P��{�}*�O����Or.�%e��֑��Td���?��3�B
����<t�F�����ar�V`�{�u��>΀xz��^�/��X�
+endstream
+endobj
+533 0 obj <<
+/Type /Page
+/Contents 534 0 R
+/Resources 532 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 530 0 R 531 0 R ]
+>> endobj
+530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 536.149 428.041 547.053]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+535 0 obj <<
+/D [533 0 R /XYZ 89 770.89 null]
+>> endobj
+536 0 obj <<
+/D [533 0 R /XYZ 90 417.177 null]
+>> endobj
+14 0 obj <<
+/D [533 0 R /XYZ 90 112.061 null]
+>> endobj
+18 0 obj <<
+/D [533 0 R /XYZ 90 77.486 null]
+>> endobj
+532 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R /F81 426 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+560 0 obj <<
+/Length 1100      
+/Filter /FlateDecode
+>>
+stream
+xڽW�r�6}�W��L�J��Ng_�8N��j��d8�I��f�����eɉ(y���={�X`D�3w���`3����`t.��Ч�3�9!v$����Թq9"ސ`���t����2�p8a3	6�ED����xp7 0�
�H�$�|���/  
�Y�9�2������ o!l��!�B��$��:�ѹ�v��#��v�[��7��I�~���&Uݎ���#M�A�zy�������I>)b�uy�^�p�=��w��e<�`��ҳx��ã�[B?�87Cr黔n�آ��#����a��D�eOX���3U��%�
 �Ty���{�?��e�VX��<�}i���9��e���i�;�X
I�hG�:Qv�TU��uR�;��m&�绌uGe��j��(Mnu�W[�;�sȐaӞ��†}uu��/�d-��'D��i�r�ܥ�%ʡ!
7��
�f�$�����FZ�k�l�}�(��D?�0��
4^t�I��I
�
[O�T�^�F��"]y�p�r�(v�vK^�����T�jki����V��d�zy� ����E�:��1�$q]5�Рt����0 ̥r��� �A��]������̀	s #��%hp�
+:cOrwU����(
PYa�=�8�ҥ�G�I� ��U��T�
T�[?տR2�ٓ8����
�e\�TK����
����!)�>�z���%��j

z�b�
#Pǘ�-�}G|ϬR,��ew1�� ЃqR�Y{�@}���e�h8i��cR�����v�C_��+�'E>�{je�2��#��9��WU���"���}W���}���I�>��Kqõ<f�us��痂i{���џ�/�pI/{����r
+�6�^�V�Y����5����pZd���L�t���q��=w��d���<�"	��y���6���]�%a����M�uo�gS�䮿��R�O�vw�|�G�g,��%��

�$A�	�
�\�N
m�_�n���t=	B�v�Ģ��W���rW�
A��m���YJ��H�wV�~��0�5
���
��C�n�����DJڬ�
7v���]Ɯ�r�q��?�"�
+endstream
+endobj
+559 0 obj <<
+/Type /Page
+/Contents 560 0 R
+/Resources 558 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 537 0 R 538 0 R 539 0 R 540 0 R 541 0 R 542 0 R 543 0 R 544 0 R 545 0 R 546 0 R 547 0 R 548 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 555 0 R 557 0 R ]
+>> endobj
+537 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 663.025 513.996 671.881]
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+538 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 542.354 216.421 553.233]
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+539 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 532.302 513.996 541.278]
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+540 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 413.773 513.996 422.63]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 391.303 513.996 400.279]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 368.952 513.996 377.928]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 346.601 513.996 355.578]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 324.251 513.996 333.227]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 301.9 513.996 310.876]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 279.549 513.996 288.525]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 257.199 513.996 266.175]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 234.848 513.996 243.824]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 212.497 513.996 221.473]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 190.146 513.996 199.123]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 167.796 513.996 176.772]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 145.445 513.996 154.421]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 123.094 513.996 132.071]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+554 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 100.744 513.996 109.72]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+555 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+561 0 obj <<
+/D [559 0 R /XYZ 89 770.89 null]
+>> endobj
+22 0 obj <<
+/D [559 0 R /XYZ 90 644.359 null]
+>> endobj
+26 0 obj <<
+/D [559 0 R /XYZ 90 609.059 null]
+>> endobj
+30 0 obj <<
+/D [559 0 R /XYZ 90 513.756 null]
+>> endobj
+34 0 obj <<
+/D [559 0 R /XYZ 90 481.21 null]
+>> endobj
+558 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+595 0 obj <<
+/Length 975       
+/Filter /FlateDecode
+>>
+stream
+xڵX�o�6�_��Q�L)~��0`k� ����ۗ��v�Y�+�m��~'�Nϣm@~��#y���
�����k���5����|-
�
+�
�;¢����UD�Q�������݌G��w6��z
��g�~Iu�O2��
�H��&�7�2_��s��`
e��_h
e:�5c���")�$^�G�P&�<�/��)�@��m�TE٠lᕳ5����
EB�^�	>z�S)�2��Ӳ��C4(È��
Z���ugJ�D��C|���2p���X�{��"J"�)~����Dp�ȷ�I��ϲ
�V�ͫ����.���
�pE��Э��Zrޥ���g�c|V��A
����KBv��4�I-zѠ�˥S>i�^���v�[b��Ma���$�pp�D�„����N4o��Զ�|�:$��
щ�V�T�4��0'�0��if���p�x�?�8_��ʅ��V���V�N�2M��0� B"�L��T��ɑ)%���Er�Y�/���&p�\b=��$ǣ*��aD��u��h�,�'�-
_�>@c4vwFo�:jKL�aQ�[Z T���M]O����m�~8d����俷K�Zf�C�Y��נ�%�O;�!
����?�G�-�<�k�f�>�{x���j_��y�`���lpt쇲J�y|��'�0�X�Q�
������iT��6[���ȫ�s
���d��e|�o�Gh�9�I
��b2_9�1%N�n�؀i�@si˪�oܙӸ!zw]߾�+N5^����(4���5��
+Lk�L�
7��=kB�2
��2�ɮ��z?6�
b�F�Q��"��b#����Ѷ9p8
�����,�.I�RI>[%����
Ch���dM����/��d�~_'�*���� k���\"��tF�^�|Fv�V���5}W'X�J��~N��U���߿_͖x�"{�-�����f���
��(�z�9����W�����b�
+endstream
+endobj
+594 0 obj <<
+/Type /Page
+/Contents 595 0 R
+/Resources 593 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 519 0 R
+/Annots [ 556 0 R 563 0 R 564 0 R 565 0 R 566 0 R 567 0 R 568 0 R 569 0 R 570 0 R 571 0 R 572 0 R 573 0 R 574 0 R 575 0 R 576 0 R 577 0 R 578 0 R 579 0 R 580 0 R 581 0 R 582 0 R 583 0 R 584 0 R 585 0 R 586 0 R 587 0 R 588 0 R 589 0 R 590 0 R 592 0 R ]
+>> endobj
+556 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 709.994 513.996 718.971]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+563 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 687.437 513.996 696.413]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+564 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 665 513.996 673.856]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+565 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 642.442 513.996 651.299]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+566 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 619.766 513.996 628.742]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+567 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 597.208 513.996 606.185]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 574.771 513.996 583.627]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 552.214 513.996 561.07]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 529.537 513.996 538.513]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 506.98 513.996 515.956]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 484.542 513.996 493.399]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 461.865 513.996 470.841]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 439.308 513.996 448.284]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 416.751 513.996 425.727]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 394.194 513.996 403.17]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 371.636 513.996 380.613]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 349.079 513.996 358.056]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 326.522 513.996 335.498]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 303.965 513.996 312.941]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 281.408 513.996 290.384]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 258.85 513.996 267.827]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 236.293 513.996 245.27]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 213.736 513.996 222.712]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 191.179 513.996 200.155]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 168.622 513.996 177.598]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 146.065 513.996 155.041]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 123.507 513.996 132.484]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 100.95 513.996 109.926]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.512 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+596 0 obj <<
+/D [594 0 R /XYZ 89 770.89 null]
+>> endobj
+593 0 obj <<
+/Font << /F70 324 0 R /F11 387 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+631 0 obj <<
+/Length 1202      
+/Filter /FlateDecode
+>>
+stream
+x��X[o�F~��� �� ì�J��M�lڦ��>dW㱍��������=KV��
�3�~�wlL
l\�>
{�K�
��K]c816�-�����x4�է6/�(��:
�W���ư	C�q�To%����
{O=Dl��A�3¤��
c �1�/��İ)�gl<����F��羦�x�ٮ�	A�(�A��<��39�?�Fy�/-�Mtw}��aTDY����e��R3�6��_���>�<�L�nv
�~��"�;�~��E�I6�&����F��4�(6�(-
Y���"�|�yE�hH�E<3K[T�)&g�s����ץ̃2�[��LP�w
"�e��/@����*�o˧�f��Ι���	�ݳ��"�q�
~j������ܕ�=�?,�Q��g�c��`XY
%2[����PΏ% ��]�w(�,(� ��Q��� #
a
+~6�7���,[dS��=و:ղz\�x�J<�Z��*�
��c+�#�a�z5�Y���Gy$
��
F2��
+K��{�����	s��ld{\��M�R�p��Y�WY��ފ2_��~[��+
��X-���|R�� �͟/Q9S�Q
ɉZ�e�Q�oŇ7��]�>��>�e�
cFA
e_���w�j��#̤�)x��	��z��O
��rKze��mH�:=���M���-����%(�\�(��
;�w��}�_��|�Pc�rh
+V-n�˹��|��!sН)?�gT
+�Y`Q�|� 鷼3R��y
:4� J�8r`���{9��K2-7A�����q��y�A	�q�G������u���jkq.�m׵���%�}"U
��0��ϖ�Ɂ�����/j�v�����
�̡7��+[������
�I+�P��r�+�o�y,H�(�*J�(�q`X�,�o�q�-��;�8
�����v�д
�-ٴ�2��4��[�++t.���Ʀ�n�M�:�bs�{8 �4�Πuww�m�?~�
F��x�w0�J�WH__�YG-R�/�h��+
Qk�
�&;���{
�R�)�z
R_w�
�"���\��
9�_U�
�Vq�	*3�+�
�6H��`*���ư�H2�ɂ����҅
6�aC�:���
+n�@'Ȫ�i>H]����
��Z���=��Ouk�����`0ZLϦ(̒�x}�sh�D���Q ��
�@LjXD�J����0�7��?�Ԏ	�ޱ������:a��
b����4��
+endstream
+endobj
+630 0 obj <<
+/Type /Page
+/Contents 631 0 R
+/Resources 629 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 591 0 R 597 0 R 598 0 R 599 0 R 600 0 R 601 0 R 602 0 R 603 0 R 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 609 0 R 610 0 R 611 0 R 612 0 R 613 0 R 614 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 620 0 R 621 0 R 622 0 R 623 0 R 624 0 R 625 0 R 628 0 R ]
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 709.994 513.996 718.971]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 687.923 513.996 696.899]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 665.852 513.996 674.828]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 643.9 513.996 652.757]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 621.71 513.996 630.686]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 599.639 513.996 608.615]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 577.567 513.996 586.544]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 555.496 513.996 564.472]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 533.425 513.996 542.401]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 511.354 513.996 520.33]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 489.283 513.996 498.259]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 467.211 513.996 476.188]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 348.701 306.642 359.58]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 350.723 513.996 359.58]
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+610 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 326.63 351.473 337.509]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+611 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 316.577 513.996 325.554]
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+612 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 292.603 362.293 303.482]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow) >>
+>> endobj
+613 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 282.551 513.996 291.527]
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+614 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 258.577 387.767 269.456]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation) >>
+>> endobj
+615 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 248.525 513.996 257.501]
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+616 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 224.551 350.149 235.43]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width) >>
+>> endobj
+617 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 214.498 513.996 223.475]
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+618 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 190.524 304.357 201.403]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+619 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 180.472 513.996 189.448]
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+620 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 156.498 279.275 167.377]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+621 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 146.446 513.996 155.422]
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+622 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 122.472 264.142 133.351]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 112.419 513.996 121.395]
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 295.145 99.324]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class) >>
+>> endobj
+625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.393 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+632 0 obj <<
+/D [630 0 R /XYZ 89 770.89 null]
+>> endobj
+38 0 obj <<
+/D [630 0 R /XYZ 90 449.924 null]
+>> endobj
+42 0 obj <<
+/D [630 0 R /XYZ 90 417.629 null]
+>> endobj
+629 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+684 0 obj <<
+/Length 1066      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�6~�W�-�L1�Y���M��lBڗ�#�p<56�e[��+[2�@�i���t��s�  {�Lz�_
<�c���x8Գl&�������:�����TQ��'���c9�Nz/=$� @j�m9.𗽧��%�@�x.��Z����c�
�G�����@����a�rp�RG[�tɧ�$Z?�yʧQ8Ky�6
hX�I
���}Q
��<JA_��l[��`��
�(�O���ݾ{B��Ǟ��A솀�ؤl}�-�e���r��(S˫q��E��@s!{74�u–�)�{�L��Q��5DM�
j��mF%BvA���z�[��Fq.�yj"�H���D��)_�\��{�=��\�5�}
��`��"�̮6�kqzM-�E�#.����������B�&��ȲP�V�U��f����퍟R֕I
#{��l�fP؍D,R���P�[�f ��Oa<�q������2>�\�Ź-V0f2Vܳ灛d)�v:L�E���_��0��g���ڰ���\�g:��+�v-�
8�6���>�iO)�?�a�צm�o�������(Ɋ
+�x��mؔR��s������Aͬ5�;�gPx9`ӡ�z�!�M����ow@D q�A����|z��r۞�n2l�K�k��'�v|/�NQ� }�I�q'�`��̑y��K�?N����b�P�^�
�w�t�(H��re��Td��E&l��%���6�#�J}�s��6�R	?�@����*b_i��.A�wdw"��[���'�&�Z
Q%q������ow�.��<�U7A���
+�8w��#�8\��aЦ׉X|��a�v�8Pe���Q���ʻtv�ux�K>	�bY�_
v��
L�>
��H
���W��
� r
\M�
W��
M���$�ٖ]_��oVOL���
�VO�-'i-�Y��;5�����3��;
��Q,{�E<�&����lnuD~�q��E�
��
5[v�[;!
J:��>�|
E]{��6H?�og��������s��~

fE�����Y�w�;���.�ڷLRQ�I\�2�X
F����
,-
+endstream
+endobj
+683 0 obj <<
+/Type /Page
+/Contents 684 0 R
+/Resources 682 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 626 0 R 627 0 R 643 0 R 644 0 R 645 0 R 646 0 R 647 0 R 648 0 R 649 0 R 650 0 R 651 0 R 652 0 R 653 0 R 654 0 R 655 0 R 656 0 R 657 0 R 658 0 R 659 0 R 660 0 R 661 0 R 662 0 R 663 0 R 664 0 R 665 0 R 666 0 R 667 0 R 668 0 R 669 0 R 670 0 R 671 0 R 672 0 R 673 0 R 674 0 R 675 0 R 676 0 R 677 0 R 678 0 R 681 0 R ]
+>> endobj
+626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 269.681 718.971]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 673.667 305.098 684.546]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 663.614 513.996 672.591]
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 639.242 264.152 650.121]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 629.19 513.996 638.166]
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 604.817 299.569 615.696]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 594.765 513.996 603.741]
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 570.392 331.36 581.271]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Name) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 560.34 513.996 569.316]
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+651 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 535.968 330.453 546.847]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value) >>
+>> endobj
+652 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 525.915 513.996 534.892]
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+653 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 501.543 306.742 512.422]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Degenerate__Element) >>
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 491.49 513.996 500.467]
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 467.118 329.277 477.997]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 457.066 513.996 466.042]
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 432.693 262.478 443.572]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 422.641 513.996 431.617]
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 398.268 297.895 409.147]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+660 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 388.216 513.996 397.192]
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+661 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 363.844 288.311 374.723]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type) >>
+>> endobj
+662 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 353.911 513.996 362.768]
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+663 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 329.419 287.942 340.298]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+664 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 319.486 513.996 328.343]
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 294.994 323.359 305.873]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 284.942 513.996 293.918]
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 260.569 313.775 271.448]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type) >>
+>> endobj
+668 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 250.517 513.996 259.493]
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+669 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 226.144 344.37 237.024]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+670 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 216.212 513.996 225.068]
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+671 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 191.72 229.841 202.599]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+672 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 181.787 513.996 190.644]
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+673 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 157.295 325.96 168.174]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 147.243 513.996 156.219]
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+675 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 122.87 298.851 133.749]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+676 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 112.818 513.996 121.794]
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+677 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 349.76 99.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 78.512 513.996 87.369]
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+685 0 obj <<
+/D [683 0 R /XYZ 89 770.89 null]
+>> endobj
+682 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+748 0 obj <<
+/Length 1227      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~���0�V$�$���L�Ivrk�7/i�!Xf��\���~�8�I�<���O߹HP
4��=�k6:8fP��M1�f�fC�Y6 T|͵k�d��P��yn�1��y���٩f!@�	]�0F���h6�1BbjH*$�M4/
]��\
�j��D���b�¦xF���T�=~V�@��w��Z 1Sc��Q
7�]g�F�|��N�dn�`0���0�n�
�\d��<��4qC��r �x�Rc��,`[�6
؄�f�\�2�N��R_>�{�/����w�Y<W˭��]�1��֤c�v����f�a乨\�qt
�\H��������?��Ø�A� ��^�E�݆�K�
y/��7��x)D�i��R_�߹�2�
�$<p����@=���L'�P�2[�,to�9��0B��e):��_q��*к
o�&�
+��ݣ���
e��
+&�/����p�Uug^*�*��F�LQZap?  "��%'�� �'� 3�t.N��T�$�+
L���'W��$)x�i�A%���cJ��q
&A'5�,�	f
s�08��[
�
�*
R �e�(
/��t�����B�g�>H�<�$��>�@"�j�5����8�UgL�"�H1�ZQ"Gb���S":A���E!-��)cyG�V�h�G٥�)A6�"�:��5��Es����`�v���Zc
�i7gH�6(�X�6�:~�)>L��&Ԣ����.E��|X�M9[�z��pgt�?ܫ�2~�s%���
+oy|��(�^Ѧb�ܦj嗉Wl;�u
+��D��s��\�rb�+�����
�b�,��0��^�F��
�
��(��
�����u��ΆDO�j��2%K���h�N����
ᖶ�ҩ�{6<�qQ,rc^d����yA�b���)�

V��Oi"w&���x�|���TRkI�%�����&�˵�%��
&�G�}�
yB�9��z5�
LD��zdB��{��6����k5¦�\�B�K�$�fdUv���0�Դ�`���b��9􆴾��b��9Q��D�w�T��s�r�V���bD���IP�_f�̯C���_s��3��.ܤl*Wuʼ�j��`u���z.[p���i��Y�G�������-�ş7e��$ ��kMh�u� ����7 N3��]1�g
�\O7�� ��O��cD��Zb����LT'��
�bO����	��+
+endstream
+endobj
+747 0 obj <<
+/Type /Page
+/Contents 748 0 R
+/Resources 746 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 679 0 R 680 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 710 0 R 711 0 R 712 0 R 713 0 R 714 0 R 715 0 R 716 0 R 717 0 R 718 0 R 719 0 R 720 0 R 721 0 R 722 0 R 723 0 R 724 0 R 725 0 R 726 0 R 727 0 R 728 0 R 729 0 R 730 0 R 731 0 R 732 0 R 733 0 R 734 0 R 735 0 R 736 0 R 737 0 R 738 0 R 739 0 R 740 0 R 741 0 R 742 0 R 745 0 R ]
+>> endobj
+679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 347.907 718.971]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 698.039 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 673.561 323.21 684.44]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 663.509 513.996 672.485]
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+707 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 639.031 329.665 649.91]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+708 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 628.978 513.996 637.954]
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+709 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 604.5 363.06 615.379]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+710 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 594.448 513.996 603.424]
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+711 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 569.969 339.997 580.849]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+712 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 559.917 513.996 568.893]
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+713 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 535.439 319.315 546.318]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 525.387 513.996 534.363]
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+715 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 500.908 278.907 511.788]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+716 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 490.856 513.996 499.832]
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 466.378 310.458 477.257]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status) >>
+>> endobj
+718 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.624 455.165 286.309 465.302]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+719 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 456.326 513.996 465.302]
+/A << /S /GoTo /D (subsection.10.36) >>
+>> endobj
+720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 431.847 304.002 442.727]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+721 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 421.795 513.996 430.771]
+/A << /S /GoTo /D (subsection.10.37) >>
+>> endobj
+722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 397.317 334.607 408.196]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 387.265 513.996 396.241]
+/A << /S /GoTo /D (subsection.10.38) >>
+>> endobj
+724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 362.786 276.78 373.666]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 352.734 513.996 361.71]
+/A << /S /GoTo /D (subsection.10.39) >>
+>> endobj
+726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 328.256 334.139 339.135]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 318.204 513.996 327.18]
+/A << /S /GoTo /D (subsection.10.40) >>
+>> endobj
+728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 293.725 290.622 304.604]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 283.673 513.996 292.649]
+/A << /S /GoTo /D (subsection.10.41) >>
+>> endobj
+730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 259.195 302.338 270.074]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 249.143 513.996 258.119]
+/A << /S /GoTo /D (subsection.10.42) >>
+>> endobj
+732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 224.664 275.589 235.543]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 214.612 513.996 223.588]
+/A << /S /GoTo /D (subsection.10.43) >>
+>> endobj
+734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 190.134 393.715 201.013]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 180.082 513.996 189.058]
+/A << /S /GoTo /D (subsection.10.44) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 155.603 392.809 166.482]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value) >>
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 145.551 513.996 154.527]
+/A << /S /GoTo /D (subsection.10.45) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 121.073 307.14 131.952]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Status) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.624 109.86 282.991 119.997]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 111.021 513.996 119.997]
+/A << /S /GoTo /D (subsection.10.46) >>
+>> endobj
+741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 86.542 301.8 97.421]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 76.49 513.996 85.466]
+/A << /S /GoTo /D (subsection.10.47) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+749 0 obj <<
+/D [747 0 R /XYZ 89 770.89 null]
+>> endobj
+746 0 obj <<
+/Font << /F70 324 0 R /F11 387 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+798 0 obj <<
+/Length 1380      
+/Filter /FlateDecode
+>>
+stream
+x��XIs�6��W��@ ��Ngg����jsH2��e&\.�����I�$�v�8mO$����[>Ys
YoF/ƣ��Y��D$��V�,$^����h�|
[~{8�`�
=|2~u2>s�W�ѷ�)da�?�hl����gd�`��B���ֵ\TX��[�?FH����깖{��X�Sߢ{+��.�dQ��K>��$Ϧ5��E�wzt:;4�k�6瓓jƥF��/	��I*��
���.�b�V]�g{�@�zi��k����Z�V���VA`S�3�n(�>m';�}\w؝�m�ۉ�p0��y-���)���bC�
+���}�:���~�i�
�m��
�
��fmU�G
.��!�Ҝ5�z�pHh��U�Ͳ�KW
+|zAɆ�d �Kc�C�':�|99|�x�d�݉�� ��Qo�#S�^s^�t<��WS嬷&�ʦ��x;�8
+�ئ�����dX���^T�0�i�d�<��� 9vpNA�]����MYÇ��
+��6''�0�W��HI�7}d2��
��ݠ�虜/�i� ���Y/n�k�`�J���p?��ij�W];yu���
)��Y-�g������K]�X��oY���KP���㿜�ج��4�?���/e�:�
^��4]��f��A6� ���s{��fr��{{�e#�=�j��I�7� ��n����!V�#����P��� �1f�AD�uI
�Z���'���q1B�~Wͺ\���U�����5~��T����j4��k����X��**޲r�1��s�P��Q	��b}���\�s�<4�{�
+.��
��
�����A�b�(	�	�ib.�Яl>
����P��CĊ��(6�-Q@ �Bm7��ӷ�s���3�b`�F��+}e"��2��bL��	���P4�
N�۾
�|y^��'�H��
ؤ���
p�D���r;�

�N��H���
��ZZ!m�7^π-�ܕF4�a�x��Ջ��Z2���&���#{���2'y
���(Z׏����vmH�%��Li7�M�M��tE�������E͛�����	a�O�
��[�>۳Y{�H�>8a(�4?�GִK��
^��u�og� /���
�U-�`(��=2b/��Y��Cpwq
ya�/�:8�����OKV,r.x��r��ZI
��.eU�����;]�* �����6s�^0"
%�}�76ܓ�ߠI"L)����r���G�o��@�Z�
�ܵ@y�5��(*a20Jo��L��+Q�u�W�i�*�$ɣiP6�~&�A�;Vv�E��F]��l
{H�7z�5!�|u��\����wq-Jz.$�41�tٶ�_��
*��K�b7�֛)�P���
�
���&]a��p���s�

+endstream
+endobj
+797 0 obj <<
+/Type /Page
+/Contents 798 0 R
+/Resources 796 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 743 0 R 744 0 R 768 0 R 769 0 R 770 0 R 771 0 R 772 0 R 773 0 R 774 0 R 775 0 R 776 0 R 777 0 R 778 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 784 0 R 785 0 R 786 0 R 787 0 R 788 0 R 789 0 R 790 0 R 791 0 R 792 0 R 793 0 R 795 0 R ]
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 708.092 285.362 718.971]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 698.159 513.996 707.016]
+/A << /S /GoTo /D (subsection.10.48) >>
+>> endobj
+768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 674.166 361.775 685.045]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+769 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.162 662.21 242.215 673.09]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+770 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 664.113 513.996 673.09]
+/A << /S /GoTo /D (subsection.10.49) >>
+>> endobj
+771 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 640.24 400.5 651.119]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.57 628.285 426.123 639.164]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 630.307 513.996 639.164]
+/A << /S /GoTo /D (subsection.10.50) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 606.314 300.486 617.193]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 596.262 513.996 605.238]
+/A << /S /GoTo /D (subsection.10.51) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 572.388 300.485 583.267]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 562.336 513.996 571.312]
+/A << /S /GoTo /D (subsection.10.52) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 538.462 267.101 549.341]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 528.41 513.996 537.386]
+/A << /S /GoTo /D (subsection.10.53) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 504.536 291.28 515.415]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 494.484 513.996 503.46]
+/A << /S /GoTo /D (subsection.10.54) >>
+>> endobj
+782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 470.61 301.611 481.489]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 460.558 513.996 469.534]
+/A << /S /GoTo /D (subsection.10.55) >>
+>> endobj
+784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 436.684 254.379 447.563]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 426.632 513.996 435.608]
+/A << /S /GoTo /D (subsection.10.56) >>
+>> endobj
+786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 402.758 276.515 413.637]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 392.706 513.996 401.682]
+/A << /S /GoTo /D (subsection.10.57) >>
+>> endobj
+788 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.038 273.946 252.29 284.85]
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.645 365.215 214.549]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+790 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 175.538 379.523 186.442]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow) >>
+>> endobj
+791 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 147.431 402.058 158.335]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation) >>
+>> endobj
+792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 119.324 366.8 130.228]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width) >>
+>> endobj
+793 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.217 324.415 102.121]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+799 0 obj <<
+/D [797 0 R /XYZ 89 770.89 null]
+>> endobj
+46 0 obj <<
+/D [797 0 R /XYZ 90 375.87 null]
+>> endobj
+800 0 obj <<
+/D [797 0 R /XYZ 90 343.666 null]
+>> endobj
+50 0 obj <<
+/D [797 0 R /XYZ 90 343.666 null]
+>> endobj
+801 0 obj <<
+/D [797 0 R /XYZ 90 291.048 null]
+>> endobj
+802 0 obj <<
+/D [797 0 R /XYZ 90 222.66 null]
+>> endobj
+796 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+842 0 obj <<
+/Length 1203      
+/Filter /FlateDecode
+>>
+stream
+x��YKw�8��W�
�Sc	�ó�$i��4�4�l�
��B��#DR�׏��8�4�I�B��w��������} ��=�
ߘ�`����ni\��
�! �g�Ld9�yoA�FC��9*�%X�M
��
��m�'��Z_�g����n �H`@)³�Ј���W`,��lw��;.�f���Pڂm��m�!���6�R�k��p��q5�
q��J=��D��Y���X!��hUf�[�$(��Adm��i����p
����-�����1B��?�z:��
c=����PB7���A��p#�nIر|�,�����鸨�},�W�^�=���h
��6~f��,�*]dʅ�p))���~�/R�9w7;��FDoz�8��lv����r]Q�wdz%��f�^�yE	J;c����e�I
+5�^���/y�[!�&��d�t��Uݱa��WPRf�LhFP�Y��.����p��|������LV�{f��c^
4�P9�YZk��Ј'�c��!4QV����=_V�y�I��֘���j>"�&���Y�A�!-�;
��
��υ	8�-4Ac���ԣ?����Y�N)It�=�+��ž85
i�Au��r�P�|)$+X�t��Y�'835�? �[�g����^�
T�y�i����Gʓ
+������
����:PQR�,ܮ?y1�K�i�D��a�4FY��@���=����7 �J��1e8��~�
+����1m"ٳj3%D���m����i���3H�)���m���Pű��
�9���˴�V
�vJA��,wC�&n6[�`���8�����<�8���
�!���ϛ�V'�FM,70��;�	

D��P�1e�*�
s����,)?6\�����S�.��9��E�dO��oqf�M����
���s�q�@���O*Mee�
�1p	���Լ;�r_��R��J�"IU�SMM?uģ��(.����i��s��'U*��֛�r�����}2-K5�*�2�˨J�~洱�=K�
;pܗ�%�#ߞn�N�Ɓ����od��$����K���j�K���Δ�QQ�l������v����6�ݯm
]��%�L����G�y���=
'�|�=��R��c4Z�I��2�g����>��6e|^�)�&s�7��yz@��


��n ��#��
���C51��q\�=ٜ��
J)1Z
+endstream
+endobj
+841 0 obj <<
+/Type /Page
+/Contents 842 0 R
+/Resources 840 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 794 0 R 813 0 R 814 0 R 815 0 R 816 0 R 817 0 R 818 0 R 819 0 R 820 0 R 821 0 R 822 0 R 823 0 R 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R 830 0 R 831 0 R 832 0 R 833 0 R 834 0 R 835 0 R 836 0 R 839 0 R ]
+>> endobj
+794 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 284.887 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 679.922 317.106 690.826]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class) >>
+>> endobj
+814 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 651.887 289.002 662.79]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+815 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 623.851 323.323 634.755]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+816 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 595.816 282.377 606.72]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 567.781 316.698 578.685]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+818 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 539.745 348.07 550.649]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Name) >>
+>> endobj
+819 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 511.71 346.964 522.614]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value) >>
+>> endobj
+820 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 483.675 327.029 494.579]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Degenerate__Element) >>
+>> endobj
+821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 455.639 344.344 466.543]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+822 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 427.604 286.8 438.508]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 399.569 298.427 410.473]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.534 376.772 382.438]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 356.843 232.722 366.748]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 343.498 411.073 354.402]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 328.808 389.318 338.713]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+828 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 315.463 280.693 326.367]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+829 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 287.428 315.014 298.332]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+830 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 259.392 308.121 270.296]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type) >>
+>> endobj
+831 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 231.357 303.936 242.261]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+832 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 203.322 338.257 214.226]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 175.287 331.363 186.191]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type) >>
+>> endobj
+834 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 147.251 359.019 158.155]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 119.216 251.374 130.12]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.181 340.469 102.085]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+843 0 obj <<
+/D [841 0 R /XYZ 89 770.89 null]
+>> endobj
+840 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+870 0 obj <<
+/Length 1257      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�6}�W�m%��)�^�lR����,Z�
��x)�^��˛d�Iq-��'ICr8<䜙���P��G��Iop���}:�d��@q-_�
�5S�Thi_&7��x��;t�^<�O.�'c�ֻ���
�C��u�S¤��(3*�Q�n����ł&}�ʸ�gHS��IήIpt���0t�<Ch�ɫa�S�@
c�粁�CҮG��@]"��`�ś<#(��)Ad�9���E)F$���$8ϣ,m̱�
\yP񨝎��Pw,��
[�%��M�s�\�x�*�@3]UL�7f�[}�Vk� �y��E����g `�8
 B>e�2�
�9'�e�Y"��x��>����a,?F
�9&8
�@N^��`q�Z S���\<�u�
����gFn\&�������9�ɚh��F	�[Ci)�mV�E-�~�E����O)m
�QZ��i�5
�
T�
j���f��H���'6�$bU�eP�;a��������e�B�Q+�e`(��+$�a" "�AyP�"	e������Ht.
��!���(��nh�R*2��aIT�i!|����{6���B6ذn
�@CI��w2ۃ
�u
<�`\��xVi
�/�̵��E��Ԍ�/��f
�j����Cv��n0�iσ��:Z�͹<f3|<w�����
O|X����W 3c�����
p%MX�Er�Ak�Y""L����;�-��M�W��/��^	�C��q��X��7�AC�l����![@��h�n�ɒKf{óW(._y�f)��v/�)���v��Q�~'���_��2�c
u�`���7�1w^�aѩjL"UD(��u-EޥP�\�<P�/QX׹	N��_�΢�Ct8j=1�!��$
+����h�\�E�$�y��b1	���X$��=���%�P9*5�K���V��
+��E%��s�]�g��Ȟ�dv,W
�*W>15R);��#�Q�R7�N�<���qPYŁ��˩4/đ���:��W��M2��sdj�؀*�:��iT���9NWC��̫r��~'&m�5E�E���N�E�\�5S���j���Ӵ��w���Bd��u�����3�ru��
�� ��u!o�}��)\'��1�ʶ��T_������kz���l�hU�6Ye4�/7�
�+n%MܡtQ��fbd΢W��~�1���vu�6DiY���&I�[�

�{%]�T�W[+��W��[��6��S�aU�����`Z.r�.t^^��`�ՁcTc��dW�5&�-^��?oϢ�
+endstream
+endobj
+869 0 obj <<
+/Type /Page
+/Contents 870 0 R
+/Resources 868 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 633 0 R
+/Annots [ 837 0 R 838 0 R 844 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 850 0 R 851 0 R 852 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 860 0 R 861 0 R 862 0 R 863 0 R 864 0 R 865 0 R 866 0 R 867 0 R ]
+>> endobj
+837 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 707.957 316.12 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+838 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 679.922 365.126 690.826]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 651.887 363.442 662.79]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 623.851 339.373 634.755]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 595.816 345.659 606.72]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 567.781 376.443 578.685]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 539.745 354.296 550.649]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 511.71 335.488 522.614]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 483.675 297.321 494.579]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 455.639 329.43 466.543]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status) >>
+>> endobj
+852 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 440.949 271.403 450.854]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+853 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 427.604 324.439 438.508]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+854 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 399.569 349.475 410.473]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.534 296.609 382.438]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 343.498 346.406 354.402]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+857 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 315.463 307.134 326.367]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 287.428 294.003 298.332]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 259.392 406.192 270.296]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) >>
+>> endobj
+860 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 231.357 405.086 242.261]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value) >>
+>> endobj
+861 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 203.322 326.113 214.226]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Status) >>
+>> endobj
+862 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 188.631 269.412 198.536]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 175.287 319.467 186.191]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+864 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 147.251 313.381 158.155]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+865 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 119.216 319.657 130.12]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+866 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 91.181 274.058 102.085]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+867 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+871 0 obj <<
+/D [869 0 R /XYZ 89 770.89 null]
+>> endobj
+868 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+895 0 obj <<
+/Length 1352      
+/Filter /FlateDecode
+>>
+stream
+x��XKS9��W�
��BҼ���*؂��� )�l
3�<�fl���kl�CL0^�ɣ~|���j�
���:���#�$(	i��n�;��� ��ȹj'n��}�r^Mؐ��a9�漨Y��L%8�m��z���^�E@<v��(v�y��vF0}�`�%��>�
�z�̜��?-l,È�U>��1yd'!�mf������8^�4�#���0��"�(C�yV��q��7v:�G�u�wk<�pI�f"gfXf�[>fx�s=���~���t2Q&��!�o�+�3-j.n\3қR�ڪ>e.��K� =��b<ec��'+)|���8�%ȋIG�r %:+�\�g�t�� ��)��[�4�_���$jw̍�c�������	GH
I��$B�{�(

+⨡�%ŒY$!�H��A�2nRf.!m�'���[�O}
+
V�g�#��s�@��	
/�~F�5\���=G��{јj}݌U�x���%!�̥(�f�559��q�:�b(Ś?$�bl���>�&uz�1
�,�MT��#
'%�*�_�6���΂, ^
���b E�O�8%������RYqjTޘ����FO(3���
+=K�F����4
��rZ�����V�����|���gr�
��+%^
�癑��}�[6Km*�
�Q
��>���p�4��w�>�Z�U_���zQ{I��C���ҾtG��c��W7���d�,s0V�pa���1YN�pz����O��j���
�����N
+�5��p;��|8�V���ٴN���%��T�O2.K���|Z�A�m�cP�Eg�!˲�`�ѤL�S�L��� &ݒ��$��/x��<ߜ�C���
;LP�R�GB�
���.����]�-\VU���h����[�����m��YZp&l��;g��ܿ�W5ϷU}ha+�r��#WՂ�[�qˑ�"�-��$�;�(�d�޾6�t���.U=������f-��%��n�6��ʺ�秓
S+
��%$���k0���{�����\HI�eS���<�b�GM�u��ɺ�z��
����ռ�
��B�1-F�x4Z�

�=�m3�[iX�Ԣ��i�<,s���#!J�?�>�m�)A6�lZيy`R�Hi6�
M�-3a�m���>7��S׃��L�d�*���m��5p�QE{~ޅi�l
I��.���16+����������Pvo�M�����(��شa������3��ԣ��ݫ+.��1m��S���0M���	�e@���@�%�IU�y�ط���M��'q��W��t[ד?���1\��hX�Oc�X
E�Įm���ۚ&sucG��h�0AaH-x��}
#L���/��՟v���?�=簄�,Z�? 
��
+endstream
+endobj
+894 0 obj <<
+/Type /Page
+/Contents 895 0 R
+/Resources 893 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 878 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 884 0 R 885 0 R 886 0 R 887 0 R 888 0 R 889 0 R 892 0 R ]
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 535.87 218.955 545.798]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 521.904 262.113 532.808]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+874 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 493.931 276.42 504.835]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow) >>
+>> endobj
+875 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 465.957 298.955 476.861]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation) >>
+>> endobj
+876 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 437.984 263.698 448.888]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width) >>
+>> endobj
+877 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 410.011 221.312 420.915]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+878 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 384.095 181.785 392.942]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+879 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 354.065 214.004 364.969]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class) >>
+>> endobj
+880 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 326.092 185.9 336.996]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 298.118 220.22 309.022]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+882 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 272.203 179.274 281.049]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+883 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 242.172 213.595 253.076]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 215.175 244.968 225.103]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Name) >>
+>> endobj
+885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 187.202 243.862 197.13]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value) >>
+>> endobj
+886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 158.253 223.927 169.157]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Degenerate__Element) >>
+>> endobj
+887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 130.28 241.242 141.183]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 102.306 183.698 113.21]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 74.333 195.324 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+896 0 obj <<
+/D [894 0 R /XYZ 89 770.89 null]
+>> endobj
+897 0 obj <<
+/D [894 0 R /XYZ 90 721.073 null]
+>> endobj
+54 0 obj <<
+/D [894 0 R /XYZ 90 668.808 null]
+>> endobj
+562 0 obj <<
+/D [894 0 R /XYZ 90 634.014 null]
+>> endobj
+58 0 obj <<
+/D [894 0 R /XYZ 90 634.014 null]
+>> endobj
+898 0 obj <<
+/D [894 0 R /XYZ 90 553.842 null]
+>> endobj
+893 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+929 0 obj <<
+/Length 1221      
+/Filter /FlateDecode
+>>
+stream
+x��Y[w�F~ׯ�pN�$n}K
'G�
���;��a�7V�Ŷ��;{	9M��"��e`gg��fvvi�����_W��i������Z�4o��
o�v�ۮ�q�N���i.tҳ������%�6:_�>�,��4K�wL���|t�i	��iȜ�� ~ʵ�=�g�-G���2��)L�m���7Ͳ��gY�eI;^c�A:��Q�BzJ�(˶R
g�‰j�˜!�
6��
:m�pR3G��)�i���q�a۶��lmlMM
)lnl��tҮ���FU�>pL�T�������`f���?�����4	��W|�<@�5�1Qt��P�͑�RB��6
�0|�m�C/���O8f���
 [8g��-��_!�"����B���S4׍��a�HH��. �l��@��M��-<bF�A��=�,��H���?�W���p�F���(D�]pץ1�t���i`�ۊ�'4*��ß��Çk�ȹ�_��Ώuv�ɸ��纻jb�s2�� vNK��}�;�_e�&�>�g��w}N@�������{�d������\VG|Q�2 ���i�ゅ�1�0����U�V�8���VmDZ­PK�H�ҔjXP�z��^��,����|�O�T)��͠�.Rv��%p}�yf�*QPd–IE��P�x�)���
q$6%�*�[�	��-� Y��AN�bxF�G�
BvL �qZ�>��$S��Z��yS5��� 
��
"O�zM\k\�"�oeH���
+����*�
�1��8`�e��IU��K
V���I��ސ���H�
�,����H^t\}(�r^���7(���H#֢�C���G�eAD��
���|ߘ5t�zAS��%KR�NQP��#ikU	)}K �q֜a�k(����|.J
+�׎�<6�ۼ`2���E��9H�
+Z��-���HVmq��U����q����C&\��=?��c9�
2��,�<�wW�;|�i-*_;n�hvϷ����_AP��ȟ�%M�}����!�$�q����{NR

FSy�|T�9��pmӳ��^}�u�y��;��#d"��l�q�->6}�`2ϧ�k
+�v�Ơo�S(.R <�
��/.R|>ΚA�
�bq!�"��#)�����R���Gx�T�*\�ďm�/����]�P ���D<g��x
+z��a�t�����5��q! ���>ꎱ�/��m�V��4!��g���L�ZM��
?�%n�:sA�.
a���i��
+endstream
+endobj
+928 0 obj <<
+/Type /Page
+/Contents 929 0 R
+/Resources 927 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 890 0 R 891 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 906 0 R 907 0 R 908 0 R 909 0 R 910 0 R 911 0 R 912 0 R 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 923 0 R 926 0 R ]
+>> endobj
+890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 694.851 273.669 705.755]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 680.075 232.722 689.98]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 666.645 307.97 677.549]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+901 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 651.87 389.318 661.775]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+902 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 640.497 177.591 649.344]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+903 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 610.235 211.912 621.139]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+904 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 582.029 205.018 592.933]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type) >>
+>> endobj
+905 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 554.8 200.833 564.728]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+906 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 525.619 235.154 536.523]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+907 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 497.413 228.261 508.317]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type) >>
+>> endobj
+908 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 469.208 255.917 480.112]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+909 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 443.06 148.271 451.907]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 412.797 237.366 423.701]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+911 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 384.592 213.018 395.496]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+912 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 356.387 262.023 367.291]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+913 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 328.181 260.34 339.085]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 299.976 236.27 310.88]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+915 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 271.771 242.556 282.675]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 243.565 273.341 254.469]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 215.36 251.194 226.264]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 187.155 232.385 198.058]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 159.925 194.218 169.853]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 131.72 226.328 141.648]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status) >>
+>> endobj
+921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 115.968 271.403 125.873]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 102.539 221.336 113.442]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 74.333 246.373 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+930 0 obj <<
+/D [928 0 R /XYZ 89 770.89 null]
+>> endobj
+927 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+954 0 obj <<
+/Length 1507      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���[%�fH�>
��)ڴ��x{I
+C�iG�,�����~�7ْ�^![�(SԹ|<�#�1�V�^�~���.Cl�(h`M�V��Ћ����uk쌩��yRU��L�5+�����������a�f�r:�4" ��QY�zt�[
�~ca�Ƒ�Y.Z[
ua̭��#����̈Z�x�LBc�#+$�,}�%ea�6s�0�P�j,
��-�w��g5�8w<�.�xW!��zv
"3�
���E�hx�(�;Y�cc;�p�
+�Ҙ\�%B��!��d\�:�/��� Qx�JǯjE���̂��ʙ�N��E~dV�ֱ�?�0
�>
+"�+�J�Fح@]�q��
��s�n���J
I�0�����|��&e��g
���fs��ݏ��Z��J�O���s��Y�R�sP����9O[��W˦He�� �Ph�Y��.���Qb�����c�IR
�
��jWd�"K�c�z2�`i&���/��@��Ԍ�BH��ǽ� 
40e��᪹�6����Lx9��z���8��ʁ5�y���� ��a{%��iN�(NS+�ɺM��z)lV4��d��,j^�3�D�!�g�a|,ZBF�D��8p�zfh
��y�{b6�6F�������H�sH�SYU(;>��%������US=6��1*�:-�"L��w����O�V����Lu�Is��6K�?%mO
׷9cC��3A w;�=�k�'C\j��S�*g��̘��h�wK�,E�֛��SՊj����b�kx�U�`
+��
�U�M����n=���]w`��̧-5%)�E�֖ɏ<���v�4�;9�iP:u��Pl�d\\�~�
���x�,��0��+]��q
������ٰ�u5�a�@���l|�����:����k
+h����NEA[�!�
�b��[cW�x�.E.�!�Lj �	 .X�d��9��*��qd� � ���0��gO&o�ÛDX�u���We�R���Z=�*��C���y��喰����*�B��'Y�R����U��3Q���jqۼPo:�5BP��ʵ�#��Q�1�.͛�I�̜��Ye.����� �^@5İs��o ��2
D�W�b'$OH�>��ҏ��66��$�!\B�"����ևt��m'Ru
;ʉ�0������
R��;r��b�H
��b�I���s���8�wN �r�$ ޽Ø��
slS�إ��䓨k�ġ^[��>��k�t�+8+R���?�+M��4s���^�~��s���NQ�fj�<7��>tԜ�XA��|�v��=U'�a?�ِ�K8
�Ϊ��Z{�u�QĐ��(ȲSB`��w� ���۹���(J�G�"?�zEM��?�M�U$�o
���ϊ�g��Ѥ�.)�^�n����d��pT�4ȹa&䔟-�t%��֓(������旳�y��X�BPD�1��!�p@̷m3b]��&ג���P��	
+�H5x��'�
�
�T�8|�/͇z���ڵ.Jؓ��)� 
8�
+endstream
+endobj
+953 0 obj <<
+/Type /Page
+/Contents 954 0 R
+/Resources 952 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 924 0 R 925 0 R 931 0 R 932 0 R 933 0 R 934 0 R 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 941 0 R 942 0 R 943 0 R 944 0 R 945 0 R 946 0 R 947 0 R 948 0 R 951 0 R ]
+>> endobj
+924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 695.658 193.507 705.844]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+925 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 666.915 243.304 677.819]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+931 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 639.865 204.031 649.793]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 611.839 219.115 621.767]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+933 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 583.813 190.901 593.741]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+934 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 555.787 303.089 565.715]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) >>
+>> endobj
+935 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 527.762 301.983 537.689]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value) >>
+>> endobj
+936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 499.736 223.01 509.663]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Status) >>
+>> endobj
+937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 484.074 269.412 493.979]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+938 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 471.71 217.471 481.638]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+939 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 443.684 201.601 453.612]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+940 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 414.682 216.365 425.586]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 386.656 216.355 397.56]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 358.63 210.278 369.534]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 330.605 216.554 341.508]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 304.636 170.956 313.483]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 275.529 192.544 285.457]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.333 197.097 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_a1ed95ba05855767fd9fd6bf04f9e9167) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.913 74.333 278.162 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+948 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.065 74.333 334.082 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+955 0 obj <<
+/D [953 0 R /XYZ 89 770.89 null]
+>> endobj
+956 0 obj <<
+/D [953 0 R /XYZ 90 246.146 null]
+>> endobj
+62 0 obj <<
+/D [953 0 R /XYZ 90 176.027 null]
+>> endobj
+634 0 obj <<
+/D [953 0 R /XYZ 90 143.976 null]
+>> endobj
+66 0 obj <<
+/D [953 0 R /XYZ 90 143.976 null]
+>> endobj
+957 0 obj <<
+/D [953 0 R /XYZ 90 93.392 null]
+>> endobj
+958 0 obj <<
+/D [953 0 R /XYZ 90 93.392 null]
+>> endobj
+952 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F11 387 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+973 0 obj <<
+/Length 1967      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�Vij��LO��N�$uc��d<��L�(\�����fYV
�3=xb{��6�u6���:{~1;>
]'"Q���ʉ\'�"��8�L,>_�qx �8�g_�������s�6{u1�:���:��$�:�}��:	L�q\�#���M��1��s>�c�V���5�
��b�����	)%�"��4K�Œ��<.�oդ�\���8Ùm\-�?�s��
+��������
��,-dl6�s�o�粮���^$�3�,�<-��ΉV���4*w�	<�,)'��(�'���!Td�1�������]w�V�w�
+�2,=x��R*
�>j6~r}���Z+���$>a,DI>Ȧ�
+c��Z
���@�cǧ �(� Bp
��:�qט[J|�M؈s�z�c��W
��Q
Y4�i����4C��k��E0;�
+4$<|�U��A�T���b��v�Ti�1��Qz\���2i���\��y�I��*��F&V�����]�z
+�D��R^�2 at D	�'u�%~�	�r��ǁ����=RnjʼG��0_�~4�t�h*8	��%gDp��K �-���M�f)L�W���m3
��`B�x���'�����O>y�����}h��\}��f�ǕTY�W㷎/�P���
+
/*�+*���D� J1-
���9ߟ�&&\Q��"�}kF�W(`T�pke���D ܮ�61���3@�.�:�]&R��@��Gq��P�ӫ[�\�m#U��I`�5��>O�H<��
h?�
���BK�=0C.
���� '�ab�
`���Pܦ����ṇ9F-�gSIsoQ&��cU't�����\��[�"I��Э�����*����BV��U��z+��3�]#W��S�n���@��d�o��8k�8��H
+
+e�? ���K�H�{R��e�m���6�dY������6��
A>��¯l�Icl�BeY68RV:�!U��
#UG���k[�Xvz��M'g��.Ϫr��|"����n�ˆ�t\E��(�#�|6`����bC�r
Т�
d��1>P�R�����[�t+�F`���Ɖ�@���_Cz��0D
z�]q*tg����ߕ���F
�R������ 
�������ػh�mȬ�wV�}p�E� ��%kw����g�iQe,	)LD$`&�C��wSK��M:��{6��0o\���NĢC/�#��Wmf�ƫR��r4aI�Ö����
��n�G �
�D |�4��7C�{��W˃����P�����Unӷd���[���
�O�dt8t�O�2U�&E�8N�B���������2�e���A�j�p&_��,Ñ-g�85����]�u#��O�vs���E��"�Y6�/��i�tu�>� �
��l
�/�.�\����
��.�dqm�7
�g��,dwIG��1�=r;����d#�
�d�?��)F��!_L��0{_��8aXa��#��]��Ly
���oY�#z��9���ʼn/��M
߮F,P�#P����l�e��t~{-�jy�2B��I�3W��yc�Y���ˌ�|�VO`� ݃�.O!$MΞ�'��Q1��l��q�1��!0GOB�sN<���˯��h}�
�0� �54��^��4{x-�^�'���o?0�
�=���]���B��;iR,�O�b��ܴ��
	�9+'�� ��}/;�������1B�b��f�]C�
����
+;^�e�mn����ap�!�Zr��=m��Ӷ�߅5��B�%~�h��D;)��co]�H@��Ǜ���?dF����irGz4wL�U0B�{�j=��"�?���y��!Ӌñ^�g����;/K���n	�-�
u���R����%:����[
�
+�g��Ŧ�7f�k��z�
h�g-��TAa,�..Z�!��V��>:w�d��K
Z�N��f������W���>;>^��Z�.�
������z��i�o��'����/%
+endstream
+endobj
+972 0 obj <<
+/Type /Page
+/Contents 973 0 R
+/Resources 971 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 949 0 R 950 0 R 959 0 R 960 0 R 961 0 R 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R 967 0 R 968 0 R 969 0 R 970 0 R ]
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 694.722 191.16 705.626]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 694.722 263.777 705.626]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_ae44414ac09129205a7f718517caca304) >>
+>> endobj
+959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 666.633 159.927 677.164]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+960 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 666.633 212.779 677.164]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_acac3d9fa21c9924c62f2221831d7b873) >>
+>> endobj
+961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 637.798 215.13 648.701]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_ac04b78a2c208b111ea763b7bbc01e20a) >>
+>> endobj
+962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 609.335 201.302 620.239]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter_ac1ce31354ecf79ca6c6c819059ec7de6) >>
+>> endobj
+963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [104.984 536.799 188.171 547.703]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter) >>
+>> endobj
+964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.661 536.799 496.91 547.703]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.979 524.843 513.996 535.747]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.296 475.055 396.428 485.959]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.864 401.03 513.996 411.934]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 210.153 240.255 221.057]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_a47b1b172706010e446aa8055c982a857) >>
+>> endobj
+969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 119.992 304.164 130.896]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+974 0 obj <<
+/D [972 0 R /XYZ 89 770.89 null]
+>> endobj
+975 0 obj <<
+/D [972 0 R /XYZ 90 712.265 null]
+>> endobj
+976 0 obj <<
+/D [972 0 R /XYZ 90 683.803 null]
+>> endobj
+977 0 obj <<
+/D [972 0 R /XYZ 90 655.341 null]
+>> endobj
+978 0 obj <<
+/D [972 0 R /XYZ 90 626.878 null]
+>> endobj
+979 0 obj <<
+/D [972 0 R /XYZ 90 580.219 null]
+>> endobj
+635 0 obj <<
+/D [972 0 R /XYZ 90 318.106 null]
+>> endobj
+70 0 obj <<
+/D [972 0 R /XYZ 90 311.152 null]
+>> endobj
+980 0 obj <<
+/D [972 0 R /XYZ 90 229.431 null]
+>> endobj
+981 0 obj <<
+/D [972 0 R /XYZ 90 229.431 null]
+>> endobj
+982 0 obj <<
+/D [972 0 R /XYZ 90 181.037 null]
+>> endobj
+636 0 obj <<
+/D [972 0 R /XYZ 90 69.233 null]
+>> endobj
+971 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F90 507 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+993 0 obj <<
+/Length 1203      
+/Filter /FlateDecode
+>>
+stream
+x��X�R�F}�W�-RU��eކb)�	���L�d�m+#�F����綺[Xlc@��$O�nI���
Kؙ9�9��z;!vb4pS'�N�c$�M�k�`�<�`��UR,��j����H�Y:*���
��v��|"'�3Y
^����
�o=�]Y|Ř-������~�^�չ���#�+��|!qi�}
����
��!��@a���oؙ����ȹ�oZ8�2�͜���=l�Ĉ
+�T?��8��Xj}�-!ϻ��
+pw���_#Đ�†�3�Dp-b�W��):��8��bQނ�y��Ƚ����"FqL�!q$¸E�.&���	8#�&pg�� `-��#U�� s��(��G����ܿmڅ��B#h/t뎁
t
�dQ7��g+}� ��eh/mݧ
1
[�
MGRa;r$�G�{�.
}���+� �M
+IQ���AA*������6��njg�8��c���*ґ2��d����H�8��7�εѯ��GϪ�3���Þs�
�����'�����糋g�
p#�D��R
u|�QL
n?7SΦ�N��_���B���Vi>3aK�ד���U��븢�3j�)�}�ӗ�{�G��{?��j.����l��*SG�qUZ���d�"�Y�pd*iC�1{OVI���
+U�'�q���t��V�Ou�B"!
+�5=dlt&��z!�*���GS
R�m�d#�w*މ9��\Ie��r�(��e�iO��S1��VX
zJ A^�)SL��o�ُp#��B���O
?u������[>�#�M��v����@��)F�7�s�V�[�o�N��n1�J��@�
+�B��Dwm$�}.W�,7�[�~b�ߥ���tyzqt؁
]�e:�mpFi��OD#��Pީ�t�������Օv����8�B;�)�oҎ.�v��߬
�01��b��vt�n����c���hG
�*�T��%���06�r�ߗ�ݣ��0��X|I�t���1.���*7kYV�[�6/d�]��ࣞ�#xU���2�Q�`���?���m���n@�7 at qť��q��m�<;;ы�MQ�ON�|�Nf�F5��i-�cstY�����˗$_'�D�͛O�TA�	�|v.�mn��wǮ~S�b�{��>�K5�yU�>���3��B?I���a�p@���Ų�v��Bk���6���Im� �700�?���\���`�h���%���3��[@�
+endstream
+endobj
+992 0 obj <<
+/Type /Page
+/Contents 993 0 R
+/Resources 991 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 983 0 R 984 0 R 985 0 R 986 0 R 987 0 R 988 0 R 990 0 R ]
+>> endobj
+983 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 629.763 210.547 639.69]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a1834eabb1a60cd21454609bb6af2b70c) >>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.907 233.222 611.835]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a20f960ad44478ccbccc6ba807c88ec88) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.06 166.812 383.907]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation_a5989bf59e335673996e366dbea747064) >>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 146.051 147.454 155.979]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a0940a9ce95b204cbc7b0ba075e3802be) >>
+>> endobj
+987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 118.196 152.436 128.124]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a26d3ec66128ed1a32ecf5905b0beae28) >>
+>> endobj
+988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 90.341 152.436 100.269]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a6a6f001254ef8c3b3eddb432ca6e9dbe) >>
+>> endobj
+990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+994 0 obj <<
+/D [992 0 R /XYZ 89 770.89 null]
+>> endobj
+74 0 obj <<
+/D [992 0 R /XYZ 90 721.073 null]
+>> endobj
+995 0 obj <<
+/D [992 0 R /XYZ 90 647.76 null]
+>> endobj
+996 0 obj <<
+/D [992 0 R /XYZ 90 647.76 null]
+>> endobj
+997 0 obj <<
+/D [992 0 R /XYZ 90 618.171 null]
+>> endobj
+998 0 obj <<
+/D [992 0 R /XYZ 90 572.775 null]
+>> endobj
+637 0 obj <<
+/D [992 0 R /XYZ 90 479.449 null]
+>> endobj
+78 0 obj <<
+/D [992 0 R /XYZ 90 472.787 null]
+>> endobj
+999 0 obj <<
+/D [992 0 R /XYZ 90 391.977 null]
+>> endobj
+1000 0 obj <<
+/D [992 0 R /XYZ 90 391.977 null]
+>> endobj
+1001 0 obj <<
+/D [992 0 R /XYZ 90 344.847 null]
+>> endobj
+638 0 obj <<
+/D [992 0 R /XYZ 90 251.521 null]
+>> endobj
+82 0 obj <<
+/D [992 0 R /XYZ 90 244.859 null]
+>> endobj
+1002 0 obj <<
+/D [992 0 R /XYZ 90 164.049 null]
+>> endobj
+1003 0 obj <<
+/D [992 0 R /XYZ 90 164.049 null]
+>> endobj
+1004 0 obj <<
+/D [992 0 R /XYZ 90 134.46 null]
+>> endobj
+1005 0 obj <<
+/D [992 0 R /XYZ 90 108.33 null]
+>> endobj
+991 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1014 0 obj <<
+/Length 1229      
+/Filter /FlateDecode
+>>
+stream
+xڽWMs�6��W�V�@ 	��t:S;q�i��6;=8
EA2S�T�G��
��IY�]W͉ >v
v�ZY�z;9�&�
����r+ZZ!��"��oa��
v>G�,���
����?Fo>F7jl�&�|��1����'������wF^X�z����̺��1�-<�ć����K�1 >Qʴ���{�ja\��X�.��>��nf�ߙ<�N/j���!����r�+��8
.e؞�u��1D�Z�>�`v���r�����	�C�q	X�e
��\�U�_���N�|t�	
�
+Dh
����N�]e��c��
m~Ҽ�a�J����n�ق�G��7��;i�,��Y˼�5 ݵ,��wi�N��ڴ�
���^�\�q��_�ź[);[YV8���i�2]�0��|5ڼE̹������w�l�<�|��,rl�ng=Q�K�PlS��C�a2F�1vA���s��)n�r
?NӉ�-�
+19�
+
b��A�a>\����M�9���;�(����B�����X%�?����2�x�Ù�ζ{@ �g�
p��A\˥#lY�<������"_ ��b�l��p�N���3 AX7�'m�gqU��ޅw(�]��ȃ����m�5u�����$�u���M&U���n�x���m��E�F�8����-��`{��ᱎ]5s�Y�&f��z���M�(ͨ���w��#|0���vv��aW��0
��8�"�zf�>k$
� �� <k�lQu,�w���b}2:^�J|�I��0HC0
4���!�#��F����eh ��r�M�`�.ڱ=
��T�~��틸l��Y&�.�w@͈H"�'���s�JZ
�q
����_���uS��εj6��w2k`���]�!/�cP��9�1�pv��!�C!��n��OZ��`i�$��"i �GTI�U�@4OU
���B
+	�u�ZH��8�W��)�w����n-t�<�Xx
+(�T5#W�G�
���!	9����0�c�u�*��*U�ҧ^Qua��[_� �e�w��4�"k��ӑ�����O��B(�X�ߜ_!�1���a[vkڎ��ڳ^`������7�=H9
+��/���g;g,
WW�M��0�t��8_5񪝨^*�RkB�v�Y��'�1��q�ę���ײ�Jlu� ���΍���l��~���g>
m!�i��wu�y5�ΛU%�J@�
��b!���ۋ޺(e��ε�G���<�,
+endstream
+endobj
+1013 0 obj <<
+/Type /Page
+/Contents 1014 0 R
+/Resources 1012 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 899 0 R
+/Annots [ 989 0 R 1006 0 R 1007 0 R 1008 0 R 1011 0 R ]
+>> endobj
+989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.933 152.436 718.861]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a239f39386ac001c6c20a50505e8bb671) >>
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.787 172.889 403.691]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ac0b40b5fd7fce9c2e70001fe21b04ecd) >>
+>> endobj
+1007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 349.204 146.976 360.108]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a8be0080275e869b6858313f3ce58879e) >>
+>> endobj
+1008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.488 305.621 136.655 316.525]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad3af2e55a3f9bb1410625b2f98a371e1) >>
+>> endobj
+1011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1015 0 obj <<
+/D [1013 0 R /XYZ 89 770.89 null]
+>> endobj
+1016 0 obj <<
+/D [1013 0 R /XYZ 90 721.073 null]
+>> endobj
+1017 0 obj <<
+/D [1013 0 R /XYZ 90 655.996 null]
+>> endobj
+639 0 obj <<
+/D [1013 0 R /XYZ 90 541.566 null]
+>> endobj
+86 0 obj <<
+/D [1013 0 R /XYZ 90 525.161 null]
+>> endobj
+1019 0 obj <<
+/D [1013 0 R /XYZ 90 419.625 null]
+>> endobj
+1020 0 obj <<
+/D [1013 0 R /XYZ 90 419.625 null]
+>> endobj
+1021 0 obj <<
+/D [1013 0 R /XYZ 90 374.308 null]
+>> endobj
+1022 0 obj <<
+/D [1013 0 R /XYZ 90 330.725 null]
+>> endobj
+1023 0 obj <<
+/D [1013 0 R /XYZ 90 251.933 null]
+>> endobj
+640 0 obj <<
+/D [1013 0 R /XYZ 90 139.23 null]
+>> endobj
+90 0 obj <<
+/D [1013 0 R /XYZ 90 122.825 null]
+>> endobj
+1012 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F81 426 0 R /F22 1018 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1046 0 obj <<
+/Length 1729      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[��@�G
�$�����}J2��(N(R!)�����A
�
���t�/"�{}��]�z�G�������UL�����˅�R/S""�7�>���x<a�R-�����r�T�FN�b��f;��OΦƜ�vm����.�Vʶ5Ïj��2DC�&~��_.ߌ^^���E=f�$N�l5��zs�~�Q��w�7����,����#��Ot�c�1���j����Z �i^ȼ�+�gQ7fp���Ъ���z�ew܏���ӈ�IR�	*�c��ۈ��L����^toډ�׫�{Q��;m)���8�_�8^�=f�0	;4L�&�X��f6�����<�ߪ�L5f�jSe]QW��
9
	��0	
�
0�\6s�@�k6YW7�A`�
^(�r��[�P F��r�̹8�m���8�G�'0
p߃��
XG>SA˺ʭ�<�{���L���T#;5}Y����!�_�j�٠-#�%�`��`�(DD9�c������;{�G��_[�Zv��>��y�-��'��v,Y�H� ��67[�$H�:�
�	�� �'�E��[a����F! "�
�B����@V��=B�NX�,�}"	%,Bei�!���;�vV�֥��E����e�Vv��o�# -�	xB�H8D���1��{b�r��<7Q��˘�$/���^l�N��j�����rpٚ�5�
��L�dQ�v 5N}���[P��`�!'�=ly��:�.����N��j2�)<�=h� ja�}QPS1��#�bTɮs�_��V�+]G���Q�6Tr�}T���r���4� �U[o� s�+Y�1�~�?��n��PJ�1	io�nY
*9�zC?sB�����
+W�6�v��m%Ǿ�X����-扏�Ja��j
̛E�ZJ
b/�l�w
"�h�F\z���D$�L��J���I�Ĉj�9�;���92K�)�z]�녲� ������ U���8D�,����F�5ho�7��&ʐ��N����|�V�V�b�C7�г1�-�^��H*�ѷU�S�nBD`��^��qS F���3��N6��]b0.�w
	��:IV��3p���[wK�!�
C�x[���a��b��2�7�t�M3	b;����Ѓ�>��^!{�K���>�n����u�.�p�bz��k5]��M3���ō� 2i����2�/��$��٥)�c!���[��X
�4!B�#1&f����t���T��N_ɢ���.
��fd���}S���;:���Ag�ڹ��"��E��Ky���`���9�,�xn�\/�t���L)�7�q}X4��`?�&;
n�ny0y�M�HJ~���dƝQ��k͊��+m 
+m;�������fȣ
c�w]M�hW�,�]�gV��'j���P����n
i[��դ�닖����/]���{w���q>��8���(i,�"s��ʺ���4�h:(��" �ꏦ�?��!t��1�A�#-������q:7� �掾)���]szU���P�
�
0y�c�*n���	T0�H�>Q�w��ߪnY����
+!���W�� "i
�f��ǐ\�]:{}����x�]a�o��MV�F�v��S�-'�u��j~�S�"�VVO�X�����~
+��E��=��W��	���
ʿ��
ײ���ONf��UUN�zu3�v/�1�s���"���zL�$�2���8�
ʠ���x����8���c7��#8���
�V�y
+endstream
+endobj
+1045 0 obj <<
+/Type /Page
+/Contents 1046 0 R
+/Resources 1044 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Group 1010 0 R
+/Annots [ 1024 0 R 1025 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1035 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R 1043 0 R ]
+>> endobj
+1009 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1C__Polyhedron__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1054 0 R
+/BBox [0 0 210 192]
+/Group 1010 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1055 0 R>>
+>>
+/Length 386
+/Filter /FlateDecode
+>>
+stream
+x��SMO�0
��W�4���I$��$�4�P�ô��B����nVV�#�Z;��{�^�L��5*�	���gE �q�%��5�o���f�>��P#�!\3Ȍ{ ����
+j�P{���Ȣ�=�f,1���
� �0
3vm�?mU�1F�����
�AM�V�Ӵ[5�@DJ�$֩�V���hS���2�44��S%
+C��Fvb�,
��|ĚIpU�ֹ0�(��$٤E;S�v�S�nj+0
wݏ�ed���5‰s4��P��:���tv�6��Gr��d䊕=�^�	��L�Ih����n��j�
���D����r�����w��h�&YE��.
N���{����}�(��GE�E�gM�~ŧà*g�
?U7�
.1 ^
+endstream
+endobj
+1054 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1055 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /RKBZCE+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1056 0 R]
+/ToUnicode 1057 0 R
+>>
+endobj
+1056 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /RKBZCE+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1058 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 722 667 556]]
+>>
+endobj
+1057 0 obj
+<<
+/Length 1059 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j� �O1��aI�~u!���C?h�0:n�ƈqy�����
+	��wD�����.A�
G�a뼉8���z�:/d�鴊�zPA�����C��(���
N)ΰy2c� ��h0:��ץ�O�-�
�'(EӀA��{Q�U
o[�s��m.���9��,yKz48�1*EQ�y4P�<������z��U��2O/�Sِ*�Q�v�U�=g�u 
,��٪K�
y�3���#K����gi�ZgX�^�T!˒�;�,yg|"��;"�c=�Ҙ��]׷s�骩�K�����ưT��
�G��
+endstream
+endobj
+1058 0 obj
+<<
+/Type /FontDescriptor
+/FontName /RKBZCE+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1060 0 R
+>>
+endobj
+1059 0 obj
+299
+endobj
+1060 0 obj
+<<
+/Length 1061 0 R
+/Filter /FlateDecode
+/Length1 1744
+>>
+stream
+x�UUml�U>��m�Ѳ�]��J׭�K�~����u�]�b+��
+�hG�nd��H4�BLԄH�����0��#���g~�р�f@�H��s߮�m��9���� �@P��LF�`߽G �hݱ+q`�O]
��! �o����#�/����hs�� ?GD��A�"��;S��}�(C�;��h�G}��dtf��M�?A}
�
 ��t8���Wy� U�]d\<C���i�s��TIK� �
��s
+6�N�0�W�r�V/؜���ߐ�
88m{�
z���O�f�̱�S�.�(u!��Lap�Y��M
�� �!�l.
z5W1᰷�ZI
��M�
���B
+8�ޭ�
���3�-��p�[��LS�\sY�Zs˺�fy�c�x���I�?���TӍy���`^]�.�ɗ�%%z���*~�SQ�U��: 
(ܘ�*�
��7!�V"�
�
�����|M{w���j���=��_�cD+��г�R��>t��}�h]e���?,4�AU��5��
+_����m��z��쌩�賈ԓ>��r��A=���l
+ҷ����A�KW�Ŭv��
QO�
���=��
;;6��҅7^�_ �
���drkt��"�EyZ��`֧ìPg�i3�FU�FE���;����4������
ť|���5�
����U>��,D
�dx"7ї�'�|�+r���-
+U���
��n�5��E�/k��#Z�fb��j�J�ހ��"F?��� �wJ�ä�64n
+�_
��{-�;]�爙�[6�x���o
Y �lo����܃[2|� �w1�B(�Ly�Crﰣ�a�OX��[��x��x�q�w`�3�:�־���M�P|05�559
I�_z?��5ƮKgr�
���P��x<߉��N�5��?m5���^
���f�vo�ݐ�������#G�j'W��5
�%��seQ/����V�u��`lj�
"45S�K�����[��-�nWG�L
�K��#F�oW#OFm;&��K���o���؄x]�G$
�(�#�0�VQ�\�F�^����ZB���7����>��r���~�rۦ���b���5�'���Io���M�MM}C�&[[ i
pYnq/�ݸ�Վ���z!�l~��c�����i��N���V(�A����l�
�h́\�C,JP�ס �C
<dv�����϶6?�J�����k~�Ώ����%Y	�������%�C�_�Yn�/�؟���0@��������sC'�K�A����< ->�
,8J��a�
���J��0{��ϒ�G����8�A�P�U@8�^�8�g2�p�}${��AR�E���>DC%=oT.����r�
+endstream
+endobj
+1061 0 obj
+1339
+endobj
+1010 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 416.071 184.651 426.975]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ae6b00d1beeeae893cca2817406d0039a) >>
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.633 416.071 304.022 426.975]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Degenerate__Element) >>
+>> endobj
+1026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 392.523 184.651 403.426]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ad4fd0a018fd96e10fddd740337f60ebd) >>
+>> endobj
+1027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 392.523 248.023 403.426]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 367.344 184.651 378.248]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_aba7be77030b5b01a9e1049ce41bbfa77) >>
+>> endobj
+1029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 367.344 248.023 378.248]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.836 367.344 333.302 378.248]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class) >>
+>> endobj
+1031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.796 184.651 354.7]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a5431caa9e7f5c824e9a6ac2e6d69fd87) >>
+>> endobj
+1032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 343.796 266.294 354.7]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 320.248 184.651 331.152]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a0a28bc5d3066a6ffe552a90aa688fe46) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 320.248 272.919 331.152]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 297.073 189.015 307.603]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a4980562fb3e164d31f6a0ce66b638ce3) >>
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 162.512 184.651 173.416]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a6eb50dda90cfae549d191f5124f2562d) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 137.333 184.651 148.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a922faaab6e2cb023231b56b049bca0f4) >>
+>> endobj
+1038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.222 137.333 347.688 148.237]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class) >>
+>> endobj
+1039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 113.785 184.651 124.689]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a848091b71fff6f0085950e64b6479e4a) >>
+>> endobj
+1040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 113.785 264.61 124.689]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1047 0 obj <<
+/D [1045 0 R /XYZ 89 770.89 null]
+>> endobj
+1048 0 obj <<
+/D [1045 0 R /XYZ 90 456.258 null]
+>> endobj
+1049 0 obj <<
+/D [1045 0 R /XYZ 90 407.609 null]
+>> endobj
+1050 0 obj <<
+/D [1045 0 R /XYZ 90 311.786 null]
+>> endobj
+1052 0 obj <<
+/D [1045 0 R /XYZ 90 177.394 null]
+>> endobj
+1044 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F96 1051 0 R /F72 326 0 R >>
+/XObject << /Im4 1009 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1076 0 obj <<
+/Length 2129      
+/Filter /FlateDecode
+>>
+stream
+x�Ś[s�����+xJP�զot��R��gR3�q����Raܖ�E�4^���4ЈF�F;���F�}n}�ק�<g�x��g?<̮�
�	P��yxv�,@܇OO�g����
�K�&Uwo�y�����^?��{�}�ax�9��ϑ�N��}��s���G�C4��K5h�0B�����5�S��I~�$��a��a\�^)7Ӝ�
�yn��p��
sW��{�c�%*L����|�X�S5Q��v*_=f��iE�NW��Ji1��Q�ץ�|�wV�{�Zf�a���,
�}���z`�_��đ�ϴ�� �ag�)"���x�/(gn�Q������*���Y+�~�r�'A���J�����J�l� �T�aY�1�)q� =�QjN�:���qY�6���ƃ2P
P��=(�zS�13�S�r����/���
V#�
5�iA�8c��

+xP
{�bPe�0�T��Du� �u��U��N�,D��,gA)�eݗP �#�]���M��Oj��sH_�ߧQgiq&A����\=D�^���χku���8�����H�� �!~���3��7D��]�
ӽ�`�h&X��Y���*a�6�E����]_\�j�	���
oq��I��0_�¼���LϢ���p|k�ױ,[`&��.8P�I��\z���
*���ׁ��;1^�r�-�b�4m�A�p�ng��sDE�@cj3�%��o����J�F��w+��B��)��O�/��#i���U��]̬{c�O
+��B5x
��Z�l_]D��6L�9�ܵ�S�O��!��#om d|٢J�<���P��90"}��0N��ު"���I���҃U�=�5�f2u�%�:� .��V�d�q<��3K������-�
y��ƕHD��2k���S���,�oU���s�V�w�V�F�
O�I
���y^���TȠm+�6R�$��� �bϒ9�n�!��-L�@=��'�c
B %�O>w�ͩ	V��X@}DD`[��S�v�P*
4D�~bKR�aI�d���`�w�,]7%t$
+�������!�>F ��Z�T�a�V��x at j 9z�w~�Mi;�m��
�j}A� 	}  �
�}�<
6͑�����M������W��b���M�!��O���ۃ[�eG�u� �Q}�
kO
�
+����i�,
�#i���bD+�ݧ����H�v=� 
As�M�4-q@�(Wa���g����/��m�գ����<@'O0=v�@g��(�Y����j�����Bc�W:�]'H��2X0jA���$%>�ٟ�Z���E��@����~<$�����e�吜’�#,�,e�=��A	�~��/i�K�`�"�<=��A7�L��,n
�&���k\
V7	���V�`̱�VQ5��b`� c��?

Y���al�	��ClO���nD-��+��r|ղ�
 �	C���E�6}6�h��UU-���ls�u��^xv���q�!�"v����Y�/a��
{,���3�
{,
.g��4�aI�A`E��ָ:R�qZ��E�����<�Έ�`=D����d���h�g[Å����!�ZG�Z
;�^���oc�0Q͵
+
������u�R� ��&.�^��H����d#���^��
� 
�[�Cl
�0l/O�!-���"
M��`�R?
CSX�`Ȳ�r
MaI���\��u�Wi�^�P��1y�� �$T�x
���&iJ�c�qtC
�z<��>�E,P at i�C\�Egړ�'��������
��H�Y�B�:���A�B}��D]��h

���M`��ۖ@������ݻ��4
d��0���qA�
t��c�y���y
�.�
�y�;��>�ٌ꼙?������p� }��$�L�H�}���k:
+��T���A�q���

��r�WpcGO�l��
��ֵ�
� A��_�t&2M��'_�

�I��{]=4s���Թ�@�Q��-���R|X*����Cf�ڱ_.�/>��}�7�'6��c�����!-U������]���s��&���toB��b^3�{#l�V�|AAν2��ծ��z��Y�u]�t��l�r�������P������q��b�۷��&
��)�8���ꋡ�������
+endstream
+endobj
+1075 0 obj <<
+/Type /Page
+/Contents 1076 0 R
+/Resources 1074 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Annots [ 1041 0 R 1042 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R ]
+>> endobj
+1041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 707.957 306.942 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_af495c3499ed2742d6b68bc6bc99224d7) >>
+>> endobj
+1042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.757 707.957 370.313 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [124.15 614.445 183.706 625.349]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.935 602.49 340.357 613.394]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ad51277b918f8fc2a6892b1a987f8f746) >>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.172 602.49 403.729 613.394]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.189 602.49 473.746 613.394]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 529.941 191.678 540.471]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a2cd3747157a618a88e2c95bc45451f12) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1077 0 obj <<
+/D [1075 0 R /XYZ 89 770.89 null]
+>> endobj
+1078 0 obj <<
+/D [1075 0 R /XYZ 90 645.973 null]
+>> endobj
+1079 0 obj <<
+/D [1075 0 R /XYZ 90 549.224 null]
+>> endobj
+1080 0 obj <<
+/D [1075 0 R /XYZ 90 549.224 null]
+>> endobj
+1081 0 obj <<
+/D [1075 0 R /XYZ 90 499.216 null]
+>> endobj
+1082 0 obj <<
+/D [1075 0 R /XYZ 90 440.557 null]
+>> endobj
+1062 0 obj <<
+/D [1075 0 R /XYZ 90 417.882 null]
+>> endobj
+1083 0 obj <<
+/D [1075 0 R /XYZ 90 417.882 null]
+>> endobj
+1063 0 obj <<
+/D [1075 0 R /XYZ 90 348.754 null]
+>> endobj
+1085 0 obj <<
+/D [1075 0 R /XYZ 90 344.271 null]
+>> endobj
+1064 0 obj <<
+/D [1075 0 R /XYZ 240.245 274.96 null]
+>> endobj
+1086 0 obj <<
+/D [1075 0 R /XYZ 90 268.32 null]
+>> endobj
+1065 0 obj <<
+/D [1075 0 R /XYZ 332.797 213.12 null]
+>> endobj
+1087 0 obj <<
+/D [1075 0 R /XYZ 90 206.48 null]
+>> endobj
+1066 0 obj <<
+/D [1075 0 R /XYZ 338.775 151.281 null]
+>> endobj
+1088 0 obj <<
+/D [1075 0 R /XYZ 90 144.641 null]
+>> endobj
+1067 0 obj <<
+/D [1075 0 R /XYZ 461.214 77.486 null]
+>> endobj
+1074 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F81 426 0 R /F11 387 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1102 0 obj <<
+/Length 2502      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_����,7�dk�b;N�뤼��횢4��	%�����m\IQ#%��v�q��F_�,��r�����K��
e���z�d8Q<CB¯��CJ0ғ)����^�7��|�3�u~S�:�&
+��ye1��¬�ɔ
+�>/���/ߙ��'D�f=7 at M(�R�&��__�|}����48!��@J'��ՇO8��ׯ�X��{��*���L�_��
+��`D�]�G8�&�c�iO�E�{�Ci��Hb�v2�=&E��Z��Ñ��DO�䄐�ks�{����N1�}��z��N&R�%��!�]D &UYO��Fӎ
+&D��zT�!�/#HF���ϥ:���
�D0�3	|
�_���yS�7���Y�
Y�٠	���[�I�E8�J�O�1q��
���J0eN� b"N�v=��m��?�fBEzb�?b
�S��E]����3~��'q�j��x� ��=S��
�'4�Zh?A�
��C�eɔ($!zݟ��=�b�e�W����E3<�&���m�2�mw‰FN@����
�g`�)e�4D���N��
��Y� 
���ܭ�M��E5߁�M�^u���^�]��k����A�tVU��-y���
%a�i��S�
$��H3~�Q
��2�%FB
؟|_�!�HѾG�o�ـ
äD��K�d�$�}if�n};�6� �K��4"J��BqP,ׇ|98�1?�*h�÷X������y�LA��i������ᑤ2e|�Lʸ��o�N( V\E�

+	F2�X�`
F�K���g�be�\�K/�l"�" ,,�˺�w#�
EW-�^+`sW��+� b$~�{�
"i*'�Qш�����(
6��E|�?{w4�M5�"�cq�4�Μ$ŬM��A��O�V`���ؚ1�k$u��E^n��L`
!��tE�!";�H�&<�2(� ﹧#��׹��
���9�D���>l�S�
Q��=�#��~o���D���p��'2�J�I��E�
@��Kz�I]���z(��mQ�)��T�Lk�ZO8N��eq{�S=a*]�*�f�
+6�]^��Kk��
�#� ��]RA���PC�qD�א�G?�p����뻺rEh�
�1t�P�Kr8>�]�t�-�������y��@�7+M,P��A�
��G=
R�fTq�0��'�
Z4~ݭ�i�����O�
�o��ɠ��<͋�[��9��,�f��H�WH����Y�'�$���	�I�&�u�5�H��se{<���wf�HR�5����ގxH:.��h).!P騾���|�pf�Q^�����;�������e������a�uUO������%�R�?�?�s�
��s�
��S�� 
�z
���bm�
�Ž�. ����� 2m�0`G�RfR�Ӡ2l
���6OF����?C��M�G;�^�|8e
+|��~d|����	�2��`t4-�2��*��XP݈�P�������.��ۍ���X� �M���!
���`<F�" `
?
.�ƃ�vH)��~�pF���Y�?��	���rd�$ޏ���V�]�Ǖ�N��n����Ȝ�3m�>%�v7������y
�� �M���_���<��Yu=�F���6#RX���Ul���$dlSoMG�}3s�1�ۨ���~
h	*h?����/)	ZE���!I�w�PM��ژ�y���K;�m�SۦD����(�"�:y��-��Gndq������ ])�ώ���gʠ�cΖ|�
+
�xf
�)�� Z�y^������
�B-�>
+��
��uڵ�V��v�3�d\�ct��\�����b�ٌ^-@��Ǽ�^�N&�2��(v ���ԧH۽
3
��lB�6@�vN߻3ia�n���H'�aI�OE��f̘$�$"��X����k��U
*�|_�<Fb��1�G�UY��X/�+{\���
(ę>����_�D���ܸ�����E��B���b���.a|�@�83����%�>u
),B�����PZ��ʮ#�5�f��gބ`{e�.���G��}����������b�RS�K��gǞ����[��;�۷o��/k����i�ߢ�X��f Pi;s+��=���qx������<
�O}><�Н}< &��R
L���i
+�3���I$�
�r�Ev�ש��t�_�rg�f�C6��܏�Ce�e
YA.9��l�i[�R���n�+�-�_ў�N�+�/���X��j�B����oy�l�
�N��J�(�*�wS���n������E=��jì{k��*E��C�
�R�X�h���i����l\��[I����ڊswp ��v��K�-^w�{�&_/w�2|hݻ^��%��ǿ����D�4(��|��겖��f�����/�\����$���GW���^z����w�wM������n	�X���%���߬��0h�UU�}"�\9{�X#�|L��4*��2(&JQ�Ew��7�O_�X���g���^U
+endstream
+endobj
+1101 0 obj <<
+/Type /Page
+/Contents 1102 0 R
+/Resources 1100 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Annots [ 1091 0 R 1108 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1099 0 R ]
+>> endobj
+1091 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 525.942 201.372 538.341]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 512.438 201.372 524.433]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 174.577 159.927 185.107]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a22380e8edd12a8121b5af6a60eb05da2) >>
+>> endobj
+1093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 146.478 159.927 157.381]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a27e2ee6c6e6f960cc523a3366249f5f9) >>
+>> endobj
+1094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 118.752 159.927 129.656]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a3f49d1a45b861fb12fac766004b358c5) >>
+>> endobj
+1095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.026 159.927 101.93]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a1ef0c686ebed5c06b004a0799f3b1599) >>
+>> endobj
+1099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1103 0 obj <<
+/D [1101 0 R /XYZ 89 770.89 null]
+>> endobj
+1104 0 obj <<
+/D [1101 0 R /XYZ 90 721.073 null]
+>> endobj
+1105 0 obj <<
+/D [1101 0 R /XYZ 90 654.651 null]
+>> endobj
+1089 0 obj <<
+/D [1101 0 R /XYZ 90 632.275 null]
+>> endobj
+1106 0 obj <<
+/D [1101 0 R /XYZ 90 632.275 null]
+>> endobj
+1107 0 obj <<
+/D [1101 0 R /XYZ 90 549.698 null]
+>> endobj
+1090 0 obj <<
+/D [1101 0 R /XYZ 90 503.497 null]
+>> endobj
+1109 0 obj <<
+/D [1101 0 R /XYZ 90 499.014 null]
+>> endobj
+641 0 obj <<
+/D [1101 0 R /XYZ 90 280.727 null]
+>> endobj
+94 0 obj <<
+/D [1101 0 R /XYZ 90 273.864 null]
+>> endobj
+1110 0 obj <<
+/D [1101 0 R /XYZ 90 193.112 null]
+>> endobj
+1111 0 obj <<
+/D [1101 0 R /XYZ 90 193.112 null]
+>> endobj
+1112 0 obj <<
+/D [1101 0 R /XYZ 90 163.652 null]
+>> endobj
+1113 0 obj <<
+/D [1101 0 R /XYZ 90 135.927 null]
+>> endobj
+1100 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R /F11 387 0 R /F90 507 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1123 0 obj <<
+/Length 1763      
+/Filter /FlateDecode
+>>
+stream
+xڽX�r�6}�W�f*�$ҧı3N}k�N�q2
��d����D�Ņ�
m'N�H��bqv����p��f�j28:��#���L����
+�=x�9�C�>N�:�

Lң�W����ɍz78�
>��1�9�'Zn?bg�o
���/����R��9���v�k�D��\8>!���J�^|3]��/���
��1�xx�������i˴�L��(��c;�k�q&"�A�\2ףӀ:l�s�v(E�K�1q�p]��WU�̊�6�K����.�+�G� �Ɗ��I
��|�Y�#�̾G
Ƕ�
���G	~`
�M���� V��2�|���� �N�U�v�����|���\�K�
+�8K{�$�E��@�wq�KJ'�qh(
'��U�8KK9"|��y?�
Y�����[�Iss&�������M�{�
���8��Muў���!@�2
+<d}�Q���
����&��\N }Z��J�� &]�1\3V�x�?xE�>��­�{
U�0Ł�N��yAL+��)������󚀀�H�a��w����	U:ͪt&g��#6�]��ј`��,�8�3�ײ��x�+���0��E����}iӷvT�">���j�IF
+
F�C]��J
!#��ޠ̄�4��BmM[��5^��T�rD�w���u��ab>�W+�R�FvvV�EUn8Q���I��07c���q���-�ˢP��[�_Z�y��#
��<,�����RB��dJ�
�[�:�̓c�f�&~i2�3�:��e��r�,��#f�&�Va�
w�
�.�z2�}��>���"��Y�}�!�]�#�m꯲dD�p}'g�����{��)Ơ���O�i��!�G
"�˛"�<��L��k� ��ާ �o��f��/�%Y�
�P�6C�M��S��{�.�����n$sXXmW�
���r�0g2��������.��"N��N�@��n!��#��f��I)�'�ړ�p�-N�Fru���\�Y@�ߖ�̧���^�O��~o���6�4�� �﵋

+��lY%p%�մ�E=-�B��t�-#���q*4>��
+���O�}��*�]�|:"�3 ��ЯԐ�`�SK�B��̞
�1����1��x�N�S
�Ⱥ`L��Lޗ����R�<�W<dSS<�L��N��iW�!�N����
,l�8ü�H��e	�����nH�=�6QS뤡�N6d��5��6>Q��
T�0,:ZB���<K�8�)Oqw"_t�V#݁^�&z���lC����v1J�1Ϭu�Q�!EA�]�r�#J�"�����rA��Ӧ��R+��?��(���+)��U.}���
��j���8$ p��8tl���I
+'�ji
�A����e�~Y��U%����u
+y���7��&cY<Z����/KPWSe�*��N�
Z	{�/�����Wg/��=���>?��l�WK
:�rج]��H�J�(�QXX� C�i��k��
xP{:C8��J�C�{����3����O��U��
ڬ9����6/8p�Q�$��`M�]x�ՠ��v�6'�
��Ղ���7=�|�	��Uܚ�Ӕnl�L|���{���c�Ζ�y�����1�o
֝��5��+��ҭ�v��7��v�#� ��pa?T?��n}�
�����*�m/�Ӫ�:k��Iy��U��!���̲�.������1в��H7�9��r���hZ-@�,��n�7�}�&kz�2˛]s�g7�i��@���
+endstream
+endobj
+1122 0 obj <<
+/Type /Page
+/Contents 1123 0 R
+/Resources 1121 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Annots [ 1096 0 R 1097 0 R 1098 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R ]
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.331 159.927 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_afd68df98e748af269b3588ca5504bb1d) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.743 708.331 209.76 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.759 680.062 174.861 690.966]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a88c2f2fc304b1e27f20f200efcde2a11) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.861 652.166 215.488 663.07]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aebff23eb304cef5bcd9ac11ee5d7c7ed) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.883 582.736 193.271 593.267]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_a2b3404ee14fc16f5592bb10a1a4bdd7e) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.225 493.251 200.241 504.155]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 176.454 250.936 186.382]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class_a5c1b244e9422e1c29c71844a9f896aee) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 147.941 227.703 157.868]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Complexity__Class_a00d82d93d2d0113f1ea5b615decb2849) >>
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1124 0 obj <<
+/D [1122 0 R /XYZ 89 770.89 null]
+>> endobj
+1125 0 obj <<
+/D [1122 0 R /XYZ 90 721.073 null]
+>> endobj
+1126 0 obj <<
+/D [1122 0 R /XYZ 90 697.321 null]
+>> endobj
+1127 0 obj <<
+/D [1122 0 R /XYZ 90 669.426 null]
+>> endobj
+1128 0 obj <<
+/D [1122 0 R /XYZ 90 601.272 null]
+>> endobj
+1129 0 obj <<
+/D [1122 0 R /XYZ 90 601.272 null]
+>> endobj
+1130 0 obj <<
+/D [1122 0 R /XYZ 90 554.168 null]
+>> endobj
+1131 0 obj <<
+/D [1122 0 R /XYZ 90 467.721 null]
+>> endobj
+1114 0 obj <<
+/D [1122 0 R /XYZ 90 445.345 null]
+>> endobj
+1132 0 obj <<
+/D [1122 0 R /XYZ 90 445.345 null]
+>> endobj
+1133 0 obj <<
+/D [1122 0 R /XYZ 90 384.621 null]
+>> endobj
+642 0 obj <<
+/D [1122 0 R /XYZ 90 283.569 null]
+>> endobj
+98 0 obj <<
+/D [1122 0 R /XYZ 90 276.582 null]
+>> endobj
+1134 0 obj <<
+/D [1122 0 R /XYZ 90 194.781 null]
+>> endobj
+1135 0 obj <<
+/D [1122 0 R /XYZ 90 194.781 null]
+>> endobj
+1136 0 obj <<
+/D [1122 0 R /XYZ 90 164.533 null]
+>> endobj
+1137 0 obj <<
+/D [1122 0 R /XYZ 90 117.765 null]
+>> endobj
+1121 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F81 426 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1157 0 obj <<
+/Length 1909      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[�i�  2�>��1I�7v�����`�)�����wq�"%�Gq�$�\�.v�� �-<��q5:{-��HP�]�x�d!.������
O��_�e_/���V���:M�e\ޏ%��y�/ʕ�gj<�
��i\Uv�QݨrLB߾%��g|��������ۈ�.�#V6G2�f�������;#�ޝ!ʼ�2�M���_#�݆��!����[�ּ��2��q��}tS�vQ�&Nc��2������B媌k5w�E�|�^iZ�)��|a}Ƙ���m��G
+X�M�@ԩ��R�'�4�`��"[�jL��#�﯍]��xL��]K��G�r���y��ۏ8���F
�K�ó�!\ 
�F���x([���u �#��b��� X�[<m˧X"�?�|
+k�x_�E�x��c�7PL����J��
�M��&4@��‚!Mr;��ZYh�
�\1��(#��b5e�dfu����*���*�ipW=%w(��x�p�/ʅs��4[km ��c�|�{�������RU���<���
Dž
�r^�o!�t���C\2��aӐz!�Th0Kk��룪We^md�Y�~g�	;|B��s��HCC:4ߒ74�������B���IC�ݖ�`�χ����l�_�$�
~N���t�

�PR�PHX�G��@����NP�ꦾ����u��w���r�J
�+��Y7֖P�:��
*
m�i�ض�!-���<��J��&/���bs#��F���)�����Fߟ�v=+�tU���b���
�h�i���l
+}�
SC��Ojh�̂
0�3k�j�~�-���e]��noQ��Y�\�W���8v�4"ۦ6��UM�Z�y�v]��?U�
v at D�.���.짺�.zT?��V�#m
=������qBB
@`�G��]�ڒE�f!�6��A��~����{�'�V��=�s�,�d��';�30�1�fPž�͈���^�:N���/U5+�e�Y
7��:G�/�M�r�E��Wp��͚9�@����O6RQWZ�t��66�M�1
��;V
+Q ڨ�i1m��
�!dăκ��/���J�TS�!���̒厌u���p�-���@�#!�&����DQ�P�l��Iض�N��FY����<
��1������x1���!�1�JD���_ ���
�_ęU���6�p��3΄����I�a%l��.�@Hl�*}��``R�h���

�nU�$R���Q� 7}���Z:j�6�<�Tnf�\ǩ~��s�Z�3�l����h<���簞~	H�]�M
u/�S�B�8�7��T�SޞR�I<M� pC0I�����|�ZG4d'X�X�q���?[{O��bb���'�LHG��=+�a��
�HUfz%}=fl�B钛�u��Rs��UP4 �}�+r�A����!`��:
��4!�!D��C���6��
+�Q.��	�BY���ܠ#Z�Օ���ܳ���Ӥ����UzmgHL��@�
�SU y��c*@t��c*�<���� ��`~Q�B�n�Su����5u��f�=��z�ct������
�ʔDr�P�Y/+�y$N��W�w�z
ز,�jG	}=D�q�4� ��H��o��7)�OuB��?!�6�'�?Ѽ�a�C�ON!��?���s��
Ð��Ita80�[O����V���m(�L�歪����S��:6�4��
{���e��,�$�MqhC���]���ދ��b/
�[}�sc⯹���R�/c
���!�W��n��QKY��M�9.APd�ϥjli���׬��ʴ[JC}����u�|~v6]-��/Ьȶ���XB�m��&��(Us�eO�@O�@�1=�	���x`�o�HI
Ewm^6�go3�,�'���py
+endstream
+endobj
+1156 0 obj <<
+/Type /Page
+/Contents 1157 0 R
+/Resources 1155 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Annots [ 1138 0 R 1139 0 R 1140 0 R 1141 0 R 1142 0 R 1143 0 R 1144 0 R 1145 0 R 1146 0 R 1147 0 R 1148 0 R 1149 0 R 1150 0 R 1151 0 R 1152 0 R 1154 0 R ]
+>> endobj
+1138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 564.412 164.042 575.316]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_adf1055ffa2127b453280f5491cb15ffb) >>
+>> endobj
+1139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.858 564.412 245.107 575.316]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.991 564.412 337.241 575.316]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.125 564.412 398.142 575.316]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 535.286 191.16 546.19]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 535.286 252.31 546.19]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a90cc7704ce2f0ee6c205bfa3877a7671) >>
+>> endobj
+1144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 506.16 191.16 517.064]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 506.16 257.849 517.064]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a3c4dfe2a773355c5842dbe133a7c974e) >>
+>> endobj
+1146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 477.407 159.927 487.938]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 477.407 196.739 487.938]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a894f888629036722adcbc81268cab48a) >>
+>> endobj
+1148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 447.907 215.13 458.811]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_af6656a7b76ac03bbfccba848d6a42dc2) >>
+>> endobj
+1149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 418.781 201.302 429.685]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_af0873d79c213b1552008ea16229b58e5) >>
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 348.142 159.927 356.989]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 348.142 180.131 356.989]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_a6f45bd1aa87e7b459ee0d93a65ff05db) >>
+>> endobj
+1152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 254.696 227.951 265.6]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1158 0 obj <<
+/D [1156 0 R /XYZ 89 770.89 null]
+>> endobj
+686 0 obj <<
+/D [1156 0 R /XYZ 90 674.158 null]
+>> endobj
+102 0 obj <<
+/D [1156 0 R /XYZ 90 666.788 null]
+>> endobj
+1159 0 obj <<
+/D [1156 0 R /XYZ 90 584.022 null]
+>> endobj
+1160 0 obj <<
+/D [1156 0 R /XYZ 90 584.022 null]
+>> endobj
+1163 0 obj <<
+/D [1156 0 R /XYZ 90 552.753 null]
+>> endobj
+1164 0 obj <<
+/D [1156 0 R /XYZ 90 524.035 null]
+>> endobj
+1165 0 obj <<
+/D [1156 0 R /XYZ 90 494.909 null]
+>> endobj
+1166 0 obj <<
+/D [1156 0 R /XYZ 90 465.782 null]
+>> endobj
+1167 0 obj <<
+/D [1156 0 R /XYZ 90 436.656 null]
+>> endobj
+1168 0 obj <<
+/D [1156 0 R /XYZ 90 365.694 null]
+>> endobj
+1169 0 obj <<
+/D [1156 0 R /XYZ 90 365.694 null]
+>> endobj
+1170 0 obj <<
+/D [1156 0 R /XYZ 90 315.89 null]
+>> endobj
+687 0 obj <<
+/D [1156 0 R /XYZ 90 126.942 null]
+>> endobj
+106 0 obj <<
+/D [1156 0 R /XYZ 90 119.572 null]
+>> endobj
+1155 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F108 1161 0 R /F101 1162 0 R /F90 507 0 R /F8 437 0 R /F1 1171 0 R /F10 1172 0 R /F13 1173 0 R /F7 1174 0 R /F11 387 0 R /F24 301 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1195 0 obj <<
+/Length 1377      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~ϯ���3D���}*�0���m�	���(����
�����];����
��Ɏt���9�92�V��O��&G�>�BzԳfK+Ė{����s>�^Z�
	=��ޞ��fv�fv)����&�'����9�+�&�>`k�_Z�0��ՠ�r)�6�.'M����+, [�A�ho����i;SJ�������&���+���oڣs��_�!�LD������rk�������z7��'E�*�����E6��(��{�1����Z��\	`x.���#
��s*�Q�֎2þ겉�|�L��ܡ�n�tQ�Q�[�m�ݭ46�/��!�Bd[M;H
 �#
>�N
��/��
]�e����{xT��8I�M�y
/Dݔ�=jI�]eյX��$�E�G�~*
��b��J�u$}�� 
��o�" !A���P��I�G
q�I��s�#N��=���z�0>�W��
S�u�nQ<P�-����!�NE.�z"�H�3%�=u���U at jNE��F��q���d����Q)�yԀ9V�v1�(�����Bw�4����f��.iHUm��o�
�'�3;A�n7/�J*1@����[hwMP�ͮ�lHw�����C
]mq�6��(�&z
ȁ�(��Ǣ ��C�x臕�Euʱ,���*ZciZ�x���=�4O�8�<đ���X��9<�1�I�\'�sM(ՎnVc.r۬'��/�D��w�;�rE�C�A��#�3��K�m:�a 
�#lQ��aS�!��Z,�{֧��!֧�a
��&�2�����6:Q�6�������t/�
+Q�q�m�&T/t��I."�m�s�I��[��{	h���z�2uR��Hz�n�������U����D*ȓ�q!R�2�
��
#�H���l����I����\��Iݸ����v�9��=^%��k�Z+u�Zǒz=L�'R�Z5�sҞ2V����E��~����#IŲ�ZG��J�A+rOӉ�\W���#�`G�A�}�ꐸ>�>�����j�X��]�������=$琀(w�T䣤�ҢQ�?%�ݟ��H��*��$�����7�_����EO��x҇�x�?^unߠ�[��M���T䰋ێҰ��	�VD���Dw{g4��߇�%g���
�E>�
�R�_�ő%�AK�7߻
��d=
+���&ۛ������Ø�>U����v�yq�"c�i�n�M���֠����z(��et 7�f�����+�yٿ��<�WM�2_H]�kzl^�]��7�s۸��(oZ���5����'H�ҟX/E[��|�v���~N[��.��u�yzt4oV�.+��p����{���}�ȊR�G�3�s�� $�δ
+endstream
+endobj
+1194 0 obj <<
+/Type /Page
+/Contents 1195 0 R
+/Resources 1193 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1053 0 R
+/Annots [ 1153 0 R 1175 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1192 0 R ]
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.15 198.363 696.054]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_ae287421ae1ceab78c861efb2803c1edb) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 657.059 215.13 667.963]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a559e1395399115eb381a421c8916eb1d) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 628.968 201.302 639.872]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_a6efa775d8084cb3611b1b6b512dc2827) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.91 539.493 266.363 550.397]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 527.538 160.993 538.442]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 370.199 157.417 381.102]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a2531a33c20c3cb27ea7fcf0a04339c2e) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.232 370.199 238.482 381.102]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.135 370.199 327.876 381.102]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.454 370.199 442.704 381.102]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 342.107 191.16 353.011]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 342.107 252.31 353.011]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a9fb052eb3479e107bde4cfd95599c787) >>
+>> endobj
+1185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 314.016 191.16 324.92]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 314.016 257.849 324.92]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a5b54a0e76432b52a2259a02f31fc0b83) >>
+>> endobj
+1187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 285.925 185.651 296.829]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.149 285.925 205.855 296.829]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a19ca194f097ddf860d1ad80961a5eda2) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 257.834 215.13 268.737]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_abd74986494a6e574bb0499b3b7109379) >>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 229.742 201.302 240.646]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_a6062c78f7cefbc808b99f35b72fcda8a) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 140.268 221.326 151.172]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1196 0 obj <<
+/D [1194 0 R /XYZ 89 770.89 null]
+>> endobj
+1197 0 obj <<
+/D [1194 0 R /XYZ 90 704.242 null]
+>> endobj
+1198 0 obj <<
+/D [1194 0 R /XYZ 90 704.242 null]
+>> endobj
+1199 0 obj <<
+/D [1194 0 R /XYZ 90 674.417 null]
+>> endobj
+1200 0 obj <<
+/D [1194 0 R /XYZ 90 646.325 null]
+>> endobj
+1201 0 obj <<
+/D [1194 0 R /XYZ 90 600.455 null]
+>> endobj
+688 0 obj <<
+/D [1194 0 R /XYZ 90 477.149 null]
+>> endobj
+110 0 obj <<
+/D [1194 0 R /XYZ 90 470.427 null]
+>> endobj
+1202 0 obj <<
+/D [1194 0 R /XYZ 90 389.29 null]
+>> endobj
+1203 0 obj <<
+/D [1194 0 R /XYZ 90 389.29 null]
+>> endobj
+1204 0 obj <<
+/D [1194 0 R /XYZ 90 359.465 null]
+>> endobj
+1205 0 obj <<
+/D [1194 0 R /XYZ 90 331.374 null]
+>> endobj
+1206 0 obj <<
+/D [1194 0 R /XYZ 90 303.282 null]
+>> endobj
+1207 0 obj <<
+/D [1194 0 R /XYZ 90 275.191 null]
+>> endobj
+1208 0 obj <<
+/D [1194 0 R /XYZ 90 247.1 null]
+>> endobj
+1209 0 obj <<
+/D [1194 0 R /XYZ 90 201.229 null]
+>> endobj
+1193 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1220 0 obj <<
+/Length 1332      
+/Filter /FlateDecode
+>>
+stream
+x��X[S�6~ϯ���3��Œm޶�0�e'�v�q
%x�KV�����ز;�t�Ɗ9����;G����������љ�� �
+�vn��� q�f֝M0"����
U�/���A�Tx��S�'��6:ɳ�Ta���7OE)SgL9�O��(��ZΥr�o�,�p"���s��^�>ݎ~�@��8�|+JGw߰5�חF,��F(�\��X7��G�k�ش�D�6��Aj,�<�R��a�~5ϕ^�q�8Z�t����BfR����;U����
�$�C��g
��+�4�Ǎ��Er�o� �y�A~������
���0�
:�?k�E�����
��
�8���F
s��lO`�A�@N
#!������U@�@�1�m�r��1@*9��:���S�!��觰�����vƾ���M�
`�p� `���Dz�ꯪ�P5�gK�M7+62}Lqs昺�3?��+:����^�Z�})�>
C�P�m
M�)�J�Hc���T*�>���.��v�U�3��}�ݯm
�w������e�1��=p|j� G�MX(��r��Ω��URv�VEe���1J�օX�ɬ���e�.˧�����N�E��bPA�y�Ȁ�jZ�Y�ݒ�M�j��;|��.�8��U��=�x-�Je.jT��7
���K���D�R�X�G�'m�'@::�_# AL��(o�����$�����������{R��6/��7�J� S�����̘�
y�m�өi{թ,�8iR��T���
�g"��̋�V�5mPo���;�~�Qٮ����?,��?� �2y�P3��3ԏގ��_�7�
#��e`��@`q!7�j
���P���f�'msm��w��?��ġCX��f1��Y�1(�@
2�1(� ��ņ�of���
��k��#��a��Q��
��C];Ta*�m�g
�@,�� H��/�Y3ܧ
F�*}�4��C{�WZ����b�K�O�V4X����K�׌�;'ŏ%4�i
ժ��ˆ8��8��r�S�+�犱�*��M�Jdm�!}��[]�
�����ҵ̪�tg��4�vk�}��x���S�u�m�;��@�
B����7�� hZ��9����ox���O���0�$oäyQ�Pú2tނ�b�7+��ù]
B�-��Oq(��C?řOp
T���z���L&���[�͛�a���E+xQ��
�D�?
+���]�Ye���UI_�T��)���җ�i�����2���ϡ�����O��,��GG�j����t;��͞�� f�*Di�����/�D&Y��9���8��(
+ϣ�Dw���ll_
]��:�!&��5�M�
+endstream
+endobj
+1219 0 obj <<
+/Type /Page
+/Contents 1220 0 R
+/Resources 1218 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1210 0 R 1211 0 R 1212 0 R 1213 0 R 1214 0 R 1215 0 R 1217 0 R ]
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 567.007 191.737 577.911]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_ace9427756858d751136f1e72309b9be0) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 538.582 215.13 549.486]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_a67b38d56d0f11bda997b393e7b5d7c5f) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 510.157 201.302 521.061]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_a172718f103bd4533e3971e8e69f9f60c) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.363 420.065 257.19 430.969]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 410.167 132.51 419.014]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 251.593 155.753 260.44]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Name_a3d873e83cf77a02b55c7d6d6d245ed23) >>
+>> endobj
+1217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1221 0 obj <<
+/D [1219 0 R /XYZ 89 770.89 null]
+>> endobj
+689 0 obj <<
+/D [1219 0 R /XYZ 90 674.859 null]
+>> endobj
+114 0 obj <<
+/D [1219 0 R /XYZ 90 667.928 null]
+>> endobj
+1222 0 obj <<
+/D [1219 0 R /XYZ 90 586.266 null]
+>> endobj
+1223 0 obj <<
+/D [1219 0 R /XYZ 90 586.266 null]
+>> endobj
+1224 0 obj <<
+/D [1219 0 R /XYZ 90 556.107 null]
+>> endobj
+1225 0 obj <<
+/D [1219 0 R /XYZ 90 527.682 null]
+>> endobj
+1226 0 obj <<
+/D [1219 0 R /XYZ 90 481.102 null]
+>> endobj
+690 0 obj <<
+/D [1219 0 R /XYZ 90 357.388 null]
+>> endobj
+118 0 obj <<
+/D [1219 0 R /XYZ 90 350.457 null]
+>> endobj
+1227 0 obj <<
+/D [1219 0 R /XYZ 90 268.794 null]
+>> endobj
+1228 0 obj <<
+/D [1219 0 R /XYZ 90 268.794 null]
+>> endobj
+1229 0 obj <<
+/D [1219 0 R /XYZ 90 220.48 null]
+>> endobj
+691 0 obj <<
+/D [1219 0 R /XYZ 90 126.346 null]
+>> endobj
+122 0 obj <<
+/D [1219 0 R /XYZ 90 119.415 null]
+>> endobj
+1218 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1239 0 obj <<
+/Length 1261      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~���ma�V$���-�I�I�xc��L��`,�l��\����6��M�������ۇ$�,���>x��3
+rLj*�Bq�bb&��ʝ���7�B�MDŽM�����s�����^�G��VH��!�V��w�
+s�P0�
[y�ŊAu�Fʤ�gK(Q&��#��d!�����i���֧�VO�"
gajY��
+�ߓ3s�Pb"C�؍�Nk�_)e;{�M�Rw{�S��
cu|;��ϧ�u��ě��swz����۫|¦�
 LC� �A�>1�N$�I����ư��K���0�e݉y�J���N���_1�S�h��4L���cx�~�$�v�C�
t�q\�~9
�s��]T�ރY,�|�[��!O�R��o8�s�xnn.���9�B�������g�#���N��ua���jD�'���'�y����8�y���"L��<��g�ؐ��y
�"�{�2ՏJ.sw�fu�j4nlIau��Ƙ*iRdi$���y�W&
+u�
頕�4O�2�h�ޮ�bJ�<)�� �͗�K���/*���,�����E�0�a�Fi��wӫ�$
a�=�>2Y��ӱ����g�R�
����>|.���c�
+p�\בI�M�M_�e�?�{�Lp(S
� 
����V��
�oa &��h�5lz\�y�G?�Pȟc�Ц:���Y�C.��f2
�Rtd�� r,d0�(�tL6H�
/���37��`��й�T��$�/���v��2L�2�Ӆ�
.��I�z̟�E�
��`�WP���~�\+�~�
}vo'��$�y���<Đ�o��'D�3ѻ
rxX�-��hh'_�A���̶J�(�̎�
�+�5^��a��ɣ���:ҥp*��D�BV�=�$�c�oH���	馱&{�X���<�`�
��2h��'�ul#
4p
�@'�9֎�_˒��
D~����i-�C�����yS>�Ǧ$+�ׅ�ei��7�2��g<��ge�~�M�N��+��n\�S���h��$rqCz�����|DXV�.�dиu�3��?������������r��+�I�E�׾rlm4,(��y��&�E���v5��'�XW�)ۈ냼�F`�,|9�AԎ�`�h�v�6
��FW#�dY�K�p���bQ�,�C�r�m߻�����#ý�M�x�	'������Wm����K�"E;&8�i�<=��b���dV.s�,Q ��$�7�-
2�4{ۤ��L�&0W��v��
�)�$
+endstream
+endobj
+1238 0 obj <<
+/Type /Page
+/Contents 1239 0 R
+/Resources 1237 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1216 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R ]
+>> endobj
+1216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 686.901 276.41 696.829]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value_ac1791e52b930ea1fc3863866a26b1a81) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 660.271 277.516 670.198]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value_ad6243026e52cac8f2b4ef458ff4b760f) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.485 645.306 300.167 655.211]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 633.64 214.413 643.568]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value_a7483a53d677492ed42b591525243d243) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 412.122 165.158 420.968]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Degenerate__Element_a9ff8417659bb4800d825f91fa8685aaf) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 187.465 219.384 198.369]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_a18ac064d1fafb42b385e6b942df648f0) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1240 0 obj <<
+/D [1238 0 R /XYZ 89 770.89 null]
+>> endobj
+1241 0 obj <<
+/D [1238 0 R /XYZ 90 704.286 null]
+>> endobj
+1242 0 obj <<
+/D [1238 0 R /XYZ 90 704.286 null]
+>> endobj
+1243 0 obj <<
+/D [1238 0 R /XYZ 90 675.921 null]
+>> endobj
+1244 0 obj <<
+/D [1238 0 R /XYZ 90 649.291 null]
+>> endobj
+1245 0 obj <<
+/D [1238 0 R /XYZ 90 605.671 null]
+>> endobj
+692 0 obj <<
+/D [1238 0 R /XYZ 90 517.246 null]
+>> endobj
+126 0 obj <<
+/D [1238 0 R /XYZ 90 508.684 null]
+>> endobj
+1246 0 obj <<
+/D [1238 0 R /XYZ 90 428.426 null]
+>> endobj
+1247 0 obj <<
+/D [1238 0 R /XYZ 90 428.426 null]
+>> endobj
+1248 0 obj <<
+/D [1238 0 R /XYZ 90 383.071 null]
+>> endobj
+693 0 obj <<
+/D [1238 0 R /XYZ 90 294.646 null]
+>> endobj
+130 0 obj <<
+/D [1238 0 R /XYZ 90 286.085 null]
+>> endobj
+1249 0 obj <<
+/D [1238 0 R /XYZ 90 205.826 null]
+>> endobj
+1250 0 obj <<
+/D [1238 0 R /XYZ 90 205.826 null]
+>> endobj
+1251 0 obj <<
+/D [1238 0 R /XYZ 90 162.198 null]
+>> endobj
+694 0 obj <<
+/D [1238 0 R /XYZ 90 72.046 null]
+>> endobj
+1237 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1278 0 obj <<
+/Length 1589      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�F~ׯ�0�v���M�LRg&��'���ɴ(�����썛ɮ�v:
�V�{n߹������~��-�8�B�Է.WV�-��mi]�#8s�1�wQ��nv���.Y��&�-�����Fo�,)�*/�9e�~���R-?%��pH`'Y� %�������ٛ�ٗQ�Ek�x`����5��������7�ikyԅύu1�}��Q&��C��2F�R��
�B��| '��8���E,�L܉����b+C>dO1G�>
{
+k�{��3�{�g]�hP�K@��vRH���3��7sB�9��
�K>�(ؤY�B-�Hr��vy�Uji<'���HZ���Y*�p�����,����-�Ic�Çd{�h���Y\�yVv�Q���sP�"���R�;++��Oog�՜�k�F��tl�����U�~�3
�dD�ZH�{t
+�Cq�%��T�"�QY�i�
�m!�C�����I�k6q�>�@��Qq����H�@9�>uL�7|�S��:q(28.Ĉ�C>O�<�3H<

�DC
+�%��.-ծ� 1�M����c�S��*��
�i�&�G���C_�|�V��
���
�"��)հ%) �ъF�N��=��V����G��^,Se
}0�!B
^�^�,�����ky.�"��z�<Q���r��=+:l &"�Z�r��U�,M TI�E��	M���EU
2��$����g
(Q���Tyg�	P���DC��
ac�3�TE�� ��v
+�FW�Z�5���?	^�

�
u�r����
�@M��I���I��_
+��v�j��0��[�Z2�h���:�/h�T
�� ��
���
�&�����t�#Z�S��i�:��§���:7��N���\�#�e���?
p6��x�.��
+g��™����_�q��/E�$��w�؀�(�#z�O����>ANh�3��I��RBs�:)�"�U}S���j!(�֞�l���?�n]{�*���<���Ks���)���7�\�o�
+��Ҩ[$��a5v���^�
"/�" �
9
u^��I�A�ܘJz#o{#��8Ԩj������;���i|�u����d��l��( �	������|�!�#3NJC��"
�.�N
aC>26��K�T��
7��2�=g�H�����
l��=�h���C4W�Ƃ�eT��X]
zPC���.�U"�
�.����!�qa�������.�%b!��j��1:�E��	9
����k���M�޴}[#�1�f�U��Ls=�����E�� )1��������L�O�	懯6�mPO)����b�w�<?��A

Q�g��B·��
bN�������8ٍ_��>����@�<�����@�U?� ���Kc�����}$�_EU�I�<���h�7�ӥ�`G�~�G�?9���Q�7�'kj�S4�Z��89��}��
���/ˬ~�I��I��uo{WU�����~]&�����+6�9���{eZ�mn\.��$
�D&A�3�E�>5����|���Zk��
�ﶮ�:L�������
+endstream
+endobj
+1277 0 obj <<
+/Type /Page
+/Contents 1278 0 R
+/Resources 1276 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1252 0 R 1253 0 R 1254 0 R 1255 0 R 1256 0 R 1257 0 R 1258 0 R 1259 0 R 1260 0 R 1261 0 R 1262 0 R 1263 0 R 1264 0 R 1265 0 R 1266 0 R 1267 0 R 1268 0 R 1269 0 R 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1274 0 R 1275 0 R ]
+>> endobj
+1252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 629.164 180.391 640.068]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type) >>
+>> endobj
+1253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.889 629.164 200.037 640.068]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a7223763131fbe9f93528193576a7975c) >>
+>> endobj
+1254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.706 191.16 612.61]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 601.706 263.777 612.61]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a6c93053ad6b6bbcaa9aee01b646bba06) >>
+>> endobj
+1256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 574.621 159.927 585.151]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 574.621 189.845 585.151]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a3c40a54218985599831d143c5bb5972f) >>
+>> endobj
+1258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 546.789 215.13 557.693]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a67b795731a54c5c3b470d44e10806ac5) >>
+>> endobj
+1259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 519.331 201.302 530.235]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ae1acaaf59811107a0571b1f65a41b012) >>
+>> endobj
+1260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 450.162 179.254 461.065]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1261 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 450.162 235.981 461.065]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ad2b2c058d1c2dfc8c14144caa50ee91d) >>
+>> endobj
+1262 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 450.162 317.046 461.065]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1263 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.949 450.162 372.966 461.065]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1264 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 422.703 179.254 433.607]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1265 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 422.703 196.689 433.607]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ab67f80234f60baee3584e955d4fa3f0a) >>
+>> endobj
+1266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.504 422.703 277.754 433.607]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 395.245 179.254 406.149]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 395.245 202.228 406.149]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ac3e1a9737e2b459e439904f9817f4289) >>
+>> endobj
+1269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 395.245 283.293 406.149]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.196 395.245 339.213 406.149]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 367.787 179.254 378.691]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 367.787 194.467 378.691]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_a8fb4edb895a850c5ddf8646b31d92a07) >>
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.283 367.787 275.532 378.691]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 279.09 219.642 289.994]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1279 0 obj <<
+/D [1277 0 R /XYZ 89 770.89 null]
+>> endobj
+134 0 obj <<
+/D [1277 0 R /XYZ 90 721.073 null]
+>> endobj
+1280 0 obj <<
+/D [1277 0 R /XYZ 90 647.939 null]
+>> endobj
+1281 0 obj <<
+/D [1277 0 R /XYZ 90 647.939 null]
+>> endobj
+1282 0 obj <<
+/D [1277 0 R /XYZ 90 618.747 null]
+>> endobj
+1283 0 obj <<
+/D [1277 0 R /XYZ 90 563.83 null]
+>> endobj
+1284 0 obj <<
+/D [1277 0 R /XYZ 90 536.372 null]
+>> endobj
+1285 0 obj <<
+/D [1277 0 R /XYZ 90 468.852 null]
+>> endobj
+1286 0 obj <<
+/D [1277 0 R /XYZ 90 340.008 null]
+>> endobj
+1287 0 obj <<
+/D [1277 0 R /XYZ 90 182.529 null]
+>> endobj
+1288 0 obj <<
+/D [1277 0 R /XYZ 90 160.153 null]
+>> endobj
+1289 0 obj <<
+/D [1277 0 R /XYZ 90 160.153 null]
+>> endobj
+1290 0 obj <<
+/D [1277 0 R /XYZ 90 88.567 null]
+>> endobj
+1276 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1300 0 obj <<
+/Length 1991      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��F��Wp�T��g�c'��9m\.VBZ	��l~}z�1�]	W\���`����u�p�
p�r�����E����2�Y!�HH�5n�
O>޼�T�h	7ٳ�����������f���%
��~�B�֣ۏ8����FL��]�8e�
+>�~a�
+F�
��˖8BúW��X��2�=:�Z#"D�\XM��5�Xߤ-���i��(��<
)6��6�I�@X� �����{�K�d
_����q�_�=�7E��6�M
��Ȓ�lP+��Ӷ��qDd�g�l�-�ARyV���ل���t2����1��N����y����i`$�R�?q��~o	�A�%9q4}�V�\Zɤ�P*�
$>�H)�TS�B�ɔ`���"*��
N��t�ؼ��8��,/z;�Z���utK��v���C�^+)�J�6
ZCC�pߤM��2~���y�����a�]Yk�Ur�G�d��)�h�+��h��1�m(ƿa�;��)�v�X
埮������v���@\�0b!��;���DT+`s�Q�SFC$������$5j�
6R{m��*j$x��m�^�ju)۪�6SJ��Cɸ��+��>.�3�([���$�gE�#O
ת�#ok�tX/@��~]��0%��:s�-�H��%
�>^�d1�����2-�
+�ɐ��y	�
+��2`�
�ʊw[f�ɻ��
���}�Ζ�P���vQ�TGq�$�+"�ѺZ�Ǜ<��i�.�,O�I�o}�	c�c�L�{��f�#)���
��������.�y�� B>�(���x�~�
����x�BD�g0ʨ�^��o�I�'H�a6�䩿{?�o�$5ED�Q�f�Y
T%r_|Ϛs��t�����Y��
�e�@
vH�2�.�
��;���N
2(�]�:�'�����/{��;T1��\a�yy
+��n�C�@T�M3�@��IB��o78`(U����"m�i�
t�o�����@!f��ʪ�h�yf��Y��
��{�x��i:l�}�̓
 �
�<�; ��!?"�O�0N>jҗV%.���z̠�������{
 
+A�`F}y�	�H��F}}j���o�
����W>����S}
+
Ч&��,�%:7�Ũ�xQ�E�/ Ӓ/�⦇$߆�K�׼"�ZB�CZY�o��3�׳��7���"9LX��"O���ܠ�=�
L����[�@�C���}��q�WV�/bWМ�0�4���˔
ds��y?�ϓ����W�Jf�jB���I�9�E
+s>�
���W]5��]�G��>�vT)Ǥ�O�	Ԡ+��`"��+�U������[G�M�N�ҟ'�J/	�$ze	@�/Ů�0!`���d�� o��!ٵ!�v��w��]���bז�g��g����1���dA>�3�w����S|���\ �0�F
�
+Wu��
7�f�5P`d�՞ZT���s������@܏e�
+��ݙg�Vs��V�2k�tY�2����y@P��1�L%ڍm�
+��T���"���Gj�(�#r	p��e4i9������{0p��y�
	���
AOX*<�ۆD�r�ZY\<��א�C�O�j&���3��.���
��� ����ö��e{���

���p
�q:���\
+5�u��s�u%�ы/+[��X
+�c� a�^q��݁R�dV��6^�Ů3z�Kg�I��t]
�J�
+(��/] ���'�Vݔ�'pբuh<�@�BXL+#>�QW�?ċh�rp<��|gƖg�)P�3u�KVs�Óx�)
z|o �ho� �o�{�7L�0�w�c���=pDB[��sd�
��^l
ۋ�=��ի5
~�@�^��M�+Е `GQ%�"�6���ݻ7���&~�3o�t���n᫴��Eݙ;��6ο1��<�6Jw�jR��(�m
����2P�zJS��-�qd�i�O�/��b����n��)w�f���
�7CS���@M+�b�$��kK=��Chw�
+endstream
+endobj
+1299 0 obj <<
+/Type /Page
+/Contents 1300 0 R
+/Resources 1298 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1295 0 R 1297 0 R ]
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.495 190.054 102.399]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_ab8be81becce1bc803566f5b19e366799) >>
+>> endobj
+1297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1301 0 obj <<
+/D [1299 0 R /XYZ 89 770.89 null]
+>> endobj
+1292 0 obj <<
+/D [1299 0 R /XYZ 90 688.794 null]
+>> endobj
+1302 0 obj <<
+/D [1299 0 R /XYZ 90 684.311 null]
+>> endobj
+1303 0 obj <<
+/D [1299 0 R /XYZ 90 613.45 null]
+>> endobj
+1293 0 obj <<
+/D [1299 0 R /XYZ 90 578.78 null]
+>> endobj
+1304 0 obj <<
+/D [1299 0 R /XYZ 90 574.297 null]
+>> endobj
+1305 0 obj <<
+/D [1299 0 R /XYZ 90 501.434 null]
+>> endobj
+1294 0 obj <<
+/D [1299 0 R /XYZ 90 466.764 null]
+>> endobj
+1306 0 obj <<
+/D [1299 0 R /XYZ 90 462.281 null]
+>> endobj
+1307 0 obj <<
+/D [1299 0 R /XYZ 90 389.418 null]
+>> endobj
+1291 0 obj <<
+/D [1299 0 R /XYZ 90 354.748 null]
+>> endobj
+1308 0 obj <<
+/D [1299 0 R /XYZ 90 350.265 null]
+>> endobj
+1309 0 obj <<
+/D [1299 0 R /XYZ 90 289.357 null]
+>> endobj
+695 0 obj <<
+/D [1299 0 R /XYZ 90 199.995 null]
+>> endobj
+138 0 obj <<
+/D [1299 0 R /XYZ 90 192.914 null]
+>> endobj
+1310 0 obj <<
+/D [1299 0 R /XYZ 90 110.874 null]
+>> endobj
+1311 0 obj <<
+/D [1299 0 R /XYZ 90 110.874 null]
+>> endobj
+1298 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F81 426 0 R /F99 1084 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1328 0 obj <<
+/Length 1365      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W��L�=onb{�:�k�
;��(Hfʋ�q��] %�fٕ<}�� ��]�9 �13�q��m�\��Q�Q�N��"׃���`�(��cl�#�E�y�.�؄G�4�/,���GU�GC�w�ŜY}�b�<�3պcS�-�,��OB
�7
b}
^�·��=��A��g���ؘ��k#;
�g�)3
j�35�{�p�
^��[��`9v`�� B�g���Ҹ
f<�]�2��Ģ���"��xq_�$�5�F>k���q�OT�I2���|}V��#v1�H�?�
\� ����"ϡF��{[��cU��R��rkiR5�䦪�D�&y�x
��[�o��z�,�����
+H�
��		�=�I��SR�^]��$ԝPǵ���"���(��IAUtz�0�Q*ko�1��1�k!F���CB'��&��|��oS��a[�$D���O���T.�[�d.��� �
:�Ѽp�D`QV,k��ϙ��R�#��<@�F����Y����j�0�d�S�4*�=Ɇ.KƹW ֓}�RM��F+LI��m��W��3A
�&�ò:����`]�/� A��D��d׺M��	xr�E
ݜP�-%4��EYs��C,�n*
ex���q�u�,�jȅ�L-|��g���$\sϔ�
��diZ��~n��c��]���i���O��G�"�b�
0�*v�*�1f;P(t��m�q=��]
,A�}"e#7�[�����@<,�P��_a ��`
*�ݴO1d�	�b�B��k_ɺ�̅�+ҾK�Q@��%z�^��r�f3Tu�[�)���	xc\n'�JVw��]�m�7K�
@��˯����I���U 
c!^u��
��ݠ�o#��ڠl�BQ
+7W_ηZ9D�ֹ`&J[E�_&�J��$���׆��ڭ�����+���rO���W_��요�C6v�p��}���ۇ��?Jk�
�+�Ztv4�"�i%
+0=�V��<L_�Uǰ���cC�x2��s�V�(0<����reCI|l�I�)��i��g§�t��/�Q�����z�C�}��}f٘5n]�y,��
M�q�Y6/�
r����X���ĉ���C�G�?眕�:�O��Ixۇ�4`�|Cӂ�Cs�2z�o;0Ú�!}ÁyW��9@�o
���\�C��$
����H��罍��ߏyP��>�~L߇y(�&�-��#�w����F5�W�I~���Y
͚�W�~i*�5n>�U2���95	�
嵾�N��
�L2AX�Lᬍ�{��V����[��;J���!��&�����q=+Y>Cq�mf}9x{D�m�Y���I��� '�R�C�b�<���A���b"4Y�Xm�?�����*��O�dyk�/�9$�
+endstream
+endobj
+1327 0 obj <<
+/Type /Page
+/Contents 1328 0 R
+/Resources 1326 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1296 0 R 1312 0 R 1313 0 R 1314 0 R 1315 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1325 0 R ]
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 707.957 215.13 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a62ca7c2995414638d139847539631598) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 679.542 201.302 690.446]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_a379e7fec2e73df8beb7904b85d7645df) >>
+>> endobj
+1313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.27 589.469 256.414 600.373]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 577.514 130.826 588.418]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1315 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 421.035 138.588 429.612]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type_a3b9f75c49b0c6f00923b8f7d827ca9ad) >>
+>> endobj
+1316 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.72 136.934 401.467]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type_aa8aee01f50041535fba84ef399e5ee81) >>
+>> endobj
+1317 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 364.205 145.233 373.052]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Generator__Type_a2c6506f69be68e287d31aa3db68d664b) >>
+>> endobj
+1318 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 131.163 203.633 142.067]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type) >>
+>> endobj
+1319 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.131 131.163 223.279 142.067]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a58e50b5ebd0b0f5b4d5e44690a939e34) >>
+>> endobj
+1320 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 102.748 191.16 113.652]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1321 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 102.748 263.777 113.652]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_ab557b1ec4f75e98b5b4155b932d7a6af) >>
+>> endobj
+1322 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 74.707 159.927 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1323 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 74.707 189.845 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a147ad6db2e9d13bee7450666cad83d7d) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1329 0 obj <<
+/D [1327 0 R /XYZ 89 770.89 null]
+>> endobj
+1330 0 obj <<
+/D [1327 0 R /XYZ 90 721.073 null]
+>> endobj
+1331 0 obj <<
+/D [1327 0 R /XYZ 90 697.062 null]
+>> endobj
+1332 0 obj <<
+/D [1327 0 R /XYZ 90 650.504 null]
+>> endobj
+696 0 obj <<
+/D [1327 0 R /XYZ 90 526.802 null]
+>> endobj
+142 0 obj <<
+/D [1327 0 R /XYZ 90 519.877 null]
+>> endobj
+1333 0 obj <<
+/D [1327 0 R /XYZ 90 438.231 null]
+>> endobj
+1334 0 obj <<
+/D [1327 0 R /XYZ 90 438.231 null]
+>> endobj
+1335 0 obj <<
+/D [1327 0 R /XYZ 90 408.082 null]
+>> endobj
+1336 0 obj <<
+/D [1327 0 R /XYZ 90 379.667 null]
+>> endobj
+1337 0 obj <<
+/D [1327 0 R /XYZ 90 333.109 null]
+>> endobj
+697 0 obj <<
+/D [1327 0 R /XYZ 90 238.987 null]
+>> endobj
+146 0 obj <<
+/D [1327 0 R /XYZ 90 232.062 null]
+>> endobj
+1338 0 obj <<
+/D [1327 0 R /XYZ 90 150.416 null]
+>> endobj
+1339 0 obj <<
+/D [1327 0 R /XYZ 90 150.416 null]
+>> endobj
+1340 0 obj <<
+/D [1327 0 R /XYZ 90 120.267 null]
+>> endobj
+1326 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1358 0 obj <<
+/Length 1940      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~ׯ�h�Z�]ҧ4�3I�4��'����i%�ʥ��g��HB�����d�b��/�Y����ޛ�/׃�K���
��/�!�5�n|N����<(D� 6�__��������~6��
�= �{��/�T�x>����~~�a�B�}3��
�
�3�j�� [Q�W#�����E#4DXy�DH)��-��%p]��H�J��1��%)ʐ
H�����~��qV�G�e�%��n�&���M�5�(�G�݄��|�
���b�-,���7��k���bd�X�}~4�1
�ֈP
+��J��ɻ	��ET$C*��Z���tUd�bjWkeS��f��#'��d5_���_���8���v�(���(伔�s��b�fY�>��<*����
g�h�4᲼�� SK#��|����	V��=@�@�*�z���(/y��6��!T<������bd'MKiI�7b����J�3i��?��ҟU~���&_��r�k��
Vr|J�xT[+�
�K���{U��M������v%رGW��Y��w�|'K�=슲����,�s�-$��B�byc����ֱ2j��E
+��;u�[�D ��A�HFj�A�x*�A����Dn;��U?��c:N Y����{�ɕ�����"Lh��%
+h�zϷ��H2^-�
2ֆ��ϓfz	�c1��L[cE2D��+��X��APd0g���@`1���`���q%3�W���q�,��oZ����p�xXR|ن����
[%�A�-(j��d�6���˪m��	5٭յ[Ƴ(ϟ
�vE���vK��<��Y��� �.���
+�4�7��gw�� ��
F���QT�}PHYe7#�ڈ�dlt��ռ�dNv:<��e��1��m�y/��u���{K��{�p`�y�9RZ�R
cz̒]� �eֳ`9�5�QӜ����e��`r�<Ɠl�P"�{a�0�1l��%�tÑ�
�#m�M)w�^����b�$�|4�*�

+��C�%o�$?
�&�
+.���hi�!Q���AM��+
�bz�%�
�R���L��_ mb}HZG�M��R�n!VVu�9�B�#�kenʌ����K3h��������xV�:��[�P� I{�����r���/������j�J��|�p��$��ܜ?����SӄJ
B�	���.�l��d	\I���� i~�~+["Y�=4�TG`
�c!/�L�
g?�E2�/2(�B�,ۚv��BqP���$��a�֒1�ԟ-�إ8D�9J^?f%�� 'i���t�N�&�����{��f��ĺ2H!
ԍ1�5 �F���4K��b*O��E��e4�Q�_

�	��y"�8�o�
C�Y�6{��
D�b��(�O��i${1M r2#��8L�
���^L� �žab�
��bp6�H���G
+�4� ��.�1X�d肅C��1q��B`խ� ��zR��3K��r��D��R�����
p!�"
�����='C�N�\] G��ܪ֨����_�Lv@
�<ȃ���Q(� eߘ�@�  {�u�4
�!0�`,��<
��`
q.��G��>��@OK�g�
G�-�gKrS�
���Vup�O��B��[kw��RX�����
E��������|9� t���G�"A\�A"��=�7HD��?�pы�@7v�8�xE�@���e�X�@��#��y'��
zX���
��'��p�+@88��=;Nz�@$���=R6��il4M�Tֿ�Vb"�6�qo
V{��o��{��5���	V�0 5�2�W´@��vBk�O�ޗ7�!�6�G{*�>ZLW��.|��#yBL��]��G
g?
��?D�U���ΰr\�����̇��\�ջ�R��jM
�5U�Z��z,������4�S4N���,%���P

��,�>�)��97��/�1� 
+endstream
+endobj
+1357 0 obj <<
+/Type /Page
+/Contents 1358 0 R
+/Resources 1356 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1230 0 R
+/Annots [ 1324 0 R 1342 0 R 1343 0 R 1344 0 R 1345 0 R 1346 0 R 1347 0 R 1348 0 R 1349 0 R 1350 0 R 1351 0 R 1352 0 R 1353 0 R 1354 0 R 1355 0 R ]
+>> endobj
+1324 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 695.006 215.13 705.91]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_afb38d7eabfa00c8d068e8cdd4820d46c) >>
+>> endobj
+1342 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 667.11 201.302 678.014]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a7440d17db8648a633c9b77c512bf8f9b) >>
+>> endobj
+1343 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 597.307 202.497 608.211]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1344 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 597.307 240.962 608.211]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a61e7f56c96825c1dbd9b1753ead625b7) >>
+>> endobj
+1345 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.778 597.307 322.028 608.211]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1346 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 569.411 202.497 580.315]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1347 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 569.411 244.818 580.315]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a45537abba3ff2661633cb4033fe15e0b) >>
+>> endobj
+1348 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.633 569.411 325.883 580.315]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1349 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.786 569.411 381.803 580.315]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1350 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 541.516 202.497 552.42]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1351 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 541.516 246.502 552.42]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a8b88040458f91e980a158487b14a359e) >>
+>> endobj
+1352 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.317 541.516 327.567 552.42]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.47 541.516 383.487 552.42]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 452.404 242.885 463.308]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1359 0 obj <<
+/D [1357 0 R /XYZ 89 770.89 null]
+>> endobj
+1360 0 obj <<
+/D [1357 0 R /XYZ 90 712.265 null]
+>> endobj
+1361 0 obj <<
+/D [1357 0 R /XYZ 90 684.37 null]
+>> endobj
+1362 0 obj <<
+/D [1357 0 R /XYZ 90 616.216 null]
+>> endobj
+1363 0 obj <<
+/D [1357 0 R /XYZ 90 513.321 null]
+>> endobj
+1364 0 obj <<
+/D [1357 0 R /XYZ 90 373.385 null]
+>> endobj
+1365 0 obj <<
+/D [1357 0 R /XYZ 90 351.008 null]
+>> endobj
+1366 0 obj <<
+/D [1357 0 R /XYZ 90 351.008 null]
+>> endobj
+1367 0 obj <<
+/D [1357 0 R /XYZ 90 280.332 null]
+>> endobj
+1368 0 obj <<
+/D [1357 0 R /XYZ 90 245.662 null]
+>> endobj
+1369 0 obj <<
+/D [1357 0 R /XYZ 90 241.179 null]
+>> endobj
+1370 0 obj <<
+/D [1357 0 R /XYZ 90 168.316 null]
+>> endobj
+1371 0 obj <<
+/D [1357 0 R /XYZ 90 135.813 null]
+>> endobj
+1372 0 obj <<
+/D [1357 0 R /XYZ 90 131.33 null]
+>> endobj
+1356 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F90 507 0 R /F60 304 0 R /F81 426 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1383 0 obj <<
+/Length 1753      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�F~ׯ�0S��²�77v2N��k�ONƃ�J&�J������@H�l���^��|��5vv�O~����؉P����;v�!
���s��(��c��2��V���A���n�ޗq��	��e:�{/sY�uQ�]?V�̼)��}����,��\�
	]�'қFT0�gޗ����_Va�+8��d��/ؙ��F,
+��zS����s�\O~�`�P�D���zX7C�q3�ƾ#C!�������"��A�F�R00
�Sq�z
�p�AG�k�D$�� ��\�MP���XO�-R}���Q��RJgޑb�C;�!�#
r#�I��:��L����s�(�d�\���>$���$U�a��%c>"�8�e��4�#DY�ɛ���(w��]ҹ�:�
�"([�'3��'9D�.�!����,
t8X�E �%��x�H"�Q�E2�
�� -
+D�o�э��#��&�o
9�
Ց�2���d?�MgwkD
��1�(���
R�Q���
+�3&�� �{���w�����8�9E!�Ro�7
�G/�fv�"
+P�F1"�5��F����C��oi�)���s
ÉP�";Z0���I�M�e��/���ՒS�!>w@�#̗��;Bd#�~H�

N�c���2�diֱy,Th�jU�P�zY��@ƙ��K�?�w���en妵]�R�N&R
ן����J������� a�F�
G?wྂL��\�+�c܎ȗ
\�(
ǘ�cz�L�-7�9q{^>c�>�'m�)�8r�>?p{+Y�$���
/�9̌�@Vo�"-��:�I��ӯ�
|�<�U�9a|���X���e�5��F�ri��
�JM�|Ӄ$�@rY��	Cc�gJy���1��@�5�(v�)E���X��R���:�`p�;�
G&�
+@"�B�
�
C<��ٱ���P-��������F�OaM��?�9P���
(KA�Vlr;P�GT�FB�aA_w{���
�a	kO�����C<6k���}
����Ρ��o�E�u����F��O����{0o�&��O2���l�[��~�e~ۆ
+�ٞ64�(6%W{�����`
7�o�I0;C0)�u�P(y
+-��6�L���Ҳ�|��u*�x��+0X��Y3#,��lU?
�
+r�� ��B���A⭝��,��DO��@y]�
+!��
��~TI������5�zե�Mȴ�v.dq݂=�]Y����Y�A{�̣��Ž|B
HD���p���$���4��08|�
�Eo�+�ߖ����S0͟�G
2$ �
uN�p���L�q�ԥt&��L;�vw��AS� 0#�NU|u���2��Z	�rxa����Ö�
6j���<Z�A��K�ժ5^�
+�pS$�^�F q3����=�w��e�!�6۲��V������� ��)�fs4Ɏ�c8F�pH8�‰�Ir
�
���
�
+� �F
A ���Ȯ�u������s�e�l
�v��=j_L
Ok9�j,�k�t��?�3~��������s�o3TexW�6����������������`����n$�}'�z&9;���ͽB�"7�
+�@<
+�����h����|���:^؍�E��HH�?*Y��N�ֵOq�nh��X���U;oҼ
�-��2~��4�_'��ic=	�Ii�}
�z����~� v�@I�

d�o�ڙ��l�a�`'jp����m���
�!���]�?6�'s�
+�����_F}
+i
+endstream
+endobj
+1382 0 obj <<
+/Type /Page
+/Contents 1383 0 R
+/Resources 1381 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Annots [ 1373 0 R 1374 0 R 1375 0 R 1376 0 R 1377 0 R 1378 0 R 1379 0 R 1380 0 R ]
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 427.743 213.297 438.647]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_afb407c2937347e7381fed31b31a46e98) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 400.451 215.13 411.355]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a8f448359523682c0623804af48cc2dff) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 373.159 201.302 384.063]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_a4c7c1b1005912277576320fd650d1e89) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.907 284.62 278.294 295.524]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+1377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.526 273.641 190.592 283.569]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 120.158 138.588 128.736]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type_a02ca1ef23d4c2b965198ea42d9d683a4) >>
+>> endobj
+1379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.966 176.236 101.713]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Grid__Generator__Type_a1a63d52277531ad7883e6679a90fdc67) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1384 0 obj <<
+/D [1382 0 R /XYZ 89 770.89 null]
+>> endobj
+1385 0 obj <<
+/D [1382 0 R /XYZ 90 718.682 null]
+>> endobj
+1341 0 obj <<
+/D [1382 0 R /XYZ 90 684.012 null]
+>> endobj
+1386 0 obj <<
+/D [1382 0 R /XYZ 90 679.529 null]
+>> endobj
+1387 0 obj <<
+/D [1382 0 R /XYZ 90 618.621 null]
+>> endobj
+698 0 obj <<
+/D [1382 0 R /XYZ 90 534.527 null]
+>> endobj
+150 0 obj <<
+/D [1382 0 R /XYZ 90 526.992 null]
+>> endobj
+1388 0 obj <<
+/D [1382 0 R /XYZ 90 446.435 null]
+>> endobj
+1389 0 obj <<
+/D [1382 0 R /XYZ 90 446.435 null]
+>> endobj
+1390 0 obj <<
+/D [1382 0 R /XYZ 90 417.409 null]
+>> endobj
+1391 0 obj <<
+/D [1382 0 R /XYZ 90 390.117 null]
+>> endobj
+1392 0 obj <<
+/D [1382 0 R /XYZ 90 345.537 null]
+>> endobj
+699 0 obj <<
+/D [1382 0 R /XYZ 90 224.885 null]
+>> endobj
+154 0 obj <<
+/D [1382 0 R /XYZ 90 217.35 null]
+>> endobj
+1393 0 obj <<
+/D [1382 0 R /XYZ 90 136.793 null]
+>> endobj
+1394 0 obj <<
+/D [1382 0 R /XYZ 90 136.793 null]
+>> endobj
+1395 0 obj <<
+/D [1382 0 R /XYZ 90 107.767 null]
+>> endobj
+1381 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F90 507 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1402 0 obj <<
+/Length 1469      
+/Filter /FlateDecode
+>>
+stream
+xڽXKs�6��W�Vr���$���$�8m
������,��(�����w� EH��$lN�@`��~��^����&	R��4��A����H��k\��G���KD�.��go�L_��^�w�����W8 ��@�
���'
,`�U�Kepo�N<��j��;S0�B/��&ɞa� B�2D�1���U��ZDcJ%���U�i�ui
lUL.⾫8S�O��靂���*_��*U�5���l
6
+�p�U���򽫋�|�Re��f붻}��v���ʮ�#�ì��)���Z�ڛ��U눊�>/�v�#ƴPO<?#�$�'�H���#��?u=�����e��lI
j?��"��/Z[f�y	2ف|�BP
�q��qDd�Kw)�d�*;�
1�Q1�	~
+5
	��EH��>B�,&�ߛu>ܩEuD?ŐG���)�)��"��2��
�X�貌���k@;�(���D�&aA|��V: K�C�
j"�� ��H��u�6�>�X�Y]��{u%��T9W�
+wL����o'ו�<��m-�<�g^F�u�V9d�H�=�u�76t���ހ�E>�N�V�U��Ŷ�[���<�UW���cEksT-]��we|�{6{�sj�
�
X���:F�a�<b����cn��r
+���	���M��k�$��3�9f)��Ŕ��cv���'�����؟�f��`�s�@�r*�kL�A��@ˢz�;����f��?ho�	�
+<|z �9�F
�����upj��;(ϡ�Jc���/�?����')KXj\���잣3{�a�3�U������
+��ϊ�7�ԕ�;x�)PEc��r�+eur��nS�[UUj1�eZ�ͬ�K5+T�<qxl8F��B�
�l0��ϥh�f�0��?4y�7>��q�}e�ͦ����>�5���(�_��%}�#�AG���<����X8���e�Ӷ�E�E?�ܠ���뮉����@�)��)ȌO
E�Ln�8�QX$��k���6�z���{��+��H���A
�a
�qJ|c�^:4�Dc.e��&iړ!$J�Dqw9�5ݘ��2�=�Hۃ������8�3���>����x
+9t�1?�]�)�Wvڅ1 yA}�4��&C�G�D�
����g<�DL�F��"׌X	'�)�q<��TgD��5�
�Yb��!�R�JKuuzJ]�:L"#�Q�M
Rс�ɣ?)I
��I
�?3�l ��hJJ���x
�B�~>�Hh?|0��.|ז�?��4��7���Q�j��{����;���
BH(;����EyI�߈��Ab�$Լ�����ۘ\�X�|
�v�� o�hrq��I`�ԑ��cɝ�?�޽��.^�?���_Y��fKw�lTe ���ևZU�E��~��۬��/o;�Vu���F�ƀ��J�֕;O�
��]H!�]A�5���dr�]� A4�����.Cc�1i�v�X�+�~
��ʌ.����S�
+endstream
+endobj
+1401 0 obj <<
+/Type /Page
+/Contents 1402 0 R
+/Resources 1400 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Annots [ 1397 0 R 1398 0 R 1399 0 R ]
+>> endobj
+1397 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 526.993 234.059 537.897]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_aefc6c6941cd663b4715cc71e446d4fa0) >>
+>> endobj
+1398 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.928 298.891 238.512 309.795]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO_aedad05516ed695dabfa4fed118d41145) >>
+>> endobj
+1399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1403 0 obj <<
+/D [1401 0 R /XYZ 89 770.89 null]
+>> endobj
+1404 0 obj <<
+/D [1401 0 R /XYZ 90 721.073 null]
+>> endobj
+700 0 obj <<
+/D [1401 0 R /XYZ 90 633.415 null]
+>> endobj
+158 0 obj <<
+/D [1401 0 R /XYZ 90 626.815 null]
+>> endobj
+1405 0 obj <<
+/D [1401 0 R /XYZ 90 545.987 null]
+>> endobj
+1406 0 obj <<
+/D [1401 0 R /XYZ 90 545.987 null]
+>> endobj
+1407 0 obj <<
+/D [1401 0 R /XYZ 90 500.524 null]
+>> endobj
+701 0 obj <<
+/D [1401 0 R /XYZ 90 405.313 null]
+>> endobj
+162 0 obj <<
+/D [1401 0 R /XYZ 90 398.713 null]
+>> endobj
+1408 0 obj <<
+/D [1401 0 R /XYZ 90 317.8 null]
+>> endobj
+1409 0 obj <<
+/D [1401 0 R /XYZ 90 258.741 null]
+>> endobj
+1410 0 obj <<
+/D [1401 0 R /XYZ 90 201.874 null]
+>> endobj
+1411 0 obj <<
+/D [1401 0 R /XYZ 90 179.497 null]
+>> endobj
+1412 0 obj <<
+/D [1401 0 R /XYZ 90 179.497 null]
+>> endobj
+1400 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1419 0 obj <<
+/Length 1393      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��W�+,��$ȮM&=I��i2]%9>ؖ=n18g2���� ~�3C{�Bqu��t����������k��%�
+�v�%ؓQ�������'Q�c�oS�I��"{�S
�N��L��!��G�T����Z$�
=��>W�j]�AH9�_fiY���Tv���*L����������넀j�#N�d��7�O_����
F,��{�h�E��3�>N~��ڪ��(7C�m�I��8AG�$
%�3�&����t�*�#�K�ׁ�;
~uͷ�p���g-�m
���@D���@
�sRa5A	���۴�mI�9E1�	u�.+�
|�UDP�|�
��p"J���q{�
8�b��͸��|��wE�h_�fu��U��p�{�n�y�8�<æ�0"
U�Kt��#D8VX 
�I�p��ʫ���"|=O����)���i����x`������@}��	��%:���;o:���?�%�(�	!9bq��[
0�c�
��S����
�
I�xa�_��Ԥ�4�'�E({��A�5��V[[Ԣf)��
/
=�0kjY�	͍�e�N��߫� �T
O�	$���б%:�2�8�FB(�#��%?P(�L�G$�ȼ
��R�8(��?
+�i��>ag���:�"W���F�FHd����'K|\�ˁBx"]�>�j���E�0�1��0b�0�Q�
+�6�vu�

,�S�0/�0��!F�|�韏
�Z�@��{�{��i��R��i�l���f �e�eE@���r?�zѳ��"8�C��J~���W}
+9tEo~E��ߌആ_����.=��\؈�
�(>�h
6D�
$@bD�A�g�X
�M�;:�je1�
���y\{w�?��3e
+c�x�Pa�?�7M�E$8""�(�#��z��6�C{�7��u��A��� �ƙ�m�
Ch� m��.�R��4��@n�E�lRe��41u3[��4}U���Sȡ<۩���^
'��՗	7����Ξ�j3Sڍ_��S��iғ#���¥Wu�>�	����]S
R�q�;M`	䄂p�Ǡ��,�(����$x�/��J��Ua.���B
�}hy��)^�*]g6���W�����9���f�zA��?���

0������	�(�r�7�$��b�1�oX����Cɗ�c�Ϡ�I8A)��\��,�E�$v�{�㾖Mk������d�
+�N��]z
���Fs�`�t��[2����y�o�H�3��|�KW��7y��Ҧas7�{���~����|�fAK�ߌ}J�m�CK`�!9U�Fg�^3���Hӎ��T	�v��U�����l�*!-�
�� 
���DX��ߖg6�n�c`rc�5�k{L��q
��+�8&RR��;��뉫7�* &���oV�])
+endstream
+endobj
+1418 0 obj <<
+/Type /Page
+/Contents 1419 0 R
+/Resources 1417 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Annots [ 1413 0 R 1416 0 R ]
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 311.251 215.509 322.155]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_a84966c712051f47e1dcee5490d5ca670) >>
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1420 0 obj <<
+/D [1418 0 R /XYZ 89 770.89 null]
+>> endobj
+1421 0 obj <<
+/D [1418 0 R /XYZ 90 720.814 null]
+>> endobj
+702 0 obj <<
+/D [1418 0 R /XYZ 90 464.139 null]
+>> endobj
+166 0 obj <<
+/D [1418 0 R /XYZ 90 446.783 null]
+>> endobj
+1422 0 obj <<
+/D [1418 0 R /XYZ 90 338.85 null]
+>> endobj
+1423 0 obj <<
+/D [1418 0 R /XYZ 90 338.85 null]
+>> endobj
+1424 0 obj <<
+/D [1418 0 R /XYZ 90 256.817 null]
+>> endobj
+703 0 obj <<
+/D [1418 0 R /XYZ 90 140.524 null]
+>> endobj
+170 0 obj <<
+/D [1418 0 R /XYZ 90 123.168 null]
+>> endobj
+1417 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1445 0 obj <<
+/Length 1113      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6��+�+��Hf����uR7VVNFQ�)
+H�U��|���cy�݈ 	\�s��ؼ1ޏ�ᵇ� �rs43lzn����|�\nݙ�	8L��~�������Q3�F�w��'l�f>C�o����
�Sx}gb���W=(5]��31�?
����B!͚��\��Y(�eؚ�"R"m:�\5��P�/�d9�S%�I<QB-m�,tgR����
%�"γw5�n
�O ��"�C������S��n`�3����v���پަ��5�+�Q���q�Otk
�����&;�x^C�C5�=+�C����G�N�j��U���؋v�u‘
k(A~@�_)e[s�NU�n��a>
��ç�iъ*�ؾ��n��N<�Vkb	6��>5}��]��R�]
+��i�r�eY)���T�[�ӛ��L
^�+;<@��@)�q�
�\�A
'� �M�"
���c�!���60ni: GKڷ ��f�NJ%��#�4��ķf9�g�>��U:���
�����
�T�AΠA�t�FJ�q*����!�3�2�i�l����/�B�.��i�yX_�"�;ϊ䞇-S�LI�ŸU�A�ao
�UEt��YuP���)����H��uL(�|r2	b�\�)t��
��%TL��,w���
&9�pi�E��Ų�yS���~Ӗ6��Sd��8���g����:#��	�ڵKg�qzE��xZ��˓պb�d�LEY�iӍ�R�L$M�ᩣ
��)w&Ap�{E�t��O�����7F]�[�f�r
y�P�
��)����/��I�'Rd�9���?R嗤x�+�9Po:�T%O��x��Jy���%�'��!��g��n�d� J{��
#.���C3�(`�’�$��4�d&�C�H��P���t�p��h�6�ʮ��
�X�����ٳ��MR��,�A>��l�zp�<�{�6|����?�QX��(8ݍBw �+�ݝ
+��
�UԐ���[��5�dyx�owB��ڟ�d{/��Q;�V��Ot���R�b3f��}Y�U@�M\��O��N��v
ew�i���#�M�P�
0��6/�Ż�pRE��#��nP�&{
�+��/��\ɮv7�|�Tz�
���!
+endstream
+endobj
+1444 0 obj <<
+/Type /Page
+/Contents 1445 0 R
+/Resources 1443 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Group 1415 0 R
+/Annots [ 1425 0 R 1426 0 R 1427 0 R 1428 0 R 1429 0 R 1430 0 R 1431 0 R 1432 0 R 1433 0 R 1434 0 R 1435 0 R 1436 0 R 1437 0 R 1438 0 R 1439 0 R 1440 0 R 1441 0 R 1442 0 R ]
+>> endobj
+1414 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1457 0 R
+/BBox [0 0 408 386]
+/Group 1415 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1458 0 R>>
+>>
+/Length 1091
+/Filter /FlateDecode
+>>
+stream
+x��XKk$G
����?0ڒTOX�`��
�
�����7�L �C�~>UW�{
If��1f��.��K��ҟ�&��;��v��}�w��?&v���{s�����O���ߓw���mz��y��nb�~pM�;���w�Y�(�N��f�C��N�0����8;a��[�M���MJn�S�Zk��=ZoBq\���7;����?L��z�yV��̻��Yծa.G�cg
i,�yg�/�N�=���v�|<U~��+񟆲��p&1
��h���a�nb���혂���[^��ٟ�w��{�<�lW�&{{��
:X;�J
s뇂]s��c���n�����B�d!�tK�o���y��
W�����z��]�����#��"����T��:�#���j�Z-�<RN-w�R�8 h80�P��
��~Nr%�щG���>Y �q��@!�	��>�I�QD�
+
�n�@�������M�
S�$�� b.�ر
(Ț��6]$N�n.
�@

+f
VGTL
`��*���o�
+���2 6<�s�G����Zqw{5�B�H4īl���1���%�%a�B�@|I�
_���&��ؠ�Ȯ�X�J� ��I�H%���+$b�2۾5%�p�
`�
|���R�Ej ;�1���B�i�xDyY �r^1�$�l�� ^}KH��}c���ը)�bMPW,��5�( ��F|��b� ����k+c�� 'b5/<�l�
�5q5�'���ڪ'
+^�{.v
+R���B�� �T(

+��jc�_6�%
���ny���h�T��p��
���0�c���Ԉ�L�hK���zDͩO�%�9�V�
Q�EI�U�+m*a�ũ�ET �UkB�`m��T6T]��|םp�u���x.���C�.���
���r�M�QX�B�
�T)׼i�8֖�G;�!����uێYGd(��,m�Ҏ!Z��ӴcK��	�N�i�8*�����i5�ގ��]>�$�6E:t2�QB��dc����B��^
�v��s�Ct]�;�>ןv�a��],i3L���Q�&0
+U��0���,�m��
~(��}����<� ap
+���$���j��.cN��$��L?N� c���
+endstream
+endobj
+1457 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1458 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /GHWCWK+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1459 0 R]
+/ToUnicode 1460 0 R
+>>
+endobj
+1459 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /GHWCWK+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1461 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 722 652 500 278 722 495 667 556 611 722 833 667]]
+>>
+endobj
+1460 0 obj
+<<
+/Length 1462 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��<���!�����¡?j� {�"cr��k<�T*H�c�؛�����H���.�3X�i�n^���:�D�Bja�_5v.I����
��5SR�"���U����C"�H߼&?ث�}�/�u�9�C#�EdI�M&,�ҹ�n$�F��A�ul��#�G�hIM�f�)�RRg�iDm��$d�?���ި���rʳ�ʚHy��
�����J:Bc�@
+�UN��GP*A=� )�4�{�H9�L���
��$��A"_��%�;���`��>c�|L�W�O�|�	>��D��}�Wq/�W��J֐��YK�+��J����&�>9��}�8�qZ�9,�'�Mns��E��_
+endstream
+endobj
+1461 0 obj
+<<
+/Type /FontDescriptor
+/FontName /GHWCWK+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1463 0 R
+>>
+endobj
+1462 0 obj
+357
+endobj
+1463 0 obj
+<<
+/Length 1464 0 R
+/Filter /FlateDecode
+/Length1 2880
+>>
+stream
+x�}V{lS�?����Ib�k�w
ǎ� 1�~�$�8��`�Ć8��<!%
+���JJ)t�&U�&����J���QVФ	m��CbjW��C�i���~�:*M�uι߹�����}�{%�$�:ˆ}`�o�:�~HHR
vgw�������<?MH��C}���~r��=�06To0
���.
�ؽ�P{	I�=7>5�G��j@�}d�o�4}������ǙQB� [ 
+�@D�Ik1iMQ�����U��X��5��
���ERI!F�(�E�A�EZ]�Zo
n���T�����~}(T�ƾl�y�ȁ�A�6����SS�=�8
:Kb7�:�����P�

Z�E|r9k<�t
uZ���ý��*���r���$��V���u'�d�V���.\c]WYU�
+��C-5n��͍��b�>�b
D��֜��d�J��i��Vۥ�7��h�5�Ce�P���M+��RAk���Tt�7�
+l)}����0��jQ�F8� 2&x���'��
��1P���+�lp6�E�rqC|b����PYak����8<��҅���n�B�>vq"*��b��o�:
q

c7��� ֥�X���Gq��
��>0;�
+5�7���������󁉋��&�.J|�_���`�+���;}�J?C���<�.�~=U�:z��FqO^F�637%�W�ǘf����V�1;�R�alj~	]:�q��Xї��ᰥ�rcg��y�}!�s� ��^��v˾ڐ3��I!��
<b*�
�
�Ae�C;��,�*
�0Gҿ�59��Dˮ
A��VY�����odK�<eg[�<eL����	<o��4�K�f����~�V��z����=�o��q�K�Hď��x�ה�9z��&�&ݛ޺mjrk���C��˵���f���0��x�i�����w���ɵ���JM0?^k�#�{�

�n�B.��a���-�
~���^y��(ᮽG�y\���
���C8P�Y*n�I0iF��j81ӎ�x���us���l6o����r��F�cz��t�����]�?M)��~��
������ }�n|���o��vj1- ��Ou��N!="-|��������
�z��%�B�ŋ\� ��6·\���SD
	a�M��h.���O��{��������Өb�XS.���O
|�>W�Ym�)H�j�;"�Hia�Y������X��7�<u�Z��\N��y����\a�ڛf6�*ݞ��1�n��W�k���i���AG�h��V0����hhT�\
��ʺW/����@�`{�ÿK�'�%��†��+�}�pc��ʸJ�\5�Jn�la����������uV�W���U�)~
+
W�x̛�Ҋ�B�I�s�A��I��;ppt��橞��
��
�?x�\\_j���9ޑt�Y+���KvA�-������5Φ�0���3�:ecB����<)�A'��ȝ�q�mr���x|Ki'�8���_x������y������'_8~rGz
8Zd
�xK��>��cK+���&�˹0�\��9j��YA��z���KU��E���etKeВv��
�;{�FiOGK���B˦4[�Noqk��B����ՙ%�ư�n9:�䞱���Sb_�F�ې�v]y�
+�g[�*��̋c�E
��vP��妅��Z�^o���6nE�z��fgY�KOI/�R��\
�b�d�y�Z&��w�a5����l{;x6�ߣ��u
+��o��l�g��wm��N!��Ç��H[[�����5d5�>��Yrnӫ��
���(X|
��(ۏ�� �)2�<5��\�>7(=���x��ș"'1�	T^�DI��F�?v���b�I,�?\2����k���W���y"I�w46�@�MC�i�K:���Q$߅lT.�#q�4��w�;���j��W\����ז�o��JU��� ɲ
�_IWI���o�X�R�Z���g�(+#n� ~��4���MЅ�3���
��#6�L��s~j 
XC򻳤
|Z��gbg'�J<�'t'�MV��^/ ���b/w�[��I9|��71> �!E�8�/�
ϊS�3?V��)Q�JȨp�S�Y

Ը{�q/U�
0�	�r#��=�?�w^�|�6$O=&�IK &���j
+endstream
+endobj
+1464 0 obj
+2130
+endobj
+1415 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 301.132 191.16 312.036]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 301.132 210.258 312.036]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a0c6bf4c112511ed41878554ca3c02977) >>
+>> endobj
+1427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.074 301.132 291.323 312.036]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 274.783 191.16 285.686]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 274.783 225.192 285.686]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_aa4c34f9b1017a3b44afaa423b832722a) >>
+>> endobj
+1430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.007 274.783 306.257 285.686]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 248.433 191.16 259.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 248.433 215.239 259.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a2cbe4b9477e2eed6411787d14c306af5) >>
+>> endobj
+1433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.055 248.433 265.072 259.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 222.084 191.16 232.988]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 222.084 245.675 232.988]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_aedb7a64c3a6bdff1793482110849e5d9) >>
+>> endobj
+1436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.384 195.735 224.634 206.639]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.132 195.735 248.703 206.639]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_ac622b43c176dfe1b92260b841192b305) >>
+>> endobj
+1438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 169.385 215.13 180.289]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_a3a962a357f4260b224518672b80ccdc6) >>
+>> endobj
+1439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 143.036 201.302 153.94]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af6431ecb966a6e38dc55e7f4274b31db) >>
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 117.061 205.147 127.591]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_ab9e90a38fb859d1dbe667efec83743d0) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 90.338 313.052 101.242]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_ad7fba193bb811d3dd21903c3fb5e2428) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1446 0 obj <<
+/D [1444 0 R /XYZ 89 770.89 null]
+>> endobj
+1447 0 obj <<
+/D [1444 0 R /XYZ 90 319.352 null]
+>> endobj
+1448 0 obj <<
+/D [1444 0 R /XYZ 90 319.352 null]
+>> endobj
+1449 0 obj <<
+/D [1444 0 R /XYZ 90 291.269 null]
+>> endobj
+1450 0 obj <<
+/D [1444 0 R /XYZ 90 264.92 null]
+>> endobj
+1451 0 obj <<
+/D [1444 0 R /XYZ 90 238.571 null]
+>> endobj
+1452 0 obj <<
+/D [1444 0 R /XYZ 90 212.221 null]
+>> endobj
+1453 0 obj <<
+/D [1444 0 R /XYZ 90 185.872 null]
+>> endobj
+1454 0 obj <<
+/D [1444 0 R /XYZ 90 159.523 null]
+>> endobj
+1455 0 obj <<
+/D [1444 0 R /XYZ 90 133.174 null]
+>> endobj
+1456 0 obj <<
+/D [1444 0 R /XYZ 90 106.824 null]
+>> endobj
+1443 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F101 1162 0 R /F72 326 0 R >>
+/XObject << /Im5 1414 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1484 0 obj <<
+/Length 1272      
+/Filter /FlateDecode
+>>
+stream
+xڽX[s�8~���maf-��m�N��L6q�%�xd,�t1������A���u7�}Bҹ�9;
;�ƃ�e��E�
+g<w"�~���_3��%�������JN�y��T�BN�dZ���
��n�L�b��Ǻ�H課L�l�>W���8QY�
)���T��Yޫ�2��XyC!(s���2�
|�
؈
bl�(�x5x���l_;�(t���S��y�9��=�����a�
I�YB!;_D����I�f`+
�Wɺ�����ѥ�v�3D"j$�5��:8f�<�]�����շH�Xinep4�n>���:l�p�٫��,b
GcJ
�ba�u�q�<�;{91�Z��C�-T��SE҈ߚ
���X���5DZs�ʼ�z��$���E�2+y���mH��
�·�_
!ĕE"���x��~B����Q���6�˸H�Q 
�s�u�v(�Sx��&٦�
+mW�o$�u�A���x�����T l�s[��2���w�~�v���P�*d��T�4���FX���OI�0[uFR��m'�g!�,@�����)���� ���WY���Z���Ahv0�5���6"�=�x�W�

f.�!?�Z
�0��V�P{6�Y��%e�` �kh�P?ŐB?z�֔�~C��0t�=��?bH�
_ɐ@�(mC:��R�F����1��B��A�h�,��y�{���1���m;�q��}�mKZ at v��(ʯ��*�J�.�ў�E!W
����]�$�6��OH�>!Gc�
+"Q'� 5��'���Us�n��V¹�!�}�@sa�h�::%P��O�p��Bf�$6��U��*��r��5C�G}�d~�e
@B{��h�8�n?me�U9��F�Y"b�Az
?BpP��h�j
�%�wP������AG�lQx
�S��l��U�)����;��5Ceˇ�%dq�2�[�1*6GZ��Iiޣ� (�Ð�(lf��y:�LJ�:zr^�ܗ�$�^U�"+�b��M��6_��KW��6�[�h�o����6f����*@z#
�y�^5��!N�uR��ae/X,�. b�䮨[F^��Ϙ�UU$�z{S�_g)�?wӷ�'{�!
���Q���VAQ ߥg~�����
�i=~�x������,��'Z�s#��F.����R�\��Ms�T��7�s�Vޭ�62�����U�
��*Gސ���`�������Q��@��'!tU�e�eU�ߌF���@q�:D��r ,Hsw;������d���$�����sL��	�� 0	jG�ݺg�`��[�7;
+endstream
+endobj
+1483 0 obj <<
+/Type /Page
+/Contents 1484 0 R
+/Resources 1482 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Group 1472 0 R
+/Annots [ 1465 0 R 1466 0 R 1487 0 R 1467 0 R 1468 0 R 1469 0 R 1470 0 R 1473 0 R 1474 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1481 0 R ]
+>> endobj
+1471 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Coefficient__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1494 0 R
+/BBox [0 0 232 192]
+/Group 1472 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1495 0 R>>
+>>
+/Length 416
+/Filter /FlateDecode
+>>
+stream
+x��T�J1��+�6��$�$���u�C顶V�V�
�}g�d�nA=�,�3�y�&�y�]����4�����<�g�,�?���?�
+��W5�j��"�`&�`
�q��ǹ
����*��Flal�)懻YK�f�}&jg��b�1�q��WQ�=w�а�:
�VM�
6���k5�@DJ�Ķ��V
��kS8���]M��H����H,�E�<���X
	.+٪$�*j@�9q�Ҽ�siH[���l��QH	��:#-�!J�ۖ&J��cd� S �S�
h�[�Y����8�9N��vc�ň�|
��?�vЏ� ���q�
+'
�U9�~#"�L��*"�
'ßS9u��b@�9x�
u��bCh�G�,��8���	>��k
-,��{F�׏
[�JO_z�W�;�GYQ�?U��
�"&

+endstream
+endobj
+1494 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1495 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /TLTMMM+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1496 0 R]
+/ToUnicode 1497 0 R
+>>
+endobj
+1496 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /TLTMMM+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1498 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 722 652 500 278]]
+>>
+endobj
+1497 0 obj
+<<
+/Length 1499 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0���b��"	!U�ET��=N���
Yp�?+�j	��o��7���<7fX(}w�ly!=�x�nN2�|
L"rR�\"��
;��>�]����)�*J?�8/n�ݓ�z~H�(}s��`������jo����f�,�kR��q/�}�F�4$���aY�>�/�s�Ly`�+�I�l;ɮ3WN�̯�*�W��Q�����^��΅p�ó���@y�� 
���

5�-R	��G�r��=�:�ԃ
+��<�w�@9�t��D�Hh�
+T�W���� �+"m�t�E��"�_Y��^n��^�}���bx>az����f'�e�����H
+endstream
+endobj
+1498 0 obj
+<<
+/Type /FontDescriptor
+/FontName /TLTMMM+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1500 0 R
+>>
+endobj
+1499 0 obj
+325
+endobj
+1500 0 obj
+<<
+/Length 1501 0 R
+/Filter /FlateDecode
+/Length1 2248
+>>
+stream
+x�UVil��y<t���^.��6Q�Msy(�,�IY)ZdmI�)і�$Ncّ�:R��Ċs8? HP�z$-
+�E��Fb�(
+js m�Fnaǀ]�	���d�$�1��}3�ͼ�
 E�

<'��e��)*H�������1�h���jn:;���Gw���
�H�{�iI�5��\���O�/���'�Nf
&L�g��
+I~��ds�M�
А r6����F�Q���5��U��Ӻ@��
�ʠ�ʉB@�Z��a��x��l����w,�V�Mg�_�I&{"��_��ÙמY���n����[Z�,�q�l,l2+a6��W 9��
+�ꪗ;���(؅���r��E�7��4fKX�av����aq7�ҙ��%�����ƹϵ�=ԩKEG+�:x�{�1��v���
O�Y]����R�N_Ueq�[<�o�3F��%�
��.L>=Bc
+��B�B�k�p:��;{��
��dƉQC{b�W��FQl��;��[q��I,n�e������b�xP�q��1��
쓞�Yo0�����H�n���p��:��g=[�y�*���&Jd�Z���)`}�4�Z=�����K&c�Cìz��o]^���x�Z>,�(c!�u�R��ׯ�� Y~f.��f	�FN�_�?���g�72{*���݆�?
{���[xdPo�I�2)*O�9a�4��E�v�—z��T�`��X
+烞lR��mH����{��J�n��X�P
Pg�XɃ�X�J��c��lr���PZ��Ԍ#m���Ⅷ��*��0����̓�����ud�t��6<vD峊��M~�C5y�9�
+��G�VNCn�g���}80w��̂��H:
������kz���+��\��|����������;gMf7(8�/�R�����xcvV��
�N9k��=8j��᳖zt6w��|��g�a�F�������/�1ދ7
:krh�CNΫl��
�d}�

+dK'{dl��1'uP+#�Us�O⛿_ۖ��fǡ��x*��NP�AO",����v9w���	�@��&�»���{�_i
+��C_�����O��
�1Z������kDkPD�ϲO?;�N��e��;ׯ���5y�������v�JN�"e�
+¡�j���ݨ�xV�{]M����??�����UL&bO��@�-�RWk/�-�]�G��t���a��(���K��-��\���KCU�hE�N]Ef��j<��oe�Vӄ)sd�܅��$7i��
>������ܰ�V"��owzN�TL�N*ػ����H�<��(���~Q-DA}��ER��Ѝ���J*
��|ih%
*
F�1kG���]��Ԯ��X�]��4jԘ���������>Z��s����'��B�x93�z~�h
�;�N
�[��_?��	���	�*�H���,�^�+!��t���,������K1cDz���Ɗ��x)��
���9:먌>��;
��ʚ/���P(���B!e�P|��k���tފ���G�f/��m�J�EUm&-`GMo���k���
3h�����m�_wƯ��t��U$ÎM�5_H�q��_?�����?�U�_�(k� �F�CT�k.�$�	�@�7�*�����GhL*�^�qZ�Q��?��]�]4�Ckʶ�����{
�
��#I&`
�~Dޚ��\sY�\���
+��Zڣ�7���z�S?*{(QU�{0OP�L�K�I(�� �O�o
+endstream
+endobj
+1501 0 obj
+1705
+endobj
+1472 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1465 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.08 665.14 257.33 676.044]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1466 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 665.14 513.996 676.044]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 653.185 173.446 664.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1467 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.957 653.185 302.212 664.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1468 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.723 653.185 405.225 664.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1469 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.735 653.185 532.307 664.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1470 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 641.23 226.577 652.134]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1473 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 234.886 240.166 245.789]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ae2a6394e34e787c14484f3d411e022ff) >>
+>> endobj
+1474 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.981 234.886 289.998 245.789]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 203.242 159.927 214.146]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1476 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 203.242 199.867 214.146]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ad6ca74b77c4e7c632ddfdc6ab8f3567a) >>
+>> endobj
+1477 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 171.598 240.166 182.502]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1478 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.664 171.598 264.235 182.502]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a1109f21e2d8d35f3dae8ddc8074dd7cc) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 95.042 159.927 103.889]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 95.042 182.632 103.889]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a733941c541eb74a6c925db946b39e46e) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1485 0 obj <<
+/D [1483 0 R /XYZ 89 770.89 null]
+>> endobj
+1486 0 obj <<
+/D [1483 0 R /XYZ 90 721.073 null]
+>> endobj
+704 0 obj <<
+/D [1483 0 R /XYZ 90 587.289 null]
+>> endobj
+174 0 obj <<
+/D [1483 0 R /XYZ 90 578.346 null]
+>> endobj
+1488 0 obj <<
+/D [1483 0 R /XYZ 90 255.754 null]
+>> endobj
+1489 0 obj <<
+/D [1483 0 R /XYZ 90 255.754 null]
+>> endobj
+1490 0 obj <<
+/D [1483 0 R /XYZ 90 222.376 null]
+>> endobj
+1491 0 obj <<
+/D [1483 0 R /XYZ 90 190.732 null]
+>> endobj
+1492 0 obj <<
+/D [1483 0 R /XYZ 90 113.853 null]
+>> endobj
+1493 0 obj <<
+/D [1483 0 R /XYZ 90 113.853 null]
+>> endobj
+1482 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im6 1471 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1520 0 obj <<
+/Length 1228      
+/Filter /FlateDecode
+>>
+stream
+x��XI��6��Wp�y/�� s��%�;3�N�s�燱l3���˿Oi��qҝ�%'��j���S	��
����0�
/�(��fN���
��m���=�~
];���>lҳg�}
]|
ݩo��Q�{��'����@8�w�;S��v0b�p
����Q�Թ������(WC���	�e!�c��`�; �����$�Sw@���2.�U��6�V1��ۮbg@=pa$���
��$�Qa��%���*dY*Yzn�R�_'ie^gE�4��<�\�\��_0�q"�
+i A	��ie��4˧y�^ª�j4�r��Z$��F�
>�tٗ��dU��1U-��i��yL���R���]���c�Ǟ1�
����~����E���l��o���AMFFF'�:�ΐs�b1��3Q�mb
���b����>"�h�1�EФ]�`-��Y
�"46���%�����b�~�!�^�*�)�)�]�i2)T:�����>2��1$`��W2$�Q�]C6��U�F��_E9c
"l+
+��l�}Y�,����lI��V�>
)x(w#��}�]����Y���']v��(�����l!�����$��r��u��!�L��M��ao��y��n5o?!XM��-s�
�LE�;�f	��=��vbx�
��
bw���
�j�ҵ������o��e��&���r"
3�\g�b�r��[�n��A
�3ch1��
a�.�۬hh�c;�+uW�>O?���$�
! � ���2�@]P
�#�-D�d���%��Q>�&�>W";*\5�2�(��:yT9��KvK�^�ge����e

ږ��,�x�j��
�l�G
+8燤^�Gެ�����C� �!��ԏ�i���j� ��e2=�x/�����E�
>�׌�r3��A܃5fП5���.ޔ N��'^��d{cȋd������u

A��ٿ|��Z��EMI�u�-�X���Y=DA�9�
+��0f}
y_UE2Q��J��׉D�(�6'�۴RQ�>D��$�	�H��$�'��P�÷�7BX��߅�r at O��G�����������nM1	j[���@k��ִiBA�`#P���
+�~���w��J� ��|4���mִbQ6_Gs��*�d1�7������O.�}K6��l
�nCb�d���@�&6�ȹ�5�W�l<�U���
B@���EU��
���
��9���n)l6�~�5w�e^X?�
&����N��fv_�
+endstream
+endobj
+1519 0 obj <<
+/Type /Page
+/Contents 1520 0 R
+/Resources 1518 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1396 0 R
+/Group 1503 0 R
+/Annots [ 1504 0 R 1505 0 R 1506 0 R 1507 0 R 1508 0 R 1509 0 R 1510 0 R 1511 0 R 1512 0 R 1513 0 R 1514 0 R 1515 0 R 1516 0 R 1517 0 R ]
+>> endobj
+1502 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Difference__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1531 0 R
+/BBox [0 0 230 192]
+/Group 1503 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1532 0 R>>
+>>
+/Length 416
+/Filter /FlateDecode
+>>
+stream
+x��TMK1��W��tf�l�

+"
����/�V�
���l��v
�QdٝI��d�we 'o��j����M�s��d������|*�[~_�l�V���=d�
Pt��k;xQ5U���X�8�(v�YK���}G4H�"�Ì�2^?mU�1F��2�l��B�W�M��iڍ�]!"%C�TY+�I�H�)�ͻ
,
�R�
+C��Ffb�,
+�yL~��IpY�V�p��L���d���"m���\
϶�
��p��
Ҽ
��x�uQrl
"
�
�"���^7�+�

�d���.d25Ee�
��=Y�w����M'n�p��ѓ=�7rȄ�!��q1�i+���(��)�
���+n,��

7XF�q�˂�&�.�^c�a	��3��~T���5}�$:��wUq�?U��
%�
+endstream
+endobj
+1531 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1532 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /AQGUWR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1533 0 R]
+/ToUnicode 1534 0 R
+>>
+endobj
+1533 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /AQGUWR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1535 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 722 495 500]]
+>>
+endobj
+1534 0 obj
+<<
+/Length 1536 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0E�|�,�Ev�KBHU�aчJ�`��b,C�}�/J�Z����xf�^���v�~P5Od:�=���+����M�$ݩi��W}�4��y��������3���g�<�姄��w��w�J��K������l'ʒ�$�&
�ڸ��gJ�y[�wӼ
�����1��WR���5�}c��YX%&�2a���R��uk|
!<ˎYIF:����4hio@h+
A
+t�)g��	Ԁ����h�i�z�$d"��'2DB�/G����.��v ԗ#�X�3m�����]l�ڽ���[x�Nݽc�&�k�Tg����W�~�>��
+endstream
+endobj
+1535 0 obj
+<<
+/Type /FontDescriptor
+/FontName /AQGUWR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1537 0 R
+>>
+endobj
+1536 0 obj
+324
+endobj
+1537 0 obj
+<<
+/Length 1538 0 R
+/Filter /FlateDecode
+/Length1 2120
+>>
+stream
+x�UUilSG�YI�	6���8�q
����#�8�M��؅$@��C�-G(�*P%TP���CE�P��@-��T�ڔ�R�R�	*���{v8l��ξ���]@ H�j`P��/2<��?����ؖ�60��Nk��H׿�IAGk�(-�>f
+��I�F�6n.A�i�c$/�
�� 4��|��}�̓x�	 �v�g��6 ��FAA1�����,zKӊ
�[<�F���Y�s�mLò 
2 �z�s
gT��zC��h
n���TĢ[���T�]
�ԅC���-��v
i��'g�;�9ٜ���d� � ٠�(8<
Y��K�圗♇U�����]��
+�ɫ��*NK�M�U��ey�&�P<�2�:�VUV^�
+��2�4V�q��
~�j���g��m9�))��*uf��f/.�o�թ�i��E >"^�i2�t��<�:���p8`��k8��׊�vE�� 
?%�t,�Er�DL��
�� ��)ʫw6����B}�0mcɬ`��i���8<���	N���Ń�&���*��b5�'�
����]��$�hk�,6����.�[?��phx�
�}�ZX�țo
�ԑ@����e�~�B
ѣr?���>�Z�d�1n�[L
�{((�һ$��Q!pw�݂�Y��隙_��e���Mjsv���QH��ɖ��3\�Vx����9�k*[�
�^Oi$(��FſK�5�F9W;�
R�F�ȳ���GHG9a�c6�,R�d��8�Y��n>�{��Ǯ�����m���z��^׳x���՞"��/I�Ix�Q�S �"��.ټ�I��z��
ձ�����ۺc��uᰏz^��7��=CG�����e�K;�n
Y?<q�$t=
�:

+Q��1���7娡}�Y3��G��_<k��=�ͯG{+����+!�Ň��|����p���. at T����B�~�z�
r�K%Ed�,��+(�-�����_���Yo�^�f~Q�ŽP�����h�6{ō�[R&Վ�;����!}N�o�(w?���]�.|B�Z��qꉌR��~4��)�A!�=Z���ڳ��W
w�/_F
���N.��
+�h�ܦc���T1j^�h���1��V��穵6/o��v�)����B�ٿi���Oq^N�$��v^Òp \h������*Q�v"�)��$Н�0��|~�o!�c�����w�Tlp0v��� ���z`��r~S�\g7 �8�����.�b�����$�7��{���
���&9�։exIu�e�U>t�Np��
��&a2�~6�ɮM
ف		�V;�;^.�:��;�}��>\�X�|���ޑ�;O�Hd���P�NP��D���S<N�q�r�w��L�f9oI_I]�&�R!��*
h�M�S���O�3��e���Mg�|]�bJ�c�Qܑ�\�c��	�t�X����$1&�U���ͧ��U����fv�X�i�� �^��=��p
��iNk`��Ik5�~4��A��q�}z��'h�1�J�I��[�
t��I?|$�60z��������%i�ʕ4�S����WQE�W�����٘�,t�&ʚ�rZ2�TP�t-��
+endstream
+endobj
+1538 0 obj
+1591
+endobj
+1503 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.961 238.482 295.865]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_af36458b7b549f4494a2554972244867b) >>
+>> endobj
+1505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.298 284.961 319.547 295.865]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.008 284.961 407.258 295.865]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 255.246 191.16 266.15]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 255.246 252.31 266.15]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_aba4e5801ccc48c5aca66c1e09ddb601e) >>
+>> endobj
+1509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 225.531 191.16 236.435]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 225.531 257.849 236.435]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_aaaeb914f871ccb4e97fc4fd513364b94) >>
+>> endobj
+1511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 195.816 238.482 206.72]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.98 195.816 262.551 206.72]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2a702d0e6013ee746e60e4b3c53abfb9) >>
+>> endobj
+1513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 121.736 191.16 132.64]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 121.736 205.277 132.64]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_aa575e8597c316031b6de799f6b5e55bf) >>
+>> endobj
+1515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.021 191.16 102.925]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 92.021 205.825 102.925]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2e6d73507de036e41aa8e1cfc717835e) >>
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1521 0 obj <<
+/D [1519 0 R /XYZ 89 770.89 null]
+>> endobj
+1522 0 obj <<
+/D [1519 0 R /XYZ 90 721.073 null]
+>> endobj
+750 0 obj <<
+/D [1519 0 R /XYZ 90 631.186 null]
+>> endobj
+178 0 obj <<
+/D [1519 0 R /XYZ 90 623.449 null]
+>> endobj
+1523 0 obj <<
+/D [1519 0 R /XYZ 90 304.865 null]
+>> endobj
+1524 0 obj <<
+/D [1519 0 R /XYZ 90 304.865 null]
+>> endobj
+1525 0 obj <<
+/D [1519 0 R /XYZ 90 273.415 null]
+>> endobj
+1526 0 obj <<
+/D [1519 0 R /XYZ 90 243.7 null]
+>> endobj
+1527 0 obj <<
+/D [1519 0 R /XYZ 90 213.985 null]
+>> endobj
+1528 0 obj <<
+/D [1519 0 R /XYZ 90 141.639 null]
+>> endobj
+1529 0 obj <<
+/D [1519 0 R /XYZ 90 141.639 null]
+>> endobj
+1530 0 obj <<
+/D [1519 0 R /XYZ 90 110.19 null]
+>> endobj
+1518 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im7 1502 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1557 0 obj <<
+/Length 1225      
+/Filter /FlateDecode
+>>
+stream
+xڽX[s�8~���maf-��۶iv�mg�I�)�xd[�i�������l�K���BH��s>
������{��{�� ;IA�s?u$v_".�m�<�#��>��
�'j����\Or5��Q��`}�R�����E���Ee��n�x}ʱ�!VEa��z��t����a����z��x���#`v���� t�I��+v&0}�=2t��E��S�ع���õSQn��Q����� BZ�D���B�*��l�!��<Z��Ke`�bp)6A�N��(ࡕx?���I4�(w�_뫙˦�Y>y��K\�g��#�-�2�� 
u4d�e��RU&VSӬTΣ���J��_f:չ*+o��<K���Ǚ��)Jgv�
�4���p�@>
�8���_(�۫
�
 �H�:M.�pBߔG��h����*�@�95���L ��y��`��
+Q�"��4c��A�hMJm�@G(��H��� ����j��O1Dԗg�OaL��o��������=�
��L��@l���r�0�8�r�|DX'
+�����!p��uY
)l(k+q}
�����ҹΣR�T1��,WI����:›��o�j�	�h
B
+J�0(
��	��=	h�j�����'WI�\d�Cl�l�7����R5#aY�F7��-��6��u2ҹ
_.ӱ!�b�����t� Oѕ�4��&�
!0�c
��T�q=�+jW�>�
P}?I�
+
!p	�.¯��#APG!g���(����Ϙl�M���P�(���>
+8���i�[/͗q�X�����%�~m��(n0�2��.�2�m�t�O
+GB�f�j�<�|G?!P($@�P(�S���*J��r8�E4чR�5Ѿ��2O��3z��(��i,82̠�j#R5#��S�8��AN r8�j��A�G�����?�y��ŠK KvN�9����U
~
g�o�{����O�<�C��>
 7����_�s���>+�!�{�_e�G#3�,��O(�V�2/��
+'�G�=�x�����	�K�������
X�5��a��yP腯 ���]P����{��A��R߶��\v�Ovp�yS���JgK5�^��ΧՕ�i��+t��ǹ[3�g�.U���h�T�E{�&�b��ȹ�
'Y?����?�W
+ݰ���o�q^��w��h9��h��Y�����A��h{���O���#Ja2�����U5�sL�9�
xu�Iк�_������RZ^�
+endstream
+endobj
+1556 0 obj <<
+/Type /Page
+/Contents 1557 0 R
+/Resources 1555 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Group 1540 0 R
+/Annots [ 1541 0 R 1542 0 R 1543 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R 1549 0 R 1550 0 R 1551 0 R 1552 0 R 1553 0 R 1554 0 R ]
+>> endobj
+1539 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Sum__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1569 0 R
+/BBox [0 0 210 192]
+/Group 1540 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1570 0 R>>
+>>
+/Length 409
+/Filter /FlateDecode
+>>
+stream
+x��TMK�0��W�hv�I�$�j�ò�/�]����w�M��
�Q��3ɼy�I
yS�r<L��j��
�U�w���a���wW��P�<^�b	�֊n����d�=�w#�c{xV5W���X��rQ�>�f,1���
���0
3vi�?oU�1F��ei�� ����f�
++�nڭZ\ "%Cb�TY+�Iƈ�)|YwX���!Uu#+1C

�iJ~ƚIpU��9p�Q��g��-ߋ���oS[�q���m��܄��q�]�Ƌ�s-%��Y8�d��r�A
u3�"�*9c*�`�N.ۓ
+ǂ r�"�QV��#WD��~�
+2�_˂�cYp�Y���M�M�'��Y6�tO�V{4|�2��Ý�6�w��C
+���Q��cE>�\��D��u�a�M�su�>�6�
+endstream
+endobj
+1569 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1570 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /LOMWZP+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1571 0 R]
+/ToUnicode 1572 0 R
+>>
+endobj
+1571 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /LOMWZP+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1573 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 667 556]]
+>>
+endobj
+1572 0 obj
+<<
+/Length 1574 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0���b��"����tâ?*��
�b,Cܾ��J�Z�����8��/�
�?�$^���<Ow+�:�:)�A.��_���bgn�y����%şN����YM
?ED�[�v�W�}_l5wc~xd�PU)��q��ykG�؛��r���{g���Z
S�Y�JrR<�V�m���2q���w��X�zl]/o���
'I�T�ROG:@KA4�=�=�-P��N9���N���:P���S�p��2���!�H	M��
�+�]�� ԗB}E����5t��cZ�n��"~B�l͏Wd&����

,��
+endstream
+endobj
+1573 0 obj
+<<
+/Type /FontDescriptor
+/FontName /LOMWZP+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1575 0 R
+>>
+endobj
+1574 0 obj
+316
+endobj
+1575 0 obj
+<<
+/Length 1576 0 R
+/Filter /FlateDecode
+/Length1 2072
+>>
+stream
+x�UUWlSg����$ƫ�񌳍�G�"v����&qBHp3pȄB	��R��*	P�}��*u�B�
+Z�E�[_�A%$(��!��\���	���q�=�;��K�G�%����$�衅��ݺet��/_�xGZJ"��'�?
��6�dH>�
d#m���*T�g��A:4:�&�f?�g��
OM�
�~�t6�
B�<a
�S�&�B�r�
��St~1��6��3j�2�FI
+!Z�vr6�Z%5�sJ�T��lN����Fv�

W����=5��o�Vk�C�'|�}��ą����It�6�
T�6s���`P��l.5Z5��a��sUB���4NisV@�H�qK��
+
K�$�ۺ)A��,|�<ݸ�\QRZ.	ԆR�ʝ����:�j.]�`�x��ZsFJrR�*�D���1[
+����y��dy��� ���1��x&�Za�T+��i�

��j�L
?Ѧ-�*�+�D�S��<C

f�$�6
�_y�����S���5�q
��ʛ�����z~
�\�u���C�މ��'z �D$j��z���l1
�����*�Fѥ����ڗu��m���'�g&����ڶV�6�֛�s?�
�86�
g����9)�Qb�'���f�TQ3\�r��'b�w0��A�)�P�BnoVJ�"5S��U�*_<2��Y�M�D>Bb8�-����.�b+8V�[�
L�%-]qY�~�/:�ߵ�x=�!W
�
`�*�A�I��b..��юV#ѱ��:~��C�`������5mKQ���
����w,5�
�瀞n�rP���3�g*�y�L"i����;�h_�a�/P�ߤounݳwh�q�&�Şgxծ�����6H�Mn���;�v=h���1t]j��x ��_|D�׆�c����
�YSr����6������������°m X�t��;�aw5\[1k at Xj�H�Օy����ѡ}IXD:�N�D�2Lbw;rc5��V��m�����V��
(�U�0����s�;`�������� Z�����ױ]}
>_|
� [...]
F�b�%AB�w�v<�K*Le"�
#�od��|>���K�S��'��p��%ݒ?�o_,��[��i��$D
�W
xI��M�hA��Fr���#��;�W*�<L
4�O���4�F9.=ޭ�s/ٷľ�� ��#���3B�4J:��K�R�
�Y1�b)ތ�=\�#�/�����.�������t<�o���
+endstream
+endobj
+1576 0 obj
+1562
+endobj
+1540 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1541 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 284.959 214.413 295.863]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a6d0d4f5a1f45dd0c5ccb2abe003bb041) >>
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.228 284.959 295.478 295.863]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.939 284.959 383.188 295.863]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1544 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 255.244 191.16 266.148]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1545 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 255.244 252.31 266.148]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a75fb2490197b55a1474aff4ce0022598) >>
+>> endobj
+1546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 225.53 191.16 236.433]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 225.53 257.849 236.433]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_acd2297a09c09cc44bf66eaafb90e0d7c) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 195.815 214.413 206.719]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.911 195.815 238.482 206.719]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a1af748b5b83815f826301969cee51712) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 121.735 191.16 132.639]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 121.735 205.277 132.639]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_a04d7bcdd3d8cd086fa28922403cbeb6e) >>
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.02 191.16 102.924]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 92.02 205.825 102.924]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_aaf17ce2383d125a60b8283addae73c7c) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1558 0 obj <<
+/D [1556 0 R /XYZ 89 770.89 null]
+>> endobj
+1559 0 obj <<
+/D [1556 0 R /XYZ 90 721.073 null]
+>> endobj
+751 0 obj <<
+/D [1556 0 R /XYZ 90 631.186 null]
+>> endobj
+182 0 obj <<
+/D [1556 0 R /XYZ 90 623.449 null]
+>> endobj
+1560 0 obj <<
+/D [1556 0 R /XYZ 90 304.863 null]
+>> endobj
+1561 0 obj <<
+/D [1556 0 R /XYZ 90 304.863 null]
+>> endobj
+1562 0 obj <<
+/D [1556 0 R /XYZ 90 273.414 null]
+>> endobj
+1563 0 obj <<
+/D [1556 0 R /XYZ 90 243.699 null]
+>> endobj
+1564 0 obj <<
+/D [1556 0 R /XYZ 90 213.984 null]
+>> endobj
+1565 0 obj <<
+/D [1556 0 R /XYZ 90 141.639 null]
+>> endobj
+1566 0 obj <<
+/D [1556 0 R /XYZ 90 141.639 null]
+>> endobj
+1567 0 obj <<
+/D [1556 0 R /XYZ 90 110.19 null]
+>> endobj
+1555 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im8 1539 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1601 0 obj <<
+/Length 1204      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vr��� �ȭq��$ul�'�(Hfʇ‡
��. �"iIv:jf:�K�]|��bAl�-l�:y=���|l�(�g�WV�-�
��mi��
;���DB�ѓ���O�ϯ���|�uB���^ϑXq6����%
_X�0�
Ԥ�r)�gj]O>Lp�
+F�KQ>Z�2r�D����F��3%c����$KgJi oU\&�:)r�11;��[�֔�����8���c�j2-+��
o�%Mr�Z���M)�
+lUHAj��<��.���D^G�/5�*ZE�]Ri)N���ը}Y�\�Q��(W�Ef�
+�,M
�r�!��z��4� X�C.
��=h'?Qʇ�n�
p}�6{{������Зȡؾ��"�j��"�
+9�穱�`�o�3�m�2����
��-���

+(�x�w!e�����9B�.5$}��C��x'����
ǰOA���ɢ��؏��m�����
�������l�}j�A�q�;�q�\D؈�y��J'�I� ^���ۢy,%1��ֹ;�7e�l�z���s��N˗��q>A�ˬ���a�sm�<�eRG�o��I�.�l��*�o!u���X��A?����i���'�%O��6E��JҾB���Z�&�e�Ѭkf�Yh�)��}�,�jKӞ��śQ�֞*���M�X��Nd
Qj���cY!��;
���2�\���i7�u��Ձ���<�����p�B�d

�T�?�U�����Q�D�T�RpN�=��
+ �Uid "S⢶�n�tY��nb�E���"���PI�M�N�Ta��Vg�>��礱N���?/O<ڥ$������e�>����/ps�� �/P��1�uS��#e�=��#�383�:C�܀��j�դ�a�8	ͤ�P��K�hy�2�u�q;�6~��~:x�@�f�穚E?�wrA8E!��$#���?]��� �8>
��ab~�8�\|h�-��
�w(���jyY�8*j��\}��2Y����B�\sV��g����(m��}ef���������Eo��#
�����i�jo�=�63�v�T���V�j��5yu�$k���1:D���.�u��D��������J�f0����(r8�۸}�M�:]6����b�29�ؾ&��V��v����D[鮌�����l�h֕��(.��%c�ؗ���ݭ*+�� ��L�ky��_�h��
+endstream
+endobj
+1600 0 obj <<
+/Type /Page
+/Contents 1601 0 R
+/Resources 1599 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Group 1578 0 R
+/Annots [ 1579 0 R 1580 0 R 1581 0 R 1582 0 R 1583 0 R 1584 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1589 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1598 0 R ]
+>> endobj
+1577 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Times__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1613 0 R
+/BBox [0 0 214 192]
+/Group 1578 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1614 0 R>>
+>>
+/Length 408
+/Filter /FlateDecode
+>>
+stream
+x��TMK1��W��tf�l�

+"
����/�V�
���l��v
�Qd��K�͛��we ����&8��	��<�-Lۏ<��קB���fs@��R�p�d
�!+�|
 ���E�T��6b
��M�{��E��l��wB�8#��Ê]�O[u��swY�'6 at c�ݫɦ�
+y7�Fͮ��!�u��`�1m
+g�.KAS>UR�0��nd%fʢP����Y�El�eA�9�4o�\*�V���qo���E	��u!�?�(5^b��(�6�E�L����P�7�+��"���������dȓ7j +	pԙ�
��q=�7q�	��CH;��𧍒O����D�
N�r������ڣ��Yt��Pp��A�5��������ǎF����D���p����Su�� �C
�
+endstream
+endobj
+1613 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1614 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /GLFYYR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1615 0 R]
+/ToUnicode 1616 0 R
+>>
+endobj
+1615 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /GLFYYR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1617 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 611]]
+>>
+endobj
+1616 0 obj
+<<
+/Length 1618 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0��>�,�E&�4B��
���� {�"c���5~(�j	��o��3��R?׶�)y��jx&�[�yo^1u|��^�ſZ'�`n�i桶feI�G��/�{�c����7����J��K�����lgJEU�f�{i�k;0%Ѽ�u��y��_��☲�WR��ɵ�}k�,�4��JV%��z������.Cx���*R�(Ah(��AE�€��6:����Agh��T�:PR�ͧA�]8R� )G>�"�D}92H�wBv��w ��"���:��p��}>��}M|q&�4z��w�F����
�|��
+endstream
+endobj
+1617 0 obj
+<<
+/Type /FontDescriptor
+/FontName /GLFYYR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1619 0 R
+>>
+endobj
+1618 0 obj
+313
+endobj
+1619 0 obj
+<<
+/Length 1620 0 R
+/Filter /FlateDecode
+/Length1 1892
+>>
+stream
+x�UUilW�y>�`�ص�&��8�E��G�E.�
8qb� 	&N�
+�p�Y��TAڟUQ��VU
��j� �҃V�J	E
T*���['@W��v�o���f� R����D��'� ��d�m�
��~���'[$6�����' �J�ycdP}�A=A�=62��ࢲ������� �KH@zd$�g
��HH_A1# ��͂�r Qo��Z��JkqP:�f�yM���y�aِ� f�(xE�I0�m�<���6�D���vxñ�}њ�u�`]C8����s��3m�#���山��q
+N��9f&�|pd@�Qt�Bu����N�Uc�
6�:���Va��h�Uߌ����L�|U��}s�&�P��2Ǿ�QUV^�
+�#�-�^��Ys�t3��I�u�k͎�����EJ�:+��p�J�7�hu��` ���Z�i1��(�mTj5�.3ֆ�ွީ�ֲMz̴���|����c�*�O��Ľ��_i
X[�Ѣ�&ws{X\)6%�m))�[�Jo��\-]Z�)���D��%S�@%X<�.~a��J�hO̡D��@G����yͯ���
���k
�
�,{��w�g0u&0ruddSt�c!�8+�(�a>��ߌ	�aZБ"*x�=
~
*D
���Y����Z�Y�U�q��^ܪ6�X��$Ox��
���E�/p����k�B��ֲu]!��+���ج�wi^�N��ku�� �j�� ���2��(L8f���
&t��f�ma����CGFZvd
+�!t`�jM��&g���-3�η������kC��,���ٔ����=n�7���KV�X۽o��78�9��i�9_�U�
;p�3���7��n�#�:B?�p�8�>��9

+Q��O����P2��j��9��D���&�^�k��C�=�c�+Z��/ۛ!"���郇?��[��5^�5����b�p{�
+K�3����*���N�&{��mx9ۦ�O���|]w��U�FeD|�m��n/)�#�n� $
�

��W�~��J��>�{N�:�:�<���Ҍ�y4��Rl�h��h�&z�X�w{��z��'ׯ���U�c�~ݠ
�T�2L�S�+�:Fa�S5���2L��W����
�m��G�݊ŠX�R
�5�껡���W��Ժ�`��n��
�96���2�NrI��uPM)�t�|Xܺ�1�d'��Dg��E?Ls���%}o�V%�<6&�B"�/�|BͿ��r
��)J*���ր��J�4�:b�
�H#��'���ͨ|�4�{
��+~^�_�
+U�Y���B,Z���Э����x�����#�+aE�%)� ���Ȋ�I��
h��`�w���$�lu�<�`�A����M��$V�'W�g��
y���
$?e���a�/)C#	�+�y��:�P����Q���������vQ�L���M�'C��
+endstream
+endobj
+1620 0 obj
+1429
+endobj
+1578 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.163 220.699 306.067]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a84e0592d7a7e218f4c4c782f882f18cc) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 295.163 270.531 306.067]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.434 295.163 315.622 306.067]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 267.756 220.699 278.66]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ac3d22627243890fd03c69a0550485a68) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 267.756 270.531 278.66]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.434 267.756 357.684 278.66]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 240.349 220.699 251.253]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a8bddb181c1be9d2553b18871ab85e84f) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 240.349 301.764 251.253]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.013 240.349 356.03 251.253]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 213.316 159.927 223.846]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 213.316 204.221 223.846]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a2a5cc6cf6acdd7c5695af1ef807c40b2) >>
+>> endobj
+1590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 185.535 191.16 196.439]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 185.535 263.777 196.439]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_aa37c50d4e586466d66070a61595399ec) >>
+>> endobj
+1592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 158.128 220.699 169.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.197 158.128 244.768 169.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_aca857d6f0e8cef1c2a2b077cd6a513ef) >>
+>> endobj
+1594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.09 159.927 99.937]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 91.09 182.632 99.937]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_abef3573de0c962f79637f379b089b0ad) >>
+>> endobj
+1598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1602 0 obj <<
+/D [1600 0 R /XYZ 89 770.89 null]
+>> endobj
+1603 0 obj <<
+/D [1600 0 R /XYZ 90 721.073 null]
+>> endobj
+752 0 obj <<
+/D [1600 0 R /XYZ 90 635.369 null]
+>> endobj
+186 0 obj <<
+/D [1600 0 R /XYZ 90 628.012 null]
+>> endobj
+1604 0 obj <<
+/D [1600 0 R /XYZ 90 313.912 null]
+>> endobj
+1605 0 obj <<
+/D [1600 0 R /XYZ 90 313.912 null]
+>> endobj
+1606 0 obj <<
+/D [1600 0 R /XYZ 90 284.771 null]
+>> endobj
+1607 0 obj <<
+/D [1600 0 R /XYZ 90 257.364 null]
+>> endobj
+1608 0 obj <<
+/D [1600 0 R /XYZ 90 229.957 null]
+>> endobj
+1609 0 obj <<
+/D [1600 0 R /XYZ 90 202.551 null]
+>> endobj
+1610 0 obj <<
+/D [1600 0 R /XYZ 90 175.144 null]
+>> endobj
+1611 0 obj <<
+/D [1600 0 R /XYZ 90 107.782 null]
+>> endobj
+1612 0 obj <<
+/D [1600 0 R /XYZ 90 107.782 null]
+>> endobj
+1599 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im9 1577 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1634 0 obj <<
+/Length 1228      
+/Filter /FlateDecode
+>>
+stream
+x��W[w�8~������.A޶ۦ'��l�>�=>�]
.�\�}	ـ/�n��'f曙��D}
����璠G
�d�"��a��
�9�`�\�B�u\���Ȟ�ռ��Y:+��ٕ��Wi��r��i]�4t�f���s��i^o\�	���śvy�����z���#��ur9�0}Q� j<X�(Y��4�Ǘ��B�7���8\3�i�׈���n�A7HJ��IJ1�&�/�	m|�yc�\�n�~
�;O 
�PM�/��T�T8
D�/���y�P�~�,c8��h����N��!��vY,̵���<��mp٬�ˈ���6Mظ��h<h.�	�A��&!\f�S�_[
�U������&)�u5Dg��<��H�AX벘�I�,>���ٖ̓�{��B-\&�/��$Uy��mLS��Lϋ�^�����qQ�ڴ-�dWǏ.[��R�q�Ze�deQdY����K��,Sg=�5%� G���c9��\8�Jm���Cc1>�gh�H�m�r�)4�a��R* S !8��8ի
�Pn�Uwg��s����h[m@;.����}��@2��M�3X3.��
ٹ^�<����w��1��	ɗAߑ��sN��71ι�)d�!t����a�·�
�-�
�����J
c���$�B�ZHN�������0��M�.4ʮ�_M>}V����*�*�
+��%��e���1a��Y��;�zvRH =��
	D�'�&�Z���������]������bE	z_@�:
+ۣ��g�y
k6ɽI�	�}�e�zY���$�Z�fZ�`}^�I����p��n���?-�f����i����Y�����
	��Q�]�f󍕾�hgߔU��>nWF���m�
��
��햤X���C�:�����
�ӓ���] +���t��T!)d���E��t�Qt���X�&M����|�xg|�y�G6�	
ԤN ��2�e@�mA�OM��"bo��N9
+z���h���S���N7�r�)�/*�2;��^Ue:k
� ��@T�����H�8 |��
+~����B=q�מ
�9��� w#A~�� ���+������U�/�x�n��+U.��*��*s�p���:��mY?4%���y�b]���8�瓲
a��{+�6Gu��
x�g���Z��dzz	ܾ�	�<�������(c;���r{z��+��{zA(f�k�	B�d�0�[&�p�����
+endstream
+endobj
+1633 0 obj <<
+/Type /Page
+/Contents 1634 0 R
+/Resources 1632 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Group 1622 0 R
+/Annots [ 1596 0 R 1597 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1631 0 R ]
+>> endobj
+1621 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1644 0 R
+/BBox [0 0 242 192]
+/Group 1622 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1645 0 R>>
+>>
+/Length 418
+/Filter /FlateDecode
+>>
+stream
+x��TMK1��W��t&�$���u��x�~������wf�l�-~
E�ݙ佼�l
yS�����
�vw��ٮ`�z/�
�|(�K~_���F�+B�V�
6P�`0
d���YU�T�.��q��?\�!8b6�z!�O��a�~��v*�R��25
\��A�Q�e�
r7�Rݟ!"eKMn���fk%�
��}!�mBnd�˜��L*��Jy����U�yNV�	��%Y�NΥ!��>�ޖE����u"Z�C�� є"J��Cf� [(CR�
h�[����!�usuC~w�N���O8��
�$.'��$^�C�(��C�o
�n"���H{�`���*���Q�h��&��q������#t:���Q�
�Y���Ч!h�fp����맊�/5C�I���;@�}c�T]�O�a(

+endstream
+endobj
+1644 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1645 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /STYAVR+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1646 0 R]
+/ToUnicode 1647 0 R
+>>
+endobj
+1646 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /STYAVR+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1648 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 722 833 556]]
+>>
+endobj
+1647 0 obj
+<<
+/Length 1649 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0��>�,�E&	!U�ET��=$H�X�,�}�J�Z�����8�T/��g�>ܨj���v<�w��Z��FȄt���_
��O��i�2�(���O/N�[h��ǖ�E�N��͕vߗ[���
����$͝?o����}�����ާ�E|-�)	,q%5j�l��5�ʢ��*���*�OO����5.�K
�y\J
%� -��4(
�u�#��r��p�t�v5�
ԂR�my�݅%
���'cDB�𗢂��
���� ��l���n%��Yh�ֽ���[x�Nݝ�c
&�k�To���h׬���=�i
+endstream
+endobj
+1648 0 obj
+<<
+/Type /FontDescriptor
+/FontName /STYAVR+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1650 0 R
+>>
+endobj
+1649 0 obj
+322
+endobj
+1650 0 obj
+<<
+/Length 1651 0 R
+/Filter /FlateDecode
+/Length1 2052
+>>
+stream
+x�UUiLTW>�΂8#�:[�a�aP�7�"*æ���
:��#�Ce�h늂b�4&Mw�4mj�tK�jM�i�?FM��&��M��j�D���M��Ծ���y�l�9�>bD�Beĩ��'�O�>
��Bڽ�{[�u�O?�}'��f�#��o��~2
��\Z��x���o�������-FTs�>�k{b[��a.��	~:|F�x;�F�@�d�r�=ʍ�"֩
��F����'\���)�2�l�l��
�Ŭw��I�
��*{�>��_?�;�mGG���P��2���jl9�oב�>���l_�ʖ~8���;����%2�%��	X`Օ'�ϻ %���g^�#G�b���4���_����:��|]��qM�a�������ٮ�sJJu�hfGm��m���Z������#�l�)��)�:}V���.*V����b�0�
+�U��$�i�"9��&{l,�D�n��}�k�+��u���N5�y
+
;�;-�Uh����R]�S��.��4F���$���Y3B�κE����UΌ�%q7��!ԉt�����
�x�8:w��ɂ�ceqe�m/��26���ۿk��:��Z�ȳG�
<4�&������Y
��U�
U��L��hD� x�͜p���H`d�(�O�_�4���k���2-3[ʚj������8��{R��69�Ӕ8%qb�`˄�9.�4�;X�_����Y�2�6�c!�~M��8��\٬��F�0�j�)D�v�
�4�&
;6��.�uΔ�]�tD2^o�ݳ��vc�E��\,2᲻�ݕ]�׎0~��,Pȵ��+�xf���3������}^طI��
���9��׶����
��D������džw
Y�ҕG��V���j��rX?<>k݀��;
������JWWҿ9pN�5�,�5���Y
��o��0��Ouؚ� ��v�j�`W^�5F"�
u^/��y-��-v�#W�!�m� M��/�mz����w�ciɒ�p���iD�
Ae3�0k��
�a��
з�vA-g�ǣ����
`K��ղ;��8%�k�1�g&G^�ä�m�9���
n��ց�����Ef`��y���z]B�N�6�%���f2T

�PC5[���,��v��*P�*hXS���:�tʥ3�PC���K���E�Sr&��
jVD�#����T�4?Obل�
#'�,���C'���k��Y��Ž�P��`'�#�Э
O�k$�;4���a�!��뾏�|u0��FO�a���&���
`b:c��ܟ$�u���%�P�`C��[�d���,?�Q�af��{I���@�B���H�R"![=��9�nS��Zt�
};�Rq��$�g:��^Adf�=VU�E3έ>y�5��17hn
3oL�u|�I)���f��@��@5���Ԭ��٦�ݽ1���ƿ�(/$?�
VOU� U���]�N�N������� +癕V`��NP3�IX9�Gj��:ȃc>���,0�
d���|�q�x7֧�Ԍ�w�!��
xj��־�

�h:���=��V�����N[�5W�Ա�'��?�ⳉ
+endstream
+endobj
+1651 0 obj
+1544
+endobj
+1622 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 707.957 191.16 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 707.957 226.706 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_a0e3334c609b7d72493ee150349098048) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 229.686 251.483 240.589]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a0b2d532ef24c4ccd4a4a04907d03f2af) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.299 229.686 332.549 240.589]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 199.114 191.16 210.018]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 199.114 231.1 210.018]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a0e57cbf0841e9af58ac2a52e89865a86) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 168.542 251.483 179.446]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.981 168.542 275.553 179.446]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_adb175a61cbcdf46716687740a28e92db) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.449 191.16 103.353]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 92.449 206.194 103.353]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a48032da1e7c874083e027a065499bd5b) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1635 0 obj <<
+/D [1633 0 R /XYZ 89 770.89 null]
+>> endobj
+1636 0 obj <<
+/D [1633 0 R /XYZ 90 721.073 null]
+>> endobj
+1637 0 obj <<
+/D [1633 0 R /XYZ 90 675.413 null]
+>> endobj
+753 0 obj <<
+/D [1633 0 R /XYZ 90 578.649 null]
+>> endobj
+190 0 obj <<
+/D [1633 0 R /XYZ 90 570.376 null]
+>> endobj
+1638 0 obj <<
+/D [1633 0 R /XYZ 90 250.017 null]
+>> endobj
+1639 0 obj <<
+/D [1633 0 R /XYZ 90 250.017 null]
+>> endobj
+1640 0 obj <<
+/D [1633 0 R /XYZ 90 217.712 null]
+>> endobj
+1641 0 obj <<
+/D [1633 0 R /XYZ 90 187.14 null]
+>> endobj
+1642 0 obj <<
+/D [1633 0 R /XYZ 90 112.781 null]
+>> endobj
+1643 0 obj <<
+/D [1633 0 R /XYZ 90 112.781 null]
+>> endobj
+1632 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F81 426 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im10 1621 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1663 0 obj <<
+/Length 1237      
+/Filter /FlateDecode
+>>
+stream
+x��XIw�6��W�V� 
�%�&���کk+�8y~�L)R�(/��C,IIN�(}=0�|3Ca's�����t49��8��3�ub�~�x ��ε˩�ez� B$�H���������
MG�F��C4=Ga䤋���������ő�
-
�2X
�j��U0���6�Q,"�A�h
p��xc�1vߋ:�
1�ƔF�k��|Y�U��"&�A�T쌩��k��;�
���w3���b��[�&z)�R$R���ǥ�<G�_���(�����J�
Q�
�S��+�K�de�
��G&J!�Z��P�jaI�eV�G�����>��1-ě�'
 �E� ��ȸ�3����z���g�֛��ě�e"�n��r�B_�b����h�^ U!n1�q��Jf
��`2�e"�v^
�;����?�]
�(l��fRG�r�/8��aY
!�ӝ��
�)�pB�
B>�=e�/��g�ɨ�}��"��
��
��@����&�����A�3�#�Q������<�y�[��w���p!�(S�
�ٚ{���l�d�:/�!�
�u�7J�wc�Iy'd^'���y��d1 �J�H<�t7:�����'�b�p
��71xp��	�7 at h
L=�lՕ%3��о� ��*��[I㍨�U�Q
+񎴧.�*�y��{.3!��x]�M�\�4uﶞA^�`O=ӊ��h|�L��9{XuU�؜o3u�K~�d�au"0,�D)�
Hc�#���Bn�W��_;��d,��J�M�����Z>�}
��
C`6B	��@�����IO/E�ޣg�H"�ᰡ�i�/��~W�$Q�K�Dn��ؽ��ޗ�^�r�{���%=uj��(��㖠_���<���
���Y�^�ӗ��^/�EU�_��nz';�
�оy��(#�L���3m
tt�����{�|��˹��#�&���͑S��*
b�$����l�<�|;G��o͑U�u���[�
FIþGR6 �v
�q�(`���
c �1K��N�D���k`4_�~{RV�\��Fc����7N�i���X�+��k:�(��G��;�~�x
ى�0�f�����|̎|�p���*���0�@!�p�[��juqq�7�]�������If
������T����J��<�]���\'��6�Q�)���<��ؽ6�ڔZK�l���=b�4�C�]]/�L&�u�;C)�ȭ���!���m-^TR�|�Å��[���43S
+endstream
+endobj
+1662 0 obj <<
+/Type /Page
+/Contents 1663 0 R
+/Resources 1661 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Group 1653 0 R
+/Annots [ 1654 0 R 1655 0 R 1656 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R ]
+>> endobj
+1652 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Linear__Expression__Variable__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 1671 0 R
+/BBox [0 0 220 192]
+/Group 1653 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 1672 0 R>>
+>>
+/Length 417
+/Filter /FlateDecode
+>>
+stream
+x��T�j�0
��+�q�؎m9�`�ö����i;F;Xw��OJ�M`�q���ْ߳�ޕ��
�6BA%�qO��9�`�B�}���
>�-��j���"�;`&�� �q���
^T��+��F,a
Y���L�,	� �;2���Z���iި�c���!S��z��,45�X ��٪�"RmHbY�
+0�1m
.�]*�
���u!
��(+���d�K����D��L֦�dE�5'`S/�����<���϶M
��p��	i�Q]y�eQrl<��
dR� ����Į���S��tH�����{ݜL;�DzI�&��O�_ �]9���:� ��C�9N�?m�t�܂b@�����@Uױ�;Z����(:Nw(8m���C	kx��Q���"V�\zM�4�����YV�7���{���&
+endstream
+endobj
+1671 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+1672 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /TFQXBQ+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 1673 0 R]
+/ToUnicode 1674 0 R
+>>
+endobj
+1673 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /TFQXBQ+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 1675 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 556 556 667 500 500 667]]
+>>
+endobj
+1674 0 obj
+<<
+/Length 1676 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]�Mn�0��>�,�E&�4B��
���� {H�������5~(�j	��o��3��R?�f𔼻I5��v<O7��:�FȌ��F��֊$��e�<֦�DYR��ٻ�vOz��AQ��4��\i�ui��ܬ�ᑍ�TTi��q/�}mG�$�����}��E|.�)�,q%5i�m�ص�ʢLê��ê�O�Rغ^}�.��������E:J�ZʡiP��AGh�@
+�SΠ3�GP
*@
()��Ӡ�.
)cP)G>�"�D}92H�wBv��w ����uhm�:��|�͹0��(�L�i
����Nvu�����
+endstream
+endobj
+1675 0 obj
+<<
+/Type /FontDescriptor
+/FontName /TFQXBQ+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 1677 0 R
+>>
+endobj
+1676 0 obj
+313
+endobj
+1677 0 obj
+<<
+/Length 1678 0 R
+/Filter /FlateDecode
+/Length1 1892
+>>
+stream
+x�UUilW�y>r�$v��A�G
�"��r'qȁ'v�	����)�@��JJ���*U%
+�Ϫ�R/��J�j�P���
T�Z qHP���;o� ]�
3;o��@
+����8
���N����=�

����I�������@]E:o��!�'H��G&v�R�I>Mrdx�/P���$GGb��q��䰁��3
+���,((�}�Eo�2���3lv���5��7�`��`֋�Wt���f-��j�Ity=n�7X9
߳o V�N](T�	��n���9<y�M��>
�06��3N�	�(1�̄Yn �
�7�.�@��>y�5)��F��fU�\�j�PM~��XiZ���,TEzڷ�ir
�K�r�
ի+�T�@4k��ʋ;>jn����i��`d�ٱ,K����T���Mgi��]sQ�V�-
�  h�SLKh�@Ao�TkPt���D��z�F��Y�6���V�
+:�H�<�3�b��O&~Z��Mc��ꎕ�7���#�J�)91mKYQ��޺Nz
�\�����J�$�$B�.q��*��au��\�$���
J�?
2](�C�5?�
�vL�1:>95�
+5:�Y�̱7�g0u&8rqddsl�c!�8-�(���$�wƄo0-�H��
��w��,���g�iV|�u�i�/iU�s�,C�C�'�IXZ��"������m�p~���]a��+����٬�wyA�N��suR� �j�e ���"�('L8f���&t����m�kݣ�������H���;MΆ�
[g��m���0��kc��l��>ř	9����=n�7��3V�X۽���78�9����9_�U��
�<Ձ�ң�M��F7��n
��\�k�]�`�
�������Pҿ�rԐ�|�
���Ul/޵�����항ɗ��0�uw�����k/�5��%��r����p}�

+�K�#����*)�=��M���mx�ۦ�w���b}w��U�FiD}�m~i���浣�݄?@H:/p|
������c�W�Ƿp�r�9�)ǩ�i�z���`+H���'���ء#��|�;5�C�>�|5�/�3V����N��a��2\�T1j�
�Ѵ
�0��^�'�w�mi
���*Ū�b��qW��{e���e�t����yc$)��ڴC���"�e
�t�rRXl(栈���'�?��GĝbCrܘ���
J���J�y`L$h�D�_&�BͿ���~^IUQS��B�m
h體A]�#�^��$�1���ӖޛY��i�9��?V���>�)��)�IL�E_4+nKס[��ӝ��{
�����(+/�"
B@�FV��C�
n@>#�IN٤���h�����wg����4���[�v&�g�S��
���QF2�6L�3��H���i
-��q��J�mtF���E9z/@?�,�,�-$�
+�� �P��
+endstream
+endobj
+1678 0 obj
+1430
+endobj
+1653 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1654 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 297.659 229.336 308.563]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a820ba8207751c8764ab6a51eb1183a7c) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.152 297.659 268.34 308.563]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 270.82 149.098 281.724]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.596 270.82 189.038 281.724]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_ad6f7c3aef257204c507d0a85539aa987) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 243.982 229.336 254.886]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.834 243.982 253.406 254.886]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_a5bb6231ba1b0357cce472468fc4733f2) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1664 0 obj <<
+/D [1662 0 R /XYZ 89 770.89 null]
+>> endobj
+1665 0 obj <<
+/D [1662 0 R /XYZ 90 721.073 null]
+>> endobj
+754 0 obj <<
+/D [1662 0 R /XYZ 90 637.644 null]
+>> endobj
+194 0 obj <<
+/D [1662 0 R /XYZ 90 629.405 null]
+>> endobj
+1666 0 obj <<
+/D [1662 0 R /XYZ 90 316.124 null]
+>> endobj
+1667 0 obj <<
+/D [1662 0 R /XYZ 90 316.124 null]
+>> endobj
+1668 0 obj <<
+/D [1662 0 R /XYZ 90 287.551 null]
+>> endobj
+1669 0 obj <<
+/D [1662 0 R /XYZ 90 260.713 null]
+>> endobj
+1670 0 obj <<
+/D [1662 0 R /XYZ 90 216.791 null]
+>> endobj
+755 0 obj <<
+/D [1662 0 R /XYZ 90 127.534 null]
+>> endobj
+198 0 obj <<
+/D [1662 0 R /XYZ 90 119.295 null]
+>> endobj
+1661 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im11 1652 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1704 0 obj <<
+/Length 1713      
+/Filter /FlateDecode
+>>
+stream
+x��YIw�6��W��P��[��yYܨ��K����Ć�RN�_��F-�丵���Xf���f bo�a��藫��y������k/�^<I�������c�1��\�<[��z!
+ɳ��I.�A�}t�r�Me@��U�Ɣa�iŻ�4߉k�?�&�^��ga��ի��ѧ��G� 
ʼn�ף�b���W
��&�g=��&4�g�]�~a�
F���zX���!���t5
b�*s��&���g �n����/ۦ��
����y�
��$L<��Xl��@)ۛ�T�s��#����o�y�gϥle��K.�jߝ�0P��3|�˲�<;� �K���|�D�rE��%���t��*�[0	!>2
� ���8L5C
+��oL���L�Da0|&�\����CpX%5+X�)V�4��<�B�~,�ڀ2���y��|��/�i�f$F��ͮ�S���j��; ��
�k�6��
���h��(~���׭4J ��g�����/�IJᳲ*{��^��O+!�`ӳ�mz�V��������N�(�oJ�ԩCPʘQ�s�/�֢[���E�h��}��G�
�X��|U���چ�˨�]���&�?�ܾ
Hٙ���T�����>`L+�Ӯ�����X8��
nj/~��
�T���Q97��m�",�02���1�
+K��
Wm�@"�P�Vl$ ޅ`�
��ޝb0"��c�N�MC�����`��� b���!"z�G�!��4ّA��E�N1�3.�@R
|Rg�#��n�ޡ���
^�_4�X�}���BC�
+.5뾩l�����K������YY�6L�T�t�&{;�
"�+�[j���m�NU ɃġMr��Y��5����2ί��h��z������M��� ,�@l��.?�]��;��fC�%�<YQ�uGr��.Ӈ(��Uމ~%7xY�`�^Yv�RX�
Dѯ�9���s����ɹ]k����~��ʠ%�S ��P?
���{���z���=�c�����ָ,9��e�����4���b�~ޝ
rn�
T���f K^U{��8
��B�*�ݰԯJ#X�Q�+tf"�(=�J�
�N��GMfJm��.�]�������.C}O�S,�pK(fo1��i�N�[�d�6K};�
7�̵|�{
p]��k�
��J
�����N
��֛���s�=\E�wyYfŪ^��5]�W[����ÑJ�l�;�!ԾK��v�m��@���oI at R��#U�����N�ڕ� FR7�

�
1�+2�j��Ψӧ��;��cLCD�Z<�I#��.�+����UV����l�ٺ�0	��-���b����rw�f$��|�,]����
+((d�

�����d)�HӶ�������?]�\R�
���
 ��Bl��q|kЬS�5�@��9A�����
�=G�
��_

oZmY
7V���f/��������X(C�^Z1�w���c�i���}ڄ�,oJ��᧟���g����A�Eq�,���6Sw
�!kh�3tq�0��!"�b~�o}�@D(������4ٻX�Nߘƫ�{IS��f��s��|���V՝U�|0�w.P���J?��ܜf	�
��q�\
+W�=?z��Z,ݒ�$)�O��,�~����l5��7Gy{G�m&�1������~1��P�z�!Z#���?�0�$��
����D�q���g-�d�s�r-�m
+endstream
+endobj
+1703 0 obj <<
+/Type /Page
+/Contents 1704 0 R
+/Resources 1702 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Annots [ 1679 0 R 1680 0 R 1681 0 R 1682 0 R 1683 0 R 1684 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R 1690 0 R 1691 0 R 1692 0 R 1693 0 R 1694 0 R 1695 0 R 1696 0 R 1701 0 R ]
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.385 210.527 696.289]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_a655c21143c2eb90c64487e6e4dcd140c) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 389.253 264.491 400.157]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a9c175a241fd2ea35c88ba74074e695) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.672 375.815 345.558 385.72]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 363.723 242.354 374.627]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a259d72e4c1cc8fbf723b463475882c9e) >>
+>> endobj
+1683 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 338.194 208.312 349.098]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.81 338.194 315.797 349.098]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a8eb4ecbc8176c3018d1d742f5abb8115) >>
+>> endobj
+1685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 312.664 229.362 323.568]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 312.664 275.021 323.568]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a10856aafcb2ba1f52e5158a96950d32c) >>
+>> endobj
+1687 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 287.135 228.785 298.039]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1688 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.283 287.135 305.586 298.039]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a163804d4b5d0f7361974963ef22f98ee) >>
+>> endobj
+1689 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 261.605 234.334 272.509]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+1690 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.832 261.605 314.313 272.509]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_abc1363206f93e6778c1e9d136f24c01b) >>
+>> endobj
+1691 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 236.075 226.314 246.979]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_aed0b5ff233c2092ec5414bcf36747dd5) >>
+>> endobj
+1692 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 210.546 212.486 221.45]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4b15258348ad1f31d1857eca9dd9bc68) >>
+>> endobj
+1693 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 185.016 268.376 195.92]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af95bf704d29d8b91d248d1d437ad703a) >>
+>> endobj
+1694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 159.86 201.946 170.391]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a4155cebeafe8bc5e3d7d863e1a24abcb) >>
+>> endobj
+1695 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 98.43 192.89 108.961]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae1928da791c8514b7e82e2d750ebdad8) >>
+>> endobj
+1696 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 74.333 316.306 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a77b86c1af3be2ba98179fe26fc5560de) >>
+>> endobj
+1701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1705 0 obj <<
+/D [1703 0 R /XYZ 89 770.89 null]
+>> endobj
+1706 0 obj <<
+/D [1703 0 R /XYZ 90 704.286 null]
+>> endobj
+1707 0 obj <<
+/D [1703 0 R /XYZ 90 704.286 null]
+>> endobj
+1708 0 obj <<
+/D [1703 0 R /XYZ 90 659.094 null]
+>> endobj
+756 0 obj <<
+/D [1703 0 R /XYZ 90 535.049 null]
+>> endobj
+202 0 obj <<
+/D [1703 0 R /XYZ 90 528.16 null]
+>> endobj
+1709 0 obj <<
+/D [1703 0 R /XYZ 90 429.791 null]
+>> endobj
+1710 0 obj <<
+/D [1703 0 R /XYZ 90 404.238 null]
+>> endobj
+1711 0 obj <<
+/D [1703 0 R /XYZ 90 378.897 null]
+>> endobj
+1712 0 obj <<
+/D [1703 0 R /XYZ 90 353.368 null]
+>> endobj
+1713 0 obj <<
+/D [1703 0 R /XYZ 90 327.838 null]
+>> endobj
+1714 0 obj <<
+/D [1703 0 R /XYZ 90 304.035 null]
+>> endobj
+1715 0 obj <<
+/D [1703 0 R /XYZ 90 276.779 null]
+>> endobj
+1716 0 obj <<
+/D [1703 0 R /XYZ 90 251.249 null]
+>> endobj
+1717 0 obj <<
+/D [1703 0 R /XYZ 90 225.72 null]
+>> endobj
+1718 0 obj <<
+/D [1703 0 R /XYZ 90 200.19 null]
+>> endobj
+1719 0 obj <<
+/D [1703 0 R /XYZ 90 174.66 null]
+>> endobj
+1702 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1759 0 obj <<
+/Length 2151      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~����J35L�ɾmݤ�l����/i�CK�̭D�$����{p!ER$%����'ހ�|߹����|溜�.��J�
Q(���^�{���
x�{_&�M�{�Q 

+�d�^����ͧ�[�����ş>�
��9��7[_|��������#�W�h�1B��n/~��*ݫQ- ^ �	�U��Gn%�c��?��B+q��7%>’Uڮm��0�!U�TM1�|�^�O�M<S�v��UZ$YZ��8����Ws��|p������ݍ���S�'��J��$��i��S�2˛Z�7dָZ������%��һ�K���Fo��@3*.�)ᓝ���M	��]{
`�tH~6=ʹ��̢$-�FK�GF���>�u��|�
+��:�O�<�ay��V�}2�h�u����V�����%	�aE(��K»`���ׇ�PFs����[�O���6��շcw�30�ʬ@yP���(C��Y�Y�����̟,�,-��q� `��o`
3Х�cP�|;�
�;{�AVI{�e�G�W�=��t�Aѐ")j�fLr�emg}\0&
�@����9�E��E�ֽ�=k۞�_��m �z���Q
"}[AڷAA
�'/	*���M�@JQv�p#
�b�‹,=�I��<z��&WE1 |anvSع�Z�*��ԇ�e�
�*ޓ��C��o�צL��߱�a�����
��MDh�g�� �a��N�AFa�(`��˜����m���
+�6^�#�a�|�L�:[o�e�.;z�f��^�*��
� �.r�0d��Kt���Vr�e+��F�Q}�I}�#�!�x���~P3m�8�&��ܓ�!���|��
��LH��D�`���Y�:��W�it[���,��.�V-�/��n���.��~>c1_��X���t�!�j��
w�籟T��X�@=];#î�6���Ff8 at -t'm̳D
F�zV�v}��K�����vȹ
%�䛈]��ڈ�\��"{�T"��s��ypKk����
9�ԩ=�zTN��5v13�=�B)�)� I�Q$$m�֮H�)�
1�[/ �S�
0G�hhK�4�
�p�di㗣3�Hgc3�
0����76�+��R?c�!�{���*��tj-�q�	��h ��R�Zrd-���62���ic�}+P�H���Þ���ڿ}�/T\$@kQ=��V�gUn�BT�:r5C�VE[bp�{��%.�H� ���eq<��4�_�セ�g_���JQe�: [...]
+΍J	�ӆ��q���ρS��8t0%�XgG"��&�lU��rx�3��,-m����.}�y�V�ʋ�����<h���SQr�D�f�݋�R���Ϝ�M%�I��
e>��w?���$�-Rn��������EEֱ-����nB�����&�����T1�=#uU
¿@�f���`
�)'�&��)ݜ
d�AP;�]��)�'"\��/FKܮ�`��	J�eU��5ܭ9�5�:��
��͏��ڿmb��BGQ�
��F/��X��!�WYE_�d}<�H��;pZ��MV�Bw�'�����X
+ ��2�^r�
7�O0��聑
+@̬�BO(E3S8>"�x��9�TJLݑ
+�TP�
+�@��3ax��#�V�)��O�z3�=L�p&��_�3
;���:
�9�2���Y�4Nv���G��m!��h����JQg(�}�)�r߁��A�7V���8L!�Q�>Lm����g��
���$���D�:�;\Z�/kh
{֕v��j adH��ڳ}�"W/S���g�RqQ�R�r��JM���̪��8�ulp}��G�Z�8�<#��WU��h��UR\�}:��m[���U�5īC���4^%���^��X� I��a5:2�xh~���8KI����X�q/�ޭ��c���.A��^��j�*4A��7�
�,dՠf^wU�qs��޼�5�6�o>��r/]�w)į
�5V����P�?��O
�t[�T��a�E�
 "Ն�t�և��2;�?��K���5�V���,7�_]�o��J�h��
!�;C2������_�,���k����/~��9
+endstream
+endobj
+1758 0 obj <<
+/Type /Page
+/Contents 1759 0 R
+/Resources 1757 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1568 0 R
+/Annots [ 1697 0 R 1698 0 R 1699 0 R 1700 0 R 1722 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1729 0 R 1730 0 R 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1762 0 R 1735 0 R 1736 0 R 1737 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1742 0 R 1743 0 R 1744 0 R 1745 0 R 1746 0 R 1747 0 R 1748 0 R 1749 0 R 1750 0 R 1751 0 R 1752 0 R 1753 0 R 1754 0 R 1755 0 R 1756 0 R ]
+>> endobj
+1697 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 696.767 310.627 707.671]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_afbd6f23017c162cd460d4b0ac42ae4c8) >>
+>> endobj
+1698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.443 696.767 371.219 707.671]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1699 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 672.768 232.192 683.298]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a68cd1f4ad51eff8dcc8634ae7990b3e8) >>
+>> endobj
+1700 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 672.768 279.514 683.298]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1722 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 648.022 236.068 658.925]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a81aa24851effbe4fade96c65e7c575d4) >>
+>> endobj
+1723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 648.022 317.71 658.925]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 623.649 263.893 634.553]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a9971c2e55bbf3477c321cb1fed28c430) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.709 623.649 344.958 634.553]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 599.276 267.071 610.18]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a6cace6b1265203d0fff22021fd2a56a2) >>
+>> endobj
+1727 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.886 599.276 353.685 610.18]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 535.344 239.036 545.874]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a0a9d6f3a0eb496081b86efbb0ea0a011) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 510.971 239.325 521.501]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status) >>
+>> endobj
+1730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.823 510.971 262.697 521.501]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af933208cb9b9013073316c1107b3649d) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.663 486.225 288.644 497.129]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a535529376fbabac6dde098be2c0bc9d8) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.021 486.225 335.844 497.129]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.306 486.225 457.323 497.129]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.029 486.225 513.996 497.129]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 474.643 146.454 485.173]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 438.938 193.358 449.842]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 438.938 252.296 449.842]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a8c602e835a5fe866cd3d0838c42ac9e3) >>
+>> endobj
+1737 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 414.565 193.358 425.469]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1738 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 414.565 264.491 425.469]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a3659575ce6ee121e2a2df2c347796fce) >>
+>> endobj
+1739 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 390.192 230.289 401.096]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_af44c1d2698cf0080c2e7cdc4fc2b9634) >>
+>> endobj
+1740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.105 390.192 280.122 401.096]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1741 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.315 390.192 349.332 401.096]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1742 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 325.655 256.859 336.559]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value) >>
+>> endobj
+1743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.357 325.655 349.541 336.559]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1dc4d783858f3eff8674c04502f4432f) >>
+>> endobj
+1744 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.356 325.655 459.786 336.559]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Name) >>
+>> endobj
+1745 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 299.29 262.618 310.194]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ae65e48247a4f2477e8c00f5088190bfc) >>
+>> endobj
+1746 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.433 299.29 371.757 310.194]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Control__Parameter__Value) >>
+>> endobj
+1747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 229.768 172.361 240.672]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a36ac8f2a9f570db98e652d333541ae5c) >>
+>> endobj
+1748 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 200.948 172.361 211.852]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a8e5ebed0862d7349443d391cb8aa9ab3) >>
+>> endobj
+1749 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.607 200.948 294.434 211.852]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1750 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.048 200.948 385.297 211.852]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.344 200.948 486.143 211.852]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 149.214 172.361 160.118]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a42d572a34bcfa6f75a730215898de8c3) >>
+>> endobj
+1753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 149.214 234.626 160.118]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 120.767 177.83 131.297]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a029ae33c5a3d2e301e08d77744d6b739) >>
+>> endobj
+1755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 91.947 191.678 102.477]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a76aa40d264daa4af312ae293615ba3d6) >>
+>> endobj
+1756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1760 0 obj <<
+/D [1758 0 R /XYZ 89 770.89 null]
+>> endobj
+1761 0 obj <<
+/D [1758 0 R /XYZ 90 614.774 null]
+>> endobj
+1764 0 obj <<
+/D [1758 0 R /XYZ 90 340.965 null]
+>> endobj
+1765 0 obj <<
+/D [1758 0 R /XYZ 90 314.788 null]
+>> endobj
+1766 0 obj <<
+/D [1758 0 R /XYZ 90 249.14 null]
+>> endobj
+1767 0 obj <<
+/D [1758 0 R /XYZ 90 166.936 null]
+>> endobj
+1768 0 obj <<
+/D [1758 0 R /XYZ 90 138.115 null]
+>> endobj
+1769 0 obj <<
+/D [1758 0 R /XYZ 90 109.295 null]
+>> endobj
+1757 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F90 507 0 R /F60 304 0 R /F40 1763 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1790 0 obj <<
+/Length 2594      
+/Filter /FlateDecode
+>>
+stream
+xڵZK��8����iG���$�Ξf��J6���T�,Ӷ&���$��~��EYv:ӞJ��' ���j�
����۫��w��2tnWN�OXBo�|tg^0�
ι�K�mz�����Z��]�/�~�E�e������3�բP��\�}Q�MC�?�J�iUf
+�y��A0�|�������� ��#H��E��m�>~����: F;���K~
����Wܜ�3`��b1:�L:د�Y�.�6�ʴ e�)7��[���{�]���m��ӌ`h.}���@aL��Tm�
ŗ���|�<-�ׯ��
�(�J|����մ���l�� �
��^�Jkh	���u�n�y���]���!{�#"J��)gsd���5��l�%��n�F2�Sl�UVKe:)-�
���|(%��ı�PJ$�K9�B��n
�����4��?�`I`�٩,�Ĺ��x�5�}͗��u
���Š�����'){��y l[�
+	.�*�R�E��o?�U�#k+sO�.��?m�(<�?��x�T���դb�}֭J��+팅�L݈�Z{����>-�֐LK�ϲ*�M[��
+;��YU�t
+М8l��Ê$p��B
(_
�cf�w�嗲����V��W�u��z�nqj��i�6T�
+���4�3
���V۳��U�`��vW�Y��Y�a����c��m1,éUZ4�%#��;2?c1��9�K܌!�ˬ=�R�b�3�!��\�
P�����;m-w���j�4cp�h� �6�_��N��9����F�L�}���;��~�J8�|�HD�#{��D2�
�i�l��]U��Y!lh�qJ��Y� 
ڴ ����bO�aO#�p�F9
�Q;���[�;JZ�k��
Q�

�
 'Z
"��6��8 2�Me&��cCs�I�e����|Q��Ve�2�߫ �}�>X�/ZCceV&��	8n�����7��D�O�E�$���d��

�*b8�U�ߪ:5����/
+:0O�A��5'(#
+KkI
��ϯ�%Iܳ���vR�.���i��8�LN�Qg`
M���mKD
hUӭ�v�C��t��Cq��tjv}SEA�n��Ġ; ,όS!��Y\N_�KgU�C�v�
�Yʮ�}6�
S>
?�z���`D��F�>l�l2A�
�A�F!����Q[��:��?�<
�i����F"��jp��}�]z qK����]՘h��V4[�}c� 1o�E
�d�v�o�.�šo3���e�(�������*QU<r�mTIc(0e��������
p&��zp�3�;Nߢ�
m-q�}]�^!���J���6��
+J0�!�=��
+X�$(2�5�
�A���?pfz� �o�6���H�˧�stΆ�μ"~Dj�@]
7
9)�*cF���$]@��F���>�ޤ� u���k�e����
<�)�d_D��RA�D�x (�?W.J��I_0
��"f� )�y��k?�u��K.Xi��K�0���z6�]m�X`O�C���U��'�X�C���RCմ
I�<!/!D|杓��
+��f�EE����$�	
D
�4	p^Zc�y�xد��H/��p�`��,���X}>W�C�����M���Ų�
+0��(�¤N�~X����26����R&������tUo���d�ʌnLc
+�`�� ���`€qOt���RF��kO#��� c�,a;����R)��@��]F��8ḩEӢx��nXC��:��}fei9@��κP�΀����%I�ˍD�I�h
+���{��ע<K�87~XC�~t�e-dSok�/E�9�#����;G�;��m��)�
�
�	�Y[�pZU��Jay�C(x#K��'� �Ǚ2+�&�P���Q��	��G��حa��@�,����f�,N�K�_�������!vK{��y�=S;���:�#\R/���;}�x��
4����c>���A�c��o at R�
�I
tDj嬬+�0���p�
11� ީr�n�^�P}A��OX�G�~�0q��wQ�1���X�iE���1�H���ǽ���S��m�	��!
�Q�4"��
�^C�p�Բ9Q�Xx
��~;�#w��z
����N%Z�d�X�� I
�b���
+H�m^�S�B���I��bK>��­�_�ز�xd�u�]�e���b�B�?Sl]@*��H� �b+��SŖda2�gU,Đ��E/�l���CӪ���޽�f��܃(�����������$1� �}��
�L���=��=~�� 3
�o�E�@��]����	 3U�Ѩ��Ǻ�~M�
��ݤ3	�&��A��ɂA�:!h&��!��[��+��ԟ���#���a��x���?X�7��f	>�y��j��
G���s�o�u�ʶ�����^z�#�1�ćH
��q�>NۍQ�SIp�Hz��s�.� NJ �)b�
�q�rs�o�l�c0��K��>]�ß*�+|u���6��e���׏��?�G�CQ$�wy]�P�7:��k�������H�гi������~�@�Dzj{�P��T:�^����{
(ap�

@�}��������E���
�z��h��l=�ewr������>
+endstream
+endobj
+1789 0 obj <<
+/Type /Page
+/Contents 1790 0 R
+/Resources 1788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R ]
+>> endobj
+1782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.411 532.354 342.66 543.258]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1783 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 439.013 322.456 449.917]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1784 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 409.434 329.362 420.338]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1785 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 182.408 201.372 196.355]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+1786 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 182.408 432.413 196.355]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a9c175a241fd2ea35c88ba74074e695) >>
+>> endobj
+1787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1791 0 obj <<
+/D [1789 0 R /XYZ 89 770.89 null]
+>> endobj
+1792 0 obj <<
+/D [1789 0 R /XYZ 90 704.286 null]
+>> endobj
+1793 0 obj <<
+/D [1789 0 R /XYZ 90 704.286 null]
+>> endobj
+1794 0 obj <<
+/D [1789 0 R /XYZ 90 371.949 null]
+>> endobj
+1780 0 obj <<
+/D [1789 0 R /XYZ 90 349.573 null]
+>> endobj
+1795 0 obj <<
+/D [1789 0 R /XYZ 90 349.573 null]
+>> endobj
+1796 0 obj <<
+/D [1789 0 R /XYZ 90 261.402 null]
+>> endobj
+1797 0 obj <<
+/D [1789 0 R /XYZ 90 207.713 null]
+>> endobj
+1781 0 obj <<
+/D [1789 0 R /XYZ 90 171.556 null]
+>> endobj
+1798 0 obj <<
+/D [1789 0 R /XYZ 90 167.073 null]
+>> endobj
+1788 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F99 1084 0 R /F72 326 0 R /F8 437 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1809 0 obj <<
+/Length 2740      
+/Filter /FlateDecode
+>>
+stream
+x��[ݓ۶���o�f*� ڧ�q:v�ĵ�}I27<��c+��g���� EP��
N��H�����ⷻ<������/�7��S8�HK*�ۇD�Dq����U��L��/�o&SD����ӿ�����n?���׷7���	q�
��d���������#��䳝�M8ep�$o�q��(�Qa~��0%S�0�"
i�y?�|���6o�zNȬ�r�Q��?�����p�@1/�L���
h~U��G:�Z"��KTa6AZ�Y�m:�6�
rb�5u�^[��C�"���+ŐC�$R"MU(��c>_P��@y�U�n�wm��Os"f���jw�<eK?���M��ڬ\!X��ߊw6�>���F�I7��A$"W(�
�
Ǵ���i�
A"��FJ���
+)��
X6'��ubL�f Fo�˪l�:+�֛ޗ�ͷ�l�1��1��^�)�7��΍����O����v�R�qAcZWl�κAJ���K �A�
+��?h���d^��1m^C9z�� �s*|���\��S
�bio/��!
&6Eg0B#�y
�aq
�/Œ���V��$��N�i�
+�����������42�f(
yx[�$�"��\L�<�)�@$UN��[�OF�G��	S�4~��->O��I|��}0 }q	�!p%c��I��pD*y"u�<[fެמćI��(�8�XC<���]^��ǻ�u=�bV�w���wh�(�(�,�`�`Xt���8������:)
�{�XW���=�x�@��"&{ �1�
q�R7;��P\���~�
#��T��o���,�����X`�O�]�7p<A�����
�5�zث��2��Ƨi=UH��(d�����jEA)���C&�z �Я=�K�l�q��St�a��r�!��6���z��l�
���-l��2R�,�>���<���)��#�vqbZ��D��a�`T�8a�611?�ٌ��?��H����/~Z[K�JQ�>��~��䓼|��@�U���[�K�u�~�}��
���
&�8S���#0 x�����
����N,O�.m��ݭ�<3%�	a�Ǭ��1h$�|9�ӛ�3�5z 8�TӨ�*�/ [...]
+C�f�)� ���x%��;��L��*V��)���~�b8�A�)�bBF�iu����S

����{�6�6��1_�S�9��4w�mp�~S��(<�� �
}����� Cm"	�x_����j�ɷhi�6y������B:;B�
0��=D���y��̈́��	̎!�= k+���B����NT��E�l�*�F���S]ݛ�ڈ�
� qI!Iǥ�AQtTO����`y�vip"+D�~xb��?ݫ�}j��
�(���j�
�^�h\�cyщ�f()|�����
-`����;Z ��Ѳ�X�����b0P��4��>[e�DY=S
I=Z}�@�>on�|@\xs�
+�T�;+'�̙BqX�V^���9JW�ʅ�m����ǎ����
Ї�!
@M)�!��H�
<R‡_��f����
RG:b
�K�P�N(s���G��]�6�hFѹڬ������h~�u�u�^@%��̎JЎ@���s��ig�XދNѦ�,bi�:0xF
+{���LL�X�J)&����Y_>{�;薎��C�juRu�r�o6��1��<�6�L���k��TDDM��M�R�;��v��K�����qEe��$\ŭ
G\~W���+�L��`�'XlPf��`(��姿�PqA^>?��+��IĻ����>�	ġg{N��2{n�Lw(³�

��@�v�h��(
)��U9f��9��
�`}n��b�9��@����+h�[(�3Y�$zpZ1!vf��˂Bfd�>����ݓ��j���lNNُ-�P7P��uO�r��Ț[�f��dQ�y�Qݟ�bW��P��|�(X�E
I�-�Q�\�E�|uBz�C����l�+2̋=�s��N�PH�܅8�	�������XY�=����؟�S.C
q�k�����Jb��@�)	�p�K(�D�>�Vk�E��k�|W1O�Fap�т�8𣢰� ��
�
:�B�
�c5�&�
O���_s
Gq]dU���y;�MKʪOh���/AvL� \B�\a��^�[R{t��D��u3��S(99�'
 �a���?褢W�{�مz�Q���Mc�<̷�N��o>
tW�F�>e�T���k�b��u��^^�P<8'��&�Cl\@~�M�N-���GE_��M-Ln���Z
(�I-|s���5�{7�#*�K>F�,��4�q
`�6�6�Oz?��S�
+K�L�WmM��V�ѲjݏeU��peJy�޸��f^*;��;rP���n�lŨ|��>?�x�{��B�-.\E�hwל����k�B��&4BS(��ĦP
�)�?�)C�
+�8�)A��)�|��,�Q���u�{i��΋>-'��J��8�I�踻l{�t[�d
+'_�:�r$�^�TR�$=��k5Ov��u�}�j`-;�/�/B�"�'��8�,ȅ��v�{�?x�f˒o+ �#� z�
��tð�JI
�iX*������,�tO�e��9[��o ��fCz���&��0;�ee��7F�Z���h��r_%}����~}��W�wW�.A���D�m���������5ZV�}s۽� ��}��е���2��m6����~���[
+endstream
+endobj
+1808 0 obj <<
+/Type /Page
+/Contents 1809 0 R
+/Resources 1807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1800 0 R 1801 0 R 1802 0 R 1813 0 R 1803 0 R 1804 0 R 1805 0 R 1821 0 R 1806 0 R ]
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 604.759 201.372 618.706]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+1801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 604.759 432.413 618.706]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a9c175a241fd2ea35c88ba74074e695) >>
+>> endobj
+1802 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 593.954 201.372 606.353]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 580.45 201.372 592.445]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 330.564 201.372 344.512]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+1804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.238 318.609 379.76 330.942]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_a1a9c175a241fd2ea35c88ba74074e695) >>
+>> endobj
+1805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 178.562 201.372 190.961]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 165.058 201.372 177.053]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1810 0 obj <<
+/D [1808 0 R /XYZ 89 770.89 null]
+>> endobj
+1811 0 obj <<
+/D [1808 0 R /XYZ 90 720.814 null]
+>> endobj
+1812 0 obj <<
+/D [1808 0 R /XYZ 90 630.064 null]
+>> endobj
+1814 0 obj <<
+/D [1808 0 R /XYZ 90 554.522 null]
+>> endobj
+1720 0 obj <<
+/D [1808 0 R /XYZ 90 529.989 null]
+>> endobj
+1815 0 obj <<
+/D [1808 0 R /XYZ 90 529.989 null]
+>> endobj
+1721 0 obj <<
+/D [1808 0 R /XYZ 227.842 472.817 null]
+>> endobj
+1816 0 obj <<
+/D [1808 0 R /XYZ 90 466.177 null]
+>> endobj
+1817 0 obj <<
+/D [1808 0 R /XYZ 90 409.558 null]
+>> endobj
+1818 0 obj <<
+/D [1808 0 R /XYZ 90 355.869 null]
+>> endobj
+1770 0 obj <<
+/D [1808 0 R /XYZ 184.963 279.664 null]
+>> endobj
+1819 0 obj <<
+/D [1808 0 R /XYZ 90 273.024 null]
+>> endobj
+1820 0 obj <<
+/D [1808 0 R /XYZ 90 202.318 null]
+>> endobj
+1771 0 obj <<
+/D [1808 0 R /XYZ 90 153.82 null]
+>> endobj
+1822 0 obj <<
+/D [1808 0 R /XYZ 90 149.337 null]
+>> endobj
+1807 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F8 437 0 R /F99 1084 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1830 0 obj <<
+/Length 2680      
+/Filter /FlateDecode
+>>
+stream
+xڽ[Ks�8��W�T��� ���f����d�)3�%��D9����� EP���'R �����M'�	N~����իI�h�3�%�w�Ɖ��
~͓/)���ɔ`��ǼZ�7����W�͢����y"q�~y���c5!*]�.�r2��o�z�o?�;�
�rf�
�L�BN��~������pB� I�̖W_���
��' �V�7��2��u�|���
+���WD����pBE:'Ta�IRX�S��>3�u�*�N�
�;,<�`Gx�!A�A靂��	:d4MD�N2E'5�ʐ&=���O�n�Pt�#
+J�4*��E���@�Sc,�1�@��$�ּ�ޕ�ӧ|Q�o^W&���Ҕ���/�p6��)!H��g�ؼ��H1�`c�� nG�
+b�#��a9ud��X#p��6��Մ��[i-K�;�����
����bBҲ�燈�XC<

��#⪐`��b������Y
8����R?{ƫ*������c>3�v^����0������.��A!�H$��Mz_��6��.�C^6w�ߴLp����-� ��1�b=�	o���δωӈe��t`)R�GM1�<�p-uت���PSVʼ.����J�&���b����["(��"I& ��A�R��n%ޕ�Bfϊ�7!$�En�;�S�p��E��}U�LU�<Ʉ��Bh�8�Bh��H,�-�J�D�P�Q>����
�FCrA
j՜�b4��t�<�,p��n\
+<��z��������
P�:9���n�^�H"b_i3p&Q�襆)�,%3���2���z> (����qBp�ܦ�8k����
JV
��U_�H
���gm>[�Y�r7��l�W�!���,�@�S�A�`�#()5�� �A	���>
��P
AA����o5�����y*RGC1P�E,�-va�����Vv"�X`
+g�f��=@1�v�����D
le�Yl��{l�69��a����!2c
!ʹ���[Q*�X�S��K����?S E �f�Kh
W�A7�X
��>��v��?���@U!���J+
x�d
�V����dt� �!
������֦
�Vq&ǐ�q�T�2�n�cf�7vY+�QL� fq�b�w�rV��N��q�e� ������~��^�B�CuSg9��<�
u�eHjy2��0R�t���Ϧ�imj
j����9,w�l�^
��#m�l�����c�$Om`�y at mtt��!�	>j�
���l �!�Ȉ��CqT��3�bI_���E�mD5�����0[��h�ũ�2��G"�4 n� ~��lj!���
�fa��<��-xr���)ry�&2(;�����H*�# �ٶ��@��q۹�h
T
:�*90��]�����
+Һ�4p��,�`	JP�(�����!|
��`=�'�)�RP��1�`X!������|4�Da9��#��DX�[���T�{):㪩&�8��ڵT#������jZ�-����i�4C��3f٧!	�h	��� �'So�=0���`;��J!̂��jc�d�d�[!�0-��y8|�t��ݑ�V����ra��x�̀���'SFQ3�k���.���vk�އқ�u^o�Ənb�֚}�EB��� �b�.
+oE�`H	@������Yq�����7��P�ӲKfg�j!�V�g��nm�x:#���
��� Ζ��z��,��={Il���@l�n�c�&_����� 脤�C�L‹p,��L9�iQ΋DLi�pv�`��g���v>n�S��5��^�>���,�I� �3�� ���\���#d
��զ��&��aW��,�[랒%�;���,A�4���$�
d��ށ
t�
X(��e�h�#$�������I
�>y#4C�P�D腶��pm{�� ��5̙� ��
XD�
��@�z�
��q1�'���d�誝=�lJS�5����2���Xpy�kC�Dr�W�/;g$�����nݽ(��@CJ���h�,:������4W��v�_�z�� Y�ϣ:7���JC�U'�� |�X�M�M�zJ�St�7��r��ŤU��at �I�s�t�����y�
�I�>S>p�'�$��l=ρ�f��փ��
��?,b׉8�q�)H���Il��v�AӜu�M [...]
��y'P-����CÌ[�3O
���g�e��V�CG*�mZ$�n𯏶��U�4v
��p1��#a�#u!���s��)��#4I�3��� �p='alƺ��5�G;5��恭�W+�'.�8@�PG$�u�t�D����o��ᜩ��b��w��y/����
29���݊p��|���M�;*�Hry�����z*Ǯ!�hZ�&ss������
�����3}/����=/����
w��͊9���>�~g���1�ol�����>��1 �N´���1߻L�A��q���eQ�h�;��{��V��xg
��o^��c���}�0�}���T���Ǐ����v;�~�C^�o����ҝmڿ��}m��M�H�L藼���9l_��_�����O@Ӆۛ ��9�J���1l�*�h�
����^�n�צ�G��r���n����ް�����2��-����iP�[o�^6���ze)�{�{�
6�«wK��s6����
+endstream
+endobj
+1829 0 obj <<
+/Type /Page
+/Contents 1830 0 R
+/Resources 1828 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1823 0 R 1833 0 R 1824 0 R 1836 0 R 1825 0 R 1839 0 R 1826 0 R 1827 0 R ]
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 694.926 201.372 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 681.422 201.372 693.417]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 582.91 201.372 595.308]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 569.406 201.372 581.401]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 458.939 201.372 471.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 445.434 201.372 457.429]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.971 246.623 210.761 275.937]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1831 0 obj <<
+/D [1829 0 R /XYZ 89 770.89 null]
+>> endobj
+1832 0 obj <<
+/D [1829 0 R /XYZ 90 718.682 null]
+>> endobj
+1772 0 obj <<
+/D [1829 0 R /XYZ 90 672.057 null]
+>> endobj
+1834 0 obj <<
+/D [1829 0 R /XYZ 90 667.574 null]
+>> endobj
+1835 0 obj <<
+/D [1829 0 R /XYZ 90 606.666 null]
+>> endobj
+1773 0 obj <<
+/D [1829 0 R /XYZ 90 560.041 null]
+>> endobj
+1837 0 obj <<
+/D [1829 0 R /XYZ 90 555.557 null]
+>> endobj
+1838 0 obj <<
+/D [1829 0 R /XYZ 90 482.695 null]
+>> endobj
+1774 0 obj <<
+/D [1829 0 R /XYZ 90 436.069 null]
+>> endobj
+1840 0 obj <<
+/D [1829 0 R /XYZ 90 431.586 null]
+>> endobj
+1775 0 obj <<
+/D [1829 0 R /XYZ 90 335.784 null]
+>> endobj
+1841 0 obj <<
+/D [1829 0 R /XYZ 90 331.301 null]
+>> endobj
+1776 0 obj <<
+/D [1829 0 R /XYZ 90 225.701 null]
+>> endobj
+1842 0 obj <<
+/D [1829 0 R /XYZ 90 221.218 null]
+>> endobj
+1843 0 obj <<
+/D [1829 0 R /XYZ 90 151.365 null]
+>> endobj
+1828 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F10 1172 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1855 0 obj <<
+/Length 2158      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�F��W��*h���f���<^4�|�S*�)dH@@;�_?��XH�����@��[��u�8ZF8�����ً��
2���f
)n���k
}�=���uĤF�Hx�����w7�n�������<���
�t4[�}�Gs��:ˆ
}u���
�����?g8���"*��^�����a�#E�Xxu.���uV�Sh r��_�.0P
K$�:���
Z���eB0L$5E�
�4�(C�����D�ZK��O8��d/�L�E'`��r$|h�E[�"�rI���e>�x�%Ye�ۗ唩�r�N��6v���6m��d��ŷ�Ca��Cn�1�^���}1��j���;d��(6R�퍛���R1��OcJ�$[X�(�n���4�W�g������$��B$�J5sR�&��|y�Pdy�G h��
+-S��<�hU�8�g���ܭ³��+6�
+���O]Pc�	��;Q]�yZ&5���b�l�EY����࠘
+<ɋ�qo#�E��G0��|Fu
�+�3*�<K�q����UÍw*�1�4&�w!$_��v0G\l��K7Ν58 #�̇�\'ÞB�D�DR at R���h�5th��b��m�
�Ք�ɟ��ܷ��H�QV�"��Q��W�]�@��ɟS)&����Py��(.`p�tu�*�DL������5Z�5M���ޣ��C����\��[�1�z�
�6C�
���  f؋�� E��!�7e^u@`�ls��@Bx����1�u@����9�� ?�^�#��
+�Y�{
�	��j�!p��������L�x�
�8&�
#N�<-�m��<��� sA����>\��:��ۋ��r(�����fL�J�s at Ci�;� ���!5�B�t�
,���+
��u����4��3(������]t8�A$z�
+y��G���W�ֽ�M���-�M`=J���uZ�
c�з;�S�
A�з;:��v����4y�	�	C�ЄpM��xR�&^ԑ�
 �ٖ�N�ِ�㊿�g����~��͍��Qi|��cseO Ȉg-���Q�~͡�i����#Zߴ��O;����֊
8��H����=��H���)ѓ���m
�ɔ��[Y�����[��/t[�JO2�"7T�Ha��0�|;>a
���4���ÇM~Wl�y:�R�@=�
��E����[�ϑ�(��L!
��e
��<\t�L)��
�b)��W�,�+�&N(��t|�B�@��
��[�$
+A�$
G	a�鰏B@�
2	y��j0)a,�z84HV��
�C
	*"�w_!�taKt��͙ ���Y@ ���)�����=bc�-Wl B�,�v���|O&�[]!�9��!�[4�<
+��:��}
�R��|����o-�υ��\xk�Po�TE��K�_� ��i�f.S _(�(��(��JKĎ�(���&TgAb4R I
Ë�3�hĥ �8ݣ��޴*V��}c�o]C�JvSB��&~H!w��8+��B7R4��w���q 6fL�ؒ8&CdH��G��a�=��;���Gb�O����Gf\��
��|��t
!�R �y1s�}[H�h��Ǎf��
+�'�G�x�DgQ�
P/���g�O�e��J�T��.
+}& ���ϔ��O������*��o!Ga�$D ��NP��a
(G�Z��d��0�d ��B���H��V��ҁ@QYr�1V���(�SS&��Ƃ%qK�����P{Zty�
�
x-%E�6io�k��M��.r�b��?>��s\���(w��I�)��vUT�O]Ŧ��2/��	!��a}����|�u9�C���C
Ж���l��}Y�evgn�t?�s����5Ǒ��k�-��~�xy}���ŭ3��{�=��
=�v�]>Q�͈��c��O��86��3$�z�Pd�, ���W�?�;�8���
�󄄈��Y![Ȉ�/�i�d+��"�i5+�!���
�Z�s-�)}�.!]);�or�
��;�
���R�=l����p���E�ۉ�A^�ش���J
xțE�ѿ�z��۽��y���M�
/�:-��­�UZ�`�B�6�7�����?V[r@��g4�ȹN�HyS�����g���M0��-뼯뇟^���,�4_"Ȃa�^V
+6�ۏ[��.�`G��͵#1�x�
�T�
+endstream
+endobj
+1854 0 obj <<
+/Type /Page
+/Contents 1855 0 R
+/Resources 1853 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1844 0 R 1858 0 R 1845 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R ]
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 694.926 201.372 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1858 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 681.422 201.372 693.417]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.231 581.361 201.372 595.308]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.231 481.3 201.372 495.247]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [95.231 356.05 201.372 369.998]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 230.354 249.291 240.282]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 175.179 251.513 185.107]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status_a417470c5917175d267ea3ec71df18027) >>
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 147.113 253.715 157.041]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1MIP__Problem__Status_af2bdcebf7178739216e2dc7f5c421c9c) >>
+>> endobj
+1851 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 75.309 249.291 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1856 0 obj <<
+/D [1854 0 R /XYZ 89 770.89 null]
+>> endobj
+1857 0 obj <<
+/D [1854 0 R /XYZ 90 718.682 null]
+>> endobj
+1777 0 obj <<
+/D [1854 0 R /XYZ 90 672.057 null]
+>> endobj
+1859 0 obj <<
+/D [1854 0 R /XYZ 90 667.574 null]
+>> endobj
+1860 0 obj <<
+/D [1854 0 R /XYZ 90 606.666 null]
+>> endobj
+1778 0 obj <<
+/D [1854 0 R /XYZ 90 571.996 null]
+>> endobj
+1861 0 obj <<
+/D [1854 0 R /XYZ 90 567.513 null]
+>> endobj
+1862 0 obj <<
+/D [1854 0 R /XYZ 90 506.605 null]
+>> endobj
+1779 0 obj <<
+/D [1854 0 R /XYZ 90 459.98 null]
+>> endobj
+1863 0 obj <<
+/D [1854 0 R /XYZ 90 455.497 null]
+>> endobj
+1864 0 obj <<
+/D [1854 0 R /XYZ 90 381.355 null]
+>> endobj
+757 0 obj <<
+/D [1854 0 R /XYZ 90 281.085 null]
+>> endobj
+206 0 obj <<
+/D [1854 0 R /XYZ 90 274.379 null]
+>> endobj
+1865 0 obj <<
+/D [1854 0 R /XYZ 90 193.282 null]
+>> endobj
+1866 0 obj <<
+/D [1854 0 R /XYZ 90 193.282 null]
+>> endobj
+1867 0 obj <<
+/D [1854 0 R /XYZ 90 163.482 null]
+>> endobj
+1868 0 obj <<
+/D [1854 0 R /XYZ 90 117.665 null]
+>> endobj
+1853 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F10 1172 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1876 0 obj <<
+/Length 1264      
+/Filter /FlateDecode
+>>
+stream
+x��X�R�F}�W�-RU<�E��V*Ud�-`Y���C�-�,F�%���~}znƲq�S��X��L��>�%ao�a������Q���1���k/�^�(��n�]�#�C�1��,��?܈����b"3�$�G狶(�oY[������`H#�V]iFŵ�ᾨr�
rN�(
�\�
/���G
�%������Ma��
)�����
)��ܻ�:�������1�\�XT�:�JQ�������7EcFb��> ����LTBf��ڍ�.�N�l��u@#���ff�3�t.��h
^��(d�R�p��)��������x4
�z2���w
�#
(��lA4R���
��O���d
�;����-ǻy
$�Q
㐡���;X������c 1�#T�b̆
⛢��Oq��0݉
+cʢ�S����A
�Ky�jk�8
�(�J����
�$��A������>��V�CJ�Q�;F�ƣ�i
+(
S��j�z��
�VE��1�O�Z��@͋�`�o[YL�]+�
�-h���\�
+��˙=��+��p|v�������'�=z����5uP�(
+�HP��M{Q����
$��
��9R��$���
K��f�\
$�@4�,�jے)��U;!И����2;A�<d�#B��� �	��Hw�߉`����		��j���	@\��x7�x
+�`}@�R*!��ܔ`���͔�ɚﯹXXV C�γ�y�
+Sc�Gڥ]K�ig��֖�*�;�㲯�c�(e-��F��r"�uUn���R}���P4~��ߍ`D�z��&���ފ�[��]�BM��J�˧V��j����	�o�%�j��˳�
&vQ=�X*

������t�~}s�5n�Y��y])��u����s@���Xf��(ᨍy�q浰��w�i֚�&uWM]�i�o����U�.�<����2fg�/}^�#��K�U�h~S���E�o�]���_o~���~V�ֳw�Z1���B���,Y�� �܊��4|z�%(IC����{U'R�!�Kξ)҅
+�H̵��b���n�}X�Z?5���t��:1��_�c
+Ǟ�B�^�w�j^��E)_��h��
NV��g�gլ�fv�1Ȏ�֤���o��?Q��Hϲ������X�5K� ����!;¥�����F��
+]AO��=ě�]��ۛt�FT3���l����$A8&n�R��Z�8�
+&K�l�qǥ>��1uɃ�߂F`�$T�X
�?�F;�w\23y���fgo
+endstream
+endobj
+1875 0 obj <<
+/Type /Page
+/Contents 1876 0 R
+/Resources 1874 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1869 0 R 1870 0 R 1873 0 R ]
+>> endobj
+1869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 552.822 187.833 561.668]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Optimization__Mode_aed6d879ab6fa6e6dea28b6841058c848) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 295.358 224.515 306.262]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_a3c4ed48495c48bc67b46023bb0b62828) >>
+>> endobj
+1873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1877 0 obj <<
+/D [1875 0 R /XYZ 89 770.89 null]
+>> endobj
+758 0 obj <<
+/D [1875 0 R /XYZ 90 670.469 null]
+>> endobj
+210 0 obj <<
+/D [1875 0 R /XYZ 90 660.794 null]
+>> endobj
+1878 0 obj <<
+/D [1875 0 R /XYZ 90 572.218 null]
+>> endobj
+1879 0 obj <<
+/D [1875 0 R /XYZ 90 572.218 null]
+>> endobj
+1880 0 obj <<
+/D [1875 0 R /XYZ 90 514.575 null]
+>> endobj
+759 0 obj <<
+/D [1875 0 R /XYZ 90 415.063 null]
+>> endobj
+214 0 obj <<
+/D [1875 0 R /XYZ 90 405.388 null]
+>> endobj
+1881 0 obj <<
+/D [1875 0 R /XYZ 90 316.812 null]
+>> endobj
+1882 0 obj <<
+/D [1875 0 R /XYZ 90 316.812 null]
+>> endobj
+1883 0 obj <<
+/D [1875 0 R /XYZ 90 260.895 null]
+>> endobj
+760 0 obj <<
+/D [1875 0 R /XYZ 90 130.077 null]
+>> endobj
+218 0 obj <<
+/D [1875 0 R /XYZ 90 120.402 null]
+>> endobj
+1874 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F22 1018 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1899 0 obj <<
+/Length 1404      
+/Filter /FlateDecode
+>>
+stream
+x��XK��8��Wp[8X���noM^덝\���C�#p�f��
`�d����������[�-ag�`������$�N���|���	�� �2�`�����8�I���_��/��gjl�r>�6"0�
b�sFN�
}���
�_9�8rn�Okǧ
ޅ3�=�
+F���zY`9 F"� �n^�y�)�ܷb�Ҵ'�2m�5�n}������ �,r`"
+j��L)��u>�9��k۩�+��{=L9vW���n���Ϙcx�=�"�D )�$����p��{�l%h�k��iT��"ml{i�6v�5�I;P|܉a &��ペ�DZ��SQ��Gh�Z�{�u�Uc#
�g1��D9+"ޘ`P��h�����Ne�Q�5D.z}�,��P�$�}��=�ݤ؊�^�WRf?(���ԷR�f�s+"-��6��"�����2Rdg�;oM�U�v-�&Ѭ�e%��zD؏�(�L��RV�WYVEQ)�y��ObZ�g}w�BG�C�`�`���E_�����r�bΩ��Vi}�����6�\'?�V�`�;~�g|(��Q؅�6��a �#T�Řu�MUx��w�"�?�O1XϏ�"�B�2ޗ_�
���#��
�שG}��\А����`	C���L=F�a>l��gG��h��R
�7{t����nh�KH�W�T
Gy���(�{�hoG��E ht��X�n\��ߕ����6�>"��~`��-n�/����������
�ww^�M��?{a�
S*
���B![�:J
��p��[uA@	�
�]4��gù��-��U��d	�!��V��N�a��z6�p�YzO�h���੐�p� `��
$v�=
�6�M<���NE�=�?f�1@��#�N �yB֝�?�����q�l�Mb~� ���WH�Dz�
֎F����q�W,�6���N�@ɡ�>ҳ!�G�9�˳2�����&���a8)��c��
+��Fg�tg��rI���Ҟ:�F�����-c��e�A8�A��~?����I	��SH��4������zhK��JT�>�Tj'�B"�ږY'��k7zL�{���Z�F�-�sh��JZ
����h;A�6
ؐ��H5&��!U���z�Uf�+xSe֤9��
��
BWo���{I��&TS�@��eƌ���R5m�R��t�V�ƴRȸ�`�ݥ@���2i$m�'Y}KQ7�Wx���Џ6��
s �<�
{ü7�����78�b�T��`;�v\\����vˍa��nA}����R6Q�a�o��/����j���
�r�MV��˲r�o�R����7eh��&�6)������;	Ҝ"�HHE{e`T��4}�b�Ӵ���n�ͳ���vU�r��j����&�!�i�vWzkp����ε>r�C{�
Xo�~
+endstream
+endobj
+1898 0 obj <<
+/Type /Page
+/Contents 1899 0 R
+/Resources 1897 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1799 0 R
+/Annots [ 1871 0 R 1872 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1896 0 R ]
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 685.195 156.032 696.099]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a0f022d23c55748a9e437e1625149bf5a) >>
+>> endobj
+1872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 657.166 167.091 668.07]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a35e4df2723c110fbdadbcde7fe9cfae0) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 388.611 263.464 399.515]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a65283b563ec02a47928cc176c738f78b) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 364.633 257.925 375.537]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4e5e7fc32bfd0ae986d63ec82db62f6a) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 301.876 247.464 312.78]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0c349132b447b3e6a5234a23257f417d) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 276.28 248.022 286.81]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a6b7d95f94c10fe3747eff2a3e05f9d32) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 250.31 256.072 260.84]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ac555ee6fa79c8a4d49f8ce2a14ca1cf6) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 224.34 240.819 234.87]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8876ac784666f054f546f48404cb27a) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 197.997 233.078 208.901]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab6bcd066e77a3dde5c6127ac6dfabfa7) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 172.027 231.006 182.931]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae763a3d0db8c57898dff5ba199ea87e5) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 109.269 287.823 120.173]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a805ae2717e65749d104d71978ed97fa4) >>
+>> endobj
+1893 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 74.333 304.969 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a7a8ac14db1f77aaa2e88fb7148633f7e) >>
+>> endobj
+1896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1900 0 obj <<
+/D [1898 0 R /XYZ 89 770.89 null]
+>> endobj
+1901 0 obj <<
+/D [1898 0 R /XYZ 90 704.256 null]
+>> endobj
+1902 0 obj <<
+/D [1898 0 R /XYZ 90 704.256 null]
+>> endobj
+1903 0 obj <<
+/D [1898 0 R /XYZ 90 674.492 null]
+>> endobj
+1904 0 obj <<
+/D [1898 0 R /XYZ 90 628.753 null]
+>> endobj
+431 0 obj <<
+/D [1898 0 R /XYZ 90 517.479 null]
+>> endobj
+222 0 obj <<
+/D [1898 0 R /XYZ 90 510.796 null]
+>> endobj
+1905 0 obj <<
+/D [1898 0 R /XYZ 90 429.672 null]
+>> endobj
+1906 0 obj <<
+/D [1898 0 R /XYZ 90 316.988 null]
+>> endobj
+1907 0 obj <<
+/D [1898 0 R /XYZ 90 291.207 null]
+>> endobj
+1908 0 obj <<
+/D [1898 0 R /XYZ 90 265.237 null]
+>> endobj
+1909 0 obj <<
+/D [1898 0 R /XYZ 90 239.267 null]
+>> endobj
+1910 0 obj <<
+/D [1898 0 R /XYZ 90 213.297 null]
+>> endobj
+1897 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1926 0 obj <<
+/Length 2286      
+/Filter /FlateDecode
+>>
+stream
+x��ZIs�6��W�VjZ�X.��i�I�θ�{J2
��,N(R!A�����͒"ל�z���V|�=@ػ�����7�W���4�n6^��(H�k�}�	F^,	��ߧ�.��W��V����WuZ?."����
�^P�ws��9Kʱ��H��4߉��$�E���2&	�C��t���כ�/��
1�p�^����	{k�~�aĒ�{Гv^@�/��^`+��5�^
����QhF� B��
ʭ0���L�^ܯ�r��w�gW��Ԯʥ���:VbS�
�vb^�2O���T�Ui��̈́���[�Uᘿ�
+�FZR�€xK�
�ذ��R>Z�}Xr�Z#�Tf6.���ܿ_�s$�2����*���@O�k�lZ��k��b|BH���9�?2�%� @[W{'d[�S���,Yӕ֊�t'$���RJv��1ð���"k
�՜�W
+z
^��{}��i�6B�>G��ZF	�V5����yzn�~��{&G��d!�	pI#��py��!߉��2o�r]��w† f��%)a�ʂ�r�5�e�Ț�d��v�CuFɪݾ�� ��U#��B���Um�v���K�1+���������0;�H� ��
�
��g�Z�a��AX�
i���ܼTNV
�gϘݳ�dڢ�۽�g �V�a�c���
�>
m� p������>>����,�'u�6^�l�b��:� =˺���'l�s�(W
��g2� 7�Ȓ� cF��̿���4��&����e1�6�]���'�}�=gUQ�Lv���ė���j�kӖ�0���2��aꏨ��[�, ĸ�{Z���݁G�O���e��Tջh�]�^Y-Ԯh��#�yZ' #�'�M9�����8��S
�@��j�ڊ1�B@ѳ �7E��F	Mf!1��	yc_(���E�U�*9�F9J��Xa�ӄ�1+�
F���`a�x2
A|���et%��O�	Cq��`'�45�����.�`O�4�}�~���Q��)����[��`���� <�@c?��_;�)V^��\���te��t�yh�:�$B!����V�c�Pl��m��4�����*�7}���
+�,�Ԗ��aXR�݅��]���L�3�v�:� ��^�.�S�6u�3�
���(�kW�d��;1���@r�|�bt�b!�X0D19�b��C
�(f/�1N��υ1�$�,�#���B1�9��F�:f�L��<,�^#L�,La�#ƴ<c G��O��<=n
��xp��̡��/ű�,���9Q��P��=f��A1hi��
�A�a+J�R��U��~�rkZ�9h�x��R|� ���, Boga�)��A�S�A�m�--�`,�e��8�%�:�`]B����4��V00��v��)���0������[�q�D�EB��
+��U����^�+�Ų��{�,�f̅��
N�q��~SwQ}�
�^�qNaHorN�


l a�������:h

+
N)��F���zP��lyL��,��|���ω
+�[�U��
+c
X�Ƭ� ��I4

��0�,L��*-KWv@N=��1�?���,L *��G7�f稺��jΗ�
>\�g�6?��j����ו���|�# ��%d�;W�CG�2e>4
MXfhB�){��b+I�
>���~��/ 4S�Ջ"ѥ�0�`^�괔�f�a�ʦ���"�����	���߫��y��n{�-Y�񕺄i��u�
X���J��� U��� pt_�r��]cFL�
�n�VU�ٴ��
m���"�
���
���� � 1p���0����"���0�Q��ڊ@�~n���<�ħɄ�3K|guVT�O�6
�rVr
���YXPw'|��!dĄ��Ϣ��p�	���
|�R�P`%d�\��c�M�>@7�(!�H
%N�'R<e]�9��38�1t�
_���|{?��~ⲷ�E�
+bW�
��Wi���n�!7gU�ߨ��ݡl�ͧ{��
�Zd��j������E� �0 񦕕�W��>�.iW�~+�T�ܪ����"�*��7���`)��Q�JG$ߜ��'�_V�P/ҷ�#�(��,3k���
+!��rmh^�M��=�Ǭ�/AB8�K���v!J"H͏[H��x��
]�M��b�U�iy�vwD����F'�����w*ѱR����{�Qjd%�� �*mI
N/��F�Ϟk�nꛞ{' ~W�l���xy��0/�;����/VI|H���kgn����$Ѓ��9&(��n���y &QD��a[�������y�T`���9�d��
+endstream
+endobj
+1925 0 obj <<
+/Type /Page
+/Contents 1926 0 R
+/Resources 1924 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Annots [ 1894 0 R 1895 0 R 1916 0 R 1917 0 R 1918 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1937 0 R 1923 0 R ]
+>> endobj
+1894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 696.939 268.086 707.843]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a08c3b1c1c4e916f10c85114ac888c040) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 670.919 291.13 681.823]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_af46aeb04c5a5a83a60ddf1a280c8b648) >>
+>> endobj
+1916 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 608.306 243.549 618.836]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_afb7d3612f1ec7e7432a4168ea245f0f9) >>
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 584.278 251.29 594.808]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8ff36c02349f02bdf1d374823cb4590) >>
+>> endobj
+1918 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 557.883 300.554 568.787]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a5223af806da56cfe9a7c6ed71b4a0604) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 534.229 308.295 544.759]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a903afb11ccb24f752fc0bf2b430b16c2) >>
+>> endobj
+1920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.82 257.788 335.356 268.692]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 246.455 210.548 256.353]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a65283b563ec02a47928cc176c738f78b) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 86.288 513.996 97.192]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a7a8ac14db1f77aaa2e88fb7148633f7e) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 74.333 155.753 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a7a8ac14db1f77aaa2e88fb7148633f7e) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1927 0 obj <<
+/D [1925 0 R /XYZ 89 770.89 null]
+>> endobj
+1928 0 obj <<
+/D [1925 0 R /XYZ 90 712.265 null]
+>> endobj
+1929 0 obj <<
+/D [1925 0 R /XYZ 90 599.23 null]
+>> endobj
+1930 0 obj <<
+/D [1925 0 R /XYZ 90 549.181 null]
+>> endobj
+1931 0 obj <<
+/D [1925 0 R /XYZ 90 507.388 null]
+>> endobj
+1932 0 obj <<
+/D [1925 0 R /XYZ 90 450.203 null]
+>> endobj
+1911 0 obj <<
+/D [1925 0 R /XYZ 90 427.773 null]
+>> endobj
+1933 0 obj <<
+/D [1925 0 R /XYZ 90 427.773 null]
+>> endobj
+1912 0 obj <<
+/D [1925 0 R /XYZ 169.73 346.691 null]
+>> endobj
+1934 0 obj <<
+/D [1925 0 R /XYZ 90 340.051 null]
+>> endobj
+1913 0 obj <<
+/D [1925 0 R /XYZ 215.131 248.986 null]
+>> endobj
+1935 0 obj <<
+/D [1925 0 R /XYZ 90 242.969 null]
+>> endobj
+1914 0 obj <<
+/D [1925 0 R /XYZ 90 163.236 null]
+>> endobj
+1936 0 obj <<
+/D [1925 0 R /XYZ 90 158.753 null]
+>> endobj
+1915 0 obj <<
+/D [1925 0 R /XYZ 267.991 77.486 null]
+>> endobj
+1924 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1951 0 obj <<
+/Length 3135      
+/Filter /FlateDecode
+>>
+stream
+x��[[s�~���[��#
����!m�����Ǚ��I�C˴�F"
�����~
�P��l��>xH�b�X���Rf��[|u��ˋ�_Fl��zqy�H�"RIj<�,>.�X�|��B�8��K��o?|�������ˋ_/8�؂��� ����ǟ���_/X �x�`�JH\w���`N��n����H1�έ�
+c�p�挱eݤM�Y������e����P�2��'��O���/�c���-b3�d�)�E��I����B�@��S��ܭ8_>n��jj��\�3{$.��w�u�V�u�|\�p�'���H<�sh"|Fy��_I�<m
+�� �g~5JO�oG����)��X
�U2�
J���m��S*}g�QEA�+��ۉ)�
+��f��&B��Y�x�,�M^����
�	(k)e �X�1>	C��9u#(��l
B���=�?�����z��am��Z���ؾ�!kj��e���͗��7U�&�����7��^V�o��n�y�"o�t����¶����	�Y>ú)�(���M�:^n������׶��Pl�`<m�Z�q�u]�M�{��E���:��cS����h��;����b�����5�w�i�ڍ��m�ǽp�;�ӂv���<Ϭy��й�R��֜i��8�9
�Ę,a�vc�˼p;Q
��YU��Ė\ZK�F��}VA�}+1=4��6xtMM7�(��[7�>
�b=L9<�$}H| H�$f �	4
+��g�`��H��l0b�,����'&1|�"E���L(��
��ě�D8y���9,�8$O����ç���C��9&| �
��6ym������bI�ۄ�� �K����qoG�$��pb>0����I0.+4g;�g6����7�%��
0ψM���4�>N�5���XP'혹����S��(<J.�; ��eF�E�6�ug�
H+�zLL��);�﾿����M̭x+َ{c%��vfn�
5
lg
{�ѣ�
�p�*8�
=mwBo����� ��v�݆��� H�^n��
a
���&�/$��MF�QK�5��p�f �\�5���rR�<tT��.0�b� 
��rhzi�Rc+�QU�

�7S`��0�E��Y�eE��i]7-�3�dE�ϋ��!������|�7��.�����I
lZ(�� 3I�>�h��M<��k��&A=��=�+/�T��'L,B\c���
#;!Q�
���u%�
���h�g��.̠
+!�B��r���j"�J�p6���,v |����d�Cc�ҡl
>��@�X���l�lSO ,S�)�]K
���c΂Z��
�)��W6�S�AJ�-���e}r�);�*�]�&r���(����,��;׹GpnF�]�/LֲƑ�I��B�(
�kΊ�<�m��_=�ǽ���Ƶ9�,��:]���Ty��ߕp���q �'�!
+‚#��dx|OF
%��
b���ikq,,|�"�os��
+x�\Dpb�Y��Ƴ�mC�M�⦶=u	���v at j�t���7[;(�-�1������P}�����m�ݸ�̣��#S�7M�7�UY���f�
�?��
N�4�:�/���N()��9��������H��-�{Q�'�a��antv� l����Hw׮�<��ýaX�@>2~�:�
����Q�[��A��<�$��t%XTwf��H���	�S=���y�1�)va]��K�],�)�p\W���7�����ͪ\�k�OԾ�6�8�qG
/��W_����
|��/΀_Ig����٦�K�?`-�
��o�u7��	B������ z|ț����O���[��"�Dt�F��z����*#�b�
���@y�-e
�Oɍ��[���}�4��9�)>�H?��7&)~|T�Ӄ����v�ŏp�d��.�i�
%���;!g�

_����d�B΢
+1|�P�rD̢���W�l���f̠1|
��pC��w^��N|��s�����%�7}?p&��v�Ɉ��=�u�>"��á�^,l��X�i�<K
�0z�B�c�&B4IB�f'~��m�f"ᑴ�]�9gf	S���fz��$�t�*gJ[���-w7�_9әN-���\�=��wb�t7~K_�$3_^�e�;���w�'��
'��Aĺͣ����EH���\J���˵�"h*�l����=Ό+�2[=��3�gڜ���G�+w��

f�F
��/�lq/�����2�{p'���A-�/"��t���C`�
��4a ����>r� ׋dlm�P����S�a�׏�S��z2F�����`� C����Lqg�W���:,��_s��"%�l
-[�c�&��ܡ6
+�ͣm�w~��
�#�h=�D�P|�B1���!G˙<
�7�_�‘<�r��k��K��q�}��:}�5*�IxH8
Z��#N�;�>;!n|
G��*�;^nd�k�˩��^��ˑ���҈�ꈹ���)�
�N��M?�PƑ���T����V�@9ЧK
+�K4�2����,�2��(�% *���`
W���
�?UM{����4O�˶>�I�s���|�����|���g��ʧ�b�~Κ��b�<�g$���;�D�1��N����9E^�(MH�0�Oz���tˡ"�W�F�O�n�/�6�wӱ�����|��t�o">�<9�C'��P|��e�.
_�[��69�������/6���
.f�.�b�g�~�'#��rIZGf>bg�W )��/8��]w�
��/�
|��@ώx
W>H��M3`L`+��*[�z�5fF���a��
���
+��bR������
+D���w��
G���i���.
+��rF��
+p:1���*��!��9�h�%TT�q�rzSP�D��
+�|\��6��h�N���&�hs�M��ԣ�z ���U�}f���K�?�d��+�>>���'��"��􋰵g�����Xp3|�W(�x\����l�q
o�����%���֐��������D����J?.67_�OP���۴�;�wn�;J�
溦���*D�e��K�CK	)��W���C
L����̱
��_��~cӭ�XZtE�����۷ׇ�:+�
��
�9���0�+��?=�:���W��� �9Q�
+endstream
+endobj
+1950 0 obj <<
+/Type /Page
+/Contents 1951 0 R
+/Resources 1949 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Annots [ 1942 0 R 1943 0 R 1944 0 R 1957 0 R 1945 0 R 1946 0 R 1959 0 R 1947 0 R 1962 0 R 1948 0 R ]
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.473 656.27 424.869 667.174]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a805ae2717e65749d104d71978ed97fa4) >>
+>> endobj
+1943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.99 395.191 429.602 406.095]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+1944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.138 383.236 513.996 394.14]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8ff36c02349f02bdf1d374823cb4590) >>
+>> endobj
+1957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 372.128 150.772 381.801]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8ff36c02349f02bdf1d374823cb4590) >>
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.511 273.576 363.123 284.48]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception) >>
+>> endobj
+1946 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.161 261.621 513.996 272.525]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a903afb11ccb24f752fc0bf2b430b16c2) >>
+>> endobj
+1959 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 250.512 228.481 260.186]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a903afb11ccb24f752fc0bf2b430b16c2) >>
+>> endobj
+1947 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 132.868 201.372 145.266]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1962 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 119.363 201.372 131.358]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1952 0 obj <<
+/D [1950 0 R /XYZ 89 770.89 null]
+>> endobj
+1953 0 obj <<
+/D [1950 0 R /XYZ 90 721.073 null]
+>> endobj
+1939 0 obj <<
+/D [1950 0 R /XYZ 484.685 647.468 null]
+>> endobj
+1954 0 obj <<
+/D [1950 0 R /XYZ 90 640.828 null]
+>> endobj
+1940 0 obj <<
+/D [1950 0 R /XYZ 376.044 549.763 null]
+>> endobj
+1955 0 obj <<
+/D [1950 0 R /XYZ 90 543.746 null]
+>> endobj
+1956 0 obj <<
+/D [1950 0 R /XYZ 90 474.549 null]
+>> endobj
+1941 0 obj <<
+/D [1950 0 R /XYZ 155.355 374.434 null]
+>> endobj
+1958 0 obj <<
+/D [1950 0 R /XYZ 90 368.641 null]
+>> endobj
+1960 0 obj <<
+/D [1950 0 R /XYZ 90 234.622 null]
+>> endobj
+1961 0 obj <<
+/D [1950 0 R /XYZ 90 156.624 null]
+>> endobj
+1949 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F72 326 0 R /F60 304 0 R /F99 1084 0 R /F24 301 0 R /F82 428 0 R /F11 387 0 R /F8 437 0 R /F10 1172 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1973 0 obj <<
+/Length 2050      
+/Filter /FlateDecode
+>>
+stream
+x��YK��6�ϯ`�dU�@� sK�uj�I�8�ڃ���(H�Ç̇�ʯO�E�Y;v�=�eЄ��F��`p�
p���wwW��9r��4
�6A��䈥�^���D
�1������);�n�}�V�h�!ZF���(�uѫ������Rt�%_ʍl#���.$0���aGܽ������+Z�X-�YPTW�����_�y<�EU���2����+�4��2M��
3#�cf9�8	8�Q�ؓ����hr���y:���y��DZ�{�Sp�8K¯zU�f迲��N�z���p�
#J����jm�����hzӉp
+
+���^F�Z���T��^v�LW�P�p�z%
1t�	�
+�aݸ���SE�P���Qj����9J�>?A9c��,���JCm-8������J�DDq�N5��yPei��.�Z˽��~֎�1�]SI7�q2v~ ��h���
mY'n/�M�V^#U��,�\.�i����+�ǵ�F! ��`t���vl�o��:��j{Y�
Y�i���d b����u�h�M]��ܜ����_;1p*�`:�zw�zY}m�LsW%��tS�/���C|&'1��H������OS��ک��`���`�F�I� �v�[���N �+�iP	� fl-����T/;m�X
+���H��șNPC)��̴�[9�
+ۍ��;�NP
hv��b$x�͍7i���t�ke�kʵ�4��f1��d&'0�N�2",|��D�B8gB����q���N�
t&�.�S�2�1���R.$��e�
FEN
�)��V���N�
��Vj1�������~00�:&ݏ���h���s��dm�a�m������ZF�
'󝶅l;�3'1�v��\�"��G��|
�d
+>�l���4q�T��,/�*Vq,^�¹���u0�cv����iʲ1�����R~3����(�3P�!�j�kJ�|ѫ���Ԗ05x9��[��4N����
+��qx[�Q�N4�7���r��6��&Y�0x�B����X�}��@R�
�Y�Q�1w|h0"BB{���)�(M��"�Mc6�o���Bk�eѧ'��m����c����Q�sdXM4�4T4* ����v����"�$
C*7\4Aq�|��E��vm���͏�^>l���ݸj�*d����P�P�ԐyUߍb�6������_Vodѣ��x�S ,�R��*�%���IV+�9��f�T�|
R��@ Zw�[�����9oOBئ �M�r^#��2�(M
(��M��	�
�&�i���^�����
]�����|SCn���f`+�N1
�v�sXXt��?d���Q���8��X�ƈ�FS��Ի������M�
׋##W�c��Ʀ{�0M��R�y��Foΰ`��~�� B�J���P��
Z5
�2�e�Dwo`s_4����ۗ�Z~'�1"��۴
���%x:^�Bo;*��J�zu�\�i;_�E�(zF[��Wȴb��T���y���hݪ�
+_���F���<ELg�Ou�	��
���{U��s��m�U5�v�(�g�����}�����'��#r�2��{B��'�t���
9/�������3�I�
���t8�e..�(�6d����[ ����  (�?�GO�K�V�/	�r;9f�rj��
Qȱ2�B_&���w��p�puI���c�%g�$A��'.e�̴�}?�C��|�	;��\s�Z�G�]
]�_�
2�19��Z����3��l}Z���b�F���{�|�S�U���3�
Uz�>�]Ѫ��.�ė�{!�s�z~��g��:k�,����Mk�=`��	��P��������i�
5r�Ƿ�d����T�9ǯ���Y�M�Я��y|� 
�1"�`�so�2��:�fԺ�h���8g Pr�9=}�O)�4~꣼�݂��
B��w!����c
\ -�b��afnE�
��-��{�n�K������+b,t���

���#3I�
�">�������S?^��'Y�m����7�׫a��z�
+{��c������̎OMU�J�\�d-��
ߛ�a�Ҕz���B�b�95+����ot�7U
<k�'���
ά�
+endstream
+endobj
+1972 0 obj <<
+/Type /Page
+/Contents 1973 0 R
+/Resources 1971 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Annots [ 1963 0 R 1964 0 R 1965 0 R 1966 0 R 1967 0 R 1968 0 R 1969 0 R 1970 0 R ]
+>> endobj
+1963 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 383.449 182.174 393.98]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a940d4cc630004e148b25a81010b12d61) >>
+>> endobj
+1964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 355.397 184.485 366.301]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_ab8e3183f9373557491bf9d9cee30548d) >>
+>> endobj
+1965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 327.719 263.817 338.623]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_aa348a444933ae006cd061eb2a01af5b7) >>
+>> endobj
+1966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 300.04 236.709 310.944]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a52e000efba75d51e7891f8e9da8e4e1b) >>
+>> endobj
+1967 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 272.362 183.578 283.266]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a054857677ca99c51342e420e9d5bad9f) >>
+>> endobj
+1968 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 245.057 177.83 255.587]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a0861934c38d4b7e0432b6ba71a40df2d) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 175.568 191.678 186.098]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function_a661ab4cd615864ae392638259f9c58da) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1974 0 obj <<
+/D [1972 0 R /XYZ 89 770.89 null]
+>> endobj
+761 0 obj <<
+/D [1972 0 R /XYZ 90 507.253 null]
+>> endobj
+226 0 obj <<
+/D [1972 0 R /XYZ 90 500.316 null]
+>> endobj
+1975 0 obj <<
+/D [1972 0 R /XYZ 90 401.961 null]
+>> endobj
+1976 0 obj <<
+/D [1972 0 R /XYZ 90 401.961 null]
+>> endobj
+1977 0 obj <<
+/D [1972 0 R /XYZ 90 372.549 null]
+>> endobj
+1978 0 obj <<
+/D [1972 0 R /XYZ 90 317.192 null]
+>> endobj
+1979 0 obj <<
+/D [1972 0 R /XYZ 90 261.835 null]
+>> endobj
+1980 0 obj <<
+/D [1972 0 R /XYZ 90 194.08 null]
+>> endobj
+1981 0 obj <<
+/D [1972 0 R /XYZ 90 194.08 null]
+>> endobj
+1982 0 obj <<
+/D [1972 0 R /XYZ 90 147.206 null]
+>> endobj
+1971 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+1992 0 obj <<
+/Length 1665      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vr&�� @"�6N:N��M�S��P$��H�����w�H����t�	�}ﷻ��&����_f��W	$���`�$�X".�i|E
}���H�.������|;{��M^�&�'^���
%i��M>|��
+�_1�w��.�)��"x?�c��(Q����	���`� B��� M	�8�V����)�i��P.��*��e�<�T�dfK�;���4F,�=��8%��,�EU*s
n�z��ځ�	�,R*<f
�d*[s�*N)A�ĆR"���U�oժ
�.�R�Y��6�^�:s��}$x�n"�z���ɳ�T Fb89�@�HD�DO �s���#��F��<a(���\�n���2E
��ǹƘ &*/�U��r�1��T�W���D7���Xjpp���N5��4�@�]����'~S�=�#J!��|
Bq
f��.����+���*���1c
��ԅ'�KG��[C�eG{x���H�g�I���}�
�����
ʕ��1-�J[
��r�ҔS���5�̶�NÝj��V	��./
+�{B
�.�}�̊B��޺�ݾU6+X�]�@�

�#���׆�R!ؖIx
$�����R1� ��#��	̟r'��LZw:�k#j���
+bqI�XI��:��U�\\
}��.��d��v�gfX-�kkRdC�წ�.��>��@/�r�8���r�0Dď*Ng��N�*���	��<�9F���c�$;�@
sD��
���.��w.��z���
Bi�?b�=�c%PJZ${'�D����W߀_
~Z��`�C�t��3��Dp�n�LO>HѤMQ|�Cq��n�%�
P�
ȑ��
+jQ.�(��t�Q�\f�7mrM�bπٷ㽷WY5����Gv#XM��O1��y�H����̻��բ���^�e��=�psU�:k�F��
쳮���J���LuôP�{�
+�b���}p~���O}�r���k�y�Ye��{L-�S�����#�z8} 8	ƈ��C
�P0�M��EG"@6B
����CN@[=�9�SXS���O���fD
+�+���G
+��/ťZ�{?�
�:��YX3
�
�Z�*��=,ߩu�@;�ʥzd���I�f���NsPz�(-���B�,�Uq8&fS+�y���W%4 y����X�٦�v�|61=���5��n�<�V�k��s�>iSBB
���B+&��G>C�I��4G�k���tW;Ȃ�
+�����oL=�i���l�����7���ȗ֛c��~T݁{[�"(�� U���=�u�7N�w���|1�I��y��r��y9<����8�뎳� ٞ�	G]S��g��@��a���?U���4ݎ�A�r����YƵ��#	�ۊo�sMNW�*�Q��O=,:Y��
���F8!�'�a�j����q�����:Ց+{U��� F E�a�b֭f���K�d����W$�_����7�A������]�AGZ�#z��0
+��>��
c�"�Q\�
r1�E�B�q� �2��-��鑠AU�-%�@gG��e��=vs��.^w�6;o�rs�6������^�?E����Yy�ѥs�}
ط�@�9 �q�^y�����j��Ĵ�]���6u�Ms���bq��U�AK���l8^N��ڂC�;���l�L̢�����p�
+endstream
+endobj
+1991 0 obj <<
+/Type /Page
+/Contents 1992 0 R
+/Resources 1990 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Group 1986 0 R
+/Annots [ 1987 0 R 1988 0 R 1989 0 R ]
+>> endobj
+1985 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1PIP__Decision__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 2000 0 R
+/BBox [0 0 210 192]
+/Group 1986 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 2001 0 R>>
+>>
+/Length 416
+/Filter /FlateDecode
+>>
+stream
+x��T�j�0
��)�q�؎m>Ơ�ö����c��u�����n�ֱ���?I��|(� 9�M��j��
+��]ȵ��h������
?�„�75�j��"�{`$�`q
��@��^U�+��F��\rS�.�f,q6K�;���A,9�ؕq��UQ�=w���
�N��V�۴k5�ADJ�D֩�V��iS8�X
+���!Uu#��S�%��
�5�ࢀ-sࢢ8��e�f�D�&�Y���V�x�e��:5�%ar���0�M�Ha8/�;�C&;T�t닇l
���d���9,?��m��l�7��	'G��F�p����t2�_�^kd��H�E������)�P�\���1���95˂����CZ��0{bE��N
N��;�{���<��(g�jGҥ��=�z��AT��y�X=�o'$�
+endstream
+endobj
+2000 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+2001 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /WJGSON+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 2002 0 R]
+/ToUnicode 2003 0 R
+>>
+endobj
+2002 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /WJGSON+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 2004 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 667 278 722 500 500 556 722 611]]
+>>
+endobj
+2003 0 obj
+<<
+/Length 2005 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��<�
�C&�4B��
���� �:E*�2����x�T�%�>�g��uzi�3,���I���
�r<O7'�z�&9�A.��_��MRon�y�1zJ���/΋[i����"Jߜb7�+�.-�ڛ�?<�Y(K�k_��Ȕ�Q^�u�m'>W˔hIN�g�Iv��rRe~�Ti�ꄍ���9l��ߝ
Dž?�e���:
+�Z*�)P�Ԡ#�H'�=��t���@%� 	�>��p��A� ���	�+PS�|P�)�CM�|E$�+�p��������}v��[x0a^ۤ��7e'����
�j�1
+endstream
+endobj
+2004 0 obj
+<<
+/Type /FontDescriptor
+/FontName /WJGSON+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 2006 0 R
+>>
+endobj
+2005 0 obj
+319
+endobj
+2006 0 obj
+<<
+/Length 2007 0 R
+/Filter /FlateDecode
+/Length1 2064
+>>
+stream
+x�UUYlSW�{
;�Mb�Y 8v
'Ά����9ds�į��8qb�B�I(���(�V�TU�(����S?�R��P�(� �~�s���'ݹ˛{f���{@  ʁBa��?
�<� ��4�;x`�
�r\�
 ]

�����9��	Ϝ<�~J%�Ľ)0�o��L� �(���~?@�yܟ�}�"L�R���߄6� � ] 	� �ʠ�4�
mT!l'C����UK�P�1S9M�DHЫ8�����1#K�ΐit��鰛���`���A��J������L4�\8:y�IxF?
]
��{�h
1s"��
1��U��*
gsi՜ńþ5ֵ���٘!�Uۜe$Q��U�n����:K���i���֗��6�ˊ�K�>w[�`}���^W#�ʦ��3-
~�޼!Y��#����̖�B�ۺ�
�R��� �FQ�>��9�hUF
u+�lzR���Te�k�
Z�[X��]%���`0��
F��̈́��
uQ��h��s3k�u�<���FU��xsM
ۅ�Ȱ���"|�2�+��/��
�<�Tkp�ʥ�S6[�GS��~hQu9-f�S���
��

ON�j��wK3M�}��3�$n�3���h��a�Fy^�P���yV�g�43�G��F8	K���o#NM�v<��IONU�l�o��>CK3�u
2}��&
+��D
 ��U^8�
+W�tUvy�ϗ�P���##�B�W��.fy*�}b����j`@�A�G\\"F
�Nj`#:%�I������͎���֏'k���L��m��k-��;zg	�X_�ʥ1�;�|� ����$HEOUF��#�^%A�WY}V����s��P�q����X�/�f��M�k!I‹pgWh��'����~v���.��q����/������Q�N�Q�zb��9�Z�i����o�p`���HI�}��^�!YOv��>�aG��J�`�]� �+�z=��Չbm%�k���Y1^�����
��J��x��n��/4�W54T�SI��p�.������Pί��|�j�PhGqױ�j8�����XI;I>���ǯ����
]��n��<~⤈��y���^�c>1.3��n1:�#Wn��4�G�|\�gdrzO�(�r�����L���N��� �n"�	9�H�>�|�HX8Fs�@:�H�l�9ܮ*����n�>�&�J�9oS�����K���
	j]�ֺ�����Ҍ
+��]���e�
��?ўz�������؂ʾb[y�@����B�GF
+�X���F�n����%�#*:3,
k$�"��KWp��<���O[D��>֭AK��i)=�t�
km3"a�a�q�C
� e
;Y�E"(!aM.jȠH��bL�~
H�4������-JPa�[
:�6iS��+ޕT�7�K
2�������r�`�>�I�m
��C)y(� 
һ/�.K�.��=zz
�h.8q��%PCs#�qo�{PM^��x
)xV��vҋЉ� ���#CԽ���q(>��?�0���e
�!}�Gm���_��
���a^3q�~L/�K8����
����?\�FO�b��Ǩ���_>b��5��
+endstream
+endobj
+2007 0 obj
+1552
+endobj
+1986 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+1987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 186.869 206.184 197.399]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+1988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.682 186.869 252.948 197.399]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node_a72e63bc7c8c5d3bf7a4a89376f32457e) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+1993 0 obj <<
+/D [1991 0 R /XYZ 89 770.89 null]
+>> endobj
+1994 0 obj <<
+/D [1991 0 R /XYZ 90 721.073 null]
+>> endobj
+1983 0 obj <<
+/D [1991 0 R /XYZ 90 704.201 null]
+>> endobj
+1995 0 obj <<
+/D [1991 0 R /XYZ 90 704.201 null]
+>> endobj
+1984 0 obj <<
+/D [1991 0 R /XYZ 312.673 635.074 null]
+>> endobj
+1996 0 obj <<
+/D [1991 0 R /XYZ 90 630.491 null]
+>> endobj
+762 0 obj <<
+/D [1991 0 R /XYZ 90 526.263 null]
+>> endobj
+230 0 obj <<
+/D [1991 0 R /XYZ 90 517.193 null]
+>> endobj
+1997 0 obj <<
+/D [1991 0 R /XYZ 90 204.693 null]
+>> endobj
+1998 0 obj <<
+/D [1991 0 R /XYZ 90 204.693 null]
+>> endobj
+1999 0 obj <<
+/D [1991 0 R /XYZ 90 159.815 null]
+>> endobj
+763 0 obj <<
+/D [1991 0 R /XYZ 90 72.703 null]
+>> endobj
+1990 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F82 428 0 R /F90 507 0 R >>
+/XObject << /Im12 1985 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2040 0 obj <<
+/Length 1805      
+/Filter /FlateDecode
+>>
+stream
+x��ZIw�6��W�V񥆱\�S��y��v{I��(
+�و��8Q}@�6i9�d�	�
��03[K
[/&O/&�'
��Ե.V�-�	w�in���
f���4
+�|���2
+Wɬ�ʵ��):}y��6��l%R��r<}���J��B��E
���?u���������Մ�@�"J �<ߊ����ؚC�+
#���Qj9����:��9�z-Q.��O��'!(����#!#+�-
�.ra8ٍ��.����40;qA2B{" �6!S���)���{��B�2ޛ^��>�k�����<�!\�zBH�p ��Mo�����x#ʖ6R8���w��G�ScQ1 �
�7E�S9ETF���$Vu/�Z��%�R5*�%4I�l�*���2��”0��Q��.E�Ԛ�c���M�n���k���ѴEh�
+��Q�==�i��Ҋ
X�鬕�'M�I�U=PF�!.P�h(�L
��R~���v��j?{1��q�jg�]��^˵�
�r��<I����S��\�%rS��A>��z�$��5R���$Zi
C�nl�O7��E7
E>q���u���Z{���(���|]�Ã�ՎQ��A��IrUṨ��)$߫=+cU�Pi�y%�e��S�P�q�B�%���7�����=c�ź
+�=>��E�O��Z�����q��nP}рiP�P5�YT'6��k�0��k�����n�.J!�P�
���JD�0譴m(m��ʛ���i�E6�ӥ�sU9[ L��
L
��eR
�L	�$0�~6BTyO
+QםIjm�򞾳�/�����/ 5�ǻ��|*M���.Z�6�A�{i	�k	��u��|�,֦��6y/���I�!�����<jm�
J�/aUD������U�R�cȅ(SS�n�
^�P�K�6ڤ�Rt�^���ݽ�gg/�l~�Ǻ���j@��fQ.� ��@��P�8�m�~K8pPܲFia�
q��
,��SIӇ�j�o+�8�Տ ��B��
Q1�����6m}{rÓQ��0㤊�pdp( ,�_�@Y�
�
r�,E
Β�֮y��je�
���E@�G�>UNӇ1eqwpyd�u��5#>`L�.��FX@���B��,��mkq`���
��+t���[�́�~�o��0��$���Ɨ���w)�6�C�9�䨾

+�����'�>����
Z[8NQg7]�����a�
�+Cɇ{P����6?ldw^��.�Uq���&-(�Å�R38/Ө���e�ΐ�9~fuT�m�H@s��:���H
q�
Vu�ku@�XL�����"��c�z����u^G�0i^��E��u-
p�Wɿ��$kj1vQb�q��V��ߴoW�֝6�=y��mg��ܨ<����G���l?�fy���5�^m&�4�J�D��T��Az	v�Tw�,�#$S�@�e��i�T֨}t��:���Q��H�a"3������ɶ�kI !ҵ<b��UV��
����1��ӳ�80́B��Q�ec?��ЏU��`?O*�<M���@uȐ
���U�E��
�	�f2#ݴ�[n.��+Q�/��\�P���dG&�m��!2�����@�ro�޺�9���j(&���{�`�d�gze�1��y����w�7�/p�Q������
t��c������޾��~�F^ER-�RY:�xe�&Z���s��d�=���'��ie�u�ZRJ/7��Z��mq�]��u~�L�$:ݒ���v&Ⲯ�_��g�"�%���n:{
��u�@�6T�
+r"�1���c0�.5��W�0��������+�_��z��N6_}�`9�
+endstream
+endobj
+2039 0 obj <<
+/Type /Page
+/Contents 2040 0 R
+/Resources 2038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Annots [ 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R 2013 0 R 2014 0 R 2015 0 R 2016 0 R 2017 0 R 2018 0 R 2019 0 R 2020 0 R 2021 0 R 2022 0 R 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2027 0 R 2028 0 R 2029 0 R 2030 0 R 2031 0 R 2032 0 R 2037 0 R ]
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 611.38 169.043 622.284]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ad7ae9489e4e3449bfedbafd36d929f55) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 583.755 169.043 594.659]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae7dc52a107e3c90f03801ac327d35589) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.546 583.755 291.373 594.659]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.151 583.755 361.927 594.659]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2012 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 556.129 169.043 567.033]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a77791a65ff33495b86466f4a672cd531) >>
+>> endobj
+2013 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.859 556.129 227.991 567.033]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+2014 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 528.878 177.83 539.408]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ab75311edf7727278b2c6621e4cf08986) >>
+>> endobj
+2015 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 465.27 264.491 476.174]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a4c79cc34280a10e3ca9d2a2fdb8f52fa) >>
+>> endobj
+2016 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.672 451.915 343.567 461.821]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+2017 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 439.907 242.354 450.811]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ad67204128201f54bc7e543a16e67e951) >>
+>> endobj
+2018 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 414.544 339.738 425.448]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ae2e189679413b6058b03b13fc1b8dcfd) >>
+>> endobj
+2019 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 389.181 208.312 400.085]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2020 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.81 389.181 328.111 400.085]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ac9e60b83b647eaf62c173ecf3539c536) >>
+>> endobj
+2021 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 363.818 294.926 374.722]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a28b832ea15d4a33b33f51554b5f54a43) >>
+>> endobj
+2022 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 338.455 265.597 349.359]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a6adb9a394696d907389f2fabc3d7f643) >>
+>> endobj
+2023 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 313.092 195.042 323.996]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2024 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.54 313.092 275.967 323.996]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a89335d3e61d877bf25e41e562bf2fb34) >>
+>> endobj
+2025 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 287.729 229.362 298.633]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2026 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 287.729 275.021 298.633]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aa86001c9fa5a81f40582bac023132a68) >>
+>> endobj
+2027 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 262.366 226.314 273.27]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a84f5ab2a93289e1436a1ea7ef58fb460) >>
+>> endobj
+2028 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 237.003 212.486 247.907]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a8959e3a2e2612143cb56991236663058) >>
+>> endobj
+2029 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 211.64 268.376 222.544]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a01868d21a17d9549b711240123d5b81c) >>
+>> endobj
+2030 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 186.277 282.603 197.181]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a373a253b31500ca4f15cf2b22e3b9eea) >>
+>> endobj
+2031 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 161.287 201.946 171.818]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aed3b733dc78567027867440a5774e70b) >>
+>> endobj
+2032 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 89.357 192.89 99.887]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a5bc4c5bb38b21a01517358b417867797) >>
+>> endobj
+2037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2041 0 obj <<
+/D [2039 0 R /XYZ 89 770.89 null]
+>> endobj
+234 0 obj <<
+/D [2039 0 R /XYZ 90 721.073 null]
+>> endobj
+2042 0 obj <<
+/D [2039 0 R /XYZ 90 630.239 null]
+>> endobj
+2043 0 obj <<
+/D [2039 0 R /XYZ 90 573.254 null]
+>> endobj
+2044 0 obj <<
+/D [2039 0 R /XYZ 90 545.629 null]
+>> endobj
+2045 0 obj <<
+/D [2039 0 R /XYZ 90 480.213 null]
+>> endobj
+2046 0 obj <<
+/D [2039 0 R /XYZ 90 455.039 null]
+>> endobj
+2047 0 obj <<
+/D [2039 0 R /XYZ 90 429.676 null]
+>> endobj
+2048 0 obj <<
+/D [2039 0 R /XYZ 90 404.313 null]
+>> endobj
+2049 0 obj <<
+/D [2039 0 R /XYZ 90 378.95 null]
+>> endobj
+2050 0 obj <<
+/D [2039 0 R /XYZ 90 353.587 null]
+>> endobj
+2051 0 obj <<
+/D [2039 0 R /XYZ 90 328.224 null]
+>> endobj
+2052 0 obj <<
+/D [2039 0 R /XYZ 90 302.861 null]
+>> endobj
+2053 0 obj <<
+/D [2039 0 R /XYZ 90 279.224 null]
+>> endobj
+2054 0 obj <<
+/D [2039 0 R /XYZ 90 252.135 null]
+>> endobj
+2055 0 obj <<
+/D [2039 0 R /XYZ 90 226.772 null]
+>> endobj
+2056 0 obj <<
+/D [2039 0 R /XYZ 90 201.409 null]
+>> endobj
+2057 0 obj <<
+/D [2039 0 R /XYZ 90 176.046 null]
+>> endobj
+2038 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2081 0 obj <<
+/Length 1977      
+/Filter /FlateDecode
+>>
+stream
+x��YIw�6��W�V굂 pONi�%M
'V{I��(
+��J�BPN�_� \E�r��bBX�}�`L��E��N~��LNjE$�oM/��Z�χ_
�����ӷ�㇄E>,R�/?�M_�M/p������	�!j1��#Ah%��_����%NZ�դ��r�+����	5�жH~[$��Ê�1˜�
�:�Zf}
{��Y\�#���#��b4�
�6�v�.�|��Xq?��8+^,fr'b�H�"�i��Y�-fb=��Y��
��*ϖ��M��]��q!�]��M\�k	�Xg��;9
�¥}/�9�]f�'a��K�X,$�����[S�nTA�� Fc���4������	�x�A&Pw�Gc'��҈n6j��~d�n�R������>s��m�����|%�z$�zS��gc��S�$�B-ҵHʼЪ���Qc�3�Z�
}TҔ�V�(E�à}�ٻ���1$JcP��]�rh��iw��CB�&�Y�*$ݪfm�
��2�Q�8^E
ź]zq�>�&���on�աֵ����/{b*n��
���y�
�����E)��<]��P��v�xX,A��5�U�^ͮ��aH����#�k3~����{l��^ VY�iV��8_
\���s�-箅ԟ$��t�ђ+0�=D���%�`$ݱ��w	���~��M���ō,��C��G�VtɃ.�E����!��{���2�
Y_�`�d�����f[��۪���W���)m)f�p��������
��?@�y��D�
fT*g��c��G���k/�D���� �:0]�eC�]�C��VмJ#+�
�`@�r��I�ըQU��.ʸ�ʞ��E�|���A��aS���_!����Y��*m:r<�bv�/��:��P*�����'Qn���dǠ/���:��'5֟��+�
�Ie)��7f����\	|���_9���'Cc_p|B#���;���>nEq�M �l���R����j��J&��:}��CrꇊJ���
��J���f�*
+W��y}��G0�E�^BƯ
�f���Z� ���éʀ�c�6����$?��93�?���%,p:/�7k�]+
���R3o5���l\F\V��2#�@��G���#^<�#�N�ߞ��0/;� |�'䝑�d%
��
`���C��g+�{(!~����~2B����74��\ɒ�")����
+P�n�n��ܩ���9>q�(*�P���_� !y��U
�W
+ɮ�r�xe0+FN`
�oU#���q�K^��?L�o���֫�)�aP�^+�=�Vyzȯ\��$Z��W���U��+!�"���
��
�-�&O{Qǟʊ�4�}o�R�U9Lo	S�u3�Mj���f��y��K�B��
(hڗ����Z�*��)��#֟MK$���E�UJ3�zQ[Lӡ��r{��ЭK�͸9B�I�mq�R
+t�.�g]��f����#ƞ�SQ�Y�ʼϻ[��	ix̙4��v�ۑ>�ʫ\��N�~7S�^ӑ	�3�Q5'.u+.�lİ�B�%
1�v�ŎM���v-t-�dU���[��r�2B[
13�<7A���1SW��g�^�q%�8�3BQ�_Z
+�K�
�m��,�m�m��1�
+���c�#f����+7+�NR�k;�ʘ���
G��4���^]k��y���"L�h48>��,;�Vu��g++`�J�B(
�g=�t�
��k�?���4
��ʭm]£z�%���!JO:���������B�xu�_ܼ6`5�Ժ�yC��̜�!u�u^����6:zia8�⛹����� �K��-}N�
�_��B7 ^����
BeA��`���5�c�f�X�rج�n
���
����$
+0�Ś;丑[
��>�����t�m�z��=��l������ťz�U��)��F�g���3��Q��hȊƃCJ�J%](d�Ur���w}�ߑȼs�4]'We�y6�̷K)�%I��`�8m�b�+�pFy4�\ǘ-�>��
Q�(
+endstream
+endobj
+2080 0 obj <<
+/Type /Page
+/Contents 2081 0 R
+/Resources 2079 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1938 0 R
+/Annots [ 2033 0 R 2034 0 R 2035 0 R 2036 0 R 2061 0 R 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2067 0 R 2068 0 R 2069 0 R 2070 0 R 2071 0 R 2072 0 R 2073 0 R 2074 0 R 2088 0 R 2075 0 R 2076 0 R 2077 0 R 2078 0 R ]
+>> endobj
+2033 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 707.957 316.306 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a777f48d40962e0a1f7ddcd691bde154d) >>
+>> endobj
+2034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 673.205 322.941 684.109]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_aaacb839f41a9e7355e1e1e5cc9ad0894) >>
+>> endobj
+2035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.757 673.205 383.533 684.109]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 647.537 293.621 658.441]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_adbae3f77deab71eb8d31dc8e551bdeed) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 622.243 232.192 632.773]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a925ebc675d3deed289aed0d97dafa81c) >>
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 622.243 279.514 632.773]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 598.076 236.068 608.98]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a29bc2f9d0a2c4c96011fe36312a53e2d) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 598.076 317.71 608.98]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 536.522 239.036 547.052]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a5c952c2540fc4ea96e8aaa1109d6ea0c) >>
+>> endobj
+2066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 512.729 236.008 523.26]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Status) >>
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.506 512.729 259.38 523.26]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ac41bfa66bbd6a2c52616ea5d4a6270a0) >>
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 488.936 217.368 499.467]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.866 488.936 251.968 499.467]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a92ced4994293ff25212f86d55421a48a) >>
+>> endobj
+2070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 462.895 217.368 473.799]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.866 462.895 300.127 473.799]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a7a934327db411e24b7c2a073983d2a3e) >>
+>> endobj
+2072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 389.129 288.54 400.033]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value) >>
+>> endobj
+2073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.441 389.129 436.524 400.033]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a42e9887cb1bd2e0914862d448881d047) >>
+>> endobj
+2074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [439.742 389.129 513.996 400.033]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) >>
+>> endobj
+2088 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 377.547 201.079 388.078]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) >>
+>> endobj
+2075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 351.506 318.518 362.41]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_ab3b703e4e468da3a5f49ad28905527e9) >>
+>> endobj
+2076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [322.333 351.506 485.779 362.41]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value) >>
+>> endobj
+2077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 284.356 191.678 294.886]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a9117ebcf4233e25be986d6b67ca78f1d) >>
+>> endobj
+2078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2082 0 obj <<
+/D [2080 0 R /XYZ 89 770.89 null]
+>> endobj
+2083 0 obj <<
+/D [2080 0 R /XYZ 90 688.414 null]
+>> endobj
+2084 0 obj <<
+/D [2080 0 R /XYZ 90 662.746 null]
+>> endobj
+2085 0 obj <<
+/D [2080 0 R /XYZ 90 503.771 null]
+>> endobj
+2086 0 obj <<
+/D [2080 0 R /XYZ 90 478.103 null]
+>> endobj
+2087 0 obj <<
+/D [2080 0 R /XYZ 90 416.104 null]
+>> endobj
+2089 0 obj <<
+/D [2080 0 R /XYZ 90 366.714 null]
+>> endobj
+2090 0 obj <<
+/D [2080 0 R /XYZ 90 302.918 null]
+>> endobj
+2091 0 obj <<
+/D [2080 0 R /XYZ 90 302.918 null]
+>> endobj
+2092 0 obj <<
+/D [2080 0 R /XYZ 90 255.899 null]
+>> endobj
+2079 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2102 0 obj <<
+/Length 3012      
+/Filter /FlateDecode
+>>
+stream
+xڵ]�۸�}��Zy�E}枚Ks�뵳��OI&#۴�Yr$9{�__� %Q�ݤ���"AA|���c?_�x{��U
�(�8
�
�2
+�i�}�.��H��ZFQ���T}<�����w���l�����Q(n^�|��6��m�O��8�Ÿ����>h;���zI�a�o>����o�>_I`(
+$1���v��w�`�_�H���,�)Hb�:xs�ϫ��=�'g��� �RHI�zǙ]�M{�*��-��íF�g��xN6Y�:
Ә�T5�v�6���Q��@=�i"�<q�)�@_\K��=�ڦ�i6I~A�m�Q�4�6�x��
t����,�.a�8
�%}� R��u
+�ܞ�6U
�f�cn\�o�w0��k�2��t�ښ���K���#i�/�!��f�d��f�{e�Z�n�(���u|�nk�U�	�	dd��B%Y `��,��R*S�y5P
�M������Pg* ����W��a���U��a9Y^�o��+W�62
+���m���
L

�;� �8
�29�/����4��JQ��žuGk7H�ܱ�
[m�H�v�t���zg�m�93�O��{1���,N����]*����J�i#�/p�=
����>�
A���42ͮ�'�
U
]�����*Mh���'Cp\�tZ�V=���h4�4�R[�1��
+�w����\[A�N Ј��)i�wFOߟ�S�9^�����]E��w���
���6��6.���"'�!�����'���U

����cW�o͎�O��N��2�/O���k��
+4���ƒ�z,�pG3��U%&vΝ��b�~�~��N=5�)��̡1٢�\��
+��/1Fe at hK�-����y�f�O�/"��de��zL�/���"�L���8�;���{�Sj�fO�K3>�!�1$�̿��U���KK�
4����@��]�ń2�J荾����p}�D�1�
+���&�e���'��S
<!*V���3�&G�Q	�J��@wk��(����q���Q�'{ýi�<h�
�&�
+Dd
�`��
{it��VE)[7�G�Mk=&)�@��
V�5��d�}��Od�_��1y$mX$�H����N&��*D��9�e��H�{���
@]H���7
-�YhB^ٲ�

+���<)Cj�芡���)r��;
h,ҩ�Y�ĆY��2JTĮ!L�v�{���}�z�Z[�mg��
��q�ޤiد�`����1o�.zE���h��v�����AAZtw�&�
2�3S�̀��B�o:OsZ�4R��CU�k��R��\p��)�J!���>��o��V�4�L�J�5*i&YI�Q��@-���#��Za�=C��*;ǘ�����7<9�5�K�A�K�{��
���Q��$*�;����-�
+/4јU ��5jsc!����
s��PEg|v�)x�f�9��8�y�^q[o&�,c'wU©Ԙ�"pV�ؾ>m-�Ь׺Y�z���
��,}�B���#k���?��f،ԭ&��3XTY�̒q�ۮ3[�Kn��p�Li����j��e�2�QF�_�ƀT����K$r>놀\J%e��<&���ieh4�Z
�+!շ��|��0���a�']5��\9�9 4�;|�%9�w�s�
��%�j�
)�!ص`���m��q�W�6�M;`� ����O��v�s[a��e$����R	�("d�BD�8��
!>R�x,�$Ucy%]�
̮%��8Y��p�
+64���{�x���,%���EL�Vɂ#����_r� �ۀb(J���*�¹
B�}lZk�y-�C7]�?E��#l��5��s��һ�����
�j̔�W8����v��#�:v����
��X����O�1VB
���
�;��4
���&r4�
$Wi��<���5�xʗ��0O�!�X�O����KL��l޵Ә.b���X�b}���ӕs�
C�zD�%�0��"��/��\����%��.@�T��Z�$UA؈=;=�Z1�S��@��
ҹ�$�s[��g�w�-0cgמΗ���K rLݧ�
+��t�w���P���
a�0WQ��7�K����uu����to��#_5�f/=�n�)6�w��sLuc�WM���'=i� �r1uWV��#f�ߛ)�;���Վjo`
T����ԥ�_�������4~l-g.v�b!]]h�	D�/?YR��`�/���K�_����K���|om\
����jB�_&
�%�*�4����y�ԃB,ʢ
����[��bP
#�4W
[;2�א��Ǒ��a�8JD�.����uZ��'�&����0�"������w��vY�>=�C��,��
e	ɨ|��,��l0�º�aCzY�(eR�r��`c�
H�P����^)[��� ���1[}g��z[�"��1�TT�{�@R�{�g�8R�W%�������8���@�hИ.Ѡ���ӹ4�zw�����S6h+��6�t���q)$VV�d�K��`�jؼ4{ݹ��-�\�VJS���;SP��̳���ih�|X�)��b�W�������t������
D�yF{[脒a(3G[�r��-2�������M�����
�W�=� �{
���7�R���lbL�������_���Qı��L�2S��﷙Xy����R��U2F�QOQ��X�T�-�U����ϥ<.*�)��ȅ_�dP�Ĺ��[��c�]��p7G
e�}g����]����Q��9�M:=��~������
i� [...]
+ up��_�������^5�<Q׸șj6)":b{��Fk����O�k���*�Ľ�r?��
��a8?�l{9��9
+���49�!�u��^��e�V� <U�����&��
��3
y$1�B�y���
x�����-��t���P_
+endstream
+endobj
+2101 0 obj <<
+/Type /Page
+/Contents 2102 0 R
+/Resources 2100 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2098 0 R 2099 0 R ]
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.07 311.919 328.202 322.822]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2103 0 obj <<
+/D [2101 0 R /XYZ 89 770.89 null]
+>> endobj
+2104 0 obj <<
+/D [2101 0 R /XYZ 90 286.389 null]
+>> endobj
+2058 0 obj <<
+/D [2101 0 R /XYZ 90 264.013 null]
+>> endobj
+2105 0 obj <<
+/D [2101 0 R /XYZ 90 264.013 null]
+>> endobj
+2106 0 obj <<
+/D [2101 0 R /XYZ 90 163.887 null]
+>> endobj
+2100 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F81 426 0 R /F99 1084 0 R /F72 326 0 R /F8 437 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2115 0 obj <<
+/Length 2785      
+/Filter /FlateDecode
+>>
+stream
+xڽ[Ys�~���[��
+�D�i7;����f���e2�%ZfE�<$�Y��4
�HY�8)�� 	v7�>�n�8�D8��Տ�Wo~V8�HK*��H�Hq����u�)�����/�	"Z�G��_�����߮?�wWo���\x�#�H%�jw��3�����#����8ep�F��y��(�Qa���LHO�D#�y�C	N�����:����
��08
K$�:*����p=�ߚ&,����)v�.�&H
1 K�J�$�w=��9��,{"e�Kf�,7����r��r��+x��}Vl����e��"ޗ7����7�LsX{6��a��Wt8�qD��� ;\�7�5�,��}�_P-K*p�ߙQ�����S�$i�k��\�m�
���D�0oٺQ��b
X00�~�K���
�Uv̲����~$X��
�
+Pe�PA���B	�aX�(�M�D�Y��"�ǽ��.a����XK�(��%X��r�
zS"4">��ࣂQ�݊u( 1$XJ��.���u9b��Y�����b�~�ߖi�X&��B�}x�aD�&�Y��	š�B|(�!�o*�f�	�D�8�dР@�
�܄ı���R
o��ƹ��
%�E%��2��~%�f�i�!B�e������v#d�4o�Ī��4n�
-��ھ�^h�e��n���cV�	
f�Zy@��]���J���n�S84�M;�)/�y�}>潖̗3-ͼ`���1߂��9u���P�oݒ��]��ݪ��cV�2w��s�U;˕�� ɒ($��1L
!s��L��gn����S��,��ڽj��ؼ D�J�Lz��Ff���C7
+w_9�q��Au׻��(A\���)-���
Lt*-��
Y�Pfu��K�W��<.�&�=�@�`%��}/̼�5��f�(M���$�����W�#���Ч��#�9@�)s4����|��&�?��sB��<�D���P:��s�X2w�@��4�ڜ5��n����2w�,�z༰&4~	-)v���{Ve��M�	��_}�������n���[o�|ҭk6��=�F����7=�
�y���6
+��!���iv��Y�7��
���� -*D�v xd����p�/!�!*i8͍�ѡ�q�74.�


�#�`�Յ��l\�
+W�-M�y؃�)>`��ٴr4�<�
�00�t
���
R!
�b1@G��)�Nr�0kt
�
+�	���1d�I���Xs
+�
�[�;-Ff�3���`
+I^�05�t��ϹP��� !���0����H>v�$0W�
Eٙb\
L ��Ru���\�U����
.�ˡ'�C �~���T�s��bI�q�	���pN�9[1X�G#�<�a�X������.�a_�AibP��M@�p�F"h�L������[���cMM���ay��
wm����d�z_�0IMB
�B�#pp� rk��2�)��� X!^�`�ϩkr@'R��UY�{�WKf�hk�L�:�JE�j�B�TGJ�Ѝ��3�!��^.n�zj�L�D\(O��R���P�k�A��xtهi�L�\ۄ�jo�
�3�t�����?*�7A�d���}�I��&1�O��{����x�
e�;���
v)�q(�����*
�$�mҷ��n�{ls����
+m����~D|��C�
N�*�D���=i&�"|F��3<H(�
�qI�U�
��8V�n/��E��^_"��@�oLϴm�v��aġ>٢���kz�6�N��
+�����h��D�C�{��һڊ�~�h�kܲ� e"�a�Ю 2ҕ�����s�fg�]�i� ���9����P��T��W�C
Lu�=x
�{x�5�nݛ��=�����
�	��E�ͩ�ӼX�=#�m*������@��	x�W�{��L��@��u29��y��y��>;y,ڂb�>�R�ǜM��.����b�J��D�M�+isp�����Y��9��@�3|�f�$�"Q���u[�;�Ài�T
$t<A�Q�["#i�J��Y�{?�J�ͪ��
���A��S�
c�
s��
H0O�ۗAE�-�V	O�n�Y��"5��
�L�,�u��дX�H��>?�M���Q��p4^s,�]�C͹
�X��0�n���傩xcw=n�ֿs[2؞y����9�1������M
���FxlC�c��mE�����m��n��mQ��WQ���e
��U�9�ҟ�ώ�
%�k�m[��a�^z�ʓ���X���n�,m�$ �b�"�7�c[7qW���a��C%�V�i [...]
+���Y=�7�i��=1�،�GqV�DL)C��7z�q��4��ס�`:��q{���8�����V,�%�v=p��j�[9> `|��0��JԃU杁U����*�Q�e��4�*\Ɖ�-ֲw3�*J̵8V���^�^Ӟc{�nV�s	ͱM��$0E��S����)�l�� L�=���}�|��y�c�O{ ֑[�eG��;��b�;W�]�ixx�Ç�����{�>-6���w|gJ�w&����*+��"���kZ�G�
\pۣe�������,�
�
��H�����`�]�U���~�˛7���*+6h��
��c�����u��ݡAx�����J�����믮
+endstream
+endobj
+2114 0 obj <<
+/Type /Page
+/Contents 2115 0 R
+/Resources 2113 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2108 0 R 2109 0 R 2110 0 R 2125 0 R 2111 0 R 2128 0 R 2112 0 R ]
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 693.377 201.372 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.891 693.377 432.413 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem_a4c79cc34280a10e3ca9d2a2fdb8f52fa) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 225.157 201.372 237.555]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 211.652 201.372 223.647]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 113.141 201.372 125.539]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 99.636 201.372 111.631]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2116 0 obj <<
+/D [2114 0 R /XYZ 89 770.89 null]
+>> endobj
+2117 0 obj <<
+/D [2114 0 R /XYZ 90 718.682 null]
+>> endobj
+2059 0 obj <<
+/D [2114 0 R /XYZ 90 684.012 null]
+>> endobj
+2118 0 obj <<
+/D [2114 0 R /XYZ 90 679.529 null]
+>> endobj
+2119 0 obj <<
+/D [2114 0 R /XYZ 90 581.535 null]
+>> endobj
+2060 0 obj <<
+/D [2114 0 R /XYZ 90 559.158 null]
+>> endobj
+2120 0 obj <<
+/D [2114 0 R /XYZ 90 559.158 null]
+>> endobj
+2093 0 obj <<
+/D [2114 0 R /XYZ 227.842 501.986 null]
+>> endobj
+2121 0 obj <<
+/D [2114 0 R /XYZ 90 495.346 null]
+>> endobj
+2122 0 obj <<
+/D [2114 0 R /XYZ 90 414.817 null]
+>> endobj
+2094 0 obj <<
+/D [2114 0 R /XYZ 184.963 314.304 null]
+>> endobj
+2123 0 obj <<
+/D [2114 0 R /XYZ 90 307.664 null]
+>> endobj
+2124 0 obj <<
+/D [2114 0 R /XYZ 90 248.913 null]
+>> endobj
+2095 0 obj <<
+/D [2114 0 R /XYZ 90 202.288 null]
+>> endobj
+2126 0 obj <<
+/D [2114 0 R /XYZ 90 197.804 null]
+>> endobj
+2127 0 obj <<
+/D [2114 0 R /XYZ 90 136.897 null]
+>> endobj
+2096 0 obj <<
+/D [2114 0 R /XYZ 90 81.969 null]
+>> endobj
+2129 0 obj <<
+/D [2114 0 R /XYZ 90 77.486 null]
+>> endobj
+2113 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F8 437 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2138 0 obj <<
+/Length 1643      
+/Filter /FlateDecode
+>>
+stream
+x��X�r�6}�W�-�L ��S�KFi+��N�d4�
�l)R!)���wq!-Ȳ#�|h�ްgg�.�e�����f����'����%�ro2��(A��ݥ��'EQ0$c�V�t�*��+yY��<����6�G��x:���E.��òh�m>
�i�.e#���Cʰ\��ft&�R-��$�>O�o�������� Z���!{����7�]���U��ލ�h�E4�k�>��v7&[����6D!b��"m�k����EY�2-̍�}|�Ĉ�)5g���PR��I��>2J	�$r�A�B|�
�9|�c�G���u���0�o�����1��
!�	�b������ �+h? E�8 j D�c�
�
_1��0!T����f��	�L�!�zN�
,̤�Wr�gm2a�@�gͭyZ�դ��t��!�� +z���Dc� 
QB�o��͍-߇�, ��>J"�g�YWE�N�y�S�C�!���X��.�
E��͍�iqi�/r��UseDQPV��
���X�������
RnR��'�$pW�rlz�ax�
�zxޤ��.��@@����!]
Q�x������l� �)�
+��b/a	�bF��A�D�e~?e��!1�g�����-u�_���ff�ߖB��&[f�����i�D@����C���?��J�hV,�,2W���+klfh6>E0Jޫ|�pr��|����T'��)
���C�������`�"��0�(��Q��w�)Q�f����d�~�����
UF	+�D	c���@���e���R��.inW���MV���(Q�kjҚ�,g�,`m��h^V-�VgyZ��n���B�JiUw^��-�e��e�MG/�\�t8��sHqEHV�+����ːalu����4�ؿV҇��Ę�e� ? M�W�
	a\7iQ���~DH���=!��@8�#z�Ř�צA_�AM��OaLC���KN)��{A��B��E���N11�{b��`� �!��&B����� 

j��~@�nӳ�>to��a"�ͱo�YP��
X�ӂ�i����F�J��o�$?����&���t���/�̨�V�Vm �=�0�0��\k
+e3������
���F>T|����E<!ȑY�ja����O���Û��������o;-�Y���e
�=
$:���-��������0�7�@�m�[�s]���=Gk��T�ƣϧ�����w0�rp�]��ߨ����	�>ڌ�	±����X�?�M�应e�d=������[��^����=�Z���U���9�a�����xr��l�:ND���q5��Iu��m
w�?������qžu� m
w �U�{�n���~u����;�?Q����b�zV�uv�[�0�
+v�--��x��?=��O�[��ʲ�[���R2^ۺX��0+l!T/d�Lm���pu�H�}��5� v
8
3�p�=���x��
�n��~�.-�ta?
�j�k��>�T��E {oK��i�n���,ŜgTuW���d��9�-���z��s�p���갗�[���Y�<8�X/jY,Ь\�ϊ���@�wǎ
ߗee��
+x�L��
+~z�	��6x��@zL��/6��e��}p0Z��Q	k���*$	�
+endstream
+endobj
+2137 0 obj <<
+/Type /Page
+/Contents 2138 0 R
+/Resources 2136 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2130 0 R 2131 0 R 2132 0 R 2135 0 R ]
+>> endobj
+2130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 348.344 216.625 358.272]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name_a1676341382601ab9c96f035983f372d5) >>
+>> endobj
+2131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.412 230.463 330.34]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name_ab5cadae2d9d1e506769cafc7dd19c5b5) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 92.105 248.734 102.033]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_ac2b60fec8498b08d7f22b2264d3948d4) >>
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2139 0 obj <<
+/D [2137 0 R /XYZ 89 770.89 null]
+>> endobj
+2097 0 obj <<
+/D [2137 0 R /XYZ 90 632.878 null]
+>> endobj
+2140 0 obj <<
+/D [2137 0 R /XYZ 90 628.394 null]
+>> endobj
+764 0 obj <<
+/D [2137 0 R /XYZ 90 453.889 null]
+>> endobj
+238 0 obj <<
+/D [2137 0 R /XYZ 90 447.266 null]
+>> endobj
+2141 0 obj <<
+/D [2137 0 R /XYZ 90 366.38 null]
+>> endobj
+2142 0 obj <<
+/D [2137 0 R /XYZ 90 366.38 null]
+>> endobj
+2143 0 obj <<
+/D [2137 0 R /XYZ 90 336.714 null]
+>> endobj
+2144 0 obj <<
+/D [2137 0 R /XYZ 90 291.181 null]
+>> endobj
+765 0 obj <<
+/D [2137 0 R /XYZ 90 197.65 null]
+>> endobj
+242 0 obj <<
+/D [2137 0 R /XYZ 90 191.027 null]
+>> endobj
+2145 0 obj <<
+/D [2137 0 R /XYZ 90 110.141 null]
+>> endobj
+2146 0 obj <<
+/D [2137 0 R /XYZ 90 110.141 null]
+>> endobj
+2136 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+2157 0 obj <<
+/Length 1234      
+/Filter /FlateDecode
+>>
+stream
+x��X[w�6~�W�m��$���MH[B(8��${8p�
�K���
]
�4iH�dKB��o��Ƃ�%"��%h�����w����	r-������{�������&9{z5
z�`"�Z����Ea� ������,i�|'h�_�����Ȳg�&�_[D�Bv]rv]�����!�RL�r�1[�n��vc|�B7
����u��I0���?�g�ި7	�v7�'�
C
x�X�ưc1�a�kVYVp��l��
�ngj�f��+5\��y�s1��P��J�s��E����
����ԞP���`�^
��C�X<
��
�X������b���xC��[�
��]���o�p����&~��[BX.��3�,���Րr���2��;סB+�%�&��h�~d<��e�������r�!� P/��F����?�$��)��j�dq�Ԑaf
o�C:Lw�30u@�<KK	%���P؜�2�b>����b�G�2�җ�A =y�Q�����l��4��#
I�����S
MZ�Y�)U�+�u��IS�FF�Y��
��MC�*ҶyZ%:	��歀���y��%a��q&y����c���
�J�;&Ŏ�?S��2
MG*�驊y:�E�C�~3(�;�g(�@a�\��?���d�kG,{��ʹ��
�&�a���#����{������M�m��u�9ʐ�C�x�6֐X��q������Z�Q�3xg�ݴGw9(N�k?��Ƣ��}��8^8&6�^�$ٳ;�z'�����w
L"Rj5
� Q�B�����0��x��Y��:��gU9˒���b�)u��u���>mdw��{�
�
	�g�#M�Uv�`p�,��N
X	�}J���Ƕ
�������zx��N�_��
t|����:
\�V#����Ui�X�
+E�諰{�a8�0�����6E���
s�k�u-�
�P��h�,۱��2�a�n
�ojG�B��������Y0�c���s� fs��}�E�/�8R1��5�߶��w�l����X������-a�"�0��M���� ۗ]���^�X���.�=z⤟��,�ö�u|")�����] ��yφE�6�T��h�^��Y�
�tY�K��~
+�
�C3=u]���;-L�aZ՗�[b-��Q�'0O��C�^�U���&�_ğ&�?c��#��\>9���O����@��](
��{7:�d��#Ja2�Z|��7{9C
+endstream
+endobj
+2156 0 obj <<
+/Type /Page
+/Contents 2157 0 R
+/Resources 2155 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2133 0 R 2134 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2151 0 R 2154 0 R ]
+>> endobj
+2133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.933 264.226 718.861]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_a7d97a0adb78a51c7089586f7ee4cb6bd) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 668.908 240.973 678.836]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_abc9126a51dec07227e4919899e44589b) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 628.883 262.572 638.81]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_a46e366594cc5fa0e10c75a1b6c17df09) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 588.857 306.836 598.785]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_abd8921ad9d2cc32e7ee32de63704c1c8) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 370.733 245.973 380.661]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 293.433 248.196 303.361]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1PIP__Problem__Status_a89f381f0a22cc6f22b445a4c1691db77) >>
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 199.505 245.973 209.433]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Problem) >>
+>> endobj
+2154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2158 0 obj <<
+/D [2156 0 R /XYZ 89 770.89 null]
+>> endobj
+2159 0 obj <<
+/D [2156 0 R /XYZ 90 721.073 null]
+>> endobj
+2160 0 obj <<
+/D [2156 0 R /XYZ 90 691.256 null]
+>> endobj
+2161 0 obj <<
+/D [2156 0 R /XYZ 90 651.231 null]
+>> endobj
+2162 0 obj <<
+/D [2156 0 R /XYZ 90 611.206 null]
+>> endobj
+2163 0 obj <<
+/D [2156 0 R /XYZ 90 539.975 null]
+>> endobj
+766 0 obj <<
+/D [2156 0 R /XYZ 90 431.63 null]
+>> endobj
+246 0 obj <<
+/D [2156 0 R /XYZ 90 417.449 null]
+>> endobj
+2164 0 obj <<
+/D [2156 0 R /XYZ 90 317.516 null]
+>> endobj
+2165 0 obj <<
+/D [2156 0 R /XYZ 90 317.516 null]
+>> endobj
+2166 0 obj <<
+/D [2156 0 R /XYZ 90 244.551 null]
+>> endobj
+767 0 obj <<
+/D [2156 0 R /XYZ 90 136.206 null]
+>> endobj
+250 0 obj <<
+/D [2156 0 R /XYZ 90 122.025 null]
+>> endobj
+2155 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+2175 0 obj <<
+/Length 1543      
+/Filter /FlateDecode
+>>
+stream
+xڵXKs�6��W�V�  �Wnm�I�u�\���� �-E9e7���ߒ�Ө'A$����[�h���������B�S
-֑‘�b
����1�(�ɜ`���l�ۇ]��^�L~[w&7��ct���v��,6	��ַ��V:�S��_�|�����~B���$�RĂ$_�f��o3f�x32Zng���h��E�JFOn�6�h
+�e�q��
��1"B!
���^��Ν֦U�oL���;���r�~ܕ���U�
�1a�
�XDq$�ΐ ��m��[�����͗����-I��;@�aƈ2;�?o�/��f��n�=�
ݓq��?ׇ�D�e�?P��;m����ZZ���pGn'
e���C�9�k��
��>�q8��H(��b
fX
f�ܸ��`�����
������1'>��̷�6����n����b'~�
�� ��B���]��}�7�
+9�%I#	^����NGD2���{�F�S����u��;���cpD��88�=߭G?z����=W�!
zV�9Tp0�3����D�T�fN�އ���*K��9F�����/�G֧1�NBޛ�HE�<e)����"�XG`�@a/u��^��~��KS<��(�2�(�P�)���
[��u�q�U
�Km�~"
�d}(4 at 9���ny���'���5�����lV>�����MYs2��t��&��L�������)��JE��0?G�)�Z����0L��%�|	
{N�
$���)I��F����e�֑#60�=�^��	)5���[G6V� ���*E,cÍ�
 <F
O�ȘD��
�q��C#\�i�0�-ُ
�N A3�e�
R�S�h<$M�G-��u�i���M2,��˃I�q�\)��puԦ��
+1� �+�'*CW
���ױ
XA�ٕBy�dR!�S 'ўU!�sp�:R!��H2�pt�a��G'���
\�<����
{*�2��*�7��uЉ�.ieÃف���l�dn��
�tY�;�������
8�!�A�%4���,���j���ӷ�%�u ǡ� %�y=��T���W�J�@6���ܪ0ۦ5;�:�~�
�3����$_����"VN��
#-͑�bh�b��!Uݓ;]T?�v�nG��y�K~���glَ�KF�]�hgH$��F
]
԰1t\�Fˮ�}Jdz��ѕ6yݐ���#�]��rgO�='K娑l{�d	U�{�IS���m
��qJk�Ӥ�]�ݠ�V<;��OK6a�-�.3U��T����3�@c@	uK�<�F1�<H�
lOaLS6��Y��2���1�����Ј��z�#;�
a|�S)S#�k
�*�k
��u
�q�8��
Q~�9d��l�?�P��]�
��W��x�Q�@�?\�X��������~N�����
�M����2�vl��/���槄�8�Ç�:�e�����A�
+�̡�?���
���u�o3'�:뉄(j
�辮^\]�
6{]m�hhrV��B��n�TKw۝	8�
+
n
%�&���	�6�
�Z�؜��Z��ĵ��V�_���_
+endstream
+endobj
+2174 0 obj <<
+/Type /Page
+/Contents 2175 0 R
+/Resources 2173 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Group 2153 0 R
+/Annots [ 2167 0 R 2168 0 R 2169 0 R 2172 0 R ]
+>> endobj
+2152 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1PIP__Solution__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 2183 0 R
+/BBox [0 0 210 192]
+/Group 2153 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 2184 0 R>>
+>>
+/Length 414
+/Filter /FlateDecode
+>>
+stream
+x��TMk�0
��W�ĕb;�a�P���;�
�~���
��'%v����
GH%YOO�͇2
���D��&د���<�
����
?��ϗB�����3@��T�p�d
� 3n��x��«*��B�m��-7���n���z�

�c�0cW���VE
c��]��
�Xhwj���Bަ]��
"R2$�N���d�X��ɹ��RД�O�(
��9�2/��s�
�L��B�̉��r ݜ8�4k'��q�4����u�����x��ə>� 7Q��7�:L_��t
Rz��S*��?�:l>寮m�7l(6���&GY�G���~�8��%�5�����"�	��(��J$m�H���D�/=ˆ����CZ�ѰzE���
N��;�{���<��(w�jGҥ��=���/�AV��9~�
�7B
+endstream
+endobj
+2183 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+2184 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /BOBEUM+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 2185 0 R]
+/ToUnicode 2186 0 R
+>>
+endobj
+2185 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /BOBEUM+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 2187 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 667 278 667 556 278 556 722 611]]
+>>
+endobj
+2186 0 obj
+<<
+/Length 2188 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��~�=��L i$�T��Qi �%E*�2����x�T�%�>�g��:��ϵJ�ݤ^��v<O7��:�FȌ�H��֊ě�u^x�M?����Ë��V�=��ADɛ��s��ץ�Ts���G6
���Hs�˽���
��`����ò��o��j���GR��ٶ�]k�,�ԏ��ޏJ����,����w��r闧�)�e��t���rhT*z�Z�H�
Q�
:C{��ԁr�E�ųp��A=΂
2
��'��8����ḋ�ḋ���H�W��R��m׻��{���9߶�`B��N
��o�Nvs���j�5
+endstream
+endobj
+2187 0 obj
+<<
+/Type /FontDescriptor
+/FontName /BOBEUM+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 2189 0 R
+>>
+endobj
+2188 0 obj
+321
+endobj
+2189 0 obj
+<<
+/Length 2190 0 R
+/Filter /FlateDecode
+/Length1 2084
+>>
+stream
+x�UUYPSg>���-b�6CH�!7
�IBXC ��a���P+֢�*:S;u*��/�v�t�P:�ЩSڗN����hG+�q��}��MϽ�w�?��=�Y�sν@  j��i0����; ��P�>4R�����P&

��q��
ϏQf
�@�)��<��B������M�����A �4� ?	NO��H"�
} �]� �L+�ke� ���d��LW�h3��b�B3@
+� j��1f�R!�����b��1۬��S
:<
�����:]~�/�A{��3�ا��h�������2U��� �y�2c�+Ѫ!�#VKM���T�A�+N��m�D*P�
�[����$��X ����%�d�K^���+3T�WT�|����*������U at w&�
�ڐ�����,�5��Xbb�m.엤IJ�� �80�-�K�R��TkcV������S��;ڲ�}F%{+�i�d��;Z�bM�#*�6��C�'�m	�,��~��i�*i�^�-�s7�ɨ����^_�1�أ��:cDZN Rj�Թz���
�1/�LX�
JT]+�!ͦި
I��9:>1s$���6�w�ӌ��o�͓�yO�H�78��"�Bz���c��\
 ϽS�
��@2��+��3��99ѽ\П��!�d�l��5K%���-n�:�G�l�8�hK��K\�:V�\]Am�ϧw��v�Ș��w�"��)��d��\��3sU@�^�RcvFJ��юZ%�r	�uJ�#$��7���=~�H�d� [...]
+��&gd���m�5ߎ���[��J�?l�}��ι��?�#�7�.�����y�‡�Ճd}%�VTS��0_�֬������ɞ�>R>��/Թ�u
T�7��H��]�.��҅��Y���3&�%B����2�P�e;�#�R�J��3�d�B*��
+��"����6}��W�;}�
	��=-]6����Tc�>G���\O�ݕ���Ogҟ
|��X��e/4m-S
�e�.�ޢ��V�rl��8��=�_�?�zQ���x�rϭ�V���*̎6_����A���������/�-K?�L������*+�ce�l�<#=5?�����{)S.lH(2�3��ga}������V���u�uT�vc�m�����N�1.�.�o�z�"�I|gr�b��Ύ���d��}��_P?�c�
����c�Z%y�����V�S�v�
'� ™"�n!� ���<S�bH!���C9������B�41�dH	~A�8Ai �Β�m%���$��rZ:�7��o�"xș��޶_����"���DX��T���E��ؿZ!z�&�x��k�b��*$
�8���
!�w�EV@�g���eNN��`�=��nB��R^�'h��
��c���	v>���{�y���%F���g�
5#.�����uE8�"���� [...]
+endstream
+endobj
+2190 0 obj
+1575
+endobj
+2153 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+2167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 436.739 217.601 447.643]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.099 436.739 292.877 447.643]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node_ab532119425bcb15a8c6063d19f071c3c) >>
+>> endobj
+2169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [296.693 436.739 331.881 447.643]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2176 0 obj <<
+/D [2174 0 R /XYZ 89 770.89 null]
+>> endobj
+2177 0 obj <<
+/D [2174 0 R /XYZ 90 455.733 null]
+>> endobj
+2178 0 obj <<
+/D [2174 0 R /XYZ 90 408.544 null]
+>> endobj
+2179 0 obj <<
+/D [2174 0 R /XYZ 90 353.734 null]
+>> endobj
+2180 0 obj <<
+/D [2174 0 R /XYZ 90 329.301 null]
+>> endobj
+2181 0 obj <<
+/D [2174 0 R /XYZ 90 329.301 null]
+>> endobj
+2182 0 obj <<
+/D [2174 0 R /XYZ 90 241.13 null]
+>> endobj
+803 0 obj <<
+/D [2174 0 R /XYZ 90 134.794 null]
+>> endobj
+254 0 obj <<
+/D [2174 0 R /XYZ 90 121.651 null]
+>> endobj
+2173 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im13 2152 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2211 0 obj <<
+/Length 1419      
+/Filter /FlateDecode
+>>
+stream
+x��XYo�8~����J@͐���}�6M����ާ�0h�q��p)�A��/�Rb7[���`��ȹ���
����f��|rr�b/Gy&���˱��9�	�[{W~��^�d��	
ҫ�>~���0��o�����	�O�#�<Ei����g�a���(�3�No*�8�`,���	�%�B"��<�n�-�V<���k�6����M-�d�d�ۺ�~�ג-
+��L~�����<��/9_|����V��0
A1�	SDh��(A9U�}�`��i��
�s��
�
'�%���ީ�QH�T
o�S�k�c�����q✠$��u.�e���X�����%�f~�U�V�U�#���Q�M�%��}
�tpֻ�R����"��- ��v�RAn�.��^�2��.:%�6�H��X�h쩱��5�~�fY�e�Y+����y9�}�m'�0�X{k
���UJX=7����~G�`��4r��ފ��2�P�G��
�Av���jm&�
5H)�D��@��S�(M��������D�\�SO�et
˞��
�R�c�$�|�������Լ�u]pV
G���_e	 #;-Q� 0++�l���	���n�=yNj�� ٗ|�����@�|*Z36`���7�
sTDk	�r[�W-�a�֪ ��7&���Z�}#֞2�

+WuKb�n� ����[���Q�/�xゾ��G�8�4X� �~mT(�F0���7]1���|���6j�FT{	vr[7�9�S=V?�RE
���SթkhQ�,�l�Ba%X����7�h������Z��-lKZ2�ڑ�aF��Z���"H���8 Z��$�<��/�T_\j���z1�_;�j����T&p�>�fvB U�.TYǾ1�����w�d�j��M������Ơl��
���ɦW�|n�5ٱ(�t�N�0k��Q�l���_W���p�sc�����Ѐ�@�u����A���5��56S�A}B�ѝ#�\Cw�J$
����~��
!���0SW4�6yj�h������A0�v�[&
+G�7+)��z��g�(�
W���{�g|��o�)E}��$�I{�,;�0�ݨI�ɒ5v�*X��Ʀ8lS�أJ�!	Q���,�v�W�n�
dp�	�o%՚��V�K(�����)��d]���]G�g��*nk��Ne��F��ʕLL�5��
�����u��<�`
A��{ �lT���B��rw�5�����bH����'�=�W��U:#
u�ǯ=�;z�k��A�Ni���L�4�O)�����Ƚ��o&@o�#�ޒ�Rp��2
+c��ƕ
��wfra-�e3�;Vm:����7�?��A�*����Z�=�:�*e��]KH�N㶨�q�Q�K��[�2T��ҡK��m�}~r��6�����Ijw8M����3���W5U:����3��5
+endstream
+endobj
+2210 0 obj <<
+/Type /Page
+/Contents 2211 0 R
+/Resources 2209 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Group 2171 0 R
+/Annots [ 2191 0 R 2192 0 R 2193 0 R 2194 0 R 2195 0 R 2196 0 R 2197 0 R 2198 0 R 2199 0 R 2200 0 R 2201 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2206 0 R 2208 0 R ]
+>> endobj
+2170 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1PIP__Tree__Node__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 2222 0 R
+/BBox [0 0 376 170]
+/Group 2171 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 2223 0 R>>
+>>
+/Length 545
+/Filter /FlateDecode
+>>
+stream
+x��UMk
1
��W��#Y����B(zh;�C�a�ͦ����п_iƞ���
²#Y���}o�_
G ��`(^��|1�yy��5�÷���V
�
•|��
�E�Bx���>{��d�	>���2h�/���ʡ8}�4��d�%d���ɞb�,��
+a5�bK))�)�,|��0>��퀃���5�o�*�ZW���ʬ��|-�ľ��s
\�Hi)�r{
~��@�m��IE�iA��z3^g1��I�k��q3�p[cKX��!�
MT�x����>�Ґ�>
\�v��]\�;
-t:�P�0�1�4x�+~"t�;�QG
�ҫ�,	�.��,Hy�_�
��C�L�L����hG��oh��P2r�7z�y1�	��1�d
!�r�Q^Kyb�8�(�E*��
dM�K�;���#Tpg����2s����'���
�)�u~I1�I�'U��H\��,�����"�)�\�G~��fѷ���Nm}|#�-�̅�W�ɉhi'��E�Q�Mi�vT��#i7��	,�u;i'/��ʰ�8E��<oO�V��3���
+endstream
+endobj
+2222 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+2223 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /TLUPGG+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 2224 0 R]
+/ToUnicode 2225 0 R
+>>
+endobj
+2224 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /TLUPGG+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 2226 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 667 278 611 722 722 500 500 556 667 556 278]]
+>>
+endobj
+2225 0 obj
+<<
+/Length 2227 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��n�0��<�
�C&	!U�CT� {I���
9��5
+�j	�ϳcy�_�Z
�v�
/�ZY����L
_
��� �@�/��D�37��X�~�ʒ�O'΋]i�����""�߭b;�+�/
���1?<�^(������ּ�#S���Z9}Xֽ��U|��)�,p%9)�M+ٶ��Q��UQٻUE��?=�a�zyk�/�<I���z:
+�Z
+ʠ)P�)�AGh�
+��p�t�v��
ԁ2�������A=�
"��'�/Ǚ�2��eA
� �+�|��|y�B>d�Wd���;o�ئ��ey��5؏�����A�c��d6��~@�H
+endstream
+endobj
+2226 0 obj
+<<
+/Type /FontDescriptor
+/FontName /TLUPGG+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 2228 0 R
+>>
+endobj
+2227 0 obj
+331
+endobj
+2228 0 obj
+<<
+/Length 2229 0 R
+/Filter /FlateDecode
+/Length1 2368
+>>
+stream
+x�UV[P���st�&
ɺE�f�GB .�~]07#�� $����� ca$���Ā�:��SOc�8v��L3
?$��Ƀ����t��t���6�;Nc�;3n��W���s.{����wvW E�
����"���)<8���Nd���g?�
��R�xj�?��~���x�M��m*(��\�Ξ^��dk(����S 7P�ʙljy�\�<@�>���� ��[ Ax��f�լ6'�B�'�›tk��
@=o�F�h(�`P�:/���r�R��X�Z=��z�6o�=�>���T�O{�ў@<�g��p�͋+�G���s���"Ğ�=j@�zphD@��w�t�j�c���U��"��m�,�"���I���/�$5�TR�����xrx���R��LGe�~[gk[�,L�vx��/��O����=
�7ت���R�Ln2�m�&�𻁆�B�h�6��G���$:5��v�e �x<
�����t��*�k�%x���/�1c;�lҳۢ�Oo�–�;�h=�
������D�-
���P��<�s���vWt%?�=�
�N ә=�g��U���cm�
�~)�Pu�Yl*��ɻ�������j�/�
�
ӊ����)�g��
K-0,���4��q�(��i�6�%U�
+^ž���	�!���'k�jSuپ�Fשb{=�'$7TƨRHC�'�bip}�
��劼�[�
�Ŭ�֡���9SQ�otK���.�#�c�c��U
U V�ހ
�x%F
�^ff#:%�*�p�f����c
��
\2���F��?d�
�� ��`���J��G
|����g9T��j�#�{܈oPK��Ǭ>�
{O���l��j 
b�3���
�^Zy}��
�Ǐ�Ɠ9��A��vk����q��b1|��GT���\��c,C=��4��I�鸧k-v`.�|.=�
�+۳1$�_G��]��X/��Z#�B���]�Տ��a��q�C[��մrƫ6��2��9�[�;A�2g����P�w�J&���t+���r@Ğ�y�I�l&���H:��"�I�Ҭ#Si��}�^:|u�W�u�)u�O�t}N��8NVD����p�I���Q����*�g��*9WW �AF�����z�����b�&��n~|��˗������~���

+\3�v^s'��7֓�����@8��ŋ��+k'dz䘯=75qrur~c���Ļ�x��k5)��B�	"a2r���RM
+/������
�����L��d��h棑�3ӷ�7Z|M�*K�F��5p4
�;j+9�Fl{�`���?О�q���w�FP9���`Z%|Έ_8M�[ZY-�}'�V��'V���z�-d'j�c:
+�*%��YR��Ք
i�X�����˫��I


��|08Rn�:�EZ�$�q<�nj�7�8�����=?���{�k'{�t6W��|�:d5^wM!?rw�	�b�-2����
��Fۆ�1$6�n���U��,R��+��@�7X�it�x�����<�=�N8��0��U�w��Ǩ" \��H��
v�J�
+��Mq�W7H�}7J�O
�y�!�gMOԐC�����})���1�K�
����5V��u��
+($���{��s�
��e����������)�!�F�,î]�%_
�����Nm�ɾ�9�1�[������@�����6��\
_B�<-��
�8Lx���
���0��
�
�#
�E�
��up��G
�={�w	a�`' ���=R�2j��x������*��Q����8.���&R�=#�Ɓ�2��W~
Ķ�"#b�9�lPQ.�!�����[
+endstream
+endobj
+2229 0 obj
+1789
+endobj
+2171 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+2191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 464.17 222.054 474.7]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.552 464.17 269.934 474.7]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a8ad7732b0e38be9e8c42a93bffdedbcb) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 433.476 223.698 444.006]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.196 433.476 272.673 444.006]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a7c7056a9fa57d1dd08465dbb8a862b72) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 402.781 190.762 413.312]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_afe64e41fa2c3ef17fb78ea3ea4caa89e) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.555 360.754 248.325 371.658]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_af248bcc6fc4a4dff80fd47032a49b33c) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.673 344.734 368.113 354.639]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 318.105 240.255 329.008]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) >>
+>> endobj
+2199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.753 318.105 279.826 329.008]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_ac6acd7a5076267b606f39476b3b891e4) >>
+>> endobj
+2200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.97 302.084 398.41 311.99]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 287.41 218.178 298.314]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.676 287.41 263.836 298.314]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a33dde59d655ee0ce0f7b7b97c7e57f93) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.095 271.39 402.534 281.295]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 256.716 201.302 267.62]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node_a59f64bef2634e80385a906bfefe2acd5) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 99.214 197.257 109.401]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Decision__Node) >>
+>> endobj
+2206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 76.49 195.613 86.677]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Solution__Node) >>
+>> endobj
+2208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2212 0 obj <<
+/D [2210 0 R /XYZ 89 770.89 null]
+>> endobj
+2213 0 obj <<
+/D [2210 0 R /XYZ 90 484.19 null]
+>> endobj
+2214 0 obj <<
+/D [2210 0 R /XYZ 90 484.19 null]
+>> endobj
+2215 0 obj <<
+/D [2210 0 R /XYZ 90 451.761 null]
+>> endobj
+2216 0 obj <<
+/D [2210 0 R /XYZ 90 421.067 null]
+>> endobj
+2217 0 obj <<
+/D [2210 0 R /XYZ 90 379.413 null]
+>> endobj
+2218 0 obj <<
+/D [2210 0 R /XYZ 90 348.719 null]
+>> endobj
+2219 0 obj <<
+/D [2210 0 R /XYZ 90 275.375 null]
+>> endobj
+2220 0 obj <<
+/D [2210 0 R /XYZ 90 200.727 null]
+>> endobj
+2221 0 obj <<
+/D [2210 0 R /XYZ 90 200.727 null]
+>> endobj
+2209 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im14 2170 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2254 0 obj <<
+/Length 2205      
+/Filter /FlateDecode
+>>
+stream
+x��Z[���~ׯ�-pΪ�/�
���
'��ɬ=�d��A���A �Y�O�
		]<#'�MwWu�W_U5������F�ݼ�KP�)���^�=&(��y�|�Q�c�1�Wi�L'���<ȬN'E>��z죻�b��˶���<�O�V
�l��د�`L#�*Ҧ1��\�w���`
�D���޿
��~�uD at e��b�D�͖�O�b/��
F,��'�i酔���>�~
a�Z�h�n�Ů=&{k'�]z��]�{���zcJc�ͺ���^<��f�,�T7)u�B��B��G�J(a�G�&���D�p=�UU6m���'7M+�fDo%1C
d�z��Hy�x$<
G(f�5)J⤳�� ��\O�a*#�*B|�C�L�Z\E<#!"|O�Ag0��M�#@��݀Q�8aWQ"�c�W�^���
�,B��*��@"�[�?�
��p�:�4��q��qB��#=�޼����L
���d��K��47������
+�K���~�}MLC[WE����lFe�za����� �8��6�D�qW}P��jDh0۠�
#?/�|&��Ãil�۾~�#�e�
�X�iJ��WU�/�2-L�c@�O���Bڞi����Y�����\���1���ʏ���S�-��$�K�Uu-�U=:#V溯4�v���O�qm����e]���zd=��M�v[��]�r��d��u��̎���
�怅Ji��-F���?���p�X�Pi��3��
�
@
���`d�cF�xZ{�11�Nऱ��X\<�pq��X>J�S
�P��сpP�P=K���b��0��|
+��E}�
0�r�ub��zW�Fqf����� O*� ���Br���c
���x5 3�(���"3
!����C@"�e'.��[H���Z�W'Y?2Bz��O�ҍ꼮#���
ɟM���#���~���$���Aֹ
�P
��w���1�ޮ�0�î��z
+�)��P������^¦���|
�$�泬��jfn�3�Sfu\z2�vT��@՜�G�P����$�rO������‡R";���C��L'���39��*�8�6�z�ԋAo
j���[�!���u
@<�V`-F���TO�����_צzP�*
Q�Y�|Qƶc��d̐�oe�����:�����X��?\��(̄V|�U9^����Ծ��T��
i�7��7mM��\��:`�ٺ��R��Ⱥ @f� ���߰�A!��V5m2C���Y��u�o�EQAh>	�&��zA��T�Y�����ݎ_h
+���7�bZU�L���XHp���g���dV��f��9f��3�w
+����
�n^�z��N�0"�wNS���0$8q�
VM.���,6
�E(����_�D,�s�������΀(�QB�Y6r"i�}Y`�%�h���R���ru�`i�w�סĄ ̯�+H����spu 1
+yܯ)�#br۪R�>� ujr����C�\�5DT���k���ڹ�냊�
*�p���e��Ŗ�G�l
����xT�
'�@H�����jB����?��,�?8 Vi��m��暀��K A�K���4��?Ͳ�[�G�s1&{I��S�5'X�&P?�o��K$V��-
�#$���l��Ņ{JB���ァ��l�sY�N���J�"�P
��Xr���$�v�f��<�����L��f at h�wH]S�9?�3̖0+��L��
�{|�S��t�|��fIo�9w�g���P��~���\f-��]ƥ��w,;��Ы���\X��^A�auݴ?�RR
2ֶ�
����b�) X='\
:�>�?�8�]œ���^��
�'�	��;��`�!i	"a��`~�c+C�e{�@�۬XgRǢs����2z^�y��7�;
����\AY�h
'��6;�LU���Z��fkS�珲0������V�#7qu`���E�1������q\���P5v�H�VV
O����
+�foZ��Oa$��'}
L�Py��v
���hU
��2��>h����)�]�W�E P������iJ�(��>��ݽ37ow�v�wi�X�
��J���t.u������(��RߧeW�Mt�W�G@�p�{@މ��ҡҬ�ߞ���:)�;ړ8��w�mW?��L׋F�
43��w��`���º����ͼ�ƥ�X��gg��9u��
�$\�{���n�m��]2�u{���� Iлf
+endstream
+endobj
+2253 0 obj <<
+/Type /Page
+/Contents 2254 0 R
+/Resources 2252 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Annots [ 2207 0 R 2231 0 R 2232 0 R 2233 0 R 2234 0 R 2235 0 R 2236 0 R 2237 0 R 2238 0 R 2239 0 R 2240 0 R 2241 0 R 2242 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2267 0 R 2249 0 R 2251 0 R ]
+>> endobj
+2207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.968 660.373 392.801 671.277]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1PIP__Tree__Node) >>
+>> endobj
+2231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.683 519.765 207.239 530.669]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 409.824 231.425 420.728]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_adf86846ee255deb41ca850ac64c4b61c) >>
+>> endobj
+2233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 370.456 189.224 381.36]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a711a61f2016a1a60c7cce6dceb2bb94b) >>
+>> endobj
+2234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 344.039 273.029 354.943]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_af3095a51638dbd4f5f64ef0abae85829) >>
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.844 344.039 414.746 354.943]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 315.63 272.779 326.534]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a4ba9255b9f22cd0731c631579a578efd) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.595 315.63 414.496 326.534]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 275.266 297.297 286.17]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.795 275.266 355.528 286.17]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a49b8e7f8a6b1ed7aaa6e91729323de7e) >>
+>> endobj
+2240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 234.902 297.297 245.806]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.795 234.902 347.927 245.806]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a3ae906e1904f2ac295800c2da5ad0eb7) >>
+>> endobj
+2242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 206.493 224.451 217.396]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_afc1ff8d6faebe04f1639123b5a35e1dd) >>
+>> endobj
+2243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.267 206.493 287.823 217.396]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 178.083 228.327 188.987]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad8b71c1b523782a16d5ced5b3103bd8c) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.142 178.083 404.345 188.987]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.974 138.715 232.636 149.619]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a8adda024ba9ada688f17592347ffa4a9) >>
+>> endobj
+2247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.669 138.715 408.872 149.619]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.341 138.715 513.996 149.619]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 126.76 218.952 137.664]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 98.351 238.817 109.255]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a20fc9fa06d5e6772b60c0d8c968716a5) >>
+>> endobj
+2251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2255 0 obj <<
+/D [2253 0 R /XYZ 89 770.89 null]
+>> endobj
+2256 0 obj <<
+/D [2253 0 R /XYZ 90 721.073 null]
+>> endobj
+2230 0 obj <<
+/D [2253 0 R /XYZ 90 703.073 null]
+>> endobj
+2257 0 obj <<
+/D [2253 0 R /XYZ 90 703.073 null]
+>> endobj
+804 0 obj <<
+/D [2253 0 R /XYZ 90 575.588 null]
+>> endobj
+258 0 obj <<
+/D [2253 0 R /XYZ 90 565.855 null]
+>> endobj
+2258 0 obj <<
+/D [2253 0 R /XYZ 90 459.508 null]
+>> endobj
+2259 0 obj <<
+/D [2253 0 R /XYZ 90 426.898 null]
+>> endobj
+2260 0 obj <<
+/D [2253 0 R /XYZ 90 360.56 null]
+>> endobj
+2261 0 obj <<
+/D [2253 0 R /XYZ 90 332.151 null]
+>> endobj
+2262 0 obj <<
+/D [2253 0 R /XYZ 90 303.741 null]
+>> endobj
+2263 0 obj <<
+/D [2253 0 R /XYZ 90 263.377 null]
+>> endobj
+2264 0 obj <<
+/D [2253 0 R /XYZ 90 223.013 null]
+>> endobj
+2265 0 obj <<
+/D [2253 0 R /XYZ 90 194.604 null]
+>> endobj
+2266 0 obj <<
+/D [2253 0 R /XYZ 90 155.236 null]
+>> endobj
+2268 0 obj <<
+/D [2253 0 R /XYZ 90 114.871 null]
+>> endobj
+2252 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2286 0 obj <<
+/Length 2072      
+/Filter /FlateDecode
+>>
+stream
+x��YIs۸��W��Ȫ@���{<����SfJ��̄"������X��V챒Ô"��F/_w��Y;��������U��%!
����`'
+�B��'7
+�?o^;~#��pH�^�{{��ۛ�j��כ��g��C�y���Yn�>����_;�I���M'�>���dz��a+
+F��G�g��H0B!F����iVg��7�4v��[Qf�H���,D��VZ�iF05����%���7#c�R�<����Z��V�
P<�
+�*
Q|	�v�ң̽e%j3#W���[��
+� 2}����2�ߊ�
��r�Y,�
+iS����ͭ�f>
Fl�L*7<+*5`�fva��J͋:�Z�zeo���KV��
����+a6�v��s�f���7d+�Q|���Zȍ�K3Ŭ�A	��ة��&��Q�J��۷vfku�_�q辺4����˚����|u˷�����Z����,��-AJN�}i%�؈�6��>U+���
��b�Z��(�n)�����fM���t�U�wŲ��;-�YX��#n�`�B-j���XO1�JkY3h��K�0s<�ͱ[�Q��i��{!�V|c)W[�
)P�l�~�6饯D�����R�.8­L�Y^[M�v�H�����hw�w
�F=S��.�-'���[��,�˝�)o����,��t„

Ay��R��`~�!���<���WJe�;��Pݧ3~��V
h�b�K��ՠr��\�y	������. g�kY���
�a*A��F%+} 
Z�	%�7�Ɋ��l �my�mA�n�xk� xtϝ�
��"�%
��I�ujA�&
�W:�4+��?5i�6m���	C3�:|�	���� � v�٧�Xޤ(��6s
�H�#��H�"��
+!�k�p�}!
��=���<[��q�2A�\����2 8�Ci|
z
�SH���O���J��6��"�QH�I��\�`(��K�I�a�1q��T�&W�_�0�S z���A�U83&p
&D�+
��¹��h{0��Y�����hdY{ ��R��"六�l����3��.j
��
+�J2)�lY�d��
"�2�e��a��K"5X�Bi�mU��H#+�`�ͬXWG��eX�~l��Y���R6� Ε�
���
%�
d�_�o{}��̇�Ӥ2��۰�}���h�{ �
�>�����#n�#Gnܓ�� 
��V�D��2��@��)<S�
�?
�h
�F���8��<�(�s�4b��8�bL�Y�Q
�N�3PSWڄ I�zAL&��_�e��€�z� VСBX@�|
KU�Rd�McSrvU�s
�T�Xˏ7���B��ե�#��;�٦���5<��ln�Ɔ�����t?�:���n:�u
�u��Bn��O�EV
+�>���*SX�}��[��h�u�}�&�%�?Hݝ
+b�Ġ�0ЀB))1@�o3�]��U�66sn�CR
������*�=�q��(i��͎g�@�v

�

cJX�xT5��9��/e.xq<��
t]?�RY]>�VM�uh#����r'&�@}��ٔ�Fm�,rk�l5�Z���/uM�=��!!�P��.'�
��Sz~��W��;>9� X�O��;U9�,=�D�i{���9�~#�L�b��>T��I��ot��u����v�
�M!/��P�V��q+DP�@��ǁ�8#@�`�����a���]������W?xb
����#�6ݑ�
G�V�P�Y\��
+j4���Y� F�G�0F� ?�V�?FÐ`+Q�uYɝ~X6�mZ�뢞
+"�c�"��(j�7������Jc�(8��%(P����4�E
E�����=�moUϳ�~����z��^p�ek�v�xx�(N�]�O�!E��)�w*
��o�_�a0��c¯���3v��z�;��u�f at o�ԝ%�D��
AW8
����m�K��u�
�����
_ۍ�T�+�*ji��_��?���e�ox�������P�����-���
s�/�M��>����m���������n]�b��rs���H��nc��l7���0������7<��
+endstream
+endobj
+2285 0 obj <<
+/Type /Page
+/Contents 2286 0 R
+/Resources 2284 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Annots [ 2250 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2281 0 R 2283 0 R ]
+>> endobj
+2250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.683 659.259 207.239 670.163]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 367.995 379.083 378.899]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 296.098 286.113 307.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_acd3100605be3e85bc68685085a2572ae) >>
+>> endobj
+2273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.928 296.098 462.131 307.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 268.82 201.83 279.724]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a0bcdabb3d2a28f20e10697676f42e490) >>
+>> endobj
+2275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.646 268.82 377.848 279.724]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+2276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 241.916 179.355 252.446]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a26b1ddc4ece928d4301c1fca3d9c2db7) >>
+>> endobj
+2277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 214.265 179.803 225.169]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a22326363cf04596cec471dbe66e03653) >>
+>> endobj
+2278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 186.987 199.907 197.891]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.405 186.987 251.105 197.891]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1b586c1f7e68ef2ad7a47bb83767a32f) >>
+>> endobj
+2280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 160.083 177.83 170.614]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a96c42895c3599ed91e187ea39f94672c) >>
+>> endobj
+2281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 91.175 191.678 101.706]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a12e689efd1655b4ec60adc26beb16a65) >>
+>> endobj
+2283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2287 0 obj <<
+/D [2285 0 R /XYZ 89 770.89 null]
+>> endobj
+2288 0 obj <<
+/D [2285 0 R /XYZ 90 704.286 null]
+>> endobj
+2289 0 obj <<
+/D [2285 0 R /XYZ 90 704.286 null]
+>> endobj
+2290 0 obj <<
+/D [2285 0 R /XYZ 90 550.938 null]
+>> endobj
+2270 0 obj <<
+/D [2285 0 R /XYZ 90 528.562 null]
+>> endobj
+2291 0 obj <<
+/D [2285 0 R /XYZ 90 528.562 null]
+>> endobj
+805 0 obj <<
+/D [2285 0 R /XYZ 90 420.515 null]
+>> endobj
+262 0 obj <<
+/D [2285 0 R /XYZ 90 412.957 null]
+>> endobj
+2292 0 obj <<
+/D [2285 0 R /XYZ 90 314.783 null]
+>> endobj
+2293 0 obj <<
+/D [2285 0 R /XYZ 90 314.783 null]
+>> endobj
+2294 0 obj <<
+/D [2285 0 R /XYZ 90 285.771 null]
+>> endobj
+2295 0 obj <<
+/D [2285 0 R /XYZ 90 258.493 null]
+>> endobj
+2296 0 obj <<
+/D [2285 0 R /XYZ 90 231.216 null]
+>> endobj
+2297 0 obj <<
+/D [2285 0 R /XYZ 90 176.661 null]
+>> endobj
+2298 0 obj <<
+/D [2285 0 R /XYZ 90 109.487 null]
+>> endobj
+2299 0 obj <<
+/D [2285 0 R /XYZ 90 109.487 null]
+>> endobj
+2284 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2318 0 obj <<
+/Length 1916      
+/Filter /FlateDecode
+>>
+stream
+x��YIs�6��W�Vr&�p�[�����u��!�h(	��P��Ŏ�}�@J�dř(��b ���{4u�u^�~�]\	�H"#
9w
GRG�����[�Q2o�(��&)��dSdە���$K�eRn=A]r�q�“�e�OnU��i�{c
R�2K��,o�B�
�]��Pea$]z��^�~�}1�:̈;����{�����C�/c�A_Z;��7sތ�
Q�%<�%�X�b6Џ1��N=JZ_�:I35ay
�jV��
+ز����-F
P�Pn
���:�U��Eiv��
�Y�Rf1O�M>��ba~��Q.�an_�����M��u���M���}P%n.ak�3�D#�g��y@?$a�3��y��SU�\����h�b֬U^'��s���
��{�a)(����5P҆*��d���|�}IG�a�� ��F W$�S�Ɖ�eq���CFB�)BX�E�1暌9�]B,��p�����d�7�ݭ���>wm�

+�>� ����(�Kc��9
�
+0����(��"���#��,
+!���`А0Ώ)�
��6br at 2�E�%�/�u[���%K
�c�jҗg�B�D�/�YB�����. at d�gm)4e�

�7��㊝*�� ��b
<IcC�V�M�W�T[�+�#a7���tk�ߣ�|IX$�JR�������}"�jCNT����
,A���ķ��_
����|٧t\�?�@���/(�>��0�>��3؊H��Ƃ�O�x���
���!
�5�U�f�Y����U�XUk'�b�׳̕b�A����8d��r�yk�,�V�o�Ã��U{�~(YЀc�K�S��<]'[s��^@�{��d�<��������}]��@���2��
�6�|�cH��<T�ۣ�0GӖ�z���4S�q���y�*�l~L��@��&���b����k���;[���C��
�W��7�����)�}0���
����2���JY�s8���qg<
�}��~����`�PJ�zqL�R���&#s��j��d�a��dzb��)
�h���E�hK�%��Jg+��ا��s�¹"��"��N���{ahj (&�`�ݒāU�ӣ��� 1����,U���tQ�,�"ˌ�M"�I���S�E$�cR@�F�w���J�€J>� j���d��(>oA �!Apf2�1�i��m�3�}��d�8lS0;�+N�8���6��mjO�p�kZ"t�p�<
k�}������8�DXt
i"�� �Ksy
��|���T#�ӽA�@;H�IO��s����f���+{��T�J�Z�ٵBs��{ϡTu�@����ꦙ�Y:3:
��'5�6wP��=��1�o��Aʛ��"���6�L�0, �(
+�g�s���	��t3��(`�u϶�Paw]�Jc��}�5ѐ�~o�$���lZ�����v��d��
3Σ/?;�o1�
6���1�.�Z�m+M�J�G1����Cl�g�u�v�b�`Y����#�B�
9@�_@�P\`v��l�6o~hِ�
�/|�9��G_`����@��@i�
�QU�
+_�JljW��fd+�Y3�;�-�&�	���w5]�t�6�v�c
n�W���uZ-�
 ��2�D�������Po��5O���ȠJ:��U�� ��؟�3�<�Yc�0���$;8L�6u�����R��f�5��\�^�)�		�������q�ա?E�]�������w�u�������S�E��pgD��>o�� #�����O�x�?��?�|�$K{���BO�3{�t�_�Ye_'y�d^��ը�/#�~����3FϏN��c��J�g��;䶪���i��T�$3 ���{Y���t�'�uQ�02�õ�I�~��C������G�\��_�����z�;/
+���w��X��
+endstream
+endobj
+2317 0 obj <<
+/Type /Page
+/Contents 2318 0 R
+/Resources 2316 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Annots [ 2282 0 R 2301 0 R 2302 0 R 2303 0 R 2304 0 R 2305 0 R 2306 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R ]
+>> endobj
+2282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 682.931 379.083 693.835]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.072 539.856 218.628 571.368]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 324.019 194.507 334.923]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_ae9b4bcc84019980d7be4ace75e54c0b3) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 293.114 179.274 304.018]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_adc93ada4ec022b8e6020c91412e0b0ef) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 293.114 263.687 304.018]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 216.237 218.029 227.141]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 216.237 250.965 227.141]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a31e5a38eb5511d477ccd1b793fec470b) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 185.332 218.029 196.236]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 185.332 262.043 196.236]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_ab038d193cd145f2bc59b501db605e320) >>
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 154.426 218.029 165.33]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 154.426 290.804 165.33]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a44dd34b28b7e0ca0ea892e9259ea7103) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 123.521 218.029 134.425]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2312 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 123.521 266.456 134.425]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_a4358da8086e7af078f42a62c817895e3) >>
+>> endobj
+2313 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 92.616 218.029 103.52]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2314 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 92.616 255.378 103.52]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_afc62e3c93daf5e744e4b3e450c7c7270) >>
+>> endobj
+2315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2319 0 obj <<
+/D [2317 0 R /XYZ 89 770.89 null]
+>> endobj
+2320 0 obj <<
+/D [2317 0 R /XYZ 90 721.073 null]
+>> endobj
+2321 0 obj <<
+/D [2317 0 R /XYZ 90 665.971 null]
+>> endobj
+2300 0 obj <<
+/D [2317 0 R /XYZ 90 642.917 null]
+>> endobj
+2322 0 obj <<
+/D [2317 0 R /XYZ 90 642.917 null]
+>> endobj
+806 0 obj <<
+/D [2317 0 R /XYZ 90 438.568 null]
+>> endobj
+266 0 obj <<
+/D [2317 0 R /XYZ 90 430.087 null]
+>> endobj
+2323 0 obj <<
+/D [2317 0 R /XYZ 90 344.518 null]
+>> endobj
+2324 0 obj <<
+/D [2317 0 R /XYZ 90 344.518 null]
+>> endobj
+2325 0 obj <<
+/D [2317 0 R /XYZ 90 311.879 null]
+>> endobj
+2326 0 obj <<
+/D [2317 0 R /XYZ 90 236.651 null]
+>> endobj
+2327 0 obj <<
+/D [2317 0 R /XYZ 90 236.651 null]
+>> endobj
+2328 0 obj <<
+/D [2317 0 R /XYZ 90 204.096 null]
+>> endobj
+2329 0 obj <<
+/D [2317 0 R /XYZ 90 173.191 null]
+>> endobj
+2330 0 obj <<
+/D [2317 0 R /XYZ 90 142.286 null]
+>> endobj
+2331 0 obj <<
+/D [2317 0 R /XYZ 90 111.38 null]
+>> endobj
+2316 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R /F90 507 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+
+2344 0 obj <<
+/Length 1205      
+/Filter /FlateDecode
+>>
+stream
+x��XKw�F��+���`��fFʮ%qN�ĥ6]999L*$GBv�����ip_+�y��w�p�p��Ӹ7��8HQ*��� Ł�S��͂�P����2`"A$pɬ�����ޛq�k����ϑL��w�	3X�
0bi<�C� �
~���k;S0�\?�gXB�
#b- qx��c
�V�l��Yԧ4��zZ-��˲0z�
��*�T .��8�Sp��Ryf�Z?*�^2�s_�;5�����u��eQ��lY���
h"	{M��
̳�=.W��Z�b]�2�4�T�VʹSRת�]wV�_���Y9m��;��e��9��cD��e�
+Uek�tϫr��ɼ��2�<|\
��c��W��D��%A�AU��ȏ����>�Z�e��څ	}�"���'�7:�h
+J/���{mP��m=RW��Y�ʞB�paB�%C��S a�'���Î
D�q Cˊ��� Y�	Mf�R�g�O�2�՟/'U�O�M$x�F����9"FD��!��Eך��8�4��3z
��nGIW��{Љ�����Z�#�JSu�+�)�b_�99�L9��X�w�d�c�y��	��/�֭j5Q�}�h�ծG�� �)J��dmҪ���uĐ���H���cha�m
�
���$`��Mr)`����ԙ74]���=�����i��B�f���Yި���>�z�T���mlR��ʼ����R�ǂs�����K��3D�_ո�^����,�M�*@ �` ��5�PW-CRh'{�(p����$h�2���% �tn�t��[a�J���OV����V���G
+�
+ŷ���x��9h���!қ�mH��X��fR��_"n?�f-ij	��J0 t�����l�YB�����W���!c`�
D�ᤋÙ��
������>�o��.������<�1�����kYX�ob����|G�)&o`Ox�=
�P��0x/w�h�?�Փ
+l�Sw��
����yzjJ���64�.~������\R��;c����/!_�1�����g��︅��
^� l+��j"�
+4���
+�J�`]H	���+�t4z,���7��
|�lO��oЧ~�
���CV4Y�
�
kU��� 3�P�g �F�Z����z����D;.���ݭ����I��U�@Sh*O�j{YJ�ߖ�ű*+�1
X\�F���?����
+endstream
+endobj
+2343 0 obj <<
+/Type /Page
+/Contents 2344 0 R
+/Resources 2342 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Annots [ 2332 0 R 2333 0 R 2334 0 R 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2341 0 R ]
+>> endobj
+2332 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 470.504 194.497 481.408]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a29127d8da5f0b833c4a89dbe3d41be27) >>
+>> endobj
+2333 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 432.707 179.274 443.611]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_afe2f6db5c7f1a92104fe7efa0c301a45) >>
+>> endobj
+2334 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 432.707 263.677 443.611]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2335 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 339.634 218.019 350.538]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2336 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 339.634 250.955 350.538]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a40a81d6ee69dc679f08c5e89a101dfbb) >>
+>> endobj
+2337 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 301.837 218.019 312.741]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2338 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 301.837 259.253 312.741]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_adebb1fbe14ec8f0b88fb538b86f0873b) >>
+>> endobj
+2341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2345 0 obj <<
+/D [2343 0 R /XYZ 89 770.89 null]
+>> endobj
+2346 0 obj <<
+/D [2343 0 R /XYZ 90 721.073 null]
+>> endobj
+807 0 obj <<
+/D [2343 0 R /XYZ 90 603.661 null]
+>> endobj
+270 0 obj <<
+/D [2343 0 R /XYZ 90 590.872 null]
+>> endobj
+2347 0 obj <<
+/D [2343 0 R /XYZ 90 494.449 null]
+>> endobj
+2348 0 obj <<
+/D [2343 0 R /XYZ 90 494.449 null]
+>> endobj
+2349 0 obj <<
+/D [2343 0 R /XYZ 90 454.918 null]
+>> endobj
+2350 0 obj <<
+/D [2343 0 R /XYZ 90 363.494 null]
+>> endobj
+2351 0 obj <<
+/D [2343 0 R /XYZ 90 363.494 null]
+>> endobj
+2352 0 obj <<
+/D [2343 0 R /XYZ 90 324.048 null]
+>> endobj
+2353 0 obj <<
+/D [2343 0 R /XYZ 90 257.552 null]
+>> endobj
+808 0 obj <<
+/D [2343 0 R /XYZ 90 134.312 null]
+>> endobj
+274 0 obj <<
+/D [2343 0 R /XYZ 90 121.523 null]
+>> endobj
+2342 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2383 0 obj <<
+/Length 1410      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[ə
+@�G��\c�餉�;��$H┇
RN�_�ť��|��Q:y�� b��o��X��=��z18y�`/CYLc�b�e�K�
��ޥO0ba0$c�e�G˺X/�T�Q��%�� �>�P����u
)���7�~3���D�+�
�$I���l��bp=  �����$�&���
������(�R﫞Tz
�Zx�
�:qW
B!F��j!d�r-��i��䥹���
)3P�>��WZr�w�
+9}H�4�
�\�V��22�Sv��O��>89-	��Ԡ�VY�(SCuy�Y1t�
wvӸ�d�(�(50W� �| ��� ʱ�f�nUMڼ��;��ЈD�$�/@,�{l^
+o_�o�o��Mm������z���n�5[�v�됀�(b 
Aqde����-�.0�W������0�nV����U˹���^�f4K>�i^���;��)W�a��^�8�KA�8R�hq�L�$fF�O�]�-\��-�m=��#&�#��
���ɍZ'�
��I�®	ȥ�mycf�H#����BHC�2��>%	y	�Zs�1��#;hH&;�C�H;Lpj�q�&�l��g}F �pv�
�X�M�-7D�l׿X> �׼�n?���K& \ɀx�^}|a�]�s�%�P��/�Q|��%�!޴��U;��nZQvHp`�d��yVFEwyvc�sk#�RT
s�n��q.W��X���P�#�W��۵��pf) �(OS�`��>�R��ԏB��c�~�Wy��#��cuվ��Œ�z7�MWՔWm����}�
�"�t;�`Ƒ؎�5C��H��H��H�#�,|�#i�'���F(c{v��=���J��7C�������AB�4�]�ܣ�J^>�ɛޏ{��4z���aQ��!�*�}j�5��B��n���H�/�U큵�T�`��3!)��!tT���d+J����l�j'鲵�+K"p��
�E)"�=)�<�p�jg�l�K���Ά�ݨ�	�oqĖ
�� ��0`׀���4o&R�?�o�xS�
+鑘���A�<��X��i�3�
�_���IM
�M�
^&[Z��>�|�H( �b
EB3�BA
5r�����^nбY���3�ˇ5|�Cq�
�j
��ʦ�=XJ
\��B|.s>.z#����G�4>:Z�pٳ2az+6��.
�U�
1�B�=_!Di���['/D�g4�����j�^���>\��~[J�
:���f�"R�gS���=3�+�Q����	%P����M����q�v1�6O�y5_�x
+�.g��7��?!
+�A����jŋ�Y��H63A:��`�{>
�����MW�7�q�;ғ4�7DY������x5oD5G���͜��$Ax�*�>`Y�M
��%W-+��z�	�c����=LT�2ݽ��@w/�6���
;�
+endstream
+endobj
+2382 0 obj <<
+/Type /Page
+/Contents 2383 0 R
+/Resources 2381 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Group 2340 0 R
+/Annots [ 2354 0 R 2355 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2368 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2380 0 R ]
+>> endobj
+2339 0 obj <<
+/Type /XObject
+/Subtype /Form
+/FormType 1
+/PTEX.FileName (./classparma__polyhedra__library_1_1Polyhedron__inherit__graph.pdf)
+/PTEX.PageNumber 1
+/PTEX.InfoDict 2398 0 R
+/BBox [0 0 210 192]
+/Group 2340 0 R
+/Resources <<
+/ExtGState <<
+/a0 <<
+/CA 1
+/ca 1
+>>
+>>/Font << /f-0-0 2399 0 R>>
+>>
+/Length 385
+/Filter /FlateDecode
+>>
+stream
+x��SMK1��W��tf�l�

+"<�

J�_"�`=����M�m+*
e��%��M�˼)� 9
&BE5�~����o`4Gؼ���
�>„Nj�� 5�R�-��q�����n�8��gUXc��ۈ5��\���Y"�
p�I� �U<��rYdܪ�c��� [��
|� �N��V�
+�ZM���!��TY+�$cd�)��L,	M	�TI������)�By:�P�"�(b�
��(R�	X�Y;QF��4쩶B��.�+�S�:�Q����Lؕ�n�f蝥�:�_`���q~i[c��k�vr(�t���aX�6���a��F���Di�#�<Qӵ?rO��

�&��8ܡ�	���k
5,��{Ey/?V$]j�\��_�[�0�ʓ:�՝�Go �
+endstream
+endobj
+2398 0 obj
+<<
+/Creator (cairo 1.10.2 \(http://cairographics.org\))
+/Producer (cairo 1.10.2 \(http://cairographics.org\))
+>>
+endobj
+2399 0 obj
+<<
+/Type /Font
+/Subtype /Type0
+/BaseFont /TRNMIF+FreeSans
+/Encoding /Identity-H
+/DescendantFonts [ 2400 0 R]
+/ToUnicode 2401 0 R
+>>
+endobj
+2400 0 obj
+<<
+/Type /Font
+/Subtype /CIDFontType2
+/BaseFont /TRNMIF+FreeSans
+/CIDSystemInfo <<
+/Registry (Adobe)
+/Ordering (Identity)
+/Supplement 0
+>>
+/FontDescriptor 2402 0 R
+/W [ 0 [ 700 556 556 333 833 556 556 222 500 556 556 556 222 556 278 667 556 722]]
+>>
+endobj
+2401 0 obj
+<<
+/Length 2403 0 R
+/Filter /FlateDecode
+>>
+stream
+x�]��j�0E���Y���G^
CI7^�A�~�,�RA-
YY��+�*����3W�/�skM��ݏ��@�X�yo^2�|56++RF���.�<��y
+<�V�Y]S��)��6Oj��!#���+��^i�u��9���@E�4�X��^�{S���VE݄ym��c��hI��''${a���E\
�:�&c����	�^�o�Syˋ�T4��D���V�����AGh+�@�SΠ3�G� 
@=h��է@k/��b�F/��,P	��|�]�c�{	f��{���}
<]uJz��X��7�ŕ�_���
+endstream
+endobj
+2402 0 obj
+<<
+/Type /FontDescriptor
+/FontName /TRNMIF+FreeSans
+/FontFamily (Free Sans)
+/Flags 4
+/FontBBox [ -1166 -469 1518 1050]
+/ItalicAngle 0
+/Ascent 1000
+/Descent -300
+/CapHeight 1050
+/StemV 80
+/StemH 80
+/FontFile2 2404 0 R
+>>
+endobj
+2403 0 obj
+298
+endobj
+2404 0 obj
+<<
+/Length 2405 0 R
+/Filter /FlateDecode
+/Length1 1744
+>>
+stream
+x�UU[pe>��IzIh���^PҴiz�\JiK���4�
+�@h�-I�4-�J
+��_
+��02>�<8��#<��R/�耀N�`
�n<�i ��/����9�wο
 r�
(X�$��0w�1�|jw�M
gS�x�����>v�� ��:g
��D@��+b����|�{ E�=�Ԟ(@�ʣ(�'����]ʡ�)�0�  
���`��F����J�&��Y��Z�C{�Ι6S%-�(0������:��T^�j�Z=gs:�f�s"v��X��=O(�����`�책��
�8u1��Lcp�Y��C
�� �!��l.
z5W���ޖ�j#��n6�+r46g+)`�z��jt�>/Ϥ�T��Hpg��LS�BKY�FskSs�<�9P<���$3��v	W�閼J���6���
s�erEI��l��
+_��DTjU}��@'Nn�i
�Dǚj�l��y�_�aQ��״o�p��vm�<Ӆ`��3FD�f-Nz���.��
����y����LT��X���u
�I��
+m>Ϯ�J�n:D=�X'���Y�p�f��X��C��:4]+�Y�4<�
Q�,
��^8��
+��:�i��[��\"�K��drGtJ�E����@�Y���@Y|�M��u�5
+
#��!��BNC�
ݩ��T\ʖ������q�Z=�X�S�´@�A�'r
}ip}�
�f�"':���p���0L&]�hH�A����U~�0+a�`�Ī�� �F�3pqD�~
z�Q��)����W�:4��F�o�X',3�[��|���oY"�\_����܃�3|� ��0�B(�LY�Crﰣ�`�OY��W
tN�vp<�8���N�y��΍�pz+)
N�HM
GR�׃�Oe�ȮKgr�
+������Z<���D�J��c�]5��������Mn�ݔ.�+a$��m'�
�`��\{��]��XW1����X�8�1V>��VQ�xY�M/�vs-���;I}bN^���:�Pf��
]N���B��bM4O�_���7mm�
+7��u�e
��Y2��$��[�yzS����� ˦b���⨱�������+��ԑ��C#�Qx����ȒQ�}%�蝷?
�np��d�d�U
DZ� ��
�L��l:�3��bSK
+h��"	�x^r��@.�!OJP�ۡ �C
,dN���eٮ–GT���������}B�|EV�b.d����~�!��O��6�W���~E�
�u��QC��ɸ��֥�\��K
���
��yD{����

K�~ �?K�;BD�X9r�7H�h	4��
�b�"U8�^vL�IY��0
+s��Jr��\��ѧq�
+endstream
+endobj
+2405 0 obj
+1334
+endobj
+2340 0 obj
+<<
+/Type /Group
+/S /Transparency
+/CS /DeviceRGB
+>>endobj
+2354 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 415.454 242.354 426.358]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a812e3b442d41612ca88f8905d6cb49bd) >>
+>> endobj
+2355 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 389.917 242.663 400.821]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a60ee53b704270f784fad7eab1a542bfd) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 364.381 229.362 375.285]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 364.381 275.021 375.285]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4211b10c19024d7056b4e36e4d2b7cff) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 338.845 235.988 349.749]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 338.845 288.271 349.749]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ae17f1279a841b6efc0efa6441878c025) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 313.309 229.362 324.213]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 313.309 322.621 324.213]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_afd99082f48df543223c3152ca1fe600c) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 287.773 235.988 298.677]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 287.773 335.872 298.677]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a34c73f38bc99dbcb38cc7214e1e0e82d) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 251.277 224.093 262.181]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1680eecb6021ebdb33388e32932e6ecc) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 226.115 232.541 236.645]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a513cc77545233d96c437ba7e1d001557) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 200.579 233.497 211.109]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a2b74eef4fc5f2e35ba14f734f0e8e167) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 175.042 230.169 185.573]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac2e30d8774b244ed1bd206f76e786745) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 149.133 282.204 160.037]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3527c6d35935d9860c07b31970d6dfc4) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 123.596 278.727 134.5]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7ce8a057ee2d4a20b8820da2bb6dc2af) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 98.434 227.958 108.964]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1217cb151cbdbbcf4391987b9e2d232c) >>
+>> endobj
+2371 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.774 98.434 266.961 108.964]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2372 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 74.333 269.164 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab6edbecd120074f2661ed2cd06ce1cd1) >>
+>> endobj
+2373 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.979 74.333 350.229 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2384 0 obj <<
+/D [2382 0 R /XYZ 89 770.89 null]
+>> endobj
+2385 0 obj <<
+/D [2382 0 R /XYZ 90 455.999 null]
+>> endobj
+2386 0 obj <<
+/D [2382 0 R /XYZ 90 430.44 null]
+>> endobj
+2387 0 obj <<
+/D [2382 0 R /XYZ 90 405.093 null]
+>> endobj
+2388 0 obj <<
+/D [2382 0 R /XYZ 90 379.557 null]
+>> endobj
+2389 0 obj <<
+/D [2382 0 R /XYZ 90 354.021 null]
+>> endobj
+2390 0 obj <<
+/D [2382 0 R /XYZ 90 328.484 null]
+>> endobj
+2391 0 obj <<
+/D [2382 0 R /XYZ 90 302.948 null]
+>> endobj
+2392 0 obj <<
+/D [2382 0 R /XYZ 90 266.453 null]
+>> endobj
+2393 0 obj <<
+/D [2382 0 R /XYZ 90 240.917 null]
+>> endobj
+2394 0 obj <<
+/D [2382 0 R /XYZ 90 215.381 null]
+>> endobj
+2395 0 obj <<
+/D [2382 0 R /XYZ 90 189.844 null]
+>> endobj
+2396 0 obj <<
+/D [2382 0 R /XYZ 90 164.308 null]
+>> endobj
+2397 0 obj <<
+/D [2382 0 R /XYZ 90 138.772 null]
+>> endobj
+2381 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F81 426 0 R /F82 428 0 R /F90 507 0 R /F101 1162 0 R /F72 326 0 R >>
+/XObject << /Im15 2339 0 R /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2457 0 obj <<
+/Length 2077      
+/Filter /FlateDecode
+>>
+stream
+x��[�r�6}�W��L�Bd�ә�M:M�ƍݧ���IHb+�
+/vԯ�)��DZ�'��i	�vϞ],(l�
l�2x~58{ɱ�"צ�q55\lp�E�
���!wF]�2�� ��0I}z�����_]��/���)�[�;�
���� >~e`�\ǸU�"ä
�.����������PÁ�٦\11���	A��
y'�"�3�����{=�aDX��<-D9hK$e�ۤNGcj��C/V�|uW�ɑCk��2�V���"�V3MG�5L"��:<�Zsܢ٥ȭ�6�6�Y�
���*۞��7}>�6E�ic��Cx9����,����x{y8���fD�����,����L❚X�9�L�$�\�E"��65ȁ��w��cᥓ`n�ea��rq0D����&ضE�I� 9��f�%�~ہ+��nd����Mv��ͺ��l:��Oa�+�B��bI���42��ٞ��dx��������8o���I|,A�����|5+�v�i;`p�\˪�<��}�R�ε��S�=�C9bˉ�:jV�����,d�V5��.A�gE�7>�E�)��;�v���L�7ÓQ�
O�P�'������tR𶊬�
'y)XD�|D�Z��|W�͐�H
H=vSOMR���.�)F��N6RY���H4������C_F�\�r�������{�� �\? ���`�B�֍�(�d�)�O�e����}*R?�|LXB'���
Fa�J>R��G��I>�c69�u�6��x��L�u�O%H����t�a�ӫ>�.�C at d����������?L��j���|zq��=��=���;l��{� �w�^ޱY'���%����ۯx��?$�"b�zy���jfO�R�r�c��C�T�5���2	!����\��Z�B,Qb���Y
+��-M��V�iU�aQ
������ ��v��
%�>�}���s���O��C�(}�C�=���7�.��jr�ēwb���sZ�GOn�|~��/(���
�R�2�!M�F,oc�4x�d��<Ya<�ڨ��qc�l3A��6��D�w�	[ȨAX��1��*�4×#8T����^
\F2�s" E^ ��	�1.
�" �dU+
�������h�nf�P�n_,A*��)� ���艔6��P����G"$a�N|U	�Ɂ]����Bۻ�Zr���G�Bɦ�
�����!�86��Ԉ���9�̣��:�Qst'ؚ�
qޅ����B-Ca�i�f� ���g����< (��S"�d*8��Z�����M�p�L�O
����HR�<�vJ_tds�
G@��뿅��O�}T�m��u�b���^6?O����::辕TWe�@�q�z�s8r׍�#�XH����:�Gp��
�d�E{�I$�$]M�xr��Ev4��P�
F�"T�Օ@-�
�ict�L��Ş<����܆{�Aر���'�����P�vO��_�/J�C]��~�
���b��Q�ɵ0��n;�7�Pdw{gk��
��(+�m�3��e&�\���z����1II6�]zZ�z���������7M�OT��^�������ᄲV�DЭ���c ]���9u����S`�|.������)
�Xܹf���7^zq��\�d��L^E5�v���۝0PL$Q ����r��Z��a$�v�E:"�tq��e���FD��z~Y��Fw1�{��|�i&|��t��څ�@�f%�cI�&�!Ӓ�qdB
���7JYtD_L���F��©:��ہ�'��v��q��l]p�4��U��h��l�l�s{U��ܲ͞R�Ջ��6wV,ri�
i#n>��s/4���?�`��L�M�[󮋘U��~�
,ƛXj��(q����΃"�eN�$߫��'���[w�d��Zn���d{�_��q����mc"��-W�<�� #L8����g�e5Gp�kČ��7y�@��9��8s�3�_��Re����/^��<i�
���xVx3=�W�X:���N/B&�ndYìJqQU�2�(K�	j�2��
�\�*ʭ�S��7����\�t] ��|����u1Gΐ��6��9�k��ޒ}�����a���;��M��K
+endstream
+endobj
+2456 0 obj <<
+/Type /Page
+/Contents 2457 0 R
+/Resources 2455 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2269 0 R
+/Annots [ 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2378 0 R 2379 0 R 2408 0 R 2409 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2414 0 R 2415 0 R 2416 0 R 2417 0 R 2418 0 R 2419 0 R 2420 0 R 2421 0 R 2422 0 R 2423 0 R 2424 0 R 2425 0 R 2426 0 R 2427 0 R 2428 0 R 2429 0 R 2430 0 R 2431 0 R 2432 0 R 2433 0 R 2434 0 R 2435 0 R 2436 0 R 2437 0 R 2438 0 R 2439 0 R 2440 0 R 2441 0 R 2442 0 R 2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2448 0 R 2449 0 R 2454 0 R ]
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 697.14 269.771 708.044]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a6e20494d2e7c618d4c6aeab45bac30) >>
+>> endobj
+2375 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.587 697.14 350.836 708.044]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2376 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 673.514 229.095 684.418]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a945f11d66765e2f542f9c4fb654589d2) >>
+>> endobj
+2377 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 673.514 311.281 684.418]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2378 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 673.514 382.456 684.418]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2379 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 673.514 460.276 684.418]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2408 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 626.973 228.916 637.877]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7e4588dc8f29c46edfb1fa34e6a9d424) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 626.973 311.841 637.877]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2410 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 626.973 384.675 637.877]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2411 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 626.973 461.385 637.877]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 580.433 229.095 591.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a110353a7864529b85d5465ac1bce2670) >>
+>> endobj
+2413 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 580.433 311.281 591.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2414 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 580.433 382.456 591.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2415 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 580.433 460.276 591.337]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2416 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.037 568.477 308.86 579.381]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2417 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 533.892 228.916 544.796]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8f50e6dcc51327c56d99dc964961d6a2) >>
+>> endobj
+2418 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 533.892 311.841 544.796]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2419 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 533.892 384.675 544.796]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2420 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 533.892 461.385 544.796]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.383 521.937 307.206 532.841]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 487.352 232.132 498.255]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 487.352 287.753 498.255]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a52ae035a37af93cc3115f3a45f4e032c) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 487.352 335.075 498.255]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2425 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 463.725 232.122 474.629]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.621 463.725 287.743 474.629]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abfd8a93992bbf17101c53d68a44d9986) >>
+>> endobj
+2427 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.559 463.725 333.381 474.629]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2428 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 440.099 232.132 451.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+2429 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 440.099 287.753 451.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac76c332a5b267f6b6bd749cc3b9e192e) >>
+>> endobj
+2430 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 440.099 341.7 451.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 416.472 220.765 427.376]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a62737490fa8ee8763ee2ff8b54847670) >>
+>> endobj
+2432 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.581 416.472 272.511 427.376]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 392.846 253.422 403.75]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a950e7082860fadc45452ffe241de4488) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.238 392.846 305.168 403.75]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 369.219 253.432 380.123]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8a9706372c9b371938f04b68516bb407) >>
+>> endobj
+2436 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.248 369.219 305.178 380.123]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2437 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 345.593 213.014 356.497]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab780403b7f3997c5f5703ea0218c2841) >>
+>> endobj
+2438 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.83 345.593 264.76 356.497]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2439 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.127 320.258 186.574 331.162]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5c577b51724616ef96f58ce0f2fec482) >>
+>> endobj
+2440 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.546 295.296 205.831 305.826]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1e5d8d199e0bcd20aeacd72b2fef10f6) >>
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 271.296 282.603 282.2]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ae32bc538fedce99e602767b1065ad599) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 245.961 268.376 256.865]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abf4b919c3b8d7dd958aab203fcabc4b4) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 220.626 212.486 231.53]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a284af200f2e06dcfc079a58b3d4d6a59) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 195.291 226.314 206.195]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_afdef7f8fe0ba899b496aaa369780dfda) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 172.038 201.946 182.568]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3d3179300b5bf2b41a40b5b76650f8e7) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 111.143 232.192 121.673]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a4399e57484eec3301f8b88011c53c35b) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 111.143 279.514 121.673]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 87.143 238.818 98.047]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3797a521b54434e13ed2843ebd88a8c1) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.633 87.143 292.765 98.047]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2458 0 obj <<
+/D [2456 0 R /XYZ 89 770.89 null]
+>> endobj
+2459 0 obj <<
+/D [2456 0 R /XYZ 90 360.718 null]
+>> endobj
+2460 0 obj <<
+/D [2456 0 R /XYZ 90 335.383 null]
+>> endobj
+2461 0 obj <<
+/D [2456 0 R /XYZ 90 286.421 null]
+>> endobj
+2462 0 obj <<
+/D [2456 0 R /XYZ 90 261.086 null]
+>> endobj
+2463 0 obj <<
+/D [2456 0 R /XYZ 90 235.751 null]
+>> endobj
+2464 0 obj <<
+/D [2456 0 R /XYZ 90 186.789 null]
+>> endobj
+2455 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F90 507 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2540 0 obj <<
+/Length 2798      
+/Filter /FlateDecode
+>>
+stream
+x��\[s�H~���mE���{��m6;�Jv�*�d�%��d��jAb�p���=}�����1��2/�r�����
������u���Wׯ
i�%����#�G�k$$|��>#���1�Q����l����y4]&7y���
+�ݘ��_�0���
+
�ZF����>���8�� �kxD��o�^�����+:�q:���lu��7<���#��G_�M��
��ч��\ao��%�f���'!�g�gJ�
�|l�i"��4*�1���� v��[󒹿�h�/�����h>�βtS�Q��C���X�N!�����ݦ�Wm"fBW���됎B�Zrc5�Hr2����V�8��xD� �Y�޹٭;S��Ÿ��c�&���5Di?������66�"�IyK��1�`2�8���(`/�(�""���%m*P���T0���wٶp�WI���$H�H�EC=�c��x�]p�	 jD� �&4dH��	$
/�p�|k����?|,�O�qی���8�d�
G�e{io�=ўmT�PWq���-D\�Z�=��ê/eD�7�`�bA�����>fQ�>��;bٯѬXz'��Z���"��'v��@-���>`��v
+�h<�0�''��@J*}������4���U��sа5+��ԙ��&��R�>'��I{��=m��Uf�ZrǬ9M�e���Z�2�7�$e��ǃN�D"��<�~�I�Xt��׆?
y�B����;0
~����

�\S�e2��w0�`���:��FD�����9�OZ�z�(R(Յ)I�PrrbR���΄�
)�z�	
�?#@���K�̠8�ij"��)���"==�y���>�;gU�Ѫ�c�J�I��j_[TIc�
xT��p)�Ƨ
��H���E�����Ȅ�~K�k����{&����6r��Y���f�7^�-��?�y�B�ե�o�^���&ۦ��.���>0�G�OaD{��;�da���Sd�
<x�v�yIYB�A��rb|@B�;�m��;Y����RQ
��{a�T$�x/�������`�
��z[��\��_M��ʀ_⸕�)(՟%_�e�
���E�;[$�h9�-��6�K��3�#,��eHRT�)�KYs|zX�l��
wy(���Rp�<��7Y�����7�j�Lnw���֔@�U�k��4ӝ�r 3��9q�8.&Uc3�w�.8�BgyR
g��T"�6�)=�H?���
G��SV!,�7�ڢ}��F�Mܦ�F�W
�dSW���i<7mfN
֥���`�Q�l����b���n,��ƷiG�h�A���h�wL	�<�n���ߛ1`��8��:?'i
�ӟ����A��r�w=Dޫ,�
�%q{�z
������')
�Z�!�3�Cj��jlF�
�V�=Ѳ�k��S]���5���
+��)S�!����'�����k�
�������$
+U�#�;ۚ/0�j�}�����^�Lʩ
@
���@�����
�p%�ٵ9K^T��&˞���R�
�4"j I�
�a�Mq&�_��4��x'4�����I*��;�����?D�Ҋ!�J
���S�QC��G�r!��"a����
p�`�t[
P�d���c�!R򂁁b���
+b=��Z��� ޠ�=
�
  ny3
�
��M��t(���sb��K�S(��j�0�)4\�C ���( �0CÎʁ+�)?i
_8� ��!Ԯmd�)���61q/`��;.Ti�܆4)j������o�Dd�bx�"�"
�C�h��"���aú�]u��W��2���Xg7�5�+e�, ��T! ��@ �k�b0�B���4vq��Uet?*(�׽e��'
+��$�m`�K�Z���
�&L od�f!"��^-�
֝
�	�ep �����RT(�d ���L�z$��<$)%�lQ�A O�@����p�
�yL�q����D�q^�yp

��;"RؕId�A`;�����=�`�䐡�
�j�=
ᶧ�RZ�{�\M��˽p�����=�{~6��*�C	�D{/
+:�a`&25�5RT=!�S��
�z�X��M7Vї���!���`�q
-�
�!����X�Sk�s���w�a��ɖ�� ���ݪG��T������	Rw�x���
��q��.�X�
�Nl��a]
���g��X���Oc��ئ��p �:��W3�$?
њ�
�٭W�
��"�uq�4Q_^:����3�P���J���I��P��'
+#�y�����oFh��<�Ww
�4�����.߉
�t^F��&7�]{/�e�MB),"�p�ТTMT
ޕ��P�fݝ@�"�wa�X|���`�1�
�R!�GJJ�=]#��k�+]\��/�)C9P�q�����
KmZA�\h��^�1PT��' �C�y�!@ـp4��:�?S��|��<1le����@�,P�l;f'�c�ǎ�� by�9t,�e�l39^
�&�{��m��6O�f��Vh6 AU
�b'��
+��g>m
�gAb��:3ܱT���
+q�g+aǠ���; K�`��
�MFD7l>�W��u�/1����CSKV?2M�x,d�Mޅ �=)D��~�Ǽ�{V�8��z
���2vb��t�:�uI�f4��
�_30�MX�ݏ4p���A��C�{����62�tl۝�9J[
���1vk�"*�y����mb>���m��҄�eJ��
I��
������wv�oT~����	ZӞ���W-�wE������v����e��Y�r
�v�e��VY^m���+���Z��&HJZ:���F&�w�?ۋ������3���s��X�Z�
+endstream
+endobj
+2539 0 obj <<
+/Type /Page
+/Contents 2540 0 R
+/Resources 2538 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2450 0 R 2451 0 R 2452 0 R 2453 0 R 2480 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2485 0 R 2486 0 R 2487 0 R 2488 0 R 2489 0 R 2490 0 R 2491 0 R 2492 0 R 2493 0 R 2494 0 R 2495 0 R 2496 0 R 2497 0 R 2498 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2503 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2509 0 R 2510 0 R 2511 0 R 2512 0 R 2513 0 R 2514 0 R 2515 0 R 2516 0 R 2517 0 R 2518 0 R 2519 0 R 2520 0 R 2521 0 R 2522 0 R 2523 0 R 2524 0 R 2525 0 R 2526 0 R 2527 0 R 2528 0 R 2529  [...]
+>> endobj
+2450 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 707.957 236.068 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a95c109d667deed44698d16eb25efef9d) >>
+>> endobj
+2451 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 707.957 317.71 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2452 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 683.806 242.693 694.71]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aa01e5f8c42361cc03aba32786c4f9e3d) >>
+>> endobj
+2453 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.509 683.806 330.961 694.71]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2480 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 649.07 263.186 659.601]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acdf10439693c83932d0de9a5cf35b396) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.001 649.07 310.507 659.601]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+2482 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 624.546 269.811 635.45]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af04e7f91e1cfaf69dcee2df81c3d64c3) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.627 624.546 323.758 635.45]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+2484 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 600.395 267.061 611.299]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af26aee5944d076192d5f6a12086c28f7) >>
+>> endobj
+2485 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 600.395 348.704 611.299]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2486 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 576.244 273.686 587.148]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a66510fe1afe13b5f7334057bc96efa36) >>
+>> endobj
+2487 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.502 576.244 361.955 587.148]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+2488 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 552.094 249.905 562.998]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6be74fc6a3ef7d8e1c1939536af2a943) >>
+>> endobj
+2489 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.721 552.094 301.651 562.998]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2490 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 527.943 255.993 538.847]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_acd5b7ab06d657819656175f7d6a0cd0d) >>
+>> endobj
+2491 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.809 527.943 307.739 538.847]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2492 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 503.792 243.549 514.696]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6e35f9362b9f7ed65be59ae07f1da622) >>
+>> endobj
+2493 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.365 503.792 295.295 514.696]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 479.641 251.011 490.545]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aef8d1e4a767f5ea79384588d0e19b83c) >>
+>> endobj
+2495 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.827 479.641 302.757 490.545]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 455.491 282.005 466.394]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a6c51199902356b837c63915caaab7a40) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 429.347 311.394 440.251]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3d6404d09696f8b693b9260d267df2c3) >>
+>> endobj
+2498 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.21 429.347 363.14 440.251]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2499 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 394.238 225.298 405.142]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a99adfdf68b5bee7b3963a15c4183e136) >>
+>> endobj
+2500 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.114 394.238 264.301 405.142]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2501 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.856 394.238 359.105 405.142]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2502 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.74 394.238 427.757 405.142]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2503 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 359.128 238.02 370.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a501e48144147e2563edc52dcd49503f9) >>
+>> endobj
+2504 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.836 359.128 277.024 370.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2505 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.578 359.128 371.827 370.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2506 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.462 359.128 440.479 370.032]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.335 324.018 265.386 334.922]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a701a35ba2b5418869a471932535cf9e5) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.599 324.018 304.787 334.922]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.235 324.018 400.485 334.922]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 324.018 513.996 334.922]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2511 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.176 312.063 208.193 322.967]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2512 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.345 275.751 276.117 286.654]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a1b75c266a974976557206ce451e45967) >>
+>> endobj
+2513 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.335 275.751 314.523 286.654]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2514 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.001 275.751 408.251 286.654]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2515 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.542 275.751 519.792 286.654]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2516 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.176 263.795 208.193 274.699]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2517 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.436 227.483 276.092 238.387]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a5955d6b18f4135b382ca0db2479c11ac) >>
+>> endobj
+2518 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.856 227.483 315.043 238.387]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2519 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.503 227.483 404.243 238.387]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 227.483 513.996 238.387]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2521 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.232 215.528 193.249 226.432]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2522 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.345 180.418 287.723 191.322]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ae899d1e624241d1328d6c6421f5485e6) >>
+>> endobj
+2523 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.941 180.418 326.129 191.322]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2524 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.607 180.418 414.347 191.322]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+2525 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.869 180.418 523.118 191.322]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2526 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.232 168.463 193.249 179.367]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+2527 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.237 133.353 275.893 144.257]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a920814c13d635e9a503551b0988c2958) >>
+>> endobj
+2528 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.557 133.353 356.806 144.257]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2529 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.639 133.353 445.379 144.257]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+2530 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 133.353 513.996 144.257]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 121.398 171.361 132.302]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.345 86.288 287.723 97.192]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a18afe96aac90a2f8f635fb0e3722fcc3) >>
+>> endobj
+2532 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.941 86.288 368.191 97.192]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2533 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.221 86.288 455.961 97.192]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.482 86.288 513.996 97.192]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 74.333 176.342 85.237]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+2537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2541 0 obj <<
+/D [2539 0 R /XYZ 89 770.89 null]
+>> endobj
+2542 0 obj <<
+/D [2539 0 R /XYZ 90 470.878 null]
+>> endobj
+2538 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F38 2543 0 R /F103 2544 0 R /F101 1162 0 R /F42 303 0 R /F102 2545 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2613 0 obj <<
+/Length 2450      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys��~ׯ�[Ȫ�h
�I�Re{��:kDZ�<��bAĐB� � (����9pIK��T^�!������;
;o.^^_\���#���\�
�
��{�+r>�<����ü ��$���_?\����J�]�t}���.�3�#?pf���_���wFL�FJ
�2x.����]`KJ��I
� i��H#.F�>!�Cȋ��i1�P���L�s�hhf� ��T���qau��
y�oI��*3$�$
<Z�?�'�l�}�भ6qykV4[+9+����6Ԙ�S��	���?22
�|L���i*ۋ-�2�RC���J����byk)u�Ñ�}
`3#�a(�Œ��Z�qD]י���1���rpc!վ���E�F��@�hs+͙�(�0�C>`j�
>DEg@;�+�pl�
���b��dKӖ�,�4����v �RPV�Q.a� �"�׬@Z�*�_���J9!��0s��=�Jyg��y�1
�@���ѝ‰=�ݘ�QGv���|aU����F��piQ�a�N�U8��(NdZX�7Rÿ`��.8�ǘ2
+�8�Yʡ�w��0�UH��aBWq(�\,��j�P��֥2O��l���(��J̬ ��A�%����Cj� �ڪ%;j����S��4;L
�
���wa>�
"�րJ0!F�6}q��
�R4&����iw�	
\�EOk�
� N�ê�"�o��X-�W����� ���5:�B,���B�v����

l�u4����USH���˪��r�0�!���a���L�Fs�wL�:���
A�[��A��4�}8�}�j;7�7q$��!�C�c����(6�۱�5ˡ�r;�$�2�V�U�:0�
��ZN2C:<�z��R��.d>�
� �ڭ���j��X5�`�hWњ�p/@x����H70�c��ZQ�9��mP܎)��bRIֆ��H9��(�O",L�Au�P�
�
X�#
���u'= }����t�V
������,s��eAhy�>��F��m�C?�>��к,4�ج��s�m�=
+Kr9�	���M]��
+��գ��W��]m�Րy�
<�I��^ZYr�.
2
�x��X�0�p��T�0���~;
��i���Y��I�*���P0�vij�
�b5��=��(ډ~����R�h(�Ye����2/�heఛ�#���Z,�f��fZ6�h3�%b�������l
�T�����Ξw-�b�W�W�
#�~�P`�pWy�/��/�W�m
	��@�I;/��,����Z��@
+ ay�(�A�8g`՜�

+�n���=y�d�2�͔��0�jI��#U����~LQ�!0>{i'�I�&���U��I���r�eO�U6�s������ؑ�7�+l at M�S��6^���h�5
 ,
�i�<� hU����ϴ;��̄���5ӡ]y�̪q:c���Ѥ[&�N�����N��2O���Tn&��`;:��io��q #�#�
8qn�h�{�„'��]\��G�=^���P6��v��`2�Vqe:v�ʡ��rEyU*�Ҩ��<
�)��IU�V�
4ό�9��O�
~������dQ>\���q�1G`��}��Ա���`�����0���7#uƒ��_�C
��\���G��G�E3/�p9��GC�����@�J#]��e�c#v���f6�k�ess&�؃
Yg��2�
ܼ�f�����aE����:
��^i���|M��`k(��9�?�꽯3��1Ԟ �e\�*�R]�7Z�s#��f��5`�5���:\�������8�M�Tg�%a�j5�2@�V�zs���f�zѵ�U�[���m�>Z
��U� ��elyl��g�,����,�W�
�$x'��J�F]�ӫ-p?�jϬE5k����Y
	
T�U��tǢ�:jսƠ
~G� 9��9��i����3�T<OmL�qӬ��"Z� }�
+�Sׯ�ʉe��ϧ��7�M]<�̮
dms����\v]����:Y
�R�ʎ��=��}���I�w��lm1d�b��W��)~ w���'(�V�#P5d8*p��.F4��a�Ũ�2�1���^qC�p�J|�p��ŞkXc
ص��a�"�>:��N}M<�&o��.�`���$���Avv��5*��ޮ��gS�m��0�"[k*֫�̧78
+K�sp��Q��]{}��`����f
̆���՗o?���3�)����{��~��'L]X��3�~bd{�
!���@��Q~���[_<'%������|	
�X��_�zD��g�G�5�#���5��!������F��>՝�����?'��1�Ś�&�ޤYP��@�C‡sh�q�t�M��.;}��4ޅJ
MMؼ�%L�pa* �s}��*�����ƜW���0]W�5��F��O6���mt%�j�9�o�I���o�s����۲\����f�(d�@ �]K�L�}�T̫�[��*&��$�-���
�6�E
+endstream
+endobj
+2612 0 obj <<
+/Type /Page
+/Contents 2613 0 R
+/Resources 2611 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2535 0 R 2536 0 R 2568 0 R 2569 0 R 2570 0 R 2571 0 R 2572 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R 2577 0 R 2578 0 R 2579 0 R 2580 0 R 2581 0 R 2582 0 R 2583 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R 2589 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R 2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R 2601 0 R 2602 0 R 2603 0 R 2610 0 R ]
+>> endobj
+2535 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 686.059 293.621 696.963]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7f35fe17c4c48b15ddb66e52e110c2bd) >>
+>> endobj
+2536 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.437 686.059 332.624 696.963]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2568 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 651.229 297.497 662.133]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ada449a9c1a600893585256666d6fe331) >>
+>> endobj
+2569 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.312 651.229 358.089 662.133]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2570 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 616.399 240.501 627.303]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac034ebc28209bd38f90ba23323f65c41) >>
+>> endobj
+2571 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.317 616.399 292.247 627.303]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2572 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 554.119 193.906 565.023]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aaec18d4d5bd29cd38e153b4602e027da) >>
+>> endobj
+2573 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.722 554.119 245.652 565.023]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2574 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 530.248 316.306 541.152]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a0e578573084aafbf76c85db7dd1363be) >>
+>> endobj
+2575 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 506.377 317.412 517.281]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a3cdef8e8e717e8aae495db38ab2f3555) >>
+>> endobj
+2576 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 482.506 250.443 493.41]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab11bfde2a1ce71a607644a38cb914b13) >>
+>> endobj
+2577 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.259 482.506 302.189 493.41]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2578 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 458.635 280.59 469.539]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8561bc8f545197343c8cf1935e794af3) >>
+>> endobj
+2579 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.406 458.635 341.182 469.539]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2580 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 434.764 311.026 445.668]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a86d72df251b72aa131ecdad46fe9a860) >>
+>> endobj
+2581 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 399.934 275.759 410.838]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_afba20cade6fa4fcd26b81086a02923e5) >>
+>> endobj
+2582 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.574 399.934 314.762 410.838]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2583 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 376.063 267.061 386.967]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a427ee580c9a357d0e154cd2520dbe33a) >>
+>> endobj
+2584 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 376.063 327.653 386.967]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+2585 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.481 376.063 384.668 386.967]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2586 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 352.192 268.167 363.096]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a00413902e11b669bca9a8c81438202ee) >>
+>> endobj
+2587 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.983 352.192 340.246 363.096]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+2588 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 264.009 227.679 274.913]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2589 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 264.009 271.664 274.913]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9dd3a06d94e54ca59e0c41901d9f9a06) >>
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 238.185 227.679 249.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2591 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 238.185 319.264 249.089]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ab8ef27e25132c083ae1b59d3162fa21a) >>
+>> endobj
+2592 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 212.361 230.519 223.265]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_abdf75082ed3ae874de8fa5cb0198e080) >>
+>> endobj
+2593 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.334 212.361 276.157 223.265]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+2594 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 188.489 234.394 199.393]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a73a395dac9898b73e0782a47f4537cd7) >>
+>> endobj
+2595 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.21 188.489 314.353 199.393]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+2596 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 164.618 241.617 175.522]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a56e3a5f9a94fb76a527fedea1bbd83cd) >>
+>> endobj
+2597 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.432 164.618 293.362 175.522]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2598 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 138.794 266.244 149.698]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad38a887658485f32f589a57a74e6a78c) >>
+>> endobj
+2599 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.06 138.794 317.99 149.698]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 112.97 282.015 123.874]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a81715f656d39c399cf4d63b72635194c) >>
+>> endobj
+2601 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.831 112.97 333.761 123.874]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2602 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 89.099 262.638 100.003]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a268b22472143daa3e8f2d0828d1ad565) >>
+>> endobj
+2603 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.454 89.099 314.384 100.003]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2614 0 obj <<
+/D [2612 0 R /XYZ 89 770.89 null]
+>> endobj
+2615 0 obj <<
+/D [2612 0 R /XYZ 90 279.053 null]
+>> endobj
+2616 0 obj <<
+/D [2612 0 R /XYZ 90 253.432 null]
+>> endobj
+2617 0 obj <<
+/D [2612 0 R /XYZ 90 179.866 null]
+>> endobj
+2618 0 obj <<
+/D [2612 0 R /XYZ 90 154.042 null]
+>> endobj
+2611 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F90 507 0 R /F101 1162 0 R /F42 303 0 R /F102 2545 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2648 0 obj <<
+/Length 2598      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��H~�_��b)��
P�h��䶓L2ʥw
6�h�v���������
_�8��U^�2�V�;竢�7�����W��%�bG<�n��z2�I�����3JB13J��L�Er�,�w�L���M��#I}�fĩ��|4�!��̓���w�mj���$�� �+����zy������M�cֆ�H�M����_z��Xy�ͤ�p���{���:whۭ��c�DxC2F��}�<4��׼�n��*�п�Ї�"�k������,g��w�M1�-�U:�~��Qq�j_Ve��Af�_#�,�+�
+>Ґ��q�-�e��(
+�G{L��E^��,_]��V�bȈI����p=�<E�HycD-C6��f	1��9��	s�5²Q;�g;�����"_�͐��RJ�ܿ�&�z�j� ��_�����%��@�7�Ҽ8f
~�tx�X�� ���}��6���.��r$��V����.n;�o}�9��'?��?)��ʬ�}���^�yU�Q��F�Ľ����<1K�㤗�ٕ�6
���/�(�dR�9
ߵ˲���.Y��
�PqbB��>N���|�>R�ө�a
�5������e�,��ڶ������ˆL匄��C:
�K�1��V�c�� g��a��Y5������n��!ts��[
2�ֳ��� �DJ��()�v+�9�
��f
��s�f�͑p	�Aͨ|��	Xae�c�������c��86-�uu��1��X0�|?�Y�����Aւ:PTg�1r%�� ��G"&K��d��A2W̿)����[�Vp*������a0kA̘��U�h��V
�=��qW
q
l,0h [...]
+������9�*D11V%[5☪Û����}je��<M��-j��g� \pȀ{> �ϩ���d>u<�(�
 Jw;�d�.�.���G���<ꣀ0�SoSf4V���7#͝6&i� ����W6X�����!�,j���4��d��jq�b+���-MR������F��3���-���,R�����j�.s�5%o[��n����t�냳��cd���Q�5��a@��2��Nv5�Yl�Y��!��D��#?���AW� 1c���,�K�t"�s����}��K[_�6=[Wbh��O�<Bt����͚/�j��lK�����{<��I�Km�{B��/P��hn3�
+
��2�n;��-ق�w���x(��tӒ�d�M�1
�Vxw��5s>��	����d�*r�wn��A�a/>Bfc1����+@^7Ww`T���=��J7�`{+���
@�
X&�9��^e�?2C�����'�;�&1|9=swC
�:/j�Ad��m7?-
����Q�ާ"�� ��0���
d�\�,��Fb Q`;
A
�<�v��ˮ�#y�9a���hI���`��rGQص���_
(V@����cdGt'7v��2e
�`�~�
+�;)��}Y��U�*WV{td����Blw��!^����_
�(De���:Z�6N�S᪬;�v���`5ߴ�u{C����"{
_�b��%~v��P%�3W�� ��%�"�s��ij2&�0�j�t��Ԍ���(S;'0����
0w�%�!lv�}�5���C����
*HD<�
�o�ٮZ�ݎ���?�d��1G��Ѭ@�0V��7o^�:�}��u2s�G���
�մ��UZ�m��������� �
�m�5#T7C�O��>M
$������o&�6��p��
w����˛��J������yYJB7 h��E�t"�
Ȝ_���49H��#^����LJnf���a���q�b!����mo��
)�,
+endstream
+endobj
+2647 0 obj <<
+/Type /Page
+/Contents 2648 0 R
+/Resources 2646 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2604 0 R 2605 0 R 2606 0 R 2607 0 R 2608 0 R 2609 0 R 2635 0 R 2636 0 R 2637 0 R 2638 0 R 2639 0 R 2640 0 R 2641 0 R 2642 0 R 2643 0 R 2656 0 R 2644 0 R 2659 0 R 2645 0 R ]
+>> endobj
+2604 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.765 707.957 332.797 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9f1fcbebed65fafcc7439ce24392b59a) >>
+>> endobj
+2605 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.725 707.957 385.655 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2606 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.971 707.957 475.798 718.861]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2607 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.345 661.133 310 672.037]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8bf0912e9b611d41ee76da66fd1bd28f) >>
+>> endobj
+2608 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.217 661.133 361.147 672.037]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2609 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.885 661.133 447.712 672.037]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2635 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.144 614.308 337.254 625.212]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_aee40105531fe1008562584274189cf35) >>
+>> endobj
+2636 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.371 614.308 389.301 625.212]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2637 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.794 614.308 477.621 625.212]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2638 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.345 556.525 316.077 567.429]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a58869dfc76ca4a5a51e1e130096cfc88) >>
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.295 556.525 367.225 567.429]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2640 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.963 556.525 453.79 567.429]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+2641 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.806 411.183 195.736 422.087]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+2642 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 411.183 513.996 422.087]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2643 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 254.888 201.372 267.286]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2656 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 241.383 201.372 253.378]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2644 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 130.917 201.372 143.315]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2659 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 117.412 201.372 129.407]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2649 0 obj <<
+/D [2647 0 R /XYZ 89 770.89 null]
+>> endobj
+2651 0 obj <<
+/D [2647 0 R /XYZ 90 473.835 null]
+>> endobj
+2652 0 obj <<
+/D [2647 0 R /XYZ 90 473.835 null]
+>> endobj
+2653 0 obj <<
+/D [2647 0 R /XYZ 90 361.744 null]
+>> endobj
+2406 0 obj <<
+/D [2647 0 R /XYZ 90 339.367 null]
+>> endobj
+2654 0 obj <<
+/D [2647 0 R /XYZ 90 339.367 null]
+>> endobj
+2655 0 obj <<
+/D [2647 0 R /XYZ 90 278.644 null]
+>> endobj
+2407 0 obj <<
+/D [2647 0 R /XYZ 90 232.019 null]
+>> endobj
+2657 0 obj <<
+/D [2647 0 R /XYZ 90 227.535 null]
+>> endobj
+2658 0 obj <<
+/D [2647 0 R /XYZ 90 154.672 null]
+>> endobj
+2465 0 obj <<
+/D [2647 0 R /XYZ 90 81.969 null]
+>> endobj
+2660 0 obj <<
+/D [2647 0 R /XYZ 90 77.486 null]
+>> endobj
+2646 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F11 387 0 R /F82 428 0 R /F90 507 0 R /F103 2544 0 R /F102 2545 0 R /F106 2650 0 R /F81 426 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2671 0 obj <<
+/Length 2569      
+/Filter /FlateDecode
+>>
+stream
+x��[ے۸}���[�*
��%I�*�xSv��cO�v��45�D"g)����� H��H���}��V�8y��h4��Q�<&�~���K�|}ws��‰AFR��-��
��'?�4
�|�.aR#b$���~�����p��~w����_���R:��o~�'s���2��/�u�)��U���78p�9�ɁC� B�e��`�"6���(�n����21z��U:����b==�����as�K��6��ǞQJ�<p�9_�	�<��ͺ$��8�%GT��WˇbZ�'z�2�b�>�
5<1�3�����;&����)��b�w
o�bX
�b�PQ
?�����ό���և��g�VU�~�������g�Z���f�g�-coM�!�L��¿�ڑ�W�
�$��̀/�ţZ���˦S)`J���`�_��nwE�)�@�c`�����b���L*Ǥzh���<�fs�g�_
��v�.i=�S&6
��]Z�Y�	���
*��X�Y�U�9������r�f�!S[EA\�2s0'
+�a�&�8���:K��0���y��$Jΐ"�dMtUW��b
�ƄoI
��d��e�CT��Ѿ�@t�	�%F�&��k���D�Xm	A2P��*�L k����l����t�����35zܭ�l{?q��A�Vi=���1�rPc3@�1=�c
��#���=����p�=~Qe'�2�}T��ֲ--�S"�ή��H�g�%L����e6��ϰ�?��r�vͅ`\�"Y�� �ӈ�/�k0��#�"̄���#�����GJ
(c�:~{���=��q�A�,�ޓ ��_����se�:8��D\�KI�f��z��dA�ѫ#[(Va��.O?A�-�ȵ���U���f�|
lb �B&B	Ād\��Ŷ$
E��8�Y�h`
�?�`��((��D�҈�p�W-$�
�&A�_Z(-�T��*����P�B�>����E��J�GB�8�k�ۆ ���O�.KC
G|�Gj�#�T=���n�b6
�{s_&0R�_B~��� �D��V���v�_�g�k��x�,�z��y��7{l��Ұ
���&5�;��1���R�e'���S~����V�a�<-gO��l�q �(��r֯�S��â.���<
|��e�ڕ_VGK
v�t~	����X�up�L�cʁyL��6-l�?C�[�&}� Jf(;���������a
P�
*�-�m����p2aK��$
��L��I���IJ��p�Й�*�Vn�����[����6�����$��u�{�w:��϶�$����?�a����!�L,
i�-^�FG�a�'"N�ZF�`8��]�g���:OZ�4���
���t�������s��_*

E��$=
yi*�F��p�JJ��E�Si�+���=���ԩ4O�|�̾U2

G��+���1�)6�O&	,�8��o�,�%��A�=�>�N��r��)ө�K��򩤫��t��
��&'ꕜ��ҝJ )�tt.L���=;En�����
nn�F�Em�}L�b�P�X�w1j����Zb�kw�#��pDhX�;�o��=x.:�30˒G]�W`
϶œ
+aUr����^�
vnB�;�7�$
Ӫc/��C`��6`Z�]��c���ػ�c��N̫�aY�@���m.cHyh�p���jGwI"ʛ}���mti��M���z���I7�
_5��
+z��
`r�-�U�(�l��fOu��d��D
Z���"�4��P�I
�`���5�
&����☷
+��|_e�"
+�Q̿
��4�y
Ŷ��5�2[�i(p� !J ��5��J��V	PXƕPN�BQ`Z���m)

b��B�Oy���*�c�UК^�QP�Y���"��'v�t�'�������	�A3q�~"{�'6S�'=�˓
7�Inu�'D��,�ib��~&*��4۪�E�s�#{�
�������|ѩ�A.�N<��Ri'p+�N�
�j'�̮��7��V�L̎ttDWR)g�AyT�r'
r�xr�3�������'��'0�FO���;� ��
��>U�&V�[!Xv6{�xE?��JO���Io�x�˥���y�ħ!/ͥ؈>������PA�>�z�'WzҞKMO.PO�˦��{�
X�utD�MX"�Y�l���0��U�Q�SO�t�U=i�]<9ȹS�I����tg���������'DQĨ�.�)�&jO�`�k��a&�|�@�*�KK�_[>��J>9��0�$�oD><�ˊ�_��]��![��V�v"zh'4TX/�D�PN(�L9a�
��N��^ʉ>���� [...]
z����r?Ϫ�Fu�Y�EM%��zj7��هY�-���
+endstream
+endobj
+2670 0 obj <<
+/Type /Page
+/Contents 2671 0 R
+/Resources 2669 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2665 0 R 2674 0 R 2666 0 R 2678 0 R 2667 0 R 2682 0 R 2668 0 R ]
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 632.116 201.372 644.514]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 618.611 201.372 630.606]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 407.571 201.372 419.97]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 394.067 201.372 406.062]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 153.447 201.372 165.846]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 139.943 201.372 151.938]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2672 0 obj <<
+/D [2670 0 R /XYZ 89 770.89 null]
+>> endobj
+2673 0 obj <<
+/D [2670 0 R /XYZ 90 655.872 null]
+>> endobj
+2466 0 obj <<
+/D [2670 0 R /XYZ 90 609.246 null]
+>> endobj
+2675 0 obj <<
+/D [2670 0 R /XYZ 90 604.763 null]
+>> endobj
+2676 0 obj <<
+/D [2670 0 R /XYZ 90 522.077 null]
+>> endobj
+2677 0 obj <<
+/D [2670 0 R /XYZ 90 431.327 null]
+>> endobj
+2467 0 obj <<
+/D [2670 0 R /XYZ 211.842 355.122 null]
+>> endobj
+2679 0 obj <<
+/D [2670 0 R /XYZ 90 350.485 null]
+>> endobj
+2680 0 obj <<
+/D [2670 0 R /XYZ 90 267.953 null]
+>> endobj
+2681 0 obj <<
+/D [2670 0 R /XYZ 90 177.203 null]
+>> endobj
+2468 0 obj <<
+/D [2670 0 R /XYZ 211.842 82.124 null]
+>> endobj
+2683 0 obj <<
+/D [2670 0 R /XYZ 90 77.486 null]
+>> endobj
+2669 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R /F11 387 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2690 0 obj <<
+/Length 2953      
+/Filter /FlateDecode
+>>
+stream
+x��\k�۸�>���j1���-
+4iv�4�����hlyF�-��r&�_�KQ/ڒ-��.�b�H��������=�bD��a����lO������w
+O
2����jb�Dq�������#�fs�1�>E�&�{ڮ_
�eݭ��,�^f
+Oѧ���Ό��6�ͩ�ӷ�h�s���U\܋�E
���+��~��p����6�	q6��d����g<Y��`;3z�\<��p�พ�p���u��&�"���H��J�<�[#��~�]�Q��(:|l%J
L��)+)2��v
[F)��g
8xF��9��uI��aZ�
I�5��t6�ӗ�v\��
�c�6��d���>W:�',�5��O�b�#
+��IG�ݻ�O�	�]L)^3���f�U��V�+O_u42g�#��d=1B���n��O�E�yG\#bL��n�t�kbbBN�1p���k�bx���T&�]��>h,*��B��UqE��Biĥ߉e�	�ZE'de֛�c����#��D
�͂p3S�8+�Ma ��1�3R�Ǯ.`�i�ě20t q�
��c�
+��b��h��t�>�H�����4΢|�u���0V�䡣�Y=�`��b����;�M"�
�ZL�6&a]y1�g�4������γ}�e�J�IM�dec�F�Ҟ�$�w	n
7!��Q Lv}M�%;��ns
o��w�6{܈�H���
3g��s���}��˾��������/����LҎ�	�y�
����Jo���1Y<�K�hW
 Cɐ����c�Va�Y��o�__fTL����Y
����6Isw��S��B�B��eq�x�˴ )��҈�v���%����D�
���+�[%w!'� m��&
d����)Rs�ݴ��	sA~:]����t�~[�b��� 3N��IIՅ\o�9�!-�@��j���V��aDR�x�-
����P��r[~]�
�J$ʼ���o��|�Lm�e5_��/��َ I��M�?��� ��
�g ��4

�X
+��2
Mmb� 3 �C��J���A
�Βn��-�I��7�:_��]�|;���ht/��
 �V!�������
K%H�%1
��C�t�%�Tj[RSi��M�~#2��G��
#�f, ��#:2A�!�	C&s�YL����
�:]g��~�t�l9��7y\�:H�|
׷zH���_��m
��0�����O%��!/%ghDGN	�t�]
+r������N���4m�.ϒ�:#�g�?�"e�U��e'�]�E
/w��HO�����pY��F��=�.���D���S.�t����Y�Z}_�n��l�
мz���d�Fhw2>�AS`��� �"!'�h�΍�q9H�1� !�̴�}]�O�/g��v{�hIq�����/�Ix�",pÑ��r>8�CD�Z
��Nl�U�Y<Yyf_�
J�ϝ�ں(Lu�)�����u���s6cj� 	r��͋�=�6~��
��A�8Ȓ�,���
�;z�![�&бN
�>
+�0e�;n����i��
�!N���a�
bG�RukU��e�d���$�u
��병�A2$� kﴲ��4��S�
+��Ѷx���6��k`uQ�:;
�p�>IM]��Ӫ��SZ>O�`W]����pU��^�Uǀ޼)}� �J7���
��5�U�VwU� �dK�K�zg�ֺ)�v�i"�0��0�S \��%hR_^h2M:ЬT����:^�լ}�o��T�֓V[[��@%��#!���TqRH�^rgۗk�T�
(��p%U�i�*�����R���Ry��
+IB3��H��] �R�a��BJM�U��
+N�l��zo(�F�$F��M
(EiX)�t/(k[K
�
*aՃ���b��J���qf�L�Z)�3k��J�j���T1\H��愐
+=���R��0�d+�!UR-�څ���
7U�.�	�D��9D����sK=o����N!U�BjG#M
�i��
�]��n�B�KETW�R��p�Q톬[DMRGB��{�����R̔*���UT&L��������8C
��2*��
�\F�ҘΪ�g�x
ե5��0��Qǻ��X i��T
��� ,���� ��z��u�4LI�Ґn��
,��E�aL݋�qHT���{aLX&��HˆJ���+-�Rے
����4�#�c�A��1	KDy��w���T
��hk_0LF�ҖNճ%��z��S:j�1�
�~&$�!1
�`'�Э�B*5�|�
����<#������RI�WZJ*�TR�
���c��2F��^,�8��K{�uT�X�~P
U��Q��� !u���"*2i
�x��J�����B*���4�:�
0]\ R�O
�	�-ĠB*e��\\,�ʫ�Ԁ����R=w����ǢZ">�{��x�N!�h]��O*��
QRe���p����-Uvk� �Ai]���"��^-�хNj������	-U��.r����0�Z�
�J��G�T�k���R�u
	���N�w�wo����x
�
+��VR����X��"8���O�DV��r1H�e�!@󌈂�^��ج�E�@nw옅0�S�8l<���
+T�)�@
�H,0�<��>1�6i�)j�F�9�u �'R����g�����v�L҇�:�?�qz�F�M��K�����u��J�M,��5�b�8˃�4�MŖ��z;��kD�^]��C)�0�n �&ЀN�����;U��g\���ň����zr�
+
�ǜ���K�U���A�Z�~+����+ ���'}HQ6���QG�o�t��F[����O�>���MY\1�]����|�}���jF ]���������������}�v�v�t�3�-V���ٜ�q\�E��O����"nc=���W/%�
�����_��vq���?�kd�R7�_U��f���[��)�FTe5�0AR��y��_`�1Q�z��΋�Ջ���7l�-�I3��|��#
+endstream
+endobj
+2689 0 obj <<
+/Type /Page
+/Contents 2690 0 R
+/Resources 2688 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2684 0 R 2694 0 R 2685 0 R 2698 0 R 2686 0 R 2701 0 R 2687 0 R ]
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 507.234 201.372 519.632]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 493.729 201.372 505.724]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 228.801 201.372 241.199]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 215.297 201.372 227.292]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 87.205 201.372 99.604]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 73.701 201.372 85.696]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2691 0 obj <<
+/D [2689 0 R /XYZ 89 770.89 null]
+>> endobj
+2692 0 obj <<
+/D [2689 0 R /XYZ 90 646.048 null]
+>> endobj
+2693 0 obj <<
+/D [2689 0 R /XYZ 90 530.99 null]
+>> endobj
+2469 0 obj <<
+/D [2689 0 R /XYZ 192.853 454.785 null]
+>> endobj
+2695 0 obj <<
+/D [2689 0 R /XYZ 90 448.768 null]
+>> endobj
+2696 0 obj <<
+/D [2689 0 R /XYZ 90 367.616 null]
+>> endobj
+2697 0 obj <<
+/D [2689 0 R /XYZ 90 252.557 null]
+>> endobj
+2470 0 obj <<
+/D [2689 0 R /XYZ 192.853 176.352 null]
+>> endobj
+2699 0 obj <<
+/D [2689 0 R /XYZ 90 170.335 null]
+>> endobj
+2700 0 obj <<
+/D [2689 0 R /XYZ 90 110.961 null]
+>> endobj
+2688 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F11 387 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2710 0 obj <<
+/Length 1954      
+/Filter /FlateDecode
+>>
+stream
+x��I��F���
+�U���%U9$���$�=9%�)
h��������ukA�����U9���o���8�E8z>��zp�L�� #����"�#�
��F5��~1�1
rW������_����O��~�)�H�h���GS��2ˆ
}t7�"N|.�����2#*�W�Q�I�0B!�#�Ef4&�a����� 	_��
=�x�-77ϓ��M�����|�Ӧ9��O���*~�V
+����.�;���4k~�:�(��yK�ϖ#B��y2�{�3B6A�3"־���6���X7#)�����aˢ�,Eyˇ�}�h$0
a�qC<�>.��hL�
���	<H+V���q���ƴ�K�%Q�9�I�in }�-�Nݫg��x̉]��:D�*�z�y��
��R���>ϖ�E:+��M��I�v���p���V���������/��]��T"�I}S�N;*f��<
� �xb�#\ ���'��;.
32a
�&����Ir_:ȓ���
+��n[�B 	k�ח\��=�i+��2�͚H2���
�8�
:[G*�OҕhkIt�	G�JF�Dwm�܃����n��< �rI� �D����x��������
VIZ܌��8��1T���N��#�
ih*
n@Ӯ��H��!����A0�<w\��lD��cUË����1IN��}�*$� ��R5ⲩ�8������! �E:�V�Оn�IUȻ�"��U����+
$2��V�92R�0��eS>�)�#��1
�<�r�6��8E�T��2j�y��-��ȃ�"��A�3b��vԟO*��بr;� ����0�U
7
\g�,H�I��*�MJ�}�2fR!J�6+�e�5pl�,��C�I�g>���{'a�� �h-48�hU
+
��]@�������Ġ�"@�E�O�q�tP
-
�-�;.-{KU
+D��W����㲻�@"3a�5Βy�Z��P֡�S�{ݾͲe�����fb�2J�"H#K
����BY��^jG
��#�2��nP�ަ 0�8�r_)E��3 �(��6;�+���
�bm9���5��jcq�|�����2m�@�.7{���F��'����=C6l�.7;�:e�
�n���?��

1d#��L7����"��oI
:���GT�{�tP=�;
:m�{���,���V���y_d0����Uk� �ɡ�YuV"S2h%�%� 0ɶ��
�3��JeX�@��#� ��
+	<�G"������ܳS"�
�
+a$SB+}#�P�e�DC������
+��y�م'��Z�Cxr��%�H�K�	�w)Mئ^��
+�&�	�'-�A�iO>7�tP�'
��'�;���''�jg�Y�,,��#� �P�9�t�v&�X�Ԅ`Ͼ#�$��
+M<�G�IY$
 � q[�g[��$X�Y6]���iѣXS��	�XS�+�+���DAV�/
BZ���A(lk�s�vi$(��;ZB�=L
+�{^@�� �<�ђ�ĠD�r�K���A5u<ty�8��=Xb_�
��{��,�!���l7�!��@�
�{�a�Z������Q�q��sp���+�XG��4���'�4ia��zxN�9���O��i	�PoL�r��=�e$�:4h]~�7�h�
�˘�{4�������ZE�j�ɼ>�}���[�k,!���������6J��o�"��N��_�����؈ؘ�h��znxl QЙhw�ƫ�:
�M�HQv����r���Y���
+�������X?S]�z�b�Oۊ���V`=�$2�i�@@iax��DU at _�~U~y[R�`�S���t�Ϫ_�E�ߍ�Ĥ���:ɿ	1���8}���w���>�܎��"��
��y�$Uu�K��Y����
x��l���wWW��u��
��e�}X� ��ӻz���:�)\\��Q}ч���e1�
+endstream
+endobj
+2709 0 obj <<
+/Type /Page
+/Contents 2710 0 R
+/Resources 2708 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2548 0 R
+/Annots [ 2702 0 R 2714 0 R 2703 0 R 2717 0 R 2704 0 R 2720 0 R 2705 0 R 2723 0 R 2706 0 R 2726 0 R 2707 0 R ]
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 644.071 201.372 656.469]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2714 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 630.567 201.372 642.562]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 520.1 201.372 532.498]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2717 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 506.595 201.372 518.59]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 408.084 201.372 420.482]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 394.579 201.372 406.574]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 296.067 201.372 308.466]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 282.563 201.372 294.558]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 184.051 201.372 196.45]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 170.547 201.372 182.542]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2711 0 obj <<
+/D [2709 0 R /XYZ 89 770.89 null]
+>> endobj
+2471 0 obj <<
+/D [2709 0 R /XYZ 90 721.073 null]
+>> endobj
+2712 0 obj <<
+/D [2709 0 R /XYZ 90 721.073 null]
+>> endobj
+2713 0 obj <<
+/D [2709 0 R /XYZ 90 667.827 null]
+>> endobj
+2472 0 obj <<
+/D [2709 0 R /XYZ 90 621.202 null]
+>> endobj
+2715 0 obj <<
+/D [2709 0 R /XYZ 90 616.718 null]
+>> endobj
+2716 0 obj <<
+/D [2709 0 R /XYZ 90 543.856 null]
+>> endobj
+2473 0 obj <<
+/D [2709 0 R /XYZ 90 497.23 null]
+>> endobj
+2718 0 obj <<
+/D [2709 0 R /XYZ 90 492.747 null]
+>> endobj
+2719 0 obj <<
+/D [2709 0 R /XYZ 90 431.839 null]
+>> endobj
+2474 0 obj <<
+/D [2709 0 R /XYZ 90 385.214 null]
+>> endobj
+2721 0 obj <<
+/D [2709 0 R /XYZ 90 380.731 null]
+>> endobj
+2722 0 obj <<
+/D [2709 0 R /XYZ 90 319.823 null]
+>> endobj
+2475 0 obj <<
+/D [2709 0 R /XYZ 90 273.198 null]
+>> endobj
+2724 0 obj <<
+/D [2709 0 R /XYZ 90 268.715 null]
+>> endobj
+2725 0 obj <<
+/D [2709 0 R /XYZ 90 207.807 null]
+>> endobj
+2476 0 obj <<
+/D [2709 0 R /XYZ 90 145.343 null]
+>> endobj
+2727 0 obj <<
+/D [2709 0 R /XYZ 90 140.86 null]
+>> endobj
+2477 0 obj <<
+/D [2709 0 R /XYZ 431.18 83.504 null]
+>> endobj
+2728 0 obj <<
+/D [2709 0 R /XYZ 90 77.486 null]
+>> endobj
+2708 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2735 0 obj <<
+/Length 2324      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��F��������coޱ�1�v��L��ut��&,	P�ۿ�YHB��������||_
+��������a{
�?���pd��TFϑ���		�f��1�H�dB0��:-���X��d�2}\�OeZ�%
+��cBqܾI���U2���iU��O�sּ�V�
DrS�H~y�p����owt�q:�t4]���
�f���Ό��4���
�������fS�
6E"��'D��Vi���J���s]櫹�o6��%q��
�cZRd��깯%q&=���	!�3���B��0�K���Ww��Lt��Ha�Ѹ�QB
.J�i��+������1!��Sn�Y����
�L
���4�tN}���{�J'�!����)�7����]����~Z��4_m�CEBE�e�����#[�We�.�*�iu�y�l5��}�S�(�[o4�_�ʍ�Ԧ
ҍAv at dE"�hB���ͻ���y���\��f�=ـ����
�7庨�
+9cy!30=�m��9/�	�q�ώG
7�<��Z pn
+p,�IT�1�攅X]�S����F�,Q�l$d8Y&�v
�&���
�\���sʾ��
���ۻݤf�1��Q�uߩ��[��V���d� ����n�7����b�
&��
SOQ/��HA!�5���u�X8��K�&���Ζ�V���8��0r*�%��	��bS;�KH?���m oՂ4�Y�֮�3�ј�4�É�"�í�?��M�t�ն6���%��(b�ֽ��]XU��]�^M��JD�\h�4��#Ra4��)b]<zN �߆��焇-E�ĭJxNF���~��+y١񱴽��/ڢ�ԎMg�l�
)T$����
���`��
"�q�����Gr�$hH�Pw���;�}��4[[�r"�ω�vɣ�7lB_`��2]dԆ`8���|��d(�N�Il��Q�2�,z��N,筄O����\� �1��B�~�p
���|��M�0�7K@���r؜���y����p�
)�I�YH�����B�q���-��� e P����R:[p�c9�A(�TJ1���t5s�"
+ɑ�U�1 at a��f��̜Ժ �Z��&�jZ,׀���+
��u�ñVpj�`'�zp����O?�lP����#�84�o�y��s
E���Q��+V� |���L>b���x�"4����
D�ܸ&�F�B�X��ݤ}FFPlK��J�
+u>�Q��^�i<U}b��

��� �8�=V3F�����O��h�%
Ѕ�@�i��ef}��tZ/�ݔr>�y�뺐�p ��X��B

q�EC�E6`�c��" �	

+�8%��kC�p�鐐o�뀐g�>b�
 B�WN��B��@�
+<��$̑�x�
(��CBV���
d�U��<�e��a,
+�m�L
�b�X2�C�e��ʽ��8�K>}i�^��WY���rQ�n���j���UQR�
+P�,�Zg<�]녇�	8�$l��E�I��dM�M�
+ܬX�I��ix&p
�|
ܼ�� �u��S�o
An�u�A/���2�8�F�u�����C�� ��
6����&����7x��7x�b���/<�W��A����C���èp��uĮ��S�Y;!�nyq�S
�P�ӭj8��V5�굪�&��Um$�6Q�-�jf�lj�em��
� �Q�U
)Z���;�V�4�oTc�Y����[
Z�{�忡wm �	
�w}�I� ��@H:��/�]S(!F��]������
d6�N�2
��Ġ��
+�1_��4P�����y��S���X����9��m��C
U'a�U����
9ڬn�`�}�(�;��\}X���Z���b��-2O
+df
,���
�
��
�a�(�e�XH̷n
���9�ƄY�=X> �aP��g�
�����
*wf���

�ߒ>Bl
8E��;�l&�K9�K���n�����1
��e8
��}شg��@'���q�f��p�p���GSx�ҧ����s�V�k
��f�F������pµ�훧v�ך�#��t3򭳙��� ���LW��mTɖ��L��H���1��Y�a��	C�8��@�)����Q�Q
����h��nz��c;g1��>|��V3�o���^=ipX
+�ٙ��wg�a������0zp*?��n>����W������j�I�����9�g�VӮ��S���H����1]mҖ��Z�>4.���a�T�0��9��$���k�����ɡ;�p���奮������!��@�������;l���xYt�1_��e��q��m
$%���
�
�h3�߼�&���/Y�mg�;�?�y�
+endstream
+endobj
+2734 0 obj <<
+/Type /Page
+/Contents 2735 0 R
+/Resources 2733 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2729 0 R 2740 0 R 2730 0 R 2743 0 R 2731 0 R 2747 0 R 2732 0 R ]
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 530.674 201.372 543.073]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 517.17 201.372 529.165]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 418.658 201.372 431.057]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 405.154 201.372 417.149]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 255.085 201.372 267.484]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2747 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 241.581 201.372 253.576]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2736 0 obj <<
+/D [2734 0 R /XYZ 89 770.89 null]
+>> endobj
+2478 0 obj <<
+/D [2734 0 R /XYZ 218.507 671.378 null]
+>> endobj
+2737 0 obj <<
+/D [2734 0 R /XYZ 90 664.738 null]
+>> endobj
+2738 0 obj <<
+/D [2734 0 R /XYZ 90 608.119 null]
+>> endobj
+2739 0 obj <<
+/D [2734 0 R /XYZ 90 554.43 null]
+>> endobj
+2479 0 obj <<
+/D [2734 0 R /XYZ 90 507.805 null]
+>> endobj
+2741 0 obj <<
+/D [2734 0 R /XYZ 90 503.322 null]
+>> endobj
+2742 0 obj <<
+/D [2734 0 R /XYZ 90 442.414 null]
+>> endobj
+2549 0 obj <<
+/D [2734 0 R /XYZ 90 395.789 null]
+>> endobj
+2744 0 obj <<
+/D [2734 0 R /XYZ 90 391.306 null]
+>> endobj
+2745 0 obj <<
+/D [2734 0 R /XYZ 90 332.53 null]
+>> endobj
+2746 0 obj <<
+/D [2734 0 R /XYZ 90 278.841 null]
+>> endobj
+2550 0 obj <<
+/D [2734 0 R /XYZ 90 232.216 null]
+>> endobj
+2748 0 obj <<
+/D [2734 0 R /XYZ 90 227.733 null]
+>> endobj
+2749 0 obj <<
+/D [2734 0 R /XYZ 90 145.047 null]
+>> endobj
+2733 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2759 0 obj <<
+/Length 2044      
+/Filter /FlateDecode
+>>
+stream
+x��[�r��}�W��U�x����7e�,N�<%)LA+"� �
�}�`!1 �u��� Ĝn��9
�h2Oh����7�W�34q�i�������HG�Ʒ���Փ_o�&B[œƠ�������w7��o��7��G
?ф��16�-G?�J�[�~�P"�M>W-�����#ڸ�9��Gh
���u�R�&���v����q�X�e��䎉ڂ7��<�Dqs��*>v�:�ύ��p���Hv0�4�8�Ce8�>��A��3I8�\cYrL�X������b
��$���'�M>�t�)}X�~�W1f<Zf��ôb�ĽY�L#N�����;4��JpCČ� ��~����i�?@U8t7�8u��F��XM��'S��xq��I�
��D)�&��~Q����m����
 ��É��|/"����j�n��r1a�U>]���1]/>>d_���xu���)W^f��l����E�.�K�}�9pM����Vf*8#�ڐ2���1+�+t<[���)�gY����bv_\��1����KZ���z����h5���n^�u��.f�����-�pD�+�v��xD�9�Y���<\�=:�:��b0/��ɔQ�(�Y��dq;�4�r�Z���
�b��:�Z"�*h��!��g���]�8X$�=|\=L��n�}�a��Ď`^�������"���"y7H��K>�@�"�5*�v
p���	�G�
�����cT���X5�
+ZE�H�E����
U�),ݚ�!Dl��vPu)��Υ
ܔ�Y}EH]B��� 
V�^��
+������W�~*��WC
'�bj�oU
�+K�hX,�  �yGB�M_�j�.Cz�B�(�ck�'�f!"�帛���M�a�:�Ph�GD�m
+ˇ�k1K�3`V�M�j�#�bTݦ�B�ɗn�
+�^�.nA8妆��Ч(7ʺ��xP�h� �8��q=
w�r�x^�S
�
3
5m��<�\��x��\ص�E	4؂�P.��'*������\"��*�����%��F�V��dX�(E�p
���U.�7#��e�G�`M�Ɯ�]$�D�B����.���k`
�J��U/��r�x��Ǚg/�w��[�*�
��x�Xy4p<��A�*^�7�u�x��V��"t�x	���e�hE�UgT�8���N2 �È�'�5�G�䐰���
��!��k�!���(A���E���F(�Q�+��(;��(�i�A�_�⡃�
+�Z�*�5�Y�v&e͕!U�}��}�����r�-��)���	+�ܧg�ܝ�g���9cϒ3���ߑ5��?��XH>:�w8܋=�T�Yn�����H��:+<����9�Gh
+�+
�,N���+�#�%�X���6��#RPQ�W^�j�*ñb ��֍��ZW� p����c�*�f��!p8���}��f��a��
�Ic/���`��W�p�s��!�e�ň�K^q�������qߥ?f��
�U&b[�A���pV8��mM� �mM/B��5A8�����6�n��
��*ns�L
&�G��FMԫ0��1������Ǣ�ƠXt�A�p��m���qf'��h����1� M�|�6�-d
�,����PÈR.�U#��6��}FQ�\hc��@������v
,SjgOK��X���6�),����c�7~����
ݑ#���42
���Q#ì"�ۈ0:b%v�)aD�FF�$05i_�6T9��\���F���p��%��7l�K�W
nd.��0� i�����kd|�2LGod�
)��{�:��!����L1j#ð�Y��/��D
P���"tY#��/md�z���x*��
+�,�v�k �	�p�-
+#���D�-�!�U��wء�Tۺ���\�؎iN�z��W ��M�7��
�{Ņ�%��5�0�a��w��ަN}��Z�M�ϟ�ys�
����Ҵ݉
�Z�c�ԸY;�M������'ߙd��W}��%2�^��,kr����6w��QE��-�]�}�^?��ի�O�2����U�����M��v�r�f�"��e��ޝz��O�l~
+endstream
+endobj
+2758 0 obj <<
+/Type /Page
+/Contents 2759 0 R
+/Resources 2757 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2751 0 R 2762 0 R 2752 0 R 2765 0 R 2753 0 R 2768 0 R 2754 0 R 2772 0 R 2755 0 R 2776 0 R 2756 0 R ]
+>> endobj
+2751 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 694.926 201.372 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2762 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 681.422 201.372 693.417]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2752 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 582.91 201.372 595.308]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2765 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 569.406 201.372 581.401]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2753 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 470.894 201.372 483.292]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2768 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 457.389 201.372 469.384]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2754 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 295.366 201.372 307.764]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2772 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 281.861 201.372 293.856]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2755 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 119.837 201.372 132.236]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 106.333 201.372 118.328]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2760 0 obj <<
+/D [2758 0 R /XYZ 89 770.89 null]
+>> endobj
+2761 0 obj <<
+/D [2758 0 R /XYZ 90 718.682 null]
+>> endobj
+2551 0 obj <<
+/D [2758 0 R /XYZ 90 672.057 null]
+>> endobj
+2763 0 obj <<
+/D [2758 0 R /XYZ 90 667.574 null]
+>> endobj
+2764 0 obj <<
+/D [2758 0 R /XYZ 90 606.666 null]
+>> endobj
+2552 0 obj <<
+/D [2758 0 R /XYZ 90 560.041 null]
+>> endobj
+2766 0 obj <<
+/D [2758 0 R /XYZ 90 555.557 null]
+>> endobj
+2767 0 obj <<
+/D [2758 0 R /XYZ 90 494.65 null]
+>> endobj
+2553 0 obj <<
+/D [2758 0 R /XYZ 90 448.025 null]
+>> endobj
+2769 0 obj <<
+/D [2758 0 R /XYZ 90 443.541 null]
+>> endobj
+2770 0 obj <<
+/D [2758 0 R /XYZ 90 372.81 null]
+>> endobj
+2771 0 obj <<
+/D [2758 0 R /XYZ 90 319.121 null]
+>> endobj
+2554 0 obj <<
+/D [2758 0 R /XYZ 90 272.496 null]
+>> endobj
+2773 0 obj <<
+/D [2758 0 R /XYZ 90 268.013 null]
+>> endobj
+2774 0 obj <<
+/D [2758 0 R /XYZ 90 197.282 null]
+>> endobj
+2775 0 obj <<
+/D [2758 0 R /XYZ 90 143.593 null]
+>> endobj
+2555 0 obj <<
+/D [2758 0 R /XYZ 90 81.969 null]
+>> endobj
+2777 0 obj <<
+/D [2758 0 R /XYZ 90 77.486 null]
+>> endobj
+2757 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2786 0 obj <<
+/Length 2283      
+/Filter /FlateDecode
+>>
+stream
+x��[o�����+�V��s��-M7�n��6q�-Q2Q�T(ɻ���E��$k�E�}1%�sΙs��C
+#*�y���#l?��o����
2���v
)n���m��K�c
��j�ޭ���C6�һE~_��S�p�>%����H�T���E�^��f��_VL2�

�*����������pDjR:�,G����)�� �3����e�)��"�y���&�&�IoR� B��(���X�n�G0�R
?&��e>���)ZH�F
s'�a�m:Km�V�a���ℐ�v�v���,�vp�!��^�5��)�†��xϢ�/ʋ�
'���d�C��d�#LL;�Rc��	��ϋ:N�c���lfq�@�0��n�1{C(ݐ��
+?�ֲ� 7�n~�����HJ
���`U��ޙ��Ŧl,�{�8GT�V��!_�y©�,$���Z��Lw��
�����4��t@�H���<)��(3�����*[o����%Eٜ�o�*��d��W�x�
^�E����M��!��7&F &�D",Xmֻ/�le=��%
;�Z���o^R$�E�u/�c���
�}m��@�KF`{N.��m=���/�ۓ���d,U��Ms�y#᧶y{�EA.W��
+
+H��z_$
Ǐ�"��}_%LA�,�bs7�ы8L������^�
�#�
i�B:� M��=�GD�a9�%�
������**��M��C��)d=y�����%b-���ⅅ��?��bR.W���/��U}���5ɻ�)�c���̮���U��a+��'9GX�
�t�XjX��,<�tB�oH�S&�lW+@�C���!�c`� :�/�u���
+��A��`n|��/X���|C������g�J#L՛��ޱ�%��
{5
+�!	�o���
+2
	��1�QОĠ$���֗S����:�����^FA�;�Q�����xՁD����+��')��ꀕ�Q�����X�T
+�,<��B�o(�S&M��,QqV���C,�)�BX	i���g�\"/�}�K��\��..ѯ�%��^W�H��\�W;������WX!���dK{�йnj���
ۛC���0��/�lP�G%����2Ët�ı�fJ�ҞĠ��AV�A)��ZP�y�e���(YPzq��
Hd�K�����y��r�%큒���X*IP�,<�B�o@�S&(m +��xIC��
Il|۲E�Z�Up��I�J"ً�פ��
�Q�FPv )@S�h;�v��F�0�A�ֻ�2�K�]l{�9���t�m>gY10�ܹ��^._e?��ʯ��A�;NI�R�+�t�E�@���'1(f1hӸ}��v��A-f�<�2����
�,f�8TG��JdD��d��,*����a��c���}Y.��&�bG)�r�dV*��*̡
+
���(KJ$T�Һ���L�Z���"�=
�wĸ	a�}�1��]�5�P�1H�b@-�)�|����d�
_6��9�8$�r��f��� +�`ޘ�C�@i���M8`<�����(��OwbE; J NY�5�_f�f�����Y�X�P'���L�v��i"P�6��n�ٷ��9&w
��|�P� ���&�Q5
���Qyɛ]
���lxu¸5K�<
I�p�|���VE6�����_��B!���3/��{��r��;�t
+7�
��VJ4ܤ
tE{��M��AZd�=�Aٔ��*ao���Ӣi�A/C�}o|#SK�/����L��u|�̓dJ, ���b�O�F�o ·���@�4V,eW�/���
<��g�:�v�|�g�i:��z�
�0fl�]o�}a� 3y�hl��&hǷ�����P��<��uHgP-Вۋ-Ё$���@m�^����Ǽ����ݗU���:A
��]#ȬC�#��4���?��s�$��> �k�|5WO��\��e5����p���E
+
�)=�2��G�S�3��<��W�S����A������g�������
�n.�u[L��rv��%�m�|[��U�����g�o �ީ{L�!����ؖ=��б�6Ų��AJΐ �'�uǐ��
��ϗ�� .:ge6�Cl�
��_@���;��P��Jٹ?�j�B�ýp�B�t/^5��O�R�&��g>��|�Λ
�[:��|L'ͩ_��/�q���J�m��?�6�hCH�ł l+�y=��,k�\��?Q��#�՝�@z0��q<l6�����o�묘#���b�
�?D�����eYu7
pr���P�t�	�"��y��?a��D)������lNܼ_���%�d�����R
+endstream
+endobj
+2785 0 obj <<
+/Type /Page
+/Contents 2786 0 R
+/Resources 2784 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2778 0 R 2789 0 R 2779 0 R 2792 0 R 2780 0 R 2795 0 R 2781 0 R 2798 0 R 2782 0 R 2801 0 R 2783 0 R ]
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 644.071 201.372 656.469]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 630.567 201.372 642.562]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 532.055 201.372 544.453]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 518.55 201.372 530.545]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 420.039 201.372 432.437]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 406.534 201.372 418.529]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 308.023 201.372 320.421]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 294.518 201.372 306.513]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 172.096 201.372 184.495]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 158.592 201.372 170.587]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2787 0 obj <<
+/D [2785 0 R /XYZ 89 770.89 null]
+>> endobj
+2788 0 obj <<
+/D [2785 0 R /XYZ 90 667.827 null]
+>> endobj
+2556 0 obj <<
+/D [2785 0 R /XYZ 90 621.202 null]
+>> endobj
+2790 0 obj <<
+/D [2785 0 R /XYZ 90 616.718 null]
+>> endobj
+2791 0 obj <<
+/D [2785 0 R /XYZ 90 555.811 null]
+>> endobj
+2557 0 obj <<
+/D [2785 0 R /XYZ 90 509.186 null]
+>> endobj
+2793 0 obj <<
+/D [2785 0 R /XYZ 90 504.702 null]
+>> endobj
+2794 0 obj <<
+/D [2785 0 R /XYZ 90 443.795 null]
+>> endobj
+2558 0 obj <<
+/D [2785 0 R /XYZ 90 397.169 null]
+>> endobj
+2796 0 obj <<
+/D [2785 0 R /XYZ 90 392.686 null]
+>> endobj
+2797 0 obj <<
+/D [2785 0 R /XYZ 90 331.778 null]
+>> endobj
+2559 0 obj <<
+/D [2785 0 R /XYZ 90 285.153 null]
+>> endobj
+2799 0 obj <<
+/D [2785 0 R /XYZ 90 280.67 null]
+>> endobj
+2800 0 obj <<
+/D [2785 0 R /XYZ 90 195.852 null]
+>> endobj
+2560 0 obj <<
+/D [2785 0 R /XYZ 90 149.141 null]
+>> endobj
+2802 0 obj <<
+/D [2785 0 R /XYZ 90 144.658 null]
+>> endobj
+2784 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2809 0 obj <<
+/Length 2904      
+/Filter /FlateDecode
+>>
+stream
+x��\[�۶~�_��J3�;��)MݎS'u�m_�̎v��j��D;����H��D�z:yY�������
ji2Mh�?�޼���IJR�ur���412%J�h��4�v�����Ж�T�!����x���������ۛ_n.ф��16y����3M&8�}B�Hm���4O$�|N�������?	W�������M	�21L�Tm�
�
���y���C��ב���������̨%0�əi�0���/*k�&:�DQuJ*�f$U�&6X���ͤ$v6���`��u0p����8�S]�%Ӛ��T��}ʆ#����+ `6���l�������)?U�=~t���/�3ِ����u��̖�pn���ƹ�"����ӄ��r+D�HAc�.�Ā:+	S,�0�v2
1†�Ά��E�z��i�^E�=��y�
o��p�|���`u�t�A`�?�	���
��q`E
�tE�̓�$[,糅_�K��O�fd���#���u�
+�>PE��-����s�v0r��MζOŨ�C�[v�۲o}��#0�c�"�^m�v�A�("��j���-
Q��%~��C��L�rAF�F���>��
l_f���P�4 8��Ie�du�D�I�}��u�<V�=������ 8�JlHΈNUX�7���6?�&w߮���;�n�3c�*f�d�#�����m[GN%�T�4� �񺅄@ Ѧ�B��Ӕ U����i�t.�܋J�`��&�*�lH鞓E�Ps��A��eŽ.�rb��a�͹�ց4#֪��,O��H���i��4r+�Dq��i�9/h��&3��9܀�G�0uL���j���s�¯7N�L�C����PI�-�3�e���c�?!�PtP�f�b=�9Kx ���
"%B����
+(OOK�����<

 ]a]��!K+A8���Q��<>�����]9X�&�H
V��||\m�
��b�=�4') Y�|�
gHoxU���ٕӟ��ɺit�	��(�+�+Y
�yv��Gv�y�Հ�
+>(i�r�傌�
�H?�(2�4�~
e���g�Ͱ*N�,��K��mU�0�_�]ǿ�)���f���h�~㻢F�t�M�ԑ�H�h�ռ�-�����H��d�x�YӽNE��6v��{���2�v��$�X��>�E��q�$��%�`V�f���uB�Ɉs�h^�}��t�@�5@����l#��k��d)
�S�4B�^]$�q����W>I��@&=u�������l�/���n1�ֹ��Br�[<�lğ��W��b*�I��}*ԙ0��=�y��^�R||�3�
+ڦ�e��
f��lN�nP2E����
@I��
 
k��,kъ%k�1��>r���DŽ��
S�2�!t�*�D�8��XU�Ĕ���N$fO=���
/Bbnv���l��^�c^?�v�8�����-1 �H����(T��;��S�f�yY
��鴃��L�Ev�Ul�V*%���<�����1{�ӌ��>�7<���j�DJjc��j��xL��E��4�d�Pã�_@���"EN|�
�Hc�$F�1�c�4��EcF4PAc�,t
�Y1�o4fGS�Fc�jx�z*'��4f/�giL��"��iLV�15+Ә���1�^�NE_�"{�hx��tM@
ex%����/$2��4��
E?�IMM�
���&��)CP�Ցk�)�B�:�9}j�13��htjb0���
؂�Ra�{��+�q�=�p�D�]��^7�]ü�L���ќ�ϼ��l��� i!�E�mx>:�`V&��@l�����C&`e7١nr�Qr���m�\�Zxp���`��{�j�8DN�y���$��
U���
U2�R�7���p�&Z�Ӥ�c9�Hk�iT�H5�66$6f�O�"O!J�-�v�h��pqY�(9szU��en�*�OKM �E��d7�h��h�O5�^@h�à�����}�������_[Kl�U at 0`),�
+�S�g����sI�.�?ly	���� Sa��0jj^��疡 �ɡF���,���,�J�sÉ֦y�S�F����	�~�������9�k�;Nj���'֎m}�[�%l)M
�D�b[�F��ow��
E�S�f�������F�_��7z����ϵ
$�xL*4�� ;�!a"�#]���L��a�u��iF]I��A�[��$ஞf;< ���p�%�qJ�V�i��~=�T_�/�N3����Y�	���|�\��
�D����h)�
▲�s/�,&�K�O�R�g������A��*0��J�|+��Eh�.K��Q3ʫ%v�D1��-
+(f,Qq_��/�{�B_r�U��Ŵ?����G4Pш�Y�FT�
�F�@��܈B�o؅o�!�V�n���P(�}��u
k���g޵�����K��G:ވ|�ԑ��'��4�E$#��c��Nϖ>� 6Ug8.�v���
+&�華�F
�ZL"����%�HWK\����ֺz���=H�%vw�}d�mk��
Uk����m�‹��Z�Z�cډ���kkɂW5���%t��av�Xu�m-�����ZF��;��B�ed�?2][����/5�0�U����V� ?������l1GB3
���D�����V�y��
��Z;[�ЖΖ�$Bi�+}-'.�i~����5S
��U����V�y�lnlA��%�}c�=Pmly�g[�R�.il龍-M,6ѩ���
+��?<0u�����%��Xm-�
��m-%����2����S��w��\\�?z*oG~��
2*ʌ��b���X<��x�f.�?-!� ny����^*� 5�r?��T��w�ކ/ߏ]

�J8�v���'�ћ�6[
+�ȵ���ֿ*5���Ƌ]A�8����l}������5��,˭����L�z�=Vy
+),�w�O�����^�鍊l1%(;�]��ac��L���EQ2_%�l��s�{�����{�f
+endstream
+endobj
+2808 0 obj <<
+/Type /Page
+/Contents 2809 0 R
+/Resources 2807 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2803 0 R 2813 0 R 2804 0 R 2817 0 R 2805 0 R 2821 0 R 2806 0 R ]
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 618.662 201.372 631.06]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 605.157 201.372 617.152]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 406.471 201.372 418.869]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2817 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 392.967 201.372 404.962]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 166.929 201.372 179.327]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2821 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 153.424 201.372 165.419]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2810 0 obj <<
+/D [2808 0 R /XYZ 89 770.89 null]
+>> endobj
+2811 0 obj <<
+/D [2808 0 R /XYZ 90 720.814 null]
+>> endobj
+2812 0 obj <<
+/D [2808 0 R /XYZ 90 642.418 null]
+>> endobj
+2561 0 obj <<
+/D [2808 0 R /XYZ 90 595.792 null]
+>> endobj
+2814 0 obj <<
+/D [2808 0 R /XYZ 90 591.309 null]
+>> endobj
+2815 0 obj <<
+/D [2808 0 R /XYZ 90 508.623 null]
+>> endobj
+2816 0 obj <<
+/D [2808 0 R /XYZ 90 430.227 null]
+>> endobj
+2562 0 obj <<
+/D [2808 0 R /XYZ 90 383.602 null]
+>> endobj
+2818 0 obj <<
+/D [2808 0 R /XYZ 90 379.118 null]
+>> endobj
+2819 0 obj <<
+/D [2808 0 R /XYZ 90 293.39 null]
+>> endobj
+2820 0 obj <<
+/D [2808 0 R /XYZ 90 190.685 null]
+>> endobj
+2563 0 obj <<
+/D [2808 0 R /XYZ 90 147.376 null]
+>> endobj
+2822 0 obj <<
+/D [2808 0 R /XYZ 90 142.892 null]
+>> endobj
+2807 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F7 1174 0 R /F24 301 0 R /F8 437 0 R /F13 1173 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2831 0 obj <<
+/Length 2880      
+/Filter /FlateDecode
+>>
+stream
+x��\I�������-`�k_���qO<�cwrq
v��&"QJjOϯϫ�I�Z�� �� �*�z�꫷}�q2Kp�?�޼��‰AFR��>&'�$$�5M>�F��'c<Z��"�[-�/OٴL���}��/c�G�Ø�Q�dL�hY�'T�ћy�^�ۏ�c�>ˊ�
Dr�h3���Ǜ��7���	'�� ��������8�������7h�p��:O>������WD�����HM��a�E2ܯ�磴L��*IFk�מ���?����V�5�
\�D=kk���1&�F"��!�0� #DG��6mX�p��Ya������i�
<d*")<�Rل6���z�>e
��c*  yz?O��i�ɦ����T��G�¿1�ExRf�t�/�?
^� �+6+��Њ.�cKsD��-��f
+d*���{:��ˬ;�uuƮӧc-}j��EV��e��\>v05_ZL}�����m1͋��1v��z}2�.^�0H4xQAc�.�D;E�
�H�H��J �Cٞ	����]S��a�]��&�.^�0@@��-���=�B\��K� vr
qX���H�0#~��Y�\���Sw�:��k���9 F��b�,��g����X�x
����i1�7>aH�vD��y��:��Ě�3qX
魍��<��%�38,��?��o���4{
��o���|��
E'
�K7a� �F=
�
+</���~S򰷿>d��۳�y�	��6��ߕ8�
�ė�<��i.�G�+�J��5$��#
+y��Qf�ck���,H���@.W�0
+BK86�1�3�����嘩pl��!�8��$x����wh)�Hc�@`�
�Z�1H���о�� j��}*�낢�A�?�EBe�4$gH(�K���L"5Ң�����2�� ���`Ma��m.
��
P�V��>��
+��I5�"��
i
�"���z�
�
iS�r�{DN��������Ns��u���������ߪ|��J�1��im��{{�8��}p��2Ā�_֫�N�i��L0�
�Ⱥ
k�
�,��b��&�~�J��%��K��y8�X��*S����U-,8p���,jC8-���5��{Q�Q�9�X�*M�ѦVy_9
+�v����s�m�
���!��Q&
�Ugr��O��e,�m�1:j(d��e�fvDV@
1�s��}M�b�G���;���!�۟�h��[F����Q��g��ܺ=T��
�yd��hU���
��In,��1V#�j��l�F��G�zOH���Mw�^��i���b����|��xկ�--¸�y����[��m��e�=�5X��J��� ^�QZ�~���~>�6�ޗ�!�=+[���D��N3�؋'R Ax2�
:4?�"g���f�Y�Eo(�wQu�i+���
ʼ@@�,��F{4� 9Av���L�D���M���>еR9�����<��=�v��ɶ�N�2TU��UU��^�[��*Mu3V=��
Uᔰ
+E�	�1	0C����i�D�Iا�(4��l�:X�!l�`S8�<
�*1i�{.!g#
+R��I<L�y�E4g�%�+W��T�,�
,����;
ɄCv!p'K��Y�Q�����ҁ�A�u9Fʰn�Rwz�uH\���
H���fw_�$�4��NzT _���d.��s�'6@
W����Ƽ
W�b6�c
t�"�j���
�p.��e�ԣ���ңn^γǐn?���n>
dm����*s��}%ss�҇�"
8���-ѣ�+��4��Px�!åSMp,GAx�:� l�s{�o���U
�Z�@,&XbK�`�@@c�-
&�V��ƪX�r�2�Pi*s2�R泧-
+�r�j�1"qT�%�D�:ȀL\��j!.�\�S�vMu<���+Fy���jD<�, 
��]x0�
<?�S)5kbd�5��k�j�.�ĢR.6�0&]�
�
+<�J�-��&
D��� ӝ|f;�G�j�����&�d\A�0� �VߚJ�h��Ji[�bR�-4H���ѤR�T�}��F�(=iV�V��R����I�"<n7�ˀT��]��
M���ۂ,�a5�q
�q@!��.&���ԓDr��P���~�� A[���
�aoR{��8y��� @���BT��K�
tp1VQIO����I��
�����]es�
�ڲ���}��A�w]&�
)��xE7[�U�"�6e���LNd�.�î�v�
�.��y�-bRJ:l�E
7�"N�ER�Ē���k�"��
+�@gva�'h��Ǧ�����M~���z�/p�#�l�"���Tf
��3@q	��
ΨA�匠�W�}猢sF��Q.8#�0
�K��7�W�z��_�qTBZg�)�I�6�k�(h�������A�Ⱦܦ��
Gh#[��G�a�H�
`�5LIĵt�?�6�\B��@Qɐ���y��<@�����6���a6�̖At��:�F�~t�#J"L�E
]�GoG����8�|��X����s�[�C����J
Ql�`~	qt�:� l�s=qt���[
�2FGKt�
,Z����$����|��J]z����wE]��a��H�yL�Ŗ�1gw����Q��K�g�Fשӏ��:�״���
Ƥ�_1��^.�<�P�h�E���ё���]���ܙ��"&a���0"�BĠߚ0�h��0j[�B¨e���w��;a�M�����[��ɨ��
+�����'

�N��h*�����/#a��(��὿�1��Of���i1���/����d�O}�_��s��
1
+��SZl�1�L��f`Y��
A�gG�׃��,�ϯ�?Iu���F���k�?m6�?�~}����b�����w/������cU�,�Տ��
.
Q�}�1��
�
���{��Rԍh޻�Ã��,���d���J�d�
+endstream
+endobj
+2830 0 obj <<
+/Type /Page
+/Contents 2831 0 R
+/Resources 2829 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2823 0 R 2835 0 R 2824 0 R 2839 0 R 2825 0 R 2840 0 R 2826 0 R 2844 0 R 2827 0 R 2845 0 R 2828 0 R ]
+>> endobj
+2823 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 594.353 201.372 606.751]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2835 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 580.848 201.372 592.843]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2824 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 357.853 201.372 370.252]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2839 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 344.349 201.372 356.344]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2825 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [519.002 345.779 535.938 356.683]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2840 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 332.394 256.164 344.727]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 109.399 201.372 121.797]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2844 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 95.894 201.372 107.889]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2827 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [519.002 97.324 535.938 108.228]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2845 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 83.939 256.164 96.273]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2832 0 obj <<
+/D [2830 0 R /XYZ 89 770.89 null]
+>> endobj
+2833 0 obj <<
+/D [2830 0 R /XYZ 90 720.814 null]
+>> endobj
+2834 0 obj <<
+/D [2830 0 R /XYZ 90 618.109 null]
+>> endobj
+2564 0 obj <<
+/D [2830 0 R /XYZ 90 571.484 null]
+>> endobj
+2836 0 obj <<
+/D [2830 0 R /XYZ 90 567 null]
+>> endobj
+2837 0 obj <<
+/D [2830 0 R /XYZ 90 484.314 null]
+>> endobj
+2838 0 obj <<
+/D [2830 0 R /XYZ 90 381.609 null]
+>> endobj
+2565 0 obj <<
+/D [2830 0 R /XYZ 90 323.029 null]
+>> endobj
+2841 0 obj <<
+/D [2830 0 R /XYZ 90 318.546 null]
+>> endobj
+2842 0 obj <<
+/D [2830 0 R /XYZ 90 235.86 null]
+>> endobj
+2843 0 obj <<
+/D [2830 0 R /XYZ 90 133.154 null]
+>> endobj
+2566 0 obj <<
+/D [2830 0 R /XYZ 90 77.486 null]
+>> endobj
+2829 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F8 437 0 R /F13 1173 0 R /F11 387 0 R /F7 1174 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2854 0 obj <<
+/Length 2650      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks����W���
������:���#[r.k�
+!�AJ����3 )rvs�r��@wO���O�8�&8���_o..P81�H*�����Dq���o��sj�跛�	�#�%w�ݿ~�y��͵�������~�	��
�tr����N&p�c�3:yq-N|Γ닟.pm
+FT�K�Q�I�0B!���`�"&Fc�1N�l]<�1�"}
Q�.���&�ǬZd��R
¹vR6���h��x�6J�	���!��,�T}�E\��.�"�>/�u�:�"EW#FӖE#"�e�����̫l^��]OvMe�#���ʔ�U��f�bL˼G�1H
C1�iN�d�J�
|����K�NM����O��¿��(�}��#xD�VŲ�o�z[�mXo*g>[}ף�h$�晟�9$󲼽~]�A�ve*��Vc��W��>��!��s,�f+�L�P��P���q��oS͗?���Lh��WRD@�{�{0`Z�Fc�U�^���v���l��gEmJ �J��}&�� ���r��#��7�~)�3/��W���zk���嵟h)i�j�#�]����5��^�
lD�B�:FL�u"�r����)ZY�!,��(��C�DF�^Qw�:�I;��=Mƭ�ЈH�^�h%���<Fbr���ٵ��e�Wy�jFڋԆB1RMy�H����U��/�-
+�;�m�+�]���r�
_�^{r�PN	˫�,&�n֊���N�	4N��T C�r���VVe�|m���Pb�3а������ݠ%�m��
|۳G7B��D6L")��^�8�cJ��?�(��s"�sRTͰ���p�<3�D�P��c��&e����_Ͳ���U1��AE�"l"�.��7��_��j!��e8� QDͥ�}*��Ǵ��Kж4ܑv�S�n�]׍�`J�gNN�͹���˔�M
�,�$Z�̕�]����3N�J�,#IL�u
ʒ3��ϒ�
M����
�P��f0��H���P�K<�j�0�	�\H�zfy��}�h������.,4������
>�/ӗ�Q�����
��T��+Ѿ֒���X�2�<yf_�����{���\�L�����3
���]ן>-�r};vS)��
f�m|;�@)�Hc�?�H;�uc
�����
b�o�̪��
/��0�ӢjA
��
�R��f|'oR�om�0�/
a/��[����c=�;�H*��Bmy��3˪ B���
)�> ܋�9��냬N�n��`�-�hgۻ۫�ܑ<��K>�f^Nz�S6��0�� �d�B'��0�Uq�
�;m
&yF_�` �VeԮx�̃T'�[X��p���uR�[\'5lש ���y���u*LB
� ;
A=lF���c���G1Ւ���S������-�)a�
CT�!�i�gቩ�FxF"<U���b���=�J��
�x�@aGzj�Oz���I|�z���������g=�YT�g=���	b��
+%�f=�0�)�b����z�f|9�����=��@;g�)q?�iXwӍ�t2��9��'Q����P3��+3��Nh8&@�.�A!���&*��!'	o�:ϴ��q���\����%�D�t�,�e3
+>ET��chB�y�y�9�I�6�|��t#�
Xjd�\�.�'
�g�㒝����Md�v�fI`�W%;O_�p�A��/�	u�ķ��L�r
��d
�.����/ ӗXgTD��%1*�iIA���f;#:h�vv<t�������Mw����=�h���,��N�����t��ҝT��N�6Hw¾�k�>��$�<
-<HwbPˢ�6�4T$��-��$͊���JŰ����p`��1��a99w�(j!����6P�����6U�iV��� � �0��~P�U?(�l�
�9T��:<�Z��:�m���Z
+�m���*�z�"�]��#����׭m�Qu�$��jZ�lhA�<-7}��e��M�+�{��Ƴ�4��W�6�FM�9*�(����`��|]��cX
�w��Z]�=������t��2����x!�D7
S��:���@��0Gn��:�a�3��Ŝ�
[̹��l�(G�f�
�R�k���~�����Q���
� ����L��%�
w
�rs�?"�$
+z7�Q�/ ӕI�#�ΖĨ��(�L~m��A����i�3pGw��Џ;�	�/_s��r���`��`~�����
�F'g���a6*���92b#듢��ti��Fz�Q���>�(W2�� �Q/����q�d
TR��`[h� 4oFQʡ1���Z�����2|�C�H���V����(IHME�@	��w��N Ϳ�:����/��
Xb��%;���%�������
W6Ln���z��<@�p�Y��7
|�7V������o��V+�=6A�q����=����
�Z�L�̹"�d���N�}�
+�:-���j��*Qw���L��˪B��U�C��D�܄�Z����;���
��m	�qc�7nn��֙-�G�Q��WW�����ų����SVN���
���|�`�l��_Vy����E��3+��%�
+~��W�
ue�	�,[�^�y�]���lW��
��` �۬��׏���{���r��m^V0h7�ǃ���1�eU��(�����N��}
 
+endstream
+endobj
+2853 0 obj <<
+/Type /Page
+/Contents 2854 0 R
+/Resources 2852 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2750 0 R
+/Annots [ 2846 0 R 2859 0 R 2847 0 R 2848 0 R 2863 0 R 2849 0 R 2850 0 R 2867 0 R 2851 0 R ]
+>> endobj
+2846 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 543.896 201.372 556.295]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2859 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 530.392 201.372 542.387]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2847 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 530.392 267.79 542.726]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2848 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 331.705 201.372 344.104]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2863 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 318.201 201.372 330.196]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2849 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.234 318.201 267.79 330.535]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2850 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 168.132 201.372 180.531]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2867 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 154.628 201.372 166.623]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2855 0 obj <<
+/D [2853 0 R /XYZ 89 770.89 null]
+>> endobj
+2856 0 obj <<
+/D [2853 0 R /XYZ 90 721.073 null]
+>> endobj
+2857 0 obj <<
+/D [2853 0 R /XYZ 90 646.048 null]
+>> endobj
+2858 0 obj <<
+/D [2853 0 R /XYZ 90 567.652 null]
+>> endobj
+2567 0 obj <<
+/D [2853 0 R /XYZ 90 521.027 null]
+>> endobj
+2860 0 obj <<
+/D [2853 0 R /XYZ 90 516.544 null]
+>> endobj
+2861 0 obj <<
+/D [2853 0 R /XYZ 90 433.858 null]
+>> endobj
+2862 0 obj <<
+/D [2853 0 R /XYZ 90 355.461 null]
+>> endobj
+2619 0 obj <<
+/D [2853 0 R /XYZ 90 308.836 null]
+>> endobj
+2864 0 obj <<
+/D [2853 0 R /XYZ 90 304.353 null]
+>> endobj
+2865 0 obj <<
+/D [2853 0 R /XYZ 90 245.577 null]
+>> endobj
+2866 0 obj <<
+/D [2853 0 R /XYZ 90 191.888 null]
+>> endobj
+2620 0 obj <<
+/D [2853 0 R /XYZ 90 145.766 null]
+>> endobj
+2868 0 obj <<
+/D [2853 0 R /XYZ 90 141.283 null]
+>> endobj
+2852 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F99 1084 0 R /F60 304 0 R /F72 326 0 R /F82 428 0 R /F8 437 0 R /F13 1173 0 R /F11 387 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2877 0 obj <<
+/Length 2581      
+/Filter /FlateDecode
+>>
+stream
+x��[[�ۺ~�_���@��N�-
+�i�4ғm_҃�����eG�����E�(�wn�$Y����\�o$�d���w?�߽���I�RIer���8Q<EB¯I�e at 0l8"��:+���z�x��2{X�ˬ|*<@����!уU1
Q�Zd��;�9��� ���HJ����{w����N8!N��N�˻/��d�?$�T'�v�2��q�|���
��i��
+sj~����S�1Oa(�n��?de��+�$l�^{�{gؿ�n�{{+��q��L����d��@D�4��D�cRa4A�
��ڴem�	�D���:{��ʸ��!{I���ȶ)QJU���,w.��+w�z����ߛ̗y��׎]�2?�y�X��G?t[�WŦ*�y�O��%
+"�a��ˆd8��]/񲸔��k�7マ�uf?�g��
���6��
L]�
?����;P�^�#���t%��Z�u�s2�<y
+��<XN���{���\��%☹�z_
9��^�'o�!S����z��K8,N������lo���v�b�4L�@`�:ڵc
��-��W(NT��
��r5�b�lR�T���Y$ܶ!9E�v�T���
+�Cv ]�����k2�h	g�Ϊ��¤ )!)U37jU����ݪ �9cw�9�b���b8ό���������j��A�s�;�`0`���́.-΋��3���WU�w�fH=�TBe)b�:
� rS�r������T�(ڂr����
+p�o�9�|3�g5��_��3��Ls+V�GMKQ
+�^���
%�8B�!@K�
��^�cApŘ
�N;�;<;
���P
+�i
�Tф�瓼��}���Jb�Ǥ�� ���|Z�
��G�CZ�:Rz@�}�
�J�䖗�ƃߺa�F#F@%�#C��^�� �
I"�%�L�b" ;"0�8SnN�C5�KK#��$0]
+Ci��?�,7�U>5{�_���Mz�c��aպo:@3���q$ȩ�\7"��$��(E�5��[�T��#�z���#
�� �W�|�]t��)(�ʸ�����!
+���E�<S�

���L�
~̫�<�-	ɝ������h��ܹv�J��t���׽h��Q�s$�&��1D���Kt�
Pb�T
	�KBV�
�!km�)�x���1��
��10���Q�'=��r����� �Jw�R�dqOA�`��
+� P��
�z��
�T��<�yql�֋9�^)��H�ω�9�	��.���6%������aɡ<��
+?��4�rV��0e����f�MM��M�*]ɀۮ��I�]>B>�#
	��8�E- �Y�j�B�-u���
�sQ`���6���,�<�}�e����D�R�
�j����X�dKm��~(����I��^�S�xV̿nsS����\��C�H�@����/k�p�wNH��J
�J�^A�K9� ��@-�Q@���ۂ� �h��Ա�u
��
A��
 &I,����]
�۠ݬ��
�e5}�v�
(;��`̙�����pԙ�q#��'1̴�BU7b8�6b�n7b���F
l%�J#V	~[#�f�B
O6b 
Reza6��ӟو٘
��ڙ�@G�` 6�\�!Bw")�R�w
�$�gT�S!���l�E���2ն�|IN�a��a�/��#Z�lK�|�w|�Uy����gE���@z�ۗ㔞@�䩡� 
��?O$q�?��L�?1XLG�-�Q�)ӂ���q��h�t,t
��q��~6�>�8W\����@F;.���E�I\A
eiW�[q�����+
��1���"��L\�M�j0�y��BUC=����z�c���J��TG�VQ��\�6�s�?7��$�Cp
+4 w
�g�ΤL"Řr��7����|��#.�`���Y�PP ����{�C ��ǂ���h�ǂ�#���I/
dHPڙ�pV-r�������k�ͮK�8�b��Ϟ���|�L��㪦�v��ި�^J�BE��*�A�<�ǹ�[]��e��J#�P�
{@)GR�����EߨEo3:Т� �i
��Lv�����[O����z�o65���=�
+���J -jJ�S
� �p
H��LRR<g""�iI�Cu0FR@�)�
+��?�Ŵ�=�+�!�R>\Id".�&2��_Gd��D�1Cd�HM�7��S�9^9i*�+'�+'�R
ܲ-���VH�9ζ?�E���P�MTp)7C`��k�8�&����ƽ�z���}��<4�TS�n���*؅��]�#��$R��{�̓L�@�P5.i���i���ιL+��L�czϴ��#1���L+P�ӊ1�gZ���0�s�L+��(ӊ1�gZ���6_
�˷@!���[�����ɷj���.�j�d��g�U��h��U����#(R���o��dn7�ܥG��Hu���ѝ|h}��|̊�6����#��ɾ����M^�f(���Y����l��e��?�ϻ�-���y��[�I}��;��;�	�a���YU�����v���ƫ��
V�]���Sm���p�
���
0Cu 6���7
��+�"H���s{�~�_x�~ɒ?�`Ov���
u

+endstream
+endobj
+2876 0 obj <<
+/Type /Page
+/Contents 2877 0 R
+/Resources 2875 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2869 0 R 2881 0 R 2870 0 R 2871 0 R 2885 0 R 2872 0 R 2888 0 R 2873 0 R 2874 0 R ]
+>> endobj
+2869 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 643.369 201.372 655.767]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2881 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 629.865 201.372 641.86]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2870 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.509 643.25 484.697 655.767]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2871 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 443.532 201.372 455.93]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2885 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 430.028 201.372 442.023]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2872 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 331.516 201.372 343.914]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2888 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 318.011 201.372 330.006]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2873 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 166.394 201.372 180.341]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2878 0 obj <<
+/D [2876 0 R /XYZ 89 770.89 null]
+>> endobj
+2879 0 obj <<
+/D [2876 0 R /XYZ 90 720.814 null]
+>> endobj
+2880 0 obj <<
+/D [2876 0 R /XYZ 90 667.125 null]
+>> endobj
+2621 0 obj <<
+/D [2876 0 R /XYZ 90 620.5 null]
+>> endobj
+2882 0 obj <<
+/D [2876 0 R /XYZ 90 616.017 null]
+>> endobj
+2883 0 obj <<
+/D [2876 0 R /XYZ 90 545.286 null]
+>> endobj
+2884 0 obj <<
+/D [2876 0 R /XYZ 90 467.288 null]
+>> endobj
+2622 0 obj <<
+/D [2876 0 R /XYZ 90 420.663 null]
+>> endobj
+2886 0 obj <<
+/D [2876 0 R /XYZ 90 416.179 null]
+>> endobj
+2887 0 obj <<
+/D [2876 0 R /XYZ 90 355.272 null]
+>> endobj
+2623 0 obj <<
+/D [2876 0 R /XYZ 90 308.647 null]
+>> endobj
+2889 0 obj <<
+/D [2876 0 R /XYZ 90 304.163 null]
+>> endobj
+2890 0 obj <<
+/D [2876 0 R /XYZ 90 245.388 null]
+>> endobj
+2891 0 obj <<
+/D [2876 0 R /XYZ 90 191.699 null]
+>> endobj
+2624 0 obj <<
+/D [2876 0 R /XYZ 90 143.826 null]
+>> endobj
+2892 0 obj <<
+/D [2876 0 R /XYZ 90 139.342 null]
+>> endobj
+2875 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F11 387 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2904 0 obj <<
+/Length 2474      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�8��W�T�����yd����f�\2S*Z�%�H������o %��d=���E� ����4N�	N�q���ͫ�N
2����>18Q� !��,��:���m¤F�Hx�=��߿ܾ����m�y}{��
�&���@J'��ͧ�q2��o���ɳ�J8ep]&o�s�U�WD����FAM:
+j�0�"
�y?�<��l�o�zDH�vz�I

a��7ڶ��a��0Gg&���:2��@X#�H#���T�M��'�[�v�MF�0F�Po�7�!CI��Z��$R"CU���"���i����uw�ս���i�<+Vy�.�r�o*�f3t|"�HD����e�"���.�x��IX[ʵ_�ן����Y�����YRpd�Q�]T�g�$�H�]
<B��ہBp"=���/Ѿ֑��(�7/�Γ�`������a�g�K����%���z����b�G\�U=�.^�v�ֈb�4�8}�$�)ڟ?c
���(6�I0��E]��H�Kpu���FF����N�^�d� .H��V�G0�Ft����I���P�PM�#!�q9�?����q�
�=��H�馪���@�r�V+��T<V)����9M�ގ<09Ν붓�>O� ��;�a��
L�P�k�})^2����E�2H��7>\#�x���hդ*�3Dg�1x'��lS<�e�v �����_Y���a��a�Xa���"�� [...]
+��{&���b^�U�
�xZ�[h@�Q`)x����N[�$�{ED�n_��{��	a��ٺ�v+��u�4DO�P��[�;�w�g0FP���͢XjC,�u�m�����D�g�`��Hf�� ��5�Qڜ�YVΆI���Y:��¶�w���?l�K��h�N�8��O!��8"zK:���Q
7a���)�a�

5^~�P	���""��H��(ȅ�+ �0��ԛr�q��-����z�T:�|���]��09ضA��rE4P
�z�
r� �u�!_�
�$�&�
\n�jV�m�DWͿ��rZ�
 ,�-�Q���pأ@"�ָ^_��RȬ�a�%�7�5�_��
h�0�ӝ�$�+
�$�e�j��g�
��k��C,t��q퉌}�z�֡?���?��yK��64��I����q��Q
�\q1ס�L�s�Zpa+���Ő�d�Hv��K�#;�Ovl�ܑ
�u���f�R��%;��P��`rgx�'zßHv�|U�ۧ!�#�êTd���PE���j��3��H�ްA����%D����P��E�|=��oX֘a�[�������{=@�(�XJNf^�G�x}h�Ѕ��1d�eK"�Z�O�� p�7T����Up�V��� �@���.�&�R� � 
]�C=�MKA�
�p�OD�L
ٵI�Ov�����OT�Tf�D%Pf{��'j�S����k�6	i�/�+M����G�]<��:_?T����1
Wx���i��:�0�r
�y �����/�x�aV��^}`�!B��� �{8����
�Q��
nί>���
Բ���.c'�9��T���Bn+
��';�#(
�6�>���U�yss��	
��O+i?A
P,��kPI���dE��b�
1��$�gp�v
ș��-r��m����#�52_�@�,أG�D�	�R�Ig���w��ײ -Y��	,��8�
[(�
�)�2��L�t�C�|8x�	���2.�/{��{�}q(��rb��d8l���g_c�Y���S�UQ%
y�P�
+6����AP>�8R���02��7�`�(���x8a���\���26dN"s�5�n����K*��A�s@������Vm�l�{
�3D�G�))�I��(:|��p��*�Yz�G�5�

�p�����4��`�'=A�!�AJ�^9���
*��2R�ձQ������)_A�C�DC��1QiGbTT
+�"��5(�h���
t(�Z�1p�I'v
�j�U!:��:�6��7�8u���� �t>:�/A���A$�$i�z�U2_D��ۭ�G���YP,gG��\8��z�hE
+��a�]����Do�Qbn|~h��k�L�*�Z9$T�H�
�]�a�ۇ�v��
.�c�f�P>���G;~���%N��S����ÝC���S���jH
�,N/���4
K�?� �
�66���wv>�VE[�o?'?!�7��!��M��
E�elD�}:M!X�S�ݢ{&��0nc�	q

�lc��5��4^�Y��
+��čA�x'�M����V�����A�z��������B����wY9��M�7%�{[1�.��y�7��U�d���Ǭ9`�n�p�[(��0�����u?�?�3��[�� �Rڮ�b�y���Ww��u^�ѴZ�����J!�K���ͪj?M)Jx�r��{���&��
+endstream
+endobj
+2903 0 obj <<
+/Type /Page
+/Contents 2904 0 R
+/Resources 2902 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2894 0 R 2895 0 R 2910 0 R 2896 0 R 2897 0 R 2898 0 R 2914 0 R 2899 0 R 2900 0 R 2917 0 R 2901 0 R ]
+>> endobj
+2894 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 641.82 201.372 655.767]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2895 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 531.353 201.372 543.751]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2910 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 517.849 201.372 529.844]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2896 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 505.495 201.372 519.443]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2897 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 383.656 243.45 397.603]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2898 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 331.516 201.372 343.914]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2914 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 318.011 201.372 330.006]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2899 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.509 331.396 484.697 343.914]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2900 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 196.436 201.372 208.835]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2917 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 182.932 201.372 194.927]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2905 0 obj <<
+/D [2903 0 R /XYZ 89 770.89 null]
+>> endobj
+2906 0 obj <<
+/D [2903 0 R /XYZ 90 720.814 null]
+>> endobj
+2907 0 obj <<
+/D [2903 0 R /XYZ 90 667.125 null]
+>> endobj
+2625 0 obj <<
+/D [2903 0 R /XYZ 90 620.5 null]
+>> endobj
+2908 0 obj <<
+/D [2903 0 R /XYZ 90 616.017 null]
+>> endobj
+2909 0 obj <<
+/D [2903 0 R /XYZ 90 555.109 null]
+>> endobj
+2626 0 obj <<
+/D [2903 0 R /XYZ 90 484.175 null]
+>> endobj
+2911 0 obj <<
+/D [2903 0 R /XYZ 90 479.692 null]
+>> endobj
+2912 0 obj <<
+/D [2903 0 R /XYZ 90 408.961 null]
+>> endobj
+2913 0 obj <<
+/D [2903 0 R /XYZ 90 355.272 null]
+>> endobj
+2627 0 obj <<
+/D [2903 0 R /XYZ 90 308.647 null]
+>> endobj
+2915 0 obj <<
+/D [2903 0 R /XYZ 90 304.163 null]
+>> endobj
+2916 0 obj <<
+/D [2903 0 R /XYZ 90 220.192 null]
+>> endobj
+2628 0 obj <<
+/D [2903 0 R /XYZ 90 171.346 null]
+>> endobj
+2918 0 obj <<
+/D [2903 0 R /XYZ 90 166.863 null]
+>> endobj
+2902 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2928 0 obj <<
+/Length 2651      
+/Filter /FlateDecode
+>>
+stream
+x��[K�۸�ϯ�-R�
+�Drr{�o�cO��l�8�a"�Z�c��ק>DP�đ`�a�
>�F?��@�`��ǻ��߽z�p���T��@�@q��������H���`�g�(�G�C�{~��y��%y�?���s�g��9	gY:_P�g�EEQ�~�7����Dr
�h6�����7�w���	��A ����_q���?1
_�C��S�]���w��N{DT�Ss�'��$C�0�"
i^���(��qi�$���u"yp�ӻ�Ms�df8D`ܳ3�h`n
��T "ZRK$�8'�&H
�[Y�v�M8G
+�0FX���_��2𘩈�p�F=d׵��HS��q�W��eN8@=��+�,��␥�$�V�ʬ>6o�hU���}�I��ͣ��<>�UT�뿜�� �&>�(F$�>]ϻ���B�� ~|O`B��P!��j���<�6-=�Ѣ���i� 9Ǟg�[�a_Z�q$4ɑ�������7��HWK|YƗP��&��}J�
�~BR��"I�Y�mU
_`�2��"!du�!(��I%p$}�济D{�pD!uU2�8�8
f^̷����AKA.�pa
a���z��9d�h�����9S��$�r�0�p�\��E�����;��sb��@`�;ڷ����-t�>(�Ўc���<3�k]n���$���!���4�tK�pTA)��:�뜓fe�
��(,{M+�u��Y�*��S1/e.�A�\u<�@"á�@�/����%:�f�ZQ���D�ȭ�a��OX�P�$���s��8ݖ��7y>�b���+c��U�=c]�
�8Θ	p8�Y��p�4�A\����Q-���J��70��\T���	D��n]�������*���4�,�Rl
����6[/���r��1�
d2n�w3����
dپ�o,0���i*��mޝ�znp��4!4<
a�3��$�<b2�%���E\�d@������N|�%��X�ഫ�Ч
+��TM��L��Z�h|���q�
+
��i�+jb`tAf~F��
��B�p�<���!��
���g)���n}��Z�$�3�	��~UH��*�9�2���	gT7��	�:��*"�ML��5m�b�).�7�ˏoH�$mD1�SdM\�0 ~� �t�Mw��X�8-*��Z��Lm�i�O`�,Q0�eA)L�n��QL��g���H@�P��+���D
�%"I!;�R�R���]I6�)u0��L� �@^%`��L�q
��c��]��~
�vF�'�
2X������m/ u��„ܨ� �(�2!E\�]D� }T|��'!��m���
������a_6�Y��M7�p��!§
��X�0�h|��
PC
L���+ r���t�{o�c�y�z�QpK �ɬ��w�$��3=�e�4�aGe���
�6�O
k���wW�qӺS��8�/;Ĺ}u�x��=Nh��|2��K|�ȡl����H r�C���7�i#�Akdh%bG�W�C?�1���G5�B�B��
�9
~��0�}V����1A���h�f*�צ�E�����M����&�� �UHPr	z:�YΡiϲ�
�fD8��8�&�3h�:�UF{��Ei%i�>�C��!���]L�` �^��L |%�jF/���`���t�4�
閫Cf4��� �fԛd^�[`�������o	
�E��[�i���n1����������������}t�Z M��tvt�ZXQI/�*N��%[�3d
�m
0]`��I�[�}JWeK�:tȂB� [...]
�0D�H���̋ �f ��EjP�1���s"��l�VS�Y�$~��E����_
1��Ce���sL��V�*q
%B�D��?���3����%Z�I�K�J��D��� ��a�{�|���Q����Ѥ�C�}���x�l��
�F�m
M$<�aG��q�cR'x��ǝD�K_������x�DS��^���M�
��)�
�J#���A�R��GË5��1/�
�ͨ;��"
��j6�%B��xP�l�P at e�z[�Y�*�V
:Z3���#%�c��i��|��ہ���ő	 q4t7
^�������S�{�u�t[-� ������bnql�����E�G,�,�I�g�n�垲ӣ�e1
^�T���$M���N�_
O�Ҙ�EX��hS����;�C�ǜ�ٝo ��Y� �yew:��;������x4P���,t
�㘣��IG؝<�_�Dm���"��x.�Hf=�Ln1
�,Gy\	-3�X���G�[&C��:��Y�,UߒH����v%�P���
s�d�O�J
sՐ,��:7��hК1�@*$`���%a���4/jFK�r"�r���'"�H=-7ɼ��SH�
���Fg�jN}�8GÉ(���5�s����<�נ8G=��F�
�`��8�r�O�9Et!�_�71Z
@:(h������E�U��:}�5�U#(�$����s.��S��|�Oa���ߑ5�zr�3
�- �
���Ƈ䀘�"��Q��[]y�ۧh[?�.-�|cY����W��
1���s�>5M��@Ec��o�	��L����٣���ߠ9�ǝ]��� y`���>���ϯ^=<m�8�"(��~z|Y)���o����q9����#���r�	���k���̌�R�>�=�7��
���Y��
������y
+endstream
+endobj
+2927 0 obj <<
+/Type /Page
+/Contents 2928 0 R
+/Resources 2926 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2919 0 R 2932 0 R 2920 0 R 2921 0 R 2922 0 R 2936 0 R 2923 0 R 2924 0 R 2941 0 R 2925 0 R ]
+>> endobj
+2919 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 631.015 201.372 643.414]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2932 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 617.511 201.372 629.506]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2920 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [99.655 605.157 201.372 619.105]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2921 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.262 483.318 243.45 497.266]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2922 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 406.869 201.372 419.268]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2936 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 393.365 201.372 405.36]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2923 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.75 406.75 535.938 419.268]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2924 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 184.969 201.372 197.368]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2941 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 171.465 201.372 183.46]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2929 0 obj <<
+/D [2927 0 R /XYZ 89 770.89 null]
+>> endobj
+2930 0 obj <<
+/D [2927 0 R /XYZ 90 720.814 null]
+>> endobj
+2931 0 obj <<
+/D [2927 0 R /XYZ 90 654.771 null]
+>> endobj
+2629 0 obj <<
+/D [2927 0 R /XYZ 90 583.837 null]
+>> endobj
+2933 0 obj <<
+/D [2927 0 R /XYZ 90 579.354 null]
+>> endobj
+2934 0 obj <<
+/D [2927 0 R /XYZ 90 508.623 null]
+>> endobj
+2935 0 obj <<
+/D [2927 0 R /XYZ 90 430.625 null]
+>> endobj
+2630 0 obj <<
+/D [2927 0 R /XYZ 90 384 null]
+>> endobj
+2937 0 obj <<
+/D [2927 0 R /XYZ 90 379.517 null]
+>> endobj
+2938 0 obj <<
+/D [2927 0 R /XYZ 90 308.786 null]
+>> endobj
+2631 0 obj <<
+/D [2927 0 R /XYZ 90 274.116 null]
+>> endobj
+2939 0 obj <<
+/D [2927 0 R /XYZ 90 269.633 null]
+>> endobj
+2940 0 obj <<
+/D [2927 0 R /XYZ 90 208.725 null]
+>> endobj
+2632 0 obj <<
+/D [2927 0 R /XYZ 90 159.85 null]
+>> endobj
+2942 0 obj <<
+/D [2927 0 R /XYZ 90 155.367 null]
+>> endobj
+2926 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2949 0 obj <<
+/Length 2651      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۶~�_��J3����t�N��N�8���I&Õ�ZN$R&)o���  )R��3
�eI�����oI
�#
�����ͳ)
d$���}dp��AB¯Y�����/��#&5"F�Cn����}���;;w�����
�)
��@JG���O��hï#���ѣ[��8ep]D�n~��5+�Qao�fP��� �y�C�{nތ)�E�L��2*
_;�w؝��vn�dX#���I4p�͏Jtd"i$X
�
+�	2Bl��Ҧ
i�J0�6��{^�w����0x%�k�DJd�_�Y�Y9�P�G�C�o�I�q��D\���t��ww��x6Kf��|�N�TV�����ôa
$.ԕ=h�_�
�ү�
����f
:,PA$"Wt��Y�
����)���l�r�����i���<;��'��
u�}
�"	Nһ93��9x+�S%p%��c
�n�pD��<�"��{������A�.W��q̼�^ec�G�E:��y1fj4_/���u�
��iM�
�-����O�s�?R@ �:�-!�8"R
Kh7�Q
����q�P�c*F�D�F�PD�IF��0k3t��A
�6k�Cd@�X�T�ijU�|�ϟ&i6͗��J�n����/������[�LRbY�N���R��5�3śE���\���z���	����7mP�Y�a��$&(�T'f��,��>�!)F_���1ţu=����u��YU
K� &����P��6 ^C�p6 �l�55����'c<��
?8��['����Z��2�-`)�d�sGV�����hӲ��
+W��9?�%��C2+��Qf{�;Tlm�H�<V��I�7cFG
��D��
�����0�e�	��D�dpC��{LgI�f�a�-��1D"�;�e��3o?c��X��s&
��:� \�R�p��G 5o
m�M�xk
Q�-�q4a
��I]���/�v�`
rI@ZBN�׈��6	��%ř�{�M��C�$�&�Q�S���m���Q�q��UV%sklI1@����V8�_�X���@�� P
�	[�zB�
�:������ܩ�l���
����t��YT�ER�U����q]Y;o{�^�rA��޼KN�
�ŀRЫ5���1I��ÀK-�:��jB+�1�]*�0�h�|�F�
�
��z�[?m�/C���mQp��P`[��!oJ�+�C"f
�
��db���q��;ɪ��y���w�F�:�g���n��l\��J(4�@:�<? q��۷��S��˥��怤:ĝgš):+�R����CF
�ٚ¦�MǬ�:&���Ä�a�!�ש~2�9�p���:������`�¸Hc�j����4`�'���˻��+\��mq�	��� <��6&x��d�m��`�
,e�=��W�<>$��ū���H�RЍ�6/�I��᪇&ٶ��z�%BwMb�,���d����׉M�'Agkw�+X�
:�p�u9��3��		��q! ű���G��C#PX��Y�bP�s��ģ��
+��ζ$tv�G;�	{;����'�v5��t�b�0tfہ�_���1��U���,�DEXO���Q
Ȃ�IT-D�1 ���$�՘���@-�v�����@a�{L� YY��^@-
ᠷ��0�7�
 1ЛqAB��,���
��4d�z��k�8$���-v����?�x�,2q*Ġ>RƄ@�,)��?�s���?4cԧF�1�G_��X�G��џ�a
���K��]�(A���D���u<
��=&���b!�78�&����S�x5#!���)v�s
�&���s�~���\�޽�`)JFz��σ~�5xŃC?T�o2h��h���2�* �ӡ���
)�χ~�U�O@5�ϖ�.�~z������Ū��u
����U4�B?ĂM��B?�8�s �ԑ5D]���>���>����>������"]�������!"�p�PH��o�[G6v
d_à���}+�߫"��m���9���`�sU���O��&ж@b�zI�T
��A���u��7
P�HR�1��[��t5���:mZ![z��
�<����*�>s�-���%
i�\
�5���h����	�h��-���r=D��r���W
�O%?
wm� [...]
Qp���'.~}]�����@̮dbo�q�E at f�Kq��I[����й����S��$쥻�_�İw��=�^//�[�>�K��o+Z���<��
���c��'�]h���ER��P�ֈRuR{�6����W��P��R�����"��~�})����&�"E٩�w_���ܸ��
X�D)�&��n�y�
x�jɢ�@lCn�&����o(���h�>K���c�7����
S�#���|
�녶g*���z�eR�e,Ĩ����u\W���}�.ʴ)_�ޔ\'�.I�Z�����޸
+�{�q�-A
�j��g����2�����j�0t3x� �7��2oz��v/K����u���*^��
+endstream
+endobj
+2948 0 obj <<
+/Type /Page
+/Contents 2949 0 R
+/Resources 2947 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2943 0 R 2953 0 R 2944 0 R 2957 0 R 2945 0 R 2961 0 R 2946 0 R ]
+>> endobj
+2943 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 643.369 201.372 655.767]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2953 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 629.865 201.372 641.86]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2944 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 443.532 201.372 455.93]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2957 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 430.028 201.372 442.023]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2945 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 243.695 201.372 256.093]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2961 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 230.19 201.372 242.185]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2950 0 obj <<
+/D [2948 0 R /XYZ 89 770.89 null]
+>> endobj
+2951 0 obj <<
+/D [2948 0 R /XYZ 90 720.814 null]
+>> endobj
+2952 0 obj <<
+/D [2948 0 R /XYZ 90 667.125 null]
+>> endobj
+2633 0 obj <<
+/D [2948 0 R /XYZ 90 620.5 null]
+>> endobj
+2954 0 obj <<
+/D [2948 0 R /XYZ 90 616.017 null]
+>> endobj
+2955 0 obj <<
+/D [2948 0 R /XYZ 90 545.286 null]
+>> endobj
+2956 0 obj <<
+/D [2948 0 R /XYZ 90 467.288 null]
+>> endobj
+2634 0 obj <<
+/D [2948 0 R /XYZ 90 420.663 null]
+>> endobj
+2958 0 obj <<
+/D [2948 0 R /XYZ 90 416.179 null]
+>> endobj
+2959 0 obj <<
+/D [2948 0 R /XYZ 90 345.449 null]
+>> endobj
+2960 0 obj <<
+/D [2948 0 R /XYZ 90 267.451 null]
+>> endobj
+2661 0 obj <<
+/D [2948 0 R /XYZ 90 220.826 null]
+>> endobj
+2962 0 obj <<
+/D [2948 0 R /XYZ 90 216.342 null]
+>> endobj
+2963 0 obj <<
+/D [2948 0 R /XYZ 90 133.656 null]
+>> endobj
+2947 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F11 387 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2970 0 obj <<
+/Length 2776      
+/Filter /FlateDecode
+>>
+stream
+x��\[s��~ׯ�[əp��K��L����tƱ՗&$A'�(��ֿﷻ @ %��:�� ��ٳ���9+��&�ٿΞ��=����#Ns��_g�fF:�4~]e?�%J�'�R:��W����rv[\����*_ݏ

�WcNG�1���b<኎����u�}]\�]��, at R:|�����gߝ��~���X�Ac����Ͽ��
+�_f�g��a�<�\�:�ޜ�tF���W•���r��5i
�Tf�	b��
���eq��.������3�	
0O5Q���>��>\A��ǦI�s���H�W�4�8֡�pe]�����I�!�HcUd�-��W7%�ו�xCY���4�vϢ�^,ƒ������oVcaF7�y�ؼ�x�ek�.�0F��
���;�FN%lC��� ��]	!	Ӧ_ at A
�頜:�oJ��v�
s5z�}����گ���dD9����t
��{
X5�>2DY
��!a	���|q�C�i"w�\�1���
�������gys?�..��|3���W|�\�!WS�zn�!Q�C�V��O�A��9sIc�I4�GFO
�:��p�d���;/r�G��\��ӫ�+d����۫�2�
+N)�����X~�
�L��mac�=����#֊$�+�ә>�������yP�w,��B.$��|�)�
�'�"�)���CV������m�I�FD�LZ��جr('�cn��-�ʦ`A
+F�OM�:�7�h��PE�0Ԍ1�8Z�����%R��K�Sv-�ce+��yt5�[ 
Hd�$��~�)�=t-�ǬcI��Z���F<���-f�
+�L��8I�
A7Z �8���Q�
+ .��Z�8}T
~ݷ Jh
�_,6ō�
 �8���W��
���m���C�T�S`- ��;�Ꮪ�88�ɖ\��a����?��9��7�b��m���z�22��|VOkn���ӫb1]��$A�0���>�m7ѝ������xW,���KO��a�.Y����d~��I�
���gf��#v8"/�s��^��B��j
�׿ �Wq3���|6�7A���n����>$�B0A�A}�,�1�	��sd,p ��
k����ob��mBk�C6�pb�ؿ��D<
.$�6
+֩���Jh����Z��Gª�-�%�4@ɩL�
[k��jq�Me�1#T��`����2��o�����0�
tQZ=
t��ܣ�=� �:
����
(�N��́��O�P+NM1Z����G�X1�10J9o��G��46����y]�{Tѵ��]r����7��
���C�>���ӌ���
+HR#���/��>|��A�
a#�au=j{'q�ozM.|� ���)�a�q�������`C��Η3��4��{�_o�� l��hx�Yl��*���)z	Lg|��m�( �:����Ȅ�A�3��[4,��^��e����f����z��&��%�ߕ����<�槧��}5�*fy	�6���b����@�<ɿ�U�3`�a&�{
M񰂯�U+���+-)l e��#�
A~I��	
�
�I
��`����_uR�7����oGB�U|[��R�MU�=Z�Þ
�Ԉ������|%v����%_�-�*�,���`��"6�ⴂ�/޺6O(�J�dv%���=����⪷�
�eY
+��Vĸ{Ͽ�_*z�u6���J꫟�=�S*�
+�e���E]�]|3�����JA�IQ����������E��
�^W|�0T|
����Ύ�?�}�	Y����BїѪ�'͢o`#}�]�et��k������T�V�7�z
	�ŷ:�!u
�b�w�FU��?
���B�R�xR�}����� yO�����Dh6��mK�崮��v��7A�M� ��u�l�ķ���Ψ�1hC�Np����]�
+�=T`�lGfՋ��|���3���w"%�O��z��P�;��܇�'��"^��慎S�����%)�����
�S�5��U�j��
��/ &�G�K@|T�OԗB-x�]r�a+8P��)��#�iy at _�D&z�j-.>����R
�9��
,<̊SS�V�#>bbʾ�@7쐶ĉ\�q��?nW�������q�饦L�[�@Uʮ��"t��J��E��5��ҕ��]���;�
��f)�~�S<�+��*QU�,aW�KM�MZ�LO2�
��FRHדhPLړ�
&�ߧ�
+��It$t\O�%�/=�T=���=�@�Τ�P�D�ў\��;=	��Ih��Ih��:��:�N=��A����F��^Ibx{�ӻp7	{h�u���2�]�9-��L����@�?
2
y�m��r�'A)���z
+�C��)z�����)�/��ӜB7:V{�)����f�k���k��)t��]����nEٍhL��i;�o�����P7�\Hwj7�BX�f�����D�h3�Iv`3�k���������H{������
�?��XºG{��b���FB��I��ޘ�DJ������4&�Yr�a�k-F��K8��‶�i,�՚<|M��e8hn�l��~S
���\$mH

А8��^n2���G
����PB���������t��+���uTʀ���D�g;zx���x�Q?�O~�7���
���ڗ��������/c�F����/�y�;�f,�h��Vq
+�&֯�Y�7EQ&���߲�jv܇=�c��fs��g�.�7�bqC��b�����P]���P?3�e��
N��&�F�6�=4�\)<��wh���yѼ/���^�E��%t�S�� {)��
+endstream
+endobj
+2969 0 obj <<
+/Type /Page
+/Contents 2970 0 R
+/Resources 2968 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2964 0 R 2973 0 R 2965 0 R 2977 0 R 2966 0 R 2981 0 R 2967 0 R ]
+>> endobj
+2964 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 694.926 201.372 707.324]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2973 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 681.422 201.372 693.417]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2965 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 470.78 201.372 483.179]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2977 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 457.276 201.372 469.271]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2966 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 234.679 201.372 247.077]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2981 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 221.175 201.372 233.17]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2971 0 obj <<
+/D [2969 0 R /XYZ 89 770.89 null]
+>> endobj
+2972 0 obj <<
+/D [2969 0 R /XYZ 90 718.682 null]
+>> endobj
+2662 0 obj <<
+/D [2969 0 R /XYZ 90 672.057 null]
+>> endobj
+2974 0 obj <<
+/D [2969 0 R /XYZ 90 667.574 null]
+>> endobj
+2975 0 obj <<
+/D [2969 0 R /XYZ 90 584.887 null]
+>> endobj
+2976 0 obj <<
+/D [2969 0 R /XYZ 90 494.536 null]
+>> endobj
+2663 0 obj <<
+/D [2969 0 R /XYZ 90 447.911 null]
+>> endobj
+2978 0 obj <<
+/D [2969 0 R /XYZ 90 443.428 null]
+>> endobj
+2979 0 obj <<
+/D [2969 0 R /XYZ 90 348.786 null]
+>> endobj
+2980 0 obj <<
+/D [2969 0 R /XYZ 90 258.435 null]
+>> endobj
+2664 0 obj <<
+/D [2969 0 R /XYZ 90 211.81 null]
+>> endobj
+2982 0 obj <<
+/D [2969 0 R /XYZ 90 207.327 null]
+>> endobj
+2983 0 obj <<
+/D [2969 0 R /XYZ 90 112.685 null]
+>> endobj
+2968 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F82 428 0 R /F60 304 0 R /F72 326 0 R /F99 1084 0 R /F11 387 0 R /F24 301 0 R /F106 2650 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2993 0 obj <<
+/Length 1544      
+/Filter /FlateDecode
+>>
+stream
+xڽXYw�8~���m�9��	�[&q3�[�>�=>ؖm�
����s�o���K����.�w��nz�z�=l(TX��`�s��ͬ/v ��Fo-&|D���Շ����Ѱ��7��{~���9�|k��}���
��0b�o=�I+˥
��ְ����)��	�����N�	�xD8H`	�C�&�(C��T�i�a��:8��)�\��S��g�t�D���� �A#B��z].���ɹ�d2��+��T���_&y�H�L���Sn�YNb3?/�,J��b)�CR�&2�3ҹA�Sl ���5��>��Lr��s��`���)s0�J3l9퀛�{X��L��p��7�x���;��[��C4�I��!*�f��
�q�/�����8ܘUr�L��R���.'���hTx���
d��)oJ��� �k	NQ�2���ϩ\Q�ݿ���'W���Oگ���OΏ���!�����]�jY
Q�Q�
F&�y'`��la��\׳��<
�7I߅��h6���̳�J&��Q�������,�	p7���H��|��� p�
��c."�;�}N�8@@�
w��YZ�C�J���\s��v�
���b
"e�'�y	�!��!�B�o&��� ��5ez�H,�)a&�Ɋt���b�D�4]��"҄N��fz�,�L�!Н9��F &^P�+�iħ���1�
+�8Ԯ��I&��e�NUQ��j��\9Y)]��i
����м,d"��P
+^����V$
X
�m��+�G,_uJTe
�-�zȭ��+��;��1�_�	�V��Ue�l
_�?7`���
��hK��	M�r�So�|�<�5���}�`�n
f�p��$\ ��و w��C���(�Zղ�0�P�rA�L����ꛥ�e���C�
��
��G�,�T���
t$
�vM�)�B�c
+�A�]S�����P�ۃ����J���9��
��*;����A�:������D*/s�I����
:E��o�ݏ�������(�hR�hY�Ý�^
m��?�G�_GM9��������'���>lYm n�����&�oe]��2L�I6�AA	{���ƃO�/o�k�~�)Lޗa\�����r�����np9ܝ-7�=���S"q��
k�w
M�2"���e�=�=Pu�2�f�~��8�XP�A`X�>K1eR�~�`�ӂY�r�y�l
+���ć~���(d��}�B�c�Z!;��*��Ҵ,
$�y,���]K�U
W�_{�Bj�N}�n̺
���<�?O�S뼯t��:��ۼXI�I��_��������:�3n�C��(a�.L��E�j^}�9b�/9�
+�Vd� 2!��]����@�7�G~�l-t=�!���L<������z��x�b�u
+`[8�-`}�(���U
 Wy�֛v����[��MGj�6Le�0�$�+sE�S3�9��}�m���¤��**?�4�Y�P4AX=s�
e]
�(ߛ���S����tsI]����Ť\�2
��E�]���]47�F&Vif�%0�R��� �R
+endstream
+endobj
+2992 0 obj <<
+/Type /Page
+/Contents 2993 0 R
+/Resources 2991 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2893 0 R
+/Annots [ 2984 0 R 2996 0 R 2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R ]
+>> endobj
+2984 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [119.351 634.064 201.372 646.462]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2996 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [93.63 620.559 201.372 632.554]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2985 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 435.838 171.803 445.766]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol_aaa76c2fe8629d0c3251374d87a0da4a4) >>
+>> endobj
+2986 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 403.617 196.709 414.148]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol_ac49c86d7db3259a07d9a2b293e573733) >>
+>> endobj
+2987 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 372 149.656 382.53]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol_a95eb0b200e5754f1b18972012c1807d4) >>
+>> endobj
+2988 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 340.382 219.394 350.912]
+/A << /S /GoTo /D (enumparma__polyhedra__library_1_1Relation__Symbol_ae25095de7466faeb9f7bf4c476f34cf0) >>
+>> endobj
+2989 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.246 194.697 102.15]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Timeout__Exception_a66765523c60cdb348393876561c5d0e7) >>
+>> endobj
+2990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+2994 0 obj <<
+/D [2992 0 R /XYZ 89 770.89 null]
+>> endobj
+2995 0 obj <<
+/D [2992 0 R /XYZ 90 657.82 null]
+>> endobj
+809 0 obj <<
+/D [2992 0 R /XYZ 90 551.334 null]
+>> endobj
+278 0 obj <<
+/D [2992 0 R /XYZ 90 542.408 null]
+>> endobj
+2997 0 obj <<
+/D [2992 0 R /XYZ 90 455.717 null]
+>> endobj
+2998 0 obj <<
+/D [2992 0 R /XYZ 90 455.717 null]
+>> endobj
+2999 0 obj <<
+/D [2992 0 R /XYZ 90 424.091 null]
+>> endobj
+3000 0 obj <<
+/D [2992 0 R /XYZ 90 390.747 null]
+>> endobj
+3001 0 obj <<
+/D [2992 0 R /XYZ 90 359.129 null]
+>> endobj
+3002 0 obj <<
+/D [2992 0 R /XYZ 90 305.764 null]
+>> endobj
+810 0 obj <<
+/D [2992 0 R /XYZ 90 207.719 null]
+>> endobj
+282 0 obj <<
+/D [2992 0 R /XYZ 90 198.792 null]
+>> endobj
+3003 0 obj <<
+/D [2992 0 R /XYZ 90 112.101 null]
+>> endobj
+3004 0 obj <<
+/D [2992 0 R /XYZ 90 112.101 null]
+>> endobj
+2991 0 obj <<
+/Font << /F70 324 0 R /F82 428 0 R /F60 304 0 R /F81 426 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3014 0 obj <<
+/Length 1931      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�_���V=}�/�-�=[�&U�3���b����
h<ί��7Hhƶ�j�h5͹����&�ѿ�~�����8�P&��n�Q�#�f�
�����#.��ǻ���vu��^���CY�5y�9�8F�'����J�~�Mwɂr
�(�u˷z����XWK
Y&y������W�W���#�D�H�h��z�
G+�~
a�2}���QJ<�跫_���#���<�n�Lt#rP�#�{���(�
+��
+~�˦�uE]Y��1��4E,�
�W�Km��*/�}k)���{v�V�{o
�
?�6�02�D�����v'W�r��U�[��ֺn<��"0<��SBp��]�&�,�ކOu V�uBy�	Dq[`LK��H���2js�3���R>>�n����	�S�Co�g�P
?^��j�6�3�R�95&^�,EDɃ��0*���pf���<=K
q 
�)��@"@8B--ƽր����a�?��F�K𧰦���;�%
N7L�C`"�R�8��%�^����LL/u�F���Cpg��!X�'a�`Z/���._j4���E$Dԛ�U�X:���;ݸ�;Z:�
u�ѥ�V����V�f�
�������$$�i�;�p\T
��"3B))J�֛ LJ��)�R���E�j��
�
��Ix���ժGiWO�z�7�n�ܻ(
�!8��V�@��{}Yq ��	a+U�N���
�ߣ�qD5�E)D29�+���	gX�Ws
����ݾ���?X�t�Ϛ�V/�C��
ۘd�T#��}lg !'�3-�8�XyK�o���BNշ���>K�i�<\�a�A�s�J')�8(����]�0�b}��I3HDO� E<�} vў�)��)�m�6���:�F�0

N�I�
�	�j�
�
\0��_��������!W�OɪN����b����/h&�� �b
��Ϋ��d�Ч��p8=�
KƟ��3��M"�3Ƶ��&m+����]�� ����?�_��Ӓ3
�K�f
+&�y���5����u4s�hr���
",�Y^���+=�� /[n��"����r6�n(s�GC��ص�v�u;wyk��uW�˿�vQ���Yو�-S��1SALYw����6����w�ʢ�y�^�� �f��/��|y�޻�9�V���z�
+�^hXM���y��Q�բ��6	P�
+C؅�9�L�p�M��,=x�6 ���>,l��Z��{��
��5t�t�Լ0%�����N�y(��a��a~����;P�b�Q�\�5{�- �?z<��_���Q��"�s���L�A����˳#�*;)��10�dGAJ>w�!�Eg�`Oq���r�!bfʱ
�"�x�|�φ���N�ڡD)���A���tDQ�zWT���wf� [�	�`y��;4��i�-����#E��,#8ʤ<݄�/�Labsvt?r��;z"��П�QӮ0y����c��D��k��P 0��R����~ܟ�%�$S��I�o~b
�4:Z�8��"��� �@W��OBo����zո�����3
�fՒ��q����
����
E/�.����������	��)EL�s�P(�Lk�la= ����"3����3�-�3�@����z�ǞzDA�����=������=j5���F%��������<�^����J�/����p�9��D�ОI	��E$�<�fr,����+o])vM_��h�F
�wE���z�u�?K(��.��n�
��I���U��������%D��q*a�W�y�[�
�����W�}���!�Y[/��Z�|��(�1�K^��2�o�\�m�2A~�a�����Ea��+[����}�x�u�ﯯ�� [...]
+�ڧ~�j�`<��G�&RR{b��/Ç~���-�^��_'��/�	�
+endstream
+endobj
+3013 0 obj <<
+/Type /Page
+/Contents 3014 0 R
+/Resources 3012 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3005 0 R 3006 0 R 3007 0 R 3008 0 R 3009 0 R 3011 0 R ]
+>> endobj
+3005 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 527.367 149.098 537.897]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_aaa7f7d2e2523000e62d85670f268362a) >>
+>> endobj
+3006 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 499.471 136.665 510.002]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a8d74790917f006b8ce83d9be0d356576) >>
+>> endobj
+3007 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 471.202 173.486 482.106]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_ab54edfb4d01886f38228f56771aa085d) >>
+>> endobj
+3008 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.302 471.202 212.49 482.106]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+3009 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.141 371.131 219.329 382.035]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+3011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3015 0 obj <<
+/D [3013 0 R /XYZ 89 770.89 null]
+>> endobj
+3016 0 obj <<
+/D [3013 0 R /XYZ 90 721.073 null]
+>> endobj
+811 0 obj <<
+/D [3013 0 R /XYZ 90 633.415 null]
+>> endobj
+286 0 obj <<
+/D [3013 0 R /XYZ 90 626.815 null]
+>> endobj
+3017 0 obj <<
+/D [3013 0 R /XYZ 90 545.987 null]
+>> endobj
+3018 0 obj <<
+/D [3013 0 R /XYZ 90 516.357 null]
+>> endobj
+3019 0 obj <<
+/D [3013 0 R /XYZ 90 488.462 null]
+>> endobj
+3020 0 obj <<
+/D [3013 0 R /XYZ 90 432.049 null]
+>> endobj
+3021 0 obj <<
+/D [3013 0 R /XYZ 90 322.065 null]
+>> endobj
+3022 0 obj <<
+/D [3013 0 R /XYZ 90 299.315 null]
+>> endobj
+3023 0 obj <<
+/D [3013 0 R /XYZ 90 299.315 null]
+>> endobj
+3024 0 obj <<
+/D [3013 0 R /XYZ 90 238.592 null]
+>> endobj
+812 0 obj <<
+/D [3013 0 R /XYZ 90 146.84 null]
+>> endobj
+290 0 obj <<
+/D [3013 0 R /XYZ 90 138.905 null]
+>> endobj
+3012 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F90 507 0 R /F99 1084 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3029 0 obj <<
+/Length 672       
+/Filter /FlateDecode
+>>
+stream
+xڍTKS�0��W�u�"ɖls+�1P��q{	L�q���迯^�3��h�Ү���]cD�V˅��)ד�Y���(攃d
b
� F�����8���y�H�e��~�z���&Ku�%γC���3F ���龒��q^��
+ԗk	��7O�i@�"b^��0t�"�
��{#��h�}>�Y_4u�Q��uq��y�?2q�L�{J�,VQjs����V
���		!n��ݯ��'q�eؽ�
�� ODA$��@�Q8
+<�8
���(7
Թ�Ga
Q=����g��l��b�]Qo��}
2&R�t��a)�Oe�- �
�
����Ӣ���貶xR�O��t�R� �V�O��T�z���)��D	��
+�<��/Y����澩?KN=DBĩ���zm�l�Dݧ�vm�v���fe�Y��v��Z�i�I�ȶ�f��6e�(��E�C[wLKq<m�]�1�F}���B��MB���)
+�x��������Yv
+&aH�ᾭ��X\V>8md��t���'�S-ۂ�8���
�δdww�Ƹ�'�=�i�in/^ֽh��^�u��D{smo�zHK����3m�k��"��2�R����g���R�	�X*M�O�c�?
/�!�D��L6��X��!œ������v7��Y�E�z���b
+endstream
+endobj
+3028 0 obj <<
+/Type /Page
+/Contents 3029 0 R
+/Resources 3027 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3010 0 R 3026 0 R ]
+>> endobj
+3010 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 685.666 170.687 696.196]
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_aa80c4fa3121e341ac6068c60394eb07d) >>
+>> endobj
+3026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3030 0 obj <<
+/D [3028 0 R /XYZ 89 770.89 null]
+>> endobj
+3031 0 obj <<
+/D [3028 0 R /XYZ 90 704.286 null]
+>> endobj
+3032 0 obj <<
+/D [3028 0 R /XYZ 90 704.286 null]
+>> endobj
+3033 0 obj <<
+/D [3028 0 R /XYZ 90 657.097 null]
+>> endobj
+3027 0 obj <<
+/Font << /F70 324 0 R /F81 426 0 R /F60 304 0 R /F82 428 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3089 0 obj <<
+/Length 1149      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+�6��u�c��M�^�,
Z�
u�Qr��׏�%s|��(
�!�MQ��s�!
���� nLL�|Mof���9���cg�p"��9�Ĺވ��~
�1{�3�ŵ�D>�ͻ�c<��$��K��"�f 釵�1B ����S9�+�=��D1��s��������F:t���h��08wcL�0$O���{�<�)^	NQ*���|��7S:Ur�����@��ZK�Îz�hѫJ����*]r�+��1b"�\��5�+s��9E�=�2�P��y�<�0:����WJ~�q٧ K(%չF��d��j�%�`?�b���#�Xp��l��2
�K�R�w����Ӕ&�|�'�w�c�����ߡK��	�XRV�R��ꞅ~�L�ہ�Fus�x�y��������F $h
R�u���F�UP~�ŀ�b���Х͚�b�
�W����#�Jv8�/WЅ�9esi���|�5t&؜g���˷��R�[�����w>���'h\�w��H�"�;$
+ ����g�MH~�e\��z(���Rk��b�t
�'�Pߒf��lY�\I��qʻ��
q��;��X[�*cVr��w�-�}��6Vk��E�$���I�E��l䒡��,~�(p�U���C^��`T�I��\���
g��%&I
�紐��`�`��6QiB���6��l���&|��l
k%TK3]�ElJ������h�������p����"�ljq�Y��iv]$�P�͒UU},K�歈
+�3!g�LZ�.d�
9x~�ڄF}�f�x���<eS
+
�ۭ�{���7��Q��_|2����rj"��CL��+s1ީ�K���ޔV5 �|�����Y*:��nSU0]+�g�ٌ(��?xp��AnS�޳��|U>�X&2�eQ�TY�,���by�
��YO��_��ɣ�/�>�74�(j���
�b�a�)���Q����n�c#
����eb�6y���:#�:	�]�\}7"dX���X��n��偪�ߪ���]=ί�G���t��Ozޘ
+#`�o��.�����|�,�X�X��4 ��}w�˶
+&���G*tg^�
�j�g�X�@|;^ ��Q������lW7������u~��_�_��DQ
+endstream
+endobj
+3088 0 obj <<
+/Type /Page
+/Contents 3089 0 R
+/Resources 3087 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R 3040 0 R 3041 0 R 3042 0 R 3043 0 R 3044 0 R 3045 0 R 3046 0 R 3047 0 R 3048 0 R 3049 0 R 3050 0 R 3051 0 R 3052 0 R 3053 0 R 3054 0 R 3055 0 R 3056 0 R 3057 0 R 3058 0 R 3059 0 R 3060 0 R 3061 0 R 3062 0 R 3063 0 R 3064 0 R 3065 0 R 3066 0 R 3067 0 R 3068 0 R 3069 0 R 3070 0 R 3071 0 R 3072 0 R 3073 0 R 3074 0 R 3075 0 R 3076 0 R 3077 0 R 3078 0 R 3079 0 R 3080 0 R 3081 0 R 3082 0 R 3083 0 R 3084 0 R 3086 0 R ]
+>> endobj
+3034 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 659.542 278.601 670.446]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3035 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 635.546 278.601 646.45]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3036 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 611.55 289.122 622.454]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3037 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 599.552 285.804 610.456]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3038 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 587.554 278.601 598.458]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3039 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 563.558 289.122 574.462]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3040 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 551.561 285.804 562.464]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3041 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 539.563 278.601 550.467]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3042 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 515.567 278.601 526.471]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3043 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 491.571 278.601 502.475]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3044 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 467.575 289.122 478.479]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3045 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 455.577 285.804 466.481]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3046 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 443.579 278.601 454.483]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3047 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 419.584 278.601 430.488]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3048 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 395.588 289.122 406.492]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3049 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 371.592 278.601 382.496]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3050 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 347.596 278.601 358.5]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3051 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 323.6 278.601 334.504]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3052 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 288.93 278.601 299.834]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3053 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 255.036 140.809 263.883]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3054 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 228.983 278.601 239.887]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3055 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 204.987 278.601 215.891]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3056 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 180.991 278.601 191.895]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3057 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 156.995 278.601 167.899]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3058 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 133 278.601 143.904]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3059 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 109.004 278.601 119.908]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3060 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.272 74.333 290.228 85.237]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3061 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 659.584 505.603 670.488]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3062 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 647.629 502.285 658.533]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3063 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 623.719 488.975 634.623]
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+3064 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.214 599.809 493.17 610.712]
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3065 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 575.898 495.083 586.802]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3066 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 551.988 495.083 562.892]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3067 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.03 528.078 512.985 538.981]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+3068 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 504.167 495.083 515.071]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3069 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 470.803 495.083 481.707]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3070 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 446.893 488.975 457.797]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3071 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.263 434.938 512.218 445.842]
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3072 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 401.574 505.603 412.477]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3073 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 377.663 495.083 388.567]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3074 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 344.299 505.603 355.203]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3075 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 310.491 357.291 319.338]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3076 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 284.523 495.083 295.427]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3077 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 251.159 495.083 262.063]
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3078 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 227.249 495.083 238.153]
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3079 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.071 227.249 510.027 238.153]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3080 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.182 191.383 454.137 202.287]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+3081 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.263 167.473 512.218 178.377]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3082 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.263 143.563 512.218 154.467]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3083 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 110.199 495.083 121.103]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3084 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.983 86.288 514.938 97.192]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3090 0 obj <<
+/D [3088 0 R /XYZ 89 770.89 null]
+>> endobj
+3091 0 obj <<
+/D [3088 0 R /XYZ 90 684.655 null]
+>> endobj
+3087 0 obj <<
+/Font << /F81 426 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3164 0 obj <<
+/Length 1460      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�6~���0S	�L�3���:��{�N�;
�e���#�n�__���[� {��XB��s�9G@�% ]�Ά��

H�ꘚ)
'�$�pTd�c�A� (_�W�� ���ʛ{����YG�;l=��v A>��-����W �Y�Tݱ���K�dh:�
�A�X%b���=kH� T!�S���;���
S�
�#����_4�ѯ9)Ά���˖����m���Rr��U�
�D$%^@^�!W��UF�A�����w���׼�]�9��`�
º����D���RG��$ďj0֡��s��oH�I�ǫ����c�ブ|/%� 4�1������n��llXBY넀����-��W�����1GT�a�^��<���k&
+�7�%���%�*T at B��{�����8s���zLH��8�#�
�-�pD
' Q
���^�
+RS�=�2��d��N��V��
����;��E�	���Lْa.�Q��
�it�a���9*�u��,���>6@�MCHC/l���c�|M�K�?�ǃ\6@���iJBf
���q��-�`9#�J"�����S����$"&��߭*����Ɉy!fٷF��d�
+G{M�
%�7K��t�<���c,V��e����`��.�N5��HV?�ؘ��,Bђ�
�:�;��3
��v)M��k6'tϢ1+��r1��3&C��|�ݻoY���
g��]�\av�9&�{<�8�Q���l;��Nl�W�����d�jjFC�)��8}jB����LCL3�ʦ:�`��
�	T`;�
�o���=����7�;&�Udً~�1��Z�r��Rq�x���F��'r���^��1�dk�/c�K�JP�4�[����mb�Ќh�O���
 �
̓��Zh��
 )7��ì�!(��D��ƛI��V�+�
*Ǖ�<�T �yqq at 6��6����e5����k[����n�Ҙ�ݗ�VN>zӔ-Z�Nm1�bnm� -f��Z�Uװ�Lk8*d;
C?��
����殟�zQV.[&��@[�gٲ���6�T2�8��'�E_�~��'tݗ��MHi1sH(W��٩��e�P��|�R�����
f�+�9�5���d⤒�
�
+�#��..
�'soH4+�M<�9�����֧����:�}2��V�7*��� qlc]n����
?t�37���
+(�v��>�hT���{��4��G$)=M+.���
+��� �������wS0sƍ&�v6",+jQh�Y�����s��1���y8��%������~��2аT�䟰<��
+�eiy��s޹S4��B]��l����l��ۄ��\Lձt;?C��4��$������C��|��9��!9��o�h���
@��xY��P�
�J[g�
0.��E�o)��!mM�iZ[��=������q�'�,VG�㏥�6�,���&1�d˜r��5�yP�&b��,��
+endstream
+endobj
+3163 0 obj <<
+/Type /Page
+/Contents 3164 0 R
+/Resources 3162 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3085 0 R 3092 0 R 3093 0 R 3094 0 R 3095 0 R 3096 0 R 3097 0 R 3098 0 R 3099 0 R 3100 0 R 3101 0 R 3102 0 R 3103 0 R 3104 0 R 3105 0 R 3106 0 R 3107 0 R 3108 0 R 3109 0 R 3110 0 R 3111 0 R 3112 0 R 3113 0 R 3114 0 R 3115 0 R 3116 0 R 3117 0 R 3118 0 R 3119 0 R 3120 0 R 3121 0 R 3122 0 R 3123 0 R 3124 0 R 3125 0 R 3126 0 R 3127 0 R 3128 0 R 3129 0 R 3130 0 R 3131 0 R 3132 0 R 3133 0 R 3134 0 R 3135 0 R 3136 0 R 3137 0 R 3138 0 R 3139 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R 3144  [...]
+>> endobj
+3085 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 707.957 278.601 718.861]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3092 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 664.186 140.809 673.033]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3093 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 638.219 278.601 649.123]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3094 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 614.308 278.601 625.212]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3095 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 590.398 289.122 601.302]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3096 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.849 578.443 285.804 589.347]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3097 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.801 556.525 202.756 567.429]
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+3098 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 522.652 278.601 533.556]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3099 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 498.742 278.601 509.646]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3100 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 474.831 272.494 485.735]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3101 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.272 450.921 290.228 461.825]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3102 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 417.048 289.122 427.952]
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+3103 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 393.138 278.601 404.042]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3104 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.501 369.227 298.456 380.131]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3105 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 345.317 278.601 356.221]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3106 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 321.407 278.601 332.311]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3107 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.59 321.407 293.545 332.311]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3108 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 287.534 289.122 298.438]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3109 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 263.623 289.122 274.527]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3110 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.371 229.75 285.326 240.654]
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+3111 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.836 229.75 299.792 240.654]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3112 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 205.84 295.737 216.744]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3113 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 172.032 140.809 180.878]
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3114 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.244 158.019 207.2 168.923]
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+3115 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.282 146.064 290.237 156.968]
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+3116 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 124.211 140.809 133.058]
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+3117 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 100.181 140.809 109.147]
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+3118 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 76.271 140.809 85.237]
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+3119 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 697.94 357.291 706.906]
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+3120 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.121 684.047 509.076 694.951]
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3121 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [471.133 672.092 483.088 682.996]
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+3122 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.593 660.136 469.548 671.04]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3123 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.042 648.181 498.998 659.085]
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3124 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.708 636.226 473.663 647.13]
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+3125 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.029 624.271 507.984 635.175]
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+3126 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [455.083 612.316 467.038 623.22]
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+3127 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [489.403 600.361 501.359 611.265]
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+3128 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 578.508 357.291 587.354]
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+3129 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 554.597 357.291 563.444]
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+3130 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.965 540.585 508.921 551.489]
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+3131 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 518.732 357.291 527.578]
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+3132 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.399 504.719 465.354 515.623]
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+3133 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.72 492.764 499.675 503.668]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3134 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.057 480.809 490.012 491.713]
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+3135 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [476.642 468.854 488.597 479.758]
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+3136 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [510.484 456.899 522.44 467.803]
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3137 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.299 444.943 513.254 455.847]
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3138 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.079 432.988 436.035 443.892]
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+3139 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 411.235 357.291 419.982]
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+3140 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [512.697 397.123 524.652 408.027]
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+3141 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [488.826 385.168 500.781 396.071]
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+3142 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 363.315 357.291 372.161]
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+3143 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 339.404 357.291 348.251]
+/A << /S /GoTo /D (page.48) >>
+>> endobj
+3144 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [511.6 325.392 523.556 336.296]
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+3145 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 303.539 357.291 312.385]
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+3146 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.762 278.288 392.718 288.475]
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+3147 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 255.718 357.291 264.565]
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+3148 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [507.715 241.706 519.67 252.609]
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+3149 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.027 229.75 481.982 240.654]
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+3150 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [499.366 217.795 511.321 228.699]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3151 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.375 205.84 506.33 216.744]
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3152 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 183.867 357.291 192.834]
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3153 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.923 169.975 506.878 180.878]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3154 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [466.709 158.019 478.664 168.923]
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+3155 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.089 134.826 391.044 145.013]
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3156 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.983 110.916 389.938 121.103]
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3157 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.049 98.244 508.004 109.147]
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+3158 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.279 86.288 505.235 97.192]
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+3159 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.409 74.333 489.364 85.237]
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3165 0 obj <<
+/D [3163 0 R /XYZ 89 770.89 null]
+>> endobj
+3162 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3264 0 obj <<
+/Length 1586      
+/Filter /FlateDecode
+>>
+stream
+xڵZ[s�(~�����3������>����d;;�v,a��n�i����Į-��$6B߹p����,
�
=�����1�s�pb���
���:���=�g���3�
$�k
@ ��������Q�@�v����O_�����p�8rn�I�3�|�?s.G��}EЮ"�jq�9�U��^Ӕ��9'�v���;��`LW����oܡ@� ��ҿ�)[� p=?ng�y49�0��̃nD��?�`��t^;�Q���\{��ˑ������
"7���I�� ��[=�m������ciܖ���&�&Y(R3���"�YY�G��L���,�������/�P��<�8�C�>�B��F}Κڇ�/j�I]r����`%�[��,����	���c+�%����qɻeX��Z�/o�y���
������\�����V� ��B(���yFMb�ӈ���"����	�䛤��
��Ɋ%�
�שG�
+J8��Y,��w����r</WE��lY`��T����=�϶L7:��
E\��F��W�!~�i�k:D/I!��f��bũ|��u�; eʰ�L�x
+�q1
��'�=������p��������X*y6���0V��L
Dr*w�0����σ��I�E�Y�4�0(�]�����L�'e!�!f����6�0��F0Q���T�$-0�K�9M�+Z�X*�p�R����#l�M�.�t�M�?$[���r����\K�)^��G/(LƈUjQ'X�rK�-Ƣ01hv/~M@��n)��\�nZw�#�D���O����:n<�ڊ2�x=a�����<���ߏgP�p<c���tҌ�A���x���s��țj3�<C;qbl����O�O�#>/�l՜ߗ)��R�KɤJΒ;�0�W���

9�tk��:�C�F��Ru���0�Svf���d�'mu9�͜������O��l�%��e����o������I!���ӄ	���8��
+������&B�jU�J�N�\��I�i��9�DO���{�3Bȸ��쩛Q��>��+Z$&m��f�]c�#��)za�@�e{06u�|{(1
��%�ƅ݋]�R�G���o:NŲ_�0�Ǔ\ii( E�NWye��f�'�>�
||�RZ���n��7�\���HS���
E�tW�NHwзB^��K�
Q��DE-�9&�R�ŪR��5�fz[9m�„ԴP=���.
6d*��*qj����۬�r���h�
��
��E��}�Hq��zQ5�1���3?�m�@qϳ`���V�s�
6���Sy���I(˾Ğ
#d:ѧL|U�e�G���,rV�!��_E����!r�?M�l�&�q��sZ���@1�B�����^�A�z��u��r�Џ��p�����5W�Tߏ��������6�
yK��Jf��v��1�`,�F�-(�mc���#Ŋd��g �Mr��z�@�Cwr�K�KJצk;�s�Oo�m&��0���^{#纮������R�b�&e���
�����.J���K���r0oB�m�B�� t�Z�I��0��?7�����<+��]��K��_
+endstream
+endobj
+3263 0 obj <<
+/Type /Page
+/Contents 3264 0 R
+/Resources 3262 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3160 0 R 3166 0 R 3167 0 R 3168 0 R 3169 0 R 3170 0 R 3171 0 R 3172 0 R 3173 0 R 3174 0 R 3175 0 R 3176 0 R 3177 0 R 3178 0 R 3179 0 R 3180 0 R 3181 0 R 3182 0 R 3183 0 R 3184 0 R 3185 0 R 3186 0 R 3187 0 R 3188 0 R 3189 0 R 3190 0 R 3191 0 R 3192 0 R 3193 0 R 3194 0 R 3195 0 R 3196 0 R 3197 0 R 3198 0 R 3199 0 R 3200 0 R 3201 0 R 3202 0 R 3203 0 R 3204 0 R 3205 0 R 3206 0 R 3207 0 R 3208 0 R 3209 0 R 3210 0 R 3211 0 R 3212 0 R 3213 0 R 3214 0 R 3215 0 R 3216 0 R 3217 0 R 3218  [...]
+>> endobj
+3160 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.834 707.957 264.789 718.861]
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+3166 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 686.104 140.809 694.951]
+/A << /S /GoTo /D (page.60) >>
+>> endobj
+3167 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.358 672.092 275.313 682.996]
+/A << /S /GoTo /D (page.63) >>
+>> endobj
+3168 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 650.239 140.809 659.085]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+3169 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.137 624.988 180.092 635.175]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+3170 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.692 612.316 287.647 623.22]
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+3171 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.682 600.361 287.637 611.265]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+3172 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.025 588.405 254.98 599.309]
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+3173 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.835 576.45 278.79 587.354]
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+3174 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.881 564.495 287.837 575.399]
+/A << /S /GoTo /D (page.96) >>
+>> endobj
+3175 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.283 552.54 242.238 563.444]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+3176 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.871 540.585 263.827 551.489]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+3177 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.474 516.674 183.429 527.578]
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+3178 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.339 504.719 187.294 515.623]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3179 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.292 492.764 245.247 503.668]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3180 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [157.935 469.571 169.89 479.758]
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+3181 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.146 444.943 180.102 455.847]
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+3182 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 433.706 153.292 443.892]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3183 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 421.75 140.809 431.937]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3184 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.393 409.078 146.348 419.982]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3185 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.633 397.123 138.588 408.027]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3186 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.337 373.93 153.292 384.116]
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+3187 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.885 361.257 161.84 372.161]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3188 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.424 349.302 167.379 360.206]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3189 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.74 337.347 165.696 348.251]
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+3190 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.501 313.437 173.457 324.34]
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+3191 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 290.243 184.525 300.43]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3192 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 278.288 188.4 288.475]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3193 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 265.616 268.639 276.52]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3194 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.005 253.661 262.96 264.565]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3195 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 242.423 145.223 252.609]
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+3196 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.899 229.75 237.854 240.654]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3197 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 217.795 182.313 228.699]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3198 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 206.557 177.341 216.744]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3199 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 194.602 182.323 204.789]
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+3200 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.667 181.93 182.622 192.834]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3201 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.552 169.975 194.507 180.878]
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+3202 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.27 158.019 216.226 168.923]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3203 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 146.781 146.747 156.968]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3204 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 122.871 184.525 133.058]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3205 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 110.916 188.4 121.103]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3206 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 98.244 268.639 109.147]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3207 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 87.006 145.223 97.192]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3208 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 75.05 177.341 85.237]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3209 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.532 708.674 395.487 718.861]
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+3210 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [398.476 708.674 410.431 718.861]
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+3211 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.273 696.719 363.228 706.906]
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3212 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [403.178 672.092 415.133 682.996]
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+3213 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.559 648.899 385.514 659.085]
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+3214 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.5 624.988 369.455 635.175]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3215 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.263 612.316 403.218 623.22]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3216 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.801 600.361 408.757 611.265]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3217 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.892 589.123 445.847 599.309]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3218 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.467 576.45 436.423 587.354]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3219 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.887 565.212 388.842 575.399]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3220 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.833 540.585 429.788 551.489]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3221 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.422 528.63 363.378 539.534]
+/A << /S /GoTo /D (page.64) >>
+>> endobj
+3222 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.883 505.437 357.838 515.623]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+3223 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.676 480.809 407.632 491.713]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3224 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.552 468.854 411.507 479.758]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3225 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.051 457.616 401.006 467.803]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3226 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.926 445.661 404.882 455.847]
+/A << /S /GoTo /D (page.85) >>
+>> endobj
+3227 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.378 432.988 399.333 443.892]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3228 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.253 421.033 403.208 431.937]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3229 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 409.078 485.12 419.982]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3230 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 397.123 486.226 408.027]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3231 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 385.168 394.112 396.071]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3232 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 373.212 406.834 384.116]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3233 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 361.257 388.284 372.161]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3234 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 349.302 450.829 360.206]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3235 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.509 337.347 505.464 348.251]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3236 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.132 325.392 486.087 336.296]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3237 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 313.437 433.405 324.34]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3238 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 301.481 446.127 312.385]
+/A << /S /GoTo /D (page.88) >>
+>> endobj
+3239 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 290.243 423.951 300.43]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3240 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 278.288 424.558 288.475]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3241 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 265.616 419.257 276.52]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3242 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 254.378 382.745 264.565]
+/A << /S /GoTo /D (page.81) >>
+>> endobj
+3243 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 242.423 375.552 252.609]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3244 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 229.75 412.363 240.654]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3245 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 217.795 444.573 228.699]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3246 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 205.84 435.875 216.744]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3247 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 193.885 445.011 204.789]
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3248 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 181.93 457.733 192.834]
+/A << /S /GoTo /D (page.89) >>
+>> endobj
+3249 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.722 181.93 472.677 192.834]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3250 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.497 169.975 431.452 180.878]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3251 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 158.737 381.639 168.923]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3252 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 146.064 418.719 156.968]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3253 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 134.109 408.219 145.013]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3254 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.431 122.154 499.386 133.058]
+/A << /S /GoTo /D (page.94) >>
+>> endobj
+3255 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.054 110.199 480.009 121.103]
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+3256 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 98.244 436.981 109.147]
+/A << /S /GoTo /D (page.93) >>
+>> endobj
+3257 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 87.006 381.639 97.192]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3258 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 75.05 379.985 85.237]
+/A << /S /GoTo /D (page.82) >>
+>> endobj
+3259 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.974 75.05 394.929 85.237]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [278.726 44.211 356.036 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3265 0 obj <<
+/D [3263 0 R /XYZ 89 770.89 null]
+>> endobj
+3262 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F11 387 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3315 0 obj <<
+/Length 1085      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��6~���[a�h%_�>�Iwv�iiB;��d4��ַȦ���H�a��Ɔ�!} �d}�;�s$#����O
>�]����l:��7O�����|}��*=|�˛��	����l�qp�ځ����	��
~ Z���M1�MK�F������D0�צ<�!ƥT�>"d&��y�$A��bŒ�}���DXqyg�����ح�KY�k�M��s5?�m��
AyR��l���6�O
�eա�]
�C��;��#K
.� yFF�<fI.�u��
��d�	�R �q�ņ�r���)Sr�-�s
&]��r�
�Am4��u~���p�!F�u��\H�4Y�΢�*��r�;]D�A�������L��,]%�`��,Q�
��.�eM�����,�6K6�D|&�����1���t1��k�+F����x}��2U��ke{�&h��6j�`�p�Kt�5��
���
3��:�f��;���#V����*��ع���K�ym+�¾OCpA�7�}KP
l)�O/�銑L~&�G"T����^JA=9�M>���D� W
+��w*n�bY>
;���sV�9+��y��Du�8!����l�]�$o.�~�h��
p����/|h�by!���$���'d"R�.�
A�x=2���
\�H���+Z�����_�=�p-
���s�NC��ȋ������)
TA�N��*��L�?��o��~$�Y{v[<(���0�ʧ�x�?L��qzKp�>
j�T/2�!Bn}�{A
/�äS�����5
�}F�ŗ4�E�v�W��՞�jY�mcD��������H���#�Z���y�D�O���a_�ZЌ�Ĺߚ��r�k�y��b#�<�wM�V�C����
_��6D��L=��'�k�����oR	�
7�x�g��+��5֯Ǝ���B�i�K6Ԛ��P_<С�d'+�=-G
i�hX�x/���u!��~ϙ�n�8�����&+�����.trԃ"9��pdI��UV.U�{������YS���6��Q�E�����VaΒi\sWCσ�ݽ���pI&�ۼ�'r0�{X������
+endstream
+endobj
+3314 0 obj <<
+/Type /Page
+/Contents 3315 0 R
+/Resources 3313 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3025 0 R
+/Annots [ 3260 0 R 3266 0 R 3267 0 R 3268 0 R 3269 0 R 3270 0 R 3271 0 R 3272 0 R 3273 0 R 3274 0 R 3275 0 R 3276 0 R 3277 0 R 3278 0 R 3279 0 R 3280 0 R 3281 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R 3290 0 R 3291 0 R 3292 0 R 3293 0 R 3294 0 R 3295 0 R 3296 0 R 3297 0 R 3298 0 R 3299 0 R 3300 0 R 3301 0 R 3302 0 R 3303 0 R 3304 0 R 3305 0 R 3306 0 R 3307 0 R 3308 0 R 3309 0 R 3310 0 R 3311 0 R 3312 0 R ]
+>> endobj
+3260 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [210.189 707.957 222.144 718.861]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3266 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.064 695.952 226.019 706.856]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3267 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.563 684.664 215.518 694.85]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3268 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.438 672.658 219.394 682.845]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3269 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.04 660.653 178.996 670.839]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3270 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.984 660.653 193.939 670.839]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3271 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.404 647.93 263.359 658.834]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3272 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.968 635.925 232.923 646.829]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3273 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.745 623.919 249.7 634.823]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3274 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 611.914 191.727 622.818]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3275 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 599.909 146.239 610.812]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3276 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 587.903 203.344 598.807]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3277 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.999 575.898 245.954 586.802]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3278 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.874 563.892 249.829 574.796]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3279 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.371 551.887 208.326 562.791]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3280 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.878 539.881 192.834 550.785]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3281 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.105 516.588 159.061 526.775]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+3282 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 491.86 272.494 502.764]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3283 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 457.049 272.494 467.953]
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+3284 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 433.038 278.601 443.942]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3285 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 409.028 278.601 419.932]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3286 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 385.017 278.601 395.921]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3287 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 361.006 278.601 371.91]
+/A << /S /GoTo /D (page.86) >>
+>> endobj
+3288 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 336.995 278.601 347.899]
+/A << /S /GoTo /D (page.83) >>
+>> endobj
+3289 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.59 336.995 293.545 347.899]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3290 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 312.984 278.601 323.888]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3291 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 288.974 278.601 299.878]
+/A << /S /GoTo /D (page.92) >>
+>> endobj
+3292 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 255.065 140.809 263.912]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3293 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 208.299 140.809 217.146]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3294 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 172.333 140.809 181.18]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3295 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 146.265 289.122 157.169]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3296 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 112.356 140.809 121.203]
+/A << /S /GoTo /D (page.61) >>
+>> endobj
+3297 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 76.39 140.809 85.237]
+/A << /S /GoTo /D (page.62) >>
+>> endobj
+3298 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 696.002 495.083 706.906]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3299 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.881 660.136 419.836 671.04]
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+3300 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 636.226 505.603 647.13]
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+3301 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.33 624.271 502.285 635.175]
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+3302 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 600.361 495.083 611.265]
+/A << /S /GoTo /D (page.84) >>
+>> endobj
+3303 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 576.45 495.083 587.354]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3304 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 542.577 495.083 553.481]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3305 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 508.704 495.083 519.608]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3306 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 484.794 495.083 495.698]
+/A << /S /GoTo /D (page.90) >>
+>> endobj
+3307 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 460.884 495.083 471.788]
+/A << /S /GoTo /D (page.87) >>
+>> endobj
+3308 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.754 436.973 506.709 447.877]
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+3309 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.385 403.1 482.34 414.004]
+/A << /S /GoTo /D (page.97) >>
+>> endobj
+3310 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 369.227 495.083 380.131]
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+3311 0 obj <<
+/Type /Annot
+/Subtype /Link
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [447.701 345.317 459.656 356.221]
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+3312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [374.32 44.211 451.63 54.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://bugseng.com)>>
+>> endobj
+3316 0 obj <<
+/D [3314 0 R /XYZ 89 770.89 null]
+>> endobj
+3313 0 obj <<
+/Font << /F70 324 0 R /F60 304 0 R /F72 326 0 R >>
+/XObject << /Im3 319 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3317 0 obj
+[777.8]
+endobj
+3318 0 obj
+[513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 799.4 513.9 799.4 513.9 543.7 770.7 777.7 733.6 847.5 756.3 656.2 804.8 850.1 449.3 566.3 870.4 699.4 992.9 821.6 782.1 656.2 810.6 777.6 627.8 599.6 699.1 599.4 970.5 849 596.5 699.2 399.7 399.7 399.7 1027.8 1027.8 424.4 544.5 440.4 444.9 532.5 477.8 498.8 490.1 592.2 351.7 420.1 535.1 306.7 905.5 620 497.5 515.9 459.2 463.7 478.8 371.1 591.4 499.2 736.6 582.6]
+endobj
+3319 0 obj
+[799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 513.9 513.9 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 799.4 1027.8 1027.8 799.4 799.4 1027.8 1027.8 513.9 513.9 1027.8 1027.8 1027.8 799.4 1027.8 1027.8 628.1 628.1 1027.8 1027.8 1027.8 799.4 279.3 1027.8 685.2]
+endobj
+3320 0 obj
+[611.1 675.9 546.3 675.9 546.3 384.3 611.1 675.9 351.8 384.3 643.5 351.8 1000 675.9 611.1 675.9 643.5 481.5 488 481.5 675.9 643.5 870.4 643.5]
+endobj
+3321 0 obj
+[642.5 589 600.7 607.7 725.7 445.6 511.6 660.9 401.6 1093.7 769.7 612.5 642.5 570.7 579.9 584.5 476.8 737.3]
+endobj
+3322 0 obj
+[569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 569.5 323.4 323.4 323.4 877 538.7 538.7 877 843.3 798.6 815.5 860.1 767.9 737.1 883.9 843.3 412.7 583.3 874 706.4 1027.8 843.3 877 767.9 877 829.4 631 815.5 843.3 843.3 1150.8 843.3 843.3 692.5 323.4 569.5 323.4 569.5 323.4 323.4 569.5 631 507.9 631 507.9 354.2 569.5 631 323.4 354.2 600.2 323.4 938.5 631 569.5 631 600.2 446.4 452.6 446.4 631 600.2 815.5 600.2]
+endobj
+3323 0 obj
+[892.9 339.3 892.9 585.3 892.9 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 585.3 585.3 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 892.9 1138.9 1138.9 892.9 892.9 1138.9 1138.9 585.3 585.3 1138.9 1138.9 1138.9 892.9 1138.9 1138.9 708.3 708.3 1138.9 1138.9 1138.9 892.9 329.4]
+endobj
+3324 0 obj
+[594.7 542 557.1 557.3 668.8 404.2 472.7 607.3 361.3 1013.7 706.2 563.9 588.9 523.6 530.4 539.2 431.6 675.4]
+endobj
+3325 0 obj
+[1055.6]
+endobj
+3326 0 obj
+[399.7 399.7 513.9 799.4 285.5 342.6 285.5 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 513.9 285.5 285.5 285.5 799.4 485.3 485.3 799.4 770.7 727.9 742.3 785 699.4 670.8 806.5 770.7 371 528.1 799.2 642.3 942 770.7 799.4 699.4 799.4 756.5 571 742.3 770.7 770.7 1056.2 770.7 770.7 628.1 285.5 513.9 285.5 513.9 285.5 285.5 513.9 571 456.8 571 457.2 314 513.9 571 285.5 314 542.4 285.5 856.5 571 513.9 571 542.4 402 405.4 399.7 571 542.4]
+endobj
+3327 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+3329 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456]
+endobj
+3330 0 obj
+[500 500 444 500 444 333 500 556 278 278 500 278 778 556 500 500 500 389 389 278 556 444 667 500 444]
+endobj
+3331 0 obj
+[761.6 489.6 761.6]
+endobj
+3332 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3333 0 obj
+[388.9 388.9 500 777.8 277.8 333.3 277.8 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 277.8 777.8 472.2 472.2 777.8 750 708.3 722.2 763.9 680.6 652.8 784.7 750 361.1 513.9 777.8 625 916.7 750 777.8 680.6 777.8 736.1 555.6 722.2 750 750 1027.8 750 750 611.1 277.8 500 277.8 500 277.8 277.8 500 555.6 444.4 555.6 444.4 305.6 500 555.6 277.8 305.6 527.8 277.8 833.3 555.6 500 555.6 527.8 391.7 394.4 388.9 555.6 527.8]
+endobj
+3334 0 obj
+[500 500 167 333 556 278 333 333 0 333 675 0 556 389 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 214 250 333 420 500 500 833 778 333 333 333 500 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 675 675 675 500 920 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 611 556 556 389 278 389 422 500 333 500 500 444 500 444 278 500 500 278 278 444 278 722 500 500 500 500 389 389 278 500 444 667 444 444 389]
+endobj
+3335 0 obj
+[501 501 137 273 501 228 273 273 0 273 479 0 501 410 273 228 0 0 0 0 0 0 0 0 0 0 0 0 273 195 228 273 389 456 456 729 592 228 273 273 319 479 228 273 228 228 456 456 456 456 456 456 456 456 456 456 273 273 479 479 479 501 800 592 592 592 592 547 501 638 592 228 456 592 501 683 592 638 547 638 592 547 501 592 547 774 547 547 501 273 228 273 479 456 228 456 501 456 501 456 273 501 501 228 228 456 228 729 501 501 501 501 319 456 273 501 456 638 456 456 410]
+endobj
+3336 0 obj
+[500 500 500 500 500 500 500 500 500 500 500 500 277.8 277.8 777.8 500 777.8 500 530.9 750 758.5 714.7 827.9 738.2 643.1 786.3 831.3 439.6 554.5 849.3 680.6 970.1 803.5 762.8 642 790.6 759.3 613.2 584.4 682.8 583.3 944.4 828.5 580.6 682.6 388.9 388.9 388.9 1000 1000 416.7 528.6 429.2 432.8 520.5 465.6 489.6 477 576.2 344.5 411.8 520.6 298.4 878 600.2 484.7 503.1 446.4 451.2 468.8 361.1 572.5 484.7 715.9 571.5]
+endobj
+3337 0 obj
+[600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600]
+endobj
+3338 0 obj
+[556 556 167 333 667 278 333 333 0 333 570 0 667 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 278 250 333 555 500 500 1000 833 333 333 333 500 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 570 570 570 500 930 722 667 722 722 667 611 778 778 389 500 778 667 944 722 778 611 778 722 556 667 722 722 1000 722 722 667 333 278 333 581 500 333 500 556 444 556 444 333 500 556 278 333 556 278 833 556 500 556 556 444 389 333 556 500 722 500 500 444 394 220 394 520 0 0 0 333 500 500 [...]
+endobj
+3339 0 obj
+[556 556 167 333 611 278 333 333 0 333 564 0 611 444 333 278 0 0 0 0 0 0 0 0 0 0 0 0 333 180 250 333 408 500 500 833 778 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 564 564 564 444 921 722 667 667 722 611 556 722 722 333 389 722 611 889 722 722 556 722 667 556 611 722 722 944 722 722 611 333 278 333 469 500 333 444 500 444 500 444 333 500 500 278 278 500 278 778 500 500 500 500 333 389 278 500 500 722 500 500 444 480 200 480 541 0 0 0 333 500 444 1 [...]
+endobj
+3340 0 obj
+[638.9 963 638.9 963 963 963 963 963 963 963 1222.2 638.9 638.9 963 963 963 963 963 963 963 963 963 963 963 963 1222.2 1222.2 963 963 1222.2 1222.2 638.9 638.9 1222.2 1222.2 1222.2 963 1222.2 1222.2 768.5 768.5 1222.2 1222.2 1222.2 963 365.7 1222.2 833.3 833.3 1092.6 1092.6 0 0 703.7 703.7 833.3 638.9 898.1 898.1 963 963 768.5 989.9 813.3 678.4 961.2 671.3 879.9 746.7 1059.3 709.3 846.3 938.8 854.5 1427.2 1005.7 973 878.4 1008.3 1061.4 762 711.3 774.4 785.2 1222.7 883.7 823.9 884 833.3 8 [...]
+endobj
+3341 0 obj
+[472.2 472.2 472.2 649.3]
+endobj
+3342 0 obj
+[777.8 277.8 777.8 500 777.8 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 500 500 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 777.8 1000 1000 777.8 777.8 1000 1000 500 500 1000 1000 1000 777.8 1000 1000 611.1 611.1 1000 1000 1000 777.8 275 1000 666.7 666.7 888.9 888.9 0]
+endobj
+3343 0 obj
+[222 333 333 389 584 278 333 278 278 556 556 556 556 556 556 556 556 556 556 278 278 584 584 584 556 1015 667 667 722 722 667 611 778 722 278 500 667 556 833 722 778 667 778 722 667 611 722 667 944 667 667 611 278 278 278 469 556 222 556 556 500 556 556 278 556 556 222 222 500 222 833 556 556 556 556 333 500 278 556 500 722 500 500]
+endobj
+3344 0 obj <<
+/Length1 1406
+/Length2 5931
+/Length3 0
+/Length 6889      
+/Filter /FlateDecode
+>>
+stream
+xڍuT��6U:ҋ
+��{/"��!%�j轋HQ���t邂���T)�)����s�>��ֽ+k%�;���������XP�i�@"Ђ !�
@UW� ��B@�)�	
���N�eCy����@��`4֦Ac��H�� $
+ IȀ$e�@�(�7���A|� ]!�=$�Eʥ���G�����:?x�� ������p��;
�B ]�掭����P8
���<r�h����������K�rR� ���� #�
�s ��
Ѓ���P"��8ý�r#
Ѿ
�5���0�6�� C���Z: }�/��_ ��� @B����+
�;�"�= 8�	�w��5t��~h ��
q�Bb�!>��

�}u@C� �2���
��{�����n�8
+�J�m�:�A��C��H�O
��A�}��3\W�����G88�����!l��{zô��`�&�ۜ`h�8PZDRB �����¿
+��{�~;A��XA��Kw�aH1^ ��a����)p�C� {�
A���X3��3v�(���]? ���'0v�
�7���XXG�\E͜��9UT�~ ���@PDZ ���$%E A�L��M��� �s��H��pD��b�m��L|������YA�]h����oB�_���
+~�����W��u���F�nn��<�?�
����]ho4V
�H�D�
5���h]������ZhV$�'�5���9��P����9`ӻ�0���; �ˇ�
��^��N�
�U�?K�#�H�_�� @P(�?)v�ؓ8 �����{��B$��
8"Q��f*{y���~�a~�_n���z�PX�^l��Ͽ������3SH�l�K]d�I��M_���\��y13�vD����
�c���n��eu�#�Ol������G��g����V[I�G��m)�����4QZ
��
4
s�o��Ǖ��-EiPH{�۫�W�W��]�Ԫ�Z��6�yٸ`�i�MX�W�}�$�5� 
1͞�����4y���=�'
�N-�X-�$�N�U��x�f��l�ĂD�n�Fe=�
�GLi���	�dG�+ME�c�0��w6�8�>� �}�Z�JeP%}[	L�xg�$�Ӕ
{��7o��Q����6�-��;6�&N�
+
+�A@�5uq���r�pQ�⨧���}9
2w��
+�*+$�`�dE#�>g�<4_b�$��hQj�
�Z��=w
{P��O������i/Eb�L�ӝ��
+��]:~�Js��Ņ�z�
���I�
?�g\`T�R�".�Ur
u�&Qz�b��j���{b�[Rӧ�4
��“��//9��+��n�>���20sIjܺ�����!w�g�z�ĕ �nr�O
D���;��o��
��|�g�,��o�������,I)�G��S@��
���
�C3_pkя���)�V��;o���Z9}��	��Et��X}��u�īcP]%��ʾ�v�	��0�����VD����ݺ�z�(�T{��a���`���S��u�R�c�`[X���foW�<�-鷤� ���5�!6eJ�kS�o�~܍zQ�;��6����挐p��˰�h����%�� �k�ץ�e�~���l�����K��NP^�筚/����>*�8f�
jO���!3�%��d�~2��y��!f�H�QB%�sɎ����/�)b�3����
˾�7�H�M�����{Q�}SQ�}XA�ə�c�\���Da��m�\���^t-��'�ؤ����ѼA��oc�Du`��t��/p.kQ:�5���j
ô�c��	Xrg�#�+_�b��l���>Ib����-��~���\����!=N��*n\�Y����(�*|���-v����m���z�̸�Ņ߫�ۆ
Z+>
9
�
+�
� ����O}�[t�\]���l�����x��-�R뎭Λo�60��d(*�)��N��վ���
+�J�S��
�S���J�]'����-��tE�dQT
��sN_���{�ӏ`
+7�O���R>���T<g��Y
+�6z;U���
�&.Dn�G	��OnՔ;�Տ���A�j�3�vs3g��w�.1��"!�g�ֹ��P,����]�l#�>�[&ި�d�c|������k�XfP?��h#�rOW{.%����v�W2gҩ�o�;?
�*U��P8L��_�w�Q��p�4�@
7�]!��D����i�.*�75�ە��b)*|8��;�=łe%�����Q�x�?Z�|M/
�߷�Y�9-?޻ύI<7�5{�\�"�Z�YLΒ&UE�`��J$�?�%H��&Ygԩ�����rU�R�P��H��E�E��kK<I;���1�أu��a�"y>h�3��
�w`����@r�6{�x
��&��ܐ:�����Ֆ�SCI���k�
� 6�i�UY)2�O
OdB�W��|����+�stUe!��˫ʘ�cN�����2���<�ԋ�$�����7�4)�Y�~Q{��fUl<k�^��"Ӈ�\��̘I���x8��
2�U� ��˞o9׭)S^Q��%��ڪP����P�
�
վ۹�9Z`�����e܅"�|;Vӌ1��kx{<��f�dd'����ד�`�=��N��\�"r�@�_�*lIa�2�=
�E6���͚��񨎸�.G�r
jݮ�mʂp
��`�`����Ch)��]��:�l�Q|�5��d|7*&Y.���f
+��ħ>�
$᯸>��&PN����ÄD��jI'1����ɮ)hm�կ=�_ujb�.P5��O�<F:�81ƻ1y� E��3XL��
+?��@��d	��-�9�+-e=��RiuQ�B��R�(���?2�9#��&��́C+{s��9�<�.�
�ǜ��ZE� �
�TD�
�TK��}���\梛Q���k���5c•��CQ6�ed����G��)�����b�b�v�~j�{��H�)�gV�n��LLft�S����ܣ,U��tnp��ٙ�X,�!ˮ�r�|Q��[]�	H�8��Š��s{�9w�
_s<S간t�U|
x���-6"�ڎu�"
C�g_c��wz%��?���:%�"����S+��Gݥ��"!\ n�
���8��� �/8����A9+�#d��~@ű�ƞa�bp�Pwa
�x�Ql�
�
+\�O�k/x���
c;~�~&�%wk�~�&��(��@�ϺO���
+r;��d�lɯ�Q�n�[�
m-�@f�
�К��zŻIz�/1�;k��7���2g9��
����1�߾B�.�5�����������t�D��.�3Ra�����=�Z��x���>1q|��SM� ������өSn�w�Cv���<���Y&]��r��"��f=n�N
��
+�d���Db�QJ
i�i���C�ZvX�nn�ǝ�j
���4�6�+�)���8��f�SH� +�`� ��'&
-��z�$��eɓdf
OR�F�WH����$�\aT�i�H��N�d�5.'��	r�՚ώ�ٷ���81K�
I1�%*қ��Ț�v��d��m����3QN,���k�����O:�\H�:�������y�
iw���p�q�
š3Z�{
;k����r

z|*u�u�U�	����8J'
]Y{�Lb\x/�h<U��h�1e��R��&�� �[����4���7k�}���ӷ\q
:�O}_����}i���H��_�r:<�s�����b�d������͌o��m���o0&}j`ɖ���=��ṃ�J�q�es4��]��|��0
ڂ�6�
V`���=�͕�P7[����_��j�q�<�8񡶫��f��<�R��/;y
+ax	`77����;*;v�]tЕf}�q��ՠ��q+/{1�~A4�|C�ŏ�:���X	d��Bx�@
uj���?ԗ�q Ce��
�
+�����ݏ�)}4
$����t
���o]__yN/T�2���j*�$7��ʸ�Ye���j˦O���<J�9<�}�Y�Y~$��}�>߲�x�x�Kw@�,ё9�b�&)�ζ����Hʀ�fc���q6oحi.�|jƃ,�Hc��	f�$Š�D��\�A��{���+�N��)� [<�Ӻ磰:f��

a���,�,
w%o(v��g��g������7���hXJ
kR�\���ꣀS�ԁK�j�R��0����p��c)
���u��Hd
+�}�L��տ[S^*�!8
ᤒq�]%m�$+~-�x�������F>,��
E�F��)�q��� P�s��9�#�W
�k'��9l���T㫇vV��Fv�&�N��w�Ėr>r����(��f�\s�_��3/�SQ�.5K�"[��\�K���4zMl<dgc��#�+�
�>�ܽo���6��G�4�����>���r���S���]FLt
�c9z���-�
v7,�ud�����
���4�Y�U��q��'x1��jz=}�� ��5}��G*Z�O�O�qe���A�ж
��9�Qoj�|
D��3���ʒ�i��F7��h�p%�f顭����Jk�ʛ[y��F�����%��g4����f��÷�
VT���
�0��Uژ+�����&�'��;�lc��]�'��q[#����V�d�W.'M���BJR:Dd5P��2*���a[�,��Q�<nd
�-�CZ��c���/���M�F�_��țʏ�y��j?_H���-�qF0�5�&'� h�N�^ұomۿ
+���\r}����%�����'�cl_��4=6�Σ�l�If2���ar����S�� *J��¨s���x��w�x���_���:�S5���\N�o�Ď�-��^zAj��
���[�G0ԓ��T�d|�����<����˯�(��>�M��Ln��H6()�%���(�D���?�E4G�A��;�	�23l�~f��O�3<�x~���>�NIH\t��'&��9~�����˴���̛�S�VG����pW��C���w-����L�0��R�����Z3��
W,i]?�������Q�Ǩ��� �
砅W�e.}aʠZ�Cy�����󊪪�B�����X�������v�"f��@L�
f7�r�͙�G���@4gʪBW�Plؗ~'�ƕG�D��	)�խ̦�-���ya��4,R7oUS�
���2���2F��W�ʜݞ
�@�mT����f
��W��wfۀ�K}��{u\�uE��UE�����x��a
�� ��)�CD�O)_"��{��
�5\�����Q=�]��?�,����1�x�]��{
��=~��0L�[ycB�
�
�*�`%��NG�����e����^
ܯ���'2U��,�[}hߊ��Q�>�y$D3`�����6�����
��r��
��.S{�v�l�Tu�s�lr��;��6H�Җd3BC �J�5,�6������G>Q������̌�=_k��Pj�)�p�_ab1N>)�d�N�M]�?
Y}:�1&d`Wg

�9��M������	�a	nOF�CvXN�X�ث,33��8�^Dh,�
?i�
Y�|j�ĕ�X��
r���4�����<OH1,��U|Y�m��8��Y��������*p��%��u�cfz�m�G`�ꦼ�~� �7��
���$�-��O��Xc$
����uN���>�&'"��E
+�G�xF̭{��К��4�F���<��ꩤ�.�2Q+���d����J�٪p�B��
+��~�E9�&m6|{xV�֪�]�!�CM�'�|B�tv
+"`W���K�8Z��f����v-��^~s��OȈ�w�
5
*'{y7�7g���H|�d�i�<��O:L���˻���X��/�/��5�o�-w�
\�
�f��%�Jz��@O��}2F�����yLO7�nμ�H0U��nI���Y��S����+���z����mA���]�=�	>A#�������/%�hF6�I�$���嫗%I���3��j��Ož�Ã��w�� �e��2���rbZ�S���16�
=b��D6W5Pzr����W��d���!���x$��6�
"Ou�=�[����g7�*~���C(u��
q��B
F�FL������X�\
5�&�L��|�����$�!!/�
����
�z%���ev��\2�x�"e�v�^
f����i����h�@��������^[
-N�ZZ��S���/�fL��c�`����
^�?�v%�%�͋>�\-k�8�g�O��K���\�~�\d�)�i6��ޥ������!�����̂��+�77W�x*�8
Tf: �H}4W���=$=L�c8ǔ�B2�����#"(����W�X��Ջ�WE!����\lf������ŏq��$֒+��D1��^�V��6�ͮ^�_��(�n.I3x���g�����
�a���O Ns�Q��,e��N���G�rtv�њ����9�B9�8�Z��G%^�j�̼������U1������.R
���Ef���d�
�Ԝ��L�������-j/ʰT*Oj
+��c��Uv%neN�ȱ�'�4-/ȧ�.F0CsF�W�,*�4�_�?2#(i���q�QMP(b@��3p�:_�Χ�}7�f+_=�����z�B���*�d�eɹ��KyP�IwY
L�3�)sq�W�SP-�������G�'+��嗭��q������`����@d/u/�>��d_�Y@���4j�

+��zP8㨵�Av����:ZG'ɭ���}���el���>�+V#�N��3�	1�;���7/+��o������I�0�s�k9p�ʊK�m�]�c�pZViqL9CI��qG~��&o��<��F�$����<��+�Ϻ2'���K���]}$!��]M5�����55�����-���;�O�7�Au>���MP}
+endstream
+endobj
+3345 0 obj <<
+/Type /FontDescriptor
+/FontName /LBWBDW+CMEX10
+/Flags 4
+/FontBBox [-24 -2960 1454 772]
+/Ascent 40
+/CapHeight 0
+/Descent -600
+/ItalicAngle 0
+/StemV 47
+/XHeight 431
+/CharSet (/summationtext)
+/FontFile 3344 0 R
+>> endobj
+3346 0 obj <<
+/Length1 1637
+/Length2 8547
+/Length3 0
+/Length 9615      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T��.L�"�)EK��ww�8- @�ܽX�K��R�)Z�@�x�S
��_���}���u��Z�73�̼3�̻�0�hj�KYB���PG;P ���� �<
@ 7�a�[�Šv�C����B�8�A��,� T�:�]�\< .~a.a �

+�
�:
dA�K�@��c1�@a
�k�C��L� .!!�?�R`g���B؀

2Z���P
��_!�Dm�0'�����u�gf�A6 -0
��
+��.�r �U@��Ӡ
�B������=��pqq�;
���T0��`�?l�������O����8��
���:�@�
Gk��

АW�@�#�  G��@�=
��rA�A��?��K��
*��>��3��s�!��k��
��r��2P�#���|�g��C�=8���#����o�
+�hi��
K��#���$��A����� �x� `' ��†�w
�#�o�C
>^0(
`�P�b~���\� ��
���߆����� �
�
l
q��'��l���0g�;�5�~\ �����f	u����Lj9�䵤��Y�*�?Fii�;�������py>�
�?
���?�� �_��WD%G+(�w��U<���J\���_{�
����B�L�����x���ނ?\����;�����{"y{�?�L�?v����/��]ˡ}X������h5�%����J�ÒH9Z?�������
����-5!
�?���4
r�C
��P8��������a�,�
.����4�����c��e��9�
-���w��� rvy`=P�A�xq=,�%���89
���C�> +�3��A
	 8A�UJ� N��H�� N�߷�C���q
��� ������]����@*N��� ���p�����aK@�{j�B�c����'�������/�!��?"�Cv�?��j�����CW�`�CG������`w�֏)��H�mup�E���ڰ(�~ʅ7�p�	�Gn�t9N;#} [...]
u��;���5�y���٣�x�sJ�)�F��I�υ
�{�4�"�;0%,�{��_Tw}�wc$.�PiQo�,JW%����S
�dޯ��wB�"�û��(��d���*�m�Xqn�K}�s�T��ʮ�k�9�~JY��zs9�7Y��;�	���$w,{J��.�ՏlV�v�i�:l����~y^R�戥S��s�#,g3èQ�����z]���
e?���BT<f&�F�n\T��^��3��ʼn�}\��S���j����2�`U��$�y��*(���>c�)dB���`�M��x��Pp���+$�\��n��q�ᙗ'�]�q[�4�SE�c4a��R͜���W�\�_j-R��d<�
�ϼ+ܗ�U�
��>e�-|�K�o��� �������hR��pڲٕ�7��?"�X"�g�^��|텶 �`�D]�x�� ��c�j=�J4��荵[����`#��`�?oN��W�u��j��O5��{���4�
+,�@\�F�V5$�l|؉f�����ڊ{�"�tҔ�<^E1����H, �C�x#}�ǚ��8]
��u�)���=���4�^��Uo����#}Z�]2������K��-�+y�F,spB
þ%�Q�[����qE�SY���ٌ�
�Dܖ��*.�W�A�E���\�mM��% o�6��Bs?�N7à}�׌@ۄ�j$�
k,�2톐
F4?B�
�ضՔ	 t=e��Ca�멷u��u��Ne
���aA��N�Mԇp4
1��KM��~��y��.��$�<����`{0��T}e��p�w��k�ut�`��/��j�4]�:�4
��]|�jZ���5����Y��{��_N�k��U�m���y{�UO��8X�IVZ�"���\�e=M���%oN�N>�>a��+Wb:
�w,sS"��#ODUz����
_t�9���qE+]5
��3�H��M�NJ�ٶj�=�U�y;No�h��`z�@o��*���
�����:�G>w��3����-����1;��d�����N�P�z����2�pձ
�7

XB+KW�{u��D3��:����{Zn�Ǘ��ž�����8�0Û7�(;II<�wq}����39Aʹ�GN��%�+������PATm�q�D�g����Zn�D
���f|��'�t3�C���'�9�?V�8@׀�
}>�f�Ynxِ�GF<6q�-8��<���F�A,
GM�$��$0`O <"���=MRT����}'�OPFi�T,��M��N�o���@G��X(��
^y������ӧ�S�
+���3�^r��&�h��5T�⺸��S"�D�g2uV��G�X��͗��r[@@�g���b�T_�S?�z�Vؘ�t*����6:�n�FTG������R�
����Q�/T�2���RK�
6�z���_���3ի$��xv�����w0
xd'
����~O�-n�`[�ate/��+a+����<;}m�91
S����K-s�HM�m^cw�
��:�o�8:�e��b�ܽ�K���X�˒�jL��
���ʗ8���20�ͯ�"]2HB�-F��L�X97!�1�ä��H�)-ͦ'�!�	Ƭ40��!�e�\��c��8��+�N�|+�����Pž�j������A��!�ː-��܄]�5�AO�jL[�Ň�X��ʳ��Z����"e��؝GZ7X����
"�:�

�
�6�T���Sx6̫�3&�'(L�rIօrp
+!��*=�
��L�/h���Ω��b?m��M��U��S���Y��p5k�h_qcX�u�Vo[���[�ݚ�b�Q���L�9So3P����%:+u?�
($�5��ܐUJ�?a���k+21d5B�qf����r�x���z
&�v#�W4Qd�3w����)�_���Q��;���!5W���#�Ez.��-G�N����

�p�4[��)���Dl]��3u��um��I��$Όx".A�����'k�<,Ӷt�]�ۂ���G��G�4
��C�w�[3��"�~X�/����뛓�
�����8h9m��*�&���GbK*���̔�*w��
��i��R�
M��D���DϢ�=S�꣦ħlj�}�½_��
d��c,$�1:�B1�rM�����3IS�Qx��[�uR\�"�sZ
#ϼ����c�σ�l�м2����t��To��<�U�=�ǎW��g���l�-�B���=��t�L)�����n����1�u;�9:�>Q��/I;�� 2dGl��lU�Us{fL
��#�a�j�#�����>��_�@�jFR�!�2e�x�z<a
+Ɨ��F���Z���*�,����sW���.�Q�wۣ^@�M
���n���-˔8�]=3�>
��.-���t�h��y�ἀQ���X�u1;��ۆ_���AE��Ik�������K�U�9#b6��INS
ӌ�
+�c�\.�@c�Y V�I����x�*ެ�B����[v��OM��Iv��'ןT��;D�K.��I�X��x�<�A��F��t��}�R�
�
<(?�F7����t���q���j٦.B���K�>W�[l9K~�H&�P����-��m���@��
?~����D���j��0'6�3�W5����t
X��)���K�/��Ċl�iF��Pl��;z�ܺ!���Hy�r�Df���U7�g� �i؜aⓃe��(��x��y*'����� �ܽ�$��
+���[��
^��a����o�
+If�d0RX��R6R�x�x�0
�
+�j��J���
���-��}D,j�A���
�v4�2���B[���|�|UG%7v?~�T�6)����lW���4�����<�pW��
���!�8}�*r϶bE�Xg��=h?�\k��
+n�P�������Ž
Zź�6�����)�
f��&S�t��zk@�����;����j4[�9����k-0��5n����L���DyE�դ��S��&}�3X�ı
zN�p�T65>�c�U�i<L|⳹����I��*���o
b�'E&�|rQd��w���
�A;�ػV�d�Bg8vH�34��wv�-MC
+r6��O�B �DK�f�+�B�4)P#I�x�N����g{�
r��s]�Pv�Q�x�'
���|�
�7��	m⥿Tܝx�򗾘"
+��Ҷb�y��O3������JV4'p�s�,9��
g1Q)�o�h��L�T����㠟��~X��,5�	7����dF���7J���[8��3W�ߴ�i��}.M�ߋ\�1R03tz.�����i��D�����}����ʱ
m�k{d��
R�DJ��ܠ�x�:G\�͸�BD��<��Z¾��ڂ�p�I3�����;�͎�z�����/�\441~���s�k}k4�6�M��k/�ʯ|A�p�p˗���C���+������;|4%q���Ĉ�3�!4I������t�"O�>
���Q��L�+Ŭerbk�%.7w�=�D�Ƿ8�>��U���D�`w
o��
(X�mJ��B!�w)-&D���o��>���?�����&��Qds�L������\�(��<���� ɵZ�����+qz;�XQ�P�?۰�S��a�8e�>�vrػ������Ru&�uz����ڑ��]�z���z���R��{����X_P�|�8cg�N\�N�R��n� [...]
ﳾ���vy�6,bN��p:��PW�Ku�o����^��d��<���7�e5e�yU����%���
��i�����N�$��������O�P)Љ}��\u%dE�������n��?
�}����𭏠3

������ٲG$�{A^N5*�ʆv�,13~�^4d�XѰ���sH�&���ebzV�#��,�7��E�p�Pf��<���a�����v��_%W0�
+R"Aj�o>'=#��{_���W�|����&8ZL
x�=2�ݦ�y����|"3I#
9W̽:��-r�{��z��}<�-krŘ��Z����#�e<61wӨ�R]�O�:?�k`��JϬJ�Ho�ɢ}�F��|���C6�G�c�S�8�H�}��3���^Y���[�9�3t`�<�R���
���$?�9��C�;���g�����؉ǧ�C$,���#�/EOH�\��MA:�jf�&��-
�WI�o��,��akN
Zc�}ϗݱ�N��]ߠ�(��T6�yZ�N�T��3C�
��>��OZѷ�,~t�<,�Y����%��#g|���a�P���Q��#:�P&/��r�� �S��J.�y+��,6
3W���^�9L���Bm���X�M���
+�k��
X�K!�2��:�S��+-T�Q�OjuP	��<}�	���)T��C&��X_u
fIGU-F�o�5b�0��
+����Х�-���'~�~ZO]���h�|�PЙM��d}o��B"捈�`��� ��+k��E��ݐ>�q�%��f�~'Ot��^�5[sI��	�
�ϟ+�����/�=��E
�
��0��O��CX;�>�2�m&�)P�	��>��P�<CT7,�U"t�5�B)�x94�����7�^4�e
�TQ 6���LAO<
��!�}��-�G��*5-�7S:�n�p�0��m6���3�G������-���뒼:UK��0d��i8��<�F{��‚rI^X�n,b�J,0�Nh�3�^�@��S6�#�qV��|�S05�J��
���r�.{ۥ1���9I�K������vfR�N�t6�Q�-�G�Z�L��,�W�cE�����شl�7{+q�t����=�
+d6;,N~���~����9o<ib�Ia�Bp ��b�
����W-y�"��.���!땷۰��EdG�;�6�^.<ˏyM��*�;��U�<�0k�;��$_���ߢ��Y����{Z߫Դ��v���I}7��#l/��b
Ҵ~�ga�iLj�8��A�k^��3�F�=]��pR$R3�cb�J��{�m��j��gKB�+�)�>���;ӯf^v��`

%�+U&|�\��m����P�>�E��n�4k��8��}Z2�n�N���
5�C��� �~﨑/��Sz�.h�l~�u�"ƝG��v�&��J ^��Lbq��Ԏ
�57�����ykq�E4
I�$�E�j��m��ze�撌�7SNǗ��
J�㪼eU�����9�w�w���Dz�-5��~�:�<�u��72[�H�bOdk��}%[%J&�C�
���kGN�J
*�2V�|'�c�5��uz��X�6o0b�ə��>�|�d�،\
*/���g���w�(B�嫲H��K����-W�-�k��tI$����E'}�n�x�*S�&�Z6
Q(�[���FE��5��-�e�X7�1���gEM�S�2	 ��畜"�vH^���BG,����
��BV����݊S��
oAB�Of;����	�;�w�F�݀�`�Okj�
?w+���8�*'�o����
ܘ}Z��\��<�3c,uA��iB+��@�oq����	(0'vm�6V9
+��P�7n��ZN<�|Z�ߋ;���{>� ���H#��&�|��Ev(������*�X簜�{m���Y���
�A�{j���!��}�!���X1� ʪT��
NF�BX����O����c���4�$������t�
+I�FŭN

�,�k:݉�PۨШ�z����8N��G��!>ЦȢ��+"����ݏ
1������
�j������f���5l���G-����w4tm��Dhb��S�k��V�%�\$����z��|ғ��Qb�l�Nn\"}�$b&J7�T�Eo��Բ<y�Q�ˢ�����:�!A�!!���M�X�
��kX�"9�kK�P�Xet�]�̜��N=�O�.imLd�j(
���%B�ɴ��t�Me8I�m�_�&@��G�˽��2œa�

te�B��
㒉�(��	Ao��֫`>Cؾ��GH�U�e�-9SW�q�J��/t�o��m!����Y"���Q��T� p�g{8�H�O���EW`�O��q|Jo�Mk�7?�I��ͼ�r�
�EI��x���MkiDU���{
�8<Z��>�
M
B�$ �u�eMd��Ew���{CI>qw��Ĉ�HϦ=�x6q�˯X&;���J�t��/ˁ�I@���ns�2
���
�dl�mլ]�H��<
��P-R���\ 
��9h/���
MF-�ɂv
��Z��H��鏤;��2
ۭ��5�8�$��ԯC3��=�H ���7*\G�$d�
+:,r3�s#IϷ�NV�vO�j�̚�z���%V��- �w����{�IѬ���B/�-m6�̢�ɵUV�c�
H:��ǯ�����i¯�2���a�o���9ԷJ�_p�?C��d�vc W77��'�?G�,qU!0��&��Q͟��c|�˾?�/*^0Ah�_��
���w��(�]�OL�
+�3�.g�{��V����QJ�ɰn^���%α�du����������6T��S�4<7�){
v����Re�����$�e�#�5_
+�b�k��J;u��9-���8-ծ�Vl�v<�Y1O�`}�UM�3&i���p����29C�

��N,A��w�Jq����F1�����/M��`�r��
�d`�������8N�R
��s�lIϹ���� Ym���^��ؒ�W�'L�
�T�
��\�3K}jJ��y)
*0!p]�HH�!�tVN���:�q����N��;��)t֝G� 8pN*]|ϊގa}`��)X]�|%��=>��`��?�ݬN��t��N���z<^f�xpa ��N݄Z��N/��~J?��R�n:���@D�[�J,x7I[�z
`B� �8���ױ��g.��宱`���aW-�����
3�~@uh��Ɯ���˦<��t�Pz!�f���ԃ��r�)��*���m�@�د����>"�gLV֚Ӓ�l�����L��}S�9=
������	�Us;�|��b�P����,�I��~�
A� n�4k1�9Y��FJ�B���2�hؓ0Z�3��YN��8D���a�d�cR�-?.i6]OvcM�3��;�=\��֕��qu�7�	
P<
+M{F��J���J�MNE�м&�{���S\I�|*�,
Axa�]'ljD�u �H�d*"Xh�"��-O���J|q�,J�g���l�uO��ʣ�E��@^�.eHZ�Y�qXs
���r=:
�Z�ޝo�m:+��\�+=eA���u��v=����,4
��
������v�S��͏]� ҳ���X贱�qL�����T�7
ie+SR�W�<;@�WM��Ico|4-��-ŠE�hy�t4����
+ϓw	�G����A�^��"�����MϞLe�� ��
��-���̳q��x-\� ]ğ=�L)�Nl�g�/@غ�
+7:��̍N�\�%Py��|&�eo�m
+�����]�"��6�^\j�(�nx?��쑀܁2+2�"������T�h�����56Mɗ�/D(ޒ-Ք��C^���C*E��}�Gp�����Qܧw�*�&�
�B*�+4�2|�_���^������{uJ=KC�J
���C�lE�J�㙜��\X�>U�1[�W�Ev��~Av�r���r�0__����}9�B~
󆨤?k�[O�PO�Z-�zغ��
����jG��*�H3��NG�U���A^��٨�1�i�x�+���R�/6�-�M
�������+˵ȵw
+#bx����K�JxO��P���Օr�[�C�4�Ⱥ��A�#J:��V�M?/qq��y��;�h�}3���C;����B�kE�Q�K���U��dk�s����؜�

>�����:��`X�����0�
��
k�&wd���ȉ���9�d�7
+������v2�hߞ�$L���*��1b3��0����bw�w]��>㨑/�n�1h���p
�q\���_����O�T��+���*�t:�
@���&�Z���B鸶<W��7M:��C�12|h��-$8��A�C��{Q�:���1V����ڒ@_��aL�h�����˜Wp�C�ɲ�#�t6:$O�X�"l͚�B�2x���������y8Q�dm�oH.;���p�!;р��K���g3�!�U��sA����.=��V�A����jYTOC��I�^
+endstream
+endobj
+3347 0 obj <<
+/Type /FontDescriptor
+/FontName /EFRBIB+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 72
+/XHeight 431
+/CharSet (/a/b/greater/k/less/m/n/r/s/triangleleft/triangleright/u/w/x)
+/FontFile 3346 0 R
+>> endobj
+3348 0 obj <<
+/Length1 1438
+/Length2 6052
+/Length3 0
+/Length 7022      
+/Filter /FlateDecode
+>>
+stream
+xڍW4������n�����j�ڻ���$$���TQ{oB�Q�Z�F��=����j����}�����{O�I~�~>���|'���F���p;�
��
+I�ut4�� !!!!abNNc(�򗞘�>���a���C�0:
+��4=\ @ P\(!-$�������<�� 
�&
As*��|PG'��_� .07 (%%��+
��
+A@� @�r��b*�A. #8
+A��+��
+�&-(���% rE
+��r�| /(�	`AB�{�O� ]�+�4bN����`w at y� F�C`HL��
� `��4�zn�og��|�?� 
+ �N�'�g"(�W0
����`>P�#���i
��Q| ���#�	�ă<AP�
��W� ��� �A������H��O��?�`�Yf�
wu��PH���@0��}�
�!
���Kr���
~°�p4�A�= *|0*�t�@LHRBDR
 q@��N�?
��A~�?�
~np7�$ � ���!A� 
+�	���K�@ �

+F� �P�?�1j��o3�`)�� �����5�a�p���?�F,h���kp��俍JJpo���/,& 
+	�$0����	����V�ӝ�?5`pL��(0���?����7܀�Ѕc
p��+!1!0�
��ނ_!��f�?���
�y����s�v�v�+�����
(�r��1+�OWS��ց�C=\�Ӫ�a�D�!:?PT at H�
�T�zC���(��o2�5
L
(
�GB^<�(!���av�s� 13�m!1���5ޟ2�j��C����Ia1q � �c(��� ~@���C�q
 ( ��0! 
� �
A�s��� Aǟ7
�0��:!����&~*�U
�@`��EL+ɿ��&���eœ��Z��(2x�
���}7�*�!D���>��`��5�U�6��f�ܡ���=g~��o��兏�7~�uG�g�W߰?%��0���5a囦(1K� z���;���
{�8����uO&zݾY�&�ު��YS��M�(u{��l�o�"vD{'w�5.t�UT�n��l�)q�W5�B�@�,�������!+{
(
+U�~FQ������%�[�~v�T��F:�������Iͻ�V�f�YQN��[�dmk�N��S��P���Ol�
�����7O<
�9��[Xv��9��+��ߩ�� ��;E�h�*���i
d�*�
%�X��I�:0U�;��� �=\�::�(������a}����~�`���ɪ���
D��/���dE����P��+�TARr��N���M�|b�QN�u�$]����	wO�
%����k�
ˣ�$
˷�����R�w�Zn}O�l�4>V�u�^
�j�)
���=�ъ����XT�H�}{�|�1}l%,춄���r�
g*\D	�L����|���JȂ�lӭ#�)����ÚYOo
�5����8�Wz
��BZ�E(��$>Pqci����*��f{a]���M��g� �崿K�x�J�6 '�d&[ÄS�1��ڌ�S�Z����on�Rj��t��O��Z_
��W���{�
+5�p���6E�G�+�!�3�����T<�
+�M��7D
+sP�ۻ
	ӃO
�
`�'�Ác��"�֏�e��;���'&����'��ʙ�Ƶ���h�wb�
���-�a�Ĵ�hb�4�z]^@B
�a+�HwyRl����0_��j���"�F�xM��U��
V\��g����ڴ
+Crh�%Sq��
��ܔ��,����b8��V��g�
��d�&O��
��M����M�>�,Ta���v.��
�y�_���	�\^���=r)ֹ�� J�>�����	��y�bq�
Q괹��Wz�

��O��F��H�L_&ٹ�
��HfqV
����
����
cV at sPtɚ)'lΆ
 
R����ꠔE�U�u|��"��>�����K������+�2c��	K�K
���ɭ�����r�c�
+�w�&u������|��I09k?���}�+�T
+_�5x��K}�n��aKiӞ�:>� }%�z������!��5�4�E����ym� d��m/%�h��2#�_�-�����u*7�8�
l2��
g�g�Z';����2ߣ���!į�C c�p9�����K� j��y8�g�Du�9�+-�Gi2��('��r�>DOpV���tݜ	�=�Z�'@��J#����Z�$���9Tr�IS�h

+>$�m��o�,4hꖆb� Z1
���k��b��
|�3hY��������pI�-�t�}itW��gӡ�
�+ň�!�ljT4*_	�AKF�.T����aEH�̿�j�Թ�A��9׹4�	d��Pb9�|��ְw���S� ���@������e������A){��'� 
@�¦̭8Qp�IQM桓N/��h&�0�k[�RA:_xM��>p��_b=
��}Ǻ���
!b�L[N骔S�\E�1{��ᫌ
�b�c�^����l|ޛl]�L�b%MZ փ�����y�g�;7WO
YS�6��+[��[�T�,�l>@����S�MF��X5�u;���A3+��7_/I8����}����I	��\o|���˻j�.ja�
{�
�
H?�d;���~8#�U�9�s�Jn�1�L��m�Umq��@o�Q��6ix���G2�E��o��h�����h,����+˱T�x=N��`yW{

6�|p7^��ܼc����T�f��������j��=K)��4t3S⚒��#�Gt^cɮt��3�(y�1���H����x���w��ٿ�.���NtI|�Id8.���K�^�"
+�5�
��v~���m�
'��!�Ti�eM�k�2Ұ;����0MI~üIk����5�2�9����#ה7�I�f:8��Љ�d����S�����N=�f�b��U����
����
����
�\��g<
�
���=+8p�{�&|�e�ш�6I;_
'o��J0
��p/�_ҖF�%4Wf7��C�G'ih}�"��N �t���Ać�Vx6��j`(�л�`g��P�޲�n�y���1��[z�Ru�Ih�fAN��+ߖ�[��-�UBS.Ӟl&±�7%.�B���
r���w!�֞�v,=�6nsظR�B�C�}����	젘W,��3*�U+�j<,{�(�/���l�Bo��;��%_��"�MA��C���C�ӑ^�[֨(�ݖ�q���H�Z+[�B���%;��{������
������IL��j��Jús��Eu�l�U�'�>!G�t6˱c&E��1蝠OO�i�	74����?l��
��Y�:V����*˝�M��
+e���
;�]k�C�v��5���^�]��"d�0�:�
�%�5���C�^3#0P0|��a���{cX��n�[��k
��I�
���)c#�]���*
%��63 �\�c���9�M�#�4�IƙI<�x�V})���[�]��
jLzd{��LU9{�����^
üdYMq
+��������	��78<��	h���=N
+[�.�k�
�V
'�^,�Ÿ<�B'9���p#
Qc7�n~�%4@�F�+�
-ߣM�BQ���`S����C��NJC���B�(��}��izG����$��u�[c!�}v�Jj}��w.폵�ɸ �;�f\1�I�`�F�腾�20Fxm�^��Ahx�Wj�Κ���/^o�5��,�i�:VP(��]����z9���V�k��х������Z�B؇��
7�������dM�d�+��+��|Ƴ�X�o����#0k֪��w��E��T���ndI4"��T���f󍒺� 
u��D1�
��
+DХ���q��	�m��X�u_�X�`�;����ʩrg7��1

+�&��R��}��yt��/�D8!�/oN
U��o�Ҫ��m%�ow��3[D����%ϼ�~��^��m�o_P�H}����B�6�E�vt��܊�Xj]:�l��`��~��bHa�06���{V��>-�l�`�d�o�Pu΅���չ��Z-j*�X:z�l���TY�i�q;}@�w��:�^��eV���<"!�mC3�
[��J
���ԾrNS�kL
�x	�r����-oL��;
r�0�D
i��
���ڙ�v�w]��A�("=���ް�*cr������1��8�i�hm���>OhD�{�.ܯlOHB����C�
.�:�L�?�Y�%���e���K
J|/N
u
+)�lo�`�3$�
_?������H�K��֫�)<��hn�m=UDL�$���a �-�nّ���`t1�3�5꩔gN��BźCzY�=�q�9`����L"T+x4�<�b�G�Ks�(gv8�ZrO�����Ԝkx/f�S;]�h����6������F�E
Ԕ/d��l&Ɗy�R&+��
�\�fq�T�
1���`y�c��ʹ1��U����mmZ�9�-	fgd}א�˖�
��$Q�Az�+f��Z�=�l2�LT� ��-�a�!�e�"���e���O���TW��"�`r�Őj�Q�w���2���z�6x��9���s@�M�b���೽��z4��\�W$j��
����������s�⢰>Bō�g"��l)��I
NAtS�o�S�����
@�%a����s���.��U	{��\�P�/(��R�����Wķ]T-?��'��2
+�nqj{e|�0�J�Js)�5*�E?����[Nެ�#�O���`�W���������LkX)�<��+Gj���z��G*�6E�BT���FS�	�Ն���L��.�a�R3w��$���kR�x�]�����A@�]2��jHVZ���
ҹ'��{�Fc��]��o�S
+�=� �7q���&�XQ��&�S�\8#.W
+���#r"�s^�ԛ3���%�1��j�Z=>ȉ1�f�J�
�\zx;�E���j�

+��������7f9��q�w
��D^�Ǔ0:nJ����Y�}���Ɣ%�RjL �%��
]�5�ٲj�O>BD�_�X+�ͦ�e7l*�64�JְK����Rn��2��7K���>BvU�e��s�꺙�r��Ԫo���]l+#�
�J\X�\�K��֔)���-vΚ
+�
t%]u9Q	�箱a����k�}�/�:
+��I�L��e�<
��������l��?'���̛6�I�I]
ʝ�u�=� �
�7
�x����hA�
r�q X�{���xu�6|Z<�& 2Z� � ;e��z��نI����ַ��x�8��sL�����[5G)���-�|̢T�(
^M��
m[�
�cj�
F�.
�*x�e/��I�ڱ2&�"_=`���:�>�Y�S?�(�
k�g�5�4�!AԺDɯour��{��6qgLE��ǃ
hD�G�b
��	{h;�C�!>y�ַ�ү�83�e�Ė>>V�
q�xJ�e�;�^LѽM
V�Ux~M^¡3��U\�~2�'/ev^��͌��S�����~�
 �
f3C[����9}��)cc�
%���3|f
:�7*��Y��Gxx� *�AB_��ؿz~�����{E)k8ej3İ܆�	��{��b���4<�j�d��������,����N�aDJ��D �v�*��#&��+œ�Y{�������2>��˦Ix1/Ֆ^Q8�pH�)���c�–�mjKC��ͬx�����z�d���h��|�e+U��/S�D��g�
;����vVM;t�g:472����Ex�����.��q(�j.>)�o��DRl�V_s(�L��-�5F��#�7��0�M�����
�Ŕ�?�>ᓹ\8^eꀞ�w7��(<�3�"-����5�_��v�L���
��2�"j���Wr at g�K���d��o��MB�{G���O)4�k��%8Nؒz�Y뒯>8|?�/l��"�$���%��]o�5�Q�Z���\_����ŝ�i
���(��'MG������O��>L/�<��6�]��];��nP~�
e�da�/ͯ�]����A��;�u����r5�#��=@�{\|8���������]�-����ǡR���W$�J��G��ll�u�H� <�V$Վ���b���kn�vRH��;�x?|�*7o~.��{��Of��Y�d�E�
���Aϓ�� �����H��4��]��_�_��a�:��lgV�>g%�ÍHQh�*o>|d93I'�՛ϑN�GR��دh7�GE�o

4=xPx������:]鏔[{/����.
�z��~�4���c<��MpǴ7$/���w�L�Ɔ�.R�y�ْ[=_�<��-��O�U��j���'4J�уHd�[00�@;>�j2�=O2D��>,���H:M\�~A-�2�aˇ�|Mvڝ=������C<a
o+��@�.��]�S�Uur��Ƌh�i���J��z-��N�:�/L�
x�G~�:yH�qѩQ땳��DK��WH�������\
=�ؐ�i�\�n�(lN���пa��L�/�~g#[]�k�+�N�}�HD\��Õ�g����v�L��;6�xc�
$��`�9�
G��U�>7��}�Mwֽ��:�I>HM��׋P�A��L�
mV�m!\��>ꊷ7��*~}�w
g�j%��Q��F�MhQ��ȴ�S
,��=WmC��Ee�5&\�-ϛ8����N�|+w+�Y����
�� ��BcRHK%�+�ZM�ִd���{��B�h�����V��
��0��d ^��1�)6���9����z��<��6����#�("^�֝���<��'�є�Ujhᘟ��� �`�ˇ��YI+3�,���֜�i�dNT�.�sH{rw�
�
1
VT]b���)*+�U�\��nᒎ_=>�v�Q@��f�	+�r�U�4-��v^y���vx��l�s���?�%�2|��ȃcv!'q�{.�|������上ͧ4�h�7C��hL
�;	=Ż�V�L9���
�
�������G��9�Y9���]C)��p�η*�Ef+}>
�IW5���I�L��[e$�M���W��C�Y
+endstream
+endobj
+3349 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-31 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 3348 0 R
+>> endobj
+3350 0 obj <<
+/Length1 1467
+/Length2 7070
+/Length3 0
+/Length 8050      
+/Filter /FlateDecode
+>>
+stream
+xڍ�Tl7NJ���h��ɑ#�1��`�����.���F�$���T�o�������9�wv�v_}���w��`�3�W�E�@�8�_X at H�
iH ��D��D98
a(g�_jB#(�
������2
+F�u*`���4=�¢ a	aI!!�����ߎ�
@�	�� �8ԝ�C�ꃄ�;��e�>�!< aiiI��� E(� 0�ꂮ;
���r(�������� ��] �����x�P��Pw(�j
��v��A&@�0t���� �P^`$�V8� P�;:�n
E��� ]W(����>�_w�O���%���!��+����`�P�.P[ ���ᶿ
���t<�
s۠
~w �`4���C�0W���;��D�_iз�
+�UF��@�(w�_����P��}�L�	����%���v�@�z�
+>���<�*��U����(�������0 ��zC
�7�q��6�V����"\vhP�
�C����PH����-
+
la�j���
�������G¼fBh�	�~}�s�@��w�����|uAƺ�z��Ǧ�����k�
�EĄ���������k����z�'����}y������
��%th.C��P�\H\���^��!������F��m����������1�]`�>9���B��^���C��2j
�p�_�
+�^E�=����bBb�0w �j�CA
���Y�k8��P=�;�׋���z� N�W�
=�?&�;zQ���K�����}��!�_�(". #�`B4!В8�赵�z��;@P �@�C h�� ;��ט� h�K��(
���(
t�GDD�_�$@����� 
H$���TB7������B����YD6ı.���"���
�a�����
K|T���Z�AN��Vp�Oh�إ��v����7�O��
>bg���
{f��ٛ3��I~�
���-ƩJL2��~
=ƨ;o
���p�>��K��(Jj���t�yY��M� m����j3d�)~B���m
���ɪ%�yI��U{gupxh�ncwT��g���s�]U�!1�Z����Wy��{�d~6j��T���4�Cʅɭ�4�Wlx&��I�{4�
�����gi���=�Riy�Y��#�l喁�u�~��>��]
��L�f��;��CU��Ӏw�Q��5S~�|�,yA�=/��y��p��wn�����P�G\�7y̭a��
��3�}���e^v`ƌhʨ�m���Y|p�5����&'&lj��c�o��ķ�S����M�`y���<]A�u��������?
o[�_bW�JsP�\\�yL�K�Z��"k1
�I
����cY9�������Ko�6�T�h`��g��� U`�#�|�D\��sw惾��*�A�� 휲g��Q�»��(NABE���Jv����
+FI����a��(]M��J�姘C��M�`��7
�"� {��ZJ[B�K�E��B����@�8+�����E��D�t��%�\�
+M�wk�H��E�J�g�����ĩ� .[����E21^D졖<o�I�|�y(y_'c��k�5�e��+��M�W�T�[�\=�q>��ќ�l����w��b��m���r�O}�#�?ѓ'&��լ�.�
+��d����&QZ��Y
Ű�؝����������2;�����cC�b����U��g�
�����%ń͌��h2t爝=;��
L
���_HM�6��qY�OE7�k*Ju�����\��GV��oߵ7&K�+���Ǘa��6�0Y{Ż;������l�d��iE����@��Bԉ�8y����8�ckuC���:ɍ[�� �B)&e��t�g9�w
�����g:wP�J��{���V)��h�
�.�L�����ع��I�G�/)�w	
n½���
|w��w��cO��|���`�?G^���&bTwqB9q�
+=(
��35y ~���9��`@��;q�
��u�S[������~>�D��:KQdncX��J��
����d�c�X�h���O4��J���Hd��ȋ���i��LW�|���Cn�5
+�,Ͷ	!˕�6KqS$�
�W�٭�So�H
���z�<?0��V�8\m4L��
�c iq��a�({�e8��x�v��R�!6�,;�KBo��5�
rs�hӗ�hH��$�d<��K���<u�J~�6I��~#��Y��/�RloW����N���~�J��L��&�O�!�D����U�]�����إ
+���
+���Ƹ��s��/�	%�|z�8|�t,�:B�K�P����iƚc7-F��'�W��gp��Y�D@��N���D���S&�[�S���#U��kڵg�ǐ̽�6�Ùx�

�����!
9TQ����S�ځ�t_Z�=�6 at D�<��
�ܣ-p�:�Z�/�O
!aj[ɠ�
� .{=���D`6�P�g�[]�|�+��0~u
2
t��Q��P��
 �&�6���k{�\�S
�K�� 9
-��Uڞ���V��9w,����^K��H�����(
y9�`��؆Ҫ|%�Ak| ?��p��-�L�s��O�r~'7�},��y��q%���l�ph�zD[�����j�#���*[�{E�\�o�N���3��Cs�
+�
،V_�g������,ߖ�b��y'R)`�l����l.�K?��i�5�]��`FYhp��z��mȠ����-�Yr�
�[6�]�M��"��� �h��*kF��
$HpNc�ql�6�M�@{T�p��w�c�I��F�xA�]��m����U�k�ڣFZ��k3h)��T���R����l�F_����馫�8�?�������U�����G4qM�J��>�w�
���wC��M�c�
���"ޓ���8�҂2�U��	N�o��6���al��@����V���ZH��8Mc%Q�z7��v�㽾W��

>#|����j��V�Pjo;�HKg�(;Ӧ��gQ!��qr:��ܸ�u�vƦ_Ǝ���.�{��DU�*i^�*PZ0-b����"Mw���5t@�
ި��:�M��PJ��t-�$�j����D�$.H%�E�
+�K#��W
�q5�Wu>54
�z@ו�I�"s�,�/�B�5C@
+v�1��uR�"�R�Y�#ޖa1%��F
�G�ɽ�3����_nʏ
��f�Kؾu��y%|5���Jm���y�<���|�{�]G�@G7��Kq3�3�����WbMѾ
�uC���#j�|�r���ʦ��8��
\�}
���	��%B>�
+K�d���#���4~հ�ZW�Fu=�nKv��ۣsZ+���֎�P��
�
H)o{\E��4�M�4�x�� �)���lT_�
ŏ��V	�U-R ��������3|���	�[�/�{�<y�c-�5�YP�<�Ɏ���ҭ}"1ǰp&�G�N�~Ź���g�`�V�n�r�&�ӤI��/��ɻM
N� ��E��'�
��S��P^E=Ŀ��,t���`kՓ`��5�
���OtI�u�{����~l/.���z��ܦ/��:�<�}[X�"2�r�F;��Y/��*�L��d���B����uJR]���by
??�>�N��`%�s�t��f�%?��(<��t�\9���Z�7HnK��hk�;]D�E�Hm
=����

�nRF�2S�n�}V��W�!꿴�kX�(�]�3��1ŝ�?�̍����2����0*���x����y�����0�1�
(��|����i�<7&���*G�"�=��SG�]5��o�K��m��h�}T!c���&3��d^�I��3@��>}��M��wm�̙2��4
@a$I8�c&����K���fF�x�}`l��"#�@��ǖ�
6�`%VC�
_/�.̴�v�ՠ�C����@��z�I�@����w�5fU����.���m�
+�,�O�
{��h�R��$�E1��rQ&Ac��RӅy�ϟ�U���{K�WSD�TF'�X���J
�u|w��J+�l�6��玊"�}o��ue#Ԍ��
��
�A'��Ǘ�HlUۊJ�s���F��x��,b�s.V�>�����W2˽M�/�a�����)�2�"
��WH����K7
Zi�1�����.v\in��U�4}J�7��S|n%[�:�
+\��@	�.<p�
��#
\�^�%�C"�+Ы!�H��ͩ�]��ueK�O&G�^�+
?���ph���a�^C��K��
�ⓤV}:S�"��P�F{ڣ�R���'|�ŏσ�龑oU�d~���.ҭj�������y�nܺ
�p���׸� 1���h�5f��R��5T����n��c7�ڻ�%�5?cM|��y�E8��uM�j�(��H^��<�&��᐀gon+����Y���������s��`?1(�:���D6��*R$I��'��;s}��(���
M�{�s�];E�+��[�;��R�_=�4v����h~
+QGݜ2���*dK�~p���4(F�����G���}��]Bf�1QT���
+l��*OM1��?��*a��ݬ�r+�9�U
l��ǯ�.�V!!S�{�
+�ʼnAS7��6�'��������g���\�#y���Єi�G��1�W��_&��a�M��������7��TU�nN�o#��Įg�Fk��sS����?%��(��=��}5��pl:üq�
+'K��䀞�
ͷ�f&v��>��*E�k"������?��c
r�3�?}%�$���B5:&��*|��9���·f�ҙ��|�R.�A#rRg7
��E�Q�4��i2X'�M�LN9pW�
#:��;�����'���O�(�rR�پ

� _?/vvt3~o��C8�}���U2c��f�9y�_�8�v�4��~�A���6c��)�P_X��E�2�ŕȞ�'^"� ���uZ
���=�t z���6���#�߰(�D7*\F���]��&��=;����MYtY���A���H|尔��v�PstE;���;� c$$VJ�*G���h�$b>�
�/�dcq���Tk��L��1���?ح�V�-����g���a��u0ן$�ty	o�c����\���:��,�y,c���#�ʞ��]�z��e�H��w`n��]>�HK]�X*��wZ�Yn�ӏ�.�I�4����R��H��Å������b@
7��#��=Ma�&ȡe0Ԗ8|��R�a�$���+�
���@�A��"�,��c�
�� [...]
_ע9��ڐ�w���6�#f����gd\��-�:��OU
JD��/5u�t_`f����<�n.P��6%2�T�%���·�#aZI�
�R��_�ү�ގɃ�/�Ĭ
���\~y=!���Y�$���#��U쵈��Y���<?��᪋Әy
��y�)��rOz܋���Q,E�ڧ�wď0y��`�ǨuT��ni�j~�3�(/
�"���H��vV�����۴�?�~�0
+l?i����8��+ow�bCR
�R�_<��/�׆:�v.�2!ǂ�w�h����F�,�a��
���l�
+�B�Բ���͡F
�
s�[����*�j��vY�I��ŧ��x�T�I����u֏b
�Ħa����V��q�G�щ���TO���˺�j
�!��
]Ӻ����f at sO��D
q�ެ�;���g������t�
�R���T��1���n�������W]2s���G%��,:�/*\v�"E�f��k[j=�w��?=a����-+����lw��@��[��G�=�=��o�7SW+���K흱�录�aXk+>� �>��-
ٹ7N����체�Q�<"��ڴ���1^ֱ���SB/�nƇ^���Z2k\���Ɉl4G�~�!@�ɲ/~��y�����+���YZPqxT�&b�,� RE���>\k�X�C�����7l�w�6�tRnU�=��z��GIs�a��
���J�.���̎�i�OG$���=��]fB
�}���+��QLW'h�s�k���
+-�����K
�`�\1BM#ߪ1X��5$y"��4|�~��ӭ�%�ט؆<��yţa%�LF��R�fu#��dzbcC�
w�S��0�w�2�OU� �}}�0gᗪ*�
R#�-�b��E����
+[rn};

oDpK��?��pf0�b�����fʧ萖�݅o-P��=gR�n5p���RB֨�O,��\�qd�EZ�"��L8�p�3e���zI�U���e��Ȧ�����"�7%��
+Q���>Va爩<�3_lim읝W��Ih�	�)����T�ʌ�+~������I�!4��ߊ-fC%b{F^�~�EQr���X���kY|5Y��&��E7��žm3����L�XA
	S�?��Y4�z�ލ�߁S�(�*P��C��!�F=�!
Y7��F�7Y�^���a��AE�����4	C�Gx,�(_-�������
c���[x��qa�(.����E�0j*�����
+�S�/�	������
�_ȷ�'}���{=pH[9�ٙ��x�q�k�b�c`��|t$@c��f���U��6�ju5>�&�J����
�x������%��� 
3���f�IC�ǝ�������
+	�P������ߌA�
dw݉KKE���
Ng�\�`�d���`bi
%��cл]�	l_X�>��6��'��.��J3�r�d��(r�U��6��ʏ�
��X#c��D������bM"�Ya�0{�;�Li}qc�j�+�a�<�y|uS�3"gݛ<oOo_�8{�+q�s
��y
\�\�r2P~1o��Qѩ%���`6p�<�:�u�!i=8��<�����Y}v{MٝHN��u�i�S��F�7��?LG�v��F
�qj�|O�8�U�Y�(�^��jx���A�_A����Ҏ�X��_

'/��|��0�
�_���t웥�����`o0�Bo��Ӱ�c�x���C;f�:�����8󂪏�+�:�!	|_q	-�Q���}�@���3F7�ǘ��%(n�
̱�
�c��H�
3�J�j��f���.=Պ����
3�D�33�����O��u%�D3��ֲ0��F�j69�=RS]} -s�q��(ګ�Ґ�I��\=4k�^,
􋇋��"�0`�}=+�;XZr��N�la�ǷO_,M�=V<'�J�+h�e�sc�6=�T<&�(ǃ�
%a�	N!N����]�|�����
+�֓/�#���±�֌ɮ�dO8��8KM��=}O�GW�
+��Vrp3�w��I��$dp��.�#�P���S
��P<�|Z�:�;˃ƻ'������g���0v(8O�7�*�M`
�������
y�9�@(~!�G�O�{
�m3���s4$�j�������Ғ��~�%
�
�Pgj��ߌD�=l!h�4�.��	�d5��]�����KѺ�[WŽ[
�����]�J=�)�K�#Ѭԃ���e���Li��r�0���	[
i�&��#��
V
�
���b=�e��!�l�~��He�k"{�}9���k�5��D��ytN]�3�DV�o�
+��c��_Ɍ��
]Su��X,�a��_���e~�r�#�k`�!�G|h��x�mGU��ҽF|���B�I\x���^R�~�͔
aa��
�����_~�y
�P���.�1~
�T'
�L�UY�Y����
K��Ng��E7��-�,O���~�ُ�>��L�M��o��8�	�h�3�N�4���$E���'�����l��'���$"!uU�w:���f
�qxur��)<�v�h|�b�LlK7�l-)��P�L�.��!��3�(���^]���c��E���j.T��.�y�՜
��F)��T��4��4�L��b��qx?��"��$��CoޏT�%Y�0����#x��Ď�_�oH��U�\���k�S��_�
H
!.����L�oq��N�W��4(����ua��۵���!�|�K��S(v�TTu�
������SZ���5��dtj���
k\
+t��p��ĮX�ֆ�S��)����J� Ɉ��
+endstream
+endobj
+3351 0 obj <<
+/Type /FontDescriptor
+/FontName /OMWOOP+CMMI6
+/Flags 4
+/FontBBox [11 -250 1241 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/d/e/m/n/u)
+/FontFile 3350 0 R
+>> endobj
+3352 0 obj <<
+/Length1 1497
+/Length2 7487
+/Length3 0
+/Length 8489      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T�k6L�tI��
Cw�t��0
0�
14�% �J
"
� %
�4t7"͇z�{����Z߷f�g�k׽�{_�a���疳��@��07��O
����*�������af6�"�!�q�� �
P8L�_
+��ަB��i�a 5Og P  ������������A^P[�&@
�x�0+�]}ݡ���c�~���@11��� 9�;
�4A����`�3@�B��U�M��p�������x����ٹ �P�@�q���~h�\ ���0

�
��p;�7�
�78C���}�'���?
����v���k�	��u7  �?����U
+��
��.� �/f��:C ��< ��r���烼@Pg��}���A e9] ��_�<��PW����E�_e�oY	f� wq��
8��S��C������g�N0�7��/`����"a���k��yBT�
+�7��c��  B|�"�� � �v��U�����	�e�g��
+w�ݓ�B� �8�
 / ��		������� �=��O�{3����;�`�w�= ����?o��Ü}�	�=_^

-cme�?��㓗�� ��� n~!> (�ܿ�w������o��Wo|�T���@�?
�/�o
^ɂ�a��Z�{-C l�HߜO�|� �?/���?�������6�����������q�\�ξ�K�q������o�1��*kBl��.��UE���Cf/qn� ��;�C��Ձ"����,��p�� :p�/�}�����t�U����~���
C���P��ᶿ��_H rw���
�
	���kk
���w /
��O�s���q~��W���lA ��/(��
�x]���z��
�{�
� x=������~O������L gn�s�
k;�����^�D?�87��
+��B�)MX-%���̫�Q��*[:vjɻ���:s�ZGW�+x�M��iOg�8}w�<�����a��	)�8M���k�>$
�X���2��}����=���,���"j�mZ
�Ks4�iČv���6kB����]BW�̣ӵ��%;.p�����
,��v�>S�
+Y;d�@)I
�(
+bV-�_�z�E�o�D^��l�=�4q-��x-(�j�e���g�Dw���
�/a����9ֺ#���jN�-����
Q�>�hK�8�}�h��X����ʹ�
`�L#�	��fa�����ӿ���Yi��G.�%^<`�3��M1{�4��>�K��EqL��Γ[ۇ2��
���N�K���?)
��G���
+45g[�D1���6����5�=p>�+��>����~{�Bɰ������çv_�rw8.
�V\��ˋ~j�����Cv�
++�T��fYCT��V��{���ҢWbu_��벦0wY�=/k�f� ^Cu{i@�=��C�sx5f��ؙ�]��C��d���|R� �QU���K>1hd at _�f����^�8��^�]2�o��IRi���6G�Ko_aek���^!�Ff�C�z渂M�*Uc9kH�؀�z,�MaA�oߘg�6|�Wl�� �}`��вk�*8nc+
+)
�ZG�f�1�c�~r"V5 ���S�

������5�U2?����|p�����"
�
�$�h�(^�^�9���qL��cE4q�e���
o��\�W
����ׯ��J��i����ݿ��N�~��_�gLH�L���]1'���܍�(	� =�X�ϚG�F/�y��
���$b��-�@3�ih�����(Q���ꇋ������xӢh����HSկnvD{}��g�?��bsf��΋W����� ]�
�HH~�䝟���=��;��d�{��.2ܽ�%`w�ȟ�m�z~]6�ݐ�Oi����ÜU�!V���|����ɝ�����톈�Y��@�Kc
��d`LX�:F����{�%�7�+i���l��wm-9f��W���Q�MG��wh�t�+-A�
+^��OT��\�#���V�"��{�#wnNg�*
�8H�r,���8X$^�Di�؎�T{��CW��Y�d��.h�|�n���
���~I*��A���a��?��8���i܏�k2Fψ����t����tJT���N��ƫ[��|Bc:�v~���M.�w ��PS~��We��Uv�qQ~L�΅*�
��o	d:�yH�M���@�FNf��i
+ݨ�NJ{1�[��y�|������v�SNMh��j�/�n����.`�G�&����D2�`���Ky?ZP)���)ږD��>)��<T�j*�̣��<�?�U�hon���Yn缫K��'"����
��C��]
G��gz�����GI��N����e>z�"YQ�3*h=$��w��L՛�˜�}H��Уr�I���]�
��zf�;�[�o�a�+C�LU,�SQ(:��Ӣf���R,�J��j*2ay��4[ڐ�R�����3��

+����>���g���
�(pE�2�$��
:Q�㎋)
��2S˭��
�5�3H�u�����W�5����H���������O;O�W,�Z�
f�1�1f�����v(0qԈ�ܸ��
7S5�
S��6j^��I��nk�!k�����Tj�:�i�/��d���m��8��}�����yHˑ~��A�y�-Oo�I�Ӯ�>��O_�7}a^@�}&�C�-A^�ܯ�C��
���X%�d�:Ⴀ�ʘ��9�ё*y<2)(���(Z@�I�!	�Թ���Eۇ^��l�il&�#�k/�-��Ĉ�7AB4w٣o�'Tw�N
os��x���YC��24|���N�Ӝ� g�#G�ս��S}3����÷%�6�^4޷ˢ�#�j
��.��_m{B��(���B�5�_�)�d�.�3)
C �Lb��Lkf�]AY��
#Z�c?[o�v␱Է�jBI"/X.�$�.n�u�b- ���?4��Q�m�ЈN�� >�n�4����*FpF1��C�
>8�<ѫ�,��;�����4@�q�ٯ�_k]��T��ڒ���lT�9�q^��<d����{�uZ�L�8E��]L�x1�i���0j�Pg�z\�蛏��'(Nx�f���Z�7Aj�R��c��
+D.��m�GTt�&߹�CK�~��
�H@��@
�z�	9m
�$
DٷF�ʑ��<��ƒ��J��ibWw����2��d�^�ָS�
�9>�J���T�S"� w~�7�:�%�'��Mд2}\x�<�
�p�?݇@Nn�tW?�v5Ĕ�}@]�3����C��� �$�3�����'�=7��
��\
G��R [�!~"FǸi�
CˉAi
���j��m�)ƙ;�b�iG6ĥ6�4cW�j<�t�\���������-��U�o����4�-@�	�.6$������9�e��7X)zF^�/,OO�+���Fz˸S\g}
��
��<��
�a�܈���%w�-M�<?���[�
�cl*�j�{��\��f��2����l
Iɬ�tK�4�
���Q��g��7՞-[S����
+	m��
s�+x=��,ѵ�T
���G���: �'��Y�k!LFy�N�k�{��Ҽ��X����։�'��|�
��.����D	@L��}�GVעx})�,q��ϑ�,׬���]�v#�?e��
D�>�E��:�d[_�O/�=����s��>���2"������?�)b"D��J�B_;�6Y��싊�؆V�U_"Z�r_�fZO({������@5�󏲴C�~��
)+�L(N�\��KȺ�TAӢh��1U44/"\u��7(tC�f�:Y��?�c)%���y�bިc`l
��"��a��?���/7"y�����=:��SA�&��^�>�|V��'�S��RCJa�Y'r�r�˳&5i��
��!G��ଙ�S�GC�AB���\
��
&�ԃ���Ng��uΰ��y��;�M�����A�K�V�9� =w:N��l[|A�.rP���p�
Ecqb�k?�hH��M8��2��;��
�
+�ՑV
+�Ϛ�_�mYo 9�
���F�8��X�Ű��0^�a��f>���vkx��~Y�~�S�]��|Ӵ�\x��k6v���L��ߙm>�R�q&Y�4
+�}\��{��
-LG�1�c�
+�Z ��Zo~��U���1�)MN	֎��7Q:E�Z=��Uf���J"���AV�:~}�#Nk���0&5ٍ���
��x����	���T� D-Vw
+��h��)�8""u��
�D'A�QYcXxo�)����׬���z���^Z����fұ6���)!���	P_�֘*��-\=pb�S��N���:��#�>�
�����役mˎ"����d�����/���i�tY
q�V�1xq��$|�R
oz?A���52|�SN7�4.�+��s[�^��)��J��)��;�/N��:�I��[ְ�/���
=a,��s`�ٖ��4�~K�n^Ȓ4����rv�L����
��
+X/
����{��>��LKq���ׁ�mhC��L"�4�����$ц/������SFW}Ԃ��G��`^�js/rBY�1�����ڱ�plj�|�I�����Z��f�L������8c�ْ�}����>��Y�4ӎ���Cd''��1�"�x5�%WL{������
Ҋpڢ��=-�a�&<�%3�s,�ıXh7�r��.a���|G'n�?*Sr'�ix�9�ɒ߂���xz6y�='���f�|���L���
*�{PD���^�\�K}]�j���i㢹�F�-� ��:"�Z�Y��/�$}��iM�����[[���FB�~MZ��C�QRI��
�v�Ȟt��z��?C��XSt.����
+�� �L�u����ru2
���s6Q�ⳙK�7��
�����
R�Ȣ��<oZ[,g�xv?�|h�C������S�2U�����nT�AÖ�W��е)
A�ш���w,RT.����?��7�>I�v��g+�[,;�]�W^��=j�7
�pn�L{�zs���q8�c=�ؚ�!(�@��U�#�6��>I�Ve+�yU(:�]����0�D��\'Z�C��if���k~��[5r�;�7;x�D��:��Kr�U�Z�o��
K�
�
녪�Iل��P��:*��X;'_�F宍�I
A>_�U�
+�� g��D
+���F�~f2�د��ܜ��_E�I�{rs1�~|�N�L͠
g�U�������B��l"������]��������|����_�����}��R�l��Q�a&?	���kVf�͡B
�%ս���8(��fw��
օS�9��&q -�;vnxRIF�A�?!��KxO�	^mn	iz�:0��Z�qY���^�ۓ��mo�J�>���S
��w����0
��V�ߙ�
1z26�hX/6j#��{#}
+ǡ
�s��|���Lk�����	��v
�"J���]u~;I6�m^\1�
�T����[c�ۓG�Ck|:V�/�^���3x&7k/����T�Mͮ��I�f�fӊ�
�5b��Q/Q1s0
��r�mŖ%�����<E]��b
Ѐ.xc�\�6��K���9<(4G
.�3�V�K��I����J;ڝ���Aeе�����z
��d�����c[�zYy��w��[|}!<�/��u�Z!h�g��CO{�w��	���/m���%��"�e8� �Es\�8�B���U�a~��S7�(��X
���G��K�r����
��VF"�oɇ 
ی�G?u]+l�U����
�wܒ��D
r1f�?�
�
+�D�-J1r�oT����=�E�j�3�C
�JZ-�QE�=�"S�n�r?��HH����$ܾ�	�q
�_�	�߿V}	 :�we�I& KCu��L5҈,]k!�Eo16�}&�e}�ǐ98�tL���,�fV���.��H���3��U��$�+�d�2�^7��a�ۂ��	ǯ9��[d�
����
+;�('�}ot(������
V�(<*Z���ɑG�Q��Q��|Z������+�ûn
&�38��ާ�F-�w�{���*ZPd�<�}ʖ�p�d��0�L�+K�yBH������I�N���x(YdB�k磰Җj"��$���sp�`��p���]X>a2�vGS'�XҶ��r|׍	����ɁҬ/>#C$5 ���)�ٴ`s.x�x��D��?؈e�8�f�
�7�j!Xx�~� ���|�<�@�����ml���+4���F��t�Ш���[˝���
�>�>�L{���ϳW
���y	�ƝIs�
0�ȓ�5
�M�������
8ہ)Q�Y�x��5�#����V���T:�q�Gqs���5�~mݰ1�SG�~�-ci���b���p'0��Y�
t���=r�_>�������=��2E
��̶���J�{�.&�"4�HH�,�4$k���Qw�
Vϻ�B�/کd]��<!f�=��� 
�*��(�ü��R']�	-��]���8����(�fS�Z�+�kP?a [...]
��~�h�n��g/j��:'����~:u�[s�
����5V���7=�O�D>��[���a�UW��6�.æl�ƾ�XM���q���E{v��
���ÌI���:�:�{N�-�2D/s^���=we�P��|���׬�����&�恞����l�s��2F�;�)�Q ���o��ҙ��
|���gr�E&49�t$��Bg��:=�3.o��ASSrW׸L�I��
5&W!�xk���J����S�I��R���ǑC
PY��d~�����8	
+���J����m���E\)��6�srO�s�p�Ow	�
�J�]�N'zJ��bc�` �Z����D��b3�C�hmR[
dX$}��i�G��P�g\�2����œ��6�:pռ!
=��!���;�Q�f�\�K,98�
+؇{'>H�_u�}�5Ik�|����[�Hon%q��}��o!�������|�: �2�Ի
&꛸��+q��.��=	�L0/�
+�xA � �S�G|w�����[#t���a�X}YK9
��͏�R�
+���L�v�(Oj��L���{�W.���L��C�SW'�G.�
?+DE)�y&�
��8oy�}~(/�
�b)��q��?	�sIt=���
m�?�7�u����cFF�0������hh����
t�T����[i'��k02
�:k��ԗ����tR�}uQ�:DU�l�;�t���i�f�1M��E�� Ut��4��q�8_���@�� %�����G/��NI�r��i;�t��Tv}}
��A�(�R�Y��O�|
j�I��9
=�Ѣ��味OEoYW�P��5k��W�ħt�9n9��{[��z"R�z5����@>���L����?��Y����]\�n��
����1�C��̮�������h�G裯���pܬz�
"R��Sz�qǑÊ|q��!��7}�I����+�f�
+�֬����
��D��y�#��� 
�*��u��ķ���\������������rE�?y�}��v��K�ב�!��S���vy(�F`�Z�4K��ąQ�3	��jO��m�CV*���{��P�Zw�F�fR4uS
Eb7Va�>�v��_����InML�9�,@$9p`�d�n�q�9�@�4bd�;�½
���+��ҭ�98�h'�;��l�2#����C_^�	i9qQQaK��_�Rikw%n�9�exT��&a�u�������e��Y*��%�Q�r�'��]?Y�I�#
�*����}N�R�}�ފq��lmi�S�-bM���
O/��
���?Gz�,�sGj�A�/
����Hy���<ȅ���h
+h=(Z�+
9׶.��!$7~���F���*�T���
����}8F�M����2C���nF�9W!��\&����
�ƌэu�sjY�κ5�u�j�{��K�?���o�Vl
�n��K�o�B�
m ��M�b�@��
�����s%���=[���I�Q���+�w�<;�����S�òi<�{�t��;���gI^�|ƶ�z����F3�(0|w��o���
�Փw�d�9r�wVJm�_��@m�dz_�H�vU m��F�q��j$4y� u,Gt)ƾO���nJ�����>�P��;'c�E�O������>emb�
Q�c�H��osD�Γ�@u1JJ�⻪�-��8E�-[�D�A �o46���������9ijD$W�9$�*m��p�,��kb��9uF�������v�R��u
+6
c�!�B�8��Ҝ�'�R_�6�
Y+�ҝn+��e���H�T\"���
;ʝ/9x��$�,�(
����ִ� � ����@�����o5jO�)S�e��v�m�x2a/�l�>8vjh�]��0�K�����~
�U#)#r�QwuϚ��ضܝt^�{��W7�(~�&QW|��)���}~�F���`T/9�e��=�O�2!UUw&44���P?������
+endstream
+endobj
+3353 0 obj <<
+/Type /FontDescriptor
+/FontName /PPNWOF+CMMI7
+/Flags 4
+/FontBBox [-1 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/d/e/i/m/n/s/u)
+/FontFile 3352 0 R
+>> endobj
+3354 0 obj <<
+/Length1 1491
+/Length2 6577
+/Length3 0
+/Length 7577      
+/Filter /FlateDecode
+>>
+stream
+xڍT4�۷V�!z
�h�E��{	�E��2�-�
��k�h�ѻ�������Mʽ���{k��f�ߜ��w����!��-��
+�!���R %


I (" 
+rpA�ΐ?jBc�;
+�I�7%w��)��h?
8
���
ݕ��@��_�pw)�2�j
� h�a!����
j�D����� �$%��~�\ �P0�!
 .�`�3��B�>�J�-�D�J	
+zyy	�\pw{Y
>�� �A@�=!����� �od�
 #(��n���C h�3
�!�
0[�; ]
`��
�s��~;k�v����������D�L��
+��pW�
+��A�! =Um�7� ���t9#��x�'�
�A;��
PU0 �� ��C�ݡ�H� �����4�[V��*�]\ 0$��g�Pw}�>��'��{�|�vP���O�
��`P7�������=	J��H� n �7�A�gz#W�/��O5���+�`���A����'�t�����wÿ%B!!�-��@�0������2z��Po��=! �����^�p���?��+���m������6EE�7��_X�/,�� ������}����A�4�'������������v����p4�! ��o	������
+�߈�3�����lH����������A.Pg�?h.{ �{�Go�?]M �wYb
�p�O����=���B��?�
E�B�!��P$��7�����3ч#�?�
t�6�ځ���
+=��&���_��)C�[��>T``���u�
 ���|ф@Kb _!���B�
 ( �#�! 4f�
ܝ�����?
���BB� A��EQq� ����8�!v�
w�1�
����9���j�����ah
ɿ��&�����:V�6�T*�{�o
K��
+��?�G���Y�&fe�i���v
�>tl�Ut;�^��拪a��=�gVݲg����>œx�{��:Eڀ�g���$�ڽC�1�V;���}�!�Wu��s/N�"UqͰf���ʢLm*I�ݵ��F�~�
��4\9k.q!�і�Rt�Y��[O	�*n��
�/�u3vDizo|e�$S��Ϡ,�Wa���"��N:����m�
۞�e��j�C���
���z�n��m��'�y���C	��,���aK�B�mrNy����F���O
�E���Q��J*�����=�X�k
g�J�C�ސ�6S��K�����<�3~�}��
�����F��
g��-�O.mkdc�`���W�L`Sfwc��ZC���r�x��t�9�(�-"��{F
*���|`��O��?�‰~=՗"�7�B|����:�z��r��

�AL�
`D�I�
�9����e,9'��!c�� �
h���� �p���L��&!�k(
+�=�*�hNs,_%Y���a�[2/9�ά�R��н;���A��o��d�JOx��8��e�{<�lŀ��k�����ZU����N���
��(���hӺy���
+,��+
+e���[]��o|H�N����s�7f�eQ�/
Z	6ϕb�qhP۩V�M觏K�8����ԑۢ���}�ZxR�9:��<�M
H�����ͤ��0��@�K��}��-
t�9 4i2����
�S
+7�{K�~L���i�����ŹQ��R4e"f5��֞��RƋn��<o�
PS|�N�� ���:�s'=
�
Է=s��˺�q�E��
+D��bC��/�Sц�U�q")2֓|u�U��-�d ��@-KJ>�
����
5p�ʧ�|Ce��Zs��Q^=��Ve��[K.�J�dJ���#��ր�^�w��m2=��4̒��ˆQ�w��fԿ�︼k�T�
xV�Ioʖ�=�2N.����M�&C'���w,V�rcM
[��נ�<:��L b}��X����UF]�5�IZ-3aY�y���7z��-
+d��ZÚJ�������s�wA��u��&8M�WXF^� oL��5��hwS���ڈ��~�S�3�+���x�ŭR���R�+i��D�n*��Dh�'�w�>"F5��L��]3����t�� ��
4p��&>�����|Jt�"޺���L�\H
a�2��
�b�J4~�s���™J"
J��L����ߍ{�a���<�h���e�qZ\�w�*=��K.I�Zy��2��:8�|œ����z-X�ڑ��a��F͟�W��f��
�o�|����pw†��ʒ<]�������
˚�f#�I���g���ki,����Z�#��$ jv��?��	���>.%�X?v\1�r`��ִ�A��Kx�:29��/,�
:-�f�y�{��&`ZF�=��c�k�^����MV��vk&��ٛ�}c:�+^�j�
	"�:�X�薋O-sN5?����|�	��Y;&�<0����tluS�G AZ��
���h�� ?�8��&>����Ҹz����ӡ��ok����~
+����#`Y[���,�|y�i.V�@d������A
�~j	�3�,�W7�+6�7
7�B
U���&25V�W|�T*��i�?���&a53��@�v�\w7ȓ�9;�S��[dO��Z�z�o�ж΁�d�RD�"j�V�|�HgsBӥR轒�x���9'A
}vؔ�Ξؾ
�Z���|�

�1I.�d��M��mjm��ER¿`K`m,��q �w� ��$'�[A�
9�,FH�}����T�W;���eHB�Ҙ1ni��.65-o�:��@`꒘rjN1L��#	V�dr�����I�?��'Ȃ����"��Ƴ����
+��.&0_2�~��YT1QݿX��=�e"+�o����+��(�����ԓ�6�<�i�S��r)���{�R�� ��~ʡ�s6�����t�/Y(r�}�!�^�V�q5Fա֙_:В��,��<�5('lf�~���t��A$�cQ^�E
_Ò�w��W[%Ó+S��Iᯂ�iT���D��
쩎��<���="��q�\{�� ׺1�bk��g%�z`DŽ��'���-?�Î��Q
Kzc�����jR�2�ɨ���o��y������v��G��v��qP,������U�����ȱM��R�ּ]t�9xR��H-������r����椕���?
WE�X�a��}]��O���
-\�
P�]TX\���C>�ۥ��ú��xc���>m�G� p�_��p�O���Izioψ.���{�NX+$�}t!��"|�]��x;)���u�j��>�^�#ޕT����N���Yʻ��_����H+g�$�N:�)_l �X��̐��0�xT�s�b�{8MIE�5D�̞�-H�@�\
p�6nM�Oy�8"�-�ѧYs^%@���'?�
(����XK
+o����+�˸b�b�m��5�ٛ���j��MM3�5I$��
\��{�H�J�k����E�
!ئ�;9.Wȓ�(%_2HKY�Dv�sF�ݷ� �=L�]9?��k�#�"�Tv
/������y/�ښ j�����Ʉ��ԙ������8)A\^��?Ⱦ�rD84D�]nV7�롹cE0�${���n�v�Ŏ�����"��-�-8LZj��L{P����[%C�tr�����`G�]�&1�8��Tu��<��'���L��Rc*�e� "�c(�b�C��4�E�h?,�S�r��SO̖
��N
��S��򦱡��F�5��#l���3�
�K�U6��k(ʌ ��e�
�����<U����7_r���qH.e\T�T��8�lW�v�0$�>M�1��>&���]?��.�$dl��
�S.���M��]�_4����P�D�]���&|��4��)k������0=]�=E�}��ET�h�$�:e�� �%l
$��8�y��kQ�;�R�-�|�
jmdt�z��Pp\V����ƴj�� j���8���˅hrG��;��/O�x3G�c��v#��r��@��1$�&0̠��+lѥ�ܜ\�	��dHJ:e"s�!+~�����ǸuQFD�r�t��k���mN}�����*<l�4
�L>�
O�ﱉ�s@��b�TQ()�إ8��%�޻�*�B�T�,Ə=��y�՗,��"�
^b��Ѱfi��b��-RL�D�=�����6躗^c�dr�,'�D����y�B�;�`���� �X
��L���3y�rQ�)�rs�����R�>�=��A��$��/!e�R�o�N:��ui�n��ғ^���l��I�{G�|N���
����*TQL�����78�-M�G||
+�Y;�X-�K�{O�EJ��%]O�E 먽����I�8��ʭOo�R>\W at iij�?�3yJ��P���N�
��7	���t�@�VU �
�<._qQ�ŹxĎ��6�]�T�íZ�L
�L�|V�q"ӧ��l�0F�tMͤ㦡�wXN�A{����
��򧰌ѐ�E�?뙄?�$r���l �?x�T|%�;�:�|N�
-IBt�	�3�"Z�p���
+��
���7�]��_�}�]\�;%%���TFJ�5����1�h��Ԣ�/:E;�v�O����rjL2+��FL~w_:�Sc-E��\�;}�j1��A9�[�T�H�Lr �|��s��(����� �c��b�����u
�9�
iW��#g84h~���Ũwq|I��� ���~��E�G�a+�n�R��#
Ґ�N�)���z��>���:��y�1 ,��[~�*���Ւ��X�̆��q��&5AȰ�$��O�үP'ݘ�ͬ������'6�Θ�����g�$s�N5 ��Lu�������iHi����-?{
_��J�FuRjq���C5��ݚW?�x3�9�r���j���I������8�r�.lVm
�O���E
+��(4?0|с+�w���LI�_�P��YC &W_�:e�ݖ:��y�_�o���z\n����Q���ґ~�M��KD�m
O��uʥCS����e�� |���T��Bѩ��%g�Ap^��؉@8������~8������T/��������*�ϳ�
��03q�D6�	�F��p�o��σVZha5�{��j#w��
+ߛ��S��h��e�e
#��"v��qt����q!ڈ�2ڎ�Hu��Q�
;��ў�
��?�x૏J��6�5�vê;�����p,Ź΁cn_��� ��x����k*#�M�vK\"���R�
+X�T��5Id?ߤ
�v}�6
�d��x���+."zN8��r!&���yJ��n@���#{:�=�)
j�]�xXQ	[�ޓz��X�j@�X��#�עۥ���7����÷�?Z�*�M��	M.NQGS��
��{B��LY7�ׯ��
_����TG�!#q���
+U(
i8,S�m��?��drp{Boі2��`�ȚJ�ձ��H7�
+���ЄcwCE��-��]b>�����k�xT3G��'p
��q{$YB
�Uv)��M�����F��&���yG�ט�*ۀ�$!@�����Pk�¼i�;'��6
鴀h��-�KZ�$X�
w���@����� BL��
�~��MǾ�g ��i�V�x��R�Uu4QG8��5��b#
l�Tw���a4�
;���h�
�zL�{s��գ��g����,����6�Q�ފV@���(�F��_Ϸ�O���*Y���U�T���
+k+47eF��7�e=$�vG
+����9>�
iK<�_�,�Q�"���>������ ��DM�ɧ����-��&����^���
+g�5)||���=��E��
��'}NjV񒽬J[qq����
�H����WM�n�]�Ꙉ�4���u����ʘ����9ȗ����CFK��j˯�o�}�Y��>�rު^�#�~2�ZNg��eRc�b�t�������s��Te1�J�����J�w�oȸ_�`r��1��R�(���
!k	���mđ�-�Ҵ����m2�8z��V��'7\��
+��1>�2��
j	�U���'ra&��h���gц-h/G\7wͧ077��q��|�;5��`r�.�K7hՓ��M�[{�p3�#�
�+Ԛ�Sv��؏A�
nfC��<�r���,=rt�,6�~�Md��v�w��z�d�]�M�s��
+���嶖W�e
(��ں��k�xW��.��� �/E��J�P���%������/��$�ZZ�~�8�(��]7R�/��+*�)���q��K�Te�$|t�����-ǧ��-�ר/[�?ĺr��g_�~0��V�����m���h��Xɔ�T�h�h�;���)����HV��k*�X޽ -o?;��p.���a�c{�7������(?���~�H���mSkg�1[����G�l�޴
�"�
G޷#I�n�o��j3���?�u�~��7t��E�dD��ѹb�raܙ
'���o��&V�Z��ғhͅ�.�@�[����X�����k.���x

����n����t�}7��ޫF�w
�N�u��M�:v;f<R[�>���L�c\~?�B�����Aw�܏P���[��;K��O��1�O�����������W|��[�����w��8��߹�>K�
��zvy������T�ɉ�yI��oCs��]���
�[R���嶯�8�=�J5
�_���T������Uफ"���\bg�Z2��t��+�t[h�%�&Zޣ
�~�
EhF2S��g7
��tQ;��V>d�Y�}�'����͸(G�q��a0���

���#�Շ��8-��3��D��$�^t�@j�D�P-)�qIK�E�0�!W,L�V��8��;o��g)�=����/߁�< '�%�^n�΄tr��ˏ8���
����wYw��]19i�����8���c�>{������쏿F���+��>t+^��_b���`�F�rPU�È/���6+
+���@9�L�XcV2?E��j������H���]�.�qۻ���������3�2�6�5a���ɂ�~�j�_�����W�
�������n����~8�1��:3����XE�F�
��qM����gRzb0��/
�/��ڬ%�^V�(�Dl+
�T�����C�����}
\u-�z:�XoS@�Id
+�V�}jj�㈝��L�Z.T��Ç��JM�o�9Y
�7l���8wu`�f��
;��l���in
+z�
a��/�k�ev6)
+��,�p
+��>C�wmH����G��fb
����=�@2��Q{�
���!����yA?њ/5)6K9}0_�
l\jE>f�F'�|8Ҋ���Y,����J^;j�Ň�6J]IJ$FPe9#E|W�ԟ�֓j����d�>�
֦�<��}�0b_��c�����,��I���fٛ�6:/�-Ai�5�;�:�	&��b�as�k}�[
+��s�ipTE	�2y�NdfH�S�\4X��,����(��L����k͑yX
�*���(4H��b�i�~���3�0�t���i
Z�x�lė�I���alZ$#\p��~hۦ��x2u���;�&YL��^�6m'�PJ�9�y���&�4����_�-
�\ly���N��<�;�u��L]R��#���1�w��Uy�q9���o����4h-C[8#�޺�g2�|� ����
+endstream
+endobj
+3355 0 obj <<
+/Type /FontDescriptor
+/FontName /DGLWIM+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/less/r/triangleleft/triangleright/x)
+/FontFile 3354 0 R
+>> endobj
+3356 0 obj <<
+/Length1 1663
+/Length2 11087
+/Length3 0
+/Length 12167     
+/Filter /FlateDecode
+>>
+stream
+xڍ�P
�-
+A�%�-H�N�
��ݡ�&�X�
,X��54ww��w{df�����{�U�g���}���LY�I���$i�2�2���TYY ,,��,,l(TT�`�
�/1
+�&��	l�����#��,7�>�)�A ��6 Vv ++7

�����?�v�| q�9@� k9�P��ٻ;�-���n�sК�Xyy����9��L  ���٣��
@��

����	Z+(Ԟtuue6�ub�s��c���V U���d��0@���gf�(T u+�ӟr5;
���#�,��� N�7�!� G��s���<@�
�SY�OF�_��2��m�ۿ
�!\613���7���!� 
�
�$)�
u�2L �Ml����mLL���� )�0yN���
��P'f'������<WYb.fgk
�@�P~�'v�=��
�gg�C�\!�
0���w���@
��$#��ʳ��%
+�daa��e�
  73+�o�����?H����
�=����I�����O' ��
���7����`6�LA�`�?֟� �?�s�
�n =���c����}2x
/s;���?��(�##'"��g�s��vn O& '
����q?������O�H�M��/�2
; �9<�?y��5��

�=(�=�2@����p��=��?/�W����������o@��66���l�����(;C��B��y9 ����s�@�`g��ee�&��!�����`'I��\
5��s��Ӆg�6`H��	���0=7���3{���8=��
+�O��Rbfg�{��8� &��&�(ϭF� O��
5��1�  3��|�7����wGy�@�ߢ?/ h�7�
��o��
+ �
��[�; h�/� Z�
� ��V~6n�|�
��ߐ�|~:��Ϯ��+�
�����/�S���9
{g����_� ��}�%�j�/�9P��=#��������7�ux���O
�2C���3���l��y���s���O�$:&�9��η�_��U�~Xq���kG_ܐ���'}��o�y���t�uo�:��	ev�{$w_�k12���׃����{���T��<�����];�ܾv/
O�T٪�C�/
g�Ԉ��/���2M��'G�2#�c
��������y"��f@�>�d���]e�t3�T����J at I��O
w�98F�)�� �7�Y���=�� �G��1q�	�y�-����r�ka�̌Ҽ��ڌ�*��6r$W©h2
+ǂV���X�.5_j�YX'��}L�ұ���o�qX���f�
+Nl����h��*�"�te����
[\�K!ND(��h��`�3��#�	x~8�%d]�ea��A�
$�ř�u�ɻ��X�euc��� �)�K���G��q.���qj0mV�D[h�r�
+5�v2�x�Z��,^�N*��9{�C��!#��s��/L����
o�/�2��Ϝ9*d��LC;����A����;�%%��8�v�7�e�E�>��sf����e�:)%K���ȿژ�@6�8Tu!���z����vc�5�ޕ�XF��&oN�KnW �k�`V<����O7�Ώ����5-
Z*��'�ԭ8
+��}u�'���o�ԯ�)<Va:fƇ6��6(=m��
8:����p6��d3~_�V��F�=Z��/k����U�Lv�Vz�E)^~gg�
>��Ѥ.��1`?MǦ[�{�	ߒFտ+wү^ƾ*y�ߪK�".�Qcyt�+>c�M*K�S��K�&��j:.�lf
E�
�J/�
��F�/
Y�E��$�
�p$�
�)��ꨄU,ev�,�@&�*
���Q�ײo*��:��d�ad��0�
�܈���P(�5G;F[������ƞ���_K�X��Kr�E���}��x�S�
NDE
3��&�F��R䅔�$дk{TSw3���gu���R��T[[Y�"�G`,tƝ���j4����r��,��:E|�:r-
3��?WrC����3�.��
1��ihY�؄��;>��	���Ñ�~c���
�^�ѕLcv��׊{��-�pB��S��

���(O���i���
�
��/��������u����������<M>��J�G!!v_�}
&G����2��X�%�LIis�{[Z����׊�?	�
��!D"���f���3����
$Hft��Q(e���Xv�I�
����D�����U�������
�8\3:����5�c�
h�P�Ƨ���;�����حf�LsE}�����y����<-67�

2y���v�>�����^�w�U緇d,1m:Yv
7��7�W=~T�e?��p\ז��
�;V �FB2Vo�w�DmI"��ղ�F�M0G*�u���:�
 �|U�/�T;u�.bڟ��H��.����K�I;��,so�x[3��	x��
+'�b6e�� ��o��%W8س��Ӛ
+.��-�]4�b�KB��5����3+v%hqёf�JY�-��DS�NMT
�%P����X,]$g�*͆��s����qV"�C����:k��֩�G�i�u��T��W��N�kz"Q
c�(��+�M��'.���*��W&�tR$a%��,`��	i�7vw��
�7
+
+3�R]�Kzp��O�
#���Ș6�7%��� �YM�(-Q"�mM���j�
`Ƭ#��#UL�zܼ�M��=p�ߕӘw��Ï��]����
kk~���9;Wɬx���t��y��g���'
p����u�=�
a�`�I�tR���l$l���N(��l�2�A�1�cT�1�ݭ[�JB_���Y���cj���T<��_�Ž����?��<�q��+�r%f��U0c3O�4I�AGp�e�;�w��䒫�r���Y�wI�-���lhm,����M��"���w�����
nL8TX�*} %���y��y�'����N�R �=�ې^��l��Mɧ{|�8.vD
��.pQo	W��楔�?RNJ�Z�]��p�Æ�"GI*՞
+�!��W
�U�$"���
�<n�M�]{��s��fnFk~�g uk6��
� �
�
�wF6M'lC�����Λ�`�Eqg>��tkX_���8���ً�0�q�Ͳ���1��E��A��VD��K�]��d$>�%�
�����n�:�R(�K��C�;�8�DF�
	R�Wkǻ~�$"h6uXc�X�y��Ϝ~m̑ߞ	�3�z�ՌQ��5U�d����$9}���%��b�t�5����|����u�t����K#7����O,�w9m{�F

�|9�U��(�J���+c���
S\����W
�
���͜��iݛ��񗼥ED��P<
ˇ�_]�3,m�;��)C�_�o��ϊ���
+�*�sj�����z%&a
���m�����
+G%vX2�N�{��F�/e����c���Wʼ3���N�!�4�e$�
�n���z�&.z��H�-�R
������8\1�l<P�('ٴ���]����xM�r~�+�g`�iu�Kb,�݋#T��?���ķ���/^��D�*.͍r�r�ըԿ*6�qGU 1�&O�9����\ta
�8����f���¯fuB�o�Q�%a5$��
#�'�Z��HG�T�
+�����[�R�l>%����qwR��gZ
C�Ъvuh&Lڿ�w��h;�N�$!F�x8Y�,\T$�a���́�/(e��Ğr��+
dž�SL��!{>����9H
&�Y�
]��1]֏�W��9b�Y�(}�
mE�~9�c�w��BtW�蓛�]�;]
ۥ`�
+{F�O�"�����{�!1k��~;8"�b������Y:)'�S2��_V
O�P�
���Ǭc�����Rós��י��b��ý�%�tͨZԣ�?$#��M�e�	���Y��LH�6�I�T�-J�B���
�K�k�:��j>'A/��nl�D�wKc�I�\�Xnv��$�>�-���*�X1�����Zٍ�O:(�k��}
���46�9��9��������>�D�
�5k�p���5o�� �l���Y��W�7K��"7
��PA��u��X)��z>RUJ^.lꏷ���t�Z�0��]��K��p�NUQCbUQ��n_�2gt���9
+*�W�~-`�����T����o�
�:7h�k.��{�8�׾8��_o�洊v%��J���A�LnY3�o��щ�,��1��� ��ߎ�E�~*���$�
+��(�`��kh�`�
S듎�
�iLR9zX('�|���ֶHZ]�"�c�C�>:��$�w��5�[�Mm�)0���
�a��&^��Zxۭ�k�-�T?�p#΂�ËOE=q��i�����>;���n:�Cm��Xc�;�C��(�3��y�B��
�bj
�D9ʬ
>$��jlC��%�	
+����6�'��H$��>��@[{EN9nX�P�]���I�tB٪n�D�s��������BDl
��@�N��
�
�$�
Ҥ��‰
9�
�<������w�s�2o��Y� g�V��T�孊u�~~�Qs|t7�((�HM����G������	s��,����\�F
��u���K[�d�o8�8�|p[L@�bn�����y�X>o��O�PA!�=�����blS�#Ÿ��N({C�
FXM�:A�	�9�<�Ã�&��HC�����̤L��ݽy��d�;݌,��!����t��›}%!e �g�\�(�l��B�i��$���ƃ��em]�Ngm�!���
��P�t�Q���R��'R��o��;!����.Y���
)P(�^�Y����LT� n:
�l;�-�OC�bRZ�DŽ�,�k�kc�[�@{��SW@�`<3
+��^0f��y�B\n�H#c���ZE���>�bB����3.Q�"��ݰ�Ɏ!���վ�{8㴺_)�׷he<���	Kg��(�f

�m�>dKSi�o�[^k0���@3��|ҧ�-JA�
��F %�]bI͖G�QD\�R��N&)��k'�
�A)Һ�TQ�.��0$�F=6
�WD#ݩ���뿱��/��_j�Ŗ���e�`�"o�H
/~��	xx_�ʼ�r��B��cˌI3���.�48g�~O��
����s1-����v���[��3��T����9���7P`�$��j���1�*Ghk�ѝ���="ÖE�%�%�ma�����x���%?g	b�k�~����ÑH!��ȇ

�s�_��f������qL
G�]b�K���ys���ypK�X(�>S�gFl��F��ܾF��^���'$�m|^��@�Nu�"m�MW˾�oJz�/���:�����&<5[�s�˴��z{Y��RF{��ci��vm҉d��P��7|��9�ە�����w������Z��|�) [...]
�e�OH�ӧ$�k��6B�E
g�������<���L�cԽ9wpGrƂ �B�v��_K?����]��
��C�cp�T��
+M-��[���ȑ#�
+4��=��,�,�L6?}v���
K��Ҿu_�/.
}qK������CH�͠�3G��씙�/�m�� ���$��3�����Qn���ܳdi�����e"�仞���@6�BW�����|����2��19E�cp�O#w
Xs��	��{kd��
��
jܯ[�uH*��v��^S�ω�Ȣ1�l}��Є�9���"A1�'%�K���F(�~�|��p��m���˃��_I<sM)�iF�m\'�R���UC`}�CM|�%�UDכқ]�R�@�"�0��KJƎ¬��5�����B�G����'�5�ꡦ��Wbc���1ǰ^�n�^��
T
��I91q���a��r����u�%�n��	�
'c�	�P���[��T���^I;Or=�t=�&Ѥ�����Q�"e?#U�+�6�8\����F�
+�g)=�J%v�\�o'p3�l at l�[?�h�5�I���kA�����GgT�.����W)��ɜJO����
+��

+�J
�m+>��T�n[b�(�k�Z՚F���a� )^g��<�U����I�������b�Ψ�y��j�*�֣}��y\��,���Qg��8
+O��(ŭ-2 N#�+�F;��'$PJ���4:�
�>ir����=_���݋>��|^zo܉Z}r�Y
�#v�y��>�M�T
���ܠ
��~:��y�|���K�u�+?��
+�q��[5���k�X��h�ҡ5/����S�p
�
�w�y���hȋ��۟ �S'���9��S5jXay|~�S���"�GQ��j�l�����������˦�/~�%)#:�5;�����y�8 m�f
�N�v|
�)o
+$�uig�#��E>�	��\��9%�>E%�FoqY@�M��������%�j�bӢ�'o�u@�W���t���ԯ�;��K���EZ]H�
���W���
:���؍ ClE2Dz
�<��`j<�D~s�������(L� X.���7�a�r
��C�rL3KZyj?�Ç�E��h:q;o񾎎J
�͎J+s��U�
�lj�1UK�aJ(D�|�
]ϠĄ18a�Pi�Z�ق�2\#��
<���願��4Ϸw

$�߂�H�x
c�4<!
�\jg6q�Ck��*��*y��zaWJv�ZJ\����ke��d�3�;"���x�r��bu�T����& –C�V��
�W���(l����_}W�M�����S��լ*l��q%}���R�����O�*�Z�0눎��0�K�ǛFJ�}{�J�RR�C0��59J�I�x���	��H^�A`�Y�n�u�^��^̯t��>He�)~Jf �gbQP�
k
r�1Q��M�eD>���^Ļ��DWʥC��1/�z�gM]>��ٹ	�p���Tf��WET4E8��%��&x[�#7�{k�0�	4�hy�����4�z�_ۋ�8#Z�eϿ&x��\v�8��*�%Q� ��
���Nws�[������U�8.��L�B�����we�)U�|�R{����鵄(�`]�ȵb�{��
&
1~��+��%���/�;��t��C��g��u+�J�N��C^;�\�X^l1��w)"���_�"p>�.�"�c�����[��2
�?�~�'HC^p�
�6����
�e�
�8��:���vv"�t�w����̰Z������}��tW7$8i
/�ҹo�
���2�/�氡*�{
f�0���	�@y->�-����^3yP�����Vrk�jO���j��t�zx$�
m�UD�AEv$+�!���ޙ�9k�nK>͛�ݫP�f��
g,��/8%��#~��LdE|7�}w>G8�}��,��1
��
�ә�ψ���|���wbjLs�h�����Z�:ϛ��O##7���L��w�%-�� 
z
+N���R�$����`�Y��{��y{sT�eT���U��
�����͸�&NK�$�DL�b�r��؂:�k�x$ѓ ^n�O�\�|�T�Zg {�F��6 �M��b�}2��L꫽I
 )M�Y+(Z���P�Ҩ@.�I�6�u����\X&�7m҃�;��Bs��ĭK
ʐ}8
�M���$�QS�n�?
+�k(�F
+��a������d#���TS��
�ľ��ߵ�Z3��f
+�X�G
Ǝllۓ�!�]�n��\��\�W�
8^�:��tBp[f	\�h�7B����Q��?s�TWb��OJ�LGO+1��/c�.eJ�@Q]gm���Q�v�ā��Q�4Q����'?(���^jH^�����Rʑ(_�H�쩭k�g[H/��A�i_�n't�Ϝ3�
k�#P��3�Z�ܜ�GK�B�ʯ�E#ݪ|���143D����2���pr�O.���F�ă�
+�)
�j�;)|R�e��
iy���e
�C��2w��-�n
+�y��r��n9�L3�
�ǂ������5���rR5�9���i5	�!���c͗��J
{?7��UCC�x� ��}�Ō����
mJ�O��O1L�<�SD��W
+9

M�xx�TWI�o��X��T�4��7�g����?��
���KO�ġ�:)����e,����	�܏K���Z��؎�FOX6+�-+
Ϣ��2d�,W�1-�qw+�7�qO�A�`�oV�s�[ibK�>�9���d1�ۂ%
�憭dW�4�碥0��)����QS����`�������_�&�3������r��BO8�>N���i`]�+�!8U?I47�C%�eV
+�o`����
$g�Y�
+�{�?Q���Eog���B��;N��\�~��}����%�N�t�����+���)�HAs�s��@��U��wV��|r��W�U�����b�#�@)�..U|w��/�=%�-������XIx�~���n���ը٘�Hj�kg��"E�Xt��,U�Kz��|g��L�3�y�4�b�S�4������
�
n�
���q�^��@���{��FҦSޝ���o��ο�i8*p��+:�u�	���W�[=6
+հ�0,~%
��
��na��=�K
��C��U�q�H�=�&�C�҅�\?}z��>Y�#��n��}QE�����\l��#���?�8s�~�V�w�:�9�B(F��5:�t>�����1��G${�0#��˗O�|���U}��QL7
c�K%�5��Ep/A,�?+6�$ߐVYH�DŽ�m��N�gI<�g��߮TG&�ي
o��kZg�RF��\���u���D���Gt�o6���J�c>�y��g�>݆�6Hݺ�
�h</��44�z�Rj�����p^+Ph�����2�m���"j���@;FL{T���C������t(��k���b#ٟGϟ�
�]%��ֹ��b�]1I�xs�
�����v��a�P��i}�ZF1��	L���Cb_��?�G��^pu/!�{oh���p���6^� ��&wD����r��#
+Ɣ� %�ɣ�
uW!)@f�Y̓����n=Rk�
�<�/�a�$'�E��B��~��C$̘�F[3R
�>,���wY�z
�����7��Y�r�m[

+�Eہ���D�t at D���S#ڒ����-��r%]"l%e&��lV��z#���(
�j��C�rߓ���L&�����z6�>����0����K����	h�`3
�v��/m
��
o�����ӷ�� (�kiJ����������̷O>І����U�X3�����_im��
\���[I��ҥX9q�J�~)r��Θ1x���

�-���x16={�h�k%�|�U�����!�Ms��^R��B�
�%�U�C
����� �rUHdRُ��m$�PC��+
�3�C$�=���
+�`���y&jA��N����
�xi<��|�sT۶�;�Sy`����~��_w}16uJ����K��E�y���ֶ
\�i�O�*�7
����T��?}��*

Џ]n��K�+F��(r9�
�{��[Y���E�]
��u:���>\��A�I��;4��ߞJ K����������Jw����W�_|�`b��V�
n�2�պ�t�����6)�,۷�(x�k�x+�E��O|�����XY�^�������5�I9Imo.�
��$�q��i{�����*�&;�XyOw�q�/�0�l��6�ڑ�^��JKh��WpBk���[&,��Bk�XԻ�fwO�>\����B�
����>;��m�l��
�^�7ڝz U7�+��Z���:-��8�(��8P�8 $5��(ȓ��ld��m
4����
���R��K.�{�B���T�<���.�
�?�+i�e8�C�V�Z�h�4�!^v�k���ZYZ�AWTW��T�0y�}�(&&5��;�I8�Ow�����R�ٲ*��N�h�x�Ų'&P�WS��yL���݀*�� �.���I��
�+
K�ʶ����G�֦8�ީ�\�1�|�0�f]��I�@e�|�8����ݑ�����hAz\|��4 K���Q"f�-��e�W>�J\-B����\��5�c��B��T�<1��#��u��ʷb98�@!+��F��`���3?���G��O [...]
+�0P�'�Q�ԅE����A��鑶���ݣ��KL�<x̡.�r&Ǥ�-�'�@�����ro�9�����N��OP?�ć"�o쏭�f�W/�\^;�j/Rx,��]Iч
��
���=�Gz6Q��Ӹ ��H��4{���V�1l?��A�1���S�]Bs�]�=��ᦴg�U�	�Aa>BT�H+Q%C;�h��7�sVy�ŕe>��5��L���`�~���=�.'
4�o�	<gE拍t���wA�T��,'Gb��8�J���
+�c=�8��t�w�Q!ۤq-98\TK�`�9v���� 	�¢`����Hc�4�H���	�
���H���J���ȗ0N�
+X
+0�6ǐ�T5������������‰*� ~`tK�	i]��3~2�
{(�����d�C��~�(��g��;�q�ϺD���bS7�m��$r��)��X�'�;�=Oz��؅��wn��!�Q�W?�����ƨzH�~Y$%�Q��6�Č�;2�
N,-'`{ߗ]�����L���u�Րzc
n��d�t7��c�h,�>��ztB���5Ւ1�c��
c~	x�c��
�	�p�BFChj<��+��}��&��?�c>�)
�dS�~T)C&���qz�u���w��'/
J�v�Ej�\��n�=�z�ˋ_#H�]�8�7��M��
I\�z}��97�����E��F�}n��Ѣ!�L����¼�O7�7�vH�Y��'�
]�4�ҙ�^U;�N�U��Wu���0�@�Ө�^��#昱&`�H�؍�[�`+���.�o4ǘ��5L"��c��A�
_t]��{\�&�^ƪ�Li!��ɫ0��Y53��j�fK�M�8�
�;�ʋ������K�Vc ��mo��iy��G� ���.�-����/�ʲ38�-�c6�#!.D7��Dt�fp���p,9RgZ��)b
w-�޺��4�a�p��]�.Fq��dU��dN�%\n�O߲a�#
aQ��p���9��=q����;���moT�ϪIx�"��������3v��U���M�bzE~}�Ox�_��atE�Ӗ��	
Jܻ�K6�M
+i�gs��B8
�f�
N�>���N�Oߤ�d����&�?�N�i�=;ˤ�=��� $8�^BH_A��ȥ����Jm�W�d�I�ݹ_�(������,�!iAX\�^�[T��|޷�7�g*�����q�)�
E9�g�ɍ
�.ѩ�Z����˄H���,��X�������.Ԥ �3qlS�/��9a��Z�Z� {$�bA���UH6U�sѩc��o�wܱ�s
_TZ�����#X<�X<��>���I���m����b�����pl� �]i��~*~����ʫ!���npvB
+�W�Q�l�Ķ�D��n��K��Zᶤ;���L
y��u$`�[<��2ɴ�U���Bnҙ{��z��I��Ѹ���^�ABg
3={�Џo�1$�>QM�P�� x��W}�>h
91[J���_�OXC�
+댪��S�٭3k�a$~_6
$W���(�;��a��Y+�P,���HU���>\�A��"�'���Jf�4}/-ob�}�h^�0�UxK�����f�[
z�Ӫ��V�?�.V�ǝȋy]���k����N���J(w��
��[���֟4q�,8L�4��,-�]���P]Y�
�&�σwC:ʋ>u����
��B��l��D5Dz�w��!�e|�E��W��lc?�
�5��9�]��|ˬx����㵞�%$��]2�芒�q��ި�Fb��}�`��Mm�~a��MR�/!����NvbM�Mnl��dL.��V/��iPJ�ƅ��*sZ;">�}P�$|��7l��P#VN�~?�B�����cH���,9�
�⮲Ξ�i���(9��*Q3,�ӯN�ͬ�vk>3���g02���

�Sqӄh��G���|5� ���9-�Ĥ����U�8��9��Ӝ�F�#��ɭ_�RP?
�r�k�tt�G��
+endstream
+endobj
+3357 0 obj <<
+/Type /FontDescriptor
+/FontName /GYIKAE+CMR10
+/Flags 4
+/FontBBox [-40 -250 1009 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/c/d/equal/g/h/l/m/o/one/parenleft/parenright/plus/r/s/two/v/zero)
+/FontFile 3356 0 R
+>> endobj
+3358 0 obj <<
+/Length1 1571
+/Length2 8204
+/Length3 0
+/Length 9229      
+/Filter /FlateDecode
+>>
+stream
+xڍ�P�.�S��h
A�Kp���ݡ	$����]�w-Z�/�(�@�G{ν����3�Mf��-�K��g�Q�b������`P;H ��� �x8@ nl P���%����T�zi8�
� �1C<���� E{ ��_�K@p�@B�2���2f�K�
+@;c�a�
p��
��
L� .!!�?� I0
ba��!l�7Z���`0��B0�� �œ�nnn
f�
0��83�
��h���pW�%�w� U3��8�� m��_b-���
<�!`��
�
<�
�RP�9��+�e���5 .�����w 􏳙����
��Z� �`���2�
�0�Z�64�w�=����A���
�$n��� �=��wu�p�#™�b��B��a
�,
���98��g����@�`���{p��
����l�ZZ�.��őS
+qr+��m� ����� �@ A! �	 v����
\���G��[�����#�`�P�b~���r6sp���?����� �
�
l
�b�'��l�~�<
�0=�
 ������[�0�����
�SGWAMS��O��VII��^��  ;7��%�x8��w������H�� ��OD�
 �W	��W�s���ua��
��
�L���1�d�����L�?.���
��B���G����������5s��{��`�
�a#T`{�_S=�_K����8��Va���Pk�7�,q[�C6�_3xo���aΐ��
��
��îY�=<%����?��_)
��Y��9n>~�
n��0����zXNK��^89�0ă
�<�
��{�B N�ߢ�� �����w>����\ N�? ����k�(�t��z�|��p:��8���� N�?�C�.��d�t���1.p��c�]���2���`
��9��H�m}p�e��S7��q��^:3��"���3��&;p
�C2e�=��WY��KԷ^{m��a�I�~yߘ&hNm��^�$�(ړlx���]�Ŗ����n�
jr�"0��EO���ҭ_޽a�|�c�ܦ�V
��M�4{�N�q@�'`�y�,9-���#�cw�O?f��&�X�}�cx��
7�c�f=W+���{(�)
ɟ�^}�b��NU|2���x
�1m��s�C2��6�禪�%|��pB�����D!*z��e�C)M"o��⺻©@��3�Z"�^�^�
�r��f˜��!٫�����q�]Yq<�R��<f�覈��p�e��V
+A�g-5�>�������i�Dy���S������a\�<�����
s���8N/k
AE�axC���lN�ˑm��N�$X���2&������MW��h��z�g_(��&g�ƫR
+^[g�sk`���ly_Ks����5~���i$���TR���*��
�Xe��U��wd2��X�g�����:�26�?M)�Pؑ;��x,紬m���~���j�;ce������R�Z�˼{W���6�72��>�*��^qDVc�����Z���'�2G�oT<�A���U��ʡ}�Q!�ȯ�c� 
��
s�rA&u9�y-`���]�5�F#�05l2=��\
�6<��V����l���^_��l���[�v�5���1�����f��R�9}1l�d�V����Y�
+U�'���
��UEj�e�Hi}���T�a��v�$�
���绚/����Ȏ�8;&<k�
+�L�ʫQ l�s\'��x�e�.gʏ����
ѣ���Zz��#�b���by䙙ģ�I������:���_�8d�<����UT?&4�/���ˊ�u�OJR֘�����W���h��a�]�LH��!0Q�W�c!����
)i�ߡ:�̿X7�������7�=xY@#N^w/y�ZD�;�'f��c�:���0)�e
�W g�6?�Q�R����O������[
/�
(�Sw�n���R�
��M	eh�*�4�Id����v���4EBU�
��I�&�	���HFB�poa�n�I�:��-�Q��f�_$_�
�����
�0�~X�E
+Ȉ�8��_��Bd~�ω�|<��A.��e�S%�� ɓ:p�H=��`H5����^c9v/���K�٪CT�oӚ?S��KA�Vl\�h�)�ڣ�/+Vڣqm�M �,KL����0�
�`^>���H��
�ib�:��� ��vS��`}&����f
�H�x�W��ՂD�P�
+Z4�3�+]��X]�v\
��x�c�k)���Zd����|�vf�`I��aϮ�^�7�ez�+&cd���f
���He�{�����&)vŧJ���K#ͮ
+ߦb����Y�_'����
+�|G��O|��+��nE�`�OV�/kp
i�9�{0i�i���:.Ի�"=N�L����

�$#1=p�$#8�ߩ
i��r�s1��:��ވ�9Q�;Vw��AE+����}`�9�SI3���,v�<�^�Za�l|�
������
�õ��0�%��x6�Q-皐���J���k��B>Z��W4�So�Ϛ��X��Qd�̄.����e�u*2�����D��s)��@U������nE�W��I
�y���
i'E���v<��$&-O8~����r�����lD�KC0P��{=œ�gU�-�1>u���И��c~T�8��ېswm���M���
��
��F9Sk�y�ғ_eK�K�
-c���v���C����YS�	f�}jE�7�%�~�{����S�W��q|6�ܪMY�i��`�➴�lv ߵ�I�d�G*����G�GO01&9��}����K	5I߻�G
a_��b��?�d��D&�P{��?s�L�������%[4��tl�y�36��dZV���3����	�$+���{�&�����~�?mEi8�+ޤ�����G9�R�c}���8��d��d-[P!Wi���<{_��&�4t&��G;u�'��/b��g2�L;�(3BG���y��
��0A�U���ZX�sb�9"���T�j�:�e��K}��1L:��8)U��UhQ
+�K^r[����u�2�|rr��
W��&�\
����;[��2��FRo�;�G�[nJ���[u�߄?w�^�pe
XgX��#����Na8d���Z���H�6���y�\��.�Y���c>�V'�N#=U�B*���@�ךS
+b����ɦ�
�T�z9e?�6�/�L�;��K�F'�
�:�������/	��j,\ƻ�ǮD
+i&�
+o׫C��ib�1�\���0�

�1&�M����Q��jK���;R ҳ%]����Pޟk i3[�/%{�#�����rҾ�}
�m�/0@�eߟ�Sn����a����s�z(�[�
tG}*�n��*�����Z����P�Rw�������~��o��(Vk'�J,%]�E)l7�������r�����H�
v+�

+�7����p>^~u�����@i=ڳ}q�
�EwS���9�����E�TMRac�8��F�
�nD�-o�<y:��u��	���z/�c^H������#c⼍6��%k���
+���/D�,

�N(��P��=u�;�c$�8��DNؠGu�q��'������{����N�v�{EV�9��g�O���)����:ī��bkb��d�5vdWL�O��W����=
�.�o���̈���#QHky�oe������ݐ!�1�طG<�����J�����=
+�W
ޖIv� ��!b�)=e�N&
�x4hqlc(l߽S3
�XT.S�'��YM�q�^�.GCv
��N��ܑ�W��J�fp��߭X�"�먖�SG�/��7M�]�d,O���{V,CЂ�x���]�0#C߹���o!]��g�-�B�R?�޲���
+�
>���0�[I���x��
5������87�
�[�J��=�
+}��=���k����n�[6l� a�|��^��Q�
+���ј�E�Q
�9��EL"ez�Tl;FG�j$eJ:̝j����.�<�F*��C��.��{+���O
+�Cs
+��wI����5
�I���"X��LD�/��X
<��A���*��9��Su�����GW*�R��ښ���ÛG��+4uK�V��r� k��
�
��(n	- �w�9����mZ�*bPX�\V탁��"�}Q�alR�ν�Kv$_��i
+�ُ�ӕ�_��7�j,p	=9w���y�6lI�Xz��+"�g
�3�UI~Ӿlny:Z�N�<pn����k��7۾����y�P���h秼YJ��oB��Ȍ��կŃ(���4],���~̀V�]s�O��D��vxn��|ޙ9�����z�����`-�}�@A�7Oa�۟�����lg�<��v����T{f��Fg�̱j�#Bt��O����O���K�`
��0I���I��DzE��"����#�g�گ#e�����*f8c�
�[���X7[2���>ԍ��|�o�Y�ϯ�Һ&;�V� �7�z�ol_�Q9��e�Ɯ�\��nW7�nM�%���uy�\��^y�~
�@F�d��g�u��˫kǰs�Z#7���dy��gͮ
o^�������'��f)��
���xO�RLӝ��1!
��ҭ�Ad
mҵ�%Tg�/q���
c�WKhrZ{#��:�#�+��C���8m6"�X�
+����E��T0��a��*rي+�V�h�����������8%�(�P��u-.I�6�"

���+�'/JU�����KJ��=���BYk�WI�|-���u�k��F�u�0ω�V�
��!�iQ��:�&�;XF�V�&k�O��ޖ�h���]z\h��㐎}[����}o��a�G+Y^��X���G��U�q�������~T����^Ѯ�h��$=�לk�/� ���(�7!"v�*��;>�Q�
���"�>��R�����<��d����<T���Y��*����{]F��b���k��Q�uS
5��\L��i��T����o�����GA'�SbV��OEj����2ū���es�&��HC���={”�Y��Hu��0���U�1�
��yGo�
t��
+����f���
��\�
ο�J���"磃;,}a������3
KSV�Y=��bP۩��)�*���Q&6��� n7�
Q�9�E>ͦd��S�Iͧפ�
+�v�Y��z`O��ӗ���G��]�9P<�%�H���[�"Y�H��3��g�{,Ө��FY��s�De���t���ʾ>�>@���v�s���i�f$4���U��X`N I�jɅ��v�rnф��
+��#�S���B�CME�13*[H"�.�L�n[s�:8��ɨ���(%���
��%�=��
}��p���l�	H��T�17k���ą�|`���yS��f�W�'�2<v:)�F=��l{�s}T��l����px��a���/o�19��
G���z����
��fSK��gg{��7�Sgi�:�CM���bI�`��\[�jZ'R�4�������L��=�����ky�e�h��*�ܽm�Tm��z�Tg_��6�x�%Bgc��$�[�Fz��0�W
7��4Q\Ml�
��Q��L��0ݘ�����p]�;�z��7�ܨ��d�QW�!~fZ,z���YηWM�]�D&�B���F� 
�7���E��Hh�("s�K&{�
��A[Lҁ
.����(&�-\�Rq.Sl���d31Nf�(�/�y��g�~���ܬ�p���i�BN�ބ����+�?B_�y�3Xt�p�RFy��ӎ����7�F�b�T{b/=���
ߟr�t^��d(>��/Yܕ�Ue�k�{��c��ך��*�1D��n,%�(:���$,�պ�ː+<N�?�w
”h
�U�Ωڬ�򘣇
�[�����ܚ	/�1�
�w��ʋ�ufA��h�Ε��#i�]�r���`�d��OHO�u8�o�Wl����4p�5��I�s�=V��eIYz~�wW2�����R��������f۾p��h?�՞�Z���!U�Z�=�1m������g�*�G^�!]����"�H,�y±{���R�vf����
S@�m�XE�a�
��2ǎ>g����E$Bur,	@�'�ÀABY��n�W�6!9*o
�O�'�Pb������E>��D�0`�ls+1��o�C�gBӾS=�,�
j����fy�Ꝧؕ�

�D|��~�t��@�C��}�i�i��ղ� [...]
�p�

�K�͏j.!�BK��vvn*N��v�}cl�,
�
�e�9j����%���wZ����5�ʁA�i�T��p&<8���L��%���~��x#���5K5��t��� [*:���Ï�A߉�_��*�dCG@
�mE*�ɫ/¨��h$=�����3ɉ��Rx�l��,o���d���^
��7�빗����?
�F��`~}
=^���/\T�c��6N�RЌ����,�%U��|�Q���C9�$p%[M�]r�\Gz*��V��xD'xU���H
�Z6ઝFU���5b^��"��P)�`�ǯ�r�8qoQ�rn���G0-���
�i�t�|;Sɵ��ن��Bg:��%��c	����3ǹ�Vz/:� 
��h��B�8E<�ܫ_9���D-��<.��񈥙��#�q�#��s2�eö�x�U5o��e��$�9ߏpFWI|q��a!S�Jt�I-5 at s���ц
g��Ml���HZF�b���C��4�p�A�Zm��U��%j�R�kN-���gN/�xD4M}��˖~T���)�X��7VT���*Z���E�TE���G����Re [...]
+��Ԫ��!�2py���Z��w����Uy�/7�%e6l4�V]*RF��7sѠ7x�w5y�°}aMGw�N '��[}~�*�R��(�u�`�-�e
+s$,�%E/vB_�{9>$8��ԓ��xd%�Mԏȱ3l�s_�����ъ]X��u����s3.X��:�}�^���`Jg�B��,k�B-��w�+׏^9���jз)-�����;�^L��
���
��w���زr���z]̏�p�^��t��O���7����N
8�2��w:MIh:�.Y�3'Eg����u2b�CM�
��>T����
��ҟ
�E���$�yms��S��z�E{�/���3OR7�[������v2�Z�i��OqM�I��k{9D�w}Q
�@){��ܬ !x\eV�G�X�8 at X�)Mg�6�r����!�����ͲKLj����"�ƣ����o��Uu��?�t��z��^�۟���я��k�m��D�U+
+�k�G�r7�Mm�ԫ�z[���ά�
ܪҵ&��~s�*��OxݟV��%
v%���f�U/��nR:,N
G�O�c^�P��������E�jS�UY$�7�G���qB�o
��:��I%P�3������>?�v��`��<E�u���x�1���&
����J����c�����D/{=����r��`����$8o�Ǵf��S��H�����e}HQtw��f�9eT�B��dŒ��^��89�E���0�
�]]�J��7%��).$����K��=�҈�;���
a|��}�@�+XS�k����(�v�� ��uc����s�������eo&�>n��c
P��+b ��w߅'NQ�P�Y8�i/��}��Q/l�~'�Ou
^r�m}��N�~�R+��j�8�I������XM�g�Ԏf9n�K7���T� %ry�}�xr%�'Ս\�i�j��5�c��Kܹ��%LE����_�P��(K
'^�y���i`
}�i���\���)-����5<yVP
B$^6�tµJt�ߟ
F��o@@> �5 at w���9?�qNwwP^J�p휪&��3��>_\M��,��vh�s��O�V�k���ͺ
?HC[�pձ���| T&��lx�K���D�.�J��hH��Ĕ3V�鄹�ɡ�:,��1E;M��5Q>�u�3)���+
������>�#�
+	��.;{�O���c�q����a4�ѥ|X���i��l��Y�D�c�Ҥe?�cB��l:GY^Ju�N��
���S��Y5iݺ�[�m���+�W�|Ê�ˍt����
k�r"���ƅ��J4��v�����_x3�Q�Qp{V�����jӖ��
�k��Բ&"��p�*�UŒtY�RU�+�k�}-���9є�
P�?!�CE	�s8�̻�10���ܜ�H��9��bTKD_�x 
��d��o�ߐ�[�-:�d*��	4K�
���/��Z�(���5r5dXJ�CtSc��-�M��%��#�
+��@Z�r�5
~v.��[%|S��V?��ڠ�gDE��TԴ}	��M(}��,���� <{.�DqI@���Eߗ �e�|͚�H	
+
��^8�yM)7_M��'�"���
+�rR
�&� :_Ic�%iߨ�_�>S֏h�[�*P��@8�+
��� 
��j���:Zc�'��b�Q����r�6�(l~ͧ�S����jo��	@8z:`c���@��e��\:
�q��J)߉Z���%�2

I��?
pW6zԩ�{��
��e��ns5�0Mb�4�K��uF��}\�	��f���{�3{?�
_���P�P�f^�H�N$��B����g)�1 ����
Q�h8}� ���Ġ/`Ku;M��RK���
���l=RN:�H�������`���^�>hW�B䚼��e6�y������wA��W�&�s�z��3J���)x��h��n�XHҎ�/+����/�9�a��֌$��<�O[�f�L
Ľ�i����U"���Ȝ�	���񡣔���U��S*��Ĺ�SS�Za�-��msX���tv%�,u���:S�D��e��\"�r��'[�����u�)�M��
�Za?[W\��
�� �{��o%tZ��^0��e�Ż���%�b�9(:���*<�a��(?l/��
�M�����N�Q��̍�	,&���@��H�v�,ܶ7����:R�S��qW�fA��"�\����;o��`/�v^C̤G[P Mm&�w����Wp�ڈĨ5�J��!	?�"1�����$�Θ
+endstream
+endobj
+3359 0 obj <<
+/Type /FontDescriptor
+/FontName /UVIORO+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 83
+/XHeight 431
+/CharSet (/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
+/FontFile 3358 0 R
+>> endobj
+3360 0 obj <<
+/Length1 1622
+/Length2 8597
+/Length3 0
+/Length 9652      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T�.�	�P�w.-��Z,� Aܭ@q
+�kq)w+�)�Z�(�{��zoe�d3�g��+LtZ�\��+�����
ʪ�A ~n��Ĥsw��)0@]�`�ؿ�P���L��`���U<
���@^!1^a1�����*�{¬���@
�`�E8���l�����d��yEE�9���v��� `8P
�nuz�;u���\�>�sww������;�q#\m%�8�^0w;��
��	���
� ;A� �
`������"lܽ��P�����
.x�������@]e5��3���ڟ���J������_�;����
�@N�`�
n
��9B��
+j����@0���!��
�p�	�9��

�H

T�������
�
+svw�v�9�f����C���ֲ''(��
�;?9�+�Pu�?�� Gx���<����6�)X{8���a.
Pe��,
D�d�Pw� �.@�7�s=g�J�������@�
+� �
�������]=�~�V�7���aw�����A
��?t��
|z<^ ������lY#�>����\
Ccce�?����Ax�����\|�  //P����^����H����r��Qn� ��I�v�����L���.l�����x�c(����7	� _�����Ǖ�������2��������Z������s��K�0�
���x�
���B�\bu�5�������͐��:�]D���j�s���9@����{G
��p��~f�\� ���
v
���=t��a��;�<
����s|�B@��+����$��}XNk��s
��#�� � m�������D"@
����|x��y�<п��o���Я
�<��o�֊y���������C�ۇ7�_j> �� ���_P���/�@�������Y�B]���_��x��>�/��C����x̠Po(0;��<
���zQ%M�ŵ9">��i����7���q�����!+d��\:e��`a]��Lj���o��#�9I�����"Qg|�03F�y���tM/
5��Ԗ�����
�&��\<�|�
�O��5���C�ӛ�[�T�oJ�r��ǚ�(�dʳz;EA���E��Nt�?yv>A�3zO���؏�/�3Y�{u9�X����I�HiBA�zF44��'���B�ͯ�`�ݤ�Ga�B'��b����3X�H�d?*ݖ�����A8�bd�\���[β�Jg����YN���4M)Q�G����²��kBQ�*
t����X�i�]c�<i%�hO)S+��ypi�q��k{mx��P���bX���`%]9 �`Ab	��w7X�I�*�eu/�(�8�G�B�����䏿�Sa��qD:ؕL��kz�-��`
;0s&mYHg
�
DB��'�%�
G�
#�ز�R�bh�;�Рb�9�nE�X
ęT4$�����b��K�ԡA�16�7
{m퉇��S��T~�ꂉ�A�.ګ��aWa�l
+y���_�3��p
7��f:�a����GS���o���������
���e4lb��;C��bgЛ
��-�v	*p<�I�g�_ic���P����x��d{w�6�.�k\>�ˉ坡���g��"L>���I���f'`"0�2���q�VHʨ�4r��ZK���K�(it���a�ۻw_j�ur>��dYE�.��bmN�Nz�jyd]���!a5�ټD����Ҟ��
 w��Ҁ�v
�A�>����>ηA_��������������S�zD.��ȵ=E�R�$�X~�{4aA|/��ɼ���Ϡ���������_{�6X�����)m�)1
Q��QX.E5�9�� �oh�R{��:�WuF�Ʃ�v��� ��f��|�q�S�����S�-���?0jP��F�iX��
��jJ�{N���cOp
-4���+o�|7	�d�S��g2+�� '׻h��։�w��<:Q��i���j\�.]�݄o�ʨ1k��r�1����g
�qd	���������I����m]p��hd [...]
+1wq=>r]��
I���(ç`�T�t-0�zS��ѯ���.�H\�I��p��I�l�g�����I[��-�yP����I?����s�74�A*ay��zKLa\��oM~�ى�]�D� �D���s���f�K[U�K�׮O}�mk���Kg�K�s� ��d�"$�Ã��\�N��v]�zo��:-�
���J�4i����J=�
�w�z���^�Mɍ�=x�tn�_VvU-gKo�����}�i
o'
�f��-V$/�7M�� �K�RԎ���USy�h�W��J�2fƙ�������"��e���% ٯ�l���A�����\.��;��}\�0�B~��y;��E�M�ն��ʩ��%{a�x���=�����V׋+R���6��f���l��J���F(s�{-ɟ�~���<s�s)BR�쩑)ۚ��n_>�Lh�7�
˂���]jN̉�;��%����(�C�kj���y�ֆ���y�i�
��m愒,�s��N�zx�����T�H�#�p�-��l���Gz
���㠽�t'�4iw)�Q����
�y�R�O�J膹Zc+�'��(��N ���v}k���o���
���R�
��>(|ip���i2�}WKa3W�66�D�z�K{�RQ}E;pR����ܨ#�Ʃ��s��gg��s
�H
Ȓ�[��e$�����e��+�HYvn�Π������8�>E�Ͳ-����K]֑Icq�zKpf� |b"W��Α}v��G{����~ӌi���� ������6|͋���^���Θ�?����o��L�˷�@uu��-kF�J���'m����ߋ����:&�% �Q���;ɟ�U���_��x��q+TZ�I��)�������JLN��j��l��T��������sU

X�e,�p��X:8{��Te,U|��_,xU�C����jE�x���v�GĘl��~(�4�x�̥���.z�H�*@��� g`��/ny 
14��'�&im5$�x��
��y�J�29wߠ6��ǜ�fm2
p�n��
!��@ѫP��s�a��1��A�Y�#ɚ�0�W����8�rϴ�y��.�V�}Uډ/Rrѿ����A"�8GR����}
�7�S5:%A-�R}�@�t���@�
��DA��.A���6v��?��Ӡ���:���s�1)���:))D��Ž���{��`zQ�cЋ�x1'm�M������2_���W�Q�G�5|/T5�lR�B�FҪ=&˛ϱ��ѓ��M�ԗ|T������e����A��R��'���	�w��
+�N ��{�
�1�%=�-R�.���L9�p�ɰےH+���b8nj
+,�qvWN�i�L���'�懳�N����h�\/
��7}�i��c�F8��v��/L�P�OQ��09���,q��\8#*��AϛvC�ӣ:�c��L��&�Za>����r��0�f��<Y�`ջ�왱#�/b��
+�CS��/�?6is\�Q
+�ɵ����?;#�C^���^���� 
�/o�һ�l"H"��L���eF�q�t��;�;]"
�}	�OK衘�S����.K���r�5�#�<
�P,h���Jp�
+,5:"�@e!-���2����l�T5�xy��mtt�I��*��(E�#�t�
��b�c�p���������
%
.
���
.�h�V������=�W57V�Gf���ᠴ#��D�/�Kևn���lw|���-,�׶������ǣz�T���5k�^�E�<cxQ8p�H�Dv��w����
+�"�;軝��
�g�N�T��O�b���6�╟^��	ק��w^ަlu�E��A�0XV�!�-�W6^+�FSBzW��t�Ym�kqx�%�Rv%80�U1�dMH^2�&���9
���}|~��I.���.L�%*6b�p��D����\j�!!��Ǒk�����p�c��J�^Znj�08wX�9N�e%���E�X
�ˊ��\��]�h��m�Hsf������B��1<���p
݃6��8��y�N�6�H�K�=�%�w�,9�	�\�n���0>L#��2�E��P�l�5�
8G��fb��k���-\����
�;[MNt�ߛ���E^�R�q�.��cV�9��`ƺ呋c����$�^<Q��]��B��x�9b��*k��������Ji^W���}��E�����#̲(��)@��Pvq�C���
+Ar�"��짳ɤ4�:	U���

+�?���T�������.�<�I�Pk�_O�")L��{ϛ]�
�(q�z�&� :������,��4b{K�Y��E����[�̆��y��lS�bF�4��
+5��S��:7<ӷ:1
$�()�
_ְ�- ����,�{���KH�^!�Hˀs�{O�[J�
�O��ҷh���,ӲV&<��wQpfF��2^�%����Uo��'��$��):ӃN�1�v���4]W�ER.��ɼz;���G��;
�p��!�_�}�jI�xo״�9�X�[o��*W*M�o�X�ҢͳA6�"�bڄ��.��ٴ����햳��)�΋ا�~��T��{��_����a
+%�����<��r�+?$Ff7sv�W�;5<1v�dG��N�&v/0�b��3�J+
+�H������C��H�
QoN9�,J�G��f�ې��
+����O��j,OB�S*��s��xO�D�9�%��"��שS��s�^뀛'܄׳Â[�C��N�s����
��w��
.��AA7lj~�ԑjE���$��ǝ�2�VPz
�:ޗ���c,O�ӟ�ۏ�r~$)+}lUG��m��

Z+��V��{��R��{e��M�f�+�#[y��sH��<���av�2����e
�b�o]3=�����Ӌ��]ee�n�ST�a�Yö��%��sϬ>�������F�Qq}|��s�;�vr�GA )a�0\�I�
Q]\N~r�~
+���fr�")�x�
d�T�$Pš>����u@
�튙�d
�t
��i�
(��������(�K����)��+�n������5a��c(!~*�OVV
ў��˳c�	�)�'[/U��չZ��[ja�	�bG��gg�$�_l�h����z�Gǰ����
_�*5[�������
��F�^cT�%���{�f5G
L��_�8�k%�Y="W%�!tG���K�؈:;�$p	���Sآ|'H��V�����	�},��M�$��l~,��qb�؂o� ٰξ��Z]���v)zSw�	ZB�M�Ӷ�=*��\*�
�i3`��2Brg3�
`L��.��b�欖R�Ϯ���^�����$c��
��,Gg�S�jֲh�ڋ.��Jv�2�f�8^�`�jԮ��7G���cC�J'?
�Mc
~
;Q�T	�q���lߓ�8�9�� 
��0�5�9�&�ߦԳ

���S�3��P��9�Y3b�$3�bѠ[ӎ�`��Me$.+ա��n��Q��tǛ �7�CfR��<��C��x;�ⱳo_�X�	�q
+4;�n� �ΨZ�٢�f)�TG]=u	�Lm
+�]E�
ѣZ�\�����2mcB����ؗ�!f4:�Ȝ4������s��|4��슥S�)
�iK�]����� �ˊ���ݽͅ?�)����~kto�	�@���`��9_l`��UL��|�Kџ�
]
+�N��%ہ�r�iz�zB&L?�ǔ� 7����'��9Ys��@�d�
P3u����7���{�xV ��ӥ�H�K7�k��W����d
K1��[��3���%�h}1����k0���
/��%0��
�=k�?+գ7��C(]�9$��J�6$�����*K�p�|	q6�?2lx))q�1�z�j�I`���j`+��x�%:���
xN�C�R��T͊L�K���W�},
�m����&�uO�R[U������p.%�dw�[

~Vy/B���'t�3 at 4rдUk�r_.�ɼ��Wm�w(��%#A�l����OGumd�8n�����c��HU"�6�8e\�#+(Ls��/&d�
^��+���st:���>:9��P�����,�t�ձ�j�5�hY<Q2D�!��mk��<n��",~���{h
5�
��y
��
�n�x�K���h�o�cl���S�T����3�u+�GN����/5�ZlNs�#�l4rWl��i,��{�B�(��]��6	g
��6
R��r��
�[xg���[)0�-ov$�� �?�_*�/p��ӎ!�U{��
Y
,�����Q��.�CA��
��^%��
qE;�MJ��8�
5�C��B���

���iX�[W=�T3Z}DH�y�q��p�u^'79�ę��ơ~5�} �$�1����Բ ��B��a�Q�B��΍+}|���jѡm�V:Ih�ܟ�&�4\�~�A��{���K^E�m���sV�R��٠��Ѭ[4�\}"h�i	2����ҭ��&,޽4%�T<.������N�O��\��OAb
b|�F�2c;�L���o�y7p�l!vNR����74{���"8����%:�%.Ks4�
��Kws��G���|����
�7miA��F�jq��5-����� �y��V����2^M3��v���a�3��[	���~��/O��l�+�0YTJy]�t���e�����+�V
�/���)����8��h���
�v��{L1���t�^~%���bڴXi� �����=�#!!%֔V��v~�6zY�U!o6���Q�6ԙ=E���4(&�ނ6�夿7��lݍʉ�����(H:�}�|Fj�ڸ9�Z�bF#�$������P��|EG}
ً�R�a!|��5���Vڀ\F����˭V�C1?U�����Ͼ}�:
��V����a
$�N�V��+�~�]ʔ�i�6���ۊB�dR�e1
x:Wh���
T�Q�jf-mW�|�BG4�p@�yܫ��xKy[r�+/��KUҏETMT��X�
;�I|�QEK��2��u���ȫ\w�է·T�
�!*L������fu�ȯ;�Qmz�~��ۡ
�%)*/;*�VB�4	3˧>����@�q2�7���ލ0�zg
 Y�j�jk�\�

#"%�5�MP��Tl�ڕ��χ
�{���NŬ������DS�B��?3�E��}�;]1��˹��",	�'�^�l�P
�A:Ɩ��a�ڝ<���Aw9l�i�!
+��Y
+�G�p-Eu�@հ��R�����M� }��
s

jR��Eu'�
1R���;6��Xo�#�
�|�<��r%%�
��V��/#�}��4)���6��1��n8��8Ij]P8l��q�+"�o�|yH�\4���8��!���k��5ٌ@{TUXqH�R�WE-e�B��Xצ$Κ
SO��o�O�4zp>�z�m䒍O�|���FYoAҪ;�t2U�x�q�8�VU�`�J�ɎE�ǀr��_\���]�H4"�r��u���hڜ?��)
Y���p'{�I�Is���{�Q��:����[�yS�0$�ӭD��,�
���p%��>=[ݭOl��5:́H\Ċ[�ힼAδ����g�m�GRi�Y�1��i���K��\z���W�
[L��tu˭�aEw
y�!�M`[�T,<	�Wf�r���'z���
��
+�Y��C�-������+�6��;�K�A��'�p���Ⱦ�3E1n�]�#�Ɍ�y�mRv��
����S.�o�s�=Jc��h�^�β
k��&��*�
��Պ���o
L��f��>[����Ǒ�}
��V<�=1
��D_v|p�,v)c����/Z@�i�L>NJ�	k�=
+AW��;߫�|��Ģ,
�V�ҚϞk���g��훴 ,�
�%+��̆�g�
+�A[
��=�<��l ��u�"P��E
��� k
+Ɏ�ݡ�s<<�I^(�F��x���=u�
�u��ۡH5���O�F+wR��8��z�KV����
T>�Xx�C��]��z��(�����1VD�
C���/;r�{�׌���{�g��v��]k��[��˫+��5bc�v��}�?p���:�c�*٤�mB����r
+
�}�EQ�>WR��
+v
 ����_���B�ə���"�nS�]9,Q)�|-��I~
���ɷ:L���V���w;��jj9.`��YA
�+�J`n[��R"�
Ϙ�?G�������
$|�*ʇ�K�-�֒��z��X�]*���s5��j�oQ
*�Iذ��a/����6
+
�r��*%��~a���O�<������u.y�$|������{���Ƿ�t�k�
{��y�NS��+�˟�47�ˤ=V�]��
$��O��[�t�
�p�
+`N0�
+_],��t�!U��HO����ߵ)D��4L����e���Lz3Y�#��{%��n:KC�d�(d��
`��ڪuCcG�K]�![����g*�r`�)>[[
����i���Nh6UN�L�s|�?Ʋ\0�$���ib��ۋ���fd�.�&��
���e�otv��
ٝ�8k�|Ͽ?4�룐�6ϥc�
f�E'��Ԡ�����x&7N���ҭ˰��w)��_BA�Q��y��XJ����#���4U�����0�z��,��\Z�Z�ueM�D��$�Oi�a�2m���:�
+�l����U�,�f4�:�d�t����tm��K�+�$
�>�EW���������A�g�3#���7�ǭ�31'_�L-3OG&���������gUw�#=���ӡ�V�<��:!�
���ՅԥƏ�ňy��\�i�#����'C�w9 O@�-�����;��V��8
J��0�8�%���"�ۊ��r��ɝ"Z�;h�\5-u'�1܏�䫹�^��/�t�����LOF9$���s�
0s􌎿`	n�ኝ�X�5�L�-k<��[3o�
L%�z�`7��ILkVp���|v��E�i��#����p�XN���f����H�|n��鷐�k��įl9�I���)}i?�|C��P�h6C`R����CG
���4;�������<���;��sc�fC�
X��
���9� �n��Bэ����9׹\�UFk��ѷ4������Dj�CG�TR�+�O*j���Y�Ɖ�C���mb�bv�:�}��+���oإ��/!C�[�{ᶚ�;�[.�+Kj`U,%3�J�R���@*�z��3p�J�+
���ח�'����瑲Xj����m5���8ٍ�
!�ޮ��t�A���Lmɋ�]�'�,�l����{A�s�:�
L
+�ۺ��@|�V

ˀ�a�:�7Z{f�
Y�3�@�ӻ����v"��ש�+ ��
+endstream
+endobj
+3361 0 obj <<
+/Type /FontDescriptor
+/FontName /VWYYIV+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 79
+/XHeight 431
+/CharSet (/a/b/d/e/equal/i/l/m/n/o/one/p/r/t/u/x/zero)
+/FontFile 3360 0 R
+>> endobj
+3362 0 obj <<
+/Length1 1577
+/Length2 8923
+/Length3 0
+/Length 9964      
+/Filter /FlateDecode
+>>
+stream
+xڍ�T��6,ݍ��
��Hww�� �0�
�� !-�)�J�tKR�-
�����_��֬�̽��{���7
��6��%�
$���q�s
+�U�� ��<윜��tt:;�_Zt:=��3������<��  %W; ��_�K@�����)�/G��0@�����`P�3:�4���	�vy��#�т	�%$$��'
 ir�X � U��5��)���
���\<�
�Q����A����ݝ
h��s�1��!.� -�3��
d	��.@
h��;:
@����Zf��t�v
��)�j	r<�h+� �
@п�U�r`�}5 .v���
��
����; ��(`���T�]<\X@��oG��3�)
���͟
��Ij�O��ݝ����ř�b��C��0O�,
����ۃ�.��듁8�,�nݓ��Xm�0w��_g+���w
��
�P��+HQ�o�'�?:0�����) �
 9@
�
��u<
@�\��O��z;�
 VO-�|!V��?tog����
+���O�K�\\ K��
�
�@��AR�����&�� q>�
�������,aP;���
�CVJWK΀�O��6II�< �l<B 6n>N '?@�����(���_���j !����"�
+������Wns���ua�w5��A �h����������L�?!���������#�jg���������!v�۟X�����������>�%VYB\��ת�|�
I(��ߗq��x�,5 .��_3x���@A0g��g�����?��]��}zJ��&��zZ��N)
��Y��9n>~ ��	��4�'������� �?�p�Ca.O!���|V0'��� p ��H�+������ 9�>��^ ���� ���
+8��������������@�@V.�h����E�b�9����p��)��?O���T�u=�NO�.��tw����O ��}�+��U�M]H�U�$�;���4ݦ�{&6��O�7�(�LՙA+N�$��q��e/$)��ZP�?&j���ܙ�kMn���O���I��Q����Hl��;���"��u(��:�
+bk�\���{���	����Uͯ�qW>���&�d�.�<k��م����g���4~��#�R<
��~
O���U���Y��
+
n�NRZ��$�#���R?S���K����=ZE�(s�XS��p�rgTC��B�{j�F>sm�&B��	6k˚	M��՟W���%p��Q��l%���K���&�|Qh��0+@�X��
�>�l ܉ɓ�S��~4Zx�^Q��f�֊T���^��>������2_mL	����T�_�w~K�T��
_z�#'�\��f����F������
#��!�H�LZa3�p�7��H ׮D�"�B�h�]�~�1�Y����;0a��e����y���V��)�)��I>�Ď!���/���[�	�1JW��9D�AU�47�w�W
Z�}��ۥ0[�������AL
驨�(ݔO��2����;�
�z�'�*
+\�����ږ��1�"�<]~
+[RmZQ��g�m(:
�бo̗���R8��
��5
+y-TWf�y��d�}�x�
+l	"�SL-r�e�W�{${�q>�
S68�Ċ��Z𯨿LLO�
+�ء}h�<y�.�z[^ �&c��L�0�GYl:�]��
e5��D���S�_��[�{sI$Qc4�p��v�3����ڗ]g��
�
$N�!ӽ�
��2��9�S:1��]�^��}y�����}�u�ɓb���[
h��z��_[W��m�[D4�1ܘ
��ةAa��UG��
����,$d���[GH���"9=�D7^�����o$��{a�MO�g�-��W�A�
C���%6&ov{?��;�o�R���ּ��X��9�\������\}�@񍊞H��Mδ���_��49&��*D�s��̎��L�B��_-�Z� z8URu,��HaJw��s���#Q�ٍ����L�[\{����uĈ�f�S�.��}kn���0�2f�)
�T0
j#*F�U럤h/tCev��>O7ﹶa��0
����m��'&�|��6C\x��d� ��fٟg���J7���C��a���,[���KJ~��,D�>��z�kE�F�d3�&ڞ|��=ՆF��ށ�h��X
v���� ���ŏޮE��ڑ�@��j?]_�n��Q�r�<8m/���
+$�y��gqn
b\j

%ݬB���5_&
���Ȍ���/���_����VK�
�D�s��
�������Wg�#�Yݮ����v��k�qWrC�r�Us���v��ȋ����54����>����j�*��r@ȉW	'iai� ��!C���T�\���p�>V�
�.&���ۓzѾ��ʔf���|�ҁO��Y��95�vO؜�^`�&9�|�H�mU����^�j���uM,����q
n��P�-�ӄ��U^j��I��*��.��":Q��,���׿��#��
�ln�^l�Ǹ
��IG�
�ۍ��ޛ�Z�Z�UL�s���{����c`��`e�u��
Rޒg6���IPv�;� �A�ڞ0����ߕ�Mj�g�
�F����v!�p-/xs���L���@]��;hκ>�DT����+={os�^P7�����i+�|��͸���NEo�>u;�y}j�
����`�~II��A�\$!+T0����:��
ڲ2�=E
����� �ki�d���
+ʑ
�s!��2����B�/�”'y'�;
@&�3�qD/{e�:�"����!��$�b�*���/��#�J}wR��Vɨ�c�^D����S
�$��*@?�� ��u��D����i����ʂ0K�X�}�
B�hJ�E��n��/�=��a��e��y?�".L��*6
ߴ��%
tBmW6cD�c|3o�FF�����\ʕb�E����J*��������
��n���Á35Q�V
3bW�(�s��w�mQ����|A�:������#���
��;�|޾e��
��-Gi
+@�]�i�\��lo%�6�sM�4��7O����3h_��T�T���f��7K!�q4����K�P����:�}D�pY�ɱ��U3*g*z���Fe��=�M��{��D�X���E͕ާ>�
��3����z/Dx�t)zo�l��zG�n/|^��y!�(d���e� ��R#>���i��r�8�'��U��
n�*��Y�_i����h���^��]��_L� +>��)o����F\)>ӔXChz��w��|���
J�w�y��W�˰5��)��i������
"�����S��q^��:���\
��cǀP΀�A���
��<���3�]
+�},�j[��{�\>��Q��u�A�8�u��	@�k|:?��H��vz(Ȅ
oeL�>ϽB��`&m�?
+�byaۉ�Ʀ�m“I��d�m�¹-��5Y���	�$n�
"9ў!�b>T�X�j!��.촧�m�R/"<j#t
�y����5��4b.�!��ށ�j��
|0�Y���
AQG0�R�R�j�G&K�y��N {^�uV�m��
�e��V�\�dtl!�|im?�|�Դ[���
�EZ_J����L߭hO��oҋ�].��w�*��|��O�e����@/�
A��^���
ԯN�Q�O
��R�M֝|l��s:
#�^(�X{�oI�n1.�Կլ��4��'U���7�x��m����qV�n
+���Slv�<�̨�}�g�K�"���<�$G���сx��#o
 9���]l]�<��?�e�+J��/�Db
��&��K��`���w��ѠM��4F{f1��+y��
5�]���H
�𾕟+	�Oe
gG��&d����C=��̡����5��h��x{�0)��
�l��T	���3�c+f0Lq���k�m�[!)<t��˽JO�&�|<-g�\�1O%�.<��R�����!u���a��@�z

�������
+� �
��W�%�
f�N™0t�Љ�L�o(v3�צ�
�rn׿��j�-���(����<c��g�	y�J�̥�m�Jɘ4��b��{�	��#ȑb�i��ŐK,�{=�4b����{���҄`¦j�5���|�����[�;;vG�W�j��W��=/�s�>�Z2���	� ���
<҈
+�F
	�SU�>�
8�*�:W��3��
8x�0������}'��C]��9��B
���d�[����,��Tz�:�R�r�y�� �|rȀ5�œ
r��ޠ-4�d��(N��	i�f������0�YkVV��p)-k�s���NI$�-�)�B�0y�
�6�R�o
+d0Hk�c�	�9�|�x�$�W��8�h�3\R�Õl�@�w�
>�1
r�E3��ܭ
݅,b����V��Pt���vT�L咂ԇ��#/��98�7�7�����_�ŵ{����pe���}��uWb�tw�����e�q&<�+��z>�-Θ��!��j���V��]c̳�W��?��V�W���~�^Ϲ�R�n�P�ޢ���Ĺ�����37{'���x4�1��k�>�^�k��O�x'�ī�H��)��(���2�z��	l`	�
�
->��5J�������
eL>i}�Z�Vh̆r��
+���/؂�)���?���&��"y�mbۆ��
���G(��zq�������,w�~�I
�Z~y���0�\���L(7u���
�-��㕅H�P鼸�d�̹q����M����G�yq�:A�j�R�)!�+m�/�S}R
�0��n��O��2�d"�X�j)*
�M�n;t֪��<
�ZN{�Vq�߬0H{ ����1M�
�m!�}O��?z�ιL}[��~
9M*	x��Wv�����=�at���K��'18>�hx�HM�fY��ٝW�{.<�qlm-�~����RD�"���)��d�x��A���Y1R�<?>CvZ
{$(_,�f�2G`j�X��duO�
��Wb����~&9�0�tp壸�Y�ߜN&A����Q�.&�jB
o��!3�)�&{+J�|<S�ڗI
+�I�yi��D�g���u���<����BֈR���
��
S!񍎜�J�Xp�++�J�N������K�
*;~�qƫwZJ�S%�c�^2��� ��w;ɲ-��VFs5���B|�gc�1܎��q��JD�d+��퐑�n�9�=.F
�o
	ԋ���)�e�63���Aʥy7�>�
������z�f��&M��ҫ�
+��A8
\G�ye�@M�����aU�R�ڛ�w;8-���[�Ja䟂� �M
b�/��0%��R
 ��rΤU�b��縫
�f�l�\𑗾ZF��R�
�SND���!ܶ��_D*��~Uz1^Ռ��[0��fu
)���U�}#h�Ϻ�
g�*6y�ɛ�h$>s;���-�m�6;bJ��'�qZK���}�=������u�j&V����-\z�:�_v�#k���2�[��4�|�i�rZ]��&�S2ejf�G��7tt֏}�s�H��m;+��[�}
���j�7�v��Z;��I�Օ����R�s��6�b?�T�%��-\BMq艘�<�1�L�2B��t軃�xs*�2l+C�I�{���Ĝ�ح�c��0ַU�e�j�A���_>;!�՜|�Q�7�`J��
+�'�
�0Wo�
+��
._��hz
,ۮ|�c�נ��!($��:�L0h��=o��J��{���!����0?� ���7�F6�HE�Z~\��IBM0��I��k���U�T:��~jU/��l�o�JL�*���N��̊Д�
i�mM*�O�%�D�z	�5�iQ�ѯ���-��g���ξC��N���3?���N�<�'F��4�*R$ J� L�/♻�2B`�;)on��~��\@�3Tt��$1p�'�x9•M��q6'\(�TeY��Wz�F�.G���8oxK9ې&7Z=J-:��F
�\�B>�
���9hG#蒮��uFB� Y kM{{I�"��T����}�eU���N��!���J�itN����]
�K-g`ގ���O]�E�N��@8��d��������YQm��ɼ��[�������YuN�&�[ª�B���9��!�2	7��Mq��E�)��I���c[%&J��(����(
��̚ٽ��E�&>Ӗ[2Cl��<ؤn�'��פ�^�N
+��Fr9��#�\J�R�z��d*�u�
+�'�mv�~
C�*��Y���C��K7��ꈐ���7-��In�`�=�n����d/���q�Ʀ_��ɐQ�woSZ�<�.��?V��z��Ǩ�v�|Z�%,����sV���w���	��C#Cʖ��
�
+
+6�;���Ȥ���x��6��
-=U'~4KZ<����U�9+c�����b�t&����|�����!ʵi
��zM~ie��@��7����?,���w���2�
\a�>��J{�+���P�v��
,
��9�;=���8�f�NGf�B,A��)*�M�qg���J
U���"�����C���v��eh�4��L
f��Oi'ᓚ3
+�͙}M\Dт�g�?	�d�7�!	z����֝o~լ��@��eT�z�
Ϧ?���A���˖���נ��Cb���L VMzީ(Ê	�"��N������"$��K�
��$��fLu�K ���R��"9���?{wDS�Q�F���E&=��ʁ��s0P�y��jLG���K�;j��'�;�K���0����4"��l^���C�U����i�?�*V����K�o����}���}XY�T	?�>0$�ѹ5
̈&WN��Ŧ���ܕ�lV��8��N������a	��$nƄJֿ���3	� Õ�ep�J�@���\Od!��Z}�cN5�*x�j�y����S�����m��_s��߯q�/��y�81
�v�B7�v���~�����qxn���
�
��d�#�G��?��	�Ď�2-zȑ�4K��
P���f
<�p
�u�5b,�kV�����*H�P���X7����	��)D���;&�2�R�RNi:�V:_�=��\�F���4ɷ�Y�#d Ÿs���*aF3LH

��������s�5����F��a�n�Z�Ɛ�U��3V+�F
��.�>?q��0��S��N��/�/`X� �OM�}<���$8zt�Y2�Q-�F'������@�����D3�}�͊H�S���X,b�� �d�m���T��Jj\歰�깉q��:܍"����f2�н��%��J�T�L�Ͻ9�-�kl9٩���
�L2X1#�Q	 D_�������D�/_(�|�T�?
�����W�f<C�K�QvC([C�2w�KHP�����q�4�<�E�Go�L�W����RJpd�
o��̜��
>
+Lu���n2M]�̀�N#u_�3:�Èܔj���N�n���`ꇝf�cqd�0<c��9u�wZ)$Hz��]�pN�o�fX=���(�+��F�e������
�ߤf����J�j�QhH���;��|�{<K��)�!+�
J��.
9�g�`>��*���`�̈́�b�ǂ���T;S=�~FxrU�wOT�^:Bŕ}���W��w`|���iW�=��/
�}�FS���7rM����p;�FK�+����'�h�;[�riP��a��Aφ���HइU�����̒F��~��!ZWY;������.�h8l(2l���M���
}_d��<��'�
��
T�Zn�S\���
��O����Ļ�����{���p�7M��#��劸'�Y��L���D�2-(N>����Mx�a�cB#�U�#�u
u�bړI:z�*_jWx��|��dP�v��.��>:��&1.��!��|W+H�V+YO�#9��<�r��w�
gGl
	�<�ڎX�h|~��}����x��(ZUѩ�xwt���Vtj�[U%%}�{H����Ԑ�2�Q%"�2$t��谖��ppM�
ӝ�^�7�i$"k�1���j�7� 
��C`Z�Mm��2���g��³��\��X��+k)�����
�^7T8�G�y�ݿ*�
+��R��������U�ʿ�|�FG������M�#VU��[�&5S�yW�
�٢>����1�L
Dh�����~��.�c�ÒF�{l]ĕ3�W�Gu �����TN�4J%BH"�T�
"����꬛N���v;�G���������v�p[���T�N���X��&i���w
hLe��~�F$�ՕM
�;�X�<'f��Ȁ�3�:�l�L��#Q�
+
+ʣ

W����|R��o�C�S%b�$�����6A201�
R2^�1�=��2�Jrn5���m���,����w��0'q_)>5���X��,n����||�׮ &�^c��9�bh˨�Q�U��� �JRz�T���4ɭf��&�>��L�]�;`RQ(�� �Z��̹^�g�ʨ���O۶�{	rf�GNb���5��G��b�P9��	����/|��FNdi&��
��
=5=�r�>�Ʌt&����"�o���j5���Xx��m�u��5`��LmQP*��BJS?�
U��^�%��e6��Z��֒�z~⁒�P��NT����
�م�K�]?y2a9�7�u���AӷPKM&*
�
+���ݼ��Ne��v�dU�
���AX�Q�u��I���`�έ����t��?&bP`��-NBZ���"�&(E	Qa�(閅i���6%κVeK���Zތ��
F�Y��'��Yo��%�0V�N�:�x���$x�[5d�/�B�o-�ӗ-��n�a�o�K�ʴ �1�k��P�
9(�wĞ90�!~�!T(�zi$�Q�f'��U�$���C�_0��CL�~���I0I>�9��M+
y
+'`N˓��S�hmg�L
�y��U�;��"�擈
��a ���|Kp�<2Y�ݕ�ca����M���0BN&P{��]"�J=Џtjc	�lK�Nk�6�w␅��>�^6
t(tR�-y	�Jݑ�I
a
�s���^��9�� s[^�M
�]��6W`��yL���2�m
-��l��o��OyG=rO
QT�����uͯ3��C�G��^rqB�N�ĩ;��D�~�6���̥	�?t�o�#{fB�|#�|I+�
�S�|:� ��1�F����:���L���(3�ktb~ J2��!��T<s

�w��YH�WD�]��֯�8/1s��T�r+t1�
&yD�'�h�
�`�н4P��?r�
Kˍ��s����}R�ߨ��]'��맾�PCUS3�\@����hkd��~"���h[�t�hp���O�U��O���>F�
��]u���
IU
��sd�q�({O���,�Q~��`N�U�
W�r�U=G
hsqt���"��膥��'�������q�َ:V��﷝:�D��;���QT��x���f�Sm�m��f��[�
�B
Lct�c��%��{3�a��)վ��S��p\_�	_��ȿ@P�ѷ�a^�!I���S�y��n �[l ���ͥh��SN*�W�s��> [...]
�8��hV9�
�!
����t�+�;Z�E��T���40���YX��> 4��h��)nS�{��p7̯�>��[{�|���_��}Av�F9�	���x���̆�l�t�B?{��v�0Y_V��MXP,�`�-K�-F����i��G�������V�� :�z����b���&@vT[���["4�
�F�:�Iį�wx
���K��ɟ ]��%=�R
���
��`�$�c%U�b�x.oBѨ�vi��0
��)�&S�"O�9.�����y�k
����ܣ���x��aK.�o�SO�y�gD
4��mV�#�7�pZ,y��$��w+�
�q\f�%���cB�7��W��I��L ��|k��ם���J&����&�`�I֮w׹�(��
Z�����_Z&���c��<�ܑ���HP
+endstream
+endobj
+3363 0 obj <<
+/Type /FontDescriptor
+/FontName /EBURFX+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/a/d/equal/h/l/m/o/parenleft/parenright/r/s/v/zero)
+/FontFile 3362 0 R
+>> endobj
+3364 0 obj <<
+/Length1 1540
+/Length2 6820
+/Length3 0
+/Length 7853      
+/Filter /FlateDecode
+>>
+stream
+xڍxT�[�.R�HH#-
�%�%�0
00� 34H�Hw
+J�tw+
�� ݍ�J�G��;��ݻֽk֚������y��Fm=nYk�X	Cr����5�L�� ||�<||x,,�$�7��bvF@�0���!�
"Q��rԀ� O]� ~A ��8��8@��O�oG��8@�
+�h� ��a`
�<���bk�D����� ��<�
�u;C@@@��;�*��P�

#=���]��t��uss�:"x�ζO8
� H;�.vv[~Qh
���� �� ��
zp��
@P
C�B\`�`g �:@OU
��������#�������'ݟ�_� ���@���y@`� 
�RR�A�#�0�_�@(���!P����ց %Y
 ��?��D�  �_
y�A
�"�Z
���!x��� q�P������0����
fm󋆵��
���������ق� !>1aa!~ � ����U@��	���Fq��r�;lP4�>0��
t��.`��m��
+��`
!V`[
��(l���g�;��%?~ ߯���Q
+��à
���n1������2���1����^�b n1a> ??�0 at DD���<�9����F���?��_Ua6p��_$P��7�?�`�36
�WЄ��
��#�g|B| �������i�W�����{GJ.P�o;�_��
��z��@����

8jB`��j�k�5������"����٢t�������_8�q[kC� ����w3P5�X����wPQ||�eC�
�u� P-�m�&��ua ��� ���
x(�VB /~ԬZ��K
���#Q! G�
��Wc�@�3���/�o
U�
���`(
��
��
�]�(�sA���
���LP ⟤� ^'T)�5�.A�D��o�0�uA���_$A.�Ψ��jD����ߗ���N�AA�UA-��4n���XK�m�1&�aBH��o��ԱӔ'^�=�.{0��=S2>�M�yp9���3�1I%��ػ*wĝ���i�-��Nm;*�
�Jr�CG��
ӌ-�h�*X�Kp��ƻ�6Ħ��.��N̘D�|-�ն��ʄ�y9`�8���,�E_�`��$�B�%��ǪYT���/2�z�Orպ˅�BȨ�{>e���"��xZ�@c�:�/J�a��s
a]�x.��s2��9�_Х�VS����ˡ:�j�дTV��	��Z��w^�
q�v�*���Xʭ��R���ݘ� ���[�IxAᅉ:�\]$��@A�����_���
�'JAE����ֆ�;
��]I&ȨYȴU14�]>����Rb�;�j��2�zg>�#��1nM��ى�W:�Dbȩ(��T�
o��Ί�������nnS�0��c�6$��'��������k"
,�7ILH�pPD�~�Tx�T@�T�������;
+:{�ĕ��t��ߵ��r>���P�n3�{^����8R�s�%g2�$2��-wc�kIV��Y���Q�6�j��e��L��	����o��ZM��hS:���[�7�Uj�c
�Y
(��3�AKꢅ������[�p���l�ξ��]H<^�w�ت�<t�Y�BN@J�6,&�Z���*慉f�@�M�� 8V 0
�A����[�J��Q��1�j� ����tt�M�������i�'�#/@I����W^c-�
���ʃ����F/h4��L
/��4��DO
�k+
�_
�Z
+4�+k,��$z��S�OP�������B��
'�<�a��@����p����=�~��5a5ʠtK��W�]׎�=�R��q~٨W(�@��
��7�ŎD�j3�}�����P�s��q.�1
�Y��n�;����k}��bT�Y5Y�s��7]�K䤑Dj��qJ��
��b$�P��=�7^ޫ߾�� ו
+��m��4��&�q*F��]e+Ռs��c7�M�
����MY{q�]�	
	�R�
O
����=c*�^��F9���UW>q&3CG���pR��QV?�`Q�)�k+覬ꥶzqu��lY���GOvЅ`�������{zڪ�6^j#E��`��a��}�=���Q��Ɵ3�
�,Z92��*�!񤒋�lQO�����N=�c�a�3(А>�ޕ^�w�q%�L)5�͏�YU&��y�'dq$���^-j�����
l���!(��ܘ`!
�
R��#N��-��ͶW����™�Z�Wj�\��δϏ���,��
�����J�e����2� z��J��
�@��;jaW�
��(�oJd�
 q�
�G_�ኯ)7
�?�r���0�c�ڻ�Q?2�5�
�
`񙹞5r��ĜD��V�hd
+��YY��Hc�_����/�
̎U/S���1�HDo%^�X����
+��
+�I�����S�Wq�R�+G[���/���y���}}����>�dO&q��M�޹.G�`�Wk&�Nyh�
ڱ �oe�?/k��X[/5�[�l���mIO=�G�?�B�@�S숅co��\�,
�t����b� ���:N��14���-�yզI[�}k�3�b�
$Q�*q
N�
+?�����3�ďt��K��[y*�K3�x���1nU&

�
����bިo�m���5J���V�5[i�z;
wc
�4^�^ �q�O�l;M��%��`p��uO�:��h���k��i�(��,ziD��Jާ&���Ӻ,��o�/��>σL<{������Yj
E^?疩��#5ĺ�a;��
;/B�~|Gd-��Ҙ
��=�$0���AӨ֤c_iFrKΧ:iۡz�{Iw�}nj�B`���]��z�1�-r�h�����W�Jg���,(�#��;>zΕ���e̻l���ZPԧ�Y�8���ϼe�t�ș`�+pZȬ�|Ͷ���&���~�
�vv�y-�,eLGd��f�Z����R�ra)T$@͆���s���Oe&/��ǃ!��|��݉�!�T��
�u���ݦAލ�
+w��
s}_�S�w���6���p*ۿ
Z�V�a�j�Av-���	m�
Q��1C��wG�h��k�sּ����m����
�B�_��s��FC�^�u0�����הtJC�II�=O7E�z���X��{觽��5t��H^�zQ0d+?@{{8�єvG��n�~���/o�eSloJ��8
�~�Xd����
�}����9��}N�#��K.+���c�n�t�����)���E�67
~�r��&9fҺ�����$����Tz�l
z�
��e._���C	�Ӗq,��-�	m�}�'n͟���y�e���^57
�/��28�-�x�#�2G�v+��
�_�}���t$�������a�
�\d�^�
B�K���q�E?����C��1�Ơ�~�q�A������nͯ���PR2a�ŷ$���IY���n��Ex}�.��Hg��3h��Ӫ��wԹ]�HU����<���{����
Tx��) �ɩ\����[�b�롳֤�Lv�
���X g9͞�����'�-i�Ë�t6�ïɻ��X�q�\t^��|��
cs�q��j�;��j]��ul����C�ts
�����{�S�-	$ݩ1��#K�OwO�- ��f�G��̅�.�����?��ђ
b}2
ڵ7��y���sq5�-u���=�%��ݍ��H;.���Y[��ģ�u��{T�S�۾D@�D�c�H��)��ä���Zb_�m^�B����|�IH݌�t
&Z70�
5U;����ڴ�����Px�LE�J����ю섯`���v�
���K�#1��&�{)�W�Ҁ��L/���DB�yJ���Տ3�R����d
KH�[_T�

1,u,�?�Ŏ�}3v��^���'���G�z���g�-wi�8�+0������+~Km��הg���̷�4Ay;�<>9�#���
)F۔�S@�i�R�:m)�0p��`�n�a���6���ξJ�$ 5��tk��:&g}y�Ę�c"�x at fJAht�4a(��u�)�Ɂr*����e��
0{'����'��
�Y���"np�U5�Ը$���ݸ5I���R���J��b-䴈��e�ɠ�<�b���-�4��.���~�z���vg��+DX�W'��҃�q!�j��/��hن^��2�m�-_3]��p�n�B����{�Rة��9�ҳ
+�~R���wZ�`t��^PZ��?a���z��qء�C��q�� �;
WY�"�Vp[i�4��JC�k��K1�| �����,�r*	3���
52��Ӂ������n99�Ȧ!�G9q�<�Q�����O���d'�N��x���pL��Br^��;��oh��_�)��bZ�Lɒĵ�v�t>a��:�Ey�zJHN�ga�;���AD�F)jv3�
�qR\�0�ӿ;AJ�LE:���H	8Rqd
�ڜ5��'.��^z<d_-�2�ULC\�آC���NJXro<�ٔ+�*�r~u��th�
���R�}���s��}��3�w�eA
����I�;S�Sh,�>*��ԩ�yY��o�S�~tvj���o��DBM�

+F�!���.V�%59q`�q�c�dX2���rTN�7�Hϫ���фW[
D�ϕ��|�B~i]P�N�Q���K�hi����z�ŝYV�c�*�R���6S��HHWI˄IX�L���=�
bMC��^#a�-�I�n��
	}��ہ��)��
�1
��o�MT���kW�U����u-L�Ө�aV*����0{bH-�t��1��x_{�EI�9���O.�|�<GYmFۮ��f�Y���N��<Α>���
�&��dRB����Q�ʊ��O�Z���0?����"
+���}V�G��)�`�
<��<��%ީ9q]�i?�U�7��И\��
��H�������}W��`┻�+w���p�
�ɢy��U%���߅x��#(�0�
����I�G�ܻ����s��@>�*�\����h{iAЊ쥑u�́��]��'^��yvv1���V�}70G;�U�$B?wQ��P�}<w:��^�ޅ�i�Z�ǂ^bR�k����7�����O�y㔘�
x*��lb��q-��L�Q1
L��K��#����O͗?3�]	k}��y���
�"9�5\,��*%ɫ/-븢��6@���.���\���ώ��Rv�]1��!b�M�d����m��y��E�xmF4+y� �
K�u}�ݞY�� 8
ͅ
率����=֚��s$�|Uv��k�F9�ה���s�����_F6C�!��@t�L�74�.>���>Y%3M}L�f�YԻ���h��L&2C�40�<gb�S�~����5��ꉋBHF|8��)��u����tA���
��W��K��P~+T�̸Q����
WUiS\�
�0��g�5�#��w4��Z�%�����C^nQ+��q9[`�]>Ey��AA�g�yQu���<�3� q��ԇ4��I�H6�Dkr1.E��#�5,�T�HQ�^�H��L�P�{}��Y͟���]�^���`�$��0����ζSS{�3E���F{쵉�VNʘ�;m��"2#Gzg���$�,t������s���t�5c0�/����f[ja�o��cH [...]
�˒�����3QQ{��x�n
�<"��
�z�y��rG at r�r8��
�xI�U\a6�QF�4�HK�
�F�j��62�v�+0d�u#���x����� �����꺀���$��z ��eOݙ 2���)Ǿ8$�ۛ��f�� f/�����z�]6z�	)y5�
\Hā|�&�!�/�J�3�G��#�g�r��~�J�����Z����}��{���c��
-���q��Fb�<}�V_q1 U��হ�Y
���3_j	-i��u[��+�E0�-
+��
2Y���}q#�Wi���.��$u3`�̓؟���_����~���t ��).ūa�PU�R>I�Z
�׭"��>v�€�'��:?�����rOc(�S�p����+5,��e%x����d8ĻN�9&Q/��O�K��r}�}�4��a =�I9ـ���R	V�G���}J��Z'������~��5S|�[+��N��h��W6a��Ua�*y�v5z-l��P�tv[7s�|���.�
ߗ���J߷�-�d]Kq�W��]'�i����y�X�oX�1�7������;f�
�qS̘`��y�)�dk]ٽ���2^1Rw=�����=�[��!��{�h����_
+�*� ��#I9+�"(#�{t��]���O��8��9��.k;��7�R|/�\����
��yM����b�}���Tn�z���
+��ĺ�]5D��vq�tzq���l�bWZ�����ҙ>Cӭ��=%+ST=��)~��9���\蠁_/�%�f�x#���
G�]l����sl�:��_.�v3=�u�KQ�	]r��V 
+LOبq�W6|K��i�SE}vT�%Ͷ�=�PQ{b�R�/���d�!S�|�y?'"h�j��Bq��*�P`�DJ�N�q���)����;�	j�Y��'��>�g"j�1jz�u�m<�1����&
Pé=(�Ą�jiaff�,zoGjW�4��Aj��凣�G�B��%��D�
髡��es ��F��F~��I�p��,������I֣b��Q���Ϸ�����i��_�]�3tͲg����2���>6�2t���M<ws��%E3.�[�⟫��T\F4��{zC��K1�s���h��'|�Y�(i[�����o���<Y�0�zW@�&("޺�Zi�
�cf*I��}DfG�T�G���Y&F��}�!᮵*���
ز��U\�]'��
�h-!��aKD��{�Z���1	2����*��E���M���X�a
H�R>�TXzk��MI�פ���Y���2D2�|EV�y(��\mUB��V6!�K�W:|gZ���z�m��l��x�:y�|��v�ޖy! [...]

8Y�*�Yp^�1��~��ç#O��m����$E����j�K�]���:ң/vAЅcޢ�2N�`=���֒�3\�ڢN+=�����w�q�5h����]^$�|��`��
Z��>������
O;1'�:�����۷�=�mUs��P�7,�S�����^�k����4��X=;�E�y?��)U���0k��;CK��­��]���
+a!���QJ�b�SC���ٶ ����~�
��.�@�YR�`s��"����`���(�,�Ͻ�}�yq��91
����SvhJ�n��ߧ��E�'�,�<��Awr��!��̔�K��<ge �8":���
���JD�@�T�ꁍ�_FR:�
i��ۥ�<歗I@]���z��'1��Ϭ�a��?>wfXJ�VیP��'�#���_
iPe+�4|�
�
+������o���Wב]� -�%��
i-�O�V�<.ъ�V�3.|���=󈁤��/{�e+T�m���J��\��,��
c�A���M8��d"y�	�%]����Re���u���.��*�M�沇A Q�rG��p.0�yV<���S��h�0�-��+�0;i�6�J����w
���.Y�ՙ+]n�c�M�I��]U��e�*��]Jn
+endstream
+endobj
+3365 0 obj <<
+/Type /FontDescriptor
+/FontName /HQMTAG+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 40
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/minus/negationslash/periodcentered/plusminus)
+/FontFile 3364 0 R
+>> endobj
+3366 0 obj <<
+/Length1 1504
+/Length2 7108
+/Length3 0
+/Length 8129      
+/Filter /FlateDecode
+>>
+stream
+xڍvP�k�-ґ&z	:(ҥw�����PB�Uz�"*U��D:
+R�. 
D������w���L�>k�g��;��62W��
�hN

) ��Mo� @ ) $I��o������)�-�,�R�_j8G�ԡ8��>��� K�2
+`Y 	����( ԡ�@��F����jh<��#��� �$
 ��ˊ��"��Ї�\�HBE'�;�턀���J!���y(HH��� �H,�qQ� p� 8��� �
�H�f at J~��+�7E;�|�8� �#��(,!�
�c �� S
=��
��Y�� �@����+�;��Fz at Qx��p�
5��8_� ���r��cфx�7�u$8��9��j
��E�Ax�@,��E�_i]�@���H$
��R���:w"�
/�g�n(�����3s�E��!a�Bxz�u��r!@��`.p
 ������=p_'W�_���
��F�/�� ���p&��"��J,��a�������%
�!�p G�
E�Ov
w�s&
��؀�@�>�y�#�
�F���q�=_	���jf���v�&��/.
���#�UR
 +'�w������o����n�ꠜ� �?�����_��kc���`�&H�G�� ȉ���������e�)��/������,�����H�;�/���p���Gv�߮��?���!���m��A	ۡ�r!(\
,
I��XM�/
f��9����ߣ �pG��Fh,��
�����tNn��
+�0��&8a��]W儆�Z>I�
 ��@� ��$!�?���0��oy$�(4� p
8�1���*��b	�X7�\�`I0@uq!��L�o
����`B(ꂁz��� C	
���
A 	,a}������CX�߂#��������('��N��V?l<�Re�_
 ��o�L���	|��w�#���� +�җf��Y��x ���Ѡ�m[���T�<
�F�כ[�=?v�\��`�.�e�"�2|d�I�`Cj#�d9~*�.�\�����l-�
�<9��Ne�Ū�6#����7��mKwc��e�c���8wx�1����M\F��tw���4��BݎJ��0F6&�[ܹ}�]l̏�o��	܄
�=KI�a+F�	̐ �G�

|qo�@H@	��>UDąD�v����ʍJ����O��RVW�r�g�";&3B��N�}��
m��,j��m(҇Yo#X4+y���ʃ<�S���;�Ͽ��A�
$�&NPX��{�}�d~^���md�t��]��,���'=ɜ�|����^���V�_�z���1�
�=��F���%��|r+� �O���>��v�D�Ҫxz�x�bɮz̠���Y�,y�uk��[]�t���'X���+V
+tCMO!��:�J7_58�	�h���ԧ77�p5J��+R�\����௕ld�p~!��Ŗ��u�f��E�zQ�?%�/��K��A>��-w#>�$��O�Q��W����v3��y��rʺ�~7�6
�w��j��7�-��>o�:�t%�*�3��Q�uCx_Nl�_�b��`����b����ȸ���!��R\5n�be�-K���k;d�����R���t���G&�y}�$�Js��~A�U"����iq��h�8dσ��y>x�'{ܣ�/x��Ruαݵ��q!#\����)a2AWcV�
���<ZMF[�J�$}�m�aV�Z������L~�o���d\L�Q<u
,���8�o�
+
=�{Qn�q!
+�ޝ�rb2/�
�JҦ_`� �f~#"��hc��(t�����$�ß�{������m���!!mL;{���@&�U�B�;ѻM\R2��.2�m+w�
?l�d�z�!mE��}�s�
�����{�©�yW�&�#�ɏ��$R%�`�+�J1)=��ͤ��Këj�zN�Ca^�KUYQ�Me�!Ukaܐ�Dۛ�"�a��i�c��v~j����.������(�:O�[d5ls����
d.�~ϧ��գ�t����Y
�榪��ݼ\�����.��>��R�/�VeAs֑�É
{
w�;��!�C��㥶ho{��j$v~I��l~��1����R���b,�0��Hj�k5[��
c��pǫ
<���^'������A����%�N�#���",g�6I�Ͳ�
�F\�O�e#����w0`l��	

_�
����|�򑜣��
�{SQ2���l��X`,�p�3#�	�x��4���
Nʦ�TvЉ���c�9~x�
z=�;�{��yM�Ɖ����P6E�G������`ַ��S5��R2�������ǜ�P�A� d[E*A}!
�=�ZLSz��2�k�'n��
U���-�	'�~�4M&���q�g��$�M��
:��6Jɢ�+��yB����<�����
+�����р�Iz>>�G�	��R]��!0�
E
+�o
_)��R��g��7��S���
T�أl��ޟ3�]��/oJN:�
+������J+����@���" 8zTW

z��6�s!�
G��t�\�*8Ye�9.XZ�M�*��I�e�8>ٟ�����%3�9�|<VH�Nsx�^r���c����\{ϩ�(�3⃺�ٗ&l٣Whk8�����@��f�ʎ�
+}4��.<A/u���I"�ba?\�a���-�Ҏ����g�A4���(�w��T�y���I'C��#�����}K �K
��w�Ʌ����em�Q��7�]�*�����`R[i9���^{=@f��F����:֍
_�5i��A�^quߝ��֌1�"�v�������
^��T�(	��c�O4K�p�*{
�x����Z��6$�%
+�-3j�^��\�k1Dt�b?\���y`�6���#A�}���Ǯ���-����d�u���ȊWϹ��Yy�E�7��t���
n�TT�Hb�x�:�e�޻�Y�!��8Բ6�3 at w�����&E�)��Y��b� o`�y� �N�u�c�
��X�<���+a��N���5�Jw;)8��I�g�z�_�2��
+�
�P������
w�~�Zsb5Ur5;b�6�r[#/�NZMI;M;���P	8���5���bgn�\�]�<&g����/��(q�����f��Z#i+s��D��(�W�ȕi'\�h)���BC"l��={�=�5Ý���k�'ys��i�/��{���*�3khԖ��̻�kE�fwy�
�j�
�Kb=��)b���������u
~�O{h�^���X%�]
�� �XV{�]�[bH�i�O/�ē�;�*�}�놏܏�]ޅԲiM~������w��9�՝��9
+����`������Ԑ��5�Qσɔ�)�^DD�,?��d���T��x[��R��4�k�C�zh���y^K��, Y�gi �P�6�MN�]��
+�B f��R�U"�I�w$ַ� �N)[�^��=x%��ڙ���(�]u

s��pޠ�s`J1��+,��ُ�F�Uz�B�^���*�
=� �>7n}�4���l=�Ѡy7\�5�n�1nu��+����W���z�u��*u���ēF�<

,+�C��"̄�=�W��/�j��l?�M��8`�o+�
�"{�W�R]Ͳ,��"�Z�����-���`�G��^w���m�O%Q�+��oD��t�J*����'	�/�1���M�|�a��
���!�^&�􈳸k��P��N���UBK��yi2�����B�:
�>�k�Ir�J�O�S6_�{�W]}�D��=���xU�,�����f�
tF��u��3[}n�1�ܥX��z�k2m�P
9�ڝ��p���4R �����"��ޣ�qS�2�
+�����U��a��Pu �Sb�Ƃ��"Ӫ����9���3 Q��d�a
��C�9q��g���N���[B������pXpV?���l]W��mϓ�@��7�=��'
��C\ǹi���ڸY�;�Z���U�=9��.j
rf ݰ���GXc]��(��֐��
iJ����'��[�n	VԚ�J>��!9v���e
�Z�j_J+��
Sm����DQ
�������ę6�E(�O�����E�-��Km�e�I��Dc���ɉ���3�l��[�/εt
+��t�)
+��P]N�>���[��1{�+.䔏
�?�ou�U��Vv��Y��>�>#cd
+y%���hҬ�9j<��y����C�|�R>5��tS8���@F������&�뤻v���]ON4#S�߭Ͻp{G��v�	T�S����`��j|��`
����y�ɍQ&�d��2T�Q�ⵥ'�{�e�w�Nl ��_��m�Ku���Ƭ0D�>-;*p���t�q����e�ݭ1���^�܀�q
#�
���rK���!�o���x
+�e����N���+���F�r��[W��Jz����5󍤞��O���ʀ��=i���(�6�au��R�����&ކ�\GF��h-yٷ��l(����~�;R�
�-�Vg���Py��H
�Z��j�G)�S�(vtF�\�i
���|q﷧�<�Z��j���ޞR��4k�l�o'%�̡��
��Z�٨]޷�C�ᙰ���"��e%��"���۹�����p��4�s��
�9rܭ$C�|��
+1��8��I���%���|MY|s�[��EX��K�S�q�)X�.�C3w�����%ΐ" ���7|��,�����1_��	 :[�
ROh[�u�z
+ↆ�t*��4��y

��
+/�=�Jl�[I@��rz�M�9
��G;��+�}���~�t
9+��g�Šo��օ�5��ګ6
 w˨���8�ږO��'�Ѫ<ⴾ��b%��ޫ=o�2Ke��Y��1�=^dpY�!�<�?�m�>�m�]�G�vۇf탲���4�䡗��n\�?0�Zp6 m8MQ�OW�/�Թ��jd�_��Bz/�K���s�?B*���
�P��?L�E�+
+/>��ƆA�cY��hD��

+
�
+�$�uZ[�
��,lOYy��.
�
���}v_R%W���������~�ʰ����/�?]L��yu˗�X����#�<�6����<y�*{���B=N�hٶ���
���%��ahɌ�}nB9�/}��ؤ;���)p���Ͳ
�f���ZD��q�@
�x�t�1�c�1C��L� .��]��|<���
d���|Ȫ�Z�R��yj%>�AV��9�&e/����%��;�ݹ��y�4��sO��a�d��V��u2��$
����R|2
�k[T�M����I���&
+O�`��GĜ^���
�f�3�W{<)Z?G�X
�$�+m�W4F?�d�b��5-`٢�i�Y��X�h�2�1$=w�ìȵo�e�m�\_�wYyl�D��^�"M��ۖ>︕�-
���H��O���aHև4�!7dp�;�9�
+_�p#���m��O`T�q�#�[c�
�K�o�
�
m_}S�DN,�ᝎ>��~���)�v��;��$R�3��9u��*@W����k�*��YٴضT��9�.H೉~���P�1i7kf+BV��'��G��AxF�Tr.�C )XtM"q2�	��4⭁���7Ђ�$!�s5�UEf��r��Su��f{S����z@��
�b<!@��v��
+��:g�f5.!y����8�yä�q�.�9�nf� k�3��aE02;�iT`v|�-p/
x��^V�J��������$(�]%�L�����s���o��?1
��\az��>���P$
��_b�P���ܾn��?dx J6j�f�
+������C�
wW����
+9�j�
䠭�S
�=z��(Ph�)�=
�枋�ѭ�����Y��g�^��s��M���B�p�Y��nk�ǽ��7���2����Ҁ�۫[v���U/�p��Z&7�^�n�
�ݲD��o�-TS
�o�@��=$��[�	��j�R �%���U A��p�Y�}

�V�Wm̫~W�drմ���&�$�$��K�B]���l_P�o��k��鏔(bbH�S��L���v���}ae�.a#~]�%�g�d����b3��%k,)�nm�Ei�'�
P�*[0�w+��}����"�t���i�Oő��y��8n�g��R�?w�]V��bB�Y
;dž�E�O6�F�}�}�=�NJ~�
�j6��jn��J��nn�~�1����0�@�(2�W=^:�A���%�&��+K� ��J�>Ed��H����6f��S��u���tN/_
����W��92�������b���U��z�5�r��V%>��u�K�CM_��V�
�ֿ^��j}��ɥ��l}�/=�8Z4{{�3�������d�V�b�V���7�
+��m�4j�6;{w��|�S+���%�(6� ��i�M���5��͋̍��%[���e�Z���<��
�sKy&f�l���RD���$�fa�}m'9����0Xns��#>��⬞�G�zL�ͽ9�BI5���l�<'�ʅ���#�O�t�!N5�~I�<�a�	+Zq�0�vwԸ%��{��Ňs�R<�;�}�ݥ��D�[Ϭ�~��`giع��V���"<���"�����L�8p�9�-ڥ����6��v<�j
c�\�[�u�ݧ�`=�$#W����Q*n��m�kU��
؅�=|���:6ȱ���$���%��
+ʥ\g����n|�S?!v�$��5�ƻ�!�hYV0s��6I�垑!���#�Ē�*5
+
{'E�]6�D�*�4�U��U3�5/��i�3�7܆�!C`�U�E)0��g�:�wۅ2���	2�mL��ܹ ��G����J�5��3�}��Aj
{x�To.�
g
��-�d���F��#-����C������/0��%H39�OW��ukה9�^F���n��#�>o�
�/��tK�
�uo�Vm�gn2��(�q��-��j�)|���߃�p��
��on)��^f��Z�~�әk���S`�奫1���nB���ﴽ*^�
}q3>�l�0e�q
o�(S���
����y�Ѡ�
�4w��{
���Q��8K�l�
�;�
�-R
�2��T�� �j���,t�#R�5$}��Ht�/��v�$B�E�َ�}���@
hn�so�r��)j��c�="Y�h't� �v�5�3F�H"�ޠbɏc��
t���sŃ�N�~a���S ��I������d'EQ���CeI�a�r�d���-��G���>���V���Э��/�-م4�.���1/��uu�jU��w��
��-�<�
���%���o5\�YKBh��f^�*g�jB��%��@ZU�����55sj�
 �
+��|�XF��ߕ�+�����n�:���B*"���
��8������B�����c��U��&l̒�B?�^���o�¶	�N>�~p���4�$�
1����}��Σf�����4��*��&���e��z���h�!�a)��X��8��,�:�
�:o_`�n�t^��`�467T�����p4R�5�b��-:F�=������LUλ0)����
��6��
e!��5�xn��)��rA�s�<G�2D��b�cm��Y�9�r��wJ��4�OS��Ri=

��
+���j��ZH��-��³wh	�H���]T
ؘ��ƺS�VUYD+(�^��y�UWG���P��/���hԨxw�D�?Q��E�5��
+{ź3��AX���� ���=RMоI��ɪ��g�x	3�1�ѴB��}!���F� ��N�.�V�D��,@��h\F�A��vXȳ�� �Ig� ]H!έ}��B���6*�=���΃���\$��‡����#����{�{\P
��`����q�|��H���
+���k�R�I�<�`�
�c��]�E�c8�5b~PO��D��)��C邎/���%ė�]X{=���_������6���[S
��Qt1&��9���Ĕ<���V����܍Y��F�m�
�*+>�*�+Wꭘ����(Z7�Ԯ�c@�?r㏌�����Tg�
nt��
���r����!Ŗ�N
vH���M3jk�R�3��Y\�b/\YJg]An]��
�� ���fU
�o39�W]��'�$�Y���^ǂ��:�]�Z� 7z�f}����[#J�������oy�Qe}M����ժ�v�l�
|�y�*u8� ��Rhh0}=� �B�>
+endstream
+endobj
+3367 0 obj <<
+/Type /FontDescriptor
+/FontName /VYEUCT+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 52
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/paragraph/prime/section)
+/FontFile 3366 0 R
+>> endobj
+3368 0 obj <<
+/Length1 1411
+/Length2 5990
+/Length3 0
+/Length 6951      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�k�.�(����0�HHw#]�0�30
ݍ��t��JH	"���)�!�
+��{���9k��f�w������_6-]
ik�TG�x�� ��F" >>^>>~"66=��LĦE��p��� ���QhL�B��#� 7G H  �������
��@����0k�:/@����"���0[;��߯ ' ������ i'(��`�
�	]v�" 0(��_)8��P(g1 ��Ã��ʋ@�Jr>x�Pv 
�+���"
� ;A�0�%b���\���	�G
+wEG����H �8 at WY
��
��qV����Wo  ^����+
�;
� ���p/�`s�4�xQ��� 0���#������a�`+��
+�� 0��_�\!H�3ʕ����"�Wt���ֲ''(
�J��~r0$�n���d
���_���	k7g�S8��
�,��
"���� B|���EP �b��^��������8#�6hP?�
�G��
+v�PH7����6��D�a�
+j
���

Cm����G�<&|h� |�~�y3C��w�����|���jz2���&#���� <��@ ?�!"���w��4�o�Q-0�����Qn� <��ݼ�y��%
��V���
+��� ��o�'�A?@��
�;����_Y�_���
)�9:�6s���f����/���P�PG���߮�?�����9��UF��4�-q
� /��
� �Zk�P�?B�{��08T
�
+���AG����
�u�W�=��&(z��]W
AX��>~!a �{�E�/$������[�  /
�B� �
� 6$ѯ���N0���/�7��	C���Z7$���%������k�zB!D3S��P����o�

<_��V���uE
+�ا_�ة�g(���XZ��H���&|lʗ���۰�i[V�b�R.
+C�kM�'�����l���
I}�F~���t����A��ԏ0�v��򍂟ͮ�ƏvN���d,)
�X��]�h#�T��)Y
�$�MO���O�hX܅Lc
ݥךI\z��BoVwW���+Վw�e�tT�*,9�=t�	Y*u��2B_e�$�ߣ+t
+g_�v��12��u��9���a���H��*#5
�c����,?���^�I
�jD�%k����"�2ȶWqB�F��3Ś/K���Á�`#��(ݞ�;��
�����.GJ�44���7���$`�fw�˅�ƌgu�ԪH|���1��N7Le�SPܑ��xl�1��x���4%�	 �ϸk�������Ɋ�ŕ��I�@��n�լsΒ�U��(yK at 6��9b^p�f{��%I�b��2߼�9p�t�D����Z�?�����Q2R�wc_ƪY'��g���@y�*b]�NޚG�8�
�X|�'
��c���k�s�&邟���]�ǘ�(�%����x��\�&ĴJ�����6����\,E.�UM���c�5
�f*�����
+�����b��|/
+ʄ�K�@V罰l׮y�H�]]�K���
+���8��e��5���ۜJ}���]��
iR��폧	������zU�"�,�����7R��O�KFd�gNMY�dE?
+��|��]b�!{ŕ!��d&?�Y]��i�~e�p�,,}�+���ի�z��o�V�@� "iԱP��u���b*�x
����s�����3VA�F-�|�#}�-�HϢ�
4Em2v������vn�Z����
d�)������2��dp�'�r&��j �JU��͜M?���|���'��Ā#Iۼ���PO?��ʞ������ɦy�q��=��k�;�����̩��`rV����b�X
+�T���&����Dš�o8�b�^��@�u����v�3��l��O��T���f�X#�.kU�(���A����81C'�� �㖋���ى*T2�
?���I�'wLg 	�5��OMI.Z
z�&R' ��5��v\zW5ǴW�ޛ��
�K�O�V�����TLͤ:�� ���L�gy�
K3t�U!EG隂
��=�O?:����%B�
+�|���'��#��*\T@
SX\
ڙ�nt7��g�X-N��
�\%v�?��Q}6{k.�̘X�	�^~}�A�>}7�K|y!�e��
���k0)��m�,e���oKF��
+h�&�IM�ުz/׏�

��~���(�
���Ygh#�]V

�;�L5�
���ɪDg����ZyM��/�D~��6���q�-������6H*_V��Ƽ�
\�Ϣ��Y�����ܯ���
�������sa۝-�{,S�����o3'�;�s
ĩ4�
�z��
��헮
}d,YΩ
�
�
Oկ�QI���0$�i�qG�I�ʧ&mU:˜
.�T�w�a��tO�b+Rz��_������V(TZ�|q8L�|�Ÿ�=��0
�
qTv?�� sv߶�U�e�Q�’�
8�'gr��{
|���_����KQ�Ǖ� �b�;������lv��ꃆ�e�,�	JgB��2�o����C����:�H��_�.)njIG�4(QrF�x=
[�ʸ3k��QZyC"c���7�[/�Ӷ�0&��h(�\sq
�!\�����W���`d�=���ɴ�lDP���\LS,��
�%��_�Rzꪟ)X3��qGN7�z����7����Gf�N�{�����>��0�
�{+�g=�PAĕ�����"Ñ2���P!��\�SxF�iuE���a� �J��>[���ݭ��R��'K���~~��\�in1$�zY��
�Y`Wޮͪ_�e��8�h�{i�8�=��F�
�LbJ1D���n	ԩy��}�0̿�n��\�A*n�D�
���
�O��c
+X�w��G���hQ���7�!-�7�Q	�Eq�r�2��
�������B�rgj߬i�24D�p���z��
+^K� ?-.r�bn)J]�!F�':�g�ɓ&�}�&�x�U�>��¾�;�.%,Y�F4w��j�:䇺N&��C�7
+�p,&�,�F_=�v�:�,�bo�֙�
q�=�$��\$�>�ɟ�$��'��r���!lK�k.�r��|ihY�ӝe��XU���b�f}�ȼ���
�Y�
+�4�
e�5$]7���w���kU�2嗸
�UZ��
�0J_��l�Ά
"\B���]�y6�J�����[�dzo�5�\.$��
j�~�B�����X�n��/�����g�Ɠ)�k����.w�~-��U�+�q�����M��6��
m��S�1��"��iy�AW�=�K�\�Xʵ�z/o��y�$�
�[��zP�!S��çq�x}�w��e�Ӭ���W�
:��_`�F8�{Gڲ�J��Reu�V	��w�qi�zÿ^8�������C/E�h�����Bd�������%N��Uk��LC� u�1I�_o��Ҕ���/4�C�Y�Oz�("wk������~�F|��@�nĞ�.���
+���ڢW1J�K`K<��bǯ�Y�Q}d�c�~}�s���z���FX�� ��ί+�&��x�C����.w�D��
	�<H
+�׾3�wn����`6&�5�v����?��\J\��Z3eÕ๒�O�$�Y\�/�,pt����a�h��F�MX�5�$c�F M�u�@��Ãc����J;
Z/ʶh��]^P��H�	��|�P,�q�r�Ȳ�^5��Jh*r6��"���&�������1��N
���$ʕ1��Iٴ�R���mb�-5[�e�!͟�;��Ս�t������~�Rk��E�W�4��2�֘����^m�N/L���*�&��o+eA-��������'۸`ªo`
>���F�ފ4�������I�U�M�Im��ϸP���s�"՜�d$�	�f� �	]�͝DC����ϗ���%�k`��ǽ�&�X�њ�M*	�V´z�@����������$B�����;�F�ލ�b�ڵ���W%�ܣ\x��#�����T���}y��	�9���O�*屪BM�B��<�k�p�]��Ϗ^�7�1fY��<���3�e9NE�j� ����8�(
�\Q�
'�kM�K�ҋ�s���!�/�����
\�-��m�D8p+i�
�V,�4*��:�
S�9�,w)��]X<zD/��;���Ќ+sze^�����8h�d�
�_ �:���gs T�
Y���u��q�1��S����G]
��%S�E挦��A�)�=��^
+s{;����G�i��"C��]G;�$z=��պvsj���~��'(����4�-Lp��'�O�u��䡑`���G����#ͥ���ŭ��Q�>g�\ǔ;�4)��ϟ���-��Z���(D�f]GT��
�'!�S�p�9�#�P^:�kN�
��-{�;k�{��e�dJd�$ f���}M��IJ��9���lg,w�����7pƠA�k��6��ߍ�W7'�Q/�r{����c�(on��V$����/^}|f�F���
׷Kk��J�������H��F
�-mg����JX���k8�|��r��Q.��.wo���g��絤�g�1
��K��q��*�z�F�o��2�0�|uA��7�����do�_�U
�Q
��\��(��u�S�0��@��xS�Wm[6�!g��&f.(5͐���T F���r	1^2�
v�C8j�%��4<�HTls�ދ�E̜4��aw��I�n��ᕨFہ*��_P��t�>O~X
S�x}�y
y�Au2�`kP�F��(�|Mv���f�ig�&�i�
OϷ�W(�
H7�� l
)-m���/�?����F�_
+4�0Ozc��	��4��j[}�A���?��.n
�^w�|i�7��d��u9�
��F���\*��d
�{���$� ~:���'JA��\3�ykq_�$���n�v`�=Hҟ
+O�v�c�ٝ�A�BK葻+	3
+�XB~<�����ch��$o���~�Jšc�V.l!w���
��3-�Z]�U�?�=��Bp�
+2u,W�3ԋ�,D�t���#a���њ��#P`�7
o{�U���U�u�����#:�z+?5vɂ`\��� �s��� �
+p\�g�t�=}M%��:�{���(��1���p��]*9���⻤���o}��C;����Ce:}/�#>~��,|A�D�qV�.��2�Y�M��K'�o��>~Z8[-"-ئ����\���>��NkEJ'~��^$�
wCrBs
�KrKW��pI�׭!�i��8�U��+$~z��
V5õ
� �f�$�
ѻ!|Nf�<Q0lNZh�.
�8����U����->
{��y���ّ�&U��{OH=N8;E;��Y-�䁄�-
��J��[m>K����֛I���Ԗr�_�FR<���ԻjY]�O}����W�	
X4P�Uws�g�iAc��3�z�U�V��W�1�6��e���Jk�����J&T�G��"��H���<����oTh�'�Zڰ9����s�[�U<���,�<+��~��c�[:3r�NouV���k�h�^�b�W*(6�e7%��]'Gq��}�̏0�qX��?']ar,0�օ��"�����
�
|�f�(�f���5,G�e�7
� 3Tu��-kg�tƉ}�X	P,��҆�-M���s�v,�߬���
���
���)�^\]�}�Lx�����Y�u
W�A�
��N�AN/8�s����
�إ��]z�d���o;~͚�ŏ��g��~G�m��N�Q�If�9��6��QCx��@@��,�_���h�>���UR L��;�h U&Rf�3�xNܫ��a;"�B2��np�z����+Ю�Z�~��gݒ>��EN��ÂҎ����Y �TΒ~��	;jw����Sb3l�2vĝ#�A�&I<�cc
n�޷1�g��8MDK��'�ң��X�܋z2���:G�!��S��k2
��|6\
�Q�.D k����	��1
��x�p�R���Ot��D/R�b�`͝�uX!�
+�{\UyT�l�e
NX�&�CyfX"uJ�!��^�F�2`r
$!I~
�e*�����V�o]��#��<u�F|!�t�.��C��vW�u:r���l�^�/Byڈ�����l)��M'h�hh�
/��H�3Ǫ�2Ѽ�

j�k�a�]
���'�-Ǎ��G��HΓ�`D0��IMM�<��r�m�v:���^j5���YL��SZ��$:�ͬC���W�Z�p<��F�kG�{�
U��2�P�~D��Md%���6y�\c�s�
�9�g���|�]����'�B�S��}�D����'7+M��%
 b
�	�g��:X
���8��1�q(�cqf"%�+ at d�0�W���
o�QY����հR��w������&��*?����,�.��f���e逭��"��_5K��̻� ����g;�^��M̶j����&�W �}^�Pڦ��[IG5�BF-
��/���n�g��/n�/�{w�(W�H�)��T3-����j��0ĥ�e���.g�%W���y������aѮ�VE��T��	�PH^
.l�w��
i۝;��I*b�6)n�
�{���kn�f�u-.)dZ6��R������>0P\;7��������p��»=�ǽ^����Vo����+Ai�On<-Z
�ob����Z�f�^��,��9|�	��
ȳۉ]��f6�>ܢ4�� 91C���5^>�ZSbvw�0�ۦ�
��ݣXt`;�?��S�`�=���B1�F�;(g��*f
({
G�
 	��y�H�ȀhgJ��
+��O�,}���d�.���n���<hO�`J�pj�=�?<u������^X5�[�\�V��4��z��M��ǁ���䝜�b�QdQRl:/<cU��J�`#Q���h0u�
-����,�ɢ5U��{,^�i0����5�z�'}�iV��ګ����r�h����P�~*n���t�&��XՆ*7\V�$����z
+endstream
+endobj
+3369 0 obj <<
+/Type /FontDescriptor
+/FontName /ZQLTBN+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1251 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 49
+/XHeight 431
+/CharSet (/minus/prime)
+/FontFile 3368 0 R
+>> endobj
+3370 0 obj <<
+/Length1 1463
+/Length2 6796
+/Length3 0
+/Length 7790      
+/Filter /FlateDecode
+>>
+stream
+xڍuX�m�>
N�	at��n�AR�6ƈ
�� �HIH�"
"%-
"��� !�H�ߌ�}��������
�v_篮���
������F!�"� 1�����
PLL$&&��@`�a` �
�A��
+�������8L�����@}ow��$P\FA\VAL
(!&&�w"
+� �� �@#P��a <(O4�ō��� ����
+�*�y��	4c]`
���;�
A����h����z*�������

+
W�"�. at 3���A�?	o�=`��� <@
�7n�r����0 pG@`H
��	�����@s=C��'
�;��w�0��� �A��j���g#�W1Ayx���$
�p���
AX?�0���L�cP�z��v�%��9��f
+�������X
�p�IQ�g�)k!�(��ܟ&
���_��ͺ!Q���?
g�����S�����i�I�A�cp(-&/##%�ya~џ�-�=a���?a
��@O�'�G�p��~ ��
�E{�3��@\
E@�@'
���;�9�^�.��ډ�'���דN^P������WTS��L�J�7����Q~�@I1����4P\\N(++
�g�
����&`ğ͉���
����wx���#
�?� �s�-N�0 ���o/&-�}���
������]�7�������������0����''eo,�F(�9���j
�me#����Q=,g5$
'qq)���o
��F���&,�巐��
+�
wf�� ~�qpUbb�ù�{�`p�+Ù�s����$�e�`4�ÉL��@q�M�0�_����(,���
tF�?�U\B
(
+��8ڸ�L�o
����$P����`O���ŀ��+r�	�co4��_2�m����W
�� �M� ���u���5j,�"�GH?�ǥ���Jcyg�����Lz�߅V^�2�}=1
�"�}<�gߙ�!S�1O�wY}G�`�d�c����c�Yq���RMoP޵#��{`=}
%�%�V�Z|юY���z K�82Y�����7	l8�?bm쩒h�v�-�,�.IGꭉL'��vIك

���z�$w

��e*�i���9�����S��0x��҇�2R8��zD�~ �v���o~��3������ݤ�A��b�>;�/
v��[0��F#޺[ I;]�����H�Y�.�4 eT�Ժ�$�lŚ�үAIFQ���~�ٯ��լM
�U�
+)Wx>P9�����}��W{@BYC�p��6�"�������-x&��]�k�0�5�[Э}���ԙV1�J�^
����n�)�?秸����9v��$"�`i$�y�}�8C��3wM�!f��Ҋδ��6�'�G�J��}\s�&5}���
m]�T����ӶA�0C�2���}+ap7���R�H��/�ݳW#��7�y����)Q4�

}x�H9r�|�j���^Bx��e(qw��K���=�_�$�6�>A]j�aq��0�Sd�n���4;�������x�p��^%�mQ�J�����t��i
�.�a�?�`���\�
�
"E������R'�;Y�O&�ڤyf罃|Z�ܵw�'��ʣ��&�&�L�M�����*����.܃�Q9=Qe��
W����g_h��.���M�M�㽔��;v�Lm
�����>��6�-Kv��p$��0�x�@,�KZq���b�K���e2;t����G�t\@i���(s����tF�Cٱh�Y�7u�6zөX���wDaJg^Y;�����h?z�ԅ������뿄)�Z���P
�d�IM
+�������%�

�N��fQ�2�y������?05	�d��C���_SL�dr�~�t��G���b�X�
I�����IӢ��Cg��'R
�?���Y	*d����x���ތ;�
I!u0�.���L%A{vL�&
{k-V:�}�4���k�|�¾#��]�B1DvJ׮_�qp�n`�
L�O��? �W at S��Gٚ��H�ri�oa<�8D7�
<�R�eX�o^�����ɠ����s��m�Zt�s(��38����;+���J��m�>r̞�'�+-k(N����nh��`2Ag
+��ĖH���m2�c�C�
4[�6
�m�n>�o���JCy
+Ҩ��
8M�(=h��#�%P�an�t8�!���4dʹ�_ɿ��1q��6�8`�\��HQj%��q���7ϳr/uM 
%�l��
=���#�!Է�Nz�5����f�4�n�����b���pL�l[o�x����#�g�����xHw\q�C��6�;�1�v쟿X�ZPW�܈u���U����pyY0��gr�g���cv3|�+��6�s?�*���Q��
WD�
M�I��J�0������3O�
8m{�C��Lo�����si��^�/�j>y6#�[����.�Y\��8��G`-1����Bm�)�=Y�����L�
�#���"#M	�	ֳ�bf�T�K���Q��DjN�e�"���^N^K������{c�m8ض<DMgo9���u�$l���Rt��a{u��K�
�人>�͘�uD��~H��Si��k2�?fR75g���J�f'jm�?���
�����dP�}gv
�j�+��\�r�	�lNA�8��̈
�K߮2x��|��9�s=
K�G���+��
n���ɮ�˫6;ľ����%]�z,���ۮpEw�G
��8A�� �
��-��o'����~�����
d�}�
+�&�-�y}�&�A�P�}��"��Ҹ��Qu
�2��%qmnZ/���J���n�
+W
+�1WX�ۥ�@Å�
:g%[���
�t"X�n4ߡ)�uWy�._��Ǐ���
z�|ӢXW����A�hؖ9�̺��_�/K}�{\��*K��������W/�9Y�Z8��MXI�|�D�u�g�_
+�w�
gɌ
�_&R�1a�p/f���d��c�apQ��7���
s�	�����O�<nw�]�g���}۟�ĉ
V�i�5������%K���+���a�
��	Fi0�E���o�J��xH��{�7B�{�����^��A��E=X+���i�j-F��"�
�?k�L;{��
���n�i���-a蒲��0���
�b*{��(Ke�'sh
|�V��:Ft�δip{�
U��5_T2	�}H�mMBn��4ܬ�#C�p_���"^y��ce at hőKfQٵ�
�e�J���,!����8�+o^L��â���2��Ӫl�N?ʿ��J�d��$�ɯ��h~�za��\^u9	�JΧ��Њrsg�:�P>��F�6�f�P������㪇��4
�����q���i��y�|����;�p'�u�A��Xc/~h
L,Hyska�TO�(,CL���16���ׄ���tk� ��C�걻?�*+�� �
gYT��2&ԛ�G荸�
+䘳�Yw�:^�
ý�5���cU���*ZOA2+�.�I
$*
Q\v|�t˝N������U�=gõ���٨���O����S|�imGwDf�
^y^bqZ��2��?��ĊJx����)��
Oo�hN9�5:�,Z�u���/qY0��~w(X���qrh�E)yFe�
<�@x�4��8]'�� [x29BP�΀�Ǘ黻�
'FY1�kMEr����̢����:.3��)����I4�D���*�C/F#u;�r���$Z�����*��a4@�٪5����Fn��o����c]�W�xx��H۹�Ų�G�X��e�'Ɖ�	%6
+3�BK���b���@�1}00+�s�n\� 7�х@x�\V��KÁd��سRq��i'u�\��.�
(��u/����B�{�`}�!�a`
5e��g���e
,bo~p|�<���EJ�}y�M��V��1bI��_ZHn-O���1VƧ|G
�i�yz<S�yw��҇
,f~Q&n�ۚ
+������F���M%S�R�
p�>�
+ֱ�ς/#_�>6��,jYl)}�9SV���G�s�WM�������(��f�����	����z�S�˪6���ό7�&M
�,�����3X�{��
+�Ca��d��4�'
��N�x����>����m�i:��_���y��
,��
�g&T������LHg5�N�5��X�����@��؍F����'�*��3�dfk+J������8}���.,�� �?�h=.[H�I�
7�4W벜O��ߧ�Ԝ����ai�n��e�
���ٕE�I�qf� �� DSDS�Y����)pk�,]��ޯ�%�I��W���_�v��RpF�[
+�*NP&��\��DG[�۝�dK�Ѳ�a�B�^�ب߸�8���k�O��B����P1��
�
+�����(�c�[FHV�"�(���c
������̈́Q`�j�Mѽ�Ϛמ�

�%��p�қ�]p'�U�%\��rs���g��H-�}i�G��GQݥ���x;�MmEȾ��7݂�������)�\�-��(:7K.�1m:}[��q*7�1�|��.�o}�_�����4kZ
d�gB�?�l
����w������Aq�Jƕ�������d����WA��{��'\D��uxGNE3��0C�B�
Z>3��}�=M-��]n��=$���ˬi�g{j

+
+s
+��\��
+P���
Sn�</HK�

������{������/J�(��;f��Cw-s���31�.�1��`�x,s�FG����ȋC{���c���̵d�l�H|twM���|5�{�Di���a���G�v��7"*��|
s��z�:�5�O��Q��`6Q�y���<�VZG��)��(�L�J��
�`b���{^�ԞV/.,Y� 4�W��_�k��_�m1GU�GK����
�g�
�&$���5
+���pZ<K�׏1bݸ��S��I{�A�F�e�&�W�@���6E~TN�g�� �
�֜��u�k—�S�^�������~��dVE��C��j���9g��kϘ�W�';NQ���V�����T�^4<��]5""�\�	������ ��c�k�#�
�2�1=l�%�� ��s8JN�j�/ņ�nH���Ӏ2'�t�
W�.�%|#�������[���#�o	�m�6���=񫆣�0��o^5]��(��O
&:�2��a��"{�Z�敏�1��'�
�����V������,E�
&�����X��/�r���p�g�Vn�z����C&H��;
���#��FR��{�=t���
�$q�Ӆ"Y�lS��F]��^w
s�G_��.�I�1�v�/
��B��x��hg����9�d����$�������f*٧��A�
e 	�Up|����dpebh+�n�OR�^@pR51͛��GV#���kx'����� !��<����@J�B.4k#���L%�����݇�rn%i�_
�=���
~=*E�j 1��q�z<��M��^�u'�X�d�pq�
+�q�QVv,�
+��EvK�4|�?�2�� ���_QKv��P��C�N?,x}�X�C\��9� L�n�&?���ڮ��)��+����
�4�� �
����j�I�7����
��y_[c#�> "fr�����K
+�Wc��D
N���fL1[M!����c�y_�&F�wW��+��5��T�l+^/l���}�
i�`ً��F��^iO�/V8�@�����g��
�ݙo���n��
+s?�ۣ���W��-?|{��/����D��f�p����i��&�
���_��k���l'.l���Ƴ�|
�a|0�;���oo���Y��a���w��4�'z���2de����
��n��nr��������RxLDŽE�����g��K�L?>����P�
s����y;�a�l�0��]!������\�
6��ʹ�c�r��5�wb�l�"��0J�s���?x�Ŋ�o�
��V�������[�zT�*��}��b�.ɢk���������v�:Yu���Eϰ�[�BW�?�PJE0}I��687
/�q��pG��,~�7�<�d����Z�^c)	^�UՈ�m���چ�Wg}��&�K��V�]
TvKZ���)�B�r�lN�ܟ�Zr]���)D_�{`���>��%�
N鯑��
�/��׬{H1&��i��N
��Eo����i��p��	��*E��ϘI�"��*�
��J/�4���y�Vp���akup{��x#�S�v
� ���,�`��'�x��2�ևo^F����
��h�Y�L����*��0X�I4�_��B�	֣�k�����r��U�+�!YI��T��������m1��/��\
�+���I%���aX���k���k�^�3
+)Ӈ���
�
�3H�&����A�q�����l��}H��&��;���6~����Ʊ�y��a'����
�g��j̔��wRȔ�vDr�����5d�:4~~��S-�����#�X����V<z���jk�o�h�:��L�$#^��/�
j�8.\�%�U����<���&�H7��/�&hW�ҵ����]����5b�u��
+r���
'�9�(�(n��_��R��x}U��ጽ'��Pe���ni�dؼJ���D�N-͸�Dj��u�hE;����&U�
�@|sf��X�	;� _I
����Б��
�������B�
_Ǯ�Z�}�E��b��x5+}�����x�d��%�YC�iP�
E ^�N����`���h�>�=z�^�mKV�y�[0s�%�J�Q��8�� `my���r��
�� 
G��B
Y��6C�_��vʩcDONX-x��.u�
o�_��
��4�	�m�7�J����S�!
��D!C��1_o�j�
+�B�1�`Pu
���fw3�`�lV��v����I-�Ur�⑲����_68��Ig��>a��IN+ܶ���y�����늘|��d�$`�}@0z��Pm���|:bz{�wә|�&|$LQ;�R�zmu��^D��e�
��PυwuCц�h�[+�m%ƫ}��Bߓ��U�7
�w� ��3�@�E��A��ث��|7��4��V-<7Nk>S'��J0���QGa�r9�>z,V�uޓz�T��,[��_�I6`9�H
r��&B��<NPXHP
tW9��
��N��㱢
E�s���r�\.|x=�f
���
�=t�e��F�w��C�3�Βx4Hv
��[P)�����)���/d����孤��2mT��f��Δ+��T��`����k��j��F�E���'�	5���|�7���cjac��!x,�;�8e��Z�?
�Φ_�*�h�����K��d\�cxN}P�Δ&��ԛ��9a#�no��V����W�I�3��o\k/����k�
��nmgOm��%2_X���Ũ@tE�>EJ�%2�xI�#��!4�n�|��J���c"�$�5�ы	ڬ�p�{�
K�~�\�c���{�
��W�jRS���9H�����ܷ�9�s}�x�g�%Z�#��B�#�u��.�
Z����)Ց��)�
+�ݘ� �k%�b��
���%���_I?��0h!OV���[���U�݂��6��w)��)��NM؉�i9~?Ts�$�kg�>�?{��a�槮9��|]�TU��x��rE-̐:H@���i7�û)�V�ճ)��W��Y�8��R�
+�z��6�j�[}�8䫓6|��ܨO���7�8A�@���E
��
��t�i[�o�0�2�okE��)���5u�ɽ#���Imަyz��!�v�5*:
+@
���/C3 at L�#&M[��Q��HZ/���"B��hkw�<���7�a$}p��� SZ�
+endstream
+endobj
+3371 0 obj <<
+/Type /FontDescriptor
+/FontName /DFVRAV+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 46
+/XHeight 431
+/CharSet (/dagger/daggerdbl/paragraph/section)
+/FontFile 3370 0 R
+>> endobj
+3372 0 obj <<
+/Length1 1439
+/Length2 6459
+/Length3 0
+/Length 7435      
+/Filter /FlateDecode
+>>
+stream
+xڍtT��6
C�D����tw
+�tJ3����mtR�)��%�HI�t��(-����g��������;;g�s�y=�u?<��F���=T
���

� Uu�̥�BB�BB" 

c�xL�h

���_�h(���@X���r��E��2’2BB@!!�
�h��� ��(���Dy�a�NX\���������Ғw~��]�h� ꀰNPW\E04B�aP���R��9a�(AAOOO�+F �vT�u�	�:
�(�
+�$
��B3 � ��`�߸��	BC�8 C\�;EqŁF��@=��Y���
��
+
�'ݟ蟉`�_� 0�!�aG�
�k
`��w� �#�A��A
 
d�s��9��l �����a(,F ���(�3
��" �HWW(���O
���q��-�{�.�'������8�$qG	� `n�PM�?.8���Ņ�%$ą�P7 �
�$�3��7
+��(��1��E!Q@
	�?����b@
P ����߆� ��@
��C
a�?�q0���7|4�
h)�Ӟ0P���?��q� p���WP�B뾮�_��Ǧ�����H��ť���b@III�������&�
���4'�OFM�(��������G|V���t�8-C�|�H�JH\����^�_!�7�������7����2����f�+
���'ew,n-t���@�����*�@!0w���jbA��PF8�$�/,& $��a�a^P�>

v�-��G���!��H
�狃��/n��.�W�3+(n��]�.����>q	 �y�p"�
+�����o�� �Ņ q
��H4��Xqy�p��
�i����08�(��
7��Q	� 
+�q�!�1���vG�q9~�����_O��> ��!�u!-�5�,��_�Hf��"��{�ű7's|��I�j����A*R�?���}�c���x��������{�X��=�*;��}'��
��$��dj�"�v���%�%o�ه�P�Nѕ�傋6̊���X�3��D9�m� ʜ�{
�onE
C��Ls7�4� ���
��D3�x/ZƤ����ٛ�Tѽ��]��atL�|�8�z���i5b�n��W-M���T�vs��Nr�l"�ͫ�^Q�G]� 
+�������
	�R#G#a�D=�FRY�Gh�
}��F�:�e��\�U�
��j)�,��gw�;];�ɭ;�O�?vD
�9��^��
Wzʴ8
Ὀ���%��UL>얹��)�]�0!�M���c���3��k���c6T���v�Ә}|���T� 7Ht��k�)�ǎX���O�𞰡����졡��j�
YR2)�^��CoP�z�kZ��__^��K�;gz�K�=d
j
Ư�٫И-����I�cȐ(8�6�%���7�w夬bv�}�W���V�����Ƀ�����
+mT]��
\K�]����7��g�
/�f�,���0K���{�}�L�STj�
Vj��*��I���W
��=V���mAK9�/Na��([����\��F��i�%v%x7ӣ��=��
��v�g��{����f%3n���DM����r]K'
���wR�/��l�}ewU�]ͅ�a�fu�s��k1}
+.m�~׷j&�[~l8��a�u�����
R�^+�\Ye
Fd\��<_��\�'��D�-�Y�߳���P����#�%�Ȁ�Z/ep�q��N1tb����
��k��`�������J_��G�_�y�����!t�|c0�;(פ�jo��mq.8��<�xW�q?���;
Z��
Bד��P�k;�!�Wyw��v�%�mO$��P�	c�x�c�{]6�E��7'A1_s536�bU_��Ŵ
+�k�8l*���
#��_(j]V.��W*�j4�����(('N
d�B�5<Z�;��t�u�����᜝�	�&�&�Q��Ll�i�UJ�*�I�7�Ǔ���o�9أ�u.���F�S$���k��.5��F�혔1e�$j
tE3�}����{z
��^:�fap���f�k���TLŜ)�:(*ӤVbG�(^�IK��NB���ϱ�T�yI`�LJ��:~��؏_�5�������s�Ƨm�26Y10�٩4��95�����",��
������͔q���s�.�-Zܺi�" �^
/��v���G0���HW{�?^E0�(����S��.��Q5sH���u�ާ�>D��G����c�/֬'c��.Lw�ExA��`��f$���I^�ש�n˵�9Q��IV;G/9�
+�́����_�*�
$�͢��
M�nG�ma\��疪|�z%����zk@;�\�<{Or�z|��G��6X�a
ws۲��&Kv�_8�Jm0�Y��{�H��3\k~�l
���~�I���W�a>s
$��=fU�7;�ىL�r�Xb7yv  ���oX2����nk}�d�`v���p��)��D{�Ɯ��IG-�3��2W���󪭟Čdpp�����#��շ[
�P��p��,j�7#?��B��,=T�
ׁ��cm�
�T��h���t�#%��M�Q�8M�h�%���
��KC�V�>�g��!P��}=��y�+�t��ȁJ���O*�T ��m�˼W2���~�R]-yМ����[
��Q
�I�(_k�<�(����H�(a�>��
�H_���
̴��}�nnM��3jW�AgR���.E�Ԃ֚`R����i�j�c�׉�eZ�
6.��1{u��𩽧O
>ud歗�
+ʠ����
no����%u
ro�MT0��L\K6���.5�6}��-���K�-~������r��`���hgڶ�=r�T5��bXP}b 
�0{��!�X��*׵����}�؝MMG{Rtd�՜ґ
+׳���F|�p�^/�,�(���a�[�ܳN�	!�|aA��J��L�t�z廮�'

^��$��Uf5�xQ�J^�/���Mj׻�Quj�/��@-;Zҹ�iD��(����5�ڠK$cZݮ�����V�1��,]���KյL��

��'��5�31y�
?�t�i62`�
FyO�EJ��G���[g�%�c����=�a��͑��ǁe�|aX�B˱�!o�2B'�H2�b�g�\>��c����x�G:�LsRM�]�K�3�ڃv���l���:
E�}��dlݓjV�#�N�ݛ&jv�92�/�oս}�6<d�%��ҳ
�@��UW��Ӿ�Jx�uz��$�.6R.-a���a�?js]��� �т|��8�%(S���9���''���@��9&P��[b���#'}fQL�
M��OP՚[���P��i�����oc9'��H��i�Om�=% v�=H�]re��k�v�����mA��
W�KɉZQ���U7�B����'S���ۦ�X�\&��3/�--?�����@M��-y���Y�wc恳��xF�d�>5�2�>e�4"q�)
n��P��0��#z�&j��߀���«��'�3ǦF���H���c)yP[\Td��S'���e
��db��Ű1
O��j�=�X�Nx��`�%;��~���P|�5�V�Fo����'f\f���o[Ps9��	�����ߊ��� dW)���_�B;:,)=�
v�W���=�3�=�C�%��v���|�Tj��0_�0}.�(������la�I�>��ǭ�<
+|l���Zy�������K 
��
+�
4��_�r[���R�1T�jzrh-nd�L�ғ�c��ѹ��
+�Fsױ�;W��Y�Q�3��EB�����U���Z0@�-�9�L�H�����9
+O�[�(m*��du�Y��oX
j�/{]KeA��?�J��$ 2-�v��>�OA�<
�f��!�dhQ�.[�2o����
p���+N9ע-���^�ob��o+n�5��i)�-��L��QkĨ�P�$v�p�jp�)xPȭ��ڿy~îO{�_�	�3��>mA�=Ú��v�!Q\\�
G��.�F�&�o�W��
{w���R���mF��5��Gc��E�!�W�K�u
2�nE�wt��V�"bj�Hw'��do�
+f�>L�v���B3't��R�����m�cH�!U��ӝ�2��ؗ�b�T]I:C�M�S�tƍ��@0"�
�o����j�2��q��nG��8L�$Mn�FXc�M[�~�mF�p3�}?�o�g�9�^���y�p�>����s�*5���D��#������Q�j��ً9wFq�[�h��nY��w�C��>Ӎ���]�V�1E3z���a�A-2���|dp8Fy����R��k�����,���`,��]B���I� >�'tV��K	^W����A�d|��-N5���*��Ȝj�쁺��}�R!��ln6��A�
����,k5᥋�
�\�2�gO梣�W���"VUKo<��R~�l38J��nZLϹ���
���w�
s�—�X�բ��[�O���<�^-P.�n|���*�P�k>/{U�lJq��
+�{�x��,U�
+�$�� �ɫ���'�&Ƿ����f��<�+z?�ܯ��F�k�
+�\Cw�X�izF��/�erUd�m�gT���A>	��?6��T��0rl�]	�D.H��hɍa����`��lf�c�O�dG���
A�Ols>��
;$)w��)
O?�J��L��f��.��4P�E, ��O�X��
�d�R`�KMZ�fH�D�]��/+h�������Нn��f�ᦍ���L�Y~�s�NٍՉ���w���Ť�H�ړ�*#�FvX������j��
ؐc璘��:��o�q�<�����Z����:�,�_樂��u@�OڢH �\1=G���9I�+$�������[Y�$1W:ّ3��
+ at M�(�� �ɱ���W#�~B����I^�����=���c��������f�f'���|���y-�!���4Z������|,�Ad��#�����'��/]|:DI��â?��*|WN���A�H>��z��z�2��@�5�sWì��yV�l��b���"�-�u��ūQZ�	�/ޣ�J�j�q$
n�}oh���=[ݞy�7]?���)#�X;>y��I���eB�mɓ���e"��rhkpg��#/��`:=Ì�{�1~��.���{E���ū��O��
�D�ex�p����s�� �Z]��՗ƻbonu#�`;[N�t��zҁޚ�*��t��f*��™_��x
Q6�hW0��!!�l���!7K�K�P�ƪ�|�#M̀J��G���
{�J��Qc��W��7Ɂ�N���6F|���W�D�.��Tp�Br��y��%�D�>jT!nW��<
����4��k�>�+�-)(�
�����ÿ?�}�̗ݔ|*�^%t9����y�L?|C5��%����u�@h�D�p=aZ
]�
Q��x�����1k�["��k����ə�� @����Na���qD�(��6��(=4���4%X
�K����v`cV�1�m�D�
c{͒ e�H�n�ct��MnL~5ɱ0�z���Iz�j��L�^�=�[�93@��,h\��i�'p�C��e�������b�rD/4
:\<)˔�AŖ3�Q/��$�d}�{�0XUy�����
�JM4��âPHH��w>m�4�ː2����
3d�K<"'r��6�T�������:�t�Ì
C�򺼀��"�c�J�A �@/5��~�^[m�)�*
<�k[5�m�O�
+��#d�X���""�Cw"[�	>�v�5I�匉i�M9���fE��
+�v���c��7`���v�C7��"�m,v|Jb���sD����
X�)˷x�˽�0��#�O����V��h�H��P����ZC���^Uۓ�2� �{��<=i�ZT���L��Fm��-���ª�t��#
�b��j�X��� B�P�
s?��
�����^��	,'F��K��|_�MTj{�V(I�3��'���Z��*����N�ڭ�캞��N��:V����+*
�K��\�3�'�z=�,j�["+E��
+��.B�55�4G�W��Ju}�|�0���Y�o%[>W
�(�~ �yQ�d��9vh�j�·#1,��h_r�t���':��%Lf���Q�7��,ɦ<��J��!�F%s���8���^�ް�+j
�]il�Y���b�8߶�
+�0�4Ι
(�
�

��ؒ�����&�b댡�8J���#(�t�מ���i�M�P�Ŕnk�f��]y���8�C ��{Lz�	�^IE�\^T�<����K�
�g�8^�?�e$w�NaH����-��o�
��Ȑ�8ɸ��v�Ω��'
�B��j܎�Z8
+��>�<j���`»�[����p)(�6O��3V.�k��$pe���}�:
��ݫ�}_>�Y�_��~/3���
��e�P]�Z�������i1W"��iO؛a1�V���e��G�����r�D^uJ3������KW֊��I:a=Ke�
��H!�^)�_&�� +�5��E Mz� ���[?����B��X����m^�Z5g�&#�VD1�Q�.�|�}�䢃�
�}]�\�J�gHm��u�I&Nת �-�OS���la�r΀,�N:�z���w���U���Qc������?�nf�u7��yQl��E�6ۼg�;S"L��)���~�q�����#9����9����X@��.�4�AZd�����7�_�o�x�'|i���3��*���S���NM�WMnn!6��%��������x�JD��2vr{����������Ƞre�8Vw
a�{��Ϝ�n�[XQ�W�w�+;��H[Q�GGi=�Sz�֬&wwJ�A�
��L(���*:�O�HpJ��im��Ab?6��7�V
��) 
=SzV�}�2��,�2.ep��E� ��i��{cn>>U5�?��x�$�Y�9IkHq7�ڂ�o���
ϙ�LcM�K�Ω]Z_��LT���X�}ŚlBTi��
���r{j
y�<�e�R4
�|�q��si/,�]J�s;ɪ>�~���b������Ba7ܔ��[s�RG_�&���]��d=�E�\
��%2�E9�d�Q�)9�,�y�����A[_��O>R#t�����GI�Wy��)4�W�(U��c�hv���(�49y˦�)��
]�

���۪m�����H��J���{�Jo7�ڞ ��O�l
��T�
Xf�-
ȟ�\�x>�":�Ե�r����Ͻ$|m{l��Vu]Lf

�M<u
+6���M ���|�P�WK�HR�|8E�Y��!�u|2���/��+�:�n���פ��+�g�J���6��!�Ҥ�E\
3=�X(�33�1T�|t ����n
�(ǚ�ӡnn
����I���P�uռ��b�-�u}f�X.��y᷐J[h>šΡadY�^�Q�Z�id�����B�I�9��.a�Ώ�#TY4��O�7�"�+�~��m���|��fC'��{��~r�nͷP�Z�|D����%���W!��W
&�ʪ�hi�`�n�
+endstream
+endobj
+3373 0 obj <<
+/Type /FontDescriptor
+/FontName /JZJKNN+CMSY9
+/Flags 4
+/FontBBox [-29 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 43
+/XHeight 431
+/CharSet (/element/lessequal/plusminus)
+/FontFile 3372 0 R
+>> endobj
+3374 0 obj <<
+/Length1 1430
+/Length2 6367
+/Length3 0
+/Length 7333      
+/Filter /FlateDecode
+>>
+stream
+xڍtT�[�.U 4�&��C�JG�H��B!�BB�ޤ"Mz�қ�D�R��KW�+��x����޵�]Y+��<3{�=�l.v]E;�-L
��
�e emCCi 
�E@\\��3��eC�#PH��PF� �O���QH�
��%d�%e�`@
���B� *�
�-�C!a� .e��7w����/p
�KKK��N]`h��!�
�D(�0 at A0���Jܒs�`\e��<==!.�(4�6?��8 �0w�f�"
�@\`1q����({�'
pg�t�e`�v04�;
0����������ܟ�_����(��
+Az#�p�
�
�i	b�0� i�
qvG��!
�3���9PS� 8��C�W���;��E�_ep����SF����wЯ�Thw��BM�	��D��1�H;�_$찮B�7,LC�����a q0,%*
�� ��A�WyCoW���o7����+��Ǒ��!�a���;�`�X������	
v(���H����0��l���/�
�Ӟ0 ����%N^v(�����+d��h�����bJJ(/�G@��D 	i)���E���7��^]�Ok����@ڣ ���o
Dq���� �>A�S2
���[���Pܗ�������T����K��ݐ���w������� ��� pB�bpK��­�ư�Yf����wT�-�"���5"��^0;]��[.W������^@@
��n۠N���
7��!n��}�*����u"� ��x��8q���>¸���y��5 $�Dap) ��`�B�~
T�3!�/�Sr���Y���ׅ����WP,�[��:������%���`P��)T6Ա6��i�"����;�q�5�
���V�w*�$����E�bR_���[G
+�.|>7Փ�7'赜��[�鏮��fF��.��X��Bv]�Pa�����(ȉ�	��
W�V�J7��Գ[ݫ��tv��Ԛ�z��&�y�@̃h���	�\��I�KR^�=/ꉣ�q���l���@~�1��>fK"O�M>�/7qog�d4c`!<�

��Q�|v�~ڧ�(zQ~:
�#�7����S��:*dP����/�
œ�tN��C~��
�,s���DuφF�tk��;�M?���kն
o����W찓k�̈́�}�̎��rX�*�U�;a��=����M��U��h|��/,R�
��CY� c�ev���﷟+�'��w�N'˶}k�;_��%��< ^�¬���<1>Fg
ۃ�Uh�*oŹ5�:(��j?��`y˃�q�����7R,ץ�)�
�� ��-�ʶ8z���ĤT��(o���f0�
'ɚ[;n5�
`N`/�(p�~<��Otܖ~2e�s at Jч}�U2n��=��)�K�2����{�*��+�m(�ɛͼ�����՘��
�*��|-
���Asڨ���.
�d~G~y6�i� �tt@��a��,?�W�)p8"�!�Iʵ�WN{3z��W?=���k�7�%��z�j��me��$�fw���4���`�W'��\ ���4R�|l�u�w��
+P��W��E�
�Ɣ	��xR���O��О�</�o�#pV'"p@�U��3�w%��Ѣ��询�<]DN�ڟ�*Egh
SE��Ǻ��Q-mGb����4T�yG�V�y>����LI1o��L	
+_v�Tt��m*��nyrb�N�j›MYO�Ի%��B/��˷�>���==�h���ùV7w��yu�`G;���-����	��(h��������%m����ʵ��gaԛ�Eo� ���t@�p�b��	�
��L�}k�%�"5����<�W���7�
[I"[�FF|�A�
�=����A�ƅ7$
֚�� �k�q����!��&={l����EQ�Ǽ��"��:�Q�վ�������Z.� [�^�G �g
�r�O��jt��,z-k�J���~fIo��q��M���h��J,`�����|��F<�I���ˑ�3]ao�U�w0���$�rQ�4Τ�zW�S����S�z�1s
������v��z�h�K��Ji���Lycע����t8�(<����~� ����c�X���]#
fw���?�dA!�*ˇ)+o��&���
���R�;����A����]u�
̸
e()���,�V�#ׅ}y�;B��[���I>D����^�\����r��^�
+��
ո���^p��\�,�Ŷ
�j$Y��_��ۆ��8�C��=`���
�n�][p�@jw�^Eu�
����Ӣ�>��l"�w���%:V�>�&��LѾ
��#�0 ��H�-L�Q>��;��g�
Y_kaۇHҖ�
�G���)�/
�n��|� ����s����;�w�_���'oH�ޯ�/�s1A�Gձ�
,&S��"?f�,M����(�y�0����-����:b��
+3fi��4r�;W)���H_�𑭊EG��J͟�:͙���}�˺�]"v�_�v'��d�R�R�\^�Hg��>�����?���N��x
>Z�Z�
S�&v� ��pɼKe�B�39���dDzF�i8X�T�Xz�p�"��
�?]�.s3(��^�rD�ݘT���G��y�j����#mSL)zGw6�\L2��9���{J
շK��5o
|��V�����î���r<��! ���^�l�H7���儁!�-���M�r�i��ϩ�R��

�z�Q���c8?�
o�$I��hg1M��ED�Ӄ�c���*��˔UP�k���0���5A�5X>�$� �xv9�+�����O�l����(]�e�
��H {����c������/t�gC��̵�Y|i
zGS�T��m+\�����H���d
+��(��!�W0��s_����=�jZAT^A��"U����U"����7|;=[i��
� 
+u
./��lI��R�y�%�H�C@������a�q��q�D��	�
�
q��=�j�/��cN�4��6zR�����R��\������S�����]�v�=#��K�weس��l���"}먲��c��Y���0��g��%�;�^��}U�@)&�`�᎟�S"���{JlK�&'��9l]+~w�#:�{w���yݽD%�_�cV���r��,�T�$��1��#L\�Mfo؃�o���0
+��9j>��-�74/?&� .5{��Σ*-�)Q����
 Ԭ]��S~��1lbn�`��w=��#x��peIef7��
��#�Ը�}�� ����Rv��Fy��Iph�#"����Tx�hiE�Ä��D��E����3L�/A۶Y�-_��� �xNNUU��yf/�U�n1�L��w�r!�*Kj�R�&xyS6?���i��A����tY�s��pS��^m�C'3��и�Lv%K���̷�ǟN�^�R���ko��	ռ����笄<�x�8S*���ܗN.�E�?��r5e �O�UV��}I	9�ы�^�V�Ww9
+���@\�
:T�i&/G����~�3V����R�}U= �@P\5��:�1�Ex{�*x�vx%��"��*�N�o����m�kO�����iEJ���-� ��v�o���".��/��L���6�Ck�<�lUC@:�'&G�ʟ�1���g���VFu_�F|�2�g{�
a6|hy$Ћ�/��d�ڗ�4��H�Vֆ4V�o�T�9a�Μܔ�K�
������hsjl�i0����H~��J�|l��BM)�)t�&�h#'����
8\�d���P at T��:j�}�ِyrr\��J��ʏ�jE�Eu廀��ͨFH�hȊHӱ�<*�61�h��	��i�%Q��,li�GZrZ���&-�Q�r�=� Z��Q�*��)�P��ڂ��Rb��.?h��|-eߒ�
x�+�26i���w���[`��#|���T]�cAǻb�~7r��Tg�S�-�
o^��}����0 +`�
�<(� KH�H���H>:9`�7g�ߐ��V�OtZf�2��Qߥ�g��Y�|�����«it���Z{Piڼ��fE�7�<W."�]��sK+'�����Xt��K`�#$66ى=�Q�2��������8^<z:�Q�	�.K3i�Bo�J��ʳ뭩#�۶F�����շK����
+
�/?;����d���y7�
�7����������ZBl7� IR�����0����ЧU��̐1u��0��Njtm.������R�3�x�J���Y��CnZG��7O��\�ɩ`�\�D״���8�}ْ�V%���<�Q�[F����
~��u��Bz�X������\,�}
�H�l�O�ǑSY��Ȫ�L$r�*�$�]Ja����a���
S�����[��l�&��-��e���]��A�
�r��,
�!,�min_�,H��i�^0�a�~�餻�a
w��"���

�����0�0���y�����'�/�d0�T���%>[��$Yt�Xe	���y��\����e]K�z'B��x [...]
+����as�/�9�J���n<�c��l�~�����tv
]3R������A}���0�A|�nI�A���Q�&���D�h��������Va�upx-�:���޳��$�1��S��]�W��C�
+��Ǫ?�&ݦ�{y���h�Y��SJ,71���ܭ!��v!�H��������3#ޔM�f
G�e]s��%���UE�f�/���Y"�]d�S?S��
�{1�ޢV4��СS?�k
=U+�y�59��
�
+�
>4�c�e�ԔiW�:��T�%��P1ۼ���4d� N�������S��EG5h���TҘ�g�Љ���d$���)�U��xwFv[
O�a�{�~�9�pN{>�	�t~�67
C[1�eQ�?����x���\��D���96IuRf�V��j�%��Q���3?��޷*
+Oو��d!�*;��
w��D��84�\$�F_�i�	��1

�(o/qB�gN�("��
q�u��j_�V�?n�
˖O:}k@ ���J��
���ʠL���-s�l�Z�?��9�ܛ�륕��YVn��p���q�.2�g��l���[�����a����+U��i���!i��$��=^j>��ϋ�v
����%.
���D,�6h�P�3���Q�w�i��,������ձi6�*�_���ܝL�:�X=h���I�Rva6"�<�F��9(�<��>Ø/1��a2�r�8��՚�{p����
��4��u�]��0�i���fF��\E$~7��f�=r���ljt�rVz$� =�ѽފ��1;7��A��*�������`�o�
5���
Ԇ�x����6ߒV�"ϱ a_I��d%��/7����+b8�ڗ%H�H4 �'c���zT��^d"2�u$�M���M��"��!2��%�M��g�Di�$�L��;�:���}x��� �:����`k�q�F�
�������3"�(��d���k�e
�:��k�	_6}
J$���N�)��O�<�I���L�#_�_����]iV"
�P��ѹ��3�ů����)
D�� [...]
+;�?��j1{{�N
Z�
�9[4U8Պ���0��
�D����鵄>7��)鎐��
+kT}K<����0��AD��tO(S��}/0>c�wn>
+��c��ښ��f
���[��;I<x�6VQDUp)B͙�\��;���ͺ�
��@��y^HͳhV���&�����֤�h����|�bJ��+�ҩ�K<�8�e���9�$[�V��9i���*��A��'��<��v!�B��L�
G�����SK]?e�=^n'�~��\�@��GcT^}!\͓�V&"�Z�p���S惰A#���
+�"m���l]��[#>��������|��
���/5ͷ��zטڶ�r��5��
�H$t�wӳ\i'S��\
�
��?os�&�p:qؔ@Qi���{ �2DsV���4��i��ٱ
�cU)���XS>9`U/�"}Yn��HN�Bfk���Ɯ���m5<8��L����	��9�'�����f�=N����0��ࣵn�7
��BL:3Һ4�_���N�/=ߴ^%�cV���� �Q�����$Y��v(���|q��+!�~ՠ����8
\'�ɘ
�I��
+!A7ME�!r�u�g��_+�>u�
��+���ܜBI��/�P[�\&U�?d3�kِr��Q�H��T�$���J��b��!��b�G_�ł^𬬊�c�4 �����Y��?�?uM�
o�X��U����a5�l�<.R�/�]�
]{p��Ms�"����/�K��UMB�N�y�W
+9�m�4\�{ٌ�˺��*\{�a)Z�T'>
h?�˓��1�������@A�O�I�,� �`�_��7b7e8���Е�_��a�4�)�ƹ_�kx�
�����F/��+S����{��|ޒ1���
+���ym�
���]�`\Cp�UӸG�
�Ve�e�1��������PB
��
�=W	RT4'4n����vQ��3͗"
�ݔ���jԩ
O>+X�-�N=
+F�ծS�H�2�W��
�5�~�'��Ȱz;����/�~5pV"*#rl� E�l�ϋ��%�#
6�"�.�Y�.&i�s1fc�hb�z�B�.�ym
����
u����d��g�Y~��^�)�!+ֻ��#h]�_�2�~"6���xԨ��(��Ǹ�(#ٔ�š�Z#����钄�ݹ��F��M�b
+:.�Ĭbt�,�r�t��К3��gm1���ц�D=���Q�?�&\U�r��s�g�S|.vlru�Y���Q�[Ϭ�T
��O,�������y�6RD(����!="'�˄�k2��������oB)sW�.S�^�
������a[O/
��dz3���\^����!g�FF�zSb�����&T�\�e�3p1ǢI
��VEH���M
'��np_
+��+S�y�
+E�����L٪e�fa��+^.�o$}Q���HT2Ҿ�� �-=v� 45�����\�uJ���|�mIǼ
!s����=)�!K
'�xdb��^{��((
+�̩ȬT~�k+$w����T�6��_f����?&�3�
+endstream
+endobj
+3375 0 obj <<
+/Type /FontDescriptor
+/FontName /YGAXLK+CMTT9
+/Flags 4
+/FontBBox [-6 -233 542 698]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 74
+/XHeight 431
+/CharSet (/e/m/one/two)
+/FontFile 3374 0 R
+>> endobj
+3376 0 obj <<
+/Length1 1328
+/Length2 2269
+/Length3 0
+/Length 3132      
+/Filter /FlateDecode
+>>
+stream
+xڍS	8�m��4YI#z��!�m��哌��y3cL�l��U~"[�/B"IZ,Q�$��$[�6!��?��������k���9�>�<�9�QVpt�2&ӽA<���B#P�����
�PX
+��)+�@l*��Sv�,�N��”	�<����� k@c��>z�>
+`P(�@:S0#Ad�X�i 
�lJgp��/���<�$5 ���Cs)
0 ��H�l
+��H"Rg:	���R�P�l�>

� �t����&
�) d�� �
,R��
+5Lp�@�e�3݇
Ld� �@�H ��
��� �U��lH[�.4��� h�g����Dm)�H"�D��>
�v[ �ȋ@"�E�������,=��� "��
+?�	1�,
�.rD.��ٜF6��46
��>3�	�x}�"W��O��B�| �g���@�A�
��l�3�~�|A6�Ca�z� 
��X��� ���E3�Cx(�� |x4�p����BY� `39`x��
��`h4@�Hl��h�_�yf�g�Λ?
+�@��P�����<���4*�|i�Hc���+�:ML�!@�hicx:�jc=�!��<?;���Ց���o�h>t`�2	^�~	ZQ���ڨ�W����
����¡H���^�������,�S��|�C�.�U���'@T�2œC�����kl�!N�?�Vl"o3�i�ԟ�Xx($;BleY<Kv���ǚ�Ht���`p: ��$ra(�B0�1��y[FC��	 4:�08�p��΄-�D
 �M��Ғ8L&og�&ǫ�㾴� �`}�餝�~�c�?]2�
�k�h�6}H�v5�
��)����4���^�[�/??�0�)�^�W��9���/�w�Z��{D3�c��I�-�¦���
K#�J��Fh��ݥ�I3pj�Q΄���k�s)�֨\}�hON\#�����1Ω)5)7�ꮵRb}���&U?�9��
7��X�ʔ}�J�a3�����x��ƫ�R
m0��?�=S
���js6�xXQ7~����KWT�w߹����}֢���
����]�*ڽk��
�K-��j���-R���+=���!ISz,¿�]坙]�M)L��_=�9ߨ!��H�	;�#��mp�u�_�PG�'��z�S��OY>�
QpA
�`��;\�AX��e_�n|�tM�Ѝ�}wZR��U�m��Ų����!����G7/A6}�O
������
�{���f�u�_�
lFG���
��!�_�!�']o��e^��͗L\�DD�o���
;��j�4p�<n��$���K�>b~�Γ�}����#˹�
jĔp]|��?Y&��d�<�
���q5����OUr�հ��
sw~��~�U��;~^M	�D�?���NV
�Ӳ^�Ye��"ȸ
/�� 0��
�[
:��
��*�4Yy.�B&y֠�+qQ�q�ӥ�/�ܨ% %�R�cR;v"Rc'	w
ƇJP�ڂ���;J��R̊���4˜
m�#H�{v�vj
�σ����p�z�\|�T0�ξ��Z=ao��&������ �K�i����
�WM�Gq���	��ጱ5�`��������f!�L�w{�8i϶�g����mbR���)z���z])���⛭q[������1��Gލ=T��ت
+�G�
>��x�	�n�V���<I�
��7�4���bT`@�T]�z��%BC3�f�T��]�я���x��v�՗�����F�MG��
Ͻ*��H�kъ�<�U�{�]8�ӲqOnS"a��	����=���\���ϖ�ͭ���SoDz
i�v����:�u'��7U{�_/��ç�=�9�J%,�!U���[S�.x0\V��x��zOQ�����ݲQ��7|�4*
%@���g%�\�H�����(����[�ӫ�&r)ɮ��W�k�w^�j Im9�(�^�(=Y����E 7�
%<\�[�3�v�Ԉq�։��5˿g�鈮x��-*�E9[ܛ����q���a�CeWԘ�CW�B����=�%�/;�'ی9jo�:Z=c���`

�UF<�J�T
+�����_Z'��2�zB-nk��h#�X␄L���3])��N�	br�*/%��w
���
���
Iٵ[-�Y�o��	��ko+q���4�HgR�&[�L@��d�������i���OԌ�[���'=
+<��m��C�A�-�Gk�U:���`լƛ�ًS�G��U�#2B�X�z�k���#tn[\��f���
qU��G�c�p���~�vX�����X�

g
ӗ����r�
mSYع~��X���7E߆"u�rX-�b[�kv�[
�$)bFe���r٧�4V�tF��$�� WZ������O-R|�mg�5,��N;j��1o�z�������'X�“
���ژ��O#��H�]�#�h�H�=I�%ML��z;��f����	ё�S����(���"B�@9�j��h$�S���Nf��)j�E�O*�y��c�=8�|lz���A�d�%f���[�:$k�fV�Zh+
�c5NT��:}��r���&�"�|E���H�ܙ��bd�����Ż~�Ӯ�$_��2�pO}X0gH�Z���
+7���Zxb�Yt?����8��W����_��N��9|X������
�+M�����I�����_2��H����L�[���K��y[x�xsWr �$evo?	�չ���_��#Gt������
'�+,�
��J��`�{�A�{���8C��]�ӄ�^�����ވ)�Nn�����.���ۥ �-

|lQ�g
��HA�d_��z�1�WT5a(_ȁ���wJ�Vސ^�ȗ�DJ���j������~��_�jO���������;&l��v�W
��0�(飜���l�lr"�X���
i�f�������-f�#�Kt������F�4�����EbW{tz��)8R�W4��#�ld�_� �n#=�4��т��ܺ�[y�ܫ������]wmv�nO��٣(��N�6$b�\C.b׿�{ے� c18���vQhe�m|���
s_������e�[��eE'�
��䟩�9�z�t�w�P��{1N��H��9p�`�
e�axE�����D�ٝ䮩�Wrb�"�F�|�?��k��
+endstream
+endobj
+3377 0 obj <<
+/Type /FontDescriptor
+/FontName /OAKMXN+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 464
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/Q)
+/FontFile 3376 0 R
+>> endobj
+3378 0 obj <<
+/Length1 1612
+/Length2 15465
+/Length3 0
+/Length 16274     
+/Filter /FlateDecode
+>>
+stream
+xڭzUPeے-�P�C�����ݡpظ�C���n��{��;�:����q�{?���#���9rd��3V�ؤ��i�m
�b�6N��t
\ 9skCgGY[Z%��3����T�h�dnk#b����"@# ����� lk��`nj��PUR����������?=v:��� ��<� �l�6N ����@��`bn�+hJʉ(��T�@���@����� cn�qRLl
 V�X �lm���*͑���#� �h42��
�f���E�:X�;:�y�;L

l�����`ncd�l��?vۿ	�9��������`���h�`n���UAD�<��
����h��
�5�ilk��WI�����:��8��nN�2��
�
����f�`�7
gGs�1�8 M

�����`�`�՝�	�/���Y��������`���2��cd�����OnSs8��E����������?}.@��D���P�!a`lkc�0�����:�I	���L��'�����+����?��5�/��z��
Z���J���� ����al2���+��+����������Ձ� ����t2��
A�?�0�1��h�(f�4V0w22�X����vUc����
�7@����o>3s#K��Z���������o���2⒊J��~��
��G{'w�?���Y[��\��!$d���si���lr02z�?��
��������������.�?~�Z��������_���d`c�g��������Ꮺ��?�s����n@#��E[#�@�Ԍ4����q��}=��Av%�*��~U�ݾ��ۜ?�ߪ��&�>Z�N��KQ��`Z�w'/��){�Q6��٩���uK�N�#=/�e� ����w��t�ߠ&ۙ
`.)��]���I
�|�R�b0:�@Pk
+NN��
�F�u_C��ƣΎ�%�6��I:�����pWo�����í�\Nw���=���R�`�'��`�?{~�6iڌ�o��S�r&�HQ���E�F�ɾ��	���=l,)+�vs��Ζ!$M&L�)/��~4�[�o��=�F��p�� B�����6"	#�3�(�lߞU�jWC�t?���2&��[�5f�C�
 G1�C�xm�Wwv,�<}�t��:��=
l�<�ˋ�ޏ]� ���0��K��
�
dzC8-5�25����ٷ��T�P( ]���g��$[Oq��%k[�z5�bk+���ʿ�BL�O�J�d%�%5T�ۑ�8�`���V�`̓�Ejt.>�q>/�}��.�/��ry0ƴ�M�3 v��W<��[$��7��������sqb��^�����$�
�'ǂ
+Dј�7�߹��^��=�w����d�qS�ox<
+3�ƃ�
+�BI~M�,p_���m#�1qܻ�d�J>EA
�}��e���f��*��`O�<�o
PfRۆ
��M�5
2���
�-E�8��(����
#r�NaoJ��H#-|O�XH$X��8�AW��$cl��B^w�;�
X�e��.|�
�cF�B><~�b.
$7 ���5�d��j�
�A�&s|�s�{�Zd0,'[9�t�G6�P�"�ov՛��ԄC�Y

��T�M�+"��A�`	Il�F?�ϼ".�Jf�GN��B�b�F+�
.�։�N�_\?@�� {�U,��^��8���T��ϧ;z:s$�f�F��赔�o~�-��S��
�r!�N�Z;�V�!�
n��*&��Z�55�8?t�Ynz�O�ﺼ~�Nc�o�o|O�\�H1D�E{�Q��������W��,�`�%E�Lቮ�X
+̴=|�����9�R�׳� �6)�-�m��6��v�_�����
�7
~���Ȯ݄�Ƒ�)B�3���k��O��5�fJ��
+|Im���rݶ�ýu����t2��w��YX9gD�e�SP����Q�|�G��/�;��K�����

�GTULt'p����x�_��)LM	�"���©�j!?�Eax���c���l�%��bj��x�GE�mq��
c
��$8O�XJ�V���ۭ	?K��$�-R�Q�Y�������ըkj�% �m6��p�,[��*�ԕ��Uԃ�8�C���WY���:�pm;�Zz�Ua�>!���
��T at P����@p���GՃT�<�
�KH�
�ml����3��T�y3
��%ӌ�� JR�
+��5լ�sk��� wὟ8c"ft:�1��Ʉȭ��ز�����1�RӬ��9��S�
dng�3�H�B��U!�a�|��+�Jzǧy����Y��
6u:�>k�DE�`0�]ai����]=�=���H�.������xa�z���n at 5,7��%��ݪe/��D\}m �L*u�/v�s����fl�*�t�	���< e������O�]#I�i���z�F0G��
�����|�
��;[]'��M�ӝ��-kl�f�@ĝx1��Q��K9��N����~�|�
�6
m�Z�i
�G ���d��p���̖���ɻ����soY����\P�
i�EJtL�g�U7 ����V�K%-�'��`�fr�շ�7>�RCN��Y��
���R��,&Ud�w�
�*�u�����H_�H"����@�Z�nK��kOj�r�8U�w�
>C\#Gʭ���rYr��wSV#*hZn��
�kP��jf���GҊ6z��Ģ��r����8,�������N�I7�截2RӍ�9��eb�&�%0O����J�	�K
+
e[{Z-a|�9Ub�
ټK�r��h�_��< �}%���-o 8Yr����_��S/����g&�g� ��*�*�E��.e�e�da����}w�=
��`'@�Pq�S��
��\�
5
!E
���`�����zogU-�Żֻ������x�>J������]V���)�s�*���\W
�n}�wQ�{擦��e����ߠrky��an�1r���bI����Sk.no\b�	N�⼥�I�K��>
+3����~0���Е8$
y.�f*��,��Zn� ظ�JOU���?o�HZ�ҙ\NuJH�7��Y��
+�n�!�iw�E4�,ӛL�;�}��y�p-v>�`xg��
�3,Gt�\�N�i�Q��tT�
�G�����j��8�&�i��M��I���h�a� �q84|^�rH��>9�Bg(�\���pO� �{�B㮣}���Q�γ
+���P8
��,GZY.�‚�,�uw��ί<+���������X�w�T-�._)
lJw#s"0m7l��Ig	�wdB�
���l܎����{�@
F��>*h�r���T!

��;��ebīm��Í#�����A;���P�L2�`v|��
+�;�^�
�]Q���=!|�Ƽ1{���
+�9��
~Ҝm�j�N���+���͘�FSc���QY$���Y�%M��j>v�V��HP�9�*m�e՞�=E���-A]�]�*�o!��k�O�*U+
Lt%qX�Ci�)Rk��0
װ�=�e��J1K�b�/
}����qn�V`�
���I��]�T�m���>��b\�M�{U��W�eTT�Z�(��dX����`��b_ۂx?�؝��7vo��y� ��YV��8`����6\�V ��*/
�V�37��������� �c�^�����8ʹ��$3W��s�
�����6��DĖ� �/�Q�tƍI���d��1��~�`��h	�\ٹF��vl�ci�[��6�%tΧ�%�(����
!
{��Si�oCQ�G-�&<�A2�����<��-�
�c�i�MG���
�ߨ��
+�IF��������L�}�4��<\~��mO^3F�v�m�z}a��M����a�҆�0�rO��f9_끺9Ȭ��B������6>�n��
,6�m�C����
.�`��N�t�Sq�5�%R�"���'���m�I.����9q$eԂ8��SW��1���ı��7�.�ix:
4��n�1
�Ua�k�6��#_^��,�֥j�N^Dh!|Ѱ��j�/0ZxBS3Tmr/:5Ύ�!����R�cߨݍ"v�Cb�g�3`�g��q�aT���OC�'7��L�t<��n�G��J����b�
sf	
g�ze�*\�TH�Z8>WPh�8���������x��gO����|�:�{�A��D+�e�>t�r�uf�q��
�v0��
+ ��� �K�����y�Ʀ���L���V!���;�u��j7��pMgL+3&��'�h:�� ��"���Tg�&NO�������ٜ����Y��
Q�8²��&��<{M���k,j��I�w�3��n�o1���>�ى�C$yV3��
��G��.4
��s�
:�iq�]T8a*�}�<L����Q�����1���p �������t���&&�
C�
^�q���
+�uyJ��5�����i�Z�m�
X�
B�J2T�.��8+!rq�Fsp�iv�L��=�=�y\j�uJ`�؉�X1˷��MBG�_����1��~��nA�� ��n�BHx�����t�[_N
�>
+��]0�*�*������B�
���1�[a�n���4��b�Dy�5��F^B�������A��*3��
�JK�|ݝ]G���|���UɳB6���۬8��������
�*�=br��eq�"��~xMCb��fi�uBEoWƟ�I�2��
+���A�q)B���œA�<�3FB��Y�a|n�T�|�kLd�Iwb�lB[���
+m�H�6�Kn�
���.H�	�:
�^��Q��� ���8�
+_����^��O�
�FJ�����59��Sq��+�y�ͯ�K�gb�4��^��ae��!o�3����Wl
��0PV����]ʟ�N��i at Y�Y�qM�'�Y)��S�r)i�t�/��:

�(���+(��#�۝���x�JHhJ��X/
3�R-��*�l>ڠ�ׄ�:���'d��D�
+ӗ��\��]��L=f8��"@T���;?eY��?,O�8����dV��i�_�2� �S�c�|�D_\W7�	������ ��k���^��X �h2�h^SU���/㊃��߽``�S,�X�g���w"�d���]�cKzk�1��W1x�#Ņ cv?*O�[(�L���,90vE�S��po���WȮVC�x��z�5�I&�ޕ�UU�`�WV�[�:�W<EK���]���=/�-��
D��|X�?Q>U�p7Oz�X�RH�~��d�-���dhAB����\I)�^ݠ�:Kb���oH��n���{l�~)��ߝ���ԏ��QR�I?Ϻv�g?��
 `��4��h[ۚ�����t�VT@71'���ŠP��%��[X"0�+�
�u�h]�Y;
D�

S�`\�
�'j5q�/V�
+�	U�p)B�;�a\O�`q��6�U�X^ dB�s�۳��K9���$�]�3��D0��"���.�e����
al�	l�9���V�|�O�li
�/�m��bT������ϬQ���C�	�K��T_�%Q�\��x�����>�iU�]���^�
NbnLm:�-���۟�a%K�FM��x,��um���:��v(�[�6U{��f�Pq/
Ou��5:uCjZ.)����
<��Z�6�(u�%�~������
�O����o����(�.�d�U�ݿA%bj;S~�j�I-Ϧ�R@�W�l��բ�˅'�J�(9������0�U
�Z�Ր��� ��6�Ob�50��#��)r׮�ۓ�R���!a�#fJ��Ax��w,��I�u�����߱��K3Wr%`l��{��AU ��,ޘ��X�����y�r�p�W���KS�E��8�v���Ү�3LY�pV~�j��x����Op�-�5l�r��{&��+COm�:o*��s*5�/�
?��6 [...]

��8�\<�z��<�r�ӟX�P�
+��H�Y5c@�_�W�>�==3���+^��l���L6����UzI��8p���t�xh�Zb
���tNC$
��ۃ��te���^o��hRw���9_����T�9!�Ց��I-��ld.g���/R��&
#���.�$�ʷy�Q�����ԭ3���U��>���h/ն��%��8Q;8�P�C�ΟT����R:�V.��'>ܶt�o����
�Hh/��=K�0�8�9�K�_��~[��{zCnrAZ+iP.���D�6
�J�
+�+��4�
��Jwǩ\\<_�~�����]���ngqe|�GP�k���6��k9��"*
&b�꫎��)���C��fN��i
�tu�

:�SB��-O_�	
2�(���M
+����R��Ǭ���� ���r�����8(�'�R�u���줊b�Mr�˞��~4���AF��
9
����ѓ=
ޙ�CA��Y7�$�
�wh�n�!�&r�S
V�a�Hk��= Z���\�[���*�w�^�#Y���Hb�\Y�4�j�C�j���+J0` �nRpqu��î���GC�ҙ�RaY�>��0�M$V���K�

n�tc�
$�<��w~^`��0�W���^�

�_��P�KL�_�U{�-�$r>
���H�\�C���6��i�搻�`�#/@���8C��N<�
��P��#��YAP��W�8���qw$����k'YPI&�/��2cDL��$D
7;��q�Nfy�LI|�|�f����u�ys�뫾&dH�o����? FRC;��;��ῐ�~(uЬ�
o��J	�3K
+ԕ�a������
+ye�8����b��
،tNXǿ��*�}w��l���#Q�4�"]�=��wX
�����@�/z_O�a�L
��F���y�4mϢ��:b+%v�	���c/��蹻��7��q��v�"Q���j7�;���
��}
��^�P��4��)�ǞO���|B�)����D"d��H�
yͽ~�y-
r7h��X%��5�
����^R�����<�ԓ�fo$�Q}
�2��3�4oz	4�A�C?6;J旝ד�|F���	
�Uǝ���#?��XI}dk�
+�#��Ԟ����
+�)��
,�
`��
VJ���]�b; �Ð!1�0�x;5��E6�'|0M�׎����I9;
�>{�ͨ5�,����ζ���J�Nz�4����S�J
+��q�����O7N��aM����%��.j./Tq�vh€z7���3�Vڹ��U����[#�����`�3�	Mr� '���|����O�%��en���ޖ� ���tA�7�zi�`�(+p����[�v�N˒��П)ʫ�	>z?�閤�W��w�E���$��i���0z�+=�>�~".hE+;�i�QZr���u�gd��|����3NE�M=`�
!
�zJw�7���I_��|#���3UvG��.� ���e�])�$Zd�7�����i�����O�S�>��C�R�(�}����^db
��'i�Y~$�R��!'��@�G�i�
�28��*�
��:��ρ�ԇyqd�'�z�ɋY��R��+h��Ǜў=E$Ρۧ>��sf�6�5y�j�fi�

�3�[!�.�yYϟWI�D�� ��9��MR�����U�c
����x�'ϖ[{�_��4z�S� �.
(��gM�`����
sw��3B����-���C:��`f��z/]�
�w��� ��ͳi�2�0��~��pRA���z}��:�AQ��Ld�,Bw�����kr`ڙ�yǤ��2
�4���f_�v
�-"�z�����y�f���g���x1SnPW�f�Os5�0R%;Z���v4�#GQ�����33ޫ9����C9��?E�	�|H�?��:<����v�� ��8�� HOς��u��i&ă�O�a�J߿�A�@� x�Q]y(x�y
��V���ܲP
�r���u[��2�5Ў�xL&X��}���
��aΦ�|�� K�[.�XY=7(�;��eeҞ�X��"��Y��Q�[�#R�_� J��dz�ʛ��0���ő<����KQKa��D�e���f����&�}�N��=�	=�<=�K
^�cFY�!7��_��E��;-Y��Ѷ���|[T��ט4x�6�0��(-�"�u�X-��Ξ��&8�ҿA��2��6�=(�|
ǜ�+\?j*&/�RR�N��CVr��@��#��@�g�p��=�ʃ�h�]+�嘵�9���zm3Na&\|�d�9�Z+m�R�T��ż�F]��i������5�Λ=�+�2�۽
K�.�?���������{`S�i_�q!-[����]n�Q ;x���d���ʊ��$�[�~
9*�X�JIr5�*��x'#ɷ)H\��k�q���,!��՘�+	��XC�~f�W�mc�}z�䛢��.�=	ɦ���
�s���i*n�
M��W�C�Ȍ���qm
߿N�%�n`Tbc�D�r�
��<��fZ��k'�
A������F���r=X�[�ە[�����\���h��
�*҂���4�
9}�y��P���
<6]�5�2dI�I��]^���ќ%��E��2�]����d���`h��kJbf�Yzq-����#�PZ�.�V����Q�S��{�$*��z����
AY��ˁ��.�
À>�C��vrf-n7Q�VΈX�N�4���������)w��Av,�{G�ڒ�R�{${��sk^�
+���e�-IJ{ލ|�ڜ��6��G�ױ�A����{)��КNV�.f����:
�ҟ������Ҏ��c^|�U0�Ԝ^UA6�^'d�
�$|C2:.�&i�}�7a�Q�3�/�C����a�O
���F�
N�c��z��6�. ��mVB��0����M����}m�;W�1��-��7�-���2E�{x߻Q���U�o>1|Þ���Z�wi����pE
Ǽ\p8Q#/RW�;�[��'���i���)(���Q6e��k�*uPr
�h&eٚ[Yʝe9z�T��&��`����ה̤����R��J���ld7�+܀����nڡ�
d�G��ܨ}�y�Ւ�
#h)��(�
��0w�"�a��]%�
X��Bn�ݤ��v��|�ug5kz�)rs�U��[��
aڸ����K
�; ���
a��4'e�D����t�|"}�o��:�m2LES�D��	w5��

g��Sh�l�Q�[Fq[�Ս�&�Rr
�unw�X��Ԧ7��
jf�O��6���E��)<Է�7@>C�.���1
1VMU|
�@��U���r�[�������d�H����plEjFp
+W��7>-ѽs�sτ��=��!���-�/��fKH0ZP�1�EI�#'
1C��7�%�s�<�;��L��|��g�Ȇ����M�����QL�~����v~(�e�zo����:�����,�6�����~<���ܣ	[/M߬}�.���l�-c��q�Y�H�,����
��㸁lT7w��0x�����j���+�	�X�d���Lu�-�1��	�7��l��)f
Q'�zP'U��
F+!d2���֔��e�t�2��E��X��ĥ�U���d-�%�k��n"�c�mM{tgM���n�ȡ!ѹ3F
�
`B�7�9��rQ�
F3��./���3�|&[ݝ��>|(x at G`*�<+��
++�36mM�Z�a���cV���%;z�VFUN�����hAqVR�
+�<�d�`

_M�QM�(��G���BRa"�ܣ�I�<�_����P>�p�e?x�*}�8~1�����WK:5d�:���1I>�
d�}Z���T�\A�{���p&A�d���4��E.%aU4�&?1t��M���~���Yfp��W\�z�_�܂�SR�IR�
<a%C��F�驘f�_�6Z�__W�&<��e�en��ia ��xއ
�F	ƭwi{
���u4w�P���ڕa�-̪`O^��t7inJ�^
�p6ZJi\_<TOr�,eh��2X�2�°�%m靵��Gt
LР�:w��eqq��㴩ukEB��[4��S��%�oU�����
N�x��ǂ~
�
+�9\��#j�_3
������2=

��N[9�,��|
�!�\5��EGԈ��J��?BA�hz$�:\����Ǝ�$^_��tgR3Q�T�2]�����(���a�Pc��5��E�g�6���߈��
�
������@�����,�։0�]����̿�e���@�ɾRJ��8u�_�7�b�ɺʄ۫k�
 ���=U���!�5qC�?�/��x�������	ӓ6
j�L
p���L�,>��+���x`?�~�x��mC>5��v]�
v�
9�/�ݗ
����X׆�<ջW�ن{�{�6M�� Ôd-�Ɗ7d9GӳT�Q#����;[�
��t&j?t���F: [��59��2���䧠�*=�8�P��j:�l�x;���QLl
�?c��[��K���B��+��7-��K��o�t���#�dV+�l�BV㓿p
�so܍!v����c$��TkK�n�&��3UhnTy��v�*
���[��؃�͋�~�X
H2���%�5��
Z�\8��x��
1ٳH��g���9�_�F�cc�F�\G�zN
�Z�2��U�j�/�����V:׮N��PL秒
+�$�
��b$�`�
+٘��MO��6e%��Ys
ߧ2e�Y$��M�4��B)N ��	!@�X����@u���e[)k�B�H�+�<"��Z��!��6ѣ�Љ��w��y֑I}�aA/����i�(�l�K˶+M�Ȝ�d�S��ԁ�e�V.J݊�S?;r�#x� r���y5
�I����u}�>�
ά�����G�~5�.��8`<��,���qR��o���K�L!�˭�/f��d��j$dP���Y�E�Ph��b�Ҁ����e'v��wΟ�K/I�+��>4R��	fJN���)ۗ�ֵ��0w��b�Z�]�Ne�Ӛ6�
!��s��J%�]c��������3]b�C+FKPD����x[?r�B�
�T%
�K�
>�3�f��Z�6kN%
��M���m�=��E_�u�j=:�f�����Ry�k�Q7��]��g!ui�~��1�l@�6�52���o�U�a_�\t����ol��c���"W竔����`�P8ْI���F�~��Χ
i�_�yCA��
�� [...]
+�bDh� z�}6)a�Y3['?�X��o���
+Q�ᶣ엘�u�,\
�+6���w�m!��Eп�_ׯ�����.�>yU�������s�����h�e~�����>�
��H�Rլ9�6��Z[�Z1��_�!�&�j֣k%0�ܲ��F�b�`��*�o�:K^F��m%_�����&���,w�R��Z�
6�����ww��&}��g+�S���0�y�L�Ѱ%����D�Ɯ
����4�ϲ��*����g��g��7d��m��B��q	��
+����_?��r92�};�2J�q
.6�۠1pJAl�ڴ��-'��0=��	Z�fׇ��r�� ����~SU㘢i�Q��2r����됸��!6�5CS`+� (�geS���W�b�E�2 V�Mk
�	,�T�^hV��J]%��4����H?ӥ�_<�V�E3ω
z�O=>au�c��ީYʹz�y���kKeN��$r�y!r�ཪ������9*
i��O�'-;�U�d��x����q@g׋�Zk���VgS�=!�������7�$���&�(����Ɨyz�7}F>H)
�e��Q�M���=�ogr�o6�U!1�����
6�p��b	+�������v��,�_��)�%��1*V���vx����sÃ�͸��3٥$�u?�����g��^�jY�! �0�8�6��<��9i�)�]l��b|)έT:�b�Ya�q�9�xF���D��E�ԉ�>
+0������$c@�
��V&�,]§:��Z���2�/DTuu/�Js٬K˷��%J��L
���iP�X|��v��".��c�#�6�ZHЅ�P�]/�wMw08.�#�����A�[�z|
+
L�VPv����ԇ��&���,{�8q�)"�ez���L�e�5gp���&����ev�zT���NM����Z���i���	\�dd��P*ۜ%��&y��r]�
��=kM����\�
��NI�n$�o T@�#�bM	�^�
+.�g�烓�́�:29c�B��}藳p
}c��K5���{�ex�Y��S�q[�����3xE)x��a��Q#�skyI��4x��=7�h[�ЌP
+�\{ �Llg����W at -gb
�r[
+E�nE��z�S-U|����Ѻ����Mg���zз�[���
ы��P�� x��f<�Y1uhk�ɵ!����8b`��,�DT61�w���~�tA��W��i�|����Պ�n�j����~'�BI�"?�l�F�o>/_�Z��0��S�������B�y���U
�!K�`2�;�6�b��WX*�i�/��+Iٜm$��^�T;7VxZ�C�2k��O���ǥTu�wv
ҥ�C������G�� ��N�� 7����nQAQE-U�����ɉq��7BS�"((:@�a�)��Fx"��,�6�c|3{��F���&	��z��;�M
��o1�����!8�D�_H{�}dh��Ew�-b#0��z�\v���=x�����љ�u��� ?���N6�?�u�aΥ6�Q��S]�!*��
X��"=k�!
��b�}��O�m/�� �N�fa�' f{
\b&y
�~t4�>�\�H���`o�O�U_���tF_˕���3�����h�
+����cL��V[6ֶ��#��[�
�I��<O�U�;'��No题�ً��?�g)�_�g���楝:n{���-O$�'u_���˯S(
Y<�
·�p�L�t���-�P4����R���Y��X�܄��(epۢ�:iމ�FS�`�DbBmI.�G�|�D���|'�-|������o��)a�#x�u.�%�?e�-(v�(H�a  
��!�
gq�cƌh��Z>���d���.c?H�¦�mQ@{7��/�Wyo����`і�A�
����>P!(zq������^?�Xi�G�NYz�D�
����U���a�!*���)���V�
X�afv�A)�
^l
+��%���o�9���m�p>i�r�2���6�٣c�����zR�ð�u�������%�-��I]�
8"�����K�5��Ϛ4u����t"�ՠ�֏U=7��4�����Q�K��#�O�k��v��
��i�^��5���%vj�&
+[�o��lټ'}W�X�fMlHU����x���9��Y!�#�q����:�(ʬ%��6��6
�<�ʮQ�]L�a��
���dC-��U/����𾴽�hdr�bY
�
23DY�
,�>:A��-+��3&^�O}���u�"--C�	���m�
0��߈��Y�)�0�#��?S|�"p9�5���v��`F�h��-���A�p�fwߚ�+�
{��Q˞�� o�)�c.
�d��a�_n7�D/
�`�}�;E
�p�
Z��NW{I�J������}8�M����X�k�j��薳�z��Qo�f��I;	P{����|?P�����������yg�Gu�dz8
+M&@�z����4
å&B�U���r��<�$�j;*
+d
k`|
��ף�nCm1����Ą۰��{��i_�����8=��
+�#�Cox{�^�E�,wG8�)���W:�jk`�&�Q�����)�ԷQm�G.X�8KIi���ay�ǚ�
Q�La
�����m�x��( G���
x�n
�}<�gؽg���8+;}HH:ORN_�d��
�H1�2Zr��:�RDf"�*��GVC�\�G<���ը��hµ�b��f�?Fr���|x���ԃ�6�
m�$���'iU
�3��M�z�AB��=�
�0�*(��
`!V�K��O(
+Dz��
/4�-v�v��y	^
H�N��5sJL]겅Δ������1aw 4����%�mAd��u}:���q�8�N�t*D�����h�����^����Z�ѿb�e�F�~�¥~'#3�כN����/q2L5к
P��
��&��

%t�?,�1�ʘ� n�&�T0� ��e0�+�L
����X W�Lu}�Iu;Ȧ���„�PU_�]��iao[	8���:y�
+R~�4h声f�c�Y�ޫPW�i�!�E�_~�b'�X���l/��=��E@�.����ف�	���6�@�ȼ�Ž{����a�]�a��G�_T�F�t��v
Ic�/�u�Lؓ��1�Z.q�%�/���ĽMX|n�+깋�T�@F���*:�u����bJJ�)��L��2���j�h�y}� G��|��͏�:�T���+����7
��}�O�,�3`HBTu?֍
3�I�����
����Hxv���r!��lmD�F����ai�HUN�,��c�?��?�6;��zU�@gB]����I�
��c!(:�x�Ӄۊ�U唞)k՛�֢�Ⓑ�
�۽��c�ǰǨ+�r�}���*֕t�2��6�*'*s<��ݾ&ا 
Y�a����Ti�ͫ:����:�̐eJRQm��2��=�K�Yq�XK1�]IMU�/B�B�
��ct�w�B��9�X=�q$���۝x���ߠ���i�@�J�y�C��k���z�b1��$��2�p�����4�'�ϼ�.{+� ���M�U߽��$²�� [...]
� ���d?Y�|
r�B���hE��֯�6�N��Ȕ�Mz�
��W�θ`'#���#�h�*��4(b2k8�*9]�J�N�c�jY����!
�54���������1fF�r�.�����xG}�awb�7Y�R5m,
�(��䐖)Hy��U��V������2_
Y���ƺ���<.Bd�%q����˽S��޹�h�Y��'
��;�0��s���z|
}x&
8��N������E�Ts&���^��^H
�6��TlV�ۤF�D
)*�*]�	7
3="�Z[u]�k���:BFI7�W�F�':�#����F?
"�[��h4n|�n�.��>��d A��
hz<I���.jX�0
Eׯz�a�n
��A6R�(
.�/,��$~
��h��R
wd_s��ȕ~a��$$�sw
�Ҫ+/��!P�ٛ����+
ƽc��2�'~Z�r
Lv�b�J`@�IT���*8�
+�gլ(Rȍ��a�xOJ@�ʪ���lF��E�8�%��6��6_v��X
�sD&+��L�N��E!�Q�+�S�O6��ckp�XK�-�I"�9�fA�$/y-.�*ԳX�H�0?^���	Ӎ	Ө�@l�,M}�e�؍]�b�΍���W��nx��
E�˱{��o_l�I-�$1Rp�#V�u'�H������	�\��4�D�z�i�(�BEu��(	����?��UAEs/ �W�̒$����L����x�V���'�F
���|���y�D29d9�ʻZ�'=h�v1�Ǘ(`�����ٔ ���"�A�?H?L�G��-���m�L*(�a����U�q
R}��s������c�;U�R�C�>N�J
�W��� �
+��ξ�
������ a�>��3T
找;�Y�l�#�t�
=7/�����8#8DqA�^��4M�t�������7F�\lL��O9ZT)yq�H&7>��o/��oA��0UFB��Ԉ�ST�5�p���Ks�%!�%�*��0�`T�B$/]�B�IJ���C�H&7zã�m�$�	������
o�x�B�E�D�8^�MԆ y�w�sR�e�yu��H��c�N�i~l t#_>s9"73Cd�-���g�ES�z��w5���yo���k�+cM��4��
+5ςɚu�C�E���l�Q;��۬��0�y��ᤇʎhHڨ���
����4j4S8�U� 7 �@|:"�~ ����Z
[=���
�A��+���q�k��-7T�28�5{�o+܍���4	���壍�+��1{֌!�����ʂ�
��1E
+6Գ�U��m�������d at m����{�C?���
s��K�U�^#�>HD�+��y
+endstream
+endobj
+3379 0 obj <<
+/Type /FontDescriptor
+/FontName /OLGIQR+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle 0
+/StemV 41
+/XHeight 426
+/CharSet (/A/B/C/D/E/F/G/H/I/L/M/N/O/P/R/S/T/U/V/W/X/Y/Z/a/b/bracketleft/bracketright/c/colon/comma/d/e/equal/f/five/g/h/hyphen/i/j/k/l/m/n/o/one/p/parenleft/parenright/period/plus/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3378 0 R
+>> endobj
+3380 0 obj <<
+/Length1 1630
+/Length2 9643
+/Length3 0
+/Length 10477     
+/Filter /FlateDecode
+>>
+stream
+xڭzUX�ݶuqw���8-��n��h�$��P�h�"-�w�"ť��K�Xq�O�o�ϳ�suξH�wͱ�2�Zo.�D���)m�*@�pN^.
������q� �\5�
A�'���I�h	A�r�p��h�Z�� ���˜L Y��d�`��1dcg��������?�'O�
`~zp:B�N at 0����
�o� [�# ��e���`U��(�@KG���S)� 5�5
�l!. ǿ k��4��4
`	�A�֠'7��5�� @�.N �� ��\,��
�! �����OOv[�_	A] O;���'2-
�vAဧ�Zr
+�	k	�z�ۧ�6k�?%��=�<�pK�=�bY6 ����)���W�0��_p \�v�.6�@���Ow�U'�Uo	�:z��
�k�� �À��\��|O1��O��@`L�?â
�� xy��۸B���]�j럙a{J��v�� m1�5 � ����\�9���G������5�o���z���Z���Q���i ��d O�
��s�8Z� ��5�����	���?8��FC�������ae��SS��vO�p��q��m�@
@-��-����g���6@G���_m}r���7L�-���G��! ������乵TՕ�t������ZO� ���c�����
���S����R (�
+ ����?D����_kuK�
���������ϿV��F#�����
]�%��i�����vuqy�����T�?��=��Ɯ��X��'�&�+�2{���tu�"�C
j��r��!�~Iak�%��\��E
�<��[*/��;H
Y�?f?�e`��!Xfnd��6+�I�a�}<���l,�c��>��c��J���
���?�[�?1�%��ubu
I+~�3��܃��{W�,�}�=�(�[T�1L��d�>
�%�=-\~�X?�ܺ	���j��/E�������=6ꑮ�F��

̩�'gJ
�����f��
|����Q�c��U�s:B�um� H{��%�9
+�4���V�J66/��,C�_ �1Lz48�����!��Fi,�#�
+�\4�ħ��O2I��{��L���c�X�+��j�.�u���Z�:�s4��	�
��;D��6�)m7޷v�� ����� /��%�[6�L�/�h��E);e�)�l���Ճb'�|ϟ��!ݮw|������z�)�0�|���*�x��'rC�G���B�K���OU�z��Yۍ�����v�Q�2�J��'���t<���Թр�
��oa�%��-��Iv���6i��dz2
7�F��_�,�X���5��j�H��+��>m@��Z�8߹��8�|־�lx騶�+BE��t�3

��E�?��g��Sb�.��h NKi��T_�S��w�D�Lv�Qdݹ���h��
+
+k���jm���oN~���
U�]\\o,�I����p�̦1S%<�#�@���h����[3Q�N�ς�~��jѳJ)�>TM��$�
+_FiŐ�
�y�/	�|�(�t<A�C?�[��@���r^��N���2D4���>�Z���y�Yq+0-�ME�j2�o�r��2
[�Z����l3=*P����U@��̵��B�Z�R�L�;_��(���[�`�� �m
��<
z��v��
���֑�yr�ڡ�9�~K���������`zy��}�,.�<�w�Uv<(4
��E��r����0���O+Ɵq�
�
8��L�$=./jm2y��Ÿ��Iѐs�����D�c�3E���������rG8Br[�HR�s����Ϙu�& y1���r��n��Amx�����hKG;�ъ�#��
+��f�4z��i���Ǩ?��!\���v�"pݙ��K�]}��
+�]#f�
4�Ҹ@,p
�G���Lw�I��'��d"�$�ͬEeV��������ǫ+�2gf�gX5�&�J嗐��B��%"���ü{Z��ܐ�m�e�u�oŦm�t������5Lr���&c���2
{�����7�_�w��X�֕	
�I非�����&�8���0�,4ֺX�Di*��M,����4C
[�=u�|���4���Z����Ќi���؍���Qx8���k�� � @�5����X0
k��Vh��\)D�mE[8t�Hۖ}aaY���~�
���؂����p��P� e���l=%�q���bg����Z��#"�a�u�P4��M��S�׀jՎ���`;yK�v��Ef�H+�"F۾H��o7Ԡ��/y��^.�|�kpc�e�c��J?�1Q	N�Y|��>�ZLD��ͭ��p�����
^Q6��m3�3
I'�}��&�6*1r*�R�+���7,Q�s����
�
��y.A7n����io��Y�����48Jn��-������n�\��j�g�,#�ˡ	z4�~qFt���j�3���2�z
��
�������J���%:_�W7J�r����k%=�l��<>KY�jN��
+�ʲ�ꎴ�_�H�z}���Y஺��ڈ��W�SN2��
��N�E�Д3
+��}f!������
8�yȧl�,3�i�`<I���$XI6rђ��F�
N�ԥ�����wj��
���<��*�

d�3�icMi�Vf� �X.5A�(��6�S&��Y�r�<�	�q7�9
+��f"�V
>�'��
�[�K�J�>�Š�H���f]4I�6�I'P�޲8U��4����L�}���*-�6��݆�^̫
��",n��b��:�=���z����f#r!Z� A�
�6��F��#��o��rE7߾���3��m��e��!������n�ÙI�
y-]�̐�(��o��{��w�J�ʌU�߱�x��.(s��_�� .�{� FA�R��
�dC'S�hm�C�m���cF�t�Y��p� r����7��
Ӣ�ƃ��,�)�����fʎR�qW�~5̰�����x�.����,?�R��h �܁���~�

���2!�ٌ‡?mq��|�����Gm���ĉgd���&���4.[g��~�� ��
7��L�7
B���o�;�;���Ѷ�b'v�+m��v��
��p��
�`Ƕs
Ԝ�jF��췃�κq@��#����X�
l�U'�3l&�!	�6�G���+Z��'8��t��{22��Ĭ,XZ�|6���;	�· ���C�~D�������CRt����
+���|��
+�U��(QwƻW,U
+Qv-�иe����K�<���ϵI
FA��Ӵ�u4ӑ2/2"
j�WQ^�U��:|���|��q.G���I���2�/H���F`n3mY�zI�!��p!V�͒ 2W!0�M�A��]h�>����
���~��&y�E|d�t��p�A
 yKcR���P:��ʝ�էq�v@����MC���#={�6��jTCN����:P�'�nr�y��د���L��������[�n�T
+<�c�*D��Q5i��G����7�
w"����P�?^�w,i��|u;D]+p�9w�3�}3���S#	�lj�P#��ɯ��{�Eo<-(2l�,����o�ZW4}/|����� 
+�ŲF��w٪�Z=�� �.�Ϫ�#��(-�
�WL7�,�67�+�wiw�˩���&9
sE��ц�[�t��e��b"� E_&�&�?���y�k�N���Ī���9W�mzP����(�2	�|�;�#�N�LEu��̦u^���Z:M��Q��je9]@6����0r��8|��d�=���?�ҝ���5��`�ރ8�]���]���yCvE߼��z�j�n��X/���j]�V�
+FI��
f)�,�:��~��H/l��q؃ ə�/H'�f��
�CՔۛ��&�˖�O��F�A$��h���W�M�`��ll}�ˆ���\|��径��
�.���D�Ī9��=�7�["l�
��*#����|���OE��ﳭj�a�
�};�r���yv��s~�7�,�c�F�
/�%J���K�ȭ�$��

Y
�C��wy�\�c��{(L_)`����v�ED�Zg�Œ��9B^�/T�V|��2v��sc&}'��kȸ�%W:�^�����̛t
��8�| 0@�:��jY1�<�5]b�c@Õ��8˚
��H�4�3>72VX�Y�F�r{�(��\������7�}�gO%��Vؕ.��[�E"vm�inD��qz]���K}�M}�����=�H���۫l�|��[�P�4��9�<���e��0
��K�0s�yr]u�]����
єd�؋�S?���92���q�'��v�v�F�li-$q��ZM��K��}��վ���
�k�}G��/�+ [...]
+�MV��X�&�3�"�5�Zwqi]�/��~k���T�

��N}�jB�����^�6����^:��#t@�k
����EC[3TW���
+���Z�-e�ؚǑ[�
<4ɫy�"(s�e������q�l
Խ�4���P�p���$�E~��Vԅe��iE�
�+�ۤ+NL�̵�
+铣,"�?���֠��M��h�U<�3ʭ68��%"'U�~����,ry�Bs�e�a�5i���F�a#�#�
g����l�Ž�j�7c?cF��,�կ����M�unE�<��5w�ʼnӅ���>�C�!>�nq��߁}/H�k�����OS7r�=�ů�ё+�z^�4�#��^ЇMd$�ܽ��d�xv�n�DQ����l,�tEQ�7�ڍ�"֛6�����/�V�e��L����
ц�N����R�|)_f��
�Z�s񑺎S��	��†i��*ө6��#�Wc��h����F�}�U�����;�a��Q����T�d�E� ��bYU"Y�.ܞ���T���K������?�-‡c(\�z����ѩ�ȍ�

K?��%�
+��A���Y>9�ƪ�&+���Ԝc3C?�O��C��
�_>D	_?	ӛA<���wn{z��kpeF�l={y���`O�cm��s����yR
0c��lۗ�,zW��'�JD[�g��!(/���m�l�ڏ�q�{����q!��l|Er�f�%�
=�4�
+E�@�F Ka���d����2Q6�x���VߛX��v���Š�͆�{��o�s�v~��*9��1�~�51�B�M�l��ߟ|t�v
���k4v��
���:ه*�ȡp�#��+J���ȚD�)
z F#�o����xuJDCk��z��LVo�@�r�����å`�~&
	�-9��)�􎇙[_?3�a��������x�C��I���<��:e��GDfiu�C�5�wR����m9�Y�9:�%�N
�N�1�3e��-x�36 ]G1ȧ'���m
o1i�_X�l�<rQ��>�8}�}s��w�ڪ-�=���,� cw���������jqzg�G;H�{�V�4�D[3<���s�P�N�Fa<�`|)�#J�
kq
`���
��_�z�`z:�nR�8e��5�&!<��W��a(����Y�Ω*
m���}�y��=�6���*i,��K�a�.�
�x#��@����
'X���4Xc2��-m@�K
Z��B��M�D��z��.�(�q=�� ��j���t�@7LK=�Tĵ��ED1�-���>����g?�fEW�Y>s���.��X� 2`���
�G���to�Z���;
�
ө����xs�.�v~S.5�H��l�L�v�;�dy��pv���k��
@j
�h��dڂ���1��P�y!�1eN�{��դ0���p�٨�V
��.��6����Αx*K�"3���L0{�{�D�&���m��gs���V�����.�����Gx��E%��?)���
+�U*��m�o
�]x�d���@�
�/�i��ba7e�u4�d��D��4�
�~�
�5KDR�{�ec�:l�i��W
O����Xiy�.�vs�!��f�G6�����O[Y��)�:�ǣ�_
(�+I6�!�~��*��ޢh��IN4��)e�
6b��%�Pc���K����_�I�M�������%�<�z�5���	��}�wvvA��쒸�|�a�\�
+���r�+D�䥢t
���̛>&i�("d�m���ɢ�}��+y�
z[������B��ю��`�
+Gx��C����'�>�op�-���1��X�z�qw�`�3�k��^
�P[��#��E�
�}��߄���)3�Y�A�c������G
��4����=��=
+oH���B�z���X�#M�
>ԅ<w��{���Ԍ�\q ���B�
��n��iM���#}�����&������k+-��@ ,"`}5��HaJD
+�a(�
����1�{hZK�Z��(%q���\I
+gW����J��=�Bs�/.C���l���-Eo� ���h�<�_����%~w?� ��	
:	�{
+SrQ	���pÌ^Y˨Ky|
TܿI�k������4���]�m���u1�o��{φ0ߩ��Yr~h����,fg!��toM
+@�:�eI�__�
�Y�����I�,H&'n
+'l1�E������S?�
�.���76Y�5��g��O2u�Q|�z��6��45?�z؆N]e􁻞���

D
�Bh?j�[�n��U,K5���޾������f��Zk!y��pդ_��h$������!�n�TK��-�l�y|m�T���b�"+҂��;tID�OGik�	���#Fu|%ۤR׸�(
��V#Uo0��l�>�S��{ĸA`JZ��N�_'�I���Nc&��?

zTo:���am��$6ːW�W��� ;��T�=+?V%��zՇwy�S����VB3��o������R�
��I��/���]Bu��mGht�t�?
7�����%6�g9֬{5>f�P�g⦊.�?��� O�V6��G���C��8*���˞l~�B�r��K�,��`��
8����%Ϥ,W5�BQ<^ތ���I�?����OMnp����	<�I������Sv}���e�d�v�c�]�>� Δ�8Ǐ8��wK�)��m�z��<s:�AC_����m��@�H`����j3"��O�~Y�u~$�P�o�U`�!GۢC�M
�F�^��]�L�`�g�t�3��ƃ�G���ZT��,{
+
m$�h��h��߲�:Dk�SM��*6RI@�aZ��+�+,$Q���޷�D��֎�����'P���b'䏌���^��ODU0����k
+ I�%�X >
+}�(V���d������"j�:q��@�u��I,�H�xv at esԾ�;c�R�.�_ze�������*�C��������۵8����#iU#,�/a�+�3��
�\ƨ^#�?Y�LL
+gk��N��Z����A&��
+r(<��%gə6|�/�o���w(ه��V�����7���4�mQ>X�1�^;���e�ou>��q�S�c��A�ٓw!e�>t�KY�^��Cy�(#DԢ����T��V���!�k��0�Zv"\��!U�No/��eP����%�6˾]|�el�ܨ�H��ʗ�r
�
�A�o�!�>��-�z�Y�����ܠ�X�h����v�O;����rB���7E2Xw:���P�Y��ⷡ�z�J�oq���%.��|��`O��;�P�p��3�P��Yeg{%��

+�1�uT�c���"G�?���O��5Ҙx)��a	r�s�	��cۍe��K�1��C)Kv���z@</"�6V�*
C=
+c
�*Tw�� X(�=f\X4is6	�<G�n�_� �
�Ra�1~7��0�E��a6�w��9����
+ C�g�c^��>s�P����lꊀf�̻یr����R��K�ޣ�d��4o�7p�H�Z!"��|:��p�:Jd�e�F�%-����Ax��H-c�%q8
�P��ԯmxaMOˡ@+M�{Dk�۽��~��E���x���z�
��Z�T)Zg�Q,X	�G��H���*5Y-�eL�Rw�ߵ�{����p��i.�} �H%����H�ְT
�&}��ME���2�W�&R��&�
J*��9�y���:�7c[n��
M�!����֭�c:
���I��UD��{�"S=::B�Α(���A
@>�v
�����\��7#(�<r�on��;��!�q�b�r�wn�q� �=5;���k�x�!������C��(E�>��u 4f��z�8,��XWu���k^�C�k�UF���/M^�'���I�
���l'��ȼb��'��#9�
�+�yO���t�|����ٺ�֣����r3�P��C�8��(M�(
ٓ�U	��"г�&�(X�f6�B6�D�!$� [...]
+Ƹ5;�3M���:�fz"�:) [P�T���Lbp��W�������Ό��c?hm?+jɓ���v��e� ���Q��k	
�Z\��Oq�D2��5h%���w"[��|$��W��@��Z�?(3��Z�����Z������O$
t�v�|��yZ��[볝,r�
]�e�|�}�0(g
+�A��
��,���.c����|��e�R���0���87,"���k�J�w�I��]����@A�z�]����b24B<��%��9{h���݌��[wt����q�dN�z���8���f��@
B���Q[�h{|*~6x�9�\CeJ�{�
=>�-s�aؽ/����������
�_]�ZohX6\۹8�z��7 U�;��yH�i�!�V$+��m�
b��D���o
@
��4�����֤�T�-�W�愥�gP
'}�|&O�9�jȇ�Y]�ߜ����Ƃ�'i֙�Ӻ���$��e�l礔��H�S��Ī�K��S<l(��=߰Tr�
'\YJ��q�E?ʖ[�G�E�_F{��K��&"�2i
)��!�`�9���>Uw�x�Hu߄��]��H��z"���"ݑ���R��Z,W�Z�A��x��F�F�L��À\��\—T��.igs
lIaO>��1XA^�
��ت&�D�¼�v�b^�|J
b�3
��ߊ��\c��Nǎ���3�Ja'Zz���2_����_�w�.;�����>��i��
�Q������s�>G��tw���
"�^}>fߢ�
LL��B���+�T:�x�Cu9}6�V;$y
°���@.�6v��pd;�5��0
����T�
q$�B"j�4Hc¹���$_3�
���*e���.�
�-�z�k�m��gq�Z��I�HU�y<�A��tu
;�G�+W�{�z�q�@�f��3B$�i>�m1��̱�#��P�$3HZ"(�@ߓ}�*S�wrU��N(�/�[8y�1 ��%E-
V��G�N��x�^��3�|e���9�أj�c�ܒ����>�?�M�x�k�04i�,�M��ޮd�w���OK���
���wt����9�ʁ{ ���ؔH>�
 �1v�]ҏ{�Q�6�v�l
+�����ji�����3?�}���
ԇ�Fzc+'�t�
o��`��;ـ�A�T*Yߍ������-��5S�Jr}���u�?VMDT�.f1�������&E�
.}`��m����ͫ��A���[�hgkJ�x�f�����ߑ�RW��a7\�M{5��MG
��y�7e���<��)��XdO�G��n
�h��7bV/�%_١s)�%�zY�
DM�rDt4y� �R_�"^�뱠��sL�c64wxʋ�
0di:�7�'��"�i��ޞHe�N��Uq���f�EEk��ڎ����}Hz�NW��bKc��[�M�W\Qc���,|�p��j"�1xF��j�v�O�GPS��YL�^~�uiY�I�$S��^!�2ʹ�e�ŧ4a�2z*IOfz�#�w�Hp��we���������zc��ةQB#�oS���Ee�����u�й��Q�����
]��K��
:�$*
0v\9����R��5g��v�Y���
+7�l[���;��YZ
��ҡ�l2�]D�BDǭUV!��d�/r��\q��&�LO����MT���m�~�A�{�-��8�XnQJ���2d8��>�T�2�p�lFF�ݝ���H��>�8���w��б ��"��܄�6:��\�C$`��W���(�
�+}
P��dy�F��uO�U#���i�d���
�f�4����6\<.�<>�if�Q[�h���W�ኚ$]�ځg\l
��Y|�i�zG>�ĕ(��$����4���CQ�_d����V
+�]$�C�\�
�*U_JT��x��ַ=`�A�s�% �Nm<�CsH
�z��V�ǃ�h�Jq�.���\����
�B���^��S�ő���31>9U�w�4�h��Pߣ����)i�0k�Ƹ�S_q�Kќr4t9�:���4JQ	�!�R�����
��nN�g��Ǯ�x3��~T��
8��
+endstream
+endobj
+3381 0 obj <<
+/Type /FontDescriptor
+/FontName /PKMHPR+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/B/C/D/G/P/S/a/b/c/d/e/f/g/h/hyphen/i/j/l/m/n/o/p/parenleft/parenright/period/plus/q/quoteright/r/s/t/u/underscore/v/w/x/y)
+/FontFile 3380 0 R
+>> endobj
+3382 0 obj <<
+/Length1 1625
+/Length2 12728
+/Length3 0
+/Length 13573     
+/Filter /FlateDecode
+>>
+stream
+xڭueT�]�ep'�h �����h
������
��w��n�a��ͽw�7�����k=��ή]��TS�*�2�ٛ %��X�y
+ [����
������������HA!�4v�ۉ;y�@3����
+`���A� ��;x8�,,���*�4tt��e�0����M0��@���
+��w��9�C�?_TΖ@�9�UTҖV�PK*�$�v@'c����
� 2ځ�4 s{'�Ϳ ��*AK3�c	�� ���~
�n
+t��8 �lA`��7 X8�9����
 �3�q1�K��nn�!'���w�;��=�l�rp�gU��OgKc翹��w7���=�����oI���a޽�� ;0����7�	`;�{��~sp�C�
���/� '�����

~�y��۝���To��`���m�����
�1gDda}�i����d���wX����,�����8�����O����
�;	c3{;��
�I���=%���Me��9��$��D��?q�]���������p��Q0�}�-���� �
���K����el
���o��{�&�_\����O����!�v�032��K�܁fJ gSK����{�����3q���U��� f��Y�L������_.����7��B�ÛIJJ\UX��ۭ�D*�π����;��]����
�∈ػ�X�x 
l�\ ���������I���卝�@� ����Y�������o0�v��f�F�����}�����m����.�?O����8�3�@�;�qi�ޔ/�*5#͹7{`LL���j ء�N� ϯҾ�75l����*��~����c����
��P�
Ug2�,��Wr��<�5�6.�� &�"��c�(��Y�
h
Nf�ݭ1e�ϰD�mlN��w4~�y~X��8������`�D���Q�tL�pp���oxp�����7!]V
�1�O�i�����M��+̣+������V��2��
+���[޵�f�|fo���,My5���8�7M�	M0f�v2y_d>M�����

U��_�����1����o_4f��vBg�4�<�-JN׎�3 �
��Or�eӁ科�憸��*���<LIk�ʏr��Ė�+Ȫ�߭D�"�
�KK,�E8B��g=Hi���%o�:�m���}�K:��#�}[���������%Vmd��$�2�HF��^� u&��������\�lz��V4Up

}Qg;��S?F���L�^� ���[��p%{ԬH#}
]��Ē���}��*�TU|����I��I}�k#.���h˺s��t�ԪY%vG"��O)*>���G�lW�,�oq�M8+l7�(�^E?ט
+~e#��;KG	G�y���6��
��
5;+���"�8�wh��ZqP'���y��
�`�<�WUBt�S��
� ��3�^O��
+^�?�s�������
�ɯT��Z$�ו��s˙*��o
.�x���+P6�a�4���X�d�t��y
@pQ�8]�
+x��y�8�F�l�н��H�|`Z8�G�Õ=��XK͸�H�6���z�
�
%�L�E��age�;����֓�lq���1�$M��F]bU�1�l��r�ޤZN�
�H��z�d�t�|��6�ڙ�y	����iM�8�
+���Y�4�����c�|R 7e�
�͡�@�Q�������h��f�33�:ü4�'�"Qn%D0d���w|�h�
7�ƒͦՁ�q�e���9�Q	�����ҥ��ko|���F
�v"������{ǵj#S�#���n��Bh7Me2��[f~�ꄏ�+Bao�ct��}� $�A���s�Մ��uK9r~�wF+�L�t��K��c��C'��EI4.~3�ڵ�+:�x>�2 ���2i�O'���P�K<2���R�������|
���lUy���������qq��]�P�
+�Zj�sB=3���&
� ��}8����TO�[��
�
$�?D�
Z��>i��Fa�Ku7P�HJF���aQ�G���(�
+<
Ee����d�>�/B"׼�,��5�uLפ�uL5�L�j��@B������(j�QG�@�U��)K�Ur��Y��,�sA��
N	�W�øf����e���ܘ�� ��ߨ��E����;&
#5�t��
�GD
ERO�!h��Z7o�&	
+
+����j�hR
� *μ�46z���ˆNKJ�%(/�xl�,Z`D���L+�#T{�����[6\�Rk�%�Y�Ve������� <XS}ۆEAܼ��$9�ҥ�
�.h��"�N��j�KTYYAbO �P��Q���ŏ�ia���r�/���\�?�[E�~�����w�$Z���0KJ��,WkΖ��� �)�~ϣXp�$B�
��5le
�PB��<�����,�?�V�
+��'Vvh�j�/n���v1)�Dʋ�1XH�E��ƣh|�"�f�am�Q���Ɗӡt)'u���`%�s&���2����_Lz�g�5M�;�|�B�����_�Ix��>�2����ꤨM�r��&ݣ�t�
�ܕ�7d�a
~������ҋ
�c�@�'!�R�����5��K�2�FO� ((3�U����{�c��U��Ϡ2���}���Q��:"6�_�@�,��18-�iD����`�uXc�8A'�?hRu=��o*�������.��!=(���TQ6XDAf��?ǣ��<aV	W���}e�� 1u���|c��m�I)��;�Lfr���X_���nK@��Av�nY��A;U�x~4��mJ��b�e@"+�0=ח�O���ϥ��N���cD�I+"�r?��0��j�n��qV���W�
���j�i��3���n��X�������xXš`N�Jt/y����h����$��w���7�!��`�Pul�q
�j�]=_���S- [...]
+R��rq*��1b�=��,���-������0��?o��9�z7�l��X��޵Me�Ը8����bm;l��+�R�y�٫�80������R�Hile-��+rS��ƨ��Ak�� 2N�� ;���bRA^'�Nx��I<��My9���W�j}�ئoEkJ<N��`K�*Ý��Ϥ:;	�P"�B�If
�Y"��u�7�
�Z�=L.7~	p�8��4]� ��t��� �@q�8��Ŀ"Z�2D�d��'�դ
+O��j�i.���*Vk��V�H���.)�@)l�v�ܸ�!�+�@4M5E&�F�1襀E�r(�s��U*.{��q
�\�O>�!�7I�RF�5~�;1M��o��D"��k���~�
�	��=xie�&�����M9~���o�����%Q���5���P��hH��hh�:Я/�Fp���d. �����3ٽ:��.I5 z�"����T:
�,��J��N#�k$�{=sF�*ױm����l`�3��f���ϨM��7����2?��G�O޼��&�P�<R0d!���+�ޖ��OM2q��ͷ�'���ABk"�
� 8��5dx+��?�4N��>޲��U3��)�-�|i(�+�”d]|S���4ǢC�ϗ#}a#��.\O
�hltK��8�U���
�\w'\չ����&� 4r0��2>��g�g�]����t�?��$Ԍ�q���7'��s�ѹ<�
�M��h�>+.��'�1Ps�"x�|b�2 ���֢�{�ʯ.�5қ�zld�{x]n�= [...]
ݨp?���a���bk�dY��8���U���
q�`5��G�a+��|�Su�2��pc*�2K�4��,����O��
o��/5��3�az�I

�m�]`�x�L j��-6Y���eN_�q��o�)d.h^�1Z�uԬ����Dj�E
;��9�c�c��`b�'
��n�1���<��^��JA10&ӟ�cu��ф
�>����`�565:�L濧�@�e�m����e�B	>�
~e�9��P�M��V�X�~x��l�v"�kr2�J�(�J��4�'
\��vN�"�[���חIL#�Yf�~aP�7�mzf�æ�]�|,*��;�"{d��]Ě���0Mf��:����]E�|ۍh��(���)��K�-� m��~kn�,K��E�l�q���ؘѾw���Lԯ��%]C���'u��A����Ũְ�N���Sўk��F<�R[9��8��}�
�6�6
�<�)
LJs�p��ђ`lگ(䃺N�C�
7���sU�%3m�E^��t�}�R,b����_�Á��*�,�u 1xlsr9��$;:0or�y�_nO����/ݡ����r���-C�b�R�+�,�zH5UK�k�0���!F�T���ue�	�,1�q
7�\ZV�x�:�k���z�֌���ç��ND�'�N���a��i������ԐJn�G^
P-�VyXd�c�xM��Ԧ�U�HPnI�/��$���D��1�YX��m��ƂČ%�[" ����y��f�~pP�
���_��H�{��v���ڢ�E.6\[��U:�[u�}�  ��Eږ����=7'0
�r?���5��M�
�W�-����xsL�
��"�ڹ4�Z��&��i�F&�U��{�_q�`ˀL�A$��S_Dג�)HPq�\�1(��0Ѱ0uꇒʱ�Ns�
�<OC�ja��<ؐ�����oZ
}	���%@���
��
�y�Sh���QDWbfvhȍ�x(H�o+�����|��;6J��F��s��6S�V?uky����N�~_�*y6�z�ɣ���M�+�oV 3���
D��ڌWx8\gNK�GrF�C���DSXH2yd���Mq��WW�6/.x[�o�-w��L�(
F)P��`�3	%n��%I�
�X�A
ߍ�j����7a�jG°��OE�ͱ�����zq⸒,�&!�!-(��j/saF~�^��ud��u�n �~��ɭ�Df���x!Q
���<2WR�7]/f2�{2�CĎ��C�:P�Xy0�_7d��"�'0�-T��+j`J�R�	3�?{�7��/�	#�Va㐝�"6��������a{�ϗ��?b1}Z�
�ػ�D�Cz}L�����?���E��/,��_m��U�\2߶DD��~䈷o-��K0r!xt�|�PG<�V�}իќ�f

o�,Ly���p���}.�%�/"6w־��'�jnJt�8��m|Ɵ��R�ayy��G��鹞�J
�h߻k۽>!�4���LXt�q;��,^��$�W��{P���r��g����P�#������y�p;�������^92vJ�oux?qL�e_|:AsJ�<Z�%�
�,��ﴚ7��E ��|2�IvR�ּRd�!��
��+�C_m�j]�M,�{�|AS
s�c�Pm?t����߫O
lQY�+s߾�ϥ
vqBS�I�| sk�k��[�����g�
%���z�
�5�熅�2�m{6i���
+�0�D��V;/
-29�~չ^�t�|F�!Z,$���
+���z
9Dž	-��-�|H���/t��|rj
���p;��we�M�}"}��^Y�n�^�W;y
.���QP[Ͱ�rMi���d��w���խ[L?h������.T�[&��������Z]��K��靨�)�B3͙K ��œ<=G��"�n��o�#�A���U������_�յ�R����us9���z0�g$�5�aW��^2��Emͽ�"�r�^�그�/�'����Nb�\s�����h���|���i�]�;���>�-1���=Y/
�nKx�1Q%~�Lx�Z�(���;�(�i�Cە
�:���OF�S�u//�ŋ��Gb��j���<�`��7$b�ޓwL&�3-���	���P�e�,�@l��<�:
+zL at Gb3�NH⨚to�i�o�_cvIp�n���6Y���~�����LH�M�NǍڥ>'�U]�0��_��w��S;�xb&���⯺!�a0�q�u�
�c	+.�7��%��eĦ��/N>�n
Gn��7���n�}� 2S��2a�紫�n��y�P�r���π�s��:�z�z�,��"R�.J�F
+�"����
��b?[
8�d#ꅄ�.-0.���
��$W�
�Y�
�	��`���[�������_��u���&zS�C�� �!�ɥi���܀C×A��{��sy�RwuȞҳ��J�WN<IO;.�m[o�i�
+����
+����J�q����/̥l��q��$�����SƷL�����Fw
5��O�~%��������`$�vt��	�Uo�Yk��{|)��Yq
s	��
�M8Q+/
�|N-�d��c
�þ1���ɛ���� W]ȅόO�h��b;5^�K`���B*2jI���I�s/EN�Yoq��
�.21���t��
ZD?�U�l|��[Ga�K��6+㳔ү���������7�����g�>E�"�:�W*:Q�40ѐ���t�
.�re{���H�U�|
r�����8�/���-�.IQL;��&���aG��9�0�*
�l�9i��
G� 4ͼ�6n~
l-�p
�&���%q;�5/���Ot�/K�N�i��.fl�l0���c�o60c–n1X��)�YU��h��Pȍ1���ٿ��_�
��U����pŶG��\g*��T�9
���W����mD�s%B{ܘ�#�(*�x�*�Q��]B5�h�i��6�i�ϛ����c��Ǹ"�Y�jq���ٶ���A��]��������m܎<B�o�����%+?J4!�Қ|���p��)�H��B���H�����$�!�yM91�X����B\��Q�'�B�.��=�d}����-����h}���
!�y��C\����(_@�'Ḵy
���z@]��[/��D�����Υ�z���Zː�F[�_
4���

+w�Œ�s�E�g�l�r���s�h�]�I� SlBy�����h2�`H$������԰�>G;8���7��UA����3U���1�r��Ɠ9���B ����C�G�3���c����q7�g���9�� �:�Vez+�~d���ٳG7���Śhؽ
��n�F����F=I2Vg�y�u�!��~��=_Ob�������/'tn̨�
�P�e�F!��G�z���63���'_Y�0�*�b"3�w��J�W�ˠ6�/K��z�V�3�
�8
+�͌��iJ:���MK�OF�4a��{.�3��c/�n�1�[B+��/��
(F
�Q7� $�����M.
�ɪ�k@^�
��2�
a�ڹ�#w:��;�Bހ�E.�ױ�aH���H�lƺ�6
?՟�
�ϯ����z��n�F�"�??8�Mc�n��
��/6���9,�o�唯�ݰ��K���&Fe�}��Sו�.��o�h��۱W�t��CO�
+�KE���<������ȉ�P>2���Fe�$
ʸ
��]ܲƏE�o�ټ]�m�(õ�]
����3f
�19�
�oRә���4d�x"���s�4��´�M��������R�7�E߼@s�}Lg��v��Mt
R9�9 Y��.����$�^��VM�cr���:�����꽠��^�jcC*v���p��>k�6��1ʭ�ͧ߂�q�昖~k4qzV��B��}����?T�a�-�m��l�}�g�����E�=�-l�T�0���p&��	�
/��Z'�ɭ9���E9={�๷y���IJ���W���Z����_�$L�Ŗ.����9WI띎rʹ�-�_�L"��'=���
Ժ�Ch/`'�и� �҅H#>����a��@h��q9�Q�酴k,_���UT��4�(ྭ��ٕ�%k3oR
��.J��^踣"�s	���)���i�6�x
+�lvC(�}�=�15V?�gL�B:��u0�w�O^${�5w߳�2�s��NT'h���U������
��
+�D��1�I%`���Y#	�,qV�"�2Y���'�u�����L�m��9(�0���gd̾�
"�ga�{w2J�>���?Sc�榋T��q5��g�{�П��m�9�
(������!#�
�8F]�ߞ�TV��Z���%+��!�-� �� ��x�Y�|`��]��U%��-H>.D
+�# �I�VwJUŽT䭄
�8�u~0
/ܗa���5SuSZ�����)������w0=��˰žz�f�c5.�
!����C���|܌/R�$c"0`y�rلN�k}W#���
Z�K��
��zo�\!�L���f:x�ư�����8
�rW��A |�2�[S˵���T�<�[�9����<���:A7�'���ِ�5z��Q
��*���D������q�9�������A��C|�,�YP~!�)fqA։Dl���_���~~����By��%x
��I�J��9_D�wn�GH��}��
�{�:�����r��m~h�nRB0�3\R�����פ�
��
���-><,��>���o�+)��x�Mf��O �m�f�Q�2JU���gB�
!�����
H�a5@��ѵ�}�2�{��JF�??��zň�� dwl�
+q㟁*	�:�1��u8!>M,%y�p��8L�qYw1&Cꇧ��
+�
M1}"8kK���\%
Bݎ�`mۓ�]�N���OT�����7j$|��Kx灈�A�׎���S%EG����}�nJH�&�j�%a�Z�12�(��z
Of�o�\��,��T4��:)�"lo��T�$��f��}N ��������g���ev͕�
-R��ǩ�ཝ�)�^BiD;�ʖ����g�&t����.-�?�1N��̧��1[bK)Ṅx��߯N��G��b��ǚ���OrqrJ����P��b)H�R�yd#�\�����0.��J
+�.�r~HR
�>��K~#��������DŦ�
+���4;�/>
�5L�W&���["׊<���}�O���"ЧaN��O
�b��T�v]~��J���l=N/rɒu��Sv����點w<M���h�
��,T��F߂(vi�6�󚲺��`R�++�{5�h�AOX1Z�1�
+|{��
�L
�Ԩ0Y0
(�0Q˿ nA�H�ge+?s/M��x@�

�+��h�����)M}���-���1
+ʿ&:��� F��J�t�xM���'/1<�
X��ʇ��3
zr�C��:k
��I
�l0��c�NG�>�1_!n�e���l������	U�%�������{/d�Uh�Lݸ.v�ˏ�sh
RD�Jʯw+e�'�#���l��
+\������e��|dhؕlOaey�7�&��I?�D~l�m���O
Ϣ��-���~)�
+~:H���^�
P��%�\LFC�� �ӡ����g=�'������"�Q��XJn�b#�B;p�uhN>�A��[
�����ѾJ�m����A��'�K at 0,�.�)�s�
?}R��kA�js
�� ����?�}.�G�q��I�m�2  �\���B�� Y����e�/�'S������9�J�BS�
"%�)q
Gb��7����[�'-��9�LU���}i�ϭ�f7��c�2�!u���˿�$�
_�
�Qyz���Z��Y�yMQ��~w��gv�;
n���`2�
lt��]*<�+'��'
���C\`8�髮��!Nu��9�͹)@��oV�/B�����/��r¹g|W�~dQ��
�k�x2d2AE�+B��L�[��2ҫȟ>6A��+����SY����"�vf|��T7�G�=�}K#
��a	�3_��.�\g��������K
�Mm��
��L at y��D�� �V�En�#������jv�j4Y'��Ϝ<g]K�E�o. ���[ҷ�c�6�X�?���
|��'ai�T�`�um1s
�<e�T� ��;F��|�Q؍�
FV:���OIеp�B+�?�y�`~T%�e���f�;AR`9x�෽_��u��w��<�����t���V�J�b��ĝじŞU<�Wq��o^iޮ����	[j�����Rs�
�������&�P�o��L�Xַ��X�=���2���$���@2�w���
T?��ܞ�f�kqxA�N��V�K7vG�-�b�2������|�4\�(?PU�����?P{;3Km���q�m�fa�+��|-�Е
 [...]
(
�*��P0��Z7DOy�$+�D����j=���2+1h4a�sg������
�_���n�U4��>ش�)��me]E�a��A��6�5�R���]?���L}��з��Ͱ��s?S���k��K`�q)�o�Ez7q?
r��1��ZˣD|ER����]�ԣ��F��˅݆۬�.��e����uB�������gA��T����'��]l?�����
�����-%�Y��~�M�T���KC�j�LB���87!�
+�0�	.��{�{f�U�D�8�V?�a�U��Jtw�z�Ȭ�zX��ݎc���ڶ�
�A��tՓ�xr�R�~�>��@���7f��e��5
CR�~����S,��r�U����o�ce��F�r��fuLÄ#�QGێzU�)�.O��3G�
���2T��`�
fzGν@b��?_\���
+��!�ޚ��0a�?���kL�1����p^�X��{��J]�
+�]ZN�1x�����+�u
���M]�x�&�ͪ�jav��}ݕ?���u8�y�6٣qp���
�s��fha�2?��n�n�Y2�w��~?�%�%��a}�"���Px�v�,��n鯧n���2
i��0�\F~��A�&�����.U���(��I�e.�����A��qu�S5[�)����x*hB/�f���%'ۤ=|�əc
+N����C�W�~�n-�^�
+�ʩ��5�3jdMd{ff�(�r�u[%Ŗ�xhΣ5�3�%�7��)�ڀ"51�V�
�J?�cm�l�>���[$��1�[~�����Ix#]��Z���ތ1��e�K����ekN�r `h�`E��V[��	�]E닛&���Ƹ
�	%t h\�R�)]�ƉM�^מ@۬hK�
;+0t��}���4���
�?ԨtR"���/j���r��E�G2���P9U���V��I�zx
+
+_a�GO�Oׄ� ���rF��S,�!a�X]K���һ8�|u)\E��Buw�aG���N{�8�/� ()z���[���s_B2b���q[����%Dߜو��,��ҹotN�g��$f��?P*�1
�
d4Cճ%��Dfc�Fz�6���`G$>
>hZZ��k��Ĥ4�g[L,r���aE�G֊��[[�.�O�q���Y�pT?`��p�
+�����{�熜�cC�%!k��$�(~�L��f��@X|b.4Y	5��&�)�M׬f?0�m��i�#��VyE����?�g���{���
�W�&W
+E1F.�����-"�Β��e��^L|���6��#XD�K�[��;�N�M�ŵ@�z���zd����Q��S�V�'N� Y�&o���d1[*�D-��0��TX���b:2#w���on�+�Jq�d�y`���\��Q+��Ac��������-`�yLG at U��L�Y���E��^����Gm��*� �v���'�
&��
+�:��X�yr���oRwT��፮�t�q�X�
�Vɾ�

 ���T�y������/���Bd��}zae�Ý�Q� PJ�Kg�;a���4/��.�gO��Ƹ�#0���[-Q#��&��aWF�t
il��GܛEpq�2��U�7�K}5����G���=E�C�l�ǯ�0Ƿ�f"w���#PaT��!Oq�?� R�m�y1���"�u����u�z�繼�f�n�k��������1u�t�a��胞9��[��rg��&�B��u�i��9QN�ړ?�DI���'6�>ˈ��&�M
�-���+�
�p���'d ���>�t�9X�퇨K�˙
�X*66
����DK�
G1�
-���_s��t����Yd�+�9&mW�1��%�<I%�d����vM^l�i��@�X�V1�6��p��W��X�ҘO�
�8��^���w�v��k
+�������A/��hx�s�rVZOh�y�]����Nr
�"� ��2Q�Y�ĭ�d♥A�f����;��6У���I:���$��{^�J�� ǒE�!_��&�.�Ԛ0���{A�jf��tC~�t�q|	�K]fQi�x���q�c񆔴D+8K
+Ff	W
�ԙYv1����Wם��;���Pd��]�7S�I�$E��w7 �٭��,7neo�~�6���a𰴓�Y6�3�2�ݹ�{Ǘ�D�;������
�'��e��
]ֆ��z��}f����g+�7��6/�t��}�
�d
~�6,<T�$�a��H�Iv���T����L6�:RRbx�eP_zw:8�CB��ɳڬ��'<�(
+�f&.�e�*��;JH������

�2Tد�)�Ts�*2c EH
�����%�	
p�:��Gٲ��܀�;z]ց� xÍ���QE<�i89�a��{٬&�CM��E�	�b�/����`(�ă�n���O��j&��9SV�{��J��a`e�_<H����X¨O��U�O%w��t߸��j(���q��
��T�$�QS?J��s7?&@T�`����%��`��3�0���gI{������v�q�\�G�w�ЬBJwKL�9��F!��M���w7'��\|sdSM1[k���4h��
��TJ�vxa��&N캜�Xs�øU��Ӛ�՘�\+/�qR"���K ��H�- ��aE��M.��pc�}hY�;�N��S�� ���%S	� b��)�7
+endstream
+endobj
+3383 0 obj <<
+/Type /FontDescriptor
+/FontName /HHESAH+NimbusSanL-BoldCond
+/Flags 4
+/FontBBox [-139 -307 822 975]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle 0
+/StemV 114
+/XHeight 532
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Y/Z/a/ampersand/b/c/comma/d/e/eight/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/t/three/two/u/v/w/x/y/z/zero)
+/FontFile 3382 0 R
+>> endobj
+3384 0 obj <<
+/Length1 1641
+/Length2 7476
+/Length3 0
+/Length 8314      
+/Filter /FlateDecode
+>>
+stream
+xڭweT�۲-	�

�஁�!x�h��n܃���KpwK� A�k�@pMx$��s���?����[5�fU�Y_�nzj5
6	s�)Hbc�b����L��@{%�7[sI���<
h
x����%�@@b/���: s��
��
�B�HB
ܝ��V0 ��[
f�[~� L��F�"�`K{ �Ӄ
��`��=Q��5@  �
+� ۂ ��jz�*� &Y-�,�
��Ԅ���-�
�6�CA� 
������S��֠�O\P  u ����@nf ��+��d�B��`(��	h{� �7�u6�]���� 'ȓ���D�� fN`�)����_u¬��߹��' �x�4��9�n��D�€`{( r���e
+����@���OdN�?e8C��������:�ۂ��'�'�߷��>��{������h��� �AA��h\�O9�`O�-��h
�F������n���7�r�sAL�g����9���
`�@�P���R��g*���D�H��?"��N�j�_^�����Ojg[[��� ��h O�
+P��5����w���+l�������M�?
u@������_���Oڰ	�
�eCe�n s50��
+`�}��?v����l���'u�\,������������
|A {���$؟�9�dtU%X�{�����<�4�
@���JGb���o�7o n O6.^
 �� @�� $(��ߤ�����2�v�s�srr������d�i{3���Ҁ�͟f�_�߰���ӓ���S���L?�2C�:1	�N�H���
�I���p�9��k��UC�}SCׅ*L
j��>
�ju�=p����rg��-cw2�8�ܛ��7w��]�e�=�Q	fڡN��Ɍ��;~N흍1��F�H��y�PN���h]���
�|�R�b;p��j
���>
v�"�n��dǠҋ �|��a�&N�f��\��o�޷��U��VY=4]�	����(�����)2W��\�I��8�WT�A/��i"
+�S6�^�*+3f���M
�rI\�I��ҡ�$7��ns�N�e��ޞ˶_#�g$6˽h��%,�
�kT7Dy���ڼA>0��5�@���V��U���K�]�P�<
LG����_�w�kMno��4��\��;h�����6�q�-��E�Tm�E;�m�_� )>w]�׺OEc4�u�^�~T!���9�D�7z%|ݬ���&]�sO�/-%kU3�G/)�
n�/����<�:��z��b����%S������YG��E��	J���5#Z�����aB���_Q��r,�Yf�
NԦ���SH�v�o���V릫±5;��03y�H.X7؍��>�o�~ H��睒{-�,�0��pe�ҩ�d��]ӥ���Q����k�
�|}O�Yc2����VVTJ7����/�N�>����REhF�'w+��ꈉ>	����}
+s�p�3��v��,Ц�@���Q✆�.W'��K&�ѩ�����oc1;��"��a����	ɮ/�_
ܷ9��
��L2 +{~�i
�3껮���������x]����|)-{~��ݎ2���}-B�8���9��=b�VFZtI�˘��:6N�4�ә�9E�wY�����#G��~�2��mF
%4ߘwhk��V��*$P�e;��Q�(�ύ�f��ى�;k��]!�%d��H��{�3�\M��čnn��V���Y:�
I�\�3��#Ÿ^��`]�\|������=��8g�!��L�D��מ���L�ΆE�!���0kF�W���f'�˺��o�T{J�Q*���
�I�=
��}�=���v�HӴ������lh+�p�qHP��E�Y"hw;��vh��]�ę��^5���ѝ���6yv���f%�.^|����[���Gf�di��]G���1�;�˲2E��
��3�&;'�L��/��V*�׋ke��$�G�0T�P"3#U�G�	"���N��\0�=L�ˬ�$S�~>;��Ր"�
%q�1��n
1F��U"jx��OT�
+W3	�����_�0���H�Ρ
M�G��]��m�|��G���v~u�vwz�S!��`��U���Iv�/V�w����uo�o�# �r�Jc�,�d�����o/G>����T�fMgE�v�ޯ��,~���N�k�h�,O��z�����:/�p.h,��l[a��'Ur

�"U=B� ]i����(Of�u�֋Q��(ǹ��EQO�u�
��Bi���"B�4���?
K��@�Q½|n��\�b����B�
��N;U#�
(�j�&��U��\�=m}��'5"�s j�����Q&��I�e��)t����Q�΃d���R+d�ijk8�WX�t����W�!��ױB���@�>|����nZ�a�!���r�}����a��H3��*z��V���!�
m
��.�����7����,������������"��&�l����}R�	��+�HȒ�L}@Lz�]�vi��_�9G��#����0;�E��6#@���O�
[O�b
+5�^ZS�NHI�%y�!Ar�m����ߕ�p6��ۑ�g
8~�s4�z��
	�u�׋��
ɺ�d��
Af���LN�*l�o�����Q<sn��W�rK�:��R�e�ל[���7GM�����s��c�-�r
7�T����j�z�֒`n��
.y��CKGG�
��tX�Ƥ��ޭ:��A2�ߍ�p�~j�L�af!o�qi(��@}[����B֫�7�xsbDr�56YbE��ds�f%�
+0��h�3'��8�@+5�KQ;�/��&<%v

���p9̅�STgg��%���=�3�� <[B������-#����B;��k�o����7��B�# �+#�;~�b,�Jb�q�m��覕�>F��Մ���s2w��@�O�#�
��5_�.�����A��-[
��/E�w��
+��Ys�9�*�N4
�]�7b��|@�!j/�9�/����E�J�8�&}>�`ux"�C�
��
Df�����'~Tm�i�B�u7��`��b��������zGO�/O�Vd���y�&Z����z�w�\��5������r���`�9��L{
�B
���c7x�7~���-� ��)�6�S�K"��ě<
+���tt&�ν�#D�
���a�-��p�ZrnW��6�Z�
�n0������ܲ7��K�
�LJ���@�$�˿1SRיo��IPd���w>�g:�
]�5\�U��:�E@&�Z��̥�盎b`�j��
3
�yZ��S�$�3
ײ����S�V��S��J�B�4�������#��ǝ��M��R����[\��8ңA"΍���
+[zL=�wm� �
z����Vy&������w׈�r�������6�u
�(���d?F�WLo�"ˏ攼��&-KxW_ŗXk�aw������k�~[�Y�����2'��Z�gmI��DM���Ap}��ptȟTb�0�{IP���.$��*�3i��Bfi��Vt��3VV�`�Z�
�W�f�(�
�͕�11)�
+4��L��+t�}eO:qӎu�9�@���V�G�p5�Zlbe"��wk:*��[Q�8�<�á�)�����-
���8���F�(31��M���a��Y�95S�'37����w�{����

+�}S�
q�er���׭[�����r8Zgl����)K��D_M&s��E�>t�}q�ʮ�-��#�w�h�|[jF�U\��b)v�R�����5�[����OT�iɜU�:E|'�v[?�Ѝ��DC\��lx�8�G�!;�.� !
"��t,U���� Eث\4.mtdE���e
+��$��?2��w�E����
�X=��1���(p|����a����rZ��%cw2������|

)�=uiw�$d�7?�
'���8��=K


+�8�a�
�X*��!kv1@W� d �V�h٥�7�B��ڐ#�����׀"�|#�Y��!77�
G;m�~48���
[�*�2�{�Y���2���^���LBh:��&�>j`�����\.���S/��dZ�z���&��gm��U%G}�1_�
�}��'���&���
_h{�3���b��X�w[�N�7z��r�j�žJ�
�8�B{����lb���~
�ᩨ ��
2҆)��0O���|] �0s�w{4�}ȨS���4��
m�odR�>Z�'
�-��
�4��3�%P�&�
sF�֧�N����7��;�[)�&-�e�Ol
TElۑ�T������^�
�r����|�R;��
+L��&�
��L끐��+e
~�B��k8�k�J6���Q��2/_�
�m���/�xQ"
+����+=�0_9�^=�*� :��FD
o~�c�M��
�O����	��
���8��� �
n�)���E�K};/�4�ʶH|�e���$�MUV
�t��vj{�ҟh*�#�Oq���n�>�p��\��ӡ��̮:��9��q1($)�cR81$��74�-�ݤ]�Wv��r,/3��R(n�=A.V<�&����O��3rH�r�Y���6)K�g�d��W
og�����**G���ƥ[
!�jɷ���D^��P|1%���[�ш�{\j�[���*�"淁K�����ߋ
���(�����k�8R#i��߅���B��|SLI��F�;��G��/�
f�^��
�W�UǻJ�4������B"�bHAENtuq��
lf�T;Fz��E
+},�Z�1Yp=��9	�.
r���&n��
���N���ޯ���j��U���
PL^�~l� h���	r�
g�R?������W�u��Ҵ Q6�����@�]�ϼ�⧇&��˒�Z�"#l�$ޝ��|��G0��7t�w/����8U]J/�y$z{
s���w~��
4
�t8��%�[�H;!���s��L��g:��*����
+�$}h�|�S\vs��k���l$u����0�(�Ps���dv�
��g&ۦ�<D&b
���
�w4;�lB"��=��m=��,���!����Q�k��� 
+a�h��pL2��*d�|8ɫ�K�8%斩�퀷el�fHd"J2�x%zN(=����Δ"$��f+t"���I��Z�� �$�;�}�X��Z{IyށS�njZ�>�gyg�W�5��"�����IZ$�T����X

����~?)(է�7&��0NKq��DG�-�(-�X�k�L�K'61D��p�Z�Y
%{�*��me��f�~ �#�;��GY
�
;�-�ƹ����6�ϭ����-�6�rx�V��Y�!�er_����+>���\X4�
Sq���߂��Evԛ�e���, *#5z�v����US����۬+�b2�E

1�}��E�:�S[�$=�@���[t\���Ӵ6�ZU��mt5��d�B�[��)�;bIX�6l�S܋b�E�g��������l1ލ(
�f�>n�B4ϣB�
�SՎG
+�ĪZ�
�SB�:k��E"tyH�\�
��>�\9o3�"����ud�\đ�Ɛ�����8�	`L1�̔�+�q���4�1�Y��Y�6�d�45b�=\�D�Z�}��8b/��?�g�8feNw�J��7̼��1,�;
<B��9���̹{�|�x��9b�Λ��/3.��O匏�am�/Ǡ�Y*�gY���0�N؝9l
�����,�S�}A��	a�3�,7�5�)���##5j
�U
,o�'Ij!�y
�zȖh
KT��e�uo� N��bh���A��ĕ�;f�qh8�;���e�{J�wv�ȏ�=A���,����xWR'�S���߇,ȉ
،QT>���Cybɂ��5-��#�6}�fQ�_]<��.s�4�̮�&}yFo�k��<�#=���Pa���ҋ��h�ìB>����o���W���*��Gڢ����Z�z퐣��r/��z�ü�+�3{�1b|�r�������8"��
+Q��};��m����[�a� ��sgRC������5�c_�ܪ G�+�O�õ�TD��]f(M`>�,�t���i:��5ڠ)�vJ_c�_���O�s
]���0&��
K�J:�h)>�����\�dV֘N=Խ:��&='I�\�ы�N܍�֪I>�RU�%n\�1��[q�;-
\�(;W֘�v� ��!���ӭ61�Cc~�JcV�B���K����{K1
�w
�����nȤx�m*"T�b���w9_������f�iYP�|�M�d`l"�
��r=��B�%�������#!ι�u5���V	˻R.��Yx|�Z$
H�0]}�F

�������f�n�A�.2�q�+�#�ijݝ������+�g���T{���+�
�Ӗ�eI*+a��vh��g����An�R#VB�_���
�Nr��Sv���>�e��aDiy�r>�Y�`�<��)�mU����^R�����&G ��~U>4Mغ�)󧄘C�w�~X
5�V��>�M��`Q���׷�V�VZi�����q1�
>��{��S�K��n�����#h˹D��	?"5��T�����W�Fˊc{0:�c����kR�)Mə�QH��2���f�g4-tt�>/��
Ur��v���十F]'�
(��?����?�xULu�P�67b��頱<�c�A��7��>�W	�^�9�NI9b򢡅�D:<�����]μ6����:q7�/�6�8�o�3�u	\�ۨަ���
�>�af��6��a�m�:�d#�2	m|,�`�ٜ��am�)Z�_ʳ��f����3����PA���A�g�{XJ̱�ӳ�

�6�q>?NM� ̱qY�d.X��~i
+w�7�v}��fAۡ�'Jb� �j6X�4%a:�(0Օ{���V}���;T�=쭷�*TW���~)�]��JM�H�	��k+<R^�n�]�ќ9�dJh���@��c���ηxl4z{2���&��\�N�u6}�#y?���v
+
��ۢR�z��F�5���
��fZ)J
�^����~���R>i=�t;�e�N�
���	p3A�B�j�;-�#����?}��bx�F|���
O
+E��Z���r��Yx���BHFԕl��$9�~T��ƾ�M�����.kb!�M�Y4ӡ���7�4ZɆ�j���s��m"��l�ŋp��y�+��*(Ug���x�y��铠�
+3�O���'c"}*4ެ�=C!:����,��\F�@׹%�C��{�Bz-10"�BB�M�`эB�i�U��jUh�z�e�
q��gڼ��B����Ȯ_�� |o��n��O�����~��Ǖ�s(
�̀�dr��f�?����dsH���kR���
+s�2�C�%`KlL����B��N��oF3tR>�۱;R��
�Bu��턥�ߝ�5?:!��^q]��`�)��4f�9~Ѹ�1laˆ�1�:Q�?�Ð�Un���?���;����ԟ(�;Gw��@^�7�'�� �kA�e��c��: �g�We?>��wA6���(^�Tp)���o��t����n��&�
/E|�6ߒw\#
�,"/D�$�uhzA�
'��K b����+�&��T�%G�{��
���
�LD�\Z��炯_��gɦ��6���b
��n�S�>;�M^x�Ā���&��6s5�p��������ot��좁�|枯�کɻ$���������Q@(ܒ2�
��
[���T�j�
+.K��c�֖걈G�|R`^�j@?6�Qiw�(�%�c竑���K�
c�RI)-��o.�$�]sQs݆�>tc{c�ҿDo�BE� ��P���V���%1{f��ㆁev��s����&����1[�퓂��=��-_5	
�@�.�1#:�X2���䛳����5&8�V�Y��������~���o��٭7T!�u�S�%���a`�g
Hur�f���(�|��>dȣ*���O��ksh%ޓ�cZ�o~u��g�t at v꺯U�"���p+��p�<0}�u|0���L�Y[o/'8��A��7z���0�������
ҿ~�SFWk}�b�׍�O�BR����b��s�k�.0��*�C�V�t1Yx���4�K�G	k����T�,�O��ԇ4-�w�\+f���
�
�W��9��Z�� ?����*ōuS�kl�I��
4��0�_÷
�C�8պ�/E�����a����j�e=
f�׶���$4 ��8ƺ��9^͍,�V�����=��A���A
�$��w;_�`CyT��fcsЗ
++���ٰH��rU�
�5��`rvVی�
wV�TX�<	��om5�OZpșm�E��En��
+Z8�� X�5���8ջׂ���HB�'�7���rx{��M��^��,��ie�� �!�
+endstream
+endobj
+3385 0 obj <<
+/Type /FontDescriptor
+/FontName /HJFXOA+NimbusSanL-BoldCondItal
+/Flags 4
+/FontBBox [-143 -298 913 989]
+/Ascent 722
+/CapHeight 722
+/Descent -217
+/ItalicAngle -9
+/StemV 120
+/XHeight 532
+/CharSet (/a/b/c/comma/d/e/f/fi/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y)
+/FontFile 3384 0 R
+>> endobj
+3386 0 obj <<
+/Length1 1166
+/Length2 6174
+/Length3 0
+/Length 6943      
+/Filter /FlateDecode
+>>
+stream
+x�uWeT
ٺ�݂;
!�4n�%��i��nhww	��=@�]�k 	A
��̛;�νoՏ:g�>�gW�U��5u8�m�V (���������t,!��� ;w�#(`���.�������,�`(D����ڻ�,a ^ �(
+�y\��
+��D�0�3��	��`N`�#%�vwA�:�..N`��6�
����l;�Ϫ Y��7
lg��i볲�s���� ���b r 7�
��� 9A]~WzL��
���
�ik)o��
�b���rs��Z�
1.7[.���ب<�F��;��o���0���P���������l
���1���
�
��R����G�o� y�"@^ � ���]R�����������@] ��Nn �-����f��a� ��K����`���@v���w�Gd��^�{��\@  �������@m�'���-�A n
E]%y����(�cJN
!~ '����S
3���3㿴�K�?PMK���	�;��
+�s�G
��s{�&����=�:�X���	P �����Կ���X�������*,�x��
�
+����%�?�-��N�����t���G	n�����9�K&���
d�	�[��i��T���=iB����d '� �?8]{��#���xP ��?J�C��6`�
@��JK�Ϳ�ߴ�;
�(����_{[�c� ��ki
j-���vU'M�ɹ���WP�����+�	q�
�G�ܱ����pj��樽D�1�2bD�|�����L;:!Q8!�b4�׻��8',�?���������d���+/
�IȎ�D at Ii��vv]5Шh+��15v�YEHoB�4��D�f�;�!���ʝ�S���F���D��s�}2���/��
'VT��B�
㝼7��*R
�]
oc�wθǰ�
��⠑���Y��#'�Pu[�Ơʜ+�k�b�^䔆X�[�z2�|�)��J�����c��
�P�3;Ӹ�A�}י/��V�MG�=d{:T�6��Mh����)!
����~J:��E�/[�
D���7Z�;j�r�1����L�
���1�rhV^��.Pn�����}a)xP|���o�RG/w�pҩ��z�8Y�����\�
37\��`A.���{˘�M`ύ����˜l��Ʃ�`Ȉ�>�õ�3�h��m�㋑?�+�؛[��������[:�jʏ�B�)dVG(�M!�߹���	t���,1�;4�J��-:vP�>�D�a
���O��q�1u����w_;��]:KD�p����C�J��.0��i�+�$�.�UG���V'��3�_��Yى��,�q���%�{��FJS:�G7�M��u��`� �HObD�GK���K�w����	��kq�2쟒���� )��n����J�!y�R��ۧ��G�(�A�ة��N,WndS�N���J�@ [...]
Z�†��tj������E��&k�%[
c����
��.����b���=I�܎���I����0�zl��1��	��>��KR��Ω?�ʓC�vgk��XL������ι��ث1��� �|��S�2��:��)���#3ox���u�E^vw;����=���zl���>qF�
!����ݸ���n�����X0K=_���%���Ro��[gR��y�)��HCD�g�'��N��Dg�uE��՜��d�
+������Z��{ɳ�ɜ����~�h��'u�+��QǼ��F�X���sX��gs�isM͒e�?тU	��@ܤ��T;���
*�F�[������N���幆��5���6���������[w��o�/#��(v�S,�������Mًf0bl춥�+bT��]�yH(����Ďq�Ȃ����*m�/�h��2���5��c��������)S)u_qz
�I$
Kl?��V������խ�������
�
	T�MJ*���G~xgu�h�FA���[߃3��p���ςA�y���6�
��	M�x�*�D�q�Z?�
C�y�06��I:�����u�����
�hf�I+�g6ъ�k
m�.vT�T���M
+�_u�hx
�ѭD-]_�j_���t�tfΔcmHI2�0QS� uR�R=〃��
ރ.=�����$���1�}�9�/Ģ*LVƮ\�Jgy
�Ӥ�9�1�n�Y~��2Q\ ��%��ii���_+��
1�b�漢��r���&�
X�~�L&l�Gt�|���͜3y|��7s�c��Ɖ?�S�=�SKM#�Q�!�y����I��

���f�R_3�p��v#f�͘9��b��Y��X�z~+!�+����qՍ�`+)oX7^nP��n!��Hw�?��
z�Z���w;9���k�#�9���fƔ�
ő�g�����SY/���O"�@b�
+L�>�1���c[���
b�o�����A�]���/��
�)��D���,���0
+ޣ�v%��g�"��L�����c�S�*�$hN����ծ�;G�
���{	���75Nt/�[�
ɽ�u��3+\+j���"ݺ��TQrş����HJi�d�g���,�
U2��/�=pl�9�
}9�<�,�Ǩ5��
P�7��K㢙OU�h��z����-��Kb�"Z��a���A��"�`�זC)xZ�wG��=������
+P1�ui�m�l����<�<�����-�a
�\*��@�*1�W���*[;9�H藸��� |5ڼA�hE*�\SRSԚ�t�
�z�Lˠ����<3���2��2�W���u��L^}_����ݱq� �����/�Ǻ)w�ïXu���O���
�������Oұ	�Z�TpG��f峑w��y񲎎W�+�_F�?{~�O�6�l��*U�*���󝻌_�M�
+_���nj�+gjD�����N%���ګ�qW��D5bo�#.���w�dZ���_�$l�������>�^�w7�	"R�K��h�T��[�
~�y�*_�u�;>��XPO�%sz�7���aF!\4�Hn��x�߈����|���Nk����r��s�v��u����mL������VLJnk�
5ތ�I[n�z����R�h��N��qI�����>8���d�!�[;%���o5^E����b�u��
���Qp���P�ӢS�S�^�X���N�
����g/�a�����<ΨB)5U�Ё�oC
�d���b��J��y��]HϺZW�ӐK�&�\c&���I$r
�N�&��XSy^a��,7G�L��$-�>�a*�đ�#EĹK#ᎢH�	.���
�
�u�ld-^�̺��.1�
���(2��V�
V��n"`��x�u�����](��eV��a�Xt������y_ ���
$X&wA=2�%�?�z�O"ʦQ�;�q�7i^*q%��<TM���ʡ'��po� �l5��|�A��)f|q�V�߳��
(�9or�y�!�����	���e�����f��G#J�!��iQu��I�� �H
��
=���^,�[	W�#�քR�޲$��I���1��g�� ����b,�j�G��jg��	� S6
+��u �l��5�����Yu3P$��[7U�u
d_���6u�#����
��H�y�.펾	E�c&�)�ЌK䰏I�@�
���)��Sڪ�c�vb/-�6H�ܛ�Krv�%�b�̨a;��+��s�t
���f��UZ��}j�* �1�s�����'ڴ��p�Go|MQ��	�c�����)8�X���y�g���}�����]K
l¶�h�y�9yrf�"���6\4m��@����Lۓ���%_�L$w=/�/��A�֓�.9��Dii<��-dE_��=L���`���5�
����;�9*R�1߆��(�,��%�ZR�t
����|��W�~P���9ᾃ�|�1X���˖�D��Oqâ�A��@L�Dt3��A�W�1����4E6'6�(���Ԋ��,�5
��z�I�i&�_.�Y�P�
+un���$��K4l��V�� �H!��D�
�G�9y�"���$tצYF�z��Fr�<�
rN=�5�G��c�lqqpX����3$�����ȉy���OC`}��[<?�[58!��u��~(1���<�ښ�}V��������J�#1|
q��]��Q������~�I�ޔnL93
j�
+�mW��N#z����ި>T��_��
��7�1{eg*�g�U�������H�b
�r��
t�̟��!���ŕ)�V5���-���I��Ē���7�v�{�|t�T}�φ�<���+�%��tV�(�i�]�0���ұ���t��awd1��l�
	&l$E��=�y�N���/������+rτ'��,gg�xj��g�z���~D�T�D�;�mϏ5v�"���cG��?T���
�)�����a��ը�8<T!���,��?�
(�moF'X��mYDR�ԫ�C���[X�M�c�_>�D	q�MޫV�x�D�B��f?�z�j�h>�34世qpLA��aP��o9l��F_����O�f��H΢G��Ȋ��c���T�Z�������8m����G�5��W*�
� ՗ß3u����j���!�����*�Xo#����4r#�کA����n��܇Do�	����x�]�*(���qX�����^Mo}f����J at f�%P��ɑ]䍌g���8�M��?�ޑ��@M� ���DHq`��2f�2�g����
+���ed�
/�#Ip7n7y�T8]�q���鰊������^S
�La�4���Q�&
��8ܸ��7�A
�5=����z���P��	��j-M�:]�
-�ڧ�Ϧg��bq�����7i�Lo���-�P

K%uQVtcB��w�	�.1#4��#	�f�l��
����

��r�ǒ��#��kk���Ñ�OJ�+�5ч�������w���u��X߮>xߐ��;��=w�~ʪ�W����2T��St�j��ߣ��3������.
�I�i����p�z�
6g ���
+���������z��<l+�H"~K�����.�|,(�	��s?�Ut9�{z�`1��a��:���1V&����ϊ��M���l��	7��;߈�7/��&JA��o�j��W�
E��o?�Q�
�

���<�kp�����	�`��9�߅N!��9��< KsІ��>����W!C�_פHk�(����r7�Yj��e��h_y�]d&�N”�l
+�/ߑ����$�� '�i�N^Z3�t�zNN�8��ϐ �F+��!W�]�>
5��`�cUQ.iI�����m��%6���+�ҀpO�����0�^R"y%K���w��>7� �
V�z4��/�y�Ƒ���C�g9jYs��
��Q�Lo���	�����F���#[�譢�)�
緭�8��ߕ|&c4�������˺ʘ���C,1Bc���}�0# lRn��q�y20h��ޣ�J��
R��Q�ޥ�Y
Cx00h*��v|_��l�a�o��T��u����ꔥ���VW�#C�fQ�Mgth���6�n
+�]��f��k�Ĉ%5EE�V� 5%��$��cneu�Ӓo��a��3�36���щ��LO^7_*
�K
�ሏ1;�#��ц@"���V��L�$��\2�xV��
A,���ǟ��a�������T2�LjB\�զ�
�z
+
�HS��L�����?)7�����Ӈ^N)n	j�C0���>��K?S
W�<��!̩5�h!�TȦ�2E&B��1�X�O]�� nT��g���Y�#�@9v��5����@�����=�!�E7�|�Y�Wp�fe|�^��z�
���/r�
E/
�r�ۙ*
��su��]	�z�F��0D^��N�a��
����2��P�4���>GeP�-\ƴi�P�L�/�
+Б�-���M�hj���D��$���`8Y�C��;���B�+>�LC��g�j���L���w�%US�[e�l�Pu>�ۧf�yg
GS��?�
���Iௌq��?��lAj
+)�
lj|�ŭk;��0'�tX�PBk
�ѽ���N#��ļ� R4 )��P�"��#*�7a�)��-џ`��f�CbSm�\B�P�7�:b����m[�����5�Os
+?��
w
��yq��Yx��i�ܩ��&h��F�����N}�
�������*���
+^%j�	~
A
+QI߼[��Bg=B�Q�];O�=����o�
B
T��?u���q;��T
l2�qHRNR'�wt��E�W0��վ�

��C��v<S��l�i
��	�^=�t$�ɇ\��g{�xm������@t�����')pQ��C��$��ZRz'�C-�d9��i�Ng�e�N���[<8I�4����}xj�0E(��󖛍�Za�njG	Q�]6���)g�Ȉflؒ���R3�z��2�s{?���S�זrɹu��g�ǹ���G#�	_�B�ZKq7S��)��x�jf�Oi^�4յ�2�n��#z:lJ�p���b�����ݘ�/ƍ˖�6RHp���
��q2\�.-��ކ�U�G�^��ÿ��W;���r獺I���f��A�v
�5�Y������
�s�ضˡV9;��|ؼ�<�L �wK�Y�T�ï�Jr�SQ�����]=Jh��	��������K�jD�����z���K��*�$/����;;���,��&U/�èU=�~�٘{|-�xr���-����ME�!��33�f�R�Q8/K�N�B�ͮdC����ى��,�:�R
���������qA����Od�bԹ^e�:���mn�#�D*�����
+�92�<�ǘ��uge=G�)Wٲ�_<1;T�!�����T���LW��q
 ���~�����P,�aut��� J�q 
+endstream
+endobj
+3387 0 obj <<
+/Type /FontDescriptor
+/FontName /OKHTIE+NimbusSanL-Regu
+/Flags 4
+/FontBBox [-174 -285 1001 953]
+/Ascent 712
+/CapHeight 712
+/Descent -213
+/ItalicAngle 0
+/StemV 85
+/XHeight 523
+/CharSet (/A/B/E/H/I/J/L/M/P/R/T/U/Z/a/b/c/comma/d/e/eight/f/g/h/i/l/m/n/o/one/parenleft/parenright/period/quoteright/r/s/t/two/u/v/y/zero)
+/FontFile 3386 0 R
+>> endobj
+3388 0 obj <<
+/Length1 1626
+/Length2 16210
+/Length3 0
+/Length 17064     
+/Filter /FlateDecode
+>>
+stream
+xڬ�UT]��&�;w�������,<�Cpwwwwwww� !��ɷww�=��s�翘c��꩷�I�T�M팁v�N��
L< ���������
�
�<���gG 'u 9��lŌ��< M�)@
h`a0sss#�D���
@�N *uMjZZ�����0v������ s[ ������
���o���@U �d���� QE���
+� *Iu�$��`d
Pr6�� �@&@[G 5���`�o`bgk
+��5G����
F G{�	�o��h���`t�9:���
�F�Ng�d ٚX;������_��
��z����M�d���h� �w���$&�o�NFN��v�5���z�ڙ8��ҿl���:�l
N at 7�j� G{k#����&�w �
��#�����
��F��@Gǿi���g:��'��������_�v���_@N�@k3f��5M���6�"0��+Ҷfv f��M�������Q��3�A���Z�L�f�
+vNK���Xf��#�������[���G�r�=�����?SK8[[+��]����#cd
�{g r�����+��d����ޚ����6�O����ߑۚ�������J���
h�r2� �Y��׿�궦@k�-�/��)�����?lj +�`��	hk����R�/�꒒
+Z"�����/G��K��n���hE���	���sx�3sp�Y٘������9���%�����dy#'�@�o�L����|�%��Gq[;��F�������/�?fg�����������y �
h���lg�h����T��3<)����
9
d_ҠV��Wm����]a�V��8��������P��h�ۚ�'x�G�MFݗ��E��I{�Ϩ_��v��y�(�����q�7���_�C4��� w�H�G�����
��$�>��
����E��������P�5t�!mv
<9��O�o�D'wC����N{0�1g{m�5Q�8Ӧ�ty��-�
��*-�����[�$
�H��b1e皓�:�P-��KD`
��$e�/걽�QMNP!c�
f9��k�eX+k[���{1�N�艡Je��b�<�Yؓf
+���+�	�E ���N�yD��ϡ��{�^�
�b
�^�U�wM
%�ر�;E����#�˽�Au�=j<�
+��#t�O=�]�k̃3Z�@Z��C_={�n	3
Z_�L;�Nֺ3�����'�\	�c�x'\,���='���"
+�`�7�gz�'*�CV����6�`�p��'���m���n������Q���枧��~]d�Ò��qz�gS-�'�
o����t���"
R
w"(�1;�ݨ� G���C'�P����]c���3F�O���0�sB��iq�8Z�y!O���9��Vl���眞�{�`m o��ƒ��>oC���������{�����
�|X��,��
fH���=�k��'�;`z��wqM^��5;f���~��b�C����4Af=���)��6��w
��M�[,�����v�l&U^
�$�0�
����ܚ��8�X�n_�W��b�
���KY]�-	�ij

��	�����3�:fۗ�v�܋r��>�����§���ne��*�a}�y��\Nx�<������)4���7�����Ha��L�p��.9�C,�]��r��8E�)5^#T:�k�q��k���!37o�Ţ�hh��;�\�d;���o��+ڟ�L0����]����Y9ʪ4<}�?Ds�X]� 
�AΌ(1m������P����W�y	
Չ����<�ϯ�n��Ɲ��G��#����oA
t��@��p] �De}&ŧ��I\�7�f+'h�oߥ��f�'B;7�Ԏ$�a�6��,�|���ce5B�{���{��o���H�5#
�m�`E6x`F
-u�LΕ9�P������ru���V�{F�dІ�V1fY�E��6�ۿ��(�9�\)��~�0k.��Ӽ
X5�Ugl@�}�[��/�	4����6XL�^�A5�U~�]I�h�_p��]*,����3
B\k&����%�Wk��qe���3<�X�=x�̽�����"�=��ŋ
+m��"wf}/�^��>]�te�H�������L,��������,��ll���%�e��38\dzQZ+/���h�(I�;z!rX�[�dhy�<�
��Sָ.D
U�{	*Ѵ�β�y'"'�׺�2����;�x�wM�8
nUq|��uI>y�~u�JۘR��O~W,۲�]	I���0��K7�OU%���4y�K�^O
�d�)JXj���BLz�<��TIt��U��x� �ꘄ�j�,���
+A4���БWS�����s�l��xyRC��C(���uS��M����_���0&��U��A��G��x~r�
+x_��|/�������#J�>�N�l�r���:��
+ە
Ꞧ�b<@˨ف�;��2���N�64a�!���?>�����`ݩ=?��}��H�v=�II��V�s��`�Ƨ��![��᳍<�ٮ�S��v7�z�:;�znjr�`#K�t9��a��rˊ)���')���ip��'^=PÖCM����J���q��6U�XH��:r&x�_I������������(,@ϸ ���
��nkY���
J\I����W,�l
tҵol
+�zN;�F?
e\Z;N�^L�1uMTs:p?����l���h6KN�\��
��a;g�&���B��vst7<%,�Jl��P:(&i1Sb��3(�Rf��m�Ԗ�^��V>����g��:}�ɖ�^@P`/�M���5�
�N��q������WI
#h��i�,�\Y��m_#�:�w.���Ȥ�	
b�7h���J�3&>��5�����6��������
yЅ�ꡟE~����,=o� ���R�;��v��ƍ��
t� F��${�w��n�F�m`�k�h����6M8�X���?!�{zb�U�e�BB�@#
�����!��9[&W�\+�*�Y)!9H)m��M�&�WZvv���zx�G�!	�K5���r�@
��Q��
E�6r�?E㜲��
��-��?� Wv�����s���&аT�����J��V�[��ҝ)����s�-��o�Ď�ި���P�1)Y�b��$�̊/�I��D��$�v��Jߖ�uM��G������Dӡ�qٟ�5�B�,"8��V�-�D��
#��z%��
M��ҙc�w�]�3�e�m߃�+�	����P��V������:C���K
<-y;D��?/��L{�U2o
�&UM��Ĝh;�{ϧ�T����~5��4��V��˝�
x��5�T� )��|̈�l�S`ۓyJ	NUUڈF�ӢO�zFv��Ж��r��t�r��N�ν-޲+
�:Q�`갷f$�f�)Q�f
)=Դ/��|�+ՔH��Z��/C�<��Qʆ&;0r��Gs�h=6K9Uċ;/
�F��Ѹr���
���l!ph�.�=�k��k=�f �s�K���
���R�kK�
6zzj��1���#�h�}|�+��ݠ���qz��L���_Ĝ,]x�&��m2�5��SfL��Q"m�]R�>Zߚ��^�`�~�c���1��h.ω���2���A���}��� �`���X�=�+��%}���o
�Q�s�5wcP}N����L"_h�9r�oGyTU�>l�]:�
c��w )��l
:�8m���g�ȔNu�-��{�{]����݈^	<X�H�XcI��T���p�ZGv�+0���:���9*ѮU�
ݒ� CǓ@���N���
wT��Pµ1V-r�S�:���ݴ�x�b��ܽi�>e����9�*㺤bm$\r������~^E���D{TBn�.�b��K]r������
+����Y}�q�rÔ�ݔ�� �� �l�k�a�r�v�o�k�d'��<��l���<��
AX"V�,ƨm��S#��wh���6a�9,��������v����E \��-�4���`��0��&�F���CB��,����>�H:dP*
��R��t#��N���ILT�%�(�Q�5<��n�"egS;ب�[53���En�F쫬]D�IKrl��V�9�9��	�D��`��'C$�#�\�⮢�5�V�\��:�o�\d�.��ƦlWd2RW3%=�L:�—��O��<

qٞ-�#r&�b�URXf;�"6����e��JݔҸ��"�
v�\o�Ⱥ$����e�<~�������|�d����ƹ�)7U�)�z�RF�M��}?��I$xO�̎����6x�5����dYTݻ _�݀
+
�������BQ
g�~	�`c�u�MJ�]b�_�i{�Y��*W]
ǖi�qc���~>�ag�[��
N��"=kЅ_Yr+�%��޺W� {J�A��n|N̤�ύ˛�Ba�
���-�c�#���z~n��^��?���3����L
���ͩ�p8D
�uI�щwT�'��
zG22�4S���J�3�ʥ��#t�]S+�VR�F�k0?r�	�F 
&��1+��d
mG�$�,h;�g+:̿�b��vؾ�����,��
+��^o��F�us��U�D-">|0�X;@e�����ls�fn���i�'��+l�O]�� M
�&�����nw)��37�^x2r]5	��m0��:��.�u`F�����m�Z�[���-�4
��3	�_����	�/��53�񼶁�����xr��F�o�y��D�O�#���
B�@�G���� gs�cY�%&��؉�ʠ9r�S�
$���<)1:I�3M�Eq��G�;���̻J�C<F+~>\����G�A���
+��U�\&�@P�;i9�לDg%W���T��YU�C��+�BX�6�njW��_�O�\{�{���Jߦ�|�n	�x�����ۺ��i�
a`��(�u�~�5�PyU��n�
+eL���C�
UjE("�2���l��V��`g`�M�F�
+Dr�;fQw�
+O��†[�Z¤�~'�ӥy�ֵU���\�Y�l�ט
+E�TKKM4��̦���zi��#=8��U�J�t�2�x8��L�
\	�r_`�c�5I�R
<���քX6,>7�Rፌob�]��D�t��%e�R��9
��`�'����3�)>2��}�j�Mmx�w�B6Ȟ�	+f���&0�e$������qF��zX'�kC�Ë�Fn�g�I�$^�q�(���J�#�D+7;i
�<��Xt���d��a:g��[�j�&�wh��ùb�@��}���C/YEժݰ���!	��f�o�λP�W�աj@,͝?�'(�%vd7	����>�Ƃ�xC�iB2Wǟ���C�
��0;�7
��u�P\�6����y��T���
�կ�M����t����[-�y�����W�
W�Bio�����GNJB{�1QuI�z��
�$��]uw��N�ݧ���ݒtƳ�fB�
{8�.�~��
V�
�1kGI^�b��eM�������
�=�R�|�7.�b$"�RD
w�iߧ��k}S�-��hzn�	<G��B���˖�X|9Z����%���k:�i_����Pqd}Sw��\%�Bi���/&�n�u
S5�f�#���\����]��dx�C�4��GsE��Es�6;FЋ8a=<���Pw-�e7���
�����f�gQC���Y� ��3���+��y�m6�<��c�1þm�'tk]�*e��PM�L��]r0�b���=���W�[�0]�.�5

�_����1�-�G��1�p������t���
Uj������4�!
���m.>s�o?m���c��)��諣
&G�<�LH�=g%��Z
L_l���Gp�����yը���ن@�b� ��JC 9G�(�q�YA��P]�gh)���w�#�����M�D�h��oRV
�X�%���+������>�t�J�T�6�_���ix�d|�����i�


+�b��VV%3�=�y��͛b�YeM��Z2�f3��G��,H�4I��(��p��
+����~=��\qh(�R��e)�4x	�����E��2��Z<D�j
��'����t��~��] /���G��]3��&��N�ז�%QQϵDeDn���c<�
+�~�����=�~w�X�v\�*n��I
m�	��|V)�5�)���|��)4_ޣ&*�]��C��u.�ܳ)=�A6�j>1Ь-��v��
��-�D��g��y��m~)���_Q"{�J�0����C�\�ZC�li��v�歘V����
+0���
{J��p�ϡ�äy
)`u��$�3��5'�|L}_� 5�>N�7�l0��Lz��>V4��œj�:c:ՂK��lK#��AC~LX0~uZ���8M\���&�+���.t
E����E$I�Qe?6hK�>���DM��
�c��{HՉ)�RBO]�1�Y�z.�bp\]>��
&�t=�K���;�焋��۶J�M�����1̀"3����
�)��~��c�_�;���t��ɹ��GbU7�Tn�q�L5
�v%����j�⸟�4Qq���t9�=7�,�X) ��I�S���d0�
+����⹖��A5�k_j�g+a/�
�����@��1���c���Lr'�RoG޲V+��.1�}��ut�
;$�j��PNm�=}[wH8j-(�����#2�8`�'�*��Z
�$�O��1��xG�3�
5�"����x0�t�ϱ�koW5�i8
1�J����`P��`l�o8���V������h��9=y'
0���2�
���]b�xH�s�
�"����"A��Ã$VK���ѐ����x=�](��Ԥ�cSs�a�m�G�U�`i�'Z`g�
�9c���
$���F�~
��M�b�;B\��h<�Z
>yð�WA(��E����0�7�ﺊ�0Ycx���
���<��~�EhoN�A�XP7��7A�9�� K�
��6�ҵT)ق��m?=cg�L
Z�5�
��:���LL�Ǘ���Dv���
1{&\0��{�-$��ٱ���
��{�(�f�,4l��V�gQ�A��҆
#]�
�+�?jv��}2�r9C0;�J��5�l�&��n+�
�QV4_K#��������	*Q�
�0���~^�xe�A<T����d0�֣*F�o7�u�8�N�۪�U�Ѣ����W'�ΰ�H=��w?��1�[�dm�V0�U̸��v���8�/��{�WWQ���?�M���e�E�s*��
ѹ�8�ƤN��{���=`�9�͸�Du����;l��uI�`f)?P�߰	�Z�k�؛��b�*,�\ҙ�f6���&�`��a?�8D?v��Y��0y9�}�����g�+M#��@�DL�^�ݷ�b�V> ���{;}i0������fH
)uP
�D���J���H�
��^Z5���A[����V���������
+D/
���vbh��
��q�V sI��J�X{�
�4��LZ��W�%���Z���7�_ް=�������
Ѕ���!��Nx��p��ߎ��j3�pܘB�P�g6���9��uO����U=��O��r�΢3C�c.�z��D����Rti^<? �-^#�m[�,&�R!�@�m���
+���f������'#�B{�Z%�)HDb����NF
�#ԈPX	'W��Jl|Rd��֞� Fy���,��ژiѢ�P7$s��:b��' ٴH�����g��mN����ɲC�֌׮�I�%�;�mgэ�꿿�Yp
R�d��c�,�&��?́cd3
Xt�A�y)c���6�I�F
���f`��#�'Zx�
���L�vX�%q���'�k\JXo#"9*�Ŵ?'�YM_bsq���*>}҇8��s�_7��n(�F���
Ds��Ki\�ѻ+����

5�IU`���y�ԨJ��:��!E�
�t�ry�UU���\��ya��EF�
+
;���7Y[s�L٣�XG�zӍq��1Gs�u����Õz�!�9��C4!��<�&�l��^s>�
��������}���
+���2�D':GL�N��Tv
+�z�
��qC���/ ����5�4I�F��l.������4�L�<i��{GO�M�
S\�V/�H���/}V�&���w�zg���o	-���ÅkUpcĔ5ʼn�<��Q�������S~�
�R"�饯�I��;���Z����J�&g���0<h�:B ��L?k0��+��
:����q�ݳɍ�_8볶6�f�"�l�\`
������P��&[�TH�RK[���OOnvl�RE���-wl���~lugi(
��a�_��K�K<�[��d�e�;ך�
+ySd��&fE���)��p�u���N���7T4W\�]��1OR��0+�
0�F�
_z��IJ^��� iC�����f-��;!͵ɵ��$���oi��$9�C8/5�%�8��t�K���|
!9��L�3�e���i��
+uI��I�)#�VN��<�Q~�<�:��2D��#EK]���Fs���gt/Q���^�/��Ȧ��ϑ����fcn���/2Ν�
��P���s9qV�T�V2e%��YDFIb'�Y �G=; ����U;�pb�,�^ض��:�*G�zU�
�i+��
�P+�K<����V�|h�?��}'���,[�
*�qzh"�Rɉ<��Ƿ�
?u�B����ң�Ó�BI��D��Ru�Z�
/�E_t]&��6��{-7n�6�3�+�>�Cn8�ˆO����I�Wl�x�j4jC����կd'
=!7I�k����02Ϥ?>#����7(���ˈ�#��~�z�z=%��n�*�������둬i�p����;�\Z�W�]2�����7-��L��O�[�����P&�/f�#ʖ|�w4��x׉���1��&�N)>���H�M���|}!1H�J]��q̲��L!ߐ�78Ǹkno����D��QT�K
��1�ܴ��B���s
���_�J�3c�n;��Gm6lja�q��J̿��N�
+�j��n&�Z�N��.��|/��їU�"���)Q�( QbI�P%���2��m0�MQ]��^��_�@��8o�d�:"����]	!@��'�q,�ew�)	��W�Ѫ�
�9�"�~�"�4`U���趠a�A>2�
�X���8���S��۴��IUo�/
/��~!�?�L�������'ߜ�Ԍ�	�h{��)���ҽ��(�N�)���

/�j�"-��:lГ�J땭��I1�T�ob
+E����vs�d$�+V�b��������d�߁J��`��/iw9&���Ͼ�B��#Y �
K*\v�c�""��o��e�H��=����z$x;^���C׆3�>A�yMsi�e
+#��s�1'|����{���^B�+�.n�� ��/>2�)p>��u�W{�薅.�
���!b�z?
+�
s��Q㴄�n��&��; �Ѱδz�.4�
G�
�4�e���W��
+wS^�R2C�ըd�z�U�Ă�d4�4Re>K�8�����(!
�-�jVչT�=���à���?\��ϝ /Nڶ�-C%ؽ�/I�:��0
?:�"
+�;�,aZ�� :֝�l,�#�*`|�
u?��̘���J���n�����~�o�1��8
�����5*�`��q�j��;�*����h�3<��|����$�j���M�.zQ���pRw�̦�2�[:yVP��?C���H>����/Š.~hηH�Jk�)�T�{p5�W b���1m>�Bf���k2��Զ��}���1�
̀x�н��i�h�
�����Ŷ�`��Ár��*�5E��^�S��[�%�|i�k�^�	�/c�wg gj��ĕ�kL����JjPN�
+Ix/�i$�u:��i���^���:�fz��&y�l����jMPt����T*3�Rw8���uC�n�a�sP��*�0��>��;Z�HRp-���e�\�\>Ue�HL}��5�WH��Ƣ�����?���!�P�z��.�;���U��ǝ����
O�����J`b���R�맯8��J��}�n�� �#�
!��B�c���*`C��F>�fo.ʄ#=/(mv��;%|x��D>�ӝ0����b�ُ�U<���1�)^�7gB
.?����rM`˯�L@�i
���HL�Y.u�����W���X
�Jc]@�>��Υfx��z]E��w��򰮢wM�Ǡ��yA7��\�~�
sl�$���
.%���s|�@C�[M0�
�
��ur҇������=�ՠ8�V_Y�W<�<2Z.�ߐ����_˃��S����E���j� J�TVw��Š��1
9���l���&��Sw5uQ$�ֽ\bc��{P�����y��S���.#�5��zZ�q�zv�D
+�4��f�����`=��C����
���%��ޫ��3��Io�*�A���o*�x˜Ȫ����q�b�S�]ҕ
m�
�
~�Ri��|�<d�9�wI`A9D��m�/=N�}Q�0a
��\]V���/�{,vD


+{f�@r�_�hD���V1�M�w
B�v�'��z�f�L/K�.���G�U�C�[М~9��g7��߷V�ܤ�|I�6c�Z{�_Te�#s�Ze�܇}�{=�>J�c
�Q0*N�l�/
.��FU7q?8s�x��
��UϬ
+0sh���x�펟~����߁f����hs��o_�fw�7J2
L��lTg��G!�_��&Ō�3Y>�2
��
�
�
�
T�FxO^��|��Jg
|�t�<�T��næl)�#q�=�ͺ[ɝ�D�DoG8��rJ����7��j1����x+�3�j�i�/2�QŰ4q���rid�!��f�3ҡb��u� ��o.���K��:���c��9'�#=·&R���_M
+�k�P%��+�0�VӉ4�֍P�j����Y�x7� i ��x���
x�f*���
L�g��Z�
bTx>����0<m��z��Ou�aV��&r�R~��q�!��T^}Y���~�=�߆�^�nc��7�?��_�˷���Uo��0P�/5��r���^�҂���z4P�uJ�j�V����u�
q	��ń9(ڻ?�Q号ΰ��a�ײ����hC�,��N(a�OO�������� ���'R����F%�ș�K�cvv�T�����&M
�l����71;�������M����ʟ�J�
+�h��w�B��u��{Nk�<C���v��;�
+oZ�kU��7�5�"l�3e}&o�O3�Q�
-����_���8_(w��F��Oi��;T?������Z��!�x-�m4��/�FRҜ����F�iU��6�Ӎ��zt8�Q��w�J���T��:N�;A���\f��63G����D����B�kڬ������U�7ʾW~�k���k�71�:���W�2��	,N]�!��Ԧ~�
D�����>N�i���9�NJ
�f[���
�+�k�/B����������pU�|;�����	�����͌pL</�
��}vˊ��O��~}ˤ
GGD,/�2�UJ��[�idT��s��� ~��Ҕ���
�Π�S6��ߓn�� >J�0/�M���p3�'
+P��W;V�neq��qʃ�
+ͷӃt����8�4ONձ�@�A<�q�:g2�x¸�7ߜC���񯓘��1�+���#��(+��tQ�E�6��{���8_���nߔ���N������J6%-~�����R�2J7ɾz凿��n��>���e��.g at N;�C�Y֙V�“}=�Q��8�D��7a��m湸c>��!�|'qS@�z�3����@�Ӂ{�~�
���agk�O�
<��-��kL��+��
~O
��e�_
���� [C2�L��ra�
3����q0`ʥscWx�07%+�\�I�/�����k"�T�#%V{���	��L)絿�Ľf�#�j�c�c�e�n�Ѵ��ζ�f�e�
�־ʵ]:?��"�7�
�&����2v/K��
o��ӣ�}� ɻ�;��O+[/&�^=�l��&�U��,Q�@���Q_�HM0M2U/=Y� 9(��aO��@�}�����=�tn;��YS��K���ד
68,ߤ���NW��Nt�(�J�D7g�&�*E��N0e����o�)�Z�e������S��ո_ҷD����i�2O��
�P�4��COOb�YeeN���V�.~2��Ġ��tбR��1<
�U�.�['P�<���2�T#wG��R�
+�}n}���S�+�.׳ ����0ߖ�w���G�2�~؟���/�Ii��~�G�Co|%ޟ���S��
9�"��bUt�Q�³��Vׂ�"����6W���K����n�0�õՃʛ�KxoA�m�Z��f���;�ix����A�Ѵ���Ju��� �|م9UV�
+���~��,�=̅���+�3j��.�Y���i̦h�D&u�*ySf7M����n��5�oM	��)����uM��v|���� �d�k$&��?��6Ո`��7F�2R[s	H�^��Es��
+2P�=	��t͝<��
D��ݛG�
L�㿮���4|���q�(�U�/5��x�W������
�M�_�t|��jf�Mާs{�^����4��%{)�u����foEb����� {����7e�c����D�к�2
+
�ޫߨA<���A _~�zGڔr'N
뼄|�@ח5��:���c�OD.��� (0�/=���[+���%P1��[���R
����t�ibڅ����r.�q3
��Ȧ��d���{]����'i�l�ռVJ�I��r_�:��?d����ٞ0?�ij,[>�
`�>!�o�v%�ZB*�r8`R�ՙO�%CY�hۣh-u�	�
+����Bu���2F�<t at A
�N�Y˜J��d6��H�K�LC��N.��;xY
_:����*Wb��Ԙb?�d��
�,��ƶÆ��i;+|�w9����.�=��v���Fp�s�~o���
��?;`\B�.6)\;�V3�a� !����ʕ�����aul*JE��#��?bºC���h;�Ň6v�[��,=
+��w���Ո�| W/�ژuBM���8U{��Y�2/NT�5JNG�w�j��dx�"0��f"J��aE'.~��9u��ղ%R��6Y�j��'�b��K[�
��y�D��yq}�%B��r!?�5���W���
+��`��I����Q��Z���#�
_q�y�*d��d
+(����V�=y��i���9�t:�L��.4�_������~�GI��xm;c9L���}<u���~�qu�39-�d�@�
�E
)�2��=W�v���o���t�ܷ���l�
����U
U�
��(#<�()>/�3������
ۨ����Pm��`.��r��
7�	V;k��������B�f�攡%�q�0�]�����
d�Cǒ,
9��b�Ǎ�s�
Ab/�#
j��T.:����
�����l^�y
+���k/ٴ����iH�;����|��97Sʆ�0���?wv�8v?���q�DUr��"���Kr0	n�8
����8ma��#@.ݬ3�JZg�%�^�{H���樯�����ȧWuC*��ݢ~�.
:e����

����S��3��\Y�v���6�&�\��҈"�����Rר�4�0�ͲY��gE���}��ٴ������H�	1��::g�V�R�������=5"r3bS߉ �8�!5k�<��X��ӛ��� ���
~QY!���o��v>��%��_�`
���X���o'�/S�
�j�ޝ��&g��m}d�TǾ����vz�
)��zz��A��}-��U��s
��S�*K=�7O�2uڰ����r��ލ
�ś+�û�蕈 ,�>�����gq�t1嚡oL
?>�Z���X�_>,|>X�7t���ɨ
+ws��5���"��k��r�
+t[>�x%��1[���-��Z
+��c?UAE��q�58O�K�go�FX�X����U6�X5��� Bm��
d���N�k�^�K�r\�ѕ�N�4
+��ھ2�a�(̈}N� 2
�,8������1(
֓�A<�'̔��`��u\��.6�����9p%g�p�/���iT�_o�
��Ə�–tK��#�>�<���5�p��<�Yb�&&�ܯ�7��.9�
�0Z:h_?��]�SW(
+��ZV�kѮ�
۾cV
�`��\K}�~r
�W|�y�^����R�'b�`��uM�<P)~�Zdp*���z4[�1�K����a(���	:�!�;������&�Y����C�;��
+��m�;���͠L.��N��}K�XK��9�Z
���1�M��L؃�
+'7�7f$W� �y�jW0�/=sP�`��::ٙ��?X(�6Y~a��{8�]��W�
��
�#�����*�R��{�%��B65�����`����S��|�a��Q����
B���X6	d�P+�����-�"�D��3�x%�_��#���v��Ӈ�!J���;C��[㈵�
}>� 5�e�Z?(�$.`�0�
�̳mk<QO��	V����Ŵ��o~�qDY�A5��ZQ����
��A��2�����
���X�Ӆ3�B��M��&Qn�x��io�^%��l��{������a��m�b�
H���B\5b�5�A���$"�Q���˘���FkݨO����{g�J^���eP��^5�#�O�9l
�e��~�� E�M��	�C���YтWSR*�͖;����
ԓ��V�O����~ߩ�����Q��2����c�v�Y�
+��dd�!{��&Dـϻ���ͯ.h�d�U�	��rkH|D�i�`(�c��!�f�˅./��3m ���� V���-\��Wh��s�y��f��2��Z�y8`�L�o���r<�D�"ױ]�2]����hwf]�
�4	�3yʛ��D��_� �`�(������_����
P6�<�f�j-,�Գ��7GG���txX�ā��x�-NZRԵV�Y
+`��)�[O�=㾴�n��8�Su91E����(�#Ң��Y5Y�W�`�ڵE�YW�`L���_F��P[�Kf����������u��A���b&��{
=S�}s �j_��
��H�����
{q�fZ��X:��m��1��CҁJ}#]�+��P)+@������[��l�f!���ɗ�`�{*�z�w��
�jQ��!��R`��<9�i�V����I�2
�,TW����D��0\z]=Z+ɕ� .�j:
�|ήO_�DsnK��Zr���/U�T�
�F�,���&�.Te�v��◐%���f��B���J
��O�mX/�A�ī;-锨&�m_�B�I\�
��]a1h_֞�p6�����|T5^����+O1
���D6�BьA�&����r�����#�Wl�}�{$��ǘ:�����VE�,PLH,�X8��2���
+V�j1]�
+�
L��5��
��N�״V
a%�[@E��N���U�՜`��$�
2sлs%�M�PmFn���m�q�
���qg�Q}O�,#��I*!�{�W0��B܋���� O�v��~�F�.�
+0��i4�3Y���
+,�x\	"�ʹ�o���Y�k�����IXU+�w]�Vj\��К��X���9�W}���H<��3

#�Y��N&k:S
+aK)զ2%�]��Ch�T����뮇��?m���3�n��,g3���
+���Ť)Њ�\�?F���z�PhQ����2��*�Y͓���&�8F
o��D3�#ثa���`�:���Ky
��
��X�\z�JQ�n���rS
+��*{����E��p�~���}����9��Yo������� ���ؑ��s�&`us"���$m6�2�ZEJ�Zk�&hm�!�P�T
 ̐R�:�Y4��خf�)��"��U��j4�����c�5�ʢl�	�t��Y�hQ�2vht�f�
t�ڎ��/�$=X��
+B��=���n�Ti�q��{��dO6,
u��
�*��-ĕ"�HBI/�: �'�������F\�[mZ�H��r+n��C�vmcT�]�@7	���c�!1���A8t����f��6��ʷ%��;��Qv.��O`NB���3�'ږE.����C��R88�-�]g)3���\��9R��N"�
g�+�A^�� L��Z����\��3B(�k�p�߿he��L

�� W�:`?s۱�
|���e8/�q�:�h�Hc���Q�F�+�d�g��|�����d��~U[�U(3���a
��"�����wO�npHV�G.��ٽĩR���ձޠ�m��v���k��w������Ɖz&���=�B�,l�ʴw#��
+�=��}��.���b�"!��Q���@Ǵ��!�0���@��X��b�-*i6|�� ��v_r#����U����S�-�x�H�<��L������Rd,<	��§@:�j}we��Z=k��Г<�ulQ�R��DG��u��yF�ܦw���
4A
+�1����LB�����aU�����r���┭OK�;�U.A]�13����\WlU6�՝b��#���s�L �5l�K�Qbq��95[c�i��{~9e|ځ\�ߣE�x{!,v�1w��/�|��J�zV
��
:�x�V�ɦỜd�6�,���?J�~�(N%�ǫ��Aܪ@��~_����W�K(%M����~�
6�L���t��z�m��v��vy2	h6q
+���V��xp�
��P�ZG�W��
+P��T:�
���G�l&��3B��[j]�t/tw�A+��Aw
������	٠
ƒ�s�/qӲJ���޳+�IC+D��%�ͺ~�^���l�CC�[��ި��E~�8�;��n
+�P�e�y�օ�=溥���aω�m=Ͳ��t�I��gY�Wi&f.bo��F���I�Q瓼~��*��bwA��3�〆︑���bF�C�^1/��݌���Id�K訪��|�
c\P3D�fÞ��H[��1?`�M��R1�܂0���t��p,ۜ��O#q�Ԕ�V��dҎ�Y�9C[�el4LC&)qO��ю�wR�g�E]���ɸ��?��qef�����t/���`���,�N��oXH�d3}�rE�.�?������/󏞞�3(	L��FO
�,gW
�\�

H��reI��
+endstream
+endobj
+3389 0 obj <<
+/Type /FontDescriptor
+/FontName /UGGNXB+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
+/Ascent 690
+/CapHeight 690
+/Descent -209
+/ItalicAngle 0
+/StemV 140
+/XHeight 461
+/CharSet (/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/a/b/c/comma/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/q/quoteright/r/s/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3388 0 R
+>> endobj
+3390 0 obj <<
+/Length1 1642
+/Length2 4182
+/Length3 0
+/Length 4987      
+/Filter /FlateDecode
+>>
+stream
+xڭTy<U��V!sJ�y�3τp�S�:#��
�9��X�B�Ȑ2�	Gd&�1c���sƗ�=����~���Ͻ�{�w=k=k�����6�ׂa p=
/.-!�
� �!^8
��	F	$n
�!
�`@��h��u�p0
�A_��ʀ-
\�C@ZII����x�Hg< dma+,**������DH�8�3 }܂�0
�p4�D�_Z�� � �(8�cjfg`��X�p4
Kj��
�BB
+G��� �P� ��!�[�I���p �y��HR�
+�8�� 8�
�Ñ�$pƂ�x�
�1 
Ey��
 ���y`1$wF"3���8(�HYͮ�������!I0�A�<a��qK?1
	�h
��{�sA� 
��@�	��$2,�g^8$���
+� ,�����8
���}|;�	�K�`�g4��?k@�qpB�FZ���'�vF�i$��� �� �R��0/�?�[p��
:�aR`�" 08�F��'���;�%�>������y�7q��_~�����Z�
�2���מH��H� ����
8�7H����#Q�����-�W���w��ڙ�������/3����̐x�
� �H��n����($N��ݒ���~ì\�P7�r� 8�{$�~�/ihҳ������i"�V8��l�1�
����1ހ��
�qY�ˀ��<�$���d��#�����"���RRR� �������7]4;
!K<
#M�?
�0�
�%��s����s��po8�fp U	vMHJ��Oin�r��N�Ts�Gv�Ufz`!�6 ���R���C$J;�+��
ӆ"3�XQ��q��4v?^��t�Q�Jљ{�N��K�}��@����R63���N/PrtV�b��v�yo�2��x0�C㋣Y�Ζ�1e,.	���������T���~��hr45�
+����E�X<�&v�zH�K���HӶ��n���j6�i�'_ۥ�)-��Я�8q�b������~k>�㦌X�fO���GF�[!�
ucwJA��m��:]°����ꊭ��O��}j~3�젘���?O��s�T�ݷ~��4S�z�ލm��D�
T�]�#ڍav����R�7�U�5)z˄�Ƚw�R��e�L�S�gi	U�56�uM�c6;�ٷw�OG��=]j��<�
�D
+�^/\l�
	�N��������/������H
i~��
j�����·�x����wff4���TC��3�Lvq�P��t�%c�R� ���GQd/³�󮎟V+eLf�QC�����E��

.
�=���}�X�ף%���v�d�a���Tb+�-ڬ�ͱr?�hCw��[��z
+S�eb�~B�a��4�M2s+�W���5����Ze�	���9>I�gH<�
�H_��6=�p�?Q�,�IUw�|���'[���cY���s�S
��70Ω7巨�
Z���\�<@��A?F���..��<�.�K�7o~���u�>�O����
+q�u�]v�I��MW�=08�,t!ʖ<��Nx�О<��βdpt��a_w߼���Et���>-ݔ7C�6
h��|�QO���Mٳdc�޿�
���~	zR��d�H�X&+w����v�ɑ��C�R���9i��K�kB�8���D��#&�.�c*=�0"�9#5�ս�ȝ�.�B�
�r��y�,���K������w�b�1[�'
���cĭG��f0P��������V��h)�Y
+Z��`�ٚ����Z%�gb
�Y)�Y/�^����J�*k�
��b;J�Hp���Fkq�7�X�����DEױ���z��w��9�6����G�{���.e^Pu@
�>�/�@�??���ݩ#/NI�qK�������t������g��
�Q́^L6���jÃ
9�:z�P���j�$�UT?�X	slvJu��J�oE �jrz�tݵr��+�̓��})_]s"�f
��_�rRD��QSY
�~�V*]�r�dt�:�щW�myyr-�z���4� )�o�"�����(嗃�Gum�ɻ9��C��l|��7`���[;���.sn8����B�������.�v�+��em�gw�)�9{�~�������\�R�����
�J�|~5�$.�֍��FQ.I�V�!l�
�����j:5 P;5�(�
���U:��ߥ�mI���U�W�|�_:�0�A��1��7����wR�ۿ0hѶ�p�l8�5r�
���ߴ��}�f�UALt�:�4�^Ň}�,��[�Ě[2
]~b�*.��7��⧲�3���"Yɍ��Wx�

�b��9���wM���i�3�/��l)S��UD���1�) 
+�{$�^Z�
-��q��Bl�<��`٧��X�x������%���[�il�ĴE�XD��/���	ij��/9C��S�Ţ��[�y)yG���Kk����V�E�N��cA͎��4�
�9钚�:6H��I�õ{z�CÍdҜ���q��YTl�>w�H�I��s\H�T�=�Y.<�H�%�o�
����t��
ԑ��KѮ�e�3�2�Umx��0�(����4���.��c�;Y�"���SI�t��2�0bj�x6�U2	{��D�m�i%o���G�� ���MW���0.Ű�����_�ӌ�,VW���2��D����E�O"���W?�


��:�
������Z�h�wm򑤫��h�ΌW�/�]z^�(��QM�ٹ��@���� )�wX��ŕ���!��O.�*U�l
����}9s������%Ldz
��@l�Ͻ5D��B���ڣ.���Sk&f��ĸ������@N�>*8�-�����x�;�7emy
SG��QZ�XP��:SN
����'����p�0���[�-�N�!U��%
PO)�.���H��A���
�Z�!���t8Ȱd̓#l�v��V:
��L�I{��?d;�k�9��ܺ�&�%vf� �.;�����.Δ뎐�u�e���%
�2�3ߓjY��Q1�� ΰ��� ߥ0�&����f3�m)w\k�� ��j�g#�V�lZC�n�w_���0ϝ4��Ar%�v��
+j�j����ʫ���X^�	 ^�L�d
ְn���Y�hj�U���Q礨��
�|��
��^��C
u	�&n��E3I�v=�?�����rB�wO�mɆe܏
��<������q
~��
�P�e�
ڈ�
}S�*�%���}��b.�	�����]⤽�|�Z�g�^MKe4;G��>����C��
��I�~+5#l���&
B�R'���uv�.{T���V,���X�;q��B��TL�G�id��-�Z�ڇ��`l��+�l!c���c�suXH�X]�D$1]2��7�jya�Cv��J��Kˍ=���ю�QD
��]ZP��2����1�
�72G��y�F�	���Nr�r���_�2���s�J�
e�I�`ٙ�2qٟ��Y��f<.U���:q��!?����z�ۓ�ŎG��xj�{ٟ��lc�Ծ�)�r�'pZ`8Uc��S���,o������\��gy~/se��ΰK}�z����ץX�踽qP/+aVc7��_�K��������ށ���g�-��
���3��JA0�� 6n�`�
a�A
s���S�Q����t�ݻV�D�6��
9b�Bi�,�g����辔��4�rh�
V��Xh&C��X�����˘�q
+؋+Jɣ�Ia��La%
�L��|��
+1�9�fʝ��sz�0�R�[�
:�cK�0;�,NT�K����[;����
�L��u�f�
HRMZ���-s:�Yc$g��O��N��˔�'�����V�Fm�RU�,_�(�F�Nl7ͻ�\sc�N�R���Z;�Ѷ ��1���V��	�^|�YB���"
+
+�V�N����DY=-z���z�ڮ|�7��{�T#, LOO8�\C.3������e����Hfd��
+9�\s���뼦Ū�%�g�7߰\��^�ï�w[Kٸ.��!S�T�c$V�`b����^
�G
��P��'gK��,���m8$�%����pL�_�7�
���j=��9��r��������T�w�Uڦ�h���Q�A/���O6����{�Kz�XE�Orsy��J�WEv^]���$
^_���Ȋ���
}]�
K����'*	���u_Ò��䣵�����OjTXM�i	w�'��u�05�5fem�]��=
�a|�.��/��{�K����y�RI�}����F�B6L�
+;
*��2Ďx��x�/���ky%_��{���.�[��o��R��{ڬnV�(s7�z�@!���k~���FE���E��>9cx���͹�<������&j��
+a��W�
+8��*��ۉ�]��u+h��K��n
>o���V
@���ф�6�z����%Vۥ�V�t
o0?�����I��9UT~x#*���R���қr����ȗ<�N��D�+����j:Ɉ@�!��sR�Fm�
�N�ѿ_��T|�B3��m^��5���ϵ��L{
��݈�1�'��ޢUԩ�z]�]�}h*G7��ь�
v"ѳ��m����bv�.�Z��W�ދ�7
p��ϻ�5mi?&?iG�
ds6�\R�-&3�m�=2a#<�nm����N��~��~����*�uM�l �V
�_KS.�vYu��֚ʠ[!�g�Tʲ��Կ��|�U�8
+64��h#������Mv[��fB��M_0"�
���-n��n����n�M�x��{D���R
-Ì6)���.�zFG��0�L���y'G��'i|�]˯.���K>���J�lg�k�(�h=w��'�}��I�mY��W���kc1�CU:�4w����K��
~Pl�iG&46��V���Hؽ��O
�����BM�#Ɨ�=
@%��
�x�[�כ�qB^L��|��|r'��z�6
j{u�M3�;���|3ֱ�s*v��}[l��1�-j�����۴Gp_;}�>ļ�t0�W|$+��f�����O�
͸n˷�`E
+�e���|_k"��t�
+endstream
+endobj
+3391 0 obj <<
+/Type /FontDescriptor
+/FontName /JRLFVU+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/a/n/y)
+/FontFile 3390 0 R
+>> endobj
+3392 0 obj <<
+/Length1 1630
+/Length2 19675
+/Length3 0
+/Length 20521     
+/Filter /FlateDecode
+>>
+stream
+xڬ�c�`ݲ%��m۶m�Ҷ�Yi۶mە�m��W�9}�����O�����+03V�EJ��L+hlgh"fg�L�H��E gac��dg#g�)C�db�B�W�
+EJ*�hb�lag+b�l�E�nbL bbD��D����	EJ lg��haf�L@���NIMM�L
=�C�����̖����������_��kGegsS
kayMI9q
+q9Uq[GkCk
#
#['JS;G���l�-�)͉�/���������_7w#�T4�&�6NN�	,��

l����َ����������M�������_
����`
+vN�NF����*���;Ogs�b;Y�Uؙ��4�3r��������:X�:8��;��Є��������o�`���J������?3�!p413p4�6qr�
�����g��K����
������������ڔ���oL#翱�,l����I[S;F�ˍ]��C�j���Q�33��00���� 061����s������e��>��(�o!�����7r�+G��%����Z���Z���� �{��]2��
�
�?�������c`ca�������&�N�� &�l�-��f�a�c����I����X���Ȝ����o��%W�56q���5����J@����_t*�FV�����o������/]�ʟ^UPFSA���`�e��w�U<����?���3���`����	�h�8h�8�޿�	q2���߄���e
�
-�	~�����_����?O:�F�������Qv6�5�;m�S������/��Z ����������jm�Έ;�2-3ݹ=wdR��@#�H�}i�JQ�_�]�oZ�.g��gm0]�4�w��ҹ�ס��h�5yo��u>�ob���-�Nv� z�R��
�(��E�
-6���IE%ݒO0��NfG��J?b�?�g{8�ԆX�.�& ����
��ӗg�?#ýw�����9�����>��I�
����Fߠ��NUKY��5���n���.�$O1�Ȍ�W�xf?��
ˆ��nס!�1LE	|4���3*R��]˒�l�
|\iV���1��M���i�E��߈jC��Z!��j

銚j��3�,�X���|p�u~cI{�Ѻ�ο� x{ �U��/hGx-�i���"

x4-C�.���ߕ�Yb��y��R��Є*�,��G�@��Ӛc�kݤ�H��1C%�l��$sI��u[{u�����.��Ϝ
4I��Ax4�hJ�\�IC������$k]|�-�75���<�ޭ���J��`�O���$x�aA�'s�W�O�
q���[��C�|ң7c�>��рl ��Ԋ��e��!jk���+�9�	.���
�T鶙�nIFj ��ꚹ��[�J|Ѝ������
��9W�mߘn�9�
+���g^dh5jT�����2�׭�,�]���b��,��8ag"C�
�-�M�[-nL\�1�+�P,�-R�j�`�R��^句���
h���T��,�@����� � xU��ZM�
�lh������( d�'���V{�� O�W�&rx�b��g�n�Ʋ%�q�a��oI
�w�Xd���؟/j�W
�
8&��s&����v$r
z�_����(�N)
��ї�+��A�VAk;��iwf�H���
��jvv�-9�%��\']t>u��x��җ��e�T����FX����	4�m�
�MdP����A�Q� \��Y*WB
�K_�T��RO��9MYe�S��ێu�2��I������v��K�=��M�"�w
+��ω�qc��w�L0�X�%�,&�j$�l
+5�ub�Ϛ;�
�A��HQ!�#N.z��S��l�����i�3��\�2ГWOG����w^[V�"��r�W��R6*u�����>���m9�Io�ٖ�oo
������ޥQ��n��4
Q���i�Vq����2��;��
�������)��1��2�pp
ase��;f`�s�LX��J��p�B�7AȠ�B�\��
��w�\��U�
+(��=H��p{P}R� ��n���ͻ������^�{S\lN���ï��V��i֑�O(�q 0a�~p��-�S; "��o��Em�[��(qhؐ��q��^�@����l3k����8��J����>5�L��t����;cG�7��-m�w�ąn\��s�Vn�(��k��
÷���8o�2O�(�F����^#
�S�^F���uZ��T�&TX
0����\���%)�<|F�C�c�����
+�ZK<ѫPS���j�d�D.���5؅#*��b`&x��aY��۹� �Y�+$��J�����v���oR��@>�݈aI4;�!w,_����>>�>
K��P������G��,
�>��S܅\V���1���&)����]Q����(�]"fa���/�S�1{��nd|��$V��y�ۉ�$W|��*a	]�~�r�!
��ߋ\
��Ţ
���r��'︣/	���fi�͈��'�-U�TϷ�E�F
�!��>
qP�P�
����ch
�h�`�I����QXPw'(�ն���<�O�ü���T��gw��9�ZT�f��,�$��%~`�ȯ�5*N4В��i���/�"w��A���L@�R��1����?�*�"�i�'bw��Lx:��Q���^��
�y˥��vXdEA��;�O܂G� t�Jd8@���vT�?���_�
{A����o��n��(�Mު�ճ�i�sf������Z�!�I���

\
5~^�����N�����li�[��b��{쀾���`�������=$�Z&D��t��o�EjiEW�e��ĜɆ!Z!:#���ͩ
���]�˶p�e�)��m��K
>]���� ��*�
�QX^n���
�M���X5f$r ����{}�l
+��͋��Xmk��kf݄�ifo�g<˄��L� %�5��ٸ�l��o�h-q䫳]��Dy!g�iG#��н�ۻ6�Ҳ�Q�.�C�
'xC��Qk^1wL�K�h �A�ܠ��”5:��.6
+���{=����4,�7f��͒�8c��}2=���v(BS!�u']�4��Hȿ�?Qo��,J
Ÿ�P�r�G�iI9dc�rq=���	9����GC7n#�����S=<�� ���<W2g�}��@�
J4�d0�
���� 8�.7l��Z�U�2�:*�Jm���߄��F:�g��gZd�QӜ<&�r���
vt~�B�
i�5R���,�Jߴ&

��%/�>fڒ���7[�jb����
��L�7����>�[T,�h7�L�L�E&��#(�j���8/��
��Bs�1ʠ�]+�͉}�Պ�
�YļdQ�i��8(Zc+�D�XB�$��t�C	��w$)��_?��#�ֺ
�!��a�0e����΄�qb��b�4kT��5\F{{���A���u�/�o��1�
�ֳf�L;15I�t{�Y֙	
+��s��ݦ��Y͘��
���]�
�X�߳���_=�V聥���N��w�
���GҰ�����9%1�a�9�ڀ	N��rW
�غ�ODlb7������r�n�7r~ ��� Z�6�|xOK�L�<,E��b��Ut�OBOIϢ��?�y
י��p
�����Đ��Y�dy ��߯\��@�@�b���!q4�=Z��WG��=�4�N2dG�H
L���q�E�B~�
Ӡ�M6�����<:]����UŦC�.K8BFǼH����Ċ;�{7?�u������4�3�(\����
L�༭9�
?���s�<�L
�����"q�da�J�I!h�Q���w@��!���'��s1:
[0�|�B�)
�ɮ��������ʎ5��"���Zk"�%z�����؎T��$��h5a�j�O�	��
V��3�%S�u	;�`��'=ss|���h}f���VP��v�2���Ξ

�O峁%�2QɎF����3�,^E�
*&=
�C>� �Q�xҖ/j��v6��޾.;�x��
���s#�0%𫺪#{�
!ۅ�ˏ8 =W�?�XD�ǁQ�9ɮ�7��@C��� `t�;с.��n�>#my� Ed������
s�&�7`�&�;����K =��$�]�9.~�aj=D�et5q�	r���0R��`r8Y�=A���QTOv7,P��XP,��_:��I��y�E�7��繩���a�'����Y2Q^
C0��}��C�a����2�IFDQ�{b��<9�4�_���P/��2�Dr?�v
�wij=�{E+dd[�;���!I�>��e�,6�j�:��B2C�� �?0M٠u�	
��3�ezW5xS���81a�i��`Y��b�;�fܪh���mD���}_�lA/%v�oȴ'ј�-[�YB�[ȗ�̋cq�P�2Q����M�4�B�y�Aq)��&��<�G�.P�
�u���U~	�^&�x
b�8@����\;:J�U�BO#@{V�[�6��0(�
V�!���Di�%��8�fgxZ�+Z� �C�a�D�Xc�*S0I��N7��SEU+
җ�rno
r��(���k�l�
Iu
�iD(b��z������٦ȩ,����-y
�N�yl%��i
�`l�	 �
’��?��m����-�X��7+[r��ȼ�"���A��
+���M��  �
��Tq3J.�J�Q<�y5$%p9��Mλ]�>3P�@��J��� ���Cn%B�C-rېx�R!�\����߇m&
���2=f~7+�x��2�]{����?�\U1����\a�A�2;�$�q
E��/D>��%+���a73�I�f��t,q��P�ʠ[�~��6i�g+��I��;���3
_�"�~�Ha�i��|r��3����oG��x�έI��3
�+J�U �*"]���k�6�y���5�����Գ?�0l6�pn�U&
�R��Ԑ�8��H�0���'#Bu���ta��J�"PJ>�ݗ~ŋ���F�'$���Aĵq!���#�*6cP��A<�
�A�%�7%y�.��
+�E��Oz���E_�v�,âu}c�`B��.��Y������fgf5�]H	�U�g��G:EӺ��g�ܠ���B��3?;W-*�J�ń��

�P�1
�>	���j�g,/n��@�qӆ��� �.*>�4��6� N����L����{ly"ۚ_i��]�ew��j<�� *I�
+�me�9v
|��u��~i��N�r+�b}�,#��q��	��
�Y���J@������'."O��E���q�����syp
+�c�W�\o�h�F��sߐc¨�7�,o��$Q�?�5؁QRٻ��x]�����sG���ʓ�'O����Xw^�8-
��8�v]�2V�]�z�wG�ZA�8DO��t3��zW�T?���A)�0۟h��:��
S�O<o�'~L08+᝺���5�/E�k��5
tkS����º���&%���g�
��x���>��W��ا�nc����^BD�J��G`h��B�T�xǀ��\к|�7H�s����
�"���O��f��W�������ntk~MfxEk1q��me�𩅫�ad�������U�'nh߸\�@�=d	��}j }���
��`����f��0���\��R�x{Ry}>�ƶz%s��5�)<��žЎ��6]��:J‚�������j�Ҥ
��e���彂-��*x�.P��ߩ�3�x5�$����}30v�T"�
5:�ѱ琭gE϶��y{�2L-�(�<$�`eQ��,Ю�F&Fn��8.N����ϵ
V�*�9�3�{{�Y7�����v��)p˻LF�d)�Il<&��ݖ���j�D�#�O��}���:ݦ0�
���B��g�>��r�~��,���N�z)���YZ31�
����6�L6�����L�pf�z���y�N0�nz/Y_�xQ�ğ�q�FH1��(#�}��+�~���K���� \A�]y�R-��� [...]
+���H�
�c
⺥2�d��$xJ$!
y�?vk�����
���h� 3I��
�a�C�R�h0ק޿>d7y嘄֪С�`�)���S�XX�N�U������Vig�X�Ros�@�OE^iElBH��*k�>"r	B�8:Z���&�21�8w�	�H
�߽�!,׵:
�̳�
+��L�/$��� �_
+���5�NY� �l��q۽��C�+�dp˴+Y�,4��oc�k�����ɉ�EѶ���y���^�E��~��]��
_'a�]D
�!6�0�OuG
�p��5��������.
�c�K��KM��X]%���}���Qp���Ъ���YP��x�NkN�����6�|�[ֲ�e�t���l�-"f�7'��b�!׾��(�)(�ɼ�z�ܹ�r�Z��c��Q��e;C�ܲxyy���_t���ap5�:�y�_ ��Yg�̈�m���{�S��f����O��5M�����x���;kSe��H�b��|!��m8a�[�&�ћ!�`�w���O���ż;w�x�� �F�8s��r�����Cj���`��6��g��R�c�U����1��[f�/�&CE`]h�^�T�Q^��%��c9?�1�lF���>��D�l�z�C�� �%?� 
��ڗ}�iPV
�*�Cʦ�^l���0����}_XE���'(i�sB��D���N�4-U����|�l� *Cy���#�mc��)�X
�s[�
�yi��YӁ�e�W���fv5
�l��s�]Rc~�YL�T͍)�+���k���8j94���$���E��Z*<�1_ [...]
s�
+�=�f����PW�=0	I�Z�es�с���7a�C�)L��%�	�4)oy�3�^\K�j{���+?v�Ƣ��Ǐ���@9N�
���K8��>@�q�%>U��(��~'L!�7MJr
���QKSA
n3�
�aXnA�&7@�*�
J���Aa���U��&�{pJ� �-���
+CgX����&�O���ch5D����e"������22�w*ߝPrp�['��mU�8;{W�O�f��
T"K�TC_~�
���l#Vz%�bx��hF��	rKK�2t�H��q����i*�ߺ��l�
����V�;ۥ�Z,���P�,�
�x�BS0fb1�8�~�,y��mW{KR���x4i�?Pܺꛟ�+��9��"a:�}�&(Cբ������
+�(���ƞX5�R�4�~�K
���������r�y�(6�ht
+Xwo
����D8�m�4\а%�R��#��\�J��-d�OaPM
.��@ U��uDW!
M� ��,MI~<���xv�|��
����v���m�ˬ	aA���'��i�	60�d
K�!G��6�0_ɑ��+h���ؽ��d����H���Zh��f*�X���xs5�T��
���GƂ������(|�A�׾yj�i��lu�e��Tŕ��g6��+Gw[���h�[�^��I�{b�� &
��sH����I�򁸩\i$u
���;� Zh�<	���R���U2�@���sPm��p
��=��a��j
l�����L��,���
+Ik
A)�L��0<�B4��C���?���{ܸ3z`ͽڝVt���[��F���u~
+���̄3s
��
��p
��׫pd�`���%W����܀�=��a>��TX���p����@���rpBqth�8�#����x�3�
H
3;)HyM�nNܗ�!�0
C��]k��ɨ0�&l�0j	[(�տ(�2��N�=9N� \�1�y~�9�� �5�TY`���[؀�n�	L�R%��v��=b����{P���!�A7������l�
+e}�e��ZL�(
b�~'� ;�3
�7( y�4�*K
<����D[
�5?P=��
�tpN.��y��T�׆Χ����
f�m]�?BԨ�D�Xy!��o/߂�����M���{�J
���(�����Y�}C%�GL��ُ|����m���~G���pe���9L-}��mv7
�goH�^���
+�i�<��0��cA'��$�G�NA~�*%oP�?�mLnW
���J�^�Q�ˌ�
&GX
���r���&��i?
��!F�K���g��_96�e�_A�hYbO?��NM3O�{Uh��N���l)�=7���8�g�.,غ�2�/�Q� �z��l�iX�E&]4#+YT�*��&�fH��C��%fC	��@͢��\B� �G
�#���M/�
��m�_A2�8b��3%	�h��g�'�t�%�T�1
!.�^�T����C��'K���x� ���l���kZ�UQ;~����O�}
�҄�I[���[3����lK�
�-(�k;�/�G�N
�	����qH}
��\�ñ5IYB at Fַ�!e�N
�J�*���>����FcX��n�۟Ԩ�8�
>w9�h^���jl��b�'2;&
˨�g�x��uJ)Oܹ��"?�	��D�w���XOvuo�u �f��5�e��T��G�T!}
}O5�1 _b~�n.DB}��!LM3���C��(��/�zk�ވ��}{��!�N�".�W'�6
�+;�ε��݅�c�̾(��ޗ=J���*�6������Af�6 ]pC}?鐦�Gld��:;��γ�J<�m&@㷨��V���!sZ�Hoe��`��<9>
q**��g˨uF at ckEa2DT��1�����
+��*��JN���T���߆�n�8?
�ߞF�ZVA��ھ�:��0�iپ��}􆣄��s �{��֍�MC0�\6�
�qH��F�re\�-Ƒ*eѠ�=��Y��|�X�"�������΢
�z�lE�^�8n�D�4n���o0�%	D����-�`�77��u'9j�ZZFi�BA�@�!~�n995��7��6?Iw�c�/��zy)rUR�V'�_m��`v�g]��Q�eK�j�{U���b�/	M��gل�ooP�l>
����~��@��I͓��Y���7¯�N�+
+�w��Dy@�]&o�e�_
+0�]u᭰J��D/_����I8�x��#0�H1J��
�⢱�H8}$�R�,p����gw�ty��z��3�4� ����;5u����S�ᅀz]�'�^��-�]םo�)��EA�b�,?��t�$����F'����
�iHVqqt
�JjשY��GiQs)x�z؃�5'G�On��ۄ�=��mЗn����,{�T�y�b�<�q>�k�[>/�� m^��"��>�x��D��<"4|2�
+/�l���^�T���ڼ'�jI ^B���AM
S���[�v��1
 �!�_.���
��f勤�O'M�B�xj�ѐ�˜,y&:���^*��m
����|�'岟M&n����a3׈jS.8w�Oz��\Ti��փ�n��
+{by0��	@�֑Ÿk%~����=���rrQ~
����V@��2�q�1�
7:���t=$N��^��s����r:I+�B5>|
+��҄r	�s�8QMf�q߇��.��
��
��*r��ƯR\���
�����į��l��;�M�q�C���� ���g@�����
�������0�44��a�{6$$}L��&���{z��&��Ԙ��{0K\��
}c��컎V��W��JBT�
IcO‹v$�7
���F)5���ȓ6�~,s��Jgƛ|R�J�b�S3eI��
?̐�
��s09�	�to;_�C�e�
+0��� �	7LyP��u/�,�o-'�;J����ЧMD����щ�ǮWhPW�[���� ��J �`}�g1s3����&�J�?�bs3���H	��|����
p�#f����cJ�6.-m��8�78MP��*�o �M���J�_n��
+$U}ȓ����T at y�N���G��t�q-
g��P���6Ʒ�h'�z�
�n*�y�"|CԷeDN���Ƶ
&	�F����7��R�>�A�
���7���֩���V=���e��!U%�`�H�=�_�⍲]���ٽ��T�8�B*L~Z�<�
<�yS�چo�,�Nk@����.w��:[������f�h�l��f��w,�b"6S|��q:� ��³���Q�c+� 1X|f�gV��"��M�
+� �7�
����0�Vq� �ko�P��nǼ��oZ�\>��i��8@��:��Pz]~x&65A$ T�$
+����r{,�����4������cߜ���J�J�C����y�
+�F;��|�H���^�ڶ8��	r;� �Y�TK��#�N�Xg��Nķ
�B�q�MD9bZ
+�¦	�m1܌S`����0�bO��I'�X�h�ݺ�ihv�=�:�Nh��
p�W|H���Bg&�7W�_^�N2��9�e�����liS�+B�\�l����
�C- (�ޒN���+
\�16[�H�
+�,>�y�%)
Z�$4������	-
�lSt�̮T)��9�u/t�wm��,���27|^ЀSl7uڭ��|�6���(�E�>�
$sg���2R�N����ɘmB�a��������YZz��Y�y8�<�҆@b�ڠ|
+n�
�t��ï@���Ρ���p;���ꗏ�
dyΌ�ޥG�a�o�e��U�g��J��fl�"f��}�4uK��U�w�)�jgO�sOu�qF'G0��z�븣��M�9+��cf�&|�>4x���v�Y�C$3�&5Z�#�T��c��2���2B�7�J5t��
�L�J���5]�
V��ݑ�܋����n���&4R0*�$�z���OʞzK]��}�rL�_.�W���
t��kз��r͋
�B�ʋS��mBk�f
�W��4���3�/g�G��#�#EW[��F���$_�o��h÷�n%!G�
�� �ƣ-g��|9iu�/��VAK@�nA ̉��2 lwϾ��}����Y
�D����I9���W8cP���,6��n^��ڟ~��������mR?��/}���3��pS�P̵�B*�/o٫�:��kF{�<���F~��[{H�^�L�A����(ۻ��ԝ~׻A.�ij'n�w�#n�k6w��a�&/p��d������%'f�=�����Æ�����Dڔ [...]
+�����E�W���v�
Ս���U���i�*���Y)-�ka�˒
eu��|�0;Y�\�t|M5��9w5P�
"|�f�?�l5��TO]�ZZ�

+K�߼� ��������h�B`@
+��
+���Dw�R5�bRC"5�IXi�Z/G�K���JW����:�C�@i׷�J�=��d
��t9&��Z=@�,y[ïj��w{n
X���C���z
-NA]�'rqҖ�)3l��K����
�O� 4]�Z<�u���:���^\3m�"š�*���)�*�����?Y?��@(
����km�b
h6�
+ ��+��ƾ'��|���P�gRN�ØRs�m��:
�o51��c	�$����eE�3W�b
4v�>�$-����3�;i�7ʬ��\~�$���շ~�^)~p��ևO
�i��(��'�Cׇ�2�Hn�
_>z7-�$�cy^C�s��mm
%:$�]Q�<p�����LH�3�i�v���o���96F �E�z2 �(<��9r�J�����}�{�کEW$

�0���A��H�^j26F�=P$�n�}�	��֚ͩ��F�r�
q��`�w(�r�g�
yq���w7[��
�l��:A�ݟ��
tc�6I�H"1�W��
l
0�	W�+�RZH$�.�b�Pmr�M�越xѱܗ��w=ݐ�$@e��Í�VǼ�R���m���6_�.1V��#�hʋ�h}1a���K������l[JTю�Wm3Gen�_^�uC�,(w~oq��a�۲��a�y�e����fNa^�_�Ǵ%��<M/�Xq[p\L[�'4t�R���~� $Hf��*b���ŝ�J�+��6d�g�B�҃,e:ǏH��=�#cŷf�
� ����V)�`���\���	����!��L��Y [...]
P��*tsոO2\U��7���6�Kt��=B�͛��X�t9�	Z��h�<�3�d��=�Ƹ�C��I_�
q�`���xE-S(Oڷ��Q8=���+�~�����I��8_a:�(uO��� �]T �;��e�`��D�[qL"HxD��Y�
��)$�l��8`��w�2 oO�zs��)d����tNCZ�&����!
+�"�
1U?��6�-�Kw)t
+���Z���
�wxJ�
�9�c�"�O7l�}��
}C�ǎ�
"�j���E�}s�]�4����eeͦ��=K������[2�{�]��3Ҡ=W����ֺ�� �q͖_W	�+b`ugx�j�
/%�
+�S�b,�<s�ꞇn��Y��[yv⭘�A����*���N�(!`�u3bC����fO6!(�j�i���td6`��z nA!�D� :�
PV{�pX��7�Z؍:�L�C��c��	]E����E�D?nVn�n�.�p(}�Tbԭ�����"���n�ft�+�Q)�c�]�g�RO@��S�+Yd]
�mn2%4���z�J^R���T��W/��Ԩ��.;z���˔���b�脗+jXbD���FŎ��5� k��#���w�J���0��
x����Ό
��*�P�-�p��2��)�d]Vj{�����H5�
�\�%D�742lj�=�#
L)�:��("�MP6��;�Y�[�ta�759�әR�0�H����Zd2q�"}�t�I��*��&G���m��[�R�e-t�[J��m��a}0p~�
�B�ʪP��3�;�ר�r�oz�K��:��+c
 �{ ϔ���x�1�4�R�w/�� �\�1Ⱅ�p ��G_u$�F$��Q9tY�N�V�ި�Ǎ&rJ
Ɖ9
�M㚸�G��D�wK��o�q�y+���"�6w�^�VC����W����C	��"�]ӏf�0�頙����EI�W��)s�
��B��ē�T�
�����6�P3=��W��.A��?YP
_�4�K��+��)�#
l�%D(�b��g����^u��Wze�� ��'O����Ld�BH��w�4��xEUr��D�2��?pf�
>��/���}��Q�c
��Y�L4d�m�ɗ����$��́}�zw��&���eB烌R"����>�fS�B8���
zl�:�C�t��h���-q
�g���]j���8aH�x��#g�&TR�FKd'=�s� 
oެ�2�#���2�ru+ٴa����bB
�;�l�X4
Qx��*^�EP0�^���\�O�W�'^���Hd|��ǽ��#��8�vy#St��sO	�&,\ȽQV~=�̀'�>߃_�0�2v�3�����م��j�B��٭v5�R�;�
f
ո���
>%Am��g�ۓ0:���H�
�:Y��tSQ��D�H�x��ѳ�(!�G��}�(N��b�d at wi�e�&:���ңt�
ߏ������;�-�Q�i�2�Nr�`���[�5O��8�
+��#��T̚� ��k�;��h+f�W� ﵇A72�4	C�K����W�\�
d
���P��֭�����gv��庬d���ˣ�������\~��ˀ�,3Y}��]�<*0:y�o�������� k��p��~'�F�X�d�
��7e�����\�F�
���x����ST���.�)�Td.��O Q�
��-�k�%	��д�
jbn3X��e��0��
+q�������������{J4C߳(dq�!����݀#��#2�
�s?�����/�
��
��ysr��,���-��x��%%1Cj�_��Z��r�
+�x<�/�F��dW4
���6@թ�&�W�ׇ�tTe��`i�!&��m�F/c4��D
��k��F��(�w�`kN៶�{
+� MQ�5š2��<D)rm����8aUAgY=��qjd��&<
н��˒�j)
;0�uW�X���Z,/�71�1���q�T�;
ͼJɆ�c�9�\
+�n��$µ`��V�3��f��kl_[��9u��w��/ŁkzP01/�� ���(̡ӿ��2�1�&/�9�g�1M]]1�
���k;�_��˄hU�e0�:�qKW:
Ь���3d�KXv1M���7	�8з�C��k�挼���-�K��eE��>��*�
�U�eA
p��91�"r������E1r��T�
�NH�T����I���
�N��G�����R�|]��__@u�Q��"Q�q�K^#>p�7�Ƀ�sЭLzI���:3�Ȑ�>�+�e�� 
`=VKP��@�k΀�
 �~?��5u��B~��N�t�W.]�&���`�Y�u�]$γ.잸~�aL�l��~
h�|H�g'������*��4
�A����7U>�Rt��S��I��.\A;��|@S�X��s�1�����g�!f��eK��#�4%tzY�
�DB�.�t�
�*	���,P���&xPCF�)�3DZ�l�䈏b�dM��.M�7m�w��Z��
���E$ފ�o46t�C<ע���Ϲ����c�
���}�޵�q�0_1�lJ��Y�jqK�mx�E���$ �HU�Be�����J��ci�

���r8a��k�pv��:DI�x�n�i� 
+ at 0�u�^��
C1Sr
+[�3�"[�[��U8ky��mv�m�35��y�\
+R�CR֞q��(CCՒE��&sІ�Ð��,`ķ]<�{
����zE?<�s��5S���&����y
�8���t-_؛�u�
�"�?�Y�;!��2�}��A!x�O��f�87�8D^����;J�Jg��.S�-I8�S�
+�Yyӳi�
�Ѓ�&��Y�E5o����k!	�JM��k�(f �,�&.��M
~mJ����O0������!p�!��%�Ɍ��|�
6x��6&h](��\�]��F��j$��
+��
ר��U%I���$F��)�r聉?�Y���n�e(H)�@BU���U.T���2��;ںlg��ɀUx�o��K�m��6B���V6Dh��K�3��[�� i ����'S�v"@�*��̅��G��S��%,E���{�!�43'��r�"�6p��$�yVE�*!�`t
��%���|���e�d��hu��o1����;DN�F�+8ˉ��g�zC���\y�*k�1���
ֲ+4c(��P���o�Mx��\�͟�t\ �$A�i�GZ�`�
+р�
X�	u���]L�װ�Rz��O��)�b���o�8%
�(�

�Y�O����7�9�O4D|F�QHS7,��-�lԏ��?Mϥ�.5l���-s�xǵ:���~��?�92�˂��3w
+�-���KDW��'��77.�ID=D�� 
	эȔT��Gk�V�5P ��S�[C��0�N��
+θ�<��#�VE�
#����a��$�i�Z`����*-A0��Q�
�;1���Ge޺*
.
ʧ�#{\�/�>��{��ћ��"����R9 [Lo���nmz

+MJ�(܋�H�YLo���8���y����v���=�
�L?*gv�J��qt�O/��e����-dGh�si�lA
ʍ�7�1�q+����^��T�-�>(�)��t�Q��}\��'����,Pp���L��PЯ��Y>ƞ.�@�5�XI�i�:*w8ֽ6C%�F��j��0�s�9��׫	5�6��6
N��lQJ��y��_��6�(n�ޑ�cņ�i�+~��E/�5�t��^AK�[1r/n��Zh�U��|2�0ab	��8�8����s�ϑ���5R.m�˕
�ӗv��$�;�`�T4�r�q\jC�3>��:�������YiF��;�K��
+����F�(��5
��2
Fu?�:Nrv k����^
W�ܽ�p���SY��wޯ$�G5�?��D����W��g����
�v���
�ȟ�
�L�|�\�=:8Lq� ��oS���A?�z�H9��?�BZ�uG���U�M-�'^�����Q�3���ӽ�`��
�c�<�v����������w]��6�g
���Xaȱ�t��rB&=�/
+ ����yW�u�шm�S�P��W+�	I��
N�,�
]��G�bq��K)$�h]  '������R��	<
_� ��F�M\�Q���\�$Y��Y煮�kr�
ˣ�����D��De(�?�L����&0�ۨ�X��lO�l
]Jc�bυ��B�-�����P���XJß<� �A���
E��X\iguE����_ +��������3���6�?�j&���Z�7a<d
&�yM>��6�
VLn�|��Ɨ�{#�
+}�nF��dt��U&e��� W�fn+�q����o���,0���F�������U)߷�*��T��N��a(�󊙜��N���G�@�v�IE{�����%�N�KXt��!ӑ�\y���y#��3i�]

+����c������`�Ms���l=!��K\Q
�bh�+���s at pCE�OkCtu"|���tW5�A������B�M�c��A����
F�m���
��
s�o��*�I�]�����΃7L��S�~����"$�c��%Z/ȵ��(�
��s�;�
�4*��Y~�>N����5->��؏ɰ��I{��x�����o����̷M_�^@�k��
ʓHti ^�B��;�ʰ�2�X������
ˌ3�ĺ8�>�d�!�Ld�.u�t9یȟe�ȿ���=�QeCV>�5f��9G�1Te;�����"h}�
���{`��m�����MZ4t�w}z���� ѡ��
���d��ܸ
���T�\�cF��q
�!����.?q7\�U�H�s��$S����cnW�[֞Tb�$�D��&��3\��[���l����
֐e��]>�Fv��A��e��*\O+�o���D��26����
"?í��v�%����Q����.󏉂\|���Rw�I�[?�
���ps�#���`Z�w�hY�"����R��Ȩ�.A�`�vH�yKz�m��+�-ϹK[���ҕ��N�����Aٚh��>�{���iC& 4?�sS�F�h��<�;êH�:��|�D������Zw��>�1�]���'��R�5#�����	���ay
��a�r��J��W��� i�k�{ǥ@��$�a����OJ�)
$��������2���
�j�ȓ��eNgx�Y]�t�(�$/;
L)��y�V�<9�ЙFצH��!q��S�y����sf;�nf���.�d
�c$,-^�~��nX,�
�C��l�by�
���Os��{�B ���r��
�W� �"��P�Q�����;̊�p
��`�7��H�XbE���%5�R�ܢ
o<�$U�ml*vy?�ܦv�9�E�E`3Y��t��
�{��RP'wu7�`�������2���1�4��"��
r��q
 �h<�>�"K2��B�+����X*0ȉ:�C��~Y.�[�
g��"�ͪ
�����x�
+�o���;���Ӎ��0��z� U����%
/�lū����&�g~{�3Qg��q��T
����
���y�a6�G�O���{vWXFF�O8�4�{LelG}��)���(��a��5.�0���6�$ٽ���Y,{hb���uY��h��q��{���#��-c�;9�|��A6�2(3��0MN��!�L�w��V߯P:q^�h_�Ȟ����6�������
�G�v@��
�lx�p�=�}%��*�G�0����G�_�L��s�< k��BR������d�� �}��X�x�#�ti���@L��<A���AAhت.�k�ջ�ǯ̕@�S�ź�Z�G��y���<q.o�������r%za���Ʉ��8dW�H��"�
�j�Z� ��
+L
r��>���.-fZP`wz��]o�]�7��f�fb���2�Q��/�:��?
ِ3a��ڛ�����\��
)?�ra�3r�&�z����Dmq�<#��Z&}������a$�a	e��î�	6w��
+�(����Pk�A�
p���8����W}�|�fX��*'��1��F�ɿEGU����]%K�r��{�у$�#4Ma|��rQ$ Hט�.�p$���r0_����%H���i��I#�<OU�⃊�������q
\Q2+��w���q��|��i(�����;�
+̭W
]7l��	h�[t;zG�̽ ר��=>����������=����5't[P�6��ɐ���Yi��2j;[�r��6�Ĩl�X�5@nu^�y���m���:8u{���|�18f ��=��1�sAWD*��j�1��o2j�ۈl6�N3�< J���tu�m��]ii`
t��y�76�z&f���0���œf6��=d<����*��_h���{�����\�0�o�Vs�<S�;��F%N��GHP�,}(��T�o���
�Q�JLr�
t�&%���.�K�x�Ȼr��ʠ˦ܱ�F����� �@>
薻竂	T�uA�|P��8At�Y<?f�W[0�?��c��g�����
�{.��Nv
+�|�z�,��k�v��[/"�5�d����
+F��'@\��ڟ�Vw��|5p/W�粐�#`q���0P��ޠ��P5=C���t99j�aX1�VTE��s�5	?8*�,�l��
&�l�.���IK�/
+w\yP`��
	��7y7#��~�6�2�����N�=�V��l ��9�9���
Q�C��]�H���xAc,���&�!�n:Y���<��G',C��6
+OPе�[����4��=��7"S�u{ë<q����.7�
+�`0�L�ִ�Tk"� �F�3&J�,��>����G
��B
#���
��]�]e�"l���>]�ݟww�9��!�>a����>-���p[�9�6g�ߔ��¬W��V����Ňc|gg�Y�ά_Z�G
�2�l�n���Un��"�ۊt��C�JD�ݥ��n����i��(�Rw���a�s|��V@�Q2!	�ȩ��Ğ*;
���hzD2՟"�†�8C�9���F�D�`,O��`�4��"Ol�r�t�v���R at S�iɶr_��ʰ!5����f�Ǿ~�2ٌ���p����h����B�����q������
�7���{42ht#���e�Z,�����}t�
�Y�y�[��hDŽJ�$J8F.NT�u?qLƋ�֭�	A���j?�������Bp!��.(��ث{
���T-��I2&lbB
�
+��
����
+3Q���Ȥ��= ���^�\�}�h
+ё!�O��I�-t�;k�a>��B�->�c\`("@���K��l�q
+�!Z_�<8�ύo{���/̡#�õN�Y���c at W��	4�9�2Ր��P_ig�V�hm��
�ǚ�G䤒�!:�d������
�`s��y:i����K����n�aT
q��e5���p>8[�,��o0�3P
+c�\�Z9�
+�`A��1>��O��S�CC�j>��W>�bb���+�ƶy�n� 
��O�{ގ�a��=�J��c�4OS��u�jBs�|]�J����*v>��6�͡��Cd����4ݔ
\���տ��5H
x���XŦ�y�|�+'�
��|֠!U\e<$qp�2{�+�#�{h҈�Q��������\�&ԝ�j�M�E��cŃ�/��K�Ō����
$}�J��z��E֏^�_QT&�At�u���.�k�`���툸+M�:�M�Oͫ]��TZ:�p�:6����w�4~q�?M.N7	��ǽv+mA�Dٍ���`{CO ��ʔ�M�A��-��I�7
���f ����/
�r��*tN=.��S������6�D�@�+3l0٠,S�*�8� ��f-��r�H[xHY��A�[��0� "������۔�����+7�X&�s��A��^ݒ��)5H;�m�����CZ��=�*M�9�"�Ô���w�y/i�H��Qx� �s�AQ>�r�
+�
j���Ǝ�UOا�[�/�0�m����tO�
�\�c	V�o[$=PCMJ��ENQ[=$Ȓ�Y�����w~��_W��s[�Q�DŎ�jnP��
+	�A��֣��+�9"^��҃ҧu���^2�nW��k2Zw `
+endstream
+endobj
+3393 0 obj <<
+/Type /FontDescriptor
+/FontName /UALYPC+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
+/Ascent 678
+/CapHeight 651
+/Descent -216
+/ItalicAngle 0
+/StemV 85
+/XHeight 450
+/CharSet (/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/asterisk/at/b/bullet/c/colon/comma/copyright/d/e/eight/endash/f/fi/five/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/percent/period/plus/q/quotedbl/quotedblleft/quotedblright/quoteleft/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3392 0 R
+>> endobj
+3394 0 obj <<
+/Length1 1647
+/Length2 16004
+/Length3 0
+/Length 16868     
+/Filter /FlateDecode
+>>
+stream
+xڬ�sx�_�&
�vv̎m��;�m۶mu:��;�ض1�{�9s�:�7�̜?���U�����]��� QR�&ljo
���s�����P��5vuV��U����4w�v1�����((D��F.��vbF.@
�&� 4�� �����( ���N��. juM::�����`���_OgKs; ��7����-���/����*p� �,m� QE%-iI ���:@ht�[������	@��h�
���;l�� ��ۙZ�S�3�_.ag���hb��
�at��8 �l-���>,��NFv.���
`igb�j�O�f��J�����ۿ�_2%{gg'K�ߨJb��������Ζa���ߝ��&����/�/�_�������p�'�1`j��`c��7�_2'����lig������FN�6 at g�4��9����Uo��`��/o���_9X�8m��Y��4q������~��3�03��n������_D�O���M������`
+4�cT�w�@��2����
����"�����U��������J-�jc�`d���=g ��
����66FN���������������_wk��������Cۙ�U�3;��͖��
@S%K
��������]���dci�+�������,,M���Q��������W�U��"*'/-G����ڬ�+\�<
���IS���-���� xc��|c�d�{�^Gn6�����"b�ϵ�����@��������?~����/4�v&�����������_�`W'����k���?���@��nu�ބ7�*#;ӥ;dJLg��|$ԡ�Y��(�ξ�?#b����>��e����ҩ�Ǿ
��X�
Uo��������ON�� F�r��3��E�-m&���)e��w(™��N0WO4dnE�H~&�M�](- h
ŧg���O�TC�#ý7����ty��F�~��$).��N��&���n�������d�v����^�/,�?��gtEҝ�W-Z���F�-D�� ���Y�>�
dq&a��(���L��t2�Y�n�
��!�H0R�f�K{�h}g�h�X�VY'̆W}qUn;���H*�]q�)��%�o��o.��J<~K�*��r?�*�U��aE�	�@�J�=!}<wQ�S5c8m\/b*��Z���zo���Q��A/D�������a|jgn�+3��=��Ʃ�[�
�� �L��zKU�?8�Ќ���+ہEY�&z�7���Ue
+��3`��vW7cc7Ϯϫ���U��ʧ�&XD*#��u�K�X#]��+È.���i��dۂ��&|�_��-�o��5�3F�V8
����p5���E���ʫ�� �L����ͨ�g�N�*�'��C��0Hĉ��<�!�R�D�}?h�Zy���P]���
+�A���q)���;"7
�"��D��Ќ��,Z���w���I��~Ϧܙ�R
+�A��2~%76HT����t��-
��
ĭ�x�䉽E��0
1O�]!�<�����D�7� �VS���Our˞ZY
�Z|��z9�o�`�k&���-��9��'I'�b�B��P����-_�#�@�&$�W��89N�۰m�����;ծ�@M.hؓ9�a���{ۋ�|��ߔ�}}
�A'$T����,��4���'!]:����w���l#B�G覂�3 ��$X4���bPW�}Ev����
+�#���_��� �B`�Q(�.�l��.�1^Ӡ.Ƃ�Y��[���F^����V�*
☍�d�q��l�b9`b�$���
a{�����6�����w
�����H����W|�<��U�.ܽX�p簡?����y�@�R�QG@]���4�'�eD����	
�M�l�ӷI
a6g�fZ��~L�)��c
m*T����N%
+��S$N�W����7�<��9�_O��kk��>C��
k�]�Aх.��b^L���u=�W�2��;�
���C�a6�n
�I0���5��ƣ�5������t�zp~P�;S�5�#�b
[�J�,���%�u� AW���{$��1��-��gtꊥ$��y7�7���i8��A�u�i�D��4[d6v��a`F%F��_�`�iݔ
��V�����L�՗W�%WS�������0y�x�-$J��U�/K�n��g��[���~W_�nmB���늼��D���G�p'4N��\qwߒ�_*&ށf�ٳ����]��?ot�h"�M����"o"ߌ�y\N�i����2�N�qa��sx3�*�zո�([	��1v{W}����fzMO��u<3�����p�):���
:�@�f[D?�:'�-DM{ ��`1�~��R���' m'�H �
K�+=,�B
�n�-
�Y�áȚ�_W�6S	����2�G�ϯ)�4�&{��y�Q��捻K���7�������K�8ֹh%�
�p��*�OD!���>���S��e�Ybg�4�N g��z��ɯ��i?�i�h(���m�kĺ�6%�QUmf-5���'�L��:��/�a`��&ܤm�)����#��3�r,�@ַ��@��X�|nu����2`4��9§��P��A+I�
Rְ�+' �
�\���>Hd
+�Q6�=�#�k9
�

դ\��l�����_�{=c��2UZ���,HVg�t46�;,�=t�fK�ė��W���
Q�!o,ɒ1�O��f��;�9M����|�/�j�*0��
�(#���©�
J�S�W�3,+Y��^[v$�%&���ʜ�ul�=
+5�P?9E�V����#*�
�g#*?zB��\�$
q,-1lv>�#|�o��o���yIŎ0{�9]�֗I.�����`���x�u���
�"h�-%��>(��a]l�`���
9�lk[~�Yz�J�E�>6QN�S���YV�{�
r��
��� �M�!@�"�	T�0&������(^�G6�*
��O�I]x%M9����� 	i�ϧ�#�=��+}����W�N���w�h�<`Ku��O��
��EP��4\lC�
GS
��܃��14z_q9�U��feq`:i�6�z�I�ӗ5���H#7֝�����x�W �5
���o�n�BNa�*~���J��y��3}v�,r���JK4[�q}_0��@j��SA�0�#��}*
<��^/�]f'�y"�`�����fؙRs���ǖ��i��ҧ�F�i��p/e3������+zb���F]����f�d���J�u����S����?sC�����4��E����A��k��#!��
BL�[*�-�U߱�B��xpQ�� [...]
t_��)�_���懹t&e�_�Һ��g	�Tп���]VF�
X���pOM�o[��,���=Ͱ����

��[�y@����FX,`��j�E7
��
��N��`�Ǭ�$��k��}��"�5��
�b��}��]�
��^F4K.�7X�/��.u�����P=1�7b�i���s�.�����'�G������-{6�2�/ׇ��
+�^H
6r�uVKj1���M8F�K)���H��
ڶ�-١��!$��3�y0-�p^����ߨ��O_r���,���}�D(@r�*ಯ�r!���@v�Z�V�!<)}V
�+�T�)�<n-4Y���V�/���?�k��%�;9��,Vh2�����}P�m���V,}�
�/
+%D~|D׉i�
H/A)�&��*֥�ע�P$�R�1/M��N7�Z�r��/���cU��y�UL8[e��S

�SJI (sp�,�D�-�D%���16HП+<�d��8�v��������ʺY��e)O�Ȁ���� ���6 W�c%
���9=C���4��el
+�>�������AtcT�� +� x}=K���߅$t
2py/4�~�sR���
OFA����ŋ�^�Wc,'��I��1Oն��C
�dhA�%�g�K��%nc.�
�E��Q%5�^���S?`b��m�	C�
�%tS�u~=������
+]����w?p4`fmx?�"MOԷ8�l�%�/���.AU�c�g���M��|���t�Qu�L��X��n
�qX��6=�fS����D���d���	�j
+��i��S
+})bթ4� lR�JI�T��/����_�)�r;��'�O+���@�+-i t���&�
:��щh��L����Vk�S;kۇ7�sƄ�a~Et���j5�/�X�d��\��*R�h�����9z������ n�m��܁�7U/�/=�sT'�s��@#2���F�z���C��cV�W�a�=:{��­�[is����Jŝ�� b�!����T�]�G��
$�ή��J,GWݟ��%:�n���}c�Y� b���R��e!��S�͏jDB��4I9�H������υ3]ô
��K�� ���>V�Rf
���_�t��r�/�^��JDK%�
+���������	4�@�@�����M��F��'���u��I�ܘJ�����ر��ʞ��r[�

�%P� @���r0�Ιs𮴺�/�+o)��w�m��
m��`�*�y+̹��q�!�y���'H�_�Z�ɧ`VTB d*�le��8D4�W O
���E\���-9#����L�,[]�3�0Ó�1��@^�VM;��o��˼uV�xB�����@{:<ҡ�S�,��� ���U��S�N^���s��A
��%`;��P]��bP�K���"2�f�P(��ۇ�/L �-)�
�d.AtY�U-�^u�8|�:�OC	!=P#?Vy����ױw
��g0�Ră�!^8�F)	����N�r�c�H�22Pab���:�-�;g��wq/V�ۈ
3V�?<Fr���z������
�R;XN��8��z���rՒ�C���+l�>쵋?��3��;���#�U��s�ݣ�:����Z�O�[&�@!�v��=�R�1�)ĆZp�xG2x�2V̡�N�olXַ�J �1�<�]J����={��h�j�H��o2��橹��
�J&p����Ra#Ƌj_3���f_*Kr^ ��uӃ��u���6�A"$<gi �^r�RetntF$7���
�B�gр�
+�P�Q
���e�[�Y�%��Vװ
����
��.M���@���.�&G��ߠ\� 鵡?��Ɗ��X�
+� �8�s���qm�x�2���a{��x��[�Q �8gH��"�ny���K�eL��5�CtN|��4@���R�o&,}
�fι�m{�ʥs��g@z�G�ȹ
+X�!�'!����1of�B�_���g�����Y
=I����
��
+h�ռsQ�FS�(�Q�V�F����p}䲤��5bGˍ�ʤh����2B��'�{=�������W@`�{+nם֎��c��9�U%c�j�+�5��g�~}��Gx�n�6��Zc�eL
��(��
Xj�
i>�q���g�X;���C��C�����@Mm�lTz�HI�b�s�^���P�z��Y9oy�7��	�[H��3��S�c���u�8Y�`D.ZV.:�P�Mr��J�&����nz6CCo8㬅����r[3��_�id�6�C_��[���b���a�3�
+�1������!>i�|6��	���1`�|d�'o">9�,�fs���@q��8s
M��
�(��
+v��h��vA>���O
+\���SBH��ft*?>������Y�{������b���:D?߫
�-骶��y~
wW��-��lx��?�a�A�
+
fHhd��l5Jm��P�8tϼt����qH@{�!�Ktu~wk�ೋD��*:Y ��]�4�9
e���*��|�j��;������
h.�>Np>���k[碨�P�
��a����pc��]�b˵
+�\��JL0h"��3p�|�Yc�
�m�lO��%ϙ��W�0IP�7
 �7�pt
+�+���/�����f��M`�\�R��1�e1�
�x�֣�Ws>=\�N��#� 3��Z�yiK_���OD�UK�b/ە$ܴ��
�k�գI��8)����XF�3�D��(C��^��3ߊt��%0f���S��{"��5����SY_�Yݙηy�Vt
���%o�7�C��˯䲙
�C�0nߍr�_��40X�D
+nҝ2��0��j���ͺ ��]�t���9����ܻ@lu����N(����h�
)m��)B�#�90�c/o�#�[ط�A�G�ӉV�]u/�{;�ى�U��`
��;
��4���ቺ�
+�S,ÍAo��c��e
���*��
�W��`�B�i��O��({jFE�
E�
]
~I����E��:����g��|�(��*�l��
+h][/W�8ҝ��8!y�8��1��ѩ����Q�T����
t��9����
�f��%ƞ����E�!>��Z�5�
wQ��c
�����?��]��pB�v��^1�!�
�n,��w$L
����jn����s/ƛ�*yUd�|���o*�3�����FhY��#
zN*�N*��*���]�|DML��H;.�~E�_����
�}��D��p�e��nh�����n_��V��`&7�SsF8�e� ]E����8g�7.��
F,���s��=��I�`��j´�>@�Ol��a�hlw����m���z�$fj�vG߶��9�r���/�i*n���:���D2�gG��ͬ���k���0V��5��cb��L�
z�9����U�}��T�x�$m�e�h�EA0�S��Ҹ��٧�/�JE"4�_�1
n�`4!�&@��r�$;��S�6�g����H��a�v�5�q�AFۙ��0w��X
+�>A$B�љ
*Fo�����@lc
kKQ�r�EW}��(a�q�#�����V�ZH�K��ꈳb4���:���Sl�uj�������h�M���WS��tĤg1@��H���
.뙼�!`�=����"��	�����`�=z����aQC�z�#�l���ȶ ��z�I�t���h�l��_���&@��EZ����5��3��S5'���-nXʓ@��Y�6o�ی���Nc�kE�ə׎��6
��-�&v]

�ҥ����Q�K�z���
:����.�Օ��5v�m��
�Y�[���C��
?"��sg߮)&z`o�Ez�}��q�
+��|
UV�n"�,ˤ(]-Tɇ=���۱,��Q�
�k�k���������
��D
+5����w��L.d8��8R�aCCu��8Y��ާ�_�ȼ]ܞ�������ި+iJ]�'�ɚ�E�
�E�sV��h�P+ǿEf;3<�;�R7o{���
�x����V`7�]�g�}]I���,��Q��r���%��r���m�޾�]w���Q�������}��E����h7<��b����JPt��фn�������
�:Gu�v�ҹ�
���C�更 ^Ry�|�uϯ}eˠ�S��^h���&��
c6�O����
'C$���E�Ŷǻ�3�6~���n-
:���D��
\��BV�����w).��
դ���]�?j�4��O�O	�ӽz�e��ӄ�����y=c9��6�
P�{P����zp�˔���$��<�=�/,eGt���c��$�����[�������P��c�)����bx��U,
+��3���@B���g8�
j�� �V��a��㣡O������$ٝ!�U�����(�v
��0�4d2�Q� �Z�7VM�����8$�H`b�����=6��Z׳q8�?��j�c�|)�EP}>��5�,Z��a3�8�rƋl���:�
�]��}5�ʋ��3��"��������E<���
��e:�Ia�ڣC+"n�™�[Q*+��v��n��/)�$
+���5=��\���Y������dwg��A���,+�&#�e	dgr#��"��K��F*:�X�(P�
:.��>� 9B�)K^��j��
J�=�;��?�\�+c��ԊE�2y�ye�LL����rD�����L�t�{�Z{gM�0�j1�?�L.�#e��H��
�b}��-�L8�Q�V��{��yϴ
!�Pe1k��J:�|- y�X�Nj�� ɾ�8}P���nn:�7�T��Io�7I���vT���̠��[���F�����H�Z�T��"6-���Zfrߛa��q\_(�!���V��|��4ށ
hhk
��$�M�G�;��ڦ��a��?��(
X��x�ޥ 3������`���K��j��m���H��[��c.�}�w�3���/���.@*�7���<ךX��Ȩ�
sL��u�� ɓ��0"����G��$�6��
�)�N�ٽBa?Z'o�
,�z�8�8�MW���h���
A��7�!*`v>��"A�//_�KI
Ŏ��Vĺ��?N���7�^�%U99Թ�MQZ09z&'�t�k�
��
;u=�uS��X�Y?l�
�}����@�<E_��������aQO�8\~0�'
S]όw�U�Jɰi�jp��k0���l\љ�<�u
�ݻ�f;�Yj1{xw$х[7��TIAFT�(-����K:�����q�E�97u%�$
N�%��&T�!Z�yy|/�[*R�DTT
+
��^R��
�fS]���
���"�2����fe��.ݒع����"��tٳӋ�,Y݉��Q�>}���`��BF��� ���Pt
A�Z<&�9�2�̽JL��a��7
�$��^��
+�3}}s�>u��
�����<�xWUcR�����u��BC`�n�IcA��(��P�1�
��l�fA���Q(-���.���>��Dz�u�-��P+��v�o������u��
��(�٦RR�p��FԐ7�p/&����XTZU(�<�>X��U�AX�
��A��:a"�<䡕�>�#� u�A�3u�k���.������l9tV��:W�%߬��'̺�s��Ix=���s �PoLKMƃ��]n���q�Յ���NJZUz7����:���S{"���l�
ټ����W�Ӭ7���ⷌ�����ֲ�T�OޠH��A�guS}t9�����6�J�����-�A���ЏKp�ՆN��2 ��{/4(\e=G��sITNF���
���z���g�T�T
5��=��6|��o����j�9�{�'g2}]'�Ѝj7�����!�&�Dl~�\��
&6�4��=�=���,��*��^\�I	���!�h+�~{�D��>H ��Q�z��Ѝo0�����av|�X(�a�����8L_��7�Kh�lZ�1uKmk�ecX���K�$5����zҩ ��no��vn�v�r�$�U�H��r\���'Z5���Td�+*6����/&?]��
w�
t�M*FccF~�@�#}{�6�^W�+-ػ*6z��7���5�{�Ml$�}[
��l�70�XN_�. ����t<���>)��U�k��;І2���
��%ޤxU�x ^���Ƨ��aD���(�k��*q��>?�L�w`q�=I
$�L�+�8SQ݌���g|bƇ.�N�W�
+	ǫ�Ҿ���°
L-"\�W)~�k�
��
n������\X��#2�g"U�J�:�+Ͳ���!�Wn������o:5R4r���z������I�G�Qn��'�:�}�B1]�?�=A^0��|�݊���Z����CX��3�l�n�SB�`�1���S5�����;l+�&��2�����x��,��fU#�Є
�v,a��G+���g,(0e��#ǢT!�=��cz3B����EV�kl
fOn
Lt�&G�f�OZ����� �p�+�
g
�)�>�)�����D_LW�n��-
�2���g�o��?��"�l����KOU���z/��5�;gcK��G���Br
��f��;��	z ��	��8
?΍�<���VO����}�>��R�����b؞���i�ە�İ1tcF4?{u�HݝfJ��qO���P���*E�����0�"�����_��	��޶��K
�
La9�øN��1�F���bv/���t(��OICv�1 { ��ڝ��U���)���z��

+`��1��m�ѹ���8��ux)�~�eT;�!��3�����t����i����6/[f����Y�M�ͮ����7�)�]��~�zK飔u�h!�b|
+<{YHlc�;�F�wxY'��̕��sUb���-#JIhM�hV�7�AG
R�%�PU�v��G1ݙ�$h�І��~�0��>����x�ӈ�t���(�ƻ��)�����f��~����Ԑ'%�~ g��PE�Y!
�K�8 >���0"�KS&�� ��^�v+q	ε�k�I�4v��`'�e��#L�����1��sC��f��
+ï:cs�]�H&�.�
��+SDŽ�����uk�m�=�0��g�
|��e�
�4��$wB������O��w�(

���
�+�|��WP��Y
+ħ|k
+*��B�HײW���6Kn�Si�'�(E�J��'ibYf`�R;����hBUj�~��iK�j��n������3:
��ζ��W�4��z���ޯ�S:���#�uH
�e��lsn�� @��M��8�^p�u-��
:�$�wϏj�L�
+�ٙ�V4Yۆ}R�D�;��sǟ�p��Pl��:�������G�Ma��R����c�
䠊�
+k����)�{V�W���_M��Ėm���=!�
+��b/��Q��.��P
 �ȼ�/6ߒƢ�1`F��(H�"/���"Sq8��e���j�x�Q�)6cLV�ꮬW{ת~��wT��9r�0
�����c�w�p�%�
�M#%�0!�F�.�I|ӿ_;��8��x�wH����x�w��җ�Wv�X����E"�_��1��C��
+��X�����@�
�9;���O��>u&`��%0�~ް%0	�����*�]����ψ�H1(+
��Q�,����x�(]](��4I%i�U �d��wJ��W��.i�
r���Ѐ���N;kE�N���Y5�ׯ�W�+�����$N��أ�m;w�������W�~Y���*��:���"��g���t��ͳI���~Q
Vz�N��s?�
Ve����m/�m��QN�o�������R���9|s��xz��)�<�r a�'2w����S2qG!}�!�� �
!�{n;鬛U�,�_?8˺���	5�e&<�ի�kq�1q�=���Pi���8<�."�p�}�&MJ��預�r,L ��L4��J��h��uƗc��zX!����٩3$�.zQyWi��
+s`��p�u\a�:�vY촭w�8��~��'z��[�m��6♙����Z�z�,a�w���F`,����U6���j��
+#[5A'�Cb%�ɠj�
+��"�Z��@R��@�b��AAԉ�+�pZ�F3?H��=��BM��� u���Mc���@M	4�*O#��o���N�&ޗt��]�ϟ�x?)C��N'a"�ދ�TYsx�
�!<�:�ӫ��)zA-���L���\�V��nq0N}��^}
`b�4�f�`�}�	��s�dR��*{�;o5Ξ
���X�IaH9��}oP�j���g�D~����P��(,\[(kff�;�|�螉�S����'9i��K˱��wy�>y�cYW��S�x��u�g,�
��e,��ܐ�ٴR4��
������
!B�R�
�V^�;d���.I-B(r)�d}k�qq~�<*ZG�Nv
<5p�OI[��]��W�Vq�y0�Z�ʰQ�VRVy�b�w�c���w�(�:�b��u��A�I�z
�3oaJJ�t8�Ғ�ޘRVH<�����J0��`�(kY�i�"�&�4����c�ٗ\�BhGП�w7݊L|�
%,���s5{'�����0�L
+%�@�|A&��b�m���]�+x���E�����1�2o��)��)��<{����E�^ٰw�֬H1���^�*"* �����b��9�����\l���`=�$�;�Ƿ�_�?����0ۤ�vKS�_�<��
<z�a�"�8��&���#�aș�з���p�N��Cj�F���we���cL���#u2A��=T���5zT]o]L�ƥJ�D*
%|u�Tœ���o�����
+�f?Ln���B�VM�
�I�-�t(�X�6}O�7"<,r!��OM5AXH'���/����9���$�J��ND_꘿%�J=�,:
�H4�XYF&i�g�4�3�v̿�Ӟb���lh���\:��@��F2��<U_`�W9�n#���ҽ���ղ=X��7|��ՙ6����21�Q!�˷�M8Jc� W��G_���dC�;�IW���qI����%��F}�hƜ^�9�Ap��k��m�����
�K�I�q���)�x;
3k;oD�A��V0��O�Q-���b%�[*���e *��
��j���JCܛǍ �ȫ��1�f�A���g&/�wj_�{x,a�g)��
��V"
��
��V~���
�]�h�@�U
���QF��o��w�I>�I�fS�)�2���\���8�U�wE65��{�\x�(<{��`?�p
+���X�Z*;

0��A��
�O.>͠�_�.�-ơ�93�~OS�3!m?����qUQ� �z��*�ḑq��;��x����GN)aU��>hT �
�����V��J��/��m��'C6WV{hX/���a���KX�����a"D�'�k[$k˛h��M��1�δ#0c�bC
 ��Z��v�o<������?�@�S͏Dq�c'd�n�C��ą
A��NǪ��ڥv`ع��TYzmS��1x_8?kZ����[͉	xemlf$���{�,N9u�Mg����!?��u�&�7�Ƌ�#���H�x�*��u_v����:���X�s{;<�i8F��
��i;	W���n��YM�ʃ�"�<�&h��%�����M��
B/ˑgz��힠蕪��s1]�X�oJ��O��D���m
�`�X�!Ta����,A�a�QJ��z�%��I �^��CV��Z��6I��J�༙;"��Xu��R�Jߩ��laZ���nM�.&�ݑ
��$b(�['��viS�#cE�˒��.�����Y��
�.V������y
y4?�?���\���Y��	���~0WO���1s�"BM@�����j\�캎�l���J�Q?�"?��A0���� ��U�q�%���@P�v�;*{�I�f�"�$��y��5��˕>��,��l�t���;
��#���Q��jR��+
��3^Ş�r���F$画�?

l;���K
�<��WQ� J�L
XR�|�F
j0c�c� �+�tL��$�9LO9��R��%h�<ʼ:��3nD$Xt��21#P��23�qc�H0�e��&K{�;*�	���*�s�ڒ����
-���Rl����&i�?/��9�
�h���ْ��]r����
��=Vu��u<V<�nB�)
���=k�
�3����*"�j��>�
2ۦw�!���'�n$�e�5NuLQX
#'����c��
�@F����ޑ���w@&ُ�%�Bjx9���Q��]�7��G/2��iL��f�[��s�y�U�77���5�
+^��NFF.�j
}�.� F�*Z�&�X�r�g��\
&͐q^���FGƐ���
=�6�G��
dC�Kr4�^�<��=�}��
+HK�M
򎮑�>���)h7��^'�߷�<qi�I�״�D��؉����~\� �


��9�
7o at N
}��a�*��
�T���Xޠ�t���{����v�8��W\�
!��2���~����D���D������g�Tv�D>FHl�%�:xMAz��2���>
4�SNˍZ�)F|�������j�h/J��eP�<��R�
�NAӹ���A��ּ_���"RJ�-�r.I%I
#|����-�A�
�[��q�LT+����x&Ѵ{3&i8,7
���Ӌ�����A�Iy��jE��FK�`f���RUDZwr�����
�`؄Y�y���7A�3��
4܍-s���i{�mt�\o�U�)/2N�
O���X܊�c�����yK=�%����"Oޔ�z���lq�q}ŐiK�5�P���I��-�]t��
�W�����LJw�n�| �����X��s��nzj��ՙkz�QO	Q�{f���fw�����)��� [...]
��x�&��O�biFBuB|.��
,
���`�pu�j\��Qr|N}�N�~d��q�ա����jJ��'J��m�;��q�r�Q�p0���l�
c�1J�6'�n3(���40|�Q^�
+`��|8�&���|�n�xbc���"�Ԍ��J�kpy�k�������J8�Bj���Ơv��H�:0C�����%;)3�?���PA��
x4W�b��vR�`2�Rz�����8�9'Yi���"
�������}F-�
�׉�iU�O��Eٟ���k�$؂Q
	��
�}��
��j�.e�
�:�p
ª�
dA�iш�
�����K: �r�ط�O���K5
+�ʛ�
�9A��|^��)萸���ɔ/��J�,gki��s�쳛!C�Ì�Lw0/�yƄ�J���{�f��.��%��U!�X�d��sE�M%�R:Kٻ� ���qrǫ��6�]�p۶����+~��GZN?
�0U��M�4J�6ľ�v�~
�6H�V�Q#��1�a;�
�&M���3�
�� �kY
�}���
++P���{��f�$�L�g#C$
?�
�
��g�lE�b{ ����N0���0�{��
Y�Y`=�S�8Uq�����[H�E%}uo���9� �]��P�4�j$ڤg�
ӼZPX"�ˠ�!0~��C��2#���rc���X���I�b���U@�
���(��‚���+?� DfO�be��{%���mḳ�������]d��ڷGT�����l�W���-&�����S�g��������ZA�~܌
+ ���&,�� ����~�
q(��0��T͟��<�
!�iVԮ�s��<�V�_�$��_j�(
+7��M�}׎�7�6�Q�d<�zG���
�Ж���3� ﰖE�R l��=�(�\�����(Z�K�9y��%r��٦��P+�Ym���ɖ
��ølR�>�����,��"í��#��B�����l-��C^��:t�a��V�
+[U�����tLƊt��MXfK���5�W
+k��t��/�]��le�6��Y��_ڻނ{�i�����ΒY�t�h�Z��$ڦ
����U�#�A|A�{��M�ﺼ�/
M�?��ӸX�)*�TΙ9� �K� uݹ�5!	��vB��q fVcC�V�f�k��uB�z/���8��^��@�{o�bw�R �ax�#��
�#:V
gi���
y��oA|�GR��Sz�Uqw�`����y6{���	�����4�Zi�8j�!u�xU���S|����۽���K8�����n��:��~�{��ʟRۏM���~���|S�
��<�쩐��o~ED

�Bxq���ڌ�/�ĥ.	�4ѢW!첌T
+J�VQ�+Z�)�^HȜ�A8n�:�d�<�ۈ]+n�?��6������~꣰�Q�i�Z��C!
���F�¸��������J��
ޝqO��>��P76os�����A:�e
�������
iF.eȹKҗ���d)w��lZ��y�)����H%p�$L�k�J�5��'QHi(�l��~5I�4~��|�o��~������b;����ĵ�[z�`>LJ!��⅍#�I˴�����no��.n�}���aA�bQ��)Wvwj�3��j+�\;��W�����N�W>j�p�Zz�l���[Y��y�8=���~Zn �ϒJ4��F��e3�� 9�x���m/!q����z�� g�?�M&B�t�"n
}�J�3$�ӈ��7tl�o�
�'?�e��6�
Am���+�� ��
+Bų7�GN��zJHD?�@2t�g1�WH�}#+��ae��5$�K�TͨOQ6B�rZy�~��������볰�2i&+�Mȅ،>��km
\���70^�>�0n&sb�HA����P�[3���5�ʿwr�.��k���XY+"�Kn'Q��Ӵ6�9�l��k�m�18F
2_���`A���n!D����e@�%J���
�&�lD�eG�Oa�2�X�K���_jz�ۿ1�L���ӳ�=/M��V��w��
J����7VC �s<ѐ,(/@�S���"\�����6G���V���3P�9�/�H
�#*�N��
9k��,�?��xO�]�UBI
	fwh
2w��什1�4�jU0˞��e�3�z�.H(�D�R�F?���
+�*n�9"��W�r'�Fw�V���t���@1�HKܸN@?�tO��N?9'CQ¾������-� pt�F)��y
�
[�k��r��ϣx��'���g��V�#�3�o�
9<O[;�Q��b�.cfqVl<�Ӓ(��2��
���Q�{��ﺒ(7w$�(��q��#6��!�A��P�N+���ǟ)�`��X|Ώ
s�;s}O��͙��5����y�
����G � $��I�K;�Fb�v4E�p����g&�'����t�\��s�G+���
p!��}�W0p
�<�w�61%���,&�ɦ�
Ⱥ�g���;NV0x�" ��<����o�(�[�$d
p�E.�����o~&j�g��l�B'͖ ��w�O�i��<�� �q�KԒ/�Ư��,w�D{�da�7"�V⣠6릳OɞX�o�k	
�<l��ϩ�N)�Vq��h�Q?��:_�
+endstream
+endobj
+3395 0 obj <<
+/Type /FontDescriptor
+/FontName /RCLMIL+NimbusRomNo9L-ReguItal
+/Flags 4
+/FontBBox [-169 -270 1010 924]
+/Ascent 669
+/CapHeight 669
+/Descent -193
+/ItalicAngle -15
+/StemV 78
+/XHeight 441
+/CharSet (/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/R/S/T/U/V/W/Z/a/b/c/colon/comma/d/e/f/fi/fl/four/g/h/hyphen/i/j/k/l/m/n/nine/o/one/p/parenleft/parenright/period/plus/q/quoteright/r/s/semicolon/seven/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 3394 0 R
+>> endobj
+3328 0 obj <<
+/Type /Encoding
+/Differences [2/fi/fl 34/quotedbl 37/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 61/equal 64/at/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/bracketleft 93/bracketright 95/underscore/quoteleft/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 147/quotedblleft/quotedblright/bullet/endash 169/copyright]
+>> endobj
+1171 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LBWBDW+CMEX10
+/FontDescriptor 3345 0 R
+/FirstChar 80
+/LastChar 80
+/Widths 3325 0 R
+>> endobj
+387 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EFRBIB+CMMI10
+/FontDescriptor 3347 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 3336 0 R
+>> endobj
+1018 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 3349 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 3331 0 R
+>> endobj
+1763 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OMWOOP+CMMI6
+/FontDescriptor 3351 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 3321 0 R
+>> endobj
+1172 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PPNWOF+CMMI7
+/FontDescriptor 3353 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 3324 0 R
+>> endobj
+2545 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DGLWIM+CMMI9
+/FontDescriptor 3355 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 3318 0 R
+>> endobj
+437 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GYIKAE+CMR10
+/FontDescriptor 3357 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 3333 0 R
+>> endobj
+2543 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UVIORO+CMR6
+/FontDescriptor 3359 0 R
+/FirstChar 97
+/LastChar 120
+/Widths 3320 0 R
+>> endobj
+1174 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VWYYIV+CMR7
+/FontDescriptor 3361 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 3322 0 R
+>> endobj
+1162 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EBURFX+CMR9
+/FontDescriptor 3363 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 3326 0 R
+>> endobj
+301 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HQMTAG+CMSY10
+/FontDescriptor 3365 0 R
+/FirstChar 0
+/LastChar 54
+/Widths 3342 0 R
+>> endobj
+303 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VYEUCT+CMSY6
+/FontDescriptor 3367 0 R
+/FirstChar 3
+/LastChar 123
+/Widths 3340 0 R
+>> endobj
+1173 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZQLTBN+CMSY7
+/FontDescriptor 3369 0 R
+/FirstChar 0
+/LastChar 48
+/Widths 3323 0 R
+>> endobj
+302 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DFVRAV+CMSY8
+/FontDescriptor 3371 0 R
+/FirstChar 120
+/LastChar 123
+/Widths 3341 0 R
+>> endobj
+2544 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JZJKNN+CMSY9
+/FontDescriptor 3373 0 R
+/FirstChar 6
+/LastChar 50
+/Widths 3319 0 R
+>> endobj
+1161 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YGAXLK+CMTT9
+/FontDescriptor 3375 0 R
+/FirstChar 49
+/LastChar 109
+/Widths 3327 0 R
+>> endobj
+2650 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OAKMXN+MSBM10
+/FontDescriptor 3377 0 R
+/FirstChar 81
+/LastChar 81
+/Widths 3317 0 R
+>> endobj
+326 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OLGIQR+NimbusMonL-Regu
+/FontDescriptor 3379 0 R
+/FirstChar 34
+/LastChar 122
+/Widths 3337 0 R
+/Encoding 3328 0 R
+>> endobj
+507 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PKMHPR+NimbusMonL-ReguObli
+/FontDescriptor 3381 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 3332 0 R
+/Encoding 3328 0 R
+>> endobj
+426 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HHESAH+NimbusSanL-BoldCond
+/FontDescriptor 3383 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3335 0 R
+/Encoding 3328 0 R
+>> endobj
+1084 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /HJFXOA+NimbusSanL-BoldCondItal
+/FontDescriptor 3385 0 R
+/FirstChar 2
+/LastChar 121
+/Widths 3329 0 R
+/Encoding 3328 0 R
+>> endobj
+300 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OKHTIE+NimbusSanL-Regu
+/FontDescriptor 3387 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 3343 0 R
+/Encoding 3328 0 R
+>> endobj
+324 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UGGNXB+NimbusRomNo9L-Medi
+/FontDescriptor 3389 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 3338 0 R
+/Encoding 3328 0 R
+>> endobj
+1051 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRLFVU+NimbusRomNo9L-MediItal
+/FontDescriptor 3391 0 R
+/FirstChar 97
+/LastChar 121
+/Widths 3330 0 R
+/Encoding 3328 0 R
+>> endobj
+304 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UALYPC+NimbusRomNo9L-Regu
+/FontDescriptor 3393 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 3339 0 R
+/Encoding 3328 0 R
+>> endobj
+428 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RCLMIL+NimbusRomNo9L-ReguItal
+/FontDescriptor 3395 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 3334 0 R
+/Encoding 3328 0 R
+>> endobj
+305 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [294 0 R 309 0 R 321 0 R 334 0 R 384 0 R 418 0 R]
+>> endobj
+430 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [424 0 R 435 0 R 442 0 R 449 0 R 456 0 R 463 0 R]
+>> endobj
+473 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [469 0 R 476 0 R 484 0 R 492 0 R 504 0 R 511 0 R]
+>> endobj
+519 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [516 0 R 522 0 R 527 0 R 533 0 R 559 0 R 594 0 R]
+>> endobj
+633 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [630 0 R 683 0 R 747 0 R 797 0 R 841 0 R 869 0 R]
+>> endobj
+899 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3396 0 R
+/Kids [894 0 R 928 0 R 953 0 R 972 0 R 992 0 R 1013 0 R]
+>> endobj
+1053 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1045 0 R 1075 0 R 1101 0 R 1122 0 R 1156 0 R 1194 0 R]
+>> endobj
+1230 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1219 0 R 1238 0 R 1277 0 R 1299 0 R 1327 0 R 1357 0 R]
+>> endobj
+1396 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1382 0 R 1401 0 R 1418 0 R 1444 0 R 1483 0 R 1519 0 R]
+>> endobj
+1568 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1556 0 R 1600 0 R 1633 0 R 1662 0 R 1703 0 R 1758 0 R]
+>> endobj
+1799 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1789 0 R 1808 0 R 1829 0 R 1854 0 R 1875 0 R 1898 0 R]
+>> endobj
+1938 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3397 0 R
+/Kids [1925 0 R 1950 0 R 1972 0 R 1991 0 R 2039 0 R 2080 0 R]
+>> endobj
+2107 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [2101 0 R 2114 0 R 2137 0 R 2156 0 R 2174 0 R 2210 0 R]
+>> endobj
+2269 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [2253 0 R 2285 0 R 2317 0 R 2343 0 R 2382 0 R 2456 0 R]
+>> endobj
+2548 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [2539 0 R 2612 0 R 2647 0 R 2670 0 R 2689 0 R 2709 0 R]
+>> endobj
+2750 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [2734 0 R 2758 0 R 2785 0 R 2808 0 R 2830 0 R 2853 0 R]
+>> endobj
+2893 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [2876 0 R 2903 0 R 2927 0 R 2948 0 R 2969 0 R 2992 0 R]
+>> endobj
+3025 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 3398 0 R
+/Kids [3013 0 R 3028 0 R 3088 0 R 3163 0 R 3263 0 R 3314 0 R]
+>> endobj
+3396 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3399 0 R
+/Kids [305 0 R 430 0 R 473 0 R 519 0 R 633 0 R 899 0 R]
+>> endobj
+3397 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3399 0 R
+/Kids [1053 0 R 1230 0 R 1396 0 R 1568 0 R 1799 0 R 1938 0 R]
+>> endobj
+3398 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 3399 0 R
+/Kids [2107 0 R 2269 0 R 2548 0 R 2750 0 R 2893 0 R 3025 0 R]
+>> endobj
+3399 0 obj <<
+/Type /Pages
+/Count 108
+/Kids [3396 0 R 3397 0 R 3398 0 R]
+>> endobj
+3400 0 obj <<
+/Type /Outlines
+/First 3 0 R
+/Last 63 0 R
+/Count 10
+>> endobj
+291 0 obj <<
+/Title 292 0 R
+/A 289 0 R
+/Parent 63 0 R
+/Prev 287 0 R
+>> endobj
+287 0 obj <<
+/Title 288 0 R
+/A 285 0 R
+/Parent 63 0 R
+/Prev 283 0 R
+/Next 291 0 R
+>> endobj
+283 0 obj <<
+/Title 284 0 R
+/A 281 0 R
+/Parent 63 0 R
+/Prev 279 0 R
+/Next 287 0 R
+>> endobj
+279 0 obj <<
+/Title 280 0 R
+/A 277 0 R
+/Parent 63 0 R
+/Prev 275 0 R
+/Next 283 0 R
+>> endobj
+275 0 obj <<
+/Title 276 0 R
+/A 273 0 R
+/Parent 63 0 R
+/Prev 271 0 R
+/Next 279 0 R
+>> endobj
+271 0 obj <<
+/Title 272 0 R
+/A 269 0 R
+/Parent 63 0 R
+/Prev 267 0 R
+/Next 275 0 R
+>> endobj
+267 0 obj <<
+/Title 268 0 R
+/A 265 0 R
+/Parent 63 0 R
+/Prev 263 0 R
+/Next 271 0 R
+>> endobj
+263 0 obj <<
+/Title 264 0 R
+/A 261 0 R
+/Parent 63 0 R
+/Prev 259 0 R
+/Next 267 0 R
+>> endobj
+259 0 obj <<
+/Title 260 0 R
+/A 257 0 R
+/Parent 63 0 R
+/Prev 255 0 R
+/Next 263 0 R
+>> endobj
+255 0 obj <<
+/Title 256 0 R
+/A 253 0 R
+/Parent 63 0 R
+/Prev 251 0 R
+/Next 259 0 R
+>> endobj
+251 0 obj <<
+/Title 252 0 R
+/A 249 0 R
+/Parent 63 0 R
+/Prev 247 0 R
+/Next 255 0 R
+>> endobj
+247 0 obj <<
+/Title 248 0 R
+/A 245 0 R
+/Parent 63 0 R
+/Prev 243 0 R
+/Next 251 0 R
+>> endobj
+243 0 obj <<
+/Title 244 0 R
+/A 241 0 R
+/Parent 63 0 R
+/Prev 239 0 R
+/Next 247 0 R
+>> endobj
+239 0 obj <<
+/Title 240 0 R
+/A 237 0 R
+/Parent 63 0 R
+/Prev 235 0 R
+/Next 243 0 R
+>> endobj
+235 0 obj <<
+/Title 236 0 R
+/A 233 0 R
+/Parent 63 0 R
+/Prev 231 0 R
+/Next 239 0 R
+>> endobj
+231 0 obj <<
+/Title 232 0 R
+/A 229 0 R
+/Parent 63 0 R
+/Prev 227 0 R
+/Next 235 0 R
+>> endobj
+227 0 obj <<
+/Title 228 0 R
+/A 225 0 R
+/Parent 63 0 R
+/Prev 223 0 R
+/Next 231 0 R
+>> endobj
+223 0 obj <<
+/Title 224 0 R
+/A 221 0 R
+/Parent 63 0 R
+/Prev 219 0 R
+/Next 227 0 R
+>> endobj
+219 0 obj <<
+/Title 220 0 R
+/A 217 0 R
+/Parent 63 0 R
+/Prev 215 0 R
+/Next 223 0 R
+>> endobj
+215 0 obj <<
+/Title 216 0 R
+/A 213 0 R
+/Parent 63 0 R
+/Prev 211 0 R
+/Next 219 0 R
+>> endobj
+211 0 obj <<
+/Title 212 0 R
+/A 209 0 R
+/Parent 63 0 R
+/Prev 207 0 R
+/Next 215 0 R
+>> endobj
+207 0 obj <<
+/Title 208 0 R
+/A 205 0 R
+/Parent 63 0 R
+/Prev 203 0 R
+/Next 211 0 R
+>> endobj
+203 0 obj <<
+/Title 204 0 R
+/A 201 0 R
+/Parent 63 0 R
+/Prev 199 0 R
+/Next 207 0 R
+>> endobj
+199 0 obj <<
+/Title 200 0 R
+/A 197 0 R
+/Parent 63 0 R
+/Prev 195 0 R
+/Next 203 0 R
+>> endobj
+195 0 obj <<
+/Title 196 0 R
+/A 193 0 R
+/Parent 63 0 R
+/Prev 191 0 R
+/Next 199 0 R
+>> endobj
+191 0 obj <<
+/Title 192 0 R
+/A 189 0 R
+/Parent 63 0 R
+/Prev 187 0 R
+/Next 195 0 R
+>> endobj
+187 0 obj <<
+/Title 188 0 R
+/A 185 0 R
+/Parent 63 0 R
+/Prev 183 0 R
+/Next 191 0 R
+>> endobj
+183 0 obj <<
+/Title 184 0 R
+/A 181 0 R
+/Parent 63 0 R
+/Prev 179 0 R
+/Next 187 0 R
+>> endobj
+179 0 obj <<
+/Title 180 0 R
+/A 177 0 R
+/Parent 63 0 R
+/Prev 175 0 R
+/Next 183 0 R
+>> endobj
+175 0 obj <<
+/Title 176 0 R
+/A 173 0 R
+/Parent 63 0 R
+/Prev 171 0 R
+/Next 179 0 R
+>> endobj
+171 0 obj <<
+/Title 172 0 R
+/A 169 0 R
+/Parent 63 0 R
+/Prev 167 0 R
+/Next 175 0 R
+>> endobj
+167 0 obj <<
+/Title 168 0 R
+/A 165 0 R
+/Parent 63 0 R
+/Prev 163 0 R
+/Next 171 0 R
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 63 0 R
+/Prev 159 0 R
+/Next 167 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 63 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 63 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 63 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 63 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 63 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 63 0 R
+/Prev 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 63 0 R
+/Prev 131 0 R
+/Next 139 0 R
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 63 0 R
+/Prev 127 0 R
+/Next 135 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 63 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 63 0 R
+/Prev 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 63 0 R
+/Prev 115 0 R
+/Next 123 0 R
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 63 0 R
+/Prev 111 0 R
+/Next 119 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 63 0 R
+/Prev 107 0 R
+/Next 115 0 R
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 63 0 R
+/Prev 103 0 R
+/Next 111 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 63 0 R
+/Prev 99 0 R
+/Next 107 0 R
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 63 0 R
+/Prev 95 0 R
+/Next 103 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 63 0 R
+/Prev 91 0 R
+/Next 99 0 R
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 63 0 R
+/Prev 87 0 R
+/Next 95 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 63 0 R
+/Prev 83 0 R
+/Next 91 0 R
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 63 0 R
+/Prev 79 0 R
+/Next 87 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 63 0 R
+/Prev 75 0 R
+/Next 83 0 R
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 63 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 63 0 R
+/Prev 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 63 0 R
+/Next 71 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 3400 0 R
+/Prev 55 0 R
+/First 67 0 R
+/Last 291 0 R
+/Count -57
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 55 0 R
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 3400 0 R
+/Prev 47 0 R
+/Next 63 0 R
+/First 59 0 R
+/Last 59 0 R
+/Count -1
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 47 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 3400 0 R
+/Prev 39 0 R
+/Next 55 0 R
+/First 51 0 R
+/Last 51 0 R
+/Count -1
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 39 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 3400 0 R
+/Prev 31 0 R
+/Next 47 0 R
+/First 43 0 R
+/Last 43 0 R
+/Count -1
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 31 0 R
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 3400 0 R
+/Prev 23 0 R
+/Next 39 0 R
+/First 35 0 R
+/Last 35 0 R
+/Count -1
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 23 0 R
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 3400 0 R
+/Prev 15 0 R
+/Next 31 0 R
+/First 27 0 R
+/Last 27 0 R
+/Count -1
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 15 0 R
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 3400 0 R
+/Prev 11 0 R
+/Next 23 0 R
+/First 19 0 R
+/Last 19 0 R
+/Count -1
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 3400 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 3400 0 R
+/Prev 3 0 R
+/Next 11 0 R
+>> endobj
+3 0 obj <<
+/Title 4 0 R
+/A 1 0 R
+/Parent 3400 0 R
+/Next 7 0 R
+>> endobj
+3401 0 obj <<
+/Names [(Doc-Start) 299 0 R (GFDL) 508 0 R (GFDL_GFDL) 331 0 R (GPL) 438 0 R (GPL_GPL) 332 0 R (classparma__polyhedra__library_1_1Artificial__Parameter) 634 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Artificial__Parameter)]
+>> endobj
+3402 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) 635 0 R (classparma__polyhedra__library_1_1Artificial__Parameter__Sequence_a47b1b172706010e446aa8055c982a857) 981 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_a1ed95ba05855767fd9fd6bf04f9e9167) 958 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_ac04b78a2c208b111ea763b7bbc01e20a) 977 0 R (classparma__polyhedra__library_1_1Artificial__Parameter_ac1ce31354ecf79ca6c6c819059ec7de6) 978 0  [...]
+/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter__Sequence) (classparma__polyhedra__library_1_1Artificial__Parameter_acac3d9fa21c9924c62f2221831d7b873)]
+>> endobj
+3403 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Artificial__Parameter_ae44414ac09129205a7f718517caca304) 975 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 639 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a8be0080275e869b6858313f3ce58879e) 1021 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ac0b40b5fd7fce9c2e70001fe21b04ecd) 1020 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_ad3af2e55a3f9bb1410625b2f98a371e1) 1022 0 R (cl [...]
+/Limits [(classparma__polyhedra__library_1_1Artificial__Parameter_ae44414ac09129205a7f718517caca304) (classparma__polyhedra__library_1_1C__Polyhedron)]
+>> endobj
+3404 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a0a28bc5d3066a6ffe552a90aa688fe46) 1065 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a2cd3747157a618a88e2c95bc45451f12) 1080 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a4980562fb3e164d31f6a0ce66b638ce3) 1050 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a5431caa9e7f5c824e9a6ac2e6d69fd87) 1064 0 R (classparma__polyhedra__library_1_1C__Polyhedron_a6eb50dda90cfae549d191f5124f2562d) 1052 0 R (classparma__polyhe [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a0a28bc5d3066a6ffe552a90aa688fe46) (classparma__polyhedra__library_1_1C__Polyhedron_a848091b71fff6f0085950e64b6479e4a)]
+>> endobj
+3405 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a922faaab6e2cb023231b56b049bca0f4) 1066 0 R (classparma__polyhedra__library_1_1C__Polyhedron_aba7be77030b5b01a9e1049ce41bbfa77) 1063 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ad4fd0a018fd96e10fddd740337f60ebd) 1049 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ad51277b918f8fc2a6892b1a987f8f746) 1090 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ae6b00d1beeeae893cca2817406d0039a) 1062 0 R (classparma__polyhe [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a922faaab6e2cb023231b56b049bca0f4) (classparma__polyhedra__library_1_1C__Polyhedron_af495c3499ed2742d6b68bc6bc99224d7)]
+>> endobj
+3406 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Coefficient) 641 0 R (classparma__polyhedra__library_1_1Coefficient_a1ef0c686ebed5c06b004a0799f3b1599) 1114 0 R (classparma__polyhedra__library_1_1Coefficient_a22380e8edd12a8121b5af6a60eb05da2) 1111 0 R (classparma__polyhedra__library_1_1Coefficient_a27e2ee6c6e6f960cc523a3366249f5f9) 1112 0 R (classparma__polyhedra__library_1_1Coefficient_a2b3404ee14fc16f5592bb10a1a4bdd7e) 1129 0 R (classparma__polyhedra__library_1_1Coefficient_a3f49d1a45b861fb1 [...]
+/Limits [(classparma__polyhedra__library_1_1Coefficient) (classparma__polyhedra__library_1_1Coefficient_a3f49d1a45b861fb12fac766004b358c5)]
+>> endobj
+3407 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Coefficient_a88c2f2fc304b1e27f20f200efcde2a11) 1126 0 R (classparma__polyhedra__library_1_1Coefficient_aebff23eb304cef5bcd9ac11ee5d7c7ed) 1127 0 R (classparma__polyhedra__library_1_1Coefficient_afd68df98e748af269b3588ca5504bb1d) 1125 0 R (classparma__polyhedra__library_1_1Congruence) 686 0 R (classparma__polyhedra__library_1_1Congruence__System) 687 0 R (classparma__polyhedra__library_1_1Congruence__System_a559e1395399115eb381a421c8916eb1d) 1199 0 R]
+/Limits [(classparma__polyhedra__library_1_1Coefficient_a88c2f2fc304b1e27f20f200efcde2a11) (classparma__polyhedra__library_1_1Congruence__System_a559e1395399115eb381a421c8916eb1d)]
+>> endobj
+3408 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence__System_a6efa775d8084cb3611b1b6b512dc2827) 1200 0 R (classparma__polyhedra__library_1_1Congruence__System_ae287421ae1ceab78c861efb2803c1edb) 1198 0 R (classparma__polyhedra__library_1_1Congruence_a3c4dfe2a773355c5842dbe133a7c974e) 1164 0 R (classparma__polyhedra__library_1_1Congruence_a6f45bd1aa87e7b459ee0d93a65ff05db) 1169 0 R (classparma__polyhedra__library_1_1Congruence_a894f888629036722adcbc81268cab48a) 1165 0 R (classparma__polyh [...]
+/Limits [(classparma__polyhedra__library_1_1Congruence__System_a6efa775d8084cb3611b1b6b512dc2827) (classparma__polyhedra__library_1_1Congruence_a90cc7704ce2f0ee6c205bfa3877a7671)]
+>> endobj
+3409 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence_adf1055ffa2127b453280f5491cb15ffb) 1160 0 R (classparma__polyhedra__library_1_1Congruence_af0873d79c213b1552008ea16229b58e5) 1167 0 R (classparma__polyhedra__library_1_1Congruence_af6656a7b76ac03bbfccba848d6a42dc2) 1166 0 R (classparma__polyhedra__library_1_1Constraint) 688 0 R (classparma__polyhedra__library_1_1Constraint__System) 689 0 R (classparma__polyhedra__library_1_1Constraint__System_a172718f103bd4533e3971e8e69f9f60c) 1225 0 R]
+/Limits [(classparma__polyhedra__library_1_1Congruence_adf1055ffa2127b453280f5491cb15ffb) (classparma__polyhedra__library_1_1Constraint__System_a172718f103bd4533e3971e8e69f9f60c)]
+>> endobj
+3410 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint__System_a67b38d56d0f11bda997b393e7b5d7c5f) 1224 0 R (classparma__polyhedra__library_1_1Constraint__System_ace9427756858d751136f1e72309b9be0) 1223 0 R (classparma__polyhedra__library_1_1Constraint_a19ca194f097ddf860d1ad80961a5eda2) 1206 0 R (classparma__polyhedra__library_1_1Constraint_a2531a33c20c3cb27ea7fcf0a04339c2e) 1203 0 R (classparma__polyhedra__library_1_1Constraint_a5b54a0e76432b52a2259a02f31fc0b83) 1205 0 R (classparma__polyh [...]
+/Limits [(classparma__polyhedra__library_1_1Constraint__System_a67b38d56d0f11bda997b393e7b5d7c5f) (classparma__polyhedra__library_1_1Constraint_a6062c78f7cefbc808b99f35b72fcda8a)]
+>> endobj
+3411 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint_a9fb052eb3479e107bde4cfd95599c787) 1204 0 R (classparma__polyhedra__library_1_1Constraint_abd74986494a6e574bb0499b3b7109379) 1207 0 R (classparma__polyhedra__library_1_1Domain__Error__Exception) 693 0 R (classparma__polyhedra__library_1_1Domain__Error__Exception_a18ac064d1fafb42b385e6b942df648f0) 1250 0 R (classparma__polyhedra__library_1_1Generator) 694 0 R (classparma__polyhedra__library_1_1Generator__System) 695 0 R]
+/Limits [(classparma__polyhedra__library_1_1Constraint_a9fb052eb3479e107bde4cfd95599c787) (classparma__polyhedra__library_1_1Generator__System)]
+>> endobj
+3412 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator__System_a379e7fec2e73df8beb7904b85d7645df) 1331 0 R (classparma__polyhedra__library_1_1Generator__System_a62ca7c2995414638d139847539631598) 1330 0 R (classparma__polyhedra__library_1_1Generator__System_ab8be81becce1bc803566f5b19e366799) 1311 0 R (classparma__polyhedra__library_1_1Generator_a3c40a54218985599831d143c5bb5972f) 1291 0 R (classparma__polyhedra__library_1_1Generator_a67b795731a54c5c3b470d44e10806ac5) 1283 0 R (classparma__po [...]
+/Limits [(classparma__polyhedra__library_1_1Generator__System_a379e7fec2e73df8beb7904b85d7645df) (classparma__polyhedra__library_1_1Generator_a6c93053ad6b6bbcaa9aee01b646bba06)]
+>> endobj
+3413 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator_a7223763131fbe9f93528193576a7975c) 1281 0 R (classparma__polyhedra__library_1_1Generator_a8fb4edb895a850c5ddf8646b31d92a07) 1294 0 R (classparma__polyhedra__library_1_1Generator_ab67f80234f60baee3584e955d4fa3f0a) 1292 0 R (classparma__polyhedra__library_1_1Generator_ac3e1a9737e2b459e439904f9817f4289) 1293 0 R (classparma__polyhedra__library_1_1Generator_ad2b2c058d1c2dfc8c14144caa50ee91d) 1288 0 R (classparma__polyhedra__library_1_1Gene [...]
+/Limits [(classparma__polyhedra__library_1_1Generator_a7223763131fbe9f93528193576a7975c) (classparma__polyhedra__library_1_1Generator_ae1acaaf59811107a0571b1f65a41b012)]
+>> endobj
+3414 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator) 697 0 R (classparma__polyhedra__library_1_1Grid__Generator__System) 698 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a4c7c1b1005912277576320fd650d1e89) 1391 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_a8f448359523682c0623804af48cc2dff) 1390 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_afb407c2937347e7381fed31b31a46e98) 1389 0 R (classparma__polyhedra__library_1_1Grid__Genera [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator) (classparma__polyhedra__library_1_1Grid__Generator_a147ad6db2e9d13bee7450666cad83d7d)]
+>> endobj
+3415 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator_a45537abba3ff2661633cb4033fe15e0b) 1368 0 R (classparma__polyhedra__library_1_1Grid__Generator_a58e50b5ebd0b0f5b4d5e44690a939e34) 1339 0 R (classparma__polyhedra__library_1_1Grid__Generator_a61e7f56c96825c1dbd9b1753ead625b7) 1365 0 R (classparma__polyhedra__library_1_1Grid__Generator_a7440d17db8648a633c9b77c512bf8f9b) 1361 0 R (classparma__polyhedra__library_1_1Grid__Generator_a8b88040458f91e980a158487b14a359e) 1371 0 R (classpar [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator_a45537abba3ff2661633cb4033fe15e0b) (classparma__polyhedra__library_1_1Grid__Generator_ab557b1ec4f75e98b5b4155b932d7a6af)]
+>> endobj
+3416 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator_afb38d7eabfa00c8d068e8cdd4820d46c) 1360 0 R (classparma__polyhedra__library_1_1IO) 701 0 R (classparma__polyhedra__library_1_1IO_aedad05516ed695dabfa4fed118d41145) 1411 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception) 700 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception_aefc6c6941cd663b4715cc71e446d4fa0) 1406 0 R (classparma__polyhedra__library_1_1Length__Error__Exception) 702 0 R]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator_afb38d7eabfa00c8d068e8cdd4820d46c) (classparma__polyhedra__library_1_1Length__Error__Exception)]
+>> endobj
+3417 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Length__Error__Exception_a84966c712051f47e1dcee5490d5ca670) 1423 0 R (classparma__polyhedra__library_1_1Linear__Expression) 703 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) 704 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a1109f21e2d8d35f3dae8ddc8074dd7cc) 1491 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_a733941c541eb74a6c925db946b39e46e) 1493 0 R (classparma__polyhe [...]
+/Limits [(classparma__polyhedra__library_1_1Length__Error__Exception_a84966c712051f47e1dcee5490d5ca670) (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ad6ca74b77c4e7c632ddfdc6ab8f3567a)]
+>> endobj
+3418 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ae2a6394e34e787c14484f3d411e022ff) 1489 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference) 750 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2a702d0e6013ee746e60e4b3c53abfb9) 1527 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_a2e6d73507de036e41aa8e1cfc717835e) 1530 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_aa575e8597c3 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ae2a6394e34e787c14484f3d411e022ff) (classparma__polyhedra__library_1_1Linear__Expression__Difference_aaaeb914f871ccb4e97fc4fd513364b94)]
+>> endobj
+3419 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Difference_aba4e5801ccc48c5aca66c1e09ddb601e) 1525 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_af36458b7b549f4494a2554972244867b) 1524 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum) 751 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a04d7bcdd3d8cd086fa28922403cbeb6e) 1566 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_a1af748b5b83815f826301969cee51712) [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_aba4e5801ccc48c5aca66c1e09ddb601e) (classparma__polyhedra__library_1_1Linear__Expression__Sum_a6d0d4f5a1f45dd0c5ccb2abe003bb041)]
+>> endobj
+3420 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a75fb2490197b55a1474aff4ce0022598) 1562 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_aaf17ce2383d125a60b8283addae73c7c) 1567 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_acd2297a09c09cc44bf66eaafb90e0d7c) 1563 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times) 752 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a0e3334c609b7d72493ee150349098048) 1636 0 R  [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Sum_a75fb2490197b55a1474aff4ce0022598) (classparma__polyhedra__library_1_1Linear__Expression__Times_a2a5cc6cf6acdd7c5695af1ef807c40b2)]
+>> endobj
+3421 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times_a84e0592d7a7e218f4c4c782f882f18cc) 1605 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_a8bddb181c1be9d2553b18871ab85e84f) 1607 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_aa37c50d4e586466d66070a61595399ec) 1609 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_abef3573de0c962f79637f379b089b0ad) 1612 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_ac3 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_a84e0592d7a7e218f4c4c782f882f18cc) (classparma__polyhedra__library_1_1Linear__Expression__Times_aca857d6f0e8cef1c2a2b077cd6a513ef)]
+>> endobj
+3422 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) 753 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a0b2d532ef24c4ccd4a4a04907d03f2af) 1639 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a0e57cbf0841e9af58ac2a52e89865a86) 1640 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a48032da1e7c874083e027a065499bd5b) 1643 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_adb [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) (classparma__polyhedra__library_1_1Linear__Expression__Variable)]
+>> endobj
+3423 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Variable_a5bb6231ba1b0357cce472468fc4733f2) 1669 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_a820ba8207751c8764ab6a51eb1183a7c) 1667 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_ad6f7c3aef257204c507d0a85539aa987) 1668 0 R (classparma__polyhedra__library_1_1Linear__Expression_a0c6bf4c112511ed41878554ca3c02977) 1448 0 R (classparma__polyhedra__library_1_1Linear__Expression_a2cbe4b9 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Variable_a5bb6231ba1b0357cce472468fc4733f2) (classparma__polyhedra__library_1_1Linear__Expression_a3a962a357f4260b224518672b80ccdc6)]
+>> endobj
+3424 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression_aa4c34f9b1017a3b44afaa423b832722a) 1449 0 R (classparma__polyhedra__library_1_1Linear__Expression_ab9e90a38fb859d1dbe667efec83743d0) 1455 0 R (classparma__polyhedra__library_1_1Linear__Expression_ac622b43c176dfe1b92260b841192b305) 1452 0 R (classparma__polyhedra__library_1_1Linear__Expression_ad7fba193bb811d3dd21903c3fb5e2428) 1456 0 R (classparma__polyhedra__library_1_1Linear__Expression_aedb7a64c3a6bdff1793482110849e5d9) 145 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression_aa4c34f9b1017a3b44afaa423b832722a) (classparma__polyhedra__library_1_1Linear__Expression_af6431ecb966a6e38dc55e7f4274b31db)]
+>> endobj
+3425 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Logic__Error__Exception) 755 0 R (classparma__polyhedra__library_1_1Logic__Error__Exception_a655c21143c2eb90c64487e6e4dcd140c) 1707 0 R (classparma__polyhedra__library_1_1MIP__Problem) 756 0 R (classparma__polyhedra__library_1_1MIP__Problem_a029ae33c5a3d2e301e08d77744d6b739) 1768 0 R (classparma__polyhedra__library_1_1MIP__Problem_a0a9d6f3a0eb496081b86efbb0ea0a011) 1774 0 R (classparma__polyhedra__library_1_1MIP__Problem_a10856aafcb2ba1f52e5158a [...]
+/Limits [(classparma__polyhedra__library_1_1Logic__Error__Exception) (classparma__polyhedra__library_1_1MIP__Problem_a10856aafcb2ba1f52e5158a96950d32c)]
+>> endobj
+3426 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a163804d4b5d0f7361974963ef22f98ee) 1714 0 R (classparma__polyhedra__library_1_1MIP__Problem_a1a9c175a241fd2ea35c88ba74074e695) 1710 0 R (classparma__polyhedra__library_1_1MIP__Problem_a1dc4d783858f3eff8674c04502f4432f) 1764 0 R (classparma__polyhedra__library_1_1MIP__Problem_a259d72e4c1cc8fbf723b463475882c9e) 1711 0 R (classparma__polyhedra__library_1_1MIP__Problem_a3659575ce6ee121e2a2df2c347796fce) 1778 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a163804d4b5d0f7361974963ef22f98ee) (classparma__polyhedra__library_1_1MIP__Problem_a36ac8f2a9f570db98e652d333541ae5c)]
+>> endobj
+3427 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a4155cebeafe8bc5e3d7d863e1a24abcb) 1719 0 R (classparma__polyhedra__library_1_1MIP__Problem_a42d572a34bcfa6f75a730215898de8c3) 1767 0 R (classparma__polyhedra__library_1_1MIP__Problem_a4b15258348ad1f31d1857eca9dd9bc68) 1717 0 R (classparma__polyhedra__library_1_1MIP__Problem_a535529376fbabac6dde098be2c0bc9d8) 1776 0 R (classparma__polyhedra__library_1_1MIP__Problem_a68cd1f4ad51eff8dcc8634ae7990b3e8) 1771 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a4155cebeafe8bc5e3d7d863e1a24abcb) (classparma__polyhedra__library_1_1MIP__Problem_a6cace6b1265203d0fff22021fd2a56a2)]
+>> endobj
+3428 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a76aa40d264daa4af312ae293615ba3d6) 1769 0 R (classparma__polyhedra__library_1_1MIP__Problem_a77b86c1af3be2ba98179fe26fc5560de) 1721 0 R (classparma__polyhedra__library_1_1MIP__Problem_a81aa24851effbe4fade96c65e7c575d4) 1772 0 R (classparma__polyhedra__library_1_1MIP__Problem_a8c602e835a5fe866cd3d0838c42ac9e3) 1777 0 R (classparma__polyhedra__library_1_1MIP__Problem_a8e5ebed0862d7349443d391cb8aa9ab3) 1781 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a76aa40d264daa4af312ae293615ba3d6) (classparma__polyhedra__library_1_1MIP__Problem_a8eb4ecbc8176c3018d1d742f5abb8115)]
+>> endobj
+3429 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_a9971c2e55bbf3477c321cb1fed28c430) 1773 0 R (classparma__polyhedra__library_1_1MIP__Problem_abc1363206f93e6778c1e9d136f24c01b) 1715 0 R (classparma__polyhedra__library_1_1MIP__Problem_ae1928da791c8514b7e82e2d750ebdad8) 1720 0 R (classparma__polyhedra__library_1_1MIP__Problem_ae65e48247a4f2477e8c00f5088190bfc) 1765 0 R (classparma__polyhedra__library_1_1MIP__Problem_aed0b5ff233c2092ec5414bcf36747dd5) 1716 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_a9971c2e55bbf3477c321cb1fed28c430) (classparma__polyhedra__library_1_1MIP__Problem_af44c1d2698cf0080c2e7cdc4fc2b9634)]
+>> endobj
+3430 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_af933208cb9b9013073316c1107b3649d) 1775 0 R (classparma__polyhedra__library_1_1MIP__Problem_af95bf704d29d8b91d248d1d437ad703a) 1718 0 R (classparma__polyhedra__library_1_1MIP__Problem_afbd6f23017c162cd460d4b0ac42ae4c8) 1770 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception) 759 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception_a3c4ed48495c48bc67b46023bb0b62828) 1882 0 R (classparma__polyhedra__library [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_af933208cb9b9013073316c1107b3649d) (classparma__polyhedra__library_1_1PIP__Decision__Node)]
+>> endobj
+3431 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Decision__Node_a72e63bc7c8c5d3bf7a4a89376f32457e) 1998 0 R (classparma__polyhedra__library_1_1PIP__Problem) 763 0 R (classparma__polyhedra__library_1_1PIP__Problem_a01868d21a17d9549b711240123d5b81c) 2055 0 R (classparma__polyhedra__library_1_1PIP__Problem_a28b832ea15d4a33b33f51554b5f54a43) 2049 0 R (classparma__polyhedra__library_1_1PIP__Problem_a29bc2f9d0a2c4c96011fe36312a53e2d) 2095 0 R (classparma__polyhedra__library_1_1PIP__Problem_a373 [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Decision__Node_a72e63bc7c8c5d3bf7a4a89376f32457e) (classparma__polyhedra__library_1_1PIP__Problem_a373a253b31500ca4f15cf2b22e3b9eea)]
+>> endobj
+3432 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a42e9887cb1bd2e0914862d448881d047) 2087 0 R (classparma__polyhedra__library_1_1PIP__Problem_a4c79cc34280a10e3ca9d2a2fdb8f52fa) 2045 0 R (classparma__polyhedra__library_1_1PIP__Problem_a5bc4c5bb38b21a01517358b417867797) 2060 0 R (classparma__polyhedra__library_1_1PIP__Problem_a5c952c2540fc4ea96e8aaa1109d6ea0c) 2096 0 R (classparma__polyhedra__library_1_1PIP__Problem_a6adb9a394696d907389f2fabc3d7f643) 2050 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a42e9887cb1bd2e0914862d448881d047) (classparma__polyhedra__library_1_1PIP__Problem_a77791a65ff33495b86466f4a672cd531)]
+>> endobj
+3433 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a777f48d40962e0a1f7ddcd691bde154d) 2093 0 R (classparma__polyhedra__library_1_1PIP__Problem_a7a934327db411e24b7c2a073983d2a3e) 2086 0 R (classparma__polyhedra__library_1_1PIP__Problem_a84f5ab2a93289e1436a1ea7ef58fb460) 2053 0 R (classparma__polyhedra__library_1_1PIP__Problem_a89335d3e61d877bf25e41e562bf2fb34) 2051 0 R (classparma__polyhedra__library_1_1PIP__Problem_a8959e3a2e2612143cb56991236663058) 2054 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a777f48d40962e0a1f7ddcd691bde154d) (classparma__polyhedra__library_1_1PIP__Problem_a9117ebcf4233e25be986d6b67ca78f1d)]
+>> endobj
+3434 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_a925ebc675d3deed289aed0d97dafa81c) 2094 0 R (classparma__polyhedra__library_1_1PIP__Problem_a92ced4994293ff25212f86d55421a48a) 2085 0 R (classparma__polyhedra__library_1_1PIP__Problem_aa86001c9fa5a81f40582bac023132a68) 2052 0 R (classparma__polyhedra__library_1_1PIP__Problem_aaacb839f41a9e7355e1e1e5cc9ad0894) 2083 0 R (classparma__polyhedra__library_1_1PIP__Problem_ab3b703e4e468da3a5f49ad28905527e9) 2089 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_a925ebc675d3deed289aed0d97dafa81c) (classparma__polyhedra__library_1_1PIP__Problem_ab75311edf7727278b2c6621e4cf08986)]
+>> endobj
+3435 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_ac41bfa66bbd6a2c52616ea5d4a6270a0) 2097 0 R (classparma__polyhedra__library_1_1PIP__Problem_ac9e60b83b647eaf62c173ecf3539c536) 2048 0 R (classparma__polyhedra__library_1_1PIP__Problem_ad67204128201f54bc7e543a16e67e951) 2046 0 R (classparma__polyhedra__library_1_1PIP__Problem_ad7ae9489e4e3449bfedbafd36d929f55) 2058 0 R (classparma__polyhedra__library_1_1PIP__Problem_adbae3f77deab71eb8d31dc8e551bdeed) 2084 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_ac41bfa66bbd6a2c52616ea5d4a6270a0) (classparma__polyhedra__library_1_1PIP__Problem_ae2e189679413b6058b03b13fc1b8dcfd)]
+>> endobj
+3436 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Problem_ae7dc52a107e3c90f03801ac327d35589) 2059 0 R (classparma__polyhedra__library_1_1PIP__Problem_aed3b733dc78567027867440a5774e70b) 2057 0 R (classparma__polyhedra__library_1_1PIP__Solution__Node) 767 0 R (classparma__polyhedra__library_1_1PIP__Solution__Node_ab532119425bcb15a8c6063d19f071c3c) 2180 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node) 803 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a33dde59d655ee0ce0f7b7b97c [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Problem_ae7dc52a107e3c90f03801ac327d35589) (classparma__polyhedra__library_1_1PIP__Tree__Node_a33dde59d655ee0ce0f7b7b97c7e57f93)]
+>> endobj
+3437 0 obj <<
+/Names [(classparma__polyhedra__library_1_1PIP__Tree__Node_a59f64bef2634e80385a906bfefe2acd5) 2219 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a7c7056a9fa57d1dd08465dbb8a862b72) 2215 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_a8ad7732b0e38be9e8c42a93bffdedbcb) 2214 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_ac6acd7a5076267b606f39476b3b891e4) 2218 0 R (classparma__polyhedra__library_1_1PIP__Tree__Node_af248bcc6fc4a4dff80fd47032a49b33c) 2217 0 R (classpar [...]
+/Limits [(classparma__polyhedra__library_1_1PIP__Tree__Node_a59f64bef2634e80385a906bfefe2acd5) (classparma__polyhedra__library_1_1PIP__Tree__Node_afe64e41fa2c3ef17fb78ea3ea4caa89e)]
+>> endobj
+3438 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) 760 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a0f022d23c55748a9e437e1625149bf5a) 1902 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_a35e4df2723c110fbdadbcde7fe9cfae0) 1903 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) 431 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a08c3b1c1c4e916f10c85114ac888c040) 1928 0 R (classparma__polyhedra__library_1_1Par [...]
+/Limits [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a0c349132b447b3e6a5234a23257f417d)]
+>> endobj
+3439 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4e5e7fc32bfd0ae986d63ec82db62f6a) 1912 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a5223af806da56cfe9a7c6ed71b4a0604) 1941 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a65283b563ec02a47928cc176c738f78b) 1911 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a6b7d95f94c10fe3747eff2a3e05f9d32) 1907 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a7a [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a4e5e7fc32bfd0ae986d63ec82db62f6a) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a805ae2717e65749d104d71978ed97fa4)]
+>> endobj
+3440 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a903afb11ccb24f752fc0bf2b430b16c2) 1930 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8876ac784666f054f546f48404cb27a) 1909 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_aa8ff36c02349f02bdf1d374823cb4590) 1929 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ab6bcd066e77a3dde5c6127ac6dfabfa7) 1910 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ac5 [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_a903afb11ccb24f752fc0bf2b430b16c2) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_ae763a3d0db8c57898dff5ba199ea87e5)]
+>> endobj
+3441 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_af46aeb04c5a5a83a60ddf1a280c8b648) 1939 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_afb7d3612f1ec7e7432a4168ea245f0f9) 1940 0 R (classparma__polyhedra__library_1_1Partial__Function) 761 0 R (classparma__polyhedra__library_1_1Partial__Function_a054857677ca99c51342e420e9d5bad9f) 1984 0 R (classparma__polyhedra__library_1_1Partial__Function_a0861934c38d4b7e0432b6ba71a40df2d) 1979 0 R (classparma__polyh [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_af46aeb04c5a5a83a60ddf1a280c8b648) (classparma__polyhedra__library_1_1Partial__Function_a52e000efba75d51e7891f8e9da8e4e1b)]
+>> endobj
+3442 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Partial__Function_a661ab4cd615864ae392638259f9c58da) 1981 0 R (classparma__polyhedra__library_1_1Partial__Function_a940d4cc630004e148b25a81010b12d61) 1976 0 R (classparma__polyhedra__library_1_1Partial__Function_aa348a444933ae006cd061eb2a01af5b7) 1983 0 R (classparma__polyhedra__library_1_1Partial__Function_ab8e3183f9373557491bf9d9cee30548d) 1977 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) 804 0 R (classparma__polyh [...]
+/Limits [(classparma__polyhedra__library_1_1Partial__Function_a661ab4cd615864ae392638259f9c58da) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator)]
+>> endobj
+3443 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a0bcdabb3d2a28f20e10697676f42e490) 2294 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a12e689efd1655b4ec60adc26beb16a65) 2299 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a1b586c1f7e68ef2ad7a47bb83767a32f) 2300 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a22326363cf04596cec471dbe66e03653) 2 [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a0bcdabb3d2a28f20e10697676f42e490) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a96c42895c3599ed91e187ea39f94672c)]
+>> endobj
+3444 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_acd3100605be3e85bc68685085a2572ae) 2293 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a20fc9fa06d5e6772b60c0d8c968716a5) 2268 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a3ae906e1904f2ac295800c2da5ad0eb7) 2263 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a49b8e7f8a6b1ed7aaa6e91729323de7e) 2262 0 R (classparma__polyhedra [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_acd3100605be3e85bc68685085a2572ae) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a711a61f2016a1a60c7cce6dceb2bb94b)]
+>> endobj
+3445 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a8adda024ba9ada688f17592347ffa4a9) 2266 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_ad8b71c1b523782a16d5ced5b3103bd8c) 2265 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_adf86846ee255deb41ca850ac64c4b61c) 2259 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_af3095a51638dbd4f5f64ef0abae85829) 2260 0 R (classparma__polyhedra__library_ [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_a8adda024ba9ada688f17592347ffa4a9) (classparma__polyhedra__library_1_1Poly__Con__Relation)]
+>> endobj
+3446 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_a31e5a38eb5511d477ccd1b793fec470b) 2327 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a4358da8086e7af078f42a62c817895e3) 2330 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_a44dd34b28b7e0ca0ea892e9259ea7103) 2329 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_ab038d193cd145f2bc59b501db605e320) 2328 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_adc93ada4ec022b8e6020c91412e0b0ef [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_a31e5a38eb5511d477ccd1b793fec470b) (classparma__polyhedra__library_1_1Poly__Con__Relation_ae9b4bcc84019980d7be4ace75e54c0b3)]
+>> endobj
+3447 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_afc62e3c93daf5e744e4b3e450c7c7270) 2331 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation) 807 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_a29127d8da5f0b833c4a89dbe3d41be27) 2348 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_a40a81d6ee69dc679f08c5e89a101dfbb) 2351 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_adebb1fbe14ec8f0b88fb538b86f0873b) 2352 0 R (classparma__polyhedra__ [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_afc62e3c93daf5e744e4b3e450c7c7270) (classparma__polyhedra__library_1_1Poly__Gen__Relation_afe2f6db5c7f1a92104fe7efa0c301a45)]
+>> endobj
+3448 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron) 808 0 R (classparma__polyhedra__library_1_1Polyhedron_a00413902e11b669bca9a8c81438202ee) 2630 0 R (classparma__polyhedra__library_1_1Polyhedron_a0e578573084aafbf76c85db7dd1363be) 2623 0 R (classparma__polyhedra__library_1_1Polyhedron_a110353a7864529b85d5465ac1bce2670) 2468 0 R (classparma__polyhedra__library_1_1Polyhedron_a1217cb151cbdbbcf4391987b9e2d232c) 2406 0 R (classparma__polyhedra__library_1_1Polyhedron_a1680eecb6021ebdb33388e [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron) (classparma__polyhedra__library_1_1Polyhedron_a1680eecb6021ebdb33388e32932e6ecc)]
+>> endobj
+3449 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a18afe96aac90a2f8f635fb0e3722fcc3) 2567 0 R (classparma__polyhedra__library_1_1Polyhedron_a1b75c266a974976557206ce451e45967) 2563 0 R (classparma__polyhedra__library_1_1Polyhedron_a1e5d8d199e0bcd20aeacd72b2fef10f6) 2476 0 R (classparma__polyhedra__library_1_1Polyhedron_a268b22472143daa3e8f2d0828d1ad565) 2634 0 R (classparma__polyhedra__library_1_1Polyhedron_a284af200f2e06dcfc079a58b3d4d6a59) 2463 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a18afe96aac90a2f8f635fb0e3722fcc3) (classparma__polyhedra__library_1_1Polyhedron_a2b74eef4fc5f2e35ba14f734f0e8e167)]
+>> endobj
+3450 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a34c73f38bc99dbcb38cc7214e1e0e82d) 2391 0 R (classparma__polyhedra__library_1_1Polyhedron_a3527c6d35935d9860c07b31970d6dfc4) 2396 0 R (classparma__polyhedra__library_1_1Polyhedron_a3797a521b54434e13ed2843ebd88a8c1) 2479 0 R (classparma__polyhedra__library_1_1Polyhedron_a3cdef8e8e717e8aae495db38ab2f3555) 2624 0 R (classparma__polyhedra__library_1_1Polyhedron_a3d3179300b5bf2b41a40b5b76650f8e7) 2464 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a34c73f38bc99dbcb38cc7214e1e0e82d) (classparma__polyhedra__library_1_1Polyhedron_a3d6404d09696f8b693b9260d267df2c3)]
+>> endobj
+3451 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a4211b10c19024d7056b4e36e4d2b7cff) 2388 0 R (classparma__polyhedra__library_1_1Polyhedron_a427ee580c9a357d0e154cd2520dbe33a) 2629 0 R (classparma__polyhedra__library_1_1Polyhedron_a4399e57484eec3301f8b88011c53c35b) 2478 0 R (classparma__polyhedra__library_1_1Polyhedron_a501e48144147e2563edc52dcd49503f9) 2561 0 R (classparma__polyhedra__library_1_1Polyhedron_a513cc77545233d96c437ba7e1d001557) 2393 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a4211b10c19024d7056b4e36e4d2b7cff) (classparma__polyhedra__library_1_1Polyhedron_a52ae035a37af93cc3115f3a45f4e032c)]
+>> endobj
+3452 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a56e3a5f9a94fb76a527fedea1bbd83cd) 2617 0 R (classparma__polyhedra__library_1_1Polyhedron_a58869dfc76ca4a5a51e1e130096cfc88) 2664 0 R (classparma__polyhedra__library_1_1Polyhedron_a5955d6b18f4135b382ca0db2479c11ac) 2564 0 R (classparma__polyhedra__library_1_1Polyhedron_a5c577b51724616ef96f58ce0f2fec482) 2460 0 R (classparma__polyhedra__library_1_1Polyhedron_a60ee53b704270f784fad7eab1a542bfd) 2387 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a56e3a5f9a94fb76a527fedea1bbd83cd) (classparma__polyhedra__library_1_1Polyhedron_a62737490fa8ee8763ee2ff8b54847670)]
+>> endobj
+3453 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a66510fe1afe13b5f7334057bc96efa36) 2554 0 R (classparma__polyhedra__library_1_1Polyhedron_a6be74fc6a3ef7d8e1c1939536af2a943) 2555 0 R (classparma__polyhedra__library_1_1Polyhedron_a6c51199902356b837c63915caaab7a40) 2542 0 R (classparma__polyhedra__library_1_1Polyhedron_a6e35f9362b9f7ed65be59ae07f1da622) 2557 0 R (classparma__polyhedra__library_1_1Polyhedron_a701a35ba2b5418869a471932535cf9e5) 2562 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a66510fe1afe13b5f7334057bc96efa36) (classparma__polyhedra__library_1_1Polyhedron_a73a395dac9898b73e0782a47f4537cd7)]
+>> endobj
+3454 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a7ce8a057ee2d4a20b8820da2bb6dc2af) 2397 0 R (classparma__polyhedra__library_1_1Polyhedron_a7e4588dc8f29c46edfb1fa34e6a9d424) 2467 0 R (classparma__polyhedra__library_1_1Polyhedron_a7f35fe17c4c48b15ddb66e52e110c2bd) 2619 0 R (classparma__polyhedra__library_1_1Polyhedron_a812e3b442d41612ca88f8905d6cb49bd) 2386 0 R (classparma__polyhedra__library_1_1Polyhedron_a81715f656d39c399cf4d63b72635194c) 2633 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a7ce8a057ee2d4a20b8820da2bb6dc2af) (classparma__polyhedra__library_1_1Polyhedron_a8561bc8f545197343c8cf1935e794af3)]
+>> endobj
+3455 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a86d72df251b72aa131ecdad46fe9a860) 2627 0 R (classparma__polyhedra__library_1_1Polyhedron_a8a9706372c9b371938f04b68516bb407) 2475 0 R (classparma__polyhedra__library_1_1Polyhedron_a8bf0912e9b611d41ee76da66fd1bd28f) 2662 0 R (classparma__polyhedra__library_1_1Polyhedron_a8f50e6dcc51327c56d99dc964961d6a2) 2469 0 R (classparma__polyhedra__library_1_1Polyhedron_a920814c13d635e9a503551b0988c2958) 2566 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a86d72df251b72aa131ecdad46fe9a860) (classparma__polyhedra__library_1_1Polyhedron_a945f11d66765e2f542f9c4fb654589d2)]
+>> endobj
+3456 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_a950e7082860fadc45452ffe241de4488) 2474 0 R (classparma__polyhedra__library_1_1Polyhedron_a95c109d667deed44698d16eb25efef9d) 2549 0 R (classparma__polyhedra__library_1_1Polyhedron_a99adfdf68b5bee7b3963a15c4183e136) 2560 0 R (classparma__polyhedra__library_1_1Polyhedron_a9a6e20494d2e7c618d4c6aeab45bac30) 2465 0 R (classparma__polyhedra__library_1_1Polyhedron_a9dd3a06d94e54ca59e0c41901d9f9a06) 2615 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a950e7082860fadc45452ffe241de4488) (classparma__polyhedra__library_1_1Polyhedron_a9f1fcbebed65fafcc7439ce24392b59a)]
+>> endobj
+3457 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_aa01e5f8c42361cc03aba32786c4f9e3d) 2550 0 R (classparma__polyhedra__library_1_1Polyhedron_aaec18d4d5bd29cd38e153b4602e027da) 2622 0 R (classparma__polyhedra__library_1_1Polyhedron_ab11bfde2a1ce71a607644a38cb914b13) 2625 0 R (classparma__polyhedra__library_1_1Polyhedron_ab6edbecd120074f2661ed2cd06ce1cd1) 2407 0 R (classparma__polyhedra__library_1_1Polyhedron_ab780403b7f3997c5f5703ea0218c2841) 2459 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_aa01e5f8c42361cc03aba32786c4f9e3d) (classparma__polyhedra__library_1_1Polyhedron_ab8ef27e25132c083ae1b59d3162fa21a)]
+>> endobj
+3458 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_abdf75082ed3ae874de8fa5cb0198e080) 2631 0 R (classparma__polyhedra__library_1_1Polyhedron_abf4b919c3b8d7dd958aab203fcabc4b4) 2462 0 R (classparma__polyhedra__library_1_1Polyhedron_abfd8a93992bbf17101c53d68a44d9986) 2471 0 R (classparma__polyhedra__library_1_1Polyhedron_ac034ebc28209bd38f90ba23323f65c41) 2621 0 R (classparma__polyhedra__library_1_1Polyhedron_ac2e30d8774b244ed1bd206f76e786745) 2395 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_abdf75082ed3ae874de8fa5cb0198e080) (classparma__polyhedra__library_1_1Polyhedron_ac76c332a5b267f6b6bd749cc3b9e192e)]
+>> endobj
+3459 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_acd5b7ab06d657819656175f7d6a0cd0d) 2556 0 R (classparma__polyhedra__library_1_1Polyhedron_acdf10439693c83932d0de9a5cf35b396) 2551 0 R (classparma__polyhedra__library_1_1Polyhedron_ad38a887658485f32f589a57a74e6a78c) 2618 0 R (classparma__polyhedra__library_1_1Polyhedron_ada449a9c1a600893585256666d6fe331) 2620 0 R (classparma__polyhedra__library_1_1Polyhedron_ae17f1279a841b6efc0efa6441878c025) 2389 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_acd5b7ab06d657819656175f7d6a0cd0d) (classparma__polyhedra__library_1_1Polyhedron_ae32bc538fedce99e602767b1065ad599)]
+>> endobj
+3460 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_ae899d1e624241d1328d6c6421f5485e6) 2565 0 R (classparma__polyhedra__library_1_1Polyhedron_aee40105531fe1008562584274189cf35) 2663 0 R (classparma__polyhedra__library_1_1Polyhedron_aef8d1e4a767f5ea79384588d0e19b83c) 2558 0 R (classparma__polyhedra__library_1_1Polyhedron_af04e7f91e1cfaf69dcee2df81c3d64c3) 2552 0 R (classparma__polyhedra__library_1_1Polyhedron_af26aee5944d076192d5f6a12086c28f7) 2553 0 R (classparma__polyhedra__library_1_ [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_ae899d1e624241d1328d6c6421f5485e6) (classparma__polyhedra__library_1_1Polyhedron_afba20cade6fa4fcd26b81086a02923e5)]
+>> endobj
+3461 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_afd99082f48df543223c3152ca1fe600c) 2390 0 R (classparma__polyhedra__library_1_1Polyhedron_afdef7f8fe0ba899b496aaa369780dfda) 2477 0 R (classparma__polyhedra__library_1_1Timeout__Exception) 810 0 R (classparma__polyhedra__library_1_1Timeout__Exception_a66765523c60cdb348393876561c5d0e7) 3004 0 R (classparma__polyhedra__library_1_1Variable) 811 0 R (classparma__polyhedra__library_1_1Variable_a8d74790917f006b8ce83d9be0d356576) 3018 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_afd99082f48df543223c3152ca1fe600c) (classparma__polyhedra__library_1_1Variable_a8d74790917f006b8ce83d9be0d356576)]
+>> endobj
+3462 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Variable_aaa7f7d2e2523000e62d85670f268362a) 3022 0 R (classparma__polyhedra__library_1_1Variable_ab54edfb4d01886f38228f56771aa085d) 3019 0 R (classparma__polyhedra__library_1_1Variables__Set) 812 0 R (classparma__polyhedra__library_1_1Variables__Set_aa80c4fa3121e341ac6068c60394eb07d) 3032 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow) 636 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a1834eabb1a6 [...]
+/Limits [(classparma__polyhedra__library_1_1Variable_aaa7f7d2e2523000e62d85670f268362a) (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a1834eabb1a60cd21454609bb6af2b70c)]
+>> endobj
+3463 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a20f960ad44478ccbccc6ba807c88ec88) 997 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation) 637 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Representation_a5989bf59e335673996e366dbea747064) 1000 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width) 638 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a0940a9ce95b204cbc7b0ba075e3802be) 100 [...]
+/Limits [(enumparma__polyhedra__library_1_1Bounded__Integer__Type__Overflow_a20f960ad44478ccbccc6ba807c88ec88) (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a239f39386ac001c6c20a50505e8bb671)]
+>> endobj
+3464 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a26d3ec66128ed1a32ecf5905b0beae28) 1004 0 R (enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a6a6f001254ef8c3b3eddb432ca6e9dbe) 1005 0 R (enumparma__polyhedra__library_1_1Complexity__Class) 642 0 R (enumparma__polyhedra__library_1_1Complexity__Class_a00d82d93d2d0113f1ea5b615decb2849) 1136 0 R (enumparma__polyhedra__library_1_1Complexity__Class_a5c1b244e9422e1c29c71844a9f896aee) 1135 0 R (enumparma__pol [...]
+/Limits [(enumparma__polyhedra__library_1_1Bounded__Integer__Type__Width_a26d3ec66128ed1a32ecf5905b0beae28) (enumparma__polyhedra__library_1_1Control__Parameter__Name)]
+>> endobj
+3465 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Control__Parameter__Name_a3d873e83cf77a02b55c7d6d6d245ed23) 1228 0 R (enumparma__polyhedra__library_1_1Control__Parameter__Value) 691 0 R (enumparma__polyhedra__library_1_1Control__Parameter__Value_a7483a53d677492ed42b591525243d243) 1244 0 R (enumparma__polyhedra__library_1_1Control__Parameter__Value_ac1791e52b930ea1fc3863866a26b1a81) 1242 0 R (enumparma__polyhedra__library_1_1Control__Parameter__Value_ad6243026e52cac8f2b4ef458ff4b760f) 1243 0 R  [...]
+/Limits [(enumparma__polyhedra__library_1_1Control__Parameter__Name_a3d873e83cf77a02b55c7d6d6d245ed23) (enumparma__polyhedra__library_1_1Degenerate__Element)]
+>> endobj
+3466 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Degenerate__Element_a9ff8417659bb4800d825f91fa8685aaf) 1247 0 R (enumparma__polyhedra__library_1_1Generator__Type) 696 0 R (enumparma__polyhedra__library_1_1Generator__Type_a2c6506f69be68e287d31aa3db68d664b) 1336 0 R (enumparma__polyhedra__library_1_1Generator__Type_a3b9f75c49b0c6f00923b8f7d827ca9ad) 1334 0 R (enumparma__polyhedra__library_1_1Generator__Type_aa8aee01f50041535fba84ef399e5ee81) 1335 0 R (enumparma__polyhedra__library_1_1Grid__Gener [...]
+/Limits [(enumparma__polyhedra__library_1_1Degenerate__Element_a9ff8417659bb4800d825f91fa8685aaf) (enumparma__polyhedra__library_1_1Grid__Generator__Type)]
+>> endobj
+3467 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Grid__Generator__Type_a02ca1ef23d4c2b965198ea42d9d683a4) 1394 0 R (enumparma__polyhedra__library_1_1Grid__Generator__Type_a1a63d52277531ad7883e6679a90fdc67) 1395 0 R (enumparma__polyhedra__library_1_1MIP__Problem__Status) 757 0 R (enumparma__polyhedra__library_1_1MIP__Problem__Status_a417470c5917175d267ea3ec71df18027) 1866 0 R (enumparma__polyhedra__library_1_1MIP__Problem__Status_af2bdcebf7178739216e2dc7f5c421c9c) 1867 0 R (enumparma__polyhedra_ [...]
+/Limits [(enumparma__polyhedra__library_1_1Grid__Generator__Type_a02ca1ef23d4c2b965198ea42d9d683a4) (enumparma__polyhedra__library_1_1Optimization__Mode)]
+>> endobj
+3468 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Optimization__Mode_aed6d879ab6fa6e6dea28b6841058c848) 1879 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name) 764 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name_a1676341382601ab9c96f035983f372d5) 2142 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Name_ab5cadae2d9d1e506769cafc7dd19c5b5) 2143 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Val [...]
+/Limits [(enumparma__polyhedra__library_1_1Optimization__Mode_aed6d879ab6fa6e6dea28b6841058c848) (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_a46e366594cc5fa0e10c75a1b6c17df09)]
+>> endobj
+3469 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_a7d97a0adb78a51c7089586f7ee4cb6bd) 2159 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_abc9126a51dec07227e4919899e44589b) 2160 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_abd8921ad9d2cc32e7ee32de63704c1c8) 2162 0 R (enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_ac2b60fec8498b08d7f22b2264d3948d4) 2146 0 R (enumparma__ [...]
+/Limits [(enumparma__polyhedra__library_1_1PIP__Problem__Control__Parameter__Value_a7d97a0adb78a51c7089586f7ee4cb6bd) (enumparma__polyhedra__library_1_1PIP__Problem__Status_a89f381f0a22cc6f22b445a4c1691db77)]
+>> endobj
+3470 0 obj <<
+/Names [(enumparma__polyhedra__library_1_1Relation__Symbol) 809 0 R (enumparma__polyhedra__library_1_1Relation__Symbol_a95eb0b200e5754f1b18972012c1807d4) 3000 0 R (enumparma__polyhedra__library_1_1Relation__Symbol_aaa76c2fe8629d0c3251374d87a0da4a4) 2998 0 R (enumparma__polyhedra__library_1_1Relation__Symbol_ac49c86d7db3259a07d9a2b293e573733) 2999 0 R (enumparma__polyhedra__library_1_1Relation__Symbol_ae25095de7466faeb9f7bf4c476f34cf0) 3001 0 R (group__PPL__Java__interface) 800 0 R]
+/Limits [(enumparma__polyhedra__library_1_1Relation__Symbol) (group__PPL__Java__interface)]
+>> endobj
+3471 0 obj <<
+/Names [(index) 427 0 R (namespaceparma__polyhedra__library) 562 0 R (page.1) 298 0 R (page.10) 494 0 R (page.100) 3165 0 R (page.101) 3265 0 R]
+/Limits [(index) (page.101)]
+>> endobj
+3472 0 obj <<
+/Names [(page.102) 3316 0 R (page.11) 506 0 R (page.12) 513 0 R (page.13) 518 0 R (page.14) 524 0 R (page.15) 529 0 R]
+/Limits [(page.102) (page.15)]
+>> endobj
+3473 0 obj <<
+/Names [(page.16) 535 0 R (page.17) 561 0 R (page.18) 596 0 R (page.19) 632 0 R (page.2) 311 0 R (page.20) 685 0 R]
+/Limits [(page.16) (page.20)]
+>> endobj
+3474 0 obj <<
+/Names [(page.21) 749 0 R (page.22) 799 0 R (page.23) 843 0 R (page.24) 871 0 R (page.25) 896 0 R (page.26) 930 0 R]
+/Limits [(page.21) (page.26)]
+>> endobj
+3475 0 obj <<
+/Names [(page.27) 955 0 R (page.28) 974 0 R (page.29) 994 0 R (page.3) 323 0 R (page.30) 1015 0 R (page.31) 1047 0 R]
+/Limits [(page.27) (page.31)]
+>> endobj
+3476 0 obj <<
+/Names [(page.32) 1077 0 R (page.33) 1103 0 R (page.34) 1124 0 R (page.35) 1158 0 R (page.36) 1196 0 R (page.37) 1221 0 R]
+/Limits [(page.32) (page.37)]
+>> endobj
+3477 0 obj <<
+/Names [(page.38) 1240 0 R (page.39) 1279 0 R (page.4) 336 0 R (page.40) 1301 0 R (page.41) 1329 0 R (page.42) 1359 0 R]
+/Limits [(page.38) (page.42)]
+>> endobj
+3478 0 obj <<
+/Names [(page.43) 1384 0 R (page.44) 1403 0 R (page.45) 1420 0 R (page.46) 1446 0 R (page.47) 1485 0 R (page.48) 1521 0 R]
+/Limits [(page.43) (page.48)]
+>> endobj
+3479 0 obj <<
+/Names [(page.49) 1558 0 R (page.5) 458 0 R (page.50) 1602 0 R (page.51) 1635 0 R (page.52) 1664 0 R (page.53) 1705 0 R]
+/Limits [(page.49) (page.53)]
+>> endobj
+3480 0 obj <<
+/Names [(page.54) 1760 0 R (page.55) 1791 0 R (page.56) 1810 0 R (page.57) 1831 0 R (page.58) 1856 0 R (page.59) 1877 0 R]
+/Limits [(page.54) (page.59)]
+>> endobj
+3481 0 obj <<
+/Names [(page.6) 465 0 R (page.60) 1900 0 R (page.61) 1927 0 R (page.62) 1952 0 R (page.63) 1974 0 R (page.64) 1993 0 R]
+/Limits [(page.6) (page.64)]
+>> endobj
+3482 0 obj <<
+/Names [(page.65) 2041 0 R (page.66) 2082 0 R (page.67) 2103 0 R (page.68) 2116 0 R (page.69) 2139 0 R (page.7) 471 0 R]
+/Limits [(page.65) (page.7)]
+>> endobj
+3483 0 obj <<
+/Names [(page.70) 2158 0 R (page.71) 2176 0 R (page.72) 2212 0 R (page.73) 2255 0 R (page.74) 2287 0 R (page.75) 2319 0 R]
+/Limits [(page.70) (page.75)]
+>> endobj
+3484 0 obj <<
+/Names [(page.76) 2345 0 R (page.77) 2384 0 R (page.78) 2458 0 R (page.79) 2541 0 R (page.8) 478 0 R (page.80) 2614 0 R]
+/Limits [(page.76) (page.80)]
+>> endobj
+3485 0 obj <<
+/Names [(page.81) 2649 0 R (page.82) 2672 0 R (page.83) 2691 0 R (page.84) 2711 0 R (page.85) 2736 0 R (page.86) 2760 0 R]
+/Limits [(page.81) (page.86)]
+>> endobj
+3486 0 obj <<
+/Names [(page.87) 2787 0 R (page.88) 2810 0 R (page.89) 2832 0 R (page.9) 486 0 R (page.90) 2855 0 R (page.91) 2878 0 R]
+/Limits [(page.87) (page.91)]
+>> endobj
+3487 0 obj <<
+/Names [(page.92) 2905 0 R (page.93) 2929 0 R (page.94) 2950 0 R (page.95) 2971 0 R (page.96) 2994 0 R (page.97) 3015 0 R]
+/Limits [(page.92) (page.97)]
+>> endobj
+3488 0 obj <<
+/Names [(page.98) 3030 0 R (page.99) 3090 0 R (page.i) 386 0 R (page.ii) 420 0 R (paragraph.10.18.2.1) 1289 0 R (paragraph.10.18.2.2) 1302 0 R]
+/Limits [(page.98) (paragraph.10.18.2.2)]
+>> endobj
+3489 0 obj <<
+/Names [(paragraph.10.18.2.3) 1304 0 R (paragraph.10.18.2.4) 1306 0 R (paragraph.10.18.2.5) 1308 0 R (paragraph.10.21.2.1) 1366 0 R (paragraph.10.21.2.2) 1369 0 R (paragraph.10.21.2.3) 1372 0 R]
+/Limits [(paragraph.10.18.2.3) (paragraph.10.21.2.3)]
+>> endobj
+3490 0 obj <<
+/Names [(paragraph.10.21.2.4) 1386 0 R (paragraph.10.25.2.1) 1412 0 R (paragraph.10.35.2.1) 1795 0 R (paragraph.10.35.2.2) 1798 0 R (paragraph.10.35.3.1) 1815 0 R (paragraph.10.35.3.10) 1859 0 R]
+/Limits [(paragraph.10.21.2.4) (paragraph.10.35.3.10)]
+>> endobj
+3491 0 obj <<
+/Names [(paragraph.10.35.3.11) 1861 0 R (paragraph.10.35.3.12) 1863 0 R (paragraph.10.35.3.2) 1816 0 R (paragraph.10.35.3.3) 1819 0 R (paragraph.10.35.3.4) 1822 0 R (paragraph.10.35.3.5) 1834 0 R]
+/Limits [(paragraph.10.35.3.11) (paragraph.10.35.3.5)]
+>> endobj
+3492 0 obj <<
+/Names [(paragraph.10.35.3.6) 1837 0 R (paragraph.10.35.3.7) 1840 0 R (paragraph.10.35.3.8) 1841 0 R (paragraph.10.35.3.9) 1842 0 R (paragraph.10.40.2.1) 1933 0 R (paragraph.10.40.2.2) 1934 0 R]
+/Limits [(paragraph.10.35.3.6) (paragraph.10.40.2.2)]
+>> endobj
+3493 0 obj <<
+/Names [(paragraph.10.40.2.3) 1935 0 R (paragraph.10.40.2.4) 1936 0 R (paragraph.10.40.2.5) 1953 0 R (paragraph.10.40.2.6) 1954 0 R (paragraph.10.40.2.7) 1955 0 R (paragraph.10.40.2.8) 1958 0 R]
+/Limits [(paragraph.10.40.2.3) (paragraph.10.40.2.8)]
+>> endobj
+3494 0 obj <<
+/Names [(paragraph.10.41.2.1) 1995 0 R (paragraph.10.41.2.2) 1996 0 R (paragraph.10.43.2.1) 2105 0 R (paragraph.10.43.2.2) 2118 0 R (paragraph.10.43.3.1) 2120 0 R (paragraph.10.43.3.2) 2121 0 R]
+/Limits [(paragraph.10.41.2.1) (paragraph.10.43.3.2)]
+>> endobj
+3495 0 obj <<
+/Names [(paragraph.10.43.3.3) 2123 0 R (paragraph.10.43.3.4) 2126 0 R (paragraph.10.43.3.5) 2129 0 R (paragraph.10.43.3.6) 2140 0 R (paragraph.10.47.2.1) 2181 0 R (paragraph.10.48.2.1) 2257 0 R]
+/Limits [(paragraph.10.43.3.3) (paragraph.10.48.2.1)]
+>> endobj
+3496 0 obj <<
+/Names [(paragraph.10.49.2.1) 2291 0 R (paragraph.10.50.2.1) 2322 0 R (paragraph.10.53.2.1) 2654 0 R (paragraph.10.53.2.10) 2715 0 R (paragraph.10.53.2.11) 2718 0 R (paragraph.10.53.2.12) 2721 0 R]
+/Limits [(paragraph.10.49.2.1) (paragraph.10.53.2.12)]
+>> endobj
+3497 0 obj <<
+/Names [(paragraph.10.53.2.13) 2724 0 R (paragraph.10.53.2.14) 2727 0 R (paragraph.10.53.2.15) 2728 0 R (paragraph.10.53.2.16) 2737 0 R (paragraph.10.53.2.17) 2741 0 R (paragraph.10.53.2.18) 2744 0 R]
+/Limits [(paragraph.10.53.2.13) (paragraph.10.53.2.18)]
+>> endobj
+3498 0 obj <<
+/Names [(paragraph.10.53.2.19) 2748 0 R (paragraph.10.53.2.2) 2657 0 R (paragraph.10.53.2.20) 2763 0 R (paragraph.10.53.2.21) 2766 0 R (paragraph.10.53.2.22) 2769 0 R (paragraph.10.53.2.23) 2773 0 R]
+/Limits [(paragraph.10.53.2.19) (paragraph.10.53.2.23)]
+>> endobj
+3499 0 obj <<
+/Names [(paragraph.10.53.2.24) 2777 0 R (paragraph.10.53.2.25) 2790 0 R (paragraph.10.53.2.26) 2793 0 R (paragraph.10.53.2.27) 2796 0 R (paragraph.10.53.2.28) 2799 0 R (paragraph.10.53.2.29) 2802 0 R]
+/Limits [(paragraph.10.53.2.24) (paragraph.10.53.2.29)]
+>> endobj
+3500 0 obj <<
+/Names [(paragraph.10.53.2.3) 2660 0 R (paragraph.10.53.2.30) 2814 0 R (paragraph.10.53.2.31) 2818 0 R (paragraph.10.53.2.32) 2822 0 R (paragraph.10.53.2.33) 2836 0 R (paragraph.10.53.2.34) 2841 0 R]
+/Limits [(paragraph.10.53.2.3) (paragraph.10.53.2.34)]
+>> endobj
+3501 0 obj <<
+/Names [(paragraph.10.53.2.35) 2856 0 R (paragraph.10.53.2.36) 2860 0 R (paragraph.10.53.2.37) 2864 0 R (paragraph.10.53.2.38) 2868 0 R (paragraph.10.53.2.39) 2882 0 R (paragraph.10.53.2.4) 2675 0 R]
+/Limits [(paragraph.10.53.2.35) (paragraph.10.53.2.4)]
+>> endobj
+3502 0 obj <<
+/Names [(paragraph.10.53.2.40) 2886 0 R (paragraph.10.53.2.41) 2889 0 R (paragraph.10.53.2.42) 2892 0 R (paragraph.10.53.2.43) 2908 0 R (paragraph.10.53.2.44) 2911 0 R (paragraph.10.53.2.45) 2915 0 R]
+/Limits [(paragraph.10.53.2.40) (paragraph.10.53.2.45)]
+>> endobj
+3503 0 obj <<
+/Names [(paragraph.10.53.2.46) 2918 0 R (paragraph.10.53.2.47) 2933 0 R (paragraph.10.53.2.48) 2937 0 R (paragraph.10.53.2.49) 2939 0 R (paragraph.10.53.2.5) 2679 0 R (paragraph.10.53.2.50) 2942 0 R]
+/Limits [(paragraph.10.53.2.46) (paragraph.10.53.2.50)]
+>> endobj
+3504 0 obj <<
+/Names [(paragraph.10.53.2.51) 2954 0 R (paragraph.10.53.2.52) 2958 0 R (paragraph.10.53.2.53) 2962 0 R (paragraph.10.53.2.54) 2974 0 R (paragraph.10.53.2.55) 2978 0 R (paragraph.10.53.2.56) 2982 0 R]
+/Limits [(paragraph.10.53.2.51) (paragraph.10.53.2.56)]
+>> endobj
+3505 0 obj <<
+/Names [(paragraph.10.53.2.6) 2683 0 R (paragraph.10.53.2.7) 2695 0 R (paragraph.10.53.2.8) 2699 0 R (paragraph.10.53.2.9) 2712 0 R (paragraph.10.56.2.1) 3023 0 R (paragraph.10.7.2.1) 1083 0 R]
+/Limits [(paragraph.10.53.2.6) (paragraph.10.7.2.1)]
+>> endobj
+3506 0 obj <<
+/Names [(paragraph.10.7.2.2) 1085 0 R (paragraph.10.7.2.3) 1086 0 R (paragraph.10.7.2.4) 1087 0 R (paragraph.10.7.2.5) 1088 0 R (paragraph.10.7.2.6) 1104 0 R (paragraph.10.7.3.1) 1106 0 R]
+/Limits [(paragraph.10.7.2.2) (paragraph.10.7.3.1)]
+>> endobj
+3507 0 obj <<
+/Names [(paragraph.10.7.3.2) 1109 0 R (paragraph.10.8.2.1) 1132 0 R (section*.1) 429 0 R (section*.10) 460 0 R (section*.100) 2651 0 R (section*.101) 2997 0 R]
+/Limits [(paragraph.10.7.3.2) (section*.101)]
+>> endobj
+3508 0 obj <<
+/Names [(section*.102) 3003 0 R (section*.103) 3017 0 R (section*.104) 3031 0 R (section*.105) 3091 0 R (section*.11) 466 0 R (section*.12) 472 0 R]
+/Limits [(section*.102) (section*.12)]
+>> endobj
+3509 0 obj <<
+/Names [(section*.13) 479 0 R (section*.14) 480 0 R (section*.15) 481 0 R (section*.16) 487 0 R (section*.17) 488 0 R (section*.18) 489 0 R]
+/Limits [(section*.13) (section*.18)]
+>> endobj
+3510 0 obj <<
+/Names [(section*.19) 495 0 R (section*.2) 439 0 R (section*.20) 496 0 R (section*.21) 497 0 R (section*.22) 498 0 R (section*.23) 536 0 R]
+/Limits [(section*.19) (section*.23)]
+>> endobj
+3511 0 obj <<
+/Names [(section*.24) 801 0 R (section*.25) 802 0 R (section*.26) 898 0 R (section*.27) 957 0 R (section*.28) 980 0 R (section*.29) 995 0 R]
+/Limits [(section*.24) (section*.29)]
+>> endobj
+3512 0 obj <<
+/Names [(section*.3) 444 0 R (section*.30) 999 0 R (section*.31) 1002 0 R (section*.32) 1019 0 R (section*.33) 1048 0 R (section*.34) 1078 0 R]
+/Limits [(section*.3) (section*.34)]
+>> endobj
+3513 0 obj <<
+/Names [(section*.35) 1079 0 R (section*.36) 1110 0 R (section*.37) 1128 0 R (section*.38) 1134 0 R (section*.39) 1159 0 R (section*.4) 445 0 R]
+/Limits [(section*.35) (section*.4)]
+>> endobj
+3514 0 obj <<
+/Names [(section*.40) 1168 0 R (section*.41) 1197 0 R (section*.42) 1202 0 R (section*.43) 1222 0 R (section*.44) 1227 0 R (section*.45) 1241 0 R]
+/Limits [(section*.40) (section*.45)]
+>> endobj
+3515 0 obj <<
+/Names [(section*.46) 1246 0 R (section*.47) 1249 0 R (section*.48) 1280 0 R (section*.49) 1285 0 R (section*.5) 446 0 R (section*.50) 1310 0 R]
+/Limits [(section*.46) (section*.50)]
+>> endobj
+3516 0 obj <<
+/Names [(section*.51) 1333 0 R (section*.52) 1338 0 R (section*.53) 1362 0 R (section*.54) 1388 0 R (section*.55) 1393 0 R (section*.56) 1405 0 R]
+/Limits [(section*.51) (section*.56)]
+>> endobj
+3517 0 obj <<
+/Names [(section*.57) 1408 0 R (section*.58) 1422 0 R (section*.59) 1447 0 R (section*.6) 451 0 R (section*.60) 1488 0 R (section*.61) 1492 0 R]
+/Limits [(section*.57) (section*.61)]
+>> endobj
+3518 0 obj <<
+/Names [(section*.62) 1523 0 R (section*.63) 1528 0 R (section*.64) 1560 0 R (section*.65) 1565 0 R (section*.66) 1604 0 R (section*.67) 1611 0 R]
+/Limits [(section*.62) (section*.67)]
+>> endobj
+3519 0 obj <<
+/Names [(section*.68) 1638 0 R (section*.69) 1642 0 R (section*.7) 452 0 R (section*.70) 1666 0 R (section*.71) 1706 0 R (section*.72) 1709 0 R]
+/Limits [(section*.68) (section*.72)]
+>> endobj
+3520 0 obj <<
+/Names [(section*.73) 1766 0 R (section*.74) 1792 0 R (section*.75) 1865 0 R (section*.76) 1878 0 R (section*.77) 1881 0 R (section*.78) 1901 0 R]
+/Limits [(section*.73) (section*.78)]
+>> endobj
+3521 0 obj <<
+/Names [(section*.79) 1905 0 R (section*.8) 453 0 R (section*.80) 1975 0 R (section*.81) 1980 0 R (section*.82) 1997 0 R (section*.83) 2042 0 R]
+/Limits [(section*.79) (section*.83)]
+>> endobj
+3522 0 obj <<
+/Names [(section*.84) 2090 0 R (section*.85) 2141 0 R (section*.86) 2145 0 R (section*.87) 2164 0 R (section*.88) 2177 0 R (section*.89) 2213 0 R]
+/Limits [(section*.84) (section*.89)]
+>> endobj
+3523 0 obj <<
+/Names [(section*.9) 459 0 R (section*.90) 2220 0 R (section*.91) 2258 0 R (section*.92) 2288 0 R (section*.93) 2292 0 R (section*.94) 2298 0 R]
+/Limits [(section*.9) (section*.94)]
+>> endobj
+3524 0 obj <<
+/Names [(section*.95) 2323 0 R (section*.96) 2326 0 R (section*.97) 2347 0 R (section*.98) 2350 0 R (section*.99) 2385 0 R (section.1) 2 0 R]
+/Limits [(section*.95) (section.1)]
+>> endobj
+3525 0 obj <<
+/Names [(section.10) 62 0 R (section.2) 6 0 R (section.3) 10 0 R (section.4) 14 0 R (section.5) 22 0 R (section.6) 30 0 R]
+/Limits [(section.10) (section.6)]
+>> endobj
+3526 0 obj <<
+/Names [(section.7) 38 0 R (section.8) 46 0 R (section.9) 54 0 R (subsection.10.1) 66 0 R (subsection.10.10) 102 0 R (subsection.10.11) 106 0 R]
+/Limits [(section.7) (subsection.10.11)]
+>> endobj
+3527 0 obj <<
+/Names [(subsection.10.12) 110 0 R (subsection.10.13) 114 0 R (subsection.10.14) 118 0 R (subsection.10.15) 122 0 R (subsection.10.16) 126 0 R (subsection.10.17) 130 0 R]
+/Limits [(subsection.10.12) (subsection.10.17)]
+>> endobj
+3528 0 obj <<
+/Names [(subsection.10.18) 134 0 R (subsection.10.19) 138 0 R (subsection.10.2) 70 0 R (subsection.10.20) 142 0 R (subsection.10.21) 146 0 R (subsection.10.22) 150 0 R]
+/Limits [(subsection.10.18) (subsection.10.22)]
+>> endobj
+3529 0 obj <<
+/Names [(subsection.10.23) 154 0 R (subsection.10.24) 158 0 R (subsection.10.25) 162 0 R (subsection.10.26) 166 0 R (subsection.10.27) 170 0 R (subsection.10.28) 174 0 R]
+/Limits [(subsection.10.23) (subsection.10.28)]
+>> endobj
+3530 0 obj <<
+/Names [(subsection.10.29) 178 0 R (subsection.10.3) 74 0 R (subsection.10.30) 182 0 R (subsection.10.31) 186 0 R (subsection.10.32) 190 0 R (subsection.10.33) 194 0 R]
+/Limits [(subsection.10.29) (subsection.10.33)]
+>> endobj
+3531 0 obj <<
+/Names [(subsection.10.34) 198 0 R (subsection.10.35) 202 0 R (subsection.10.36) 206 0 R (subsection.10.37) 210 0 R (subsection.10.38) 214 0 R (subsection.10.39) 218 0 R]
+/Limits [(subsection.10.34) (subsection.10.39)]
+>> endobj
+3532 0 obj <<
+/Names [(subsection.10.4) 78 0 R (subsection.10.40) 222 0 R (subsection.10.41) 226 0 R (subsection.10.42) 230 0 R (subsection.10.43) 234 0 R (subsection.10.44) 238 0 R]
+/Limits [(subsection.10.4) (subsection.10.44)]
+>> endobj
+3533 0 obj <<
+/Names [(subsection.10.45) 242 0 R (subsection.10.46) 246 0 R (subsection.10.47) 250 0 R (subsection.10.48) 254 0 R (subsection.10.49) 258 0 R (subsection.10.5) 82 0 R]
+/Limits [(subsection.10.45) (subsection.10.5)]
+>> endobj
+3534 0 obj <<
+/Names [(subsection.10.50) 262 0 R (subsection.10.51) 266 0 R (subsection.10.52) 270 0 R (subsection.10.53) 274 0 R (subsection.10.54) 278 0 R (subsection.10.55) 282 0 R]
+/Limits [(subsection.10.50) (subsection.10.55)]
+>> endobj
+3535 0 obj <<
+/Names [(subsection.10.56) 286 0 R (subsection.10.57) 290 0 R (subsection.10.6) 86 0 R (subsection.10.7) 90 0 R (subsection.10.8) 94 0 R (subsection.10.9) 98 0 R]
+/Limits [(subsection.10.56) (subsection.10.9)]
+>> endobj
+3536 0 obj <<
+/Names [(subsection.4.1) 18 0 R (subsection.5.1) 26 0 R (subsection.6.1) 34 0 R (subsection.7.1) 42 0 R (subsection.8.1) 50 0 R (subsection.9.1) 58 0 R]
+/Limits [(subsection.4.1) (subsection.9.1)]
+>> endobj
+3537 0 obj <<
+/Names [(subsubsection.10.1.1) 979 0 R (subsubsection.10.10.1) 1170 0 R (subsubsection.10.11.1) 1201 0 R (subsubsection.10.12.1) 1209 0 R (subsubsection.10.13.1) 1226 0 R (subsubsection.10.14.1) 1229 0 R]
+/Limits [(subsubsection.10.1.1) (subsubsection.10.14.1)]
+>> endobj
+3538 0 obj <<
+/Names [(subsubsection.10.15.1) 1245 0 R (subsubsection.10.16.1) 1248 0 R (subsubsection.10.17.1) 1251 0 R (subsubsection.10.18.1) 1286 0 R (subsubsection.10.18.2) 1287 0 R (subsubsection.10.19.1) 1332 0 R]
+/Limits [(subsubsection.10.15.1) (subsubsection.10.19.1)]
+>> endobj
+3539 0 obj <<
+/Names [(subsubsection.10.2.1) 982 0 R (subsubsection.10.20.1) 1337 0 R (subsubsection.10.21.1) 1363 0 R (subsubsection.10.21.2) 1364 0 R (subsubsection.10.22.1) 1392 0 R (subsubsection.10.23.1) 1404 0 R]
+/Limits [(subsubsection.10.2.1) (subsubsection.10.23.1)]
+>> endobj
+3540 0 obj <<
+/Names [(subsubsection.10.24.1) 1407 0 R (subsubsection.10.25.1) 1409 0 R (subsubsection.10.25.2) 1410 0 R (subsubsection.10.26.1) 1424 0 R (subsubsection.10.27.1) 1486 0 R (subsubsection.10.28.1) 1522 0 R]
+/Limits [(subsubsection.10.24.1) (subsubsection.10.28.1)]
+>> endobj
+3541 0 obj <<
+/Names [(subsubsection.10.29.1) 1559 0 R (subsubsection.10.3.1) 998 0 R (subsubsection.10.30.1) 1603 0 R (subsubsection.10.31.1) 1637 0 R (subsubsection.10.32.1) 1665 0 R (subsubsection.10.33.1) 1670 0 R]
+/Limits [(subsubsection.10.29.1) (subsubsection.10.33.1)]
+>> endobj
+3542 0 obj <<
+/Names [(subsubsection.10.34.1) 1708 0 R (subsubsection.10.35.1) 1793 0 R (subsubsection.10.35.2) 1794 0 R (subsubsection.10.35.3) 1814 0 R (subsubsection.10.36.1) 1868 0 R (subsubsection.10.37.1) 1880 0 R]
+/Limits [(subsubsection.10.34.1) (subsubsection.10.37.1)]
+>> endobj
+3543 0 obj <<
+/Names [(subsubsection.10.38.1) 1883 0 R (subsubsection.10.39.1) 1904 0 R (subsubsection.10.4.1) 1001 0 R (subsubsection.10.40.1) 1931 0 R (subsubsection.10.40.2) 1932 0 R (subsubsection.10.41.1) 1982 0 R]
+/Limits [(subsubsection.10.38.1) (subsubsection.10.41.1)]
+>> endobj
+3544 0 obj <<
+/Names [(subsubsection.10.41.2) 1994 0 R (subsubsection.10.42.1) 1999 0 R (subsubsection.10.43.1) 2092 0 R (subsubsection.10.43.2) 2104 0 R (subsubsection.10.43.3) 2119 0 R (subsubsection.10.44.1) 2144 0 R]
+/Limits [(subsubsection.10.41.2) (subsubsection.10.44.1)]
+>> endobj
+3545 0 obj <<
+/Names [(subsubsection.10.45.1) 2163 0 R (subsubsection.10.46.1) 2166 0 R (subsubsection.10.47.1) 2178 0 R (subsubsection.10.47.2) 2179 0 R (subsubsection.10.48.1) 2221 0 R (subsubsection.10.48.2) 2256 0 R]
+/Limits [(subsubsection.10.45.1) (subsubsection.10.48.2)]
+>> endobj
+3546 0 obj <<
+/Names [(subsubsection.10.49.1) 2289 0 R (subsubsection.10.49.2) 2290 0 R (subsubsection.10.5.1) 1017 0 R (subsubsection.10.50.1) 2320 0 R (subsubsection.10.50.2) 2321 0 R (subsubsection.10.51.1) 2346 0 R]
+/Limits [(subsubsection.10.49.1) (subsubsection.10.51.1)]
+>> endobj
+3547 0 obj <<
+/Names [(subsubsection.10.52.1) 2353 0 R (subsubsection.10.53.1) 2652 0 R (subsubsection.10.53.2) 2653 0 R (subsubsection.10.54.1) 3002 0 R (subsubsection.10.55.1) 3016 0 R (subsubsection.10.56.1) 3020 0 R]
+/Limits [(subsubsection.10.52.1) (subsubsection.10.56.1)]
+>> endobj
+3548 0 obj <<
+/Names [(subsubsection.10.56.2) 3021 0 R (subsubsection.10.57.1) 3033 0 R (subsubsection.10.6.1) 1023 0 R (subsubsection.10.7.1) 1081 0 R (subsubsection.10.7.2) 1082 0 R (subsubsection.10.7.3) 1105 0 R]
+/Limits [(subsubsection.10.56.2) (subsubsection.10.7.3)]
+>> endobj
+3549 0 obj <<
+/Names [(subsubsection.10.8.1) 1130 0 R (subsubsection.10.8.2) 1131 0 R (subsubsection.10.9.1) 1137 0 R (subsubsection.8.1.1) 897 0 R (subsubsection.9.1.1) 956 0 R (table.1) 1107 0 R]
+/Limits [(subsubsection.10.8.1) (table.1)]
+>> endobj
+3550 0 obj <<
+/Names [(table.10) 1385 0 R (table.100) 2912 0 R (table.101) 2913 0 R (table.102) 2916 0 R (table.103) 2930 0 R (table.104) 2931 0 R]
+/Limits [(table.10) (table.104)]
+>> endobj
+3551 0 obj <<
+/Names [(table.105) 2934 0 R (table.106) 2935 0 R (table.107) 2938 0 R (table.108) 2940 0 R (table.109) 2951 0 R (table.11) 1387 0 R]
+/Limits [(table.105) (table.11)]
+>> endobj
+3552 0 obj <<
+/Names [(table.110) 2952 0 R (table.111) 2955 0 R (table.112) 2956 0 R (table.113) 2959 0 R (table.114) 2960 0 R (table.115) 2963 0 R]
+/Limits [(table.110) (table.115)]
+>> endobj
+3553 0 obj <<
+/Names [(table.116) 2972 0 R (table.117) 2975 0 R (table.118) 2976 0 R (table.119) 2979 0 R (table.12) 1421 0 R (table.120) 2980 0 R]
+/Limits [(table.116) (table.120)]
+>> endobj
+3554 0 obj <<
+/Names [(table.121) 2983 0 R (table.122) 2995 0 R (table.123) 3024 0 R (table.13) 1796 0 R (table.14) 1797 0 R (table.15) 1811 0 R]
+/Limits [(table.121) (table.15)]
+>> endobj
+3555 0 obj <<
+/Names [(table.16) 1812 0 R (table.17) 1817 0 R (table.18) 1818 0 R (table.19) 1820 0 R (table.2) 1133 0 R (table.20) 1832 0 R]
+/Limits [(table.16) (table.20)]
+>> endobj
+3556 0 obj <<
+/Names [(table.21) 1835 0 R (table.22) 1838 0 R (table.23) 1843 0 R (table.24) 1857 0 R (table.25) 1860 0 R (table.26) 1862 0 R]
+/Limits [(table.21) (table.26)]
+>> endobj
+3557 0 obj <<
+/Names [(table.27) 1864 0 R (table.28) 1956 0 R (table.29) 1960 0 R (table.3) 1290 0 R (table.30) 1961 0 R (table.31) 2106 0 R]
+/Limits [(table.27) (table.31)]
+>> endobj
+3558 0 obj <<
+/Names [(table.32) 2117 0 R (table.33) 2122 0 R (table.34) 2124 0 R (table.35) 2127 0 R (table.36) 2182 0 R (table.37) 2655 0 R]
+/Limits [(table.32) (table.37)]
+>> endobj
+3559 0 obj <<
+/Names [(table.38) 2658 0 R (table.39) 2673 0 R (table.4) 1303 0 R (table.40) 2676 0 R (table.41) 2677 0 R (table.42) 2680 0 R]
+/Limits [(table.38) (table.42)]
+>> endobj
+3560 0 obj <<
+/Names [(table.43) 2681 0 R (table.44) 2692 0 R (table.45) 2693 0 R (table.46) 2696 0 R (table.47) 2697 0 R (table.48) 2700 0 R]
+/Limits [(table.43) (table.48)]
+>> endobj
+3561 0 obj <<
+/Names [(table.49) 2713 0 R (table.5) 1305 0 R (table.50) 2716 0 R (table.51) 2719 0 R (table.52) 2722 0 R (table.53) 2725 0 R]
+/Limits [(table.49) (table.53)]
+>> endobj
+3562 0 obj <<
+/Names [(table.54) 2738 0 R (table.55) 2739 0 R (table.56) 2742 0 R (table.57) 2745 0 R (table.58) 2746 0 R (table.59) 2749 0 R]
+/Limits [(table.54) (table.59)]
+>> endobj
+3563 0 obj <<
+/Names [(table.6) 1307 0 R (table.60) 2761 0 R (table.61) 2764 0 R (table.62) 2767 0 R (table.63) 2770 0 R (table.64) 2771 0 R]
+/Limits [(table.6) (table.64)]
+>> endobj
+3564 0 obj <<
+/Names [(table.65) 2774 0 R (table.66) 2775 0 R (table.67) 2788 0 R (table.68) 2791 0 R (table.69) 2794 0 R (table.7) 1309 0 R]
+/Limits [(table.65) (table.7)]
+>> endobj
+3565 0 obj <<
+/Names [(table.70) 2797 0 R (table.71) 2800 0 R (table.72) 2811 0 R (table.73) 2812 0 R (table.74) 2815 0 R (table.75) 2816 0 R]
+/Limits [(table.70) (table.75)]
+>> endobj
+3566 0 obj <<
+/Names [(table.76) 2819 0 R (table.77) 2820 0 R (table.78) 2833 0 R (table.79) 2834 0 R (table.8) 1367 0 R (table.80) 2837 0 R]
+/Limits [(table.76) (table.80)]
+>> endobj
+3567 0 obj <<
+/Names [(table.81) 2838 0 R (table.82) 2842 0 R (table.83) 2843 0 R (table.84) 2857 0 R (table.85) 2858 0 R (table.86) 2861 0 R]
+/Limits [(table.81) (table.86)]
+>> endobj
+3568 0 obj <<
+/Names [(table.87) 2862 0 R (table.88) 2865 0 R (table.89) 2866 0 R (table.9) 1370 0 R (table.90) 2879 0 R (table.91) 2880 0 R]
+/Limits [(table.87) (table.91)]
+>> endobj
+3569 0 obj <<
+/Names [(table.92) 2883 0 R (table.93) 2884 0 R (table.94) 2887 0 R (table.95) 2890 0 R (table.96) 2891 0 R (table.97) 2906 0 R]
+/Limits [(table.92) (table.97)]
+>> endobj
+3570 0 obj <<
+/Names [(table.98) 2907 0 R (table.99) 2909 0 R]
+/Limits [(table.98) (table.99)]
+>> endobj
+3571 0 obj <<
+/Kids [3401 0 R 3402 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Coefficient_a3f49d1a45b861fb12fac766004b358c5)]
+>> endobj
+3572 0 obj <<
+/Kids [3407 0 R 3408 0 R 3409 0 R 3410 0 R 3411 0 R 3412 0 R]
+/Limits [(classparma__polyhedra__library_1_1Coefficient_a88c2f2fc304b1e27f20f200efcde2a11) (classparma__polyhedra__library_1_1Generator_a6c93053ad6b6bbcaa9aee01b646bba06)]
+>> endobj
+3573 0 obj <<
+/Kids [3413 0 R 3414 0 R 3415 0 R 3416 0 R 3417 0 R 3418 0 R]
+/Limits [(classparma__polyhedra__library_1_1Generator_a7223763131fbe9f93528193576a7975c) (classparma__polyhedra__library_1_1Linear__Expression__Difference_aaaeb914f871ccb4e97fc4fd513364b94)]
+>> endobj
+3574 0 obj <<
+/Kids [3419 0 R 3420 0 R 3421 0 R 3422 0 R 3423 0 R 3424 0 R]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_aba4e5801ccc48c5aca66c1e09ddb601e) (classparma__polyhedra__library_1_1Linear__Expression_af6431ecb966a6e38dc55e7f4274b31db)]
+>> endobj
+3575 0 obj <<
+/Kids [3425 0 R 3426 0 R 3427 0 R 3428 0 R 3429 0 R 3430 0 R]
+/Limits [(classparma__polyhedra__library_1_1Logic__Error__Exception) (classparma__polyhedra__library_1_1PIP__Decision__Node)]
+>> endobj
+3576 0 obj <<
+/Kids [3431 0 R 3432 0 R 3433 0 R 3434 0 R 3435 0 R 3436 0 R]
+/Limits [(classparma__polyhedra__library_1_1PIP__Decision__Node_a72e63bc7c8c5d3bf7a4a89376f32457e) (classparma__polyhedra__library_1_1PIP__Tree__Node_a33dde59d655ee0ce0f7b7b97c7e57f93)]
+>> endobj
+3577 0 obj <<
+/Kids [3437 0 R 3438 0 R 3439 0 R 3440 0 R 3441 0 R 3442 0 R]
+/Limits [(classparma__polyhedra__library_1_1PIP__Tree__Node_a59f64bef2634e80385a906bfefe2acd5) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator)]
+>> endobj
+3578 0 obj <<
+/Kids [3443 0 R 3444 0 R 3445 0 R 3446 0 R 3447 0 R 3448 0 R]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_a0bcdabb3d2a28f20e10697676f42e490) (classparma__polyhedra__library_1_1Polyhedron_a1680eecb6021ebdb33388e32932e6ecc)]
+>> endobj
+3579 0 obj <<
+/Kids [3449 0 R 3450 0 R 3451 0 R 3452 0 R 3453 0 R 3454 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a18afe96aac90a2f8f635fb0e3722fcc3) (classparma__polyhedra__library_1_1Polyhedron_a8561bc8f545197343c8cf1935e794af3)]
+>> endobj
+3580 0 obj <<
+/Kids [3455 0 R 3456 0 R 3457 0 R 3458 0 R 3459 0 R 3460 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_a86d72df251b72aa131ecdad46fe9a860) (classparma__polyhedra__library_1_1Polyhedron_afba20cade6fa4fcd26b81086a02923e5)]
+>> endobj
+3581 0 obj <<
+/Kids [3461 0 R 3462 0 R 3463 0 R 3464 0 R 3465 0 R 3466 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_afd99082f48df543223c3152ca1fe600c) (enumparma__polyhedra__library_1_1Grid__Generator__Type)]
+>> endobj
+3582 0 obj <<
+/Kids [3467 0 R 3468 0 R 3469 0 R 3470 0 R 3471 0 R 3472 0 R]
+/Limits [(enumparma__polyhedra__library_1_1Grid__Generator__Type_a02ca1ef23d4c2b965198ea42d9d683a4) (page.15)]
+>> endobj
+3583 0 obj <<
+/Kids [3473 0 R 3474 0 R 3475 0 R 3476 0 R 3477 0 R 3478 0 R]
+/Limits [(page.16) (page.48)]
+>> endobj
+3584 0 obj <<
+/Kids [3479 0 R 3480 0 R 3481 0 R 3482 0 R 3483 0 R 3484 0 R]
+/Limits [(page.49) (page.80)]
+>> endobj
+3585 0 obj <<
+/Kids [3485 0 R 3486 0 R 3487 0 R 3488 0 R 3489 0 R 3490 0 R]
+/Limits [(page.81) (paragraph.10.35.3.10)]
+>> endobj
+3586 0 obj <<
+/Kids [3491 0 R 3492 0 R 3493 0 R 3494 0 R 3495 0 R 3496 0 R]
+/Limits [(paragraph.10.35.3.11) (paragraph.10.53.2.12)]
+>> endobj
+3587 0 obj <<
+/Kids [3497 0 R 3498 0 R 3499 0 R 3500 0 R 3501 0 R 3502 0 R]
+/Limits [(paragraph.10.53.2.13) (paragraph.10.53.2.45)]
+>> endobj
+3588 0 obj <<
+/Kids [3503 0 R 3504 0 R 3505 0 R 3506 0 R 3507 0 R 3508 0 R]
+/Limits [(paragraph.10.53.2.46) (section*.12)]
+>> endobj
+3589 0 obj <<
+/Kids [3509 0 R 3510 0 R 3511 0 R 3512 0 R 3513 0 R 3514 0 R]
+/Limits [(section*.13) (section*.45)]
+>> endobj
+3590 0 obj <<
+/Kids [3515 0 R 3516 0 R 3517 0 R 3518 0 R 3519 0 R 3520 0 R]
+/Limits [(section*.46) (section*.78)]
+>> endobj
+3591 0 obj <<
+/Kids [3521 0 R 3522 0 R 3523 0 R 3524 0 R 3525 0 R 3526 0 R]
+/Limits [(section*.79) (subsection.10.11)]
+>> endobj
+3592 0 obj <<
+/Kids [3527 0 R 3528 0 R 3529 0 R 3530 0 R 3531 0 R 3532 0 R]
+/Limits [(subsection.10.12) (subsection.10.44)]
+>> endobj
+3593 0 obj <<
+/Kids [3533 0 R 3534 0 R 3535 0 R 3536 0 R 3537 0 R 3538 0 R]
+/Limits [(subsection.10.45) (subsubsection.10.19.1)]
+>> endobj
+3594 0 obj <<
+/Kids [3539 0 R 3540 0 R 3541 0 R 3542 0 R 3543 0 R 3544 0 R]
+/Limits [(subsubsection.10.2.1) (subsubsection.10.44.1)]
+>> endobj
+3595 0 obj <<
+/Kids [3545 0 R 3546 0 R 3547 0 R 3548 0 R 3549 0 R 3550 0 R]
+/Limits [(subsubsection.10.45.1) (table.104)]
+>> endobj
+3596 0 obj <<
+/Kids [3551 0 R 3552 0 R 3553 0 R 3554 0 R 3555 0 R 3556 0 R]
+/Limits [(table.105) (table.26)]
+>> endobj
+3597 0 obj <<
+/Kids [3557 0 R 3558 0 R 3559 0 R 3560 0 R 3561 0 R 3562 0 R]
+/Limits [(table.27) (table.59)]
+>> endobj
+3598 0 obj <<
+/Kids [3563 0 R 3564 0 R 3565 0 R 3566 0 R 3567 0 R 3568 0 R]
+/Limits [(table.6) (table.91)]
+>> endobj
+3599 0 obj <<
+/Kids [3569 0 R 3570 0 R]
+/Limits [(table.92) (table.99)]
+>> endobj
+3600 0 obj <<
+/Kids [3571 0 R 3572 0 R 3573 0 R 3574 0 R 3575 0 R 3576 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1PIP__Tree__Node_a33dde59d655ee0ce0f7b7b97c7e57f93)]
+>> endobj
+3601 0 obj <<
+/Kids [3577 0 R 3578 0 R 3579 0 R 3580 0 R 3581 0 R 3582 0 R]
+/Limits [(classparma__polyhedra__library_1_1PIP__Tree__Node_a59f64bef2634e80385a906bfefe2acd5) (page.15)]
+>> endobj
+3602 0 obj <<
+/Kids [3583 0 R 3584 0 R 3585 0 R 3586 0 R 3587 0 R 3588 0 R]
+/Limits [(page.16) (section*.12)]
+>> endobj
+3603 0 obj <<
+/Kids [3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R]
+/Limits [(section*.13) (subsubsection.10.44.1)]
+>> endobj
+3604 0 obj <<
+/Kids [3595 0 R 3596 0 R 3597 0 R 3598 0 R 3599 0 R]
+/Limits [(subsubsection.10.45.1) (table.99)]
+>> endobj
+3605 0 obj <<
+/Kids [3600 0 R 3601 0 R 3602 0 R 3603 0 R 3604 0 R]
+/Limits [(Doc-Start) (table.99)]
+>> endobj
+3606 0 obj <<
+/Dests 3605 0 R
+>> endobj
+3607 0 obj <<
+/Type /Catalog
+/Pages 3399 0 R
+/Outlines 3400 0 R
+/Names 3606 0 R
+/PageMode/UseOutlines/PageLabels<</Nums[0<</S/D>>4<</S/r>>6<</S/D>>]>>
+/OpenAction 293 0 R
+>> endobj
+3608 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.10)/Keywords()
+/CreationDate (D:20120628125827+02'00')
+/ModDate (D:20120628125827+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX, Version 3.1415926-1.40.10-2.2 (TeX Live 2009/Debian) kpathsea version 5.0.0)
+>> endobj
+xref
+0 3609
+0000000000 65535 f 
+0000000015 00000 n 
+0000058491 00000 n 
+0000992531 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000062540 00000 n 
+0000992446 00000 n 
+0000000179 00000 n 
+0000000344 00000 n 
+0000097426 00000 n 
+0000992359 00000 n 
+0000000389 00000 n 
+0000000575 00000 n 
+0000116800 00000 n 
+0000992233 00000 n 
+0000000621 00000 n 
+0000000711 00000 n 
+0000116856 00000 n 
+0000992172 00000 n 
+0000000762 00000 n 
+0000000824 00000 n 
+0000121763 00000 n 
+0000992046 00000 n 
+0000000870 00000 n 
+0000000975 00000 n 
+0000121819 00000 n 
+0000991985 00000 n 
+0000001026 00000 n 
+0000001126 00000 n 
+0000121875 00000 n 
+0000991859 00000 n 
+0000001172 00000 n 
+0000001257 00000 n 
+0000121931 00000 n 
+0000991798 00000 n 
+0000001308 00000 n 
+0000001413 00000 n 
+0000135525 00000 n 
+0000991672 00000 n 
+0000001459 00000 n 
+0000001544 00000 n 
+0000135581 00000 n 
+0000991611 00000 n 
+0000001595 00000 n 
+0000001675 00000 n 
+0000160946 00000 n 
+0000991485 00000 n 
+0000001721 00000 n 
+0000001851 00000 n 
+0000161058 00000 n 
+0000991424 00000 n 
+0000001902 00000 n 
+0000002050 00000 n 
+0000180797 00000 n 
+0000991298 00000 n 
+0000002096 00000 n 
+0000002241 00000 n 
+0000180910 00000 n 
+0000991237 00000 n 
+0000002292 00000 n 
+0000002483 00000 n 
+0000194456 00000 n 
+0000991122 00000 n 
+0000002530 00000 n 
+0000002655 00000 n 
+0000194569 00000 n 
+0000991048 00000 n 
+0000002707 00000 n 
+0000003049 00000 n 
+0000200461 00000 n 
+0000990961 00000 n 
+0000003101 00000 n 
+0000003491 00000 n 
+0000204040 00000 n 
+0000990874 00000 n 
+0000003543 00000 n 
+0000003931 00000 n 
+0000204379 00000 n 
+0000990787 00000 n 
+0000003983 00000 n 
+0000004401 00000 n 
+0000204665 00000 n 
+0000990700 00000 n 
+0000004453 00000 n 
+0000004826 00000 n 
+0000207935 00000 n 
+0000990613 00000 n 
+0000004878 00000 n 
+0000005211 00000 n 
+0000208344 00000 n 
+0000990526 00000 n 
+0000005263 00000 n 
+0000005565 00000 n 
+0000228391 00000 n 
+0000990439 00000 n 
+0000005617 00000 n 
+0000005911 00000 n 
+0000233528 00000 n 
+0000990350 00000 n 
+0000005963 00000 n 
+0000006281 00000 n 
+0000239625 00000 n 
+0000990259 00000 n 
+0000006335 00000 n 
+0000006625 00000 n 
+0000240330 00000 n 
+0000990167 00000 n 
+0000006679 00000 n 
+0000007007 00000 n 
+0000246756 00000 n 
+0000990075 00000 n 
+0000007061 00000 n 
+0000007351 00000 n 
+0000250639 00000 n 
+0000989983 00000 n 
+0000007405 00000 n 
+0000007733 00000 n 
+0000251050 00000 n 
+0000989891 00000 n 
+0000007787 00000 n 
+0000008138 00000 n 
+0000251342 00000 n 
+0000989799 00000 n 
+0000008192 00000 n 
+0000008548 00000 n 
+0000255037 00000 n 
+0000989707 00000 n 
+0000008602 00000 n 
+0000008930 00000 n 
+0000255330 00000 n 
+0000989615 00000 n 
+0000008984 00000 n 
+0000009340 00000 n 
+0000262670 00000 n 
+0000989523 00000 n 
+0000009394 00000 n 
+0000009679 00000 n 
+0000266993 00000 n 
+0000989431 00000 n 
+0000009733 00000 n 
+0000010056 00000 n 
+0000272265 00000 n 
+0000989339 00000 n 
+0000010110 00000 n 
+0000010418 00000 n 
+0000272676 00000 n 
+0000989247 00000 n 
+0000010472 00000 n 
+0000010785 00000 n 
+0000283507 00000 n 
+0000989155 00000 n 
+0000010839 00000 n 
+0000011190 00000 n 
+0000283918 00000 n 
+0000989063 00000 n 
+0000011244 00000 n 
+0000011580 00000 n 
+0000286822 00000 n 
+0000988971 00000 n 
+0000011634 00000 n 
+0000012010 00000 n 
+0000287115 00000 n 
+0000988879 00000 n 
+0000012064 00000 n 
+0000012314 00000 n 
+0000289837 00000 n 
+0000988787 00000 n 
+0000012368 00000 n 
+0000012724 00000 n 
+0000290128 00000 n 
+0000988695 00000 n 
+0000012778 00000 n 
+0000013106 00000 n 
+0000310635 00000 n 
+0000988603 00000 n 
+0000013160 00000 n 
+0000013551 00000 n 
+0000319776 00000 n 
+0000988511 00000 n 
+0000013605 00000 n 
+0000013991 00000 n 
+0000328930 00000 n 
+0000988419 00000 n 
+0000014045 00000 n 
+0000014396 00000 n 
+0000338753 00000 n 
+0000988327 00000 n 
+0000014450 00000 n 
+0000014811 00000 n 
+0000347439 00000 n 
+0000988235 00000 n 
+0000014865 00000 n 
+0000015259 00000 n 
+0000354821 00000 n 
+0000988143 00000 n 
+0000015313 00000 n 
+0000015689 00000 n 
+0000355232 00000 n 
+0000988051 00000 n 
+0000015743 00000 n 
+0000016094 00000 n 
+0000361909 00000 n 
+0000987959 00000 n 
+0000016148 00000 n 
+0000016446 00000 n 
+0000395931 00000 n 
+0000987867 00000 n 
+0000016500 00000 n 
+0000016831 00000 n 
+0000398660 00000 n 
+0000987775 00000 n 
+0000016885 00000 n 
+0000017208 00000 n 
+0000398953 00000 n 
+0000987683 00000 n 
+0000017262 00000 n 
+0000017628 00000 n 
+0000399246 00000 n 
+0000987591 00000 n 
+0000017682 00000 n 
+0000017991 00000 n 
+0000404552 00000 n 
+0000987499 00000 n 
+0000018045 00000 n 
+0000018406 00000 n 
+0000421947 00000 n 
+0000987407 00000 n 
+0000018460 00000 n 
+0000018783 00000 n 
+0000429322 00000 n 
+0000987315 00000 n 
+0000018837 00000 n 
+0000019168 00000 n 
+0000437650 00000 n 
+0000987223 00000 n 
+0000019222 00000 n 
+0000019520 00000 n 
+0000459662 00000 n 
+0000987131 00000 n 
+0000019574 00000 n 
+0000019991 00000 n 
+0000460011 00000 n 
+0000987039 00000 n 
+0000020045 00000 n 
+0000020467 00000 n 
+0000464042 00000 n 
+0000986947 00000 n 
+0000020521 00000 n 
+0000020852 00000 n 
+0000464335 00000 n 
+0000986855 00000 n 
+0000020906 00000 n 
+0000021237 00000 n 
+0000471381 00000 n 
+0000986763 00000 n 
+0000021291 00000 n 
+0000021602 00000 n 
+0000489687 00000 n 
+0000986671 00000 n 
+0000021656 00000 n 
+0000022055 00000 n 
+0000496294 00000 n 
+0000986579 00000 n 
+0000022109 00000 n 
+0000022556 00000 n 
+0000502977 00000 n 
+0000986487 00000 n 
+0000022610 00000 n 
+0000022941 00000 n 
+0000507077 00000 n 
+0000986395 00000 n 
+0000022995 00000 n 
+0000023326 00000 n 
+0000507606 00000 n 
+0000986303 00000 n 
+0000023380 00000 n 
+0000023670 00000 n 
+0000650324 00000 n 
+0000986211 00000 n 
+0000023724 00000 n 
+0000024037 00000 n 
+0000650794 00000 n 
+0000986119 00000 n 
+0000024091 00000 n 
+0000024419 00000 n 
+0000654695 00000 n 
+0000986027 00000 n 
+0000024473 00000 n 
+0000024753 00000 n 
+0000655282 00000 n 
+0000985949 00000 n 
+0000024807 00000 n 
+0000025115 00000 n 
+0000026518 00000 n 
+0000026637 00000 n 
+0000029975 00000 n 
+0000025167 00000 n 
+0000029862 00000 n 
+0000029918 00000 n 
+0000982321 00000 n 
+0000980596 00000 n 
+0000981028 00000 n 
+0000980740 00000 n 
+0000982853 00000 n 
+0000983209 00000 n 
+0000029631 00000 n 
+0000029815 00000 n 
+0000030402 00000 n 
+0000030227 00000 n 
+0000030127 00000 n 
+0000030346 00000 n 
+0000037448 00000 n 
+0000037614 00000 n 
+0000037766 00000 n 
+0000037932 00000 n 
+0000038230 00000 n 
+0000032269 00000 n 
+0000038410 00000 n 
+0000034472 00000 n 
+0000038630 00000 n 
+0000032082 00000 n 
+0000030443 00000 n 
+0000038574 00000 n 
+0000982495 00000 n 
+0000038082 00000 n 
+0000981610 00000 n 
+0000034241 00000 n 
+0000034425 00000 n 
+0000037217 00000 n 
+0000037401 00000 n 
+0000097539 00000 n 
+0000062652 00000 n 
+0000039044 00000 n 
+0000038869 00000 n 
+0000038769 00000 n 
+0000038988 00000 n 
+0000041116 00000 n 
+0000041267 00000 n 
+0000041417 00000 n 
+0000041568 00000 n 
+0000041719 00000 n 
+0000041876 00000 n 
+0000042026 00000 n 
+0000042181 00000 n 
+0000042332 00000 n 
+0000042489 00000 n 
+0000042640 00000 n 
+0000042797 00000 n 
+0000042948 00000 n 
+0000043105 00000 n 
+0000043255 00000 n 
+0000043412 00000 n 
+0000043563 00000 n 
+0000043721 00000 n 
+0000043878 00000 n 
+0000044035 00000 n 
+0000044193 00000 n 
+0000044351 00000 n 
+0000044509 00000 n 
+0000044667 00000 n 
+0000044825 00000 n 
+0000044983 00000 n 
+0000045142 00000 n 
+0000045301 00000 n 
+0000045460 00000 n 
+0000045619 00000 n 
+0000045778 00000 n 
+0000045937 00000 n 
+0000046096 00000 n 
+0000046255 00000 n 
+0000046414 00000 n 
+0000046573 00000 n 
+0000046732 00000 n 
+0000046890 00000 n 
+0000047049 00000 n 
+0000047207 00000 n 
+0000047366 00000 n 
+0000047525 00000 n 
+0000047683 00000 n 
+0000047840 00000 n 
+0000049943 00000 n 
+0000047996 00000 n 
+0000048216 00000 n 
+0000040625 00000 n 
+0000039085 00000 n 
+0000048160 00000 n 
+0000979284 00000 n 
+0000050102 00000 n 
+0000050261 00000 n 
+0000050420 00000 n 
+0000050579 00000 n 
+0000050737 00000 n 
+0000050896 00000 n 
+0000051054 00000 n 
+0000051213 00000 n 
+0000051371 00000 n 
+0000051529 00000 n 
+0000051688 00000 n 
+0000051846 00000 n 
+0000052005 00000 n 
+0000052163 00000 n 
+0000052322 00000 n 
+0000052480 00000 n 
+0000052639 00000 n 
+0000052798 00000 n 
+0000052957 00000 n 
+0000053116 00000 n 
+0000053275 00000 n 
+0000053434 00000 n 
+0000053593 00000 n 
+0000053752 00000 n 
+0000053911 00000 n 
+0000054070 00000 n 
+0000054229 00000 n 
+0000054388 00000 n 
+0000054547 00000 n 
+0000054765 00000 n 
+0000049572 00000 n 
+0000048355 00000 n 
+0000054709 00000 n 
+0000058125 00000 n 
+0000058327 00000 n 
+0000058660 00000 n 
+0000057978 00000 n 
+0000054904 00000 n 
+0000981962 00000 n 
+0000058546 00000 n 
+0000983029 00000 n 
+0000058603 00000 n 
+0000983327 00000 n 
+0000404494 00000 n 
+0000062216 00000 n 
+0000062378 00000 n 
+0000062765 00000 n 
+0000062069 00000 n 
+0000058812 00000 n 
+0000980016 00000 n 
+0000062595 00000 n 
+0000062709 00000 n 
+0000066330 00000 n 
+0000066664 00000 n 
+0000066191 00000 n 
+0000062955 00000 n 
+0000066494 00000 n 
+0000066551 00000 n 
+0000066607 00000 n 
+0000070268 00000 n 
+0000070601 00000 n 
+0000070129 00000 n 
+0000066803 00000 n 
+0000070430 00000 n 
+0000070487 00000 n 
+0000070544 00000 n 
+0000073857 00000 n 
+0000074191 00000 n 
+0000073718 00000 n 
+0000070740 00000 n 
+0000074021 00000 n 
+0000074077 00000 n 
+0000074134 00000 n 
+0000078059 00000 n 
+0000078334 00000 n 
+0000077920 00000 n 
+0000074330 00000 n 
+0000078221 00000 n 
+0000078277 00000 n 
+0000081827 00000 n 
+0000082104 00000 n 
+0000081688 00000 n 
+0000078473 00000 n 
+0000081991 00000 n 
+0000082047 00000 n 
+0000983445 00000 n 
+0000085598 00000 n 
+0000085987 00000 n 
+0000085459 00000 n 
+0000082243 00000 n 
+0000085760 00000 n 
+0000085816 00000 n 
+0000085873 00000 n 
+0000085930 00000 n 
+0000089705 00000 n 
+0000090096 00000 n 
+0000089566 00000 n 
+0000086126 00000 n 
+0000089869 00000 n 
+0000089925 00000 n 
+0000089982 00000 n 
+0000090039 00000 n 
+0000093364 00000 n 
+0000093810 00000 n 
+0000093225 00000 n 
+0000090235 00000 n 
+0000093526 00000 n 
+0000093582 00000 n 
+0000093639 00000 n 
+0000093696 00000 n 
+0000093753 00000 n 
+0000096659 00000 n 
+0000096835 00000 n 
+0000097011 00000 n 
+0000097206 00000 n 
+0000097596 00000 n 
+0000096496 00000 n 
+0000093949 00000 n 
+0000097370 00000 n 
+0000981784 00000 n 
+0000097482 00000 n 
+0000101508 00000 n 
+0000101726 00000 n 
+0000101369 00000 n 
+0000097748 00000 n 
+0000101670 00000 n 
+0000105639 00000 n 
+0000105859 00000 n 
+0000105500 00000 n 
+0000101852 00000 n 
+0000105803 00000 n 
+0000983563 00000 n 
+0000109231 00000 n 
+0000109449 00000 n 
+0000109092 00000 n 
+0000105985 00000 n 
+0000109393 00000 n 
+0000113198 00000 n 
+0000113418 00000 n 
+0000113059 00000 n 
+0000109575 00000 n 
+0000113362 00000 n 
+0000116349 00000 n 
+0000116525 00000 n 
+0000116911 00000 n 
+0000116202 00000 n 
+0000113544 00000 n 
+0000116687 00000 n 
+0000116743 00000 n 
+0000118522 00000 n 
+0000118679 00000 n 
+0000118856 00000 n 
+0000119013 00000 n 
+0000119170 00000 n 
+0000119328 00000 n 
+0000119486 00000 n 
+0000119644 00000 n 
+0000119802 00000 n 
+0000119958 00000 n 
+0000120116 00000 n 
+0000120274 00000 n 
+0000120433 00000 n 
+0000120592 00000 n 
+0000120751 00000 n 
+0000120910 00000 n 
+0000121069 00000 n 
+0000121228 00000 n 
+0000121386 00000 n 
+0000123565 00000 n 
+0000121543 00000 n 
+0000121986 00000 n 
+0000118231 00000 n 
+0000117050 00000 n 
+0000121707 00000 n 
+0000180853 00000 n 
+0000123724 00000 n 
+0000123883 00000 n 
+0000124038 00000 n 
+0000124197 00000 n 
+0000124356 00000 n 
+0000124515 00000 n 
+0000124674 00000 n 
+0000124832 00000 n 
+0000124991 00000 n 
+0000125149 00000 n 
+0000125308 00000 n 
+0000125467 00000 n 
+0000125626 00000 n 
+0000125785 00000 n 
+0000125943 00000 n 
+0000126102 00000 n 
+0000126261 00000 n 
+0000126420 00000 n 
+0000126579 00000 n 
+0000126738 00000 n 
+0000126896 00000 n 
+0000127054 00000 n 
+0000127213 00000 n 
+0000127372 00000 n 
+0000127531 00000 n 
+0000127690 00000 n 
+0000127849 00000 n 
+0000128007 00000 n 
+0000130183 00000 n 
+0000128164 00000 n 
+0000128382 00000 n 
+0000123194 00000 n 
+0000122138 00000 n 
+0000128326 00000 n 
+0000130342 00000 n 
+0000130501 00000 n 
+0000130660 00000 n 
+0000130817 00000 n 
+0000130975 00000 n 
+0000131134 00000 n 
+0000131293 00000 n 
+0000131451 00000 n 
+0000131610 00000 n 
+0000131768 00000 n 
+0000131927 00000 n 
+0000132086 00000 n 
+0000132283 00000 n 
+0000132440 00000 n 
+0000132647 00000 n 
+0000132805 00000 n 
+0000133013 00000 n 
+0000133171 00000 n 
+0000133385 00000 n 
+0000133543 00000 n 
+0000133747 00000 n 
+0000133905 00000 n 
+0000134106 00000 n 
+0000134264 00000 n 
+0000134454 00000 n 
+0000134612 00000 n 
+0000134800 00000 n 
+0000134958 00000 n 
+0000135149 00000 n 
+0000137379 00000 n 
+0000137566 00000 n 
+0000135305 00000 n 
+0000135637 00000 n 
+0000129804 00000 n 
+0000128521 00000 n 
+0000135469 00000 n 
+0000983681 00000 n 
+0000194512 00000 n 
+0000200404 00000 n 
+0000200688 00000 n 
+0000204322 00000 n 
+0000204608 00000 n 
+0000207877 00000 n 
+0000208287 00000 n 
+0000228333 00000 n 
+0000233470 00000 n 
+0000137725 00000 n 
+0000137920 00000 n 
+0000138079 00000 n 
+0000138266 00000 n 
+0000138424 00000 n 
+0000138619 00000 n 
+0000138778 00000 n 
+0000138977 00000 n 
+0000139135 00000 n 
+0000139336 00000 n 
+0000139495 00000 n 
+0000139690 00000 n 
+0000139848 00000 n 
+0000140049 00000 n 
+0000140208 00000 n 
+0000140394 00000 n 
+0000140553 00000 n 
+0000140747 00000 n 
+0000140906 00000 n 
+0000141097 00000 n 
+0000141256 00000 n 
+0000141448 00000 n 
+0000141607 00000 n 
+0000141807 00000 n 
+0000141966 00000 n 
+0000142163 00000 n 
+0000142322 00000 n 
+0000142526 00000 n 
+0000142685 00000 n 
+0000142863 00000 n 
+0000143022 00000 n 
+0000143222 00000 n 
+0000143381 00000 n 
+0000143575 00000 n 
+0000143734 00000 n 
+0000143939 00000 n 
+0000146207 00000 n 
+0000146414 00000 n 
+0000144096 00000 n 
+0000144314 00000 n 
+0000136936 00000 n 
+0000135789 00000 n 
+0000144258 00000 n 
+0000239567 00000 n 
+0000240272 00000 n 
+0000246698 00000 n 
+0000250581 00000 n 
+0000250992 00000 n 
+0000251284 00000 n 
+0000254979 00000 n 
+0000255272 00000 n 
+0000255565 00000 n 
+0000266935 00000 n 
+0000272207 00000 n 
+0000272618 00000 n 
+0000283449 00000 n 
+0000283860 00000 n 
+0000286764 00000 n 
+0000287057 00000 n 
+0000289779 00000 n 
+0000290070 00000 n 
+0000310577 00000 n 
+0000146573 00000 n 
+0000146771 00000 n 
+0000146930 00000 n 
+0000147131 00000 n 
+0000147290 00000 n 
+0000147496 00000 n 
+0000147655 00000 n 
+0000147860 00000 n 
+0000148019 00000 n 
+0000148219 00000 n 
+0000148378 00000 n 
+0000148567 00000 n 
+0000148726 00000 n 
+0000148922 00000 n 
+0000149111 00000 n 
+0000149270 00000 n 
+0000149464 00000 n 
+0000149623 00000 n 
+0000149826 00000 n 
+0000149985 00000 n 
+0000150183 00000 n 
+0000150341 00000 n 
+0000150543 00000 n 
+0000150701 00000 n 
+0000150895 00000 n 
+0000151054 00000 n 
+0000151250 00000 n 
+0000151409 00000 n 
+0000151598 00000 n 
+0000151757 00000 n 
+0000151971 00000 n 
+0000152130 00000 n 
+0000152345 00000 n 
+0000152504 00000 n 
+0000152699 00000 n 
+0000152887 00000 n 
+0000153046 00000 n 
+0000153238 00000 n 
+0000155577 00000 n 
+0000155769 00000 n 
+0000153394 00000 n 
+0000153614 00000 n 
+0000145748 00000 n 
+0000144440 00000 n 
+0000153558 00000 n 
+0000319718 00000 n 
+0000328872 00000 n 
+0000338695 00000 n 
+0000347381 00000 n 
+0000354763 00000 n 
+0000355174 00000 n 
+0000361851 00000 n 
+0000395873 00000 n 
+0000398602 00000 n 
+0000398895 00000 n 
+0000399188 00000 n 
+0000421889 00000 n 
+0000429264 00000 n 
+0000429557 00000 n 
+0000459604 00000 n 
+0000459954 00000 n 
+0000463985 00000 n 
+0000464277 00000 n 
+0000155928 00000 n 
+0000156138 00000 n 
+0000156326 00000 n 
+0000156484 00000 n 
+0000156701 00000 n 
+0000156910 00000 n 
+0000157069 00000 n 
+0000157265 00000 n 
+0000157424 00000 n 
+0000157620 00000 n 
+0000157779 00000 n 
+0000157966 00000 n 
+0000158124 00000 n 
+0000158315 00000 n 
+0000158473 00000 n 
+0000158667 00000 n 
+0000158826 00000 n 
+0000159011 00000 n 
+0000159170 00000 n 
+0000159361 00000 n 
+0000159520 00000 n 
+0000159695 00000 n 
+0000159903 00000 n 
+0000160111 00000 n 
+0000160325 00000 n 
+0000160528 00000 n 
+0000163015 00000 n 
+0000160728 00000 n 
+0000161227 00000 n 
+0000155214 00000 n 
+0000153753 00000 n 
+0000160890 00000 n 
+0000161001 00000 n 
+0000161114 00000 n 
+0000161171 00000 n 
+0000471323 00000 n 
+0000489629 00000 n 
+0000496236 00000 n 
+0000502919 00000 n 
+0000507019 00000 n 
+0000507548 00000 n 
+0000650266 00000 n 
+0000650736 00000 n 
+0000654637 00000 n 
+0000655225 00000 n 
+0000163203 00000 n 
+0000163396 00000 n 
+0000163582 00000 n 
+0000163777 00000 n 
+0000163963 00000 n 
+0000164158 00000 n 
+0000164357 00000 n 
+0000164557 00000 n 
+0000164752 00000 n 
+0000164953 00000 n 
+0000165138 00000 n 
+0000165328 00000 n 
+0000165538 00000 n 
+0000165727 00000 n 
+0000165947 00000 n 
+0000166156 00000 n 
+0000166342 00000 n 
+0000166536 00000 n 
+0000166727 00000 n 
+0000166919 00000 n 
+0000167119 00000 n 
+0000167316 00000 n 
+0000167521 00000 n 
+0000167699 00000 n 
+0000169935 00000 n 
+0000170129 00000 n 
+0000167899 00000 n 
+0000168119 00000 n 
+0000162676 00000 n 
+0000161392 00000 n 
+0000168063 00000 n 
+0000170337 00000 n 
+0000170543 00000 n 
+0000170743 00000 n 
+0000170944 00000 n 
+0000171153 00000 n 
+0000171358 00000 n 
+0000171557 00000 n 
+0000171746 00000 n 
+0000171941 00000 n 
+0000172130 00000 n 
+0000172324 00000 n 
+0000172527 00000 n 
+0000172726 00000 n 
+0000172928 00000 n 
+0000173122 00000 n 
+0000173311 00000 n 
+0000173525 00000 n 
+0000173740 00000 n 
+0000173936 00000 n 
+0000174125 00000 n 
+0000174321 00000 n 
+0000174513 00000 n 
+0000174707 00000 n 
+0000174891 00000 n 
+0000175109 00000 n 
+0000169596 00000 n 
+0000168258 00000 n 
+0000175053 00000 n 
+0000176977 00000 n 
+0000177174 00000 n 
+0000177382 00000 n 
+0000177589 00000 n 
+0000177803 00000 n 
+0000178008 00000 n 
+0000178209 00000 n 
+0000178397 00000 n 
+0000178590 00000 n 
+0000178775 00000 n 
+0000178969 00000 n 
+0000179156 00000 n 
+0000179351 00000 n 
+0000179551 00000 n 
+0000179751 00000 n 
+0000179946 00000 n 
+0000180146 00000 n 
+0000180332 00000 n 
+0000182837 00000 n 
+0000183047 00000 n 
+0000180520 00000 n 
+0000181023 00000 n 
+0000176694 00000 n 
+0000175261 00000 n 
+0000180684 00000 n 
+0000180740 00000 n 
+0000180966 00000 n 
+0000983799 00000 n 
+0000183235 00000 n 
+0000183454 00000 n 
+0000183662 00000 n 
+0000183848 00000 n 
+0000184042 00000 n 
+0000184233 00000 n 
+0000184423 00000 n 
+0000184623 00000 n 
+0000184820 00000 n 
+0000185025 00000 n 
+0000185203 00000 n 
+0000185404 00000 n 
+0000185599 00000 n 
+0000185807 00000 n 
+0000186013 00000 n 
+0000186211 00000 n 
+0000186413 00000 n 
+0000186622 00000 n 
+0000186826 00000 n 
+0000187026 00000 n 
+0000187215 00000 n 
+0000187410 00000 n 
+0000187599 00000 n 
+0000187793 00000 n 
+0000190238 00000 n 
+0000190437 00000 n 
+0000187994 00000 n 
+0000188212 00000 n 
+0000182490 00000 n 
+0000181188 00000 n 
+0000188156 00000 n 
+0000190639 00000 n 
+0000190833 00000 n 
+0000191029 00000 n 
+0000191218 00000 n 
+0000191432 00000 n 
+0000191647 00000 n 
+0000191842 00000 n 
+0000192031 00000 n 
+0000192226 00000 n 
+0000192418 00000 n 
+0000192614 00000 n 
+0000192809 00000 n 
+0000193000 00000 n 
+0000193195 00000 n 
+0000193380 00000 n 
+0000193571 00000 n 
+0000193800 00000 n 
+0000193993 00000 n 
+0000197193 00000 n 
+0000197386 00000 n 
+0000194179 00000 n 
+0000194737 00000 n 
+0000189939 00000 n 
+0000188351 00000 n 
+0000194343 00000 n 
+0000194399 00000 n 
+0000194625 00000 n 
+0000194681 00000 n 
+0000197618 00000 n 
+0000197805 00000 n 
+0000198037 00000 n 
+0000198266 00000 n 
+0000198496 00000 n 
+0000198694 00000 n 
+0000198888 00000 n 
+0000199076 00000 n 
+0000199265 00000 n 
+0000199453 00000 n 
+0000199694 00000 n 
+0000199901 00000 n 
+0000200744 00000 n 
+0000196950 00000 n 
+0000194902 00000 n 
+0000200063 00000 n 
+0000200119 00000 n 
+0000200176 00000 n 
+0000200233 00000 n 
+0000200290 00000 n 
+0000200347 00000 n 
+0000200517 00000 n 
+0000200574 00000 n 
+0000200631 00000 n 
+0000202380 00000 n 
+0000202620 00000 n 
+0000202861 00000 n 
+0000203107 00000 n 
+0000203345 00000 n 
+0000203583 00000 n 
+0000206593 00000 n 
+0000203820 00000 n 
+0000204951 00000 n 
+0000202193 00000 n 
+0000200909 00000 n 
+0000203984 00000 n 
+0000204096 00000 n 
+0000204152 00000 n 
+0000204208 00000 n 
+0000204265 00000 n 
+0000204435 00000 n 
+0000204492 00000 n 
+0000204550 00000 n 
+0000204721 00000 n 
+0000204779 00000 n 
+0000204837 00000 n 
+0000204894 00000 n 
+0000206831 00000 n 
+0000207066 00000 n 
+0000207302 00000 n 
+0000210705 00000 n 
+0000214100 00000 n 
+0000207538 00000 n 
+0000208401 00000 n 
+0000206415 00000 n 
+0000205104 00000 n 
+0000207701 00000 n 
+0000207759 00000 n 
+0000207818 00000 n 
+0000979430 00000 n 
+0000207992 00000 n 
+0000208051 00000 n 
+0000208110 00000 n 
+0000208169 00000 n 
+0000208228 00000 n 
+0000214168 00000 n 
+0000214393 00000 n 
+0000214589 00000 n 
+0000214814 00000 n 
+0000215005 00000 n 
+0000215230 00000 n 
+0000215421 00000 n 
+0000215615 00000 n 
+0000215838 00000 n 
+0000216032 00000 n 
+0000216257 00000 n 
+0000216453 00000 n 
+0000216677 00000 n 
+0000216902 00000 n 
+0000217127 00000 n 
+0000217321 00000 n 
+0000217546 00000 n 
+0000220811 00000 n 
+0000221036 00000 n 
+0000217740 00000 n 
+0000218199 00000 n 
+0000210392 00000 n 
+0000208581 00000 n 
+0000217905 00000 n 
+0000217963 00000 n 
+0000218022 00000 n 
+0000218081 00000 n 
+0000982671 00000 n 
+0000218140 00000 n 
+0000983918 00000 n 
+0000211456 00000 n 
+0000211587 00000 n 
+0000211737 00000 n 
+0000212005 00000 n 
+0000212384 00000 n 
+0000212622 00000 n 
+0000212644 00000 n 
+0000214077 00000 n 
+0000222762 00000 n 
+0000222880 00000 n 
+0000222998 00000 n 
+0000223119 00000 n 
+0000223240 00000 n 
+0000223363 00000 n 
+0000221227 00000 n 
+0000221417 00000 n 
+0000221641 00000 n 
+0000221831 00000 n 
+0000222021 00000 n 
+0000222246 00000 n 
+0000223426 00000 n 
+0000220604 00000 n 
+0000218393 00000 n 
+0000222409 00000 n 
+0000222467 00000 n 
+0000222526 00000 n 
+0000222585 00000 n 
+0000222644 00000 n 
+0000222703 00000 n 
+0000222821 00000 n 
+0000982139 00000 n 
+0000222939 00000 n 
+0000223061 00000 n 
+0000223182 00000 n 
+0000223304 00000 n 
+0000228038 00000 n 
+0000228215 00000 n 
+0000226401 00000 n 
+0000226811 00000 n 
+0000227033 00000 n 
+0000227255 00000 n 
+0000227477 00000 n 
+0000230938 00000 n 
+0000231160 00000 n 
+0000231348 00000 n 
+0000227697 00000 n 
+0000228684 00000 n 
+0000226203 00000 n 
+0000223619 00000 n 
+0000227862 00000 n 
+0000227920 00000 n 
+0000227979 00000 n 
+0000228097 00000 n 
+0000228156 00000 n 
+0000226607 00000 n 
+0000228274 00000 n 
+0000228448 00000 n 
+0000228507 00000 n 
+0000228566 00000 n 
+0000228625 00000 n 
+0000233293 00000 n 
+0000231571 00000 n 
+0000231793 00000 n 
+0000232016 00000 n 
+0000232205 00000 n 
+0000232432 00000 n 
+0000232659 00000 n 
+0000233821 00000 n 
+0000230722 00000 n 
+0000228877 00000 n 
+0000232822 00000 n 
+0000232880 00000 n 
+0000232939 00000 n 
+0000232998 00000 n 
+0000233057 00000 n 
+0000233116 00000 n 
+0000233175 00000 n 
+0000233234 00000 n 
+0000233352 00000 n 
+0000233411 00000 n 
+0000233585 00000 n 
+0000233644 00000 n 
+0000233703 00000 n 
+0000233762 00000 n 
+0000236271 00000 n 
+0000236492 00000 n 
+0000236688 00000 n 
+0000236884 00000 n 
+0000237073 00000 n 
+0000237266 00000 n 
+0000237486 00000 n 
+0000237679 00000 n 
+0000237900 00000 n 
+0000238088 00000 n 
+0000238310 00000 n 
+0000238529 00000 n 
+0000238749 00000 n 
+0000238937 00000 n 
+0000239159 00000 n 
+0000242441 00000 n 
+0000239344 00000 n 
+0000240388 00000 n 
+0000235992 00000 n 
+0000234001 00000 n 
+0000239509 00000 n 
+0000239683 00000 n 
+0000239742 00000 n 
+0000981318 00000 n 
+0000980451 00000 n 
+0000239801 00000 n 
+0000239860 00000 n 
+0000239919 00000 n 
+0000239978 00000 n 
+0000240037 00000 n 
+0000240096 00000 n 
+0000240155 00000 n 
+0000240214 00000 n 
+0000979138 00000 n 
+0000979723 00000 n 
+0000980884 00000 n 
+0000980306 00000 n 
+0000242669 00000 n 
+0000242896 00000 n 
+0000243124 00000 n 
+0000243319 00000 n 
+0000243507 00000 n 
+0000243728 00000 n 
+0000243924 00000 n 
+0000244117 00000 n 
+0000244313 00000 n 
+0000244507 00000 n 
+0000244728 00000 n 
+0000244921 00000 n 
+0000245142 00000 n 
+0000245334 00000 n 
+0000245556 00000 n 
+0000245775 00000 n 
+0000245995 00000 n 
+0000246182 00000 n 
+0000247282 00000 n 
+0000242135 00000 n 
+0000240676 00000 n 
+0000246345 00000 n 
+0000246403 00000 n 
+0000246462 00000 n 
+0000246521 00000 n 
+0000246580 00000 n 
+0000246639 00000 n 
+0000246814 00000 n 
+0000246872 00000 n 
+0000246930 00000 n 
+0000246989 00000 n 
+0000247048 00000 n 
+0000247107 00000 n 
+0000247166 00000 n 
+0000247223 00000 n 
+0000249060 00000 n 
+0000249289 00000 n 
+0000249516 00000 n 
+0000249744 00000 n 
+0000249939 00000 n 
+0000250125 00000 n 
+0000253107 00000 n 
+0000250358 00000 n 
+0000251400 00000 n 
+0000248862 00000 n 
+0000247448 00000 n 
+0000250523 00000 n 
+0000250697 00000 n 
+0000250756 00000 n 
+0000250815 00000 n 
+0000250874 00000 n 
+0000250933 00000 n 
+0000251108 00000 n 
+0000251167 00000 n 
+0000251226 00000 n 
+0000984043 00000 n 
+0000253341 00000 n 
+0000253576 00000 n 
+0000253765 00000 n 
+0000253999 00000 n 
+0000254228 00000 n 
+0000254463 00000 n 
+0000255622 00000 n 
+0000252909 00000 n 
+0000251566 00000 n 
+0000254626 00000 n 
+0000254684 00000 n 
+0000254743 00000 n 
+0000254802 00000 n 
+0000254861 00000 n 
+0000254920 00000 n 
+0000255095 00000 n 
+0000255154 00000 n 
+0000255213 00000 n 
+0000255388 00000 n 
+0000255447 00000 n 
+0000255506 00000 n 
+0000257797 00000 n 
+0000257988 00000 n 
+0000258209 00000 n 
+0000258402 00000 n 
+0000258622 00000 n 
+0000258810 00000 n 
+0000259031 00000 n 
+0000259249 00000 n 
+0000259468 00000 n 
+0000259655 00000 n 
+0000259876 00000 n 
+0000260072 00000 n 
+0000260261 00000 n 
+0000260448 00000 n 
+0000260669 00000 n 
+0000260865 00000 n 
+0000261052 00000 n 
+0000261273 00000 n 
+0000261469 00000 n 
+0000261658 00000 n 
+0000261845 00000 n 
+0000262066 00000 n 
+0000262262 00000 n 
+0000262447 00000 n 
+0000263375 00000 n 
+0000257446 00000 n 
+0000255775 00000 n 
+0000262612 00000 n 
+0000262728 00000 n 
+0000262787 00000 n 
+0000262846 00000 n 
+0000262905 00000 n 
+0000262963 00000 n 
+0000263022 00000 n 
+0000263081 00000 n 
+0000263140 00000 n 
+0000263199 00000 n 
+0000263258 00000 n 
+0000263317 00000 n 
+0000266758 00000 n 
+0000266229 00000 n 
+0000266405 00000 n 
+0000266581 00000 n 
+0000265781 00000 n 
+0000269044 00000 n 
+0000266008 00000 n 
+0000267169 00000 n 
+0000265628 00000 n 
+0000263555 00000 n 
+0000266171 00000 n 
+0000266288 00000 n 
+0000266347 00000 n 
+0000266463 00000 n 
+0000266522 00000 n 
+0000266640 00000 n 
+0000266699 00000 n 
+0000266817 00000 n 
+0000266876 00000 n 
+0000267051 00000 n 
+0000267110 00000 n 
+0000269270 00000 n 
+0000269497 00000 n 
+0000269691 00000 n 
+0000269877 00000 n 
+0000270102 00000 n 
+0000270326 00000 n 
+0000270551 00000 n 
+0000270748 00000 n 
+0000270975 00000 n 
+0000271169 00000 n 
+0000271396 00000 n 
+0000271582 00000 n 
+0000275369 00000 n 
+0000271807 00000 n 
+0000272911 00000 n 
+0000268783 00000 n 
+0000267336 00000 n 
+0000271972 00000 n 
+0000272030 00000 n 
+0000272089 00000 n 
+0000272148 00000 n 
+0000272323 00000 n 
+0000272382 00000 n 
+0000272441 00000 n 
+0000272500 00000 n 
+0000272559 00000 n 
+0000272734 00000 n 
+0000272793 00000 n 
+0000272852 00000 n 
+0000283272 00000 n 
+0000275592 00000 n 
+0000275816 00000 n 
+0000276009 00000 n 
+0000276236 00000 n 
+0000276432 00000 n 
+0000276625 00000 n 
+0000276852 00000 n 
+0000277048 00000 n 
+0000277237 00000 n 
+0000277429 00000 n 
+0000277655 00000 n 
+0000277850 00000 n 
+0000278037 00000 n 
+0000278229 00000 n 
+0000279215 00000 n 
+0000275099 00000 n 
+0000273077 00000 n 
+0000278392 00000 n 
+0000278450 00000 n 
+0000278509 00000 n 
+0000278567 00000 n 
+0000278626 00000 n 
+0000278685 00000 n 
+0000278744 00000 n 
+0000278803 00000 n 
+0000278862 00000 n 
+0000278921 00000 n 
+0000278980 00000 n 
+0000279039 00000 n 
+0000279098 00000 n 
+0000279157 00000 n 
+0000281437 00000 n 
+0000281671 00000 n 
+0000281903 00000 n 
+0000282136 00000 n 
+0000282336 00000 n 
+0000282529 00000 n 
+0000282760 00000 n 
+0000282990 00000 n 
+0000284152 00000 n 
+0000281230 00000 n 
+0000279395 00000 n 
+0000283155 00000 n 
+0000283213 00000 n 
+0000283331 00000 n 
+0000283390 00000 n 
+0000283565 00000 n 
+0000283624 00000 n 
+0000283683 00000 n 
+0000283742 00000 n 
+0000283801 00000 n 
+0000283975 00000 n 
+0000284034 00000 n 
+0000284093 00000 n 
+0000984168 00000 n 
+0000286031 00000 n 
+0000286270 00000 n 
+0000286484 00000 n 
+0000287466 00000 n 
+0000285869 00000 n 
+0000284318 00000 n 
+0000286647 00000 n 
+0000286705 00000 n 
+0000286880 00000 n 
+0000286939 00000 n 
+0000286998 00000 n 
+0000287173 00000 n 
+0000287230 00000 n 
+0000287289 00000 n 
+0000287348 00000 n 
+0000287407 00000 n 
+0000289262 00000 n 
+0000291847 00000 n 
+0000296858 00000 n 
+0000289497 00000 n 
+0000290186 00000 n 
+0000289109 00000 n 
+0000287634 00000 n 
+0000289662 00000 n 
+0000289720 00000 n 
+0000289895 00000 n 
+0000289953 00000 n 
+0000290011 00000 n 
+0000296926 00000 n 
+0000297120 00000 n 
+0000297350 00000 n 
+0000297546 00000 n 
+0000297740 00000 n 
+0000297970 00000 n 
+0000298166 00000 n 
+0000298360 00000 n 
+0000298590 00000 n 
+0000298779 00000 n 
+0000298973 00000 n 
+0000299203 00000 n 
+0000299399 00000 n 
+0000299629 00000 n 
+0000299856 00000 n 
+0000300083 00000 n 
+0000300313 00000 n 
+0000300542 00000 n 
+0000301352 00000 n 
+0000291534 00000 n 
+0000290339 00000 n 
+0000300705 00000 n 
+0000300763 00000 n 
+0000300822 00000 n 
+0000300881 00000 n 
+0000300940 00000 n 
+0000300998 00000 n 
+0000301057 00000 n 
+0000301116 00000 n 
+0000301175 00000 n 
+0000301234 00000 n 
+0000301293 00000 n 
+0000293309 00000 n 
+0000293440 00000 n 
+0000293590 00000 n 
+0000293914 00000 n 
+0000294351 00000 n 
+0000294589 00000 n 
+0000294611 00000 n 
+0000296835 00000 n 
+0000307124 00000 n 
+0000307317 00000 n 
+0000307727 00000 n 
+0000307936 00000 n 
+0000308137 00000 n 
+0000308345 00000 n 
+0000303197 00000 n 
+0000307056 00000 n 
+0000308553 00000 n 
+0000308795 00000 n 
+0000308984 00000 n 
+0000309172 00000 n 
+0000309415 00000 n 
+0000309623 00000 n 
+0000309866 00000 n 
+0000310053 00000 n 
+0000310295 00000 n 
+0000311047 00000 n 
+0000302902 00000 n 
+0000301548 00000 n 
+0000310460 00000 n 
+0000310518 00000 n 
+0000307522 00000 n 
+0000310693 00000 n 
+0000310752 00000 n 
+0000310811 00000 n 
+0000310870 00000 n 
+0000310929 00000 n 
+0000310988 00000 n 
+0000303996 00000 n 
+0000304127 00000 n 
+0000304277 00000 n 
+0000304569 00000 n 
+0000304974 00000 n 
+0000305212 00000 n 
+0000305234 00000 n 
+0000307033 00000 n 
+0000312815 00000 n 
+0000316554 00000 n 
+0000316622 00000 n 
+0000316863 00000 n 
+0000317059 00000 n 
+0000317255 00000 n 
+0000317448 00000 n 
+0000317688 00000 n 
+0000317882 00000 n 
+0000318124 00000 n 
+0000318330 00000 n 
+0000318570 00000 n 
+0000318763 00000 n 
+0000319004 00000 n 
+0000319197 00000 n 
+0000319438 00000 n 
+0000320303 00000 n 
+0000312538 00000 n 
+0000311228 00000 n 
+0000319601 00000 n 
+0000319659 00000 n 
+0000319834 00000 n 
+0000319893 00000 n 
+0000319952 00000 n 
+0000320011 00000 n 
+0000320068 00000 n 
+0000320127 00000 n 
+0000320186 00000 n 
+0000320245 00000 n 
+0000313613 00000 n 
+0000313744 00000 n 
+0000313894 00000 n 
+0000314182 00000 n 
+0000314586 00000 n 
+0000314824 00000 n 
+0000314846 00000 n 
+0000316531 00000 n 
+0000322068 00000 n 
+0000325752 00000 n 
+0000325820 00000 n 
+0000326054 00000 n 
+0000326250 00000 n 
+0000326446 00000 n 
+0000326640 00000 n 
+0000326874 00000 n 
+0000327067 00000 n 
+0000327301 00000 n 
+0000327501 00000 n 
+0000327736 00000 n 
+0000327930 00000 n 
+0000328165 00000 n 
+0000328357 00000 n 
+0000328590 00000 n 
+0000329459 00000 n 
+0000321791 00000 n 
+0000320484 00000 n 
+0000328755 00000 n 
+0000328813 00000 n 
+0000328988 00000 n 
+0000329047 00000 n 
+0000329106 00000 n 
+0000329165 00000 n 
+0000329224 00000 n 
+0000329283 00000 n 
+0000329342 00000 n 
+0000329401 00000 n 
+0000984293 00000 n 
+0000322852 00000 n 
+0000322983 00000 n 
+0000323133 00000 n 
+0000323417 00000 n 
+0000323813 00000 n 
+0000324051 00000 n 
+0000324073 00000 n 
+0000325729 00000 n 
+0000331239 00000 n 
+0000334784 00000 n 
+0000334852 00000 n 
+0000335088 00000 n 
+0000335277 00000 n 
+0000335463 00000 n 
+0000335698 00000 n 
+0000335886 00000 n 
+0000336081 00000 n 
+0000336317 00000 n 
+0000336513 00000 n 
+0000336701 00000 n 
+0000336889 00000 n 
+0000337126 00000 n 
+0000337320 00000 n 
+0000337557 00000 n 
+0000337759 00000 n 
+0000337996 00000 n 
+0000338181 00000 n 
+0000344845 00000 n 
+0000345039 00000 n 
+0000338415 00000 n 
+0000339342 00000 n 
+0000330926 00000 n 
+0000329640 00000 n 
+0000338578 00000 n 
+0000338636 00000 n 
+0000338811 00000 n 
+0000338870 00000 n 
+0000338929 00000 n 
+0000338988 00000 n 
+0000339047 00000 n 
+0000339106 00000 n 
+0000339165 00000 n 
+0000339224 00000 n 
+0000339283 00000 n 
+0000332024 00000 n 
+0000332155 00000 n 
+0000332305 00000 n 
+0000332585 00000 n 
+0000332978 00000 n 
+0000333216 00000 n 
+0000333238 00000 n 
+0000334761 00000 n 
+0000341083 00000 n 
+0000344777 00000 n 
+0000345276 00000 n 
+0000345519 00000 n 
+0000345715 00000 n 
+0000345909 00000 n 
+0000346151 00000 n 
+0000346360 00000 n 
+0000346604 00000 n 
+0000346797 00000 n 
+0000347040 00000 n 
+0000347850 00000 n 
+0000340833 00000 n 
+0000339523 00000 n 
+0000347205 00000 n 
+0000347263 00000 n 
+0000347322 00000 n 
+0000347497 00000 n 
+0000347556 00000 n 
+0000347615 00000 n 
+0000347674 00000 n 
+0000347732 00000 n 
+0000347791 00000 n 
+0000341885 00000 n 
+0000342016 00000 n 
+0000342166 00000 n 
+0000342454 00000 n 
+0000342856 00000 n 
+0000343094 00000 n 
+0000343116 00000 n 
+0000344754 00000 n 
+0000349565 00000 n 
+0000353123 00000 n 
+0000353191 00000 n 
+0000353430 00000 n 
+0000353615 00000 n 
+0000353799 00000 n 
+0000354038 00000 n 
+0000354243 00000 n 
+0000354483 00000 n 
+0000355290 00000 n 
+0000349351 00000 n 
+0000348032 00000 n 
+0000354646 00000 n 
+0000354704 00000 n 
+0000354879 00000 n 
+0000354938 00000 n 
+0000354997 00000 n 
+0000355056 00000 n 
+0000355115 00000 n 
+0000350362 00000 n 
+0000350493 00000 n 
+0000350643 00000 n 
+0000350923 00000 n 
+0000351316 00000 n 
+0000351554 00000 n 
+0000351576 00000 n 
+0000353100 00000 n 
+0000357572 00000 n 
+0000357806 00000 n 
+0000358030 00000 n 
+0000358219 00000 n 
+0000358443 00000 n 
+0000358635 00000 n 
+0000358858 00000 n 
+0000359054 00000 n 
+0000359278 00000 n 
+0000359474 00000 n 
+0000359698 00000 n 
+0000359893 00000 n 
+0000360117 00000 n 
+0000360341 00000 n 
+0000360564 00000 n 
+0000360787 00000 n 
+0000361010 00000 n 
+0000361230 00000 n 
+0000365506 00000 n 
+0000365729 00000 n 
+0000365921 00000 n 
+0000366144 00000 n 
+0000361451 00000 n 
+0000362612 00000 n 
+0000357266 00000 n 
+0000355471 00000 n 
+0000361616 00000 n 
+0000361674 00000 n 
+0000361733 00000 n 
+0000361792 00000 n 
+0000361966 00000 n 
+0000362025 00000 n 
+0000362084 00000 n 
+0000362143 00000 n 
+0000362202 00000 n 
+0000362261 00000 n 
+0000362320 00000 n 
+0000362379 00000 n 
+0000362438 00000 n 
+0000362496 00000 n 
+0000362554 00000 n 
+0000384288 00000 n 
+0000384406 00000 n 
+0000366332 00000 n 
+0000366555 00000 n 
+0000366750 00000 n 
+0000366973 00000 n 
+0000367169 00000 n 
+0000367391 00000 n 
+0000367585 00000 n 
+0000367809 00000 n 
+0000368006 00000 n 
+0000368230 00000 n 
+0000368454 00000 n 
+0000368641 00000 n 
+0000368830 00000 n 
+0000369208 00000 n 
+0000369395 00000 n 
+0000369619 00000 n 
+0000369806 00000 n 
+0000370030 00000 n 
+0000370253 00000 n 
+0000370442 00000 n 
+0000370631 00000 n 
+0000370833 00000 n 
+0000371057 00000 n 
+0000371258 00000 n 
+0000371480 00000 n 
+0000371681 00000 n 
+0000371904 00000 n 
+0000372127 00000 n 
+0000372323 00000 n 
+0000372519 00000 n 
+0000372714 00000 n 
+0000372937 00000 n 
+0000373127 00000 n 
+0000373350 00000 n 
+0000373573 00000 n 
+0000374206 00000 n 
+0000365011 00000 n 
+0000362778 00000 n 
+0000373736 00000 n 
+0000373794 00000 n 
+0000369019 00000 n 
+0000979576 00000 n 
+0000373853 00000 n 
+0000373912 00000 n 
+0000373971 00000 n 
+0000374029 00000 n 
+0000374088 00000 n 
+0000374147 00000 n 
+0000384647 00000 n 
+0000384829 00000 n 
+0000389802 00000 n 
+0000389979 00000 n 
+0000390156 00000 n 
+0000390274 00000 n 
+0000390392 00000 n 
+0000395343 00000 n 
+0000395520 00000 n 
+0000395697 00000 n 
+0000378651 00000 n 
+0000378887 00000 n 
+0000377251 00000 n 
+0000377446 00000 n 
+0000377636 00000 n 
+0000377826 00000 n 
+0000378027 00000 n 
+0000378251 00000 n 
+0000379005 00000 n 
+0000377062 00000 n 
+0000374386 00000 n 
+0000378416 00000 n 
+0000378474 00000 n 
+0000378533 00000 n 
+0000378592 00000 n 
+0000378710 00000 n 
+0000378769 00000 n 
+0000378828 00000 n 
+0000378946 00000 n 
+0000984418 00000 n 
+0000382222 00000 n 
+0000382423 00000 n 
+0000382647 00000 n 
+0000383056 00000 n 
+0000383257 00000 n 
+0000383480 00000 n 
+0000383890 00000 n 
+0000384946 00000 n 
+0000382006 00000 n 
+0000379184 00000 n 
+0000384053 00000 n 
+0000384111 00000 n 
+0000384170 00000 n 
+0000382853 00000 n 
+0000384229 00000 n 
+0000384347 00000 n 
+0000384470 00000 n 
+0000384529 00000 n 
+0000384588 00000 n 
+0000384711 00000 n 
+0000384770 00000 n 
+0000383686 00000 n 
+0000384887 00000 n 
+0000388094 00000 n 
+0000388504 00000 n 
+0000388913 00000 n 
+0000389323 00000 n 
+0000389520 00000 n 
+0000390569 00000 n 
+0000387887 00000 n 
+0000385125 00000 n 
+0000389685 00000 n 
+0000389743 00000 n 
+0000388300 00000 n 
+0000389861 00000 n 
+0000389920 00000 n 
+0000388709 00000 n 
+0000390038 00000 n 
+0000390097 00000 n 
+0000389119 00000 n 
+0000390215 00000 n 
+0000390333 00000 n 
+0000390451 00000 n 
+0000390510 00000 n 
+0000393215 00000 n 
+0000393625 00000 n 
+0000393826 00000 n 
+0000394025 00000 n 
+0000394225 00000 n 
+0000394415 00000 n 
+0000394645 00000 n 
+0000394875 00000 n 
+0000395063 00000 n 
+0000396225 00000 n 
+0000392990 00000 n 
+0000390750 00000 n 
+0000395226 00000 n 
+0000395284 00000 n 
+0000393421 00000 n 
+0000395402 00000 n 
+0000395461 00000 n 
+0000395579 00000 n 
+0000395638 00000 n 
+0000395755 00000 n 
+0000395814 00000 n 
+0000395989 00000 n 
+0000396048 00000 n 
+0000396107 00000 n 
+0000396166 00000 n 
+0000397914 00000 n 
+0000398142 00000 n 
+0000401209 00000 n 
+0000401443 00000 n 
+0000398379 00000 n 
+0000399304 00000 n 
+0000397752 00000 n 
+0000396406 00000 n 
+0000398544 00000 n 
+0000398718 00000 n 
+0000398777 00000 n 
+0000398836 00000 n 
+0000399011 00000 n 
+0000399070 00000 n 
+0000399129 00000 n 
+0000401676 00000 n 
+0000401913 00000 n 
+0000402150 00000 n 
+0000402386 00000 n 
+0000402621 00000 n 
+0000402856 00000 n 
+0000403091 00000 n 
+0000403328 00000 n 
+0000403565 00000 n 
+0000403802 00000 n 
+0000407719 00000 n 
+0000407956 00000 n 
+0000404037 00000 n 
+0000404964 00000 n 
+0000400957 00000 n 
+0000399471 00000 n 
+0000404200 00000 n 
+0000404258 00000 n 
+0000404317 00000 n 
+0000404376 00000 n 
+0000404435 00000 n 
+0000404610 00000 n 
+0000404669 00000 n 
+0000404728 00000 n 
+0000404787 00000 n 
+0000404846 00000 n 
+0000404905 00000 n 
+0000410563 00000 n 
+0000410681 00000 n 
+0000410803 00000 n 
+0000410926 00000 n 
+0000411044 00000 n 
+0000408192 00000 n 
+0000408429 00000 n 
+0000408665 00000 n 
+0000408902 00000 n 
+0000409139 00000 n 
+0000409341 00000 n 
+0000409577 00000 n 
+0000410046 00000 n 
+0000411107 00000 n 
+0000407485 00000 n 
+0000405117 00000 n 
+0000410211 00000 n 
+0000410269 00000 n 
+0000410328 00000 n 
+0000410386 00000 n 
+0000410445 00000 n 
+0000410504 00000 n 
+0000410622 00000 n 
+0000410744 00000 n 
+0000410867 00000 n 
+0000410985 00000 n 
+0000409812 00000 n 
+0000984543 00000 n 
+0000416963 00000 n 
+0000417086 00000 n 
+0000417268 00000 n 
+0000414702 00000 n 
+0000414938 00000 n 
+0000415133 00000 n 
+0000415605 00000 n 
+0000415800 00000 n 
+0000416273 00000 n 
+0000416683 00000 n 
+0000417509 00000 n 
+0000414477 00000 n 
+0000411260 00000 n 
+0000416846 00000 n 
+0000416904 00000 n 
+0000417027 00000 n 
+0000417150 00000 n 
+0000417209 00000 n 
+0000415369 00000 n 
+0000417332 00000 n 
+0000416037 00000 n 
+0000417391 00000 n 
+0000417450 00000 n 
+0000416479 00000 n 
+0000420067 00000 n 
+0000420294 00000 n 
+0000420523 00000 n 
+0000420752 00000 n 
+0000420980 00000 n 
+0000421209 00000 n 
+0000421437 00000 n 
+0000421666 00000 n 
+0000422475 00000 n 
+0000419860 00000 n 
+0000417728 00000 n 
+0000421831 00000 n 
+0000422005 00000 n 
+0000422064 00000 n 
+0000422123 00000 n 
+0000422182 00000 n 
+0000422241 00000 n 
+0000422300 00000 n 
+0000422358 00000 n 
+0000422416 00000 n 
+0000429023 00000 n 
+0000429141 00000 n 
+0000424567 00000 n 
+0000428251 00000 n 
+0000428319 00000 n 
+0000428512 00000 n 
+0000428743 00000 n 
+0000429614 00000 n 
+0000424389 00000 n 
+0000422642 00000 n 
+0000428906 00000 n 
+0000428964 00000 n 
+0000429082 00000 n 
+0000429205 00000 n 
+0000429380 00000 n 
+0000429439 00000 n 
+0000429498 00000 n 
+0000425354 00000 n 
+0000425485 00000 n 
+0000425635 00000 n 
+0000425923 00000 n 
+0000426322 00000 n 
+0000426560 00000 n 
+0000426582 00000 n 
+0000428228 00000 n 
+0000432065 00000 n 
+0000432287 00000 n 
+0000432510 00000 n 
+0000432706 00000 n 
+0000432898 00000 n 
+0000433121 00000 n 
+0000433311 00000 n 
+0000433534 00000 n 
+0000433757 00000 n 
+0000433947 00000 n 
+0000434171 00000 n 
+0000434395 00000 n 
+0000434587 00000 n 
+0000434810 00000 n 
+0000435034 00000 n 
+0000435258 00000 n 
+0000435446 00000 n 
+0000435669 00000 n 
+0000435865 00000 n 
+0000436089 00000 n 
+0000436312 00000 n 
+0000436536 00000 n 
+0000436759 00000 n 
+0000436983 00000 n 
+0000437207 00000 n 
+0000441218 00000 n 
+0000441441 00000 n 
+0000441664 00000 n 
+0000441856 00000 n 
+0000437427 00000 n 
+0000438651 00000 n 
+0000431696 00000 n 
+0000429809 00000 n 
+0000437592 00000 n 
+0000437708 00000 n 
+0000437767 00000 n 
+0000437826 00000 n 
+0000437885 00000 n 
+0000437944 00000 n 
+0000438003 00000 n 
+0000438062 00000 n 
+0000438121 00000 n 
+0000438179 00000 n 
+0000438238 00000 n 
+0000438297 00000 n 
+0000438356 00000 n 
+0000438415 00000 n 
+0000438474 00000 n 
+0000438533 00000 n 
+0000438592 00000 n 
+0000450548 00000 n 
+0000455493 00000 n 
+0000455670 00000 n 
+0000442079 00000 n 
+0000442302 00000 n 
+0000442490 00000 n 
+0000442712 00000 n 
+0000442906 00000 n 
+0000443130 00000 n 
+0000443326 00000 n 
+0000443548 00000 n 
+0000443741 00000 n 
+0000443965 00000 n 
+0000444158 00000 n 
+0000444382 00000 n 
+0000444597 00000 n 
+0000444821 00000 n 
+0000445251 00000 n 
+0000445473 00000 n 
+0000445688 00000 n 
+0000445912 00000 n 
+0000446664 00000 n 
+0000440876 00000 n 
+0000438817 00000 n 
+0000446075 00000 n 
+0000446133 00000 n 
+0000446192 00000 n 
+0000446251 00000 n 
+0000446310 00000 n 
+0000446369 00000 n 
+0000445036 00000 n 
+0000446428 00000 n 
+0000446487 00000 n 
+0000446546 00000 n 
+0000446605 00000 n 
+0000455788 00000 n 
+0000455970 00000 n 
+0000456152 00000 n 
+0000456329 00000 n 
+0000459486 00000 n 
+0000450077 00000 n 
+0000450266 00000 n 
+0000450725 00000 n 
+0000449924 00000 n 
+0000446830 00000 n 
+0000450431 00000 n 
+0000450489 00000 n 
+0000450607 00000 n 
+0000450666 00000 n 
+0000984668 00000 n 
+0000453969 00000 n 
+0000454170 00000 n 
+0000454394 00000 n 
+0000454804 00000 n 
+0000455213 00000 n 
+0000456445 00000 n 
+0000453771 00000 n 
+0000450904 00000 n 
+0000455376 00000 n 
+0000455434 00000 n 
+0000455552 00000 n 
+0000455611 00000 n 
+0000455729 00000 n 
+0000455852 00000 n 
+0000455911 00000 n 
+0000456034 00000 n 
+0000456093 00000 n 
+0000454600 00000 n 
+0000456211 00000 n 
+0000456270 00000 n 
+0000455010 00000 n 
+0000456387 00000 n 
+0000458520 00000 n 
+0000458768 00000 n 
+0000459015 00000 n 
+0000461864 00000 n 
+0000462113 00000 n 
+0000459263 00000 n 
+0000460187 00000 n 
+0000458349 00000 n 
+0000456624 00000 n 
+0000459428 00000 n 
+0000459545 00000 n 
+0000459720 00000 n 
+0000459778 00000 n 
+0000459836 00000 n 
+0000459895 00000 n 
+0000460069 00000 n 
+0000460128 00000 n 
+0000462362 00000 n 
+0000462610 00000 n 
+0000462859 00000 n 
+0000463049 00000 n 
+0000463279 00000 n 
+0000466359 00000 n 
+0000470066 00000 n 
+0000463469 00000 n 
+0000464393 00000 n 
+0000461657 00000 n 
+0000460341 00000 n 
+0000463632 00000 n 
+0000463690 00000 n 
+0000463749 00000 n 
+0000463808 00000 n 
+0000463867 00000 n 
+0000463926 00000 n 
+0000464100 00000 n 
+0000464159 00000 n 
+0000464218 00000 n 
+0000470134 00000 n 
+0000470330 00000 n 
+0000470561 00000 n 
+0000473439 00000 n 
+0000477509 00000 n 
+0000470747 00000 n 
+0000471439 00000 n 
+0000466172 00000 n 
+0000464547 00000 n 
+0000470912 00000 n 
+0000470970 00000 n 
+0000471029 00000 n 
+0000471088 00000 n 
+0000471147 00000 n 
+0000471206 00000 n 
+0000471265 00000 n 
+0000467144 00000 n 
+0000467275 00000 n 
+0000467425 00000 n 
+0000467713 00000 n 
+0000468114 00000 n 
+0000468352 00000 n 
+0000468374 00000 n 
+0000470043 00000 n 
+0000477577 00000 n 
+0000477771 00000 n 
+0000477995 00000 n 
+0000478192 00000 n 
+0000478419 00000 n 
+0000478646 00000 n 
+0000478873 00000 n 
+0000479066 00000 n 
+0000479274 00000 n 
+0000479501 00000 n 
+0000479691 00000 n 
+0000479886 00000 n 
+0000480112 00000 n 
+0000480304 00000 n 
+0000480528 00000 n 
+0000480723 00000 n 
+0000484467 00000 n 
+0000480916 00000 n 
+0000481666 00000 n 
+0000473135 00000 n 
+0000471634 00000 n 
+0000481079 00000 n 
+0000481137 00000 n 
+0000481195 00000 n 
+0000481253 00000 n 
+0000481312 00000 n 
+0000481371 00000 n 
+0000481430 00000 n 
+0000481489 00000 n 
+0000481548 00000 n 
+0000481607 00000 n 
+0000474351 00000 n 
+0000474482 00000 n 
+0000474632 00000 n 
+0000474932 00000 n 
+0000475343 00000 n 
+0000475581 00000 n 
+0000475603 00000 n 
+0000477486 00000 n 
+0000489511 00000 n 
+0000484660 00000 n 
+0000484851 00000 n 
+0000485095 00000 n 
+0000485339 00000 n 
+0000485584 00000 n 
+0000485795 00000 n 
+0000486039 00000 n 
+0000486249 00000 n 
+0000486469 00000 n 
+0000486713 00000 n 
+0000486934 00000 n 
+0000487179 00000 n 
+0000487423 00000 n 
+0000487614 00000 n 
+0000487858 00000 n 
+0000488079 00000 n 
+0000488324 00000 n 
+0000488545 00000 n 
+0000488986 00000 n 
+0000492906 00000 n 
+0000489229 00000 n 
+0000490334 00000 n 
+0000484134 00000 n 
+0000481847 00000 n 
+0000489394 00000 n 
+0000489452 00000 n 
+0000489570 00000 n 
+0000489745 00000 n 
+0000489804 00000 n 
+0000489863 00000 n 
+0000489921 00000 n 
+0000489980 00000 n 
+0000490039 00000 n 
+0000490098 00000 n 
+0000490157 00000 n 
+0000490216 00000 n 
+0000488766 00000 n 
+0000490275 00000 n 
+0000984793 00000 n 
+0000496118 00000 n 
+0000493097 00000 n 
+0000493308 00000 n 
+0000493562 00000 n 
+0000493783 00000 n 
+0000494036 00000 n 
+0000494256 00000 n 
+0000494511 00000 n 
+0000494766 00000 n 
+0000494957 00000 n 
+0000495212 00000 n 
+0000495466 00000 n 
+0000499267 00000 n 
+0000495720 00000 n 
+0000496824 00000 n 
+0000492654 00000 n 
+0000490500 00000 n 
+0000495883 00000 n 
+0000495941 00000 n 
+0000496000 00000 n 
+0000496059 00000 n 
+0000496177 00000 n 
+0000496352 00000 n 
+0000496411 00000 n 
+0000496470 00000 n 
+0000496529 00000 n 
+0000496588 00000 n 
+0000496647 00000 n 
+0000496706 00000 n 
+0000496765 00000 n 
+0000502801 00000 n 
+0000499478 00000 n 
+0000499669 00000 n 
+0000499899 00000 n 
+0000500130 00000 n 
+0000500326 00000 n 
+0000500523 00000 n 
+0000500754 00000 n 
+0000500951 00000 n 
+0000501182 00000 n 
+0000501378 00000 n 
+0000501608 00000 n 
+0000501805 00000 n 
+0000502036 00000 n 
+0000502231 00000 n 
+0000502460 00000 n 
+0000503565 00000 n 
+0000498988 00000 n 
+0000496990 00000 n 
+0000502625 00000 n 
+0000502683 00000 n 
+0000502742 00000 n 
+0000502860 00000 n 
+0000503035 00000 n 
+0000503094 00000 n 
+0000503153 00000 n 
+0000503212 00000 n 
+0000503271 00000 n 
+0000503330 00000 n 
+0000503389 00000 n 
+0000503448 00000 n 
+0000503507 00000 n 
+0000505226 00000 n 
+0000505456 00000 n 
+0000505687 00000 n 
+0000505883 00000 n 
+0000506080 00000 n 
+0000506311 00000 n 
+0000506508 00000 n 
+0000509662 00000 n 
+0000513047 00000 n 
+0000506739 00000 n 
+0000507664 00000 n 
+0000505019 00000 n 
+0000503732 00000 n 
+0000506902 00000 n 
+0000506960 00000 n 
+0000507135 00000 n 
+0000507194 00000 n 
+0000507253 00000 n 
+0000507312 00000 n 
+0000507371 00000 n 
+0000507430 00000 n 
+0000507489 00000 n 
+0000513115 00000 n 
+0000513337 00000 n 
+0000513559 00000 n 
+0000513755 00000 n 
+0000513977 00000 n 
+0000514173 00000 n 
+0000514395 00000 n 
+0000514591 00000 n 
+0000514813 00000 n 
+0000515009 00000 n 
+0000515231 00000 n 
+0000515453 00000 n 
+0000515675 00000 n 
+0000515897 00000 n 
+0000516119 00000 n 
+0000516341 00000 n 
+0000516561 00000 n 
+0000516782 00000 n 
+0000516967 00000 n 
+0000517187 00000 n 
+0000521301 00000 n 
+0000521522 00000 n 
+0000521717 00000 n 
+0000521938 00000 n 
+0000522134 00000 n 
+0000522323 00000 n 
+0000517381 00000 n 
+0000518370 00000 n 
+0000509322 00000 n 
+0000507830 00000 n 
+0000517546 00000 n 
+0000517604 00000 n 
+0000517663 00000 n 
+0000517721 00000 n 
+0000517780 00000 n 
+0000517839 00000 n 
+0000517898 00000 n 
+0000517957 00000 n 
+0000518016 00000 n 
+0000518075 00000 n 
+0000518134 00000 n 
+0000518193 00000 n 
+0000518252 00000 n 
+0000518311 00000 n 
+0000510409 00000 n 
+0000510540 00000 n 
+0000510690 00000 n 
+0000510958 00000 n 
+0000511336 00000 n 
+0000511574 00000 n 
+0000511596 00000 n 
+0000513024 00000 n 
+0000566698 00000 n 
+0000566875 00000 n 
+0000522512 00000 n 
+0000522734 00000 n 
+0000522930 00000 n 
+0000523119 00000 n 
+0000523308 00000 n 
+0000523529 00000 n 
+0000523725 00000 n 
+0000523914 00000 n 
+0000524103 00000 n 
+0000524289 00000 n 
+0000524511 00000 n 
+0000524707 00000 n 
+0000524896 00000 n 
+0000525085 00000 n 
+0000525272 00000 n 
+0000525469 00000 n 
+0000525690 00000 n 
+0000525878 00000 n 
+0000526075 00000 n 
+0000526297 00000 n 
+0000526484 00000 n 
+0000526681 00000 n 
+0000526902 00000 n 
+0000527088 00000 n 
+0000527310 00000 n 
+0000527498 00000 n 
+0000527719 00000 n 
+0000527906 00000 n 
+0000528128 00000 n 
+0000528316 00000 n 
+0000528538 00000 n 
+0000528724 00000 n 
+0000528946 00000 n 
+0000529168 00000 n 
+0000529388 00000 n 
+0000529610 00000 n 
+0000529831 00000 n 
+0000530053 00000 n 
+0000530275 00000 n 
+0000530496 00000 n 
+0000530684 00000 n 
+0000530903 00000 n 
+0000535403 00000 n 
+0000535624 00000 n 
+0000535819 00000 n 
+0000536039 00000 n 
+0000531089 00000 n 
+0000531664 00000 n 
+0000520725 00000 n 
+0000518566 00000 n 
+0000531252 00000 n 
+0000531310 00000 n 
+0000531369 00000 n 
+0000531428 00000 n 
+0000531487 00000 n 
+0000531546 00000 n 
+0000531605 00000 n 
+0000567052 00000 n 
+0000571764 00000 n 
+0000572000 00000 n 
+0000572241 00000 n 
+0000577341 00000 n 
+0000577582 00000 n 
+0000582481 00000 n 
+0000582658 00000 n 
+0000582835 00000 n 
+0000583011 00000 n 
+0000583188 00000 n 
+0000583365 00000 n 
+0000583482 00000 n 
+0000587825 00000 n 
+0000588065 00000 n 
+0000536234 00000 n 
+0000536454 00000 n 
+0000536641 00000 n 
+0000536861 00000 n 
+0000537048 00000 n 
+0000537269 00000 n 
+0000537465 00000 n 
+0000537686 00000 n 
+0000537882 00000 n 
+0000538103 00000 n 
+0000538291 00000 n 
+0000538512 00000 n 
+0000538700 00000 n 
+0000538921 00000 n 
+0000539109 00000 n 
+0000539330 00000 n 
+0000539518 00000 n 
+0000539739 00000 n 
+0000539961 00000 n 
+0000540147 00000 n 
+0000540368 00000 n 
+0000540554 00000 n 
+0000540750 00000 n 
+0000540938 00000 n 
+0000541158 00000 n 
+0000541344 00000 n 
+0000541540 00000 n 
+0000541729 00000 n 
+0000541951 00000 n 
+0000542137 00000 n 
+0000542333 00000 n 
+0000542529 00000 n 
+0000542718 00000 n 
+0000542940 00000 n 
+0000543126 00000 n 
+0000543322 00000 n 
+0000543518 00000 n 
+0000543707 00000 n 
+0000543929 00000 n 
+0000544115 00000 n 
+0000544308 00000 n 
+0000544504 00000 n 
+0000544693 00000 n 
+0000544915 00000 n 
+0000545101 00000 n 
+0000545294 00000 n 
+0000545490 00000 n 
+0000545679 00000 n 
+0000545901 00000 n 
+0000546097 00000 n 
+0000546290 00000 n 
+0000546682 00000 n 
+0000546902 00000 n 
+0000547096 00000 n 
+0000547287 00000 n 
+0000551200 00000 n 
+0000551421 00000 n 
+0000547675 00000 n 
+0000547957 00000 n 
+0000534710 00000 n 
+0000531830 00000 n 
+0000547840 00000 n 
+0000547898 00000 n 
+0000980161 00000 n 
+0000981174 00000 n 
+0000979870 00000 n 
+0000546486 00000 n 
+0000547481 00000 n 
+0000984918 00000 n 
+0000588242 00000 n 
+0000588477 00000 n 
+0000593510 00000 n 
+0000593687 00000 n 
+0000593863 00000 n 
+0000594098 00000 n 
+0000594334 00000 n 
+0000599547 00000 n 
+0000599724 00000 n 
+0000599901 00000 n 
+0000600078 00000 n 
+0000600254 00000 n 
+0000605291 00000 n 
+0000605527 00000 n 
+0000605762 00000 n 
+0000611626 00000 n 
+0000611858 00000 n 
+0000612093 00000 n 
+0000617326 00000 n 
+0000551607 00000 n 
+0000551828 00000 n 
+0000552020 00000 n 
+0000552241 00000 n 
+0000552429 00000 n 
+0000552650 00000 n 
+0000552838 00000 n 
+0000553059 00000 n 
+0000553280 00000 n 
+0000553500 00000 n 
+0000553687 00000 n 
+0000553907 00000 n 
+0000554099 00000 n 
+0000554320 00000 n 
+0000554541 00000 n 
+0000554727 00000 n 
+0000554948 00000 n 
+0000555140 00000 n 
+0000555326 00000 n 
+0000555547 00000 n 
+0000555742 00000 n 
+0000555937 00000 n 
+0000556159 00000 n 
+0000556354 00000 n 
+0000556576 00000 n 
+0000556797 00000 n 
+0000556984 00000 n 
+0000557205 00000 n 
+0000557399 00000 n 
+0000557620 00000 n 
+0000557808 00000 n 
+0000558029 00000 n 
+0000558215 00000 n 
+0000558435 00000 n 
+0000558622 00000 n 
+0000558842 00000 n 
+0000562681 00000 n 
+0000562903 00000 n 
+0000563091 00000 n 
+0000563287 00000 n 
+0000563505 00000 n 
+0000563693 00000 n 
+0000559029 00000 n 
+0000559486 00000 n 
+0000550714 00000 n 
+0000548182 00000 n 
+0000559192 00000 n 
+0000559250 00000 n 
+0000559309 00000 n 
+0000559368 00000 n 
+0000559427 00000 n 
+0000617562 00000 n 
+0000617798 00000 n 
+0000622956 00000 n 
+0000623190 00000 n 
+0000623367 00000 n 
+0000623603 00000 n 
+0000629032 00000 n 
+0000629207 00000 n 
+0000629443 00000 n 
+0000629620 00000 n 
+0000635002 00000 n 
+0000635238 00000 n 
+0000635411 00000 n 
+0000635588 00000 n 
+0000640369 00000 n 
+0000640603 00000 n 
+0000563889 00000 n 
+0000564111 00000 n 
+0000564299 00000 n 
+0000564495 00000 n 
+0000564717 00000 n 
+0000564905 00000 n 
+0000565100 00000 n 
+0000565288 00000 n 
+0000565478 00000 n 
+0000565888 00000 n 
+0000566298 00000 n 
+0000567168 00000 n 
+0000562375 00000 n 
+0000559695 00000 n 
+0000566463 00000 n 
+0000981464 00000 n 
+0000566521 00000 n 
+0000566580 00000 n 
+0000566639 00000 n 
+0000566757 00000 n 
+0000566816 00000 n 
+0000565684 00000 n 
+0000566934 00000 n 
+0000566993 00000 n 
+0000566094 00000 n 
+0000567110 00000 n 
+0000640839 00000 n 
+0000645762 00000 n 
+0000645998 00000 n 
+0000646234 00000 n 
+0000570255 00000 n 
+0000570665 00000 n 
+0000571074 00000 n 
+0000571484 00000 n 
+0000572362 00000 n 
+0000570057 00000 n 
+0000567406 00000 n 
+0000571647 00000 n 
+0000571705 00000 n 
+0000570461 00000 n 
+0000571823 00000 n 
+0000571882 00000 n 
+0000571941 00000 n 
+0000570870 00000 n 
+0000572064 00000 n 
+0000572123 00000 n 
+0000572182 00000 n 
+0000571280 00000 n 
+0000572304 00000 n 
+0000575775 00000 n 
+0000576185 00000 n 
+0000576595 00000 n 
+0000577001 00000 n 
+0000577764 00000 n 
+0000575577 00000 n 
+0000572542 00000 n 
+0000577166 00000 n 
+0000577224 00000 n 
+0000577283 00000 n 
+0000575981 00000 n 
+0000577405 00000 n 
+0000577464 00000 n 
+0000577523 00000 n 
+0000576391 00000 n 
+0000577646 00000 n 
+0000577705 00000 n 
+0000576799 00000 n 
+0000580214 00000 n 
+0000580624 00000 n 
+0000581031 00000 n 
+0000581441 00000 n 
+0000581851 00000 n 
+0000582260 00000 n 
+0000583602 00000 n 
+0000579980 00000 n 
+0000577944 00000 n 
+0000582423 00000 n 
+0000582540 00000 n 
+0000582599 00000 n 
+0000580420 00000 n 
+0000582717 00000 n 
+0000582776 00000 n 
+0000580828 00000 n 
+0000582893 00000 n 
+0000582952 00000 n 
+0000581237 00000 n 
+0000583070 00000 n 
+0000583129 00000 n 
+0000581647 00000 n 
+0000583247 00000 n 
+0000583306 00000 n 
+0000582056 00000 n 
+0000583424 00000 n 
+0000583544 00000 n 
+0000586373 00000 n 
+0000586782 00000 n 
+0000587192 00000 n 
+0000587602 00000 n 
+0000588654 00000 n 
+0000586175 00000 n 
+0000583769 00000 n 
+0000587767 00000 n 
+0000587889 00000 n 
+0000587948 00000 n 
+0000588007 00000 n 
+0000586579 00000 n 
+0000588124 00000 n 
+0000588183 00000 n 
+0000586988 00000 n 
+0000588301 00000 n 
+0000588360 00000 n 
+0000588418 00000 n 
+0000587398 00000 n 
+0000588536 00000 n 
+0000588595 00000 n 
+0000985043 00000 n 
+0000591181 00000 n 
+0000591591 00000 n 
+0000592000 00000 n 
+0000592410 00000 n 
+0000592820 00000 n 
+0000593230 00000 n 
+0000594450 00000 n 
+0000590947 00000 n 
+0000588821 00000 n 
+0000593393 00000 n 
+0000593451 00000 n 
+0000591387 00000 n 
+0000593569 00000 n 
+0000593628 00000 n 
+0000591796 00000 n 
+0000593746 00000 n 
+0000593805 00000 n 
+0000592206 00000 n 
+0000593922 00000 n 
+0000593981 00000 n 
+0000594039 00000 n 
+0000592616 00000 n 
+0000594157 00000 n 
+0000594216 00000 n 
+0000594275 00000 n 
+0000593026 00000 n 
+0000594392 00000 n 
+0000597216 00000 n 
+0000597626 00000 n 
+0000598035 00000 n 
+0000598445 00000 n 
+0000598855 00000 n 
+0000599265 00000 n 
+0000600372 00000 n 
+0000596982 00000 n 
+0000594617 00000 n 
+0000599430 00000 n 
+0000599488 00000 n 
+0000597422 00000 n 
+0000599606 00000 n 
+0000599665 00000 n 
+0000597832 00000 n 
+0000599783 00000 n 
+0000599842 00000 n 
+0000598241 00000 n 
+0000599960 00000 n 
+0000600019 00000 n 
+0000598651 00000 n 
+0000600137 00000 n 
+0000600195 00000 n 
+0000599061 00000 n 
+0000600313 00000 n 
+0000603723 00000 n 
+0000604132 00000 n 
+0000604542 00000 n 
+0000604952 00000 n 
+0000605880 00000 n 
+0000603525 00000 n 
+0000600539 00000 n 
+0000605115 00000 n 
+0000605173 00000 n 
+0000605232 00000 n 
+0000603928 00000 n 
+0000605350 00000 n 
+0000605409 00000 n 
+0000605468 00000 n 
+0000604338 00000 n 
+0000605586 00000 n 
+0000605645 00000 n 
+0000605703 00000 n 
+0000604748 00000 n 
+0000605821 00000 n 
+0000609295 00000 n 
+0000609705 00000 n 
+0000610115 00000 n 
+0000610497 00000 n 
+0000610906 00000 n 
+0000611285 00000 n 
+0000612151 00000 n 
+0000609061 00000 n 
+0000606099 00000 n 
+0000611450 00000 n 
+0000611508 00000 n 
+0000611567 00000 n 
+0000609501 00000 n 
+0000611685 00000 n 
+0000611740 00000 n 
+0000611799 00000 n 
+0000609911 00000 n 
+0000610306 00000 n 
+0000611917 00000 n 
+0000611976 00000 n 
+0000612034 00000 n 
+0000610703 00000 n 
+0000611096 00000 n 
+0000615318 00000 n 
+0000615728 00000 n 
+0000615918 00000 n 
+0000616328 00000 n 
+0000616518 00000 n 
+0000616928 00000 n 
+0000617916 00000 n 
+0000615102 00000 n 
+0000612370 00000 n 
+0000617091 00000 n 
+0000617149 00000 n 
+0000617208 00000 n 
+0000617267 00000 n 
+0000615524 00000 n 
+0000617385 00000 n 
+0000617444 00000 n 
+0000617503 00000 n 
+0000616124 00000 n 
+0000617621 00000 n 
+0000617680 00000 n 
+0000617739 00000 n 
+0000616724 00000 n 
+0000617857 00000 n 
+0000621001 00000 n 
+0000621410 00000 n 
+0000621595 00000 n 
+0000622004 00000 n 
+0000622414 00000 n 
+0000622615 00000 n 
+0000623721 00000 n 
+0000620785 00000 n 
+0000618122 00000 n 
+0000622780 00000 n 
+0000622838 00000 n 
+0000622897 00000 n 
+0000621207 00000 n 
+0000623013 00000 n 
+0000623072 00000 n 
+0000623131 00000 n 
+0000621800 00000 n 
+0000623249 00000 n 
+0000623308 00000 n 
+0000622210 00000 n 
+0000623426 00000 n 
+0000623485 00000 n 
+0000623544 00000 n 
+0000623662 00000 n 
+0000985168 00000 n 
+0000626691 00000 n 
+0000626891 00000 n 
+0000627301 00000 n 
+0000627502 00000 n 
+0000627687 00000 n 
+0000628097 00000 n 
+0000628283 00000 n 
+0000628693 00000 n 
+0000629738 00000 n 
+0000626457 00000 n 
+0000623901 00000 n 
+0000628856 00000 n 
+0000628914 00000 n 
+0000628973 00000 n 
+0000629089 00000 n 
+0000629148 00000 n 
+0000627097 00000 n 
+0000629266 00000 n 
+0000629325 00000 n 
+0000629384 00000 n 
+0000627893 00000 n 
+0000629502 00000 n 
+0000629561 00000 n 
+0000628489 00000 n 
+0000629679 00000 n 
+0000632863 00000 n 
+0000633273 00000 n 
+0000633474 00000 n 
+0000633659 00000 n 
+0000634068 00000 n 
+0000634252 00000 n 
+0000634661 00000 n 
+0000635705 00000 n 
+0000632638 00000 n 
+0000629905 00000 n 
+0000634826 00000 n 
+0000634884 00000 n 
+0000634943 00000 n 
+0000633069 00000 n 
+0000635061 00000 n 
+0000635120 00000 n 
+0000635179 00000 n 
+0000633865 00000 n 
+0000635293 00000 n 
+0000635352 00000 n 
+0000635470 00000 n 
+0000635529 00000 n 
+0000634458 00000 n 
+0000635646 00000 n 
+0000638803 00000 n 
+0000639212 00000 n 
+0000639621 00000 n 
+0000640030 00000 n 
+0000641016 00000 n 
+0000638605 00000 n 
+0000635872 00000 n 
+0000640193 00000 n 
+0000640251 00000 n 
+0000640310 00000 n 
+0000639009 00000 n 
+0000640426 00000 n 
+0000640485 00000 n 
+0000640544 00000 n 
+0000639417 00000 n 
+0000640662 00000 n 
+0000640721 00000 n 
+0000640780 00000 n 
+0000639827 00000 n 
+0000640898 00000 n 
+0000640957 00000 n 
+0000644252 00000 n 
+0000644662 00000 n 
+0000645071 00000 n 
+0000645480 00000 n 
+0000646410 00000 n 
+0000644054 00000 n 
+0000641196 00000 n 
+0000645645 00000 n 
+0000645703 00000 n 
+0000644458 00000 n 
+0000645821 00000 n 
+0000645880 00000 n 
+0000645939 00000 n 
+0000644867 00000 n 
+0000646057 00000 n 
+0000646116 00000 n 
+0000646175 00000 n 
+0000645277 00000 n 
+0000646292 00000 n 
+0000646351 00000 n 
+0000648451 00000 n 
+0000648861 00000 n 
+0000649087 00000 n 
+0000649313 00000 n 
+0000649534 00000 n 
+0000649760 00000 n 
+0000649987 00000 n 
+0000650970 00000 n 
+0000648244 00000 n 
+0000646618 00000 n 
+0000650150 00000 n 
+0000650208 00000 n 
+0000648657 00000 n 
+0000650382 00000 n 
+0000650441 00000 n 
+0000650500 00000 n 
+0000650559 00000 n 
+0000650618 00000 n 
+0000650677 00000 n 
+0000650852 00000 n 
+0000650911 00000 n 
+0000653325 00000 n 
+0000653544 00000 n 
+0000653764 00000 n 
+0000653984 00000 n 
+0000654169 00000 n 
+0000656427 00000 n 
+0000654355 00000 n 
+0000655340 00000 n 
+0000653136 00000 n 
+0000651123 00000 n 
+0000654520 00000 n 
+0000654578 00000 n 
+0000654753 00000 n 
+0000654812 00000 n 
+0000654871 00000 n 
+0000654930 00000 n 
+0000654989 00000 n 
+0000655048 00000 n 
+0000655107 00000 n 
+0000655166 00000 n 
+0000985293 00000 n 
+0000656652 00000 n 
+0000657050 00000 n 
+0000656274 00000 n 
+0000655520 00000 n 
+0000656815 00000 n 
+0000656873 00000 n 
+0000656932 00000 n 
+0000656991 00000 n 
+0000659037 00000 n 
+0000659188 00000 n 
+0000659338 00000 n 
+0000659488 00000 n 
+0000659639 00000 n 
+0000659790 00000 n 
+0000659941 00000 n 
+0000660092 00000 n 
+0000660243 00000 n 
+0000660394 00000 n 
+0000660545 00000 n 
+0000660696 00000 n 
+0000660847 00000 n 
+0000660998 00000 n 
+0000661149 00000 n 
+0000661300 00000 n 
+0000661451 00000 n 
+0000661600 00000 n 
+0000661749 00000 n 
+0000661899 00000 n 
+0000662050 00000 n 
+0000662201 00000 n 
+0000662352 00000 n 
+0000662503 00000 n 
+0000662654 00000 n 
+0000662801 00000 n 
+0000662952 00000 n 
+0000663101 00000 n 
+0000663252 00000 n 
+0000663402 00000 n 
+0000663552 00000 n 
+0000663702 00000 n 
+0000663853 00000 n 
+0000664004 00000 n 
+0000664154 00000 n 
+0000664305 00000 n 
+0000664456 00000 n 
+0000664606 00000 n 
+0000664757 00000 n 
+0000664908 00000 n 
+0000665059 00000 n 
+0000665210 00000 n 
+0000665361 00000 n 
+0000665512 00000 n 
+0000665663 00000 n 
+0000665814 00000 n 
+0000665965 00000 n 
+0000666116 00000 n 
+0000666267 00000 n 
+0000666418 00000 n 
+0000666569 00000 n 
+0000669434 00000 n 
+0000666718 00000 n 
+0000667000 00000 n 
+0000658434 00000 n 
+0000657203 00000 n 
+0000666883 00000 n 
+0000666941 00000 n 
+0000669585 00000 n 
+0000669736 00000 n 
+0000669887 00000 n 
+0000670038 00000 n 
+0000670189 00000 n 
+0000670340 00000 n 
+0000670491 00000 n 
+0000670642 00000 n 
+0000670793 00000 n 
+0000670944 00000 n 
+0000671095 00000 n 
+0000671246 00000 n 
+0000671397 00000 n 
+0000671548 00000 n 
+0000671699 00000 n 
+0000671850 00000 n 
+0000672000 00000 n 
+0000672151 00000 n 
+0000672302 00000 n 
+0000672452 00000 n 
+0000672602 00000 n 
+0000672752 00000 n 
+0000672903 00000 n 
+0000673052 00000 n 
+0000673203 00000 n 
+0000673354 00000 n 
+0000673505 00000 n 
+0000673654 00000 n 
+0000673804 00000 n 
+0000673955 00000 n 
+0000674106 00000 n 
+0000674256 00000 n 
+0000674407 00000 n 
+0000674557 00000 n 
+0000674708 00000 n 
+0000674858 00000 n 
+0000675009 00000 n 
+0000675160 00000 n 
+0000675311 00000 n 
+0000675462 00000 n 
+0000675613 00000 n 
+0000675764 00000 n 
+0000675914 00000 n 
+0000676065 00000 n 
+0000676216 00000 n 
+0000676366 00000 n 
+0000676517 00000 n 
+0000676668 00000 n 
+0000676819 00000 n 
+0000676970 00000 n 
+0000677121 00000 n 
+0000677272 00000 n 
+0000677423 00000 n 
+0000677572 00000 n 
+0000677723 00000 n 
+0000677874 00000 n 
+0000678025 00000 n 
+0000678175 00000 n 
+0000678325 00000 n 
+0000678476 00000 n 
+0000678625 00000 n 
+0000678776 00000 n 
+0000678927 00000 n 
+0000679078 00000 n 
+0000679229 00000 n 
+0000679380 00000 n 
+0000679530 00000 n 
+0000679679 00000 n 
+0000682856 00000 n 
+0000679828 00000 n 
+0000680049 00000 n 
+0000668669 00000 n 
+0000667127 00000 n 
+0000679991 00000 n 
+0000683007 00000 n 
+0000683158 00000 n 
+0000683309 00000 n 
+0000683460 00000 n 
+0000683611 00000 n 
+0000683761 00000 n 
+0000683912 00000 n 
+0000684062 00000 n 
+0000684211 00000 n 
+0000684362 00000 n 
+0000684512 00000 n 
+0000684663 00000 n 
+0000684814 00000 n 
+0000684965 00000 n 
+0000685116 00000 n 
+0000685266 00000 n 
+0000685417 00000 n 
+0000685568 00000 n 
+0000685718 00000 n 
+0000685869 00000 n 
+0000686020 00000 n 
+0000686170 00000 n 
+0000686320 00000 n 
+0000686471 00000 n 
+0000686621 00000 n 
+0000686771 00000 n 
+0000686920 00000 n 
+0000687069 00000 n 
+0000687219 00000 n 
+0000687369 00000 n 
+0000687520 00000 n 
+0000687670 00000 n 
+0000687821 00000 n 
+0000687972 00000 n 
+0000688123 00000 n 
+0000688273 00000 n 
+0000688424 00000 n 
+0000688574 00000 n 
+0000688725 00000 n 
+0000688875 00000 n 
+0000689024 00000 n 
+0000689174 00000 n 
+0000689323 00000 n 
+0000689471 00000 n 
+0000689622 00000 n 
+0000689773 00000 n 
+0000689924 00000 n 
+0000690075 00000 n 
+0000690226 00000 n 
+0000690375 00000 n 
+0000690525 00000 n 
+0000690676 00000 n 
+0000690827 00000 n 
+0000690977 00000 n 
+0000691128 00000 n 
+0000691279 00000 n 
+0000691429 00000 n 
+0000691580 00000 n 
+0000691731 00000 n 
+0000691882 00000 n 
+0000692033 00000 n 
+0000692184 00000 n 
+0000692335 00000 n 
+0000692486 00000 n 
+0000692636 00000 n 
+0000692787 00000 n 
+0000692938 00000 n 
+0000693089 00000 n 
+0000693240 00000 n 
+0000693391 00000 n 
+0000693542 00000 n 
+0000693693 00000 n 
+0000693842 00000 n 
+0000693993 00000 n 
+0000694143 00000 n 
+0000694294 00000 n 
+0000694444 00000 n 
+0000694594 00000 n 
+0000694745 00000 n 
+0000694895 00000 n 
+0000695046 00000 n 
+0000695195 00000 n 
+0000695346 00000 n 
+0000695496 00000 n 
+0000695646 00000 n 
+0000695797 00000 n 
+0000695948 00000 n 
+0000696099 00000 n 
+0000696250 00000 n 
+0000696401 00000 n 
+0000696552 00000 n 
+0000696702 00000 n 
+0000696851 00000 n 
+0000696998 00000 n 
+0000699243 00000 n 
+0000697146 00000 n 
+0000697369 00000 n 
+0000681857 00000 n 
+0000680189 00000 n 
+0000697311 00000 n 
+0000699394 00000 n 
+0000699545 00000 n 
+0000699695 00000 n 
+0000699846 00000 n 
+0000699996 00000 n 
+0000700147 00000 n 
+0000700297 00000 n 
+0000700448 00000 n 
+0000700597 00000 n 
+0000700748 00000 n 
+0000700899 00000 n 
+0000701050 00000 n 
+0000701201 00000 n 
+0000701352 00000 n 
+0000701503 00000 n 
+0000701654 00000 n 
+0000701805 00000 n 
+0000701955 00000 n 
+0000702106 00000 n 
+0000702257 00000 n 
+0000702408 00000 n 
+0000702559 00000 n 
+0000702709 00000 n 
+0000702860 00000 n 
+0000703010 00000 n 
+0000703161 00000 n 
+0000703312 00000 n 
+0000703463 00000 n 
+0000703614 00000 n 
+0000703764 00000 n 
+0000703915 00000 n 
+0000704066 00000 n 
+0000704214 00000 n 
+0000704365 00000 n 
+0000704515 00000 n 
+0000704665 00000 n 
+0000704815 00000 n 
+0000704966 00000 n 
+0000705116 00000 n 
+0000705267 00000 n 
+0000705418 00000 n 
+0000705569 00000 n 
+0000705720 00000 n 
+0000705871 00000 n 
+0000706019 00000 n 
+0000706170 00000 n 
+0000706321 00000 n 
+0000706542 00000 n 
+0000698676 00000 n 
+0000697509 00000 n 
+0000706484 00000 n 
+0000706669 00000 n 
+0000706695 00000 n 
+0000707163 00000 n 
+0000707467 00000 n 
+0000707628 00000 n 
+0000707755 00000 n 
+0000708191 00000 n 
+0000708518 00000 n 
+0000708645 00000 n 
+0000708672 00000 n 
+0000709141 00000 n 
+0000978674 00000 n 
+0000709405 00000 n 
+0000709877 00000 n 
+0000709997 00000 n 
+0000710035 00000 n 
+0000710387 00000 n 
+0000710832 00000 n 
+0000711308 00000 n 
+0000711784 00000 n 
+0000712216 00000 n 
+0000712592 00000 n 
+0000713167 00000 n 
+0000713810 00000 n 
+0000714508 00000 n 
+0000714552 00000 n 
+0000714870 00000 n 
+0000715223 00000 n 
+0000722233 00000 n 
+0000722465 00000 n 
+0000732201 00000 n 
+0000732483 00000 n 
+0000739626 00000 n 
+0000739861 00000 n 
+0000748032 00000 n 
+0000748262 00000 n 
+0000756872 00000 n 
+0000757106 00000 n 
+0000764804 00000 n 
+0000765061 00000 n 
+0000777350 00000 n 
+0000777636 00000 n 
+0000786986 00000 n 
+0000787232 00000 n 
+0000797005 00000 n 
+0000797266 00000 n 
+0000807351 00000 n 
+0000807619 00000 n 
+0000815593 00000 n 
+0000815891 00000 n 
+0000824141 00000 n 
+0000824415 00000 n 
+0000831487 00000 n 
+0000831720 00000 n 
+0000839631 00000 n 
+0000839887 00000 n 
+0000847443 00000 n 
+0000847692 00000 n 
+0000855146 00000 n 
+0000855375 00000 n 
+0000858628 00000 n 
+0000858847 00000 n 
+0000875243 00000 n 
+0000875733 00000 n 
+0000886331 00000 n 
+0000886687 00000 n 
+0000900382 00000 n 
+0000900834 00000 n 
+0000909269 00000 n 
+0000909567 00000 n 
+0000916631 00000 n 
+0000916989 00000 n 
+0000934175 00000 n 
+0000934643 00000 n 
+0000939751 00000 n 
+0000939996 00000 n 
+0000960639 00000 n 
+0000961212 00000 n 
+0000978202 00000 n 
+0000985418 00000 n 
+0000985538 00000 n 
+0000985664 00000 n 
+0000985790 00000 n 
+0000985873 00000 n 
+0000992603 00000 n 
+0000992869 00000 n 
+0000993658 00000 n 
+0000994382 00000 n 
+0000995151 00000 n 
+0000995920 00000 n 
+0000996604 00000 n 
+0000997307 00000 n 
+0000998076 00000 n 
+0000998775 00000 n 
+0000999544 00000 n 
+0001000191 00000 n 
+0001000960 00000 n 
+0001001697 00000 n 
+0001002410 00000 n 
+0001003195 00000 n 
+0001003859 00000 n 
+0001004675 00000 n 
+0001005547 00000 n 
+0001006382 00000 n 
+0001007204 00000 n 
+0001008069 00000 n 
+0001008844 00000 n 
+0001009693 00000 n 
+0001010502 00000 n 
+0001011192 00000 n 
+0001011953 00000 n 
+0001012714 00000 n 
+0001013475 00000 n 
+0001014236 00000 n 
+0001014935 00000 n 
+0001015675 00000 n 
+0001016436 00000 n 
+0001017197 00000 n 
+0001017958 00000 n 
+0001018719 00000 n 
+0001019433 00000 n 
+0001020218 00000 n 
+0001020967 00000 n 
+0001021832 00000 n 
+0001022697 00000 n 
+0001023487 00000 n 
+0001024252 00000 n 
+0001025261 00000 n 
+0001026210 00000 n 
+0001027042 00000 n 
+0001027859 00000 n 
+0001028641 00000 n 
+0001029317 00000 n 
+0001030062 00000 n 
+0001030807 00000 n 
+0001031552 00000 n 
+0001032297 00000 n 
+0001033042 00000 n 
+0001033787 00000 n 
+0001034532 00000 n 
+0001035277 00000 n 
+0001036022 00000 n 
+0001036767 00000 n 
+0001037512 00000 n 
+0001038257 00000 n 
+0001038942 00000 n 
+0001039681 00000 n 
+0001040523 00000 n 
+0001041262 00000 n 
+0001042001 00000 n 
+0001042694 00000 n 
+0001043406 00000 n 
+0001044260 00000 n 
+0001045137 00000 n 
+0001045740 00000 n 
+0001045938 00000 n 
+0001046112 00000 n 
+0001046282 00000 n 
+0001046453 00000 n 
+0001046625 00000 n 
+0001046802 00000 n 
+0001046977 00000 n 
+0001047154 00000 n 
+0001047329 00000 n 
+0001047506 00000 n 
+0001047680 00000 n 
+0001047854 00000 n 
+0001048031 00000 n 
+0001048206 00000 n 
+0001048383 00000 n 
+0001048558 00000 n 
+0001048735 00000 n 
+0001048945 00000 n 
+0001049218 00000 n 
+0001049493 00000 n 
+0001049769 00000 n 
+0001050042 00000 n 
+0001050315 00000 n 
+0001050588 00000 n 
+0001050861 00000 n 
+0001051138 00000 n 
+0001051419 00000 n 
+0001051699 00000 n 
+0001051980 00000 n 
+0001052259 00000 n 
+0001052538 00000 n 
+0001052819 00000 n 
+0001053099 00000 n 
+0001053380 00000 n 
+0001053651 00000 n 
+0001053916 00000 n 
+0001054146 00000 n 
+0001054358 00000 n 
+0001054561 00000 n 
+0001054763 00000 n 
+0001054966 00000 n 
+0001055171 00000 n 
+0001055377 00000 n 
+0001055586 00000 n 
+0001055793 00000 n 
+0001056002 00000 n 
+0001056209 00000 n 
+0001056418 00000 n 
+0001056625 00000 n 
+0001056834 00000 n 
+0001057041 00000 n 
+0001057250 00000 n 
+0001057456 00000 n 
+0001057658 00000 n 
+0001057840 00000 n 
+0001058050 00000 n 
+0001058293 00000 n 
+0001058534 00000 n 
+0001058777 00000 n 
+0001059018 00000 n 
+0001059261 00000 n 
+0001059501 00000 n 
+0001059741 00000 n 
+0001059984 00000 n 
+0001060218 00000 n 
+0001060439 00000 n 
+0001060725 00000 n 
+0001061014 00000 n 
+0001061300 00000 n 
+0001061589 00000 n 
+0001061876 00000 n 
+0001062165 00000 n 
+0001062453 00000 n 
+0001062742 00000 n 
+0001063031 00000 n 
+0001063319 00000 n 
+0001063608 00000 n 
+0001063892 00000 n 
+0001064143 00000 n 
+0001064334 00000 n 
+0001064525 00000 n 
+0001064718 00000 n 
+0001064910 00000 n 
+0001065099 00000 n 
+0001065283 00000 n 
+0001065468 00000 n 
+0001065652 00000 n 
+0001065837 00000 n 
+0001066021 00000 n 
+0001066206 00000 n 
+0001066390 00000 n 
+0001066575 00000 n 
+0001066758 00000 n 
+0001066941 00000 n 
+0001067126 00000 n 
+0001067310 00000 n 
+0001067495 00000 n 
+0001067679 00000 n 
+0001067864 00000 n 
+0001067969 00000 n 
+0001068159 00000 n 
+0001068417 00000 n 
+0001068694 00000 n 
+0001068980 00000 n 
+0001069192 00000 n 
+0001069464 00000 n 
+0001069726 00000 n 
+0001070017 00000 n 
+0001070275 00000 n 
+0001070533 00000 n 
+0001070767 00000 n 
+0001070964 00000 n 
+0001071080 00000 n 
+0001071196 00000 n 
+0001071325 00000 n 
+0001071467 00000 n 
+0001071609 00000 n 
+0001071742 00000 n 
+0001071866 00000 n 
+0001071990 00000 n 
+0001072119 00000 n 
+0001072253 00000 n 
+0001072392 00000 n 
+0001072535 00000 n 
+0001072667 00000 n 
+0001072786 00000 n 
+0001072904 00000 n 
+0001073021 00000 n 
+0001073103 00000 n 
+0001073297 00000 n 
+0001073489 00000 n 
+0001073609 00000 n 
+0001073743 00000 n 
+0001073865 00000 n 
+0001073975 00000 n 
+0001074015 00000 n 
+0001074196 00000 n 
+trailer
+<< /Size 3609
+/Root 3607 0 R
+/Info 3608 0 R
+/ID [<DE553E4317349B5BF03E76CE8005525C> <DE553E4317349B5BF03E76CE8005525C>] >>
+startxref
+1074523
+%%EOF
diff --git a/doc/ppl-user-java-interface-1.0.ps.gz b/doc/ppl-user-java-interface-1.0.ps.gz
new file mode 100644
index 0000000..89f8918
Binary files /dev/null and b/doc/ppl-user-java-interface-1.0.ps.gz differ
diff --git a/doc/ppl-user-ocaml-interface-0.11.2-html.tar.gz b/doc/ppl-user-ocaml-interface-0.11.2-html.tar.gz
deleted file mode 100644
index 7904816..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.11.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.11.2.pdf b/doc/ppl-user-ocaml-interface-0.11.2.pdf
deleted file mode 100644
index 7a08b24..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.11.2.pdf and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.11.2.ps.gz b/doc/ppl-user-ocaml-interface-0.11.2.ps.gz
deleted file mode 100644
index 77b91dc..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.11.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-1.0-html.tar.gz b/doc/ppl-user-ocaml-interface-1.0-html.tar.gz
new file mode 100644
index 0000000..fa11cd5
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-1.0-html.tar.gz differ
diff --git a/doc/ppl-user-ocaml-interface-1.0.pdf b/doc/ppl-user-ocaml-interface-1.0.pdf
new file mode 100644
index 0000000..dbf586d
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-1.0.pdf differ
diff --git a/doc/ppl-user-ocaml-interface-1.0.ps.gz b/doc/ppl-user-ocaml-interface-1.0.ps.gz
new file mode 100644
index 0000000..334c189
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-1.0.ps.gz differ
diff --git a/doc/ppl-user-prolog-interface-0.11.2-html.tar.gz b/doc/ppl-user-prolog-interface-0.11.2-html.tar.gz
deleted file mode 100644
index b4e3e43..0000000
Binary files a/doc/ppl-user-prolog-interface-0.11.2-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.11.2.pdf b/doc/ppl-user-prolog-interface-0.11.2.pdf
deleted file mode 100644
index 0d38205..0000000
Binary files a/doc/ppl-user-prolog-interface-0.11.2.pdf and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.11.2.ps.gz b/doc/ppl-user-prolog-interface-0.11.2.ps.gz
deleted file mode 100644
index 2e3bdcf..0000000
Binary files a/doc/ppl-user-prolog-interface-0.11.2.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-1.0-html.tar.gz b/doc/ppl-user-prolog-interface-1.0-html.tar.gz
new file mode 100644
index 0000000..5da2d5f
Binary files /dev/null and b/doc/ppl-user-prolog-interface-1.0-html.tar.gz differ
diff --git a/doc/ppl-user-prolog-interface-1.0.pdf b/doc/ppl-user-prolog-interface-1.0.pdf
new file mode 100644
index 0000000..f265b89
Binary files /dev/null and b/doc/ppl-user-prolog-interface-1.0.pdf differ
diff --git a/doc/ppl-user-prolog-interface-1.0.ps.gz b/doc/ppl-user-prolog-interface-1.0.ps.gz
new file mode 100644
index 0000000..32c9c59
Binary files /dev/null and b/doc/ppl-user-prolog-interface-1.0.ps.gz differ
diff --git a/doc/ppl.bib b/doc/ppl.bib
new file mode 100644
index 0000000..1f79be3
--- /dev/null
+++ b/doc/ppl.bib
@@ -0,0 +1,3195 @@
+A bibliography of papers that were consulted and/or written
+for the design and implementation of the Parma Polyhedra Library.
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara AT cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This BibTeX database is made available under the Open Data Commons
+Attribution License (ODC-By) v1.0, which is reproduced below for your
+convenience and available at http://opendatacommons.org/licenses/by/1.0/
+Summarizing:
+
+- You are free: to copy, distribute and use the database;  to produce
+  works from the database;  to modify, transform and build upon the database.
+
+- You must attribute any public use of the database, or works produced
+  from the database, in the manner specified in the license.  For any
+  use or redistribution of the database, or works produced from it,
+  you must make clear to others the license of the database and keep
+  intact any notices on the original database.
+
+
+ at PREAMBLE{ "\newcommand{\noopsort}[1]{}" }
+
+ at PhdThesis{Ancourt91th,
+  Author = "C. Ancourt",
+  Title = "G\'en\'eration automatique de codes de transfert
+           pour multiprocesseurs \`a m\'emoires locales",
+  School = "Universit\'e de Paris VI",
+  Address = "Paris, France",
+  Month = mar,
+  Year = 1991,
+  Abstract = "Parallel tasks generated by automatic parallelizers do
+              not take advantage of supercomputer memory
+              hierarchies. This thesis presents algorithms to
+              transform a parallel task into an equivalent one that
+              uses data with fast access memory. Algorithms to
+              automatically generate code to move data between two
+              different memory levels of (super)computer are
+              presented. These copy codes should move back and forth
+              array elements that are accessed when an elementary
+              processor execute an array reference located in a set of
+              loops. This set of array elements is characterized by a
+              set of integer points in $\mathcal{Z}^p$ that is not
+              necessarily a convex polyhedron.
+              In the case of data transfers from global memory to
+              local memory, it is possible to copy a superset of
+              accessed elements, for instance its convex hull. A
+              trade-off has to be made between local memory space,
+              transfer volume and loop bound complexity.
+              To copy data back from local memory to global memory is
+              more difficult because global memory consistency must be
+              preserved. Each processor (or processus) should only
+              copy its own results to avoid errors and, secondarily,
+              to decrease global memory traffic.
+              The input of our main algorithm is an integer convex
+              polyhedron defining the computation space and an affine
+              function representing the index expressions. Its output
+              is set of nested loops containing a new array reference
+              whose execution copies exactly accessed elements. Each
+              element is copied only once. Loop bound expressions use
+              integer divisions to generate non-convex sets.
+              For most practical programs this algorithm provides
+              optimal code in number of data movements and control
+              overhead. Associated with a dependence analysis phase,
+              it can be used to generate data movements in distributed
+              memory multiprocessors. When data partitionning in local
+              memories is specified, it eliminates most of execution
+              guards used to compute only local values on each
+              processor."
+}
+
+ at PhdThesis{Bagnara97th,
+  Author = "R. Bagnara",
+  Title  = "Data-Flow Analysis for Constraint Logic-Based Languages",
+  School = "Dipartimento di Informatica, Universit\`a di Pisa",
+  Address = "Pisa, Italy",
+  Month = mar,
+  Year   = 1997,
+  Note = "Printed as Report TD-1/97",
+  Abstract = "We aim at the the development of precise, practical, and
+             theoretically well-founded data-flow analyzers for
+             constraint logic-based languages. The design and
+             development of such an analyzer fostered a number of
+             research problems that we had to address. A hierarchy of
+             constraint systems is introduced that is suitable for
+             designing and combining abstract domains. The rational
+             construction of a generic domain for the structural
+             analysis of CLP programs is presented. We also address
+             the problem of the ``missing \emph{occur-check}'' in many
+             implemented languages.  We introduce a new family of
+             domains, based on constraint propagation techniques, for
+             the abstraction of the numerical leaves that occur in the
+             terms of CLP languages. Despite the fact that groundness
+             analysis for logic-based languages is a widely studied
+             subject, a novel domain for groundness analysis is
+             presented that outperforms the existing domains from
+             several points of view. Finally, we present a bottom-up
+             analysis technique for CLP languages that allows for the
+             precise derivation of both call- and success-patterns
+             preserving the connection between them."
+}
+
+ at Article{Bagnara98SCP,
+  Author = "R. Bagnara",
+  Title = "A Hierarchy of Constraint Systems for Data-Flow Analysis
+           of Constraint Logic-Based Languages",
+  Journal = "Science of Computer Programming",
+  Volume = 30,
+  Number = "1--2",
+  Publisher = "Elsevier",
+  Year = 1998,
+  Pages = "119--155",
+  Abstract = "Many interesting analyses for constraint logic-based
+              languages are aimed at the detection of \emph{monotonic}
+              properties, that is to say, properties that are
+              preserved as the computation progresses.  Our basic
+              claim is that most, if not all, of these analyses can be
+              described within a unified notion of constraint domains.
+              We present a class of constraint systems that allows for
+              a smooth integration within an appropriate framework for
+              the definition of non-standard semantics of constraint
+              logic-based languages.  Such a framework is also
+              presented and motivated.  We then show how such domains
+              can be built, as well as construction techniques that
+              induce a hierarchy of domains with interesting
+              properties.  In particular, we propose a general
+              methodology for domain combination with asynchronous
+              interaction (i.e., the interaction is not necessarily
+              synchronized with the domains' operations).  By
+              following this methodology, interesting combinations of
+              domains can be expressed with all the the semantic
+              elegance of concurrent constraint programming
+              languages.",
+  URL = "http://bugseng.com/products/ppl/documentation/Bagnara98SCP.pdf"
+}
+
+ at Techreport{BagnaraDHMZ05TR,
+  Author = "R. Bagnara and K. Dobson and P. M. Hill and M. Mundell
+            and E. Zaffanella",
+  Title = "A Linear Domain for Analyzing the Distribution of Numerical Values",
+  Number = "2005.06",
+  Type = "Report",
+  Institution = "School of Computing, University of Leeds, UK",
+  Year = 2005,
+  Abstract = "This paper explores the abstract domain of \emph{grids},
+              a domain that is able to represent sets of equally
+              spaced points and hyperplanes over an $n$-dimensional
+              vector space.  Such a domain is useful for the static
+              analysis of the patterns of distribution of the values
+              program variables can take.  Besides the bare abstract
+              domain, we present a complete set of operations on grids
+              that includes all that is necessary to define the
+              abstract semantics and the widening operators required
+              to compute it in a finite number of steps.  The
+              definition of the domain and its operations exploit
+              well-known techniques from linear algebra as well as a
+              dual representation that allows, among other things, for
+              a concise and efficient implementation.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraDHMZ05TR.pdf",
+}
+
+ at InProceedings{BagnaraDHMZ07,
+  Author = "R. Bagnara and K. Dobson and P. M. Hill and M. Mundell
+            and E. Zaffanella",
+  Title = "Grids: A Domain for Analyzing the Distribution of Numerical Values",
+  Booktitle = "Logic-based Program Synthesis and Transformation,
+               16th International Symposium",
+  Address = "Venice, Italy",
+  Editor = "G. Puebla",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4407,
+  ISBN = "3-540-71409-X",
+  Year = 2007,
+  Pages = "219--235",
+  Abstract = "This paper explores the abstract domain of \emph{grids},
+              a domain that is able to represent sets of equally
+              spaced points and hyperplanes over an $n$-dimensional
+              vector space.  Such a domain is useful for the static
+              analysis of the patterns of distribution of the values
+              program variables can take.  We present the domain, its
+              representation and the basic operations on grids
+              necessary to define the abstract semantics.  We show how
+              the definition of the domain and its operations exploit
+              well-known techniques from linear algebra as well as a
+              dual representation that allows, among other things, for
+              a concise and efficient implementation.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraDHMZ07.pdf"
+}
+
+ at Misc{BagnaraDHMZ06b,
+  Author = "R. Bagnara and K. Dobson and P. M. Hill and M. Mundell
+            and E. Zaffanella",
+  Title = "A Practical Tool for Analyzing the Distribution
+           of Numerical Values",
+  Year = 2006,
+  Note = "Available at
+         \url{http://www.comp.leeds.ac.uk/hill/Papers/papers.html}.",
+  Abstract = "The abstract domain of grids (or lattices) is a domain
+         that is able to represent sets of equally spaced points and
+         hyperplanes over an n-dimensional vector space.  Such a
+         domain is useful for the static analysis of the patterns of
+         distribution of the values that program variables can take.
+         This paper explores how this domain may be used in program
+         analysis, describing grid operations such as affine image,
+         affine preimage and widenings needed by such an application.
+         The paper also shows how any grid may be approximated by a
+         less precise non-relational grid and describes how such an
+         approximation can be computed.  Illustrative examples show
+         how the domain may be used in the analysis of programs
+         containing simple assignment statements, while loops and
+         recursive procedures."
+}
+
+ at Misc{BagnaraHMZ04EA,
+  Author = "R. Bagnara and P. M. Hill and E. Mazzi and E. Zaffanella",
+  Title = "Widening Operators for Weakly-Relational Numeric Abstractions",
+  Howpublished = "Report {\tt arXiv:cs.PL/0412043}",
+  Year = 2004,
+  Note = "Extended abstract.
+          Contribution to the \emph{International workshop on
+          ``Numerical \& Symbolic Abstract Domains''}
+          (NSAD'05, Paris, January 21, 2005).
+          Available at \url{http://arxiv.org/}
+          and \url{http://bugseng.com/products/ppl/}",
+  Abstract = "We discuss the divergence problems recently identified
+              in some extrapolation operators for weakly-relational
+              numeric domains. We identify the cause of the
+              divergences and point out that resorting to more
+              concrete, syntactic domains can be avoided by
+              researching suitable algorithms for the elimination of
+              redundant constraints in the chosen representation.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHMZ04EA.pdf"
+}
+
+ at InProceedings{BagnaraHZ02a,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "A New Encoding of Not Necessarily Closed Convex Polyhedra",
+  Booktitle = "Proceedings of the 1st CoLogNet Workshop on Component-based
+               Software Development and Implementation Technology
+               for Computational Logic Systems",
+  Address = "Madrid, Spain",
+  Editor = "M. Carro and C. Vacheret and K.-K. Lau",
+  Year = 2002,
+  Pages = "147--153",
+  Note = "Published as TR Number CLIP4/02.0, Universidad Polit\'ecnica
+          de Madrid, Facultad de Inform\'atica",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ02a.pdf"
+}
+
+ at TechReport{BagnaraHZ02TR,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "A New Encoding and Implementation
+           of Not Necessarily Closed Convex Polyhedra",
+  Number = 305,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2002,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}",
+  Abstract = "Convex polyhedra, commonly employed for the analysis and
+              verification of both hardware and software, may be
+              defined either by a finite set of linear inequality
+              constraints or by finite sets of generating points and
+              rays of the polyhedron.  Although most implementations
+              of the polyhedral operations assume that the polyhedra
+              are topologically closed (i.e., all the constraints
+              defining them are non-strict), several analyzers and
+              verifiers need to compute on a domain of convex
+              polyhedra that are not necessarily closed (NNC).  The
+              usual approach to implementing NNC polyhedra is to embed
+              them into closed polyhedra in a vector space having one
+              extra dimension and reuse the tools and techniques
+              already available for closed polyhedra.  Previously,
+              this embedding has been designed so that a constant
+              number of constraints and a linear number of generators
+              have to be added to the original NNC specification of
+              the polyhedron.  In this paper we explore an alternative
+              approach: while still using an extra dimension to
+              represent the NNC polyhedron by a closed polyhedron, the
+              new embedding adds a linear number of constraints and a
+              constant number of generators.  We discuss the relative
+              benefits of these two implementations and how the choice
+              of representation can affect the efficiency of the
+              polyhedral operations.  As far as the issue of providing
+              a non-redundant description of the NNC polyhedron is
+              concerned, we generalize the results established in a
+              previous paper so that they apply to both encodings."
+}
+
+ at Article{BagnaraHRZ05SCP,
+  Author = "R. Bagnara and P. M. Hill and E. Ricci and E. Zaffanella",
+  Title = "Precise Widening Operators for Convex Polyhedra",
+  Journal = "Science of Computer Programming",
+  Volume = 58,
+  Number = "1--2",
+  Publisher = "Elsevier",
+  Year = 2005,
+  Pages = "28--56",
+  Abstract = "In the context of static analysis via abstract
+              interpretation, convex polyhedra constitute the most
+              used abstract domain among those capturing numerical
+              relational information.  Since the domain of convex
+              polyhedra admits infinite ascending chains, it has to be
+              used in conjunction with appropriate mechanisms for
+              enforcing and accelerating the convergence of fixpoint
+              computations.  Widening operators provide a simple and
+              general characterization for such mechanisms.  For the
+              domain of convex polyhedra, the original widening
+              operator proposed by Cousot and Halbwachs amply deserves
+              the name of \emph{standard widening} since most analysis
+              and verification tools that employ convex polyhedra also
+              employ that operator.  Nonetheless, there is an
+              unfulfilled demand for more precise widening operators.
+              In this paper, after a formal introduction to the
+              standard widening where we clarify some aspects that are
+              often overlooked, we embark on the challenging task of
+              improving on it.  We present a framework for the
+              systematic definition of new widening operators that are
+              never less precise than a given widening.  The framework
+              is then instantiated on the domain of convex polyhedra
+              so as to obtain a new widening operator that improves on
+              the standard widening by combining several heuristics.
+              A preliminary experimental evaluation has yielded
+              promising results.  We also suggest an improvement to
+              the well-known widening delay technique that allows to
+              gain precision while preserving its overall
+              simplicity.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHRZ05SCP.pdf"
+}
+
+ at TechReport{BagnaraHMZ05TR,
+  Author = "R. Bagnara and P. M. Hill and E. Mazzi and E. Zaffanella",
+  Title = "Widening Operators for Weakly-Relational Numeric Abstractions",
+  Number = 399,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2005,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}",
+  Abstract = "We discuss the construction of proper widening operators
+              on several weakly-relational numeric abstractions. Our
+              proposal differs from previous ones in that we actually
+              consider the semantic abstract domains, whose elements
+              are \emph{geometric shapes}, instead of the (more
+              concrete) syntactic abstract domains of constraint
+              networks and matrices.  Since the closure by entailment
+              operator preserves geometric shapes, but not their
+              syntactic expressions, our widenings are immune from the
+              divergence issues that could be faced by the previous
+              approaches when interleaving the applications of
+              widening and closure.  The new widenings, which are
+              variations of the \emph{standard widening} for convex
+              polyhedra defined by Cousot and Halbwachs, can be made
+              as precise as the previous proposals working on the
+              syntactic domains.  The implementation of each new
+              widening relies on the availability of an effective
+              reduction procedure for the considered constraint
+              description: we provide such an algorithm for the domain
+              of \emph{octagonal shapes}.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHMZ05TR.pdf"
+}
+
+ at InProceedings{BagnaraHMZ05,
+  Author = "R. Bagnara and P. M. Hill and E. Mazzi and E. Zaffanella",
+  Title = "Widening Operators for Weakly-Relational Numeric Abstractions",
+  Booktitle = "Static Analysis:
+               Proceedings of the 12th International Symposium",
+  Address = "London, UK",
+  Editor = "C. Hankin and I. Siveroni",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3672,
+  ISBN = "3-540-28584-9",
+  Year = 2005,
+  Pages = "3--18",
+  Abstract = "We discuss the construction of proper widening operators
+              on several weakly-relational numeric abstractions. Our
+              proposal differs from previous ones in that we actually
+              consider the semantic abstract domains, whose elements are
+              \emph{geometric shapes}, instead of the (more concrete)
+              syntactic abstract domains of constraint networks and
+              matrices. Since the closure by entailment operator preserves
+              geometric shapes, but not their syntactic expressions, our
+              widenings are immune from the divergence issues that could
+              be faced by the previous approaches when interleaving the
+              applications of widening and closure. The new widenings,
+              which are variations of the \emph{standard widening} for
+              convex polyhedra defined by Cousot and Halbwachs, can be
+              made as precise as the previous proposals working on the
+              syntactic domains. The implementation of each new widening
+              relies on the availability of an effective reduction procedure
+              for the considered constraint description: we provide such an
+              algorithm for the domain of \emph{octagonal shapes}.",
+}
+
+ at Techreport{BagnaraMPZ10TR,
+  Author = "R. Bagnara and F. Mesnard and A. Pescetti and E. Zaffanella",
+  Title = "The Automatic Synthesis of Linear Ranking Functions:
+           The Complete Unabridged Version",
+  Number = 498,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2010,
+  Note = "Superseded by \cite{BagnaraMPZ12TR}.",
+  Abstract = "The classical technique for proving termination of a
+              generic sequential computer program involves the
+              synthesis of a \emph{ranking function} for each loop of
+              the program.  \emph{Linear} ranking functions are
+              particularly interesting because many terminating loops
+              admit one and algorithms exist to automatically
+              synthesize it.  In this paper we present two such
+              algorithms: one based on work dated 1991 by Sohn and
+              Van~Gelder; the other, due to Podelski and Rybalchenko,
+              dated 2004.  Remarkably, while the two algorithms will
+              synthesize a linear ranking function under exactly the
+              same set of conditions, the former is mostly unknown to
+              the community of termination analysis and its general
+              applicability has never been put forward before the
+              present paper.  In this paper we thoroughly justify both
+              algorithms, we prove their correctness, we compare their
+              worst-case complexity and experimentally evaluate their
+              efficiency, and we present an open-source implementation
+              of them that will make it very easy to include
+              termination-analysis capabilities in automatic program
+              verifiers."
+}
+
+ at Misc{BagnaraMPZ12TR,
+  Author = "R. Bagnara and F. Mesnard and A. Pescetti and E. Zaffanella",
+  Title = "The Automatic Synthesis of Linear Ranking Functions:
+           The Complete Unabridged Version",
+  Howpublished = "Report {\tt arXiv:cs.PL/1004.0944v2}",
+  Year = 2012,
+  Note = "Available at \url{http://arxiv.org/}
+          and \url{http://bugseng.com/products/ppl/}.
+          Improved version of \cite{BagnaraMPZ10TR}.",
+  Abstract = "The classical technique for proving termination of a
+              generic sequential computer program involves the
+              synthesis of a \emph{ranking function} for each loop of
+              the program.  \emph{Linear} ranking functions are
+              particularly interesting because many terminating loops
+              admit one and algorithms exist to automatically
+              synthesize it.  In this paper we present two such
+              algorithms: one based on work dated 1991 by Sohn and
+              Van~Gelder; the other, due to Podelski and Rybalchenko,
+              dated 2004.  Remarkably, while the two algorithms will
+              synthesize a linear ranking function under exactly the
+              same set of conditions, the former is mostly unknown to
+              the community of termination analysis and its general
+              applicability has never been put forward before the
+              present paper.  In this paper we thoroughly justify both
+              algorithms, we prove their correctness, we compare their
+              worst-case complexity and experimentally evaluate their
+              efficiency, and we present an open-source implementation
+              of them that will make it very easy to include
+              termination-analysis capabilities in automatic program
+              verifiers."
+}
+
+ at Article{BagnaraMPZ12IC,
+  Author = "R. Bagnara and F. Mesnard and A. Pescetti and E. Zaffanella",
+  Title = "A New Look at the Automatic Synthesis of Linear Ranking Functions",
+  Journal = "Information and Computation",
+  Publisher = "Elsevier Science B.V.",
+  Year = 2012,
+  Volume = 215,
+  Pages = "47--67",
+  Abstract = "The classical technique for proving termination of a
+              generic sequential computer program involves the
+              synthesis of a \emph{ranking function} for each loop of
+              the program.  \emph{Linear} ranking functions are
+              particularly interesting because many terminating loops
+              admit one and algorithms exist to automatically
+              synthesize it.  In this paper we present two such
+              algorithms: one based on work dated 1991 by Sohn and
+              Van~Gelder; the other, due to Podelski and Rybalchenko,
+              dated 2004.  Remarkably, while the two algorithms will
+              synthesize a linear ranking function under exactly the
+              same set of conditions, the former is mostly unknown to
+              the community of termination analysis and its general
+              applicability has never been put forward before the
+              present paper.  In this paper we thoroughly justify both
+              algorithms, we prove their correctness, we compare their
+              worst-case complexity and experimentally evaluate their
+              efficiency, and we present an open-source implementation
+              of them that will make it very easy to include
+              termination-analysis capabilities in automatic program
+              verifiers."
+}
+
+ at InProceedings{BagnaraRZH02,
+  Author = "R. Bagnara and E. Ricci and E. Zaffanella and P. M. Hill",
+  Title = "Possibly Not Closed Convex Polyhedra
+           and the {Parma Polyhedra Library}",
+  Booktitle = "Static Analysis:
+               Proceedings of the 9th International Symposium",
+  Address = "Madrid, Spain",
+  Editor = "M. V. Hermenegildo and G. Puebla",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2477,
+  ISBN = "3-540-44235-9",
+  Pages = "213--229",
+  Year = 2002,
+  Abstract = "The domain of convex polyhedra is employed in several
+              systems for the analysis and verification of hardware
+              and software components.  Current applications span
+              imperative, functional and logic languages, synchronous
+              languages and synchronization protocols, real-time and
+              hybrid systems.  Since the seminal work of P.~Cousot and
+              N.~Halbwachs, convex polyhedra have thus played an
+              important role in the formal methods community and
+              several critical tasks rely on their software
+              implementations.  Despite this, existing libraries for
+              the manipulation of convex polyhedra are still research
+              prototypes and suffer from limitations that make their
+              usage problematic, especially in critical applications.
+              Furthermore, there is inadequate support for polyhedra
+              that are not necessarily closed (NNC), i.e., polyhedra
+              that are described by systems of constraints where strict
+              inequalities are allowed to occur.  This paper presents
+              the Parma Polyhedra Library, a new, robust and complete
+              implementation of NNC convex polyhedra, concentrating on
+              the distinctive features of the library and on the novel
+              theoretical underpinnings.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraRZH02.pdf"
+}
+
+ at TechReport{BagnaraRZH02TR,
+  Author = "R. Bagnara and E. Ricci and E. Zaffanella and P. M. Hill",
+  Title = "Possibly Not Closed Convex Polyhedra
+           and the {Parma Polyhedra Library}",
+  Number = 286,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = "{\noopsort{a}}2002",
+  Note = "See also \cite{BagnaraRZH02TRerrata}.
+          Available at \url{http://www.cs.unipr.it/Publications/}",
+  Abstract = "The domain of convex polyhedra is employed in several
+              systems for the analysis and verification of hardware
+              and software components. Current applications span imperative,
+              functional and logic languages, synchronous languages and
+              synchronization protocols, real-time and hybrid systems.
+              Since the seminal work of P.~Cousot and N.~Halbwachs,
+              convex polyhedra have thus played an important role
+              in the formal methods community and several critical tasks
+              rely on their software implementations. Despite this,
+              existing libraries for the manipulation of convex polyhedra
+              are still research prototypes and suffer from limitations
+              that make their usage problematic, especially in critical
+              applications. These limitations concern inaccuracies in
+              the documentation of the underlying theory, code and
+              interfaces; numeric overflow and underflow; use of not
+              fully dynamic data-structures and poor mechanisms
+              for error handling and recovery. In addition, there is
+              inadequate support for polyhedra that are not necessarily
+              closed (NNC), i.e., polyhedra that are described by systems
+              of constraints where strict inequalities are allowed to
+              occur. This paper presents the Parma Polyhedra Library,
+              a new, robust and complete implementation of NNC convex
+              polyhedra, concentrating on the distinctive features
+              of the library and on the novel theoretical underpinnings."
+}
+
+ at Misc{BagnaraRZH02TRerrata,
+  Author = "R. Bagnara and E. Ricci and E. Zaffanella and P. M. Hill",
+  Title = "Errata for Technical Report {``Quaderno 286''}",
+  Howpublished = "Available at \url{http://www.cs.unipr.it/Publications/}",
+  Year = "{\noopsort{b}}2002",
+  Note = "See \cite{BagnaraRZH02TR}"
+}
+
+ at InProceedings{BagnaraHRZ03,
+  Author = "R. Bagnara and P. M. Hill and E. Ricci and E. Zaffanella",
+  Title = "Precise Widening Operators for Convex Polyhedra",
+  Booktitle = "Static Analysis:
+               Proceedings of the 10th International Symposium",
+  Address = "San Diego, California, USA",
+  Editor = "R. Cousot",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2694,
+  Year = 2003,
+  Pages = "337--354",
+  Abstract = "Convex polyhedra constitute the most used abstract
+              domain among those capturing numerical relational
+              information.  Since the domain of convex polyhedra
+              admits infinite ascending chains, it has to be used in
+              conjunction with appropriate mechanisms for enforcing
+              and accelerating convergence of the fixpoint
+              computation.  Widening operators provide a simple and
+              general characterization for such mechanisms.  For the
+              domain of convex polyhedra, the original widening
+              operator proposed by Cousot and Halbwachs amply deserves
+              the name of \emph{standard widening} since most analysis
+              and verification tools that employ convex polyhedra also
+              employ that operator.  Nonetheless, there is an
+              unfulfilled demand for more precise widening operators.
+              In this paper, after a formal introduction to the
+              standard widening where we clarify some aspects that are
+              often overlooked, we embark on the challenging task of
+              improving on it.  We present a framework for the
+              systematic definition of new and precise widening
+              operators for convex polyhedra.  The framework is then
+              instantiated so as to obtain a new widening operator
+              that combines several heuristics and uses the standard
+              widening as a last resort so that it is never less
+              precise.  A preliminary experimental evaluation has
+              yielded promising results.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHRZ03.pdf"
+}
+
+ at TechReport{BagnaraHRZ03TR,
+  Author = "R. Bagnara and P. M. Hill and E. Ricci and E. Zaffanella",
+  Title = "Precise Widening Operators for Convex Polyhedra",
+  Number = 312,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2003,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}",
+  Abstract = "Convex polyhedra constitute the most used abstract
+              domain among those capturing numerical relational
+              information.  Since the domain of convex polyhedra
+              admits infinite ascending chains, it has to be used in
+              conjunction with appropriate mechanisms for enforcing
+              and accelerating convergence of the fixpoint
+              computation.  Widening operators provide a simple and
+              general characterization for such mechanisms.  For the
+              domain of convex polyhedra, the original widening
+              operator proposed by Cousot and Halbwachs amply deserves
+              the name of \emph{standard widening} since most analysis
+              and verification tools that employ convex polyhedra also
+              employ that operator.  Nonetheless, there is demand for
+              more precise widening operators that still has not been
+              fulfilled.  In this paper, after a formal introduction
+              to the standard widening where we clarify some aspects
+              that are often overlooked, we embark on the challenging
+              task of improving on it.  We present a framework for the
+              systematic definition of new and precise widening
+              operators for convex polyhedra.  The framework is then
+              instantiated so as to obtain a new widening operator
+              that combines several heuristics and uses the standard
+              widening as a last resort so that it is never less
+              precise.  A preliminary experimental evaluation has
+              yielded promising results.  We also suggest an
+              improvement to the well-known widening delay technique
+              that allows to gain precision while preserving its
+              overall simplicity."
+}
+
+ at InProceedings{BagnaraHZ03a,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "A New Encoding and Implementation
+           of Not Necessarily Closed Convex Polyhedra",
+  Booktitle = "Proceedings of the 3rd Workshop on Automated Verification
+               of Critical Systems",
+  Address = "Southampton, UK",
+  Editor = "M. Leuschel and S. Gruner and S. {Lo Presti}",
+  Year = 2003,
+  Pages = "161--176",
+  Note = "Published as TR Number DSSE-TR-2003-2, University of Southampton",
+  Abstract = "Convex polyhedra, commonly employed for the analysis and
+              verification of both hardware and software, may be
+              defined either by a finite set of linear inequality
+              constraints or by finite sets of generating points and
+              rays of the polyhedron.  Although most implementations
+              of the polyhedral operations assume that the polyhedra
+              are topologically closed (i.e., all the constraints
+              defining them are non-strict), several analyzers and
+              verifiers need to compute on a domain of convex
+              polyhedra that are not necessarily closed (NNC).  The
+              usual approach to implementing NNC polyhedra is to embed
+              them into closed polyhedra in a vector space having one
+              extra dimension and reuse the tools and techniques
+              already available for closed polyhedra.  Previously,
+              this embedding has been designed so that a constant
+              number of constraints and a linear number of generators
+              have to be added to the original NNC specification of
+              the polyhedron.  In this paper we explore an alternative
+              approach: while still using an extra dimension to
+              represent the NNC polyhedron by a closed polyhedron, the
+              new embedding adds a linear number of constraints and a
+              constant number of generators.  We discuss the relative
+              benefits of these two implementations and how the choice
+              of representation can affect the efficiency of the
+              polyhedral operations.  As far as the issue of providing
+              a non-redundant description of the NNC polyhedron is
+              concerned, we generalize the results established in a
+              previous paper so that they apply to both encodings.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ03a.pdf"
+}
+
+ at InProceedings{BagnaraHZ03b,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Widening Operators for Powerset Domains",
+  Booktitle = "Verification, Model Checking and Abstract Interpretation:
+               Proceedings of the 5th International Conference (VMCAI 2004)",
+  Address = "Venice, Italy",
+  Editor = "B. Steffen and G. Levi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2937,
+  ISBN = "3-540-20803-8",
+  Year = 2003,
+  Pages = "135--148",
+  Abstract = "The \emph{finite powerset construction} upgrades an
+              abstract domain by allowing for the representation of
+              finite disjunctions of its elements.  In this paper we
+              define two generic widening operators for the finite
+              powerset abstract domain.  Both widenings are obtained
+              by lifting any widening operator defined on the
+              base-level abstract domain and are parametric with
+              respect to the specification of a few additional
+              operators.  We illustrate the proposed techniques by
+              instantiating our widenings on powersets of convex
+              polyhedra, a domain for which no non-trivial widening
+              operator was previously known.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ03b.pdf"
+}
+
+ at TechReport{BagnaraHZ04TR,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Widening Operators for Powerset Domains",
+  Number = 349,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2004,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}",
+  Abstract = "The \emph{finite powerset construction} upgrades an
+              abstract domain by allowing for the representation of
+              finite disjunctions of its elements.  In this paper we
+              define two generic widening operators for the finite
+              powerset abstract domain.  Both widenings are obtained
+              by lifting any widening operator defined on the
+              base-level abstract domain and are parametric with
+              respect to the specification of a few additional
+              operators.  We illustrate the proposed techniques by
+              instantiating our widenings on powersets of convex
+              polyhedra, a domain for which no non-trivial widening
+              operator was previously known.",
+}
+
+ at Article{BagnaraHZ05FAC,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Not Necessarily Closed Convex Polyhedra
+           and the Double Description Method",
+  Journal = "Formal Aspects of Computing",
+  Publisher = "Springer-Verlag, London",
+  Volume = "17",
+  Number = "2",
+  Pages = "222--257",
+  Year = 2005,
+  ISSN = "0934-5043",
+  Abstract = "Since the seminal work of Cousot and Halbwachs, the domain
+              of convex polyhedra has been employed in several systems
+              for the analysis and verification of hardware and software
+              components. Although most implementations of the polyhedral
+              operations assume that the polyhedra are topologically
+              closed (i.e., all the constraints defining them are
+              non-strict), several analyzers and verifiers need to
+              compute on a domain of convex polyhedra that are not
+              necessarily closed (NNC). The usual approach to
+              implementing NNC polyhedra is to embed them into closed
+              polyhedra in a higher dimensional vector space and reuse
+              the tools and techniques already available for closed
+              polyhedra. In this work we highlight and discuss the issues
+              underlying such an embedding for those implementations that
+              are based on the \emph{double description} method, where a
+              polyhedron may be described by a system of linear
+              constraints or by a system of generating rays and points.
+              Two major achievements are the definition of a
+              theoretically clean, high-level user interface and the
+              specification of an efficient procedure for removing
+              redundancies from the descriptions of NNC polyhedra.",
+}
+
+ at Article{BagnaraHZ06STTT,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Widening Operators for Powerset Domains",
+  Journal = "Software Tools for Technology Transfer",
+  Publisher = "Springer-Verlag, Berlin",
+  Volume = 8,
+  Number = "4/5",
+  Pages = "449--466",
+  Year = 2006,
+  Note = "In the printed version of this article, all the figures
+          have been improperly printed (rendering them useless).
+          See \cite{BagnaraHZ06STTTerratum}.",
+  Abstract = "The \emph{finite powerset construction} upgrades an
+              abstract domain by allowing for the representation of
+              finite disjunctions of its elements.  While most of the
+              operations on the finite powerset abstract domain are
+              easily obtained by ``lifting'' the corresponding
+              operations on the base-level domain, the problem of
+              endowing finite powersets with a provably correct
+              widening operator is still open.  In this paper we
+              define three generic widening methodologies for the
+              finite powerset abstract domain.  The widenings are
+              obtained by lifting any widening operator defined on the
+              base-level abstract domain and are parametric with
+              respect to the specification of a few additional
+              operators that allow all the flexibility required to
+              tune the complexity/precision trade-off.  As far as we
+              know, this is the first time that the problem of
+              deriving non-trivial, provably correct widening
+              operators in a domain refinement is tackled
+              successfully.  We illustrate the proposed techniques by
+              instantiating our widening methodologies on powersets of
+              convex polyhedra, a domain for which no non-trivial
+              widening operator was previously known.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ06STTT.pdf"
+}
+
+ at Article{BagnaraHZ06STTTerratum,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Widening Operators for Powerset Domains",
+  Journal = "Software Tools for Technology Transfer",
+  Publisher = "Springer-Verlag, Berlin",
+  Volume = 9,
+  Number = "3/4",
+  Pages = "413--414",
+  Year = 2007,
+  Note = "Erratum to \cite{BagnaraHZ06STTT} containing all the figures
+          properly printed."
+}
+
+ at TechReport{BagnaraHZ06TR,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "The {Parma Polyhedra Library}: Toward a Complete Set of Numerical
+           Abstractions for the Analysis and Verification
+           of Hardware and Software Systems",
+  Number = 457,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2006,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}.
+          Also published as {\tt arXiv:cs.MS/0612085},
+          available from \url{http://arxiv.org/}.",
+  Abstract = "Since its inception as a student project in 2001,
+              initially just for the handling (as the name implies) of
+              convex polyhedra, the \emph{Parma Polyhedra Library} has
+              been continuously improved and extended by joining
+              scrupulous research on the theoretical foundations of
+              (possibly non-convex) numerical abstractions to a total
+              adherence to the best available practices in software
+              development.  Even though it is still not fully mature
+              and functionally complete, the Parma Polyhedra Library
+              already offers a combination of functionality,
+              reliability, usability and performance that is not
+              matched by similar, freely available libraries.  In this
+              paper, we present the main features of the current
+              version of the library, emphasizing those that
+              distinguish it from other similar libraries and those
+              that are important for applications in the field of
+              analysis and verification of hardware and software
+              systems.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ06TR.pdf"
+}
+
+ at TechReport{BagnaraHZ07TRa,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Applications of Polyhedral Computations to the Analysis
+           and Verification of Hardware and Software Systems",
+  Number = 458,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2007,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}.
+          Also published as {\tt arXiv:cs.CG/0701122},
+          available from \url{http://arxiv.org/}.",
+  Abstract = "Convex polyhedra are the basis for several abstractions
+              used in static analysis and computer-aided verification
+              of complex and sometimes mission critical systems. For
+              such applications, the identification of an appropriate
+              complexity-precision trade-off is a particularly acute
+              problem, so that the availability of a wide spectrum of
+              alternative solutions is mandatory.  We survey the range
+              of applications of polyhedral computations in this area;
+              give an overview of the different classes of polyhedra
+              that may be adopted; outline the main polyhedral
+              operations required by automatic analyzers and
+              verifiers; and look at some possible combinations of
+              polyhedra with other numerical abstractions that have
+              the potential to improve the precision of the analysis.
+              Areas where further theoretical investigations can
+              result in important contributions are highlighted.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ07TRa.pdf"
+}
+
+ at TechReport{BagnaraHZ07TRb,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "An Improved Tight Closure Algorithm
+           for Integer Octagonal Constraints",
+  Number = 467,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2007,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}.
+          Also published as {\tt arXiv:0705.4618v2 [cs.DS]},
+          available from \url{http://arxiv.org/}.",
+  Abstract = "Integer octagonal constraints (a.k.a.\ \emph{Unit Two
+              Variables Per Inequality} or \emph{UTVPI integer
+              constraints}) constitute an interesting class of
+              constraints for the representation and solution of
+              integer problems in the fields of constraint programming
+              and formal analysis and verification of software and
+              hardware systems, since they couple algorithms having
+              polynomial complexity with a relatively good expressive
+              power.  The main algorithms required for the
+              manipulation of such constraints are the satisfiability
+              check and the computation of the inferential closure of
+              a set of constraints.  The latter is called \emph{tight}
+              closure to mark the difference with the (incomplete)
+              closure algorithm that does not exploit the integrality
+              of the variables.  In this paper we present and fully
+              justify an $O(n^3)$ algorithm to compute the tight
+              closure of a set of UTVPI integer constraints.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ07TRb.pdf"
+}
+
+ at Inproceedings{BagnaraHZ08,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "An Improved Tight Closure Algorithm
+           for Integer Octagonal Constraints",
+  Booktitle = "Verification, Model Checking and Abstract Interpretation:
+               Proceedings of the 9th International Conference (VMCAI 2008)",
+  Address = "San Francisco, USA",
+  Editor = "F. Logozzo and D. Peled and L. Zuck",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4905,
+  ISBN = "3-540-78162-2",
+  Year = 2008,
+  Pages = "8--21",
+  Abstract = "Integer octagonal constraints(a.k.a.\ \emph{Unit Two
+              Variables Per Inequality} or \emph{UTVPI integer
+              constraints}) constitute an interesting class of
+              constraints for the representation and solution of
+              integer problems in the fields of constraint programming
+              and formal analysis and verification of software and
+              hardware systems, since they couple algorithms having
+              polynomial complexity with a relatively good expressive
+              power.  The main algorithms required for the
+              manipulation of such constraints are the satisfiability
+              check and the computation of the inferential closure of
+              a set of constraints.  The latter is called \emph{tight}
+              closure to mark the difference with the (incomplete)
+              closure algorithm that does not exploit the integrality
+              of the variables.  In this paper we present and fully
+              justify an $O(n^3)$ algorithm to compute the tight
+              closure of a set of UTVPI integer constraints.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ08.pdf"
+}
+
+ at Article{BagnaraHZ08SCP,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "The {Parma Polyhedra Library}: Toward a Complete Set of Numerical
+           Abstractions for the Analysis and Verification
+           of Hardware and Software Systems",
+  Journal = "Science of Computer Programming",
+  Volume = 72,
+  Number = "1--2",
+  Pages = "3--21",
+  Publisher = "Elsevier",
+  Year = 2008,
+  Abstract = "Since its inception as a student project in 2001,
+              initially just for the handling (as the name implies) of
+              convex polyhedra, the \emph{Parma Polyhedra Library} has
+              been continuously improved and extended by joining
+              scrupulous research on the theoretical foundations
+              of (possibly non-convex) numerical abstractions to a
+              total adherence to the best available practices in
+              software development.  Even though it is still not
+              fully mature and functionally complete, the Parma
+              Polyhedra Library already offers a combination of
+              functionality, reliability, usability and performance
+              that is not matched by similar, freely available
+              libraries.  In this paper, we present the main features
+              of the current version of the library, emphasizing those
+              that distinguish it from other similar libraries and
+              those that are important for applications in the field
+              of analysis and verification of hardware and software
+              systems.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ08SCP.pdf"
+}
+
+ at Article{BagnaraHZ10CGTA,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Exact Join Detection for Convex Polyhedra
+           and Other Numerical Abstractions",
+  Journal = "Computational Geometry: Theory and Applications",
+  Volume = 43,
+  Number = 5,
+  Pages = "453--473",
+  Publisher = "Elsevier",
+  Year = 2010,
+  Abstract = "Deciding whether the union of two convex polyhedra is
+              itself a convex polyhedron is a basic problem in
+              polyhedral computations; having important applications
+              in the field of constrained control and in the
+              synthesis, analysis, verification and optimization of
+              hardware and software systems.  In such application
+              fields though, general convex polyhedra are just one
+              among many, so-called, \emph{numerical abstractions},
+              which range from restricted families of (not necessarily
+              closed) convex polyhedra to non-convex geometrical
+              objects.  We thus tackle the problem from an abstract
+              point of view: for a wide range of numerical
+              abstractions that can be modeled as bounded
+              join-semilattices ---that is, partial orders where any
+              finite set of elements has a least upper bound---, we
+              show necessary and sufficient conditions for the
+              equivalence between the lattice-theoretic join and the
+              set-theoretic union.  For the case of closed convex
+              polyhedra ---which, as far as we know, is the only one
+              already studied in the literature--- we improve upon the
+              state-of-the-art by providing a new algorithm with a
+              better worst-case complexity.  The results and
+              algorithms presented for the other numerical
+              abstractions are new to this paper.  All the algorithms
+              have been implemented, experimentally validated, and
+              made available in the Parma Polyhedra Library.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ10CGTA.pdf"
+}
+
+ at Article{BagnaraHZ09TCS,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Applications of Polyhedral Computations to the Analysis
+           and Verification of Hardware and Software Systems",
+  Journal = "Theoretical Computer Science",
+  Volume = 410,
+  Number = 46,
+  Pages = "4672--4691",
+  Publisher = "Elsevier",
+  Year = 2009,
+  Abstract = "Convex polyhedra are the basis for several abstractions
+              used in static analysis and computer-aided verification
+              of complex and sometimes mission critical systems. For
+              such applications, the identification of an appropriate
+              complexity-precision trade-off is a particularly acute
+              problem, so that the availability of a wide spectrum of
+              alternative solutions is mandatory.  We survey the range
+              of applications of polyhedral computations in this area;
+              give an overview of the different classes of polyhedra
+              that may be adopted; outline the main polyhedral
+              operations required by automatic analyzers and
+              verifiers; and look at some possible combinations of
+              polyhedra with other numerical abstractions that have
+              the potential to improve the precision of the analysis.
+              Areas where further theoretical investigations can
+              result in important contributions are highlighted.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ09TCS.pdf"
+}
+
+ at Article{BagnaraHZ09FMSD,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Weakly-Relational Shapes for Numeric Abstractions: Improved
+           Algorithms and Proofs of Correctness",
+  Journal = "Formal Methods in System Design",
+  Volume = 35,
+  Number = 3,
+  Publisher = "Springer-Verlag, Berlin",
+  Year = 2009,
+  Pages = "279--323",
+  Abstract = "Weakly-relational numeric constraints provide a
+              compromise between complexity and expressivity that is
+              adequate for several applications in the field of formal
+              analysis and verification of software and hardware systems.
+              We address the problems to be solved for the construction
+              of full-fledged, efficient and provably correct abstract
+              domains based on such constraints. We first propose to work
+              with \emph{semantic} abstract domains, whose elements are
+              \emph{geometric shapes}, instead of the (more concrete)
+              syntactic abstract domains of constraint networks and
+              matrices on which the previous proposals are based.
+              This allows to solve, once and for all, the problem whereby
+              \emph{closure by entailment}, a crucial operation for the
+              realization of such domains, seemed to impede the
+              realization of proper widening operators. In our approach,
+              the implementation of widenings relies on the availability
+              of an effective reduction procedure for the considered
+              constraint description: one for the domain of \emph{bounded
+              difference shapes} already exists in the literature; we
+              provide algorithms for the significantly more complex cases
+              of rational and integer \emph{octagonal shapes}.
+              We also improve upon the state-of-the-art by presenting,
+              along with their proof of correctness, closure by entailment
+              algorithms of reduced complexity for domains based on
+              rational and integer octagonal constraints.
+              The consequences of implementing weakly-relational numerical
+              domains with floating point numbers are also discussed.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ09FMSD.pdf"
+}
+
+ at Techreport{BagnaraHZ09TRa,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Exact Join Detection for Convex Polyhedra
+           and Other Numerical Abstractions",
+  Number = 492,
+  Type = "Quaderno",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Year = 2009,
+  Note = "Available at \url{http://www.cs.unipr.it/Publications/}.  A
+          corrected and improved version (corrected an error in the
+          statement of condition (3) of Theorem~3.6, typos corrected
+          in statement and proof of Theorem~6.8) has been published
+          in \cite{BagnaraHZ09TRb}.",
+  Abstract = "Deciding whether the union of two convex polyhedra is a
+              convex polyhedron is a basic problem in polyhedral
+              computation having important applications in the field
+              of constrained control and in the synthesis, analysis,
+              verification and optimization of hardware and software
+              systems.  In these application fields, though, general
+              convex polyhedra are only one among many so-called
+              \emph{numerical abstractions}: these range from
+              restricted families of (not necessarily closed) convex
+              polyhedra to non-convex geometrical objects.  We thus
+              tackle the problem from an abstract point of view: for a
+              wide range of numerical abstractions that can be modeled
+              as bounded join-semilattices ---that is, partial orders
+              where any finite set of elements has a least upper
+              bound---, we show necessary and sufficient conditions
+              for the equivalence between the lattice-theoretic join
+              and the set-theoretic union.  For the case of closed
+              convex polyhedra ---which, as far as we know, is the
+              only one already studied in the literature--- we improve
+              upon the state-of-the-art by providing a new algorithm
+              with a better worst-case complexity.  The results and
+              algorithms presented for the other numerical
+              abstractions are new to this paper.  All the algorithms
+              have been implemented, experimentally validated, and
+              made available in the Parma Polyhedra Library.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ09TRa.pdf"
+}
+
+ at Misc{BagnaraHZ09TRb,
+  Author = "R. Bagnara and P. M. Hill and E. Zaffanella",
+  Title = "Exact Join Detection for Convex Polyhedra
+           and Other Numerical Abstractions",
+  Howpublished = "Report {\tt arXiv:cs.CG/0904.1783}",
+  Year = 2009,
+  Note = "Available at \url{http://arxiv.org/}
+          and \url{http://bugseng.com/products/ppl/}",
+  Abstract = "Deciding whether the union of two convex polyhedra is
+              itself a convex polyhedron is a basic problem in
+              polyhedral computations; having important applications
+              in the field of constrained control and in the
+              synthesis, analysis, verification and optimization of
+              hardware and software systems.  In such application
+              fields though, general convex polyhedra are just one
+              among many, so-called, \emph{numerical abstractions},
+              which range from restricted families of (not necessarily
+              closed) convex polyhedra to non-convex geometrical
+              objects.  We thus tackle the problem from an abstract
+              point of view: for a wide range of numerical
+              abstractions that can be modeled as bounded
+              join-semilattices ---that is, partial orders where any
+              finite set of elements has a least upper bound---, we
+              show necessary and sufficient conditions for the
+              equivalence between the lattice-theoretic join and the
+              set-theoretic union.  For the case of closed convex
+              polyhedra ---which, as far as we know, is the only one
+              already studied in the literature--- we improve upon the
+              state-of-the-art by providing a new algorithm with a
+              better worst-case complexity.  The results and
+              algorithms presented for the other numerical
+              abstractions are new to this paper.  All the algorithms
+              have been implemented, experimentally validated, and
+              made available in the Parma Polyhedra Library.",
+  URL = "http://bugseng.com/products/ppl/documentation/BagnaraHZ09TRb.pdf"
+}
+
+ at InProceedings{BalasundaramK89,
+  Author = "V. Balasundaram and K. Kennedy",
+  Title = "A Technique for Summarizing Data Access
+           and Its Use in Parallelism Enhancing Transformations",
+  Booktitle = "Proceedings of the ACM SIGPLAN'89 Conference
+               on Programming Language Design and Implementation (PLDI)",
+  Address = "Portland, Oregon, USA",
+  Editor = "B. Knobe",
+  Series = "ACM SIGPLAN Notices",
+  Volume = "24(7)",
+  Publisher = "ACM Press",
+  Year = 1989,
+  Pages = "41--53",
+}
+
+ at Techreport{BemporadFT00TR,
+  Author = "A. Bemporad and K. Fukuda and F. D. Torrisi",
+  Title = "Convexity Recognition of the Union of Polyhedra",
+  Number = "AUT00-13",
+  Type = "Report",
+  Institution = "Automatic Control Laboratory, ETHZ",
+  Address = "Zurich, Switzerland",
+  Year = 2000,
+  Abstract = "In this paper we consider the following basic problem in
+              polyhedral computation: Given two polyhedra in $R^d$,
+              $P$ and $Q$, decide whether their union is convex, and,
+              if so, compute it. We consider the three natural
+              specializations of the problem: (1) when the polyhedra are
+              given by half-spaces (H-polyhedra) (2) when they are given
+              by vertices and extreme rays (V-polyhedra) (3) when both
+              H- and V-polyhedral representations are available. Both the
+              bounded (polytopes) and the unbounded case are considered.
+              We show that the first two problems are polynomially solvable,
+              and that the third problem is strongly-polynomially solvable.",
+  URL = "http://control.ee.ethz.ch/index.cgi?page=publications;action=details;id=62"
+}
+
+ at Article{BemporadFT01,
+  Author = "A. Bemporad and K. Fukuda and F. D. Torrisi",
+  Title = "Convexity Recognition of the Union of Polyhedra",
+  Journal = "Computational Geometry: Theory and Applications",
+  Volume = 18,
+  Number = 3,
+  Publisher = "Elsevier",
+  Year = 2001,
+  ISSN = "0925-7721",
+  Pages = "141--154",
+  Abstract = "In this paper we consider the following basic problem in
+              polyhedral computation: Given two polyhedra in $R^d$,
+              $P$ and $Q$, decide whether their union is convex, and,
+              if so, compute it. We consider the three natural
+              specializations of the problem: (1) when the polyhedra are
+              given by halfspaces (H-polyhedra), (2) when they are given
+              by vertices and extreme rays (V-polyhedra), and (3) when both
+              H- and V-polyhedral representations are available. Both the
+              bounded (polytopes) and the unbounded case are considered.
+              We show that the first two problems are polynomially solvable,
+              and that the third problem is strongly-polynomially solvable.",
+}
+
+ at InProceedings{BessonJT99,
+  Author = "F. Besson and T. P. Jensen and J.-P. Talpin",
+  Title = "Polyhedral Analysis for Synchronous Languages",
+  Booktitle = "Static Analysis:
+               Proceedings of the 6th International Symposium",
+  Address = "Venice, Italy",
+  Editor = "A. Cortesi and G. Fil\'e",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 1694,
+  ISBN = "3-540-66459-9",
+  Year = 1999,
+  Pages = "51--68",
+  Abstract = "We define an operational semantics for the \textsc{Signal}
+              language and design an analysis which allows to verify
+              properties pertaining to the relation between values of
+              the numeric and boolean variables of a reactive
+              system. A distinguished feature of the analysis is that
+              it is expressed and proved correct with respect to the
+              source program rather than on an intermediate
+              representation of the program. The analysis calculates a
+              safe approximation to the set of reachable states by a
+              symbolic fixed point computation in the domain of convex
+              polyhedra using a novel widening operator based on the
+              convex hull representation of polyhedra."
+}
+
+ at InProceedings{BjorndalenA05,
+  Author = "J. M. Bj{\o}rndalen and O. Anshus",
+  Title = "Lessons Learned in Benchmarking
+           --- {Floating} Point Benchmarks: Can You Trust Them?",
+  Booktitle = "Proceedings of the \emph{Norsk informatikkonferanse 2005}
+              (NIK 2005)",
+  Address = "Bergen, Norway",
+  Publisher = "Tapir Akademisk Forlag",
+  ISBN = "82-519-2081-7",
+  Year = 2005,
+  Pages = "89--100",
+  Abstract = "Benchmarks are important tools for understanding the
+              implication of design choices for systems, and for
+              studying increasingly complex hardware architectures and
+              software systems.  One of the assumptions for
+              benchmarking within systems research seems to be that
+              the execution time of floating point operations do not
+              change much with different input values. We report on a
+              problem where a textbook benchmark showed significant
+              variation in execution time depending on the input
+              values, and how a small fraction of \emph{denormalized}
+              floating point values (a representation automatically
+              used by the CPU to represent values close to zero) in
+              the benchmark could lead to the wrong conclusions about
+              the relative efficiency of PowerPC and Intel P4
+              machines. Furthermore, a parallel version of the same
+              benchmark is demonstrated to incorrectly indicate
+              scalability problems in the application or communication
+              subsystem.  There is significant overhead in handling
+              these exceptions on-chip on modern Intel hardware, even
+              if the program can continue uninterrupted. We have
+              observed that the execution time of benchmarks can
+              increase by up to two orders of magnitude. In one
+              benchmark, 3.88\% denormalized numbers in a matrix
+              slowed down the benchmark by a factor 3.83.  We suggest
+              some remedies and guidelines for avoiding the problem.",
+  URL = "http://www.cs.uit.no/~johnm/publications/pdf/bjorndalen2005lessons.pdf"
+}
+
+ at InCollection{BlanchetCCFMMMR02,
+  Author = "B. Blanchet and P. Cousot and R. Cousot and J. Feret
+            and L. Mauborgne and A. Min\'e and D. Monniaux
+            and X. Rival",
+  Title = "Design and Implementation of a Special-Purpose Static Program
+           Analyzer for Safety-Critical Real-Time Embedded Software",
+  Booktitle = "The Essence of Computation, Complexity, Analysis,
+               Transformation.  Essays Dedicated to Neil D. Jones
+               [on occasion of his 60th birthday]",
+  Editor = "T. {\AE.} Mogensen and D. A. Schmidt and I. {Hal Sudborough}",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2566,
+  ISBN = "3-540-00326-6",
+  Year = 2002,
+  Pages = "85--108",
+  Abstract = "We report on a successful preliminary experience in the design
+              and implementation of a special-purpose Abstract Interpretation
+              based static program analyzer for the verification of safety
+              critical embedded real-time software.
+              The analyzer is both precise (zero false alarm in the considered
+              experiment) and efficient (less than one minute of analysis for
+              10,000 lines of code).
+              Even if it is based on a simple interval analysis, many
+              features have been added to obtain the desired precision:
+              expansion of small arrays, widening with several thresholds,
+              loop unrolling, trace partitioning, relations between loop
+              counters and other variables. The efficiency of the tool mainly
+              comes from a clever representation of abstract environments
+              based on balanced binary search trees."
+}
+
+ at Article{BultanGP99,
+  Author = "T. Bultan and R. Gerber and W. Pugh",
+  Title = "Model-Checking Concurrent Systems with Unbounded Integer
+           Variables: Symbolic Representations, Approximations, and
+           Experimental Results",
+  Journal = "ACM Transactions on Programming Languages and Systems",
+  Volume = 21,
+  Number = 4,
+  Publisher = "ACM Press",
+  Year = 1999,
+  ISSN = "0164-0925",
+  Pages = "747--789",
+  Abstract = "Model checking is a powerful technique for analyzing
+              large, finite-state systems. In an infinite state
+              system, however, many basic properties are
+              undecidable. In this article, we present a new symbolic
+              model checker which conservatively evaluates safety and
+              liveness properties on programs with unbounded integer
+              variables. We use Presburger formulas to symbolically
+              encode a program's transition system, as well as its
+              model-checking computations. All fixpoint calculations
+              are executed symbolically, and their convergence is
+              guaranteed by using approximation techniques. We
+              demonstrate the promise of this technology on some
+              well-known infinite-state concurrency problems.",
+  URL = "http://www.cs.ucsb.edu/~bultan/publications/toplas.ps"
+}
+
+ at Article{Chernikova64,
+  Author = "N. V. Chernikova",
+  Title = "Algorithm for Finding a General Formula for the Non-Negative
+           Solutions of System of Linear Equations",
+  Journal = "U.S.S.R. Computational Mathematics and Mathematical Physics",
+  Publisher = "MAIK NAUKA/Interperiodica Publishing, Moscow",
+  Volume = 4,
+  Number = 4,
+  Pages = "151--158",
+  Year = 1964
+}
+
+ at Article{Chernikova65,
+  Author = "N. V. Chernikova",
+  Title = "Algorithm for Finding a General Formula for the Non-Negative
+           Solutions of System of Linear Inequalities",
+  Journal = "U.S.S.R. Computational Mathematics and Mathematical Physics",
+  Publisher = "MAIK NAUKA/Interperiodica Publishing, Moscow",
+  Volume = 5,
+  Number = 2,
+  Pages = "228--233",
+  Year = 1965,
+  Abstract = "The present note proposes a computational scheme
+              for finding a general formula for the non-negative
+              solutions of a system of linear inequalities
+              analogous to the scheme described in \cite{Chernikova64}
+              for finding a general formula for the non-negative
+              solutions of a system of linear equations."
+}
+
+ at Article{Chernikova68,
+  Author = "N. V. Chernikova",
+  Title = "Algorithm for Discovering the Set of all Solutions
+           of a Linear Programming Problem",
+  Journal = "U.S.S.R. Computational Mathematics and Mathematical Physics",
+  Publisher = "MAIK NAUKA/Interperiodica Publishing, Moscow",
+  Volume = 8,
+  Number = 6,
+  Pages = "282--293",
+  Year = 1968,
+  Abstract = "In this paper two versions of a canonical algorithm for
+              discovering all the optimal solutions of a linear
+              programming problem with the condition of non-negativeness
+              of the variables are presented: the first for the case
+              of canonical notation, the second for the standard notation."
+}
+
+ at InProceedings{CousotC76,
+  Author = "P. Cousot and R. Cousot",
+  Title = "Static Determination of Dynamic Properties of Programs",
+  Booktitle = "Proceedings of the Second International
+               Symposium on Programming",
+  Editor = "B. Robinet",
+  Address = "Paris, France",
+  Publisher = "Dunod, Paris, France",
+  Pages = "106--130",
+  Year = 1976,
+  Abstract = "In high level languages, compile time type verifications are
+              usually incomplete, and dynamic coherence checks must be
+              inserted in object code. For example, in PASCAL one must
+              dynamically verify that the values assigned to subrange type
+              variables, or index expressions lie between two bounds, or
+              that pointers are not \texttt{nil}, ...
+              We present here a general algorithm allowing most of these
+              certifications to be done at compile time.",
+  URL = "http://www.di.ens.fr/~cousot/publications.www/CousotCousot-ISOP-76-Dunod-p106--130-1976.pdf"
+}
+
+ at InProceedings{CousotC79,
+  Author = "P. Cousot and R. Cousot",
+  Title = "Systematic Design of Program Analysis Frameworks",
+  Booktitle = "Proceedings of the Sixth Annual ACM
+               Symposium on Principles of Programming Languages",
+  Publisher = "ACM Press",
+  Address = "San Antonio, TX, USA",
+  Pages = "269--282",
+  Year = 1979,
+  Abstract = "Semantic analysis of programs is essential in optimizing
+              compilers and program verification systems. It encompasses
+              data flow analysis, data type determination, generation of
+              approximate invariant assertions, etc.
+              Several recent papers (among others Cousot \& Cousot[77a],
+              Graham & Wegman[76], Kam & Ullmann[76], Killdall[73],
+              Rosen[78], Tarjan[76], Wegbreit[75]) have introduced abstract
+              approaches to program analysis which are tantamount to the
+              use of a \emph{program analysis framework} $(A, t, \gamma)$
+              where $A$ is a lattice of (approximate) assertions,
+              $t$ is an (approximate) predicate transformer and
+              $\gamma$ is an often implicit function specifying the
+              meaning of the elements of $A$. This paper is devoted to
+              the systematic and correct design of program analysis
+              frameworks with respect to a formal semantics.",
+  URL = "http://www.di.ens.fr/~cousot/publications.www/CousotCousot-POPL-79-ACM-p269--282-1979.pdf"
+}
+
+ at InProceedings{CousotC92-PLILP,
+  Author = "P. Cousot and R. Cousot",
+  Title =  "Comparing the {Galois} Connection and Widening/Narrowing
+            Approaches to Abstract Interpretation",
+  Booktitle = "Proceedings of the 4th International Symposium
+               on Programming Language Implementation and Logic Programming",
+  Address = "Leuven, Belgium",
+  Editor = "M. Bruynooghe and M. Wirsing",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 631,
+  ISBN = "3-540-55844-6",
+  Pages = "269--295",
+  Year = 1992,
+  Abstract = "The use of infinite abstract domains with widening and
+              narrowing for accelerating the convergence of abstract
+              interpretations is shown to be more powerful than the Galois
+              connection approach restricted to finite lattices (or lattices
+              satisfying the chain condition).",
+  URL = "http://www.di.ens.fr/~cousot/publications.www/CousotCousot-PLILP-92-LNCS-n631-p269--295-1992.pdf"
+}
+
+ at InProceedings{CousotH78,
+  Author = "P. Cousot and N. Halbwachs",
+  Title = "Automatic Discovery of Linear Restraints Among
+           Variables of a Program",
+  Booktitle = "Conference Record of the Fifth Annual ACM
+              Symposium on Principles of Programming Languages",
+  Address = "Tucson, Arizona",
+  Publisher = "ACM Press",
+  Pages = "84--96",
+  Year = 1978,
+  Abstract = "The model of abstract interpretation of programs developed
+              by Cousot & Cousot [1976] and Cousot & Cousot [1977]
+              is applied to the static determination of linear equality
+              or inequality relations among variables of programs.",
+  URL = "http://www.di.ens.fr/~cousot/publications.www/CousotHalbwachs-POPL-78-ACM-p84--97-1978.pdf"
+}
+
+ at Book{Dantzig63,
+  Author = "G. B. Dantzig",
+  Title = "Linear Programming and Extensions",
+  Publisher = "Princeton University Press",
+  Address = "Princeton, NJ",
+  Year = 1963
+}
+
+ at Article{Feautrier88,
+  Author = "P. Feautrier",
+  Title = "Parametric Integer Programming",
+  Journal = "RAIRO Recherche Op\'erationnelle",
+  Year = 1988,
+  Volume = 22,
+  Number = 3,
+  Pages = "243--268",
+  Abstract = "When analysing computer programs (especially numerical
+              programs in which arrays are used extensively), one is
+              often confronted with integer programming problems.
+              These problems have three peculiarities:
+              feasible points are ranked according to lexicographic
+              order rather than the usual linear economic function;
+              the feasible set depends on integer parameters;
+              one is interested only in exact solutions.
+              The difficulty is somewhat alleviated by the fact that
+              problems sizes are usually quite small. In this paper we
+              show that: the classical simplex algorithm has no
+              difficulty in handling lexicographic ordering; the
+              algorithm may be executed in symbolic mode, thus giving
+              the solution of continuous parametric problems; the
+              method may be extended to problems in integers. We prove
+              that the resulting algorithm always terminate and give
+              an estimate of its complexity."
+}
+
+ at Manual{FeautrierCB07,
+  Author = "P. Feautrier and J.-F. Collard and C. Bastoul",
+  Title = "{PIP/PipLib}: A Solver for Parametric Integer Programming Problems",
+  Edition = "5.0",
+  Note = "Distributed with {PIP/PipLib} 1.4.0",
+  Month = jul,
+  Year = 2007,
+  Abstract = "This manual is for PIP and PipLib version 1.4.0, a
+              software which solves Parametric Integer Programming
+              problems. That is, PIP finds the lexicographic minimum
+              of the set of integer points which lie inside a convex
+              polyhedron, when that polyhedron depends linearly on one
+              or more integral parameters."
+}
+
+ at Misc{Fukuda98,
+  Author = "K. Fukuda",
+  Title = "Polyhedral Computation {FAQ}",
+  Howpublished = "Swiss Federal Institute of Technology,
+                 Lausanne and Zurich, Switzerland,
+                 available at
+                 \url{http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html}",
+  Year = 1998,
+  Abstract = "This is an FAQ to answer some basic questions arising
+              from certain geometric computation in general dimensional
+              (mostly Euclidean) space. The main areas to be covered are
+              the convex hull computation of a finite point set, the
+              vertex enumeration for a convex polytope, the computation
+              of Voronoi diagram and Delaunay triangulation, in $R^d$.
+              We illustrate typical solution processes with small examples
+              and publicly available codes such as cdd+ and lrs.",
+}
+
+ at InProceedings{FukudaP96,
+  Author = "K. Fukuda and A. Prodon",
+  Title = "Double Description Method Revisited",
+  Booktitle = "Combinatorics and Computer Science,
+               8th Franco-Japanese and 4th Franco-Chinese Conference,
+               Brest, France, July 3-5, 1995, Selected Papers",
+  Editor = "M. Deza and R. Euler and Y. Manoussakis",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 1120,
+  Pages = "91--111",
+  Year = 1996,
+  ISBN = "3-540-61576-8",
+  Abstract = "The double description method is a simple and useful
+              algorithm for enumerating all extreme rays of a general
+              polyhedral cone in $R^d$, despite the fact that
+              we can hardly state any interesting theorems on its time
+              and space complexities.  In this paper, we reinvestigate
+              this method, introduce some new ideas for efficient
+              implementations, and show some empirical results indicating
+              its practicality in solving highly degenerate problems.",
+  URL = "ftp://ftp.ifor.math.ethz.ch/pub/fukuda/reports/ddrev960315.ps.gz"
+}
+
+ at InCollection{GawrilowJ00,
+  Author = "E. Gawrilow and M. Joswig",
+  Title =  "{\tt polymake}: A Framework for Analyzing Convex Polytopes",
+  Booktitle = "Polytopes - Combinatorics and Computation",
+  Editor = "G. Kalai and G. M. Ziegler",
+  Publisher = "Birkh{\"a}user",
+  Pages =  "43--74",
+  Year = 2000,
+  Abstract = "{\tt polymake} is a software tool designed for the algorithmic
+              treatment of polytopes and polyhedra. We give an overview of the
+              functionally as well as for the structure. This paper can be seen
+              as a first approximation to a {\tt polymake} handbook.
+              The tutorial starts with the very basic and ends with a few
+              {\tt polymake} applications to research problems. Then we
+              present the main features of the system including the interfaces
+              to other software products."
+}
+
+ at InProceedings{GawrilowJ01,
+  Author = "E. Gawrilow and M. Joswig",
+  Title = "{\tt polymake}: An Approach to Modular Software Design in
+           Computational Geometry",
+  Booktitle = "Proceedings of the 17th Annual Symposium on Computational
+               Geometry",
+  Organization = "ACM",
+  Address = "Medford, MA, USA",
+  Pages = "222--231",
+  Year = 2001,
+  Abstract = "{\tt polymake} is a software package designed for the study of
+              the combinatorics and the geometry of convex polytopes and
+              polyhedra. It offers access to a wide variety of algorithms and
+              tools within a common framework. As a key design feature it
+              allows to incorporate the functionality of a great variety of
+              other software packages in a modular way."
+}
+
+ at InProceedings{GopanDMDRS04,
+  Author = "D. Gopan and  F. DiMaio and N. Dor and T. W. Reps and M. Sagiv",
+  Title = "Numeric Domains with Summarized Dimensions",
+  Booktitle = "Tools and Algorithms for the Construction and Analysis
+               of Systems, 10th International Conference, TACAS 2004",
+  Address = "Barcelona, Spain",
+  Editor = "K. Jensen and A. Podelski",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2988,
+  Pages = "512--529",
+  Year = 2004,
+  ISBN = "3-540-21299-X",
+  Abstract = "We introduce a systematic approach to designing
+              summarizing abstract numeric domains from existing
+              numeric domains. Summarizing domains use summary
+              dimensions to represent potentially unbounded
+              collections of numeric objects. Such domains are of
+              benefit to analyses that verify properties of systems
+              with an unbounded number of numeric objects, such as
+              shape analysis, or systems in which the number of
+              numeric objects is bounded, but large."
+}
+
+ at InProceedings{Granger91,
+  Author = "P. Granger",
+  Title = "Static Analysis of Linear Congruence Equalities
+           among Variables of a Program",
+  Booktitle = "TAPSOFT'91: Proceedings of the International Joint Conference
+               on Theory and Practice of Software Development,
+               Volume 1: Colloquium on Trees in Algebra and Programming
+               (CAAP'91)",
+  Address = "Brighton, UK",
+  Year = 1991,
+  Editor = "S. Abramsky and T. S. E. Maibaum",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 493,
+  ISBN = "3-540-53982-4",
+  Pages = "169--192",
+  Abstract = "In this paper, a new kind of static (or semantic)
+             analysis is defined: congruence analysis, which is
+             conceived to discover the properties of the following
+             type: ``the integer valued variable $X$ is congruent to
+             $c$ modulo $m$'', where $c$ and $m$ are automatically
+             determined integers. This analysis is then related to an
+             algebraic framework and wholly characterized. Moreover,
+             we show an example how it can be useful for automatic
+             vectorization. Finally, we present some extensions of it,
+             namely its combination with the analysis of bounds, and
+             also some analysis defined when the modulus of
+             congruences is given \emph{a priori}.",
+}
+
+ at InProceedings{Granger97,
+  Author = "P. Granger",
+  Title = "Static Analyses of Congruence Properties on Rational Numbers
+           (Extended Abstract)",
+  Booktitle = "Static Analysis: Proceedings of the 4th International
+               Symposium",
+  Address = "Paris, France",
+  Year = 1997,
+  Editor = "P. {Van Hentenryck}",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 1302,
+  ISBN = "3-540-63468-1",
+  Pages = "278--292",
+  Abstract = "We present several new static analysis frameworks
+             applying to rational numbers, and more precisely,
+             designed for discovering congruence properties satisfied
+             by rational (or real) variables of programs. Two of them
+             deal with additive congruence properties and generalize
+             linear equation analysis [M. Karr, \emph{Affine
+             Relationships among Variables of a Program}, Acta
+             Informatica, 6:133--151, 1976] and congruence analysis on
+             integer numbers [P. Granger, \emph{Static Analysis of
+             Arithmetical Congruences}, International Journal of
+             Computer Mathematics, 30:165--190, 1989], [P. Granger,
+             \emph{Static Analysis of Linear Congruence Equalities
+             among Variables of a Program}, TAPSOFT'91: Proceedings of
+             the International Joint Conference on Theory and Practice
+             of Software Development, Volume 1: Colloquium on Trees in
+             Algebra and Programming (CAAP'91), Lecture Notes in
+             Computer Science, 493, pp. 169--192].  The others are
+             based on multiplicative congruence properties in the set
+             of positive rational numbers. Among other potential
+             applications, we exemplify the interest of all these
+             analyses for optimizing the representation of rational or
+             real valued variables."
+}
+
+ at Article{GoldfarbR77,
+  Author = "D. Goldfarb and J. K. Reid",
+  Title = "A Practical Steepest-Edge Simplex Algorithm",
+  Journal = "Mathematical Proramming",
+  Volume = 12,
+  Number = 1,
+  Pages = "361--371",
+  Year = 1977,
+  Abstract = "It is shown that suitable recurrences may be used in
+              order to implement in practice the steepest-edge simplex
+              linear programming algorithm. In this algorithm each
+              iteration is along an edge of the polytope of feasible
+              solutions on which the objective function decreases most
+              rapidly with respect to distance in the space of all the
+              variables. Results of computer comparisons on
+              medium-scale problems indicate that the resulting
+              algorithm requires less iterations but about the same
+              overall time as the algorithm of Harris [8], which may
+              be regarded as approximating the steepest-edge
+              algorithm. Both show a worthwhile advantage over the
+              standard algorithm."
+}
+
+ at PhdThesis{Halbwachs79th,
+  Author = "N. Halbwachs",
+  Title = "D\'etermination Automatique de Relations Lin\'eaires
+           V\'erifi\'ees par les Variables d'un Programme",
+  Type = "{Th\`ese de 3\textsuperscript{\`eme} cycle d'informatique}",
+  School = "Universit\'e scientifique et m\'edicale de Grenoble",
+  Address = "Grenoble, France",
+  Month = mar,
+  Year = 1979
+}
+
+ at InProceedings{Halbwachs93,
+  Author = "N. Halbwachs",
+  Title = "Delay Analysis in Synchronous Programs",
+  Pages = "333--346",
+  Booktitle = "Computer Aided Verification:
+               Proceedings of the 5th International Conference (CAV'93)",
+  Address = "Elounda, Greece",
+  Editor = "C. Courcoubetis",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 697,
+  Year = 1993,
+  ISBN = "3-540-56922-7",
+  Abstract = "Linear relation analysis [CH78, Hal79] has been proposed
+              a long time ago as an abstract interpretation which
+              permits to discover linear relations invariantly
+              satisfied by the variables of a program. Here, we
+              propose to apply this general method to variables used
+              to count delays in synchronous programs. The ``regular''
+              behavior of these counters makes the results of the
+              analysis especially precise. These results can be
+              applied to code optimization and to the verification of
+              real-time properties of programs.",
+}
+
+ at InProceedings{HalbwachsPR94,
+  Author = "N. Halbwachs and Y.-E. Proy and P. Raymond",
+  Title = "Verification of Linear Hybrid Systems
+           by Means of Convex Approximations",
+  Booktitle = "Static Analysis:
+               Proceedings of the 1st International Symposium",
+  Address = "Namur, Belgium",
+  Editor = "B. {Le Charlier}",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 864,
+  ISBN = "3-540-58485-4",
+  Pages = "223--237",
+  Year = 1994,
+  Abstract = "We present a new application of the abstract interpretation
+              by means of convex polyhedra, to a class of hybrid systems,
+              i.e., systems involving both discrete and continuous variables.
+              The result is an efficient automatic tool for approximate,
+              but conservative, verification of reachability properties
+              of these systems.",
+  URL = "http://www-verimag.imag.fr/PEOPLE/Nicolas.Halbwachs/hybrid.html"
+}
+
+ at Manual{HalbwachsKP95,
+  Author = "N. Halbwachs and A. Kerbrat and Y.-E. Proy",
+  Title = "{POLyhedra INtegrated Environment}",
+  Organization = "Verimag",
+  Address = "France",
+  Edition = "version 1.0 of {POLINE}",
+  Month = sep,
+  Year = 1995,
+  Note = "Documentation taken from source code.",
+}
+
+ at Article{HalbwachsPR97,
+  Author = "N. Halbwachs and Y.-E. Proy and P. Roumanoff",
+  Title = "Verification of Real-Time Systems using
+           Linear Relation Analysis",
+  Journal = "Formal Methods in System Design",
+  Publisher = "Kluwer Academic Publishers",
+  Volume = 11,
+  Number = 2,
+  Pages = "157--185",
+  Year = 1997,
+  Abstract = "Linear Relation Analysis [11] is an abstract interpretation
+              devoted to the automatic discovery of invariant linear
+              inequalities among numerical variables of a program. In this
+              paper, we apply such an analysis to the verification of
+              quantitative time properties of two kinds of systems:
+              synchronous programs and linear hybrid systems.",
+}
+
+ at Book{HenkinMT71,
+  Author = "L. Henkin and J. D. Monk and A. Tarski",
+  Title = "Cylindric Algebras: Part I",
+  Publisher = "North-Holland",
+  Address = "Amsterdam",
+  ISBN = "978-0-7204-2043-2",
+  Year = 1971,
+}
+
+ at InProceedings{HenzingerH95,
+  Author = "T. A. Henzinger and P.-H. Ho",
+  Title = "A Note on Abstract Interpretation Strategies for Hybrid Automata",
+  Booktitle = "Hybrid Systems II",
+  Editor = "P. J. Antsaklis and W. Kohn and A. Nerode and S. Sastry",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 999,
+  Pages = "252--264",
+  Year = 1995,
+  Abstract = "We report on several abstract interpretation strategies
+              that are designed to improve the performance of {\sc
+              HyTech}, a symbolic model checker for linear hybrid
+              systems. We (1) simultaneously compute the target region
+              from different directions, (2) conservatively
+              approximate the target region by dropping constraints,
+              and (3) iteratively refine the approximation until
+              sufficient precision is obtained. We consider the
+              standard abstract convex-hull operator and a novel
+              abstract extrapolation operator.",
+  URL = "http://www-cad.eecs.berkeley.edu/HomePages/tah/Publications/abstract-interpretation_strategies_for_hybrid_automata.html"
+}
+
+ at InProceedings{HenzingerPW01,
+  Author = "T. A. Henzinger and J. Preussig and H. Wong-Toi",
+  Title = "Some Lessons from the {\sc HyTech} Experience",
+  Booktitle = "Proceedings of the 40th Annual Conference
+               on Decision and Control",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "2887--2892",
+  Year = 2001,
+  Abstract = "We provide an overview of the current status of the tool
+              {\sc HyTech}, and reflect on some of the lessons learned
+              from our experiences with the tool. HyTech is a symbolic
+              model checker for mixed discrete-continuous systems that
+              are modeled as automata with piecewise-constant
+              polyhedral differential inclusions. The use of a formal
+              input language and automated procedures for state-space
+              traversal lay the foundation for formally verifying
+              properties of hybrid dynamical systems. We describe some
+              recent experiences analyzing three hybrid systems. We
+              point out the successes and limitations of the tool. The
+              analysis procedure has been extended in a number of ways
+              to address some of the tool's shortcomings. We evaluate
+              these extensions, and conclude with some desiderata for
+              verification tools for hybrid systems.",
+  URL = "http://www-cad.eecs.berkeley.edu/HomePages/tah/Publications/some_lessons_from_the_hytech_experience.html"
+}
+
+ at TechReport{HuelsbergenHL90,
+  Author = "L. Huelsbergen and D. Hahn and J. Larus",
+  Title = "Exact Dependence Analysis Using Data Access Descriptors",
+  Number = 945,
+  Institution = "Department of Computer Science, University of Wisconsin",
+  Address = "Madison",
+  Year = 1990,
+  Abstract = "\emph{Data Access Descriptors} provide a method for
+              summarizing and representing the portion of an array
+              accessed by a program statement. A Data Access
+              Descriptor does not, however, indicate if its
+              characterization is exact or conservative, nor does it
+              record the temporal order of accesses. Exactness is
+              necessary to expose maximal parallelism. Temporal
+              information is necessary to calculate \emph{direction
+              vectors} for inter-loop dependences.
+              This paper presents an extension to basic Data Access
+              Descriptors that identies exact representations. We
+              illustrate the value of extended Data Access Descriptors
+              by showing how to calculate information typically
+              provided by direction vectors and by refining potential
+              conflicts between statements with \emph{array kill}
+              information."
+}
+
+ at InProceedings{JaffarMSY94,
+  Author = "J. Jaffar and M. J. Maher and P. J. Stuckey and R. H. C. Yap",
+  Title = "Beyond Finite Domains",
+  Booktitle = "Principles and Practice of Constraint Programming:
+               Proceedings of the Second International Workshop",
+  Publisher = "Springer-Verlag, Berlin",
+  Editor = "A. Borning",
+  Address = "Rosario, Orcas Island, Washington, USA",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 874,
+  Pages = "86--94",
+  Year = 1994,
+}
+
+ at Article{KhachiyanBBEG06,
+  Author = "L. Khachiyan and E. Boros and K. Borys
+            and K. Elbassioni and V. Gurvich",
+  Title = "Generating All Vertices of a Polyhedron Is Hard",
+  Journal = "Discrete and Computational Geometry",
+  Publisher = "Springer",
+  Address = "New York",
+  Year = 2006,
+  Note = "Invited contribution.",
+  Abstract = "We show that generating all negative cycles of a
+              weighted graph is a hard enumeration problem, in both
+              the directed and undirected cases. More precisely, given
+              a family of such cycles, it is NP-complete problem to
+              decide whether this family can be extended or there is
+              no other negative directed cycles in the graph, implying
+              that directed negative cycles cannot be generated in
+              polynomial output time, unless P=NP. As a corollary, we
+              solve in the negative two well-known generating problems
+              from linear programming: (i) Given an (infeasible)
+              system of linear inequalities, generating all minimal
+              infeasible subsystems is hard. Yet, for generating
+              maximal feasible subsystems the complexity remains
+              open. (ii) Given a (feasible) system of linear
+              inequalities, generating all vertices of the
+              corresponding polyhedron is hard. Yet, in case of
+              bounded polyhedra the complexity remains open."
+}
+
+ at Inproceedings{NakanishiJPF99,
+  Author = "T. Nakanishi and K. Joe and C. D. Polychronopoulos and A. Fukuda",
+  Title = "The Modulo Interval: A Simple and Practical Representation
+           for Program Analysis",
+  Booktitle = "Proceedings of the 1999 International Conference on
+               Parallel Architectures and Compilation Techniques",
+  Address = "Newport Beach, California, USA",
+  Publisher = "IEEE Computer Society",
+  Year = 1999,
+  Pages = "91--96",
+  Abstract = "In this paper, the modulo interval, an extension of the
+              traditional interval on real numbers, and its useful
+              mathematical properties are presented as a
+              representation for program analysis Only with two
+              additional parameters to the interval on real numbers,
+              namely the modulus and the residue, the modulo interval
+              can represent information on program having cyclicity
+              such as loop indices, array subscripts etc. at
+              reasonable complexity and more accuracy. Well-defined
+              arithmetic and set operations on the modulo interval
+              make implementation of compilers simple and
+              reliable. Moreover, application of the modulo interval
+              to program analysis for parallelizing compilers is
+              discussed in this paper."
+}
+
+ at Article{NakanishiF01,
+  Author = "T. Nakanishi and A. Fukuda",
+  Title = "Modulo Interval Arithmetic and Its Application to Program Analysis",
+  Journal = "Transactions of Information Processing Society of Japan",
+  Volume = 42,
+  Number = 4,
+  Pages = "829--837",
+  Year = 2001,
+}
+
+ at Manual{NEW-POLKA-1-1-3c,
+  Author = "B. Jeannet",
+  Title = "Convex Polyhedra Library",
+  Edition = "release 1.1.3c",
+  Month = mar,
+  Year = 2002,
+  Note = "Documentation of the ``New Polka'' library.",
+}
+
+ at Article{Kuhn56,
+  Author = "H. W. Kuhn",
+  Title = "Solvability and Consistency for Linear Equations and Inequalities",
+  Journal = "American Mathematical Monthly",
+  Volume = 63,
+  Pages = "217--232",
+  Year = 1956,
+}
+
+ at TechReport{LeVerge92,
+  Author = "H. {Le Verge}",
+  Title = "A note on {Chernikova's} Algorithm",
+  Type = "\emph{Publication interne}",
+  Number = 635,
+  Institution = "IRISA",
+  Address = "Campus de Beaulieu, Rennes, France",
+  Year = 1992,
+  Abstract = "This paper describes an implementation of Chernikova's
+              algorithm for finding an irredundant set of vertices for a
+              given polyhedron defined by a set of linear inequalities and
+              equations. This algorithm can also be used for the dual
+              problem: given a set of extremal rays and vertices, find the
+              associated irredundant set of facet supporting hyperplanes.
+              The method is an extension of initial Chernikova's
+              algorithm (non negative domain), and is mainly based on the
+              polyhedral cone duality principle. A new enhancement for
+              extremal ray detection together with its effects on a class
+              of polyhedra.",
+  Source = "chernikova.c"
+}
+
+ at TechReport{LeVergeVDW94,
+  Author = "H. {Le Verge}, V. {Van Dongen} and D. K. Wilde",
+  Title = "Loop Nest Synthesis Using the Polyhedral Library",
+  Type = "\emph{Publication interne}",
+  Number = 830,
+  Institution = "IRISA",
+  Address = "Campus de Beaulieu, Rennes, France",
+  Year = 1994,
+  Abstract = "A new method to synthesis loop nests given a polyhedral
+              domain, the context domain, and the loop nesting order is
+              described.  The method is based on functions in the IRISA
+              polyhedral library."
+}
+
+ at Article{LoechnerW97,
+  Author = "V. Loechner and D. K. Wilde",
+  Title = "Parameterized Polyhedra and Their Vertices",
+  Journal = "International Journal of Parallel Programming",
+  Volume = 25,
+  Number = 6,
+  Pages = "525--549",
+  Year = 1997,
+  Abstract = "Algorithms specified for parametrically sized problems are more
+              general purpose and more reusable than algorithms for fixed sized
+              problems. For this reason, there is a need for representing and
+              symbolically analyzing linearly parameterized algorithms.
+              An important class of parallel algorithms can be described as
+              systems of parameterized affine recurrence equations (PARE).
+              In this representation, linearly parameterized polyhedra are
+              used to described the domains of variables. This paper describes
+              an algorithm which computes the set of parameterized vertices of
+              a polyhedron, given its representation as a system of
+              parameterized inequalities. This provides an important tool for
+              the symbolic analysis of the parameterized domains used to define
+              variables and computation domains in PARE's.
+              A library of operations on parameterized polyhedra based on the
+              Polyhedral Library has been written in C and is freely
+              distributed."
+}
+
+ at Misc{Loechner99,
+  Author = "V. Loechner",
+  Title = "{\it PolyLib\/}:
+           A Library for Manipulating Parameterized Polyhedra",
+  Howpublished = "Available at
+                  \url{http://icps.u-strasbg.fr/~loechner/polylib/}",
+  Year = 1999,
+  Month = mar,
+  Note = "Declares itself to be a continuation of \cite{Wilde93th}"
+}
+
+ at InProceedings{Masdupuy92,
+  Author = "F. Masdupuy",
+  Title = "Array Operations Abstraction Using Semantic Analysis
+           of Trapezoid Congruences",
+  Booktitle = "Proceedings of the 6th ACM International Conference
+               on Supercomputing",
+  Address = "Washington, DC, USA",
+  Publisher = "ACM Press",
+  Pages = "226--235",
+  Year = 1992,
+  Abstract = "With the growing use of vector supercomputers, efficient
+              and accurate data structure analyses are needed. What we
+              propose in this paper is to use the quite general
+              framework of Cousot's abstract interpretation for the
+              particular analysis of multi-dimensional array
+              indexes. While such indexes are integer tuples, a
+              relational integer analysis is first required. This
+              analysis results of a combination of existing ones that
+              are interval and congruence based. Two orthogonal
+              problems are directly concerned with the results of such
+              an analysis, that are the parallelization/vectorization
+              with the dependence analysis and the data locality
+              problem used for array storage management. After
+              introducing the analysis algorithm, this paper describes
+              on a complete example how to use it in order to optimize
+              array storage."
+}
+
+ at PhdThesis{Masdupuy93th,
+  Author = "F. Masdupuy",
+  Title = "Array Indices Relational Semantic Analysis
+           Using Rational Cosets and Trapezoids",
+  Type = "{Th\`ese d'informatique}",
+  School = "\'Ecole Polytechnique",
+  Address = "Palaiseau, France",
+  Month = dec,
+  Year = 1993,
+  Abstract = "Semantic analysis of program numerical variables
+              consists in statically and automatically discovering
+              properties verified at execution time. Different sets of
+              properties (equality, inequality and congruence
+              relations) have already been studied. This thesis
+              proposes a generalization of some of the below
+              patterns. More specifically, the abstract interpretation
+              is used to design on the one hand a set of properties
+              generalizing intervals and cosets on $\mathbbb{Z}$ and
+              on the other hand, a generalization of trapezoids and
+              linear congruence equation systems on $\mathbbb{Z}^n$.
+              A rational abstraction of these properties is defined to
+              get safe approximations, with a polynomial complexity in
+              the number of the considered variables, of the integer
+              properties operators. Those analyses, more precise than
+              the combination of the analysis they come from in
+              general, allow to dynamically choose the kind of
+              properties (inequality or congruence relations) leading
+              to relevant information for the considered program. The
+              described relationnal analysis corresponds to numerous
+              patterns encountered in the field of scientific
+              computation.  It is very well adapted to the analysis of
+              array indices variables and also to the abstract
+              description of integer arrays."
+}
+
+ at InProceedings{Mine01a,
+  Author = "A. Min\'e",
+  Title = "A New Numerical Abstract Domain Based on Difference-Bound Matrices",
+  Booktitle = "Proceedings of the 2nd Symposium on Programs as Data Objects
+               (PADO 2001)",
+  Address = "Aarhus, Denmark",
+  Editor = "O. Danvy and A. Filinski",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2053,
+  Pages = "155--172",
+  Year = 2001,
+  Abstract = "This paper presents a new numerical domain for static
+              analysis by abstract interpretation. This domain allows
+              us to represent invariants of the form and , where and
+              are variables values and is an integer or real
+              constant. Abstract elements are represented by
+              Difference-Bound Matrices, widely used by
+              model-checkers, but we had to design new operators to
+              meet the needs of abstract interpretation. The result is
+              a complete lattice of infinite height featuring
+              widening, narrowing and common transfer functions. We
+              focus on giving an efficient representation and
+              graph-based algorithms---where is the number of
+              variables---and claim that this domain always performs
+              more precisely than the well-known interval domain. To
+              illustrate the precision/cost tradeoff of this domain,
+              we have implemented simple abstract interpreters for toy
+              imperative and parallel languages which allowed us to
+              prove some non-trivial algorithms correct."
+}
+
+ at InProceedings{Mine01b,
+  Author = "A. Min\'e",
+  Title  = "The Octagon Abstract Domain",
+  Booktitle = "Proceedings of the Eighth Working Conference
+               on Reverse Engineering (WCRE'01)",
+  Address = "Stuttgart, Germany",
+  Year = 2001,
+  Publisher = "IEEE Computer Society Press",
+  Pages = "310--319",
+  Abstract = "This article presents a new numerical abstract domain
+              for static analysis by abstract interpretation. It
+              extends our previously proposed DBM-based numerical
+              abstract domain and allows us to represent invariants of
+              the form ($\pm x \pm y \leq c$), where $x$ and $y$ are
+              program variables and $c$ is a real constant. We focus
+              on giving an efficient representation based on
+              Difference-Bound Matrices---$\mathcal{O}(n^2)$ memory
+              cost, where $n$ is the number of variables---and
+              graph-based algorithms for all common abstract
+              operators---$\mathcal{O}(n^3)$ time cost. This includes
+              a normal form algorithm to test equivalence of
+              representation and a widening operator to compute least
+              fixpoint approximations."
+}
+
+ at InProceedings{Mine02,
+  Author = "A. Min\'e",
+  Title = "A Few Graph-Based Relational Numerical Abstract Domains",
+  Booktitle = "Static Analysis:
+               Proceedings of the 9th International Symposium",
+  Address = "Madrid, Spain",
+  Editor = "M. V. Hermenegildo and G. Puebla",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2477,
+  ISBN = "3-540-44235-9",
+  Pages = "117--132",
+  Year = 2002,
+  Abstract = "This article presents the systematic design of a class
+              of relational numerical abstract domains from
+              non-relational ones. Constructed domains represent sets
+              of invariants of the form $(v_j-v_i\in C)$, where vj and
+              vi are two variables, and $C$ lives in an abstraction of
+              $\mathcal{P}(\mathbb {Z})$, $\mathcal{P}(\mathbb {Q})$,
+              or $\mathcal{P}(\mathbb {R})$. We will call this family
+              of domains weakly relational domains. The underlying
+              concept allowing this construction is an extension of
+              potential graphs and shortest-path closure algorithms in
+              exotic-like algebras.  Example constructions are given
+              in order to retrieve well-known domains as well as new
+              ones. Such domains can then be used in the Abstract
+              Interpretation framework in order to design various
+              static analyses. A major benefit of this construction is
+              its modularity, allowing to quickly implement new
+              abstract domains from existing ones."
+}
+
+ at InProceedings{Mine04,
+  Author = "A. Min\'e",
+  Title = "Relational Abstract Domains for the Detection
+           of Floating-Point Run-Time Errors",
+  Booktitle = "Programming Languages and Systems: Proceedings of the 13th
+               European Symposium on Programming",
+  Address = "Barcelona, Spain",
+  Editor = "D. Schmidt",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2986,
+  ISBN = "3-540-213213-9",
+  Year = 2004,
+  Pages = "3--17",
+  Abstract = "We present a new idea to adapt relational abstract
+              domains to the analysis of IEEE 754-compliant
+              floating-point numbers in order to statically detect,
+              through Abstract Interpretation-based static analyses,
+              potential floating-point run-time exceptions such as
+              overflows or invalid operations. In order to take the
+              non-linearity of rounding into account, expressions are
+              modeled as linear forms with interval coefficients. We
+              show how to extend already existing numerical abstract
+              domains, such as the octagon abstract domain, to
+              efficiently abstract transfer functions based on
+              interval linear forms. We discuss specific fixpoint
+              stabilization techniques and give some experimental
+              results."
+}
+
+ at PhdThesis{Mine05th,
+  Author = "A. Min\'e",
+  Title  = "Weakly Relational Numerical Abstract Domains",
+  School = "\'Ecole Polytechnique",
+  Address = "Paris, France",
+  Month = mar,
+  Year   = 2005,
+  Abstract = "The goal of this thesis is to design techniques related
+              to the automatic analysis of computer programs. One major
+              application is the creation of tools to discover bugs
+              before they actually happen, an important goal in a time
+              when critical yet complex tasks are performed by computers.
+              We will work in the Abstract Interpretation framework, a
+              theory of sound approximations of program semantics. We
+              will focus, in particular, on numerical abstract domains
+              that specialise in the automatic discovery of properties
+              of the numerical variables of programs. In this thesis,
+              we introduce new numerical abstract domains: the zone
+              abstract domain (that can discover invariants of the form
+              $X - Y \leq c$), the zone congruence domain
+              ($X \equiv Y + a [b]$), and the octagon domain
+              ($\pm X \pm Y \leq c$), among others. These domains rely
+              on the classical notions of potential graphs, difference
+              bound matrices, and algorithms for the shortest-path
+              closure computation. They are in-between, in terms of
+              cost and precision, between nonrelational domains (such
+              as the interval domain), that are very imprecise, and
+              classical relational domains (such as the polyhedron
+              domain), that are very costly. We will call them ``weakly
+              relational''. We also introduce some methods to apply
+              relational domains to the analysis of floating-point
+              numbers, which was previously only possible using
+              imprecise, non-relational, domains. Finally, we introduce
+              the so-called linearisation and symbolic constant
+              propagation generic symbolic methods to enhance the
+              precision of any numerical domain, for only a slight
+              increase in cost. The techniques presented in this thesis
+              have been integrated within Astr\'ee, an analyser for
+              critical embedded avionic software, and were instrumental
+              in proving the absence of run-time errors in fly-by-wire
+              softwares used in Airbus A340 and A380 planes. Experimental
+              results show the usability of our methods of real-life
+              applications.",
+}
+
+ at InCollection{MotzkinRTT53,
+  Author = "T. S. Motzkin and H. Raiffa and G. L. Thompson and R. M. Thrall",
+  Title = "The Double Description Method",
+  Booktitle = "Contributions to the Theory of Games -- Volume II",
+  Editor = "H. W. Kuhn and A. W. Tucker",
+  Series = "Annals of Mathematics Studies",
+  Number = 28,
+  Publisher = "Princeton University Press",
+  Address = "Princeton, New Jersey",
+  Year = 1953,
+  Pages = "51--73",
+  Abstract = "The purpose of this paper is to present a computational
+              method for the determination of the value and of all
+              solutions of a two-person zero-sum game with a finite
+              number of pure strategies, and for the solution of
+              general finite systems of linear inequalities and
+              corresponding maximization problems."
+}
+
+ at InProceedings{NelsonO77,
+  Author = "G. Nelson and D. C. Oppen",
+  Title = "Fast Decision Algorithms based on {Union} and {Find}",
+  Booktitle = "Proceedings of the 18th Annual Symposium on Foundations
+               of Computer Science (FOCS'77)",
+  Address = "Providence, RI, USA",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "114--119",
+  Year = 1977,
+  Note = "The journal version of this paper is \cite{NelsonO80}"
+}
+
+ at Article{NelsonO80,
+  Author = "G. Nelson and D. C. Oppen",
+  Title = "Fast Decision Procedures Based on Congruence Closure",
+  Journal = "Journal of the ACM",
+  Publisher = "ACM Press",
+  Volume = 27,
+  Number = 2,
+  Pages = "356--364",
+  Year = 1980,
+  Note = "An earlier version of this paper is \cite{NelsonO77}",
+  Abstract = "The notion of the congruence closure of a relation on a
+              graph is defined and several algorithms for computing
+              it are surveyed. A simple proof is given that the
+              congruence closure algorithm provides a decision
+              procedure for the quantifier-free theory of equality. A
+              decision procedure is then given for the
+              quantifier-free theory of LISP list structure based on
+              the congruence closure algorithm. Both decision
+              procedures determine the satisfiability of a
+              conjunction of literals of length n in average time
+              $O(n \log n)$ using the fastest known congruence closure
+              algorithm. It is also shown that if the axiomatization
+              of the theory of list structure is changed slightly,
+              the problem of determining the satisfiability of a
+              conjunction of literals becomes NP-complete. The
+              decision procedures have been implemented in the
+              authors' simplifier for the Stanford Pascal Verifier."
+}
+
+ at Book{NemhauserW88,
+  Author = "G. L. Nemhauser and L. A. Wolsey",
+  Title = "Integer and Combinatorial Optimization",
+  Publisher = "John Wiley \& Sons",
+  Series = "Wiley Interscience Series
+            in Discrete Mathematics and Optimization",
+  Year = 1988
+}
+
+ at TechReport{NookalaR00,
+  Author = "S. P. K. Nookala and T. Risset",
+  Title = "A Library for {Z}-Polyhedral Operations",
+  Type = "\emph{Publication interne}",
+  Number = 1330,
+  Institution = "IRISA",
+  Address = "Campus de Beaulieu, Rennes, France",
+  Year = 2000,
+  Abstract = "Polyhedra are commonly used for representing iteration
+              domains of loop nests with unit stride: the iteration
+              domain of a loop is associated with the set of integer
+              points contained in a polyhedron.  ${\cal Z}$-polyhedra
+              are natural extension of polyhedra, in the sense that
+              they represent iteration domains of loop nests with
+              non-unit stride (they are polyhedra intersected with
+              integral lattices). The polyhedral library (Polylib) has
+              been developed for computing on polyhedra, it is now
+              widely used in the automatic parallelization research
+              community. This report describes the implementation of
+              the extension of Polylib to ${\cal Z}$-polyhedra. We
+              describe algorithms used for computing on lattices and
+              ${\cal Z}$-polyhedra, and we provide technical
+              documentation for the ${\cal Z}$-polyhedral library
+              (data structures, functions available)."
+}
+
+ at Book{PapadimitriouS98,
+  Author = "C. H. Papadimitriou and K. Steiglitz",
+  Title = "Combinatorial Optimization: Algorithms and Complexity",
+  Edition = "Second",
+  Publisher = "Dover Publications",
+  ISBN = "0-486-40258-4",
+  Year = 1998,
+}
+
+ at Unpublished{Pratt77,
+  Author = "V. R. Pratt",
+  Title="Two Easy Theories whose Combination is Hard",
+  Note = "Memo sent to Nelson and Oppen
+          concerning a preprint of their paper \cite{NelsonO77}",
+  Month = sep,
+  Year = 1977,
+  Abstract = "We restrict attention to the validity problem for
+              unquantified disjunctions of literals (possibly negated
+              atomic formulae) over the domain of integers, or what is
+              just as good, the satisfiability problem for
+              unquantified conjunctions. When $=$ is the only
+              predicate symbol and all function symbols are left
+              uninterpreted, or when $\geq$ is the only predicate
+              symbol (taking its standard interpretation on the
+              integers) and the only terms are variables and integers,
+              then satisfiability is decidable in polynomial
+              time. However when $\geq$ and uninterpreted function
+              symbols are allowed to appear together, satisfiability
+              becomes an NP-complete problem. This combination of the
+              two theories can arise for example when reasoning about
+              arrays (the uninterpreted function symbols) and
+              subscript manipulation (where $\geq$ arises in
+              considering subscript bounds). These results are
+              unaffected by the presence of successor, which also
+              arises commonly in reasoning about subscript
+              manipulation."
+}
+
+ at Article{QuillereRW00,
+  Author = "F. Quiller{\'e} and S. V. Rajopadhye and D. Wilde",
+  Title = "Generation of Efficient Nested Loops from Polyhedra",
+  Journal = "International Journal of Parallel Programming",
+  Volume = 28,
+  Number = 5,
+  Year = 2000,
+  Pages = "469--498",
+  Abstract = "Automatic parallelization in the polyhedral model is based
+              on affine transformations from an original computation
+              domain (iteration space) to a target space-time domain,
+              often with a different transformation for each
+              variable. Code generation is an often ignored step in
+              this process that has a significant impact on the
+              quality of the final code. It involves making a
+              trade-off between code size and control code
+              simplification/optimization. Previous methods of doing
+              code generation are based on loop splitting, however
+              they have nonoptimal behavior when working on
+              parameterized programs. We present a general
+              parameterized method for code generation based on dual
+              representation of polyhedra. Our algorithm uses a simple
+              recursion on the dimensions of the domains, and enables
+              fine control over the tradeoff between code size and
+              control overhead."
+}
+
+ at TechReport{QuintonRR96,
+  Author = "P. Quinton and S. Rajopadhye and T. Risset",
+  Title = "On Manipulating {Z}-Polyhedra",
+  Year = 1996,
+  Month = jul,
+  Institution = "IRISA, Campus Universitaire de Bealieu, Rennes, France",
+  Number = 1016,
+  Abstract = "We address the problem of computation upon Z-Polyhedra
+             which are intersections of polyhedra and integral
+             lattices. We introduce a canonic representation for
+             Z-polyhedra which allow to perform comparisons and
+             transformations of Z-polyhedra with the help of a
+             computational kernal on polyhedra. This contribution is a
+             step towards the manipulation of images of polyhedra by
+             affine functions, and has application in the domain of
+             automatic parallelization and parallel VLSI synthesis.",
+}
+
+ at Article{QuintonRR97,
+  Author = "P. Quinton and S. Rajopadhye and T. Risset",
+  Title = "On Manipulating {Z}-Polyhedra Using a Canonic Representation",
+  Journal = "Parallel Processing Letters",
+  Publisher = "World Scientific Publishing Company",
+  Volume = 7,
+  Number = 2,
+  Pages = "181--194",
+  Year = 1997,
+  Abstract = "Z-Polyhedra are intersections of polyhedra and integral
+             lattices. They arise in the domain of automatic
+             parallelization and VLSI array synthesis. In this paper,
+             we address the problem of computation on Z-polyhedra.
+             We introduce a canonical representation for Z-polyhedra
+             which allows one to perform comparisons and transformations
+             of Z-polyhedra with the help of a computational kernal on
+             polyhedra.",
+}
+
+ at Inproceedings{RepsBL06,
+  Author = "T. W. Reps and G. Balakrishnan and J. Lim",
+  Title = "Intermediate-representation Recovery from Low-level Code",
+  Booktitle = "Proceedings of the 2006 ACM SIGPLAN Workshop on Partial
+               Evaluation and Semantics-based Program Manipulation",
+  Address = "Charleston, South Carolina, USA",
+  Editor = "J. Hatcliff and F. Tip",
+  Publisher = "ACM Press",
+  ISBN = "1-59593-196-1",
+  Year = 2006,
+  Pages = "100--111",
+  Abstract = "The goal of our work is to create tools that an analyst
+              can use to understand the workings of COTS
+              components, plugins, mobile code, and DLLs, as well
+              as memory snapshots of worms and virus-infected
+              code. This paper describes how static analysis
+              provides techniques that can be used to recover
+              intermediate representations that are similar to
+              those that can be created for a program written in a
+              high-level language."
+}
+
+ at MastersThesis{Ricci02th,
+  Author = "E. Ricci",
+  Title = "Rappresentazione e manipolazione di poliedri convessi
+           per l'analisi e la verifica di programmi",
+  Type = "Laurea dissertation",
+  School = "University of Parma",
+  Address = "Parma, Italy",
+  Month = jul,
+  Year = 2002,
+  Note = "In Italian",
+  URL = "http://bugseng.com/products/ppl/documentation/Ricci02th.pdf"
+}
+
+ at Inproceedings{SenS07,
+  Author = "R. Sen and Y. N. Srikant",
+  Title = "Executable Analysis using Abstract Interpretation with Circular
+           Linear Progressions",
+  Booktitle = "Proceedings of the 5th IEEE/ACM International Conference
+              on Formal Methods and Models for Co-Design (MEMOCODE 2007)",
+  Address = "Nice, France",
+  Publisher = "IEEE Computer Society Press",
+  Year = 2007,
+  Pages = "39--48",
+  Abstract = "We propose a new abstract domain for static analysis of
+              executable code. Concrete states are abstracted
+              using Circular Linear Progressions (CLPs). CLPs
+              model computations using a finite word length as is
+              seen in any real life processor. The finite
+              abstraction allows handling over-flow scenarios in a
+              natural and straight-forward manner. Abstract
+              transfer functions have been defined for a wide
+              range of operations which makes this domain easily
+              applicable for analyzing code for a wide range of
+              ISAs. CLPs combine the scalability of interval
+              domains with the discreteness of linear congruence
+              domains. We also present a novel, lightweight method
+              to track linear equality relations between static
+              objects that is used by the analysis to improve
+              precision. The analysis is efficient, the total
+              space and time overhead being quadratic in the
+              number of static objects being tracked."
+}
+
+ at Techreport{SenS07TR,
+  Author = "R. Sen and Y. N. Srikant",
+  Title = "Executable Analysis with Circular Linear Progressions",
+  Number = "IISc-CSA-TR-2007-3",
+  Institution = "Department of Computer Science and Automation,
+                 Indian Institute of Science",
+  Address = "Bangalore, India",
+  Year = 2007,
+  Abstract = "We propose a new abstract domain for static analysis of
+              executable code. Concrete state is abstracted using
+              Circular Linear Progressions (CLPs). CLPs model
+              computations using a finite word length as is seen in
+              any real life processor. The finite abstraction allows
+              handling overflow scenarios in a natural and
+              straight-forward manner. Abstract transfer functions
+              have been defined for a wide range of operations which
+              makes this domain easily applicable for analysing code
+              for a wide range of ISAs. CLPs combine the scalability
+              of interval domains with the discreteness of linear
+              congruence domains. We also present a novel, lightweight
+              method to track linear equality relations between static
+              objects that is used by the analysis to improve
+              precision. The analysis is efficient, the total space
+              and time overhead being quadratic in the number of
+              static objects being tracked."
+}
+
+ at Article{Shostak81,
+  Author = "R. E. Shostak",
+  Title = "Deciding Linear Inequalities by Computing Loop Residues",
+  Journal = "Journal of the ACM",
+  Publisher = "ACM Press",
+  Volume = 28,
+  Number = 4,
+  Pages = "769--779",
+  Year = 1981,
+  Abstract = "V.~R.~Pratt has shown that the real and integer
+              feasibility of sets of linear inequalities of the form
+              $x \leq y + c$ can be decided quickly by examining the
+              loops in certain graphs.  Pratt's method is generalized,
+              first to real feasibility of inequalities in two
+              variables and arbitrary coefficients, and ultimately to
+              real feasibility of arbitrary sets of linear
+              inequalities.  The method is well suited to applications
+              in program verification."
+}
+
+ at Book{Schrijver99,
+  Author = "A. Schrijver",
+  Title = "Theory of Linear and Integer Programming",
+  Publisher = "John Wiley \& Sons",
+  Series = "Wiley Interscience Series
+            in Discrete Mathematics and Optimization",
+  ISBN = "0-471-98232-6",
+  Year = 1999
+}
+
+ at InProceedings{SimonK07,
+  Author = "A. Simon and A. King",
+  Title = "Taming the Wrapping of Integer Arithmetic",
+  Booktitle = "Static Analysis:
+               Proceedings of the 14th International Symposium",
+  Address = "Kongens Lyngby, Denmark",
+  Editor = "H. {Riis Nielson} and G. Fil{\'e}",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4634,
+  ISBN = "978-3-540-74060-5",
+  Year = 2007,
+  Pages = "121--136",
+  Abstract = "Variables in programs are usually confined to a fixed
+              number of bits and results that require more bits
+              are truncated. Due to the use of 32-bit and 64-bit
+              variables, inadvertent overflows are rare. However,
+              a sound static analysis must reason about
+              overflowing calculations and conversions between
+              unsigned and signed integers; the latter remaining a
+              common source of subtle programming errors. Rather
+              than polluting an analysis with the low-level
+              details of modelling two's complement wrapping
+              behaviour, this paper presents a computationally
+              light-weight solution based on polyhedral analysis
+              which eliminates the need to check for wrapping when
+              evaluating most (particularly linear) assignments."
+}
+
+ at Article{Srivastava93,
+  Author = "D. Srivastava",
+  Title = "Subsumption and Indexing in Constraint Query Languages
+           with Linear Arithmetic Constraints",
+  Journal = "Annals of Mathematics and Artificial Intelligence",
+  Volume = 8,
+  Number = "3--4",
+  Pages = "315--343",
+  Year = 1993,
+  Abstract = "Bottom-up evaluation of a program-query pair in a
+              constraint query language (CQL) starts with the facts in
+              the database and repeatedly applies the rules of the
+              program, in iterations, to compute new facts, until we
+              have reached a fixpoint.  Checking if a fixpoint has
+              been reached amounts to checking if any ``new'' facts
+              were computed in an iteration.  Such a check also
+              enhances efficiency in that subsumed facts can be
+              discarded, and not be used to make any further
+              derivations in subsequent iterations, if we use
+              Semi-naive evaluation.
+              We show that the problem of subsumption in CQLs with
+              linear arithmetic constraints is co-NP complete, and
+              present a deterministic algorithm, based on the divide
+              and conquer strategy, for this problem.  We also
+              identify polynomial-time sufficient conditions for
+              subsumption and non-subsumption in CQLs with linear
+              arithmetic constraints.  We adapt indexing strategies
+              from spatial databases for efficiently indexing facts in
+              such a CQL: such indexing is crucial for performance in
+              the presence of large databases.  Based on a recent
+              algorithm by Lassez and Lassez [LL] for quantifier
+              elimination, we present an incremental version of the
+              algorithm to check for subsumption in CQLs with linear
+              arithmetic constraints.",
+  URL = "http://www.research.att.com/~divesh/papers/s93-cqlsubsum-journal.ps"
+}
+
+ at Book{StoerW70,
+  Author = "J. Stoer and C. Witzgall",
+  Title = "Convexity and Optimization in Finite Dimensions {I}",
+  Publisher = "Springer-Verlag, Berlin",
+  Year = 1970
+}
+
+ at Book{Warren03,
+ Author = "Warren, Jr., H. S.",
+ Title = "Hacker's Delight",
+ Publisher = "Addison-Wesley Longman Publishing Co., Inc.",
+ Address = "Boston, MA, USA",
+ Year = 2003,
+ ISBN = "0-201-91465-4",
+ }
+
+ at MastersThesis{Wilde93th,
+  Author = "D. K. Wilde",
+  Title = "A Library for Doing Polyhedral Operations",
+  Type = "{Master's thesis}",
+  School = "Oregon State University",
+  Address = "Corvallis, Oregon",
+  Month = dec,
+  Year = 1993,
+  Note = "Also published as IRISA \emph{Publication interne} 785,
+          Rennes, France, 1993",
+  Abstract = "Polyhedra are geometric representations of linear
+              systems of equations and inequalities.  Since polyhedra
+              are used to represent the iteration domains of nested
+              loop programs, procedures for operating on polyhedra are
+              useful for doing loop transformations and other program
+              restructuring transformations which are needed in
+              parallelizing compilers.  Thus a need for a library of
+              polyhedral operations has recently been recognized in
+              the parallelizing compiler community.  Polyhedra are
+              also used in the definition of domains of variables in
+              systems of affine recurrence equations (SARE). {\sc
+              Alpha} is a language which is based on the SARE
+              formalism in which all variables are declared over
+              finite unions of polyhedra.  This report describes a
+              library of polyhedral functions which was developed to
+              support the {\sc Alpha} language environment, and which
+              is general enough to satisfy the needs of researchers
+              doing parallelizing compilers.  This report describes
+              the data structures used to represent domains, gives
+              motivations for the major design decisions, and presents
+              the algorithms used for doing polyhedral operations.
+              This library has been written and tested, and has been
+              in use since the beginning of 1993 by research
+              facilities in Europe and Canada.  The library is freely
+              distributed by ftp.",
+  URL = "http://www.irisa.fr/polylib/document/Polylib.ps"
+}
+
+ at Article{Weyl35,
+  Author = "H. Weyl",
+  Title = "Elementare Theorie der konvexen Polyeder",
+  Journal = "Commentarii Mathematici Helvetici",
+  Publisher = "{Birkh\"auser} Publishing Ltd., Basel, Switzerland",
+  Volume = 7,
+  Pages = "290--306",
+  Year = 1935,
+  Note = "English translation in \cite{Weyl50}"
+}
+
+ at InCollection{Weyl50,
+  Author = "H. Weyl",
+  Title = "The Elementary Theory of Convex Polyhedra",
+  Booktitle = "Contributions to the Theory of Games -- Volume I",
+  Editor = "H. W. Kuhn",
+  Series = "Annals of Mathematics Studies",
+  Number = 24,
+  Publisher = "Princeton University Press",
+  Address = "Princeton, New Jersey",
+  Year = 1950,
+  Pages = "3--18",
+  Note = "Translated from \cite{Weyl35} by H. W. Kuhn"
+}
+
+
+==============================================================================
+
+<h2>ODC Attribution License (ODC-By)</h2>
+
+### Preamble
+
+The Open Data Commons Attribution License is a license agreement
+intended to allow users to freely share, modify, and use this Database
+subject only to the attribution requirements set out in Section 4.
+
+Databases can contain a wide variety of types of content (images,
+audiovisual material, and sounds all in the same database, for example),
+and so this license only governs the rights over the Database, and not
+the contents of the Database individually. Licensors may therefore wish
+to use this license together with another license for the contents.
+
+Sometimes the contents of a database, or the database itself, can be
+covered by other rights not addressed here (such as private contracts,
+trademark over the name, or privacy rights / data protection rights
+over information in the contents), and so you are advised that you may
+have to consult other documents or clear other rights before doing
+activities not covered by this License.
+
+------
+
+The Licensor (as defined below)
+
+and
+
+You (as defined below)
+
+agree as follows:
+
+### 1.0 Definitions of Capitalised Words
+
+"Collective Database" - Means this Database in unmodified form as part
+of a collection of independent databases in themselves that together are
+assembled into a collective whole. A work that constitutes a Collective
+Database will not be considered a Derivative Database.
+
+"Convey" - As a verb, means Using the Database, a Derivative Database,
+or the Database as part of a Collective Database in any way that enables
+a Person to make or receive copies of the Database or a Derivative
+Database.  Conveying does not include interaction with a user through a
+computer network, or creating and Using a Produced Work, where no
+transfer of a copy of the Database or a Derivative Database occurs.
+
+"Contents" - The contents of this Database, which includes the
+information, independent works, or other material collected into the
+Database. For example, the contents of the Database could be factual
+data or works such as images, audiovisual material, text, or sounds.
+
+"Database" - A collection of material (the Contents) arranged in a
+systematic or methodical way and individually accessible by electronic
+or other means offered under the terms of this License.
+
+"Database Directive" - Means Directive 96/9/EC of the European
+Parliament and of the Council of 11 March 1996 on the legal protection
+of databases, as amended or succeeded.
+
+"Database Right" - Means rights resulting from the Chapter III ("sui
+generis") rights in the Database Directive (as amended and as transposed
+by member states), which includes the Extraction and Re-utilisation of
+the whole or a Substantial part of the Contents, as well as any similar
+rights available in the relevant jurisdiction under Section 10.4.
+
+"Derivative Database" - Means a database based upon the Database, and
+includes any translation, adaptation, arrangement, modification, or any
+other alteration of the Database or of a Substantial part of the
+Contents. This includes, but is not limited to, Extracting or
+Re-utilising the whole or a Substantial part of the Contents in a new
+Database.
+
+"Extraction" - Means the permanent or temporary transfer of all or a
+Substantial part of the Contents to another medium by any means or in
+any form.
+
+"License" - Means this license agreement and is both a license of rights
+such as copyright and Database Rights and an agreement in contract.
+
+"Licensor" - Means the Person that offers the Database under the terms
+of this License.
+
+"Person" - Means a natural or legal person or a body of persons
+corporate or incorporate.
+
+"Produced Work" -  a work (such as an image, audiovisual material, text,
+or sounds) resulting from using the whole or a Substantial part of the
+Contents (via a search or other query) from this Database, a Derivative
+Database, or this Database as part of a Collective Database.
+
+"Publicly" - means to Persons other than You or under Your control by
+either more than 50% ownership or by the power to direct their
+activities (such as contracting with an independent consultant).
+
+"Re-utilisation" - means any form of making available to the public all
+or a Substantial part of the Contents by the distribution of copies, by
+renting, by online or other forms of transmission.
+
+"Substantial" - Means substantial in terms of quantity or quality or a
+combination of both. The repeated and systematic Extraction or
+Re-utilisation of insubstantial parts of the Contents may amount to the
+Extraction or Re-utilisation of a Substantial part of the Contents.
+
+"Use" - As a verb, means doing any act that is restricted by copyright
+or Database Rights whether in the original medium or any other; and
+includes without limitation distributing, copying, publicly performing,
+publicly displaying, and preparing derivative works of the Database, as
+well as modifying the Database as may be technically necessary to use it
+in a different mode or format.
+
+"You" - Means a Person exercising rights under this License who has not
+previously violated the terms of this License with respect to the
+Database, or who has received express permission from the Licensor to
+exercise rights under this License despite a previous violation.
+
+Words in the singular include the plural and vice versa.
+
+### 2.0 What this License covers
+
+2.1. Legal effect of this document. This License is:
+
+  a. A license of applicable copyright and neighbouring rights;
+
+  b. A license of the Database Right; and
+
+  c. An agreement in contract between You and the Licensor.
+
+2.2 Legal rights covered. This License covers the legal rights in the
+Database, including:
+
+  a. Copyright. Any copyright or neighbouring rights in the Database.
+  The copyright licensed includes any individual elements of the
+  Database, but does not cover the copyright over the Contents
+  independent of this Database. See Section 2.4 for details. Copyright
+  law varies between jurisdictions, but is likely to cover: the Database
+  model or schema, which is the structure, arrangement, and organisation
+  of the Database, and can also include the Database tables and table
+  indexes; the data entry and output sheets; and the Field names of
+  Contents stored in the Database;
+
+  b. Database Rights. Database Rights only extend to the Extraction and
+  Re-utilisation of the whole or a Substantial part of the Contents.
+  Database Rights can apply even when there is no copyright over the
+  Database. Database Rights can also apply when the Contents are removed
+  from the Database and are selected and arranged in a way that would
+  not infringe any applicable copyright; and
+
+  c. Contract. This is an agreement between You and the Licensor for
+  access to the Database. In return you agree to certain conditions of
+  use on this access as outlined in this License.
+
+2.3 Rights not covered.
+
+  a. This License does not apply to computer programs used in the making
+  or operation of the Database;
+
+  b. This License does not cover any patents over the Contents or the
+  Database; and
+
+  c. This License does not cover any trademarks associated with the
+  Database.
+
+2.4 Relationship to Contents in the Database. The individual items of
+the Contents contained in this Database may be covered by other rights,
+including copyright, patent, data protection, privacy, or personality
+rights, and this License does not cover any rights (other than Database
+Rights or in contract) in individual Contents contained in the Database.
+For example, if used on a Database of images (the Contents), this
+License would not apply to copyright over individual images, which could
+have their own separate licenses, or one single license covering all of
+the rights over the images.
+
+### 3.0 Rights granted
+
+3.1 Subject to the terms and conditions of this License, the Licensor
+grants to You a worldwide, royalty-free, non-exclusive, terminable (but
+only under Section 9) license to Use the Database for the duration of
+any applicable copyright and Database Rights. These rights explicitly
+include commercial use, and do not exclude any field of endeavour. To
+the extent possible in the relevant jurisdiction, these rights may be
+exercised in all media and formats whether now known or created in the
+future.
+
+The rights granted cover, for example:
+
+  a. Extraction and Re-utilisation of the whole or a Substantial part of
+  the Contents;
+
+  b. Creation of Derivative Databases;
+
+  c. Creation of Collective Databases;
+
+  d. Creation of temporary or permanent reproductions by any means and
+  in any form, in whole or in part, including of any Derivative
+  Databases or as a part of Collective Databases; and
+
+  e. Distribution, communication, display, lending, making available, or
+  performance to the public by any means and in any form, in whole or in
+  part, including of any Derivative Database or as a part of Collective
+  Databases.
+
+3.2 Compulsory license schemes. For the avoidance of doubt:
+
+  a. Non-waivable compulsory license schemes. In those jurisdictions in
+  which the right to collect royalties through any statutory or
+  compulsory licensing scheme cannot be waived, the Licensor reserves
+  the exclusive right to collect such royalties for any exercise by You
+  of the rights granted under this License;
+
+  b. Waivable compulsory license schemes. In those jurisdictions in
+  which the right to collect royalties through any statutory or
+  compulsory licensing scheme can be waived, the Licensor waives the
+  exclusive right to collect such royalties for any exercise by You of
+  the rights granted under this License; and,
+
+  c. Voluntary license schemes. The Licensor waives the right to collect
+  royalties, whether individually or, in the event that the Licensor is
+  a member of a collecting society that administers voluntary licensing
+  schemes, via that society, from any exercise by You of the rights
+  granted under this License.
+
+3.3 The right to release the Database under different terms, or to stop
+distributing or making available the Database, is reserved. Note that
+this Database may be multiple-licensed, and so You may have the choice
+of using alternative licenses for this Database. Subject to Section
+10.4, all other rights not expressly granted by Licensor are reserved.
+
+### 4.0 Conditions of Use
+
+4.1 The rights granted in Section 3 above are expressly made subject to
+Your complying with the following conditions of use. These are important
+conditions of this License, and if You fail to follow them, You will be
+in material breach of its terms.
+
+4.2 Notices. If You Publicly Convey this Database, any Derivative
+Database, or the Database as part of a Collective Database, then You
+must:
+
+  a. Do so only under the terms of this License;
+
+  b. Include a copy of this License or its Uniform Resource Identifier (URI)
+  with the Database or Derivative Database, including both in the
+  Database or Derivative Database and in any relevant documentation;
+
+  c. Keep intact any copyright or Database Right notices and notices
+  that refer to this License; and
+
+  d. If it is not possible to put the required notices in a particular
+  file due to its structure, then You must include the notices in a
+  location (such as a relevant directory) where users would be likely to
+  look for it.
+
+4.3 Notice for using output (Contents). Creating and Using a Produced
+Work does not require the notice in Section 4.2. However, if you
+Publicly Use a Produced Work, You must include a notice associated with
+the Produced Work reasonably calculated to make any Person that uses,
+views, accesses, interacts with, or is otherwise exposed to the Produced
+Work aware that Content was obtained from the Database, Derivative
+Database, or the Database as part of a Collective Database, and that it
+is available under this License.
+
+  a. Example notice. The following text will satisfy notice under
+  Section 4.3:
+
+        Contains information from DATABASE NAME which is made available
+        under the ODC Attribution License.
+
+DATABASE NAME should be replaced with the name of the Database and a
+hyperlink to the location of the Database. "ODC Attribution License"
+should contain a hyperlink to the URI of the text of this License. If
+hyperlinks are not possible, You should include the plain text of the
+required URI's with the above notice.
+
+4.4 Licensing of others. You may not sublicense the Database. Each time
+You communicate the Database, the whole or Substantial part of the
+Contents, or any Derivative Database to anyone else in any way, the
+Licensor offers to the recipient a license to the Database on the same
+terms and conditions as this License. You are not responsible for
+enforcing compliance by third parties with this License, but You may
+enforce any rights that You have over a Derivative Database. You are
+solely responsible for any modifications of a Derivative Database made
+by You or another Person at Your direction. You may not impose any
+further restrictions on the exercise of the rights granted or affirmed
+under this License.
+
+### 5.0 Moral rights
+
+5.1 Moral rights. This section covers moral rights, including any rights
+to be identified as the author of the Database or to object to treatment
+that would otherwise prejudice the author's honour and reputation, or
+any other derogatory treatment:
+
+  a. For jurisdictions allowing waiver of moral rights, Licensor waives
+  all moral rights that Licensor may have in the Database to the fullest
+  extent possible by the law of the relevant jurisdiction under Section
+  10.4;
+
+  b. If waiver of moral rights under Section 5.1 a in the relevant
+  jurisdiction is not possible, Licensor agrees not to assert any moral
+  rights over the Database and waives all claims in moral rights to the
+  fullest extent possible by the law of the relevant jurisdiction under
+  Section 10.4; and
+
+  c. For jurisdictions not allowing waiver or an agreement not to assert
+  moral rights under Section 5.1 a and b, the author may retain their
+  moral rights over certain aspects of the Database.
+
+Please note that some jurisdictions do not allow for the waiver of moral
+rights, and so moral rights may still subsist over the Database in some
+jurisdictions.
+
+### 6.0 Fair dealing, Database exceptions, and other rights not affected
+
+6.1 This License does not affect any rights that You or anyone else may
+independently have under any applicable law to make any use of this
+Database, including without limitation:
+
+  a. Exceptions to the Database Right including: Extraction of Contents
+  from non-electronic Databases for private purposes, Extraction for
+  purposes of illustration for teaching or scientific research, and
+  Extraction or Re-utilisation for public security or an administrative
+  or judicial procedure.
+
+  b. Fair dealing, fair use, or any other legally recognised limitation
+  or exception to infringement of copyright or other applicable laws.
+
+6.2 This License does not affect any rights of lawful users to Extract
+and Re-utilise insubstantial parts of the Contents, evaluated
+quantitatively or qualitatively, for any purposes whatsoever, including
+creating a Derivative Database (subject to other rights over the
+Contents, see Section 2.4). The repeated and systematic Extraction or
+Re-utilisation of insubstantial parts of the Contents may however amount
+to the Extraction or Re-utilisation of a Substantial part of the
+Contents.
+
+### 7.0 Warranties and Disclaimer
+
+7.1 The Database is licensed by the Licensor "as is" and without any
+warranty of any kind, either express, implied, or arising by statute,
+custom, course of dealing, or trade usage. Licensor specifically
+disclaims any and all implied warranties or conditions of title,
+non-infringement, accuracy or completeness, the presence or absence of
+errors, fitness for a particular purpose, merchantability, or otherwise.
+Some jurisdictions do not allow the exclusion of implied warranties, so
+this exclusion may not apply to You.
+
+### 8.0 Limitation of liability
+
+8.1 Subject to any liability that may not be excluded or limited by law,
+the Licensor is not liable for, and expressly excludes, all liability
+for loss or damage however and whenever caused to anyone by any use
+under this License, whether by You or by anyone else, and whether caused
+by any fault on the part of the Licensor or not. This exclusion of
+liability includes, but is not limited to, any special, incidental,
+consequential, punitive, or exemplary damages such as loss of revenue,
+data, anticipated profits, and lost business. This exclusion applies
+even if the Licensor has been advised of the possibility of such
+damages.
+
+8.2 If liability may not be excluded by law, it is limited to actual and
+direct financial loss to the extent it is caused by proved negligence on
+the part of the Licensor.
+
+### 9.0 Termination of Your rights under this License
+
+9.1 Any breach by You of the terms and conditions of this License
+automatically terminates this License with immediate effect and without
+notice to You. For the avoidance of doubt, Persons who have received the
+Database, the whole or a Substantial part of the Contents, Derivative
+Databases, or the Database as part of a Collective Database from You
+under this License will not have their licenses terminated provided
+their use is in full compliance with this License or a license granted
+under Section 4.8 of this License.  Sections 1, 2, 7, 8, 9 and 10 will
+survive any termination of this License.
+
+9.2 If You are not in breach of the terms of this License, the Licensor
+will not terminate Your rights under it.
+
+9.3 Unless terminated under Section 9.1, this License is granted to You
+for the duration of applicable rights in the Database.
+
+9.4 Reinstatement of rights. If you cease any breach of the terms and
+conditions of this License, then your full rights under this License
+will be reinstated:
+
+  a. Provisionally and subject to permanent termination until the 60th
+  day after cessation of breach;
+
+  b. Permanently on the 60th day after cessation of breach unless
+  otherwise reasonably notified by the Licensor; or
+
+  c.  Permanently if reasonably notified by the Licensor of the
+  violation, this is the first time You have received notice of
+  violation of this License from  the Licensor, and You cure the
+  violation prior to 30 days after your receipt of the notice.
+
+9.5 Notwithstanding the above, Licensor reserves the right to release
+the Database under different license terms or to stop distributing or
+making available the Database. Releasing the Database under different
+license terms or stopping the distribution of the Database will not
+withdraw this License (or any other license that has been, or is
+required to be, granted under the terms of this License), and this
+License will continue in full force and effect unless terminated as
+stated above.
+
+### 10.0 General
+
+10.1 If any provision of this License is held to be invalid or
+unenforceable, that must not affect the validity or enforceability of
+the remainder of the terms and conditions of this License and each
+remaining provision of this License shall be valid and enforced to the
+fullest extent permitted by law.
+
+10.2 This License is the entire agreement between the parties with
+respect to the rights granted here over the Database. It replaces any
+earlier understandings, agreements or representations with respect to
+the Database.
+
+10.3 If You are in breach of the terms of this License, You will not be
+entitled to rely on the terms of this License or to complain of any
+breach by the Licensor.
+
+10.4 Choice of law. This License takes effect in and will be governed by
+the laws of the relevant jurisdiction in which the License terms are
+sought to be enforced. If the standard suite of rights granted under
+applicable copyright law and Database Rights in the relevant
+jurisdiction includes additional rights not granted under this License,
+these additional rights are granted in this License in order to meet the
+terms of this License.
diff --git a/doc/ppl.sty b/doc/ppl.sty
index 37f673a..0d24812 100644
--- a/doc/ppl.sty
+++ b/doc/ppl.sty
@@ -1,6 +1,6 @@
 %% LaTeX package providing macros for typesetting the PPL manuals.
 %% Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-%% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+%% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %%
 %% This file is part of the Parma Polyhedra Library (PPL).
 %%
@@ -19,7 +19,7 @@
 %% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 %%
 %% For the most up-to-date information see the Parma Polyhedra Library
-%% site: http://www.cs.unipr.it/ppl/ .
+%% site: http://bugseng.com/products/ppl/ .
 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesPackage{ppl}
diff --git a/doc/ppl_citations.bib b/doc/ppl_citations.bib
new file mode 100644
index 0000000..0e8e854
--- /dev/null
+++ b/doc/ppl_citations.bib
@@ -0,0 +1,4274 @@
+A bibliography of papers that cite the Parma Polyhedra Library
+and/or the works that defined the theory upon which it is based.
+Copyright (C) 2001-2010 Roberto Bagnara <bagnara AT cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This BibTeX database is made available under the Open Data Commons
+Attribution License (ODC-By) v1.0, which is reproduced below for your
+convenience and available at http://opendatacommons.org/licenses/by/1.0/
+Summarizing:
+
+- You are free: to copy, distribute and use the database;  to produce
+  works from the database;  to modify, transform and build upon the database.
+
+- You must attribute any public use of the database, or works produced
+  from the database, in the manner specified in the license.  For any
+  use or redistribution of the database, or works produced from it,
+  you must make clear to others the license of the database and keep
+  intact any notices on the original database.
+
+
+ at Inproceedings{AlbertACGPZ08,
+  Author = "E. Albert and P. Arenas and M. Codish and S. Genaim
+            and G. Puebla and D. Zanardini",
+  Title = "Termination Analysis of {Java} Bytecode",
+  Booktitle = "Proceedings of the 10th IFIP WG 6.1 International Conference
+               on Formal Methods for Open Object-Based Distributed Systems
+               (FMOODS 2008)",
+  Address = "Oslo, Norway",
+  Editor = "G. Barthe and F. S. de Boer",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5051,
+  Year = 2008,
+  Pages = "2--18",
+  ISBN = "978-3-540-68862-4",
+  Abstract = "Termination analysis has received considerable
+              attention, traditionally in the context of declarative
+              programming, and recently also for imperative
+              languages. In existing approaches, termination is
+              performed on source programs. However, there are many
+              situations, including mobile code, where only the
+              compiled code is available. In this work we present an
+              automatic termination analysis for sequential Java
+              Bytecode programs. Such analysis presents all of the
+              challenges of analyzing a low-level language as well as
+              those introduced by object-oriented languages.
+              Interestingly, given a bytecode program, we produce a
+              \emph{constraint logic program}, CLP, whose termination
+              entails termination of the bytecode program. This allows
+              applying the large body of work in termination of CLP
+              programs to termination of Java bytecode. A prototype
+              analyzer is described and initial experimentation is
+              reported."
+}
+
+ at Article{AlbertACGPZ12,
+  Author = "E. Albert and P. Arenas and S. Genaim and G. Puebla
+            and D. Zanardini",
+  Title = "Cost analysis of object-oriented bytecode programs",
+  Journal = "Theoretical Computer Science",
+  Volume = 413,
+  Number = 1,
+  Pages =  "142--159",
+  Year = 2012,
+  Note = "Quantitative Aspects of Programming Languages (QAPL 2010)",
+  ISSN = "0304-3975",
+  URL = "http://www.sciencedirect.com/science/article/pii/S0304397511006190",
+  Abstract = "Cost analysis statically approximates the cost of
+              programs in terms of their input data size. This paper
+              presents, to the best of our knowledge, the first
+              approach to the automatic cost analysis of
+              object-oriented bytecode programs. In languages such as
+              Java and C#, analyzing bytecode has a much wider
+              application area than analyzing source code since the
+              latter is often not available. Cost analysis in this
+              context has to consider, among others, dynamic dispatch,
+              jumps, the operand stack, and the heap. Our method takes
+              a bytecode program and a cost model specifying the
+              resource of interest, and generates cost relations which
+              approximate the execution cost of the program with
+              respect to such resource. We report on COSTA, an
+              implementation for Java bytecode which can obtain upper
+              bounds on cost for a large class of programs and
+              complexity classes. Our basic techniques can be directly
+              applied to infer cost relations for other
+              object-oriented imperative languages, not necessarily in
+              bytecode form."
+}
+
+ at Inproceedings{AlbertAGP08,
+  Author = "E. Albert and P. Arenas and S. Genaim and G. Puebla",
+  Title = "Automatic Inference of Upper Bounds for Recurrence Relations
+           in Cost Analysis",
+  Booktitle = "Static Analysis:
+               Proceedings of the 15th International Symposium",
+  Address   = "Valencia, Spain",
+  Editor = "M. Alpuente and G. Vidal",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5079,
+  Year = 2008,
+  Pages = "221--237",
+  ISBN = "978-3-540-69163-1",
+  Abstract = "The classical approach to automatic cost analysis
+              consists of two phases. Given a program and some measure
+              of cost, we first produce \emph{recurrence relations}
+              (RRs) which capture the cost of our program in terms of
+              the size of its input data. Second, we convert such RRs
+              into \emph{closed form} (i.e., without
+              recurrences). Whereas the first phase has received
+              considerable attention, with a number of cost analyses
+              available for a variety of programming languages, the
+              second phase has received comparatively little
+              attention. In this paper we first study the features of
+              RRs generated by automatic cost analysis and discuss why
+              existing computer algebra systems are not appropriate
+              for automatically obtaining closed form solutions nor
+              upper bounds of them. Then we present, to our knowledge,
+              the first practical framework for the fully automatic
+              generation of reasonably accurate upper bounds of RRs
+              originating from cost analysis of a wide range of
+              programs. It is based on the inference of \emph{ranking
+              functions} and \emph{loop invariants} and on
+              \emph{partial evaluation}."
+}
+
+ at Incollection{AlbertAGPZ08,
+  Author = "E. Albert and P. Arenas and S. Genaim
+            and G. Puebla and D. Zanardini",
+  Title = "{COSTA}: Design and Implementation of a Cost and Termination
+           Analyzer for {Java} Bytecode",
+  Booktitle = "Formal Methods for Components and Objects",
+  Editor = "Frank S. {de Boer} and M. M. Bonsangue
+            and S. Graf and W. P. {de Roever}",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Year = 2008,
+  Volume = 5382,
+  Pages = "113--132",
+  ISBN = "978-3-540-92187-5",
+  Note = "Revised papers presented at the 6th International Symposium on
+          Formal Methods for Components and Objects (FMCO 2007),
+          Amsterdam, The Netherlands, October 24--26, 2007",
+  Abstract = "This paper describes the architecture of COSTA, an
+              abstract interpretation based COST and termination
+              Analyzer for Java bytecode.  The system receives as
+              input a bytecode program, (a choice of) a
+              \emph{resource} of interest and tries to obtain an upper
+              bound of the resource consumption of the program. COSTA
+              provides several non-trivial notions of cost, as the
+              consumption of the heap, the number of bytecode
+              instructions executed and the number of calls to a
+              specific method. Additionally, COSTA tries to prove
+              \emph{termination} of the bytecode program which implies
+              the boundedness of any resource consumption. Having cost
+              and termination together is interesting, as both
+              analyses share most of the machinery to, respectively,
+              infer cost \emph{upper bounds} and to prove that the
+              execution length is always \emph{finite} (i.e., the
+              program terminates). We report on experimental results
+              which show that COSTA can deal with programs of
+              realistic size and complexity, including programs which
+              use Java libraries.  To the best of our knowledge, this
+              system provides for the first time evidence that
+              resource usage analysis can be applied to a realistic
+              object-oriented, bytecode programming language."
+}
+
+ at Inproceedings{AlonsoAG11,
+  Author = "D. Alonso and P. Arenas and S. Genaim",
+  Title = "Handling Non-linear Operations in the Value Analysis of {COSTA}",
+  Booktitle = "Proceedings of the 6th Workshop on Bytecode Semantics,
+               Verification, Analysis and Transformation (Bytecode 2011)",
+  Address = "Saarbrucken, Germany",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 279,
+  Number = 1,
+  Pages = "3--17",
+  Year = 2011,
+  ISSN = "1571-0661",
+  Abstract = "Inferring precise relations between (the values of)
+              program variables at different program points is
+              essential for termination and resource usage
+              analysis. In both cases, this information is used to
+              synthesize ranking functions that imply the program's
+              termination and bound the number of iterations of its
+              loops. For efficiency, it is common to base value
+              analysis on non-disjunctive abstract domains such as
+              Polyhedra, Octagon, etc. While these domains are
+              efficient and able to infer complex relations for a wide
+              class of programs, they are often not sufficient for
+              modeling the effect of non-linear and bit arithmetic
+              operations. Modeling such operations precisely can be
+              done by using more sophisticated abstract domains, at
+              the price of performance overhead. In this paper we
+              report on the value analysis of COSTA that is based on
+              the idea of encoding the disjunctive nature of
+              non-linear operations into the (abstract) program
+              itself, instead of using more sophisticated abstract
+              domains. Our experiments demonstrate that COSTA is able
+              to prove termination and infer bounds on resource
+              consumption for programs that could not be handled
+              before."
+}
+
+ at Inproceedings{Alur11,
+  Author = "R. Alur",
+  Title = "Formal Verification of Hybrid Systems",
+  Booktitle = "Proceedings of the 11th International Conference
+               on Embedded Software (EMSOFT 2011)",
+  Address =  "Taipei, Taiwan",
+  Editor = "S. Chakraborty and A. Jerraya and S. K. Baruah
+            and S. Fischmeister",
+  Publisher = "ACM Press",
+  Year = 2011,
+  Pages = "273--278",
+  ISBN = "978-1-4503-0714-7",
+  Abstract = "In formal verification, a designer first constructs a
+              model, with mathematically precise semantics, of the
+              system under design, and performs extensive analysis
+              with respect to correctness requirements. The
+              appropriate mathematical model for embedded control
+              systems is hybrid systems that combines the traditional
+              state-machine based models for discrete control with
+              classical differential-equations based models for
+              continuously evolving physical activities. In this
+              article, we briefly review selected existing approaches
+              to formal verification of hybrid systems, along with
+              directions for future research."
+}
+
+ at Inproceedings{AlurKRS08,
+  Author = "R. Alur and A. Kanade and S. Ramesh and K. Shashidhar",
+  Title = "Symbolic Analysis for Improving Simulation Coverage
+           of Simulink/Stateflow Models",
+  Booktitle = "Proceedings of the 8th ACM {\&} IEEE International Conference
+               on Embedded Software (EMSOFT 2008)",
+  Address = "Atlanta, Georgia, USA",
+  Editor = "L. {de Alfaro} and J. Palsberg",
+  Publisher = "ACM Press",
+  Pages = "89--98",
+  Year = 2008,
+  ISBN = "978-1-60558-468-3",
+  Abstract = "Aimed at verifying safety properties and improving
+              simulation coverage for hybrid systems models of
+              embedded controlsoftware, we propose a technique that
+              combines numerical simulation and symbolic methods for
+              computing state-sets.  We consider systems with linear
+              dynamics described in the commercial modeling tool
+              Simulink/Stateflow.  Given an initial state $x$,
+              and a discrete-time simulation trajectory, our
+              method computes a set of initial states that are
+              guaranteed to be equivalent to $x$, where two initial
+              states are considered to be equivalent if the resulting
+              simulation trajectories contain the same discrete
+              components at each step of the simulation.  We illustrate
+              the benefits of our method on two case studies.
+              One case study is a benchmark proposed in the literature
+              for hybrid systems verification and another is a Simulink
+              demo model from Mathworks."
+}
+
+ at Inproceedings {AmatoPS10,
+  Author = "G. Amato and M. Parton and F. Scozzari",
+  Title = "A Tool Which Mines Partial Execution Traces to Improve
+           Static Analysis",
+  Booktitle = "Proceedings of the 1st International Conference on
+               Runtime Verification (RV 2010)",
+  Address = "Balluta Bay, St Julians, Malta",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "H. Barringer and Y. Falcone and B. Finkbeiner and K. Havelund
+            and I. Lee and G. Pace and G. Rosu and O. Sokolsky and
+            N. Tillmann",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-16611-2",
+  Pages =  "475--479",
+  Volume = 6418,
+  Year = 2010,
+  Abstract = "We present a tool which performs abstract interpretation
+              based static analysis of numerical variables. The
+              novelty is that the analysis is parametric, and
+              parameters are chosen by applying a variant of principal
+              component analysis to partial execution traces of
+              programs."
+}
+
+ at Inproceedings{AmatoS12,
+  Author = "G. Amato and F. Scozzari",
+  Title = "Random: R-Based Analyzer for Numerical Domains",
+  Booktitle = "Proceedings of the 18th International Conference
+               on Logic for Programming, Artificial Intelligence,
+               and Reasoning (LPAR 2012)",
+  Address = "M\'erida, Venezuela",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "N. Bj{\o}rner and A. Voronkov",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-28716-9",
+  Pages =  "375--382",
+  Volume = 7180,
+  Year = 2012,
+  Abstract = "We present the tool Random (R-based Analyzer for
+              Numerical DOMains) for static analysis of imperative
+              programs. The tool is based on the theory of abstract
+              interpretation and implements several abstract
+              domains for detecting numerical properties, in
+              particular integer loop invariants.  The tool
+              combines a statistical dynamic analysis with a static
+              analysis on the new domain of parallelotopes.  The
+              tool has a graphical interface for tuning the
+              parameters of the analysis and visualizing partial
+              traces."
+}
+
+ at Inproceedings{Andre10,
+  Author = "{\'E}. Andr{\'e}",
+  Title = "{IMITATOR~II}:
+           A Tool for Solving the Good Parameters Problem in Timed Automata",
+  Booktitle = "Proceedings of the 12th International Workshop
+               on Verification of Infinite State Systems (INFINITY'10)",
+  Editor = "Y.-F. Chen and A. Rezine",
+  Address = "Singapore",
+  Pages = "91--99",
+  Series = "Electronic Proceedings in Theoretical Computer Science",
+  Volume = 39,
+  Year = 2010,
+  Abstract = "We present here \textsc{Imitator}~II, a new version of
+             \textsc{Imitator}, a tool implementing the ``inverse
+             method'' for parametric timed automata: given a reference
+             valuation of the parameters, it synthesizes a constraint
+             such that, for any valuation satisfying this constraint,
+             the system behaves the same as under the reference
+             valuation in terms of traces, i.e., alternating sequences
+             of locations and actions. \textsc{Imitator}~II also
+             implements the ``behavioral cartography algorithm'',
+             allowing us to solve the following good parameters
+             problem: find a set of valuations within a given bounded
+             parametric domain for which the system behaves well. We
+             present new features and optimizations of the tool, and
+             give results of applications to various examples of
+             asynchronous circuits and communication protocols."
+}
+
+ at Techreport{AndreFS11TR,
+  Author = "{\'E}. Andr{\'e} and L. Fribourg and R. Soulat",
+  Title = "Enhancing the Inverse Method with State Merging",
+  Type = "Research report",
+  Number = "LSV-11-26",
+  Year = 2011,
+  Month = dec,
+  Institution = "Laboratoire Sp\'ecification \& V\'erification",
+  Address = "\'Ecole Normale Sup\'erieure de Cachan, Paris, France",
+  Abstract = "Keeping the state space small is essential when
+              verifying realtime systems using Timed Automata (TA). In
+              the model-checker Uppaal, the merging operation has been
+              used extensively in order to reduce the number of
+              states. Actually, Uppaal's merging technique applies
+              within the more general setting of Parametric Timed
+              Automata (PTA). The Inverse Method (IM) for a PTA A is a
+              procedure that synthesizes a zone around a given point
+              0 (parameter valuation) over which A is guaranteed to
+              behave similarly. We show that the integration of
+              merging into IM leads to the synthesis of larger zones
+              around 0. It also often improves the performance of
+              IM, both in terms of computational space and time, as
+              shown by our experimental results."
+}
+
+ at Inproceedings{ArmandoBM07,
+  Author = "A. Armando and M. Benerecetti and J. Mantovani",
+  Title = "Abstraction Refinement of Linear Programs with Arrays",
+  Booktitle = "Proceedings of the 13th International Conference on
+               Tools and Algorithms for the Construction and Analysis
+               of Systems (TACAS 2007)",
+  Address = "Braga, Portugal",
+  Editor = "O. Grumberg and M. Huth",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4424,
+  Pages = "373--388",
+  Year = 2007,
+  ISBN = "3-540-71208-4",
+  Abstract = "In previous work we presented a model checking procedure
+              for linear programs, i.e. programs in which variables
+              range over a numeric domain and expressions involve
+              linear combinations of the variables. In this paper we
+              lift our model checking procedure for linear programs to
+              deal with arrays via iterative abstraction
+              refinement. While most approaches are based on predicate
+              abstraction and therefore the abstraction is relative to
+              sets of predicates, in our approach the abstraction is
+              relative to sets of variables and array indexes, and the
+              abstract program can express complex correlations
+              between program variables and array elements. Thus,
+              while arrays are problematic for most of the approaches
+              based on predicate abstraction, our approach treats them
+              in a precise way. This is an important feature as arrays
+              are ubiquitous in programming.  We provide a detailed
+              account of both the abstraction and the refinement
+              processes, discuss their implementation in the eureka
+              tool, and present experimental results that confirm the
+              effectiveness of our approach on a number of programs of
+              interest."
+}
+
+ at Inproceedings{AsarinDFGLGM06,
+  Author = "E. Asarin and T. Dang and G. Frehse and A. Girard
+            and C. {Le Guernic} and O. Maler",
+  Title = "Recent Progress in Continuous and Hybrid Reachability Analysis",
+  Booktitle = "Proceedings of the IEEE International Symposium
+               on Computer-Aided Control Systems Design",
+  Address = "Technische Universit{\"a}t M{\"u}nchen, Munich, Germany",
+  Year = 2006,
+  Abstract = "Set-based reachability analysis computes all possible
+              states a system may attain, and in this sense provides
+              knowledge about the system with a completeness, or
+              coverage, that a finite number of simulation runs can
+              not deliver. Due to its inherent complexity, the
+              application of reachability analysis has been limited so
+              far to simple systems, both in the continuous and the
+              hybrid domain. In this paper we present recent advances
+              that, in combination, significantly improve this
+              applicability, and allow us to find better balance
+              between computational cost and accuracy. The
+              presentation covers, in a unified manner, a variety of
+              methods handling increasingly complex types of
+              continuous dynamics (constant derivative, linear,
+              nonlinear). The improvements include new geometrical
+              objects for representing sets, new approximation
+              schemes, and more flexible combinations of graph-search
+              algorithm and partition refinement. We report briefly
+              some preliminary experiments that have enabled the
+              analysis of systems previously beyond reach."
+}
+
+ at Inproceedings{Avery06,
+  Author = "J. Avery",
+  Title = "Size-Change Termination and Bound Analysis",
+  Booktitle = "Proceedings of the 8th International Symposium
+               on Functional and Logic Programming (FLOPS 2006)",
+  Address = "Fuji-Susono, Japan",
+  Editor = "M. Hagiya and P. Wadler",
+  Pages = "192--207",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3945,
+  Year = 2006,
+  ISBN = "3-540-33438-6",
+  Abstract = "Despite its simplicity, the size-change termination
+              principle, presented by Lee, Jones and Ben-Amram in
+              [LJB01], is surprisingly strong and is able to show
+              termination for a large class of programs. A significant
+              limitation for its use, however, is the fact that the
+              SCT requires data types to be well-founded, and that all
+              mechanisms used to determine termination must involve
+              decreases in these global, well-founded partial orders.
+              Following is an extension of the size-change principle
+              that allows for non-well founded data types, and a
+              realization of this principle for integer data
+              types. The extended size-change principle is realized
+              through combining abstract interpretation over the
+              domain of convex polyhedra with the use of size-change
+              graphs. In the cases when data types \emph{are} well
+              founded, the method handles every case that is handled
+              by LJB size-change termination.  The method has been
+              implemented in a subject language independent shared
+              library, \texttt{libesct} (available at [Ave05a]), as
+              well as for the ANSI C specializer
+              $\texttt{C-Mix}_\texttt{II}$, handling a
+              subset of its internal language \texttt{Core-C}."
+}
+
+ at Inproceedings{BagnaraR-CZ05,
+  Author = "R. Bagnara and E. Rodr{\'\i}guez-Carbonell and E. Zaffanella",
+  Title = "Generation of Basic Semi-algebraic Invariants
+           Using Convex Polyhedra",
+  Booktitle = "Static Analysis:
+               Proceedings of the 12th International Symposium",
+  Address = "London, UK",
+  Editor = "C. Hankin and I. Siveroni",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3672,
+  ISBN = "3-540-28584-9",
+  Year = 2005,
+  Pages = "19--34",
+  Abstract = "A technique for generating invariant polynomial
+              \emph{inequalities} of bounded degree is presented using
+              the abstract interpretation framework.  It is based on
+              overapproximating basic semi-algebraic sets, i.e., sets
+              defined by conjunctions of polynomial inequalities, by
+              means of convex polyhedra.  While improving on the
+              existing methods for generating invariant polynomial
+              \emph{equalities}, since polynomial inequalities are
+              allowed in the guards of the transition system, the
+              approach does not suffer from the prohibitive complexity
+              of the methods based on quantifier-elimination.  The
+              application of our implementation to benchmark programs
+              shows that the method produces non-trivial invariants in
+              reasonable time.  In some cases the generated invariants
+              are essential to verify safety properties that cannot be
+              proved with classical linear invariants."
+}
+
+ at Techreport{BagnaraR-CZ05TR,
+  Author = "R. Bagnara and E. Rodr{\'\i}guez-Carbonell and E. Zaffanella",
+  Title = "Generation of Basic Semi-algebraic Invariants
+           Using Convex Polyhedra",
+  Number = "LSI-05-14-R",
+  Type = "Report de recerca",
+  Institution = "Departament de Llenguatges i Sistemes Inform{\`a}tics,
+                 Universitat Polit{\`e}cnica de Catalunya, Barcelona, Spain",
+  Year = 2005,
+  Note = "Available at \url{http://www.lsi.upc.es/dept/techreps/techreps.html}"
+}
+
+ at Incollection{BandaG09,
+  Author = "G. Banda and J. P. Gallagher",
+  Title = "Analysis of Linear Hybrid Systems in {CLP}",
+  Booktitle = "Logic-Based Program Synthesis and Transformation",
+  Editor = "M. Hanus",
+  Pages = "55--70",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5438,
+  Year = 2009,
+  ISBN = "978-3-642-00514-5",
+  Note = "Revised selected papers presented at the 18th International
+          Symposium on Logic-Based Program Synthesis and Transformation
+          (LOPSTR 2008), Valencia, Spain, July 17--18, 2008",
+  Abstract = "In this paper we present a procedure for representing
+              the semantics of linear hybrid automata (LHAs) as
+              constraint logic programs (CLP); flexible and accurate
+              analysis and verification of LHAs can then be performed
+              using generic CLP analysis and transformation
+              tools. LHAs provide an expressive notation for
+              specifying real-time systems. The main contributions are
+              (i) a technique for capturing the reachable states of
+              the continuously changing state variables of the LHA as
+              CLP constraints; (ii) a way of representing events in
+              the LHA as constraints in CLP, along with a product
+              construction on the CLP representation including
+              synchronisation on shared events; (iii) a framework in
+              which various kinds of reasoning about an LHA can be
+              flexibly performed by combining standard CLP
+              transformation and analysis techniques.  We give
+              experimental results to support the usefulness of the
+              approach and argue that we contribute to the general
+              field of using static analysis tools for verification."
+}
+
+ at Inproceedings{BenerecettiFM11,
+  Author = "M. Benerecetti and M. Faella and S. Minopoli",
+  Title = "Towards Efficient Exact Synthesis for Linear Hybrid Systems",
+  Booktitle = "Proceedings of 2nd International Symposium on Games,
+               Automata, Logics and Formal Verification (GandALF 2011)",
+  Address = "Minori, Amalfi Coast, Italy",
+  Series = "Electronic Proceedings in Theoretical Computer Science",
+  Volume = 54,
+  Pages = "263--277",
+  Year = 2011,
+  Abstract = "We study the problem of automatically computing the
+              controllable region of a Linear Hybrid Automaton, with
+              respect to a safety objective. We describe the
+              techniques that are needed to effectively and
+              efficiently implement a recently-proposed solution
+              procedure, based on polyhedral abstractions of the state
+              space. Supporting experimental results are presented,
+              based on an implementation of the proposed techniques on
+              top of the tool PHAVer."
+}
+
+ at Inproceedings{BerendsenJV10,
+  Author = "J. Berendsen and D. N. Jansen and F. W. Vaandrager",
+  Title = "Fortuna: Model Checking Priced Probabilistic Timed Automata",
+  Booktitle = "Proceedings of the 7th International Conference on the
+               Quantitative Evaluation of Systems (QEST 2010)",
+  Address = "Williamsburg, Virginia, USA",
+  Publisher = "IEEE Computer Society",
+  Year = 2010,
+  Pages = "273--281",
+  ISBN = "978-0-7695-4188-4",
+  Abstract = "Fortuna is the first tool for model checking priced
+              probabilistic timed automata (PPTAs). PPTAs are an
+              important model that can handle the combination of
+              real-time, probabilistic and cost features. Only model
+              checkers that incorporate all these features can
+              address the key design trade-offs that arise in many
+              practical applications such as: the Zeroconf,
+              Bluetooth, IEEE802.11 and Firewire protocols, protocols
+              for sensor networks, and scheduling problems with
+              failures. PPTAs are an extension of probabilistic timed
+              automata (PTAs), by having cost-rates and discrete cost
+              increments on states. Fortuna is able to compute the
+              maximal probability by which a class of states can be
+              reached under a certain cost-bound (and time bound.)
+              Although the problem is undecidable in general, there
+              exists a semi-algorithm that produces a non-decreasing
+              sequence of maximal probabilities. This paper enhances
+              that algorithm. We compared the performance of Fortuna
+              with existing approaches for PTAs. Surprisingly,
+              although PPTAs are more general, our techniques exhibit
+              superior performance.",
+}
+
+ at TechReport{BeyL11TR,
+  Author = "A. Bey S. Leue",
+  Title = "Modeling and Analyzing Spike Timing Dependent Plasticity
+           with Linear Hybrid Automata",
+  Number = "soft-11-03",
+  Institution = "University of Konstanz, Germany",
+  Year = 2011,
+  Month = may,
+  Abstract = "We propose a model for synaptic plasticity according to
+              the Spike Timing Dependent Plasticity (STDP) theory
+              using Linear Hybrid Au- tomata (LHA). We first present a
+              compositional LHA model in which each component
+              corresponds to some process in STDP. We then ab- stract
+              this model into a monolithic LHA model in order to
+              enable formal analysis using hybrid model checking. We
+              discuss how the avail- ability of an LHA model as well
+              as its formal analysis using the tool PHAVer can support
+              a better understanding of the dynamics of STDP."
+}
+
+ at Inproceedings{BeyerG11,
+  Author = "M. Beyer and S. Glesner",
+  Title = "Static Run-Time Mode Extraction by State Partitioning
+           in Synchronous Process Networks",
+  Booktitle = "Proceedings of the 14th International Workshop on
+               Software and Compilers for Embedded Systems (SCOPES 2011)",
+  Year = 2011,
+  ISBN = "978-1-4503-0763-5",
+  Pages = "28--37",
+  URL = "http://doi.acm.org/10.1145/1988932.1988938",
+  Publisher = "ACM Press",
+  Address = "New York, NY, USA",
+  Abstract = "Process Networks (PNs) are used for modeling
+              streaming-oriented applications with changing behavior,
+              which must be mapped on a concurrent architecture to
+              meet the performance and energy constraints of embedded
+              devices. Finding an optimal mapping of Process Networks
+              to the constrained architecture presumes that the
+              behavior of the PN is statically known. In this paper we
+              present a static analysis for synchronous PNs that
+              partitions the state space according to extract run-time
+              modes based on a Data Augmented Control Flow Automaton
+              (DACFA). The result is a mode automaton whose nodes
+              describe identified program modes and whose edges
+              represent transitions among them. Optimizing back-ends
+              mapping from PNs to concurrent architectures can be
+              guided by these analysis results."
+}
+
+ at Inproceedings{BeyerG12,
+  Author = "M. Beyer and S. Glesner",
+  Title = "Static Analysis of Run-Time Modes in Synchronous Process Network",
+  Booktitle = "Perspectives of Systems Informatics: Proceedings of the
+               8th International Andrei Ershov Memorial Conference",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "E. Clarke and I. Virbitskaite and A. Voronkov",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-29708-3",
+  Pages =  "55--67",
+  Volume = 7162,
+  Year = 2012,
+  Abstract = "For modeling modern streaming-oriented applications,
+              Process Networks (PNs) are used to describe systems with
+              changing behavior, which must be mapped on a concurrent
+              architecture to meet the performance and energy
+              constraints of embedded devices. Finding an optimal
+              mapping of Process Networks to the constrained
+              architecture presumes that the behavior of the Process
+              Network is statically known. In this paper we present a
+              static analysis for synchronous PNs that extracts
+              different run-time modes by using polyhedral
+              abstraction. The result is a Mealy machine whose states
+              describe different run-time modes and the edges among
+              them represent transitions. This machine can be used to
+              guide optimizing backend mappings from PNs to concurrent
+              architectures."
+}
+
+ at Inproceedings{BouchyFL08,
+  Author = "F. Bouchy and A. Finkel and J. Leroux",
+  Title = "Decomposition of Decidable First-Order Logics
+           over Integers and Reals",
+  Booktitle = "Proceedings of the 15th International Symposium on
+               Temporal Representation and Reasoning (TIME '08)",
+  Address = "Montreal, Canada",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "147--155",
+  Year = 2008,
+  Abstract = "We tackle the issue of representing infinite sets of
+              real-valued vectors. This paper introduces an
+              operator for combining integer and real sets. Using
+              this operator, we decompose three well-known logics
+              extending Presburger with reals. Our decomposition
+              splits a logic into two parts : one integer, and one
+              decimal (i.e. on the interval $[0, 1[$). We also give
+              a basis for an implementation of our representation."
+}
+
+ at Inproceedings{BozgaGI09,
+  Author = "M. Bozga and C. G\^{\i}rlea and R. Iosif",
+  Title = "Iterating Octagons",
+  Booktitle = "Proceedings of the 15th International Conference on
+               Tools and Algorithms for the Construction and Analysis
+               of Systems (TACAS 2009)",
+  Address = "York, UK",
+  Editor = "S. Kowalewski and A. Philippou",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5505,
+  Pages = "337-351",
+  Year = 2009,
+  ISBN = "978-3-642-00767-5",
+  Abstract = "In this paper we prove that the transitive closure of a
+              nondeterministic octagonal relation using integer
+              counters can be expressed in Presburger arithmetic. The
+              direct consequence of this fact is that the reachability
+              problem is decidable for flat counter automata with
+              octagonal transition relations. This result improves the
+              previous results of Comon and Jurski [Hubert Comon and
+              Yan Jurski. Multiple counters automata, safety analysis
+              and presburger arithmetic. In \emph{CAV}, LNCS 1427, pages
+              268-279, 1998] and Bozga, Iosif and Lakhnech [Marius Bozga,
+              Radu Iosif, and Yassine Lakhnech. Flat parametric counter
+              automata. In \emph{ICALP}, LNCS 4052, pages 577-588.
+              Springer-Verlag, 2006] concerning the computation of
+              transitive closures for difference bound relations.
+              The importance of this result is justified by the wide
+              use of octagons to computing sound abstractions of
+              real-life systems [A. Min\'e. The octagon abstract domain.
+              \emph{Higher-Order and Symbolic Computation}, 19(1):31-100,
+              2006]. We have implemented the octagonal transitive closure
+              algorithm in a prototype system for the analysis of counter
+              automata, called FLATA, and we have experimented with a
+              number of test cases."
+}
+
+ at Inproceedings{BramanM08,
+  Title = "Safety Verification of Fault Tolerant Goal-based Control Programs
+           with Estimation Uncertainty",
+  Author = "J. M. B. Braman and R. M. Murray",
+  Booktitle = "Proceedings of the 2008 American Control Conference",
+  Address = "Seattle, Washington, USA",
+  Publisher = "IEEE Press",
+  Year = 2008,
+  Pages = "27--32",
+  ISSN = "0743-1619",
+  ISBN = "978-1-4244-2078-0",
+  Abstract = "Fault tolerance and safety verification of control
+              systems that have state variable estimation uncertainty
+              are essential for the success of autonomous robotic
+              systems. A software control architecture called mission
+              data system, developed at the Jet Propulsion Laboratory,
+              uses goal networks as the control program for autonomous
+              systems. Certain types of goal networks can be converted
+              into linear hybrid systems and verified for safety using
+              existing symbolic model checking software. A process for
+              calculating the probability of failure of certain
+              classes of verifiable goal networks due to state
+              estimation uncertainty is presented. A verifiable
+              example task is presented and the failure probability of
+              the control program based on estimation uncertainty is
+              found."
+}
+
+ at Techreport{Braun12TR,
+  Author = "V. Braun",
+  Title = "Counting Points and {Hilbert} Series in String Theory",
+  Institution = "University of Pennsylvania in Philadelphia, USA",
+  Number = "arXiv:1206.2236v1 [hep-th]",
+  Note = "Available from \url{http://arxiv.org/}",
+  Year = 2012,
+  Month = jun,
+  URL = "http://arxiv.org/abs/1206.2236v1",
+  Abstract = "The problem of counting points is revisited from the
+              perspective of reflexive 4-dimensional polytopes. As an
+              application, the Hilbert series of the 473,800,776
+              reflexive polytopes (equivalently, their Calabi-Yau
+              hypersurfaces) are computed."
+}
+
+
+ at Techreport{CacheraM-A05,
+  Author = "D. Cachera and K. Morin-Allory",
+  Title = "Proving Parameterized Systems: The Use of a Widening Operator
+          and Pseudo-Pipelines in Polyhedral Logic",
+  Type = "Research Report",
+  Number = "ISRN TIMA--RR-05/04-01--FR",
+  Institution = "TIMA Laboratory",
+  Address = "Grenoble, France",
+  Year = 2005,
+  Abstract = "We propose proof techniques and tools for the formal
+              verification of regular parameterized systems. These
+              systems are expressed in the polyhedral model, which
+              combines affine recurrence equations with index sets of
+              polyhedral shape. We extend a previously defined proof
+              system based on a polyhedral logic with the detection of
+              pseudo-pipelines, that are particular patterns in the
+              variable definitions generalizing the notion of
+              pipeline. The combination of pseudo-pipeline detection
+              with the use of a simple widening operator greatly
+              improves the effectiveness of our proof techniques."
+}
+
+ at Article{CarloniPPS-V06,
+  Author = "L. P. Carloni and R. Passerone and A. Pinto
+            and A. L. Sangiovanni-Vincentelli",
+  Title = "Languages and Tools for Hybrid Systems Design",
+  Journal = "Foundations and Trends. in Electronic Design Automation",
+  Volume = 1,
+  Number = "1/2",
+  Pages = "1--193",
+  Year = 2006,
+  Abstract = "The explosive growth of embedded electronics is bringing
+              information and control systems of increasing complexity
+              to every aspects of our lives. The most challenging
+              designs are safety-critical systems, such as
+              transportation systems (e.g., airplanes, cars, and
+              trains), industrial plants and health care
+              monitoring. The difficulties reside in accommodating
+              constraints both on functionality and
+              implementation. The correct behavior must be guaranteed
+              under diverse states of the environment and potential
+              failures; implementation has to meet cost, size, and
+              power consumption requirements. The design is therefore
+              subject to extensive mathematical analysis and
+              simulation. However, traditional models of information
+              systems do not interface well to the continuous evolving
+              nature of the environment in which these devices
+              operate.  Thus, in practice, different mathematical
+              representations have to be mixed to analyze the overall
+              behavior of the system. \emph{Hybrid systems} are a
+              particular class of mixed models that focus on the
+              combination of discrete and continuous subsystems. There
+              is a wealth of tools and languages that have been
+              proposed over the years to handle hybrid
+              systems. However, each tool makes different assumptions
+              on the environment, resulting in somewhat different
+              notions of hybrid system. This makes it difficult to
+              share information among tools. Thus, the community
+              cannot maximally leverage the substantial amount of work
+              that has been directed to this important topic. In this
+              paper, we review and compare hybrid system tools by
+              highlighting their differences in terms of their
+              underlying semantics, expressive power and mathematical
+              mechanisms.  We conclude our review with a comparative
+              summary, which suggests the need for a unifying approach
+              to hybrid systems design. As a step in this direction,
+              we make the case for a \emph{semantic-aware interchange
+              format}, which would enable the use of joint techniques,
+              make a formal comparison between different approaches
+              possible, and facilitate exporting and importing design
+              representations."
+}
+
+ at Article{ChakrabortyMS06,
+  Title = "Reasoning about Synchronization in {GALS} Systems",
+  Author = "S. Chakraborty and J. Mekie and D. K. Sharma",
+  Journal = "Formal Methods in System Design",
+  Publisher = "Springer Netherlands",
+  Volume = 28,
+  Number = 2,
+  Pages = "153--169",
+  Year = 2006,
+  Abstract = "Correct design of interface circuits is crucial for the
+              development of System-on-Chips (SoC) using off-the-shelf
+              IP cores. For correct operation, an interface circuit
+              must meet strict synchronization timing constraints, and
+              also respect sequencing constraints between events
+              dictated by interfacing protocols and rational clock
+              relations. In this paper, we propose a technique for
+              automatically analyzing the interaction between
+              independently specified synchronization constraints and
+              sequencing constraints between events. We show how this
+              analysis can be used to derive delay constraints for
+              correct operation of interface circuits in a GALS
+              system. Our methodology allows an SoC designer to mix
+              and match different interfacing protocols, rational
+              clock relations and synchronization constraints for
+              communication between a pair of modules, and
+              automatically explore their implications on correct
+              interface circuit design."
+}
+
+ at Inproceedings{ChenMC08,
+  Author = "L. Chen and A. Min{\'e} and P. Cousot",
+  Title = "A Sound Floating-Point Polyhedra Abstract Domain",
+  Booktitle = "Proceedings of the 6th Asian Symposium on
+               Programming Languages and Systems (APLAS 2008)",
+  Address = "Bangalore, India",
+  Editor = "G. Ramalingam",
+  Year = 2008,
+  Pages = "3--18",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5356,
+  ISBN = "978-3-540-89329-5",
+  Abstract = "The polyhedra abstract domain is one of the most
+              powerful and commonly used numerical abstract domains in
+              the field of static program analysis based on abstract
+              interpretation. In this paper, we present an
+              implementation of the polyhedra domain using
+              floating-point arithmetic without sacrificing soundness.
+              Floating-point arithmetic allows a compact memory
+              representation and an efficient implementation on
+              current hardware, at the cost of some loss of precision
+              due to rounding. Our domain is based on a
+              constraint-only representation and employs sound
+              floating-point variants of Fourier-Motzkin elimination
+              and linear programming. The preliminary experimental
+              results of our prototype are encouraging. To our
+              knowledge, this is the first time that the polyhedra
+              domain is adapted to floating-point arithmetic in a
+              sound way."
+}
+
+
+ at Inproceedings{ColonS11,
+  Author = "M. Col{\'o}n and S. Sankaranarayanan",
+  Title = "Generalizing the Template Polyhedral Domain",
+  Booktitle = "Proceedings of the 20th European Symposium on Programming
+              (ESOP 2011)",
+  Address = "Saarbr{\"u}cken, Germany",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "G. Barthe",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-19717-8",
+  Pages =  "176--195",
+  Volume = 6602,
+  Year = 2011,
+  Abstract = "Template polyhedra generalize weakly relational domains
+              by specifying arbitrary fixed linear expressions on the
+              left-hand sides of inequalities and undetermined
+              constants on the right. The domain operations required
+              for analysis over template polyhedra can be computed in
+              polynomial time using linear programming. In this paper,
+              we introduce the generalized template polyhedral domain
+              that extends template polyhedra using fixed left-hand
+              side expressions with bilinear forms involving program
+              variables and unknown parameters to the right. We prove
+              that the domain operations over generalized templates
+              can be defined as the ``best possible abstractions'' of
+              the corresponding polyhedral domain operations. The
+              resulting analysis can straddle the entire space of
+              linear relation analysis starting from the template
+              domain to the full polyhedral domain. We show that
+              analysis in the generalized template domain can be
+              performed by dualizing the join, post-condition and
+              widening operations. We also investigate the special
+              case of template polyhedra wherein each bilinear form
+              has at most two parameters. For this domain, we use the
+              special properties of two dimensional polyhedra and
+              techniques from fractional linear programming to derive
+              domain operations that can be implemented in polynomial
+              time over the number of variables in the program and the
+              size of the polyhedra. We present applications of
+              generalized template polyhedra to strengthen previously
+              obtained invariants by converting them into
+              templates. We describe an experimental evaluation of an
+              implementation over several benchmark systems."
+}
+
+ at Inproceedings{CovaFBV06,
+  Author = "M. Cova and V. Felmetsger and G. Banks and G. Vigna",
+  Title = "Static Detection of Vulnerabilities in x86 Executables",
+  Booktitle = "Proceedings of the 22nd Annual Computer Security Applications
+               Conference (ACSAC 22)",
+  Address = "Miami, Florida, USA",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "269--278",
+  Year = 2006,
+  Abstract = "In the last few years, several approaches have been
+              proposed to perform vulnerability analysis of
+              applications written in high-level languages. However,
+              little has been done to automatically identify
+              security-relevant flaws in binary code.
+
+              In this paper, we present a novel approach to the
+              identification of vulnerabilities in x86 executables in
+              ELF binary format. Our approach is based on static
+              analysis and symbolic execution techniques. We
+              implemented our approach in a proof-of-concept tool and
+              used it to detect taint-style vulnerabilities in binary
+              code.  The results of our evaluation show that our
+              approach is both practical and effective."
+}
+
+ at Inproceedings{DenmatGD07,
+  Author = "T. Denmat and A. Gotlieb and M. Ducass{\'e}",
+  Title = "An Abstract Interpretation Based Combinator for Modelling
+           While Loops in Constraint Programming",
+  Booktitle = "Proceedings of the 13th International Conference on
+               Principles and Practice of Constraint Programming (CP 2007)",
+  Address = "Providence, Rhode Island, USA",
+  Editor = "C. Bessiere",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4741,
+  Year = 2007,
+  Pages = "241--255",
+  ISBN = "978-3-540-74969-1",
+  Abstract = "We present the $w$ constraint combinator that models
+              while loops in Constraint Programming. Embedded in a
+              finite domain constraint solver, it allows programmers
+              to develop non-trivial arithmetical relations using
+              loops, exactly as in an imperative language style. The
+              deduction capabilities of this combinator come from
+              abstract interpretation over the polyhedra abstract
+              domain. This combinator has already demonstrated its
+              utility in constraint-based verification and we argue
+              that it also facilitates the rapid prototyping of
+              arithmetic constraints (e.g. power, gcd or sum)."
+}
+
+ at Inproceedings{DooseM05,
+  Author = "D. Doose and Z. Mammeri",
+  Title = "Polyhedra-Based Approach for Incremental Validation
+           of Real-Time Systems",
+  Booktitle = "Proceedings of the International Conference on
+               Embedded and Ubiquitous Computing (EUC 2005)",
+  Address = "Nagasaki, Japan",
+  Editor = "L. T. Yang and M. Amamiya and Z. Liu and M. Guo and F. J. Rammig",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3824,
+  Year = 2005,
+  Pages = "184--193",
+  ISBN = "3-540-30807-5",
+  Abstract = "Real-time embedded systems can be used in hightly
+              important or even vital tasks (avionic and medical
+              systems, etc.), thus having strict temporal constraints
+              that need to be validated. Existing solutions use
+              temporal logic, automata or scheduling
+              techniques. However, scheduling techniques are often
+              pessimistic and require an almost complete knowledge of
+              the system, and formal methods can be ill-fitted to
+              manipulate some of the concepts involved in real-time
+              systems.  In this article, we propose a method that
+              gives to the designer the advantages of formal methods
+              and some simplicity in manipulating real-time systems
+              notions. This method is able to model and validate all
+              the classical features of real-time systems, without any
+              pessimism, while guaranteeing the terminaison of the
+              validation process. Moreover, its formalism enables to
+              study systems of which we have only a partial knowledge,
+              and thus to validate or invalidate a system still under
+              design. This latest point is very important, since it
+              greatly decreases the cost of design backtracks."
+}
+
+ at Inproceedings{DoyenHR05,
+  Author = "L. Doyen and T. A. Henzinger and J.-F. Raskin",
+  Title = "Automatic Rectangular Refinement of Affine Hybrid Systems",
+  Booktitle = "Proceedings of the 3rd International Conference
+              on Formal Modeling and Analysis of Timed Systems (FORMATS 2005)",
+  Address = "Uppsala, Sweden",
+  Editor = "P. Pettersson and W. Yi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3829,
+  Pages = "144--161",
+  Year = 2005,
+  ISBN = "3-540-30946-2",
+  Abstract = "We show how to automatically construct and refine
+              rectangular abstractions of systems of linear
+              differential equations. From a hybrid automaton whose
+              dynamics are given by a system of linear differential
+              equations, our method computes automatically a sequence
+              of rectangular hybrid automata that are increasingly
+              precise overapproximations of the original hybrid
+              automaton. We prove an optimality criterion for
+              successive refinements. We also show that this method
+              can take into account a safety property to be verified,
+              refining only relevant parts of the state space. The
+              practicability of the method is illustrated on a
+              benchmark case study."
+}
+
+ at Techreport{DoyenHR05TR,
+  Author = "L. Doyen and T. A. Henzinger and J.-F. Raskin",
+  Title = "Automatic Rectangular Refinement of Affine Hybrid Systems",
+  Number = "2005.47",
+  Institution = "Centre F\'ed\'er\'e en V\'erification,
+                 Universit\'e Libre de Bruxelles, Belgium",
+  Year = 2005,
+  Abstract = "We show how to automatically construct and refine
+              rectangular abstractions of systems of linear
+              differential equations. From a hybrid automaton whose
+              dynamics are given by a system of linear differential
+              equations, our method computes automatically a sequence
+              of rectangular hybrid automata that are increasingly
+              precise overapproximations of the original hybrid
+              automaton. We prove an optimality criterion for
+              successive refinements. We also show that this method
+              can take into account a safety property to be verified,
+              refining only relevant parts of the state space. The
+              practicability of the method is illustrated on a
+              benchmark case study."
+}
+
+ at PhdThesis{Doyen06th,
+  Author = "L. Doyen",
+  Title = "Algorithmic Analysis of Complex Semantics
+           for Timed and Hybrid Automata",
+  School = "Universit\'e Libre de Bruxelles",
+  Address = "Bruxelles, Belgium",
+  Month = jun,
+  Year = 2006,
+  Abstract = "In the field of formal verification of real-time
+              systems, major developments have been recorded in the
+              last fifteen years. It is about logics, automata,
+              process algebra, programming languages, etc. From the
+              beginning, a formalism has played an important role:
+              \emph{timed automata} and their natural extension,
+              \emph{hybrid automata}. Those models allow the
+              definition of real-time constraints using real-valued
+              \emph{clocks}, or more generally \emph{analog variables}
+              whose evolution is governed by differential
+              equations. They generalize finite automata in that their
+              semantics defines \emph{timed words} where each symbol
+              is associated with an occurrence timestamp.
+
+              The \emph{decidability} and \emph{algorithmic analysis}
+              of timed and hybrid automata have been intensively
+              studied in the literature. The central result for timed
+              automata is that they are positively decidable. This is
+              not the case for hybrid automata, but semi-algorithmic
+              methods are known when the dynamics is relatively
+              simple, namely a linear relation between the derivatives
+              of the variables.  With the increasing complexity of
+              nowadays systems, those models are however limited in
+              their classical semantics, for modelling realistic
+              implementations or dynamical systems.
+
+              In this thesis, we study the algorithmics of
+              \emph{complex semantics} for timed and hybrid automata.
+              On the one hand, we propose implementable semantics for
+              timed automata and we study their computational
+              properties: by contrast with other works, we identify a
+              semantics that is implementable and that has decidable
+              properties.  On the other hand, we give new algorithmic
+              approaches to the analysis of hybrid automata whose
+              dynamics is given by an affine function of its
+              variables."
+}
+
+ at MastersThesis{Ellenbogen04th,
+  Author = "R. Ellenbogen",
+  Title = "Fully Automatic Verification of Absence of Errors
+           via Interprocedural Integer Analysis",
+  School = "School of  Computer Science, Tel-Aviv University",
+  Address = "Tel-Aviv, Israel",
+  Month = dec,
+  Year = 2004,
+  Abstract = "We present a interprocedural C String Static Verifier
+              (iCSSV), a whole program analysis algorithm for
+              verifying the safety of string operations in C
+              programs. The algorithm automatically proves linear
+              relationships among pointer expressions. The algorithm
+              is conservative, i.e., it infers only valid
+              relationships although it may fail to detect some of
+              them. The algorithm is targeted to programs with
+              ``shallow'' pointers and complex integer
+              relationships. Therefore, the algorithm combines
+              context-sensitive flow-insensitive pointer analysis of
+              pointer updates with contextsensitive and flow-sensitive
+              integer analysis of properties of allocation
+              sites. Context-sensitivity is achieved by specializing
+              pointer aliases to the context and functional integer
+              analysis. The algorithm is powerful enough to verify the
+              absence of string manipulation errors such as accesses
+              beyond buffer length and null terminating
+              character. Here the interprocedural analysis guarantees
+              that our algorithm is fully automatic, i.e., does not
+              require user annotations or any other intervention. A
+              prototype of the algorithm was implemented. Several
+              novel techniques are employed to make the
+              interprocedural analysis of realistic programs
+              feasible."
+}
+
+ at Inproceedings{FagesR09,
+  Author = "F. Fages and A. Rizk",
+  Title = "From Model-Checking to Temporal Logic Constraint Solving",
+  Booktitle = "Proceedings of the 15th International Conference
+               on Principles and Practice of Constraint Programming (CP 2009)",
+  Address = "Lisbon, Portugal",
+  Editor = "I. P. Gent",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5732,
+  Year = 2009,
+  Pages = "319--334",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-04243-0",
+  Abstract = "In this paper, we show how model-checking can be
+              generalized to temporal logic constraint solving, by
+              considering temporal logic formulae with free variables
+              over some domain ${\mathcal D}$, and by computing a
+              validity domain for the variables rather than a truth
+              value for the formula. This allows us to define a
+              continuous degree of satisfaction for a temporal logic
+              formula in a given structure, opening up the field of
+              model-checking to optimization. We illustrate this
+              approach with reverse-engineering problems coming from
+              systems biology, and provide some performance figures on
+              parameter optimization problems with respect to temporal
+              logic specifications."
+}
+
+ at Inproceedings{FenacciM11,
+  Author = "D. Fenacci and K. MacKenzie",
+  Title = "Static Resource Analysis for {Java} Bytecode Using Amortisation
+           and Separation Logic",
+  Booktitle = "Proceedings of the 6th Workshop on Bytecode Semantics,
+               Verification, Analysis and Transformation (Bytecode 2011)",
+  Address = "Saarbrucken, Germany",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 279,
+  Number = 1,
+  Pages =  "19--32",
+  Year = 2011,
+  ISSN = "1571-0661",
+  Abstract = "In this paper we describe a static analyser for Java
+              bytecode which uses a combination of amortised analysis
+              and Separation Logic due to Robert Atkey. With the help
+              of Java annotations we are able to give precise resource
+              utilisation constraints for Java methods which
+              manipulate various heap-based data structures."
+}
+
+ at MastersThesis{Flexeder05th,
+  Author = "A. Flexeder",
+  Title = "{Interprozedurale Analyse linearer Ungleichungen}",
+  Type = "Diploma thesis",
+  School = "Technische {Universit\"at} {M\"unchen}",
+  Address = "{M\"unchen}, Germany",
+  Month = jul,
+  Year = 2005,
+  Note = "In German",
+  Abstract = "{Diese Arbeit beschreibt eine intra- und auch
+              interprozedurale Datenflussanalyse, welche an jedem
+              Programmpunkt statisch die Beziehungen, die zwischen den
+              Programmvariablen gelten, bestimmen k\"onnen. Die
+              intraprozeduralen Analyse, beruhend auf einem Modell von
+              Cousot [P.~Cousot and N.~Halbwachs. Automatic discovery
+              of linear restraints among variables of a program.
+              Conference Record of the 5th Annunal ACM Symposium on
+              Principles of Programming Languages, pages 84--96, 1978]
+              interpretiert lineare Zuweisungen und Bedingungen und
+              betrachtet die nicht linearen Konstrukte mit Hilfe von
+              nicht linearen Zuweisungen. Mit dieser Abstraktion
+              versucht man lineare Gleichheits- und
+              Ungleichheitsbeziehungen zwischen den Programmvariablen
+              in Form von Polyedern rauszufinden. Da man nicht nur
+              eine Funktion, sondern ganze Programme als Zusammenspiel
+              mehrerer Funktionen, analysieren m\"ochte, ist eine
+              interprozedurale Analyse n\"otig [M.~Mueller-Olm and
+              H.~Seidl.  Precise Interprocedural Analysis through
+              Linear Algebra. POPL, 2004]. Diese soll mit den Mitteln
+              der linearen Algebra die affinen Beziehungen, welche
+              zwischen den Programmvariablen an einem bestimmten
+              Programmpunkt gelten, erkennen. Die Behandlung von
+              Prozeduraufrufen steht dabei im Vordergrund.}"
+}
+
+ at MastersThesis{FrankM02th,
+  Author = "S. Frank and P. R. Mai",
+  Title = "Strategies for Cooperating Constraint Solvers",
+  Type = "Diploma thesis",
+  School = "Technische {Universit\"at} Berlin",
+  Address = "Berlin, Germany",
+  Month = jul,
+  Year = 2002,
+  Abstract = "Cooperative constraint solving has been investigated by
+              several different research groups and individuals as it
+              provides a comfortable mechanism to attack multi-domain
+              constraint problems. The theoretical framework of
+              Hofstedt [P.~Hofstedt. Cooperation and Coordination of
+              Constraint Solvers. PhD thesis, Technische
+              {Universit\"at} Dresden, March 2001. Shaker Verlag,
+              Aachen] provided the basis for the prototypical
+              implementation described in [E.~Godehardt and
+              D.~Seifert.  Kooperation und Koordination von Constraint
+              Solvern --- Implementierung eines Prototyps. Master's
+              thesis, Technische Universit{\"a}t Berlin, January
+              2001]. Taking aboard the lessons learned in the
+              prototype, we introduce a revised implementation of the
+              framework, to serve as a flexible basis for the
+              conception and evaluation of advanced strategies for
+              solver cooperation. Several additional enhancements and
+              optimisations over the preceding implementation or the
+              underlying theoretical framework are described, proving
+              the correctness of those changes where necessary. Using
+              the newly implemented framework, we propose and
+              benchmark a set of new cooperation strategies,
+              iteratively refining them to the point where we can
+              offer a set of generally useful (i.e. non-problem
+              specific) strategies. Finally we introduce a strategy
+              language, that allows the user to define
+              problem-specific strategies, either from scratch or
+              derived from other strategies, and demonstrate the
+              effectiveness of the language on a well-known example
+              problem."
+}
+
+ at Inproceedings{Frehse04,
+  Author = "G. Frehse",
+  Title = "Compositional Verification of Hybrid Systems
+           with Discrete Interaction Using Simulation Relations",
+  Booktitle = "Proceedings of the IEEE Conference on Computer Aided
+               Control Systems Design (CACSD 2004)",
+  Address = "Taipei, Taiwan",
+  Year = 2004,
+  Abstract = "Simulation relations can be used to verify refinement
+              between a system and its specification, or between
+              models of different complexity. It is known that for the
+              verification of safety properties, simulation between
+              hybrid systems can be defined based on their labeled
+              transition system semantics. We show that for hybrid
+              systems without shared variables, which therefore only
+              interact at discrete events, this simulation preorder is
+              compositional, and present assume-guarantee rules that
+              help to counter the state explosion problem. Some
+              experimental results for simulation checking of linear
+              hybrid automata are provided using a prototype tool with
+              exact arithmetic and unlimited digits."
+}
+
+ at Inproceedings{FrehseHK04,
+  Author = "G. Frehse and Z. Han and B. Krogh",
+  Title = "Assume-Guarantee Reasoning for Hybrid {I/O}-Automata
+           by Over-Approximation of Continuous Interaction",
+  Booktitle = "Proceedings of the
+               43rd IEEE Conference on Decision and Control (CDC 2004)",
+  Address = "Atlantis, Paradise Island, Bahamas",
+  Year = 2004,
+  Abstract = "This paper extends assume-guarantee reasoning (AGR) to
+              hybrid dynamic systems that interact through continuous
+              state variables. We use simulation relations for timed
+              transition systems to analyze compositions of hybrid I/O
+              automata. This makes it possible to perform
+              compositional reasoning that is conservative in the
+              sense of over approximating the composed behaviors. In
+              contrast to previous approaches that require global
+              receptivity conditions, circularity is broken in our
+              approach by a state-based nonblocking condition that can
+              be checked in the course of computing the AGR simulation
+              relations. The proposed procedures for AGR are
+              implemented in a computational tool for the case of
+              linear hybrid I/O automata, and the approach is
+              illustrated with a simple example."
+}
+
+ at Inproceedings{Frehse05,
+  Author = "G. Frehse",
+  Title = "{PHAVer}: Algorithmic Verification of Hybrid Systems Past {HyTech}",
+  Booktitle = "Hybrid Systems: Computation and Control:
+               Proceedings of the 8th International Workshop (HSCC 2005)",
+  Address = "Z{\"u}rich, Switzerland",
+  Editor = "M. Morari and L. Thiele",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3414,
+  Pages = "258--273",
+  Year = 2005,
+  Abstract = "In 1995, HyTech broke new ground as a potentially
+              powerful tool for verifying hybrid systems --- yet it has
+              remained severely limited in its applicability to more
+              complex systems.  We address the main problems of HyTech
+              with PHAVer, a new tool for the exact verification of
+              safety properties of hybrid systems with piecewise
+              constant bounds on the derivatives.  Affine dynamics are
+              handled by on-the-fly overapproximation and by
+              partitioning the state space based on user-definable
+              constraints and the dynamics of the system.  PHAVer's
+              exact arithmetic is robust due to the use of the Parma
+              Polyhedra Library, which supports arbitrarily large
+              numbers. To manage the complexity of the polyhedral
+              computations, we propose methods to conservatively limit
+              the number of bits and constraints of polyhedra.
+              Experimental results for a navigation benchmark and a
+              tunnel diode circuit show the effectiveness of the
+              approach."
+}
+
+ at PhdThesis{Frehse05th,
+  Author = "G. Frehse",
+  Title = "Compositional Verification of Hybrid Systems
+           using Simulation Relations",
+  School = "Radboud Universiteit Nijmegen",
+  Address = "Nijmegen, The Netherlands",
+  Month = oct,
+  Year = 2005,
+}
+
+ at Article{Frehse08,
+  Author = "G. Frehse",
+  Title = "{PHAVer}: Algorithmic Verification of Hybrid Systems Past {HyTech}",
+  Journal = "Software Tools for Technology Transfer",
+  Publisher = "Springer-Verlag, Berlin",
+  Volume = 10,
+  Number = 3,
+  Year = 2008,
+  Pages = "263--279",
+  Abstract = "In 1995, HyTech broke new ground as a potentially
+              powerful tool for verifying hybrid systems --- yet its
+              appicability remains limited to relatively simple
+              systems. We address the main problems of HyTech with
+              PHAVer, a new tool for the exact verification of safety
+              properties of hybrid systems with piecewise constant
+              bounds on the derivatives. Affine dynamics are handled
+              by on-the-fly overapproximation, partitioning the state
+              space based on user-definable constraints and the
+              dynamics of the system. PHAVer features exact arithmetic
+              in a robust implementation that, based on the Parma
+              Polyhedra Library, supports arbitrarily large
+              numbers. To manage the complexity of the polyhedral
+              computations, we propose methods to conservatively limit
+              the number of bits and constraints of
+              polyhedra. Experimental results for a navigation
+              benchmark and a tunnel diode circuit show the
+              effectiveness of the approach."
+}
+
+ at Inproceedings{FrehseKRM06,
+  Author = "G. Frehse and B. H. Krogh and R. A. Rutenbar and O. Maler",
+  Title = "Time Domain Verification of Oscillator Circuit Properties",
+  Booktitle = "Proceedings of the First Workshop on Formal Verification
+               of Analog Circuits (FAC 2005)",
+  Address = "Edinburgh, Scotland",
+  Pages = "9--22",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 153,
+  Number = 3,
+  Year = 2006,
+  Abstract = "The application of formal methods to analog and mixed
+              signal circuits requires efficient methods for
+              constructing abstractions of circuit behaviors. This
+              paper concerns the verification of properties of
+              oscillator circuits. Generic monitor automata are
+              proposed to facilitate the application of hybrid system
+              reachability computations to characterize time domain
+              features of oscillatory behavior, such as bounds on the
+              signal amplitude and jitter. The approach is illustrated
+              for a nonlinear tunnel-diode circuit model using PHAVer,
+              a hybrid system analysis tool that provides sound
+              verification results based on linear hybrid automata
+              approximations and infinite precision computations."
+}
+
+ at Inproceedings{FrehseKR06,
+  Author = "G. Frehse and B. H. Krogh and R. A. Rutenbar",
+  Title = "Verifying Analog Oscillator Circuits Using Forward/Backward
+           Refinement",
+  Booktitle = "Proceedings of the 9th Conference on Design, Automation
+               and Test in Europe (DATE 06)",
+  Address = "Munich, Germany",
+  Publisher = "ACM SIGDA",
+  Year = 2006,
+  Note = "{CD-ROM} publication",
+  Abstract = "Properties of analog circuits can be verified formally
+              by partitioning the continuous state space and applying
+              hybrid system verification techniques to the resulting
+              abstraction.  To verify properties of oscillator
+              circuits, cyclic invariants need to be computed. Methods
+              based on forward reachability have proven to be
+              inefficient and in some cases inadequate in constructing
+              these invariant sets. In this paper we propose a novel
+              approach combining forward- and backward-reachability
+              while iteratively refining partitions at each step. The
+              technique can yield dramatic memory and runtime
+              reductions. We illustrate the effectiveness by
+              verifying, for the first time, the limit cycle
+              oscillation behavior of a third-order model of a
+              differential VCO circuit."
+}
+
+ at Inproceedings{FribourgK11,
+  author    = "L. Fribourg and U. K{\"u}hne",
+  title     = "Parametric Verification and Test Coverage for Hybrid Automata
+               Using the Inverse Method",
+  Booktitle = "In Proceedings of the 5th International Workshop
+               on Reachability Problems (RP 2011)",
+  Address = "Genova, Italy",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "G. Delzanno and I. Potapov",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-24287-8",
+  Pages =  "191--204",
+  Volume = 6945,
+  Year = 2011,
+  Abstract = "Hybrid systems combine continuous and discrete
+              behavior.  Hybrid Automata are a powerful formalism for
+              the modeling and verification of such systems. A common
+              problem in hybrid system verification is the good
+              parameters problem, which consists in identifying a set
+              of parameter valuations which guarantee a certain
+              behavior of a system. Recently, a method has been
+              presented for attacking this problem for Timed
+              Automata. In this paper, we show the extension of this
+              methodology for hybrid automata with linear and affine
+              dynamics. The method is demonstrated with a hybrid
+              system benchmark from the literature."
+}
+
+ at PhdThesis{Gobert07th,
+  Author = "F. Gobert",
+  Title = "Towards putting abstract interpretation of {Prolog} into practice:
+           design, implementation, and evaluation of a tool to verify
+           and optimise Prolog programs",
+  School = "Universit\'e catholique de Louvain",
+  Address = "Louvain-la-Neuve, Belgium",
+  Month = dec,
+  Year = 2007,
+  Abstract = "Logic programming is an attractive paradigm that allows
+              the programmer to concentrate on the meaning (the logic)
+              of the problem to be solved - the \emph{declarative layer}.
+              An execution model is then used as the problem solver - the
+              \emph{operational layer}. In practice, for efficiency reasons,
+              the semantics of the two layers do not always match. For
+              instance, in Prolog, the computation of solutions is based
+              on an incomplete depth-first search rule, unifications and
+              negations may be unsound, some builtin language primitives
+              are not multidirectional, and there exist extralogical
+              features like the cut or dynamic predicates. A large number
+              of work has been realised to reconcile the declarative and
+              operational features of Prolog. Methodologies have been
+              proposed to construct operationally correct and efficient
+              Prolog code. Researchers have designed methods to automate
+              the verification of specific operational properties on which
+              optimisation of logic programs can be based. A few tools have
+              been implemented but there is a lack of a unified framework.
+              The goal and topic of this thesis is the design, implementation,
+              and evaluation of a static analyser of Prolog programs to
+              integrate `state-of-the-art' techniques into a unified abstract
+              interpretation framework. Abstract interpretation is an
+              adequate methodology to design, justify, and combine complex
+              analyses. The analyser that we present in this thesis is based
+              on a non-implemented original proposal. The original framework
+              defines the notion of \emph{abstract sequence}, which allows
+              one to verify many desirable operational properties of a logic
+              procedure. The properties include verifying type, mode, and
+              sharing of terms, proving termination, sure success or failure,
+              and determinacy of logic procedures, as well as linear
+              relations between the size of input/output terms and the
+              number of solutions to a call. An abstract sequence maintains
+              information about the input and output terms, as well as the
+              non-failure conditions on input terms, and the number of
+              solutions for such inputs. The domains of abstract sequences
+              cooperate together and improve each other. The abstract
+              execution is performed during a single global analysis,
+              and abstract sequences are derived at each program point
+              (the information of the various domains are computed
+              simultaneously). The intended operational properties of a
+              procedure are written in formal specifications.
+              The original framework is an interesting starting point for
+              combining several analyses inside a unified framework.
+              However, it is limited and inaccurate in many ways: it is
+              not implemented, and therefore, it has not been validated
+              by experiments, it accepts only a subset of Prolog (without
+              negation, cut, conditional and disjunctive constructs), and
+              some of the proposed domains are not precise enough.
+              The basic framework is only oriented towards the verification
+              of Prolog programs, but it cannot always prove the desirable
+              properties. In this thesis, we implement and evaluate the
+              basic framework, and, more importantly, we overcome its
+              limitations to make it accurate and usable in practice:
+              the improved framework accepts any Prolog program with modules,
+              new abstract domains and operations are added, and the
+              language of specifications is more expressive. We also
+              design and implement an optimiser that generates specialised
+              code. Optimisation is essential in Prolog, but it is not easy
+              to perform by hand and it is error prone. The optimiser uses
+              the information to safely apply source-to-source
+              transformations. Code transformations include clause and
+              literal reordering, introduction of cuts, and removal
+              of redundant literals. The optimiser follows a precise
+              strategy to choose the most rewarding transformations in best
+              order.
+              This thesis shows the feasibility of a unified framework
+              that integrates many complex analyses in a single global
+              analysis. Practically and theoretically, a single global
+              analysis is more attractive than a combination of a lot of
+              separate analyses and frameworks. Many extensions have been
+              performed to obtain an accurate and usable tool devoted to
+              verification and optimisation of Prolog programs."
+}
+
+ at Inproceedings{GobertLC07,
+  Author = "F. Gobert and B. {Le Charlier}",
+  Title = "A System to Check Operational Properties of Logic Programs",
+  Pages = "245--259",
+  Booktitle = "Approches Formelles dans l'Assistance au D\'eveloppement
+               de Logiciels: Actes de la 8e conf\'erence",
+  Publisher = "Universit\'e de Namur, Belgium",
+  Editor = "M.-L. Potet and P.-Y. Schobbens and H. Toussaint and G. Saval",
+  Year = 2007,
+  ISBN = "978-2-87037-559-4",
+  Abstract = "An implemented static analyser of logic programs is presented.
+              The system is based on a unied abstract interpretation
+              framework, which allows the integration of several analyses
+              devoted to verication and optimisation. The analyser is able
+              to verify many desirable properties of logic programs executed
+              with the search-rule and other specic features of Prolog.
+              Such operational properties include verifying type, mode,
+              sharing, and linearity of terms, proving termination,
+              occur-check freeness, sure success or failure, and determinacy
+              of logic procedures, as well as linear relations between the
+              size of input/output terms and the number of solutions to a
+              call. It is emphasized how each analysis may contribute to
+              each other.",
+}
+
+ at Inproceedings{GonnordH06,
+  Author = "L. Gonnord and N. Halbwachs",
+  Title = "Combining Widening and Acceleration in Linear Relation Analysis",
+  Booktitle = "Static Analysis:
+               Proceedings of the 13th International Symposium",
+  Address = "Seoul, Korea",
+  Editor = "K. Yi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4134,
+  Pages = "144--160",
+  Year = 2006,
+  ISBN = "3-540-37756-5",
+  Abstract = "Linear Relation Analysis [CH78,Hal79] is one of the
+              first, but still one of the most powerful, abstract
+              interpretations working in an infinite lattice. As such,
+              it makes use of a widening operator to enforce the
+              convergence of fixpoint computations. While the
+              approximation due to widening can be arbitrarily refined
+              by delaying the application of widening, the analysis
+              quickly becomes too expensive with the increase of
+              delay. Previous attempts at improving the precision of
+              widening are not completely satisfactory, since none of
+              them is guaranteed to improve the precision of the
+              result, and they can nevertheless increase the cost of
+              the analysis. In this paper, we investigate an
+              improvement of Linear Relation Analysis consisting in
+              computing, when possible, the exact (abstract) effect of
+              a loop. This technique is fully compatible with the use
+              of widening, and whenever it applies, it improves both
+              the precision and the performance of the analysis.",
+}
+
+ at PhdThesis{Gopan07th,
+  Author = "D. Gopan",
+  Title = "Numeric Program Analysis Techniques with Applications
+           to Array Analysis and Library Summarization",
+  School = "University of Wisconsin",
+  Address = "Madison, Wisconsin, USA",
+  Month = aug,
+  Year = 2007,
+  Abstract = "Numeric program analysis is of great importance for the
+              areas of software engineering, software
+              verification, and security: to identify many program
+              errors, such as out-of-bounds array accesses and
+              integer overflows, which constitute the lion's share
+              of security vulnerabilities reported by CERT, an
+              analyzer needs to establish numeric properties of
+              program variables. Many important program analyses,
+              such as low-level code analysis, memory-cleanness
+              analysis, and shape analysis, rely in some ways on
+              numeric-program-analysis techniques. However,
+              existing numeric abstractions are complex (numeric
+              abstract domains are typically non-distributive, and
+              form infinite-height lattices); thus, obtaining
+              precise numeric-analysis results is by no means a
+              trivial undertaking.
+              In this thesis, we develop a suite of techniques with
+              the common goal of improving the precision and applicability
+              of numeric program analysis. The techniques address
+              various aspects of numeric analysis, such as
+              handling dynamically-allocated memory, dealing with
+              programs that manipulate arrays, improving the
+              precision of extrapolation (widening), and
+              performing interprocedural analysis. The techniques
+              use existing numeric abstractions as building
+              blocks. The communication with existing abstractions
+              is done strictly through a generic abstract-domain
+              interface. The abstractions constructed by our
+              techniques also expose that same interface, and
+              thus, are compatible with existing analysis
+              engines. As a result, our techniques are independent
+              from specific abstractions and specific analysis
+              engines, can be easily incorporated into existing
+              program-analysis tools, and should be readily
+              compatible with new abstractions to be introduced in
+              the future.
+              A practical application of numeric analysis that we consider
+              in this thesis is the automatic generation of summaries for
+              library functions from their low-level
+              implementation (that is, from a library's
+              binary). The source code for library functions is
+              typically not available. This poses a stumbling
+              block for many source-level program
+              analyses. Automatic generation of summary functions
+              will both speed up and improve the accuracy of
+              library-modeling, a process that is currently
+              carried out by hand. This thesis addresses the
+              automatic generation of summaries for memory-safety
+              analysis."
+}
+
+ at Inproceedings{GopanR06,
+  Author = "D. Gopan and T. W. Reps",
+  Title = "Lookahead Widening",
+  Booktitle = "Computer Aided Verification:
+               Proceedings of the 18th International Conference (CAV 2006)",
+  Address = "Seattle, Washington, USA",
+  Editor = "T. Ball and R. B. Jones",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4144,
+  Pages = "452--466",
+  Year = 2006,
+  Abstract = "We present \emph{lookahead widening}, a novel technique
+              for using existing widening and narrowing operators to
+              improve the precision of static analysis. This technique
+              is both self-contained and fully-automatic in the sense
+              that it does not rely on separate analyzes or human
+              involvement. We show how to integrate lookahead widening
+              into existing analyzers with minimal
+              effort. Experimental results indicate that the technique
+              is able to achieve sizable precision improvements at
+              reasonable costs.",
+}
+
+ at Inproceedings{GopanR07a,
+  Author = "D. Gopan and T. W. Reps",
+  Title = "Low-Level Library Analysis and Summarization",
+  Booktitle = "Computer Aided Verification:
+               Proceedings of the 19th International Conference (CAV 2007)",
+  Address = "Berlin, Germany",
+  Editor = "W. Damm and H. Holger",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4590,
+  Pages = "68--81",
+  Year = 2007,
+  ISBN = "3-540-73367-6",
+  Abstract = "Programs typically make extensive use of libraries,
+              including dynamically linked libraries, which are often
+              not available in source-code form, and hence not
+              analyzable by tools that work at source level (i.e.,
+              that analyze intermediate representations created from
+              source code). A common approach is to write
+              \emph{library models} by hand. A library model is a
+              collection of function stubs and variable declarations
+              that capture some aspect of the library code's
+              behavior. Because these are hand-crafted, they are
+              likely to contain errors, which may cause an analysis to
+              return incorrect results.
+
+              This paper presents a method to construct summary
+              information for a library function automatically by
+              analyzing its low-level implementation (i.e., the
+              library's binary).",
+}
+
+ at Inproceedings{GopanR07b,
+  Author = "D. Gopan and T. W. Reps",
+  Title = "Guided Static Analysis",
+  Booktitle = "Static Analysis:
+               Proceedings of the 14th International Symposium",
+  Address = "Kongens Lyngby, Denmark",
+  Editor = "G. Fil\'e and H. R. Nielson",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4634,
+  ISBN = "978-3-540-74060-5",
+  Pages = "349--365",
+  Year = 2007,
+  Abstract = "In static analysis, the semantics of the program is
+              expressed as a set of equations. The equations are
+              solved iteratively over some abstract domain. If the
+              abstract domain is distributive and satisfies the
+              ascending-chain condition, an iterative technique yields
+              the most precise solution for the equations. However, if
+              the above properties are not satisfied, the solution
+              obtained is typically imprecise. Moreover, due to
+              the properties of widening operators, the precision loss
+              is sensitive to the order in which the state-space is
+              explored.
+
+              In this paper, we introduce \emph{guided static analysis},
+              a framework for controlling the exploration of the
+              state-space of a program. The framework guides the
+              state-space exploration by applying standard
+              static-analysis techniques to a sequence of modified
+              versions of the analyzed program. As such, the framework
+              does not require any modifications to existing analysis
+              techniques, and thus can be easily integrated into
+              existing static-analysis tools.
+
+              We present two instantiations of the framework, which
+              improve the precision of widening in (i) loops with
+              multiple phases and (ii) loops in which the transformation
+              performed on each iteration is chosen non-deterministically.",
+}
+
+ at Inproceedings{GopanRS05,
+  Author = "D. Gopan and T. W. Reps and M. Sagiv",
+  Title = "A Framework for Numeric Analysis of Array Operations",
+  Booktitle = "Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium
+               on Principles of Programming Languages",
+  Address = "Long Beach, California, USA",
+  Pages = "338--350",
+  Year = 2005,
+  Abstract = "Automatic discovery of relationships among values of
+              array elements is a challenging problem due to the
+              unbounded nature of arrays. We present a framework for
+              analyzing array operations that is capable of capturing
+              numeric properties of array elements. In particular, the
+              analysis is able to establish that all array elements
+              are initialized by an array-initialization loop, as well
+              as to discover numeric constraints on the values of
+              initialized elements.  The analysis is based on the
+              combination of canonical abstraction and summarizing
+              numeric domains. We describe a prototype implementation
+              of the analysis and discuss our experience with applying
+              the prototype to several examples, including the
+              verification of correctness of an insertion-sort
+              procedure."
+}
+
+ at Inproceedings{BandaG10a,
+  Author = "G. Banda and J. P. Gallagher",
+  Title = "Constraint-Based Abstraction of a Model Checker
+           for Infinite State Systems",
+  Booktitle = "Proceedings of the 23rd Workshop on (Constraint)
+               Logic Programming (WLP 2009)",
+  Editor = "U. Geske and A. Wolf",
+  Address = "Potsdam, Germany",
+  Publisher = "Potsdam Universit{\"a}tsverlag",
+  Year = 2010,
+  Pages = "109--124",
+  Abstract = "Abstract interpretation-based model checking provides an
+              approach to verifying properties of infinite-state
+              systems. In practice, most previous work on abstract
+              model checking is either restricted to verifying
+              universal properties, or develops special techniques for
+              temporal logics such as modal transition systems or
+              other dual transition systems. By contrast we apply
+              completely standard techniques for constructing abstract
+              interpretations to the abstraction of a CTL semantic
+              function, without restricting the kind of properties
+              that can be verified.  Furthermore we show that this
+              leads directly to implementation of abstract model
+              checking algorithms for abstract domains based on
+              constraints, making use of an SMT solver."
+}
+
+ at Inproceedings{BandaG10b,
+  Author = "G. Banda and J. P. Gallagher",
+   Title = "Constraint-Based Abstract Semantics for Temporal Logic:
+            A Direct Approach to Design and Implementation",
+   Booktitle = "Proceedings of the 17th International Conference
+                on Logic for Programming,
+                Artificial Intelligence, and Reasoning (LPAR 2010)",
+   Address = "Yogyakarta, Indonesia",
+   Series = "Lecture Notes in Computer Science",
+   Editor = "E. Clarke and A. Voronkov",
+   Publisher = "Springer-Verlag, Berlin",
+   ISBN = "978-3-642-17510-7",
+   Year = 2010,
+   Pages =  "27--45",
+   Volume = 6355,
+   Abstract = "Abstract interpretation provides a practical approach
+               to verifying properties of infinite-state systems. We
+               apply the framework of abstract interpretation to
+               derive an abstract semantic function for the modal ?
+               -calculus, which is the basis for abstract model
+               checking. The abstract semantic function is constructed
+               directly from the standard concrete semantics together
+               with a Galois connection between the concrete
+               state-space and an abstract domain. There is no need
+               for mixed or modal transition systems to abstract
+               arbitrary temporal properties, as in previous work in
+               the area of abstract model checking. Using the modal ?
+               -calculus to implement CTL, the abstract semantics
+               gives an over-approximation of the set of states in
+               which an arbitrary CTL formula holds. Then we show that
+               this leads directly to an effective implementation of
+               an abstract model checking algorithm for CTL using
+               abstract domains based on linear constraints. The
+               implementation of the abstract semantic function makes
+               use of an SMT solver. We describe an implemented system
+               for proving properties of linear hybrid automata and
+               give some experimental results."
+}
+
+ at Inproceedings{Grosser09,
+  Author = "T. Grosser",
+  Title = "Optimization opportunities based on the polyhedral model in
+           {GRAPHITE}. How much impact has {GRAPHITE} already?",
+  Booktitle = "Proceedings of the {GCC} Developers' Summit",
+  Address = "Montreal, Quebec, Canada",
+  Year = 2009,
+  Month = jun,
+  Pages = "33--46",
+  URL = "http://www.gccsummit.org/2009/gcc09-proceedings.pdf",
+  Abstract = "The polytope model is used since many years to describe
+              standard loop optimizations like blocking, interchange
+              or fusion, but also advanced memory access optimizations
+              and automatic parallelization. Its exact mathematical
+              description of memory accesses and loop iterations
+              allows to concentrate on the optimization problem and to
+              take advantage of professional problem solving tools
+              developed for operational research.  Up to today the
+              polytope model was limited to research compilers or
+              source to source transformations. Graphite generates a
+              polytope description of all programs compiled by the
+              gcc. Therefore polytope optimization techniques are not
+              limited anymore to hand selected code pieces, but can
+              actually be applied in large scale on real world
+              programs. By showing the impact of GRAPHITE on important
+              benchmarks --- ``How much runtime is actually spent in
+              code, that can be optimized by polytope optimization
+              techniques?'' --- we invite people to base their current
+              polytope research on GRAPHITE to make these
+              optimizations available to the large set of gcc compiled
+              applications."
+}
+
+ at Inproceedings{GulavaniR06,
+  Author = "B. S. Gulavani and S. K. Rajamani",
+  Title = "Counterexample Driven Refinement for Abstract Interpretation",
+  Booktitle = "Proceedings of the 12th International Conference on
+               Tools and Algorithms for the Construction and Analysis
+               of Systems (TACAS 2006)",
+  Address = "Vienna, Austria",
+  Editor = "H. Hermanns and J. Palsberg",
+  Pages = "474--488",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3920,
+  Year = 2006,
+  ISBN = "3-540-33056-9",
+  Abstract = "Abstract interpretation techniques prove properties of
+              programs by computing abstract fixpoints. All such
+              analyses suffer from the possibility of false errors. We
+              present a new counterexample driven refinement technique
+              to reduce false errors in abstract interpretations.  Our
+              technique keeps track of the precision losses during
+              forward fixpoint computation, and does a precise
+              backward propagation from the error to either confirm
+              the error as a true error, or identify a refinement so
+              as to avoid the false error.  Our technique is quite
+              simple, and is independent of the specific abstract
+              domain used. An implementation of our technique for
+              affine transition systems is able to prove invariants
+              generated by the StInG tool [19] without doing any
+              specialized analysis for linear relations. Thus, we hope
+              that the technique can work for other abstract domains
+              as well.We sketch how our technique can be used to
+              perform shape analysis by simply defining an appropriate
+              widening operator over shape graphs."
+}
+
+ at Inproceedings{GulwaniL-AS09,
+  Author = "S. Gulwani and T. Lev-Ami and S. Sagiv",
+  Title = "A Combination Framework for Tracking Partition Sizes",
+  Booktitle = "Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on
+               Principles of Programming Languages (POPL 2009)",
+  Address = "Savannah, Georgia, USA",
+  Editor = "Z. Shao and B. C. Pierce",
+  Publisher = "ACM Press",
+  Pages = "239--251",
+  Year = 2009,
+  ISBN = "978-1-60558-379-2",
+  Abstract = "We describe an abstract interpretation based framework
+              for proving relationships between sizes of memory
+              partitions. Instances of this framework can prove
+              traditional properties such as memory safety and program
+              termination but can also establish upper bounds on usage
+              of dynamically allocated memory. Our framework also
+              stands out in its ability to prove properties of
+              programs manipulating both heap and arrays which is
+              considered a difficult task.  Technically, we define an
+              abstract domain that is parameterized by an abstract
+              domain for tracking memory partitions (sets of memory
+              locations) and by a numerical abstract domain for
+              tracking relationships between cardinalities of the
+              partitions. We describe algorithms to construct the
+              transfer functions for the abstract domain in terms of
+              the corresponding transfer functions of the
+              parameterized abstract domains.  A prototype of the
+              framework was implemented and used to prove interesting
+              properties of realistic programs, including programs
+              that could not have been automatically analyzed before."
+}
+
+ at Article{HalbwachsMG06,
+  Author = "N. Halbwachs and D. Merchat and L. Gonnord",
+  Title = "Some Ways To Reduce the Space Dimension in Polyhedra Computations",
+  Journal = "Formal Methods in System Design",
+  Publisher = "Springer Netherlands",
+  Volume = 29,
+  Number = 1,
+  Pages = "79--95",
+  Year = 2006,
+  Abstract = "Convex polyhedra are often used to approximate sets of
+              states of programs involving numerical variables. The
+              manipulation of convex polyhedra relies on the so-called
+              \emph{double description}, consisting of viewing a
+              polyhedron both as the set of solutions of a system of
+              linear inequalities, and as the convex hull of a
+              \emph{system of generators}, i.e., a set of vertices and
+              rays. The cost of these manipulations is highly
+              dependent on the number of numerical variables, since
+              the size of each representation can be exponential in
+              the dimension of the space. In this paper, we
+              investigate some ways for reducing the dimension: On one
+              hand, when a polyhedron satisfies \emph{affine
+              equations}, these equations can obviously be used to
+              eliminate some variables. On the other hand, when groups
+              of variables are unrelated with each other, this means
+              that the polyhedron is in fact a \emph{Cartesian
+              product} of polyhedra of lower dimensions. Detecting
+              such Cartesian factoring is not very difficult, but we
+              adapt also the operations to work on Cartesian
+              products. Finally, we extend the applicability of
+              Cartesian factoring by applying suitable \emph{variable
+              change}, in order to maximize the factoring."
+}
+
+ at Inproceedings{HalbwachsMP-V03,
+  Author = "N. Halbwachs and D. Merchat and C. Parent-Vigouroux",
+  Title = "Cartesian Factoring of Polyhedra in Linear Relation Analysis",
+  Booktitle = "Static Analysis:
+               Proceedings of the 10th International Symposium",
+  Address = "San Diego, California, USA",
+  Editor = "R. Cousot",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2694,
+  Year = 2003,
+  Pages = "355--365",
+  Abstract = "Linear Relation Analysis [CH78] suffers from the cost of
+              operations on convex polyhedra, which can be exponential
+              with the number of involved variables. In order to
+              reduce this cost, we propose to detect when a polyhedron
+              is a Cartesian product of polyhedra of lower dimensions,
+              i.e., when groups of variables are unrelated with each
+              other. Classical operations are adapted to work on such
+              factored polyhedra. Our implementation shows encouraging
+              experimental results."
+}
+
+ at Inproceedings{HenriksenG06,
+  Author = "K. S. Henriksen and J. P. Gallagher",
+  Title = "Abstract Interpretation of {PIC} Programs
+           through Logic Programming",
+  Booktitle = "Proceedings of the 6th IEEE International Workshop
+               on Source Code Analysis and Manipulation",
+  Address = "Sheraton Society Hill, Philadelphia, PA, USA",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "184--196",
+  Year = 2006,
+  Abstract = "A logic based general approach to abstract
+              interpretation of low-level machine programs is
+              reported. It is based on modelling the behavior of the
+              machine as a logic program.  General purpose program
+              analysis and transformation of logic programs, such as
+              partial evaluation and convex hull analysis, are applied
+              to the logic based model of the machine.
+
+              A small PIC microcontroller is used as a case study. An
+              emulator for this microcontroller is written in Prolog,
+              and standard programming transformations and analysis
+              techniques are used to specialise this emulator with
+              respect to a given PIC program. The specialised emulator
+              can now be further analysed to gain insight into the
+              given program for the PIC microcontroller.
+
+              The method describes a general framework for applying
+              abstractions, illustrated here by linear constraints and
+              convex hull analysis, to logic programs. Using these
+              techniques on the specialised PIC emulator, it is
+              possible to obtain constraints on and linear relations
+              between data registers, enabling detection of for
+              instance overflows, branch conditions and so on."
+}
+
+ at PhdThesis{Henriksen07th,
+  Author = "K. S. Henriksen",
+  Title = "A Logic Programming Based Approach to Applying
+           Abstract Interpretation to Embedded Software",
+  School = "Computer Science, Roskilde University",
+  Month = oct,
+  Address = "Roskilde, Denmark",
+  Year = 2007,
+  Note = "Published as Computer Science Research Report \#117",
+  Abstract = "Abstract interpretation is a general framework for
+              static program analysis. In recent years this framework
+              has been used outside academia for verification of
+              embedded and real-time systems. Airbus and the European
+              Space Agency are examples of organisations that have
+              successfully adapted this analysis framework
+              for verification of critical components.
+              Logic programming is a programming paradigm with a sound
+              mathematical foundation. One of its characteristics is
+              the separation of logic (the meaning of a program) and
+              control (how it is executed); hence logic programming,
+              and in particular its extension with constraints, is a
+              language comparatively well suited for program analysis.
+              In this thesis logic programming is used to analyse
+              software developed for embedded systems. The particular
+              embedded system is modeled as an emulator written as a
+              constraint logic program. The emulator is specialised
+              with respect to some object program in order to obtain
+              a constraint logic program isomorphic to this object
+              program. Applying abstract interpretation based
+              analysers to the specialised emulator will provide
+              analysis results that can directly be related back
+              to the object program due to the isomorphism maintained
+              between the object program and the specialised emulator.
+              Two abstract interpretation based analysers for logic
+              programs have been developed.  The first is a convex
+              polyhedron analyser for constraint logic programs
+              implementing a set of widening techniques for improved
+              precision of the analysis.  The second analyser is a type
+              analysis tool for logic programs that automatically
+              derives a pre-interpretation from a regular type definition.
+              Additionallly, a framework for using a restricted form of
+              logic programming, namely Datalog, to express and check
+              program properties is described.  At the end of the thesis
+              it is shown how instrumenting the semantics of the emulator
+              can be used to obtain, for instance, a fully automatic
+              Worst Case Execution Time analysis by applying the convex
+              polyhedron analyser to the instrumented and specialised
+              emulator.  The tools developed in this thesis have all
+              been made available online for demonstration."
+}
+
+ at Inproceedings{HymansU04,
+  Author = "C. Hymans and E. Upton",
+  Title = "Static Analysis of Gated Data Dependence Graphs",
+  Booktitle = "Static Analysis:
+               Proceedings of the 11th International Symposium",
+  Address = "Verona, Italy",
+  Editor = "R. Giacobazzi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3148,
+  Year = 2004,
+  Pages = "197--211",
+  Abstract = "Several authors have advocated the use of the gated data
+              dependence graph as a compiler intermediate
+              representation. If this representation is to gain
+              acceptance, it is important to show that we may
+              construct static analyses which operate directly on
+              it. In this paper we present the first example of such
+              an analysis, developed using the methodology of abstract
+              interpretation.  The analysis is shown to be sound with
+              respect to a concrete semantics for the representation.
+              Experimental results are presented which indicate that
+              the analysis performs well in comparison to conventional
+              techniques."
+}
+
+ at Article{JhalaM09,
+  Author = "R. Jhala and R. Majumdar",
+  Title = "Software Model Checking",
+  Journal = "ACM Computing Surveys",
+  Volume = 41,
+  Nnumber = 4,
+  Year = 2009,
+  Pages = "1--54",
+  Publisher = "ACM Press",
+  Address = "New York, NY, USA",
+  Abstract = "We survey recent progress in software model checking."
+}
+
+ at Inproceedings{Jeannet10,
+  Author = "B. Jeannet",
+  Title = "Some Experience on the Software Engineering of
+           Abstract Interpretation Tools",
+  Booktitle = "Proceedings of Tools for Automatic Program AnalysiS
+               (TAPAS 2010)",
+  Address = "Perpignan, France",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 267,
+  Number = 2,
+  Pages =  "29--42",
+  Year = 2010,
+  ISSN = "1571-0661",
+  Abstract = "The ``right'' way of writing and structuring compilers is
+              well-known. The situation is a bit less clear for static
+              analysis tools. It seems to us that a static analysis
+              tool is ideally decomposed into three building blocks:
+              (1) a front-end, which parses programs, generates
+              semantic equations, and supervises the analysis process;
+              (2) a fixpoint equation solver, which takes equations
+              and solves them; (3) and an abstract domain, on which
+              equations are interpreted. The expected advantages of
+              such a modular structure is the ability of sharing
+              development efforts between analyzers for different
+              languages, using common solvers and abstract
+              domains. However putting in practice such ideal concepts
+              is not so easy, and some static analyzers merge for
+              instance the blocks (1) and (2).
+
+              We show how we instantiated these principles with three
+              different static analyzers (addressing resp. imperative
+              sequential programs, imperative concurrent programs, and
+              synchronous dataflow programs), a generic fixpoint
+              solver (Fixpoint), and two different abstract
+              domains. We discussed our experience on the advantages
+              and the limits of this approach compared to related
+              work."
+}
+
+ at Inproceedings{JeannetM09,
+  Author = "B. Jeannet and A. Min{\'e}",
+  Title = "Apron: A Library of Numerical Abstract Domains for Static
+           Analysis",
+  Booktitle = "Computer Aided Verification,
+               Proceedings of the 21st International Conference (CAV 2009)",
+  Address = "Grenoble, France",
+  Editor = "A. Bouajjani and O. Maler",
+  Publisher = "Springer",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5643,
+  Pages = "661--667",
+  Year = 2009,
+  ISBN = "978-3-642-02657-7",
+  Abstract = "This article describes \textsc{Apron}, a freely
+              available library dedicated to the static analysis of
+              the numerical variables of programs by abstract
+              interpretation. Its goal is threefold: provide analysis
+              implementers with ready-to-use numerical abstractions
+              under a unified API, encourage the research in numerical
+              abstract domains by providing a platform for integration
+              and comparison, and provide teaching and demonstration
+              tools to disseminate knowledge on abstract
+              interpretation."
+}
+
+ at Incollection {KhalilGP09,
+  Author = "G. Khalil and E. Goubault and S. Putot",
+  Title = "The Zonotope Abstract Domain {Taylor1+}",
+  Booktitle = "Computer Aided Verification",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "A. Bouajjani and O. Maler",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-02657-7",
+  Pages = "627--633",
+  Volume = 5643,
+  Year = 2009,
+  Abstract = "Static analysis by abstract interpretation [1] aims it
+              automatically inferring properties on the behaviour of
+              programs. We focus here on a specific kind of numerical
+              invariants: the set of values taken by numerical
+              variables, with a real numbers semantics, at each
+              control point of a program."
+}
+ at Incollection{KimGR07,
+  Author = "D. Kim and G. Gupta and S. V. Rajopadhye",
+  Title = "On Control Signals for Multi-Dimensional Time",
+  Booktitle = "Languages and Compilers for Parallel Computing",
+  Editor = "G. Alm{\'a}si and C. Ca\c{s}caval and P. Wu",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Year = 2007,
+  Volume = 4382,
+  Pages = "141--155",
+  ISBN = "978-3-540-72520-6",
+  Note = "Revised papers presented at the 19th International Workshop
+          on Languages and Compilers for Parallel Computing (LCPC 2006),
+          New Orleans, Louisiana, USA, November 2--4, 2006",
+  Abstract = "Affine control loops (ACLs) comprise an important class
+              of compute- and data-intensive computations. The
+              theoretical framework for the automatic parallelization
+              of ACLs is well established. However, the hardware
+              compilation of arbitrary ACLs is still in its
+              infancy. An important component for an efficient
+              hardware implementation is a control mechanism that
+              informs each processing element (PE) which computation
+              needs to be performed and when.  We formulate this
+              \emph{control signal problem} in the context of
+              compiling arbitrary ACLs parallelized with a
+              multi-dimensional schedule into hardware.  We
+              characterize the logical time instants when PEs need a
+              control signal indicating which particular computations
+              need to be performed.  Finally, we present an algorithm
+              to compute the minimal set of logical time instants for
+              these control signals."
+}
+
+ at Inproceedings{KruegelKMRV05,
+  Author = "C. Kruegel and E. Kirda and D. Mutz and W. Robertson and G. Vigna",
+  Title = "Automating Mimicry Attacks Using Static Binary Analysis",
+  Booktitle = "Proceedings of Security~'05,
+               the 14th USENIX Security Symposium",
+  Address = "Baltimore, MD, USA",
+  Year = 2005,
+  Pages = "161--176",
+  Abstract = "Intrusion detection systems that monitor sequences of
+              system calls have recently become more sophisticated in
+              defining legitimate application behavior. In particular,
+              additional information, such as the value of the program
+              counter and the configuration of the program's call
+              stack at each system call, has been used to achieve
+              better characterization of program behavior. While there
+              is common agreement that this additional information
+              complicates the task for the attacker, it is less clear
+              to which extent an intruder is constrained.
+              In this paper, we present a novel technique to evade the
+              extended detection features of state-of-the-art
+              intrusion detection systems and reduce the task of the
+              intruder to a traditional mimicry attack. Given a
+              legitimate sequence of system calls, our technique
+              allows the attacker to execute each system call in the
+              correct execution context by obtaining and relinquishing
+              the control of the application's execution flow through
+              manipulation of code pointers.
+              We have developed a static analysis tool for Intel x86
+              binaries that uses symbolic execution to automatically
+              identify instructions that can be used to redirect
+              control flow and to compute the necessary modifications
+              to the environment of the process. We used our tool to
+              successfully exploit three vulnerable programs and evade
+              detection by existing state-of-the-art system call
+              monitors. In addition, we analyzed three real-world
+              applications to verify the general applicability of our
+              techniques."
+}
+
+ at Inproceedings{LagoonMS03,
+  Author = "V. Lagoon and F. Mesnard and P. J. Stuckey",
+  Title = "Termination Analysis with Types Is More Accurate",
+  Booktitle = "Logic Programming: Proceedings of the
+               19th International Conference (ICLP 2003)",
+  Address = "Mumbai, India",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 2916,
+  Year = 2003,
+  Pages = "254--268",
+  Abstract = "In this paper we show how we can use size and groundness
+              analyses lifted to regular and (polymorphic)
+              Hindley/Milner typed programs to determine more accurate
+              termination of (type correct) programs. Type information
+              for programs may be either inferred automatically or
+              declared by the programmer. The analysis of the typed
+              logic programs is able to completely reuse a framework
+              for termination analysis of untyped logic programs by
+              using abstract compilation of the type abstraction. We
+              show that our typed termination analysis is uniformly
+              more accurate than untyped termination analysis for
+              regularly typed programs, and demonstrate how it is able
+              to prove termination of programs which the untyped
+              analysis can not."
+}
+
+ at Inproceedings{LavironL09,
+  Author = "V. Laviron and F. Logozzo",
+  Title = "SubPolyhedra: A (More) Scalable Approach to Infer Linear
+           Inequalities",
+  Booktitle = "Verification, Model Checking, and Abstract Interpretation:
+               Proceedings of the 10th International Conference (VMCAI 2009)",
+  Address = "Savannah, Georgia, USA",
+  Editor = "N. D. Jones and M. M{\"u}ller-Olm",
+  Pages = "229--244",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5403,
+  Year = 2009,
+  ISBN = "978-3-540-93899-6",
+  Abstract = "We introduce Subpolyhedra (\textsf{SubPoly}) a new
+              numerical abstract domain to infer and propagate linear
+              inequalities. \textsf{SubPoly} is as expressive as
+              Polyhedra, but it drops some of the deductive power to
+              achieve scalability. \textsf{SubPoly} is based on the
+              insight that the reduced product of linear equalities
+              and intervals produces powerful yet scalable analyses.
+              Precision can be recovered using hints. Hints can be
+              automatically generated or provided by the user in the
+              form of annotations.  We implemented \textsf{SubPoly} on
+              the top of \texttt{Clousot}, a generic abstract
+              interpreter for \texttt{.Net}. \texttt{Clousot} with
+              \textsf{SubPoly} analyzes very large and complex code
+              bases in few minutes. \textsf{SubPoly} can efficiently
+              capture linear inequalities among hundreds of variables,
+              a result well-beyond state-of-the-art implementations of
+              Polyhedra."
+}
+
+ at Inproceedings{LeconteB06,
+  Author = "M. Leconte and B. Berstel",
+  Title = "Extending a {CP} Solver with Congruences
+           as Domains for Program Verification",
+  Booktitle = "Proceedings of the 1st workshop on Constraints
+               in Software Testing, Verification and Analysis (CSTVA '06)",
+  Address = "Nantes, France",
+  Editor = "B. Blanc and A. Gotlieb and C. Michel",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "22--33",
+  Year = 2006,
+  Abstract = "Constraints generated for Program Verification tasks
+              very often involve integer variables ranging on all the
+              machine-representable integer values. Thus, if the
+              propagation takes a time that is linear in the size of
+              the domains, it will not reach a fix point in practical
+              time.  Indeed, the propagation time needed to reduce the
+              interval domains for as simple equations as $x = 2y + 1$
+              and $x = 2z$ is proportional to the size of the initial
+              domains of the variables. To avoid this \emph{slow
+              convergence} phenomenon, we propose to enrich a
+              Constraint Programming Solver (CP Solver) with
+              \emph{congruence domains}. This idea has been introduced
+              by [Granger, P.: Static analysis of arithmetic congruences.
+              International Journal of Computer Math (1989) 165--199]
+              in the abstract interpretation community and we show how
+              a CP Solver can benefit from it, for example in
+              discovering immediately that $12x + |y| = 3$ and
+              $4z + 7y = 0$ have no integer solution.",
+  Note = "Available at
+          \url{http://www.irisa.fr/manifestations/2006/CSTVA06/}."
+}
+
+ at Inproceedings{LimeRST09,
+  Author = "D. Lime and O. H. Roux and C. Seidner and L.-M. Traonouez",
+  Title = "Romeo: A Parametric Model-Checker for {Petri} Nets
+           with Stopwatches",
+  Booktitle = "Proceedings of the 15th International Conference
+               Tools and Algorithms for the Construction and Analysis
+               of Systems (TACAS 2009)",
+  Address = "York, UK",
+  Editor = "S. Kowalewski and A. Philippou",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5505,
+  Pages = "54--57",
+  Year = 2009,
+  ISBN = "978-3-642-00767-5",
+  Abstract = "Last time we reported on Romeo, analyses with this tool
+              were mostly based on translations to other tools. This
+              new version provides an integrated TCTL model-checker
+              and has gained in expressivity with the addition of
+              parameters. Although there exists other tools to compute
+              the state-space of stopwatch models, Romeo is the first
+              one that performs TCTL model-checking on stopwatch
+              models. Moreover, it is the first tool that performs
+              TCTL model-checking on timed parametric models. Indeed,
+              Romeo now features an efficient model-checking of time
+              Petri nets using the Uppaal DBM Library, the
+              model-checking of stopwatch Petri nets and parametric
+              stopwatch Petri nets using the Parma Polyhedra Library
+              and a graphical editor and simulator of these
+              models. Furthermore, its audience has increased leading
+              to several industrial contracts. This paper reports on
+              these recent developments of Romeo."
+}
+
+ at Inproceedings{LogozzoF08,
+  Author = "F. Logozzo and M. F{\"a}hndrich",
+  Title = "Pentagons: A Weakly Relational Abstract Domain for the
+           Efficient Validation of Array Accesses",
+  Booktitle = "Proceedings of the 2008 ACM Symposium on Applied Computing
+               (SAC 2008)",
+  Address = "Fortaleza, Cear\'a, Brazil",
+  Aditor = "R. L. Wainwright and H. Haddad",
+  Year = 2008,
+  Pages = "184--188",
+  Publisher = "ACM Press",
+  ISBN = "978-1-59593-753-7",
+  Abstract = "We introduce Pentagons (\textsf{Pntg}), a weakly
+              relational numerical abstract domain useful for the
+              validation of array accesses in byte-code and
+              intermediate languages (IL). This abstract domain
+              captures properties of the form of
+              $x \in [a. b] \wedge x < y$. It is more precise than the
+              well known Interval domain, but it is less precise than
+              the Octagon domain.  The goal of \textsf{Pntg} is to be
+              a lightweight numerical domain useful for adaptive
+              static analysis, where \textsf{Pntg} is used to quickly
+              prove the safety of most array accesses, restricting the
+              use of more precise (but also more expensive) domains to
+              only a small fraction of the code.  We implemented the
+              \textsf{Pntg} abstract domain in \texttt{Clousot}, a
+              generic abstract interpreter for .NET assemblies. Using
+              it, we were able to validate 83\% of array accesses in
+              the core runtime library \texttt{mscorlib.dll} in less
+              than 8 minutes."
+}
+
+ at Inproceedings{MakhloufK06,
+  Author = "I. B. Makhlouf and S. Kowalewski",
+  Title = "An Evaluation of Two Recent Reachability Analysis Tools
+           for Hybrid Systems",
+  Booktitle = "Proceedings of the 2nd IFAC Conference on Analysis
+               and Design of Hybrid Systems",
+  Address = "Alghero, Italy",
+  Editor = "C. Cassandras and A. Giua and C. Seatzu and J. Zaytoon",
+  Publisher = "Elsevier Science B.V.",
+  Year = 2006,
+  Abstract = "The hybrid systems community is still struggling to
+              provide practically applicable verification
+              tools. Recently, two new tools, PHAVer and Hsolver, were
+              introduced which promise to be a further step in this
+              direction. We evaluate and compare both tools with the
+              help of several benchmark examples. The results show
+              that both have their strengths and weaknesses, and that
+              there still is no all-purpose reachability analysis tool
+              for hybrid systems."
+}
+
+ at Inproceedings{ManevichSRF04,
+  Author = "R. Manevich and M. Sagiv and G. Ramalingam and J. Field",
+  Title = "Partially Disjunctive Heap Abstraction",
+  Booktitle = "Static Analysis:
+               Proceedings of the 11th International Symposium",
+  Address = "Verona, Italy",
+  Editor = "R. Giacobazzi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3148,
+  Year = 2004,
+  Pages = "265--279",
+  Abstract = "One of the continuing challenges in abstract
+              interpretation is the creation of abstractions that
+              yield analyses that are both tractable and precise
+              enough to prove interesting properties about real-world
+              programs. One source of difficulty is the need to handle
+              programs with different behaviors along different
+              execution paths. Disjunctive (powerset) abstractions
+              capture such distinctions in a natural way. However, in
+              general, powerset abstractions increase the space and
+              time by an exponential factor. Thus, powerset
+              abstractions are generally perceived as being very
+              costly. In this paper we partially address this
+              challenge by presenting and empirically evaluating a new
+              heap abstraction. The new heap abstraction works by
+              merging shape descriptors according to a partial
+              isomorphism similarity criteria, resulting in a
+              partially disjunctive abstraction. We implemented this
+              abstraction in TVLA --- a generic system for
+              implementing program analyses. We conducted an empirical
+              evaluation of the new abstraction and compared it with
+              the powerset heap abstraction. The experiments show that
+              analyses based on the partially disjunctive abstraction
+              are as precise as the ones based on the fully
+              disjunctive abstraction. In terms of performance,
+              analyses based on the partially disjunctive abstraction
+              are often superior to analyses based on the fully
+              disjunctive heap abstraction. The empirical results show
+              considerable speedups, up to 2 orders of magnitude,
+              enabling previously non-terminating analyses, such as
+              verification of the Deutsch-Schorr-Waite marking
+              algorithm, to terminate with no negative effect on the
+              overall precision. Indeed, experience indicates that the
+              partially disjunctive shape abstraction improves
+              performance across all TVLA analyses uniformly, and in
+              many cases is essential for making precise shape
+              analysis feasible."
+}
+
+ at Techreport{McCloskeyS09TR,
+  Author = "B. McCloskey and M. Sagiv",
+  Title = "Combining Quantified Domains",
+  Number = "EECS-2009-106",
+  Year = 2009,
+  Month = jul,
+  Institution = "EECS Department University of California",
+  Address = "Berkeley USA",
+  URL = "http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-106.pdf",
+  Abstract = "We develop general algorithms for reasoning about
+              numerical properties of programs manipulating the heap
+              via pointers. We automatically infer quantified
+              invariants regarding unbounded sets of memory locations
+              and unbounded numeric values. As an example, we can
+              infer that for every node in a data structure, the
+              node's length field is less than its capacity field. We
+              can also infer per-node statements about cardinality,
+              such as that each node's count field is equal to the
+              number of elements reachable from it. This additional
+              power allows us to prove properties about reference
+              counted data structures and B-trees that were previously
+              unattainable. Besides the ability to verify more
+              programs, we believe that our work sheds new light on
+              the interaction between heap and numerical reasoning.
+
+              Our algorithms are parametric in the heap and the
+              numeric abstractions. They permit heap and numerical
+              abstractions to be combined into a single abstraction
+              while maintaining correlations between these
+              abstractions. In certain combinations not involving
+              cardinality, we prove that our combination technique is
+              complete, which is surprising in the presence of
+              quantification."
+}
+
+ at PhdThesis{Meijer10th,
+  Author = "S. Meijer",
+  Title = "Transformations for Polyhedral Process Networks",
+  School = "Leiden Institute of Advanced Computer Science (LIACS),
+            Faculty of Science, Leiden University",
+  Address = "Leiden, The Netherlands",
+  Year = 2010,
+  ISBN = "978-90-9025792-1",
+  Abstract = "We use the polyhedral process network (PPN) model of
+              computation to program and map streaming applications
+              onto embedded Multi-Processor Systems on Chip (MPSoCs)
+              platforms. The PPNs, which can be automatically derived
+              from sequential program applications, do not necessarily
+              meet the performance/resource constraints. A designer
+              can therefore apply the process splitting
+              transformations to increase program performance, and the
+              process merging transformation to reduce the number of
+              processes in a PPN. These transformations were defined,
+              but a designer had many possibilities to apply a
+              particular transformation, and these transformations can
+              also be ordered in many different ways. In this
+              dissertation, we define compile-time solution approaches
+              that assist the designer in evaluating and applying
+              process splitting and merging transformations in the
+              most effective way."
+}
+
+ at Article{MesnardB05TPLP,
+  Author = "F. Mesnard and R. Bagnara",
+  Title = "{cTI}: A Constraint-Based Termination Inference Tool
+           for {ISO-Prolog}",
+  Journal = "Theory and Practice of Logic Programming",
+  Publisher = "Cambridge University Press",
+  Address = "New York",
+  Volume = 5,
+  Number = "1{\&}2",
+  Pages = "243--257",
+  Year = 2005,
+  Abstract = "We present cTI, the first system for universal
+              left-termination inference of logic programs.
+              Termination inference generalizes termination analysis
+              and checking.  Traditionally, a termination analyzer
+              tries to prove that a given class of queries terminates.
+              This class must be provided to the system, for instance
+              by means of user annotations.  Moreover, the analysis
+              must be redone every time the class of queries of
+              interest is updated.  Termination inference, in
+              contrast, requires neither user annotations nor
+              recomputation.  In this approach, terminating classes
+              for all predicates are inferred at once.  We describe
+              the architecture of cTI and report an extensive
+              experimental evaluation of the system covering many
+              classical examples from the logic programming
+              termination literature and several Prolog programs of
+              respectable size and complexity."
+}
+
+ at Inproceedings{MonniauxG11,
+  Author = "D. Monniaux and J. {Le Guen}",
+  Title = "Stratified Static Analysis Based on Variable Dependencies",
+  Booktitle = "Proceedings of the Third International Workshop on
+               Numerical and Symbolic Abstract Domains (NSAD 2011)",
+  Address = "Venice, Italy",
+  Year = 2011,
+  URL = "http://arxiv.org/abs/1109.2405",
+  Abstract = "In static analysis by abstract interpretation, one often
+              uses \emph{widening operators} in order to enforce
+              convergence within finite time to an inductive
+              invariant. Certain widening operators, including the
+              classical one over finite polyhedra, exhibit an
+              unintuitive behavior: analyzing the program over a
+              subset of its variables may lead a more precise result
+              than analyzing the original program! In this article, we
+              present simple workarounds for such behavior."
+
+}
+
+ at Inproceedings{MoserKK07,
+  Author = "A. Moser and C. Kr{\"u}gel and E. Kirda",
+  Title = "Exploring Multiple Execution Paths for Malware Analysis",
+  Booktitle = "Proceedings of the 2007 IEEE Symposium on Security and Privacy
+               (S{\&}P 2007)",
+  Address = "Oakland, California, USA",
+  Publisher = "IEEE Computer Society Press",
+  Pages = "231--245",
+  Year = 2007,
+  Abstract = "Malicious code (or malware) is defined as software that
+              fulfills the deliberately harmful intent of an
+              attacker. Malware analysis is the process of determining
+              the behavior and purpose of a given malware sample (such
+              as a virus, worm, or Trojan horse). This process is a
+              necessary step to be able to develop effective detection
+              techniques and removal tools. Currently, malware
+              analysis is mostly a manual process that is tedious and
+              time-intensive. To mitigate this problem, a number of
+              analysis tools have been proposed that automatically
+              extract the behavior of an unknown program by executing
+              it in a restricted environment and recording the
+              operating system calls that are invoked.  The problem of
+              dynamic analysis tools is that only a single program
+              execution is observed. Unfortunately, however, it is
+              possible that certain malicious actions are only
+              triggered under specific circumstances (e.g., on a
+              particular day, when a certain file is present, or when
+              a certain command is received). In this paper, we
+              propose a system that allows us to explore multiple
+              execution paths and identify malicious actions that are
+              executed only when certain conditions are met. This
+              enables us to automatically extract a more complete view
+              of the program under analysis and identify under which
+              circumstances suspicious actions are carried out. Our
+              experimental results demonstrate that many malware
+              samples show different behavior depending on input read
+              from the environment. Thus, by exploring multiple
+              execution paths, we can obtain a more complete picture
+              of their actions."
+}
+
+ at Inproceedings{NavasMH09,
+  Author = "J. Navas and M. M{\'e}ndez-Lojo and M. V. Hermenegildo",
+  Title = "User-Definable Resource Usage Bounds Analysis for {Java} Bytecode",
+  Booktitle = "Proceedings of the 4th Workshop on Bytecode Semantics,
+               Verification, Analysis and Transformation (Bytecode 2009)",
+  Address = "York, UK",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 253,
+  Number = 5,
+  Pages =  "65--82",
+  Year = 2009,
+  ISSN = "1571-0661",
+  Abstract = "Automatic cost analysis of programs has been
+              traditionally concentrated on a reduced number of
+              resources such as execution steps, time, or
+              memory. However, the increasing relevance of analysis
+              applications such as static debugging and/or
+              certification of user-level properties (including for
+              mobile code) makes it interesting to develop analyses
+              for resource notions that are actually
+              application-dependent. This may include, for example,
+              bytes sent or received by an application, number of
+              files left open, number of SMSs sent or received, number
+              of accesses to a database, money spent, energy
+              consumption, etc. We present a fully automated analysis
+              for inferring upper bounds on the usage that a Java
+              bytecode program makes of a set of application
+              programmer-definable resources. In our context, a
+              resource is defined by programmer-provided annotations
+              which state the basic consumption that certain program
+              elements make of that resource. From these definitions
+              our analysis derives functions which return an upper
+              bound on the usage that the whole program (and
+              individual blocks) make of that resource for any given
+              set of input data sizes. The analysis proposed is
+              independent of the particular resource. We also present
+              some experimental results from a prototype
+              implementation of the approach covering a significant
+              set of interesting resources."
+}
+
+ at Inproceedings{CuervoParrinoNVM12,
+  Author = "B. {Cuervo Parrino} and J. Narboux and E. Violard and N. Magaud",
+  Title = "Dealing with Arithmetic Overflows in the Polyhedral Model",
+  Booktitle = "Proceedings of the 2nd International Workshop
+               on Polyhedral Compilation Techniques (IMPACT 2012)",
+  Address = "Paris, France",
+  Editor = "U. Bondhugula and V. Loechner ",
+  Year = 2012,
+  URL = "http://hal.inria.fr/hal-00655485",
+  Abstract = "The polyhedral model provides techniques to optimize
+              Static Control Programs (SCoP) using some complex
+              transforma- tions which improve data-locality and which
+              can exhibit parallelism. These advanced
+              transformations are now available in both GCC and
+              LLVM. In this paper, we focus on the cor- rectness of
+              these transformations and in particular on the problem
+              of integer overflows. Indeed, the strength of the
+              polyhedral model is to produce an abstract mathematical
+              representation of a loop nest which allows high-level
+              trans- formations. But this abstract representation is
+              valid only when we ignore the fact that our integers are
+              only machine integers. In this paper, we present a
+              method to deal with this problem of mismatch between the
+              mathematical and concrete representations of loop
+              nests. We assume the exis- tence of polyhedral
+              optimization transformations which are proved to be
+              correct in a world without overflows and we provide a
+              self-verifying compilation function. Rather than
+              verifying the correctness of this function, we use an
+              approach based on a validator, which is a tool that is
+              run by the com- piler after the transformation itself
+              and which confirms that the code produced is equivalent
+              to the original code. As we aim at the formal proof of
+              the validator we implement this validator using the Coq
+              proof assistant as a programming language [4]."
+
+}
+
+ at Inproceedings{PayetS07,
+  Author = "E. Payet and F. Spoto",
+  Title = " Magic-Sets Transformation for the Analysis of {Java} Bytecode",
+  Booktitle = "Static Analysis:
+               Proceedings of the 14th International Symposium",
+  Address = "Kongens Lyngby, Denmark",
+  Editor = "G. Fil\'e and H. R. Nielson",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4634,
+  ISBN = "978-3-540-74060-5",
+  Pages = "452--467",
+  Year = 2007,
+  Abstract = "Denotational static analysis of Java bytecode has a nice
+              and clean compositional definition and an efficient
+              implementation with binary decision diagrams. But it
+              models only the \emph{functional} i.e., input/output
+              behaviour of a program $P$, not enough if one needs $P$'s
+              \emph{internal} behaviours i.e., from the input to some
+              internal program points. We overcome this limitation
+              with a technique used up to now for logic programs
+              only. It adds new \emph{magic} blocks of code to P, whose
+              functional behaviours are the internal behaviours of
+              $P$. We prove this transformation correct with an
+              operational semantics. We define an equivalent
+              denotational semantics, whose denotations for the
+              magic blocks are hence the internal behaviours of
+              $P$. We implement our transformation and instantiate
+              it with abstract domains modelling \emph{sharing} of two
+              variables and \emph{non-cyclicity} of variables. We get a
+              static analyser for full Java bytecode that is
+              faster and scales better than another operational
+              pair-sharing analyser and a constraint-based pointer
+              analyser."
+}
+
+ at Inproceedings{PerezRS09,
+  Author = "J. A. {Navarro P{\'e}rez} and A. Rybalchenko and A. Singh",
+  Title = "Cardinality Abstraction for Declarative Networking Applications",
+  Booktitle = "Computer Aided Verification,
+               Proceedings of the 21st International Conference (CAV 2009)",
+  Address = "Grenoble, France",
+  Editor = "A. Bouajjani and O. Maler",
+  Publisher = "Springer",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5643,
+  Pages = "584--598",
+  Year = 2009,
+  ISBN = "978-3-642-02657-7",
+  Abstract = "Declarative Networking is a recent, viable approach to
+              make distributed programming easier, which is becoming
+              increasingly popular in systems and networking
+              community. It offers the programmer a declarative,
+              rule-based language, called P2, for writing distributed
+              applications in an abstract, yet expressive way. This
+              approach, however, imposes new challenges on analysis
+              and verification methods when they are applied to P2
+              programs. Reasoning about P2 computations is beyond the
+              scope of existing tools since it requires handling of
+              program states defined in terms of collections of
+              relations, which store the application data, together
+              with multisets of tuples, which represent communication
+              events in-flight. In this paper, we propose a
+              cardinality abstraction technique that can be used to
+              analyze and verify P2 programs. It keeps track of the
+              size of relations (together with projections thereof)
+              and multisets defining P2 states, and provides an
+              appropriate treatment of declarative operations, e.g.,
+              indexing, unification, variable binding, and
+              negation. Our cardinality abstraction-based verifier
+              successfully proves critical safety properties of a P2
+              implementation of the Byzantine fault tolerance protocol
+              Zyzzyva, which is a representative and complex
+              declarative networking application."
+}
+
+ at Inproceedings{PhamTTC11,
+  Author = "T.-H. Pham and M.-T. Trinh and A.-H. Truong and W.-N. Chin",
+  Title = "{FixBag:} A Fixpoint Calculator for Quantified Bag Constraints",
+  Booktitle = "Proceedings of the 23rd International Conference on
+               Computer Aided Verification (CAV 2011)",
+  Address = "Snowbird, UT, USA",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "G. Gopalakrishnan and S. Qadeer",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-22109-5",
+  Pages =  "656--662",
+  Volume = 6806,
+  Year = 2011,
+  Abstract = "Abstract interpretation techniques have played a major
+              role in advancing the state-of-the-art in program
+              analysis. Traditionally, stand-alone tools for these
+              techniques have been developed for the numerical domains
+              which may be sufficient for lower levels of program
+              correctness. To analyze a wider range of programs, we
+              have developed a tool to compute symbolic fixpoints for
+              quantified bag domain . This domain is useful for
+              programs that deal with collections of values. Our tool
+              is able to derive both loop invariants and method
+              pre/post conditions via fixpoint analysis of recursive
+              bag constraints. To support better precision, we have
+              allowed disjunctive formulae to be inferred, where
+              appropriate. As a stand-alone tool, we have tested it on
+              a range of small but challenging examples with
+              acceptable precision and performance."
+}
+
+ at Techreport{Pop06,
+  Author = "S. Pop and G.-A. Silber and A. Cohen and C. Bastoul
+            and S. Girbal and N. Vasilache",
+  Title = "{GRAPHITE}: Polyhedral Analyses and Optimizations for {GCC}",
+  Number = "A/378/CRI",
+  Institution = "Centre de Recherche en Informatique,
+                 \'Ecole des Mines de Paris",
+  Address = "Fontainebleau, France",
+  Year = 2006,
+  Note = "Contribution to the GNU Compilers Collection Developers Summit 2006
+          (GCC Summit 06), Ottawa, Canada, June 28--30, 2006",
+  Abstract = "We present a plan to add loop nest optimizations in GCC
+              based on polyhedral representations of loop nests. We
+              advocate a static analysis approach based on a hierarchy
+              of interchangeable abstractions with solvers that range
+              from the exact solvers such as OMEGA, to faster but less
+              precise solvers based on more coarse abstractions. The
+              intermediate representation GRAPHITE (GIMPLE Represented
+              as Polyhedra with Interchangeable Envelopes), built on
+              GIMPLE and the natural loops, hosts the high level loop
+              transformations. We base this presentation on the
+              WRaP-IT project developed in the Alchemy group at INRIA
+              Futurs and Paris-Sud University, on the PIPS compiler
+              developed at \'Ecole des mines de Paris, and on a joint
+              work with several members of the static analysis and
+              polyhedral compilation community in France.
+
+              The main goal of this project is to bring more high
+              level loop optimizations to GCC: loop fusion, tiling,
+              strip mining, etc. Thanks to the WRaP-IT experience, we
+              know that the polyhedral analyzes and transformations
+              are affordable in a production compiler. A second goal
+              of this project is to experiment with compile time
+              reduction versus attainable precision when replacing
+              operations on polyhedra with faster operations on more
+              abstract domains. However, the use of a too coarse
+              representation for computing might also result in an
+              over approximated solution that cannot be used in
+              subsequent computations. There exists a trade off
+              between speed of the computation and the attainable
+              precision that has not yet been analyzed for real world
+              programs."
+}
+
+ at Incollection{PopeeaC08,
+  Author = "C. Popeea and W.-N. Chin",
+  Title = "Inferring Disjunctive Postconditions",
+  Booktitle = "Advances in Computer Science --- ASIAN 2006. Secure Software
+               and Related Issues",
+  Editor = "M. Okada and I. Satoh",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Year = 2008,
+  Volume = 4435,
+  Pages = "331--345",
+  ISBN = "978-3-540-77504-1",
+  Note = "Revised selected papers presented at the 11th Asian Computing
+          Science Conference, Tokyo, Japan, December 6--8, 2006",
+  Abstract = "Polyhedral analysis [9] is an abstract interpretation
+              used for automatic discovery of invariant linear
+              inequalities among numerical variables of a
+              program. Convexity of this abstract domain allows
+              efficient analysis but also loses precision via
+              convex-hull and widening operators. To selectively
+              recover the loss of precision, sets of polyhedra
+              (disjunctive elements) may be used to capture more
+              precise invariants. However a balance must be struck
+              between precision and cost.
+              We introduce the notion of affinity to characterize how
+              closely related is a pair of polyhedra. Finding related
+              elements in the polyhedron (base) domain allows the
+              formulation of precise hull and widening operators
+              lifted to the disjunctive (powerset extension of the)
+              polyhedron domain. We have implemented a modular static
+              analyzer based on the disjunctive polyhedral analysis
+              where the relational domain and the proposed operators
+              can progressively enhance precision at a reasonable
+              cost."
+}
+
+ at Article{RizkBFS09,
+  Author = "A. Rizk and G. Batt and F. Fages and S. Soliman",
+  Title = "A General Computational Method for Robustness Analysis
+           with Applications to Synthetic Gene Networks",
+  Journal = "Bioinformatics",
+  Publisher = "Oxford University Press",
+  Volume = 25,
+  Number = "12",
+  Pages = "i169--i178",
+  Year = 2009,
+  Note = "Paper accepted for presentation at the 2009 ISMB/ECCB Conference,
+          Stockholm, Sweden, June 27--July 2, 2009.
+          Available at
+          \url{http://bioinformatics.oxfordjournals.org/cgi/content/abstract/25/12/i169}",
+  Abstract = "\textbf{Motivation:} Robustness is the capacity of a
+             system to maintain a function in the face of
+             perturbations. It is essential for the correct
+             functioning of natural and engineered biological
+             systems. Robustness is generally defined in an \emph{ad hoc},
+             problem-dependent manner, thus hampering the fruitful
+             development of a theory of biological robustness,
+             recently advocated by Kitano.
+
+             \textbf{Results:} In this article, we propose a general
+             definition of robustness that applies to any biological
+             function expressible in temporal logic LTL (linear
+             temporal logic), and to broad model classes and
+             perturbation types. Moreover, we propose a computational
+             approach and an implementation in BIOCHAM 2.8 for the
+             automated estimation of the robustness of a given
+             behavior with respect to a given set of
+             perturbations. The applicability and biological relevance
+             of our approach is demonstrated by testing and improving
+             the robustness of the timed behavior of a synthetic
+             transcriptional cascade that could be used as a
+             biological timer for synthetic biology applications.
+
+             \textbf{Availability:} Version 2.8 of BIOCHAM and the
+             transcriptional cascade model are available at
+             \url{http://contraintes.inria.fr/BIOCHAM/}"
+}
+
+ at Article{RizkBFS11,
+  Author = "A. Rizk and G. Batt and F. Fages and S. Soliman",
+  Title = "Continuous Valuations of Temporal Logic Specifications with
+           Applications to Parameter Optimization and Robustness
+           Measures",
+  Journal = "Theoretical Computer Science",
+  Publisher = "Elsevier",
+  Volume = 412,
+  Number = 26,
+  Pages =  "2827--2839",
+  Year = 2011,
+  ISSN = "0304-3975",
+  Abstract = "Finding mathematical models satisfying a specification
+              built from the formalization of biological experiments,
+              is a common task of the modeler that techniques like
+              model-checking help solving, in the qualitative but also
+              in the quantitative case. In this article we define a
+              continuous degree of satisfaction of temporal logic
+              formulae with constraints. We show how such a
+              satisfaction measure can be used as a fitness function
+              with state-of-the-art evolutionary optimization methods
+              in order to find biochemical kinetic parameter values
+              satisfying a set of biological properties formalized in
+              temporal logic. We also show how it can be used to
+              define a measure of robustness of a biological model
+              with respect to some temporal specification. These
+              methods are evaluated on models of the cell cycle and of
+              the MAPK signaling cascade."
+}
+
+ at Inproceedings{SankaranarayananIG07,
+  Author = "S. Sankaranarayanan and F. Ivancic and A. Gupta",
+  Title = "Program Analysis Using Symbolic Ranges",
+  Booktitle = "Static Analysis:
+               Proceedings of the 14th International Symposium",
+  Address = "Kongens Lyngby, Denmark",
+  Editor = "G. Fil\'e and H. R. Nielson",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4634,
+  ISBN = "978-3-540-74060-5",
+  Pages = "366--383",
+  Year = 2007,
+  Abstract = "Interval analysis seeks static lower and upper bounds on
+              the values of program variables. These bounds are
+              useful, especially for inferring invariants to prove buffer
+              overflow checks. In practice, however, intervals by
+              themselves are often inadequate as invariants due to the
+              lack of relational information among program variables.
+              In this paper, we present a technique for deriving symbolic
+              bounds on variable values. We study a restricted class of
+              polyhedra whose constraints are stratified with respect to
+              some variable ordering provided by the user, or chosen
+              heuristically. We define a notion of normalization for
+              such constraints and demonstrate polynomial time domain
+              operations on the resulting domain of symbolic range
+              constraints. The abstract domain is intended to complement
+              widely used domains such as intervals and octagons
+              for use in buffer overflow analysis. Finally, we study
+              the impact of our analysis on commercial software using
+              an overflow analyzer for the C language."
+}
+
+ at Inproceedings{SankaranarayananSM04,
+  Author = "S. Sankaranarayanan and H. B. Sipma and Z. Manna",
+  Title = "Constraint-Based Linear-Relations Analysis",
+  Booktitle = "Static Analysis:
+               Proceedings of the 11th International Symposium",
+  Address = "Verona, Italy",
+  Editor = "R. Giacobazzi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3148,
+  Year = 2004,
+  Pages = "53--68",
+  Abstract = "Linear-relations analysis of transition systems
+              discovers linear invariant relationships among the
+              variables of the system. These relationships help
+              establish important safety and liveness
+              properties. Efficient techniques for the analysis of
+              systems using polyhedra have been explored, leading to
+              the development of successful tools like
+              HyTech. However, existing techniques rely on the use of
+              approximations such as widening and extrapolation in
+              order to ensure termination. In an earlier paper, we
+              demonstrated the use of Farkas' Lemma to provide a
+              translation from the linear-relations analysis problem
+              into a system of constraints on the unknown coefficients
+              of a candidate invariant. However, since the constraints
+              in question are non-linear, a naive application of the
+              method does not scale. In this paper, we show that by
+              some efficient simplifications and approximations to the
+              quantifier elimination, not only does the method scale
+              to higher dimensions, but also enjoys performance
+              advantages for some larger examples."
+}
+
+ at Inproceedings{SankaranarayananSM05,
+  Author = "S. Sankaranarayanan and H. B. Sipma and Z. Manna",
+  Title = "Scalable Analysis of Linear Systems using Mathematical Programming",
+  Booktitle = "Verification, Model Checking and Abstract Interpretation:
+               Proceedings of the 6th International Conference (VMCAI 2005)",
+  Address = "Paris, France",
+  Editor = "R. Cousot",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3385,
+  Year = 2005,
+  Pages = "25--41",
+  Abstract = "We present a method for generating linear invariants for
+              large systems. The method performs forward propagation
+              in an abstract domain consisting of arbitrary polyhedra
+              of a predefined fixed shape. The basic operations on the
+              domain like abstraction, intersection, join and
+              inclusion tests are all posed as linear optimization
+              queries, which can be solved efficiently by existing LP
+              solvers. The number and dimensionality of the LP queries
+              are polynomial in the program dimensionality, size and
+              the number of target invariants. The method generalizes
+              similar analyses in the interval, octagon, and octahedra
+              domains, without resorting to polyhedral
+              manipulations. We demonstrate the performance of our
+              method on some benchmark programs."
+}
+
+ at Inproceedings{SankaranarayananCSM06,
+  Author = "S. Sankaranarayanan and M. Col{\'o}n
+            and H. B. Sipma and Z. Manna",
+  Title = "Efficient Strongly Relational Polyhedral Analysis",
+  Booktitle = "Verification, Model Checking and Abstract Interpretation:
+               Proceedings of the 7th International Conference (VMCAI 2006)",
+  Address = "Charleston, SC, USA",
+  Editor = "E. A. Emerson and K. S. Namjoshi",
+  Pages = "111--125",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3855,
+  Year = 2006,
+  ISBN = "3-540-31139-4",
+  Abstract = "Polyhedral analysis infers invariant linear equalities
+              and inequalities of imperative programs. However, the
+              exponential complexity of polyhedral operations such as
+              image computation and convex hull limits the
+              applicability of polyhedral analysis. Weakly relational
+              domains such as intervals and octagons address the
+              scalability issue by considering polyhedra whose
+              constraints are drawn from a restricted, user-specified
+              class. On the other hand, these domains rely solely on
+              candidate expressions provided by the user. Therefore,
+              they often fail to produce strong invariants.  We
+              propose a polynomial time approach to strongly
+              relational analysis. We provide efficient
+              implementations of join and post condition operations,
+              achieving a trade off between performance and
+              accuracy. We have implemented a strongly relational
+              polyhedral analyzer for a subset of the C
+              language. Initial experimental results on benchmark
+              examples are encouraging."
+}
+
+ at Inproceedings{SankaranarayananSM06,
+  Author = "S. Sankaranarayanan and H. B. Sipma and Z. Manna",
+  Title = "Fixed Point Iteration for Computing the Time Elapse Operator",
+  Booktitle = "Hybrid Systems: Computation and Control:
+               Proceedings of the 9th International Workshop (HSCC 2006)",
+  Address = "Santa Barbara, CA, USA",
+  Editor = "J. Hespanha and A. Tiwari",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 3927,
+  Pages = "537--551",
+  Year = 2006,
+  ISBN = "3-540-33170-0",
+  Abstract = "We investigate techniques for automatically generating
+              symbolic approximations to the time solution of a system
+              of differential equations. This is an important
+              primitive operation for the safety analysis of
+              continuous and hybrid systems. In this paper we design a
+              \emph{time elapse} operator that computes a symbolic
+              over-approximation of time solutions to a continuous
+              system starting from a given initial region. Our
+              approach is iterative over the cone of functions (drawn
+              from a suitable universe) that are non negative over the
+              initial region. At each stage, we iteratively remove
+              functions from the cone whose Lie derivatives do not lie
+              inside the current iterate. If the iteration converges,
+              the set of states defined by the final iterate is shown
+              to contain all the time successors of the initial
+              region. The convergence of the iteration can be forced
+              using abstract interpretation operations such as
+              widening and narrowing.  We instantiate our technique to
+              linear hybrid systems with piecewise-affine dynamics to
+              compute polyhedral approximations to the time
+              successors. Using our prototype implementation TimePass,
+              we demonstrate the performance of our technique on
+              benchmark examples."
+}
+
+ at Inproceedings{SankaranarayananISG06,
+  Author = "S. Sankaranarayanan and F. Ivan\v{c}i\'{c}
+            and I. Shlyakhter and A. Gupta",
+  Title = "Static Analysis in Disjunctive Numerical Domains",
+  Booktitle = "Static Analysis:
+               Proceedings of the 13th International Symposium",
+  Address = "Seoul, Korea",
+  Editor = "K. Yi",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4134,
+  Pages = "3--17",
+  Year = 2006,
+  ISBN = "3-540-37756-5",
+  Abstract = "The convexity of numerical domains such as polyhedra,
+              octagons, intervals and linear equalities enables
+              tractable analysis of software for buffer overflows,
+              null pointer dereferences and floating point
+              errors. However, convexity also causes the analysis to
+              fail in many common cases. Powerset extensions can
+              remedy this shortcoming by considering disjunctions of
+              predicates. Unfortunately, analysis using powerset
+              domains can be exponentially more expensive as compared
+              to analysis on the base domain. In this paper, we prove
+              structural properties of fixed points computed in
+              commonly used powerset extensions. We show that a fixed
+              point computed on a powerset extension is also a fixed
+              point in the base domain computed on an ``elaboration''
+              of the program's CFG structure. Using this insight, we
+              build analysis algorithms that approach path sensitive
+              static analysis algorithms by performing the fixed point
+              computation on the base domain while discovering an
+              ``elaboration'' on the fly. Using restrictions on the
+              nature of the elaborations, we design algorithms that
+              scale polynomially in terms of the number of
+              disjuncts. We have implemented a light-weight static
+              analyzer for C programs with encouraging initial
+              results."
+}
+
+ at Inproceedings{Simon10a,
+  Author = "A. Simon",
+  Title = "A Note on the Inversion Join for Polyhedral Analysis",
+  Booktitle = "Proceedings of the 2nd International Workshop on
+               Numerical and Symbolic Abstract Domains (NSAD 2010)",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 267,
+  Pages =  "115--126",
+  Year = 2010,
+  ISSN = "1571-0661",
+  Abstract = "Linear invariants are essential in many optimization and
+              verification tasks. The domain of convex polyhedra (sets
+              of linear inequalities) has the potential to infer all
+              linear relationships. Yet, it is rarely applied to
+              larger problems due to the join operation whose most
+              precise result is given by the convex hull of two
+              polyhedra which, in turn, may be of exponential
+              size. Recently, Sankaranarayanan et al. proposed an
+              operation called inversion join to efficiently
+              approximate the convex hull. While their proposal has an
+              ad-hoc flavour, we show that it is quite principled and,
+              indeed, complete for planar polyhedra and, for general
+              polyhedra, complete on over 70% of our benchmarks."
+}
+
+ at Inproceedings{Simon10b,
+  Author = "A. Simon",
+  Title = "Speeding up Polyhedral Analysis by Identifying Common Constraints",
+  Booktitle = "Proceedings of the 2nd International Workshop on
+               Numerical and Symbolic Abstract Domains (NSAD 2010)",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 267,
+  Pages =  "127--138",
+  Year = 2010,
+  ISSN = "1571-0661",
+  Abstract = "Sets of linear inequalities are an expressive reasoning
+              tool for approximating the reachable states of a
+              program. However, the most precise way to join two
+              states is to calculate the convex hull of the two
+              polyhedra that are represented by the inequality sets,
+              an operation that is exponential in the dimension of the
+              polyhedra. We investigate how similarities in the two
+              input polyhedra can be exploited to improve the
+              performance of this costly operation. In particular, we
+              discuss how common equalities and certain inequalities
+              can be omitted from the calculation without affecting
+              the result. We expose a maximum of common equalities and
+              inequalities by converting the polyhedra into a normal
+              form and give experimental evidence of the merit of our
+              method."
+}
+
+ at Inproceedings{SimonL10,
+  Author = "A. Simon and L. Chen",
+  Title = "Simple and Precise Widenings for {H-Polyhedra}",
+  Booktitle = "Proceedings of the 8th Asian Symposium
+               on the Programming Languages and Systems (APLAS 2010)",
+  Address = "Shanghai, China",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "K. Ueda",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-17163-5",
+  Pages =  "139--155",
+  Volume = 6461,
+  Year = 2010,
+  Abstract = "While the definition of the revised widening for
+              polyhedra is defined in terms of inequalities, most
+              implementations use the double description method as a
+              means to an efficient implementation. We show how
+              standard widening can be implemented in a simple and
+              efficient way using a normalized H -representation
+              (constraint-only) which has become popular in recent
+              approximations to polyhedral analysis. We then detail a
+              novel heuristic for this representation that is tuned
+              to capture linear transformations of the state space
+              while ensuring quick convergence for non-linear
+              transformations for which no precise linear invariants
+              exist."
+}
+
+ at Techreport{SlaninaSSM07TR,
+  Author = "M. Slanina and S. Sankaranarayanan and H. B. Sipma and Z. Manna",
+  Title = "Controller Synthesis of Discrete Linear Plants Using Polyhedra",
+  Number = "REACT-TR-2007-01",
+  Institution = "Computer Science Department, Stanford University",
+  Address = "Stanford, California, USA",
+  Year = 2007,
+  Abstract = "We study techniques for synthesizing synchronous
+              controllers for affine plants with disturbances, based
+              on safety specifications. Our plants are modeled in
+              terms of discrete linear systems whose variables are
+              partitioned into system, control, and disturbance
+              variables. We synthesize non-blocking controllers that
+              satisfy a user-provided safety specification by means of
+              a fixed point iteration over the control precondition
+              state transformer. Using convex polyhedra to represent
+              sets of states, we present both precise and approximate
+              algorithms for computing control preconditions and
+              discuss strategies for forcing convergence of the
+              iteration. We present technique for automatically
+              deriving controllers from the result of the analysis,
+              and demonstrate our approach on examples."
+}
+
+ at TechReport{Soffia08TR,
+  Author = "S. Soffia",
+  Title = "Definition and Implementation of a Points-To Analysis
+           for C-like Languages",
+  Institution = "Dipartimento di Matematica, Universit\`a di Parma, Italy",
+  Number = "arXiv:cs.PL/0810.0753",
+  Year = 2008,
+  Note = "Available from \url{http://arxiv.org/}",
+  Abstract = "The points-to problem is the problem of determining the
+              possible run-time targets of pointer variables and is
+              usually considered part of the more general aliasing
+              problem, which consists in establishing whether and when
+              different expressions can refer to the same memory address.
+              Aliasing information is essential to every tool that needs
+              to reason about the semantics of programs.  However, due to
+              well-known undecidability results, for all interesting
+              languages that admit aliasing, the exact solution of
+              nontrivial aliasing problems is not generally computable.
+              This work focuses on approximated solutions to this problem
+              by presenting a store-based, flow-sensitive points-to
+              analysis, for applications in the field of automated software
+              verification.  In contrast to software testing procedures,
+              which heuristically check the program against a finite set
+              of executions, the methods considered in this work are static
+              analyses, where the computed results are valid for all the
+              possible executions of the analyzed program.  We present a
+              simplified programming language and its execution model;
+              then an approximated execution model is developed using the
+              ideas of abstract interpretation theory.  Finally, the
+              soundness of the approximation is formally proved.  The aim
+              of developing a realistic points-to analysis is pursued by
+              presenting some extensions to the initial simplified model
+              and discussing the correctness of their formulation.
+              This work contains original contributions to the issue of
+              points-to analysis, as it provides a formulation of a filter
+              operation on the points-to abstract domain and a formal proof
+              of the soundness of the defined abstract operations:
+              these, as far as we now, are lacking from the previous
+              literature."
+}
+
+ at Inproceedings{Starynkevitch07,
+  Author = "B. Starynkevitch",
+  Title = "Multi-Stage Construction of a Global Static Analyzer",
+  Booktitle = "Proceedings of the 2007 {GCC} Developers' Summit",
+  Address = "Ottawa, Canada",
+  Pages = "143--151",
+  Year = 2007,
+  Abstract = "We describe ongoing work about global static analysis
+              for GCC4 within the GlobalGCC European project,
+              funded thru the ITEA Programme.  The aim of this
+              work is to provide global (whole program) static
+              analysis, notably based upon abstract interpretation
+              and knowledge based techniques, within the GCC
+              compiler, targeted for analysis of medium sized C,
+              Fortran or C++ programs. This will facilitate the
+              adoption of GCC in the area of safetycritical
+              software development, by providing features found in
+              a few expensive commercial tools (PolySpace, AbsInt)
+              or research prototypes (Astree). In this
+              perspective, the emphasis is on the quality of
+              analysis, at the expense of much bigger compilation
+              times, without sacrificing scalability. Such
+              analysis can be used for several purposes:
+              statically compute some interesting properties of
+              the program at most control points (possibly
+              reporting them the user); provide clever,
+              contextual, warnings about possible hazards in the
+              user program (null pointer dereferences, zero
+              divide, conversion loss, out of bound array access,
+              \dots) while avoiding too much false alarms; enable
+              additional optimisations, like conditional
+              contextual constant folding, C++ method call
+              devirtualization, an other contextual optimizations.
+              The compiler's rich program manipulation
+              infrastructure facilitates the development of these
+              advanced analysis capabilities.  To facilitate the
+              development high-level semantical analyses, a domain
+              specific language has been developped, and is
+              translated (thru C) into dynamically loaded code. It
+              uses the Parma Polyhedra Library (also used in the
+              GRAPHITE project) for relational analysis on scalars
+              and gives more expressivity to develop analaysis
+              algorithms. It permits multi-staged generation of
+              the specific analysis tailored to the analyzed
+              source code. Presenting this work at the 2007 GCC
+              summit will allow us to stress the importance of all
+              outputs of the compiler, not only object-code, and
+              to expose the complementary contribution of static
+              analyses and dynamic/instrumentation approaches like
+              mudflap."
+}
+
+ at Inproceedings{SongCR06,
+  Author = "H. Song and K. J. Compton and W. C. Rounds",
+  Title = "{SPHIN:} A Model Checker for Reconfigurable Hybrid Systems
+           Based on {SPIN}",
+  Booktitle = "Proceedings of the 5th International Workshop on
+               Automated Verification of Critical Systems",
+  Address = "University of Warwick, UK",
+  Editor = "R. Lazic and R. Nagarajan",
+  Series = "Electronic Notes in Theoretical Computer Science",
+  Publisher = "Elsevier Science B.V.",
+  Volume = 145,
+  Pages = "167--183",
+  Year = 2006,
+  Abstract = "We present SPHIN, a model checker for reconfigurable
+              hybrid systems based on the model checker SPIN. We
+              observe that physical (analog) mobility can be modeled
+              in the same way as logical (discrete) mobility is
+              modeled in the $\pi$-calculus by means of channel name
+              passing. We chose SPIN because it supports channel name
+              passing and can model reconfigurations. We extend the
+              syntax of PROMELA and the verification algorithms based
+              on the expected semantics. We demonstrate the tool's
+              capabilities by modeling and verifying a reconfigurable
+              hybrid system."
+}
+
+ at Inproceedings{TraonouezLR08,
+  Author = "L.-M. Traonouez and D. Lime and O. H. Roux",
+  Title = "Parametric Model-Checking of Time {Petri} Nets with Stopwatches
+           Using the State-Class Graph",
+  Booktitle = "Proceedings of the 6th International Conference on
+               Formal Modeling and Analysis of Timed Systems (FORMATS 2008)",
+  Editor = "F. Cassez and C. Jard",
+  Address = "Saint Malo, France",
+  Pages = "280--294",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 5215,
+  Year = 2008,
+  ISBN = "978-3-540-85777-8",
+  Abstract = "In this paper, we propose a new framework for the
+              parametric verification of time Petri nets with
+              stopwatches controlled by inhibitor arcs. We first
+              introduce an extension of time Petri nets with inhibitor
+              arcs (ITPNs) with temporal parameters. Then, we define a
+              symbolic representation of the parametric state space
+              based on the classical state class graph method. The
+              parameters of the model are embedded into the firing
+              domains of the classes, that are represented by convex
+              polyhedra. Finally, we propose semi-algorithms for the
+              parametric model-checking of a subset of parametric TCTL
+              formulae on ITPNs. We can thus generate the set of the
+              parameter valuations that satisfy the formulae."
+}
+
+ at Article{TraonouezLR09,
+  Author = "L.-M. Traonouez and D. Lime and O. H. Roux",
+  Title = "Parametric Model-Checking of Stopwatch Petri Nets",
+  Journal = "Journal of Universal Computer Science",
+  Year = 2009,
+  Volume = 15,
+  Number = 17,
+  Pages = "3273--3304",
+  Abstract = "At the border between control and verification,
+              parametric verification can be used to synthesize
+              constraints on the parameters to ensure that a system
+              verifies given specifications. In this paper we propose
+              a new framework for the parametric verification of time
+              Petri nets with stopwatches. We first introduce a
+              parametric extension of time Petri nets with inhibitor
+              arcs (ITPNs) with temporal parameters and we define a
+              symbolic representation of the parametric state-space
+              based on the classical state-class graph method. Then,
+              we propose semi-algorithms for the parametric
+              modelchecking of a subset of parametric TCTL formulae on
+              ITPNs. These results have been implemented in the tool
+              Romeo and we illustrate them in a case-study based on a
+              scheduling problem.", } Abstract: At the border between
+              control and verification, parametric verification can be
+              used to synthesize constraints on the parameters to
+              ensure that a system verifies given specifications. In
+              this paper we propose a new framework for the parametric
+              verification of time Petri nets with stopwatches. We
+              first introduce a parametric extension of time Petri
+              nets with inhibitor arcs (ITPNs) with temporal
+              parameters and we define a symbolic representation of
+              the parametric state-space based on the classical
+              state-class graph method. Then, we propose
+              semi-algorithms for the parametric modelchecking of a
+              subset of parametric TCTL formulae on ITPNs. These
+              results have been implemented in the tool Romeo and we
+              illustrate them in a case-study based on a scheduling
+              problem."
+}
+
+ at Inproceedings{TrifunovicCEFG+10,
+  Author = "K. Trifunovic and A. Cohen and D. Edelsohn and L. Feng
+           and T. Grosser and H. Jagasia and R. Ladelsky and S. Pop
+           and J. Sj{\"o}din and R. Upadrasta",
+  Title = "{GRAPHITE} Two Years After:
+           First Lessons Learned From Real-World Polyhedral Compilation",
+  Booktitle = "Proceedings of the 2nd International Workshop on
+               GCC Research Opportunities (GROW'10)",
+  Address = "Pisa, Italy",
+  Year = 2010,
+  Pages = "4--19",
+  Abstract = "Modern compilers are responsible for adapting the
+              semantics of source programs into a form that makes
+              efficient use of a highly complex, heterogeneous
+              machine. This adaptation amounts to solve an
+              optimization problem in a huge and unstructured search
+              space, while predicting the performance outcome of
+              complex sequences of program transformations. The
+              polyhedral model of compilation is aimed at these
+              challenges. Its geometrical, non-inductive semantics
+              enables the construction of better-structured
+              optimization problems and precise analytical
+              models. Recent work demonstrated the scalability of the
+              main polyhedral algorithms to real-world programs. Its
+              integration into production compilers is under way,
+              pioneered by the graphite branch of the GNU Compiler
+              Collection (GCC). Two years after the effective
+              beginning of the project, this paper reports on original
+              questions and innovative solutions that arose during the
+              design and implementation of \textsc{graphite}."
+}
+
+ at Techreport{UchoaFLPPdAA06TR,
+  Author = "E. Uchoa and R. Fukasawa and J. Lysgaard and A. Pessoa
+            and M. {Poggi de Arag\~ao} and D. Andrade",
+  Title = "Robust Branch-Cut-and-Price for the Capacitated
+           Minimum Spanning Tree Problem over a Large Extended Formulation",
+  Number = "RPEP, Vol.~6, No.~9",
+  Institution = "Universidade Federal Fluminense, Engenharia de Produ\c{c}ao",
+  Address = "Niteroi, Brazil",
+  Year = 2006,
+  Abstract = "This paper presents a robust branch-cut-and-price
+              algorithm for the Capacitated Minimum Spanning Tree
+              Problem (CMST). The variables are associated to
+              $q$-arbs, a structure that arises from a relaxation of
+              the capacitated prize-collecting arborescence probem in
+              order to make it solvable in pseudo-polynomial
+              time. Traditional inequalities over the arc formulation,
+              like Capacity Cuts, are also used. Moreover, a novel
+              feature is introduced in such kind of
+              algorithms. Powerful new cuts expressed over a very
+              large set of variables could be added, without
+              increasing the complexity of the pricing subproblem or
+              the size of the LPs that are actually
+              solved. Computational results on benchmark instances
+              from the OR-Library show very significant improvements
+              over previous algorithms. Several open instances could
+              be solved to optimality."
+}
+
+ at Inproceedings{vanHeeOSV06,
+  Author = "K. {van Hee} and O. Oanea and N. Sidorova and M. Voorhoeve",
+  Title = "Verifying Generalized Soundness for Workflow Nets",
+  Booktitle = "Perspectives of System Informatics: Proceedings of the
+               6th International Andrei Ershov Memorial Conference",
+  Address = "Akademgorodok, Novosibirsk, Russia",
+  Editor = "I. Virbitskaite and A. Voronkov",
+  Publisher = "Springer-Verlag, Berlin",
+  Series = "Lecture Notes in Computer Science",
+  Volume = 4378,
+  Pages = "231--244",
+  Year = 2006,
+  Abstract = "We improve the decision procedure from [K. van Hee,
+              N. Sidorova, and M. Voorhoeve. Generalized soundness of
+              workflow nets is decidable. In Proc. of ICATPN'2004,
+              volume 3099 of LNCS, pages 197--216, 2004] for the
+              problem of generalized soundness for workflow nets:
+              ``Every marking reachable from an initial marking with
+              $k$ tokens on the initial place terminates properly,
+              i.e. it can reach a marking with $k$ tokens on the final
+              place, for an arbitrary natural number $k$''. Moreover,
+              our new decision procedure returns a counterexample in
+              case the workflow net is not generalized sound. We also
+              report on experimental results obtained with the
+              prototype we made and explain how the procedure can be
+              used for the compositional verification of large
+              workflows."
+}
+
+ at PhdThesis{Vasconcelos08th,
+  Author = "P. B. Vasconcelos",
+  Title = "Space Cost Analysis Using Sized Types",
+  School = "School of Computer Science, University of St Andrews",
+  Address = "St Andrews, UK",
+  Month = aug,
+  Year = 2008,
+  Abstract = "Programming resource-sensitive systems, such as
+              real-time embedded systems, requires guaranteeing both
+              the functional correctness of computations and also that
+              time and space usage fit within constraints imposed
+              by hardware limits or the environment.  Functional
+              programming languages have proved very good at
+              meeting the former logical kind of guarantees but
+              not the latter resource guarantees.
+
+              This thesis contributes to demonstrate the applicability
+              of functional programming in resource-sensitive
+              systems with an automatic program analysis for
+              obtaining guaranteed upper bounds on dynamic space
+              usage of functional programs.
+
+              Our analysis is developed for a core subset of
+              \emph{Hume}, a domain-specific functional language
+              targeting resource-sensitive systems (Hammond et
+              al. 2007), and presented as a type and effeect
+              system that builds on previous sized type systems
+              (Hughes et al. 1996, Chin and Khoo 2001) and effeect
+              systems for costs (Dornic et al. 1992, Reistad and
+              Gifford 1994, Hughes and Pareto 1999). It extends
+              previous approaches by using abstract interpretation
+              techniques to \emph{automatically} infer linear
+              approximations of the sizes of recursive data types
+              and the stack and heap costs of recursive functions.
+
+              The correctness of the analysis is formally proved with
+              respect to an operational semantics for the language
+              and an inferrence algorithm that automatically
+              reconstructs size and cost bounds is presented.
+
+              A prototype implementation of the analysis and
+              operational semantics has been constructed and used
+              to experimentally assess the quality of the cost
+              bounds with some examples, including implementations
+              of textbook functional programming algorithms and
+              simplified embedded systems."
+}
+
+ at Inproceedings{Verdoolaege10,
+  Author = "S. Verdoolaege",
+  Title = "An Integer Set Library for the Polyhedral Model",
+  Booktitle = "Proceedings of the 3rd International Congress
+               on Mathematical Software (ICMS 2010)",
+  Address = "Kobe, Japan",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "K. Fukuda and J. Hoeven and M. Joswig and N. Takayama",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-15581-9",
+  Pages =  "299--302",
+  Volume = 6327,
+  ISBN = "978-3-642-15581-9",
+  Year = 2010,
+  Abstract = "In compiler research, polytopes and related mathematical
+              objects have been successfully used for several decades
+              to represent and manipulate computer programs in an
+              approach that has become known as the polyhedral
+              model. The key insight is that the kernels of many
+              compute-intensive applications are composed of loops
+              with bounds that are affine combinations of symbolic
+              constants and outer loop iterators. The iterations of a
+              loop nest can then be represented as the integer points
+              in a (parametric) polytope and manipulated as a whole,
+              rather than as individual iterations. A similar
+              reasoning holds for the elements of an array and for
+              mappings between loop iterations and array elements."
+}
+
+ at Incollection{Vigna07,
+  Author = "G. Vigna",
+  Editor = "M. Christodorescu and S. Jha and D. Maughan
+            and D. Song and C. Wang",
+  Booktitle = "Malware Detection",
+  Title = "Static Disassembly and Code Analysis",
+  Publisher = "Springer-Verlag, Berlin",
+  Year = 2007,
+  Series = "Advances in Information Security",
+  Volume = 27,
+  ISBN = "0-387-32720-4",
+  Abstract = "The classification of an unknown binary program as
+              malicious or benign requires two steps. In the first
+              step, the stream of bytes that constitutes the program
+              has to be transformed (or disassembled) into the
+              corresponding sequence of machine instructions. In the
+              second step, based on this machine code representation,
+              static or dynamic code analysis techniques can be
+              applied to determine the properties and function of the
+              program.  Both the disassembly and code analysis steps
+              can be foiled by techniques that obfuscate the binary
+              representation of a program. Thus, robust techniques are
+              required that deliver reliable results under such
+              adverse circumstances. In this chapter, we introduce a
+              disassemble technique that can deal with obfuscated
+              binaries. Also, we introduce a static code analysis
+              approach that can identify high-level semantic
+              properties of code that are difficult to conceal."
+}
+
+ at Inproceedings{YangWGI06,
+  Author = "Z. Yang and C. Wang and A. Gupta and F. Ivan\v{c}i\'{c}",
+  Title = "Mixed Symbolic Representations for Model Checking
+           Software Programs",
+  Booktitle = "Proceedings of the 4th ACM {\&} IEEE International Conference
+               on Formal Methods and Models for Co-Design (MEMOCODE 2006)",
+  Address = "Embassy Suites, Napa, California, USA",
+  Pages = "17--26",
+  Publisher = "IEEE Press",
+  Year = 2006,
+  ISBN = "1-4244-0421-5",
+  Abstract = "We present an efficient symbolic search algorithm for
+              software model checking. The algorithm combines multiple
+              symbolic representations to efficiently represent the
+              transition relation and reachable states and uses a
+              combination of decision procedures for Boolean and
+              integer representations. Our main contributions include:
+              (1) mixed symbolic representations to model C programs
+              with rich data types and complex expressions; and (2)
+              new symbolic search strategies and optimization
+              techniques specific to sequential programs that can
+              significantly improve the scalability of model checking
+              algorithms. Our controlled experiments on real-world
+              software programs show that the new symbolic search
+              algorithm can achieve several orders-of-magnitude
+              improvements over existing methods. The proposed
+              techniques are extremely competitive in handling
+              sequential models of non-trivial sizes, and also compare
+              favorably to popular Boolean-level model checking
+              algorithms based on BDDs and SAT.",
+}
+
+ at Article{YangWGI09,
+  Author = "Z. Yang and C. Wang and A. Gupta and F. Ivan\v{c}i\'{c}",
+  Title = "Model Checking Sequential Software Programs
+           Via Mixed Symbolic Analysis",
+  Journal = "ACM Transactions on Design Automation of Electronic Systems",
+  Volume = 14,
+  Number = 1,
+  Pages = "1--26",
+  Year = 2009,
+  ISSN = "1084-4309",
+  Publisher = "ACM Press",
+  Address = "New York, NY, USA",
+  Abstract = "We present an efficient symbolic search algorithm for
+              software model checking. Our algorithms perform
+              word-level reasoning by using a combination of decision
+              procedures in Boolean and integer and real domains, and
+              use novel symbolic search strategies optimized
+              specifically for sequential programs to improve
+              scalability. Experiments on real-world C programs show
+              that the new symbolic search algorithms can achieve
+              several orders-of-magnitude improvements over existing
+              methods based on bit-level (Boolean) reasoning."
+}
+
+ at Incollection{ZanioliC11,
+  Author = "M. Zanioli and A. Cortesi",
+  Title = "Information Leakage Analysis by Abstract Interpretation",
+  Booktitle = "SOFTSEM 2011: Theory and Practice of Computer Science",
+  Series = "Lecture Notes in Computer Science",
+  Editor = "I. Cern{\'a} and T. Gyim{\'o}thy and J. Hromkovic and K. Jefferey
+            and R. Kr{\'a}lovic and M. Vukolic and S. Wolf",
+  Publisher = "Springer-Verlag, Berlin",
+  ISBN = "978-3-642-18380-5",
+  Pages =  "545--557",
+  Volume = 6543,
+  Year = 2011,
+  Abstract = "Protecting the confidentiality of information stored in
+              a computer system or transmitted over a public network
+              is a relevant problem in computer security. The
+              approach of information flow analysis involves
+              performing a static analysis of the program with the
+              aim of proving that there will not be leaks of
+              sensitive information. In this paper we propose a new
+              domain that combines variable dependency analysis,
+              based on propositional formulas, and variables' value
+              analysis, based on polyhedra. The resulting analysis is
+              strictly more accurate than the state of the art
+              abstract interpretation based analyses for information
+              leakage detection. Its modular construction allows to
+              deal with the tradeoff between efficiency and accuracy
+              by tuning the granularity of the abstraction and the
+              complexity of the abstract operators."
+}
+
+==============================================================================
+
+<h2>ODC Attribution License (ODC-By)</h2>
+
+### Preamble
+
+The Open Data Commons Attribution License is a license agreement
+intended to allow users to freely share, modify, and use this Database
+subject only to the attribution requirements set out in Section 4.
+
+Databases can contain a wide variety of types of content (images,
+audiovisual material, and sounds all in the same database, for example),
+and so this license only governs the rights over the Database, and not
+the contents of the Database individually. Licensors may therefore wish
+to use this license together with another license for the contents.
+
+Sometimes the contents of a database, or the database itself, can be
+covered by other rights not addressed here (such as private contracts,
+trademark over the name, or privacy rights / data protection rights
+over information in the contents), and so you are advised that you may
+have to consult other documents or clear other rights before doing
+activities not covered by this License.
+
+------
+
+The Licensor (as defined below)
+
+and
+
+You (as defined below)
+
+agree as follows:
+
+### 1.0 Definitions of Capitalised Words
+
+"Collective Database" - Means this Database in unmodified form as part
+of a collection of independent databases in themselves that together are
+assembled into a collective whole. A work that constitutes a Collective
+Database will not be considered a Derivative Database.
+
+"Convey" - As a verb, means Using the Database, a Derivative Database,
+or the Database as part of a Collective Database in any way that enables
+a Person to make or receive copies of the Database or a Derivative
+Database.  Conveying does not include interaction with a user through a
+computer network, or creating and Using a Produced Work, where no
+transfer of a copy of the Database or a Derivative Database occurs.
+
+"Contents" - The contents of this Database, which includes the
+information, independent works, or other material collected into the
+Database. For example, the contents of the Database could be factual
+data or works such as images, audiovisual material, text, or sounds.
+
+"Database" - A collection of material (the Contents) arranged in a
+systematic or methodical way and individually accessible by electronic
+or other means offered under the terms of this License.
+
+"Database Directive" - Means Directive 96/9/EC of the European
+Parliament and of the Council of 11 March 1996 on the legal protection
+of databases, as amended or succeeded.
+
+"Database Right" - Means rights resulting from the Chapter III ("sui
+generis") rights in the Database Directive (as amended and as transposed
+by member states), which includes the Extraction and Re-utilisation of
+the whole or a Substantial part of the Contents, as well as any similar
+rights available in the relevant jurisdiction under Section 10.4.
+
+"Derivative Database" - Means a database based upon the Database, and
+includes any translation, adaptation, arrangement, modification, or any
+other alteration of the Database or of a Substantial part of the
+Contents. This includes, but is not limited to, Extracting or
+Re-utilising the whole or a Substantial part of the Contents in a new
+Database.
+
+"Extraction" - Means the permanent or temporary transfer of all or a
+Substantial part of the Contents to another medium by any means or in
+any form.
+
+"License" - Means this license agreement and is both a license of rights
+such as copyright and Database Rights and an agreement in contract.
+
+"Licensor" - Means the Person that offers the Database under the terms
+of this License.
+
+"Person" - Means a natural or legal person or a body of persons
+corporate or incorporate.
+
+"Produced Work" -  a work (such as an image, audiovisual material, text,
+or sounds) resulting from using the whole or a Substantial part of the
+Contents (via a search or other query) from this Database, a Derivative
+Database, or this Database as part of a Collective Database.
+
+"Publicly" - means to Persons other than You or under Your control by
+either more than 50% ownership or by the power to direct their
+activities (such as contracting with an independent consultant).
+
+"Re-utilisation" - means any form of making available to the public all
+or a Substantial part of the Contents by the distribution of copies, by
+renting, by online or other forms of transmission.
+
+"Substantial" - Means substantial in terms of quantity or quality or a
+combination of both. The repeated and systematic Extraction or
+Re-utilisation of insubstantial parts of the Contents may amount to the
+Extraction or Re-utilisation of a Substantial part of the Contents.
+
+"Use" - As a verb, means doing any act that is restricted by copyright
+or Database Rights whether in the original medium or any other; and
+includes without limitation distributing, copying, publicly performing,
+publicly displaying, and preparing derivative works of the Database, as
+well as modifying the Database as may be technically necessary to use it
+in a different mode or format.
+
+"You" - Means a Person exercising rights under this License who has not
+previously violated the terms of this License with respect to the
+Database, or who has received express permission from the Licensor to
+exercise rights under this License despite a previous violation.
+
+Words in the singular include the plural and vice versa.
+
+### 2.0 What this License covers
+
+2.1. Legal effect of this document. This License is:
+
+  a. A license of applicable copyright and neighbouring rights;
+
+  b. A license of the Database Right; and
+
+  c. An agreement in contract between You and the Licensor.
+
+2.2 Legal rights covered. This License covers the legal rights in the
+Database, including:
+
+  a. Copyright. Any copyright or neighbouring rights in the Database.
+  The copyright licensed includes any individual elements of the
+  Database, but does not cover the copyright over the Contents
+  independent of this Database. See Section 2.4 for details. Copyright
+  law varies between jurisdictions, but is likely to cover: the Database
+  model or schema, which is the structure, arrangement, and organisation
+  of the Database, and can also include the Database tables and table
+  indexes; the data entry and output sheets; and the Field names of
+  Contents stored in the Database;
+
+  b. Database Rights. Database Rights only extend to the Extraction and
+  Re-utilisation of the whole or a Substantial part of the Contents.
+  Database Rights can apply even when there is no copyright over the
+  Database. Database Rights can also apply when the Contents are removed
+  from the Database and are selected and arranged in a way that would
+  not infringe any applicable copyright; and
+
+  c. Contract. This is an agreement between You and the Licensor for
+  access to the Database. In return you agree to certain conditions of
+  use on this access as outlined in this License.
+
+2.3 Rights not covered.
+
+  a. This License does not apply to computer programs used in the making
+  or operation of the Database;
+
+  b. This License does not cover any patents over the Contents or the
+  Database; and
+
+  c. This License does not cover any trademarks associated with the
+  Database.
+
+2.4 Relationship to Contents in the Database. The individual items of
+the Contents contained in this Database may be covered by other rights,
+including copyright, patent, data protection, privacy, or personality
+rights, and this License does not cover any rights (other than Database
+Rights or in contract) in individual Contents contained in the Database.
+For example, if used on a Database of images (the Contents), this
+License would not apply to copyright over individual images, which could
+have their own separate licenses, or one single license covering all of
+the rights over the images.
+
+### 3.0 Rights granted
+
+3.1 Subject to the terms and conditions of this License, the Licensor
+grants to You a worldwide, royalty-free, non-exclusive, terminable (but
+only under Section 9) license to Use the Database for the duration of
+any applicable copyright and Database Rights. These rights explicitly
+include commercial use, and do not exclude any field of endeavour. To
+the extent possible in the relevant jurisdiction, these rights may be
+exercised in all media and formats whether now known or created in the
+future.
+
+The rights granted cover, for example:
+
+  a. Extraction and Re-utilisation of the whole or a Substantial part of
+  the Contents;
+
+  b. Creation of Derivative Databases;
+
+  c. Creation of Collective Databases;
+
+  d. Creation of temporary or permanent reproductions by any means and
+  in any form, in whole or in part, including of any Derivative
+  Databases or as a part of Collective Databases; and
+
+  e. Distribution, communication, display, lending, making available, or
+  performance to the public by any means and in any form, in whole or in
+  part, including of any Derivative Database or as a part of Collective
+  Databases.
+
+3.2 Compulsory license schemes. For the avoidance of doubt:
+
+  a. Non-waivable compulsory license schemes. In those jurisdictions in
+  which the right to collect royalties through any statutory or
+  compulsory licensing scheme cannot be waived, the Licensor reserves
+  the exclusive right to collect such royalties for any exercise by You
+  of the rights granted under this License;
+
+  b. Waivable compulsory license schemes. In those jurisdictions in
+  which the right to collect royalties through any statutory or
+  compulsory licensing scheme can be waived, the Licensor waives the
+  exclusive right to collect such royalties for any exercise by You of
+  the rights granted under this License; and,
+
+  c. Voluntary license schemes. The Licensor waives the right to collect
+  royalties, whether individually or, in the event that the Licensor is
+  a member of a collecting society that administers voluntary licensing
+  schemes, via that society, from any exercise by You of the rights
+  granted under this License.
+
+3.3 The right to release the Database under different terms, or to stop
+distributing or making available the Database, is reserved. Note that
+this Database may be multiple-licensed, and so You may have the choice
+of using alternative licenses for this Database. Subject to Section
+10.4, all other rights not expressly granted by Licensor are reserved.
+
+### 4.0 Conditions of Use
+
+4.1 The rights granted in Section 3 above are expressly made subject to
+Your complying with the following conditions of use. These are important
+conditions of this License, and if You fail to follow them, You will be
+in material breach of its terms.
+
+4.2 Notices. If You Publicly Convey this Database, any Derivative
+Database, or the Database as part of a Collective Database, then You
+must:
+
+  a. Do so only under the terms of this License;
+
+  b. Include a copy of this License or its Uniform Resource Identifier (URI)
+  with the Database or Derivative Database, including both in the
+  Database or Derivative Database and in any relevant documentation;
+
+  c. Keep intact any copyright or Database Right notices and notices
+  that refer to this License; and
+
+  d. If it is not possible to put the required notices in a particular
+  file due to its structure, then You must include the notices in a
+  location (such as a relevant directory) where users would be likely to
+  look for it.
+
+4.3 Notice for using output (Contents). Creating and Using a Produced
+Work does not require the notice in Section 4.2. However, if you
+Publicly Use a Produced Work, You must include a notice associated with
+the Produced Work reasonably calculated to make any Person that uses,
+views, accesses, interacts with, or is otherwise exposed to the Produced
+Work aware that Content was obtained from the Database, Derivative
+Database, or the Database as part of a Collective Database, and that it
+is available under this License.
+
+  a. Example notice. The following text will satisfy notice under
+  Section 4.3:
+
+        Contains information from DATABASE NAME which is made available
+        under the ODC Attribution License.
+
+DATABASE NAME should be replaced with the name of the Database and a
+hyperlink to the location of the Database. "ODC Attribution License"
+should contain a hyperlink to the URI of the text of this License. If
+hyperlinks are not possible, You should include the plain text of the
+required URI's with the above notice.
+
+4.4 Licensing of others. You may not sublicense the Database. Each time
+You communicate the Database, the whole or Substantial part of the
+Contents, or any Derivative Database to anyone else in any way, the
+Licensor offers to the recipient a license to the Database on the same
+terms and conditions as this License. You are not responsible for
+enforcing compliance by third parties with this License, but You may
+enforce any rights that You have over a Derivative Database. You are
+solely responsible for any modifications of a Derivative Database made
+by You or another Person at Your direction. You may not impose any
+further restrictions on the exercise of the rights granted or affirmed
+under this License.
+
+### 5.0 Moral rights
+
+5.1 Moral rights. This section covers moral rights, including any rights
+to be identified as the author of the Database or to object to treatment
+that would otherwise prejudice the author's honour and reputation, or
+any other derogatory treatment:
+
+  a. For jurisdictions allowing waiver of moral rights, Licensor waives
+  all moral rights that Licensor may have in the Database to the fullest
+  extent possible by the law of the relevant jurisdiction under Section
+  10.4;
+
+  b. If waiver of moral rights under Section 5.1 a in the relevant
+  jurisdiction is not possible, Licensor agrees not to assert any moral
+  rights over the Database and waives all claims in moral rights to the
+  fullest extent possible by the law of the relevant jurisdiction under
+  Section 10.4; and
+
+  c. For jurisdictions not allowing waiver or an agreement not to assert
+  moral rights under Section 5.1 a and b, the author may retain their
+  moral rights over certain aspects of the Database.
+
+Please note that some jurisdictions do not allow for the waiver of moral
+rights, and so moral rights may still subsist over the Database in some
+jurisdictions.
+
+### 6.0 Fair dealing, Database exceptions, and other rights not affected
+
+6.1 This License does not affect any rights that You or anyone else may
+independently have under any applicable law to make any use of this
+Database, including without limitation:
+
+  a. Exceptions to the Database Right including: Extraction of Contents
+  from non-electronic Databases for private purposes, Extraction for
+  purposes of illustration for teaching or scientific research, and
+  Extraction or Re-utilisation for public security or an administrative
+  or judicial procedure.
+
+  b. Fair dealing, fair use, or any other legally recognised limitation
+  or exception to infringement of copyright or other applicable laws.
+
+6.2 This License does not affect any rights of lawful users to Extract
+and Re-utilise insubstantial parts of the Contents, evaluated
+quantitatively or qualitatively, for any purposes whatsoever, including
+creating a Derivative Database (subject to other rights over the
+Contents, see Section 2.4). The repeated and systematic Extraction or
+Re-utilisation of insubstantial parts of the Contents may however amount
+to the Extraction or Re-utilisation of a Substantial part of the
+Contents.
+
+### 7.0 Warranties and Disclaimer
+
+7.1 The Database is licensed by the Licensor "as is" and without any
+warranty of any kind, either express, implied, or arising by statute,
+custom, course of dealing, or trade usage. Licensor specifically
+disclaims any and all implied warranties or conditions of title,
+non-infringement, accuracy or completeness, the presence or absence of
+errors, fitness for a particular purpose, merchantability, or otherwise.
+Some jurisdictions do not allow the exclusion of implied warranties, so
+this exclusion may not apply to You.
+
+### 8.0 Limitation of liability
+
+8.1 Subject to any liability that may not be excluded or limited by law,
+the Licensor is not liable for, and expressly excludes, all liability
+for loss or damage however and whenever caused to anyone by any use
+under this License, whether by You or by anyone else, and whether caused
+by any fault on the part of the Licensor or not. This exclusion of
+liability includes, but is not limited to, any special, incidental,
+consequential, punitive, or exemplary damages such as loss of revenue,
+data, anticipated profits, and lost business. This exclusion applies
+even if the Licensor has been advised of the possibility of such
+damages.
+
+8.2 If liability may not be excluded by law, it is limited to actual and
+direct financial loss to the extent it is caused by proved negligence on
+the part of the Licensor.
+
+### 9.0 Termination of Your rights under this License
+
+9.1 Any breach by You of the terms and conditions of this License
+automatically terminates this License with immediate effect and without
+notice to You. For the avoidance of doubt, Persons who have received the
+Database, the whole or a Substantial part of the Contents, Derivative
+Databases, or the Database as part of a Collective Database from You
+under this License will not have their licenses terminated provided
+their use is in full compliance with this License or a license granted
+under Section 4.8 of this License.  Sections 1, 2, 7, 8, 9 and 10 will
+survive any termination of this License.
+
+9.2 If You are not in breach of the terms of this License, the Licensor
+will not terminate Your rights under it.
+
+9.3 Unless terminated under Section 9.1, this License is granted to You
+for the duration of applicable rights in the Database.
+
+9.4 Reinstatement of rights. If you cease any breach of the terms and
+conditions of this License, then your full rights under this License
+will be reinstated:
+
+  a. Provisionally and subject to permanent termination until the 60th
+  day after cessation of breach;
+
+  b. Permanently on the 60th day after cessation of breach unless
+  otherwise reasonably notified by the Licensor; or
+
+  c.  Permanently if reasonably notified by the Licensor of the
+  violation, this is the first time You have received notice of
+  violation of this License from  the Licensor, and You cure the
+  violation prior to 30 days after your receipt of the notice.
+
+9.5 Notwithstanding the above, Licensor reserves the right to release
+the Database under different license terms or to stop distributing or
+making available the Database. Releasing the Database under different
+license terms or stopping the distribution of the Database will not
+withdraw this License (or any other license that has been, or is
+required to be, granted under the terms of this License), and this
+License will continue in full force and effect unless terminated as
+stated above.
+
+### 10.0 General
+
+10.1 If any provision of this License is held to be invalid or
+unenforceable, that must not affect the validity or enforceability of
+the remainder of the terms and conditions of this License and each
+remaining provision of this License shall be valid and enforced to the
+fullest extent permitted by law.
+
+10.2 This License is the entire agreement between the parties with
+respect to the rights granted here over the Database. It replaces any
+earlier understandings, agreements or representations with respect to
+the Database.
+
+10.3 If You are in breach of the terms of this License, You will not be
+entitled to rely on the terms of this License or to complain of any
+breach by the Licensor.
+
+10.4 Choice of law. This License takes effect in and will be governed by
+the laws of the relevant jurisdiction in which the License terms are
+sought to be enforced. If the standard suite of rights granted under
+applicable copyright law and Database Rights in the relevant
+jurisdiction includes additional rights not granted under this License,
+these additional rights are granted in this License in order to meet the
+terms of this License.
diff --git a/doc/ppl_logo.pdf b/doc/ppl_logo.pdf
new file mode 100644
index 0000000..540fdbf
Binary files /dev/null and b/doc/ppl_logo.pdf differ
diff --git a/doc/ppl_logo_no_ppl.pdf b/doc/ppl_logo_no_ppl.pdf
new file mode 100644
index 0000000..3ff221f
Binary files /dev/null and b/doc/ppl_logo_no_ppl.pdf differ
diff --git a/doc/user-language-interface.doxyconf.in b/doc/user-language-interface.doxyconf.in
index 8db43fc..e1b53bb 100644
--- a/doc/user-language-interface.doxyconf.in
+++ b/doc/user-language-interface.doxyconf.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = "PPL <PPL_SED_LANGUAGE_NAME> Language Interface"
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                = <PPL_SED_ALIASES>
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = NO
 EXTRACT_PRIVATE        = NO
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = NO
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       = <PPL_SED_ENABLED_SECTIONS>
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -102,6 +111,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -128,12 +138,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -152,11 +168,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -170,11 +190,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = user-<PPL_SED_INTERFACE_NAME>.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -244,6 +266,7 @@ CLASS_DIAGRAMS         = NO
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -251,6 +274,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = NO
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -259,8 +283,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/user-language-interface.tex b/doc/user-language-interface.tex
index 93c3d43..7a8bfea 100644
--- a/doc/user-language-interface.tex
+++ b/doc/user-language-interface.tex
@@ -1,5 +1,5 @@
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -8,22 +8,26 @@
 % or any later version published by the Free Software Foundation;
 % with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 % The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PPL in files called `fdl.*'.
+% of each distribution of the PPL in files named `fdl.*'.
 %
 % The PPL is free software; you can redistribute it and/or modify it
 % under the terms of the GNU General Public License as published by the
 % Free Software Foundation; either version 3 of the License, or (at your
 % option) any later version.  The license is included, in various
 % formats, in the `doc' subdirectory of each distribution of the PPL in
-% files are called `gpl.*'.
+% files named `gpl.*'.
 %
 % The PPL is distributed in the hope that it will be useful, but WITHOUT
 % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 % FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 % for more details.
 %
+% If you have not received a copy of one or both the above mentioned
+% licenses along with the PPL, write to the Free Software Foundation,
+% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+%
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 \documentclass[a4paper,twoside]{article}
 \usepackage{a4wide}
@@ -35,6 +39,7 @@
 \usepackage{textcomp}
 \usepackage{alltt}
 \usepackage{times}
+\usepackage{tocloft}
 \usepackage{ifpdf}
 \ifpdf
 \usepackage[pdftex,
@@ -58,18 +63,18 @@
 \usepackage{ppl}
 \makeindex
 \setcounter{tocdepth}{2}
-\renewcommand{\footrulewidth}{0.4pt}
 
-\rfoot[\fancyplain{}{\scriptsize The Parma Polyhedra Library <PPL_SED_LANGUAGE_NAME> Language Interface User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Polyhedra Library <PPL_SED_LANGUAGE_NAME> Language Interface User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}}
+\renewcommand{\footrulewidth}{0.4pt}
+\fancyfoot{}
+\fancyfoot[LE,RO]{\includegraphics[height=0.4cm]{ppl_logo_no_ppl.pdf}}
+\fancyfoot[RE,LO]{\scriptsize The PPL <PPL_SED_LANGUAGE_NAME> Language Interface User's Manual (version $projectnumber). See \url{http://bugseng.com} for more information.}
 
 \setlength{\headheight}{24pt}
 
-%% This only applies to the title: it avoids a pdf duplicate link error.
-\pagenumbering{Alph}
-
 \begin{document}
 \title{
+\includegraphics[height=9cm]{ppl_logo.pdf} \\
+\ \\
 The Parma Polyhedra Library \\
 <PPL_SED_LANGUAGE_NAME> Language Interface \\
 User's Manual\thanks{This work
@@ -97,16 +102,24 @@ User's Manual\thanks{This work
 }
 \author{
 Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-Patricia M. Hill\thanks{hill at comp.leeds.ac.uk,
-  School of Computing, University of Leeds, U.K.} \\
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Patricia M. Hill\thanks{patricia.hill at bugseng.com,
+  BUGSENG srl.} \\
 Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.}
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Abramo Bagnara\thanks{abramo.bagnara at bugseng.com,
+  BUGSENG srl.} \\
 }
-\maketitle
+{\sffamily\maketitle}
+\thispagestyle{empty}
+\clearpage{\pagestyle{empty}\cleardoublepage}
 
 \newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it) \\
+Copyright \copyright\ 2010--2012 BUGSENG srl (http://bugseng.com)
+
 
 This document describes the Parma Polyhedra Library (PPL).
 
@@ -130,12 +143,31 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
 For the most up-to-date information see the Parma Polyhedra Library
 site:
 \begin{center}
-\href{http://www.cs.unipr.it/ppl/}{\tt http://www.cs.unipr.it/ppl/}
+\href{http://bugseng.com/products/ppl/}{\tt http://bugseng.com/products/ppl/}
 \end{center}
+\vfill
+\begin{center}
+\includegraphics[width=5cm]{bugseng_logo.pdf}
+\end{center}
+\vfill
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
+% The following command is needed to have the right footer on
+% the first page of the TOC.
+\addtocontents{toc}{\protect\thispagestyle{fancy}}
+
+% Make sure there is enough space in the TOC for long subsection numbers.
+\addtolength{\cftsubsecnumwidth}{1em}
 
 \pagenumbering{roman}
 \tableofcontents
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
 \pagenumbering{arabic}
diff --git a/doc/user.doxyconf-html.in b/doc/user.doxyconf-html.in
index 2fb029b..cf52424 100644
--- a/doc/user.doxyconf-html.in
+++ b/doc/user.doxyconf-html.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = PPL
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                =
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = NO
 EXTRACT_PRIVATE        = NO
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = NO
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -105,6 +114,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -131,12 +141,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -155,11 +171,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -173,11 +193,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = @srcdir@/user.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -240,6 +262,7 @@ CLASS_DIAGRAMS         = NO
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -247,6 +270,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = NO
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -255,8 +279,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/user.doxyconf-latex.in b/doc/user.doxyconf-latex.in
index f6c7123..dfc01dd 100644
--- a/doc/user.doxyconf-latex.in
+++ b/doc/user.doxyconf-latex.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.6.3
+# Doxyfile 1.8.1.1
 
 #---------------------------------------------------------------------------
 # Project related configuration options
@@ -6,6 +6,8 @@
 DOXYFILE_ENCODING      = UTF-8
 PROJECT_NAME           = PPL
 PROJECT_NUMBER         = @VERSION@
+PROJECT_BRIEF          =
+PROJECT_LOGO           =
 OUTPUT_DIRECTORY       = .
 CREATE_SUBDIRS         = NO
 OUTPUT_LANGUAGE        = English
@@ -25,24 +27,30 @@ INHERIT_DOCS           = NO
 SEPARATE_MEMBER_PAGES  = NO
 TAB_SIZE               = 8
 ALIASES                =
+TCL_SUBST              =
 OPTIMIZE_OUTPUT_FOR_C  = NO
 OPTIMIZE_OUTPUT_JAVA   = NO
 OPTIMIZE_FOR_FORTRAN   = NO
 OPTIMIZE_OUTPUT_VHDL   = NO
 EXTENSION_MAPPING      =
+MARKDOWN_SUPPORT       = NO
 BUILTIN_STL_SUPPORT    = NO
 CPP_CLI_SUPPORT        = NO
 SIP_SUPPORT            = NO
 IDL_PROPERTY_SUPPORT   = YES
 DISTRIBUTE_GROUP_DOC   = NO
 SUBGROUPING            = YES
+INLINE_GROUPED_CLASSES = NO
+INLINE_SIMPLE_STRUCTS  = NO
 TYPEDEF_HIDES_STRUCT   = NO
 SYMBOL_CACHE_SIZE      = 0
+LOOKUP_CACHE_SIZE      = 0
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
 EXTRACT_ALL            = NO
 EXTRACT_PRIVATE        = NO
+EXTRACT_PACKAGE        = NO
 EXTRACT_STATIC         = NO
 EXTRACT_LOCAL_CLASSES  = YES
 EXTRACT_LOCAL_METHODS  = NO
@@ -62,6 +70,7 @@ SORT_BRIEF_DOCS        = NO
 SORT_MEMBERS_CTORS_1ST = NO
 SORT_GROUP_NAMES       = NO
 SORT_BY_SCOPE_NAME     = NO
+STRICT_PROTO_MATCHING  = NO
 GENERATE_TODOLIST      = YES
 GENERATE_TESTLIST      = YES
 GENERATE_BUGLIST       = YES
@@ -69,11 +78,11 @@ GENERATE_DEPRECATEDLIST= YES
 ENABLED_SECTIONS       =
 MAX_INITIALIZER_LINES  = 5
 SHOW_USED_FILES        = YES
-SHOW_DIRECTORIES       = NO
 SHOW_FILES             = YES
 SHOW_NAMESPACES        = YES
 FILE_VERSION_FILTER    =
 LAYOUT_FILE            =
+CITE_BIB_FILES         =
 #---------------------------------------------------------------------------
 # configuration options related to warning and progress messages
 #---------------------------------------------------------------------------
@@ -105,6 +114,7 @@ IMAGE_PATH             =
 INPUT_FILTER           =
 FILTER_PATTERNS        =
 FILTER_SOURCE_FILES    = NO
+FILTER_SOURCE_PATTERNS =
 #---------------------------------------------------------------------------
 # configuration options related to source browsing
 #---------------------------------------------------------------------------
@@ -131,12 +141,18 @@ HTML_FILE_EXTENSION    = .html
 HTML_HEADER            =
 HTML_FOOTER            =
 HTML_STYLESHEET        =
+HTML_EXTRA_FILES       =
+HTML_COLORSTYLE_HUE    = 220
+HTML_COLORSTYLE_SAT    = 100
+HTML_COLORSTYLE_GAMMA  = 80
 HTML_TIMESTAMP         = YES
-HTML_ALIGN_MEMBERS     = YES
 HTML_DYNAMIC_SECTIONS  = NO
+HTML_INDEX_NUM_ENTRIES = 100
 GENERATE_DOCSET        = NO
 DOCSET_FEEDNAME        = "Doxygen generated docs"
 DOCSET_BUNDLE_ID       = org.doxygen.Project
+DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
+DOCSET_PUBLISHER_NAME  = Publisher
 GENERATE_HTMLHELP      = NO
 CHM_FILE               =
 HHC_LOCATION           =
@@ -155,11 +171,15 @@ QHG_LOCATION           =
 GENERATE_ECLIPSEHELP   = NO
 ECLIPSE_DOC_ID         = org.doxygen.Project
 DISABLE_INDEX          = NO
-ENUM_VALUES_PER_LINE   = 4
 GENERATE_TREEVIEW      = YES
-USE_INLINE_TREES       = NO
+ENUM_VALUES_PER_LINE   = 4
 TREEVIEW_WIDTH         = 250
+EXT_LINKS_IN_WINDOW    = NO
 FORMULA_FONTSIZE       = 10
+FORMULA_TRANSPARENT    = YES
+USE_MATHJAX            = NO
+MATHJAX_RELPATH        = http://www.mathjax.org/mathjax
+MATHJAX_EXTENSIONS     =
 SEARCHENGINE           = NO
 SERVER_BASED_SEARCH    = NO
 #---------------------------------------------------------------------------
@@ -173,11 +193,13 @@ COMPACT_LATEX          = YES
 PAPER_TYPE             = a4wide
 EXTRA_PACKAGES         = ppl
 LATEX_HEADER           = @srcdir@/user.tex
+LATEX_FOOTER           =
 PDF_HYPERLINKS         = YES
 USE_PDFLATEX           = YES
 LATEX_BATCHMODE        = YES
 LATEX_HIDE_INDICES     = NO
 LATEX_SOURCE_CODE      = NO
+LATEX_BIB_STYLE        = plain
 #---------------------------------------------------------------------------
 # configuration options related to the RTF output
 #---------------------------------------------------------------------------
@@ -240,6 +262,7 @@ CLASS_DIAGRAMS         = NO
 MSCGEN_PATH            =
 HIDE_UNDOC_RELATIONS   = YES
 HAVE_DOT               = YES
+DOT_NUM_THREADS        = 0
 DOT_FONTNAME           = FreeSans
 DOT_FONTSIZE           = 10
 DOT_FONTPATH           =
@@ -247,6 +270,7 @@ CLASS_GRAPH            = YES
 COLLABORATION_GRAPH    = NO
 GROUP_GRAPHS           = YES
 UML_LOOK               = NO
+UML_LIMIT_NUM_FIELDS   = 10
 TEMPLATE_RELATIONS     = NO
 INCLUDE_GRAPH          = YES
 INCLUDED_BY_GRAPH      = YES
@@ -255,8 +279,10 @@ CALLER_GRAPH           = NO
 GRAPHICAL_HIERARCHY    = NO
 DIRECTORY_GRAPH        = NO
 DOT_IMAGE_FORMAT       = png
+INTERACTIVE_SVG        = NO
 DOT_PATH               =
 DOTFILE_DIRS           =
+MSCFILE_DIRS           =
 DOT_GRAPH_MAX_NODES    = 50
 MAX_DOT_GRAPH_DEPTH    = 0
 DOT_TRANSPARENT        = NO
diff --git a/doc/user.tex b/doc/user.tex
index 9b7eb66..3d5a3dc 100644
--- a/doc/user.tex
+++ b/doc/user.tex
@@ -1,5 +1,5 @@
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -8,22 +8,26 @@
 % or any later version published by the Free Software Foundation;
 % with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 % The license is included, in various formats, in the `doc' subdirectory
-% of each distribution of the PPL in files called `fdl.*'.
+% of each distribution of the PPL in files named `fdl.*'.
 %
 % The PPL is free software; you can redistribute it and/or modify it
 % under the terms of the GNU General Public License as published by the
 % Free Software Foundation; either version 3 of the License, or (at your
 % option) any later version.  The license is included, in various
 % formats, in the `doc' subdirectory of each distribution of the PPL in
-% files are called `gpl.*'.
+% files named `gpl.*'.
 %
 % The PPL is distributed in the hope that it will be useful, but WITHOUT
 % ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 % FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 % for more details.
 %
+% If you have not received a copy of one or both the above mentioned
+% licenses along with the PPL, write to the Free Software Foundation,
+% Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+%
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 \documentclass[a4paper,twoside]{article}
 \usepackage{a4wide}
@@ -35,6 +39,7 @@
 \usepackage{textcomp}
 \usepackage{alltt}
 \usepackage{times}
+\usepackage{tocloft}
 \usepackage{ifpdf}
 \ifpdf
 \usepackage[pdftex,
@@ -57,21 +62,22 @@
 \usepackage{ppl}
 \makeindex
 \setcounter{tocdepth}{2}
-\renewcommand{\footrulewidth}{0.4pt}
 
-\rfoot[\fancyplain{}{\scriptsize The Parma Polyhedra Library User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}]{}
-\lfoot[]{\fancyplain{}{\scriptsize The Parma Polyhedra Library User's Manual (version $projectnumber). See \url{http://www.cs.unipr.it/ppl/} for more information.}}
+\renewcommand{\footrulewidth}{0.4pt}
+\fancyfoot{}
+\fancyfoot[LE,RO]{\includegraphics[height=0.4cm]{ppl_logo_no_ppl.pdf}}
+\fancyfoot[RE,LO]{\small The PPL User's Manual (version $projectnumber). See \url{http://bugseng.com} for more information.}
 
 \setlength{\headheight}{24pt}
 
-%% This only applies to the title: it avoids a pdf duplicate link error.
-\pagenumbering{Alph}
-
 \begin{document}
 \title{
+\includegraphics[height=9cm]{ppl_logo.pdf} \\
+\ \\
 The Parma Polyhedra Library \\
-User's Manual\thanks{This work
-  has been partly supported by:
+User's Manual\thanks{This work is based on previous work also by
+Elisa Ricci, Sara Bonini, Andrea Pescetti, Angela Stazzone, Tatiana Zolo.
+This work has been partly supported by:
   University of Parma's FIL scientific research project (ex 60\%)
     ``Pure and Applied Mathematics'';
   MURST project
@@ -95,27 +101,24 @@ User's Manual\thanks{This work
 }
 \author{
 Roberto Bagnara\thanks{bagnara at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-Patricia M. Hill\thanks{hill at comp.leeds.ac.uk,
-  School of Computing, University of Leeds, U.K.} \\
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Patricia M. Hill\thanks{patricia.hill at bugseng.com,
+  BUGSENG srl.} \\
 Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
-  Department of Mathematics, University of Parma, Italy.} \\
-\ \\
-based on previous work also by \\
-\ \\
-Elisa Ricci \\
-\ \\
-and \\
-\ \\
-Sara Bonini \\
-Andrea Pescetti \\
-Angela Stazzone \\
-Tatiana Zolo
+  Department of Mathematics, University of Parma, Italy,
+  and BUGSENG srl.} \\
+Abramo Bagnara\thanks{abramo.bagnara at bugseng.com,
+  BUGSENG srl.} \\
 }
-\maketitle
+{\sffamily\maketitle}
+\thispagestyle{empty}
+\clearpage{\pagestyle{empty}\cleardoublepage}
 
 \newpage
-Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2010 Roberto Bagnara (bagnara at cs.unipr.it) \\
+Copyright \copyright\ 2010--2012 BUGSENG srl (http://bugseng.com)
+
 
 This document describes the Parma Polyhedra Library (PPL).
 
@@ -139,12 +142,31 @@ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
+If you have not received a copy of one or both the above mentioned
+licenses along with the PPL, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
 For the most up-to-date information see the Parma Polyhedra Library
 site:
 \begin{center}
-\href{http://www.cs.unipr.it/ppl/}{\tt http://www.cs.unipr.it/ppl/}
+\href{http://bugseng.com/products/ppl/}{\tt http://bugseng.com/products/ppl/}
+\end{center}
+\vfill
+\begin{center}
+\includegraphics[width=5cm]{bugseng_logo.pdf}
 \end{center}
+\vfill
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
+% The following command is needed to have the right footer on
+% the first page of the TOC.
+\addtocontents{toc}{\protect\thispagestyle{fancy}}
+
+% Make sure there is enough space in the TOC for long subsection numbers.
+\addtolength{\cftsubsecnumwidth}{1em}
 
 \pagenumbering{roman}
 \tableofcontents
+\clearpage{\pagestyle{empty}\cleardoublepage}
+
 \pagenumbering{arabic}
diff --git a/install-sh b/install-sh
index 3f83ce9..377bb86 100755
--- a/install-sh
+++ b/install-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2010-02-06.18; # UTC
+scriptversion=2011-11-20.07; # UTC
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,7 +35,7 @@ scriptversion=2010-02-06.18; # UTC
 # FSF changes to this file are in the public domain.
 #
 # Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
+# 'make' implicit rules from creating a file called install from it
 # when there is no Makefile.
 #
 # This script is compatible with the BSD install script, but was written
@@ -156,6 +156,10 @@ while test $# -ne 0; do
     -s) stripcmd=$stripprog;;
 
     -t) dst_arg=$2
+	# Protect names problematic for 'test' and other utilities.
+	case $dst_arg in
+	  -* | [=\(\)!]) dst_arg=./$dst_arg;;
+	esac
 	shift;;
 
     -T) no_target_directory=true;;
@@ -186,6 +190,10 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
     fi
     shift # arg
     dst_arg=$arg
+    # Protect names problematic for 'test' and other utilities.
+    case $dst_arg in
+      -* | [=\(\)!]) dst_arg=./$dst_arg;;
+    esac
   done
 fi
 
@@ -194,7 +202,7 @@ if test $# -eq 0; then
     echo "$0: no input file specified." >&2
     exit 1
   fi
-  # It's OK to call `install-sh -d' without argument.
+  # It's OK to call 'install-sh -d' without argument.
   # This can happen when creating conditional directories.
   exit 0
 fi
@@ -232,9 +240,9 @@ fi
 
 for src
 do
-  # Protect names starting with `-'.
+  # Protect names problematic for 'test' and other utilities.
   case $src in
-    -*) src=./$src;;
+    -* | [=\(\)!]) src=./$src;;
   esac
 
   if test -n "$dir_arg"; then
@@ -256,12 +264,7 @@ do
       echo "$0: no destination specified." >&2
       exit 1
     fi
-
     dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
 
     # If destination is a directory, append the input filename; won't work
     # if double slashes aren't ignored.
@@ -351,7 +354,7 @@ do
 	      if test -z "$dir_arg" || {
 		   # Check for POSIX incompatibilities with -m.
 		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
+		   # other-writable bit of parent directory when it shouldn't.
 		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 		   case $ls_ld_tmpdir in
@@ -389,7 +392,7 @@ do
 
       case $dstdir in
 	/*) prefix='/';;
-	-*) prefix='./';;
+	[-=\(\)!]*) prefix='./';;
 	*)  prefix='';;
       esac
 
@@ -407,7 +410,7 @@ do
 
       for d
       do
-	test -z "$d" && continue
+	test X"$d" = X && continue
 
 	prefix=$prefix$d
 	if test -d "$prefix"; then
diff --git a/instchk.hh b/instchk.hh
index f66c145..bf96d43 100644
--- a/instchk.hh
+++ b/instchk.hh
@@ -1,7 +1,7 @@
 /* Fake declarations to test the validity of the arguments of the
    --enabled-instantiations option defined in configure.ac.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
diff --git a/interfaces/C/C_interface.dox b/interfaces/C/C_interface.dox
index df185b3..c044bad 100644
--- a/interfaces/C/C_interface.dox
+++ b/interfaces/C/C_interface.dox
@@ -1,6 +1,6 @@
 /* Doxumentation for the C language interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /*! \interface ppl_Polyhedron_tag
   \brief
diff --git a/interfaces/C/Makefile.am b/interfaces/C/Makefile.am
index 678c7a5..a900889 100644
--- a/interfaces/C/Makefile.am
+++ b/interfaces/C/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = . tests
 
@@ -78,13 +78,6 @@ LIBPPL_C_LT_REVISION = 0
 LIBPPL_C_LT_AGE =      0
 
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-
-endif BUILD_WATCHDOG_LIBRARY
-
 if HAVE_PERL
 
 ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
@@ -110,12 +103,12 @@ dist-hook:
 	mv -f $(distdir)/ppl_c.h $(distdir)/ppl_c.h.dist
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
 ../ppl_interface_generator_copyright \
-../ppl_interface_generator_common_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_common_procedure_generators.m4
 
 ppl_c_domains.h: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
@@ -142,7 +135,6 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/interfaces/C \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 lib_LTLIBRARIES = libppl_c.la
@@ -236,7 +228,6 @@ endif NO_UNDEFINED
 libppl_c_la_LIBADD = \
 @required_instantiations_c_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_c_la_DEPENDENCIES = \
diff --git a/interfaces/C/Makefile.in b/interfaces/C/Makefile.in
index ceb9dba..e016e2d 100644
--- a/interfaces/C/Makefile.in
+++ b/interfaces/C/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -71,27 +71,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -119,14 +114,20 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 am_libppl_c_la_OBJECTS = ppl_c_implementation_common.lo
 nodist_libppl_c_la_OBJECTS =
 libppl_c_la_OBJECTS = $(am_libppl_c_la_OBJECTS) \
 	$(nodist_libppl_c_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_c_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
@@ -141,18 +142,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -160,18 +161,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_c_la_SOURCES) $(nodist_libppl_c_la_SOURCES) \
 	$(nodist_EXTRA_libppl_c_la_SOURCES)
@@ -241,6 +242,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -265,21 +267,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -335,6 +332,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -403,7 +401,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -468,26 +465,23 @@ C_interface.dox
 LIBPPL_C_LT_CURRENT = 4
 LIBPPL_C_LT_REVISION = 0
 LIBPPL_C_LT_AGE = 0
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
 BUILT_SOURCES = \
 ppl_c.h \
 ppl_c_implementation_domains.hh \
 ppl_c_implementation_domains.cc.stamp
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
 ../ppl_interface_generator_copyright \
-../ppl_interface_generator_common_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_common_procedure_generators.m4
 
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/interfaces/C \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 lib_LTLIBRARIES = libppl_c.la
@@ -574,7 +568,6 @@ ppl_c_Constraints_Product_Grid_NNC_Polyhedron.cc
 libppl_c_la_LIBADD = \
 @required_instantiations_c_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_c_la_DEPENDENCIES = \
@@ -671,7 +664,7 @@ clean-libLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_c.la: $(libppl_c_la_OBJECTS) $(libppl_c_la_DEPENDENCIES) 
+libppl_c.la: $(libppl_c_la_OBJECTS) $(libppl_c_la_DEPENDENCIES) $(EXTRA_libppl_c_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_c_la_LINK) -rpath $(libdir) $(libppl_c_la_OBJECTS) $(libppl_c_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
@@ -756,26 +749,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -799,9 +789,7 @@ uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(includedir)" && rm -f $$files
+	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -1019,10 +1007,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/interfaces/C/ppl_c.h.dist b/interfaces/C/ppl_c.h.dist
index 30254dd..2ccb2be 100644
--- a/interfaces/C/ppl_c.h.dist
+++ b/interfaces/C/ppl_c.h.dist
@@ -1,6 +1,6 @@
 /* This is the header file of the C interface of the Parma Polyhedra Library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_c_h
 #define PPL_ppl_c_h 1
@@ -259,25 +259,25 @@ ppl_set_irrational_precision PPL_PROTO((unsigned p));
   PPL_VERSION_BETA is zero, <CODE>M "." m "." r "pre" b</CODE> if
   neither PPL_VERSION_REVISION nor PPL_VERSION_BETA are zero.
 */
-#define PPL_VERSION "0.11.2"
+#define PPL_VERSION "1.0"
 
 /*! \brief
   The major number of the PPL version.
   \ingroup Version
 */
-#define PPL_VERSION_MAJOR 0
+#define PPL_VERSION_MAJOR 1
 
 /*! \brief
   The minor number of the PPL version.
   \ingroup Version
 */
-#define PPL_VERSION_MINOR 11
+#define PPL_VERSION_MINOR 0
 
 /*! \brief
   The revision number of the PPL version.
   \ingroup Version
 */
-#define PPL_VERSION_REVISION 2
+#define PPL_VERSION_REVISION 0
 
 /*! \brief
   The beta number of the PPL version.  This is zero for official
@@ -401,7 +401,7 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
 
 /*@}*/ /* Error */
 
-/*! \defgroup Timeout Handling
+/*! \defgroup Timeout Timeout Handling
   Functions for setting and resetting timeouts.
 */
 /*@{*/
@@ -410,12 +410,12 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
   Sets the timeout for computations whose completion could require
   an exponential amount of time.
 
-  \param time
-  The number of hundreths of seconds.
-  It must be strictly greater than zero.
+  \param csecs
+  The number of centiseconds sometimes after which a timeout will occur;
+  it must be strictly greater than zero.
 
   Computations taking exponential time will be interrupted some time
-  after \p time hundreths of seconds have elapsed since the call to
+  after \p csecs centiseconds have elapsed since the call to
   the timeout setting function. If the computation is interrupted that
   way, the interrupted function will return error code
   <code>PPL_TIMEOUT_EXCEPTION</code>.
@@ -424,7 +424,7 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
   <code>ppl_reset_timeout()</code>.
 */
 int
-ppl_set_timeout PPL_PROTO((unsigned time));
+ppl_set_timeout PPL_PROTO((unsigned csecs));
 
 /*! \brief
   Resets the timeout time so that the computation is not interrupted.
@@ -436,14 +436,22 @@ ppl_reset_timeout PPL_PROTO((void));
   Sets a threshold for computations whose completion could require
   an exponential amount of time.
 
-  \param weight
-  The maximum computational weight allowed.
-  It must be strictly greater than zero.
+  \return
+  <CODE>PPL_ERROR_INVALID_ARGUMENT</CODE> if \p unscaled_weight is zero
+  or if the computed weight threshold exceeds the maximum allowed value.
+
+  \param unscaled_weight
+  The unscaled maximum computational weight; it has to be non-zero.
 
+  \param scale
+  The scaling factor to be applied to \p unscaled_weight.
+
+  If \p unscaled_weight has value \f$u\f$ and \p scale has value \f$s\f$,
+  then the (scaled) weight threshold is computed as \f$w = u \cdot 2^s\f$.
   Computations taking exponential time will be interrupted some time
-  after reaching the \p weight complexity threshold. If the computation
-  is interrupted that way, the interrupted function will return error code
-  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  after reaching the complexity threshold \f$w\f$.
+  If the computation is interrupted that way, the interrupted function
+  will return error code <code>PPL_TIMEOUT_EXCEPTION</code>.
   Otherwise, if the computation completes without being interrupted,
   then the deterministic timeout should be reset by calling
   <code>ppl_reset_deterministic_timeout()</code>.
@@ -456,14 +464,15 @@ ppl_reset_timeout PPL_PROTO((void));
   (CPU, operating system, compiler, etc.).
 
   \warning
-  The weight mechanism is under alpha testing. In particular,
+  The weight mechanism is under beta testing. In particular,
   there is still no clear relation between the weight threshold and
   the actual computational complexity. As a consequence, client
   applications should be ready to reconsider the tuning of these
   weight thresholds when upgrading to newer version of the PPL.
 */
 int
-ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
+ppl_set_deterministic_timeout PPL_PROTO((unsigned long unscaled_weight,
+                                         unsigned scale));
 
 /*! \brief
   Resets the deterministic timeout so that the computation is not interrupted.
@@ -471,7 +480,7 @@ ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
 int
 ppl_reset_deterministic_timeout PPL_PROTO((void));
 
-/*@}*/ /* Timeout Handling */
+/*@}*/ /* Timeout */
 
 /*! \defgroup Datatypes Library Datatypes
   \brief
@@ -631,7 +640,7 @@ PPL_TYPE_DECLARATION(Constraint_System)
 
   The types and functions for constraint systems iterators provide
   read-only access to the elements of a constraint system by interfacing
-  \extref{Parma_Polyhedra_Library::Constraint_System::const_iterator,
+  \extref{Parma_Polyhedra_Library::Constraint_System_const_iterator,
   Constraint_System::const_iterator}.
 */
 PPL_TYPE_DECLARATION(Constraint_System_const_iterator)
@@ -661,7 +670,7 @@ PPL_TYPE_DECLARATION(Generator_System)
 
   The types and functions for generator systems iterators provide
   read-only access to the elements of a generator system by interfacing
-  \extref{Parma_Polyhedra_Library::Generator_System::const_iterator,
+  \extref{Parma_Polyhedra_Library::Generator_System_const_iterator,
   Generator_System::const_iterator}.
 */
 PPL_TYPE_DECLARATION(Generator_System_const_iterator)
@@ -4324,6 +4333,10 @@ PPL_PROTO((ppl_Polyhedron_t x,
 
 
 
+
+
+
+
 /*! \relates ppl_Polyhedron_tag */
 int
 ppl_Polyhedron_linear_partition
@@ -5962,6 +5975,28 @@ PPL_PROTO((ppl_const_Rational_Box_t ph,
 
 /*! \relates ppl_Rational_Box_tag */
 int
+ppl_Rational_Box_get_upper_bound
+PPL_PROTO((ppl_Rational_Box_t ps,
+           ppl_dimension_type var,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* pclosed));
+
+/*! \relates ppl_Rational_Box_tag */
+int
+ppl_Rational_Box_get_lower_bound
+PPL_PROTO((ppl_Rational_Box_t ps,
+           ppl_dimension_type var,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* pclosed));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
 ppl_Rational_Box_maximize
 PPL_PROTO((ppl_const_Rational_Box_t ph,
            ppl_const_Linear_Expression_t le,
@@ -6460,6 +6495,16 @@ PPL_PROTO((ppl_Rational_Box_t x,
 
 /*! \relates ppl_Rational_Box_tag */
 int
+ppl_Rational_Box_CC76_narrowing_assign
+PPL_PROTO((ppl_Rational_Box_t x,
+           ppl_const_Rational_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Rational_Box_tag */
+int
 ppl_Rational_Box_linear_partition
 PPL_PROTO((ppl_const_Rational_Box_t x,
            ppl_const_Rational_Box_t y,
@@ -13356,6 +13401,28 @@ PPL_PROTO((ppl_const_Double_Box_t ph,
 
 /*! \relates ppl_Double_Box_tag */
 int
+ppl_Double_Box_get_upper_bound
+PPL_PROTO((ppl_Double_Box_t ps,
+           ppl_dimension_type var,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* pclosed));
+
+/*! \relates ppl_Double_Box_tag */
+int
+ppl_Double_Box_get_lower_bound
+PPL_PROTO((ppl_Double_Box_t ps,
+           ppl_dimension_type var,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* pclosed));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
 ppl_Double_Box_maximize
 PPL_PROTO((ppl_const_Double_Box_t ph,
            ppl_const_Linear_Expression_t le,
@@ -13854,6 +13921,16 @@ PPL_PROTO((ppl_Double_Box_t x,
 
 /*! \relates ppl_Double_Box_tag */
 int
+ppl_Double_Box_CC76_narrowing_assign
+PPL_PROTO((ppl_Double_Box_t x,
+           ppl_const_Double_Box_t y));
+
+
+
+
+
+/*! \relates ppl_Double_Box_tag */
+int
 ppl_Double_Box_linear_partition
 PPL_PROTO((ppl_const_Double_Box_t x,
            ppl_const_Double_Box_t y,
diff --git a/interfaces/C/ppl_c_header.h b/interfaces/C/ppl_c_header.h
index ef74c3c..9c95f3f 100644
--- a/interfaces/C/ppl_c_header.h
+++ b/interfaces/C/ppl_c_header.h
@@ -1,6 +1,6 @@
 /* This is the header file of the C interface of the Parma Polyhedra Library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_c_h
 #define PPL_ppl_c_h 1
@@ -358,7 +358,7 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
 
 /*@}*/ /* Error */
 
-/*! \defgroup Timeout Handling
+/*! \defgroup Timeout Timeout Handling
   Functions for setting and resetting timeouts.
 */
 /*@{*/
@@ -367,12 +367,12 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
   Sets the timeout for computations whose completion could require
   an exponential amount of time.
 
-  \param time
-  The number of hundreths of seconds.
-  It must be strictly greater than zero.
+  \param csecs
+  The number of centiseconds sometimes after which a timeout will occur;
+  it must be strictly greater than zero.
 
   Computations taking exponential time will be interrupted some time
-  after \p time hundreths of seconds have elapsed since the call to
+  after \p csecs centiseconds have elapsed since the call to
   the timeout setting function. If the computation is interrupted that
   way, the interrupted function will return error code
   <code>PPL_TIMEOUT_EXCEPTION</code>.
@@ -381,7 +381,7 @@ ppl_set_error_handler PPL_PROTO((void (*h)(enum ppl_enum_error_code code,
   <code>ppl_reset_timeout()</code>.
 */
 int
-ppl_set_timeout PPL_PROTO((unsigned time));
+ppl_set_timeout PPL_PROTO((unsigned csecs));
 
 /*! \brief
   Resets the timeout time so that the computation is not interrupted.
@@ -393,14 +393,22 @@ ppl_reset_timeout PPL_PROTO((void));
   Sets a threshold for computations whose completion could require
   an exponential amount of time.
 
-  \param weight
-  The maximum computational weight allowed.
-  It must be strictly greater than zero.
+  \return
+  <CODE>PPL_ERROR_INVALID_ARGUMENT</CODE> if \p unscaled_weight is zero
+  or if the computed weight threshold exceeds the maximum allowed value.
+
+  \param unscaled_weight
+  The unscaled maximum computational weight; it has to be non-zero.
 
+  \param scale
+  The scaling factor to be applied to \p unscaled_weight.
+
+  If \p unscaled_weight has value \f$u\f$ and \p scale has value \f$s\f$,
+  then the (scaled) weight threshold is computed as \f$w = u \cdot 2^s\f$.
   Computations taking exponential time will be interrupted some time
-  after reaching the \p weight complexity threshold. If the computation
-  is interrupted that way, the interrupted function will return error code
-  <code>PPL_TIMEOUT_EXCEPTION</code>.
+  after reaching the complexity threshold \f$w\f$.
+  If the computation is interrupted that way, the interrupted function
+  will return error code <code>PPL_TIMEOUT_EXCEPTION</code>.
   Otherwise, if the computation completes without being interrupted,
   then the deterministic timeout should be reset by calling
   <code>ppl_reset_deterministic_timeout()</code>.
@@ -413,14 +421,15 @@ ppl_reset_timeout PPL_PROTO((void));
   (CPU, operating system, compiler, etc.).
 
   \warning
-  The weight mechanism is under alpha testing. In particular,
+  The weight mechanism is under beta testing. In particular,
   there is still no clear relation between the weight threshold and
   the actual computational complexity. As a consequence, client
   applications should be ready to reconsider the tuning of these
   weight thresholds when upgrading to newer version of the PPL.
 */
 int
-ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
+ppl_set_deterministic_timeout PPL_PROTO((unsigned long unscaled_weight,
+                                         unsigned scale));
 
 /*! \brief
   Resets the deterministic timeout so that the computation is not interrupted.
@@ -428,7 +437,7 @@ ppl_set_deterministic_timeout PPL_PROTO((unsigned weight));
 int
 ppl_reset_deterministic_timeout PPL_PROTO((void));
 
-/*@}*/ /* Timeout Handling */
+/*@}*/ /* Timeout */
 
 /*! \defgroup Datatypes Library Datatypes
   \brief
@@ -588,7 +597,7 @@ PPL_TYPE_DECLARATION(Constraint_System)
 
   The types and functions for constraint systems iterators provide
   read-only access to the elements of a constraint system by interfacing
-  \extref{Parma_Polyhedra_Library::Constraint_System::const_iterator,
+  \extref{Parma_Polyhedra_Library::Constraint_System_const_iterator,
   Constraint_System::const_iterator}.
 */
 PPL_TYPE_DECLARATION(Constraint_System_const_iterator)
@@ -618,7 +627,7 @@ PPL_TYPE_DECLARATION(Generator_System)
 
   The types and functions for generator systems iterators provide
   read-only access to the elements of a generator system by interfacing
-  \extref{Parma_Polyhedra_Library::Generator_System::const_iterator,
+  \extref{Parma_Polyhedra_Library::Generator_System_const_iterator,
   Generator_System::const_iterator}.
 */
 PPL_TYPE_DECLARATION(Generator_System_const_iterator)
diff --git a/interfaces/C/ppl_c_implementation_common.cc b/interfaces/C/ppl_c_implementation_common.cc
index 596c3f1..b884410 100644
--- a/interfaces/C/ppl_c_implementation_common.cc
+++ b/interfaces/C/ppl_c_implementation_common.cc
@@ -1,6 +1,6 @@
 /* Implementation of the C interface: variables and non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /* Interface for Coefficient. */
 
@@ -73,7 +73,7 @@ c_variable_default_output_function(ppl_dimension_type var) {
 ppl_io_variable_output_function_type* c_variable_output_function;
 
 void
-cxx_Variable_output_function(std::ostream& s, const Variable& v) {
+cxx_Variable_output_function(std::ostream& s, const Variable v) {
   const char* b = c_variable_output_function(v.id());
   if (b == 0)
     // Something went wrong in the client's output function.
@@ -94,38 +94,30 @@ notify_error(enum ppl_enum_error_code code, const char* description) {
     user_error_handler(code, description);
 }
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-
-Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+Parma_Polyhedra_Library::Watchdog* p_timeout_object = 0;
 
 typedef
-Parma_Watchdog_Library::Threshold_Watcher
+Parma_Polyhedra_Library::Threshold_Watcher
 <Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
 
 Weightwatch* p_deterministic_timeout_object = 0;
 
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
-
 void
 reset_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-  if (p_timeout_object) {
+  if (p_timeout_object != 0) {
     delete p_timeout_object;
     p_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 void
 reset_deterministic_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-  if (p_deterministic_timeout_object) {
+  if (p_deterministic_timeout_object != 0) {
     delete p_deterministic_timeout_object;
     p_deterministic_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 } // namespace C
@@ -249,64 +241,41 @@ ppl_finalize(void) try {
 CATCH_ALL
 
 int
-ppl_set_timeout(unsigned time) try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  used(time);
-  const char* what = "PPL C interface error:\n"
-    "ppl_set_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
+ppl_set_timeout(unsigned csecs) try {
   // In case a timeout was already set.
   reset_timeout();
   static timeout_exception e;
-  using Parma_Watchdog_Library::Watchdog;
-  p_timeout_object = new Watchdog(time, abandon_expensive_computations, e);
+  using Parma_Polyhedra_Library::Watchdog;
+  p_timeout_object = new Watchdog(csecs, abandon_expensive_computations, e);
   return 0;
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
 int
 ppl_reset_timeout(void) try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  const char* what = "PPL C interface error:\n"
-    "ppl_reset_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
   reset_timeout();
   return 0;
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
 int
-ppl_set_deterministic_timeout(unsigned weight) try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  used(weight);
-  const char* what = "PPL C interface error:\n"
-    "ppl_set_deterministic_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
+ppl_set_deterministic_timeout(unsigned long unscaled_weight,
+                              unsigned scale) try {
   // In case a deterministic timeout was already set.
   reset_deterministic_timeout();
   static timeout_exception e;
+  typedef Parma_Polyhedra_Library::Weightwatch_Traits Traits;
   p_deterministic_timeout_object
-    = new Weightwatch(weight, abandon_expensive_computations, e);
+    = new Weightwatch(Traits::compute_delta(unscaled_weight, scale),
+                      abandon_expensive_computations, e);
   return 0;
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
 int
 ppl_reset_deterministic_timeout(void) try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  const char* what = "PPL C interface error:\n"
-    "ppl_reset_deterministic_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
   reset_deterministic_timeout();
   return 0;
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
@@ -340,25 +309,25 @@ CATCH_ALL
 
 int
 ppl_version_major(void) try {
-  return version_major();
+  return static_cast<int>(version_major());
 }
 CATCH_ALL
 
 int
 ppl_version_minor(void) try {
-  return version_minor();
+  return static_cast<int>(version_minor());
 }
 CATCH_ALL
 
 int
 ppl_version_revision(void) try {
-  return version_revision();
+  return static_cast<int>(version_revision());
 }
 CATCH_ALL
 
 int
 ppl_version_beta(void) try {
-  return version_beta();
+  return static_cast<int>(version_beta());
 }
 CATCH_ALL
 
@@ -720,9 +689,8 @@ ppl_Constraint_type(ppl_const_Constraint_t c) try {
     return PPL_CONSTRAINT_TYPE_GREATER_OR_EQUAL;
   case Constraint::STRICT_INEQUALITY:
     return PPL_CONSTRAINT_TYPE_GREATER_THAN;
-  default:
-    throw std::runtime_error("ppl_Constraint_type()");
   }
+  PPL_UNREACHABLE;
 }
 CATCH_ALL
 
@@ -975,8 +943,7 @@ ppl_new_Generator(ppl_Generator_t* pg,
     ppg = new Generator(Generator::line(lle));
     break;
   default:
-    throw std::invalid_argument("ppl_new_Generator(pg, le, t, d): "
-				"t invalid");
+    throw std::invalid_argument("ppl_new_Generator(pg, le, t, d): t invalid");
   }
   *pg = to_nonconst(ppg);
   return 0;
@@ -1042,9 +1009,8 @@ ppl_Generator_type(ppl_const_Generator_t g) try {
     return PPL_GENERATOR_TYPE_POINT;
   case Generator::CLOSURE_POINT:
     return PPL_GENERATOR_TYPE_CLOSURE_POINT;
-  default:
-    throw std::runtime_error("ppl_Generator_type()");
   }
+  PPL_UNREACHABLE;
 }
 CATCH_ALL
 
@@ -1632,9 +1598,8 @@ ppl_Grid_Generator_type(ppl_const_Grid_Generator_t g) try {
     return PPL_GRID_GENERATOR_TYPE_PARAMETER;
   case Grid_Generator::POINT:
     return PPL_GRID_GENERATOR_TYPE_POINT;
-  default:
-    throw std::runtime_error("ppl_Grid_Generator_type()");
   }
+  PPL_UNREACHABLE;
 }
 CATCH_ALL
 
@@ -1941,7 +1906,7 @@ int
 ppl_MIP_Problem_number_of_constraints(ppl_const_MIP_Problem_t mip,
 				      ppl_dimension_type* m) try {
   const MIP_Problem& mmip = *to_const(mip);
-  *m = mmip.constraints_end() - mmip.constraints_begin();
+  *m = static_cast<ppl_dimension_type>(mmip.constraints_end() - mmip.constraints_begin());
   return 0;
 }
 CATCH_ALL
@@ -2226,7 +2191,7 @@ int
 ppl_PIP_Problem_number_of_constraints(ppl_const_PIP_Problem_t pip,
 				      ppl_dimension_type* m) try {
   const PIP_Problem& ppip = *to_const(pip);
-  *m = ppip.constraints_end() - ppip.constraints_begin();
+  *m = static_cast<ppl_dimension_type>(ppip.constraints_end() - ppip.constraints_begin());
   return 0;
 }
 CATCH_ALL
@@ -2468,7 +2433,7 @@ int
 ppl_PIP_Decision_Node_get_child_node(ppl_const_PIP_Decision_Node_t pip_dec,
                                      int b,
                                      ppl_const_PIP_Tree_Node_t* pip_tree) try {
-  *pip_tree = to_const(to_const(pip_dec)->child_node(b));
+  *pip_tree = to_const(to_const(pip_dec)->child_node(b != 0));
   return 0;
 }
 CATCH_ALL
diff --git a/interfaces/C/ppl_c_implementation_common.defs.hh b/interfaces/C/ppl_c_implementation_common.defs.hh
index 77435cb..fe5156a 100644
--- a/interfaces/C/ppl_c_implementation_common.defs.hh
+++ b/interfaces/C/ppl_c_implementation_common.defs.hh
@@ -1,6 +1,6 @@
 /* Implementation of the C interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,16 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_c_implementation_common_defs_hh
 #define PPL_ppl_c_implementation_common_defs_hh 1
 
 #define PPL_NO_AUTOMATIC_INITIALIZATION
 #include "ppl.hh"
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-#include "pwl.hh"
-#endif
 #include "ppl_c.h"
 #include <stdexcept>
 
diff --git a/interfaces/C/ppl_c_implementation_common.inlines.hh b/interfaces/C/ppl_c_implementation_common.inlines.hh
index dcb52aa..3e3e8f0 100644
--- a/interfaces/C/ppl_c_implementation_common.inlines.hh
+++ b/interfaces/C/ppl_c_implementation_common.inlines.hh
@@ -1,6 +1,6 @@
 /* Implementation of the C interface: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_c_implementation_common_inlines_hh
 #define PPL_ppl_c_implementation_common_inlines_hh 1
@@ -47,7 +47,6 @@ DECLARE_CONVERSIONS(Constraint, Constraint)
 
 DECLARE_CONVERSIONS(Constraint_System, Constraint_System)
 
-typedef Constraint_System::const_iterator Constraint_System_const_iterator;
 DECLARE_CONVERSIONS(Constraint_System_const_iterator,
                     Constraint_System_const_iterator)
 
@@ -55,7 +54,6 @@ DECLARE_CONVERSIONS(Generator, Generator)
 
 DECLARE_CONVERSIONS(Generator_System, Generator_System)
 
-typedef Generator_System::const_iterator Generator_System_const_iterator;
 DECLARE_CONVERSIONS(Generator_System_const_iterator,
                     Generator_System_const_iterator)
 
@@ -178,7 +176,7 @@ Array_Partial_Function_Wrapper::has_empty_codomain() const {
         break;
       }
   }
-  return empty;
+  return (empty != 0);
 }
 
 inline dimension_type
diff --git a/interfaces/C/ppl_c_version.h.in b/interfaces/C/ppl_c_version.h.in
index 32beea0..c53254f 100644
--- a/interfaces/C/ppl_c_version.h.in
+++ b/interfaces/C/ppl_c_version.h.in
@@ -1,6 +1,6 @@
 /* Header file providing version information for the C interface.  -*- C -*-
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /*! \brief
   A string containing the PPL version.
diff --git a/interfaces/C/ppl_interface_generator_c_cc_code.m4 b/interfaces/C/ppl_interface_generator_c_cc_code.m4
index 332e487..829482a 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_code.m4
@@ -6,7 +6,7 @@ files ppl_c_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl No code is needed for these procedure schemas in the C interface.
 
@@ -41,7 +41,8 @@ ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension
 (ppl_ at CLASS@_t* pph,
  ppl_dimension_type d,
  int empty) try {
-  *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(d, empty ? EMPTY : UNIVERSE));
+  Degenerate_Element e = (empty != 0) ? EMPTY : UNIVERSE;
+  *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(d, e));
   return 0;
 }
 CATCH_ALL
@@ -184,7 +185,7 @@ ppl_ at CLASS@_relation_with_@!RELATION_REPRESENT@
  ppl_const_@!RELATION_REPRESENT at _t c) try {
   const @CPP_CLASS@& pph = *to_const(ph);
   const @!RELATION_REPRESENT@& cc = *to_const(c);
-  return pph.relation_with(cc).get_flags();
+  return static_cast<int>(pph.relation_with(cc).get_flags());
 }
 CATCH_ALL
 
@@ -259,6 +260,28 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`int
+ppl_ at CLASS@_has_ at UPPERLOWER@_bound
+(ppl_ at CLASS@_t ps,
+ ppl_dimension_type var,
+ ppl_Coefficient_t ext_n,
+ ppl_Coefficient_t ext_d,
+ int* pclosed) try {
+  const @CPP_CLASS@& pps = *to_const(ps);
+  Coefficient& eext_n = *to_nonconst(ext_n);
+  Coefficient& eext_d = *to_nonconst(ext_d);
+  bool closed;
+  bool bounded
+    = pps.has_ at UPPERLOWER@_bound(Variable(var), eext_n, eext_d, closed);
+  if (bounded)
+    *pclosed = closed ? 1 : 0;
+  return bounded ? 1 : 0;
+}
+CATCH_ALL
+
+')
+
 m4_define(`ppl_ at CLASS@_frequency_code',
 `int
 ppl_ at CLASS@_frequency
@@ -274,7 +297,7 @@ ppl_ at CLASS@_frequency
   Coefficient& pfreq_d = *to_nonconst(freq_d);
   Coefficient& pval_n = *to_nonconst(val_n);
   Coefficient& pval_d = *to_nonconst(val_d);
-  return pph.frequency(lle, pfreq_n, pfreq_d, pval_n, pval_d);
+  return pph.frequency(lle, pfreq_n, pfreq_d, pval_n, pval_d) ? 1 : 0;
 }
 CATCH_ALL
 
@@ -758,7 +781,7 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign
 (ppl_ at CLASS@_t x,
  ppl_const_ at CLASS@_t y,
- int disjuncts) try {
+ unsigned disjuncts) try {
    @CPP_CLASS@& xx = *to_nonconst(x);
    const @CPP_CLASS@& yy = *to_const(y);
    xx.BGP99_extrapolation_assign(yy,
@@ -1236,7 +1259,7 @@ ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@
 (ppl_const_ at CLASS@_t pset) try {
   const @TOPOLOGY@@CPP_CLASS@& ppset
     = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset));
-  return termination_test_ at TERMINATION_ID@(ppset);
+  return termination_test_ at TERMINATION_ID@(ppset) ? 1 : 0;
 }
 CATCH_ALL
 
@@ -1251,7 +1274,7 @@ ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS at _2
     = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_before));
   const @TOPOLOGY@@CPP_CLASS@& ppset_after
     = *static_cast<const @TOPOLOGY@@CPP_CLASS@*>(to_const(pset_after));
-  return termination_test_ at TERMINATION_ID@_2(ppset_before, ppset_after);
+  return termination_test_ at TERMINATION_ID@_2(ppset_before, ppset_after) ? 1 : 0;
 }
 CATCH_ALL
 
@@ -1380,7 +1403,7 @@ ppl_ at CLASS@_wrap_assign
   for (ppl_dimension_type i = n; i-- > 0; )
     vars.insert(ds[i]);
   const Constraint_System* ccs = to_const(*pcs);
-  bool b = wrap_individually;
+  bool b = (wrap_individually != 0);
   pph.wrap_assign(vars,
                   bounded_integer_type_width(w),
                   bounded_integer_type_representation(r),
diff --git a/interfaces/C/ppl_interface_generator_c_cc_files.m4 b/interfaces/C/ppl_interface_generator_c_cc_files.m4
index 6bcbb65..c4344e9 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_files.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_c_cc
 dnl using the code in ppl_interface_generator_c_cc_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_c_cc_code.m4')
diff --git a/interfaces/C/ppl_interface_generator_c_h.m4 b/interfaces/C/ppl_interface_generator_c_h.m4
index 1badfb3..d011835 100644
--- a/interfaces/C/ppl_interface_generator_c_h.m4
+++ b/interfaces/C/ppl_interface_generator_c_h.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_c_domains.h
 dnl using the code in ppl_interface_generator_c_h_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_c_h_code.m4')
diff --git a/interfaces/C/ppl_interface_generator_c_h_code.m4 b/interfaces/C/ppl_interface_generator_c_h_code.m4
index d88e4f9..b2c6ebb 100644
--- a/interfaces/C/ppl_interface_generator_c_h_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_h_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program header code for generating the
 files ppl_c_domains.h.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl No code is needed for these procedure schemas in the C interface.
 dnl
@@ -280,6 +280,18 @@ PPL_PROTO((ppl_const_ at CLASS@_t ph,
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`/*! \relates ppl_ at CLASS@_tag */
+int
+ppl_ at CLASS@_get_ at UPPERLOWER@_bound
+PPL_PROTO((ppl_ at CLASS@_t ps,
+           ppl_dimension_type var,
+           ppl_Coefficient_t ext_n,
+           ppl_Coefficient_t ext_d,
+           int* pclosed));
+
+')
+
 m4_define(`ppl_ at CLASS@_frequency_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
diff --git a/interfaces/C/ppl_interface_generator_c_hh_files.m4 b/interfaces/C/ppl_interface_generator_c_hh_files.m4
index 9574375..df69534 100644
--- a/interfaces/C/ppl_interface_generator_c_hh_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_hh_files.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_c_h
 dnl using the code in ppl_interface_generator_c_h_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_c_procedure_generators.m4')
diff --git a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4 b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
index 147b170..1e8931a 100644
--- a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+++ b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
@@ -5,7 +5,7 @@ dnl for the C interface; this includes:
 dnl - the list in the imported file and any C specific procedures.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include the language independent macros.
 m4_include(`ppl_interface_generator_common_procedure_generators.m4')
diff --git a/interfaces/C/tests/Makefile.am b/interfaces/C/tests/Makefile.am
index 323383f..2e6b1dd 100644
--- a/interfaces/C/tests/Makefile.am
+++ b/interfaces/C/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
@@ -50,8 +50,16 @@ AM_CFLAGS = -pedantic -std=gnu89 -Werror
 
 else !HOST_OS_MINGW
 
+if ICC
+
+AM_CFLAGS = -std=c89
+
+else !ICC
+
 AM_CFLAGS = -pedantic -std=c89 -Werror
 
+endif !ICC
+
 endif !HOST_OS_MINGW
 
 endif GCC
@@ -74,9 +82,12 @@ libppl_c_tests.a \
 $(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
-NORMAL_TESTS = \
+TESTS = \
 formatted_output \
-pip_test
+pip_test \
+watchdog1 \
+weightwatch1
+
 
 #
 # Sources for the tests
@@ -100,57 +111,30 @@ pip_test.c
 nodist_EXTRA_pip_test_SOURCES = \
 dummy.cc
 
-watchdog1_SRCS = watchdog1.c
-
-weightwatch1_SRCS = weightwatch1.c
-
-noinst_HEADERS = \
-ppl_c_test.h
-
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_TESTS = \
-watchdog1 \
-weightwatch1
-
-WATCHDOG_LIBRARY_CPPFLAGS = \
-$(AM_CPPFLAGS) \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src
-
-WATCHDOG_LIBRARY_LDADD = \
-$(LDADD) \
-$(top_builddir)/Watchdog/src/libpwl.la
-
-watchdog1_SOURCES = $(watchdog1_SRCS)
-watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
-watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+watchdog1_SOURCES = \
+watchdog1.c
 
 # Dummy C++ source to cause C++ linking.
 # FIXME: why isn't enough to do this for libppl_c_tests.a?
 nodist_EXTRA_watchdog1_SOURCES = \
 dummy.cc
 
-
-weightwatch1_SOURCES = $(weightwatch1_SRCS)
-weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
-weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
+weightwatch1_SOURCES = \
+weightwatch1.c
 
 # Dummy C++ source to cause C++ linking.
 # FIXME: why isn't enough to do this for libppl_c_tests.a?
 nodist_EXTRA_weightwatch1_SOURCES = \
 dummy.cc
 
-endif BUILD_WATCHDOG_LIBRARY
 
-TESTS = $(NORMAL_TESTS) $(WATCHDOG_TESTS)
+noinst_HEADERS = \
+ppl_c_test.h
 
 XFAIL_TESTS =
 
 check_PROGRAMS = $(TESTS) $(BUGS)
 
-EXTRA_DIST = $(watchdog1_SRCS)
-
 BUGS =
 
 $(top_builddir)/interfaces/C/libppl_c.la:
diff --git a/interfaces/C/tests/Makefile.in b/interfaces/C/tests/Makefile.in
index 9d2072b..c285085 100644
--- a/interfaces/C/tests/Makefile.in
+++ b/interfaces/C/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -57,9 +57,10 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+TESTS = formatted_output$(EXEEXT) pip_test$(EXEEXT) watchdog1$(EXEEXT) \
+	weightwatch1$(EXEEXT)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 subdir = interfaces/C/tests
 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -73,27 +74,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -101,53 +97,43 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 libppl_c_tests_a_AR = $(AR) $(ARFLAGS)
 libppl_c_tests_a_LIBADD =
 am_libppl_c_tests_a_OBJECTS = libppl_c_tests_a-ppl_c_test.$(OBJEXT)
 libppl_c_tests_a_OBJECTS = $(am_libppl_c_tests_a_OBJECTS)
-am__EXEEXT_1 = formatted_output$(EXEEXT) pip_test$(EXEEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_2 = watchdog1$(EXEEXT) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	weightwatch1$(EXEEXT)
-am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
-am__EXEEXT_4 =
+am__EXEEXT_1 = formatted_output$(EXEEXT) pip_test$(EXEEXT) \
+	watchdog1$(EXEEXT) weightwatch1$(EXEEXT)
+am__EXEEXT_2 =
 am_formatted_output_OBJECTS = formatted_output.$(OBJEXT) \
 	print_to_buffer.$(OBJEXT)
 formatted_output_OBJECTS = $(am_formatted_output_OBJECTS)
 formatted_output_LDADD = $(LDADD)
 formatted_output_DEPENDENCIES = libppl_c_tests.a \
 	$(top_builddir)/interfaces/C/libppl_c.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_pip_test_OBJECTS = pip_test.$(OBJEXT)
 pip_test_OBJECTS = $(am_pip_test_OBJECTS)
 pip_test_LDADD = $(LDADD)
 pip_test_DEPENDENCIES = libppl_c_tests.a \
 	$(top_builddir)/interfaces/C/libppl_c.la
-am__watchdog1_SOURCES_DIST = watchdog1.c
-am__objects_1 = watchdog1-watchdog1.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_watchdog1_OBJECTS = $(am__objects_1)
+am_watchdog1_OBJECTS = watchdog1.$(OBJEXT)
 watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
-am__DEPENDENCIES_1 = libppl_c_tests.a \
+watchdog1_LDADD = $(LDADD)
+watchdog1_DEPENDENCIES = libppl_c_tests.a \
 	$(top_builddir)/interfaces/C/libppl_c.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__DEPENDENCIES_2 =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
-am__weightwatch1_SOURCES_DIST = weightwatch1.c
-am__objects_2 = weightwatch1-weightwatch1.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_weightwatch1_OBJECTS =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_2)
+am_weightwatch1_OBJECTS = weightwatch1.$(OBJEXT)
 weightwatch1_OBJECTS = $(am_weightwatch1_OBJECTS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
+weightwatch1_LDADD = $(LDADD)
+weightwatch1_DEPENDENCIES = libppl_c_tests.a \
+	$(top_builddir)/interfaces/C/libppl_c.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -158,15 +144,15 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -174,18 +160,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_c_tests_a_SOURCES) \
 	$(nodist_EXTRA_libppl_c_tests_a_SOURCES) \
@@ -195,8 +181,8 @@ SOURCES = $(libppl_c_tests_a_SOURCES) \
 	$(nodist_EXTRA_watchdog1_SOURCES) $(weightwatch1_SOURCES) \
 	$(nodist_EXTRA_weightwatch1_SOURCES)
 DIST_SOURCES = $(libppl_c_tests_a_SOURCES) $(formatted_output_SOURCES) \
-	$(pip_test_SOURCES) $(am__watchdog1_SOURCES_DIST) \
-	$(am__weightwatch1_SOURCES_DIST)
+	$(pip_test_SOURCES) $(watchdog1_SOURCES) \
+	$(weightwatch1_SOURCES)
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -226,6 +212,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -250,21 +237,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -320,6 +302,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -388,7 +371,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -411,7 +393,8 @@ AM_CPPFLAGS = \
 @extra_includes@ \
 @debug_flag@
 
- at GCC_TRUE@@HOST_OS_MINGW_FALSE at AM_CFLAGS = -pedantic -std=c89 -Werror
+ at GCC_TRUE@@HOST_OS_MINGW_FALSE@@ICC_FALSE at AM_CFLAGS = -pedantic -std=c89 -Werror
+ at GCC_TRUE@@HOST_OS_MINGW_FALSE@@ICC_TRUE at AM_CFLAGS = -std=c89
 
 # MinGW's <stdlib.h> cannot be compiled in c89 mode.
 @GCC_TRUE@@HOST_OS_MINGW_TRUE at AM_CFLAGS = -pedantic -std=gnu89 -Werror
@@ -433,10 +416,6 @@ libppl_c_tests.a \
 $(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
-NORMAL_TESTS = \
-formatted_output \
-pip_test
-
 
 #
 # Sources for the tests
@@ -461,43 +440,27 @@ pip_test.c
 nodist_EXTRA_pip_test_SOURCES = \
 dummy.cc
 
-watchdog1_SRCS = watchdog1.c
-weightwatch1_SRCS = weightwatch1.c
-noinst_HEADERS = \
-ppl_c_test.h
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1 \
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_CPPFLAGS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog/src
+watchdog1_SOURCES = \
+watchdog1.c
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_LDADD = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(LDADD) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_SOURCES = $(watchdog1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
 
 # Dummy C++ source to cause C++ linking.
 # FIXME: why isn't enough to do this for libppl_c_tests.a?
- at BUILD_WATCHDOG_LIBRARY_TRUE@nodist_EXTRA_watchdog1_SOURCES = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@dummy.cc
+nodist_EXTRA_watchdog1_SOURCES = \
+dummy.cc
+
+weightwatch1_SOURCES = \
+weightwatch1.c
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_SOURCES = $(weightwatch1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
 
 # Dummy C++ source to cause C++ linking.
 # FIXME: why isn't enough to do this for libppl_c_tests.a?
- at BUILD_WATCHDOG_LIBRARY_TRUE@nodist_EXTRA_weightwatch1_SOURCES = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@dummy.cc
+nodist_EXTRA_weightwatch1_SOURCES = \
+dummy.cc
+
+noinst_HEADERS = \
+ppl_c_test.h
 
-EXTRA_DIST = $(watchdog1_SRCS)
 BUGS = 
 all: all-am
 
@@ -536,7 +499,7 @@ $(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-libppl_c_tests.a: $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_DEPENDENCIES) 
+libppl_c_tests.a: $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_DEPENDENCIES) $(EXTRA_libppl_c_tests_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libppl_c_tests.a
 	$(AM_V_AR)$(libppl_c_tests_a_AR) libppl_c_tests.a $(libppl_c_tests_a_OBJECTS) $(libppl_c_tests_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libppl_c_tests.a
@@ -549,16 +512,16 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-formatted_output$(EXEEXT): $(formatted_output_OBJECTS) $(formatted_output_DEPENDENCIES) 
+formatted_output$(EXEEXT): $(formatted_output_OBJECTS) $(formatted_output_DEPENDENCIES) $(EXTRA_formatted_output_DEPENDENCIES) 
 	@rm -f formatted_output$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(formatted_output_OBJECTS) $(formatted_output_LDADD) $(LIBS)
-pip_test$(EXEEXT): $(pip_test_OBJECTS) $(pip_test_DEPENDENCIES) 
+pip_test$(EXEEXT): $(pip_test_OBJECTS) $(pip_test_DEPENDENCIES) $(EXTRA_pip_test_DEPENDENCIES) 
 	@rm -f pip_test$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(pip_test_OBJECTS) $(pip_test_LDADD) $(LIBS)
-watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
+watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) $(EXTRA_watchdog1_DEPENDENCIES) 
 	@rm -f watchdog1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
-weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) 
+weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) $(EXTRA_weightwatch1_DEPENDENCIES) 
 	@rm -f weightwatch1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(weightwatch1_OBJECTS) $(weightwatch1_LDADD) $(LIBS)
 
@@ -574,154 +537,78 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pip_test.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/print_to_buffer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-dummy.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-watchdog1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-dummy.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-weightwatch1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1.Po at am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c $<
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c $<
 
 .c.obj:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'`
 
 .c.lo:
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-
-watchdog1-watchdog1.o: watchdog1.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT watchdog1-watchdog1.o -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.o `test -f 'watchdog1.c' || echo '$(srcdir)/'`watchdog1.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='watchdog1.c' object='watchdog1-watchdog1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o watchdog1-watchdog1.o `test -f 'watchdog1.c' || echo '$(srcdir)/'`watchdog1.c
-
-watchdog1-watchdog1.obj: watchdog1.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT watchdog1-watchdog1.obj -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.c'; then $(CYGPATH_W) 'watchdog1.c'; else $(CYGPATH_W) '$(srcdir)/watchdog1.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='watchdog1.c' object='watchdog1-watchdog1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.c'; then $(CYGPATH_W) 'watchdog1.c'; else $(CYGPATH_W) '$(srcdir)/watchdog1.c'; fi`
-
-weightwatch1-weightwatch1.o: weightwatch1.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT weightwatch1-weightwatch1.o -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.c' || echo '$(srcdir)/'`weightwatch1.c
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='weightwatch1.c' object='weightwatch1-weightwatch1.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.c' || echo '$(srcdir)/'`weightwatch1.c
-
-weightwatch1-weightwatch1.obj: weightwatch1.c
- at am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT weightwatch1-weightwatch1.obj -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.c'; then $(CYGPATH_W) 'weightwatch1.c'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.c'; fi`
- at am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
- at am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='weightwatch1.c' object='weightwatch1-weightwatch1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.c'; then $(CYGPATH_W) 'weightwatch1.c'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.c'; fi`
+ at am__fastdepCC_FALSE@	$(AM_V_CC at am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 libppl_c_tests_a-ppl_c_test.o: ppl_c_test.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.o `test -f 'ppl_c_test.cc' || echo '$(srcdir)/'`ppl_c_test.cc
 
 libppl_c_tests_a-ppl_c_test.obj: ppl_c_test.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-ppl_c_test.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ppl_c_test.cc' object='libppl_c_tests_a-ppl_c_test.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-ppl_c_test.obj `if test -f 'ppl_c_test.cc'; then $(CYGPATH_W) 'ppl_c_test.cc'; else $(CYGPATH_W) '$(srcdir)/ppl_c_test.cc'; fi`
 
 libppl_c_tests_a-dummy.o: dummy.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.o -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='libppl_c_tests_a-dummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dummy.cc' object='libppl_c_tests_a-dummy.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
 
 libppl_c_tests_a-dummy.obj: dummy.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libppl_c_tests_a-dummy.obj -MD -MP -MF $(DEPDIR)/libppl_c_tests_a-dummy.Tpo -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='libppl_c_tests_a-dummy.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
-
-watchdog1-dummy.o: dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-dummy.o -MD -MP -MF $(DEPDIR)/watchdog1-dummy.Tpo -c -o watchdog1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-dummy.Tpo $(DEPDIR)/watchdog1-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='watchdog1-dummy.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dummy.cc' object='libppl_c_tests_a-dummy.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
-
-watchdog1-dummy.obj: dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-dummy.obj -MD -MP -MF $(DEPDIR)/watchdog1-dummy.Tpo -c -o watchdog1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-dummy.Tpo $(DEPDIR)/watchdog1-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='watchdog1-dummy.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
-
-weightwatch1-dummy.o: dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-dummy.o -MD -MP -MF $(DEPDIR)/weightwatch1-dummy.Tpo -c -o weightwatch1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-dummy.Tpo $(DEPDIR)/weightwatch1-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='weightwatch1-dummy.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-dummy.o `test -f 'dummy.cc' || echo '$(srcdir)/'`dummy.cc
-
-weightwatch1-dummy.obj: dummy.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-dummy.obj -MD -MP -MF $(DEPDIR)/weightwatch1-dummy.Tpo -c -o weightwatch1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-dummy.Tpo $(DEPDIR)/weightwatch1-dummy.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dummy.cc' object='weightwatch1-dummy.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libppl_c_tests_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libppl_c_tests_a-dummy.obj `if test -f 'dummy.cc'; then $(CYGPATH_W) 'dummy.cc'; else $(CYGPATH_W) '$(srcdir)/dummy.cc'; fi`
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -862,14 +749,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -919,10 +807,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/C/tests/formatted_output.c b/interfaces/C/tests/formatted_output.c
index 891b2c0..5e3884b 100644
--- a/interfaces/C/tests/formatted_output.c
+++ b/interfaces/C/tests/formatted_output.c
@@ -1,6 +1,6 @@
 /* Test the use of C++ output facilities from C code.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_c_test.h"
 
diff --git a/interfaces/C/tests/pip_test.c b/interfaces/C/tests/pip_test.c
index 92bb194..f5c0537 100644
--- a/interfaces/C/tests/pip_test.c
+++ b/interfaces/C/tests/pip_test.c
@@ -1,6 +1,6 @@
 /* Test the use of the PPL PIP solver from C code.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_c_test.h"
 #include <stdio.h>
diff --git a/interfaces/C/tests/ppl_c_test.cc b/interfaces/C/tests/ppl_c_test.cc
index cf68941..06e9cd3 100644
--- a/interfaces/C/tests/ppl_c_test.cc
+++ b/interfaces/C/tests/ppl_c_test.cc
@@ -1,7 +1,7 @@
 /* Implementation of utility functions used in test programs
    of the C interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl-config.h"
 
diff --git a/interfaces/C/tests/ppl_c_test.h b/interfaces/C/tests/ppl_c_test.h
index a5c36fd..8d296df 100644
--- a/interfaces/C/tests/ppl_c_test.h
+++ b/interfaces/C/tests/ppl_c_test.h
@@ -1,6 +1,6 @@
 /* Header file for C test programs.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_c_test_h
 #define PPL_ppl_c_test_h 1
diff --git a/interfaces/C/tests/print_to_buffer.c b/interfaces/C/tests/print_to_buffer.c
index 9bbcabb..569d270 100644
--- a/interfaces/C/tests/print_to_buffer.c
+++ b/interfaces/C/tests/print_to_buffer.c
@@ -1,6 +1,6 @@
 /* Definitions of print_ppl_*_to_buffer() functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_c.h"
 #include "print_to_buffer.h"
diff --git a/interfaces/C/tests/print_to_buffer.h b/interfaces/C/tests/print_to_buffer.h
index b6ec7e5..ed6756c 100644
--- a/interfaces/C/tests/print_to_buffer.h
+++ b/interfaces/C/tests/print_to_buffer.h
@@ -1,6 +1,6 @@
 /* Declarations of print_ppl_*_to_buffer() functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_print_to_buffer_h
 #define PPL_print_to_buffer_h 1
diff --git a/interfaces/C/tests/watchdog1.c b/interfaces/C/tests/watchdog1.c
index 7e7b678..ee06a05 100644
--- a/interfaces/C/tests/watchdog1.c
+++ b/interfaces/C/tests/watchdog1.c
@@ -1,6 +1,6 @@
 /* Test the timeout facility of the PPL C interface library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_c_test.h"
 #include <stdlib.h>
@@ -50,12 +50,12 @@ error_handler(enum ppl_enum_error_code code,
 	      const char* description) {
   if (check_noisy() || check_very_noisy())
     fprintf(stderr, "PPL error code %d: %s\n", code, description);
-#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+#if !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
   /* If Watchdog objects are not supported, a logic error will occur:
      this is normal. */
   if (code == PPL_ERROR_LOGIC_ERROR)
     my_exit(0);
-#endif
+#endif /* !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED */
 }
 
 void
@@ -102,8 +102,7 @@ open_hypercube(int dimension, ppl_Polyhedron_t ph) {
 }
 
 void
-timed_compute_open_hypercube_generators(int hundredth_secs,
-                                        int max_dimension) {
+timed_compute_open_hypercube_generators(int csecs, int max_dimension) {
   int i;
   int result;
   ppl_const_Generator_System_t gs;
@@ -112,7 +111,7 @@ timed_compute_open_hypercube_generators(int hundredth_secs,
   for (i = 0; i <= max_dimension; ++i) {
     ppl_new_NNC_Polyhedron_from_space_dimension(&ph, i, 0);
     open_hypercube(i, ph);
-    ppl_set_timeout(hundredth_secs);
+    ppl_set_timeout(csecs);
     result = ppl_Polyhedron_get_generators(ph, &gs);
     ppl_reset_timeout();
     ppl_delete_Polyhedron(ph);
diff --git a/interfaces/C/tests/weightwatch1.c b/interfaces/C/tests/weightwatch1.c
index 4989fef..2378e38 100644
--- a/interfaces/C/tests/weightwatch1.c
+++ b/interfaces/C/tests/weightwatch1.c
@@ -1,6 +1,6 @@
 /* Test the deterministic timeout facility of the PPL C interface library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_c_test.h"
 #include <stdlib.h>
@@ -96,7 +96,7 @@ open_hypercube(int dimension, ppl_Polyhedron_t ph) {
 }
 
 void
-weighted_compute_open_hypercube_generators(unsigned weight,
+weighted_compute_open_hypercube_generators(unsigned long weight,
                                            int max_dimension) {
   int i;
   int result;
@@ -106,7 +106,7 @@ weighted_compute_open_hypercube_generators(unsigned weight,
   for (i = 0; i <= max_dimension; ++i) {
     ppl_new_NNC_Polyhedron_from_space_dimension(&ph, i, 0);
     open_hypercube(i, ph);
-    ppl_set_deterministic_timeout(weight);
+    ppl_set_deterministic_timeout(weight, 0);
     result = ppl_Polyhedron_get_generators(ph, &gs);
     ppl_reset_deterministic_timeout();
     ppl_delete_Polyhedron(ph);
diff --git a/interfaces/Java/Makefile.am b/interfaces/Java/Makefile.am
index f7128f1..15d64ae 100644
--- a/interfaces/Java/Makefile.am
+++ b/interfaces/Java/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = parma_polyhedra_library jni . tests
 
diff --git a/interfaces/Java/Makefile.in b/interfaces/Java/Makefile.in
index ed57c16..e734665 100644
--- a/interfaces/Java/Makefile.in
+++ b/interfaces/Java/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -69,38 +69,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -132,6 +127,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(jardir)"
 DATA = $(jar_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -191,6 +192,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -215,21 +217,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -285,6 +282,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -353,7 +351,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -435,9 +432,7 @@ uninstall-jarDATA:
 	@$(NORMAL_UNINSTALL)
 	@list='$(jar_DATA)'; test -n "$(jardir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(jardir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(jardir)" && rm -f $$files
+	dir='$(DESTDIR)$(jardir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -650,10 +645,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/Java/README.java b/interfaces/Java/README.java
index e5ef557..abe3fb1 100644
--- a/interfaces/Java/README.java
+++ b/interfaces/Java/README.java
@@ -1,3 +1,15 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+
 The Java interface of the Parma Polyhedra Library has been tested
 with both Sun's JDK 6 (http://java.sun.com/javase/downloads/)
 and the open-source OpenJDK 6 (http://openjdk.java.net/).
@@ -24,22 +36,22 @@ a) Load the PPL interface library, by calling `System.load' and
    on a Linux machine and assuming <PPL prefix>=/usr/local/, the call
    will be something like:
 
-    System.load("/usr/local/lib/ppl/libppl_java.so");
+     System.load("/usr/local/lib/ppl/libppl_java.so");
 
 b) Make sure that only the intended version(s) of the library has been
    loaded, e.g., by calling static method
 
-    Parma_Polyhedra_Library.version();
+     Parma_Polyhedra_Library.version();
 
 c) Starting from PPL version 0.11, before calling any other method from
    other PPL package classes, initialize the Java interface by calling
    the static method
 
-    Parma_Polyhedra_Library.initialize_library();
+     Parma_Polyhedra_Library.initialize_library();
 
    When done using the library, finalize it by calling the static method
 
-    Parma_Polyhedra_Library.finalize_library();
+     Parma_Polyhedra_Library.finalize_library();
 
    After finalization no other method of the library may be used (except
    for those in class Parma_Polyhedra_Library), unless the library
diff --git a/interfaces/Java/jni/Makefile.am b/interfaces/Java/jni/Makefile.am
index db1ce4c..cc20998 100644
--- a/interfaces/Java/jni/Makefile.am
+++ b/interfaces/Java/jni/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,31 +19,24 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 interface_generator_files = \
 ppl_interface_generator_java_classes_cc_files.m4 \
 ppl_interface_generator_java_classes_cc_code.m4
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
-../ppl_interface_generator_java_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_java_procedure_generators.m4
 
 EXTRA_DIST = \
 $(interface_generator_files)
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-
-endif BUILD_WATCHDOG_LIBRARY
-
 if HOST_OS_MINGW
 
 JNI_DEFINE_OPTIONS = -D_JNI_IMPLEMENTATION_
@@ -55,7 +48,6 @@ AM_CPPFLAGS = \
 -I$(top_builddir)/src \
 -I../parma_polyhedra_library \
 -I$(top_srcdir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@ @JNIFLAGS@ $(JNI_DEFINE_OPTIONS)
 
 BUILT_SOURCES = \
@@ -184,7 +176,6 @@ libppl_java_la_LIBADD = \
 ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_java_la_DEPENDENCIES = \
diff --git a/interfaces/Java/jni/Makefile.in b/interfaces/Java/jni/Makefile.in
index b540d69..86858ce 100644
--- a/interfaces/Java/jni/Makefile.in
+++ b/interfaces/Java/jni/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -69,27 +69,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -117,12 +112,18 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkglibdir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am_libppl_java_la_OBJECTS = ppl_java_common.lo ppl_java_globals.lo
 libppl_java_la_OBJECTS = $(am_libppl_java_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_java_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -138,18 +139,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -157,18 +158,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_java_la_SOURCES) \
 	$(nodist_EXTRA_libppl_java_la_SOURCES)
@@ -199,6 +200,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -223,21 +225,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -293,6 +290,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -361,7 +359,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -377,26 +374,23 @@ ppl_interface_generator_java_classes_cc_files.m4 \
 ppl_interface_generator_java_classes_cc_code.m4
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
-../ppl_interface_generator_java_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_java_procedure_generators.m4
 
 EXTRA_DIST = \
 $(interface_generator_files)
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
 @HOST_OS_MINGW_TRUE at JNI_DEFINE_OPTIONS = -D_JNI_IMPLEMENTATION_
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_builddir)/src \
 -I../parma_polyhedra_library \
 -I$(top_srcdir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@ @JNIFLAGS@ $(JNI_DEFINE_OPTIONS)
 
 BUILT_SOURCES = \
@@ -507,7 +501,6 @@ libppl_java_la_LIBADD = \
 ppl_java_Termination.lo \
 @required_instantiations_java_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_java_la_DEPENDENCIES = \
@@ -585,7 +578,7 @@ clean-pkglibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_java.la: $(libppl_java_la_OBJECTS) $(libppl_java_la_DEPENDENCIES) 
+libppl_java.la: $(libppl_java_la_OBJECTS) $(libppl_java_la_DEPENDENCIES) $(EXTRA_libppl_java_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_java_la_LINK) -rpath $(pkglibdir) $(libppl_java_la_OBJECTS) $(libppl_java_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
@@ -672,26 +665,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -800,10 +790,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
index 6eac73a..a06df38 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the code for generating ppl_java_<CLASS_NAME>.cc
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
 
 FIXME: Find a way to avoid having these dummy macros.
 No code is needed for these procedure schemas in the Java interface
@@ -233,7 +233,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__JLparma_1
     this_ptr = new @TOPOLOGY@@CPP_CLASS@(ppl_dim, EMPTY);
     break;
   default:
-    assert(false);
+    PPL_JAVA_UNEXPECTED;
     break;
   }
   set_ptr(env, j_this, this_ptr);
@@ -279,7 +279,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1p
     this_ptr = new @TOPOLOGY@@CPP_CLASS@(*y_ptr, ANY_COMPLEXITY);
     break;
   default:
-    assert(false);
+    PPL_JAVA_UNEXPECTED;
     break;
   }
   set_ptr(env, j_this, this_ptr);
@@ -361,7 +361,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_swap
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
   @CPP_CLASS@* y_ptr
     = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-  this_ptr->swap(*y_ptr);
+  swap(*this_ptr, *y_ptr);
 }
 CATCH_ALL
 
@@ -511,6 +511,36 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_bounds_1from_1 at 1ABOVEBELOW@
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`dnl
+JNIEXPORT jboolean JNICALL
+Java_parma_1polyhedra_1library_ at 1CLASS@_has_1 at UPPERLOWER@_1bound
+(JNIEnv* env, jobject j_this, jobject j_var,
+ jobject j_num, jobject j_den, jobject j_ref_boolean) {
+  try {
+    @CPP_CLASS@* this_ptr
+      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+    Variable var = build_cxx_variable(env, j_var);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
+    num = build_cxx_coeff(env, j_num);
+    den = build_cxx_coeff(env, j_den);
+    bool b_value;
+    if (this_ptr->has_ at UPPERLOWER@_bound(var, num, den, b_value)) {
+      set_coefficient(env, j_num, build_java_coeff(env, num));
+      set_coefficient(env, j_den, build_java_coeff(env, den));
+      jobject j_boolean = bool_to_j_boolean_class(env, b_value);
+      set_by_reference(env, j_ref_boolean, j_boolean);
+      return true;
+    }
+    return false;
+  }
+  CATCH_ALL;
+  return false;
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 JNIEXPORT jboolean JNICALL
@@ -1160,7 +1190,7 @@ JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_ at 1CLASS@_drop_1some_1non_1
     this_ptr->drop_some_non_integer_points(ANY_COMPLEXITY);
     break;
   default:
-    assert(false);
+    PPL_JAVA_UNEXPECTED;
     break;
   }
 }
@@ -1190,7 +1220,7 @@ JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_ at 1CLASS@_drop_1some_1non_1
     this_ptr->drop_some_non_integer_points(v_set, ANY_COMPLEXITY);
     break;
   default:
-    assert(false);
+    PPL_JAVA_UNEXPECTED;
     break;
   }
 }
@@ -1289,8 +1319,8 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _linear_1@PARTITION@
       = new @TOPOLOGY@@CPP_CLASS@(0, EMPTY);
     Pointset_Powerset<NNC_Polyhedron>* r2
       = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-    r1->swap(r.first);
-    r2->swap(r.second);
+    swap(*r1, r.first);
+    swap(*r2, r.second);
 
     jclass j_pair_class = env->FindClass("parma_polyhedra_library/Pair");
     CHECK_RESULT_ASSERT(env, j_pair_class);
@@ -1340,8 +1370,8 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_approximate_1 at PARTITION@
 
     @CPP_CLASS@* r1 = new @CPP_CLASS@(0, EMPTY);
     Pointset_Powerset<Grid>* r2 = new Pointset_Powerset<Grid>(0, EMPTY);
-    r1->swap(r.first);
-    r2->swap(r.second);
+    swap(*r1, r.first);
+    swap(*r2, r.second);
 
     jclass j_pair_class = env->FindClass("parma_polyhedra_library/Pair");
     CHECK_RESULT_ASSERT(env, j_pair_class);
diff --git a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4 b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
index d3982d5..fac0061 100644
--- a/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+++ b/interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file parma_polyhedra_library_classes.cc
 dnl using the code in ppl_interface_generator_java_classes_cc_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_java_classes_cc_code.m4')
diff --git a/interfaces/Java/jni/ppl_java_common.cc b/interfaces/Java/jni/ppl_java_common.cc
index 18c06c1..b3447c3 100644
--- a/interfaces/Java/jni/ppl_java_common.cc
+++ b/interfaces/Java/jni/ppl_java_common.cc
@@ -1,6 +1,6 @@
 /* PPL Java interface common routines implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_java_common.defs.hh"
 
@@ -302,34 +302,26 @@ handle_exception(JNIEnv* env) {
   CHECK_RESULT_ABORT(env, ret == 0);
 }
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-
-Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+Parma_Polyhedra_Library::Watchdog* p_timeout_object = 0;
 
 Weightwatch* p_deterministic_timeout_object = 0;
 
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
-
 void
 reset_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   if (p_timeout_object) {
     delete p_timeout_object;
     p_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 void
 reset_deterministic_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   if (p_deterministic_timeout_object) {
     delete p_deterministic_timeout_object;
     p_deterministic_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 jobject
@@ -501,8 +493,7 @@ build_cxx_bounded_overflow(JNIEnv* env, jobject j_bounded_overflow) {
   case 2:
     return OVERFLOW_IMPOSSIBLE;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -517,8 +508,7 @@ build_cxx_bounded_rep(JNIEnv* env, jobject j_bounded_rep) {
   case 1:
     return SIGNED_2_COMPLEMENT;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -539,8 +529,7 @@ build_cxx_bounded_width(JNIEnv* env, jobject j_bounded_width) {
   case 4:
     return BITS_128;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -561,8 +550,7 @@ build_cxx_relsym(JNIEnv* env, jobject j_relsym) {
   case 4:
     return GREATER_THAN;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -577,8 +565,7 @@ build_cxx_optimization_mode(JNIEnv* env, jobject j_opt_mode) {
   case 1:
     return MAXIMIZATION;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -596,8 +583,7 @@ build_java_mip_status(JNIEnv* env, const MIP_Problem_Status& mip_status) {
     fID = cached_FMIDs.MIP_Problem_Status_OPTIMIZED_MIP_PROBLEM_ID;
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   return env->GetStaticObjectField(cached_classes.MIP_Problem_Status, fID);
 }
@@ -613,8 +599,7 @@ build_java_pip_status(JNIEnv* env, const PIP_Problem_Status& pip_status) {
     fID = cached_FMIDs.PIP_Problem_Status_OPTIMIZED_PIP_PROBLEM_ID;
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   return env->GetStaticObjectField(cached_classes.PIP_Problem_Status, fID);
 }
@@ -630,8 +615,7 @@ build_java_optimization_mode(JNIEnv* env, const Optimization_Mode& opt_mode) {
     fID = cached_FMIDs.Optimization_Mode_MAXIMIZATION_ID;
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   return env->GetStaticObjectField(cached_classes.Optimization_Mode, fID);
 }
@@ -645,13 +629,10 @@ build_cxx_control_parameter_name(JNIEnv* env, jobject j_cp_name) {
   CHECK_RESULT_ASSERT(env, cp_name_ordinal_id);
   jint cp_name = env->CallIntMethod(j_cp_name, cp_name_ordinal_id);
   CHECK_EXCEPTION_ASSERT(env);
-  switch (cp_name) {
-  case 0:
+  if (cp_name == 0)
     return MIP_Problem::PRICING;
-  default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
-  }
+  else
+    PPL_JAVA_UNEXPECTED;
 }
 
 jobject
@@ -664,14 +645,11 @@ build_java_control_parameter_name
     = env->GetStaticFieldID(j_cp_name_class, "PRICING",
 			    "Lparma_polyhedra_library/Control_Parameter_Name;");
   CHECK_RESULT_ASSERT(env, cp_name_pricing_get_id);
-  switch (cp_name) {
-  case MIP_Problem::PRICING:
+  if (cp_name == MIP_Problem::PRICING)
     return env->GetStaticObjectField(j_cp_name_class,
 				     cp_name_pricing_get_id);
-  default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
-  }
+  else
+    PPL_UNREACHABLE;
 }
 
 MIP_Problem::Control_Parameter_Value
@@ -691,8 +669,7 @@ build_cxx_control_parameter_value(JNIEnv* env, jobject j_cp_value) {
   case 2:
     return MIP_Problem::PRICING_TEXTBOOK;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -714,8 +691,7 @@ build_java_control_parameter_value
     field_name = "PRICING_TEXTBOOK";
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   jfieldID fID = env->GetStaticFieldID(j_cp_value_class, field_name,
                                        "Lparma_polyhedra_library/Control_Parameter_Value;");
@@ -738,13 +714,12 @@ build_cxx_pip_problem_control_parameter_name(JNIEnv* env, jobject j_cp_name) {
   case 1:
     return PIP_Problem::PIVOT_ROW_STRATEGY;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
 jobject
-build_pip_problem_java_control_parameter_name
+build_java_pip_problem_control_parameter_name
 (JNIEnv* env, const PIP_Problem::Control_Parameter_Name& cp_name) {
   jclass j_cp_name_class
     = env->FindClass("parma_polyhedra_library/PIP_Problem_Control_Parameter_Name");
@@ -765,8 +740,7 @@ build_pip_problem_java_control_parameter_name
     return env->GetStaticObjectField(j_cp_name_class,
 				     cp_name_pivot_row_strategy_get_id);
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
 }
 
@@ -791,8 +765,7 @@ build_cxx_pip_problem_control_parameter_value(JNIEnv* env, jobject j_cp_value) {
   case 4:
     return PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -820,8 +793,7 @@ build_java_pip_problem_control_parameter_value
     field_name = "PIVOT_ROW_STRATEGY_MAX_COLUMN";
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   jfieldID fID = env->GetStaticFieldID(j_cp_value_class, field_name,
                                        "Lparma_polyhedra_library/PIP_Problem_Control_Parameter_Value;");
@@ -854,8 +826,7 @@ build_cxx_constraint(JNIEnv* env, jobject j_constraint) {
   case 4:
     return Constraint(first_le > second_le);
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -914,8 +885,8 @@ build_cxx_linear_expression(JNIEnv* env, jobject j_le) {
     jobject le_value = env->GetObjectField(j_le, fID);
     return -build_cxx_linear_expression(env, le_value);
   }
-  assert(false);
-  throw std::runtime_error("PPL Java interface internal error");
+  // All cases dealt with above.
+  PPL_JAVA_UNEXPECTED;
 }
 
 Generator
@@ -948,8 +919,7 @@ build_cxx_generator(JNIEnv* env, jobject j_generator) {
                            build_cxx_coeff(env, j_div));
     }
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -981,8 +951,7 @@ build_cxx_grid_generator(JNIEnv* env, jobject j_grid_generator) {
                         build_cxx_coeff(env, j_div));
     }
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -1017,9 +986,7 @@ set_pair_element(JNIEnv* env, jobject dst_pair, int arg, jobject src) {
     env->SetObjectField(dst_pair, cached_FMIDs.Pair_second_ID, src);
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error: "
-                             "pair value not allowed");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -1031,9 +998,7 @@ get_pair_element(JNIEnv* env, int arg, jobject j_pair) {
   case 1:
     return env->GetObjectField(j_pair, cached_FMIDs.Pair_second_ID);
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error: "
-                             "pair value not allowed");
+    PPL_JAVA_UNEXPECTED;
   }
 }
 
@@ -1054,8 +1019,7 @@ build_java_constraint(JNIEnv* env, const Constraint& c) {
     fID = cached_FMIDs.Relation_Symbol_GREATER_THAN_ID;
     break;
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   jobject relation
     = env->GetStaticObjectField(cached_classes.Relation_Symbol, fID);
@@ -1113,8 +1077,7 @@ build_java_generator(JNIEnv* env, const Generator& g) {
       break;
     }
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   CHECK_EXCEPTION_THROW(env);
   return ret;
@@ -1149,8 +1112,7 @@ build_java_grid_generator(JNIEnv* env, const Grid_Generator& g) {
       break;
     }
   default:
-    assert(false);
-    throw std::runtime_error("PPL Java interface internal error");
+    PPL_UNREACHABLE;
   }
   CHECK_EXCEPTION_THROW(env);
   return ret;
diff --git a/interfaces/Java/jni/ppl_java_common.defs.hh b/interfaces/Java/jni/ppl_java_common.defs.hh
index 8f07e1e..990d4f8 100644
--- a/interfaces/Java/jni/ppl_java_common.defs.hh
+++ b/interfaces/Java/jni/ppl_java_common.defs.hh
@@ -1,6 +1,6 @@
 /* Domain-independent part of the Java interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_java_common_defs_hh
 #define PPL_ppl_java_common_defs_hh 1
@@ -27,14 +27,13 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_NO_AUTOMATIC_INITIALIZATION
 #include "ppl.hh"
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-#include "pwl.hh"
-#endif
-
 #include <jni.h>
 #include "interfaced_boxes.hh"
 #include "marked_pointers.hh"
 
+#define PPL_JAVA_UNEXPECTED \
+  throw std::runtime_error("PPL Java interface internal error")
+
 #define CATCH_ALL \
   catch(const Java_ExceptionOccurred& e) { \
   } \
@@ -141,15 +140,13 @@ public:
   }
 };
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-extern Parma_Watchdog_Library::Watchdog* p_timeout_object;
+extern Parma_Polyhedra_Library::Watchdog* p_timeout_object;
 
 typedef
-Parma_Watchdog_Library::Threshold_Watcher
+Parma_Polyhedra_Library::Threshold_Watcher
 <Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
 
 extern Weightwatch* p_deterministic_timeout_object;
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 
 void reset_timeout();
 
@@ -498,21 +495,24 @@ build_cxx_relsym(JNIEnv* env, jobject j_relsym);
 
 /*! \brief
   Builds a C++ Bounded_Integer_Type_Overflow
-  from Java parma_polyhedra_library::Bounded_Integer_Type_Overflow \p j_bounded_overflow.
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Overflow
+  \p j_bounded_overflow.
 */
 Bounded_Integer_Type_Overflow
 build_cxx_bounded_overflow(JNIEnv* env, jobject j_bounded_overflow);
 
 /*! \brief
   Builds a C++ Bounded_Integer_Type_Width
-  from Java parma_polyhedra_library::Bounded_Integer_Type_Width \p j_bounded_width.
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Width
+  \p j_bounded_width.
 */
 Bounded_Integer_Type_Width
 build_cxx_bounded_width(JNIEnv* env, jobject j_bounded_width);
 
 /*! \brief
   Builds a C++ Bounded_Integer_Type_Representation
-  from Java parma_polyhedra_library::Bounded_Integer_Type_Representation \p j_bounded_rep.
+  from Java parma_polyhedra_library::Bounded_Integer_Type_Representation
+  \p j_bounded_rep.
 */
 Bounded_Integer_Type_Representation
 build_cxx_bounded_rep(JNIEnv* env, jobject j_bounded_rep);
@@ -563,7 +563,8 @@ build_java_control_parameter_value
 
 /*! \brief
   Builds a C++ PIP_Problem::Control_Parameter_Name
-  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Name \p j_cp_name.
+  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Name
+  \p j_cp_name.
 */
 PIP_Problem::Control_Parameter_Name
 build_cxx_pip_problem_control_parameter_name(JNIEnv* env, jobject j_cp_name);
@@ -578,7 +579,8 @@ build_java_pip_problem_control_parameter_name
 
 /*! \brief
   Builds a C++ PIP_Problem::Control_Parameter_Value
-  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Value \p j_cp_value.
+  from Java parma_polyhedra_library::PIP_Problem_Control_Parameter_Value
+  \p j_cp_value.
 */
 PIP_Problem::Control_Parameter_Value
 build_cxx_pip_problem_control_parameter_value(JNIEnv* env, jobject j_cp_value);
@@ -617,7 +619,7 @@ build_cxx_variable(JNIEnv* env, jobject j_var);
   from C++ Variable \p var.
 */
 jobject
-build_java_variable(JNIEnv* env, const Variable& var);
+build_java_variable(JNIEnv* env, const Variable var);
 
 /*! \brief
   Builds a C++ Coefficient
@@ -766,8 +768,8 @@ build_java_constraint_system(JNIEnv* env, const Constraint_System& cs);
   from C++ Artificial_Parameter_Sequence \p aps.
 */
 jobject
-build_java_artificial_parameter_sequence(JNIEnv* env,
-                                         const PIP_Tree_Node::Artificial_Parameter_Sequence& aps);
+build_java_artificial_parameter_sequence
+(JNIEnv* env, const PIP_Tree_Node::Artificial_Parameter_Sequence& aps);
 
 /*! \brief
   Builds a Java parma_polyhedra_library::Grid_Generator_System
diff --git a/interfaces/Java/jni/ppl_java_common.inlines.hh b/interfaces/Java/jni/ppl_java_common.inlines.hh
index 9c36842..aab7cc1 100644
--- a/interfaces/Java/jni/ppl_java_common.inlines.hh
+++ b/interfaces/Java/jni/ppl_java_common.inlines.hh
@@ -1,6 +1,6 @@
 /* Domain-independent part of the Java interface: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_java_common_inlines_hh
 #define PPL_ppl_java_common_inlines_hh 1
@@ -151,7 +151,7 @@ build_cxx_variable(JNIEnv* env, jobject j_var) {
 }
 
 inline jobject
-build_java_variable(JNIEnv* env, const Variable& var) {
+build_java_variable(JNIEnv* env, const Variable var) {
   jobject ret = env->NewObject(cached_classes.Variable,
                                cached_FMIDs.Variable_init_ID,
 			       var.id());
diff --git a/interfaces/Java/jni/ppl_java_globals.cc b/interfaces/Java/jni/ppl_java_globals.cc
index 019d02f..47b679a 100644
--- a/interfaces/Java/jni/ppl_java_globals.cc
+++ b/interfaces/Java/jni/ppl_java_globals.cc
@@ -1,6 +1,6 @@
 /* PPL Java interface: domain-independent functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_java_common.defs.hh"
 #include "parma_polyhedra_library_Artificial_Parameter.h"
@@ -735,7 +735,17 @@ Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_version_1beta
 JNIEXPORT jstring JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_version
 (JNIEnv* env, jclass) {
+#if defined(__sun) || defined(__sun__)
+
+  // Some versions of Solaris declare a version() function that causes
+  // the following function call to be ambiguous.
+  return env->NewStringUTF(Parma_Polyhedra_Library::version());
+
+#else // !(defined(__sun) || defined(__sun__))
+
   return env->NewStringUTF(version());
+
+#endif // !(defined(__sun) || defined(__sun__))
 }
 
 JNIEXPORT jstring JNICALL
@@ -784,24 +794,17 @@ Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1irrational_1precis
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1timeout
-(JNIEnv* env, jclass, jint hsecs) {
-  try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-    const char* what = "PPL Java interface error:\n"
-      "Parma_Polyhedra_Library::set_timeout: "
-      "the PPL Watchdog library is not enabled.";
-    throw std::runtime_error(what);
-#else
+(JNIEnv* env, jclass, jint csecs) {
+  try {
     // In case a timeout was already set.
     reset_timeout();
-    assert(hsecs > 0);
-    unsigned cxx_hsecs = jtype_to_unsigned<unsigned>(hsecs);
-    assert(cxx_hsecs > 0);
+    assert(csecs > 0);
+    unsigned cxx_csecs = jtype_to_unsigned<unsigned>(csecs);
+    assert(cxx_csecs > 0);
     static timeout_exception e;
-    using Parma_Watchdog_Library::Watchdog;
+    using Parma_Polyhedra_Library::Watchdog;
     p_timeout_object
-      = new Watchdog(cxx_hsecs, abandon_expensive_computations, e);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+      = new Watchdog(cxx_csecs, abandon_expensive_computations, e);
   }
   CATCH_ALL;
 }
@@ -810,37 +813,27 @@ JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_reset_1timeout
 (JNIEnv* env, jclass) {
   try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-    const char* what = "PPL Java interface error:\n"
-      "Parma_Polyhedra_Library.reset_timeout(): "
-      "the PPL Watchdog library is not enabled.";
-    throw std::runtime_error(what);
-#else
     reset_timeout();
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
   }
   CATCH_ALL;
 }
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_set_1deterministic_1timeout
-(JNIEnv* env, jclass, jint weight) {
-  try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-    const char* what = "PPL Java interface error:\n"
-      "Parma_Polyhedra_Library::set_deterministic_timeout: "
-      "the PPL Watchdog library is not enabled.";
-    throw std::runtime_error(what);
-#else
+(JNIEnv* env, jclass, jint unscaled_weight, jint scale) {
+  try {
     // In case a timeout was already set.
     reset_deterministic_timeout();
-    assert(weight > 0);
-    unsigned cxx_weight = jtype_to_unsigned<unsigned>(weight);
-    assert(cxx_weight > 0);
+    // Note: let `unscaled_weight == 0' result in an exception.
+    assert(unscaled_weight >= 0 && scale >= 0);
+    unsigned long cxx_unscaled_weight
+      = jtype_to_unsigned<unsigned long>(unscaled_weight);
+    unsigned cxx_scale = jtype_to_unsigned<unsigned>(scale);
     static deterministic_timeout_exception e;
+    typedef Parma_Polyhedra_Library::Weightwatch_Traits Traits;
     p_deterministic_timeout_object
-      = new Weightwatch(cxx_weight, abandon_expensive_computations, e);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+      = new Weightwatch(Traits::compute_delta(cxx_unscaled_weight, cxx_scale),
+                        abandon_expensive_computations, e);
   }
   CATCH_ALL;
 }
@@ -849,14 +842,7 @@ JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_Parma_1Polyhedra_1Library_reset_1deterministic_1timeout
 (JNIEnv* env, jclass) {
   try {
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-    const char* what = "PPL Java interface error:\n"
-      "Parma_Polyhedra_Library.reset_deterministic_timeout(): "
-      "the PPL Watchdog library is not enabled.";
-    throw std::runtime_error(what);
-#else
     reset_deterministic_timeout();
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
   }
   CATCH_ALL;
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java
index afac50a..a76585c 100644
--- a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java
+++ b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter.java
@@ -1,6 +1,6 @@
 /* Artificial_Parameter Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java
index 1882a6d..94c2768 100644
--- a/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java
+++ b/interfaces/Java/parma_polyhedra_library/Artificial_Parameter_Sequence.java
@@ -1,6 +1,6 @@
 /* Artificial_Parameter_Sequence Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java
index 09f8a65..75c24cb 100644
--- a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Overflow.java
@@ -1,6 +1,6 @@
 /* Bounded_Integer_Type_Overflow enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java
index 90469c7..9b63758 100644
--- a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Representation.java
@@ -1,6 +1,6 @@
 /* Bounded_Integer_Type_Representation enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java
index f7eff17..37dd4f5 100644
--- a/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java
+++ b/interfaces/Java/parma_polyhedra_library/Bounded_Integer_Type_Width.java
@@ -1,6 +1,6 @@
 /* Bounded_Integer_Type_Width enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/By_Reference.java b/interfaces/Java/parma_polyhedra_library/By_Reference.java
index 9637b1d..22e9347 100644
--- a/interfaces/Java/parma_polyhedra_library/By_Reference.java
+++ b/interfaces/Java/parma_polyhedra_library/By_Reference.java
@@ -1,6 +1,6 @@
 /* By_Reference Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Coefficient.java b/interfaces/Java/parma_polyhedra_library/Coefficient.java
index 3f1392a..82ae8b5 100644
--- a/interfaces/Java/parma_polyhedra_library/Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Coefficient.java
@@ -1,6 +1,6 @@
 /* Coefficient Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
index 89680cb..ee8e62c 100644
--- a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
+++ b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
@@ -1,6 +1,6 @@
 /* Complexity_Class enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence.java b/interfaces/Java/parma_polyhedra_library/Congruence.java
index a2ae5ea..0c9d201 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence.java
@@ -1,6 +1,6 @@
 /* Congruence Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence_System.java b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
index c568c9c..e69150f 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
@@ -1,6 +1,6 @@
 /* Congruence_System Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint.java b/interfaces/Java/parma_polyhedra_library/Constraint.java
index dcdeb83..d0f3105 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint.java
@@ -1,6 +1,6 @@
 /* Constraint Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint_System.java b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
index bba2866..c4376e0 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
@@ -1,6 +1,6 @@
 /* Constraint_System Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
index 8fb6588..32af5dc 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
@@ -1,6 +1,6 @@
 /* MIP_Problem Control_Parameter_Name enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
index 5ba16b4..ce406bc 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
@@ -1,6 +1,6 @@
 /* MIP_Problem's Control_Parameter_Value enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
index 083a828..333a43d 100644
--- a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+++ b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
@@ -1,6 +1,6 @@
 /* Degenerate_Element enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
index 2f681a3..ace6a27 100644
--- a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
@@ -1,6 +1,6 @@
 /* Domain_Error_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java b/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
index 9c7db50..38db0b1 100644
--- a/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+++ b/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
@@ -1,6 +1,6 @@
 /* Doxumentation for the Java interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Generator.java b/interfaces/Java/parma_polyhedra_library/Generator.java
index e1335b7..468b959 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator.java
@@ -1,6 +1,6 @@
 /* Generator Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_System.java b/interfaces/Java/parma_polyhedra_library/Generator_System.java
index 12ae0ed..9f59757 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_System.java
@@ -1,6 +1,6 @@
 /* Generator_System Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
index f9b1c17..fcf1786 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
@@ -1,6 +1,6 @@
 /* Generator_Type enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
index f8daa46..d02b5c1 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
@@ -1,6 +1,6 @@
 /* Grid Generator Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
index 15fc774..128209a 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
@@ -1,6 +1,6 @@
 /* Grid Generator_System Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
index e08cd01..045bbd6 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
@@ -1,6 +1,6 @@
 /* Grid_Generator_Type enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/IO.java b/interfaces/Java/parma_polyhedra_library/IO.java
index 7e75a40..06e32b8 100644
--- a/interfaces/Java/parma_polyhedra_library/IO.java
+++ b/interfaces/Java/parma_polyhedra_library/IO.java
@@ -1,6 +1,6 @@
 /* IO Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
index eb17135..2ae39c4 100644
--- a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
@@ -1,6 +1,6 @@
 /* Invalid_Argument_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
index edec0a0..e0a8033 100644
--- a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
@@ -1,6 +1,6 @@
 /* Length_Error_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
index 90e0596..cddd765 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
@@ -1,6 +1,6 @@
 /* Linear_Expression Java declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
@@ -64,11 +64,11 @@ public abstract class Linear_Expression implements Cloneable {
     //! Returns a string representation of \p this.
     public native String toString();
 
-    //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+    //! Returns <CODE>true</CODE> if and only if \p this is \f$0\f$.
     public native boolean is_zero();
 
     /*! \brief Returns <CODE>true</CODE> if and only if all the homogeneous
-        terms of \p *this are \f$0\f$.
+        terms of \p this are \f$0\f$.
     */
     public native boolean all_homogeneous_terms_are_zero();
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
index cd8d5ba..bb18da8 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Coefficient class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
index 3bf6b11..e30c4b2 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Difference class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
index f4bbdb8..2940fb3 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Sum class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
index c9078fd..f6fe741 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Times class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
index 97065a4..4c045b1 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Unary_Minus class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
index 60b667e..80811a6 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
@@ -1,6 +1,6 @@
 /* Linear_Expression_Variable class definition and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
index 3ec0456..1376bd3 100644
--- a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
@@ -1,6 +1,6 @@
 /* Logic_Error_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
index 8abd36a..86aa387 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
@@ -1,6 +1,6 @@
 /* MIP_Problem Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
@@ -68,7 +68,7 @@ public class MIP_Problem extends PPL_Object {
       \param dim
       The dimension of the vector space enclosing \p this.
 
-      \exception std::length_error
+      \exception Length_Error_Exception
       Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
     */
     public MIP_Problem(long dim) {
@@ -92,10 +92,10 @@ public class MIP_Problem extends PPL_Object {
       \param mode
       The optimization mode.
 
-      \exception std::length_error
+      \exception Length_Error_Exception
       Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the constraint system contains any strict inequality
       or if the space dimension of the constraint system (resp., the
       objective function) is strictly greater than \p dim.
@@ -178,7 +178,7 @@ public class MIP_Problem extends PPL_Object {
       \param m
       The number of dimensions to add.
 
-      \exception std::length_error
+      \exception Length_Error_Exception
       Thrown if adding \p m new space dimensions would cause the
       vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
@@ -191,7 +191,7 @@ public class MIP_Problem extends PPL_Object {
       Sets the variables whose indexes are in set \p i_vars to be
       integer space dimensions.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if some index in \p i_vars does not correspond to
       a space dimension in \p this.
     */
@@ -200,7 +200,7 @@ public class MIP_Problem extends PPL_Object {
     /*! \brief
       Adds a copy of constraint \p c to the MIP problem.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the constraint \p c is a strict inequality or if its space
       dimension is strictly greater than the space dimension of \p this.
     */
@@ -209,16 +209,16 @@ public class MIP_Problem extends PPL_Object {
     /*! \brief
       Adds a copy of the constraints in \p cs to the MIP problem.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the constraint system \p cs contains any strict inequality
       or if its space dimension is strictly greater than the space dimension
-      of \p *this.
+      of \p this.
     */
     public native void add_constraints(Constraint_System cs);
 
     //! Sets the objective function to \p obj.
     /*!
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the space dimension of \p obj is strictly greater than
       the space dimension of \p this.
     */
@@ -232,7 +232,7 @@ public class MIP_Problem extends PPL_Object {
     //! \name Computing the Solution of the MIP_Problem
     /*@{*/
 
-    //! Checks satisfiability of \p *this.
+    //! Checks satisfiability of \p this.
     /*!
       \return
       <CODE>true</CODE> if and only if the MIP problem is satisfiable.
@@ -260,7 +260,7 @@ public class MIP_Problem extends PPL_Object {
       \param den
       On exit will contain the denominator of the evaluated value.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if \p this and \p evaluating_point are dimension-incompatible
       or if the generator \p evaluating_point is not a point.
     */
@@ -268,16 +268,16 @@ public class MIP_Problem extends PPL_Object {
 						   Coefficient num,
 						   Coefficient den);
 
-    //! Returns a feasible point for \p *this, if it exists.
+    //! Returns a feasible point for \p this, if it exists.
     /*!
-      \exception std::domain_error
+      \exception Domain_Error_Exception
       Thrown if the MIP problem is not satisfiable.
     */
     public native Generator feasible_point();
 
     //! Returns an optimal point for \p this, if it exists.
     /*!
-      \exception std::domain_error
+      \exception Domain_Error_Exception
       Thrown if \p this doesn't not have an optimizing point, i.e.,
       if the MIP problem is unbounded or not satisfiable.
     */
@@ -287,8 +287,8 @@ public class MIP_Problem extends PPL_Object {
       Sets \p num and \p den so that \f$\frac{num}{den}\f$ is
       the solution of the optimization problem.
 
-      \exception std::domain_error
-      Thrown if \p *this doesn't not have an optimizing point, i.e.,
+      \exception Domain_Error_Exception
+      Thrown if \p this doesn't not have an optimizing point, i.e.,
       if the MIP problem is unbounded or not satisfiable.
     */
     public native void optimal_value(Coefficient num, Coefficient den);
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
index 4b066f3..803278c 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
@@ -1,6 +1,6 @@
 /* MIP_Problem_Status enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.am b/interfaces/Java/parma_polyhedra_library/Makefile.am
index 2560811..7031ed5 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.am
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 JAVAROOT = ../
 
@@ -201,13 +201,13 @@ $(fixed_java_sources) \
 $(srcdir)/Fake_Class_for_Doxygen.java
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
-../ppl_interface_generator_java_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_java_procedure_generators.m4
 
 BUILT_SOURCES = \
 java_classes.stamp \
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.in b/interfaces/Java/parma_polyhedra_library/Makefile.in
index fff69ca..3273a1c 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.in
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -68,38 +68,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -127,6 +122,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -151,21 +147,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -221,6 +212,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -293,7 +285,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -480,13 +471,13 @@ $(fixed_java_sources) \
 $(srcdir)/Fake_Class_for_Doxygen.java
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
-../ppl_interface_generator_java_procedure_generators.m4 \
-$(interface_generator_files)
+../ppl_interface_generator_java_procedure_generators.m4
 
 BUILT_SOURCES = \
 java_classes.stamp \
@@ -650,10 +641,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
index 0379f73..95a31ff 100644
--- a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+++ b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
@@ -1,6 +1,6 @@
 /* Optimization_Mode enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
index c256159..532656c 100644
--- a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
@@ -1,6 +1,6 @@
 /* Overflow_Error_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java
index af98b5b..8861f87 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Decision_Node.java
@@ -1,6 +1,6 @@
 /* PIP_Decision_Node Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem.java
index 7f34d10..ce7bd87 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Problem.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem.java
@@ -1,6 +1,6 @@
 /* PIP_Problem Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
@@ -104,10 +104,10 @@ public class PIP_Problem extends PPL_Object {
     vector space is an optimal solution.
 
     \param dim
-    The dimension of the vector space enclosing \p *this
+    The dimension of the vector space enclosing \p this
     (optional argument with default value \f$0\f$).
 
-    \exception std::length_error
+    \exception Length_Error_Exception
     Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
   */
     public PIP_Problem(long dim) {
@@ -247,7 +247,7 @@ public class PIP_Problem extends PPL_Object {
     /*! \brief
       Adds a copy of constraint \p c to the PIP problem.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the constraint \p c is a strict inequality or if its space
       dimension is strictly greater than the space dimension of \p this.
     */
@@ -256,10 +256,10 @@ public class PIP_Problem extends PPL_Object {
     /*! \brief
       Adds a copy of the constraints in \p cs to the PIP problem.
 
-      \exception std::invalid_argument
+      \exception Invalid_Argument_Exception
       Thrown if the constraint system \p cs contains any strict inequality
       or if its space dimension is strictly greater than the space dimension
-      of \p *this.
+      of \p this.
     */
     public native void add_constraints(Constraint_System cs);
 
@@ -268,7 +268,7 @@ public class PIP_Problem extends PPL_Object {
     //! \name Computing the Solution of the PIP_Problem
     /*@{*/
 
-    //! Checks satisfiability of \p *this.
+    //! Checks satisfiability of \p this.
     /*!
       \return
       <CODE>true</CODE> if and only if the PIP problem is satisfiable.
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java
index 2de36fa..6049759 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Name.java
@@ -1,6 +1,6 @@
 /* PIP_Problem PIP_Problem_Control_Parameter_Name enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java
index e6dcb6d..b63f4d0 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Control_Parameter_Value.java
@@ -1,6 +1,6 @@
 /* PIP_Problem PIP_Problem_Control_Parameter_Value enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java
index b117665..e904446 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Problem_Status.java
@@ -1,6 +1,6 @@
 /* PIP_Problem_Status enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java
index 9f66fe7..5e35320 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Solution_Node.java
@@ -1,6 +1,6 @@
 /* PIP_Solution_Node Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java b/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java
index 1df23f6..1deba93 100644
--- a/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java
+++ b/interfaces/Java/parma_polyhedra_library/PIP_Tree_Node.java
@@ -1,6 +1,6 @@
 /* PIP_Tree_Node Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 package parma_polyhedra_library;
diff --git a/interfaces/Java/parma_polyhedra_library/PPL_Object.java b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
index c89a2e9..071eed9 100644
--- a/interfaces/Java/parma_polyhedra_library/PPL_Object.java
+++ b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
@@ -1,6 +1,6 @@
 /* PPL_Object Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Pair.java b/interfaces/Java/parma_polyhedra_library/Pair.java
index 51e40ad..499347e 100644
--- a/interfaces/Java/parma_polyhedra_library/Pair.java
+++ b/interfaces/Java/parma_polyhedra_library/Pair.java
@@ -1,6 +1,6 @@
 /* Pair Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
index c692d57..2e222b3 100644
--- a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+++ b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
@@ -1,6 +1,6 @@
 /* Parma_Polyhedra_Library Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /*!
   \defgroup PPL_Java_interface Java Language Interface
@@ -240,19 +240,19 @@ public class Parma_Polyhedra_Library {
       Sets the timeout for computations whose completion could require
       an exponential amount of time.
 
-      \param hsecs
-      The number of hundreths of seconds.
-      It must be strictly greater than zero.
+      \param csecs
+      The number of centiseconds sometimes after which a timeout will occur;
+      it must be strictly greater than zero.
 
       Computations taking exponential time will be interrupted some time
-      after \p hsecs hundreths of seconds have elapsed since the call to
+      after \p csecs centiseconds have elapsed since the call to
       the timeout setting function, by throwing a
       <CODE>Timeout_Exception</CODE> object.
       Otherwise, if the computation completes without being interrupted,
       then the timeout should be reset by calling
       <CODE>reset_timeout()</CODE>.
     */
-    public static native void set_timeout(int hsecs);
+    public static native void set_timeout(int csecs);
 
     /*! \brief
       Resets the timeout time so that the computation is not interrupted.
@@ -263,17 +263,27 @@ public class Parma_Polyhedra_Library {
       Sets a threshold for computations whose completion could require
       an exponential amount of time.
 
-      \param weight
-      The maximum computational weight allowed.
-      It must be strictly greater than zero.
-
+      If \p unscaled_weight has value \f$u\f$ and \p scale has value \f$s\f$,
+      then the (scaled) weight threshold is computed as \f$w = u \cdot 2^s\f$.
       Computations taking exponential time will be interrupted some time
-      after reaching the \p weight complexity threshold, by throwing a
+      after reaching the complexity threshold \f$w\f$, by throwing a
       <CODE>Timeout_Exception</CODE> object.
       Otherwise, if the computation completes without being interrupted,
       then the deterministic timeout should be reset by calling
       <CODE>reset_deterministic_timeout()</CODE>.
 
+      \param unscaled_weight
+      The unscaled maximum computational weight; it has to be strictly
+      greater than zero.
+
+      \param scale
+      The scaling factor to be applied to \p unscaled_weight; it has
+      to be non-negative.
+
+      \exception Invalid_Argument_Exception
+      Thrown if the computation of the weight threshold exceeds the
+      maximum allowed value.
+
       \note
       This "timeout" checking functionality is said to be \e deterministic
       because it is not based on actual elapsed time. Its behavior will
@@ -282,13 +292,14 @@ public class Parma_Polyhedra_Library {
       (CPU, operating system, compiler, etc.).
 
       \warning
-      The weight mechanism is under alpha testing. In particular,
+      The weight mechanism is under beta testing. In particular,
       there is still no clear relation between the weight threshold and
       the actual computational complexity. As a consequence, client
       applications should be ready to reconsider the tuning of these
       weight thresholds when upgrading to newer version of the PPL.
     */
-    public static native void set_deterministic_timeout(int weight);
+    public static native void set_deterministic_timeout(int unscaled_weight,
+                                                        int scale);
 
     /*! \brief
       Resets the deterministic timeout so that the computation is not
diff --git a/interfaces/Java/parma_polyhedra_library/Partial_Function.java b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
index eb4e4c7..7219baf 100644
--- a/interfaces/Java/parma_polyhedra_library/Partial_Function.java
+++ b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
@@ -1,6 +1,6 @@
 /* Partial_Function Java interface declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
index 4a222df..39a0bb7 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
@@ -1,6 +1,6 @@
 /* Poly_Con_Relation Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
@@ -81,7 +81,7 @@ public class Poly_Con_Relation {
 	return new Poly_Con_Relation(Poly_Con_Relation.SATURATES);
     }
 
-    //! True if and only if \p *this implies \p y.
+    //! True if and only if \p this implies \p y.
     public boolean implies(Poly_Con_Relation y) {
 	return (this.mask_value & y.mask_value) ==  y.mask_value;
     }
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
index 5df63ea..a99d1ed 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
@@ -1,6 +1,6 @@
 /* Poly_Gen_Relation Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
@@ -51,7 +51,7 @@ public class Poly_Gen_Relation {
 	return new  Poly_Gen_Relation(Poly_Gen_Relation.SUBSUMES);
     }
 
-    //! True if and only if \p *this implies \p y.
+    //! True if and only if \p this implies \p y.
     public boolean implies(Poly_Gen_Relation y) {
 	return (this.mask_value & y.mask_value) ==  y.mask_value;
     }
diff --git a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
index c17430d..b3de214 100644
--- a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+++ b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
@@ -1,6 +1,6 @@
 /* Relation_Symbol enum declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java b/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java
index b509a93..848d9ff 100644
--- a/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Timeout_Exception.java
@@ -1,6 +1,6 @@
 /* Timeout_Exception Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Variable.java b/interfaces/Java/parma_polyhedra_library/Variable.java
index 0b5b5c9..7d1d66f 100644
--- a/interfaces/Java/parma_polyhedra_library/Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Variable.java
@@ -1,6 +1,6 @@
 /* Variable Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/Variables_Set.java b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
index bdd444e..a4c1861 100644
--- a/interfaces/Java/parma_polyhedra_library/Variables_Set.java
+++ b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
@@ -1,6 +1,6 @@
 /* Variables_Set Java class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 package parma_polyhedra_library;
 
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
index 72d1e9a..dda8588 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the files <CLASS_NAME>.java
 dnl using the code in ppl_interface_generator_java_classes_java_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_java_classes_java_code.m4')
diff --git a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4 b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
index d1fc122..cb86f1f 100644
--- a/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
+++ b/interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the code for generating files <CLASS_NAME>.java
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
 
 FIXME: Find a way to avoid having these dummy macros.
 No code is needed for these procedure schemas in the Java interface
@@ -216,6 +216,16 @@ ___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`dnl
+___END_OF_FILE___
+___BEGIN_OF_FILE___ @CLASS at .java << ___END_OF_FILE___
+    public native boolean has_ at UPPERLOWER@_bound(Variable var,
+				   Coefficient bound_n, Coefficient bound_d,
+				   By_Reference<Boolean> closed);
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 ___END_OF_FILE___
diff --git a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
index 58a9e3e..b81340a 100644
--- a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+++ b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
@@ -5,7 +5,7 @@ dnl for the Java interface; this includes:
 dnl - the list in the imported file and any Java specific methods.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include the language independent macros.
 m4_include(`ppl_interface_generator_common_procedure_generators.m4')
@@ -42,7 +42,7 @@ dnl The <name> must be exactly as written here.
 m4_define(`m4_procedure_list',
 `m4_echo_unquoted(`m4_common_procedure_list',
 ppl_free_ at CLASS@/1 +all,
-ppl_ at CLASS@_hashcode/2 +all -box,
+ppl_ at CLASS@_hashcode/2 +all,
 ppl_ at CLASS@_string/1 +all,
 ppl_termination_test_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/1 +simple,
 ppl_one_affine_ranking_function_ at TERMINATION_ID@_ at TOPOLOGY@@CLASS@/2 +simple,
diff --git a/interfaces/Java/tests/C_Polyhedron_test1.java b/interfaces/Java/tests/C_Polyhedron_test1.java
index 65fb682..e902668 100644
--- a/interfaces/Java/tests/C_Polyhedron_test1.java
+++ b/interfaces/Java/tests/C_Polyhedron_test1.java
@@ -1,7 +1,7 @@
 /* Test C_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Java/tests/MIP_Problem_test1.java b/interfaces/Java/tests/MIP_Problem_test1.java
index 4f214df..e687338 100644
--- a/interfaces/Java/tests/MIP_Problem_test1.java
+++ b/interfaces/Java/tests/MIP_Problem_test1.java
@@ -1,7 +1,7 @@
 /* Test MIP_Problem Java test class of the Parma Polyhedra Library Java
    interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
index d34a662..99c9f2d 100644
--- a/interfaces/Java/tests/Makefile.am
+++ b/interfaces/Java/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 JAVAROOT = .
 
@@ -28,19 +28,19 @@ ppl_interface_generator_java_test_java.m4 \
 ppl_interface_generator_java_test_java_code.m4
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
 ../ppl_interface_generator_java_procedure_generators.m4 \
-ppl_interface_generator_java_test_java.m4 \
-ppl_interface_generator_java_test_java_code.m4 \
 ppl_java_tests_common
 
 # Even if the Java sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake Java build system.
 EXTRA_DIST = \
+$(interface_generator_files) \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
@@ -49,10 +49,10 @@ PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
 Parma_Polyhedra_Library_test2.java \
 PPL_Test.java \
-ppl_interface_generator_java_test_java_code.m4 \
-ppl_interface_generator_java_test_java.m4 \
 ppl_java_tests_common
 
+if ENABLE_SHARED
+
 check_JAVA = \
 ppl_java_generated_tests.java \
 Test_Executor.java \
@@ -64,19 +64,11 @@ Parma_Polyhedra_Library_test1.java \
 Parma_Polyhedra_Library_test2.java \
 PPL_Test.java
 
-if ENABLE_SHARED
-
 CLASSPATH = ../ppl_java.jar:.
 JAVACFLAGS = -classpath $(CLASSPATH)
 
 PPL_DLOPEN = -dlopen ../../../src/libppl.la
 
-if BUILD_WATCHDOG_LIBRARY
-
-PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
-
-endif BUILD_WATCHDOG_LIBRARY
-
 java_test_environment = \
 $(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) \
 	$(JAVA) -classpath .:../ppl_java.jar \
diff --git a/interfaces/Java/tests/Makefile.in b/interfaces/Java/tests/Makefile.in
index 6220dd0..dbf0352 100644
--- a/interfaces/Java/tests/Makefile.in
+++ b/interfaces/Java/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -68,42 +68,38 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
-CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT):$$CLASSPATH
+CLASSPATH_ENV = CLASSPATH=$(JAVAROOT):$(srcdir)/$(JAVAROOT)$${CLASSPATH:+":$$CLASSPATH"}
+am__java_sources = $(check_JAVA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -128,6 +124,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -152,21 +149,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -222,6 +214,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -290,7 +283,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -307,20 +299,20 @@ ppl_interface_generator_java_test_java.m4 \
 ppl_interface_generator_java_test_java_code.m4
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
 ../../ppl_interface_generator_common_dat.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
 ../ppl_interface_generator_java_procedure_generators.m4 \
-ppl_interface_generator_java_test_java.m4 \
-ppl_interface_generator_java_test_java_code.m4 \
 ppl_java_tests_common
 
 
 # Even if the Java sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake Java build system.
 EXTRA_DIST = \
+$(interface_generator_files) \
 Test_Executor.java \
 C_Polyhedron_test1.java \
 NNC_Polyhedron_test1.java \
@@ -329,25 +321,22 @@ PIP_Problem_test1.java \
 Parma_Polyhedra_Library_test1.java \
 Parma_Polyhedra_Library_test2.java \
 PPL_Test.java \
-ppl_interface_generator_java_test_java_code.m4 \
-ppl_interface_generator_java_test_java.m4 \
 ppl_java_tests_common
 
-check_JAVA = \
-ppl_java_generated_tests.java \
-Test_Executor.java \
-C_Polyhedron_test1.java \
-NNC_Polyhedron_test1.java \
-MIP_Problem_test1.java \
-PIP_Problem_test1.java \
-Parma_Polyhedra_Library_test1.java \
-Parma_Polyhedra_Library_test2.java \
-PPL_Test.java
+ at ENABLE_SHARED_TRUE@check_JAVA = \
+ at ENABLE_SHARED_TRUE@ppl_java_generated_tests.java \
+ at ENABLE_SHARED_TRUE@Test_Executor.java \
+ at ENABLE_SHARED_TRUE@C_Polyhedron_test1.java \
+ at ENABLE_SHARED_TRUE@NNC_Polyhedron_test1.java \
+ at ENABLE_SHARED_TRUE@MIP_Problem_test1.java \
+ at ENABLE_SHARED_TRUE@PIP_Problem_test1.java \
+ at ENABLE_SHARED_TRUE@Parma_Polyhedra_Library_test1.java \
+ at ENABLE_SHARED_TRUE@Parma_Polyhedra_Library_test2.java \
+ at ENABLE_SHARED_TRUE@PPL_Test.java
 
 @ENABLE_SHARED_TRUE at CLASSPATH = ../ppl_java.jar:.
 @ENABLE_SHARED_TRUE at JAVACFLAGS = -classpath $(CLASSPATH)
 @ENABLE_SHARED_TRUE at PPL_DLOPEN = -dlopen ../../../src/libppl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@@ENABLE_SHARED_TRUE at PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
 @ENABLE_SHARED_TRUE at java_test_environment = \
 @ENABLE_SHARED_TRUE@$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) \
 @ENABLE_SHARED_TRUE@	$(JAVA) -classpath .:../ppl_java.jar \
@@ -396,7 +385,7 @@ mostlyclean-libtool:
 clean-libtool:
 	-rm -rf .libs _libs
 
-classcheck.stamp: $(check_JAVA)
+classcheck.stamp: $(am__java_sources)
 	@list1='$?'; list2=; if test -n "$$list1"; then \
 	  for p in $$list1; do \
 	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
@@ -405,7 +394,7 @@ classcheck.stamp: $(check_JAVA)
 	  echo '$(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) '"$$list2"; \
 	  $(CLASSPATH_ENV) $(JAVAC) -d $(JAVAROOT) $(AM_JAVACFLAGS) $(JAVACFLAGS) $$list2; \
 	else :; fi
-	echo timestamp > classcheck.stamp
+	echo timestamp > $@
 
 clean-checkJAVA:
 	-rm -f *.class classcheck.stamp
@@ -448,10 +437,10 @@ distdir: $(DISTFILES)
 	done
 @ENABLE_SHARED_FALSE at check-local:
 check-am: all-am
-	$(MAKE) $(AM_MAKEFLAGS) $(check_JAVA)
+	$(MAKE) $(AM_MAKEFLAGS) $(check_JAVA) classcheck.stamp
 	$(MAKE) $(AM_MAKEFLAGS) check-local
 check: check-am
-all-am: Makefile classcheck.stamp
+all-am: Makefile
 installdirs:
 install: install-am
 install-exec: install-exec-am
@@ -463,10 +452,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/Java/tests/NNC_Polyhedron_test1.java b/interfaces/Java/tests/NNC_Polyhedron_test1.java
index 2bd36e1..c032638 100644
--- a/interfaces/Java/tests/NNC_Polyhedron_test1.java
+++ b/interfaces/Java/tests/NNC_Polyhedron_test1.java
@@ -1,7 +1,7 @@
 /* Test NNC_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Java/tests/PIP_Problem_test1.java b/interfaces/Java/tests/PIP_Problem_test1.java
index e31fc99..64bf3be 100644
--- a/interfaces/Java/tests/PIP_Problem_test1.java
+++ b/interfaces/Java/tests/PIP_Problem_test1.java
@@ -1,7 +1,7 @@
 /* Test PIP_Problem Java test class of the Parma Polyhedra Library Java
    interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Java/tests/PPL_Test.java b/interfaces/Java/tests/PPL_Test.java
index 363c13f..81eab9b 100644
--- a/interfaces/Java/tests/PPL_Test.java
+++ b/interfaces/Java/tests/PPL_Test.java
@@ -1,6 +1,6 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.util.Map;
 
diff --git a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
index 9c2bf3a..2042bac 100644
--- a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
+++ b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
@@ -1,7 +1,7 @@
 /* Parma_Polyhedra_Library Java test class of the
    Parma Polyhedra Library Java interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java b/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java
index d7b30c7..e1733da 100644
--- a/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java
+++ b/interfaces/Java/tests/Parma_Polyhedra_Library_test2.java
@@ -1,7 +1,7 @@
 /* Parma_Polyhedra_Library Java test class of the
    Parma Polyhedra Library Java interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import parma_polyhedra_library.*;
 
@@ -38,9 +38,9 @@ static {
 
     // This code tests the timeout functions.
     public static boolean test01() {
-        int hsecs = 50;
+        int csecs = 50;
         int max_dimension = 20;
-        return timed_compute_open_hypercube_generators(hsecs, max_dimension);
+        return timed_compute_open_hypercube_generators(csecs, max_dimension);
     }
 
     // This code tests the deterministic timeout functions.
@@ -83,14 +83,14 @@ static {
     }
 
     private static boolean
-        timed_compute_open_hypercube_generators(int hsecs,
+        timed_compute_open_hypercube_generators(int csecs,
                                                 int max_dimension) {
         for (int i = 0; i <= max_dimension; ++i) {
             Polyhedron ph = new NNC_Polyhedron(i, Degenerate_Element.UNIVERSE);
             open_hypercube(i, ph);
             PPL_Test.println_if_noisy("Hypercube of dimension " + i);
             try {
-                Parma_Polyhedra_Library.set_timeout(hsecs);
+                Parma_Polyhedra_Library.set_timeout(csecs);
                 try {
                     ph.generators();
                 } finally {
@@ -119,7 +119,7 @@ static {
             open_hypercube(i, ph);
             PPL_Test.println_if_noisy("Hypercube of dimension " + i);
             try {
-                Parma_Polyhedra_Library.set_deterministic_timeout(weight);
+                Parma_Polyhedra_Library.set_deterministic_timeout(weight, 0);
                 try {
                     ph.generators();
                 } finally {
diff --git a/interfaces/Java/tests/Test_Executor.java b/interfaces/Java/tests/Test_Executor.java
index 0c639e6..30895a7 100644
--- a/interfaces/Java/tests/Test_Executor.java
+++ b/interfaces/Java/tests/Test_Executor.java
@@ -1,6 +1,6 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.lang.reflect.Method;
 
diff --git a/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4 b/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
index 850a4c7..f464b25 100644
--- a/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_java_classes_test.java
 dnl using the code in ppl_interface_generator_java_test_code.m4.
 dnl
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl ==================================================================
 dnl Common files are included here
diff --git a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4 b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
index 3670c4b..51c17ad 100644
--- a/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
+++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the code for generating ppl_java_generated_tests.java
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -12,6 +12,7 @@ The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.
+
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
@@ -22,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
 
 FIXME: Find a way to avoid having these dummy macros.
 No code is needed for these procedure schemas in the Java interface
@@ -479,6 +480,19 @@ m4_define(`ppl_ at CLASS@_constrains_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+    `dnl
+{
+    PPL_Test.print_if_noisy("Testing has_ at UPPERLOWER@_bound: ");
+    @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
+    boolean has_ at UPPERLOWER@
+        = gd.has_ at UPPERLOWER@_bound(var_C, coeff_0, coeff_5, bool_by_ref1);
+    report_success_or_failure(gd.OK());
+    gd.free();
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
     `dnl
 {
diff --git a/interfaces/Java/tests/ppl_java_tests_common b/interfaces/Java/tests/ppl_java_tests_common
index e007fe5..b94acc2 100644
--- a/interfaces/Java/tests/ppl_java_tests_common
+++ b/interfaces/Java/tests/ppl_java_tests_common
@@ -1,6 +1,6 @@
 /* Common code for the PPL Java interface tests.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 import java.math.BigInteger;
 import java.util.Iterator;
diff --git a/interfaces/Makefile.am b/interfaces/Makefile.am
index 7a40b5b..3811fd7 100644
--- a/interfaces/Makefile.am
+++ b/interfaces/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if BUILD_C_INTERFACE
 C_SUBDIR = C
diff --git a/interfaces/Makefile.in b/interfaces/Makefile.in
index 998bf02..498d7b3 100644
--- a/interfaces/Makefile.in
+++ b/interfaces/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -70,38 +70,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -170,6 +165,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -194,21 +190,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -264,6 +255,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -332,7 +324,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -619,10 +610,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/OCaml/Makefile.am b/interfaces/OCaml/Makefile.am
index 29a29e4..f7dd04f 100644
--- a/interfaces/OCaml/Makefile.am
+++ b/interfaces/OCaml/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = . tests
 
@@ -149,16 +149,8 @@ ppl_ocaml_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ppl_ocaml_Constraints_Product_Grid_C_Polyhedron.cc \
 ppl_ocaml_Constraints_Product_Grid_NNC_Polyhedron.cc
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-
-endif BUILD_WATCHDOG_LIBRARY
-
 libppl_ocaml_a_LIBADD = \
- at required_instantiations_ocaml_cxx_objects@ \
-$(WATCHDOG_LIBRARY)
+ at required_instantiations_ocaml_cxx_objects@
 
 libppl_ocaml_a_DEPENDENCIES = \
 @required_instantiations_ocaml_cxx_objects@
@@ -167,7 +159,7 @@ libppl_ocaml_a_DEPENDENCIES = \
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 
 OCAMLC_COMPILE_FLAGS = \
--I @mlgmp_dir@ -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g -ccopt -Wno-write-strings
 
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
@@ -181,15 +173,14 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
-../ppl_interface_generator_copyright \
-$(interface_generator_files)
+../ppl_interface_generator_copyright
 
 ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ -a -custom \
diff --git a/interfaces/OCaml/Makefile.in b/interfaces/OCaml/Makefile.in
index 20cf0b4..d417a32 100644
--- a/interfaces/OCaml/Makefile.in
+++ b/interfaces/OCaml/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -118,14 +113,20 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(ocamldir)"
 LIBRARIES = $(pkglib_LIBRARIES)
 ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 libppl_ocaml_a_AR = $(AR) $(ARFLAGS)
 am_libppl_ocaml_a_OBJECTS = ppl_ocaml_common.$(OBJEXT)
@@ -136,22 +137,22 @@ am__depfiles_maybe = depfiles
 am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -159,18 +160,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_ocaml_a_SOURCES) \
 	$(nodist_EXTRA_libppl_ocaml_a_SOURCES)
@@ -240,6 +241,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -264,21 +266,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -334,6 +331,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -402,7 +400,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -528,18 +525,15 @@ ppl_ocaml_Constraints_Product_NNC_Polyhedron_Grid.cc \
 ppl_ocaml_Constraints_Product_Grid_C_Polyhedron.cc \
 ppl_ocaml_Constraints_Product_Grid_NNC_Polyhedron.cc
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
 libppl_ocaml_a_LIBADD = \
- at required_instantiations_ocaml_cxx_objects@ \
-$(WATCHDOG_LIBRARY)
+ at required_instantiations_ocaml_cxx_objects@
 
 libppl_ocaml_a_DEPENDENCIES = \
 @required_instantiations_ocaml_cxx_objects@
 
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 OCAMLC_COMPILE_FLAGS = \
--I @mlgmp_dir@ -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g -ccopt -Wno-write-strings
 
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
@@ -552,15 +546,14 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
-../ppl_interface_generator_copyright \
-$(interface_generator_files)
+../ppl_interface_generator_copyright
 
 MOSTLYCLEANFILES = \
 @required_instantiations_ocaml_cxx_objects@ \
@@ -645,13 +638,11 @@ uninstall-pkglibLIBRARIES:
 	@$(NORMAL_UNINSTALL)
 	@list='$(pkglib_LIBRARIES)'; test -n "$(pkglibdir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f "$$files" )"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkglibdir)'; $(am__uninstall_files_from_dir)
 
 clean-pkglibLIBRARIES:
 	-test -z "$(pkglib_LIBRARIES)" || rm -f $(pkglib_LIBRARIES)
-libppl_ocaml.a: $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_DEPENDENCIES) 
+libppl_ocaml.a: $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_DEPENDENCIES) $(EXTRA_libppl_ocaml_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libppl_ocaml.a
 	$(AM_V_AR)$(libppl_ocaml_a_AR) libppl_ocaml.a $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libppl_ocaml.a
@@ -738,26 +729,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -781,9 +769,7 @@ uninstall-ocamlDATA:
 	@$(NORMAL_UNINSTALL)
 	@list='$(ocaml_DATA)'; test -n "$(ocamldir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(ocamldir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(ocamldir)" && rm -f $$files
+	dir='$(DESTDIR)$(ocamldir)'; $(am__uninstall_files_from_dir)
 
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
@@ -998,10 +984,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/interfaces/OCaml/OCaml_interface.dox b/interfaces/OCaml/OCaml_interface.dox
index 08ffd7e..8cb9c6f 100644
--- a/interfaces/OCaml/OCaml_interface.dox
+++ b/interfaces/OCaml/OCaml_interface.dox
@@ -1,6 +1,6 @@
 /* Documentation for the OCaml interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /*!
   \defgroup PPL_OCaml_interface OCaml Language Interface
@@ -203,31 +203,32 @@ included with all instantiations of the OCaml interfaces.
   preferred length for all the other lines, respecively; it returns a
   string containing the wrapped text.
 
-<H2><CODE> ppl_set_timeout hsecs </CODE></H2>
+<H2><CODE> ppl_set_timeout csecs </CODE></H2>
    Computations taking exponential time will be interrupted some time
-   after <CODE>hsecs</CODE> hundreths of seconds after that call.
+   after <CODE>csecs</CODE> centiseconds after that call.
    If the computation is interrupted that way, a timeout exception
    will be thrown.
-   An exception is immediately thrown if <CODE>hsecs</CODE> is not strictly
+   An exception is immediately thrown if <CODE>csecs</CODE> is not strictly
    greater than zero, or if the PPL Watchdog library is not enabled.
 
 <H2><CODE> ppl_reset_timeout </CODE></H2>
    Resets the timeout time so that the computation is not interrupted.
    An exception is thrown if the PPL Watchdog library is not enabled.
 
-<H2><CODE> ppl_set_deterministic_timeout weight </CODE></H2>
+<H2><CODE> ppl_set_deterministic_timeout unscaled_weight scale</CODE></H2>
    Computations taking exponential time will be interrupted some time
-   after reaching the <CODE>weight</CODE> complexity threshold.
-   If the computation is interrupted that way, a timeout exception
-   will be thrown.
-   An exception is immediately thrown if <CODE>hsecs</CODE> is not strictly
-   greater than zero, or if the PPL Watchdog library is not enabled.
+   after reaching the complexity threshold
+   \f$\mathrm{weight} = \mathrm{unscaled\_weight} \cdot 2^\mathrm{scale}\f$.
+   If the computation is interrupted that way, a timeout exception will
+   be thrown. <CODE>unscaled_weight</CODE> must be strictly greater than
+   zero; <CODE>scale</CODE> must be non-negative; an exception is thrown
+   if the computed weight threshold exceeds the maximum allowed value.
    <EM>NOTE:</EM> This "timeout" checking functionality is said to be
    <EM>deterministic</EM> because it is not based on actual elapsed time.
    Its behavior will only depend on (some of the) computations performed
    in the PPL library and it will be otherwise independent from the
    computation environment (CPU, operating system, compiler, etc.).
-   The weight mechanism is under alpha testing: client applications
+   The weight mechanism is under beta testing: client applications
    should be ready to reconsider the tuning of these weight thresholds
    when upgrading to newer version of the PPL.
 
diff --git a/interfaces/OCaml/README.ocaml b/interfaces/OCaml/README.ocaml
index f544932..6b3cc52 100644
--- a/interfaces/OCaml/README.ocaml
+++ b/interfaces/OCaml/README.ocaml
@@ -1,3 +1,14 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
 
 The Objective Caml interface of the Parma Polyhedra Library requires
 OCaml version 3.09 or higher and the MLGMP wrapper to the GMP library
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
index 4a829e7..f5d4ae0 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
@@ -6,7 +6,7 @@ files ppl_ocaml_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl No code is needed for these procedure schemas in the OCaml interface.
 dnl
@@ -45,7 +45,7 @@ namespace Interfaces {
 namespace OCaml {
 
 struct custom_operations m4_current_interface`'_custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "m4_current_interface"|COMMA|
+  "com.bugseng.ppl" "." PPL_VERSION "." "m4_current_interface"|COMMA|
   custom_`'m4_current_interface`'_finalize|COMMA|
   custom_compare_default|COMMA|
   custom_hash_default|COMMA|
@@ -720,6 +720,30 @@ CATCH_ALL
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`dnl
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_has_ at UPPERLOWER@_bound(value ph, value var) try {
+  CAMLparam2(ph, var);
+  CAMLlocal1(caml_return_value);
+  @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
+  Variable vv = build_ppl_Variable(var);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  bool is_closed = false;
+  bool ppl_return_value = pph.has_ at UPPERLOWER@_bound(vv, num, den, is_closed);
+  caml_return_value = caml_alloc(4, 0);
+  Store_field(caml_return_value, 0, Val_bool(ppl_return_value));
+  Store_field(caml_return_value, 1, build_ocaml_coefficient(num));
+  Store_field(caml_return_value, 2, build_ocaml_coefficient(den));
+  Store_field(caml_return_value, 3, Val_bool(is_closed));
+  CAMLreturn(caml_return_value);
+}
+CATCH_ALL
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 extern "C"
@@ -830,7 +854,7 @@ ppl_ at CLASS@_swap(value ph1, value ph2) try {
   CAMLparam2(ph1, ph2);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  pph1.swap(pph2);
+  swap(pph1, pph2);
   CAMLreturn(Val_unit);
 }
 CATCH_ALL
@@ -1057,7 +1081,7 @@ custom_ at CLASS@_iterator_finalize(value v) {
 }
 
 struct custom_operations @CLASS at _iterator_custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "@CLASS at _iterator"|COMMA|
+  "com.bugseng.ppl" "." PPL_VERSION "." "@CLASS at _iterator"|COMMA|
   custom_ at CLASS@_iterator_finalize|COMMA|
   custom_compare_default|COMMA|
   custom_hash_default|COMMA|
@@ -1212,8 +1236,8 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       r = linear_partition(pph1, pph2);
     rfh = new C_Polyhedron(0, EMPTY);
     rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-    rfh->swap(r.first);
-    rsh->swap(r.second);
+    swap(*rfh, r.first);
+    swap(*rsh, r.second);
   }
   else {
     NNC_Polyhedron& pph1
@@ -1224,8 +1248,8 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       r = linear_partition(pph1, pph2);
     rfh = new NNC_Polyhedron(0, EMPTY);
     rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-    rfh->swap(r.first);
-    rsh->swap(r.second);
+    swap(*rfh, r.first);
+    swap(*rsh, r.second);
   }
 ')
 
@@ -1239,8 +1263,8 @@ m4_define(`m4_linear_partition_for_non_polyhedron_domains',
     r = linear_partition(pph1, pph2);
   rfh = new @CPP_CLASS@(0, EMPTY);
   rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-  rfh->swap(r.first);
-  rsh->swap(r.second);
+  swap(*rfh, r.first);
+  swap(*rsh, r.second);
 ')
 
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code', `
@@ -1258,8 +1282,8 @@ ppl_ at CLASS@_approximate_ at PARTITION@(value ph1, value ph2) try {
     r = approximate_partition(pph1, pph2, is_finite);
   @CPP_CLASS@* rfh = new @CPP_CLASS@(0, EMPTY);
   Pointset_Powerset<Grid>* rsh = new Pointset_Powerset<Grid>(0, EMPTY);
-  rfh->swap(r.first);
-  rsh->swap(r.second);
+  swap(*rfh, r.first);
+  swap(*rsh, r.second);
   caml_return_value = caml_alloc(3, 0);
   Store_field(caml_return_value, 0,
               unregistered_value_p_ at CLASS@(*rfh));
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
index 065b151..178f4d0 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_ocaml.cc
 dnl using the code in ppl_interface_generator_ocaml_cc_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_ocaml_cc_code.m4')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
index 0bbd324..94cc9e9 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
@@ -1,7 +1,7 @@
 dnl Used by ppl_interfaces_generator_ocaml_hh_files.m4
 dnl for generating the access code for the OCaml interface.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_define(`m4_access_class_code',
 `dnl
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
index 1d5176b..5a98205 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
@@ -7,7 +7,7 @@ dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_ocaml_hh_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -26,7 +26,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_ocaml_hh_code.m4')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
index b8d9547..9317a54 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_ocaml.ml
 dnl using the code in ppl_interface_generator_ocaml_ml_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_ocaml_ml_code.m4')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
index 7577038..9dfb5b1 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
@@ -4,7 +4,7 @@ sm4_divert(-1)
 This m4 file contains the program code for generating ppl_ocaml.ml
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl No code is needed for these procedure schemas in the OCaml interface.
 dnl
@@ -359,6 +359,15 @@ external ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_toke
 ')
 
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`dnl
+external ppl_ at CLASS@_has_ at UPPERLOWER@_bound:
+  @!CLASS@ -> int
+  -> bool * Z.t * Z.t * bool
+  = "ppl_ at CLASS@_has_ at UPPERLOWER@_bound"
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 external ppl_ at CLASS@_ at MAXMIN@:
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
index 16e8d14..ff71553 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
@@ -5,7 +5,7 @@ dnl This m4 file generates the file ppl_ocaml.mli
 dnl using the code in ppl_interface_generator_ocaml_mli_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_ocaml_mli_code.m4')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
index b2aa6d7..b357840 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the program code for generating ppl_ocaml.mli
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl No code is needed for these procedure schemas in the OCaml interface.
 dnl
@@ -321,6 +321,14 @@ val ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign:
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`dnl
+val ppl_ at CLASS@_has_ at UPPERLOWER@_bound:
+  @!CLASS@ -> int
+  -> bool * Z.t * Z.t * bool
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 val ppl_ at CLASS@_ at MAXMIN@:
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
index 177e748..29866b7 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
@@ -5,7 +5,7 @@ dnl for the OCaml interface; this includes:
 dnl - the list in the imported file and any OCaml specific procedures.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include the language independent macros.
 m4_include(`ppl_interface_generator_common_procedure_generators.m4')
diff --git a/interfaces/OCaml/ppl_ocaml_common.cc b/interfaces/OCaml/ppl_ocaml_common.cc
index bd93ca4..889dda1 100644
--- a/interfaces/OCaml/ppl_ocaml_common.cc
+++ b/interfaces/OCaml/ppl_ocaml_common.cc
@@ -1,6 +1,6 @@
 /* Domain-independent part of the OCaml interface: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_ocaml_common.defs.hh"
 
@@ -29,38 +29,30 @@ namespace Interfaces {
 
 namespace OCaml {
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-
-Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+Parma_Polyhedra_Library::Watchdog* p_timeout_object = 0;
 
 typedef
-Parma_Watchdog_Library::Threshold_Watcher
+Parma_Polyhedra_Library::Threshold_Watcher
 <Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
 
 Weightwatch* p_deterministic_timeout_object = 0;
 
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
-
 void
 reset_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   if (p_timeout_object) {
     delete p_timeout_object;
     p_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 void
 reset_deterministic_timeout() {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   if (p_deterministic_timeout_object) {
     delete p_deterministic_timeout_object;
     p_deterministic_timeout_object = 0;
     abandon_expensive_computations = 0;
   }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 
 namespace {
@@ -153,9 +145,7 @@ build_ppl_relsym(value caml_relsym) {
   case 4:
     return GREATER_THAN;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error\n:"
-                             "build_ppl_relsym(rel)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_relsym(rel)");
   }
 }
 
@@ -174,9 +164,8 @@ build_ppl_bounded_integer_type_width(value caml_width) {
   case 4:
     return BITS_128;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error\n:"
-                             "build_ppl_bounded_integer_type_width(width)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_bounded_integer_type_"
+                             "width(width)");
   }
 }
 
@@ -189,9 +178,8 @@ build_ppl_bounded_integer_type_representation(value caml_rep) {
   case 1:
     return SIGNED_2_COMPLEMENT;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error\n:"
-                             "build_ppl_bounded_integer_type_representation(rep)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_bounded_integer_type_"
+                             "representation(rep)");
   }
 }
 
@@ -206,9 +194,8 @@ build_ppl_bounded_integer_type_overflow(value caml_oflow) {
   case 2:
     return OVERFLOW_IMPOSSIBLE;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error\n:"
-                             "build_ppl_bounded_integer_type_overflow(oflow)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_bounded_integer_type_"
+                             "overflow(oflow)");
   }
 }
 
@@ -221,9 +208,7 @@ build_ppl_opt_mode(value caml_opt_mode) {
   case 1:
     return MAXIMIZATION;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error\n:"
-                             "build_ppl_opt_mode(opt)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_opt_mode(opt)");
   }
 }
 
@@ -236,9 +221,7 @@ build_ppl_Degenerate_Element(value de) {
   case 1:
     return EMPTY;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_Degenerate_Element(de)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_Degenerate_Element(de)");
   }
 }
 
@@ -253,23 +236,18 @@ build_ppl_Complexity_Class(value cc) {
   case 2:
     return ANY_COMPLEXITY;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_Complexity_Class(cc)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_Complexity_Class(cc)");
   }
 }
 
 MIP_Problem::Control_Parameter_Name
-build_ppl_control_parameter_name(value caml_cp_name) {
+build_ppl_mip_problem_control_parameter_name(value caml_cp_name) {
   assert(Is_long(caml_cp_name));
-  switch (Int_val(caml_cp_name)) {
-  case 0:
-    return  MIP_Problem::PRICING;
-  default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_control_parameter_name(cpn)");
-  }
+  if (Int_val(caml_cp_name) == 0)
+    return MIP_Problem::PRICING;
+  else
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_mip_problem_"
+                             "control_parameter_name(cpn)");
 }
 
 MIP_Problem::Control_Parameter_Value
@@ -283,9 +261,7 @@ build_ppl_control_parameter_value(value caml_cp_value) {
   case 2:
     return MIP_Problem::PRICING_TEXTBOOK;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_control_parameter_value(cpv)");
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_control_parameter_value(cpv)");
   }
 }
 
@@ -294,13 +270,11 @@ build_ppl_pip_problem_control_parameter_name(value caml_cp_name) {
   assert(Is_long(caml_cp_name));
   switch (Int_val(caml_cp_name)) {
   case 0:
-    return  PIP_Problem::CUTTING_STRATEGY;
+    return PIP_Problem::CUTTING_STRATEGY;
   case 1:
-    return  PIP_Problem::PIVOT_ROW_STRATEGY;
+    return PIP_Problem::PIVOT_ROW_STRATEGY;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_pip_problem_"
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_pip_problem_"
                              "control_parameter_name(cpn)");
   }
 }
@@ -320,9 +294,7 @@ build_ppl_pip_problem_control_parameter_value(value caml_cp_value) {
   case 4:
     return PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN;
   default:
-    // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ppl_pip_problem_"
+    PPL_OCAML_UNEXPECTED_MSG("build_ppl_pip_problem_"
                              "control_parameter_value(cpv)");
   }
 }
@@ -460,10 +432,8 @@ build_ocaml_generator(const Generator& ppl_generator) {
     Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
     CAMLreturn(caml_generator);
   }
-  default:
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ocaml_generator(g)");
-  }
+  } // switch (ppl_generator.type())
+  PPL_UNREACHABLE;
 }
 
 value
@@ -494,10 +464,8 @@ build_ocaml_grid_generator(const Grid_Generator& ppl_grid_generator) {
     Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
     CAMLreturn(caml_generator);
   }
-  default:
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ocaml_grid_generator(g)");
-  }
+  } // switch (ppl_grid_generator.type())
+  PPL_UNREACHABLE;
 }
 
 value
@@ -523,10 +491,8 @@ build_ocaml_constraint(const Constraint& ppl_constraint) {
     Store_field(caml_constraint, 1, get_inhomogeneous_term(ppl_constraint));
     CAMLreturn(caml_constraint);
   }
-  default:
-    throw std::runtime_error("PPL OCaml interface internal error:\n"
-                             "build_ocaml_constraint(c)");
-  }
+  } // switch (ppl_constraint.type())
+  PPL_UNREACHABLE;
 }
 
 value
@@ -770,7 +736,7 @@ custom_MIP_Problem_finalize(value v) {
 }
 
 static struct custom_operations MIP_Problem_custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "MIP_Problem",
+  "com.bugseng.ppl" "." PPL_VERSION "." "MIP_Problem",
   custom_MIP_Problem_finalize,
   custom_compare_default,
   custom_hash_default,
@@ -798,7 +764,7 @@ custom_PIP_Problem_finalize(value v) {
 }
 
 static struct custom_operations PIP_Problem_custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "PIP_Problem",
+  "com.bugseng.ppl" "." PPL_VERSION "." "PIP_Problem",
   custom_PIP_Problem_finalize,
   custom_compare_default,
   custom_hash_default,
@@ -820,7 +786,7 @@ unregistered_value_p_PIP_Problem(const PIP_Problem& ph) {
 // In principle, we could directly store a PIP_Tree_Node* in a Caml 'value':
 // the use of a Custom_tag block is anyway recommended by Caml manual.
 static struct custom_operations PIP_Tree_Node_custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "PIP_Tree_Node",
+  "com.bugseng.ppl" "." PPL_VERSION "." "PIP_Tree_Node",
   custom_finalize_default,
   custom_compare_default,
   custom_hash_default,
@@ -1008,11 +974,8 @@ ppl_MIP_Problem_solve(value caml_mip) try {
     CAMLreturn(Val_int(1));
   case OPTIMIZED_MIP_PROBLEM:
     CAMLreturn(Val_int(2));
-  default:
-    ;
   }
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  PPL_UNREACHABLE;
 }
 CATCH_ALL
 
@@ -1027,11 +990,8 @@ ppl_MIP_Problem_optimization_mode(value caml_mip) try {
     CAMLreturn(Val_int(0));
   case MAXIMIZATION:
     CAMLreturn(Val_int(1));
-  default:
-    ;
   }
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  PPL_UNREACHABLE;
  }
 CATCH_ALL
 
@@ -1055,7 +1015,7 @@ ppl_MIP_Problem_get_control_parameter(value caml_mip,
   CAMLparam2(caml_mip, caml_cp_name);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   MIP_Problem::Control_Parameter_Name ppl_cp_name
-    = build_ppl_control_parameter_name(caml_cp_name);
+    = build_ppl_mip_problem_control_parameter_name(caml_cp_name);
   MIP_Problem::Control_Parameter_Value ppl_cp_value
     = ppl_mip.get_control_parameter(ppl_cp_name);
   switch (ppl_cp_value) {
@@ -1065,11 +1025,8 @@ ppl_MIP_Problem_get_control_parameter(value caml_mip,
     CAMLreturn(Val_int(1));
   case MIP_Problem::PRICING_TEXTBOOK:
     CAMLreturn(Val_int(2));
-  default:
-    ;
   }
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  PPL_UNREACHABLE;
  }
 CATCH_ALL
 
@@ -1180,7 +1137,7 @@ ppl_MIP_Problem_swap(value caml_mip1, value caml_mip2) try{
   CAMLparam2(caml_mip1, caml_mip2);
   MIP_Problem& ppl_mip1 = *p_MIP_Problem_val(caml_mip1);
   MIP_Problem& ppl_mip2 = *p_MIP_Problem_val(caml_mip2);
-  ppl_mip1.swap(ppl_mip2);
+  swap(ppl_mip1, ppl_mip2);
   CAMLreturn(Val_unit);
 }
 CATCH_ALL
@@ -1374,11 +1331,8 @@ ppl_PIP_Problem_solve(value caml_pip) try {
     CAMLreturn(Val_int(0));
   case OPTIMIZED_PIP_PROBLEM:
     CAMLreturn(Val_int(1));
-  default:
-    ;
   }
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  PPL_UNREACHABLE;
 }
 CATCH_ALL
 
@@ -1417,10 +1371,9 @@ ppl_PIP_Problem_get_control_parameter(value caml_pip,
   case PIP_Problem::PIVOT_ROW_STRATEGY_MAX_COLUMN:
     CAMLreturn(Val_int(4));
   default:
-    ;
+    PPL_UNREACHABLE;
+    CAMLreturn(Val_int(5));
   }
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
  }
 CATCH_ALL
 
@@ -1469,7 +1422,7 @@ ppl_PIP_Problem_swap(value caml_pip1, value caml_pip2) try{
   CAMLparam2(caml_pip1, caml_pip2);
   PIP_Problem& ppl_pip1 = *p_PIP_Problem_val(caml_pip1);
   PIP_Problem& ppl_pip2 = *p_PIP_Problem_val(caml_pip2);
-  ppl_pip1.swap(ppl_pip2);
+  swap(ppl_pip1, ppl_pip2);
   CAMLreturn(Val_unit);
 }
 CATCH_ALL
@@ -1811,19 +1764,13 @@ extern "C"
 CAMLprim value
 ppl_set_timeout(value time) try {
   CAMLparam1(time);
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  const char* what = "PPL OCaml interface usage error:\n"
-    "ppl_set_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
   // In case a timeout was already set.
   reset_timeout();
   unsigned cpp_time = value_to_unsigned<unsigned>(time);
   static timeout_exception e;
-  using Parma_Watchdog_Library::Watchdog;
+  using Parma_Polyhedra_Library::Watchdog;
   p_timeout_object = new Watchdog(cpp_time, abandon_expensive_computations, e);
   CAMLreturn(Val_unit);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
@@ -1831,33 +1778,26 @@ extern "C"
 CAMLprim value
 ppl_reset_timeout(value unit) try {
   CAMLparam1(unit);
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  throw std::runtime_error("PPL OCaml interface error:\n"
-                           "the PPL Watchdog library is not enabled.");
-#else
   reset_timeout();
   CAMLreturn(Val_unit);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
 extern "C"
 CAMLprim value
-ppl_set_deterministic_timeout(value weight) try {
-  CAMLparam1(weight);
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  const char* what = "PPL OCaml interface usage error:\n"
-    "ppl_set_deterministic_timeout: the PPL Watchdog library is not enabled.";
-  throw std::runtime_error(what);
-#else
+ppl_set_deterministic_timeout(value unscaled_weight, value scale) try {
+  CAMLparam2(unscaled_weight, scale);
   // In case a timeout was already set.
   reset_deterministic_timeout();
-  unsigned cpp_weight = value_to_unsigned<unsigned>(weight);
+  unsigned long cpp_unscaled_weight
+    = value_to_unsigned<unsigned long>(unscaled_weight);
+  unsigned cpp_scale = value_to_unsigned<unsigned>(scale);
   static deterministic_timeout_exception e;
+  typedef Parma_Polyhedra_Library::Weightwatch_Traits Traits;
   p_deterministic_timeout_object
-    = new Weightwatch(cpp_weight, abandon_expensive_computations, e);
+    = new Weightwatch(Traits::compute_delta(cpp_unscaled_weight, cpp_scale),
+                      abandon_expensive_computations, e);
   CAMLreturn(Val_unit);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
 
@@ -1865,12 +1805,7 @@ extern "C"
 CAMLprim value
 ppl_reset_deterministic_timeout(value unit) try {
   CAMLparam1(unit);
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED
-  throw std::runtime_error("PPL OCaml interface error:\n"
-                           "the PPL Watchdog library is not enabled.");
-#else
   reset_deterministic_timeout();
   CAMLreturn(Val_unit);
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 }
 CATCH_ALL
diff --git a/interfaces/OCaml/ppl_ocaml_common.defs.hh b/interfaces/OCaml/ppl_ocaml_common.defs.hh
index 65caded..17377fe 100644
--- a/interfaces/OCaml/ppl_ocaml_common.defs.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.defs.hh
@@ -1,6 +1,6 @@
 /* Domain-independent part of the OCaml interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,18 +19,22 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_ocaml_common_defs_hh
 #define PPL_ppl_ocaml_common_defs_hh 1
 
 #include "ppl.hh"
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-#include "pwl.hh"
-#endif
 #include "interfaced_boxes.hh"
 #include "marked_pointers.hh"
 
+// Note: throw exception if the error is at the OCaml interface level.
+#define PPL_OCAML_UNEXPECTED \
+  throw std::runtime_error("PPL OCaml interface internal error")
+#define PPL_OCAML_UNEXPECTED_MSG(msg) \
+  throw std::runtime_error("PPL OCaml interface internal error:\n" msg)
+
+
 // OCaml include files.
 extern "C" {
 
diff --git a/interfaces/OCaml/ppl_ocaml_common.inlines.hh b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
index 666875a..f9054e5 100644
--- a/interfaces/OCaml/ppl_ocaml_common.inlines.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
@@ -1,6 +1,6 @@
 /* Domain-independent part of the OCaml interface: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_ocaml_common_inlines_hh
 #define PPL_ppl_ocaml_common_inlines_hh 1
diff --git a/interfaces/OCaml/ppl_ocaml_globals.ml b/interfaces/OCaml/ppl_ocaml_globals.ml
index a8586c1..11e1d8b 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.ml
+++ b/interfaces/OCaml/ppl_ocaml_globals.ml
@@ -1,6 +1,6 @@
 (* OCaml interface: domain-independent functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . *)
+site: http://bugseng.com/products/ppl/ . *)
 
 open Gmp
 
@@ -195,7 +195,7 @@ external ppl_reset_timeout:
 unit -> unit = "ppl_reset_timeout"
 
 external ppl_set_deterministic_timeout:
-int -> unit = "ppl_set_deterministic_timeout"
+int -> int -> unit = "ppl_set_deterministic_timeout"
 
 external ppl_reset_deterministic_timeout:
 unit -> unit = "ppl_reset_deterministic_timeout"
diff --git a/interfaces/OCaml/ppl_ocaml_globals.mli b/interfaces/OCaml/ppl_ocaml_globals.mli
index f86dcfa..427e28b 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.mli
+++ b/interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1,6 +1,6 @@
 (* OCaml interface: module inteface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . *)
+site: http://bugseng.com/products/ppl/ . *)
 
 open Gmp
 
@@ -189,7 +189,7 @@ val ppl_reset_timeout:
   unit -> unit
 
 val ppl_set_deterministic_timeout:
-  int -> unit
+  int -> int -> unit
 
 val ppl_reset_deterministic_timeout:
   unit -> unit
diff --git a/interfaces/OCaml/tests/Makefile.am b/interfaces/OCaml/tests/Makefile.am
index d8c8d54..3f23f07 100644
--- a/interfaces/OCaml/tests/Makefile.am
+++ b/interfaces/OCaml/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
@@ -35,7 +35,7 @@ CHECKER =
 endif !VALGRIND_TESTS_ENABLED
 
 TESTS_ENVIRONMENT = \
-	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) $(CHECKER)
+	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(CHECKER)
 
 interface_generator_files = \
 ppl_interface_generator_ocaml_test_ml.m4 \
@@ -48,21 +48,19 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
 ../ppl_interface_generator_ocaml_procedure_generators.m4 \
-ppl_interface_generator_ocaml_test_ml.m4 \
-ppl_interface_generator_ocaml_test_ml_code.m4 \
+$(interface_generator_files) \
 ppl_ocaml_tests_common
 
 # Even if the OCaml sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake OCaml build system.
 EXTRA_DIST = \
-ppl_interface_generator_ocaml_test_ml_code.m4 \
-ppl_interface_generator_ocaml_test_ml.m4 \
+$(interface_generator_files) \
 ppl_ocaml_tests_common
 
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 
 OCAMLC_COMPILE_FLAGS = \
--I @mlgmp_dir@ -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g -ccopt -Wno-write-strings
 
 OCAMLC_LINK_FLAGS = \
 -cclib -lmlgmp -cclib -lmpfr \
@@ -76,26 +74,14 @@ if ENABLE_SHARED
 
 BUILT_PPL_FLAGS = -cclib $(top_builddir)/src/.libs/libppl$(SHREXT)
 
-if BUILD_WATCHDOG_LIBRARY
-BUILT_PWL_FLAGS = -cclib $(top_builddir)/Watchdog/src/.libs/libpwl$(SHREXT)
-endif BUILD_WATCHDOG_LIBRARY
-
 else !ENABLE_SHARED
 
 BUILT_PPL_FLAGS = -cclib $(top_builddir)/src/.libs/libppl.$(LIBEXT)
 
-if BUILD_WATCHDOG_LIBRARY
-BUILT_PWL_FLAGS = -cclib $(top_builddir)/Watchdog/src/.libs/libpwl.$(LIBEXT)
-endif BUILD_WATCHDOG_LIBRARY
-
 endif !ENABLE_SHARED
 
 PPL_DLOPEN = -dlopen ../../../src/libppl.la
 
-if BUILD_WATCHDOG_LIBRARY
-PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
-endif BUILD_WATCHDOG_LIBRARY
-
 .ml.cmo:
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
@@ -127,7 +113,7 @@ test1_SOURCES = test1.ml
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 test1_opt_SOURCES = test1.ml
@@ -135,7 +121,7 @@ test1_opt_SOURCES = test1.ml
 test1_opt$(EXEEXT): test1.cmx ../ppl_ocaml.cmxa
 	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
 
 
@@ -153,14 +139,14 @@ ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 ppl_ocaml_generated_test_opt$(EXEEXT): \
 ppl_ocaml_generated_test.cmx ../ppl_ocaml.cmxa
 	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
 
 MOSTLYCLEANFILES = \
diff --git a/interfaces/OCaml/tests/Makefile.in b/interfaces/OCaml/tests/Makefile.in
index 507488e..87d65f7 100644
--- a/interfaces/OCaml/tests/Makefile.in
+++ b/interfaces/OCaml/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -106,8 +101,8 @@ nodist_ppl_ocaml_generated_test_OBJECTS =
 ppl_ocaml_generated_test_OBJECTS =  \
 	$(nodist_ppl_ocaml_generated_test_OBJECTS)
 ppl_ocaml_generated_test_LDADD = $(LDADD)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 nodist_ppl_ocaml_generated_test_opt_OBJECTS =
 ppl_ocaml_generated_test_opt_OBJECTS =  \
@@ -126,21 +121,21 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(nodist_ppl_ocaml_generated_test_SOURCES) \
 	$(nodist_ppl_ocaml_generated_test_opt_SOURCES) \
@@ -172,6 +167,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -196,21 +192,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -266,6 +257,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -334,7 +326,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -352,7 +343,7 @@ yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(srcdir)/valgrind_suppressions
 
 TESTS_ENVIRONMENT = \
-	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) $(CHECKER)
+	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(CHECKER)
 
 interface_generator_files = \
 ppl_interface_generator_ocaml_test_ml.m4 \
@@ -365,21 +356,19 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_copyright \
 ../../ppl_interface_generator_common_procedure_generators.m4 \
 ../ppl_interface_generator_ocaml_procedure_generators.m4 \
-ppl_interface_generator_ocaml_test_ml.m4 \
-ppl_interface_generator_ocaml_test_ml_code.m4 \
+$(interface_generator_files) \
 ppl_ocaml_tests_common
 
 
 # Even if the OCaml sources are not really needed, they are built by m4,
 # we need to include them to invoke the Automake OCaml build system.
 EXTRA_DIST = \
-ppl_interface_generator_ocaml_test_ml_code.m4 \
-ppl_interface_generator_ocaml_test_ml.m4 \
+$(interface_generator_files) \
 ppl_ocaml_tests_common
 
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 OCAMLC_COMPILE_FLAGS = \
--I @mlgmp_dir@ -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g -ccopt -Wno-write-strings
 
 OCAMLC_LINK_FLAGS = \
 -cclib -lmlgmp -cclib -lmpfr \
@@ -390,10 +379,7 @@ OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
 OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
 @ENABLE_SHARED_FALSE at BUILT_PPL_FLAGS = -cclib $(top_builddir)/src/.libs/libppl.$(LIBEXT)
 @ENABLE_SHARED_TRUE at BUILT_PPL_FLAGS = -cclib $(top_builddir)/src/.libs/libppl$(SHREXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@@ENABLE_SHARED_FALSE at BUILT_PWL_FLAGS = -cclib $(top_builddir)/Watchdog/src/.libs/libpwl.$(LIBEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@@ENABLE_SHARED_TRUE at BUILT_PWL_FLAGS = -cclib $(top_builddir)/Watchdog/src/.libs/libpwl$(SHREXT)
 PPL_DLOPEN = -dlopen ../../../src/libppl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@PWL_DLOPEN = -dlopen ../../../Watchdog/src/libpwl.la
 @HAVE_OCAMLC_TRUE at OCAMLC_TESTS = \
 @HAVE_OCAMLC_TRUE at test1 \
 @HAVE_OCAMLC_TRUE at ppl_ocaml_generated_test
@@ -564,14 +550,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -621,10 +608,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -731,13 +723,13 @@ uninstall-am:
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 test1_opt$(EXEEXT): test1.cmx ../ppl_ocaml.cmxa
 	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
 
 ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
@@ -750,14 +742,14 @@ ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) $(OCAMLC) -o $@ \
 		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
 ppl_ocaml_generated_test_opt$(EXEEXT): \
 ppl_ocaml_generated_test.cmx ../ppl_ocaml.cmxa
 	$(OCAMLOPT_ENV) $(OCAMLOPT) -o $@ \
 		-cc "$(CXX)" $(OCAMLOPT_COMPILE_FLAGS) \
-		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(OCAMLOPT_LINK_FLAGS) \
 		ppl_ocaml.cmxa $<
 
 ../ppl_ocaml.cma:
diff --git a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4 b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
index 1c6fc34..ac6213c 100644
--- a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+++ b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
@@ -1,7 +1,7 @@
 m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl
 dnl ==================================================================
diff --git a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
index 50297b1..6670594 100644
--- a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
+++ b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
@@ -1,5 +1,5 @@
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -18,7 +18,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 m4_divert(-1)
 
 dnl Code for generating the domain elements to be used in the tests.
diff --git a/interfaces/OCaml/tests/ppl_ocaml_tests_common b/interfaces/OCaml/tests/ppl_ocaml_tests_common
index 1e099f1..d5e98cc 100644
--- a/interfaces/OCaml/tests/ppl_ocaml_tests_common
+++ b/interfaces/OCaml/tests/ppl_ocaml_tests_common
@@ -1,6 +1,6 @@
 (* Common part of the OCaml generated tests.  -*- Tuareg -*-
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . *)
+site: http://bugseng.com/products/ppl/ . *)
 
 open Ppl_ocaml
 open Printf
diff --git a/interfaces/OCaml/tests/test1.ml b/interfaces/OCaml/tests/test1.ml
index 9fbc5ba..42ed551 100644
--- a/interfaces/OCaml/tests/test1.ml
+++ b/interfaces/OCaml/tests/test1.ml
@@ -1,6 +1,6 @@
 (* Simple program testing the PPL OCaml interface on a few random things.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . *)
+site: http://bugseng.com/products/ppl/ . *)
 
 open Ppl_ocaml
 open Printf
@@ -464,7 +464,7 @@ in (
   begin
     try
       print_string_if_noisy "\nStarting ppl_reset_deterministic_timeout test:\n";
-      ppl_set_deterministic_timeout 2000;
+      ppl_set_deterministic_timeout 2000 0;
       compute_timeout_hypercube 0 2;
       ppl_reset_deterministic_timeout ();
       print_string_if_noisy "ppl_reset_deterministic_timeout test succeeded.\n"
@@ -482,7 +482,7 @@ in (
   begin
     try
       print_string_if_noisy "\nStarting ppl_set_deterministic_timeout test:\n";
-      ppl_set_deterministic_timeout 2000;
+      ppl_set_deterministic_timeout 2000 0;
       compute_timeout_hypercube 0 100;
       ppl_reset_deterministic_timeout ();
       print_string_if_noisy "ppl_set_deterministic_timeout test seems to be failed!\n"
diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
index 50ff920..bb60f1b 100644
--- a/interfaces/Prolog/Ciao/Makefile.am
+++ b/interfaces/Prolog/Ciao/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 CIAO_CFLI_FILES = ciao_cfli.hh
 
@@ -32,15 +32,6 @@ ciao_pl_check.pl \
 ppl_interface_generator_ciao_prolog_generated_test_pl.m4 \
 README.ciao
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 if ENABLE_SHARED
 
 AM_CPPFLAGS = \
@@ -48,7 +39,6 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(CIAO_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -159,7 +149,6 @@ endif NO_UNDEFINED
 libppl_ciao_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_ciao_la_DEPENDENCIES = \
@@ -170,7 +159,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-pkglib_DATA = ppl_ciao.po
+pkgdata_DATA = ppl_ciao.po
 
 ppl_ciao.pl: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
@@ -266,7 +255,6 @@ check-local: ppl_prolog_generated_test
 pl_check_test: ciao_pl_check$(EXEEXT) .libs/libppl_ciao.so $(EXPECTED_PCHK)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_ciao.la \
 		./ciao_pl_check \
 			 >obtained_pchk
@@ -279,7 +267,6 @@ clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECT
 	GLOBALSTKSIZE=1000000 \
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_ciao.la \
 		./ciao_clpq \
 			<$(srcdir)/../tests/script_clpq >obtained_clpq
@@ -289,7 +276,6 @@ clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXP
 	GLOBALSTKSIZE=100000 \
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_ciao.la \
 		./ciao_clpq2 \
 			<$(srcdir)/../tests/script_clpq2 >obtained_clpq2
@@ -298,7 +284,6 @@ clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXP
 ppl_prolog_generated_test: ciao_prolog_generated_test$(EXEEXT) .libs/libppl_ciao.so ../tests/expected_pgt
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_ciao.la \
 		./ciao_prolog_generated_test \
 			 >obtained_pgt
diff --git a/interfaces/Prolog/Ciao/Makefile.in b/interfaces/Prolog/Ciao/Makefile.in
index 6cd0583..990bc06 100644
--- a/interfaces/Prolog/Ciao/Makefile.in
+++ b/interfaces/Prolog/Ciao/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -118,7 +113,13 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am__libppl_ciao_la_SOURCES_DIST = ppl_prolog_sysdep.hh ciao_efli.hh \
 	ciao_efli.cc
@@ -127,8 +128,8 @@ am__libppl_ciao_la_SOURCES_DIST = ppl_prolog_sysdep.hh ciao_efli.hh \
 @ENABLE_SHARED_TRUE@	ppl_prolog_common.lo
 libppl_ciao_la_OBJECTS = $(am_libppl_ciao_la_OBJECTS) \
 	$(nodist_libppl_ciao_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_ciao_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -145,18 +146,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -164,23 +165,23 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_ciao_la_SOURCES) $(nodist_libppl_ciao_la_SOURCES) \
 	$(nodist_EXTRA_libppl_ciao_la_SOURCES)
 DIST_SOURCES = $(am__libppl_ciao_la_SOURCES_DIST)
-DATA = $(pkglib_DATA)
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -207,6 +208,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -231,21 +233,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -301,6 +298,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -369,7 +367,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -390,16 +387,11 @@ ciao_pl_check.pl \
 ppl_interface_generator_ciao_prolog_generated_test_pl.m4 \
 README.ciao
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 @ENABLE_SHARED_TRUE at AM_CPPFLAGS = \
 @ENABLE_SHARED_TRUE at -I$(top_srcdir)/interfaces \
 @ENABLE_SHARED_TRUE at -I$(top_srcdir)/interfaces/Prolog \
 @ENABLE_SHARED_TRUE at -I$(top_buildir)/interfaces/Prolog \
 @ENABLE_SHARED_TRUE at -I$(top_builddir)/src \
- at ENABLE_SHARED_TRUE@$(WATCHDOG_INCLUDE_OPTIONS) \
 @ENABLE_SHARED_TRUE@$(CIAO_PROLOG_INCLUDE_OPTIONS) \
 @ENABLE_SHARED_TRUE@@extra_includes@
 
@@ -504,7 +496,6 @@ README.ciao
 @ENABLE_SHARED_TRUE at libppl_ciao_la_LIBADD = \
 @ENABLE_SHARED_TRUE@@required_instantiations_prolog_cxx_objects@ \
 @ENABLE_SHARED_TRUE@$(top_builddir)/src/libppl.la \
- at ENABLE_SHARED_TRUE@$(WATCHDOG_LIBRARY) \
 @ENABLE_SHARED_TRUE@@extra_libraries@
 
 @ENABLE_SHARED_TRUE at libppl_ciao_la_DEPENDENCIES = \
@@ -515,7 +506,7 @@ README.ciao
 @ENABLE_SHARED_TRUE at -module \
 @ENABLE_SHARED_TRUE at -avoid-version
 
- at ENABLE_SHARED_TRUE@pkglib_DATA = ppl_ciao.po
+ at ENABLE_SHARED_TRUE@pkgdata_DATA = ppl_ciao.po
 @ENABLE_SHARED_TRUE at CLPQ_TESTS_NONSTRICT = \
 @ENABLE_SHARED_TRUE at ack.clpq \
 @ENABLE_SHARED_TRUE at ackn.clpq \
@@ -611,7 +602,7 @@ clean-pkglibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_ciao.la: $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_DEPENDENCIES) 
+libppl_ciao.la: $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_DEPENDENCIES) $(EXTRA_libppl_ciao_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_ciao_la_LINK) $(am_libppl_ciao_la_rpath) $(libppl_ciao_la_OBJECTS) $(libppl_ciao_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
@@ -701,660 +692,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1444,7 +1354,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -1457,10 +1367,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1497,13 +1412,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-pkglibDATA install-pkglibLTLIBRARIES
+install-exec-am: install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
@@ -1543,7 +1458,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
+uninstall-am: uninstall-pkgdataDATA uninstall-pkglibLTLIBRARIES
 
 .MAKE: check-am install-am install-strip
 
@@ -1555,12 +1470,12 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-pkglibDATA install-pkglibLTLIBRARIES install-ps \
+	install-pkgdataDATA install-pkglibLTLIBRARIES install-ps \
 	install-ps-am install-strip installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	mostlyclean mostlyclean-compile mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
+	uninstall-am uninstall-pkgdataDATA uninstall-pkglibLTLIBRARIES
 
 
 @ENABLE_SHARED_TRUE at ppl_ciao.pl: $(interface_generator_dependencies)
@@ -1626,7 +1541,6 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE at pl_check_test: ciao_pl_check$(EXEEXT) .libs/libppl_ciao.so $(EXPECTED_PCHK)
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen libppl_ciao.la \
 @ENABLE_SHARED_TRUE@		./ciao_pl_check \
 @ENABLE_SHARED_TRUE@			 >obtained_pchk
@@ -1639,7 +1553,6 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE@	GLOBALSTKSIZE=1000000 \
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen libppl_ciao.la \
 @ENABLE_SHARED_TRUE@		./ciao_clpq \
 @ENABLE_SHARED_TRUE@			<$(srcdir)/../tests/script_clpq >obtained_clpq
@@ -1649,7 +1562,6 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE@	GLOBALSTKSIZE=100000 \
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen libppl_ciao.la \
 @ENABLE_SHARED_TRUE@		./ciao_clpq2 \
 @ENABLE_SHARED_TRUE@			<$(srcdir)/../tests/script_clpq2 >obtained_clpq2
@@ -1658,7 +1570,6 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE at ppl_prolog_generated_test: ciao_prolog_generated_test$(EXEEXT) .libs/libppl_ciao.so ../tests/expected_pgt
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen libppl_ciao.la \
 @ENABLE_SHARED_TRUE@		./ciao_prolog_generated_test \
 @ENABLE_SHARED_TRUE@			 >obtained_pgt
diff --git a/interfaces/Prolog/Ciao/README.ciao b/interfaces/Prolog/Ciao/README.ciao
index ba16eed..9ed8610 100644
--- a/interfaces/Prolog/Ciao/README.ciao
+++ b/interfaces/Prolog/Ciao/README.ciao
@@ -1,3 +1,15 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+
 The Ciao Prolog interface to the PPL only supports versions of Ciao
 Prolog dated later than Octber 15th, 2008 (corresponding to SVN
 revision 9859).  If in doubt, please check with the Ciao developers
diff --git a/interfaces/Prolog/Ciao/ciao_cfli.hh b/interfaces/Prolog/Ciao/ciao_cfli.hh
index 9689839..9cf3d39 100644
--- a/interfaces/Prolog/Ciao/ciao_cfli.hh
+++ b/interfaces/Prolog/Ciao/ciao_cfli.hh
@@ -1,6 +1,6 @@
 /* Ciao Prolog Common Foreign Language Interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_ciao_cfli_hh
 #define PCFLI_ciao_cfli_hh 1
diff --git a/interfaces/Prolog/Ciao/ciao_clpq.pl b/interfaces/Prolog/Ciao/ciao_clpq.pl
index 2a16628..1ed9b61 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- module(_, [main/0], []).
 :- use_module(library(debugger)).
diff --git a/interfaces/Prolog/Ciao/ciao_clpq2.pl b/interfaces/Prolog/Ciao/ciao_clpq2.pl
index bd861bd..3f8a646 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq2.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq2.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the 2nd toy PPL/CIAO-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- module(_, [main/0], []).
 :- use_module(library(debugger)).
diff --git a/interfaces/Prolog/Ciao/ciao_efli.cc b/interfaces/Prolog/Ciao/ciao_efli.cc
index c076647..5282cf1 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.cc
+++ b/interfaces/Prolog/Ciao/ciao_efli.cc
@@ -1,6 +1,6 @@
 /* Ciao Prolog extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ciao_efli.hh"
 #include "ppl_prolog_common.defs.hh"
diff --git a/interfaces/Prolog/Ciao/ciao_efli.hh b/interfaces/Prolog/Ciao/ciao_efli.hh
index 329cd81..bc61f25 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.hh
+++ b/interfaces/Prolog/Ciao/ciao_efli.hh
@@ -1,6 +1,6 @@
 /* Ciao Prolog extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ciao_efli_hh
 #define PPL_ciao_efli_hh 1
diff --git a/interfaces/Prolog/Ciao/ciao_pl_check.pl b/interfaces/Prolog/Ciao/ciao_pl_check.pl
index 647dab3..a6d7bae 100644
--- a/interfaces/Prolog/Ciao/ciao_pl_check.pl
+++ b/interfaces/Prolog/Ciao/ciao_pl_check.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- module(_, [main/0], []).
 :- use_module(library(debugger)).
diff --git a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
index 3f8a03a..f52cdb5 100644
--- a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+++ b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_ciao.pl.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4 b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
index 6990cd3..89a85f9 100644
--- a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
+++ b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
@@ -5,7 +5,7 @@ dnl This m4 file defines macros needed for generating
 dnl the Ciao dependent code for ciao_prolog_generated_test.pl.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')dnl
 
diff --git a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
index b475ffe..558b295 100644
--- a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for Ciao Prolog.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ciao_efli.hh"
 
diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
index f0ebf97..ad51958 100644
--- a/interfaces/Prolog/GNU/Makefile.am
+++ b/interfaces/Prolog/GNU/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 GPROLOG_CFLI_FILES = gprolog_cfli.hh
 
@@ -31,21 +31,11 @@ gnu_pl_check.pl \
 gnu_prolog_generated_test.pl \
 README.gprolog
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
@@ -154,7 +144,6 @@ endif NO_UNDEFINED
 libppl_gprolog_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_gprolog_la_DEPENDENCIES = \
@@ -169,7 +158,7 @@ ppl_gprolog.pl: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
 
-pkglib_DATA = ppl_gprolog.pl
+pkgdata_DATA = ppl_gprolog.pl
 
 bin_PROGRAMS = ppl_gprolog
 
@@ -193,19 +182,19 @@ endif !ENABLE_STATIC
 ppl_gprolog$(EXEEXT): libppl_gprolog.la ppl_gprolog.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 gp_clpq: libppl_gprolog.la ppl_gprolog.pl gp_clpq.pl ../tests/clpq.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(srcdir)/gp_clpq.pl \
 		$(srcdir)/../tests/clpq.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 gp_clpq2: libppl_gprolog.la ppl_gprolog.pl gp_clpq.pl ../tests/clpq2.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(srcdir)/gp_clpq.pl \
 		$(srcdir)/../tests/clpq2.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
@@ -257,7 +246,6 @@ pl_check_test: gnu_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	echo "main." >>script_pchk
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./ppl_gprolog <script_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
@@ -268,7 +256,6 @@ $(CLPQ_TESTS):
 clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./gp_clpq <$(SCRIPT_CLPQ) >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
@@ -276,7 +263,6 @@ clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./gp_clpq2 <$(SCRIPT_CLPQ2) >obtained_clpq2
 	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
@@ -292,7 +278,6 @@ ppl_prolog_generated_test: gnu_prolog_generated_test.pl  ../tests/ppl_prolog_gen
 	echo "main." >>script_pgt
 	GLOBALSZ=131072 $(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./ppl_gprolog <script_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/GNU/Makefile.in b/interfaces/Prolog/GNU/Makefile.in
index 821c279..dab27f5 100644
--- a/interfaces/Prolog/GNU/Makefile.in
+++ b/interfaces/Prolog/GNU/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 
@@ -72,27 +72,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -120,15 +115,21 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \
-	"$(DESTDIR)$(pkglibdir)"
+	"$(DESTDIR)$(pkgdatadir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am_libppl_gprolog_la_OBJECTS = gprolog_efli.lo
 nodist_libppl_gprolog_la_OBJECTS = ppl_prolog_common.lo
 libppl_gprolog_la_OBJECTS = $(am_libppl_gprolog_la_OBJECTS) \
 	$(nodist_libppl_gprolog_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_gprolog_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -148,18 +149,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -167,25 +168,25 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_gprolog_la_SOURCES) \
 	$(nodist_libppl_gprolog_la_SOURCES) \
 	$(nodist_EXTRA_libppl_gprolog_la_SOURCES) \
 	$(ppl_gprolog_SOURCES)
 DIST_SOURCES = $(libppl_gprolog_la_SOURCES) $(ppl_gprolog_SOURCES)
-DATA = $(pkglib_DATA)
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -212,6 +213,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -236,21 +238,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -306,6 +303,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -374,7 +372,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -394,16 +391,11 @@ gnu_pl_check.pl \
 gnu_prolog_generated_test.pl \
 README.gprolog
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
@@ -506,7 +498,6 @@ nodist_EXTRA_libppl_gprolog_la_SOURCES = \
 libppl_gprolog_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_gprolog_la_DEPENDENCIES = \
@@ -517,7 +508,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-pkglib_DATA = ppl_gprolog.pl
+pkgdata_DATA = ppl_gprolog.pl
 ppl_gprolog_SOURCES = 
 @ENABLE_STATIC_FALSE at LIBPPL_GPROLOG = .libs/libppl_gprolog.so
 
@@ -624,7 +615,7 @@ clean-pkglibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_gprolog.la: $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_DEPENDENCIES) 
+libppl_gprolog.la: $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_DEPENDENCIES) $(EXTRA_libppl_gprolog_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_gprolog_la_LINK) -rpath $(pkglibdir) $(libppl_gprolog_la_OBJECTS) $(libppl_gprolog_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
@@ -757,660 +748,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1499,7 +1409,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -1512,10 +1422,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1552,14 +1467,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS install-pkglibDATA \
-	install-pkglibLTLIBRARIES
+install-exec-am: install-binPROGRAMS install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
@@ -1599,7 +1513,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
+uninstall-am: uninstall-binPROGRAMS uninstall-pkgdataDATA \
 	uninstall-pkglibLTLIBRARIES
 
 .MAKE: check-am install-am install-strip
@@ -1612,13 +1526,13 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 	install-binPROGRAMS install-data install-data-am install-dvi \
 	install-dvi-am install-exec install-exec-am install-html \
 	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkglibDATA \
+	install-pdf install-pdf-am install-pkgdataDATA \
 	install-pkglibLTLIBRARIES install-ps install-ps-am \
 	install-strip installcheck installcheck-am installdirs \
 	maintainer-clean maintainer-clean-generic mostlyclean \
 	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
 	pdf pdf-am ps ps-am tags uninstall uninstall-am \
-	uninstall-binPROGRAMS uninstall-pkglibDATA \
+	uninstall-binPROGRAMS uninstall-pkgdataDATA \
 	uninstall-pkglibLTLIBRARIES
 
 
@@ -1629,19 +1543,19 @@ ppl_gprolog.pl: $(interface_generator_dependencies)
 ppl_gprolog$(EXEEXT): libppl_gprolog.la ppl_gprolog.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 gp_clpq: libppl_gprolog.la ppl_gprolog.pl gp_clpq.pl ../tests/clpq.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(srcdir)/gp_clpq.pl \
 		$(srcdir)/../tests/clpq.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 gp_clpq2: libppl_gprolog.la ppl_gprolog.pl gp_clpq.pl ../tests/clpq2.pl
 	gplc --c-compiler $(CXX) -o $@ \
 		ppl_gprolog.pl $(srcdir)/gp_clpq.pl \
 		$(srcdir)/../tests/clpq2.pl $(LIBPPL_GPROLOG) \
-		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl $(WATCHDOG_LINK_OPTIONS) -lgmpxx -lgmp'
+		-L '$(AM_CXXFLAGS) $(CXXFLAGS) -L$(top_builddir)/src/.libs -lppl -lgmpxx -lgmp'
 
 check-local: pl_check_test clpq_test clpq2_test ppl_prolog_generated_test
 
@@ -1651,7 +1565,6 @@ pl_check_test: gnu_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	echo "main." >>script_pchk
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./ppl_gprolog <script_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
@@ -1662,7 +1575,6 @@ $(CLPQ_TESTS):
 clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./gp_clpq <$(SCRIPT_CLPQ) >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
@@ -1670,7 +1582,6 @@ clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./gp_clpq2 <$(SCRIPT_CLPQ2) >obtained_clpq2
 	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
@@ -1686,7 +1597,6 @@ ppl_prolog_generated_test: gnu_prolog_generated_test.pl  ../tests/ppl_prolog_gen
 	echo "main." >>script_pgt
 	GLOBALSZ=131072 $(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_gprolog.la \
 		./ppl_gprolog <script_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/GNU/README.gprolog b/interfaces/Prolog/GNU/README.gprolog
index 4acb035..5ce3af5 100644
--- a/interfaces/Prolog/GNU/README.gprolog
+++ b/interfaces/Prolog/GNU/README.gprolog
@@ -1,3 +1,15 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+
 The GNU Prolog interface to the Parma Polyhedra Library (PPL)
 is available both as a PPL-enhanced GNU Prolog interpreter and as a
 library that can be linked to GNU Prolog programs.  Only GNU Prolog
diff --git a/interfaces/Prolog/GNU/gnu_pl_check.pl b/interfaces/Prolog/GNU/gnu_pl_check.pl
index 499cc6a..95ed0a6 100644
--- a/interfaces/Prolog/GNU/gnu_pl_check.pl
+++ b/interfaces/Prolog/GNU/gnu_pl_check.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 prolog_system('GNU').
 
diff --git a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
index 4dbe4a6..54d65d0 100644
--- a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
+++ b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 prolog_system('GNU').
 
diff --git a/interfaces/Prolog/GNU/gp_clpq.pl b/interfaces/Prolog/GNU/gp_clpq.pl
index 9faed7c..2c93c01 100644
--- a/interfaces/Prolog/GNU/gp_clpq.pl
+++ b/interfaces/Prolog/GNU/gp_clpq.pl
@@ -1,6 +1,6 @@
 /* Main program for the toy PPL/GNU-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- initialization(main).
 
diff --git a/interfaces/Prolog/GNU/gprolog_cfli.hh b/interfaces/Prolog/GNU/gprolog_cfli.hh
index eb569a0..975acd6 100644
--- a/interfaces/Prolog/GNU/gprolog_cfli.hh
+++ b/interfaces/Prolog/GNU/gprolog_cfli.hh
@@ -1,6 +1,6 @@
 /* GNU Prolog Common Foreign Language Interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_gprolog_cfli_hh
 #define PCFLI_gprolog_cfli_hh 1
diff --git a/interfaces/Prolog/GNU/gprolog_efli.cc b/interfaces/Prolog/GNU/gprolog_efli.cc
index 10c0696..b2ee0f8 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.cc
+++ b/interfaces/Prolog/GNU/gprolog_efli.cc
@@ -1,6 +1,6 @@
 /* GNU Prolog extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "gprolog_efli.hh"
 #include "ppl_prolog_common.defs.hh"
diff --git a/interfaces/Prolog/GNU/gprolog_efli.hh b/interfaces/Prolog/GNU/gprolog_efli.hh
index 749a302..e8c883e 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.hh
+++ b/interfaces/Prolog/GNU/gprolog_efli.hh
@@ -1,6 +1,6 @@
 /* GNU Prolog extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_gprolog_efli_hh
 #define PPL_gprolog_efli_hh 1
diff --git a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
index 009f307..7420b0c 100644
--- a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+++ b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_gprolog.pl.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
index 01ff149..7bc2dda 100644
--- a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for GNU Prolog.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "gprolog_efli.hh"
 
diff --git a/interfaces/Prolog/Makefile.am b/interfaces/Prolog/Makefile.am
index a4cad74..f057fce 100644
--- a/interfaces/Prolog/Makefile.am
+++ b/interfaces/Prolog/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if BUILD_CIAO_PROLOG_INTERFACE
 CIAO_PROLOG_SUBDIR = Ciao
@@ -64,17 +64,22 @@ ppl_interface_generator_prolog_systems.m4
 
 interface_generator_dox_files = \
 ppl_interface_generator_prolog_dox.m4 \
-ppl_interface_generator_prolog_dox_code.m4 \
-ppl_prolog_sysdep_dox \
-ppl_prolog_sysindep_dox
+ppl_interface_generator_prolog_dox_code.m4
+
 
 EXTRA_DIST = \
 $(interface_generator_files) \
 ppl_prolog_common.defs.hh \
 ppl_prolog_common.inlines.hh \
 ppl_prolog_common.cc \
+Prolog_configured_interface.dox \
 $(interface_generator_dox_files) \
-Prolog_interface.dox
+Prolog_interface.dox \
+Prolog_interface_sysindep.dox \
+Prolog_interface_sysindep_domains.dox \
+Prolog_interface_compilation.dox \
+Prolog_interface_sysdep.dox
+
 
 interface_generator_dox_dependencies = \
 ../ppl_interface_generator_common.m4 \
@@ -83,33 +88,28 @@ interface_generator_dox_dependencies = \
 ../ppl_interface_generator_common_procedure_generators.m4 \
 ppl_interface_generator_prolog_procedure_generators.m4 \
 ppl_interface_generator_prolog_dox.m4 \
-ppl_interface_generator_prolog_dox_code.m4 \
-ppl_prolog_sysdep_dox \
-ppl_prolog_sysindep_dox
+ppl_interface_generator_prolog_dox_code.m4
 
-Prolog_configured_interface.dox: \
+Prolog_configured_domains.dox: \
 $(interface_generator_dox_dependencies) Makefile
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_dox.m4 \
-                > Prolog_configured_interface.dox
+                > Prolog_configured_domains.dox
 
 BUILT_SOURCES = \
 ppl_prolog_domains.hh \
 ppl_prolog_domains.cc.stamp
 
-nodist_noinst_DATA = Prolog_configured_interface.dox
+nodist_noinst_DATA = Prolog_configured_domains.dox
 
 interface_generator_dependencies = \
+$(interface_generator_files) \
+$(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
 ../ppl_interface_generator_copyright \
-../ppl_interface_generator_common_procedure_generators.m4 \
-ppl_interface_generator_prolog_procedure_generators.m4 \
-$(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
-ppl_interface_generator_prolog_hh_files.m4 \
-ppl_interface_generator_prolog_hh_code.m4 \
-ppl_interface_generator_prolog_cc_files.m4 \
-ppl_interface_generator_prolog_cc_code.m4
+../ppl_interface_generator_common_procedure_generators.m4
+
 
 ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
@@ -133,7 +133,7 @@ CLEANFILES = \
 @required_instantiations_prolog_cxx_sources@ \
 ppl_prolog_domains.cc.stamp \
 ppl_prolog_domains.hh \
-Prolog_configured_interface.dox
+Prolog_configured_domains.dox
 
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/interfaces ppl_interface_instantiations.m4
diff --git a/interfaces/Prolog/Makefile.in b/interfaces/Prolog/Makefile.in
index 0d80cfe..2955e81 100644
--- a/interfaces/Prolog/Makefile.in
+++ b/interfaces/Prolog/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -69,38 +69,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -169,6 +164,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -193,21 +189,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -263,6 +254,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -331,7 +323,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -367,17 +358,20 @@ ppl_interface_generator_prolog_systems.m4
 
 interface_generator_dox_files = \
 ppl_interface_generator_prolog_dox.m4 \
-ppl_interface_generator_prolog_dox_code.m4 \
-ppl_prolog_sysdep_dox \
-ppl_prolog_sysindep_dox
+ppl_interface_generator_prolog_dox_code.m4
 
 EXTRA_DIST = \
 $(interface_generator_files) \
 ppl_prolog_common.defs.hh \
 ppl_prolog_common.inlines.hh \
 ppl_prolog_common.cc \
+Prolog_configured_interface.dox \
 $(interface_generator_dox_files) \
-Prolog_interface.dox
+Prolog_interface.dox \
+Prolog_interface_sysindep.dox \
+Prolog_interface_sysindep_domains.dox \
+Prolog_interface_compilation.dox \
+Prolog_interface_sysdep.dox
 
 interface_generator_dox_dependencies = \
 ../ppl_interface_generator_common.m4 \
@@ -386,33 +380,27 @@ interface_generator_dox_dependencies = \
 ../ppl_interface_generator_common_procedure_generators.m4 \
 ppl_interface_generator_prolog_procedure_generators.m4 \
 ppl_interface_generator_prolog_dox.m4 \
-ppl_interface_generator_prolog_dox_code.m4 \
-ppl_prolog_sysdep_dox \
-ppl_prolog_sysindep_dox
+ppl_interface_generator_prolog_dox_code.m4
 
 BUILT_SOURCES = \
 ppl_prolog_domains.hh \
 ppl_prolog_domains.cc.stamp
 
-nodist_noinst_DATA = Prolog_configured_interface.dox
+nodist_noinst_DATA = Prolog_configured_domains.dox
 interface_generator_dependencies = \
+$(interface_generator_files) \
+$(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../ppl_interface_generator_common.m4 \
 ../ppl_interface_generator_common_dat.m4 \
 ../ppl_interface_generator_copyright \
-../ppl_interface_generator_common_procedure_generators.m4 \
-ppl_interface_generator_prolog_procedure_generators.m4 \
-$(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
-ppl_interface_generator_prolog_hh_files.m4 \
-ppl_interface_generator_prolog_hh_code.m4 \
-ppl_interface_generator_prolog_cc_files.m4 \
-ppl_interface_generator_prolog_cc_code.m4
+../ppl_interface_generator_common_procedure_generators.m4
 
 CLEANFILES = \
 @required_instantiations_prolog_cxx_headers@ \
 @required_instantiations_prolog_cxx_sources@ \
 ppl_prolog_domains.cc.stamp \
 ppl_prolog_domains.hh \
-Prolog_configured_interface.dox
+Prolog_configured_domains.dox
 
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -665,10 +653,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
@@ -767,11 +760,11 @@ uninstall-am:
 	uninstall uninstall-am
 
 
-Prolog_configured_interface.dox: \
+Prolog_configured_domains.dox: \
 $(interface_generator_dox_dependencies) Makefile
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_dox.m4 \
-                > Prolog_configured_interface.dox
+                > Prolog_configured_domains.dox
 
 ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
diff --git a/interfaces/Prolog/Prolog_configured_interface.dox b/interfaces/Prolog/Prolog_configured_interface.dox
new file mode 100644
index 0000000..1480f17
--- /dev/null
+++ b/interfaces/Prolog/Prolog_configured_interface.dox
@@ -0,0 +1,63 @@
+/* Configuration Dependent Documentation for Prolog.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+/*!
+  \defgroup PPL_Prolog_interface Prolog Language Interface
+
+  The Parma Polyhedra Library comes equipped with an interface
+  for the Prolog language.
+*/
+
+/*! \mainpage Prolog Language Interface
+
+The Parma Polyhedra Library comes equipped with a Prolog interface.
+Despite the lack of standardization of Prolog's foreign language interfaces,
+the PPL Prolog interface supports several Prolog systems and, to the
+extent this is possible, provides a uniform view of the library from
+each such system.
+
+The structure of the Prolog interface manual is as follows:
+- System-Independent Features
+    - \ref prolog_interface_overview "Overview"
+    - \ref predicate_specifications "Predicate Specifications"
+    - \ref di_predicates "Domain Independent Predicates"
+    - \ref mip_predicates "Predicates for MIP_Problem"
+    - \ref pip_predicates "Predicates for PIP_Problem"
+    - \ref configured_domains_predicates "Predicates for Configured Domains"
+- \ref PI_Compilation "Compilation and Installation"
+- \ref PI_SD_Features "System-Dependent Features"
+    - \ref GNU_Prolog "GNU Prolog"
+    - \ref CIAO_Prolog "CIAO Prolog"
+    - \ref SICStus_Prolog "SICStus Prolog"
+    - \ref SWI_Prolog "SWI Prolog"
+    - \ref XSB_Prolog "XSB"
+    - \ref YAP_Prolog "YAP"
+
+In all the Prolog interface documentation pages,
+<CODE>prefix</CODE> is the prefix under which
+you have installed the library (typically <CODE>/usr</CODE>
+or <CODE>/usr/local</CODE>).
+
+*/ /* \mainpage */
+
+
diff --git a/interfaces/Prolog/Prolog_interface.dox b/interfaces/Prolog/Prolog_interface.dox
index 672f7b0..11aeaa4 100644
--- a/interfaces/Prolog/Prolog_interface.dox
+++ b/interfaces/Prolog/Prolog_interface.dox
@@ -1,6 +1,6 @@
 /* Configuration Independent Documentation for Prolog.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 /*!
   \defgroup PPL_Prolog_interface Prolog Language Interface
@@ -36,24 +36,15 @@ the PPL Prolog interface supports several Prolog systems and, to the
 extent this is possible, provides a uniform view of the library from
 each such system.
 
-The system-independent features of the library are described in
-Section \ref PI_SI_Features "System-Independent Features".
-Section \ref PI_Compilation "Compilation and Installation"
-explains how the Prolog interface is compiled and installed.
-Section \ref PI_SD_Features "System-Dependent Features"
-illustrates the system-dependent features of the interface
-for all the supported systems.
-
-The structure of this section is as follows:
-- \ref PI_SI_Features "System-Independent Features"
-    - \ref Prolog_Interface_Overview "Overview"
-    - \ref Predicate_Specifications "Predicate Specifications"
-    - \ref predicate_descriptions "Predicate Descriptions"
-        - \ref di_predicates "Domain Independent Predicates"
-        - \ref mip_predicates "MIP Predicates"
-        - \ref pip_predicates "PIP Predicates"
-        - \ref Polyhedron_predicates "Predicates for C Polyhedra"
-        - \ref other_domains "Ad hoc Predicates for Other Domains"
+The structure of the Prolog interface manual is as follows:
+- System-Independent Features
+    - \ref prolog_interface_overview "Overview"
+    - \ref predicate_specifications "Predicate Specifications"
+    - \ref di_predicates "Domain Independent Predicates"
+    - \ref mip_predicates "Predicates for MIP_Problem"
+    - \ref pip_predicates "Predicates for PIP_Problem"
+    - \ref c_polyhedron_predicates "Predicates for C Polyhedra"
+    - \ref other_domains_predicates "Ad hoc Predicates for Other Domains"
 - \ref PI_Compilation "Compilation and Installation"
 - \ref PI_SD_Features "System-Dependent Features"
     - \ref GNU_Prolog "GNU Prolog"
@@ -63,2036 +54,11 @@ The structure of this section is as follows:
     - \ref XSB_Prolog "XSB"
     - \ref YAP_Prolog "YAP"
 
-In the sequel, <CODE>prefix</CODE> is the prefix under which
+In all the Prolog interface documentation pages,
+<CODE>prefix</CODE> is the prefix under which
 you have installed the library (typically <CODE>/usr</CODE>
 or <CODE>/usr/local</CODE>).
 
-\anchor PI_SI_Features
-<H1>System-Independent Features</H1>
-
-The Prolog interface provides access to the numerical abstractions
-(convex polyhedra, BD shapes, octagonal shapes, etc.) implemented
-by the PPL library.
-A general introduction to the numerical abstractions,
-their representation in the PPL and the operations provided
-by the PPL is given in the main \extref{preamble, PPL user manual}.
-Here we just describe those aspects that are specific to the Prolog interface.
-
-\anchor Prolog_Interface_Overview
-<H2>Overview</H2>
-
-First, here is a list of notes with general information and advice
-on the use of the interface.
-
-- The numerical abstract domains available to the Prolog user consist
-  of the <EM>simple</EM> domains, <EM>powersets</EM> of a simple domain and
-  <EM>products</EM> of simple domains.
-  - The simple domains are:
-     - convex polyhedra, which consist of C_Polyhedron and
-       NNC_Polyhedron;<BR>
-     - weakly relational, which consist of BD_Shape_N and
-       Octagonal_Shape_N
-       where N is one of the numeric types
-       int8, int16, int32, int64, mpz_class, mpq_class,
-       float, double, long_double;<BR>
-     - boxes which consist of
-       Int8_Box, Int16_Box,
-       Int32_Box, Int64_Box,
-       Uint8_Box, Uint16_Box,
-       Uint32_Box, Uint64_Box,
-       Double_Box, Long_Double_Box,
-       Z_Box, Rational_Box, Float_Box; and<BR>
-     - the Grid domain.
-  - The powerset domains are Pointset_Powerset_S where S is
-    a simple domain.
-  - The product domains consist of
-    Direct_Product_S_T,
-    Smash_Product_S_T,
-    Constraints_Product_S_T and
-    Shape_Preserving_Product_S_T where S
-    and T are simple domains.
-- In the following, any of the above numerical
-  abstract domains  is called a PPL <EM>domain</EM>
-  and any element of a PPL domain is called a <EM>PPL object</EM>.
-- The Prolog interface to the PPL is initialized and finalized by the
-  predicates <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>.
-  Thus the only interface predicates callable after
-  <CODE>ppl_finalize/0</CODE> are <CODE>ppl_finalize/0</CODE> itself
-  (this further call has no effect) and <CODE>ppl_initialize/0</CODE>,
-  after which the interface's services are usable again.
-  Some Prolog systems allow the specification of initialization
-  and deinitialization functions in their foreign language interfaces.
-  The corresponding incarnations of the Prolog interface
-  have been written so that <CODE>ppl_initialize/0</CODE> and/or
-  <CODE>ppl_finalize/0</CODE> are called automatically.
-  Section \ref PI_SD_Features "System-Dependent Features" will detail
-  in which cases initialization and finalization is automatically
-  performed or is left to the Prolog programmer's responsibility.
-  However, for portable applications, it is best
-  to invoke <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>
-  explicitly: since they can be called multiple times without problems,
-  this will result in enhanced portability at a cost that is, by all means,
-  negligible.
-- A PPL object such as a polyhedron can only be accessed
-  by means of a Prolog term called a <EM>handle</EM>.
-  Note, however, that the data structure of a handle,
-  is implementation-dependent, system-dependent and
-  version-dependent, and, for this reason, deliberately left unspecified.
-  What we do guarantee is that the handle requires very little memory.
-- A Prolog term can be bound to a valid handle for a PPL object by using
-  predicates such as
-\code
-  ppl_new_C_Polyhedron_from_space_dimension/3,
-  ppl_new_C_Polyhedron_from_C_Polyhedron/2,
-  ppl_new_C_Polyhedron_from_constraints/2,
-  ppl_new_C_Polyhedron_from_generators/2,
-\endcode
-  These predicates will create or copy a PPL polyhedron
-  and construct a valid handle for referencing it.
-  The last argument is a Prolog term that is
-  unified with a new valid handle for accessing this polyhedron.
-
-- As soon as a PPL object is no longer required,
-  the memory occupied by it should be released
-  using the PPL predicate such as <CODE>ppl_delete_Polyhedron/1</CODE>.
-  To understand why this is important,
-  consider a Prolog program and a variable that is bound to
-  a Herbrand term.
-  When the variable dies (goes out of scope) or is uninstantiated
-  (on backtracking), the term it is bound to is amenable to garbage collection.
-  But this only applies for the standard domain of the language:
-  Herbrand terms.
-  In Prolog+PPL, when, for example,
-  a variable bound to a handle for a Polyhedron dies
-  or is uninstantiated,
-  the handle can be garbage-collected, but the polyhedron to which
-  the handle refers will not be released.
-  Once a handle has been used as an argument in
-  <CODE>ppl_delete_Polyhedron/1</CODE>,
-  it becomes invalid.
-- For a PPL object with space dimension \p k,
-  the identifiers used for the PPL variables
-  must lie between 0 and \f$k-1\f$ and correspond to the indices of the
-  associated Cartesian axes.
-  For example, when using the predicates that combine PPL polyhedra
-  or add constraints or generators to a representation of
-  a PPL polyhedron,
-  the polyhedra referenced and any constraints or generators in the call
-  should follow all the (space) dimension-compatibility rules stated in
-  Section \extref{representation, Representations of Convex Polyhedra}
-  of the main \extref{preamble, PPL user manual}.
-- As explained above, a polyhedron has a fixed topology C or NNC,
-  that is determined at the time of its initialization.
-  All subsequent operations on the polyhedron must respect all the
-  topological compatibility rules stated in Section
-  \extref{representation, Representations of Convex Polyhedra}
-  of the main \extref{preamble, PPL user manual}.
-- Any application using the PPL should make sure that only the
-  intended version(s) of the library are ever used.
-  Predicates
-\code
-  ppl_version_major/1,
-  ppl_version_minor/1,
-  ppl_version_revision/1,
-  ppl_version_beta/1,
-  ppl_version/1,
-  ppl_banner.
-\endcode
-  allow run-time checking of information about the version being used.
-
-\anchor Predicate_Specifications
-<H2>Predicate Specifications</H2>
-
-The PPL predicates provided by the Prolog interface are specified below.
-The specification uses the following grammar rules:
-\code
-
- Number      --> unsigned integer	ranging from 0 to an upper bound
-					depending on the actual Prolog system.
-
- C_int       --> Number | - Number	C integer
-
- C_unsigned  --> Number			C unsigned integer
-
- Coeff       --> Number			used in linear expressions;
-					the upper bound will depend on how
-					the PPL has been configured
-
- Dimension_Type
-             --> Number			used for the number of affine and
-					space dimensions and the names of
- 					the dimensions;
-					the upper bound will depend on
-					the maximum number of dimensions
-					allowed by the PPL
-					(see ppl_max_space_dimensions/1)
-
- Boolean     --> true | false
-
- Handle      --> Prolog term		used to identify a Polyhedron
-
- Topology    --> c | nnc		Polyhedral kind;
-					c is closed and nnc is NNC
-
- VarId       --> Dimension_Type 	variable identifier
-
- PPL_Var     --> '$VAR'(VarId)		PPL variable
-
- Lin_Expr    --> PPL_Var		PPL variable
-            | Coeff
-            | Lin_Expr			unary plus
-            | - Lin_Expr		unary minus
-            | Lin_Expr + Lin_Expr	addition
-            | Lin_Expr - Lin_Expr	subtraction
-            | Coeff * Lin_Expr	        multiplication
-            | Lin_Expr * Coeff	        multiplication
-
- Relation_Symbol --> =			equals
-            | =< 			less than or equal
-            | >=			greater than or equal
-            | < 			strictly less than
-            | > 			strictly greater than
-
- Constraint  --> Lin_Expr Relation_Symbol Lin_Expr
-					constraint
-
- Constraint_System			list of constraints
-             --> []
-            | [Constraint | Constraint_System]
-
- Modulus     --> Coeff | - Coeff
-
- Congruence  --> Lin_Expr =:= Lin_Expr  congruence with modulo 1
-            | (Lin_Expr =:= Lin_Expr) / Modulus
-                                        congruence with modulo Modulus
-
- Congruence_System			list of congruences
-             --> []
-            | [Congruence | Congruence_System]
-
- Generator_Denominator --> Coeff	must be non-zero
-	    | - Coeff
-
- Generator   --> point(Lin_Expr)	point
-            | point(Lin_Expr, Generator_Denominator)
-					point
-            | closure_point(Lin_Expr)	closure point
-            | closure_point(Lin_Expr, Generator_Denominator)
-					closure point
-            | ray(Lin_Expr)		ray
-            | line(Lin_Expr)		line
-
- Generator_System			list of generators
-             --> []
-	    | [Generator | Generator_System]
-
- Grid_Generator
-             --> grid_point(Lin_Expr)	grid point
-            | grid_point(Lin_Expr, Generator_Denominator)
-					grid point
-            | parameter(Lin_Expr)	parameter
-            | parameter(Lin_Expr, Generator_Denominator)
-                                        parameter
-            | grid_line(Lin_Expr)       grid line
-
- Grid_Generator_System			list of grid generators
-             --> []
-	    | [Grid_Generator | Grid_Generator_System]
-
- Artificial_Parameter  --> Lin_Expr / Coeff
-
- Artificial_Parameter_List --> []
-	    | [Artificial_Parameter | Artificial_Parameter_List]
-
- Atom        --> Prolog atom
-
- Universe_or_Empty			PPL object
-             --> universe | empty
-
- Poly_Relation --> is_disjoint          with a constraint or congruence
-	    | strictly_intersects	with a constraint or congruence
-	    | is_included		with a constraint or congruence
-	    | saturates			with a constraint or congruence
-            | subsumes			with a (grid) generator
-
- Relation_List --> []
-	    | [Poly_Relation | Relation_List]
-
- Complexity  --> polynomial | simplex | any
-
- Vars_Pair   --> PPLVar - PPLVar        map relation
-
- P_Func      --> []    			list of map relations
-            | [Vars_Pair | P_Func].
-
- Width  --> bits_8 | bits_16 | bits_32 | bits_64 | bits_128
-
- Representation  --> unsigned | signed_2_complement
-
- Overflow  --> overflow_wraps | overflow_undefined | overflow_impossible
-
- Optimization_Mode --> max | min
-
- Problem_Status --> unfeasible
-            | unbounded
-            | optimized
-
- Control_Parameter_Name --> pricing            for MIP problems
-                        | control_strategy     for PIP problems
-                        | pivot_row_strategy   for PIP problems
-
- Control_Parameter_Value
-             --> pricing_steepest_edge_float
-            | pricing_steepest_edge_exact
-            | pricing_textbook
-            | control_strategy_first
-            | control_strategy_deepest
-            | control_strategy_all
-            | pivot_row_strategy_first
-            | pivot_row_strategy_max_column
-
- Vars_List   --> []    			list of PPL variables
-            | [PPL_Var | Vars_List].
-\endcode
-
-\anchor predicate_descriptions
-<H2> Predicate Descriptions </H2>
-
-Below is a short description of many of the interface predicates.
-For full definitions of terminology used here,
-see the main \extref{preamble, PPL user manual}.
-
-\anchor di_predicates
-<H3> Domain Independent Predicates </H3>
-
-First we describe the domain independent predicates
-that are included with all instantiations of the Prolog interfaces.
-
-<P><CODE> ppl_version_major(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the major number of the PPL version.</EM>
-
-<P><CODE> ppl_version_minor(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the minor number of the PPL version.</EM>
-
-<P><CODE> ppl_version_revision(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the revision number
-  of the PPL version.</EM>
-
-<P><CODE> ppl_version_beta(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the beta number of the PPL version.</EM>
-
-<P><CODE> ppl_version(?Atom) </CODE><BR>
-  <EM>Unifies <CODE>Atom</CODE> with the PPL version.</EM>
-
-<P><CODE> ppl_banner(?Atom) </CODE><BR>
-  <EM>Unifies <CODE>Atom</CODE> with
-  information about the PPL version, the licensing, the lack of any
-  warranty whatsoever, the C++ compiler used to build the library,
-  where to report bugs and where to look for further information.</EM>
-
-<P><CODE> ppl_Coefficient_bits(?Bits) </CODE><BR>
-
-  <EM>Unifies <CODE>Bits</CODE> with the number of bits used to encode a
-  Coefficient in the C++ interface; 0 if unbounded.</EM>
-
-<P><CODE> ppl_Coefficient_is_bounded </CODE><BR>
-
-  <EM>Succeeds if and only if the Coefficients in the C++ interface are bounded.</EM>
-
-<P><CODE> ppl_Coefficient_max(Max) </CODE><BR>
-
-  <EM>If the Coefficients in the C++ interface are bounded,
-  then the maximum coefficient the C++ interface can handle is
-  unified with <CODE>Max</Code>.
-  If the Prolog system cannot handle this coefficient, then
-  an exception is thrown.
-  It fails if the Coefficients in the C++ interface are unbounded.</EM>
-
-<P><CODE> ppl_Coefficient_min(Min) </CODE><BR>
-
-  <EM>If the Coefficients in the C++ interface are bounded,
-  then the minimum coefficient the C++ interface can handle is
-  unified with <CODE>Min</Code>.
-  If the Prolog system cannot handle this coefficient, then
-  an exception is thrown.
-  It fails if the Coefficients in the C++ interface are unbounded.</EM>
-
-<P><CODE> ppl_max_space_dimension(?Dimension_Type) </CODE><BR>
-
-  <EM>Unifies <CODE>Dimension_Type</CODE> with the maximum space dimension
-  this library can handle.</EM>
-
-<P><CODE>
-  ppl_initialize
- </CODE><BR>
-
-  <EM>Initializes the PPL interface.
-  Multiple calls to <CODE>ppl_initialize</CODE> does no harm.</EM>
-
-<P><CODE>
-  ppl_finalize
- </CODE><BR>
-
-  <EM>Finalizes the PPL interface.
-  Once this is executed, the next call to an interface predicate must
-  either be to <CODE>ppl_initialize</CODE> or to <CODE>ppl_finalize</CODE>.
-  Multiple calls to <CODE>ppl_finalize</CODE> does no harm.</EM>
-
-<P><CODE> ppl_set_timeout_exception_atom(+Atom) </CODE><BR>
-
-   <EM>Sets the atom to be thrown by timeout exceptions
-   to <CODE>Atom</CODE>.
-   The default value is <CODE>time_out</CODE>.</EM>
-
-<P><CODE> ppl_timeout_exception_atom(?Atom) </CODE><BR>
-
-   <EM>The atom to be thrown by timeout exceptions
-   is unified with <CODE>Atom</CODE>.</EM>
-
-<P><CODE> ppl_set_timeout(+Hsecs) </CODE><BR>
-
-   <EM>Computations taking exponential time will be interrupted
-   some time after <CODE>Hsecs</CODE> hundreths of seconds after that call.
-   If the computation is interrupted that way, the current timeout
-   exception atom will be thrown.
-   <CODE>Hsecs</CODE> must be strictly greater than zero.</EM>
-
-<P><CODE> ppl_reset_timeout </CODE><BR>
-
-   <EM>Resets the timeout time so that the computation is not interrupted.</EM>
-
-<P><CODE> ppl_set_deterministic_timeout(+Weight) </CODE><BR>
-
-   <EM>Computations taking exponential time will be interrupted
-   some time after reaching the <CODE>Weight</CODE> complexity threshold.
-   If the computation is interrupted that way, the current timeout
-   exception atom will be thrown.
-   <CODE>Weight</CODE> must be strictly greater than zero.</EM>
-   <P>
-   <EM>NOTE:</EM> This "timeout" checking functionality is said to be
-   <EM>deterministic</EM> because it is not based on actual elapsed time.
-   Its behavior will only depend on (some of the) computations performed
-   in the PPL library and it will be otherwise independent from the
-   computation environment (CPU, operating system, compiler, etc.).
-   The weight mechanism is under alpha testing: client applications
-   should be ready to reconsider the tuning of these weight thresholds
-   when upgrading to newer version of the PPL.
-
-<P><CODE> ppl_reset_deterministic_timeout </CODE><BR>
-
-   <EM>Resets the deterministic timeout so that the computation is not
-   interrupted.</EM>
-
-<P><CODE> ppl_set_rounding_for_PPL </CODE><BR>
-
-   <EM>Sets the FPU rounding mode so that the PPL abstractions based on
-  floating point numbers work correctly.
-  This is performed automatically at initialization-time.  Calling
-  this function is needed only if restore_pre_PPL_rounding() has
-  previously been called.</EM>
-
-
-<P><CODE> ppl_restore_pre_PPL_rounding </CODE><BR>
-
-   <EM>Sets the FPU rounding mode as it was before initialization of the PPL.
-  After calling this function it is absolutely necessary to call
-  set_rounding_for_PPL() before using any PPL abstractions based on
-  floating point numbers.
-  This is performed automatically at finalization-time.</EM>
-
-<P><CODE> ppl_irrational_precision(?Precision) </CODE><BR>
-
-  <EM>Unifies <CODE>Precision</CODE> with the precision parameter for
-  irrational calculations.</EM>
-
-<P><CODE> ppl_set_irrational_precision(+Precision) </CODE><BR>
-
-  <EM>Sets the precision parameter for irrational calculations to
-  <CODE>Precision</CODE>. In the following irrational calculations
-  returning an unbounded rational (e.g., when computing a square root),
-  the lesser between numerator and denominator will be limited to
-  <CODE>2**Precision</CODE>.</EM>
-
-
-\anchor mip_predicates
-<H3> MIP Predicates </H3>
-Here we describe the predicates available for PPL objects
-defining mixed integer (linear) programming problems.
-
-<P><CODE>
-  ppl_new_MIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with the feasible region
-   the vector space of dimension <CODE>Dimension_Type</CODE>,
-   objective function \f$0\f$ and optimization mode <CODE>max</CODE>.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_MIP_Problem(+Constraint_System, +Lin_Expr, +Optimization_Mode,
-                      -Handle)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with
-   the feasible region represented by <CODE>Constraint_System</CODE>,
-   objective function <CODE>Lin_Expr</CODE> and optimization mode
-   <CODE>Optimization_Mode</CODE>.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_MIP_Problem_from_MIP_Problem(+Handle_1, -Handle_2)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ from the MIP Problem
-   referenced by \c Handle_1.
-   \c Handle_2 is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_swap(+Handle_1, +Handle_2)
-</CODE><BR>
-
-   <EM>Swaps the MIP Problem referenced by <CODE>Handle_1</CODE>
-   with the one referenced by <CODE>Handle_2</CODE>.</EM>
-
-<P><CODE>
-  ppl_delete_MIP_Problem(+Handle)
-</CODE><BR>
-
-   <EM>Deletes the MIP Problem referenced by <CODE>Handle</CODE>.
-   After execution,
-   <CODE>Handle</CODE> is no longer a valid handle for a PPL MIP Problem.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_space_dimension(+Handle, ?Dimension_Type)
-</CODE><BR>
-
-   <EM>Unifies the dimension of the vector space in which the
-   MIP Problem referenced by <CODE>Handle</CODE> is embedded
-   with <CODE>Dimension_Type</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_integer_space_dimensions(+Handle, ?Vars_List)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
-   the integer space dimensions of the MIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_constraints(+Handle, -Constraint_System)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
-   the constraints in the constraints system
-   representing the feasible region for the MIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_objective_function(+Handle, ?Lin_Expr)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Lin_Expr</CODE> with the objective function
-   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimization_mode(+Handle, ?Optimization_Mode)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Optimization_Mode</CODE> with the optimization mode
-   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_clear(+Handle)
-</CODE><BR>
-
-  <EM>Resets the MIP problem referenced by <CODE>Handle</CODE>
-  to be the trivial problem with
-  the feasible region the \f$0\f$-dimensional universe,
-  objective function \f$0\f$ and optimization mode <CODE>max</CODE>.</EM>
-
-<P><CODE> ppl_MIP_Problem_add_space_dimensions_and_embed(
-             +Handle, +Dimension_Type)
- </CODE><BR>
-
-   <EM>Embeds the MIP problem referenced by <CODE>Handle</CODE>
-   in a space that is enlarged by <CODE>Dimension_Type</CODE> dimensions.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_to_integer_space_dimensions(+Handle, +Vars_List)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the variables in <CODE>Vars_List</CODE> are added to
-   the set of integer space dimensions.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_constraint(+Handle, +Constraint)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with the constraint <CODE>Constraint</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_constraints(+Handle, +Constraint_System)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with all the constraints in
-   <CODE>Constraint_System</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_objective_function(+Handle, +Lin_Expr)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the objective function is changed to <CODE>Lin_Expr</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_control_parameter(+Handle, +Control_Parameter_Value)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the value for the relevant control parameter name is
-   changed to <CODE>Control_Parameter_Value</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_get_control_parameter(+Handle, +Control_Parameter_Name,
-                                        ?Control_Parameter_Value)
-</CODE><BR>
-
-   <EM>Unifies \c Control_Parameter_Value with the value of the
-   control parameter \c Control_Parameter_Name.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_optimization_mode(+Handle, +Optimization_Mode)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the optimization mode is changed to
-   <CODE>Optimization_Mode</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_is_satisfiable(+Handle)
-</CODE><BR>
-
-  <EM>Succeeds if and only if the MIP Problem referenced by
-  <CODE>Handle</CODE> is satisfiable.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_solve(+Handle, ?MIP_Problem_Status)
-</CODE><BR>
-
-  <EM>Solves the MIP problem  referenced by
-  <CODE>Handle</CODE> and unifies <CODE>MIP_Problem_Status</CODE>
-  with:
-  <CODE>unfeasible</CODE>, if the MIP problem is not satisfiable;
-  <CODE>unbounded</CODE>, if the MIP problem is satisfiable but
-  there is no finite bound to the value of the objective function;
-  <CODE>optimized</CODE>, if the MIP problem admits an optimal solution.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_feasible_point(+Handle, ?Generator)
-</CODE><BR>
-
-  <EM>Unifies  <CODE>Generator</CODE> with a feasible point
-  for the MIP problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimizing_point(+Handle, ?Generator)
-</CODE><BR>
-
-  <EM>Unifies  <CODE>Generator</CODE> with an optimizing point for
-  the MIP problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimal_value(+Handle, ?Coeff_1, ?Coeff_2)
-</CODE><BR>
-
-  <EM>Unifies <CODE>Coeff_1</CODE> and <CODE>Coeff_2</CODE>
-  with the numerator and denominator, respectively, for the optimal value
-  for the MIP problem  referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_evaluate_objective_function(+Handle, +Generator,
-                                             ?Coeff_1, ?Coeff_2)
-</CODE><BR>
-  <EM>Evaluates the objective function of the MIP problem  referenced by
-  <CODE>Handle</CODE> at point <CODE>Generator</CODE>.
-  <CODE>Coefficient_1</CODE> is unified with the numerator and
-  <CODE>Coefficient_2</CODE> is unified with the denominator of the
-  objective function value at <CODE>Generator</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_OK(+Handle)
-</CODE><BR>
-
-   <EM>Succeeds only if the MIP Problem referenced by
-   <CODE>Handle</CODE> is well formed, i.e., if it
-   satisfies all its implementation invariants.
-   Useful for debugging purposes.</EM>
-
-<BR>
-
-\anchor pip_predicates
-<H3> PIP Predicates </H3>
-Here we describe some functions available for PPL objects
-defining parametric integer programming problems.
-
-<P><CODE>
-  ppl_new_PIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
-</CODE><BR>
-
-   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ with the
-   feasible region the vector space of dimension <CODE>dimension</CODE>,
-   empty constraint_system and empty set of parametric variables.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_PIP_Problem(+Constraint_System, +Lin_Expr, +Vars_List,
-                      -Handle)
-</CODE><BR>
-
-   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ having space
-   dimension <CODE>dimension</CODE>, a feasible region represented by
-   <CODE>constraint_system</CODE> and parametric variables represented
-   by <CODE>Vars_List</CODE>.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_PIP_Problem_from_PIP_Problem(+Handle_1, -Handle_2)
-</CODE><BR>
-   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ from the PIP Problem
-   referenced by \c Handle_1.
-   \c Handle_2 is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_swap(+Handle_1, +Handle_2)
-</CODE><BR>
-   <EM>Swaps the PIP Problem referenced by <CODE>Handle_1</CODE>
-   with the one referenced by <CODE>Handle_2</CODE>.</EM>
-
-<P><CODE>
-  ppl_delete_PIP_Problem(+Handle)
-</CODE><BR>
-   <EM>Deletes the PIP Problem referenced by <CODE>Handle</CODE>.
-   After execution,
-   <CODE>Handle</CODE> is no longer a valid handle for a PPL PIP Problem.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_space_dimension(+Handle, ?Dimension_Type)
-</CODE><BR>
-   <EM>Unifies the dimension of the vector space in which the
-   PIP Problem referenced by <CODE>Handle</CODE> is embedded
-   with <CODE>Dimension_Type</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_parameter_space_dimensions(+Handle, ?Vars_List)
-</CODE><BR>
-   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
-   the parameter space dimensions of the PIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_constraints(+Handle, ?Constraint_System)
-</CODE><BR>
-   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
-   the constraints in the constraints system
-   representing the feasible region for the PIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_clear(+Handle)
-</CODE><BR>
-  <EM>Resets the PIP problem referenced by <CODE>Handle</CODE>
-  to be the trivial problem with
-  the feasible region the \f$0\f$-dimensional universe.</EM>
-
-<P><CODE> ppl_PIP_Problem_add_space_dimensions_and_embed(
-             +Handle, +Dimension_Type1, +Dimension_Type2)
- </CODE><BR>
-   <EM>Embeds the PIP problem referenced by <CODE>handle</CODE>
-   in a space that is enlarged by <CODE>dimension1</CODE> non-parameter
-   dimensions and <CODE>dimension2</CODE> parameter dimensions.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_add_to_parameter_space_dimensions(+Handle, +Vars_List)
-</CODE><BR>
-   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
-   so that the variables in <CODE>Vars_List</CODE> are added to
-   the set of parameter space dimensions.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_add_constraint(+Handle, +Constraint)
-</CODE><BR>
-   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with the constraint <CODE>Constraint</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_add_constraints(+Handle, +Constraint_System)
-</CODE><BR>
-   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with all the constraints in
-   <CODE>Constraint_System</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_set_big_parameter_dimension(+Handle, +Dimension_Type)
-</CODE><BR>
-
-   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
-       so that the dimension for the big parameter is \p Dimension_Type.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_has_big_parameter_dimension(+Handle, +Dimension_Type)
-</CODE><BR>
-   <EM>Succeeds if and only if the PIP Problem referenced by
-       <CODE>Handle</CODE> has a dimension \p dim for the big parameter
-       and \p Dimension_Type unifies with \p dim.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_is_satisfiable(+Handle)
-</CODE><BR>
-  <EM>Succeeds if and only if the PIP Problem referenced by
-  <CODE>Handle</CODE> is satisfiable.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_solve(+Handle, ?PIP_Problem_Status)
-</CODE><BR>
-  <EM>Solves the PIP problem  referenced by
-  <CODE>Handle</CODE> and unifies <CODE>PIP_Problem_Status</CODE>
-  with:
-  <CODE>unfeasible</CODE>, if the PIP problem is not satisfiable;
-  <CODE>optimized</CODE>, if the PIP problem admits an optimal solution.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_solution(+Handle1, ?Handle2)
-</CODE><BR>
-  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
-  creates a PIP tree node \f$\mathrm{Node}\f$ representing this a solution
-  if it exists and bottom otherwise
-  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_optimizing_solution(+Handle, ?PIP_Tree_Node)
-</CODE><BR>
-  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
-  creates a PIP tree node \f$\mathrm{Node}\f$ representing this an optimizing
-  solution if a solution exists and bottom otherwise
-  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
-
-<P><CODE>ppl_PIP_Problem_ascii_dump(+Handle)</CODE><BR>
-  <EM>Dumps an ascii representation of the PPL internal state for
-  the PIP problem referenced by \c Handle on the standard output.</EM>
-
-<P><CODE>
-  ppl_PIP_Problem_OK(+Handle)
-</CODE><BR>
-   <EM>Succeeds only if the PIP Problem referenced by
-   <CODE>Handle</CODE> is well formed, i.e., if it
-   satisfies all its implementation invariants.
-   Useful for debugging purposes.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_swap(+Handle_1, +Handle_2)
-</CODE><BR>
-   <EM>Swaps the PIP tree node referenced by <CODE>Handle_1</CODE>
-   with the one referenced by <CODE>Handle_2</CODE>.</EM>
-
-<P><CODE>ppl_PIP_Tree_Node_ascii_dump(+Handle)</CODE><BR>
-  <EM>Dumps an ascii representation of the PPL internal state for
-  the PIP tree node referenced by \c Handle on the standard output.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_OK(+Handle)
-</CODE><BR>
-   <EM>Succeeds only if the PIP tree node referenced by
-   <CODE>Handle</CODE> is well formed, i.e., if it
-   satisfies all its implementation invariants.
-   Useful for debugging purposes.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_constraints(+Handle, ?Constraint_System)
-</CODE><BR>
-   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
-   the parameter constraints in the PIP tree node
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_artificials(+Handle, ?Artificial_Parameter_List)
-</CODE><BR>
-   <EM>Unifies <CODE>Artificial_Parameter_List</CODE> with a list of
-   the artificial parameters in the PIP tree node
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_is_bottom(+Handle)
-</CODE><BR>
-   <EM>Succeeds if and only if <CODE>handle</CODE> represents bottom.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_is_decision(+Handle)
-</CODE><BR>
-   <EM>Succeeds if and only if <CODE>handle</CODE> represents
-   a decision node.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_is_solution(+Handle)
-</CODE><BR>
-   <EM>Succeeds if and only if <CODE>handle</CODE> represents
-   a solution node.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_parametric_values(+Handle, +Var, ?Lin_Expr)
-</CODE><BR>
-   <EM>Unifies \p Lin_Expr with a linear expression representing
-   the values of problem variable \p Var in the solution node
-   represented by <CODE>Handle</CODE>.
-   The  linear expression may involve problem parameters
-   as well as artificial parameters.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_true_child(+Handle1, ?Handle2)
-</CODE><BR>
-  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
-   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
-   with the child on the true branch of the
-   PIP tree node represented by <CODE>Handle1</CODE>.
-   An exception is thrown if this is not a decision node.</EM>
-
-<P><CODE>
-  ppl_PIP_Tree_Node_false_child(+Handle1, ?Handle2)
-</CODE><BR>
-  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
-   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
-   with the child on the false branch of the
-   PIP tree node represented by <CODE>Handle1</CODE>.
-   An exception is thrown if this is not a decision node.</EM>
-
-<BR>
-
-\anchor Polyhedron_predicates
-<H1>Predicates for the C Polyhedron Domain</H1>
-  Here we provide a short description for each of the predicates
-  available for the domain of C polyhedra.
-Note that predicates for other domains will follow a similar pattern.
-
-<H2>Constructor, copy, conversion and destructor predicates</H2>
-<H3>Constructor predicates for C polyhedra</H3>
-The constructor predicates build a
-C polyhedron from a specification
-and binds the given variable to a handle for future referencing.
-The specification can be:
-- the number of space dimensions and an atom indicating if it
-  is to be the universe or empty element.
-- a representation for the particular class of semantic geometric
-  descriptors to which the element being built belongs.
-For example,
-  a C Polyhedron can be built from a list of
-  non-strict inequality or equality constraints or a list of equality
-  congruences or a list of generators that contains no closure points.
-
-<P><CODE>ppl_new_C_Polyhedron_from_space_dimension(+Dimension_Type, +Universe_or_Empty, -Handle)</CODE><BR>
-   <EM>Builds a new C polyhedron \f$\cP\f$
-   with \c Dimension_Type dimensions; it is empty
-   or the universe depending on whether \c Atom
-   is \c empty or \c universe, respectively.
-   \c Handle is unified with the handle for \f$\cP\f$.
-   Thus the query
-\code
-   ?- ppl_new_C_Polyhedron_from_space_dimension(3, universe, X).
-\endcode
-   creates the C polyhedron defining the
-   3-dimensional vector space
-   \f$\Rset^3\f$ with \c X bound to a valid handle for accessing it.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_constraints(+Constraint_System, -Handle)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P from
-  \c Constraint_System.
-  \c Handle is unified with the handle for \p P.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_congruences(+Congruence_System, -Handle)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P from
-  \c Congruence_System.
-  \c Handle is unified with the handle for \p P.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_generators(+Generator_System, -Handle)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P from
-  \c Generator_System.
-  \c Handle is unified with the handle for \p P.</EM>
-
-
-<H3>Predicates that build new C polyhedra
-  by copying or converting from
-  other semantic geometric descriptions</H3>
-  Besides the constructors listed above, the library also
-  provides:
-- copy constructors that will copy an element belonging
-  to the same class of semantic geometric descriptions
-- conversion operators that build a new semantic geometric
-  description starting from a \b friend;
-  that is, a semantic geometric description in different class
-  (e.g., ppl_new_Grid_from_C_Polyhedron,
-  ppl_new_C_Polyhedron_from_BD_Shape_mpq_class, etc.).<BR>
-
-  The copy and conversion predicates have two versions,
-  one with arity 2 for the source and target handles and one
-  with an extra argument denoting the maximum complexity to be used
-  in the conversion;
-  this complexity argument is ignored when the
-  the friend and the element being built are in the same class.
-
-<P><CODE>ppl_new_C_Polyhedron_from_C_Polyhedron(+Handle_1, -Handle_2)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P_1 from
-   the c polyhedron referenced by handle \c Handle_1.
-  \c Handle_2 is unified with the handle for \p P_1.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_NNC_Polyhedron(+Handle_1, -Handle_2)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P_1 from
-   the nnc polyhedron referenced by handle \c Handle_1.
-  \c Handle_2 is unified with the handle for \p P_1.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity(+Handle, +Complexity, -Handle)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P_1 from
-   the c polyhedron referenced by handle \c Handle_1
-  using an algorithm whose complexity does not exceed \c Complexity;
-  \c Handle_2 is unified with the handle for \p P_1.</EM>
-
-<P><CODE>ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity(+Handle, +Complexity, -Handle)</CODE><BR>
-  <EM>Builds a new C polyhedron \p P_1 from
-   the nnc polyhedron referenced by handle \c Handle_1
-  using an algorithm whose complexity does not exceed \c Complexity;
-  \c Handle_2 is unified with the handle for \p P_1.</EM>
-
-
-<H3>Destructor predicate</H3>
-Below is the destructor predicate for the Polyhedron domain.
-
-<P><CODE>ppl_delete_Polyhedron(+Handle)</CODE><BR>
-  <EM>Invalidates the handle  referenced by \c Handle:
-  this makes sure the corresponding resources will eventually be released.</EM>
-
-
-<H2>Predicates that do not change the polyhedron</H2>
-<H3>Test Predicates</H3>
-These predicates test the polyhedron for different properties
-and succeed or fail depending on the outcome.
-
-<P><CODE>ppl_Polyhedron_is_empty(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle is empty.</EM>
-
-<P><CODE>ppl_Polyhedron_is_universe(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle is the universe.</EM>
-
-<P><CODE>ppl_Polyhedron_is_bounded(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle is bounded.</EM>
-
-<P><CODE>ppl_Polyhedron_contains_integer_point(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle contains an integer point.</EM>
-
-<P><CODE>ppl_Polyhedron_is_topologically_closed(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle is topologically closed.</EM>
-
-<P><CODE>ppl_Polyhedron_is_discrete(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle is discrete.</EM>
-
-<P><CODE>ppl_Polyhedron_bounds_from_above(+Handle, +Lin_Expr)</CODE><BR>
-   <EM>Succeeds if and only if <CODE>Lin_Expr</CODE> is bounded from above
-   in the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_bounds_from_below(+Handle, +Lin_Expr)</CODE><BR>
-   <EM>Succeeds if and only if <CODE>Lin_Expr</CODE> is bounded from below
-   in the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_contains_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   <CODE>Handle_2</CODE> is included in or equal to
-   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
-
-<P><CODE>ppl_Polyhedron_strictly_contains_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   <CODE>Handle_2</CODE> is included in but not equal to
-   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
-
-<P><CODE>ppl_Polyhedron_is_disjoint_from_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   <CODE>Handle_2</CODE> is disjoint from
-   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
-
-<P><CODE>ppl_Polyhedron_equals_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the polyhedron referenced by
-   <CODE>Handle_1</CODE> is
-   equal to the polyhedron referenced by <CODE>Handle_2</CODE>.</EM>
-
-<P><CODE>ppl_Polyhedron_OK(+Handle)</CODE><BR>
-   <EM>Succeeds only if the polyhedron referenced by
-   \c Handle is well formed, i.e., if it
-   satisfies all its implementation invariants.
-   Useful for debugging purposes.</EM>
-
-<P><CODE>ppl_Polyhedron_constrains(+Handle, +PPL_Var)</CODE><BR>
-  <EM>Succeeds if and only if the polyhedron referenced by
-   \c Handle constrains the dimension \c PPL_Var.</EM>
-
-
-<H3>Predicates that return information about the polyhedron</H3>
-These predicates will obtain more detailed information about the
-polyhedron
-unifying some of their arguments with the results.
-
-<P><CODE>ppl_Polyhedron_space_dimension(+Handle, ?Dimension_Type)</CODE><BR>
-   <EM>Unifies \c Dimension_Type with the dimension of the vector space enclosing
-   the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_affine_dimension(+Handle, ?Dimension_Type)</CODE><BR>
-   <EM>Unifies \c Dimension_Type with the affine dimension of
-   the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_relation_with_constraint(+Handle, +Constraint, ?Relation_List)</CODE><BR>
-  <EM>Unifies \c Relation_List with the list of relations the
-  polyhedron referenced by \c Handle has with \c Constraint.
-  The possible relations are listed in the
-  grammar rules above.</EM>
-
-<P><CODE>ppl_Polyhedron_relation_with_generator(+Handle, +Generator, ?Relation_List)</CODE><BR>
-  <EM>Unifies \c Relation_List with the list of relations the
-  polyhedron referenced by \c Handle has with \c Generator.
-  The possible relations are listed in the
-  grammar rules above.</EM>
-
-<P><CODE>ppl_Polyhedron_relation_with_congruence(+Handle, +Congruence, ?Relation_List)</CODE><BR>
-  <EM>Unifies \c Relation_List with the list of relations the
-  polyhedron referenced by \c Handle has with \c Congruence.
-  The possible relations are listed in the
-  grammar rules above.</EM>
-
-<P><CODE>ppl_Polyhedron_get_constraints(+Handle, ?Constraint_System)</CODE><BR>
-   <EM>Unifies \c Constraint_System with
-   the constraints (in the form of a list) in the constraint system
-   satisfied by the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_get_congruences(+Handle, ?Congruence_System)</CODE><BR>
-   <EM>Unifies \c Congruence_System with
-   the congruences (in the form of a list) in the congruence system
-   satisfied by the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_get_generators(+Handle, ?Generator_System)</CODE><BR>
-   <EM>Unifies \c Generator_System with
-   the generators (in the form of a list) in the generator system
-   for the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_get_minimized_constraints(+Handle, ?Constraint_System)</CODE><BR>
-   <EM>Unifies \c Constraint_System with
-   the constraints (in the form of a list)
-   in the minimized constraint system
-   satisfied by the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_get_minimized_congruences(+Handle, ?Congruence_System)</CODE><BR>
-   <EM>Unifies \c Congruence_System with
-   the congruences (in the form of a list)
-   in the minimized congruence system
-   for the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_get_minimized_generators(+Handle, ?Generator_System)</CODE><BR>
-   <EM>Unifies \c Generator_System with
-   the generators (in the form of a list)
-   in the minimized generator system
-   satisfied by the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_maximize(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
-  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from above in \p P.
-
-  \c Coeff_1 is unified with the numerator of the supremum value
-  and \c Coeff_2 with the denominator of the supremum value.
-  If the supremum is also the maximum, \c Boolean is unified
-  with the atom \c true and, otherwise, unified with
-  the atom \c false.</EM>
-
-<P><CODE>ppl_Polyhedron_minimize(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
-  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from below in \p P.
-
-  \c Coeff_1 is unified with the numerator of the infinum value
-  and \c Coeff_2 with the denominator of the infinum value.
-  If the infinum is also the minimum, \c Boolean is unified
-  with the atom \c true and, otherwise, unified with
-  the atom \c false.</EM>
-
-<P><CODE>ppl_Polyhedron_maximize_with_point(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean, ?Point)</CODE><BR>
-  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from above in \p P.
-
-  \c Coeff_1 is unified with the numerator of the supremum value
-  and \c Coeff_2 with the denominator of the supremum value
-  and \c Point with a point or closure point where \c Lin_Expr reaches
-  this value.
-  If the supremum is also the maximum, \c Boolean is unified
-  with the atom \c true and, otherwise, unified with the
-  atom \c false.</EM>
-
-<P><CODE>ppl_Polyhedron_minimize_with_point(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean, ?Point)</CODE><BR>
-  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from below in \p P.
-
-  \c Coeff_1 is unified with the numerator of the infinum value
-  and \c Coeff_2 with the denominator of the infinum value
-  and \c Point with a point or closure point where \c Lin_Expr reaches
-  this value.
-  If the infinum is also the minimum, \c Boolean is unified
-  with the atom \c true and, otherwise, unified with the
-  atom \c false.</EM>
-
-<P><CODE>ppl_Polyhedron_external_memory_in_bytes(+Handle, ?Number)</CODE><BR>
-<EM>Unifies \c Number with the size of the total memory in
-bytes occupied by the polyhedron referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Polyhedron_total_memory_in_bytes(+Handle, ?Number)</CODE><BR>
-<EM>Unifies \c Number with the size of the external memory in
-bytes occupied by the polyhedron referenced by \c Handle.</EM>
-
-
-<H3>Ascii dump predicate</H3>
-This output predicate is useful for debugging.
-
-<P><CODE>ppl_Polyhedron_ascii_dump(+Handle)</CODE><BR>
-  <EM>Dumps an ascii representation of the PPL internal state for
-  the polyhedron referenced by \c Handle on the standard output.</EM>
-
-
-<H2>Space-dimension preserving predicates that may change
-    the polyhedron</H2>
-These predicates may modify the polyhedron referred to
-by the handle in first argument;
-the (dimension of the) vector space in which it is embedded is unchanged.
-<H3>Predicates that may change the polyhedron by adding
-to its constraint or generator descriptions</H3>
-Note that there are two forms of these predicates
-differentiated in the names by the
-words "add" or "refine with";
-see Section \extref{Generic_Operations_on_Semantic_Geometric_Descriptors, Generic Operations on Semantic Geometric Descriptors} in the
-main \extref{preamble, PPL User Manual}
-for the differences in the semantics and therefore, the expected behavior,
-between these forms.
-
-<P><CODE>ppl_Polyhedron_add_constraint(+Handle, +Constraint)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding
-   \c Constraint to its constraint system.
-   For a C polyhedron, \c Constraint must be
-   an equality or a non-strict inequality.</EM>
-
-<P><CODE>ppl_Polyhedron_add_congruence(+Handle, +Congruence)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding
-   \c Congruence to its congruence system.
-   For a C polyhedron, \c Congruence must be
-   an equality.</EM>
-
-<P><CODE>ppl_Polyhedron_add_generator(+Handle, +Generator)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding
-   \c Generator to its generator system.
-   For a C polyhedron, \c Generator must be
-   a line, ray or point.</EM>
-
-<P><CODE>ppl_Polyhedron_add_constraints(
-                  +Handle,
-                  +Constraint_System)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding to its constraint system the constraints in
-   \c Constraint_System.
-   For a C polyhedron, \c Constraints must be a list of
-   equalities and non-strict inequalities.</EM>
-
-<P><CODE>ppl_Polyhedron_add_congruences(
-                  +Handle,
-                  +Congruence_System)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding to its congruence system the congruences in
-   \c Congruence_System.
-   For a C polyhedron, \c Congruences must be a list of
-   equalities.</EM>
-
-<P><CODE>ppl_Polyhedron_add_generators(
-                  +Handle,
-                  +Generator_System)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by adding to its generator system the generators in
-   \c Generator_System.
-   For a C polyhedron, \c Generators must be a list of
-   lines, rays and points.</EM>
-
-<P><CODE>ppl_Polyhedron_refine_with_constraint(
-                  +Handle,
-                  +Constraint)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by refining its constraint system with
-   \c Constraint.</EM>
-
-<P><CODE>ppl_Polyhedron_refine_with_congruence(
-                  +Handle,
-                  +Congruence)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by refining its congruence system with
-   \c Congruence.</EM>
-
-<P><CODE>ppl_Polyhedron_refine_with_constraints(
-                  +Handle,
-                  +Constraint_System)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by refining its constraint system with
-   the constraints in \c Constraint_System.</EM>
-
-<P><CODE>ppl_Polyhedron_refine_with_congruences(
-                  +Handle,
-                  +Congruence_System)</CODE><BR>
-   <EM>Updates the polyhedron referenced by \c Handle to
-   one obtained by refining its congruence system with
-   the congruences in \c Congruence_System.</EM>
-
-
-<H3>Predicates that transform the polyhedron</H3>
-These predicates enable transformations
-such as taking the topological closure (which for the domain of
-C polyhedron is the identity transformation),
-unconstraining a specified dimension
-as explained in the
-main \extref{preamble, PPL User Manual} in Section
-\extref{Cylindrification, Cylindrification Operator}
-and several different image and preimage affine transfer relations;
-for details of the latter see Sections
-\extref{Images_and_Preimages_of_Affine_Transfer_Relations, Images and Preimages of Affine Transfer Relations}
-and
-\extref{Generalized_Affine_Relations, Generalized Affine Relations}
-<P><CODE>ppl_Polyhedron_topological_closure_assign(+Handle)</CODE><BR>
-  <EM>Assigns to the polyhedron referenced by \c Handle
-  its topological closure.</EM>
-
-<P><CODE>ppl_Polyhedron_unconstrain_space_dimension(+Handle, +PPL_Var)</CODE><BR>
-  <EM>Modifies the polyhedron \p P referenced by \c Handle by unconstraining
-  the space dimension \c PPL_Var.</EM>
-
-<P><CODE>ppl_Polyhedron_unconstrain_space_dimensions(+Handle, +List_of_PPL_Var)</CODE><BR>
-  <EM>Modifies the polyhedron \p P referenced by \c Handle by unconstraining
-  the space dimensions that are specified in \c List_of_PPL_Var.
-  The presence of duplicates in \c List_of_PPL_Var is a waste
-  but an innocuous one.</EM>
-
-<P><CODE>ppl_Polyhedron_affine_image(+Handle, +PPL_Var, +Lin_Expr, +Coeff)</CODE><BR>
-   <EM>Transforms the polyhedron referenced by \c Handle
-   assigning the affine expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
-
-<P><CODE>ppl_Polyhedron_affine_preimage(+Handle, +PPL_Var, +Lin_Expr, +Coeff)</CODE><BR>
-   <EM>Transforms the polyhedron referenced by \c Handle
-   substituting the affine expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_affine_image(+Handle, +PPL_Var, +Lin_Expr_1, +Lin_Expr_2, +Coeff)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized image with respect to the
-  generalized affine transfer relation
-  \c Lin_Expr_1/Coeff
-    \f$\leq\f$ \c PPL_Var
-      \f$\leq\f$ \c Lin_Expr_2/Coeff.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_affine_preimage(+Handle, +PPL_Var, +Lin_Expr_1, +Lin_Expr_2, +Coeff)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized preimage with respect to the
-  generalized affine transfer relation
-  \c Lin_Expr_1/Coeff
-    \f$\leq\f$ \c PPL_Var
-      \f$\leq\f$ \c Lin_Expr_2/Coeff.</EM>
-
-<P><CODE>ppl_Polyhedron_generalized_affine_image(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized image with respect to the
-  generalized affine transfer relation
-   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff,
-   where \f$\bowtie\f$ is the symbol
-   represented by \c Relation_Symbol.</EM>
-
-<P><CODE>ppl_Polyhedron_generalized_affine_preimage(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized preimage with respect to the
-  generalized affine transfer relation
-   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff,
-   where \f$\bowtie\f$ is the symbol
-   represented by \c Relation_Symbol.</EM>
-
-<P><CODE>ppl_Polyhedron_generalized_affine_image_lhs_rhs(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized image with respect to the
-  generalized affine transfer relation
-   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2,
-   where \f$\bowtie\f$ is the symbol
-   represented by \c Relation_Symbol.</EM>
-
-<P><CODE>ppl_Polyhedron_generalized_affine_preimage_lhs_rhs(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2)</CODE><BR>
-  <EM>Assigns to polyhedron \p P referenced by \c Handle
-  the generalized preimage with respect to the
-  generalized affine transfer relation
-   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2,
-   where \f$\bowtie\f$ is the symbol
-   represented by \c Relation_Symbol.</EM>
-
-
-<H3>Predicates whose results depend on more than one polyhedron</H3>
-These predicates include the binary operators which will assign to the
-polyhedron referred to by the first argument
-its combination with the polyhedron referred to by the second argument
-as described in the
-main \extref{preamble, PPL User Manual} in Sections
-\extref{Intersection_and_Convex_Polyhedral_Hull, Intersection and Convex Polyhedral Hull}
-and
-\extref{Convex_Polyhedral_Difference, Convex Polyhedral Difference};
-and a linear partitioning operator described below.
-
-<P><CODE>ppl_Polyhedron_intersection_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the intersection of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_upper_bound_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the upper bound of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_difference_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the difference of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_time_elapse_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the time elapse of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_poly_hull(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the poly-hull of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_poly_difference(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the poly-difference of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_upper_bound_assign_if_exact(+Handle_1, +Handle_2)</CODE><BR>
-    <EM>Succeeds if the least upper bound of the
-    polyhedron \p P_1 referenced by \c Handle_1
-    with the polyhedron referenced by \c Handle_2 is exact;
-    in which case the least upper bound is assigned
-    to \p P_1;
-    fails otherwise.</EM>
-
-<P><CODE>ppl_Polyhedron_poly_hull_assign_if_exact(+Handle_1, +Handle_2)</CODE><BR>
-    <EM>Succeeds if the least upper bound of the
-    polyhedron \p P_1 referenced by \c Handle_1
-    with the polyhedron referenced by \c Handle_2 is exact;
-    in which case the least upper bound is assigned
-    to \p P_1;
-    fails otherwise.</EM>
-
-<P><CODE>ppl_Polyhedron_simplify_using_context_assign(+Handle_1, +Handle_2, ?Boolean)</CODE><BR>
-    <EM>Succeeds if and only if the intersection of polyhedron \p P_1
-    referenced by \c Handle_1 and the polyhedron \p P_2 referenced by \c Handle_2
-    is non-empty.
-    Assigns to \p P_1 its meet-preserving simplification with
-    respect to \p P_2.</EM>
-
-<P><CODE>ppl_Polyhedron_linear_partition(+Handle_1, +Handle_2, -Handle_3,
-                                        -Handle_4)</CODE><BR>
-  <EM>\c Handle_1 and \c Handle_2 are handles for elements \p P_1 and \p P_2
-  in the Polyhedron domain. The predicate unifies handle
-  \c Handle_3 to a reference to the intersection of
-  \p P_1 and \p P_2 and \c Handle_4 to a reference to
-  a pointset powerset of nnc polyhedra \p P_4;
-  where \p P_4 is the linear partition of \p P_1 with respect to \p P_2.
-  This predicate is only provided if the
-  class \c Pointset_Powerset_NNC_Polyhedron
-  has been enabled when configuring the library.</EM>
-
-
-<H3>Predicates for widening and extrapolation</H3>
-In addition to the above binary operators, there are also a number
-of widening, extrapolation and narrowing operators
-as described in the
-main \extref{preamble, PPL User Manual} in Sections
-\extref{Widening_Operators, Widening Operators},
-\extref{Widening_with_Tokens, Widening with Tokens} and
-\extref{Extrapolation_Operators, Extrapolation Operators}.
-Note that for all these widening and extrapolation predicates
-to behave as specified
-the polyhedron referred to by the second argument has to be
-contained in (or equal to) the polyhedron referred to by the first argument.
-
-<P><CODE>ppl_Polyhedron_BHRZ03_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_H79_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_BHRZ03_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_H79_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2.</EM>
-
-<P><CODE>ppl_Polyhedron_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-<EM>Same as predicate <CODE>ppl_Polyhedron_H79_widening_assign_with_tokens</CODE>/4</EM>
-
-<P><CODE>ppl_Polyhedron_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-<EM>Same as predicate <CODE>ppl_Polyhedron_H79_widening_assign</CODE>/2</EM>
-
-<P><CODE>ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_limited_H79_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.
-   The widening with tokens delay
-   technique is applied with \c C_unsigned_1 tokens;
-   \c C_unsigned_2 is unified with the number of tokens
-   remaining at the end of the operation.</EM>
-
-<P><CODE>ppl_Polyhedron_limited_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the BHRZ03-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.</EM>
-
-<P><CODE>ppl_Polyhedron_limited_H79_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1.</EM>
-
-<P><CODE>ppl_Polyhedron_bounded_H79_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
-   the H79-widening of \p P_1 with the polyhedron
-   referenced by \c Handle_2 intersected with the constraints in
-   \c Constraint_System that are
-   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.</EM>
-
-
-<H2>Predicates that may modify the vector space</H2>
-These predicates enable the modification of the vector space
-of the polyhedron referred to in the first argument.
-<H3>Predicate for concatenation</H3>
-For more information on this operation, see Section
-\extref{Concatenating_Polyhedra, Concatenating Polyhedra},
-of the main \extref{preamble, PPL User Manual}.
-
-<P><CODE>ppl_Polyhedron_concatenate_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
-   the concatenation of \p P and the polyhedron referenced by \c Handle_2.</EM>
-
-
-<H3>Predicates for mapping dimensions or changing the vector space</H3>
-These predicates enable the modification of the vector space
-of the polyhedron referred to in the first argument.
-These predicates enable the modification of the vector space
-of the polyhedron referred to in the first argument.
-Detailed descriptions of these can be found in the
-main \extref{preamble, PPL User Manual} in Sections
-\extref{Adding_New_Dimensions_to_the_Vector_Space, Adding New Dimensions to the Vector Space},
-\extref{Removing_Dimensions_from_the_Vector_Space, Removing Dimensions from the Vector Space},
-\extref{Mapping_the_Dimensions_of_the_Vector_Space, Mapping the Dimensions of the Vector Space},
-\extref{expand_space_dimension, Expanding One Dimension of the Vector Space to Multiple Dimensions}
-and
-\extref{Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension, Folding Multiple Dimensions of the Vector Space into One Dimension}.
-
-<P><CODE>ppl_Polyhedron_add_space_dimensions_and_embed(+Handle, +Dimension_Type)</CODE><BR>
-  <EM>Adds \c Dimension_Type new dimensions to the space enclosing
-  the polyhedron \p P referenced by \c Handle
-  and and_embeds \p P in this space.</EM>
-
-<P><CODE>ppl_Polyhedron_add_space_dimensions_and_project(+Handle, +Dimension_Type)</CODE><BR>
-  <EM>Adds \c Dimension_Type new dimensions to the space enclosing
-  the polyhedron \p P referenced by \c Handle
-  and and_projects \p P in this space.</EM>
-
-<P><CODE>ppl_Polyhedron_remove_space_dimensions(+Handle, +List_of_PPL_Vars)</CODE><BR>
-  <EM>Removes from the vector space enclosing
-  the polyhedron \p P referenced by \c Handle the space dimensions that
-  are specified in \c List_of_PPL_Var.  The presence
-  of duplicates in  \c List_of_PPL_Var is a waste but an innocuous one.</EM>
-
-<P><CODE>ppl_Polyhedron_remove_higher_space_dimensions(+Handle, +Dimension_Type)</CODE><BR>
-  <EM>Removes the higher dimensions from the vector space enclosing
-  the polyhedron \p P referenced by \c Handle
-  so that, upon successful return, the new space dimension is
-  \c Dimension_Type.</EM>
-
-<P><CODE>ppl_Polyhedron_expand_space_dimension(+Handle, +PPL_Var, +Dimension_Type)</CODE><BR>
-  <EM>Expands the \c  PPL_Var-th
-  dimension of the vector space enclosing
-  the polyhedron referenced by \c Handle to
-  \c Dimension_Type new space dimensions.</EM>
-
-<P><CODE>ppl_Polyhedron_fold_space_dimensions(+Handle, +List_of_PPL_Vars, +PPL_Var)</CODE><BR>
-  <EM>Modifies the polyhedron referenced by \c Handle
-  by folding the
-  space dimensions contained in \c List_of_PPL_Vars
-  into dimension \c PPL_Var.
-  The presence of duplicates in \c List_of_PPL_Vars is a waste
-  but an innocuous one.</EM>
-
-<P><CODE>ppl_Polyhedron_map_space_dimensions(+Handle, +P_Func)</CODE><BR>
-  <EM>Remaps the dimensions of the vector space according to a
-  partial function.
-  This function is specified by means of the \c P_Func,
-  which has \p n entries.
-  The result is undefined if \c P_Func does not encode a partial
-  function.</EM>
-
-
-\anchor other_domains
-<H1>Ad hoc Predicates for Other Domains</H1>
-<H2>Extra Predicates Specifically for the Pointset Powerset Domains</H2>
-  The powerset domains can be instantiated by taking as a base domain
-  any fixed semantic geometric description
-  (C and NNC polyhedra, BD and octagonal shapes, boxes and grids).
-  An element of the powerset domain represents a disjunctive collection
-  of base objects (its disjuncts), all having the same space dimension.
-  For more information on this construct,
-  see Section \extref{The_Powerset_Domain, The Powerset Domain}
-  in the main \extref{preamble, PPL User Manual}.
-
-  Besides the predicates that are available in all semantic geometric
-  descriptions (whose documentation is not repeated here),
-  the powerset domain also provides several ad hoc predicates.
-  These are specified below, instantiated for the
-  PPL domain Pointset_Powerset_C_Polyhedron.
-  Note that predicates for other pointset powerset domains
-  will follow similar patterns.
-
-  <H3>Predicates for pointset powerset iterators and disjuncts.</H3>
-Iterators allow the user to examine and change individual elements
-(called here disjuncts) of a pointset powerset.
-Detailed descriptions for adding and removing disjuncts can be found in the
-main \extref{preamble, PPL User Manual} in Section
-\extref{Adding_a_Disjunct, Adding a Disjunct}.
-The following predicates support useful operations
-on these iterators and disjuncts via the usual handles.
-
-<P><CODE>ppl_new_Pointset_Powerset_C_Polyhedron_iterator_from_iterator(+Iterator_1, -Iterator_2)</CODE><BR>
-  <EM>Builds a new iterator \p it from the iterator referenced by
-  \c Iterator_1. <CODE>Iterator_2</CODE> is unified with the handle
-  for \p it.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_begin_iterator(+Handle, -Iterator)</CODE><BR>
-  <EM>Unifies \c Iterator with a handle to an iterator "pointing"
-  to the beginning of
-  the sequence of disjuncts of the powerset referred to by \c Handle.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_end_iterator(+Handle, -Iterator)</CODE><BR>
-  <EM>Unifies \c Iterator with a handle to an iterator "pointing"
-  to the end of
-  the sequence of disjuncts of the powerset referred to by \c Handle.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_equals_iterator(+Iterator_1, +Iterator_2)</CODE><BR>
-   <EM>Succeeds if and only if the iterator referenced by
-   \c Iterator_1 is equal to the iterator referenced by
-   \c Iterator_2.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_increment(+Iterator)</CODE><BR>
-  <EM>Increments the iterator referenced by \c Iterator
-  so that it "points" to the next disjunct.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_decrement(+Iterator)</CODE><BR>
-  <EM>Decrements the iterator referenced by \c Iterator
-  so that it "points" to the previous disjunct.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_get_disjunct(+Iterator, -Handle)</CODE><BR>
-  <EM>Unifies with \c Handle a reference to the disjunct referred
-  to by \c Iterator_1.</EM>
-
-<P><CODE>ppl_delete_Pointset_Powerset_C_Polyhedron_iterator(+Iterator)</CODE><BR>
-  <EM>Invalidates the handle referenced by <CODE>Iterator</CODE>:
-  this makes sure the corresponding resources
-  will eventually be released.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_add_disjunct(+Handle_1, +Handle_2)</CODE><BR>
-  <EM>Adds to the pointset powerset referenced by \c Handle_1 a disjunct
-  referred to by \c Handle_2.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_drop_disjunct(+Handle, +Iterator)</CODE><BR>
-  <EM>If \p it is the iterator referred to by \c Iterator,
-  drops from the pointset powerset referenced by \c Handle
-  the disjunct pointed to by \p it and
-  assigns to \p it an iterator to the next disjunct.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_drop_disjuncts(+Handle, +Iterator_1, +Iterator_2)</CODE><BR>
-  <EM>If \p it_1 and \p it_2 are the iterators referred to by \c Iterator_1
-  and \c Iterator_2, respectively,
-  drops from the pointset powerset referenced by \c Handle
-   all the disjuncts from \p it_1 to \p it_2 (excluded).</EM>
-
-  <H3>Other Ad Hoc Predicates for the pointset powerset domains.</H3>
-Collected here are some other predicates that are specific to
-pointset powersets of C polyhedra;
-these provide operations for
-simplifying the powerset,
-geometric comparisons
-and widening and extrapolation.
-Detailed descriptions of these can be found in the
-main \extref{preamble, PPL User Manual} in Sections
-\extref{Geometric_Comparisons, Geometric Comparisons},
-\extref{Certificate_Based_Widenings, Certificate-Based Widenings},
-\extref{Powerset_Extrapolation_Operators, Powerset Extrapolation Operators}.
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_pairwise_reduce(+Handle)</CODE><BR>
-   <EM>Assigns the result of pairwise reduction on
-   the pointset powerset referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_omega_reduce(+Handle)</CODE><BR>
-   <EM>Assigns the result of omega reduction on
-   the pointset powerset referenced by \c Handle.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_geometrically_covers_Pointset_Powerset_C_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the pointset powerset referenced by
-   \c Handle_2 geometrically covers
-   the pointset powerset referenced by \c Handle_1;
-   see Section \extref{Geometric_Comparisons, Geometric Comparisons}
-  in the main \extref{preamble, PPL User Manual}.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_geometrically_equals_Pointset_Powerset_C_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the pointset powerset referenced by
-   \c Handle_2 geometrically equals
-   the pointset powerset referenced by \c Handle_1;
-   see Section \extref{Geometric_Comparisons, Geometric Comparisons}
-  in the main \extref{preamble, PPL User Manual}.</EM>
-
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BHZ03_BHRZ03_BHRZ03_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the pointset powerset \p P_1 referenced by
-   \c Handle_1 the \extref{pps_certificate_widening, BHZ03-widening}
-    between \p P_1 and the pointset powerset referenced by
-   \c Handle_2, using the BHRZ03-widening
-    certified by the convergence certificate for BHRZ03.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BHZ03_H79_H79_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the pointset powerset \p P_1 referenced by
-   \c Handle_1 the \extref{pps_certificate_widening, BHZ03-widening}
-    between \p P_1 and the pointset powerset referenced by
-   \c Handle_2, using the H79-widening
-    certified by the convergence certificate for H79.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BGP99_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, C_unsigned)</CODE><BR>
-    <EM>Assigns to the pointset powerset \p P_1 referenced by
-   \c Handle_1 the result of applying the
-    \extref{pps_bgp99_extrapolation, BGP99 extrapolation operator}
-    between \p P_1 and the pointset powerset referenced by
-   \c Handle_2, using the BHRZ03-widening
-    and the cardinality threshold \c C_unsigned.</EM>
-
-<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BGP99_H79_extrapolation_assign(+Handle_1, +Handle_2, C_unsigned)</CODE><BR>
-    <EM>Assigns to the pointset powerset \p P_1 referenced by
-   \c Handle_1 the result of applying the
-    \extref{pps_bgp99_extrapolation, BGP99 extrapolation operator}
-    between \p P_1 and the pointset powerset referenced by
-   \c Handle_2, using the H79-widening
-    and the cardinality threshold \c C_unsigned.</EM>
-
-
-\anchor PI_Compilation
-<H1>Compilation and Installation</H1>
-
-When the Parma Polyhedra Library is configured, it tests for the existence
-of each supported Prolog system.  If a supported Prolog system is
-correctly installed in a standard location, things are arranged
-so that the corresponding interface is built and installed.
-
-The Prolog interface files are all installed in the directory
-<CODE>prefix/lib/ppl</CODE>.  Since this includes shared and
-dynamically loaded libraries, you must make your dynamic
-linker/loader aware of this fact.  If you use a GNU/Linux system,
-try the commands <CODE>man ld.so</CODE> and <CODE>man ldconfig</CODE>
-for more information.
-
-As an option, the Prolog interface can track the creation and disposal
-of polyhedra.  In fact, differently from native Prolog data, PPL polyhedra
-must be explicitly disposed and forgetting to do so is a very common mistake.
-To enable this option, configure the library adding
-<CODE>-DPROLOG_TRACK_ALLOCATION</CODE> to the options passed to the
-C++ compiler.
-Your configure command would then look like
-\code
-  path/to/configure --with-cxxflags="-DPROLOG_TRACK_ALLOCATION" ...
-\endcode
-
-\anchor PI_SD_Features
-<H1>System-Dependent Features</H1>
-
-\anchor CIAO_Prolog
-<H2>CIAO Prolog</H2>
-
-The Ciao Prolog interface to the PPL is available
-both as `PPL enhanced' Ciao Prolog interpreter
-and as a library that can be linked to Ciao Prolog programs.
-Only Ciao Prolog versions 1.10 #5 and later are supported.
-
-So that it can be used with the Ciao Prolog PPL interface, the
-Ciao Prolog installation must be configured with the
-<CODE>--disable-regs</CODE> option.
-
-<H3>The <CODE>ppl_ciao</CODE> Executable</H3>
-
-If an appropriate version of Ciao Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_ciao</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_ciao</CODE> executable is simply the Ciao Prolog
-interpreter with the Parma Polyhedra Library linked in.
-The only thing you should do to use the library is to
-call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
-and to call <CODE>ppl_finalize/0</CODE> when you are done with the
-library.
-
-<H3>Linking the Library To Ciao Prolog Programs</H3>
-
-In order to allow linking Ciao Prolog programs to the PPL,
-the following files are installed in the directory
-<CODE>prefix/lib/ppl</CODE>:
-<CODE>ppl_ciao.pl</CODE> contains the required foreign declarations;
-<CODE>libppl_ciao.*</CODE> contain the executable code for the
-Ciao Prolog interface in various formats (static library, shared library,
-libtool library).
-If your Ciao Prolog program is constituted by, say, <CODE>source1.pl</CODE>
-and <CODE>source2.pl</CODE> and you want to create the executable
-<CODE>myprog</CODE>, your compilation command may look like
-\code
-ciaoc -o myprog prefix/lib/ppl/ppl_ciao.pl ciao_pl_check.pl \
-  -L '-Lprefix/lib/ppl -lppl_ciao -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-
-\anchor GNU_Prolog
-<H2>GNU Prolog</H2>
-
-The GNU Prolog interface to the PPL is available both as a
-`PPL enhanced' GNU Prolog interpreter and as a library that can be
-linked to GNU Prolog programs.
-The only GNU Prolog version that is known to work is a patched
-version of the `unstable version' tagged
-<A HREF="ftp://ftp.inria.fr/INRIA/Projects/contraintes/gprolog/unstable/gprolog-20040608.tgz">20040608</A>
-(which unpacks to a directory called <CODE>gprolog-1.2.18</CODE>).
-The patch is contained in the
-<CODE>interfaces/Prolog/GNU/README</CODE> file of the PPL's distribution.
-
-So that it can be used with the GNU Prolog PPL interface
-(and, for that matter, with any foreign code),
-the GNU Prolog installation must be configured with the
-<CODE>--disable-regs</CODE> option.
-
-<H3>The <CODE>ppl_gprolog</CODE> Executable</H3>
-
-If an appropriate version of GNU Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_gprolog</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_gprolog</CODE> executable is simply the GNU Prolog
-interpreter with the Parma Polyhedra Library linked in.
-The only thing you should do to use the library is to
-call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
-and to call <CODE>ppl_finalize/0</CODE> when you are done with the
-library.
-
-<H3>Linking the Library To GNU Prolog Programs</H3>
-
-In order to allow linking GNU Prolog programs to the PPL,
-the following files are installed in the directory
-<CODE>prefix/lib/ppl</CODE>:
-<CODE>ppl_gprolog.pl</CODE> contains the required foreign declarations;
-<CODE>libppl_gprolog.*</CODE> contain the executable code for the
-GNU Prolog interface in various formats (static library, shared library,
-libtool library).
-If your GNU Prolog program is constituted by, say, <CODE>source1.pl</CODE>
-and <CODE>source2.pl</CODE> and you want to create the executable
-<CODE>myprog</CODE>, your compilation command may look like
-\code
-gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
-  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-
-GNU Prolog uses several stacks to execute a Prolog program each with a
-pre-defined default size.  If the size of a stack is too small for the
-application an overflow will occur.  To change the default size of a
-stack, the user has to set the value of the relevant environment
-variable; in particular, to execute some of the tests, we found it
-necessary to increase the size of GLOBALSZ.
-Thus, for the above example, the compilation command would be
-\code
-GLOBALSZ=32768 gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
-  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-More information on
-adjusting the size of the stacks can be found in Section 3.3 in the
-<A HREF="http://www.gprolog.org/manual/gprolog.html">GNU Prolog
-Manual</A>
-
-\anchor SICStus_Prolog
-<H2>SICStus Prolog</H2>
-
-The SICStus Prolog interface to the PPL is available
-both as a statically linked module or as a dynamically linked one.
-Only SICStus Prolog versions 3.9.1 and later are supported.
-
-<H3>The Statically Linked <CODE>ppl_sicstus</CODE> Executable</H3>
-
-If an appropriate version of SICStus Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_sicstus</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_sicstus</CODE> executable is simply the SICStus Prolog
-system with the Parma Polyhedra Library statically linked.
-The only thing you should do to use the library is to
-load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
-
-<H3>Loading the SICStus Interface Dynamically</H3>
-
-In order to dynamically load the library from SICStus Prolog you should
-simply load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
-
-\anchor SWI_Prolog
-<H2>SWI-Prolog</H2>
-
-The SWI-Prolog interface to the PPL is available
-both as a statically linked module or as a dynamically linked one.
-Only SWI-Prolog version 5.6.0 and later versions are supported.
-
-<H3>The <CODE>ppl_pl</CODE> Executable</H3>
-
-If an appropriate version of SWI-Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_pl</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_pl</CODE> executable is simply the SWI-Prolog
-shell with the Parma Polyhedra Library statically linked:
-from within <CODE>ppl_pl</CODE> all the services of the library
-are available without further action.
-
-<H3>Loading the SWI-Prolog Interface Dynamically</H3>
-
-In order to dynamically load the library from SWI-Prolog you should
-simply load <CODE>prefix/lib/ppl/ppl_swiprolog.pl</CODE>.
-This will invoke <CODE>ppl_initialize/0</CODE> and
-<CODE>ppl_finalize/0</CODE> automatically.
-Alternatively, you can load the library directly with
-\code
-:- load_foreign_library('prefix/lib/ppl/libppl_swiprolog').
-\endcode
-This will call <CODE>ppl_initialize/0</CODE> automatically.
-Analogously,
-\code
-:- unload_foreign_library('prefix/lib/ppl/libppl_swiprolog').
-\endcode
-will, as part of the unload process, invoke <CODE>ppl_finalize/0</CODE>.
-
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
-
-\anchor XSB_Prolog
-<H2>XSB</H2>
-
-The XSB Prolog interface to the PPL is available
-as a dynamically linked module.
-Only some CVS versions of XSB starting from 2 July 2005 are known to work.
-CVS versions starting from 11 November 2005 are known not to work.
-
-In order to dynamically load the library from XSB you should
-load the <CODE>ppl_xsb</CODE> module and import the predicates
-you need.
-For things to work, you may have to copy the files
-<CODE>prefix/lib/ppl/ppl_xsb.xwam</CODE>
-and
-<CODE>prefix/lib/ppl/ppl_xsb.so</CODE>
-in your current directory or in one of the XSB library directories.
-
-
-\anchor YAP_Prolog
-<H2>YAP</H2>
-
-The YAP Prolog interface to the PPL is available
-as a dynamically linked module.
-Only YAP versions following 5.1.0 and CVS HEAD versions starting from
-4 January 2006 are supported.  Notice that support for unbounded
-integers in YAP is young and may have errors that could affect
-programs using the PPL (see, e.g.,
-<A HREF="http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html">http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html</A>).
-
-In order to dynamically load the library from YAP you should
-simply load <CODE>prefix/lib/ppl/ppl_yap.pl</CODE>.
-This will invoke <CODE>ppl_initialize/0</CODE> automatically;
-it is the programmer's responsibility to call <CODE>ppl_finalize/0</CODE>
-when the PPL library is no longer needed.
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
 */ /* \mainpage */
 
 
diff --git a/interfaces/Prolog/Prolog_interface_compilation.dox b/interfaces/Prolog/Prolog_interface_compilation.dox
new file mode 100644
index 0000000..d8a2dd5
--- /dev/null
+++ b/interfaces/Prolog/Prolog_interface_compilation.dox
@@ -0,0 +1,59 @@
+// Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+// Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+//
+// This document describes the Parma Polyhedra Library (PPL).
+//
+// Permission is granted to copy, distribute and/or modify this document
+// under the terms of the GNU Free Documentation License, Version 1.2
+// or any later version published by the Free Software Foundation;
+// with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+// The license is included, in various formats, in the `doc' subdirectory
+// of each distribution of the PPL in files named `fdl.*'.
+//
+// The PPL is free software; you can redistribute it and/or modify it
+// under the terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 3 of the License, or (at your
+// option) any later version.  The license is included, in various
+// formats, in the `doc' subdirectory of each distribution of the PPL in
+// files named `gpl.*'.
+//
+// The PPL is distributed in the hope that it will be useful, but WITHOUT
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+// for more details.
+//
+// If you have not received a copy of one or both the above mentioned
+// licenses along with the PPL, write to the Free Software Foundation,
+// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+//
+// For the most up-to-date information see the Parma Polyhedra Library
+// site: http://bugseng.com/products/ppl/ .
+
+
+/*! \page PI_Compilation Compilation and Installation
+
+When the Parma Polyhedra Library is configured, it tests for the existence
+of each supported Prolog system.  If a supported Prolog system is
+correctly installed in a standard location, things are arranged
+so that the corresponding interface is built and installed.
+
+The Prolog interface files are all installed in the directory
+<CODE>prefix/lib/ppl</CODE>.  Since this includes shared and
+dynamically loaded libraries, you must make your dynamic
+linker/loader aware of this fact.  If you use a GNU/Linux system,
+try the commands <CODE>man ld.so</CODE> and <CODE>man ldconfig</CODE>
+for more information.
+
+As an option, the Prolog interface can track the creation and disposal
+of polyhedra.  In fact, differently from native Prolog data, PPL polyhedra
+must be explicitly disposed and forgetting to do so is a very common mistake.
+To enable this option, configure the library adding
+<CODE>-DPROLOG_TRACK_ALLOCATION</CODE> to the options passed to the
+C++ compiler.
+Your configure command would then look like
+\code
+  path/to/configure --with-cxxflags="-DPROLOG_TRACK_ALLOCATION" ...
+\endcode
+
+*/ /* \page PROLOG_INTERFACE_COMPILATION */
+
diff --git a/interfaces/Prolog/Prolog_interface_sysdep.dox b/interfaces/Prolog/Prolog_interface_sysdep.dox
new file mode 100644
index 0000000..2472e0a
--- /dev/null
+++ b/interfaces/Prolog/Prolog_interface_sysdep.dox
@@ -0,0 +1,235 @@
+/* System-Dependent Documentation for Prolog.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+/*! \page PI_SD_Features Prolog Interface System-Dependent Features
+
+\anchor CIAO_Prolog
+<H2>CIAO Prolog</H2>
+
+The Ciao Prolog interface to the PPL is available
+both as ``PPL enhanced'' Ciao Prolog interpreter
+and as a library that can be linked to Ciao Prolog programs.
+Only Ciao Prolog versions 1.10 `#5 and later are supported.'
+
+So that it can be used with the Ciao Prolog PPL interface, the
+Ciao Prolog installation must be configured with the
+<CODE>--disable-regs</CODE> option.
+
+<H3>The <CODE>ppl_ciao</CODE> Executable</H3>
+
+If an appropriate version of Ciao Prolog is installed on the machine
+on which you compiled the library, the command <CODE>make install</CODE>
+will install the executable <CODE>ppl_ciao</CODE> in the directory
+<CODE>prefix/bin</CODE>.
+The <CODE>ppl_ciao</CODE> executable is simply the Ciao Prolog
+interpreter with the Parma Polyhedra Library linked in.
+The only thing you should do to use the library is to
+call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
+and to call <CODE>ppl_finalize/0</CODE> when you are done with the
+library.
+
+<H3>Linking the Library To Ciao Prolog Programs</H3>
+
+In order to allow linking Ciao Prolog programs to the PPL,
+the following files are installed in the directory
+<CODE>prefix/lib/ppl</CODE>:
+<CODE>ppl_ciao.pl</CODE> contains the required foreign declarations;
+<CODE>libppl_ciao.*</CODE> contain the executable code for the
+Ciao Prolog interface in various formats (static library, shared library,
+libtool library).
+If your Ciao Prolog program is constituted by, say, <CODE>source1.pl</CODE>
+and <CODE>source2.pl</CODE> and you want to create the executable
+<CODE>myprog</CODE>, your compilation command may look like
+\code
+ciaoc -o myprog prefix/lib/ppl/ppl_ciao.pl ciao_pl_check.pl \
+  -L '-Lprefix/lib/ppl -lppl_ciao -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
+\endcode
+
+\anchor GNU_Prolog
+<H2>GNU Prolog</H2>
+
+The GNU Prolog interface to the PPL is available both as a
+``PPL enhanced'' GNU Prolog interpreter and as a library that can be
+linked to GNU Prolog programs.
+The only GNU Prolog version that is known to work is a patched
+version of the ``unstable version'' tagged
+<A HREF="ftp://ftp.inria.fr/INRIA/Projects/contraintes/gprolog/unstable/gprolog-20040608.tgz">20040608</A>
+(which unpacks to a directory called <CODE>gprolog-1.2.18</CODE>).
+The patch is contained in the
+<CODE>interfaces/Prolog/GNU/README</CODE> file of the PPL's distribution.
+
+So that it can be used with the GNU Prolog PPL interface
+(and, for that matter, with any foreign code),
+the GNU Prolog installation must be configured with the
+<CODE>--disable-regs</CODE> option.
+
+<H3>The <CODE>ppl_gprolog</CODE> Executable</H3>
+
+If an appropriate version of GNU Prolog is installed on the machine
+on which you compiled the library, the command <CODE>make install</CODE>
+will install the executable <CODE>ppl_gprolog</CODE> in the directory
+<CODE>prefix/bin</CODE>.
+The <CODE>ppl_gprolog</CODE> executable is simply the GNU Prolog
+interpreter with the Parma Polyhedra Library linked in.
+The only thing you should do to use the library is to
+call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
+and to call <CODE>ppl_finalize/0</CODE> when you are done with the
+library.
+
+<H3>Linking the Library To GNU Prolog Programs</H3>
+
+In order to allow linking GNU Prolog programs to the PPL,
+the following files are installed in the directory
+<CODE>prefix/lib/ppl</CODE>:
+<CODE>ppl_gprolog.pl</CODE> contains the required foreign declarations;
+<CODE>libppl_gprolog.*</CODE> contain the executable code for the
+GNU Prolog interface in various formats (static library, shared library,
+libtool library).
+If your GNU Prolog program is constituted by, say, <CODE>source1.pl</CODE>
+and <CODE>source2.pl</CODE> and you want to create the executable
+<CODE>myprog</CODE>, your compilation command may look like
+\code
+gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
+  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
+\endcode
+
+GNU Prolog uses several stacks to execute a Prolog program each with a
+pre-defined default size.  If the size of a stack is too small for the
+application an overflow will occur.  To change the default size of a
+stack, the user has to set the value of the relevant environment
+variable; in particular, to execute some of the tests, we found it
+necessary to increase the size of GLOBALSZ.
+Thus, for the above example, the compilation command would be
+\code
+GLOBALSZ=32768 gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
+  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
+\endcode
+More information on
+adjusting the size of the stacks can be found in Section 3.3 in the
+<A HREF="http://www.gprolog.org/manual/gprolog.html">GNU Prolog
+Manual</A>
+
+\anchor SICStus_Prolog
+<H2>SICStus Prolog</H2>
+
+The SICStus Prolog interface to the PPL is available
+both as a statically linked module or as a dynamically linked one.
+Only SICStus Prolog versions 3.9.0 and later are supported.
+
+<H3>The Statically Linked <CODE>ppl_sicstus</CODE> Executable</H3>
+
+If an appropriate version of SICStus Prolog is installed on the machine
+on which you compiled the library, the command <CODE>make install</CODE>
+will install the executable <CODE>ppl_sicstus</CODE> in the directory
+<CODE>prefix/bin</CODE>.
+The <CODE>ppl_sicstus</CODE> executable is simply the SICStus Prolog
+system with the Parma Polyhedra Library statically linked.
+The only thing you should do to use the library is to
+load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
+
+<H3>Loading the SICStus Interface Dynamically</H3>
+
+In order to dynamically load the library from SICStus Prolog you should
+simply load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
+Notice that, for dynamic linking to work, you should have configured
+the library with the <CODE>--enable-shared</CODE> option.
+
+
+\anchor SWI_Prolog
+<H2>SWI-Prolog</H2>
+
+The SWI-Prolog interface to the PPL is available
+both as a statically linked module or as a dynamically linked one.
+Only SWI-Prolog version 5.6.0 and later versions are supported.
+
+<H3>The <CODE>ppl_pl</CODE> Executable</H3>
+
+If an appropriate version of SWI-Prolog is installed on the machine
+on which you compiled the library, the command <CODE>make install</CODE>
+will install the executable <CODE>ppl_pl</CODE> in the directory
+<CODE>prefix/bin</CODE>.
+The <CODE>ppl_pl</CODE> executable is simply the SWI-Prolog
+shell with the Parma Polyhedra Library statically linked:
+from within <CODE>ppl_pl</CODE> all the services of the library
+are available without further action.
+
+<H3>Loading the SWI-Prolog Interface Dynamically</H3>
+
+In order to dynamically load the library from SWI-Prolog you should
+simply load <CODE>prefix/lib/ppl/ppl_swiprolog.pl</CODE>.
+This will invoke <CODE>ppl_initialize/0</CODE> and
+<CODE>ppl_finalize/0</CODE> automatically.
+Alternatively, you can load the library directly with
+\code
+:- load_foreign_library('prefix/lib/ppl/libppl_swiprolog').
+\endcode
+This will call <CODE>ppl_initialize/0</CODE> automatically.
+Analogously,
+\code
+:- unload_foreign_library('prefix/lib/ppl/libppl_swiprolog').
+\endcode
+will, as part of the unload process, invoke <CODE>ppl_finalize/0</CODE>.
+
+Notice that, for dynamic linking to work, you should have configured
+the library with the <CODE>--enable-shared</CODE> option.
+
+
+\anchor XSB_Prolog
+<H2>XSB</H2>
+
+The XSB Prolog interface to the PPL is available
+as a dynamically linked module.
+Only some CVS versions of XSB starting from 2 July 2005 are known to work.
+CVS versions starting from 11 November 2005 are known not to work.
+
+In order to dynamically load the library from XSB you should
+load the <CODE>ppl_xsb</CODE> module and import the predicates
+you need.
+For things to work, you may have to copy the files
+<CODE>prefix/lib/ppl/ppl_xsb.xwam</CODE>
+and
+<CODE>prefix/lib/ppl/ppl_xsb.so</CODE>
+in your current directory or in one of the XSB library directories.
+
+
+\anchor YAP_Prolog
+<H2>YAP</H2>
+
+The YAP Prolog interface to the PPL is available
+as a dynamically linked module.
+Only YAP versions following 5.1.0 and CVS HEAD versions starting from
+4 January 2006 are supported.  Notice that support for unbounded
+integers in YAP is young and may have errors that could affect
+programs using the PPL (see, e.g.,
+<A HREF="http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html">http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html</A>).
+
+In order to dynamically load the library from YAP you should
+simply load <CODE>prefix/lib/ppl/ppl_yap.pl</CODE>.
+This will invoke <CODE>ppl_initialize/0</CODE> automatically;
+it is the programmer's responsibility to call <CODE>ppl_finalize/0</CODE>
+when the PPL library is no longer needed.
+Notice that, for dynamic linking to work, you should have configured
+the library with the <CODE>--enable-shared</CODE> option.
+
+*/ /* \page PI_SD_Features */
+
diff --git a/interfaces/Prolog/Prolog_interface_sysindep.dox b/interfaces/Prolog/Prolog_interface_sysindep.dox
new file mode 100644
index 0000000..482525f
--- /dev/null
+++ b/interfaces/Prolog/Prolog_interface_sysindep.dox
@@ -0,0 +1,949 @@
+/* Configuration Independent Documentation for Prolog.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+/*! \page PI_SI_Features System-Independent Features
+
+\anchor pi_si_features
+<H1>System-Independent Features</H1>
+
+The Prolog interface provides access to the numerical abstractions
+(convex polyhedra, BD shapes, octagonal shapes, etc.) implemented
+by the PPL library.
+A general introduction to the numerical abstractions,
+their representation in the PPL and the operations provided
+by the PPL is given in the main \extref{preamble, PPL user manual}.
+Here we just describe those aspects that are specific to the Prolog interface.
+
+\anchor prolog_interface_overview
+<H2>Overview</H2>
+
+First, here is a list of notes with general information and advice
+on the use of the interface.
+
+- The numerical abstract domains available to the Prolog user consist
+  of the <EM>simple</EM> domains, <EM>powersets</EM> of a simple domain and
+  <EM>products</EM> of simple domains.
+  - The simple domains are:
+     - convex polyhedra, which consist of C_Polyhedron and
+       NNC_Polyhedron;<BR>
+     - weakly relational, which consist of BD_Shape_N and
+       Octagonal_Shape_N
+       where N is one of the numeric types
+       int8, int16, int32, int64, mpz_class, mpq_class,
+       float, double, long_double;<BR>
+     - boxes which consist of
+       Int8_Box, Int16_Box,
+       Int32_Box, Int64_Box,
+       Uint8_Box, Uint16_Box,
+       Uint32_Box, Uint64_Box,
+       Double_Box, Long_Double_Box,
+       Z_Box, Rational_Box, Float_Box; and<BR>
+     - the Grid domain.
+  - The powerset domains are Pointset_Powerset_S where S is
+    a simple domain.
+  - The product domains consist of
+    Direct_Product_S_T,
+    Smash_Product_S_T,
+    Constraints_Product_S_T and
+    Shape_Preserving_Product_S_T where S
+    and T are simple domains.
+- In the following, any of the above numerical
+  abstract domains  is called a PPL <EM>domain</EM>
+  and any element of a PPL domain is called a <EM>PPL object</EM>.
+- The Prolog interface to the PPL is initialized and finalized by the
+  predicates <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>.
+  Thus the only interface predicates callable after
+  <CODE>ppl_finalize/0</CODE> are <CODE>ppl_finalize/0</CODE> itself
+  (this further call has no effect) and <CODE>ppl_initialize/0</CODE>,
+  after which the interface's services are usable again.
+  Some Prolog systems allow the specification of initialization
+  and deinitialization functions in their foreign language interfaces.
+  The corresponding incarnations of the Prolog interface
+  have been written so that <CODE>ppl_initialize/0</CODE> and/or
+  <CODE>ppl_finalize/0</CODE> are called automatically.
+  Section \ref PI_SD_Features "System-Dependent Features" will detail
+  in which cases initialization and finalization is automatically
+  performed or is left to the Prolog programmer's responsibility.
+  However, for portable applications, it is best
+  to invoke <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>
+  explicitly: since they can be called multiple times without problems,
+  this will result in enhanced portability at a cost that is, by all means,
+  negligible.
+- A PPL object such as a polyhedron can only be accessed
+  by means of a Prolog term called a <EM>handle</EM>.
+  Note, however, that the data structure of a handle,
+  is implementation-dependent, system-dependent and
+  version-dependent, and, for this reason, deliberately left unspecified.
+  What we do guarantee is that the handle requires very little memory.
+- A Prolog term can be bound to a valid handle for a PPL object by using
+  predicates such as
+\code
+  ppl_new_C_Polyhedron_from_space_dimension/3,
+  ppl_new_C_Polyhedron_from_C_Polyhedron/2,
+  ppl_new_C_Polyhedron_from_constraints/2,
+  ppl_new_C_Polyhedron_from_generators/2,
+\endcode
+  These predicates will create or copy a PPL polyhedron
+  and construct a valid handle for referencing it.
+  The last argument is a Prolog term that is
+  unified with a new valid handle for accessing this polyhedron.
+
+- As soon as a PPL object is no longer required,
+  the memory occupied by it should be released
+  using the PPL predicate such as <CODE>ppl_delete_Polyhedron/1</CODE>.
+  To understand why this is important,
+  consider a Prolog program and a variable that is bound to
+  a Herbrand term.
+  When the variable dies (goes out of scope) or is uninstantiated
+  (on backtracking), the term it is bound to is amenable to garbage collection.
+  But this only applies for the standard domain of the language:
+  Herbrand terms.
+  In Prolog+PPL, when, for example,
+  a variable bound to a handle for a Polyhedron dies
+  or is uninstantiated,
+  the handle can be garbage-collected, but the polyhedron to which
+  the handle refers will not be released.
+  Once a handle has been used as an argument in
+  <CODE>ppl_delete_Polyhedron/1</CODE>,
+  it becomes invalid.
+- For a PPL object with space dimension \p k,
+  the identifiers used for the PPL variables
+  must lie between 0 and \f$k-1\f$ and correspond to the indices of the
+  associated Cartesian axes.
+  For example, when using the predicates that combine PPL polyhedra
+  or add constraints or generators to a representation of
+  a PPL polyhedron,
+  the polyhedra referenced and any constraints or generators in the call
+  should follow all the (space) dimension-compatibility rules stated in
+  Section \extref{representation, Representations of Convex Polyhedra}
+  of the main \extref{preamble, PPL user manual}.
+- As explained above, a polyhedron has a fixed topology C or NNC,
+  that is determined at the time of its initialization.
+  All subsequent operations on the polyhedron must respect all the
+  topological compatibility rules stated in Section
+  \extref{representation, Representations of Convex Polyhedra}
+  of the main \extref{preamble, PPL user manual}.
+- Any application using the PPL should make sure that only the
+  intended version(s) of the library are ever used.
+  Predicates
+\code
+  ppl_version_major/1,
+  ppl_version_minor/1,
+  ppl_version_revision/1,
+  ppl_version_beta/1,
+  ppl_version/1,
+  ppl_banner.
+\endcode
+  allow run-time checking of information about the version being used.
+
+\anchor predicate_specifications
+<H2>Predicate Specifications</H2>
+
+The PPL predicates provided by the Prolog interface are specified below.
+The specification uses the following grammar rules:
+\code
+
+ Number      --> unsigned integer	ranging from 0 to an upper bound
+					depending on the actual Prolog system.
+
+ C_int       --> Number | - Number	C integer
+
+ C_unsigned  --> Number			C unsigned integer
+
+ Coeff       --> Number			used in linear expressions;
+					the upper bound will depend on how
+					the PPL has been configured
+
+ Dimension_Type
+             --> Number			used for the number of affine and
+					space dimensions and the names of
+ 					the dimensions;
+					the upper bound will depend on
+					the maximum number of dimensions
+					allowed by the PPL
+					(see ppl_max_space_dimensions/1)
+
+ Boolean     --> true | false
+
+ Handle      --> Prolog term		used to identify a Polyhedron
+
+ Topology    --> c | nnc		Polyhedral kind;
+					c is closed and nnc is NNC
+
+ VarId       --> Dimension_Type 	variable identifier
+
+ PPL_Var     --> '$VAR'(VarId)		PPL variable
+
+ Lin_Expr    --> PPL_Var		PPL variable
+            | Coeff
+            | Lin_Expr			unary plus
+            | - Lin_Expr		unary minus
+            | Lin_Expr + Lin_Expr	addition
+            | Lin_Expr - Lin_Expr	subtraction
+            | Coeff * Lin_Expr	        multiplication
+            | Lin_Expr * Coeff	        multiplication
+
+ Relation_Symbol --> =			equals
+            | =< 			less than or equal
+            | >=			greater than or equal
+            | < 			strictly less than
+            | > 			strictly greater than
+
+ Constraint  --> Lin_Expr Relation_Symbol Lin_Expr
+					constraint
+
+ Constraint_System			list of constraints
+             --> []
+            | [Constraint | Constraint_System]
+
+ Modulus     --> Coeff | - Coeff
+
+ Congruence  --> Lin_Expr =:= Lin_Expr  congruence with modulo 1
+            | (Lin_Expr =:= Lin_Expr) / Modulus
+                                        congruence with modulo Modulus
+
+ Congruence_System			list of congruences
+             --> []
+            | [Congruence | Congruence_System]
+
+ Generator_Denominator --> Coeff	must be non-zero
+	    | - Coeff
+
+ Generator   --> point(Lin_Expr)	point
+            | point(Lin_Expr, Generator_Denominator)
+					point
+            | closure_point(Lin_Expr)	closure point
+            | closure_point(Lin_Expr, Generator_Denominator)
+					closure point
+            | ray(Lin_Expr)		ray
+            | line(Lin_Expr)		line
+
+ Generator_System			list of generators
+             --> []
+	    | [Generator | Generator_System]
+
+ Grid_Generator
+             --> grid_point(Lin_Expr)	grid point
+            | grid_point(Lin_Expr, Generator_Denominator)
+					grid point
+            | parameter(Lin_Expr)	parameter
+            | parameter(Lin_Expr, Generator_Denominator)
+                                        parameter
+            | grid_line(Lin_Expr)       grid line
+
+ Grid_Generator_System			list of grid generators
+             --> []
+	    | [Grid_Generator | Grid_Generator_System]
+
+ Artificial_Parameter  --> Lin_Expr / Coeff
+
+ Artificial_Parameter_List --> []
+	    | [Artificial_Parameter | Artificial_Parameter_List]
+
+ Atom        --> Prolog atom
+
+ Universe_or_Empty			PPL object
+             --> universe | empty
+
+ Poly_Relation --> is_disjoint          with a constraint or congruence
+	    | strictly_intersects	with a constraint or congruence
+	    | is_included		with a constraint or congruence
+	    | saturates			with a constraint or congruence
+            | subsumes			with a (grid) generator
+
+ Relation_List --> []
+	    | [Poly_Relation | Relation_List]
+
+ Complexity  --> polynomial | simplex | any
+
+ Vars_Pair   --> PPL_Var - PPL_Var      map relation
+
+ P_Func      --> []    			list of map relations
+            | [Vars_Pair | P_Func].
+
+ Width  --> bits_8 | bits_16 | bits_32 | bits_64 | bits_128
+
+ Representation  --> unsigned | signed_2_complement
+
+ Overflow  --> overflow_wraps | overflow_undefined | overflow_impossible
+
+ Optimization_Mode --> max | min
+
+ Problem_Status --> unfeasible
+            | unbounded
+            | optimized
+
+ Control_Parameter_Name --> pricing            for MIP problems
+                        | control_strategy     for PIP problems
+                        | pivot_row_strategy   for PIP problems
+
+ Control_Parameter_Value
+             --> pricing_steepest_edge_float
+            | pricing_steepest_edge_exact
+            | pricing_textbook
+            | control_strategy_first
+            | control_strategy_deepest
+            | control_strategy_all
+            | pivot_row_strategy_first
+            | pivot_row_strategy_max_column
+
+ Vars_List   --> []    			list of PPL variables
+            | [PPL_Var | Vars_List].
+\endcode
+
+\anchor predicate_descriptions
+<H2> Predicate Descriptions </H2>
+
+Below is a short description of many of the interface predicates.
+For full definitions of terminology used here,
+see the main \extref{preamble, PPL user manual}.
+
+\anchor di_predicates
+<H3> Domain Independent Predicates </H3>
+
+First we describe the domain independent predicates
+that are included with all instantiations of the Prolog interfaces.
+
+<P><CODE> ppl_version_major(?C_int) </CODE><BR>
+  <EM>Unifies <CODE>C_int</CODE> with the major number of the PPL version.</EM>
+
+<P><CODE> ppl_version_minor(?C_int) </CODE><BR>
+  <EM>Unifies <CODE>C_int</CODE> with the minor number of the PPL version.</EM>
+
+<P><CODE> ppl_version_revision(?C_int) </CODE><BR>
+  <EM>Unifies <CODE>C_int</CODE> with the revision number
+  of the PPL version.</EM>
+
+<P><CODE> ppl_version_beta(?C_int) </CODE><BR>
+  <EM>Unifies <CODE>C_int</CODE> with the beta number of the PPL version.</EM>
+
+<P><CODE> ppl_version(?Atom) </CODE><BR>
+  <EM>Unifies <CODE>Atom</CODE> with the PPL version.</EM>
+
+<P><CODE> ppl_banner(?Atom) </CODE><BR>
+  <EM>Unifies <CODE>Atom</CODE> with
+  information about the PPL version, the licensing, the lack of any
+  warranty whatsoever, the C++ compiler used to build the library,
+  where to report bugs and where to look for further information.</EM>
+
+<P><CODE> ppl_Coefficient_bits(?Bits) </CODE><BR>
+
+  <EM>Unifies <CODE>Bits</CODE> with the number of bits used to encode a
+  Coefficient in the C++ interface; 0 if unbounded.</EM>
+
+<P><CODE> ppl_Coefficient_is_bounded </CODE><BR>
+
+  <EM>Succeeds if and only if the Coefficients in the C++ interface are bounded.</EM>
+
+<P><CODE> ppl_Coefficient_max(Max) </CODE><BR>
+
+  <EM>If the Coefficients in the C++ interface are bounded,
+  then the maximum coefficient the C++ interface can handle is
+  unified with <CODE>Max</Code>.
+  If the Prolog system cannot handle this coefficient, then
+  an exception is thrown.
+  It fails if the Coefficients in the C++ interface are unbounded.</EM>
+
+<P><CODE> ppl_Coefficient_min(Min) </CODE><BR>
+
+  <EM>If the Coefficients in the C++ interface are bounded,
+  then the minimum coefficient the C++ interface can handle is
+  unified with <CODE>Min</Code>.
+  If the Prolog system cannot handle this coefficient, then
+  an exception is thrown.
+  It fails if the Coefficients in the C++ interface are unbounded.</EM>
+
+<P><CODE> ppl_max_space_dimension(?Dimension_Type) </CODE><BR>
+
+  <EM>Unifies <CODE>Dimension_Type</CODE> with the maximum space dimension
+  this library can handle.</EM>
+
+<P><CODE>
+  ppl_initialize
+ </CODE><BR>
+
+  <EM>Initializes the PPL interface.
+  Multiple calls to <CODE>ppl_initialize</CODE> does no harm.</EM>
+
+<P><CODE>
+  ppl_finalize
+ </CODE><BR>
+
+  <EM>Finalizes the PPL interface.
+  Once this is executed, the next call to an interface predicate must
+  either be to <CODE>ppl_initialize</CODE> or to <CODE>ppl_finalize</CODE>.
+  Multiple calls to <CODE>ppl_finalize</CODE> does no harm.</EM>
+
+<P><CODE> ppl_set_timeout_exception_atom(+Atom) </CODE><BR>
+
+   <EM>Sets the atom to be thrown by timeout exceptions
+   to <CODE>Atom</CODE>.
+   The default value is <CODE>time_out</CODE>.</EM>
+
+<P><CODE> ppl_timeout_exception_atom(?Atom) </CODE><BR>
+
+   <EM>The atom to be thrown by timeout exceptions
+   is unified with <CODE>Atom</CODE>.</EM>
+
+<P><CODE> ppl_set_timeout(+Csecs) </CODE><BR>
+
+   <EM>Computations taking exponential time will be interrupted
+   some time after <CODE>Csecs</CODE> centiseconds after that call.
+   If the computation is interrupted that way, the current timeout
+   exception atom will be thrown.
+   <CODE>Csecs</CODE> must be strictly greater than zero.</EM>
+
+<P><CODE> ppl_reset_timeout </CODE><BR>
+
+   <EM>Resets the timeout time so that the computation is not interrupted.</EM>
+
+<P><CODE> ppl_set_deterministic_timeout(+Unscaled_Weight, +Scale) </CODE><BR>
+
+   <EM>Computations taking exponential time will be interrupted
+   some time after reaching the complexity threshold
+   \f$\mathrm{Weight} = \mathrm{Unscaled\_Weight} \cdot 2^\mathrm{Scale}\f$.
+   If the computation is interrupted that way, the current timeout
+   exception atom will be thrown.
+   <CODE>Unscaled_Weight</CODE> must be strictly greater than zero;
+   <CODE>Scale</CODE> must be non-negative;
+   an exception is thrown if the computed weight threshold exceeds
+   the maximum allowed value.</EM>
+   <P>
+   <EM>NOTE:</EM> This "timeout" checking functionality is said to be
+   <EM>deterministic</EM> because it is not based on actual elapsed time.
+   Its behavior will only depend on (some of the) computations performed
+   in the PPL library and it will be otherwise independent from the
+   computation environment (CPU, operating system, compiler, etc.).
+   The weight mechanism is under beta testing: client applications
+   should be ready to reconsider the tuning of these weight thresholds
+   when upgrading to newer version of the PPL.
+
+<P><CODE> ppl_reset_deterministic_timeout </CODE><BR>
+
+   <EM>Resets the deterministic timeout so that the computation is not
+   interrupted.</EM>
+
+<P><CODE> ppl_set_rounding_for_PPL </CODE><BR>
+
+  <EM>Sets the FPU rounding mode so that the PPL abstractions based on
+  floating point numbers work correctly.
+  This is performed automatically at initialization-time.  Calling
+  this function is needed only if restore_pre_PPL_rounding() has
+  previously been called.</EM>
+
+
+<P><CODE> ppl_restore_pre_PPL_rounding </CODE><BR>
+
+  <EM>Sets the FPU rounding mode as it was before initialization of the PPL.
+  After calling this function it is absolutely necessary to call
+  set_rounding_for_PPL() before using any PPL abstractions based on
+  floating point numbers.
+  This is performed automatically at finalization-time.</EM>
+
+<P><CODE> ppl_irrational_precision(?Precision) </CODE><BR>
+
+  <EM>Unifies <CODE>Precision</CODE> with the precision parameter for
+  irrational calculations.</EM>
+
+<P><CODE> ppl_set_irrational_precision(+Precision) </CODE><BR>
+
+  <EM>Sets the precision parameter for irrational calculations to
+  <CODE>Precision</CODE>. In the following irrational calculations
+  returning an unbounded rational (e.g., when computing a square root),
+  the lesser between numerator and denominator will be limited to
+  <CODE>2**Precision</CODE>.</EM>
+
+
+\anchor mip_predicates
+<H3> Predicates for MIP_Problem </H3>
+Here we describe the predicates available for PPL objects
+defining mixed integer (linear) programming problems.
+
+<P><CODE>
+  ppl_new_MIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
+</CODE><BR>
+
+   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with the feasible region
+   the vector space of dimension <CODE>Dimension_Type</CODE>,
+   objective function \f$0\f$ and optimization mode <CODE>max</CODE>.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_MIP_Problem(+Dimension_Type, +Constraint_System, +Lin_Expr,
+                      +Optimization_Mode, -Handle)
+</CODE><BR>
+
+   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with
+   the feasible region the vector space of dimension
+   <CODE>Dimension_Type</CODE>, represented by <CODE>Constraint_System</CODE>,
+   objective function <CODE>Lin_Expr</CODE> and optimization mode
+   <CODE>Optimization_Mode</CODE>.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_MIP_Problem_from_MIP_Problem(+Handle_1, -Handle_2)
+</CODE><BR>
+
+   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ from the MIP Problem
+   referenced by \c Handle_1.
+   \c Handle_2 is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_swap(+Handle_1, +Handle_2)
+</CODE><BR>
+
+   <EM>Swaps the MIP Problem referenced by <CODE>Handle_1</CODE>
+   with the one referenced by <CODE>Handle_2</CODE>.</EM>
+
+<P><CODE>
+  ppl_delete_MIP_Problem(+Handle)
+</CODE><BR>
+
+   <EM>Deletes the MIP Problem referenced by <CODE>Handle</CODE>.
+   After execution,
+   <CODE>Handle</CODE> is no longer a valid handle for a PPL MIP Problem.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_space_dimension(+Handle, ?Dimension_Type)
+</CODE><BR>
+
+   <EM>Unifies the dimension of the vector space in which the
+   MIP Problem referenced by <CODE>Handle</CODE> is embedded
+   with <CODE>Dimension_Type</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_integer_space_dimensions(+Handle, ?Vars_List)
+</CODE><BR>
+
+   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
+   the integer space dimensions of the MIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_constraints(+Handle, -Constraint_System)
+</CODE><BR>
+
+   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
+   the constraints in the constraints system
+   representing the feasible region for the MIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_objective_function(+Handle, ?Lin_Expr)
+</CODE><BR>
+
+   <EM>Unifies <CODE>Lin_Expr</CODE> with the objective function
+   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_optimization_mode(+Handle, ?Optimization_Mode)
+</CODE><BR>
+
+   <EM>Unifies <CODE>Optimization_Mode</CODE> with the optimization mode
+   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_clear(+Handle)
+</CODE><BR>
+
+  <EM>Resets the MIP problem referenced by <CODE>Handle</CODE>
+  to be the trivial problem with
+  the feasible region the \f$0\f$-dimensional universe,
+  objective function \f$0\f$ and optimization mode <CODE>max</CODE>.</EM>
+
+<P><CODE> ppl_MIP_Problem_add_space_dimensions_and_embed(
+             +Handle, +Dimension_Type)
+ </CODE><BR>
+
+   <EM>Embeds the MIP problem referenced by <CODE>Handle</CODE>
+   in a space that is enlarged by <CODE>Dimension_Type</CODE> dimensions.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_add_to_integer_space_dimensions(+Handle, +Vars_List)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the variables in <CODE>Vars_List</CODE> are added to
+   the set of integer space dimensions.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_add_constraint(+Handle, +Constraint)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with the constraint <CODE>Constraint</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_add_constraints(+Handle, +Constraint_System)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with all the constraints in
+   <CODE>Constraint_System</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_set_objective_function(+Handle, +Lin_Expr)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the objective function is changed to <CODE>Lin_Expr</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_set_control_parameter(+Handle, +Control_Parameter_Value)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the value for the relevant control parameter name is
+   changed to <CODE>Control_Parameter_Value</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_get_control_parameter(+Handle, +Control_Parameter_Name,
+                                        ?Control_Parameter_Value)
+</CODE><BR>
+
+   <EM>Unifies \c Control_Parameter_Value with the value of the
+   control parameter \c Control_Parameter_Name.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_set_optimization_mode(+Handle, +Optimization_Mode)
+</CODE><BR>
+
+   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
+   so that the optimization mode is changed to
+   <CODE>Optimization_Mode</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_is_satisfiable(+Handle)
+</CODE><BR>
+
+  <EM>Succeeds if and only if the MIP Problem referenced by
+  <CODE>Handle</CODE> is satisfiable.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_solve(+Handle, ?MIP_Problem_Status)
+</CODE><BR>
+
+  <EM>Solves the MIP problem  referenced by
+  <CODE>Handle</CODE> and unifies <CODE>MIP_Problem_Status</CODE>
+  with:
+  <CODE>unfeasible</CODE>, if the MIP problem is not satisfiable;
+  <CODE>unbounded</CODE>, if the MIP problem is satisfiable but
+  there is no finite bound to the value of the objective function;
+  <CODE>optimized</CODE>, if the MIP problem admits an optimal solution.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_feasible_point(+Handle, ?Generator)
+</CODE><BR>
+
+  <EM>Unifies  <CODE>Generator</CODE> with a feasible point
+  for the MIP problem referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_optimizing_point(+Handle, ?Generator)
+</CODE><BR>
+
+  <EM>Unifies  <CODE>Generator</CODE> with an optimizing point for
+  the MIP problem referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_optimal_value(+Handle, ?Coeff_1, ?Coeff_2)
+</CODE><BR>
+
+  <EM>Unifies <CODE>Coeff_1</CODE> and <CODE>Coeff_2</CODE>
+  with the numerator and denominator, respectively, for the optimal value
+  for the MIP problem  referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_evaluate_objective_function(+Handle, +Generator,
+                                             ?Coeff_1, ?Coeff_2)
+</CODE><BR>
+  <EM>Evaluates the objective function of the MIP problem  referenced by
+  <CODE>Handle</CODE> at point <CODE>Generator</CODE>.
+  <CODE>Coefficient_1</CODE> is unified with the numerator and
+  <CODE>Coefficient_2</CODE> is unified with the denominator of the
+  objective function value at <CODE>Generator</CODE>.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_OK(+Handle)
+</CODE><BR>
+
+   <EM>Succeeds only if the MIP Problem referenced by
+   <CODE>Handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>
+  ppl_MIP_Problem_ascii_dump(+Handle)
+</CODE><BR>
+
+   <EM>Dumps an ascii representation of the PPL internal state for
+   the MIP problem referenced by <CODE>Handle</CODE> on
+   the standard output.</EM>
+
+<BR>
+
+\anchor pip_predicates
+<H3> Predicates for PIP_Problem </H3>
+Here we describe some functions available for PPL objects
+defining parametric integer programming problems.
+
+<P><CODE>
+  ppl_new_PIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
+</CODE><BR>
+
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ with the
+   feasible region the vector space of dimension <CODE>dimension</CODE>,
+   empty constraint_system and empty set of parametric variables.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_PIP_Problem_from_PIP_Problem(+Handle_1, -Handle_2)
+</CODE><BR>
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ from the PIP Problem
+   referenced by \c Handle_1.
+   \c Handle_2 is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_new_PIP_Problem(+Dimension_Type, +Constraint_System, +Vars_List,
+                      -Handle)
+</CODE><BR>
+
+   <EM>Creates a PIP Problem \f$\mathrm{PIP}\f$ having space
+   dimension <CODE>dimension</CODE>, a feasible region represented by
+   <CODE>constraint_system</CODE> and parametric variables represented
+   by <CODE>Vars_List</CODE>.
+   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{PIP}\f$.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_swap(+Handle_1, +Handle_2)
+</CODE><BR>
+   <EM>Swaps the PIP Problem referenced by <CODE>Handle_1</CODE>
+   with the one referenced by <CODE>Handle_2</CODE>.</EM>
+
+<P><CODE>
+  ppl_delete_PIP_Problem(+Handle)
+</CODE><BR>
+   <EM>Deletes the PIP Problem referenced by <CODE>Handle</CODE>.
+   After execution,
+   <CODE>Handle</CODE> is no longer a valid handle for a PPL PIP Problem.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_space_dimension(+Handle, ?Dimension_Type)
+</CODE><BR>
+   <EM>Unifies the dimension of the vector space in which the
+   PIP Problem referenced by <CODE>Handle</CODE> is embedded
+   with <CODE>Dimension_Type</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_parameter_space_dimensions(+Handle, ?Vars_List)
+</CODE><BR>
+   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
+   the parameter space dimensions of the PIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_constraints(+Handle, ?Constraint_System)
+</CODE><BR>
+   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
+   the constraints in the constraints system
+   representing the feasible region for the PIP Problem
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_get_control_parameter(+Handle, +Control_Parameter_Name,
+                                        ?Control_Parameter_Value)
+</CODE><BR>
+
+   <EM>Unifies \c Control_Parameter_Value with the value of the
+   control parameter \c Control_Parameter_Name.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_clear(+Handle)
+</CODE><BR>
+  <EM>Resets the PIP problem referenced by <CODE>Handle</CODE>
+  to be the trivial problem with
+  the feasible region the \f$0\f$-dimensional universe.</EM>
+
+<P><CODE> ppl_PIP_Problem_add_space_dimensions_and_embed(
+             +Handle, +Dimension_Type1, +Dimension_Type2)
+ </CODE><BR>
+   <EM>Embeds the PIP problem referenced by <CODE>handle</CODE>
+   in a space that is enlarged by <CODE>dimension1</CODE> non-parameter
+   dimensions and <CODE>dimension2</CODE> parameter dimensions.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_to_parameter_space_dimensions(+Handle, +Vars_List)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the variables in <CODE>Vars_List</CODE> are added to
+   the set of parameter space dimensions.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_constraint(+Handle, +Constraint)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with the constraint <CODE>Constraint</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_add_constraints(+Handle, +Constraint_System)
+</CODE><BR>
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the feasible region is represented by the original constraint
+   system together with all the constraints in
+   <CODE>Constraint_System</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_set_control_parameter(+Handle, +Control_Parameter_Value)
+</CODE><BR>
+
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+   so that the value for the relevant control parameter name is
+   changed to <CODE>Control_Parameter_Value</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_is_satisfiable(+Handle)
+</CODE><BR>
+  <EM>Succeeds if and only if the PIP Problem referenced by
+  <CODE>Handle</CODE> is satisfiable.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_solve(+Handle, ?PIP_Problem_Status)
+</CODE><BR>
+  <EM>Solves the PIP problem  referenced by
+  <CODE>Handle</CODE> and unifies <CODE>PIP_Problem_Status</CODE>
+  with:
+  <CODE>unfeasible</CODE>, if the PIP problem is not satisfiable;
+  <CODE>optimized</CODE>, if the PIP problem admits an optimal solution.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_solution(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
+  creates a PIP tree node \f$\mathrm{Node}\f$ representing this a solution
+  if it exists and bottom otherwise
+  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_optimizing_solution(+Handle, ?PIP_Tree_Node)
+</CODE><BR>
+  <EM>Solves the PIP problem referenced by <CODE>Handle1</CODE> and
+  creates a PIP tree node \f$\mathrm{Node}\f$ representing this an optimizing
+  solution if a solution exists and bottom otherwise
+  \c Handle_2 is unified with the handle for \f$\mathrm{Sol}\f$.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_has_big_parameter_dimension(+Handle, +Dimension_Type)
+</CODE><BR>
+   <EM>Succeeds if and only if the PIP Problem referenced by
+       <CODE>Handle</CODE> has a dimension \p dim for the big parameter
+       and \p Dimension_Type unifies with \p dim.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_set_big_parameter_dimension(+Handle, +Dimension_Type)
+</CODE><BR>
+
+   <EM>Updates the PIP Problem referenced by <CODE>Handle</CODE>
+       so that the dimension for the big parameter is \p Dimension_Type.</EM>
+
+<P><CODE>
+  ppl_PIP_Problem_OK(+Handle)
+</CODE><BR>
+   <EM>Succeeds only if the PIP Problem referenced by
+   <CODE>Handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>ppl_PIP_Problem_ascii_dump(+Handle)</CODE><BR>
+  <EM>Dumps an ascii representation of the PPL internal state for
+  the PIP problem referenced by \c Handle on the standard output.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_constraints(+Handle, ?Constraint_System)
+</CODE><BR>
+   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
+   the parameter constraints in the PIP tree node
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_solution(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents
+   a solution node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_decision(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents
+   a decision node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_is_bottom(+Handle)
+</CODE><BR>
+   <EM>Succeeds if and only if <CODE>handle</CODE> represents bottom.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_artificials(+Handle, ?Artificial_Parameter_List)
+</CODE><BR>
+   <EM>Unifies <CODE>Artificial_Parameter_List</CODE> with a list of
+   the artificial parameters in the PIP tree node
+   referenced by <CODE>Handle</CODE>.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_OK(+Handle)
+</CODE><BR>
+   <EM>Succeeds only if the PIP tree node referenced by
+   <CODE>Handle</CODE> is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_parametric_values(+Handle, +Var, ?Lin_Expr)
+</CODE><BR>
+   <EM>Unifies \p Lin_Expr with a linear expression representing
+   the values of problem variable \p Var in the solution node
+   represented by <CODE>Handle</CODE>.
+   The  linear expression may involve problem parameters
+   as well as artificial parameters.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_true_child(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
+   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
+   with the child on the true branch of the
+   PIP tree node represented by <CODE>Handle1</CODE>.
+   An exception is thrown if this is not a decision node.</EM>
+
+<P><CODE>
+  ppl_PIP_Tree_Node_false_child(+Handle1, ?Handle2)
+</CODE><BR>
+  <EM>If the PIP_Tree_Node represented by \p Handle1 is a decision node
+   unifies the PIP tree node referenced by <CODE>Handle2</CODE>
+   with the child on the false branch of the
+   PIP tree node represented by <CODE>Handle1</CODE>.
+   An exception is thrown if this is not a decision node.</EM>
+
+*/ /* \page PI_SI_Features */
diff --git a/interfaces/Prolog/Prolog_interface_sysindep_domains.dox b/interfaces/Prolog/Prolog_interface_sysindep_domains.dox
new file mode 100644
index 0000000..a16eb14
--- /dev/null
+++ b/interfaces/Prolog/Prolog_interface_sysindep_domains.dox
@@ -0,0 +1,914 @@
+/* Configuration Independent Documentation for Prolog.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+/*! \page domains_predicates Domains Predicates
+
+The structure of this section is as follows:
+  - \ref c_polyhedron_predicates "Predicates for C Polyhedra"
+  - \ref other_domains_predicates "Ad hoc Predicates for Other Domains"
+
+<BR>
+
+\anchor c_polyhedron_predicates
+<H1>Predicates for the C Polyhedron Domain</H1>
+  Here we provide a short description for each of the predicates
+  available for the domain of C polyhedra.
+Note that predicates for other domains will follow a similar pattern.
+
+<H2>Constructor, copy, conversion and destructor predicates</H2>
+<H3>Constructor predicates for C polyhedra</H3>
+The constructor predicates build a
+C polyhedron from a specification
+and binds the given variable to a handle for future referencing.
+The specification can be:
+- the number of space dimensions and an atom indicating if it
+  is to be the universe or empty element.
+- a representation for the particular class of semantic geometric
+  descriptors to which the element being built belongs.
+For example,
+  a C Polyhedron can be built from a list of
+  non-strict inequality or equality constraints or a list of equality
+  congruences or a list of generators that contains no closure points.
+
+<P><CODE>ppl_new_C_Polyhedron_from_space_dimension(+Dimension_Type, +Universe_or_Empty, -Handle)</CODE><BR>
+   <EM>Builds a new C polyhedron \f$\cP\f$
+   with \c Dimension_Type dimensions; it is empty
+   or the universe depending on whether \c Atom
+   is \c empty or \c universe, respectively.
+   \c Handle is unified with the handle for \f$\cP\f$.
+   Thus the query
+\code
+   ?- ppl_new_C_Polyhedron_from_space_dimension(3, universe, X).
+\endcode
+   creates the C polyhedron defining the
+   3-dimensional vector space
+   \f$\Rset^3\f$ with \c X bound to a valid handle for accessing it.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_constraints(+Constraint_System, -Handle)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P from
+  \c Constraint_System.
+  \c Handle is unified with the handle for \p P.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_congruences(+Congruence_System, -Handle)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P from
+  \c Congruence_System.
+  \c Handle is unified with the handle for \p P.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_generators(+Generator_System, -Handle)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P from
+  \c Generator_System.
+  \c Handle is unified with the handle for \p P.</EM>
+
+
+<H3>Predicates that build new C polyhedra
+  by copying or converting from
+  other semantic geometric descriptions</H3>
+  Besides the constructors listed above, the library also
+  provides:
+- copy constructors that will copy an element belonging
+  to the same class of semantic geometric descriptions
+- conversion operators that build a new semantic geometric
+  description starting from a \b friend;
+  that is, a semantic geometric description in different class
+  (e.g., ppl_new_Grid_from_C_Polyhedron,
+  ppl_new_C_Polyhedron_from_BD_Shape_mpq_class, etc.).<BR>
+
+  The copy and conversion predicates have two versions,
+  one with arity 2 for the source and target handles and one
+  with an extra argument denoting the maximum complexity to be used
+  in the conversion;
+  this complexity argument is ignored when the
+  the friend and the element being built are in the same class.
+
+<P><CODE>ppl_new_C_Polyhedron_from_C_Polyhedron(+Handle_1, -Handle_2)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P_1 from
+   the c polyhedron referenced by handle \c Handle_1.
+  \c Handle_2 is unified with the handle for \p P_1.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_NNC_Polyhedron(+Handle_1, -Handle_2)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P_1 from
+   the nnc polyhedron referenced by handle \c Handle_1.
+  \c Handle_2 is unified with the handle for \p P_1.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_C_Polyhedron_with_complexity(+Handle, +Complexity, -Handle)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P_1 from
+   the c polyhedron referenced by handle \c Handle_1
+  using an algorithm whose complexity does not exceed \c Complexity;
+  \c Handle_2 is unified with the handle for \p P_1.</EM>
+
+<P><CODE>ppl_new_C_Polyhedron_from_NNC_Polyhedron_with_complexity(+Handle, +Complexity, -Handle)</CODE><BR>
+  <EM>Builds a new C polyhedron \p P_1 from
+   the nnc polyhedron referenced by handle \c Handle_1
+  using an algorithm whose complexity does not exceed \c Complexity;
+  \c Handle_2 is unified with the handle for \p P_1.</EM>
+
+
+<H3>Destructor predicate</H3>
+Below is the destructor predicate for the Polyhedron domain.
+
+<P><CODE>ppl_delete_Polyhedron(+Handle)</CODE><BR>
+  <EM>Invalidates the handle  referenced by \c Handle:
+  this makes sure the corresponding resources will eventually be released.</EM>
+
+
+<H2>Predicates that do not change the polyhedron</H2>
+<H3>Test Predicates</H3>
+These predicates test the polyhedron for different properties
+and succeed or fail depending on the outcome.
+
+<P><CODE>ppl_Polyhedron_is_empty(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle is empty.</EM>
+
+<P><CODE>ppl_Polyhedron_is_universe(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle is the universe.</EM>
+
+<P><CODE>ppl_Polyhedron_is_bounded(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle is bounded.</EM>
+
+<P><CODE>ppl_Polyhedron_contains_integer_point(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle contains an integer point.</EM>
+
+<P><CODE>ppl_Polyhedron_is_topologically_closed(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle is topologically closed.</EM>
+
+<P><CODE>ppl_Polyhedron_is_discrete(+Handle)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle is discrete.</EM>
+
+<P><CODE>ppl_Polyhedron_bounds_from_above(+Handle, +Lin_Expr)</CODE><BR>
+   <EM>Succeeds if and only if <CODE>Lin_Expr</CODE> is bounded from above
+   in the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_bounds_from_below(+Handle, +Lin_Expr)</CODE><BR>
+   <EM>Succeeds if and only if <CODE>Lin_Expr</CODE> is bounded from below
+   in the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_contains_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   <CODE>Handle_2</CODE> is included in or equal to
+   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
+
+<P><CODE>ppl_Polyhedron_strictly_contains_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   <CODE>Handle_2</CODE> is included in but not equal to
+   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
+
+<P><CODE>ppl_Polyhedron_is_disjoint_from_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   <CODE>Handle_2</CODE> is disjoint from
+   the polyhedron referenced by <CODE>Handle_1</CODE>.</EM>
+
+<P><CODE>ppl_Polyhedron_equals_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the polyhedron referenced by
+   <CODE>Handle_1</CODE> is
+   equal to the polyhedron referenced by <CODE>Handle_2</CODE>.</EM>
+
+<P><CODE>ppl_Polyhedron_OK(+Handle)</CODE><BR>
+   <EM>Succeeds only if the polyhedron referenced by
+   \c Handle is well formed, i.e., if it
+   satisfies all its implementation invariants.
+   Useful for debugging purposes.</EM>
+
+<P><CODE>ppl_Polyhedron_constrains(+Handle, +PPL_Var)</CODE><BR>
+  <EM>Succeeds if and only if the polyhedron referenced by
+   \c Handle constrains the dimension \c PPL_Var.</EM>
+
+
+<H3>Predicates that return information about the polyhedron</H3>
+These predicates will obtain more detailed information about the
+polyhedron
+unifying some of their arguments with the results.
+
+<P><CODE>ppl_Polyhedron_space_dimension(+Handle, ?Dimension_Type)</CODE><BR>
+   <EM>Unifies \c Dimension_Type with the dimension of the vector space enclosing
+   the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_affine_dimension(+Handle, ?Dimension_Type)</CODE><BR>
+   <EM>Unifies \c Dimension_Type with the affine dimension of
+   the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_relation_with_constraint(+Handle, +Constraint, ?Relation_List)</CODE><BR>
+  <EM>Unifies \c Relation_List with the list of relations the
+  polyhedron referenced by \c Handle has with \c Constraint.
+  The possible relations are listed in the
+  grammar rules above.</EM>
+
+<P><CODE>ppl_Polyhedron_relation_with_generator(+Handle, +Generator, ?Relation_List)</CODE><BR>
+  <EM>Unifies \c Relation_List with the list of relations the
+  polyhedron referenced by \c Handle has with \c Generator.
+  The possible relations are listed in the
+  grammar rules above.</EM>
+
+<P><CODE>ppl_Polyhedron_relation_with_congruence(+Handle, +Congruence, ?Relation_List)</CODE><BR>
+  <EM>Unifies \c Relation_List with the list of relations the
+  polyhedron referenced by \c Handle has with \c Congruence.
+  The possible relations are listed in the
+  grammar rules above.</EM>
+
+<P><CODE>ppl_Polyhedron_get_constraints(+Handle, ?Constraint_System)</CODE><BR>
+   <EM>Unifies \c Constraint_System with
+   the constraints (in the form of a list) in the constraint system
+   satisfied by the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_get_congruences(+Handle, ?Congruence_System)</CODE><BR>
+   <EM>Unifies \c Congruence_System with
+   the congruences (in the form of a list) in the congruence system
+   satisfied by the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_get_generators(+Handle, ?Generator_System)</CODE><BR>
+   <EM>Unifies \c Generator_System with
+   the generators (in the form of a list) in the generator system
+   for the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_get_minimized_constraints(+Handle, ?Constraint_System)</CODE><BR>
+   <EM>Unifies \c Constraint_System with
+   the constraints (in the form of a list)
+   in the minimized constraint system
+   satisfied by the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_get_minimized_congruences(+Handle, ?Congruence_System)</CODE><BR>
+   <EM>Unifies \c Congruence_System with
+   the congruences (in the form of a list)
+   in the minimized congruence system
+   for the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_get_minimized_generators(+Handle, ?Generator_System)</CODE><BR>
+   <EM>Unifies \c Generator_System with
+   the generators (in the form of a list)
+   in the minimized generator system
+   satisfied by the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_maximize(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
+  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from above in \p P.
+
+  \c Coeff_1 is unified with the numerator of the supremum value
+  and \c Coeff_2 with the denominator of the supremum value.
+  If the supremum is also the maximum, \c Boolean is unified
+  with the atom \c true and, otherwise, unified with
+  the atom \c false.</EM>
+
+<P><CODE>ppl_Polyhedron_minimize(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
+  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from below in \p P.
+
+  \c Coeff_1 is unified with the numerator of the infinum value
+  and \c Coeff_2 with the denominator of the infinum value.
+  If the infinum is also the minimum, \c Boolean is unified
+  with the atom \c true and, otherwise, unified with
+  the atom \c false.</EM>
+
+<P><CODE>ppl_Polyhedron_maximize_with_point(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean, ?Point)</CODE><BR>
+  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from above in \p P.
+
+  \c Coeff_1 is unified with the numerator of the supremum value
+  and \c Coeff_2 with the denominator of the supremum value
+  and \c Point with a point or closure point where \c Lin_Expr reaches
+  this value.
+  If the supremum is also the maximum, \c Boolean is unified
+  with the atom \c true and, otherwise, unified with the
+  atom \c false.</EM>
+
+<P><CODE>ppl_Polyhedron_minimize_with_point(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean, ?Point)</CODE><BR>
+  <EM>Succeeds if and only if polyhedron \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from below in \p P.
+
+  \c Coeff_1 is unified with the numerator of the infinum value
+  and \c Coeff_2 with the denominator of the infinum value
+  and \c Point with a point or closure point where \c Lin_Expr reaches
+  this value.
+  If the infinum is also the minimum, \c Boolean is unified
+  with the atom \c true and, otherwise, unified with the
+  atom \c false.</EM>
+
+<P><CODE>ppl_Polyhedron_external_memory_in_bytes(+Handle, ?Number)</CODE><BR>
+<EM>Unifies \c Number with the size of the total memory in
+bytes occupied by the polyhedron referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Polyhedron_total_memory_in_bytes(+Handle, ?Number)</CODE><BR>
+<EM>Unifies \c Number with the size of the external memory in
+bytes occupied by the polyhedron referenced by \c Handle.</EM>
+
+
+<H3>Ascii dump predicate</H3>
+This output predicate is useful for debugging.
+
+<P><CODE>ppl_Polyhedron_ascii_dump(+Handle)</CODE><BR>
+  <EM>Dumps an ascii representation of the PPL internal state for
+  the polyhedron referenced by \c Handle on the standard output.</EM>
+
+
+<H2>Space-dimension preserving predicates that may change
+    the polyhedron</H2>
+These predicates may modify the polyhedron referred to
+by the handle in first argument;
+the (dimension of the) vector space in which it is embedded is unchanged.
+<H3>Predicates that may change the polyhedron by adding
+to its constraint or generator descriptions</H3>
+Note that there are two forms of these predicates
+differentiated in the names by the
+words "add" or "refine with";
+see Section \extref{Generic_Operations_on_Semantic_Geometric_Descriptors, Generic Operations on Semantic Geometric Descriptors} in the
+main \extref{preamble, PPL User Manual}
+for the differences in the semantics and therefore, the expected behavior,
+between these forms.
+
+<P><CODE>ppl_Polyhedron_add_constraint(+Handle, +Constraint)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding
+   \c Constraint to its constraint system.
+   For a C polyhedron, \c Constraint must be
+   an equality or a non-strict inequality.</EM>
+
+<P><CODE>ppl_Polyhedron_add_congruence(+Handle, +Congruence)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding
+   \c Congruence to its congruence system.
+   For a C polyhedron, \c Congruence must be
+   an equality.</EM>
+
+<P><CODE>ppl_Polyhedron_add_generator(+Handle, +Generator)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding
+   \c Generator to its generator system.
+   For a C polyhedron, \c Generator must be
+   a line, ray or point.</EM>
+
+<P><CODE>ppl_Polyhedron_add_constraints(
+                  +Handle,
+                  +Constraint_System)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding to its constraint system the constraints in
+   \c Constraint_System.
+   For a C polyhedron, \c Constraints must be a list of
+   equalities and non-strict inequalities.</EM>
+
+<P><CODE>ppl_Polyhedron_add_congruences(
+                  +Handle,
+                  +Congruence_System)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding to its congruence system the congruences in
+   \c Congruence_System.
+   For a C polyhedron, \c Congruences must be a list of
+   equalities.</EM>
+
+<P><CODE>ppl_Polyhedron_add_generators(
+                  +Handle,
+                  +Generator_System)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by adding to its generator system the generators in
+   \c Generator_System.
+   For a C polyhedron, \c Generators must be a list of
+   lines, rays and points.</EM>
+
+<P><CODE>ppl_Polyhedron_refine_with_constraint(
+                  +Handle,
+                  +Constraint)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by refining its constraint system with
+   \c Constraint.</EM>
+
+<P><CODE>ppl_Polyhedron_refine_with_congruence(
+                  +Handle,
+                  +Congruence)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by refining its congruence system with
+   \c Congruence.</EM>
+
+<P><CODE>ppl_Polyhedron_refine_with_constraints(
+                  +Handle,
+                  +Constraint_System)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by refining its constraint system with
+   the constraints in \c Constraint_System.</EM>
+
+<P><CODE>ppl_Polyhedron_refine_with_congruences(
+                  +Handle,
+                  +Congruence_System)</CODE><BR>
+   <EM>Updates the polyhedron referenced by \c Handle to
+   one obtained by refining its congruence system with
+   the congruences in \c Congruence_System.</EM>
+
+
+<H3>Predicates that transform the polyhedron</H3>
+These predicates enable transformations
+such as taking the topological closure (which for the domain of
+C polyhedron is the identity transformation),
+unconstraining a specified dimension
+as explained in the
+main \extref{preamble, PPL User Manual} in Section
+\extref{Cylindrification, Cylindrification Operator}
+and several different image and preimage affine transfer relations;
+for details of the latter see Sections
+\extref{Images_and_Preimages_of_Affine_Transfer_Relations, Images and Preimages of Affine Transfer Relations}
+and
+\extref{Generalized_Affine_Relations, Generalized Affine Relations}
+<P><CODE>ppl_Polyhedron_topological_closure_assign(+Handle)</CODE><BR>
+  <EM>Assigns to the polyhedron referenced by \c Handle
+  its topological closure.</EM>
+
+<P><CODE>ppl_Polyhedron_unconstrain_space_dimension(+Handle, +PPL_Var)</CODE><BR>
+  <EM>Modifies the polyhedron \p P referenced by \c Handle by unconstraining
+  the space dimension \c PPL_Var.</EM>
+
+<P><CODE>ppl_Polyhedron_unconstrain_space_dimensions(+Handle, +List_of_PPL_Var)</CODE><BR>
+  <EM>Modifies the polyhedron \p P referenced by \c Handle by unconstraining
+  the space dimensions that are specified in \c List_of_PPL_Var.
+  The presence of duplicates in \c List_of_PPL_Var is a waste
+  but an innocuous one.</EM>
+
+<P><CODE>ppl_Polyhedron_affine_image(+Handle, +PPL_Var, +Lin_Expr, +Coeff)</CODE><BR>
+   <EM>Transforms the polyhedron referenced by \c Handle
+   assigning the affine expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
+
+<P><CODE>ppl_Polyhedron_affine_preimage(+Handle, +PPL_Var, +Lin_Expr, +Coeff)</CODE><BR>
+   <EM>Transforms the polyhedron referenced by \c Handle
+   substituting the affine expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_affine_image(+Handle, +PPL_Var, +Lin_Expr_1, +Lin_Expr_2, +Coeff)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized image with respect to the
+  generalized affine transfer relation
+  \c Lin_Expr_1/Coeff
+    \f$\leq\f$ \c PPL_Var
+      \f$\leq\f$ \c Lin_Expr_2/Coeff.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_affine_preimage(+Handle, +PPL_Var, +Lin_Expr_1, +Lin_Expr_2, +Coeff)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized preimage with respect to the
+  generalized affine transfer relation
+  \c Lin_Expr_1/Coeff
+    \f$\leq\f$ \c PPL_Var
+      \f$\leq\f$ \c Lin_Expr_2/Coeff.</EM>
+
+<P><CODE>ppl_Polyhedron_generalized_affine_image(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized image with respect to the
+  generalized affine transfer relation
+   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff,
+   where \f$\bowtie\f$ is the symbol
+   represented by \c Relation_Symbol.</EM>
+
+<P><CODE>ppl_Polyhedron_generalized_affine_preimage(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized preimage with respect to the
+  generalized affine transfer relation
+   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff,
+   where \f$\bowtie\f$ is the symbol
+   represented by \c Relation_Symbol.</EM>
+
+<P><CODE>ppl_Polyhedron_generalized_affine_image_lhs_rhs(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized image with respect to the
+  generalized affine transfer relation
+   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2,
+   where \f$\bowtie\f$ is the symbol
+   represented by \c Relation_Symbol.</EM>
+
+<P><CODE>ppl_Polyhedron_generalized_affine_preimage_lhs_rhs(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2)</CODE><BR>
+  <EM>Assigns to polyhedron \p P referenced by \c Handle
+  the generalized preimage with respect to the
+  generalized affine transfer relation
+   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2,
+   where \f$\bowtie\f$ is the symbol
+   represented by \c Relation_Symbol.</EM>
+
+
+<H3>Predicates whose results depend on more than one polyhedron</H3>
+These predicates include the binary operators which will assign to the
+polyhedron referred to by the first argument
+its combination with the polyhedron referred to by the second argument
+as described in the
+main \extref{preamble, PPL User Manual} in Sections
+\extref{Intersection_and_Convex_Polyhedral_Hull, Intersection and Convex Polyhedral Hull}
+and
+\extref{Convex_Polyhedral_Difference, Convex Polyhedral Difference};
+and a linear partitioning operator described below.
+
+<P><CODE>ppl_Polyhedron_intersection_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the intersection of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_upper_bound_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the upper bound of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_difference_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the difference of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_time_elapse_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the time elapse of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_poly_hull(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the poly-hull of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_poly_difference(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the poly-difference of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_upper_bound_assign_if_exact(+Handle_1, +Handle_2)</CODE><BR>
+    <EM>Succeeds if the least upper bound of the
+    polyhedron \p P_1 referenced by \c Handle_1
+    with the polyhedron referenced by \c Handle_2 is exact;
+    in which case the least upper bound is assigned
+    to \p P_1;
+    fails otherwise.</EM>
+
+<P><CODE>ppl_Polyhedron_poly_hull_assign_if_exact(+Handle_1, +Handle_2)</CODE><BR>
+    <EM>Succeeds if the least upper bound of the
+    polyhedron \p P_1 referenced by \c Handle_1
+    with the polyhedron referenced by \c Handle_2 is exact;
+    in which case the least upper bound is assigned
+    to \p P_1;
+    fails otherwise.</EM>
+
+<P><CODE>ppl_Polyhedron_simplify_using_context_assign(+Handle_1, +Handle_2, ?Boolean)</CODE><BR>
+    <EM>Succeeds if and only if the intersection of polyhedron \p P_1
+    referenced by \c Handle_1 and the polyhedron \p P_2 referenced by \c Handle_2
+    is non-empty.
+    Assigns to \p P_1 its meet-preserving simplification with
+    respect to \p P_2.</EM>
+
+<P><CODE>ppl_Polyhedron_linear_partition(+Handle_1, +Handle_2, -Handle_3,
+                                        -Handle_4)</CODE><BR>
+  <EM>\c Handle_1 and \c Handle_2 are handles for elements \p P_1 and \p P_2
+  in the Polyhedron domain. The predicate unifies handle
+  \c Handle_3 to a reference to the intersection of
+  \p P_1 and \p P_2 and \c Handle_4 to a reference to
+  a pointset powerset of nnc polyhedra \p P_4;
+  where \p P_4 is the linear partition of \p P_1 with respect to \p P_2.
+  This predicate is only provided if the
+  class \c Pointset_Powerset_NNC_Polyhedron
+  has been enabled when configuring the library.</EM>
+
+
+<H3>Predicates for widening and extrapolation</H3>
+In addition to the above binary operators, there are also a number
+of widening, extrapolation and narrowing operators
+as described in the
+main \extref{preamble, PPL User Manual} in Sections
+\extref{Widening_Operators, Widening Operators},
+\extref{Widening_with_Tokens, Widening with Tokens} and
+\extref{Extrapolation_Operators, Extrapolation Operators}.
+Note that for all these widening and extrapolation predicates
+to behave as specified
+the polyhedron referred to by the second argument has to be
+contained in (or equal to) the polyhedron referred to by the first argument.
+
+<P><CODE>ppl_Polyhedron_BHRZ03_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_H79_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_BHRZ03_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_H79_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2.</EM>
+
+<P><CODE>ppl_Polyhedron_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+<EM>Same as predicate <CODE>ppl_Polyhedron_H79_widening_assign_with_tokens</CODE>/4</EM>
+
+<P><CODE>ppl_Polyhedron_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+<EM>Same as predicate <CODE>ppl_Polyhedron_H79_widening_assign</CODE>/2</EM>
+
+<P><CODE>ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_limited_H79_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.
+   The widening with tokens delay
+   technique is applied with \c C_unsigned_1 tokens;
+   \c C_unsigned_2 is unified with the number of tokens
+   remaining at the end of the operation.</EM>
+
+<P><CODE>ppl_Polyhedron_limited_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the BHRZ03-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.</EM>
+
+<P><CODE>ppl_Polyhedron_limited_H79_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1.</EM>
+
+<P><CODE>ppl_Polyhedron_bounded_H79_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P_1 referenced by \c Handle_1
+   the H79-widening of \p P_1 with the polyhedron
+   referenced by \c Handle_2 intersected with the constraints in
+   \c Constraint_System that are
+   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.</EM>
+
+
+<H2>Predicates that may modify the vector space</H2>
+These predicates enable the modification of the vector space
+of the polyhedron referred to in the first argument.
+<H3>Predicate for concatenation</H3>
+For more information on this operation, see Section
+\extref{Concatenating_Polyhedra, Concatenating Polyhedra},
+of the main \extref{preamble, PPL User Manual}.
+
+<P><CODE>ppl_Polyhedron_concatenate_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the polyhedron \p P referenced by \c Handle_1
+   the concatenation of \p P and the polyhedron referenced by \c Handle_2.</EM>
+
+
+<H3>Predicates for mapping dimensions or changing the vector space</H3>
+These predicates enable the modification of the vector space
+of the polyhedron referred to in the first argument.
+These predicates enable the modification of the vector space
+of the polyhedron referred to in the first argument.
+Detailed descriptions of these can be found in the
+main \extref{preamble, PPL User Manual} in Sections
+\extref{Adding_New_Dimensions_to_the_Vector_Space, Adding New Dimensions to the Vector Space},
+\extref{Removing_Dimensions_from_the_Vector_Space, Removing Dimensions from the Vector Space},
+\extref{Mapping_the_Dimensions_of_the_Vector_Space, Mapping the Dimensions of the Vector Space},
+\extref{expand_space_dimension, Expanding One Dimension of the Vector Space to Multiple Dimensions}
+and
+\extref{Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension, Folding Multiple Dimensions of the Vector Space into One Dimension}.
+
+<P><CODE>ppl_Polyhedron_add_space_dimensions_and_embed(+Handle, +Dimension_Type)</CODE><BR>
+  <EM>Adds \c Dimension_Type new dimensions to the space enclosing
+  the polyhedron \p P referenced by \c Handle
+  and and_embeds \p P in this space.</EM>
+
+<P><CODE>ppl_Polyhedron_add_space_dimensions_and_project(+Handle, +Dimension_Type)</CODE><BR>
+  <EM>Adds \c Dimension_Type new dimensions to the space enclosing
+  the polyhedron \p P referenced by \c Handle
+  and and_projects \p P in this space.</EM>
+
+<P><CODE>ppl_Polyhedron_remove_space_dimensions(+Handle, +List_of_PPL_Vars)</CODE><BR>
+  <EM>Removes from the vector space enclosing
+  the polyhedron \p P referenced by \c Handle the space dimensions that
+  are specified in \c List_of_PPL_Var.  The presence
+  of duplicates in  \c List_of_PPL_Var is a waste but an innocuous one.</EM>
+
+<P><CODE>ppl_Polyhedron_remove_higher_space_dimensions(+Handle, +Dimension_Type)</CODE><BR>
+  <EM>Removes the higher dimensions from the vector space enclosing
+  the polyhedron \p P referenced by \c Handle
+  so that, upon successful return, the new space dimension is
+  \c Dimension_Type.</EM>
+
+<P><CODE>ppl_Polyhedron_expand_space_dimension(+Handle, +PPL_Var, +Dimension_Type)</CODE><BR>
+  <EM>Expands the \c  PPL_Var-th
+  dimension of the vector space enclosing
+  the polyhedron referenced by \c Handle to
+  \c Dimension_Type new space dimensions.</EM>
+
+<P><CODE>ppl_Polyhedron_fold_space_dimensions(+Handle, +List_of_PPL_Vars, +PPL_Var)</CODE><BR>
+  <EM>Modifies the polyhedron referenced by \c Handle
+  by folding the
+  space dimensions contained in \c List_of_PPL_Vars
+  into dimension \c PPL_Var.
+  The presence of duplicates in \c List_of_PPL_Vars is a waste
+  but an innocuous one.</EM>
+
+<P><CODE>ppl_Polyhedron_map_space_dimensions(+Handle, +P_Func)</CODE><BR>
+  <EM>Remaps the dimensions of the vector space according to a
+  partial function.
+  This function is specified by means of the \c P_Func,
+  which has \p n entries.
+  The result is undefined if \c P_Func does not encode a partial
+  function.</EM>
+
+
+\anchor other_domains_predicates
+<H1>Ad hoc Predicates for Other Domains</H1>
+<H2>Extra Predicates Specifically for the Pointset Powerset Domains</H2>
+  The powerset domains can be instantiated by taking as a base domain
+  any fixed semantic geometric description
+  (C and NNC polyhedra, BD and octagonal shapes, boxes and grids).
+  An element of the powerset domain represents a disjunctive collection
+  of base objects (its disjuncts), all having the same space dimension.
+  For more information on this construct,
+  see Section \extref{The_Powerset_Domain, The Powerset Domain}
+  in the main \extref{preamble, PPL User Manual}.
+
+  Besides the predicates that are available in all semantic geometric
+  descriptions (whose documentation is not repeated here),
+  the powerset domain also provides several ad hoc predicates.
+  These are specified below, instantiated for the
+  PPL domain Pointset_Powerset_C_Polyhedron.
+  Note that predicates for other pointset powerset domains
+  will follow similar patterns.
+
+  <H3>Predicates for pointset powerset iterators and disjuncts.</H3>
+Iterators allow the user to examine and change individual elements
+(called here disjuncts) of a pointset powerset.
+Detailed descriptions for adding and removing disjuncts can be found in the
+main \extref{preamble, PPL User Manual} in Section
+\extref{Adding_a_Disjunct, Adding a Disjunct}.
+The following predicates support useful operations
+on these iterators and disjuncts via the usual handles.
+
+<P><CODE>ppl_new_Pointset_Powerset_C_Polyhedron_iterator_from_iterator(+Iterator_1, -Iterator_2)</CODE><BR>
+  <EM>Builds a new iterator \p it from the iterator referenced by
+  \c Iterator_1. <CODE>Iterator_2</CODE> is unified with the handle
+  for \p it.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_begin_iterator(+Handle, -Iterator)</CODE><BR>
+  <EM>Unifies \c Iterator with a handle to an iterator "pointing"
+  to the beginning of
+  the sequence of disjuncts of the powerset referred to by \c Handle.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_end_iterator(+Handle, -Iterator)</CODE><BR>
+  <EM>Unifies \c Iterator with a handle to an iterator "pointing"
+  to the end of
+  the sequence of disjuncts of the powerset referred to by \c Handle.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_equals_iterator(+Iterator_1, +Iterator_2)</CODE><BR>
+   <EM>Succeeds if and only if the iterator referenced by
+   \c Iterator_1 is equal to the iterator referenced by
+   \c Iterator_2.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_increment(+Iterator)</CODE><BR>
+  <EM>Increments the iterator referenced by \c Iterator
+  so that it "points" to the next disjunct.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_decrement(+Iterator)</CODE><BR>
+  <EM>Decrements the iterator referenced by \c Iterator
+  so that it "points" to the previous disjunct.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_iterator_get_disjunct(+Iterator, -Handle)</CODE><BR>
+  <EM>Unifies with \c Handle a reference to the disjunct referred
+  to by \c Iterator_1.</EM>
+
+<P><CODE>ppl_delete_Pointset_Powerset_C_Polyhedron_iterator(+Iterator)</CODE><BR>
+  <EM>Invalidates the handle referenced by <CODE>Iterator</CODE>:
+  this makes sure the corresponding resources
+  will eventually be released.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_add_disjunct(+Handle_1, +Handle_2)</CODE><BR>
+  <EM>Adds to the pointset powerset referenced by \c Handle_1 a disjunct
+  referred to by \c Handle_2.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_drop_disjunct(+Handle, +Iterator)</CODE><BR>
+  <EM>If \p it is the iterator referred to by \c Iterator,
+  drops from the pointset powerset referenced by \c Handle
+  the disjunct pointed to by \p it and
+  assigns to \p it an iterator to the next disjunct.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_drop_disjuncts(+Handle, +Iterator_1, +Iterator_2)</CODE><BR>
+  <EM>If \p it_1 and \p it_2 are the iterators referred to by \c Iterator_1
+  and \c Iterator_2, respectively,
+  drops from the pointset powerset referenced by \c Handle
+   all the disjuncts from \p it_1 to \p it_2 (excluded).</EM>
+
+  <H3>Other Ad Hoc Predicates for the pointset powerset domains.</H3>
+Collected here are some other predicates that are specific to
+pointset powersets of C polyhedra;
+these provide operations for
+simplifying the powerset,
+geometric comparisons
+and widening and extrapolation.
+Detailed descriptions of these can be found in the
+main \extref{preamble, PPL User Manual} in Sections
+\extref{Geometric_Comparisons, Geometric Comparisons},
+\extref{Certificate_Based_Widenings, Certificate-Based Widenings},
+\extref{Powerset_Extrapolation_Operators, Powerset Extrapolation Operators}.
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_pairwise_reduce(+Handle)</CODE><BR>
+   <EM>Assigns the result of pairwise reduction on
+   the pointset powerset referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_omega_reduce(+Handle)</CODE><BR>
+   <EM>Assigns the result of omega reduction on
+   the pointset powerset referenced by \c Handle.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_geometrically_covers_Pointset_Powerset_C_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the pointset powerset referenced by
+   \c Handle_2 geometrically covers
+   the pointset powerset referenced by \c Handle_1;
+   see Section \extref{Geometric_Comparisons, Geometric Comparisons}
+  in the main \extref{preamble, PPL User Manual}.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_geometrically_equals_Pointset_Powerset_C_Polyhedron(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Succeeds if and only if the pointset powerset referenced by
+   \c Handle_2 geometrically equals
+   the pointset powerset referenced by \c Handle_1;
+   see Section \extref{Geometric_Comparisons, Geometric Comparisons}
+  in the main \extref{preamble, PPL User Manual}.</EM>
+
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BHZ03_BHRZ03_BHRZ03_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the pointset powerset \p P_1 referenced by
+   \c Handle_1 the \extref{pps_certificate_widening, BHZ03-widening}
+    between \p P_1 and the pointset powerset referenced by
+   \c Handle_2, using the BHRZ03-widening
+    certified by the convergence certificate for BHRZ03.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BHZ03_H79_H79_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+   <EM>Assigns to the pointset powerset \p P_1 referenced by
+   \c Handle_1 the \extref{pps_certificate_widening, BHZ03-widening}
+    between \p P_1 and the pointset powerset referenced by
+   \c Handle_2, using the H79-widening
+    certified by the convergence certificate for H79.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BGP99_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, C_unsigned)</CODE><BR>
+    <EM>Assigns to the pointset powerset \p P_1 referenced by
+   \c Handle_1 the result of applying the
+    \extref{pps_bgp99_extrapolation, BGP99 extrapolation operator}
+    between \p P_1 and the pointset powerset referenced by
+   \c Handle_2, using the BHRZ03-widening
+    and the cardinality threshold \c C_unsigned.</EM>
+
+<P><CODE>ppl_Pointset_Powerset_C_Polyhedron_BGP99_H79_extrapolation_assign(+Handle_1, +Handle_2, C_unsigned)</CODE><BR>
+    <EM>Assigns to the pointset powerset \p P_1 referenced by
+   \c Handle_1 the result of applying the
+    \extref{pps_bgp99_extrapolation, BGP99 extrapolation operator}
+    between \p P_1 and the pointset powerset referenced by
+   \c Handle_2, using the H79-widening
+    and the cardinality threshold \c C_unsigned.</EM>
+
+*/ /* \page domains_predicates */
diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
index b8e0f57..7469919 100644
--- a/interfaces/Prolog/SICStus/Makefile.am
+++ b/interfaces/Prolog/SICStus/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SICSTUS_CFLI_FILES = sicstus_cfli.h sicstus_cfli.ic sicstus_cfli.cc
 
@@ -31,21 +31,11 @@ sp_clpq.pl \
 sp_pl_check.pl \
 sp_prolog_generated_test.pl
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(SICSTUS_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -69,14 +59,13 @@ ppl_sicstus_SOURCES =
 
 if ENABLE_SHARED
 
-pkglib_DATA = ppl_sicstus.pl ppl_sicstus.s.o
+pkgdata_DATA = ppl_sicstus.pl ppl_sicstus.s.o
 
-ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
+ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la libppl_sicstus.la
 	$(LIBTOOL) --mode=link --tag=CXX \
 		splfr --cflag="$(AM_CPPFLAGS)" -o $@ \
 			$(srcdir)/ppl_sicstus.pl \
 			libppl_sicstus.la \
-			$(WATCHDOG_LIBRARY) \
 			@extra_libraries@
 
 #			@required_instantiations_prolog_cxx_objects@
@@ -87,7 +76,7 @@ install-data-local: ppl_sicstus.so
 
 else !ENABLE_SHARED
 
-pkglib_DATA = ppl_sicstus.pl
+pkgdata_DATA = ppl_sicstus.pl
 
 endif !ENABLE_SHARED
 
@@ -188,7 +177,6 @@ endif NO_UNDEFINED
 libppl_sicstus_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_sicstus_la_DEPENDENCIES = \
@@ -199,13 +187,12 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-ppl_sicstus$(EXEEXT): ppl_sicstus.s.o $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY)
+ppl_sicstus$(EXEEXT): ppl_sicstus.s.o $(top_builddir)/src/libppl.la
 	$(LIBTOOL) --mode=link --tag=CXX \
 		spld --main=prolog \
 			--cflag=`echo '$(AM_CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)' | tr " " ","` \
 			--resources=ppl_sicstus.s.o -o $@ \
 			$(top_builddir)/src/libppl.la \
-			$(WATCHDOG_LIBRARY) \
 			@extra_libraries@
 
 if ENABLE_STATIC
@@ -266,7 +253,6 @@ pl_check_test: ppl_sicstus ppl_sicstus.pl sp_pl_check.pl ../tests/pl_check.pl $(
 	cp -f $(srcdir)/../tests/pl_check.pl .
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		./ppl_sicstus -l $(srcdir)/sp_pl_check.pl \
         --goal "main."  \
 			>obtained_pchk
@@ -281,7 +267,6 @@ $(CLPQ_TESTS):
 clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS) | pl_check_test
 	$(LIBTOOL) --mode=execute \
 	  -dlopen ../../../src/libppl.la \
-	  $(WATCHDOG_DLOPEN) \
 	  ./ppl_sicstus -l $(srcdir)/sp_clpq.pl \
 	    --goal "main('$(top_srcdir)/interfaces/Prolog/tests/clpq')." \
 	      <$(srcdir)/../tests/script_clpq >obtained_clpq
@@ -292,7 +277,6 @@ clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/scrip
 clpq2_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS) | clpq_test
 	$(LIBTOOL) --mode=execute \
           -dlopen ../../../src/libppl.la \
-	  $(WATCHDOG_DLOPEN) \
 	  ./ppl_sicstus -l $(srcdir)/sp_clpq.pl \
 	    --goal "main('$(top_srcdir)/interfaces/Prolog/tests/clpq2')." \
 	      <$(srcdir)/../tests/script_clpq2 >obtained_clpq2
@@ -303,7 +287,6 @@ ppl_prolog_generated_test: ppl_sicstus ppl_sicstus.pl sp_prolog_generated_test.p
 	cp -f ../tests/ppl_prolog_generated_test_main.pl .
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		./ppl_sicstus -l $(srcdir)/sp_prolog_generated_test.pl \
         --goal "main."  \
 			>obtained_pgt
@@ -333,12 +316,3 @@ $(nodist_EXTRA_libppl_sicstus_la_SOURCES):
 # are actually required.
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
-
-if BUILD_WATCHDOG_LIBRARY
-
-# FIXME: check whether the dependencies from `libpwl.la' in this Makefile.am
-# are actually required.
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
-endif BUILD_WATCHDOG_LIBRARY
diff --git a/interfaces/Prolog/SICStus/Makefile.in b/interfaces/Prolog/SICStus/Makefile.in
index 1efaad4..1d73c98 100644
--- a/interfaces/Prolog/SICStus/Makefile.in
+++ b/interfaces/Prolog/SICStus/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 
@@ -72,27 +72,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -105,14 +100,14 @@ nodist_libppl_sicstus_la_OBJECTS = ppl_sicstus_sd.lo \
 	ppl_prolog_common.lo
 libppl_sicstus_la_OBJECTS = $(am_libppl_sicstus_la_OBJECTS) \
 	$(nodist_libppl_sicstus_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_sicstus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(AM_CXXFLAGS) $(CXXFLAGS) $(libppl_sicstus_la_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibdir)"
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"
 PROGRAMS = $(bin_PROGRAMS)
 am_ppl_sicstus_OBJECTS =
 ppl_sicstus_OBJECTS = $(am_ppl_sicstus_OBJECTS)
@@ -127,18 +122,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -146,18 +141,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_sicstus_la_SOURCES) \
 	$(nodist_libppl_sicstus_la_SOURCES) \
@@ -185,7 +180,13 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-DATA = $(pkglib_DATA)
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -212,6 +213,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -236,21 +238,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -306,6 +303,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -374,7 +372,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -394,16 +391,11 @@ sp_clpq.pl \
 sp_pl_check.pl \
 sp_prolog_generated_test.pl
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(SICSTUS_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -418,8 +410,8 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ppl_interface_generator_sicstus_sd_cc.m4
 
 ppl_sicstus_SOURCES = 
- at ENABLE_SHARED_FALSE@pkglib_DATA = ppl_sicstus.pl
- at ENABLE_SHARED_TRUE@pkglib_DATA = ppl_sicstus.pl ppl_sicstus.s.o
+ at ENABLE_SHARED_FALSE@pkgdata_DATA = ppl_sicstus.pl
+ at ENABLE_SHARED_TRUE@pkgdata_DATA = ppl_sicstus.pl ppl_sicstus.s.o
 noinst_LTLIBRARIES = libppl_sicstus.la
 libppl_sicstus_la_SOURCES = \
 ppl_prolog_sysdep.hh \
@@ -511,7 +503,6 @@ nodist_EXTRA_libppl_sicstus_la_SOURCES = \
 libppl_sicstus_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_sicstus_la_DEPENDENCIES = \
@@ -594,7 +585,7 @@ clean-noinstLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_sicstus.la: $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_DEPENDENCIES) 
+libppl_sicstus.la: $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_DEPENDENCIES) $(EXTRA_libppl_sicstus_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_sicstus_la_LINK)  $(libppl_sicstus_la_OBJECTS) $(libppl_sicstus_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
@@ -728,660 +719,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1470,7 +1380,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -1483,10 +1393,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1524,13 +1439,13 @@ info: info-am
 
 info-am:
 
-install-data-am: install-data-local
+install-data-am: install-data-local install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS install-pkglibDATA
+install-exec-am: install-binPROGRAMS
 
 install-html: install-html-am
 
@@ -1570,7 +1485,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA
+uninstall-am: uninstall-binPROGRAMS uninstall-pkgdataDATA
 
 .MAKE: check-am install-am install-strip
 
@@ -1583,24 +1498,23 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA
 	install-data-local install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-pkglibDATA install-ps install-ps-am install-strip \
+	install-pkgdataDATA install-ps install-ps-am install-strip \
 	installcheck installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-binPROGRAMS \
-	uninstall-pkglibDATA
+	uninstall-pkgdataDATA
 
 
 ppl_sicstus_sd.cc: $(interface_generator_dependencies)
 	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_sicstus_sd_cc.m4 > $@
 
- at ENABLE_SHARED_TRUE@ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
+ at ENABLE_SHARED_TRUE@ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la libppl_sicstus.la
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=link --tag=CXX \
 @ENABLE_SHARED_TRUE@		splfr --cflag="$(AM_CPPFLAGS)" -o $@ \
 @ENABLE_SHARED_TRUE@			$(srcdir)/ppl_sicstus.pl \
 @ENABLE_SHARED_TRUE@			libppl_sicstus.la \
- at ENABLE_SHARED_TRUE@			$(WATCHDOG_LIBRARY) \
 @ENABLE_SHARED_TRUE@			@extra_libraries@
 
 #			@required_instantiations_prolog_cxx_objects@
@@ -1609,13 +1523,12 @@ ppl_sicstus_sd.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) \
 @ENABLE_SHARED_TRUE@		$< $(DESTDIR)$(pkglibdir)/$<
 
-ppl_sicstus$(EXEEXT): ppl_sicstus.s.o $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY)
+ppl_sicstus$(EXEEXT): ppl_sicstus.s.o $(top_builddir)/src/libppl.la
 	$(LIBTOOL) --mode=link --tag=CXX \
 		spld --main=prolog \
 			--cflag=`echo '$(AM_CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)' | tr " " ","` \
 			--resources=ppl_sicstus.s.o -o $@ \
 			$(top_builddir)/src/libppl.la \
-			$(WATCHDOG_LIBRARY) \
 			@extra_libraries@
 
 @ENABLE_STATIC_TRUE at ppl_sicstus.s.o: ppl_sicstus.pl libppl_sicstus.la
@@ -1640,7 +1553,6 @@ pl_check_test: ppl_sicstus ppl_sicstus.pl sp_pl_check.pl ../tests/pl_check.pl $(
 	cp -f $(srcdir)/../tests/pl_check.pl .
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		./ppl_sicstus -l $(srcdir)/sp_pl_check.pl \
         --goal "main."  \
 			>obtained_pchk
@@ -1655,7 +1567,6 @@ $(CLPQ_TESTS):
 clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS) | pl_check_test
 	$(LIBTOOL) --mode=execute \
 	  -dlopen ../../../src/libppl.la \
-	  $(WATCHDOG_DLOPEN) \
 	  ./ppl_sicstus -l $(srcdir)/sp_clpq.pl \
 	    --goal "main('$(top_srcdir)/interfaces/Prolog/tests/clpq')." \
 	      <$(srcdir)/../tests/script_clpq >obtained_clpq
@@ -1666,7 +1577,6 @@ clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/scrip
 clpq2_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS) | clpq_test
 	$(LIBTOOL) --mode=execute \
           -dlopen ../../../src/libppl.la \
-	  $(WATCHDOG_DLOPEN) \
 	  ./ppl_sicstus -l $(srcdir)/sp_clpq.pl \
 	    --goal "main('$(top_srcdir)/interfaces/Prolog/tests/clpq2')." \
 	      <$(srcdir)/../tests/script_clpq2 >obtained_clpq2
@@ -1677,7 +1587,6 @@ ppl_prolog_generated_test: ppl_sicstus ppl_sicstus.pl sp_prolog_generated_test.p
 	cp -f ../tests/ppl_prolog_generated_test_main.pl .
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		./ppl_sicstus -l $(srcdir)/sp_prolog_generated_test.pl \
         --goal "main."  \
 			>obtained_pgt
@@ -1699,11 +1608,6 @@ $(nodist_EXTRA_libppl_sicstus_la_SOURCES):
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
 
-# FIXME: check whether the dependencies from `libpwl.la' in this Makefile.am
-# are actually required.
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la:
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 b/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
index 4ac1c8b..0bb5c5a 100644
--- a/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+++ b/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_sicstus_sd.cc.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include common macros for generating system dependent code.
 m4_include(`ppl_interface_generator_prolog_systems.m4')dnl
diff --git a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
index 1220bf3..8e0409c 100644
--- a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for SICStus Prolog.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "sicstus_efli.hh"
 
diff --git a/interfaces/Prolog/SICStus/ppl_sicstus.pl b/interfaces/Prolog/SICStus/ppl_sicstus.pl
index b8a1da0..19be8a0 100644
--- a/interfaces/Prolog/SICStus/ppl_sicstus.pl
+++ b/interfaces/Prolog/SICStus/ppl_sicstus.pl
@@ -1,6 +1,6 @@
 /* Loader for the SICStus Prolog interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 foreign_resource(ppl_sicstus,
 [
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.cc b/interfaces/Prolog/SICStus/sicstus_cfli.cc
index 92b675b..e97aa45 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.cc
@@ -1,6 +1,6 @@
 /* SICStus Prolog Common Foreign Language Interface: implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "sicstus_cfli.h"
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.h b/interfaces/Prolog/SICStus/sicstus_cfli.h
index fcb9f82..5ba53a3 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.h
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.h
@@ -1,6 +1,6 @@
 /* SICStus Prolog Common Foreign Language Interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_sicstus_cfli_h
 #define PCFLI_sicstus_cfli_h 1
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.ic b/interfaces/Prolog/SICStus/sicstus_cfli.ic
index 8881691..5dfe493 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.ic
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.ic
@@ -1,6 +1,6 @@
 /* SICStus Common Foreign Language Interface: definitions. -*- C -*-
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include <assert.h>
 #include <limits.h>
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.cc b/interfaces/Prolog/SICStus/sicstus_efli.cc
index 4493dc0..c9a3e73 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_efli.cc
@@ -1,6 +1,6 @@
 /* SICStus Prolog extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "sicstus_efli.hh"
 
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.hh b/interfaces/Prolog/SICStus/sicstus_efli.hh
index 32f091c..d8a0ba1 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.hh
+++ b/interfaces/Prolog/SICStus/sicstus_efli.hh
@@ -1,6 +1,6 @@
 /* SICStus Prolog extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_sicstus_efli_hh
 #define PPL_sicstus_efli_hh 1
diff --git a/interfaces/Prolog/SICStus/sp_clpq.pl b/interfaces/Prolog/SICStus/sp_clpq.pl
index b267872..1fa96d9 100644
--- a/interfaces/Prolog/SICStus/sp_clpq.pl
+++ b/interfaces/Prolog/SICStus/sp_clpq.pl
@@ -1,6 +1,6 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- ensure_loaded('ppl_sicstus.pl').
 
diff --git a/interfaces/Prolog/SICStus/sp_pl_check.pl b/interfaces/Prolog/SICStus/sp_pl_check.pl
index ffeeaaf..305be92 100644
--- a/interfaces/Prolog/SICStus/sp_pl_check.pl
+++ b/interfaces/Prolog/SICStus/sp_pl_check.pl
@@ -1,6 +1,6 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 prolog_system('SICStus').
 
diff --git a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
index c4e10a9..683b3e1 100644
--- a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
+++ b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
@@ -1,6 +1,6 @@
 /* Main program for the PPL/SICStus-Prolog generated tests.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 prolog_system('SICStus').
 
diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
index dfebe4d..f517ca3 100644
--- a/interfaces/Prolog/SWI/Makefile.am
+++ b/interfaces/Prolog/SWI/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
@@ -46,21 +46,11 @@ swi_pl_check.pl \
 swi_prolog_generated_test.pl \
 README.swiprolog
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(SWI_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -175,8 +165,8 @@ endif NO_UNDEFINED
 libppl_swiprolog_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
- at extra_libraries@
+ at extra_libraries@ \
+$(SWI_PROLOG_LD_OPTIONS)
 
 libppl_swiprolog_la_DEPENDENCIES = \
 @required_instantiations_prolog_cxx_objects@
@@ -186,10 +176,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-bin_PROGRAMS = ppl_pl
-ppl_pl_SOURCES = ppl_pl.cc
-
-pkglib_DATA = ppl_swiprolog.pl
+pkgdata_DATA = ppl_swiprolog.pl
 
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
@@ -205,7 +192,7 @@ schedule.clpq
 
 CLPQ_TESTS = $(CLPQ_TESTS_NONSTRICT) $(CLPQ_TESTS_STRICT)
 
-check_PROGRAMS = pl_clpq pl_clpq2
+check_PROGRAMS = ppl_pl pl_clpq pl_clpq2
 pl_clpq_SOURCES = pl_clpq.cc
 pl_clpq2_SOURCES = pl_clpq.cc
 
@@ -233,12 +220,21 @@ LIBPPL_SWIPROLOG_LINK_OPTIONS = -L.libs -lppl_swiprolog
 
 endif !ENABLE_STATIC
 
+# Apart from the internal testing purposes, `ppl_pl' only makes
+# sense when shared libraries are disabled.
+if !ENABLE_SHARED
+bin_PROGRAMS = ppl_pl
+endif !ENABLE_SHARED
+
+ppl_pl_SOURCES = ppl_pl.cc
+
+
 ppl_pl$(EXEEXT): libppl_swiprolog.la ppl_pl.o
-	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc "$(CC)" -c++ "$(CXX)" -ld "$(CXX)" \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) ppl_pl.o \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@@ -246,7 +242,7 @@ pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq.pl \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 
 pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
@@ -255,7 +251,7 @@ pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq2.pl \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
 
@@ -280,7 +276,6 @@ pl_check_test: swi_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	echo "ensure_loaded('$(srcdir)/swi_pl_check'). main." > script_pchk
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
                 $(CHECKER) ./ppl_pl < script_pchk
 	rm -f pl_check.pl
@@ -292,7 +287,6 @@ $(CLPQ_TESTS):
 clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
 		$(CHECKER) ./pl_clpq <$(srcdir)/../tests/script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
@@ -300,7 +294,6 @@ clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
 		$(CHECKER) ./pl_clpq2 <$(srcdir)/../tests/script_clpq2 >obtained_clpq2
 	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
@@ -311,7 +304,6 @@ ppl_prolog_generated_test: swi_prolog_generated_test.pl ../tests/ppl_prolog_gene
 	echo "ensure_loaded('$(srcdir)/swi_prolog_generated_test'). main." > script_pgt
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
                 $(CHECKER) ./ppl_pl <script_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/SWI/Makefile.in b/interfaces/Prolog/SWI/Makefile.in
index 4f01081..ecec6f8 100644
--- a/interfaces/Prolog/SWI/Makefile.in
+++ b/interfaces/Prolog/SWI/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 
@@ -59,8 +59,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-bin_PROGRAMS = ppl_pl$(EXEEXT)
-check_PROGRAMS = pl_clpq$(EXEEXT) pl_clpq2$(EXEEXT)
+check_PROGRAMS = ppl_pl$(EXEEXT) pl_clpq$(EXEEXT) pl_clpq2$(EXEEXT)
+ at ENABLE_SHARED_FALSE@bin_PROGRAMS = ppl_pl$(EXEEXT)
 subdir = interfaces/Prolog/SWI
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -73,27 +73,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -121,16 +116,23 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" \
-	"$(DESTDIR)$(pkglibdir)"
+	"$(DESTDIR)$(pkgdatadir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
+am__DEPENDENCIES_1 =
 am_libppl_swiprolog_la_OBJECTS = swi_efli.lo
 nodist_libppl_swiprolog_la_OBJECTS = ppl_swiprolog.lo \
 	ppl_prolog_common.lo
 libppl_swiprolog_la_OBJECTS = $(am_libppl_swiprolog_la_OBJECTS) \
 	$(nodist_libppl_swiprolog_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_swiprolog_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -156,18 +158,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -175,18 +177,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_swiprolog_la_SOURCES) \
 	$(nodist_libppl_swiprolog_la_SOURCES) \
@@ -194,7 +196,7 @@ SOURCES = $(libppl_swiprolog_la_SOURCES) \
 	$(pl_clpq2_SOURCES) $(ppl_pl_SOURCES)
 DIST_SOURCES = $(libppl_swiprolog_la_SOURCES) $(pl_clpq_SOURCES) \
 	$(pl_clpq2_SOURCES) $(ppl_pl_SOURCES)
-DATA = $(pkglib_DATA)
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -221,6 +223,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -245,21 +248,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -315,6 +313,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -383,7 +382,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -411,16 +409,11 @@ swi_pl_check.pl \
 swi_prolog_generated_test.pl \
 README.swiprolog
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(SWI_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -525,8 +518,8 @@ nodist_EXTRA_libppl_swiprolog_la_SOURCES = \
 libppl_swiprolog_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
- at extra_libraries@
+ at extra_libraries@ \
+$(SWI_PROLOG_LD_OPTIONS)
 
 libppl_swiprolog_la_DEPENDENCIES = \
 @required_instantiations_prolog_cxx_objects@
@@ -536,8 +529,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-ppl_pl_SOURCES = ppl_pl.cc
-pkglib_DATA = ppl_swiprolog.pl
+pkgdata_DATA = ppl_swiprolog.pl
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
 ackn.clpq \
@@ -566,6 +558,7 @@ pl_clpq2_SOURCES = pl_clpq.cc
 # the user instructs the dynamic linker to look into the pkglib
 # directory.
 @ENABLE_STATIC_TRUE at LIBPPL_SWIPROLOG_LINK_OPTIONS = .libs/libppl_swiprolog.a
+ppl_pl_SOURCES = ppl_pl.cc
 COEFFICIENT_MNEMONIC = @coefficient_mnemonic@
 @ASSERTIONS_ENABLED_FALSE at EXPECTED_CLPQ = $(srcdir)/../tests/expected_clpq_$(COEFFICIENT_MNEMONIC)
 @ASSERTIONS_ENABLED_TRUE at EXPECTED_CLPQ = $(srcdir)/../tests/expected_clpq_$(COEFFICIENT_MNEMONIC)_a
@@ -648,7 +641,7 @@ clean-pkglibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_swiprolog.la: $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_DEPENDENCIES) 
+libppl_swiprolog.la: $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_DEPENDENCIES) $(EXTRA_libppl_swiprolog_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_swiprolog_la_LINK) -rpath $(pkglibdir) $(libppl_swiprolog_la_OBJECTS) $(libppl_swiprolog_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
@@ -793,660 +786,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1536,7 +1448,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -1549,10 +1461,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1589,14 +1506,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-binPROGRAMS install-pkglibDATA \
-	install-pkglibLTLIBRARIES
+install-exec-am: install-binPROGRAMS install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
@@ -1636,7 +1552,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
+uninstall-am: uninstall-binPROGRAMS uninstall-pkgdataDATA \
 	uninstall-pkglibLTLIBRARIES
 
 .MAKE: check-am install-am install-strip
@@ -1650,12 +1566,12 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-pkglibDATA install-pkglibLTLIBRARIES install-ps \
+	install-pkgdataDATA install-pkglibLTLIBRARIES install-ps \
 	install-ps-am install-strip installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	mostlyclean mostlyclean-compile mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-binPROGRAMS uninstall-pkglibDATA \
+	uninstall-am uninstall-binPROGRAMS uninstall-pkgdataDATA \
 	uninstall-pkglibLTLIBRARIES
 
 
@@ -1664,11 +1580,11 @@ ppl_swiprolog.cc: $(interface_generator_dependencies)
            $(srcdir)/ppl_interface_generator_swiprolog_cc.m4 > $@
 
 ppl_pl$(EXEEXT): libppl_swiprolog.la ppl_pl.o
-	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
+	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc "$(CC)" -c++ "$(CXX)" -ld "$(CXX)" \
 		-ld-options`echo '' $(AM_CXXFLAGS) $(CXXFLAGS) | tr " " "/"` \
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) ppl_pl.o \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@@ -1676,7 +1592,7 @@ pl_clpq$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq.pl
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq.pl \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
 	$(SWI_PROLOG_LD) -pl $(SWI_PROLOG) -cc $(CC) -c++ $(CXX) -ld $(CXX) \
@@ -1684,7 +1600,7 @@ pl_clpq2$(EXEEXT): libppl_swiprolog.la pl_clpq.o pl_clpq.pl ../tests/clpq2.pl
 		-o $@ $(LIBPPL_SWIPROLOG_LINK_OPTIONS) pl_clpq.o \
                 $(srcdir)/pl_clpq.pl $(srcdir)/../tests/clpq2.pl \
 		-L$(top_builddir)/src/.libs \
-		-lppl $(WATCHDOG_LINK_OPTIONS) @extra_libraries@ $(EXTRA_LINK_OPTIONS)
+		-lppl @extra_libraries@ $(EXTRA_LINK_OPTIONS)
 
 check-local: pl_check_test clpq_test clpq2_test ppl_prolog_generated_test
 
@@ -1693,7 +1609,6 @@ pl_check_test: swi_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	echo "ensure_loaded('$(srcdir)/swi_pl_check'). main." > script_pchk
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
                 $(CHECKER) ./ppl_pl < script_pchk
 	rm -f pl_check.pl
@@ -1705,7 +1620,6 @@ $(CLPQ_TESTS):
 clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
 		$(CHECKER) ./pl_clpq <$(srcdir)/../tests/script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
@@ -1713,7 +1627,6 @@ clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
 		$(CHECKER) ./pl_clpq2 <$(srcdir)/../tests/script_clpq2 >obtained_clpq2
 	diff -u --ignore-all-space $(EXPECTED_CLPQ2) obtained_clpq2
@@ -1724,7 +1637,6 @@ ppl_prolog_generated_test: swi_prolog_generated_test.pl ../tests/ppl_prolog_gene
 	echo "ensure_loaded('$(srcdir)/swi_prolog_generated_test'). main." > script_pgt
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen libppl_swiprolog.la \
                 $(CHECKER) ./ppl_pl <script_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/SWI/README.swiprolog b/interfaces/Prolog/SWI/README.swiprolog
index e74df07..867b39b 100644
--- a/interfaces/Prolog/SWI/README.swiprolog
+++ b/interfaces/Prolog/SWI/README.swiprolog
@@ -1,3 +1,15 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+
 The SWI-Prolog interface to the Parma Polyhedra Library (PPL) is
 available both as a statically linked module or as a dynamically
 linked one.  Only SWI-Prolog version 5.6.0 and later versions are
diff --git a/interfaces/Prolog/SWI/pl_clpq.cc b/interfaces/Prolog/SWI/pl_clpq.cc
index 24a2178..42e8283 100644
--- a/interfaces/Prolog/SWI/pl_clpq.cc
+++ b/interfaces/Prolog/SWI/pl_clpq.cc
@@ -1,6 +1,6 @@
 /* C++ main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include <SWI-Prolog.h>
 
diff --git a/interfaces/Prolog/SWI/pl_clpq.pl b/interfaces/Prolog/SWI/pl_clpq.pl
index 838fdff..55f692e 100644
--- a/interfaces/Prolog/SWI/pl_clpq.pl
+++ b/interfaces/Prolog/SWI/pl_clpq.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 eat_eol.
 
diff --git a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
index b61e820..049e46f 100644
--- a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+++ b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_swiprolog.cc.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/SWI/ppl_pl.cc b/interfaces/Prolog/SWI/ppl_pl.cc
index 07bbc69..98fd7fa 100644
--- a/interfaces/Prolog/SWI/ppl_pl.cc
+++ b/interfaces/Prolog/SWI/ppl_pl.cc
@@ -1,6 +1,6 @@
 /* Main program for SWI-Prolog with the PPL statically linked.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include <SWI-Prolog.h>
 
diff --git a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
index 4fc003a..477e69e 100644
--- a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for SWI Prolog.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "swi_efli.hh"
 
diff --git a/interfaces/Prolog/SWI/ppl_swiprolog.pl b/interfaces/Prolog/SWI/ppl_swiprolog.pl
index 6a9ae6f..d4ce1a6 100644
--- a/interfaces/Prolog/SWI/ppl_swiprolog.pl
+++ b/interfaces/Prolog/SWI/ppl_swiprolog.pl
@@ -1,6 +1,6 @@
 /* Loader for the SWI-Prolog interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,6 +19,6 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- load_foreign_library('libppl_swiprolog').
diff --git a/interfaces/Prolog/SWI/swi_cfli.hh b/interfaces/Prolog/SWI/swi_cfli.hh
index 033c815..414d1f4 100644
--- a/interfaces/Prolog/SWI/swi_cfli.hh
+++ b/interfaces/Prolog/SWI/swi_cfli.hh
@@ -1,6 +1,6 @@
 /* SWI-Prolog Common Foreign Language Interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_swi_cfli_hh
 #define PCFLI_swi_cfli_hh 1
@@ -294,7 +294,7 @@ Prolog_is_compound(Prolog_term_ref t) {
 */
 inline int
 Prolog_is_cons(Prolog_term_ref t) {
-  return !PL_is_atom(t) && PL_is_list(t);
+  return (!PL_is_atom(t) && PL_is_list(t)) ? 1 : 0;
 }
 
 /*!
diff --git a/interfaces/Prolog/SWI/swi_efli.cc b/interfaces/Prolog/SWI/swi_efli.cc
index a35bdcc..a1e0f8b 100644
--- a/interfaces/Prolog/SWI/swi_efli.cc
+++ b/interfaces/Prolog/SWI/swi_efli.cc
@@ -1,6 +1,6 @@
 /* SWI-Prolog extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "swi_efli.hh"
 
@@ -52,7 +52,7 @@ int
 Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
   assert(Prolog_is_integer(t));
   // FIXME: avoid the temporary when Coefficient is mpz_class.
-  PPL_DIRTY_TEMP0(mpz_class, tmp);
+  PPL_DIRTY_TEMP(mpz_class, tmp);
   int r;
 #if PLVERSION >= 50800
   r = PL_get_mpz(t, tmp.get_mpz_t());
@@ -66,7 +66,7 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 
 int
 Prolog_unify_Coefficient(Prolog_term_ref t, const Coefficient& n) {
-  PPL_DIRTY_TEMP0(mpz_class, tmp);
+  PPL_DIRTY_TEMP(mpz_class, tmp);
   assign_r(tmp, n, ROUND_NOT_NEEDED);
   return PL_unify_mpz(t, tmp.get_mpz_t());
 }
diff --git a/interfaces/Prolog/SWI/swi_efli.hh b/interfaces/Prolog/SWI/swi_efli.hh
index 649af84..060de2f 100644
--- a/interfaces/Prolog/SWI/swi_efli.hh
+++ b/interfaces/Prolog/SWI/swi_efli.hh
@@ -1,6 +1,6 @@
 /* SWI-Prolog extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_swi_efli_hh
 #define PPL_swi_efli_hh 1
diff --git a/interfaces/Prolog/SWI/swi_pl_check.pl b/interfaces/Prolog/SWI/swi_pl_check.pl
index 3158b3e..ddb3667 100644
--- a/interfaces/Prolog/SWI/swi_pl_check.pl
+++ b/interfaces/Prolog/SWI/swi_pl_check.pl
@@ -1,6 +1,6 @@
 /* Main program for the PPL/SWI-Prolog checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :-  ensure_loaded('pl_check.pl').
 
diff --git a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
index 135ed02..c1e95db 100644
--- a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
+++ b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
@@ -1,6 +1,6 @@
 /* Main program for the PPL/SWI-Prolog generated tests.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 member(X, [X|_]).
 member(X, [_|T]) :-
diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
index 4db977c..105d351 100644
--- a/interfaces/Prolog/XSB/Makefile.am
+++ b/interfaces/Prolog/XSB/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 XSB_CFLI_FILES = xsb_cfli.hh
 
@@ -33,15 +33,6 @@ xsb_clpq2.P \
 xsb_pl_check.P \
 ppl_interface_generator_xsb_prolog_generated_test_P.m4
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 interface_generator_dependencies = \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
@@ -73,7 +64,6 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(XSB_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -177,7 +167,6 @@ endif NO_UNDEFINED
 libppl_xsb_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_xsb_la_DEPENDENCIES = \
@@ -188,7 +177,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-pkglib_DATA = ppl_xsb.xwam
+pkgdata_DATA = ppl_xsb.xwam
 
 ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
 	cp -f ppl_xsb.cc ppl_xsb.c
@@ -196,10 +185,9 @@ ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
 	  "[cc('$(CXX)'), cc_opts('$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) " \
 	    "$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC " \
 	    "-L.libs -lppl_xsb" \
-	    "-L../../../src/.libs -L../../../Watchdog/src/.libs')])." \
+	    "-L../../../src/.libs')])." \
 		| $(LIBTOOL) --mode=execute \
 			-dlopen ../../../src/libppl.la \
-			$(WATCHDOG_DLOPEN) \
 			xsb
 	rm -f ppl_xsb.c
 
@@ -244,7 +232,6 @@ check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_
 	rm -f xsb_clpq.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_clpq \
 			<$(srcdir)/../tests/script_clpq >obtained_clpq
 	rm -f clpq.pl
@@ -259,7 +246,6 @@ check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_
 	rm -f xsb_clpq2.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_clpq2 \
 			<$(srcdir)/../tests/script_clpq2 >obtained_clpq2
 	rm -f clpq2.pl
@@ -276,7 +262,6 @@ pl_check_test: libppl_xsb.la ppl_xsb.xwam xsb_pl_check.P ../tests/pl_check.pl
 	rm -f xsb_pl_check.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_pl_check \
 			>obtained_pchk
 	rm -f pl_check.pl
@@ -291,7 +276,6 @@ ppl_prolog_generated_test: libppl_xsb.la ppl_xsb.xwam xsb_prolog_generated_test.
 	rm -f xsb_prolog_generated_test.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_prolog_generated_test \
 			>obtained_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/XSB/Makefile.in b/interfaces/Prolog/XSB/Makefile.in
index 2d8532c..91f960c 100644
--- a/interfaces/Prolog/XSB/Makefile.in
+++ b/interfaces/Prolog/XSB/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -102,8 +97,8 @@ am_libppl_xsb_la_OBJECTS = xsb_efli.lo
 nodist_libppl_xsb_la_OBJECTS = ppl_prolog_common.lo
 libppl_xsb_la_OBJECTS = $(am_libppl_xsb_la_OBJECTS) \
 	$(nodist_libppl_xsb_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_xsb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
@@ -119,18 +114,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -138,18 +133,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_xsb_la_SOURCES) $(nodist_libppl_xsb_la_SOURCES) \
 	$(nodist_EXTRA_libppl_xsb_la_SOURCES)
@@ -175,8 +170,14 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkglibdir)"
-DATA = $(pkglib_DATA)
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -203,6 +204,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -227,21 +229,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -297,6 +294,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -365,7 +363,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -387,10 +384,6 @@ xsb_clpq2.P \
 xsb_pl_check.P \
 ppl_interface_generator_xsb_prolog_generated_test_P.m4
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 interface_generator_dependencies = \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
@@ -406,7 +399,6 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(XSB_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -504,7 +496,6 @@ nodist_EXTRA_libppl_xsb_la_SOURCES = \
 libppl_xsb_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 libppl_xsb_la_DEPENDENCIES = \
@@ -515,7 +506,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-pkglib_DATA = ppl_xsb.xwam
+pkgdata_DATA = ppl_xsb.xwam
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
 ackn.clpq \
@@ -593,7 +584,7 @@ clean-noinstLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl_xsb.la: $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_DEPENDENCIES) 
+libppl_xsb.la: $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_DEPENDENCIES) $(EXTRA_libppl_xsb_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_xsb_la_LINK)  $(libppl_xsb_la_OBJECTS) $(libppl_xsb_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
@@ -683,660 +674,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1426,7 +1336,7 @@ check: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
@@ -1440,10 +1350,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1481,13 +1396,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-pkglibDATA
+install-exec-am:
 
 install-html: install-html-am
 
@@ -1527,7 +1442,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-pkglibDATA
+uninstall-am: uninstall-pkgdataDATA
 
 .MAKE: all check check-am install install-am install-strip
 
@@ -1539,11 +1454,11 @@ uninstall-am: uninstall-pkglibDATA
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-pkglibDATA install-ps install-ps-am install-strip \
+	install-pkgdataDATA install-ps install-ps-am install-strip \
 	installcheck installcheck-am installdirs maintainer-clean \
 	maintainer-clean-generic mostlyclean mostlyclean-compile \
 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-pkglibDATA
+	tags uninstall uninstall-am uninstall-pkgdataDATA
 
 
 ppl_xsb.H: $(interface_generator_dependencies) ppl_interface_generator_xsb_H.m4
@@ -1568,10 +1483,9 @@ ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
 	  "[cc('$(CXX)'), cc_opts('$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) " \
 	    "$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -fPIC " \
 	    "-L.libs -lppl_xsb" \
-	    "-L../../../src/.libs -L../../../Watchdog/src/.libs')])." \
+	    "-L../../../src/.libs')])." \
 		| $(LIBTOOL) --mode=execute \
 			-dlopen ../../../src/libppl.la \
-			$(WATCHDOG_DLOPEN) \
 			xsb
 	rm -f ppl_xsb.c
 
@@ -1586,7 +1500,6 @@ check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_
 	rm -f xsb_clpq.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_clpq \
 			<$(srcdir)/../tests/script_clpq >obtained_clpq
 	rm -f clpq.pl
@@ -1601,7 +1514,6 @@ check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_
 	rm -f xsb_clpq2.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_clpq2 \
 			<$(srcdir)/../tests/script_clpq2 >obtained_clpq2
 	rm -f clpq2.pl
@@ -1618,7 +1530,6 @@ pl_check_test: libppl_xsb.la ppl_xsb.xwam xsb_pl_check.P ../tests/pl_check.pl
 	rm -f xsb_pl_check.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_pl_check \
 			>obtained_pchk
 	rm -f pl_check.pl
@@ -1633,7 +1544,6 @@ ppl_prolog_generated_test: libppl_xsb.la ppl_xsb.xwam xsb_prolog_generated_test.
 	rm -f xsb_prolog_generated_test.xwam
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		xsb xsb_prolog_generated_test \
 			>obtained_pgt
 	rm -f ppl_prolog_generated_test_common.pl
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
index 52f0d71..4950fa1 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file ppl_xsb.H.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
index d1611fd..7a86d27 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
index 7950d53..88d3042 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
index dc70e0b..dd926f6 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
@@ -5,7 +5,7 @@ dnl This m4 file defines macros needed for generating
 dnl the XSB dependent code for xsb_prolog_generated_test.pl.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_common_dat.m4')
 m4_include(`ppl_interface_generator_prolog_systems.m4')
diff --git a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
index 2ef80eb..08a5af1 100644
--- a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for XSB.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "xsb_efli.hh"
 #include "ppl_xsb.hh"
diff --git a/interfaces/Prolog/XSB/xsb_cfli.hh b/interfaces/Prolog/XSB/xsb_cfli.hh
index 16763f1..434baba 100644
--- a/interfaces/Prolog/XSB/xsb_cfli.hh
+++ b/interfaces/Prolog/XSB/xsb_cfli.hh
@@ -1,6 +1,6 @@
 /* XSB Prolog Common Foreign Language Interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_xsb_cfli_hh
 #define PCFLI_xsb_cfli_hh 1
diff --git a/interfaces/Prolog/XSB/xsb_clpq.P b/interfaces/Prolog/XSB/xsb_clpq.P
index f8f4714..d4d7ac7 100644
--- a/interfaces/Prolog/XSB/xsb_clpq.P
+++ b/interfaces/Prolog/XSB/xsb_clpq.P
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- compiler_options([xpp_on]).
 :- import xpp_include_dir/1 from parse.
diff --git a/interfaces/Prolog/XSB/xsb_clpq2.P b/interfaces/Prolog/XSB/xsb_clpq2.P
index 6d3dd36..cc6da7f 100644
--- a/interfaces/Prolog/XSB/xsb_clpq2.P
+++ b/interfaces/Prolog/XSB/xsb_clpq2.P
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- compiler_options([xpp_on]).
 :- import xpp_include_dir/1 from parse.
diff --git a/interfaces/Prolog/XSB/xsb_efli.cc b/interfaces/Prolog/XSB/xsb_efli.cc
index dbaeeb5..e17dd25 100644
--- a/interfaces/Prolog/XSB/xsb_efli.cc
+++ b/interfaces/Prolog/XSB/xsb_efli.cc
@@ -1,6 +1,6 @@
 /* XSB extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "xsb_efli.hh"
 #include "ppl_prolog_common.defs.hh"
diff --git a/interfaces/Prolog/XSB/xsb_efli.hh b/interfaces/Prolog/XSB/xsb_efli.hh
index e2bed2b..efa79a4 100644
--- a/interfaces/Prolog/XSB/xsb_efli.hh
+++ b/interfaces/Prolog/XSB/xsb_efli.hh
@@ -1,6 +1,6 @@
 /* XSB extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_xsb_efli_hh
 #define PPL_xsb_efli_hh 1
diff --git a/interfaces/Prolog/XSB/xsb_pl_check.P b/interfaces/Prolog/XSB/xsb_pl_check.P
index b12c3d4..0426c72 100644
--- a/interfaces/Prolog/XSB/xsb_pl_check.P
+++ b/interfaces/Prolog/XSB/xsb_pl_check.P
@@ -1,6 +1,6 @@
 /* Prolog main program for the PPL/XSB-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- compiler_options([xpp_on]).
 :- import xpp_include_dir/1 from parse.
diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
index c71adac..c79ad45 100644
--- a/interfaces/Prolog/YAP/Makefile.am
+++ b/interfaces/Prolog/YAP/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 YAP_CFLI_FILES = yap_cfli.hh
 
@@ -33,15 +33,6 @@ yap_pl_check.pl \
 yap_prolog_generated_test.pl \
 README.yap
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
-WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
-WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
-WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
-
-endif BUILD_WATCHDOG_LIBRARY
-
 interface_generator_dependencies = \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
@@ -63,7 +54,6 @@ AM_CPPFLAGS = \
 -I$(top_srcdir)/interfaces/Prolog \
 -I$(top_buildir)/interfaces/Prolog \
 -I$(top_builddir)/src \
-$(WATCHDOG_INCLUDE_OPTIONS) \
 $(YAP_PROLOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
@@ -168,7 +158,6 @@ ppl_yap_la_LIBADD = \
 @required_instantiations_prolog_cxx_objects@ \
 $(YAP_PROLOG_LD_OPTIONS) \
 $(top_builddir)/src/libppl.la \
-$(WATCHDOG_LIBRARY) \
 @extra_libraries@
 
 ppl_yap_la_DEPENDENCIES = \
@@ -179,7 +168,7 @@ $(NO_UNDEFINED_FLAG) \
 -module \
 -avoid-version
 
-pkglib_DATA = ppl_yap.pl
+pkgdata_DATA = ppl_yap.pl
 
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
@@ -217,7 +206,6 @@ pl_check_test: yap_pl_check.pl ppl_yap.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	echo "main." >script_pchk
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
 		$(YAP_PROLOG) -l $(srcdir)/yap_pl_check.pl \
 			<script_pchk >obtained_pchk
@@ -231,7 +219,6 @@ clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECT
 	cat $(srcdir)/../tests/script_clpq >>script_clpq
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
 		$(YAP_PROLOG) -l $(srcdir)/yap_clpq.pl \
 			<script_clpq >obtained_clpq
@@ -242,7 +229,6 @@ clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EX
 	cat $(srcdir)/../tests/script_clpq2 >>script_clpq2
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
 		$(YAP_PROLOG) -l $(srcdir)/yap_clpq2.pl \
 			<script_clpq2 >obtained_clpq2
@@ -258,7 +244,6 @@ ppl_prolog_generated_test: yap_prolog_generated_test.pl ppl_yap.pl  ../tests/exp
 	echo "main." >script_pgt
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
-		$(WATCHDOG_DLOPEN) \
 		-dlopen ppl_yap.la \
 		$(YAP_PROLOG) -l yap_prolog_generated_test.pl \
 			<script_pgt >obtained_pgt
diff --git a/interfaces/Prolog/YAP/Makefile.in b/interfaces/Prolog/YAP/Makefile.in
index b435ea7..8f710d4 100644
--- a/interfaces/Prolog/YAP/Makefile.in
+++ b/interfaces/Prolog/YAP/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -118,7 +113,13 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)"
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 am__ppl_yap_la_SOURCES_DIST = ppl_prolog_sysdep.hh yap_efli.hh \
@@ -128,8 +129,8 @@ am__ppl_yap_la_SOURCES_DIST = ppl_prolog_sysdep.hh yap_efli.hh \
 @ENABLE_SHARED_TRUE@	ppl_prolog_common.lo
 ppl_yap_la_OBJECTS = $(am_ppl_yap_la_OBJECTS) \
 	$(nodist_ppl_yap_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 ppl_yap_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
@@ -145,18 +146,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -164,23 +165,23 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ppl_yap_la_SOURCES) $(nodist_ppl_yap_la_SOURCES) \
 	$(nodist_EXTRA_ppl_yap_la_SOURCES)
 DIST_SOURCES = $(am__ppl_yap_la_SOURCES_DIST)
-DATA = $(pkglib_DATA)
+DATA = $(pkgdata_DATA)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -207,6 +208,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -231,21 +233,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -301,6 +298,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -369,7 +367,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -391,10 +388,6 @@ yap_pl_check.pl \
 yap_prolog_generated_test.pl \
 README.yap
 
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY = $(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_INCLUDE_OPTIONS = -I$(top_builddir)/Watchdog/src
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_DLOPEN = -dlopen $(WATCHDOG_LIBRARY)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LINK_OPTIONS = -L$(top_builddir)/Watchdog/src/.libs -lpwl
 interface_generator_dependencies = \
 $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ../../ppl_interface_generator_common.m4 \
@@ -410,7 +403,6 @@ ppl_interface_generator_yap_cc.m4
 @ENABLE_SHARED_TRUE at -I$(top_srcdir)/interfaces/Prolog \
 @ENABLE_SHARED_TRUE at -I$(top_buildir)/interfaces/Prolog \
 @ENABLE_SHARED_TRUE at -I$(top_builddir)/src \
- at ENABLE_SHARED_TRUE@$(WATCHDOG_INCLUDE_OPTIONS) \
 @ENABLE_SHARED_TRUE@$(YAP_PROLOG_INCLUDE_OPTIONS) \
 @ENABLE_SHARED_TRUE@@extra_includes@
 
@@ -509,7 +501,6 @@ ppl_interface_generator_yap_cc.m4
 @ENABLE_SHARED_TRUE@@required_instantiations_prolog_cxx_objects@ \
 @ENABLE_SHARED_TRUE@$(YAP_PROLOG_LD_OPTIONS) \
 @ENABLE_SHARED_TRUE@$(top_builddir)/src/libppl.la \
- at ENABLE_SHARED_TRUE@$(WATCHDOG_LIBRARY) \
 @ENABLE_SHARED_TRUE@@extra_libraries@
 
 @ENABLE_SHARED_TRUE at ppl_yap_la_DEPENDENCIES = \
@@ -520,7 +511,7 @@ ppl_interface_generator_yap_cc.m4
 @ENABLE_SHARED_TRUE at -module \
 @ENABLE_SHARED_TRUE at -avoid-version
 
- at ENABLE_SHARED_TRUE@pkglib_DATA = ppl_yap.pl
+ at ENABLE_SHARED_TRUE@pkgdata_DATA = ppl_yap.pl
 @ENABLE_SHARED_TRUE at CLPQ_TESTS_NONSTRICT = \
 @ENABLE_SHARED_TRUE at ack.clpq \
 @ENABLE_SHARED_TRUE at ackn.clpq \
@@ -615,7 +606,7 @@ clean-pkglibLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-ppl_yap.la: $(ppl_yap_la_OBJECTS) $(ppl_yap_la_DEPENDENCIES) 
+ppl_yap.la: $(ppl_yap_la_OBJECTS) $(ppl_yap_la_DEPENDENCIES) $(EXTRA_ppl_yap_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(ppl_yap_la_LINK) $(am_ppl_yap_la_rpath) $(ppl_yap_la_OBJECTS) $(ppl_yap_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
@@ -706,660 +697,579 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 ppl_prolog_common.lo: ../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_common.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_common.Tpo -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_common.Tpo $(DEPDIR)/ppl_prolog_common.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_common.cc' object='ppl_prolog_common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_common.lo `test -f '../ppl_prolog_common.cc' || echo '$(srcdir)/'`../ppl_prolog_common.cc
 
 ppl_prolog_Int8_Box.lo: ../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int8_Box.Tpo -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int8_Box.cc' object='ppl_prolog_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int8_Box.lo `test -f '../ppl_prolog_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int8_Box.cc
 
 ppl_prolog_Int16_Box.lo: ../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int16_Box.Tpo -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int16_Box.cc' object='ppl_prolog_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int16_Box.lo `test -f '../ppl_prolog_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int16_Box.cc
 
 ppl_prolog_Int32_Box.lo: ../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int32_Box.Tpo -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int32_Box.cc' object='ppl_prolog_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int32_Box.lo `test -f '../ppl_prolog_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int32_Box.cc
 
 ppl_prolog_Int64_Box.lo: ../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Int64_Box.Tpo -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Int64_Box.cc' object='ppl_prolog_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Int64_Box.lo `test -f '../ppl_prolog_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Int64_Box.cc
 
 ppl_prolog_Uint8_Box.lo: ../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint8_Box.cc' object='ppl_prolog_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint8_Box.lo `test -f '../ppl_prolog_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint8_Box.cc
 
 ppl_prolog_Uint16_Box.lo: ../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint16_Box.cc' object='ppl_prolog_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint16_Box.lo `test -f '../ppl_prolog_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint16_Box.cc
 
 ppl_prolog_Uint32_Box.lo: ../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint32_Box.cc' object='ppl_prolog_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint32_Box.lo `test -f '../ppl_prolog_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint32_Box.cc
 
 ppl_prolog_Uint64_Box.lo: ../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Uint64_Box.cc' object='ppl_prolog_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Uint64_Box.lo `test -f '../ppl_prolog_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Uint64_Box.cc
 
 ppl_prolog_Float_Box.lo: ../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Float_Box.Tpo -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Float_Box.cc' object='ppl_prolog_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Float_Box.lo `test -f '../ppl_prolog_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Float_Box.cc
 
 ppl_prolog_Double_Box.lo: ../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Double_Box.Tpo -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Double_Box.cc' object='ppl_prolog_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Double_Box.lo `test -f '../ppl_prolog_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Double_Box.cc
 
 ppl_prolog_Long_Double_Box.lo: ../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Long_Double_Box.cc' object='ppl_prolog_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Long_Double_Box.lo `test -f '../ppl_prolog_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Long_Double_Box.cc
 
 ppl_prolog_Rational_Box.lo: ../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Rational_Box.Tpo -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Rational_Box.cc' object='ppl_prolog_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Rational_Box.lo `test -f '../ppl_prolog_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Rational_Box.cc
 
 ppl_prolog_Z_Box.lo: ../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Z_Box.Tpo -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Z_Box.cc' object='ppl_prolog_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Z_Box.lo `test -f '../ppl_prolog_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Z_Box.cc
 
 ppl_prolog_BD_Shape_int8_t.lo: ../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int8_t.cc' object='ppl_prolog_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int8_t.lo `test -f '../ppl_prolog_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int8_t.cc
 
 ppl_prolog_BD_Shape_int16_t.lo: ../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int16_t.cc' object='ppl_prolog_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int16_t.lo `test -f '../ppl_prolog_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int16_t.cc
 
 ppl_prolog_BD_Shape_int32_t.lo: ../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int32_t.cc' object='ppl_prolog_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int32_t.lo `test -f '../ppl_prolog_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int32_t.cc
 
 ppl_prolog_BD_Shape_int64_t.lo: ../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_int64_t.cc' object='ppl_prolog_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_int64_t.lo `test -f '../ppl_prolog_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_int64_t.cc
 
 ppl_prolog_BD_Shape_float.lo: ../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_float.cc' object='ppl_prolog_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_float.lo `test -f '../ppl_prolog_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_float.cc
 
 ppl_prolog_BD_Shape_double.lo: ../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_double.cc' object='ppl_prolog_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_double.lo `test -f '../ppl_prolog_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_double.cc
 
 ppl_prolog_BD_Shape_long_double.lo: ../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_long_double.cc' object='ppl_prolog_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_long_double.lo `test -f '../ppl_prolog_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_long_double.cc
 
 ppl_prolog_BD_Shape_mpq_class.lo: ../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpq_class.cc' object='ppl_prolog_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpq_class.cc
 
 ppl_prolog_BD_Shape_mpz_class.lo: ../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_BD_Shape_mpz_class.cc' object='ppl_prolog_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_BD_Shape_mpz_class.cc
 
 ppl_prolog_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Octagonal_Shape_float.lo: ../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_float.cc' object='ppl_prolog_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_float.cc
 
 ppl_prolog_Octagonal_Shape_double.lo: ../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_double.cc' object='ppl_prolog_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_double.cc
 
 ppl_prolog_Octagonal_Shape_long_double.lo: ../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_long_double.cc' object='ppl_prolog_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Polyhedron.lo: ../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Polyhedron.Tpo -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Polyhedron.cc' object='ppl_prolog_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Polyhedron.lo `test -f '../ppl_prolog_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Polyhedron.cc
 
 ppl_prolog_Grid.lo: ../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Grid.Tpo -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Grid.Tpo $(DEPDIR)/ppl_prolog_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Grid.cc' object='ppl_prolog_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Grid.lo `test -f '../ppl_prolog_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Grid.cc
 
 ppl_prolog_Pointset_Powerset_Int8_Box.lo: ../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int8_Box.cc' object='ppl_prolog_Pointset_Powerset_Int8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int16_Box.lo: ../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int16_Box.cc' object='ppl_prolog_Pointset_Powerset_Int16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int32_Box.lo: ../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int32_Box.cc' object='ppl_prolog_Pointset_Powerset_Int32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Int64_Box.lo: ../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Int64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Int64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Int64_Box.cc' object='ppl_prolog_Pointset_Powerset_Int64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Int64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Int64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Int64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint8_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint8_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint8_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint8_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint8_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint8_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint8_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint16_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint16_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint16_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint16_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint16_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint16_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint16_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint32_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint32_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint32_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint32_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint32_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint32_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint32_Box.cc
 
 ppl_prolog_Pointset_Powerset_Uint64_Box.lo: ../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Uint64_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Uint64_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' object='ppl_prolog_Pointset_Powerset_Uint64_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Uint64_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Uint64_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Uint64_Box.cc
 
 ppl_prolog_Pointset_Powerset_Float_Box.lo: ../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Float_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Float_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Float_Box.cc' object='ppl_prolog_Pointset_Powerset_Float_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Float_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Float_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Float_Box.cc
 
 ppl_prolog_Pointset_Powerset_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Doub [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Long_Double_Box.lo: ../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Long_Double_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Long_Double_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' object='ppl_prolog_Pointset_Powerset_Long_Double_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Long_Double_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Long_Double_Box.cc
 
 ppl_prolog_Pointset_Powerset_Rational_Box.lo: ../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Rational_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Rational_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Rational_Box.cc' object='ppl_prolog_Pointset_Powerset_Rational_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Rational_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Rational_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Rational_Box.cc
 
 ppl_prolog_Pointset_Powerset_Z_Box.lo: ../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Z_Box.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Z_Box.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Z_Box.cc' object='ppl_prolog_Pointset_Powerset_Z_Box.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Z_Box.lo `test -f '../ppl_prolog_Pointset_Powerset_Z_Box.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Z_Box.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolo [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Po [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../p [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_BD_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int8_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int16_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int32_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || ec [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_int64_t.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_float.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo ' [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_ [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_long_double.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpq_class.cc
 
 ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo: ../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.c [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' object='ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.lo `test -f '../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Octagonal_Shape_mpz_class.cc
 
 ppl_prolog_Pointset_Powerset_C_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Power [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_C_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_C_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo: ../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Points [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' object='ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_NNC_Polyhedron.lo `test -f '../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_NNC_Polyhedron.cc
 
 ppl_prolog_Pointset_Powerset_Grid.lo: ../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Pointset_Powerset_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Tpo $(DEPDIR)/ppl_prolog_Pointset_Powerset_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Pointset_Powerset_Grid.cc' object='ppl_prolog_Pointset_Powerset_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Pointset_Powerset_Grid.lo `test -f '../ppl_prolog_Pointset_Powerset_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Pointset_Powerset_Grid.cc
 
 ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'` [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(sr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Constraints_Product_Grid_NNC_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_C_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo: ../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Gr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' object='ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.lo `test -f '../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_NNC_Polyhedron_Grid.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' | [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_C_Polyhedron.cc
 
 ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo: ../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo -MD -MP -MF $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedr [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Tpo $(DEPDIR)/ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' object='ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.lo `test -f '../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc' || echo '$(srcdir)/'`../ppl_prolog_Shape_Preserving_Product_Grid_NNC_Polyhedron.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
 
 clean-libtool:
 	-rm -rf .libs _libs
-install-pkglibDATA: $(pkglib_DATA)
+install-pkgdataDATA: $(pkgdata_DATA)
 	@$(NORMAL_INSTALL)
-	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	test -z "$(pkgdatadir)" || $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)"
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
 	  echo "$$d$$p"; \
 	done | $(am__base_list) | \
 	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkglibdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkglibdir)" || exit $$?; \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
 	done
 
-uninstall-pkglibDATA:
+uninstall-pkgdataDATA:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglib_DATA)'; test -n "$(pkglibdir)" || list=; \
+	@list='$(pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files
+	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1449,7 +1359,7 @@ check-am: all-am
 check: check-am
 all-am: Makefile $(LTLIBRARIES) $(DATA)
 installdirs:
-	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkglibdir)"; do \
+	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(pkgdatadir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: install-am
@@ -1462,10 +1372,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1502,13 +1417,13 @@ info: info-am
 
 info-am:
 
-install-data-am:
+install-data-am: install-pkgdataDATA
 
 install-dvi: install-dvi-am
 
 install-dvi-am:
 
-install-exec-am: install-pkglibDATA install-pkglibLTLIBRARIES
+install-exec-am: install-pkglibLTLIBRARIES
 
 install-html: install-html-am
 
@@ -1548,7 +1463,7 @@ ps: ps-am
 
 ps-am:
 
-uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
+uninstall-am: uninstall-pkgdataDATA uninstall-pkglibLTLIBRARIES
 
 .MAKE: check-am install-am install-strip
 
@@ -1560,12 +1475,12 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-pdf install-pdf-am \
-	install-pkglibDATA install-pkglibLTLIBRARIES install-ps \
+	install-pkgdataDATA install-pkglibLTLIBRARIES install-ps \
 	install-ps-am install-strip installcheck installcheck-am \
 	installdirs maintainer-clean maintainer-clean-generic \
 	mostlyclean mostlyclean-compile mostlyclean-generic \
 	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
+	uninstall-am uninstall-pkgdataDATA uninstall-pkglibLTLIBRARIES
 
 
 ppl_yap.cc: $(interface_generator_dependencies)
@@ -1578,7 +1493,6 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@	echo "main." >script_pchk
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
 @ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_pl_check.pl \
 @ENABLE_SHARED_TRUE@			<script_pchk >obtained_pchk
@@ -1592,7 +1506,6 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@	cat $(srcdir)/../tests/script_clpq >>script_clpq
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
 @ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_clpq.pl \
 @ENABLE_SHARED_TRUE@			<script_clpq >obtained_clpq
@@ -1603,7 +1516,6 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@	cat $(srcdir)/../tests/script_clpq2 >>script_clpq2
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
 @ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l $(srcdir)/yap_clpq2.pl \
 @ENABLE_SHARED_TRUE@			<script_clpq2 >obtained_clpq2
@@ -1619,7 +1531,6 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@	echo "main." >script_pgt
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
- at ENABLE_SHARED_TRUE@		$(WATCHDOG_DLOPEN) \
 @ENABLE_SHARED_TRUE@		-dlopen ppl_yap.la \
 @ENABLE_SHARED_TRUE@		$(YAP_PROLOG) -l yap_prolog_generated_test.pl \
 @ENABLE_SHARED_TRUE@			<script_pgt >obtained_pgt
diff --git a/interfaces/Prolog/YAP/README.yap b/interfaces/Prolog/YAP/README.yap
index fd92834..db5ea39 100644
--- a/interfaces/Prolog/YAP/README.yap
+++ b/interfaces/Prolog/YAP/README.yap
@@ -1,3 +1,15 @@
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is free software; as a special exception the author gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.
+
 The YAP Prolog interface to the PPL is available as a dynamically
 linked module.  Only YAP version 5.1.1 and following are supported.
 
diff --git a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
index af84ee5..5acee83 100644
--- a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+++ b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_yap.cc.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')
 
diff --git a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
index 7b68ee4..d114c59 100644
--- a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
@@ -1,6 +1,6 @@
 /* System-dependent part of the Prolog interfaces: stub for YAP.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "yap_efli.hh"
 
diff --git a/interfaces/Prolog/YAP/ppl_yap.pl b/interfaces/Prolog/YAP/ppl_yap.pl
index f03fae9..e309bd5 100644
--- a/interfaces/Prolog/YAP/ppl_yap.pl
+++ b/interfaces/Prolog/YAP/ppl_yap.pl
@@ -1,6 +1,6 @@
 /* Loader for the YAP Prolog interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,6 +19,6 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- load_foreign_files(['ppl_yap'],[],init).
diff --git a/interfaces/Prolog/YAP/yap_cfli.hh b/interfaces/Prolog/YAP/yap_cfli.hh
index 10d3cce..7730b7c 100644
--- a/interfaces/Prolog/YAP/yap_cfli.hh
+++ b/interfaces/Prolog/YAP/yap_cfli.hh
@@ -1,6 +1,6 @@
 /* YAP Prolog Common Foreign Language Interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PCFLI_yap_cfli_hh
 #define PCFLI_yap_cfli_hh 1
diff --git a/interfaces/Prolog/YAP/yap_clpq.pl b/interfaces/Prolog/YAP/yap_clpq.pl
index b0e78a3..30e142a 100644
--- a/interfaces/Prolog/YAP/yap_clpq.pl
+++ b/interfaces/Prolog/YAP/yap_clpq.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the toy PPL/YAP-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- ensure_loaded('ppl_yap.pl').
 :- ensure_loaded('../tests/clpq.pl').
diff --git a/interfaces/Prolog/YAP/yap_clpq2.pl b/interfaces/Prolog/YAP/yap_clpq2.pl
index 3ae32f7..f150104 100644
--- a/interfaces/Prolog/YAP/yap_clpq2.pl
+++ b/interfaces/Prolog/YAP/yap_clpq2.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the 2nd toy PPL/YAP-Prolog CLP(Q) interpreter.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- ensure_loaded('ppl_yap.pl').
 :- ensure_loaded('../tests/clpq2.pl').
diff --git a/interfaces/Prolog/YAP/yap_efli.cc b/interfaces/Prolog/YAP/yap_efli.cc
index 2107af8..9277440 100644
--- a/interfaces/Prolog/YAP/yap_efli.cc
+++ b/interfaces/Prolog/YAP/yap_efli.cc
@@ -1,6 +1,6 @@
 /* YAP extended foreign language interface: definitions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "yap_efli.hh"
 
diff --git a/interfaces/Prolog/YAP/yap_efli.hh b/interfaces/Prolog/YAP/yap_efli.hh
index 7a982d4..b6dbba6 100644
--- a/interfaces/Prolog/YAP/yap_efli.hh
+++ b/interfaces/Prolog/YAP/yap_efli.hh
@@ -1,6 +1,6 @@
 /* YAP extended foreign language interface: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_yap_efli_hh
 #define PPL_yap_efli_hh 1
diff --git a/interfaces/Prolog/YAP/yap_pl_check.pl b/interfaces/Prolog/YAP/yap_pl_check.pl
index 6e6e447..302f807 100644
--- a/interfaces/Prolog/YAP/yap_pl_check.pl
+++ b/interfaces/Prolog/YAP/yap_pl_check.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- ensure_loaded('ppl_yap.pl').
 :- ensure_loaded('../tests/pl_check.pl').
diff --git a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
index 6dab3d7..3bc6d01 100644
--- a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
+++ b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
@@ -1,6 +1,6 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 :- ensure_loaded('ppl_yap.pl').
 :- ensure_loaded('ppl_prolog_generated_test_main.pl').
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
index 2ef13a6..a9d64f0 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
@@ -6,7 +6,7 @@ files ppl_prolog_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,37 +25,36 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `extern "C" Prolog_foreign_return_type
 ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Prolog_term_ref t_nd,
                                                Prolog_term_ref t_uoe,
-                                               Prolog_term_ref t_ph)
-{
- static const char* where = "ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension/3";
- try {
-      @TOPOLOGY@@CPP_CLASS@* ph;
-      Prolog_atom uoe = term_to_universe_or_empty(t_uoe, where);
-
-      if (uoe == a_empty)
-     ph = new @TOPOLOGY@@CPP_CLASS@(term_to_unsigned<dimension_type>(t_nd,
-                                                                     where),
-                                    EMPTY);
+                                               Prolog_term_ref t_ph) {
+  static const char* where = "ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension/3";
+  try {
+    @TOPOLOGY@@CPP_CLASS@* ph;
+    Prolog_atom uoe = term_to_universe_or_empty(t_uoe, where);
+
+    if (uoe == a_empty)
+      ph = new @TOPOLOGY@@CPP_CLASS@(term_to_unsigned<dimension_type>(t_nd,
+                                                                      where),
+                                     EMPTY);
     else
-     ph = new @TOPOLOGY@@CPP_CLASS@(term_to_unsigned<dimension_type>(t_nd,
-                                                                     where),
-                                    UNIVERSE);
+      ph = new @TOPOLOGY@@CPP_CLASS@(term_to_unsigned<dimension_type>(t_nd,
+                                                                      where),
+                                     UNIVERSE);
 
       Prolog_term_ref tmp = Prolog_new_term_ref();
       Prolog_put_address(tmp, ph);
       if (Prolog_unify(t_ph, tmp)) {
-                                    PPL_REGISTER(ph);
-                                    return PROLOG_SUCCESS;
-                                    }
-     else
-      delete ph;
+        PPL_REGISTER(ph);
+        return PROLOG_SUCCESS;
       }
+      else
+        delete ph;
+  }
   CATCH_ALL;
 }
 
@@ -174,7 +173,7 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
     @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
     PPL_CHECK(lhs);
     PPL_CHECK(rhs);
-    lhs->swap(*rhs);
+    swap(*lhs, *rhs);
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -505,8 +504,8 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
         r = linear_partition(*ph, *qh);
       rfh = new C_Polyhedron(0, EMPTY);
       rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-      rfh->swap(r.first);
-      rsh->swap(r.second);
+      swap(*rfh, r.first);
+      swap(*rsh, r.second);
     }
     else {
       const NNC_Polyhedron* ph = term_to_handle<NNC_Polyhedron>(t_ph, where);
@@ -517,8 +516,8 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
         r = linear_partition(*ph, *qh);
       rfh = new NNC_Polyhedron(0, EMPTY);
       rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-      rfh->swap(r.first);
-      rsh->swap(r.second);
+      swap(*rfh, r.first);
+      swap(*rsh, r.second);
     }
 ')
 
@@ -531,8 +530,8 @@ m4_define(`m4_linear_partition_for_non_polyhedron_domains',
     r = linear_partition(*ph, *qh);
   rfh = new @CPP_CLASS@(0, EMPTY);
   rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
-  rfh->swap(r.first);
-  rsh->swap(r.second);
+  swap(*rfh, r.first);
+  swap(*rsh, r.second);
 ')
 
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
@@ -557,11 +556,11 @@ m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
       approximate_partition(*ph, *qh, finite);
 
     @CLASS@* rfh = new @CLASS@(EMPTY);
-    rfh->swap(r.first);
+    swap(*rfh, r.first);
 
     Pointset_Powerset<Grid>* rsh =
       new Pointset_Powerset<Grid>(EMPTY);
-    rsh->swap(r.second);
+    swap(*rsh, r.second);
 
     Prolog_term_ref t_b = Prolog_new_term_ref();
     Prolog_term_ref t_r_first = Prolog_new_term_ref();
@@ -803,6 +802,35 @@ m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_has_ at UPPERLOWER@_bound(Prolog_term_ref t_ph,
+                       Prolog_term_ref t_v,
+                       Prolog_term_ref t_n, Prolog_term_ref t_d,
+                       Prolog_term_ref t_closed) {
+  static const char* where = "ppl_ at CLASS@_has_ at UPPERLOWER@_bound/5";
+  try {
+    const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
+    PPL_CHECK(ph);
+    const Variable v = term_to_Variable(t_v, where);
+    PPL_DIRTY_TEMP_COEFFICIENT(n);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
+    bool closed;
+    if (ph->has_ at UPPERLOWER@_bound(v, n, d, closed)) {
+      Prolog_term_ref t = Prolog_new_term_ref();
+      Prolog_atom a = (closed ? a_true : a_false);
+      Prolog_put_atom(t, a);
+      if (Prolog_unify_Coefficient(t_n, n)
+          && Prolog_unify_Coefficient(t_d, d)
+          && Prolog_unify(t_closed, t))
+        return PROLOG_SUCCESS;
+    }
+  }
+  CATCH_ALL;
+}
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ at MAXMIN@(Prolog_term_ref t_ph, Prolog_term_ref t_le_expr,
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
index f299189..e57071b 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
@@ -7,7 +7,7 @@ dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_cc_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -26,7 +26,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_prolog_cc_code.m4')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
index c72033e..ca7f938 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
@@ -1,11 +1,10 @@
 m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
-dnl This m4 file generates the file Prolog_configured_interface.dox
-dnl and Prolog_interface.dox
+dnl This m4 file generates the file Prolog_configured_domains.dox
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl FIXME: This should be in the main m4 generator file.
 
@@ -34,95 +33,21 @@ dnl -----------------------------------------------------------------
 m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
 m4_include(`ppl_interface_generator_prolog_dox_code.m4')
 
-dnl Check if this build is configuration independent
-dnl - if so, we are building the configuration independent Prolog manual.
-dnl - otherwise, we are building the configuration dependent Prolog manual.
-m4_ifdef(`m4_configuration_independent',
-  `m4_define(`m4_prolog_ci_documentation', `')`'dnl
-')
-
-dnl The classes are fixed for the configuration independent manual.
-m4_ifdef(`m4_prolog_ci_documentation', `dnl
-m4_define(`m4_interface_classes_names',
- `Polyhedron at Pointset_Powerset_C_Polyhedron@Pointset_Powerset_NNC_Polyhedron')
-m4_define(`m4_cplusplus_classes_names',
- `Polyhedron at Pointset_Powerset<C_Polyhedron>@Pointset_Powerset<NNC_Polyhedron>')')
-
-
 dnl =================================================================
 dnl Description of file and copyright notice
 dnl =================================================================
 m4_divert`'dnl
-/* m4_ifdef(`m4_prolog_ci_documentation',
-  Configuration Independent Documentation for Prolog.,
-  Configuration Dependent Documentation for Prolog.)
+/* Configuration Dependent Documentation for Prolog.
 m4_include(`ppl_interface_generator_copyright')*/
 
-dnl =================================================================
-dnl The Preamble.
-dnl =================================================================
-/*!
-  \defgroup PPL_Prolog_interface Prolog Language Interface
-
-  The Parma Polyhedra Library comes equipped with an interface
-  for the Prolog language.
-*/
-
-/*! \mainpage Prolog Language Interface
-
-The Parma Polyhedra Library comes equipped with a Prolog interface.
-Despite the lack of standardization of Prolog's foreign language interfaces,
-the PPL Prolog interface supports several Prolog systems and, to the
-extent this is possible, provides a uniform view of the library from
-each such system.
-
-The system-independent features of the library are described in
-Section \ref PI_SI_Features "System-Independent Features".
-Section \ref PI_Compilation "Compilation and Installation"
-explains how the Prolog interface is compiled and installed.
-Section \ref PI_SD_Features "System-Dependent Features"
-illustrates the system-dependent features of the interface
-for all the supported systems.
+/*! \page configured_domains_predicates Predicates for Configured Domains
 
 The structure of this section is as follows:
-- \ref PI_SI_Features "System-Independent Features"
-    - \ref Prolog_Interface_Overview "Overview"
-    - \ref Predicate_Specifications "Predicate Specifications"
-    - \ref predicate_descriptions "Predicate Descriptions"
-        - \ref di_predicates "Domain Independent Predicates"
-        - \ref mip_predicates "MIP Predicates"
-m4_ifdef(`m4_prolog_ci_documentation',`dnl
-dnl For the configuration independent manual we just have these sections.
-        - \ref Polyhedron_predicates "Predicates for C Polyhedra"
-        - \ref other_domains "Ad hoc Predicates for Other Domains"
-',
-dnl For the configured manual: we need a section name for each included class.
-`dnl
 m4_pushdef(`m4_one_class_code',`dnl
-        - \ref m4_interface_class$1`'_predicates "Predicates for the m4_interface_class$1 Domain"
+  - \ref m4_interface_class$1`'_predicates "Predicates for the m4_interface_class$1 Domain"
 ')`'dnl
 m4_all_code`'dnl
 m4_popdef(`m4_one_class_code')`'dnl
-')`'dnl
-- \ref PI_Compilation "Compilation and Installation"
-- \ref PI_SD_Features "System-Dependent Features"
-    - \ref GNU_Prolog "GNU Prolog"
-    - \ref CIAO_Prolog "CIAO Prolog"
-    - \ref SICStus_Prolog "SICStus Prolog"
-    - \ref SWI_Prolog "SWI Prolog"
-    - \ref XSB_Prolog "XSB"
-    - \ref YAP_Prolog "YAP"
-
-In the sequel, <CODE>prefix</CODE> is the prefix under which
-you have installed the library (typically <CODE>/usr</CODE>
-or <CODE>/usr/local</CODE>).
-m4_divert(-1)
-
-dnl =================================================================
-dnl SYSTEM and DOMAIN INDEPENDENT DOCUMENTATION.
-dnl =================================================================
-m4_divert`'dnl
-m4_include(`ppl_prolog_sysindep_dox')
 m4_divert(-1)
 
 dnl =================================================================
@@ -364,10 +289,7 @@ m4_ifdef(`m4_prolog_ci_documentation', `',
 ')`'dnl
 m4_divert(-1)
 
-dnl =================================================================
-dnl SYSTEM DEPENDENT DOCUMENTATION.
-dnl =================================================================
 m4_divert`'dnl
-m4_include(ppl_prolog_sysdep_dox)
+*/ /* \page configured_domains_predicates */
 dnl
 dnl End of file generation.
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
index 25d9aa9..994e48e 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 dnl This m4 file contains the program code for generating Prolog_interface.dox
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl category and subcategory headers and descriptions
 
@@ -490,6 +490,22 @@ dnl -----------------------------------------------------------------
 dnl Documentation for each of the "get information" predicates;
 dnl -----------------------------------------------------------------
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_constpoly_doc',
+`dnl
+<P><CODE>ppl_ at CLASS@_has_ at UPPERLOWER@_bound(+Handle, +Var, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
+  <EM>Succeeds if and only if \c Var is @UPPERLOWER@ bounded in
+  m4_this_ppl_one_object \p P referenced by \c Handle. It is assumed
+  that \p P is not empty and its space dimension is greater than or equal
+  to that of \c Var|COMMA| otherwise the behavior is undefined.
+
+  \c Coeff_1 is unified with the numerator of the @UPPERLOWER@ bound
+  and \c Coeff_2 with the denominator of the @UPPERLOWER@ bound.
+  If the @UPPERLOWER@ is included in \p P|COMMA| then \c Boolean is unified
+  with the atom \c true and|COMMA| otherwise|COMMA| unified with
+  the atom \c false.</EM>
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_constpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at MAXMIN@imize(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean)</CODE><BR>
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
index 80b7fd5..1183769 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
@@ -6,7 +6,7 @@ dnl files ppl_prolog_DOMAIN.hh for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `dnl
@@ -215,6 +215,14 @@ m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+  `extern "C" Prolog_foreign_return_type
+  ppl_ at CLASS@_has_ at UPPERLOWER@_bound(Prolog_term_ref t_ph, Prolog_term_ref t_v,
+		       Prolog_term_ref t_n, Prolog_term_ref t_d,
+		       Prolog_term_ref t_closed);
+
+')
+
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
   `extern "C" Prolog_foreign_return_type
   ppl_ at CLASS@_ at MAXMIN@(Prolog_term_ref t_ph, Prolog_term_ref t_le_expr,
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
index f67ac36..256abc2 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
@@ -7,7 +7,7 @@ dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_hh_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -26,7 +26,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(ppl_interface_generator_prolog_hh_code.m4)
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
index 6f8f1e7..364335e 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
@@ -7,7 +7,7 @@ dnl   ppl_interface_generator_common_procedure_generators.m4;
 dnl - the list of library predicates needed for the system dependent files.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -26,7 +26,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Include the language independent macros.
 m4_include(ppl_interface_generator_common.m4)
@@ -56,7 +56,7 @@ ppl_set_timeout_exception_atom/1 *nofail,
 ppl_timeout_exception_atom/1,
 ppl_set_timeout/1 *nofail,
 ppl_reset_timeout/0 *nofail,
-ppl_set_deterministic_timeout/1 *nofail,
+ppl_set_deterministic_timeout/2 *nofail,
 ppl_reset_deterministic_timeout/0 *nofail,
 ppl_new_MIP_Problem_from_space_dimension/2,
 ppl_new_MIP_Problem/5,
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
index 245cc44..9329f14 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
@@ -5,7 +5,7 @@ dnl This m4 file defines macros needed for generating
 dnl the Prolog system-dependent code files.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_include(`ppl_interface_generator_common.m4')
 m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
diff --git a/interfaces/Prolog/ppl_prolog_common.cc b/interfaces/Prolog/ppl_prolog_common.cc
index 0552934..9ed2fd7 100644
--- a/interfaces/Prolog/ppl_prolog_common.cc
+++ b/interfaces/Prolog/ppl_prolog_common.cc
@@ -1,6 +1,6 @@
 /* Common part of the Prolog interfaces: variables and non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_prolog_common.defs.hh"
 #include <exception>
@@ -830,12 +830,10 @@ handle_exception() {
   Prolog_raise_exception(et);
 }
 
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-
-Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
+Parma_Polyhedra_Library::Watchdog* p_timeout_object = 0;
 
 typedef
-Parma_Watchdog_Library::Threshold_Watcher
+Parma_Polyhedra_Library::Threshold_Watcher
 <Parma_Polyhedra_Library::Weightwatch_Traits> Weightwatch;
 
 Weightwatch* p_deterministic_timeout_object = 0;
@@ -857,16 +855,13 @@ reset_deterministic_timeout() {
     abandon_expensive_computations = 0;
   }
 }
-#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 
 Prolog_atom timeout_exception_atom;
 
 void
 handle_exception(const timeout_exception&) {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   assert(p_timeout_object);
   reset_timeout();
-#endif
   Prolog_term_ref et = Prolog_new_term_ref();
   Prolog_put_atom(et, timeout_exception_atom);
   Prolog_raise_exception(et);
@@ -874,10 +869,8 @@ handle_exception(const timeout_exception&) {
 
 void
 handle_exception(const deterministic_timeout_exception&) {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
   assert(p_deterministic_timeout_object);
   reset_deterministic_timeout();
-#endif
   Prolog_term_ref et = Prolog_new_term_ref();
   Prolog_put_atom(et, timeout_exception_atom);
   Prolog_raise_exception(et);
@@ -1819,10 +1812,8 @@ ppl_finalize() {
     Prolog_interface_initialized = false;
     // Finalize the core library.
     finalize();
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
     // Release the pending timeout object, if any.
     reset_timeout();
-#endif
     ppl_Prolog_sysdep_deinit();
     return PROLOG_SUCCESS;
   }
@@ -1909,23 +1900,17 @@ ppl_timeout_exception_atom(Prolog_term_ref t) {
 }
 
 extern "C" Prolog_foreign_return_type
-ppl_set_timeout(Prolog_term_ref t_time) {
+ppl_set_timeout(Prolog_term_ref t_csecs) {
   try {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
     // In case a timeout was already set.
     reset_timeout();
     static timeout_exception e;
-    unsigned hundredth_secs = term_to_unsigned<unsigned>(t_time,
-							 "ppl_set_timeout/1");
+    unsigned csecs = term_to_unsigned<unsigned>(t_csecs, "ppl_set_timeout/1");
     p_timeout_object =
-      new Parma_Watchdog_Library::Watchdog(hundredth_secs,
-					   abandon_expensive_computations,
-					   e);
+      new Parma_Polyhedra_Library::Watchdog(csecs,
+                                            abandon_expensive_computations,
+                                            e);
     return PROLOG_SUCCESS;
-#else
-    used(t_time);
-    return PROLOG_FAILURE;
-#endif
   }
   CATCH_ALL;
 }
@@ -1933,33 +1918,29 @@ ppl_set_timeout(Prolog_term_ref t_time) {
 extern "C" Prolog_foreign_return_type
 ppl_reset_timeout() {
   try {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
     reset_timeout();
     return PROLOG_SUCCESS;
-#else
-    return PROLOG_FAILURE;
-#endif
   }
   CATCH_ALL;
 }
 
 extern "C" Prolog_foreign_return_type
-ppl_set_deterministic_timeout(Prolog_term_ref t_weight) {
+ppl_set_deterministic_timeout(Prolog_term_ref t_unscaled_weight,
+                              Prolog_term_ref t_scale) {
   try {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
     // In case a deterministic timeout was already set.
     reset_deterministic_timeout();
     static deterministic_timeout_exception e;
-    unsigned weight
-      = term_to_unsigned<unsigned>(t_weight,
-                                   "ppl_set_deterministic_timeout/1");
-    p_deterministic_timeout_object =
-      new Weightwatch(weight, abandon_expensive_computations, e);
+    unsigned long unscaled_weight
+      = term_to_unsigned<unsigned long>(t_unscaled_weight,
+                                        "ppl_set_deterministic_timeout/2");
+    unsigned scale
+      = term_to_unsigned<unsigned>(t_scale, "ppl_set_deterministic_timeout/2");
+    typedef Parma_Polyhedra_Library::Weightwatch_Traits Traits;
+    p_deterministic_timeout_object
+      = new Weightwatch(Traits::compute_delta(unscaled_weight, scale),
+                        abandon_expensive_computations, e);
     return PROLOG_SUCCESS;
-#else
-    used(t_weight);
-    return PROLOG_FAILURE;
-#endif
   }
   CATCH_ALL;
 }
@@ -1967,12 +1948,8 @@ ppl_set_deterministic_timeout(Prolog_term_ref t_weight) {
 extern "C" Prolog_foreign_return_type
 ppl_reset_deterministic_timeout() {
   try {
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
     reset_deterministic_timeout();
     return PROLOG_SUCCESS;
-#else
-    return PROLOG_FAILURE;
-#endif
   }
   CATCH_ALL;
 }
@@ -2110,7 +2087,7 @@ ppl_MIP_Problem_swap(Prolog_term_ref t_lhs, Prolog_term_ref t_rhs) {
     MIP_Problem* rhs = term_to_handle<MIP_Problem>(t_rhs, where);
     PPL_CHECK(lhs);
     PPL_CHECK(rhs);
-    lhs->swap(*rhs);
+    swap(*lhs, *rhs);
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -2611,7 +2588,7 @@ ppl_PIP_Problem_swap(Prolog_term_ref t_lhs, Prolog_term_ref t_rhs) {
     PIP_Problem* rhs = term_to_handle<PIP_Problem>(t_rhs, where);
     PPL_CHECK(lhs);
     PPL_CHECK(rhs);
-    lhs->swap(*rhs);
+    swap(*lhs, *rhs);
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
diff --git a/interfaces/Prolog/ppl_prolog_common.defs.hh b/interfaces/Prolog/ppl_prolog_common.defs.hh
index f6e89da..baf7400 100644
--- a/interfaces/Prolog/ppl_prolog_common.defs.hh
+++ b/interfaces/Prolog/ppl_prolog_common.defs.hh
@@ -1,6 +1,6 @@
 /* Common part of the Prolog interfaces: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,16 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_prolog_common_defs_hh
 #define PPL_ppl_prolog_common_defs_hh 1
 
 #define PPL_NO_AUTOMATIC_INITIALIZATION
 #include "ppl.hh"
-#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
-#include "pwl.hh"
-#endif
 #include "ppl_prolog_sysdep.hh"
 #include "interfaced_boxes.hh"
 #include <set>
@@ -828,13 +825,14 @@ extern "C" Prolog_foreign_return_type
 ppl_timeout_exception_atom(Prolog_term_ref t);
 
 extern "C" Prolog_foreign_return_type
-ppl_set_timeout(Prolog_term_ref t_time);
+ppl_set_timeout(Prolog_term_ref t_csecs);
 
 extern "C" Prolog_foreign_return_type
 ppl_reset_timeout();
 
 extern "C" Prolog_foreign_return_type
-ppl_set_deterministic_timeout(Prolog_term_ref t_weight);
+ppl_set_deterministic_timeout(Prolog_term_ref t_unscaled_weight,
+                              Prolog_term_ref t_scale);
 
 extern "C" Prolog_foreign_return_type
 ppl_reset_deterministic_timeout();
diff --git a/interfaces/Prolog/ppl_prolog_common.inlines.hh b/interfaces/Prolog/ppl_prolog_common.inlines.hh
index 692f342..f0aeeb0 100644
--- a/interfaces/Prolog/ppl_prolog_common.inlines.hh
+++ b/interfaces/Prolog/ppl_prolog_common.inlines.hh
@@ -1,6 +1,6 @@
 /* Common part of the Prolog interfaces: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_prolog_common_inlines_hh
 #define PPL_ppl_prolog_common_inlines_hh 1
diff --git a/interfaces/Prolog/ppl_prolog_sysdep_dox b/interfaces/Prolog/ppl_prolog_sysdep_dox
deleted file mode 100644
index 841683b..0000000
--- a/interfaces/Prolog/ppl_prolog_sysdep_dox
+++ /dev/null
@@ -1,263 +0,0 @@
-//  Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-//  Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-//
-//  This document describes the Parma Polyhedra Library (PPL).
-//
-//  Permission is granted to copy, distribute and/or modify this document
-//  under the terms of the GNU Free Documentation License, Version 1.1 or
-//  any later version published by the Free Software Foundation; with no
-//  Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-//  Texts.
-//
-//  The PPL is free software; you can redistribute it and/or modify it
-//  under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  The PPL is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//  for more details.
-//
-//  For the most up-to-date information see the Parma Polyhedra Library
-//  site: http://www.cs.unipr.it/ppl/
-
-\anchor PI_Compilation
-<H1>Compilation and Installation</H1>
-
-When the Parma Polyhedra Library is configured, it tests for the existence
-of each supported Prolog system.  If a supported Prolog system is
-correctly installed in a standard location, things are arranged
-so that the corresponding interface is built and installed.
-
-The Prolog interface files are all installed in the directory
-<CODE>prefix/lib/ppl</CODE>.  Since this includes shared and
-dynamically loaded libraries, you must make your dynamic
-linker/loader aware of this fact.  If you use a GNU/Linux system,
-try the commands <CODE>man ld.so</CODE> and <CODE>man ldconfig</CODE>
-for more information.
-
-As an option, the Prolog interface can track the creation and disposal
-of polyhedra.  In fact, differently from native Prolog data, PPL polyhedra
-must be explicitly disposed and forgetting to do so is a very common mistake.
-To enable this option, configure the library adding
-<CODE>-DPROLOG_TRACK_ALLOCATION</CODE> to the options passed to the
-C++ compiler.
-Your configure command would then look like
-\code
-  path/to/configure --with-cxxflags="-DPROLOG_TRACK_ALLOCATION" ...
-\endcode
-
-\anchor PI_SD_Features
-<H1>System-Dependent Features</H1>
-
-\anchor CIAO_Prolog
-<H2>CIAO Prolog</H2>
-
-The Ciao Prolog interface to the PPL is available
-both as ``PPL enhanced'' Ciao Prolog interpreter
-and as a library that can be linked to Ciao Prolog programs.
-Only Ciao Prolog versions 1.10 `#5 and later are supported.'
-
-So that it can be used with the Ciao Prolog PPL interface, the
-Ciao Prolog installation must be configured with the
-<CODE>--disable-regs</CODE> option.
-
-<H3>The <CODE>ppl_ciao</CODE> Executable</H3>
-
-If an appropriate version of Ciao Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_ciao</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_ciao</CODE> executable is simply the Ciao Prolog
-interpreter with the Parma Polyhedra Library linked in.
-The only thing you should do to use the library is to
-call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
-and to call <CODE>ppl_finalize/0</CODE> when you are done with the
-library.
-
-<H3>Linking the Library To Ciao Prolog Programs</H3>
-
-In order to allow linking Ciao Prolog programs to the PPL,
-the following files are installed in the directory
-<CODE>prefix/lib/ppl</CODE>:
-<CODE>ppl_ciao.pl</CODE> contains the required foreign declarations;
-<CODE>libppl_ciao.*</CODE> contain the executable code for the
-Ciao Prolog interface in various formats (static library, shared library,
-libtool library).
-If your Ciao Prolog program is constituted by, say, <CODE>source1.pl</CODE>
-and <CODE>source2.pl</CODE> and you want to create the executable
-<CODE>myprog</CODE>, your compilation command may look like
-\code
-ciaoc -o myprog prefix/lib/ppl/ppl_ciao.pl ciao_pl_check.pl \
-  -L '-Lprefix/lib/ppl -lppl_ciao -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-
-\anchor GNU_Prolog
-<H2>GNU Prolog</H2>
-
-The GNU Prolog interface to the PPL is available both as a
-``PPL enhanced'' GNU Prolog interpreter and as a library that can be
-linked to GNU Prolog programs.
-The only GNU Prolog version that is known to work is a patched
-version of the ``unstable version'' tagged
-<A HREF="ftp://ftp.inria.fr/INRIA/Projects/contraintes/gprolog/unstable/gprolog-20040608.tgz">20040608</A>
-(which unpacks to a directory called <CODE>gprolog-1.2.18</CODE>).
-The patch is contained in the
-<CODE>interfaces/Prolog/GNU/README</CODE> file of the PPL's distribution.
-
-So that it can be used with the GNU Prolog PPL interface
-(and, for that matter, with any foreign code),
-the GNU Prolog installation must be configured with the
-<CODE>--disable-regs</CODE> option.
-
-<H3>The <CODE>ppl_gprolog</CODE> Executable</H3>
-
-If an appropriate version of GNU Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_gprolog</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_gprolog</CODE> executable is simply the GNU Prolog
-interpreter with the Parma Polyhedra Library linked in.
-The only thing you should do to use the library is to
-call <CODE>ppl_initialize/0</CODE> before any other PPL predicate
-and to call <CODE>ppl_finalize/0</CODE> when you are done with the
-library.
-
-<H3>Linking the Library To GNU Prolog Programs</H3>
-
-In order to allow linking GNU Prolog programs to the PPL,
-the following files are installed in the directory
-<CODE>prefix/lib/ppl</CODE>:
-<CODE>ppl_gprolog.pl</CODE> contains the required foreign declarations;
-<CODE>libppl_gprolog.*</CODE> contain the executable code for the
-GNU Prolog interface in various formats (static library, shared library,
-libtool library).
-If your GNU Prolog program is constituted by, say, <CODE>source1.pl</CODE>
-and <CODE>source2.pl</CODE> and you want to create the executable
-<CODE>myprog</CODE>, your compilation command may look like
-\code
-gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
-  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-
-GNU Prolog uses several stacks to execute a Prolog program each with a
-pre-defined default size.  If the size of a stack is too small for the
-application an overflow will occur.  To change the default size of a
-stack, the user has to set the value of the relevant environment
-variable; in particular, to execute some of the tests, we found it
-necessary to increase the size of GLOBALSZ.
-Thus, for the above example, the compilation command would be
-\code
-GLOBALSZ=32768 gplc -o myprog prefix/lib/ppl/ppl_gprolog.pl source1.pl source2.pl \
-  -L '-Lprefix/lib/ppl -lppl_gprolog -Lprefix/lib -lppl -lgmpxx -lgmp -lstdc++'
-\endcode
-More information on
-adjusting the size of the stacks can be found in Section 3.3 in the
-<A HREF="http://www.gprolog.org/manual/gprolog.html">GNU Prolog
-Manual</A>
-
-\anchor SICStus_Prolog
-<H2>SICStus Prolog</H2>
-
-The SICStus Prolog interface to the PPL is available
-both as a statically linked module or as a dynamically linked one.
-Only SICStus Prolog versions 3.9.0 and later are supported.
-
-<H3>The Statically Linked <CODE>ppl_sicstus</CODE> Executable</H3>
-
-If an appropriate version of SICStus Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_sicstus</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_sicstus</CODE> executable is simply the SICStus Prolog
-system with the Parma Polyhedra Library statically linked.
-The only thing you should do to use the library is to
-load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
-
-<H3>Loading the SICStus Interface Dynamically</H3>
-
-In order to dynamically load the library from SICStus Prolog you should
-simply load <CODE>prefix/lib/ppl/ppl_sicstus.pl</CODE>.
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
-
-\anchor SWI_Prolog
-<H2>SWI-Prolog</H2>
-
-The SWI-Prolog interface to the PPL is available
-both as a statically linked module or as a dynamically linked one.
-Only SWI-Prolog version 5.6.0 and later versions are supported.
-
-<H3>The <CODE>ppl_pl</CODE> Executable</H3>
-
-If an appropriate version of SWI-Prolog is installed on the machine
-on which you compiled the library, the command <CODE>make install</CODE>
-will install the executable <CODE>ppl_pl</CODE> in the directory
-<CODE>prefix/bin</CODE>.
-The <CODE>ppl_pl</CODE> executable is simply the SWI-Prolog
-shell with the Parma Polyhedra Library statically linked:
-from within <CODE>ppl_pl</CODE> all the services of the library
-are available without further action.
-
-<H3>Loading the SWI-Prolog Interface Dynamically</H3>
-
-In order to dynamically load the library from SWI-Prolog you should
-simply load <CODE>prefix/lib/ppl/ppl_swiprolog.pl</CODE>.
-This will invoke <CODE>ppl_initialize/0</CODE> and
-<CODE>ppl_finalize/0</CODE> automatically.
-Alternatively, you can load the library directly with
-\code
-:- load_foreign_library('prefix/lib/ppl/libppl_swiprolog').
-\endcode
-This will call <CODE>ppl_initialize/0</CODE> automatically.
-Analogously,
-\code
-:- unload_foreign_library('prefix/lib/ppl/libppl_swiprolog').
-\endcode
-will, as part of the unload process, invoke <CODE>ppl_finalize/0</CODE>.
-
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
-
-\anchor XSB_Prolog
-<H2>XSB</H2>
-
-The XSB Prolog interface to the PPL is available
-as a dynamically linked module.
-Only some CVS versions of XSB starting from 2 July 2005 are known to work.
-CVS versions starting from 11 November 2005 are known not to work.
-
-In order to dynamically load the library from XSB you should
-load the <CODE>ppl_xsb</CODE> module and import the predicates
-you need.
-For things to work, you may have to copy the files
-<CODE>prefix/lib/ppl/ppl_xsb.xwam</CODE>
-and
-<CODE>prefix/lib/ppl/ppl_xsb.so</CODE>
-in your current directory or in one of the XSB library directories.
-
-
-\anchor YAP_Prolog
-<H2>YAP</H2>
-
-The YAP Prolog interface to the PPL is available
-as a dynamically linked module.
-Only YAP versions following 5.1.0 and CVS HEAD versions starting from
-4 January 2006 are supported.  Notice that support for unbounded
-integers in YAP is young and may have errors that could affect
-programs using the PPL (see, e.g.,
-<A HREF="http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html">http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007780.html</A>).
-
-In order to dynamically load the library from YAP you should
-simply load <CODE>prefix/lib/ppl/ppl_yap.pl</CODE>.
-This will invoke <CODE>ppl_initialize/0</CODE> automatically;
-it is the programmer's responsibility to call <CODE>ppl_finalize/0</CODE>
-when the PPL library is no longer needed.
-Notice that, for dynamic linking to work, you should have configured
-the library with the <CODE>--enable-shared</CODE> option.
-
-*/ /* \mainpage */
-
diff --git a/interfaces/Prolog/ppl_prolog_sysindep_dox b/interfaces/Prolog/ppl_prolog_sysindep_dox
deleted file mode 100644
index 84d786b..0000000
--- a/interfaces/Prolog/ppl_prolog_sysindep_dox
+++ /dev/null
@@ -1,636 +0,0 @@
-//  Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-//  Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-//
-//  This document describes the Parma Polyhedra Library (PPL).
-//
-//  Permission is granted to copy, distribute and/or modify this document
-//  under the terms of the GNU Free Documentation License, Version 1.1 or
-//  any later version published by the Free Software Foundation; with no
-//  Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-//  Texts.
-//
-//  The PPL is free software; you can redistribute it and/or modify it
-//  under the terms of the GNU General Public License as published by
-//  the Free Software Foundation; either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  The PPL is distributed in the hope that it will be useful, but WITHOUT
-//  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//  for more details.
-//
-//  For the most up-to-date information see the Parma Polyhedra Library
-//  site: http://www.cs.unipr.it/ppl/
-
-\anchor PI_SI_Features
-<H1>System-Independent Features</H1>
-
-The Prolog interface provides access to the numerical abstractions
-(convex polyhedra, BD shapes, octagonal shapes, etc.) implemented
-by the PPL library.
-A general introduction to the numerical abstractions,
-their representation in the PPL and the operations provided
-by the PPL is given in the main \extref{preamble, PPL user manual}.
-Here we just describe those aspects that are specific to the Prolog interface.
-
-\anchor Prolog_Interface_Overview
-<H2>Overview</H2>
-
-First, here is a list of notes with general information and advice
-on the use of the interface.
-
-- The numerical abstract domains available to the Prolog user consist
-  of the <EM>simple</EM> domains, <EM>powersets</EM> of a simple domain and
-  <EM>products</EM> of simple domains.
-  - The simple domains are:
-     - convex polyhedra, which consist of C_Polyhedron and
-       NNC_Polyhedron;<BR>
-     - weakly relational, which consist of BD_Shape_N and
-       Octagonal_Shape_N
-       where N is one of the numeric types
-       int8, int16, int32, int64, mpz_class, mpq_class,
-       float, double, long_double;<BR>
-     - boxes which consist of
-       Int8_Box, Int16_Box,
-       Int32_Box, Int64_Box,
-       Uint8_Box, Uint16_Box,
-       Uint32_Box, Uint64_Box,
-       Double_Box, Long_Double_Box,
-       Z_Box, Rational_Box, Float_Box; and<BR>
-     - the Grid domain.
-  - The powerset domains are Pointset_Powerset_S where S is
-    a simple domain.
-  - The product domains consist of
-    Direct_Product_S_T,
-    Smash_Product_S_T and
-    Constraints_Product_S_T where S
-    and T are simple domains.
-- In the following, any of the above numerical
-  abstract domains  is called a PPL <EM>domain</EM>
-  and any element of a PPL domain is called a <EM>PPL object</EM>.
-- The Prolog interface to the PPL is initialized and finalized by the
-  predicates <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>.
-  Thus the only interface predicates callable after
-  <CODE>ppl_finalize/0</CODE> are <CODE>ppl_finalize/0</CODE> itself
-  (this further call has no effect) and <CODE>ppl_initialize/0</CODE>,
-  after which the interface's services are usable again.
-  Some Prolog systems allow the specification of initialization
-  and deinitialization functions in their foreign language interfaces.
-  The corresponding incarnations of the Prolog interface
-  have been written so that <CODE>ppl_initialize/0</CODE> and/or
-  <CODE>ppl_finalize/0</CODE> are called automatically.
-  Section \ref PI_SD_Features "System-Dependent Features" will detail
-  in which cases initialization and finalization is automatically
-  performed or is left to the Prolog programmer's responsibility.
-  However, for portable applications, it is best
-  to invoke <CODE>ppl_initialize/0</CODE> and <CODE>ppl_finalize/0</CODE>
-  explicitly: since they can be called multiple times without problems,
-  this will result in enhanced portability at a cost that is, by all means,
-  negligible.
-- A PPL object such as a polyhedron can only be accessed
-  by means of a Prolog term called a <EM>handle</EM>.
-  Note, however, that the data structure of a handle,
-  is implementation-dependent, system-dependent and
-  version-dependent, and, for this reason, deliberately left unspecified.
-  What we do guarantee is that the handle requires very little memory.
-- A Prolog term can be bound to a valid handle for a PPL object by using
-  predicates such as
-\code
-  ppl_new_C_Polyhedron_from_space_dimension/3,
-  ppl_new_C_Polyhedron_from_C_Polyhedron/2,
-  ppl_new_C_Polyhedron_from_constraints/2,
-  ppl_new_C_Polyhedron_from_generators/2,
-\endcode
-  These predicates will create or copy a PPL polyhedron
-  and construct a valid handle for referencing it.
-  The last argument is a Prolog term that is
-  unified with a new valid handle for accessing this polyhedron.
-
-- As soon as a PPL object is no longer required,
-  the memory occupied by it should be released
-  using the PPL predicate such as <CODE>ppl_delete_Polyhedron/1</CODE>.
-  To understand why this is important,
-  consider a Prolog program and a variable that is bound to
-  a Herbrand term.
-  When the variable dies (goes out of scope) or is uninstantiated
-  (on backtracking), the term it is bound to is amenable to garbage collection.
-  But this only applies for the standard domain of the language:
-  Herbrand terms.
-  In Prolog+PPL, when, for example,
-  a variable bound to a handle for a Polyhedron dies
-  or is uninstantiated,
-  the handle can be garbage-collected, but the polyhedron to which
-  the handle refers will not be released.
-  Once a handle has been used as an argument in
-  <CODE>ppl_delete_Polyhedron/1</CODE>,
-  it becomes invalid.
-- For a PPL object with space dimension \p k,
-  the identifiers used for the PPL variables
-  must lie between 0 and \f$k-1\f$ and correspond to the indices of the
-  associated Cartesian axes.
-  For example, when using the predicates that combine PPL polyhedra
-  or add constraints or generators to a representation of
-  a PPL polyhedron,
-  the polyhedra referenced and any constraints or generators in the call
-  should follow all the (space) dimension-compatibility rules stated in
-  Section \extref{representation, Representations of Convex Polyhedra}
-  of the main \extref{preamble, PPL user manual}.
-- As explained above, a polyhedron has a fixed topology C or NNC,
-  that is determined at the time of its initialization.
-  All subsequent operations on the polyhedron must respect all the
-  topological compatibility rules stated in Section
-  \extref{representation, Representations of Convex Polyhedra}
-  of the main \extref{preamble, PPL user manual}.
-- Any application using the PPL should make sure that only the
-  intended version(s) of the library are ever used.
-  Predicates
-\code
-  ppl_version_major/1,
-  ppl_version_minor/1,
-  ppl_version_revision/1,
-  ppl_version_beta/1,
-  ppl_version/1,
-  ppl_banner.
-\endcode
-  allow run-time checking of information about the version being used.
-
-\anchor Predicate_Specifications
-<H2>Predicate Specifications</H2>
-
-The PPL predicates provided by the Prolog interface are specified below.
-The specification uses the following grammar rules:
-\code
-
- Number      --> unsigned integer	ranging from 0 to an upper bound
-					depending on the actual Prolog system.
-
- C_int       --> Number | - Number	C integer
-
- C_unsigned  --> Number			C unsigned integer
-
- Coeff       --> Number			used in linear expressions;
-					the upper bound will depend on how
-					the PPL has been configured
-
- Dimension_Type
-             --> Number			used for the number of affine and
-					space dimensions and the names of
- 					the dimensions;
-					the upper bound will depend on
-					the maximum number of dimensions
-					allowed by the PPL
-					(see ppl_max_space_dimensions/1)
-
- Boolean     --> true | false
-
- Handle      --> Prolog term		used to identify a Polyhedron
-
- Topology    --> c | nnc		Polyhedral kind;
-					c is closed and nnc is NNC
-
- VarId       --> Dimension_Type 	variable identifier
-
- PPL_Var     --> '$VAR'(VarId)		PPL variable
-
- Lin_Expr    --> PPL_Var		PPL variable
-            | Coeff
-            | Lin_Expr			unary plus
-            | - Lin_Expr		unary minus
-            | Lin_Expr + Lin_Expr	addition
-            | Lin_Expr - Lin_Expr	subtraction
-            | Coeff * Lin_Expr	        multiplication
-            | Lin_Expr * Coeff	        multiplication
-
- Relation_Symbol --> =			equals
-            | =< 			less than or equal
-            | >=			greater than or equal
-            | < 			strictly less than
-            | > 			strictly greater than
-
- Constraint  --> Lin_Expr Relation_Symbol Lin_Expr
-					constraint
-
- Constraint_System			list of constraints
-             --> []
-            | [Constraint | Constraint_System]
-
- Modulus     --> Coeff | - Coeff
-
- Congruence  --> Lin_Expr =:= Lin_Expr  congruence with modulo 1
-            | (Lin_Expr =:= Lin_Expr) / Modulus
-                                        congruence with modulo Modulus
-
- Congruence_System			list of congruences
-             --> []
-            | [Congruence | Congruence_System]
-
- Generator_Denominator --> Coeff	must be non-zero
-	    | - Coeff
-
- Generator   --> point(Lin_Expr)	point
-            | point(Lin_Expr, Generator_Denominator)
-					point
-            | closure_point(Lin_Expr)	closure point
-            | closure_point(Lin_Expr, Generator_Denominator)
-					closure point
-            | ray(Lin_Expr)		ray
-            | line(Lin_Expr)		line
-
- Generator_System			list of generators
-             --> []
-	    | [Generator | Generator_System]
-
- Grid_Generator
-             --> grid_point(Lin_Expr)	grid point
-            | grid_point(Lin_Expr, Generator_Denominator)
-					grid point
-            | parameter(Lin_Expr)	parameter
-            | parameter(Lin_Expr, Generator_Denominator)
-                                        parameter
-            | grid_line(Lin_Expr)       grid line
-
- Grid_Generator_System			list of grid generators
-             --> []
-	    | [Grid_Generator | Grid_Generator_System]
-
- Atom        --> Prolog atom
-
- Universe_or_Empty			PPL object
-             --> universe | empty
-
- Poly_Relation --> is_disjoint          with a constraint or congruence
-	    | strictly_intersects	with a constraint or congruence
-	    | is_included		with a constraint or congruence
-	    | saturates			with a constraint or congruence
-            | subsumes			with a (grid) generator
-
- Relation_List --> []
-	    | [Poly_Relation | Relation_List]
-
- Complexity  --> polynomial | simplex | any
-
- Vars_Pair   --> PPLVar - PPLVar        map relation
-
- P_Func      --> []    			list of map relations
-            | [Vars_Pair | P_Func].
-
- Optimization_Mode --> max | min
-
- MIP_Problem_Status --> unfeasible
-            | unbounded
-            | optimized
-
- Control_Parameter_Name --> pricing     for MIP problems
-
- Control_Parameter_Value                for MIP problems
-             --> pricing_steepest_edge_float
-            | pricing_steepest_edge_exact
-            | pricing_textbook
-
- Vars_List   --> []    			list of PPL variables
-            | [PPL_Var | Vars_List].
-\endcode
-
-\anchor predicate_descriptions
-<H2> Predicate Descriptions </H2>
-
-Below is a short description of many of the interface predicates.
-For full definitions of terminology used here,
-see the main \extref{preamble, PPL user manual}.
-
-\anchor di_predicates
-<H3> Domain Independent Predicates </H3>
-
-First we describe the domain independent predicates
-that are included with all instantiations of the Prolog interfaces.
-
-<P><CODE> ppl_version_major(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the major number of the PPL version.</EM>
-
-<P><CODE> ppl_version_minor(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the minor number of the PPL version.</EM>
-
-<P><CODE> ppl_version_revision(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the revision number
-  of the PPL version.</EM>
-
-<P><CODE> ppl_version_beta(?C_int) </CODE><BR>
-  <EM>Unifies <CODE>C_int</CODE> with the beta number of the PPL version.</EM>
-
-<P><CODE> ppl_version(?Atom) </CODE><BR>
-  <EM>Unifies <CODE>Atom</CODE> with the PPL version.</EM>
-
-<P><CODE> ppl_banner(?Atom) </CODE><BR>
-  <EM>Unifies <CODE>Atom</CODE> with
-  information about the PPL version, the licensing, the lack of any
-  warranty whatsoever, the C++ compiler used to build the library,
-  where to report bugs and where to look for further information.</EM>
-
-<P><CODE> ppl_Coefficient_bits(?Bits) </CODE><BR>
-
-  <EM>Unifies <CODE>Bits</CODE> with the number of bits used to encode a
-  Coefficient in the C++ interface; 0 if unbounded.</EM>
-
-<P><CODE> ppl_Coefficient_is_bounded </CODE><BR>
-
-  <EM>Succeeds if and only if the Coefficients in the C++ interface are bounded.</EM>
-
-<P><CODE> ppl_Coefficient_max(Max) </CODE><BR>
-
-  <EM>If the Coefficients in the C++ interface are bounded,
-  then the maximum coefficient the C++ interface can handle is
-  unified with <CODE>Max</Code>.
-  If the Prolog system cannot handle this coefficient, then
-  an exception is thrown.
-  It fails if the Coefficients in the C++ interface are unbounded.</EM>
-
-<P><CODE> ppl_Coefficient_min(Min) </CODE><BR>
-
-  <EM>If the Coefficients in the C++ interface are bounded,
-  then the minimum coefficient the C++ interface can handle is
-  unified with <CODE>Min</Code>.
-  If the Prolog system cannot handle this coefficient, then
-  an exception is thrown.
-  It fails if the Coefficients in the C++ interface are unbounded.</EM>
-
-<P><CODE> ppl_max_space_dimension(?Dimension_Type) </CODE><BR>
-
-  <EM>Unifies <CODE>Dimension_Type</CODE> with the maximum space dimension
-  this library can handle.</EM>
-
-<P><CODE>
-  ppl_initialize
- </CODE><BR>
-
-  <EM>Initializes the PPL interface.
-  Multiple calls to <CODE>ppl_initialize</CODE> does no harm.</EM>
-
-<P><CODE>
-  ppl_finalize
- </CODE><BR>
-
-  <EM>Finalizes the PPL interface.
-  Once this is executed, the next call to an interface predicate must
-  either be to <CODE>ppl_initialize</CODE> or to <CODE>ppl_finalize</CODE>.
-  Multiple calls to <CODE>ppl_finalize</CODE> does no harm.</EM>
-
-<P><CODE> ppl_set_timeout_exception_atom(+Atom) </CODE><BR>
-
-   <EM>Sets the atom to be thrown by timeout exceptions
-   to <CODE>Atom</CODE>.
-   The default value is <CODE>time_out</CODE>.</EM>
-
-<P><CODE> ppl_timeout_exception_atom(?Atom) </CODE><BR>
-
-   <EM>The atom to be thrown by timeout exceptions
-   is unified with <CODE>Atom</CODE>.</EM>
-
-<P><CODE> ppl_set_timeout(+C_unsigned) </CODE><BR>
-
-   <EM>Computations taking exponential time will be interrupted
-   some time after <CODE>C_unsigned</CODE> ms after that call.
-   If the computation is interrupted that way, the current timeout
-   exception atom will be thrown.
-   <CODE>C_unsigned</CODE> must be strictly greater than zero.</EM>
-
-<P><CODE> ppl_reset_timeout </CODE><BR>
-
-   <EM>Resets the timeout time so that the computation is not interrupted.</EM>
-
-<P><CODE> ppl_set_rounding_for_PPL </CODE><BR>
-
-   <EM>Sets the FPU rounding mode so that the PPL abstractions based on
-  floating point numbers work correctly.
-  This is performed automatically at initialization-time.  Calling
-  this function is needed only if restore_pre_PPL_rounding() has
-  previously been called.</EM>
-
-
-<P><CODE> ppl_restore_rounding_for_PPL </CODE><BR>
-
-   <EM>Sets the FPU rounding mode as it was before initialization of the PPL.
-  After calling this function it is absolutely necessary to call
-  set_rounding_for_PPL() before using any PPL abstractions based on
-  floating point numbers.
-  This is performed automatically at finalization-time.</EM>
-
-\anchor mip_predicates
-<H3> MIP Predicates </H3>
-Here we describe the predicates available for PPL objects
-defining mixed integer (linear) programming problems.
-
-<P><CODE>
-  ppl_new_MIP_Problem_from_space_dimension(+Dimension_Type, -Handle)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with the feasible region
-   the vector space of dimension <CODE>Dimension_Type</CODE>,
-   objective function \f$0\f$ and optimization mode <CODE>max</CODE>.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_MIP_Problem(+Constraint_System, +Lin_Expr, +Optimization_Mode,
-                      -Handle)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ with
-   the feasible region represented by <CODE>Constraint_System</CODE>,
-   objective function <CODE>Lin_Expr</CODE> and optimization mode
-   <CODE>Optimization_Mode</CODE>.
-   <CODE>Handle</CODE> is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_new_MIP_Problem_from_MIP_Problem(+Handle_1, -Handle_2)
-</CODE><BR>
-
-   <EM>Creates an MIP Problem \f$\mathrm{MIP}\f$ from the MIP Problem
-   referenced by \c Handle_1.
-   \c Handle_2 is unified with the handle for \f$\mathrm{MIP}\f$.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_swap(+Handle_1, +Handle_2)
-</CODE><BR>
-
-   <EM>Swaps the MIP Problem referenced by <CODE>Handle_1</CODE>
-   with the one referenced by <CODE>Handle_2</CODE>.</EM>
-
-<P><CODE>
-  ppl_delete_MIP_Problem(+Handle)
-</CODE><BR>
-
-   <EM>Deletes the MIP Problem referenced by <CODE>Handle</CODE>.
-   After execution,
-   <CODE>Handle</CODE> is no longer a valid handle for a PPL MIP Problem.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_space_dimension(+Handle, ?Dimension_Type)
-</CODE><BR>
-
-   <EM>Unifies the dimension of the vector space in which the
-   MIP Problem referenced by <CODE>Handle</CODE> is embedded
-   with <CODE>Dimension_Type</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_integer_space_dimensions(+Handle, ?Vars_List)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Vars_List</CODE> with a list of variables representing
-   the integer space dimensions of the MIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_constraints(+Handle, -Constraint_System)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Constraint_System</CODE> with a list of
-   the constraints in the constraints system
-   representing the feasible region for the MIP Problem
-   referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_objective_function(+Handle, ?Lin_Expr)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Lin_Expr</CODE> with the objective function
-   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimization_mode(+Handle, ?Optimization_Mode)
-</CODE><BR>
-
-   <EM>Unifies <CODE>Optimization_Mode</CODE> with the optimization mode
-   for the MIP Problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_clear(+Handle)
-</CODE><BR>
-
-  <EM>Resets the MIP problem referenced by <CODE>Handle</CODE>
-  to be the trivial problem with
-  the feasible region the \f$0\f$-dimensional universe,
-  objective function \f$0\f$ and optimization mode <CODE>max</CODE>.</EM>
-
-<P><CODE> ppl_MIP_Problem_add_space_dimensions_and_embed(
-             +Handle, +Dimension_Type)
- </CODE><BR>
-
-   <EM>Embeds the MIP problem referenced by <CODE>Handle</CODE>
-   in a space that is enlarged by <CODE>Dimension_Type</CODE> dimensions.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_to_integer_space_dimensions(+Handle, +Vars_List)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the variables in <CODE>Vars_List</CODE> are added to
-   the set of integer space dimensions.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_constraint(+Handle, +Constraint)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with the constraint <CODE>Constraint</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_add_constraints(+Handle, +Constraint_System)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the feasible region is represented by the original constraint
-   system together with all the constraints in
-   <CODE>Constraint_System</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_objective_function(+Handle, +Lin_Expr)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the objective function is changed to <CODE>Lin_Expr</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_control_parameter(+Handle, +Control_Parameter_Value)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the value for the relevant control parameter name is
-   changed to <CODE>Control_Parameter_Value</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_get_control_parameter(+Handle, +Control_Parameter_Name,
-                                        ?Control_Parameter_Value)
-</CODE><BR>
-
-   <EM>Unifies \c Control_Parameter_Value with the value of the
-   control parameter \c Control_Parameter_Name.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_set_optimization_mode(+Handle, +Optimization_Mode)
-</CODE><BR>
-
-   <EM>Updates the MIP Problem referenced by <CODE>Handle</CODE>
-   so that the optimization mode is changed to
-   <CODE>Optimization_Mode</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_is_satisfiable(+Handle)
-</CODE><BR>
-
-  <EM>Succeeds if and only if the MIP Problem referenced by
-  <CODE>Handle</CODE> is satisfiable.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_solve(+Handle, ?MIP_Problem_Status)
-</CODE><BR>
-
-  <EM>Solves the MIP problem  referenced by
-  <CODE>Handle</CODE> and unifies <CODE>MIP_Problem_Status</CODE>
-  with:
-  <CODE>unfeasible</CODE>, if the MIP problem is not satisfiable;
-  <CODE>unbounded</CODE>, if the MIP problem is satisfiable but
-  there is no finite bound to the value of the objective function;
-  <CODE>optimized</CODE>, if the MIP problem admits an optimal solution.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_feasible_point(+Handle, ?Generator)
-</CODE><BR>
-
-  <EM>Unifies  <CODE>Generator</CODE> with a feasible point
-  for the MIP problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimizing_point(+Handle, ?Generator)
-</CODE><BR>
-
-  <EM>Unifies  <CODE>Generator</CODE> with an optimizing point for
-  the MIP problem referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_optimal_value(+Handle, ?Coeff_1, ?Coeff_2)
-</CODE><BR>
-
-  <EM>Unifies <CODE>Coeff_1</CODE> and <CODE>Coeff_2</CODE>
-  with the numerator and denominator, respectively, for the optimal value
-  for the MIP problem  referenced by <CODE>Handle</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_evaluate_objective_function(+Handle, +Generator,
-                                             ?Coeff_1, ?Coeff_2)
-</CODE><BR>
-  <EM>Evaluates the objective function of the MIP problem  referenced by
-  <CODE>Handle</CODE> at point <CODE>Generator</CODE>.
-  <CODE>Coefficient_1</CODE> is unified with the numerator and
-  <CODE>Coefficient_2</CODE> is unified with the denominator of the
-  objective function value at <CODE>Generator</CODE>.</EM>
-
-<P><CODE>
-  ppl_MIP_Problem_OK(+Handle)
-</CODE><BR>
-
-   <EM>Succeeds only if the MIP Problem referenced by
-   <CODE>Handle</CODE> is well formed, i.e., if it
-   satisfies all its implementation invariants.
-   Useful for debugging purposes.</EM>
-
-<BR>
diff --git a/interfaces/Prolog/tests/Makefile.am b/interfaces/Prolog/tests/Makefile.am
index f93f331..df2f4eb 100644
--- a/interfaces/Prolog/tests/Makefile.am
+++ b/interfaces/Prolog/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 CLPQ_TESTS_NONSTRICT = \
 ack.clpq \
diff --git a/interfaces/Prolog/tests/Makefile.in b/interfaces/Prolog/tests/Makefile.in
index 57efe3d..a89bb99 100644
--- a/interfaces/Prolog/tests/Makefile.in
+++ b/interfaces/Prolog/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -68,38 +68,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -127,6 +122,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -151,21 +147,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -221,6 +212,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -289,7 +281,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -440,10 +431,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/interfaces/Prolog/tests/clpq.pl b/interfaces/Prolog/tests/clpq.pl
index b798804..b97f422 100644
--- a/interfaces/Prolog/tests/clpq.pl
+++ b/interfaces/Prolog/tests/clpq.pl
@@ -2,7 +2,7 @@
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -21,7 +21,7 @@
 % Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 %
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 % Object-level clauses are stored as user_clause(Head, Body) facts.
 :- dynamic(user_clause/2).
@@ -795,7 +795,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 common_main :-
   write('\
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>\n\
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)\n\
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)\n\
 this program is free software, covered by the GNU General Public License,\n\
 and you are welcome to change it and/or distribute copies of it\n\
 under certain conditions.\n\
diff --git a/interfaces/Prolog/tests/clpq2.pl b/interfaces/Prolog/tests/clpq2.pl
index 250ad1a..2a7ae82 100644
--- a/interfaces/Prolog/tests/clpq2.pl
+++ b/interfaces/Prolog/tests/clpq2.pl
@@ -2,7 +2,7 @@
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -21,7 +21,7 @@
 % Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 %
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 % Object-level clauses are stored as user_clause(Head, Body) facts.
 :- dynamic(user_clause/2).
@@ -54,7 +54,7 @@ solve_query(Goals, VN, Polys_Out) :-
 
   % Now find and sort all the PPL dimensions for variables
   % that occur in bindings to external variables.
-  terms2wanted_dims(VN, [], Num_List),
+  terms_to_wanted_dims(VN, [], Num_List),
   sort(Num_List, Sorted_Num_List),
 
   % We want to remove (project away) all other dimensions.
@@ -117,13 +117,13 @@ solve(_, { Constraints }, [Poly|Polys], [Poly|Polys]) :-
   ppl_Polyhedron_space_dimension(Poly, Dims),
 
   % Change any free variables into PPL variables.
-  term2PPLterm(Constraints, Dims, New_Dims),
+  term_to_PPL_term(Constraints, Dims, New_Dims),
   Added_Dims is New_Dims - Dims,
   ppl_Polyhedron_add_space_dimensions_and_embed(Poly, Added_Dims),
 
   % Make the sequence of constraints into a list
   % and check we do have constraints.
-  constraints2list(Constraints, Constraints_List),
+  constraints_to_list(Constraints, Constraints_List),
 
   ppl_Polyhedron_add_constraints(Poly, Constraints_List),
 
@@ -165,7 +165,7 @@ solve(Topology, Atom, [Poly|Polys], Polys_Out) :-
   parameter_passing(Atom, Head, Binding_Constraints),
 
   % Change any free variables into PPL variables.
-  terms2PPLterms(Binding_Constraints, Dims, New_Dims),
+  terms_to_PPL_terms(Binding_Constraints, Dims, New_Dims),
   Added_Dims is New_Dims - Dims,
   ppl_Polyhedron_add_space_dimensions_and_embed(Poly_Copy, Added_Dims),
 
@@ -177,7 +177,7 @@ solve(Topology, Atom, [Poly|Polys], Polys_Out) :-
 
   % Now remove any dimensions that are higher than
   % previously and higher than any PPL variables in the atom.
-  term2wanted_dims(Atom, [], Num_List),
+  term_to_wanted_dims(Atom, [], Num_List),
   Max_Wanted1 is Dims - 1,
   max(Num_List, Max_Wanted1, Max_Wanted),
   Un_Wanted is Max_Wanted + 1,
@@ -375,13 +375,9 @@ list_program :-
 list_program.
 
 pp(Head, Body) :-
-  % write(Head),
   (Body == true ->
-    % write('.')
     portray_clause(Head)
   ;
-    % write(' :- '),
-    % write(Body)
     portray_clause((Head :- Body))
   ),
   nl.
@@ -499,8 +495,6 @@ write_expr('$VAR'(N), Var_List, VN) :-
     write('_'),
     write('$VAR'(N))
   ).
-%write_expr('$VAR'(N), Variable_Names) :-
-%  write_var('$VAR'(N), Variable_Names).
 write_expr(Num*Var, Variable_Names, VN) :-
   (Num =:= 1 ->
     true
@@ -659,54 +653,56 @@ int_expr_aux(I-J) :-
 
 %%%%%%%%%%%%%%%%%%%%%%%%%% Utility Predicates %%%%%%%%%%%%%%%%%%%%%%%%%%
 
-% term2wanted_dims(?Term, -List_of_Integers)
+% term_to_wanted_dims(?Term, -List_of_Integers)
 %
 % Takes a term and returns list of numbers in the PPL variables
 % of the form '$VAR'(k).
 
-term2wanted_dims(V, Ns, Ns) :-
+term_to_wanted_dims(V, Ns, Ns) :-
   var(V),
   !.
-term2wanted_dims('$VAR'(N), Ns, [N|Ns]) :-
+term_to_wanted_dims('$VAR'(N), Ns, [N|Ns]) :-
   !.
-term2wanted_dims(Term, Ns_In, Ns_Out) :-
+term_to_wanted_dims(Term, Ns_In, Ns_Out) :-
   Term =.. [_F|Args],
-  terms2wanted_dims(Args, Ns_In, Ns_Out).
+  terms_to_wanted_dims(Args, Ns_In, Ns_Out).
 
-terms2wanted_dims([], Ns, Ns).
-terms2wanted_dims([Arg|Args], Ns_In, Ns_Out) :-
-  term2wanted_dims(Arg, Ns_In, Ns1),
-  terms2wanted_dims(Args, Ns1, Ns_Out).
+terms_to_wanted_dims([], Ns, Ns).
+terms_to_wanted_dims([Arg|Args], Ns_In, Ns_Out) :-
+  term_to_wanted_dims(Arg, Ns_In, Ns1),
+  terms_to_wanted_dims(Args, Ns1, Ns_Out).
 
-constraints2list(C, LC) :-
-  constraints2list(C, [], LC).
+constraints_to_list(C, LC) :-
+  constraints_to_list(C, [], LC).
 
-constraints2list((A, B), Rest, LC) :-
+constraints_to_list((A, B), Rest, LC) :-
   !,
-  constraints2list(B, Rest, BRest),
-  constraints2list(A, BRest, LC).
-constraints2list(C, Rest, Rest1) :-
+  constraints_to_list(B, Rest, BRest),
+  constraints_to_list(A, BRest, LC).
+constraints_to_list(C, Rest, Rest1) :-
   (check_constraint(C) ->
     Rest1 = [C|Rest]
   ;
     Rest1 = [0 = 1]
   ).
 
-% term2PPLterm(?Term, +In_N, ?Out_N)
+
+% term_to_PPL_term(?Term, +In_N, ?Out_N)
 %
 % Unifies each of the variables in Term with the special terms
 % '$VAR'(k), where k ranges from In_N to Out_N-1.
-term2PPLterm('$VAR'(In_N), In_N, Out_N) :-
+
+term_to_PPL_term('$VAR'(In_N), In_N, Out_N) :-
   !,
   Out_N is In_N + 1.
-term2PPLterm(Term, In_N, Out_N) :-
+term_to_PPL_term(Term, In_N, Out_N) :-
   Term =.. [_|Args],
-  terms2PPLterms(Args, In_N, Out_N).
+  terms_to_PPL_terms(Args, In_N, Out_N).
 
-terms2PPLterms([], In_N, In_N).
-terms2PPLterms([Arg|Args], In_N, Out_N) :-
-  term2PPLterm(Arg, In_N, Tmp_N),
-  terms2PPLterms(Args, Tmp_N, Out_N).
+terms_to_PPL_terms([], In_N, In_N).
+terms_to_PPL_terms([Arg|Args], In_N, Out_N) :-
+  term_to_PPL_term(Arg, In_N, Tmp_N),
+  terms_to_PPL_terms(Args, Tmp_N, Out_N).
 
 build_equality_constraints([], []).
 build_equality_constraints([Var = Num|Eqs], All_Eq_Constrs) :-
@@ -1116,7 +1112,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 common_main :-
   write('\
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>\n\
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)\n\
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)\n\
 this program is free software, covered by the GNU General Public License,\n\
 and you are welcome to change it and/or distribute copies of it\n\
 under certain conditions.\n\
diff --git a/interfaces/Prolog/tests/expected_clpq2_int16 b/interfaces/Prolog/tests/expected_clpq2_int16
index 9f144b1..97834f0 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16
+++ b/interfaces/Prolog/tests/expected_clpq2_int16
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
@@ -21,7 +21,7 @@ PPL clpq ?- Y = 8
  more? yes
 PPL clpq ?- yes
 PPL clpq ?- 
-Error: an overflow has been detected by the PPL: Negative overflow.
+Error: an overflow has been detected by the PPL: Positive overflow.
 no
 PPL clpq ?- yes
 PPL clpq ?- X = 10
diff --git a/interfaces/Prolog/tests/expected_clpq2_int16_a b/interfaces/Prolog/tests/expected_clpq2_int16_a
index c954d88..a29bc3a 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int16_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
@@ -21,7 +21,7 @@ PPL clpq ?- Y = 8
  more? yes
 PPL clpq ?- yes
 PPL clpq ?- 
-Error: an overflow has been detected by the PPL: Negative overflow.
+Error: an overflow has been detected by the PPL: Positive overflow.
 no
 PPL clpq ?- yes
 PPL clpq ?- 
diff --git a/interfaces/Prolog/tests/expected_clpq2_int32 b/interfaces/Prolog/tests/expected_clpq2_int32
index 2f43a8f..7505ea6 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32
+++ b/interfaces/Prolog/tests/expected_clpq2_int32
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int32_a b/interfaces/Prolog/tests/expected_clpq2_int32_a
index d868b50..ca82946 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int32_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int64 b/interfaces/Prolog/tests/expected_clpq2_int64
index 2f43a8f..7505ea6 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64
+++ b/interfaces/Prolog/tests/expected_clpq2_int64
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int64_a b/interfaces/Prolog/tests/expected_clpq2_int64_a
index 2f43a8f..7505ea6 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int64_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_int8 b/interfaces/Prolog/tests/expected_clpq2_int8
index 38d8122..8696719 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8
+++ b/interfaces/Prolog/tests/expected_clpq2_int8
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
@@ -25,7 +25,7 @@ Error: an overflow has been detected by the PPL: Positive overflow.
 no
 PPL clpq ?- yes
 PPL clpq ?- 
-Error: an overflow has been detected by the PPL: Negative overflow.
+Error: an overflow has been detected by the PPL: Positive overflow.
 no
 PPL clpq ?- yes
 PPL clpq ?- X =< 5
diff --git a/interfaces/Prolog/tests/expected_clpq2_int8_a b/interfaces/Prolog/tests/expected_clpq2_int8_a
index e88acc3..8696719 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int8_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_mpz b/interfaces/Prolog/tests/expected_clpq2_mpz
index 2f43a8f..7505ea6 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq2_mpz_a b/interfaces/Prolog/tests/expected_clpq2_mpz_a
index 2f43a8f..7505ea6 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int16 b/interfaces/Prolog/tests/expected_clpq_int16
index d6ca957..029dfb2 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16
+++ b/interfaces/Prolog/tests/expected_clpq_int16
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int16_a b/interfaces/Prolog/tests/expected_clpq_int16_a
index d6ca957..029dfb2 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq_int16_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int32 b/interfaces/Prolog/tests/expected_clpq_int32
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32
+++ b/interfaces/Prolog/tests/expected_clpq_int32
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int32_a b/interfaces/Prolog/tests/expected_clpq_int32_a
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq_int32_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int64 b/interfaces/Prolog/tests/expected_clpq_int64
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64
+++ b/interfaces/Prolog/tests/expected_clpq_int64
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int64_a b/interfaces/Prolog/tests/expected_clpq_int64_a
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq_int64_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int8 b/interfaces/Prolog/tests/expected_clpq_int8
index 31294cd..11395d8 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8
+++ b/interfaces/Prolog/tests/expected_clpq_int8
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_int8_a b/interfaces/Prolog/tests/expected_clpq_int8_a
index 31294cd..11395d8 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq_int8_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_mpz b/interfaces/Prolog/tests/expected_clpq_mpz
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz
+++ b/interfaces/Prolog/tests/expected_clpq_mpz
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_clpq_mpz_a b/interfaces/Prolog/tests/expected_clpq_mpz_a
index 2ead12c..dc31695 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq_mpz_a
@@ -1,5 +1,5 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 this program is free software, covered by the GNU General Public License,
 and you are welcome to change it and/or distribute copies of it
 under certain conditions.
diff --git a/interfaces/Prolog/tests/expected_pchk_int8 b/interfaces/Prolog/tests/expected_pchk_int8
index 45056d1..c1a4555 100644
--- a/interfaces/Prolog/tests/expected_pchk_int8
+++ b/interfaces/Prolog/tests/expected_pchk_int8
@@ -3,5 +3,5 @@ Error: an overflow has been detected by the PPL: Positive overflow.
 
 Error: an overflow has been detected by the PPL: Negative overflow.
 
-Error: an overflow has been detected by the PPL: Negative overflow.
+Error: an overflow has been detected by the PPL: Positive overflow.
 OK
diff --git a/interfaces/Prolog/tests/expected_pchk_int8_a b/interfaces/Prolog/tests/expected_pchk_int8_a
index 45056d1..c1a4555 100644
--- a/interfaces/Prolog/tests/expected_pchk_int8_a
+++ b/interfaces/Prolog/tests/expected_pchk_int8_a
@@ -3,5 +3,5 @@ Error: an overflow has been detected by the PPL: Positive overflow.
 
 Error: an overflow has been detected by the PPL: Negative overflow.
 
-Error: an overflow has been detected by the PPL: Negative overflow.
+Error: an overflow has been detected by the PPL: Positive overflow.
 OK
diff --git a/interfaces/Prolog/tests/pl_check.pl b/interfaces/Prolog/tests/pl_check.pl
index 2a27056..4235caa 100644
--- a/interfaces/Prolog/tests/pl_check.pl
+++ b/interfaces/Prolog/tests/pl_check.pl
@@ -1,6 +1,6 @@
 /* Various tests on the Prolog interface.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
 % noisy(F)
@@ -1982,13 +1982,13 @@ build_hypercube_constraints(Dim, [V|Vars], [V >= 0, V =< 1|CS]) :-
 
 % Find the dimension and constraints for
 % a hypercube that causes a timeout exception.
-compute_timeout_hypercube(Hsecs, T, Dim_in, Dim_out, CS_out) :-
+compute_timeout_hypercube(Csecs, T, Dim_in, Dim_out, CS_out) :-
     Dim_in =< 100,
     clean_ppl_new_Polyhedron_from_space_dimension(T, Dim_in, universe, P),
     make_vars(Dim_in, Vars),
     build_hypercube_constraints(Dim_in, Vars, CS),
     ppl_timeout_exception_atom(Time_Out_Atom),
-    catch((ppl_set_timeout(Hsecs),
+    catch((ppl_set_timeout(Csecs),
            add_constraints_and_get_minimized_constraints(P, CS)),
           Time_Out_Atom, Catch_Exception = ok),
     ppl_reset_timeout,
@@ -1999,7 +1999,7 @@ compute_timeout_hypercube(Hsecs, T, Dim_in, Dim_out, CS_out) :-
     ;
         Dim1 is Dim_in+1,
         ppl_delete_Polyhedron(P),
-        compute_timeout_hypercube(Hsecs, T, Dim1, Dim_out, CS_out)
+        compute_timeout_hypercube(Csecs, T, Dim1, Dim_out, CS_out)
     ).
 
 time_out(T) :-
@@ -3017,46 +3017,52 @@ exception_cplusplus(10, [A, B, C]) :-
 % If expected exception is caught, it succeeds and fails if not.
 
 must_catch(Call, prolog_exception_error) :-
-   !,
-   catch( Call, Message, format_exception_message( Message ) ),
-   ( \+var(Message) ->
-       ((Message =.. [ppl_invalid_argument|_] ; Message = out_of_memory) ->
-           true
-       ;
-           check_exception_term(Message)
-       )
-   ;
-       fail
-   ).
+    !,
+    catch( Call, Message, format_exception_message( Message ) ),
+    ( \+var(Message) ->
+        ((
+          Message =.. [ppl_invalid_argument|_]
+         ;
+          Message =.. [ppl_length_error|_]
+         ;
+          Message = out_of_memory
+         ) ->
+            true
+        ;
+            check_exception_term(Message)
+        )
+    ;
+        fail
+    ).
 must_catch(Call, cpp_error) :-
-   !,
-   catch( Call, Message, format_exception_message( cpp_error(Message) ) ),
-   ( ( \+ var(Message),
-       functor(Message, ppl_invalid_argument, _) ) ->
-       true
-   ;
-       fail
-   ).
+    !,
+    catch( Call, Message, format_exception_message( cpp_error(Message) ) ),
+    ( ( \+ var(Message),
+          functor(Message, ppl_invalid_argument, _) ) ->
+        true
+    ;
+        fail
+    ).
 must_catch(Call, ppl_sys_prolog_error) :-
-   !,
-   catch( Call, Message, format_exception_message(Message) ),
-   ( ( \+ var(Message),
-         (Message =.. [ppl_representation_error|_] )) ->
-       true
-   ;
-       fail
-   ).
+    !,
+    catch( Call, Message, format_exception_message(Message) ),
+    ( ( \+ var(Message),
+          (Message =.. [ppl_representation_error|_] )) ->
+        true
+    ;
+        fail
+    ).
 must_catch(Call, Expected) :-
-   catch(Call, Message, format_exception_message(Message) ),
-   (\+ var(Message), Message = ppl_overflow_error(_) ->
-       true
-   ;
-       ( \+ var(Message), Message =.. [Expected|_] ->
-           true
-       ;
-           fail
-       )
-   ).
+    catch(Call, Message, format_exception_message(Message) ),
+    (\+ var(Message), Message = ppl_overflow_error(_) ->
+        true
+    ;
+        ( \+ var(Message), Message =.. [Expected|_] ->
+            true
+        ;
+            fail
+        )
+    ).
 
 %%%%%%%%%%%% predicate for making list of ppl variables %%%%%%
 
@@ -3324,6 +3330,11 @@ format_exception_message(
                    F, 'is an invalid argument for', W, nl, '   ',
                   F, 'should be', E, '.']).
 
+format_exception_message(ppl_length_error(Error)) :-
+  !,
+  display_message(['PPL Prolog Interface Exception: ', nl, '   ',
+                   'ppl_length_error', Error]).
+
 format_exception_message(
              ppl_representation_error(I, where(W))
                         ) :-
diff --git a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4 b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
index d5a10c8..a4dff11 100644
--- a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
+++ b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
@@ -6,7 +6,7 @@ dnl ppl_prolog_generated_test_<CLASS_NAME>.pl using the code in
 dnl ppl_interface_generator_prolog_generated_test_pl_code.m4.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_divert`'dnl
 ___END_OF_FILE___
diff --git a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4 b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
index 666dabb..1ae5385 100644
--- a/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
+++ b/interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
@@ -6,7 +6,7 @@ dnl the generated Prolog interface predicates
 dnl and the main file ppl_prolog_generated_test_main.pl.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 m4_define(`m4_add_build_class_code', `dnl
 ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Dim) :-
@@ -834,6 +834,31 @@ ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_2_test :-
 
 ')
 
+m4_define(`ppl_ at CLASS@_has_ at UPPERLOWER@_bound_code',
+`
+ppl_ at CLASS@_has_ at UPPERLOWER@_bound_5_test :-
+  (
+   choose_test(TEST_DATA, Space_Dim),
+   (
+     ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Space_Dim),
+     ((
+       Space_Dim = 0
+      ;
+       ppl_ at CLASS@_is_empty(PS)
+      ) ->
+       true
+     ;
+       make_vars(Space_Dim, [Var| _Var_List]),
+       (ppl_ at CLASS@_has_ at UPPERLOWER@_bound(PS, Var, _, _, _) -> true ; true)
+     ),
+     ppl_ at CLASS@_OK(PS),
+     ppl_delete_ at CLASS@(PS)
+   ->
+     fail ; true)
+  ).
+
+')
+
 dnl FIXME:: The test fails for BD_Shape.
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_codeXXXXX',
 `
diff --git a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
index 1ba7be5..6a0a5dc 100644
--- a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+++ b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
@@ -1,6 +1,6 @@
 % Extra test code for the generated tests for the Prolog interfaces.
 % Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-% Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+% Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -19,7 +19,7 @@
 % Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 %
 % For the most up-to-date information see the Parma Polyhedra Library
-% site: http://www.cs.unipr.it/ppl/ .
+% site: http://bugseng.com/products/ppl/ .
 
 :- dynamic(noisy/1).
 
diff --git a/interfaces/interfaced_boxes.hh b/interfaces/interfaced_boxes.hh
index aa0d608..4a85668 100644
--- a/interfaces/interfaced_boxes.hh
+++ b/interfaces/interfaced_boxes.hh
@@ -1,7 +1,7 @@
 /* Declarations for the Box instantiations offered by the non-templatic
    language interfaces.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_interfaced_boxes_hh
 #define PPL_interfaced_boxes_hh 1
@@ -40,11 +40,8 @@ struct Z_Box_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset
-                          <unsigned int,
-                           Z_Box_Interval_Info_Policy> >
-Z_Box_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Z_Box_Interval_Info_Policy> Z_Box_Interval_Info;
 
 typedef Box<Interval<mpz_class, Z_Box_Interval_Info> > Z_Box;
 
@@ -61,11 +58,8 @@ struct Floating_Point_Box_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset
-                          <unsigned int,
-                           Floating_Point_Box_Interval_Info_Policy> >
-Floating_Point_Box_Interval_Info;
+typedef Interval_Info_Bitset <unsigned int,
+                              Floating_Point_Box_Interval_Info_Policy> Floating_Point_Box_Interval_Info;
 
 typedef
 Box<Interval<float, Floating_Point_Box_Interval_Info> >
@@ -90,11 +84,8 @@ struct Native_Integer_Box_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset
-                          <unsigned int,
-                           Native_Integer_Box_Interval_Info_Policy> >
-Native_Integer_Box_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Native_Integer_Box_Interval_Info_Policy> Native_Integer_Box_Interval_Info;
 
 typedef Box<Interval<int8_t, Native_Integer_Box_Interval_Info> > Int8_Box;
 
diff --git a/interfaces/marked_pointers.hh b/interfaces/marked_pointers.hh
index 990c002..82c97d9 100644
--- a/interfaces/marked_pointers.hh
+++ b/interfaces/marked_pointers.hh
@@ -1,7 +1,7 @@
 /* Implementation of marked pointers for use in some PPL non-templatic
    language interfaces.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_marked_pointers_hh
 #define PPL_marked_pointers_hh 1
diff --git a/interfaces/ppl_interface_generator_common.m4 b/interfaces/ppl_interface_generator_common.m4
index f4df924..5442747 100644
--- a/interfaces/ppl_interface_generator_common.m4
+++ b/interfaces/ppl_interface_generator_common.m4
@@ -5,7 +5,7 @@ dnl - application independent helper macros used here and by other m4 files.
 dnl - defining the main code generation macro m4_all_code.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -24,7 +24,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl ---------------------------------------------------------------------
 dnl           --- MACRO GROUPS and DEPENDENCIES ---
diff --git a/interfaces/ppl_interface_generator_common_dat.m4 b/interfaces/ppl_interface_generator_common_dat.m4
index 212cfe0..099795a 100644
--- a/interfaces/ppl_interface_generator_common_dat.m4
+++ b/interfaces/ppl_interface_generator_common_dat.m4
@@ -6,7 +6,7 @@ dnl - the control of the procedures to be generated for each class;
 dnl - the replacements for the patterns in the code files.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,7 +25,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl Classes to be implemented and C++ versions of these classes.
 dnl If generating the documentation, the instantiations are fixed and defined locally.
@@ -509,6 +509,7 @@ class_represent,
 has_property,
 simplify,
 abovebelow,
+upperlower,
 maxmin,
 comparison,
 refine_represent,
@@ -706,7 +707,9 @@ m4_define(`m4_extrapolation_replacements', `NONE')
 m4_define(`m4_BD_Shape_extrapolation_replacements',
   `CC76')
 m4_define(`m4_Octagonal_Shape_extrapolation_replacements',
-   `CC76')
+  `CC76')
+m4_define(`m4_box_extrapolation_replacements',
+  `CC76')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == widenexp
@@ -938,6 +941,13 @@ dnl ---------------------------------------------------------------------
 m4_define(`m4_abovebelow_replacements', `above, below')
 
 dnl ---------------------------------------------------------------------
+dnl pattern -- upper/lower
+dnl Used for has_upper_bound and has_lower_bound methods (Box domains).
+dnl ---------------------------------------------------------------------
+
+m4_define(`m4_upperlower_replacements', `upper, lower')
+
+dnl ---------------------------------------------------------------------
 dnl pattern == maxmin
 dnl Maximize or Minimize
 dnl ---------------------------------------------------------------------
diff --git a/interfaces/ppl_interface_generator_common_procedure_generators.m4 b/interfaces/ppl_interface_generator_common_procedure_generators.m4
index d27160d..2e89423 100644
--- a/interfaces/ppl_interface_generator_common_procedure_generators.m4
+++ b/interfaces/ppl_interface_generator_common_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of the procedures generated
 dnl that are independent of the interface being generated.
 
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,7 +23,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl m4_procedure_list
 dnl This class using patterns wherever possible.
@@ -63,6 +63,7 @@ ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s/2 +simple,
 ppl_ at CLASS@_ at HAS_PROPERTY@/1 +all,
 ppl_ at CLASS@_ at SIMPLIFY@/1 *nofail +all,
 ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@/2 +all,
+ppl_ at CLASS@_has_ at UPPERLOWER@_bound/5 +box,
 ppl_ at CLASS@_ at MAXMIN@/5 +all,
 ppl_ at CLASS@_ at MAXMIN@_with_point/6 +all,
 ppl_ at CLASS@_frequency/6 +simple,
@@ -111,7 +112,7 @@ ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens/5 +sim
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign/3 *nofail +simple,
 ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens/4 +wr_shape,
 ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign/2 *nofail +wr_shape,
-ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign/2 +wr_shape,
+ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign/2 +shape_group,
 dnl
 dnl NOTE: The next few schemas provide procedures specifically for
 dnl       the pointset_powerset domains.
diff --git a/interfaces/ppl_interface_generator_copyright b/interfaces/ppl_interface_generator_copyright
index c82cdd1..8f392fb 100644
--- a/interfaces/ppl_interface_generator_copyright
+++ b/interfaces/ppl_interface_generator_copyright
@@ -1,5 +1,5 @@
 `   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -18,4 +18,4 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . 'dnl
+site: http://bugseng.com/products/ppl/ . 'dnl
diff --git a/ltmain.sh b/ltmain.sh
index 04eaea4..63ae69d 100755
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -1,10 +1,9 @@
-# Generated from ltmain.m4sh.
 
-# libtool (GNU libtool) 2.2.10
+# libtool (GNU libtool) 2.4.2
 # Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -42,6 +41,7 @@
 #       --quiet, --silent    don't print informational messages
 #       --no-quiet, --no-silent
 #                            print informational messages (default)
+#       --no-warn            don't display warning messages
 #       --tag=TAG            use configuration variables from tag TAG
 #   -v, --verbose            print more informational messages than default
 #       --no-verbose         don't print the extra informational messages
@@ -70,17 +70,19 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.2.10
+#         $progname:	(GNU libtool) 2.4.2
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
 # Report bugs to <bug-libtool at gnu.org>.
+# GNU libtool home page: <http://www.gnu.org/software/libtool/>.
+# General help using GNU software: <http://www.gnu.org/gethelp/>.
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION=2.2.10
+VERSION=2.4.2
 TIMESTAMP=""
-package_revision=1.3175
+package_revision=1.3337
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -135,15 +137,10 @@ progpath="$0"
 
 : ${CP="cp -f"}
 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="grep -E"}
-: ${FGREP="grep -F"}
-: ${GREP="grep"}
-: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -163,6 +160,27 @@ IFS=" 	$lt_nl"
 dirname="s,/[^/]*$,,"
 basename="s,^.*/,,"
 
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+    func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+} # func_dirname may be replaced by extended shell implementation
+
+
+# func_basename file
+func_basename ()
+{
+    func_basename_result=`$ECHO "${1}" | $SED "$basename"`
+} # func_basename may be replaced by extended shell implementation
+
+
 # func_dirname_and_basename file append nondir_replacement
 # perform func_basename and func_dirname in a single function
 # call:
@@ -177,17 +195,31 @@ basename="s,^.*/,,"
 # those functions but instead duplicate the functionality here.
 func_dirname_and_basename ()
 {
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-  func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
-}
+    # Extract subdirectory from the argument.
+    func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"`
+    if test "X$func_dirname_result" = "X${1}"; then
+      func_dirname_result="${3}"
+    else
+      func_dirname_result="$func_dirname_result${2}"
+    fi
+    func_basename_result=`$ECHO "${1}" | $SED -e "$basename"`
+} # func_dirname_and_basename may be replaced by extended shell implementation
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+    case ${2} in
+      .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+      *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+    esac
+} # func_stripname may be replaced by extended shell implementation
 
-# Generated shell functions inserted here.
 
 # These SED scripts presuppose an absolute path with a trailing slash.
 pathcar='s,^/\([^/]*\).*$,\1,'
@@ -351,7 +383,7 @@ case $progpath in
      ;;
   *)
      save_IFS="$IFS"
-     IFS=:
+     IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
        IFS="$save_IFS"
        test -x "$progdir/$progname" && break
@@ -370,6 +402,15 @@ sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
 # Same as above, but do not quote variable references.
 double_quote_subst='s/\(["`\\]\)/\\\1/g'
 
+# Sed substitution that turns a string into a regex matching for the
+# string literally.
+sed_make_literal_regex='s,[].[^$\\*\/],\\&,g'
+
+# Sed substitution that converts a w32 file name or path
+# which contains forward slashes, into one that contains
+# (escaped) backslashes.  A very naive implementation.
+lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+
 # Re-`\' parameter expansions in output of double_quote_subst that were
 # `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
 # in input to double_quote_subst, that '$' was protected from expansion.
@@ -398,7 +439,7 @@ opt_warning=:
 # name if it has been set yet.
 func_echo ()
 {
-    $ECHO "$progname${mode+: }$mode: $*"
+    $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
 }
 
 # func_verbose arg...
@@ -424,14 +465,14 @@ func_echo_all ()
 # Echo program name prefixed message to standard error.
 func_error ()
 {
-    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+    $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
 }
 
 # func_warning arg...
 # Echo program name prefixed warning message to standard error.
 func_warning ()
 {
-    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+    $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
 
     # bash bug again:
     :
@@ -650,11 +691,30 @@ func_show_eval_locale ()
     fi
 }
 
+# func_tr_sh
+# Turn $1 into a string suitable for a shell variable name.
+# Result is stored in $func_tr_sh_result.  All characters
+# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
+# if $1 begins with a digit, a '_' is prepended as well.
+func_tr_sh ()
+{
+  case $1 in
+  [0-9]* | *[!a-zA-Z0-9_]*)
+    func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'`
+    ;;
+  * )
+    func_tr_sh_result=$1
+    ;;
+  esac
+}
+
 
 # func_version
 # Echo version message to standard output and exit.
 func_version ()
 {
+    $opt_debug
+
     $SED -n '/(C)/!b go
 	:more
 	/\./!{
@@ -676,6 +736,8 @@ func_version ()
 # Echo short help message to standard output and exit.
 func_usage ()
 {
+    $opt_debug
+
     $SED -n '/^# Usage:/,/^#  *.*--help/ {
         s/^# //
 	s/^# *$//
@@ -692,7 +754,10 @@ func_usage ()
 # unless 'noexit' is passed as argument.
 func_help ()
 {
+    $opt_debug
+
     $SED -n '/^# Usage:/,/# Report bugs to/ {
+	:print
         s/^# //
 	s/^# *$//
 	s*\$progname*'$progname'*
@@ -702,10 +767,14 @@ func_help ()
 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 	s*\$LD*'"$LD"'*
 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
 	p
-     }' < "$progpath"
+	d
+     }
+     /^# .* home page:/b print
+     /^# General help using/b print
+     ' < "$progpath"
     ret=$?
     if test -z "$1"; then
       exit $ret
@@ -717,12 +786,39 @@ func_help ()
 # exit_cmd.
 func_missing_arg ()
 {
+    $opt_debug
+
     func_error "missing argument for $1."
     exit_cmd=exit
 }
 
-exit_cmd=:
 
+# func_split_short_opt shortopt
+# Set func_split_short_opt_name and func_split_short_opt_arg shell
+# variables after splitting SHORTOPT after the 2nd character.
+func_split_short_opt ()
+{
+    my_sed_short_opt='1s/^\(..\).*$/\1/;q'
+    my_sed_short_rest='1s/^..\(.*\)$/\1/;q'
+
+    func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"`
+    func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"`
+} # func_split_short_opt may be replaced by extended shell implementation
+
+
+# func_split_long_opt longopt
+# Set func_split_long_opt_name and func_split_long_opt_arg shell
+# variables after splitting LONGOPT at the `=' sign.
+func_split_long_opt ()
+{
+    my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q'
+    my_sed_long_arg='1s/^--[^=]*=//'
+
+    func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"`
+    func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"`
+} # func_split_long_opt may be replaced by extended shell implementation
+
+exit_cmd=:
 
 
 
@@ -732,25 +828,64 @@ magic="%%%MAGIC variable%%%"
 magic_exe="%%%MAGIC EXE variable%%%"
 
 # Global variables.
-# $mode is unset
 nonopt=
-execute_dlfiles=
 preserve_args=
 lo2o="s/\\.lo\$/.${objext}/"
 o2lo="s/\\.${objext}\$/.lo/"
 extracted_archives=
 extracted_serial=0
 
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
 # If this variable is set in any of the actions, the command in it
 # will be execed at the end.  This prevents here-documents from being
 # left over by shells.
 exec_cmd=
 
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+    eval "${1}=\$${1}\${2}"
+} # func_append may be replaced by extended shell implementation
+
+# func_append_quoted var value
+# Quote VALUE and append to the end of shell variable VAR, separated
+# by a space.
+func_append_quoted ()
+{
+    func_quote_for_eval "${2}"
+    eval "${1}=\$${1}\\ \$func_quote_for_eval_result"
+} # func_append_quoted may be replaced by extended shell implementation
+
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+    func_arith_result=`expr "${@}"`
+} # func_arith may be replaced by extended shell implementation
+
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+    func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len`
+} # func_len may be replaced by extended shell implementation
+
+
+# func_lo2o object
+func_lo2o ()
+{
+    func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
+} # func_lo2o may be replaced by extended shell implementation
+
+
+# func_xform libobj-or-source
+func_xform ()
+{
+    func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
+} # func_xform may be replaced by extended shell implementation
+
+
 # func_fatal_configuration arg...
 # Echo program name prefixed message to standard error, followed by
 # a configuration failure hint, and exit.
@@ -840,129 +975,209 @@ func_enable_tag ()
   esac
 }
 
-# Parse options once, thoroughly.  This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
 {
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+# Shorthand for --mode=foo, only valid as the first argument
+case $1 in
+clean|clea|cle|cl)
+  shift; set dummy --mode clean ${1+"$@"}; shift
+  ;;
+compile|compil|compi|comp|com|co|c)
+  shift; set dummy --mode compile ${1+"$@"}; shift
+  ;;
+execute|execut|execu|exec|exe|ex|e)
+  shift; set dummy --mode execute ${1+"$@"}; shift
+  ;;
+finish|finis|fini|fin|fi|f)
+  shift; set dummy --mode finish ${1+"$@"}; shift
+  ;;
+install|instal|insta|inst|ins|in|i)
+  shift; set dummy --mode install ${1+"$@"}; shift
+  ;;
+link|lin|li|l)
+  shift; set dummy --mode link ${1+"$@"}; shift
+  ;;
+uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+  shift; set dummy --mode uninstall ${1+"$@"}; shift
+  ;;
+esac
+
+
+
+# Option defaults:
+opt_debug=:
+opt_dry_run=false
+opt_config=false
+opt_preserve_dup_deps=false
+opt_features=false
+opt_finish=false
+opt_help=false
+opt_help_all=false
+opt_silent=:
+opt_warning=:
+opt_verbose=:
+opt_silent=false
+opt_verbose=false
 
-  # Shorthand for --mode=foo, only valid as the first argument
-  case $1 in
-  clean|clea|cle|cl)
-    shift; set dummy --mode clean ${1+"$@"}; shift
-    ;;
-  compile|compil|compi|comp|com|co|c)
-    shift; set dummy --mode compile ${1+"$@"}; shift
-    ;;
-  execute|execut|execu|exec|exe|ex|e)
-    shift; set dummy --mode execute ${1+"$@"}; shift
-    ;;
-  finish|finis|fini|fin|fi|f)
-    shift; set dummy --mode finish ${1+"$@"}; shift
-    ;;
-  install|instal|insta|inst|ins|in|i)
-    shift; set dummy --mode install ${1+"$@"}; shift
-    ;;
-  link|lin|li|l)
-    shift; set dummy --mode link ${1+"$@"}; shift
-    ;;
-  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-    shift; set dummy --mode uninstall ${1+"$@"}; shift
-    ;;
-  esac
 
-  # Parse non-mode specific arguments:
-  while test "$#" -gt 0; do
+# Parse options once, thoroughly.  This comes as soon as possible in the
+# script to make things like `--version' happen as quickly as we can.
+{
+  # this just eases exit handling
+  while test $# -gt 0; do
     opt="$1"
     shift
-
     case $opt in
-      --config)		func_config					;;
-
-      --debug)		preserve_args="$preserve_args $opt"
+      --debug|-x)	opt_debug='set -x'
 			func_echo "enabling shell trace mode"
-			opt_debug='set -x'
 			$opt_debug
 			;;
-
-      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			execute_dlfiles="$execute_dlfiles $1"
-			shift
+      --dry-run|--dryrun|-n)
+			opt_dry_run=:
 			;;
-
-      --dry-run | -n)	opt_dry_run=:					;;
-      --features)       func_features					;;
-      --finish)		mode="finish"					;;
-
-      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			case $1 in
-			  # Valid mode arguments:
-			  clean)	;;
-			  compile)	;;
-			  execute)	;;
-			  finish)	;;
-			  install)	;;
-			  link)		;;
-			  relink)	;;
-			  uninstall)	;;
-
-			  # Catch anything else as an error
-			  *) func_error "invalid argument for $opt"
-			     exit_cmd=exit
-			     break
-			     ;;
-		        esac
-
-			mode="$1"
+      --config)
+			opt_config=:
+func_config
+			;;
+      --dlopen|-dlopen)
+			optarg="$1"
+			opt_dlopen="${opt_dlopen+$opt_dlopen
+}$optarg"
 			shift
 			;;
-
       --preserve-dup-deps)
-			opt_duplicate_deps=:				;;
-
-      --quiet|--silent)	preserve_args="$preserve_args $opt"
-			opt_silent=:
-			opt_verbose=false
+			opt_preserve_dup_deps=:
 			;;
-
-      --no-quiet|--no-silent)
-			preserve_args="$preserve_args $opt"
-			opt_silent=false
+      --features)
+			opt_features=:
+func_features
 			;;
-
-      --verbose| -v)	preserve_args="$preserve_args $opt"
+      --finish)
+			opt_finish=:
+set dummy --mode finish ${1+"$@"}; shift
+			;;
+      --help)
+			opt_help=:
+			;;
+      --help-all)
+			opt_help_all=:
+opt_help=': help-all'
+			;;
+      --mode)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_mode="$optarg"
+case $optarg in
+  # Valid mode arguments:
+  clean|compile|execute|finish|install|link|relink|uninstall) ;;
+
+  # Catch anything else as an error
+  *) func_error "invalid argument for $opt"
+     exit_cmd=exit
+     break
+     ;;
+esac
+			shift
+			;;
+      --no-silent|--no-quiet)
 			opt_silent=false
-			opt_verbose=:
+func_append preserve_args " $opt"
 			;;
-
-      --no-verbose)	preserve_args="$preserve_args $opt"
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
+      --no-verbose)
 			opt_verbose=false
+func_append preserve_args " $opt"
 			;;
-
-      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			preserve_args="$preserve_args $opt $1"
-			func_enable_tag "$1"	# tagname is set here
+      --silent|--quiet)
+			opt_silent=:
+func_append preserve_args " $opt"
+        opt_verbose=false
+			;;
+      --verbose|-v)
+			opt_verbose=:
+func_append preserve_args " $opt"
+opt_silent=false
+			;;
+      --tag)
+			test $# = 0 && func_missing_arg $opt && break
+			optarg="$1"
+			opt_tag="$optarg"
+func_append preserve_args " $opt $optarg"
+func_enable_tag "$optarg"
 			shift
 			;;
 
+      -\?|-h)		func_usage				;;
+      --help)		func_help				;;
+      --version)	func_version				;;
+
       # Separate optargs to long options:
-      -dlopen=*|--mode=*|--tag=*)
-			func_opt_split "$opt"
-			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+      --*=*)
+			func_split_long_opt "$opt"
+			set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"}
 			shift
 			;;
 
-      -\?|-h)		func_usage					;;
-      --help)		opt_help=:					;;
-      --help-all)	opt_help=': help-all'				;;
-      --version)	func_version					;;
-
-      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
-
-      *)		nonopt="$opt"
-			break
+      # Separate non-argument short options:
+      -\?*|-h*|-n*|-v*)
+			func_split_short_opt "$opt"
+			set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"}
+			shift
 			;;
+
+      --)		break					;;
+      -*)		func_fatal_help "unrecognized option \`$opt'" ;;
+      *)		set dummy "$opt" ${1+"$@"};	shift; break  ;;
     esac
   done
 
+  # Validate options:
+
+  # save first non-option argument
+  if test "$#" -gt 0; then
+    nonopt="$opt"
+    shift
+  fi
+
+  # preserve --debug
+  test "$opt_debug" = : || func_append preserve_args " --debug"
 
   case $host in
     *cygwin* | *mingw* | *pw32* | *cegcc*)
@@ -970,82 +1185,44 @@ func_enable_tag ()
       opt_duplicate_compiler_generated_deps=:
       ;;
     *)
-      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
       ;;
   esac
 
-  # Having warned about all mis-specified options, bail out if
-  # anything was wrong.
-  $exit_cmd $EXIT_FAILURE
-}
+  $opt_help || {
+    # Sanity checks first:
+    func_check_version_match
 
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
+    if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+      func_fatal_configuration "not configured to build any kind of library"
     fi
 
-    exit $EXIT_MISMATCH
-  fi
-}
+    # Darwin sucks
+    eval std_shrext=\"$shrext_cmds\"
 
+    # Only execute mode is allowed to have -dlopen flags.
+    if test -n "$opt_dlopen" && test "$opt_mode" != execute; then
+      func_error "unrecognized option \`-dlopen'"
+      $ECHO "$help" 1>&2
+      exit $EXIT_FAILURE
+    fi
 
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-$opt_help || {
-  # Sanity checks first:
-  func_check_version_match
-
-  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-    func_fatal_configuration "not configured to build any kind of library"
-  fi
-
-  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+    # Change the help message to a mode-specific one.
+    generic_help="$help"
+    help="Try \`$progname --help --mode=$opt_mode' for more information."
+  }
 
 
-  # Darwin sucks
-  eval std_shrext=\"$shrext_cmds\"
+  # Bail if the options were screwed
+  $exit_cmd $EXIT_FAILURE
+}
 
 
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    func_error "unrecognized option \`-dlopen'"
-    $ECHO "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
 
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
-}
 
+## ----------- ##
+##    Main.    ##
+## ----------- ##
 
 # func_lalib_p file
 # True iff FILE is a libtool `.la' library or `.lo' object file.
@@ -1110,12 +1287,9 @@ func_ltwrapper_executable_p ()
 # temporary ltwrapper_script.
 func_ltwrapper_scriptname ()
 {
-    func_ltwrapper_scriptname_result=""
-    if func_ltwrapper_executable_p "$1"; then
-	func_dirname_and_basename "$1" "" "."
-	func_stripname '' '.exe' "$func_basename_result"
-	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-    fi
+    func_dirname_and_basename "$1" "" "."
+    func_stripname '' '.exe' "$func_basename_result"
+    func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
 }
 
 # func_ltwrapper_p file
@@ -1161,6 +1335,37 @@ func_source ()
 }
 
 
+# func_resolve_sysroot PATH
+# Replace a leading = in PATH with a sysroot.  Store the result into
+# func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+  func_resolve_sysroot_result=$1
+  case $func_resolve_sysroot_result in
+  =*)
+    func_stripname '=' '' "$func_resolve_sysroot_result"
+    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+    ;;
+  esac
+}
+
+# func_replace_sysroot PATH
+# If PATH begins with the sysroot, replace it with = and
+# store the result into func_replace_sysroot_result.
+func_replace_sysroot ()
+{
+  case "$lt_sysroot:$1" in
+  ?*:"$lt_sysroot"*)
+    func_stripname "$lt_sysroot" '' "$1"
+    func_replace_sysroot_result="=$func_stripname_result"
+    ;;
+  *)
+    # Including no sysroot.
+    func_replace_sysroot_result=$1
+    ;;
+  esac
+}
+
 # func_infer_tag arg
 # Infer tagged configuration to use if any are available and
 # if one wasn't chosen via the "--tag" command line option.
@@ -1173,8 +1378,7 @@ func_infer_tag ()
     if test -n "$available_tags" && test -z "$tagname"; then
       CC_quoted=
       for arg in $CC; do
-        func_quote_for_eval "$arg"
-	CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	func_append_quoted CC_quoted "$arg"
       done
       CC_expanded=`func_echo_all $CC`
       CC_quoted_expanded=`func_echo_all $CC_quoted`
@@ -1193,8 +1397,7 @@ func_infer_tag ()
 	    CC_quoted=
 	    for arg in $CC; do
 	      # Double-quote args containing other shell metacharacters.
-	      func_quote_for_eval "$arg"
-	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
+	      func_append_quoted CC_quoted "$arg"
 	    done
 	    CC_expanded=`func_echo_all $CC`
 	    CC_quoted_expanded=`func_echo_all $CC_quoted`
@@ -1225,43 +1428,523 @@ func_infer_tag ()
 }
 
 
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+
+##################################################
+# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
+##################################################
+
+# func_convert_core_file_wine_to_w32 ARG
+# Helper function used by file name conversion functions when $build is *nix,
+# and $host is mingw, cygwin, or some other w32 environment. Relies on a
+# correctly configured wine environment available, with the winepath program
+# in $build's $PATH.
+#
+# ARG is the $build file name to be converted to w32 format.
+# Result is available in $func_convert_core_file_wine_to_w32_result, and will
+# be empty on error (or when ARG is empty)
+func_convert_core_file_wine_to_w32 ()
+{
+  $opt_debug
+  func_convert_core_file_wine_to_w32_result="$1"
+  if test -n "$1"; then
+    # Unfortunately, winepath does not exit with a non-zero error code, so we
+    # are forced to check the contents of stdout. On the other hand, if the
+    # command is not found, the shell will set an exit code of 127 and print
+    # *an error message* to stdout. So we must check for both error code of
+    # zero AND non-empty stdout, which explains the odd construction:
+    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
+    if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then
+      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
+        $SED -e "$lt_sed_naive_backslashify"`
+    else
+      func_convert_core_file_wine_to_w32_result=
+    fi
+  fi
+}
+# end: func_convert_core_file_wine_to_w32
+
+
+# func_convert_core_path_wine_to_w32 ARG
+# Helper function used by path conversion functions when $build is *nix, and
+# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
+# configured wine environment available, with the winepath program in $build's
+# $PATH. Assumes ARG has no leading or trailing path separator characters.
+#
+# ARG is path to be converted from $build format to win32.
+# Result is available in $func_convert_core_path_wine_to_w32_result.
+# Unconvertible file (directory) names in ARG are skipped; if no directory names
+# are convertible, then the result may be empty.
+func_convert_core_path_wine_to_w32 ()
+{
+  $opt_debug
+  # unfortunately, winepath doesn't convert paths, only file names
+  func_convert_core_path_wine_to_w32_result=""
+  if test -n "$1"; then
+    oldIFS=$IFS
+    IFS=:
+    for func_convert_core_path_wine_to_w32_f in $1; do
+      IFS=$oldIFS
+      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
+      if test -n "$func_convert_core_file_wine_to_w32_result" ; then
+        if test -z "$func_convert_core_path_wine_to_w32_result"; then
+          func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result"
+        else
+          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
+        fi
+      fi
+    done
+    IFS=$oldIFS
+  fi
+}
+# end: func_convert_core_path_wine_to_w32
+
+
+# func_cygpath ARGS...
+# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
+# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
+# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
+# (2), returns the Cygwin file name or path in func_cygpath_result (input
+# file name or path is assumed to be in w32 format, as previously converted
+# from $build's *nix or MSYS format). In case (3), returns the w32 file name
+# or path in func_cygpath_result (input file name or path is assumed to be in
+# Cygwin format). Returns an empty string on error.
+#
+# ARGS are passed to cygpath, with the last one being the file name or path to
+# be converted.
+#
+# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
+# environment variable; do not put it in $PATH.
+func_cygpath ()
+{
+  $opt_debug
+  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
+    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
+    if test "$?" -ne 0; then
+      # on failure, ensure result is empty
+      func_cygpath_result=
+    fi
+  else
+    func_cygpath_result=
+    func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'"
+  fi
+}
+#end: func_cygpath
+
+
+# func_convert_core_msys_to_w32 ARG
+# Convert file name or path ARG from MSYS format to w32 format.  Return
+# result in func_convert_core_msys_to_w32_result.
+func_convert_core_msys_to_w32 ()
+{
+  $opt_debug
+  # awkward: cmd appends spaces to result
+  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+    $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
+}
+#end: func_convert_core_msys_to_w32
+
+
+# func_convert_file_check ARG1 ARG2
+# Verify that ARG1 (a file name in $build format) was converted to $host
+# format in ARG2. Otherwise, emit an error message, but continue (resetting
+# func_to_host_file_result to ARG1).
+func_convert_file_check ()
+{
+  $opt_debug
+  if test -z "$2" && test -n "$1" ; then
+    func_error "Could not determine host file name corresponding to"
+    func_error "  \`$1'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback:
+    func_to_host_file_result="$1"
+  fi
+}
+# end func_convert_file_check
+
+
+# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
+# Verify that FROM_PATH (a path in $build format) was converted to $host
+# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
+# func_to_host_file_result to a simplistic fallback value (see below).
+func_convert_path_check ()
+{
+  $opt_debug
+  if test -z "$4" && test -n "$3"; then
+    func_error "Could not determine the host path corresponding to"
+    func_error "  \`$3'"
+    func_error "Continuing, but uninstalled executables may not work."
+    # Fallback.  This is a deliberately simplistic "conversion" and
+    # should not be "improved".  See libtool.info.
+    if test "x$1" != "x$2"; then
+      lt_replace_pathsep_chars="s|$1|$2|g"
+      func_to_host_path_result=`echo "$3" |
+        $SED -e "$lt_replace_pathsep_chars"`
+    else
+      func_to_host_path_result="$3"
+    fi
+  fi
+}
+# end func_convert_path_check
+
+
+# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
+# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
+# and appending REPL if ORIG matches BACKPAT.
+func_convert_path_front_back_pathsep ()
+{
+  $opt_debug
+  case $4 in
+  $1 ) func_to_host_path_result="$3$func_to_host_path_result"
+    ;;
+  esac
+  case $4 in
+  $2 ) func_append func_to_host_path_result "$3"
+    ;;
+  esac
+}
+# end func_convert_path_front_back_pathsep
+
+
+##################################################
+# $build to $host FILE NAME CONVERSION FUNCTIONS #
+##################################################
+# invoked via `$to_host_file_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# Result will be available in $func_to_host_file_result.
+
+
+# func_to_host_file ARG
+# Converts the file name ARG from $build format to $host format. Return result
+# in func_to_host_file_result.
+func_to_host_file ()
+{
+  $opt_debug
+  $to_host_file_cmd "$1"
+}
+# end func_to_host_file
+
+
+# func_to_tool_file ARG LAZY
+# converts the file name ARG from $build format to toolchain format. Return
+# result in func_to_tool_file_result.  If the conversion in use is listed
+# in (the comma separated) LAZY, no conversion takes place.
+func_to_tool_file ()
+{
+  $opt_debug
+  case ,$2, in
+    *,"$to_tool_file_cmd",*)
+      func_to_tool_file_result=$1
+      ;;
+    *)
+      $to_tool_file_cmd "$1"
+      func_to_tool_file_result=$func_to_host_file_result
+      ;;
+  esac
+}
+# end func_to_tool_file
+
+
+# func_convert_file_noop ARG
+# Copy ARG to func_to_host_file_result.
+func_convert_file_noop ()
+{
+  func_to_host_file_result="$1"
+}
+# end func_convert_file_noop
+
+
+# func_convert_file_msys_to_w32 ARG
+# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_file_result.
+func_convert_file_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_msys_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_w32
+
+
+# func_convert_file_cygwin_to_w32 ARG
+# Convert file name ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_file_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
+    # LT_CYGPATH in this case.
+    func_to_host_file_result=`cygpath -m "$1"`
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_cygwin_to_w32
+
+
+# func_convert_file_nix_to_w32 ARG
+# Convert file name ARG from *nix to w32 format.  Requires a wine environment
+# and a working winepath. Returns result in func_to_host_file_result.
+func_convert_file_nix_to_w32 ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_file_wine_to_w32 "$1"
+    func_to_host_file_result="$func_convert_core_file_wine_to_w32_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_w32
+
+
+# func_convert_file_msys_to_cygwin ARG
+# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_file_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    func_convert_core_msys_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_msys_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_msys_to_cygwin
+
+
+# func_convert_file_nix_to_cygwin ARG
+# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
+# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
+# in func_to_host_file_result.
+func_convert_file_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_file_result="$1"
+  if test -n "$1"; then
+    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
+    func_convert_core_file_wine_to_w32 "$1"
+    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
+    func_to_host_file_result="$func_cygpath_result"
+  fi
+  func_convert_file_check "$1" "$func_to_host_file_result"
+}
+# end func_convert_file_nix_to_cygwin
+
+
+#############################################
+# $build to $host PATH CONVERSION FUNCTIONS #
+#############################################
+# invoked via `$to_host_path_cmd ARG'
+#
+# In each case, ARG is the path to be converted from $build to $host format.
+# The result will be available in $func_to_host_path_result.
+#
+# Path separators are also converted from $build format to $host format.  If
+# ARG begins or ends with a path separator character, it is preserved (but
+# converted to $host format) on output.
+#
+# All path conversion functions are named using the following convention:
+#   file name conversion function    : func_convert_file_X_to_Y ()
+#   path conversion function         : func_convert_path_X_to_Y ()
+# where, for any given $build/$host combination the 'X_to_Y' value is the
+# same.  If conversion functions are added for new $build/$host combinations,
+# the two new functions must follow this pattern, or func_init_to_host_path_cmd
+# will break.
+
+
+# func_init_to_host_path_cmd
+# Ensures that function "pointer" variable $to_host_path_cmd is set to the
+# appropriate value, based on the value of $to_host_file_cmd.
+to_host_path_cmd=
+func_init_to_host_path_cmd ()
+{
+  $opt_debug
+  if test -z "$to_host_path_cmd"; then
+    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
+    to_host_path_cmd="func_convert_path_${func_stripname_result}"
+  fi
+}
+
+
+# func_to_host_path ARG
+# Converts the path ARG from $build format to $host format. Return result
+# in func_to_host_path_result.
+func_to_host_path ()
+{
+  $opt_debug
+  func_init_to_host_path_cmd
+  $to_host_path_cmd "$1"
+}
+# end func_to_host_path
+
+
+# func_convert_path_noop ARG
+# Copy ARG to func_to_host_path_result.
+func_convert_path_noop ()
+{
+  func_to_host_path_result="$1"
+}
+# end func_convert_path_noop
+
+
+# func_convert_path_msys_to_w32 ARG
+# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
+# conversion to w32 is not available inside the cwrapper.  Returns result in
+# func_to_host_path_result.
+func_convert_path_msys_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from ARG.  MSYS
+    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
+    # and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_msys_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_msys_to_w32
+
+
+# func_convert_path_cygwin_to_w32 ARG
+# Convert path ARG from Cygwin to w32 format.  Returns result in
+# func_to_host_file_result.
+func_convert_path_cygwin_to_w32 ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_cygwin_to_w32
+
+
+# func_convert_path_nix_to_w32 ARG
+# Convert path ARG from *nix to w32 format.  Requires a wine environment and
+# a working winepath.  Returns result in func_to_host_file_result.
+func_convert_path_nix_to_w32 ()
 {
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
-    else
-      write_lobj=none
-    fi
-
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
-    else
-      write_oldobj=none
-    fi
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_to_host_path_result="$func_convert_core_path_wine_to_w32_result"
+    func_convert_path_check : ";" \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
+  fi
+}
+# end func_convert_path_nix_to_w32
 
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
 
-# Name of the PIC object.
-pic_object=$write_lobj
+# func_convert_path_msys_to_cygwin ARG
+# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
+# Returns result in func_to_host_file_result.
+func_convert_path_msys_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # See func_convert_path_msys_to_w32:
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
+}
+# end func_convert_path_msys_to_cygwin
 
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
 
-EOF
-      $MV "${write_libobj}T" "${write_libobj}"
-    }
+# func_convert_path_nix_to_cygwin ARG
+# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
+# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
+# func_to_host_file_result.
+func_convert_path_nix_to_cygwin ()
+{
+  $opt_debug
+  func_to_host_path_result="$1"
+  if test -n "$1"; then
+    # Remove leading and trailing path separator characters from
+    # ARG. msys behavior is inconsistent here, cygpath turns them
+    # into '.;' and ';.', and winepath ignores them completely.
+    func_stripname : : "$1"
+    func_to_host_path_tmp1=$func_stripname_result
+    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
+    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
+    func_to_host_path_result="$func_cygpath_result"
+    func_convert_path_check : : \
+      "$func_to_host_path_tmp1" "$func_to_host_path_result"
+    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
+  fi
 }
+# end func_convert_path_nix_to_cygwin
+
 
 # func_mode_compile arg...
 func_mode_compile ()
@@ -1303,12 +1986,12 @@ func_mode_compile ()
 	  ;;
 
 	-pie | -fpie | -fPIE)
-          pie_flag="$pie_flag $arg"
+          func_append pie_flag " $arg"
 	  continue
 	  ;;
 
 	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
+	  func_append later " $arg"
 	  continue
 	  ;;
 
@@ -1329,15 +2012,14 @@ func_mode_compile ()
 	  save_ifs="$IFS"; IFS=','
 	  for arg in $args; do
 	    IFS="$save_ifs"
-	    func_quote_for_eval "$arg"
-	    lastarg="$lastarg $func_quote_for_eval_result"
+	    func_append_quoted lastarg "$arg"
 	  done
 	  IFS="$save_ifs"
 	  func_stripname ' ' '' "$lastarg"
 	  lastarg=$func_stripname_result
 
 	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
+	  func_append base_compile " $lastarg"
 	  continue
 	  ;;
 
@@ -1353,8 +2035,7 @@ func_mode_compile ()
       esac    #  case $arg_mode
 
       # Aesthetically quote the previous argument.
-      func_quote_for_eval "$lastarg"
-      base_compile="$base_compile $func_quote_for_eval_result"
+      func_append_quoted base_compile "$lastarg"
     done # for arg
 
     case $arg_mode in
@@ -1379,7 +2060,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -1485,17 +2166,16 @@ compiler."
 	$opt_dry_run || $RM $removelist
 	exit $EXIT_FAILURE
       fi
-      removelist="$removelist $output_obj"
+      func_append removelist " $output_obj"
       $ECHO "$srcfile" > "$lockfile"
     fi
 
     $opt_dry_run || $RM $removelist
-    removelist="$removelist $lockfile"
+    func_append removelist " $lockfile"
     trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
 
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
+    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
+    srcfile=$func_to_tool_file_result
     func_quote_for_eval "$srcfile"
     qsrcfile=$func_quote_for_eval_result
 
@@ -1515,7 +2195,7 @@ compiler."
 
       if test -z "$output_obj"; then
 	# Place PIC objects in $objdir
-	command="$command -o $lobj"
+	func_append command " -o $lobj"
       fi
 
       func_show_eval_locale "$command"	\
@@ -1562,11 +2242,11 @@ compiler."
 	command="$base_compile $qsrcfile $pic_flag"
       fi
       if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
+	func_append command " -o $obj"
       fi
 
       # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
+      func_append command "$suppress_output"
       func_show_eval_locale "$command" \
         '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
 
@@ -1611,13 +2291,13 @@ compiler."
 }
 
 $opt_help || {
-  test "$mode" = compile && func_mode_compile ${1+"$@"}
+  test "$opt_mode" = compile && func_mode_compile ${1+"$@"}
 }
 
 func_mode_help ()
 {
     # We need to display help for each of the modes.
-    case $mode in
+    case $opt_mode in
       "")
         # Generic help is extracted from the usage comments
         # at the start of this file.
@@ -1793,7 +2473,7 @@ Otherwise, only FILE itself is deleted using RM."
         ;;
 
       *)
-        func_fatal_help "invalid operation mode \`$mode'"
+        func_fatal_help "invalid operation mode \`$opt_mode'"
         ;;
     esac
 
@@ -1808,13 +2488,13 @@ if $opt_help; then
   else
     {
       func_help noexit
-      for mode in compile link execute install finish uninstall clean; do
+      for opt_mode in compile link execute install finish uninstall clean; do
 	func_mode_help
       done
     } | sed -n '1p; 2,$s/^Usage:/  or: /p'
     {
       func_help noexit
-      for mode in compile link execute install finish uninstall clean; do
+      for opt_mode in compile link execute install finish uninstall clean; do
 	echo
 	func_mode_help
       done
@@ -1843,13 +2523,16 @@ func_mode_execute ()
       func_fatal_help "you must specify a COMMAND"
 
     # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
+    for file in $opt_dlopen; do
       test -f "$file" \
 	|| func_fatal_help "\`$file' is not a file"
 
       dir=
       case $file in
       *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
 	  || func_fatal_help "\`$lib' is not a valid libtool archive"
@@ -1871,7 +2554,7 @@ func_mode_execute ()
 	dir="$func_dirname_result"
 
 	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
+	  func_append dir "/$objdir"
 	else
 	  if test ! -f "$dir/$dlname"; then
 	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
@@ -1928,8 +2611,7 @@ func_mode_execute ()
 	;;
       esac
       # Quote arguments (to preserve shell metacharacters).
-      func_quote_for_eval "$file"
-      args="$args $func_quote_for_eval_result"
+      func_append_quoted args "$file"
     done
 
     if test "X$opt_dry_run" = Xfalse; then
@@ -1961,22 +2643,59 @@ func_mode_execute ()
     fi
 }
 
-test "$mode" = execute && func_mode_execute ${1+"$@"}
+test "$opt_mode" = execute && func_mode_execute ${1+"$@"}
 
 
 # func_mode_finish arg...
 func_mode_finish ()
 {
     $opt_debug
-    libdirs="$nonopt"
+    libs=
+    libdirs=
     admincmds=
 
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
+    for opt in "$nonopt" ${1+"$@"}
+    do
+      if test -d "$opt"; then
+	func_append libdirs " $opt"
+
+      elif test -f "$opt"; then
+	if func_lalib_unsafe_p "$opt"; then
+	  func_append libs " $opt"
+	else
+	  func_warning "\`$opt' is not a valid libtool archive"
+	fi
+
+      else
+	func_fatal_error "invalid argument \`$opt'"
+      fi
+    done
+
+    if test -n "$libs"; then
+      if test -n "$lt_sysroot"; then
+        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
+        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
+      else
+        sysroot_cmd=
+      fi
+
+      # Remove sysroot references
+      if $opt_dry_run; then
+        for lib in $libs; do
+          echo "removing references to $lt_sysroot and \`=' prefixes from $lib"
+        done
+      else
+        tmpdir=`func_mktempdir`
+        for lib in $libs; do
+	  sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+	    > $tmpdir/tmp-la
+	  mv -f $tmpdir/tmp-la $lib
+	done
+        ${RM}r "$tmpdir"
+      fi
+    fi
 
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
       for libdir in $libdirs; do
 	if test -n "$finish_cmds"; then
 	  # Do each command in the finish commands.
@@ -1986,7 +2705,7 @@ func_mode_finish ()
 	if test -n "$finish_eval"; then
 	  # Do the single finish_eval.
 	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+	  $opt_dry_run || eval "$cmds" || func_append admincmds "
        $cmds"
 	fi
       done
@@ -1995,53 +2714,55 @@ func_mode_finish ()
     # Exit here if they wanted silent mode.
     $opt_silent && exit $EXIT_SUCCESS
 
-    echo "----------------------------------------------------------------------"
-    echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $ECHO "   $libdir"
-    done
-    echo
-    echo "If you ever happen to want to link against installed libraries"
-    echo "in a given directory, LIBDIR, you must either use libtool, and"
-    echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      echo "----------------------------------------------------------------------"
+      echo "Libraries have been installed in:"
+      for libdir in $libdirs; do
+	$ECHO "   $libdir"
+      done
+      echo
+      echo "If you ever happen to want to link against installed libraries"
+      echo "in a given directory, LIBDIR, you must either use libtool, and"
+      echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+      echo "flag during linking and do at least one of the following:"
+      if test -n "$shlibpath_var"; then
+	echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+	echo "     during execution"
+      fi
+      if test -n "$runpath_var"; then
+	echo "   - add LIBDIR to the \`$runpath_var' environment variable"
+	echo "     during linking"
+      fi
+      if test -n "$hardcode_libdir_flag_spec"; then
+	libdir=LIBDIR
+	eval flag=\"$hardcode_libdir_flag_spec\"
 
-      $ECHO "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $ECHO "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    echo
+	$ECHO "   - use the \`$flag' linker flag"
+      fi
+      if test -n "$admincmds"; then
+	$ECHO "   - have your system administrator run these commands:$admincmds"
+      fi
+      if test -f /etc/ld.so.conf; then
+	echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+      fi
+      echo
 
-    echo "See any operating system documentation about shared libraries for"
-    case $host in
-      solaris2.[6789]|solaris2.1[0-9])
-        echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	echo "pages."
-	;;
-      *)
-        echo "more information, such as the ld(1) and ld.so(8) manual pages."
-        ;;
-    esac
-    echo "----------------------------------------------------------------------"
+      echo "See any operating system documentation about shared libraries for"
+      case $host in
+	solaris2.[6789]|solaris2.1[0-9])
+	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+	  echo "pages."
+	  ;;
+	*)
+	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
+	  ;;
+      esac
+      echo "----------------------------------------------------------------------"
+    fi
     exit $EXIT_SUCCESS
 }
 
-test "$mode" = finish && func_mode_finish ${1+"$@"}
+test "$opt_mode" = finish && func_mode_finish ${1+"$@"}
 
 
 # func_mode_install arg...
@@ -2066,7 +2787,7 @@ func_mode_install ()
     # The real first argument should be the name of the installation program.
     # Aesthetically quote it.
     func_quote_for_eval "$arg"
-    install_prog="$install_prog$func_quote_for_eval_result"
+    func_append install_prog "$func_quote_for_eval_result"
     install_shared_prog=$install_prog
     case " $install_prog " in
       *[\\\ /]cp\ *) install_cp=: ;;
@@ -2086,7 +2807,7 @@ func_mode_install ()
     do
       arg2=
       if test -n "$dest"; then
-	files="$files $dest"
+	func_append files " $dest"
 	dest=$arg
 	continue
       fi
@@ -2124,11 +2845,11 @@ func_mode_install ()
 
       # Aesthetically quote the argument.
       func_quote_for_eval "$arg"
-      install_prog="$install_prog $func_quote_for_eval_result"
+      func_append install_prog " $func_quote_for_eval_result"
       if test -n "$arg2"; then
 	func_quote_for_eval "$arg2"
       fi
-      install_shared_prog="$install_shared_prog $func_quote_for_eval_result"
+      func_append install_shared_prog " $func_quote_for_eval_result"
     done
 
     test -z "$install_prog" && \
@@ -2140,7 +2861,7 @@ func_mode_install ()
     if test -n "$install_override_mode" && $no_mode; then
       if $install_cp; then :; else
 	func_quote_for_eval "$install_override_mode"
-	install_shared_prog="$install_shared_prog -m $func_quote_for_eval_result"
+	func_append install_shared_prog " -m $func_quote_for_eval_result"
       fi
     fi
 
@@ -2198,10 +2919,13 @@ func_mode_install ()
       case $file in
       *.$libext)
 	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
+	func_append staticlibs " $file"
 	;;
 
       *.la)
+	func_resolve_sysroot "$file"
+	file=$func_resolve_sysroot_result
+
 	# Check to see that this really is a libtool archive.
 	func_lalib_unsafe_p "$file" \
 	  || func_fatal_help "\`$file' is not a valid libtool archive"
@@ -2215,19 +2939,19 @@ func_mode_install ()
 	if test "X$destdir" = "X$libdir"; then
 	  case "$current_libdirs " in
 	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
+	  *) func_append current_libdirs " $libdir" ;;
 	  esac
 	else
 	  # Note the libdir as a future libdir.
 	  case "$future_libdirs " in
 	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
+	  *) func_append future_libdirs " $libdir" ;;
 	  esac
 	fi
 
 	func_dirname "$file" "/" ""
 	dir="$func_dirname_result"
-	dir="$dir$objdir"
+	func_append dir "$objdir"
 
 	if test -n "$relink_command"; then
 	  # Determine the prefix the user has applied to our future dir.
@@ -2304,7 +3028,7 @@ func_mode_install ()
 	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
 
 	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
 	;;
 
       *.lo)
@@ -2478,11 +3202,13 @@ func_mode_install ()
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
 
       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 
       if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
       fi
 
       # Do each command in the postinstall commands.
@@ -2501,7 +3227,7 @@ func_mode_install ()
     fi
 }
 
-test "$mode" = install && func_mode_install ${1+"$@"}
+test "$opt_mode" = install && func_mode_install ${1+"$@"}
 
 
 # func_generate_dlsyms outputname originator pic_p
@@ -2548,6 +3274,18 @@ extern \"C\" {
 #pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
 #endif
 
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
 /* External symbol declarations for the compiler. */\
 "
 
@@ -2559,8 +3297,9 @@ extern \"C\" {
 	  # Add our own program objects to the symbol list.
 	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
 	  for progfile in $progfiles; do
-	    func_verbose "extracting global C symbols from \`$progfile'"
-	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
+	    func_verbose "extracting global C symbols from \`$func_to_tool_file_result'"
+	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
 	  done
 
 	  if test -n "$exclude_expsyms"; then
@@ -2609,10 +3348,52 @@ extern \"C\" {
 	  func_verbose "extracting global C symbols from \`$dlprefile'"
 	  func_basename "$dlprefile"
 	  name="$func_basename_result"
-	  $opt_dry_run || {
-	    eval '$ECHO ": $name " >> "$nlist"'
-	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	  }
+          case $host in
+	    *cygwin* | *mingw* | *cegcc* )
+	      # if an import library, we need to obtain dlname
+	      if func_win32_import_lib_p "$dlprefile"; then
+	        func_tr_sh "$dlprefile"
+	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
+	        dlprefile_dlbasename=""
+	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
+	          # Use subshell, to avoid clobbering current variable values
+	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
+	          if test -n "$dlprefile_dlname" ; then
+	            func_basename "$dlprefile_dlname"
+	            dlprefile_dlbasename="$func_basename_result"
+	          else
+	            # no lafile. user explicitly requested -dlpreopen <import library>.
+	            $sharedlib_from_linklib_cmd "$dlprefile"
+	            dlprefile_dlbasename=$sharedlib_from_linklib_result
+	          fi
+	        fi
+	        $opt_dry_run || {
+	          if test -n "$dlprefile_dlbasename" ; then
+	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
+	          else
+	            func_warning "Could not compute DLL name from $name"
+	            eval '$ECHO ": $name " >> "$nlist"'
+	          fi
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
+	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
+	        }
+	      else # not an import lib
+	        $opt_dry_run || {
+	          eval '$ECHO ": $name " >> "$nlist"'
+	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	        }
+	      fi
+	    ;;
+	    *)
+	      $opt_dry_run || {
+	        eval '$ECHO ": $name " >> "$nlist"'
+	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
+	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+	      }
+	    ;;
+          esac
 	done
 
 	$opt_dry_run || {
@@ -2650,26 +3431,9 @@ typedef struct {
   const char *name;
   void *address;
 } lt_dlsymlist;
-"
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* )
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs.  */"
-	    lt_dlsym_const= ;;
-	  *osf5*)
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
-	    lt_dlsym_const= ;;
-	  *)
-	    lt_dlsym_const=const ;;
-	  esac
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
+extern LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
+LT_DLSYM_CONST lt_dlsymlist
 lt_${my_prefix}_LTX_preloaded_symbols[] =
 {\
   { \"$my_originator\", (void *) 0 },"
@@ -2709,7 +3473,7 @@ static const void *lt_preloaded_setup() {
 	  # linked before any other PIC object.  But we must not use
 	  # pic_flag when linking with -static.  The problem exists in
 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
@@ -2725,7 +3489,7 @@ static const void *lt_preloaded_setup() {
 	for arg in $LTCFLAGS; do
 	  case $arg in
 	  -pie | -fpie | -fPIE) ;;
-	  *) symtab_cflags="$symtab_cflags $arg" ;;
+	  *) func_append symtab_cflags " $arg" ;;
 	  esac
 	done
 
@@ -2788,7 +3552,8 @@ func_win32_libid ()
     # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
     if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
        $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      win32_nmres=`eval $NM -f posix -A $1 |
+      func_to_tool_file "$1" func_convert_file_msys_to_w32
+      win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
 	$SED -n -e '
 	    1,100{
 		/ I /{
@@ -2817,6 +3582,131 @@ func_win32_libid ()
   $ECHO "$win32_libid_type"
 }
 
+# func_cygming_dll_for_implib ARG
+#
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib ()
+{
+  $opt_debug
+  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
+}
+
+# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
+#
+# The is the core of a fallback implementation of a
+# platform-specific function to extract the name of the
+# DLL associated with the specified import library LIBNAME.
+#
+# SECTION_NAME is either .idata$6 or .idata$7, depending
+# on the platform and compiler that created the implib.
+#
+# Echos the name of the DLL associated with the
+# specified import library.
+func_cygming_dll_for_implib_fallback_core ()
+{
+  $opt_debug
+  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
+  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
+    $SED '/^Contents of section '"$match_literal"':/{
+      # Place marker at beginning of archive member dllname section
+      s/.*/====MARK====/
+      p
+      d
+    }
+    # These lines can sometimes be longer than 43 characters, but
+    # are always uninteresting
+    /:[	 ]*file format pe[i]\{,1\}-/d
+    /^In archive [^:]*:/d
+    # Ensure marker is printed
+    /^====MARK====/p
+    # Remove all lines with less than 43 characters
+    /^.\{43\}/!d
+    # From remaining lines, remove first 43 characters
+    s/^.\{43\}//' |
+    $SED -n '
+      # Join marker and all lines until next marker into a single line
+      /^====MARK====/ b para
+      H
+      $ b para
+      b
+      :para
+      x
+      s/\n//g
+      # Remove the marker
+      s/^====MARK====//
+      # Remove trailing dots and whitespace
+      s/[\. \t]*$//
+      # Print
+      /./p' |
+    # we now have a list, one entry per line, of the stringified
+    # contents of the appropriate section of all members of the
+    # archive which possess that section. Heuristic: eliminate
+    # all those which have a first or second character that is
+    # a '.' (that is, objdump's representation of an unprintable
+    # character.) This should work for all archives with less than
+    # 0x302f exports -- but will fail for DLLs whose name actually
+    # begins with a literal '.' or a single character followed by
+    # a '.'.
+    #
+    # Of those that remain, print the first one.
+    $SED -e '/^\./d;/^.\./d;q'
+}
+
+# func_cygming_gnu_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is a GNU/binutils-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_gnu_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
+  test -n "$func_cygming_gnu_implib_tmp"
+}
+
+# func_cygming_ms_implib_p ARG
+# This predicate returns with zero status (TRUE) if
+# ARG is an MS-style import library. Returns
+# with nonzero status (FALSE) otherwise.
+func_cygming_ms_implib_p ()
+{
+  $opt_debug
+  func_to_tool_file "$1" func_convert_file_msys_to_w32
+  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
+  test -n "$func_cygming_ms_implib_tmp"
+}
+
+# func_cygming_dll_for_implib_fallback ARG
+# Platform-specific function to extract the
+# name of the DLL associated with the specified
+# import library ARG.
+#
+# This fallback implementation is for use when $DLLTOOL
+# does not support the --identify-strict option.
+# Invoked by eval'ing the libtool variable
+#    $sharedlib_from_linklib_cmd
+# Result is available in the variable
+#    $sharedlib_from_linklib_result
+func_cygming_dll_for_implib_fallback ()
+{
+  $opt_debug
+  if func_cygming_gnu_implib_p "$1" ; then
+    # binutils import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
+  elif func_cygming_ms_implib_p "$1" ; then
+    # ms-generated import library
+    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
+  else
+    # unknown
+    sharedlib_from_linklib_result=""
+  fi
+}
 
 
 # func_extract_an_archive dir oldlib
@@ -3095,14 +3985,17 @@ func_exec_program_core ()
 # launches target application with the remaining arguments.
 func_exec_program ()
 {
-  for lt_wr_arg
-  do
-    case \$lt_wr_arg in
-    --lt-*) ;;
-    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-    esac
-    shift
-  done
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
   func_exec_program_core \${1+\"\$@\"}
 }
 
@@ -3195,6 +4088,18 @@ func_exec_program ()
 
   if test -f \"\$progdir/\$program\"; then"
 
+	# fixup the dll searchpath if we need to.
+	#
+	# Fix the DLL searchpath if we need to.  Do this before prepending
+	# to shlibpath, because on Windows, both are PATH and uninstalled
+	# libraries must come first.
+	if test -n "$dllsearchpath"; then
+	  $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+	fi
+
 	# Export our shlibpath_var if we have one.
 	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
 	  $ECHO "\
@@ -3209,14 +4114,6 @@ func_exec_program ()
 "
 	fi
 
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
 	$ECHO "\
     if test \"\$libtool_execute_magic\" != \"$magic\"; then
       # Run the actual program with our arguments.
@@ -3234,166 +4131,6 @@ fi\
 }
 
 
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin.  Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
-  func_to_host_path_result="$1"
-  if test -n "$1"; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        case $build in
-          *mingw* ) # actually, msys
-            # awkward: cmd appends spaces to result
-            func_to_host_path_result=`( cmd //c echo "$1" ) 2>/dev/null |
-              $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_path_result=`cygpath -w "$1" |
-	      $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # Unfortunately, winepath does not exit with a non-zero
-            # error code, so we are forced to check the contents of
-            # stdout. On the other hand, if the command is not
-            # found, the shell will set an exit code of 127 and print
-            # *an error message* to stdout. So we must check for both
-            # error code of zero AND non-empty stdout, which explains
-            # the odd construction:
-            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
-            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`$ECHO "$func_to_host_path_tmp1" |
-                $SED -e "$lt_sed_naive_backslashify"`
-            else
-              # Allow warning below.
-              func_to_host_path_result=
-            fi
-            ;;
-        esac
-        if test -z "$func_to_host_path_result" ; then
-          func_error "Could not determine host path corresponding to"
-          func_error "  \`$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback:
-          func_to_host_path_result="$1"
-        fi
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
-  func_to_host_pathlist_result="$1"
-  if test -n "$1"; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        # Remove leading and trailing path separator characters from
-        # ARG. msys behavior is inconsistent here, cygpath turns them
-        # into '.;' and ';.', and winepath ignores them completely.
-	func_stripname : : "$1"
-        func_to_host_pathlist_tmp1=$func_stripname_result
-        case $build in
-          *mingw* ) # Actually, msys.
-            # Awkward: cmd appends spaces to result.
-            func_to_host_pathlist_result=`
-	      ( cmd //c echo "$func_to_host_pathlist_tmp1" ) 2>/dev/null |
-	      $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_pathlist_result=`cygpath -w -p "$func_to_host_pathlist_tmp1" |
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # unfortunately, winepath doesn't convert pathlists
-            func_to_host_pathlist_result=""
-            func_to_host_pathlist_oldIFS=$IFS
-            IFS=:
-            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
-              IFS=$func_to_host_pathlist_oldIFS
-              if test -n "$func_to_host_pathlist_f" ; then
-                func_to_host_path "$func_to_host_pathlist_f"
-                if test -n "$func_to_host_path_result" ; then
-                  if test -z "$func_to_host_pathlist_result" ; then
-                    func_to_host_pathlist_result="$func_to_host_path_result"
-                  else
-                    func_append func_to_host_pathlist_result ";$func_to_host_path_result"
-                  fi
-                fi
-              fi
-            done
-            IFS=$func_to_host_pathlist_oldIFS
-            ;;
-        esac
-        if test -z "$func_to_host_pathlist_result"; then
-          func_error "Could not determine the host path(s) corresponding to"
-          func_error "  \`$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback. This may break if $1 contains DOS-style drive
-          # specifications. The fix is not to complicate the expression
-          # below, but for the user to provide a working wine installation
-          # with winepath so that path translation in the cross-to-mingw
-          # case works properly.
-          lt_replace_pathsep_nix_to_dos="s|:|;|g"
-          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
-            $SED -e "$lt_replace_pathsep_nix_to_dos"`
-        fi
-        # Now, add the leading and trailing path separators back
-        case "$1" in
-          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
-            ;;
-        esac
-        case "$1" in
-          *: ) func_append func_to_host_pathlist_result ";"
-            ;;
-        esac
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_pathlist
-
 # func_emit_cwrapperexe_src
 # emit the source code for a wrapper executable on stdout
 # Must ONLY be called from within func_mode_link because
@@ -3563,14 +4300,14 @@ void lt_dump_script (FILE *f);
 EOF
 
 	    cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
+volatile const char * MAGIC_EXE = "$magic_exe";
 const char * LIB_PATH_VARNAME = "$shlibpath_var";
 EOF
 
 	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_pathlist "$temp_rpath"
+              func_to_host_path "$temp_rpath"
 	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
 EOF
 	    else
 	      cat <<"EOF"
@@ -3579,10 +4316,10 @@ EOF
 	    fi
 
 	    if test -n "$dllsearchpath"; then
-              func_to_host_pathlist "$dllsearchpath:"
+              func_to_host_path "$dllsearchpath:"
 	      cat <<EOF
 const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
 EOF
 	    else
 	      cat <<"EOF"
@@ -3765,8 +4502,12 @@ EOF
 
   lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
   lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
+     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
+     because on Windows, both *_VARNAMEs are PATH but uninstalled
+     libraries must come first. */
   lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
 
   lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
 		  nonnull (lt_argv_zero));
@@ -4322,9 +5063,15 @@ void lt_dump_script (FILE* f)
 {
 EOF
 	    func_emit_wrapper yes |
-              $SED -e 's/\([\\"]\)/\\\1/g' \
-	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
-
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
             cat <<"EOF"
 }
 EOF
@@ -4515,9 +5262,9 @@ func_mode_link ()
 	    ;;
 	  *)
 	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
+	      func_append dlfiles " $arg"
 	    else
-	      dlprefiles="$dlprefiles $arg"
+	      func_append dlprefiles " $arg"
 	    fi
 	    prev=
 	    continue
@@ -4541,7 +5288,7 @@ func_mode_link ()
 	    *-*-darwin*)
 	      case "$deplibs " in
 		*" $qarg.ltframework "*) ;;
-		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+		*) func_append deplibs " $qarg.ltframework" # this is fixed later
 		   ;;
 	      esac
 	      ;;
@@ -4560,7 +5307,7 @@ func_mode_link ()
 	    moreargs=
 	    for fil in `cat "$save_arg"`
 	    do
-#	      moreargs="$moreargs $fil"
+#	      func_append moreargs " $fil"
 	      arg=$fil
 	      # A libtool-controlled object.
 
@@ -4589,7 +5336,7 @@ func_mode_link ()
 
 		  if test "$prev" = dlfiles; then
 		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
+		      func_append dlfiles " $pic_object"
 		      prev=
 		      continue
 		    else
@@ -4601,7 +5348,7 @@ func_mode_link ()
 		  # CHECK ME:  I think I busted this.  -Ossama
 		  if test "$prev" = dlprefiles; then
 		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
+		    func_append dlprefiles " $pic_object"
 		    prev=
 		  fi
 
@@ -4671,12 +5418,12 @@ func_mode_link ()
 	  if test "$prev" = rpath; then
 	    case "$rpath " in
 	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
+	    *) func_append rpath " $arg" ;;
 	    esac
 	  else
 	    case "$xrpath " in
 	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
+	    *) func_append xrpath " $arg" ;;
 	    esac
 	  fi
 	  prev=
@@ -4688,28 +5435,28 @@ func_mode_link ()
 	  continue
 	  ;;
 	weak)
-	  weak_libs="$weak_libs $arg"
+	  func_append weak_libs " $arg"
 	  prev=
 	  continue
 	  ;;
 	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $qarg"
 	  prev=
 	  func_append compile_command " $qarg"
 	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
 	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
+	  func_append compiler_flags " $qarg"
 	  prev=
 	  func_append compile_command " $qarg"
 	  func_append finalize_command " $qarg"
 	  continue
 	  ;;
 	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
+	  func_append linker_flags " $qarg"
+	  func_append compiler_flags " $wl$qarg"
 	  prev=
 	  func_append compile_command " $wl$qarg"
 	  func_append finalize_command " $wl$qarg"
@@ -4800,15 +5547,16 @@ func_mode_link ()
 	;;
 
       -L*)
-	func_stripname '-L' '' "$arg"
-	dir=$func_stripname_result
-	if test -z "$dir"; then
+	func_stripname "-L" '' "$arg"
+	if test -z "$func_stripname_result"; then
 	  if test "$#" -gt 0; then
 	    func_fatal_error "require no space between \`-L' and \`$1'"
 	  else
 	    func_fatal_error "need path for \`-L' option"
 	  fi
 	fi
+	func_resolve_sysroot "$func_stripname_result"
+	dir=$func_resolve_sysroot_result
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
@@ -4820,10 +5568,16 @@ func_mode_link ()
 	  ;;
 	esac
 	case "$deplibs " in
-	*" -L$dir "*) ;;
+	*" -L$dir "* | *" $arg "*)
+	  # Will only happen for absolute or sysroot arguments
+	  ;;
 	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
+	  # Preserve sysroot, but never include relative directories
+	  case $dir in
+	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
+	    *) func_append deplibs " -L$dir" ;;
+	  esac
+	  func_append lib_search_path " $dir"
 	  ;;
 	esac
 	case $host in
@@ -4832,12 +5586,12 @@ func_mode_link ()
 	  case :$dllsearchpath: in
 	  *":$dir:"*) ;;
 	  ::) dllsearchpath=$dir;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
+	  *) func_append dllsearchpath ":$dir";;
 	  esac
 	  case :$dllsearchpath: in
 	  *":$testbindir:"*) ;;
 	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  *) func_append dllsearchpath ":$testbindir";;
 	  esac
 	  ;;
 	esac
@@ -4861,7 +5615,7 @@ func_mode_link ()
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs System.ltframework"
+	    func_append deplibs " System.ltframework"
 	    continue
 	    ;;
 	  *-*-sco3.2v5* | *-*-sco5v6*)
@@ -4881,7 +5635,7 @@ func_mode_link ()
 	   ;;
 	 esac
 	fi
-	deplibs="$deplibs $arg"
+	func_append deplibs " $arg"
 	continue
 	;;
 
@@ -4893,21 +5647,22 @@ func_mode_link ()
       # Tru64 UNIX uses -model [arg] to determine the layout of C++
       # classes, name mangling, and exception handling.
       # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot)
-	compiler_flags="$compiler_flags $arg"
+      -model|-arch|-isysroot|--sysroot)
+	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
 	prev=xcompiler
 	continue
 	;;
 
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	compiler_flags="$compiler_flags $arg"
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
+	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
 	case "$new_inherited_linker_flags " in
 	    *" $arg "*) ;;
-	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+	    * ) func_append new_inherited_linker_flags " $arg" ;;
 	esac
 	continue
 	;;
@@ -4974,13 +5729,17 @@ func_mode_link ()
 	# We need an absolute path.
 	case $dir in
 	[\\/]* | [A-Za-z]:[\\/]*) ;;
+	=*)
+	  func_stripname '=' '' "$dir"
+	  dir=$lt_sysroot$func_stripname_result
+	  ;;
 	*)
 	  func_fatal_error "only absolute run-paths are allowed"
 	  ;;
 	esac
 	case "$xrpath " in
 	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
+	*) func_append xrpath " $dir" ;;
 	esac
 	continue
 	;;
@@ -5033,8 +5792,8 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
+	  func_append arg " $func_quote_for_eval_result"
+	  func_append compiler_flags " $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
 	func_stripname ' ' '' "$arg"
@@ -5049,9 +5808,9 @@ func_mode_link ()
 	for flag in $args; do
 	  IFS="$save_ifs"
           func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
-	  linker_flags="$linker_flags $func_quote_for_eval_result"
+	  func_append arg " $wl$func_quote_for_eval_result"
+	  func_append compiler_flags " $wl$func_quote_for_eval_result"
+	  func_append linker_flags " $func_quote_for_eval_result"
 	done
 	IFS="$save_ifs"
 	func_stripname ' ' '' "$arg"
@@ -5090,13 +5849,16 @@ func_mode_link ()
       # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
       # @file                GCC response files
       # -tp=*                Portland pgcc target processor selection
+      # --sysroot=*          for sysroot support
+      # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
       -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
+      -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
         func_quote_for_eval "$arg"
 	arg="$func_quote_for_eval_result"
         func_append compile_command " $arg"
         func_append finalize_command " $arg"
-        compiler_flags="$compiler_flags $arg"
+        func_append compiler_flags " $arg"
         continue
         ;;
 
@@ -5108,7 +5870,7 @@ func_mode_link ()
 
       *.$objext)
 	# A standard object.
-	objs="$objs $arg"
+	func_append objs " $arg"
 	;;
 
       *.lo)
@@ -5139,7 +5901,7 @@ func_mode_link ()
 
 	    if test "$prev" = dlfiles; then
 	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
+		func_append dlfiles " $pic_object"
 		prev=
 		continue
 	      else
@@ -5151,7 +5913,7 @@ func_mode_link ()
 	    # CHECK ME:  I think I busted this.  -Ossama
 	    if test "$prev" = dlprefiles; then
 	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
+	      func_append dlprefiles " $pic_object"
 	      prev=
 	    fi
 
@@ -5196,24 +5958,25 @@ func_mode_link ()
 
       *.$libext)
 	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
+	func_append deplibs " $arg"
+	func_append old_deplibs " $arg"
 	continue
 	;;
 
       *.la)
 	# A libtool-controlled library.
 
+	func_resolve_sysroot "$arg"
 	if test "$prev" = dlfiles; then
 	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
+	  func_append dlfiles " $func_resolve_sysroot_result"
 	  prev=
 	elif test "$prev" = dlprefiles; then
 	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
+	  func_append dlprefiles " $func_resolve_sysroot_result"
 	  prev=
 	else
-	  deplibs="$deplibs $arg"
+	  func_append deplibs " $func_resolve_sysroot_result"
 	fi
 	continue
 	;;
@@ -5260,6 +6023,8 @@ func_mode_link ()
 
     func_dirname "$output" "/" ""
     output_objdir="$func_dirname_result$objdir"
+    func_to_tool_file "$output_objdir/"
+    tool_output_objdir=$func_to_tool_file_result
     # Create the object directory.
     func_mkdir_p "$output_objdir"
 
@@ -5280,12 +6045,12 @@ func_mode_link ()
     # Find all interdependent deplibs by searching for libraries
     # that are linked more than once (e.g. -la -lb -la)
     for deplib in $deplibs; do
-      if $opt_duplicate_deps ; then
+      if $opt_preserve_dup_deps ; then
 	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	esac
       fi
-      libs="$libs $deplib"
+      func_append libs " $deplib"
     done
 
     if test "$linkmode" = lib; then
@@ -5298,9 +6063,9 @@ func_mode_link ()
       if $opt_duplicate_compiler_generated_deps; then
 	for pre_post_dep in $predeps $postdeps; do
 	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
 	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
+	  func_append pre_post_deps " $pre_post_dep"
 	done
       fi
       pre_post_deps=
@@ -5367,8 +6132,9 @@ func_mode_link ()
 	for lib in $dlprefiles; do
 	  # Ignore non-libtool-libs
 	  dependency_libs=
+	  func_resolve_sysroot "$lib"
 	  case $lib in
-	  *.la)	func_source "$lib" ;;
+	  *.la)	func_source "$func_resolve_sysroot_result" ;;
 	  esac
 
 	  # Collect preopened libtool deplibs, except any this library
@@ -5378,7 +6144,7 @@ func_mode_link ()
             deplib_base=$func_basename_result
 	    case " $weak_libs " in
 	    *" $deplib_base "*) ;;
-	    *) deplibs="$deplibs $deplib" ;;
+	    *) func_append deplibs " $deplib" ;;
 	    esac
 	  done
 	done
@@ -5394,16 +6160,17 @@ func_mode_link ()
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
 	  else
-	    compiler_flags="$compiler_flags $deplib"
+	    func_append compiler_flags " $deplib"
 	    if test "$linkmode" = lib ; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
 		esac
 	    fi
 	  fi
@@ -5488,7 +6255,7 @@ func_mode_link ()
 	    if test "$linkmode" = lib ; then
 		case "$new_inherited_linker_flags " in
 		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+		    * ) func_append new_inherited_linker_flags " $deplib" ;;
 		esac
 	    fi
 	  fi
@@ -5501,7 +6268,8 @@ func_mode_link ()
 	    test "$pass" = conv && continue
 	    newdependency_libs="$deplib $newdependency_libs"
 	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  prog)
 	    if test "$pass" = conv; then
@@ -5515,7 +6283,8 @@ func_mode_link ()
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    fi
 	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
+	    func_resolve_sysroot "$func_stripname_result"
+	    func_append newlib_search_path " $func_resolve_sysroot_result"
 	    ;;
 	  *)
 	    func_warning "\`-L' is ignored for archives/objects"
@@ -5526,17 +6295,21 @@ func_mode_link ()
 	-R*)
 	  if test "$pass" = link; then
 	    func_stripname '-R' '' "$deplib"
-	    dir=$func_stripname_result
+	    func_resolve_sysroot "$func_stripname_result"
+	    dir=$func_resolve_sysroot_result
 	    # Make sure the xrpath contains only unique directories.
 	    case "$xrpath " in
 	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
+	    *) func_append xrpath " $dir" ;;
 	    esac
 	  fi
 	  deplibs="$deplib $deplibs"
 	  continue
 	  ;;
-	*.la) lib="$deplib" ;;
+	*.la)
+	  func_resolve_sysroot "$deplib"
+	  lib=$func_resolve_sysroot_result
+	  ;;
 	*.$libext)
 	  if test "$pass" = conv; then
 	    deplibs="$deplib $deplibs"
@@ -5599,11 +6372,11 @@ func_mode_link ()
 	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
 	      # If there is no dlopen support or we're linking statically,
 	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
+	      func_append newdlprefiles " $deplib"
 	      compile_deplibs="$deplib $compile_deplibs"
 	      finalize_deplibs="$deplib $finalize_deplibs"
 	    else
-	      newdlfiles="$newdlfiles $deplib"
+	      func_append newdlfiles " $deplib"
 	    fi
 	  fi
 	  continue
@@ -5649,7 +6422,7 @@ func_mode_link ()
 	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
 	    case " $new_inherited_linker_flags " in
 	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
 	    esac
 	  done
 	fi
@@ -5657,8 +6430,8 @@ func_mode_link ()
 	if test "$linkmode,$pass" = "lib,link" ||
 	   test "$linkmode,$pass" = "prog,scan" ||
 	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+	  test -n "$dlopen" && func_append dlfiles " $dlopen"
+	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
 	fi
 
 	if test "$pass" = conv; then
@@ -5669,20 +6442,20 @@ func_mode_link ()
 	      func_fatal_error "cannot find name of link library for \`$lib'"
 	    fi
 	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
+	    func_append convenience " $ladir/$objdir/$old_library"
+	    func_append old_convenience " $ladir/$objdir/$old_library"
 	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
 	    func_fatal_error "\`$lib' is not a convenience library"
 	  fi
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    deplibs="$deplib $deplibs"
-	    if $opt_duplicate_deps ; then
+	    if $opt_preserve_dup_deps ; then
 	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	      esac
 	    fi
-	    tmp_libs="$tmp_libs $deplib"
+	    func_append tmp_libs " $deplib"
 	  done
 	  continue
 	fi # $pass = conv
@@ -5690,9 +6463,15 @@ func_mode_link ()
 
 	# Get the name of the library we link against.
 	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
+	if test -n "$old_library" &&
+	   { test "$prefer_static_libs" = yes ||
+	     test "$prefer_static_libs,$installed" = "built,no"; }; then
+	  linklib=$old_library
+	else
+	  for l in $old_library $library_names; do
+	    linklib="$l"
+	  done
+	fi
 	if test -z "$linklib"; then
 	  func_fatal_error "cannot find name of link library for \`$lib'"
 	fi
@@ -5709,9 +6488,9 @@ func_mode_link ()
 	    # statically, we need to preload.  We also need to preload any
 	    # dependent libraries so libltdl's deplib preloader doesn't
 	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
+	    func_append dlprefiles " $lib $dependency_libs"
 	  else
-	    newdlfiles="$newdlfiles $lib"
+	    func_append newdlfiles " $lib"
 	  fi
 	  continue
 	fi # $pass = dlopen
@@ -5733,14 +6512,14 @@ func_mode_link ()
 
 	# Find the relevant object directory and library name.
 	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
 	    func_warning "library \`$lib' was moved."
 	    dir="$ladir"
 	    absdir="$abs_ladir"
 	    libdir="$abs_ladir"
 	  else
-	    dir="$libdir"
-	    absdir="$libdir"
+	    dir="$lt_sysroot$libdir"
+	    absdir="$lt_sysroot$libdir"
 	  fi
 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 	else
@@ -5748,12 +6527,12 @@ func_mode_link ()
 	    dir="$ladir"
 	    absdir="$abs_ladir"
 	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
+	    func_append notinst_path " $abs_ladir"
 	  else
 	    dir="$ladir/$objdir"
 	    absdir="$abs_ladir/$objdir"
 	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
+	    func_append notinst_path " $abs_ladir"
 	  fi
 	fi # $installed = yes
 	func_stripname 'lib' '.la' "$laname"
@@ -5764,20 +6543,46 @@ func_mode_link ()
 	  if test -z "$libdir" && test "$linkmode" = prog; then
 	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
 	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	    # Keep a list of preopened convenience libraries to check
-	    # that they are being used correctly in the link pass.
-	    test -z "$libdir" && \
-		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
+	  case "$host" in
+	    # special handling for platforms with PE-DLLs.
+	    *cygwin* | *mingw* | *cegcc* )
+	      # Linker will automatically link against shared library if both
+	      # static and shared are present.  Therefore, ensure we extract
+	      # symbols from the import library if a shared library is present
+	      # (otherwise, the dlopen module name will be incorrect).  We do
+	      # this by putting the import library name into $newdlprefiles.
+	      # We recover the dlopen module name by 'saving' the la file
+	      # name in a special purpose variable, and (later) extracting the
+	      # dlname from the la file.
+	      if test -n "$dlname"; then
+	        func_tr_sh "$dir/$linklib"
+	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
+	        func_append newdlprefiles " $dir/$linklib"
+	      else
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      fi
+	    ;;
+	    * )
+	      # Prefer using a static library (so that no silly _DYNAMIC symbols
+	      # are required to link).
+	      if test -n "$old_library"; then
+	        func_append newdlprefiles " $dir/$old_library"
+	        # Keep a list of preopened convenience libraries to check
+	        # that they are being used correctly in the link pass.
+	        test -z "$libdir" && \
+	          func_append dlpreconveniencelibs " $dir/$old_library"
+	      # Otherwise, use the dlname, so that lt_dlopen finds it.
+	      elif test -n "$dlname"; then
+	        func_append newdlprefiles " $dir/$dlname"
+	      else
+	        func_append newdlprefiles " $dir/$linklib"
+	      fi
+	    ;;
+	  esac
 	fi # $pass = dlpreopen
 
 	if test -z "$libdir"; then
@@ -5795,7 +6600,7 @@ func_mode_link ()
 
 
 	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
+	  func_append newlib_search_path " $ladir"
 	  deplibs="$lib $deplibs"
 
 	  linkalldeplibs=no
@@ -5808,7 +6613,8 @@ func_mode_link ()
 	  for deplib in $dependency_libs; do
 	    case $deplib in
 	    -L*) func_stripname '-L' '' "$deplib"
-	         newlib_search_path="$newlib_search_path $func_stripname_result"
+	         func_resolve_sysroot "$func_stripname_result"
+	         func_append newlib_search_path " $func_resolve_sysroot_result"
 		 ;;
 	    esac
 	    # Need to link against all dependency_libs?
@@ -5819,12 +6625,12 @@ func_mode_link ()
 	      # or/and link against static libraries
 	      newdependency_libs="$deplib $newdependency_libs"
 	    fi
-	    if $opt_duplicate_deps ; then
+	    if $opt_preserve_dup_deps ; then
 	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
 	      esac
 	    fi
-	    tmp_libs="$tmp_libs $deplib"
+	    func_append tmp_libs " $deplib"
 	  done # for deplib
 	  continue
 	fi # $linkmode = prog...
@@ -5839,7 +6645,7 @@ func_mode_link ()
 	      # Make sure the rpath contains only unique directories.
 	      case "$temp_rpath:" in
 	      *"$absdir:"*) ;;
-	      *) temp_rpath="$temp_rpath$absdir:" ;;
+	      *) func_append temp_rpath "$absdir:" ;;
 	      esac
 	    fi
 
@@ -5851,7 +6657,7 @@ func_mode_link ()
 	    *)
 	      case "$compile_rpath " in
 	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
+	      *) func_append compile_rpath " $absdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5860,7 +6666,7 @@ func_mode_link ()
 	    *)
 	      case "$finalize_rpath " in
 	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
+	      *) func_append finalize_rpath " $libdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5885,12 +6691,12 @@ func_mode_link ()
 	  case $host in
 	  *cygwin* | *mingw* | *cegcc*)
 	      # No point in relinking DLLs because paths are not encoded
-	      notinst_deplibs="$notinst_deplibs $lib"
+	      func_append notinst_deplibs " $lib"
 	      need_relink=no
 	    ;;
 	  *)
 	    if test "$installed" = no; then
-	      notinst_deplibs="$notinst_deplibs $lib"
+	      func_append notinst_deplibs " $lib"
 	      need_relink=yes
 	    fi
 	    ;;
@@ -5925,7 +6731,7 @@ func_mode_link ()
 	    *)
 	      case "$compile_rpath " in
 	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
+	      *) func_append compile_rpath " $absdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5934,7 +6740,7 @@ func_mode_link ()
 	    *)
 	      case "$finalize_rpath " in
 	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
+	      *) func_append finalize_rpath " $libdir" ;;
 	      esac
 	      ;;
 	    esac
@@ -5988,7 +6794,7 @@ func_mode_link ()
 	    linklib=$newlib
 	  fi # test -n "$old_archive_from_expsyms_cmds"
 
-	  if test "$linkmode" = prog || test "$mode" != relink; then
+	  if test "$linkmode" = prog || test "$opt_mode" != relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -6039,12 +6845,12 @@ func_mode_link ()
 	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
+		add_dir="-L$absdir"
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
 		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		      func_append add_dir " -L$inst_prefix_dir$libdir"
 		      ;;
 		  esac
 		fi
@@ -6066,7 +6872,7 @@ func_mode_link ()
 	    if test -n "$add_shlibpath"; then
 	      case :$compile_shlibpath: in
 	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
 	      esac
 	    fi
 	    if test "$linkmode" = prog; then
@@ -6080,13 +6886,13 @@ func_mode_link ()
 		 test "$hardcode_shlibpath_var" = yes; then
 		case :$finalize_shlibpath: in
 		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+		*) func_append finalize_shlibpath "$libdir:" ;;
 		esac
 	      fi
 	    fi
 	  fi
 
-	  if test "$linkmode" = prog || test "$mode" = relink; then
+	  if test "$linkmode" = prog || test "$opt_mode" = relink; then
 	    add_shlibpath=
 	    add_dir=
 	    add=
@@ -6100,7 +6906,7 @@ func_mode_link ()
 	    elif test "$hardcode_shlibpath_var" = yes; then
 	      case :$finalize_shlibpath: in
 	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+	      *) func_append finalize_shlibpath "$libdir:" ;;
 	      esac
 	      add="-l$name"
 	    elif test "$hardcode_automatic" = yes; then
@@ -6117,7 +6923,7 @@ func_mode_link ()
 	      if test -n "$inst_prefix_dir"; then
 		case $libdir in
 		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
+		    func_append add_dir " -L$inst_prefix_dir$libdir"
 		    ;;
 		esac
 	      fi
@@ -6194,27 +7000,33 @@ func_mode_link ()
 	           temp_xrpath=$func_stripname_result
 		   case " $xrpath " in
 		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
+		   *) func_append xrpath " $temp_xrpath";;
 		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
+	      *) func_append temp_deplibs " $libdir";;
 	      esac
 	    done
 	    dependency_libs="$temp_deplibs"
 	  fi
 
-	  newlib_search_path="$newlib_search_path $absdir"
+	  func_append newlib_search_path " $absdir"
 	  # Link against this library
 	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
 	  # ... and its dependency_libs
 	  tmp_libs=
 	  for deplib in $dependency_libs; do
 	    newdependency_libs="$deplib $newdependency_libs"
-	    if $opt_duplicate_deps ; then
+	    case $deplib in
+              -L*) func_stripname '-L' '' "$deplib"
+                   func_resolve_sysroot "$func_stripname_result";;
+              *) func_resolve_sysroot "$deplib" ;;
+            esac
+	    if $opt_preserve_dup_deps ; then
 	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+	      *" $func_resolve_sysroot_result "*)
+                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
 	      esac
 	    fi
-	    tmp_libs="$tmp_libs $deplib"
+	    func_append tmp_libs " $func_resolve_sysroot_result"
 	  done
 
 	  if test "$link_all_deplibs" != no; then
@@ -6224,8 +7036,10 @@ func_mode_link ()
 	      case $deplib in
 	      -L*) path="$deplib" ;;
 	      *.la)
+	        func_resolve_sysroot "$deplib"
+	        deplib=$func_resolve_sysroot_result
 	        func_dirname "$deplib" "" "."
-		dir="$func_dirname_result"
+		dir=$func_dirname_result
 		# We need an absolute path.
 		case $dir in
 		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
@@ -6252,8 +7066,8 @@ func_mode_link ()
                       if test -z "$darwin_install_name"; then
                           darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                       fi
-		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+		      func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+		      func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}"
 		      path=
 		    fi
 		  fi
@@ -6303,7 +7117,7 @@ func_mode_link ()
 	  for dir in $newlib_search_path; do
 	    case "$lib_search_path " in
 	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
+	    *) func_append lib_search_path " $dir" ;;
 	    esac
 	  done
 	  newlib_search_path=
@@ -6361,10 +7175,10 @@ func_mode_link ()
 	    -L*)
 	      case " $tmp_libs " in
 	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
+	      *) func_append tmp_libs " $deplib" ;;
 	      esac
 	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
+	    *) func_append tmp_libs " $deplib" ;;
 	    esac
 	  done
 	  eval $var=\"$tmp_libs\"
@@ -6380,7 +7194,7 @@ func_mode_link ()
 	  ;;
 	esac
 	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
+	  func_append tmp_libs " $i"
 	fi
       done
       dependency_libs=$tmp_libs
@@ -6421,7 +7235,7 @@ func_mode_link ()
       # Now set the variables for building old libraries.
       build_libtool_libs=no
       oldlibs="$output"
-      objs="$objs$old_deplibs"
+      func_append objs "$old_deplibs"
       ;;
 
     lib)
@@ -6457,7 +7271,7 @@ func_mode_link ()
 	  echo
 	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
 	  $ECHO "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
+	  func_append libobjs " $objs"
 	fi
       fi
 
@@ -6516,6 +7330,7 @@ func_mode_link ()
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
 	  darwin|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
@@ -6632,7 +7447,7 @@ func_mode_link ()
 	  versuffix="$major.$revision"
 	  ;;
 
-	linux)
+	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
@@ -6655,7 +7470,7 @@ func_mode_link ()
 	  done
 
 	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
+	  func_append verstring ":${current}.0"
 	  ;;
 
 	qnx)
@@ -6723,10 +7538,10 @@ func_mode_link ()
       fi
 
       func_generate_dlsyms "$libname" "$libname" "yes"
-      libobjs="$libobjs $symfileobj"
+      func_append libobjs " $symfileobj"
       test "X$libobjs" = "X " && libobjs=
 
-      if test "$mode" != relink; then
+      if test "$opt_mode" != relink; then
 	# Remove our outputs, but don't remove object files since they
 	# may have been created when compiling PIC objects.
 	removelist=
@@ -6742,7 +7557,7 @@ func_mode_link ()
 		   continue
 		 fi
 	       fi
-	       removelist="$removelist $p"
+	       func_append removelist " $p"
 	       ;;
 	    *) ;;
 	  esac
@@ -6753,7 +7568,7 @@ func_mode_link ()
 
       # Now set the variables for building old libraries.
       if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
+	func_append oldlibs " $output_objdir/$libname.$libext"
 
 	# Transform .lo files to .o files.
 	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP`
@@ -6770,10 +7585,11 @@ func_mode_link ()
 	# If the user specified any rpath flags, then add them.
 	temp_xrpath=
 	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
+	  func_replace_sysroot "$libdir"
+	  func_append temp_xrpath " -R$func_replace_sysroot_result"
 	  case "$finalize_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  *) func_append finalize_rpath " $libdir" ;;
 	  esac
 	done
 	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
@@ -6787,7 +7603,7 @@ func_mode_link ()
       for lib in $old_dlfiles; do
 	case " $dlprefiles $dlfiles " in
 	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
+	*) func_append dlfiles " $lib" ;;
 	esac
       done
 
@@ -6797,7 +7613,7 @@ func_mode_link ()
       for lib in $old_dlprefiles; do
 	case "$dlprefiles " in
 	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
+	*) func_append dlprefiles " $lib" ;;
 	esac
       done
 
@@ -6809,7 +7625,7 @@ func_mode_link ()
 	    ;;
 	  *-*-rhapsody* | *-*-darwin1.[012])
 	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs System.ltframework"
+	    func_append deplibs " System.ltframework"
 	    ;;
 	  *-*-netbsd*)
 	    # Don't link with libc until the a.out ld.so is fixed.
@@ -6826,7 +7642,7 @@ func_mode_link ()
 	  *)
 	    # Add libc to deplibs on all other systems if necessary.
 	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
+	      func_append deplibs " -lc"
 	    fi
 	    ;;
 	  esac
@@ -6875,7 +7691,7 @@ EOF
 		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		  case " $predeps $postdeps " in
 		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
+		    func_append newdeplibs " $i"
 		    i=""
 		    ;;
 		  esac
@@ -6886,7 +7702,7 @@ EOF
 		  set dummy $deplib_matches; shift
 		  deplib_match=$1
 		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
+		    func_append newdeplibs " $i"
 		  else
 		    droppeddeps=yes
 		    echo
@@ -6900,7 +7716,7 @@ EOF
 		fi
 		;;
 	      *)
-		newdeplibs="$newdeplibs $i"
+		func_append newdeplibs " $i"
 		;;
 	      esac
 	    done
@@ -6918,7 +7734,7 @@ EOF
 		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		    case " $predeps $postdeps " in
 		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
+		      func_append newdeplibs " $i"
 		      i=""
 		      ;;
 		    esac
@@ -6929,7 +7745,7 @@ EOF
 		    set dummy $deplib_matches; shift
 		    deplib_match=$1
 		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
+		      func_append newdeplibs " $i"
 		    else
 		      droppeddeps=yes
 		      echo
@@ -6951,7 +7767,7 @@ EOF
 		fi
 		;;
 	      *)
-		newdeplibs="$newdeplibs $i"
+		func_append newdeplibs " $i"
 		;;
 	      esac
 	    done
@@ -6968,15 +7784,27 @@ EOF
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
+		  func_append newdeplibs " $a_deplib"
 		  a_deplib=""
 		  ;;
 		esac
 	      fi
 	      if test -n "$a_deplib" ; then
 		libname=`eval "\\$ECHO \"$libname_spec\""`
+		if test -n "$file_magic_glob"; then
+		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
+		else
+		  libnameglob=$libname
+		fi
+		test "$want_nocaseglob" = yes && nocaseglob=`shopt -p nocaseglob`
 		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+		  if test "$want_nocaseglob" = yes; then
+		    shopt -s nocaseglob
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		    $nocaseglob
+		  else
+		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
+		  fi
 		  for potent_lib in $potential_libs; do
 		      # Follow soft links.
 		      if ls -lLd "$potent_lib" 2>/dev/null |
@@ -6999,7 +7827,7 @@ EOF
 		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
 			 $SED -e 10q |
 			 $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
+			func_append newdeplibs " $a_deplib"
 			a_deplib=""
 			break 2
 		      fi
@@ -7024,7 +7852,7 @@ EOF
 	      ;;
 	    *)
 	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
+	      func_append newdeplibs " $a_deplib"
 	      ;;
 	    esac
 	  done # Gone through all deplibs.
@@ -7040,7 +7868,7 @@ EOF
 	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
 		case " $predeps $postdeps " in
 		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
+		  func_append newdeplibs " $a_deplib"
 		  a_deplib=""
 		  ;;
 		esac
@@ -7053,7 +7881,7 @@ EOF
 		    potlib="$potent_lib" # see symlink-check above in file_magic test
 		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
 		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
+		      func_append newdeplibs " $a_deplib"
 		      a_deplib=""
 		      break 2
 		    fi
@@ -7078,7 +7906,7 @@ EOF
 	      ;;
 	    *)
 	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
+	      func_append newdeplibs " $a_deplib"
 	      ;;
 	    esac
 	  done # Gone through all deplibs.
@@ -7182,7 +8010,7 @@ EOF
 	*)
 	  case " $deplibs " in
 	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
+	    func_append new_libs " -L$path/$objdir" ;;
 	  esac
 	  ;;
 	esac
@@ -7192,10 +8020,10 @@ EOF
 	-L*)
 	  case " $new_libs " in
 	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
+	  *) func_append new_libs " $deplib" ;;
 	  esac
 	  ;;
-	*) new_libs="$new_libs $deplib" ;;
+	*) func_append new_libs " $deplib" ;;
 	esac
       done
       deplibs="$new_libs"
@@ -7207,15 +8035,22 @@ EOF
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
 	if test "$hardcode_into_libs" = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
 	  dep_rpath=
 	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
+	  test "$opt_mode" != relink && rpath="$compile_rpath$rpath"
 	  for libdir in $rpath; do
 	    if test -n "$hardcode_libdir_flag_spec"; then
 	      if test -n "$hardcode_libdir_separator"; then
+		func_replace_sysroot "$libdir"
+		libdir=$func_replace_sysroot_result
 		if test -z "$hardcode_libdirs"; then
 		  hardcode_libdirs="$libdir"
 		else
@@ -7224,18 +8059,18 @@ EOF
 		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		    ;;
 		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		    ;;
 		  esac
 		fi
 	      else
 		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
+		func_append dep_rpath " $flag"
 	      fi
 	    elif test -n "$runpath_var"; then
 	      case "$perm_rpath " in
 	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
+	      *) func_append perm_rpath " $libdir" ;;
 	      esac
 	    fi
 	  done
@@ -7243,17 +8078,13 @@ EOF
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 	    # We should set the runpath_var.
 	    rpath=
 	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
+	      func_append rpath "$dir:"
 	    done
 	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
 	  fi
@@ -7261,7 +8092,7 @@ EOF
 	fi
 
 	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+	test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
 	if test -n "$shlibpath"; then
 	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
 	fi
@@ -7287,7 +8118,7 @@ EOF
 	linknames=
 	for link
 	do
-	  linknames="$linknames $link"
+	  func_append linknames " $link"
 	done
 
 	# Use standard objects if they are pic
@@ -7298,7 +8129,7 @@ EOF
 	if test -n "$export_symbols" && test -n "$include_expsyms"; then
 	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
 	  export_symbols="$output_objdir/$libname.uexp"
-	  delfiles="$delfiles $export_symbols"
+	  func_append delfiles " $export_symbols"
 	fi
 
 	orig_export_symbols=
@@ -7329,13 +8160,45 @@ EOF
 	    $opt_dry_run || $RM $export_symbols
 	    cmds=$export_symbols_cmds
 	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
+	    for cmd1 in $cmds; do
 	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      func_len " $cmd"
-	      len=$func_len_result
-	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+	      # Take the normal branch if the nm_file_list_spec branch
+	      # doesn't work or if tool conversion is not needed.
+	      case $nm_file_list_spec~$to_tool_file_cmd in
+		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
+		  try_normal_branch=yes
+		  eval cmd=\"$cmd1\"
+		  func_len " $cmd"
+		  len=$func_len_result
+		  ;;
+		*)
+		  try_normal_branch=no
+		  ;;
+	      esac
+	      if test "$try_normal_branch" = yes \
+		 && { test "$len" -lt "$max_cmd_len" \
+		      || test "$max_cmd_len" -le -1; }
+	      then
+		func_show_eval "$cmd" 'exit $?'
+		skipped_export=false
+	      elif test -n "$nm_file_list_spec"; then
+		func_basename "$output"
+		output_la=$func_basename_result
+		save_libobjs=$libobjs
+		save_output=$output
+		output=${output_objdir}/${output_la}.nm
+		func_to_tool_file "$output"
+		libobjs=$nm_file_list_spec$func_to_tool_file_result
+		func_append delfiles " $output"
+		func_verbose "creating $NM input file list: $output"
+		for obj in $save_libobjs; do
+		  func_to_tool_file "$obj"
+		  $ECHO "$func_to_tool_file_result"
+		done > "$output"
+		eval cmd=\"$cmd1\"
 		func_show_eval "$cmd" 'exit $?'
+		output=$save_output
+		libobjs=$save_libobjs
 		skipped_export=false
 	      else
 		# The command line is too long to execute in one step.
@@ -7369,7 +8232,7 @@ EOF
 	  # global variables. join(1) would be nice here, but unfortunately
 	  # isn't a blessed tool.
 	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
 	  export_symbols=$output_objdir/$libname.def
 	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	fi
@@ -7379,7 +8242,7 @@ EOF
 	  case " $convenience " in
 	  *" $test_deplib "*) ;;
 	  *)
-	    tmp_deplibs="$tmp_deplibs $test_deplib"
+	    func_append tmp_deplibs " $test_deplib"
 	    ;;
 	  esac
 	done
@@ -7399,21 +8262,21 @@ EOF
 	    test "X$libobjs" = "X " && libobjs=
 	  else
 	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
+	    func_append generated " $gentop"
 
 	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
+	    func_append libobjs " $func_extract_archives_result"
 	    test "X$libobjs" = "X " && libobjs=
 	  fi
 	fi
 
 	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
 	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
+	  func_append linker_flags " $flag"
 	fi
 
 	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
+	if test "$opt_mode" = relink; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
 	fi
 
@@ -7475,10 +8338,13 @@ EOF
 	    echo 'INPUT (' > $output
 	    for obj in $save_libobjs
 	    do
-	      $ECHO "$obj" >> $output
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
 	    done
 	    echo ')' >> $output
-	    delfiles="$delfiles $output"
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$func_to_tool_file_result
 	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
 	    output=${output_objdir}/${output_la}.lnk
 	    func_verbose "creating linker input file list: $output"
@@ -7492,10 +8358,12 @@ EOF
 	    fi
 	    for obj
 	    do
-	      $ECHO "$obj" >> $output
+	      func_to_tool_file "$obj"
+	      $ECHO "$func_to_tool_file_result" >> $output
 	    done
-	    delfiles="$delfiles $output"
-	    output=$firstobj\"$file_list_spec$output\"
+	    func_append delfiles " $output"
+	    func_to_tool_file "$output"
+	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
 	  else
 	    if test -n "$save_libobjs"; then
 	      func_verbose "creating reloadable object files..."
@@ -7546,7 +8414,7 @@ EOF
 	      if test -n "$last_robj"; then
 	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
 	      fi
-	      delfiles="$delfiles $output"
+	      func_append delfiles " $output"
 
 	    else
 	      output=
@@ -7580,7 +8448,7 @@ EOF
 		lt_exit=$?
 
 		# Restore the uninstalled library and exit
-		if test "$mode" = relink; then
+		if test "$opt_mode" = relink; then
 		  ( cd "$output_objdir" && \
 		    $RM "${realname}T" && \
 		    $MV "${realname}U" "$realname" )
@@ -7613,7 +8481,7 @@ EOF
 	      # global variables. join(1) would be nice here, but unfortunately
 	      # isn't a blessed tool.
 	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
 	      export_symbols=$output_objdir/$libname.def
 	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
 	    fi
@@ -7654,10 +8522,10 @@ EOF
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
-	  libobjs="$libobjs $func_extract_archives_result"
+	  func_append libobjs " $func_extract_archives_result"
 	  test "X$libobjs" = "X " && libobjs=
 	fi
 
@@ -7673,7 +8541,7 @@ EOF
 	    lt_exit=$?
 
 	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
+	    if test "$opt_mode" = relink; then
 	      ( cd "$output_objdir" && \
 	        $RM "${realname}T" && \
 		$MV "${realname}U" "$realname" )
@@ -7685,7 +8553,7 @@ EOF
 	IFS="$save_ifs"
 
 	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
+	if test "$opt_mode" = relink; then
 	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
 
 	  if test -n "$convenience"; then
@@ -7769,13 +8637,16 @@ EOF
 	  reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
 	else
 	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $convenience
 	  reload_conv_objs="$reload_objs $func_extract_archives_result"
 	fi
       fi
 
+      # If we're not building shared, we need to use non_pic_objs
+      test "$build_libtool_libs" != yes && libobjs="$non_pic_objects"
+
       # Create the old-style object.
       reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
 
@@ -7849,8 +8720,8 @@ EOF
 	if test "$tagname" = CXX ; then
 	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
 	    10.[0123])
-	      compile_command="$compile_command ${wl}-bind_at_load"
-	      finalize_command="$finalize_command ${wl}-bind_at_load"
+	      func_append compile_command " ${wl}-bind_at_load"
+	      func_append finalize_command " ${wl}-bind_at_load"
 	    ;;
 	  esac
 	fi
@@ -7870,7 +8741,7 @@ EOF
 	*)
 	  case " $compile_deplibs " in
 	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
+	    func_append new_libs " -L$path/$objdir" ;;
 	  esac
 	  ;;
 	esac
@@ -7880,17 +8751,17 @@ EOF
 	-L*)
 	  case " $new_libs " in
 	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
+	  *) func_append new_libs " $deplib" ;;
 	  esac
 	  ;;
-	*) new_libs="$new_libs $deplib" ;;
+	*) func_append new_libs " $deplib" ;;
 	esac
       done
       compile_deplibs="$new_libs"
 
 
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
+      func_append compile_command " $compile_deplibs"
+      func_append finalize_command " $finalize_deplibs"
 
       if test -n "$rpath$xrpath"; then
 	# If the user specified any rpath flags, then add them.
@@ -7898,7 +8769,7 @@ EOF
 	  # This is the magic to use -rpath.
 	  case "$finalize_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
+	  *) func_append finalize_rpath " $libdir" ;;
 	  esac
 	done
       fi
@@ -7917,18 +8788,18 @@ EOF
 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		;;
 	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		;;
 	      esac
 	    fi
 	  else
 	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
+	    func_append rpath " $flag"
 	  fi
 	elif test -n "$runpath_var"; then
 	  case "$perm_rpath " in
 	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
+	  *) func_append perm_rpath " $libdir" ;;
 	  esac
 	fi
 	case $host in
@@ -7937,12 +8808,12 @@ EOF
 	  case :$dllsearchpath: in
 	  *":$libdir:"*) ;;
 	  ::) dllsearchpath=$libdir;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
+	  *) func_append dllsearchpath ":$libdir";;
 	  esac
 	  case :$dllsearchpath: in
 	  *":$testbindir:"*) ;;
 	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
+	  *) func_append dllsearchpath ":$testbindir";;
 	  esac
 	  ;;
 	esac
@@ -7968,18 +8839,18 @@ EOF
 	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
 		;;
 	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
 		;;
 	      esac
 	    fi
 	  else
 	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
+	    func_append rpath " $flag"
 	  fi
 	elif test -n "$runpath_var"; then
 	  case "$finalize_perm_rpath " in
 	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+	  *) func_append finalize_perm_rpath " $libdir" ;;
 	  esac
 	fi
       done
@@ -8030,6 +8901,12 @@ EOF
 	exit_status=0
 	func_show_eval "$link_command" 'exit_status=$?'
 
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
 	# Delete the generated files.
 	if test -f "$output_objdir/${outputname}S.${objext}"; then
 	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
@@ -8052,7 +8929,7 @@ EOF
 	  # We should set the runpath_var.
 	  rpath=
 	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
+	    func_append rpath "$dir:"
 	  done
 	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
 	fi
@@ -8060,7 +8937,7 @@ EOF
 	  # We should set the runpath_var.
 	  rpath=
 	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
+	    func_append rpath "$dir:"
 	  done
 	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
 	fi
@@ -8075,6 +8952,13 @@ EOF
 	$opt_dry_run || $RM $output
 	# Link the executable and exit
 	func_show_eval "$link_command" 'exit $?'
+
+	if test -n "$postlink_cmds"; then
+	  func_to_tool_file "$output"
+	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	  func_execute_cmds "$postlink_cmds" 'exit $?'
+	fi
+
 	exit $EXIT_SUCCESS
       fi
 
@@ -8108,6 +8992,12 @@ EOF
 
       func_show_eval "$link_command" 'exit $?'
 
+      if test -n "$postlink_cmds"; then
+	func_to_tool_file "$output_objdir/$outputname"
+	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
+	func_execute_cmds "$postlink_cmds" 'exit $?'
+      fi
+
       # Now create the wrapper script.
       func_verbose "creating $output"
 
@@ -8205,7 +9095,7 @@ EOF
 	else
 	  oldobjs="$old_deplibs $non_pic_objects"
 	  if test "$preload" = yes && test -f "$symfileobj"; then
-	    oldobjs="$oldobjs $symfileobj"
+	    func_append oldobjs " $symfileobj"
 	  fi
 	fi
 	addlibs="$old_convenience"
@@ -8213,10 +9103,10 @@ EOF
 
       if test -n "$addlibs"; then
 	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
+	func_append generated " $gentop"
 
 	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
+	func_append oldobjs " $func_extract_archives_result"
       fi
 
       # Do each command in the archive commands.
@@ -8227,10 +9117,10 @@ EOF
 	# Add any objects from preloaded convenience libraries
 	if test -n "$dlprefiles"; then
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 
 	  func_extract_archives $gentop $dlprefiles
-	  oldobjs="$oldobjs $func_extract_archives_result"
+	  func_append oldobjs " $func_extract_archives_result"
 	fi
 
 	# POSIX demands no paths to be encoded in archives.  We have
@@ -8248,7 +9138,7 @@ EOF
 	else
 	  echo "copying selected object files to avoid basename conflicts..."
 	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
+	  func_append generated " $gentop"
 	  func_mkdir_p "$gentop"
 	  save_oldobjs=$oldobjs
 	  oldobjs=
@@ -8272,18 +9162,30 @@ EOF
 		esac
 	      done
 	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
+	      func_append oldobjs " $gentop/$newobj"
 	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
+	    *) func_append oldobjs " $obj" ;;
 	    esac
 	  done
 	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
 	eval cmds=\"$old_archive_cmds\"
 
 	func_len " $cmds"
 	len=$func_len_result
 	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
 	  cmds=$old_archive_cmds
+	elif test -n "$archiver_list_spec"; then
+	  func_verbose "using command file archive linking..."
+	  for obj in $oldobjs
+	  do
+	    func_to_tool_file "$obj"
+	    $ECHO "$func_to_tool_file_result"
+	  done > $output_objdir/$libname.libcmd
+	  func_to_tool_file "$output_objdir/$libname.libcmd"
+	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
+	  cmds=$old_archive_cmds
 	else
 	  # the command line is too long to link in one step, link in parts
 	  func_verbose "using piecewise archive linking..."
@@ -8377,12 +9279,23 @@ EOF
 	      *.la)
 		func_basename "$deplib"
 		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
-		newdependency_libs="$newdependency_libs $libdir/$name"
+		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
+		;;
+	      -L*)
+		func_stripname -L '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -L$func_replace_sysroot_result"
+		;;
+	      -R*)
+		func_stripname -R '' "$deplib"
+		func_replace_sysroot "$func_stripname_result"
+		func_append newdependency_libs " -R$func_replace_sysroot_result"
 		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
+	      *) func_append newdependency_libs " $deplib" ;;
 	      esac
 	    done
 	    dependency_libs="$newdependency_libs"
@@ -8396,9 +9309,9 @@ EOF
 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlfiles="$newdlfiles $libdir/$name"
+		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
-	      *) newdlfiles="$newdlfiles $lib" ;;
+	      *) func_append newdlfiles " $lib" ;;
 	      esac
 	    done
 	    dlfiles="$newdlfiles"
@@ -8415,7 +9328,7 @@ EOF
 		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlprefiles="$newdlprefiles $libdir/$name"
+		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
 		;;
 	      esac
 	    done
@@ -8427,7 +9340,7 @@ EOF
 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
-	      newdlfiles="$newdlfiles $abs"
+	      func_append newdlfiles " $abs"
 	    done
 	    dlfiles="$newdlfiles"
 	    newdlprefiles=
@@ -8436,7 +9349,7 @@ EOF
 		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
 		*) abs=`pwd`"/$lib" ;;
 	      esac
-	      newdlprefiles="$newdlprefiles $abs"
+	      func_append newdlprefiles " $abs"
 	    done
 	    dlprefiles="$newdlprefiles"
 	  fi
@@ -8521,7 +9434,7 @@ relink_command=\"$relink_command\""
     exit $EXIT_SUCCESS
 }
 
-{ test "$mode" = link || test "$mode" = relink; } &&
+{ test "$opt_mode" = link || test "$opt_mode" = relink; } &&
     func_mode_link ${1+"$@"}
 
 
@@ -8541,9 +9454,9 @@ func_mode_uninstall ()
     for arg
     do
       case $arg in
-      -f) RM="$RM $arg"; rmforce=yes ;;
-      -*) RM="$RM $arg" ;;
-      *) files="$files $arg" ;;
+      -f) func_append RM " $arg"; rmforce=yes ;;
+      -*) func_append RM " $arg" ;;
+      *) func_append files " $arg" ;;
       esac
     done
 
@@ -8552,24 +9465,23 @@ func_mode_uninstall ()
 
     rmdirs=
 
-    origobjdir="$objdir"
     for file in $files; do
       func_dirname "$file" "" "."
       dir="$func_dirname_result"
       if test "X$dir" = X.; then
-	objdir="$origobjdir"
+	odir="$objdir"
       else
-	objdir="$dir/$origobjdir"
+	odir="$dir/$objdir"
       fi
       func_basename "$file"
       name="$func_basename_result"
-      test "$mode" = uninstall && objdir="$dir"
+      test "$opt_mode" = uninstall && odir="$dir"
 
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
+      # Remember odir for removal later, being careful to avoid duplicates
+      if test "$opt_mode" = clean; then
 	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
+	  *" $odir "*) ;;
+	  *) func_append rmdirs " $odir" ;;
 	esac
       fi
 
@@ -8595,18 +9507,17 @@ func_mode_uninstall ()
 
 	  # Delete the libtool libraries and symlinks.
 	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
+	    func_append rmfiles " $odir/$n"
 	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
 
-	  case "$mode" in
+	  case "$opt_mode" in
 	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
+	    case " $library_names " in
 	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
+	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
 	    esac
-	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
 	    ;;
 	  uninstall)
 	    if test -n "$library_names"; then
@@ -8634,19 +9545,19 @@ func_mode_uninstall ()
 	  # Add PIC object to the list of files to remove.
 	  if test -n "$pic_object" &&
 	     test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
+	    func_append rmfiles " $dir/$pic_object"
 	  fi
 
 	  # Add non-PIC object to the list of files to remove.
 	  if test -n "$non_pic_object" &&
 	     test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
+	    func_append rmfiles " $dir/$non_pic_object"
 	  fi
 	fi
 	;;
 
       *)
-	if test "$mode" = clean ; then
+	if test "$opt_mode" = clean ; then
 	  noexename=$name
 	  case $file in
 	  *.exe)
@@ -8656,7 +9567,7 @@ func_mode_uninstall ()
 	    noexename=$func_stripname_result
 	    # $file with .exe has already been added to rmfiles,
 	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
+	    func_append rmfiles " $file"
 	    ;;
 	  esac
 	  # Do a test to see if this is a libtool program.
@@ -8665,7 +9576,7 @@ func_mode_uninstall ()
 	      func_ltwrapper_scriptname "$file"
 	      relink_command=
 	      func_source $func_ltwrapper_scriptname_result
-	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+	      func_append rmfiles " $func_ltwrapper_scriptname_result"
 	    else
 	      relink_command=
 	      func_source $dir/$noexename
@@ -8673,12 +9584,12 @@ func_mode_uninstall ()
 
 	    # note $name still contains .exe if it was in $file originally
 	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+	    func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
 	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
+	      func_append rmfiles " $odir/lt-$name"
 	    fi
 	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+	      func_append rmfiles " $odir/lt-${noexename}.c"
 	    fi
 	  fi
 	fi
@@ -8686,7 +9597,6 @@ func_mode_uninstall ()
       esac
       func_show_eval "$RM $rmfiles" 'exit_status=1'
     done
-    objdir="$origobjdir"
 
     # Try to remove the ${objdir}s in the directories where we deleted files
     for dir in $rmdirs; do
@@ -8698,16 +9608,16 @@ func_mode_uninstall ()
     exit $exit_status
 }
 
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
+{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } &&
     func_mode_uninstall ${1+"$@"}
 
-test -z "$mode" && {
+test -z "$opt_mode" && {
   help="$generic_help"
   func_fatal_help "you must specify a MODE"
 }
 
 test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$mode'"
+  func_fatal_help "invalid operation mode \`$opt_mode'"
 
 if test -n "$exec_cmd"; then
   eval exec "$exec_cmd"
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 313d28a..f09ad18 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # M4 macro files to be used by the client applications with Autoconf.
 m4datadir = $(datadir)/aclocal
@@ -38,25 +38,18 @@ ac_check_swi_prolog.m4 \
 ac_check_xsb_prolog.m4 \
 ac_cxx_attribute_weak.m4 \
 ac_cxx_double_binary_format.m4 \
-ac_cxx_double_exact_output.m4 \
-ac_cxx_flexible_arrays.m4 \
+ac_cxx_zero_length_arrays.m4 \
 ac_cxx_float_binary_format.m4 \
-ac_cxx_float_exact_output.m4 \
 ac_cxx_ieee_inexact_flag.m4 \
 ac_cxx_limit_memory.m4 \
 ac_cxx_long_double_binary_format.m4 \
-ac_cxx_long_double_exact_output.m4 \
 ac_cxx_plain_char_is_signed.m4 \
 ac_cxx_proper_long_double.m4 \
-ac_cxx_remainder_bug.m4 \
 ac_prog_jar.m4 \
 ac_prog_java.m4 \
 ac_prog_javac.m4 \
 ac_prog_javah.m4 \
 ac_text_md5sum.m4 \
-lib-ld.m4 \
-lib-link.m4 \
-lib-prefix.m4 \
 libtool.m4 \
 ltoptions.m4 \
 ltsugar.m4 \
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 942aac9..1a6bad5 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -69,38 +69,33 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 SOURCES =
 DIST_SOURCES =
@@ -125,6 +120,12 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(m4datadir)"
 DATA = $(m4data_DATA)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -151,6 +152,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -175,21 +177,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -245,6 +242,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -313,7 +311,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -343,25 +340,18 @@ ac_check_swi_prolog.m4 \
 ac_check_xsb_prolog.m4 \
 ac_cxx_attribute_weak.m4 \
 ac_cxx_double_binary_format.m4 \
-ac_cxx_double_exact_output.m4 \
-ac_cxx_flexible_arrays.m4 \
+ac_cxx_zero_length_arrays.m4 \
 ac_cxx_float_binary_format.m4 \
-ac_cxx_float_exact_output.m4 \
 ac_cxx_ieee_inexact_flag.m4 \
 ac_cxx_limit_memory.m4 \
 ac_cxx_long_double_binary_format.m4 \
-ac_cxx_long_double_exact_output.m4 \
 ac_cxx_plain_char_is_signed.m4 \
 ac_cxx_proper_long_double.m4 \
-ac_cxx_remainder_bug.m4 \
 ac_prog_jar.m4 \
 ac_prog_java.m4 \
 ac_prog_javac.m4 \
 ac_prog_javah.m4 \
 ac_text_md5sum.m4 \
-lib-ld.m4 \
-lib-link.m4 \
-lib-prefix.m4 \
 libtool.m4 \
 ltoptions.m4 \
 ltsugar.m4 \
@@ -425,9 +415,7 @@ uninstall-m4dataDATA:
 	@$(NORMAL_UNINSTALL)
 	@list='$(m4data_DATA)'; test -n "$(m4datadir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(m4datadir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(m4datadir)" && rm -f $$files
+	dir='$(DESTDIR)$(m4datadir)'; $(am__uninstall_files_from_dir)
 tags: TAGS
 TAGS:
 
@@ -482,10 +470,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/m4/ac_check_ciao.m4 b/m4/ac_check_ciao.m4
index 03db80c..6d070b5 100644
--- a/m4/ac_check_ciao.m4
+++ b/m4/ac_check_ciao.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of Ciao-Prolog.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_CIAO_PROLOG],
 [
@@ -56,13 +56,14 @@ _CIAO_PRINT_INCLUDE_DIR_EOF
   AC_LANG_PUSH(C++)
   AC_CHECK_HEADER(ciao_prolog.h,
                   AC_MSG_CHECKING([for Ciao Prolog version x.y.z or later])
-                  AC_COMPILE_IFELSE(
-[#include <ciao_prolog.h>
+                  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include <ciao_prolog.h>
 
 int
 main() {
   return 0;
-}],
+}
+                    ]])],
                     AC_MSG_RESULT(yes),
                     ciao_prolog=""
                     AC_MSG_RESULT(no)
diff --git a/m4/ac_check_fpu_control.m4 b/m4/ac_check_fpu_control.m4
index cac3a32..1541051 100644
--- a/m4/ac_check_fpu_control.m4
+++ b/m4/ac_check_fpu_control.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the possibility to control the FPU.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_FPU_CONTROL],
 [
diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
index 8c2af74..5ceb585 100644
--- a/m4/ac_check_gmp.m4
+++ b/m4/ac_check_gmp.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of GMP.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,45 +19,72 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_GMP],
 [
-dnl Since libgmp and libgmpxx are usually installed in the same location,
-dnl let the prefixes default from each other.
-if test -n "$with_libgmpxx_prefix" && test -z "$with_libgmp_prefix"; then
-  with_libgmp_prefix="$with_libgmpxx_prefix"
-else
-  if test -n "$with_libgmp_prefix" && test -z "$with_libgmpxx_prefix"; then
-    with_libgmpxx_prefix="$with_libgmp_prefix"
-  fi
+AC_ARG_WITH(gmp,
+  AS_HELP_STRING([--with-gmp=DIR],
+		 [search for libgmp/libgmpxx in DIR/include and DIR/lib]))
+
+AC_ARG_WITH(gmp-include,
+  AS_HELP_STRING([--with-gmp-include=DIR],
+		 [search for libgmp/libgmpxx headers in DIR]))
+
+AC_ARG_WITH(gmp-lib,
+  AS_HELP_STRING([--with-gmp-lib=DIR],
+		 [search for libgmp/libgmpxx library objects in DIR]))
+
+if test -n "$with_gmp"
+then
+  gmp_include_options="-I$with_gmp/include"
+  gmp_library_paths="$with_gmp/lib"
+  gmp_library_options="-L$gmp_library_paths"
+fi
+
+if test -n "$with_gmp_include"
+then
+  gmp_include_options="-I$with_gmp_include"
+fi
+
+if test -n "$with_gmp_lib"
+then
+  gmp_library_paths="$with_gmp_lib"
+  gmp_library_options="-L$gmp_library_paths"
 fi
 
+gmp_libs="-lgmpxx -lgmp"
+
 AC_ARG_WITH(gmp-build,
   AS_HELP_STRING([--with-gmp-build=DIR],
                  [use a non-installed build of GMP in DIR]),
   gmp_build_dir=$with_gmp_build
-  if test -z "$with_libgmp_prefix"
+  if test -n "$with_gmp" \
+  || test -n "$with_gmp_include" || test -n "$with_gmp_lib"
   then
-    CPPFLAGS="$CPPFLAGS -I$gmp_build_dir -I$gmp_build_dir/tune"
-    LDFLAGS="$LDFLAGS -L$gmp_build_dir -L$gmp_build_dir/.libs"
-    LDFLAGS="$LDFLAGS -L$gmp_build_dir/tune"
+    AC_MSG_ERROR([cannot use --with-gmp-build and other --with-gmp* options together])
   else
-    AC_MSG_ERROR([cannot use --with-gmp-build and --with-gmp-prefix together])
+    gmp_srcdir=`echo @abs_srcdir@ | $gmp_build_dir/config.status --file=-`
+    gmp_include_options="-I$gmp_build_dir -I$gmp_build_dir/tune -I$gmp_srcdir"
+    gmp_libs="$gmp_build_dir/libgmp.la $gmp_build_dir/libgmpxx.la"
   fi)
 
-dnl Both libgmp and libbmpxx come from the gmp package.
-AC_LIB_FROMPACKAGE([gmp], [gmp])
-AC_LIB_FROMPACKAGE([gmpxx], [gmp])
+gmp_library_options="$gmp_library_options $gmp_libs"
 
-dnl Check how to link with libgmp.
-AC_LIB_LINKFLAGS([gmp])
-
-dnl Check how to link with libgmpxx.
-AC_LIB_LINKFLAGS([gmpxx], [gmp])
+if test -n "$with_gmp_build"
+then
+  ac_save_CXX="$CXX"
+  CXX="libtool --mode=link --tag=CXX $CXX"
+fi
 
+ac_save_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $gmp_include_options"
 ac_save_LIBS="$LIBS"
-LIBS="$LIBS $LIBGMPXX"
+LIBS="$LIBS $gmp_library_options"
+eval ac_save_shared_library_path="\$$shared_library_path_env_var"
+eval $shared_library_path_env_var=\"$gmp_library_paths:$ac_save_shared_library_path\"
+export $shared_library_path_env_var
+
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([for the GMP library version 4.1.3 or above])
@@ -96,7 +123,7 @@ main() {
 
   if (header_version != library_version) {
     std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) version mismatch:\n"
+      << "GMP header (gmpxx.h) and library (ligmpxx.*) version mismatch:\n"
       << "header gives " << header_version << ";\n"
       << "library gives " << library_version << "." << std::endl;
     return 1;
@@ -105,7 +132,7 @@ main() {
   if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
       || BITS_PER_MP_LIMB != mp_bits_per_limb) {
     std::cerr
-      << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
+      << "GMP header (gmpxx.h) and library (ligmpxx.*) bits-per-limb mismatch:\n"
       << "header gives " << BITS_PER_MP_LIMB << ";\n"
       << "library gives " << mp_bits_per_limb << ".\n"
       << "This probably means you are on a bi-arch system and\n"
@@ -197,8 +224,12 @@ AC_DEFINE_UNQUOTED(PPL_GMP_SUPPORTS_EXCEPTIONS, $value,
 fi
 
 AC_LANG_POP(C++)
+eval $shared_library_path_env_var=\"$ac_save_shared_library_path\"
 LIBS="$ac_save_LIBS"
+CPPFLAGS="$ac_save_CPPFLAGS"
 
-dnl We use libtool, therefore we take $LTLIBGMPXX, not $LIBGMPXX.
-gmp_library_option="$LTLIBGMPXX"
+if test -n "$with_gmp_build"
+then
+  CXX="$ac_save_CXX"
+fi
 ])
diff --git a/m4/ac_check_sicstus_prolog.m4 b/m4/ac_check_sicstus_prolog.m4
index 733b2fc..d74438d 100644
--- a/m4/ac_check_sicstus_prolog.m4
+++ b/m4/ac_check_sicstus_prolog.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of SICStus Prolog.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_SICSTUS_PROLOG],
 [
diff --git a/m4/ac_check_swi_prolog.m4 b/m4/ac_check_swi_prolog.m4
index 7791292..8ea56fd 100644
--- a/m4/ac_check_swi_prolog.m4
+++ b/m4/ac_check_swi_prolog.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of SWI-Prolog.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_SWI_PROLOG],
 [
@@ -30,47 +30,50 @@ dnl On Windows, the console version of SWI-Prolog was called `plcon'.
 dnl Since SWI-Prolog 5.9.9, by default and on all systems, the
 dnl interpreter is called `swipl' and `plld' is called `swipl-ld'
 
-AC_PATH_PROG(swi_prolog, swipl)
+AC_PATH_PROG(swi_prolog, swipl$EXEEXT)
 if test -z $swi_prolog
 then
-  AC_PATH_PROG(swi_prolog, swi-prolog)
+  AC_PATH_PROG(swi_prolog, swi-prolog$EXEEXT)
   if test -z $swi_prolog
   then
-    AC_PATH_PROG(swi_prolog, pl)
+    AC_PATH_PROG(swi_prolog, pl$EXEEXT)
     if test -z $swi_prolog
     then
-      AC_PATH_PROG(swi_prolog, plcon)
+      AC_PATH_PROG(swi_prolog, plcon$EXEEXT)
     fi
   fi
 fi
 if test x$swi_prolog != x
 then
-  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\(.*\)";/\1/'`
-  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";/\1/'`
-  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";/\1/'`
-  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";/\1/'`
-  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";/\1/'`
+  swi_prolog_base=`$swi_prolog -dump-runtime-variables | grep PLBASE= | sed 's/PLBASE="\([[a-z]]:\)\{0,1\}\(.*\)";.*/\2/'`
+  swi_prolog_version=`$swi_prolog -dump-runtime-variables | grep PLVERSION= | sed 's/PLVERSION="\(.*\)";.*/\1/'`
+  swi_prolog_arch=`$swi_prolog -dump-runtime-variables | grep PLARCH= | sed 's/PLARCH="\(.*\)";.*/\1/'`
+  swi_prolog_libs=`$swi_prolog -dump-runtime-variables | grep PLLIBS= | sed 's/PLLIBS="\(.*\)";.*/\1/'`
+  swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";.*/\1/'`
 
   dnl Additional version checks could be inserted here, if necessary.
 
-  AC_PATH_PROG(swi_prolog_ld, swipl-ld)
+  AC_PATH_PROG(swi_prolog_ld, swipl-ld$EXEEXT)
   if test -z $swi_prolog_ld
   then
-    AC_PATH_PROG(swi_prolog_ld, plld)
+    AC_PATH_PROG(swi_prolog_ld, plld$EXEEXT)
   fi
 
   # In Fedora, SWI-Prolog.h is installed only in /usr/include/pl, which,
   # IMHO, is a bug (https://bugzilla.redhat.com/show_bug.cgi?id=471071).
   SWI_PROLOG_INCLUDE_OPTIONS="-I${swi_prolog_base}/include -I/usr/include/pl"
-  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} ${swi_prolog_lib} ${swi_prolog_libs}"
+  # If SWI-Prolog was configured with `--disable-libdirversion', then
+  # the files are not in the `${swi_prolog_arch}' subdirectory.  Since
+  # currently there is no way to know that, we look in both places.
+  SWI_PROLOG_LD_OPTIONS="-L${swi_prolog_base}/lib/${swi_prolog_arch} -L${swi_prolog_base}/lib ${swi_prolog_lib} ${swi_prolog_libs}"
   ac_save_CPPFLAGS="$CPPFLAGS"
   CPPFLAGS="$CPPFLAGS $SWI_PROLOG_INCLUDE_OPTIONS"
   AC_LANG_PUSH(C++)
   # We require SWI-Prolog 5.6.0 or later.
   AC_CHECK_HEADER(SWI-Prolog.h,
                   AC_MSG_CHECKING([for SWI-Prolog version 5.6.0 or later])
-                  AC_COMPILE_IFELSE(
-[#include <SWI-Prolog.h>
+                  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include <SWI-Prolog.h>
 
 int
 main() {
@@ -80,7 +83,8 @@ main() {
 
   ;
   return 0;
-}],
+}
+                    ]])],
                     AC_MSG_RESULT(yes),
                     swi_prolog=""
                     AC_MSG_RESULT(no)
diff --git a/m4/ac_check_xsb_prolog.m4 b/m4/ac_check_xsb_prolog.m4
index 164bb1a..c40335a 100644
--- a/m4/ac_check_xsb_prolog.m4
+++ b/m4/ac_check_xsb_prolog.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of XSB Prolog.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_XSB_PROLOG],
 [
diff --git a/m4/ac_check_yap.m4 b/m4/ac_check_yap.m4
index 0505d08..0b87156 100644
--- a/m4/ac_check_yap.m4
+++ b/m4/ac_check_yap.m4
@@ -1,6 +1,6 @@
 dnl A function to check for the existence and usability of YAP Prolog.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CHECK_YAP_PROLOG],
 [
diff --git a/m4/ac_cxx_attribute_weak.m4 b/m4/ac_cxx_attribute_weak.m4
index aa7f9a5..e29c033 100644
--- a/m4/ac_cxx_attribute_weak.m4
+++ b/m4/ac_cxx_attribute_weak.m4
@@ -1,7 +1,7 @@
 dnl A function to check whether the C++ compiler supports the function
 dnl __attribute__ ((weak)).
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_SUPPORTS_ATTRIBUTE_WEAK],
 [
diff --git a/m4/ac_cxx_double_binary_format.m4 b/m4/ac_cxx_double_binary_format.m4
index 5c2947c..3f06137 100644
--- a/m4/ac_cxx_double_binary_format.m4
+++ b/m4/ac_cxx_double_binary_format.m4
@@ -1,6 +1,6 @@
 dnl A function to detect the binary format used by C++ doubles.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_DOUBLE_BINARY_FORMAT],
 [
@@ -97,9 +97,7 @@ main() {
 
 AC_MSG_RESULT($ac_cxx_double_binary_format)
 
-AC_CXX_DOUBLE_EXACT_OUTPUT
-
-if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cxx_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+if test x"$ac_cxx_double_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
 then
   ac_supported_double=0
 else
diff --git a/m4/ac_cxx_double_exact_output.m4 b/m4/ac_cxx_double_exact_output.m4
deleted file mode 100644
index d35afc5..0000000
--- a/m4/ac_cxx_double_exact_output.m4
+++ /dev/null
@@ -1,141 +0,0 @@
-dnl A function to detect whether C++ provides exact output for doubles.
-dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-dnl
-dnl This file is part of the Parma Polyhedra Library (PPL).
-dnl
-dnl The PPL is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by the
-dnl Free Software Foundation; either version 3 of the License, or (at your
-dnl option) any later version.
-dnl
-dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
-dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-dnl
-dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
-
-AC_DEFUN([AC_CXX_DOUBLE_EXACT_OUTPUT],
-[
-AC_REQUIRE([AC_C_BIGENDIAN])
-dnl AC_REQUIRE([AC_CXX_DOUBLE_BINARY_FORMAT])
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-AC_LANG_PUSH(C++)
-
-AC_MSG_CHECKING([whether C++ provides exact output for doubles])
-
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_DOUBLE == 8
-
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
-
-#else // SIZEOF_DOUBLE != 8
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_DOUBLE != 8
-]])],
-  AC_MSG_RESULT(yes)
-  ac_cxx_double_exact_output=1,
-  AC_MSG_RESULT(no)
-  ac_cxx_double_exact_output=0,
-  AC_MSG_RESULT([assuming not])
-  ac_cxx_double_exact_output=0)
-
-AC_DEFINE_UNQUOTED(PPL_CXX_DOUBLE_EXACT_OUTPUT, $ac_cxx_double_exact_output,
-  [Not zero if C++ supports exact output for doubles.])
-
-AC_LANG_POP(C++)
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-])
diff --git a/m4/ac_cxx_flexible_arrays.m4 b/m4/ac_cxx_flexible_arrays.m4
deleted file mode 100644
index 5ad6b33..0000000
--- a/m4/ac_cxx_flexible_arrays.m4
+++ /dev/null
@@ -1,142 +0,0 @@
-dnl A function to check whether the C++ compiler supports flexible arrays.
-dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-dnl
-dnl This file is part of the Parma Polyhedra Library (PPL).
-dnl
-dnl The PPL is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by the
-dnl Free Software Foundation; either version 3 of the License, or (at your
-dnl option) any later version.
-dnl
-dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
-dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-dnl
-dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
-
-AC_DEFUN([AC_CXX_SUPPORTS_FLEXIBLE_ARRAYS],
-[
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-AC_LANG_PUSH(C++)
-
-AC_MSG_CHECKING([whether the C++ compiler supports flexible arrays])
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <new>
-#include <cstddef>
-
-class A {
-private:
-  int i;
-  bool b;
-
-public:
-  A()
-    : i(0), b(false) {
-  }
-};
-
-class B {
-private:
-  int capacity;
-  A vec[];
-
-public:
-  void* operator new(size_t fixed_size, int c) {
-    return ::operator new(fixed_size + c*sizeof(B));
-  }
-
-  void operator delete(void* p) {
-    ::operator delete(p);
-  }
-
-  void operator delete(void* p, int) {
-    ::operator delete(p);
-  }
-
-  B(int s)
-    : capacity(s) {
-  }
-};
-
-int
-main() {
-  B* p = new (100) B(100);
-  delete p;
-  return 0;
-}
-]])],
-  AC_MSG_RESULT(yes)
-  ac_cxx_supports_flexible_arrays=yes,
-  AC_MSG_RESULT(no)
-  ac_cxx_supports_flexible_arrays=no,
-  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
-#include <new>
-#include <cstddef>
-
-class A {
-private:
-  int i;
-  bool b;
-
-public:
-  A()
-    : i(0), b(false) {
-  }
-};
-
-class B {
-private:
-  int capacity;
-  A vec[];
-
-public:
-  void* operator new(size_t fixed_size, int c) {
-    return ::operator new(fixed_size + c*sizeof(B));
-  }
-
-  void operator delete(void* p) {
-    ::operator delete(p);
-  }
-
-  void operator delete(void* p, int) {
-    ::operator delete(p);
-  }
-
-  B(int s)
-    : capacity(s) {
-  }
-};
-
-int
-main() {
-  B* p = new (100) B(100);
-  delete p;
-  return 0;
-}
-]])],
-    AC_MSG_RESULT(yes)
-    ac_cxx_supports_flexible_arrays=yes,
-    AC_MSG_RESULT(no)
-    ac_cxx_supports_flexible_arrays=no))
-
-if test x"$ac_cxx_supports_flexible_arrays" = xyes
-then
-  value=1
-else
-  value=0
-fi
-AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS, $value,
-  [Not zero if the C++ compiler supports flexible arrays.])
-
-AC_LANG_POP(C++)
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-])
diff --git a/m4/ac_cxx_float_binary_format.m4 b/m4/ac_cxx_float_binary_format.m4
index 86bd4f0..ea6ad69 100644
--- a/m4/ac_cxx_float_binary_format.m4
+++ b/m4/ac_cxx_float_binary_format.m4
@@ -1,6 +1,6 @@
 dnl A function to detect the binary format used by C++ floats.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_FLOAT_BINARY_FORMAT],
 [
@@ -86,9 +86,7 @@ main() {
 
 AC_MSG_RESULT($ac_cxx_float_binary_format)
 
-AC_CXX_FLOAT_EXACT_OUTPUT
-
-if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cxx_float_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+if test x"$ac_cxx_float_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
 then
   ac_supported_float=0
 else
diff --git a/m4/ac_cxx_float_exact_output.m4 b/m4/ac_cxx_float_exact_output.m4
deleted file mode 100644
index 870e034..0000000
--- a/m4/ac_cxx_float_exact_output.m4
+++ /dev/null
@@ -1,131 +0,0 @@
-dnl A function to detect whether C++ provides exact output for floats.
-dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-dnl
-dnl This file is part of the Parma Polyhedra Library (PPL).
-dnl
-dnl The PPL is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by the
-dnl Free Software Foundation; either version 3 of the License, or (at your
-dnl option) any later version.
-dnl
-dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
-dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-dnl
-dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
-
-AC_DEFUN([AC_CXX_FLOAT_EXACT_OUTPUT],
-[
-dnl AC_REQUIRE([AC_CXX_FLOAT_BINARY_FORMAT])
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-AC_LANG_PUSH(C++)
-
-AC_MSG_CHECKING([whether C++ provides exact output for floats])
-
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(float value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_FLOAT == 4
-
-float
-convert(uint32_t x) {
-  union {
-    float value;
-    uint32_t word;
-  } u;
-
-  u.word = x;
-  return u.value;
-}
-
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaU),
-            "-3.069535185924732179074680971098132431507110595703125e-13")
-      && check(convert(0xcccaaaccU),
-               "-106255968")
-      && check(convert(0x00000001U),
-               "1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45")
-      && check(convert(0x80000001U),
-               "-1.40129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125e-45"))
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
-
-#else // SIZEOF_FLOAT != 4
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_FLOAT != 4
-]])],
-  AC_MSG_RESULT(yes)
-  ac_cxx_float_exact_output=1,
-  AC_MSG_RESULT(no)
-  ac_cxx_float_exact_output=0,
-  AC_MSG_RESULT([assuming not])
-  ac_cxx_float_exact_output=0)
-
-AC_DEFINE_UNQUOTED(PPL_CXX_FLOAT_EXACT_OUTPUT, $ac_cxx_float_exact_output,
-  [Not zero if C++ supports exact output for floats.])
-
-AC_LANG_POP(C++)
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-])
diff --git a/m4/ac_cxx_ieee_inexact_flag.m4 b/m4/ac_cxx_ieee_inexact_flag.m4
index 836b1b6..433c7ea 100644
--- a/m4/ac_cxx_ieee_inexact_flag.m4
+++ b/m4/ac_cxx_ieee_inexact_flag.m4
@@ -1,7 +1,7 @@
 dnl A function to check whether the IEEE inexact flag is supported and
 dnl available to C++ programs.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_SUPPORTS_IEEE_INEXACT_FLAG],
 [
diff --git a/m4/ac_cxx_limit_memory.m4 b/m4/ac_cxx_limit_memory.m4
index a0151a5..df4b450 100644
--- a/m4/ac_cxx_limit_memory.m4
+++ b/m4/ac_cxx_limit_memory.m4
@@ -1,7 +1,7 @@
 dnl A function to check whether it is possible to limit the memory
 dnl available to processes using setrlimit().
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_SUPPORTS_LIMITING_MEMORY],
 [
@@ -30,6 +30,10 @@ AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([whether we can limit memory in C++ using setrlimit()])
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#if !HAVE_DECL_SETRLIMIT
+# error "cannot limit memory without setrlimit()"
+#endif
+
 #include <stdexcept>
 
 #ifdef HAVE_SYS_TYPES_H
diff --git a/m4/ac_cxx_long_double_binary_format.m4 b/m4/ac_cxx_long_double_binary_format.m4
index 1de5dce..588d4b3 100644
--- a/m4/ac_cxx_long_double_binary_format.m4
+++ b/m4/ac_cxx_long_double_binary_format.m4
@@ -1,6 +1,6 @@
 dnl A function to detect the binary format used by C++ long doubles.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_LONG_DOUBLE_BINARY_FORMAT],
 [
@@ -314,9 +314,7 @@ fi
 
 AC_MSG_RESULT($ac_cxx_long_double_binary_format)
 
-AC_CXX_LONG_DOUBLE_EXACT_OUTPUT
-
-if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cxx_long_double_exact_output = 0 || test $ac_cv_can_control_fpu = 0
+if test x"$ac_cxx_long_double_binary_format" = x"unknown" || test $ac_cv_can_control_fpu = 0
 then
   ac_supported_long_double=0
 else
diff --git a/m4/ac_cxx_long_double_exact_output.m4 b/m4/ac_cxx_long_double_exact_output.m4
deleted file mode 100644
index be85291..0000000
--- a/m4/ac_cxx_long_double_exact_output.m4
+++ /dev/null
@@ -1,254 +0,0 @@
-dnl A function to detect whether C++ provides exact output for long doubles.
-dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-dnl
-dnl This file is part of the Parma Polyhedra Library (PPL).
-dnl
-dnl The PPL is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by the
-dnl Free Software Foundation; either version 3 of the License, or (at your
-dnl option) any later version.
-dnl
-dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
-dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-dnl
-dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
-
-AC_DEFUN([AC_CXX_LONG_DOUBLE_EXACT_OUTPUT],
-[
-AC_REQUIRE([AC_C_BIGENDIAN])
-dnl AC_REQUIRE([AC_CXX_LONG_DOUBLE_BINARY_FORMAT])
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-AC_LANG_PUSH(C++)
-
-AC_MSG_CHECKING([whether C++ provides exact output for long doubles])
-
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <limits>
-#ifdef HAVE_STDINT_H
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-#include <stdint.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <sstream>
-
-/* Unique (nonzero) code for the IEEE 754 Single Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
-
-/* Unique (nonzero) code for the IEEE 754 Double Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
-
-/* Unique (nonzero) code for the IEEE 754 Quad Precision
-   floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
-
-/* Unique (nonzero) code for the Intel Double-Extended
-   floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
-
-bool
-check(long double value, const char* text) {
-  std::ostringstream ss;
-  ss.precision(10000);
-  ss << value;
-  return ss.str() == text;
-}
-
-#if SIZEOF_LONG_DOUBLE == 12
-
-long double
-convert(uint32_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacccaaacccULL),
-            "-2347515119623533044836098728848844802360499059743792266553789449931714103027083147350004052130909778252174381128110073162061230391014115892328306480775581568464385654456454167018199800371311459509865035007576337091690846028483890278748770302000164922066968427857731908531920447109369397262198780877931467490364866823668872333299978555289484532591724489792080483029098529153534398647750864910040989348665150713407129673962368698401443396580325986886785546510945722073165626067034 [...]
-      && check(convert(0xcccaaaccUL, 0xcaaacccaaacccaaaULL),
-               "-3.23434990843367356978836243375823670140137920038631047807023049120171609457620808873309220935271108176353097313943940275472100621788903190230956690534410676669705059335585140518969412596610080153759381132049385057915293867970546587078868452351854180615879140837871859693613285468342558175420524259461419246587664010262843224689767458364974546764113923420713958481010186877291531245407558226524068718427924386121735166705992087823616450647326179770339398151079922803077815239 [...]
-      && check(convert(0x00000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x80000000UL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-#elif SIZEOF_LONG_DOUBLE == 16
-
-long double
-convert(uint64_t msp, uint64_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint64_t msp;
-      uint64_t lsp;
-#else
-      uint64_t lsp;
-      uint64_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-8.55855653885100434741341853993902633367349104766375354667159377718342093894815477326286823233135691805519944470138219932524951165689852082013017904043605683486724317550972746307400400204571080045247416605879743573136814766221652651396476675668866980798618379071105211750397249729982891787041148520384572930274879267722158826932337019191713973025403784448443813348692062209940856126724493492803365972504505177354875652033856070760087261648660638833868952644144747756799606849182 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-1245145811075115522107964569349668036873048429802955738289544979224937529833971888147113044115600185809657440463151337899852742080173681519641002844007842161066491872877272689899483098933357761372012363074222544903849943421327866952518563408226075393323377411859119799862094642227761121175434773105923957353216410161917656139242348962530519313341883531064222310528951125334264629650711950000833461188453888512224682758538996197678583645934917458956166559210225915729833706160 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "6.475175119438025110924438958227646552499569338034681009689884389197039540124119371017671491276649940255878141476848119676587219886382542046685110071972617983042792710751334934416734625638471740239448526505553990391455556252171148068070822034688256982476272828789103028357337561348031062386564592639826226991907907867663262065711211583064657196068308332845234453069760526489447660964579313751403402631804350039948870075255648713368066117879403155766713303467434937062409411685 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "-6.47517511943802511092443895822764655249956933803468100968988438919703954012411937101767149127664994025587814147684811967658721988638254204668511007197261798304279271075133493441673462563847174023944852650555399039145555625217114806807082203468825698247627282878910302835733756134803106238656459263982622699190790786766326206571121158306465719606830833284523445306976052648944766096457931375140340263180435003994887007525564871336806611787940315576671330346743493706240941168 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  if (check(convert(0xaaacccaaacccaaacULL, 0xccaaacccaaacccaaULL),
-            "-7.60485409436602033833759988758780020217551374528569429669911873757906182254327119546821375294569706862634123096006179131975601459939317923749460760611755945509159249553133915285667773529968161411385504730903997838176525168965533046787887965329768475303861077507591270048979509969375307518720976751563959372182344600137482199546034650881151618280482157637543315750344472366897650456745841889271161287700829333629145672371870175300825285400580026318002741921464859617583666254762 [...]
-      && check(convert(0xcccaaacccaaacccaULL, 0xaacccaaacccaaaccULL),
-               "-9965833187718142564038919371244528880400911264240719763322990704886435019238181462823338415353952436874830526964270445045957245891305882920209440893355853355213758922643053767150375473715384555384564609917951254069603870739549122332594610600777084466038134002807982723703367090044608379335368276188508415489863689777967712401011928894574027307241589899644172257148781505238731702567519166576191811900643182875678049360454665894916648664135478300253607136628778029068062099599 [...]
-      && check(convert(0x0000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-      && check(convert(0x8000000000000000ULL, 0x0000000000000001ULL),
-               "3.645199531882474602528405933619419816399050815693563343720980487028371688633397736809560708625827205197247347347203531101966985632622032169973508075589809005483822581177931678569225263805633559756621562565983410728940319793553527268591240799954172811015518538383046054768715422449295305859718268214262622067532355460844068079259753739688226338971902813354664211957293812000216762672292032277433639030845605529795518855299212255321171163487629138462930035513852750160313284578 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
-
-#elif SIZEOF_LONG_DOUBLE == 8
-
-double
-convert(uint32_t msp, uint32_t lsp) {
-  union {
-    long double value;
-    struct {
-#ifdef WORDS_BIGENDIAN
-      uint32_t msp;
-      uint32_t lsp;
-#else
-      uint32_t lsp;
-      uint32_t msp;
-#endif
-    } parts;
-  } u;
-
-  u.parts.msp = msp;
-  u.parts.lsp = lsp;
-  return u.value;
-}
-
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  if (check(convert(0xaaacccaaUL, 0xacccaaacUL),
-            "-4.018242396032647085467373664662028399901175154542925376476863248797653889888945947404163925979898721593782464256360719269163883854613473748830842329884157359816532025640075051481726120707111709993717456369512975427023957197464411926714771905463723621065863511603311053477227687835693359375e-103")
-      && check(convert(0xcccaaaccUL, 0xcaaacccaUL),
-               "-85705035845709846787631445265530356117787053916987832397725696")
-      && check(convert(0x00000000UL, 0x00000001UL),
-               "4.940656458412465441765687928682213723650598026143247644255856825006755072702087518652998363616359923797965646954457177309266567103559397963987747960107818781263007131903114045278458171678489821036887186360569987307230500063874091535649843873124733972731696151400317153853980741262385655911710266585566867681870395603106249319452715914924553293054565444011274801297099995419319894090804165633245247571478690147267801593552386115501348035264934720193790268107107491703332226844 [...]
-      && check(convert(0x80000000UL, 0x00000001UL),
-               "-4.94065645841246544176568792868221372365059802614324764425585682500675507270208751865299836361635992379796564695445717730926656710355939796398774796010781878126300713190311404527845817167848982103688718636056998730723050006387409153564984387312473397273169615140031715385398074126238565591171026658556686768187039560310624931945271591492455329305456544401127480129709999541931989409080416563324524757147869014726780159355238611550134803526493472019379026810710749170333222684 [...]
-    return 0;
-  else
-    return 1;
-}
-
-#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
-
-int
-main() {
-  return 1;
-}
-
-#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
-
-#else // SIZEOF_LONG_DOUBLE != 8
-
-int
-main() {
-  return 1;
-}
-
-#endif // SIZEOF_LONG_DOUBLE != 8
-]])],
-  AC_MSG_RESULT(yes)
-  ac_cxx_long_double_exact_output=1,
-  AC_MSG_RESULT(no)
-  ac_cxx_long_double_exact_output=0,
-  AC_MSG_RESULT([assuming not])
-  ac_cxx_long_double_exact_output=0)
-
-AC_DEFINE_UNQUOTED(PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT, $ac_cxx_long_double_exact_output,
-  [Not zero if C++ supports exact output for long doubles.])
-
-AC_LANG_POP(C++)
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-])
diff --git a/m4/ac_cxx_plain_char_is_signed.m4 b/m4/ac_cxx_plain_char_is_signed.m4
index 51c2667..2328975 100644
--- a/m4/ac_cxx_plain_char_is_signed.m4
+++ b/m4/ac_cxx_plain_char_is_signed.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the plain char type is signed.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_CXX_PLAIN_CHAR_IS_SIGNED],
 [
diff --git a/m4/ac_cxx_proper_long_double.m4 b/m4/ac_cxx_proper_long_double.m4
index 1c9b740..23a4b6d 100644
--- a/m4/ac_cxx_proper_long_double.m4
+++ b/m4/ac_cxx_proper_long_double.m4
@@ -1,7 +1,7 @@
 dnl A function to check whether the C++ compiler provides long double
 dnl numbers that have bigger range or precision than double.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -20,7 +20,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 dnl
 AC_DEFUN([AC_CXX_PROVIDES_PROPER_LONG_DOUBLE],
 [
diff --git a/m4/ac_cxx_remainder_bug.m4 b/m4/ac_cxx_remainder_bug.m4
deleted file mode 100644
index 6c39019..0000000
--- a/m4/ac_cxx_remainder_bug.m4
+++ /dev/null
@@ -1,71 +0,0 @@
-dnl A function to check whether the C++ compiler has the `remainder' bug.
-dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-dnl
-dnl This file is part of the Parma Polyhedra Library (PPL).
-dnl
-dnl The PPL is free software; you can redistribute it and/or modify it
-dnl under the terms of the GNU General Public License as published by the
-dnl Free Software Foundation; either version 3 of the License, or (at your
-dnl option) any later version.
-dnl
-dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
-dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-dnl for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-dnl
-dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
-
-AC_DEFUN([AC_CXX_HAS_REMAINDER_BUG],
-[
-
-ac_save_CPPFLAGS="$CPPFLAGS"
-ac_save_LIBS="$LIBS"
-AC_LANG_PUSH(C++)
-
-AC_MSG_CHECKING([if the compiler has the remainder bug])
-AC_RUN_IFELSE([AC_LANG_SOURCE([[
-#include <climits>
-
-int minus_one(int n) {
-  return (n+1)*(n-1)-n*n;
-}
-
-int p(int x, int y) {
-  int z = x % y;
-  return z;
-}
-
-int main(int argc, char** argv) {
-  if (p(INT_MIN, minus_one(argc)) != 0)
-    return 1;
-  else
-    return 0;
-}
-]])],
-  AC_MSG_RESULT(no)
-  ac_cv_cxx_has_remainder_bug=no,
-  AC_MSG_RESULT(yes)
-  ac_cv_cxx_has_remainder_bug=yes,
-  AC_MSG_RESULT([assuming yes])
-  ac_cv_cxx_has_remainder_bug=yes)
-
-if test x"$ac_cv_cxx_has_remainder_bug" = xyes
-then
-  value=1
-else
-  value=0
-fi
-AC_DEFINE_UNQUOTED(PPL_CXX_HAS_REMAINDER_BUG, $value,
-  [Not zero if the C++ compiler has the remainder bug.])
-
-AC_LANG_POP(C++)
-CPPFLAGS="$ac_save_CPPFLAGS"
-LIBS="$ac_save_LIBS"
-])
-
diff --git a/m4/ac_cxx_zero_length_arrays.m4 b/m4/ac_cxx_zero_length_arrays.m4
new file mode 100644
index 0000000..116d24d
--- /dev/null
+++ b/m4/ac_cxx_zero_length_arrays.m4
@@ -0,0 +1,142 @@
+dnl A function to check whether the C++ compiler supports zero-length arrays.
+dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+dnl
+dnl This file is part of the Parma Polyhedra Library (PPL).
+dnl
+dnl The PPL is free software; you can redistribute it and/or modify it
+dnl under the terms of the GNU General Public License as published by the
+dnl Free Software Foundation; either version 3 of the License, or (at your
+dnl option) any later version.
+dnl
+dnl The PPL is distributed in the hope that it will be useful, but WITHOUT
+dnl ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+dnl FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+dnl for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software Foundation,
+dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+dnl
+dnl For the most up-to-date information see the Parma Polyhedra Library
+dnl site: http://bugseng.com/products/ppl/ .
+
+AC_DEFUN([AC_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS],
+[
+ac_save_CPPFLAGS="$CPPFLAGS"
+ac_save_LIBS="$LIBS"
+AC_LANG_PUSH(C++)
+
+AC_MSG_CHECKING([whether the C++ compiler supports zero-length arrays])
+AC_RUN_IFELSE([AC_LANG_SOURCE([[
+#include <new>
+#include <cstddef>
+
+class A {
+private:
+  int i;
+  bool b;
+
+public:
+  A()
+    : i(0), b(false) {
+  }
+};
+
+class B {
+private:
+  int capacity;
+  A vec[];
+
+public:
+  void* operator new(size_t fixed_size, int c) {
+    return ::operator new(fixed_size + c*sizeof(B));
+  }
+
+  void operator delete(void* p) {
+    ::operator delete(p);
+  }
+
+  void operator delete(void* p, int) {
+    ::operator delete(p);
+  }
+
+  B(int s)
+    : capacity(s) {
+  }
+};
+
+int
+main() {
+  B* p = new (100) B(100);
+  delete p;
+  return 0;
+}
+]])],
+  AC_MSG_RESULT(yes)
+  ac_cxx_supports_zero_length_arrays=yes,
+  AC_MSG_RESULT(no)
+  ac_cxx_supports_zero_length_arrays=no,
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include <new>
+#include <cstddef>
+
+class A {
+private:
+  int i;
+  bool b;
+
+public:
+  A()
+    : i(0), b(false) {
+  }
+};
+
+class B {
+private:
+  int capacity;
+  A vec[0];
+
+public:
+  void* operator new(size_t fixed_size, int c) {
+    return ::operator new(fixed_size + c*sizeof(B));
+  }
+
+  void operator delete(void* p) {
+    ::operator delete(p);
+  }
+
+  void operator delete(void* p, int) {
+    ::operator delete(p);
+  }
+
+  B(int s)
+    : capacity(s) {
+  }
+};
+
+int
+main() {
+  B* p = new (100) B(100);
+  delete p;
+  return 0;
+}
+]])],
+    AC_MSG_RESULT(yes)
+    ac_cxx_supports_zero_length_arrays=yes,
+    AC_MSG_RESULT(no)
+    ac_cxx_supports_zero_length_arrays=no))
+
+if test x"$ac_cxx_supports_zero_length_arrays" = xyes
+then
+  value=1
+else
+  value=0
+fi
+AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS, $value,
+  [Not zero if the C++ compiler supports zero_length arrays.])
+
+AC_LANG_POP(C++)
+CPPFLAGS="$ac_save_CPPFLAGS"
+LIBS="$ac_save_LIBS"
+])
diff --git a/m4/ac_prog_jar.m4 b/m4/ac_prog_jar.m4
index c12320d..1cdbb02 100644
--- a/m4/ac_prog_jar.m4
+++ b/m4/ac_prog_jar.m4
@@ -36,7 +36,7 @@
 #
 #   Copyright (C) 2000      Egon Willighagen <e.willighagen at science.ru.nl>
 #   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-#   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+#   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 #   Copying and distribution of this file, with or without
 #   modification, are permitted in any medium without royalty provided
diff --git a/m4/ac_prog_java.m4 b/m4/ac_prog_java.m4
index 6f9ab81..cd405f3 100644
--- a/m4/ac_prog_java.m4
+++ b/m4/ac_prog_java.m4
@@ -23,7 +23,7 @@
 #
 #   Copyright (C) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
 #   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-#   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+#   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
diff --git a/m4/ac_prog_javac.m4 b/m4/ac_prog_javac.m4
index f850c14..9d2a584 100644
--- a/m4/ac_prog_javac.m4
+++ b/m4/ac_prog_javac.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the Java compiler supports enums.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_JAVAC_SUPPORTS_ENUMS],[
 AC_CACHE_CHECK([whether $JAVAC supports enums], ac_cv_javac_supports_enums, [
@@ -98,7 +98,7 @@ AC_PROVIDE([$0])dnl
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
 #   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-#   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+#   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
diff --git a/m4/ac_prog_javah.m4 b/m4/ac_prog_javah.m4
index 3540982..04241cf 100644
--- a/m4/ac_prog_javah.m4
+++ b/m4/ac_prog_javah.m4
@@ -18,7 +18,7 @@
 #
 #   Copyright (C) 2002      Luc Maisonobe <luc at spaceroots.org>
 #   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-#   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+#   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 #   Copying and distribution of this file, with or without
 #   modification, are permitted in any medium without royalty provided
@@ -27,6 +27,7 @@
 AC_DEFUN([AC_PROG_JAVAH],[
 AC_REQUIRE([AC_CANONICAL_HOST])dnl
 AC_REQUIRE([AC_PROG_CPP])dnl
+AC_LANG_PUSH(C++)dnl
 if test "x$JAVAPREFIX" = x; then
         AC_CHECK_PROGS(JAVAH,javah, no)
 else
@@ -34,7 +35,7 @@ else
 fi
 
 if test x"`eval 'echo $ac_cv_path_JAVAH'`" != xno ; then
-  AC_PREPROC_IFELSE([#include <jni.h> ] ,,[
+  AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <jni.h>]]) ] ,,[
     ac_save_CPPFLAGS="$CPPFLAGS"
 changequote(, )dnl
     ac_dir=`echo $ac_cv_path_JAVAH | sed 's,\(.*\)/[^/]*/[^/]*$,\1/include,'`
@@ -43,9 +44,11 @@ changequote([, ])dnl
     JNIFLAGS="-I$ac_dir -I$ac_dir/$ac_machdep"
     CPPFLAGS="$ac_save_CPPFLAGS $JNIFLAGS"
     AC_SUBST(JNIFLAGS)
-    AC_PREPROC_IFELSE([#include <jni.h>],
+    AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <jni.h>]])],
                CPPFLAGS="$ac_save_CPPFLAGS",
                AC_MSG_WARN([unable to include <jni.h>])
 	       JAVAH=no)
     CPPFLAGS="$ac_save_CPPFLAGS"])
-fi])
+fi
+AC_LANG_POP(C++)
+])
diff --git a/m4/ac_text_md5sum.m4 b/m4/ac_text_md5sum.m4
index c557c42..9156dc9 100644
--- a/m4/ac_text_md5sum.m4
+++ b/m4/ac_text_md5sum.m4
@@ -1,6 +1,6 @@
 dnl A function to set the command for computing the MD5 checksum of text files.
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -19,7 +19,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 AC_DEFUN([AC_TEXT_MD5SUM],
 [
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4
deleted file mode 100644
index e4863f2..0000000
--- a/m4/lib-ld.m4
+++ /dev/null
@@ -1,110 +0,0 @@
-# lib-ld.m4 serial 4 (gettext-0.18)
-dnl Copyright (C) 1996-2003, 2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL([acl_cv_path_LD],
-[if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT([$LD])
-else
-  AC_MSG_RESULT([no])
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4
deleted file mode 100644
index 2f8b7ff..0000000
--- a/m4/lib-link.m4
+++ /dev/null
@@ -1,764 +0,0 @@
-# lib-link.m4 serial 20 (gettext-0.18)
-dnl Copyright (C) 2001-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ([2.54])
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. The missing-message
-dnl defaults to 'no' and may contain additional hints for the user.
-dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
-dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./-], [___])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4],
-      [ac_cv_lib[]Name=yes],
-      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-    LIB[]NAME[]_PREFIX=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  popdef([NAME])
-  popdef([Name])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl   acl_libext,
-dnl   acl_shlibext,
-dnl   acl_hardcode_libdir_flag_spec,
-dnl   acl_hardcode_libdir_separator,
-dnl   acl_hardcode_direct,
-dnl   acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE([rpath],
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_FROMPACKAGE(name, package)
-dnl declares that libname comes from the given package. The configure file
-dnl will then not have a --with-libname-prefix option but a
-dnl --with-package-prefix option. Several libraries can come from the same
-dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
-dnl macro call that searches for libname.
-AC_DEFUN([AC_LIB_FROMPACKAGE],
-[
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  define([acl_frompackage_]NAME, [$2])
-  popdef([NAME])
-  pushdef([PACK],[$2])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  define([acl_libsinpackage_]PACKUP,
-    m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1])
-  popdef([PACKUP])
-  popdef([PACK])
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_ARG_WITH(P_A_C_K[-prefix],
-[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
-  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-        if test "$acl_libdirstem2" != "$acl_libdirstem" \
-           && ! test -d "$withval/$acl_libdirstem"; then
-          additional_libdir="$withval/$acl_libdirstem2"
-        fi
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  LIB[]NAME[]_PREFIX=
-  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
-  dnl computed. So it has to be reset here.
-  HAVE_LIB[]NAME=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-            dnl The same code as in the loop below:
-            dnl First look for a shared library.
-            if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-            dnl Then look for a static library.
-            if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
-                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$acl_hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-              */$acl_libdirstem2 | */$acl_libdirstem2/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
-                if test "$name" = '$1'; then
-                  LIB[]NAME[]_PREFIX="$basedir"
-                fi
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
-                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
-                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-  popdef([P_A_C_K])
-  popdef([PACKLIBS])
-  popdef([PACKUP])
-  popdef([PACK])
-  popdef([NAME])
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
-  AC_REQUIRE([AC_LIB_RPATH])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  $1=
-  if test "$enable_rpath" != no; then
-    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-      dnl Use an explicit option to hardcode directories into the resulting
-      dnl binary.
-      rpathdirs=
-      next=
-      for opt in $2; do
-        if test -n "$next"; then
-          dir="$next"
-          dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem" \
-             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-            rpathdirs="$rpathdirs $dir"
-          fi
-          next=
-        else
-          case $opt in
-            -L) next=yes ;;
-            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
-                 dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem" \
-                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
-                   rpathdirs="$rpathdirs $dir"
-                 fi
-                 next= ;;
-            *) next= ;;
-          esac
-        fi
-      done
-      if test "X$rpathdirs" != "X"; then
-        if test -n ""$3""; then
-          dnl libtool is used for linking. Use -R options.
-          for dir in $rpathdirs; do
-            $1="${$1}${$1:+ }-R$dir"
-          done
-        else
-          dnl The linker is used for linking directly.
-          if test -n "$acl_hardcode_libdir_separator"; then
-            dnl Weird platform: only the last -rpath option counts, the user
-            dnl must pass all path elements in one option.
-            alldirs=
-            for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
-            done
-            acl_save_libdir="$libdir"
-            libdir="$alldirs"
-            eval flag=\"$acl_hardcode_libdir_flag_spec\"
-            libdir="$acl_save_libdir"
-            $1="$flag"
-          else
-            dnl The -rpath options are cumulative.
-            for dir in $rpathdirs; do
-              acl_save_libdir="$libdir"
-              libdir="$dir"
-              eval flag=\"$acl_hardcode_libdir_flag_spec\"
-              libdir="$acl_save_libdir"
-              $1="${$1}${$1:+ }$flag"
-            done
-          fi
-        fi
-      fi
-    fi
-  fi
-  AC_SUBST([$1])
-])
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4
deleted file mode 100644
index 4b7ee33..0000000
--- a/m4/lib-prefix.m4
+++ /dev/null
@@ -1,224 +0,0 @@
-# lib-prefix.m4 serial 7 (gettext-0.18)
-dnl Copyright (C) 2001-2005, 2008-2009 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates
-dnl - a variable acl_libdirstem, containing the basename of the libdir, either
-dnl   "lib" or "lib64" or "lib/64",
-dnl - a variable acl_libdirstem2, as a secondary possible value for
-dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
-dnl   "lib/amd64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
-  dnl There is no formal standard regarding lib and lib64.
-  dnl On glibc systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
-  dnl the compiler's default mode by looking at the compiler's library search
-  dnl path. If at least one of its elements ends in /lib64 or points to a
-  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
-  dnl Otherwise we use the default, namely "lib".
-  dnl On Solaris systems, the current practice is that on a system supporting
-  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
-  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
-  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  acl_libdirstem=lib
-  acl_libdirstem2=
-  case "$host_os" in
-    solaris*)
-      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
-      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
-      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
-      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
-      dnl symlink is missing, so we set acl_libdirstem2 too.
-      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
-        [AC_EGREP_CPP([sixtyfour bits], [
-#ifdef _LP64
-sixtyfour bits
-#endif
-           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
-        ])
-      if test $gl_cv_solaris_64bit = yes; then
-        acl_libdirstem=lib/64
-        case "$host_cpu" in
-          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
-          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
-        esac
-      fi
-      ;;
-    *)
-      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-      if test -n "$searchpath"; then
-        acl_save_IFS="${IFS= 	}"; IFS=":"
-        for searchdir in $searchpath; do
-          if test -d "$searchdir"; then
-            case "$searchdir" in
-              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-              */../ | */.. )
-                # Better ignore directories of this form. They are misleading.
-                ;;
-              *) searchdir=`cd "$searchdir" && pwd`
-                 case "$searchdir" in
-                   */lib64 ) acl_libdirstem=lib64 ;;
-                 esac ;;
-            esac
-          fi
-        done
-        IFS="$acl_save_IFS"
-      fi
-      ;;
-  esac
-  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
-])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 22924a8..44e0ecf 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -1,8 +1,8 @@
 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
 #
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 # This file is free software; the Free Software Foundation gives
@@ -11,8 +11,8 @@
 
 m4_define([_LT_COPYING], [dnl
 #   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009, 2010 Free Software Foundation,
-#                 Inc.
+#                 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+#                 Foundation, Inc.
 #   Written by Gordon Matzigkeit, 1996
 #
 #   This file is part of GNU Libtool.
@@ -146,6 +146,8 @@ AC_REQUIRE([AC_CANONICAL_BUILD])dnl
 AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
 AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
 
+_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
+dnl
 _LT_DECL([], [host_alias], [0], [The host system])dnl
 _LT_DECL([], [host], [0])dnl
 _LT_DECL([], [host_os], [0])dnl
@@ -168,10 +170,13 @@ _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
 dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
 m4_require([_LT_CMD_RELOAD])dnl
 m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
 m4_require([_LT_CMD_OLD_ARCHIVE])dnl
 m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_WITH_SYSROOT])dnl
 
 _LT_CONFIG_LIBTOOL_INIT([
 # See if we are running on zsh, and set the options which allow our
@@ -634,7 +639,7 @@ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
 m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
 configured by $[0], generated by m4_PACKAGE_STRING.
 
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2011 Free Software Foundation, Inc.
 This config.lt script is free software; the Free Software Foundation
 gives unlimited permision to copy, distribute and modify it."
 
@@ -748,15 +753,12 @@ _LT_EOF
   # if finds mixed CR/LF and LF-only lines.  Since sed operates in
   # text mode, it properly converts lines to CR/LF.  This bash problem
   # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  _LT_PROG_XSI_SHELLFNS
+  sed '$q' "$ltmain" >> "$cfgfile" \
+     || (rm -f "$cfgfile"; exit 1)
 
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
+  _LT_PROG_REPLACE_SHELLFNS
 
-  mv -f "$cfgfile" "$ofile" ||
+   mv -f "$cfgfile" "$ofile" ||
     (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
   chmod +x "$ofile"
 ],
@@ -801,6 +803,7 @@ AC_DEFUN([LT_LANG],
 m4_case([$1],
   [C],			[_LT_LANG(C)],
   [C++],		[_LT_LANG(CXX)],
+  [Go],			[_LT_LANG(GO)],
   [Java],		[_LT_LANG(GCJ)],
   [Fortran 77],		[_LT_LANG(F77)],
   [Fortran],		[_LT_LANG(FC)],
@@ -822,6 +825,31 @@ m4_defun([_LT_LANG],
 ])# _LT_LANG
 
 
+m4_ifndef([AC_PROG_GO], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+m4_defun([AC_PROG_GO],
+[AC_LANG_PUSH(Go)dnl
+AC_ARG_VAR([GOC],     [Go compiler command])dnl
+AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
+_AC_ARG_VAR_LDFLAGS()dnl
+AC_CHECK_TOOL(GOC, gccgo)
+if test -z "$GOC"; then
+  if test -n "$ac_tool_prefix"; then
+    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
+  fi
+fi
+if test -z "$GOC"; then
+  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
+fi
+])#m4_defun
+])#m4_ifndef
+
+
 # _LT_LANG_DEFAULT_CONFIG
 # -----------------------
 m4_defun([_LT_LANG_DEFAULT_CONFIG],
@@ -852,6 +880,10 @@ AC_PROVIDE_IFELSE([AC_PROG_GCJ],
        m4_ifdef([LT_PROG_GCJ],
 	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
 
+AC_PROVIDE_IFELSE([AC_PROG_GO],
+  [LT_LANG(GO)],
+  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
+
 AC_PROVIDE_IFELSE([LT_PROG_RC],
   [LT_LANG(RC)],
   [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
@@ -954,7 +986,13 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
 	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
         _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+	# If there is a non-empty error log, and "single_module"
+	# appears in it, assume the flag caused a linker warning
+        if test -s conftest.err && $GREP single_module conftest.err; then
+	  cat conftest.err >&AS_MESSAGE_LOG_FD
+	# Otherwise, if the output was created with a 0 exit code from
+	# the compiler, it worked.
+	elif test -f libconftest.dylib && test $_lt_result -eq 0; then
 	  lt_cv_apple_cc_single_mod=yes
 	else
 	  cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -962,6 +1000,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	rm -rf libconftest.dylib*
 	rm -f conftest.*
       fi])
+
     AC_CACHE_CHECK([for -exported_symbols_list linker flag],
       [lt_cv_ld_exported_symbols_list],
       [lt_cv_ld_exported_symbols_list=no
@@ -973,6 +1012,7 @@ m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
 	[lt_cv_ld_exported_symbols_list=no])
 	LDFLAGS="$save_LDFLAGS"
     ])
+
     AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
       [lt_cv_ld_force_load=no
       cat > conftest.c << _LT_EOF
@@ -990,7 +1030,9 @@ _LT_EOF
       echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
       $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
       _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
+      if test -s conftest.err && $GREP force_load conftest.err; then
+	cat conftest.err >&AS_MESSAGE_LOG_FD
+      elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then
 	lt_cv_ld_force_load=yes
       else
 	cat conftest.err >&AS_MESSAGE_LOG_FD
@@ -1035,8 +1077,8 @@ _LT_EOF
 ])
 
 
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
+# _LT_DARWIN_LINKER_FEATURES([TAG])
+# ---------------------------------
 # Checks for linker and compiler features on darwin
 m4_defun([_LT_DARWIN_LINKER_FEATURES],
 [
@@ -1047,6 +1089,8 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
   if test "$lt_cv_ld_force_load" = "yes"; then
     _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
+    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
+                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
   else
     _LT_TAGVAR(whole_archive_flag_spec, $1)=''
   fi
@@ -1073,30 +1117,41 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
   fi
 ])
 
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
+# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
+# ----------------------------------
 # Links a minimal program and checks the executable
 # for the system default hardcoded library path. In most cases,
 # this is /usr/lib:/lib, but when the MPI compilers are used
 # the location of the communication and MPI libs are included too.
 # If we don't find anything, use the default library path according
 # to the aix ld manual.
+# Store the results from the different compilers for each TAGNAME.
+# Allow to override them for all tags through lt_cv_aix_libpath.
 m4_defun([_LT_SYS_MODULE_PATH_AIX],
 [m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+if test "${lt_cv_aix_libpath+set}" = set; then
+  aix_libpath=$lt_cv_aix_libpath
+else
+  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
+  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
+  lt_aix_libpath_sed='[
+      /Import File Strings/,/^$/ {
+	  /^0/ {
+	      s/^0  *\([^ ]*\) *$/\1/
+	      p
+	  }
+      }]'
+  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  # Check for a 64-bit object if we didn't find anything.
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+  fi],[])
+  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
+    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib"
+  fi
+  ])
+  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
+fi
 ])# _LT_SYS_MODULE_PATH_AIX
 
 
@@ -1121,7 +1176,7 @@ ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
 
 AC_MSG_CHECKING([how to print strings])
 # Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
+if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
    test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
   ECHO='print -r --'
 elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
@@ -1165,6 +1220,39 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
 ])# _LT_PROG_ECHO_BACKSLASH
 
 
+# _LT_WITH_SYSROOT
+# ----------------
+AC_DEFUN([_LT_WITH_SYSROOT],
+[AC_MSG_CHECKING([for sysroot])
+AC_ARG_WITH([sysroot],
+[  --with-sysroot[=DIR] Search for dependent libraries within DIR
+                        (or the compiler's sysroot if not specified).],
+[], [with_sysroot=no])
+
+dnl lt_sysroot will always be passed unquoted.  We quote it here
+dnl in case the user passed a directory name.
+lt_sysroot=
+case ${with_sysroot} in #(
+ yes)
+   if test "$GCC" = yes; then
+     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+   fi
+   ;; #(
+ /*)
+   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
+   ;; #(
+ no|'')
+   ;; #(
+ *)
+   AC_MSG_RESULT([${with_sysroot}])
+   AC_MSG_ERROR([The sysroot must be an absolute path.])
+   ;;
+esac
+
+ AC_MSG_RESULT([${lt_sysroot:-no}])
+_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
+[dependent libraries, and in which our libraries should be installed.])])
+
 # _LT_ENABLE_LOCK
 # ---------------
 m4_defun([_LT_ENABLE_LOCK],
@@ -1286,14 +1374,27 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
     CFLAGS="$SAVE_CFLAGS"
   fi
   ;;
-sparc*-*solaris*)
+*-*solaris*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
   if AC_TRY_EVAL(ac_compile); then
     case `/usr/bin/file conftest.o` in
     *64-bit*)
       case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      yes*)
+        case $host in
+        i?86-*-solaris*)
+          LD="${LD-ld} -m elf_x86_64"
+          ;;
+        sparc*-*-solaris*)
+          LD="${LD-ld} -m elf64_sparc"
+          ;;
+        esac
+        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
+        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
+          LD="${LD-ld}_sol2"
+        fi
+        ;;
       *)
 	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
 	  LD="${LD-ld} -64"
@@ -1311,14 +1412,47 @@ need_locks="$enable_libtool_lock"
 ])# _LT_ENABLE_LOCK
 
 
+# _LT_PROG_AR
+# -----------
+m4_defun([_LT_PROG_AR],
+[AC_CHECK_TOOLS(AR, [ar], false)
+: ${AR=ar}
+: ${AR_FLAGS=cru}
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
+     [echo conftest.$ac_objext > conftest.lst
+      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
+      AC_TRY_EVAL([lt_ar_try])
+      if test "$ac_status" -eq 0; then
+	# Ensure the archiver fails upon bogus file names.
+	rm -f conftest.$ac_objext libconftest.a
+	AC_TRY_EVAL([lt_ar_try])
+	if test "$ac_status" -ne 0; then
+          lt_cv_ar_at_file=@
+        fi
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
 # _LT_CMD_OLD_ARCHIVE
 # -------------------
 m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
+[_LT_PROG_AR
 
 AC_CHECK_TOOL(STRIP, strip, :)
 test -z "$STRIP" && STRIP=:
@@ -1337,13 +1471,13 @@ old_postuninstall_cmds=
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
     ;;
   *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
 fi
 
 case $host_os in
@@ -1523,6 +1657,11 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
     lt_cv_sys_max_cmd_len=196608
     ;;
 
+  os2*)
+    # The test takes a long time on OS/2.
+    lt_cv_sys_max_cmd_len=8192
+    ;;
+
   osf*)
     # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
     # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
@@ -1562,7 +1701,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
       # If test is not a shell built-in, we'll probably end up computing a
       # maximum length that is only half of the actual maximum length, but
       # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
+      while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \
 	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
 	      test $i != 17 # 1/2 MB should be enough
       do
@@ -1658,10 +1797,10 @@ else
 /* When -fvisbility=hidden is used, assume the code has been annotated
    correspondingly for the symbols needed.  */
 #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
+int fnord () __attribute__((visibility("default")));
 #endif
 
-void fnord () { int i=42; }
+int fnord () { return 42; }
 int main ()
 {
   void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
@@ -2108,7 +2247,7 @@ need_version=unknown
 
 case $host_os in
 aix3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
   shlibpath_var=LIBPATH
 
@@ -2117,7 +2256,7 @@ aix3*)
   ;;
 
 aix[[4-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   hardcode_into_libs=yes
@@ -2182,7 +2321,7 @@ beos*)
   ;;
 
 bsdi[[45]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
@@ -2201,8 +2340,9 @@ cygwin* | mingw* | pw32* | cegcc*)
   need_version=no
   need_lib_prefix=no
 
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+  case $GCC,$cc_basename in
+  yes,*)
+    # gcc
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
     postinstall_cmds='base_file=`basename \${file}`~
@@ -2235,13 +2375,71 @@ m4_if([$1], [],[
       library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
       ;;
     esac
+    dynamic_linker='Win32 ld.exe'
+    ;;
+
+  *,cl*)
+    # Native MSVC
+    libname_spec='$name'
+    soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+    library_names_spec='${libname}.dll.lib'
+
+    case $build_os in
+    mingw*)
+      sys_lib_search_path_spec=
+      lt_save_ifs=$IFS
+      IFS=';'
+      for lt_path in $LIB
+      do
+        IFS=$lt_save_ifs
+        # Let DOS variable expansion print the short 8.3 style file name.
+        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
+        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
+      done
+      IFS=$lt_save_ifs
+      # Convert to MSYS style.
+      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
+      ;;
+    cygwin*)
+      # Convert to unix form, then to dos form, then back to unix form
+      # but this time dos style (no spaces!) so that the unix form looks
+      # like /cygdrive/c/PROGRA~1:/cygdr...
+      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
+      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
+      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      ;;
+    *)
+      sys_lib_search_path_spec="$LIB"
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      # FIXME: find the short name or the path components, as spaces are
+      # common. (e.g. "Program Files" -> "PROGRA~1")
+      ;;
+    esac
+
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+    dynamic_linker='Win32 link.exe'
     ;;
 
   *)
+    # Assume MSVC wrapper
     library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    dynamic_linker='Win32 ld.exe'
     ;;
   esac
-  dynamic_linker='Win32 ld.exe'
   # FIXME: first we should search . and the directory the executable is in
   shlibpath_var=PATH
   ;;
@@ -2262,7 +2460,7 @@ m4_if([$1], [],[
   ;;
 
 dgux*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
@@ -2270,10 +2468,6 @@ dgux*)
   shlibpath_var=LD_LIBRARY_PATH
   ;;
 
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
 freebsd* | dragonfly*)
   # DragonFly does not have aout.  When/if they implement a new
   # versioning mechanism, adjust this.
@@ -2281,7 +2475,7 @@ freebsd* | dragonfly*)
     objformat=`/usr/bin/objformat`
   else
     case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
+    freebsd[[23]].*) objformat=aout ;;
     *) objformat=elf ;;
     esac
   fi
@@ -2299,7 +2493,7 @@ freebsd* | dragonfly*)
   esac
   shlibpath_var=LD_LIBRARY_PATH
   case $host_os in
-  freebsd2*)
+  freebsd2.*)
     shlibpath_overrides_runpath=yes
     ;;
   freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -2319,17 +2513,18 @@ freebsd* | dragonfly*)
   ;;
 
 gnu*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
   hardcode_into_libs=yes
   ;;
 
 haiku*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   dynamic_linker="$host_os runtime_loader"
@@ -2390,7 +2585,7 @@ hpux9* | hpux10* | hpux11*)
   ;;
 
 interix[[3-9]]*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
@@ -2406,7 +2601,7 @@ irix5* | irix6* | nonstopux*)
     nonstopux*) version_type=nonstopux ;;
     *)
 	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
+		version_type=linux # correct to gnu/linux during the next big refactor
 	else
 		version_type=irix
 	fi ;;
@@ -2443,9 +2638,9 @@ linux*oldld* | linux*aout* | linux*coff*)
   dynamic_linker=no
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2508,7 +2703,7 @@ netbsd*)
   ;;
 
 newsos6)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   shlibpath_var=LD_LIBRARY_PATH
   shlibpath_overrides_runpath=yes
@@ -2577,7 +2772,7 @@ rdos*)
   ;;
 
 solaris*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2602,7 +2797,7 @@ sunos4*)
   ;;
 
 sysv4 | sysv4.3*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2626,7 +2821,7 @@ sysv4 | sysv4.3*)
 
 sysv4*MP*)
   if test -d /usr/nec ;then
-    version_type=linux
+    version_type=linux # correct to gnu/linux during the next big refactor
     library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
     soname_spec='$libname${shared_ext}.$major'
     shlibpath_var=LD_LIBRARY_PATH
@@ -2657,7 +2852,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 
 tpf*)
   # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   need_lib_prefix=no
   need_version=no
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
@@ -2667,7 +2862,7 @@ tpf*)
   ;;
 
 uts4*)
-  version_type=linux
+  version_type=linux # correct to gnu/linux during the next big refactor
   library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
   soname_spec='${libname}${release}${shared_ext}$major'
   shlibpath_var=LD_LIBRARY_PATH
@@ -2945,6 +3140,11 @@ case $reload_flag in
 esac
 reload_cmds='$LD$reload_flag -o $output$reload_objs'
 case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    if test "$GCC" != yes; then
+      reload_cmds=false
+    fi
+    ;;
   darwin*)
     if test "$GCC" = yes; then
       reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
@@ -3084,7 +3284,7 @@ irix5* | irix6* | nonstopux*)
   lt_cv_deplibs_check_method=pass_all
   ;;
 
-# This must be Linux ELF.
+# This must be glibc/ELF.
 linux* | k*bsd*-gnu | kopensolaris*-gnu)
   lt_cv_deplibs_check_method=pass_all
   ;;
@@ -3163,6 +3363,21 @@ tpf*)
   ;;
 esac
 ])
+
+file_magic_glob=
+want_nocaseglob=no
+if test "$build" = "$host"; then
+  case $host_os in
+  mingw* | pw32*)
+    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
+      want_nocaseglob=yes
+    else
+      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
+    fi
+    ;;
+  esac
+fi
+
 file_magic_cmd=$lt_cv_file_magic_cmd
 deplibs_check_method=$lt_cv_deplibs_check_method
 test -z "$deplibs_check_method" && deplibs_check_method=unknown
@@ -3170,7 +3385,11 @@ test -z "$deplibs_check_method" && deplibs_check_method=unknown
 _LT_DECL([], [deplibs_check_method], [1],
     [Method to check whether dependent libraries are shared objects])
 _LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method == "file_magic"])
+    [Command to use when deplibs_check_method = "file_magic"])
+_LT_DECL([], [file_magic_glob], [1],
+    [How to find potential files when deplibs_check_method = "file_magic"])
+_LT_DECL([], [want_nocaseglob], [1],
+    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
 ])# _LT_CHECK_MAGIC_METHOD
 
 
@@ -3273,6 +3492,67 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([AM_PROG_NM], [])
 dnl AC_DEFUN([AC_PROG_NM], [])
 
+# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+# --------------------------------
+# how to determine the name of the shared library
+# associated with a specific link library.
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+m4_require([_LT_DECL_DLLTOOL])
+AC_CACHE_CHECK([how to associate runtime and link libraries],
+lt_cv_sharedlib_from_linklib_cmd,
+[lt_cv_sharedlib_from_linklib_cmd='unknown'
+
+case $host_os in
+cygwin* | mingw* | pw32* | cegcc*)
+  # two different shell functions defined in ltmain.sh
+  # decide which to use based on capabilities of $DLLTOOL
+  case `$DLLTOOL --help 2>&1` in
+  *--identify-strict*)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
+    ;;
+  *)
+    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
+    ;;
+  esac
+  ;;
+*)
+  # fallback: assume linklib IS sharedlib
+  lt_cv_sharedlib_from_linklib_cmd="$ECHO"
+  ;;
+esac
+])
+sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
+test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
+
+_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
+    [Command to associate shared and link libraries])
+])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
+
+
+# _LT_PATH_MANIFEST_TOOL
+# ----------------------
+# locate the manifest tool
+m4_defun([_LT_PATH_MANIFEST_TOOL],
+[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
+test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
+  [lt_cv_path_mainfest_tool=no
+  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
+  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
+    lt_cv_path_mainfest_tool=yes
+  fi
+  rm -f conftest*])
+if test "x$lt_cv_path_mainfest_tool" != xyes; then
+  MANIFEST_TOOL=:
+fi
+_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
+])# _LT_PATH_MANIFEST_TOOL
+
 
 # LT_LIB_M
 # --------
@@ -3399,8 +3679,8 @@ esac
 lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
 
 # Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
 
 # Handle CRLF in mingw tool chain
 opt_cr=
@@ -3424,6 +3704,7 @@ for ac_symprfx in "" "_"; do
     # which start with @ or ?.
     lt_cv_sys_global_symbol_pipe="$AWK ['"\
 "     {last_section=section; section=\$ 3};"\
+"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
 "     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
 "     \$ 0!~/External *\|/{next};"\
 "     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
@@ -3436,6 +3717,7 @@ for ac_symprfx in "" "_"; do
   else
     lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
   fi
+  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
 
   # Check to see that the pipe works correctly.
   pipe_works=no
@@ -3469,6 +3751,18 @@ _LT_EOF
       if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
 	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
 	  cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
+#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+   relocations are performed -- see ld's documentation on pseudo-relocs.  */
+# define LT@&t at _DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data.  */
+# define LT@&t at _DLSYM_CONST
+#else
+# define LT@&t at _DLSYM_CONST const
+#endif
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -3480,7 +3774,7 @@ _LT_EOF
 	  cat <<_LT_EOF >> conftest.$ac_ext
 
 /* The mapping between symbol names and symbols.  */
-const struct {
+LT@&t at _DLSYM_CONST struct {
   const char *name;
   void       *address;
 }
@@ -3506,15 +3800,15 @@ static const void *lt_preloaded_setup() {
 _LT_EOF
 	  # Now try linking the two files.
 	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
+	  lt_globsym_save_LIBS=$LIBS
+	  lt_globsym_save_CFLAGS=$CFLAGS
 	  LIBS="conftstm.$ac_objext"
 	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
 	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
 	    pipe_works=yes
 	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
+	  LIBS=$lt_globsym_save_LIBS
+	  CFLAGS=$lt_globsym_save_CFLAGS
 	else
 	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
 	fi
@@ -3547,6 +3841,13 @@ else
   AC_MSG_RESULT(ok)
 fi
 
+# Response file support.
+if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+  nm_file_list_spec='@'
+elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
+  nm_file_list_spec='@'
+fi
+
 _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
     [Take the output of nm and produce a listing of raw symbols and C names])
 _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
@@ -3557,6 +3858,8 @@ _LT_DECL([global_symbol_to_c_name_address],
 _LT_DECL([global_symbol_to_c_name_address_lib_prefix],
     [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
     [Transform the output of nm in a C name address pair when lib prefix is needed])
+_LT_DECL([], [nm_file_list_spec], [1],
+    [Specify filename containing input files for $NM])
 ]) # _LT_CMD_GLOBAL_SYMBOLS
 
 
@@ -3568,7 +3871,6 @@ _LT_TAGVAR(lt_prog_compiler_wl, $1)=
 _LT_TAGVAR(lt_prog_compiler_pic, $1)=
 _LT_TAGVAR(lt_prog_compiler_static, $1)=
 
-AC_MSG_CHECKING([for $compiler option to produce PIC])
 m4_if([$1], [CXX], [
   # C++ specific cases for pic, static, wl, etc.
   if test "$GXX" = yes; then
@@ -3673,6 +3975,12 @@ m4_if([$1], [CXX], [
 	  ;;
 	esac
 	;;
+      mingw* | cygwin* | os2* | pw32* | cegcc*)
+	# This hack is so that the source file can tell whether it is being
+	# built for inclusion in a dll (and should export symbols for example).
+	m4_if([$1], [GCJ], [],
+	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+	;;
       dgux*)
 	case $cc_basename in
 	  ec++*)
@@ -3981,7 +4289,9 @@ m4_if([$1], [CXX], [
     case $cc_basename in
     nvcc*) # Cuda Compiler Driver 2.2
       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Xcompiler -fPIC'
+      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
+      fi
       ;;
     esac
   else
@@ -4047,6 +4357,12 @@ m4_if([$1], [CXX], [
 	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
 	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
 	;;
+      nagfor*)
+	# NAG Fortran compiler
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	;;
       pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
         # Portland Group compilers (*not* the Pentium gcc compiler,
 	# which looks to be a dead project)
@@ -4067,18 +4383,33 @@ m4_if([$1], [CXX], [
 	;;
       *)
 	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ F* | *Sun*Fortran*)
+	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
 	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
 	  ;;
+	*Sun\ F* | *Sun*Fortran*)
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	  ;;
 	*Sun\ C*)
 	  # Sun C 5.9
 	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
 	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
 	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
 	  ;;
+        *Intel*\ [[CF]]*Compiler*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	  ;;
+	*Portland\ Group*)
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  ;;
 	esac
 	;;
       esac
@@ -4166,9 +4497,11 @@ case $host_os in
     _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
     ;;
 esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
+
+AC_CACHE_CHECK([for $compiler option to produce PIC],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
 
 #
 # Check to make sure the PIC flag actually works.
@@ -4187,6 +4520,8 @@ fi
 _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
 	[Additional compiler flags for building library objects])
 
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
 #
 # Check to make sure the static flag actually works.
 #
@@ -4207,6 +4542,7 @@ _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
 m4_defun([_LT_LINKER_SHLIBS],
 [AC_REQUIRE([LT_PATH_LD])dnl
 AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
 m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
 m4_require([_LT_DECL_SED])dnl
@@ -4215,6 +4551,7 @@ m4_require([_LT_TAG_COMPILER])dnl
 AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
 m4_if([$1], [CXX], [
   _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
   case $host_os in
   aix[[4-9]]*)
     # If we're using GNU nm, then we don't want the "-C" option.
@@ -4229,15 +4566,22 @@ m4_if([$1], [CXX], [
     ;;
   pw32*)
     _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
+    ;;
   cygwin* | mingw* | cegcc*)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    case $cc_basename in
+    cl*)
+      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+      ;;
+    *)
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+      ;;
+    esac
+    ;;
   *)
     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
+    ;;
   esac
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
 ], [
   runpath_var=
   _LT_TAGVAR(allow_undefined_flag, $1)=
@@ -4252,7 +4596,6 @@ m4_if([$1], [CXX], [
   _LT_TAGVAR(hardcode_direct, $1)=no
   _LT_TAGVAR(hardcode_direct_absolute, $1)=no
   _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
   _LT_TAGVAR(hardcode_libdir_separator, $1)=
   _LT_TAGVAR(hardcode_minus_L, $1)=no
   _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -4405,7 +4748,8 @@ _LT_EOF
       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_TAGVAR(always_export_symbols, $1)=no
       _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
 
       if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -4453,7 +4797,7 @@ _LT_EOF
       if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
 	 && test "$tmp_diet" = no
       then
-	tmp_addflag=
+	tmp_addflag=' $pic_flag'
 	tmp_sharedflag='-shared'
 	case $cc_basename,$host_cpu in
         pgcc*)				# Portland Group C compiler
@@ -4502,8 +4846,7 @@ _LT_EOF
 	xlf* | bgf* | bgxlf* | mpixlf*)
 	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
 	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
 	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
 	  if test "x$supports_anon_versioning" = xyes; then
 	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
@@ -4523,8 +4866,8 @@ _LT_EOF
 	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
 	wlarc=
       else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       fi
       ;;
 
@@ -4542,8 +4885,8 @@ _LT_EOF
 
 _LT_EOF
       elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4589,8 +4932,8 @@ _LT_EOF
 
     *)
       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
       else
 	_LT_TAGVAR(ld_shlibs, $1)=no
       fi
@@ -4720,7 +5063,7 @@ _LT_EOF
 	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
         # Determine the default libpath from the value encoded in an
         # empty executable.
-        _LT_SYS_MODULE_PATH_AIX
+        _LT_SYS_MODULE_PATH_AIX([$1])
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
       else
@@ -4731,7 +5074,7 @@ _LT_EOF
 	else
 	 # Determine the default libpath from the value encoded in an
 	 # empty executable.
-	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_SYS_MODULE_PATH_AIX([$1])
 	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 	  # Warning - without using the other run time loading flags,
 	  # -berok will link without error, but may produce a broken library.
@@ -4775,20 +5118,64 @@ _LT_EOF
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      case $cc_basename in
+      cl*)
+	# Native MSVC
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	_LT_TAGVAR(always_export_symbols, $1)=yes
+	_LT_TAGVAR(file_list_spec, $1)='@'
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	    sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	  else
+	    sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	  fi~
+	  $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	  linknames='
+	# The linker will not automatically build a static lib if we build a DLL.
+	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
+	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+	# Don't use ranlib
+	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	  lt_tool_outputfile="@TOOL_OUTPUT@"~
+	  case $lt_outputfile in
+	    *.exe|*.EXE) ;;
+	    *)
+	      lt_outputfile="$lt_outputfile.exe"
+	      lt_tool_outputfile="$lt_tool_outputfile.exe"
+	      ;;
+	  esac~
+	  if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	    $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	    $RM "$lt_outputfile.manifest";
+	  fi'
+	;;
+      *)
+	# Assume MSVC wrapper
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Tell ltmain to make .lib files, not .a files.
+	libext=lib
+	# Tell ltmain to make .dll files, not .so files.
+	shrext_cmds=".dll"
+	# FIXME: Setting linknames here is a bad hack.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
+	# The linker will automatically build a .lib file if we build a DLL.
+	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	# FIXME: Should let the user specify the lib program.
+	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	;;
+      esac
       ;;
 
     darwin* | rhapsody*)
@@ -4801,10 +5188,6 @@ _LT_EOF
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
       ;;
 
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
     # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
     # support.  Future versions do this automatically, but an explicit c++rt0.o
     # does not break anything, and helps significantly (at the cost of a little
@@ -4817,7 +5200,7 @@ _LT_EOF
       ;;
 
     # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
+    freebsd2.*)
       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -4826,7 +5209,7 @@ _LT_EOF
 
     # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
     freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_TAGVAR(hardcode_direct, $1)=yes
       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4834,7 +5217,7 @@ _LT_EOF
 
     hpux9*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
@@ -4850,13 +5233,12 @@ _LT_EOF
 
     hpux10*)
       if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
       else
 	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
       fi
       if test "$with_gnu_ld" = no; then
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
 	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
 	_LT_TAGVAR(hardcode_direct, $1)=yes
 	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
@@ -4874,10 +5256,10 @@ _LT_EOF
 	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
 	  ;;
 	esac
       else
@@ -4924,16 +5306,31 @@ _LT_EOF
 
     irix5* | irix6* | nonstopux*)
       if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	# Try to use the -exported_symbol ld option, if it does not
 	# work, assume that -exports_file does not work either and
 	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-        )
-        LDFLAGS="$save_LDFLAGS"
+	# This should be the same for all languages, so no per-tag cache variable.
+	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
+	  [lt_cv_irix_exported_symbol],
+	  [save_LDFLAGS="$LDFLAGS"
+	   LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+	   AC_LINK_IFELSE(
+	     [AC_LANG_SOURCE(
+	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
+			      [C++], [[int foo (void) { return 0; }]],
+			      [Fortran 77], [[
+      subroutine foo
+      end]],
+			      [Fortran], [[
+      subroutine foo
+      end]])])],
+	      [lt_cv_irix_exported_symbol=yes],
+	      [lt_cv_irix_exported_symbol=no])
+           LDFLAGS="$save_LDFLAGS"])
+	if test "$lt_cv_irix_exported_symbol" = yes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+	fi
       else
 	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
@@ -5018,7 +5415,7 @@ _LT_EOF
     osf4* | osf5*)	# as osf3* with the addition of -msym flag
       if test "$GCC" = yes; then
 	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
       else
 	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
@@ -5037,9 +5434,9 @@ _LT_EOF
       _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
       if test "$GCC" = yes; then
 	wlarc='${wl}'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
 	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+	  $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
       else
 	case `$CC -V 2>&1` in
 	*"Compilers 5.0"*)
@@ -5283,9 +5680,6 @@ _LT_TAGDECL([], [no_undefined_flag], [1],
 _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
     [Flag to hardcode $libdir into a binary during linking.
     This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
 _LT_TAGDECL([], [hardcode_libdir_separator], [1],
     [Whether we need a single "-rpath" flag with a separated argument])
 _LT_TAGDECL([], [hardcode_direct], [0],
@@ -5311,8 +5705,6 @@ _LT_TAGDECL([], [inherit_rpath], [0],
     to runtime path list])
 _LT_TAGDECL([], [link_all_deplibs], [0],
     [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
-    [Fix the shell variable $srcfile for the compiler])
 _LT_TAGDECL([], [always_export_symbols], [0],
     [Set to "yes" if exported symbols are required])
 _LT_TAGDECL([], [export_symbols_cmds], [2],
@@ -5323,6 +5715,8 @@ _LT_TAGDECL([], [include_expsyms], [1],
     [Symbols that must always be exported])
 _LT_TAGDECL([], [prelink_cmds], [2],
     [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [postlink_cmds], [2],
+    [Commands necessary for finishing linking programs])
 _LT_TAGDECL([], [file_list_spec], [1],
     [Specify filename containing input files])
 dnl FIXME: Not yet implemented
@@ -5424,6 +5818,7 @@ CC="$lt_save_CC"
 m4_defun([_LT_LANG_CXX_CONFIG],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
 m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_PATH_MANIFEST_TOOL])dnl
 if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
     ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
     (test "X$CXX" != "Xg++"))) ; then
@@ -5442,7 +5837,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -5485,6 +5879,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 
   # Allow CC to be a program name with arguments.
   lt_save_CC=$CC
+  lt_save_CFLAGS=$CFLAGS
   lt_save_LD=$LD
   lt_save_GCC=$GCC
   GCC=$GXX
@@ -5502,6 +5897,7 @@ if test "$_lt_caught_CXX_error" != yes; then
   fi
   test -z "${LDCXX+set}" || LD=$LDCXX
   CC=${CXX-"c++"}
+  CFLAGS=$CXXFLAGS
   compiler=$CC
   _LT_TAGVAR(compiler, $1)=$CC
   _LT_CC_BASENAME([$compiler])
@@ -5523,8 +5919,8 @@ if test "$_lt_caught_CXX_error" != yes; then
       # Check if GNU C++ uses GNU ld as the underlying linker, since the
       # archiving commands below assume that GNU ld is being used.
       if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
 
         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5665,7 +6061,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
           # Determine the default libpath from the value encoded in an empty
           # executable.
-          _LT_SYS_MODULE_PATH_AIX
+          _LT_SYS_MODULE_PATH_AIX([$1])
           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 
           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
@@ -5677,7 +6073,7 @@ if test "$_lt_caught_CXX_error" != yes; then
           else
 	    # Determine the default libpath from the value encoded in an
 	    # empty executable.
-	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_SYS_MODULE_PATH_AIX([$1])
 	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
 	    # Warning - without using the other run time loading flags,
 	    # -berok will link without error, but may produce a broken library.
@@ -5719,29 +6115,75 @@ if test "$_lt_caught_CXX_error" != yes; then
         ;;
 
       cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-        # as there is no search path for DLLs.
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
-        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-        _LT_TAGVAR(always_export_symbols, $1)=no
-        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          _LT_TAGVAR(ld_shlibs, $1)=no
-        fi
-        ;;
+	case $GXX,$cc_basename in
+	,cl* | no,cl*)
+	  # Native MSVC
+	  # hardcode_libdir_flag_spec is actually meaningless, as there is
+	  # no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=yes
+	  _LT_TAGVAR(file_list_spec, $1)='@'
+	  # Tell ltmain to make .lib files, not .a files.
+	  libext=lib
+	  # Tell ltmain to make .dll files, not .so files.
+	  shrext_cmds=".dll"
+	  # FIXME: Setting linknames here is a bad hack.
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames='
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp;
+	    else
+	      $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp;
+	    fi~
+	    $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+	    linknames='
+	  # The linker will not automatically build a static lib if we build a DLL.
+	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+	  # Don't use ranlib
+	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
+	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
+	    lt_tool_outputfile="@TOOL_OUTPUT@"~
+	    case $lt_outputfile in
+	      *.exe|*.EXE) ;;
+	      *)
+		lt_outputfile="$lt_outputfile.exe"
+		lt_tool_outputfile="$lt_tool_outputfile.exe"
+		;;
+	    esac~
+	    func_to_tool_file "$lt_outputfile"~
+	    if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then
+	      $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
+	      $RM "$lt_outputfile.manifest";
+	    fi'
+	  ;;
+	*)
+	  # g++
+	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+	  # as there is no search path for DLLs.
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols'
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  _LT_TAGVAR(always_export_symbols, $1)=no
+	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	    # If the export-symbols file already is a .def file (1st line
+	    # is EXPORTS), use it as is; otherwise, prepend...
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+	      cp $export_symbols $output_objdir/$soname.def;
+	    else
+	      echo EXPORTS > $output_objdir/$soname.def;
+	      cat $export_symbols >> $output_objdir/$soname.def;
+	    fi~
+	    $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	  ;;
+	esac
+	;;
       darwin* | rhapsody*)
         _LT_DARWIN_LINKER_FEATURES($1)
 	;;
@@ -5764,7 +6206,7 @@ if test "$_lt_caught_CXX_error" != yes; then
         esac
         ;;
 
-      freebsd[[12]]*)
+      freebsd2.*)
         # C++ shared libraries reported to be fairly broken before
 	# switch to ELF
         _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5816,7 +6258,7 @@ if test "$_lt_caught_CXX_error" != yes; then
             ;;
           *)
             if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
             else
               # FIXME: insert proper C++ library support
               _LT_TAGVAR(ld_shlibs, $1)=no
@@ -5887,10 +6329,10 @@ if test "$_lt_caught_CXX_error" != yes; then
 	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
 	            ;;
 	        esac
 	      fi
@@ -5931,9 +6373,9 @@ if test "$_lt_caught_CXX_error" != yes; then
           *)
 	    if test "$GXX" = yes; then
 	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
 	      fi
 	    fi
 	    _LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6211,7 +6653,7 @@ if test "$_lt_caught_CXX_error" != yes; then
 	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
 		  ;;
 	      esac
 
@@ -6298,9 +6740,9 @@ if test "$_lt_caught_CXX_error" != yes; then
 	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
 	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
 	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
 	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+		  $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
 
 	        # Commands to make compiler produce verbose output that lists
 	        # what "hidden" libraries, object files and flags are used when
@@ -6429,6 +6871,7 @@ if test "$_lt_caught_CXX_error" != yes; then
   fi # test -n "$compiler"
 
   CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
   LDCXX=$LD
   LD=$lt_save_LD
   GCC=$lt_save_GCC
@@ -6443,6 +6886,29 @@ AC_LANG_POP
 ])# _LT_LANG_CXX_CONFIG
 
 
+# _LT_FUNC_STRIPNAME_CNF
+# ----------------------
+# func_stripname_cnf prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+#
+# This function is identical to the (non-XSI) version of func_stripname,
+# except this one can be used by m4 code that may be executed by configure,
+# rather than the libtool script.
+m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
+AC_REQUIRE([_LT_DECL_SED])
+AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
+func_stripname_cnf ()
+{
+  case ${2} in
+  .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
+  *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
+  esac
+} # func_stripname_cnf
+])# _LT_FUNC_STRIPNAME_CNF
+
 # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
 # ---------------------------------
 # Figure out "hidden" library dependencies from verbose
@@ -6451,6 +6917,7 @@ AC_LANG_POP
 # objects, libraries and library flags.
 m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
 [m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
 # Dependencies to place before and after the object being linked:
 _LT_TAGVAR(predep_objects, $1)=
 _LT_TAGVAR(postdep_objects, $1)=
@@ -6500,7 +6967,20 @@ public class foo {
   }
 };
 _LT_EOF
+], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
+package foo
+func foo() {
+}
+_LT_EOF
 ])
+
+_lt_libdeps_save_CFLAGS=$CFLAGS
+case "$CC $CFLAGS " in #(
+*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
+*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
+*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
+esac
+
 dnl Parse the compiler output and extract the necessary
 dnl objects, libraries and library flags.
 if AC_TRY_EVAL(ac_compile); then
@@ -6512,7 +6992,7 @@ if AC_TRY_EVAL(ac_compile); then
   pre_test_object_deps_done=no
 
   for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
+    case ${prev}${p} in
 
     -L* | -R* | -l*)
        # Some compilers place space between "-{L,R}" and the path.
@@ -6521,13 +7001,22 @@ if AC_TRY_EVAL(ac_compile); then
           test $p = "-R"; then
 	 prev=$p
 	 continue
-       else
-	 prev=
        fi
 
+       # Expand the sysroot to ease extracting the directories later.
+       if test -z "$prev"; then
+         case $p in
+         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
+         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
+         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
+         esac
+       fi
+       case $p in
+       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
+       esac
        if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
+	 case ${prev} in
+	 -L | -R)
 	   # Internal compiler library paths should come after those
 	   # provided the user.  The postdeps already come after the
 	   # user supplied libs so there is no need to process them.
@@ -6547,8 +7036,10 @@ if AC_TRY_EVAL(ac_compile); then
 	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
 	 fi
        fi
+       prev=
        ;;
 
+    *.lto.$objext) ;; # Ignore GCC LTO objects
     *.$objext)
        # This assumes that the test object file only shows up
        # once in the compiler output.
@@ -6584,6 +7075,7 @@ else
 fi
 
 $RM -f confest.$objext
+CFLAGS=$_lt_libdeps_save_CFLAGS
 
 # PORTME: override above test on systems where it is broken
 m4_if([$1], [CXX],
@@ -6683,7 +7175,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -6733,7 +7224,9 @@ if test "$_lt_disable_F77" != yes; then
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
   CC=${F77-"f77"}
+  CFLAGS=$FFLAGS
   compiler=$CC
   _LT_TAGVAR(compiler, $1)=$CC
   _LT_CC_BASENAME([$compiler])
@@ -6787,6 +7280,7 @@ if test "$_lt_disable_F77" != yes; then
 
   GCC=$lt_save_GCC
   CC="$lt_save_CC"
+  CFLAGS="$lt_save_CFLAGS"
 fi # test "$_lt_disable_F77" != yes
 
 AC_LANG_POP
@@ -6813,7 +7307,6 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=
 _LT_TAGVAR(hardcode_direct, $1)=no
 _LT_TAGVAR(hardcode_direct_absolute, $1)=no
 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
 _LT_TAGVAR(hardcode_libdir_separator, $1)=
 _LT_TAGVAR(hardcode_minus_L, $1)=no
 _LT_TAGVAR(hardcode_automatic, $1)=no
@@ -6863,7 +7356,9 @@ if test "$_lt_disable_FC" != yes; then
   # Allow CC to be a program name with arguments.
   lt_save_CC="$CC"
   lt_save_GCC=$GCC
+  lt_save_CFLAGS=$CFLAGS
   CC=${FC-"f95"}
+  CFLAGS=$FCFLAGS
   compiler=$CC
   GCC=$ac_cv_fc_compiler_gnu
 
@@ -6919,7 +7414,8 @@ if test "$_lt_disable_FC" != yes; then
   fi # test -n "$compiler"
 
   GCC=$lt_save_GCC
-  CC="$lt_save_CC"
+  CC=$lt_save_CC
+  CFLAGS=$lt_save_CFLAGS
 fi # test "$_lt_disable_FC" != yes
 
 AC_LANG_POP
@@ -6956,10 +7452,12 @@ _LT_COMPILER_BOILERPLATE
 _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=yes
 CC=${GCJ-"gcj"}
+CFLAGS=$GCJFLAGS
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
 _LT_TAGVAR(LD, $1)="$LD"
@@ -6990,10 +7488,82 @@ fi
 AC_LANG_RESTORE
 
 GCC=$lt_save_GCC
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_GCJ_CONFIG
 
 
+# _LT_LANG_GO_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Go compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GO_CONFIG],
+[AC_REQUIRE([LT_PROG_GO])dnl
+AC_LANG_SAVE
+
+# Source file extension for Go test sources.
+ac_ext=go
+
+# Object file extension for compiled Go test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="package main; func main() { }"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='package main; func main() { }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC=$CC
+lt_save_CFLAGS=$CFLAGS
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GOC-"gccgo"}
+CFLAGS=$GOFLAGS
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# Go did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(reload_flag, $1)=$reload_flag
+_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
+])# _LT_LANG_GO_CONFIG
+
+
 # _LT_LANG_RC_CONFIG([TAG])
 # -------------------------
 # Ensure that the configuration variables for the Windows resource compiler
@@ -7025,9 +7595,11 @@ _LT_LINKER_BOILERPLATE
 
 # Allow CC to be a program name with arguments.
 lt_save_CC="$CC"
+lt_save_CFLAGS=$CFLAGS
 lt_save_GCC=$GCC
 GCC=
 CC=${RC-"windres"}
+CFLAGS=
 compiler=$CC
 _LT_TAGVAR(compiler, $1)=$CC
 _LT_CC_BASENAME([$compiler])
@@ -7040,7 +7612,8 @@ fi
 
 GCC=$lt_save_GCC
 AC_LANG_RESTORE
-CC="$lt_save_CC"
+CC=$lt_save_CC
+CFLAGS=$lt_save_CFLAGS
 ])# _LT_LANG_RC_CONFIG
 
 
@@ -7060,6 +7633,13 @@ dnl aclocal-1.4 backwards compatibility:
 dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
 
 
+# LT_PROG_GO
+# ----------
+AC_DEFUN([LT_PROG_GO],
+[AC_CHECK_TOOL(GOC, gccgo,)
+])
+
+
 # LT_PROG_RC
 # ----------
 AC_DEFUN([LT_PROG_RC],
@@ -7099,6 +7679,15 @@ _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
 AC_SUBST([OBJDUMP])
 ])
 
+# _LT_DECL_DLLTOOL
+# ----------------
+# Ensure DLLTOOL variable is set.
+m4_defun([_LT_DECL_DLLTOOL],
+[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
+AC_SUBST([DLLTOOL])
+])
 
 # _LT_DECL_SED
 # ------------
@@ -7192,8 +7781,8 @@ m4_defun([_LT_CHECK_SHELL_FEATURES],
 # Try some XSI features
 xsi_shell=no
 ( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
+  test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,b/c, \
     && eval 'test $(( 1 + 1 )) -eq 2 \
     && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
   && xsi_shell=yes
@@ -7232,206 +7821,162 @@ _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
 ])# _LT_CHECK_SHELL_FEATURES
 
 
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $[*] ))
-}
+# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY)
+# ------------------------------------------------------
+# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and
+# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY.
+m4_defun([_LT_PROG_FUNCTION_REPLACE],
+[dnl {
+sed -e '/^$1 ()$/,/^} # $1 /c\
+$1 ()\
+{\
+m4_bpatsubsts([$2], [$], [\\], [^\([	 ]\)], [\\\1])
+} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \
+  && mv -f "$cfgfile.tmp" "$cfgfile" \
+    || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+test 0 -eq $? || _lt_function_replace_fail=:
+])
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
 
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
+# _LT_PROG_REPLACE_SHELLFNS
+# -------------------------
+# Replace existing portable implementations of several shell functions with
+# equivalent extended shell implementations where those features are available..
+m4_defun([_LT_PROG_REPLACE_SHELLFNS],
+[if test x"$xsi_shell" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac])
+
+  _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl
+    func_basename_result="${1##*/}"])
+
+  _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl
+    case ${1} in
+      */*) func_dirname_result="${1%/*}${2}" ;;
+      *  ) func_dirname_result="${3}" ;;
+    esac
+    func_basename_result="${1##*/}"])
 
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
+  _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl
+    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+    # positional parameters, so assign one to ordinary parameter first.
+    func_stripname_result=${3}
+    func_stripname_result=${func_stripname_result#"${1}"}
+    func_stripname_result=${func_stripname_result%"${2}"}])
 
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl
+    func_split_long_opt_name=${1%%=*}
+    func_split_long_opt_arg=${1#*=}])
 
-dnl func_dirname_and_basename
-dnl A portable version of this function is already defined in general.m4sh
-dnl so there is no need for it here.
+  _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl
+    func_split_short_opt_arg=${1#??}
+    func_split_short_opt_name=${1%"$func_split_short_opt_arg"}])
 
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
+  _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl
+    case ${1} in
+      *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+      *)    func_lo2o_result=${1} ;;
+    esac])
 
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
+  _LT_PROG_FUNCTION_REPLACE([func_xform], [    func_xform_result=${1%.*}.lo])
 
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_arith], [    func_arith_result=$(( $[*] ))])
 
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[[^.]]*$/.lo/'`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_len], [    func_len_result=${#1}])
+fi
 
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$[@]"`
-}
+if test x"$lt_shell_append" = xyes; then
+  _LT_PROG_FUNCTION_REPLACE([func_append], [    eval "${1}+=\\${2}"])
 
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
+  _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl
+    func_quote_for_eval "${2}"
+dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \
+    eval "${1}+=\\\\ \\$func_quote_for_eval_result"])
 
-_LT_EOF
-esac
+  # Save a `func_append' function call where possible by direct use of '+='
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+else
+  # Save a `func_append' function call even when '+=' is not available
+  sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \
+    && mv -f "$cfgfile.tmp" "$cfgfile" \
+      || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp")
+  test 0 -eq $? || _lt_function_replace_fail=:
+fi
 
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
+if test x"$_lt_function_replace_fail" = x":"; then
+  AC_MSG_WARN([Unable to substitute extended shell functions in $ofile])
+fi
+])
 
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]+=\$[2]"
-}
-_LT_EOF
+# _LT_PATH_CONVERSION_FUNCTIONS
+# -----------------------------
+# Determine which file name conversion functions should be used by
+# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
+# for certain cross-compile configurations and native mingw.
+m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_MSG_CHECKING([how to convert $build file names to $host format])
+AC_CACHE_VAL(lt_cv_to_host_file_cmd,
+[case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
+        ;;
+    esac
     ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]=\$$[1]\$[2]"
-}
-
-_LT_EOF
+  *-*-cygwin* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
+        ;;
+      *-*-cygwin* )
+        lt_cv_to_host_file_cmd=func_convert_file_noop
+        ;;
+      * ) # otherwise, assume *nix
+        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
+        ;;
+    esac
     ;;
-  esac
+  * ) # unhandled hosts (and "normal" native builds)
+    lt_cv_to_host_file_cmd=func_convert_file_noop
+    ;;
+esac
+])
+to_host_file_cmd=$lt_cv_to_host_file_cmd
+AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
+_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
+         [0], [convert $build file names to $host format])dnl
+
+AC_MSG_CHECKING([how to convert $build file names to toolchain format])
+AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
+[#assume ordinary cross tools, or native build.
+lt_cv_to_tool_file_cmd=func_convert_file_noop
+case $host in
+  *-*-mingw* )
+    case $build in
+      *-*-mingw* ) # actually msys
+        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
+        ;;
+    esac
+    ;;
+esac
 ])
+to_tool_file_cmd=$lt_cv_to_tool_file_cmd
+AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
+_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
+         [0], [convert $build files to toolchain format])dnl
+])# _LT_PATH_CONVERSION_FUNCTIONS
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
index 17cfd51..5d9acd8 100644
--- a/m4/ltoptions.m4
+++ b/m4/ltoptions.m4
@@ -326,9 +326,24 @@ dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
 # MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
 m4_define([_LT_WITH_PIC],
 [AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
+    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
 	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
+    [lt_p=${PACKAGE-default}
+    case $withval in
+    yes|no) pic_mode=$withval ;;
+    *)
+      pic_mode=default
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for lt_pkg in $withval; do
+	IFS="$lt_save_ifs"
+	if test "X$lt_pkg" = "X$lt_p"; then
+	  pic_mode=yes
+	fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
     [pic_mode=default])
 
 test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
index 93fc771..07a8602 100644
--- a/m4/ltversion.m4
+++ b/m4/ltversion.m4
@@ -7,17 +7,17 @@
 # unlimited permission to copy and/or distribute it, with or without
 # modifications, as long as this notice is preserved.
 
-# Generated from ltversion.in.
+# @configure_input@
 
-# serial 3175 ltversion.m4
+# serial 3337 ltversion.m4
 # This file is part of GNU Libtool
 
-m4_define([LT_PACKAGE_VERSION], [2.2.10])
-m4_define([LT_PACKAGE_REVISION], [1.3175])
+m4_define([LT_PACKAGE_VERSION], [2.4.2])
+m4_define([LT_PACKAGE_REVISION], [1.3337])
 
 AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.10'
-macro_revision='1.3175'
+[macro_version='2.4.2'
+macro_revision='1.3337'
 _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
 _LT_DECL(, macro_revision, 0)
 ])
diff --git a/m4/m4.m4 b/m4/m4.m4
index f27d8c0..3b6fcc6 100644
--- a/m4/m4.m4
+++ b/m4/m4.m4
@@ -26,7 +26,7 @@ AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4],
       && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
       rm -f conftest.m4f],
       [AC_MSG_ERROR([no acceptable m4 could be found in \$PATH.
-GNU M4 1.4.5 or later is required; 1.4.11 is recommended])])])
+GNU M4 1.4.5 or later is required; 1.4.11 or later is recommended])])])
   M4=$ac_cv_path_M4
   AC_CACHE_CHECK([how m4 supports trace files], [ac_cv_prog_gnu_m4_debugfile],
     [case `$M4 --help < /dev/null 2>&1` in
diff --git a/m4/ppl.m4 b/m4/ppl.m4
index 20b2bfc..e3ec23b 100644
--- a/m4/ppl.m4
+++ b/m4/ppl.m4
@@ -2,7 +2,7 @@ dnl A function to test for the existence and usability of particular
 dnl versions of the PPL, defining macros containing the required paths.
 dnl Copyright (C) 1997 Owen Taylor
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -21,7 +21,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl AM_PATH_PPL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for PPL, and define PPL_CPPFLAGS, PPL_LDFLAGS, ... what else?
diff --git a/m4/ppl_c.m4 b/m4/ppl_c.m4
index 6139c1c..69277b3 100644
--- a/m4/ppl_c.m4
+++ b/m4/ppl_c.m4
@@ -3,7 +3,7 @@ dnl versions of the C interface of the PPL, defining macros containing
 dnl the required paths.
 dnl Copyright (C) 1997 Owen Taylor
 dnl Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-dnl Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+dnl Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,7 +22,7 @@ dnl along with this program; if not, write to the Free Software Foundation,
 dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
-dnl site: http://www.cs.unipr.it/ppl/ .
+dnl site: http://bugseng.com/products/ppl/ .
 
 dnl AM_PATH_PPL_C([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
 dnl Test for the C interface of the PPL, and define PPL_CPPFLAGS,
diff --git a/missing b/missing
index 28055d2..9a55648 100755
--- a/missing
+++ b/missing
@@ -1,10 +1,9 @@
 #! /bin/sh
 # Common stub for a few missing GNU programs while installing.
 
-scriptversion=2009-04-28.21; # UTC
+scriptversion=2012-01-06.18; # UTC
 
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
+# Copyright (C) 1996-2012 Free Software Foundation, Inc.
 # Originally by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
 
 # This program is free software; you can redistribute it and/or modify
@@ -26,7 +25,7 @@ scriptversion=2009-04-28.21; # UTC
 # the same distribution terms that you use for the rest of that program.
 
 if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
+  echo 1>&2 "Try '$0 --help' for more information"
   exit 1
 fi
 
@@ -34,7 +33,7 @@ run=:
 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 
-# In the cases where this matters, `missing' is being run in the
+# In the cases where this matters, 'missing' is being run in the
 # srcdir already.
 if test -f configure.ac; then
   configure_ac=configure.ac
@@ -65,7 +64,7 @@ case $1 in
     echo "\
 $0 [OPTION]... PROGRAM [ARGUMENT]...
 
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 error status if there is no known handling for PROGRAM.
 
 Options:
@@ -74,21 +73,20 @@ Options:
   --run           try to run the given command, and emulate it if it fails
 
 Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
+  aclocal      touch file 'aclocal.m4'
+  autoconf     touch file 'configure'
+  autoheader   touch file 'config.h.in'
   autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
+  automake     touch all 'Makefile.in' files
+  bison        create 'y.tab.[ch]', if possible, from existing .[ch]
+  flex         create 'lex.yy.c', if possible, from existing .c
   help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
+  lex          create 'lex.yy.c', if possible, from existing .c
   makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+  yacc         create 'y.tab.[ch]', if possible, from existing .[ch]
 
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
 
 Send bug reports to <bug-automake at gnu.org>."
     exit $?
@@ -100,8 +98,8 @@ Send bug reports to <bug-automake at gnu.org>."
     ;;
 
   -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
+    echo 1>&2 "$0: Unknown '$1' option"
+    echo 1>&2 "Try '$0 --help' for more information"
     exit 1
     ;;
 
@@ -122,22 +120,13 @@ case $1 in
     # Not GNU programs, they don't have --version.
     ;;
 
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
   *)
     if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
        # We have it, but it failed.
        exit 1
     elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
        # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # running '$TOOL --version' or '$TOOL --help' to check whether
        # $TOOL exists and not knowing $TOOL uses missing.
        exit 1
     fi
@@ -149,27 +138,27 @@ esac
 case $program in
   aclocal*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acinclude.m4' or '${configure_ac}'.  You might want
+         to install the Automake and Perl packages.  Grab them from
          any GNU archive site."
     touch aclocal.m4
     ;;
 
   autoconf*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+WARNING: '$1' is $msg.  You should only need it if
+         you modified '${configure_ac}'.  You might want to install the
+         Autoconf and GNU m4 packages.  Grab them from any GNU
          archive site."
     touch configure
     ;;
 
   autoheader*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'acconfig.h' or '${configure_ac}'.  You might want
+         to install the Autoconf and GNU m4 packages.  Grab them
          from any GNU archive site."
     files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
     test -z "$files" && files="config.h"
@@ -186,9 +175,9 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   automake*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
+WARNING: '$1' is $msg.  You should only need it if
+         you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'.
+         You might want to install the Automake and Perl packages.
          Grab them from any GNU archive site."
     find . -type f -name Makefile.am -print |
 	   sed 's/\.am$/.in/' |
@@ -197,10 +186,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   autom4te*)
     echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
+WARNING: '$1' is needed, but is $msg.
          You might have modified some files without having the
          proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
+         You can get '$1' as part of Autoconf from any GNU
          archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
@@ -220,13 +209,13 @@ WARNING: \`$1' is needed, but is $msg.
 
   bison*|yacc*)
     echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
+WARNING: '$1' $msg.  You should only need it if
+         you modified a '.y' file.  You may need the Bison package
          in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
+         Bison from any GNU archive site."
     rm -f y.tab.c y.tab.h
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
 	case $LASTARG in
 	*.y)
 	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
@@ -250,13 +239,13 @@ WARNING: \`$1' $msg.  You should only need it if
 
   lex*|flex*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.l' file.  You may need the Flex package
          in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
+         Flex from any GNU archive site."
     rm -f lex.yy.c
     if test $# -ne 1; then
-        eval LASTARG="\${$#}"
+        eval LASTARG=\${$#}
 	case $LASTARG in
 	*.l)
 	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
@@ -273,10 +262,10 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   help2man*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
+WARNING: '$1' is $msg.  You should only need it if
 	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
+	 Help2man package in order for those modifications to take
+	 effect.  You can get Help2man from any GNU archive site."
 
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -291,12 +280,12 @@ WARNING: \`$1' is $msg.  You should only need it if
 
   makeinfo*)
     echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
+WARNING: '$1' is $msg.  You should only need it if
+         you modified a '.texi' or '.texinfo' file, or any other file
          indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
+         call might also be the consequence of using a buggy 'make' (AIX,
+         DU, IRIX).  You might want to install the Texinfo package or
+         the GNU make package.  Grab either from any GNU archive site."
     # The file to touch is that specified with -o ...
     file=`echo "$*" | sed -n "$sed_output"`
     test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
@@ -318,49 +307,14 @@ WARNING: \`$1' is $msg.  You should only need it if
     touch $file
     ;;
 
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case $firstarg in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case $firstarg in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
   *)
     echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
+WARNING: '$1' is needed, and is $msg.
          You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
+         proper tools for further handling them.  Check the 'README' file,
          it often tells you about the needed prerequisites for installing
          this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
+         some other package would contain this missing '$1' program."
     exit 1
     ;;
 esac
diff --git a/mkinstalldirs b/mkinstalldirs
index 4191a45..55d537f 100755
--- a/mkinstalldirs
+++ b/mkinstalldirs
@@ -81,9 +81,9 @@ case $dirmode in
       echo "mkdir -p -- $*"
       exec mkdir -p -- "$@"
     else
-      # On NextStep and OpenStep, the `mkdir' command does not
+      # On NextStep and OpenStep, the 'mkdir' command does not
       # recognize any option.  It will interpret all options as
-      # directories to create, and then abort because `.' already
+      # directories to create, and then abort because '.' already
       # exists.
       test -d ./-p && rmdir ./-p
       test -d ./--version && rmdir ./--version
diff --git a/ppl-config.h.in b/ppl-config.h.in
index c6fedf5..b8f71c0 100644
--- a/ppl-config.h.in
+++ b/ppl-config.h.in
@@ -3,6 +3,9 @@
 
 /* BEGIN ppl-config.h */
 
+#ifndef PPL_ppl_config_h
+#define PPL_ppl_config_h 1
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -69,6 +72,14 @@
    don't. */
 #undef PPL_HAVE_DECL_RLIMIT_VMEM
 
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#undef PPL_HAVE_DECL_SETITIMER
+
+/* Define to 1 if you have the declaration of `setrlimit', and to 0 if you
+   don't. */
+#undef PPL_HAVE_DECL_SETRLIMIT
+
 /* Define to 1 if you have the declaration of `sigaction', and to 0 if you
    don't. */
 #undef PPL_HAVE_DECL_SIGACTION
@@ -231,25 +242,13 @@
    undefined otherwise. */
 #undef PPL_CXX_DOUBLE_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for doubles. */
-#undef PPL_CXX_DOUBLE_EXACT_OUTPUT
-
 /* The binary format of C++ floats, if supported; undefined otherwise. */
 #undef PPL_CXX_FLOAT_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for floats. */
-#undef PPL_CXX_FLOAT_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#undef PPL_CXX_HAS_REMAINDER_BUG
-
 /* The unique code of the binary format of C++ long doubles, if supported;
    undefined otherwise. */
 #undef PPL_CXX_LONG_DOUBLE_BINARY_FORMAT
 
-/* Not zero if C++ supports exact output for long doubles. */
-#undef PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT
-
 /* Not zero if the the plain char type is signed. */
 #undef PPL_CXX_PLAIN_CHAR_IS_SIGNED
 
@@ -260,15 +259,15 @@
 /* Not zero if the C++ compiler supports __attribute__ ((weak)). */
 #undef PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
 
-/* Not zero if the C++ compiler supports flexible arrays. */
-#undef PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-
 /* Not zero if the the IEEE inexact flag is supported in C++. */
 #undef PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
 
 /* Not zero if it is possible to limit memory using setrlimit(). */
 #undef PPL_CXX_SUPPORTS_LIMITING_MEMORY
 
+/* Not zero if the C++ compiler supports zero_length arrays. */
+#undef PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+
 /* Defined if floating point arithmetic may use the 387 unit. */
 #undef PPL_FPMATH_MAY_USE_387
 
@@ -309,9 +308,6 @@
 /* Not zero if long doubles are supported. */
 #undef PPL_SUPPORTED_LONG_DOUBLE
 
-/* Defined if the Parma Watchdog Library is enabled. */
-#undef PPL_WATCHDOG_LIBRARY_ENABLED
-
 /* The size of `char', as computed by sizeof. */
 #undef PPL_SIZEOF_CHAR
 
@@ -407,5 +403,9 @@
 # include <inttypes.h>
 #endif
 
+#define PPL_U(x) x
+
+#endif /* !defined(PPL_ppl_config_h) */
+
 /* END ppl-config.h */
 
diff --git a/ppl-config.sed b/ppl-config.sed
index 95f8ae1..5d6d721 100644
--- a/ppl-config.sed
+++ b/ppl-config.sed
@@ -10,6 +10,8 @@ s/\([^A-Z_]\)HAVE_DECL_RLIMIT_AS/\1PPL_HAVE_DECL_RLIMIT_AS/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_DATA/\1PPL_HAVE_DECL_RLIMIT_DATA/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_RSS/\1PPL_HAVE_DECL_RLIMIT_RSS/g
 s/\([^A-Z_]\)HAVE_DECL_RLIMIT_VMEM/\1PPL_HAVE_DECL_RLIMIT_VMEM/g
+s/\([^A-Z_]\)HAVE_DECL_SETITIMER/\1PPL_HAVE_DECL_SETITIMER/g
+s/\([^A-Z_]\)HAVE_DECL_SETRLIMIT/\1PPL_HAVE_DECL_SETRLIMIT/g
 s/\([^A-Z_]\)HAVE_DECL_SIGACTION/\1PPL_HAVE_DECL_SIGACTION/g
 s/\([^A-Z_]\)HAVE_DECL_STRTOD/\1PPL_HAVE_DECL_STRTOD/g
 s/\([^A-Z_]\)HAVE_DECL_STRTOF/\1PPL_HAVE_DECL_STRTOF/g
diff --git a/ppl.lsm.in b/ppl.lsm.in
index 0dd2e43..0e01b58 100644
--- a/ppl.lsm.in
+++ b/ppl.lsm.in
@@ -4,27 +4,41 @@ Version:	@VERSION@
 Entered-date:	@ISODATE@
 Description:	The Parma Polyhedra Library (PPL) is a C++ library
 		for the manipulation of numerical abstractions.
-Keywords:	C++ library convex polyhedra
-Author:		Roberto Bagnara (bagnara at cs.unipr.it)
-		Patricia M. Hill (hill at comp.leeds.ac.uk)
-		Enea Zaffanella (zaffanella at cs.unipr.it)
-		Abramo Bagnara (Opera Unica)
-                Andrea Cimino (University of Parma)
-		Giordano Fracasso (University of Parma)
-                Elena Mazzi (University of Parma)
-                Matthew Mundell (University of Leeds)
-                Barbara Quartieri (University of Parma)
+Keywords:	C++ library convex polyhedra verification
+Author:		Roberto Bagnara (BUGSENG srl and University of Parma)
+		Patricia M. Hill (BUGSENG srl and University of Leeds)
+		Enea Zaffanella (BUGSENG srl and University of Parma)
+		Abramo Bagnara (BUGSENG srl)
 		Elisa Ricci (former student of the University of Parma)
+		Marco Poletti (student of the University of Bologna)
+		Alessandro Zaccagnini (University of Parma)
+		Roberto Amadini (former student of the University of Parma)
+		Irene Bacchi (former student of the University of Parma)
+		Fabio Biselli (student of the University of Parma)
+		Fabio Bossi (former student of the University of Parma)
+		Danilo Bonardi (former student of the University of Parma)
 		Sara Bonini (former student of the University of Parma)
+		Andrea Cimino (former student of the University of Parma)
+		Katy Dobson (former student of the University of Leeds)
+		Giordano Fracasso (former student of the University of Parma)
+		Francois Galea (University of Versailles)
+		Maximiliano Marchesi (former student of the University of Parma)
+		Elena Mazzi (former student of the University of Parma)
+		David Merchat (formerly at the University of Parma)
+		Matthew Mundell (formerly at the University of Leeds)
 		Andrea Pescetti (former student of the University of Parma)
+		Barbara Quartieri (former student of the University of Parma)
+		Enric Rodriguez Carbonell (Technical University of Catalonia)
 		Angela Stazzone (former student of the University of Parma)
+		Fabio Trabucchi (University of Parma)
+		Claudio Trento (former student of the University of Pisa)
 		Tatiana Zolo (former student of the University of Parma)
 Maintained-by:	ppl-devel at cs.unipr.it (PPL developers)
 Primary-site:	metlab.unc.edu /pub/linux/libs
-		5850k ppl- at VERSION@.tar.gz
+		16788k ppl- at VERSION@.tar.gz
 		800 ppl.lsm
 Alternate-site:	
-Original-site:	http://www.cs.unipr.it/ppl/
+Original-site:	http://bugseng.com/products/ppl/
 Platforms:      Portable; tested on Linux, FreeBSD, OpenBSD, Solaris,
                 IRIX64, Mac OS X, Cygwin, DEC OSF/1.
 Copying-policy:	GPL
diff --git a/src/BDS_Status.idefs.hh b/src/BDS_Status.idefs.hh
index 19639bb..cfe2580 100644
--- a/src/BDS_Status.idefs.hh
+++ b/src/BDS_Status.idefs.hh
@@ -1,6 +1,6 @@
 /* BD_Shape<T>::Status class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BDS_Status_idefs_hh
 #define PPL_BDS_Status_idefs_hh 1
 
 #ifndef PPL_IN_BD_Shape_CLASS
-#error "Do not include BDS_Status.idefs.hh directly; use BD_Shape.defs.hh instead."
+#error "Do not include BDS_Status.idefs.hh directly; use BD_Shape.defs.hh instead"
 #endif
 
 //! A conjunctive assertion about a BD_Shape<T> object.
diff --git a/src/BDS_Status.inlines.hh b/src/BDS_Status.inlines.hh
index 381ec27..9ba7aed 100644
--- a/src/BDS_Status.inlines.hh
+++ b/src/BDS_Status.inlines.hh
@@ -1,6 +1,6 @@
 /* BD_Shape<T>::Status class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BDS_Status_inlines_hh
 #define PPL_BDS_Status_inlines_hh 1
@@ -47,7 +47,7 @@ BD_Shape<T>::Status::test_all(flags_t mask) const {
 template <typename T>
 inline bool
 BD_Shape<T>::Status::test_any(flags_t mask) const {
-  return flags & mask;
+  return (flags & mask) != 0;
 }
 
 template <typename T>
@@ -191,7 +191,7 @@ const std::string sp_closed = "SPC";
 const std::string sp_reduced = "SPR";
 const char yes = '+';
 const char no = '-';
-const char sep = ' ';
+const char separator = ' ';
 
 /*! \relates Parma_Polyhedra_Library::BD_Shape::Status
   Reads a keyword and its associated on/off flag from \p s.
@@ -219,11 +219,11 @@ template <typename T>
 void
 BD_Shape<T>::Status::ascii_dump(std::ostream& s) const {
   using namespace Implementation::BD_Shapes;
-  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ << sep
-    << (test_empty() ? yes : no) << empty << sep
-    << sep
-    << (test_shortest_path_closed() ? yes : no) << sp_closed << sep
-    << (test_shortest_path_reduced() ? yes : no) << sp_reduced << sep;
+  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ << separator
+    << (test_empty() ? yes : no) << empty << separator
+    << separator
+    << (test_shortest_path_closed() ? yes : no) << sp_closed << separator
+    << (test_shortest_path_reduced() ? yes : no) << sp_reduced << separator;
 }
 
 PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(T, BD_Shape<T>::Status)
diff --git a/src/BD_Shape.cc b/src/BD_Shape.cc
index b70a5b3..ab9932e 100644
--- a/src/BD_Shape.cc
+++ b/src/BD_Shape.cc
@@ -1,6 +1,6 @@
 /* BD_Shape class implementation: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "BD_Shape.defs.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -30,53 +30,48 @@ namespace PPL = Parma_Polyhedra_Library;
 /*! \relates Parma_Polyhedra_Library::BD_Shape */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool
-PPL::extract_bounded_difference(const Constraint& c,
-				const dimension_type c_space_dim,
-				dimension_type& c_num_vars,
-				dimension_type& c_first_var,
-				dimension_type& c_second_var,
-				Coefficient& c_coeff) {
+PPL::BD_Shape_Helpers::extract_bounded_difference(const Constraint& c,
+                                                  dimension_type& c_num_vars,
+                                                  dimension_type& c_first_var,
+                                                  dimension_type& c_second_var,
+                                                  Coefficient& c_coeff) {
   // Check for preconditions.
-  PPL_ASSERT(c.space_dimension() == c_space_dim);
+  const dimension_type space_dim = c.space_dimension();
   PPL_ASSERT(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
-  // Store the indices of the non-zero components of `c',
-  dimension_type non_zero_index[2] = { 0, 0 };
-  // Collect the non-zero components of `c'.
-  for (dimension_type i = c_space_dim; i-- > 0; )
-    if (c.coefficient(Variable(i)) != 0) {
-      if (c_num_vars <= 1)
-	non_zero_index[c_num_vars++] = i + 1;
-      else
-	// Constraint `c' is not a bounded difference.
-	return false;
-    }
-
-  // Make sure that `c' is indeed a bounded difference,
-  // i.e., it has one of the following forms:
-  //           0 <=/= b, if c_num_vars == 0;
-  //   a*x       <=/= b, if c_num_vars == 1;
-  //   a*x - a*y <=/= b, if c_num_vars == 2.
-  switch (c_num_vars) {
-  case 2:
-    {
-      const Coefficient& c0 = c.coefficient(Variable(non_zero_index[0]-1));
-      const Coefficient& c1 = c.coefficient(Variable(non_zero_index[1]-1));
-      if (sgn(c0) == sgn(c1) || c0 != -c1)
-	// Constraint `c' is not a bounded difference.
-	return false;
-      c_coeff = c1;
-    }
-    c_first_var = non_zero_index[0];
-    c_second_var = non_zero_index[1];
-    break;
-  case 1:
-    c_coeff = -c.coefficient(Variable(non_zero_index[0]-1));
-    c_first_var = non_zero_index[0];
-    break;
-  default:
-    PPL_ASSERT(c_num_vars == 0);
-    break;
+
+  c_first_var = c.expression().first_nonzero(1, space_dim + 1);
+  if (c_first_var == space_dim + 1)
+    // All the inhomogeneous coefficients are zero.
+    return true;
+
+  ++c_num_vars;
+
+  c_second_var = c.expression().first_nonzero(c_first_var + 1, space_dim + 1);
+  if (c_second_var == space_dim + 1) {
+    // c_first_var is the only inhomogeneous coefficient different from zero.
+    c_coeff = -c.expression().get(Variable(c_first_var - 1));
+
+    c_second_var = 0;
+    return true;
   }
+
+  ++c_num_vars;
+
+  if (!c.expression().all_zeroes(c_second_var + 1, space_dim + 1))
+    // The constraint `c' is not a bounded difference.
+    return false;
+
+  // Make sure that `c' is indeed a bounded difference, i.e., it is of the
+  // form:
+  // a*x - a*y <=/= b.
+  Coefficient_traits::const_reference c0 = c.expression().get(Variable(c_first_var - 1));
+  Coefficient_traits::const_reference c1 = c.expression().get(Variable(c_second_var - 1));
+  if (sgn(c0) == sgn(c1) || c0 != -c1)
+    // Constraint `c' is not a bounded difference.
+    return false;
+
+  c_coeff = c1;
+  
   return true;
 }
 
diff --git a/src/BD_Shape.defs.hh b/src/BD_Shape.defs.hh
index 73070c5..64b882e 100644
--- a/src/BD_Shape.defs.hh
+++ b/src/BD_Shape.defs.hh
@@ -1,6 +1,6 @@
 /* BD_Shape class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BD_Shape_defs_hh
 #define PPL_BD_Shape_defs_hh 1
@@ -46,6 +46,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Checked_Number.defs.hh"
 #include "WRD_coefficient_types.defs.hh"
 #include "Bit_Matrix.defs.hh"
+#include "Coefficient.defs.hh"
+#include "Interval.types.hh"
+#include "Linear_Form.types.hh"
 #include <cstddef>
 #include <iosfwd>
 #include <vector>
@@ -68,6 +71,11 @@ operator<<(std::ostream& s, const BD_Shape<T>& bds);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates BD_Shape */
+template <typename T>
+void swap(BD_Shape<T>& x, BD_Shape<T>& y);
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are the same BDS.
 /*! \relates BD_Shape
   Note that \p x and \p y may be dimension-incompatible shapes:
@@ -76,7 +84,7 @@ operator<<(std::ostream& s, const BD_Shape<T>& bds);
 template <typename T>
 bool operator==(const BD_Shape<T>& x, const BD_Shape<T>& y);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y aren't the same BDS.
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not the same BDS.
 /*! \relates BD_Shape
   Note that \p x and \p y may be dimension-incompatible shapes:
   in this case, the value <CODE>true</CODE> is returned.
@@ -246,48 +254,49 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
                                 Temp& tmp1,
                                 Temp& tmp2);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as a bounded difference.
-/*! \relates BD_Shape
-  \return
-  <CODE>true</CODE> if the constraint \p c is a
-  \ref Bounded_Difference_Shapes "bounded difference";
-  <CODE>false</CODE> otherwise.
-
-  \param c
-  The constraint to be decoded.
-
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
-
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0, 1 and 2.
-
-  \param c_first_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the first variable having
-  a non-zero coefficient in \p c.
-
-  \param c_second_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
-  then it will be set to the index of the second variable having
-  a non-zero coefficient in \p c.
-
-  \param c_coeff
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the value of the first non-zero coefficient
-  in \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_bounded_difference(const Constraint& c,
-                                dimension_type c_space_dim,
-                                dimension_type& c_num_vars,
-                                dimension_type& c_first_var,
-                                dimension_type& c_second_var,
-                                Coefficient& c_coeff);
+// This class contains some helper functions that need to be friends of
+// Linear_Expression.
+class BD_Shape_Helpers {
+public:
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as a bounded difference.
+  /*! \relates BD_Shape
+    \return
+    <CODE>true</CODE> if the constraint \p c is a
+    \ref Bounded_Difference_Shapes "bounded difference";
+    <CODE>false</CODE> otherwise.
+
+    \param c
+    The constraint to be decoded.
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0, 1 and 2.
+
+    \param c_first_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the first variable having
+    a non-zero coefficient in \p c.
+
+    \param c_second_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
+    then it will be set to the index of the second variable having
+    a non-zero coefficient in \p c. If \p c_num_vars is set to 1, this must be
+    0.
+
+    \param c_coeff
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the value of the first non-zero coefficient
+    in \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_bounded_difference(const Constraint& c,
+                                         dimension_type& c_num_vars,
+                                         dimension_type& c_first_var,
+                                         dimension_type& c_second_var,
+                                         Coefficient& c_coeff);
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Extracts leader indices from the predecessor relation.
@@ -579,7 +588,7 @@ public:
     Swaps \p *this with \p y
     (\p *this and \p y can be dimension-incompatible).
   */
-  void swap(BD_Shape& y);
+  void m_swap(BD_Shape& y);
 
   //! Destructor.
   ~BD_Shape();
@@ -1011,6 +1020,99 @@ public:
   void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
+    Refines the system of BD_Shape constraints defining \p *this using
+    the constraint expressed by \p left \f$\leq\f$ \p right.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void refine_with_linear_form_inequality(
+                   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
+
+  /*! \brief
+    Refines the system of BD_Shape constraints defining \p *this using
+    the constraint expressed by \p left \f$\relsym\f$ \p right, where
+    \f$\relsym\f$ is the relation symbol specified by \p relsym.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param relsym
+    The relation symbol.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+                   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right,
+                   Relation_Symbol relsym);
+
+  //! Applies to \p dest the interval constraints embedded in \p *this.
+  /*!
+    \param dest
+    The object to which the constraints will be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest.
+
+    The template type parameter U must provide the following methods.
+    \code
+      dimension_type space_dimension() const
+    \endcode
+    returns the space dimension of the object.
+    \code
+      void set_empty()
+    \endcode
+    sets the object to an empty object.
+    \code
+      bool restrict_lower(dimension_type dim, const T& lb)
+    \endcode
+    restricts the object by applying the lower bound \p lb to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+    \code
+      bool restrict_upper(dimension_type dim, const T& ub)
+    \endcode
+    restricts the object by applying the upper bound \p ub to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+  */
+  template <typename U>
+  void export_interval_constraints(U& dest) const;
+
+  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -1122,6 +1224,27 @@ public:
                     Coefficient_traits::const_reference denominator
                     = Coefficient_one());
 
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point coefficients that
+    defines the affine expression. ALL of its coefficients MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
+  */
+  template <typename Interval_Info>
+  void affine_form_image(Variable var,
+                        const Linear_Form<Interval<T, Interval_Info> >& lf);
+
   /*! \brief
     Assigns to \p *this the
     \ref Single_Update_Affine_Functions "affine preimage"
@@ -1344,9 +1467,9 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
     variables not in \p vars, the behavior is undefined.
     When non-null, the pointed-to constraint system is assumed to
     represent the conditional or looping construct guard with respect
@@ -1354,7 +1477,7 @@ public:
     computation of upper bounds and due to non-distributivity of
     constraint refinement over upper bounds, passing a constraint
     system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
     \param complexity_threshold
     A precision parameter of the \ref Wrapping_Operator "wrapping operator":
@@ -1366,15 +1489,15 @@ public:
     precision).
 
     \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
     \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
+    <CODE>*cs_p</CODE>.
   */
   void wrap_assign(const Variables_Set& vars,
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1389,7 +1512,7 @@ public:
     Currently there is no optimality guarantee, not even if
     \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-   void drop_some_non_integer_points(Complexity_Class complexity
+  void drop_some_non_integer_points(Complexity_Class complexity
                                     = ANY_COMPLEXITY);
 
   /*! \brief
@@ -1753,6 +1876,16 @@ public:
   */
   void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
+  //! Refines \p store with the constraints defining \p *this.
+  /*!
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename Interval_Info>
+  void refine_fp_interval_abstract_store(Box<Interval<T, Interval_Info> >&
+                                         store) const;
+
+
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
   PPL_OUTPUT_DECLARATIONS
@@ -2005,7 +2138,7 @@ private:
     if the assumption does not hold, the behavior is undefined.
 
     \note
-    The integer case is only enabled if T is an integer datatype.
+    The integer case is only enabled if T is an integer data type.
   */
   template <bool integer_upper_bound>
   bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
@@ -2039,10 +2172,10 @@ private:
   //! Adds the constraint <CODE>dbm[i][j] \<= k</CODE>.
   void add_dbm_constraint(dimension_type i, dimension_type j, const N& k);
 
-  //! Adds the constraint <CODE>dbm[i][j] \<= num/den</CODE>.
+  //! Adds the constraint <CODE>dbm[i][j] \<= numer/denom</CODE>.
   void add_dbm_constraint(dimension_type i, dimension_type j,
-                          Coefficient_traits::const_reference num,
-                          Coefficient_traits::const_reference den);
+                          Coefficient_traits::const_reference numer,
+                          Coefficient_traits::const_reference denom);
 
   /*! \brief
     Adds to the BDS the constraint
@@ -2070,7 +2203,7 @@ private:
     <CODE>v - u \<= ub_v - lb_u</CODE>. We can be more precise if variable
     \p u played an active role in the computation of the upper bound for
     \p v, i.e., if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> is greater than zero. In particular:
+    <CODE>q == sc_expr[u]/sc_denom</CODE> is greater than zero. In particular:
       - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
       - if <CODE>0 \< q \< 1</CODE>, then
         <CODE>v - u \<= ub_v - (q*ub_u + (1-q)*lb_u)</CODE>.
@@ -2078,9 +2211,73 @@ private:
   void deduce_v_minus_u_bounds(dimension_type v,
                                dimension_type last_v,
                                const Linear_Expression& sc_expr,
-                               Coefficient_traits::const_reference sc_den,
+                               Coefficient_traits::const_reference sc_denom,
                                const N& ub_v);
 
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal c\f$
+  */
+  template <typename Interval_Info>
+  void inhomogeneous_affine_form_image(const dimension_type& var_id,
+				                       const Interval<T, Interval_Info>& b);
+
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal ax + c\f$
+  */
+  template <typename Interval_Info>
+  void one_variable_affine_form_image(const dimension_type& var_id,
+                               const Interval<T, Interval_Info>& b,
+                               const Interval<T, Interval_Info>& w_coeff,
+                               const dimension_type& w_id,
+                               const dimension_type& space_dim);
+
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal ax + by + c\f$
+  */
+  template <typename Interval_Info>
+  void two_variables_affine_form_image(const dimension_type& var_id,
+                 const Linear_Form<Interval<T,Interval_Info> >& lf,
+                                   const dimension_type& space_dim);
+
+  /* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case: \f$l \equal ax + c\f$
+  */
+  template <typename Interval_Info>
+  void left_inhomogeneous_refine(const dimension_type& right_t,
+				 const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
+
+  /* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case: \f$ax +b \equal cy + d\f$
+  */
+  template <typename Interval_Info>
+  void left_one_var_refine(const dimension_type& left_w_id,
+			   const dimension_type& right_t,
+			   const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
+
+/* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case.
+  */
+  template <typename Interval_Info>
+  void general_refine(const dimension_type& left_w_id,
+			   const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
+
+  template <typename Interval_Info>
+  void linear_form_upper_bound(const Linear_Form<Interval<T, Interval_Info> >&
+                               lf,
+                               N& result) const;
+
   //! An helper function for the computation of affine relations.
   /*!
     For each dbm index \p u (less than or equal to \p last_v and different
@@ -2091,7 +2288,7 @@ private:
     <CODE>u - v \<= ub_u - lb_v</CODE>. We can be more precise if variable
     \p u played an active role in the computation of the lower bound for
     \p v, i.e., if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> is greater than zero.
+    <CODE>q == sc_expr[u]/sc_denom</CODE> is greater than zero.
     In particular:
       - if <CODE>q \>= 1</CODE>, then <CODE>u - v \<= lb_u - lb_v</CODE>;
       - if <CODE>0 \< q \< 1</CODE>, then
@@ -2100,7 +2297,7 @@ private:
   void deduce_u_minus_v_bounds(dimension_type v,
                                dimension_type last_v,
                                const Linear_Expression& sc_expr,
-                               Coefficient_traits::const_reference sc_den,
+                               Coefficient_traits::const_reference sc_denom,
                                const N& minus_lb_v);
 
   /*! \brief
@@ -2131,7 +2328,7 @@ private:
   //! \name Exception Throwers
   //@{
   void throw_dimension_incompatible(const char* method,
-                                    const BD_Shape& x) const;
+                                    const BD_Shape& y) const;
 
   void throw_dimension_incompatible(const char* method,
                                     dimension_type required_dim) const;
@@ -2146,27 +2343,23 @@ private:
                                     const Generator& g) const;
 
   void throw_dimension_incompatible(const char* method,
-                                    const char* name_row,
-                                    const Linear_Expression& y) const;
+                                    const char* le_name,
+                                    const Linear_Expression& le) const;
+
+  template<typename Interval_Info>
+  void
+  throw_dimension_incompatible(const char* method,
+                               const char* lf_name,
+                               const Linear_Form<Interval<T, Interval_Info> >&
+                               lf) const;
 
   static void throw_expression_too_complex(const char* method,
-                                           const Linear_Expression& e);
+                                           const Linear_Expression& le);
 
-  static void throw_generic(const char* method, const char* reason);
+  static void throw_invalid_argument(const char* method, const char* reason);
   //@} // Exception Throwers
 };
 
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
-template <typename T>
-void swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
-          Parma_Polyhedra_Library::BD_Shape<T>& y);
-
-} // namespace std
-
 #include "BDS_Status.inlines.hh"
 #include "BD_Shape.inlines.hh"
 #include "BD_Shape.templates.hh"
diff --git a/src/BD_Shape.inlines.hh b/src/BD_Shape.inlines.hh
index 4f47f46..cfbd4df 100644
--- a/src/BD_Shape.inlines.hh
+++ b/src/BD_Shape.inlines.hh
@@ -1,6 +1,6 @@
 /* BD_Shape class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BD_Shape_inlines_hh
 #define PPL_BD_Shape_inlines_hh 1
@@ -200,8 +200,8 @@ inline void
 BD_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
   // Dimension-compatibility check.
   if (cs.space_dimension() > space_dimension())
-    throw_generic("refine_with_constraints(cs)",
-                  "cs and *this are space-dimension incompatible");
+    throw_invalid_argument("refine_with_constraints(cs)",
+                           "cs and *this are space-dimension incompatible");
 
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
@@ -225,8 +225,8 @@ void
 BD_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
   // Dimension-compatibility check.
   if (cgs.space_dimension() > space_dimension())
-    throw_generic("refine_with_congruences(cgs)",
-                  "cgs and *this are space-dimension incompatible");
+    throw_invalid_argument("refine_with_congruences(cgs)",
+                           "cgs and *this are space-dimension incompatible");
 
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
@@ -280,7 +280,7 @@ inline
 BD_Shape<T>::BD_Shape(const Box<Interval>& box,
                       Complexity_Class)
   : dbm(box.space_dimension() + 1), status(), redundancy_dbm() {
-  // Check for emptyness for maximum precision.
+  // Check emptiness for maximum precision.
   if (box.is_empty())
     set_empty();
   else if (box.space_dimension() > 0) {
@@ -308,7 +308,7 @@ inline
 BD_Shape<T>::BD_Shape(const Octagonal_Shape<U>& os,
                       Complexity_Class)
   : dbm(os.space_dimension() + 1), status(), redundancy_dbm() {
-  // Check for emptyness for maximum precision.
+  // Check for emptiness for maximum precision.
   if (os.is_empty())
     set_empty();
   else if (os.space_dimension() > 0) {
@@ -338,10 +338,11 @@ BD_Shape<T>::~BD_Shape() {
 
 template <typename T>
 inline void
-BD_Shape<T>::swap(BD_Shape& y) {
-  std::swap(dbm, y.dbm);
-  std::swap(status, y.status);
-  std::swap(redundancy_dbm, y.redundancy_dbm);
+BD_Shape<T>::m_swap(BD_Shape& y) {
+  using std::swap;
+  swap(dbm, y.dbm);
+  swap(status, y.status);
+  swap(redundancy_dbm, y.redundancy_dbm);
 }
 
 template <typename T>
@@ -488,11 +489,11 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two BDSs is empty, then they are equal if and only if
   // the other BDS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return rectilinear_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
@@ -553,11 +554,11 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two BDSs is empty, then they are equal if and only if
   // the other BDS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return euclidean_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
@@ -618,11 +619,11 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two BDSs is empty, then they are equal if and only if
   // the other BDS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return l_infinity_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
@@ -671,13 +672,13 @@ template <typename T>
 inline void
 BD_Shape<T>::add_dbm_constraint(const dimension_type i,
 				const dimension_type j,
-				Coefficient_traits::const_reference num,
-				Coefficient_traits::const_reference den) {
+				Coefficient_traits::const_reference numer,
+				Coefficient_traits::const_reference denom) {
   // Private method: the caller has to ensure the following.
   PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
-  PPL_ASSERT(den != 0);
+  PPL_ASSERT(denom != 0);
   PPL_DIRTY_TEMP(N, k);
-  div_round_up(k, num, den);
+  div_round_up(k, numer, denom);
   add_dbm_constraint(i, j, k);
 }
 
@@ -687,12 +688,13 @@ BD_Shape<T>::time_elapse_assign(const BD_Shape& y) {
   // Dimension-compatibility check.
   if (space_dimension() != y.space_dimension())
     throw_dimension_incompatible("time_elapse_assign(y)", y);
-  // See the polyhedra documentation.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.time_elapse_assign(py);
-  BD_Shape<T> x(px);
-  swap(x);
+  // Compute time-elapse on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.time_elapse_assign(ph_y);
+  BD_Shape<T> x(ph_x);
+  m_swap(x);
   PPL_ASSERT(OK());
 }
 
@@ -730,24 +732,26 @@ BD_Shape<T>::integer_upper_bound_assign_if_exact(const BD_Shape& y) {
 
 template <typename T>
 inline void
-BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
+BD_Shape<T>
+::remove_higher_space_dimensions(const dimension_type new_dimension) {
   // Dimension-compatibility check: the variable having
   // maximum index is the one occurring last in the set.
-  if (new_dim > space_dimension())
+  const dimension_type space_dim = space_dimension();
+  if (new_dimension > space_dim)
     throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
-				 new_dim);
+				 new_dimension);
 
   // The removal of no dimensions from any BDS is a no-op.
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space BDS.
-  if (new_dim == space_dimension()) {
+  if (new_dimension == space_dim) {
     PPL_ASSERT(OK());
     return;
   }
 
   // Shortest-path closure is necessary as in remove_space_dimensions().
   shortest_path_closure_assign();
-  dbm.resize_no_copy(new_dim + 1);
+  dbm.resize_no_copy(new_dimension + 1);
 
   // Shortest-path closure is maintained.
   // TODO: see whether or not reduction can be (efficiently!) maintained too.
@@ -756,7 +760,7 @@ BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
 
   // If we removed _all_ dimensions from a non-empty BDS,
   // the zero-dim universe BDS has been obtained.
-  if (new_dim == 0 && !marked_empty())
+  if (new_dimension == 0 && !marked_empty())
     set_zero_dim_univ();
   PPL_ASSERT(OK());
 }
@@ -767,11 +771,11 @@ BD_Shape<T>::wrap_assign(const Variables_Set& vars,
                          Bounded_Integer_Type_Width w,
                          Bounded_Integer_Type_Representation r,
                          Bounded_Integer_Type_Overflow o,
-                         const Constraint_System* pcs,
+                         const Constraint_System* cs_p,
                          unsigned complexity_threshold,
                          bool wrap_individually) {
   Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
+                              vars, w, r, o, cs_p,
                               complexity_threshold, wrap_individually,
                               "BD_Shape");
 }
@@ -796,12 +800,13 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp) {
 template <typename T>
 inline void
 BD_Shape<T>::H79_widening_assign(const BD_Shape& y, unsigned* tp) {
-  // See the documentation for polyhedra.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.H79_widening_assign(py, tp);
-  BD_Shape x(px);
-  swap(x);
+  // Compute the H79 widening on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.H79_widening_assign(ph_y, tp);
+  BD_Shape x(ph_x);
+  m_swap(x);
   PPL_ASSERT(OK());
 }
 
@@ -816,12 +821,13 @@ inline void
 BD_Shape<T>::limited_H79_extrapolation_assign(const BD_Shape& y,
 					      const Constraint_System& cs,
 					      unsigned* tp) {
-  // See the documentation for polyhedra.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.limited_H79_extrapolation_assign(py, cs, tp);
-  BD_Shape x(px);
-  swap(x);
+  // Compute the limited H79 extrapolation on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.limited_H79_extrapolation_assign(ph_y, cs, tp);
+  BD_Shape x(ph_x);
+  m_swap(x);
   PPL_ASSERT(OK());
 }
 
@@ -834,7 +840,51 @@ BD_Shape<T>::total_memory_in_bytes() const {
 template <typename T>
 inline int32_t
 BD_Shape<T>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
+}
+
+template <typename T>
+template <typename Interval_Info>
+inline void
+BD_Shape<T>::generalized_refine_with_linear_form_inequality(
+	     const Linear_Form<Interval<T, Interval_Info> >& left,
+	     const Linear_Form<Interval<T, Interval_Info> >& right,
+             const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right);
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case LESS_THAN:
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right);
+    break;
+  case GREATER_THAN:
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename T>
+template <typename Interval_Info>
+inline void
+BD_Shape<T>
+::refine_fp_interval_abstract_store(Box<Interval<T, Interval_Info> >&
+                                    store) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "BD_Shape<T>::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
 }
 
 template <typename T>
@@ -842,24 +892,19 @@ inline void
 BD_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
   if (!is_integer(elem)) {
     Result r = floor_assign_r(elem, elem, ROUND_DOWN);
-    used(r);
+    PPL_USED(r);
     PPL_ASSERT(r == V_EQ);
     reset_shortest_path_closed();
   }
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
+/*! \relates BD_Shape */
 template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
-     Parma_Polyhedra_Library::BD_Shape<T>& y) {
-  x.swap(y);
+swap(BD_Shape<T>& x, BD_Shape<T>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_BD_Shape_inlines_hh)
diff --git a/src/BD_Shape.templates.hh b/src/BD_Shape.templates.hh
index e3d764f..f14bae4 100644
--- a/src/BD_Shape.templates.hh
+++ b/src/BD_Shape.templates.hh
@@ -1,6 +1,6 @@
 /* BD_Shape class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BD_Shape_templates_hh
 #define PPL_BD_Shape_templates_hh 1
@@ -28,6 +28,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.inlines.hh"
 #include "Congruence_System.inlines.hh"
 #include "Congruence_System.defs.hh"
+#include "Interval.defs.hh"
+#include "Linear_Form.defs.hh"
 #include "Poly_Con_Relation.defs.hh"
 #include "Poly_Gen_Relation.defs.hh"
 #include "MIP_Problem.defs.hh"
@@ -82,35 +84,39 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
         // When handling the first (closure) point, we initialize the DBM.
         dbm_initialized = true;
         const Coefficient& d = g.divisor();
+        // TODO: Check if the following loop can be optimized used
+        // Generator::Expression::const_iterator.
         for (dimension_type i = space_dim; i > 0; --i) {
-          const Coefficient& g_i = g.coefficient(Variable(i-1));
+          const Coefficient& g_i = g.expression().get(Variable(i - 1));
           DB_Row<N>& dbm_i = dbm[i];
           for (dimension_type j = space_dim; j > 0; --j)
             if (i != j)
-              div_round_up(dbm_i[j], g.coefficient(Variable(j-1)) - g_i, d);
+              div_round_up(dbm_i[j], g.expression().get(Variable(j - 1)) - g_i, d);
           div_round_up(dbm_i[0], -g_i, d);
         }
         for (dimension_type j = space_dim; j > 0; --j)
-          div_round_up(dbm_0[j], g.coefficient(Variable(j-1)), d);
+          div_round_up(dbm_0[j], g.expression().get(Variable(j - 1)), d);
         // Note: no need to initialize the first element of the main diagonal.
       }
       else {
         // This is not the first point: the DBM already contains
         // valid values and we must compute maxima.
         const Coefficient& d = g.divisor();
+        // TODO: Check if the following loop can be optimized used
+        // Generator::Expression::const_iterator.
         for (dimension_type i = space_dim; i > 0; --i) {
-          const Coefficient& g_i = g.coefficient(Variable(i-1));
+          const Coefficient& g_i = g.expression().get(Variable(i - 1));
           DB_Row<N>& dbm_i = dbm[i];
           // The loop correctly handles the case when i == j.
           for (dimension_type j = space_dim; j > 0; --j) {
-            div_round_up(tmp, g.coefficient(Variable(j-1)) - g_i, d);
+            div_round_up(tmp, g.expression().get(Variable(j - 1)) - g_i, d);
             max_assign(dbm_i[j], tmp);
           }
           div_round_up(tmp, -g_i, d);
           max_assign(dbm_i[0], tmp);
         }
         for (dimension_type j = space_dim; j > 0; --j) {
-          div_round_up(tmp, g.coefficient(Variable(j-1)), d);
+          div_round_up(tmp, g.expression().get(Variable(j - 1)), d);
           max_assign(dbm_0[j], tmp);
         }
       }
@@ -123,8 +129,9 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
 
   if (!point_seen)
     // The generator system is not empty, but contains no points.
-    throw_generic("BD_Shape(gs)",
-                  "the non-empty generator system gs contains no points.");
+    throw_invalid_argument("BD_Shape(gs)",
+                           "the non-empty generator system gs "
+                           "contains no points.");
 
   // Going through all the lines and rays.
   for (Generator_System::const_iterator gs_i = gs_begin;
@@ -132,34 +139,41 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
     const Generator& g = *gs_i;
     switch (g.type()) {
     case Generator::LINE:
+      // TODO: Check if the following loop can be optimized used
+      // Generator::Expression::const_iterator.
       for (dimension_type i = space_dim; i > 0; --i) {
-        const Coefficient& g_i = g.coefficient(Variable(i-1));
+        const Coefficient& g_i = g.expression().get(Variable(i - 1));
         DB_Row<N>& dbm_i = dbm[i];
         // The loop correctly handles the case when i == j.
         for (dimension_type j = space_dim; j > 0; --j)
-          if (g_i != g.coefficient(Variable(j-1)))
+          if (g_i != g.expression().get(Variable(j - 1)))
             assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
         if (g_i != 0)
           assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
       }
-      for (dimension_type j = space_dim; j > 0; --j)
-        if (g.coefficient(Variable(j-1)) != 0)
-          assign_r(dbm_0[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+            i_end = g.expression().end(); i != i_end; ++i)
+        assign_r(dbm_0[i.variable().space_dimension()],
+                 PLUS_INFINITY, ROUND_NOT_NEEDED);
       break;
     case Generator::RAY:
+      // TODO: Check if the following loop can be optimized used
+      // Generator::Expression::const_iterator.
       for (dimension_type i = space_dim; i > 0; --i) {
-        const Coefficient& g_i = g.coefficient(Variable(i-1));
+        const Coefficient& g_i = g.expression().get(Variable(i - 1));
         DB_Row<N>& dbm_i = dbm[i];
         // The loop correctly handles the case when i == j.
         for (dimension_type j = space_dim; j > 0; --j)
-          if (g_i < g.coefficient(Variable(j-1)))
+          if (g_i < g.expression().get(Variable(j - 1)))
             assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
         if (g_i < 0)
           assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
       }
-      for (dimension_type j = space_dim; j > 0; --j)
-        if (g.coefficient(Variable(j-1)) > 0)
-          assign_r(dbm_0[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+            i_end = g.expression().end(); i != i_end; ++i)
+        if (*i > 0)
+          assign_r(dbm_0[i.variable().space_dimension()],
+                   PLUS_INFINITY, ROUND_NOT_NEEDED);
       break;
     default:
       // Points and closure points already dealt with.
@@ -245,16 +259,16 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
     *this = BD_Shape<T>(num_dimensions, UNIVERSE);
     // Get all the upper bounds.
     Generator g(point());
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(numer);
+    PPL_DIRTY_TEMP_COEFFICIENT(denom);
     for (dimension_type i = 1; i <= num_dimensions; ++i) {
       Variable x(i-1);
       // Evaluate optimal upper bound for `x <= ub'.
       lp.set_objective_function(x);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
         g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        div_round_up(dbm[0][i], num, den);
+        lp.evaluate_objective_function(g, numer, denom);
+        div_round_up(dbm[0][i], numer, denom);
       }
       // Evaluate optimal upper bound for `x - y <= ub'.
       for (dimension_type j = 1; j <= num_dimensions; ++j) {
@@ -264,16 +278,16 @@ BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
         lp.set_objective_function(x - y);
         if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
           g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up(dbm[j][i], num, den);
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(dbm[j][i], numer, denom);
         }
       }
       // Evaluate optimal upper bound for `-x <= ub'.
       lp.set_objective_function(-x);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
         g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        div_round_up(dbm[i][0], num, den);
+        lp.evaluate_objective_function(g, numer, denom);
+        div_round_up(dbm[i][0], numer, denom);
       }
     }
     set_shortest_path_closed();
@@ -303,7 +317,7 @@ BD_Shape<T>::affine_dimension() const {
 
   // The vector `predecessor' is used to represent equivalence classes:
   // `predecessor[i] == i' if and only if `i' is the leader of its
-  // equivalence class (i.e., the minimum index in the class);
+  // equivalence class (i.e., the minimum index in the class).
   std::vector<dimension_type> predecessor;
   compute_predecessors(predecessor);
 
@@ -326,43 +340,43 @@ BD_Shape<T>::minimized_congruences() const {
   shortest_path_closure_assign();
 
   const dimension_type space_dim = space_dimension();
-  Congruence_System cgs;
+  Congruence_System cgs(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cgs = Congruence_System::zero_dim_empty();
+    return cgs;
   }
-  else if (marked_empty())
-    cgs.insert((0*Variable(space_dim-1) %= 1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) == 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-
-    // Compute leader information.
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-
-    // Go through the non-leaders to generate equality constraints.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const dimension_type leader = leaders[i];
-      if (i != leader) {
-        // Generate the constraint relating `i' and its leader.
-        if (leader == 0) {
-          // A unary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
-          numer_denom(dbm_0[i], num, den);
-          cgs.insert(den*Variable(i-1) == num);
-        }
-        else {
-          // A binary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
-          numer_denom(dbm[i][leader], num, den);
-          cgs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
-        }
+
+  if (marked_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
+  }
+
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+
+  // Compute leader information.
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+
+  // Go through the non-leaders to generate equality constraints.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const dimension_type leader = leaders[i];
+    if (i != leader) {
+      // Generate the constraint relating `i' and its leader.
+      if (leader == 0) {
+        // A unary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
+        numer_denom(dbm_0[i], numer, denom);
+        cgs.insert(denom*Variable(i-1) == numer);
+      }
+      else {
+        // A binary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
+        numer_denom(dbm[i][leader], numer, denom);
+        cgs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer);
       }
     }
   }
@@ -372,9 +386,8 @@ BD_Shape<T>::minimized_congruences() const {
 template <typename T>
 void
 BD_Shape<T>::add_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
   // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
+  if (c.space_dimension() > space_dimension())
     throw_dimension_incompatible("add_constraint(c)", c);
 
   // Get rid of strict inequalities.
@@ -386,7 +399,8 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
     if (c.is_tautological())
       return;
     // Nontrivial strict inequalities are not allowed.
-    throw_generic("add_constraint(c)", "strict inequalities are not allowed");
+    throw_invalid_argument("add_constraint(c)",
+                           "strict inequalities are not allowed");
   }
 
   dimension_type num_vars = 0;
@@ -394,9 +408,9 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   // Constraints that are not bounded differences are not allowed.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff))
-    throw_generic("add_constraint(c)",
-                  "c is not a bounded difference constraint");
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not a bounded difference constraint");
 
   const Coefficient& inhomo = c.inhomogeneous_term();
   if (num_vars == 0) {
@@ -410,12 +424,11 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   // Select the cell to be modified for the "<=" part of the constraint,
   // and set `coeff' to the absolute value of itself.
   const bool negative = (coeff < 0);
-  N& x = negative ? dbm[i][j] : dbm[j][i];
-  N& y = negative ? dbm[j][i] : dbm[i][j];
   if (negative)
     neg_assign(coeff);
 
   bool changed = false;
+  N& x = negative ? dbm[i][j] : dbm[j][i];
   // Compute the bound for `x', rounding towards plus infinity.
   PPL_DIRTY_TEMP(N, d);
   div_round_up(d, inhomo, coeff);
@@ -425,6 +438,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   }
 
   if (c.is_equality()) {
+    N& y = negative ? dbm[j][i] : dbm[i][j];
     // Also compute the bound for `y', rounding towards plus infinity.
     PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
     neg_assign(minus_c_term, inhomo);
@@ -460,8 +474,8 @@ BD_Shape<T>::add_congruence(const Congruence& cg) {
       return;
     }
     // Non-trivial and proper congruences are not allowed.
-    throw_generic("add_congruence(cg)",
-                  "cg is a non-trivial, proper congruence");
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is a non-trivial, proper congruence");
   }
 
   PPL_ASSERT(cg.is_equality());
@@ -473,15 +487,14 @@ template <typename T>
 void
 BD_Shape<T>::refine_no_check(const Constraint& c) {
   PPL_ASSERT(!marked_empty());
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c_space_dim <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   // Constraints that are not bounded differences are ignored.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff))
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff))
     return;
 
   const Coefficient& inhomo = c.inhomogeneous_term();
@@ -583,43 +596,45 @@ BD_Shape<T>::contains(const BD_Shape& y) const {
   if (x_space_dim != y.space_dimension())
     throw_dimension_incompatible("contains(y)", y);
 
-  // The zero-dimensional universe shape contains any other
-  // dimension-compatible shape.
-  // The zero-dimensional empty shape only contains another
-  // zero-dimensional empty shape.
   if (x_space_dim == 0) {
-    if (!marked_empty())
-      return true;
-    else
-      return y.marked_empty();
+    // The zero-dimensional empty shape only contains another
+    // zero-dimensional empty shape.
+    // The zero-dimensional universe shape contains any other
+    // zero-dimensional shape.
+    return marked_empty() ? y.marked_empty() : true;
   }
 
   /*
-    The `y' bounded difference shape need be closed.
-    In fact if, for example, in `*this' we have the constraints:
+    The `y' bounded difference shape must be closed.  As an example,
+    consider the case where in `*this' we have the constraints
 
-    x1 - x2 <= 1;
-    x1      <= 3;
-    x2      <= 2;
+    x1 - x2 <= 1,
+    x1      <= 3,
+    x2      <= 2,
 
-    in `y' the constraints are:
+    and in `y' the constraints are
 
-    x1 - x2 <= 0;
-    x2      <= 1;
+    x1 - x2 <= 0,
+    x2      <= 1.
 
-    without closure it returns "false", instead if we close `y' we have
-    the implicit constraint
+    Without closure the (erroneous) analysis of the inhomogeneous terms
+    would conclude containment does not hold.  Closing `y' results into
+    the "discovery" of the implicit constraint
 
-    x1      <= 1;
+    x1      <= 1,
 
-    and so we obtain the right result "true".
+    at which point the inhomogeneous terms can be examined to determine
+    that containment does hold.
   */
   y.shortest_path_closure_assign();
-
   // An empty shape is contained in any other dimension-compatible shapes.
   if (y.marked_empty())
     return true;
 
+  // If `x' is empty it can not contain `y' (which is not empty).
+  if (x.is_empty())
+    return false;
+
   // `*this' contains `y' if and only if every cell of `dbm'
   // is greater than or equal to the correspondent one of `y.dbm'.
   for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
@@ -779,7 +794,7 @@ BD_Shape<T>::frequency(const Linear_Expression& expr,
   // and return true. Otherwise the values for \p expr
   // are not discrete so return false.
 
-  // Space dimension = 0: if empty, then return false;
+  // Space dimension is 0: if empty, then return false;
   // otherwise the frequency is 0 and the value is the inhomogeneous term.
   if (space_dim == 0) {
     if (is_empty())
@@ -798,59 +813,58 @@ BD_Shape<T>::frequency(const Linear_Expression& expr,
 
   // The BD shape has at least 1 dimension and is not empty.
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
   PPL_DIRTY_TEMP(N, tmp);
   Linear_Expression le = expr;
   // Boolean to keep track of a variable `v' in expression `le'.
   // If we can replace `v' by an expression using variables other
   // than `v' and are already in `le', then this is set to true.
-  bool constant_v = false;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
 
+  // TODO: This loop can be optimized more, if needed, exploiting the
+  // (possible) sparseness of le.
   for (dimension_type i = dbm.num_rows(); i-- > 1; ) {
-    constant_v = false;
     const Variable v(i-1);
     coeff = le.coefficient(v);
-    if (coeff == 0) {
-      constant_v = true;
+    if (coeff == 0)
       continue;
-    }
 
     const DB_Row<N>& dbm_i = dbm[i];
     // Check if `v' is constant in the BD shape.
     assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED);
     if (is_additive_inverse(dbm[0][i], tmp)) {
       // If `v' is constant, replace it in `le' by the value.
-      numer_denom(tmp, num, den);
-      le -= coeff*v;
-      le *= den;
-      le -= num*coeff;
-      val_den *= den;
-      constant_v = true;
+      numer_denom(tmp, numer, denom);
+      sub_mul_assign(le, coeff, v);
+      le *= denom;
+      le -= numer*coeff;
+      val_denom *= denom;
       continue;
     }
     // Check the bounded differences with the other dimensions that
     // have non-zero coefficient in `le'.
     else {
-      PPL_ASSERT(!constant_v);
-      for (dimension_type j = i; j-- > 1; ) {
-        const Variable vj(j-1);
-        if (le.coefficient(vj) == 0)
-          // The coefficient in `le' is 0, so do nothing.
-          continue;
-        assign_r(tmp, dbm_i[j], ROUND_NOT_NEEDED);
-        if (is_additive_inverse(dbm[j][i], tmp)) {
+      bool constant_v = false;
+      for (Linear_Expression::const_iterator j = le.begin(),
+            j_end = le.lower_bound(Variable(i - 1)); j != j_end; ++j) {
+        const Variable vj = j.variable();
+        const dimension_type j_dim = vj.space_dimension();
+        assign_r(tmp, dbm_i[j_dim], ROUND_NOT_NEEDED);
+        if (is_additive_inverse(dbm[j_dim][i], tmp)) {
           // The coefficient for `vj' in `le' is not 0
           // and the difference with `v' in the BD shape is constant.
           // So apply this equality to eliminate `v' in `le'.
-          numer_denom(tmp, num, den);
-          le -= coeff*v - coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
+          numer_denom(tmp, numer, denom);
+          // Modifying le invalidates the iterators, but it's not a problem
+          // since we are going to exit the loop.
+          sub_mul_assign(le, coeff, v);
+          add_mul_assign(le, coeff, vj);
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
           constant_v = true;
           break;
         }
@@ -860,16 +874,13 @@ BD_Shape<T>::frequency(const Linear_Expression& expr,
         return false;
     }
   }
-  if (!constant_v)
-    // The expression `expr' is not constant.
-    return false;
 
   // The expression `expr' is constant.
   freq_n = 0;
   freq_d = 1;
 
   // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d);
   return true;
 }
 
@@ -911,13 +922,13 @@ BD_Shape<T>
   // immediately precedes a given one in the corresponding equivalence class.
   // The `leader' of an equivalence class is the element having minimum
   // index: leaders are their own predecessors.
-  const dimension_type pred_size = dbm.num_rows();
+  const dimension_type predecessor_size = dbm.num_rows();
   // Initially, each variable is leader of its own zero-equivalence class.
-  predecessor.reserve(pred_size);
-  for (dimension_type i = 0; i < pred_size; ++i)
+  predecessor.reserve(predecessor_size);
+  for (dimension_type i = 0; i < predecessor_size; ++i)
     predecessor.push_back(i);
   // Now compute actual predecessors.
-  for (dimension_type i = pred_size; i-- > 1; )
+  for (dimension_type i = predecessor_size; i-- > 1; )
     if (i == predecessor[i]) {
       const DB_Row<N>& dbm_i = dbm[i];
       for (dimension_type j = i; j-- > 0; )
@@ -940,12 +951,12 @@ BD_Shape<T>::compute_leaders(std::vector<dimension_type>& leaders) const {
   // Flatten the predecessor chains so as to obtain leaders.
   PPL_ASSERT(leaders[0] == 0);
   for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) {
-    const dimension_type l_i = leaders[i];
-    PPL_ASSERT(l_i <= i);
-    if (l_i != i) {
-      const dimension_type ll_i = leaders[l_i];
-      PPL_ASSERT(ll_i == leaders[ll_i]);
-      leaders[i] = ll_i;
+    const dimension_type leaders_i = leaders[i];
+    PPL_ASSERT(leaders_i <= i);
+    if (leaders_i != i) {
+      const dimension_type leaders_leaders_i = leaders[leaders_i];
+      PPL_ASSERT(leaders_leaders_i == leaders[leaders_leaders_i]);
+      leaders[i] = leaders_leaders_i;
     }
   }
 }
@@ -1032,26 +1043,26 @@ BD_Shape<T>::is_shortest_path_reduced() const {
   // the variable with the selected variable is connected:
   // we check the row of each variable:
   // a- each leader could be connected with only zero-equivalent one,
-  // b- each no-leader with only another zero-equivalent one.
+  // b- each non-leader with only another zero-equivalent one.
   for (dimension_type i = 0; i <= space_dim; ++i) {
     // It count with how many variables the selected variable is
     // connected.
     dimension_type t = 0;
-    dimension_type ld_i = leader[i];
+    dimension_type leader_i = leader[i];
     // Case a: leader.
-    if (ld_i == i) {
+    if (leader_i == i) {
       for (dimension_type j = 0; j <= space_dim; ++j) {
-        dimension_type ld_j = leader[j];
+        dimension_type leader_j = leader[j];
         // Only the connectedness with equivalent variables
         // is considered.
-        if (j != ld_j)
+        if (j != leader_j)
           if (!redundancy_dbm[i][j]) {
             if (t == 1)
-              // Two no-leaders couldn't connected with the same leader.
+              // Two non-leaders cannot be connected with the same leader.
               return false;
             else
-              if (ld_j != i)
-                // The variables isn't in the same equivalence class.
+              if (leader_j != i)
+                // The variables are not in the same equivalence class.
                 return false;
               else {
                 ++t;
@@ -1060,24 +1071,24 @@ BD_Shape<T>::is_shortest_path_reduced() const {
           }
       }
     }
-    // Case b: no-leader.
+    // Case b: non-leader.
     else {
       for (dimension_type j = 0; j <= space_dim; ++j) {
         if (!redundancy_dbm[i][j]) {
-          dimension_type ld_j = leader[j];
-          if (ld_i != ld_j)
-            // The variables isn't in the same equivalence class.
+          dimension_type leader_j = leader[j];
+          if (leader_i != leader_j)
+            // The variables are not in the same equivalence class.
             return false;
           else {
             if (t == 1)
-              // Two variables couldn't connected with the same leader.
+              // The variables cannot be connected with the same leader.
               return false;
             else {
               ++t;
               var_conn[i] = j;
             }
           }
-          // A no-leader must be connected with
+          // A non-leader must be connected with
           // another variable.
           if (t == 0)
             return false;
@@ -1095,9 +1106,8 @@ BD_Shape<T>::is_shortest_path_reduced() const {
   // Step 4: we check if there are single cycles that
   // connected all the zero-equivalent variables between them.
   for (dimension_type i = 0; i <= space_dim; ++i) {
-    bool jc_i = just_checked[i];
     // We do not re-check the already considered single cycles.
-    if (!jc_i) {
+    if (!just_checked[i]) {
       dimension_type v_con = var_conn[i];
       // We consider only the equivalence classes with
       // 2 or plus variables.
@@ -1142,13 +1152,12 @@ BD_Shape<T>::bounds(const Linear_Expression& expr,
   // The constraint `c' is used to check if `expr' is a difference
   // bounded and, in this case, to select the cell.
   const Constraint& c = from_above ? expr <= 0 : expr >= 0;
-  const dimension_type c_space_dim = c.space_dimension();
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   // Check if `c' is a BD constraint.
-  if (extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
+  if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
     if (num_vars == 0)
       // Dealing with a trivial constraint.
       return true;
@@ -1200,13 +1209,12 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
   // The constraint `c' is used to check if `expr' is a difference
   // bounded and, in this case, to select the cell.
   const Constraint& c = maximize ? expr <= 0 : expr >= 0;
-  const dimension_type c_space_dim = c.space_dimension();
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   // Check if `c' is a BD constraint.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
     Optimization_Mode mode_max_min
       = maximize ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, mode_max_min);
@@ -1242,7 +1250,8 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
       // Set `coeff_expr' to the absolute value of coefficient of
       // a variable in `expr'.
       PPL_DIRTY_TEMP(N, coeff_expr);
-      const Coefficient& coeff_i = expr.coefficient(Variable(i-1));
+      PPL_ASSERT(i != 0);
+      const Coefficient& coeff_i = expr.get(Variable(i - 1));
       const int sign_i = sgn(coeff_i);
       if (sign_i > 0)
         assign_r(coeff_expr, coeff_i, ROUND_UP);
@@ -1345,10 +1354,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   // Find the lower bound for a hyperplane with direction
   // defined by the congruence.
   Linear_Expression le = Linear_Expression(cg);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
   bool min_included;
-  bool bounded_below = minimize(le, min_num, min_den, min_included);
+  bool bounded_below = minimize(le, min_numer, min_denom, min_included);
 
   // If there is no lower bound, then some of the hyperplanes defined by
   // the congruence will strictly intersect the shape.
@@ -1361,10 +1370,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
 
   // Find the upper bound for a hyperplane with direction
   // defined by the congruence.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
   bool max_included;
-  bool bounded_above = maximize(le, max_num, max_den, max_included);
+  bool bounded_above = maximize(le, max_numer, max_denom, max_included);
 
   // If there is no upper bound, then some of the hyperplanes defined by
   // the congruence will strictly intersect the shape.
@@ -1376,20 +1385,20 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   // Find the position value for the hyperplane that satisfies the congruence
   // and is above the lower bound for the shape.
   PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  min_value = min_num / min_den;
+  min_value = min_numer / min_denom;
   const Coefficient& modulus = cg.modulus();
   signed_distance = min_value % modulus;
   min_value -= signed_distance;
-  if (min_value * min_den < min_num)
+  if (min_value * min_denom < min_numer)
     min_value += modulus;
 
   // Find the position value for the hyperplane that satisfies the congruence
   // and is below the upper bound for the shape.
   PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  max_value = max_num / max_den;
+  max_value = max_numer / max_denom;
   signed_distance = max_value % modulus;
   max_value += signed_distance;
-  if (max_value * max_den > max_num)
+  if (max_value * max_denom > max_numer)
     max_value -= modulus;
 
   // If the upper bound value is less than the lower bound value,
@@ -1442,88 +1451,88 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type i = 0;
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
     // Constraints that are not bounded differences.
     // Use maximize() and minimize() to do much of the work.
 
     // Find the linear expression for the constraint and use that to
     // find if the expression is bounded from above or below and if it
     // is, find the maximum and minimum values.
-    Linear_Expression le;
-    for (dimension_type k = c_space_dim; k-- > 0; ) {
-      Variable vk(k);
-      le += c.coefficient(vk) * vk;
-    }
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
+    Linear_Expression le(c);
+    le.set_inhomogeneous_term(Coefficient_zero());
+
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
     bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
     bool min_included;
-    bool bounded_above = maximize(le, max_num, max_den, max_included);
-    bool bounded_below = minimize(le, min_num, min_den, min_included);
+    bool bounded_above = maximize(le, max_numer, max_denom, max_included);
+    bool bounded_below = minimize(le, min_numer, min_denom, min_included);
     if (!bounded_above) {
       if (!bounded_below)
         return Poly_Con_Relation::strictly_intersects();
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(min_num)) {
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(min_numer)) {
       case 1:
         if (c.is_equality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::is_included();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_included();
       case 0:
         if (c.is_strict_inequality() || c.is_equality())
-          return  Poly_Con_Relation::strictly_intersects();
-        return  Poly_Con_Relation::is_included();
+          return Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::is_included();
       case -1:
-        return  Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::strictly_intersects();
       }
     }
     if (!bounded_below) {
-      max_num += c.inhomogeneous_term() * max_den;
-      switch (sgn(max_num)) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      switch (sgn(max_numer)) {
       case 1:
-        return  Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::strictly_intersects();
       case 0:
         if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
       case -1:
-        return  Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_disjoint();
       }
     }
     else {
-      max_num += c.inhomogeneous_term() * max_den;
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(max_num)) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(max_numer)) {
       case 1:
-        switch (sgn(min_num)) {
+        switch (sgn(min_numer)) {
         case 1:
           if (c.is_equality())
-            return  Poly_Con_Relation::is_disjoint();
-          return  Poly_Con_Relation::is_included();
+            return Poly_Con_Relation::is_disjoint();
+          return Poly_Con_Relation::is_included();
         case 0:
           if (c.is_equality())
-            return  Poly_Con_Relation::strictly_intersects();
+            return Poly_Con_Relation::strictly_intersects();
           if (c.is_strict_inequality())
-            return  Poly_Con_Relation::strictly_intersects();
-          return  Poly_Con_Relation::is_included();
+            return Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_included();
         case -1:
-          return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::strictly_intersects();
         }
-     case 0:
-        if (min_num == 0) {
+        PPL_UNREACHABLE;
+        break;
+      case 0:
+        if (min_numer == 0) {
           if (c.is_strict_inequality())
-            return  Poly_Con_Relation::is_disjoint()
+            return Poly_Con_Relation::is_disjoint()
               && Poly_Con_Relation::saturates();
-          return  Poly_Con_Relation::is_included()
+          return Poly_Con_Relation::is_included()
             && Poly_Con_Relation::saturates();
         }
         if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
       case -1:
-        return  Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_disjoint();
       }
     }
   }
@@ -1564,17 +1573,17 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   // and `d1 == -c.inhomogeneous_term()/coeff'.
   // The following variables of mpq_class type are used to be precise
   // when the bds is defined by integer constraints.
-  PPL_DIRTY_TEMP0(mpq_class, q_x);
-  PPL_DIRTY_TEMP0(mpq_class, q_y);
-  PPL_DIRTY_TEMP0(mpq_class, d);
-  PPL_DIRTY_TEMP0(mpq_class, d1);
-  PPL_DIRTY_TEMP0(mpq_class, c_den);
-  PPL_DIRTY_TEMP0(mpq_class, q_den);
-  assign_r(c_den, coeff, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
+  PPL_DIRTY_TEMP(mpq_class, d);
+  PPL_DIRTY_TEMP(mpq_class, d1);
+  PPL_DIRTY_TEMP(mpq_class, c_denom);
+  PPL_DIRTY_TEMP(mpq_class, q_denom);
+  assign_r(c_denom, coeff, ROUND_NOT_NEEDED);
   assign_r(d, c.inhomogeneous_term(), ROUND_NOT_NEEDED);
   neg_assign_r(d1, d, ROUND_NOT_NEEDED);
-  div_assign_r(d, d, c_den, ROUND_NOT_NEEDED);
-  div_assign_r(d1, d1, c_den, ROUND_NOT_NEEDED);
+  div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED);
+  div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED);
 
   if (is_plus_infinity(x)) {
     if (!is_plus_infinity(y)) {
@@ -1586,9 +1595,9 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
       PPL_DIRTY_TEMP_COEFFICIENT(numer);
       PPL_DIRTY_TEMP_COEFFICIENT(denom);
       numer_denom(y, numer, denom);
-      assign_r(q_den, denom, ROUND_NOT_NEEDED);
+      assign_r(q_denom, denom, ROUND_NOT_NEEDED);
       assign_r(q_y, numer, ROUND_NOT_NEEDED);
-      div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
+      div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
       if (q_y < d1)
         return Poly_Con_Relation::is_disjoint();
       if (q_y == d1 && c.is_strict_inequality())
@@ -1603,15 +1612,15 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   PPL_DIRTY_TEMP_COEFFICIENT(numer);
   PPL_DIRTY_TEMP_COEFFICIENT(denom);
   numer_denom(x, numer, denom);
-  assign_r(q_den, denom, ROUND_NOT_NEEDED);
+  assign_r(q_denom, denom, ROUND_NOT_NEEDED);
   assign_r(q_x, numer, ROUND_NOT_NEEDED);
-  div_assign_r(q_x, q_x, q_den, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED);
 
   if (!is_plus_infinity(y)) {
     numer_denom(y, numer, denom);
-    assign_r(q_den, denom, ROUND_NOT_NEEDED);
+    assign_r(q_denom, denom, ROUND_NOT_NEEDED);
     assign_r(q_y, numer, ROUND_NOT_NEEDED);
-    div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
+    div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
     if (q_x == d && q_y == d1) {
       if (c.is_strict_inequality())
         return Poly_Con_Relation::saturates()
@@ -1676,10 +1685,11 @@ BD_Shape<T>::relation_with(const Generator& g) const {
   // all the constraints in the BDS.
 
   // Allocation of temporaries done once and for all.
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
   PPL_DIRTY_TEMP_COEFFICIENT(product);
   // We find in `*this' all the constraints.
+  // TODO: This loop can be optimized more, if needed.
   for (dimension_type i = 0; i <= space_dim; ++i) {
     const Coefficient& g_coeff_y = (i > g_space_dim || i == 0)
       ? Coefficient_zero() : g.coefficient(Variable(i-1));
@@ -1690,28 +1700,29 @@ BD_Shape<T>::relation_with(const Generator& g) const {
       const N& dbm_ij = dbm_i[j];
       const N& dbm_ji = dbm[j][i];
       if (is_additive_inverse(dbm_ji, dbm_ij)) {
-        // We have one equality constraint: den*x - den*y = num.
+        // We have one equality constraint: denom*x - denom*y = numer.
         // Compute the scalar product.
-        numer_denom(dbm_ij, num, den);
-        product = 0;
-        add_mul_assign(product, den, g_coeff_y);
-        add_mul_assign(product, -den, g_coeff_x);
+        numer_denom(dbm_ij, numer, denom);
+        product = g_coeff_y;
+        product -= g_coeff_x;
+        product *= denom;
         if (!is_line_or_ray)
-          add_mul_assign(product, num, g.divisor());
+          add_mul_assign(product, numer, g.divisor());
         if (product != 0)
           return Poly_Gen_Relation::nothing();
       }
       else {
         // We have 0, 1 or 2 binary inequality constraint/s.
         if (!is_plus_infinity(dbm_ij)) {
-          // We have the binary inequality constraint: den*x - den*y <= num.
+          // We have the binary inequality constraint:
+          // denom*x - denom*y <= numer.
           // Compute the scalar product.
-          numer_denom(dbm_ij, num, den);
-          product = 0;
-          add_mul_assign(product, den, g_coeff_y);
-          add_mul_assign(product, -den, g_coeff_x);
+          numer_denom(dbm_ij, numer, denom);
+          product = g_coeff_y;
+          product -= g_coeff_x;
+          product *= denom;
           if (!is_line_or_ray)
-            add_mul_assign(product, num, g.divisor());
+            add_mul_assign(product, numer, g.divisor());
           if (is_line) {
             if (product != 0)
               // Lines must saturate all constraints.
@@ -1724,14 +1735,14 @@ BD_Shape<T>::relation_with(const Generator& g) const {
         }
 
         if (!is_plus_infinity(dbm_ji)) {
-          // We have the binary inequality constraint: den*y - den*x <= b.
+          // We have the binary inequality constraint: denom*y - denom*x <= b.
           // Compute the scalar product.
-          numer_denom(dbm_ji, num, den);
+          numer_denom(dbm_ji, numer, denom);
           product = 0;
-          add_mul_assign(product, den, g_coeff_x);
-          add_mul_assign(product, -den, g_coeff_y);
+          add_mul_assign(product, denom, g_coeff_x);
+          add_mul_assign(product, -denom, g_coeff_y);
           if (!is_line_or_ray)
-            add_mul_assign(product, num, g.divisor());
+            add_mul_assign(product, numer, g.divisor());
           if (is_line) {
             if (product != 0)
               // Lines must saturate all constraints.
@@ -1990,27 +2001,28 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
     if (i != predecessor[i] && !dealt_with[i]) {
       dimension_type j = i;
       while (true) {
-        const dimension_type pred_j = predecessor[j];
-        if (j == pred_j) {
+        const dimension_type predecessor_j = predecessor[j];
+        if (j == predecessor_j) {
           // We finally found the leader of `i'.
           PPL_ASSERT(redundancy[i][j]);
           redundancy[i].clear(j);
-          // Here we dealt with `j' (i.e., `pred_j'), but it is useless
+          // Here we dealt with `j' (i.e., `predecessor_j'), but it is useless
           // to update `dealt_with' because `j' is a leader.
           break;
         }
         // We haven't found the leader of `i' yet.
-        PPL_ASSERT(redundancy[pred_j][j]);
-        redundancy[pred_j].clear(j);
-        dealt_with[pred_j] = true;
-        j = pred_j;
+        PPL_ASSERT(redundancy[predecessor_j][j]);
+        redundancy[predecessor_j].clear(j);
+        dealt_with[predecessor_j] = true;
+        j = predecessor_j;
       }
     }
 
   // Even though shortest-path reduction is not going to change the BDS,
   // it might change its internal representation.
   BD_Shape<T>& x = const_cast<BD_Shape<T>&>(*this);
-  std::swap(x.redundancy_dbm, redundancy);
+  using std::swap;
+  swap(x.redundancy_dbm, redundancy);
   x.set_shortest_path_reduced();
 
   PPL_ASSERT(is_shortest_path_reduced());
@@ -2086,16 +2098,17 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
   // Implementation based on Algorithm 4.1 (page 6) in [BemporadFT00TR],
   // tailored to the special case of BD shapes.
 
-  Variable eps(x_space_dim);
-  Linear_Expression zero_expr = 0*eps;
+  Variable epsilon(x_space_dim);
+  Linear_Expression zero_expr;
+  zero_expr.set_space_dimension(x_space_dim + 1);
   Linear_Expression db_expr;
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
 
   // Step 1: compute the constraint system for the envelope env(x,y)
   // and put into x_cs_removed and y_cs_removed those non-redundant
   // constraints that are not in the constraint system for env(x,y).
-  // While at it, also add the additional space dimension (eps).
+  // While at it, also add the additional space dimension (epsilon).
   Constraint_System env_cs;
   Constraint_System x_cs_removed;
   Constraint_System y_cs_removed;
@@ -2112,20 +2125,20 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
       if (!x_red_i[j]) {
         const N& x_dbm_ij = x_dbm_i[j];
         PPL_ASSERT(!is_plus_infinity(x_dbm_ij));
-        numer_denom(x_dbm_ij, num, den);
+        numer_denom(x_dbm_ij, numer, denom);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
         if (i > 0)
           db_expr += Variable(i-1);
         if (j > 0)
           db_expr -= Variable(j-1);
-        if (den != 1)
-          db_expr *= den;
-        db_expr += num;
+        if (denom != 1)
+          db_expr *= denom;
+        db_expr += numer;
         if (x_dbm_ij >= y_dbm_i[j])
           env_cs.insert(db_expr >= 0);
         else {
-          db_expr += eps;
+          db_expr += epsilon;
           x_cs_removed.insert(db_expr == 0);
         }
       }
@@ -2133,16 +2146,16 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
         const N& y_dbm_ij = y_dbm_i[j];
         const N& x_dbm_ij = x_dbm_i[j];
         PPL_ASSERT(!is_plus_infinity(y_dbm_ij));
-        numer_denom(y_dbm_ij, num, den);
+        numer_denom(y_dbm_ij, numer, denom);
         // Build skeleton DB constraint (having the right space dimension).
         db_expr = zero_expr;
         if (i > 0)
           db_expr += Variable(i-1);
         if (j > 0)
           db_expr -= Variable(j-1);
-        if (den != 1)
-          db_expr *= den;
-        db_expr += num;
+        if (denom != 1)
+          db_expr *= denom;
+        db_expr += numer;
         if (y_dbm_ij >= x_dbm_ij) {
           // Check if same constraint was added when considering x_dbm_ij.
           if (!x_red_i[j] && x_dbm_ij == y_dbm_ij)
@@ -2150,7 +2163,7 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
           env_cs.insert(db_expr >= 0);
         }
         else {
-          db_expr += eps;
+          db_expr += epsilon;
           y_cs_removed.insert(db_expr == 0);
         }
       }
@@ -2168,8 +2181,8 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
 
   // In preparation to Step 4: build the common part of LP problems,
   // i.e., the constraints corresponding to env(x,y),
-  // where the additional space dimension (eps) has to be maximised.
-  MIP_Problem env_lp(x_space_dim + 1, env_cs, eps, MAXIMIZATION);
+  // where the additional space dimension (epsilon) has to be maximized.
+  MIP_Problem env_lp(x_space_dim + 1, env_cs, epsilon, MAXIMIZATION);
   // Pre-solve `env_lp' to later exploit incrementality.
   env_lp.solve();
   PPL_ASSERT(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
@@ -2190,12 +2203,13 @@ BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
       switch (lp_ij.solve()) {
       case UNFEASIBLE_MIP_PROBLEM:
         // CHECKME: is the following actually impossible?
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        return false;
       case UNBOUNDED_MIP_PROBLEM:
         return false;
       case OPTIMIZED_MIP_PROBLEM:
-        lp_ij.optimal_value(num, den);
-        if (num > 0)
+        lp_ij.optimal_value(numer, denom);
+        if (numer > 0)
           return false;
         break;
       }
@@ -2307,7 +2321,7 @@ BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
     }
   }
   // The upper bound of x and y is indeed exact.
-  swap(ub);
+  m_swap(ub);
   PPL_ASSERT(OK());
   return true;
 }
@@ -2353,7 +2367,7 @@ BD_Shape<T>::difference_assign(const BD_Shape& y) {
 
   // We take a constraint of the system y at the time and we
   // consider its complementary. Then we intersect the union
-  // of these complementaries with the system x.
+  // of these complementary constraints with the system x.
   const Constraint_System& y_cs = y.constraints();
   for (Constraint_System::const_iterator i = y_cs.begin(),
          y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
@@ -2406,7 +2420,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
   y.shortest_path_closure_assign();
   if (x.contains(y)) {
     BD_Shape<T> res(dim, UNIVERSE);
-    x.swap(res);
+    x.m_swap(res);
     return false;
   }
 
@@ -2423,15 +2437,15 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       if (!is_plus_infinity(y_dbm_0[j]))
         // FIXME: if N is a float or bounded integer type, then
         // we also need to check that we are actually able to construct
-        // a constraint inconsistent wrt this one.
+        // a constraint inconsistent with respect to this one.
         goto found;
     }
     j = 0;
     for (i = 1; i <= dim; ++i) {
       if (!is_plus_infinity(y.dbm[i][0]))
-        // FIXME: if N is a float or bounded intefer type, then
+        // FIXME: if N is a float or bounded integer type, then
         // we also need to check that we are actually able to construct
-        // a constraint inconsistent wrt this one.
+        // a constraint inconsistent with respect to this one.
         goto found;
     }
     // Then search binary constraints.
@@ -2439,9 +2453,9 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       const DB_Row<N>& y_dbm_i = y.dbm[i];
       for (j = 1; j <= dim; ++j)
         if (!is_plus_infinity(y_dbm_i[j]))
-          // FIXME: if N is a float or bounded intefer type, then
+          // FIXME: if N is a float or bounded integer type, then
           // we also need to check that we are actually able to construct
-          // a constraint inconsistent wrt this one.
+          // a constraint inconsistent with respect to this one.
           goto found;
     }
     // Not found: we were not able to build a constraint contradicting
@@ -2458,7 +2472,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(tmp));
     // CHECKME: round down is really meant.
     neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN);
-    x.swap(res);
+    x.m_swap(res);
     return false;
   }
 
@@ -2472,10 +2486,10 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
   // Compute a reduced dbm for `x' and ...
   x.shortest_path_reduction_assign();
   // ... count the non-redundant constraints.
-  dimension_type x_num_nonredundant = (dim+1)*(dim+1);
+  dimension_type x_num_non_redundant = (dim+1)*(dim+1);
   for (dimension_type i = dim + 1; i-- > 0; )
-    x_num_nonredundant -= x.redundancy_dbm[i].count_ones();
-  PPL_ASSERT(x_num_nonredundant > 0);
+    x_num_non_redundant -= x.redundancy_dbm[i].count_ones();
+  PPL_ASSERT(x_num_non_redundant > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -2485,7 +2499,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
   // The constraints added to `yy' will be recorded in `res' ...
   BD_Shape<T> res(dim, UNIVERSE);
   // ... and we will count them too.
-  dimension_type res_num_nonredundant = 0;
+  dimension_type res_num_non_redundant = 0;
 
   // Compute leader information for `x'.
   std::vector<dimension_type> x_leaders;
@@ -2503,7 +2517,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(x_dbm_0[j]));
     if (x_dbm_0[j] < yy_dbm_0[j]) {
       res_dbm_0[j] = x_dbm_0[j];
-      ++res_num_nonredundant;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy_dbm_0[j] = x_dbm_0[j];
       yy.reset_shortest_path_closed();
@@ -2511,7 +2525,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(x.dbm[j][0]));
     if (x.dbm[j][0] < yy.dbm[j][0]) {
       res.dbm[j][0] = x.dbm[j][0];
-      ++res_num_nonredundant;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy.dbm[j][0] = x.dbm[j][0];
       yy.reset_shortest_path_closed();
@@ -2522,9 +2536,9 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy.incremental_shortest_path_closure_assign(var_j);
       if (target.contains(yy)) {
         // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonredundant < x_num_nonredundant) {
+        if (res_num_non_redundant < x_num_non_redundant) {
           res.reset_shortest_path_closed();
-          x.swap(res);
+          x.m_swap(res);
         }
         return bool_result;
       }
@@ -2540,7 +2554,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(x.dbm[i][j]));
     if (x.dbm[i][j] < yy.dbm[i][j]) {
       res.dbm[i][j] = x.dbm[i][j];
-      ++res_num_nonredundant;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy.dbm[i][j] = x.dbm[i][j];
       yy.reset_shortest_path_closed();
@@ -2548,7 +2562,7 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(x.dbm[j][i]));
     if (x.dbm[j][i] < yy.dbm[j][i]) {
       res.dbm[j][i] = x.dbm[j][i];
-      ++res_num_nonredundant;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy.dbm[j][i] = x.dbm[j][i];
       yy.reset_shortest_path_closed();
@@ -2559,9 +2573,9 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       yy.incremental_shortest_path_closure_assign(var_j);
       if (target.contains(yy)) {
         // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonredundant < x_num_nonredundant) {
+        if (res_num_non_redundant < x_num_non_redundant) {
           res.reset_shortest_path_closed();
-          x.swap(res);
+          x.m_swap(res);
         }
         return bool_result;
       }
@@ -2584,18 +2598,18 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
       const N& x_dbm_ij = x_dbm_i[j];
       if (x_dbm_ij < yy_dbm_ij) {
         res_dbm_i[j] = x_dbm_ij;
-        ++res_num_nonredundant;
+        ++res_num_non_redundant;
         // Tighten context `yy' using the newly added constraint.
         yy_dbm_ij = x_dbm_ij;
         yy.reset_shortest_path_closed();
         PPL_ASSERT(i > 0 || j > 0);
-        Variable var((i > 0 ? i : j) - 1);
+        Variable var(((i > 0) ? i : j) - 1);
         yy.incremental_shortest_path_closure_assign(var);
         if (target.contains(yy)) {
           // Target reached: swap `x' and `res' if needed.
-          if (res_num_nonredundant < x_num_nonredundant) {
+          if (res_num_non_redundant < x_num_non_redundant) {
             res.reset_shortest_path_closed();
-            x.swap(res);
+            x.m_swap(res);
           }
           return bool_result;
         }
@@ -2603,7 +2617,8 @@ BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
     }
   }
   // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
 template <typename T>
@@ -2738,7 +2753,8 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
     // All other columns and rows are moved respectively to the left
     // and above.
     while (src < vsi_next) {
-      std::swap(dbm[dst], dbm[src]);
+      using std::swap;
+      swap(dbm[dst], dbm[src]);
       for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
         DB_Row<N>& dbm_i = dbm[i];
         assign_or_swap(dbm_i[dst], dbm_i[src]);
@@ -2751,7 +2767,8 @@ BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
 
   // Moving the remaining rows and columns.
   while (src <= old_space_dim) {
-    std::swap(dbm[dst], dbm[src]);
+    using std::swap;
+    swap(dbm[dst], dbm[src]);
     for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
       DB_Row<N>& dbm_i = dbm[i];
       assign_or_swap(dbm_i[dst], dbm_i[src]);
@@ -2830,7 +2847,8 @@ BD_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
     }
   }
 
-  std::swap(dbm, x);
+  using std::swap;
+  swap(dbm, x);
   PPL_ASSERT(OK());
 }
 
@@ -2891,14 +2909,8 @@ BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If both bounded difference shapes are zero-dimensional,
   // since `*this' contains `y', we simply return `*this'.
@@ -2957,9 +2969,8 @@ template <typename T>
 void
 BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
                                 BD_Shape& limiting_shape) const {
-  const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  PPL_ASSERT(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
 
   shortest_path_closure_assign();
   bool changed = false;
@@ -2974,21 +2985,20 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
     dimension_type i = 0;
     dimension_type j = 0;
     // Constraints that are not bounded differences are ignored.
-    if (extract_bounded_difference(c, cs_space_dim, num_vars, i, j, coeff)) {
+    if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
       // Select the cell to be modified for the "<=" part of the constraint,
       // and set `coeff' to the absolute value of itself.
       const bool negative = (coeff < 0);
       const N& x = negative ? dbm[i][j] : dbm[j][i];
       const N& y = negative ? dbm[j][i] : dbm[i][j];
       DB_Matrix<N>& ls_dbm = limiting_shape.dbm;
-      N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
-      N& ls_y = negative ? ls_dbm[j][i] : ls_dbm[i][j];
       if (negative)
         neg_assign(coeff);
       // Compute the bound for `x', rounding towards plus infinity.
       div_round_up(d, c.inhomogeneous_term(), coeff);
       if (x <= d) {
         if (c.is_inequality()) {
+          N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
           if (ls_x > d) {
             ls_x = d;
             changed = true;
@@ -2998,11 +3008,14 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
           // Compute the bound for `y', rounding towards plus infinity.
           neg_assign(minus_c_term, c.inhomogeneous_term());
           div_round_up(d1, minus_c_term, coeff);
-          if (y <= d1)
+          if (y <= d1) {
+            N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
+            N& ls_y = negative ? ls_dbm[j][i] : ls_dbm[i][j];
 	    if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
 	      ls_x = d;
 	      ls_y = d1;
 	      changed = true;
+            }
           }
         }
       }
@@ -3030,13 +3043,13 @@ BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
   // of bounded differences.
   const dimension_type cs_space_dim = cs.space_dimension();
   if (space_dim < cs_space_dim)
-    throw_generic("limited_CC76_extrapolation_assign(y, cs)",
-                  "cs is space_dimension incompatible");
+    throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)",
+                           "cs is space_dimension incompatible");
 
   // Strict inequalities not allowed.
   if (cs.has_strict_inequalities())
-    throw_generic("limited_CC76_extrapolation_assign(y, cs)",
-                  "cs has strict inequalities");
+    throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)",
+                           "cs has strict inequalities");
 
   // The limited CC76-extrapolation between two systems of bounded
   // differences in a zero-dimensional space is a system of bounded
@@ -3044,14 +3057,8 @@ BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
   if (space_dim == 0)
     return;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If `*this' is empty, since `*this' contains `y', `y' is empty too.
   if (marked_empty())
@@ -3075,14 +3082,8 @@ BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // Compute the affine dimension of `y'.
   const dimension_type y_affine_dim = y.affine_dimension();
@@ -3150,13 +3151,13 @@ BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
   // of bounded differences.
   const dimension_type cs_space_dim = cs.space_dimension();
   if (space_dim < cs_space_dim)
-    throw_generic("limited_BHMZ05_extrapolation_assign(y, cs)",
-                  "cs is space-dimension incompatible");
+    throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)",
+                           "cs is space-dimension incompatible");
 
   // Strict inequalities are not allowed.
   if (cs.has_strict_inequalities())
-    throw_generic("limited_BHMZ05_extrapolation_assign(y, cs)",
-                  "cs has strict inequalities");
+    throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)",
+                           "cs has strict inequalities");
 
   // The limited BHMZ05-extrapolation between two systems of bounded
   // differences in a zero-dimensional space is a system of bounded
@@ -3164,14 +3165,8 @@ BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
   if (space_dim == 0)
     return;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If `*this' is empty, since `*this' contains `y', `y' is empty too.
   if (marked_empty())
@@ -3195,14 +3190,8 @@ BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `*this' is contained in or equal to `y'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
-  }
-#endif
+  // We assume that `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
   // If both bounded difference shapes are zero-dimensional,
   // since `y' contains `*this', we simply return `*this'.
@@ -3246,59 +3235,62 @@ BD_Shape<T>
 ::deduce_v_minus_u_bounds(const dimension_type v,
                           const dimension_type last_v,
                           const Linear_Expression& sc_expr,
-                          Coefficient_traits::const_reference sc_den,
+                          Coefficient_traits::const_reference sc_denom,
                           const N& ub_v) {
-  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(sc_denom > 0);
   PPL_ASSERT(!is_plus_infinity(ub_v));
   // Deduce constraints of the form `v - u', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `v - u <= ub_v - lb_u'. We can be more precise if variable `u'
   // played an active role in the computation of the upper bound for `v',
-  // i.e., if the corresponding coefficient `q == expr_u/den' is
+  // i.e., if the corresponding coefficient `q == expr_u/denom' is
   // greater than zero. In particular:
   // if `q >= 1',    then `v - u <= ub_v - ub_u';
   // if `0 < q < 1', then `v - u <= ub_v - (q*ub_u + (1-q)*lb_u)'.
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
   const DB_Row<N>& dbm_0 = dbm[0];
   // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
   PPL_DIRTY_TEMP(N, up_approx);
-  // No need to consider indices greater than `last_v'.
-  for (dimension_type u = last_v; u > 0; --u)
-    if (u != v) {
-      const Coefficient& expr_u = sc_expr.coefficient(Variable(u-1));
-      if (expr_u > 0) {
-        if (expr_u >= sc_den)
-          // Deducing `v - u <= ub_v - ub_u'.
-          sub_assign_r(dbm[u][v], ub_v, dbm_0[u], ROUND_UP);
-        else {
-          DB_Row<N>& dbm_u = dbm[u];
-          const N& dbm_u0 = dbm_u[0];
-          if (!is_plus_infinity(dbm_u0)) {
-            // Let `ub_u' and `lb_u' be the known upper and lower bound
-            // for `u', respectively. Letting `q = expr_u/sc_den' be the
-            // rational coefficient of `u' in `sc_expr/sc_den',
-            // the upper bound for `v - u' is computed as
-            // `ub_v - (q * ub_u + (1-q) * lb_u)', i.e.,
-            // `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
-            assign_r(minus_lb_u, dbm_u0, ROUND_NOT_NEEDED);
-            assign_r(q, expr_u, ROUND_NOT_NEEDED);
-            div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-            assign_r(ub_u, dbm_0[u], ROUND_NOT_NEEDED);
-            // Compute `ub_u - lb_u'.
-            add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
-            // Compute `(-lb_u) - q * (ub_u - lb_u)'.
-            sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
-            assign_r(up_approx, minus_lb_u, ROUND_UP);
-            // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
-            add_assign_r(dbm_u[v], ub_v, up_approx, ROUND_UP);
-          }
-        }
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+        u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) {
+    const dimension_type u_dim = u.variable().space_dimension();
+    if (u_dim == v)
+      continue;
+    const Coefficient& expr_u = *u;
+    if (expr_u < 0)
+      continue;
+    PPL_ASSERT(expr_u > 0);
+    if (expr_u >= sc_denom)
+      // Deducing `v - u <= ub_v - ub_u'.
+      sub_assign_r(dbm[u_dim][v], ub_v, dbm_0[u_dim], ROUND_UP);
+    else {
+      DB_Row<N>& dbm_u = dbm[u_dim];
+      const N& dbm_u0 = dbm_u[0];
+      if (!is_plus_infinity(dbm_u0)) {
+        // Let `ub_u' and `lb_u' be the known upper and lower bound
+        // for `u', respectively. Letting `q = expr_u/sc_denom' be the
+        // rational coefficient of `u' in `sc_expr/sc_denom',
+        // the upper bound for `v - u' is computed as
+        // `ub_v - (q * ub_u + (1-q) * lb_u)', i.e.,
+        // `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
+        assign_r(minus_lb_u, dbm_u0, ROUND_NOT_NEEDED);
+        assign_r(q, expr_u, ROUND_NOT_NEEDED);
+        div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+        assign_r(ub_u, dbm_0[u_dim], ROUND_NOT_NEEDED);
+        // Compute `ub_u - lb_u'.
+        add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
+        // Compute `(-lb_u) - q * (ub_u - lb_u)'.
+        sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
+        assign_r(up_approx, minus_lb_u, ROUND_UP);
+        // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
+        add_assign_r(dbm_u[v], ub_v, up_approx, ROUND_UP);
       }
     }
+  }
 }
 
 template <typename T>
@@ -3307,60 +3299,65 @@ BD_Shape<T>
 ::deduce_u_minus_v_bounds(const dimension_type v,
                           const dimension_type last_v,
                           const Linear_Expression& sc_expr,
-                          Coefficient_traits::const_reference sc_den,
+                          Coefficient_traits::const_reference sc_denom,
                           const N& minus_lb_v) {
-  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(sc_denom > 0);
   PPL_ASSERT(!is_plus_infinity(minus_lb_v));
   // Deduce constraints of the form `u - v', where `u != v'.
   // Note: the shortest-path closure is able to deduce the constraint
   // `u - v <= ub_u - lb_v'. We can be more precise if variable `u'
   // played an active role in the computation of the lower bound for `v',
-  // i.e., if the corresponding coefficient `q == expr_u/den' is
+  // i.e., if the corresponding coefficient `q == expr_u/denom' is
   // greater than zero. In particular:
   // if `q >= 1',    then `u - v <= lb_u - lb_v';
   // if `0 < q < 1', then `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
   DB_Row<N>& dbm_0 = dbm[0];
   DB_Row<N>& dbm_v = dbm[v];
   // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
   PPL_DIRTY_TEMP(N, up_approx);
   // No need to consider indices greater than `last_v'.
-  for (dimension_type u = last_v; u > 0; --u)
-    if (u != v) {
-      const Coefficient& expr_u = sc_expr.coefficient(Variable(u-1));
-      if (expr_u > 0) {
-        if (expr_u >= sc_den)
-          // Deducing `u - v <= lb_u - lb_v',
-          // i.e., `u - v <= (-lb_v) - (-lb_u)'.
-          sub_assign_r(dbm_v[u], minus_lb_v, dbm[u][0], ROUND_UP);
-        else {
-          const N& dbm_0u = dbm_0[u];
-          if (!is_plus_infinity(dbm_0u)) {
-            // Let `ub_u' and `lb_u' be the known upper and lower bound
-            // for `u', respectively. Letting `q = expr_u/sc_den' be the
-            // rational coefficient of `u' in `sc_expr/sc_den',
-            // the upper bound for `u - v' is computed as
-            // `(q * lb_u + (1-q) * ub_u) - lb_v', i.e.,
-            // `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
-            assign_r(ub_u, dbm_0u, ROUND_NOT_NEEDED);
-            assign_r(q, expr_u, ROUND_NOT_NEEDED);
-            div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-            assign_r(minus_lb_u, dbm[u][0], ROUND_NOT_NEEDED);
-            // Compute `ub_u - lb_u'.
-            add_assign_r(minus_lb_u, minus_lb_u, ub_u, ROUND_NOT_NEEDED);
-            // Compute `ub_u - q * (ub_u - lb_u)'.
-            sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
-            assign_r(up_approx, ub_u, ROUND_UP);
-            // Deducing `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
-            add_assign_r(dbm_v[u], up_approx, minus_lb_v, ROUND_UP);
-          }
-        }
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+        u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) {
+    const Variable u_var = u.variable();
+    const dimension_type u_dim = u_var.space_dimension();
+    if (u_var.space_dimension() == v)
+      continue;
+    const Coefficient& expr_u = *u;
+    if (expr_u < 0)
+      continue;
+    PPL_ASSERT(expr_u > 0);
+    if (expr_u >= sc_denom)
+      // Deducing `u - v <= lb_u - lb_v',
+      // i.e., `u - v <= (-lb_v) - (-lb_u)'.
+      sub_assign_r(dbm_v[u_dim], minus_lb_v, dbm[u_dim][0], ROUND_UP);
+    else {
+      const N& dbm_0u = dbm_0[u_dim];
+      if (!is_plus_infinity(dbm_0u)) {
+        // Let `ub_u' and `lb_u' be the known upper and lower bound
+        // for `u', respectively. Letting `q = expr_u/sc_denom' be the
+        // rational coefficient of `u' in `sc_expr/sc_denom',
+        // the upper bound for `u - v' is computed as
+        // `(q * lb_u + (1-q) * ub_u) - lb_v', i.e.,
+        // `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
+        assign_r(ub_u, dbm_0u, ROUND_NOT_NEEDED);
+        assign_r(q, expr_u, ROUND_NOT_NEEDED);
+        div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+        assign_r(minus_lb_u, dbm[u_dim][0], ROUND_NOT_NEEDED);
+        // Compute `ub_u - lb_u'.
+        add_assign_r(minus_lb_u, minus_lb_u, ub_u, ROUND_NOT_NEEDED);
+        // Compute `ub_u - q * (ub_u - lb_u)'.
+        sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
+        assign_r(up_approx, ub_u, ROUND_UP);
+        // Deducing `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
+        add_assign_r(dbm_v[u_dim], up_approx, minus_lb_v, ROUND_UP);
       }
     }
+  }
 }
 
 template <typename T>
@@ -3410,7 +3407,7 @@ BD_Shape<T>::unconstrain(const Variable var) {
 template <typename T>
 void
 BD_Shape<T>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
+  // The cylindrification with respect to no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
   if (vars.empty())
     return;
@@ -3443,8 +3440,7 @@ BD_Shape<T>::refine(const Variable var,
                     const Linear_Expression& expr,
                     Coefficient_traits::const_reference denominator) {
   PPL_ASSERT(denominator != 0);
-  const dimension_type expr_space_dim = expr.space_dimension();
-  PPL_ASSERT(space_dimension() >= expr_space_dim);
+  PPL_ASSERT(space_dimension() >= expr.space_dimension());
   const dimension_type v = var.id() + 1;
   PPL_ASSERT(v <= space_dimension());
   PPL_ASSERT(expr.coefficient(var) == 0);
@@ -3455,22 +3451,20 @@ BD_Shape<T>::refine(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  dimension_type w = expr.last_nonzero();
+
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
   // Since we are only able to record bounded differences, we can
   // precisely deal with the case of a single variable only if its
   // coefficient (taking into account the denominator) is 1.
   // If this is not the case, we fall back to the general case
   // so as to over-approximate the constraint.
-  if (t == 1 && expr.coefficient(Variable(w-1)) != denominator)
+  if (t == 1 && expr.get(Variable(w - 1)) != denominator)
     t = 2;
 
   // Now we know the form of `expr':
@@ -3478,8 +3472,8 @@ BD_Shape<T>::refine(const Variable var,
   // - If t == 1, then expr == a*w + b, where `w != v' and `a == denominator';
   // - If t == 2, the `expr' is of the general form.
   const DB_Row<N>& dbm_0 = dbm[0];
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
   if (t == 0) {
     // Case 1: expr == b.
@@ -3487,7 +3481,7 @@ BD_Shape<T>::refine(const Variable var,
     case EQUAL:
       // Add the constraint `var == b/denominator'.
       add_dbm_constraint(0, v, b, denominator);
-      add_dbm_constraint(v, 0, b, minus_den);
+      add_dbm_constraint(v, 0, b, minus_denom);
       break;
     case LESS_OR_EQUAL:
       // Add the constraint `var <= b/denominator'.
@@ -3496,18 +3490,19 @@ BD_Shape<T>::refine(const Variable var,
     case GREATER_OR_EQUAL:
       // Add the constraint `var >= b/denominator',
       // i.e., `-var <= -b/denominator',
-      add_dbm_constraint(v, 0, b, minus_den);
+      add_dbm_constraint(v, 0, b, minus_denom);
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     return;
   }
 
   if (t == 1) {
     // Case 2: expr == a*w + b, w != v, a == denominator.
-    PPL_ASSERT(expr.coefficient(Variable(w-1)) == denominator);
+    PPL_ASSERT(expr.get(Variable(w - 1)) == denominator);
     PPL_DIRTY_TEMP(N, d);
     switch (relsym) {
     case EQUAL:
@@ -3516,7 +3511,7 @@ BD_Shape<T>::refine(const Variable var,
       add_dbm_constraint(w, v, d);
       // Add the new constraint `v - w >= b/denominator',
       // i.e., `w - v <= -b/denominator'.
-      div_round_up(d, b, minus_den);
+      div_round_up(d, b, minus_denom);
       add_dbm_constraint(v, w, d);
       break;
     case LESS_OR_EQUAL:
@@ -3527,12 +3522,13 @@ BD_Shape<T>::refine(const Variable var,
     case GREATER_OR_EQUAL:
       // Add the new constraint `v - w >= b/denominator',
       // i.e., `w - v <= -b/denominator'.
-      div_round_up(d, b, minus_den);
+      div_round_up(d, b, minus_denom);
       add_dbm_constraint(v, w, d);
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     return;
   }
@@ -3545,8 +3541,8 @@ BD_Shape<T>::refine(const Variable var,
   neg_assign(minus_b, b);
   const Coefficient& sc_b = is_sc ? b : minus_b;
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -3585,56 +3581,58 @@ BD_Shape<T>::refine(const Variable var,
       // Approximate the homogeneous part of `sc_expr'.
       // Note: indices above `w' can be disregarded, as they all have
       // a zero coefficient in `expr'.
-      for (dimension_type i = w; i > 0; --i) {
-        const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+      for (Linear_Expression::const_iterator i = sc_expr.begin(),
+            i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+        const dimension_type i_dim = i.variable().space_dimension();
+        const Coefficient& sc_i = *i;
         const int sign_i = sgn(sc_i);
-        if (sign_i == 0)
-          continue;
+        PPL_ASSERT(sign_i != 0);
         if (sign_i > 0) {
           assign_r(coeff_i, sc_i, ROUND_UP);
           // Approximating `sc_expr'.
           if (pinf_count <= 1) {
-            const N& approx_i = dbm_0[i];
+            const N& approx_i = dbm_0[i_dim];
             if (!is_plus_infinity(approx_i))
               add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
             else {
               ++pinf_count;
-              pinf_index = i;
+              pinf_index = i_dim;
             }
           }
           // Approximating `-sc_expr'.
           if (neg_pinf_count <= 1) {
-            const N& approx_minus_i = dbm[i][0];
+            const N& approx_minus_i = dbm[i_dim][0];
             if (!is_plus_infinity(approx_minus_i))
               add_mul_assign_r(neg_sum, coeff_i, approx_minus_i, ROUND_UP);
             else {
               ++neg_pinf_count;
-              neg_pinf_index = i;
+              neg_pinf_index = i_dim;
             }
           }
         }
-        else if (sign_i < 0) {
+        else {
+          PPL_ASSERT(sign_i < 0);
           neg_assign(minus_sc_i, sc_i);
           // Note: using temporary named `coeff_i' to store -coeff_i.
           assign_r(coeff_i, minus_sc_i, ROUND_UP);
           // Approximating `sc_expr'.
           if (pinf_count <= 1) {
-            const N& approx_minus_i = dbm[i][0];
+            const N& approx_minus_i = dbm[i_dim][0];
             if (!is_plus_infinity(approx_minus_i))
               add_mul_assign_r(sum, coeff_i, approx_minus_i, ROUND_UP);
             else {
               ++pinf_count;
-              pinf_index = i;
+              pinf_index = i_dim;
             }
           }
           // Approximating `-sc_expr'.
           if (neg_pinf_count <= 1) {
-            const N& approx_i = dbm_0[i];
+            const N& approx_i = dbm_0[i_dim];
             if (!is_plus_infinity(approx_i))
               add_mul_assign_r(neg_sum, coeff_i, approx_i, ROUND_UP);
             else {
               ++neg_pinf_count;
-              neg_pinf_index = i;
+              neg_pinf_index = i_dim;
             }
           }
         }
@@ -3649,29 +3647,29 @@ BD_Shape<T>::refine(const Variable var,
       reset_shortest_path_closed();
 
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
 
       // Exploit the upper approximation, if possible.
       if (pinf_count <= 1) {
         // Compute quotient (if needed).
-        if (down_sc_den != 1)
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+        if (down_sc_denom != 1)
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
         // Add the upper bound constraint, if meaningful.
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
           dbm[0][v] = sum;
           // Deduce constraints of the form `v - u', where `u != v'.
-          deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
+          deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
         }
         else
           // Here `pinf_count == 1'.
           if (pinf_index != v
-              && sc_expr.coefficient(Variable(pinf_index-1)) == sc_den)
+              && sc_expr.get(Variable(pinf_index - 1)) == sc_denom)
             // Add the constraint `v - pinf_index <= sum'.
             dbm[pinf_index][v] = sum;
       }
@@ -3679,20 +3677,20 @@ BD_Shape<T>::refine(const Variable var,
       // Exploit the lower approximation, if possible.
       if (neg_pinf_count <= 1) {
         // Compute quotient (if needed).
-        if (down_sc_den != 1)
-          div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
+        if (down_sc_denom != 1)
+          div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
         // Add the lower bound constraint, if meaningful.
         if (neg_pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
           DB_Row<N>& dbm_v = dbm[v];
           dbm_v[0] = neg_sum;
           // Deduce constraints of the form `u - v', where `u != v'.
-          deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, neg_sum);
+          deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum);
         }
         else
           // Here `neg_pinf_count == 1'.
           if (neg_pinf_index != v
-              && sc_expr.coefficient(Variable(neg_pinf_index-1)) == sc_den)
+              && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom)
             // Add the constraint `v - neg_pinf_index >= -neg_sum',
             // i.e., `neg_pinf_index - v <= neg_sum'.
             dbm[v][neg_pinf_index] = neg_sum;
@@ -3710,17 +3708,18 @@ BD_Shape<T>::refine(const Variable var,
     // Approximate the homogeneous part of `sc_expr'.
     // Note: indices above `w' can be disregarded, as they all have
     // a zero coefficient in `expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+          i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
       const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
+      PPL_ASSERT(sign_i != 0);
       // Choose carefully: we are approximating `sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm_0[i] : dbm[i][0];
+      const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0];
       if (is_plus_infinity(approx_i)) {
         if (++pinf_count > 1)
           break;
-        pinf_index = i;
+        pinf_index = i_dim;
         continue;
       }
       if (sign_i > 0)
@@ -3733,28 +3732,28 @@ BD_Shape<T>::refine(const Variable var,
     }
 
     // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing the quotient, the denominator should be
-      // approximated towards zero. Since `sc_den' is known to be
+      // approximated towards zero. Since `sc_denom' is known to be
       // positive, this amounts to rounding downwards, which is achieved
-      // by rounding upwards `minus_sc-den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+      // by rounding upwards `minus_sc - denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
     }
 
     if (pinf_count == 0) {
       // Add the constraint `v <= sum'.
       add_dbm_constraint(0, v, sum);
       // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
     }
     else if (pinf_count == 1)
-      if (expr.coefficient(Variable(pinf_index-1)) == denominator)
+      if (expr.get(Variable(pinf_index - 1)) == denominator)
         // Add the constraint `v - pinf_index <= sum'.
         add_dbm_constraint(pinf_index, v, sum);
-      break;
+    break;
 
   case GREATER_OR_EQUAL:
     // Compute an upper approximation for `-sc_expr' into `sum'.
@@ -3765,17 +3764,18 @@ BD_Shape<T>::refine(const Variable var,
     assign_r(sum, minus_sc_b, ROUND_UP);
 
     // Approximate the homogeneous part of `-sc_expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+          i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
       const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
+      PPL_ASSERT(sign_i != 0);
       // Choose carefully: we are approximating `-sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm[i][0] : dbm_0[i];
+      const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim];
       if (is_plus_infinity(approx_i)) {
         if (++pinf_count > 1)
           break;
-        pinf_index = i;
+        pinf_index = i_dim;
         continue;
       }
       if (sign_i > 0)
@@ -3788,26 +3788,26 @@ BD_Shape<T>::refine(const Variable var,
     }
 
     // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing the quotient, the denominator should be
-      // approximated towards zero. Since `sc_den' is known to be positive,
+      // approximated towards zero. Since `sc_denom' is known to be positive,
       // this amounts to rounding downwards, which is achieved by rounding
-      // upwards `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+      // upwards `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
     }
 
     if (pinf_count == 0) {
       // Add the constraint `v >= -sum', i.e., `-v <= sum'.
       add_dbm_constraint(v, 0, sum);
       // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, sum);
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum);
     }
     else if (pinf_count == 1)
       if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
+          && expr.get(Variable(pinf_index - 1)) == denominator)
         // Add the constraint `v - pinf_index >= -sum',
         // i.e., `pinf_index - v <= sum'.
         add_dbm_constraint(v, pinf_index, sum);
@@ -3815,7 +3815,8 @@ BD_Shape<T>::refine(const Variable var,
 
   default:
     // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
 
   PPL_ASSERT(OK());
@@ -3828,7 +3829,7 @@ BD_Shape<T>::affine_image(const Variable var,
                           Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -3853,15 +3854,13 @@ BD_Shape<T>::affine_image(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  dimension_type w = expr.last_nonzero();
+
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
   // Now we know the form of `expr':
   // - If t == 0, then expr == b, with `b' a constant;
@@ -3870,8 +3869,8 @@ BD_Shape<T>::affine_image(const Variable var,
   //   equal to `denominator' or `-denominator', since otherwise we have
   //   to fall back on the general form;
   // - If t == 2, the `expr' is of the general form.
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
   if (t == 0) {
     // Case 1: expr == b.
@@ -3882,15 +3881,15 @@ BD_Shape<T>::affine_image(const Variable var,
       reset_shortest_path_reduced();
     // Add the constraint `var == b/denominator'.
     add_dbm_constraint(0, v, b, denominator);
-    add_dbm_constraint(v, 0, b, minus_den);
+    add_dbm_constraint(v, 0, b, minus_denom);
     PPL_ASSERT(OK());
     return;
   }
 
   if (t == 1) {
     // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
+    const Coefficient& a = expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
       // Case 2: expr == a*w + b, with a == +/- denominator.
       if (w == v) {
         // `expr' is of the form: a*v + b.
@@ -3904,7 +3903,7 @@ BD_Shape<T>::affine_image(const Variable var,
             PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
             PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
+            div_round_up(c, b, minus_denom);
             DB_Row<N>& dbm_v = dbm[v];
             for (dimension_type i = space_dim + 1; i-- > 0; ) {
               N& dbm_vi = dbm_v[i];
@@ -3920,14 +3919,15 @@ BD_Shape<T>::affine_image(const Variable var,
           // Remove the binary constraints on `var'.
           forget_binary_dbm_constraints(v);
           // Swap the unary constraints on `var'.
-          std::swap(dbm[v][0], dbm[0][v]);
+          using std::swap;
+          swap(dbm[v][0], dbm[0][v]);
           // Shortest-path closure is not preserved.
           reset_shortest_path_closed();
           if (b != 0) {
             // Translate the unary constraints on `var',
             // adding or subtracting the value `b/denominator'.
             PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
+            div_round_up(c, b, minus_denom);
             N& dbm_v0 = dbm[v][0];
             add_assign_r(dbm_v0, dbm_v0, c, ROUND_UP);
             PPL_DIRTY_TEMP(N, d);
@@ -3948,7 +3948,7 @@ BD_Shape<T>::affine_image(const Variable var,
         if (a == denominator) {
           // Add the new constraint `v - w == b/denominator'.
           add_dbm_constraint(w, v, b, denominator);
-          add_dbm_constraint(v, w, b, minus_den);
+          add_dbm_constraint(v, w, b, minus_denom);
         }
         else {
           // Here a == -denominator, so that we should be adding
@@ -3966,7 +3966,7 @@ BD_Shape<T>::affine_image(const Variable var,
           if (!is_plus_infinity(dbm_0w)) {
             // Add the constraint `v >= b/denominator - upper_w'.
             PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
+            div_round_up(c, b, minus_denom);
             add_assign_r(dbm[v][0], dbm_0w, c, ROUND_UP);
             reset_shortest_path_closed();
           }
@@ -3994,8 +3994,8 @@ BD_Shape<T>::affine_image(const Variable var,
   neg_assign(minus_b, b);
   const Coefficient& sc_b = is_sc ? b : minus_b;
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -4022,56 +4022,60 @@ BD_Shape<T>::affine_image(const Variable var,
   // Speculative allocation of temporaries to be used in the following loop.
   PPL_DIRTY_TEMP(N, coeff_i);
   PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+
   // Note: indices above `w' can be disregarded, as they all have
   // a zero coefficient in `sc_expr'.
-  for (dimension_type i = w; i > 0; --i) {
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+  for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+    const Coefficient& sc_i = *i;
+    const dimension_type i_dim = i.variable().space_dimension();
     const int sign_i = sgn(sc_i);
     if (sign_i > 0) {
       assign_r(coeff_i, sc_i, ROUND_UP);
       // Approximating `sc_expr'.
       if (pos_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
+        const N& up_approx_i = dbm_0[i_dim];
         if (!is_plus_infinity(up_approx_i))
           add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
         else {
           ++pos_pinf_count;
-          pos_pinf_index = i;
+          pos_pinf_index = i_dim;
         }
       }
       // Approximating `-sc_expr'.
       if (neg_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
+        const N& up_approx_minus_i = dbm[i_dim][0];
         if (!is_plus_infinity(up_approx_minus_i))
           add_mul_assign_r(neg_sum, coeff_i, up_approx_minus_i, ROUND_UP);
         else {
           ++neg_pinf_count;
-          neg_pinf_index = i;
+          neg_pinf_index = i_dim;
         }
       }
     }
-    else if (sign_i < 0) {
+    else {
+      PPL_ASSERT(sign_i < 0);
       neg_assign(minus_sc_i, sc_i);
       // Note: using temporary named `coeff_i' to store -coeff_i.
       assign_r(coeff_i, minus_sc_i, ROUND_UP);
       // Approximating `sc_expr'.
       if (pos_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
+        const N& up_approx_minus_i = dbm[i_dim][0];
         if (!is_plus_infinity(up_approx_minus_i))
           add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
         else {
           ++pos_pinf_count;
-          pos_pinf_index = i;
+          pos_pinf_index = i_dim;
         }
       }
       // Approximating `-sc_expr'.
       if (neg_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
+        const N& up_approx_i = dbm_0[i_dim];
         if (!is_plus_infinity(up_approx_i))
           add_mul_assign_r(neg_sum, coeff_i, up_approx_i, ROUND_UP);
         else {
           ++neg_pinf_count;
-          neg_pinf_index = i;
+          neg_pinf_index = i_dim;
         }
       }
     }
@@ -4094,27 +4098,27 @@ BD_Shape<T>::affine_image(const Variable var,
   // Exploit the upper approximation, if possible.
   if (pos_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
     }
     // Add the upper bound constraint, if meaningful.
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
       dbm[0][v] = pos_sum;
       // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, pos_sum);
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum);
     }
     else
       // Here `pos_pinf_count == 1'.
       if (pos_pinf_index != v
-          && sc_expr.coefficient(Variable(pos_pinf_index-1)) == sc_den)
+          && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom)
         // Add the constraint `v - pos_pinf_index <= pos_sum'.
         dbm[pos_pinf_index][v] = pos_sum;
   }
@@ -4122,15 +4126,15 @@ BD_Shape<T>::affine_image(const Variable var,
   // Exploit the lower approximation, if possible.
   if (neg_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
     }
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
@@ -4138,12 +4142,12 @@ BD_Shape<T>::affine_image(const Variable var,
       DB_Row<N>& dbm_v = dbm[v];
       dbm_v[0] = neg_sum;
       // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, neg_sum);
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum);
     }
     else
       // Here `neg_pinf_count == 1'.
       if (neg_pinf_index != v
-          && sc_expr.coefficient(Variable(neg_pinf_index-1)) == sc_den)
+          && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom)
         // Add the constraint `v - neg_pinf_index >= -neg_sum',
         // i.e., `neg_pinf_index - v <= neg_sum'.
         dbm[v][neg_pinf_index] = neg_sum;
@@ -4153,13 +4157,757 @@ BD_Shape<T>::affine_image(const Variable var,
 }
 
 template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::affine_form_image(const Variable var,
+                    const Linear_Form< Interval<T, Interval_Info> >& lf) {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+		    "BD_Shape<T>::affine_form_image(Variable, Linear_Form):"
+                    " T not a floating point type.");
+
+  // Dimension-compatibility checks.
+  // The dimension of `lf' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(var_id, l)", "l", lf);
+
+  // `var' should be one of the dimensions of the shape.
+  const dimension_type var_id = var.id() + 1;
+  if (space_dim < var_id)
+    throw_dimension_incompatible("affine_form_image(var_id, l)", var.id());
+
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
+
+  // Number of non-zero coefficients in `lf': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `lf', if any.
+  dimension_type w_id = 0;
+  // Get information about the number of non-zero coefficients in `lf'.
+  for (dimension_type i = lf_space_dim; i-- > 0; )
+    if (lf.coefficient(Variable(i)) != 0) {
+      if (t++ == 1)
+        break;
+      else
+        w_id = i + 1;
+    }
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+
+  // Now we know the form of `lf':
+  // - If t == 0, then lf == b, with `b' a constant;
+  // - If t == 1, then lf == a*w + b, where `w' can be `v' or another
+  //   variable;
+  // - If t == 2, the linear form 'lf' is of the general form.
+
+  if (t == 0) {
+    inhomogeneous_affine_form_image(var_id, b);
+    PPL_ASSERT(OK());
+    return;
+  }
+  else if (t == 1) {
+    const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id - 1));
+    if (w_coeff == 1 || w_coeff == -1) {
+      one_variable_affine_form_image(var_id, b, w_coeff, w_id, space_dim);
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
+  two_variables_affine_form_image(var_id, lf, space_dim);
+  PPL_ASSERT(OK());
+}
+
+// Case 1: var = b, where b = [-b_mlb, b_ub]
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::inhomogeneous_affine_form_image(const dimension_type& var_id,
+                                  const Interval<T, Interval_Info>& b) {
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
+
+  // Remove all constraints on `var'.
+  forget_all_dbm_constraints(var_id);
+  // Shortest-path closure is preserved, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+    // Add the constraint `var >= lb && var <= ub'.
+    add_dbm_constraint(0, var_id, b_ub);
+    add_dbm_constraint(var_id, 0, b_mlb);
+    return;
+}
+
+// case 2: var = (+/-1) * w + [-b_mlb, b_ub], where `w' can be `var'
+// or another variable.
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>
+::one_variable_affine_form_image(const dimension_type& var_id,
+			    const Interval<T, Interval_Info>& b,
+			    const Interval<T, Interval_Info>& w_coeff,
+			    const dimension_type& w_id,
+			    const dimension_type& space_dim) {
+
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
+
+  // True if `w_coeff' is in [1, 1].
+  bool is_w_coeff_one = (w_coeff == 1);
+
+  if (w_id == var_id) {
+    // True if `b' is in [b_mlb, b_ub] and that is [0, 0].
+    bool is_b_zero = (b_mlb == 0 && b_ub == 0);
+    // Here `lf' is of the form: [+/-1, +/-1] * v + b.
+    if (is_w_coeff_one) {
+      if (is_b_zero)
+        // The transformation is the identity function.
+        return;
+      else {
+        // Translate all the constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_mlb'.
+        DB_Row<N>& dbm_v = dbm[var_id];
+        for (dimension_type i = space_dim + 1; i-- > 0; ) {
+          N& dbm_vi = dbm_v[i];
+          add_assign_r(dbm_vi, dbm_vi, b_mlb, ROUND_UP);
+          N& dbm_iv = dbm[i][var_id];
+          add_assign_r(dbm_iv, dbm_iv, b_ub, ROUND_UP);
+        }
+        // Both shortest-path closure and reduction are preserved.
+      }
+    }
+    else {
+      // Here `w_coeff = [-1, -1].
+      // Remove the binary constraints on `var'.
+      forget_binary_dbm_constraints(var_id);
+      using std::swap;
+      swap(dbm[var_id][0], dbm[0][var_id]);
+      // Shortest-path closure is not preserved.
+      reset_shortest_path_closed();
+      if (!is_b_zero) {
+        // Translate the unary constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_mlb'.
+        N& dbm_v0 = dbm[var_id][0];
+        add_assign_r(dbm_v0, dbm_v0, b_mlb, ROUND_UP);
+        N& dbm_0v = dbm[0][var_id];
+        add_assign_r(dbm_0v, dbm_0v, b_ub, ROUND_UP);
+      }
+    }
+  }
+  else {
+    // Here `w != var', so that `lf' is of the form
+    // [+/-1, +/-1] * w + b.
+    // Remove all constraints on `var'.
+    forget_all_dbm_constraints(var_id);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    if (is_w_coeff_one) {
+      // Add the new constraints `var - w >= b_mlb'
+      // `and var - w <= b_ub'.
+      add_dbm_constraint(w_id, var_id, b_ub);
+      add_dbm_constraint(var_id, w_id, b_mlb);
+    }
+    else {
+      // We have to add the constraint `v + w == b', over-approximating it
+      // by computing lower and upper bounds for `w'.
+      const N& mlb_w = dbm[w_id][0];
+      if (!is_plus_infinity(mlb_w)) {
+        // Add the constraint `v <= ub - lb_w'.
+        add_assign_r(dbm[0][var_id], b_ub, mlb_w, ROUND_UP);
+        reset_shortest_path_closed();
+      }
+      const N& ub_w = dbm[0][w_id];
+      if (!is_plus_infinity(ub_w)) {
+        // Add the constraint `v >= lb - ub_w'.
+        add_assign_r(dbm[var_id][0], ub_w, b_mlb, ROUND_UP);
+        reset_shortest_path_closed();
+      }
+    }
+  }
+  return;
+}
+
+// General case.
+// Either t == 2, so that
+// lf == i_1*x_1 + i_2*x_2 + ... + i_n*x_n + b, where n >= 2,
+// or t == 1, lf == i*w + b, but i <> [+/-1, +/-1].
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>
+::two_variables_affine_form_image(const dimension_type& var_id,
+           const Linear_Form< Interval<T, Interval_Info> >& lf,
+                             const dimension_type& space_dim) {
+  // Shortest-path closure is maintained, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+
+  reset_shortest_path_closed();
+
+  Linear_Form< Interval<T, Interval_Info> > minus_lf(lf);
+  minus_lf.negate();
+
+  // Declare temporaries outside the loop.
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  // Update binary constraints on var FIRST.
+  for (dimension_type curr_var = 1; curr_var < var_id; ++curr_var) {
+    Variable current(curr_var - 1);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED);
+  }
+  for (dimension_type curr_var = var_id + 1; curr_var <= space_dim;
+                                                      ++curr_var) {
+    Variable current(curr_var - 1);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED);
+  }
+  // Finally, update unary constraints on var.
+  PPL_DIRTY_TEMP(N, lf_ub);
+  linear_form_upper_bound(lf, lf_ub);
+  PPL_DIRTY_TEMP(N, minus_lf_ub);
+  linear_form_upper_bound(minus_lf, minus_lf_ub);
+  assign_r(dbm[0][var_id], lf_ub, ROUND_NOT_NEEDED);
+  assign_r(dbm[var_id][0], minus_lf_ub, ROUND_NOT_NEEDED);
+}
+
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>::refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right) {
+    // Check that T is a floating point type.
+    PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+		    "Octagonal_Shape<T>::refine_with_linear_form_inequality:"
+		    " T not a floating point type.");
+
+    //We assume that the analyzer will not try to apply an unreachable filter.
+    PPL_ASSERT(!marked_empty());
+
+    // Dimension-compatibility checks.
+    // The dimensions of `left' and `right' should not be greater than the
+    // dimension of `*this'.
+    const dimension_type left_space_dim = left.space_dimension();
+    const dimension_type space_dim = space_dimension();
+    if (space_dim < left_space_dim)
+      throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "left", left);
+
+    const dimension_type right_space_dim = right.space_dimension();
+    if (space_dim < right_space_dim)
+      throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "right", right);
+
+  // Number of non-zero coefficients in `left': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type left_t = 0;
+  // Variable-index of the last non-zero coefficient in `left', if any.
+  dimension_type left_w_id = 0;
+  // Number of non-zero coefficients in `right': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type right_t = 0;
+  // Variable-index of the last non-zero coefficient in `right', if any.
+  dimension_type right_w_id = 0;
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  // Get information about the number of non-zero coefficients in `left'.
+  for (dimension_type i = left_space_dim; i-- > 0; )
+    if (left.coefficient(Variable(i)) != 0) {
+      if (left_t++ == 1)
+        break;
+      else
+        left_w_id = i;
+    }
+
+  // Get information about the number of non-zero coefficients in `right'.
+  for (dimension_type i = right_space_dim; i-- > 0; )
+    if (right.coefficient(Variable(i)) != 0) {
+      if (right_t++ == 1)
+        break;
+      else
+        right_w_id = i;
+    }
+
+  const FP_Interval_Type& left_w_coeff =
+          left.coefficient(Variable(left_w_id));
+  const FP_Interval_Type& right_w_coeff =
+          right.coefficient(Variable(right_w_id));
+
+  if (left_t == 0) {
+    if (right_t == 0) {
+      // The constraint involves constants only. Ignore it: it is up to
+      // the analyzer to handle it.
+      PPL_ASSERT(OK());
+      return;
+    }
+    else if (right_w_coeff == 1 || right_w_coeff == -1) {
+      left_inhomogeneous_refine(right_t, right_w_id, left, right);
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
+  else if (left_t == 1) {
+    if (left_w_coeff == 1 || left_w_coeff == -1) {
+      if (right_t == 0 || (right_w_coeff == 1 || right_w_coeff == -1)) {
+	left_one_var_refine(left_w_id, right_t, right_w_id, left, right);
+	PPL_ASSERT(OK());
+	return;
+      }
+    }
+  }
+
+  // General case.
+  general_refine(left_w_id, right_w_id, left, right);
+  PPL_ASSERT(OK());
+} // end of refine_with_linear_form_inequality
+
+template <typename T>
+template <typename U>
+void
+BD_Shape<T>
+::export_interval_constraints(U& dest) const {
+  const dimension_type space_dim = space_dimension();
+  if (space_dim > dest.space_dimension())
+    throw std::invalid_argument(
+               "BD_Shape<T>::export_interval_constraints");
+
+  // Expose all the interval constraints.
+  shortest_path_closure_assign();
+
+  if (marked_empty()) {
+    dest.set_empty();
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  PPL_DIRTY_TEMP(N, tmp);
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    // Set the upper bound.
+    const N& u = dbm_0[i+1];
+    if (!is_plus_infinity(u))
+      if (!dest.restrict_upper(i, u.raw_value()))
+        return;
+
+    // Set the lower bound.
+    const N& negated_l = dbm[i+1][0];
+    if (!is_plus_infinity(negated_l)) {
+      neg_assign_r(tmp, negated_l, ROUND_DOWN);
+      if (!dest.restrict_lower(i, tmp.raw_value()))
+        return;
+    }
+  }
+
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::left_inhomogeneous_refine(const dimension_type& right_t,
+				       const dimension_type& right_w_id,
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  if (right_t == 1) {
+    // The constraint has the form [a-, a+] <= [b-, b+] + [c-, c+] * x.
+    // Reduce it to the constraint +/-x <= b+ - a- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      if (right_w_coeff == 1) {
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(right_w_id+1, 0, b_plus_minus_a_minus);
+        return;
+      }
+
+      if (right_w_coeff == -1) {
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(0, right_w_id+1, b_plus_minus_a_minus);
+        return;
+      }
+    }
+} // end of left_inhomogeneous_refine
+
+
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::left_one_var_refine(const dimension_type& left_w_id,
+		      const dimension_type& right_t,
+		      const dimension_type& right_w_id,
+	        const Linear_Form< Interval<T, Interval_Info> >& left,
+		const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+    if (right_t == 0) {
+      // The constraint has the form [b-, b+] + [c-, c+] * x <= [a-, a+]
+      // Reduce it to the constraint +/-x <= a+ - b- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+	left.coefficient(Variable(left_w_id));
+
+      if (left_w_coeff == 1) {
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(0, left_w_id+1, a_plus_minus_b_minus);
+        return;
+      }
+
+      if (left_w_coeff == -1) {
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(left_w_id+1, 0, a_plus_minus_b_minus);
+        return;
+      }
+    }
+    else if (right_t == 1) {
+      // The constraint has the form
+      // [a-, a+] + [b-, b+] * x <= [c-, c+] + [d-, d+] * y.
+      // Reduce it to the constraint +/-x +/-y <= c+ - a-
+      // if [b-, b+] = +/-[1, 1] and [d-, d+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+                              left.coefficient(Variable(left_w_id));
+
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+
+      bool is_left_coeff_one = (left_w_coeff == 1);
+      bool is_left_coeff_minus_one = (left_w_coeff == -1);
+      bool is_right_coeff_one = (right_w_coeff == 1);
+      bool is_right_coeff_minus_one = (right_w_coeff == -1);
+      if (left_w_id == right_w_id) {
+        if ((is_left_coeff_one && is_right_coeff_one)
+            ||
+            (is_left_coeff_minus_one && is_right_coeff_minus_one)) {
+          // Here we have an identity or a constants-only constraint.
+          return;
+        }
+        if (is_left_coeff_one && is_right_coeff_minus_one) {
+          // We fall back to a previous case.
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                            ROUND_UP);
+          add_dbm_constraint(0, left_w_id + 1, a_plus_minus_b_minus);
+          return;
+        }
+        if (is_left_coeff_minus_one && is_right_coeff_one) {
+          // We fall back to a previous case.
+	  PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                            ROUND_UP);
+          add_dbm_constraint(right_w_id + 1, 0, a_plus_minus_b_minus);
+          return;
+        }
+      }
+      else if (is_left_coeff_minus_one && is_right_coeff_one) {
+        // over-approximate (if is it possible) the inequality
+        // -B + [b1, b2] <= A + [a1, a2] by adding the constraints
+        // -B <= upper_bound(A) + (a2 - b1) and
+        // -A <= upper_bound(B) + (a2 - b1)
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+        PPL_DIRTY_TEMP(N, ub);
+        ub = dbm[0][right_w_id + 1];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(left_w_id + 1, 0, ub);
+        }
+        ub = dbm[0][left_w_id + 1];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(right_w_id + 1, 0, ub);
+        }
+        return;
+      }
+      if (is_left_coeff_one && is_right_coeff_minus_one) {
+        // over-approximate (if is it possible) the inequality
+        // B + [b1, b2] <= -A + [a1, a2] by adding the constraints
+        // B <= upper_bound(-A) + (a2 - b1) and
+        // A <= upper_bound(-B) + (a2 - b1)
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+        PPL_DIRTY_TEMP(N, ub);
+        ub = dbm[right_w_id + 1][0];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(0, left_w_id + 1, ub);
+        }
+        ub = dbm[left_w_id + 1][0];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(0, right_w_id + 1, ub);
+        }
+	    return;
+      }
+      if (is_left_coeff_one && is_right_coeff_one) {
+	PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+	const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(right_w_id+1, left_w_id+1, c_plus_minus_a_minus);
+	return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_minus_one) {
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(left_w_id+1, right_w_id+1, c_plus_minus_a_minus);
+        return;
+      }
+    }
+}
+
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::general_refine(const dimension_type& left_w_id,
+		 const dimension_type& right_w_id,
+		 const Linear_Form< Interval<T, Interval_Info> >& left,
+		 const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  Linear_Form<FP_Interval_Type> right_minus_left(right);
+  right_minus_left -= left;
+
+  // Declare temporaries outside of the loop.
+  PPL_DIRTY_TEMP(N, low_coeff);
+  PPL_DIRTY_TEMP(N, high_coeff);
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  dimension_type max_w_id = std::max(left_w_id, right_w_id);
+
+  for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) {
+    for (dimension_type second_v = first_v+1;
+         second_v <= max_w_id; ++second_v) {
+      const FP_Interval_Type& lfv_coefficient =
+	left.coefficient(Variable(first_v));
+      const FP_Interval_Type& lsv_coefficient =
+	left.coefficient(Variable(second_v));
+      const FP_Interval_Type& rfv_coefficient =
+	right.coefficient(Variable(first_v));
+      const FP_Interval_Type& rsv_coefficient =
+	right.coefficient(Variable(second_v));
+      // We update the constraints only when both variables appear in at
+      // least one argument.
+      bool do_update = false;
+      assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0) {
+        assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0)
+          do_update = true;
+        else {
+          assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+        }
+      }
+      else {
+        assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0) {
+          assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+          else {
+            assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+            assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+            if (low_coeff != 0 || high_coeff != 0)
+              do_update = true;
+          }
+        }
+      }
+
+      if (do_update) {
+        Variable first(first_v);
+        Variable second(second_v);
+        dimension_type n_first_var = first_v +1 ;
+        dimension_type n_second_var = second_v + 1;
+        linear_form_upper_bound(right_minus_left - first + second,
+                                upper_bound);
+        add_dbm_constraint(n_first_var, n_second_var, upper_bound);
+        linear_form_upper_bound(right_minus_left + first - second,
+                                upper_bound);
+        add_dbm_constraint(n_second_var, n_first_var, upper_bound);
+      }
+    }
+  }
+
+  // Finally, update the unary constraints.
+  for (dimension_type v = 0; v < max_w_id; ++v) {
+    const FP_Interval_Type& lv_coefficient =
+      left.coefficient(Variable(v));
+    const FP_Interval_Type& rv_coefficient =
+      right.coefficient(Variable(v));
+    // We update the constraints only if v appears in at least one of the
+    // two arguments.
+    bool do_update = false;
+    assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (low_coeff != 0 || high_coeff != 0)
+      do_update = true;
+    else {
+      assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0)
+        do_update = true;
+    }
+
+    if (do_update) {
+      Variable var(v);
+      dimension_type n_var = v + 1;
+      linear_form_upper_bound(right_minus_left + var, upper_bound);
+      add_dbm_constraint(0, n_var, upper_bound);
+      linear_form_upper_bound(right_minus_left - var, upper_bound);
+      add_dbm_constraint(n_var, 0, upper_bound);
+    }
+  }
+
+}
+
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::
+linear_form_upper_bound(const Linear_Form< Interval<T, Interval_Info> >& lf,
+			N& result) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "BD_Shape<T>::linear_form_upper_bound:"
+                     " T not a floating point type.");
+
+  const dimension_type lf_space_dimension = lf.space_dimension();
+  PPL_ASSERT(lf_space_dimension <= space_dimension());
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  PPL_DIRTY_TEMP(N, curr_lb);
+  PPL_DIRTY_TEMP(N, curr_ub);
+  PPL_DIRTY_TEMP(N, curr_var_ub);
+  PPL_DIRTY_TEMP(N, curr_minus_var_ub);
+
+  PPL_DIRTY_TEMP(N, first_comparison_term);
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+
+  PPL_DIRTY_TEMP(N, negator);
+
+  assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED);
+
+  for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension;
+       ++curr_var) {
+    n_var = curr_var + 1;
+    const FP_Interval_Type& curr_coefficient =
+                            lf.coefficient(Variable(curr_var));
+    assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (curr_lb != 0 || curr_ub != 0) {
+      assign_r(curr_var_ub, dbm[0][n_var], ROUND_NOT_NEEDED);
+      neg_assign_r(curr_minus_var_ub, dbm[n_var][0], ROUND_NOT_NEEDED);
+      // Optimize the most commons cases: curr = +/-[1, 1].
+      if (curr_lb == 1 && curr_ub == 1) {
+        add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub),
+                     ROUND_UP);
+      }
+      else if (curr_lb == -1 && curr_ub == -1) {
+        neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub),
+                     ROUND_NOT_NEEDED);
+        add_assign_r(result, result, negator, ROUND_UP);
+      }
+      else {
+        // Next addend will be the maximum of four quantities.
+        assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub,
+                         ROUND_UP);
+        add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+
+        add_assign_r(result, result, first_comparison_term, ROUND_UP);
+      }
+    }
+  }
+}
+
+template <typename T>
 void
 BD_Shape<T>::affine_preimage(const Variable var,
                              const Linear_Expression& expr,
                              Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -4185,15 +4933,13 @@ BD_Shape<T>::affine_preimage(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type j = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        j = i;
-    }
+  dimension_type j = expr.last_nonzero();
+
+  if (j != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, j))
+      ++t;
+  }
 
   // Now we know the form of `expr':
   // - If t == 0, then expr = b, with `b' a constant;
@@ -4214,10 +4960,10 @@ BD_Shape<T>::affine_preimage(const Variable var,
 
   if (t == 1) {
     // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(j));
+    const Coefficient& a = expr.get(Variable(j - 1));
     if (a == denominator || a == -denominator) {
       // Case 2: expr = a*w + b, with a = +/- denominator.
-      if (j == var.id())
+      if (j == var.space_dimension())
         // Apply affine_image() on the inverse of this transformation.
         affine_image(var, denominator*var - b, a);
       else {
@@ -4263,7 +5009,7 @@ BD_Shape<T>
                        Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // `var' should be one of the dimensions of the BD_Shape.
@@ -4276,11 +5022,11 @@ BD_Shape<T>
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (bds_space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
                                  "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (bds_space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
                                  "ub", ub_expr);
 
   // Any image of an empty BDS is empty.
@@ -4293,15 +5039,13 @@ BD_Shape<T>
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Index of the last non-zero coefficient in `ub_expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = ub_space_dim; i-- > 0; )
-    if (ub_expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  dimension_type w = ub_expr.last_nonzero();
+
+  if (w != 0) {
+    ++t;
+    if (!ub_expr.all_zeroes(1, w))
+      ++t;
+  }
 
   // Now we know the form of `ub_expr':
   // - If t == 0, then ub_expr == b, with `b' a constant;
@@ -4310,8 +5054,8 @@ BD_Shape<T>
   //   equal to `denominator' or `-denominator', since otherwise we have
   //   to fall back on the general form;
   // - If t == 2, the `ub_expr' is of the general form.
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
   if (t == 0) {
     // Case 1: ub_expr == b.
@@ -4327,13 +5071,13 @@ BD_Shape<T>
 
   if (t == 1) {
     // Value of the one and only non-zero coefficient in `ub_expr'.
-    const Coefficient& a = ub_expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
+    const Coefficient& a = ub_expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
       // Case 2: expr == a*w + b, with a == +/- denominator.
       if (w == v) {
         // Here `var' occurs in `ub_expr'.
         // To ease the computation, we add an additional dimension.
-        const Variable new_var = Variable(bds_space_dim);
+        const Variable new_var(bds_space_dim);
         add_space_dimensions_and_embed(1);
         // Constrain the new dimension to be equal to `ub_expr'.
         affine_image(new_var, ub_expr, denominator);
@@ -4395,8 +5139,8 @@ BD_Shape<T>
   PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
   neg_assign(minus_b, b);
   const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -4421,34 +5165,37 @@ BD_Shape<T>
   PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
   // Note: indices above `w' can be disregarded, as they all have
   // a zero coefficient in `sc_expr'.
-  for (dimension_type i = w; i > 0; --i) {
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+  for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+    const Coefficient& sc_i = *i;
+    const dimension_type i_dim = i.variable().space_dimension();
     const int sign_i = sgn(sc_i);
     if (sign_i > 0) {
       assign_r(coeff_i, sc_i, ROUND_UP);
       // Approximating `sc_expr'.
       if (pos_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
+        const N& up_approx_i = dbm_0[i_dim];
         if (!is_plus_infinity(up_approx_i))
           add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
         else {
           ++pos_pinf_count;
-          pos_pinf_index = i;
+          pos_pinf_index = i_dim;
         }
       }
     }
-    else if (sign_i < 0) {
+    else {
+      PPL_ASSERT(sign_i < 0);
       neg_assign(minus_sc_i, sc_i);
       // Note: using temporary named `coeff_i' to store -coeff_i.
       assign_r(coeff_i, minus_sc_i, ROUND_UP);
       // Approximating `sc_expr'.
       if (pos_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
+        const N& up_approx_minus_i = dbm[i_dim][0];
         if (!is_plus_infinity(up_approx_minus_i))
           add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
         else {
           ++pos_pinf_count;
-          pos_pinf_index = i;
+          pos_pinf_index = i_dim;
         }
       }
     }
@@ -4469,27 +5216,27 @@ BD_Shape<T>
   // Exploit the upper approximation, if possible.
   if (pos_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
     }
     // Add the upper bound constraint, if meaningful.
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
       dbm[0][v] = pos_sum;
       // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, pos_sum);
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum);
     }
     else
       // Here `pos_pinf_count == 1'.
       if (pos_pinf_index != v
-          && sc_expr.coefficient(Variable(pos_pinf_index-1)) == sc_den)
+          && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom)
         // Add the constraint `v - pos_pinf_index <= pos_sum'.
         dbm[pos_pinf_index][v] = pos_sum;
   }
@@ -4505,7 +5252,7 @@ BD_Shape<T>
                           Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // `var' should be one of the dimensions of the BD_Shape.
@@ -4518,11 +5265,11 @@ BD_Shape<T>
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
                                  "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
                                  "ub", ub_expr);
 
   // Any preimage of an empty BDS is empty.
@@ -4546,18 +5293,18 @@ BD_Shape<T>
   const Coefficient& lb_expr_v = lb_expr.coefficient(var);
   // Here `var' occurs in `lb_expr' and `ub_expr'.
   // To ease the computation, we add an additional dimension.
-  const Variable new_var = Variable(space_dim);
+  const Variable new_var(space_dim);
   add_space_dimensions_and_embed(1);
   const Linear_Expression lb_inverse
     = lb_expr - (lb_expr_v + denominator)*var;
-  PPL_DIRTY_TEMP_COEFFICIENT(lb_inverse_den);
-  neg_assign(lb_inverse_den, lb_expr_v);
-  affine_image(new_var, lb_inverse, lb_inverse_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(lb_inverse_denom);
+  neg_assign(lb_inverse_denom, lb_expr_v);
+  affine_image(new_var, lb_inverse, lb_inverse_denom);
   shortest_path_closure_assign();
   PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
-  if (sgn(denominator) == sgn(lb_inverse_den))
+  if (sgn(denominator) == sgn(lb_inverse_denom))
     add_constraint(var >= new_var);
   else
     add_constraint(var <= new_var);
@@ -4574,7 +5321,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
                                       denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -4593,14 +5340,12 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
 
   // The relation symbol cannot be a strict relation symbol.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is a strict relation symbol");
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   if (relsym == EQUAL) {
     // The relation symbol is "=":
@@ -4619,15 +5364,13 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  dimension_type w = expr.last_nonzero();
+
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
   // Now we know the form of `expr':
   // - If t == 0, then expr == b, with `b' a constant;
@@ -4638,8 +5381,8 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
   // - If t == 2, the `expr' is of the general form.
   DB_Row<N>& dbm_0 = dbm[0];
   DB_Row<N>& dbm_v = dbm[v];
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
   if (t == 0) {
     // Case 1: expr == b.
@@ -4655,11 +5398,12 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     case GREATER_OR_EQUAL:
       // Add the constraint `var >= b/denominator',
       // i.e., `-var <= -b/denominator',
-      add_dbm_constraint(v, 0, b, minus_den);
+      add_dbm_constraint(v, 0, b, minus_denom);
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     PPL_ASSERT(OK());
     return;
@@ -4667,8 +5411,8 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
 
   if (t == 1) {
     // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
+    const Coefficient& a = expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
       // Case 2: expr == a*w + b, with a == +/- denominator.
       PPL_DIRTY_TEMP(N, d);
       switch (relsym) {
@@ -4726,7 +5470,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
         break;
 
       case GREATER_OR_EQUAL:
-        div_round_up(d, b, minus_den);
+        div_round_up(d, b, minus_denom);
         if (w == v) {
           // `expr' is of the form: a*w + b.
           // Shortest-path closure and reduction are not preserved.
@@ -4782,7 +5526,8 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
 
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       PPL_ASSERT(OK());
       return;
@@ -4801,8 +5546,8 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
   neg_assign(minus_b, b);
   const Coefficient& sc_b = is_sc ? b : minus_b;
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -4830,17 +5575,19 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     // Approximate the homogeneous part of `sc_expr'.
     // Note: indices above `w' can be disregarded, as they all have
     // a zero coefficient in `sc_expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+    PPL_ASSERT(w != 0);
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
       const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
+      PPL_ASSERT(sign_i != 0);
       // Choose carefully: we are approximating `sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm_0[i] : dbm[i][0];
+      const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0];
       if (is_plus_infinity(approx_i)) {
         if (++pinf_count > 1)
           break;
-        pinf_index = i;
+        pinf_index = i_dim;
         continue;
       }
       if (sign_i > 0)
@@ -4864,26 +5611,25 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     }
 
     // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing the quotient, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
     }
 
     if (pinf_count == 0) {
       // Add the constraint `v <= sum'.
       add_dbm_constraint(0, v, sum);
       // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
     }
     else if (pinf_count == 1)
-      if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
+      if (pinf_index != v && expr.get(Variable(pinf_index - 1)) == denominator)
         // Add the constraint `v - pinf_index <= sum'.
         add_dbm_constraint(pinf_index, v, sum);
     break;
@@ -4896,17 +5642,18 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     // Approximate the inhomogeneous term.
     assign_r(sum, minus_sc_b, ROUND_UP);
     // Approximate the homogeneous part of `-sc_expr'.
-    for (dimension_type i = expr_space_dim + 1; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
       const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
+      PPL_ASSERT(sign_i != 0);
+      const dimension_type i_dim = i.variable().space_dimension();
       // Choose carefully: we are approximating `-sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm[i][0] : dbm_0[i];
+      const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim];
       if (is_plus_infinity(approx_i)) {
         if (++pinf_count > 1)
           break;
-        pinf_index = i;
+        pinf_index = i_dim;
         continue;
       }
       if (sign_i > 0)
@@ -4930,26 +5677,25 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     }
 
     // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing the quotient, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
     }
 
     if (pinf_count == 0) {
       // Add the constraint `v >= -sum', i.e., `-v <= sum'.
       add_dbm_constraint(v, 0, sum);
       // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, sum);
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum);
     }
     else if (pinf_count == 1)
-      if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
+      if (pinf_index != v && expr.get(Variable(pinf_index - 1)) == denominator)
         // Add the constraint `v - pinf_index >= -sum',
         // i.e., `pinf_index - v <= sum'.
         add_dbm_constraint(v, pinf_index, sum);
@@ -4957,7 +5703,8 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
 
   default:
     // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   PPL_ASSERT(OK());
 }
@@ -4985,14 +5732,12 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
 
   // Strict relation symbols are not admitted for BDSs.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is a strict relation symbol");
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   // The image of an empty BDS is empty.
   shortest_path_closure_assign();
@@ -5003,15 +5748,14 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t_lhs = 0;
   // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+  dimension_type j_lhs = lhs.last_nonzero();
+
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
   const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
@@ -5035,7 +5779,8 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
   else if (t_lhs == 1) {
@@ -5044,30 +5789,27 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     // method computing generalized affine images for a single variable.
     Variable v(j_lhs);
     // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
+    const Coefficient& denom = lhs.coefficient(v);
     Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
+    if (denom < 0) {
       if (relsym == LESS_OR_EQUAL)
         new_relsym = GREATER_OR_EQUAL;
       else if (relsym == GREATER_OR_EQUAL)
         new_relsym = LESS_OR_EQUAL;
     }
     Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_image(v, new_relsym, expr, den);
+    generalized_affine_image(v, new_relsym, expr, denom);
   }
   else {
     // Here `lhs' is of the general form, having at least two variables.
     // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
     std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-    if (!lhs_vars_intersects_rhs_vars) {
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
       // `lhs' and `rhs' variables are disjoint.
       // Existentially quantify all variables in the lhs.
       for (dimension_type i = lhs_vars.size(); i-- > 0; )
@@ -5088,7 +5830,8 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
     }
     else {
@@ -5105,7 +5848,7 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // the following TODO note is accurately dealt with.
 
       // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
+      const Variable new_var(space_dim);
       add_space_dimensions_and_embed(1);
       // Constrain the new dimension to be equal to `rhs'.
       // NOTE: calling affine_image() instead of refine_no_check()
@@ -5136,7 +5879,8 @@ BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       // Remove the temporarily added dimension.
       remove_higher_space_dimensions(space_dim-1);
@@ -5156,7 +5900,8 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
                                          denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)", "d == 0");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -5175,14 +5920,12 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
 
   // The relation symbol cannot be a strict relation symbol.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is a strict relation symbol");
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   if (relsym == EQUAL) {
     // The relation symbol is "=":
@@ -5204,11 +5947,11 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
       ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     const Linear_Expression inverse
       = expr - (expr_v + denominator)*var;
-    PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-    neg_assign(inverse_den, expr_v);
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+    neg_assign(inverse_denom, expr_v);
     const Relation_Symbol inverse_relsym
-      = (sgn(denominator) == sgn(inverse_den)) ? relsym : reversed_relsym;
-    generalized_affine_image(var, inverse_relsym, inverse, inverse_den);
+      = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym;
+    generalized_affine_image(var, inverse_relsym, inverse, inverse_denom);
     return;
   }
 
@@ -5248,14 +5991,12 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
 
   // Strict relation symbols are not admitted for BDSs.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is a strict relation symbol");
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   // The preimage of an empty BDS is empty.
   shortest_path_closure_assign();
@@ -5266,15 +6007,14 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t_lhs = 0;
   // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+  dimension_type j_lhs = lhs.last_nonzero();
+
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
   const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
@@ -5290,30 +6030,27 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
     // method computing generalized affine preimages for a single variable.
     Variable v(j_lhs);
     // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
+    const Coefficient& denom = lhs.coefficient(v);
     Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
+    if (denom < 0) {
       if (relsym == LESS_OR_EQUAL)
         new_relsym = GREATER_OR_EQUAL;
       else if (relsym == GREATER_OR_EQUAL)
         new_relsym = LESS_OR_EQUAL;
     }
     Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_preimage(v, new_relsym, expr, den);
+    generalized_affine_preimage(v, new_relsym, expr, denom);
   }
   else {
     // Here `lhs' is of the general form, having at least two variables.
     // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
     std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-    if (!lhs_vars_intersects_rhs_vars) {
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
       // `lhs' and `rhs' variables are disjoint.
 
       // Constrain the left hand side expression so that it is related to
@@ -5332,7 +6069,8 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
 
       // If the shrunk BD_Shape is empty, its preimage is empty too; ...
@@ -5346,7 +6084,7 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
 
       // Some variables in `lhs' also occur in `rhs'.
       // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(bds_space_dim);
+      const Variable new_var(bds_space_dim);
       add_space_dimensions_and_embed(1);
       // Constrain the new dimension to be equal to `lhs'.
       // NOTE: calling affine_image() instead of refine_no_check()
@@ -5378,7 +6116,8 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       // Remove the temporarily added dimension.
       remove_higher_space_dimensions(bds_space_dim);
@@ -5391,71 +6130,75 @@ BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
 template <typename T>
 Constraint_System
 BD_Shape<T>::constraints() const {
-  Constraint_System cs;
   const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
+
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
   }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else if (marked_shortest_path_reduced())
+
+  if (marked_shortest_path_reduced()) {
     // Disregard redundant constraints.
     cs = minimized_constraints();
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(a);
-    PPL_DIRTY_TEMP_COEFFICIENT(b);
-    // Go through all the unary constraints in `dbm'.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type j = 1; j <= space_dim; ++j) {
-      const Variable x(j-1);
-      const N& dbm_0j = dbm_0[j];
-      const N& dbm_j0 = dbm[j][0];
-      if (is_additive_inverse(dbm_j0, dbm_0j)) {
-        // We have a unary equality constraint.
+    return cs;
+  }
+
+  PPL_DIRTY_TEMP_COEFFICIENT(a);
+  PPL_DIRTY_TEMP_COEFFICIENT(b);
+  // Go through all the unary constraints in `dbm'.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type j = 1; j <= space_dim; ++j) {
+    const Variable x(j-1);
+    const N& dbm_0j = dbm_0[j];
+    const N& dbm_j0 = dbm[j][0];
+    if (is_additive_inverse(dbm_j0, dbm_0j)) {
+      // We have a unary equality constraint.
+      numer_denom(dbm_0j, b, a);
+      cs.insert(a*x == b);
+    }
+    else {
+      // We have 0, 1 or 2 unary inequality constraints.
+      if (!is_plus_infinity(dbm_0j)) {
         numer_denom(dbm_0j, b, a);
-        cs.insert(a*x == b);
+        cs.insert(a*x <= b);
       }
-      else {
-        // We have 0, 1 or 2 unary inequality constraints.
-        if (!is_plus_infinity(dbm_0j)) {
-          numer_denom(dbm_0j, b, a);
-          cs.insert(a*x <= b);
-        }
-        if (!is_plus_infinity(dbm_j0)) {
-          numer_denom(dbm_j0, b, a);
-          cs.insert(-a*x <= b);
-        }
+      if (!is_plus_infinity(dbm_j0)) {
+        numer_denom(dbm_j0, b, a);
+        cs.insert(-a*x <= b);
       }
     }
+  }
 
-    // Go through all the binary constraints in `dbm'.
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const Variable y(i-1);
-      const DB_Row<N>& dbm_i = dbm[i];
-      for (dimension_type j = i + 1; j <= space_dim; ++j) {
-        const Variable x(j-1);
-        const N& dbm_ij = dbm_i[j];
-        const N& dbm_ji = dbm[j][i];
-        if (is_additive_inverse(dbm_ji, dbm_ij)) {
-          // We have a binary equality constraint.
+  // Go through all the binary constraints in `dbm'.
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const Variable y(i-1);
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = i + 1; j <= space_dim; ++j) {
+      const Variable x(j-1);
+      const N& dbm_ij = dbm_i[j];
+      const N& dbm_ji = dbm[j][i];
+      if (is_additive_inverse(dbm_ji, dbm_ij)) {
+        // We have a binary equality constraint.
+        numer_denom(dbm_ij, b, a);
+        cs.insert(a*x - a*y == b);
+      }
+      else {
+        // We have 0, 1 or 2 binary inequality constraints.
+        if (!is_plus_infinity(dbm_ij)) {
           numer_denom(dbm_ij, b, a);
-          cs.insert(a*x - a*y == b);
+          cs.insert(a*x - a*y <= b);
         }
-        else {
-          // We have 0, 1 or 2 binary inequality constraints.
-          if (!is_plus_infinity(dbm_ij)) {
-            numer_denom(dbm_ij, b, a);
-            cs.insert(a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(dbm_ji)) {
-            numer_denom(dbm_ji, b, a);
-            cs.insert(a*y - a*x <= b);
-          }
+        if (!is_plus_infinity(dbm_ji)) {
+          numer_denom(dbm_ji, b, a);
+          cs.insert(a*y - a*x <= b);
         }
       }
     }
@@ -5467,79 +6210,80 @@ template <typename T>
 Constraint_System
 BD_Shape<T>::minimized_constraints() const {
   shortest_path_reduction_assign();
-  Constraint_System cs;
   const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
+
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
   }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-
-    // Compute leader information.
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-    std::vector<dimension_type> leader_indices;
-    compute_leader_indices(leaders, leader_indices);
-    const dimension_type num_leaders = leader_indices.size();
-
-    // Go through the non-leaders to generate equality constraints.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const dimension_type leader = leaders[i];
-      if (i != leader) {
-        // Generate the constraint relating `i' and its leader.
-        if (leader == 0) {
-          // A unary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
-          numer_denom(dbm_0[i], num, den);
-          cs.insert(den*Variable(i-1) == num);
-        }
-        else {
-          // A binary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
-          numer_denom(dbm[i][leader], num, den);
-          cs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
-        }
-      }
-    }
 
-    // Go through the leaders to generate inequality constraints.
-    // First generate all the unary inequalities.
-    const Bit_Row& red_0 = redundancy_dbm[0];
-    for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
-      const dimension_type i = leader_indices[l_i];
-      if (!red_0[i]) {
-        numer_denom(dbm_0[i], num, den);
-        cs.insert(den*Variable(i-1) <= num);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+
+  // Compute leader information.
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+  std::vector<dimension_type> leader_indices;
+  compute_leader_indices(leaders, leader_indices);
+  const dimension_type num_leaders = leader_indices.size();
+
+  // Go through the non-leaders to generate equality constraints.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const dimension_type leader = leaders[i];
+    if (i != leader) {
+      // Generate the constraint relating `i' and its leader.
+      if (leader == 0) {
+        // A unary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
+        numer_denom(dbm_0[i], numer, denom);
+        cs.insert(denom*Variable(i-1) == numer);
       }
-      if (!redundancy_dbm[i][0]) {
-        numer_denom(dbm[i][0], num, den);
-        cs.insert(-den*Variable(i-1) <= num);
+      else {
+        // A binary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
+        numer_denom(dbm[i][leader], numer, denom);
+        cs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer);
       }
     }
-    // Then generate all the binary inequalities.
-    for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
-      const dimension_type i = leader_indices[l_i];
-      const DB_Row<N>& dbm_i = dbm[i];
-      const Bit_Row& red_i = redundancy_dbm[i];
-      for (dimension_type l_j = l_i + 1; l_j < num_leaders; ++l_j) {
-        const dimension_type j = leader_indices[l_j];
-        if (!red_i[j]) {
-          numer_denom(dbm_i[j], num, den);
-          cs.insert(den*Variable(j-1) - den*Variable(i-1) <= num);
-        }
-        if (!redundancy_dbm[j][i]) {
-          numer_denom(dbm[j][i], num, den);
-          cs.insert(den*Variable(i-1) - den*Variable(j-1) <= num);
-        }
+  }
+
+  // Go through the leaders to generate inequality constraints.
+  // First generate all the unary inequalities.
+  const Bit_Row& red_0 = redundancy_dbm[0];
+  for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
+    const dimension_type i = leader_indices[l_i];
+    if (!red_0[i]) {
+      numer_denom(dbm_0[i], numer, denom);
+      cs.insert(denom*Variable(i-1) <= numer);
+    }
+    if (!redundancy_dbm[i][0]) {
+      numer_denom(dbm[i][0], numer, denom);
+      cs.insert(-denom*Variable(i-1) <= numer);
+    }
+  }
+  // Then generate all the binary inequalities.
+  for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
+    const dimension_type i = leader_indices[l_i];
+    const DB_Row<N>& dbm_i = dbm[i];
+    const Bit_Row& red_i = redundancy_dbm[i];
+    for (dimension_type l_j = l_i + 1; l_j < num_leaders; ++l_j) {
+      const dimension_type j = leader_indices[l_j];
+      if (!red_i[j]) {
+        numer_denom(dbm_i[j], numer, denom);
+        cs.insert(denom*Variable(j-1) - denom*Variable(i-1) <= numer);
+      }
+      if (!redundancy_dbm[j][i]) {
+        numer_denom(dbm[j][i], numer, denom);
+        cs.insert(denom*Variable(i-1) - denom*Variable(j-1) <= numer);
       }
     }
   }
@@ -5557,9 +6301,9 @@ BD_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // The space dimension of the resulting BDS should not
   // overflow the maximum allowed space dimension.
   if (m > max_space_dimension() - space_dimension())
-    throw_generic("expand_dimension(v, m)",
-                  "adding m new space dimensions exceeds "
-                  "the maximum allowed space dimension");
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
   // Nothing to do, if no dimensions must be added.
   if (m == 0)
@@ -5610,8 +6354,8 @@ BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
 
   // Moreover, `dest.id()' should not occur in `vars'.
   if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-                  "v should not occur in vs");
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
 
   shortest_path_closure_assign();
   if (!marked_empty()) {
@@ -5623,11 +6367,11 @@ BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
     DB_Row<N>& dbm_v = dbm[v_id];
     for (Variables_Set::const_iterator i = vars.begin(),
            vs_end = vars.end(); i != vs_end; ++i) {
-      const dimension_type tbf_id = *i + 1;
-      const DB_Row<N>& dbm_tbf = dbm[tbf_id];
+      const dimension_type to_be_folded_id = *i + 1;
+      const DB_Row<N>& dbm_to_be_folded_id = dbm[to_be_folded_id];
       for (dimension_type j = space_dim + 1; j-- > 0; ) {
-        max_assign(dbm[j][v_id], dbm[j][tbf_id]);
-        max_assign(dbm_v[j], dbm_tbf[j]);
+        max_assign(dbm[j][v_id], dbm[j][to_be_folded_id]);
+        max_assign(dbm_v[j], dbm_to_be_folded_id[j]);
       }
     }
   }
@@ -5699,22 +6443,22 @@ BD_Shape<T>::drop_some_non_integer_points(const Variables_Set& vars,
 /*! \relates Parma_Polyhedra_Library::BD_Shape */
 template <typename T>
 std::ostream&
-IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
+IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& bds) {
   typedef typename BD_Shape<T>::coefficient_type N;
-  if (c.is_universe())
+  if (bds.is_universe())
     s << "true";
   else {
     // We control empty bounded difference shape.
-    dimension_type n = c.space_dimension();
-    if (c.marked_empty())
+    dimension_type n = bds.space_dimension();
+    if (bds.marked_empty())
       s << "false";
     else {
       PPL_DIRTY_TEMP(N, v);
       bool first = true;
       for (dimension_type i = 0; i <= n; ++i)
         for (dimension_type j = i + 1; j <= n; ++j) {
-          const N& c_i_j = c.dbm[i][j];
-          const N& c_j_i = c.dbm[j][i];
+          const N& c_i_j = bds.dbm[i][j];
+          const N& c_j_i = bds.dbm[j][i];
           if (is_additive_inverse(c_j_i, c_i_j)) {
             // We will print an equality.
             if (first)
@@ -5986,11 +6730,11 @@ BD_Shape<T>::throw_dimension_incompatible(const char* method,
 template <typename T>
 void
 BD_Shape<T>::throw_expression_too_complex(const char* method,
-                                          const Linear_Expression& e) {
+                                          const Linear_Expression& le) {
   using namespace IO_Operators;
   std::ostringstream s;
   s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << e << " is too complex.";
+    << le << " is too complex.";
   throw std::invalid_argument(s.str());
 }
 
@@ -5998,19 +6742,34 @@ BD_Shape<T>::throw_expression_too_complex(const char* method,
 template <typename T>
 void
 BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const char* name_row,
-                                          const Linear_Expression& y) const {
+                                          const char* le_name,
+                                          const Linear_Expression& le) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename T>
+template<typename Interval_Info>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const char* lf_name,
+                                          const Linear_Form< Interval<T,
+					  Interval_Info> >& lf) const {
   std::ostringstream s;
   s << "PPL::BD_Shape::" << method << ":" << std::endl
     << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << y.space_dimension() << ".";
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
 template <typename T>
 void
-BD_Shape<T>::throw_generic(const char* method, const char* reason) {
+BD_Shape<T>::throw_invalid_argument(const char* method, const char* reason) {
   std::ostringstream s;
   s << "PPL::BD_Shape::" << method << ":" << std::endl
     << reason << ".";
diff --git a/src/BD_Shape.types.hh b/src/BD_Shape.types.hh
index cc475c6..5dc0f96 100644
--- a/src/BD_Shape.types.hh
+++ b/src/BD_Shape.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -18,6 +18,8 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 class BD_Shape;
 
+class BD_Shape_Helpers;
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_BD_Shape_types_hh)
diff --git a/src/BHRZ03_Certificate.cc b/src/BHRZ03_Certificate.cc
index 2b73740..8bfc3c8 100644
--- a/src/BHRZ03_Certificate.cc
+++ b/src/BHRZ03_Certificate.cc
@@ -1,7 +1,6 @@
-/* BHRZ03_Certificate class implementation
-   (non-inline member functions).
+/* BHRZ03_Certificate class implementation (non-inline member functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +19,10 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "BHRZ03_Certificate.defs.hh"
-
 #include "Polyhedron.defs.hh"
 #include "assert.hh"
 #include <iostream>
@@ -75,14 +72,7 @@ PPL::BHRZ03_Certificate::BHRZ03_Certificate(const Polyhedron& ph)
       // For each i such that 0 <= j < space_dim,
       // `num_rays_null_coord[j]' will be the number of rays
       // having exactly `j' coordinates equal to 0.
-      {
-	const Generator& r = *i;
-	dimension_type num_zeroes = 0;
-	for (dimension_type j = space_dim; j-- > 0; )
-	  if (r.coefficient(Variable(j)) == 0)
-	    ++num_zeroes;
-	++num_rays_null_coord[num_zeroes];
-      }
+      ++num_rays_null_coord[i->expression().num_zeroes(1, space_dim + 1)];
       break;
     case Generator::LINE:
       // Since the generator systems is minimized, the dimension of
@@ -107,21 +97,21 @@ int
 PPL::BHRZ03_Certificate::compare(const BHRZ03_Certificate& y) const {
   PPL_ASSERT(OK() && y.OK());
   if (affine_dim != y.affine_dim)
-    return affine_dim > y.affine_dim ? 1 : -1;
+    return (affine_dim > y.affine_dim) ? 1 : -1;
   if (lin_space_dim != y.lin_space_dim)
-    return lin_space_dim > y.lin_space_dim ? 1 : -1;
+    return (lin_space_dim > y.lin_space_dim) ? 1 : -1;
   if (num_constraints != y.num_constraints)
-    return num_constraints > y.num_constraints ? 1 : -1;
+    return (num_constraints > y.num_constraints) ? 1 : -1;
   if (num_points != y.num_points)
-    return num_points > y.num_points ? 1 : -1;
+    return (num_points > y.num_points) ? 1 : -1;
 
   const dimension_type space_dim = num_rays_null_coord.size();
   PPL_ASSERT(num_rays_null_coord.size() == y.num_rays_null_coord.size());
   // Note: iterating upwards, because we have to check first
   // the number of rays having more NON-zero coordinates.
-  for (dimension_type i = 0; i < space_dim; i++)
+  for (dimension_type i = 0; i < space_dim; ++i)
     if (num_rays_null_coord[i] != y.num_rays_null_coord[i])
-      return num_rays_null_coord[i] > y.num_rays_null_coord[i] ? 1 : -1;
+      return (num_rays_null_coord[i] > y.num_rays_null_coord[i]) ? 1 : -1;
   // All components are equal.
   return 0;
 }
@@ -217,32 +207,27 @@ PPL::BHRZ03_Certificate::compare(const Polyhedron& ph) const {
   // is stabilizing. If it is increasing, the chain is not stabilizing.
   // If they are equal, further investigation is needed.
   if (ph_num_constraints != num_constraints)
-    return ph_num_constraints < num_constraints ? 1 : -1;
+    return (ph_num_constraints < num_constraints) ? 1 : -1;
 
   // If the number of points of `ph' is decreasing, then the chain
   // is stabilizing. If it is increasing, the chain is not stabilizing.
   // If they are equal, further investigation is needed.
   if (ph_num_points != num_points)
-    return ph_num_points < num_points ? 1 : -1;
+    return (ph_num_points < num_points) ? 1 : -1;
 
   // The speculative optimization was not worth:
   // compute information about rays.
   std::vector<dimension_type> ph_num_rays_null_coord(ph.space_dim, 0);
   for (Generator_System::const_iterator i = gs.begin(),
 	 gs_end = gs.end(); i != gs_end; ++i)
-    if (i->is_ray()) {
-      const Generator& r = *i;
-      dimension_type num_zeroes = 0;
-      for (dimension_type j = space_dim; j-- > 0; )
-	if (r.coefficient(Variable(j)) == 0)
-	  ++num_zeroes;
-      ++ph_num_rays_null_coord[num_zeroes];
-    }
+    if (i->is_ray())
+      ++ph_num_rays_null_coord[i->expression().num_zeroes(1, space_dim + 1)];
+
   // Compare (lexicographically) the two vectors:
   // if ph_num_rays_null_coord < num_rays_null_coord the chain is stabilizing.
-  for (dimension_type i = 0; i < space_dim; i++)
+  for (dimension_type i = 0; i < space_dim; ++i)
     if (ph_num_rays_null_coord[i] != num_rays_null_coord[i])
-      return ph_num_rays_null_coord[i] < num_rays_null_coord[i] ? 1 : -1;
+      return (ph_num_rays_null_coord[i] < num_rays_null_coord[i]) ? 1 : -1;
 
   // All components are equal.
   return 0;
diff --git a/src/BHRZ03_Certificate.defs.hh b/src/BHRZ03_Certificate.defs.hh
index 2d5b588..3378dd2 100644
--- a/src/BHRZ03_Certificate.defs.hh
+++ b/src/BHRZ03_Certificate.defs.hh
@@ -1,6 +1,6 @@
 /* BHRZ03_Certificate class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BHRZ03_Certificate_defs_hh
 #define PPL_BHRZ03_Certificate_defs_hh 1
 
 #include "BHRZ03_Certificate.types.hh"
 #include "Polyhedron.types.hh"
-#include "globals.types.hh"
+#include "globals.defs.hh"
 #include "assert.hh"
 #include <vector>
 
diff --git a/src/BHRZ03_Certificate.inlines.hh b/src/BHRZ03_Certificate.inlines.hh
index 6925488..0087bec 100644
--- a/src/BHRZ03_Certificate.inlines.hh
+++ b/src/BHRZ03_Certificate.inlines.hh
@@ -1,6 +1,6 @@
 /* BHRZ03_Certificate class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_BHRZ03_Certificate_inlines_hh
 #define PPL_BHRZ03_Certificate_inlines_hh 1
@@ -54,7 +54,7 @@ inline bool
 BHRZ03_Certificate::Compare::operator()(const BHRZ03_Certificate& x,
 					const BHRZ03_Certificate& y) const {
   // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
+  // on this LGO relation, we want larger elements to come first.
   return x.compare(y) == 1;
 }
 
diff --git a/src/BHRZ03_Certificate.types.hh b/src/BHRZ03_Certificate.types.hh
index b3eabc9..fd2b31d 100644
--- a/src/BHRZ03_Certificate.types.hh
+++ b/src/BHRZ03_Certificate.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/BUGS.cc.dist b/src/BUGS.cc.dist
index 55d4916..6de4b3f 100644
--- a/src/BUGS.cc.dist
+++ b/src/BUGS.cc.dist
@@ -1,4 +1,4 @@
-extern const char* const BUGS_array[] = {
+extern const char* const BUGS_array[23] = {
   "",
   "The PPL developers encourage you to report any bugs you find using the",
   "bug tracking system available at https://www.cs.unipr.it/mantis/ .",
@@ -20,5 +20,5 @@ extern const char* const BUGS_array[] = {
   "",
   "All known bugs were resolved before the release.  It is likely that",
   "there are still bugs in the released version.  Any bugs found after",
-  "the release will be listed at http://www.cs.unipr.it/ppl/Bugs/ .",
+  "the release will be listed at http://bugseng.com/products/ppl/Bugs/ .",
   0};
diff --git a/src/BUGS.hh.dist b/src/BUGS.hh.dist
new file mode 100644
index 0000000..586ffeb
--- /dev/null
+++ b/src/BUGS.hh.dist
@@ -0,0 +1,4 @@
+#ifndef PPL_BUGS_hh
+#define PPL_BUGS_hh 1
+extern const char* const BUGS_array[23];
+#endif // !defined(PPL_BUGS_hh)
diff --git a/src/Bit_Matrix.cc b/src/Bit_Matrix.cc
index 071e63c..2309436 100644
--- a/src/Bit_Matrix.cc
+++ b/src/Bit_Matrix.cc
@@ -1,6 +1,6 @@
 /* Bit_Matrix class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,17 +19,16 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Bit_Matrix.defs.hh"
+#include "Dense_Row.defs.hh"
 #include "globals.defs.hh"
+#include "swapping_sort.templates.hh"
+#include "C_Integer.hh"
 #include <iostream>
 #include <string>
-#include <climits>
-
-#include "swapping_sort.icc"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -49,16 +48,24 @@ PPL::Bit_Matrix::sort_rows() {
 
   // Build the function objects implementing indirect sort comparison,
   // indirect unique comparison and indirect swap operation.
+  using namespace Implementation;
   typedef std::vector<Bit_Row> Cont;
-  Indirect_Sort_Compare<Cont, Bit_Row_Less_Than> sort_cmp(rows);
-  Indirect_Unique_Compare<Cont> unique_cmp(rows);
-  Indirect_Swapper<Cont> swapper(rows);
-
+  typedef Indirect_Sort_Compare<Cont, Bit_Row_Less_Than> Sort_Compare;
+  typedef Indirect_Unique_Compare<Cont> Unique_Compare;
+  typedef Indirect_Swapper<Cont> Swapper;
   const dimension_type num_duplicates
-    = indirect_sort_and_unique(num_elems, sort_cmp, unique_cmp, swapper);
+    = indirect_sort_and_unique(num_elems,
+                               Sort_Compare(rows),
+                               Unique_Compare(rows),
+                               Swapper(rows));
 
-  if (num_duplicates > 0)
-    rows.erase(rows.end() - num_duplicates, rows.end());
+  if (num_duplicates > 0) {
+    typedef Cont::iterator Iter;
+    typedef std::iterator_traits<Iter>::difference_type diff_t;
+    Iter last = rows.end();
+    Iter first = last - static_cast<diff_t>(num_duplicates);
+    rows.erase(first, last);
+  }
 
   PPL_ASSERT(OK());
 }
@@ -73,17 +80,18 @@ PPL::Bit_Matrix::add_recycled_row(Bit_Row& row) {
     new_rows.insert(new_rows.end(), new_rows_size, Bit_Row());
     // Put the new row in place.
     dimension_type i = new_rows_size-1;
-    new_rows[i].swap(row);
+    new_rows[i].m_swap(row);
     // Steal the old rows.
     while (i-- > 0)
-      new_rows[i].swap(rows[i]);
+      new_rows[i].m_swap(rows[i]);
     // Put the new rows into place.
-    std::swap(rows, new_rows);
+    using std::swap;
+    swap(rows, new_rows);
   }
   else
     // Reallocation will NOT take place: append an empty row
     // and swap it with the new row.
-    rows.insert(rows.end(), Bit_Row())->swap(row);
+    rows.insert(rows.end(), Bit_Row())->m_swap(row);
   PPL_ASSERT(OK());
 }
 
@@ -94,21 +102,23 @@ PPL::Bit_Matrix::transpose() {
   const dimension_type ncols = num_columns();
   Bit_Matrix tmp(ncols, nrows);
   for (dimension_type i = nrows; i-- > 0; )
-    for (unsigned long j = x[i].last(); j != ULONG_MAX; j = x[i].prev(j))
+    for (unsigned long j = x[i].last();
+         j != C_Integer<unsigned long>::max; j = x[i].prev(j))
       tmp[j].set(i);
-  swap(tmp);
+  m_swap(tmp);
   PPL_ASSERT(OK());
 }
 
 void
 PPL::Bit_Matrix::transpose_assign(const Bit_Matrix& y) {
-  const dimension_type y_nrows = y.num_rows();
-  const dimension_type y_ncols = y.num_columns();
-  Bit_Matrix tmp(y_ncols, y_nrows);
-  for (dimension_type i = y_nrows; i-- > 0; )
-    for (unsigned long j = y[i].last(); j != ULONG_MAX; j = y[i].prev(j))
+  const dimension_type y_num_rows = y.num_rows();
+  const dimension_type y_num_columns = y.num_columns();
+  Bit_Matrix tmp(y_num_columns, y_num_rows);
+  for (dimension_type i = y_num_rows; i-- > 0; )
+    for (unsigned long j = y[i].last();
+         j != C_Integer<unsigned long>::max; j = y[i].prev(j))
       tmp[j].set(i);
-  swap(tmp);
+  m_swap(tmp);
   PPL_ASSERT(OK());
 }
 
@@ -133,9 +143,10 @@ PPL::Bit_Matrix::resize(dimension_type new_n_rows,
       new_rows.insert(new_rows.end(), new_n_rows, Bit_Row());
       // Steal the old rows.
       for (dimension_type i = old_num_rows; i-- > 0; )
-	new_rows[i].swap(rows[i]);
+	new_rows[i].m_swap(rows[i]);
       // Put the new vector into place.
-      std::swap(rows, new_rows);
+      using std::swap;
+      swap(rows, new_rows);
     }
     else
       // Reallocation will NOT take place.
@@ -143,7 +154,7 @@ PPL::Bit_Matrix::resize(dimension_type new_n_rows,
   }
   else if (new_n_rows < old_num_rows)
     // Drop some rows.
-    rows.erase(rows.begin() + new_n_rows, rows.end());
+    rows.resize(new_n_rows);
 
   PPL_ASSERT(OK());
 }
@@ -182,7 +193,7 @@ PPL::Bit_Matrix::ascii_load(std::istream& s) {
       int bit;
       if (!(s >> bit))
 	return false;
-      if (bit)
+      if (bit != 0)
 	x[i].set(j);
       else
 	x[i].clear(j);
@@ -195,7 +206,7 @@ PPL::Bit_Matrix::ascii_load(std::istream& s) {
 
 PPL::memory_size_type
 PPL::Bit_Matrix::external_memory_in_bytes() const {
-  memory_size_type n = rows.capacity() * sizeof(Row);
+  memory_size_type n = rows.capacity() * sizeof(Dense_Row);
   for (dimension_type i = num_rows(); i-- > 0; )
     n += rows[i].external_memory_in_bytes();
   return n;
@@ -209,11 +220,12 @@ PPL::Bit_Matrix::OK() const {
 #endif
 
   const Bit_Matrix& x = *this;
-  for (dimension_type i = num_rows(); i-- > 1; ) {
+  for (dimension_type i = num_rows(); i-- > 0; ) {
     const Bit_Row& row = x[i];
     if (!row.OK())
       return false;
-    else if (row.last() != ULONG_MAX && row.last() >= row_size) {
+    else if (row.last() != C_Integer<unsigned long>::max
+             && row.last() >= row_size) {
 #ifndef NDEBUG
       cerr << "Bit_Matrix[" << i << "] is a row with too many bits!"
 	   << endl
diff --git a/src/Bit_Matrix.defs.hh b/src/Bit_Matrix.defs.hh
index 3e6a1a6..419efbd 100644
--- a/src/Bit_Matrix.defs.hh
+++ b/src/Bit_Matrix.defs.hh
@@ -1,6 +1,6 @@
 /* Bit_Matrix class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,17 +19,27 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Bit_Matrix_defs_hh
 #define PPL_Bit_Matrix_defs_hh 1
 
 #include "Bit_Matrix.types.hh"
-#include "Linear_System.defs.hh"
+#include "Linear_System.types.hh"
 #include "Bit_Row.defs.hh"
 #include <vector>
 #include <iosfwd>
 
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Bit_Matrix */
+void swap(Bit_Matrix& x, Bit_Matrix& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+} // namespace Parma_Polyhedra_Library
+
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! A matrix of bits.
 /*! \ingroup PPL_CXX_interface */
@@ -52,7 +62,7 @@ public:
   Bit_Matrix& operator=(const Bit_Matrix& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Bit_Matrix& y);
+  void m_swap(Bit_Matrix& y);
 
   //! Subscript operator.
   Bit_Row& operator[](dimension_type k);
@@ -103,11 +113,15 @@ public:
   */
   void add_recycled_row(Bit_Row& row);
 
-  //! Erases the rows from the \p first_to_erase -th to the last one.
-  void rows_erase_to_end(dimension_type first_to_erase);
+  //! Removes the last \p n rows.
+  void remove_trailing_rows(dimension_type n);
 
-  //! Erases the columns from the \p first_to_erase -th to the last one.
-  void columns_erase_to_end(dimension_type first_to_erase);
+  //! Removes the last \p n columns.
+  /*!
+    The last \p n columns of the matrix are all made of zeros.
+    If such an assumption is not met, the behavior is undefined.
+  */
+  void remove_trailing_columns(dimension_type n);
 
   //! Resizes the matrix copying the old contents.
   void resize(dimension_type new_n_rows, dimension_type new_n_columns);
@@ -148,10 +162,8 @@ private:
     bool operator()(const Bit_Row& x, const Bit_Row& y) const;
   };
 
-  friend
-  void Parma_Polyhedra_Library::
-  Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat);
-
+  template <typename Row>
+  friend class Parma_Polyhedra_Library::Linear_System;
 };
 
 namespace Parma_Polyhedra_Library {
@@ -170,17 +182,6 @@ bool operator!=(const Bit_Matrix& x, const Bit_Matrix& y);
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Bit_Matrix& x,
-	  Parma_Polyhedra_Library::Bit_Matrix& y);
-
-} // namespace std
-
 #include "Bit_Matrix.inlines.hh"
 
 #endif // !defined(PPL_Bit_Matrix_defs_hh)
diff --git a/src/Bit_Matrix.inlines.hh b/src/Bit_Matrix.inlines.hh
index 75efe00..39f614f 100644
--- a/src/Bit_Matrix.inlines.hh
+++ b/src/Bit_Matrix.inlines.hh
@@ -1,6 +1,6 @@
 /* Bit_Matrix class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Bit_Matrix_inlines_hh
 #define PPL_Bit_Matrix_inlines_hh 1
@@ -58,28 +58,29 @@ Bit_Matrix::~Bit_Matrix() {
 }
 
 inline void
-Bit_Matrix::rows_erase_to_end(const dimension_type first_to_erase) {
-  // The first row to be erased cannot be greater
+Bit_Matrix::remove_trailing_rows(const dimension_type n) {
+  // The number of rows to be erased cannot be greater
   // than the actual number of the rows of the matrix.
-  PPL_ASSERT(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
+  PPL_ASSERT(n <= rows.size());
+  if (n != 0)
+    rows.resize(rows.size() - n);
   PPL_ASSERT(OK());
 }
 
 inline void
-Bit_Matrix::columns_erase_to_end(const dimension_type first_to_erase) {
-  // The first column to be erased cannot be greater
+Bit_Matrix::remove_trailing_columns(const dimension_type n) {
+  // The number of columns to be erased cannot be greater
   // than the actual number of the columns of the matrix.
-  PPL_ASSERT(first_to_erase <= row_size);
-  row_size = first_to_erase;
+  PPL_ASSERT(n <= row_size);
+  row_size -= n;
   PPL_ASSERT(OK());
 }
 
 inline void
-Bit_Matrix::swap(Bit_Matrix& y) {
-  std::swap(row_size, y.row_size);
-  std::swap(rows, y.rows);
+Bit_Matrix::m_swap(Bit_Matrix& y) {
+  using std::swap;
+  swap(row_size, y.row_size);
+  swap(rows, y.rows);
 }
 
 inline Bit_Row&
@@ -107,7 +108,9 @@ Bit_Matrix::num_rows() const {
 inline void
 Bit_Matrix::clear() {
   // Clear `rows' and minimize its capacity.
-  std::vector<Bit_Row>().swap(rows);
+  std::vector<Bit_Row> tmp;
+  using std::swap;
+  swap(tmp, rows);
   row_size = 0;
 }
 
@@ -135,18 +138,12 @@ operator!=(const Bit_Matrix& x, const Bit_Matrix& y) {
   return !(x == y);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
+/*! \relates Bit_Matrix */
 inline void
-swap(Parma_Polyhedra_Library::Bit_Matrix& x,
-     Parma_Polyhedra_Library::Bit_Matrix& y) {
-  x.swap(y);
+swap(Bit_Matrix& x, Bit_Matrix& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Bit_Matrix_inlines_hh)
diff --git a/src/Bit_Matrix.types.hh b/src/Bit_Matrix.types.hh
index a1163d8..9186e8f 100644
--- a/src/Bit_Matrix.types.hh
+++ b/src/Bit_Matrix.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Bit_Row.cc b/src/Bit_Row.cc
index cd2093f..d250197 100644
--- a/src/Bit_Row.cc
+++ b/src/Bit_Row.cc
@@ -1,6 +1,6 @@
 /* Bit_Row class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Bit_Row.defs.hh"
 #include "assert.hh"
-#include <climits>
+#include "C_Integer.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -33,14 +32,14 @@ unsigned long
 PPL::Bit_Row::first() const {
   const mp_size_t vec_size = vec->_mp_size;
   PPL_ASSERT(vec_size >= 0);
-  mp_size_t li = 0;
   mp_srcptr p = vec->_mp_d;
-  for (; li < vec_size; ++li, ++p) {
+  for (mp_size_t li = 0; li < vec_size; ++li, ++p) {
     const mp_limb_t limb = *p;
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + Implementation::first_one(limb);
+      return static_cast<unsigned long>(li) * PPL_BITS_PER_GMP_LIMB
+        + Implementation::first_one(limb);
   }
-  return ULONG_MAX;
+  return C_Integer<unsigned long>::max;
 }
 
 unsigned long
@@ -51,31 +50,36 @@ PPL::Bit_Row::next(unsigned long position) const {
   // of GMP was measured to be slower that ours.  Here it is, in
   // case mpz_scan1() is improved.
   //
-  // unsigned long r = mpz_scan1(vec, position);
-  // return (r == ULONG_MAX) ? -1 : r;
+  // <CODE>
+  //   unsigned long r = mpz_scan1(vec, position);
+  //   return (r == C_Integer<unsigned long>::max) ? -1 : r;
+  // </CODE>
 
-  mp_size_t li = position / PPL_BITS_PER_GMP_LIMB;
+  const unsigned long uli = position / PPL_BITS_PER_GMP_LIMB;
+  mp_size_t li = static_cast<mp_size_t>(uli);
   const mp_size_t vec_size = vec->_mp_size;
   PPL_ASSERT(vec_size >= 0);
   if (li >= vec_size)
-    return ULONG_MAX;
+    return C_Integer<unsigned long>::max;
 
   // Get the first limb.
   mp_srcptr p = vec->_mp_d + li;
 
   // Mask off any bits before `position' in the first limb.
-  mp_limb_t limb = *p & (~(mp_limb_t) 0) << (position % PPL_BITS_PER_GMP_LIMB);
+  mp_limb_t limb
+    = *p & ((~static_cast<mp_limb_t>(0)) << (position % PPL_BITS_PER_GMP_LIMB));
 
   while (true) {
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + Implementation::first_one(limb);
+      return static_cast<unsigned long>(li) * PPL_BITS_PER_GMP_LIMB
+        + Implementation::first_one(limb);
     ++li;
     if (li == vec_size)
       break;
     ++p;
     limb = *p;
   }
-  return ULONG_MAX;
+  return C_Integer<unsigned long>::max;
 }
 
 unsigned long
@@ -83,24 +87,26 @@ PPL::Bit_Row::last() const {
   mp_size_t li = vec->_mp_size;
   PPL_ASSERT(li >= 0);
   if (li == 0)
-    return ULONG_MAX;
+    return C_Integer<unsigned long>::max;
   --li;
   const mp_srcptr p = vec->_mp_d + li;
   const mp_limb_t limb = *p;
   PPL_ASSERT(limb != 0);
-  return li*PPL_BITS_PER_GMP_LIMB + Implementation::last_one(limb);
+  return static_cast<unsigned long>(li) * PPL_BITS_PER_GMP_LIMB
+    + Implementation::last_one(limb);
 }
 
 unsigned long
 PPL::Bit_Row::prev(unsigned long position) const {
   if (position == 0)
-    return ULONG_MAX;
+    return C_Integer<unsigned long>::max;
 
   --position;
 
   const mp_size_t vec_size = vec->_mp_size;
   PPL_ASSERT(vec_size > 0);
-  mp_size_t li = position / PPL_BITS_PER_GMP_LIMB;
+  const unsigned long uli = position / PPL_BITS_PER_GMP_LIMB;
+  mp_size_t li = static_cast<mp_size_t>(uli);
 
   mp_limb_t limb;
   mp_srcptr p = vec->_mp_d;
@@ -113,22 +119,23 @@ PPL::Bit_Row::prev(unsigned long position) const {
   }
   else {
     const mp_limb_t mask
-      = (~(mp_limb_t) 0)
-      >> (PPL_BITS_PER_GMP_LIMB - 1 - position % PPL_BITS_PER_GMP_LIMB);
+      = (~static_cast<mp_limb_t>(0))
+      >> (PPL_BITS_PER_GMP_LIMB - 1U - position % PPL_BITS_PER_GMP_LIMB);
     p += li;
     limb = *p & mask;
   }
 
   while (true) {
     if (limb != 0)
-      return li*PPL_BITS_PER_GMP_LIMB + Implementation::last_one(limb);
+      return static_cast<unsigned long>(li) * PPL_BITS_PER_GMP_LIMB 
+        + Implementation::last_one(limb);
     if (li == 0)
       break;
     --li;
     --p;
     limb = *p;
   }
-  return ULONG_MAX;
+  return C_Integer<unsigned long>::max;
 }
 
 bool
@@ -136,12 +143,12 @@ PPL::Bit_Row::operator[](const unsigned long k) const {
   const mp_size_t vec_size = vec->_mp_size;
   PPL_ASSERT(vec_size >= 0);
 
-  unsigned long i = k / GMP_NUMB_BITS;
+  unsigned long i = k / static_cast<unsigned long>(GMP_NUMB_BITS);
   if (i >= static_cast<unsigned long>(vec_size))
     return false;
 
   mp_limb_t limb = *(vec->_mp_d + i);
-  return (limb >> (k % GMP_NUMB_BITS)) & 1;
+  return ((limb >> (k % static_cast<unsigned long>(GMP_NUMB_BITS))) & 1U) != 0;
 }
 
 void
@@ -158,7 +165,7 @@ PPL::compare(const Bit_Row& x, const Bit_Row& y) {
   PPL_ASSERT(x_size >= 0);
   const mp_size_t y_size = y.vec->_mp_size;
   PPL_ASSERT(y_size >= 0);
-  mp_size_t size = (x_size > y_size ? y_size : x_size);
+  mp_size_t size = ((x_size > y_size) ? y_size : x_size);
   mp_srcptr xp = x.vec->_mp_d;
   mp_srcptr yp = y.vec->_mp_d;
   while (size > 0) {
@@ -169,13 +176,13 @@ PPL::compare(const Bit_Row& x, const Bit_Row& y) {
       const mp_limb_t diff = xl ^ yl;
       // First bit that is different.
       const mp_limb_t mask = diff & ~(diff-1);
-      return (xl & mask) ? 1 : -1;
+      return ((xl & mask) != 0) ? 1 : -1;
     }
     ++xp;
     ++yp;
     --size;
   }
-  return x_size == y_size ? 0 : (x_size > y_size ? 1 : -1);
+  return (x_size == y_size) ? 0 : ((x_size > y_size) ? 1 : -1);
 }
 
 /*! \relates Parma_Polyhedra_Library::Bit_Row */
@@ -190,7 +197,7 @@ PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y) {
   mp_srcptr xp = x.vec->_mp_d;
   mp_srcptr yp = y.vec->_mp_d;
   while (x_size > 0) {
-    if (*xp & ~*yp)
+    if ((*xp & ~*yp) != 0)
       return false;
     ++xp;
     ++yp;
@@ -218,7 +225,7 @@ PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y,
     while (x_size > 0) {
       xl = *xp;
       yl = *yp;
-      if (xl & ~yl)
+      if ((xl & ~yl) != 0)
 	return false;
     strict_subset_next:
       ++xp;
@@ -231,7 +238,7 @@ PPL::subset_or_equal(const Bit_Row& x, const Bit_Row& y,
       xl = *xp;
       yl = *yp;
       if (xl != yl) {
-	if (xl & ~yl)
+	if ((xl & ~yl) != 0)
 	  return false;
 	strict_subset = true;
 	goto strict_subset_next;
@@ -259,7 +266,7 @@ PPL::strict_subset(const Bit_Row& x, const Bit_Row& y) {
   while (x_size > 0) {
     const mp_limb_t xl = *xp;
     const mp_limb_t yl = *yp;
-    if (xl & ~yl)
+    if ((xl & ~yl) != 0)
       return false;
     if (!different && xl != yl)
       different = true;
@@ -313,7 +320,7 @@ PPL::Bit_Row::union_helper(const Bit_Row& y, const Bit_Row& z) {
   mp_size_t z_size = z.vec->_mp_size;
   PPL_ASSERT(y_size <= z_size);
   PPL_ASSERT(vec->_mp_alloc >= z_size);
-  vec->_mp_size = z_size;
+  vec->_mp_size = z.vec->_mp_size;
   mp_srcptr yp = y.vec->_mp_d;
   mp_srcptr zp = z.vec->_mp_d;
   mp_ptr p = vec->_mp_d;
diff --git a/src/Bit_Row.defs.hh b/src/Bit_Row.defs.hh
index 56ffb17..c9fbec3 100644
--- a/src/Bit_Row.defs.hh
+++ b/src/Bit_Row.defs.hh
@@ -1,6 +1,6 @@
 /* Bit_Row class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Bit_Row_defs_hh
 #define PPL_Bit_Row_defs_hh 1
@@ -32,6 +32,20 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Bit_Row */
+void swap(Bit_Row& x, Bit_Row& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void
+iter_swap(std::vector<Bit_Row>::iterator x,
+          std::vector<Bit_Row>::iterator y);
+
 // Put them in the namespace here to declare them friends later.
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -85,24 +99,6 @@ bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool strict_subset(const Bit_Row& x, const Bit_Row& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic union.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic intersection.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic difference.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
 } // namespace Parma_Polyhedra_Library
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -130,7 +126,7 @@ public:
   Bit_Row& operator=(const Bit_Row& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Bit_Row& y);
+  void m_swap(Bit_Row& y);
 
   //! Returns the truth value corresponding to the bit in position \p k.
   bool operator[](unsigned long k) const;
@@ -150,6 +146,16 @@ public:
   //! Clears all the bits of the row.
   void clear();
 
+  //! Assigns to \p *this the set-theoretic union of \p x and \p y.
+  void union_assign(const Bit_Row& x, const Bit_Row& y);
+
+  //! Assigns to \p *this the set-theoretic intersection of \p x and \p y.
+  void intersection_assign(const Bit_Row& x, const Bit_Row& y);
+
+  //! Assigns to \p *this the set-theoretic difference of \p x and \p y.
+  void difference_assign(const Bit_Row& x, const Bit_Row& y);
+
+
   friend int compare(const Bit_Row& x, const Bit_Row& y);
   friend bool operator==(const Bit_Row& x, const Bit_Row& y);
   friend bool operator!=(const Bit_Row& x, const Bit_Row& y);
@@ -157,9 +163,6 @@ public:
   friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 			      bool& strict_subset);
   friend bool strict_subset(const Bit_Row& x, const Bit_Row& y);
-  friend void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
   //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
   unsigned long first() const;
@@ -203,28 +206,9 @@ private:
     The size of \p y must be be less than or equal to the size of \p z.
     Upon entry, \p vec must have allocated enough space to contain the result.
   */
-  void union_helper(const Bit_Row& x, const Bit_Row& y);
+  void union_helper(const Bit_Row& y, const Bit_Row& z);
 };
 
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Bit_Row& x,
-	  Parma_Polyhedra_Library::Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y);
-
-} // namespace std
-
 #include "Bit_Row.inlines.hh"
 
 #endif // !defined(PPL_Bit_Row_defs_hh)
diff --git a/src/Bit_Row.inlines.hh b/src/Bit_Row.inlines.hh
index 0e92d52..fb10b91 100644
--- a/src/Bit_Row.inlines.hh
+++ b/src/Bit_Row.inlines.hh
@@ -1,6 +1,6 @@
 /* Bit_Row class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Bit_Row_inlines_hh
 #define PPL_Bit_Row_inlines_hh 1
 
+#include "compiler.hh"
 #include "globals.defs.hh"
 #include "assert.hh"
 
@@ -34,7 +35,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 # include <string.h>
 #endif
 
-#define PPL_BITS_PER_GMP_LIMB (PPL_SIZEOF_MP_LIMB_T*CHAR_BIT)
+#define PPL_BITS_PER_GMP_LIMB sizeof_to_bits(PPL_SIZEOF_MP_LIMB_T)
 
 namespace Parma_Polyhedra_Library {
 
@@ -56,14 +57,14 @@ Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z) {
   PPL_ASSERT(z_size >= 0);
   if (y_size < z_size) {
     PPL_ASSERT(static_cast<unsigned long>(z_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_init2(vec, z_size * PPL_BITS_PER_GMP_LIMB);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, static_cast<unsigned long>(z_size) * PPL_BITS_PER_GMP_LIMB);
     union_helper(y, z);
   }
   else {
     PPL_ASSERT(static_cast<unsigned long>(y_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_init2(vec, y_size * PPL_BITS_PER_GMP_LIMB);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, static_cast<unsigned long>(y_size) * PPL_BITS_PER_GMP_LIMB);
     union_helper(z, y);
   }
 }
@@ -98,7 +99,7 @@ inline unsigned long
 Bit_Row::count_ones() const {
   mp_size_t x_size = vec->_mp_size;
   PPL_ASSERT(x_size >= 0);
-  return x_size == 0 ? 0 : mpn_popcount(vec->_mp_d, x_size);
+  return (x_size == 0) ? 0 : mpn_popcount(vec->_mp_d, x_size);
 }
 
 inline bool
@@ -107,7 +108,7 @@ Bit_Row::empty() const {
 }
 
 inline void
-Bit_Row::swap(Bit_Row& y) {
+Bit_Row::m_swap(Bit_Row& y) {
   mpz_swap(vec, y.vec);
 }
 
@@ -118,7 +119,7 @@ Bit_Row::clear() {
 
 inline memory_size_type
 Bit_Row::external_memory_in_bytes() const {
-  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+  return static_cast<memory_size_type>(vec[0]._mp_alloc) * PPL_SIZEOF_MP_LIMB_T;
 }
 
 inline memory_size_type
@@ -126,52 +127,46 @@ Bit_Row::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-/*! \relates Bit_Row */
 inline void
-set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+Bit_Row::union_assign(const Bit_Row& x, const Bit_Row& y) {
   const mp_size_t x_size = x.vec->_mp_size;
   PPL_ASSERT(x_size >= 0);
   const mp_size_t y_size = y.vec->_mp_size;
   PPL_ASSERT(y_size >= 0);
   if (x_size < y_size) {
     PPL_ASSERT(static_cast<unsigned long>(y_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_realloc2(z.vec, y_size * PPL_BITS_PER_GMP_LIMB);
-    z.union_helper(x, y);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(vec, static_cast<unsigned long>(y_size) * PPL_BITS_PER_GMP_LIMB);
+    union_helper(x, y);
   }
   else {
     PPL_ASSERT(static_cast<unsigned long>(x_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_realloc2(z.vec, x_size * PPL_BITS_PER_GMP_LIMB);
-    z.union_helper(y, x);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(vec, static_cast<unsigned long>(x_size) * PPL_BITS_PER_GMP_LIMB);
+    union_helper(y, x);
   }
 }
 
-/*! \relates Bit_Row */
 inline void
-set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_and(z.vec, x.vec, y.vec);
+Bit_Row::intersection_assign(const Bit_Row& x, const Bit_Row& y) {
+  mpz_and(vec, x.vec, y.vec);
 }
 
-/*! \relates Bit_Row */
 inline void
-set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  PPL_DIRTY_TEMP0(mpz_class, complement_y);
+Bit_Row::difference_assign(const Bit_Row& x, const Bit_Row& y) {
+  PPL_DIRTY_TEMP(mpz_class, complement_y);
   mpz_com(complement_y.get_mpz_t(), y.vec);
-  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
+  mpz_and(vec, x.vec, complement_y.get_mpz_t());
 }
 
 namespace Implementation {
 
-#if defined(__GNUC__)
-
 /*! \brief
   Assuming \p u is nonzero, returns the index of the first set bit in \p u.
 */
 inline unsigned int
 first_one(unsigned int u) {
-  PPL_ASSERT(u != 0);
-  return __builtin_ctz(u);
+  return ctz(u);
 }
 
 /*! \brief
@@ -180,8 +175,7 @@ first_one(unsigned int u) {
 */
 inline unsigned int
 first_one(unsigned long ul) {
-  PPL_ASSERT(ul != 0);
-  return __builtin_ctzl(ul);
+  return ctz(ul);
 }
 
 /*! \brief
@@ -190,65 +184,16 @@ first_one(unsigned long ul) {
 */
 inline unsigned int
 first_one(unsigned long long ull) {
-  PPL_ASSERT(ull != 0);
-  return __builtin_ctzll(ull);
+  return ctz(ull);
 }
 
-#elif PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-*/
-inline unsigned int
-first_one(mp_limb_t w) {
-  return ffs(w)-1;
-}
-
-#else
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-*/
-inline unsigned int
-first_one(mp_limb_t w) {
-  unsigned int r = 0;
-  w = w & -w;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if ((w & 0xffffffff) == 0) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "size of mp_limb_t not supported by first_one(mp_limb_t w)."
-#endif
-  if ((w & 0xffff) == 0) {
-    w >>= 16;
-    r += 16;
-  }
-  if ((w & 0xff) == 0) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0)
-    r += 4;
-  if (w & 0xcc)
-    r += 2;
-  if (w & 0xaa)
-    r += 1;
-  return r;
-}
-#endif // !defined(__GNUC__)
-       // && (!PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT)
-
-#if defined(__GNUC__)
-
 /*! \brief
   Assuming \p u is nonzero, returns the index of the last set bit in \p u.
 */
 inline unsigned int
 last_one(unsigned int u) {
-  PPL_ASSERT(u != 0);
-  return sizeof(unsigned int)*CHAR_BIT - 1 - __builtin_clz(u);
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(u)))
+    - 1U - clz(u);
 }
 
 /*! \brief
@@ -257,8 +202,8 @@ last_one(unsigned int u) {
 */
 inline unsigned int
 last_one(unsigned long ul) {
-  PPL_ASSERT(ul != 0);
-  return sizeof(unsigned long)*CHAR_BIT - 1 - __builtin_clzl(ul);
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(ul)))
+    - 1U - clz(ul);
 }
 
 /*! \brief
@@ -267,77 +212,25 @@ last_one(unsigned long ul) {
 */
 inline unsigned int
 last_one(unsigned long long ull) {
-  PPL_ASSERT(ull != 0);
-  return sizeof(unsigned long long)*CHAR_BIT - 1 - __builtin_clzll(ull);
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(ull)))
+    - 1U - clz(ull);
 }
 
-#else // !defined(__GNUC__)
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the last set bit in \p w.
-*/
-inline unsigned int
-last_one(mp_limb_t w) {
-  PPL_ASSERT(w != 0);
-  unsigned int r = 0;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if (w &
-#if PPL_SIZEOF_LONG == 8
-      0xffffffff00000000
-#else
-      0xffffffff00000000LL
-#endif
-      ) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "size of mp_limb_t not supported by last_one(mp_limb_t w)."
-#endif
-  if (w & 0xffff0000) {
-    w >>= 16;
-    r += 16;
-  }
-  if (w & 0xff00) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0) {
-    w >>= 4;
-    r += 4;
-  }
-  if (w & 0xc) {
-    w >>= 2;
-    r += 2;
-  }
-  if (w & 0x2)
-    r += 1;
-  return r;
-}
-
-#endif // !defined(__GNUC__)
-
 } // namespace Implementation
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
+/*! \relates Bit_Row */
 inline void
-swap(Parma_Polyhedra_Library::Bit_Row& x,
-     Parma_Polyhedra_Library::Bit_Row& y) {
-  x.swap(y);
+swap(Bit_Row& x, Bit_Row& y) {
+  x.m_swap(y);
 }
 
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
+/*! \relates Bit_Row */
 inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
+iter_swap(std::vector<Bit_Row>::iterator x,
+          std::vector<Bit_Row>::iterator y) {
   swap(*x, *y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Bit_Row_inlines_hh)
diff --git a/src/Bit_Row.types.hh b/src/Bit_Row.types.hh
index 5581511..a38b48d 100644
--- a/src/Bit_Row.types.hh
+++ b/src/Bit_Row.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Boundary.defs.hh b/src/Boundary.defs.hh
index 97c8aae..082b633 100644
--- a/src/Boundary.defs.hh
+++ b/src/Boundary.defs.hh
@@ -1,6 +1,6 @@
 /* Interval boundary functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Boundary_defs_hh
 #define PPL_Boundary_defs_hh 1
@@ -34,7 +34,6 @@ struct Property {
   enum Type {
     SPECIAL_,
     OPEN_,
-    NORMALIZED_
   };
   typedef bool Value;
   static const Value default_value = true;
@@ -47,7 +46,6 @@ struct Property {
 
 static const Property SPECIAL(Property::SPECIAL_);
 static const Property OPEN(Property::OPEN_);
-static const Property NORMALIZED(Property::NORMALIZED_);
 
 enum Boundary_Type {
   LOWER = ROUND_DOWN,
@@ -57,7 +55,7 @@ enum Boundary_Type {
 inline Rounding_Dir
 round_dir_check(Boundary_Type t, bool check = false) {
   if (check)
-    return static_cast<Rounding_Dir>(t | ROUND_STRICT_RELATION);
+    return static_cast<Rounding_Dir>(t) | ROUND_STRICT_RELATION;
   else
     return static_cast<Rounding_Dir>(t);
 }
@@ -189,24 +187,6 @@ set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
 }
 
 template <typename T, typename Info>
-inline Result
-shrink(Boundary_Type type, T& x, Info& info, bool check) {
-  Result r;
-  PPL_ASSERT(!info.get_boundary_property(type, SPECIAL));
-  if (type == LOWER) {
-    r = info.restrict(round_dir_check(type, check), x, V_GT);
-    if (r != V_GT)
-      return r;
-  } else {
-    r = info.restrict(round_dir_check(type, check), x, V_LT);
-    if (r != V_LT)
-      return r;
-  }
-  info.set_boundary_property(type, OPEN);
-  return r;
-}
-
-template <typename T, typename Info>
 inline bool
 is_domain_inf(Boundary_Type type, const T& x, const Info& info) {
   if (Info::store_special && type == LOWER)
@@ -297,11 +277,11 @@ is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
 
 template <typename T, typename Info>
 inline int
-is_infinity(Boundary_Type type, const T& x, const Info& info) {
+infinity_sign(Boundary_Type type, const T& x, const Info& info) {
   if (is_boundary_infinity(type, x, info))
-    return type == LOWER ? -1 : 1;
+    return (type == LOWER) ? -1 : 1;
   else if (is_reverse_infinity(type, x, info))
-    return type == UPPER ? -1 : 1;
+    return (type == UPPER) ? -1 : 1;
   else
     return 0;
 }
@@ -325,7 +305,7 @@ template <typename T, typename Info>
 inline int
 sgn_b(Boundary_Type type, const T& x, const Info& info) {
   if (info.get_boundary_property(type, SPECIAL))
-    return type == LOWER ? -1 : 1;
+    return (type == LOWER) ? -1 : 1;
   else
     // The following Parma_Polyhedra_Library:: qualification is to work
     // around a bug of GCC 4.0.x.
@@ -337,7 +317,7 @@ inline int
 sgn(Boundary_Type type, const T& x, const Info& info) {
   int sign = sgn_b(type, x, info);
   if (x == 0 && info.get_boundary_property(type, OPEN))
-    return type == LOWER ? -1 : 1;
+    return (type == LOWER) ? -1 : 1;
   else
     return sign;
 }
@@ -440,11 +420,10 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
     case V_GE:
     case V_EQ:
       if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
+        info.set_boundary_property(type, OPEN);
       return r;
     default:
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
       return V_NAN;
     }
   }
@@ -465,11 +444,10 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
     case V_LE:
     case V_EQ:
       if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
+        info.set_boundary_property(type, OPEN);
       return r;
     default:
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
       return V_NAN;
     }
   }
@@ -480,36 +458,34 @@ inline Result
 complement(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type, const T& x, const Info& info) {
   PPL_ASSERT(to_type != type);
-  bool shrink;
+  bool should_shrink;
   if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = !special_is_open(type, x, info);
+    should_shrink = !special_is_open(type, x, info);
     if (type == LOWER)
-      return set_minus_infinity(to_type, to, to_info, shrink);
+      return set_minus_infinity(to_type, to, to_info, should_shrink);
     else
-      return set_plus_infinity(to_type, to, to_info, shrink);
+      return set_plus_infinity(to_type, to, to_info, should_shrink);
   }
-  shrink = !normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  should_shrink = !normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T, typename Info>
 inline Result
 assign(Boundary_Type to_type, To& to, To_Info& to_info,
        Boundary_Type type, const T& x, const Info& info,
-       bool shrink = false) {
+       bool should_shrink = false) {
   PPL_ASSERT(to_type == type);
   if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = shrink || special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = (should_shrink || special_is_open(type, x, info));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
-  shrink = shrink || normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  should_shrink = (should_shrink || normal_is_open(type, x, info));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T, typename Info>
@@ -561,16 +537,15 @@ inline Result
 neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type, const T& x, const Info& info) {
   PPL_ASSERT(to_type != type);
-  bool shrink;
+  bool should_shrink;
   if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = special_is_open(type, x, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = neg_assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
@@ -579,25 +554,23 @@ add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
   PPL_ASSERT(type1 == type2);
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   // FIXME: extended handling is not needed
   Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
@@ -606,25 +579,23 @@ sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
   PPL_ASSERT(type1 != type2);
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   // FIXME: extended handling is not needed
   Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
@@ -632,35 +603,32 @@ inline Result
 mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
   // FIXME: extended handling is not needed
   Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info>
 inline Result
-set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool shrink) {
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool should_shrink) {
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
@@ -668,20 +636,20 @@ inline Result
 mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
 	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
 	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
+  bool should_shrink;
   if (x1s != 0) {
     if (x2s != 0)
       return mul_assign(to_type, to, to_info,
 			type1, x1, info1,
 			type2, x2, info2);
     else
-      shrink = info2.get_boundary_property(type2, OPEN);
+      should_shrink = info2.get_boundary_property(type2, OPEN);
   }
   else {
-    shrink = info1.get_boundary_property(type1, OPEN)
-      && (x2s != 0 || info2.get_boundary_property(type2, OPEN));
+    should_shrink = (info1.get_boundary_property(type1, OPEN)
+                     && (x2s != 0 || info2.get_boundary_property(type2, OPEN)));
   }
-  return set_zero(to_type, to, to_info, shrink);
+  return set_zero(to_type, to, to_info, should_shrink);
 }
 
 template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
@@ -689,24 +657,22 @@ inline Result
 div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 	   Boundary_Type type1, const T1& x1, const Info1& info1,
 	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = boundary_infinity_is_open(type1, info1);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
   else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2);
-    return set_zero(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
+    should_shrink = boundary_infinity_is_open(type2, info2);
+    return set_zero(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
   // FIXME: extended handling is not needed
   Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 
@@ -715,21 +681,19 @@ inline Result
 div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
 	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
 	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
   if (x1s != 0) {
     if (x2s != 0)
       return div_assign(to_type, to, to_info,
 			type1, x1, info1,
 			type2, x2, info2);
     else {
-      // FIXME: restrictions
       return set_boundary_infinity(to_type, to, to_info, true);
     }
   }
   else {
-    shrink = info1.get_boundary_property(type1, OPEN)
+    bool should_shrink = info1.get_boundary_property(type1, OPEN)
       && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_zero(to_type, to, to_info, shrink);
+    return set_zero(to_type, to, to_info, should_shrink);
   }
 }
 
@@ -739,16 +703,15 @@ umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 		 Boundary_Type type, const T& x, const Info& info,
 		 unsigned int exp) {
   PPL_ASSERT(to_type == type);
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type, x, info)) {
-    shrink = boundary_infinity_is_open(type, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 template <typename To, typename To_Info, typename T, typename Info>
@@ -757,16 +720,15 @@ smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
 		 Boundary_Type type, const T& x, const Info& info,
 		 unsigned int exp) {
   PPL_ASSERT(to_type == type);
-  bool shrink;
+  bool should_shrink;
   if (is_boundary_infinity(type, x, info)) {
-    shrink = boundary_infinity_is_open(type, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
+    should_shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
   }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
   Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
 }
 
 } // namespace Boundary_NS
diff --git a/src/Box.cc b/src/Box.cc
index b51d664..aaa1462 100644
--- a/src/Box.cc
+++ b/src/Box.cc
@@ -1,6 +1,6 @@
 /* Box class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,59 +19,45 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Box.defs.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool
-PPL::extract_interval_constraint(const Constraint& c,
-				 const dimension_type c_space_dim,
-				 dimension_type& c_num_vars,
-				 dimension_type& c_only_var) {
+PPL::Box_Helpers::extract_interval_constraint(const Constraint& c,
+                                              dimension_type& c_num_vars,
+                                              dimension_type& c_only_var) {
   // Check for preconditions.
-  PPL_ASSERT(c.space_dimension() == c_space_dim);
   PPL_ASSERT(c_num_vars == 0 && c_only_var == 0);
-  // Collect the non-zero components of `c'.
-  for (dimension_type i = c_space_dim; i-- > 0; )
-    if (c.coefficient(Variable(i)) != 0) {
-      if (c_num_vars == 0) {
-	c_only_var = i;
-	++c_num_vars;
-      }
-      else
-	// Constraint `c' is not an interval constraint.
-	return false;
-    }
-  return true;
+
+  c_only_var = c.expression().first_nonzero(1, c.space_dimension() + 1);
+  if (c_only_var == c.space_dimension() + 1)
+    // All the inhomogeneous coefficients are zero.
+    return true;
+
+  ++c_num_vars;
+  --c_only_var;
+  return c.expression().all_zeroes(c_only_var + 2, c.space_dimension() + 1);
 }
 
 bool
-PPL::extract_interval_congruence(const Congruence& cg,
-			 	 const dimension_type cg_space_dim,
-				 dimension_type& cg_num_vars,
-				 dimension_type& cg_only_var) {
+PPL::Box_Helpers::extract_interval_congruence(const Congruence& cg,
+                                              dimension_type& cg_num_vars,
+                                              dimension_type& cg_only_var) {
   // Check for preconditions.
-  PPL_ASSERT(cg.space_dimension() == cg_space_dim);
   PPL_ASSERT(cg_num_vars == 0 && cg_only_var == 0);
   // Only equality congruences can be intervals.
   PPL_ASSERT(cg.is_equality());
 
-  // Collect the non-zero components of `cg'.
-  for (dimension_type i = cg_space_dim; i-- > 0; )
-    if (cg.coefficient(Variable(i)) != 0) {
-      if (cg_num_vars == 0) {
-	cg_only_var = i;
-	++cg_num_vars;
-      }
-      else
-	// Congruence `cg' is not an interval congruence.
-	return false;
-    }
-  return true;
+  cg_only_var = cg.expression().first_nonzero(1, cg.space_dimension() + 1);
+  if (cg_only_var == cg.space_dimension() + 1)
+    // All the inhomogeneous coefficients are zero.
+    return true;
+
+  ++cg_num_vars;
+  --cg_only_var;
+  return cg.expression().all_zeroes(cg_only_var + 2, cg.space_dimension() + 1);
 }
diff --git a/src/Box.defs.hh b/src/Box.defs.hh
index 06bfde7..c8d667f 100644
--- a/src/Box.defs.hh
+++ b/src/Box.defs.hh
@@ -1,6 +1,6 @@
 /* Box class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Box_defs_hh
 #define PPL_Box_defs_hh 1
@@ -45,6 +45,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid.types.hh"
 #include "Partially_Reduced_Product.types.hh"
 #include "intervals.defs.hh"
+#include "Interval.types.hh"
+#include "Linear_Form.types.hh"
 #include <vector>
 #include <iosfwd>
 
@@ -52,6 +54,11 @@ namespace Parma_Polyhedra_Library {
 
 struct Interval_Base;
 
+//! Swaps \p x with \p y.
+/*! \relates Box */
+template <typename ITV>
+void swap(Box<ITV>& x, Box<ITV>& y);
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are the same box.
 /*! \relates Box
   Note that \p x and \p y may be dimension-incompatible boxes:
@@ -60,7 +67,7 @@ struct Interval_Base;
 template <typename ITV>
 bool operator==(const Box<ITV>& x, const Box<ITV>& y);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y aren't the same box.
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not the same box.
 /*! \relates Box
   Note that \p x and \p y may be dimension-incompatible boxes:
   in this case, the value <CODE>true</CODE> is returned.
@@ -452,7 +459,7 @@ public:
     Builds the smallest box containing \p gr using a polynomial algorithm.
     The \p complexity argument is ignored.
   */
-  explicit Box(const Grid& ph,
+  explicit Box(const Grid& gr,
 	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
 
   //! Builds a box containing the partially reduced product \p dp.
@@ -474,7 +481,7 @@ public:
     Swaps \p *this with \p y
     (\p *this and \p y can be dimension-incompatible).
   */
-  void swap(Box& y);
+  void m_swap(Box& y);
 
   //@} Constructors, Assignment, Swap and Destructor
 
@@ -902,15 +909,15 @@ public:
   void propagate_constraint(const Constraint& c);
 
   /*! \brief
-    Use the constraints in \p cs for constraint propagagion on \p *this.
+    Use the constraints in \p cs for constraint propagation on \p *this.
 
     \param cs
     The constraints to be used for constraint propagation.
 
     \param max_iterations
-    The maximum number of propagation steps for each constraint in \p cs.
-    If zero (the default), the number of propagations will be unbounded,
-    possibly resulting in an infinite loop.
+    The maximum number of propagation steps for each constraint in
+    \p cs.  If zero (the default), the number of propagation steps
+    will be unbounded, possibly resulting in an infinite loop.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p cs are dimension-incompatible.
@@ -1017,6 +1024,30 @@ public:
 		    Coefficient_traits::const_reference denominator
 		      = Coefficient_one());
 
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
+  void affine_form_image(Variable var,
+                         const Linear_Form<ITV>& lf);
+
   /*! \brief
     Assigns to \p *this the
     \ref Single_Update_Affine_Functions "affine preimage"
@@ -1241,7 +1272,7 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system.  When non-null,
     the pointed-to constraint system is assumed to represent the
     conditional or looping construct guard with respect to which
@@ -1249,7 +1280,7 @@ public:
     of upper bounds and due to non-distributivity of constraint
     refinement over upper bounds, passing a constraint system in this
     way can be more precise than refining the result of the wrapping
-    operation with the constraints in <CODE>*pcs</CODE>.
+    operation with the constraints in <CODE>*cs_p</CODE>.
 
     \param complexity_threshold
     A precision parameter which is ignored for the Box domain.
@@ -1259,13 +1290,13 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+    Variable objects contained in \p vars or with <CODE>*cs_p</CODE>.
   */
   void wrap_assign(const Variables_Set& vars,
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1280,7 +1311,7 @@ public:
     Currently there is no optimality guarantee, not even if
     \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-   void drop_some_non_integer_points(Complexity_Class complexity
+  void drop_some_non_integer_points(Complexity_Class complexity
                                     = ANY_COMPLEXITY);
 
   /*! \brief
@@ -1599,49 +1630,72 @@ public:
   void set_interval(Variable var, const ITV& i);
 
   /*! \brief
-    If the <CODE>k</CODE>-th space dimension is unbounded below, returns
-    <CODE>false</CODE>. Otherwise returns <CODE>true</CODE> and set
-    \p closed, \p n and \p d accordingly.
+    If the space dimension of \p var is unbounded below, return
+    <CODE>false</CODE>. Otherwise return <CODE>true</CODE> and set
+    \p n, \p d and \p closed accordingly.
 
-    Let \f$I\f$ the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from below, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the the lower boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the greatest lower bound of \f$I\f$.  The fraction
-    \f$n/d\f$ is in canonical form if and only if \f$n\f$ and \f$d\f$
-    have no common factors and \f$d\f$ is positive, \f$0/1\f$ being
-    the unique representation for zero.
+    \note
+    It is assumed that <CODE>*this</CODE> is a non-empty box
+    having space dimension greater than or equal to that of \p var.
+    An undefined behavior is obtained if this assumption is not met.
+    \if Include_Implementation_Details
+    To be more precise, if <CODE>*this</CODE> is an <EM>empty</EM> box
+    (having space dimension greater than or equal to that of \p var)
+    such that <CODE>!marked_empty()</CODE> holds, then the method can be
+    called without incurring in undefined behavior: it will return
+    <EM>unspecified</EM> boundary values that, if queried systematically
+    on all space dimensions, will encode the box emptiness.
+    \endif
 
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *this.
+    Let \f$I\f$ be the interval corresponding to variable \p var
+    in the non-empty box <CODE>*this</CODE>.
+    If \f$I\f$ is not bounded from below, simply return <CODE>false</CODE>
+    (leaving all other parameters unchanged).
+    Otherwise, set \p n, \p d and \p closed as follows:
+     - \p n and \p d are assigned the integers \f$n\f$ and \f$d\f$ such
+       that the fraction \f$n/d\f$ corresponds to the greatest lower bound
+       of \f$I\f$. The fraction \f$n/d\f$ is in canonical form, meaning
+       that \f$n\f$ and \f$d\f$ have no common factors, \f$d\f$ is positive,
+       and if \f$n\f$ is zero then \f$d\f$ is one;
+     - \p closed is set to <CODE>true</CODE> if and only if the lower
+       boundary of \f$I\f$ is closed (i.e., it is included in the interval).
   */
-  bool get_lower_bound(dimension_type k, bool& closed,
-		       Coefficient& n, Coefficient& d) const;
+  bool has_lower_bound(Variable var,
+		       Coefficient& n, Coefficient& d, bool& closed) const;
 
   /*! \brief
-    If the <CODE>k</CODE>-th space dimension is unbounded above, returns
-    <CODE>false</CODE>. Otherwise returns <CODE>true</CODE> and set
-    \p closed, \p n and \p d accordingly.
+    If the space dimension of \p var is unbounded above, return
+    <CODE>false</CODE>. Otherwise return <CODE>true</CODE> and set
+    \p n, \p d and \p closed accordingly.
 
-    Let \f$I\f$ the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from above, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the the upper boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the least upper bound of \f$I\f$.
+    \note
+    It is assumed that <CODE>*this</CODE> is a non-empty box
+    having space dimension greater than or equal to that of \p var.
+    An undefined behavior is obtained if this assumption is not met.
+    \if Include_Implementation_Details
+    To be more precise, if <CODE>*this</CODE> is an <EM>empty</EM> box
+    (having space dimension greater than or equal to that of \p var)
+    such that <CODE>!marked_empty()</CODE> holds, then the method can be
+    called without incurring in undefined behavior: it will return
+    <EM>unspecified</EM> boundary values that, if queried systematically
+    on all space dimensions, will encode the box emptiness.
+    \endif
 
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *this.
-  */
-  bool get_upper_bound(dimension_type k, bool& closed,
-		       Coefficient& n, Coefficient& d) const;
+    Let \f$I\f$ be the interval corresponding to variable \p var
+    in the non-empty box <CODE>*this</CODE>.
+    If \f$I\f$ is not bounded from above, simply return <CODE>false</CODE>
+    (leaving all other parameters unchanged).
+    Otherwise, set \p n, \p d and \p closed as follows:
+     - \p n and \p d are assigned the integers \f$n\f$ and \f$d\f$ such
+       that the fraction \f$n/d\f$ corresponds to the least upper bound
+       of \f$I\f$. The fraction \f$n/d\f$ is in canonical form, meaning
+       that \f$n\f$ and \f$d\f$ have no common factors, \f$d\f$ is positive,
+       and if \f$n\f$ is zero then \f$d\f$ is one;
+     - \p closed is set to <CODE>true</CODE> if and only if the upper
+       boundary of \f$I\f$ is closed (i.e., it is included in the interval).
+  */
+  bool has_upper_bound(Variable var,
+                       Coefficient& n, Coefficient& d, bool& closed) const;
 
   //! Returns a system of constraints defining \p *this.
   Constraint_System constraints() const;
@@ -1661,6 +1715,14 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
+
+    If <CODE>x</CODE> and <CODE>y</CODE> are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
+
   PPL_OUTPUT_DECLARATIONS
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -1748,8 +1810,8 @@ private:
   static I_Result
   refine_interval_no_check(ITV& itv,
                            Constraint::Type type,
-                           Coefficient_traits::const_reference num,
-                           Coefficient_traits::const_reference den);
+                           Coefficient_traits::const_reference numer,
+                           Coefficient_traits::const_reference denom);
 
   /*! \brief
     WRITE ME.
@@ -1757,8 +1819,8 @@ private:
   void
   add_interval_constraint_no_check(dimension_type var_id,
                                    Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den);
+                                   Coefficient_traits::const_reference numer,
+                                   Coefficient_traits::const_reference denom);
 
   /*! \brief
     WRITE ME.
@@ -2002,7 +2064,7 @@ private:
 
     \param max_iterations
     The maximum number of propagation steps for each constraint in \p cs.
-    If zero, the number of propagations will be unbounded, possibly
+    If zero, the number of propagation steps will be unbounded, possibly
     resulting in an infinite loop.
 
     \warning
@@ -2108,7 +2170,7 @@ private:
   //! \name Exception Throwers
   //@{
   void throw_dimension_incompatible(const char* method,
-				    const Box& x) const;
+				    const Box& y) const;
 
   void throw_dimension_incompatible(const char* method,
 				    dimension_type required_dim) const;
@@ -2129,18 +2191,20 @@ private:
 				    const Generator& g) const;
 
   void throw_dimension_incompatible(const char* method,
-				    const char* name_row,
-				    const Linear_Expression& y) const;
+				    const char* le_name,
+				    const Linear_Expression& le) const;
 
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+                                    const char* lf_name,
+                                    const Linear_Form<C>& lf) const;
 
   static void throw_constraint_incompatible(const char* method);
 
   static void throw_expression_too_complex(const char* method,
-					   const Linear_Expression& e);
+					   const Linear_Expression& le);
 
-  static void throw_generic(const char* method, const char* reason);
+  static void throw_invalid_argument(const char* method, const char* reason);
   //@} // Exception Throwers
 };
 
@@ -2157,14 +2221,14 @@ namespace Parma_Polyhedra_Library {
   \param constraint_type
   The constraint type;
 
-  \param num
+  \param numer
   The numerator of the constraint bound;
 
-  \param den
+  \param denom
   The denominator of the constraint bound
 
   The interval constraint has the form
-  <CODE>den * Variable(0) relsym num</CODE>
+  <CODE>denom * Variable(0) relsym numer</CODE>
   where relsym is  <CODE>==</CODE>,  <CODE>></CODE> or  <CODE>>=</CODE>
   depending on the <CODE>constraint_type</CODE>.
 */
@@ -2173,44 +2237,45 @@ template <typename ITV>
 Poly_Con_Relation
 interval_relation(const ITV& i,
                   const Constraint::Type constraint_type,
-                  Coefficient_traits::const_reference num,
-                  Coefficient_traits::const_reference den = 1);
+                  Coefficient_traits::const_reference numer,
+                  Coefficient_traits::const_reference denom = 1);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as an interval constraint.
-/*! \relates Box
-  \return
-  <CODE>true</CODE> if the constraint \p c is an
-  \ref intervals "interval constraint";
-  <CODE>false</CODE> otherwise.
-
-  \param c
-  The constraint to be decoded.
-
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
-
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0 and 1.
-
-  \param c_only_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the only variable having
-  a non-zero coefficient in \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_interval_constraint(const Constraint& c,
-				 dimension_type c_space_dim,
-				 dimension_type& c_num_vars,
-				 dimension_type& c_only_var);
-
-bool extract_interval_congruence(const Congruence& cg,
-				 dimension_type cg_space_dim,
-				 dimension_type& cg_num_vars,
-				 dimension_type& cg_only_var);
+class Box_Helpers {
+public:
+  // This is declared here so that Linear_Expression needs to be friend of
+  // Box_Helpers only, and doesn't need to be friend of this, too.
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as an interval constraint.
+  /*! \relates Box
+    \return
+    <CODE>true</CODE> if the constraint \p c is an
+    \ref intervals "interval constraint";
+    <CODE>false</CODE> otherwise.
+
+    \param c
+    The constraint to be decoded.
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0 and 1.
+
+    \param c_only_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the only variable having
+    a non-zero coefficient in \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_interval_constraint(const Constraint& c,
+                                          dimension_type& c_num_vars,
+                                          dimension_type& c_only_var);
+
+  // This is declared here so that Linear_Expression needs to be friend of
+  // Box_Helpers only, and doesn't need to be friend of this, too.
+  static bool extract_interval_congruence(const Congruence& cg,
+                                          dimension_type& cg_num_vars,
+                                          dimension_type& cg_only_var);
+};
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Box.inlines.hh b/src/Box.inlines.hh
index baf1890..a77db58 100644
--- a/src/Box.inlines.hh
+++ b/src/Box.inlines.hh
@@ -1,6 +1,6 @@
 /* Box class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Box_inlines_hh
 #define PPL_Box_inlines_hh 1
@@ -81,10 +81,11 @@ Box<ITV>::operator=(const Box& y) {
 
 template <typename ITV>
 inline void
-Box<ITV>::swap(Box& y) {
+Box<ITV>::m_swap(Box& y) {
   Box& x = *this;
-  std::swap(x.seq, y.seq);
-  std::swap(x.status, y.status);
+  using std::swap;
+  swap(x.seq, y.seq);
+  swap(x.status, y.status);
 }
 
 template <typename ITV>
@@ -92,7 +93,7 @@ inline
 Box<ITV>::Box(const Constraint_System& cs, Recycle_Input) {
   // Recycling is useless: just delegate.
   Box<ITV> tmp(cs);
-  this->swap(tmp);
+  this->m_swap(tmp);
 }
 
 template <typename ITV>
@@ -100,7 +101,7 @@ inline
 Box<ITV>::Box(const Generator_System& gs, Recycle_Input) {
   // Recycling is useless: just delegate.
   Box<ITV> tmp(gs);
-  this->swap(tmp);
+  this->m_swap(tmp);
 }
 
 template <typename ITV>
@@ -108,7 +109,7 @@ inline
 Box<ITV>::Box(const Congruence_System& cgs, Recycle_Input) {
   // Recycling is useless: just delegate.
   Box<ITV> tmp(cgs);
-  this->swap(tmp);
+  this->m_swap(tmp);
 }
 
 template <typename ITV>
@@ -132,6 +133,12 @@ Box<ITV>::max_space_dimension() {
 }
 
 template <typename ITV>
+inline int32_t
+Box<ITV>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
+}
+
+template <typename ITV>
 inline const ITV&
 Box<ITV>::operator[](const dimension_type k) const {
   PPL_ASSERT(k < seq.size());
@@ -239,9 +246,9 @@ Box<ITV>::expand_space_dimension(const Variable var,
   // The space dimension of the resulting Box should not
   // overflow the maximum allowed space dimension.
   if (m > max_space_dimension() - space_dim)
-    throw_generic("expand_dimension(v, m)",
-		  "adding m new space dimensions exceeds "
-		  "the maximum allowed space dimension");
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
   // To expand the space dimension corresponding to variable `var',
   // we append to the box `m' copies of the corresponding interval.
@@ -257,8 +264,12 @@ operator!=(const Box<ITV>& x, const Box<ITV>& y) {
 
 template <typename ITV>
 inline bool
-Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
+Box<ITV>::has_lower_bound(const Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const {
+  // NOTE: assertion !is_empty() would be wrong;
+  // see the calls in method Box<ITV>::constraints().
+  PPL_ASSERT(!marked_empty());
+  const dimension_type k = var.id();
   PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
@@ -267,7 +278,7 @@ Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
 
   closed = !seq_k.lower_is_open();
 
-  PPL_DIRTY_TEMP0(mpq_class, lr);
+  PPL_DIRTY_TEMP(mpq_class, lr);
   assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
   n = lr.get_num();
   d = lr.get_den();
@@ -277,8 +288,12 @@ Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
 
 template <typename ITV>
 inline bool
-Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
+Box<ITV>::has_upper_bound(const Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const {
+  // NOTE: assertion !is_empty() would be wrong;
+  // see the calls in method Box<ITV>::constraints().
+  PPL_ASSERT(!marked_empty());
+  const dimension_type k = var.id();
   PPL_ASSERT(k < seq.size());
   const ITV& seq_k = seq[k];
 
@@ -287,7 +302,7 @@ Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
 
   closed = !seq_k.upper_is_open();
 
-  PPL_DIRTY_TEMP0(mpq_class, ur);
+  PPL_DIRTY_TEMP(mpq_class, ur);
   assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
   n = ur.get_num();
   d = ur.get_den();
@@ -374,43 +389,41 @@ Box<ITV>::minimized_congruences() const {
 
 template <typename ITV>
 inline I_Result
-Box<ITV>::refine_interval_no_check(ITV& itv,
-                                   const Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den) {
-  PPL_ASSERT(den != 0);
+Box<ITV>
+::refine_interval_no_check(ITV& itv,
+                           const Constraint::Type type,
+                           Coefficient_traits::const_reference numer,
+                           Coefficient_traits::const_reference denom) {
+  PPL_ASSERT(denom != 0);
   // The interval constraint is of the form
-  // `var + num / den rel 0',
+  // `var + numer / denom rel 0',
   // where `rel' is either the relation `==', `>=', or `>'.
   // For the purpose of refining the interval, this is
-  // (morally) turned into `var rel -num/den'.
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  assign_r(q.get_num(), num, ROUND_NOT_NEEDED);
-  assign_r(q.get_den(), den, ROUND_NOT_NEEDED);
+  // (morally) turned into `var rel -numer/denom'.
+  PPL_DIRTY_TEMP(mpq_class, q);
+  assign_r(q.get_num(), numer, ROUND_NOT_NEEDED);
+  assign_r(q.get_den(), denom, ROUND_NOT_NEEDED);
   q.canonicalize();
-  // Turn `num/den' into `-num/den'.
+  // Turn `numer/denom' into `-numer/denom'.
   q = -q;
 
-  I_Result res;
+  Relation_Symbol rel_sym;
   switch (type) {
   case Constraint::EQUALITY:
-    res = itv.add_constraint(i_constraint(EQUAL, q));
+    rel_sym = EQUAL;
     break;
   case Constraint::NONSTRICT_INEQUALITY:
-    res = itv.add_constraint(i_constraint(den > 0
-                                          ? GREATER_OR_EQUAL
-                                          : LESS_OR_EQUAL, q));
+    rel_sym = (denom > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     break;
   case Constraint::STRICT_INEQUALITY:
-    res = itv.add_constraint(i_constraint(den > 0
-                                          ? GREATER_THAN
-                                          : LESS_THAN, q));
+    rel_sym = (denom > 0) ? GREATER_THAN : LESS_THAN;
     break;
   default:
-    // Silence an annoying GCC warning (should never reach this point).
-    PPL_ASSERT(false);
-    res = I_ANY;
+    // Silence compiler warning.
+    PPL_UNREACHABLE;
+    return I_ANY;
   }
+  I_Result res = itv.add_constraint(i_constraint(rel_sym, q));
   PPL_ASSERT(itv.OK());
   return res;
 }
@@ -420,12 +433,12 @@ inline void
 Box<ITV>
 ::add_interval_constraint_no_check(const dimension_type var_id,
                                    const Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den) {
+                                   Coefficient_traits::const_reference numer,
+                                   Coefficient_traits::const_reference denom) {
   PPL_ASSERT(!marked_empty());
   PPL_ASSERT(var_id < space_dimension());
-  PPL_ASSERT(den != 0);
-  refine_interval_no_check(seq[var_id], type, num, den);
+  PPL_ASSERT(denom != 0);
+  refine_interval_no_check(seq[var_id], type, numer, denom);
   // FIXME: do check the value returned and set `empty' and
   // `empty_up_to_date' as appropriate.
   // This has to be done after reimplementation of intervals.
@@ -667,6 +680,13 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
     ::l_infinity_distance_assign<To, To, ITV>(r, x, y, dir);
 }
 
+/*! \relates Box */
+template <typename ITV>
+inline void
+swap(Box<ITV>& x, Box<ITV>& y) {
+  x.m_swap(y);
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Box_inlines_hh)
diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index 097865d..17fa8be 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -1,6 +1,6 @@
 /* Box class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Box_templates_hh
 #define PPL_Box_templates_hh 1
@@ -33,6 +33,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Poly_Gen_Relation.defs.hh"
 #include "Polyhedron.defs.hh"
 #include "Grid.defs.hh"
+#include "Interval.defs.hh"
+#include "Linear_Form.defs.hh"
 #include "BD_Shape.defs.hh"
 #include "Octagonal_Shape.defs.hh"
 #include "MIP_Problem.defs.hh"
@@ -46,12 +48,12 @@ namespace Parma_Polyhedra_Library {
 template <typename ITV>
 inline
 Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
-  : seq(num_dimensions <= max_space_dimension()
-	? num_dimensions
-	: (throw_space_dimension_overflow("Box(n, k)",
-					  "n exceeds the maximum "
-					  "allowed space dimension"),
-	   num_dimensions)),
+  : seq(check_space_dimension_overflow(num_dimensions,
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(n, k)",
+                                       "n exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // In a box that is marked empty the intervals are completely
   // meaningless: we exploit this by avoiding their initialization.
@@ -68,12 +70,12 @@ Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
 template <typename ITV>
 inline
 Box<ITV>::Box(const Constraint_System& cs)
-  : seq(cs.space_dimension() <= max_space_dimension()
-	? cs.space_dimension()
-	: (throw_space_dimension_overflow("Box(cs)",
-					  "cs exceeds the maximum "
-					  "allowed space dimension"),
-	   cs.space_dimension())),
+  : seq(check_space_dimension_overflow(cs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(cs)",
+                                       "cs exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // FIXME: check whether we can avoid the double initialization.
   for (dimension_type i = cs.space_dimension(); i-- > 0; )
@@ -84,12 +86,12 @@ Box<ITV>::Box(const Constraint_System& cs)
 template <typename ITV>
 inline
 Box<ITV>::Box(const Congruence_System& cgs)
-  : seq(cgs.space_dimension() <= max_space_dimension()
-	? cgs.space_dimension()
-	: (throw_space_dimension_overflow("Box(cgs)",
-					  "cgs exceeds the maximum "
-					  "allowed space dimension"),
-	   cgs.space_dimension())),
+  : seq(check_space_dimension_overflow(cgs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(cgs)",
+                                       "cgs exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // FIXME: check whether we can avoid the double initialization.
   for (dimension_type i = cgs.space_dimension(); i-- > 0; )
@@ -117,12 +119,12 @@ Box<ITV>::Box(const Box<Other_ITV>& y, Complexity_Class)
 
 template <typename ITV>
 Box<ITV>::Box(const Generator_System& gs)
-  : seq(gs.space_dimension() <= max_space_dimension()
-	? gs.space_dimension()
-	: (throw_space_dimension_overflow("Box(gs)",
-					  "gs exceeds the maximum "
-					  "allowed space dimension"),
-	   gs.space_dimension())),
+  : seq(check_space_dimension_overflow(gs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(gs)",
+                                       "gs exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   const Generator_System::const_iterator gs_begin = gs.begin();
   const Generator_System::const_iterator gs_end = gs.end();
@@ -146,6 +148,9 @@ Box<ITV>::Box(const Generator_System& gs)
       const Coefficient& d = g.divisor();
       if (point_seen) {
 	// This is not the first point: `seq' already contains valid values.
+	// TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
 	for (dimension_type i = space_dim; i-- > 0; ) {
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
@@ -158,6 +163,9 @@ Box<ITV>::Box(const Generator_System& gs)
       else {
 	// This is the first point seen: initialize `seq'.
 	point_seen = true;
+        // TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
 	for (dimension_type i = space_dim; i-- > 0; ) {
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
@@ -181,26 +189,33 @@ Box<ITV>::Box(const Generator_System& gs)
     const Generator& g = *gs_i;
     switch (g.type()) {
     case Generator::LINE:
-      for (dimension_type i = space_dim; i-- > 0; )
-	if (g.coefficient(Variable(i)) != 0)
-	  seq[i].assign(UNIVERSE);
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+              i_end = g.expression().end();
+              i != i_end; ++i)
+	  seq[i.variable().id()].assign(UNIVERSE);
       break;
     case Generator::RAY:
-      for (dimension_type i = space_dim; i-- > 0; )
-	switch (sgn(g.coefficient(Variable(i)))) {
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+              i_end = g.expression().end();
+              i != i_end; ++i)
+	switch (sgn(*i)) {
 	case 1:
-	  seq[i].upper_extend();
+	  seq[i.variable().id()].upper_extend();
 	  break;
 	case -1:
-	  seq[i].lower_extend();
+	  seq[i.variable().id()].lower_extend();
 	  break;
 	default:
+          PPL_UNREACHABLE;
 	  break;
 	}
       break;
     case Generator::CLOSURE_POINT:
       {
 	const Coefficient& d = g.divisor();
+        // TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
 	for (dimension_type i = space_dim; i-- > 0; ) {
 	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
 	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
@@ -222,12 +237,12 @@ Box<ITV>::Box(const Generator_System& gs)
 template <typename ITV>
 template <typename T>
 Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
-  : seq(bds.space_dimension() <= max_space_dimension()
-	? bds.space_dimension()
-	: (throw_space_dimension_overflow("Box(bds)",
-					  "bds exceeds the maximum "
-					  "allowed space dimension"),
-	   bds.space_dimension())),
+  : seq(check_space_dimension_overflow(bds.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(bds)",
+                                       "bds exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // Expose all the interval constraints.
   bds.shortest_path_closure_assign();
@@ -274,12 +289,12 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
 template <typename ITV>
 template <typename T>
 Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
-  : seq(oct.space_dimension() <= max_space_dimension()
-	? oct.space_dimension()
-	: (throw_space_dimension_overflow("Box(oct)",
-					  "oct exceeds the maximum "
-					  "allowed space dimension"),
-	   oct.space_dimension())),
+  : seq(check_space_dimension_overflow(oct.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(oct)",
+                                       "oct exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // Expose all the interval constraints.
   oct.strong_closure_assign();
@@ -295,8 +310,8 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
   if (space_dim == 0)
     return;
 
-  PPL_DIRTY_TEMP0(mpq_class, lbound);
-  PPL_DIRTY_TEMP0(mpq_class, ubound);
+  PPL_DIRTY_TEMP(mpq_class, lower_bound);
+  PPL_DIRTY_TEMP(mpq_class, upper_bound);
   for (dimension_type i = space_dim; i-- > 0; ) {
     typedef typename Octagonal_Shape<T>::coefficient_type Coeff;
     I_Constraint<mpq_class> lower;
@@ -308,18 +323,18 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
     // Set the upper bound.
     const Coeff& twice_ub = oct.matrix[cii][ii];
     if (!is_plus_infinity(twice_ub)) {
-      assign_r(ubound, twice_ub, ROUND_NOT_NEEDED);
-      div_2exp_assign_r(ubound, ubound, 1, ROUND_NOT_NEEDED);
-      upper.set(LESS_OR_EQUAL, ubound);
+      assign_r(upper_bound, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(upper_bound, upper_bound, 1, ROUND_NOT_NEEDED);
+      upper.set(LESS_OR_EQUAL, upper_bound);
     }
 
     // Set the lower bound.
     const Coeff& twice_lb = oct.matrix[ii][cii];
     if (!is_plus_infinity(twice_lb)) {
-      assign_r(lbound, twice_lb, ROUND_NOT_NEEDED);
-      neg_assign_r(lbound, lbound, ROUND_NOT_NEEDED);
-      div_2exp_assign_r(lbound, lbound, 1, ROUND_NOT_NEEDED);
-      lower.set(GREATER_OR_EQUAL, lbound);
+      assign_r(lower_bound, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lower_bound, lower_bound, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lower_bound, lower_bound, 1, ROUND_NOT_NEEDED);
+      lower.set(GREATER_OR_EQUAL, lower_bound);
     }
     seq_i.build(lower, upper);
   }
@@ -327,12 +342,12 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
 
 template <typename ITV>
 Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
-  : seq(ph.space_dimension() <= max_space_dimension()
-	? ph.space_dimension()
-	: (throw_space_dimension_overflow("Box(ph)",
-					  "ph exceeds the maximum "
-					  "allowed space dimension"),
-	   ph.space_dimension())),
+  : seq(check_space_dimension_overflow(ph.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(ph)",
+                                       "ph exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
   // The empty flag will be meaningful, whatever happens from now on.
   set_empty_up_to_date();
@@ -352,7 +367,7 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
   // c) the polyhedron is already described by a generator system.
   if (ph.generators_are_up_to_date() && !ph.has_pending_constraints()) {
     Box tmp(ph.generators());
-    swap(tmp);
+    m_swap(tmp);
     return;
   }
 
@@ -393,10 +408,10 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
     }
     // Get all the bounds for the space dimensions.
     Generator g(point());
-    PPL_DIRTY_TEMP0(mpq_class, lbound);
-    PPL_DIRTY_TEMP0(mpq_class, ubound);
-    PPL_DIRTY_TEMP(Coefficient, bound_num);
-    PPL_DIRTY_TEMP(Coefficient, bound_den);
+    PPL_DIRTY_TEMP(mpq_class, lower_bound);
+    PPL_DIRTY_TEMP(mpq_class, upper_bound);
+    PPL_DIRTY_TEMP(Coefficient, bound_numer);
+    PPL_DIRTY_TEMP(Coefficient, bound_denom);
     for (dimension_type i = space_dim; i-- > 0; ) {
       I_Constraint<mpq_class> lower;
       I_Constraint<mpq_class> upper;
@@ -406,21 +421,21 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
       lp.set_optimization_mode(MAXIMIZATION);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
-	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(ubound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(ubound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	PPL_ASSERT(is_canonical(ubound));
-	upper.set(LESS_OR_EQUAL, ubound);
+	lp.evaluate_objective_function(g, bound_numer, bound_denom);
+	assign_r(upper_bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+	assign_r(upper_bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(upper_bound));
+	upper.set(LESS_OR_EQUAL, upper_bound);
       }
       // Evaluate optimal lower bound.
       lp.set_optimization_mode(MINIMIZATION);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
 	g = lp.optimizing_point();
-	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(lbound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(lbound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	PPL_ASSERT(is_canonical(lbound));
-	lower.set(GREATER_OR_EQUAL, lbound);
+	lp.evaluate_objective_function(g, bound_numer, bound_denom);
+	assign_r(lower_bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+	assign_r(lower_bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(lower_bound));
+	lower.set(GREATER_OR_EQUAL, lower_bound);
       }
       seq_i.build(lower, upper);
     }
@@ -431,23 +446,21 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
       set_empty();
     else {
       Box tmp(ph.generators());
-      swap(tmp);
+      m_swap(tmp);
     }
   }
 }
 
 template <typename ITV>
 Box<ITV>::Box(const Grid& gr, Complexity_Class)
-  : seq(gr.space_dimension() <= max_space_dimension()
-	? gr.space_dimension()
-	: (throw_space_dimension_overflow("Box(gr)",
-					  "gr exceeds the maximum "
-					  "allowed space dimension"),
-	   gr.space_dimension())),
+  : seq(check_space_dimension_overflow(gr.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(gr)",
+                                       "gr exceeds the maximum "
+                                       "allowed space dimension")),
     status() {
 
-  // FIXME: here we are not taking advantage of intervals with restrictions!
-
   if (gr.marked_empty()) {
     set_empty();
     return;
@@ -472,16 +485,16 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
   // For each dimension that is bounded by the grid, set both bounds
   // of the interval to the value of the associated coefficient in a
   // generator point.
-  PPL_DIRTY_TEMP0(mpq_class, bound);
-  PPL_DIRTY_TEMP(Coefficient, bound_num);
-  PPL_DIRTY_TEMP(Coefficient, bound_den);
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  PPL_DIRTY_TEMP(Coefficient, bound_numer);
+  PPL_DIRTY_TEMP(Coefficient, bound_denom);
   for (dimension_type i = space_dim; i-- > 0; ) {
     ITV& seq_i = seq[i];
     Variable var(i);
     bool max;
-    if (gr.maximize(var, bound_num, bound_den, max)) {
-      assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-      assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
+    if (gr.maximize(var, bound_numer, bound_denom, max)) {
+      assign_r(bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+      assign_r(bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
       bound.canonicalize();
       seq_i.build(i_constraint(EQUAL, bound));
     }
@@ -495,14 +508,16 @@ template <typename D1, typename D2, typename R>
 Box<ITV>::Box(const Partially_Reduced_Product<D1, D2, R>& dp,
               Complexity_Class complexity)
   : seq(), status() {
-  if (dp.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Box(dp)",
-                                   "dp exceeds the maximum "
-                                   "allowed space dimension");
+  check_space_dimension_overflow(dp.space_dimension(),
+                                 max_space_dimension(),
+                                 "PPL::Box::",
+                                 "Box(dp)",
+                                 "dp exceeds the maximum "
+                                 "allowed space dimension");
   Box tmp1(dp.domain1(), complexity);
   Box tmp2(dp.domain2(), complexity);
   tmp1.intersection_assign(tmp2);
-  swap(tmp1);
+  m_swap(tmp1);
 }
 
 template <typename ITV>
@@ -511,6 +526,11 @@ Box<ITV>::add_space_dimensions_and_embed(const dimension_type m) {
   // Adding no dimensions is a no-op.
   if (m == 0)
     return;
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "add_space_dimensions_and_embed(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
   // To embed an n-dimension space box in a (n+m)-dimension space,
   // we just add `m' new universe elements to the sequence.
   seq.insert(seq.end(), m, ITV(UNIVERSE));
@@ -523,6 +543,11 @@ Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
   // Adding no dimensions is a no-op.
   if (m == 0)
     return;
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "add_space_dimensions_and_project(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
   // Add `m' new zero elements to the sequence.
   seq.insert(seq.end(), m, ITV(0));
   PPL_ASSERT(OK());
@@ -562,20 +587,25 @@ Box<ITV>::bounds(const Linear_Expression& expr, const bool from_above) const {
     return true;
 
   const int from_above_sign = from_above ? 1 : -1;
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    switch (sgn(expr.coefficient(Variable(i))) * from_above_sign) {
+  // TODO: This loop can be optimized more, if needed, exploiting the
+  // (possible) sparseness of expr.
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    const Variable v = i.variable();
+    switch (sgn(*i) * from_above_sign) {
     case 1:
-      if (seq[i].upper_is_boundary_infinity())
+      if (seq[v.id()].upper_is_boundary_infinity())
 	return false;
       break;
     case 0:
-      // Nothing to do.
+      PPL_UNREACHABLE;
       break;
     case -1:
-      if (seq[i].lower_is_boundary_infinity())
+      if (seq[v.id()].lower_is_boundary_infinity())
 	return false;
       break;
     }
+  }
   return true;
 }
 
@@ -583,20 +613,20 @@ template <typename ITV>
 Poly_Con_Relation
 interval_relation(const ITV& i,
 		  const Constraint::Type constraint_type,
-		  Coefficient_traits::const_reference num,
-		  Coefficient_traits::const_reference den) {
+		  Coefficient_traits::const_reference numer,
+		  Coefficient_traits::const_reference denom) {
 
   if (i.is_universe())
     return Poly_Con_Relation::strictly_intersects();
 
-  PPL_DIRTY_TEMP0(mpq_class, bound);
-  assign_r(bound.get_num(), num, ROUND_NOT_NEEDED);
-  assign_r(bound.get_den(), den, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  assign_r(bound.get_num(), numer, ROUND_NOT_NEEDED);
+  assign_r(bound.get_den(), denom, ROUND_NOT_NEEDED);
   bound.canonicalize();
   neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
-  const bool is_lower_bound = (den > 0);
+  const bool is_lower_bound = (denom > 0);
 
-  PPL_DIRTY_TEMP0(mpq_class, bound_diff);
+  PPL_DIRTY_TEMP(mpq_class, bound_diff);
   if (constraint_type == Constraint::EQUALITY) {
     if (i.lower_is_boundary_infinity()) {
       PPL_ASSERT(!i.upper_is_boundary_infinity());
@@ -763,7 +793,8 @@ interval_relation(const ITV& i,
   }
 
   // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return Poly_Con_Relation::nothing();
 }
 
 template <typename ITV>
@@ -781,7 +812,7 @@ Box<ITV>::relation_with(const Congruence& cg) const {
       && Poly_Con_Relation::is_included()
       && Poly_Con_Relation::is_disjoint();
 
-   if (space_dim == 0) {
+  if (space_dim == 0) {
     if (cg.is_inconsistent())
       return Poly_Con_Relation::is_disjoint();
     else
@@ -794,19 +825,19 @@ Box<ITV>::relation_with(const Congruence& cg) const {
     return relation_with(c);
   }
 
-  PPL_DIRTY_TEMP0(Rational_Interval, r);
-  PPL_DIRTY_TEMP0(Rational_Interval, t);
-  PPL_DIRTY_TEMP0(mpq_class, m);
+  PPL_DIRTY_TEMP(Rational_Interval, r);
+  PPL_DIRTY_TEMP(Rational_Interval, t);
+  PPL_DIRTY_TEMP(mpq_class, m);
   r = 0;
-  for (dimension_type i = cg.space_dimension(); i-- > 0; ) {
-    const Coefficient& cg_i = cg.coefficient(Variable(i));
-    if (sgn(cg_i) != 0) {
-      assign_r(m, cg_i, ROUND_NOT_NEEDED);
-      // FIXME: an add_mul_assign() method would come handy here.
-      t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
-      t *= m;
-      r += t;
-    }
+  for (Congruence::Expression::const_iterator i = cg.expression().begin(),
+      i_end = cg.expression().end(); i != i_end; ++i) {
+    const Coefficient& cg_i = *i;
+    const Variable v = i.variable();
+    assign_r(m, cg_i, ROUND_NOT_NEEDED);
+    // FIXME: an add_mul_assign() method would come handy here.
+    t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint());
+    t *= m;
+    r += t;
   }
 
   if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity())
@@ -865,7 +896,7 @@ Box<ITV>::relation_with(const Constraint& c) const {
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
 
-  if (extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
+  if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
     if (c_num_vars == 0)
       // c is a trivial constraint.
       switch (sgn(c.inhomogeneous_term())) {
@@ -890,19 +921,19 @@ Box<ITV>::relation_with(const Constraint& c) const {
     }
   else {
     // Deal with a non-trivial and non-interval constraint.
-    PPL_DIRTY_TEMP0(Rational_Interval, r);
-    PPL_DIRTY_TEMP0(Rational_Interval, t);
-    PPL_DIRTY_TEMP0(mpq_class, m);
+    PPL_DIRTY_TEMP(Rational_Interval, r);
+    PPL_DIRTY_TEMP(Rational_Interval, t);
+    PPL_DIRTY_TEMP(mpq_class, m);
     r = 0;
-    for (dimension_type i = c.space_dimension(); i-- > 0; ) {
-      const Coefficient& c_i = c.coefficient(Variable(i));
-      if (sgn(c_i) != 0) {
-        assign_r(m, c_i, ROUND_NOT_NEEDED);
-	// FIXME: an add_mul_assign() method would come handy here.
-	t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
-	t *= m;
-	r += t;
-      }
+    const Constraint::Expression& e = c.expression();
+    for (Constraint::Expression::const_iterator i = e.begin(), i_end = e.end();
+          i != i_end; ++i) {
+      assign_r(m, *i, ROUND_NOT_NEEDED);
+      const Variable v = i.variable();
+      // FIXME: an add_mul_assign() method would come handy here.
+      t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint());
+      t *= m;
+      r += t;
     }
     return interval_relation(r,
 			     c.type(),
@@ -910,7 +941,8 @@ Box<ITV>::relation_with(const Constraint& c) const {
   }
 
   // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return Poly_Con_Relation::nothing();
 }
 
 template <typename ITV>
@@ -934,34 +966,44 @@ Box<ITV>::relation_with(const Generator& g) const {
 
   if (g.is_line_or_ray()) {
     if (g.is_line()) {
-      for (dimension_type i = g_space_dim; i-- > 0; )
-	if (g.coefficient(Variable(i)) != 0 && !seq[i].is_universe())
+      const Generator::Expression& e = g.expression();
+      for (Generator::Expression::const_iterator i = e.begin(), i_end = e.end();
+           i != i_end; ++i)
+	if (!seq[i.variable().id()].is_universe())
 	  return Poly_Gen_Relation::nothing();
       return Poly_Gen_Relation::subsumes();
     }
     else {
       PPL_ASSERT(g.is_ray());
-      for (dimension_type i = g_space_dim; i-- > 0; )
-	switch (sgn(g.coefficient(Variable(i)))) {
+      const Generator::Expression& e = g.expression();
+      for (Generator::Expression::const_iterator i = e.begin(), i_end = e.end();
+           i != i_end; ++i) {
+        const Variable v = i.variable();
+	switch (sgn(*i)) {
 	case 1:
-	  if (!seq[i].upper_is_boundary_infinity())
+	  if (!seq[v.id()].upper_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	case 0:
+          PPL_UNREACHABLE;
 	  break;
 	case -1:
-	  if (!seq[i].lower_is_boundary_infinity())
+	  if (!seq[v.id()].lower_is_boundary_infinity())
 	    return Poly_Gen_Relation::nothing();
 	  break;
 	}
+      }
       return Poly_Gen_Relation::subsumes();
     }
   }
 
   // Here `g' is a point or closure point.
   const Coefficient& g_divisor = g.divisor();
-  PPL_DIRTY_TEMP0(mpq_class, g_coord);
-  PPL_DIRTY_TEMP0(mpq_class, bound);
+  PPL_DIRTY_TEMP(mpq_class, g_coord);
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  // TODO: If the variables in the expression that have coefficient 0
+  // have no effect on seq[i], this loop can be optimized using
+  // Generator::Expression::const_iterator.
   for (dimension_type i = g_space_dim; i-- > 0; ) {
     const ITV& seq_i = seq[i];
     if (seq_i.is_universe())
@@ -1027,15 +1069,16 @@ Box<ITV>::max_min(const Linear_Expression& expr,
   if (is_empty())
     return false;
 
-  PPL_DIRTY_TEMP0(mpq_class, result);
+  PPL_DIRTY_TEMP(mpq_class, result);
   assign_r(result, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
   bool is_included = true;
   const int maximize_sign = maximize ? 1 : -1;
-  PPL_DIRTY_TEMP0(mpq_class, bound_i);
-  PPL_DIRTY_TEMP0(mpq_class, expr_i);
-  for (dimension_type i = expr_space_dim; i-- > 0; ) {
-    const ITV& seq_i = seq[i];
-    assign_r(expr_i, expr.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, bound_i);
+  PPL_DIRTY_TEMP(mpq_class, expr_i);
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    const ITV& seq_i = seq[i.variable().id()];
+    assign_r(expr_i, *i, ROUND_NOT_NEEDED);
     switch (sgn(expr_i) * maximize_sign) {
     case 1:
       if (seq_i.upper_is_boundary_infinity())
@@ -1046,7 +1089,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
 	is_included = false;
       break;
     case 0:
-      // Nothing to do.
+      PPL_UNREACHABLE;
       break;
     case -1:
       if (seq_i.lower_is_boundary_infinity())
@@ -1081,11 +1124,13 @@ Box<ITV>::max_min(const Linear_Expression& expr,
   PPL_DIRTY_TEMP(Coefficient, g_divisor);
   g_divisor = 1;
   const int maximize_sign = maximize ? 1 : -1;
-  PPL_DIRTY_TEMP0(mpq_class, g_coord);
-  PPL_DIRTY_TEMP(Coefficient, num);
-  PPL_DIRTY_TEMP(Coefficient, den);
+  PPL_DIRTY_TEMP(mpq_class, g_coord);
+  PPL_DIRTY_TEMP(Coefficient, numer);
+  PPL_DIRTY_TEMP(Coefficient, denom);
   PPL_DIRTY_TEMP(Coefficient, lcm);
   PPL_DIRTY_TEMP(Coefficient, factor);
+  // TODO: Check if the following loop can be optimized to exploit the
+  // (possible) sparseness of expr.
   for (dimension_type i = space_dimension(); i-- > 0; ) {
     const ITV& seq_i = seq[i];
     switch (sgn(expr.coefficient(Variable(i))) * maximize_sign) {
@@ -1104,7 +1149,7 @@ Box<ITV>::max_min(const Linear_Expression& expr,
 	    if (seq_i.upper_is_open()) {
 	      // Bounded and open interval: compute middle point.
 	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-	      PPL_DIRTY_TEMP0(mpq_class, q_seq_i_upper);
+	      PPL_DIRTY_TEMP(mpq_class, q_seq_i_upper);
 	      assign_r(q_seq_i_upper, seq_i.upper(), ROUND_NOT_NEEDED);
 	      g_coord += q_seq_i_upper;
 	      g_coord /= 2;
@@ -1134,14 +1179,14 @@ Box<ITV>::max_min(const Linear_Expression& expr,
       break;
     }
     // Add g_coord * Variable(i) to the generator.
-    assign_r(den, g_coord.get_den(), ROUND_NOT_NEEDED);
-    lcm_assign(lcm, g_divisor, den);
+    assign_r(denom, g_coord.get_den(), ROUND_NOT_NEEDED);
+    lcm_assign(lcm, g_divisor, denom);
     exact_div_assign(factor, lcm, g_divisor);
     g_expr *= factor;
-    exact_div_assign(factor, lcm, den);
-    assign_r(num, g_coord.get_num(), ROUND_NOT_NEEDED);
-    num *= factor;
-    g_expr += num * Variable(i);
+    exact_div_assign(factor, lcm, denom);
+    assign_r(numer, g_coord.get_num(), ROUND_NOT_NEEDED);
+    numer *= factor;
+    g_expr += numer * Variable(i);
     g_divisor = lcm;
   }
   g = Generator::point(g_expr, g_divisor);
@@ -1201,9 +1246,9 @@ Box<ITV>::upper_bound_assign_if_exact(const Box& y) {
     x.throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
   // The lub of a box with an empty box is equal to the first box.
-  if (y.marked_empty())
+  if (y.is_empty())
     return true;
-  if (x.marked_empty()) {
+  if (x.is_empty()) {
     x = y;
     return true;
   }
@@ -1294,7 +1339,7 @@ Box<ITV>::check_empty() const {
       x.set_empty();
       return true;
     }
-  x.set_nonempty();;
+  x.set_nonempty();
   return false;
 }
 
@@ -1369,7 +1414,7 @@ Box<ITV>::frequency(const Linear_Expression& expr,
   // and return true. Otherwise the values for \p expr
   // are not discrete so return false.
 
-  // Space dimension = 0: if empty, then return false;
+  // Space dimension is 0: if empty, then return false;
   // otherwise the frequency is 0 and the value is the inhomogeneous term.
   if (space_dim == 0) {
     if (is_empty())
@@ -1386,33 +1431,26 @@ Box<ITV>::frequency(const Linear_Expression& expr,
     return false;
 
   // The Box has at least 1 dimension and is not empty.
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  PPL_DIRTY_TEMP0(mpq_class, tmp);
-  Linear_Expression le = expr;
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+  Coefficient c = expr.inhomogeneous_term();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
 
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    const Variable v(i);
-    coeff = le.coefficient(v);
-    if (coeff == 0) {
-      continue;
-    }
-
-    const ITV& seq_i = seq[i];
+  for (Linear_Expression::const_iterator i = expr.begin(), i_end = expr.end();
+       i != i_end; ++i) {
+    const ITV& seq_i = seq[i.variable().id()];
     // Check if `v' is constant in the BD shape.
     if (seq_i.is_singleton()) {
       // If `v' is constant, replace it in `le' by the value.
       assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED);
-      num = tmp.get_num();
-      den = tmp.get_den();
-      le -= coeff*v;
-      le *= den;
-      le += num*coeff;
-      val_den *= den;
+      numer = tmp.get_num();
+      denom = tmp.get_den();
+      c *= denom;
+      c += numer * val_denom * (*i);
+      val_denom *= denom;
       continue;
     }
     // The expression `expr' is not constant.
@@ -1424,7 +1462,7 @@ Box<ITV>::frequency(const Linear_Expression& expr,
   freq_d = 1;
 
   // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  normalize2(c, val_denom, val_n, val_d);
   return true;
 }
 
@@ -1445,7 +1483,7 @@ Box<ITV>::constrains(Variable var) const {
 template <typename ITV>
 void
 Box<ITV>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
+  // The cylindrification with respect to no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a box in a 0-dim space.
   if (vars.empty())
@@ -1492,34 +1530,34 @@ Box<ITV>::wrap_assign(const Variables_Set& vars,
                       Bounded_Integer_Type_Width w,
                       Bounded_Integer_Type_Representation r,
                       Bounded_Integer_Type_Overflow o,
-                      const Constraint_System* pcs,
+                      const Constraint_System* cs_p,
                       unsigned complexity_threshold,
                       bool wrap_individually) {
 #if 0 // Generic implementation commented out.
   Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
+                              vars, w, r, o, cs_p,
                               complexity_threshold, wrap_individually,
                               "Box");
 #else // Specialized implementation.
-  used(wrap_individually);
-  used(complexity_threshold);
+  PPL_USED(wrap_individually);
+  PPL_USED(complexity_threshold);
   Box& x = *this;
 
-  // Dimension-compatibility check for `*pcs', if any.
+  // Dimension-compatibility check for `*cs_p', if any.
   const dimension_type vars_space_dim = vars.space_dimension();
-  if (pcs != 0 && pcs->space_dimension() > vars_space_dim) {
+  if (cs_p != 0 && cs_p->space_dimension() > vars_space_dim) {
     std::ostringstream s;
-    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, pcs, ...):"
+    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, cs_p, ...):"
       << std::endl
       << "vars.space_dimension() == " << vars_space_dim
-      << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+      << ", cs_p->space_dimension() == " << cs_p->space_dimension() << ".";
     throw std::invalid_argument(s.str());
   }
 
-  // Wrapping no variable only requires refining with *pcs, if any.
+  // Wrapping no variable only requires refining with *cs_p, if any.
   if (vars.empty()) {
-    if (pcs != 0)
-      refine_with_constraints(*pcs);
+    if (cs_p != 0)
+      refine_with_constraints(*cs_p);
     return;
   }
 
@@ -1572,7 +1610,7 @@ Box<ITV>::wrap_assign(const Variables_Set& vars,
 
   const Variables_Set::const_iterator vs_end = vars.end();
 
-  if (pcs == 0) {
+  if (cs_p == 0) {
     // No constraint refinement is needed here.
     switch (o) {
     case OVERFLOW_WRAPS:
@@ -1598,9 +1636,8 @@ Box<ITV>::wrap_assign(const Variables_Set& vars,
     return;
   }
 
-  PPL_ASSERT(pcs != 0);
-  const Constraint_System& cs = *pcs;
-  const dimension_type cs_space_dim = cs.space_dimension();
+  PPL_ASSERT(cs_p != 0);
+  const Constraint_System& cs = *cs_p;
   // A map associating interval constraints to variable indexes.
   typedef std::map<dimension_type, std::vector<const Constraint*> > map_type;
   map_type var_cs_map;
@@ -1609,8 +1646,7 @@ Box<ITV>::wrap_assign(const Variables_Set& vars,
     const Constraint& c = *i;
     dimension_type c_num_vars = 0;
     dimension_type c_only_var = 0;
-    if (extract_interval_constraint(c, cs_space_dim,
-                                    c_num_vars, c_only_var)) {
+    if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) {
       if (c_num_vars == 1) {
         // An interval constraint on variable index `c_only_var'.
         PPL_ASSERT(c_only_var < space_dim);
@@ -1749,9 +1785,9 @@ Box<ITV>::upper_bound_assign(const Box& y) {
     x.throw_dimension_incompatible("upper_bound_assign(y)", y);
 
   // The lub of a box with an empty box is equal to the first box.
-  if (y.marked_empty())
+  if (y.is_empty())
     return;
-  if (x.marked_empty()) {
+  if (x.is_empty()) {
     x = y;
     return;
   }
@@ -1776,7 +1812,13 @@ Box<ITV>::concatenate_assign(const Box& y) {
   // If `y' is a 0-dim space box, there is nothing left to do.
   if (y_space_dim == 0)
     return;
-
+  // The resulting space dimension must be at most the maximum.
+  check_space_dimension_overflow(y.space_dimension(),
+                                 max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "concatenate_assign(y)",
+                                 "concatenation exceeds the maximum "
+                                 "allowed space dimension");
   // Here `y_space_dim > 0', so that a non-trivial concatenation will occur:
   // make sure that reallocation will occur once at most.
   x.seq.reserve(x_space_dim + y_space_dim);
@@ -1916,8 +1958,7 @@ Box<ITV>::simplify_using_context_assign(const Box& y) {
   }
 
   // Loop index `i' is intentionally going upwards.
-  dimension_type i = 0;
-  for ( ; i < num_dims; ++i) {
+  for (dimension_type i = 0; i < num_dims; ++i) {
     if (!x.seq[i].simplify_using_context_assign(y.seq[i])) {
       PPL_ASSERT(!x.seq[i].is_empty());
       // The intersection of `x' and `y' is empty due to the i-th interval:
@@ -2012,12 +2053,12 @@ Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
     const dimension_type vsi_next = *vsi;
     // All intervals in between are moved to the left.
     while (src < vsi_next)
-      seq[dst++].swap(seq[src++]);
+      swap(seq[dst++], seq[src++]);
     ++src;
   }
   // Moving the remaining intervals.
   while (src < old_space_dim)
-    seq[dst++].swap(seq[src++]);
+    swap(seq[dst++], seq[src++]);
 
   PPL_ASSERT(dst == new_space_dim);
   seq.resize(new_space_dim);
@@ -2027,23 +2068,23 @@ Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
 
 template <typename ITV>
 void
-Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dim) {
+Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dimension) {
   // Dimension-compatibility check: the variable having
   // maximum index is the one occurring last in the set.
-  const dimension_type old_dim = space_dimension();
-  if (new_dim > old_dim)
+  const dimension_type space_dim = space_dimension();
+  if (new_dimension > space_dim)
     throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
-				 new_dim);
+				 new_dimension);
 
   // The removal of no dimensions from any box is a no-op.
   // Note that this case also captures the only legal removal of
   // dimensions from a zero-dim space box.
-  if (new_dim == old_dim) {
+  if (new_dimension == space_dim) {
     PPL_ASSERT(OK());
     return;
   }
 
-  seq.erase(seq.begin() + new_dim, seq.end());
+  seq.resize(new_dimension);
   PPL_ASSERT(OK());
 }
 
@@ -2074,9 +2115,9 @@ Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
   for (dimension_type i = 0; i < space_dim; ++i) {
     dimension_type new_i;
     if (pfunc.maps(i, new_i))
-      seq[i].swap(tmp.seq[new_i]);
+      swap(seq[i], tmp.seq[new_i]);
   }
-  swap(tmp);
+  m_swap(tmp);
   PPL_ASSERT(OK());
 }
 
@@ -2100,8 +2141,8 @@ Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
 
   // Moreover, `dest.id()' should not occur in `vars'.
   if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-		  "v should not occur in vs");
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
 
   // Note: the check for emptiness is needed for correctness.
   if (!is_empty()) {
@@ -2118,20 +2159,21 @@ Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
 template <typename ITV>
 void
 Box<ITV>::add_constraint_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c_space_dim <= space_dimension());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
   // Throw an exception if c is not an interval constraints.
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
-    throw_generic("add_constraint(c)", "c is not an interval constraint");
+  if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not an interval constraint");
 
   // Throw an exception if c is a nontrivial strict constraint
   // and ITV does not support open boundaries.
   if (c.is_strict_inequality() && c_num_vars != 0
       && ITV::is_always_topologically_closed())
-    throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
+    throw_invalid_argument("add_constraint(c)",
+                           "c is a nontrivial strict constraint");
 
   // Avoid doing useless work if the box is known to be empty.
   if (marked_empty())
@@ -2168,8 +2210,7 @@ Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
 template <typename ITV>
 void
 Box<ITV>::add_congruence_no_check(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  PPL_ASSERT(cg_space_dim <= space_dimension());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   // Set aside the case of proper congruences.
   if (cg.is_proper_congruence()) {
@@ -2180,17 +2221,17 @@ Box<ITV>::add_congruence_no_check(const Congruence& cg) {
     else if (cg.is_tautological())
       return;
     else
-      // FIXME: what about intervals with restrictions?
-      throw_generic("add_congruence(cg)",
-                    "cg is a nontrivial proper congruence");
+      throw_invalid_argument("add_congruence(cg)",
+                             "cg is a nontrivial proper congruence");
   }
 
   PPL_ASSERT(cg.is_equality());
   dimension_type cg_num_vars = 0;
   dimension_type cg_only_var = 0;
   // Throw an exception if c is not an interval congruence.
-  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
-    throw_generic("add_congruence(cg)", "cg is not an interval congruence");
+  if (!Box_Helpers::extract_interval_congruence(cg, cg_num_vars, cg_only_var))
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is not an interval congruence");
 
   // Avoid doing useless work if the box is known to be empty.
   if (marked_empty())
@@ -2225,14 +2266,13 @@ Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
 template <typename ITV>
 void
 Box<ITV>::refine_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
   PPL_ASSERT(c.space_dimension() <= space_dimension());
   PPL_ASSERT(!marked_empty());
 
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
   // Non-interval constraints are approximated.
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var)) {
+  if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) {
     propagate_constraint_no_check(c);
     return;
   }
@@ -2270,7 +2310,6 @@ Box<ITV>::refine_no_check(const Congruence& cg) {
   PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
   if (cg.is_proper_congruence()) {
-    // FIXME: also deal with the case of interval with restrictions.
     // A proper congruences is also an interval constraint
     // if and only if it is trivial.
     if (cg.is_inconsistent())
@@ -2294,7 +2333,9 @@ Box<ITV>::refine_no_check(const Congruence_System& cgs) {
 }
 
 #if 1 // Alternative implementations for propagate_constraint_no_check.
-namespace {
+namespace Implementation {
+
+namespace Boxes {
 
 inline bool
 propagate_constraint_check_result(Result r, Ternary& open) {
@@ -2315,16 +2356,21 @@ propagate_constraint_check_result(Result r, Ternary& open) {
   case V_EQ:
     return false;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return true;
   }
 }
 
-} // namespace
+} // namespace Boxes
+
+} // namespace Implementation
+
 
 template <typename ITV>
 void
 Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
+  using namespace Implementation::Boxes;
+
   PPL_ASSERT(c.space_dimension() <= space_dimension());
 
   typedef
@@ -2336,14 +2382,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
   const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
 
   // Find a space dimension having a non-zero coefficient (if any).
-  dimension_type last_k = c_space_dim;
-  for (dimension_type k = c_space_dim; k-- > 0; ) {
-    if (c.coefficient(Variable(k)) != 0) {
-      last_k = k;
-      break;
-    }
-  }
-  if (last_k == c_space_dim) {
+  dimension_type last_k = c.expression().last_nonzero(1, c_space_dim + 1);
+  if (last_k == c_space_dim + 1) {
     // Constraint c is trivial: check if it is inconsistent.
     if (c_inhomogeneous_term < 0
         || (c_inhomogeneous_term == 0
@@ -2353,17 +2393,20 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
   }
 
   // Here constraint c is non-trivial.
-  PPL_ASSERT(last_k < c_space_dim);
-  Result r;
+  PPL_ASSERT(last_k <= c_space_dim);
   Temp_Boundary_Type t_bound;
   Temp_Boundary_Type t_a;
   Temp_Boundary_Type t_x;
   Ternary open;
-  for (dimension_type k = last_k+1; k-- > 0; ) {
-    const Coefficient& a_k = c.coefficient(Variable(k));
+  const Constraint::Expression& c_e = c.expression();
+  for (Constraint::Expression::const_iterator k = c_e.begin(),
+         k_end = c_e.lower_bound(Variable(last_k)); k != k_end; ++k) {
+    const Coefficient& a_k = *k;
+    const Variable k_var = k.variable();
     int sgn_a_k = sgn(a_k);
     if (sgn_a_k == 0)
       continue;
+    Result r;
     if (sgn_a_k > 0) {
       open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
       if (open == T_NO)
@@ -2374,14 +2417,14 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
       if (propagate_constraint_check_result(r, open))
 	goto maybe_refine_upper_1;
-      for (dimension_type i = last_k+1; i-- > 0; ) {
-	if (i == k)
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(last_k)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
 	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
+	const Coefficient& a_i = *i;
 	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
+	ITV& x_i = seq[i_var.id()];
 	if (sgn_a_i < 0) {
 	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_1;
@@ -2425,7 +2468,10 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
+      {
+        Relation_Symbol rel = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL;
+        seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
+      }
       reset_empty_up_to_date();
     maybe_refine_upper_1:
       if (c_type != Constraint::EQUALITY)
@@ -2438,14 +2484,14 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       r = neg_assign_r(t_bound, t_bound, ROUND_UP);
       if (propagate_constraint_check_result(r, open))
 	goto next_k;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
 	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
+	const Coefficient& a_i = *i;
 	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
+	ITV& x_i = seq[i_var.id()];
 	if (sgn_a_i < 0) {
 	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
@@ -2489,7 +2535,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
+      Relation_Symbol rel = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL;
+      seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
       reset_empty_up_to_date();
     }
     else {
@@ -2503,14 +2550,14 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
       if (propagate_constraint_check_result(r, open))
 	goto maybe_refine_upper_2;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
 	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
+	const Coefficient& a_i = *i;
 	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
+	ITV& x_i = seq[i_var.id()];
 	if (sgn_a_i < 0) {
 	  if (x_i.lower_is_boundary_infinity())
 	    goto maybe_refine_upper_2;
@@ -2554,7 +2601,10 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
+      {
+        Relation_Symbol rel = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL;
+        seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
+      }
       reset_empty_up_to_date();
     maybe_refine_upper_2:
       if (c_type != Constraint::EQUALITY)
@@ -2567,14 +2617,14 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       r = neg_assign_r(t_bound, t_bound, ROUND_UP);
       if (propagate_constraint_check_result(r, open))
 	goto next_k;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
 	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
+	const Coefficient& a_i = *i;
 	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
+	ITV& x_i = seq[i_var.id()];
 	if (sgn_a_i < 0) {
 	  if (x_i.upper_is_boundary_infinity())
 	    goto next_k;
@@ -2618,7 +2668,8 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       if (open == T_MAYBE
 	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
 	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
+      Relation_Symbol rel = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL;
+      seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
       reset_empty_up_to_date();
     }
   next_k:
@@ -2636,24 +2687,28 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
   dimension_type c_space_dim = c.space_dimension();
   ITV k[c_space_dim];
   ITV p[c_space_dim];
-  for (dimension_type i = c_space_dim; i-- > 0; ) {
-    k[i] = c.coefficient(Variable(i));
-    ITV& p_i = p[i];
-    p_i = seq[i];
-    p_i.mul_assign(p_i, k[i]);
+  for (Constraint::Expression::const_iterator i = c_e.begin(),
+        i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+    const Variable i_var = i.variable();
+    k[i_var.id()] = *i;
+    ITV& p_i = p[i_var.id()];
+    p_i = seq[i_var.id()];
+    p_i.mul_assign(p_i, k[i_var.id()]);
   }
   const Coefficient& inhomogeneous_term = c.inhomogeneous_term();
-  for (dimension_type i = c_space_dim; i-- > 0; ) {
-    int sgn_coefficient_i = sgn(c.coefficient(Variable(i)));
-    if (sgn_coefficient_i == 0)
-      continue;
+  for (Constraint::Expression::const_iterator i = c_e.begin(),
+        i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+    const Variable i_var = i.variable();
+    int sgn_coefficient_i = sgn(*i);
     ITV q(inhomogeneous_term);
-    for (dimension_type j = c_space_dim; j-- > 0; ) {
-      if (i == j)
+    for (Constraint::Expression::const_iterator j = c_e.begin(),
+          j_end = c_e.lower_bound(Variable(c_space_dim)); j != j_end; ++j) {
+      const Variable j_var = j.variable();
+      if (i_var == j_var)
 	continue;
-      q.add_assign(q, p[j]);
+      q.add_assign(q, p[j_var.id()]);
     }
-    q.div_assign(q, k[i]);
+    q.div_assign(q, k[i_var.id()]);
     q.neg_assign(q);
     Relation_Symbol rel;
     switch (c.type()) {
@@ -2667,13 +2722,13 @@ Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
       rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
       break;
     }
-    seq[i].add_constraint(i_constraint(rel, q));
+    seq[i_var.id()].add_constraint(i_constraint(rel, q));
     // FIXME: could/should we exploit the return value of add_constraint
     //        in case it is available?
-    // FIMXE: should we instead be lazy and do not even bother about
+    // FIXME: should we instead be lazy and do not even bother about
     //        the possibility the interval becomes empty apart from setting
     //        empty_up_to_date = false?
-    if (seq[i].is_empty()) {
+    if (seq[i_var.id()].is_empty()) {
       set_empty();
       break;
     }
@@ -2694,8 +2749,8 @@ Box<ITV>
 
   const Constraint_System::const_iterator cs_begin = cs.begin();
   const Constraint_System::const_iterator cs_end = cs.end();
-  const dimension_type cs_size = std::distance(cs_begin, cs_end);
-  const dimension_type propagation_weight = cs_size * space_dim;
+  const dimension_type propagation_weight
+    = Implementation::num_constraints(cs) * space_dim;
 
   Sequence copy;
   bool changed;
@@ -2729,7 +2784,7 @@ Box<ITV>::affine_image(const Variable var,
                        Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   const dimension_type space_dim = space_dimension();
@@ -2746,14 +2801,12 @@ Box<ITV>::affine_image(const Variable var,
 
   Tmp_Interval_Type expr_value, temp0, temp1;
   expr_value.assign(expr.inhomogeneous_term());
-  for (dimension_type i = expr_space_dim; i-- > 0; ) {
-    const Coefficient& coeff = expr.coefficient(Variable(i));
-    if (coeff != 0) {
-      temp0.assign(coeff);
-      temp1.assign(seq[i]);
-      temp0.mul_assign(temp0, temp1);
-      expr_value.add_assign(expr_value, temp0);
-    }
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    temp0.assign(*i);
+    temp1.assign(seq[i.variable().id()]);
+    temp0.mul_assign(temp0, temp1);
+    expr_value.add_assign(expr_value, temp0);
   }
   if (denominator != 1) {
     temp0.assign(denominator);
@@ -2766,13 +2819,49 @@ Box<ITV>::affine_image(const Variable var,
 
 template <typename ITV>
 void
+Box<ITV>::affine_form_image(const Variable var,
+                            const Linear_Form<ITV>& lf) {
+
+  // Check that ITV has a floating point boundary type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<typename ITV::boundary_type>
+            ::is_exact, "Box<ITV>::affine_form_image(Variable, Linear_Form):"
+                        "ITV has not a floating point boundary type.");
+
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(var, lf)", "lf", lf);
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("affine_form_image(var, lf)", "var", var);
+
+  if (is_empty())
+    return;
+
+  // Intervalization of 'lf'.
+  ITV result = lf.inhomogeneous_term();
+  for (dimension_type i = 0; i < lf_space_dim; ++i) {
+    ITV current_addend = lf.coefficient(Variable(i));
+    const ITV& curr_int = seq[i];
+    current_addend *= curr_int;
+    result += current_addend;
+  }
+
+  seq[var.id()].assign(result);
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
 Box<ITV>::affine_preimage(const Variable var,
                           const Linear_Expression& expr,
                           Coefficient_traits::const_reference
                           denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   const dimension_type x_space_dim = space_dimension();
@@ -2792,14 +2881,12 @@ Box<ITV>::affine_preimage(const Variable var,
   if (!invertible) {
     Tmp_Interval_Type expr_value, temp0, temp1;
     expr_value.assign(expr.inhomogeneous_term());
-    for (dimension_type i = expr_space_dim; i-- > 0; ) {
-      const Coefficient& coeff = expr.coefficient(Variable(i));
-      if (coeff != 0) {
-	temp0.assign(coeff);
-	temp1.assign(seq[i]);
-	temp0.mul_assign(temp0, temp1);
-	expr_value.add_assign(expr_value, temp0);
-      }
+    for (Linear_Expression::const_iterator i = expr.begin(),
+            i_end = expr.end(); i != i_end; ++i) {
+      temp0.assign(*i);
+      temp1.assign(seq[i.variable().id()]);
+      temp0.mul_assign(temp0, temp1);
+      expr_value.add_assign(expr_value, temp0);
     }
     if (denominator != 1) {
       temp0.assign(denominator);
@@ -2834,7 +2921,7 @@ Box<ITV>
                        Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
   // Dimension-compatibility checks.
   const dimension_type space_dim = space_dimension();
@@ -2891,65 +2978,71 @@ Box<ITV>
     // can only use the non-relational constraints, we find the
     // maximum/minimum values `ub_expr' and `lb_expr' obtain with the
     // box and use these instead of the `ub-expr' and `lb-expr'.
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
     bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
     bool min_included;
     ITV& seq_v = seq[var.id()];
-    if (maximize(ub_expr, max_num, max_den, max_included)) {
-      if (minimize(lb_expr, min_num, min_den, min_included)) {
+    if (maximize(ub_expr, max_numer, max_denom, max_included)) {
+      if (minimize(lb_expr, min_numer, min_denom, min_included)) {
 	// The `ub_expr' has a maximum value and the `lb_expr'
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
-	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q1);
-	PPL_DIRTY_TEMP0(mpq_class, q2);
-	assign_r(q1.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q1.get_den(), min_den, ROUND_NOT_NEEDED);
+	min_denom *= denominator;
+	PPL_DIRTY_TEMP(mpq_class, q1);
+	PPL_DIRTY_TEMP(mpq_class, q2);
+	assign_r(q1.get_num(), min_numer, ROUND_NOT_NEEDED);
+	assign_r(q1.get_den(), min_denom, ROUND_NOT_NEEDED);
 	q1.canonicalize();
 	// Now make the maximum of lb_expr the upper bound.  If the
 	// maximum is not at a box point, then inequality is strict.
-	max_den *= denominator;
-	assign_r(q2.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q2.get_den(), max_den, ROUND_NOT_NEEDED);
+	max_denom *= denominator;
+	assign_r(q2.get_num(), max_numer, ROUND_NOT_NEEDED);
+	assign_r(q2.get_den(), max_denom, ROUND_NOT_NEEDED);
 	q2.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q1),
-		      i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q2));
-	else
-	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q2),
-		       i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q1));
+
+        if (denominator > 0) {
+          Relation_Symbol gr = min_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          Relation_Symbol lr = max_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_v.build(i_constraint(gr, q1), i_constraint(lr, q2));
+        }
+	else {
+          Relation_Symbol gr = max_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          Relation_Symbol lr = min_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_v.build(i_constraint(gr, q2), i_constraint(lr, q1));
+        }
       }
       else {
 	// The `ub_expr' has a maximum value but the `lb_expr'
 	// has no minimum value for the box.
 	// Set the bounds for `var' using the maximum for `lb_expr'.
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	max_den *= denominator;
-	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
+	PPL_DIRTY_TEMP(mpq_class, q);
+	max_denom *= denominator;
+	assign_r(q.get_num(), max_numer, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), max_denom, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q));
-	else
-	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
+        Relation_Symbol rel = (denominator > 0)
+          ? (max_included ? LESS_OR_EQUAL : LESS_THAN)
+          : (max_included ? GREATER_OR_EQUAL : GREATER_THAN);
+        seq_v.build(i_constraint(rel, q));
       }
     }
-    else if (minimize(lb_expr, min_num, min_den, min_included)) {
+    else if (minimize(lb_expr, min_numer, min_denom, min_included)) {
 	// The `ub_expr' has no maximum value but the `lb_expr'
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
-	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
+	min_denom *= denominator;
+	PPL_DIRTY_TEMP(mpq_class, q);
+	assign_r(q.get_num(), min_numer, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), min_denom, ROUND_NOT_NEEDED);
 	q.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
-	else
-	  seq_v.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q));
+
+        Relation_Symbol rel = (denominator > 0)
+          ? (min_included ? GREATER_OR_EQUAL : GREATER_THAN)
+          : (min_included ? LESS_OR_EQUAL : LESS_THAN);
+        seq_v.build(i_constraint(rel, q));
     }
     else {
       // The `ub_expr' has no maximum value and the `lb_expr'
@@ -2971,7 +3064,7 @@ Box<ITV>
   // The denominator cannot be zero.
   const dimension_type space_dim = space_dimension();
   if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // `var' should be one of the dimensions of the polyhedron.
@@ -2983,11 +3076,11 @@ Box<ITV>
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "ub", ub_expr);
 
   // Any preimage of an empty polyhedron is empty.
@@ -3019,30 +3112,30 @@ Box<ITV>
     // for `var' before making this interval unbounded.
     bool open_lower = seq_var.lower_is_open();
     bool unbounded_lower = seq_var.lower_is_boundary_infinity();
-    PPL_DIRTY_TEMP0(mpq_class, q_seq_var_lower);
-    PPL_DIRTY_TEMP(Coefficient, num_lower);
-    PPL_DIRTY_TEMP(Coefficient, den_lower);
+    PPL_DIRTY_TEMP(mpq_class, q_seq_var_lower);
+    PPL_DIRTY_TEMP(Coefficient, numer_lower);
+    PPL_DIRTY_TEMP(Coefficient, denom_lower);
     if (!unbounded_lower) {
       assign_r(q_seq_var_lower, seq_var.lower(), ROUND_NOT_NEEDED);
-      assign_r(num_lower, q_seq_var_lower.get_num(), ROUND_NOT_NEEDED);
-      assign_r(den_lower, q_seq_var_lower.get_den(), ROUND_NOT_NEEDED);
+      assign_r(numer_lower, q_seq_var_lower.get_num(), ROUND_NOT_NEEDED);
+      assign_r(denom_lower, q_seq_var_lower.get_den(), ROUND_NOT_NEEDED);
       if (negative_denom)
-        neg_assign(den_lower, den_lower);
-      num_lower *= pos_denominator;
+        neg_assign(denom_lower, denom_lower);
+      numer_lower *= pos_denominator;
       seq_var.lower_extend();
     }
     bool open_upper = seq_var.upper_is_open();
     bool unbounded_upper = seq_var.upper_is_boundary_infinity();
-    PPL_DIRTY_TEMP0(mpq_class, q_seq_var_upper);
-    PPL_DIRTY_TEMP(Coefficient, num_upper);
-    PPL_DIRTY_TEMP(Coefficient, den_upper);
+    PPL_DIRTY_TEMP(mpq_class, q_seq_var_upper);
+    PPL_DIRTY_TEMP(Coefficient, numer_upper);
+    PPL_DIRTY_TEMP(Coefficient, denom_upper);
     if (!unbounded_upper) {
       assign_r(q_seq_var_upper, seq_var.upper(), ROUND_NOT_NEEDED);
-      assign_r(num_upper, q_seq_var_upper.get_num(), ROUND_NOT_NEEDED);
-      assign_r(den_upper, q_seq_var_upper.get_den(), ROUND_NOT_NEEDED);
+      assign_r(numer_upper, q_seq_var_upper.get_num(), ROUND_NOT_NEEDED);
+      assign_r(denom_upper, q_seq_var_upper.get_den(), ROUND_NOT_NEEDED);
       if (negative_denom)
-        neg_assign(den_upper, den_upper);
-      num_upper *= pos_denominator;
+        neg_assign(denom_upper, denom_upper);
+      numer_upper *= pos_denominator;
       seq_var.upper_extend();
     }
 
@@ -3053,25 +3146,28 @@ Box<ITV>
       Linear_Expression revised_lb_expr(ub_expr);
       revised_lb_expr -= ub_var_coeff * var;
       PPL_DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_lower);
+      neg_assign(d, denom_lower);
       revised_lb_expr *= d;
-      revised_lb_expr += num_lower;
+      revised_lb_expr += numer_lower;
 
       // Find the minimum value for the revised lower bound expression
       // and use this to refine the appropriate bound.
       bool included;
-      PPL_DIRTY_TEMP(Coefficient, den);
-      if (minimize(revised_lb_expr, num_lower, den, included)) {
-        den_lower *= (den * ub_var_coeff);
-        PPL_DIRTY_TEMP0(mpq_class, q);
-        assign_r(q.get_num(), num_lower, ROUND_NOT_NEEDED);
-        assign_r(q.get_den(), den_lower, ROUND_NOT_NEEDED);
+      PPL_DIRTY_TEMP(Coefficient, denom);
+      if (minimize(revised_lb_expr, numer_lower, denom, included)) {
+        denom_lower *= (denom * ub_var_coeff);
+        PPL_DIRTY_TEMP(mpq_class, q);
+        assign_r(q.get_num(), numer_lower, ROUND_NOT_NEEDED);
+        assign_r(q.get_den(), denom_lower, ROUND_NOT_NEEDED);
         q.canonicalize();
-        open_lower |= !included;
+        if (!included)
+          open_lower = true;
+        Relation_Symbol rel;
         if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.add_constraint(i_constraint(open_lower ? GREATER_THAN : GREATER_OR_EQUAL, q));
+          rel = open_lower ? GREATER_THAN : GREATER_OR_EQUAL;
         else
-          seq_var.add_constraint(i_constraint(open_lower ? LESS_THAN : LESS_OR_EQUAL, q));
+          rel = open_lower ? LESS_THAN : LESS_OR_EQUAL;
+        seq_var.add_constraint(i_constraint(rel, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -3086,25 +3182,28 @@ Box<ITV>
       Linear_Expression revised_ub_expr(lb_expr);
       revised_ub_expr -= lb_var_coeff * var;
       PPL_DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_upper);
+      neg_assign(d, denom_upper);
       revised_ub_expr *= d;
-      revised_ub_expr += num_upper;
+      revised_ub_expr += numer_upper;
 
       // Find the maximum value for the revised upper bound expression
       // and use this to refine the appropriate bound.
       bool included;
-      PPL_DIRTY_TEMP(Coefficient, den);
-      if (maximize(revised_ub_expr, num_upper, den, included)) {
-        den_upper *= (den * lb_var_coeff);
-        PPL_DIRTY_TEMP0(mpq_class, q);
-        assign_r(q.get_num(), num_upper, ROUND_NOT_NEEDED);
-        assign_r(q.get_den(), den_upper, ROUND_NOT_NEEDED);
+      PPL_DIRTY_TEMP(Coefficient, denom);
+      if (maximize(revised_ub_expr, numer_upper, denom, included)) {
+        denom_upper *= (denom * lb_var_coeff);
+        PPL_DIRTY_TEMP(mpq_class, q);
+        assign_r(q.get_num(), numer_upper, ROUND_NOT_NEEDED);
+        assign_r(q.get_den(), denom_upper, ROUND_NOT_NEEDED);
         q.canonicalize();
-        open_upper |= !included;
+        if (!included)
+          open_upper = true;
+        Relation_Symbol rel;
         if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.add_constraint(i_constraint(open_upper ? LESS_THAN : LESS_OR_EQUAL, q));
+          rel = open_upper ? LESS_THAN : LESS_OR_EQUAL;
         else
-          seq_var.add_constraint(i_constraint(open_upper ? GREATER_THAN : GREATER_OR_EQUAL, q));
+          rel = open_upper ? GREATER_THAN : GREATER_OR_EQUAL;
+        seq_var.add_constraint(i_constraint(rel, q));
         if (seq_var.is_empty()) {
           set_empty();
           return;
@@ -3134,7 +3233,7 @@ Box<ITV>
                            Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   const dimension_type space_dim = space_dimension();
@@ -3151,8 +3250,8 @@ Box<ITV>
 
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-		  "r is the disequality relation symbol");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   // First compute the affine image.
   affine_image(var, expr, denominator);
@@ -3185,7 +3284,8 @@ Box<ITV>
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   PPL_ASSERT(OK());
 }
@@ -3200,8 +3300,8 @@ Box<ITV>
 {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-			   "d == 0");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "d == 0");
 
   // Dimension-compatibility checks.
   const dimension_type space_dim = space_dimension();
@@ -3217,8 +3317,8 @@ Box<ITV>
 				 "v", var);
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is the disequality relation symbol");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   // Check whether the affine relation is indeed an affine function.
   if (relsym == EQUAL) {
@@ -3243,7 +3343,8 @@ Box<ITV>
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
 
   // Check whether the preimage of this affine relation can be easily
@@ -3256,7 +3357,8 @@ Box<ITV>
     neg_assign(inverse_denominator, var_coefficient);
     Relation_Symbol inverse_relsym
       = (sgn(denominator) == sgn(inverse_denominator))
-      ? relsym : reversed_relsym;
+      ? relsym
+      : reversed_relsym;
     generalized_affine_image(var, inverse_relsym, inverse_expr,
 			     inverse_denominator);
     return;
@@ -3269,63 +3371,61 @@ Box<ITV>
   // First, compute the maximum and minimum value reached by
   // `denominator*var' on the box as we need to use non-relational
   // expressions.
-  PPL_DIRTY_TEMP(Coefficient, max_num);
-  PPL_DIRTY_TEMP(Coefficient, max_den);
+  PPL_DIRTY_TEMP(Coefficient, max_numer);
+  PPL_DIRTY_TEMP(Coefficient, max_denom);
   bool max_included;
-  bool bound_above = maximize(denominator*var, max_num, max_den, max_included);
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  bool bound_above = maximize(denominator*var, max_numer, max_denom, max_included);
+  PPL_DIRTY_TEMP(Coefficient, min_numer);
+  PPL_DIRTY_TEMP(Coefficient, min_denom);
   bool min_included;
-  bool bound_below = minimize(denominator*var, min_num, min_den, min_included);
+  bool bound_below = minimize(denominator*var, min_numer, min_denom, min_included);
   // Use the correct relation symbol
   const Relation_Symbol corrected_relsym
     = (denominator > 0) ? relsym : reversed_relsym;
   // Revise the expression to take into account the denominator of the
-  // maximum/minimim value for `var'.
-  PPL_DIRTY_TEMP(Linear_Expression, revised_expr);
-  dimension_type dim = space_dim;
+  // maximum/minimum value for `var'.
+  Linear_Expression revised_expr;
   PPL_DIRTY_TEMP_COEFFICIENT(d);
   if (corrected_relsym == LESS_THAN || corrected_relsym == LESS_OR_EQUAL) {
     if (bound_below) {
-      for ( ; dim > 0; dim--) {
-        d = min_den * expr.coefficient(Variable(dim - 1));
-        revised_expr += d * Variable(dim - 1);
-      }
+      revised_expr = expr;
+      revised_expr.set_inhomogeneous_term(Coefficient_zero());
+      revised_expr *= d;
     }
   }
   else {
     if (bound_above) {
-      for ( ; dim > 0; dim--) {
-        d = max_den * expr.coefficient(Variable(dim - 1));
-        revised_expr += d * Variable(dim - 1);
-      }
+      revised_expr = expr;
+      revised_expr.set_inhomogeneous_term(Coefficient_zero());
+      revised_expr *= max_denom;
     }
   }
 
   switch (corrected_relsym) {
   case LESS_THAN:
     if (bound_below)
-      refine_with_constraint(min_num < revised_expr);
+      refine_with_constraint(min_numer < revised_expr);
     break;
   case LESS_OR_EQUAL:
     if (bound_below)
       (min_included)
-        ? refine_with_constraint(min_num <= revised_expr)
-        : refine_with_constraint(min_num < revised_expr);
+        ? refine_with_constraint(min_numer <= revised_expr)
+        : refine_with_constraint(min_numer < revised_expr);
     break;
   case GREATER_OR_EQUAL:
     if (bound_above)
       (max_included)
-        ? refine_with_constraint(max_num >= revised_expr)
-        : refine_with_constraint(max_num > revised_expr);
+        ? refine_with_constraint(max_numer >= revised_expr)
+        : refine_with_constraint(max_numer > revised_expr);
     break;
   case GREATER_THAN:
     if (bound_above)
-      refine_with_constraint(max_num > revised_expr);
+      refine_with_constraint(max_numer > revised_expr);
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   // If the shrunk box is empty, its preimage is empty too.
   if (is_empty())
@@ -3358,54 +3458,48 @@ Box<ITV>
 
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol");
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   // Any image of an empty box is empty.
   if (marked_empty())
     return;
 
   // Compute the maximum and minimum value reached by the rhs on the box.
-  PPL_DIRTY_TEMP(Coefficient, max_num);
-  PPL_DIRTY_TEMP(Coefficient, max_den);
+  PPL_DIRTY_TEMP(Coefficient, max_numer);
+  PPL_DIRTY_TEMP(Coefficient, max_denom);
   bool max_included;
-  bool max_rhs = maximize(rhs, max_num, max_den, max_included);
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
+  bool max_rhs = maximize(rhs, max_numer, max_denom, max_included);
+  PPL_DIRTY_TEMP(Coefficient, min_numer);
+  PPL_DIRTY_TEMP(Coefficient, min_denom);
   bool min_included;
-  bool min_rhs = minimize(rhs, min_num, min_den, min_included);
+  bool min_rhs = minimize(rhs, min_numer, min_denom, min_included);
 
   // Check whether there is 0, 1 or more than one variable in the lhs
   // and record the variable with the highest dimension; set the box
   // intervals to be unbounded for all other dimensions with non-zero
   // coefficients in the lhs.
   bool has_var = false;
-  bool has_more_than_one_var = false;
-  // Initialization is just to avoid an annoying warning.
-  dimension_type has_var_id = 0;
-  for ( ; lhs_space_dim > 0; --lhs_space_dim)
-    if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0) {
-      if (has_var) {
-        ITV& seq_i = seq[lhs_space_dim - 1];
-        seq_i.assign(UNIVERSE);
-        has_more_than_one_var = true;
-      }
-      else {
-        has_var = true;
-        has_var_id = lhs_space_dim - 1;
-      }
+  dimension_type has_var_id = lhs.last_nonzero();
+
+  if (has_var_id != 0) {
+    has_var = true;
+    --has_var_id;
+    dimension_type other_var = lhs.first_nonzero(1, has_var_id + 1);
+    --other_var;
+    if (other_var != has_var_id) {
+      // There is more than one dimension with non-zero coefficient, so
+      // we cannot have any information about the dimensions in the lhs.
+      ITV& seq_var = seq[has_var_id];
+      seq_var.assign(UNIVERSE);
+      // Since all but the highest dimension with non-zero coefficient
+      // in the lhs have been set unbounded, it remains to set the
+      // highest dimension in the lhs unbounded.
+      ITV& seq_i = seq[other_var];
+      seq_i.assign(UNIVERSE);
+      PPL_ASSERT(OK());
+      return;
     }
-
-  if (has_more_than_one_var) {
-    // There is more than one dimension with non-zero coefficient, so
-    // we cannot have any information about the dimensions in the lhs.
-    // Since all but the highest dimension with non-zero coefficient
-    // in the lhs have been set unbounded, it remains to set the
-    // highest dimension in the lhs unbounded.
-    ITV& seq_var = seq[has_var_id];
-    seq_var.assign(UNIVERSE);
-    PPL_ASSERT(OK());
-    return;
   }
 
   if (has_var) {
@@ -3416,37 +3510,41 @@ Box<ITV>
     // expression.
     const Coefficient& inhomo = lhs.inhomogeneous_term();
     const Coefficient& coeff = lhs.coefficient(Variable(has_var_id));
-    PPL_DIRTY_TEMP0(mpq_class, q_max);
-    PPL_DIRTY_TEMP0(mpq_class, q_min);
+    PPL_DIRTY_TEMP(mpq_class, q_max);
+    PPL_DIRTY_TEMP(mpq_class, q_min);
     if (max_rhs) {
-      max_num -= inhomo * max_den;
-      max_den *= coeff;
-      assign_r(q_max.get_num(), max_num, ROUND_NOT_NEEDED);
-      assign_r(q_max.get_den(), max_den, ROUND_NOT_NEEDED);
+      max_numer -= inhomo * max_denom;
+      max_denom *= coeff;
+      assign_r(q_max.get_num(), max_numer, ROUND_NOT_NEEDED);
+      assign_r(q_max.get_den(), max_denom, ROUND_NOT_NEEDED);
       q_max.canonicalize();
     }
     if (min_rhs) {
-      min_num -= inhomo * min_den;
-      min_den *= coeff;
-      assign_r(q_min.get_num(), min_num, ROUND_NOT_NEEDED);
-      assign_r(q_min.get_den(), min_den, ROUND_NOT_NEEDED);
+      min_numer -= inhomo * min_denom;
+      min_denom *= coeff;
+      assign_r(q_min.get_num(), min_numer, ROUND_NOT_NEEDED);
+      assign_r(q_min.get_den(), min_denom, ROUND_NOT_NEEDED);
       q_min.canonicalize();
     }
 
     // The choice as to which bounds should be set depends on the sign
     // of the coefficient of the dimension `has_var_id' in the lhs.
     if (coeff > 0)
-      // The coefficient of the dimension in the lhs is +ve.
+      // The coefficient of the dimension in the lhs is positive.
       switch (relsym) {
       case LESS_OR_EQUAL:
-        max_rhs
-          ? seq_var.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
+        if (max_rhs) {
+          Relation_Symbol rel = max_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_var.build(i_constraint(rel, q_max));
+        }
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        max_rhs
-          ? seq_var.build(i_constraint(LESS_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
+        if (max_rhs)
+          seq_var.build(i_constraint(LESS_THAN, q_max));
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
 	{
@@ -3460,31 +3558,40 @@ Box<ITV>
           break;
 	}
       case GREATER_OR_EQUAL:
-        min_rhs
-          ? seq_var.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
+        if (min_rhs) {
+          Relation_Symbol rel = min_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          seq_var.build(i_constraint(rel, q_min));
+        }
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        min_rhs
-          ? seq_var.build(i_constraint(GREATER_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
+        if (min_rhs)
+          seq_var.build(i_constraint(GREATER_THAN, q_min));
+        else
+          seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
     else
-      // The coefficient of the dimension in the lhs is -ve.
+      // The coefficient of the dimension in the lhs is negative.
       switch (relsym) {
       case GREATER_OR_EQUAL:
-        min_rhs
-          ? seq_var.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
+        if (min_rhs) {
+          Relation_Symbol rel = min_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_var.build(i_constraint(rel, q_min));
+        }
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case GREATER_THAN:
-        min_rhs
-          ? seq_var.build(i_constraint(LESS_THAN, q_min))
-	  : seq_var.assign(UNIVERSE);
+        if (min_rhs)
+          seq_var.build(i_constraint(LESS_THAN, q_min));
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case EQUAL:
 	{
@@ -3498,18 +3605,23 @@ Box<ITV>
           break;
 	}
       case LESS_OR_EQUAL:
-        max_rhs
-	  ? seq_var.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
+        if (max_rhs) {
+          Relation_Symbol rel = max_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          seq_var.build(i_constraint(rel, q_max));
+        }
+        else
+          seq_var.assign(UNIVERSE);
         break;
       case LESS_THAN:
-        max_rhs
-          ? seq_var.build(i_constraint(GREATER_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
+        if (max_rhs)
+          seq_var.build(i_constraint(GREATER_THAN, q_max));
+        else
+          seq_var.assign(UNIVERSE);
         break;
       default:
         // The NOT_EQUAL case has been already dealt with.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
   }
 
@@ -3535,7 +3647,8 @@ Box<ITV>
       break;
     default:
       // The NOT_EQUAL case has been already dealt with.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
   PPL_ASSERT(OK());
@@ -3563,8 +3676,8 @@ Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
 
   // The relation symbol cannot be a disequality.
   if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol");
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   // Any image of an empty box is empty.
   if (marked_empty())
@@ -3575,14 +3688,14 @@ Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
   // to generalized_affine_image/3.
   Linear_Expression revised_lhs = lhs;
   Linear_Expression revised_rhs = rhs;
-  for (dimension_type d = lhs_space_dim; d-- > 0; ) {
-    const Variable& var = Variable(d);
-    if (lhs.coefficient(var) != 0) {
-      PPL_DIRTY_TEMP(Coefficient, temp);
-      temp = rhs.coefficient(var) + lhs.coefficient(var);
-      revised_rhs -= temp * var;
-      revised_lhs -= temp * var;
-    }
+  for (Linear_Expression::const_iterator i = lhs.begin(),
+         i_end = lhs.end(); i != i_end; ++i) {
+    const Variable var = i.variable();
+    PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+    tmp = *i;
+    tmp += rhs.coefficient(var);
+    sub_mul_assign(revised_rhs, tmp, var);
+    sub_mul_assign(revised_lhs, tmp, var);
   }
   generalized_affine_image(revised_lhs, relsym, revised_rhs);
   PPL_ASSERT(OK());
@@ -3637,9 +3750,8 @@ template <typename ITV>
 void
 Box<ITV>::get_limiting_box(const Constraint_System& cs,
                            Box& limiting_box) const {
-  const dimension_type cs_space_dim = cs.space_dimension();
   // Private method: the caller has to ensure the following.
-  PPL_ASSERT(cs_space_dim <= space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
 
   for (Constraint_System::const_iterator cs_i = cs.begin(),
          cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -3647,7 +3759,7 @@ Box<ITV>::get_limiting_box(const Constraint_System& cs,
     dimension_type c_num_vars = 0;
     dimension_type c_only_var = 0;
     // Constraints that are not interval constraints are ignored.
-    if (!extract_interval_constraint(c, cs_space_dim, c_num_vars, c_only_var))
+    if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
       continue;
     // Trivial constraints are ignored.
     if (c_num_vars != 0) {
@@ -3685,14 +3797,8 @@ Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
   if (space_dim == 0)
     return;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Box x_copy = *this;
-    const Box y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If `*this' is empty, since `*this' contains `y', `y' is empty too.
   if (marked_empty())
@@ -3724,14 +3830,8 @@ Box<ITV>::CC76_narrowing_assign(const T& y) {
   if (space_dim != y.space_dimension())
     throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `*this' is contained in or equal to `y'.
-    const Box x_copy = *this;
-    const Box y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
-  }
-#endif
+  // Assume `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
   // If both boxes are zero-dimensional,
   // since `y' contains `*this', we simply return `*this'.
@@ -3765,35 +3865,37 @@ Box<ITV>::CC76_narrowing_assign(const T& y) {
 template <typename ITV>
 Constraint_System
 Box<ITV>::constraints() const {
-  Constraint_System cs;
   const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cs = Constraint_System::zero_dim_empty();
+    return cs;
   }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) >= n);
-	else
-	  cs.insert(d*Variable(k) > n);
-      }
-      if (get_upper_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) <= n);
-	else
-	  cs.insert(d*Variable(k) < n);
-      }
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
+
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k >= n);
+      else
+        cs.insert(d * v_k > n);
+    }
+    if (has_upper_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k <= n);
+      else
+        cs.insert(d * v_k < n);
     }
   }
   return cs;
@@ -3802,42 +3904,44 @@ Box<ITV>::constraints() const {
 template <typename ITV>
 Constraint_System
 Box<ITV>::minimized_constraints() const {
-  Constraint_System cs;
   const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cs = Constraint_System::zero_dim_empty();
+    return cs;
   }
+
   // Make sure emptiness is detected.
-  else if (is_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
+  if (is_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d)) {
-	if (closed)
-	  // Make sure equality constraints are detected.
-	  if (seq[k].is_singleton()) {
-	    cs.insert(d*Variable(k) == n);
-	    continue;
-	  }
-	  else
-	    cs.insert(d*Variable(k) >= n);
-	else
-	  cs.insert(d*Variable(k) > n);
-      }
-      if (get_upper_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) <= n);
-	else
-	  cs.insert(d*Variable(k) < n);
-      }
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed)) {
+      if (closed)
+        // Make sure equality constraints are detected.
+        if (seq[k].is_singleton()) {
+          cs.insert(d * v_k == n);
+          continue;
+        }
+        else
+          cs.insert(d * v_k >= n);
+      else
+        cs.insert(d * v_k > n);
+    }
+    if (has_upper_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k <= n);
+      else
+        cs.insert(d * v_k < n);
     }
   }
   return cs;
@@ -3846,29 +3950,30 @@ Box<ITV>::minimized_constraints() const {
 template <typename ITV>
 Congruence_System
 Box<ITV>::congruences() const {
-  Congruence_System cgs;
   const dimension_type space_dim = space_dimension();
+  Congruence_System cgs(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cgs = Congruence_System::zero_dim_empty();
+    return cgs;
   }
+
   // Make sure emptiness is detected.
-  else if (is_empty())
-    cgs.insert((0*Variable(space_dim-1) %= -1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) %= 0);
+  if (is_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
+  }
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d) && closed)
-	  // Make sure equality congruences are detected.
-	  if (seq[k].is_singleton())
-	    cgs.insert((d*Variable(k) %= n) / 0);
-    }
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed) && closed)
+      // Make sure equality congruences are detected.
+      if (seq[k].is_singleton())
+        cgs.insert((d * v_k %= n) / 0);
   }
   return cgs;
 }
@@ -4034,44 +4139,48 @@ Box<ITV>::throw_constraint_incompatible(const char* method) {
 template <typename ITV>
 void
 Box<ITV>::throw_expression_too_complex(const char* method,
-                                       const Linear_Expression& e) {
+                                       const Linear_Expression& le) {
   using namespace IO_Operators;
   std::ostringstream s;
   s << "PPL::Box::" << method << ":" << std::endl
-    << e << " is too complex.";
+    << le << " is too complex.";
   throw std::invalid_argument(s.str());
 }
 
 template <typename ITV>
 void
 Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const char* name_row,
-                                       const Linear_Expression& e) const {
+                                       const char* le_name,
+                                       const Linear_Expression& le) const {
   std::ostringstream s;
   s << "PPL::Box::" << method << ":" << std::endl
     << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << e.space_dimension() << ".";
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
 template <typename ITV>
+template <typename C>
 void
-Box<ITV>::throw_generic(const char* method, const char* reason) {
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const char* lf_name,
+                                       const Linear_Form<C>& lf) const {
   std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << reason;
+  s << "PPL::Box::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
 template <typename ITV>
 void
-Box<ITV>::throw_space_dimension_overflow(const char* method,
-                                         const char* reason) {
+Box<ITV>::throw_invalid_argument(const char* method, const char* reason) {
   std::ostringstream s;
   s << "PPL::Box::" << method << ":" << std::endl
     << reason;
-  throw std::length_error(s.str());
+  throw std::invalid_argument(s.str());
 }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
diff --git a/src/Box.types.hh b/src/Box.types.hh
index 8742d98..298b6cd 100644
--- a/src/Box.types.hh
+++ b/src/Box.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -18,6 +18,8 @@ namespace Parma_Polyhedra_Library {
 template <typename Interval>
 class Box;
 
+class Box_Helpers;
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Box_types_hh)
diff --git a/src/Box_Status.idefs.hh b/src/Box_Status.idefs.hh
index c7cc0f1..c0dc5e6 100644
--- a/src/Box_Status.idefs.hh
+++ b/src/Box_Status.idefs.hh
@@ -1,6 +1,6 @@
 /* Box<ITV>::Status class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Box_Status_idefs_hh
 #define PPL_Box_Status_idefs_hh 1
 
 #ifndef PPL_IN_Box_CLASS
-#error "Do not include Box_Status.idefs.hh directly; use Box.defs.hh instead."
+#error "Do not include Box_Status.idefs.hh directly; use Box.defs.hh instead"
 #endif
 
 //! A conjunctive assertion about a Box<ITV> object.
diff --git a/src/Box_Status.inlines.hh b/src/Box_Status.inlines.hh
index 58c9b68..0153073 100644
--- a/src/Box_Status.inlines.hh
+++ b/src/Box_Status.inlines.hh
@@ -1,6 +1,6 @@
 /* Box<ITV>::Status class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Box_Status_inlines_hh
 #define PPL_Box_Status_inlines_hh 1
@@ -62,7 +62,7 @@ Box<ITV>::Status::test_all(flags_t mask) const {
 template <typename ITV>
 inline bool
 Box<ITV>::Status::test_any(flags_t mask) const {
-  return flags & mask;
+  return (flags & mask) != 0;
 }
 
 template <typename ITV>
@@ -160,7 +160,7 @@ const std::string empty = "EM";
 const std::string universe = "UN";
 const char yes = '+';
 const char no = '-';
-const char sep = ' ';
+const char separator = ' ';
 
 /*! \relates Parma_Polyhedra_Library::Box::Status
   Reads a keyword and its associated on/off flag from \p s.
@@ -188,9 +188,9 @@ template <typename ITV>
 void
 Box<ITV>::Status::ascii_dump(std::ostream& s) const {
   using namespace Implementation::Boxes;
-  s << (test_empty_up_to_date() ? yes : no) << empty_up_to_date << sep
-    << (test_empty() ? yes : no) << empty << sep
-    << (test_universe() ? yes : no) << universe << sep;
+  s << (test_empty_up_to_date() ? yes : no) << empty_up_to_date << separator
+    << (test_empty() ? yes : no) << empty << separator
+    << (test_universe() ? yes : no) << universe << separator;
 }
 
 PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(ITV, Box<ITV>::Status)
diff --git a/src/COPYING.cc.dist b/src/COPYING.cc.dist
index 04994b1..f341b8b 100644
--- a/src/COPYING.cc.dist
+++ b/src/COPYING.cc.dist
@@ -1,4 +1,4 @@
-extern const char* const COPYING_array[] = {
+extern const char* const COPYING_array[675] = {
   "                    GNU GENERAL PUBLIC LICENSE",
   "                       Version 3, 29 June 2007",
   "",
diff --git a/src/COPYING.hh.dist b/src/COPYING.hh.dist
new file mode 100644
index 0000000..ed4cdbc
--- /dev/null
+++ b/src/COPYING.hh.dist
@@ -0,0 +1,4 @@
+#ifndef PPL_COPYING_hh
+#define PPL_COPYING_hh 1
+extern const char* const COPYING_array[675];
+#endif // !defined(PPL_COPYING_hh)
diff --git a/src/CO_Tree.cc b/src/CO_Tree.cc
new file mode 100644
index 0000000..1f57df3
--- /dev/null
+++ b/src/CO_Tree.cc
@@ -0,0 +1,1305 @@
+/* CO_Tree class implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "CO_Tree.defs.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+PPL::dimension_type
+PPL::CO_Tree::external_memory_in_bytes() const {
+  dimension_type memory_size = 0;
+  if (reserved_size != 0) {
+    // Add the size of data[]
+    memory_size += (reserved_size + 1)*sizeof(data[0]);
+    // Add the size of indexes[]
+    memory_size += (reserved_size + 2)*sizeof(indexes[0]);
+    for (const_iterator itr = begin(), itr_end = end(); itr != itr_end; ++itr)
+      memory_size += PPL::external_memory_in_bytes(*itr);
+  }
+  return memory_size;
+}
+
+PPL::CO_Tree::iterator
+PPL::CO_Tree::insert(iterator itr, dimension_type key1) {
+  PPL_ASSERT(key1 != unused_index);
+
+  if (empty()) {
+    insert_in_empty_tree(key1, Coefficient_zero());
+    return iterator(*this);
+  }
+
+  if (itr == end())
+    return insert(key1);
+
+  iterator candidate1 = bisect_near(itr, key1);
+
+  if (key1 == candidate1.index())
+    return candidate1;
+
+  dimension_type candidate2_index = dfs_index(candidate1);
+
+  if (key1 < candidate1.index()) {
+    --candidate2_index;
+    while (indexes[candidate2_index] == unused_index)
+      --candidate2_index;
+  } else {
+    ++candidate2_index;
+    while (indexes[candidate2_index] == unused_index)
+      ++candidate2_index;
+  }
+
+  tree_iterator candidate1_node(candidate1, *this);
+
+  PPL_ASSERT(candidate2_index <= reserved_size + 1);
+
+  if (candidate2_index == 0 || candidate2_index > reserved_size)
+    // Use candidate1
+    return iterator(insert_precise(key1, Coefficient_zero(),
+                                   candidate1_node));
+
+  tree_iterator candidate2_node(*this, candidate2_index);
+
+  // Adjacent nodes in an in-order visit of a tree always have different
+  // heights. This fact can be easily proven by induction on the tree's
+  // height, using the definition of the in-order layout.
+  PPL_ASSERT(candidate1_node.get_offset() != candidate2_node.get_offset());
+
+  if (candidate1_node.get_offset() < candidate2_node.get_offset()) {
+    PPL_ASSERT(candidate1_node.depth() > candidate2_node.depth());
+    // candidate1_node is deeper in the tree than candidate2_node, so use
+    // candidate1_node.
+    return iterator(insert_precise(key1, Coefficient_zero(),
+                                   candidate1_node));
+  } else {
+    PPL_ASSERT(candidate1_node.depth() < candidate2_node.depth());
+    // candidate2_node is deeper in the tree than candidate1_node, so use
+    // candidate2_node.
+    return iterator(insert_precise(key1, Coefficient_zero(),
+                                    candidate2_node));
+  }
+}
+
+PPL::CO_Tree::iterator
+PPL::CO_Tree::insert(iterator itr, dimension_type key1,
+                     data_type_const_reference data1) {
+  PPL_ASSERT(key1 != unused_index);
+
+  if (empty()) {
+    insert_in_empty_tree(key1, data1);
+    return iterator(*this);
+  }
+
+  if (itr == end())
+    return insert(key1, data1);
+
+  iterator candidate1 = bisect_near(itr, key1);
+
+  if (key1 == candidate1.index()) {
+    *candidate1 = data1;
+    return candidate1;
+  }
+
+  dimension_type candidate2_index = dfs_index(candidate1);
+
+  if (key1 < candidate1.index()) {
+    --candidate2_index;
+    while (indexes[candidate2_index] == unused_index)
+      --candidate2_index;
+  } else {
+    ++candidate2_index;
+    while (indexes[candidate2_index] == unused_index)
+      ++candidate2_index;
+  }
+
+  tree_iterator candidate1_node(candidate1, *this);
+
+  if (candidate2_index == 0 || candidate2_index > reserved_size)
+    // Use candidate1
+    return iterator(insert_precise(key1, data1, candidate1_node));
+
+  tree_iterator candidate2_node(*this, candidate2_index);
+
+  // Adjacent nodes in an in-order visit of a tree always have different
+  // heights. This fact can be easily proven by induction on the tree's
+  // height, using the definition of the in-order layout.
+  PPL_ASSERT(candidate1_node.get_offset() != candidate2_node.get_offset());
+
+  if (candidate1_node.get_offset() < candidate2_node.get_offset()) {
+    PPL_ASSERT(candidate1_node.depth() > candidate2_node.depth());
+    // candidate1_node is deeper in the tree than candidate2_node, so
+    // use candidate1_node.
+    return iterator(insert_precise(key1, data1, candidate1_node));
+  } else {
+    PPL_ASSERT(candidate1_node.depth() < candidate2_node.depth());
+    // candidate2_node is deeper in the tree than candidate1_node, so
+    // use candidate2_node.
+    return iterator(insert_precise(key1, data1, candidate2_node));
+  }
+}
+
+void
+PPL::CO_Tree::erase_element_and_shift_left(dimension_type key) {
+  iterator itr = erase(key);
+  if (itr == end())
+    return;
+  dimension_type i = dfs_index(itr);
+  dimension_type* p = indexes + i;
+  dimension_type* p_end = indexes + (reserved_size + 1);
+  for ( ; p != p_end; ++p)
+    if (*p != unused_index)
+      --(*p);
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::CO_Tree::increase_keys_from(dimension_type key, dimension_type n) {
+  if (empty())
+    return;
+  dimension_type* p = indexes + reserved_size;
+  while (*p == unused_index)
+    --p;
+  while (p != indexes && *p >= key) {
+    *p += n;
+    --p;
+    while (*p == unused_index)
+      --p;
+  }
+  PPL_ASSERT(OK());
+}
+
+PPL::dimension_type
+PPL::CO_Tree::bisect_in(dimension_type first, dimension_type last,
+                   dimension_type key) const {
+  PPL_ASSERT(first != 0);
+  PPL_ASSERT(last <= reserved_size);
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(indexes[first] != unused_index);
+  PPL_ASSERT(indexes[last] != unused_index);
+
+  while (first < last) {
+    dimension_type half = (first + last) / 2;
+    dimension_type new_half = half;
+
+    while (indexes[new_half] == unused_index)
+      ++new_half;
+
+    if (indexes[new_half] == key)
+      return new_half;
+
+    if (indexes[new_half] > key) {
+
+      while (indexes[half] == unused_index)
+        --half;
+
+      last = half;
+
+    } else {
+
+      ++new_half;
+      while (indexes[new_half] == unused_index)
+        ++new_half;
+
+      first = new_half;
+    }
+  }
+
+  // It is important that last is returned instead of first, because first
+  // may have increased beyond last, even beyond the original value of last
+  // at the beginning of this method.
+  return last;
+}
+
+PPL::dimension_type
+PPL::CO_Tree::bisect_near(dimension_type hint, dimension_type key) const {
+  PPL_ASSERT(hint != 0);
+  PPL_ASSERT(hint <= reserved_size);
+  PPL_ASSERT(indexes[hint] != unused_index);
+
+  if (indexes[hint] == key)
+    return hint;
+
+  dimension_type new_hint;
+  dimension_type offset = 1;
+
+  if (indexes[hint] > key) {
+    // The searched element is before `hint'.
+
+    while (true) {
+
+      if (hint <= offset) {
+        // The searched element is in (0,hint).
+        new_hint = hint;
+        hint = 1;
+        // The searched element is in [hint,new_hint).
+        while (indexes[hint] == unused_index)
+          ++hint;
+        if (indexes[hint] >= key)
+          return hint;
+        // The searched element is in (hint,new_hint) and both indexes point
+        // to valid elements.
+        break;
+      } else
+        new_hint = hint - offset;
+
+      PPL_ASSERT(new_hint > 0);
+      PPL_ASSERT(new_hint <= reserved_size);
+
+      // Find the element at `new_hint' (or the first after it).
+      while (indexes[new_hint] == unused_index)
+        ++new_hint;
+
+      PPL_ASSERT(new_hint <= hint);
+
+      if (indexes[new_hint] == key)
+        return new_hint;
+      else
+        if (indexes[new_hint] < key) {
+          // The searched element is in (new_hint,hint)
+          using std::swap;
+          swap(hint, new_hint);
+          // The searched element is now in (hint,new_hint).
+          break;
+        }
+
+      hint = new_hint;
+      offset *= 2;
+    }
+
+  } else {
+    // The searched element is after `hint'.
+    while (true) {
+
+      if (hint + offset > reserved_size) {
+        // The searched element is in (hint,reserved_size+1).
+        new_hint = reserved_size;
+        // The searched element is in (hint,new_hint].
+        while (indexes[new_hint] == unused_index)
+          --new_hint;
+        if (indexes[new_hint] <= key)
+          return new_hint;
+        // The searched element is in (hint,new_hint) and both indexes point
+        // to valid elements.
+        break;
+      } else
+        new_hint = hint + offset;
+
+      PPL_ASSERT(new_hint > 0);
+      PPL_ASSERT(new_hint <= reserved_size);
+
+      // Find the element at `new_hint' (or the first after it).
+      while (indexes[new_hint] == unused_index)
+        --new_hint;
+
+      PPL_ASSERT(hint <= new_hint);
+
+      if (indexes[new_hint] == key)
+        return new_hint;
+      else
+        if (indexes[new_hint] > key)
+          // The searched element is in (hint,new_hint).
+          break;
+
+      hint = new_hint;
+      offset *= 2;
+    }
+  }
+  // The searched element is in (hint,new_hint).
+  PPL_ASSERT(hint > 0);
+  PPL_ASSERT(hint < new_hint);
+  PPL_ASSERT(new_hint <= reserved_size);
+  PPL_ASSERT(indexes[hint] != unused_index);
+  PPL_ASSERT(indexes[new_hint] != unused_index);
+
+  ++hint;
+  while (indexes[hint] == unused_index)
+    ++hint;
+
+  if (hint == new_hint)
+    return hint;
+
+  --new_hint;
+  while (indexes[new_hint] == unused_index)
+    --new_hint;
+
+  PPL_ASSERT(hint <= new_hint);
+  PPL_ASSERT(indexes[hint] != unused_index);
+  PPL_ASSERT(indexes[new_hint] != unused_index);
+
+  return bisect_in(hint, new_hint, key);
+}
+
+PPL::CO_Tree::tree_iterator
+PPL::CO_Tree::insert_precise(dimension_type key1,
+                             data_type_const_reference data1,
+                             tree_iterator itr) {
+  PPL_ASSERT(key1 != unused_index);
+  PPL_ASSERT(!empty());
+
+#ifndef NDEBUG
+  tree_iterator itr2(*this);
+  itr2.go_down_searching_key(key1);
+  PPL_ASSERT(itr == itr2);
+#endif
+
+  if (itr.index() == key1) {
+    *itr = data1;
+    PPL_ASSERT(OK());
+    return itr;
+  }
+
+  if (data <= &data1 && &data1 < data + (reserved_size + 1)) {
+    // data1 is a coefficient of this row.
+    // Avoid invalidating it.
+    data_type x = data1;
+
+#ifndef NDEBUG
+    dimension_type i = &data1 - data;
+    dimension_type key2 = indexes[i];
+    PPL_ASSERT(key2 != unused_index);
+    // This is true since key1 is not in the tree.
+    PPL_ASSERT(key2 != key1);
+#endif
+
+    // Insert a dummy coefficient.
+    // NOTE: This may invalidate data1, because it may reallocate the tree
+    // and/or move coefficients during rebalancing).
+    itr = insert_precise(key1, Coefficient_zero(), itr);
+
+    PPL_ASSERT(itr.index() == key1);
+
+    using std::swap;
+
+    // Swap the correct coefficient in place.
+    swap(*itr, x);
+
+    PPL_ASSERT(OK());
+    return itr;
+  }
+
+  if (is_greater_than_ratio(size_ + 1, reserved_size, max_density_percent)) {
+
+    rebuild_bigger_tree();
+
+    // itr was invalidated by the rebuild operation
+    itr.get_root();
+    itr.go_down_searching_key(key1);
+
+    PPL_ASSERT(itr.index() != key1);
+  }
+
+  PPL_ASSERT(!is_greater_than_ratio(size_ + 1, reserved_size,
+                                    max_density_percent));
+
+  ++size_;
+
+  if (!itr.is_leaf()) {
+    if (key1 < itr.index())
+      itr.get_left_child();
+    else
+      itr.get_right_child();
+    PPL_ASSERT(itr.index() == unused_index);
+
+    new (&(*itr)) data_type(data1);
+    // Set the index only if the construction was successful.
+    itr.index() = key1;
+
+  } else {
+
+    itr = rebalance(itr, key1, data1);
+
+    itr.go_down_searching_key(key1);
+
+    PPL_ASSERT(itr.index() == key1);
+  }
+  PPL_ASSERT(OK());
+
+  return itr;
+}
+
+PPL::CO_Tree::iterator
+PPL::CO_Tree::erase(tree_iterator itr) {
+  PPL_ASSERT(itr.index() != unused_index);
+
+  PPL_ASSERT(size_ != 0);
+
+  if (size_ == 1) {
+    // Deleting the only element of this tree, now it is empty.
+    clear();
+    return end();
+  }
+
+  if (is_less_than_ratio(size_ - 1, reserved_size, min_density_percent)
+      && !is_greater_than_ratio(size_ - 1, reserved_size/2,
+                                max_density_percent)) {
+
+    const dimension_type key = itr.index();
+
+    PPL_ASSERT(!is_greater_than_ratio(size_, reserved_size,
+                                      max_density_percent));
+
+    rebuild_smaller_tree();
+    itr.get_root();
+    itr.go_down_searching_key(key);
+
+    PPL_ASSERT(itr.index() == key);
+  }
+
+#ifndef NDEBUG
+  if (size_ > 1)
+    PPL_ASSERT(!is_less_than_ratio(size_ - 1, reserved_size,
+                                   min_density_percent)
+               || is_greater_than_ratio(size_ - 1, reserved_size/2,
+                                        max_density_percent));
+#endif
+
+  const dimension_type deleted_key = itr.index();
+  tree_iterator deleted_node = itr;
+  (*itr).~data_type();
+  while (true) {
+    dimension_type& current_key  = itr.index();
+    data_type&      current_data = *itr;
+    if (itr.is_leaf())
+      break;
+    itr.get_left_child();
+    if (itr.index() != unused_index)
+      // The left child has a value.
+      itr.follow_right_children_with_value();
+    else {
+      // The left child has not a value, try the right child.
+      itr.get_parent();
+      itr.get_right_child();
+      if (itr.index() != unused_index)
+        // The right child has a value.
+        itr.follow_left_children_with_value();
+      else {
+        // The right child has not a value, too.
+        itr.get_parent();
+        break;
+      }
+    }
+    using std::swap;
+    swap(current_key, itr.index());
+    move_data_element(current_data, *itr);
+  }
+
+  PPL_ASSERT(itr.index() != unused_index);
+  itr.index() = unused_index;
+  --size_;
+
+  PPL_ASSERT(OK());
+
+  itr = rebalance(itr, 0, Coefficient_zero());
+
+  if (itr.get_offset() < deleted_node.get_offset())
+    // deleted_node is an ancestor of itr
+    itr = deleted_node;
+
+  itr.go_down_searching_key(deleted_key);
+
+  iterator result(itr);
+
+  if (result.index() < deleted_key)
+    ++result;
+
+  PPL_ASSERT(OK());
+  PPL_ASSERT(result == end() || result.index() > deleted_key);
+#ifndef NDEBUG
+  if (!empty()) {
+    iterator last = end();
+    --last;
+    PPL_ASSERT((result == end()) == (last.index() < deleted_key));
+  }
+#endif
+
+  return result;
+}
+
+void
+PPL::CO_Tree::init(dimension_type reserved_size1) {
+  if (reserved_size1 == 0) {
+    indexes = NULL;
+    data = NULL;
+    size_ = 0;
+    reserved_size = 0;
+    max_depth = 0;
+  }
+  else {
+    init(0);
+    const dimension_type new_max_depth = integer_log2(reserved_size1) + 1;
+    const dimension_type new_reserved_size
+      = (static_cast<dimension_type>(1) << new_max_depth) - 1;
+    // If this throws, *this will be the empty tree.
+    indexes = new dimension_type[new_reserved_size + 2];
+    try {
+      data = data_allocator.allocate(new_reserved_size + 1);
+    }
+    catch (...) {
+      delete[] indexes;
+      indexes = 0;
+      PPL_ASSERT(OK());
+      throw;
+    }
+    max_depth = new_max_depth;
+    reserved_size = new_reserved_size;
+
+    // Mark all pairs as unused.
+    for (dimension_type i = 1; i <= reserved_size; ++i)
+      indexes[i] = unused_index;
+
+    // These are used as markers by iterators.
+    indexes[0] = 0;
+    indexes[reserved_size + 1] = 0;
+  }
+
+  refresh_cached_iterators();
+
+  PPL_ASSERT(structure_OK());
+}
+
+void
+PPL::CO_Tree::destroy() {
+
+  if (reserved_size != 0) {
+    for (dimension_type i = 1; i <= reserved_size; ++i) {
+      if (indexes[i] != unused_index)
+        data[i].~data_type();
+    }
+
+    delete[] indexes;
+    data_allocator.deallocate(data, reserved_size + 1);
+  }
+}
+
+bool
+PPL::CO_Tree::structure_OK() const {
+
+  if (size_ > reserved_size)
+    return false;
+
+  if (reserved_size == 0) {
+    if (indexes != NULL)
+      return false;
+    if (data != NULL)
+      return false;
+    if (max_depth != 0)
+      return false;
+
+    return true;
+  }
+
+  if (reserved_size < 3)
+    return false;
+
+  if (reserved_size != (static_cast<dimension_type>(1) << max_depth) - 1)
+    return false;
+
+  if (data == NULL)
+    return false;
+
+  if (indexes == NULL)
+    return false;
+
+  if (max_depth == 0)
+    return false;
+
+  if (size_ == 0) {
+
+    // This const_cast could be removed by adding a const_tree_iterator,
+    // but it would add much code duplication without a real need.
+    tree_iterator itr(*const_cast<CO_Tree*>(this));
+    if (itr.index() != unused_index)
+      return false;
+
+  } else {
+    // This const_cast could be removed by adding a const_tree_iterator,
+    // but it would add much code duplication without a real need.
+    tree_iterator itr(*const_cast<CO_Tree*>(this));
+    dimension_type real_size = count_used_in_subtree(itr);
+    if (real_size != size_)
+      // There are \p real_size elements in the tree that are reachable by the
+      // root, but size is \p size.
+      return false;
+  }
+
+  if (size_ != 0) {
+    const_iterator itr = begin();
+    const_iterator itr_end = end();
+
+    if (itr != itr_end) {
+      dimension_type last_index = itr.index();
+      for (++itr; itr != itr_end; ++itr) {
+        if (last_index >= itr.index())
+          // Found index \p itr->first after index \p last_index.
+          return false;
+        last_index = itr.index();
+      }
+    }
+  }
+
+  if (const_iterator(cached_end) != const_iterator(*this, reserved_size + 1))
+    return false;
+  if (cached_const_end != const_iterator(*this, reserved_size + 1))
+    return false;
+
+  return true;
+}
+
+bool
+PPL::CO_Tree::OK() const {
+
+  if (!structure_OK())
+    return false;
+
+  {
+    dimension_type real_size = 0;
+
+    for (const_iterator itr = begin(), itr_end = end(); itr != itr_end; ++itr)
+      ++real_size;
+
+    if (real_size != size_)
+      // There are \p real_size elements in the tree, but size is \p size.
+      return false;
+  }
+
+  if (reserved_size > 0) {
+    if (is_greater_than_ratio(size_, reserved_size, max_density_percent)
+        && reserved_size != 3)
+      // Found too high density.
+      return false;
+    if (is_less_than_ratio(size_, reserved_size, min_density_percent)
+        && !is_greater_than_ratio(size_, reserved_size/2, max_density_percent))
+      // Found too low density
+      return false;
+  }
+
+  return true;
+}
+
+unsigned
+PPL::CO_Tree::integer_log2(dimension_type n) {
+  PPL_ASSERT(n != 0);
+  unsigned result = 0;
+  while (n != 1) {
+    n /= 2;
+    ++result;
+  }
+  return result;
+}
+
+void
+PPL::CO_Tree::dump_subtree(tree_iterator itr) {
+  if (!itr.is_leaf()) {
+    itr.get_left_child();
+    dump_subtree(itr);
+    itr.get_parent();
+  }
+  std::cout << "At depth: " << itr.depth();
+  if (itr.index() == unused_index)
+    std::cout << " (no data)" << std::endl;
+  else
+    std::cout << " pair (" << itr.index() << "," << *itr << ")" << std::endl;
+  if (!itr.is_leaf()) {
+    itr.get_right_child();
+    dump_subtree(itr);
+    itr.get_parent();
+  }
+}
+
+void
+PPL::CO_Tree::rebuild_bigger_tree() {
+  if (reserved_size == 0) {
+    init(3);
+    PPL_ASSERT(structure_OK());
+    return;
+  }
+
+  dimension_type new_reserved_size = reserved_size*2 + 1;
+
+  dimension_type* new_indexes = new dimension_type[new_reserved_size + 2];
+
+  data_type* new_data;
+
+  try {
+    new_data = data_allocator.allocate(new_reserved_size + 1);
+  } catch (...) {
+    delete[] new_indexes;
+    throw;
+  }
+
+  new_indexes[1] = unused_index;
+
+  for (dimension_type i = 1, j = 2; i <= reserved_size; ++i, ++j) {
+    new_indexes[j] = indexes[i];
+    if (indexes[i] != unused_index)
+      move_data_element(new_data[j], data[i]);
+    ++j;
+    new_indexes[j] = unused_index;
+  }
+
+  // These are used as markers by iterators.
+  new_indexes[0] = 0;
+  new_indexes[new_reserved_size + 1] = 0;
+
+  delete[] indexes;
+  data_allocator.deallocate(data, reserved_size + 1);
+
+  indexes = new_indexes;
+  data = new_data;
+  reserved_size = new_reserved_size;
+  ++max_depth;
+
+  refresh_cached_iterators();
+
+  PPL_ASSERT(structure_OK());
+}
+
+PPL::CO_Tree::tree_iterator
+PPL::CO_Tree::rebalance(tree_iterator itr, dimension_type key,
+                        data_type_const_reference value) {
+  // Trees with reserved size 3 need not to be rebalanced.
+  // This check is needed because they can't be shrunk, so they may violate
+  // the density thresholds, and this would prevent the following while from
+  // working correctly.
+  if (reserved_size == 3) {
+    PPL_ASSERT(OK());
+    return tree_iterator(*this);
+  }
+  PPL_ASSERT(itr.index() == unused_index || itr.is_leaf());
+  height_t itr_depth_minus_1 = itr.depth() - 1;
+  height_t height = max_depth - itr_depth_minus_1;
+  dimension_type subtree_size;
+  dimension_type subtree_reserved_size = (static_cast<dimension_type>(1)
+                                          << height) - 1;
+  const bool deleting = itr.index() == unused_index;
+  PPL_ASSERT(deleting || key != unused_index);
+  if (deleting)
+    subtree_size = 0;
+  else
+    // The existing element and the element with index key we want to add.
+    subtree_size = 2;
+
+  while (is_greater_than_ratio(subtree_size, subtree_reserved_size,
+                               max_density_percent
+                               + ((itr_depth_minus_1
+                                   * (100 - max_density_percent))
+                                  / (max_depth - 1)))
+         || is_less_than_ratio(subtree_size, subtree_reserved_size,
+                               min_density_percent
+                               - ((itr_depth_minus_1
+                                   * (min_density_percent
+                                      - min_leaf_density_percent))
+                                  / (max_depth - 1)))) {
+    // The density in the tree is correct, so the while condition is always
+    // false for the root.
+    PPL_ASSERT(itr_depth_minus_1 != 0);
+    bool is_right_brother = itr.is_right_child();
+    itr.get_parent();
+    if (is_right_brother)
+      itr.get_left_child();
+    else
+      itr.get_right_child();
+    subtree_size += count_used_in_subtree(itr);
+    itr.get_parent();
+    PPL_ASSERT(itr.index() != unused_index);
+    ++subtree_size;
+    subtree_reserved_size = 2*subtree_reserved_size + 1;
+    --itr_depth_minus_1;
+    PPL_ASSERT(itr.depth() - 1 == itr_depth_minus_1);
+  }
+
+  // Now the subtree rooted at itr has been chosen as the subtree to be
+  // rebalanced.
+
+  // Step 1: compact elements of this subtree in the rightmost end, from right
+  //         to left.
+  dimension_type last_index_in_subtree
+    = itr.dfs_index() + itr.get_offset() - 1;
+
+  dimension_type first_unused
+    = compact_elements_in_the_rightmost_end(last_index_in_subtree,
+                                            subtree_size, key, value,
+                                            !deleting);
+
+  // Step 2: redistribute the elements, from left to right.
+  redistribute_elements_in_subtree(itr.dfs_index(), subtree_size,
+                                   first_unused + 1, key, value,
+                                   first_unused != last_index_in_subtree
+                                                   - subtree_size);
+
+  PPL_ASSERT(OK());
+
+  return itr;
+}
+
+PPL::dimension_type
+PPL::CO_Tree
+::compact_elements_in_the_rightmost_end(dimension_type last_in_subtree,
+                                        dimension_type subtree_size,
+                                        dimension_type key,
+                                        data_type_const_reference value,
+                                        bool add_element) {
+
+  PPL_ASSERT(subtree_size != 0);
+
+  PPL_ASSERT(subtree_size != 1 || !add_element);
+
+  dimension_type* last_index_in_subtree = &(indexes[last_in_subtree]);
+  data_type* last_data_in_subtree = &(data[last_in_subtree]);
+
+  dimension_type* first_unused_index = last_index_in_subtree;
+  data_type* first_unused_data = last_data_in_subtree;
+
+  while (*last_index_in_subtree == unused_index) {
+    --last_index_in_subtree;
+    --last_data_in_subtree;
+  }
+
+  // From now on, last_index_in_subtree and last_data_in_subtree point to the
+  // rightmost node with a value in the subtree. first_unused_index and
+  // first_unused_data point to the rightmost unused node in the subtree.
+
+  if (add_element)
+    while (subtree_size != 0) {
+      --subtree_size;
+      if (last_index_in_subtree == indexes || key > *last_index_in_subtree) {
+        if (last_index_in_subtree == indexes
+            || last_index_in_subtree != first_unused_index) {
+          PPL_ASSERT(first_unused_index != indexes);
+          PPL_ASSERT(*first_unused_index == unused_index);
+          new (first_unused_data) data_type(value);
+          // Set the index only if the construction was successful.
+          *first_unused_index = key;
+          --first_unused_index;
+          --first_unused_data;
+        }
+        break;
+      } else {
+        if (last_index_in_subtree != first_unused_index) {
+          PPL_ASSERT(first_unused_index != indexes);
+          PPL_ASSERT(last_index_in_subtree != indexes);
+          PPL_ASSERT(*first_unused_index == unused_index);
+          *first_unused_index = *last_index_in_subtree;
+          *last_index_in_subtree = unused_index;
+          move_data_element(*first_unused_data, *last_data_in_subtree);
+        }
+        --last_index_in_subtree;
+        --last_data_in_subtree;
+        while (*last_index_in_subtree == unused_index) {
+          --last_index_in_subtree;
+          --last_data_in_subtree;
+        }
+        --first_unused_index;
+        --first_unused_data;
+      }
+    }
+  while (subtree_size != 0) {
+    if (last_index_in_subtree != first_unused_index) {
+      PPL_ASSERT(first_unused_index != indexes);
+      PPL_ASSERT(last_index_in_subtree != indexes);
+      PPL_ASSERT(*first_unused_index == unused_index);
+      *first_unused_index = *last_index_in_subtree;
+      *last_index_in_subtree = unused_index;
+      move_data_element(*first_unused_data, *last_data_in_subtree);
+    }
+    --last_index_in_subtree;
+    --last_data_in_subtree;
+    while (*last_index_in_subtree == unused_index) {
+      --last_index_in_subtree;
+      --last_data_in_subtree;
+    }
+    --first_unused_index;
+    --first_unused_data;
+    --subtree_size;
+  }
+
+  ptrdiff_t distance = first_unused_index - indexes;
+  PPL_ASSERT(distance >= 0);
+  return static_cast<dimension_type>(distance);
+}
+
+void
+PPL::CO_Tree::redistribute_elements_in_subtree(
+    dimension_type root_index,
+    dimension_type subtree_size,
+    dimension_type last_used,
+    dimension_type key,
+    data_type_const_reference value,
+    bool add_element) {
+
+  // This is static and with static allocation, to improve performance.
+  // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that
+  // 2^k-1 is a dimension_type, so it is the maximum tree height.
+  // For each node level, the stack may contain up to two element (one for the
+  // subtree rooted at the right son of a node of that level, and one for the
+  // node itself). An additional element can be at the top of the tree.
+  static std::pair<dimension_type,dimension_type>
+    stack[2U * sizeof_to_bits(sizeof(dimension_type)) + 1U];
+
+  std::pair<dimension_type,dimension_type>* stack_first_empty = stack;
+
+  // A pair (n, i) in the stack means to visit the subtree with root index i
+  // and size n.
+
+  PPL_ASSERT(subtree_size != 0);
+
+  stack_first_empty->first  = subtree_size;
+  stack_first_empty->second = root_index;
+  ++stack_first_empty;
+
+  while (stack_first_empty != stack) {
+
+    --stack_first_empty;
+
+    // Implement
+    //
+    // <CODE>
+    //   top_n = stack.top().first;
+    //   top_i = stack.top().second;
+    // </CODE>
+    const dimension_type top_n = stack_first_empty->first;
+    const dimension_type top_i = stack_first_empty->second;
+
+    PPL_ASSERT(top_n != 0);
+    if (top_n == 1) {
+      if (add_element
+          && (last_used > reserved_size || indexes[last_used] > key)) {
+        PPL_ASSERT(last_used != top_i);
+        PPL_ASSERT(indexes[top_i] == unused_index);
+        add_element = false;
+        new (&(data[top_i])) data_type(value);
+        // Set the index only if the construction was successful.
+        indexes[top_i] = key;
+      } else {
+        if (last_used != top_i) {
+          PPL_ASSERT(indexes[top_i] == unused_index);
+          indexes[top_i] = indexes[last_used];
+          indexes[last_used] = unused_index;
+          move_data_element(data[top_i], data[last_used]);
+        }
+        ++last_used;
+      }
+    } else {
+      PPL_ASSERT(stack_first_empty + 2
+                 < stack + sizeof(stack)/sizeof(stack[0]));
+
+      const dimension_type offset = (top_i & -top_i) / 2;
+      const dimension_type half = (top_n + 1) / 2;
+
+      PPL_ASSERT(half > 0);
+
+      // Right subtree
+      PPL_ASSERT(top_n - half > 0);
+      stack_first_empty->first  = top_n - half;
+      stack_first_empty->second = top_i + offset;
+      ++stack_first_empty;
+
+      // Root of the current subtree
+      stack_first_empty->first   = 1;
+      stack_first_empty->second  = top_i;
+      ++stack_first_empty;
+
+      // Left subtree
+      if (half - 1 != 0) {
+        stack_first_empty->first   = half - 1;
+        stack_first_empty->second  = top_i - offset;
+        ++stack_first_empty;
+      }
+    }
+  }
+
+  PPL_ASSERT(!add_element);
+}
+
+void
+PPL::CO_Tree::move_data_from(CO_Tree& tree) {
+  PPL_ASSERT(size_ == 0);
+  if (tree.size_ == 0)
+    return;
+
+  tree_iterator root(*this);
+
+  dimension_type source_index = 1;
+  while (tree.indexes[source_index] == unused_index)
+    ++source_index;
+
+  // This is static and with static allocation, to improve performance.
+  // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that 2^k-1 is a
+  // dimension_type, so it is the maximum tree height.
+  // For each node level, the stack may contain up to 4 elements: two elements
+  // with operation 0, one element with operation 2 and one element
+  // with operation 3. An additional element with operation 1 can be at the
+  // top of the tree.
+  static std::pair<dimension_type, signed char>
+    stack[5U * sizeof_to_bits(sizeof(dimension_type))];
+
+  dimension_type stack_first_empty = 0;
+
+  // A pair (n, operation) in the stack means:
+  //
+  // * Go to the parent, if operation is 0.
+  // * Go to the left child, then visit the current tree (with size n), if
+  //   operation is 1.
+  // * Go to the right child, then visit the current tree (with size n), if
+  //   operation is 2.
+  // * Visit the current tree (with size n), if operation is 3.
+
+  stack[0].first = tree.size_;
+  stack[0].second = 3;
+  ++stack_first_empty;
+
+  while (stack_first_empty != 0) {
+
+    // Implement
+    //
+    // <CODE>
+    //   top_n         = stack.top().first;
+    //   top_operation = stack.top().second;
+    // </CODE>
+    const dimension_type top_n = stack[stack_first_empty - 1].first;
+    const signed char top_operation = stack[stack_first_empty - 1].second;
+
+    switch (top_operation) {
+
+    case 0:
+      root.get_parent();
+      --stack_first_empty;
+      continue;
+
+    case 1:
+      root.get_left_child();
+      break;
+
+    case 2:
+      root.get_right_child();
+      break;
+
+#ifndef NDEBUG
+    case 3:
+      break;
+
+    default:
+      PPL_UNREACHABLE;
+      break;
+#endif
+    }
+
+    // We now visit the current tree
+
+    if (top_n == 0) {
+      --stack_first_empty;
+    } else {
+      if (top_n == 1) {
+        PPL_ASSERT(root.index() == unused_index);
+        PPL_ASSERT(tree.indexes[source_index] != unused_index);
+        root.index() = tree.indexes[source_index];
+        tree.indexes[source_index] = unused_index;
+        move_data_element(*root, tree.data[source_index]);
+        PPL_ASSERT(source_index <= tree.reserved_size);
+        ++source_index;
+        while (tree.indexes[source_index] == unused_index)
+          ++source_index;
+        --stack_first_empty;
+      } else {
+        PPL_ASSERT(stack_first_empty + 3 < sizeof(stack)/sizeof(stack[0]));
+
+        const dimension_type half = (top_n + 1) / 2;
+        stack[stack_first_empty - 1].second = 0;
+        stack[stack_first_empty    ] = std::make_pair(top_n - half, 2);
+        stack[stack_first_empty + 1] = std::make_pair(1, 3);
+        stack[stack_first_empty + 2].second = 0;
+        stack[stack_first_empty + 3] = std::make_pair(half - 1, 1);
+        stack_first_empty += 4;
+      }
+    }
+  }
+  size_ = tree.size_;
+  tree.size_ = 0;
+  PPL_ASSERT(tree.structure_OK());
+  PPL_ASSERT(structure_OK());
+}
+
+void
+PPL::CO_Tree::copy_data_from(const CO_Tree& x) {
+  PPL_ASSERT(size_ == 0);
+  PPL_ASSERT(reserved_size == x.reserved_size);
+  PPL_ASSERT(structure_OK());
+
+  if (x.size_ == 0) {
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  dimension_type i;
+  try {
+    for (i = x.reserved_size; i > 0; --i)
+      if (x.indexes[i] != unused_index) {
+        indexes[i] = x.indexes[i];
+        new (&(data[i])) data_type(x.data[i]);
+      } else {
+        PPL_ASSERT(indexes[i] == unused_index);
+      }
+  } catch (...) {
+    // The (used) data elements in (i,x.reserved_size] have been constructed
+    // successfully.
+    // The constructor of data[i] has thrown an exception, so data[i] has not
+    // been constructed.
+
+    // 1. Destroy the data elements that have been constructed successfully.
+    for (dimension_type j = x.reserved_size; j > i; --j)
+      if (indexes[j] != unused_index)
+        data[j].~data_type();
+
+    // 2. Deallocate index[] and data[]
+    delete[] indexes;
+    data_allocator.deallocate(data, reserved_size + 1);
+
+    // 3. Set the tree to an empty tree and rethrow exception.
+    init(0);
+    throw;
+  }
+
+  size_ = x.size_;
+  PPL_ASSERT(OK());
+}
+
+PPL::dimension_type
+PPL::CO_Tree::count_used_in_subtree(tree_iterator itr) {
+  dimension_type n = 0;
+
+  const dimension_type k = itr.get_offset();
+  const dimension_type root_index = itr.dfs_index();
+
+  // The complete subtree rooted at itr has 2*k - 1 nodes.
+
+  PPL_ASSERT(root_index > (k - 1));
+
+  dimension_type* current_index = &(itr.tree.indexes[root_index - (k - 1)]);
+
+  for (dimension_type j = 2*k - 1; j > 0; --j, ++current_index)
+    if (*current_index != unused_index)
+      ++n;
+
+  return n;
+}
+
+bool
+PPL::CO_Tree::const_iterator::OK() const {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  if (tree == 0) {
+    if (current_index != 0)
+      return false;
+    if (current_data != 0)
+      return false;
+  } else
+    if (tree->reserved_size == 0) {
+      if (current_index != 1 + static_cast<dimension_type*>(0)
+          || current_data != 1 + static_cast<data_type*>(0))
+        return false;
+    } else {
+      if (current_index <= &(tree->indexes[0]))
+        return false;
+      if (current_index > &(tree->indexes[tree->reserved_size + 1]))
+        return false;
+      if (current_data <= &(tree->data[0]))
+        return false;
+      if (current_data > &(tree->data[tree->reserved_size + 1]))
+        return false;
+      if (*current_index == unused_index)
+        return false;
+      if (current_index - tree->indexes != current_data - tree->data)
+        return false;
+    }
+#endif
+  return true;
+}
+
+bool
+PPL::CO_Tree::iterator::OK() const {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  if (tree == 0) {
+    if (current_index != 0)
+      return false;
+    if (current_data != 0)
+      return false;
+  } else
+    if (tree->reserved_size == 0) {
+      if (current_index != 1 + static_cast<dimension_type*>(0)
+          || current_data != 1 + static_cast<data_type*>(0))
+        return false;
+    } else {
+      if (current_index <= &(tree->indexes[0]))
+        return false;
+      if (current_index > &(tree->indexes[tree->reserved_size + 1]))
+        return false;
+      if (current_data <= &(tree->data[0]))
+        return false;
+      if (current_data > &(tree->data[tree->reserved_size + 1]))
+        return false;
+      if (*current_index == unused_index)
+        return false;
+      if (current_index - tree->indexes != current_data - tree->data)
+        return false;
+    }
+#endif
+  return true;
+}
+
+bool
+PPL::CO_Tree::tree_iterator::OK() const {
+  if (i == 0 || i > tree.reserved_size)
+    return false;
+
+  // This assumes two's complement encoding.
+  dimension_type correct_offset = i & -i;
+
+  if (offset != correct_offset)
+    return false;
+
+  return true;
+}
+
+void
+PPL::CO_Tree::tree_iterator::go_down_searching_key(dimension_type key) {
+  // *this points to a node, so the tree is not empty.
+  PPL_ASSERT(!tree.empty());
+  PPL_ASSERT(key != unused_index);
+  PPL_ASSERT(index() != unused_index);
+  while (!is_leaf()) {
+    if (key == index())
+      break;
+    if (key < index()) {
+      get_left_child();
+      if (index() == unused_index) {
+        get_parent();
+        break;
+      }
+    } else {
+      get_right_child();
+      if (index() == unused_index) {
+        get_parent();
+        break;
+      }
+    }
+  }
+}
diff --git a/src/CO_Tree.defs.hh b/src/CO_Tree.defs.hh
new file mode 100644
index 0000000..d02b467
--- /dev/null
+++ b/src/CO_Tree.defs.hh
@@ -0,0 +1,1548 @@
+/* CO_Tree class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_CO_Tree_defs_hh
+#define PPL_CO_Tree_defs_hh 1
+
+#include "CO_Tree.types.hh"
+
+#include "Coefficient.defs.hh"
+#include <memory>
+
+#ifndef PPL_CO_TREE_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*!
+  \brief
+  Enables extra debugging information for class CO_Tree.
+
+  \ingroup PPL_CXX_interface
+  When <CODE>PPL_CO_TREE_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
+  each CO_Tree iterator and const_iterator carries a pointer to the associated
+  tree; this enables extra consistency checks to be performed.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define PPL_CO_TREE_EXTRA_DEBUG 1
+#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#define PPL_CO_TREE_EXTRA_DEBUG 0
+#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#endif // !defined(PPL_CO_TREE_EXTRA_DEBUG)
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A cache-oblivious binary search tree of pairs.
+/*! \ingroup PPL_CXX_interface
+  This class implements a binary search tree with keys of dimension_type type
+  and data of Coefficient type, laid out in a dynamically-sized array.
+
+  The array-based layout saves calls to new/delete (to insert \f$n\f$ elements
+  only \f$O(\log n)\f$ allocations are performed) and, more importantly, is
+  much more cache-friendly than a standard (pointer-based) tree, because the
+  elements are stored sequentially in memory (leaving some holes to allow
+  fast insertion of new elements).
+  The downside of this representation is that all iterators are invalidated
+  when an element is added or removed, because the array could have been
+  enlarged or shrunk. This is partially addressed by providing references to
+  internal end iterators that are updated when needed.
+
+  B-trees are cache-friendly too, but the cache size is fixed (usually at
+  compile-time). This raises two problems: firstly the cache size must be
+  known in advance and those data structures do not perform well with other
+  cache sizes and, secondly, even if the cache size is known, the
+  optimizations target only one level of cache. This kind of data structures
+  are called cache aware. This implementation, instead, is cache oblivious:
+  it performs well with every cache size, and thus exploits all of the
+  available caches.
+
+  Assuming \p n is the number of elements in the tree and \p B is the number
+  of (dimension_type, Coefficient) pairs that fit in a cache line, the
+  time and cache misses complexities are the following:
+
+  - Insertions/Queries/Deletions: \f$O(\log^2 n)\f$ time,
+                                  \f$O(\log \frac{n}{B}))\f$ cache misses.
+  - Tree traversal from begin() to end(), using an %iterator: \f$O(n)\f$ time,
+         \f$O(\frac{n}{B})\f$  cache misses.
+  - Queries with a hint: \f$O(\log k)\f$ time and \f$O(\log \frac{k}{B})\f$
+    cache misses, where k is the distance between the given %iterator and the
+    searched element (or the position where it would have been).
+
+  The binary search tree is embedded in a (slightly bigger) complete tree,
+  that is enlarged and shrunk when needed. The complete tree is laid out
+  in an in-order DFS layout in two arrays: one for the keys and one for the
+  associated data.
+  The indexes and values are stored in different arrays to reduce
+  cache-misses during key queries.
+
+  The tree can store up to \f$(-(dimension_type)1)/100\f$ elements.
+  This limit allows faster density computations, but can be removed if needed.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class CO_Tree {
+
+public:
+  class const_iterator;
+  class iterator;
+
+private:
+  //! This is used for node heights and depths in the tree.
+  typedef unsigned height_t;
+
+  PPL_COMPILE_TIME_CHECK(C_Integer<height_t>::max
+                         >= sizeof_to_bits(sizeof(dimension_type)),
+                         "height_t is too small to store depths.");
+
+  class tree_iterator;
+
+  // This must be declared here, because it is a friend of const_iterator.
+  //! Returns the index of the current element in the DFS layout of the
+  //! complete tree.
+  /*!
+    \return the index of the current element in the DFS layout of the complete
+            tree.
+
+    \param itr the iterator that points to the desired element.
+  */
+  dimension_type dfs_index(const_iterator itr) const;
+
+  // This must be declared here, because it is a friend of iterator.
+  //! Returns the index of the current element in the DFS layout of the
+  //! complete tree.
+  /*!
+    \return the index of the current element in the DFS layout of the complete
+            tree.
+
+    \param itr the iterator that points to the desired element.
+  */
+  dimension_type dfs_index(iterator itr) const;
+
+public:
+
+  //! The type of the data elements associated with keys.
+  /*!
+    If this is changed, occurrences of Coefficient_zero() in the CO_Tree
+    implementation have to be replaced with constants of the correct type.
+  */
+  typedef Coefficient data_type;
+  typedef Coefficient_traits::const_reference data_type_const_reference;
+
+  //! A const %iterator on the tree elements, ordered by key.
+  /*!
+    Iterator increment and decrement operations are \f$O(1)\f$ time.
+    These iterators are invalidated by operations that add or remove elements
+    from the tree.
+  */
+  class const_iterator {
+  private:
+  public:
+
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const data_type value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef data_type_const_reference reference;
+
+    //! Constructs an invalid const_iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator();
+
+    //! Constructs an %iterator pointing to the first element of the tree.
+    /*!
+      \param tree
+      The tree that the new %iterator will point to.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator(const CO_Tree& tree);
+
+    //! Constructs a const_iterator pointing to the i-th node of the tree.
+    /*!
+      \param tree
+      The tree that the new %iterator will point to.
+
+      \param i
+      The index of the element in \p tree to which the %iterator will point
+      to.
+
+      The i-th node must be a node with a value or end().
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const CO_Tree& tree, dimension_type i);
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const const_iterator& itr);
+
+    //! Converts an iterator into a const_iterator.
+    /*!
+      \param itr
+      The iterator that will be converted into a const_iterator.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const iterator& itr);
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const iterator& itr);
+
+    //! Navigates to the next element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator++();
+
+    //! Navigates to the previous element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator--();
+
+    //! Navigates to the next element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator operator++(int);
+
+    //! Navigates to the previous element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator operator--(int);
+
+    //! Returns the current element.
+    data_type_const_reference operator*() const;
+
+    //! Returns the index of the element pointed to by \c *this.
+    /*!
+      \returns the index of the element pointed to by \c *this.
+    */
+    dimension_type index() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& x) const;
+
+  private:
+    //! Checks the internal invariants, in debug mode only.
+    bool OK() const;
+
+    //! A pointer to the corresponding element of the tree's indexes[] array.
+    const dimension_type* current_index;
+
+    //! A pointer to the corresponding element of the tree's data[] array.
+    const data_type* current_data;
+
+#if PPL_CO_TREE_EXTRA_DEBUG
+    //! A pointer to the corresponding tree, used for debug purposes only.
+    const CO_Tree* tree;
+#endif
+
+    friend dimension_type CO_Tree::dfs_index(const_iterator itr) const;
+  };
+
+  //! An %iterator on the tree elements, ordered by key.
+  /*!
+    Iterator increment and decrement operations are \f$O(1)\f$ time.
+    These iterators are invalidated by operations that add or remove elements
+    from the tree.
+  */
+  class iterator {
+  public:
+
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef data_type value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef value_type& reference;
+
+    //! Constructs an invalid iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator();
+
+    //! Constructs an %iterator pointing to first element of the tree.
+    /*!
+      \param tree
+      The tree to which the new %iterator will point to.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit iterator(CO_Tree& tree);
+
+    //! Constructs an %iterator pointing to the i-th node.
+    /*!
+      \param tree
+      The tree to which the new %iterator will point to.
+
+      \param i
+      The index of the element in \p tree to which the new %iterator will
+      point to.
+
+      The i-th node must be a node with a value or end().
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator(CO_Tree& tree, dimension_type i);
+
+    //! The constructor from a tree_iterator.
+    /*!
+      \param itr
+      The tree_iterator that will be converted into an iterator.
+
+      This is meant for use by CO_Tree only.
+      This is not private to avoid the friend declaration.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit iterator(const tree_iterator& itr);
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator(const iterator& itr);
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator=(const iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator=(const tree_iterator& itr);
+
+    //! Navigates to the next element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator++();
+
+    //! Navigates to the previous element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator--();
+
+    //! Navigates to the next element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator operator++(int);
+
+    //! Navigates to the previous element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator operator--(int);
+
+    //! Returns the current element.
+    data_type& operator*();
+
+    //! Returns the current element.
+    data_type_const_reference operator*() const;
+
+    //! Returns the index of the element pointed to by \c *this.
+    /*!
+      \returns the index of the element pointed to by \c *this.
+    */
+    dimension_type index() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const iterator& x) const;
+
+  private:
+    //! Checks the internal invariants, in debug mode only.
+    bool OK() const;
+
+    //! A pointer to the corresponding element of the tree's indexes[] array.
+    const dimension_type* current_index;
+
+    //! A pointer to the corresponding element of the tree's data[] array.
+    data_type* current_data;
+
+#if PPL_CO_TREE_EXTRA_DEBUG
+    //! A pointer to the corresponding tree, used for debug purposes only.
+    CO_Tree* tree;
+#endif
+
+    friend const_iterator& const_iterator::operator=(const iterator&);
+    friend dimension_type CO_Tree::dfs_index(iterator itr) const;
+  };
+
+  //! Constructs an empty tree.
+  /*!
+    This constructor takes \f$O(1)\f$ time.
+  */
+  CO_Tree();
+
+  //! The copy constructor.
+  /*!
+    \param y
+    The tree that will be copied.
+
+    This constructor takes \f$O(n)\f$ time.
+  */
+  CO_Tree(const CO_Tree& y);
+
+  //! A constructor from a sequence of \p n elements.
+  /*!
+    \param i
+    An iterator that points to the first element of the sequence.
+
+    \param n
+    The number of elements in the [i, i_end) sequence.
+
+    i must be an input iterator on a sequence of data_type elements,
+    sorted by index.
+    Objects of Iterator type must have an index() method that returns the
+    index with which the element pointed to by the iterator must be inserted.
+
+    This constructor takes \f$O(n)\f$ time, so it is more efficient than
+    the construction of an empty tree followed by n insertions, that would
+    take \f$O(n*\log^2 n)\f$ time.
+  */
+  template <typename Iterator>
+  CO_Tree(Iterator i, dimension_type n);
+
+  //! The assignment operator.
+  /*!
+    \param y
+    The tree that will be assigned to *this.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  CO_Tree& operator=(const CO_Tree& y);
+
+  //! Removes all elements from the tree.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  void clear();
+
+  //! The destructor.
+  /*!
+    This destructor takes \f$O(n)\f$ time.
+  */
+  ~CO_Tree();
+
+  //! Returns \p true if the tree has no elements.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool empty() const;
+
+  //! Returns the number of elements stored in the tree.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type size() const;
+
+  //! Returns the size() of the largest possible CO_Tree.
+  static dimension_type max_size();
+
+  //! Dumps the tree to stdout, for debugging purposes.
+  void dump_tree() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  dimension_type external_memory_in_bytes() const;
+
+  //! Inserts an element in the tree.
+  /*!
+    \returns
+    An %iterator that points to the inserted pair.
+
+    \param key
+    The key that will be inserted into the tree, associated with the default
+    data.
+
+    If such a pair already exists, an %iterator pointing to that pair is
+    returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(dimension_type key);
+
+  //! Inserts an element in the tree.
+  /*!
+    \returns
+    An %iterator that points to the inserted element.
+
+    \param key
+    The key that will be inserted into the tree..
+
+    \param data
+    The data that will be inserted into the tree.
+
+    If an element with the specified key already exists, its associated data
+    is set to \p data and an %iterator pointing to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.amortized
+  */
+  iterator insert(dimension_type key, data_type_const_reference data);
+
+  //! Inserts an element in the tree.
+  /*!
+    \return
+    An %iterator that points to the inserted element.
+
+    \param itr
+    The %iterator used as hint
+
+    \param key
+    The key that will be inserted into the tree, associated with the default
+    data.
+
+    This will be faster if \p itr points near to the place where the new
+    element will be inserted (or where is already stored).
+    However, the value of \p itr does not affect the result of this
+    method, as long it is a valid %iterator for this tree. \p itr may even be
+    end().
+
+    If an element with the specified key already exists, an %iterator pointing
+    to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(iterator itr, dimension_type key);
+
+  //! Inserts an element in the tree.
+  /*!
+    \return
+    An iterator that points to the inserted element.
+
+    \param itr
+    The iterator used as hint
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be inserted into the tree.
+
+    This will be faster if \p itr points near to the place where the new
+    element will be inserted (or where is already stored).
+    However, the value of \p itr does not affect the result of this
+    method, as long it is a valid iterator for this tree. \p itr may even be
+    end().
+
+    If an element with the specified key already exists, its associated data
+    is set to \p data and an iterator pointing to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists,
+    and \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(iterator itr, dimension_type key,
+                  data_type_const_reference data);
+
+  //! Erases the element with key \p key from the tree.
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns an iterator to the next element (or end() if there are no
+             elements with key greater than \p key ).
+
+    \param key
+    The key of the element that will be erased from the tree.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists,
+    and \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator erase(dimension_type key);
+
+  //! Erases the element pointed to by \p itr from the tree.
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns an iterator to the next element (or end() if there are no
+             elements with key greater than \p key ).
+
+    \param itr
+    An iterator pointing to the element that will be erased from the tree.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator erase(iterator itr);
+
+  /*!
+    \brief Removes the element with key \p key (if it exists) and decrements
+           by 1 all elements' keys that were greater than \p key.
+
+    \param key
+    The key of the element that will be erased from the tree.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k+\log^2 n)\f$ expected time, where k is the number
+    of elements with keys greater than \p key.
+  */
+  void erase_element_and_shift_left(dimension_type key);
+
+  //! Adds \p n to all keys greater than or equal to \p key.
+  /*!
+    \param key
+    The key of the first element whose key will be increased.
+
+    \param n
+    Specifies how much the keys will be increased.
+
+    This method takes \f$O(k+\log n)\f$ expected time, where k is the number
+    of elements with keys greater than or equal to \p key.
+  */
+  void increase_keys_from(dimension_type key, dimension_type n);
+
+  //! Sets to \p i the key of *itr. Assumes that i<=itr.index() and that there
+  //! are no elements with keys in [i,itr.index()).
+  /*!
+    All existing iterators remain valid.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void fast_shift(dimension_type i, iterator itr);
+
+  //! Swaps x with *this.
+  /*!
+    \param x
+    The tree that will be swapped with *this.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(CO_Tree& x);
+
+  //! Returns an iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
+
+  //! Returns an iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const iterator& end();
+
+  //! Equivalent to cbegin().
+  const_iterator begin() const;
+
+  //! Equivalent to cend().
+  const const_iterator& end() const;
+
+  //! Returns a const_iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator cbegin() const;
+
+  //! Returns a const_iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const const_iterator& cend() const;
+
+  //! Searches an element with key \p key using bisection.
+  /*!
+    \param key
+    The key that will be searched for.
+
+    If the element is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator bisect(dimension_type key);
+
+  //! Searches an element with key \p key using bisection.
+  /*!
+    \param key
+    The key that will be searched for.
+
+    If the element is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator bisect(dimension_type key) const;
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    An %iterator pointing to the first element in the range.
+    It must not be end().
+
+    \param last
+    An %iterator pointing to the last element in the range.
+    Note that this is included in the search.
+    It must not be end().
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the specified key is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log(last - first + 1))\f$ time.
+  */
+  iterator bisect_in(iterator first, iterator last, dimension_type key);
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    An %iterator pointing to the first element in the range.
+    It must not be end().
+
+    \param last
+    An %iterator pointing to the last element in the range.
+    Note that this is included in the search.
+    It must not be end().
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the specified key is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log(last - first + 1))\f$ time.
+  */
+  const_iterator bisect_in(const_iterator first, const_iterator last,
+                           dimension_type key) const;
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An %iterator used as a hint.
+
+    \param key
+    The key that will be searched for.
+
+    If the element is found, the returned %iterator points to that element;
+    otherwise, it points to the immediately preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this tree. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  iterator bisect_near(iterator hint, dimension_type key);
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An %iterator used as a hint.
+
+    \param key
+    The key that will be searched for.
+
+    If the element is found, the returned %iterator points to that element;
+    otherwise, it points to the immediately preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this tree. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  const_iterator bisect_near(const_iterator hint, dimension_type key) const;
+
+private:
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    The index of the first element in the range.
+    It must be the index of an element with a value.
+
+    \param last
+    The index of the last element in the range.
+    It must be the index of an element with a value.
+    Note that this is included in the search.
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the element is found, the index of that element is returned; otherwise,
+    the returned index refers to the immediately preceding or succeeding
+    value.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  dimension_type bisect_in(dimension_type first, dimension_type last,
+                           dimension_type key) const;
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An index used as a hint.
+    It must be the index of an element with a value.
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the element is found, the index of that element is returned; otherwise,
+    the returned index refers to the immediately preceding or succeeding
+    value.
+
+    This uses a binary progression and then a bisection, so this method is
+    \f$O(\log n)\f$, and it is \f$O(1)\f$ if the distance between the returned
+    position and \p hint is \f$O(1)\f$.
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  dimension_type bisect_near(dimension_type hint, dimension_type key) const;
+
+  //! Inserts an element in the tree.
+  /*!
+    If there is already an element with key \p key in the tree, its
+    associated data is set to \p data.
+
+    This operation invalidates existing iterators.
+
+    \return
+    An %iterator that points to the inserted element.
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be associated with \p key.
+
+    \param itr
+    It must point to the element in the tree with key \p key or, if no such
+    element exists, it must point to the node that would be his parent.
+
+    This method takes \f$O(1)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  tree_iterator insert_precise(dimension_type key,
+                               data_type_const_reference data,
+                               tree_iterator itr);
+
+  //! Inserts an element in the tree.
+  /*!
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be associated with \p key.
+
+    The tree must be empty.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void insert_in_empty_tree(dimension_type key,
+                            data_type_const_reference data);
+
+  //! Erases from the tree the element pointed to by \p itr .
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns
+    An %iterator to the next element (or end() if there are no elements with
+    key greater than \p key ).
+
+    \param itr
+    An %iterator pointing to the element that will be erased.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator erase(tree_iterator itr);
+
+  //! Initializes a tree with reserved size at least \p n .
+  /*!
+    \param n
+    A lower bound on the tree's desired reserved size.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void init(dimension_type n);
+
+  //! Deallocates the tree's dynamic arrays.
+  /*!
+    After this call, the tree fields are uninitialized, so init() must be
+    called again before using the tree.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void destroy();
+
+  //! Checks the internal invariants, but not the densities.
+  bool structure_OK() const;
+
+  //! Checks the internal invariants.
+  bool OK() const;
+
+  //! Returns the floor of the base-2 logarithm of \p n .
+  /*!
+    \param n
+    It must be greater than zero.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  static unsigned integer_log2(dimension_type n);
+
+  //! Compares the fractions numer/denom with ratio/100.
+  /*!
+    \returns Returns true if the fraction numer/denom is less
+    than the fraction ratio/100.
+
+    \param ratio
+    It must be less than or equal to 100.
+
+    \param numer
+    The numerator of the fraction.
+
+    \param denom
+    The denominator of the fraction.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static bool is_less_than_ratio(dimension_type numer, dimension_type denom,
+                                 dimension_type ratio);
+
+  //! Compares the fractions numer/denom with ratio/100.
+  /*!
+    \returns
+    Returns true if the fraction numer/denom is greater than the fraction
+    ratio/100.
+
+    \param ratio
+    It must be less than or equal to 100.
+
+    \param numer
+    The numerator of the fraction.
+
+    \param denom
+    The denominator of the fraction.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static bool is_greater_than_ratio(dimension_type numer, dimension_type denom,
+                                    dimension_type ratio);
+
+  //! Dumps the subtree rooted at \p itr to stdout, for debugging purposes.
+  /*!
+    \param itr
+    A tree_iterator pointing to the root of the desired subtree.
+  */
+  static void dump_subtree(tree_iterator itr);
+
+  //! Increases the tree's reserved size.
+  /*!
+    This is called when the density is about to exceed the maximum density
+    (specified by max_density_percent).
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void rebuild_bigger_tree();
+
+  //! Decreases the tree's reserved size.
+  /*!
+    This is called when the density is about to become less than the minimum
+    allowed density (specified by min_density_percent).
+
+    \p reserved_size must be greater than 3 (otherwise the tree can just be
+    cleared).
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void rebuild_smaller_tree();
+
+  //! Re-initializes the cached iterators.
+  /*!
+    This method must be called when the indexes[] and data[] vector are
+    reallocated.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void refresh_cached_iterators();
+
+  //! Rebalances the tree.
+  /*!
+    For insertions, it adds the pair (key, value) in the process.
+
+    This operation invalidates existing iterators that point to nodes in the
+    rebalanced subtree.
+
+    \returns an %iterator pointing to the root of the subtree that was
+             rebalanced.
+
+    \param itr
+    It points to the node where the new element has to be inserted or where an
+    element has just been deleted.
+
+    \param key
+    The index that will be inserted in the tree (for insertions only).
+
+    \param value
+    The value that will be inserted in the tree (for insertions only).
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  tree_iterator rebalance(tree_iterator itr, dimension_type key,
+                          data_type_const_reference value);
+
+  //! Moves all elements of a subtree to the rightmost end.
+  /*!
+    \returns
+    The index of the rightmost unused node in the subtree after the process.
+
+    \param last_in_subtree
+    It is the index of the last element in the subtree.
+
+    \param subtree_size
+    It is the number of valid elements in the subtree.
+    It must be greater than zero.
+
+    \param key
+    The key that may be added to the tree if add_element is \c true.
+
+    \param value
+    The value that may be added to the tree if add_element is \c true.
+
+    \param add_element
+    If it is true, it tries to add an element with key \p key and value
+    \p value in the process (but it may not).
+
+    This method takes \f$O(k)\f$ time, where k is \p subtree_size.
+  */
+  dimension_type compact_elements_in_the_rightmost_end(
+    dimension_type last_in_subtree, dimension_type subtree_size,
+    dimension_type key, data_type_const_reference value,
+    bool add_element);
+
+  //! Redistributes the elements in the subtree rooted at \p root_index.
+  /*!
+    The subtree's elements must be compacted to the rightmost end.
+
+    \param root_index
+    The index of the subtree's root node.
+
+    \param subtree_size
+    It is the number of used elements in the subtree.
+    It must be greater than zero.
+
+    \param last_used
+    It points to the leftmost element with a value in the subtree.
+
+    \param add_element
+    If it is true, this method adds an element with the specified key and
+    value in the process.
+
+    \param key
+    The key that will be added to the tree if \p add_element is \c true.
+
+    \param value
+    The data that will be added to the tree if \p add_element is \c true.
+
+    This method takes \f$O(k)\f$ time, where k is \p subtree_size.
+  */
+  void redistribute_elements_in_subtree(dimension_type root_index,
+                                        dimension_type subtree_size,
+                                        dimension_type last_used,
+                                        dimension_type key,
+                                        data_type_const_reference value,
+                                        bool add_element);
+
+  //! Moves all data in the tree \p tree into *this.
+  /*!
+    \param tree
+    The tree from which the element will be moved into *this.
+
+    *this must be empty and big enough to contain all of tree's data without
+    exceeding max_density.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void move_data_from(CO_Tree& tree);
+
+  //! Copies all data in the tree \p tree into *this.
+  /*!
+    \param tree
+    The tree from which the element will be copied into *this.
+
+    *this must be empty and must have the same reserved size of \p tree.
+    this->OK() may return false before this method is called, but
+    this->structure_OK() must return true.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void copy_data_from(const CO_Tree& tree);
+
+  //! Counts the number of used elements in the subtree rooted at itr.
+  /*!
+    \param itr
+    An %iterator pointing to the root of the desired subtree.
+
+    This method takes \f$O(k)\f$ time, where k is the number of elements in
+    the subtree.
+  */
+  static dimension_type count_used_in_subtree(tree_iterator itr);
+
+  //! Moves the value of \p from in \p to .
+  /*!
+    \param from
+    It must be a valid value.
+
+    \param to
+    It must be a non-constructed chunk of memory.
+
+    After the move, \p from becomes a non-constructed chunk of memory and
+    \p to gets the value previously stored by \p from.
+
+    The implementation of this method assumes that data_type values do not
+    keep pointers to themselves nor to their fields.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static void move_data_element(data_type& to, data_type& from);
+
+  //! The maximum density of used nodes.
+  /*!
+    This must be greater than or equal to 50 and lower than 100.
+  */
+  static const dimension_type max_density_percent = 91;
+
+  //! The minimum density of used nodes.
+  /*!
+    Must be strictly lower than the half of max_density_percent.
+  */
+  static const dimension_type min_density_percent = 38;
+
+  //! The minimum density at the leaves' depth.
+  /*!
+    Must be greater than zero and strictly lower than min_density_percent.
+
+    Increasing the value is safe but leads to time inefficiencies
+    (measured against ppl_lpsol on 24 August 2010), because it forces trees to
+    be more balanced, increasing the cost of rebalancing.
+  */
+  static const dimension_type min_leaf_density_percent = 1;
+
+  //! An index used as a marker for unused nodes in the tree.
+  /*!
+    This must not be used as a key.
+  */
+  static const dimension_type unused_index = C_Integer<dimension_type>::max;
+
+  //! The %iterator returned by end().
+  /*!
+    It is updated when needed, to keep it valid.
+  */
+  iterator cached_end;
+
+  //! The %iterator returned by the const version of end().
+  /*!
+    It is updated when needed, to keep it valid.
+  */
+  const_iterator cached_const_end;
+
+  //! The depth of the leaves in the complete tree.
+  height_t max_depth;
+
+  //! The vector that contains the keys in the tree.
+  /*!
+    If an element of this vector is \p unused_index , it means that that
+    element and the corresponding element of data[] are not used.
+
+    Its size is reserved_size + 2, because the first and the last elements
+    are used as markers for iterators.
+  */
+  dimension_type* indexes;
+
+  //! The allocator used to allocate/deallocate data.
+  std::allocator<data_type> data_allocator;
+
+  //! The vector that contains the data of the keys in the tree.
+  /*!
+    If index[i] is \p unused_index, data[i] is unused.
+    Otherwise, data[i] contains the data associated to the indexes[i] key.
+
+    Its size is reserved_size + 1, because the first element is not used (to
+    allow using the same index in both indexes[] and data[] instead of
+    adding 1 to access data[]).
+  */
+  data_type* data;
+
+  //! The number of nodes in the complete tree.
+  /*!
+    It is one less than a power of 2.
+    If this is 0, data and indexes are set to NULL.
+  */
+  dimension_type reserved_size;
+
+  //! The number of values stored in the tree.
+  dimension_type size_;
+};
+
+class CO_Tree::tree_iterator {
+
+public:
+
+  /*!
+    \brief Constructs a tree_iterator pointing at the root node of the
+           specified tree
+
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+  */
+  explicit tree_iterator(CO_Tree& tree);
+
+  //! Constructs a tree_iterator pointing at the specified node of the tree.
+  /*!
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+
+    \param i
+    The index of the element in \p tree to which the new %iterator will point
+    to.
+  */
+  tree_iterator(CO_Tree& tree, dimension_type i);
+
+  //! Constructs a tree_iterator from an iterator.
+  /*!
+    \param itr
+    The iterator that will be converted into a tree_iterator.
+    It must not be end().
+
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+  */
+  tree_iterator(const iterator& itr, CO_Tree& tree);
+
+  //! The assignment operator.
+  /*!
+    \param itr
+    The %iterator that will be assigned into *this.
+  */
+  tree_iterator& operator=(const tree_iterator& itr);
+
+  //! The assignment operator from an iterator.
+  /*!
+    \param itr
+    The iterator that will be assigned into *this.
+  */
+  tree_iterator& operator=(const iterator& itr);
+
+  //! Compares *this with \p itr.
+  /*!
+    \param itr
+    The %iterator that will compared with *this.
+  */
+  bool operator==(const tree_iterator& itr) const;
+
+  //! Compares *this with \p itr.
+  /*!
+    \param itr
+    The %iterator that will compared with *this.
+  */
+  bool operator!=(const tree_iterator& itr) const;
+
+  //! Makes the %iterator point to the root of \p tree.
+  /*!
+    The values of all fields (beside tree) are overwritten.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_root();
+
+  //! Makes the %iterator point to the left child of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_left_child();
+
+  //! Makes the %iterator point to the right child of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_right_child();
+
+  //! Makes the %iterator point to the parent of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_parent();
+
+  /*!
+    \brief Searches for an element with key \p key in the subtree rooted at
+           \p *this.
+
+    \param key
+    The searched for key.
+
+    After this method, *this points to the found node (if it exists) or to
+    the node that would be his parent (otherwise).
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  void go_down_searching_key(dimension_type key);
+
+  /*!
+    \brief Follows left children with a value, until it arrives at a leaf or at
+           a node with no value.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void follow_left_children_with_value();
+
+  /*!
+    \brief Follows right children with a value, until it arrives at a leaf or at
+           a node with no value.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void follow_right_children_with_value();
+
+  //! Returns true if the pointed node is the root node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_root() const;
+
+  //! Returns true if the pointed node has a parent and is its right child.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_right_child() const;
+
+  //! Returns true if the pointed node is a leaf of the complete tree.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_leaf() const;
+
+  //! Returns the key and value of the current node.
+  data_type& operator*();
+
+  //! Returns the key and value of the current node.
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns a reference to the index of the element pointed to by \c *this.
+  /*!
+    \returns a reference to the index of the element pointed to by \c *this.
+  */
+  dimension_type& index();
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  //! Returns the index of the node pointed to by \c *this.
+  /*!
+    \returns the key of the node pointed to by \c *this, or unused_index if
+             the current node does not contain a valid element.
+  */
+  dimension_type key() const;
+
+  //! The tree containing the element pointed to by this %iterator.
+  CO_Tree& tree;
+
+  /*!
+    \brief Returns the index of the current node in the DFS layout of the
+           complete tree.
+  */
+  dimension_type dfs_index() const;
+
+  /*!
+    \brief Returns 2^h, with h the height of the current node in the tree,
+           counting from 0.
+
+    Thus leaves have offset 1.
+    This is faster than depth(), so it is useful to compare node depths.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type get_offset() const;
+
+  //! Returns the depth of the current node in the complete tree.
+  /*!
+    This method takes \f$O(\log n)\f$ time.
+  */
+  height_t depth() const;
+
+private:
+  //! Checks the internal invariant.
+  bool OK() const;
+
+  //! The index of the current node in the DFS layout of the complete tree.
+  dimension_type i;
+
+  /*!
+    \brief This is 2^h, with h the height of the current node in the tree,
+           counting from 0.
+
+    Thus leaves have offset 1.
+    This is equal to (i & -i), and is only stored to increase performance.
+  */
+  dimension_type offset;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree& x, CO_Tree& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree::const_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree::iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree::iterator& x, CO_Tree::iterator& y);
+
+} // namespace Parma_Polyhedra_Library
+
+#include "CO_Tree.inlines.hh"
+#include "CO_Tree.templates.hh"
+
+#endif // !defined(PPL_CO_Tree_defs_hh)
diff --git a/src/CO_Tree.inlines.hh b/src/CO_Tree.inlines.hh
new file mode 100644
index 0000000..4722204
--- /dev/null
+++ b/src/CO_Tree.inlines.hh
@@ -0,0 +1,864 @@
+/* CO_Tree class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_CO_Tree_inlines_hh
+#define PPL_CO_Tree_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+CO_Tree::dfs_index(const_iterator itr) const {
+  PPL_ASSERT(itr.current_index != 0);
+  PPL_ASSERT(itr.current_index >= indexes + 1);
+  PPL_ASSERT(itr.current_index <= indexes + reserved_size);
+  const ptrdiff_t index = itr.current_index - indexes;
+  return static_cast<dimension_type>(index);
+}
+
+inline dimension_type
+CO_Tree::dfs_index(iterator itr) const {
+  PPL_ASSERT(itr.current_index != 0);
+  PPL_ASSERT(itr.current_index >= indexes + 1);
+  PPL_ASSERT(itr.current_index <= indexes + reserved_size);
+  const ptrdiff_t index = itr.current_index - indexes;
+  return static_cast<dimension_type>(index);
+}
+
+inline
+CO_Tree::CO_Tree() {
+  init(0);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::CO_Tree(const CO_Tree& y) {
+  PPL_ASSERT(y.OK());
+  data_allocator = y.data_allocator;
+  init(y.reserved_size);
+  copy_data_from(y);
+}
+
+inline CO_Tree&
+CO_Tree::operator=(const CO_Tree& y) {
+  if (this != &y) {
+    destroy();
+    data_allocator = y.data_allocator;
+    init(y.reserved_size);
+    copy_data_from(y);
+  }
+  return *this;
+}
+
+inline void
+CO_Tree::clear() {
+  *this = CO_Tree();
+}
+
+inline
+CO_Tree::~CO_Tree() {
+
+  destroy();
+}
+
+inline bool
+CO_Tree::empty() const {
+  return size_ == 0;
+}
+
+inline dimension_type
+CO_Tree::size() const {
+  return size_;
+}
+
+inline dimension_type
+CO_Tree::max_size() {
+  return C_Integer<dimension_type>::max/100;
+}
+
+inline void
+CO_Tree::dump_tree() const {
+  if (empty())
+    std::cout << "(empty tree)" << std::endl;
+  else
+    dump_subtree(tree_iterator(*const_cast<CO_Tree*>(this)));
+}
+
+inline CO_Tree::iterator
+CO_Tree::insert(const dimension_type key) {
+  if (empty())
+    return insert(key, Coefficient_zero());
+  else {
+    tree_iterator itr(*this);
+    itr.go_down_searching_key(key);
+    if (itr.index() == key)
+      return iterator(itr);
+    else
+      return iterator(insert_precise(key, Coefficient_zero(), itr));
+  }
+}
+
+inline CO_Tree::iterator
+CO_Tree::insert(dimension_type key, data_type_const_reference data1) {
+  if (empty()) {
+    insert_in_empty_tree(key, data1);
+    tree_iterator itr(*this);
+    PPL_ASSERT(itr.index() != unused_index);
+    return iterator(itr);
+  } else {
+    tree_iterator itr(*this);
+    itr.go_down_searching_key(key);
+    return iterator(insert_precise(key, data1, itr));
+  }
+}
+
+inline CO_Tree::iterator
+CO_Tree::erase(dimension_type key) {
+  PPL_ASSERT(key != unused_index);
+
+  if (empty())
+    return end();
+
+  tree_iterator itr(*this);
+  itr.go_down_searching_key(key);
+
+  if (itr.index() == key)
+    return erase(itr);
+
+  iterator result(itr);
+  if (result.index() < key)
+    ++result;
+
+  PPL_ASSERT(result == end() || result.index() > key);
+#ifndef NDEBUG
+  iterator last = end();
+  --last;
+  PPL_ASSERT((result == end()) == (last.index() < key));
+#endif
+
+  return result;
+}
+
+inline CO_Tree::iterator
+CO_Tree::erase(iterator itr) {
+  PPL_ASSERT(itr != end());
+  return erase(tree_iterator(itr, *this));
+}
+
+inline void
+CO_Tree::m_swap(CO_Tree& x) {
+  using std::swap;
+  swap(max_depth, x.max_depth);
+  swap(indexes, x.indexes);
+  swap(data_allocator, x.data_allocator);
+  swap(data, x.data);
+  swap(reserved_size, x.reserved_size);
+  swap(size_, x.size_);
+  // Cached iterators have been invalidated by the swap,
+  // they must be refreshed here.
+  refresh_cached_iterators();
+  x.refresh_cached_iterators();
+  PPL_ASSERT(structure_OK());
+  PPL_ASSERT(x.structure_OK());
+}
+
+inline CO_Tree::iterator
+CO_Tree::begin() {
+  return iterator(*this);
+}
+
+inline const CO_Tree::iterator&
+CO_Tree::end() {
+  return cached_end;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::begin() const {
+  return const_iterator(*this);
+}
+
+inline const CO_Tree::const_iterator&
+CO_Tree::end() const {
+  return cached_const_end;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::cbegin() const {
+  return const_iterator(*this);
+}
+
+inline const CO_Tree::const_iterator&
+CO_Tree::cend() const {
+  return cached_const_end;
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect(dimension_type key) {
+  if (empty())
+    return end();
+  iterator last = end();
+  --last;
+  return bisect_in(begin(), last, key);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect(dimension_type key) const {
+  if (empty())
+    return end();
+  const_iterator last = end();
+  --last;
+  return bisect_in(begin(), last, key);
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect_in(iterator first, iterator last, dimension_type key) {
+  PPL_ASSERT(first != end());
+  PPL_ASSERT(last != end());
+  dimension_type index = bisect_in(dfs_index(first), dfs_index(last), key);
+  return iterator(*this, index);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect_in(const_iterator first, const_iterator last,
+                   dimension_type key) const {
+  PPL_ASSERT(first != end());
+  PPL_ASSERT(last != end());
+  dimension_type index = bisect_in(dfs_index(first), dfs_index(last), key);
+  return const_iterator(*this, index);
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect_near(iterator hint, dimension_type key) {
+  if (hint == end())
+    return bisect(key);
+  dimension_type index = bisect_near(dfs_index(hint), key);
+  return iterator(*this, index);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect_near(const_iterator hint, dimension_type key) const {
+  if (hint == end())
+    return bisect(key);
+  dimension_type index = bisect_near(dfs_index(hint), key);
+  return const_iterator(*this, index);
+}
+
+inline void
+CO_Tree::fast_shift(dimension_type i, iterator itr) {
+  PPL_ASSERT(itr != end());
+  PPL_ASSERT(i <= itr.index());
+  indexes[dfs_index(itr)] = i;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::insert_in_empty_tree(dimension_type key,
+                              data_type_const_reference data1) {
+  PPL_ASSERT(empty());
+  rebuild_bigger_tree();
+  tree_iterator itr(*this);
+  PPL_ASSERT(itr.index() == unused_index);
+  new (&(*itr)) data_type(data1);
+  // Set the index afterwards, so that if the constructor above throws
+  // the tree's structure is consistent.
+  itr.index() = key;
+  ++size_;
+
+  PPL_ASSERT(OK());
+}
+
+inline bool
+CO_Tree::is_less_than_ratio(dimension_type numer, dimension_type denom,
+                            dimension_type ratio) {
+  PPL_ASSERT(ratio <= 100);
+  // If these are true, no overflows are possible.
+  PPL_ASSERT(denom <= unused_index/100);
+  PPL_ASSERT(numer <= unused_index/100);
+  return 100*numer < ratio*denom;
+}
+
+inline bool
+CO_Tree::is_greater_than_ratio(dimension_type numer, dimension_type denom,
+                               dimension_type ratio) {
+  PPL_ASSERT(ratio <= 100);
+  // If these are true, no overflows are possible.
+  PPL_ASSERT(denom <= unused_index/100);
+  PPL_ASSERT(numer <= unused_index/100);
+  return 100*numer > ratio*denom;
+}
+
+inline void
+CO_Tree::rebuild_smaller_tree() {
+  PPL_ASSERT(reserved_size > 3);
+  CO_Tree new_tree;
+  new_tree.init(reserved_size / 2);
+  new_tree.move_data_from(*this);
+  m_swap(new_tree);
+  PPL_ASSERT(new_tree.structure_OK());
+  PPL_ASSERT(structure_OK());
+}
+
+inline void
+CO_Tree::refresh_cached_iterators() {
+  cached_end = iterator(*this, reserved_size + 1);
+  cached_const_end = const_iterator(*this, reserved_size + 1);
+}
+
+inline void
+CO_Tree::move_data_element(data_type& to, data_type& from) {
+  // The following code is equivalent (but slower):
+  //
+  // <CODE>
+  //   new (&to) data_type(from);
+  //   from.~data_type();
+  // </CODE>
+  std::memcpy(&to, &from, sizeof(data_type));
+}
+
+
+inline
+CO_Tree::const_iterator::const_iterator()
+  : current_index(0), current_data(0) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = 0;
+#endif
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1)
+  : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  if (!tree1.empty())
+    while (*current_index == unused_index) {
+      ++current_index;
+      ++current_data;
+    }
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1,
+                                        dimension_type i)
+  : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  PPL_ASSERT(i != 0);
+  PPL_ASSERT(i <= tree1.reserved_size + 1);
+  PPL_ASSERT(tree1.empty() || tree1.indexes[i] != unused_index);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const const_iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::const_iterator::m_swap(const_iterator& itr) {
+  using std::swap;
+  swap(current_data, itr.current_data);
+  swap(current_index, itr.current_index);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  swap(tree, itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  PPL_ASSERT(itr.OK());
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator=(const const_iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator=(const iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator++() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  ++current_index;
+  ++current_data;
+  while (*current_index == unused_index) {
+    ++current_index;
+    ++current_data;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator--() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  --current_index;
+  --current_data;
+  while (*current_index == unused_index) {
+    --current_index;
+    --current_data;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::const_iterator::operator++(int) {
+  const_iterator itr(*this);
+  ++(*this);
+  return itr;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::const_iterator::operator--(int) {
+  const_iterator itr(*this);
+  --(*this);
+  return itr;
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::const_iterator::operator*() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline dimension_type
+CO_Tree::const_iterator::index() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_index;
+}
+
+inline bool
+CO_Tree::const_iterator::operator==(const const_iterator& x) const {
+  PPL_ASSERT((current_index == x.current_index)
+             == (current_data == x.current_data));
+  PPL_ASSERT(OK());
+  return (current_index == x.current_index);
+}
+
+inline bool
+CO_Tree::const_iterator::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+
+inline
+CO_Tree::iterator::iterator()
+  : current_index(0), current_data(0) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = 0;
+#endif
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(CO_Tree& tree1)
+  : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  if (!tree1.empty())
+    while (*current_index == unused_index) {
+      ++current_index;
+      ++current_data;
+    }
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(CO_Tree& tree1, dimension_type i)
+  : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  PPL_ASSERT(i != 0);
+  PPL_ASSERT(i <= tree1.reserved_size + 1);
+  PPL_ASSERT(tree1.empty() || tree1.indexes[i] != unused_index);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(const tree_iterator& itr) {
+  *this = itr;
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(const iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::iterator::m_swap(iterator& itr) {
+  using std::swap;
+  swap(current_data, itr.current_data);
+  swap(current_index, itr.current_index);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  swap(tree, itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  PPL_ASSERT(itr.OK());
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator=(const tree_iterator& itr) {
+  current_index = &(itr.tree.indexes[itr.dfs_index()]);
+  current_data = &(itr.tree.data[itr.dfs_index()]);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &(itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator=(const iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator++() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  ++current_index;
+  ++current_data;
+  while (*current_index == unused_index) {
+    ++current_index;
+    ++current_data;
+  }
+
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator--() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  --current_index;
+  --current_data;
+  while (*current_index == unused_index) {
+    --current_index;
+    --current_data;
+  }
+
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator
+CO_Tree::iterator::operator++(int) {
+  iterator itr(*this);
+  ++(*this);
+  return itr;
+}
+
+inline CO_Tree::iterator
+CO_Tree::iterator::operator--(int) {
+  iterator itr(*this);
+  --(*this);
+  return itr;
+}
+
+inline CO_Tree::data_type&
+CO_Tree::iterator::operator*() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::iterator::operator*() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline dimension_type
+CO_Tree::iterator::index() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_index;
+}
+
+inline bool
+CO_Tree::iterator::operator==(const iterator& x) const {
+  PPL_ASSERT((current_index == x.current_index)
+             == (current_data == x.current_data));
+  PPL_ASSERT(OK());
+  return (current_index == x.current_index);
+}
+
+inline bool
+CO_Tree::iterator::operator!=(const iterator& x) const {
+  return !(*this == x);
+}
+
+
+inline
+CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  get_root();
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1, dimension_type i1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  PPL_ASSERT(i1 <= tree.reserved_size + 1);
+  i = i1;
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::tree_iterator::tree_iterator(const iterator& itr, CO_Tree& tree1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  *this = itr;
+  PPL_ASSERT(OK());
+}
+
+inline CO_Tree::tree_iterator&
+CO_Tree::tree_iterator::operator=(const tree_iterator& itr) {
+  PPL_ASSERT(&tree == &(itr.tree));
+  i = itr.i;
+  offset = itr.offset;
+  return *this;
+}
+
+inline CO_Tree::tree_iterator&
+CO_Tree::tree_iterator::operator=(const iterator& itr) {
+  PPL_ASSERT(itr != tree.end());
+  i = tree.dfs_index(itr);
+  offset = least_significant_one_mask(i);
+  return *this;
+}
+
+inline bool
+CO_Tree::tree_iterator::operator==(const tree_iterator& itr) const {
+  return i == itr.i;
+}
+
+inline bool
+CO_Tree::tree_iterator::operator!=(const tree_iterator& itr) const {
+  return !(*this == itr);
+}
+
+inline void
+CO_Tree::tree_iterator::get_root() {
+  i = tree.reserved_size / 2 + 1;
+  offset = i;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_left_child() {
+  PPL_ASSERT(offset != 0);
+  PPL_ASSERT(offset != 1);
+  offset /= 2;
+  i -= offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_right_child() {
+  PPL_ASSERT(offset != 0);
+  PPL_ASSERT(offset != 1);
+  offset /= 2;
+  i += offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_parent() {
+  PPL_ASSERT(!is_root());
+  PPL_ASSERT(offset != 0);
+  i &= ~offset;
+  offset *= 2;
+  i |= offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::follow_left_children_with_value() {
+  PPL_ASSERT(index() != unused_index);
+  dimension_type* p = tree.indexes;
+  p += i;
+  p -= (offset - 1);
+  while (*p == unused_index)
+    ++p;
+  ptrdiff_t distance = p - tree.indexes;
+  PPL_ASSERT(distance >= 0);
+  i = static_cast<dimension_type>(distance);
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::follow_right_children_with_value() {
+  PPL_ASSERT(index() != unused_index);
+  dimension_type* p = tree.indexes;
+  p += i;
+  p += (offset - 1);
+  while (*p == unused_index)
+    --p;
+  ptrdiff_t distance = p - tree.indexes;
+  PPL_ASSERT(distance >= 0);
+  i = static_cast<dimension_type>(distance);
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline bool
+CO_Tree::tree_iterator::is_root() const {
+  // This is implied by OK(), it is here for reference only.
+  PPL_ASSERT(offset <= (tree.reserved_size / 2 + 1));
+  return offset == (tree.reserved_size / 2 + 1);
+}
+
+inline bool
+CO_Tree::tree_iterator::is_right_child() const {
+  if (is_root())
+    return false;
+  return (i & (2*offset)) != 0;
+}
+
+inline bool
+CO_Tree::tree_iterator::is_leaf() const {
+  return offset == 1;
+}
+
+inline CO_Tree::data_type&
+CO_Tree::tree_iterator::operator*() {
+  return tree.data[i];
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::tree_iterator::operator*() const {
+  return tree.data[i];
+}
+
+inline dimension_type&
+CO_Tree::tree_iterator::index() {
+  return tree.indexes[i];
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::index() const {
+  return tree.indexes[i];
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::dfs_index() const {
+  return i;
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::get_offset() const {
+  return offset;
+}
+
+inline CO_Tree::height_t
+CO_Tree::tree_iterator::depth() const {
+  return integer_log2((tree.reserved_size + 1) / offset);
+}
+
+inline void
+swap(CO_Tree& x, CO_Tree& y) {
+  x.m_swap(y);
+}
+
+inline void
+swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y) {
+  x.m_swap(y);
+}
+
+inline void
+swap(CO_Tree::iterator& x, CO_Tree::iterator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_CO_Tree_inlines_hh)
diff --git a/src/CO_Tree.templates.hh b/src/CO_Tree.templates.hh
new file mode 100644
index 0000000..a498adf
--- /dev/null
+++ b/src/CO_Tree.templates.hh
@@ -0,0 +1,139 @@
+/* CO_Tree class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_CO_Tree_templates_hh
+#define PPL_CO_Tree_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Iterator>
+CO_Tree::CO_Tree(Iterator i, dimension_type n) {
+
+  if (n == 0) {
+    init(0);
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  dimension_type new_max_depth = integer_log2(n) + 1;
+  reserved_size = (static_cast<dimension_type>(1) << new_max_depth) - 1;
+
+  if (is_greater_than_ratio(n, reserved_size, max_density_percent)
+      && reserved_size != 3)
+    reserved_size = reserved_size*2 + 1;
+
+  init(reserved_size);
+
+  tree_iterator root(*this);
+
+  // This is static and with static allocation, to improve performance.
+  // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that
+  // 2^k-1 is a dimension_type, so it is the maximum tree height.
+  // For each node level, the stack may contain up to 4 elements: two elements
+  // with operation 0, one element with operation 2 and one element
+  // with operation 3. An additional element with operation 1 can be at the
+  // top of the tree.
+  static std::pair<dimension_type, signed char>
+    stack[4U * sizeof_to_bits(sizeof(dimension_type)) + 1U];
+
+  dimension_type stack_first_empty = 0;
+
+  // A pair (n, operation) in the stack means:
+  //
+  // * Go to the parent, if operation is 0.
+  // * Go to the left child, then fill the current tree with n elements, if
+  //   operation is 1.
+  // * Go to the right child, then fill the current tree with n elements, if
+  //   operation is 2.
+  // * Fill the current tree with n elements, if operation is 3.
+
+  stack[0].first = n;
+  stack[0].second = 3;
+  ++stack_first_empty;
+
+  while (stack_first_empty != 0) {
+
+    // Implement
+    //
+    // <CODE>
+    //   top_n         = stack.top().first;
+    //   top_operation = stack.top().second;
+    // </CODE>
+    const dimension_type top_n = stack[stack_first_empty - 1].first;
+    const signed char top_operation = stack[stack_first_empty - 1].second;
+
+    switch (top_operation) {
+
+    case 0:
+      root.get_parent();
+      --stack_first_empty;
+      continue;
+
+    case 1:
+      root.get_left_child();
+      break;
+
+    case 2:
+      root.get_right_child();
+      break;
+#ifndef NDEBUG
+    case 3:
+      break;
+
+    default:
+      // We should not be here
+      PPL_UNREACHABLE;
+#endif
+    }
+
+    // We now visit the current tree
+
+    if (top_n == 0) {
+      --stack_first_empty;
+    } else {
+      if (top_n == 1) {
+        PPL_ASSERT(root.index() == unused_index);
+        root.index() = i.index();
+        new (&(*root)) data_type(*i);
+        ++i;
+        --stack_first_empty;
+      } else {
+        PPL_ASSERT(stack_first_empty + 3 < sizeof(stack)/sizeof(stack[0]));
+
+        const dimension_type half = (top_n + 1) / 2;
+        stack[stack_first_empty - 1].second = 0;
+        stack[stack_first_empty    ] = std::make_pair(top_n - half, 2);
+        stack[stack_first_empty + 1] = std::make_pair(1, 3);
+        stack[stack_first_empty + 2].second = 0;
+        stack[stack_first_empty + 3] = std::make_pair(half - 1, 1);
+        stack_first_empty += 4;
+      }
+    }
+  }
+  size_ = n;
+  PPL_ASSERT(OK());
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_CO_Tree_templates_hh)
diff --git a/src/CO_Tree.types.hh b/src/CO_Tree.types.hh
new file mode 100644
index 0000000..b7157a0
--- /dev/null
+++ b/src/CO_Tree.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_CO_Tree_types_hh
+#define PPL_CO_Tree_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class CO_Tree;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_CO_Tree_types_hh)
diff --git a/src/CREDITS.cc.dist b/src/CREDITS.cc.dist
index 4efc648..2716e6a 100644
--- a/src/CREDITS.cc.dist
+++ b/src/CREDITS.cc.dist
@@ -1,4 +1,4 @@
-extern const char* const CREDITS_array[] = {
+extern const char* const CREDITS_array[435] = {
   "",
   "Authors",
   "=======",
@@ -11,9 +11,10 @@ extern const char* const CREDITS_array[] = {
   "Core Development Team:",
   "----------------------",
   "",
-  "  Roberto Bagnara       [1] (University of Parma)",
-  "  Patricia M. Hill      [2] (University of Leeds)",
-  "  Enea Zaffanella       [3] (University of Parma)",
+  "  Roberto Bagnara       [1] (BUGSENG srl and University of Parma)",
+  "  Patricia M. Hill      [2] (BUGSENG srl and University of Leeds)",
+  "  Enea Zaffanella       [3] (BUGSENG srl and University of Parma)",
+  "  Abramo Bagnara            (BUGSENG srl)",
   "",
   "",
   "Former Members of the Core Development Team:",
@@ -29,20 +30,11 @@ extern const char* const CREDITS_array[] = {
   "Current Contributors:",
   "---------------------",
   "",
-  "  Abramo Bagnara        (Opera Unica) rewrote and generalized the",
-  "                        support for checked coefficients.  He also",
-  "                        wrote the support for extended numbers and is",
-  "                        currently writing a new implementation of",
-  "                        intervals.  He also helps on several other",
-  "                        design and implementation issues.",
-  "",
-  "  Fabio Bossi           (student of the University of Parma)",
-  "                        is working on the PPL support for the approximation",
-  "                        of floating point computations.",
-  "",
-  "  Francois Galea        [*] (University of Versailles) is working",
-  "                        at the implementation of the Parametric Integer",
-  "                        Programming solver.",
+  "  Andrea Cimino         (former student of the University of Parma)",
+  "                        wrote most of the mixed integer programming",
+  "                        solver, and also most of the Java and OCaml",
+  "                        interfaces.  He keeps helping us, especially",
+  "                        with the web site.",
   "",
   "  Marco Poletti         (student of the University of Bologna)",
   "                        implemented the sparse matrices that are used",
@@ -52,10 +44,7 @@ extern const char* const CREDITS_array[] = {
   "                        on improving the PPL's memory footprint and",
   "                        on other improvements to the library.",
   "",
-  "  Enric Rodriguez Carbonell [4] (Technical University of Catalonia) is",
-  "                        working on the implementation of polynomial spaces.",
-  "",
-  "  Alessandro Zaccagnini [5] (University of Parma) has helped with",
+  "  Alessandro Zaccagnini [4] (University of Parma) has helped with",
   "                        the efficient implementation of GCD and LCM",
   "                        for checked numbers.  He is now working on the",
   "                        definitions of interval arithmetic operations.",
@@ -66,7 +55,7 @@ extern const char* const CREDITS_array[] = {
   "Past Contributors:",
   "------------------",
   "",
-  "  Roberto Amadini       (student of the University of Parma)",
+  "  Roberto Amadini       (former student of the University of Parma)",
   "                        did some work on the PPL support for the",
   "                        approximation of floating point computations.",
   "",
@@ -80,6 +69,10 @@ extern const char* const CREDITS_array[] = {
   "                        did some work on the PPL support for the",
   "                        approximation of floating point computations.",
   "",
+  "  Fabio Bossi           (former student of the University of Parma)",
+  "                        worked on the PPL support for the approximation",
+  "                        of floating point computations.",
+  "",
   "  Danilo Bonardi        (former student of the University of Parma) worked",
   "                        on a development branch where he experimented",
   "                        with the use of metaprogramming techniques",
@@ -92,54 +85,59 @@ extern const char* const CREDITS_array[] = {
   "                        one of the four students with which the PPL",
   "                        project started.",
   "",
-  "  Andrea Cimino         (former student of the University of Parma)",
-  "                        wrote most of the mixed integer programming",
-  "                        solver, and also most of the Java and OCaml",
-  "                        interfaces.",
-  "",
-  "  Katy Dobson           [6] (former student of the University of Leeds)",
+  "  Katy Dobson           (former student of the University of Leeds)",
   "                        worked on the formalization and definition of",
   "                        algorithms for rational grids and products",
   "                        of grids and polyhedra.",
   "",
-  "  Giordano Fracasso     (University of Parma) wrote the initial version",
-  "                        of the support for native and checked integer",
-  "                        coefficients.",
+  "  Giordano Fracasso     (former student of the University of Parma) wrote",
+  "                        the initial version of the support for native",
+  "                        and checked integer coefficients.",
+  "",
+  "  Francois Galea        [5] (University of Versailles) worked",
+  "                        at the implementation of the Parametric Integer",
+  "                        Programming solver.",
   "",
   "  Maximiliano Marchesi  (former student of the University of Parma)",
   "                        helped a little to improve the documentation for",
   "                        bounded differences.",
   "",
-  "  Elena Mazzi           (University of Parma) worked on our implementation",
-  "                        of bounded differences and octagons.  She also",
-  "                        participated in the theoretical and practical",
-  "                        work concerning widening operators for weakly",
-  "                        relational domains.",
+  "  Elena Mazzi           (former student of the University of Parma) worked",
+  "                        on our implementation of bounded differences",
+  "                        and octagons.  She also participated in the",
+  "                        theoretical and practical work concerning",
+  "                        widening operators for weakly relational",
+  "                        domains.",
   "",
   "  David Merchat         (formerly at the University of Parma) helped us",
   "                        with the generation of the library's documentation",
   "                        using Doxygen.",
   "",
-  "  Matthew Mundell       [7] (formerly at the University of Leeds) worked",
+  "  Matthew Mundell       [6] (formerly at the University of Leeds) worked",
   "                        on the implementation of rational grids.  He has",
   "                        also helped on other implementation issues.",
   "",
-  "  Andrea Pescetti       (University of Parma) was one of the four students",
-  "                        with which the PPL project started.  Later, he",
-  "                        helped a little with the library's documentation.",
+  "  Andrea Pescetti       (former student of the University of Parma) was one",
+  "                        of the four students with which the PPL",
+  "                        project started.  Later, he helped a little",
+  "                        with the library's documentation.",
   "",
   "  Barbara Quartieri     (former student of the University of Parma) worked",
   "                        on our implementation of bounded differences and",
   "                        octagons.",
   "",
+  "  Enric Rodriguez Carbonell [7] (Technical University of Catalonia)",
+  "                        worked at the implementation of polynomial spaces.",
+  "",
   "  Angela Stazzone       (former student of the University of Parma)",
   "                        worked on the library's documentation.",
   "",
-  "  Fabio Trabucchi       (University of Parma) worked on a development",
-  "                        branch where he added serializers for all the",
-  "                        objects of the PPL.  Support for serialization",
-  "                        based on Fabio's work will be available in a",
-  "                        future release of the library.",
+  "  Fabio Trabucchi       (former student of the University of Parma) worked",
+  "                        on a development branch where he added",
+  "                        serializers for all the objects of the PPL.",
+  "                        Support for serialization based on Fabio's",
+  "                        work will be available in a future release of",
+  "                        the library.",
   "",
   "  Claudio Trento        (former student of the University of Pisa) did",
   "                        a small amount of work on an experimental OCaml",
@@ -202,10 +200,9 @@ extern const char* const CREDITS_array[] = {
   "                        this possibility, porting the PPL to the ARM's",
   "                        ABIs would have taken ages.",
   "",
-  "  Bruno Haible          [19] (ILOG) made it possible (by writing the",
-  "                        AC_LIB_LINKFLAGS macro and explaining how",
-  "                        to use it) to allow the use of versions of the",
-  "                        GMP library installed in nonstandard places.",
+  "  Bruno Haible          [19] (ILOG) helped us in our first steps towards",
+  "                        using versions of the GMP library installed in",
+  "                        nonstandard places.",
   "",
   "  Bertrand Jeannet      [20] (IRISA) wrote the New Polka library [21]",
   "                        and made it available.  We had several",
@@ -239,7 +236,8 @@ extern const char* const CREDITS_array[] = {
   "                        analyze the same Prolog programs.  Since these",
   "                        systems did not share a single line of code,",
   "                        this gave us excellent opportunities for our",
-  "                        initial testing and debugging work.",
+  "                        initial testing and debugging work.  Fred has",
+  "                        also helped us to port the PPL to Mac OS X.",
   "",
   "  Ken Mixter            (then at Carnegie Mellon University) provided",
   "                        useful feedback while working on an",
@@ -324,9 +322,9 @@ extern const char* const CREDITS_array[] = {
   "  numerical abstractions and how the PPL can help.  Special thanks go",
   "  to Albert Cohen [57] for this sponsorship.",
   "",
-  "- INRIA [56] is supporting Abramo Bagnara from January 1st to May 31st,",
-  "  2009, to work on the PPL and its development infrastructure.",
-  "  Many thanks go, in particular, to Albert Cohen [57].",
+  "- INRIA [56] supported the work of Abramo Bagnara from January 1st to",
+  "  May 31st, 2009, to work on the PPL and its development",
+  "  infrastructure.  Many thanks go, in particular, to Albert Cohen [57].",
   "",
   "",
   "Some of our research work has been partly supported by the following",
@@ -353,28 +351,30 @@ extern const char* const CREDITS_array[] = {
   "- PRIN project ``AIDA 2007 - Abstract Interpretation: Design and",
   "  Applications'' [62];",
   "",
+  "- Integrated Action Italy-Spain 2001-2002 ``Advanced Development Environments",
+  "  for Logic Programs'' [63];",
+  "",
   "- Royal Society Joint project 2004/R1-EU (UK-Italy)",
   "  ``Automatic Detection of Unstable Numerical Computations'';",
   "",
   "- EPSRC (UK) project EP/C520726/1",
-  "  ``Numerical Domains for Software Analysis'' [63];",
+  "  ``Numerical Domains for Software Analysis'' [64];",
   "",
   "- Royal Society International Outgoing Short Visit 2007/R4",
-  "  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [64];",
+  "  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [65];",
   "",
   "- EPSRC (UK) project EP/G025177/1",
-  "  ``Geometric Abstractions for Scalable Program Analyzers'' [64].",
+  "  ``Geometric Abstractions for Scalable Program Analyzers'' [65].",
   "",
   "--------",
   "",
   " [1] http://www.cs.unipr.it/~bagnara/",
   " [2] http://www.comp.leeds.ac.uk/hill/",
   " [3] http://www.cs.unipr.it/~zaffanella/",
-  " [*] http://www.prism.uvsq.fr/~fgalea/",
-  " [4] http://www.lsi.upc.edu/~erodri/",
-  " [5] http://www.math.unipr.it/~zaccagni/",
-  " [6] http://www.comp.leeds.ac.uk/katyd/",
-  " [7] http://www.mundell.ukfsn.org/",
+  " [4] http://www.math.unipr.it/~zaccagni/",
+  " [5] http://fgalea.free.fr/",
+  " [6] http://www.mundell.ukfsn.org/",
+  " [7] http://www.lsi.upc.edu/~erodri/",
   " [8] http://www.irisa.fr/lande/fbesson/fbesson.html",
   " [9] http://www.cs.ucsb.edu/~bultan/",
   "[10] http://www.clip.dia.fi.upm.es/~boris/",
@@ -389,8 +389,8 @@ extern const char* const CREDITS_array[] = {
   "[19] http://www.haible.de/bruno/",
   "[20] http://www.irisa.fr/prive/Bertrand.Jeannet/",
   "[21] http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html",
-  "[22] http://www.cs.unipr.it/ppl/Documentation/chernikova.c",
-  "[23] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92",
+  "[22] http://bugseng.com/products/ppl/documentation/chernikova.c",
+  "[23] http://bugseng.com/products/ppl/documentation/bibliography#LeVerge92",
   "[24] http://research.microsoft.com/~logozzo/",
   "[25] http://homepages.inf.ed.ac.uk/kwxm/",
   "[26] http://www.math.unipr.it/~medori/",
@@ -430,6 +430,7 @@ extern const char* const CREDITS_array[] = {
   "[60] http://www.disi.unige.it/person/DelzannoG/cover/",
   "[61] http://www.cs.unipr.it/Projects/AIDA/",
   "[62] http://www.cs.unipr.it/Projects/AIDA2007/",
-  "[63] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html",
-  "[64] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html",
+  "[63] http://www.cs.unipr.it/Projects/AzInt2001-2002Sp",
+  "[64] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html",
+  "[65] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html",
   0};
diff --git a/src/CREDITS.hh.dist b/src/CREDITS.hh.dist
new file mode 100644
index 0000000..5306abd
--- /dev/null
+++ b/src/CREDITS.hh.dist
@@ -0,0 +1,4 @@
+#ifndef PPL_CREDITS_hh
+#define PPL_CREDITS_hh 1
+extern const char* const CREDITS_array[435];
+#endif // !defined(PPL_CREDITS_hh)
diff --git a/src/C_Integer.hh b/src/C_Integer.hh
index c08156a..4777e0a 100644
--- a/src/C_Integer.hh
+++ b/src/C_Integer.hh
@@ -1,6 +1,6 @@
 /* C integers info.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_C_Integer_hh
 #define PPL_C_Integer_hh 1
@@ -63,7 +63,7 @@ struct C_Integer : public False { };
 
 template <>
 struct C_Integer<char> : public True {
-  enum anonymous_enum {
+  enum const_bool_value {
 #if PPL_CXX_PLAIN_CHAR_IS_SIGNED
     is_signed = true
 #else
@@ -78,13 +78,13 @@ struct C_Integer<char> : public True {
 #else
   typedef signed char other_type;
 #endif
-  static const char min = CHAR_MIN;
-  static const char max = CHAR_MAX;
+  static const char min = static_cast<char>(CHAR_MIN);
+  static const char max = static_cast<char>(CHAR_MAX);
 };
 
 template <>
 struct C_Integer<signed char> : public True {
-  enum anonymous_enum { is_signed = true };
+  enum const_bool_value { is_signed = true };
   typedef void smaller_type;
   typedef void smaller_signed_type;
   typedef void smaller_unsigned_type;
@@ -95,7 +95,7 @@ struct C_Integer<signed char> : public True {
 
 template <>
 struct C_Integer<signed short> : public True {
-  enum anonymous_enum { is_signed = true };
+  enum const_bool_value { is_signed = true };
   typedef signed char smaller_type;
   typedef signed char smaller_signed_type;
   typedef unsigned char smaller_unsigned_type;
@@ -106,7 +106,7 @@ struct C_Integer<signed short> : public True {
 
 template <>
 struct C_Integer<signed int> : public True {
-  enum anonymous_enum { is_signed = true };
+  enum const_bool_value { is_signed = true };
   typedef signed short smaller_type;
   typedef signed short smaller_signed_type;
   typedef unsigned short smaller_unsigned_type;
@@ -117,7 +117,7 @@ struct C_Integer<signed int> : public True {
 
 template <>
 struct C_Integer<signed long> : public True {
-  enum anonymous_enum { is_signed = true };
+  enum const_bool_value { is_signed = true };
   typedef signed int smaller_type;
   typedef signed int smaller_signed_type;
   typedef unsigned int smaller_unsigned_type;
@@ -128,7 +128,7 @@ struct C_Integer<signed long> : public True {
 
 template <>
 struct C_Integer<signed long long> : public True {
-  enum anonymous_enum { is_signed = true };
+  enum const_bool_value { is_signed = true };
   typedef signed long smaller_type;
   typedef signed long smaller_signed_type;
   typedef unsigned long smaller_unsigned_type;
@@ -139,57 +139,57 @@ struct C_Integer<signed long long> : public True {
 
 template <>
 struct C_Integer<unsigned char> : public True {
-  enum anonymous_enum { is_signed = false };
+  enum const_bool_value { is_signed = false };
   typedef void smaller_type;
   typedef void smaller_signed_type;
   typedef void smaller_unsigned_type;
   typedef signed char other_type;
-  static const unsigned char min = 0;
-  static const unsigned char max = UCHAR_MAX;
+  static const unsigned char min = 0U;
+  static const unsigned char max = static_cast<unsigned char>(~0U);
 };
 
 template <>
 struct C_Integer<unsigned short> : public True {
-  enum anonymous_enum { is_signed = false };
+  enum const_bool_value { is_signed = false };
   typedef unsigned char smaller_type;
   typedef signed char smaller_signed_type;
   typedef unsigned char smaller_unsigned_type;
   typedef signed short other_type;
-  static const unsigned short min = 0;
-  static const unsigned short max = USHRT_MAX;
+  static const unsigned short min = 0U;
+  static const unsigned short max = static_cast<unsigned short>(~0U);
 };
 
 template <>
 struct C_Integer<unsigned int> : public True {
-  enum anonymous_enum { is_signed = false };
+  enum const_bool_value { is_signed = false };
   typedef unsigned short smaller_type;
   typedef signed short smaller_signed_type;
   typedef unsigned short smaller_unsigned_type;
   typedef signed int other_type;
-  static const unsigned int min = 0;
-  static const unsigned int max = UINT_MAX;
+  static const unsigned int min = 0U;
+  static const unsigned int max = ~0U;
 };
 
 template <>
 struct C_Integer<unsigned long> : public True {
-  enum anonymous_enum { is_signed = false };
+  enum const_bool_value { is_signed = false };
   typedef unsigned int smaller_type;
   typedef signed int smaller_signed_type;
   typedef unsigned int smaller_unsigned_type;
   typedef signed long other_type;
-  static const unsigned long min = 0;
-  static const unsigned long max = ULONG_MAX;
+  static const unsigned long min = 0UL;
+  static const unsigned long max = ~0UL;
 };
 
 template <>
 struct C_Integer<unsigned long long> : public True {
-  enum anonymous_enum { is_signed = false };
+  enum const_bool_value { is_signed = false };
   typedef unsigned long smaller_type;
   typedef signed long smaller_signed_type;
   typedef unsigned long smaller_unsigned_type;
   typedef signed long long other_type;
-  static const unsigned long long min = 0;
-  static const unsigned long long max = ULLONG_MAX;
+  static const unsigned long long min = 0ULL;
+  static const unsigned long long max = ~0ULL;
 };
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/C_Polyhedron.cc b/src/C_Polyhedron.cc
index 45b4caa..32bb65d 100644
--- a/src/C_Polyhedron.cc
+++ b/src/C_Polyhedron.cc
@@ -1,6 +1,6 @@
 /* C_Polyhedron class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "C_Polyhedron.defs.hh"
 #include "NNC_Polyhedron.defs.hh"
 #include "Grid.defs.hh"
@@ -43,40 +42,36 @@ PPL::C_Polyhedron::C_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
 
 PPL::C_Polyhedron::C_Polyhedron(const Congruence_System& cgs)
   : Polyhedron(NECESSARILY_CLOSED,
-	       cgs.space_dimension() <= max_space_dimension()
-	       ? cgs.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cgs)",
-						 "the space dimension of cgs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(cgs.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(cgs)",
+                                              "the space dimension of cgs "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_congruences(cgs);
 }
 
 PPL::C_Polyhedron::C_Polyhedron(Congruence_System& cgs, Recycle_Input)
   : Polyhedron(NECESSARILY_CLOSED,
-	       cgs.space_dimension() <= max_space_dimension()
-	       ? cgs.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron"
-						 "(cgs, recycle)",
-						 "the space dimension of cgs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(cgs.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(cgs, recycle)",
+                                              "the space dimension of cgs "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_congruences(cgs);
 }
 
 PPL::C_Polyhedron::C_Polyhedron(const Grid& grid, Complexity_Class)
   : Polyhedron(NECESSARILY_CLOSED,
-	       grid.space_dimension() <= max_space_dimension()
-	       ? grid.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(grid)",
-						 "the space dimension of grid "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(grid.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(grid)",
+                                              "the space dimension of grid "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_constraints(grid.constraints());
 }
diff --git a/src/C_Polyhedron.defs.hh b/src/C_Polyhedron.defs.hh
index f48115e..e18579e 100644
--- a/src/C_Polyhedron.defs.hh
+++ b/src/C_Polyhedron.defs.hh
@@ -1,6 +1,6 @@
 /* C_Polyhedron class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_C_Polyhedron_defs_hh
 #define PPL_C_Polyhedron_defs_hh 1
diff --git a/src/C_Polyhedron.inlines.hh b/src/C_Polyhedron.inlines.hh
index ed9275d..6c9d876 100644
--- a/src/C_Polyhedron.inlines.hh
+++ b/src/C_Polyhedron.inlines.hh
@@ -1,6 +1,6 @@
 /* C_Polyhedron class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_C_Polyhedron_inlines_hh
 #define PPL_C_Polyhedron_inlines_hh 1
@@ -37,63 +37,53 @@ inline
 C_Polyhedron::C_Polyhedron(dimension_type num_dimensions,
 			   Degenerate_Element kind)
   : Polyhedron(NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
+               check_space_dimension_overflow(num_dimensions,
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(n, k)",
+                                              "n exceeds the maximum "
+                                              "allowed space dimension"),
 	       kind) {
 }
 
 inline
 C_Polyhedron::C_Polyhedron(const Constraint_System& cs)
   : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
+               check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(cs)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 inline
 C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input)
   : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
+               check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(cs, recycle)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
 	       Recycle_Input()) {
 }
 
 inline
 C_Polyhedron::C_Polyhedron(const Generator_System& gs)
   : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
+               check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(gs)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 inline
 C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input)
   : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
+               check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(gs, recycle)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
 	       Recycle_Input()) {
 }
 
@@ -101,26 +91,23 @@ template <typename Interval>
 inline
 C_Polyhedron::C_Polyhedron(const Box<Interval>& box, Complexity_Class)
   : Polyhedron(NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(box): ",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
+               check_obj_space_dimension_overflow(box, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(box)",
+                                                  "the space dimension of box "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 template <typename U>
 inline
 C_Polyhedron::C_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
   : Polyhedron(NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(bd.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(bd)",
+                                              "the space dimension of bd "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
                UNIVERSE) {
   add_constraints(bd.constraints());
 }
@@ -129,13 +116,12 @@ template <typename U>
 inline
 C_Polyhedron::C_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
   : Polyhedron(NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(os.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(os)",
+                                              "the space dimension of os "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
                UNIVERSE) {
   add_constraints(os.constraints());
 }
@@ -154,7 +140,7 @@ C_Polyhedron::operator=(const C_Polyhedron& y) {
 inline C_Polyhedron&
 C_Polyhedron::operator=(const NNC_Polyhedron& y) {
   C_Polyhedron c_y(y);
-  swap(c_y);
+  m_swap(c_y);
   return *this;
 }
 
diff --git a/src/C_Polyhedron.types.hh b/src/C_Polyhedron.types.hh
index 68d85cb..e4c1638 100644
--- a/src/C_Polyhedron.types.hh
+++ b/src/C_Polyhedron.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Cast_Floating_Point_Expression.defs.hh b/src/Cast_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..bb51861
--- /dev/null
+++ b/src/Cast_Floating_Point_Expression.defs.hh
@@ -0,0 +1,182 @@
+/* Declarations for the Cast_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Cast_Floating_Point_Expression_defs_hh
+#define PPL_Cast_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Cast_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Cast_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void
+swap(Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Cast Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of floating-point cast expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
+
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
+
+  Given a floating point expression \f$e\f$ and a composite abstract store
+  \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right \rrbracket\f$,
+  we construct the interval linear form
+  \f$\linexprenv{cast(e)}{\rho^{\#}}{\rho^{\#}_l}\f$ as follows:
+  \f[
+  \linexprenv{cast(e)}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Cast_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Builds a cast floating point expression with the value
+    expressed by \p expr.
+  */
+  Cast_Floating_Point_Expression(
+    Floating_Point_Expression<FP_Interval_Type, FP_Format>* const expr);
+
+  //! Destructor.
+  ~Cast_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    See the class description for an explanation of how \p result is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Cast_Floating_Point_Expression& y);
+
+private:
+
+  //! Pointer to the casted expression.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* expr;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Cast_Floating_Point_Expression(
+			  const Cast_Floating_Point_Expression& y);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAIL
+  Cast_Floating_Point_Expression& operator=(
+		          const Cast_Floating_Point_Expression& y);
+
+}; // class Cast_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Cast_Floating_Point_Expression.inlines.hh"
+
+#endif // !defined(PPL_Cast_Floating_Point_Expression_defs_hh)
diff --git a/src/Cast_Floating_Point_Expression.inlines.hh b/src/Cast_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..8fea3cf
--- /dev/null
+++ b/src/Cast_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,64 @@
+/* Cast_Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Cast_Floating_Point_Expression_inlines_hh
+#define PPL_Cast_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Cast_Floating_Point_Expression(
+Floating_Point_Expression<FP_Interval_Type, FP_Format>* const e)
+  : expr(e) {
+  assert(e != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Cast_Floating_Point_Expression() {
+  delete expr;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Cast_Floating_Point_Expression& y) {
+  swap(expr, y.expr);
+}
+
+/*! \relates Cast_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Cast_Floating_Point_Expression_inlines_hh)
diff --git a/src/Cast_Floating_Point_Expression.templates.hh b/src/Cast_Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..7210ee5
--- /dev/null
+++ b/src/Cast_Floating_Point_Expression.templates.hh
@@ -0,0 +1,46 @@
+/* Cast_Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Cast_Floating_Point_Expression_templates_hh
+#define PPL_Cast_Floating_Point_Expression_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!expr->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Cast_Floating_Point_Expression_templates_hh)
diff --git a/src/Cast_Floating_Point_Expression.types.hh b/src/Cast_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..066761f
--- /dev/null
+++ b/src/Cast_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Cast_Floating_Point_Expression_types_hh
+#define PPL_Cast_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Cast_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Cast_Floating_Point_Expression_types_hh)
diff --git a/src/Checked_Number.cc b/src/Checked_Number.cc
index 1be7d33..a5ec0c1 100644
--- a/src/Checked_Number.cc
+++ b/src/Checked_Number.cc
@@ -1,6 +1,6 @@
-/* Checked_Number class implementation
+/* Checked_Number class implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Checked_Number.defs.hh"
 
 namespace Parma_Polyhedra_Library {
diff --git a/src/Checked_Number.defs.hh b/src/Checked_Number.defs.hh
index 2f5578c..c24286a 100644
--- a/src/Checked_Number.defs.hh
+++ b/src/Checked_Number.defs.hh
@@ -1,6 +1,6 @@
 /* Checked_Number class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Checked_Number_defs_hh
 #define PPL_Checked_Number_defs_hh 1
@@ -46,18 +46,19 @@ struct Extended_Number_Policy {
   const_bool_nodef(check_sqrt_neg, false);
   const_bool_nodef(has_nan, true);
   const_bool_nodef(has_infinity, true);
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
+
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
+
   const_bool_nodef(fpu_check_inexact, true);
   const_bool_nodef(fpu_check_nan_result, true);
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
+
   static void handle_result(Result r);
 };
 
@@ -138,15 +139,21 @@ struct Native_Checked_To_Wrapper<Checked_Number<T, P> > {
   }
 };
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 struct Is_Checked : public False { };
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T, typename P>
 struct Is_Checked<Checked_Number<T, P> > : public True { };
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 struct Is_Native_Or_Checked
   : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
@@ -452,7 +459,7 @@ is_plus_infinity(const T& x);
 /*! \relates Checked_Number */
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x);
+infinity_sign(const T& x);
 
 /*! \relates Checked_Number */
 template <typename T>
@@ -484,7 +491,7 @@ template <typename To, typename From> \
 typename Enable_If<Is_Native_Or_Checked<To>::value \
                    && Is_Native_Or_Checked<From>::value, \
                    Result>::type \
-name(To& to, const From& x, Rounding_Dir dir);
+ PPL_U(name)(To& to, const From& x, Rounding_Dir dir);
 
 PPL_DECLARE_FUNC1_A(assign_r)
 PPL_DECLARE_FUNC1_A(floor_assign_r)
@@ -501,7 +508,7 @@ template <typename To, typename From> \
 typename Enable_If<Is_Native_Or_Checked<To>::value \
                    && Is_Native_Or_Checked<From>::value, \
                    Result>::type \
-name(To& to, const From& x, int exp, Rounding_Dir dir);
+ PPL_U(name)(To& to, const From& x, unsigned int exp, Rounding_Dir dir);
 
 PPL_DECLARE_FUNC1_B(add_2exp_assign_r)
 PPL_DECLARE_FUNC1_B(sub_2exp_assign_r)
@@ -518,7 +525,7 @@ typename Enable_If<Is_Native_Or_Checked<To>::value \
                    && Is_Native_Or_Checked<From1>::value \
                    && Is_Native_Or_Checked<From2>::value, \
                    Result>::type \
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir);
+ PPL_U(name)(To& to, const From1& x, const From2& y, Rounding_Dir dir);
 
 PPL_DECLARE_FUNC2(add_assign_r)
 PPL_DECLARE_FUNC2(sub_assign_r)
@@ -542,7 +549,7 @@ typename Enable_If<Is_Native_Or_Checked<To1>::value \
                    && Is_Native_Or_Checked<From1>::value \
 		   && Is_Native_Or_Checked<From2>::value, \
                    Result>::type \
-name(To1& to, To2& s, To3& t, \
+ PPL_U(name)(To1& to, To2& s, To3& t,     \
      const From1& x, const From2& y, \
      Rounding_Dir dir);
 
@@ -561,7 +568,7 @@ PPL_DECLARE_FUNC4(gcdext_assign_r)
 //! Returns the total size in bytes of the memory occupied by \p x.
 /*! \relates Checked_Number */
 template <typename T, typename Policy>
-size_t
+memory_size_type
 total_memory_in_bytes(const Checked_Number<T, Policy>& x);
 
 //! Returns the size in bytes of the memory managed by \p x.
@@ -705,8 +712,8 @@ mul_2exp_assign(Checked_Number<T, Policy>& x,
 template <typename T, typename Policy>
 void
 div_2exp_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       unsigned int exp);
+                const Checked_Number<T, Policy>& y,
+                unsigned int exp);
 
 /*! \brief
   If \p z divides \p y, assigns to \p x the quotient of the integer
@@ -743,6 +750,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator==(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -759,6 +767,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator!=(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -775,6 +784,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator>=(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -791,6 +801,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator>(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -807,6 +818,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator<=(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -823,6 +835,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value
 		   bool>::type
 operator<(const T1& x, const T2& y);
 
+/*! \relates Checked_Number */
 template <typename T1, typename T2>
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value
 			  && Is_Native_Or_Checked<T2>::value,
@@ -861,7 +874,7 @@ template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
 output(std::ostream& os,
        const T& x,
-       const Numeric_Format& fmt,
+       const Numeric_Format& format,
        Rounding_Dir dir);
 
 //! Output operator.
@@ -871,6 +884,7 @@ std::ostream&
 operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
 
 //! Ascii dump for native or checked.
+/*! \relates Checked_Number */
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
 ascii_dump(std::ostream& s, const T& t);
@@ -967,15 +981,15 @@ number	: NAN					INF	: 'inf'
 	| num DIV num					;
 	;
 						SIGN	: '-'
-num     : unum						| '+'
-        | SIGN unum					;
+num     : u_num						| '+'
+        | SIGN u_num					;
 
-unum	: unum1					EXP	: 'e'
-	| HEX unum1					| 'p'
-	| base BASE unum1				| '*^'
+u_num	: u_num1				EXP	: 'e'
+	| HEX u_num1					| 'p'
+	| base BASE u_num1				| '*^'
 	;                                               ;
 						POINT	: '.'
-unum1	: mantissa					;
+u_num1	: mantissa					;
 	| mantissa EXP exponent
 	;					DIV	: '/'
 							;
@@ -1011,6 +1025,7 @@ std::istream&
 operator>>(std::istream& is, Checked_Number<T, Policy>& x);
 
 //! Ascii load for native or checked.
+/*! \relates Checked_Number */
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
 ascii_load(std::ostream& s, T& t);
@@ -1048,7 +1063,6 @@ int maybe_check_fpu_inexact();
 } // namespace Parma_Polyhedra_Library
 
 #include "Checked_Number.inlines.hh"
-#include "checked_numeric_limits.hh"
 #include "Checked_Number.templates.hh"
 
 #endif // !defined(PPL_Checked_Number_defs_hh)
diff --git a/src/Checked_Number.inlines.hh b/src/Checked_Number.inlines.hh
index e370621..be81531 100644
--- a/src/Checked_Number.inlines.hh
+++ b/src/Checked_Number.inlines.hh
@@ -1,6 +1,6 @@
 /* Checked_Number class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Checked_Number_inlines_hh
 #define PPL_Checked_Number_inlines_hh 1
@@ -113,27 +113,24 @@ Checked_Number<T, Policy>
 #define PPL_DEFINE_CTOR(type) \
 template <typename T, typename Policy> \
 inline \
-Checked_Number<T, Policy>::Checked_Number(const type x, Rounding_Dir dir) { \
+Checked_Number<T, Policy>::Checked_Number(const type y, Rounding_Dir dir) { \
   Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
+    (check_result(Checked::assign_ext<Policy,                           \
+                                      Checked_Number_Transparent_Policy<PPL_U(type)> > \
+		  (v, y, rounding_dir(dir)),				\
 		  dir));						\
 }									\
 template <typename T, typename Policy>					\
 inline									\
-Checked_Number<T, Policy>::Checked_Number(const type x) {		\
+Checked_Number<T, Policy>::Checked_Number(const type y) {		\
   Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;			\
   Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
+    (check_result(Checked::assign_ext<Policy,                           \
+                                      Checked_Number_Transparent_Policy<PPL_U(type)> > \
+		  (v, y, rounding_dir(dir)),				\
 		  dir));						\
 }
 
-#define PPL_COND_0(...)
-#define PPL_COND_1(...) __VA_ARGS__
-#define PPL_COND_(if, ...) PPL_COND_##if(__VA_ARGS__)
-#define PPL_COND(if, ...) PPL_COND_(if, __VA_ARGS__)
-
 PPL_DEFINE_CTOR(char)
 PPL_DEFINE_CTOR(signed char)
 PPL_DEFINE_CTOR(signed short)
@@ -145,23 +142,25 @@ PPL_DEFINE_CTOR(unsigned short)
 PPL_DEFINE_CTOR(unsigned int)
 PPL_DEFINE_CTOR(unsigned long)
 PPL_DEFINE_CTOR(unsigned long long)
-PPL_COND(PPL_SUPPORTED_FLOAT, PPL_DEFINE_CTOR(float))
-PPL_COND(PPL_SUPPORTED_DOUBLE, PPL_DEFINE_CTOR(double))
-PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, PPL_DEFINE_CTOR(long double))
+#if PPL_SUPPORTED_FLOAT
+PPL_DEFINE_CTOR(float)
+#endif
+#if PPL_SUPPORTED_DOUBLE
+PPL_DEFINE_CTOR(double)
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_DEFINE_CTOR(long double)
+#endif
 PPL_DEFINE_CTOR(mpq_class&)
 PPL_DEFINE_CTOR(mpz_class&)
 
 #undef PPL_DEFINE_CTOR
 
-#undef PPL_COND
-#undef PPL_COND_
-#undef PPL_COND_1
-#undef PPL_COND_0
 
 template <typename T, typename Policy>
 inline
-Checked_Number<T, Policy>::Checked_Number(const char* x, Rounding_Dir dir) {
-  std::istringstream s(x);
+Checked_Number<T, Policy>::Checked_Number(const char* y, Rounding_Dir dir) {
+  std::istringstream s(y);
   Policy::handle_result(check_result(Checked::input<Policy>(v,
 							    s,
 							    rounding_dir(dir)),
@@ -170,8 +169,8 @@ Checked_Number<T, Policy>::Checked_Number(const char* x, Rounding_Dir dir) {
 
 template <typename T, typename Policy>
 inline
-Checked_Number<T, Policy>::Checked_Number(const char* x) {
-  std::istringstream s(x);
+Checked_Number<T, Policy>::Checked_Number(const char* y) {
+  std::istringstream s(y);
   Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
   Policy::handle_result(check_result(Checked::input<Policy>(v,
 							    s,
@@ -182,11 +181,14 @@ Checked_Number<T, Policy>::Checked_Number(const char* x) {
 template <typename T, typename Policy>
 template <typename From>
 inline
-Checked_Number<T, Policy>::Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type) {
+Checked_Number<T, Policy>
+::Checked_Number(const From&,
+                 Rounding_Dir dir,
+                 typename Enable_If<Is_Special<From>::value, bool>::type) {
   Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::vclass,
-							    rounding_dir(dir)),
-				     dir));
+                                                                     From::vclass,
+                                                                     rounding_dir(dir)),
+                                     dir));
 }
 
 template <typename T, typename Policy>
@@ -201,7 +203,8 @@ Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Spe
 }
 
 template <typename To, typename From>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+inline typename Enable_If<Is_Native_Or_Checked<To>::value
+                          && Is_Special<From>::value, Result>::type
 assign_r(To& to, const From&, Rounding_Dir dir) {
   return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
 		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
@@ -236,8 +239,8 @@ is_plus_infinity(const T& x) {
 
 template <typename T>
 inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x) {
-  return is_minus_infinity(x) ? -1 : is_plus_infinity(x) ? 1 : 0;
+infinity_sign(const T& x) {
+  return is_minus_infinity(x) ? -1 : (is_plus_infinity(x) ? 1 : 0);
 }
 
 template <typename T>
@@ -349,7 +352,7 @@ template <typename To, typename From>					\
 inline typename Enable_If<Is_Native_Or_Checked<To>::value               \
                           && Is_Native_Or_Checked<From>::value,         \
                           Result>::type                                 \
-name(To& to, const From& x, Rounding_Dir dir) {				\
+ PPL_U(name)(To& to, const From& x, Rounding_Dir dir) {                 \
   return								\
     check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
 		 ::Policy,						\
@@ -375,7 +378,7 @@ template <typename To, typename From>					\
 inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
                           && Is_Native_Or_Checked<From>::value,         \
                           Result>::type					\
-name(To& to, const From& x, int exp, Rounding_Dir dir) {		\
+ PPL_U(name)(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { \
   return								\
     check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
 		 ::Policy,						\
@@ -402,7 +405,7 @@ inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
                           && Is_Native_Or_Checked<From1>::value         \
                           && Is_Native_Or_Checked<From2>::value,        \
                           Result>::type					\
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir) {	\
+ PPL_U(name)(To& to, const From1& x, const From2& y, Rounding_Dir dir) { \
   return								\
     check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
 		 ::Policy,						\
@@ -441,7 +444,7 @@ inline typename Enable_If<Is_Native_Or_Checked<To1>::value		\
                           && Is_Native_Or_Checked<From1>::value         \
                           && Is_Native_Or_Checked<From2>::value,        \
                           Result>::type					\
-name(To1& to, To2& s, To3& t, const From1& x, const From2& y,		\
+ PPL_U(name)(To1& to, To2& s, To3& t, const From1& x, const From2& y,   \
      Rounding_Dir dir) {						\
   return								\
     check_result							\
@@ -467,7 +470,7 @@ PPL_DEFINE_FUNC4(gcdext_assign_r, gcdext_ext)
 template <typename T, typename Policy> \
 inline Checked_Number<T, Policy>& \
 Checked_Number<T, Policy>::f() { \
-  Policy::handle_result(fun(*this, *this, T(1), \
+  Policy::handle_result((fun)(*this, *this, T(1),             \
 			    Policy::ROUND_DEFAULT_OPERATOR)); \
   return *this; \
 } \
@@ -475,7 +478,7 @@ template <typename T, typename Policy> \
 inline Checked_Number<T, Policy> \
 Checked_Number<T, Policy>::f(int) {\
   T r = v;\
-  Policy::handle_result(fun(*this, *this, T(1), \
+  Policy::handle_result((fun)(*this, *this, T(1),             \
 			    Policy::ROUND_DEFAULT_OPERATOR)); \
   return r;\
 }
@@ -504,14 +507,14 @@ template <typename T, typename Policy> \
 template <typename From_Policy> \
 inline Checked_Number<T, Policy>& \
 Checked_Number<T, Policy>::f(const Checked_Number<T, From_Policy>& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
+  Policy::handle_result((fun)(*this, *this, y,                          \
 			    Policy::ROUND_DEFAULT_OPERATOR)); \
   return *this; \
 } \
 template <typename T, typename Policy> \
 inline Checked_Number<T, Policy>& \
 Checked_Number<T, Policy>::f(const T& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
+  Policy::handle_result((fun)(*this, *this, y,                \
 			    Policy::ROUND_DEFAULT_OPERATOR)); \
   return *this; \
 } \
@@ -521,7 +524,7 @@ inline typename Enable_If<Is_Native_Or_Checked<From>::value, \
                           Checked_Number<T, Policy>& >::type \
 Checked_Number<T, Policy>::f(const From& y) { \
   Checked_Number<T, Policy> cy(y); \
-  Policy::handle_result(fun(*this, *this, cy, \
+  Policy::handle_result((fun)(*this, *this, cy,               \
 			    Policy::ROUND_DEFAULT_OPERATOR)); \
   return *this; \
 }
@@ -537,25 +540,26 @@ PPL_DEFINE_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
 #define PPL_DEFINE_BINARY_OP(f, fun) \
 template <typename T, typename Policy> \
 inline Checked_Number<T, Policy> \
-f(const Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
+ PPL_U(f)(const Checked_Number<T, Policy>& x,   \
+         const Checked_Number<T, Policy>& y) {  \
   Checked_Number<T, Policy> r; \
-  Policy::handle_result(fun(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  Policy::handle_result((fun)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
   return r; \
 } \
 template <typename Type, typename T, typename Policy>	\
 inline \
 typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Type& x, const Checked_Number<T, Policy>& y) { \
+ PPL_U(f)(const Type& x, const Checked_Number<T, Policy>& y) {          \
   Checked_Number<T, Policy> r(x); \
-  Policy::handle_result(fun(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  Policy::handle_result((fun)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
   return r; \
 } \
 template <typename T, typename Policy, typename Type>	\
 inline \
 typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Checked_Number<T, Policy>& x, const Type& y) { \
+ PPL_U(f)(const Checked_Number<T, Policy>& x, const Type& y) {          \
   Checked_Number<T, Policy> r(y); \
-  Policy::handle_result(fun(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
+  Policy::handle_result((fun)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
   return r; \
 }
 
@@ -574,7 +578,7 @@ typename Enable_If<Is_Native_Or_Checked<T1>::value                      \
                    && Is_Native_Or_Checked<T2>::value                   \
                    && (Is_Checked<T1>::value || Is_Checked<T2>::value),	\
 		   bool>::type						\
-f(const T1& x, const T2& y) {						\
+ PPL_U(f)(const T1& x, const T2& y) {                                   \
   return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
     		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
     (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
@@ -595,7 +599,7 @@ template <typename T1, typename T2>					\
 inline typename Enable_If<Is_Native_Or_Checked<T1>::value		\
 			  && Is_Native_Or_Checked<T2>::value,		\
                           bool>::type					\
-f(const T1& x, const T2& y) {						\
+ PPL_U(f)(const T1& x, const T2& y) {                                   \
   return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
     		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
     (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
@@ -630,33 +634,33 @@ operator-(const Checked_Number<T, Policy>& x) {
 #define PPL_DEFINE_ASSIGN_FUN2_1(f, fun) \
 template <typename T, typename Policy> \
 inline void \
-f(Checked_Number<T, Policy>& x) { \
-  Policy::handle_result(fun(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
+ PPL_U(f)(Checked_Number<T, Policy>& x) {                               \
+  Policy::handle_result((fun)(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
 }
 
 #define PPL_DEFINE_ASSIGN_FUN2_2(f, fun) \
 template <typename T, typename Policy> \
 inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
-  Policy::handle_result(fun(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
+ PPL_U(f)(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
+  Policy::handle_result((fun)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
 #define PPL_DEFINE_ASSIGN_FUN3_3(f, fun) \
 template <typename T, typename Policy> \
 inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
+ PPL_U(f)(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
   const Checked_Number<T, Policy>& z) { \
-  Policy::handle_result(fun(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+  Policy::handle_result((fun)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
 #define PPL_DEFINE_ASSIGN_FUN5_5(f, fun)					\
 template <typename T, typename Policy>					\
 inline void								\
-f(Checked_Number<T, Policy>& x,						\
+ PPL_U(f)(Checked_Number<T, Policy>& x,                                 \
   Checked_Number<T, Policy>& s, Checked_Number<T, Policy>& t,		\
   const Checked_Number<T, Policy>& y,					\
   const Checked_Number<T, Policy>& z) {					\
-  Policy::handle_result(fun(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+  Policy::handle_result((fun)(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
 PPL_DEFINE_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
@@ -697,9 +701,9 @@ PPL_DEFINE_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
 #define PPL_DEFINE_ASSIGN_2EXP(f, fun)					\
 template <typename T, typename Policy>                                  \
 inline void								\
-f(Checked_Number<T, Policy>& to,					\
-  const Checked_Number<T, Policy>& x, unsigned int exp) {               \
-  Policy::handle_result(fun(to, x, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
+ PPL_U(f)(Checked_Number<T, Policy>& x,                                 \
+          const Checked_Number<T, Policy>& y, unsigned int exp) {       \
+  Policy::handle_result((fun)(x, y, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
 PPL_DEFINE_ASSIGN_2EXP(mul_2exp_assign, mul_2exp_assign_r)
@@ -757,11 +761,11 @@ cmp(const From1& x, const From2& y) {
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
 output(std::ostream& os, const T& x,
-       const Numeric_Format& fmt, Rounding_Dir dir) {
+       const Numeric_Format& format, Rounding_Dir dir) {
   return check_result(Checked::output_ext<typename Native_Checked_From_Wrapper<T>::Policy>
 		      (os,
 		       Native_Checked_From_Wrapper<T>::raw_value(x),
-		       fmt,
+		       format,
 		       rounding_dir(dir)),
 		      dir);
 }
diff --git a/src/Checked_Number.templates.hh b/src/Checked_Number.templates.hh
index 0854d31..5c6c596 100644
--- a/src/Checked_Number.templates.hh
+++ b/src/Checked_Number.templates.hh
@@ -1,6 +1,6 @@
 /* Checked_Number class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Checked_Number_templates_hh
 #define PPL_Checked_Number_templates_hh 1
@@ -34,17 +34,16 @@ template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
 ascii_dump(std::ostream& s, const T& t) {
   if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: pretty printer is accurate.
+    // An exact data type: pretty printer is accurate.
     s << t;
   else {
-    // An inexact datatype (probably floating point):
+    // An inexact data type (probably floating point):
     // first dump its hexadecimal representation ...
-    const std::ios_base::fmtflags old_flags = s.flags();
-    s << std::hex;
+    const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                                std::ios::basefield);
     const unsigned char* p = reinterpret_cast<const unsigned char*>(&t);
     for (unsigned i = 0; i < sizeof(T); ++i) {
-      s << std::setw(2) << std::setfill('0');
-      s << static_cast<unsigned>(p[i]);
+      s << std::setw(2) << std::setfill('0') << static_cast<unsigned>(p[i]);
     }
     s.flags(old_flags);
     // ... and then pretty print it for readability.
@@ -55,11 +54,13 @@ ascii_dump(std::ostream& s, const T& t) {
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
 ascii_load(std::istream& s, T& t) {
-  if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: input from pretty printed version is accurate.
-    return s >> t;
+  if (std::numeric_limits<T>::is_exact) {
+    // An exact data type: input from pretty printed version is accurate.
+    s >> t;
+    return !s.fail();
+  }
   else {
-    // An inexact datatype (probably floating point):
+    // An inexact data type (probably floating point):
     // first load its hexadecimal representation ...
     std::string str;
     if (!(s >> str) || str.size() != 2*sizeof(T))
@@ -72,7 +73,7 @@ ascii_load(std::istream& s, T& t) {
         byte_value <<= 4;
         unsigned half_byte_value;
         // Interpret single hex character.
-        switch (str[2*i+j]) {
+        switch (str[2*i + j]) {
         case '0':
           half_byte_value = 0;
           break;
@@ -138,7 +139,7 @@ ascii_load(std::istream& s, T& t) {
     // ... then read and discard pretty printed value.
     if (!(s >> str))
       return false;
-    const unsigned sz = str.size();
+    const std::string::size_type sz = str.size();
     return sz > 2 && str[0] == '(' && str[sz-1] == ')';
   }
 }
diff --git a/src/Checked_Number.types.hh b/src/Checked_Number.types.hh
index 90ca90e..b8db511 100644
--- a/src/Checked_Number.types.hh
+++ b/src/Checked_Number.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Coefficient.cc b/src/Coefficient.cc
index 617a1ab..0d2c1fa 100644
--- a/src/Coefficient.cc
+++ b/src/Coefficient.cc
@@ -1,6 +1,6 @@
 /* Coefficient class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Coefficient.defs.hh"
 
 namespace Parma_Polyhedra_Library {
diff --git a/src/Coefficient.defs.hh b/src/Coefficient.defs.hh
index 90654ed..993bcd1 100644
--- a/src/Coefficient.defs.hh
+++ b/src/Coefficient.defs.hh
@@ -1,6 +1,6 @@
 /* Coefficient class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Coefficient_defs_hh
 #define PPL_Coefficient_defs_hh 1
diff --git a/src/Coefficient.inlines.hh b/src/Coefficient.inlines.hh
index 72eeb64..8c9dda6 100644
--- a/src/Coefficient.inlines.hh
+++ b/src/Coefficient.inlines.hh
@@ -1,6 +1,6 @@
 /* Coefficient class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Coefficient_inlines_hh
 #define PPL_Coefficient_inlines_hh 1
diff --git a/src/Coefficient.types.hh b/src/Coefficient.types.hh
index 7e4d6b5..062f3a1 100644
--- a/src/Coefficient.types.hh
+++ b/src/Coefficient.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -15,6 +15,10 @@ PURPOSE. */
 
 #include "Checked_Number.defs.hh"
 
+#ifdef PPL_GMP_INTEGERS
+#include "GMP_Integer.types.hh"
+#endif
+
 #if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
 namespace Parma_Polyhedra_Library {
@@ -145,10 +149,6 @@ struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
 
 #endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
-#ifdef PPL_GMP_INTEGERS
-#include "GMP_Integer.types.hh"
-#endif
-
 namespace Parma_Polyhedra_Library {
 
 //! An alias for easily naming the type of PPL coefficients.
diff --git a/src/Coefficient_traits_template.hh b/src/Coefficient_traits_template.hh
index 8e83cdd..921711d 100644
--- a/src/Coefficient_traits_template.hh
+++ b/src/Coefficient_traits_template.hh
@@ -1,14 +1,25 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+/* Coefficient_traits_template class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
+This file is part of the Parma Polyhedra Library (PPL).
 
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Coefficient_traits_template_hh
 #define PPL_Coefficient_traits_template_hh 1
diff --git a/src/Concrete_Expression.cc b/src/Concrete_Expression.cc
new file mode 100644
index 0000000..85c4529
--- /dev/null
+++ b/src/Concrete_Expression.cc
@@ -0,0 +1,122 @@
+/* Concrete_Expression class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Concrete_Expression.defs.hh"
+#include <iostream>
+
+namespace PPL = Parma_Polyhedra_Library;
+
+bool
+PPL::Concrete_Expression_Type::OK() const {
+  if (impl.bounded_integer) {
+    if (impl.bounded_integer_type_width != BITS_8
+        && impl.bounded_integer_type_width != BITS_16
+        && impl.bounded_integer_type_width != BITS_32
+        && impl.bounded_integer_type_width != BITS_64
+        && impl.bounded_integer_type_width != BITS_128) {
+#ifndef NDEBUG
+      std::cerr << "bounded integer type has illegal width "
+                << impl.bounded_integer_type_width
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.bounded_integer_type_representation != UNSIGNED
+        && impl.bounded_integer_type_representation != SIGNED_2_COMPLEMENT) {
+#ifndef NDEBUG
+      std::cerr << "bounded integer type has illegal representation "
+                << impl.bounded_integer_type_representation
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.bounded_integer_type_overflow != OVERFLOW_WRAPS
+        && impl.bounded_integer_type_overflow != OVERFLOW_UNDEFINED
+        && impl.bounded_integer_type_overflow != OVERFLOW_IMPOSSIBLE) {
+#ifndef NDEBUG
+      std::cerr << "bounded integer type has illegal overflow "
+                << impl.bounded_integer_type_overflow
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.floating_point_format != IEEE754_HALF) {
+#ifndef NDEBUG
+      std::cerr << "bounded integer type has illegal (unused) fp format "
+                << impl.floating_point_format
+                << std::endl;
+#endif
+      return false;
+    }
+  }
+  else {
+    // Here we have impl.bounded_integer == false.
+    if (impl.floating_point_format != IEEE754_HALF
+        && impl.floating_point_format != IEEE754_SINGLE
+        && impl.floating_point_format != IEEE754_DOUBLE
+        && impl.floating_point_format != IBM_SINGLE
+        && impl.floating_point_format != IEEE754_QUAD
+        && impl.floating_point_format != INTEL_DOUBLE_EXTENDED) {
+#ifndef NDEBUG
+      std::cerr << "floating point type has illegal format "
+                << impl.floating_point_format
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.bounded_integer_type_width != BITS_128) {
+#ifdef NDEBUG
+      std::cerr << "floating point type has illegal (unused) bi width "
+                << impl.bounded_integer_type_width
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.bounded_integer_type_representation != SIGNED_2_COMPLEMENT) {
+#ifndef NDEBUG
+      std::cerr << "floating point type has illegal (unused) bi representation "
+                << impl.bounded_integer_type_representation
+                << std::endl;
+#endif
+      return false;
+    }
+
+    if (impl.bounded_integer_type_overflow != OVERFLOW_IMPOSSIBLE) {
+#ifndef NDEBUG
+      std::cerr << "floating point type has illegal (unused) bi overflow "
+                << impl.bounded_integer_type_overflow
+                << std::endl;
+#endif
+      return false;
+    }
+  }
+
+  // If we got here, everything is OK.
+  return true;
+}
diff --git a/src/Concrete_Expression.defs.hh b/src/Concrete_Expression.defs.hh
new file mode 100644
index 0000000..0f30e57
--- /dev/null
+++ b/src/Concrete_Expression.defs.hh
@@ -0,0 +1,201 @@
+/* Concrete_Expression class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Concrete_Expression_defs_hh
+#define PPL_Concrete_Expression_defs_hh 1
+
+#include "Concrete_Expression.types.hh"
+#include "globals.defs.hh"
+#include "Interval.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+//! The type of a concrete expression.
+class Concrete_Expression_Type {
+public:
+  /*! \brief
+    Returns the bounded integer type corresponding to \p width,
+    \p representation and \p overflow.
+  */
+  static Concrete_Expression_Type
+  bounded_integer(Bounded_Integer_Type_Width width,
+                  Bounded_Integer_Type_Representation representation,
+                  Bounded_Integer_Type_Overflow overflow);
+
+  /*! \brief
+    Returns the floating point type corresponding to \p format.
+  */
+  static Concrete_Expression_Type
+  floating_point(Floating_Point_Format format);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a bounded
+    integer type.
+  */
+  bool is_bounded_integer() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a floating
+    point type.
+  */
+  bool is_floating_point() const;
+
+  /*! \brief
+    Returns the width in bits of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Width bounded_integer_type_width() const;
+
+  /*! \brief
+    Returns the representation of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Representation
+  bounded_integer_type_representation() const;
+
+  /*! \brief
+    Returns the overflow behavior of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Overflow
+  bounded_integer_type_overflow() const;
+
+  /*! \brief
+    Returns the format of the floating point type encoded by \p *this.
+
+    The behavior is undefined if \p *this does not encode a floating
+    point type.
+  */
+  Floating_Point_Format floating_point_format() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! A 32-bit word encoding the type.
+  struct Implementation {
+    bool bounded_integer:1;
+    unsigned int bounded_integer_type_width:23;
+    unsigned int bounded_integer_type_representation:2;
+    unsigned int bounded_integer_type_overflow:2;
+    unsigned int floating_point_format:4;
+  };
+
+  //! Constructor from \p implementation.
+  Concrete_Expression_Type(Implementation implementation);
+
+  //! The encoding of \p *this.
+  Implementation impl;
+};
+
+//! Base class for all concrete expressions.
+template <typename Target>
+class Concrete_Expression_Common {
+public:
+  //! Returns the type of \* this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the kind of \* this.
+  Concrete_Expression_Kind kind() const;
+
+  //! Tests if \p *this has the same kind as <CODE>Derived<Target></CODE>.
+  template <template <typename T> class Derived>
+  bool is() const;
+
+  /*! \brief
+    Returns a pointer to \p *this converted to type
+    <CODE>Derived<Target>*</CODE>.
+  */
+  template <template <typename T> class Derived>
+  Derived<Target>* as();
+
+  /*! \brief
+    Returns a pointer to \p *this converted to type
+    <CODE>const Derived<Target>*</CODE>.
+  */
+  template <template <typename T> class Derived>
+  const Derived<Target>* as() const;
+
+};
+
+//! Base class for binary operator applied to two concrete expressions.
+template <typename Target>
+class Binary_Operator_Common {
+public:
+  //! Returns a constant identifying the operator of \p *this.
+  Concrete_Expression_BOP binary_operator() const;
+
+  //! Returns the left-hand side of \p *this.
+  const Concrete_Expression<Target>* left_hand_side() const;
+
+  //! Returns the right-hand side of \p *this.
+  const Concrete_Expression<Target>* right_hand_side() const;
+};
+
+//! Base class for unary operator applied to one concrete expression.
+template <typename Target>
+class Unary_Operator_Common {
+public:
+  //! Returns a constant identifying the operator of \p *this.
+  Concrete_Expression_UOP unary_operator() const;
+
+  //! Returns the argument \p *this.
+  const Concrete_Expression<Target>* argument() const;
+};
+
+//! Base class for cast operator concrete expressions.
+template <typename Target>
+class Cast_Operator_Common {
+  //! Returns the casted expression.
+  const Concrete_Expression<Target>* argument() const;
+};
+
+//! Base class for integer constant concrete expressions.
+template <typename Target>
+class Integer_Constant_Common {
+};
+
+//! Base class for floating-point constant concrete expression.
+template <typename Target>
+class Floating_Point_Constant_Common {
+};
+
+//! Base class for references to some approximable.
+template <typename Target>
+class Approximable_Reference_Common {
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Concrete_Expression.inlines.hh"
+
+#endif // !defined(PPL_Concrete_Expression_defs_hh)
diff --git a/src/Concrete_Expression.inlines.hh b/src/Concrete_Expression.inlines.hh
new file mode 100644
index 0000000..bb2a29d
--- /dev/null
+++ b/src/Concrete_Expression.inlines.hh
@@ -0,0 +1,123 @@
+/* Concrete_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Concrete_Expression_inlines_hh
+#define PPL_Concrete_Expression_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Concrete_Expression_Type
+::Concrete_Expression_Type(Implementation implementation)
+  : impl(implementation) {
+}
+
+inline Concrete_Expression_Type
+Concrete_Expression_Type
+::bounded_integer(const Bounded_Integer_Type_Width width,
+                  const Bounded_Integer_Type_Representation representation,
+                  const Bounded_Integer_Type_Overflow overflow) {
+  Implementation impl;
+  impl.bounded_integer = true;
+  impl.bounded_integer_type_width = width;
+  impl.bounded_integer_type_representation = representation;
+  impl.bounded_integer_type_overflow = overflow;
+  // Arbitrary choice to ensure determinism.
+  impl.floating_point_format = IEEE754_HALF;
+  return Concrete_Expression_Type(impl);
+}
+
+inline Concrete_Expression_Type
+Concrete_Expression_Type
+::floating_point(const Floating_Point_Format format) {
+  Implementation impl;
+  impl.bounded_integer = false;
+  impl.floating_point_format = format;
+  // Arbitrary choices to ensure determinism.
+  impl.bounded_integer_type_width = BITS_128;
+  impl.bounded_integer_type_representation =  SIGNED_2_COMPLEMENT;
+  impl.bounded_integer_type_overflow = OVERFLOW_IMPOSSIBLE;
+  return Concrete_Expression_Type(impl);
+}
+
+inline bool
+Concrete_Expression_Type::is_bounded_integer() const {
+  return impl.bounded_integer;
+}
+
+inline bool
+Concrete_Expression_Type::is_floating_point() const {
+  return !impl.bounded_integer;
+}
+
+inline Bounded_Integer_Type_Width
+Concrete_Expression_Type::bounded_integer_type_width() const {
+  unsigned int u = impl.bounded_integer_type_width;
+  return static_cast<Bounded_Integer_Type_Width>(u);
+}
+
+inline Bounded_Integer_Type_Representation
+Concrete_Expression_Type::bounded_integer_type_representation() const {
+  unsigned int u = impl.bounded_integer_type_representation;
+  return static_cast<Bounded_Integer_Type_Representation>(u);
+}
+
+inline Bounded_Integer_Type_Overflow
+Concrete_Expression_Type::bounded_integer_type_overflow() const {
+  unsigned int u = impl.bounded_integer_type_overflow;
+  return static_cast<Bounded_Integer_Type_Overflow>(u);
+}
+
+inline Floating_Point_Format
+Concrete_Expression_Type::floating_point_format() const {
+  unsigned int u = impl.floating_point_format;
+  return static_cast<Floating_Point_Format>(u);
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline bool
+Concrete_Expression_Common<Target>::is() const {
+  return static_cast<const Concrete_Expression<Target>*>(this)->kind() ==
+         Derived<Target>::KIND;
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline Derived<Target>*
+Concrete_Expression_Common<Target>::as() {
+  PPL_ASSERT(is<Derived>());
+  return static_cast<Derived<Target>*>(this);
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline const Derived<Target>*
+Concrete_Expression_Common<Target>::as() const {
+  PPL_ASSERT(is<Derived>());
+  return static_cast<const Derived<Target>*>(this);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Concrete_Expression_inlines_hh)
diff --git a/src/Concrete_Expression.types.hh b/src/Concrete_Expression.types.hh
new file mode 100644
index 0000000..ecf9fde
--- /dev/null
+++ b/src/Concrete_Expression.types.hh
@@ -0,0 +1,98 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Concrete_Expression_types_hh
+#define PPL_Concrete_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+/*
+  NOTE: Doxygen seems to ignore documentation blocks attached to
+  template class declarations that are not provided with a definition.
+  This justifies (here below) the explicit use of Doxygen command \class.
+*/
+
+/*! \brief \class Parma_Polyhedra_Library::Concrete_Expression
+  The base class of all concrete expressions.
+*/
+template <typename Target>
+class Concrete_Expression;
+
+/*! \brief \class Parma_Polyhedra_Library::Binary_Operator
+  A binary operator applied to two concrete expressions.
+*/
+template <typename Target>
+class Binary_Operator;
+
+/*! \brief \class Parma_Polyhedra_Library::Unary_Operator
+  A unary operator applied to one concrete expression.
+*/
+template <typename Target>
+class Unary_Operator;
+
+/*! \brief \class Parma_Polyhedra_Library::Cast_Operator
+  A cast operator converting one concrete expression to some type.
+*/
+template <typename Target>
+class Cast_Operator;
+
+/*! \brief \class Parma_Polyhedra_Library::Integer_Constant
+  An integer constant concrete expression.
+*/
+template <typename Target>
+class Integer_Constant;
+
+/*! \brief \class Parma_Polyhedra_Library::Floating_Point_Constant
+  A floating-point constant concrete expression.
+*/
+template <typename Target>
+class Floating_Point_Constant;
+
+/*! \brief \class Parma_Polyhedra_Library::Approximable_Reference
+  A concrete expression representing a reference to some approximable.
+*/
+template <typename Target>
+class Approximable_Reference;
+
+class Concrete_Expression_Type;
+
+/*! \brief
+  Encodes the kind of concrete expression.
+
+  The values should be defined by the particular instance
+  and uniquely identify one of: Binary_Operator, Unary_Operator,
+  Cast_Operator, Integer_Constant, Floating_Point_Constant, or
+  Approximable_Reference.  For example, the Binary_Operator kind
+  integer constant should be defined by an instance as the member
+  <CODE>Binary_Operator<T>::KIND</CODE>
+*/
+typedef int Concrete_Expression_Kind;
+
+/*! \brief
+  Encodes a binary operator of concrete expressions.
+
+  The values should be uniquely defined by the particular instance and
+  named: ADD, SUB, MUL, DIV, REM, BAND, BOR, BXOR, LSHIFT, RSHIFT.
+*/
+typedef int Concrete_Expression_BOP;
+
+/*! \brief
+  Encodes a unary operator of concrete expressions.
+
+  The values should be uniquely defined by the particular instance and
+  named: PLUS, MINUS, BNOT.
+*/
+typedef int Concrete_Expression_UOP;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Concrete_Expression_types_hh)
diff --git a/src/Congruence.cc b/src/Congruence.cc
index 9dbca0a..54d3026 100644
--- a/src/Congruence.cc
+++ b/src/Congruence.cc
@@ -1,6 +1,6 @@
 /* Congruence class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Congruence.defs.hh"
-
 #include "Variable.defs.hh"
+#include "Constraint.defs.hh"
 #include "assert.hh"
 #include <iostream>
 #include <sstream>
@@ -34,95 +33,108 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Congruence::Congruence(const Constraint& c)
-  : Row(c.is_equality()
-	? c
-	: (throw_invalid_argument("Congruence(c)",
-				  "constraint c must be an equality."),
-	   c),
-	c.space_dimension() + 2,
-	compute_capacity(c.space_dimension() + 2, Row::max_size())) {
-  (*this)[size()-1] = 0;
+PPL::Congruence::Congruence(const Constraint& c, Representation r)
+  : expr(c.expression(), c.space_dimension(), r),
+    modulus_(0) {
+  if (!c.is_equality())
+    throw_invalid_argument("Congruence(c, r)",
+                           "constraint c must be an equality.");
 }
 
 PPL::Congruence::Congruence(const Constraint& c,
-			    dimension_type sz, dimension_type capacity)
-  : Row(c.is_equality()
-	? c
-	: (throw_invalid_argument("Congruence(c)",
-				  "constraint c must be an equality."),
-	   c),
-	sz,
-	capacity) {
-  PPL_ASSERT(sz > 1);
-  (*this)[sz-1] = 0;
+                            dimension_type new_space_dimension,
+                            Representation r)
+  : expr(c.expression(), new_space_dimension, r),
+    modulus_(0) {
+  if (!c.is_equality())
+    throw_invalid_argument("Congruence(c, space_dim, r)",
+                           "constraint c must be an equality.");
 }
 
 void
 PPL::Congruence::sign_normalize() {
-  Row& x = *this;
-  const dimension_type sz = x.size() - 1;
-  // `first_non_zero' indicates the index of the first
-  // coefficient of the row different from zero, disregarding
-  // the very first coefficient (inhomogeneous term).
-  dimension_type first_non_zero;
-  for (first_non_zero = 1; first_non_zero < sz; ++first_non_zero)
-    if (x[first_non_zero] != 0)
-      break;
-  if (first_non_zero < sz)
-    // If the first non-zero coefficient of the row is negative,
-    // negate all the coefficients and the inhomogeneous term.
-    if (x[first_non_zero] < 0) {
-      for (dimension_type j = first_non_zero; j < sz; ++j)
-	neg_assign(x[j]);
-      // Also negate the inhomogeneous term.
-      neg_assign(x[0]);
-    }
+  expr.sign_normalize();
 }
 
 void
 PPL::Congruence::normalize() {
+  PPL_ASSERT(OK());
   sign_normalize();
 
-  dimension_type sz = size();
-  if (sz == 0)
-    return;
-
-  const Coefficient& mod = modulus();
-  if (mod == 0)
+  if (modulus_ == 0)
     return;
 
-  Coefficient& row_0 = (*this)[0];
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  c = expr.inhomogeneous_term();
   // Factor the modulus out of the inhomogeneous term.
-  row_0 %= mod;
-  if (row_0 < 0)
+  c %= modulus_;
+  if (c < 0)
     // Make inhomogeneous term positive.
-    row_0 += mod;
-  return;
+    c += modulus_;
+  expr.set_inhomogeneous_term(c);
+
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Congruence::strong_normalize() {
   normalize();
-  Row::normalize();
+  
+  Coefficient gcd = expr.gcd(0, expr.space_dimension() + 1);
+  if (gcd == 0)
+    gcd = modulus_;
+  else
+    gcd_assign(gcd, modulus_, gcd);
+  
+  if (gcd != 0 && gcd != 1) {
+    expr /= gcd;
+    modulus_ /= gcd;
+  }
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Congruence::scale(Coefficient_traits::const_reference factor) {
+  if (factor == 1)
+    // Nothing to do.
+    return;
+  
+  expr *= factor;
+  modulus_ *= factor;
+}
+
+void
+PPL::Congruence
+::affine_preimage(Variable v, const Linear_Expression& e,
+                  Coefficient_traits::const_reference denominator) {
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  c = expr.get(v);
+
+  if (c == 0)
+    return;
+
+  scale(denominator);
+
+  expr.linear_combine(e, 1, c, 0, e.space_dimension() + 1);
+
+  if (v.space_dimension() > e.space_dimension() || e.get(v) == 0)
+    // Not invertible
+    expr.set(v, Coefficient_zero());
+  else {
+    c *= e.get(v);
+    expr.set(v, c);
+  }
 }
 
 PPL::Congruence
 PPL::Congruence::create(const Linear_Expression& e1,
-			const Linear_Expression& e2) {
-  // Ensure that diff is created with capacity for the modulus.
-  dimension_type dim, e1_dim, e2_dim;
-  e1_dim = e1.space_dimension();
-  e2_dim = e2.space_dimension();
-  if (e1_dim > e2_dim)
-    dim = e1_dim;
-  else
-    dim = e2_dim;
-  Linear_Expression diff(e1_dim > e2_dim ? e1 : e2,
-			 dim + 2);
-  diff -= (e1_dim > e2_dim ? e2 : e1);
-  Congruence cg(diff, 1);
-  return cg;
+			const Linear_Expression& e2,
+                        Representation r) {
+  Linear_Expression e(e1,
+                      std::max(e1.space_dimension(), e2.space_dimension()),
+                      r);
+  e -= e2;
+  return Congruence(e, 1, Recycle_Input());
 }
 
 void
@@ -151,25 +163,24 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Congruence& c) {
   const dimension_type num_variables = c.space_dimension();
   PPL_DIRTY_TEMP_COEFFICIENT(cv);
   bool first = true;
-  for (dimension_type v = 0; v < num_variables; ++v) {
-    cv = c.coefficient(Variable(v));
-    if (cv != 0) {
-      if (!first) {
-	if (cv > 0)
-	  s << " + ";
-	else {
-	  s << " - ";
-	  neg_assign(cv);
-	}
+  for (Congruence::Expression::const_iterator i = c.expression().begin(),
+        i_end = c.expression().lower_bound(Variable(num_variables)); i != i_end; ++i) {
+    cv = *i;
+    if (!first) {
+      if (cv > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(cv);
       }
-      else
-	first = false;
-      if (cv == -1)
-	s << "-";
-      else if (cv != 1)
-	s << cv << "*";
-      s << PPL::Variable(v);
     }
+    else
+      first = false;
+    if (cv == -1)
+      s << "-";
+    else if (cv != 1)
+      s << cv << "*";
+    s << i.variable();
   }
   if (first)
     s << Coefficient_zero();
@@ -181,80 +192,45 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Congruence& c) {
 
 bool
 PPL::Congruence::is_tautological() const {
-  if ((is_equality() && inhomogeneous_term() == 0)
-      || (is_proper_congruence()
-	  && (inhomogeneous_term() % modulus() == 0))) {
-    for (unsigned i = space_dimension(); i > 0; --i)
-      if (operator[](i) != 0)
-	return false;
-    return true;
-  }
-  return false;
+  if (is_equality())
+    return (inhomogeneous_term() == 0) && expr.all_homogeneous_terms_are_zero();
+  
+  return (inhomogeneous_term() % modulus() == 0) && expr.all_homogeneous_terms_are_zero();
 }
 
 bool
 PPL::Congruence::is_inconsistent() const {
-  if (inhomogeneous_term() == 0
-      || (is_proper_congruence()
-	  && ((inhomogeneous_term() % modulus()) == 0)))
-    return false;
-  for (unsigned i = space_dimension(); i > 0; --i)
-    if (operator[](i) != 0)
-      return false;
-  return true;
+  if (is_equality())
+    return (inhomogeneous_term() != 0) && expr.all_homogeneous_terms_are_zero();
+  
+  return (inhomogeneous_term() % modulus() != 0) && expr.all_homogeneous_terms_are_zero();
 }
 
 void
 PPL::Congruence::ascii_dump(std::ostream& s) const {
-  const Row& x = *this;
-  const dimension_type x_size = x.size();
-  s << "size " << x_size << " ";
-  if (x_size > 0) {
-    for (dimension_type i = 0; i < x_size - 1; ++i)
-      s << x[i] << ' ';
-    s << "m " << x[x_size - 1];
-  }
-  s << std::endl;
+  expr.ascii_dump(s);
+  s << " m " << modulus_ << std::endl;
 }
 
 PPL_OUTPUT_DEFINITIONS(Congruence)
 
 bool
 PPL::Congruence::ascii_load(std::istream& s) {
+  expr.ascii_load(s);
+
   std::string str;
-  if (!(s >> str) || str != "size")
-    return false;
-  dimension_type new_size;
-  if (!(s >> new_size))
+  if (!(s >> str) || str != "m")
     return false;
 
-  Row& x = *this;
-  const dimension_type old_size = x.size();
-  if (new_size < old_size)
-    x.shrink(new_size);
-  else if (new_size > old_size) {
-    Row y(new_size, Row::Flags());
-    x.swap(y);
-  }
+  if (!(s >> modulus_))
+    return false;
 
-  if (new_size > 0) {
-    for (dimension_type col = 0; col < new_size - 1; ++col)
-      if (!(s >> x[col]))
-	return false;
-    if (!(s >> str) || str != "m")
-      return false;
-    if (!(s >> x[new_size-1]))
-      return false;
-  }
+  PPL_ASSERT(OK());
   return true;
 }
 
 bool
 PPL::Congruence::OK() const {
-  // A Congruence must be a valid Row.
-  if (!Row::OK())
-    return false;
-
   // Modulus check.
   if (modulus() < 0) {
 #ifndef NDEBUG
diff --git a/src/Congruence.defs.hh b/src/Congruence.defs.hh
index 7ed637f..79f0124 100644
--- a/src/Congruence.defs.hh
+++ b/src/Congruence.defs.hh
@@ -1,6 +1,6 @@
 /* Congruence class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,44 +19,26 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Congruence_defs_hh
 #define PPL_Congruence_defs_hh 1
 
 #include "Congruence.types.hh"
-#include "Scalar_Products.types.hh"
-#include "Row.defs.hh"
-#include "Grid.types.hh"
-#include "Polyhedron.types.hh"
+
+#include "Coefficient.defs.hh"
 #include "Variable.defs.hh"
+
 #include "Constraint.types.hh"
-#include "Linear_Expression.types.hh"
-#include "Linear_Row.types.hh"
-#include "Congruence_System.defs.hh"
+#include "Grid.types.hh"
+#include "Linear_Expression.defs.hh"
+
 #include <iosfwd>
+#include <vector>
 
+// These are declared here because they are friend of Congruence.
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
-
-//! Output operators.
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-std::ostream&
-operator<<(std::ostream& s, const Congruence& c);
-
-// Put this in the namespace here to declare it a friend later.
-
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
-
-
-} // namespace IO_Operators
-
-// Put these in the namespace here to declare them friend later.
-
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
 /*! \relates Congruence */
 bool
@@ -67,42 +49,8 @@ operator==(const Congruence& x, const Congruence& y);
 bool
 operator!=(const Congruence& x, const Congruence& y);
 
-//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the congruence \f$e = n \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
-/*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  \relates Congruence
-*/
-Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k);
-
-//! Creates a congruence from \p c, with \p m as the modulus.
-/*! \relates Congruence */
-Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m);
-
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence */
-void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y);
-
-} // namespace std
 
 //! A linear congruence.
 /*! \ingroup PPL_CXX_interface
@@ -208,23 +156,49 @@ swap(Parma_Polyhedra_Library::Congruence& x,
   syntactically different from the (semantically equivalent)
   congruence considered.
 */
-class Parma_Polyhedra_Library::Congruence : private Row {
+class Parma_Polyhedra_Library::Congruence {
 public:
+
+  //! The representation used for new Congruences.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Constructs the 0 = 0 congruence with space dimension \p 0 .
+  explicit Congruence(Representation r = default_representation);
+
   //! Ordinary copy constructor.
+  /*!
+    \note The new Congruence will have the same representation as `cg',
+          not default_representation, so that they are indistinguishable.
+  */
   Congruence(const Congruence& cg);
 
+  //! Copy constructor with specified representation.
+  Congruence(const Congruence& cg, Representation r);
+
   //! Copy-constructs (modulo 0) from equality constraint \p c.
   /*!
     \exception std::invalid_argument
     Thrown if \p c is an inequality.
   */
-  explicit Congruence(const Constraint& c);
+  explicit Congruence(const Constraint& c,
+                      Representation r = default_representation);
 
   //! Destructor.
   ~Congruence();
 
   //! Assignment operator.
-  Congruence& operator=(const Congruence& cg);
+  Congruence& operator=(const Congruence& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Congruence can handle.
   static dimension_type max_space_dimension();
@@ -232,6 +206,14 @@ public:
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  void permute_space_dimensions(const std::vector<Variable>& cycles);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Linear_Expression Expression;
+
+  const Expression& expression() const;
+
   //! Returns the coefficient of \p v in \p *this.
   /*!
     \exception std::invalid_argument thrown if the index of \p v
@@ -245,6 +227,18 @@ public:
   //! Returns a const reference to the modulus of \p *this.
   Coefficient_traits::const_reference modulus() const;
 
+  //! Sets the modulus of \p *this to \p m .
+  //! If \p m is 0, the congruence becomes an equality.
+  void set_modulus(Coefficient_traits::const_reference m);
+
+  //! Multiplies all the coefficients, including the modulus, by \p factor .
+  void scale(Coefficient_traits::const_reference factor);
+
+  // TODO: Document this.
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
+
   //! Multiplies \p k into the modulus of \p *this.
   /*!
     If called with \p *this representing the congruence \f$ e_1 = e_2
@@ -289,13 +283,6 @@ public:
   */
   bool is_equality() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
-    dimension \p dim.
-  */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Congruence& cg) const;
-
   //! Initializes the class.
   static void initialize();
 
@@ -317,15 +304,18 @@ public:
 
   //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
   static Congruence
-  create(const Linear_Expression& e1, const Linear_Expression& e2);
+  create(const Linear_Expression& e1, const Linear_Expression& e2,
+         Representation r = default_representation);
 
   //! Returns the congruence \f$e = n \pmod{1}\f$.
   static Congruence
-  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  create(const Linear_Expression& e, Coefficient_traits::const_reference n,
+         Representation r = default_representation);
 
   //! Returns the congruence \f$n = e \pmod{1}\f$.
   static Congruence
-  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  create(Coefficient_traits::const_reference n, const Linear_Expression& e,
+         Representation r = default_representation);
 
   /*! \brief
     Returns a lower bound to the total size in bytes of the memory
@@ -336,6 +326,9 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
@@ -344,10 +337,52 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Swaps \p *this with \p y.
+  void m_swap(Congruence& y);
+
+  //! Copy-constructs with the specified space dimension.
+  /*!
+    \note The new Congruence will have the same representation as `cg',
+          not default_representation, for consistency with the copy
+          constructor.
+  */
+  Congruence(const Congruence& cg, dimension_type new_space_dimension);
+
+  //! Copy-constructs with the specified space dimension and representation.
+  Congruence(const Congruence& cg, dimension_type new_space_dimension,
+             Representation r);
 
-protected:
+  //! Copy-constructs from a constraint, with the specified space dimension
+  //! and (optional) representation.
+  Congruence(const Constraint& cg, dimension_type new_space_dimension,
+             Representation r = default_representation);
+
+  //! Constructs from Linear_Expression \p le, using modulus \p m.
+  /*!
+    Builds a congruence with modulus \p m, stealing the coefficients
+    from \p le.
+
+    \note The new Congruence will have the same representation as `le'.
+
+    \param le
+    The Linear_Expression holding the coefficients.
+
+    \param m
+    The modulus for the congruence, which must be zero or greater.
+  */
+  Congruence(Linear_Expression& le,
+             Coefficient_traits::const_reference m, Recycle_Input);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Sets the space dimension by \p n , adding or removing coefficients as
+  //! needed.
+  void set_space_dimension(dimension_type n);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
 
   //! Normalizes the signs.
   /*!
@@ -367,7 +402,7 @@ protected:
   //! Calls normalize, then divides out common factors.
   /*!
     Strongly normalized Congruences have equivalent semantics if and
-    only if their syntaxes (as output by operator<<) are equal.
+    only if they have the same syntax (as output by operator<<).
   */
   void strong_normalize();
 
@@ -385,49 +420,16 @@ private:
   */
   static const Congruence* zero_dim_integrality_p;
 
-  //! Marks this congruence as a linear equality.
-  void set_is_equality();
-
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
-
-  //! Default constructor: private and not implemented.
-  Congruence();
+  Linear_Expression expr;
 
-  //! Copy-constructs with specified size and capacity.
-  Congruence(const Congruence& cg,
-	     dimension_type sz,
-	     dimension_type capacity);
+  Coefficient modulus_;
 
-  //! Constructs from a constraint, with specified size and capacity.
-  Congruence(const Constraint& c,
-	     dimension_type sz,
-	     dimension_type capacity);
-
-  //! Copy-constructs from \p cg, multiplying \p k into the modulus.
-  /*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  */
-  Congruence(const Congruence& cg, Coefficient_traits::const_reference k);
-
-  //! Constructs from Linear_Expression \p le, using modulus \p m.
-  /*!
-    Builds a congruence with modulus \p m, stealing the coefficients
-    from \p le.
-
-    \param le
-    The Linear_Expression holding the coefficients.
-
-    \param m
-    The modulus for the congruence, which must be zero or greater.
+  /*! \brief
+    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
+    dimension \p v.
   */
-  Congruence(Linear_Expression& le,
-	     Coefficient_traits::const_reference m);
-
-  //! Swaps \p *this with \p y.
-  void swap(Congruence& y);
+  bool is_equal_at_dimension(Variable v,
+                             const Congruence& cg) const;
 
   /*! \brief
     Throws a <CODE>std::invalid_argument</CODE> exception containing
@@ -445,36 +447,58 @@ private:
 			       const char* v_name,
 			       Variable v) const;
 
-  friend Congruence
-  operator/(const Congruence& cg, Coefficient_traits::const_reference k);
-  friend Congruence
-  operator/(const Constraint& c, Coefficient_traits::const_reference m);
-
   friend bool
   operator==(const Congruence& x, const Congruence& y);
 
   friend bool
   operator!=(const Congruence& x, const Congruence& y);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s,
-	       const Congruence_System& cgs);
-
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Congruence_System;
-  friend class Parma_Polyhedra_Library::Congruence_System::const_iterator;
-  // FIXME: The following friend declaration is at least for
-  //        operator[] access in Grid::conversion.
-  friend class Parma_Polyhedra_Library::Grid;
-  friend class Parma_Polyhedra_Library::Linear_Expression;
-
-  friend void
-  std::swap(Parma_Polyhedra_Library::Congruence& x,
-	    Parma_Polyhedra_Library::Congruence& y);
+  friend class Grid;
 };
 
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operators.
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+std::ostream&
+operator<<(std::ostream& s, const Congruence& c);
+
+} // namespace IO_Operators
+
+//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the congruence \f$e = n \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
+/*!
+    If \p cg represents the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then the result represents the
+    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
+  \relates Congruence
+*/
+Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+
+//! Creates a congruence from \p c, with \p m as the modulus.
+/*! \relates Congruence */
+Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m);
+
+/*! \relates Congruence */
+void
+swap(Congruence& x, Congruence& y);
+
+} // namespace Parma_Polyhedra_Library
+
 #include "Congruence.inlines.hh"
 
 #endif // !defined(PPL_Congruence_defs_hh)
diff --git a/src/Congruence.inlines.hh b/src/Congruence.inlines.hh
index ed0d8f6..b8f8136 100644
--- a/src/Congruence.inlines.hh
+++ b/src/Congruence.inlines.hh
@@ -1,6 +1,6 @@
 /* Congruence class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,37 +19,70 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Congruence_inlines_hh
 #define PPL_Congruence_inlines_hh 1
 
-#include "Linear_Expression.defs.hh"
-#include "Constraint.defs.hh"
-
 #include <sstream>
 
 namespace Parma_Polyhedra_Library {
 
 inline
+Congruence::Congruence(Representation r)
+  : expr(r) {
+  PPL_ASSERT(OK());
+}
+
+inline
 Congruence::Congruence(const Congruence& cg)
-  : Row(cg) {
+  : expr(cg.expr), modulus_(cg.modulus_) {
+}
+
+inline
+Congruence::Congruence(const Congruence& cg, Representation r)
+  : expr(cg.expr, r), modulus_(cg.modulus_) {
 }
 
 inline
 Congruence::Congruence(const Congruence& cg,
-		       dimension_type sz, dimension_type capacity)
-  : Row(cg, sz, capacity) {
+                       dimension_type new_space_dimension)
+  : expr(cg.expr, new_space_dimension), modulus_(cg.modulus_) {
+  PPL_ASSERT(OK());
 }
 
 inline
 Congruence::Congruence(const Congruence& cg,
-		       Coefficient_traits::const_reference k)
-  : Row(cg) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
+                       dimension_type new_space_dimension,
+                       Representation r)
+  : expr(cg.expr, new_space_dimension, r), modulus_(cg.modulus_) {
+  PPL_ASSERT(OK());
+}
+
+inline Representation
+Congruence::representation() const {
+  return expr.representation();
+}
+
+inline void
+Congruence::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline const Congruence::Expression&
+Congruence::expression() const {
+  return expr;
+}
+
+inline void
+Congruence::set_space_dimension(dimension_type n) {
+  expr.set_space_dimension(n);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Congruence::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
 }
 
 inline
@@ -58,29 +91,32 @@ Congruence::~Congruence() {
 
 inline
 Congruence::Congruence(Linear_Expression& le,
-		       Coefficient_traits::const_reference m) {
-  Row::swap(static_cast<Row&>(le));
+		       Coefficient_traits::const_reference m,
+                       Recycle_Input)
+  : modulus_(m) {
   PPL_ASSERT(m >= 0);
-  (*this)[size()-1] = m;
+  swap(expr, le);
+
+  PPL_ASSERT(OK());
 }
 
 inline Congruence
 Congruence::create(const Linear_Expression& e,
-		   Coefficient_traits::const_reference n) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
+		   Coefficient_traits::const_reference n,
+                   Representation r) {
+  Linear_Expression diff(e, r);
   diff -= n;
-  Congruence cg(diff, 1);
+  Congruence cg(diff, 1, Recycle_Input());
   return cg;
 }
 
 inline Congruence
 Congruence::create(Coefficient_traits::const_reference n,
-		   const Linear_Expression& e) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
+		   const Linear_Expression& e,
+                   Representation r) {
+  Linear_Expression diff(e, r);
   diff -= n;
-  Congruence cg(diff, 1);
+  Congruence cg(diff, 1, Recycle_Input());
   return cg;
 }
 
@@ -99,7 +135,8 @@ operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
 /*! \relates Parma_Polyhedra_Library::Congruence */
 inline Congruence
 operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
-  Congruence ret(cg, k);
+  Congruence ret = cg;
+  ret /= k;
   return ret;
 }
 
@@ -114,8 +151,9 @@ Congruence::zero_dim_false() {
 }
 
 inline Congruence&
-Congruence::operator=(const Congruence& c) {
-  Row::operator=(c);
+Congruence::operator=(const Congruence& y) {
+  Congruence tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
@@ -123,26 +161,30 @@ Congruence::operator=(const Congruence& c) {
 inline Congruence
 operator/(const Constraint& c, Coefficient_traits::const_reference m) {
   Congruence ret(c);
-  return ret / m;
+  ret /= m;
+  return ret;
 }
 
 inline Congruence&
 Congruence::operator/=(Coefficient_traits::const_reference k) {
   if (k >= 0)
-    (*this)[size()-1] *= k;
+    modulus_ *= k;
   else
-    (*this)[size()-1] *= -k;
+    modulus_ *= -k;
   return *this;
 }
 
 /*! \relates Congruence */
 inline bool
 operator==(const Congruence& x, const Congruence& y) {
+  if (x.space_dimension() != y.space_dimension())
+    return false;
   Congruence x_temp(x);
   Congruence y_temp(y);
   x_temp.strong_normalize();
   y_temp.strong_normalize();
-  return static_cast<const Row&>(x_temp) == static_cast<const Row&>(y_temp);
+  return x_temp.expr.is_equal_to(y_temp.expr)
+    && x_temp.modulus() == y_temp.modulus();
 }
 
 /*! \relates Congruence */
@@ -153,32 +195,40 @@ operator!=(const Congruence& x, const Congruence& y) {
 
 inline dimension_type
 Congruence::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term, while
-  // the last coefficient is for the modulus.
-  return max_size() - 2;
+  return Linear_Expression::max_space_dimension();
 }
 
 inline dimension_type
 Congruence::space_dimension() const {
-  return size() - 2;
+  return expr.space_dimension();
 }
 
 inline Coefficient_traits::const_reference
 Congruence::coefficient(const Variable v) const {
   if (v.space_dimension() > space_dimension())
     throw_dimension_incompatible("coefficient(v)", "v", v);
-  return (*this)[v.id()+1];
+  return expr.coefficient(v);
+}
+
+inline void
+Congruence::permute_space_dimensions(const std::vector<Variable>& cycles) {
+  expr.permute_space_dimensions(cycles);
 }
 
 inline Coefficient_traits::const_reference
 Congruence::inhomogeneous_term() const {
-  return (*this)[0];
+  return expr.inhomogeneous_term();
 }
 
 inline Coefficient_traits::const_reference
 Congruence::modulus() const {
-  PPL_ASSERT(size() > 1);
-  return (*this)[size()-1];
+  return modulus_;
+}
+
+inline void
+Congruence::set_modulus(Coefficient_traits::const_reference m) {
+  modulus_ = m;
+  PPL_ASSERT(OK());
 }
 
 inline bool
@@ -192,48 +242,40 @@ Congruence::is_equality() const {
 }
 
 inline bool
-Congruence::is_equal_at_dimension(dimension_type dim,
+Congruence::is_equal_at_dimension(Variable v,
 				  const Congruence& cg) const {
-  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
-}
-
-inline void
-Congruence::set_is_equality() {
-  (*this)[size()-1] = 0;
-}
-
-inline void
-Congruence::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
+  return coefficient(v) * cg.modulus() == cg.coefficient(v) * modulus();
 }
 
 inline memory_size_type
 Congruence::external_memory_in_bytes() const {
-  return Row::external_memory_in_bytes();
+  return expr.external_memory_in_bytes()
+         + Parma_Polyhedra_Library::external_memory_in_bytes(modulus_);
 }
 
 inline memory_size_type
 Congruence::total_memory_in_bytes() const {
-  return Row::total_memory_in_bytes();
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
 inline void
-Congruence::swap(Congruence& y) {
-  Row::swap(y);
+Congruence::m_swap(Congruence& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(modulus_, y.modulus_);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
+inline void
+Congruence::swap_space_dimensions(Variable v1, Variable v2) {
+  expr.swap_space_dimensions(v1, v2);
+}
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
+/*! \relates Congruence */
 inline void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y) {
-  x.swap(y);
+swap(Congruence& x, Congruence& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Congruence_inlines_hh)
diff --git a/src/Congruence.types.hh b/src/Congruence.types.hh
index db85cdc..37060e2 100644
--- a/src/Congruence.types.hh
+++ b/src/Congruence.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Congruence_System.cc b/src/Congruence_System.cc
index 07b71ca..9776bc3 100644
--- a/src/Congruence_System.cc
+++ b/src/Congruence_System.cc
@@ -1,6 +1,6 @@
 /* Congruence_System class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
 #include "Constraint_System.defs.hh"
@@ -30,6 +29,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence.defs.hh"
 #include "Grid_Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "assert.hh"
 #include <string>
 #include <vector>
@@ -38,116 +38,114 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Congruence_System::Congruence_System(const Constraint_System& cs)
-  : Matrix(0, cs.space_dimension() + 2) {
+PPL::Congruence_System::Congruence_System(const Constraint_System& cs,
+                                          Representation r)
+  : rows(),
+    space_dimension_(cs.space_dimension()),
+    representation_(r) {
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i)
     if (i->is_equality())
       insert(*i);
 }
 
-bool
-PPL::Congruence_System::
-increase_space_dimension(const dimension_type new_space_dim) {
-  PPL_ASSERT(space_dimension() <= new_space_dim);
-
-  const dimension_type cols_to_add = new_space_dim - space_dimension();
+void
+PPL::Congruence_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  for (dimension_type k = rows.size(); k-- > 0; ) {
+    Congruence& rows_k = rows[k];
+    rows_k.permute_space_dimensions(cycle);
+  }
+  PPL_ASSERT(OK());
+}
 
-  if (cols_to_add) {
-    if (num_rows()) {
-      const dimension_type old_num_columns = num_columns();
-      add_zero_columns(cols_to_add);
-      // Move the moduli.
-      swap_columns(num_columns() - 1, old_num_columns - 1);
-    }
-    else
-      // Empty system.
-      add_zero_columns(cols_to_add);
+void
+PPL::Congruence_System::remove_rows(const dimension_type first,
+                                    const dimension_type last,
+                                    bool keep_sorted) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= num_rows());
+  const dimension_type n = last - first;
+
+  // Swap the rows in [first, last) with the rows in [size() - n, size())
+  // (note that these intervals may not be disjunct).
+  if (keep_sorted) {
+    for (dimension_type i = last; i < rows.size(); ++i)
+      swap(rows[i], rows[i - n]);
+  }
+  else {
+    const dimension_type offset = rows.size() - n - first;
+    for (dimension_type i = first; i < last; ++i)
+      swap(rows[i], rows[i + offset]);
   }
 
+  rows.resize(rows.size() - n);
+  PPL_ASSERT(OK());
+}
+
+bool
+PPL::Congruence_System
+::set_space_dimension(const dimension_type new_space_dim) {
+  if (space_dimension() != new_space_dim) {
+    space_dimension_ = new_space_dim;
+    for (dimension_type i = num_rows(); i-- > 0; )
+      rows[i].set_space_dimension(new_space_dim);
+  }
   PPL_ASSERT(OK());
   return true;
 }
 
 void
-PPL::Congruence_System::insert_verbatim(const Congruence& cg) {
-  const dimension_type old_num_columns = num_columns();
-  const dimension_type cg_size = cg.size();
-
-  if (cg_size > old_num_columns) {
-    // Resize the system, if necessary.
-    add_zero_columns(cg_size - old_num_columns);
-    if (!has_no_rows())
-      // Move the moduli to the last column.
-      swap_columns(old_num_columns - 1, cg_size - 1);
-    add_row(cg);
-  }
-  else if (cg_size < old_num_columns) {
-    // Create a resized copy of `cg'.
-    Congruence rc(cg, old_num_columns, row_capacity);
-    // Move the modulus to its place.
-    std::swap(rc[cg_size - 1], rc[old_num_columns - 1]);
-    add_recycled_row(rc);
-  }
+PPL::Congruence_System::swap_space_dimensions(Variable v1, Variable v2) {
+  for (dimension_type k = num_rows(); k-- > 0; )
+    rows[k].swap_space_dimensions(v1, v2);
+}
+
+void
+PPL::Congruence_System::insert_verbatim(Congruence& cg, Recycle_Input) {
+  // TODO: Remove this.
+  PPL_ASSERT(cg.OK());
+
+  cg.set_representation(representation());
+
+  if (cg.space_dimension() >= space_dimension())
+    set_space_dimension(cg.space_dimension());
   else
-    // Here cg_size == old_num_columns.
-    add_row(cg);
+    cg.set_space_dimension(space_dimension());
+
+  rows.resize(num_rows() + 1);
+
+  swap(cg, rows.back());
 
   PPL_ASSERT(OK());
 }
 
 void
 PPL::Congruence_System::insert(const Constraint& c) {
-  const dimension_type cg_size = c.space_dimension() + 2;
-  const dimension_type old_num_columns = num_columns();
-  if (cg_size < old_num_columns) {
-    // Create a congruence of the required size from `c'.
-    Congruence cg(c, old_num_columns, row_capacity);
-    add_recycled_row(cg);
-  }
-  else {
-    if (cg_size > old_num_columns) {
-      // Resize the system, if necessary.
-      add_zero_columns(cg_size - old_num_columns);
-      if (!has_no_rows())
-	// Move the moduli to the last column.
-	swap_columns(old_num_columns - 1, cg_size - 1);
-    }
-    Congruence cg(c, cg_size, row_capacity);
-    add_recycled_row(cg);
-  }
-  operator[](rows.size()-1).strong_normalize();
+  if (c.space_dimension() > space_dimension())
+    set_space_dimension(c.space_dimension());
+  Congruence cg(c, space_dimension(), representation());
+  cg.strong_normalize();
+  rows.resize(num_rows() + 1);
+
+  swap(cg, rows.back());
 
   PPL_ASSERT(OK());
 }
 
 void
-PPL::Congruence_System::recycling_insert(Congruence_System& cgs) {
+PPL::Congruence_System::insert(Congruence_System& cgs, Recycle_Input) {
   const dimension_type old_num_rows = num_rows();
   const dimension_type cgs_num_rows = cgs.num_rows();
-  const dimension_type old_num_columns = num_columns();
-  dimension_type cgs_num_columns = cgs.num_columns();
-  if (old_num_columns >= cgs_num_columns)
-    add_zero_rows(cgs_num_rows, Row::Flags());
-  else {
-    add_zero_rows_and_columns(cgs_num_rows,
-			      cgs_num_columns - old_num_columns,
-			      Row::Flags());
-    // Swap the modulus column into the new last column.
-    swap_columns(old_num_columns - 1, num_columns() - 1);
-  }
-  --cgs_num_columns; // Convert to modulus index.
-  const dimension_type mod_index = num_columns() - 1;
+  if (space_dimension() < cgs.space_dimension())
+    set_space_dimension(cgs.space_dimension());
+  rows.resize(old_num_rows + cgs_num_rows);
   for (dimension_type i = cgs_num_rows; i-- > 0; ) {
-    // Swap one coefficient at a time into the newly added rows, instead
-    // of swapping each entire row.  This ensures that the added rows
-    // have the same capacities as the existing rows.
-    Congruence& new_cg = operator[](old_num_rows + i);
-    Congruence& old_cg = cgs[i];
-    for (dimension_type j = cgs_num_columns; j-- > 0; )
-      std::swap(new_cg[j], old_cg[j]);
-    std::swap(new_cg[mod_index], old_cg[cgs_num_columns]); // Modulus.
+    cgs.rows[i].set_space_dimension(space_dimension());
+    cgs.rows[i].set_representation(representation());
+    swap(cgs.rows[i], rows[old_num_rows + i]);
   }
+  cgs.clear();
 
   PPL_ASSERT(OK());
 }
@@ -158,40 +156,32 @@ PPL::Congruence_System::insert(const Congruence_System& y) {
 
   const dimension_type x_num_rows = x.num_rows();
   const dimension_type y_num_rows = y.num_rows();
-  const dimension_type old_num_columns = x.num_columns();
-  const dimension_type y_num_columns = y.num_columns();
+
   // Grow to the required size.
-  if (old_num_columns >= y_num_columns)
-    add_zero_rows(y_num_rows, Row::Flags());
-  else {
-    add_zero_rows_and_columns(y_num_rows,
-			      y_num_columns - old_num_columns,
-			      Row::Flags());
-    // Swap the modulus column into the new last column.
-    swap_columns(old_num_columns - 1, num_columns() - 1);
-  }
+  if (space_dimension() < y.space_dimension())
+    set_space_dimension(y.space_dimension());
+
+  rows.resize(rows.size() + y_num_rows);
 
-  // Copy the rows of `y', forcing size and capacity.
-  const dimension_type x_mod_index = x.num_columns() - 1;
-  const dimension_type y_mod_index = y_num_columns - 1;
+  // Copy the rows of `y', with the new space dimension.
   for (dimension_type i = y_num_rows; i-- > 0; ) {
-    Row copy(y[i], x.row_size, x.row_capacity);
-    // Swap the modulus to the correct column.
-    std::swap(copy[x_mod_index], copy[y_mod_index]);
-    std::swap(copy, x[x_num_rows+i]);
+    Congruence copy(y[i], space_dimension(), representation());
+    swap(copy, x.rows[x_num_rows+i]);
   }
   PPL_ASSERT(OK());
 }
 
 void
 PPL::Congruence_System::normalize_moduli() {
-  dimension_type row = num_rows();
+  Congruence_System& cgs = *this;
+  dimension_type row = cgs.num_rows();
   if (row > 0) {
     // Calculate the LCM of all the moduli.
     PPL_DIRTY_TEMP_COEFFICIENT(lcm);
     // Find last proper congruence.
     while (true) {
-      lcm = operator[](--row).modulus();
+      --row;
+      lcm = cgs[row].modulus();
       if (lcm > 0)
 	break;
       if (row == 0)
@@ -199,22 +189,20 @@ PPL::Congruence_System::normalize_moduli() {
 	return;
     }
     while (row > 0) {
-      const Coefficient& modulus = operator[](--row).modulus();
+      --row;
+      const Coefficient& modulus = cgs[row].modulus();
       if (modulus > 0)
 	lcm_assign(lcm, lcm, modulus);
     }
 
     // Represent every row using the LCM as the modulus.
     PPL_DIRTY_TEMP_COEFFICIENT(factor);
-    dimension_type row_size = operator[](0).size();
     for (row = num_rows(); row-- > 0; ) {
-      const Coefficient& modulus = operator[](row).modulus();
+      const Coefficient& modulus = cgs[row].modulus();
       if (modulus <= 0 || modulus == lcm)
 	continue;
       exact_div_assign(factor, lcm, modulus);
-      for (dimension_type col = row_size; col-- > 0; )
-	operator[](row)[col] *= factor;
-      operator[](row)[row_size-1] = lcm;
+      rows[row].scale(factor);
     }
   }
   PPL_ASSERT(OK());
@@ -222,31 +210,21 @@ PPL::Congruence_System::normalize_moduli() {
 
 bool
 PPL::Congruence_System::is_equal_to(const Congruence_System& cgs) const {
-  if (num_rows() != cgs.num_rows())
-    return false;
-
-  for (dimension_type row = cgs.num_rows(); row-- > 0; )
-    for (dimension_type col = cgs.num_columns(); col-- > 0; ) {
-      if (operator[](row)[col] == cgs[row][col])
-	continue;
-      return false;
-    }
-  return true;
+  return (*this) == cgs;
 }
 
 bool
 PPL::Congruence_System::has_linear_equalities() const {
   const Congruence_System& cgs = *this;
-  const dimension_type modulus_index = cgs.num_columns() - 1;
   for (dimension_type i = cgs.num_rows(); i-- > 0; )
-    if (cgs[i][modulus_index] == 0)
+    if (cgs[i].modulus() == 0)
       return true;
   return false;
 }
 
 void
 PPL::Congruence_System::const_iterator::skip_forward() {
-  const Matrix::const_iterator csp_end = csp->end();
+  const Swapping_Vector<Congruence>::const_iterator csp_end = csp->end();
   while (i != csp_end && (*this)->is_tautological())
     ++i;
 }
@@ -307,97 +285,41 @@ bool
 PPL::Congruence_System::has_a_free_dimension() const {
   // Search for a dimension that is free of any congruence or equality
   // constraint.  Assumes a minimized system.
-  dimension_type space_dim = space_dimension();
-  std::vector<bool> free_dim(space_dim, true);
-  dimension_type free_dims = space_dim;
-  for (dimension_type row = num_rows(); row-- > 0; ) {
-    const Congruence& cg = operator[](row);
-    for (dimension_type dim = space_dim; dim-- > 0; )
-      if (free_dim[dim] && cg[dim+1] != 0) {
-	if (--free_dims == 0) {
-	  // All dimensions are constrained.
-#ifndef NDEBUG
-	  free_dim[dim] = false;
-	  // Check that there are free_dims dimensions marked free
-	  // in free_dim.
-	  dimension_type count = 0;
-	  for (dimension_type i = space_dim; i-- > 0; )
-	    count += free_dim[i];
-	  PPL_ASSERT(count == free_dims);
-#endif
-	  return true;
-	}
-	free_dim[dim] = false;
-      }
+  std::set<dimension_type> candidates;
+  for (dimension_type i = space_dimension(); i-- > 0; )
+    candidates.insert(i + 1);
+
+  for (dimension_type i = num_rows(); i-- > 0; ) {
+    rows[i].expression().has_a_free_dimension_helper(candidates);
+    if (candidates.empty())
+      return false;
   }
-  // At least one dimension is free of constraint.
-  return false;
+  return !candidates.empty();
 }
 
 void
 PPL::Congruence_System::
-affine_preimage(dimension_type v,
+affine_preimage(Variable v,
 		const Linear_Expression& expr,
 		Coefficient_traits::const_reference denominator) {
-  // `v' is the index of a column corresponding to a "user" variable
-  // (i.e., it cannot be the inhomogeneous term).
-  PPL_ASSERT(v > 0 && v <= space_dimension());
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
   PPL_ASSERT(expr.space_dimension() <= space_dimension());
   PPL_ASSERT(denominator > 0);
 
-  const dimension_type num_columns = this->num_columns();
-  const dimension_type num_rows = this->num_rows();
-  const dimension_type expr_size = expr.size();
-  const bool not_invertible = (v >= expr_size || expr[v] == 0);
-  Congruence_System& x = *this;
-
-  if (denominator == 1)
-    // Optimized computation only considering columns having indexes <
-    // expr_size.
-    for (dimension_type i = num_rows; i-- > 0; ) {
-      Congruence& row = x[i];
-      Coefficient& row_v = row[v];
-      if (row_v != 0) {
-	for (dimension_type j = expr_size; j-- > 0; )
-	  if (j != v)
-	    // row[j] = row[j] + row_v * expr[j]
-	    add_mul_assign(row[j], row_v, expr[j]);
-	if (not_invertible)
-	  row_v = 0;
-	else
-	  row_v *= expr[v];
-      }
-    }
-  else
-    for (dimension_type i = num_rows; i-- > 0; ) {
-      Congruence& row = x[i];
-      Coefficient& row_v = row[v];
-      if (row_v != 0) {
-	for (dimension_type j = num_columns; j-- > 0; )
-	  if (j != v) {
-	    Coefficient& row_j = row[j];
-	    row_j *= denominator;
-	    if (j < expr_size)
-	      add_mul_assign(row_j, row_v, expr[j]);
-	  }
-	if (not_invertible)
-	  row_v = 0;
-	else
-	  row_v *= expr[v];
-      }
-    }
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].affine_preimage(v, expr, denominator);
 }
 
 void
 PPL::Congruence_System::ascii_dump(std::ostream& s) const {
   const Congruence_System& x = *this;
   dimension_type x_num_rows = x.num_rows();
-  dimension_type x_num_columns = x.num_columns();
-  s << x_num_rows << " x " << x_num_columns
-    << std::endl;
-  if (x_num_rows && x_num_columns)
-    for (dimension_type i = 0; i < x_num_rows; ++i)
-      x[i].ascii_dump(s);
+  dimension_type x_space_dim = x.space_dimension();
+  s << x_num_rows << " x " << x_space_dim << " ";
+  Parma_Polyhedra_Library::ascii_dump(s, representation());
+  s << std::endl;
+  for (dimension_type i = 0; i < x_num_rows; ++i)
+    x[i].ascii_dump(s);
 }
 
 PPL_OUTPUT_DEFINITIONS(Congruence_System)
@@ -406,19 +328,25 @@ bool
 PPL::Congruence_System::ascii_load(std::istream& s) {
   std::string str;
   dimension_type num_rows;
-  dimension_type num_columns;
+  dimension_type space_dim;
   if (!(s >> num_rows))
     return false;
   if (!(s >> str) || str != "x")
     return false;
-  if (!(s >> num_columns))
+  if (!(s >> space_dim))
     return false;
-  resize_no_copy(num_rows, num_columns);
+  clear();
+  space_dimension_ = space_dim;
 
-  Congruence_System& x = *this;
-  for (dimension_type i = 0; i < x.num_rows(); ++i)
-    if (!x[i].ascii_load(s))
+  if (!Parma_Polyhedra_Library::ascii_load(s, representation_))
+    return false;
+
+  Congruence c;
+  for (dimension_type i = 0; i < num_rows; ++i) {
+    if (!c.ascii_load(s))
       return false;
+    insert_verbatim(c, Recycle_Input());
+  }
 
   // Check invariants.
   PPL_ASSERT(OK());
@@ -443,28 +371,17 @@ PPL::Congruence_System::finalize() {
 
 bool
 PPL::Congruence_System::OK() const {
-  // A Congruence_System must be a valid Matrix.
-  if (!Matrix::OK())
-    return false;
-
-  if (num_rows()) {
-    if (num_columns() < 2) {
-#ifndef NDEBUG
-      std::cerr << "Congruence_System has rows and fewer than two columns."
-		<< std::endl;
-#endif
-      return false;
-    }
-  }
-
-  // Checking each congruence in the system.
-  const Congruence_System& x = *this;
+  // All rows must have space dimension `space_dimension()'
+  // and representation `representation()'.
   for (dimension_type i = num_rows(); i-- > 0; ) {
-    const Congruence& cg = x[i];
+    const Congruence& cg = rows[i];
+    if (cg.space_dimension() != space_dimension())
+      return false;
+    if (cg.representation() != representation())
+      return false;
     if (!cg.OK())
       return false;
   }
-
   // All checks passed.
   return true;
 }
@@ -477,9 +394,10 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Congruence_System& cgs) {
   if (i == cgs_end)
     return s << "true";
   while (true) {
-    Congruence cg = *i++;
+    Congruence cg = *i;
     cg.strong_normalize();
     s << cg;
+    ++i;
     if (i == cgs_end)
       return s;
     s << ", ";
@@ -489,95 +407,64 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Congruence_System& cgs) {
 /*! \relates Parma_Polyhedra_Library::Congruence_System */
 bool
 PPL::operator==(const Congruence_System& x, const Congruence_System& y) {
-  if (x.num_columns() == y.num_columns()) {
-    dimension_type num_rows = x.num_rows();
-    if (num_rows == y.num_rows()) {
-      while (num_rows--) {
-	if (x[num_rows] == y[num_rows])
-	  continue;
-	return false;
-      }
-      return true;
-    }
+  if (x.num_rows() != y.num_rows())
+    return false;
+  for (dimension_type i = x.num_rows(); i-- > 0; ) {
+    // NOTE: this also checks for space dimension.
+    if (x[i] != y[i])
+      return false;
   }
-  return false;
+  return true;
 }
 
 void
-PPL::Congruence_System::add_unit_rows_and_columns(dimension_type dims) {
-  PPL_ASSERT(num_columns() > 0);
-  dimension_type col = num_columns() - 1;
+PPL::Congruence_System::add_unit_rows_and_space_dimensions(dimension_type dims) {
   dimension_type old_num_rows = num_rows();
-  add_zero_rows_and_columns(dims, dims,
-			    Linear_Row::Flags(NECESSARILY_CLOSED,
-					      Linear_Row::LINE_OR_EQUALITY));
-  // Swap the modulus column into the new last column.
-  swap_columns(col, col + dims);
+  set_space_dimension(space_dimension() + dims);
 
-  // Swap the added columns to the front of the matrix.
+  rows.resize(rows.size() + dims);
+
+  // Swap the added rows to the front of the vector.
   for (dimension_type row = old_num_rows; row-- > 0; )
-    std::swap(operator[](row), operator[](row + dims));
+    swap(rows[row], rows[row + dims]);
+
+  const dimension_type dim = space_dimension();
+  // Set the space dimension and the diagonal element of each added row.
+  for (dimension_type row = dims; row-- > 0; ) {
+    Linear_Expression expr(representation());
+    expr.set_space_dimension(space_dimension());
+    PPL_ASSERT(dim >= row + 1);
+    expr += Variable(dim - row - 1);
+    // This constructor steals the contents of `expr'.
+    Congruence cg(expr, Coefficient_zero(), Recycle_Input());
+    swap(rows[row], cg);
+  }
 
-  col += dims - 1;
-  // Set the diagonal element of each added row.
-  for (dimension_type row = dims; row-- > 0; )
-    const_cast<Coefficient&>(operator[](row)[col - row]) = 1;
+  PPL_ASSERT(OK());
 }
 
 void
-PPL::Congruence_System::concatenate(const Congruence_System& const_cgs) {
+PPL::Congruence_System::concatenate(const Congruence_System& y) {
   // TODO: this implementation is just an executable specification.
-  Congruence_System cgs = const_cgs;
+  Congruence_System cgs = y;
 
   dimension_type added_rows = cgs.num_rows();
   dimension_type added_columns = cgs.space_dimension();
 
   dimension_type old_num_rows = num_rows();
-  dimension_type old_modi = num_columns() - 1;
   dimension_type old_space_dim = space_dimension();
 
-  add_zero_rows_and_columns(added_rows, added_columns,
-			    Row::Flags());
+  set_space_dimension(space_dimension() + added_columns);
 
-  dimension_type cgs_num_columns = cgs.num_columns();
-  dimension_type modi = num_columns() - 1;
-
-  // Swap the modulus and the new last column, in the old rows.
-  for (dimension_type i = old_num_rows; i-- > 0; ) {
-    Congruence& cg = operator[](i);
-    std::swap(cg[old_modi], cg[modi]);
-  }
+  rows.resize(rows.size() + added_rows);
 
   // Move the congruences into *this from `cgs', shifting the
   // coefficients along into the appropriate columns.
   for (dimension_type i = added_rows; i-- > 0; ) {
-    Congruence& cg_old = cgs[i];
-    Congruence& cg_new = operator[](old_num_rows + i);
-    // The inhomogeneous term is moved to the same column.
-    std::swap(cg_new[0], cg_old[0]);
-    // All homogeneous terms are shifted by `space_dim' columns.
-    for (dimension_type j = cgs_num_columns; j-- > 1; )
-      std::swap(cg_old[j], cg_new[old_space_dim + j]);
+    Congruence& cg_old = cgs.rows[i];
+    Congruence& cg_new = rows[old_num_rows + i];
+    cg_old.set_representation(representation());
+    cg_old.shift_space_dimensions(Variable(0), old_space_dim);
+    swap(cg_old, cg_new);
   }
 }
-
-void
-PPL::Congruence_System
-::remove_higher_space_dimensions(const dimension_type new_dimension) {
-  dimension_type space_dim = space_dimension();
-
-  PPL_ASSERT(new_dimension <= space_dim);
-
-  // The removal of no dimensions from any system is a no-op.  Note
-  // that this case also captures the only legal removal of dimensions
-  // from a system in a 0-dim space.
-  if (new_dimension == space_dim)
-    return;
-
-  // Swap the modulus column into the column that will become the last
-  // column.
-  swap_columns(new_dimension + 1, space_dim + 1);
-
-  remove_trailing_columns(space_dim - new_dimension);
-  PPL_ASSERT(OK());
-}
diff --git a/src/Congruence_System.defs.hh b/src/Congruence_System.defs.hh
index 78f0d1a..caa7dac 100644
--- a/src/Congruence_System.defs.hh
+++ b/src/Congruence_System.defs.hh
@@ -1,6 +1,6 @@
 /* Congruence_System class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Congruence_System_defs_hh
 #define PPL_Congruence_System_defs_hh 1
@@ -29,38 +29,18 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Constraint.types.hh"
 #include "Congruence.types.hh"
 #include "Grid_Generator.types.hh"
-#include "Matrix.defs.hh"
-#include "Grid.types.hh"
-#include "Grid_Certificate.types.hh"
+#include "Swapping_Vector.defs.hh"
+#include "Congruence.defs.hh"
+#include "Constraint_System.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
-
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Congruence_System
-  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
-  \p s the congruences of \p cgs, all in one row and separated by ", ".
-*/
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y);
+/*! \relates Congruence_System */
+bool
+operator==(const Congruence_System& x, const Congruence_System& y);
 
-} // namespace std
+}
 
 //! A system of congruences.
 /*! \ingroup PPL_CXX_interface
@@ -119,13 +99,23 @@ swap(Parma_Polyhedra_Library::Congruence_System& x,
     reordered, removed (if they are trivial, duplicate or
     implied by other congruences), linearly combined, etc.
 */
-class Parma_Polyhedra_Library::Congruence_System : private Matrix {
+class Parma_Polyhedra_Library::Congruence_System {
 public:
+
+  typedef Congruence row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of congruences.
-  Congruence_System();
+  explicit Congruence_System(Representation r = default_representation);
+
+  //! Builds an empty (i.e. zero rows) system of dimension \p d.
+  explicit Congruence_System(dimension_type d,
+                             Representation r = default_representation);
 
   //! Builds the singleton system containing only congruence \p cg.
-  explicit Congruence_System(const Congruence& cg);
+  explicit Congruence_System(const Congruence& cg,
+                             Representation r = default_representation);
 
   /*! \brief
     If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
@@ -135,19 +125,35 @@ public:
     \exception std::invalid_argument
     Thrown if \p c is not an equality constraint.
   */
-  explicit Congruence_System(const Constraint& c);
+  explicit Congruence_System(const Constraint& c,
+                             Representation r = default_representation);
 
   //! Builds a system containing copies of any equalities in \p cs.
-  explicit Congruence_System(const Constraint_System& cs);
+  explicit Congruence_System(const Constraint_System& cs,
+                             Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  /*!
+    \note
+    The new Congruence_System will have the same Representation as `cgs'
+    so that it's indistinguishable from `cgs'.
+  */
   Congruence_System(const Congruence_System& cgs);
 
+  //! Copy constructor with specified representation.
+  Congruence_System(const Congruence_System& cgs, Representation r);
+
   //! Destructor.
   ~Congruence_System();
 
   //! Assignment operator.
-  Congruence_System& operator=(const Congruence_System& cgs);
+  Congruence_System& operator=(const Congruence_System& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Congruence_System can handle.
   static dimension_type max_space_dimension();
@@ -157,9 +163,9 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this is exactly equal
-    to \p cgs.
+    to \p y.
   */
-  bool is_equal_to(const Congruence_System& cgs) const;
+  bool is_equal_to(const Congruence_System& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this contains one or
@@ -180,6 +186,14 @@ public:
   void insert(const Congruence& cg);
 
   /*! \brief
+    Inserts in \p *this the congruence \p cg, stealing its contents and
+    increasing the number of space dimensions if needed.
+
+    \p cg will be strongly normalized.
+  */
+  void insert(Congruence& cg, Recycle_Input);
+
+  /*! \brief
     Inserts in \p *this a copy of the equality constraint \p c, seen
     as a modulo 0 congruence, increasing the number of space
     dimensions if needed.
@@ -192,21 +206,21 @@ public:
   */
   void insert(const Constraint& c);
 
-  // TODO: Consider adding a recycling_insert(cg).
+  // TODO: Consider adding a insert(cg, Recycle_Input).
 
   /*! \brief
-    Inserts in \p *this a copy of the congruences in \p cgs,
+    Inserts in \p *this a copy of the congruences in \p y,
     increasing the number of space dimensions if needed.
 
     The inserted copies will be strongly normalized.
   */
-  void insert(const Congruence_System& cgs);
+  void insert(const Congruence_System& y);
 
   /*! \brief
     Inserts into \p *this the congruences in \p cgs, increasing the
     number of space dimensions if needed.
   */
-  void recycling_insert(Congruence_System& cgs);
+  void insert(Congruence_System& cgs, Recycle_Input);
 
   //! Initializes the class.
   static void initialize();
@@ -278,14 +292,14 @@ public:
   private:
     friend class Congruence_System;
 
-    //! The const iterator over the matrix of congruences.
-    Matrix::const_iterator i;
+    //! The const iterator over the vector of congruences.
+    Swapping_Vector<Congruence>::const_iterator i;
 
-    //! A const pointer to the matrix of congruences.
-    const Matrix* csp;
+    //! A const pointer to the vector of congruences.
+    const Swapping_Vector<Congruence>* csp;
 
     //! Constructor.
-    const_iterator(const Matrix::const_iterator& iter,
+    const_iterator(const Swapping_Vector<Congruence>::const_iterator& iter,
 		   const Congruence_System& cgs);
 
     //! \p *this skips to the next non-trivial congruence.
@@ -308,9 +322,9 @@ public:
   //! Checks if all the invariants are satisfied.
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Matrix, each row in the system is a valid Congruence and the
-    number of columns is consistent with the number of congruences.
+    Returns <CODE>true</CODE> if and only if all rows have space dimension
+    space_dimension_, each row in the system is a valid Congruence and the
+    space dimension is consistent with the number of congruences.
   */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   bool OK() const;
@@ -337,14 +351,14 @@ public:
   dimension_type num_proper_congruences() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Congruence_System& cgs);
+  void m_swap(Congruence_System& y);
 
   /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    Adds \p dims rows and \p dims space dimensions to the matrix,
     initializing the added rows as in the unit congruence system.
 
     \param dims
-    The number of rows and columns to be added: must be strictly
+    The number of rows and space dimensions to be added: must be strictly
     positive.
 
     Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims) \times
@@ -354,82 +368,50 @@ public:
     \f$\bigl(\genfrac{}{}{0pt}{}{0}{1} \genfrac{}{}{0pt}{}{1}{0}\bigr)\f$.
     The matrix is expanded avoiding reallocation whenever possible.
   */
-  void add_unit_rows_and_columns(dimension_type dims);
+  void add_unit_rows_and_space_dimensions(dimension_type dims);
 
-protected:
-
-  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
-  bool satisfies_all_congruences(const Grid_Generator& g) const;
-
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Congruence::zero_dim_false().
-  */
-  static const Congruence_System* zero_dim_empty_p;
-
-  //! Builds an empty (i.e. zero rows) system of dimension \p d.
-  explicit Congruence_System(dimension_type d);
-
-  /*! \brief
-    Concatenates copies of the congruences from \p cgs onto \p *this.
-
-    \param cgs
-    The congruence system to append to \p this.  The number of rows in
-    \p cgs must be strictly positive.
-
-    The matrix for the new system of congruences is obtained by
-    leaving the old system in the upper left-hand side and placing the
-    congruences of \p cgs in the lower right-hand side, and padding
-    with zeroes.
-  */
-  void concatenate(const Congruence_System& cgs);
-
-  //! Adjusts all expressions to have the same moduli.
-  void normalize_moduli();
-
-  //! Increase the number of space dimensions to \p new_space_dim.
+  //! Permutes the space dimensions of the system.
   /*!
-    \p new_space_dim must at least equal to the current space
-    dimension.
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
   */
-  bool increase_space_dimension(dimension_type new_space_dim);
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
 
-  /*! \brief
-    Inserts in \p *this an exact copy of the congruence \p cg,
-    increasing the number of space dimensions if needed.
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_space_dimensions(Variable v1, Variable v2);
 
-    This method inserts a copy of \p cg in the given form, instead of
-    first strong normalizing \p cg as \ref insert would do.
+  //! Sets the number of space dimensions to \p new_space_dim.
+  /*!
+    If \p new_space_dim is lower than the current space dimension, the
+    coefficients referring to the removed space dimensions are lost.
   */
-  void insert_verbatim(const Congruence& cg);
-
-  friend class const_iterator;
-  friend class Grid;
-  friend class Grid_Certificate;
+  bool set_space_dimension(dimension_type new_space_dim);
 
-  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
-			Parma_Polyhedra_Library::Congruence_System& y);
+  // Note: the following method is protected to allow tests/Grid/congruences2
+  // to call it using a derived class.
+protected:
+  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
+  bool satisfies_all_congruences(const Grid_Generator& g) const;
 
-  friend bool
-  operator==(const Congruence_System& x, const Congruence_System& y);
+private:
+  //! Returns the number of rows in the system.
+  dimension_type num_rows() const;
 
-  //! Returns the \p k- th congruence of the system.
-  Congruence& operator[](dimension_type k);
+  //! Returns \c true if num_rows()==0.
+  bool has_no_rows() const;
 
   //! Returns a constant reference to the \p k- th congruence of the system.
   const Congruence& operator[](dimension_type k) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if any of the dimensions in
-    \p *this is free of constraint.
-
-    Any equality or proper congruence affecting a dimension constrains
-    that dimension.
-
-    This method assumes the system is in minimal form.
-  */
-  bool has_a_free_dimension() const;
+  //! Adjusts all expressions to have the same moduli.
+  void normalize_moduli();
 
   /*! \brief
     Substitutes a given column of coefficients by a given affine
@@ -469,35 +451,94 @@ private:
 
     \p expr is a constant parameter and unaltered by this computation.
   */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
+
+  // TODO: Consider making this private.
+  /*! \brief
+    Concatenates copies of the congruences from \p y onto \p *this.
+
+    \param y
+    The congruence system to append to \p this.  The number of rows in
+    \p y must be strictly positive.
+
+    The matrix for the new system of congruences is obtained by
+    leaving the old system in the upper left-hand side and placing the
+    congruences of \p y in the lower right-hand side, and padding
+    with zeroes.
+  */
+  void concatenate(const Congruence_System& y);
 
   /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+    Inserts in \p *this the congruence \p cg, stealing its contents and
+    increasing the number of space dimensions if needed.
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
+    This method inserts \p cg in the given form, instead of first strong
+    normalizing \p cg as \ref insert would do.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  void insert_verbatim(Congruence& cg, Recycle_Input);
 
-  //! Resizes the system without worrying about the old contents.
+  //! Makes the system shrink by removing the rows in [first,last).
   /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+    If \p keep_sorted is <CODE>true</CODE>, the ordering of the remaining rows
+    will be preserved.
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted);
+
+  void remove_trailing_rows(dimension_type n);
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Congruence::zero_dim_false().
+  */
+  static const Congruence_System* zero_dim_empty_p;
+
+  Swapping_Vector<Congruence> rows;
 
-    \param new_num_columns
-    The number of columns of the resized system.
+  dimension_type space_dimension_;
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
+  Representation representation_;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if any of the dimensions in
+    \p *this is free of constraint.
+
+    Any equality or proper congruence affecting a dimension constrains
+    that dimension.
+
+    This method assumes the system is in minimal form.
   */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+  bool has_a_free_dimension() const;
+
+  friend class Grid;
+
+  friend bool
+  operator==(const Congruence_System& x, const Congruence_System& y);
 };
 
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Congruence_System
+  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
+  \p s the congruences of \p cgs, all in one row and separated by ", ".
+*/
+std::ostream&
+operator<<(std::ostream& s, const Congruence_System& cgs);
+
+} // namespace IO_Operators
+
+/*! \relates Congruence_System */
+void
+swap(Congruence_System& x, Congruence_System& y);
+
+} // namespace Parma_Polyhedra_Library
+
 // Congruence_System.inlines.hh is not included here on purpose.
 
 #endif // !defined(PPL_Congruence_System_defs_hh)
diff --git a/src/Congruence_System.inlines.hh b/src/Congruence_System.inlines.hh
index 96c152e..8d1432d 100644
--- a/src/Congruence_System.inlines.hh
+++ b/src/Congruence_System.inlines.hh
@@ -1,6 +1,6 @@
 /* Congruence_System class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Congruence_System_inlines_hh
 #define PPL_Congruence_System_inlines_hh 1
@@ -28,48 +28,89 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-inline Congruence&
-Congruence_System::operator[](const dimension_type k) {
-  return static_cast<Congruence&>(Matrix::operator[](k));
-}
-
 inline const Congruence&
 Congruence_System::operator[](const dimension_type k) const {
-  return static_cast<const Congruence&>(Matrix::operator[](k));
+  return rows[k];
+}
+
+inline dimension_type
+Congruence_System::num_rows() const {
+  return rows.size();
+}
+
+inline bool
+Congruence_System::has_no_rows() const {
+  return num_rows() == 0;
+}
+
+inline void
+Congruence_System::remove_trailing_rows(dimension_type n) {
+  PPL_ASSERT(num_rows() >= n);
+  rows.resize(num_rows() - n);
 }
 
 inline void
 Congruence_System::insert(const Congruence& cg) {
-  insert_verbatim(cg);
-  static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
+  Congruence tmp = cg;
+  insert(tmp, Recycle_Input());
+}
+
+inline void
+Congruence_System::insert(Congruence& cg, Recycle_Input) {
+  PPL_ASSERT(cg.OK());
+  cg.strong_normalize();
+  PPL_ASSERT(cg.OK());
+  insert_verbatim(cg, Recycle_Input());
   PPL_ASSERT(OK());
 }
 
 inline
-Congruence_System::Congruence_System()
-  : Matrix(0, 2) {
+Congruence_System::Congruence_System(Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
 }
 
 inline
-Congruence_System::Congruence_System(const Congruence& cg)
-  : Matrix(0, 2) {
+Congruence_System::Congruence_System(const Congruence& cg, Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
   insert(cg);
 }
 
 inline
-Congruence_System::Congruence_System(const Constraint& c)
-  : Matrix(0, 2) {
+Congruence_System::Congruence_System(const Constraint& c, Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
   insert(c);
 }
 
 inline
-Congruence_System::Congruence_System(const Congruence_System& cs)
-  : Matrix(cs) {
+Congruence_System::Congruence_System(const Congruence_System& cgs)
+  : rows(cgs.rows),
+    space_dimension_(cgs.space_dimension_),
+    representation_(cgs.representation_) {
+}
+
+inline
+Congruence_System::Congruence_System(const Congruence_System& cgs,
+                                     Representation r)
+  : rows(cgs.rows),
+    space_dimension_(cgs.space_dimension_),
+    representation_(r) {
+  if (cgs.representation() != r) {
+    for (dimension_type i = 0; i < num_rows(); ++i)
+      rows[i].set_representation(representation());
+  }
 }
 
 inline
-Congruence_System::Congruence_System(const dimension_type d)
-  : Matrix(0, d + 2) {
+Congruence_System::Congruence_System(const dimension_type d, Representation r)
+  : rows(),
+    space_dimension_(d),
+    representation_(r) {
 }
 
 inline
@@ -78,30 +119,40 @@ Congruence_System::~Congruence_System() {
 
 inline Congruence_System&
 Congruence_System::operator=(const Congruence_System& y) {
-  Matrix::operator=(y);
+  Congruence_System tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
+inline Representation
+Congruence_System::representation() const {
+  return representation_;
+}
+
+inline void
+Congruence_System::set_representation(Representation r) {
+  if (representation_ == r)
+    return;
+  representation_ = r;
+  for (dimension_type i = 0; i < num_rows(); ++i)
+    rows[i].set_representation(r);
+  PPL_ASSERT(OK());
+}
+
 inline dimension_type
 Congruence_System::max_space_dimension() {
-  return Matrix::max_num_columns() - 2;
+  return Congruence::max_space_dimension();
 }
 
 inline dimension_type
 Congruence_System::space_dimension() const {
-  return Matrix::num_columns() - 2;
+  return space_dimension_;
 }
 
 inline void
 Congruence_System::clear() {
-  Matrix::clear();
-  add_zero_columns(2);		// Modulus and constant term.
-}
-
-inline void
-Congruence_System::resize_no_copy(const dimension_type new_num_rows,
-				  const dimension_type new_num_columns) {
-  Matrix::resize_no_copy(new_num_rows, new_num_columns, Row::Flags());
+  rows.clear();
+  space_dimension_ = 0;
 }
 
 inline const Congruence_System&
@@ -133,12 +184,12 @@ Congruence_System::const_iterator::operator=(const const_iterator& y) {
 
 inline const Congruence&
 Congruence_System::const_iterator::operator*() const {
-  return static_cast<const Congruence&>(*i);
+  return *i;
 }
 
 inline const Congruence*
 Congruence_System::const_iterator::operator->() const {
-  return static_cast<const Congruence*>(i.operator->());
+  return i.operator->();
 }
 
 inline Congruence_System::const_iterator&
@@ -167,21 +218,21 @@ Congruence_System::const_iterator::operator!=(const const_iterator& y) const {
 
 inline
 Congruence_System::const_iterator::
-const_iterator(const Matrix::const_iterator& iter,
-	       const Congruence_System& csys)
-  : i(iter), csp(&csys) {
+const_iterator(const Swapping_Vector<Congruence>::const_iterator& iter,
+	       const Congruence_System& cgs)
+  : i(iter), csp(&cgs.rows) {
 }
 
 inline Congruence_System::const_iterator
 Congruence_System::begin() const {
-  const_iterator i(Matrix::begin(), *this);
+  const_iterator i(rows.begin(), *this);
   i.skip_forward();
   return i;
 }
 
 inline Congruence_System::const_iterator
 Congruence_System::end() const {
-  const const_iterator i(Matrix::end(), *this);
+  const const_iterator i(rows.end(), *this);
   return i;
 }
 
@@ -191,32 +242,31 @@ Congruence_System::empty() const {
 }
 
 inline void
-Congruence_System::swap(Congruence_System& y) {
-  Matrix::swap(y);
+Congruence_System::m_swap(Congruence_System& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(space_dimension_, y.space_dimension_);
+  swap(representation_, y.representation_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
 }
 
 inline memory_size_type
 Congruence_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
+  return rows.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Congruence_System::total_memory_in_bytes() const {
-  return Matrix::total_memory_in_bytes();
+  return rows.external_memory_in_bytes() + sizeof(*this);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
+/*! \relates Congruence_System */
 inline void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y) {
-  x.swap(y);
+swap(Congruence_System& x, Congruence_System& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Congruence_System_inlines_hh)
diff --git a/src/Congruence_System.types.hh b/src/Congruence_System.types.hh
index 7e5280a..e2526f9 100644
--- a/src/Congruence_System.types.hh
+++ b/src/Congruence_System.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Constant_Floating_Point_Expression.defs.hh b/src/Constant_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..7dfa8b4
--- /dev/null
+++ b/src/Constant_Floating_Point_Expression.defs.hh
@@ -0,0 +1,173 @@
+/* Declarations for the Constant_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Constant_Floating_Point_Expression_defs_hh
+#define PPL_Constant_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Constant_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Constant_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Constant Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of floating-point constant expressions
+
+  The linearization of a constant floating point expression results in a
+  linear form consisting of only the inhomogeneous term
+  \f$[l, u]\f$, where \f$l\f$ and \f$u\f$ are the lower
+  and upper bounds of the constant value given to the class constructor.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Constant_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the constant floating point
+    expression from a \p lower_bound and an \p upper_bound of its
+    value in the concrete domain.
+  */
+  Constant_Floating_Point_Expression(const boundary_type lower_bound,
+                                     const boundary_type upper_bound);
+
+  /*! \brief
+    Builds a constant floating point expression with the value
+    expressed by the string \p str_value.
+  */
+  Constant_Floating_Point_Expression(const char* str_value);
+
+  //! Destructor.
+  ~Constant_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    See the class description for an explanation of how \p result is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Constant_Floating_Point_Expression& y);
+
+private:
+
+  FP_Interval_Type value;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Constant_Floating_Point_Expression(
+			  const Constant_Floating_Point_Expression& y);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAIL
+  Constant_Floating_Point_Expression& operator=(
+		          const Constant_Floating_Point_Expression& y);
+
+}; // class Constant_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Constant_Floating_Point_Expression.inlines.hh"
+
+#endif // !defined(PPL_Constant_Floating_Point_Expression_defs_hh)
diff --git a/src/Constant_Floating_Point_Expression.inlines.hh b/src/Constant_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..ca210e4
--- /dev/null
+++ b/src/Constant_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,80 @@
+/* Constant_Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Constant_Floating_Point_Expression_inlines_hh
+#define PPL_Constant_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Constant_Floating_Point_Expression(const char* str_value)
+  : value(str_value) {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Constant_Floating_Point_Expression(const boundary_type lb,
+                                   const boundary_type ub) {
+  assert(lb <= ub);
+  value.build(i_constraint(GREATER_OR_EQUAL, lb),
+              i_constraint(LESS_OR_EQUAL, ub));
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Constant_Floating_Point_Expression() {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Constant_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(value, y.value);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store&,
+            const FP_Linear_Form_Abstract_Store&,
+            FP_Linear_Form& result) const {
+  result = FP_Linear_Form(value);
+  return true;
+}
+
+/*! \relates Constant_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Constant_Floating_Point_Expression_inlines_hh)
diff --git a/src/Constant_Floating_Point_Expression.types.hh b/src/Constant_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..a75f369
--- /dev/null
+++ b/src/Constant_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Constant_Floating_Point_Expression_types_hh
+#define PPL_Constant_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Constant_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Constant_Floating_Point_Expression_types_hh)
diff --git a/src/Constraint.cc b/src/Constraint.cc
index 9f90d7c..1aa9faa 100644
--- a/src/Constraint.cc
+++ b/src/Constraint.cc
@@ -1,6 +1,6 @@
 /* Constraint class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,15 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Constraint.defs.hh"
 #include "Variable.defs.hh"
+#include "Variables_Set.defs.hh"
 #include "Congruence.defs.hh"
+#include "math_utilities.defs.hh"
+
 #include <iostream>
 #include <sstream>
 #include <stdexcept>
@@ -54,64 +56,65 @@ PPL::Constraint::throw_dimension_incompatible(const char* method,
 
 PPL::Constraint
 PPL::Constraint::construct_epsilon_geq_zero() {
-  Linear_Expression e = Variable(0);
+  Linear_Expression e;
   Constraint c(e, NONSTRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  c.set_epsilon_coefficient(Coefficient_one());
+  PPL_ASSERT(c.OK());
   return c;
 }
 
-PPL::Constraint::Constraint(const Congruence& cg)
-  : Linear_Row(cg.is_equality()
-	       // Size includes extra column for the inhomogeneous term.
-	       ? cg.space_dimension() + 1
-	       : (throw_invalid_argument("Constraint(cg)",
-					 "congruence cg must be an equality."),
-		  0),
-	       // Capacity also includes a column for the epsilon coefficient.
-	       compute_capacity(cg.space_dimension() + 2, Row::max_size()),
-	       Flags(NECESSARILY_CLOSED, LINE_OR_EQUALITY)) {
-  Constraint& c = *this;
-  // Copy coefficients and inhomogeneous term.
-  for (dimension_type i = cg.space_dimension() + 1; i-- > 0; )
-    c[i] = cg[i];
+PPL::Constraint::Constraint(const Congruence& cg, Representation r)
+  : expr(cg, r),
+    wrapped_expr(expr, false),
+    kind_(LINE_OR_EQUALITY),
+    topology_(NECESSARILY_CLOSED) {
+  if (!cg.is_equality())
+    throw_invalid_argument("Constraint(cg)",
+                           "congruence cg must be an equality.");
   // Enforce normalization.
   strong_normalize();
+  PPL_ASSERT(OK());
 }
 
-PPL::Constraint::Constraint(const Congruence& cg,
-			    dimension_type sz,
-			    dimension_type capacity)
-  : Linear_Row(cg.is_equality()
-	       ? sz
-	       : (throw_invalid_argument("Constraint(cg, sz, c)",
-					 "congruence cg must be an equality."),
-		  0),
-	       capacity,
-	       Flags(NECESSARILY_CLOSED, LINE_OR_EQUALITY)) {
-  Constraint& c = *this;
-  // Copy coefficients.
-  PPL_ASSERT(sz > 0);
-  while (sz-- > 0)
-    c[sz] = cg[sz];
+void
+PPL::Constraint::swap_space_dimensions(Variable v1, Variable v2) {
+  PPL_ASSERT(v1.space_dimension() <= space_dimension());
+  PPL_ASSERT(v2.space_dimension() <= space_dimension());
+  expr.swap_space_dimensions(v1, v2);
+  // *this is still normalized but it may not be strongly normalized.
+  sign_normalize();
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Constraint
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  if (cycle.size() < 2)
+    // No-op. No need to call sign_normalize().
+    return;
+
+  expr.permute_space_dimensions(cycle);
+  // *this is still normalized but may be not strongly normalized:
+  // sign normalization is necessary.
+  sign_normalize();
+  PPL_ASSERT(OK());
 }
 
 bool
 PPL::Constraint::is_tautological() const {
-  PPL_ASSERT(size() > 0);
-  const Constraint& x = *this;
-  if (x.all_homogeneous_terms_are_zero())
+  if (expr.all_homogeneous_terms_are_zero())
     if (is_equality())
-      return x[0] == 0;
+      return expr.inhomogeneous_term() == 0;
     else
       // Non-strict inequality constraint.
-      return x[0] >= 0;
+      return expr.inhomogeneous_term() >= 0;
   else
     // There is a non-zero homogeneous coefficient.
     if (is_necessarily_closed())
       return false;
     else {
       // The constraint is NOT necessarily closed.
-      const dimension_type eps_index = size() - 1;
-      const int eps_sign = sgn(x[eps_index]);
+      const int eps_sign = sgn(epsilon_coefficient());
       if (eps_sign > 0)
 	// We have found the constraint epsilon >= 0.
 	return true;
@@ -120,61 +123,70 @@ PPL::Constraint::is_tautological() const {
 	return false;
       else {
 	// Here the epsilon coefficient is negative: strict inequality.
-	if (x[0] <= 0)
+	if (expr.inhomogeneous_term() <= 0)
 	  // A strict inequality such as `lhs - k > 0',
 	  // where k is a non negative integer, cannot be trivially true.
 	  return false;
 	// Checking for another non-zero coefficient.
-	for (dimension_type i = eps_index; --i > 0; )
-	  if (x[i] != 0)
-	    return false;
-	// We have the inequality `k > 0',
-	// where k is a positive integer.
-	return true;
+        // If the check succeeds, we have the inequality `k > 0',
+        // where k is a positive integer.
+        return wrapped_expr.all_homogeneous_terms_are_zero();
       }
     }
 }
 
 bool
 PPL::Constraint::is_inconsistent() const {
-  PPL_ASSERT(size() > 0);
-  const Constraint& x = *this;
-  if (x.all_homogeneous_terms_are_zero())
+  if (expr.all_homogeneous_terms_are_zero())
     // The inhomogeneous term is the only non-zero coefficient.
     if (is_equality())
-      return x[0] != 0;
+      return expr.inhomogeneous_term() != 0;
     else
       // Non-strict inequality constraint.
-      return x[0] < 0;
+      return expr.inhomogeneous_term() < 0;
   else
     // There is a non-zero homogeneous coefficient.
     if (is_necessarily_closed())
       return false;
     else {
       // The constraint is NOT necessarily closed.
-      const dimension_type eps_index = size() - 1;
-      if (x[eps_index] >= 0)
+      if (epsilon_coefficient() >= 0)
 	// If positive, we have found the constraint epsilon >= 0.
 	// If zero, one of the `true' dimensions has a non-zero coefficient.
 	// In both cases, it is not trivially false.
 	return false;
       else {
 	// Here the epsilon coefficient is negative: strict inequality.
-	if (x[0] > 0)
+	if (expr.inhomogeneous_term() > 0)
 	  // A strict inequality such as `lhs + k > 0',
 	  // where k is a positive integer, cannot be trivially false.
 	  return false;
-	// Checking for another non-zero coefficient.
-	for (dimension_type i = eps_index; --i > 0; )
-	  if (x[i] != 0)
-	    return false;
-	// We have the inequality `k > 0',
-	// where k is zero or a negative integer.
-	return true;
+        // Checking for another non-zero coefficient.
+        // If the check succeeds, we have the inequality `k > 0',
+        // where k is a positive integer.
+        return wrapped_expr.all_homogeneous_terms_are_zero();
       }
     }
 }
 
+void
+PPL::Constraint::linear_combine(const Constraint& y, dimension_type i) {
+  expr.linear_combine(y.expr, i);
+  strong_normalize();
+}
+
+/*! \relates Parma_Polyhedra_Library::Constraint */
+int
+PPL::compare(const Constraint& x, const Constraint& y) {
+  const bool x_is_line_or_equality = x.is_line_or_equality();
+  const bool y_is_line_or_equality = y.is_line_or_equality();
+  if (x_is_line_or_equality != y_is_line_or_equality)
+    // Equalities (lines) precede inequalities (ray/point).
+    return y_is_line_or_equality ? 2 : -2;
+
+  return compare(x.expr, y.expr);
+}
+
 bool
 PPL::Constraint::is_equivalent_to(const Constraint& y) const {
   const Constraint& x = *this;
@@ -202,19 +214,31 @@ PPL::Constraint::is_equivalent_to(const Constraint& y) const {
     x_expr.normalize();
     y_expr.normalize();
     // ... and finally check for syntactic equality.
-    for (dimension_type i = x_space_dim + 1; i-- > 0; )
-      if (x_expr[i] != y_expr[i])
-	return false;
-    return true;
+    return x_expr.is_equal_to(y_expr);
   }
 
   // `x' and 'y' are of the same type and they are not strict inequalities;
   // thus, the epsilon-coefficient, if present, is zero.
   // It is sufficient to check for syntactic equality.
-  for (dimension_type i = x_space_dim + 1; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
+  return x.expr.is_equal_to(y.expr);
+}
+
+bool
+PPL::Constraint::is_equal_to(const Constraint& y) const {
+  return expr.is_equal_to(y.expr) && kind_ == y.kind_ && topology() == y.topology();
+}
+
+void
+PPL::Constraint::sign_normalize() {
+  if (is_line_or_equality())
+    expr.sign_normalize();
+}
+
+bool
+PPL::Constraint::check_strong_normalized() const {
+  Constraint tmp = *this;
+  tmp.strong_normalize();
+  return compare(*this, tmp) == 0;
 }
 
 const PPL::Constraint* PPL::Constraint::zero_dim_false_p = 0;
@@ -260,31 +284,104 @@ PPL::Constraint::finalize() {
   epsilon_leq_one_p = 0;
 }
 
+void
+PPL::Constraint::ascii_dump(std::ostream& s) const {
+  expr.ascii_dump(s);
+
+  s << " ";
+  
+  switch (type()) {
+  case Constraint::EQUALITY:
+    s << "=";
+    break;
+  case Constraint::NONSTRICT_INEQUALITY:
+    s << ">=";
+    break;
+  case Constraint::STRICT_INEQUALITY:
+    s << ">";
+    break;
+  }
+  s << " ";
+  if (topology() == NECESSARILY_CLOSED)
+    s << "(C)";
+  else
+    s << "(NNC)";
+
+  s << "\n";
+}
+
+bool
+PPL::Constraint::ascii_load(std::istream& s) {
+  std::string str;
+  std::string str2;
+
+  expr.ascii_load(s);
+
+  if (!(s >> str))
+    return false;
+  if (str == "=")
+    set_is_equality();
+  else if (str == ">=" || str == ">")
+    set_is_inequality();
+  else
+    return false;
+
+  if (!(s >> str2))
+    return false;
+  if (str2 == "(NNC)") {
+    // TODO: Avoid the mark_as_*() methods if possible.
+    if (topology() == NECESSARILY_CLOSED)
+      mark_as_not_necessarily_closed();
+  } else
+    if (str2 == "(C)") {
+      // TODO: Avoid the mark_as_*() methods if possible.
+      if (topology() == NOT_NECESSARILY_CLOSED)
+        mark_as_necessarily_closed();
+    } else
+      return false;
+
+  // Checking for equality of actual and declared types.
+  switch (type()) {
+  case EQUALITY:
+    if (str != "=")
+      return false;
+    break;
+  case NONSTRICT_INEQUALITY:
+    if (str != ">=")
+      return false;
+    break;
+  case STRICT_INEQUALITY:
+    if (str != ">")
+      return false;
+    break;
+  }
+
+  return true;
+}
+
 /*! \relates Parma_Polyhedra_Library::Constraint */
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Constraint& c) {
-  const dimension_type num_variables = c.space_dimension();
   PPL_DIRTY_TEMP_COEFFICIENT(cv);
   bool first = true;
-  for (dimension_type v = 0; v < num_variables; ++v) {
-    cv = c.coefficient(Variable(v));
-    if (cv != 0) {
-      if (!first) {
-	if (cv > 0)
-	  s << " + ";
-	else {
-	  s << " - ";
-	  neg_assign(cv);
-	}
+  for (Constraint::Expression::const_iterator i = c.expression().begin(),
+        i_end = c.expression().end(); i != i_end; ++i) {
+    cv = *i;
+    if (!first) {
+      if (cv > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(cv);
       }
-      else
-	first = false;
-      if (cv == -1)
-	s << "-";
-      else if (cv != 1)
-	s << cv << "*";
-      s << PPL::Variable(v);
     }
+    else
+      first = false;
+    if (cv == -1)
+      s << "-";
+    else if (cv != 1)
+      s << cv << "*";
+    s << i.variable();
   }
   if (first)
     s << Coefficient_zero();
@@ -327,25 +424,18 @@ PPL_OUTPUT_DEFINITIONS(Constraint)
 
 bool
 PPL::Constraint::OK() const {
-  // Check the underlying Linear_Row object.
-  if (!Linear_Row::OK())
-    return false;
-
   // Topology consistency checks.
-  const dimension_type min_size = is_necessarily_closed() ? 1 : 2;
-  if (size() < min_size) {
+  if (is_not_necessarily_closed() && expr.space_dimension() == 0) {
 #ifndef NDEBUG
     std::cerr << "Constraint has fewer coefficients than the minimum "
-	      << "allowed by its topology:"
-	      << std::endl
-	      << "size is " << size()
-	      << ", minimum is " << min_size << "."
+	      << "allowed by its topology."
 	      << std::endl;
 #endif
     return false;
   }
 
-  if (is_equality() && !is_necessarily_closed() && (*this)[size() - 1] != 0) {
+  if (is_equality() && is_not_necessarily_closed()
+      && epsilon_coefficient() != 0) {
 #ifndef NDEBUG
     std::cerr << "Illegal constraint: an equality cannot be strict."
 	      << std::endl;
diff --git a/src/Constraint.defs.hh b/src/Constraint.defs.hh
index f77152e..4795bc2 100644
--- a/src/Constraint.defs.hh
+++ b/src/Constraint.defs.hh
@@ -1,6 +1,6 @@
 /* Constraint class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,34 +19,68 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Constraint_defs_hh
 #define PPL_Constraint_defs_hh 1
 
 #include "Constraint.types.hh"
-#include "Scalar_Products.types.hh"
-#include "Linear_Row.defs.hh"
-#include "Variable.defs.hh"
-#include "Linear_Expression.defs.hh"
-#include "Constraint_System.defs.hh"
-#include "Polyhedron.types.hh"
+
 #include "Congruence.types.hh"
+#include "Variables_Set.types.hh"
+#include "Polyhedron.types.hh"
+#include "termination.types.hh"
+#include "Octagonal_Shape.types.hh"
+#include "Grid.types.hh"
+
+#include "Linear_Expression.defs.hh"
+#include "Variable.defs.hh"
+#include "Topology.types.hh"
+#include "Expression_Hide_Last.defs.hh"
+
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-// Put them in the namespace here to declare them friend later.
+//! Returns the constraint \p e1 \< \p e2.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2);
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+//! Returns the constraint \p v1 \< \p v2.
 /*! \relates Constraint */
-bool
-operator==(const Constraint& x, const Constraint& y);
+Constraint
+operator<(Variable v1, Variable v2);
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+//! Returns the constraint \p e \< \p n.
 /*! \relates Constraint */
-bool
-operator!=(const Constraint& x, const Constraint& y);
+Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \< \p e.
+/*! \relates Constraint */
+Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the constraint \p e1 \> \p e2.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 \> \p v2.
+/*! \relates Constraint */
+Constraint
+operator>(Variable v1, Variable v2);
+
+//! Returns the constraint \p e \> \p n.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \> \p e.
+/*! \relates Constraint */
+Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
 //! Returns the constraint \p e1 = \p e2.
 /*! \relates Constraint */
@@ -108,57 +142,46 @@ operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 Constraint
 operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-//! Returns the constraint \p e1 \< \p e2.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 \< \p v2.
-/*! \relates Constraint */
-Constraint
-operator<(Variable v1, Variable v2);
-
-//! Returns the constraint \p e \< \p n.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the constraint \p n \< \p e.
-/*! \relates Constraint */
-Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-//! Returns the constraint \p e1 \> \p e2.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 \> \p v2.
-/*! \relates Constraint */
-Constraint
-operator>(Variable v1, Variable v2);
-
-//! Returns the constraint \p e \> \p n.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the constraint \p n \> \p e.
-/*! \relates Constraint */
-Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-void swap(Parma_Polyhedra_Library::Constraint& x,
-	  Parma_Polyhedra_Library::Constraint& y);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Constraint
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Constraint& x, const Constraint& y);
 
-} // namespace std
+}
 
 //! A linear equality or inequality.
 /*! \ingroup PPL_CXX_interface
@@ -258,21 +281,68 @@ void swap(Parma_Polyhedra_Library::Constraint& x,
   syntactically different from the (semantically equivalent)
   constraint considered.
 */
-class Parma_Polyhedra_Library::Constraint : private Linear_Row {
+class Parma_Polyhedra_Library::Constraint {
 public:
+
+  //! The constraint type.
+  enum Type {
+    /*! The constraint is an equality. */
+    EQUALITY,
+    /*! The constraint is a non-strict inequality. */
+    NONSTRICT_INEQUALITY,
+    /*! The constraint is a strict inequality. */
+    STRICT_INEQUALITY
+  };
+
+  //! The representation used for new Constraints.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Constructs the \f$0<=0\f$ constraint.
+  explicit Constraint(Representation r = default_representation);
+
   //! Ordinary copy constructor.
+  /*!
+    \note The new Constraint will have the same representation as `c',
+          not default_representation, so that they are indistinguishable.
+  */
   Constraint(const Constraint& c);
 
+  //! Copy constructor with given size.
+  /*!
+    \note The new Constraint will have the same representation as `c',
+          not default_representation, so that they are indistinguishable.
+  */
+  Constraint(const Constraint& c, dimension_type space_dim);
+
+  //! Copy constructor with given representation.
+  Constraint(const Constraint& c, Representation r);
+
+  //! Copy constructor with given size and representation.
+  Constraint(const Constraint& c, dimension_type space_dim,
+             Representation r);
+
   //! Copy-constructs from equality congruence \p cg.
   /*!
     \exception std::invalid_argument
     Thrown if \p cg is a proper congruence.
   */
-  explicit Constraint(const Congruence& cg);
+  explicit Constraint(const Congruence& cg,
+                      Representation r = default_representation);
 
   //! Destructor.
   ~Constraint();
 
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
   //! Assignment operator.
   Constraint& operator=(const Constraint& c);
 
@@ -282,15 +352,41 @@ public:
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  //! The constraint type.
-  enum Type {
-    /*! The constraint is an equality. */
-    EQUALITY,
-    /*! The constraint is a non-strict inequality. */
-    NONSTRICT_INEQUALITY,
-    /*! The constraint is a strict inequality. */
-    STRICT_INEQUALITY
-  };
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the constraint.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    Always returns \p true. The return value is needed for compatibility with
+    the Generator class.
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the constraint.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
 
   //! Returns the constraint type of \p *this.
   Type type() const;
@@ -390,6 +486,16 @@ public:
   */
   bool is_equivalent_to(const Constraint& y) const;
 
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent constraints.
+  */
+  bool is_equal_to(const Constraint& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
@@ -399,13 +505,42 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
   //! Swaps \p *this with \p y.
-  void swap(Constraint& y);
+  void m_swap(Constraint& y);
+
+  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  static const Constraint& epsilon_geq_zero();
+
+  /*! \brief
+    The zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
+  */
+  static const Constraint& epsilon_leq_one();
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Linear_Expression> Expression;
+
+  //! Allows user code to read the constraint's expression (but note that the
+  //! return type is not Linear_Expression, not all operations are allowed).
+  const Expression& expression() const;
 
 private:
+
+  //! The possible kinds of Constraint objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  Linear_Expression expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
+  Topology topology_;
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
     the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
@@ -432,29 +567,84 @@ private:
   */
   static const Constraint* epsilon_leq_one_p;
 
-  friend class Parma_Polyhedra_Library::Congruence;
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Constraint_System;
-  friend class Parma_Polyhedra_Library::Constraint_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
+  //! Constructs the \f$0<0\f$ constraint.
+  Constraint(dimension_type space_dim, Kind kind, Topology topology,
+             Representation r = default_representation);
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Constraint& c);
+  /*! \brief
+    Builds a constraint of kind \p kind and topology \p topology,
+    stealing the coefficients from \p e.
 
-  //! Default constructor: private and not implemented.
-  Constraint();
+    \note The new Constraint will have the same representation as `e'.
+  */
+  Constraint(Linear_Expression& e, Kind kind, Topology topology);
 
   /*! \brief
     Builds a constraint of type \p type and topology \p topology,
     stealing the coefficients from \p e.
+
+    \note The new Constraint will have the same representation as `e'.
   */
   Constraint(Linear_Expression& e, Type type, Topology topology);
 
-  //! Constructs from a congruence, with specified size and capacity.
-  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
+  //@} // Flags inspection methods
+
+  //! \name Flags coercion methods
+  //@{
+
+  // TODO: Consider setting the epsilon dimension in this method.
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
+
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+  //@} // Flags coercion methods
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
 
   /*! \brief
     Throws a <CODE>std::invalid_argument</CODE> exception containing
@@ -472,75 +662,149 @@ private:
 			       const char* name_var,
 			       Variable v) const;
 
-  friend Constraint
-  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator==(Variable v1, Variable v2);
-  friend Constraint
-  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  //! Returns the epsilon coefficient. The constraint must be NNC.
+  Coefficient_traits::const_reference epsilon_coefficient() const;
+
+  //! Sets the epsilon coefficient to \p n. The constraint must be NNC.
+  void set_epsilon_coefficient(Coefficient_traits::const_reference n);
+
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The row topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The row topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
+
+  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
+  void set_is_equality();
+
+  //! Sets the constraint to be an inequality.
+  /*!
+    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
+    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
+    of the low-level coefficients of the constraint.
+  */
+  void set_is_inequality();
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Constraint that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Constraint to \p *this and normalizes it.
+  */
+  void linear_combine(const Constraint& y, dimension_type i);
+
+  /*! \brief
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
+
+  /*! \brief
+    Strong normalization: ensures that different Constraint objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Constraint::normalize() and Constraint::sign_normalize().
+  */
+  void strong_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  /*! \brief
+    Builds a new copy of the zero-dimension space constraint
+    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
+  */
+  static Constraint construct_epsilon_geq_zero();
+
+  friend int
+  compare(const Constraint& x, const Constraint& y);
+
+  friend class Linear_System<Constraint>;
+  friend class Constraint_System;
+  friend class Polyhedron;
+  friend class Scalar_Products;
+  friend class Topology_Adjusted_Scalar_Product_Sign;
+  friend class Termination_Helpers;
+  friend class Grid;
+  template <typename T>
+  friend class Octagonal_Shape;
 
   friend Constraint
-  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator>=(Variable v1, Variable v2);
-  friend Constraint
-  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
 
   friend Constraint
-  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+  operator<(Variable v1, Variable v2);
+
   friend Constraint
-  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
   friend Constraint
-  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
   friend Constraint
   operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+
   friend Constraint
   operator>(Variable v1, Variable v2);
+
   friend Constraint
   operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
   friend Constraint
   operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
   friend Constraint
-  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+
   friend Constraint
-  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  operator==(Variable v1, Variable v2);
+
   friend Constraint
-  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Copy constructor with given size.
-  Constraint(const Constraint& c, dimension_type sz);
+  friend Constraint
+  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  /*! \brief
-    Builds a new copy of the zero-dimension space constraint
-    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
-  */
-  static Constraint construct_epsilon_geq_zero();
+  friend Constraint
+  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
-  static const Constraint& epsilon_geq_zero();
+  friend Constraint
+  operator<=(Variable v1, Variable v2);
 
-  /*! \brief
-    The zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint& epsilon_leq_one();
+  friend Constraint
+  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
-  void set_is_equality();
+  friend Constraint
+  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! Sets the constraint to be an inequality.
-  /*!
-    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
-    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
-    of the low-level coefficients of the constraint.
-  */
-  void set_is_inequality();
+  friend Constraint
+  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator>=(Variable v1, Variable v2);
+
+  friend Constraint
+  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 };
 
 namespace Parma_Polyhedra_Library {
@@ -557,8 +821,22 @@ std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
 
 } // namespace IO_Operators
 
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator==(const Constraint& x, const Constraint& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator!=(const Constraint& x, const Constraint& y);
+
+/*! \relates Constraint */
+void swap(Constraint& x, Constraint& y);
+
 } // namespace Parma_Polyhedra_Library
 
+
 #include "Constraint.inlines.hh"
 
 #endif // !defined(PPL_Constraint_defs_hh)
diff --git a/src/Constraint.inlines.hh b/src/Constraint.inlines.hh
index cef6673..68823ca 100644
--- a/src/Constraint.inlines.hh
+++ b/src/Constraint.inlines.hh
@@ -1,6 +1,6 @@
 /* Constraint class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Constraint_inlines_hh
 #define PPL_Constraint_inlines_hh 1
@@ -28,23 +28,177 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+inline bool
+Constraint::is_necessarily_closed() const {
+  return (topology_ == NECESSARILY_CLOSED);
+}
+
+inline bool
+Constraint::is_not_necessarily_closed() const {
+  return !is_necessarily_closed();
+}
+
+inline dimension_type
+Constraint::space_dimension() const {
+  return wrapped_expr.space_dimension();
+}
+
+inline void
+Constraint::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
+}
+
+inline bool
+Constraint::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Constraint::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Constraint::topology() const {
+  return topology_;
+}
+
+inline void
+Constraint::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Constraint::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Constraint::set_topology(Topology x) {
+  if (topology() == x)
+    return;
+  if (topology() == NECESSARILY_CLOSED) {
+    // Add a column for the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+    wrapped_expr.set_hide_last(true);
+  } else {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    expr.set_space_dimension(expr.space_dimension() - 1);
+    wrapped_expr.set_hide_last(false);
+  }
+  topology_ = x;
+}
+
+inline void
+Constraint::mark_as_necessarily_closed() {
+  PPL_ASSERT(is_not_necessarily_closed());
+  topology_ = NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(false);
+}
+
+inline void
+Constraint::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(is_necessarily_closed());
+  topology_ = NOT_NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(true);
+}
+
+inline void
+Constraint::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Constraint::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+inline
+Constraint::Constraint(Representation r)
+  : expr(r),
+    wrapped_expr(expr, false),
+    kind_(RAY_OR_POINT_OR_INEQUALITY),
+    topology_(NECESSARILY_CLOSED) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(dimension_type space_dim, Kind kind, Topology topology,
+                       Representation r)
+  : expr(r),
+    wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
 inline
-Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
+Constraint::Constraint(Linear_Expression& e, Kind kind, Topology topology)
+  : wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  PPL_ASSERT(kind != RAY_OR_POINT_OR_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    // Add the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  strong_normalize();
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(Linear_Expression& e, Type type, Topology topology)
+  : wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    topology_(topology) {
   PPL_ASSERT(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == EQUALITY
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  if (type == EQUALITY)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  strong_normalize();
+  PPL_ASSERT(OK());
 }
 
 inline
 Constraint::Constraint(const Constraint& c)
-  : Linear_Row(c) {
+  : expr(c.expr),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_),
+    topology_(c.topology_) {
+  // NOTE: This does not call PPL_ASSERT(OK()) because this is called by OK().
 }
 
 inline
-Constraint::Constraint(const Constraint& c, const dimension_type sz)
-  : Linear_Row(c, sz, sz) {
+Constraint::Constraint(const Constraint& c, Representation r)
+  : expr(c.expr, r),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_),
+    topology_(c.topology_) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(const Constraint& c, const dimension_type space_dim)
+  : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1)),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_), topology_(c.topology_) {
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(const Constraint& c, const dimension_type space_dim,
+                       Representation r)
+  : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1), r),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_), topology_(c.topology_) {
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
 }
 
 inline
@@ -53,18 +207,62 @@ Constraint::~Constraint() {
 
 inline Constraint&
 Constraint::operator=(const Constraint& c) {
-  Linear_Row::operator=(c);
+  Constraint tmp = c;
+  swap(*this, tmp);
+
   return *this;
 }
 
+inline const Constraint::Expression&
+Constraint::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Constraint::representation() const {
+  return expr.representation();
+}
+
+inline void
+Constraint::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
 inline dimension_type
 Constraint::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+  return Linear_Expression::max_space_dimension();
 }
 
-inline dimension_type
-Constraint::space_dimension() const {
-  return Linear_Row::space_dimension();
+inline void
+Constraint::set_space_dimension_no_ok(dimension_type space_dim) {
+  const dimension_type old_expr_space_dim = expr.space_dimension();
+  if (topology() == NECESSARILY_CLOSED) {
+    expr.set_space_dimension(space_dim);
+  } else {
+    const dimension_type old_space_dim = space_dimension();
+    if (space_dim > old_space_dim) {
+      expr.set_space_dimension(space_dim + 1);
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    } else {
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+      expr.set_space_dimension(space_dim + 1);
+    }
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+  if (expr.space_dimension() < old_expr_space_dim)
+    strong_normalize();
+}
+
+inline void
+Constraint::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline bool
+Constraint::remove_space_dimensions(const Variables_Set& vars) {
+  expr.remove_space_dimensions(vars);
+  return true;
 }
 
 inline bool
@@ -83,10 +281,10 @@ Constraint::type() const {
     return EQUALITY;
   if (is_necessarily_closed())
     return NONSTRICT_INEQUALITY;
+  if (epsilon_coefficient() < 0)
+    return STRICT_INEQUALITY;
   else
-    return ((*this)[size() - 1] < 0)
-      ? STRICT_INEQUALITY
-      : NONSTRICT_INEQUALITY;
+    return NONSTRICT_INEQUALITY;
 }
 
 inline bool
@@ -113,22 +311,28 @@ inline Coefficient_traits::const_reference
 Constraint::coefficient(const Variable v) const {
   if (v.space_dimension() > space_dimension())
     throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
+  return expr.coefficient(v);
 }
 
 inline Coefficient_traits::const_reference
 Constraint::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+  return expr.inhomogeneous_term();
 }
 
 inline memory_size_type
 Constraint::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+  return expr.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Constraint::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline void
+Constraint::strong_normalize() {
+  expr.normalize();
+  sign_normalize();
 }
 
 /*! \relates Constraint */
@@ -146,134 +350,136 @@ operator!=(const Constraint& x, const Constraint& y) {
 /*! \relates Constraint */
 inline Constraint
 operator==(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
+  Linear_Expression diff(e1,
+                         std::max(e1.space_dimension(), e2.space_dimension()),
+                         Constraint::default_representation);
+  diff -= e2;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
-operator==(const Variable v1, const Variable v2) {
-  Linear_Expression diff
-    = (v1.space_dimension() < v2.space_dimension()) ? v1-v2 : v2-v1;
+operator==(Variable v1, Variable v2) {
+  if (v1.space_dimension() > v2.space_dimension())
+    swap(v1, v2);
+  PPL_ASSERT(v1.space_dimension() <= v2.space_dimension());
+
+  Linear_Expression diff(v1, Constraint::default_representation);
+  diff -= v2;
   return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
+  Linear_Expression diff(e1,
+                         std::max(e1.space_dimension(), e2.space_dimension()),
+                         Constraint::default_representation);
+  diff -= e2;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>=(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
+  Linear_Expression diff(Constraint::default_representation);
+  diff.set_space_dimension(std::max(v1.space_dimension(),
+                                    v2.space_dimension()));
+  diff += v1;
+  diff -= v2;
   return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  const dimension_type e1_dim = e1.space_dimension();
-  const dimension_type e2_dim = e2.space_dimension();
-  if (e1_dim > e2_dim)
-    diff -= Variable(e1_dim);
-  else
-    diff -= Variable(e2_dim);
-  diff += e1;
+  Linear_Expression diff(e1, Constraint::default_representation);
   diff -= e2;
-
   Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
   return c;
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  diff -= Variable(std::max(v1.space_dimension(), v2.space_dimension()));
-  return Constraint(diff,
-                    Constraint::STRICT_INEQUALITY,
-                    NOT_NECESSARILY_CLOSED);
+  Linear_Expression diff(Constraint::default_representation);
+  diff.set_space_dimension(std::max(v1.space_dimension(),
+                                    v2.space_dimension()));
+  diff += v1;
+  diff -= v2;
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
+  return c;
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
+  diff += n;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
+  diff += n;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
   diff += n;
-  diff -= e;
-
   Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
   return c;
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
+  Linear_Expression diff(e, Constraint::default_representation);
+  diff -= n;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
+  Linear_Expression diff(e, Constraint::default_representation);
+  diff -= n;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
 /*! \relates Constraint */
 inline Constraint
 operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
-  diff += e;
+  Linear_Expression diff(e, Constraint::default_representation);
   diff -= n;
-
   Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  c.set_not_necessarily_closed();
-  c.set_is_inequality();
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
   return c;
 }
 
@@ -350,31 +556,33 @@ Constraint::epsilon_leq_one() {
 }
 
 inline void
-Constraint::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+Constraint::m_swap(Constraint& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  swap(topology_, y.topology_);
+  wrapped_expr.set_hide_last(is_not_necessarily_closed());
+  y.wrapped_expr.set_hide_last(y.is_not_necessarily_closed());
 }
 
-inline bool
-Constraint::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+inline Coefficient_traits::const_reference
+Constraint::epsilon_coefficient() const {
+  PPL_ASSERT(is_not_necessarily_closed());
+  return expr.coefficient(Variable(expr.space_dimension() - 1));
 }
 
 inline void
-Constraint::swap(Constraint& y) {
-  Linear_Row::swap(y);
+Constraint::set_epsilon_coefficient(Coefficient_traits::const_reference n) {
+  PPL_ASSERT(is_not_necessarily_closed());
+  expr.set_coefficient(Variable(expr.space_dimension() - 1), n);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint */
+/*! \relates Constraint */
 inline void
-swap(Parma_Polyhedra_Library::Constraint& x,
-     Parma_Polyhedra_Library::Constraint& y) {
-  x.swap(y);
+swap(Constraint& x, Constraint& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Constraint_inlines_hh)
diff --git a/src/Constraint.types.hh b/src/Constraint.types.hh
index ea3a968..b272e2c 100644
--- a/src/Constraint.types.hh
+++ b/src/Constraint.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Constraint_System.cc b/src/Constraint_System.cc
index 8115e49..8150a9e 100644
--- a/src/Constraint_System.cc
+++ b/src/Constraint_System.cc
@@ -1,6 +1,6 @@
 /* Constraint_System class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Constraint_System.defs.hh"
 #include "Constraint_System.inlines.hh"
 #include "Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
 #include "assert.hh"
@@ -37,13 +37,16 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Constraint_System::Constraint_System(const Congruence_System& cgs)
-  : Linear_System(NECESSARILY_CLOSED, 0, cgs.space_dimension() + 1) {
+PPL::Constraint_System::Constraint_System(const Congruence_System& cgs,
+                                          Representation r)
+  : sys(NECESSARILY_CLOSED, cgs.space_dimension(), r) {
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); i != cgs_end; ++i)
-    if (i->is_equality())
-      // TODO: Consider adding a recycling_insert to save the extra copy here.
-      insert(Constraint(*i));
+    if (i->is_equality()) {
+      Constraint tmp(*i);
+      insert(tmp, Recycle_Input());
+    }
+  PPL_ASSERT(OK());
 }
 
 bool
@@ -52,155 +55,37 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 				    const dimension_type new_space_dim) {
   PPL_ASSERT(space_dimension() <= new_space_dim);
 
-  const dimension_type old_space_dim = space_dimension();
-  const Topology old_topology = topology();
-  dimension_type cols_to_be_added = new_space_dim - old_space_dim;
-
-  // Dealing with empty constraint systems first.
-  if (num_rows() == 0) {
-    if (num_columns() == 0)
-      if (new_topology == NECESSARILY_CLOSED) {
-	add_zero_columns(++cols_to_be_added);
-	set_necessarily_closed();
-      }
-      else {
-	cols_to_be_added += 2;
-	add_zero_columns(cols_to_be_added);
-	set_not_necessarily_closed();
-      }
-    else
-      // Here `num_columns() > 0'.
-      if (old_topology != new_topology)
-	if (new_topology == NECESSARILY_CLOSED) {
-	  switch (cols_to_be_added) {
-	  case 0:
-	    remove_trailing_columns(1);
-	    break;
-	  case 1:
-	    // Nothing to do.
-	    break;
-	  default:
-	    add_zero_columns(--cols_to_be_added);
-	  }
-	  set_necessarily_closed();
-	}
-	else {
-	  // Here old_topology == NECESSARILY_CLOSED
-	  //  and new_topology == NOT_NECESSARILY_CLOSED.
-	  add_zero_columns(++cols_to_be_added);
-	  set_not_necessarily_closed();
-	}
-      else {
-	// Here topologies agree.
-	if (cols_to_be_added > 0)
-	  add_zero_columns(cols_to_be_added);
-      }
-    PPL_ASSERT(OK());
-    return true;
+  if (sys.topology() == NOT_NECESSARILY_CLOSED
+      && new_topology == NECESSARILY_CLOSED) {
+    // A NOT_NECESSARILY_CLOSED constraint system
+    // can be converted to a NECESSARILY_CLOSED one
+    // only if it does not contain strict inequalities.
+    if (has_strict_inequalities())
+      return false;
+    // Since there were no strict inequalities,
+    // the only constraints that may have a non-zero epsilon coefficient
+    // are the eps-leq-one and the eps-geq-zero constraints.
+    // If they are present, we erase these rows, so that the
+    // epsilon column will only contain zeroes: as a consequence,
+    // we just decrement the number of columns to be added.
+    bool was_sorted = sys.is_sorted();
+
+    // Note that num_rows() is *not* constant, because it is decreased by
+    // remove_row().
+    for (dimension_type i = 0; i < num_rows(); )
+      if (sys[i].epsilon_coefficient() != 0)
+        sys.remove_row(i, false);
+      else
+        ++i;
+
+    // If `cs' was sorted we sort it again.
+    if (was_sorted)
+      sys.sort_rows();
   }
 
-  // Here the constraint system is not empty.
-  if (cols_to_be_added > 0)
-    if (old_topology != new_topology)
-      if (new_topology == NECESSARILY_CLOSED) {
-	// A NOT_NECESSARILY_CLOSED constraint system
-	// can be converted to a NECESSARILY_CLOSED one
-	// only if it does not contain strict inequalities.
-	if (has_strict_inequalities())
-	  return false;
-	// Since there were no strict inequalities,
-	// the only constraints that may have a non-zero epsilon coefficient
-	// are the eps-leq-one and the eps-geq-zero constraints.
-	// If they are present, we erase these rows, so that the
-	// epsilon column will only contain zeroes: as a consequence,
-	// we just decrement the number of columns to be added.
-	Constraint_System& cs = *this;
-	const dimension_type eps_index = old_space_dim + 1;
-	dimension_type cs_num_rows = cs.num_rows();
-	bool was_sorted = cs.is_sorted();
-	if (was_sorted)
-	  cs.set_sorted(false);
-
-	// If we have no pending rows, we only check if
-	// we must erase some rows.
-	if (cs.num_pending_rows() == 0) {
-	  for (dimension_type i = cs_num_rows; i-- > 0; )
-	    if (cs[i][eps_index] != 0) {
-	      --cs_num_rows;
-	      std::swap(cs[i], cs[cs_num_rows]);
-	    }
-	  cs.erase_to_end(cs_num_rows);
-	  cs.unset_pending_rows();
-	}
-	else {
-	  // There are pending rows, and we cannot swap them
-	  // into the non-pending part of the matrix.
-	  // Thus, we first work on the non-pending part as if it was
-	  // an independent matrix; then we work on the pending part.
-	  const dimension_type old_first_pending = cs.first_pending_row();
-	  dimension_type new_first_pending = old_first_pending;
-	  for (dimension_type i = new_first_pending; i-- > 0; )
-	    if (cs[i][eps_index] != 0) {
-	      --new_first_pending;
-	      std::swap(cs[i], cs[new_first_pending]);
-	    }
-	  const dimension_type num_swaps
-	    = old_first_pending - new_first_pending;
-          cs.set_index_first_pending_row(new_first_pending);
-	  // Move the swapped rows to the real end of the matrix.
-	  for (dimension_type i = num_swaps; i-- > 0; )
-	    std::swap(cs[old_first_pending - i], cs[cs_num_rows - i]);
-	  cs_num_rows -= num_swaps;
-	  // Now iterate through the pending rows.
-	  for (dimension_type i = cs_num_rows; i-- > new_first_pending; )
-	    if (cs[i][eps_index] != 0) {
-	      --cs_num_rows;
-	      std::swap(cs[i], cs[cs_num_rows]);
-	    }
-	  cs.erase_to_end(cs_num_rows);
-	}
+  sys.set_topology(new_topology);
+  sys.set_space_dimension(new_space_dim);
 
-	// If `cs' was sorted we sort it again.
-	if (was_sorted)
-	  cs.sort_rows();
-	if (--cols_to_be_added > 0)
-	  add_zero_columns(cols_to_be_added);
-	set_necessarily_closed();
-      }
-      else {
-	// A NECESSARILY_CLOSED constraint system is converted to
-	// a NOT_NECESSARILY_CLOSED one by adding a further column
-	// of zeroes for the epsilon coefficients.
-	add_zero_columns(++cols_to_be_added);
-	set_not_necessarily_closed();
-      }
-    else {
-      // Topologies agree: first add the required zero columns ...
-      add_zero_columns(cols_to_be_added);
-      // ... and, if needed, move the epsilon coefficients
-      // to the new last column.
-      if (old_topology == NOT_NECESSARILY_CLOSED)
-	swap_columns(old_space_dim + 1, new_space_dim + 1);
-    }
-  else
-    // Here `cols_to_be_added == 0'.
-    if (old_topology != new_topology) {
-      if (new_topology == NECESSARILY_CLOSED) {
-	// A NOT_NECESSARILY_CLOSED constraint system
-	// can be converted to a NECESSARILY_CLOSED one
-	// only if it does not contain strict inequalities.
-	if (has_strict_inequalities())
-	  return false;
-	// We just remove the column of the epsilon coefficients.
-	remove_trailing_columns(1);
-	set_necessarily_closed();
-      }
-      else {
-	// We just add the column of the epsilon coefficients.
-	add_zero_columns(1);
-	set_not_necessarily_closed();
-      }
-    }
   // We successfully adjusted space dimensions and topology.
   PPL_ASSERT(OK());
   return true;
@@ -208,88 +93,71 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 
 bool
 PPL::Constraint_System::has_equalities() const {
-  const Constraint_System& cs = *this;
   // We verify if the system has equalities also in the pending part.
-  for (dimension_type i = cs.num_rows(); i-- > 0; )
-    if (cs[i].is_equality())
+  for (dimension_type i = sys.num_rows(); i-- > 0; )
+    if (sys[i].is_equality())
       return true;
   return false;
 }
 
 bool
 PPL::Constraint_System::has_strict_inequalities() const {
-  if (is_necessarily_closed())
+  if (sys.is_necessarily_closed())
     return false;
-  const Constraint_System& cs = *this;
-  const dimension_type eps_index = cs.num_columns() - 1;
   // We verify if the system has strict inequalities
   // also in the pending part.
-  for (dimension_type i = cs.num_rows(); i-- > 0; ) {
-    const Constraint& c = cs[i];
+  for (dimension_type i = sys.num_rows(); i-- > 0; ) {
+    const Constraint& c = sys[i];
     // Optimized type checking: we already know the topology;
     // also, equalities have the epsilon coefficient equal to zero.
     // NOTE: the constraint eps_leq_one should not be considered
     //       a strict inequality.
-    if (c[eps_index] < 0 && !c.is_tautological())
+    if (c.epsilon_coefficient() < 0 && !c.is_tautological())
       return true;
   }
   return false;
 }
 
 void
-PPL::Constraint_System::insert(const Constraint& c) {
+PPL::Constraint_System::insert(const Constraint& r) {
+  Constraint tmp = r;
+  insert(tmp, Recycle_Input());
+}
+
+void
+PPL::Constraint_System::insert(Constraint& c, Recycle_Input) {
   // We are sure that the matrix has no pending rows
   // and that the new row is not a pending constraint.
-  PPL_ASSERT(num_pending_rows() == 0);
-  if (topology() == c.topology())
-    Linear_System::insert(c);
-  else
-    // `*this' and `c' have different topologies.
-    if (is_necessarily_closed()) {
-      // Padding the matrix with a columns of zeroes
-      // corresponding to the epsilon coefficients.
-      add_zero_columns(1);
-      set_not_necessarily_closed();
-      Linear_System::insert(c);
-    }
-    else {
-      // Here `*this' is NNC and `c' is necessarily closed.
-      // Copying the constraint adding the epsilon coefficient
-      // and the missing space dimensions, if any.
-      // FIXME: provide a resizing copy constructor taking
-      // topology and the space dimension.
-      const dimension_type new_size = 2 + std::max(c.space_dimension(),
-						   space_dimension());
-      Constraint tmp_c(c, new_size);
-      tmp_c.set_not_necessarily_closed();
-      Linear_System::insert(tmp_c);
-    }
+  PPL_ASSERT(sys.num_pending_rows() == 0);
+
+  if (sys.topology() != c.topology()) {
+    if (sys.topology() == NECESSARILY_CLOSED)
+      sys.set_topology(NOT_NECESSARILY_CLOSED);
+    else
+      c.set_topology(NOT_NECESSARILY_CLOSED);
+  }
+
+  sys.insert(c, Recycle_Input());
+
   PPL_ASSERT(OK());
 }
 
 void
-PPL::Constraint_System::insert_pending(const Constraint& c) {
-  if (topology() == c.topology())
-    Linear_System::insert_pending(c);
-  else
-    // `*this' and `c' have different topologies.
-    if (is_necessarily_closed()) {
-      // Padding the matrix with a columns of zeroes
-      // corresponding to the epsilon coefficients.
-      add_zero_columns(1);
-      set_not_necessarily_closed();
-      Linear_System::insert_pending(c);
-    }
-    else {
-      // Here `*this' is NNC and `c' is necessarily closed.
-      // Copying the constraint adding the epsilon coefficient
-      // and the missing space dimensions, if any.
-      const dimension_type new_size = 2 + std::max(c.space_dimension(),
-						   space_dimension());
-      Constraint tmp_c(c, new_size);
-      tmp_c.set_not_necessarily_closed();
-      Linear_System::insert_pending(tmp_c);
-    }
+PPL::Constraint_System::insert_pending(const Constraint& r) {
+  Constraint tmp = r;
+  insert_pending(tmp, Recycle_Input());
+}
+
+void
+PPL::Constraint_System::insert_pending(Constraint& c, Recycle_Input) {
+  if (sys.topology() != c.topology()) {
+    if (sys.topology() == NECESSARILY_CLOSED)
+      sys.set_topology(NOT_NECESSARILY_CLOSED);
+    else
+      c.set_topology(NOT_NECESSARILY_CLOSED);
+  }
+
+  sys.insert_pending(c, Recycle_Input());
   PPL_ASSERT(OK());
 }
 
@@ -297,16 +165,16 @@ PPL::dimension_type
 PPL::Constraint_System::num_inequalities() const {
   // We are sure that we call this method only when
   // the matrix has no pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(sys.num_pending_rows() == 0);
   const Constraint_System& cs = *this;
   dimension_type n = 0;
-  // If the Linear_System happens to be sorted, take advantage of the fact
+  // If the Base happens to be sorted, take advantage of the fact
   // that inequalities are at the bottom of the system.
-  if (is_sorted())
-    for (dimension_type i = num_rows(); i > 0 && cs[--i].is_inequality(); )
+  if (sys.is_sorted())
+    for (dimension_type i = sys.num_rows(); i > 0 && cs[--i].is_inequality(); )
       ++n;
   else
-    for (dimension_type i = num_rows(); i-- > 0 ; )
+    for (dimension_type i = sys.num_rows(); i-- > 0 ; )
       if (cs[i].is_inequality())
 	++n;
   return n;
@@ -316,13 +184,13 @@ PPL::dimension_type
 PPL::Constraint_System::num_equalities() const {
   // We are sure that we call this method only when
   // the matrix has no pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
-  return num_rows() - num_inequalities();
+  PPL_ASSERT(sys.num_pending_rows() == 0);
+  return sys.num_rows() - num_inequalities();
 }
 
 void
-PPL::Constraint_System::const_iterator::skip_forward() {
-  const Linear_System::const_iterator csp_end = csp->end();
+PPL::Constraint_System_const_iterator::skip_forward() {
+  const Linear_System<Constraint>::const_iterator csp_end = csp->end();
   while (i != csp_end && (*this)->is_tautological())
     ++i;
 }
@@ -336,18 +204,17 @@ PPL::Constraint_System::satisfies_all_constraints(const Generator& g) const {
   // (which could also cause a mismatch in the number of columns).
   Topology_Adjusted_Scalar_Product_Sign sps(g);
 
-  const Constraint_System& cs = *this;
-  if (cs.is_necessarily_closed()) {
+  if (sys.is_necessarily_closed()) {
     if (g.is_line()) {
       // Lines must saturate all constraints.
-      for (dimension_type i = cs.num_rows(); i-- > 0; )
-	if (sps(g, cs[i]) != 0)
+      for (dimension_type i = sys.num_rows(); i-- > 0; )
+	if (sps(g, sys[i]) != 0)
 	  return false;
     }
     else
       // `g' is either a ray, a point or a closure point.
-      for (dimension_type i = cs.num_rows(); i-- > 0; ) {
-	const Constraint& c = cs[i];
+      for (dimension_type i = sys.num_rows(); i-- > 0; ) {
+        const Constraint& c = sys[i];
 	const int sp_sign = sps(g, c);
 	if (c.is_inequality()) {
 	  // As `cs' is necessarily closed,
@@ -367,16 +234,17 @@ PPL::Constraint_System::satisfies_all_constraints(const Generator& g) const {
 
     case Generator::LINE:
       // Lines must saturate all constraints.
-      for (dimension_type i = cs.num_rows(); i-- > 0; )
-	if (sps(g, cs[i]) != 0)
+      for (dimension_type i = sys.num_rows(); i-- > 0; )
+	if (sps(g, sys[i]) != 0)
 	  return false;
+
       break;
 
     case Generator::POINT:
       // Have to perform the special test
       // when dealing with a strict inequality.
-      for (dimension_type i = cs.num_rows(); i-- > 0; ) {
-	const Constraint& c = cs[i];
+      for (dimension_type i = sys.num_rows(); i-- > 0; ) {
+        const Constraint& c = sys[i];
 	const int sp_sign = sps(g, c);
 	switch (c.type()) {
 	case Constraint::EQUALITY:
@@ -398,8 +266,8 @@ PPL::Constraint_System::satisfies_all_constraints(const Generator& g) const {
     case Generator::RAY:
       // Intentionally fall through.
     case Generator::CLOSURE_POINT:
-      for (dimension_type i = cs.num_rows(); i-- > 0; ) {
-	const Constraint& c = cs[i];
+      for (dimension_type i = sys.num_rows(); i-- > 0; ) {
+        const Constraint& c = sys[i];
 	const int sp_sign = sps(g, c);
 	if (c.is_inequality()) {
 	  // Constraint `c' is either a strict or a non-strict inequality.
@@ -421,164 +289,54 @@ PPL::Constraint_System::satisfies_all_constraints(const Generator& g) const {
 
 void
 PPL::Constraint_System
-::affine_preimage(const dimension_type v,
+::affine_preimage(const Variable v,
 		  const Linear_Expression& expr,
 		  Coefficient_traits::const_reference denominator) {
-  Constraint_System& x = *this;
-  // `v' is the index of a column corresponding to
-  // a "user" variable (i.e., it cannot be the inhomogeneous term,
-  // nor the epsilon dimension of NNC polyhedra).
-  PPL_ASSERT(v > 0 && v <= x.space_dimension());
-  PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
+  PPL_ASSERT(v.space_dimension() <= sys.space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= sys.space_dimension());
   PPL_ASSERT(denominator > 0);
 
-  const dimension_type n_columns = x.num_columns();
-  const dimension_type n_rows = x.num_rows();
-  const dimension_type expr_size = expr.size();
-  const bool not_invertible = (v >= expr_size || expr[v] == 0);
-
-  if (denominator != 1)
-    for (dimension_type i = n_rows; i-- > 0; ) {
-      Constraint& row = x[i];
-      Coefficient& row_v = row[v];
-      if (row_v != 0) {
-	for (dimension_type j = n_columns; j-- > 0; )
-	  if (j != v) {
-	    Coefficient& row_j = row[j];
-	    row_j *= denominator;
-	    if (j < expr_size)
-	      add_mul_assign(row_j, row_v, expr[j]);
-	  }
-	if (not_invertible)
-	  row_v = 0;
-	else
-	  row_v *= expr[v];
-      }
-    }
-  else
-    // Here `denominator' == 1: optimized computation
-    // only considering columns having indexes < expr_size.
-    for (dimension_type i = n_rows; i-- > 0; ) {
-      Constraint& row = x[i];
-      Coefficient& row_v = row[v];
-      if (row_v != 0) {
-	for (dimension_type j = expr_size; j-- > 0; )
-	  if (j != v)
-	    add_mul_assign(row[j], row_v, expr[j]);
-	if (not_invertible)
-	  row_v = 0;
-	else
-	  row_v *= expr[v];
-      }
+  Coefficient_traits::const_reference expr_v = expr.coefficient(v);
+
+  const dimension_type n_rows = sys.num_rows();
+  const bool not_invertible = (v.space_dimension() > expr.space_dimension()
+                               || expr_v == 0);
+
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    Constraint& row = sys.rows[i];
+    Coefficient_traits::const_reference row_v = row.coefficient(v);
+    if (row_v != 0) {
+      Coefficient c = row_v;
+      if (denominator != 1)
+        row.expr *= denominator;
+      row.expr.linear_combine(expr, 1, c, 0, expr.space_dimension() + 1);
+      if (not_invertible)
+        row.expr.set_coefficient(v, Coefficient_zero());
+      else
+        row.expr.set_coefficient(v, c * expr_v);
+      row.strong_normalize();
+      PPL_ASSERT(row.OK());
     }
+  }
+
   // Strong normalization also resets the sortedness flag.
-  x.strong_normalize();
+  sys.strong_normalize();
+
+  PPL_ASSERT(sys.OK());
 }
 
 void
 PPL::Constraint_System::ascii_dump(std::ostream& s) const {
-  const Constraint_System& x = *this;
-  const dimension_type x_num_rows = x.num_rows();
-  const dimension_type x_num_columns = x.num_columns();
-  s << "topology " << (is_necessarily_closed()
-		       ? "NECESSARILY_CLOSED"
-		       : "NOT_NECESSARILY_CLOSED")
-    << "\n"
-    << x_num_rows << " x " << x_num_columns << ' '
-    << (x.is_sorted() ? "(sorted)" : "(not_sorted)")
-    << "\n"
-    << "index_first_pending " << x.first_pending_row()
-    << "\n";
-  for (dimension_type i = 0; i < x_num_rows; ++i) {
-    const Constraint& c = x[i];
-    for (dimension_type j = 0; j < x_num_columns; ++j)
-      s << c[j] << ' ';
-    switch (c.type()) {
-    case Constraint::EQUALITY:
-      s << "=";
-      break;
-    case Constraint::NONSTRICT_INEQUALITY:
-      s << ">=";
-      break;
-    case Constraint::STRICT_INEQUALITY:
-      s << ">";
-      break;
-    }
-    s << "\n";
-  }
+  sys.ascii_dump(s);
 }
 
 PPL_OUTPUT_DEFINITIONS(Constraint_System)
 
 bool
 PPL::Constraint_System::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "topology")
-    return false;
-  if (!(s >> str))
-    return false;
-  if (str == "NECESSARILY_CLOSED")
-    set_necessarily_closed();
-  else {
-    if (str != "NOT_NECESSARILY_CLOSED")
-      return false;
-    set_not_necessarily_closed();
-  }
-
-  dimension_type nrows;
-  dimension_type ncols;
-  if (!(s >> nrows))
+  if (!sys.ascii_load(s))
     return false;
-  if (!(s >> str) || str != "x")
-    return false;
-  if (!(s >> ncols))
-      return false;
-  resize_no_copy(nrows, ncols);
-
-  if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)"))
-    return false;
-  set_sorted(str == "(sorted)");
-  dimension_type index;
-  if (!(s >> str) || str != "index_first_pending")
-    return false;
-  if (!(s >> index))
-    return false;
-  set_index_first_pending_row(index);
-
-  Constraint_System& x = *this;
-  for (dimension_type i = 0; i < x.num_rows(); ++i) {
-    for (dimension_type j = 0; j < x.num_columns(); ++j)
-      if (!(s >> x[i][j]))
-	return false;
-
-    if (!(s >> str))
-      return false;
-    if (str == "=")
-      x[i].set_is_equality();
-    else if (str == ">=" || str == ">")
-      x[i].set_is_inequality();
-    else
-      return false;
 
-    // Checking for equality of actual and declared types.
-    switch (x[i].type()) {
-    case Constraint::EQUALITY:
-      if (str == "=")
-	continue;
-      break;
-    case Constraint::NONSTRICT_INEQUALITY:
-      if (str == ">=")
-	continue;
-      break;
-    case Constraint::STRICT_INEQUALITY:
-      if (str == ">")
-	continue;
-      break;
-    }
-    // Reaching this point means that the input was illegal.
-    return false;
-  }
-  // Check invariants.
   PPL_ASSERT(OK());
   return true;
 }
@@ -601,32 +359,20 @@ PPL::Constraint_System::finalize() {
 
 bool
 PPL::Constraint_System::OK() const {
-  // A Constraint_System must be a valid Linear_System; do not check for
-  // strong normalization, since this will be done when
-  // checking each individual constraint.
-  if (!Linear_System::OK(false))
-    return false;
-
-  // Checking each constraint in the system.
-  const Constraint_System& x = *this;
-  for (dimension_type i = num_rows(); i-- > 0; )
-    if (!x[i].OK())
-      return false;
-
-  // All checks passed.
-  return true;
+  return sys.OK();
 }
 
 /*! \relates Parma_Polyhedra_Library::Constraint_System */
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Constraint_System& cs) {
-  Constraint_System::const_iterator i = cs.begin();
-  const Constraint_System::const_iterator cs_end = cs.end();
+  Constraint_System_const_iterator i = cs.begin();
+  const Constraint_System_const_iterator cs_end = cs.end();
   if (i == cs_end)
     s << "true";
   else {
     while (i != cs_end) {
-      s << *i++;
+      s << *i;
+      ++i;
       if (i != cs_end)
 	s << ", ";
     }
diff --git a/src/Constraint_System.defs.hh b/src/Constraint_System.defs.hh
index a3c614f..0c5d973 100644
--- a/src/Constraint_System.defs.hh
+++ b/src/Constraint_System.defs.hh
@@ -1,6 +1,6 @@
 /* Constraint_System class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,18 +19,22 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Constraint_System_defs_hh
 #define PPL_Constraint_System_defs_hh 1
 
 #include "Constraint_System.types.hh"
-#include "Linear_Expression.types.hh"
+
 #include "Linear_System.defs.hh"
+#include "Constraint.defs.hh"
+
+#include "Linear_Expression.types.hh"
 #include "Generator.types.hh"
-#include "Polyhedron.types.hh"
 #include "Constraint.types.hh"
 #include "Congruence_System.types.hh"
+#include "Polyhedron.types.hh"
+#include "termination.types.hh"
 #include <iterator>
 #include <iosfwd>
 
@@ -48,21 +52,25 @@ std::ostream& operator<<(std::ostream& s, const Constraint_System& cs);
 
 } // namespace IO_Operators
 
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
-
-} // namespace Parma_Polyhedra_Library
-
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Constraint_System& x, const Constraint_System& y);
 
-namespace std {
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Constraint_System& x, const Constraint_System& y);
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-void swap(Parma_Polyhedra_Library::Constraint_System& x,
-	  Parma_Polyhedra_Library::Constraint_System& y);
+/*! \relates Constraint_System */
+void
+swap(Constraint_System& x, Constraint_System& y);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 //! A system of constraints.
 /*! \ingroup PPL_CXX_interface
@@ -125,32 +133,54 @@ void swap(Parma_Polyhedra_Library::Constraint_System& x,
     reordered, removed (if they are trivial, duplicate or
     implied by other constraints), linearly combined, etc.
 */
-class Parma_Polyhedra_Library::Constraint_System : private Linear_System {
+class Parma_Polyhedra_Library::Constraint_System {
 public:
+  typedef Constraint row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of constraints.
-  Constraint_System();
+  explicit Constraint_System(Representation r = default_representation);
 
   //! Builds the singleton system containing only constraint \p c.
-  explicit Constraint_System(const Constraint& c);
+  explicit Constraint_System(const Constraint& c,
+                             Representation r = default_representation);
 
   //! Builds a system containing copies of any equalities in \p cgs.
-  explicit Constraint_System(const Congruence_System& cgs);
+  explicit Constraint_System(const Congruence_System& cgs,
+                             Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  /*!
+    \note The copy will have the same representation as `cs', to make it
+          indistinguishable from `cs'.
+  */
   Constraint_System(const Constraint_System& cs);
 
+  //! Copy constructor with specified representation.
+  Constraint_System(const Constraint_System& cs, Representation r);
+
   //! Destructor.
   ~Constraint_System();
 
   //! Assignment operator.
   Constraint_System& operator=(const Constraint_System& y);
 
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
   //! Returns the maximum space dimension a Constraint_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this
     contains one or more equality constraints.
@@ -164,12 +194,6 @@ public:
   bool has_strict_inequalities() const;
 
   /*! \brief
-    Removes all the constraints from the constraint system
-    and sets its space dimension to 0.
-  */
-  void clear();
-
-  /*! \brief
     Inserts in \p *this a copy of the constraint \p c,
     increasing the number of space dimensions if needed.
   */
@@ -186,85 +210,18 @@ public:
   */
   static const Constraint_System& zero_dim_empty();
 
-  //! An iterator over a system of constraints.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each constraint contained in a Constraint_System object.
-
-    \par Example
-    The following code prints the system of constraints
-    defining the polyhedron <CODE>ph</CODE>:
-    \code
-  const Constraint_System& cs = ph.constraints();
-  for (Constraint_System::const_iterator i = cs.begin(),
-         cs_end = cs.end(); i != cs_end; ++i)
-    cout << *i << endl;
-    \endcode
-  */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Constraint,
-			   ptrdiff_t,
-			   const Constraint*,
-			   const Constraint&> {
-  public:
-    //! Default constructor.
-    const_iterator();
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Destructor.
-    ~const_iterator();
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    const Constraint& operator*() const;
-
-    //! Indirect member selector.
-    const Constraint* operator->() const;
-
-    //! Prefix increment operator.
-    const_iterator& operator++();
-
-    //! Postfix increment operator.
-    const_iterator operator++(int);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-
-  private:
-    friend class Constraint_System;
-
-    //! The const iterator over the matrix of constraints.
-    Linear_System::const_iterator i;
-
-    //! A const pointer to the matrix of constraints.
-    const Linear_System* csp;
-
-    //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Constraint_System& csys);
-
-    //! \p *this skips to the next non-trivial constraint.
-    void skip_forward();
-  };
+  typedef Constraint_System_const_iterator const_iterator;
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
   bool empty() const;
 
   /*! \brief
+    Removes all the constraints from the constraint system
+    and sets its space dimension to 0.
+  */
+  void clear();
+
+  /*! \brief
     Returns the const_iterator pointing to the first constraint,
     if \p *this is not empty;
     otherwise, returns the past-the-end const_iterator.
@@ -275,12 +232,6 @@ public:
   const_iterator end() const;
 
   //! Checks if all the invariants are satisfied.
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Constraint.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -299,44 +250,57 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Constraint_System& y);
+  void m_swap(Constraint_System& y);
 
 private:
+  Linear_System<Constraint> sys;
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
     the singleton system containing only Constraint::zero_dim_false().
   */
   static const Constraint_System* zero_dim_empty_p;
 
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
+  friend class Constraint_System_const_iterator;
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+  friend bool operator==(const Constraint_System& x,
+                         const Constraint_System& y);
 
   //! Builds an empty system of constraints having the specified topology.
-  explicit Constraint_System(Topology topol);
+  explicit Constraint_System(Topology topol,
+                             Representation r = default_representation);
+
+  /*! \brief
+    Builds a system of constraints on a \p space_dim dimensional space. If
+    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE> the \f$\epsilon\f$
+    dimension is added.
+  */
+  Constraint_System(Topology topol, dimension_type space_dim,
+                    Representation r = default_representation);
+
+  //! Returns the number of equality constraints.
+  dimension_type num_equalities() const;
+
+  //! Returns the number of inequality constraints.
+  dimension_type num_inequalities() const;
 
   /*! \brief
-    Builds a system of \p n_rows constraints on a \p n_columns - 1
-    dimensional space (including the \f$\epsilon\f$ dimension, if
-    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of constraints.
+
+    It is assumed that the system has no pending constraints.
   */
-  Constraint_System(Topology topol,
-		    dimension_type n_rows, dimension_type n_columns);
+  void simplify();
 
   /*! \brief
-    Adjusts \p *this so that it matches the topology and
-    the number of space dimensions given as parameters
-    (adding or removing columns if needed).
+    Adjusts \p *this so that it matches \p new_topology and
+    \p new_space_dim (adding or removing columns if needed).
     Returns <CODE>false</CODE> if and only if \p topol is
     equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
     contains strict inequalities.
   */
-  bool adjust_topology_and_space_dimension(Topology topol,
-					   dimension_type num_dimensions);
-
-  //! Returns the \p k- th constraint of the system.
-  Constraint& operator[](dimension_type k);
+  bool adjust_topology_and_space_dimension(Topology new_topology,
+                                           dimension_type new_space_dim);
 
   //! Returns a constant reference to the \p k- th constraint of the system.
   const Constraint& operator[](dimension_type k) const;
@@ -347,7 +311,7 @@ private:
   //! Substitutes a given column of coefficients by a given affine expression.
   /*!
     \param v
-    Index of the column to which the affine transformation is substituted.
+    The variable to which the affine transformation is substituted.
 
     \param expr
     The numerator of the affine transformation:
@@ -379,23 +343,9 @@ private:
 
     \p expr is a constant parameter and unaltered by this computation.
   */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
-
-  //! Returns the number of equality constraints.
-  dimension_type num_equalities() const;
-
-  //! Returns the number of inequality constraints.
-  dimension_type num_inequalities() const;
-
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of constraints.
-
-    It is assumed that the system has no pending constraints.
-  */
-  void simplify();
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
 
   /*! \brief
     Inserts in \p *this a copy of the constraint \p c,
@@ -406,8 +356,332 @@ private:
 
   //! Adds low-level constraints to the constraint system.
   void add_low_level_constraints();
+
+  //! Returns the system topology.
+  Topology topology() const;
+
+  dimension_type num_rows() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
+
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
+
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
+
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
+
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
+
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
+
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
+
+  //! Makes the system shrink by removing its i-th row.
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
+  */
+  void remove_row(dimension_type i, bool keep_sorted = false);
+
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
+  /*!
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
+
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
+
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted = false);
+
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
+
+  //! Removes all the specified dimensions from the constraint system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  bool has_no_rows() const;
+
+  //! Strongly normalizes the system.
+  void strong_normalize();
+
+  /*! \brief
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
+
+  /*! \brief
+    Adds the given row to the pending part of the system, stealing its
+    contents and automatically resizing the system or the row, if needed.
+  */
+  void insert_pending(Constraint& r, Recycle_Input);
+
+  //! Adds the rows of `y' to the pending part of `*this', stealing them from
+  //! `y'.
+  void insert_pending(Constraint_System& r, Recycle_Input);
+
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+  */
+  void insert(Constraint& r, Recycle_Input);
+
+  //! Adds to \p *this a the rows of `y', stealing them from `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(Constraint_System& r, Recycle_Input);
+
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void insert_pending(const Constraint_System& r);
+
+  /*! \brief
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
+
+    Duplicated rows will occur only once in the result.
+    On entry, both systems are assumed to be sorted and have
+    no pending rows.
+  */
+  void merge_rows_assign(const Constraint_System& y);
+
+  //! Adds to \p *this a copy of  the rows of \p y.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(const Constraint_System& y);
+
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The system topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The system topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
+
+  //! Minimizes the subsystem of equations contained in \p *this.
+  /*!
+    This method works only on the equalities of the system:
+    the system is required to be partially sorted, so that
+    all the equalities are grouped at its top; it is assumed that
+    the number of equalities is exactly \p n_lines_or_equalities.
+    The method finds a minimal system for the equalities and
+    returns its rank, i.e., the number of linearly independent equalities.
+    The result is an upper triangular subsystem of equalities:
+    for each equality, the pivot is chosen starting from
+    the right-most columns.
+  */
+  dimension_type gauss(dimension_type n_lines_or_equalities);
+
+  /*! \brief
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
+
+    Takes an upper triangular system having \p n_lines_or_equalities rows.
+    For each row, starting from the one having the minimum number of
+    coefficients different from zero, computes the expression of an element
+    as a function of the remaining ones and then substitutes this expression
+    in all the other rows.
+  */
+  void back_substitute(dimension_type n_lines_or_equalities);
+
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Constraint_System& y);
+
+  /*! \brief
+    Sorts the pending rows and eliminates those that also occur
+    in the non-pending part of the system.
+  */
+  void sort_pending_and_remove_duplicates();
+
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
+
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
+  */
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
+
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
+  */
+  dimension_type num_lines_or_equalities() const;
+
+  //! Adds \p n rows and space dimensions to the system.
+  /*!
+    \param n
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
+
+    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
+    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
+    such that
+    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
+    where \f$J\f$ is the specular image
+    of the \f$n \times n\f$ identity matrix.
+  */
+  void add_universe_rows_and_space_dimensions(dimension_type n);
+
+  friend class Polyhedron;
+  friend class Termination_Helpers;
+};
+
+//! An iterator over a system of constraints.
+/*! \ingroup PPL_CXX_interface
+  A const_iterator is used to provide read-only access
+  to each constraint contained in a Constraint_System object.
+
+  \par Example
+  The following code prints the system of constraints
+  defining the polyhedron <CODE>ph</CODE>:
+  \code
+const Constraint_System& cs = ph.constraints();
+for (Constraint_System::const_iterator i = cs.begin(),
+        cs_end = cs.end(); i != cs_end; ++i)
+  cout << *i << endl;
+  \endcode
+*/
+// NOTE: This is not an inner class of Constraint_System, so Constraint can
+// declare that this class is his friend without including this file
+// (the .types.hh file suffices).
+class Parma_Polyhedra_Library::Constraint_System_const_iterator
+  : public std::iterator<std::forward_iterator_tag,
+                         Constraint,
+                         ptrdiff_t,
+                         const Constraint*,
+                         const Constraint&> {
+public:
+  //! Default constructor.
+  Constraint_System_const_iterator();
+
+  //! Ordinary copy constructor.
+  Constraint_System_const_iterator(const Constraint_System_const_iterator& y);
+
+  //! Destructor.
+  ~Constraint_System_const_iterator();
+
+  //! Assignment operator.
+  Constraint_System_const_iterator&
+  operator=(const Constraint_System_const_iterator& y);
+
+  //! Dereference operator.
+  const Constraint& operator*() const;
+
+  //! Indirect member selector.
+  const Constraint* operator->() const;
+
+  //! Prefix increment operator.
+  Constraint_System_const_iterator& operator++();
+
+  //! Postfix increment operator.
+  Constraint_System_const_iterator operator++(int);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const Constraint_System_const_iterator& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const Constraint_System_const_iterator& y) const;
+
+private:
+  friend class Constraint_System;
+
+  //! The const iterator over the matrix of constraints.
+  Linear_System<Constraint>::const_iterator i;
+
+  //! A const pointer to the matrix of constraints.
+  const Linear_System<Constraint>* csp;
+
+  //! Constructor.
+  Constraint_System_const_iterator(const Linear_System<Constraint>
+                                   ::const_iterator& iter,
+                                   const Constraint_System& cs);
+
+  //! \p *this skips to the next non-trivial constraint.
+  void skip_forward();
 };
 
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Helper returning number of constraints in system.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+dimension_type
+num_constraints(const Constraint_System& cs);
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
 // Constraint_System.inlines.hh is not included here on purpose.
 
 #endif // !defined(PPL_Constraint_System_defs_hh)
diff --git a/src/Constraint_System.inlines.hh b/src/Constraint_System.inlines.hh
index a68bdf2..120970c 100644
--- a/src/Constraint_System.inlines.hh
+++ b/src/Constraint_System.inlines.hh
@@ -1,6 +1,6 @@
 /* Constraint_System class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Constraint_System_inlines_hh
 #define PPL_Constraint_System_inlines_hh 1
@@ -29,31 +29,37 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 inline
-Constraint_System::Constraint_System()
-  : Linear_System(NECESSARILY_CLOSED) {
+Constraint_System::Constraint_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
 }
 
 inline
-Constraint_System::Constraint_System(const Constraint& c)
-  : Linear_System(c.topology()) {
-  Linear_System::insert(c);
+Constraint_System::Constraint_System(const Constraint& c, Representation r)
+  : sys(c.topology(), r) {
+  sys.insert(c);
 }
 
 inline
 Constraint_System::Constraint_System(const Constraint_System& cs)
-  : Linear_System(cs) {
+  : sys(cs.sys) {
 }
 
 inline
-Constraint_System::Constraint_System(const Topology topol)
-  : Linear_System(topol) {
+Constraint_System::Constraint_System(const Constraint_System& cs,
+                                     Representation r)
+  : sys(cs.sys, r) {
+}
+
+inline
+Constraint_System::Constraint_System(const Topology topol, Representation r)
+  : sys(topol, r) {
 }
 
 inline
 Constraint_System::Constraint_System(const Topology topol,
-				     const dimension_type n_rows,
-				     const dimension_type n_columns)
-  : Linear_System(topol, n_rows, n_columns) {
+				     const dimension_type space_dim,
+                                     Representation r)
+  : sys(topol, space_dim, r) {
 }
 
 inline
@@ -62,33 +68,44 @@ Constraint_System::~Constraint_System() {
 
 inline Constraint_System&
 Constraint_System::operator=(const Constraint_System& y) {
-  Linear_System::operator=(y);
+  Constraint_System tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
-inline Constraint&
-Constraint_System::operator[](const dimension_type k) {
-  return static_cast<Constraint&>(Linear_System::operator[](k));
-}
-
 inline const Constraint&
 Constraint_System::operator[](const dimension_type k) const {
-  return static_cast<const Constraint&>(Linear_System::operator[](k));
+  return sys[k];
+}
+
+inline Representation
+Constraint_System::representation() const {
+  return sys.representation();
+}
+
+inline void
+Constraint_System::set_representation(Representation r) {
+  sys.set_representation(r);
 }
 
 inline dimension_type
 Constraint_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
+  return Linear_System<Constraint>::max_space_dimension();
 }
 
 inline dimension_type
 Constraint_System::space_dimension() const {
-  return Linear_System::space_dimension();
+  return sys.space_dimension();
+}
+
+inline void
+Constraint_System::set_space_dimension(dimension_type space_dim) {
+  return sys.set_space_dimension(space_dim);
 }
 
 inline void
 Constraint_System::clear() {
-  Linear_System::clear();
+  sys.clear();
 }
 
 inline const Constraint_System&
@@ -98,77 +115,77 @@ Constraint_System::zero_dim_empty() {
 }
 
 inline
-Constraint_System::const_iterator::const_iterator()
+Constraint_System_const_iterator::Constraint_System_const_iterator()
   : i(), csp(0) {
 }
 
 inline
-Constraint_System::const_iterator::const_iterator(const const_iterator& y)
+Constraint_System_const_iterator::Constraint_System_const_iterator(const Constraint_System_const_iterator& y)
   : i(y.i), csp(y.csp) {
 }
 
 inline
-Constraint_System::const_iterator::~const_iterator() {
+Constraint_System_const_iterator::~Constraint_System_const_iterator() {
 }
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator=(const const_iterator& y) {
+inline Constraint_System_const_iterator&
+Constraint_System_const_iterator::operator=(const Constraint_System_const_iterator& y) {
   i = y.i;
   csp = y.csp;
   return *this;
 }
 
 inline const Constraint&
-Constraint_System::const_iterator::operator*() const {
-  return static_cast<const Constraint&>(*i);
+Constraint_System_const_iterator::operator*() const {
+  return *i;
 }
 
 inline const Constraint*
-Constraint_System::const_iterator::operator->() const {
-  return static_cast<const Constraint*>(i.operator->());
+Constraint_System_const_iterator::operator->() const {
+  return i.operator->();
 }
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator++() {
+inline Constraint_System_const_iterator&
+Constraint_System_const_iterator::operator++() {
   ++i;
   skip_forward();
   return *this;
 }
 
-inline Constraint_System::const_iterator
-Constraint_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
+inline Constraint_System_const_iterator
+Constraint_System_const_iterator::operator++(int) {
+  const Constraint_System_const_iterator tmp = *this;
   operator++();
   return tmp;
 }
 
 inline bool
-Constraint_System::const_iterator::operator==(const const_iterator& y) const {
+Constraint_System_const_iterator::operator==(const Constraint_System_const_iterator& y) const {
   return i == y.i;
 }
 
 inline bool
-Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
+Constraint_System_const_iterator::operator!=(const Constraint_System_const_iterator& y) const {
   return i != y.i;
 }
 
 inline
-Constraint_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Constraint_System& csys)
-  : i(iter), csp(&csys) {
+Constraint_System_const_iterator::
+Constraint_System_const_iterator(const Linear_System<Constraint>::const_iterator& iter,
+	       const Constraint_System& cs)
+  : i(iter), csp(&cs.sys) {
 }
 
-inline Constraint_System::const_iterator
+inline Constraint_System_const_iterator
 Constraint_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
+  const_iterator i(sys.begin(), *this);
   i.skip_forward();
   return i;
 }
 
-inline Constraint_System::const_iterator
+inline Constraint_System_const_iterator
 Constraint_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
+  const Constraint_System_const_iterator i(sys.end(), *this);
   return i;
 }
 
@@ -179,7 +196,7 @@ Constraint_System::empty() const {
 
 inline void
 Constraint_System::add_low_level_constraints() {
-  if (is_necessarily_closed())
+  if (sys.is_necessarily_closed())
     // The positivity constraint.
     insert(Constraint::zero_dim_positivity());
   else {
@@ -190,37 +207,233 @@ Constraint_System::add_low_level_constraints() {
 }
 
 inline void
-Constraint_System::swap(Constraint_System& y) {
-  Linear_System::swap(y);
+Constraint_System::m_swap(Constraint_System& y) {
+  swap(sys, y.sys);
 }
 
 inline memory_size_type
 Constraint_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
+  return sys.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Constraint_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
 inline void
 Constraint_System::simplify() {
-  Linear_System::simplify();
+  sys.simplify();
 }
 
-} // namespace Parma_Polyhedra_Library
+inline Topology
+Constraint_System::topology() const {
+  return sys.topology();
+}
 
+inline dimension_type
+Constraint_System::num_rows() const {
+  return sys.num_rows();
+}
 
-namespace std {
+inline bool
+Constraint_System::is_necessarily_closed() const {
+  return sys.is_necessarily_closed();
+}
+
+inline dimension_type
+Constraint_System::num_pending_rows() const {
+  return sys.num_pending_rows();
+}
+
+inline dimension_type
+Constraint_System::first_pending_row() const {
+  return sys.first_pending_row();
+}
+
+inline bool
+Constraint_System::is_sorted() const {
+  return sys.is_sorted();
+}
+
+inline void
+Constraint_System::unset_pending_rows() {
+  sys.unset_pending_rows();
+}
+
+inline void
+Constraint_System::set_index_first_pending_row(dimension_type i) {
+  sys.set_index_first_pending_row(i);
+}
+
+inline void
+Constraint_System::set_sorted(bool b) {
+  sys.set_sorted(b);
+}
+
+inline void
+Constraint_System::remove_row(dimension_type i, bool keep_sorted) {
+  sys.remove_row(i, keep_sorted);
+}
+
+inline void
+Constraint_System::remove_rows(dimension_type first, dimension_type last,
+                               bool keep_sorted) {
+  sys.remove_rows(first, last, keep_sorted);
+}
+
+inline void
+Constraint_System::remove_rows(const std::vector<dimension_type>& indexes) {
+  sys.remove_rows(indexes);
+}
+
+inline void
+Constraint_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
+}
+
+inline void
+Constraint_System
+::remove_space_dimensions(const Variables_Set& vars) {
+  sys.remove_space_dimensions(vars);
+}
+
+inline void
+Constraint_System
+::shift_space_dimensions(Variable v, dimension_type n) {
+  sys.shift_space_dimensions(v, n);
+}
+
+inline void
+Constraint_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  sys.permute_space_dimensions(cycle);
+}
+
+inline void
+Constraint_System
+::swap_space_dimensions(Variable v1, Variable v2) {
+  sys.swap_space_dimensions(v1, v2);
+}
+
+inline bool
+Constraint_System::has_no_rows() const {
+  return sys.has_no_rows();
+}
 
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
 inline void
-swap(Parma_Polyhedra_Library::Constraint_System& x,
-     Parma_Polyhedra_Library::Constraint_System& y) {
-  x.swap(y);
+Constraint_System::strong_normalize() {
+  sys.strong_normalize();
 }
 
-} // namespace std
+inline void
+Constraint_System::sort_rows() {
+  sys.sort_rows();
+}
+
+inline void
+Constraint_System::insert_pending(Constraint_System& r, Recycle_Input) {
+  sys.insert_pending(r.sys, Recycle_Input());
+}
+
+inline void
+Constraint_System::insert(Constraint_System& r, Recycle_Input) {
+  sys.insert(r.sys, Recycle_Input());
+}
+
+inline void
+Constraint_System::insert_pending(const Constraint_System& r) {
+  sys.insert_pending(r.sys);
+}
+
+inline void
+Constraint_System::merge_rows_assign(const Constraint_System& y) {
+  sys.merge_rows_assign(y.sys);
+}
+
+inline void
+Constraint_System::insert(const Constraint_System& y) {
+  sys.insert(y.sys);
+}
+
+inline void
+Constraint_System::mark_as_necessarily_closed() {
+  sys.mark_as_necessarily_closed();
+}
+
+inline void
+Constraint_System::mark_as_not_necessarily_closed() {
+  sys.mark_as_not_necessarily_closed();
+}
+
+inline dimension_type
+Constraint_System::gauss(dimension_type n_lines_or_equalities) {
+  return sys.gauss(n_lines_or_equalities);
+}
+
+inline void
+Constraint_System::back_substitute(dimension_type n_lines_or_equalities) {
+  sys.back_substitute(n_lines_or_equalities);
+}
+
+inline void
+Constraint_System::assign_with_pending(const Constraint_System& y) {
+  sys.assign_with_pending(y.sys);
+}
+
+inline void
+Constraint_System::sort_pending_and_remove_duplicates() {
+  sys.sort_pending_and_remove_duplicates();
+}
+
+inline void
+Constraint_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  sys.sort_and_remove_with_sat(sat);
+}
+
+inline bool
+Constraint_System::check_sorted() const {
+  return sys.check_sorted();
+}
+
+inline dimension_type
+Constraint_System::num_lines_or_equalities() const {
+  return sys.num_lines_or_equalities();
+}
+
+inline void
+Constraint_System::add_universe_rows_and_space_dimensions(dimension_type n) {
+  sys.add_universe_rows_and_space_dimensions(n);
+}
+
+inline bool
+operator==(const Constraint_System& x, const Constraint_System& y) {
+  return x.sys == y.sys;
+}
+
+inline bool
+operator!=(const Constraint_System& x, const Constraint_System& y) {
+  return !(x == y);
+}
+
+/*! \relates Constraint_System */
+inline void
+swap(Constraint_System& x, Constraint_System& y) {
+  x.m_swap(y);
+}
+
+namespace Implementation {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline dimension_type
+num_constraints(const Constraint_System& cs) {
+  return static_cast<dimension_type>(std::distance(cs.begin(), cs.end()));
+}
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Constraint_System_inlines_hh)
diff --git a/src/Constraint_System.types.hh b/src/Constraint_System.types.hh
index 11366f8..f990cbf 100644
--- a/src/Constraint_System.types.hh
+++ b/src/Constraint_System.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -16,6 +16,7 @@ PURPOSE. */
 namespace Parma_Polyhedra_Library {
 
 class Constraint_System;
+class Constraint_System_const_iterator;
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/DB_Matrix.defs.hh b/src/DB_Matrix.defs.hh
index 101c197..afe41ea 100644
--- a/src/DB_Matrix.defs.hh
+++ b/src/DB_Matrix.defs.hh
@@ -1,6 +1,6 @@
 /* DB_Matrix class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .  */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Matrix_defs_hh
 #define PPL_DB_Matrix_defs_hh 1
@@ -174,8 +174,7 @@ private:
 
 public:
   //! Swaps \p *this with \p y.
-  void swap(DB_Matrix& y);
-
+  void m_swap(DB_Matrix& y);
 
   //! Makes the matrix grow by adding more rows and more columns.
   /*!
@@ -229,20 +228,14 @@ public:
   bool OK() const;
 };
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
+//! Swaps \p x with \p y.
+/*! \relates DB_Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-void swap(Parma_Polyhedra_Library::DB_Matrix<T>& x,
-	  Parma_Polyhedra_Library::DB_Matrix<T>& y);
-
-} // namespace std
-
-
-namespace Parma_Polyhedra_Library {
+void swap(DB_Matrix<T>& x, DB_Matrix<T>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
@@ -317,12 +310,12 @@ bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename Temp, typename To, typename T>
 bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-				 const DB_Matrix<T>& x,
-				 const DB_Matrix<T>& y,
-				 Rounding_Dir dir,
-				 Temp& tmp0,
-				 Temp& tmp1,
-				 Temp& tmp2);
+                                const DB_Matrix<T>& x,
+                                const DB_Matrix<T>& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/DB_Matrix.inlines.hh b/src/DB_Matrix.inlines.hh
index 794921d..d8cf31f 100644
--- a/src/DB_Matrix.inlines.hh
+++ b/src/DB_Matrix.inlines.hh
@@ -1,6 +1,6 @@
 /* DB_Matrix class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Matrix_inlines_hh
 #define PPL_DB_Matrix_inlines_hh 1
@@ -34,10 +34,11 @@ namespace Parma_Polyhedra_Library {
 
 template <typename T>
 inline void
-DB_Matrix<T>::swap(DB_Matrix& y) {
-  std::swap(rows, y.rows);
-  std::swap(row_size, y.row_size);
-  std::swap(row_capacity, y.row_capacity);
+DB_Matrix<T>::m_swap(DB_Matrix& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(row_size, y.row_size);
+  swap(row_capacity, y.row_capacity);
 }
 
 template <typename T>
@@ -315,20 +316,15 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 								   tmp2);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
+/*! \relates DB_Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::DB_Matrix<T>& x,
-     Parma_Polyhedra_Library::DB_Matrix<T>& y) {
-  x.swap(y);
+swap(DB_Matrix<T>& x, DB_Matrix<T>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_DB_Matrix_inlines_hh)
diff --git a/src/DB_Matrix.templates.hh b/src/DB_Matrix.templates.hh
index 49b8080..e03974d 100644
--- a/src/DB_Matrix.templates.hh
+++ b/src/DB_Matrix.templates.hh
@@ -1,6 +1,6 @@
 /* DB_Matrix class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Matrix_templates_hh
 #define PPL_DB_Matrix_templates_hh 1
@@ -70,9 +70,10 @@ DB_Matrix<T>::grow(const dimension_type new_n_rows) {
 	// Steal the old rows.
 	++i;
 	while (i-- > 0)
-	  new_rows[i].swap(rows[i]);
+	  swap(new_rows[i], rows[i]);
 	// Put the new vector into place.
-	std::swap(rows, new_rows);
+        using std::swap;
+	swap(rows, new_rows);
       }
       else {
 	// Reallocation will NOT take place.
@@ -101,10 +102,10 @@ DB_Matrix<T>::grow(const dimension_type new_n_rows) {
 	DB_Row<T> new_row(rows[i],
 			  new_matrix.row_size,
 			  new_matrix.row_capacity);
-	std::swap(new_matrix.rows[i], new_row);
+	swap(new_matrix.rows[i], new_row);
       }
       // Put the new vector into place.
-      swap(new_matrix);
+      m_swap(new_matrix);
       return;
     }
   }
@@ -123,7 +124,7 @@ DB_Matrix<T>::grow(const dimension_type new_n_rows) {
       for (dimension_type i = old_n_rows; i-- > 0; ) {
 	// FIXME: copying may be unnecessarily costly.
 	DB_Row<T> new_row(rows[i], new_n_rows, new_row_capacity);
-	std::swap(rows[i], new_row);
+	swap(rows[i], new_row);
       }
       row_capacity = new_row_capacity;
     }
@@ -154,9 +155,10 @@ DB_Matrix<T>::resize_no_copy(const dimension_type new_n_rows) {
 	// Steal the old rows.
 	++i;
 	while (i-- > 0)
-	  new_rows[i].swap(rows[i]);
+	  swap(new_rows[i], rows[i]);
 	// Put the new vector into place.
-	std::swap(rows, new_rows);
+        using std::swap;
+	swap(rows, new_rows);
       }
       else {
 	// Reallocation (of vector `rows') will NOT take place.
@@ -170,13 +172,13 @@ DB_Matrix<T>::resize_no_copy(const dimension_type new_n_rows) {
     else {
       // We cannot even recycle the old rows: allocate a new matrix and swap.
       DB_Matrix new_matrix(new_n_rows);
-      swap(new_matrix);
+      m_swap(new_matrix);
       return;
     }
   }
   else if (new_n_rows < old_n_rows) {
     // Drop some rows.
-    rows.erase(rows.begin() + new_n_rows, rows.end());
+    rows.resize(new_n_rows);
     // Shrink the existing rows.
     for (dimension_type i = new_n_rows; i-- > 0; )
       rows[i].shrink(new_n_rows);
@@ -196,7 +198,7 @@ DB_Matrix<T>::resize_no_copy(const dimension_type new_n_rows) {
 	= compute_capacity(new_n_rows, max_num_columns());
       for (dimension_type i = old_n_rows; i-- > 0; ) {
 	DB_Row<T> new_row(new_n_rows, new_row_capacity);
-	std::swap(rows[i], new_row);
+	swap(rows[i], new_row);
       }
       row_capacity = new_row_capacity;
     }
@@ -227,7 +229,7 @@ template <typename T>
 bool
 DB_Matrix<T>::ascii_load(std::istream& s) {
   dimension_type nrows;
-   if (!(s >> nrows))
+  if (!(s >> nrows))
     return false;
   resize_no_copy(nrows);
   DB_Matrix& x = *this;
diff --git a/src/DB_Matrix.types.hh b/src/DB_Matrix.types.hh
index c767bd6..c5f43d5 100644
--- a/src/DB_Matrix.types.hh
+++ b/src/DB_Matrix.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/DB_Row.defs.hh b/src/DB_Row.defs.hh
index 071738c..d5002a3 100644
--- a/src/DB_Row.defs.hh
+++ b/src/DB_Row.defs.hh
@@ -1,6 +1,6 @@
 /* DB_Row class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .*/
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Row_defs_hh
 #define PPL_DB_Row_defs_hh 1
@@ -192,7 +192,7 @@ public:
   DB_Row& operator=(const DB_Row& y);
 
   //! Swaps \p *this with \p y.
-  void swap(DB_Row& y);
+  void m_swap(DB_Row& y);
 
   //! Assigns the implementation of \p y to \p *this.
   void assign(DB_Row& y);
@@ -308,6 +308,21 @@ private:
 namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates DB_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(DB_Row<T>& x, DB_Row<T>& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates DB_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void iter_swap(typename std::vector<DB_Row<T> >::iterator x,
+	       typename std::vector<DB_Row<T> >::iterator y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! \name Classical comparison operators.
 //@{
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
@@ -432,8 +447,10 @@ private:
 
   //! The vector of coefficients.
   T vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+         0
+#else
+         1
 #endif
   ];
 
@@ -447,28 +464,6 @@ private:
   void copy_construct(const Impl& y);
 };
 
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-void swap(Parma_Polyhedra_Library::DB_Row<T>& x,
-	  Parma_Polyhedra_Library::DB_Row<T>& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-void iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	       ::iterator x,
-	       typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	       ::iterator y);
-
-} // namespace std
-
 #include "DB_Row.inlines.hh"
 #include "DB_Row.templates.hh"
 
diff --git a/src/DB_Row.inlines.hh b/src/DB_Row.inlines.hh
index 7db5f22..5522dad 100644
--- a/src/DB_Row.inlines.hh
+++ b/src/DB_Row.inlines.hh
@@ -1,6 +1,6 @@
 /* DB_Row class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Row_inlines_hh
 #define PPL_DB_Row_inlines_hh 1
@@ -37,7 +37,7 @@ template <typename T>
 inline void*
 DB_Row_Impl_Handler<T>::Impl::operator new(const size_t fixed_size,
 					   const dimension_type capacity) {
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   return ::operator new(fixed_size + capacity*sizeof(T));
 #else
   PPL_ASSERT(capacity >= 1);
@@ -64,7 +64,7 @@ DB_Row_Impl_Handler<T>::Impl
   return
     sizeof(*this)
     + capacity*sizeof(T)
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
     - 1*sizeof(T)
 #endif
     + external_memory_in_bytes();
@@ -172,13 +172,13 @@ DB_Row<T>::DB_Row()
 template <typename T>
 inline void
 DB_Row<T>::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 	       const
 #endif
 	       dimension_type capacity) {
   DB_Row<T>& x = *this;
   PPL_ASSERT(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (capacity == 0)
     ++capacity;
 #endif
@@ -257,7 +257,7 @@ template <typename T>
 inline
 DB_Row<T>::DB_Row(const DB_Row& y)
   : DB_Row_Impl_Handler<T>() {
-  if (y.impl) {
+  if (y.impl != 0) {
     allocate(compute_capacity(y.size(), max_size()));
     copy_construct_coefficients(y);
   }
@@ -302,11 +302,12 @@ DB_Row<T>::shrink(const dimension_type new_size) {
 
 template <typename T>
 inline void
-DB_Row<T>::swap(DB_Row& y) {
+DB_Row<T>::m_swap(DB_Row& y) {
+  using std::swap;
   DB_Row<T>& x = *this;
-  std::swap(x.impl, y.impl);
+  swap(x.impl, y.impl);
 #if PPL_DB_ROW_EXTRA_DEBUG
-  std::swap(x.capacity_, y.capacity_);
+  swap(x.capacity_, y.capacity_);
 #endif
 }
 
@@ -323,11 +324,8 @@ DB_Row<T>::assign(DB_Row& y) {
 template <typename T>
 inline DB_Row<T>&
 DB_Row<T>::operator=(const DB_Row& y) {
-  // Copy-construct `tmp' from `y'.
   DB_Row tmp(y);
-  // Swap the implementation of `*this' with the one of `tmp'.
-  swap(tmp);
-  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
+  m_swap(tmp);
   return *this;
 }
 
@@ -410,29 +408,21 @@ operator!=(const DB_Row<T>& x, const DB_Row<T>& y) {
   return !(x == y);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::DB_Row */
+/*! \relates DB_Row */
 template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::DB_Row<T>& x,
-     Parma_Polyhedra_Library::DB_Row<T>& y) {
-  x.swap(y);
+swap(DB_Row<T>& x, DB_Row<T>& y) {
+  x.m_swap(y);
 }
 
-/*! \relates Parma_Polyhedra_Library::DB_Row */
+/*! \relates DB_Row */
 template <typename T>
 inline void
-iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	  ::iterator x,
-	  typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	  ::iterator y) {
+iter_swap(typename std::vector<DB_Row<T> >::iterator x,
+	  typename std::vector<DB_Row<T> >::iterator y) {
   swap(*x, *y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_DB_Row_inlines_hh)
diff --git a/src/DB_Row.templates.hh b/src/DB_Row.templates.hh
index 590ff43..97eec72 100644
--- a/src/DB_Row.templates.hh
+++ b/src/DB_Row.templates.hh
@@ -1,6 +1,6 @@
 /* DB_Row class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_DB_Row_templates_hh
 #define PPL_DB_Row_templates_hh 1
@@ -33,13 +33,13 @@ template <typename U>
 void
 DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
   const dimension_type y_size = y.size();
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0; i < y_size; ++i) {
     construct(vec_[i], y[i], ROUND_UP);
     bump_size();
   }
-#else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#else // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (y_size > 0) {
     assign_r(vec_[0], y[0], ROUND_UP);
     bump_size();
@@ -49,7 +49,7 @@ DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
       bump_size();
     }
   }
-#endif // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#endif // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 }
 
 template <typename T>
@@ -57,7 +57,7 @@ void
 DB_Row_Impl_Handler<T>::
 Impl::expand_within_capacity(const dimension_type new_size) {
   PPL_ASSERT(size() <= new_size && new_size <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (size() == 0 && new_size > 0) {
     // vec_[0] is already constructed: we just need to assign +infinity.
     assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -78,7 +78,7 @@ DB_Row_Impl_Handler<T>::Impl::shrink(dimension_type new_size) {
   PPL_ASSERT(new_size <= old_size);
   // Since ~T() does not throw exceptions, nothing here does.
   set_size(new_size);
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   // Make sure we do not try to destroy vec_[0].
   if (new_size == 0)
     ++new_size;
@@ -93,13 +93,13 @@ template <typename T>
 void
 DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
   const dimension_type y_size = y.size();
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   // Construct in direct order: will destroy in reverse order.
   for (dimension_type i = 0; i < y_size; ++i) {
     new (&vec_[i]) T(y.vec_[i]);
     bump_size();
   }
-#else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#else // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (y_size > 0) {
     vec_[0] = y.vec_[0];
     bump_size();
@@ -109,7 +109,7 @@ DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
       bump_size();
     }
   }
-#endif // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+#endif // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 }
 
 template <typename T>
@@ -138,7 +138,7 @@ DB_Row<T>::OK(const dimension_type row_size,
   bool is_broken = false;
 
 #if PPL_DB_ROW_EXTRA_DEBUG
-# if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+# if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (x.capacity_ == 0) {
     cerr << "Illegal row capacity: is 0, should be at least 1"
 	 << endl;
@@ -148,7 +148,7 @@ DB_Row<T>::OK(const dimension_type row_size,
     // This is fine.
     ;
   else
-# endif // !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+# endif // !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
   if (x.capacity_ != row_capacity) {
     cerr << "DB_Row capacity mismatch: is " << x.capacity_
 	 << ", should be " << row_capacity << "."
diff --git a/src/DB_Row.types.hh b/src/DB_Row.types.hh
index 64c67fa..99303a1 100644
--- a/src/DB_Row.types.hh
+++ b/src/DB_Row.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Dense_Row.cc b/src/Dense_Row.cc
new file mode 100644
index 0000000..3884c1e
--- /dev/null
+++ b/src/Dense_Row.cc
@@ -0,0 +1,571 @@
+/* Dense_Row class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Dense_Row.defs.hh"
+#include "Coefficient.defs.hh"
+#include "assert.hh"
+#include "Sparse_Row.defs.hh"
+#include <iostream>
+#include <iomanip>
+
+namespace PPL = Parma_Polyhedra_Library;
+
+PPL::Dense_Row::Dense_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity) {
+  resize(sz, capacity);
+  for (Sparse_Row::const_iterator i = y.begin(), i_end = y.lower_bound(sz); i != i_end; ++i)
+    (*this)[i.index()] = *i;
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::resize(dimension_type new_size) {
+  if (new_size <= size())
+    shrink(new_size);
+  else {
+    if (new_size > capacity()) {
+      // Reallocation is required.
+      // TODO: Consider using realloc() here.
+      // TODO: Consider using a smarter allocation strategy.
+      const dimension_type new_capacity = new_size;
+      Coefficient* new_vec = impl.coeff_allocator.allocate(new_capacity);
+
+      if (impl.vec != 0) {
+        memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size);
+        impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
+      }
+
+      impl.vec = new_vec;
+      impl.capacity = new_capacity;
+    }
+    PPL_ASSERT(new_size <= impl.capacity);
+    // Construct the additional elements.
+    while (impl.size != new_size) {
+      new (&impl.vec[impl.size]) Coefficient();
+      ++impl.size;
+    }
+  }
+  PPL_ASSERT(size() == new_size);
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::resize(dimension_type new_size, dimension_type new_capacity) {
+  PPL_ASSERT(new_size <= new_capacity);
+
+  if (new_capacity == 0) {
+    destroy();
+    impl.vec = 0;
+    impl.size = 0;
+    impl.capacity = 0;
+
+    PPL_ASSERT(size() == new_size);
+    PPL_ASSERT(capacity() == new_capacity);
+    PPL_ASSERT(OK());
+
+    return;
+  }
+
+  if (new_capacity < capacity()) {
+
+    shrink(new_size);
+
+    PPL_ASSERT(impl.size == new_size);
+
+    Coefficient* new_vec = impl.coeff_allocator.allocate(new_capacity);
+
+    PPL_ASSERT(impl.vec != 0);
+
+    memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size);
+
+    impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
+
+    impl.vec = new_vec;
+    impl.capacity = new_capacity;
+  } else {
+    if (new_capacity > capacity()) {
+
+      Coefficient* new_vec = impl.coeff_allocator.allocate(new_capacity);
+
+      if (impl.vec != 0) {
+        memcpy(new_vec, impl.vec, sizeof(Coefficient) * impl.size);
+        impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
+      }
+
+      impl.vec = new_vec;
+      impl.capacity = new_capacity;
+
+      resize(new_size);
+    }
+  }
+
+  PPL_ASSERT(size() == new_size);
+  PPL_ASSERT(capacity() == new_capacity);
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::clear() {
+  for (iterator i = begin(), i_end = end(); i != i_end; ++i)
+    *i = 0;
+}
+
+void
+PPL::Dense_Row::add_zeroes_and_shift(dimension_type n, dimension_type i) {
+  PPL_ASSERT(i <= size());
+  const dimension_type new_size = size() + n;
+  if (new_size > capacity()) {
+    Dense_Row new_row;
+    const dimension_type new_capacity = compute_capacity(new_size, max_size());
+    // This may throw.
+    new_row.impl.vec = new_row.impl.coeff_allocator.allocate(new_capacity);
+    new_row.impl.capacity = new_capacity;
+
+    dimension_type j = i;
+    try {
+      // Construct coefficients with value 0 in
+      // new_row.impl.vec[i ... i + n - 1]
+      for ( ; j < i + n; ++j)
+        new (&(new_row.impl.vec[j])) Coefficient(0);
+    } catch (...) {
+      // Destroy the zeroes constructed so far.
+      while (j != i) {
+        --j;
+        new_row.impl.vec[j].~Coefficient();
+      }
+      // The new_row's destructor will de-allocate the memory.
+      throw;
+    }
+
+    // Raw-copy the coefficients.
+    memcpy(new_row.impl.vec, impl.vec, sizeof(Coefficient) * i);
+    memcpy(&(new_row.impl.vec[i + n]), &impl.vec[i],
+           sizeof(Coefficient) * (impl.size - i));
+
+    using std::swap;
+    swap(impl.vec, new_row.impl.vec);
+    swap(impl.capacity, new_row.impl.capacity);
+
+    // *this now owns all coefficients, including the newly-added zeroes.
+    impl.size = new_size;
+
+    // The old vec will be de-allocated at the end of this block.
+
+  } else {
+    memmove(&impl.vec[n + i], &impl.vec[i], sizeof(Coefficient)
+            * (impl.size - i));
+    impl.size = i;
+    const dimension_type target_size = impl.size + n;
+    PPL_ASSERT(target_size == i + n);
+    try {
+      // Construct n zeroes where the moved elements resided.
+      while (impl.size != target_size) {
+        new (&impl.vec[impl.size]) Coefficient(0);
+        ++impl.size;
+      }
+      impl.size = new_size;
+    } catch (...) {
+      // impl.vec[impl.size]..impl.vec[target_size-1] are still unconstructed,
+      // but impl.vec[target_size]..impl.vec[new_size] are constructed,
+      // because the memmove() moved already-constructed objects.
+
+      // NOTE: This loop can't throw, because destructors must not throw.
+      for (dimension_type j = target_size; j < new_size; ++j)
+        impl.vec[j].~Coefficient();
+
+      throw;
+    }
+  }
+
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::expand_within_capacity(const dimension_type new_size) {
+  PPL_ASSERT(new_size <= impl.capacity);
+  PPL_ASSERT(size() <= new_size && new_size <= max_size());
+  while (impl.size != new_size) {
+    new (&impl.vec[impl.size]) Coefficient();
+    ++impl.size;
+  }
+  PPL_ASSERT(size() == new_size);
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::shrink(dimension_type new_size) {
+  PPL_ASSERT(new_size <= size());
+  // Since ~Coefficient() does not throw exceptions, nothing here does.
+
+  // We assume construction was done "forward".
+  // We thus perform destruction "backward".
+  while (impl.size != new_size) {
+    --impl.size;
+    impl.vec[impl.size].~Coefficient();
+  }
+
+  PPL_ASSERT(size() == new_size);
+  PPL_ASSERT(OK());
+}
+
+PPL::Dense_Row::Dense_Row(const Sparse_Row& row)
+  : impl() {
+
+  init(row);
+
+  PPL_ASSERT(size() == row.size());
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Dense_Row::init(const Sparse_Row& row) {
+  impl.capacity = row.size();
+  impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+  Sparse_Row::const_iterator itr = row.begin();
+  Sparse_Row::const_iterator itr_end = row.end();
+  while (impl.size != impl.capacity) {
+    // Constructs (*this)[impl.size] with row[impl.size].
+    if (itr != itr_end && itr.index() == impl.size) {
+      new (&impl.vec[impl.size]) Coefficient(*itr);
+      ++itr;
+    } else
+      new (&impl.vec[impl.size]) Coefficient();
+    ++impl.size;
+  }
+  PPL_ASSERT(size() == row.size());
+  PPL_ASSERT(OK());
+}
+
+PPL::Dense_Row&
+PPL::Dense_Row::operator=(const Sparse_Row& row) {
+  if (size() > row.size()) {
+    // TODO: If the shrink() is modified to reallocate a smaller chunk,
+    // this can be optimized.
+    shrink(row.size());
+    Sparse_Row::const_iterator itr = row.begin();
+    Sparse_Row::const_iterator itr_end = row.end();
+    for (dimension_type i = 0; i < impl.size; ++i) {
+      // Computes (*this)[impl.size] = row[impl.size].
+      if (itr != itr_end && itr.index() == i) {
+        impl.vec[impl.size] = *itr;
+        ++itr;
+      } else
+        impl.vec[impl.size] = Coefficient_zero();
+    }
+  } else {
+    if (capacity() >= row.size()) {
+      // size() <= row.size() <= capacity().
+      Sparse_Row::const_iterator itr = row.begin();
+      Sparse_Row::const_iterator itr_end = row.end();
+      for (dimension_type i = 0; i < impl.size; ++i) {
+        // The following code is equivalent to (*this)[i] = row[i].
+        if (itr != itr_end && itr.index() == impl.size) {
+          new (&impl.vec[impl.size]) Coefficient(*itr);
+          ++itr;
+        } else
+          new (&impl.vec[impl.size]) Coefficient();
+      }
+      // Construct the additional elements.
+      for ( ; impl.size != row.size(); ++impl.size) {
+        // Constructs (*this)[impl.size] with row[impl.size].
+        if (itr != itr_end && itr.index() == impl.size) {
+          new (&impl.vec[impl.size]) Coefficient(*itr);
+          ++itr;
+        } else
+          new (&impl.vec[impl.size]) Coefficient();
+      }
+    } else {
+      // Reallocation is required.
+      destroy();
+      init(row);
+    }
+  }
+  PPL_ASSERT(size() == row.size());
+  PPL_ASSERT(OK());
+
+  return *this;
+}
+
+void
+PPL::Dense_Row::normalize() {
+  Dense_Row& x = *this;
+  // Compute the GCD of all the coefficients.
+  const dimension_type sz = size();
+  dimension_type i = sz;
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  while (i > 0) {
+    Coefficient_traits::const_reference x_i = x[--i];
+    if (const int x_i_sign = sgn(x_i)) {
+      gcd = x_i;
+      if (x_i_sign < 0)
+        neg_assign(gcd);
+      goto compute_gcd;
+    }
+  }
+  // We reach this point only if all the coefficients were zero.
+  return;
+
+compute_gcd:
+  if (gcd == 1)
+    return;
+  while (i > 0) {
+    Coefficient_traits::const_reference x_i = x[--i];
+    if (x_i != 0) {
+      // Note: we use the ternary version instead of a more concise
+      // gcd_assign(gcd, x_i) to take advantage of the fact that
+      // `gcd' will decrease very rapidly (see D. Knuth, The Art of
+      // Computer Programming, second edition, Section 4.5.2,
+      // Algorithm C, and the discussion following it).  Our
+      // implementation of gcd_assign(x, y, z) for checked numbers is
+      // optimized for the case where `z' is smaller than `y', so that
+      // on checked numbers we gain.  On the other hand, for the
+      // implementation of gcd_assign(x, y, z) on GMP's unbounded
+      // integers we cannot make any assumption, so here we draw.
+      // Overall, we win.
+      gcd_assign(gcd, x_i, gcd);
+      if (gcd == 1)
+        return;
+    }
+  }
+  // Divide the coefficients by the GCD.
+  for (dimension_type j = sz; j-- > 0; ) {
+    Coefficient& x_j = x[j];
+    exact_div_assign(x_j, x_j, gcd);
+  }
+}
+
+void
+PPL::Dense_Row::reset(dimension_type first, dimension_type last) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= size());
+  for (dimension_type i = first; i < last; ++i)
+    (*this)[i] = 0;
+}
+
+void
+PPL::Dense_Row::linear_combine(const Dense_Row& y,
+                               Coefficient_traits::const_reference coeff1,
+                               Coefficient_traits::const_reference coeff2) {
+  Dense_Row& x = *this;
+  PPL_ASSERT(x.size() == y.size());
+
+  x.linear_combine(y, coeff1, coeff2, 0, x.size());
+}
+
+void
+PPL::Dense_Row::linear_combine(const Dense_Row& y,
+                               Coefficient_traits::const_reference coeff1,
+                               Coefficient_traits::const_reference coeff2,
+                               dimension_type start, dimension_type end) {
+  Dense_Row& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.size());
+  PPL_ASSERT(end <= y.size());
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+
+  // If coeff1 is 1 and/or coeff2 is 1 or -1, we use an optimized
+  // implementation.
+
+  if (coeff1 == 1) {
+    if (coeff2 == 1) {
+      // Optimized implementation for coeff1==1, coeff2==1.
+      for (dimension_type i = start; i < end; ++i)
+        if (y[i] != 0)
+          x[i] += y[i];
+      return;
+    }
+    if (coeff2 == -1) {
+      // Optimized implementation for coeff1==1, coeff2==-1.
+      for (dimension_type i = start; i < end; ++i)
+        if (y[i] != 0)
+          x[i] -= y[i];
+      return;
+    }
+    // Optimized implementation for coeff1==1.
+    for (dimension_type i = start; i < end; ++i) {
+      Coefficient& x_i = x[i];
+      // The test against 0 gives rise to a consistent speed up: see
+      // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/014000.html
+      Coefficient_traits::const_reference y_i = y[i];
+      if (y_i != 0)
+        add_mul_assign(x_i, y_i, coeff2);
+    }
+    return;
+  }
+
+  if (coeff2 == 1) {
+    // Optimized implementation for coeff2==1.
+    for (dimension_type i = start; i < end; ++i) {
+      x[i] *= coeff1;
+      if (y[i] != 0)
+        x[i] += y[i];
+    }
+    return;
+  }
+  if (coeff2 == -1) {
+    // Optimized implementation for coeff2==-1.
+    for (dimension_type i = start; i < end; ++i) {
+      x[i] *= coeff1;
+      if (y[i] != 0)
+        x[i] -= y[i];
+    }
+    return;
+  }
+  // General case.
+  for (dimension_type i = start; i < end; ++i) {
+    Coefficient& x_i = x[i];
+    x[i] *= coeff1;
+    // The test against 0 gives rise to a consistent speed up: see
+    // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/014000.html
+    Coefficient_traits::const_reference y_i = y[i];
+    if (y_i != 0)
+      add_mul_assign(x_i, y_i, coeff2);
+  }
+}
+
+void
+PPL::Dense_Row::ascii_dump(std::ostream& s) const {
+  const Dense_Row& x = *this;
+  const dimension_type x_size = x.size();
+  s << "size " << x_size << " ";
+  for (dimension_type i = 0; i < x_size; ++i)
+    s << x[i] << ' ';
+  s << "\n";
+}
+
+PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Dense_Row)
+
+bool
+PPL::Dense_Row::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "size")
+    return false;
+  dimension_type new_size;
+  if (!(s >> new_size))
+    return false;
+
+  resize(new_size);
+
+  for (dimension_type col = 0; col < new_size; ++col)
+    if (!(s >> (*this)[col]))
+      return false;
+
+  return true;
+}
+
+PPL::memory_size_type
+PPL::Dense_Row::external_memory_in_bytes(dimension_type /* capacity */) const {
+  return external_memory_in_bytes();
+}
+
+PPL::memory_size_type
+PPL::Dense_Row::external_memory_in_bytes() const {
+  memory_size_type n = impl.capacity * sizeof(Coefficient);
+  for (dimension_type i = size(); i-- > 0; )
+    n += PPL::external_memory_in_bytes(impl.vec[i]);
+  return n;
+}
+
+bool
+PPL::Dense_Row::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+
+  bool is_broken = false;
+
+  if (impl.capacity > max_size()) {
+#ifndef NDEBUG
+    cerr << "Dense_Row capacity exceeds the maximum allowed size:" << endl
+         << "is " << impl.capacity
+         << ", should be less than or equal to " << max_size() << "."
+         << endl;
+#endif
+    is_broken = true;
+  }
+
+  if (size() > max_size()) {
+#ifndef NDEBUG
+    cerr << "Dense_Row size exceeds the maximum allowed size:" << endl
+         << "is " << size()
+         << ", should be less than or equal to " << max_size() << "." << endl;
+#endif
+    is_broken = true;
+  }
+
+  if (impl.capacity < size()) {
+#ifndef NDEBUG
+    cerr << "Dense_Row is completely broken: capacity is " << impl.capacity
+         << ", size is " << size() << "." << endl;
+#endif
+    is_broken = true;
+  }
+
+  if (capacity() == 0) {
+    if (impl.vec != 0)
+      is_broken = true;
+  } else {
+    if (impl.vec == 0)
+      is_broken = true;
+  }
+
+  return !is_broken;
+}
+
+bool
+PPL::Dense_Row::OK(const dimension_type row_size) const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+
+  bool is_broken = !OK();
+
+  // Check the declared size.
+  if (size() != row_size) {
+#ifndef NDEBUG
+    cerr << "Dense_Row size mismatch: is " << size()
+         << ", should be " << row_size << "." << endl;
+#endif
+    is_broken = true;
+  }
+  return !is_broken;
+}
+
+/*! \relates Parma_Polyhedra_Library::Dense_Row */
+bool
+PPL::operator==(const Dense_Row& x, const Dense_Row& y) {
+  const dimension_type x_size = x.size();
+  const dimension_type y_size = y.size();
+
+  if (x_size != y_size)
+    return false;
+
+  for (dimension_type i = x_size; i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+
+  return true;
+}
diff --git a/src/Dense_Row.defs.hh b/src/Dense_Row.defs.hh
new file mode 100644
index 0000000..e841d32
--- /dev/null
+++ b/src/Dense_Row.defs.hh
@@ -0,0 +1,561 @@
+/* Dense_Row class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Dense_Row_defs_hh
+#define PPL_Dense_Row_defs_hh 1
+
+#include "Dense_Row.types.hh"
+
+#include "globals.defs.hh"
+
+#include "Sparse_Row.types.hh"
+#include "Coefficient.defs.hh"
+#include <memory>
+#include <vector>
+#include <limits>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A finite sequence of coefficients.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Dense_Row {
+public:
+  class iterator;
+  class const_iterator;
+
+  //! Constructs an empty row.
+  Dense_Row();
+
+  explicit Dense_Row(const Sparse_Row& row);
+
+  //! Tight constructor: resizing may require reallocation.
+  /*!
+    Constructs a row with size and capacity \p sz.
+  */
+  Dense_Row(dimension_type sz);
+
+  //! Sizing constructor with capacity.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
+
+    \param capacity
+    The capacity of the row that will be constructed;
+
+    The row that is constructed has storage for \p capacity elements,
+    \p sz of which are default-constructed now.
+  */
+  Dense_Row(dimension_type sz, dimension_type capacity);
+
+  //! Ordinary copy constructor.
+  Dense_Row(const Dense_Row& y);
+
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to
+    the size of \p y.
+  */
+  Dense_Row(const Dense_Row& y, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Dense_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity from a Sparse_Row.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Dense_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Destructor.
+  ~Dense_Row();
+
+  //! Assignment operator.
+  Dense_Row& operator=(const Dense_Row& y);
+
+  //! Assignment operator.
+  Dense_Row& operator=(const Sparse_Row& y);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Dense_Row& y);
+
+  //! Resizes the row to \p sz.
+  void resize(dimension_type sz);
+
+  //! Resizes the row to \p sz, with capacity \p capacity.
+  void resize(dimension_type sz, dimension_type capacity);
+
+  //! Resets all the elements of this row.
+  void clear();
+
+  //! Adds \p n zeroes before index \p i.
+  /*!
+    \param n
+    The number of zeroes that will be added to the row.
+
+    \param i
+    The index of the element before which the zeroes will be added.
+
+    Existing elements with index greater than or equal to \p i are shifted
+    to the right by \p n positions. The size is increased by \p n.
+
+    Existing iterators are invalidated.
+  */
+  void add_zeroes_and_shift(dimension_type n, dimension_type i);
+
+  //! Expands the row to size \p new_size.
+  /*!
+    Adds new positions to the implementation of the row
+    obtaining a new row with size \p new_size.
+    It is assumed that \p new_size is between the current size
+    and capacity of the row.
+  */
+  void expand_within_capacity(dimension_type new_size);
+
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    Destroys elements of the row implementation
+    from position \p new_size to the end.
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
+
+  //! Returns the size() of the largest possible Dense_Row.
+  static dimension_type max_size();
+
+  //! Gives the number of coefficients currently in use.
+  dimension_type size() const;
+
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
+
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  //@} // Subscript operators
+
+  //! Normalizes the modulo of coefficients so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the elements of
+    the row and normalizes them by the GCD itself.
+  */
+  void normalize();
+
+  //! Swaps the i-th element with the j-th element.
+  //! Provided for compatibility with Sparse_Row
+  void swap_coefficients(dimension_type i, dimension_type j);
+
+  //! Swaps the element pointed to by i with the element pointed to by j.
+  //! Provided for compatibility with Sparse_Row
+  void swap_coefficients(iterator i, iterator j);
+
+  iterator begin();
+  const_iterator begin() const;
+
+  iterator end();
+  const_iterator end() const;
+
+  //! Resets the i-th element to 0.
+  //! Provided for compatibility with Sparse_Row
+  void reset(dimension_type i);
+
+  //! Resets the elements [first,last) to 0.
+  //! Provided for compatibility with Sparse_Row
+  void reset(dimension_type first, dimension_type last);
+
+  //! Resets the element pointed to by itr to 0.
+  //! Provided for compatibility with Sparse_Row.
+  iterator reset(iterator itr);
+
+  //! Gets the i-th element.
+  //! Provided for compatibility with Sparse_Row.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator find(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator find(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator find(iterator itr, dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator find(const_iterator itr, dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator lower_bound(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator lower_bound(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator lower_bound(iterator itr, dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator lower_bound(const_iterator itr, dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(dimension_type i, Coefficient_traits::const_reference x);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(iterator itr, dimension_type i,
+                       Coefficient_traits::const_reference x);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(iterator itr, dimension_type i);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_second
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_first(const Dense_Row& y,
+                           const Func1& f, const Func2& g);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, 0) must do nothing, for every c1.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_second(const Dense_Row& y,
+                            const Func1& g, const Func2& h);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when both c1 and c2 are zero.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine_needs_second
+  */
+  template <typename Func1, typename Func2, typename Func3>
+  void combine(const Dense_Row& y,
+               const Func1& f, const Func2& g, const Func3& h);
+
+  //! Executes <CODE>(*this)[i] = (*this)[i]*coeff1 + y[i]*coeff2</CODE>, for
+  //! each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param coeff1
+    The coefficient used for elements of *this.
+    It must not be 0.
+
+    \param coeff2
+    The coefficient used for elements of y.
+    It must not be 0.
+
+    This method takes \f$O(n)\f$ time.
+
+    \see combine_needs_first
+    \see combine_needs_second
+    \see combine
+  */
+  void linear_combine(const Dense_Row& y,
+                      Coefficient_traits::const_reference coeff1,
+                      Coefficient_traits::const_reference coeff2);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  /*!
+    This method detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+    order to save some work.
+
+    coeff1 and coeff2 must not be 0.
+  */
+  void linear_combine(const Dense_Row& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+  
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns the total size in bytes of the memory occupied by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+
+  /*! \brief
+    Returns the size in bytes of the memory managed by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  /*! \brief
+    Checks if all the invariants are satisfied and that the actual
+    size matches the value provided as argument.
+  */
+  bool OK(dimension_type row_size) const;
+
+private:
+  void init(const Sparse_Row& row);
+
+  void destroy();
+
+  struct Impl {
+
+    Impl();
+
+    ~Impl();
+
+    //! The number of coefficients in the row.
+    dimension_type size;
+
+    //! The capacity of the row.
+    dimension_type capacity;
+
+    //! The allocator used to allocate/deallocate vec.
+    std::allocator<Coefficient> coeff_allocator;
+
+    //! The vector of coefficients.
+    //! An empty vector may be stored as NULL instead of using a valid pointer.
+    Coefficient* vec;
+  };
+
+  Impl impl;
+
+  //! Returns the capacity of the row.
+  dimension_type capacity() const;
+};
+
+class Parma_Polyhedra_Library::Dense_Row::iterator {
+public:
+
+  typedef std::bidirectional_iterator_tag iterator_category;
+  typedef Coefficient value_type;
+  typedef ptrdiff_t difference_type;
+  typedef value_type* pointer;
+  typedef value_type& reference;
+
+  iterator();
+  iterator(Dense_Row& row1, dimension_type i1);
+
+  Coefficient& operator*();
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    If itr is a valid iterator for row, <CODE>row[itr.index()]</CODE> is
+    equivalent to *itr.
+
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  iterator& operator++();
+  iterator operator++(int);
+
+  iterator& operator--();
+  iterator operator--(int);
+
+  bool operator==(const iterator& x) const;
+  bool operator!=(const iterator& x) const;
+
+  operator const_iterator() const;
+
+  bool OK() const;
+
+private:
+  Dense_Row* row;
+  dimension_type i;
+};
+
+class Parma_Polyhedra_Library::Dense_Row::const_iterator {
+public:
+
+  typedef const Coefficient value_type;
+  typedef ptrdiff_t difference_type;
+  typedef value_type* pointer;
+  typedef Coefficient_traits::const_reference reference;
+
+  const_iterator();
+  const_iterator(const Dense_Row& row1, dimension_type i1);
+
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    If itr is a valid iterator for row, <CODE>row[itr.index()]</CODE> is
+    equivalent to *itr.
+
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  const_iterator& operator++();
+  const_iterator operator++(int);
+
+  const_iterator& operator--();
+  const_iterator operator--(int);
+
+  bool operator==(const const_iterator& x) const;
+  bool operator!=(const const_iterator& x) const;
+
+  bool OK() const;
+
+private:
+  const Dense_Row* row;
+  dimension_type i;
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Dense_Row& x, Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void iter_swap(std::vector<Dense_Row>::iterator x,
+               std::vector<Dense_Row>::iterator y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Dense_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Dense_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Dense_Row.inlines.hh"
+#include "Dense_Row.templates.hh"
+
+#endif // !defined(PPL_Dense_Row_defs_hh)
diff --git a/src/Dense_Row.inlines.hh b/src/Dense_Row.inlines.hh
new file mode 100644
index 0000000..e562e4c
--- /dev/null
+++ b/src/Dense_Row.inlines.hh
@@ -0,0 +1,531 @@
+/* Dense_Row class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Dense_Row_inlines_hh
+#define PPL_Dense_Row_inlines_hh 1
+
+#include "assert.hh"
+#include <cstddef>
+#include <limits>
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Dense_Row::Impl::Impl()
+  : size(0), capacity(0), coeff_allocator(), vec(0) {
+}
+
+inline
+Dense_Row::Impl::~Impl() {
+  while (size != 0) {
+    --size;
+    vec[size].~Coefficient();
+  }
+  coeff_allocator.deallocate(vec, capacity);
+}
+
+inline dimension_type
+Dense_Row::max_size() {
+  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
+}
+
+inline dimension_type
+Dense_Row::size() const {
+  return impl.size;
+}
+
+inline dimension_type
+Dense_Row::capacity() const {
+  return impl.capacity;
+}
+
+inline
+Dense_Row::Dense_Row()
+  : impl() {
+
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const dimension_type sz,
+                     const dimension_type capacity)
+  : impl() {
+
+  resize(sz, capacity);
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const dimension_type sz)
+  : impl() {
+
+  resize(sz);
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y)
+  : impl() {
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  if (y.impl.vec != 0) {
+    impl.capacity = y.capacity();
+    impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+    while (impl.size != y.size()) {
+      new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+      ++impl.size;
+    }
+  }
+  PPL_ASSERT(size() == y.size());
+  PPL_ASSERT(capacity() == y.capacity());
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y,
+                     const dimension_type capacity)
+  : impl() {
+  PPL_ASSERT(y.size() <= capacity);
+  PPL_ASSERT(capacity <= max_size());
+
+  impl.capacity = capacity;
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+
+  if (y.impl.vec != 0) {
+    while (impl.size != y.size()) {
+      new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+      ++impl.size;
+    }
+  }
+
+  PPL_ASSERT(size() == y.size());
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y,
+                     const dimension_type sz,
+                     const dimension_type capacity)
+  : impl() {
+  PPL_ASSERT(sz <= capacity);
+  PPL_ASSERT(capacity <= max_size());
+  PPL_ASSERT(capacity != 0);
+
+  impl.capacity = capacity;
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+
+  const dimension_type n = std::min(sz, y.size());
+  while (impl.size != n) {
+    new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+    ++impl.size;
+  }
+  while (impl.size != sz) {
+    new (&impl.vec[impl.size]) Coefficient();
+    ++impl.size;
+  }
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::~Dense_Row() {
+  // The `impl' field will be destroyed automatically.
+}
+
+inline void
+Dense_Row::destroy() {
+  resize(0);
+  impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
+}
+
+inline void
+Dense_Row::m_swap(Dense_Row& y) {
+  using std::swap;
+  swap(impl.size, y.impl.size);
+  swap(impl.capacity, y.impl.capacity);
+  swap(impl.coeff_allocator, y.impl.coeff_allocator);
+  swap(impl.vec, y.impl.vec);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
+}
+
+inline Dense_Row&
+Dense_Row::operator=(const Dense_Row& y) {
+
+  if (this != &y && size() == y.size()) {
+    // Avoid reallocation.
+
+    for (dimension_type i = size(); i-- > 0; )
+      (*this)[i] = y[i];
+
+    return *this;
+  }
+
+  Dense_Row x(y);
+  swap(*this, x);
+
+  return *this;
+}
+
+inline Coefficient&
+Dense_Row::operator[](const dimension_type k) {
+  PPL_ASSERT(impl.vec != 0);
+  PPL_ASSERT(k < size());
+  return impl.vec[k];
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::operator[](const dimension_type k) const {
+  PPL_ASSERT(impl.vec != 0);
+  PPL_ASSERT(k < size());
+  return impl.vec[k];
+}
+
+inline void
+Dense_Row::swap_coefficients(dimension_type i, dimension_type j) {
+  std::swap((*this)[i], (*this)[j]);
+}
+
+inline void
+Dense_Row::swap_coefficients(iterator i, iterator j) {
+  std::swap(*i, *j);
+}
+
+inline void
+Dense_Row::reset(dimension_type i) {
+  (*this)[i] = 0;
+}
+
+inline Dense_Row::iterator
+Dense_Row::reset(iterator itr) {
+  *itr = 0;
+  ++itr;
+  return itr;
+}
+
+inline Dense_Row::iterator
+Dense_Row::begin() {
+  return iterator(*this, 0);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::begin() const {
+  return const_iterator(*this, 0);
+}
+
+inline Dense_Row::iterator
+Dense_Row::end() {
+  return iterator(*this, size());
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::end() const {
+  return const_iterator(*this, size());
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::get(dimension_type i) const {
+  return (*this)[i];
+}
+
+inline Dense_Row::iterator
+Dense_Row::find(dimension_type i) {
+  return iterator(*this, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::find(dimension_type i) const {
+  return const_iterator(*this, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::find(iterator itr, dimension_type i) {
+  (void)itr;
+  return iterator(*this, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::find(const_iterator itr, dimension_type i) const {
+  (void)itr;
+  return const_iterator(*this, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::lower_bound(dimension_type i) {
+  return find(i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::lower_bound(dimension_type i) const {
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::lower_bound(iterator itr, dimension_type i) {
+  return find(itr, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::lower_bound(const_iterator itr, dimension_type i) const {
+  return find(itr, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(dimension_type i,
+                  Coefficient_traits::const_reference x) {
+  (*this)[i] = x;
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(dimension_type i) {
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(iterator itr, dimension_type i,
+                  Coefficient_traits::const_reference x) {
+  (void)itr;
+  (*this)[i] = x;
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(iterator itr, dimension_type i) {
+  (void)itr;
+  return find(i);
+}
+
+inline memory_size_type
+Dense_Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline memory_size_type
+Dense_Row::total_memory_in_bytes(dimension_type capacity) const {
+  return sizeof(*this) + external_memory_in_bytes(capacity);
+}
+
+/*! \relates Dense_Row */
+inline bool
+operator!=(const Dense_Row& x, const Dense_Row& y) {
+  return !(x == y);
+}
+
+
+inline
+Dense_Row::iterator::iterator()
+  : row(NULL), i(0) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::iterator::iterator(Dense_Row& row1,dimension_type i1)
+  : row(&row1), i(i1) {
+  PPL_ASSERT(OK());
+}
+
+inline Coefficient&
+Dense_Row::iterator::operator*() {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::iterator::operator*() const {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline dimension_type
+Dense_Row::iterator::index() const {
+  return i;
+}
+
+inline Dense_Row::iterator&
+Dense_Row::iterator::operator++() {
+  PPL_ASSERT(i < row->size());
+  ++i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::iterator
+Dense_Row::iterator::operator++(int) {
+  iterator tmp(*this);
+  ++(*this);
+  return tmp;
+}
+
+inline Dense_Row::iterator&
+Dense_Row::iterator::operator--() {
+  PPL_ASSERT(i > 0);
+  --i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::iterator
+Dense_Row::iterator::operator--(int) {
+  iterator tmp(*this);
+  --(*this);
+  return tmp;
+}
+
+inline bool
+Dense_Row::iterator::operator==(const iterator& x) const {
+  return (row == x.row) && (i == x.i);
+}
+
+inline bool
+Dense_Row::iterator::operator!=(const iterator& x) const {
+  return !(*this == x);
+}
+
+inline
+Dense_Row::iterator::operator const_iterator() const {
+  return const_iterator(*row, i);
+}
+
+inline bool
+Dense_Row::iterator::OK() const {
+  if (row == NULL)
+    return true;
+  // i can be equal to row.size() for past-the-end iterators
+  return (i <= row->size());
+}
+
+
+inline
+Dense_Row::const_iterator::const_iterator()
+  : row(NULL), i(0) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::const_iterator::const_iterator(const Dense_Row& row1,
+                                          dimension_type i1)
+  : row(&row1), i(i1) {
+  PPL_ASSERT(OK());
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::const_iterator::operator*() const {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline dimension_type
+Dense_Row::const_iterator::index() const {
+  return i;
+}
+
+inline Dense_Row::const_iterator&
+Dense_Row::const_iterator::operator++() {
+  PPL_ASSERT(i < row->size());
+  ++i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::const_iterator::operator++(int) {
+  const_iterator tmp(*this);
+  ++(*this);
+  return tmp;
+}
+
+inline Dense_Row::const_iterator&
+Dense_Row::const_iterator::operator--() {
+  PPL_ASSERT(i > 0);
+  --i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::const_iterator::operator--(int) {
+  const_iterator tmp(*this);
+  --(*this);
+  return tmp;
+}
+
+inline bool
+Dense_Row::const_iterator::operator==(const const_iterator& x) const {
+  return (row == x.row) && (i == x.i);
+}
+
+inline bool
+Dense_Row::const_iterator::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+inline bool
+Dense_Row::const_iterator::OK() const {
+  if (row == NULL)
+    return true;
+  // i can be equal to row.size() for past-the-end iterators
+  return (i <= row->size());
+}
+
+inline void
+linear_combine(Dense_Row& x, const Dense_Row& y,
+               Coefficient_traits::const_reference coeff1,
+               Coefficient_traits::const_reference coeff2) {
+  x.linear_combine(y, coeff1, coeff2);
+}
+
+inline void
+linear_combine(Dense_Row& x, const Dense_Row& y,
+               Coefficient_traits::const_reference c1,
+               Coefficient_traits::const_reference c2,
+               dimension_type start, dimension_type end) {
+  x.linear_combine(y, c1, c2, start, end);
+}
+
+/*! \relates Dense_Row */
+inline void
+swap(Dense_Row& x, Dense_Row& y) {
+  x.m_swap(y);
+}
+
+/*! \relates Dense_Row */
+inline void
+iter_swap(std::vector<Dense_Row>::iterator x,
+          std::vector<Dense_Row>::iterator y) {
+  swap(*x, *y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Dense_Row_inlines_hh)
diff --git a/src/Dense_Row.templates.hh b/src/Dense_Row.templates.hh
new file mode 100644
index 0000000..3517bf1
--- /dev/null
+++ b/src/Dense_Row.templates.hh
@@ -0,0 +1,56 @@
+/* Dense_Row class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Dense_Row_templates_hh
+#define PPL_Dense_Row_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+
+template <typename Func1, typename Func2>
+void
+Dense_Row::combine_needs_first(const Dense_Row& y, const Func1& /* f */,
+                               const Func2& g) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+template <typename Func1, typename Func2>
+void
+Dense_Row::combine_needs_second(const Dense_Row& y, const Func1& g,
+                                const Func2& /* h */) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+template <typename Func1, typename Func2, typename Func3>
+void
+Dense_Row::combine(const Dense_Row& y, const Func1& /* f */, const Func2& g,
+                   const Func3& /* h */) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Dense_Row_templates_hh)
diff --git a/src/Dense_Row.types.hh b/src/Dense_Row.types.hh
new file mode 100644
index 0000000..686efa8
--- /dev/null
+++ b/src/Dense_Row.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Dense_Row_types_hh
+#define PPL_Dense_Row_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Dense_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Dense_Row_types_hh)
diff --git a/src/Determinate.defs.hh b/src/Determinate.defs.hh
index 668f9e7..86291f8 100644
--- a/src/Determinate.defs.hh
+++ b/src/Determinate.defs.hh
@@ -1,6 +1,6 @@
 /* Determinate class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Determinate_defs_hh
 #define PPL_Determinate_defs_hh
@@ -34,6 +34,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+//! Swaps \p x with \p y.
+/*! \relates Determinate */
+template <typename PSET>
+void swap(Determinate<PSET>& x, Determinate<PSET>& y);
+
 /*! \brief
   Returns <CODE>true</CODE> if and only if \p x and \p y are the same
   COW-wrapped pointset.
@@ -83,9 +88,9 @@ public:
   //@{
 
   /*! \brief
-    Constructs a COW-wrapped object corresponding to the pointset \p p.
+    Constructs a COW-wrapped object corresponding to the pointset \p pset.
   */
-  Determinate(const PSET& p);
+  Determinate(const PSET& pset);
 
   /*! \brief
     Constructs a COW-wrapped object corresponding to the pointset
@@ -191,7 +196,7 @@ public:
   Determinate& operator=(const Determinate& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Determinate& y);
+  void m_swap(Determinate& y);
 
   //@} // Member Functions that May Modify the Domain Element
 
@@ -321,17 +326,6 @@ private:
   operator!=<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
 };
 
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PSET>
-void swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
-	  Parma_Polyhedra_Library::Determinate<PSET>& y);
-
-} // namespace std
-
 #include "Determinate.inlines.hh"
 
 #endif // !defined(PPL_Determinate_defs_hh)
diff --git a/src/Determinate.inlines.hh b/src/Determinate.inlines.hh
index 8b155f5..4915f34 100644
--- a/src/Determinate.inlines.hh
+++ b/src/Determinate.inlines.hh
@@ -1,6 +1,6 @@
 /* Determinate class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Determinate_inlines_hh
 #define PPL_Determinate_inlines_hh 1
@@ -136,8 +136,9 @@ Determinate<PSET>::operator=(const Determinate& y) {
 
 template <typename PSET>
 inline void
-Determinate<PSET>::swap(Determinate& y) {
-  std::swap(prep, y.prep);
+Determinate<PSET>::m_swap(Determinate& y) {
+  using std::swap;
+  swap(prep, y.prep);
 }
 
 template <typename PSET>
@@ -292,19 +293,13 @@ Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
   return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Determinate */
+/*! \relates Determinate */
 template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
-     Parma_Polyhedra_Library::Determinate<PSET>& y) {
-  x.swap(y);
+swap(Determinate<PSET>& x, Determinate<PSET>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Determinate_inlines_hh)
diff --git a/src/Determinate.types.hh b/src/Determinate.types.hh
index 502263d..9619fdb 100644
--- a/src/Determinate.types.hh
+++ b/src/Determinate.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Difference_Floating_Point_Expression.defs.hh b/src/Difference_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..00cfa24
--- /dev/null
+++ b/src/Difference_Floating_Point_Expression.defs.hh
@@ -0,0 +1,221 @@
+/* Declarations for the Difference_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Difference_Floating_Point_Expression_defs_hh
+#define PPL_Difference_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Difference_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Difference_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void
+swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Difference Floating Point Expression.
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of difference floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adlf\f$ two sound abstract
+  operators on linear form such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \adifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$e_{1} \ominus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,  we construct the interval linear form
+  \f$\linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  on \f$\cV\f$ as follows:
+  \f[
+  \linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Difference_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the difference floating point
+    expression corresponding to \p x \f$\ominus\f$ \p y.
+  */
+  Difference_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
+
+  //! Destructor.
+  ~Difference_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Difference_Floating_Point_Expression<FP_Interval_Type,
+                                                   FP_Format>& y);
+
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Difference_Floating_Point_Expression(
+         const Difference_Floating_Point_Expression<FP_Interval_Type,
+                                                    FP_Format>& e);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited asssignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Difference_Floating_Point_Expression<FP_Interval_Type,
+	                                               FP_Format>& e);
+
+
+}; // class Difference_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Difference_Floating_Point_Expression.inlines.hh"
+#include "Difference_Floating_Point_Expression.templates.hh"
+
+#endif // !defined(PPL_Difference_Floating_Point_Expression_defs_hh)
diff --git a/src/Difference_Floating_Point_Expression.inlines.hh b/src/Difference_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..63dc958
--- /dev/null
+++ b/src/Difference_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,70 @@
+/* Difference_Floating_Point_Expression class implementation: inline
+   functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Difference_Floating_Point_Expression_inlines_hh
+#define PPL_Difference_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Difference_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y){
+  assert(x != 0);
+  assert(y != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Difference_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
+
+/*! \relates Difference_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Difference_Floating_Point_Expression_inlines_hh)
diff --git a/src/Difference_Floating_Point_Expression.templates.hh b/src/Difference_Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..03d0ae0
--- /dev/null
+++ b/src/Difference_Floating_Point_Expression.templates.hh
@@ -0,0 +1,53 @@
+/* Difference_Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Difference_Floating_Point_Expression_templates_hh
+#define PPL_Difference_Floating_Point_Expression_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                      linearized_second_operand))
+    return false;
+  result -= linearized_second_operand;
+  relative_error(linearized_second_operand, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Difference_Floating_Point_Expression_templates_hh)
diff --git a/src/Difference_Floating_Point_Expression.types.hh b/src/Difference_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..5e228e4
--- /dev/null
+++ b/src/Difference_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Difference_Floating_Point_Expression_types_hh
+#define PPL_Difference_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Difference_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Difference_Floating_Point_Expression_types_hh)
diff --git a/src/Division_Floating_Point_Expression.defs.hh b/src/Division_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..623b9e6
--- /dev/null
+++ b/src/Division_Floating_Point_Expression.defs.hh
@@ -0,0 +1,238 @@
+/* Declarations for the Division_Floating_Point_Expression class and its
+   constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Division_Floating_Point_Expression_defs_hh
+#define PPL_Division_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Division_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Division_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+	  Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Division Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearizationd of division floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adivlf\f$ two sound abstract
+  operator on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adivlf
+  i'
+  =
+  \left(i \adivifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adivifp i'\right)v.
+  \f]
+  Given an expression \f$e_{1} \oslash [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,
+  we construct the interval linear form
+  \f$
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  \f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adivlf
+  [a, b]\right)
+  \aslf
+  \left(\varepsilon_{\mathbf{f}}\left(
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \adivlf
+  [a, b]\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1],
+  \f]
+  given an expression \f$e_{1} \oslash e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1} \oslash \iota\left(
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$, \f$\iota(l)\rho^{\#}\f$ is the linear form computed by calling
+  method <CODE>Floating_Point_Expression::intervalize</CODE> on \f$l\f$
+  and \f$\rho^{\#}\f$, and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Division_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the division floating point
+    expression corresponding to \p num \f$\oslash\f$ \p den.
+  */
+  Division_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const num,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const den);
+
+  //! Destructor.
+  ~Division_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Division_Floating_Point_Expression<FP_Interval_Type,
+	                                         FP_Format>& y);
+
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Copy constructor: temporary inhibited.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Division_Floating_Point_Expression(
+         const Division_Floating_Point_Expression<FP_Interval_Type,
+                                                  FP_Format>& e);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Assignment operator: temporary inhibited.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Division_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
+
+
+}; // class Division_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Division_Floating_Point_Expression.inlines.hh"
+#include "Division_Floating_Point_Expression.templates.hh"
+
+#endif // !defined(PPL_Division_Floating_Point_Expression_defs_hh)
diff --git a/src/Division_Floating_Point_Expression.inlines.hh b/src/Division_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..7f6de8d
--- /dev/null
+++ b/src/Division_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,69 @@
+/* Division_Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Division_Floating_Point_Expression_inlines_hh
+#define PPL_Division_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Division_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const num,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const den)
+  : first_operand(num), second_operand(den) {
+  assert(num != 0);
+  assert(den != 0);
+ }
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Division_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
+
+/*! \relates Division_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Division_Floating_Point_Expression_inlines_hh)
diff --git a/src/Division_Floating_Point_Expression.templates.hh b/src/Division_Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..3c3696b
--- /dev/null
+++ b/src/Division_Floating_Point_Expression.templates.hh
@@ -0,0 +1,61 @@
+/* Division_Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Division_Floating_Point_Expression_templates_hh
+#define PPL_Division_Floating_Point_Expression_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  this->intervalize(linearized_second_operand, int_store,
+                    intervalized_second_operand);
+
+  // Check if we may divide by zero.
+  if (intervalized_second_operand.lower() <= 0
+      && intervalized_second_operand.upper() >= 0)
+    return false;
+
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result /= intervalized_second_operand;
+  rel_error /= intervalized_second_operand;
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Division_Floating_Point_Expression_templates_hh)
diff --git a/src/Division_Floating_Point_Expression.types.hh b/src/Division_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..5931d06
--- /dev/null
+++ b/src/Division_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Division_Floating_Point_Expression_types_hh
+#define PPL_Division_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Division_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Division_Floating_Point_Expression_types_hh)
diff --git a/src/Doubly_Linked_Object.defs.hh b/src/Doubly_Linked_Object.defs.hh
new file mode 100644
index 0000000..96bc01c
--- /dev/null
+++ b/src/Doubly_Linked_Object.defs.hh
@@ -0,0 +1,65 @@
+/* Doubly_Linked_Object class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Doubly_Linked_Object_defs_hh
+#define PPL_Doubly_Linked_Object_defs_hh 1
+
+#include "Doubly_Linked_Object.types.hh"
+#include "EList.types.hh"
+#include "EList_Iterator.types.hh"
+
+//! A (base) class for doubly linked objects.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Doubly_Linked_Object {
+public:
+  //! Default constructor.
+  Doubly_Linked_Object();
+
+  //! Creates a chain element with forward link \p f and backward link \p b.
+  Doubly_Linked_Object(Doubly_Linked_Object* f, Doubly_Linked_Object* b);
+
+  //! Inserts \p y before \p *this.
+  void insert_before(Doubly_Linked_Object& y);
+
+  //! Inserts \p y after \p *this.
+  void insert_after(Doubly_Linked_Object& y);
+
+  //! Erases \p *this from the chain and returns a pointer to the next element.
+  Doubly_Linked_Object* erase();
+
+  //! Erases \p *this from the chain.
+  ~Doubly_Linked_Object();
+
+private:
+  //! Forward link.
+  Doubly_Linked_Object* next;
+
+  //! Backward link.
+  Doubly_Linked_Object* prev;
+
+  template <typename T> friend class EList;
+  template <typename T> friend class EList_Iterator;
+};
+
+#include "Doubly_Linked_Object.inlines.hh"
+
+#endif // !defined(PPL_Doubly_Linked_Object_defs_hh)
diff --git a/src/Doubly_Linked_Object.inlines.hh b/src/Doubly_Linked_Object.inlines.hh
new file mode 100644
index 0000000..86d075f
--- /dev/null
+++ b/src/Doubly_Linked_Object.inlines.hh
@@ -0,0 +1,78 @@
+/* Doubly_Linked_Object class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Doubly_Linked_Object_inlines_hh
+#define PPL_Doubly_Linked_Object_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+inline
+Doubly_Linked_Object::Doubly_Linked_Object() {
+}
+
+inline
+Doubly_Linked_Object::Doubly_Linked_Object(Doubly_Linked_Object* f,
+					   Doubly_Linked_Object* b)
+  : next(f),
+    prev(b) {
+}
+
+inline void
+Doubly_Linked_Object::insert_before(Doubly_Linked_Object& y) {
+  y.next = this;
+  y.prev = prev;
+  prev->next = &y;
+  prev = &y;
+}
+
+inline void
+Doubly_Linked_Object::insert_after(Doubly_Linked_Object& y) {
+  y.next = next;
+  y.prev = this;
+  next->prev = &y;
+  next = &y;
+}
+
+inline Doubly_Linked_Object*
+Doubly_Linked_Object::erase() {
+  next->prev = prev;
+  prev->next = next;
+  return next;
+}
+
+inline
+Doubly_Linked_Object::~Doubly_Linked_Object() {
+  erase();
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Doubly_Linked_Object_inlines_hh)
diff --git a/src/Doubly_Linked_Object.types.hh b/src/Doubly_Linked_Object.types.hh
new file mode 100644
index 0000000..41be14f
--- /dev/null
+++ b/src/Doubly_Linked_Object.types.hh
@@ -0,0 +1,30 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Doubly_Linked_Object_types_hh
+#define PPL_Doubly_Linked_Object_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+class Doubly_Linked_Object;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Doubly_Linked_Object_types_hh)
diff --git a/src/EList.defs.hh b/src/EList.defs.hh
new file mode 100644
index 0000000..f6e5e24
--- /dev/null
+++ b/src/EList.defs.hh
@@ -0,0 +1,90 @@
+/* EList class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_EList_defs_hh
+#define PPL_EList_defs_hh 1
+
+#include "EList.types.hh"
+#include "Doubly_Linked_Object.defs.hh"
+#include "EList_Iterator.defs.hh"
+
+/*! \brief
+  A simple kind of embedded list (i.e., a doubly linked objects
+  where the links are embedded in the objects themselves).
+*/
+template <typename T>
+class Parma_Polyhedra_Library::Implementation::Watchdog::EList
+  : private Doubly_Linked_Object {
+public:
+  //! A const iterator to traverse the list.
+  typedef EList_Iterator<const T> Const_Iterator;
+
+  //! A non-const iterator to traverse the list.
+  typedef EList_Iterator<T> Iterator;
+
+  //! Constructs an empty list.
+  EList();
+
+  //! Destructs the list and all the elements in it.
+  ~EList();
+
+  //! Pushes \p obj to the front of the list.
+  void push_front(T& obj);
+
+  //! Pushes \p obj to the back of the list.
+  void push_back(T& obj);
+
+  /*! \brief
+    Inserts \p obj just before \p position and returns an iterator
+    that points to the inserted object.
+  */
+  Iterator insert(Iterator position, T& obj);
+
+  /*! \brief
+    Removes the element pointed to by \p position, returning
+    an iterator pointing to the next element, if any, or end(), otherwise.
+  */
+  Iterator erase(Iterator position);
+
+  //! Returns <CODE>true</CODE> if and only if the list is empty.
+  bool empty() const;
+
+  //! Returns an iterator pointing to the beginning of the list.
+  Iterator begin();
+
+  //! Returns an iterator pointing one past the last element in the list.
+  Iterator end();
+
+  //! Returns a const iterator pointing to the beginning of the list.
+  Const_Iterator begin() const;
+
+  //! Returns a const iterator pointing one past the last element in the list.
+  Const_Iterator end() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
+
+#include "EList.inlines.hh"
+
+#endif // !defined(PPL_EList_defs_hh)
diff --git a/src/EList.inlines.hh b/src/EList.inlines.hh
new file mode 100644
index 0000000..0645778
--- /dev/null
+++ b/src/EList.inlines.hh
@@ -0,0 +1,123 @@
+/* EList class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_EList_inlines_hh
+#define PPL_EList_inlines_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+inline
+EList<T>::EList()
+  : Doubly_Linked_Object(this, this) {
+}
+
+template <typename T>
+inline void
+EList<T>::push_front(T& obj) {
+  next->insert_before(obj);
+}
+
+template <typename T>
+inline void
+EList<T>::push_back(T& obj) {
+  prev->insert_after(obj);
+}
+
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::insert(Iterator position, T& obj) {
+  position->insert_before(obj);
+  return Iterator(&obj);
+}
+
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::begin() {
+  return Iterator(next);
+}
+
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::end() {
+  return Iterator(this);
+}
+
+template <typename T>
+inline typename EList<T>::Const_Iterator
+EList<T>::begin() const {
+  return Const_Iterator(next);
+}
+
+template <typename T>
+inline typename EList<T>::Const_Iterator
+EList<T>::end() const {
+  return Const_Iterator(const_cast<EList<T>*>(this));
+}
+
+template <typename T>
+inline bool
+EList<T>::empty() const {
+  return begin() == end();
+}
+
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::erase(Iterator position) {
+  assert(!empty());
+  return Iterator(position->erase());
+}
+
+template <typename T>
+inline
+EList<T>::~EList() {
+  // Erase and deallocate all the elements.
+  for (Iterator i = begin(), lend = end(), next; i != lend; i = next) {
+    next = erase(i);
+    delete &*i;
+  }
+}
+
+template <typename T>
+inline bool
+EList<T>::OK() const {
+  for (Const_Iterator i = begin(), lend = end(); i != lend; ++i)
+    if (!i->OK())
+      return false;
+
+  return true;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_EList_inlines_hh)
diff --git a/src/EList.types.hh b/src/EList.types.hh
new file mode 100644
index 0000000..ec7e41f
--- /dev/null
+++ b/src/EList.types.hh
@@ -0,0 +1,31 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_EList_types_hh
+#define PPL_EList_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+class EList;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_EList_types_hh)
diff --git a/src/EList_Iterator.defs.hh b/src/EList_Iterator.defs.hh
new file mode 100644
index 0000000..84a9b27
--- /dev/null
+++ b/src/EList_Iterator.defs.hh
@@ -0,0 +1,92 @@
+/* EList_Iterator class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_EList_Iterator_defs_hh
+#define PPL_EList_Iterator_defs_hh 1
+
+#include "EList_Iterator.types.hh"
+#include "Doubly_Linked_Object.types.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+template <typename T>
+bool operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+template <typename T>
+bool operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+//! A class providing iterators for embedded lists.
+template <typename T>
+class Parma_Polyhedra_Library::Implementation::Watchdog::EList_Iterator {
+public:
+  //! Constructs an iterator pointing to nothing.
+  EList_Iterator();
+
+  //! Constructs an iterator pointing to \p p.
+  explicit EList_Iterator(Doubly_Linked_Object* p);
+
+  //! Changes \p *this so that it points to \p p.
+  EList_Iterator& operator=(Doubly_Linked_Object* p);
+
+  //! Indirect member selector.
+  T* operator->();
+
+  //! Dereference operator.
+  T& operator*();
+
+  //! Preincrement operator.
+  EList_Iterator& operator++();
+
+  //! Postincrement operator.
+  EList_Iterator operator++(int);
+
+  //! Predecrement operator.
+  EList_Iterator& operator--();
+
+  //! Postdecrement operator.
+  EList_Iterator operator--(int);
+
+private:
+  //! Embedded pointer.
+  Doubly_Linked_Object* ptr;
+
+  friend bool operator==<T>(const EList_Iterator& x, const EList_Iterator& y);
+
+  friend bool operator!=<T>(const EList_Iterator& x, const EList_Iterator& y);
+};
+
+#include "EList_Iterator.inlines.hh"
+
+#endif // !defined(PPL_EList_Iterator_defs_hh)
diff --git a/src/EList_Iterator.inlines.hh b/src/EList_Iterator.inlines.hh
new file mode 100644
index 0000000..61147b2
--- /dev/null
+++ b/src/EList_Iterator.inlines.hh
@@ -0,0 +1,113 @@
+/* EList_Iterator class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_EList_Iterator_inlines_hh
+#define PPL_EList_Iterator_inlines_hh 1
+
+#include "Doubly_Linked_Object.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+inline
+EList_Iterator<T>::EList_Iterator() {
+}
+
+template <typename T>
+inline
+EList_Iterator<T>::EList_Iterator(Doubly_Linked_Object* p)
+  : ptr(p) {
+}
+
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator=(Doubly_Linked_Object* p) {
+  ptr = p;
+  return *this;
+}
+
+template <typename T>
+inline T*
+EList_Iterator<T>::operator->() {
+  return static_cast<T*>(ptr);
+}
+
+template <typename T>
+inline T&
+EList_Iterator<T>::operator*() {
+  return *operator->();
+}
+
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator++() {
+  ptr = ptr->next;
+  return *this;
+}
+
+template <typename T>
+inline EList_Iterator<T>
+EList_Iterator<T>::operator++(int) {
+  EList_Iterator tmp = *this;
+  ++*this;
+  return tmp;
+}
+
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator--() {
+  ptr = ptr->prev;
+  return *this;
+}
+
+template <typename T>
+inline EList_Iterator<T>
+EList_Iterator<T>::operator--(int) {
+  EList_Iterator tmp = *this;
+  --*this;
+  return tmp;
+}
+
+template <typename T>
+inline bool
+operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
+  return x.ptr == y.ptr;
+}
+
+template <typename T>
+inline bool
+operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
+  return x.ptr != y.ptr;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_EList_Iterator_inlines_hh)
diff --git a/src/EList_Iterator.types.hh b/src/EList_Iterator.types.hh
new file mode 100644
index 0000000..9061a1f
--- /dev/null
+++ b/src/EList_Iterator.types.hh
@@ -0,0 +1,31 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_EList_Iterator_types_hh
+#define PPL_EList_Iterator_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+class EList_Iterator;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_EList_Iterator_types_hh)
diff --git a/src/Expression_Hide_Inhomo.defs.hh b/src/Expression_Hide_Inhomo.defs.hh
new file mode 100644
index 0000000..6d99441
--- /dev/null
+++ b/src/Expression_Hide_Inhomo.defs.hh
@@ -0,0 +1,176 @@
+/* Expression_Hide_Inhomo class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Expression_Hide_Inhomo_defs_hh
+#define PPL_Expression_Hide_Inhomo_defs_hh 1
+
+#include "Expression_Hide_Inhomo.types.hh"
+
+#include "Linear_Expression.types.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A Linear_Expression-like object that hides the inhomogeneous term.
+//! The methods of this class always pretend that it's 0.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Expression>
+class Parma_Polyhedra_Library::Expression_Hide_Inhomo {
+public:
+
+  //! Wraps `expr'. Note that `expr' must not be destroyed as long as this
+  //! object is alive.
+  explicit Expression_Hide_Inhomo(Expression& expr);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  typedef typename Expression::const_iterator const_iterator;
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
+
+private:
+  Expression& expr;
+
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars, dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Expression2>
+  bool have_a_common_variable(const Expression2& x,
+                              Variable first, Variable last) const;
+
+  // NOTE: The following classes are friends of Expression_Hide_Inhomo in
+  // order to access its private methods.
+  template <typename T>
+  friend class Linear_System;
+  friend class Box_Helpers;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
+};
+
+#include "Expression_Hide_Inhomo.inlines.hh"
+
+#endif // !defined(PPL_Expression_Hide_Inhomo_defs_hh)
diff --git a/src/Expression_Hide_Inhomo.inlines.hh b/src/Expression_Hide_Inhomo.inlines.hh
new file mode 100644
index 0000000..2d4b400
--- /dev/null
+++ b/src/Expression_Hide_Inhomo.inlines.hh
@@ -0,0 +1,314 @@
+/* Expression_Hide_Inhomo class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Expression_Hide_Inhomo_inlines_hh
+#define PPL_Expression_Hide_Inhomo_inlines_hh 1
+
+#include "Variables_Set.defs.hh"
+#include "Linear_Expression.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+inline
+Expression_Hide_Inhomo<Expression>
+::Expression_Hide_Inhomo(Expression& expr)
+  : expr(expr) {
+}
+
+template <typename Expression>
+inline Representation
+Expression_Hide_Inhomo<Expression>::representation() const {
+  return expr.representation();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::begin() const {
+  return expr.begin();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::end() const {
+  return expr.end();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::lower_bound(Variable v) const {
+  return expr.lower_bound(v);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::space_dimension() const {
+  return expr.space_dimension();
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::coefficient(Variable v) const {
+  return expr.coefficient(v);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::inhomogeneous_term() const {
+  return Coefficient_zero();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::is_zero() const {
+  // Don't check the inhomogeneous_term (i.e. pretend it's 0).
+  return expr.all_homogeneous_terms_are_zero();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_homogeneous_terms_are_zero() const {
+  return expr.all_homogeneous_terms_are_zero();
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  if (x.inhomogeneous_term() != 0)
+    return false;
+  // Note that the inhomogeneous term is not compared.
+  return expr.is_equal_to(x, 1, dim1 + 1);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  if (x.inhomogeneous_term() != 0)
+    return false;
+  // Note that the inhomogeneous term is not compared.
+  return x.is_equal_to(expr, 1, dim1 + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_zeroes(const Variables_Set& vars) const {
+  return expr.all_zeroes(vars);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::get(dimension_type i) const {
+  if (i == 0)
+    return Coefficient_zero();
+  else
+    return expr.get(i);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::get(Variable v) const {
+  return expr.get(v);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.all_zeroes(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::num_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  if (start == end)
+    return 0;
+  if (start == 0)
+    return 1 + expr.num_zeroes(start + 1, end);
+  else
+    return expr.num_zeroes(start, end);
+}
+
+template <typename Expression>
+inline Coefficient
+Expression_Hide_Inhomo<Expression>::gcd(dimension_type start,
+                                        dimension_type end) const {
+  if (start == end)
+    return Coefficient_zero();
+  if (start == 0)
+    ++start;
+  return expr.gcd(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::last_nonzero() const {
+  return expr.last_nonzero();
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::last_nonzero(dimension_type first,
+                                                 dimension_type last) const {
+  return expr.last_nonzero(first, last);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::first_nonzero(dimension_type first,
+                                                  dimension_type last) const {
+  if (first == last)
+    return last;
+  if (first == 0)
+    ++first;
+  return expr.first_nonzero(first, last);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.all_zeroes_except(vars, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  bool had_0 = (x.count(0) == 1);
+  expr.has_a_free_dimension_helper(x);
+  if (had_0)
+    x.insert(0);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.is_equal_to(x, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return x.is_equal_to(expr, start, end);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.is_equal_to(x, c1, c2, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return x.is_equal_to(expr, c2, c1, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>::get_row(Dense_Row& row) const {
+  expr.get_row(row);
+  row.reset(0);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>::get_row(Sparse_Row& row) const {
+  expr.get_row(row);
+  row.reset(0);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  return expr.have_a_common_variable(x, first, last);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  return x.have_a_common_variable(expr, first, last);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Expression_Hide_Inhomo_inlines_hh)
diff --git a/src/Expression_Hide_Inhomo.types.hh b/src/Expression_Hide_Inhomo.types.hh
new file mode 100644
index 0000000..de4318e
--- /dev/null
+++ b/src/Expression_Hide_Inhomo.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Expression_Hide_Inhomo_types_hh
+#define PPL_Expression_Hide_Inhomo_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+class Expression_Hide_Inhomo;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Expression_Hide_Inhomo_types_hh)
diff --git a/src/Expression_Hide_Last.defs.hh b/src/Expression_Hide_Last.defs.hh
new file mode 100644
index 0000000..906a931
--- /dev/null
+++ b/src/Expression_Hide_Last.defs.hh
@@ -0,0 +1,193 @@
+/* Expression_Hide_Last class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Expression_Hide_Last_defs_hh
+#define PPL_Expression_Hide_Last_defs_hh 1
+
+#include "Expression_Hide_Last.types.hh"
+
+#include "Linear_Expression.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A Linear_Expression-like object that may or may not hide the last
+//! coefficient.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Expression>
+class Parma_Polyhedra_Library::Expression_Hide_Last {
+public:
+
+  //! Wraps `expr'. Note that `expr' must not be destroyed as long as this
+  //! object is alive.
+  explicit Expression_Hide_Last(Expression& expr, bool hide_last = false);
+
+  void set_hide_last(bool hide_last);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  typedef typename Expression::const_iterator const_iterator;
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
+
+private:
+  Expression& expr;
+  bool hide_last;
+
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars,
+                         dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Expression2>
+  bool have_a_common_variable(const Expression2& x,
+                              Variable first, Variable last) const;
+
+  // NOTE: The following classes are friends of Expression_Hide_Last in
+  // order to access its private methods.
+  template <typename T>
+  friend class Linear_System;
+  friend class Box_Helpers;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
+  friend class PIP_Problem;
+  friend class MIP_Problem;
+  template <typename T>
+  friend class BD_Shape;
+  friend class BHRZ03_Certificate;
+  template <typename T>
+  friend class Box;
+  friend class Grid;
+  template <typename T>
+  friend class Octagonal_Shape;
+  friend class Polyhedron;
+  friend class Octagonal_Shape_Helper;
+  friend class BD_Shape_Helpers;
+};
+
+#include "Expression_Hide_Last.inlines.hh"
+
+#endif // !defined(PPL_Expression_Hide_Last_defs_hh)
diff --git a/src/Expression_Hide_Last.inlines.hh b/src/Expression_Hide_Last.inlines.hh
new file mode 100644
index 0000000..aa1cc66
--- /dev/null
+++ b/src/Expression_Hide_Last.inlines.hh
@@ -0,0 +1,300 @@
+/* Expression_Hide_Last class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Expression_Hide_Last_inlines_hh
+#define PPL_Expression_Hide_Last_inlines_hh 1
+
+#include "Variables_Set.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+inline
+Expression_Hide_Last<Expression>
+::Expression_Hide_Last(Expression& expr, bool hide_last)
+  : expr(expr), hide_last(hide_last) {
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::set_hide_last(bool hide_last) {
+  this->hide_last = hide_last;
+}
+
+template <typename Expression>
+inline Representation
+Expression_Hide_Last<Expression>::representation() const {
+  return expr.representation();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::begin() const {
+  return expr.begin();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::end() const {
+  if (hide_last) {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    return expr.lower_bound(Variable(expr.space_dimension() - 1));
+  } else {
+    return expr.end();
+  }
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::lower_bound(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension() + 1);
+  return expr.lower_bound(v);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::space_dimension() const {
+  if (hide_last) {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    return expr.space_dimension() - 1;
+  } else
+    return expr.space_dimension();
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::coefficient(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  return expr.coefficient(v);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::inhomogeneous_term() const {
+  return expr.inhomogeneous_term();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::is_zero() const {
+  return expr.all_zeroes(0, space_dimension() + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_homogeneous_terms_are_zero() const {
+  return expr.all_zeroes(1, space_dimension() + 1);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  return is_equal_to(x, 0, dim1 + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_zeroes(const Variables_Set& vars) const {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  return expr.all_zeroes(vars);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::get(dimension_type i) const {
+  PPL_ASSERT(i <= space_dimension());
+  return expr.get(i);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::get(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  return expr.get(v);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_zeroes(dimension_type start,
+                                      dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.all_zeroes(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::num_zeroes(dimension_type start,
+                                      dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.num_zeroes(start, end);
+}
+
+template <typename Expression>
+inline Coefficient
+Expression_Hide_Last<Expression>::gcd(dimension_type start,
+                               dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.gcd(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::last_nonzero() const {
+  return expr.last_nonzero(0, space_dimension() + 1);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::last_nonzero(dimension_type first,
+                                        dimension_type last) const {
+  PPL_ASSERT(last <= space_dimension() + 1);
+  return expr.last_nonzero(first, last);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::first_nonzero(dimension_type first,
+                                         dimension_type last) const {
+  PPL_ASSERT(last <= space_dimension() + 1);
+  return expr.first_nonzero(first, last);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.all_zeroes_except(vars, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  if (x.empty())
+    return;
+  const dimension_type max_dim = *(x.end());
+  PPL_ASSERT(max_dim <= space_dimension());
+  expr.has_a_free_dimension_helper(x);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return expr.is_equal_to(x, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return x.is_equal_to(expr, start, end);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return expr.is_equal_to(x, c1, c2, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return x.is_equal_to(expr, c2, c1, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::get_row(Dense_Row& row) const {
+  expr.get_row(row);
+  if (hide_last) {
+    PPL_ASSERT(row.size() != 0);
+    row.resize(row.size() - 1);
+  }
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::get_row(Sparse_Row& row) const {
+  expr.get_row(row);
+  if (hide_last) {
+    PPL_ASSERT(row.size() != 0);
+    row.resize(row.size() - 1);
+  }
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  PPL_ASSERT(last.space_dimension() <= space_dimension() + 1);
+  PPL_ASSERT(last.space_dimension() <= x.space_dimension() + 1);
+  return expr.have_a_common_variable(x, first, last);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  PPL_ASSERT(last.space_dimension() <= space_dimension() + 1);
+  PPL_ASSERT(last.space_dimension() <= x.space_dimension() + 1);
+  return x.have_a_common_variable(expr, first, last);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Expression_Hide_Last_inlines_hh)
diff --git a/src/Expression_Hide_Last.types.hh b/src/Expression_Hide_Last.types.hh
new file mode 100644
index 0000000..057fbf1
--- /dev/null
+++ b/src/Expression_Hide_Last.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Expression_Hide_Last_types_hh
+#define PPL_Expression_Hide_Last_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+class Expression_Hide_Last;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Expression_Hide_Last_types_hh)
diff --git a/src/Float.cc b/src/Float.cc
index b494f43..798a10d 100644
--- a/src/Float.cc
+++ b/src/Float.cc
@@ -1,6 +1,6 @@
 /* IEC 559 floating point format related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Float.defs.hh"
 
 namespace Parma_Polyhedra_Library {
diff --git a/src/Float.defs.hh b/src/Float.defs.hh
index fc5d70a..5a3c54d 100644
--- a/src/Float.defs.hh
+++ b/src/Float.defs.hh
@@ -1,6 +1,6 @@
 /* IEC 559 floating point format related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,16 +19,22 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Float_defs_hh
 #define PPL_Float_defs_hh 1
 
+#include "globals.types.hh"
 #include "meta_programming.hh"
 #include "compiler.hh"
-#include <gmp.h>
 #include "assert.hh"
+#include "Concrete_Expression.types.hh"
+#include "Variable.types.hh"
+#include "Linear_Form.types.hh"
+#include <set>
 #include <cmath>
+#include <map>
+#include <gmp.h>
 
 #ifdef NAN
 #define PPL_NAN NAN
@@ -41,15 +47,14 @@ namespace Parma_Polyhedra_Library {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ieee754_half {
   uint16_t word;
-  static const uint16_t SGN_MASK = 0x8000;
-  static const uint16_t EXP_MASK = 0xfc00;
-  static const uint16_t POS_INF = 0xfc00;
-  static const uint16_t NEG_INF = 0x7c00;
-  static const uint16_t POS_ZERO = 0x0000;
-  static const uint16_t NEG_ZERO = 0x8000;
+  static const uint16_t SGN_MASK = 0x8000U;
+  static const uint16_t EXP_MASK = 0xfc00U;
+  static const uint16_t POS_INF = 0xfc00U;
+  static const uint16_t NEG_INF = 0x7c00U;
+  static const uint16_t POS_ZERO = 0x0000U;
+  static const uint16_t NEG_ZERO = 0x8000U;
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 5;
   static const unsigned int MANTISSA_BITS = 10;
@@ -58,10 +63,11 @@ struct float_ieee754_half {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format = IEEE754_HALF;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -73,15 +79,14 @@ struct float_ieee754_half {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ieee754_single {
   uint32_t word;
-  static const uint32_t SGN_MASK = 0x80000000;
-  static const uint32_t EXP_MASK = 0x7f800000;
-  static const uint32_t POS_INF = 0x7f800000;
-  static const uint32_t NEG_INF = 0xff800000;
-  static const uint32_t POS_ZERO = 0x00000000;
-  static const uint32_t NEG_ZERO = 0x80000000;
+  static const uint32_t SGN_MASK = 0x80000000U;
+  static const uint32_t EXP_MASK = 0x7f800000U;
+  static const uint32_t POS_INF = 0x7f800000U;
+  static const uint32_t NEG_INF = 0xff800000U;
+  static const uint32_t POS_ZERO = 0x00000000U;
+  static const uint32_t NEG_ZERO = 0x80000000U;
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 8;
   static const unsigned int MANTISSA_BITS = 23;
@@ -90,10 +95,11 @@ struct float_ieee754_single {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format = IEEE754_SINGLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -110,7 +116,6 @@ struct float_ieee754_single {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ieee754_double {
 #ifdef PPL_WORDS_BIGENDIAN
   uint32_t msp;
@@ -119,14 +124,14 @@ struct float_ieee754_double {
   uint32_t lsp;
   uint32_t msp;
 #endif
-  static const uint32_t MSP_SGN_MASK = 0x80000000;
-  static const uint32_t MSP_POS_INF = 0x7ff00000;
-  static const uint32_t MSP_NEG_INF = 0xfff00000;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x80000000;
+  static const uint32_t MSP_SGN_MASK = 0x80000000U;
+  static const uint32_t MSP_POS_INF = 0x7ff00000U;
+  static const uint32_t MSP_NEG_INF = 0xfff00000U;
+  static const uint32_t MSP_POS_ZERO = 0x00000000U;
+  static const uint32_t MSP_NEG_ZERO = 0x80000000U;
   static const uint32_t LSP_INF = 0;
   static const uint32_t LSP_ZERO = 0;
-  static const uint32_t LSP_MAX = 0xffffffff;
+  static const uint32_t LSP_MAX = 0xffffffffU;
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 11;
   static const unsigned int MANTISSA_BITS = 52;
@@ -135,10 +140,11 @@ struct float_ieee754_double {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format = IEEE754_DOUBLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -149,15 +155,14 @@ struct float_ieee754_double {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ibm_single {
   uint32_t word;
-  static const uint32_t SGN_MASK = 0x80000000;
-  static const uint32_t EXP_MASK = 0x7f000000;
-  static const uint32_t POS_INF = 0x7f000000;
-  static const uint32_t NEG_INF = 0xff000000;
-  static const uint32_t POS_ZERO = 0x00000000;
-  static const uint32_t NEG_ZERO = 0x80000000;
+  static const uint32_t SGN_MASK = 0x80000000U;
+  static const uint32_t EXP_MASK = 0x7f000000U;
+  static const uint32_t POS_INF = 0x7f000000U;
+  static const uint32_t NEG_INF = 0xff000000U;
+  static const uint32_t POS_ZERO = 0x00000000U;
+  static const uint32_t NEG_ZERO = 0x80000000U;
   static const unsigned int BASE = 16;
   static const unsigned int EXPONENT_BITS = 7;
   static const unsigned int MANTISSA_BITS = 24;
@@ -166,10 +171,11 @@ struct float_ibm_single {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format = IBM_SINGLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -180,7 +186,6 @@ struct float_ibm_single {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ibm_double {
   static const unsigned int BASE = 16;
   static const unsigned int EXPONENT_BITS = 7;
@@ -191,7 +196,6 @@ struct float_ibm_double {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_intel_double_extended {
 #ifdef PPL_WORDS_BIGENDIAN
   uint32_t msp;
@@ -200,15 +204,15 @@ struct float_intel_double_extended {
   uint64_t lsp;
   uint32_t msp;
 #endif
-  static const uint32_t MSP_SGN_MASK = 0x00008000;
-  static const uint32_t MSP_POS_INF = 0x00007fff;
-  static const uint32_t MSP_NEG_INF = 0x0000ffff;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x00008000;
-  static const uint64_t LSP_INF = 0x8000000000000000ULL;
+  static const uint32_t MSP_SGN_MASK = 0x00008000U;
+  static const uint32_t MSP_POS_INF = 0x00007fffU;
+  static const uint32_t MSP_NEG_INF = 0x0000ffffU;
+  static const uint32_t MSP_POS_ZERO = 0x00000000U;
+  static const uint32_t MSP_NEG_ZERO = 0x00008000U;
+  static const uint64_t LSP_INF = static_cast<uint64_t>(0x8000000000000000ULL);
   static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
-  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
+  static const uint64_t LSP_DMAX = static_cast<uint64_t>(0x7fffffffffffffffULL);
+  static const uint64_t LSP_NMAX = static_cast<uint64_t>(0xffffffffffffffffULL);
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 63;
@@ -217,10 +221,12 @@ struct float_intel_double_extended {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format =
+                                     INTEL_DOUBLE_EXTENDED;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -231,7 +237,6 @@ struct float_intel_double_extended {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ieee754_quad {
 #ifdef PPL_WORDS_BIGENDIAN
   uint64_t msp;
@@ -240,14 +245,14 @@ struct float_ieee754_quad {
   uint64_t lsp;
   uint64_t msp;
 #endif
-  static const uint64_t MSP_SGN_MASK = 0x8000000000000000ULL;
-  static const uint64_t MSP_POS_INF = 0x7fff000000000000ULL;
-  static const uint64_t MSP_NEG_INF = 0xffff000000000000ULL;
-  static const uint64_t MSP_POS_ZERO = 0x0000000000000000ULL;
-  static const uint64_t MSP_NEG_ZERO = 0x8000000000000000ULL;
+  static const uint64_t MSP_SGN_MASK = static_cast<uint64_t>(0x8000000000000000ULL);
+  static const uint64_t MSP_POS_INF = static_cast<uint64_t>(0x7fff000000000000ULL);
+  static const uint64_t MSP_NEG_INF = static_cast<uint64_t>(0xffff000000000000ULL);
+  static const uint64_t MSP_POS_ZERO = static_cast<uint64_t>(0x0000000000000000ULL);
+  static const uint64_t MSP_NEG_ZERO = static_cast<uint64_t>(0x8000000000000000ULL);
   static const uint64_t LSP_INF = 0;
   static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
+  static const uint64_t LSP_MAX = static_cast<uint64_t>(0xffffffffffffffffULL);
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 112;
@@ -256,10 +261,10 @@ struct float_ieee754_quad {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -290,7 +295,7 @@ public:
 #elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
 #endif
   union {
     float number;
@@ -319,7 +324,7 @@ public:
 #elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
 #endif
   union {
     double number;
@@ -348,7 +353,7 @@ public:
 #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
 #endif
   union {
     long double number;
@@ -360,8 +365,152 @@ public:
 };
 #endif
 
+// FIXME: is this the right place for this function?
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If \p v is nonzero, returns the position of the most significant bit
+  in \p a.
+
+  The behavior is undefined if \p v is zero.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+unsigned int msb_position(unsigned long long v);
+
+/*! \brief
+  An abstract class to be implemented by an external analyzer such
+  as ECLAIR in order to provide to the PPL the necessary information
+  for performing the analysis of floating point computations.
+
+  \par Template type parameters
+
+  - The class template parameter \p Target specifies the implementation
+  of Concrete_Expression to be used.
+  - The class template parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
+*/
+template <typename Target, typename FP_Interval_Type>
+class FP_Oracle {
+public:
+  /*
+    FIXME: the const qualifiers on expressions may raise CLANG
+    compatibility issues. It may be necessary to omit them.
+  */
+
+  /*! \brief
+    Asks the external analyzer for an interval that correctly
+    approximates the floating point entity referenced by \p dim.
+    Result is stored into \p result.
+
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_interval(dimension_type dim, FP_Interval_Type& result) const
+    = 0;
+
+  /*! \brief
+    Asks the external analyzer for an interval that correctly
+    approximates the value of floating point constant \p expr.
+    Result is stored into \p result.
+
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_fp_constant_value(
+               const Floating_Point_Constant<Target>& expr,
+                     FP_Interval_Type& result) const = 0;
+
+  /*! \brief
+    Asks the external analyzer for an interval that correctly approximates
+    the value of \p expr, which must be of integer type.
+    Result is stored into \p result.
+
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_integer_expr_value(const Concrete_Expression<Target>& expr,
+                                      FP_Interval_Type& result) const = 0;
+
+  /*! \brief
+    Asks the external analyzer for the possible space dimensions that
+    are associated to the approximable reference \p expr.
+    Result is stored into \p result.
+
+    \return <CODE>true</CODE> if the analyzer was able to return
+    the (possibly empty!) set, <CODE>false</CODE> otherwise.
+
+    The resulting set MUST NOT contain <CODE>not_a_dimension()</CODE>.
+  */
+  virtual bool get_associated_dimensions(
+	  const Approximable_Reference<Target>& expr,
+          std::set<dimension_type>& result) const = 0;
+
+};
+
+/* FIXME: some of the following  documentation should probably be
+   under PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS */
+
+/*! \brief \relates Float
+  Returns <CODE>true</CODE> if and only if there is some floating point
+  number that is representable by \p f2 but not by \p f1.
+*/
+bool is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2);
+
+/*! \brief \relates Float
+  Computes the absolute error of floating point computations.
+
+  \par Template type parameters
+
+  - The class template parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
+
+  \param analyzed_format The floating point format used by the analyzed
+  program.
+
+  \return The interval \f$[-\omega, \omega]\f$ where \f$\omega\f$ is the
+  smallest non-zero positive number in the less precise floating point
+  format between the analyzer format and the analyzed format.
+*/
+template <typename FP_Interval_Type>
+const FP_Interval_Type&
+compute_absolute_error(Floating_Point_Format analyzed_format);
+
+/*! \brief \relates Linear_Form
+  Discards all linear forms containing variable \p var from the
+  linear form abstract store \p lf_store.
+*/
+template <typename FP_Interval_Type>
+void
+discard_occurrences(std::map<dimension_type,
+                             Linear_Form<FP_Interval_Type> >& lf_store,
+                    Variable var);
+
+/*! \brief \relates Linear_Form
+  Assigns the linear form \p lf to \p var in the linear form abstract
+  store \p lf_store, then discards all occurrences of \p var from it.
+*/
+template <typename FP_Interval_Type>
+void
+affine_form_image(std::map<dimension_type,
+                           Linear_Form<FP_Interval_Type> >& lf_store,
+                  Variable var,
+                  const Linear_Form<FP_Interval_Type>& lf);
+
+/*! \brief \relates Linear_Form
+  Discards from \p ls1 all linear forms but those that are associated
+  to the same variable in \p ls2.
+*/
+template <typename FP_Interval_Type>
+void
+upper_bound_assign(std::map<dimension_type,
+                            Linear_Form<FP_Interval_Type> >& ls1,
+                   const std::map<dimension_type,
+                                  Linear_Form<FP_Interval_Type> >& ls2);
+
 } // namespace Parma_Polyhedra_Library
 
 #include "Float.inlines.hh"
+#include "Float.templates.hh"
 
 #endif // !defined(PPL_Float_defs_hh)
diff --git a/src/Float.inlines.hh b/src/Float.inlines.hh
index 4e12580..09933e7 100644
--- a/src/Float.inlines.hh
+++ b/src/Float.inlines.hh
@@ -1,6 +1,6 @@
 /* IEC 559 floating point format related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,17 +19,19 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Float_inlines_hh
 #define PPL_Float_inlines_hh 1
 
 #include <climits>
+#include "Variable.defs.hh"
+#include "Linear_Form.defs.hh"
 
 namespace Parma_Polyhedra_Library {
 
 inline int
-float_ieee754_half::is_inf() const {
+float_ieee754_half::inf_sign() const {
   if (word == NEG_INF)
     return -1;
   if (word == POS_INF)
@@ -37,13 +39,13 @@ float_ieee754_half::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_ieee754_half::is_nan() const {
   return (word & ~SGN_MASK) > POS_INF;
 }
 
 inline int
-float_ieee754_half::is_zero() const {
+float_ieee754_half::zero_sign() const {
   if (word == NEG_ZERO)
     return -1;
   if (word == POS_ZERO)
@@ -56,9 +58,9 @@ float_ieee754_half::negate() {
   word ^= SGN_MASK;
 }
 
-inline int
+inline bool
 float_ieee754_half::sign_bit() const {
-  return !!(word & SGN_MASK);
+  return (word & SGN_MASK) != 0;
 }
 
 inline void
@@ -73,21 +75,24 @@ float_ieee754_half::inc() {
 
 inline void
 float_ieee754_half::set_max(bool negative) {
-  word = 0x7bff;
+  word = 0x7bffU;
   if (negative)
     word |= SGN_MASK;
 }
 
 inline void
 float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  word = static_cast<uint16_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
   if (negative)
     word |= SGN_MASK;
-  word |= static_cast<uint16_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint16_t>(exponent_repr) << MANTISSA_BITS;
 }
 
 inline int
-float_ieee754_single::is_inf() const {
+float_ieee754_single::inf_sign() const {
   if (word == NEG_INF)
     return -1;
   if (word == POS_INF)
@@ -95,13 +100,13 @@ float_ieee754_single::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_ieee754_single::is_nan() const {
   return (word & ~SGN_MASK) > POS_INF;
 }
 
 inline int
-float_ieee754_single::is_zero() const {
+float_ieee754_single::zero_sign() const {
   if (word == NEG_ZERO)
     return -1;
   if (word == POS_ZERO)
@@ -114,9 +119,9 @@ float_ieee754_single::negate() {
   word ^= SGN_MASK;
 }
 
-inline int
+inline bool
 float_ieee754_single::sign_bit() const {
-  return !!(word & SGN_MASK);
+  return (word & SGN_MASK) != 0;
 }
 
 inline void
@@ -131,21 +136,24 @@ float_ieee754_single::inc() {
 
 inline void
 float_ieee754_single::set_max(bool negative) {
-  word = 0x7f7fffff;
+  word = 0x7f7fffffU;
   if (negative)
     word |= SGN_MASK;
 }
 
 inline void
 float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  word = static_cast<uint32_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
   if (negative)
     word |= SGN_MASK;
-  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint32_t>(exponent_repr) << MANTISSA_BITS;
 }
 
 inline int
-float_ieee754_double::is_inf() const {
+float_ieee754_double::inf_sign() const {
   if (lsp != LSP_INF)
     return 0;
   if (msp == MSP_NEG_INF)
@@ -155,14 +163,14 @@ float_ieee754_double::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_ieee754_double::is_nan() const {
   uint32_t a = msp & ~MSP_SGN_MASK;
   return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF);
 }
 
 inline int
-float_ieee754_double::is_zero() const {
+float_ieee754_double::zero_sign() const {
   if (lsp != LSP_ZERO)
     return 0;
   if (msp == MSP_NEG_ZERO)
@@ -177,9 +185,9 @@ float_ieee754_double::negate() {
   msp ^= MSP_SGN_MASK;
 }
 
-inline int
+inline bool
 float_ieee754_double::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+  return (msp & MSP_SGN_MASK) != 0;
 }
 
 inline void
@@ -204,32 +212,34 @@ float_ieee754_double::inc() {
 
 inline void
 float_ieee754_double::set_max(bool negative) {
-  msp = 0x7fefffff;
-  lsp = 0xffffffff;
+  msp = 0x7fefffffU;
+  lsp = 0xffffffffU;
   if (negative)
     msp |= MSP_SGN_MASK;
 }
 
 inline void
 float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
+  unsigned long m;
 #if ULONG_MAX == 0xffffffffUL
   lsp = mpz_get_ui(mantissa);
   mpz_tdiv_q_2exp(mantissa, mantissa, 32);
-  unsigned long m = mpz_get_ui(mantissa);
+  m = mpz_get_ui(mantissa);
 #else
-  unsigned long m = mpz_get_ui(mantissa);
-  lsp = m;
+  m = mpz_get_ui(mantissa);
+  lsp = static_cast<uint32_t>(m & LSP_MAX);
   m >>= 32;
 #endif
-  msp = m & ((1UL << (MANTISSA_BITS - 32)) - 1);
+  msp = static_cast<uint32_t>(m & ((1UL << (MANTISSA_BITS - 32)) - 1));
   if (negative)
     msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 32);
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint32_t>(exponent_repr) << (MANTISSA_BITS - 32);
 }
 
 inline int
-float_ibm_single::is_inf() const {
+float_ibm_single::inf_sign() const {
   if (word == NEG_INF)
     return -1;
   if (word == POS_INF)
@@ -237,13 +247,13 @@ float_ibm_single::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_ibm_single::is_nan() const {
   return (word & ~SGN_MASK) > POS_INF;
 }
 
 inline int
-float_ibm_single::is_zero() const {
+float_ibm_single::zero_sign() const {
   if (word == NEG_ZERO)
     return -1;
   if (word == POS_ZERO)
@@ -256,9 +266,9 @@ float_ibm_single::negate() {
   word ^= SGN_MASK;
 }
 
-inline int
+inline bool
 float_ibm_single::sign_bit() const {
-  return !!(word & SGN_MASK);
+  return (word & SGN_MASK) != 0;
 }
 
 inline void
@@ -273,21 +283,24 @@ float_ibm_single::inc() {
 
 inline void
 float_ibm_single::set_max(bool negative) {
-  word = 0x7f000000;
+  word = 0x7f000000U;
   if (negative)
     word |= SGN_MASK;
 }
 
 inline void
 float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
+  word = static_cast<uint32_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
   if (negative)
     word |= SGN_MASK;
-  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint32_t>(exponent_repr) << MANTISSA_BITS;
 }
 
 inline int
-float_intel_double_extended::is_inf() const {
+float_intel_double_extended::inf_sign() const {
   if (lsp != LSP_INF)
     return 0;
   uint32_t a = msp & MSP_NEG_INF;
@@ -298,14 +311,14 @@ float_intel_double_extended::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_intel_double_extended::is_nan() const {
   return (msp & MSP_POS_INF) == MSP_POS_INF
     && lsp != LSP_INF;
 }
 
 inline int
-float_intel_double_extended::is_zero() const {
+float_intel_double_extended::zero_sign() const {
   if (lsp != LSP_ZERO)
     return 0;
   uint32_t a = msp & MSP_NEG_INF;
@@ -321,16 +334,16 @@ float_intel_double_extended::negate() {
   msp ^= MSP_SGN_MASK;
 }
 
-inline int
+inline bool
 float_intel_double_extended::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+  return (msp & MSP_SGN_MASK) != 0;
 }
 
 inline void
 float_intel_double_extended::dec() {
   if ((lsp & LSP_DMAX) == 0) {
     --msp;
-    lsp = (msp & MSP_NEG_INF) == 0 ? LSP_DMAX : LSP_NMAX;
+    lsp = ((msp & MSP_NEG_INF) == 0) ? LSP_DMAX : LSP_NMAX;
   }
   else
     --lsp;
@@ -348,8 +361,8 @@ float_intel_double_extended::inc() {
 
 inline void
 float_intel_double_extended::set_max(bool negative) {
-  msp = 0x00007ffe;
-  lsp = 0xffffffffffffffffULL;
+  msp = 0x00007ffeU;
+  lsp = static_cast<uint64_t>(0xffffffffffffffffULL);
   if (negative)
     msp |= MSP_SGN_MASK;
 }
@@ -363,11 +376,13 @@ float_intel_double_extended::build(bool negative,
   lsp = mpz_get_ui(mantissa);
 #endif
   msp = (negative ? MSP_SGN_MASK : 0);
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS);
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint32_t>(exponent_repr);
 }
 
 inline int
-float_ieee754_quad::is_inf() const {
+float_ieee754_quad::inf_sign() const {
   if (lsp != LSP_INF)
     return 0;
   if (msp == MSP_NEG_INF)
@@ -377,14 +392,14 @@ float_ieee754_quad::is_inf() const {
   return 0;
 }
 
-inline int
+inline bool
 float_ieee754_quad::is_nan() const {
   return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
     && lsp != LSP_INF;
 }
 
 inline int
-float_ieee754_quad::is_zero() const {
+float_ieee754_quad::zero_sign() const {
   if (lsp != LSP_ZERO)
     return 0;
   if (msp == MSP_NEG_ZERO)
@@ -399,9 +414,9 @@ float_ieee754_quad::negate() {
   msp ^= MSP_SGN_MASK;
 }
 
-inline int
+inline bool
 float_ieee754_quad::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
+  return (msp & MSP_SGN_MASK) != 0;
 }
 
 inline void
@@ -426,8 +441,8 @@ float_ieee754_quad::inc() {
 
 inline void
 float_ieee754_quad::set_max(bool negative) {
-  msp = 0x7ffeffffffffffffULL;
-  lsp = 0xffffffffffffffffULL;
+  msp = static_cast<uint64_t>(0x7ffeffffffffffffULL);
+  lsp = static_cast<uint64_t>(0xffffffffffffffffULL);
   if (negative)
     msp |= MSP_SGN_MASK;
 }
@@ -438,11 +453,34 @@ float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) {
   mpz_export(parts, 0, -1, 8, 0, 0, mantissa);
   lsp = parts[0];
   msp = parts[1];
-  msp &= ((1ULL << (MANTISSA_BITS - 64)) - 1);
+  msp &= ((static_cast<uint64_t>(1) << (MANTISSA_BITS - 64)) - 1);
   if (negative)
     msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint64_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 64);
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint64_t>(exponent_repr) << (MANTISSA_BITS - 64);
+}
+
+inline bool
+is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2) {
+  return f1 < f2;
+}
+
+inline unsigned int
+msb_position(unsigned long long v) {
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(v))) - 1U - clz(v);
+}
+
+template <typename FP_Interval_Type>
+inline void
+affine_form_image(std::map<dimension_type,
+                           Linear_Form<FP_Interval_Type> >& lf_store,
+                  const Variable var,
+                  const Linear_Form<FP_Interval_Type>& lf) {
+  // Assign the new linear form for var.
+  lf_store[var.id()] = lf;
+  // Now invalidate all linear forms in which var occurs.
+  discard_occurrences(lf_store, var);
 }
 
 #if PPL_SUPPORTED_FLOAT
@@ -493,7 +531,6 @@ Float<long double>::value() {
 }
 #endif
 
-
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Float_inlines_hh)
diff --git a/src/Float.templates.hh b/src/Float.templates.hh
new file mode 100644
index 0000000..871ff5a
--- /dev/null
+++ b/src/Float.templates.hh
@@ -0,0 +1,167 @@
+/* IEC 559 floating point format related functions:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Float_templates_hh
+#define PPL_Float_templates_hh 1
+
+#include "Variable.defs.hh"
+#include "Linear_Form.defs.hh"
+#include <cmath>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type>
+const FP_Interval_Type& compute_absolute_error(
+		        const Floating_Point_Format analyzed_format) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+
+  // FIXME: check if initializing caches with EMPTY is better.
+  static const FP_Interval_Type ZERO_INTERVAL = FP_Interval_Type(0);
+  // Cached results for each different analyzed format.
+  static FP_Interval_Type ieee754_half_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_single_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_double_result = ZERO_INTERVAL;
+  static FP_Interval_Type ibm_single_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_quad_result = ZERO_INTERVAL;
+  static FP_Interval_Type intel_double_extended_result = ZERO_INTERVAL;
+
+  FP_Interval_Type* to_compute = NULL;
+  // Get the necessary information on the analyzed's format.
+  unsigned int f_base;
+  int f_exponent_bias;
+  unsigned int f_mantissa_bits;
+  switch (analyzed_format) {
+    case IEEE754_HALF:
+      if (ieee754_half_result != ZERO_INTERVAL)
+        return ieee754_half_result;
+
+      to_compute = &ieee754_half_result;
+      f_base = float_ieee754_half::BASE;
+      f_exponent_bias = float_ieee754_half::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_half::MANTISSA_BITS;
+      break;
+    case IEEE754_SINGLE:
+      if (ieee754_single_result != ZERO_INTERVAL)
+        return ieee754_single_result;
+
+      to_compute = &ieee754_single_result;
+      f_base = float_ieee754_single::BASE;
+      f_exponent_bias = float_ieee754_single::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_single::MANTISSA_BITS;
+      break;
+    case IEEE754_DOUBLE:
+      if (ieee754_double_result != ZERO_INTERVAL)
+        return ieee754_double_result;
+
+      to_compute = &ieee754_double_result;
+      f_base = float_ieee754_double::BASE;
+      f_exponent_bias = float_ieee754_double::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_double::MANTISSA_BITS;
+      break;
+    case IBM_SINGLE:
+      if (ibm_single_result != ZERO_INTERVAL)
+        return ibm_single_result;
+
+      to_compute = &ibm_single_result;
+      f_base = float_ibm_single::BASE;
+      f_exponent_bias = float_ibm_single::EXPONENT_BIAS;
+      f_mantissa_bits = float_ibm_single::MANTISSA_BITS;
+      break;
+    case IEEE754_QUAD:
+      if (ieee754_quad_result != ZERO_INTERVAL)
+        return ieee754_quad_result;
+
+      to_compute = &ieee754_quad_result;
+      f_base = float_ieee754_quad::BASE;
+      f_exponent_bias = float_ieee754_quad::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS;
+      break;
+    case INTEL_DOUBLE_EXTENDED:
+      if (intel_double_extended_result != ZERO_INTERVAL)
+        return intel_double_extended_result;
+
+      to_compute = &intel_double_extended_result;
+      f_base = float_intel_double_extended::BASE;
+      f_exponent_bias = float_intel_double_extended::EXPONENT_BIAS;
+      f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS;
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
+  }
+
+  PPL_ASSERT(to_compute != NULL);
+
+  // We assume that f_base is a power of 2.
+  analyzer_format omega;
+  int power = static_cast<int>(msb_position(f_base))
+    * ((1 - f_exponent_bias) - static_cast<int>(f_mantissa_bits));
+  omega = std::max(static_cast<analyzer_format>(ldexp(1.0, power)),
+                   std::numeric_limits<analyzer_format>::denorm_min());
+
+  to_compute->build(i_constraint(GREATER_OR_EQUAL, -omega),
+                    i_constraint(LESS_OR_EQUAL, omega));
+  return *to_compute;
+}
+
+template <typename FP_Interval_Type>
+void
+discard_occurrences(std::map<dimension_type,
+                             Linear_Form<FP_Interval_Type> >& lf_store,
+                    Variable var) {
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef typename std::map<dimension_type, FP_Linear_Form>::iterator Iter;
+  for (Iter i = lf_store.begin(); i != lf_store.end(); ) {
+    if((i->second).coefficient(var) != 0)
+      i = lf_store.erase(i);
+    else
+      ++i;
+  }
+}
+
+/* FIXME: improve efficiency by adding the list of potentially conflicting
+   variables as an argument. */
+template <typename FP_Interval_Type>
+void upper_bound_assign(std::map<dimension_type,
+			         Linear_Form<FP_Interval_Type> >& ls1,
+                        const std::map<dimension_type,
+			               Linear_Form<FP_Interval_Type> >& ls2) {
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef typename std::map<dimension_type, FP_Linear_Form>::iterator Iter;
+  typedef typename std::map<dimension_type,
+                            FP_Linear_Form>::const_iterator Const_Iter;
+
+  Const_Iter i2_end = ls2.end();
+  for (Iter i1 = ls1.begin(), i1_end = ls1.end(); i1 != i1_end; ) {
+    Const_Iter i2 = ls2.find(i1->first);
+    if ((i2 == i2_end) || (i1->second != i2->second))
+      i1 = ls1.erase(i1);
+    else
+      ++i1;
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Float_templates_hh)
diff --git a/src/Floating_Point_Expression.defs.hh b/src/Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..1ed58c5
--- /dev/null
+++ b/src/Floating_Point_Expression.defs.hh
@@ -0,0 +1,213 @@
+/* Declarations for the Floating_Point_Expression class and its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Floating_Point_Expression_defs_hh
+#define PPL_Floating_Point_Expression_defs_hh 1
+
+#include "globals.defs.hh"
+#include "Floating_Point_Expression.types.hh"
+#include "Linear_Form.types.hh"
+#include "Box.types.hh"
+#include <cmath>
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief
+  \ingroup PPL_CXX_Interface
+  A floating point expression on a given format.
+
+  This class represents a concrete <EM>floating point expression</EM>. This
+  includes constants, floating point variables, binary and unary
+  arithmetic operators.
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+  This parameter must be a struct similar to the ones defined in file
+  Float.defs.hh, even though it is sufficient to define the three
+  fields BASE, MANTISSA_BITS and EXPONENT_BIAS.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Floating_Point_Expression {
+
+public:
+
+  //! Alias for a linear form with template argument \p FP_Interval_Type.
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+
+  //! Alias for a map that associates a variable index to an interval.
+  /*! \brief
+    Alias for a Box storing lower and upper bounds for floating point
+    variables.
+
+    The type a linear form abstract store associating each variable with an
+    interval that correctly approximates its value.
+  */
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+
+  //! Alias for a map that associates a variable index to a linear form.
+  /*!
+    The type a linear form abstract store associating each variable with a
+    linear form that correctly approximates its value.
+  */
+  typedef std::map<dimension_type, FP_Linear_Form>
+          FP_Linear_Form_Abstract_Store;
+
+  //! The floating point format used by the analyzer.
+  typedef typename FP_Interval_Type::boundary_type boundary_type;
+
+  //! The interval policy used by \p FP_Interval_Type.
+  typedef typename FP_Interval_Type::info_type info_type;
+
+  //! Destructor.
+  virtual ~Floating_Point_Expression();
+
+  //! Linearizes a floating point expression.
+  /*! \brief
+    Makes \p result become a linear form that correctly approximates the
+    value of the floating point expression in the given composite
+    abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result Becomes the linearized expression.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Formally, if \p *this represents the expression \f$e\f$,
+    \p int_store represents the interval abstract store \f$\rho^{\#}\f$ and
+    \p lf_store represents the linear form abstract store \f$\rho^{\#}_l\f$,
+    then \p result will become
+    \f$\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}\f$
+    if the linearization succeeds.
+
+    All variables occurring in the floating point expression MUST have
+    an associated interval in \p int_store.
+    If this precondition is not met, calling the method causes an
+    undefined behavior.
+  */
+  virtual bool linearize(const FP_Interval_Abstract_Store& int_store,
+                         const FP_Linear_Form_Abstract_Store& lf_store,
+                         FP_Linear_Form& result) const = 0;
+
+  /*! \brief
+    Absolute error.
+
+    Represents the interval \f$[-\omega, \omega]\f$ where \f$\omega\f$ is the
+    smallest non-zero positive number in the less precise floating point
+    format between the analyzer format and the analyzed format.
+
+  */
+  static FP_Interval_Type absolute_error;
+
+  // FIXME: this may not be the best place for them.
+  /*! \brief
+    Verifies if a given linear form overflows.
+    \param lf The linear form to verify.
+    \return
+    Returns <CODE>false</CODE> if all coefficients in \p lf are bounded,
+    <CODE>true</CODE> otherwise.
+  */
+  static bool overflows(const FP_Linear_Form& lf);
+
+  /*! \brief
+    Computes the relative error of a given linear form.
+
+    Static helper method that is used by <CODE>linearize</CODE>
+    to account for the relative errors on \p lf.
+    \param lf The linear form used to compute the relative error.
+    \param result Becomes the linear form corresponding to a relative
+    error committed on \p lf.
+
+    This method makes <CODE>result</CODE> become a linear form
+    obtained by evaluating the function \f$\varepsilon_{\mathbf{f}}(l)\f$
+    on the linear form \p lf. This function is defined
+    such as:
+    \f[
+    \varepsilon_{\mathbf{f}}\left([a, b]+\sum_{v \in \cV}[a_{v}, b_{v}]v\right)
+    \defeq
+    (\textrm{max}(|a|, |b|) \amifp [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])
+    +
+    \sum_{v \in \cV}(\textrm{max}(|a_{v}|,|b_{v}|)
+    \amifp
+    [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])v
+    \f]
+    where p is the fraction size in bits for the format \f$\mathbf{f}\f$ and
+    \f$\beta\f$ the base.
+  */
+  static void relative_error(const FP_Linear_Form& lf,
+                             FP_Linear_Form& result);
+
+  /*! \brief
+    Makes \p result become an interval that overapproximates all the
+    possible values of \p lf in the interval abstract store \p store.
+
+    \param lf The linear form to aproximate.
+    \param store The abstract store.
+    \param result The linear form that will be modified.
+
+    This method makes <CODE>result</CODE> become
+    \f$\iota(lf)\rho^{\#}\f$, that is an interval defined as:
+    \f[
+    \iota\left(i + \sum_{v \in \cV}i_{v}v\right)\rho^{\#}
+    \defeq
+    i \asifp \left(\bigoplus_{v \in \cV}{}^{\#}i_{v} \amifp
+    \rho^{\#}(v)\right)
+    \f]
+  */
+  static void intervalize(const FP_Linear_Form& lf,
+                          const FP_Interval_Abstract_Store& store,
+                          FP_Interval_Type& result);
+
+private:
+
+  /*! \brief
+    Computes the absolute error.
+
+    Static helper method that is used to compute the value of the public
+    static field <CODE>absolute_error</CODE>.
+
+    \return The interval \f$[-\omega, \omega]\f$ corresponding to the value
+    of <CODE>absolute_error</CODE>
+  */
+  static FP_Interval_Type compute_absolute_error();
+
+}; // class Floating_Point_Expression
+
+
+template <typename FP_Interval_Type, typename FP_Format>
+FP_Interval_Type Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::absolute_error = compute_absolute_error();
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Floating_Point_Expression.inlines.hh"
+#include "Floating_Point_Expression.templates.hh"
+
+#endif // !defined(PPL_Floating_Point_Expression_defs_hh)
diff --git a/src/Floating_Point_Expression.inlines.hh b/src/Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..6a24cf8
--- /dev/null
+++ b/src/Floating_Point_Expression.inlines.hh
@@ -0,0 +1,55 @@
+/* Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Floating_Point_Expression_inlines_hh
+#define PPL_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+#include "Linear_Form.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Floating_Point_Expression() {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::overflows(const FP_Linear_Form& lf) {
+  if (!lf.inhomogeneous_term().is_bounded())
+    return true;
+
+  dimension_type dimension = lf.space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    if (!lf.coefficient(Variable(i)).is_bounded())
+      return true;
+  }
+
+  return false;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Floating_Point_Expression_inlines_hh)
diff --git a/src/Floating_Point_Expression.templates.hh b/src/Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..38f05ab
--- /dev/null
+++ b/src/Floating_Point_Expression.templates.hh
@@ -0,0 +1,111 @@
+/* Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Floating_Point_Expression_templates_hh
+#define PPL_Floating_Point_Expression_templates_hh 1
+
+#include "Linear_Form.defs.hh"
+#include <cmath>
+
+namespace Parma_Polyhedra_Library {
+
+template<typename FP_Interval_Type, typename FP_Format>
+void
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::relative_error(const FP_Linear_Form& lf, FP_Linear_Form& result) {
+
+  FP_Interval_Type error_propagator;
+  boundary_type lb = -pow(FP_Format::BASE,
+  -static_cast<typename Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::boundary_type>(FP_Format::MANTISSA_BITS));
+  error_propagator.build(i_constraint(GREATER_OR_EQUAL, lb),
+                         i_constraint(LESS_OR_EQUAL, -lb));
+
+  // Handle the inhomogeneous term.
+  const FP_Interval_Type* current_term = &lf.inhomogeneous_term();
+  assert(current_term->is_bounded());
+
+  FP_Interval_Type
+    current_multiplier(std::max(std::abs(current_term->lower()),
+                                std::abs(current_term->upper())));
+  FP_Linear_Form current_result_term(current_multiplier);
+  current_result_term *= error_propagator;
+  result = FP_Linear_Form(current_result_term);
+
+  // Handle the other terms.
+  dimension_type dimension = lf.space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    current_term = &lf.coefficient(Variable(i));
+    assert(current_term->is_bounded());
+    current_multiplier
+      = FP_Interval_Type(std::max(std::abs(current_term->lower()),
+                                  std::abs(current_term->upper())));
+    current_result_term = FP_Linear_Form(Variable(i));
+    current_result_term *= current_multiplier;
+    current_result_term *= error_propagator;
+    result += current_result_term;
+  }
+
+  return;
+}
+
+template<typename FP_Interval_Type, typename FP_Format>
+void
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::intervalize(const FP_Linear_Form& lf,
+              const FP_Interval_Abstract_Store& store,
+              FP_Interval_Type& result) {
+  result = FP_Interval_Type(lf.inhomogeneous_term());
+  dimension_type dimension = lf.space_dimension();
+  assert(dimension <= store.space_dimension());
+  for (dimension_type i = 0; i < dimension; ++i) {
+    FP_Interval_Type current_addend = lf.coefficient(Variable(i));
+    const FP_Interval_Type& curr_int = store.get_interval(Variable(i));
+    current_addend *= curr_int;
+    result += current_addend;
+  }
+
+  return;
+}
+
+template<typename FP_Interval_Type, typename FP_Format>
+FP_Interval_Type
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::compute_absolute_error() {
+  typedef typename Floating_Point_Expression<FP_Interval_Type, FP_Format>
+    ::boundary_type Boundary;
+  boundary_type omega;
+  omega = std::max(pow(static_cast<Boundary>(FP_Format::BASE),
+                       static_cast<Boundary>(1 - FP_Format::EXPONENT_BIAS
+                                             - FP_Format::MANTISSA_BITS)),
+                   std::numeric_limits<Boundary>::denorm_min());
+  FP_Interval_Type result;
+  result.build(i_constraint(GREATER_OR_EQUAL, -omega),
+               i_constraint(LESS_OR_EQUAL, omega));
+  return result;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Floating_Point_Expression_templates_hh)
diff --git a/src/Floating_Point_Expression.types.hh b/src/Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..3ae6855
--- /dev/null
+++ b/src/Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Floating_Point_Expression_types_hh
+#define PPL_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Floating_Point_Expression_types_hh)
diff --git a/src/GMP_Integer.defs.hh b/src/GMP_Integer.defs.hh
index 8549121..a80ea6f 100644
--- a/src/GMP_Integer.defs.hh
+++ b/src/GMP_Integer.defs.hh
@@ -1,6 +1,6 @@
 /* GMP_Integer class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_GMP_Integer_defs_hh
 #define PPL_GMP_Integer_defs_hh 1
@@ -43,23 +43,6 @@ mpz_class& raw_value(GMP_Integer& x);
 
 //@} // Accessor Functions
 
-//! \name Memory Size Inspection Functions
-//@{
-
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type total_memory_in_bytes(const GMP_Integer& x);
-
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type external_memory_in_bytes(const GMP_Integer& x);
-
-//@} // Memory Size Inspection Functions
-
 //! \name Arithmetic Operators
 //@{
 
diff --git a/src/GMP_Integer.inlines.hh b/src/GMP_Integer.inlines.hh
index f00e127..64a00ad 100644
--- a/src/GMP_Integer.inlines.hh
+++ b/src/GMP_Integer.inlines.hh
@@ -1,6 +1,6 @@
 /* GMP_Integer class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_GMP_Integer_inlines_hh
 #define PPL_GMP_Integer_inlines_hh 1
diff --git a/src/GMP_Integer.types.hh b/src/GMP_Integer.types.hh
index b8aba4b..9a3e111 100644
--- a/src/GMP_Integer.types.hh
+++ b/src/GMP_Integer.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -26,7 +26,7 @@ namespace Parma_Polyhedra_Library {
   \ingroup PPL_CXX_interface
   GMP_Integer is an alias for the <CODE>mpz_class</CODE> type
   defined in the C++ interface of the GMP library.
-  For more information, see <CODE>http://www.swox.com/gmp/</CODE>
+  For more information, see <CODE>http://gmplib.org/</CODE>
 */
 typedef mpz_class GMP_Integer;
 
diff --git a/src/Generator.cc b/src/Generator.cc
index 66d6aa3..ab61b35 100644
--- a/src/Generator.cc
+++ b/src/Generator.cc
@@ -1,6 +1,6 @@
 /* Generator class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Generator.defs.hh"
-
 #include "Variable.defs.hh"
+#include "Variables_Set.defs.hh"
+#include "math_utilities.defs.hh"
+
 #include <iostream>
 #include <sstream>
 #include <stdexcept>
@@ -34,12 +35,12 @@ namespace PPL = Parma_Polyhedra_Library;
 
 void
 PPL::Generator::throw_dimension_incompatible(const char* method,
-					     const char* name_var,
+					     const char* v_name,
 					     const Variable v) const {
   std::ostringstream s;
   s << "PPL::Generator::" << method << ":" << std::endl
     << "this->space_dimension() == " << space_dimension() << ", "
-    << name_var << ".space_dimension() == " << v.space_dimension() << ".";
+    << v_name << ".space_dimension() == " << v.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
@@ -54,74 +55,163 @@ PPL::Generator::throw_invalid_argument(const char* method,
 
 PPL::Generator
 PPL::Generator::point(const Linear_Expression& e,
-		      Coefficient_traits::const_reference d) {
+                      Coefficient_traits::const_reference d,
+                      Representation r) {
   if (d == 0)
     throw std::invalid_argument("PPL::point(e, d):\n"
-				"d == 0.");
-  Linear_Expression ec = e;
+                                "d == 0.");
+  Linear_Expression ec(e, r);
+  ec.set_inhomogeneous_term(d);
   Generator g(ec, Generator::POINT, NECESSARILY_CLOSED);
-  g[0] = d;
 
   // If the divisor is negative, we negate it as well as
   // all the coefficients of the point, because we want to preserve
   // the invariant: the divisor of a point is strictly positive.
   if (d < 0)
-    for (dimension_type i = g.size(); i-- > 0; )
-      neg_assign(g[i]);
+    neg_assign(g.expr);
 
   // Enforce normalization.
-  g.normalize();
+  g.expr.normalize();
   return g;
 }
 
 PPL::Generator
+PPL::Generator::point(const Linear_Expression& e,
+                      Representation r) {
+  return point(e, Coefficient_one(), r);
+}
+
+PPL::Generator
+PPL::Generator::point(Representation r) {
+  return point(Linear_Expression::zero(), Coefficient_one(), r);
+}
+
+PPL::Generator
 PPL::Generator::closure_point(const Linear_Expression& e,
-			      Coefficient_traits::const_reference d) {
+			      Coefficient_traits::const_reference d,
+                              Representation r) {
   if (d == 0)
     throw std::invalid_argument("PPL::closure_point(e, d):\n"
 				"d == 0.");
-  // Adding the epsilon dimension with coefficient 0.
-  Linear_Expression ec = 0 * Variable(e.space_dimension());
-  ec += e;
-  // A closure point is indeed a point in the higher dimension space.
-  Generator g = point(ec, d);
-  // Fix the topology.
-  g.set_not_necessarily_closed();
+  Linear_Expression ec(e, r);
+  ec.set_inhomogeneous_term(d);
+
+  Generator g(ec, Generator::POINT, NOT_NECESSARILY_CLOSED);
+
+  // If the divisor is negative, we negate it as well as
+  // all the coefficients of the point, because we want to preserve
+  // the invariant: the divisor of a point is strictly positive.
+  if (d < 0)
+    neg_assign(g.expr);
+
   // Enforce normalization.
-  g.normalize();
+  g.expr.normalize();
   return g;
 }
 
 PPL::Generator
-PPL::Generator::ray(const Linear_Expression& e) {
+PPL::Generator::closure_point(const Linear_Expression& e,
+                              Representation r) {
+  return closure_point(e, Coefficient_one(), r);
+}
+
+PPL::Generator
+PPL::Generator::closure_point(Representation r) {
+  return closure_point(Linear_Expression::zero(), Coefficient_one(), r);
+}
+
+PPL::Generator
+PPL::Generator::ray(const Linear_Expression& e, Representation r) {
   // The origin of the space cannot be a ray.
   if (e.all_homogeneous_terms_are_zero())
     throw std::invalid_argument("PPL::ray(e):\n"
 				"e == 0, but the origin cannot be a ray.");
 
-  Linear_Expression ec = e;
+  Linear_Expression ec(e, r);
+  ec.set_inhomogeneous_term(0);
   Generator g(ec, Generator::RAY, NECESSARILY_CLOSED);
-  g[0] = 0;
-  // Enforce normalization.
-  g.normalize();
+
   return g;
 }
 
 PPL::Generator
-PPL::Generator::line(const Linear_Expression& e) {
+PPL::Generator::line(const Linear_Expression& e, Representation r) {
   // The origin of the space cannot be a line.
   if (e.all_homogeneous_terms_are_zero())
     throw std::invalid_argument("PPL::line(e):\n"
 				"e == 0, but the origin cannot be a line.");
 
-  Linear_Expression ec = e;
+  Linear_Expression ec(e, r);
+  ec.set_inhomogeneous_term(0);
   Generator g(ec, Generator::LINE, NECESSARILY_CLOSED);
-  g[0] = 0;
-  // Enforce normalization.
-  g.strong_normalize();
+
   return g;
 }
 
+void
+PPL::Generator::swap_space_dimensions(Variable v1, Variable v2) {
+  PPL_ASSERT(v1.space_dimension() <= space_dimension());
+  PPL_ASSERT(v2.space_dimension() <= space_dimension());
+  expr.swap_space_dimensions(v1, v2);
+  // *this is still normalized but it may not be strongly normalized.
+  sign_normalize();
+  PPL_ASSERT(OK());
+}
+
+bool
+PPL::Generator::remove_space_dimensions(const Variables_Set& vars) {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  expr.remove_space_dimensions(vars);
+
+  if (is_line_or_ray() && expr.all_homogeneous_terms_are_zero()) {
+    // Become a point.
+    set_is_ray_or_point();
+    expr.set_inhomogeneous_term(1);
+    if (is_not_necessarily_closed())
+      set_epsilon_coefficient(1);
+
+    PPL_ASSERT(OK());
+    return false;
+  } else {
+    strong_normalize();
+    PPL_ASSERT(OK());
+    return true;
+  }
+}
+
+void
+PPL::Generator
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  if (cycle.size() < 2)
+    // No-op. No need to call sign_normalize().
+    return;
+
+  expr.permute_space_dimensions(cycle);
+
+  // *this is still normalized but may be not strongly normalized: sign
+  // normalization is necessary.
+  sign_normalize();
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Generator::linear_combine(const Generator& y, dimension_type i) {
+  expr.linear_combine(y.expr, i);
+  strong_normalize();
+}
+
+/*! \relates Parma_Polyhedra_Library::Generator */
+int
+PPL::compare(const Generator& x, const Generator& y) {
+  const bool x_is_line_or_equality = x.is_line_or_equality();
+  const bool y_is_line_or_equality = y.is_line_or_equality();
+  if (x_is_line_or_equality != y_is_line_or_equality)
+    // Equalities (lines) precede inequalities (ray/point).
+    return y_is_line_or_equality ? 2 : -2;
+
+  return compare(x.expr, y.expr);
+}
+
 bool
 PPL::Generator::is_equivalent_to(const Generator& y) const {
   const Generator& x = *this;
@@ -144,18 +234,31 @@ PPL::Generator::is_equivalent_to(const Generator& y) const {
     x_expr.normalize();
     y_expr.normalize();
     // ... and finally check for syntactic equality.
-    for (dimension_type i = x_space_dim + 1; i-- > 0; )
-      if (x_expr[i] != y_expr[i])
-	return false;
-    return true;
+    return x_expr.is_equal_to(y_expr);
   }
 
   // Here the epsilon-coefficient, if present, is zero.
   // It is sufficient to check for syntactic equality.
-  for (dimension_type i = x_space_dim + 1; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
+  return x.expr.is_equal_to(y.expr);
+}
+
+bool
+PPL::Generator::is_equal_to(const Generator& y) const {
+  return expr.is_equal_to(y.expr) && kind_ == y.kind_
+         && topology_ == y.topology_;
+}
+
+void
+PPL::Generator::sign_normalize() {
+  if (is_line_or_equality())
+    expr.sign_normalize();
+}
+
+bool
+PPL::Generator::check_strong_normalized() const {
+  Generator tmp = *this;
+  tmp.strong_normalize();
+  return compare(*this, tmp) == 0;
 }
 
 const PPL::Generator* PPL::Generator::zero_dim_point_p = 0;
@@ -183,13 +286,12 @@ PPL::Generator::finalize() {
   zero_dim_closure_point_p = 0;
 }
 
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream&
-PPL::IO_Operators::operator<<(std::ostream& s, const Generator& g) {
-  bool needed_divisor = false;
+void
+PPL::Generator::fancy_print(std::ostream& s) const {
+    bool needed_divisor = false;
   bool extra_parentheses = false;
-  const dimension_type num_variables = g.space_dimension();
-  Generator::Type t = g.type();
+  const dimension_type num_variables = space_dimension();
+  Generator::Type t = type();
   switch (t) {
   case Generator::LINE:
     s << "l(";
@@ -203,41 +305,36 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Generator& g) {
   case Generator::CLOSURE_POINT:
     s << "c(";
   any_point:
-    if (g[0] != 1) {
+    if (expr.inhomogeneous_term() != 1) {
       needed_divisor = true;
-      dimension_type num_non_zero_coefficients = 0;
-      for (dimension_type v = 0; v < num_variables; ++v)
-	if (g[v+1] != 0)
-	  if (++num_non_zero_coefficients > 1) {
-	    extra_parentheses = true;
-	    s << "(";
-	    break;
-	  }
+      if (!expr.all_zeroes(1, num_variables + 1)) {
+        extra_parentheses = true;
+        s << "(";
+      }
     }
     break;
   }
 
-  PPL_DIRTY_TEMP_COEFFICIENT(gv);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
   bool first = true;
-  for (dimension_type v = 0; v < num_variables; ++v) {
-    gv = g[v+1];
-    if (gv != 0) {
-      if (!first) {
-	if (gv > 0)
-	  s << " + ";
-	else {
-	  s << " - ";
-	  neg_assign(gv);
-	}
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.lower_bound(Variable(num_variables)); i != i_end; ++i) {
+    c = *i;
+    if (!first) {
+      if (c > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(c);
       }
-      else
-	first = false;
-      if (gv == -1)
-	s << "-";
-      else if (gv != 1)
-	s << gv << "*";
-      s << PPL::Variable(v);
     }
+    else
+      first = false;
+    if (c == -1)
+      s << "-";
+    else if (c != 1)
+      s << c << "*";
+    IO_Operators::operator<<(s, i.variable());
   }
   if (first)
     // A point or closure point in the origin.
@@ -245,8 +342,14 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Generator& g) {
   if (extra_parentheses)
     s << ")";
   if (needed_divisor)
-    s << "/" << g[0];
+    s << "/" << expr.inhomogeneous_term();
   s << ")";
+}
+
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream&
+PPL::IO_Operators::operator<<(std::ostream& s, const Generator& g) {
+  g.fancy_print(s);
   return s;
 }
 
@@ -279,67 +382,48 @@ PPL::Generator::is_matching_closure_point(const Generator& p) const {
 	 && type() == CLOSURE_POINT
 	 && p.type() == POINT);
   const Generator& cp = *this;
-  if (cp[0] == p[0]) {
+  if (cp.expr.inhomogeneous_term() == p.expr.inhomogeneous_term()) {
     // Divisors are equal: we can simply compare coefficients
     // (disregarding the epsilon coefficient).
-    for (dimension_type i = cp.size() - 2; i > 0; --i)
-      if (cp[i] != p[i])
-	return false;
-    return true;
+    return cp.expr.is_equal_to(p.expr, 1, cp.expr.space_dimension());
   }
   else {
     // Divisors are different: divide them by their GCD
     // to simplify the following computation.
     PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-    gcd_assign(gcd, cp[0], p[0]);
+    gcd_assign(gcd, cp.expr.inhomogeneous_term(), p.expr.inhomogeneous_term());
     const bool rel_prime = (gcd == 1);
     PPL_DIRTY_TEMP_COEFFICIENT(cp_0_scaled);
     PPL_DIRTY_TEMP_COEFFICIENT(p_0_scaled);
     if (!rel_prime) {
-      exact_div_assign(cp_0_scaled, cp[0], gcd);
-      exact_div_assign(p_0_scaled, p[0], gcd);
-    }
-    const Coefficient& cp_div = rel_prime ? cp[0] : cp_0_scaled;
-    const Coefficient& p_div = rel_prime ? p[0] : p_0_scaled;
-    PPL_DIRTY_TEMP_COEFFICIENT(prod1);
-    PPL_DIRTY_TEMP_COEFFICIENT(prod2);
-    for (dimension_type i = cp.size() - 2; i > 0; --i) {
-      prod1 = cp[i] * p_div;
-      prod2 = p[i] * cp_div;
-      if (prod1 != prod2)
-	return false;
+      exact_div_assign(cp_0_scaled, cp.expr.inhomogeneous_term(), gcd);
+      exact_div_assign(p_0_scaled, p.expr.inhomogeneous_term(), gcd);
     }
-    return true;
+    const Coefficient& cp_div = rel_prime ? cp.expr.inhomogeneous_term() : cp_0_scaled;
+    const Coefficient& p_div = rel_prime ? p.expr.inhomogeneous_term() : p_0_scaled;
+    return cp.expr.is_equal_to(p.expr, p_div, cp_div, 1, cp.expr.space_dimension());
   }
 }
 
 PPL_OUTPUT_DEFINITIONS(Generator)
 
+
 bool
 PPL::Generator::OK() const {
-  // Check the underlying Linear_Row object.
-  if (!Linear_Row::OK())
-    return false;
-
-  // Topology consistency check.
-  const dimension_type min_size = is_necessarily_closed() ? 1 : 2;
-  if (size() < min_size) {
+  // Topology consistency checks.
+  if (is_not_necessarily_closed() && expr.space_dimension() == 0) {
 #ifndef NDEBUG
     std::cerr << "Generator has fewer coefficients than the minimum "
-	      << "allowed by its topology:"
-	      << std::endl
-	      << "size is " << size()
-	      << ", minimum is " << min_size << "."
+	      << "allowed by its topology."
 	      << std::endl;
 #endif
     return false;
   }
 
   // Normalization check.
-  const Generator& g = *this;
-  Generator tmp = g;
+  Generator tmp = *this;
   tmp.strong_normalize();
-  if (tmp != g) {
+  if (tmp != *this) {
 #ifndef NDEBUG
     std::cerr << "Generators should be strongly normalized!"
 	      << std::endl;
@@ -347,18 +431,18 @@ PPL::Generator::OK() const {
     return false;
   }
 
-  switch (g.type()) {
+  switch (type()) {
   case LINE:
     // Intentionally fall through.
   case RAY:
-    if (g[0] != 0) {
+    if (expr.inhomogeneous_term() != 0) {
 #ifndef NDEBUG
       std::cerr << "Lines must have a zero inhomogeneous term!"
 		<< std::endl;
 #endif
       return false;
     }
-    if (!g.is_necessarily_closed() && g[size() - 1] != 0) {
+    if (!is_necessarily_closed() && epsilon_coefficient() != 0) {
 #ifndef NDEBUG
       std::cerr << "Lines and rays must have a zero coefficient "
 		<< "for the epsilon dimension!"
@@ -368,7 +452,7 @@ PPL::Generator::OK() const {
     }
     // The following test is correct, since we already checked
     // that the epsilon coordinate is zero.
-    if (g.all_homogeneous_terms_are_zero()) {
+    if (expr.all_homogeneous_terms_are_zero()) {
 #ifndef NDEBUG
       std::cerr << "The origin of the vector space cannot be a line or a ray!"
 		<< std::endl;
@@ -378,15 +462,15 @@ PPL::Generator::OK() const {
     break;
 
   case POINT:
-    if (g[0] <= 0) {
+    if (expr.inhomogeneous_term() <= 0) {
 #ifndef NDEBUG
       std::cerr << "Points must have a positive divisor!"
 		<< std::endl;
 #endif
       return false;
     }
-    if (!g.is_necessarily_closed())
-      if (g[size() - 1] <= 0) {
+    if (!is_necessarily_closed())
+      if (epsilon_coefficient() <= 0) {
 #ifndef NDEBUG
 	std::cerr << "In the NNC topology, points must have epsilon > 0"
 		  << std::endl;
@@ -396,7 +480,7 @@ PPL::Generator::OK() const {
     break;
 
   case CLOSURE_POINT:
-    if (g[0] <= 0) {
+    if (expr.inhomogeneous_term() <= 0) {
 #ifndef NDEBUG
       std::cerr << "Closure points must have a positive divisor!"
 		<< std::endl;
diff --git a/src/Generator.defs.hh b/src/Generator.defs.hh
index 0abc58b..c842319 100644
--- a/src/Generator.defs.hh
+++ b/src/Generator.defs.hh
@@ -1,6 +1,6 @@
 /* Generator class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,30 +19,76 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Generator_defs_hh
 #define PPL_Generator_defs_hh 1
 
 #include "Generator.types.hh"
 #include "Scalar_Products.types.hh"
-#include "Row.defs.hh"
-#include "Variable.defs.hh"
+#include "Variables_Set.types.hh"
 #include "Constraint_System.types.hh"
-#include "Generator_System.defs.hh"
+#include "Generator_System.types.hh"
 #include "Congruence_System.types.hh"
-#include "Linear_Expression.defs.hh"
 #include "Polyhedron.types.hh"
 #include "Grid_Generator.types.hh"
 #include "Grid_Generator_System.types.hh"
+#include "MIP_Problem.types.hh"
+#include "Grid.types.hh"
+
+#include "Variable.defs.hh"
+#include "Linear_Expression.defs.hh"
 #include "Checked_Number.defs.hh"
 #include "distances.defs.hh"
+#include "Topology.types.hh"
+#include "Expression_Hide_Last.defs.hh"
+#include "Expression_Hide_Inhomo.defs.hh"
+
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
 // Put them in the namespace here to declare them friend later.
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Generator
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Generator& x, const Generator& y);
+
 namespace IO_Operators {
 
 //! Output operator.
@@ -51,16 +97,11 @@ std::ostream& operator<<(std::ostream& s, const Generator& g);
 
 } // namespace IO_Operators
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator */
-void swap(Parma_Polyhedra_Library::Generator& x,
-	  Parma_Polyhedra_Library::Generator& y);
+//! Swaps \p x with \p y.
+/*! \relates Generator */
+void swap(Generator& x, Generator& y);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 
 //! A line, ray, point or closure point.
@@ -241,15 +282,25 @@ void swap(Parma_Polyhedra_Library::Generator& x,
   the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
   these are equivalent only when the divisor of the (closure) point is 1.
 */
-class Parma_Polyhedra_Library::Generator : private Linear_Row {
+class Parma_Polyhedra_Library::Generator {
 public:
+
+  //! The representation used for new Generators.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
   //! Returns the line of direction \p e.
   /*!
     \exception std::invalid_argument
     Thrown if the homogeneous part of \p e represents the origin of
     the vector space.
   */
-  static Generator line(const Linear_Expression& e);
+  static Generator line(const Linear_Expression& e,
+                        Representation r = default_representation);
 
   //! Returns the ray of direction \p e.
   /*!
@@ -257,7 +308,8 @@ public:
     Thrown if the homogeneous part of \p e represents the origin of
     the vector space.
   */
-  static Generator ray(const Linear_Expression& e);
+  static Generator ray(const Linear_Expression& e,
+                       Representation r = default_representation);
 
   //! Returns the point at \p e / \p d.
   /*!
@@ -268,9 +320,20 @@ public:
     Thrown if \p d is zero.
   */
   static Generator point(const Linear_Expression& e
-			 = Linear_Expression::zero(),
-			 Coefficient_traits::const_reference d
-			 = Coefficient_one());
+                         = Linear_Expression::zero(),
+                         Coefficient_traits::const_reference d
+                         = Coefficient_one(),
+                         Representation r = default_representation);
+
+  //! Returns the origin.
+  static Generator point(Representation r);
+
+  //! Returns the point at \p e.
+  static Generator point(const Linear_Expression& e,
+                         Representation r);
+
+  //! Constructs the point at the origin.
+  explicit Generator(Representation r = default_representation);
 
   //! Returns the closure point at \p e / \p d.
   /*!
@@ -282,23 +345,86 @@ public:
   */
   static Generator
   closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-		Coefficient_traits::const_reference d = Coefficient_one());
+                Coefficient_traits::const_reference d = Coefficient_one(),
+                Representation r = default_representation);
+
+  //! Returns the closure point at the origin.
+  static Generator
+  closure_point(Representation r);
+
+  //! Returns the closure point at \p e.
+  static Generator
+  closure_point(const Linear_Expression& e, Representation r);
 
   //! Ordinary copy constructor.
+  //! The representation of the new Generator will be the same as g.
   Generator(const Generator& g);
 
+  //! Copy constructor with given representation.
+  Generator(const Generator& g, Representation r);
+
+  //! Copy constructor with given space dimension.
+  //! The representation of the new Generator will be the same as g.
+  Generator(const Generator& g, dimension_type space_dim);
+
+  //! Copy constructor with given representation and space dimension.
+  Generator(const Generator& g, dimension_type space_dim, Representation r);
+
   //! Destructor.
   ~Generator();
 
   //! Assignment operator.
   Generator& operator=(const Generator& g);
 
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
   //! Returns the maximum space dimension a Generator can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the generator.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    If all dimensions with nonzero coefficients are removed from a ray or a
+    line, it is changed into a point and this method returns \p false .
+    Otherwise, it returns \p true .
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the generator.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
   //! The generator type.
   enum Type {
     /*! The generator is a line. */
@@ -378,6 +504,16 @@ public:
   */
   bool is_equivalent_to(const Generator& y) const;
 
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent generators.
+  */
+  bool is_equal_to(const Generator& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
@@ -387,13 +523,34 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
   //! Swaps \p *this with \p y.
-  void swap(Generator& y);
+  void m_swap(Generator& y);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Expression_Hide_Inhomo<Linear_Expression> > Expression;
+
+  //! Allows user code to read the internal expression (but note that this
+  //! is a different type, not all operations are allowed).
+  const Expression& expression() const;
 
 private:
+  //! The possible kinds of Generator objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  Linear_Expression expr;
+
+  Expression_Hide_Inhomo<Linear_Expression> semi_wrapped_expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
+  Topology topology_;
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
     the origin of the zero-dimensional space \f$\Rset^0\f$.
@@ -409,16 +566,110 @@ private:
   /*! \brief
     Builds a generator of type \p type and topology \p topology,
     stealing the coefficients from \p e.
+
+    If the topology is NNC, the last dimension of \p e is used as the epsilon
+    coefficient.
   */
   Generator(Linear_Expression& e, Type type, Topology topology);
 
+  Generator(Linear_Expression& e, Kind kind, Topology topology);
+
+  Generator(dimension_type space_dim, Kind kind, Topology topology,
+            Representation r = default_representation);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
+  //@} // Flags inspection methods
+
+  //! \name Flags coercion methods
+  //@{
+
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
+
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+  //@} // Flags coercion methods
+
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The row topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The row topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Generator that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Generator to \p *this and normalizes it.
+  */
+  void linear_combine(const Generator& y, dimension_type i);
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
   /*! \brief
     Throw a <CODE>std::invalid_argument</CODE> exception
     containing the appropriate error message.
   */
   void
   throw_dimension_incompatible(const char* method,
-			       const char* name_var,
+			       const char* v_name,
 			       Variable v) const;
 
   /*! \brief
@@ -428,35 +679,13 @@ private:
   void
   throw_invalid_argument(const char* method, const char* reason) const;
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
-  friend class Parma_Polyhedra_Library::Generator_System;
-  friend class Parma_Polyhedra_Library::Generator_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  // This is for access to Row and Linear_Row in `insert'.
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
-
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Generator& g);
-
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Generator& g);
-
-  //! Copy constructor with given space dimension.
-  Generator(const Generator& g, dimension_type dimension);
-
   //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
   bool is_ray_or_point() const;
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  //! Sets the Generator kind to <CODE>LINE_OR_EQUALITY</CODE>.
   void set_is_line();
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  //! Sets the Generator kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
   void set_is_ray_or_point();
 
   /*! \brief
@@ -468,40 +697,123 @@ private:
   */
   bool is_matching_closure_point(const Generator& p) const;
 
-  //! Default constructor: private and not implemented.
-  Generator();
+  //! Returns the epsilon coefficient. The generator must be NNC.
+  Coefficient_traits::const_reference epsilon_coefficient() const;
+
+  //! Sets the epsilon coefficient to \p n. The generator must be NNC.
+  void set_epsilon_coefficient(Coefficient_traits::const_reference n);
+
+  /*! \brief
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
+
+  /*! \brief
+    Strong normalization: ensures that different Generator objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Generator::normalize() and Generator::sign_normalize().
+  */
+  void strong_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  //! Another print functions, with fancy output, more human-friendly.
+  //! This is used by operator<<();
+  void fancy_print(std::ostream& s) const;
+
+  friend class Linear_System<Generator>;
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
+  friend class Parma_Polyhedra_Library::Generator_System;
+  friend class Parma_Polyhedra_Library::Generator_System_const_iterator;
+  // FIXME: the following friend declaration should be avoided.
+  friend class Parma_Polyhedra_Library::Polyhedron;
+  // This is for access to Linear_Expression in `insert'.
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+  friend class Parma_Polyhedra_Library::MIP_Problem;
+  friend class Parma_Polyhedra_Library::Grid;
+
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Generator& g);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Generator& g);
+
+  friend int
+  compare(const Generator& x, const Generator& y);
 };
 
 
 namespace Parma_Polyhedra_Library {
 
-//! Shorthand for Generator Generator::line(const Linear_Expression& e).
+//! Shorthand for Generator::line(const Linear_Expression& e, Representation r).
 /*! \relates Generator */
-Generator line(const Linear_Expression& e);
+Generator line(const Linear_Expression& e,
+               Representation r = Generator::default_representation);
 
-//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
+//! Shorthand for Generator::ray(const Linear_Expression& e, Representation r).
 /*! \relates Generator */
-Generator ray(const Linear_Expression& e);
+Generator ray(const Linear_Expression& e,
+              Representation r = Generator::default_representation);
 
 /*! \brief
-  Shorthand for Generator
-  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+  Shorthand for
+  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
 
   \relates Generator
 */
 Generator
 point(const Linear_Expression& e = Linear_Expression::zero(),
-      Coefficient_traits::const_reference d = Coefficient_one());
+      Coefficient_traits::const_reference d = Coefficient_one(),
+      Representation r = Generator::default_representation);
+
+//! Shorthand for Generator::point(Representation r).
+/*! \relates Generator */
+Generator
+point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Generator::point(const Linear_Expression& e, Representation r).
+
+  \relates Generator
+*/
+Generator
+point(const Linear_Expression& e, Representation r);
 
 /*! \brief
-  Shorthand for Generator
-  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+  Shorthand for
+  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
 
   \relates Generator
 */
 Generator
 closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-	      Coefficient_traits::const_reference d = Coefficient_one());
+              Coefficient_traits::const_reference d = Coefficient_one(),
+              Representation r = Generator::default_representation);
+
+//! Shorthand for Generator::closure_point(Representation r).
+/*! \relates Generator */
+Generator
+closure_point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Generator::closure_point(const Linear_Expression& e, Representation r).
+
+  \relates Generator
+*/
+Generator
+closure_point(const Linear_Expression& e, Representation r);
 
 //! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
 /*! \relates Generator */
diff --git a/src/Generator.inlines.hh b/src/Generator.inlines.hh
index 99a25de..88e0a96 100644
--- a/src/Generator.inlines.hh
+++ b/src/Generator.inlines.hh
@@ -1,6 +1,6 @@
 /* Generator class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,30 +19,190 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Generator_inlines_hh
 #define PPL_Generator_inlines_hh 1
 
 namespace Parma_Polyhedra_Library {
 
+inline bool
+Generator::is_necessarily_closed() const {
+  return (topology() == NECESSARILY_CLOSED);
+}
+
+inline bool
+Generator::is_not_necessarily_closed() const {
+  return (topology() == NOT_NECESSARILY_CLOSED);
+}
+
+inline dimension_type
+Generator::space_dimension() const {
+  return wrapped_expr.space_dimension();
+}
+
+inline bool
+Generator::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Generator::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Generator::topology() const {
+  return topology_;
+}
+
+inline void
+Generator::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Generator::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Generator::set_topology(Topology x) {
+  if (topology() == x)
+    return;
+  if (topology() == NECESSARILY_CLOSED) {
+    // Add a column for the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+    wrapped_expr.set_hide_last(true);
+  } else {
+    PPL_ASSERT(expr.space_dimension() > 0);
+    expr.set_space_dimension(expr.space_dimension() - 1);
+    wrapped_expr.set_hide_last(false);
+  }
+  topology_ = x;
+}
+
+inline void
+Generator::mark_as_necessarily_closed() {
+  PPL_ASSERT(is_not_necessarily_closed());
+  topology_ = NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(false);
+}
+
+inline void
+Generator::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(is_necessarily_closed());
+  topology_ = NOT_NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(true);
+}
+
+inline void
+Generator::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Generator::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
 inline
-Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
+Generator::Generator(Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, false),
+    kind_(RAY_OR_POINT_OR_INEQUALITY),
+    topology_(NECESSARILY_CLOSED) {
+  expr.set_inhomogeneous_term(Coefficient_one());
+  PPL_ASSERT(space_dimension() == 0);
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(dimension_type space_dim, Kind kind, Topology topology,
+                     Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  if (is_necessarily_closed())
+    expr.set_space_dimension(space_dim);
+  else
+    expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(Linear_Expression& e, Type type, Topology topology)
+  : semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    topology_(topology) {
   PPL_ASSERT(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == LINE
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  if (type == LINE)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  strong_normalize();
+}
+
+inline
+Generator::Generator(Linear_Expression& e, Kind kind, Topology topology)
+  : semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  strong_normalize();
 }
 
 inline
 Generator::Generator(const Generator& g)
-  : Linear_Row(g) {
+  : expr(g.expr),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+}
+
+inline
+Generator::Generator(const Generator& g, Representation r)
+  : expr(g.expr, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  // This does not assert OK() because it's called by OK().
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(const Generator& g, dimension_type space_dim)
+  : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1)),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
 }
 
 inline
-Generator::Generator(const Generator& g, dimension_type dimension)
-  : Linear_Row(g, dimension, dimension) {
+Generator::Generator(const Generator& g, dimension_type space_dim,
+                     Representation r)
+  : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1), r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
 }
 
 inline
@@ -51,18 +211,61 @@ Generator::~Generator() {
 
 inline Generator&
 Generator::operator=(const Generator& g) {
-  Linear_Row::operator=(g);
+  Generator tmp = g;
+  swap(*this, tmp);
+
   return *this;
 }
 
+inline const Generator::Expression&
+Generator::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Generator::representation() const {
+  return expr.representation();
+}
+
+inline void
+Generator::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
 inline dimension_type
 Generator::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+  return Linear_Expression::max_space_dimension();
 }
 
-inline dimension_type
-Generator::space_dimension() const {
-  return Linear_Row::space_dimension();
+inline void
+Generator::set_space_dimension_no_ok(dimension_type space_dim) {
+  const dimension_type old_expr_space_dim = expr.space_dimension();
+  if (topology() == NECESSARILY_CLOSED) {
+    expr.set_space_dimension(space_dim);
+  } else {
+    const dimension_type old_space_dim = space_dimension();
+    if (space_dim > old_space_dim) {
+      expr.set_space_dimension(space_dim + 1);
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    } else {
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+      expr.set_space_dimension(space_dim + 1);
+    }
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+  if (expr.space_dimension() < old_expr_space_dim)
+    strong_normalize();
+}
+
+inline void
+Generator::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Generator::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
 }
 
 inline bool
@@ -77,7 +280,7 @@ Generator::is_ray_or_point() const {
 
 inline bool
 Generator::is_line_or_ray() const {
-  return (*this)[0] == 0;
+  return expr.inhomogeneous_term() == 0;
 }
 
 inline bool
@@ -95,8 +298,10 @@ Generator::type() const {
     return POINT;
   else {
     // Checking the value of the epsilon coefficient.
-    const Generator& g = *this;
-    return (g[size() - 1] == 0) ? CLOSURE_POINT : POINT;
+    if (epsilon_coefficient() == 0)
+      return CLOSURE_POINT;
+    else
+      return POINT;
   }
 }
 
@@ -124,26 +329,46 @@ inline Coefficient_traits::const_reference
 Generator::coefficient(const Variable v) const {
   if (v.space_dimension() > space_dimension())
     throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
+  return expr.coefficient(v);
 }
 
 inline Coefficient_traits::const_reference
 Generator::divisor() const {
-  Coefficient_traits::const_reference d = Linear_Row::inhomogeneous_term();
+  Coefficient_traits::const_reference d = expr.inhomogeneous_term();
   if (!is_ray_or_point() || d == 0)
     throw_invalid_argument("divisor()",
 			   "*this is neither a point nor a closure point");
   return d;
 }
 
+inline Coefficient_traits::const_reference
+Generator::epsilon_coefficient() const {
+  PPL_ASSERT(is_not_necessarily_closed());
+  return expr.coefficient(Variable(expr.space_dimension() - 1));
+}
+
+
+inline void
+Generator::set_epsilon_coefficient(Coefficient_traits::const_reference n) {
+  PPL_ASSERT(is_not_necessarily_closed());
+  expr.set_coefficient(Variable(expr.space_dimension() - 1), n);
+}
+
+
 inline memory_size_type
 Generator::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+  return expr.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Generator::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline void
+Generator::strong_normalize() {
+  expr.normalize();
+  sign_normalize();
 }
 
 inline const Generator&
@@ -160,27 +385,54 @@ Generator::zero_dim_closure_point() {
 
 /*! \relates Generator */
 inline Generator
-line(const Linear_Expression& e) {
-  return Generator::line(e);
+line(const Linear_Expression& e, Representation r) {
+  return Generator::line(e, r);
+}
+
+/*! \relates Generator */
+inline Generator
+ray(const Linear_Expression& e, Representation r) {
+  return Generator::ray(e, r);
+}
+
+/*! \relates Generator */
+inline Generator
+point(const Linear_Expression& e, Coefficient_traits::const_reference d,
+      Representation r) {
+  return Generator::point(e, d, r);
 }
 
 /*! \relates Generator */
 inline Generator
-ray(const Linear_Expression& e) {
-  return Generator::ray(e);
+point(Representation r) {
+  return Generator::point(r);
 }
 
 /*! \relates Generator */
 inline Generator
-point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
-  return Generator::point(e, d);
+point(const Linear_Expression& e, Representation r) {
+  return Generator::point(e, r);
 }
 
 /*! \relates Generator */
 inline Generator
 closure_point(const Linear_Expression& e,
-	      Coefficient_traits::const_reference d) {
-  return Generator::closure_point(e, d);
+              Coefficient_traits::const_reference d,
+              Representation r) {
+  return Generator::closure_point(e, d, r);
+}
+
+/*! \relates Generator */
+inline Generator
+closure_point(Representation r) {
+  return Generator::closure_point(r);
+}
+
+/*! \relates Generator */
+inline Generator
+closure_point(const Linear_Expression& e,
+              Representation r) {
+  return Generator::closure_point(e, r);
 }
 
 /*! \relates Generator */
@@ -197,17 +449,97 @@ operator!=(const Generator& x, const Generator& y) {
 
 inline void
 Generator::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+
+  expr.ascii_dump(s);
+
+  s << " ";
+  
+  switch (type()) {
+  case Generator::LINE:
+    s << "L ";
+    break;
+  case Generator::RAY:
+    s << "R ";
+    break;
+  case Generator::POINT:
+    s << "P ";
+    break;
+  case Generator::CLOSURE_POINT:
+    s << "C ";
+    break;
+  }
+  if (is_necessarily_closed())
+    s << "(C)";
+  else
+    s << "(NNC)";
+  s << "\n";
 }
 
 inline bool
 Generator::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+  std::string str;
+
+  expr.ascii_load(s);
+
+  if (!(s >> str))
+    return false;
+  if (str == "L")
+    set_is_line();
+  else if (str == "R" || str == "P" || str == "C")
+    set_is_ray_or_point();
+  else
+    return false;
+
+  std::string str2;
+
+  if (!(s >> str2))
+    return false;
+  if (str2 == "(C)") {
+    if (is_not_necessarily_closed())
+      // TODO: Avoid using the mark_as_*() methods if possible.
+      mark_as_necessarily_closed();
+  }
+  else {
+    if (str2 == "(NNC)") {
+      if (is_necessarily_closed())
+        // TODO: Avoid using the mark_as_*() methods if possible.
+        mark_as_not_necessarily_closed();
+    }
+    else
+      return false;
+  }
+
+  // Checking for equality of actual and declared types.
+  switch (type()) {
+  case Generator::LINE:
+    if (str != "L")
+      return false;
+    break;
+  case Generator::RAY:
+    if (str != "R")
+      return false;
+    break;
+  case Generator::POINT:
+    if (str != "P")
+      return false;
+    break;
+  case Generator::CLOSURE_POINT:
+    if (str != "C")
+      return false;
+    break;
+  }
+
+  return true;
 }
 
 inline void
-Generator::swap(Generator& y) {
-  Linear_Row::swap(y);
+Generator::m_swap(Generator& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  swap(topology_, y.topology_);
+  wrapped_expr.set_hide_last(is_not_necessarily_closed());
+  y.wrapped_expr.set_hide_last(y.is_not_necessarily_closed());
 }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -237,14 +569,15 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
     return true;
   }
 
-  PPL_DIRTY_TEMP0(mpq_class, x_coord);
-  PPL_DIRTY_TEMP0(mpq_class, y_coord);
-  PPL_DIRTY_TEMP0(mpq_class, x_div);
-  PPL_DIRTY_TEMP0(mpq_class, y_div);
+  PPL_DIRTY_TEMP(mpq_class, x_coord);
+  PPL_DIRTY_TEMP(mpq_class, y_coord);
+  PPL_DIRTY_TEMP(mpq_class, x_div);
+  PPL_DIRTY_TEMP(mpq_class, y_div);
   assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
   assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
 
   assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  // TODO: This loop can be optimized more, if needed.
   for (dimension_type i = x_space_dim; i-- > 0; ) {
     assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED);
     div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED);
@@ -384,17 +717,12 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   return l_infinity_distance_assign<To, To>(r, x, y, dir);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Generator */
+/*! \relates Generator */
 inline void
-swap(Parma_Polyhedra_Library::Generator& x,
-     Parma_Polyhedra_Library::Generator& y) {
-  x.swap(y);
+swap(Generator& x, Generator& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Generator_inlines_hh)
diff --git a/src/Generator.types.hh b/src/Generator.types.hh
index 0f1a803..880876f 100644
--- a/src/Generator.types.hh
+++ b/src/Generator.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Generator_System.cc b/src/Generator_System.cc
index deaa00d..5efd8ce 100644
--- a/src/Generator_System.cc
+++ b/src/Generator_System.cc
@@ -1,6 +1,6 @@
 /* Generator_System class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Generator_System.defs.hh"
 #include "Generator_System.inlines.hh"
 #include "Constraint.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "assert.hh"
 #include <string>
 #include <vector>
@@ -41,139 +41,32 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 				    const dimension_type new_space_dim) {
   PPL_ASSERT(space_dimension() <= new_space_dim);
 
-  const dimension_type old_space_dim = space_dimension();
-  const Topology old_topology = topology();
-  dimension_type cols_to_be_added = new_space_dim - old_space_dim;
-
-  // Dealing with empty generator systems first.
-  if (has_no_rows()) {
-    if (num_columns() == 0)
-      if (new_topology == NECESSARILY_CLOSED) {
-	add_zero_columns(cols_to_be_added + 1);
-	set_necessarily_closed();
-      }
-      else {
-	add_zero_columns(cols_to_be_added + 2);
-	set_not_necessarily_closed();
-      }
-    else
-      // Here `num_columns() > 0'.
-      if (old_topology != new_topology)
-	if (new_topology == NECESSARILY_CLOSED) {
-	  switch (cols_to_be_added) {
-	  case 0:
-	    remove_trailing_columns(1);
-	    break;
-	  case 1:
-	    // Nothing to do.
-	    break;
-	  default:
-	    add_zero_columns(cols_to_be_added - 1);
-	  }
-	  set_necessarily_closed();
-	}
-	else {
-	  // Here old_topology == NECESSARILY_CLOSED
-	  //  and new_topology == NOT_NECESSARILY_CLOSED.
-	  add_zero_columns(cols_to_be_added + 1);
-	  set_not_necessarily_closed();
-	}
-      else
-	// Here topologies agree.
-	if (cols_to_be_added > 0)
-	  add_zero_columns(cols_to_be_added);
-    PPL_ASSERT(OK());
-    return true;
+  if (sys.topology() != new_topology) {
+    if (new_topology == NECESSARILY_CLOSED) {
+      // A NOT_NECESSARILY_CLOSED generator system
+      // can be converted to a NECESSARILY_CLOSED one
+      // only if it does not contain closure points.
+      // This check has to be performed under the user viewpoint.
+      if (has_closure_points())
+        return false;
+      // For a correct implementation, we have to remove those
+      // closure points that were matching a point (i.e., those
+      // that are in the generator system, but are invisible to
+      // the user).
+      Generator_System& gs = *this;
+      for (dimension_type i = 0; i < sys.num_rows(); )
+        if (gs[i].is_closure_point())
+          sys.remove_row(i, false);
+        else
+          ++i;
+      sys.set_necessarily_closed();
+    } else {
+      convert_into_non_necessarily_closed();
+    }
   }
 
-  // Here the generator systen is not empty.
-  if (cols_to_be_added > 0)
-    if (old_topology != new_topology)
-      if (new_topology == NECESSARILY_CLOSED) {
-	// A NOT_NECESSARILY_CLOSED generator system
-	// can be converted to a NECESSARILY_CLOSED one
-	// only if it does not contain closure points.
-	// This check has to be performed under the user viewpoint.
-	if (has_closure_points())
-	  return false;
-	// For a correct implementation, we have to remove those
-	// closure points that were matching a point (i.e., those
-	// that are in the generator system, but are invisible to
-	// the user).
-	Generator_System& gs = *this;
-	dimension_type num_closure_points = 0;
-	dimension_type gs_end = gs.num_rows();
-	for (dimension_type i = 0; i < gs_end; ) {
-	  // All the closure points seen so far have consecutive
-	  // indices starting from `i'.
-	  if (num_closure_points > 0)
-	    // Let next generator have index `i'.
-	    std::swap(gs[i], gs[i+num_closure_points]);
-	  if (gs[i].is_closure_point()) {
-	    ++num_closure_points;
-	    --gs_end;
-	  }
-	  else
-	    ++i;
-	}
-	// We may have identified some closure points.
-	if (num_closure_points > 0) {
-	  PPL_ASSERT(num_closure_points == num_rows() - gs_end);
-	  erase_to_end(gs_end);
-	}
-	// Remove the epsilon column, re-normalize and, after that,
-	// add the missing dimensions. This ensures that
-	// non-zero epsilon coefficients will be cleared.
-	remove_trailing_columns(1);
-	set_necessarily_closed();
-	normalize();
-	add_zero_columns(cols_to_be_added);
-      }
-      else {
-	// A NECESSARILY_CLOSED generator system is converted to
-	// a NOT_NECESSARILY_CLOSED one by adding a further column
-	// and setting the epsilon coordinate of all points to 1.
-	// Note: normalization is preserved.
-	add_zero_columns(cols_to_be_added + 1);
-	Generator_System& gs = *this;
-	const dimension_type eps_index = new_space_dim + 1;
-	for (dimension_type i = num_rows(); i-- > 0; )
-	  gs[i][eps_index] = gs[i][0];
-	set_not_necessarily_closed();
-      }
-    else {
-      // Topologies agree: first add the required zero columns ...
-      add_zero_columns(cols_to_be_added);
-      // ... and, if needed, move the epsilon coefficients
-      // to the new last column.
-      if (old_topology == NOT_NECESSARILY_CLOSED)
-	swap_columns(old_space_dim + 1, new_space_dim + 1);
-    }
-  else
-    // Here `cols_to_be_added == 0'.
-    if (old_topology != new_topology) {
-      if (new_topology == NECESSARILY_CLOSED) {
-	// A NOT_NECESSARILY_CLOSED generator system
-	// can be converted in to a NECESSARILY_CLOSED one
-	// only if it does not contain closure points.
-	if (has_closure_points())
-	  return false;
-	// We just remove the column of the epsilon coefficients.
-	remove_trailing_columns(1);
-	set_necessarily_closed();
-      }
-      else {
-	// Add the column of the epsilon coefficients
-	// and set the epsilon coordinate of all points to 1.
-	// Note: normalization is preserved.
-	add_zero_columns(1);
-	Generator_System& gs = *this;
-	const dimension_type eps_index = new_space_dim + 1;
-	for (dimension_type i = num_rows(); i-- > 0; )
-	  gs[i][eps_index] = gs[i][0];
-	set_not_necessarily_closed();
-      }
-    }
+  sys.set_space_dimension(new_space_dim);
+
   // We successfully adjusted dimensions and topology.
   PPL_ASSERT(OK());
   return true;
@@ -185,21 +78,20 @@ adjust_topology_and_space_dimension(const Topology new_topology,
 // perform insertions keeping its sortedness.
 void
 PPL::Generator_System::add_corresponding_closure_points() {
-  PPL_ASSERT(!is_necessarily_closed());
+  PPL_ASSERT(!sys.is_necessarily_closed());
   // NOTE: we always add (pending) rows at the end of the generator system.
   // Updating `index_first_pending', if needed, is done by the caller.
   Generator_System& gs = *this;
-  const dimension_type n_rows = gs.num_rows();
-  const dimension_type eps_index = gs.num_columns() - 1;
+  const dimension_type n_rows = gs.sys.num_rows();
   for (dimension_type i = n_rows; i-- > 0; ) {
     const Generator& g = gs[i];
-    if (g[eps_index] > 0) {
+    if (g.epsilon_coefficient() > 0) {
       // `g' is a point: adding the closure point.
       Generator cp = g;
-      cp[eps_index] = 0;
+      cp.set_epsilon_coefficient(0);
       // Enforcing normalization.
-      cp.normalize();
-      gs.add_pending_row(cp);
+      cp.expr.normalize();
+      gs.insert_pending(cp, Recycle_Input());
     }
   }
   PPL_ASSERT(OK());
@@ -212,20 +104,19 @@ PPL::Generator_System::add_corresponding_closure_points() {
 // perform insertions keeping its sortedness.
 void
 PPL::Generator_System::add_corresponding_points() {
-  PPL_ASSERT(!is_necessarily_closed());
+  PPL_ASSERT(!sys.is_necessarily_closed());
   // NOTE: we always add (pending) rows at the end of the generator system.
   // Updating `index_first_pending', if needed, is done by the caller.
   Generator_System& gs = *this;
-  const dimension_type n_rows = gs.num_rows();
-  const dimension_type eps_index = gs.num_columns() - 1;
-  for (dimension_type i = 0; i < n_rows; i++) {
+  const dimension_type n_rows = gs.sys.num_rows();
+  for (dimension_type i = 0; i < n_rows; ++i) {
     const Generator& g = gs[i];
-    if (!g.is_line_or_ray() && g[eps_index] == 0) {
+    if (!g.is_line_or_ray() && g.epsilon_coefficient() == 0) {
       // `g' is a closure point: adding the point.
       // Note: normalization is preserved.
       Generator p = g;
-      p[eps_index] = p[0];
-      gs.add_pending_row(p);
+      p.set_epsilon_coefficient(p.expr.inhomogeneous_term());
+      gs.insert_pending(p, Recycle_Input());
     }
   }
   PPL_ASSERT(OK());
@@ -233,7 +124,7 @@ PPL::Generator_System::add_corresponding_points() {
 
 bool
 PPL::Generator_System::has_closure_points() const {
-  if (is_necessarily_closed())
+  if (sys.is_necessarily_closed())
     return false;
   // Adopt the point of view of the user.
   for (Generator_System::const_iterator i = begin(),
@@ -243,34 +134,52 @@ PPL::Generator_System::has_closure_points() const {
   return false;
 }
 
+void
+PPL::Generator_System::convert_into_non_necessarily_closed() {
+  // Padding the matrix with the column
+  // corresponding to the epsilon coefficients:
+  // all points must have epsilon coordinate equal to 1
+  // (i.e., the epsilon coefficient is equal to the divisor);
+  // rays and lines must have epsilon coefficient equal to 0.
+  // Note: normalization is preserved.
+  sys.set_not_necessarily_closed();
+
+  for (dimension_type i = sys.rows.size(); i-- > 0; ) {
+    Generator& gen = sys.rows[i];
+    if (!gen.is_line_or_ray())
+      gen.set_epsilon_coefficient(gen.expr.inhomogeneous_term());
+  }
+
+  PPL_ASSERT(sys.OK());
+}
+
 bool
 PPL::Generator_System::has_points() const {
   const Generator_System& gs = *this;
   // Avoiding the repeated tests on topology.
-  if (is_necessarily_closed())
-    for (dimension_type i = num_rows(); i-- > 0; ) {
+  if (sys.is_necessarily_closed())
+    for (dimension_type i = sys.num_rows(); i-- > 0; ) {
       if (!gs[i].is_line_or_ray())
 	return true;
     }
   else {
     // !is_necessarily_closed()
-    const dimension_type eps_index = gs.num_columns() - 1;
-    for (dimension_type i = num_rows(); i-- > 0; )
-    if (gs[i][eps_index] != 0)
+    for (dimension_type i = sys.num_rows(); i-- > 0; )
+    if (gs[i].epsilon_coefficient() != 0)
       return true;
   }
   return false;
 }
 
 void
-PPL::Generator_System::const_iterator::skip_forward() {
-  const Linear_System::const_iterator gsp_end = gsp->end();
+PPL::Generator_System_const_iterator::skip_forward() {
+  const Linear_System<Generator>::const_iterator gsp_end = gsp->end();
   if (i != gsp_end) {
-    Linear_System::const_iterator i_next = i;
+    Linear_System<Generator>::const_iterator i_next = i;
     ++i_next;
     if (i_next != gsp_end) {
-      const Generator& cp = static_cast<const Generator&>(*i);
-      const Generator& p = static_cast<const Generator&>(*i_next);
+      const Generator& cp = *i;
+      const Generator& p = *i_next;
       if (cp.is_closure_point()
 	  && p.is_point()
 	  && cp.is_matching_closure_point(p))
@@ -281,91 +190,76 @@ PPL::Generator_System::const_iterator::skip_forward() {
 
 void
 PPL::Generator_System::insert(const Generator& g) {
+  Generator tmp = g;
+  insert(tmp, Recycle_Input());
+}
+
+void
+PPL::Generator_System::insert_pending(const Generator& g) {
+  Generator tmp = g;
+  insert_pending(tmp, Recycle_Input());
+}
+
+void
+PPL::Generator_System::insert(Generator& g, Recycle_Input) {
   // We are sure that the matrix has no pending rows
   // and that the new row is not a pending generator.
-  PPL_ASSERT(num_pending_rows() == 0);
-  if (topology() == g.topology())
-    Linear_System::insert(g);
+  PPL_ASSERT(sys.num_pending_rows() == 0);
+  if (sys.topology() == g.topology())
+    sys.insert(g, Recycle_Input());
   else
     // `*this' and `g' have different topologies.
-    if (is_necessarily_closed()) {
-      // Padding the matrix with the column
-      // corresponding to the epsilon coefficients:
-      // all points must have epsilon coordinate equal to 1
-      // (i.e., the epsilon coefficient is equal to the divisor);
-      // rays and lines must have epsilon coefficient equal to 0.
-      // Note: normalization is preserved.
-      const dimension_type eps_index = num_columns();
-      add_zero_columns(1);
-      Generator_System& gs = *this;
-      for (dimension_type i = num_rows(); i-- > 0; ) {
-	Generator& gen = gs[i];
-	if (!gen.is_line_or_ray())
-	  gen[eps_index] = gen[0];
-      }
-      set_not_necessarily_closed();
+    if (sys.is_necessarily_closed()) {
+      convert_into_non_necessarily_closed();
       // Inserting the new generator.
-      Linear_System::insert(g);
+      sys.insert(g, Recycle_Input());
     }
     else {
       // The generator system is NOT necessarily closed:
       // copy the generator, adding the missing dimensions
       // and the epsilon coefficient.
-      const dimension_type new_size = 2 + std::max(g.space_dimension(),
-						   space_dimension());
-      Generator tmp_g(g, new_size);
+      const dimension_type new_space_dim = std::max(g.space_dimension(),
+                                                    space_dimension());
+      g.set_not_necessarily_closed();
+      g.set_space_dimension(new_space_dim);
       // If it was a point, set the epsilon coordinate to 1
       // (i.e., set the coefficient equal to the divisor).
       // Note: normalization is preserved.
-      if (!tmp_g.is_line_or_ray())
-	tmp_g[new_size - 1] = tmp_g[0];
-      tmp_g.set_not_necessarily_closed();
+      if (!g.is_line_or_ray())
+	g.set_epsilon_coefficient(g.expr.inhomogeneous_term());
       // Inserting the new generator.
-      Linear_System::insert(tmp_g);
+      sys.insert(g, Recycle_Input());
     }
   PPL_ASSERT(OK());
 }
 
 void
-PPL::Generator_System::insert_pending(const Generator& g) {
-  if (topology() == g.topology())
-    Linear_System::insert_pending(g);
+PPL::Generator_System::insert_pending(Generator& g, Recycle_Input) {
+  if (sys.topology() == g.topology())
+    sys.insert_pending(g, Recycle_Input());
   else
     // `*this' and `g' have different topologies.
-    if (is_necessarily_closed()) {
-      // Padding the matrix with the column
-      // corresponding to the epsilon coefficients:
-      // all points must have epsilon coordinate equal to 1
-      // (i.e., the epsilon coefficient is equal to the divisor);
-      // rays and lines must have epsilon coefficient equal to 0.
-      // Note: normalization is preserved.
-      const dimension_type eps_index = num_columns();
-      add_zero_columns(1);
-      Generator_System& gs = *this;
-      for (dimension_type i = num_rows(); i-- > 0; ) {
-	Generator& gen = gs[i];
-	if (!gen.is_line_or_ray())
-	  gen[eps_index] = gen[0];
-      }
-      set_not_necessarily_closed();
+    if (sys.is_necessarily_closed()) {
+      convert_into_non_necessarily_closed();
+
       // Inserting the new generator.
-      Linear_System::insert_pending(g);
+      sys.insert_pending(g, Recycle_Input());
     }
     else {
       // The generator system is NOT necessarily closed:
       // copy the generator, adding the missing dimensions
       // and the epsilon coefficient.
-      const dimension_type new_size = 2 + std::max(g.space_dimension(),
-						   space_dimension());
-      Generator tmp_g(g, new_size);
+      const dimension_type new_space_dim = std::max(g.space_dimension(),
+                                                    space_dimension());
+      g.set_topology(NOT_NECESSARILY_CLOSED);
+      g.set_space_dimension(new_space_dim);
       // If it was a point, set the epsilon coordinate to 1
       // (i.e., set the coefficient equal to the divisor).
       // Note: normalization is preserved.
-      if (!tmp_g.is_line_or_ray())
-	tmp_g[new_size - 1] = tmp_g[0];
-      tmp_g.set_not_necessarily_closed();
+      if (!g.is_line_or_ray())
+	g.set_epsilon_coefficient(g.expr.inhomogeneous_term());
       // Inserting the new generator.
-      Linear_System::insert_pending(tmp_g);
+      sys.insert_pending(g, Recycle_Input());
     }
   PPL_ASSERT(OK());
 }
@@ -374,18 +268,18 @@ PPL::dimension_type
 PPL::Generator_System::num_lines() const {
   // We are sure that this method is applied only to a matrix
   // that does not contain pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(sys.num_pending_rows() == 0);
   const Generator_System& gs = *this;
   dimension_type n = 0;
-  // If the Linear_System happens to be sorted, take advantage of the fact
+  // If sys happens to be sorted, take advantage of the fact
   // that lines are at the top of the system.
-  if (is_sorted()) {
-    dimension_type nrows = num_rows();
+  if (sys.is_sorted()) {
+    dimension_type nrows = sys.num_rows();
     for (dimension_type i = 0; i < nrows && gs[i].is_line(); ++i)
       ++n;
   }
   else
-    for (dimension_type i = num_rows(); i-- > 0 ; )
+    for (dimension_type i = sys.num_rows(); i-- > 0 ; )
       if (gs[i].is_line())
 	++n;
   return n;
@@ -395,19 +289,19 @@ PPL::dimension_type
 PPL::Generator_System::num_rays() const {
   // We are sure that this method is applied only to a matrix
   // that does not contain pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(sys.num_pending_rows() == 0);
   const Generator_System& gs = *this;
   dimension_type n = 0;
-  // If the Linear_System happens to be sorted, take advantage of the fact
+  // If sys happens to be sorted, take advantage of the fact
   // that rays and points are at the bottom of the system and
   // rays have the inhomogeneous term equal to zero.
-  if (is_sorted()) {
-    for (dimension_type i = num_rows(); i != 0 && gs[--i].is_ray_or_point(); )
+  if (sys.is_sorted()) {
+    for (dimension_type i = sys.num_rows(); i != 0 && gs[--i].is_ray_or_point(); )
       if (gs[i].is_line_or_ray())
 	++n;
   }
   else
-    for (dimension_type i = num_rows(); i-- > 0 ; )
+    for (dimension_type i = sys.num_rows(); i-- > 0 ; )
       if (gs[i].is_ray())
 	++n;
   return n;
@@ -421,7 +315,7 @@ PPL::Generator_System::relation_with(const Constraint& c) const {
   PPL_ASSERT(space_dimension() >= c.space_dimension());
   // Number of generators: the case of an empty polyhedron
   // has already been filtered out by the caller.
-  const dimension_type n_rows = num_rows();
+  const dimension_type n_rows = sys.num_rows();
   PPL_ASSERT(n_rows > 0);
   const Generator_System& gs = *this;
 
@@ -627,7 +521,7 @@ PPL::Generator_System::relation_with(const Constraint& c) const {
       for (dimension_type i = n_rows; i-- > 0; ) {
 	const Generator& g = gs[i];
 	// Using the reduced scalar product operator to avoid
-	// both topology and num_columns mismatches.
+	// both topology and space dimension mismatches.
 	const int sp_sign = Scalar_Products::reduced_sign(c, g);
 	// Checking whether the generator saturates the strict inequality.
 	// If that is the case, then we have to do something
@@ -727,21 +621,21 @@ PPL::Generator_System::satisfied_by_all_generators(const Constraint& c) const {
 
   // Setting `sps' to the appropriate scalar product sign operator.
   // This also avoids problems when having _legal_ topology mismatches
-  // (which could also cause a mismatch in the number of columns).
+  // (which could also cause a mismatch in the number of space dimensions).
   Topology_Adjusted_Scalar_Product_Sign sps(c);
 
   const Generator_System& gs = *this;
   switch (c.type()) {
   case Constraint::EQUALITY:
     // Equalities must be saturated by all generators.
-    for (dimension_type i = gs.num_rows(); i-- > 0; )
+    for (dimension_type i = gs.sys.num_rows(); i-- > 0; )
       if (sps(c, gs[i]) != 0)
 	return false;
     break;
   case Constraint::NONSTRICT_INEQUALITY:
     // Non-strict inequalities must be saturated by lines and
     // satisfied by all the other generators.
-    for (dimension_type i = gs.num_rows(); i-- > 0; ) {
+    for (dimension_type i = gs.sys.num_rows(); i-- > 0; ) {
       const Generator& g = gs[i];
       const int sp_sign = sps(c, g);
       if (g.is_line()) {
@@ -757,7 +651,7 @@ PPL::Generator_System::satisfied_by_all_generators(const Constraint& c) const {
   case Constraint::STRICT_INEQUALITY:
     // Strict inequalities must be saturated by lines,
     // satisfied by all generators, and must not be saturated by points.
-    for (dimension_type i = gs.num_rows(); i-- > 0; ) {
+    for (dimension_type i = gs.sys.num_rows(); i-- > 0; ) {
       const Generator& g = gs[i];
       const int sp_sign = sps(c, g);
       switch (g.type()) {
@@ -785,163 +679,68 @@ PPL::Generator_System::satisfied_by_all_generators(const Constraint& c) const {
 
 void
 PPL::Generator_System
-::affine_image(dimension_type v,
+::affine_image(Variable v,
 	       const Linear_Expression& expr,
 	       Coefficient_traits::const_reference denominator) {
   Generator_System& x = *this;
-  // `v' is the index of a column corresponding to
-  // a "user" variable (i.e., it cannot be the inhomogeneous term,
-  // nor the epsilon dimension of NNC polyhedra).
-  PPL_ASSERT(v > 0 && v <= x.space_dimension());
+  PPL_ASSERT(v.space_dimension() <= x.space_dimension());
   PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
   PPL_ASSERT(denominator > 0);
 
-  const dimension_type n_columns = x.num_columns();
-  const dimension_type n_rows = x.num_rows();
+  const dimension_type n_rows = x.sys.num_rows();
 
   // Compute the numerator of the affine transformation and assign it
   // to the column of `*this' indexed by `v'.
   PPL_DIRTY_TEMP_COEFFICIENT(numerator);
   for (dimension_type i = n_rows; i-- > 0; ) {
-    Generator& row = x[i];
-    Scalar_Products::assign(numerator, expr, row);
-    std::swap(numerator, row[v]);
-  }
-
-  if (denominator != 1) {
-    // Since we want integer elements in the matrix,
-    // we multiply by `denominator' all the columns of `*this'
-    // having an index different from `v'.
-    for (dimension_type i = n_rows; i-- > 0; ) {
-      Generator& row = x[i];
-      for (dimension_type j = n_columns; j-- > 0; )
-	if (j != v)
-	  row[j] *= denominator;
+    Generator& row = sys.rows[i];
+    Scalar_Products::assign(numerator, expr, row.expr);
+    if (denominator != 1) {
+      // Since we want integer elements in the matrix,
+      // we multiply by `denominator' all the columns of `*this'
+      // having an index different from `v'.
+      // Note that this operation also modifies the coefficient of v, but
+      // it will be overwritten by the set_coefficient() below.
+      row.expr *= denominator;
     }
+    row.expr.set_coefficient(v, numerator);
   }
 
+  set_sorted(false);
+
   // If the mapping is not invertible we may have transformed
   // valid lines and rays into the origin of the space.
-  const bool not_invertible = (v > expr.space_dimension() || expr[v] == 0);
+  const bool not_invertible = (v.space_dimension() > expr.space_dimension()
+                               || expr.coefficient(v) == 0);
   if (not_invertible)
     x.remove_invalid_lines_and_rays();
 
+  // TODO: Consider normalizing individual rows in the loop above.
   // Strong normalization also resets the sortedness flag.
-  x.strong_normalize();
+  x.sys.strong_normalize();
+
+#ifndef NDEBUG
+  // Make sure that the (remaining) generators are still OK after fiddling
+  // with their internal data.
+  for (dimension_type i = x.num_rows(); i-- > 0; )
+    PPL_ASSERT(x.sys[i].OK());
+#endif
+
+  PPL_ASSERT(sys.OK());
 }
 
 void
 PPL::Generator_System::ascii_dump(std::ostream& s) const {
-  const Generator_System& x = *this;
-  const dimension_type x_num_rows = x.num_rows();
-  const dimension_type x_num_columns = x.num_columns();
-  s << "topology " << (is_necessarily_closed()
-		       ? "NECESSARILY_CLOSED"
-		       : "NOT_NECESSARILY_CLOSED")
-    << "\n"
-    << x_num_rows << " x " << x_num_columns << ' '
-    << (x.is_sorted() ? "(sorted)" : "(not_sorted)")
-    << "\n"
-    << "index_first_pending " << x.first_pending_row()
-    << "\n";
-  for (dimension_type i = 0; i < x_num_rows; ++i) {
-    const Generator& g = x[i];
-    for (dimension_type j = 0; j < x_num_columns; ++j)
-      s << g[j] << ' ';
-    switch (g.type()) {
-    case Generator::LINE:
-      s << "L";
-      break;
-    case Generator::RAY:
-      s << "R";
-      break;
-    case Generator::POINT:
-      s << "P";
-      break;
-    case Generator::CLOSURE_POINT:
-      s << "C";
-      break;
-    }
-    s << "\n";
-  }
+  sys.ascii_dump(s);
 }
 
 PPL_OUTPUT_DEFINITIONS(Generator_System)
 
 bool
 PPL::Generator_System::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "topology")
-    return false;
-  if (!(s >> str))
-    return false;
-  if (str == "NECESSARILY_CLOSED")
-    set_necessarily_closed();
-  else {
-    if (str != "NOT_NECESSARILY_CLOSED")
-      return false;
-    set_not_necessarily_closed();
-  }
-
-  dimension_type nrows;
-  dimension_type ncols;
-  if (!(s >> nrows))
-    return false;
-  if (!(s >> str) || str != "x")
-    return false;
-  if (!(s >> ncols))
-      return false;
-  resize_no_copy(nrows, ncols);
-
-  if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)"))
-    return false;
-  set_sorted(str == "(sorted)");
-  dimension_type index;
-  if (!(s >> str) || str != "index_first_pending")
-    return false;
-  if (!(s >> index))
+  if (!sys.ascii_load(s))
     return false;
-  set_index_first_pending_row(index);
 
-  Generator_System& x = *this;
-  for (dimension_type i = 0; i < x.num_rows(); ++i) {
-    for (dimension_type j = 0; j < x.num_columns(); ++j)
-      if (!(s >> x[i][j]))
-	return false;
-
-    if (!(s >> str))
-      return false;
-    if (str == "L")
-      x[i].set_is_line();
-    else if (str == "R" || str == "P" || str == "C")
-      x[i].set_is_ray_or_point();
-    else
-      return false;
-
-    // Checking for equality of actual and declared types.
-    switch (x[i].type()) {
-    case Generator::LINE:
-      if (str == "L")
-	continue;
-      break;
-    case Generator::RAY:
-      if (str == "R")
-	continue;
-      break;
-    case Generator::POINT:
-      if (str == "P")
-	continue;
-      break;
-    case Generator::CLOSURE_POINT:
-      if (str == "C")
-	continue;
-      break;
-    }
-    // Reaching this point means that the input was illegal.
-    return false;
-  }
-
-  // Check invariants.
   PPL_ASSERT(OK());
   return true;
 }
@@ -952,56 +751,17 @@ PPL::Generator_System::remove_invalid_lines_and_rays() {
   // NOTE: the following swaps will mix generators without even trying
   // to preserve sortedness: as a matter of fact, it will almost always
   // be the case that the input generator system is NOT sorted.
-  Generator_System& gs = *this;
-  dimension_type n_rows = gs.num_rows();
-  if (num_pending_rows() == 0) {
-    for (dimension_type i = n_rows; i-- > 0; ) {
-      Generator& g = gs[i];
-      if (g.is_line_or_ray() && g.all_homogeneous_terms_are_zero()) {
-	// An invalid line/ray has been found.
-	--n_rows;
-	std::swap(g, gs[n_rows]);
-	gs.set_sorted(false);
-      }
-    }
-    set_index_first_pending_row(n_rows);
+  
+  // Note that num_rows() is *not* constant, because it is decreased by
+  // remove_row().
+  for (dimension_type i = 0; i < num_rows(); ) {
+    const Generator& g = (*this)[i];
+    if (g.is_line_or_ray() && g.expr.all_homogeneous_terms_are_zero()) {
+      sys.remove_row(i, false);
+      set_sorted(false);
+    } else
+      ++i;
   }
-  else {
-    // If the matrix has some pending rows, we can not
-    // swap the "normal" rows with the pending rows. So
-    // we must put at the end of the "normal" rows
-    // the invalid "normal" rows, put them at the end
-    // of the matrix, find the invalid rows in the pending
-    // part and then erase the invalid rows that now
-    // are in the bottom part of the matrix.
-    PPL_ASSERT(num_pending_rows() > 0);
-    dimension_type first_pending = first_pending_row();
-    for (dimension_type i = first_pending; i-- > 0; ) {
-      Generator& g = gs[i];
-      if (g.is_line_or_ray() && g.all_homogeneous_terms_are_zero()) {
-	// An invalid line/ray has been found.
-	--first_pending;
-	std::swap(g, gs[first_pending]);
-	gs.set_sorted(false);
-      }
-    }
-    const dimension_type num_invalid_rows
-      = first_pending_row() - first_pending;
-    set_index_first_pending_row(first_pending);
-    for (dimension_type i = 0; i < num_invalid_rows; ++i)
-      std::swap(gs[n_rows - i], gs[first_pending + i]);
-    n_rows -= num_invalid_rows;
-    for (dimension_type i = n_rows; i-- > first_pending; ) {
-      Generator& g = gs[i];
-      if (g.is_line_or_ray() && g.all_homogeneous_terms_are_zero()) {
-	// An invalid line/ray has been found.
-	--n_rows;
-	std::swap(g, gs[n_rows]);
-	gs.set_sorted(false);
-      }
-    }
-  }
-  gs.erase_to_end(n_rows);
 }
 
 const PPL::Generator_System* PPL::Generator_System::zero_dim_univ_p = 0;
@@ -1022,20 +782,7 @@ PPL::Generator_System::finalize() {
 
 bool
 PPL::Generator_System::OK() const {
-  // A Generator_System must be a valid Linear_System; do not check for
-  // strong normalization, since this will be done when
-  // checking each individual generator.
-  if (!Linear_System::OK(false))
-    return false;
-
-  // Checking each generator in the system.
-  const Generator_System& x = *this;
-  for (dimension_type i = num_rows(); i-- > 0; )
-    if (!x[i].OK())
-      return false;
-
-  // All checks passed.
-  return true;
+  return sys.OK();
 }
 
 /*! \relates Parma_Polyhedra_Library::Generator_System */
@@ -1046,9 +793,11 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Generator_System& gs) {
   if (i == gs_end)
     return s << "false";
   while (true) {
-    s << *i++;
+    s << *i;
+    ++i;
     if (i == gs_end)
       return s;
     s << ", ";
   }
 }
+
diff --git a/src/Generator_System.defs.hh b/src/Generator_System.defs.hh
index 59e7448..b534e61 100644
--- a/src/Generator_System.defs.hh
+++ b/src/Generator_System.defs.hh
@@ -1,6 +1,6 @@
 /* Generator_System class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,19 +19,19 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Generator_System_defs_hh
 #define PPL_Generator_System_defs_hh 1
 
 #include "Generator_System.types.hh"
-#include "Grid_Generator_System.types.hh"
+
 #include "Linear_Expression.types.hh"
 #include "Linear_System.defs.hh"
-#include "Generator.types.hh"
+#include "Generator.defs.hh"
 #include "Constraint.types.hh"
-#include "Polyhedron.types.hh"
 #include "Poly_Con_Relation.defs.hh"
+#include "Polyhedron.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -48,21 +48,25 @@ std::ostream& operator<<(std::ostream& s, const Generator_System& gs);
 
 } // namespace IO_Operators
 
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
-
-} // namespace Parma_Polyhedra_Library
-
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Generator_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Generator_System& x, const Generator_System& y);
 
-namespace std {
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Generator_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Generator_System& x, const Generator_System& y);
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator_System */
-void swap(Parma_Polyhedra_Library::Generator_System& x,
-	  Parma_Polyhedra_Library::Generator_System& y);
+/*! \relates Generator_System */
+void
+swap(Generator_System& x, Generator_System& y);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 //! A system of generators.
 /*! \ingroup PPL_CXX_interface
@@ -180,29 +184,47 @@ void swap(Parma_Polyhedra_Library::Generator_System& x,
     will be available, where original generators may have been
     reordered, removed (if they are duplicate or redundant), etc.
 */
-class Parma_Polyhedra_Library::Generator_System : protected Linear_System {
+class Parma_Polyhedra_Library::Generator_System {
 public:
+  typedef Generator row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of generators.
-  Generator_System();
+  Generator_System(Representation r = default_representation);
 
   //! Builds the singleton system containing only generator \p g.
-  explicit Generator_System(const Generator& g);
+  explicit Generator_System(const Generator& g,
+                            Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  //! The new Generator_System will have the same representation as `gs'.
   Generator_System(const Generator_System& gs);
 
+  //! Copy constructor with specified representation.
+  Generator_System(const Generator_System& gs, Representation r);
+
   //! Destructor.
   ~Generator_System();
 
   //! Assignment operator.
   Generator_System& operator=(const Generator_System& y);
 
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
   //! Returns the maximum space dimension a Generator_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
   /*! \brief
     Removes all the generators from the generator system
     and sets its space dimension to 0.
@@ -215,6 +237,12 @@ public:
   */
   void insert(const Generator& g);
 
+  /*! \brief
+    Inserts in \p *this the generator \p g, stealing its contents and
+    increasing the number of space dimensions if needed.
+  */
+  void insert(Generator& g, Recycle_Input);
+
   //! Initializes the class.
   static void initialize();
 
@@ -226,89 +254,7 @@ public:
   */
   static const Generator_System& zero_dim_univ();
 
-  //! An iterator over a system of generators
-  /*! \ingroup PPL_CXX_interface
-      A const_iterator is used to provide read-only access
-      to each generator contained in an object of Generator_System.
-
-      \par Example
-      The following code prints the system of generators
-      of the polyhedron <CODE>ph</CODE>:
-      \code
-  const Generator_System& gs = ph.generators();
-  for (Generator_System::const_iterator i = gs.begin(),
-         gs_end = gs.end(); i != gs_end; ++i)
-    cout << *i << endl;
-      \endcode
-      The same effect can be obtained more concisely by using
-      more features of the STL:
-      \code
-  const Generator_System& gs = ph.generators();
-  copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
-      \endcode
-  */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Generator,
-			   ptrdiff_t,
-			   const Generator*,
-			   const Generator&> {
-  public:
-    //! Default constructor.
-    const_iterator();
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Destructor.
-    ~const_iterator();
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    const Generator& operator*() const;
-
-    //! Indirect member selector.
-    const Generator* operator->() const;
-
-    //! Prefix increment operator.
-    const_iterator& operator++();
-
-    //! Postfix increment operator.
-    const_iterator operator++(int);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-
-  private:
-    friend class Generator_System;
-
-    //! The const iterator over the Linear_System.
-    Linear_System::const_iterator i;
-
-    //! A const pointer to the Linear_System.
-    const Linear_System* gsp;
-
-    //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Generator_System& gsys);
-
-    /*! \brief
-      \p *this skips to the next generator, skipping those
-      closure points that are immediately followed by a matching point.
-    */
-    void skip_forward();
-  };
+  typedef Generator_System_const_iterator const_iterator;
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
   bool empty() const;
@@ -324,10 +270,6 @@ public:
   const_iterator end() const;
 
   //! Checks if all the invariants are satisfied.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Generator.
-  */
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -350,42 +292,229 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Generator_System& y);
+  void m_swap(Generator_System& y);
 
 private:
+
+  bool has_no_rows() const;
+
+  //! Removes all the specified dimensions from the generator system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  dimension_type num_rows() const;
+
+  //! Adds \p n rows and space dimensions to the system.
+  /*!
+    \param n
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
+
+    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
+    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
+    such that
+    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
+    where \f$J\f$ is the specular image
+    of the \f$n \times n\f$ identity matrix.
+  */
+  void add_universe_rows_and_space_dimensions(dimension_type n);
+
+  Topology topology() const;
+
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
+
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
+
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
+
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
+
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
+
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Generator_System& y);
+
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
+
+  /*! \brief
+    Sorts the pending rows and eliminates those that also occur
+    in the non-pending part of the system.
+  */
+  void sort_pending_and_remove_duplicates();
+
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
+
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
+  */
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
+
+  /*! \brief
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
+
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
+  */
+  dimension_type num_lines_or_equalities() const;
+
+  //! Makes the system shrink by removing its i-th row.
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
+  */
+  void remove_row(dimension_type i, bool keep_sorted = false);
+
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
+
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted = false);
+
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
+  /*!
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
+
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
+
+  //! Minimizes the subsystem of equations contained in \p *this.
+  /*!
+    This method works only on the equalities of the system:
+    the system is required to be partially sorted, so that
+    all the equalities are grouped at its top; it is assumed that
+    the number of equalities is exactly \p n_lines_or_equalities.
+    The method finds a minimal system for the equalities and
+    returns its rank, i.e., the number of linearly independent equalities.
+    The result is an upper triangular subsystem of equalities:
+    for each equality, the pivot is chosen starting from
+    the right-most columns.
+  */
+  dimension_type gauss(dimension_type n_lines_or_equalities);
+
+  /*! \brief
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
+
+    Takes an upper triangular system having \p n_lines_or_equalities rows.
+    For each row, starting from the one having the minimum number of
+    coefficients different from zero, computes the expression of an element
+    as a function of the remaining ones and then substitutes this expression
+    in all the other rows.
+  */
+  void back_substitute(dimension_type n_lines_or_equalities);
+
+  //! Strongly normalizes the system.
+  void strong_normalize();
+
+  /*! \brief
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
+
+    Duplicated rows will occur only once in the result.
+    On entry, both systems are assumed to be sorted and have
+    no pending rows.
+  */
+  void merge_rows_assign(const Generator_System& y);
+
+  //! Adds to \p *this a copy of  the rows of \p y.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(const Generator_System& y);
+
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void insert_pending(const Generator_System& r);
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
     the singleton system containing only Generator::zero_dim_point().
   */
   static const Generator_System* zero_dim_univ_p;
 
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
-
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+  friend class Generator_System_const_iterator;
 
   //! Builds an empty system of generators having the specified topology.
-  explicit Generator_System(Topology topol);
+  explicit Generator_System(Topology topol,
+                            Representation r = default_representation);
 
   /*! \brief
-    Builds a system of \p n_rows rays/points on a \p n_columns - 1
-    dimensional space (including the \f$\epsilon\f$ dimension, if
-    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
+    Builds a system of rays/points on a \p space_dim dimensional space. If
+    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE> the \f$\epsilon\f$
+    dimension is added.
   */
-  Generator_System(Topology topol,
-		   dimension_type n_rows, dimension_type n_columns);
+  Generator_System(Topology topol, dimension_type space_dim,
+                   Representation r = default_representation);
 
   /*! \brief
-    Adjusts \p *this so that it matches the topology and
-    the number of space dimensions given as parameters
-    (adding or removing columns if needed).
+    Adjusts \p *this so that it matches the \p new_topology and
+    \p new_space_dim (adding or removing columns if needed).
     Returns <CODE>false</CODE> if and only if \p topol is
     equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
     contains closure points.
   */
-  bool adjust_topology_and_space_dimension(Topology topol,
-					   dimension_type num_dimensions);
+  bool adjust_topology_and_space_dimension(Topology new_topology,
+					   dimension_type new_space_dim);
 
   /*! \brief
     For each unmatched closure point in \p *this, adds the
@@ -423,8 +552,9 @@ private:
   */
   bool has_closure_points() const;
 
-  //! Returns the \p k- th generator of the system.
-  Generator& operator[](dimension_type k);
+  //! Converts this generator system into a non-necessarily closed generator
+  //! system.
+  void convert_into_non_necessarily_closed();
 
   //! Returns a constant reference to the \p k- th generator of the system.
   const Generator& operator[](dimension_type k) const;
@@ -454,7 +584,7 @@ private:
   //! Assigns to a given variable an affine expression.
   /*!
     \param v
-    Index of the column to which the affine transformation is assigned;
+    The variable to which the affine transformation is assigned;
 
     \param expr
     The numerator of the affine transformation:
@@ -469,8 +599,8 @@ private:
     that will be used as denominator of the affine transformation.
     The denominator is required to be a positive integer.
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
+    The affine transformation assigns to each element of the column containing
+    the coefficients of v the follow expression:
     \f[
       \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
            {\mathrm{denominator}}.
@@ -478,7 +608,7 @@ private:
 
     \p expr is a constant parameter and unaltered by this computation.
   */
-  void affine_image(dimension_type v,
+  void affine_image(Variable v,
 		    const Linear_Expression& expr,
 		    Coefficient_traits::const_reference denominator);
 
@@ -509,6 +639,104 @@ private:
     It is a pending generator.
   */
   void insert_pending(const Generator& g);
+
+  /*! \brief
+    Inserts in \p *this the generator \p g, stealing its contents and
+    increasing the number of space dimensions if needed.
+    It is a pending generator.
+  */
+  void insert_pending(Generator& g, Recycle_Input);
+
+  Linear_System<Generator> sys;
+
+  friend bool
+  operator==(const Generator_System& x, const Generator_System& y);
+
+  friend class Polyhedron;
+};
+
+//! An iterator over a system of generators
+/*! \ingroup PPL_CXX_interface
+    A const_iterator is used to provide read-only access
+    to each generator contained in an object of Generator_System.
+
+    \par Example
+    The following code prints the system of generators
+    of the polyhedron <CODE>ph</CODE>:
+    \code
+const Generator_System& gs = ph.generators();
+for (Generator_System::const_iterator i = gs.begin(),
+        gs_end = gs.end(); i != gs_end; ++i)
+  cout << *i << endl;
+    \endcode
+    The same effect can be obtained more concisely by using
+    more features of the STL:
+    \code
+const Generator_System& gs = ph.generators();
+copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
+    \endcode
+*/
+class Parma_Polyhedra_Library::Generator_System_const_iterator
+  : public std::iterator<std::forward_iterator_tag,
+        Generator,
+        ptrdiff_t,
+        const Generator*,
+        const Generator&> {
+public:
+  //! Default constructor.
+  Generator_System_const_iterator();
+
+  //! Ordinary copy constructor.
+  Generator_System_const_iterator(const Generator_System_const_iterator& y);
+
+  //! Destructor.
+  ~Generator_System_const_iterator();
+
+  //! Assignment operator.
+  Generator_System_const_iterator& operator=(const Generator_System_const_iterator& y);
+
+  //! Dereference operator.
+  const Generator& operator*() const;
+
+  //! Indirect member selector.
+  const Generator* operator->() const;
+
+  //! Prefix increment operator.
+  Generator_System_const_iterator& operator++();
+
+  //! Postfix increment operator.
+  Generator_System_const_iterator operator++(int);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const Generator_System_const_iterator& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const Generator_System_const_iterator& y) const;
+
+private:
+  friend class Generator_System;
+
+  //! The const iterator over the Linear_System.
+  Linear_System<Generator>::const_iterator i;
+
+  //! A const pointer to the Linear_System.
+  const Linear_System<Generator>* gsp;
+
+  //! Constructor.
+  Generator_System_const_iterator(const Linear_System<Generator>::const_iterator& iter,
+      const Generator_System& gsys);
+
+  /*! \brief
+    \p *this skips to the next generator, skipping those
+    closure points that are immediately followed by a matching point.
+  */
+  void skip_forward();
 };
 
 // Generator_System.inlines.hh is not included here on purpose.
diff --git a/src/Generator_System.inlines.hh b/src/Generator_System.inlines.hh
index 3b5141e..de4bb92 100644
--- a/src/Generator_System.inlines.hh
+++ b/src/Generator_System.inlines.hh
@@ -1,6 +1,6 @@
 /* Generator_System class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Generator_System_inlines_hh
 #define PPL_Generator_System_inlines_hh 1
@@ -29,31 +29,37 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 inline
-Generator_System::Generator_System()
-  : Linear_System(NECESSARILY_CLOSED) {
+Generator_System::Generator_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
 }
 
 inline
-Generator_System::Generator_System(const Generator& g)
-  : Linear_System(g.topology()) {
-  Linear_System::insert(g);
+Generator_System::Generator_System(const Generator& g, Representation r)
+  : sys(g.topology(), r) {
+  sys.insert(g);
 }
 
 inline
 Generator_System::Generator_System(const Generator_System& gs)
-  : Linear_System(gs) {
+  : sys(gs.sys) {
 }
 
 inline
-Generator_System::Generator_System(const Topology topol)
-  : Linear_System(topol) {
+Generator_System::Generator_System(const Generator_System& gs,
+                                   Representation r)
+  : sys(gs.sys, r) {
+}
+
+inline
+Generator_System::Generator_System(const Topology topol, Representation r)
+  : sys(topol, r) {
 }
 
 inline
 Generator_System::Generator_System(const Topology topol,
-				   const dimension_type n_rows,
-				   const dimension_type n_columns)
-  : Linear_System(topol, n_rows, n_columns) {
+				   const dimension_type space_dim,
+                                   Representation r)
+  : sys(topol, space_dim, r) {
 }
 
 inline
@@ -62,115 +68,308 @@ Generator_System::~Generator_System() {
 
 inline Generator_System&
 Generator_System::operator=(const Generator_System& y) {
-  Linear_System::operator=(y);
+  Generator_System tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
+inline Representation
+Generator_System::representation() const {
+  return sys.representation();
+}
+
+inline void
+Generator_System::set_representation(Representation r) {
+  sys.set_representation(r);
+}
+
 inline dimension_type
 Generator_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
+  return Linear_System<Generator>::max_space_dimension();
 }
 
 inline dimension_type
 Generator_System::space_dimension() const {
-  return Linear_System::space_dimension();
+  return sys.space_dimension();
 }
 
 inline void
-Generator_System::clear() {
-  Linear_System::clear();
+Generator_System::set_space_dimension(dimension_type space_dim) {
+  const dimension_type old_space_dim = space_dimension();
+  sys.set_space_dimension_no_ok(space_dim);
+
+  if (space_dim < old_space_dim)
+    // We may have invalid lines and rays now.
+    remove_invalid_lines_and_rays();
+
+#ifndef NDEBUG
+  for (dimension_type i = 0; i < sys.num_rows(); ++i)
+    PPL_ASSERT(sys[i].OK());
+#endif
+  PPL_ASSERT(sys.OK());
+  PPL_ASSERT(OK());
 }
 
-inline Generator&
-Generator_System::operator[](const dimension_type k) {
-  return static_cast<Generator&>(Linear_System::operator[](k));
+inline void
+Generator_System::clear() {
+  sys.clear();
 }
 
 inline const Generator&
 Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Generator&>(Linear_System::operator[](k));
+  return sys[k];
+}
+
+inline void
+Generator_System
+::remove_space_dimensions(const Variables_Set& vars) {
+  sys.remove_space_dimensions(vars);
+}
+
+inline void
+Generator_System
+::shift_space_dimensions(Variable v, dimension_type n) {
+  sys.shift_space_dimensions(v, n);
+}
+
+inline void
+Generator_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  sys.permute_space_dimensions(cycle);
+}
+
+inline void
+Generator_System
+::swap_space_dimensions(Variable v1, Variable v2) {
+  sys.swap_space_dimensions(v1, v2);
+}
+
+inline dimension_type
+Generator_System::num_rows() const {
+  return sys.num_rows();
+}
+
+inline void
+Generator_System::add_universe_rows_and_space_dimensions(dimension_type n) {
+  sys.add_universe_rows_and_space_dimensions(n);
+}
+
+inline Topology
+Generator_System::topology() const {
+  return sys.topology();
+}
+
+inline dimension_type
+Generator_System::first_pending_row() const {
+  return sys.first_pending_row();
+}
+
+inline void
+Generator_System::unset_pending_rows() {
+  sys.unset_pending_rows();
+}
+
+inline void
+Generator_System::set_sorted(bool b) {
+  sys.set_sorted(b);
+}
+
+inline bool
+Generator_System::is_sorted() const {
+  return sys.is_sorted();
+}
+
+inline void
+Generator_System::set_index_first_pending_row(dimension_type i) {
+  sys.set_index_first_pending_row(i);
+}
+
+inline bool
+Generator_System::is_necessarily_closed() const {
+  return sys.is_necessarily_closed();
+}
+
+inline void
+Generator_System::assign_with_pending(const Generator_System& y) {
+  sys.assign_with_pending(y.sys);
+}
+
+inline dimension_type
+Generator_System::num_pending_rows() const {
+  return sys.num_pending_rows();
+}
+
+inline void
+Generator_System::sort_pending_and_remove_duplicates() {
+  return sys.sort_pending_and_remove_duplicates();
+}
+
+inline void
+Generator_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  sys.sort_and_remove_with_sat(sat);
+}
+
+inline void
+Generator_System::sort_rows() {
+  sys.sort_rows();
+}
+
+inline bool
+Generator_System::check_sorted() const {
+  return sys.check_sorted();
+}
+
+inline dimension_type
+Generator_System::num_lines_or_equalities() const {
+  return sys.num_lines_or_equalities();
+}
+
+inline void
+Generator_System::remove_row(dimension_type i, bool keep_sorted) {
+  sys.remove_row(i, keep_sorted);
+}
+
+inline void
+Generator_System::remove_rows(dimension_type first, dimension_type last,
+                              bool keep_sorted) {
+  sys.remove_rows(first, last, keep_sorted);
+}
+
+inline void
+Generator_System::remove_rows(const std::vector<dimension_type>& indexes) {
+  sys.remove_rows(indexes);
+}
+
+inline void
+Generator_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
+}
+
+inline dimension_type
+Generator_System::gauss(dimension_type n_lines_or_equalities) {
+  return sys.gauss(n_lines_or_equalities);
+}
+
+inline void
+Generator_System::back_substitute(dimension_type n_lines_or_equalities) {
+  sys.back_substitute(n_lines_or_equalities);
+}
+
+inline void
+Generator_System::strong_normalize() {
+  sys.strong_normalize();
+}
+
+inline void
+Generator_System::merge_rows_assign(const Generator_System& y) {
+  sys.merge_rows_assign(y.sys);
+}
+
+inline void
+Generator_System::insert(const Generator_System& y) {
+  sys.insert(y.sys);
+}
+
+inline void
+Generator_System::insert_pending(const Generator_System& r) {
+  sys.insert_pending(r.sys);
+}
+
+inline bool
+operator==(const Generator_System& x, const Generator_System& y) {
+  return x.sys == y.sys;
+}
+
+inline bool
+operator!=(const Generator_System& x, const Generator_System& y) {
+  return !(x == y);
 }
 
 inline
-Generator_System::const_iterator::const_iterator()
+Generator_System_const_iterator::Generator_System_const_iterator()
   : i(), gsp(0) {
 }
 
 inline
-Generator_System::const_iterator::const_iterator(const const_iterator& y)
+Generator_System_const_iterator::Generator_System_const_iterator(const Generator_System_const_iterator& y)
   : i(y.i), gsp(y.gsp) {
 }
 
 inline
-Generator_System::const_iterator::~const_iterator() {
+Generator_System_const_iterator::~Generator_System_const_iterator() {
 }
 
 inline
-Generator_System::const_iterator&
-Generator_System::const_iterator::operator=(const const_iterator& y) {
+Generator_System_const_iterator&
+Generator_System_const_iterator::operator=(const Generator_System_const_iterator& y) {
   i = y.i;
   gsp = y.gsp;
   return *this;
 }
 
 inline const Generator&
-Generator_System::const_iterator::operator*() const {
-  return static_cast<const Generator&>(*i);
+Generator_System_const_iterator::operator*() const {
+  return *i;
 }
 
 inline const Generator*
-Generator_System::const_iterator::operator->() const {
-  return static_cast<const Generator*>(i.operator->());
+Generator_System_const_iterator::operator->() const {
+  return i.operator->();
 }
 
-inline Generator_System::const_iterator&
-Generator_System::const_iterator::operator++() {
+inline Generator_System_const_iterator&
+Generator_System_const_iterator::operator++() {
   ++i;
   if (!gsp->is_necessarily_closed())
     skip_forward();
   return *this;
 }
 
-inline Generator_System::const_iterator
-Generator_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
+inline Generator_System_const_iterator
+Generator_System_const_iterator::operator++(int) {
+  const Generator_System_const_iterator tmp = *this;
   operator++();
   return tmp;
 }
 
 inline bool
-Generator_System::const_iterator::operator==(const const_iterator& y) const {
+Generator_System_const_iterator::operator==(const Generator_System_const_iterator& y) const {
   return i == y.i;
 }
 
 inline bool
-Generator_System::const_iterator::operator!=(const const_iterator& y) const {
+Generator_System_const_iterator::operator!=(const Generator_System_const_iterator& y) const {
   return i != y.i;
 }
 
 inline
-Generator_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Generator_System& gsys)
-  : i(iter), gsp(&gsys) {
+Generator_System_const_iterator::
+Generator_System_const_iterator(const Linear_System<Generator>::const_iterator& iter,
+                                const Generator_System& gs)
+  : i(iter), gsp(&gs.sys) {
 }
 
 inline bool
 Generator_System::empty() const {
-  return Linear_System::has_no_rows();
+  return sys.has_no_rows();
+}
+
+inline bool
+Generator_System::has_no_rows() const {
+  return sys.has_no_rows();
 }
 
 inline Generator_System::const_iterator
 Generator_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
-  if (!is_necessarily_closed())
+  const_iterator i(sys.begin(), *this);
+  if (!sys.is_necessarily_closed())
     i.skip_forward();
   return i;
 }
 
 inline Generator_System::const_iterator
 Generator_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
+  const const_iterator i(sys.end(), *this);
   return i;
 }
 
@@ -181,38 +380,32 @@ Generator_System::zero_dim_univ() {
 }
 
 inline void
-Generator_System::swap(Generator_System& y) {
-  Linear_System::swap(y);
+Generator_System::m_swap(Generator_System& y) {
+  swap(sys, y.sys);
 }
 
 inline memory_size_type
 Generator_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
+  return sys.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Generator_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
 inline void
 Generator_System::simplify() {
-  Linear_System::simplify();
+  sys.simplify();
   remove_invalid_lines_and_rays();
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
+/*! \relates Generator_System */
 inline void
-swap(Parma_Polyhedra_Library::Generator_System& x,
-     Parma_Polyhedra_Library::Generator_System& y) {
-  x.swap(y);
+swap(Generator_System& x, Generator_System& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Generator_System_inlines_hh)
diff --git a/src/Generator_System.types.hh b/src/Generator_System.types.hh
index 346a3c4..de9a9ed 100644
--- a/src/Generator_System.types.hh
+++ b/src/Generator_System.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -16,6 +16,7 @@ PURPOSE. */
 namespace Parma_Polyhedra_Library {
 
 class Generator_System;
+class Generator_System_const_iterator;
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Grid.defs.hh b/src/Grid.defs.hh
index 95d2952..a53a204 100644
--- a/src/Grid.defs.hh
+++ b/src/Grid.defs.hh
@@ -1,6 +1,6 @@
 /* Grid class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_defs_hh
 #define PPL_Grid_defs_hh 1
@@ -65,6 +65,10 @@ operator<<(std::ostream& s, const Grid& gr);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates Grid */
+void swap(Grid& x, Grid& y);
+
 /*! \brief
   Returns <CODE>true</CODE> if and only if \p x and \p y are the same
   grid.
@@ -463,7 +467,7 @@ public:
   /*!
     The grid inherits the space dimension of the generator system.
 
-    \param const_gs
+    \param ggs
     The system of generators defining the grid.
 
     \exception std::invalid_argument
@@ -473,13 +477,13 @@ public:
     Thrown if \p num_dimensions exceeds the maximum allowed space
     dimension.
   */
-  explicit Grid(const Grid_Generator_System& const_gs);
+  explicit Grid(const Grid_Generator_System& ggs);
 
   //! Builds a grid, recycling a system of grid generators.
   /*!
     The grid inherits the space dimension of the generator system.
 
-    \param gs
+    \param ggs
     The system of generators defining the grid.  Its data-structures
     may be recycled to build the grid.
 
@@ -493,7 +497,7 @@ public:
     \exception std::length_error
     Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
   */
-  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
+  Grid(Grid_Generator_System& ggs, Recycle_Input dummy);
 
   //! Builds a grid out of a box.
   /*!
@@ -998,7 +1002,7 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
+    or if \p cs contains a constraint which is not optimally supported
     by the grid domain.
   */
   void add_constraints(const Constraint_System& cs);
@@ -1011,7 +1015,7 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
+    or if \p cs contains a constraint which is not optimally supported
     by the grid domain.
 
     \warning
@@ -1531,7 +1535,7 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system.
     This argument is for compatibility with wrap_assign()
     for the other domains and only checked for dimension-compatibility.
@@ -1548,7 +1552,7 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+    Variable objects contained in \p vars or with <CODE>*cs_p</CODE>.
 
     \warning
     It is assumed that variables in \p Vars represent integers.  Thus,
@@ -1560,7 +1564,7 @@ public:
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1572,7 +1576,7 @@ public:
     This argument is ignored as the algorithm used has polynomial
     complexity.
   */
-   void drop_some_non_integer_points(Complexity_Class complexity
+  void drop_some_non_integer_points(Complexity_Class complexity
                                     = ANY_COMPLEXITY);
 
   /*! \brief
@@ -1933,7 +1937,7 @@ public:
     Swaps \p *this with grid \p y.  (\p *this and \p y can be
     dimension-incompatible.)
   */
-  void swap(Grid& y);
+  void m_swap(Grid& y);
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -1979,9 +1983,9 @@ private:
   dimension_type space_dim;
 
   enum Dimension_Kind {
-    PARAMETER,
-    LINE,
-    GEN_VIRTUAL,
+    PARAMETER = 0,
+    LINE = 1,
+    GEN_VIRTUAL = 2,
     PROPER_CONGRUENCE = PARAMETER,
     CON_VIRTUAL = LINE,
     EQUALITY = GEN_VIRTUAL
@@ -2425,69 +2429,79 @@ private:
   /*!
     Expects \p gs to contain at least one point.
   */
-  static void simplify(Grid_Generator_System& gs,
+  static void simplify(Grid_Generator_System& ggs,
 		       Dimension_Kinds& dim_kinds);
 
   //! Reduces the line \p row using the line \p pivot.
   /*!
-    Uses the line \p pivot to change the representation of the line \p
-    row so that the element at index \p col of \p row is zero.
+    Uses the line \p pivot to change the representation of the line
+    \p row so that the element at index \p column of \p row is zero.
   */
-  // A member of Grid for access to Matrix::rows.
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
   static void reduce_line_with_line(Grid_Generator& row,
 				    Grid_Generator& pivot,
-				    dimension_type col);
+				    dimension_type column);
 
   //! Reduces the equality \p row using the equality \p pivot.
   /*!
     Uses the equality \p pivot to change the representation of the
-    equality \p row so that the element at index \p col of \p row is
-    zero.
+    equality \p row so that the element at index \p column of \p row
+    is zero.
   */
-  // A member of Grid for access to Matrix::rows.
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
   static void reduce_equality_with_equality(Congruence& row,
 					    const Congruence& pivot,
-					    dimension_type col);
+					    dimension_type column);
 
   //! Reduces \p row using \p pivot.
   /*!
     Uses the point, parameter or proper congruence at \p pivot to
     change the representation of the point, parameter or proper
-    congruence at \p row so that the element at index \p col of \p row
+    congruence at \p row so that the element at index \p column of \p row
     is zero.  Only elements from index \p start to index \p end are
     modified (i.e. it is assumed that all other elements are zero).
+    This means that \p col must be in [start,end).
+
+    NOTE: This may invalidate the rows, since it messes with the divisors.
+    Client code has to fix that (if needed) and assert OK().
   */
-  // Part of Grid for access to Matrix::rows.
+  // Part of Grid for access to Matrix<Dense_Row>::rows.
   template <typename R>
   static void reduce_pc_with_pc(R& row,
 				R& pivot,
-				dimension_type col,
+				dimension_type column,
 				dimension_type start,
 				dimension_type end);
 
   //! Reduce \p row using \p pivot.
   /*!
     Use the line \p pivot to change the representation of the
-    parameter \p row such that the element at index \p col of \p row
+    parameter \p row such that the element at index \p column of \p row
     is zero.
   */
-  // A member of Grid for access to Matrix::rows.
+  // This takes a parameter with type Swapping_Vector<Grid_Generator> (instead
+  // of Grid_Generator_System) to simplify the implementation of `simplify()'.
+  // NOTE: This may invalidate `row' and the rows in `sys'. Client code must
+  // fix/check this.
   static void reduce_parameter_with_line(Grid_Generator& row,
 					 const Grid_Generator& pivot,
-					 dimension_type col,
-					 Grid_Generator_System& sys);
+					 dimension_type column,
+					 Swapping_Vector<Grid_Generator>& sys,
+                                         dimension_type num_columns);
 
   //! Reduce \p row using \p pivot.
   /*!
     Use the equality \p pivot to change the representation of the
-    congruence \p row such that element at index \p col of \p row is
-    zero.
+    congruence \p row such that element at index \p column of \p row
+    is zero.
   */
-  // A member of Grid for access to Matrix::rows.
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
+  // This takes a parameter with type Swapping_Vector<Congruence> (instead of
+  // Congruence_System) to simplify the implementation of `conversion()'.
   static void reduce_congruence_with_equality(Congruence& row,
 					      const Congruence& pivot,
-					      dimension_type col,
-					      Congruence_System& sys);
+					      dimension_type column,
+					      Swapping_Vector<Congruence>& sys);
 
   //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
   /*!
@@ -2501,31 +2515,58 @@ private:
     \f$\{3x \equiv_3 0, x + y \equiv_3 1\}\f$
     (which is in strong minimal form).
 
-    Only consider from index \p start to index \p end of the row at \p
-    pivot_index.  Flag \p generators indicates whether \p sys is a
-    congruence or generator system.
+    \param sys
+    The generator or congruence system to be reduced to strong minimal form.
+
+    \param dim
+    Column to be reduced.
+
+    \param pivot_index
+    Index of last row to be reduced.
+
+    \param start
+    Index of first column to be changed.
+
+    \param end
+    Index of last column to be changed.
+
+    \param sys_dim_kinds
+    Dimension kinds of the elements of \p sys.
+
+    \param generators
+    Flag indicating whether \p sys is a congruence or generator system
   */
-  template <typename M, typename R>
-  static void reduce_reduced(M& sys, dimension_type dim,
+  template <typename M>
+  // This takes a parameter with type `Swapping_Vector<M::row_type>'
+  // instead of `M' to simplify the implementation of simplify().
+  // NOTE: This may invalidate the rows in `sys'. Client code must
+  // fix/check this.
+  static void reduce_reduced(Swapping_Vector<typename M::row_type>& sys,
+                             dimension_type dim,
 			     dimension_type pivot_index,
 			     dimension_type start, dimension_type end,
-			     const Dimension_Kinds& dim_kinds,
+			     const Dimension_Kinds& sys_dim_kinds,
 			     bool generators = true);
 
   //! Multiply the elements of \p dest by \p multiplier.
-  // A member of Grid for access to Matrix::rows and cgs::operator[].
+  // A member of Grid for access to Matrix<Dense_Row>::rows and cgs::operator[].
+  // The type of `dest' is Swapping_Vector<Congruence> instead of
+  // Congruence_System to simplify the implementation of conversion().
   static void multiply_grid(const Coefficient& multiplier,
-			    Congruence& cg, Congruence_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+			    Congruence& cg,
+                            Swapping_Vector<Congruence>& dest,
+			    dimension_type num_rows);
 
   //! Multiply the elements of \p dest by \p multiplier.
   // A member of Grid for access to Grid_Generator::operator[].
+  // The type of `dest' is Swapping_Vector<Grid_Generator> instead of
+  // Grid_Generator_System to simplify the implementation of conversion().
+  // NOTE: This does not check whether the rows are OK(). Client code
+  // should do that.
   static void multiply_grid(const Coefficient& multiplier,
 			    Grid_Generator& gen,
-			    Grid_Generator_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+			    Swapping_Vector<Grid_Generator>& dest,
+			    dimension_type num_rows);
 
   /*! \brief
     If \p sys is lower triangular return <CODE>true</CODE>, else
@@ -2565,9 +2606,6 @@ private:
   //@{
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
-
   void throw_dimension_incompatible(const char* method,
 				    const char* other_name,
 				    dimension_type other_dim) const;
@@ -2575,8 +2613,8 @@ protected:
 				    const char* gr_name,
 				    const Grid& gr) const;
   void throw_dimension_incompatible(const char* method,
-				    const char* e_name,
-				    const Linear_Expression& e) const;
+				    const char* le_name,
+				    const Linear_Expression& le) const;
   void throw_dimension_incompatible(const char* method,
 				    const char* cg_name,
 				    const Congruence& cg) const;
@@ -2604,35 +2642,22 @@ protected:
   void throw_dimension_incompatible(const char* method,
 				    dimension_type required_space_dim) const;
 
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the grid object).
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
-
-  void throw_invalid_constraint(const char* method,
-                                const char* c_name) const;
-  void throw_invalid_constraints(const char* method,
-                                 const char* cs_name) const;
-  void throw_invalid_generator(const char* method,
-			       const char* g_name) const;
-  void throw_invalid_generators(const char* method,
-				const char* gs_name) const;
+  static void throw_invalid_argument(const char* method,
+                                     const char* reason);
+  static void throw_invalid_constraint(const char* method,
+                                       const char* c_name);
+  static void throw_invalid_constraints(const char* method,
+                                        const char* cs_name);
+  static void throw_invalid_generator(const char* method,
+                                      const char* g_name);
+  static void throw_invalid_generators(const char* method,
+                                       const char* gs_name);
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   //@} // Exception Throwers
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
 };
 
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid */
-void swap(Parma_Polyhedra_Library::Grid& x,
-	  Parma_Polyhedra_Library::Grid& y);
-
-} // namespace std
-
 #include "Grid_Status.inlines.hh"
 #include "Grid.inlines.hh"
 #include "Grid.templates.hh"
diff --git a/src/Grid.inlines.hh b/src/Grid.inlines.hh
index 88bac78..58c7eec 100644
--- a/src/Grid.inlines.hh
+++ b/src/Grid.inlines.hh
@@ -1,6 +1,6 @@
 /* Grid class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_inlines_hh
 #define PPL_Grid_inlines_hh 1
@@ -122,24 +122,25 @@ inline
 Grid::Grid(dimension_type num_dimensions,
 	   const Degenerate_Element kind)
   : con_sys(),
-    gen_sys(num_dimensions > max_space_dimension()
-	    ? (throw_space_dimension_overflow("Grid(n, k)",
-					      "n exceeds the maximum "
-					      "allowed space dimension"),
-	       0)
-	    : num_dimensions) {
+    gen_sys(check_space_dimension_overflow(num_dimensions,
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(n, k)",
+                                           "n exceeds the maximum "
+                                           "allowed space dimension")) {
   construct(num_dimensions, kind);
   PPL_ASSERT(OK());
 }
 
 inline
 Grid::Grid(const Congruence_System& cgs)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
+  : con_sys(check_space_dimension_overflow(cgs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cgs)",
+                                           "the space dimension of cgs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(cgs.space_dimension()) {
   Congruence_System cgs_copy(cgs);
   construct(cgs_copy);
@@ -147,24 +148,26 @@ Grid::Grid(const Congruence_System& cgs)
 
 inline
 Grid::Grid(Congruence_System& cgs, Recycle_Input)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs, recycle)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
+  : con_sys(check_space_dimension_overflow(cgs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cgs, recycle)",
+                                           "the space dimension of cgs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(cgs.space_dimension()) {
   construct(cgs);
 }
 
 inline
 Grid::Grid(const Grid_Generator_System& ggs)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
+  : con_sys(check_space_dimension_overflow(ggs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(ggs)",
+                                           "the space dimension of ggs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(ggs.space_dimension()) {
   Grid_Generator_System ggs_copy(ggs);
   construct(ggs_copy);
@@ -172,26 +175,27 @@ Grid::Grid(const Grid_Generator_System& ggs)
 
 inline
 Grid::Grid(Grid_Generator_System& ggs, Recycle_Input)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs, recycle)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
+  : con_sys(check_space_dimension_overflow(ggs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(ggs, recycle)",
+                                           "the space dimension of ggs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(ggs.space_dimension()) {
   construct(ggs);
 }
 
 template <typename U>
 inline
-Grid::Grid(const BD_Shape<U>& bd,
-           Complexity_Class)
-  : con_sys(bd.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(bd)",
-					     "the space dimension of bd "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : bd.space_dimension()),
+Grid::Grid(const BD_Shape<U>& bd, Complexity_Class)
+  : con_sys(check_space_dimension_overflow(bd.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(bd)",
+                                           "the space dimension of bd "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(bd.space_dimension()) {
   Congruence_System cgs = bd.congruences();
   construct(cgs);
@@ -199,14 +203,14 @@ Grid::Grid(const BD_Shape<U>& bd,
 
 template <typename U>
 inline
-Grid::Grid(const Octagonal_Shape<U>& os,
-           Complexity_Class)
-  : con_sys(os.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(os)",
-					     "the space dimension of os "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : os.space_dimension()),
+Grid::Grid(const Octagonal_Shape<U>& os, Complexity_Class)
+  : con_sys(check_space_dimension_overflow(os.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(os)",
+                                           "the space dimension of os "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(os.space_dimension()) {
   Congruence_System cgs = os.congruences();
   construct(cgs);
@@ -228,26 +232,27 @@ Grid::total_memory_in_bytes() const {
 
 inline int32_t
 Grid::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
 }
 
 inline Constraint_System
 Grid::constraints() const {
-  return Constraint_System(congruences());;
+  return Constraint_System(congruences());
 }
 
 inline Constraint_System
 Grid::minimized_constraints() const {
-  return Constraint_System(minimized_congruences());;
+  return Constraint_System(minimized_congruences());
 }
 
 inline void
-Grid::swap(Grid& y) {
-  std::swap(con_sys, y.con_sys);
-  std::swap(gen_sys, y.gen_sys);
-  std::swap(status, y.status);
-  std::swap(space_dim, y.space_dim);
-  std::swap(dim_kinds, y.dim_kinds);
+Grid::m_swap(Grid& y) {
+  using std::swap;
+  swap(con_sys, y.con_sys);
+  swap(gen_sys, y.gen_sys);
+  swap(status, y.status);
+  swap(space_dim, y.space_dim);
+  swap(dim_kinds, y.dim_kinds);
 }
 
 inline void
@@ -367,17 +372,12 @@ inline void
 Grid::topological_closure_assign() {
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Grid */
+/*! \relates Grid */
 inline void
-swap(Parma_Polyhedra_Library::Grid& x,
-     Parma_Polyhedra_Library::Grid& y) {
-  x.swap(y);
+swap(Grid& x, Grid& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Grid_inlines_hh)
diff --git a/src/Grid.templates.hh b/src/Grid.templates.hh
index 51b01a3..9c2bf70 100644
--- a/src/Grid.templates.hh
+++ b/src/Grid.templates.hh
@@ -1,6 +1,6 @@
 /* Grid class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_templates_hh
 #define PPL_Grid_templates_hh 1
@@ -33,17 +33,16 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 template <typename Interval>
-Grid::Grid(const Box<Interval>& box,
-           Complexity_Class)
+Grid::Grid(const Box<Interval>& box, Complexity_Class)
   : con_sys(),
     gen_sys() {
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_bounding_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
-
-  space_dim = box.space_dimension();
+  space_dim = check_space_dimension_overflow(box.space_dimension(),
+                                             max_space_dimension(),
+                                             "PPL::Grid::",
+                                             "Grid(box, from_bounding_box)",
+                                             "the space dimension of box "
+                                             "exceeds the maximum allowed "
+                                             "space dimension");
 
   if (box.is_empty()) {
     // Empty grid.
@@ -56,25 +55,28 @@ Grid::Grid(const Box<Interval>& box,
     set_zero_dim_univ();
   else {
     // Initialize the space dimension as indicated by the box.
-    con_sys.increase_space_dimension(space_dim);
+    con_sys.set_space_dimension(space_dim);
+    gen_sys.set_space_dimension(space_dim);
     // Add congruences and generators according to `box'.
     PPL_DIRTY_TEMP_COEFFICIENT(l_n);
     PPL_DIRTY_TEMP_COEFFICIENT(l_d);
     PPL_DIRTY_TEMP_COEFFICIENT(u_n);
     PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
+    gen_sys.insert(grid_point());
     for (dimension_type k = space_dim; k-- > 0; ) {
-      // This is declared here because it may be invalidated by the call to
-      // gen_sys.insert() at the end of the loop.
-      Grid_Generator& point = gen_sys[0];
+      const Variable v_k = Variable(k);
       bool closed = false;
       // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
-	if (box.get_upper_bound(k, closed, u_n, u_d))
+      if (box.has_lower_bound(v_k, l_n, l_d, closed)) {
+	if (box.has_upper_bound(v_k, u_n, u_d, closed))
 	  if (l_n * u_d == u_n * l_d) {
 	    // A point interval sets dimension k of every point to a
 	    // single value.
-	    con_sys.insert(l_d * Variable(k) == l_n);
+	    con_sys.insert(l_d * v_k == l_n);
+
+            // This is declared here because it may be invalidated
+            // by the call to gen_sys.insert() at the end of the loop.
+            Grid_Generator& point = gen_sys.sys.rows[0];
 
 	    // Scale the point to use as divisor the lcm of the
 	    // divisors of the existing point and the lower bound.
@@ -90,18 +92,19 @@ Grid::Grid(const Box<Interval>& box,
 	    if (l_d < 0)
 	      neg_assign(u_n);
 	    // point[k + 1] = l_n * point_divisor / gcd(l_d, point_divisor)
-	    point[k + 1] = l_n * u_n;
+	    point.expr.set(Variable(k), l_n * u_n);
+            PPL_ASSERT(point.OK());
+
+            PPL_ASSERT(gen_sys.sys.OK());
 
 	    continue;
 	  }
       }
       // A universe interval allows any value in dimension k.
-      gen_sys.insert(grid_line(Variable(k)));
+      gen_sys.insert(grid_line(v_k));
     }
     set_congruences_up_to_date();
     set_generators_up_to_date();
-    gen_sys.unset_pending_rows();
-    gen_sys.set_sorted(false);
   }
 
   PPL_ASSERT(OK());
@@ -137,18 +140,8 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
     // maximum efficiency, we will simply permute the columns of the
     // constraint system and/or the generator system.
 
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
+    std::vector<Variable> cycle;
+    cycle.reserve(space_dim);
 
     // Used to mark elements as soon as they are inserted in a cycle.
     std::deque<bool> visited(space_dim);
@@ -164,33 +157,32 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
 	    throw_invalid_argument("map_space_dimensions(pfunc)",
 				   " pfunc is inconsistent");
 	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
+	    break;
 
-	  cycles.push_back(j+1);
+	  cycle.push_back(Variable(j));
 	  // Go along the cycle.
 	  j = k;
 	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+	// End of cycle.
 
-    // Permute all that is up-to-date.
-    if (congruences_are_up_to_date()) {
-      con_sys.permute_columns(cycles);
-      clear_congruences_minimized();
-    }
+        // Avoid calling clear_*_minimized() if cycle.size() is less than 2,
+        // to improve efficiency.
+        if (cycle.size() >= 2) {
+          // Permute all that is up-to-date.
+          if (congruences_are_up_to_date()) {
+            con_sys.permute_space_dimensions(cycle);
+            clear_congruences_minimized();
+          }
+
+          if (generators_are_up_to_date()) {
+            gen_sys.permute_space_dimensions(cycle);
+            clear_generators_minimized();
+          }
+        }
 
-    if (generators_are_up_to_date()) {
-      gen_sys.permute_columns(cycles);
-      clear_generators_minimized();
+        cycle.clear();
+      }
     }
 
     PPL_ASSERT(OK());
@@ -205,7 +197,7 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
   if (old_gensys.has_no_rows()) {
     // The grid is empty.
     Grid new_grid(new_space_dimension, EMPTY);
-    std::swap(*this, new_grid);
+    m_swap(new_grid);
     PPL_ASSERT(OK());
     return;
   }
@@ -231,88 +223,89 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
   const Coefficient& system_divisor = i->divisor();
   for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
     const Grid_Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
+    const Grid_Generator::Expression& old_g_e = old_g.expression();
+    Linear_Expression expr;
+    expr.set_space_dimension(new_space_dimension);
     bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
+    for (Grid_Generator::Expression::const_iterator j = old_g_e.begin(),
+          j_end = old_g_e.end(); j != j_end; ++j) {
+      const dimension_type mapped_id = pfunc_maps[j.variable().id()];
+      if (mapped_id != not_a_dimension()) {
+        add_mul_assign(expr, *j, Variable(mapped_id));
 	all_zeroes = false;
       }
     }
     switch (old_g.type()) {
     case Grid_Generator::LINE:
       if (!all_zeroes)
-	new_gensys.insert(grid_line(e));
+	new_gensys.insert(grid_line(expr));
       break;
     case Grid_Generator::PARAMETER:
       if (!all_zeroes)
-	new_gensys.insert(parameter(e, system_divisor));
+	new_gensys.insert(parameter(expr, system_divisor));
       break;
     case Grid_Generator::POINT:
-      new_gensys.insert(grid_point(e, old_g.divisor()));
+      new_gensys.insert(grid_point(expr, old_g.divisor()));
       break;
-    default:
-      PPL_ASSERT(0);
     }
   }
 
   Grid new_grid(new_gensys);
-  std::swap(*this, new_grid);
+  m_swap(new_grid);
 
   PPL_ASSERT(OK(true));
 }
 
 // Needed for converting the congruence or grid_generator system
 // to "strong minimal form".
-template <typename M, typename R>
+template <typename M>
 void
-Grid::reduce_reduced(M& sys,
+Grid::reduce_reduced(Swapping_Vector<typename M::row_type>& rows,
 		     const dimension_type dim,
 		     const dimension_type pivot_index,
 		     const dimension_type start,
 		     const dimension_type end,
-		     const Dimension_Kinds& dim_kinds,
+		     const Dimension_Kinds& sys_dim_kinds,
 		     const bool generators) {
-  R& pivot = sys[pivot_index];
+  // TODO: Remove this.
+  typedef typename M::row_type M_row_type;
 
-  const Coefficient& pivot_dim = pivot[dim];
+  const M_row_type& pivot = rows[pivot_index];
+  const Coefficient& pivot_dim = pivot.expr.get(dim);
 
   if (pivot_dim == 0)
     return;
 
   PPL_DIRTY_TEMP_COEFFICIENT(pivot_dim_half);
   pivot_dim_half = (pivot_dim + 1) / 2;
-  Dimension_Kind row_kind = dim_kinds[dim];
-  Dimension_Kind line_or_equality, virtual_kind;
-  int jump;
-  if (generators) {
-    line_or_equality = LINE;
-    virtual_kind = GEN_VIRTUAL;
-    jump = -1;
-  }
-  else {
-    line_or_equality = EQUALITY;
-    virtual_kind = CON_VIRTUAL;
-    jump = 1;
-  }
+  const Dimension_Kind row_kind = sys_dim_kinds[dim];
+  const bool row_is_line_or_equality
+    = (row_kind == (generators ? LINE : EQUALITY));
 
   PPL_DIRTY_TEMP_COEFFICIENT(num_rows_to_subtract);
   PPL_DIRTY_TEMP_COEFFICIENT(row_dim_remainder);
-  for (dimension_type row_index = pivot_index, kinds_index = dim + jump;
-       row_index-- > 0;
-       kinds_index += jump) {
-    // Move over any virtual rows.
-    while (dim_kinds[kinds_index] == virtual_kind)
-      kinds_index += jump;
+  for (dimension_type kinds_index = dim,
+         row_index = pivot_index; row_index-- > 0; ) {
+    if (generators) {
+      --kinds_index;
+      // Move over any virtual rows.
+      while (sys_dim_kinds[kinds_index] == GEN_VIRTUAL)
+        --kinds_index;
+    }
+    else {
+      ++kinds_index;
+      // Move over any virtual rows.
+      while (sys_dim_kinds[kinds_index] == CON_VIRTUAL)
+        ++kinds_index;
+    }
 
     // row_kind CONGRUENCE is included as PARAMETER
-    if (row_kind == line_or_equality
+    if (row_is_line_or_equality
 	|| (row_kind == PARAMETER
-	    && dim_kinds[kinds_index] == PARAMETER)) {
-      R& row = sys[row_index];
+	    && sys_dim_kinds[kinds_index] == PARAMETER)) {
+      M_row_type& row = rows[row_index];
 
-      const Coefficient& row_dim = row[dim];
+      const Coefficient& row_dim = row.expr.get(dim);
       // num_rows_to_subtract may be positive or negative.
       num_rows_to_subtract = row_dim / pivot_dim;
 
@@ -334,8 +327,9 @@ Grid::reduce_reduced(M& sys,
       // If num_rows_to_subtract is negative, these copies of pivot are
       // added to row i.
       if (num_rows_to_subtract != 0)
-	for (dimension_type col = start; col <= end; ++col)
-	  sub_mul_assign(row[col], num_rows_to_subtract, pivot[col]);
+        row.expr.linear_combine(pivot.expr,
+                                Coefficient_one(), -num_rows_to_subtract,
+                                start, end + 1);
     }
   }
 }
diff --git a/src/Grid.types.hh b/src/Grid.types.hh
index ce2ef53..96e419e 100644
--- a/src/Grid.types.hh
+++ b/src/Grid.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Certificate.cc b/src/Grid_Certificate.cc
index e0391ec..defaff4 100644
--- a/src/Grid_Certificate.cc
+++ b/src/Grid_Certificate.cc
@@ -1,7 +1,7 @@
 /* Grid_Certificate class implementation
    (non-inline member functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,27 +20,25 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid_Certificate.defs.hh"
-
 #include "Grid.defs.hh"
 #include "assert.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
+PPL::Grid_Certificate::Grid_Certificate(const Grid& gr)
   : num_equalities(0), num_proper_congruences(0) {
-  Grid& gr = const_cast<Grid&>(cgr);
-  // As in Polyhedron assume that gr contains at least one point.
+
+  // As in Polyhedron assume that `gr' contains at least one point.
   PPL_ASSERT(!gr.marked_empty());
   if (gr.space_dimension() == 0)
     return;
   // One of the systems must be in minimal form.
-  if (gr.congruences_are_up_to_date())
+  if (gr.congruences_are_up_to_date()) {
     if (gr.congruences_are_minimized()) {
       num_proper_congruences = gr.con_sys.num_proper_congruences();
       num_equalities = gr.con_sys.num_equalities();
@@ -53,29 +51,29 @@ PPL::Grid_Certificate::Grid_Certificate(const Grid& cgr)
 	num_equalities = gr.space_dimension() + 1 - gr.gen_sys.num_rows();
       }
       else {
-	// Minimize gr congruence system.  As in Polyhedron assume
-	// that gr contains at least one point.
-#ifndef NDEBUG
-	Grid::simplify(gr.con_sys, gr.dim_kinds);
-#else
-	bool contains_points = Grid::simplify(gr.con_sys, gr.dim_kinds);
-	used(contains_points);	// Quiet compiler warning.
-	PPL_ASSERT(contains_points);
-#endif
-	gr.set_congruences_minimized();
+	// Minimize `gr' congruence system.  As in Polyhedron assume
+	// that `gr' contains at least one point.
+        Grid& mgr = const_cast<Grid&>(gr);
+	bool empty = Grid::simplify(mgr.con_sys, mgr.dim_kinds);
+	// Avoid possible compiler warning.
+	PPL_USED(empty);
+	PPL_ASSERT(!empty);
+	mgr.set_congruences_minimized();
 
-	num_proper_congruences = gr.con_sys.num_proper_congruences();
-	num_equalities = gr.con_sys.num_equalities();
+	num_proper_congruences = mgr.con_sys.num_proper_congruences();
+	num_equalities = mgr.con_sys.num_equalities();
       }
+  }
   else {
     if (!gr.generators_are_minimized()) {
-      // Minimize gr generator system.  As in Polyhedron assume that
-      // gr contains at least one point.
-      Grid::simplify(gr.gen_sys, gr.dim_kinds);
+      // Minimize `gr' generator system.  As in Polyhedron assume that
+      // `gr' contains at least one point.
+      Grid& mgr = const_cast<Grid&>(gr);
+      Grid::simplify(mgr.gen_sys, mgr.dim_kinds);
       // If gen_sys contained rows before being reduced, it should
       // contain at least a single point afterward.
-      PPL_ASSERT(!gr.gen_sys.empty());
-      gr.set_generators_minimized();
+      PPL_ASSERT(!mgr.gen_sys.empty());
+      mgr.set_generators_minimized();
     }
     // Calculate number of congruences from generators.
     num_proper_congruences
@@ -92,9 +90,9 @@ PPL::Grid_Certificate::compare(const Grid_Certificate& y) const {
     if (num_proper_congruences == y.num_proper_congruences)
       return 0;
     else
-      return num_proper_congruences > y.num_proper_congruences ? 1 : -1;
+      return (num_proper_congruences > y.num_proper_congruences) ? 1 : -1;
   }
-  return num_equalities > y.num_equalities ? 1 : -1;
+  return (num_equalities > y.num_equalities) ? 1 : -1;
 }
 
 int
@@ -105,11 +103,6 @@ PPL::Grid_Certificate::compare(const Grid& gr) const {
 
 bool
 PPL::Grid_Certificate::OK() const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-
-  // All tests passed.
+  // There is nothing to test.
   return true;
 }
diff --git a/src/Grid_Certificate.defs.hh b/src/Grid_Certificate.defs.hh
index 4ac0de6..fe354dc 100644
--- a/src/Grid_Certificate.defs.hh
+++ b/src/Grid_Certificate.defs.hh
@@ -1,6 +1,6 @@
 /* Grid_Certificate class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Certificate_defs_hh
 #define PPL_Grid_Certificate_defs_hh 1
diff --git a/src/Grid_Certificate.inlines.hh b/src/Grid_Certificate.inlines.hh
index d8a169f..0ab33c4 100644
--- a/src/Grid_Certificate.inlines.hh
+++ b/src/Grid_Certificate.inlines.hh
@@ -1,6 +1,6 @@
 /* Grid_Certificate class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Certificate_inlines_hh
 #define PPL_Grid_Certificate_inlines_hh 1
@@ -52,7 +52,7 @@ inline bool
 Grid_Certificate::Compare::operator()(const Grid_Certificate& x,
 				      const Grid_Certificate& y) const {
   // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
+  // on this LGO relation, we want larger elements to come first.
   return x.compare(y) == 1;
 }
 
diff --git a/src/Grid_Certificate.types.hh b/src/Grid_Certificate.types.hh
index b7b5055..4207746 100644
--- a/src/Grid_Certificate.types.hh
+++ b/src/Grid_Certificate.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Generator.cc b/src/Grid_Generator.cc
index f43c7e2..0181fe5 100644
--- a/src/Grid_Generator.cc
+++ b/src/Grid_Generator.cc
@@ -1,6 +1,6 @@
 /* Grid_Generator class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,17 +19,31 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid_Generator.defs.hh"
+
+#include "Variables_Set.defs.hh"
+#include "math_utilities.defs.hh"
+
 #include <iostream>
 #include <sstream>
 
 namespace PPL = Parma_Polyhedra_Library;
 
 void
+PPL::Grid_Generator::throw_dimension_incompatible(const char* method,
+                                                  const char* name_var,
+                                                  const Variable v) const {
+  std::ostringstream s;
+  s << "PPL::Grid_Generator::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension() << ", "
+    << name_var << ".space_dimension() == " << v.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+void
 PPL::Grid_Generator::throw_invalid_argument(const char* method,
 					    const char* reason) const {
   std::ostringstream s;
@@ -40,70 +54,81 @@ PPL::Grid_Generator::throw_invalid_argument(const char* method,
 
 PPL::Grid_Generator
 PPL::Grid_Generator::parameter(const Linear_Expression& e,
-			       Coefficient_traits::const_reference d) {
+			       Coefficient_traits::const_reference d,
+                               Representation r) {
   if (d == 0)
     throw std::invalid_argument("PPL::parameter(e, d):\n"
 				"d == 0.");
-  // Add 2 to space dimension to allow for parameter divisor column.
-  Linear_Expression ec(e,
-		       e.space_dimension() + 2);
-  Generator g(ec, Generator::RAY, NECESSARILY_CLOSED);
-  g[0] = 0;
-  // Using this constructor saves reallocation when creating the
-  // coefficients.
-  Grid_Generator gg(g);
-  gg.set_divisor(d);
+  // Add 1 to space dimension to allow for parameter divisor column.
+  Linear_Expression ec(e, e.space_dimension() + 1, r);
+
+  ec.set_inhomogeneous_term(Coefficient_zero());
+  const Variable divisor_var(e.space_dimension());
+  ec.set(divisor_var, d);
 
   // If the divisor is negative, negate it and all the coefficients of
-  // the parameter.  This ensures that divisors are always positive.
+  // the parameter, so as to satisfy the invariant.
   if (d < 0)
-    for (dimension_type i = gg.size(); i-- > 0; )
-      neg_assign(gg[i]);
+    neg_assign(ec);
 
+  // Using this constructor saves reallocation when creating the
+  // coefficients.
+  Grid_Generator gg(ec, PARAMETER);
+
+  // NOTE: normalize() must *not* be called here, because this is a parameter,
+  // and it would change the represented parameter.
   return gg;
 }
 
 PPL::Grid_Generator
 PPL::Grid_Generator::grid_point(const Linear_Expression& e,
-				Coefficient_traits::const_reference d) {
+				Coefficient_traits::const_reference d,
+                                Representation r) {
   if (d == 0)
     throw std::invalid_argument("PPL::grid_point(e, d):\n"
 				"d == 0.");
-  // Add 2 to space dimension to allow for parameter divisor column.
-  Linear_Expression ec(e,
-		       e.space_dimension() + 2);
-  Generator g(ec, Generator::POINT, NECESSARILY_CLOSED);
-  g[0] = d;
-  // Using this constructor saves reallocation when creating the
-  // coefficients.
-  Grid_Generator gg(g);
+  // Add 1 to space dimension to allow for parameter divisor column.
+  Linear_Expression ec(e, 1 + e.space_dimension(), r);
+  ec.set_inhomogeneous_term(d);
 
   // If the divisor is negative, negate it and all the coefficients of
-  // the parameter.  This ensures that divisors are always positive.
+  // the point, so as to satisfy the invariant.
   if (d < 0)
-    for (dimension_type i = gg.size(); i-- > 0; )
-      neg_assign(gg[i]);
+    neg_assign(ec);
+
+  // Using this constructor saves reallocation when creating the
+  // coefficients.
+  Grid_Generator gg(ec, POINT);
 
   // Enforce normalization.
-  gg.normalize();
+  gg.expr.normalize();
   return gg;
 }
 
 PPL::Grid_Generator
-PPL::Grid_Generator::grid_line(const Linear_Expression& e) {
+PPL::Grid_Generator::grid_point(Representation r) {
+  return grid_point(Linear_Expression::zero(), Coefficient_one(), r);
+}
+
+PPL::Grid_Generator
+PPL::Grid_Generator::grid_point(const Linear_Expression& e,
+                                Representation r) {
+  return grid_point(e, Coefficient_one(), r);
+}
+
+PPL::Grid_Generator
+PPL::Grid_Generator::grid_line(const Linear_Expression& e, Representation r) {
   // The origin of the space cannot be a line.
   if (e.all_homogeneous_terms_are_zero())
     throw std::invalid_argument("PPL::grid_line(e):\n"
 				"e == 0, but the origin cannot be a line.");
 
-  // Add 2 to space dimension to allow for parameter divisor column.
-  Linear_Expression ec(e,
-		       e.space_dimension() + 2);
-  Generator g(ec, Generator::LINE, NECESSARILY_CLOSED);
-  g[0] = 0;
+  // Add 1 to space dimension to allow for parameter divisor column.
+  Linear_Expression ec(e, 1 + e.space_dimension(), r);
+  ec.set_inhomogeneous_term(Coefficient_zero());
   // Using this constructor saves reallocation when creating the
   // coefficients.
-  Grid_Generator gg(g);
+  Grid_Generator gg(ec, LINE);
 
   // Enforce normalization.
   gg.strong_normalize();
@@ -111,39 +136,56 @@ PPL::Grid_Generator::grid_line(const Linear_Expression& e) {
 }
 
 void
-PPL::Grid_Generator::coefficient_swap(Grid_Generator& y) {
-  // Swap one coefficient at a time into *this.  Doing this instead of
-  // swapping the entire row ensures that the row keeps the same
-  // capacity.
-  if (y.is_line())
-    set_is_line();
-  else
-    set_is_ray_or_point();
-  PPL_ASSERT(size() > 0);
-  PPL_ASSERT(y.size() > 0);
-  dimension_type sz = size() - 1;
-  dimension_type y_sz = y.size() - 1;
-  // Swap parameter divisors.
-  std::swap(operator[](sz), y[y_sz]);
-  for (dimension_type j = (sz > y_sz ? y_sz : sz); j-- > 0; )
-    std::swap(operator[](j), y[j]);
+PPL::Grid_Generator::swap_space_dimensions(Variable v1, Variable v2) {
+  PPL_ASSERT(v1.space_dimension() <= space_dimension());
+  PPL_ASSERT(v2.space_dimension() <= space_dimension());
+  expr.swap_space_dimensions(v1, v2);
+  // *this is still normalized but it may not be strongly normalized.
+  if (!is_parameter())
+    sign_normalize();
+  PPL_ASSERT(OK());
+}
+
+bool
+PPL::Grid_Generator::remove_space_dimensions(const Variables_Set& vars) {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  
+  expr.remove_space_dimensions(vars);
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+void
+PPL::Grid_Generator
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  if (cycle.size() < 2)
+    // No-op. No need to call sign_normalize().
+    return;
+
+  expr.permute_space_dimensions(cycle);
+
+  // *this is still normalized but may be not strongly normalized: sign
+  // normalization is necessary.
+  // Sign-normalizing a parameter changes its meaning, so do nothing for
+  // parameters.
+  if (!is_parameter())
+    sign_normalize();
+  PPL_ASSERT(OK());
 }
 
 void
 PPL::Grid_Generator::ascii_dump(std::ostream& s) const {
-  const Grid_Generator& x = *this;
-  const dimension_type x_size = x.size();
-  s << "size " << x_size << " ";
-  for (dimension_type i = 0; i < x_size; ++i)
-    s << x[i] << ' ';
-  switch (x.type()) {
-  case Generator::LINE:
+  expr.ascii_dump(s);
+  s << ' ';
+  switch (type()) {
+  case LINE:
     s << "L";
     break;
-  case Generator::RAY:
+  case PARAMETER:
     s << "Q";
     break;
-  case Generator::POINT:
+  case POINT:
     s << "P";
     break;
   }
@@ -154,35 +196,22 @@ PPL_OUTPUT_DEFINITIONS(Grid_Generator)
 
 bool
 PPL::Grid_Generator::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "size")
-    return false;
-  dimension_type new_size;
-  if (!(s >> new_size))
-    return false;
 
-  Row& x = *this;
-  const dimension_type old_size = x.size();
-  if (new_size < old_size)
-    x.shrink(new_size);
-  else if (new_size > old_size) {
-    Row y(new_size, Row::Flags());
-    x.swap(y);
-  }
+  if (!expr.ascii_load(s))
+    return false;
 
-  for (dimension_type col = 0; col < new_size; ++col)
-    if (!(s >> x[col]))
-      return false;
+  std::string str;
 
   if (!(s >> str))
     return false;
   if (str == "L")
     set_is_line();
   else if (str == "P" || str == "Q")
-    set_is_ray_or_point();
+    set_is_parameter_or_point();
   else
     return false;
 
+  PPL_ASSERT(OK());
   return true;
 }
 
@@ -191,12 +220,31 @@ PPL::Grid_Generator::set_is_parameter() {
   if (is_line())
     set_is_parameter_or_point();
   else if (!is_line_or_parameter()) {
-    // The generator is a point.
-    Generator::operator[](size() - 1) = Generator::operator[](0);
-    Generator::operator[](0) = 0;
+    // The grid generator is a point.
+    expr.set(Variable(expr.space_dimension() - 1), expr.inhomogeneous_term());
+    expr.set_inhomogeneous_term(Coefficient_zero());
   }
 }
 
+void
+PPL::Grid_Generator::linear_combine(const Grid_Generator& y,
+                                    dimension_type i) {
+  expr.linear_combine(y.expr, i);
+  strong_normalize();
+}
+
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+int
+PPL::compare(const Grid_Generator& x, const Grid_Generator& y) {
+  const bool x_is_line_or_equality = x.is_line_or_equality();
+  const bool y_is_line_or_equality = y.is_line_or_equality();
+  if (x_is_line_or_equality != y_is_line_or_equality)
+    // Equalities (lines) precede inequalities (ray/point).
+    return y_is_line_or_equality ? 2 : -2;
+
+  return compare(x.expr, y.expr);
+}
+
 bool
 PPL::Grid_Generator::is_equivalent_to(const Grid_Generator& y) const {
   const Grid_Generator& x = *this;
@@ -208,59 +256,57 @@ PPL::Grid_Generator::is_equivalent_to(const Grid_Generator& y) const {
   if (x_type != y.type())
     return false;
 
-  Grid_Generator tmp = *this;
+  Grid_Generator tmp_x = *this;
   Grid_Generator tmp_y = y;
-  dimension_type& last = x_space_dim;
-  ++last;
+  Variable last_var(x_space_dim);
   if (x_type == POINT || x_type == LINE) {
-    tmp[last] = 0;
-    tmp_y[last] = 0;
+    tmp_x.expr.set(last_var, Coefficient_zero());
+    tmp_y.expr.set(last_var, Coefficient_zero());
   }
   // Normalize the copies, including the divisor column.
-  tmp.Row::normalize();
-  tmp_y.Row::normalize();
+  tmp_x.expr.normalize();
+  tmp_y.expr.normalize();
   // Check for equality.
-  while (last-- > 0)
-    if (tmp[last] != tmp_y[last])
-      return false;
-  return true;
+  return tmp_x.is_equal_to(tmp_y);
 }
 
 bool
 PPL::Grid_Generator::is_equal_to(const Grid_Generator& y) const {
-  if (type() != y.type())
-    return false;
-  for (dimension_type col = (is_parameter() ? size() : size() - 1);
-       col-- > 0; )
-    if (Generator::operator[](col) != y.Generator::operator[](col))
-      return false;
-  return true;
+  return expr.is_equal_to(y.expr) && kind_ == y.kind_;
 }
 
 bool
 PPL::Grid_Generator::all_homogeneous_terms_are_zero() const {
-  // Start at size() - 1 to avoid the extra grid generator column.
-  for (dimension_type i = size() - 1; --i > 0; )
-    if (operator[](i) != 0)
-      return false;
-  return true;
+  // This does not check neither the first nor the last coefficient.
+  return expr.all_zeroes(1, expr.space_dimension());
 }
 
 void
 PPL::Grid_Generator::scale_to_divisor(Coefficient_traits::const_reference d) {
-  if (is_parameter_or_point()) {
-    if (d == 0)
-      throw std::invalid_argument("PPL::Grid_Generator::scale_to_divisor(d):\n"
-				  "d == 0.");
-
-    PPL_DIRTY_TEMP_COEFFICIENT(factor);
-    exact_div_assign(factor, d, divisor());
-    set_divisor(d);
-    PPL_ASSERT(factor > 0);
-    if (factor > 1)
-      for (dimension_type col = size() - 2; col >= 1; --col)
-	Generator::operator[](col) *= factor;
-  }
+  PPL_ASSERT(d != 0);
+  if (is_line())
+    return;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(factor);
+  exact_div_assign(factor, d, divisor());
+  set_divisor(d);
+  PPL_ASSERT(factor > 0);
+  if (factor > 1)
+    // Don't scale the first and last coefficients.
+    expr.mul_assign(factor, 1, expr.space_dimension());
+}
+
+void
+PPL::Grid_Generator::sign_normalize() {
+  if (is_line_or_equality())
+    expr.sign_normalize();
+}
+
+bool
+PPL::Grid_Generator::check_strong_normalized() const {
+  Grid_Generator tmp = *this;
+  tmp.strong_normalize();
+  return compare(*this, tmp) == 0;
 }
 
 const PPL::Grid_Generator* PPL::Grid_Generator::zero_dim_point_p = 0;
@@ -268,8 +314,7 @@ const PPL::Grid_Generator* PPL::Grid_Generator::zero_dim_point_p = 0;
 void
 PPL::Grid_Generator::initialize() {
   PPL_ASSERT(zero_dim_point_p == 0);
-  zero_dim_point_p
-    = new Grid_Generator(grid_point());
+  zero_dim_point_p = new Grid_Generator(grid_point());
 }
 
 void
@@ -279,69 +324,70 @@ PPL::Grid_Generator::finalize() {
   zero_dim_point_p = 0;
 }
 
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream&
-PPL::IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g) {
+void
+PPL::Grid_Generator::fancy_print(std::ostream& s) const {
   bool need_divisor = false;
   bool extra_parentheses = false;
-  const dimension_type num_variables = g.space_dimension();
-  Grid_Generator::Type t = g.type();
+  const dimension_type num_variables = space_dimension();
+  Grid_Generator::Type t = type();
   switch (t) {
   case Grid_Generator::LINE:
     s << "l(";
     break;
   case Grid_Generator::PARAMETER:
     s << "q(";
-    if (g[num_variables + 1] == 1)
+    if (expr.coefficient(Variable(num_variables)) == 1)
       break;
     goto any_point;
   case Grid_Generator::POINT:
     s << "p(";
-    if (g[0] > 1) {
+    if (expr.inhomogeneous_term() > 1) {
     any_point:
       need_divisor = true;
-      dimension_type num_non_zero_coefficients = 0;
-      for (dimension_type v = 0; v < num_variables; ++v)
-	if (g[v+1] != 0)
-	  if (++num_non_zero_coefficients > 1) {
-	    extra_parentheses = true;
-	    s << "(";
-	    break;
-	  }
+      if (!expr.all_zeroes(1, num_variables + 1)) {
+        extra_parentheses = true;
+        s << "(";
+        break;
+      }
     }
     break;
   }
 
-  PPL_DIRTY_TEMP_COEFFICIENT(gv);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
   bool first = true;
-  for (dimension_type v = 0; v < num_variables; ++v) {
-    gv = g[v+1];
-    if (gv != 0) {
-      if (!first) {
-	if (gv > 0)
-	  s << " + ";
-	else {
-	  s << " - ";
-	  neg_assign(gv);
-	}
+  for (Linear_Expression::const_iterator i = expr.begin(),
+        i_end = expr.lower_bound(Variable(num_variables)); i != i_end; ++i) {
+    c = *i;
+    if (!first) {
+      if (c > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(c);
       }
-      else
-	first = false;
-      if (gv == -1)
-	s << "-";
-      else if (gv != 1)
-	s << gv << "*";
-      s << PPL::Variable(v);
     }
+    else
+      first = false;
+    if (c == -1)
+      s << "-";
+    else if (c != 1)
+      s << c << "*";
+    IO_Operators::operator<<(s, i.variable());
   }
   if (first)
-    // A generator in the origin.
+    // A grid generator in the origin.
     s << 0;
   if (extra_parentheses)
     s << ")";
   if (need_divisor)
-    s << "/" << g.divisor();
+    s << "/" << divisor();
   s << ")";
+}
+
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream&
+PPL::IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g) {
+  g.fancy_print(s);
   return s;
 }
 
@@ -357,7 +403,7 @@ PPL::IO_Operators::operator<<(std::ostream& s,
   case Grid_Generator::PARAMETER:
     n = "PARAMETER";
     break;
-  case Generator::POINT:
+  case Grid_Generator::POINT:
     n = "POINT";
     break;
   }
@@ -367,56 +413,66 @@ PPL::IO_Operators::operator<<(std::ostream& s,
 
 bool
 PPL::Grid_Generator::OK() const {
-  if (!is_necessarily_closed()) {
+  // NOTE: do not check for normalization, as it does not hold.
+  const Grid_Generator& x = *this;
+
+  if (!x.is_necessarily_closed()) {
 #ifndef NDEBUG
-    std::cerr << "Grid_Generator should be necessarily closed."
-	      << std::endl;
+    std::cerr << "Grid_Generator should be necessarily closed.\n";
 #endif
     return false;
   }
 
-  // Topology consistency check.
-  if (size() < 1) {
+  if (x.expr.space_dimension() < 1) {
 #ifndef NDEBUG
     std::cerr << "Grid_Generator has fewer coefficients than the minimum "
-	      << "allowed:" << std::endl
-	      << "size is " << size() << ", minimum is 1." << std::endl;
+	      << "allowed:\nspace dimension is " << x.expr.space_dimension()
+              << ", minimum is 1.\n";
 #endif
     return false;
   }
 
-  switch (type()) {
+  switch (x.type()) {
   case Grid_Generator::LINE:
-    if (operator[](0) != 0) {
+    if (x.expr.inhomogeneous_term() != 0) {
 #ifndef NDEBUG
-      std::cerr << "Inhomogeneous terms of lines must be zero!"
-		<< std::endl;
+      std::cerr << "Inhomogeneous terms of lines must be zero!\n";
 #endif
       return false;
     }
     break;
 
   case Grid_Generator::PARAMETER:
-    if (operator[](0) != 0) {
+    if (x.expr.inhomogeneous_term() != 0) {
+#ifndef NDEBUG
+      std::cerr << "Inhomogeneous terms of parameters must be zero!\n";
+#endif
+      return false;
+    }
+    if (x.divisor() <= 0) {
 #ifndef NDEBUG
-      std::cerr << "Inhomogeneous terms of parameters must be zero!"
-		<< std::endl;
+      std::cerr << "Parameters must have positive divisors!\n";
 #endif
       return false;
     }
-    // Fall through.
+    break;
 
   case Grid_Generator::POINT:
-    if (divisor() <= 0) {
+    if (x.expr.inhomogeneous_term() <= 0) {
+#ifndef NDEBUG
+      std::cerr << "Points must have positive divisors!\n";
+#endif
+      return false;
+    }
+    if (x.expr.coefficient(Variable(space_dimension())) != 0) {
 #ifndef NDEBUG
-      std::cerr << "Points and parameters must have positive divisors!"
-		<< std::endl;
+      std::cerr << "Points must have a zero parameter divisor!\n";
 #endif
       return false;
     }
     break;
 
-  }
+  } // switch (x.type())
 
   // All tests passed.
   return true;
diff --git a/src/Grid_Generator.defs.hh b/src/Grid_Generator.defs.hh
index a44a492..39eb3d7 100644
--- a/src/Grid_Generator.defs.hh
+++ b/src/Grid_Generator.defs.hh
@@ -1,6 +1,6 @@
 /* Grid_Generator class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,15 +19,24 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Generator_defs_hh
 #define PPL_Grid_Generator_defs_hh 1
 
 #include "Grid_Generator.types.hh"
+#include "Grid.types.hh"
+
+#include "Variables_Set.types.hh"
+#include "Grid_Generator_System.types.hh"
+#include "Linear_System.types.hh"
+
 #include "Coefficient.defs.hh"
-#include "Grid_Generator_System.defs.hh"
-#include "Generator.defs.hh"
+#include "Linear_Expression.defs.hh"
+#include "Topology.types.hh"
+#include "Expression_Hide_Inhomo.defs.hh"
+#include "Expression_Hide_Last.defs.hh"
+
 #include "Grid.types.hh"
 #include <iosfwd>
 
@@ -35,6 +44,45 @@ namespace Parma_Polyhedra_Library {
 
 // Put these in the namespace here to declare them friend later.
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Grid_Generator
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Grid_Generator& x, const Grid_Generator& y);
+
 namespace IO_Operators {
 
 //! Output operator.
@@ -43,16 +91,11 @@ std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
 
 } // namespace IO_Operators
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-void swap(Parma_Polyhedra_Library::Grid_Generator& x,
-	  Parma_Polyhedra_Library::Grid_Generator& y);
+//! Swaps \p x with \p y.
+/*! \relates Grid_Generator */
+void swap(Grid_Generator& x, Grid_Generator& y);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 //! A grid line, parameter or grid point.
 /*! \ingroup PPL_CXX_interface
@@ -210,7 +253,7 @@ void swap(Parma_Polyhedra_Library::Grid_Generator& x,
     cout << "Parameter g2: " << g2 << endl;
   }
   else
-    cout << "Grid Generator g1 is not a grid point." << endl;
+    cout << "Grid generator g1 is not a grid point." << endl;
   \endcode
   Therefore, for the grid point
   \code
@@ -225,17 +268,34 @@ void swap(Parma_Polyhedra_Library::Grid_Generator& x,
   the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
   these are equivalent only when the divisor is 1.
 */
-class Parma_Polyhedra_Library::Grid_Generator : private Generator {
+class Parma_Polyhedra_Library::Grid_Generator {
 public:
+
+  //! The possible kinds of Grid_Generator objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  //! The representation used for new Grid_Generators.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
   //! Returns the line of direction \p e.
   /*!
     \exception std::invalid_argument
     Thrown if the homogeneous part of \p e represents the origin of
     the vector space.
   */
-  static Grid_Generator grid_line(const Linear_Expression& e);
+  static Grid_Generator grid_line(const Linear_Expression& e,
+                                  Representation r = default_representation);
 
-  //! Returns the parameter of direction \p e and size \p e/d.
+  //! Returns the parameter of direction \p e and size \p e/d, with the same
+  //! representation as e.
   /*!
     Both \p e and \p d are optional arguments, with default values
     Linear_Expression::zero() and Coefficient_one(), respectively.
@@ -244,9 +304,18 @@ public:
     Thrown if \p d is zero.
   */
   static Grid_Generator parameter(const Linear_Expression& e
-				  = Linear_Expression::zero(),
-				  Coefficient_traits::const_reference d
-				  = Coefficient_one());
+                                  = Linear_Expression::zero(),
+                                  Coefficient_traits::const_reference d
+                                  = Coefficient_one(),
+                                  Representation r = default_representation);
+
+  // TODO: Improve the documentation of this method.
+  //! Returns the parameter of direction and size \p Linear_Expression::zero() .
+  static Grid_Generator parameter(Representation r);
+
+  //! Returns the parameter of direction and size \p e .
+  static Grid_Generator parameter(const Linear_Expression& e,
+                                  Representation r);
 
   //! Returns the point at \p e / \p d.
   /*!
@@ -257,21 +326,47 @@ public:
     Thrown if \p d is zero.
   */
   static Grid_Generator grid_point(const Linear_Expression& e
-				   = Linear_Expression::zero(),
-				   Coefficient_traits::const_reference d
-				   = Coefficient_one());
+                                   = Linear_Expression::zero(),
+                                   Coefficient_traits::const_reference d
+                                   = Coefficient_one(),
+                                   Representation r = default_representation);
+
+  //! Returns the point at \p e .
+  static Grid_Generator grid_point(Representation r);
+
+  //! Returns the point at \p e .
+  static Grid_Generator grid_point(const Linear_Expression& e,
+                                   Representation r);
+
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  explicit Grid_Generator(Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  //! The new Grid_Generator will have the same representation as g.
   Grid_Generator(const Grid_Generator& g);
 
+  //! Copy constructor with specified representation.
+  Grid_Generator(const Grid_Generator& g, Representation r);
+
+  //! Copy constructor with specified space dimension.
+  //! The new Grid_Generator will have the same representation as g.
+  Grid_Generator(const Grid_Generator& g, dimension_type space_dim);
+
+  //! Copy constructor with specified space dimension and representation.
+  Grid_Generator(const Grid_Generator& g, dimension_type space_dim,
+                 Representation r);
+
   //! Destructor.
   ~Grid_Generator();
 
   //! Assignment operator.
   Grid_Generator& operator=(const Grid_Generator& g);
 
-  //! Assignment operator.
-  Grid_Generator& operator=(const Generator& g);
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Grid_Generator can handle.
   static dimension_type max_space_dimension();
@@ -279,6 +374,42 @@ public:
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the grid generator.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    Always returns \p true. The return value is needed for compatibility with
+    the Generator class.
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the grid generator.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
   //! The generator type.
   enum Type {
     /*! The generator is a grid line. */
@@ -354,15 +485,12 @@ public:
   */
   bool is_equivalent_to(const Grid_Generator& y) const;
 
-  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
-  bool is_equal_to(const Grid_Generator& y) const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
-    dimension \p dim.
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent generators.
   */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Grid_Generator& gg) const;
+  bool is_equal_to(const Grid_Generator& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if all the homogeneous terms
@@ -370,6 +498,9 @@ public:
   */
   bool all_homogeneous_terms_are_zero() const;
 
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
@@ -379,87 +510,186 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
   //! Swaps \p *this with \p y.
-  void swap(Grid_Generator& y);
+  void m_swap(Grid_Generator& y);
 
   /*! \brief
-    Swaps \p *this with \p y, leaving \p *this with the original
-    capacity.
+    Scales \p *this to be represented with a divisor of \p d (if
+    \*this is a parameter or point). Does nothing at all on lines.
 
-    All elements up to and including the last element of the smaller
-    of \p *this and \p y are swapped.  The parameter divisor element
-    of \p y is swapped with the divisor element of \p *this.
+    It is assumed that \p d is a multiple of the current divisor
+    and different from zero. The behavior is undefined if the assumption
+    does not hold.
   */
-  void coefficient_swap(Grid_Generator& y);
+  void scale_to_divisor(Coefficient_traits::const_reference d);
+
+  //! Sets the divisor of \p *this to \p d.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
+  */
+  void set_divisor(Coefficient_traits::const_reference d);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Expression_Hide_Inhomo<Linear_Expression> > Expression;
+
+  //! Allows user code to read the internal expression (but note that this
+  //! is a different type, not all operations are allowed).
+  const Expression& expression() const;
 
 private:
+  Linear_Expression expr;
+
+  Expression_Hide_Inhomo<Linear_Expression> semi_wrapped_expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
     the origin of the zero-dimensional space \f$\Rset^0\f$.
   */
   static const Grid_Generator* zero_dim_point_p;
 
+  //! Constructs a Grid_Generator with the specified space dimension, kind
+  //! and topology.
+  Grid_Generator(dimension_type space_dim, Kind kind, Topology topology,
+                 Representation r = default_representation);
+
+  // TODO: Avoid reducing the space dimension.
   /*! \brief
-    Scales \p *this to be represented with a divisor of \p d (if
-    \*this is a parameter or point).
+    Constructs a grid generator of type \p t from linear expression \p e,
+    stealing the underlying data structures from \p e.
 
-    It is assumed that \p d is a multiple of the current divisor.
+    The last column in \p e becomes the parameter divisor column of
+    the new Grid_Generator.
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+    \note The new Grid_Generator will have the same representation as `e'.
   */
-  void scale_to_divisor(Coefficient_traits::const_reference d);
+  Grid_Generator(Linear_Expression& e, Type t);
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
 
   /*! \brief
-    Constructs from polyhedron generator \p g, stealing the underlying
-    data structures from \p g.
+    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
+    dimension \p dim.
+  */
+  bool is_equal_at_dimension(dimension_type dim,
+                             const Grid_Generator& gg) const;
 
-    The last column in \p g becomes the parameter divisor column of
-    the new Grid_Generator.
+  //! Another print functions, with fancy output, more human-friendly.
+  //! This is used by operator<<();
+  void fancy_print(std::ostream& s) const;
+
+  //! Converts the Grid_Generator into a parameter.
+  void set_is_parameter();
+
+  //! Sets the Grid_Generator kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
+
+  //! Sets the Grid_Generator kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_parameter_or_point();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
   */
-  explicit Grid_Generator(Generator g);
+  bool is_not_necessarily_closed() const;
 
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
 
-  //! Sets the divisor of \p *this to \p d.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is a line.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
   */
-  void set_divisor(Coefficient_traits::const_reference d);
+  bool is_ray_or_point_or_inequality() const;
+  //@} // Flags inspection methods
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+  //! \name Flags coercion methods
+  //@{
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_parameter_or_point();
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
 
-  //! Converts the Grid_Generator into a parameter.
-  void set_is_parameter();
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+  //@} // Flags coercion methods
 
   /*! \brief
-    Strong normalization: ensures that different Grid_Generator
-    objects represent different hyperplanes or hyperspaces.
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+  /*! \brief
+    Strong normalization: ensures that different Grid_Generator objects
+    represent different hyperplanes or hyperspaces.
 
-    This is simply a wrapper around the Generator::strong_normalize,
-    which means applying it to a parameter may change the parameter.
+    Applies both Grid_Generator::normalize() and Grid_Generator::sign_normalize().
   */
   void strong_normalize();
 
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Grid_Generator that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Grid_Generator to \p *this and normalizes it.
+  */
+  void linear_combine(const Grid_Generator& y, dimension_type i);
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+                               const char* name_var,
+                               const Variable v) const;
 
   /*! \brief
     Throw a <CODE>std::invalid_argument</CODE> exception containing
@@ -470,47 +700,79 @@ private:
 
   friend std::ostream&
   IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g);
-  // FIXME: The following friend declaration is for operator[] and
-  //        divisor() access in Grid::conversion, Grid::simplify,
-  //        Grid::relation_with(c) and Grid::Grid(box, *).
-  friend class Grid;
+
+  friend int
+  compare(const Grid_Generator& x, const Grid_Generator& y);
+
   friend class Grid_Generator_System;
-  friend class Grid_Generator_System::const_iterator;
-  friend class Congruence_System;
+  friend class Grid;
+  friend class Linear_System<Grid_Generator>;
   friend class Scalar_Products;
   friend class Topology_Adjusted_Scalar_Product_Sign;
-  friend class Linear_Expression;
 };
 
 
 namespace Parma_Polyhedra_Library {
 
 /*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_line(const Linear_Expression& e).
+  Shorthand for
+  Grid_Generator::grid_line(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
 */
-/*! \relates Grid_Generator */
-Grid_Generator grid_line(const Linear_Expression& e);
+Grid_Generator
+grid_line(const Linear_Expression& e,
+          Representation r = Grid_Generator::default_representation);
 
 /*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::parameter(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
+  Shorthand for
+  Grid_Generator::parameter(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Grid_Generator
 */
-/*! \relates Grid_Generator */
 Grid_Generator
 parameter(const Linear_Expression& e = Linear_Expression::zero(),
-	  Coefficient_traits::const_reference d = Coefficient_one());
+          Coefficient_traits::const_reference d = Coefficient_one(),
+          Representation r = Grid_Generator::default_representation);
+
+//! Shorthand for Grid_Generator::parameter(Representation r).
+/*! \relates Grid_Generator */
+Grid_Generator
+parameter(Representation r);
 
 /*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_point(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
+  Shorthand for
+  Grid_Generator::parameter(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+parameter(const Linear_Expression& e, Representation r);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::grid_point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Grid_Generator
 */
-/*! \relates Grid_Generator */
 Grid_Generator
 grid_point(const Linear_Expression& e = Linear_Expression::zero(),
-	   Coefficient_traits::const_reference d = Coefficient_one());
+           Coefficient_traits::const_reference d = Coefficient_one(),
+           Representation r = Grid_Generator::default_representation);
+
+//! Shorthand for Grid_Generator::grid_point(Representation r).
+/*! \relates Grid_Generator */
+Grid_Generator
+grid_point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::grid_point(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+grid_point(const Linear_Expression& e, Representation r);
 
 //! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
 /*! \relates Grid_Generator */
diff --git a/src/Grid_Generator.inlines.hh b/src/Grid_Generator.inlines.hh
index 199e8a1..c5c77cd 100644
--- a/src/Grid_Generator.inlines.hh
+++ b/src/Grid_Generator.inlines.hh
@@ -1,6 +1,6 @@
 /* Grid Generator class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,87 +19,213 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Generator_inlines_hh
 #define PPL_Grid_Generator_inlines_hh 1
 
 namespace Parma_Polyhedra_Library {
 
+inline bool
+Grid_Generator::is_necessarily_closed() const {
+  return true;
+}
+
+inline bool
+Grid_Generator::is_not_necessarily_closed() const {
+  return false;
+}
+
+inline bool
+Grid_Generator::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Grid_Generator::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Grid_Generator::topology() const {
+  return NECESSARILY_CLOSED;
+}
+
+inline void
+Grid_Generator::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Grid_Generator::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Grid_Generator::set_topology(Topology x) {
+  PPL_USED(x);
+  PPL_ASSERT(x == NECESSARILY_CLOSED);
+}
+
+inline void
+Grid_Generator::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Grid_Generator::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+inline
+Grid_Generator::Grid_Generator(Linear_Expression& e, Type type)
+  : semi_wrapped_expr(expr), wrapped_expr(semi_wrapped_expr, true) {
+  swap(expr, e);
+  if (type == LINE)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  PPL_ASSERT(OK());
+}
+
+inline
+Grid_Generator::Grid_Generator(Representation r)
+  : expr(Coefficient_one(), r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(RAY_OR_POINT_OR_INEQUALITY) {
+  expr.set_space_dimension(1);
+  PPL_ASSERT(OK());
+}
+
 inline
 Grid_Generator::Grid_Generator(const Grid_Generator& g)
-  : Generator(g) {
+  : expr(g.expr),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
 }
 
 inline
-Grid_Generator::~Grid_Generator() {
+Grid_Generator::Grid_Generator(const Grid_Generator& g, Representation r)
+  : expr(g.expr, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
 }
 
 inline
-Grid_Generator::Grid_Generator(Generator g)
-  : Generator(Generator::point()) {
-  Generator::swap(g);
+Grid_Generator::Grid_Generator(dimension_type space_dim, Kind kind,
+                               Topology topology, Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(kind) {
+  PPL_USED(topology);
+  PPL_ASSERT(topology == NECESSARILY_CLOSED);
+  expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
 }
 
-inline dimension_type
-Grid_Generator::size() const {
-  return Generator::size();
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g,
+                               dimension_type space_dim)
+  : expr(g.expr, space_dim + 1),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
 }
 
-inline dimension_type
-Grid_Generator::max_space_dimension() {
-  return Generator::max_space_dimension() - 1;
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g,
+                               dimension_type space_dim, Representation r)
+  : expr(g.expr, space_dim + 1, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
 }
 
-inline Coefficient&
-Grid_Generator::operator[](dimension_type k) {
-  return Generator::operator[](k);
+inline
+Grid_Generator::~Grid_Generator() {
 }
 
-inline Coefficient_traits::const_reference
-Grid_Generator::operator[](dimension_type k) const {
-  return Generator::operator[](k);
+inline const Grid_Generator::Expression&
+Grid_Generator::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Grid_Generator::representation() const {
+  return expr.representation();
+}
+
+inline void
+Grid_Generator::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline dimension_type
+Grid_Generator::max_space_dimension() {
+  return Linear_Expression::max_space_dimension() - 1;
 }
 
 inline dimension_type
 Grid_Generator::space_dimension() const {
-  return Generator::space_dimension() - 1;
+  return wrapped_expr.space_dimension();
+}
+
+inline void
+Grid_Generator::set_space_dimension(dimension_type space_dim) {
+  const dimension_type old_space_dim = space_dimension();
+  if (space_dim > old_space_dim) {
+    expr.set_space_dimension(space_dim + 1);
+    expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+  } else {
+    expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    expr.set_space_dimension(space_dim + 1);
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline void
+Grid_Generator::set_space_dimension_no_ok(dimension_type space_dim) {
+  set_space_dimension(space_dim);
+}
+
+inline void
+Grid_Generator::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
 }
 
 inline Grid_Generator::Type
 Grid_Generator::type() const {
-  switch (Generator::type()) {
-  case Generator::POINT:
-    return POINT;
-  case Generator::RAY:
-    return PARAMETER;
-  case Generator::LINE:
+  if (is_line())
     return LINE;
-  case Generator::CLOSURE_POINT:
-  default:
-    PPL_ASSERT(false);
-    return POINT;
-  }
+  return is_point() ? POINT : PARAMETER;
 }
 
 inline bool
 Grid_Generator::is_line() const {
-  return Generator::is_line();
+  return is_line_or_equality();
 }
 
 inline bool
 Grid_Generator::is_parameter() const {
-  return is_ray();
+  return is_parameter_or_point() && is_line_or_parameter();
 }
 
 inline bool
 Grid_Generator::is_line_or_parameter() const {
-  return is_line_or_ray();
+  return expr.inhomogeneous_term() == 0;
 }
 
 inline bool
 Grid_Generator::is_point() const {
-  return Generator::is_point();
+  return !is_line_or_parameter();
 }
 
 inline bool
@@ -111,9 +237,9 @@ inline void
 Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
   PPL_ASSERT(!is_line());
   if (is_line_or_parameter())
-    Generator::operator[](size() - 1) = d;
+    expr.set_coefficient(Variable(space_dimension()), d);
   else
-    Generator::operator[](0) = d;
+    expr.set_inhomogeneous_term(d);
 }
 
 inline Coefficient_traits::const_reference
@@ -121,60 +247,51 @@ Grid_Generator::divisor() const {
   if (is_line())
     throw_invalid_argument("divisor()", "*this is a line");
   if (is_line_or_parameter())
-    return Generator::operator[](size() - 1);
+    return expr.coefficient(Variable(space_dimension()));
   else
-    return Generator::operator[](0);
+    return expr.inhomogeneous_term();
 }
 
 inline bool
 Grid_Generator::is_equal_at_dimension(dimension_type dim,
-				      const Grid_Generator& gg) const {
-  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
+				      const Grid_Generator& y) const {
+  const Grid_Generator& x = *this;
+  return x.expr.get(dim) * y.divisor() == y.expr.get(dim) * x.divisor();
 }
 
 inline void
 Grid_Generator::set_is_line() {
-  Generator::set_is_line();
+  set_is_line_or_equality();
 }
 
 inline void
 Grid_Generator::set_is_parameter_or_point() {
-  Generator::set_is_ray_or_point();
+  set_is_ray_or_point_or_inequality();
 }
 
 inline Grid_Generator&
 Grid_Generator::operator=(const Grid_Generator& g) {
-  Generator::operator=(g);
-  return *this;
-}
+  Grid_Generator tmp = g;
+  swap(*this, tmp);
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Generator& g) {
-  Generator::operator=(g);
   return *this;
 }
 
-inline void
-Grid_Generator::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
-}
-
 inline Coefficient_traits::const_reference
 Grid_Generator::coefficient(const Variable v) const {
   if (v.space_dimension() > space_dimension())
     throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Generator::coefficient(v);
+  return expr.coefficient(v);
 }
 
 inline memory_size_type
 Grid_Generator::total_memory_in_bytes() const {
-  return Generator::total_memory_in_bytes();
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
 inline memory_size_type
 Grid_Generator::external_memory_in_bytes() const {
-  return Generator::external_memory_in_bytes();
+  return expr.external_memory_in_bytes();
 }
 
 inline const Grid_Generator&
@@ -185,12 +302,17 @@ Grid_Generator::zero_dim_point() {
 
 inline void
 Grid_Generator::strong_normalize() {
-  Generator::strong_normalize();
+  PPL_ASSERT(!is_parameter());
+  expr.normalize();
+  sign_normalize();
 }
 
 inline void
-Grid_Generator::swap(Grid_Generator& y) {
-  Generator::swap(y);
+Grid_Generator::m_swap(Grid_Generator& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  // No need to modify wrapped_expr here.
 }
 
 /*! \relates Grid_Generator */
@@ -207,35 +329,54 @@ operator!=(const Grid_Generator& x, const Grid_Generator& y) {
 
 /*! \relates Grid_Generator */
 inline Grid_Generator
-grid_line(const Linear_Expression& e) {
-  return Grid_Generator::grid_line(e);
+grid_line(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::grid_line(e, r);
 }
 
 /*! \relates Grid_Generator */
 inline Grid_Generator
 parameter(const Linear_Expression& e,
-	  Coefficient_traits::const_reference d) {
-  return Grid_Generator::parameter(e, d);
+          Coefficient_traits::const_reference d, Representation r) {
+  return Grid_Generator::parameter(e, d, r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(Representation r) {
+  return Grid_Generator::parameter(r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::parameter(e, r);
 }
 
 /*! \relates Grid_Generator */
 inline Grid_Generator
 grid_point(const Linear_Expression& e,
-	   Coefficient_traits::const_reference d) {
-  return Grid_Generator::grid_point(e, d);
+           Coefficient_traits::const_reference d, Representation r) {
+  return Grid_Generator::grid_point(e, d, r);
 }
 
-} // namespace Parma_Polyhedra_Library
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(Representation r) {
+  return Grid_Generator::grid_point(r);
+}
 
-namespace std {
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::grid_point(e, r);
+}
 
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+/*! \relates Grid_Generator */
 inline void
-swap(Parma_Polyhedra_Library::Grid_Generator& x,
-     Parma_Polyhedra_Library::Grid_Generator& y) {
-  x.swap(y);
+swap(Grid_Generator& x, Grid_Generator& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Grid_Generator_inlines_hh)
diff --git a/src/Grid_Generator.types.hh b/src/Grid_Generator.types.hh
index 3c5fe99..956b2a9 100644
--- a/src/Grid_Generator.types.hh
+++ b/src/Grid_Generator.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Generator_System.cc b/src/Grid_Generator_System.cc
index 4b1a1f6..90aa58c 100644
--- a/src/Grid_Generator_System.cc
+++ b/src/Grid_Generator_System.cc
@@ -1,6 +1,6 @@
 /* Grid_Generator_System class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,12 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Grid_Generator_System.defs.hh"
 #include "Grid_Generator_System.inlines.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "Variables_Set.defs.hh"
 #include "assert.hh"
 #include <iostream>
@@ -32,210 +33,101 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace PPL = Parma_Polyhedra_Library;
 
 void
-PPL::Grid_Generator_System::recycling_insert(Grid_Generator_System& gs) {
-  const dimension_type old_num_rows = num_rows();
+PPL::Grid_Generator_System::insert(Grid_Generator_System& gs, Recycle_Input) {
   const dimension_type gs_num_rows = gs.num_rows();
-  const dimension_type old_num_columns = num_columns();
-  const dimension_type gs_num_columns = gs.num_columns();
-  if (old_num_columns >= gs_num_columns)
-    add_zero_rows(gs_num_rows,
-		  Linear_Row::Flags(NECESSARILY_CLOSED,
-				    Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-  else {
-    add_zero_rows_and_columns(gs_num_rows,
-			      gs_num_columns - old_num_columns,
-			      Linear_Row::Flags(NECESSARILY_CLOSED,
-						Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-    // Swap the parameter divisor column into the new last column.
-    swap_columns(old_num_columns - 1, num_columns() - 1);
-  }
-  set_index_first_pending_row(old_num_rows + gs_num_rows);
-  // Swap one coefficient at a time into the newly added rows, instead
-  // of swapping each entire row.  This ensures that the added rows
-  // have the same capacities as the existing rows.
-  for (dimension_type i = gs_num_rows; i-- > 0; )
-    operator[](old_num_rows + i).coefficient_swap(gs[i]);
-}
 
-void
-PPL::Grid_Generator_System::recycling_insert(Grid_Generator& g) {
-  dimension_type old_num_rows = num_rows();
-  const dimension_type old_num_columns = num_columns();
-  const dimension_type g_num_columns = g.size();
-  if (old_num_columns >= g_num_columns)
-    add_zero_rows(1,
-		  Linear_Row::Flags(NECESSARILY_CLOSED,
-				    Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-  else {
-    add_zero_rows_and_columns(1,
-			      g_num_columns - old_num_columns,
-			      Linear_Row::Flags(NECESSARILY_CLOSED,
-						Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-    // Swap the parameter divisor column into the new last column.
-    swap_columns(old_num_columns - 1, num_columns() - 1);
-  }
-  set_index_first_pending_row(old_num_rows + 1);
-  // Swap one coefficient at a time into the newly added rows, instead
-  // of swapping each entire row.  This ensures that the added rows
-  // have the same capacities as the existing rows.
-  operator[](old_num_rows).coefficient_swap(g);
+  if (space_dimension() < gs.space_dimension())
+    set_space_dimension(gs.space_dimension());
+  else
+    gs.set_space_dimension(space_dimension());
+
+  for (dimension_type i = 0; i < gs_num_rows; ++i)
+    sys.insert(gs.sys.rows[i], Recycle_Input());
+
+  gs.clear();
+
+  unset_pending_rows();
 }
 
 void
 PPL::Grid_Generator_System::insert(const Grid_Generator& g) {
-  dimension_type g_space_dim = g.space_dimension();
-
-  if (g.is_parameter())
-    if (g.all_homogeneous_terms_are_zero()) {
-      dimension_type initial_space_dim = space_dimension();
-      if (initial_space_dim < g_space_dim) {
-	// Adjust the space dimension.
-	add_zero_columns(g_space_dim - initial_space_dim);
-	// Swap the parameter divisor column into the new last column.
-	swap_columns(g_space_dim + 1, initial_space_dim + 1);
-	PPL_ASSERT(OK());
-      }
-      return;
-    }
-
-  {
-    // This block is a substitute for Generator_System::insert, in
-    // which the single call to Linear_System::insert has been
-    // inlined.
-
-    // We are sure that the matrix has no pending rows
-    // and that the new row is not a pending generator.
-    PPL_ASSERT(num_pending_rows() == 0);
-
-    // TODO: Consider whether, if possible, it would be better to wrap
-    //       an NNC Generator, storing the generator divisor in the
-    //       epsilon column.
-
-    // This is a modified copy of Linear_System::insert.  It is here
-    // to force Grid_Generator::OK to be used (to work around the
-    // normalization assertions in Linear_System::OK) and so that the
-    // parameter divisor column can be moved during the insert.
-
-    // The added row must be strongly normalized and have the same
-    // topology as the system.
-    PPL_ASSERT(topology() == g.topology());
-    // This method is only used when the system has no pending rows.
-    PPL_ASSERT(num_pending_rows() == 0);
-
-    const dimension_type old_num_rows = num_rows();
-    const dimension_type old_num_columns = num_columns();
-    const dimension_type g_size = g.size();
-
-    // Resize the system, if necessary.
-    PPL_ASSERT(is_necessarily_closed());
-    if (g_size > old_num_columns) {
-      add_zero_columns(g_size - old_num_columns);
-      if (old_num_rows > 0)
-	// Swap the existing parameter divisor column into the new
-	// last column.
-	swap_columns(old_num_columns - 1, g_size - 1);
-      Matrix::add_row(g);
-    }
-    else if (g_size < old_num_columns)
-      if (old_num_rows == 0)
-	Matrix::add_row(Linear_Row(g, old_num_columns, row_capacity));
-      else {
-	// Create a resized copy of the row (and move the parameter
-	// divisor coefficient to its last position).
-	Linear_Row tmp_row(g, old_num_columns, row_capacity);
-	std::swap(tmp_row[g_size - 1], tmp_row[old_num_columns - 1]);
-	Matrix::add_row(tmp_row);
-      }
-    else
-      // Here r_size == old_num_columns.
-      Matrix::add_row(g);
+  Grid_Generator tmp(g, representation());
+  insert(tmp, Recycle_Input());
+}
 
-  } // Generator_System::insert(g) substitute.
+void
+PPL::Grid_Generator_System::insert(Grid_Generator& g, Recycle_Input) {
+  if (g.is_parameter() && g.all_homogeneous_terms_are_zero()) {
+    // There is no need to add the origin as a parameter,
+    // as it will be immediately flagged as redundant.
+    // However, we still have to adjust space dimension.
+    if (space_dimension() < g.space_dimension())
+      set_space_dimension(g.space_dimension());
+    return;
+  }
 
-  set_index_first_pending_row(num_rows());
-  set_sorted(false);
+  sys.insert(g, Recycle_Input());
 
   PPL_ASSERT(OK());
 }
 
 void
 PPL::Grid_Generator_System
-::affine_image(dimension_type v,
+::affine_image(Variable v,
 	       const Linear_Expression& expr,
 	       Coefficient_traits::const_reference denominator) {
   // This is mostly a copy of Generator_System::affine_image.
 
   Grid_Generator_System& x = *this;
-  // `v' is the index of a column corresponding to a "user" variable
-  // (i.e., it cannot be the inhomogeneous term).
-  PPL_ASSERT(v > 0 && v <= x.space_dimension());
-  PPL_ASSERT(expr.space_dimension() <= x.space_dimension());
+  PPL_ASSERT(v.space_dimension() <= x.sys.space_dimension());
+  PPL_ASSERT(expr.space_dimension() <= x.sys.space_dimension());
   PPL_ASSERT(denominator > 0);
 
-  const dimension_type num_columns = x.num_columns();
   const dimension_type num_rows = x.num_rows();
 
   // Compute the numerator of the affine transformation and assign it
   // to the column of `*this' indexed by `v'.
   PPL_DIRTY_TEMP_COEFFICIENT(numerator);
+
   for (dimension_type i = num_rows; i-- > 0; ) {
-    Grid_Generator& row = x[i];
-    Scalar_Products::assign(numerator, expr, row);
-    std::swap(numerator, row[v]);
+    Grid_Generator& row = sys.rows[i];
+    Scalar_Products::assign(numerator, expr, row.expr);
+    if (denominator != 1) {
+      // Since we want integer elements in the matrix,
+      // we multiply by `denominator' all the columns of `*this'
+      // having an index different from `v'.
+      // Note that this operation also modifies the coefficient of v, but
+      // it will be overwritten by the set_coefficient() below.
+      row.expr *= denominator;
+    }
+    row.expr.set_coefficient(v, numerator);
+    // Check that the row is stll OK after fiddling with its internal data.
+    PPL_ASSERT(row.OK());
   }
 
-  if (denominator != 1)
-    // Since we want integer elements in the matrix,
-    // we multiply by `denominator' all the columns of `*this'
-    // having an index different from `v'.
-    for (dimension_type i = num_rows; i-- > 0; ) {
-      Grid_Generator& row = x[i];
-      for (dimension_type j = num_columns; j-- > 0; )
-	if (j != v)
-	  row[j] *= denominator;
-    }
+  PPL_ASSERT(sys.OK());
 
   // If the mapping is not invertible we may have transformed valid
   // lines and rays into the origin of the space.
-  const bool not_invertible = (v > expr.space_dimension() || expr[v] == 0);
+  const bool not_invertible = (v.space_dimension() >= expr.space_dimension()
+                               || expr.coefficient(v) == 0);
   if (not_invertible)
-    x.remove_invalid_lines_and_rays();
+    x.remove_invalid_lines_and_parameters();
 }
 
 PPL_OUTPUT_DEFINITIONS(Grid_Generator_System)
 
 void
 PPL::Grid_Generator_System::ascii_dump(std::ostream& s) const {
-  const dimension_type num_rows = this->num_rows();
-  s << num_rows << " x " << num_columns() << '\n';
-  for (dimension_type i = 0; i < num_rows; ++i)
-    operator[](i).ascii_dump(s);
+  sys.ascii_dump(s);
 }
 
 bool
 PPL::Grid_Generator_System::ascii_load(std::istream& s) {
-  dimension_type num_rows;
-  dimension_type num_columns;
-  if (!(s >> num_rows))
-    return false;
-  std::string str;
-  if (!(s >> str) || str != "x")
+  if (!sys.ascii_load(s))
     return false;
-  if (!(s >> num_columns))
-      return false;
-  resize_no_copy(num_rows, num_columns);
 
-  set_sorted(false);
-  set_index_first_pending_row(num_rows);
-
-  Grid_Generator_System& x = *this;
-  for (dimension_type i = 0; i < num_rows; ++i)
-    if (!x[i].ascii_load(s))
-      return false;
-
-  // Check invariants.
   PPL_ASSERT(OK());
-
   return true;
 }
 
@@ -258,7 +150,7 @@ PPL::Grid_Generator_System::finalize() {
 
 bool
 PPL::Grid_Generator_System::OK() const {
-  if (topology() == NOT_NECESSARILY_CLOSED) {
+  if (sys.topology() == NOT_NECESSARILY_CLOSED) {
 #ifndef NDEBUG
     std::cerr << "Grid_Generator_System is NOT_NECESSARILY_CLOSED"
 	      << std::endl;
@@ -266,7 +158,7 @@ PPL::Grid_Generator_System::OK() const {
     return false;
   }
 
-  if (is_sorted()) {
+  if (sys.is_sorted()) {
 #ifndef NDEBUG
     std::cerr << "Grid_Generator_System is marked as sorted."
 	      << std::endl;
@@ -274,20 +166,7 @@ PPL::Grid_Generator_System::OK() const {
     return false;
   }
 
-  // A Generator_System and hence a Grid_Generator_System must be a
-  // valid Linear_System; do not check for strong normalization, since
-  // this will be done when checking each individual generator.
-  if (!Linear_System::OK(false))
-    return false;
-
-  // Checking each generator in the system.
-  const Grid_Generator_System& x = *this;
-  for (dimension_type i = num_rows(); i-- > 0; )
-    if (!x[i].OK())
-      return false;
-
-  // All checks passed.
-  return true;
+  return sys.OK();
 }
 
 /*! \relates Parma_Polyhedra_Library::Grid_Generator_System */
@@ -299,7 +178,8 @@ PPL::IO_Operators::operator<<(std::ostream& s,
   if (i == gs_end)
     return s << "false";
   while (true) {
-    s << *i++;
+    s << *i;
+    ++i;
     if (i == gs_end)
       return s;
     s << ", ";
@@ -309,70 +189,110 @@ PPL::IO_Operators::operator<<(std::ostream& s,
 void
 PPL::Grid_Generator_System
 ::add_universe_rows_and_columns(dimension_type dims) {
-  PPL_ASSERT(num_columns() > 0);
-  dimension_type col = num_columns() - 1;
-  add_zero_rows_and_columns(dims, dims,
-			    Linear_Row::Flags(NECESSARILY_CLOSED,
-					      Linear_Row::LINE_OR_EQUALITY));
-  unset_pending_rows();
-  // Swap the parameter divisor column into the new last column.
-  swap_columns(col, col + dims);
-  // Set the diagonal element of each added rows.
-  dimension_type num_rows = this->num_rows();
-  for (dimension_type row = num_rows - dims; row < num_rows; ++row, ++col)
-    const_cast<Coefficient&>(operator[](row)[col]) = 1;
+  dimension_type col = sys.space_dimension();
+
+  set_space_dimension(space_dimension() + dims);
+
+  // Add the new rows and set their diagonal element.
+  for (dimension_type i = 0; i < dims; ++i) {
+    Grid_Generator tmp(space_dimension(), Grid_Generator::LINE_OR_EQUALITY,
+                       NECESSARILY_CLOSED, representation());
+    tmp.expr += Variable(col);
+    PPL_ASSERT(tmp.OK());
+    ++col;
+    sys.insert(tmp, Recycle_Input());
+  }
 }
 
 void
 PPL::Grid_Generator_System
 ::remove_space_dimensions(const Variables_Set& vars) {
-  // Dimension-compatibility assertion.
-  PPL_ASSERT(space_dimension() >= vars.space_dimension());
-
-  // The removal of no dimensions from any system is a no-op.  This
-  // case also captures the only legal removal of dimensions from a
-  // 0-dim system.
-  if (vars.empty())
-    return;
-
-  // For each variable to be removed, replace the corresponding column
-  // by shifting left the columns to the right that will be kept.
-  Variables_Set::const_iterator vsi = vars.begin();
-  Variables_Set::const_iterator vsi_end = vars.end();
-  dimension_type dst_col = *vsi+1;
-  dimension_type src_col = dst_col + 1;
-  for (++vsi; vsi != vsi_end; ++vsi) {
-    const dimension_type vsi_col = *vsi+1;
-    // Move all columns in between to the left.
-    while (src_col < vsi_col)
-      Matrix::swap_columns(dst_col++, src_col++);
-    ++src_col;
-  }
-  // Move any remaining columns.
-  const dimension_type num_columns = this->num_columns();
-  while (src_col < num_columns)
-    Matrix::swap_columns(dst_col++, src_col++);
+  sys.remove_space_dimensions(vars);
+}
 
-  // The number of remaining columns is `dst_col'.
-  Matrix::remove_trailing_columns(num_columns - dst_col);
+void
+PPL::Grid_Generator_System
+::shift_space_dimensions(Variable v, dimension_type n) {
+  sys.shift_space_dimensions(v, n);
 }
 
 void
 PPL::Grid_Generator_System
-::remove_higher_space_dimensions(const dimension_type new_dimension) {
-  dimension_type space_dim = space_dimension();
+::set_space_dimension(const dimension_type new_dimension) {
+  sys.set_space_dimension(new_dimension);
+  PPL_ASSERT(OK());
+}
 
-  PPL_ASSERT(new_dimension <= space_dim);
+void
+PPL::Grid_Generator_System::remove_invalid_lines_and_parameters() {
+  // The origin of the vector space cannot be a valid line/parameter.
+  // NOTE: the following swaps will mix grid generators without even trying
+  // to preserve sortedness: as a matter of fact, it will almost always
+  // be the case that the input generator system is NOT sorted.
+  
+  // Note that the num_rows() value is *not* constant because remove_row()
+  // decreases it.
+  for (dimension_type i = 0; i < num_rows(); ) {
+    const Grid_Generator& g = (*this)[i];
+    if (g.is_line_or_parameter() && g.all_homogeneous_terms_are_zero())
+      sys.remove_row(i, false);
+    else
+      ++i;
+  }
+}
 
-  // The removal of no dimensions from any system is a no-op.  Note
-  // that this case also captures the only legal removal of dimensions
-  // from a system in a 0-dim space.
-  if (new_dimension == space_dim)
-    return;
+bool
+PPL::Grid_Generator_System::has_points() const {
+  const Grid_Generator_System& ggs = *this;
+  for (dimension_type i = num_rows(); i-- > 0; ) {
+    if (!ggs[i].is_line_or_parameter())
+      return true;
+  }
+  return false;
+}
 
-  // Swap the parameter divisor column into the column that will
-  // become the last column.
-  swap_columns(new_dimension + 1, space_dim + 1);
-  Matrix::remove_trailing_columns(space_dim - new_dimension);
-  PPL_ASSERT(OK());
+PPL::dimension_type
+PPL::Grid_Generator_System::num_lines() const {
+  // We are sure that this method is applied only to a matrix
+  // that does not contain pending rows.
+  PPL_ASSERT(sys.num_pending_rows() == 0);
+  const Grid_Generator_System& ggs = *this;
+  dimension_type n = 0;
+  // If the Linear_System happens to be sorted, take advantage of the fact
+  // that lines are at the top of the system.
+  if (sys.is_sorted()) {
+    dimension_type nrows = num_rows();
+    for (dimension_type i = 0; i < nrows && ggs[i].is_line(); ++i)
+      ++n;
+  }
+  else {
+    for (dimension_type i = num_rows(); i-- > 0 ; )
+      if (ggs[i].is_line())
+	++n;
+  }
+  return n;
+}
+
+PPL::dimension_type
+PPL::Grid_Generator_System::num_parameters() const {
+  // We are sure that this method is applied only to a matrix
+  // that does not contain pending rows.
+  PPL_ASSERT(sys.num_pending_rows() == 0);
+  const Grid_Generator_System& ggs = *this;
+  dimension_type n = 0;
+  // If the Linear_System happens to be sorted, take advantage of the fact
+  // that rays and points are at the bottom of the system and
+  // rays have the inhomogeneous term equal to zero.
+  if (sys.is_sorted()) {
+    for (dimension_type i = num_rows();
+         i != 0 && ggs[--i].is_parameter_or_point(); )
+      if (ggs[i].is_line_or_parameter())
+	++n;
+  }
+  else {
+    for (dimension_type i = num_rows(); i-- > 0 ; )
+      if (ggs[i].is_parameter())
+	++n;
+  }
+  return n;
 }
diff --git a/src/Grid_Generator_System.defs.hh b/src/Grid_Generator_System.defs.hh
index 4b124b4..6827233 100644
--- a/src/Grid_Generator_System.defs.hh
+++ b/src/Grid_Generator_System.defs.hh
@@ -1,6 +1,6 @@
 /* Grid_Generator_System class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,16 +19,17 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Generator_System_defs_hh
 #define PPL_Grid_Generator_System_defs_hh 1
 
 #include "Grid_Generator_System.types.hh"
-#include "Generator_System.defs.hh"
-#include "Grid_Generator.types.hh"
+
+#include "Linear_System.defs.hh"
+#include "Grid_Generator.defs.hh"
 #include "Variables_Set.types.hh"
-#include "Grid.types.hh"
+#include "Polyhedron.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -45,6 +46,10 @@ std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates Grid_Generator_System */
+void swap(Grid_Generator_System& x, Grid_Generator_System& y);
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
 /*! \relates Grid_Generator_System */
 bool operator==(const Grid_Generator_System& x,
@@ -52,16 +57,6 @@ bool operator==(const Grid_Generator_System& x,
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator_System */
-void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
-	  Parma_Polyhedra_Library::Grid_Generator_System& y);
-
-} // namespace std
-
-
 //! A system of grid generators.
 /*! \ingroup PPL_CXX_interface
     An object of the class Grid_Generator_System is a system of
@@ -176,27 +171,42 @@ void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
     will be available, where original generators may have been
     reordered, removed (if they are duplicate or redundant), etc.
 */
-class Parma_Polyhedra_Library::Grid_Generator_System
-  : private Generator_System {
+class Parma_Polyhedra_Library::Grid_Generator_System {
 public:
+  typedef Grid_Generator row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of generators.
-  Grid_Generator_System();
+  explicit Grid_Generator_System(Representation r = default_representation);
 
   //! Builds the singleton system containing only generator \p g.
-  explicit Grid_Generator_System(const Grid_Generator& g);
+  explicit Grid_Generator_System(const Grid_Generator& g,
+                                 Representation r = default_representation);
 
   //! Builds an empty system of generators of dimension \p dim.
-  explicit Grid_Generator_System(dimension_type dim);
+  explicit Grid_Generator_System(dimension_type dim,
+                                 Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  //! The new Grid_Generator_System will have the same representation as `gs'.
   Grid_Generator_System(const Grid_Generator_System& gs);
 
+  //! Copy constructor with specified representation.
+  Grid_Generator_System(const Grid_Generator_System& gs, Representation r);
+
   //! Destructor.
   ~Grid_Generator_System();
 
   //! Assignment operator.
   Grid_Generator_System& operator=(const Grid_Generator_System& y);
 
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
   //! Returns the maximum space dimension a Grid_Generator_System can handle.
   static dimension_type max_space_dimension();
 
@@ -223,13 +233,13 @@ public:
     Inserts into \p *this the generator \p g, increasing the number of
     space dimensions if needed.
   */
-  void recycling_insert(Grid_Generator& g);
+  void insert(Grid_Generator& g, Recycle_Input);
 
   /*! \brief
     Inserts into \p *this the generators in \p gs, increasing the
     number of space dimensions if needed.
   */
-  void recycling_insert(Grid_Generator_System& gs);
+  void insert(Grid_Generator_System& gs, Recycle_Input);
 
   //! Initializes the class.
   static void initialize();
@@ -269,8 +279,7 @@ public:
 			   Grid_Generator,
 			   ptrdiff_t,
 			   const Grid_Generator*,
-			   const Grid_Generator&>,
-      private Generator_System::const_iterator {
+			   const Grid_Generator&> {
   public:
     //! Default constructor.
     const_iterator();
@@ -311,8 +320,10 @@ public:
   private:
     friend class Grid_Generator_System;
 
-    //! Copy constructor from Generator_System::const_iterator.
-    const_iterator(const Generator_System::const_iterator& y);
+    Linear_System<Grid_Generator>::const_iterator i;
+
+    //! Copy constructor from Linear_System< Grid_Generator>::const_iterator.
+    const_iterator(const Linear_System<Grid_Generator>::const_iterator& y);
   };
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
@@ -347,10 +358,6 @@ public:
   bool is_equal_to(const Grid_Generator_System& y) const;
 
   //! Checks if all the invariants are satisfied.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Grid_Generator.
-  */
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -373,39 +380,16 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Grid_Generator_System& y);
+  void m_swap(Grid_Generator_System& y);
 
 private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Grid_Generator::zero_dim_point().
-  */
-  static const Grid_Generator_System* zero_dim_univ_p;
-
-  friend class Grid;
-
-  friend bool
-  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
-
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
-
-  //! Sets the index to indicate that the system has no pending rows.
-  void unset_pending_rows();
-
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
-
-  //! Returns the \p k- th generator of the system.
-  Grid_Generator& operator[](dimension_type k);
-
   //! Returns a constant reference to the \p k- th generator of the system.
   const Grid_Generator& operator[](dimension_type k) const;
 
   //! Assigns to a given variable an affine expression.
   /*!
     \param v
-    Index of the column to which the affine transformation is assigned;
+    The variable to which the affine transformation is assigned;
 
     \param expr
     The numerator of the affine transformation:
@@ -422,8 +406,8 @@ private:
     denominator is required to be a positive integer and its
     default value is 1.
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
+    The affine transformation assigns to every variable \p v, in every
+    column, the follow expression:
     \f[
       \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
            {\mathrm{denominator}}.
@@ -431,9 +415,12 @@ private:
 
     \p expr is a constant parameter and unaltered by this computation.
   */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
+  void affine_image(Variable v,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference denominator);
+
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
   /*! \brief
     Adds \p dims rows and \p dims columns of zeroes to the matrix,
@@ -452,6 +439,9 @@ private:
   */
   void add_universe_rows_and_columns(dimension_type dims);
 
+  //! Resizes the system to the specified space dimension.
+  void set_space_dimension(dimension_type space_dim);
+
   //! Removes all the specified dimensions from the generator system.
   /*!
     The space dimension of the variable with the highest space
@@ -460,59 +450,63 @@ private:
   */
   void remove_space_dimensions(const Variables_Set& vars);
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+  bool has_no_rows() const;
 
-    \param new_num_columns
-    The number of columns of the resized system.
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+  void insert_verbatim(const Grid_Generator& g);
 
-  /*! \brief
-    Returns the number of columns of the matrix (i.e., the size of the
-    rows).
-  */
-  dimension_type num_columns() const;
+  //! Returns the system topology.
+  Topology topology() const;
+
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
+
+  Linear_System<Grid_Generator> sys;
 
   /*! \brief
-    Erases from the matrix all the rows but those having an index less
-    than \p first_to_erase.
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Grid_Generator::zero_dim_point().
   */
-  void erase_to_end(dimension_type first_to_erase);
+  static const Grid_Generator_System* zero_dim_univ_p;
 
-  //! Permutes the columns of the matrix.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
-
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the matrix has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
+  friend bool
+  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
+
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
+
+  //! Removes all the invalid lines and parameters.
+  /*!
+    The invalid lines and parameters are those with all
+    the homogeneous terms set to zero.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+  void remove_invalid_lines_and_parameters();
+
+  friend class Polyhedron;
+  friend class Grid;
 };
 
 // Grid_Generator_System.inlines.hh is not included here on purpose.
diff --git a/src/Grid_Generator_System.inlines.hh b/src/Grid_Generator_System.inlines.hh
index 29d5e5e..7e43231 100644
--- a/src/Grid_Generator_System.inlines.hh
+++ b/src/Grid_Generator_System.inlines.hh
@@ -1,6 +1,6 @@
 /* Grid_Generator_System class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,82 +19,74 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Generator_System_inlines_hh
 #define PPL_Grid_Generator_System_inlines_hh 1
 
 #include "Grid_Generator.defs.hh"
-#include "Generator_System.inlines.hh"
 
 namespace Parma_Polyhedra_Library {
 
 inline void
 Grid_Generator_System::set_sorted(bool b) {
-  Generator_System::set_sorted(b);
+  sys.set_sorted(b);
 }
 
 inline void
 Grid_Generator_System::unset_pending_rows() {
-  Generator_System::unset_pending_rows();
+  sys.unset_pending_rows();
 }
 
 inline void
 Grid_Generator_System::set_index_first_pending_row(const dimension_type i) {
-  Generator_System::set_index_first_pending_row(i);
-}
-
-inline void
-Grid_Generator_System::resize_no_copy(const dimension_type new_num_rows,
-				      const dimension_type new_num_columns) {
-  Generator_System::resize_no_copy(new_num_rows, new_num_columns);
-}
-
-inline dimension_type
-Grid_Generator_System::num_columns() const {
-  return Generator_System::num_columns();
-}
-
-inline void
-Grid_Generator_System::erase_to_end(dimension_type first_to_erase) {
-  return Generator_System::erase_to_end(first_to_erase);
+  sys.set_index_first_pending_row(i);
 }
 
 inline void
 Grid_Generator_System
-::permute_columns(const std::vector<dimension_type>& cycles) {
-  return Generator_System::permute_columns(cycles);
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  return sys.permute_space_dimensions(cycle);
 }
 
 inline bool
 Grid_Generator_System::is_equal_to(const Grid_Generator_System& y) const {
-  return operator==(static_cast<const Generator_System&>(*this),
-		    static_cast<const Generator_System&>(y));
+  return (sys == y.sys);
 }
 
 inline
-Grid_Generator_System::Grid_Generator_System()
-  : Generator_System(NECESSARILY_CLOSED) {
-  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, 1);
-  set_sorted(false);
+Grid_Generator_System::Grid_Generator_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.set_sorted(false);
+  PPL_ASSERT(space_dimension() == 0);
 }
 
 inline
 Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs)
-  : Generator_System(gs) {
+  : sys(gs.sys) {
+}
+
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs,
+                                             Representation r)
+  : sys(gs.sys, r) {
 }
 
 inline
-Grid_Generator_System::Grid_Generator_System(dimension_type dim)
-  : Generator_System(NECESSARILY_CLOSED) {
-  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, dim + 1);
-  set_sorted(false);
+Grid_Generator_System::Grid_Generator_System(dimension_type dim,
+                                             Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.set_space_dimension(dim);
+  sys.set_sorted(false);
+  PPL_ASSERT(space_dimension() == dim);
 }
 
 inline
-Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g)
-  : Generator_System(g) {
-  set_sorted(false);
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g,
+                                             Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.insert(g);
+  sys.set_sorted(false);
 }
 
 inline
@@ -103,21 +95,30 @@ Grid_Generator_System::~Grid_Generator_System() {
 
 inline Grid_Generator_System&
 Grid_Generator_System::operator=(const Grid_Generator_System& y) {
-  Generator_System::operator=(y);
+  Grid_Generator_System tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
+inline Representation
+Grid_Generator_System::representation() const {
+  return sys.representation();
+}
+
+inline void
+Grid_Generator_System::set_representation(Representation r) {
+  sys.set_representation(r);
+}
+
 inline dimension_type
 Grid_Generator_System::max_space_dimension() {
   // Grid generators use an extra column for the parameter divisor.
-  return Generator_System::max_space_dimension() - 1;
+  return Linear_System<Grid_Generator>::max_space_dimension() - 1;
 }
 
 inline dimension_type
 Grid_Generator_System::space_dimension() const {
-  PPL_ASSERT(Generator_System::space_dimension() > 0);
-  // Grid generators use an extra column for the parameter divisor.
-  return Generator_System::space_dimension() - 1;
+  return sys.space_dimension();
 }
 
 inline const Grid_Generator_System&
@@ -128,80 +129,66 @@ Grid_Generator_System::zero_dim_univ() {
 
 inline void
 Grid_Generator_System::clear() {
-  Generator_System::clear();
-  // For grid generators, two extra columns are needed.
-  add_zero_columns(2);
-  set_sorted(false);
-  unset_pending_rows();
+  sys.clear();
+  sys.set_sorted(false);
+  sys.unset_pending_rows();
+  PPL_ASSERT(space_dimension() == 0);
 }
 
 inline void
-Grid_Generator_System::swap(Grid_Generator_System& y) {
-  Generator_System::swap(y);
+Grid_Generator_System::m_swap(Grid_Generator_System& y) {
+  swap(sys, y.sys);
 }
 
 inline memory_size_type
 Grid_Generator_System::external_memory_in_bytes() const {
-  return Generator_System::external_memory_in_bytes();
+  return sys.external_memory_in_bytes();
 }
 
 inline memory_size_type
 Grid_Generator_System::total_memory_in_bytes() const {
-  return Generator_System::total_memory_in_bytes();
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
 inline dimension_type
 Grid_Generator_System::num_rows() const {
-  return Generator_System::num_rows();
-}
-
-inline dimension_type
-Grid_Generator_System::num_parameters() const {
-  return Generator_System::num_rays();
-}
-
-inline dimension_type
-Grid_Generator_System::num_lines() const {
-  return Generator_System::num_lines();
+  return sys.num_rows();
 }
 
 inline
 Grid_Generator_System::const_iterator::const_iterator()
-  : Generator_System::const_iterator() {
+  : i() {
 }
 
 inline
 Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y)
-  : Generator_System::const_iterator(y) {
+  : i(y.i) {
 }
 
 inline
 Grid_Generator_System::const_iterator::~const_iterator() {
 }
 
-inline
-Grid_Generator_System::const_iterator&
+inline Grid_Generator_System::const_iterator&
 Grid_Generator_System::const_iterator::operator=(const const_iterator& y) {
-  return static_cast<Grid_Generator_System::const_iterator&>
-    (Generator_System::const_iterator::operator=(y));
+  i = y.i;
+  return *this;
 }
 
 inline const Grid_Generator&
 Grid_Generator_System::const_iterator::operator*() const {
-  return static_cast<const Grid_Generator&>
-    (Generator_System::const_iterator::operator*());
+  return *i;
 }
 
 inline const Grid_Generator*
 Grid_Generator_System::const_iterator::operator->() const {
-  return static_cast<const Grid_Generator*>
-    (Generator_System::const_iterator::operator->());
+  return i.operator->();
 }
 
 inline Grid_Generator_System::const_iterator&
 Grid_Generator_System::const_iterator::operator++() {
-  return static_cast<Grid_Generator_System::const_iterator&>
-    (Generator_System::const_iterator::operator++());
+  ++i;
+  return *this;
 }
 
 inline Grid_Generator_System::const_iterator
@@ -214,51 +201,64 @@ Grid_Generator_System::const_iterator::operator++(int) {
 inline bool
 Grid_Generator_System
 ::const_iterator::operator==(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator==(y);
+  return i == y.i;
 }
 
 inline bool
 Grid_Generator_System
 ::const_iterator::operator!=(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator!=(y);
+  return i != y.i;
 }
 
 inline bool
 Grid_Generator_System::empty() const {
-  return Generator_System::empty();
+  return sys.has_no_rows();
 }
 
 inline
-Grid_Generator_System
-::const_iterator::const_iterator(const Generator_System::const_iterator& y)
-  : Generator_System::const_iterator::const_iterator(y) {
+Grid_Generator_System::const_iterator
+::const_iterator(const Linear_System<Grid_Generator>::const_iterator& y)
+  : i(y) {
 }
 
 inline Grid_Generator_System::const_iterator
 Grid_Generator_System::begin() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::begin());
+  return static_cast<Grid_Generator_System::const_iterator>(sys.begin());
 }
 
 inline Grid_Generator_System::const_iterator
 Grid_Generator_System::end() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::end());
+  return static_cast<Grid_Generator_System::const_iterator>(sys.end());
+}
+
+inline const Grid_Generator&
+Grid_Generator_System::operator[](const dimension_type k) const {
+  return sys[k];
 }
 
 inline bool
-Grid_Generator_System::has_points() const {
-  return Generator_System::has_points();
+Grid_Generator_System::has_no_rows() const {
+  return sys.has_no_rows();
 }
 
-inline Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) {
-  return static_cast<Grid_Generator&>(Generator_System::operator[](k));
+inline void
+Grid_Generator_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
 }
 
-inline const Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Grid_Generator&>(Generator_System::operator[](k));
+inline void
+Grid_Generator_System::insert_verbatim(const Grid_Generator& g) {
+  sys.insert(g);
+}
+
+inline Topology
+Grid_Generator_System::topology() const {
+  return sys.topology();
+}
+
+inline dimension_type
+Grid_Generator_System::first_pending_row() const {
+  return sys.first_pending_row();
 }
 
 /*! \relates Grid_Generator_System */
@@ -268,18 +268,12 @@ operator==(const Grid_Generator_System& x,
   return x.is_equal_to(y);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
+/*! \relates Grid_Generator_System */
 inline void
-swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
-     Parma_Polyhedra_Library::Grid_Generator_System& y) {
-  x.swap(y);
+swap(Grid_Generator_System& x, Grid_Generator_System& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Grid_Generator_System_inlines_hh)
diff --git a/src/Grid_Generator_System.types.hh b/src/Grid_Generator_System.types.hh
index cc94346..73bda4c 100644
--- a/src/Grid_Generator_System.types.hh
+++ b/src/Grid_Generator_System.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Grid_Status.cc b/src/Grid_Status.cc
index 5499325..ee42455 100644
--- a/src/Grid_Status.cc
+++ b/src/Grid_Status.cc
@@ -1,6 +1,6 @@
 /* Grid::Status class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
+#include "assert.hh"
 #include <iostream>
 #include <string>
-#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Grid_Status.idefs.hh b/src/Grid_Status.idefs.hh
index 9094544..2c94896 100644
--- a/src/Grid_Status.idefs.hh
+++ b/src/Grid_Status.idefs.hh
@@ -1,6 +1,6 @@
 /* Grid::Status class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Status_idefs_hh
 #define PPL_Grid_Status_idefs_hh 1
 
 #ifndef PPL_IN_Grid_CLASS
-#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
+#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead"
 #endif
 
 //! A conjunctive assertion about a grid.
diff --git a/src/Grid_Status.inlines.hh b/src/Grid_Status.inlines.hh
index d4f862e..935217a 100644
--- a/src/Grid_Status.inlines.hh
+++ b/src/Grid_Status.inlines.hh
@@ -1,6 +1,6 @@
 /* Grid::Status class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Grid_Status_inlines_hh
 #define PPL_Grid_Status_inlines_hh 1
@@ -43,7 +43,7 @@ Grid::Status::test_all(flags_t mask) const {
 
 inline bool
 Grid::Status::test_any(flags_t mask) const {
-  return flags & mask;
+  return (flags & mask) != 0;
 }
 
 inline void
diff --git a/src/Grid_chdims.cc b/src/Grid_chdims.cc
index 834b9d6..0abdab0 100644
--- a/src/Grid_chdims.cc
+++ b/src/Grid_chdims.cc
@@ -1,7 +1,7 @@
 /* Grid class implementation
    (non-inline operators that may change the dimension of the vector space).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,10 +20,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
 #include "Variables_Set.defs.hh"
 #include "assert.hh"
@@ -35,13 +34,11 @@ void
 PPL::Grid::add_space_dimensions(Congruence_System& cgs,
 				Grid_Generator_System& gs,
 				const dimension_type dims) {
-  PPL_ASSERT(cgs.num_columns() - 1 == gs.space_dimension() + 1);
+  PPL_ASSERT(cgs.space_dimension() == gs.space_dimension());
   PPL_ASSERT(dims > 0);
 
-  const dimension_type old_modulus_index = cgs.num_columns() - 1;
-  cgs.add_zero_columns(dims);
-  // Move the moduli.
-  cgs.swap_columns(old_modulus_index, old_modulus_index + dims);
+  const dimension_type old_modulus_index = cgs.space_dimension() + 1;
+  cgs.set_space_dimension(space_dimension() + dims);
 
   if (congruences_are_minimized() || generators_are_minimized())
     dim_kinds.resize(old_modulus_index + dims, CON_VIRTUAL /* a.k.a. LINE */);
@@ -54,17 +51,17 @@ void
 PPL::Grid::add_space_dimensions(Grid_Generator_System& gs,
 				Congruence_System& cgs,
 				const dimension_type dims) {
-  PPL_ASSERT(cgs.num_columns() - 1 == gs.space_dimension() + 1);
+  PPL_ASSERT(cgs.space_dimension() == gs.space_dimension());
   PPL_ASSERT(dims > 0);
 
-  cgs.add_unit_rows_and_columns(dims);
+  cgs.add_unit_rows_and_space_dimensions(dims);
 
   // Add `dims' zero columns onto gs.
-  gs.insert(parameter(0*Variable(space_dim + dims - 1)));
+  gs.set_space_dimension(space_dim + dims);
 
   normalize_divisors(gs);
 
-  dim_kinds.resize(cgs.num_columns() - 1, EQUALITY /* a.k.a GEN_VIRTUAL */);
+  dim_kinds.resize(cgs.space_dimension() + 1, EQUALITY /* a.k.a GEN_VIRTUAL */);
 }
 
 // (o is a point)       y
@@ -82,10 +79,11 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
 
   // The space dimension of the resulting grid must be at most the
   // maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow("add_space_dimensions_and_embed(m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Grid::",
+                                 "add_space_dimensions_and_embed(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Adding dimensions to an empty grid is obtained by adjusting
   // `space_dim' and clearing `con_sys' (since it can contain the
@@ -102,7 +100,7 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
     PPL_ASSERT(status.test_zero_dim_univ());
     // Swap *this with a newly created `m'-dimensional universe grid.
     Grid gr(m, UNIVERSE);
-    swap(gr);
+    m_swap(gr);
     return;
   }
 
@@ -119,12 +117,9 @@ PPL::Grid::add_space_dimensions_and_embed(dimension_type m) {
       add_space_dimensions(con_sys, gen_sys, m);
     else {
       // Only congruences are up-to-date, so modify only them.
-      con_sys.add_zero_columns(m);
-      dimension_type size = con_sys.num_columns() - 1;
-      // Move the moduli.
-      con_sys.swap_columns(size - m, size);
+      con_sys.set_space_dimension(con_sys.space_dimension() + m);
       if (congruences_are_minimized())
-	dim_kinds.resize(size, CON_VIRTUAL);
+	dim_kinds.resize(con_sys.space_dimension() + 1, CON_VIRTUAL);
     }
   else {
     // Only generators are up-to-date, so modify only them.
@@ -156,10 +151,11 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
 
   // The space dimension of the resulting grid should be at most the
   // maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow("add_space_dimensions_and_project(m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Grid::",
+                                 "add_space_dimensions_and_project(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Adding dimensions to an empty grid is obtained by merely
   // adjusting `space_dim'.
@@ -173,7 +169,7 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
     PPL_ASSERT(status.test_zero_dim_univ());
     // Swap *this with a newly created `n'-dimensional universe grid.
     Grid gr(m, UNIVERSE);
-    swap(gr);
+    m_swap(gr);
     return;
   }
 
@@ -190,16 +186,16 @@ PPL::Grid::add_space_dimensions_and_project(dimension_type m) {
       add_space_dimensions(gen_sys, con_sys, m);
     else {
       // Only congruences are up-to-date so modify only them.
-      con_sys.add_unit_rows_and_columns(m);
+      con_sys.add_unit_rows_and_space_dimensions(m);
       if (congruences_are_minimized())
-	dim_kinds.resize(con_sys.num_columns() - 1, EQUALITY);
+	dim_kinds.resize(con_sys.space_dimension() + 1, EQUALITY);
     }
   else {
     // Only generators are up-to-date so modify only them.
     PPL_ASSERT(generators_are_up_to_date());
 
     // Add m zero columns onto gs.
-    gen_sys.insert(parameter(0*Variable(space_dim + m - 1)));
+    gen_sys.set_space_dimension(space_dim + m);
 
     normalize_divisors(gen_sys);
 
@@ -218,10 +214,12 @@ void
 PPL::Grid::concatenate_assign(const Grid& y) {
   // The space dimension of the resulting grid must be at most the
   // maximum allowed space dimension.
-  if (y.space_dim > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow("concatenate_assign(y)",
-				   "concatenation exceeds the maximum "
-				   "allowed space dimension");
+  check_space_dimension_overflow(y.space_dimension(),
+                                 max_space_dimension() - space_dimension(),
+                                 "PPL::Grid::",
+                                 "concatenate_assign(y)",
+                                 "concatenation exceeds the maximum "
+                                 "allowed space dimension");
 
   const dimension_type added_columns = y.space_dim;
 
@@ -335,19 +333,21 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
 
   // Favor the generators, as is done by is_empty().
   if (generators_are_up_to_date()) {
-    gen_sys.remove_higher_space_dimensions(new_dimension);
+    gen_sys.set_space_dimension(new_dimension);
     if (generators_are_minimized()) {
       // Count the actual number of rows that are now redundant.
       dimension_type num_redundant = 0;
       const dimension_type num_old_gs = space_dim - new_dimension;
-      for (dimension_type row = 0; row < num_old_gs; ++row)
-	dim_kinds[row] == GEN_VIRTUAL || ++num_redundant;
+      for (dimension_type row = 0; row < num_old_gs; ++row) {
+	if (dim_kinds[row] != GEN_VIRTUAL)
+          ++num_redundant;
+      }
       if (num_redundant > 0) {
 	// Chop zero rows from end of system, to keep minimal form.
-	gen_sys.erase_to_end(gen_sys.num_rows() - num_redundant);
+	gen_sys.remove_trailing_rows(num_redundant);
 	gen_sys.unset_pending_rows();
       }
-      dim_kinds.erase(dim_kinds.begin() + new_dimension + 1, dim_kinds.end());
+      dim_kinds.resize(new_dimension + 1);
       // TODO: Consider if it is worth also preserving the congruences
       //       if they are also in minimal form.
     }
@@ -356,33 +356,28 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
     // dimension and then swap it with `con_sys'.
     Congruence_System cgs(Congruence::zero_dim_false());
     // Extra 2 columns for inhomogeneous term and modulus.
-    cgs.increase_space_dimension(new_dimension + 2);
-    con_sys.swap(cgs);
+    cgs.set_space_dimension(new_dimension + 2);
+    swap(con_sys, cgs);
   }
   else {
     PPL_ASSERT(congruences_are_minimized());
-    con_sys.remove_higher_space_dimensions(new_dimension);
+    con_sys.set_space_dimension(new_dimension);
     // Count the actual number of rows that are now redundant.
     dimension_type num_redundant = 0;
-    for (dimension_type row = space_dim; row > new_dimension; --row)
-      dim_kinds[row] == CON_VIRTUAL || ++num_redundant;
-    if (num_redundant > 0) {
-      dimension_type rows = con_sys.num_rows();
-      // Shuffle the remaining rows upwards.
-      for (dimension_type low = 0, high = num_redundant;
-	   high < rows;
-	   ++high, ++low)
-	std::swap(con_sys[low], con_sys[high]);
-      // Chop newly redundant rows from end of system, to keep minimal
-      // form.
-      con_sys.erase_to_end(rows - num_redundant);
+    for (dimension_type row = space_dim; row > new_dimension; --row) {
+      if (dim_kinds[row] != CON_VIRTUAL)
+        ++num_redundant;
     }
-    dim_kinds.erase(dim_kinds.begin() + new_dimension + 1, dim_kinds.end());
+
+    con_sys.remove_rows(0, num_redundant, true);
+    dim_kinds.erase(dim_kinds.begin() + (new_dimension + 1),
+                    dim_kinds.end());
+
     clear_generators_up_to_date();
     // Replace gen_sys with an empty system of the right dimension.
     // Extra 2 columns for inhomogeneous term and modulus.
     Grid_Generator_System gs(new_dimension + 2);
-    gen_sys.swap(gs);
+    gen_sys.m_swap(gs);
   }
 
   // Update the space dimension.
@@ -393,8 +388,6 @@ PPL::Grid::remove_higher_space_dimensions(const dimension_type new_dimension) {
 
 void
 PPL::Grid::expand_space_dimension(Variable var, dimension_type m) {
-  // TODO: this implementation is _really_ an executable specification.
-
   // `var' must be one of the dimensions of the vector space.
   if (var.space_dimension() > space_dim)
     throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
@@ -404,10 +397,11 @@ PPL::Grid::expand_space_dimension(Variable var, dimension_type m) {
     return;
 
   // The resulting space dimension must be at most the maximum.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow("expand_space_dimension(v, m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Grid::",
+                                 "expand_space_dimension(v, m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Save the number of dimensions before adding new ones.
   dimension_type old_dim = space_dim;
@@ -415,26 +409,26 @@ PPL::Grid::expand_space_dimension(Variable var, dimension_type m) {
   // Add the required new dimensions.
   add_space_dimensions_and_embed(m);
 
-  const dimension_type src_d = var.id();
   const Congruence_System& cgs = congruences();
   Congruence_System new_congruences;
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); i != cgs_end; ++i) {
     const Congruence& cg = *i;
 
+    Coefficient_traits::const_reference coeff = cg.coefficient(var);
+
     // Only consider congruences that constrain `var'.
-    if (cg.coefficient(var) == 0)
+    if (coeff == 0)
       continue;
 
+    Congruence cg_copy = cg;
+    cg_copy.expr.set_coefficient(var, Coefficient_zero());
+
     // Each relevant congruence results in `m' new congruences.
     for (dimension_type dst_d = old_dim; dst_d < old_dim+m; ++dst_d) {
-      Linear_Expression e;
-      for (dimension_type j = old_dim; j-- > 0; )
-	e +=
-	  cg.coefficient(Variable(j))
-	  * (j == src_d ? Variable(dst_d) : Variable(j));
-      new_congruences.insert_verbatim((e + cg.inhomogeneous_term() %= 0)
-				      / cg.modulus());
+      Congruence x = cg_copy;
+      add_mul_assign(x.expr, coeff, Variable(dst_d));
+      new_congruences.insert_verbatim(x, Recycle_Input());
     }
   }
   add_recycled_congruences(new_congruences);
diff --git a/src/Grid_conversion.cc b/src/Grid_conversion.cc
index 7e95366..4723bac 100644
--- a/src/Grid_conversion.cc
+++ b/src/Grid_conversion.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation: conversion().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
 #include <cstddef>
 
@@ -37,7 +36,7 @@ namespace Parma_Polyhedra_Library {
 bool
 Grid::lower_triangular(const Congruence_System& sys,
 		       const Dimension_Kinds& dim_kinds) {
-  const dimension_type num_columns = sys.num_columns() - 1;
+  const dimension_type num_columns = sys.space_dimension() + 1;
 
   // Check for easy square failure case.
   if (sys.num_rows() > num_columns)
@@ -52,13 +51,10 @@ Grid::lower_triangular(const Congruence_System& sys,
     const Congruence& cg = sys[row];
     ++row;
     // Check diagonal.
-    if (cg[dim] <= 0)
+    if (cg.expr.get(dim) <= 0)
+      return false;
+    if (!cg.expr.all_zeroes(dim + 1, num_columns))
       return false;
-    // Check elements following diagonal.
-    dimension_type col = dim;
-    while (++col < num_columns)
-      if (cg[col] != 0)
-	return false;
   }
 
   // Check squareness.
@@ -88,13 +84,11 @@ Grid::upper_triangular(const Grid_Generator_System& sys,
       continue;
     const Grid_Generator& gen = sys[--row];
     // Check diagonal.
-    if (gen[num_columns] <= 0)
+    if (gen.expr.get(num_columns) <= 0)
       return false;
     // Check elements preceding diagonal.
-    dimension_type col = num_columns;
-    while (col-- > 0)
-      if (gen[col] != 0)
-	return false;
+    if (!gen.expr.all_zeroes(0, num_columns))
+      return false;
   }
 
   // Check for squareness.
@@ -103,47 +97,44 @@ Grid::upper_triangular(const Grid_Generator_System& sys,
 
 void
 Grid::multiply_grid(const Coefficient& multiplier, Grid_Generator& gen,
-		    Grid_Generator_System& dest, const dimension_type num_rows,
-		    const dimension_type num_dims) {
+		    Swapping_Vector<Grid_Generator>& dest_rows,
+                    const dimension_type num_rows) {
   if (multiplier == 1)
     return;
 
-  if (gen.is_line())
+  if (gen.is_line()) {
     // Multiply every element of the line.
-    for (dimension_type column = num_dims; column-- > 0; )
-      gen[column] *= multiplier;
-  else {
+    gen.expr *= multiplier;
+  } else {
     PPL_ASSERT(gen.is_parameter_or_point());
     // Multiply every element of every parameter.
+
     for (dimension_type index = num_rows; index-- > 0; ) {
-      Grid_Generator& generator = dest[index];
+      Grid_Generator& generator = dest_rows[index];
       if (generator.is_parameter_or_point())
-	for (dimension_type column = num_dims; column-- > 0; )
-	  generator[column] *= multiplier;
+        generator.expr *= multiplier;
     }
   }
 }
 
 void
 Grid::multiply_grid(const Coefficient& multiplier, Congruence& cg,
-		    Congruence_System& dest, const dimension_type num_rows,
-		    const dimension_type num_dims) {
+		    Swapping_Vector<Congruence>& dest,
+                    const dimension_type num_rows) {
   if (multiplier == 1)
     return;
 
-  if (cg.is_proper_congruence())
+  if (cg.is_proper_congruence()) {
     // Multiply every element of every congruence.
     for (dimension_type index = num_rows; index-- > 0; ) {
       Congruence& congruence = dest[index];
       if (congruence.is_proper_congruence())
-	for (dimension_type column = num_dims; column-- > 0; )
-	  congruence[column] *= multiplier;
+        congruence.scale(multiplier);
     }
-  else {
+  } else {
     PPL_ASSERT(cg.is_equality());
     // Multiply every element of the equality.
-    for (dimension_type column = num_dims; column-- > 0; )
-      cg[column] *= multiplier;
+    cg.scale(multiplier);
   }
 }
 
@@ -180,7 +171,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
 	// Dimension `dim' has a parameter row at `source_index' in
 	// `source', so include in `diagonal_lcm' the `dim'th element
 	// of that row.
-	lcm_assign(diagonal_lcm, diagonal_lcm, source[source_index][dim]);
+	lcm_assign(diagonal_lcm, diagonal_lcm, source[source_index].expr.get(dim));
 	// Parameters map to proper congruences.
 	++dest_num_rows;
       }
@@ -189,43 +180,40 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   PPL_ASSERT(source_index == 0);
 
   // `source' must be regular.
-  if (diagonal_lcm == 0)
-    throw std::runtime_error("PPL internal error: Grid::conversion:"
-			     " source matrix is singular.");
+  PPL_ASSERT(diagonal_lcm != 0);
 
-  dest.resize_no_copy(dest_num_rows, dims + 1 /* moduli */);
+  dest.clear();
+  dest.set_space_dimension(dims - 1);
 
   // In `dest' initialize row types and elements, including setting
   // the diagonal elements to the inverse ratio of the `source'
   // diagonal elements.
-  dimension_type dest_index = 0;
   source_index = source.num_rows();
   for (dimension_type dim = dims; dim-- > 0; ) {
     if (dim_kinds[dim] == LINE)
       --source_index;
     else {
-      Congruence& cg = dest[dest_index];
-      for (dimension_type j = dim; j-- > 0; )
-	cg[j] = 0;
-      for (dimension_type j = dim + 1; j < dims; ++j)
-	cg[j] = 0;
+      Linear_Expression le;
+      le.set_space_dimension(dest.space_dimension());
 
       if (dim_kinds[dim] == GEN_VIRTUAL) {
-	cg[dims] = 0;		// An equality.
-	cg[dim] = 1;
-      }
-      else {
+        le.set(dim, Coefficient_one());
+        Congruence cg(le, Coefficient_zero(), Recycle_Input());
+        dest.insert_verbatim(cg, Recycle_Input());
+      } else {
 	PPL_ASSERT(dim_kinds[dim] == PARAMETER);
 	--source_index;
-	cg[dims] = 1;		// A proper congruence.
-	exact_div_assign(cg[dim], diagonal_lcm, source[source_index][dim]);
+        PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+	exact_div_assign(tmp, diagonal_lcm,
+                         source[source_index].expr.get(dim));
+        le.set(dim, tmp);
+        Congruence cg(le, Coefficient_one(), Recycle_Input());
+        dest.insert_verbatim(cg, Recycle_Input());
       }
-      ++dest_index;
     }
   }
 
   PPL_ASSERT(source_index == 0);
-  PPL_ASSERT(dest_index == dest_num_rows);
   PPL_ASSERT(lower_triangular(dest, dim_kinds));
 
   // Convert.
@@ -236,28 +224,27 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   // last to first (index 0) in `source' and from first to last in
   // `dest'.
   source_index = source.num_rows();
-  dest_index = 0;
+  dimension_type dest_index = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(multiplier);
 
   for (dimension_type dim = dims; dim-- > 0; ) {
     if (dim_kinds[dim] != GEN_VIRTUAL) {
       --source_index;
-      const Coefficient& source_dim = source[source_index][dim];
+      const Coefficient& source_dim = source[source_index].expr.get(dim);
 
       // In the rows in `dest' above `dest_index' divide each element
       // at column `dim' by `source_dim'.
       for (dimension_type row = dest_index; row-- > 0; ) {
-	Congruence& cg = dest[row];
+	Congruence& cg = dest.rows[row];
 
 	// Multiply the representation of `dest' such that entry `dim'
         // of `g' is a multiple of `source_dim'.  This ensures that
         // the result of the division that follows is a whole number.
-	gcd_assign(multiplier, cg[dim], source_dim);
+	gcd_assign(multiplier, cg.expression().get(dim), source_dim);
 	exact_div_assign(multiplier, source_dim, multiplier);
-	multiply_grid(multiplier, cg, dest, dest_num_rows, dims);
+	multiply_grid(multiplier, cg, dest.rows, dest_num_rows);
 
-	Coefficient& cg_dim = cg[dim];
-	exact_div_assign(cg_dim, cg_dim, source_dim);
+        cg.expr.exact_div_assign(source_dim, dim, dim + 1);
       }
     }
 
@@ -273,7 +260,8 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
     for (dimension_type dim_prec = dim; dim_prec-- > 0; ) {
       if (dim_kinds[dim_prec] != GEN_VIRTUAL) {
 	--tmp_source_index;
-	const Coefficient& source_dim = source[tmp_source_index][dim];
+	const Coefficient& source_dim = source[tmp_source_index].expr.get(dim);
+        
 	// In order to compute the transpose of the inverse of
 	// `source', subtract source[tmp_source_index][dim] times the
 	// column vector in `dest' at `dim' from the column vector in
@@ -282,21 +270,24 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
 	// I.e., for each row `dest_index' in `dest' that is above the
 	// row `dest_index', subtract dest[tmp_source_index][dim]
 	// times the entry `dim' from the entry at `dim_prec'.
+        PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 	for (dimension_type row = dest_index; row-- > 0; ) {
 	  PPL_ASSERT(row < dest_num_rows);
-	  Congruence& cg = dest[row];
-	  sub_mul_assign(cg[dim_prec], source_dim, cg[dim]);
+	  Congruence& cg = dest.rows[row];
+          tmp = cg.expr.get(dim_prec);
+	  sub_mul_assign(tmp, source_dim, cg.expression().get(dim));
+          cg.expr.set(dim_prec, tmp);
 	}
       }
     }
   }
   // Set the modulus in every congruence.
-  const Coefficient& modulus = dest[dest_num_rows - 1][0];
+  Coefficient_traits::const_reference modulus
+    = dest.rows[dest_num_rows - 1].inhomogeneous_term();
   for (dimension_type row = dest_num_rows; row-- > 0; ) {
-    Congruence& cg = dest[row];
-    if (cg[dims] > 0)
-      // `cg' is a proper congruence.
-      cg[dims] = modulus;
+    Congruence& cg = dest.rows[row];
+    if (cg.is_proper_congruence())
+      cg.set_modulus(modulus);
   }
 
   PPL_ASSERT(lower_triangular(dest, dim_kinds));
@@ -307,8 +298,16 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   for (dimension_type dim = dims, i = 0; dim-- > 0; )
     if (dim_kinds[dim] != CON_VIRTUAL)
       // Factor the "diagonal" congruence out of the preceding rows.
-      reduce_reduced<Congruence_System, Congruence>
-	(dest, dim, i++, 0, dim, dim_kinds, false);
+      reduce_reduced<Congruence_System>
+        (dest.rows, dim, i++, 0, dim, dim_kinds, false);
+
+#ifndef NDEBUG
+  // Make sure that all the rows are now OK.
+  for (dimension_type i = dest.num_rows(); i-- > 0; )
+    PPL_ASSERT(dest[i].OK());
+#endif
+
+  PPL_ASSERT(dest.OK());
 }
 
 void
@@ -324,7 +323,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   dimension_type source_num_rows = 0, dest_num_rows = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(diagonal_lcm);
   diagonal_lcm = 1;
-  dimension_type dims = source.num_columns() - 1;
+  dimension_type dims = source.space_dimension() + 1;
   for (dimension_type dim = dims; dim-- > 0; )
     if (dim_kinds[dim] == CON_VIRTUAL)
       // Virtual congruences map to lines.
@@ -334,7 +333,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
 	// Dimension `dim' has a proper congruence row at
 	// `source_num_rows' in `source', so include in `diagonal_lcm'
 	// the `dim'th element of that row.
-	lcm_assign(diagonal_lcm, diagonal_lcm, source[source_num_rows][dim]);
+	lcm_assign(diagonal_lcm, diagonal_lcm, source[source_num_rows].expr.get(dim));
 	// Proper congruences map to parameters.
 	++dest_num_rows;
       }
@@ -343,12 +342,11 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
     }
 
   // `source' must be regular.
-  if (diagonal_lcm == 0)
-    throw std::runtime_error("PPL internal error: Grid::conversion:"
-			     " source matrix is singular.");
+  PPL_ASSERT(diagonal_lcm != 0);
 
-  dest.set_index_first_pending_row(dest_num_rows);
-  dest.resize_no_copy(dest_num_rows, dims + 1 /* parameter divisor */);
+  dest.clear();
+  PPL_ASSERT(dims > 0);
+  dest.set_space_dimension(dims - 1);
 
   // In `dest' initialize row types and elements, including setting
   // the diagonal elements to the inverse ratio of the `source'
@@ -356,34 +354,40 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   //
   // The top-down order of the congruence system rows corresponds to
   // the right-left order of the dimensions.
-  dimension_type source_index = 0;
+  dimension_type source_index = source_num_rows;
   // The generator system has a bottom-up ordering.
-  dimension_type dest_index = dest_num_rows - 1;
-  for (dimension_type dim = dims; dim-- > 0; ) {
+  for (dimension_type dim = 0; dim < dims; ++dim) {
     if (dim_kinds[dim] == EQUALITY) {
-      ++source_index;
+      --source_index;
     }
     else {
-      Grid_Generator& g = dest[dest_index];
-      for (dimension_type j = dim; j-- > 0; )
-	g[j] = 0;
-      for (dimension_type j = dim + 1; j < dims; ++j)
-	g[j] = 0;
+      Grid_Generator g(dest.representation());
+      g.set_topology(dest.topology());
+      g.expr.set_space_dimension(dims);
 
       if (dim_kinds[dim] == CON_VIRTUAL) {
 	g.set_is_line();
-	g[dim] = 1;
+        g.expr.set(0, Coefficient_zero());
+        g.expr.set(dim, Coefficient_one());
       }
       else {
 	PPL_ASSERT(dim_kinds[dim] == PROPER_CONGRUENCE);
 	g.set_is_parameter_or_point();
-	exact_div_assign(g[dim], diagonal_lcm, source[source_index][dim]);
-	++source_index;
+        --source_index;
+        PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+	exact_div_assign(tmp, diagonal_lcm,
+                         source[source_index].expr.get(dim));
+        g.expr.set(0, Coefficient_zero());
+        g.expr.set(dim, tmp);
       }
-      --dest_index;
+      // Don't assert g.OK() here, because it may fail.
+      // All the rows in `dest' are checked at the end of this function.
+      dest.insert_verbatim(g);
     }
   }
 
+  PPL_ASSERT(dest.num_rows() == dest_num_rows);
+  PPL_ASSERT(dest.first_pending_row() == dest_num_rows);
   PPL_ASSERT(upper_triangular(dest, dim_kinds));
 
   // Convert.
@@ -394,29 +398,31 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   // last to first (index 0) in `source' and from first to last in
   // `dest'.
   source_index = source_num_rows;
-  dest_index = 0;
+  dimension_type dest_index = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(reduced_source_dim);
 
   for (dimension_type dim = 0; dim < dims; ++dim) {
     if (dim_kinds[dim] != CON_VIRTUAL) {
       --source_index;
-      const Coefficient& source_dim = source[source_index][dim];
+      Coefficient_traits::const_reference source_dim
+        = source[source_index].expr.get(dim);
 
       // In the rows in `dest' above `dest_index' divide each element
       // at column `dim' by `source_dim'.
-      for (dimension_type row = dest_index; row-- > 0; ) {
-	Grid_Generator& g = dest[row];
+
+      for (dimension_type i = dest_index; i-- > 0; ) {
+        Grid_Generator& g = dest.sys.rows[i];
 
 	// Multiply the representation of `dest' such that entry `dim'
         // of `g' is a multiple of `source_dim'.  This ensures that
         // the result of the division that follows is a whole number.
-	gcd_assign(reduced_source_dim, g[dim], source_dim);
+	gcd_assign(reduced_source_dim, g.expr.get(dim), source_dim);
 	exact_div_assign(reduced_source_dim, source_dim, reduced_source_dim);
-	multiply_grid(reduced_source_dim, g, dest, dest_num_rows,
-		      dims + 1 /* parameter divisor */);
+	multiply_grid(reduced_source_dim, g, dest.sys.rows, dest_num_rows);
 
-	Coefficient& g_dim = g[dim];
-	exact_div_assign(g_dim, g_dim, source_dim);
+        g.expr.exact_div_assign(source_dim, dim, dim + 1);
+        // Don't assert g.OK() here, because it may fail.
+        // All the rows in `dest' are checked at the end of this function.
       }
     }
 
@@ -432,7 +438,8 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
     for (dimension_type dim_fol = dim + 1; dim_fol < dims; ++dim_fol) {
       if (dim_kinds[dim_fol] != CON_VIRTUAL) {
 	--tmp_source_index;
-	const Coefficient& source_dim = source[tmp_source_index][dim];
+	Coefficient_traits::const_reference source_dim
+          = source[tmp_source_index].expr.get(dim);
 	// In order to compute the transpose of the inverse of
 	// `source', subtract source[tmp_source_index][dim] times the
 	// column vector in `dest' at `dim' from the column vector in
@@ -441,10 +448,17 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
 	// I.e., for each row `dest_index' in `dest' that is above the
 	// row `dest_index', subtract dest[tmp_source_index][dim]
 	// times the entry `dim' from the entry at `dim_fol'.
-	for (dimension_type row = dest_index; row-- > 0; ) {
-	  PPL_ASSERT(row < dest_num_rows);
-	  Grid_Generator& g = dest[row];
-	  sub_mul_assign(g[dim_fol], source_dim, g[dim]);
+
+        PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+        for (dimension_type i = dest_index; i-- > 0; ) {
+	  PPL_ASSERT(i < dest_num_rows);
+          Grid_Generator& row = dest.sys.rows[i];
+          tmp = row.expr.get(dim_fol);
+	  sub_mul_assign(tmp, source_dim,
+                         row.expr.get(dim));
+          row.expr.set(dim_fol, tmp);
+          // Don't assert row.OK() here, because it may fail.
+          // All the rows in `dest' are checked at the end of this function.
 	}
       }
     }
@@ -455,25 +469,39 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   // Since we are reducing the system to "strong minimal form",
   // reduce the coordinates in the grid_generator system
   // using "diagonal" values.
-  for (dimension_type dim = 0, i = 0; dim < dims; ++dim)
+  for (dimension_type dim = 0, i = 0; dim < dims; ++dim) {
     if (dim_kinds[dim] != GEN_VIRTUAL)
       // Factor the "diagonal" generator out of the preceding rows.
-      reduce_reduced<Grid_Generator_System, Grid_Generator>
-	(dest, dim, i++, dim, dims - 1, dim_kinds);
+      reduce_reduced<Grid_Generator_System>
+	(dest.sys.rows, dim, i++, dim, dims - 1, dim_kinds);
+  }
 
   // Ensure that the parameter divisors are the same as the divisor of
   // the point.
-  const Coefficient& system_divisor = dest[0][0];
-  for (dimension_type row = dest.num_rows() - 1, dim = dims;
-       dim-- > 1; )
+  const Coefficient& system_divisor
+    = dest.sys.rows[0].expr.inhomogeneous_term();
+
+  for (dimension_type i = dest.sys.rows.size() - 1, dim = dims; dim-- > 1; ) {
     switch (dim_kinds[dim]) {
     case PARAMETER:
-      dest[row].set_divisor(system_divisor);
+      dest.sys.rows[i].set_divisor(system_divisor);
+      // Intentionally fall through.
     case LINE:
-      --row;
+      --i;
+      break;
     case GEN_VIRTUAL:
       break;
     }
+  }
+
+#ifndef NDEBUG
+  // The previous code can modify the rows' fields, exploiting the friendness.
+  // Check that all rows are OK now.
+  for (dimension_type i = dest.sys.rows.size(); i-- > 0; )
+    PPL_ASSERT(dest.sys.rows[i].OK());
+#endif
+
+  PPL_ASSERT(dest.sys.OK());
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Grid_nonpublic.cc b/src/Grid_nonpublic.cc
index d9b7e59..9347d7f 100644
--- a/src/Grid_nonpublic.cc
+++ b/src/Grid_nonpublic.cc
@@ -1,7 +1,7 @@
 /* Grid class implementation
    (non-inline private or protected functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,13 +20,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
 #include "Grid_Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "assert.hh"
 #include <string>
 #include <iostream>
@@ -56,49 +56,47 @@ PPL::Grid::construct(dimension_type num_dimensions,
   if (kind == EMPTY) {
     // Set emptiness directly instead of with set_empty, as gen_sys is
     // already correctly initialized.
-
     status.set_empty();
 
     // Extend the zero dim false congruence system to the appropriate
     // dimension and then store it in `con_sys'.
     Congruence_System cgs(Congruence::zero_dim_false());
-    cgs.increase_space_dimension(space_dim);
-    const_cast<Congruence_System&>(con_sys).swap(cgs);
+    cgs.set_space_dimension(space_dim);
+    swap(con_sys, cgs);
 
     PPL_ASSERT(OK());
     return;
   }
 
-  if (num_dimensions > 0) {
-    con_sys.increase_space_dimension(num_dimensions);
-
-    // Initialize both systems to universe representations.
-
-    set_congruences_minimized();
-    set_generators_minimized();
-    dim_kinds.resize(num_dimensions + 1);
-
-    // Extend the zero dim integrality congruence system to the
-    // appropriate dimension and then store it in `con_sys'.
-    Congruence_System cgs(Congruence::zero_dim_integrality());
-    cgs.increase_space_dimension(space_dim);
-    cgs[0][0] = 1; // Recover minimal form after cgs(zdi) normalization.
-    con_sys.swap(cgs);
-
-    dim_kinds[0] = PROPER_CONGRUENCE /* a.k.a. PARAMETER */;
-
-    // Trivially true point.
-    gen_sys.insert(grid_point(0*(Variable(0))));
+  if (space_dim == 0) {
+    set_zero_dim_univ();
+    return;
+  }
 
-    // A line for each dimension.
-    dimension_type dim = 0;
-    while (dim < num_dimensions) {
-      gen_sys.insert(grid_line(Variable(dim)));
-      dim_kinds[++dim] = CON_VIRTUAL /* a.k.a. LINE */;
-    }
+  // Initialize both systems to universe representations.
+  set_congruences_minimized();
+  set_generators_minimized();
+  dim_kinds.resize(space_dim + 1);
+
+  // Building a universe congruence system.
+  // Extend the zero dim integrality congruence system to the
+  // appropriate dimension and then store it in `con_sys'.
+  Congruence_System cgs(Congruence::zero_dim_integrality());
+  cgs.set_space_dimension(num_dimensions);
+  // Recover minimal form after cgs(zdi) normalization.
+  cgs.rows[0].expr.set_inhomogeneous_term(Coefficient_one());
+  PPL_ASSERT(cgs.OK());
+  swap(con_sys, cgs);
+
+  // Building a universe grid generator system (and dim_kinds).
+  gen_sys.set_space_dimension(space_dim);
+  gen_sys.insert(grid_point());
+  dim_kinds[0] = PROPER_CONGRUENCE /* a.k.a. PARAMETER */;
+  for (dimension_type dim = 0; dim < space_dim; ++dim) {
+    gen_sys.insert(grid_line(Variable(dim)));
+    dim_kinds[1+dim] = CON_VIRTUAL /* a.k.a. LINE */;
   }
-  else
-    set_zero_dim_univ();
+  PPL_ASSERT(OK());
 }
 
 void
@@ -116,24 +114,23 @@ PPL::Grid::construct(Congruence_System& cgs) {
 
   if (space_dim > 0) {
     // Stealing the rows from `cgs'.
-    std::swap(con_sys, cgs);
+    con_sys.m_swap(cgs);
     con_sys.normalize_moduli();
     set_congruences_up_to_date();
   }
   else {
     // Here `space_dim == 0'.
-    if (cgs.num_columns() > 1)
-      // See if an inconsistent congruence has been passed.
-      for (dimension_type i = cgs.num_rows(); i-- > 0; )
-	if (cgs[i].is_inconsistent()) {
-	  // Inconsistent congruence found: the grid is empty.
-	  status.set_empty();
-	  // Insert the zero dim false congruence system into `con_sys'.
-	  // `gen_sys' is already in empty form.
-	  con_sys.insert(Congruence::zero_dim_false());
-	  PPL_ASSERT(OK());
-	  return;
-	}
+    // See if an inconsistent congruence has been passed.
+    for (dimension_type i = cgs.num_rows(); i-- > 0; )
+      if (cgs[i].is_inconsistent()) {
+        // Inconsistent congruence found: the grid is empty.
+        status.set_empty();
+        // Insert the zero dim false congruence system into `con_sys'.
+        // `gen_sys' is already in empty form.
+        con_sys.insert(Congruence::zero_dim_false());
+        PPL_ASSERT(OK());
+        return;
+      }
     set_zero_dim_univ();
   }
   PPL_ASSERT(OK());
@@ -169,7 +166,7 @@ PPL::Grid::construct(Grid_Generator_System& ggs) {
     set_zero_dim_univ();
   else {
     // Steal the rows from `ggs'.
-    std::swap(gen_sys, ggs);
+    gen_sys.m_swap(ggs);
     normalize_divisors(gen_sys);
     // Generators are now up-to-date.
     set_generators_up_to_date();
@@ -402,7 +399,7 @@ PPL::Grid::max_min(const Linear_Expression& expr,
       ext_n = 0;
       ext_d = 1;
       included = true;
-      if (point)
+      if (point != 0)
 	*point = Generator::point();
       return true;
     }
@@ -425,12 +422,8 @@ PPL::Grid::max_min(const Linear_Expression& expr,
     exact_div_assign(ext_d, ext_d, gcd);
 
     included = true;
-    if (point) {
-      Linear_Expression e;
-      for (dimension_type i = space_dim; i-- > 0; )
-	e += gen.coefficient(Variable(i)) * Variable(i);
-      *point = Generator::point(e, gen.divisor());
-    }
+    if (point != 0)
+      *point = Generator::point(Linear_Expression(gen), gen.divisor());
     return true;
   }
   return false;
@@ -451,13 +444,13 @@ PPL::Grid::set_empty() {
 
   // Replace gen_sys with an empty system of the right dimension.
   Grid_Generator_System gs(space_dim);
-  gen_sys.swap(gs);
+  gen_sys.m_swap(gs);
 
   // Extend the zero dim false congruence system to the appropriate
   // dimension and then swap it with `con_sys'.
   Congruence_System cgs(Congruence::zero_dim_false());
-  cgs.increase_space_dimension(space_dim);
-  const_cast<Congruence_System&>(con_sys).swap(cgs);
+  cgs.set_space_dimension(space_dim);
+  swap(con_sys, cgs);
 }
 
 void
@@ -582,13 +575,13 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
     // gen_sys should have at least one point.
     PPL_ASSERT(row < num_rows);
   }
-  Grid_Generator& first_point = gen_sys[row];
+  const Grid_Generator& first_point = gen_sys[row];
   const Coefficient& gen_sys_divisor = first_point.divisor();
 
 #ifndef NDEBUG
   // Check that the divisors in gen_sys are equal.
   for (dimension_type i = row + 1; i < num_rows; ++i) {
-    Grid_Generator& g = gen_sys[i];
+    const Grid_Generator& g = gen_sys[i];
     if (g.is_parameter_or_point())
       PPL_ASSERT(gen_sys_divisor == g.divisor());
   }
@@ -613,14 +606,14 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
 			      const Grid_Generator* first_point) {
   PPL_ASSERT(divisor >= 0);
   if (sys.space_dimension() > 0 && divisor > 0) {
-    dimension_type row = 0;
     dimension_type num_rows = sys.num_rows();
 
-    if (first_point)
+    if (first_point != 0)
       lcm_assign(divisor, divisor, (*first_point).divisor());
     else {
       PPL_ASSERT(num_rows > 0);
       // Move to the first point or parameter.
+      dimension_type row = 0;
       while (sys[row].is_line())
 	if (++row == num_rows)
 	  // All rows are lines.
@@ -638,8 +631,11 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
 
     // Represent every point and every parameter using the newly
     // calculated divisor.
-    for (row = num_rows; row-- > 0; )
-      sys[row].scale_to_divisor(divisor);
+    for (dimension_type i = num_rows; i-- > 0; )
+      sys.sys.rows[i].scale_to_divisor(divisor);
+
+    // Put the rows back into the linear system.
+    PPL_ASSERT(sys.sys.OK());
   }
 }
 
@@ -705,15 +701,7 @@ PPL::Grid::refine_no_check(const Constraint& c) {
 }
 
 void
-PPL::Grid::throw_runtime_error(const char* method) const {
-  std::ostringstream s;
-  s << "PPL::Grid::" << method << "." << std::endl;
-  throw std::runtime_error(s.str());
-}
-
-void
-PPL::Grid::throw_invalid_argument(const char* method,
-				  const char* reason) const {
+PPL::Grid::throw_invalid_argument(const char* method, const char* reason) {
   std::ostringstream s;
   s << "PPL::Grid::" << method << ":" << std::endl
     << reason << ".";
@@ -740,9 +728,9 @@ PPL::Grid::throw_dimension_incompatible(const char* method,
 
 void
 PPL::Grid::throw_dimension_incompatible(const char* method,
-					const char* e_name,
-					const Linear_Expression& e) const {
-  throw_dimension_incompatible(method, e_name, e.space_dimension());
+					const char* le_name,
+					const Linear_Expression& le) const {
+  throw_dimension_incompatible(method, le_name, le.space_dimension());
 }
 
 void
@@ -817,17 +805,8 @@ throw_dimension_incompatible(const char* method,
 }
 
 void
-PPL::Grid::throw_space_dimension_overflow(const char* method,
-					  const char* reason) {
-  std::ostringstream s;
-  s << "PPL::Grid::" << method << ":" << std::endl
-    << reason << ".";
-  throw std::length_error(s.str());
-}
-
-void
 PPL::Grid::throw_invalid_constraint(const char* method,
-				    const char* c_name) const {
+				    const char* c_name) {
   std::ostringstream s;
   s << "PPL::Grid::" << method << ":" << std::endl
     << c_name << " is not an equality constraint.";
@@ -836,7 +815,7 @@ PPL::Grid::throw_invalid_constraint(const char* method,
 
 void
 PPL::Grid::throw_invalid_constraints(const char* method,
-				    const char* cs_name) const {
+				    const char* cs_name) {
   std::ostringstream s;
   s << "PPL::Grid::" << method << ":" << std::endl
     << "the constraint system " << cs_name
@@ -846,7 +825,7 @@ PPL::Grid::throw_invalid_constraints(const char* method,
 
 void
 PPL::Grid::throw_invalid_generator(const char* method,
-				   const char* g_name) const {
+				   const char* g_name) {
   std::ostringstream s;
   s << "PPL::Grid::" << method << ":" << std::endl
     << "*this is an empty grid and "
@@ -856,7 +835,7 @@ PPL::Grid::throw_invalid_generator(const char* method,
 
 void
 PPL::Grid::throw_invalid_generators(const char* method,
-				    const char* gs_name) const {
+				    const char* gs_name) {
   std::ostringstream s;
   s << "PPL::Grid::" << method << ":" << std::endl
     << "*this is an empty grid and" << std::endl
diff --git a/src/Grid_public.cc b/src/Grid_public.cc
index 47b8437..c02c347 100644
--- a/src/Grid_public.cc
+++ b/src/Grid_public.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation (non-inline public functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
-#include "Topology.hh"
+#include "Topology.types.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "Polyhedron.defs.hh"
 #include "assert.hh"
 #include <iostream>
@@ -49,7 +49,7 @@ PPL::Grid::Grid(const Grid& y, Complexity_Class)
     if (y.congruences_are_up_to_date())
       con_sys = y.con_sys;
     else
-      con_sys.increase_space_dimension(space_dim);
+      con_sys.set_space_dimension(space_dim);
     if (y.generators_are_up_to_date())
       gen_sys = y.gen_sys;
     else
@@ -58,12 +58,13 @@ PPL::Grid::Grid(const Grid& y, Complexity_Class)
 }
 
 PPL::Grid::Grid(const Constraint_System& cs)
-  : con_sys(cs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cs)",
-					     "the space dimension of cs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cs.space_dimension()),
+  : con_sys(check_space_dimension_overflow(cs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cs)",
+                                           "the space dimension of cs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(cs.space_dimension()) {
   space_dim = cs.space_dimension();
 
@@ -85,8 +86,7 @@ PPL::Grid::Grid(const Constraint_System& cs)
     return;
   }
 
-  Congruence_System cgs;
-  cgs.insert(0*Variable(space_dim - 1) %= 1);
+  Congruence_System cgs(cs.space_dimension());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i)
     if (i->is_equality())
@@ -97,13 +97,14 @@ PPL::Grid::Grid(const Constraint_System& cs)
 }
 
 PPL::Grid::Grid(Constraint_System& cs, Recycle_Input)
- : con_sys(cs.space_dimension() > max_space_dimension()
-	   ? throw_space_dimension_overflow("Grid(cs, recycle)",
-					    "the space dimension of cs "
-					    "exceeds the maximum allowed "
-					    "space dimension"), 0
-	   : cs.space_dimension()),
-   gen_sys(cs.space_dimension()) {
+  : con_sys(check_space_dimension_overflow(cs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cs, recycle)",
+                                           "the space dimension of cs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(cs.space_dimension()) {
   space_dim = cs.space_dimension();
 
   if (space_dim == 0) {
@@ -124,8 +125,7 @@ PPL::Grid::Grid(Constraint_System& cs, Recycle_Input)
     return;
   }
 
-  Congruence_System cgs;
-  cgs.insert(0*Variable(space_dim - 1) %= 1);
+  Congruence_System cgs(space_dim);
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i)
     if (i->is_equality())
@@ -137,12 +137,13 @@ PPL::Grid::Grid(Constraint_System& cs, Recycle_Input)
 
 PPL::Grid::Grid(const Polyhedron& ph,
                 Complexity_Class complexity)
-  : con_sys(ph.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ph)",
-					     "the space dimension of ph "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ph.space_dimension()),
+  : con_sys(check_space_dimension_overflow(ph.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(ph)",
+                                           "the space dimension of ph "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
     gen_sys(ph.space_dimension()) {
   space_dim = ph.space_dimension();
 
@@ -176,8 +177,7 @@ PPL::Grid::Grid(const Polyhedron& ph,
     // Only the equality constraints need be used.
     PPL_ASSERT(ph.constraints_are_up_to_date());
     const Constraint_System& cs = ph.constraints();
-    Congruence_System cgs;
-    cgs.insert(0*Variable(space_dim - 1) %= 1);
+    Congruence_System cgs(space_dim);
     for (Constraint_System::const_iterator i = cs.begin(),
            cs_end = cs.end(); i != cs_end; ++i)
       if (i->is_equality())
@@ -191,15 +191,14 @@ PPL::Grid::Grid(const Polyhedron& ph,
     const Generator_System& gs = ph.generators();
     Grid_Generator_System ggs(space_dim);
     Linear_Expression point_expr;
+    point_expr.set_space_dimension(space_dim);
     PPL_DIRTY_TEMP_COEFFICIENT(point_divisor);
     for (Generator_System::const_iterator g = gs.begin(),
            gs_end = gs.end(); g != gs_end; ++g) {
       if (g->is_point() || g->is_closure_point()) {
-        for (dimension_type i = space_dim; i-- > 0; ) {
-          const Variable v(i);
-          point_expr += g->coefficient(v) * v;
-          point_divisor = g->divisor();
-        }
+        point_expr.linear_combine(g->expr, Coefficient_one(), Coefficient_one(),
+                                  1, space_dim + 1);
+        point_divisor = g->divisor();
         ggs.insert(grid_point(point_expr, point_divisor));
         break;
       }
@@ -208,27 +207,22 @@ PPL::Grid::Grid(const Polyhedron& ph,
     // If the polyhedron's generator is a (closure) point, the grid line must
     // have the direction given by a line that joins the grid point already
     // inserted and the new point.
-    PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-    PPL_DIRTY_TEMP_COEFFICIENT(g_divisor);
     for (Generator_System::const_iterator g = gs.begin(),
            gs_end = gs.end(); g != gs_end; ++g) {
       Linear_Expression e;
+      e.set_space_dimension(space_dim);
       if (g->is_point() || g->is_closure_point()) {
-        g_divisor = g->divisor();
-        for (dimension_type i = space_dim; i-- > 0; ) {
-          const Variable v(i);
-          coeff = point_expr.coefficient(v) * g_divisor;
-          coeff -= g->coefficient(v) * point_divisor;
-          e += coeff * v;
-        }
+        e.linear_combine(point_expr, Coefficient_one(), g->divisor(),
+                         1, space_dim + 1);
+        e.linear_combine(g->expr, Coefficient_one(), -point_divisor,
+                         1, space_dim + 1);
         if (e.all_homogeneous_terms_are_zero())
           continue;
       }
-      else
-        for (dimension_type i = space_dim; i-- > 0; ) {
-          const Variable v(i);
-          e += g->coefficient(v) * v;
-        }
+      else {
+        e.linear_combine(g->expr, Coefficient_one(), Coefficient_one(),
+                         1, space_dim + 1);
+      }
       ggs.insert(grid_line(e));
     }
     construct(ggs);
@@ -282,7 +276,7 @@ PPL::Grid::congruences() const {
 
   if (space_dim == 0) {
     // Zero-dimensional universe.
-    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.num_columns() == 2);
+    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.space_dimension() == 0);
     return con_sys;
   }
 
@@ -309,7 +303,7 @@ const PPL::Grid_Generator_System&
 PPL::Grid::grid_generators() const {
   if (space_dim == 0) {
     PPL_ASSERT(gen_sys.space_dimension() == 0
-	   && gen_sys.num_rows() == (marked_empty() ? 0 : 1));
+               && gen_sys.num_rows() == (marked_empty() ? 0U : 1U));
     return gen_sys;
   }
 
@@ -331,7 +325,7 @@ const PPL::Grid_Generator_System&
 PPL::Grid::minimized_grid_generators() const {
   if (space_dim == 0) {
     PPL_ASSERT(gen_sys.space_dimension() == 0
-	   && gen_sys.num_rows() == (marked_empty() ? 0 : 1));
+               && gen_sys.num_rows() == (marked_empty() ? 0U : 1U));
     return gen_sys;
   }
 
@@ -397,87 +391,85 @@ PPL::Grid::relation_with(const Congruence& cg) const {
   PPL_DIRTY_TEMP_COEFFICIENT(point_sp);
   point_sp = 0;
 
-  const Coefficient& modulus = cg.modulus();
-
   PPL_DIRTY_TEMP_COEFFICIENT(div);
-  div = modulus;
+  div = cg.modulus();
 
   PPL_DIRTY_TEMP_COEFFICIENT(sp);
 
   bool known_to_intersect = false;
 
-  for (Grid_Generator_System::const_iterator g = gen_sys.begin(),
-         gen_sys_end = gen_sys.end(); g != gen_sys_end; ++g) {
-    Scalar_Products::assign(sp, cg, *g);
+  for (Grid_Generator_System::const_iterator i = gen_sys.begin(),
+         i_end = gen_sys.end(); i != i_end; ++i) {
+    const Grid_Generator& g = *i;
+    Scalar_Products::assign(sp, cg, g);
 
-    switch (g->type()) {
+    switch (g.type()) {
 
     case Grid_Generator::POINT:
       if (cg.is_proper_congruence())
 	sp %= div;
-      if (sp == 0)
+      if (sp == 0) {
 	// The point satisfies the congruence.
 	if (point_sp == 0)
 	  // Any previous points satisfied the congruence.
 	  known_to_intersect = true;
 	else
 	  return Poly_Con_Relation::strictly_intersects();
-      else
-	if (point_sp == 0) {
-	  if (known_to_intersect)
-	    return Poly_Con_Relation::strictly_intersects();
-	  // Assign `sp' to `point_sp' as `sp' is the scalar product
-	  // of cg and a point g and is non-zero.
-	  point_sp = sp;
-	}
-	else {
-	  // A previously considered point p failed to satisfy cg such that
-	  // `point_sp' = `scalar_prod(p, cg)'
-	  // so, if we consider the parameter g-p instead of g, we have
-	  // scalar_prod(g-p, cg) = scalar_prod(g, cg) - scalar_prod(p, cg)
-	  //                      = sp - point_sp
-	  sp -= point_sp;
-
-	  if (sp != 0) {
-	    // Find the GCD between sp and the previous GCD.
-	    gcd_assign(div, div, sp);
-	    if (point_sp % div == 0)
-	      // There is a point in the grid satisfying cg.
-	      return Poly_Con_Relation::strictly_intersects();
-	  }
+      }
+      else {
+        if (point_sp == 0) {
+          if (known_to_intersect)
+            return Poly_Con_Relation::strictly_intersects();
+          // Assign `sp' to `point_sp' as `sp' is the scalar product
+          // of cg and a point g and is non-zero.
+          point_sp = sp;
 	}
+        else {
+          // A previously considered point p failed to satisfy cg such that
+          // `point_sp' = `scalar_prod(p, cg)'
+          // so, if we consider the parameter g-p instead of g, we have
+          // scalar_prod(g-p, cg) = scalar_prod(g, cg) - scalar_prod(p, cg)
+          //                      = sp - point_sp
+          sp -= point_sp;
+
+          if (sp != 0) {
+            // Find the GCD between sp and the previous GCD.
+            gcd_assign(div, div, sp);
+            if (point_sp % div == 0)
+              // There is a point in the grid satisfying cg.
+              return Poly_Con_Relation::strictly_intersects();
+          }
+        }
+      }
       break;
 
     case Grid_Generator::PARAMETER:
       if (cg.is_proper_congruence())
-	sp %= (div * g->divisor());
+	sp %= (div * g.divisor());
       if (sp == 0)
 	// Parameter g satisfies the cg so the relation depends
 	// entirely on the other generators.
 	break;
-
       if (known_to_intersect)
-	// At least one point satisfies cg.  However, the sum of such
-	// a point and the parameter g fails to satisfy cg (due to g).
-	return Poly_Con_Relation::strictly_intersects();
-
+        // At least one point satisfies cg.  However, the sum of such
+        // a point and the parameter g fails to satisfy cg (due to g).
+        return Poly_Con_Relation::strictly_intersects();
       // Find the GCD between sp and the previous GCD.
       gcd_assign(div, div, sp);
-      if (point_sp != 0)
-	// At least one of any previously encountered points fails to
-	// satisfy cg.
-	if (point_sp % div == 0)
-	  //////	if (point_sp == div)
-	  // There is also a grid point that satisfies cg.
-	  return Poly_Con_Relation::strictly_intersects();
-
+      if (point_sp != 0) {
+        // At least one of any previously encountered points fails to
+        // satisfy cg.
+        if (point_sp % div == 0)
+          // There is also a grid point that satisfies cg.
+          return Poly_Con_Relation::strictly_intersects();
+      }
       break;
 
     case Grid_Generator::LINE:
       if (sp == 0)
-	// Line g satisfies the cg so the relation depends entirely on
-	// the other generators.
-	break;
+        // Line g satisfies the cg so the relation depends entirely on
+        // the other generators.
+        break;
 
       // Line g intersects the congruence.
       //
@@ -491,7 +483,6 @@ PPL::Grid::relation_with(const Congruence& cg) const {
       // *this that does not satisfy `cg' and hence `p+g' is a point
       // in *this not in the grid defined by `cg'; therefore `*this'
       // strictly intersects the `cg' grid.
-
       return Poly_Con_Relation::strictly_intersects();
     }
   }
@@ -554,11 +545,7 @@ PPL::Grid::relation_with(const Generator& g) const {
   if (!congruences_are_up_to_date())
     update_congruences();
 
-  Linear_Expression expr;
-  for (dimension_type i = g_space_dim; i-- > 0; ) {
-    const Variable v(i);
-    expr += g.coefficient(v) * v;
-  }
+  Linear_Expression expr(g);
   Grid_Generator gg(grid_point());
   if (g.is_point() || g.is_closure_point())
     // Points and closure points are converted to grid points.
@@ -624,53 +611,61 @@ PPL::Grid::relation_with(const Constraint& c) const {
 
   bool point_is_included = false;
   bool point_saturates = false;
-  const Grid_Generator* first_point = NULL;
-
-  for (Grid_Generator_System::const_iterator g = gen_sys.begin(),
-         gen_sys_end = gen_sys.end(); g != gen_sys_end; ++g)
-    switch (g->type()) {
+  const Grid_Generator* first_point = 0;
 
+  for (Grid_Generator_System::const_iterator i = gen_sys.begin(),
+         i_end = gen_sys.end(); i != i_end; ++i) {
+    const Grid_Generator& g = *i;
+    switch (g.type()) {
     case Grid_Generator::POINT:
       {
-	Grid_Generator& gen = const_cast<Grid_Generator&>(*g);
-	if (first_point == NULL) {
-	  first_point = &gen;
-	  const int sign = Scalar_Products::sign(c, gen);
-	  Constraint::Type type = c.type();
-	  if ((type == Constraint::NONSTRICT_INEQUALITY && sign == 0)) {
-	    point_saturates = true;
-	  }
+	if (first_point == 0) {
+	  first_point = &g;
+	  const int sign = Scalar_Products::sign(c, g);
+	  if (sign == 0)
+            point_saturates = !c.is_strict_inequality();
 	  else if (sign > 0)
-	    point_is_included = true;
+            point_is_included = !c.is_equality();
 	  break;
 	}
-	// Else convert g to a parameter, and continue into the
-	// parameter case.
+	// Not the first point: convert `g' to be a parameter
+	// and fall through into the parameter case.
+	Grid_Generator& gen = const_cast<Grid_Generator&>(g);
+	const Grid_Generator& point = *first_point;
+        const Coefficient& p_div = point.divisor();
+        const Coefficient& g_div = gen.divisor();
+        gen.expr.linear_combine(point.expr, p_div, -g_div,
+                                1, gen.expr.space_dimension());
+        gen.expr.set_inhomogeneous_term(g_div * p_div);
+        gen.strong_normalize();
 	gen.set_is_parameter();
-	const Grid_Generator& first = *first_point;
-	for (dimension_type i = gen.size() - 1; i-- > 0; )
-	  gen[i] -= first[i];
+        PPL_ASSERT(gen.OK());
       }
+      // Intentionally fall through.
 
     case Grid_Generator::PARAMETER:
     case Grid_Generator::LINE:
-      Grid_Generator& gen = const_cast<Grid_Generator&>(*g);
-      if (gen.is_line_or_parameter())
-	for (dimension_type i = c.space_dimension(); i-- > 0; ) {
-	  Variable v(i);
-	  if (c.coefficient(v) != 0 && gen.coefficient(v) != 0)
-	    return Poly_Con_Relation::strictly_intersects();
-	}
+      {
+        const int sign = c.is_strict_inequality()
+          ? Scalar_Products::reduced_sign(c.expr, g.expr)
+          : Scalar_Products::sign(c.expr, g.expr);
+        if (sign != 0)
+          return Poly_Con_Relation::strictly_intersects();
+      }
       break;
-    }
+    } // switch
+  }
 
+  // If this program point is reached, then all lines and parameters
+  // saturate the constraint. Hence, the result is determined by
+  // the previosly computed relation with the point.
   if (point_saturates)
-    // Any parameters and lines are also included.
     return Poly_Con_Relation::saturates()
       && Poly_Con_Relation::is_included();
+
   if (point_is_included)
-    // Any parameters and lines are also included.
     return Poly_Con_Relation::is_included();
+
   return Poly_Con_Relation::is_disjoint();
 }
 
@@ -719,11 +714,18 @@ PPL::Grid::is_universe() const {
   // Test con_sys's inclusion in a universe generator system.
 
   // The zero dimension cases are handled above.
-  Variable var(space_dim - 1);
-  for (dimension_type i = space_dim; i-- > 0; )
-    if (!con_sys.satisfies_all_congruences(grid_line(Variable(i) + var)))
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    Linear_Expression expr;
+    expr.set_space_dimension(space_dim);
+    expr += Variable(i);
+    if (!con_sys.satisfies_all_congruences(grid_line(expr)))
       return false;
-  PPL_ASSERT(con_sys.satisfies_all_congruences(grid_point(0*var)));
+  }
+#ifndef NDEBUG
+  Linear_Expression expr;
+  expr.set_space_dimension(space_dim);
+  PPL_ASSERT(con_sys.satisfies_all_congruences(grid_point(expr)));
+#endif
   return true;
 }
 
@@ -829,19 +831,16 @@ PPL::Grid::constrains(const Variable var) const {
     }
 
     // Scan generators: perhaps we will find line(var).
-    const dimension_type var_id = var.id();
     for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
       const Grid_Generator& g_i = gen_sys[i];
-      if (g_i.is_line()) {
-	if (sgn(g_i.coefficient(var)) != 0) {
-	  for (dimension_type j = 0; j < space_dim; ++j)
-	    if (g_i.coefficient(Variable(j)) != 0 && j != var_id)
-	      goto next;
+      if (!g_i.is_line())
+        continue;
+      if (sgn(g_i.coefficient(var)) != 0) {
+        if (g_i.expression().all_zeroes(1, var.space_dimension())
+            && g_i.expression().all_zeroes(var.space_dimension() + 1, space_dim + 1))
+          // The only nonzero coefficient in g_i is the one of var.
           return true;
-	}
       }
-    next:
-      ;
     }
 
     // We are still here: at least we know that the grid is not empty.
@@ -927,7 +926,7 @@ PPL::Grid::OK(bool check_not_empty) const {
     // `con_sys' : number of congruences x poly_num_columns
     // `gen_sys' : number of generators  x poly_num_columns
     if (congruences_are_up_to_date())
-      if (con_sys.num_columns() != num_columns + 1 /* moduli */) {
+      if (con_sys.space_dimension() != space_dim) {
 #ifndef NDEBUG
 	cerr << "Incompatible size! (con_sys and space_dim)"
 	     << endl;
@@ -936,7 +935,7 @@ PPL::Grid::OK(bool check_not_empty) const {
       }
 
     if (generators_are_up_to_date()) {
-      if (gen_sys.space_dimension() + 1 != num_columns) {
+      if (gen_sys.space_dimension() != space_dim) {
 #ifndef NDEBUG
 	cerr << "Incompatible size! (gen_sys and space_dim)"
 	     << endl;
@@ -944,22 +943,6 @@ PPL::Grid::OK(bool check_not_empty) const {
 	goto fail;
       }
 
-      // Check if the system of generators is well-formed.
-      if (!gen_sys.OK())
-	goto fail;
-
-      // Check each generator in the system.
-      for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
-	const Grid_Generator& g = gen_sys[i];
-
-	if (g.size() < 1) {
-#ifndef NDEBUG
-	  cerr << "Parameter should have coefficients." << endl;
-#endif
-	  goto fail;
-	}
-      }
-
       // A non-empty system of generators describing a grid is valid
       // if and only if it contains a point.
       if (!gen_sys.has_no_rows() && !gen_sys.has_points()) {
@@ -1012,16 +995,16 @@ PPL::Grid::OK(bool check_not_empty) const {
 
 	// A reduced generator system must be the same as a temporary
 	// reduced copy.
-	Dimension_Kinds dk = dim_kinds;
+	Dimension_Kinds dim_kinds_copy = dim_kinds;
 	// `gs' is minimized and marked_empty returned false, so `gs'
 	// should contain rows.
 	PPL_ASSERT(!gs.has_no_rows());
-	simplify(gs, dk);
+	simplify(gs, dim_kinds_copy);
 	// gs contained rows before being reduced, so it should
 	// contain at least a single point afterward.
 	PPL_ASSERT(!gs.has_no_rows());
 	for (dimension_type row = gen_sys.num_rows(); row-- > 0; ) {
-	  Grid_Generator& g = gs[row];
+	  const Grid_Generator& g = gs[row];
 	  const Grid_Generator& g_copy = gen_sys[row];
 	  if (g.is_equal_to(g_copy))
 	    continue;
@@ -1046,11 +1029,12 @@ PPL::Grid::OK(bool check_not_empty) const {
       goto fail;
 
     Grid tmp_gr = *this;
-    Congruence_System cs_copy = tmp_gr.con_sys;
+    // Make a copy here, before changing tmp_gr, to check later.
+    const Congruence_System cs_copy = tmp_gr.con_sys;
 
     // Clear the generators in tmp_gr.
     Grid_Generator_System gs(space_dim);
-    std::swap(tmp_gr.gen_sys, gs);
+    tmp_gr.gen_sys.m_swap(gs);
     tmp_gr.clear_generators_up_to_date();
 
     if (!tmp_gr.update_generators()) {
@@ -1090,7 +1074,7 @@ PPL::Grid::OK(bool check_not_empty) const {
 	goto fail;
       }
 
-      if (dim_kinds.size() != con_sys.num_columns() - 1 /* modulus */) {
+      if (dim_kinds.size() != con_sys.space_dimension() + 1 /* inhomogeneous term */) {
 #ifndef NDEBUG
 	cerr << "Size of dim_kinds should equal the number of columns."
 	     << endl;
@@ -1216,7 +1200,7 @@ PPL::Grid::add_recycled_congruences(Congruence_System& cgs) {
 
   // Swap (instead of copying) the coefficients of `cgs' (which is
   // writable).
-  con_sys.recycling_insert(cgs);
+  con_sys.insert(cgs, Recycle_Input());
 
   // Congruences may not be minimized and generators are out of date.
   clear_congruences_minimized();
@@ -1256,7 +1240,7 @@ PPL::Grid::add_recycled_grid_generators(Grid_Generator_System& gs) {
       update_generators();
     normalize_divisors(gs, gen_sys);
 
-    gen_sys.recycling_insert(gs);
+    gen_sys.insert(gs, Recycle_Input());
 
     // Congruences are out of date and generators are not minimized.
     clear_congruences_up_to_date();
@@ -1273,9 +1257,9 @@ PPL::Grid::add_recycled_grid_generators(Grid_Generator_System& gs) {
     throw_invalid_generators("add_recycled_grid_generators(gs)", "gs");
 
   // Adjust `gs' to the right dimension.
-  gs.insert(parameter(0*Variable(space_dim-1)));
+  gs.set_space_dimension(space_dim);
 
-  std::swap(gen_sys, gs);
+  gen_sys.m_swap(gs);
 
   normalize_divisors(gen_sys);
 
@@ -1328,7 +1312,7 @@ PPL::Grid::unconstrain(const Variable var) {
 
   PPL_ASSERT(generators_are_up_to_date());
   Grid_Generator l = grid_line(var);
-  gen_sys.recycling_insert(l);
+  gen_sys.insert(l, Recycle_Input());
   // With the added generator, congruences are out of date.
   clear_congruences_up_to_date();
   clear_generators_minimized();
@@ -1337,7 +1321,7 @@ PPL::Grid::unconstrain(const Variable var) {
 
 void
 PPL::Grid::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
+  // The cylindrification with respect to no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a grid in a 0-dim space.
   if (vars.empty())
@@ -1360,7 +1344,7 @@ PPL::Grid::unconstrain(const Variables_Set& vars) {
   for (Variables_Set::const_iterator vsi = vars.begin(),
          vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
     Grid_Generator l = grid_line(Variable(*vsi));
-    gen_sys.recycling_insert(l);
+    gen_sys.insert(l, Recycle_Input());
   }
   // Constraints are no longer up-to-date.
   clear_generators_minimized();
@@ -1438,7 +1422,7 @@ PPL::Grid::upper_bound_assign(const Grid& y) {
   // Match the divisors of the x and y generator systems.
   Grid_Generator_System gs(y.gen_sys);
   normalize_divisors(x.gen_sys, gs);
-  x.gen_sys.recycling_insert(gs);
+  x.gen_sys.insert(gs, Recycle_Input());
   // Congruences may be out of date and generators may have lost
   // minimal form.
   x.clear_congruences_up_to_date();
@@ -1585,7 +1569,7 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
   // If `y' is empty, the biggest enlargement for `x' is the universe.
   if (!y.minimize()) {
     Grid gr(x.space_dim, UNIVERSE);
-    swap(gr);
+    m_swap(gr);
     return false;
   }
 
@@ -1610,17 +1594,15 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 	  if (y_modulus_i > 1)
 	    gr.refine_no_check(le == 1);
 	  else {
-	    Linear_Expression le2;
-	    for (dimension_type j = le.space_dimension(); j-- > 0; )
-	      le2 += 2 * le.coefficient(Variable(j)) * Variable(j);
-	    le2 += 2 * le.inhomogeneous_term();
+	    Linear_Expression le2 = le;
+            le2 *= 2;
 	    gr.refine_no_check(le2 == y_modulus_i);
 	  }
 	  break;
         }
       }
     }
-    swap(gr);
+    m_swap(gr);
     PPL_ASSERT(OK());
     return false;
   }
@@ -1630,19 +1612,18 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 
   const Congruence_System& x_cs = x.con_sys;
   const dimension_type x_cs_num_rows = x_cs.num_rows();
-  const Grid_Generator_System& y_gs = y.gen_sys;
 
   // Record into `redundant_by_y' the info about which congruences of
   // `x' are redundant in the context `y'.  Count the number of
   // redundancies found.
   std::vector<bool> redundant_by_y(x_cs_num_rows, false);
   dimension_type num_redundant_by_y = 0;
-  for (dimension_type i = 0; i < x_cs_num_rows; ++i)
-    if (y.relation_with(x_cs[i])
-	.implies(Poly_Con_Relation::is_included())) {
+  for (dimension_type i = 0; i < x_cs_num_rows; ++i) {
+    if (y.relation_with(x_cs[i]).implies(Poly_Con_Relation::is_included())) {
       redundant_by_y[i] = true;
       ++num_redundant_by_y;
     }
+  }
 
   if (num_redundant_by_y < x_cs_num_rows) {
 
@@ -1691,6 +1672,7 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 	const Coefficient& modulus = c.modulus();
 	div = modulus;
 
+        const Grid_Generator_System& y_gs = y.gen_sys;
 	dimension_type num_ruled_out_generators = 0;
 	for (Grid_Generator_System::const_iterator k = y_gs.begin(),
 	       y_gs_end = y_gs.end(); k != y_gs_end; ++k) {
@@ -1726,8 +1708,8 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
     // Add the congruences in the "ruled out" order to `w'
     // until the result is the intersection.
     for (std::vector<Ruled_Out_Pair>::const_iterator
-	   j = ruled_out_vec.begin(), rov_end = ruled_out_vec.end();
-	 j != rov_end;
+	   j = ruled_out_vec.begin(), ruled_out_vec_end = ruled_out_vec.end();
+	 j != ruled_out_vec_end;
 	 ++j) {
       const Congruence& c = x_cs[j->congruence_index];
       result_cs.insert(c);
@@ -1736,19 +1718,19 @@ PPL::Grid::simplify_using_context_assign(const Grid& y) {
 	  || (!empty_intersection && w.is_included_in(z))) {
 	Grid result_gr(x.space_dim, UNIVERSE);
 	result_gr.add_congruences(result_cs);
-	x.swap(result_gr);
+	x.m_swap(result_gr);
 	PPL_ASSERT(x.OK());
 	return !empty_intersection;
       }
     }
-      // Cannot exit from here.
-    PPL_ASSERT(false);
+    // Cannot exit from here.
+    PPL_UNREACHABLE;
   }
 
   // All the congruences are redundant so that the simplified grid
   // is the universe.
   Grid result_gr(x.space_dim, UNIVERSE);
-  x.swap(result_gr);
+  x.m_swap(result_gr);
   PPL_ASSERT(x.OK());
   return true;
 }
@@ -1774,15 +1756,18 @@ PPL::Grid::affine_image(const Variable var,
   if (marked_empty())
     return;
 
-  if (var_space_dim <= expr_space_dim && expr[var_space_dim] != 0) {
+  Coefficient_traits::const_reference expr_var = expr.coefficient(var);
+
+  if (var_space_dim <= expr_space_dim
+      && expr_var != 0) {
     // The transformation is invertible.
     if (generators_are_up_to_date()) {
       // Grid_Generator_System::affine_image() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	gen_sys.affine_image(var_space_dim, expr, denominator);
+	gen_sys.affine_image(var, expr, denominator);
       else
-	gen_sys.affine_image(var_space_dim, -expr, -denominator);
+	gen_sys.affine_image(var, -expr, -denominator);
       clear_generators_minimized();
       // Strong normalization in gs::affine_image may have modified
       // divisors.
@@ -1793,19 +1778,18 @@ PPL::Grid::affine_image(const Variable var,
       // after copying and negating `expr',
       // we exchange the roles of `expr[var_space_dim]' and `denominator'.
       Linear_Expression inverse;
-      if (expr[var_space_dim] > 0) {
+      if (expr_var > 0) {
 	inverse = -expr;
-	inverse[var_space_dim] = denominator;
-	con_sys.affine_preimage(var_space_dim, inverse, expr[var_space_dim]);
+	inverse.set_coefficient(var, denominator);
+	con_sys.affine_preimage(var, inverse, expr_var);
       }
       else {
 	// The new denominator is negative: we negate everything once
 	// more, as Congruence_System::affine_preimage() requires the
 	// third argument to be positive.
 	inverse = expr;
-	inverse[var_space_dim] = denominator;
-	neg_assign(inverse[var_space_dim]);
-	con_sys.affine_preimage(var_space_dim, inverse, -expr[var_space_dim]);
+	inverse.set_coefficient(var, -denominator);
+	con_sys.affine_preimage(var, inverse, -expr_var);
       }
       clear_congruences_minimized();
     }
@@ -1819,9 +1803,9 @@ PPL::Grid::affine_image(const Variable var,
       // Grid_Generator_System::affine_image() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	gen_sys.affine_image(var_space_dim, expr, denominator);
+	gen_sys.affine_image(var, expr, denominator);
       else
-	gen_sys.affine_image(var_space_dim, -expr, -denominator);
+	gen_sys.affine_image(var, -expr, -denominator);
 
       clear_congruences_up_to_date();
       clear_generators_minimized();
@@ -1856,15 +1840,17 @@ affine_preimage(const Variable var,
   if (marked_empty())
     return;
 
-  if (var_space_dim <= expr_space_dim && expr[var_space_dim] != 0) {
+  Coefficient_traits::const_reference expr_var = expr.coefficient(var);
+
+  if (var_space_dim <= expr_space_dim && expr_var != 0) {
     // The transformation is invertible.
     if (congruences_are_up_to_date()) {
       // Congruence_System::affine_preimage() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	con_sys.affine_preimage(var_space_dim, expr, denominator);
+	con_sys.affine_preimage(var, expr, denominator);
       else
-	con_sys.affine_preimage(var_space_dim, -expr, -denominator);
+	con_sys.affine_preimage(var, -expr, -denominator);
       clear_congruences_minimized();
     }
     if (generators_are_up_to_date()) {
@@ -1872,19 +1858,18 @@ affine_preimage(const Variable var,
       // after copying and negating `expr',
       // we exchange the roles of `expr[var_space_dim]' and `denominator'.
       Linear_Expression inverse;
-      if (expr[var_space_dim] > 0) {
+      if (expr_var > 0) {
 	inverse = -expr;
-	inverse[var_space_dim] = denominator;
-	gen_sys.affine_image(var_space_dim, inverse, expr[var_space_dim]);
+	inverse.set_coefficient(var, denominator);
+	gen_sys.affine_image(var, inverse, expr_var);
       }
       else {
 	// The new denominator is negative: we negate everything once
 	// more, as Grid_Generator_System::affine_image() requires the
 	// third argument to be positive.
 	inverse = expr;
-	inverse[var_space_dim] = denominator;
-	neg_assign(inverse[var_space_dim]);
-	gen_sys.affine_image(var_space_dim, inverse, -expr[var_space_dim]);
+        inverse.set_coefficient(var, -denominator);
+	gen_sys.affine_image(var, inverse, -expr_var);
       }
       clear_generators_minimized();
     }
@@ -1897,9 +1882,9 @@ affine_preimage(const Variable var,
     // Congruence_System::affine_preimage() requires the third argument
     // to be a positive Coefficient.
     if (denominator > 0)
-      con_sys.affine_preimage(var_space_dim, expr, denominator);
+      con_sys.affine_preimage(var, expr, denominator);
     else
-      con_sys.affine_preimage(var_space_dim, -expr, -denominator);
+      con_sys.affine_preimage(var, -expr, -denominator);
 
     clear_generators_up_to_date();
     clear_congruences_minimized();
@@ -1914,7 +1899,6 @@ generalized_affine_image(const Variable var,
 			 const Linear_Expression& expr,
 			 Coefficient_traits::const_reference denominator,
 			 Coefficient_traits::const_reference modulus) {
-
   // The denominator cannot be zero.
   if (denominator == 0)
     throw_invalid_argument("generalized_affine_image(v, r, e, d, m)",
@@ -1932,6 +1916,10 @@ generalized_affine_image(const Variable var,
   if (space_dim < var_space_dim)
     throw_dimension_incompatible("generalized_affine_image(v, r, e, d, m)",
 				 "v", var);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d, m)",
+                           "r is the disequality relation symbol");
 
   // Any image of an empty grid is empty.
   if (marked_empty())
@@ -1997,20 +1985,24 @@ generalized_affine_preimage(const Variable var,
 			    Coefficient_traits::const_reference modulus) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_invalid_argument("generalized_affine_preimage(v, e, d, m)",
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d, m)",
 			   "d == 0");
 
   // The dimension of `expr' should be at most the dimension of
   // `*this'.
   const dimension_type expr_space_dim = expr.space_dimension();
   if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, e, d, m)",
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d, m)",
 				 "e", expr);
   // `var' should be one of the dimensions of the grid.
   const dimension_type var_space_dim = var.space_dimension();
   if (space_dim < var_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, e, d, m)",
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d, m)",
 				 "v", var);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d, m)",
+                           "r is the disequality relation symbol");
 
   // If relsym is not EQUAL, then we return a safe approximation
   // by adding a line in the direction of var.
@@ -2092,14 +2084,18 @@ generalized_affine_image(const Linear_Expression& lhs,
   // `*this'.
   dimension_type lhs_space_dim = lhs.space_dimension();
   if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2, m)",
 				 "e1", lhs);
   // The dimension of `rhs' should be at most the dimension of
   // `*this'.
   const dimension_type rhs_space_dim = rhs.space_dimension();
   if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2, m)",
 				 "e2", rhs);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2, m)",
+                           "r is the disequality relation symbol");
 
   // Any image of an empty grid is empty.
   if (marked_empty())
@@ -2120,9 +2116,9 @@ generalized_affine_image(const Linear_Expression& lhs,
     if (marked_empty())
       return;
 
-    for (dimension_type i = space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0)
-	add_grid_generator(grid_line(Variable(i)));
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      add_grid_generator(grid_line(i.variable()));
 
     PPL_ASSERT(OK());
     return;
@@ -2137,32 +2133,26 @@ generalized_affine_image(const Linear_Expression& lhs,
 
   // Compute the actual space dimension of `lhs',
   // i.e., the highest dimension having a non-zero coefficient in `lhs'.
-  do {
-    if (lhs_space_dim == 0) {
-      // All variables have zero coefficients, so `lhs' is a constant.
-      add_congruence_no_check((lhs %= rhs) / tmp_modulus);
-      return;
-    }
+
+  lhs_space_dim = lhs.last_nonzero();
+  if (lhs_space_dim == 0) {
+    // All variables have zero coefficients, so `lhs' is a constant.
+    add_congruence_no_check((lhs %= rhs) / tmp_modulus);
+    return;
   }
-  while (lhs.coefficient(Variable(--lhs_space_dim)) == 0);
 
   // Gather in `new_lines' the collections of all the lines having the
-  // direction of variables occurring in `lhs'.  While at it, check
-  // whether there exists a variable occurring in both `lhs' and
-  // `rhs'.
+  // direction of variables occurring in `lhs'.
   Grid_Generator_System new_lines;
-  bool lhs_vars_intersect_rhs_vars = false;
-  for (dimension_type i = lhs_space_dim + 1; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      new_lines.insert(grid_line(Variable(i)));
-      if (rhs.coefficient(Variable(i)) != 0)
-	lhs_vars_intersect_rhs_vars = true;
-    }
+  for (Linear_Expression::const_iterator i = lhs.begin(),
+        i_end = lhs.lower_bound(Variable(lhs_space_dim)); i != i_end; ++i)
+    new_lines.insert(grid_line(i.variable()));
 
-  if (lhs_vars_intersect_rhs_vars) {
+  dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+  if (lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
     // Some variables in `lhs' also occur in `rhs'.
     // To ease the computation, add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
 
     // Constrain the new dimension to be equal to the right hand side.
@@ -2176,10 +2166,10 @@ generalized_affine_image(const Linear_Expression& lhs,
       // hand side expression.
 
       // Adjust `new_lines' to the right dimension.
-      new_lines.insert(parameter(0*Variable(space_dim-1)));
+      new_lines.set_space_dimension(space_dim);
       // Add the lines to `gen_sys' (first make sure they are up-to-date).
       update_generators();
-      gen_sys.recycling_insert(new_lines);
+      gen_sys.insert(new_lines, Recycle_Input());
       normalize_divisors(gen_sys);
       // Update the flags.
       clear_congruences_up_to_date();
@@ -2221,17 +2211,20 @@ generalized_affine_preimage(const Linear_Expression& lhs,
 			    const Relation_Symbol relsym,
 			    const Linear_Expression& rhs,
 			    Coefficient_traits::const_reference modulus) {
-
   // The dimension of `lhs' must be at most the dimension of `*this'.
   dimension_type lhs_space_dim = lhs.space_dimension();
   if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, e2, m)",
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2, m)",
 				 "lhs", lhs);
   // The dimension of `rhs' must be at most the dimension of `*this'.
   const dimension_type rhs_space_dim = rhs.space_dimension();
   if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, e2, m)",
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2, m)",
 				 "e2", rhs);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2, m)",
+                           "r is the disequality relation symbol");
 
   // Any preimage of an empty grid is empty.
   if (marked_empty())
@@ -2252,9 +2245,9 @@ generalized_affine_preimage(const Linear_Expression& lhs,
     if (marked_empty())
       return;
 
-    for (dimension_type i = lhs_space_dim + 1; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0)
-	add_grid_generator(grid_line(Variable(i)));
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      add_grid_generator(grid_line(i.variable()));
 
     PPL_ASSERT(OK());
     return;
@@ -2269,33 +2262,26 @@ generalized_affine_preimage(const Linear_Expression& lhs,
 
   // Compute the actual space dimension of `lhs',
   // i.e., the highest dimension having a non-zero coefficient in `lhs'.
-  do {
-    if (lhs_space_dim == 0) {
-      // All variables have zero coefficients, so `lhs' is a constant.
-      // In this case, preimage and image happen to be the same.
-      add_congruence_no_check((lhs %= rhs) / tmp_modulus);
-      return;
-    }
+  lhs_space_dim = lhs.last_nonzero();
+  if (lhs_space_dim == 0) {
+    // All variables have zero coefficients, so `lhs' is a constant.
+    // In this case, preimage and image happen to be the same.
+    add_congruence_no_check((lhs %= rhs) / tmp_modulus);
+    return;
   }
-  while (lhs.coefficient(Variable(--lhs_space_dim)) == 0);
 
   // Gather in `new_lines' the collections of all the lines having
   // the direction of variables occurring in `lhs'.
-  // While at it, check whether or not there exists a variable
-  // occurring in both `lhs' and `rhs'.
   Grid_Generator_System new_lines;
-  bool lhs_vars_intersect_rhs_vars = false;
-  for (dimension_type i = lhs_space_dim + 1; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      new_lines.insert(grid_line(Variable(i)));
-      if (rhs.coefficient(Variable(i)) != 0)
-	lhs_vars_intersect_rhs_vars = true;
-    }
+  for (Linear_Expression::const_iterator i = lhs.begin(),
+        i_end = lhs.lower_bound(Variable(lhs_space_dim)); i != i_end; ++i)
+      new_lines.insert(grid_line(i.variable()));
 
-  if (lhs_vars_intersect_rhs_vars) {
+  dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+  if (lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
     // Some variables in `lhs' also occur in `rhs'.
     // To ease the computation, add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
 
     // Constrain the new dimension to be equal to `lhs'
@@ -2309,10 +2295,10 @@ generalized_affine_preimage(const Linear_Expression& lhs,
       // hand side
 
       // Adjust `new_lines' to the right dimension.
-      new_lines.insert(parameter(0*Variable(space_dim-1)));
+      new_lines.set_space_dimension(space_dim);
       // Add the lines to `gen_sys' (first make sure they are up-to-date).
       update_generators();
-      gen_sys.recycling_insert(new_lines);
+      gen_sys.insert(new_lines, Recycle_Input());
       normalize_divisors(gen_sys);
       // Update the flags.
       clear_congruences_up_to_date();
@@ -2367,11 +2353,11 @@ bounded_affine_image(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
 				 "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
 				 "ub", ub_expr);
 
   // Any image of an empty grid is empty.
@@ -2410,11 +2396,11 @@ bounded_affine_preimage(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "ub", ub_expr);
 
   // Any preimage of an empty grid is empty.
@@ -2462,12 +2448,14 @@ PPL::Grid::time_elapse_assign(const Grid& y) {
   normalize_divisors(gs, gen_sys);
 
   for (dimension_type i = gs_num_rows; i-- > 0; ) {
-    Grid_Generator& g = gs[i];
+    Grid_Generator& g = gs.sys.rows[i];
     if (g.is_point())
       // Transform the point into a parameter.
       g.set_is_parameter();
   }
 
+  PPL_ASSERT(gs.sys.OK());
+
   if (gs_num_rows == 0)
     // `y' was the grid containing a single point at the origin, so
     // the result is `x'.
@@ -2475,7 +2463,7 @@ PPL::Grid::time_elapse_assign(const Grid& y) {
 
   // Append `gs' to the generators of `x'.
 
-  gen_sys.recycling_insert(gs);
+  gen_sys.insert(gs, Recycle_Input());
 
   x.clear_congruences_up_to_date();
   x.clear_generators_minimized();
@@ -2491,8 +2479,8 @@ PPL::Grid::frequency(const Linear_Expression& expr,
   if (space_dim < expr.space_dimension())
     throw_dimension_incompatible("frequency(e, ...)", "e", expr);
 
-  // Space dimension = 0: if empty, then return false;
-  // otherwise the frequency is 1 and the value is 0
+  // Space dimension is 0: if empty, then return false;
+  // otherwise the frequency is 1 and the value is 0.
   if (space_dim == 0) {
     if (is_empty())
       return false;
@@ -2614,13 +2602,11 @@ PPL::Grid::ascii_load(std::istream& s) {
   if (!(s >> str) || str != "con_sys")
     return false;
 
-  if (s >> str) {
-    if (str == "(up-to-date)")
-      set_congruences_up_to_date();
-    else if (str != "(not_up-to-date)")
-      return false;
-  }
-  else
+  if (!(s >> str))
+    return false;
+  if (str == "(up-to-date)")
+    set_congruences_up_to_date();
+  else if (str != "(not_up-to-date)")
     return false;
 
   if (!con_sys.ascii_load(s))
@@ -2629,13 +2615,11 @@ PPL::Grid::ascii_load(std::istream& s) {
   if (!(s >> str) || str != "gen_sys")
     return false;
 
-  if (s >> str) {
-    if (str == "(up-to-date)")
-      set_generators_up_to_date();
-    else if (str != "(not_up-to-date)")
-      return false;
-  }
-  else
+  if (!(s >> str))
+    return false;
+  if (str == "(up-to-date)")
+    set_generators_up_to_date();
+  else if (str != "(not_up-to-date)")
     return false;
 
   if (!gen_sys.ascii_load(s))
@@ -2678,15 +2662,15 @@ PPL::Grid::wrap_assign(const Variables_Set& vars,
                        Bounded_Integer_Type_Width w,
                        Bounded_Integer_Type_Representation r,
                        Bounded_Integer_Type_Overflow o,
-                       const Constraint_System* pcs,
+                       const Constraint_System* cs_p,
                        unsigned /* complexity_threshold */,
                        bool /* wrap_individually */) {
 
-  // Dimension-compatibility check of `*pcs', if any.
-  if (pcs != 0) {
-   const dimension_type pcs_space_dim  = pcs->space_dimension();
-   if (pcs->space_dimension() > space_dim)
-     throw_dimension_incompatible("wrap_assign(vs, ...)", pcs_space_dim);
+  // Dimension-compatibility check of `*cs_p', if any.
+  if (cs_p != 0) {
+    const dimension_type cs_p_space_dim  = cs_p->space_dimension();
+    if (cs_p->space_dimension() > space_dim)
+      throw_dimension_incompatible("wrap_assign(vs, ...)", cs_p_space_dim);
   }
 
   // Wrapping no variable is a no-op.
@@ -2735,8 +2719,8 @@ PPL::Grid::wrap_assign(const Variables_Set& vars,
     PPL_DIRTY_TEMP_COEFFICIENT(v_n);
     PPL_DIRTY_TEMP_COEFFICIENT(v_d);
     for (Variables_Set::const_iterator i = vars.begin(),
-           vars_end = vars.end(); i != vars.end(); ++i) {
-      const Variable x = Variable(*i);
+           vars_end = vars.end(); i != vars_end; ++i) {
+      const Variable x(*i);
       // Find the frequency and a value for `x' in `gr'.
       if (!gr.frequency_no_check(x, f_n, f_d, v_n, v_d))
         continue;
@@ -2817,8 +2801,8 @@ PPL::Grid::wrap_assign(const Variables_Set& vars,
   max_value *= div;
   min_value *= div;
   for (Variables_Set::const_iterator i = vars.begin(),
-         vars_end = vars.end(); i != vars.end(); ++i) {
-    const Variable x = Variable(*i);
+         vars_end = vars.end(); i != vars_end; ++i) {
+    const Variable x(*i);
     if (!gr.bounds_no_check(x)) {
       // `x' is not a constant in `gr'.
       // We know that `x' is not a constant, so `x' may wrap to any
@@ -2886,7 +2870,7 @@ PPL::Grid::drop_some_non_integer_points(const Variables_Set& vars,
   // in vars. All points in \p *this with non-integral coordinates for
   // the dimensions in vars are removed.
   for (Variables_Set::const_iterator i = vars.begin(),
-         vars_end = vars.end(); i != vars.end(); ++i)
+         vars_end = vars.end(); i != vars_end; ++i)
     add_congruence(Variable(*i) %= 0);
 
   PPL_ASSERT(OK());
diff --git a/src/Grid_simplify.cc b/src/Grid_simplify.cc
index 1db2914..cb72c6e 100644
--- a/src/Grid_simplify.cc
+++ b/src/Grid_simplify.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation: simplify().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,10 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "assert.hh"
-
 #include "Grid.defs.hh"
 
 namespace Parma_Polyhedra_Library {
@@ -31,8 +30,11 @@ namespace Parma_Polyhedra_Library {
 void
 Grid::reduce_line_with_line(Grid_Generator& row, Grid_Generator& pivot,
 			    dimension_type column) {
-  const Coefficient& pivot_column = pivot[column];
-  Coefficient& row_column = row[column];
+  Coefficient_traits::const_reference pivot_column = pivot.expr.get(column);
+  Coefficient_traits::const_reference row_column = row.expr.get(column);
+  PPL_ASSERT(pivot_column != 0);
+  PPL_ASSERT(row_column != 0);
+
   PPL_DIRTY_TEMP_COEFFICIENT(reduced_row_col);
   // Use reduced_row_col temporarily to hold the gcd.
   gcd_assign(reduced_row_col, pivot_column, row_column);
@@ -42,16 +44,14 @@ Grid::reduce_line_with_line(Grid_Generator& row, Grid_Generator& pivot,
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
   // Multiply row, then subtract from it a multiple of pivot such that
   // the result in row[column] is zero.
-  row_column = 0;
-  // pivot.size() - 1 is the index for the parameter divisor so we
-  // start reducing the line at index pivot.size() - 2.
-  for (dimension_type col = pivot.size() - 2;
-       col > column;
-       --col) {
-    Coefficient& row_col = row[col];
-    row_col *= reduced_pivot_col;
-    sub_mul_assign(row_col, reduced_row_col, pivot[col]);
-  }
+  neg_assign(reduced_row_col);
+  // pivot.space_dimension() is the index for the parameter divisor so we
+  // start reducing the line at index pivot.space_dimension() - 2.
+  row.expr.linear_combine(pivot.expr,
+                          reduced_pivot_col, reduced_row_col,
+                          column, pivot.expr.space_dimension());
+  PPL_ASSERT(row.OK());
+  PPL_ASSERT(row.expr.get(column) == 0);
 }
 
 void
@@ -61,8 +61,11 @@ Grid::reduce_equality_with_equality(Congruence& row,
   // Assume two equalities.
   PPL_ASSERT(row.modulus() == 0 && pivot.modulus() == 0);
 
-  const Coefficient& pivot_column = pivot[column];
-  Coefficient& row_column = row[column];
+  Coefficient_traits::const_reference pivot_column = pivot.expr.get(column);
+  Coefficient_traits::const_reference row_column = row.expr.get(column);
+  PPL_ASSERT(pivot_column != 0);
+  PPL_ASSERT(row_column != 0);
+
   PPL_DIRTY_TEMP_COEFFICIENT(reduced_row_col);
   // Use reduced_row_col temporarily to hold the gcd.
   gcd_assign(reduced_row_col, pivot_column, row_column);
@@ -72,12 +75,12 @@ Grid::reduce_equality_with_equality(Congruence& row,
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
   // Multiply row, then subtract from it a multiple of pivot such that
   // the result in row[column] is zero.
-  row_column = 0;
-  for (dimension_type col = column; col-- > 0; ) {
-    Coefficient& row_col = row[col];
-    row_col *= reduced_pivot_col;
-    sub_mul_assign(row_col, reduced_row_col, pivot[col]);
-  }
+  neg_assign(reduced_row_col);
+  row.expr.linear_combine(pivot.expr,
+                          reduced_pivot_col, reduced_row_col,
+                          0, column + 1);
+  PPL_ASSERT(row.OK());
+  PPL_ASSERT(row.expr.get(column) == 0);
 }
 
 template <typename R>
@@ -86,61 +89,63 @@ Grid::reduce_pc_with_pc(R& row, R& pivot,
 			const dimension_type column,
 			const dimension_type start,
 			const dimension_type end) {
-  Coefficient& pivot_column = pivot[column];
-  Coefficient& row_column = row[column];
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(start <= column);
+  PPL_ASSERT(column < end);
+
+  Linear_Expression& row_e = row.expr;
+  Linear_Expression& pivot_e = pivot.expr;
+
+  Coefficient_traits::const_reference pivot_column = pivot_e.get(column);
+  Coefficient_traits::const_reference row_column = row_e.get(column);
+  PPL_ASSERT(pivot_column != 0);
+  PPL_ASSERT(row_column != 0);
 
   PPL_DIRTY_TEMP_COEFFICIENT(s);
   PPL_DIRTY_TEMP_COEFFICIENT(t);
   PPL_DIRTY_TEMP_COEFFICIENT(reduced_row_col);
-  // Use reduced_row_col temporarily to hold the gcd.
-  gcdext_assign(reduced_row_col, s, t, pivot_column, row_column);
-  // Now pivot[column] * s + row[column] * t == gcd.
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcdext_assign(gcd, s, t, pivot_column, row_column);
+  PPL_ASSERT(pivot_e.get(column) * s + row_e.get(column) * t == gcd);
 
   // Store the reduced ratio between pivot[column] and row[column].
   PPL_DIRTY_TEMP_COEFFICIENT(reduced_pivot_col);
-  exact_div_assign(reduced_pivot_col, pivot_column, reduced_row_col);
-  pivot_column = reduced_row_col /* gcd */;
-  exact_div_assign(reduced_row_col, row_column, reduced_row_col);
+  exact_div_assign(reduced_pivot_col, pivot_column, gcd);
+  exact_div_assign(reduced_row_col, row_column, gcd);
 
   // Multiply row, then subtract from it a multiple of pivot such that
   // the result in row[column] is zero.  Afterward, multiply pivot,
   // then add to it a (possibly negative) multiple of row such that
   // the result in pivot[column] is the smallest possible positive
   // integer.
-  PPL_ASSERT(pivot.size() > 0);
-  PPL_ASSERT(row.size() > 0);
-  row_column = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(old_pivot_col);
-  for (dimension_type col = start; col < end; ++col) {
-    Coefficient& pivot_col = pivot[col];
-    old_pivot_col = pivot_col;
-    pivot_col *= s;
-    Coefficient& row_col = row[col];
-    add_mul_assign(pivot_col, t, row_col);
-    row_col *= reduced_pivot_col;
-    sub_mul_assign(row_col, reduced_row_col, old_pivot_col);
-  }
+  Linear_Expression old_pivot_e = pivot_e;
+  pivot_e.linear_combine_lax(row_e, s, t, start, end);
+  PPL_ASSERT(pivot_e.get(column) == gcd);
+  row_e.linear_combine(old_pivot_e, reduced_pivot_col, -reduced_row_col, start, end);
+  PPL_ASSERT(row_e.get(column) == 0);
 }
 
 void
 Grid::reduce_parameter_with_line(Grid_Generator& row,
 				 const Grid_Generator& pivot,
 				 const dimension_type column,
-				 Grid_Generator_System& sys) {
+				 Swapping_Vector<Grid_Generator>& rows,
+                                 const dimension_type total_num_columns) {
   // Very similar to reduce_congruence_with_equality below.  Any
   // change here may be needed there too.
 
-  const Coefficient& pivot_column = pivot[column];
-  Coefficient& row_column = row[column];
+  Coefficient_traits::const_reference pivot_column = pivot.expr.get(column);
+  Coefficient_traits::const_reference row_column = row.expr.get(column);
+  PPL_ASSERT(pivot_column != 0);
+  PPL_ASSERT(row_column != 0);
 
   // Subtract one to allow for the parameter divisor column
-  const dimension_type num_columns = sys.num_columns() - 1;
+  const dimension_type num_columns = total_num_columns - 1;
 
   // If the elements at column in row and pivot are the same, then
   // just subtract pivot from row.
   if (row_column == pivot_column) {
-    for (dimension_type col = num_columns; col-- > 0; )
-      row[col] -= pivot[col];
+    row.expr.linear_combine(pivot.expr, 1, -1, 0, num_columns);
     return;
   }
 
@@ -165,38 +170,37 @@ Grid::reduce_parameter_with_line(Grid_Generator& row,
   // Multiply row such that a multiple of pivot can be subtracted from
   // it below to render row[column] zero.  This requires multiplying
   // all other parameters to match.
-  for (dimension_type index = sys.num_rows(); index-- > 0; ) {
-    Grid_Generator& gen = sys[index];
+  for (dimension_type index = rows.size(); index-- > 0; ) {
+    Grid_Generator& gen = rows[index];
     if (gen.is_parameter_or_point())
-      for (dimension_type col = num_columns; col-- > 0; )
-        gen[col] *= reduced_pivot_col;
+      // Do not scale the last coefficient.
+      gen.expr.mul_assign(reduced_pivot_col, 0, num_columns);
   }
+
   // Subtract from row a multiple of pivot such that the result in
   // row[column] is zero.
-  row_column = 0;
-  for (dimension_type col = num_columns - 1; col > column; --col)
-    sub_mul_assign(row[col], reduced_row_col, pivot[col]);
+  row.expr.linear_combine(pivot.expr,
+                          Coefficient_one(), -reduced_row_col,
+                          column, num_columns);
+  PPL_ASSERT(row.expr.get(column) == 0);
 }
 
 void
 Grid::reduce_congruence_with_equality(Congruence& row,
 				      const Congruence& pivot,
 				      const dimension_type column,
-				      Congruence_System& sys) {
+				      Swapping_Vector<Congruence>& sys) {
   // Very similar to reduce_parameter_with_line above.  Any change
   // here may be needed there too.
   PPL_ASSERT(row.modulus() > 0 && pivot.modulus() == 0);
 
-  const Coefficient& pivot_column = pivot[column];
-  Coefficient& row_column = row[column];
-
-  dimension_type num_columns = sys.num_columns();
+  Coefficient_traits::const_reference pivot_column = pivot.expr.get(column);
+  Coefficient_traits::const_reference row_column = row.expr.get(column);
 
   // If the elements at `column' in row and pivot are the same, then
   // just subtract `pivot' from `row'.
   if (row_column == pivot_column) {
-    for (dimension_type col = num_columns; col-- > 0; )
-      row[col] -= pivot[col];
+    row.expr -= pivot.expr;
     return;
   }
 
@@ -216,20 +220,15 @@ Grid::reduce_congruence_with_equality(Congruence& row,
   // Multiply `row', including the modulus, by reduced_pivot_col.  To
   // keep all the moduli the same this requires multiplying all the
   // other proper congruences in the same way.
-  for (dimension_type index = sys.num_rows(); index-- > 0; ) {
+  for (dimension_type index = sys.size(); index-- > 0; ) {
     Congruence& cg = sys[index];
     if (cg.is_proper_congruence())
-      for (dimension_type col = num_columns; col-- > 0; )
-        cg[col] *= reduced_pivot_col;
+      cg.scale(reduced_pivot_col);
   }
-  // Column num_columns contains the modulus, so start at the next
-  // column.
-  --num_columns;
-  row_column = 0;
   // Subtract from row a multiple of pivot such that the result in
   // row[column] is zero.
-  for (dimension_type col = column; col-- > 0; )
-    sub_mul_assign(row[col], reduced_row_col, pivot[col]);
+  sub_mul_assign(row.expr, reduced_row_col, pivot.expr);
+  PPL_ASSERT(row.expr.get(column) == 0);
 }
 
 #ifndef NDEBUG
@@ -239,30 +238,25 @@ Grid::rows_are_zero(M& system, dimension_type first,
 		    dimension_type last, dimension_type row_size) {
   while (first <= last) {
     const R& row = system[first++];
-    for (dimension_type col = 0; col < row_size; ++col)
-      if (row[col] != 0)
-	return false;
+    if (!row.expr.all_zeroes(0, row_size))
+      return false;
   }
   return true;
 }
 #endif
 
 void
-Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
-  PPL_ASSERT(!sys.has_no_rows());
-  // For reduce_pc_with_pc.
-  PPL_ASSERT(sys.num_columns() > 0);
-
-  // Changes here may also be required in the congruence version
-  // below.
+Grid::simplify(Grid_Generator_System& ggs, Dimension_Kinds& dim_kinds) {
+  PPL_ASSERT(!ggs.has_no_rows());
+  // Changes here may also be required in the congruence version below.
 
   // Subtract one to allow for the parameter divisor column
-  const dimension_type num_columns = sys.num_columns() - 1;
+  const dimension_type num_columns = ggs.space_dimension() + 1;
 
   if (dim_kinds.size() != num_columns)
     dim_kinds.resize(num_columns);
 
-  const dimension_type num_rows = sys.num_rows();
+  const dimension_type num_rows = ggs.num_rows();
 
   // For each dimension `dim' move or construct a row into position
   // `pivot_index' such that the row has zero in all elements
@@ -274,26 +268,28 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
     dimension_type row_index = pivot_index;
 
     // Move down over rows which have zero in column `dim'.
-    while (row_index < num_rows && sys[row_index][dim] == 0)
+    while (row_index < num_rows
+           && ggs.sys.rows[row_index].expr.get(dim) == 0)
       ++row_index;
 
     if (row_index == num_rows)
       // Element in column `dim' is zero in all rows from the pivot.
       dim_kinds[dim] = GEN_VIRTUAL;
     else {
-      if (row_index != pivot_index)
-	std::swap(sys[row_index], sys[pivot_index]);
-      Grid_Generator& pivot = sys[pivot_index];
+      if (row_index != pivot_index) {
+        using std::swap;
+        swap(ggs.sys.rows[row_index], ggs.sys.rows[pivot_index]);
+      }
+      Grid_Generator& pivot = ggs.sys.rows[pivot_index];
       bool pivot_is_line = pivot.is_line();
 
       // Change the matrix so that the value at `dim' in every row
       // following `pivot_index' is 0, leaving an equivalent grid.
       while (row_index < num_rows - 1) {
 	++row_index;
+        Grid_Generator& row = ggs.sys.rows[row_index];
 
-	Grid_Generator& row = sys[row_index];
-
-	if (row[dim] == 0)
+	if (row.expr.get(dim) == 0)
 	  continue;
 
 	if (row.is_line())
@@ -301,17 +297,20 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
 	    reduce_line_with_line(row, pivot, dim);
 	  else {
 	    PPL_ASSERT(pivot.is_parameter_or_point());
-	    std::swap(row, pivot);
+            using std::swap;
+	    swap(row, pivot);
 	    pivot_is_line = true;
-	    reduce_parameter_with_line(row, pivot, dim, sys);
+	    reduce_parameter_with_line(row, pivot, dim, ggs.sys.rows,
+                                       num_columns + 1);
 	  }
 	else {
 	  PPL_ASSERT(row.is_parameter_or_point());
 	  if (pivot_is_line)
-	    reduce_parameter_with_line(row, pivot, dim, sys);
+	    reduce_parameter_with_line(row, pivot, dim, ggs.sys.rows,
+                                       num_columns + 1);
 	  else {
 	    PPL_ASSERT(pivot.is_parameter_or_point());
-	    reduce_pc_with_pc(row, pivot, dim, dim + 1, num_columns);
+	    reduce_pc_with_pc(row, pivot, dim, dim, num_columns);
 	  }
 	}
       }
@@ -325,12 +324,12 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
 
       // Since we are reducing the system to "strong minimal form",
       // ensure that a positive value follows the leading zeros.
-      if (pivot[dim] < 0)
-	pivot.negate(dim, num_columns - 1);
+      if (pivot.expr.get(dim) < 0)
+        pivot.expr.negate(dim, num_columns);
 
       // Factor this row out of the preceding rows.
-      reduce_reduced<Grid_Generator_System, Grid_Generator>
-	(sys, dim, pivot_index, dim, num_columns - 1, dim_kinds);
+      reduce_reduced<Grid_Generator_System>
+	(ggs.sys.rows, dim, pivot_index, dim, num_columns - 1, dim_kinds);
 
       ++pivot_index;
     }
@@ -340,54 +339,56 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
   if (num_rows > pivot_index) {
 #ifndef NDEBUG
     const bool ret = rows_are_zero<Grid_Generator_System, Grid_Generator>
-      (sys,
+      (ggs,
        // index of first
        pivot_index,
        // index of last
-       sys.num_rows() - 1,
+       ggs.num_rows() - 1,
        // row size
-       sys.num_columns() - 1);
+       ggs.space_dimension() + 1);
     PPL_ASSERT(ret == true);
 #endif
-    sys.erase_to_end(pivot_index);
+    ggs.sys.rows.resize(pivot_index);
   }
 
-  sys.unset_pending_rows();
-
   // Ensure that the parameter divisors are the same as the system
   // divisor.
-  const Coefficient& system_divisor = sys[0][0];
-  for (dimension_type row = sys.num_rows() - 1,
-	 dim = sys.num_columns() - 2;
-       dim > 0; --dim)
+  const Coefficient& system_divisor = ggs.sys.rows[0].expr.inhomogeneous_term();
+  for (dimension_type i = ggs.sys.rows.size() - 1,
+         dim = num_columns - 1; dim > 0; --dim) {
     switch (dim_kinds[dim]) {
     case PARAMETER:
-      sys[row].set_divisor(system_divisor);
+      ggs.sys.rows[i].set_divisor(system_divisor);
+      // Intentionally fall through.
     case LINE:
-      --row;
+      PPL_ASSERT(ggs.sys.rows[i].OK());
+      --i;
+      break;
     case GEN_VIRTUAL:
       break;
     }
+  }
 
-  PPL_ASSERT(sys.OK());
+  ggs.unset_pending_rows();
+  PPL_ASSERT(ggs.sys.OK());
 }
 
 bool
-Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
-  PPL_ASSERT(sys.num_columns() > 2);
-
+Grid::simplify(Congruence_System& cgs, Dimension_Kinds& dim_kinds) {
+  PPL_ASSERT(cgs.space_dimension() != 0);
   // Changes here may also be required in the generator version above.
 
   // TODO: Consider normalizing the moduli only when congruences are
   //       added to con_sys.
-  sys.normalize_moduli();
+  cgs.normalize_moduli();
 
-  const dimension_type num_columns = sys.num_columns() - 1 /* modulus */;
+  // NOTE: add one for the inhomogeneous term (but not the modulus).
+  const dimension_type num_columns = cgs.space_dimension() + 1;
 
   if (dim_kinds.size() != num_columns)
     dim_kinds.resize(num_columns);
 
-  const dimension_type num_rows = sys.num_rows();
+  const dimension_type num_rows = cgs.num_rows();
 
   // For each dimension `dim' move or construct a row into position
   // `pivot_index' such that the row has a value of zero in all
@@ -399,46 +400,49 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
     dimension_type row_index = pivot_index;
 
     // Move down over rows which have zero in column `dim'.
-    while (row_index < num_rows && sys[row_index][dim] == 0)
+    while (row_index < num_rows && cgs.rows[row_index].expr.get(dim) == 0)
       ++row_index;
 
     if (row_index == num_rows)
       // Element in column `dim' is zero in all rows from the pivot,
-      // or `sys' is empty of rows.
+      // or `cgs' is empty of rows.
       dim_kinds[dim] = CON_VIRTUAL;
     else {
-      // row_index != num_rows
-      if (row_index != pivot_index)
-	std::swap(sys[row_index], sys[pivot_index]);
-      Congruence& pivot = sys[pivot_index];
+      // Here row_index != num_rows.
+      if (row_index != pivot_index) {
+        using std::swap;
+	swap(cgs.rows[row_index], cgs.rows[pivot_index]);
+      }
+
+      Congruence& pivot = cgs.rows[pivot_index];
       bool pivot_is_equality = pivot.is_equality();
 
       // Change the matrix so that the value at `dim' in every row
       // following `pivot_index' is 0, leaving an equivalent grid.
       while (row_index < num_rows - 1) {
 	++row_index;
-
-	Congruence& row = sys[row_index];
-
-	if (row[dim] == 0)
+	Congruence& row = cgs.rows[row_index];
+	if (row.expr.get(dim) == 0)
 	  continue;
 
-	if (row.is_equality())
+	if (row.is_equality()) {
 	  if (pivot_is_equality)
 	    reduce_equality_with_equality(row, pivot, dim);
 	  else {
 	    PPL_ASSERT(pivot.is_proper_congruence());
-	    std::swap(row, pivot);
+            using std::swap;
+	    swap(row, pivot);
 	    pivot_is_equality = true;
-	    reduce_congruence_with_equality(row, pivot, dim, sys);
+	    reduce_congruence_with_equality(row, pivot, dim, cgs.rows);
 	  }
+        }
 	else {
 	  PPL_ASSERT(row.is_proper_congruence());
 	  if (pivot_is_equality)
-	    reduce_congruence_with_equality(row, pivot, dim, sys);
+	    reduce_congruence_with_equality(row, pivot, dim, cgs.rows);
 	  else {
 	    PPL_ASSERT(pivot.is_proper_congruence());
-	    reduce_pc_with_pc(row, pivot, dim, 0, dim);
+	    reduce_pc_with_pc(row, pivot, dim, 0, dim + 1);
 	  }
 	}
       }
@@ -452,121 +456,132 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
 
       // Since we are reducing the system to "strong minimal form",
       // ensure that a positive value follows the leading zeros.
-      if (pivot[dim] < 0)
-	pivot.negate(0, dim);
+      if (pivot.expr.get(dim) < 0)
+	pivot.expr.negate(0, dim + 1);
+
       // Factor this row out of the preceding ones.
-      reduce_reduced<Congruence_System, Congruence>
-	(sys, dim, pivot_index, 0, dim, dim_kinds, false);
+      reduce_reduced<Congruence_System>
+	(cgs.rows, dim, pivot_index, 0, dim, dim_kinds, false);
+
+      PPL_ASSERT(cgs.OK());
 
       ++pivot_index;
     }
   } // end for (dimension_type dim = num_columns; dim-- > 0; )
 
-  // For clearer naming.
-  dimension_type& reduced_num_rows = pivot_index;
-
-  if (reduced_num_rows > 0) {
+  if (pivot_index > 0) {
     // If the last row is false then make it the equality 1 = 0, and
     // make it the only row.
-    Congruence& last_row = sys[reduced_num_rows - 1];
-    if (dim_kinds[0] == PROPER_CONGRUENCE) {
-      if (last_row.inhomogeneous_term() % last_row.modulus() != 0) {
-	// The last row is a false proper congruence.
-	last_row.set_is_equality();
-	dim_kinds[0] = EQUALITY;
-	goto return_empty;
-      }
+
+#ifndef NDEBUG
+    {
+      const bool ret = rows_are_zero<Congruence_System, Congruence>
+        (cgs,
+         // index of first
+         pivot_index,
+         // index of last
+         num_rows - 1,
+         // row size
+         num_columns);
+      PPL_ASSERT(ret == true);
     }
-    else if (dim_kinds[0] == EQUALITY) {
+#endif
+
+    cgs.remove_trailing_rows(num_rows - pivot_index);
+    Congruence& last_row = cgs.rows.back();
+
+    switch (dim_kinds[0]) {
+
+    case PROPER_CONGRUENCE:
+      if (last_row.inhomogeneous_term() % last_row.modulus() == 0)
+        break;
+      // The last row is a false proper congruence.
+      last_row.set_modulus(Coefficient_zero());
+      dim_kinds[0] = EQUALITY;
+      // Intentionally fall through.
+
+    case EQUALITY:
       // The last row is a false equality, as all the coefficient terms
       // are zero while the inhomogeneous term (as a result of the
       // reduced form) is some other value.
-    return_empty:
-      last_row[0] = 1;
+      last_row.expr.set_inhomogeneous_term(Coefficient_one());
       dim_kinds.resize(1);
-      std::swap(sys.rows[0], sys.rows.back());
-      sys.erase_to_end(1);
-
-      PPL_ASSERT(sys.OK());
+      using std::swap;
+      swap(cgs.rows[0], last_row);
+      cgs.remove_trailing_rows(cgs.num_rows() - 1);
+      PPL_ASSERT(cgs.OK());
       return true;
+
+    default:
+      break;
     }
   }
   else {
-    // Either sys is empty (it defines the universe) or every column
+    // Either `cgs' is empty (it defines the universe) or every column
     // before the modulus column contains only zeroes.
 
+    if (num_rows > 0) {
+#ifndef NDEBUG
+      const bool ret = rows_are_zero<Congruence_System, Congruence>
+        (cgs,
+         // index of first
+         0,
+         // index of last
+         num_rows - 1,
+         // row size
+         num_columns);
+      PPL_ASSERT(ret == true);
+#endif
+      // Ensure that a single row will remain for the integrality congruence.
+      cgs.remove_trailing_rows(num_rows - 1);
+    }
+
     // Set up the integrality congruence.
     dim_kinds[0] = PROPER_CONGRUENCE;
     if (num_rows == 0) {
-      sys.add_zero_rows(1,
-			Linear_Row::Flags(NECESSARILY_CLOSED,
-					  Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-      Congruence& cg = sys[0];
-      cg[num_columns] = 1;
-      cg[0] = 1;
-
-      PPL_ASSERT(sys.OK());
+      Congruence cg;
+      cg.set_modulus(Coefficient_one());
+      cg.set_space_dimension(cgs.space_dimension());
+      cg.expr.set_inhomogeneous_term(Coefficient_one());
+      cgs.insert_verbatim(cg, Recycle_Input());
+
+      PPL_ASSERT(cgs.OK());
       return false;
     }
-    sys[0][num_columns] = 1;
-    // Ensure that, after any zero row clipping below, a single row
-    // will remain for the integrality congruence.
-    reduced_num_rows = 1;
-  }
 
-  // Clip any zero rows from the end of the matrix.
-  if (num_rows > 1 && num_rows > reduced_num_rows) {
-#ifndef NDEBUG
-    const bool ret = rows_are_zero<Congruence_System, Congruence>
-      (sys,
-       // index of first
-       reduced_num_rows,
-       // index of last
-       num_rows - 1,
-       // row size
-       num_columns);
-    PPL_ASSERT(ret == true);
-#endif
-    sys.erase_to_end(reduced_num_rows);
+    PPL_ASSERT(cgs.num_rows() == 1);
+    cgs.rows.back().set_modulus(Coefficient_one());
   }
 
-  PPL_ASSERT(sys.num_rows() == reduced_num_rows);
-
   // Ensure that the last row is the integrality congruence.
-  const dimension_type mod_index = num_columns;
   if (dim_kinds[0] == CON_VIRTUAL) {
     // The last row is virtual, append the integrality congruence.
     dim_kinds[0] = PROPER_CONGRUENCE;
-    sys.add_zero_rows(1,
-		      Linear_Row::Flags(NECESSARILY_CLOSED,
-					Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-    Congruence& new_last_row = sys[reduced_num_rows];
-    new_last_row[mod_index] = 1;
+    Congruence new_last_row;
+    new_last_row.set_space_dimension(cgs.space_dimension());
+    new_last_row.set_modulus(Coefficient_one());
     // Try use an existing modulus.
-    dimension_type row_index = reduced_num_rows;
+    dimension_type row_index = cgs.num_rows();
     while (row_index-- > 0) {
-      Congruence& row = sys[row_index];
-      if (row[mod_index] > 0) {
-	new_last_row[mod_index] = row[mod_index];
+      const Congruence& row = cgs[row_index];
+      if (row.modulus() > 0) {
+	new_last_row.set_modulus(row.modulus());
 	break;
       }
     }
-    new_last_row[0] = new_last_row[mod_index];
-    // Since we are reducing the system to "strong minimal form",
-    // increment the number of reduced rows.
-    ++reduced_num_rows;
+    new_last_row.expr.set_inhomogeneous_term(new_last_row.modulus());
+    cgs.insert_verbatim(new_last_row, Recycle_Input());
   }
   else {
-    Congruence& last_row = sys[reduced_num_rows - 1];
-    last_row[0] = last_row[mod_index];
+    cgs.rows.back().expr.set_inhomogeneous_term(cgs.rows.back().modulus());
   }
 
   // Since we are reducing the system to "strong minimal form",
   // factor the modified integrality congruence out of the other rows;
-  reduce_reduced<Congruence_System, Congruence>
-    (sys, 0, reduced_num_rows - 1, 0, 0, dim_kinds, false);
+  reduce_reduced<Congruence_System>
+    (cgs.rows, 0, cgs.num_rows() - 1, 0, 0, dim_kinds, false);
 
-  PPL_ASSERT(sys.OK());
+  PPL_ASSERT(cgs.OK());
   return false;
 }
 
diff --git a/src/Grid_widenings.cc b/src/Grid_widenings.cc
index 145c1af..08afc2b 100644
--- a/src/Grid_widenings.cc
+++ b/src/Grid_widenings.cc
@@ -1,7 +1,7 @@
 /* Grid class implementation
    (non-inline widening-related member functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +20,10 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Grid.defs.hh"
-
 #include "assert.hh"
 #include <iostream>
 
@@ -33,7 +31,7 @@ namespace PPL = Parma_Polyhedra_Library;
 
 void
 PPL::Grid::select_wider_congruences(const Grid& y,
-				    Congruence_System& cgs_selected) const {
+				    Congruence_System& selected_cgs) const {
   // Private method: the caller must ensure the following conditions
   // (beside the inclusion `y <= x').
   PPL_ASSERT(space_dim == y.space_dim);
@@ -53,43 +51,35 @@ PPL::Grid::select_wider_congruences(const Grid& y,
       {
 	const Congruence& cg = con_sys[x_row];
 	const Congruence& y_cg = y.con_sys[y_row];
-	if (cg.is_equal_at_dimension(dim, y_cg))
+	if (cg.is_equal_at_dimension(Variable(dim - 1), y_cg))
 	  // The leading diagonal entries are equal.
-	  cgs_selected.insert(cg);
+	  selected_cgs.insert(cg);
 	++x_row;
 	++y_row;
       }
       break;
     case EQUALITY:
-      cgs_selected.insert(con_sys[x_row]);
+      selected_cgs.insert(con_sys[x_row]);
       ++x_row;
       ++y_row;
       break;
     case CON_VIRTUAL:
-      y.dim_kinds[dim] == CON_VIRTUAL || ++y_row;
+      if (y.dim_kinds[dim] != CON_VIRTUAL)
+        ++y_row;
       break;
     }
   }
 }
 
 void
-PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
+PPL::Grid::congruence_widening_assign(const Grid& y, unsigned* tp) {
   Grid& x = *this;
-  Grid& y = const_cast<Grid&>(const_y);
   // Dimension-compatibility check.
   if (x.space_dim != y.space_dim)
     throw_dimension_incompatible("widening_assign(y)", "y", y);
 
-  // Stable behavior is only guaranteed if y is contained in or equal
-  // to x.
-#ifndef NDEBUG
-  {
-    // Assume y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   // Leave `x' the same if `x' or `y' is zero-dimensional or empty.
   if (x.space_dim == 0 || x.marked_empty() || y.marked_empty())
@@ -110,26 +100,27 @@ PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
     x.update_congruences();
 
   // Ensure that the `y' congruences are in minimal form.
-  if (y.congruences_are_up_to_date()) {
-    if (!y.congruences_are_minimized()) {
-      if (simplify(y.con_sys, y.dim_kinds)) {
+  Grid& yy = const_cast<Grid&>(y);
+  if (yy.congruences_are_up_to_date()) {
+    if (!yy.congruences_are_minimized()) {
+      if (simplify(yy.con_sys, yy.dim_kinds)) {
 	// `y' is empty.
-	y.set_empty();
+	yy.set_empty();
 	return;
       }
-      y.set_congruences_minimized();
+      yy.set_congruences_minimized();
     }
   }
   else
-    y.update_congruences();
+    yy.update_congruences();
 
-  if (con_sys.num_equalities() < y.con_sys.num_equalities())
+  if (con_sys.num_equalities() < yy.con_sys.num_equalities())
     return;
 
   // Copy into `cgs' the congruences of `x' that are common to `y',
   // according to the grid widening.
   Congruence_System cgs;
-  x.select_wider_congruences(y, cgs);
+  x.select_wider_congruences(yy, cgs);
 
   if (cgs.num_rows() == con_sys.num_rows())
     // All congruences were selected, thus the result is `x'.
@@ -142,7 +133,7 @@ PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
 
   // Check whether we are using the widening-with-tokens technique
   // and there are still tokens available.
-  if (tp && *tp > 0) {
+  if (tp != 0 && *tp > 0) {
     // There are tokens available.  If `result' is not a subset of
     // `x', then it is less precise and we use one of the available
     // tokens.
@@ -151,7 +142,7 @@ PPL::Grid::congruence_widening_assign(const Grid& const_y, unsigned* tp) {
   }
   else
     // No tokens.
-    std::swap(x, result);
+    x.m_swap(result);
 
   PPL_ASSERT(x.OK(true));
 }
@@ -179,14 +170,8 @@ PPL::Grid::limited_congruence_extrapolation_assign(const Grid& y,
     return;
   }
 
-#ifndef NDEBUG
-  {
-    // Assume that y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   if (y.marked_empty())
     return;
@@ -228,7 +213,7 @@ PPL::Grid::limited_congruence_extrapolation_assign(const Grid& y,
 
 void
 PPL::Grid::select_wider_generators(const Grid& y,
-				   Grid_Generator_System& ggs_selected) const {
+				   Grid_Generator_System& widened_ggs) const {
   // Private method: the caller must ensure the following conditions
   // (beside the inclusion `y <= x').
   PPL_ASSERT(space_dim == y.space_dim);
@@ -251,47 +236,36 @@ PPL::Grid::select_wider_generators(const Grid& y,
 	const Grid_Generator& y_gg = y.gen_sys[y_row];
 	if (gg.is_equal_at_dimension(dim, y_gg))
 	  // The leading diagonal entry is equal.
-	  ggs_selected.insert(gg);
-        else {
-          Linear_Expression e;
-          for (dimension_type i = gg.space_dimension(); i-- > 0; )
-            e += gg.coefficient(Variable(i)) * Variable(i);
-          ggs_selected.insert(grid_line(e));
-	}
+	  widened_ggs.insert(gg);
+        else
+          widened_ggs.insert(grid_line(Linear_Expression(gg)));
 	++x_row;
 	++y_row;
       }
       break;
     case LINE:
-      ggs_selected.insert(gen_sys[x_row]);
+      widened_ggs.insert(gen_sys[x_row]);
       ++x_row;
       ++y_row;
       break;
     case GEN_VIRTUAL:
-      y.dim_kinds[dim] == GEN_VIRTUAL || ++y_row;
+      if (y.dim_kinds[dim] != GEN_VIRTUAL)
+        ++y_row;
       break;
     }
   }
 }
 
 void
-PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
+PPL::Grid::generator_widening_assign(const Grid& y, unsigned* tp) {
   Grid& x = *this;
-  Grid& y = const_cast<Grid&>(const_y);
+
   // Dimension-compatibility check.
   if (x.space_dim != y.space_dim)
     throw_dimension_incompatible("generator_widening_assign(y)", "y", y);
 
-  // Stable behavior is only guaranteed if y is contained in or equal
-  // to x.
-#ifndef NDEBUG
-  {
-    // Assume y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   // Leave `x' the same if `x' or `y' is zero-dimensional or empty.
   if (x.space_dim == 0 || x.marked_empty() || y.marked_empty())
@@ -312,26 +286,27 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
     return;
 
   // Ensure that the `y' generators are in minimal form.
-  if (y.generators_are_up_to_date()) {
-    if (!y.generators_are_minimized()) {
-      simplify(y.gen_sys, y.dim_kinds);
-      PPL_ASSERT(!y.gen_sys.has_no_rows());
-      y.set_generators_minimized();
+  Grid& yy = const_cast<Grid&>(y);
+  if (yy.generators_are_up_to_date()) {
+    if (!yy.generators_are_minimized()) {
+      simplify(yy.gen_sys, yy.dim_kinds);
+      PPL_ASSERT(!yy.gen_sys.has_no_rows());
+      yy.set_generators_minimized();
     }
   }
   else
-    y.update_generators();
+    yy.update_generators();
 
-  if (gen_sys.num_rows() > y.gen_sys.num_rows())
+  if (gen_sys.num_rows() > yy.gen_sys.num_rows())
     return;
 
-  if (gen_sys.num_lines() > y.gen_sys.num_lines())
+  if (gen_sys.num_lines() > yy.gen_sys.num_lines())
     return;
 
   // Copy into `ggs' the generators of `x' that are common to `y',
   // according to the grid widening.
   Grid_Generator_System ggs;
-  x.select_wider_generators(y, ggs);
+  x.select_wider_generators(yy, ggs);
 
   if (ggs.num_parameters() == gen_sys.num_parameters())
     // All parameters are kept as parameters, thus the result is `x'.
@@ -344,7 +319,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
 
   // Check whether we are using the widening-with-tokens technique
   // and there are still tokens available.
-  if (tp && *tp > 0) {
+  if (tp != 0 && *tp > 0) {
     // There are tokens available.  If `result' is not a subset of
     // `x', then it is less precise and we use one of the available
     // tokens.
@@ -353,7 +328,7 @@ PPL::Grid::generator_widening_assign(const Grid& const_y, unsigned* tp) {
   }
   else
     // No tokens.
-    std::swap(x, result);
+    x.m_swap(result);
 
   PPL_ASSERT(x.OK(true));
 }
@@ -381,14 +356,8 @@ PPL::Grid::limited_generator_extrapolation_assign(const Grid& y,
     return;
   }
 
-#ifndef NDEBUG
-  {
-    // Assume that y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   if (y.marked_empty())
     return;
@@ -429,23 +398,15 @@ PPL::Grid::limited_generator_extrapolation_assign(const Grid& y,
 }
 
 void
-PPL::Grid::widening_assign(const Grid& const_y, unsigned* tp) {
+PPL::Grid::widening_assign(const Grid& y, unsigned* tp) {
   Grid& x = *this;
-  Grid& y = const_cast<Grid&>(const_y);
+
   // Dimension-compatibility check.
   if (x.space_dim != y.space_dim)
     throw_dimension_incompatible("widening_assign(y)", "y", y);
 
-  // Stable behavior is only guaranteed if y is contained in or equal
-  // to x.
-#ifndef NDEBUG
-  {
-    // Assume y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   // If the `x' congruences are up to date and `y' congruences are up
   // to date use the congruence widening.
@@ -487,14 +448,8 @@ PPL::Grid::limited_extrapolation_assign(const Grid& y,
     return;
   }
 
-#ifndef NDEBUG
-  {
-    // Assume that y is contained in or equal to x.
-    const Grid x_copy = x;
-    const Grid y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   if (y.marked_empty())
     return;
diff --git a/src/H79_Certificate.cc b/src/H79_Certificate.cc
index df0ce60..96147e2 100644
--- a/src/H79_Certificate.cc
+++ b/src/H79_Certificate.cc
@@ -1,7 +1,7 @@
 /* H79_Certificate class implementation
    (non-inline member functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +20,10 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "H79_Certificate.defs.hh"
-
 #include "Polyhedron.defs.hh"
 #include "assert.hh"
 #include <iostream>
@@ -65,9 +63,9 @@ PPL::H79_Certificate::H79_Certificate(const Polyhedron& ph)
 int
 PPL::H79_Certificate::compare(const H79_Certificate& y) const {
   if (affine_dim != y.affine_dim)
-    return affine_dim > y.affine_dim ? 1 : -1;
+    return (affine_dim > y.affine_dim) ? 1 : -1;
   if (num_constraints != y.num_constraints)
-    return num_constraints > y.num_constraints ? 1 : -1;
+    return (num_constraints > y.num_constraints) ? 1 : -1;
   // All components are equal.
   return 0;
 }
@@ -112,7 +110,7 @@ PPL::H79_Certificate::compare(const Polyhedron& ph) const {
   // If the number of constraints of `ph' is decreasing, then the chain
   // is stabilizing. If it is increasing, the chain is not stabilizing.
   if (ph_num_constraints != num_constraints)
-    return ph_num_constraints < num_constraints ? 1 : -1;
+    return (ph_num_constraints < num_constraints) ? 1 : -1;
 
   // All components are equal.
   return 0;
diff --git a/src/H79_Certificate.defs.hh b/src/H79_Certificate.defs.hh
index 2a622dd..638c733 100644
--- a/src/H79_Certificate.defs.hh
+++ b/src/H79_Certificate.defs.hh
@@ -1,6 +1,6 @@
 /* H79_Certificate class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_H79_Certificate_defs_hh
 #define PPL_H79_Certificate_defs_hh 1
diff --git a/src/H79_Certificate.inlines.hh b/src/H79_Certificate.inlines.hh
index 5cd09d8..de87869 100644
--- a/src/H79_Certificate.inlines.hh
+++ b/src/H79_Certificate.inlines.hh
@@ -1,6 +1,6 @@
 /* H79_Certificate class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_H79_Certificate_inlines_hh
 #define PPL_H79_Certificate_inlines_hh 1
@@ -47,7 +47,7 @@ inline bool
 H79_Certificate::Compare::operator()(const H79_Certificate& x,
 				     const H79_Certificate& y) const {
   // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
+  // on this LGO relation, we want larger elements to come first.
   return x.compare(y) == 1;
 }
 
diff --git a/src/H79_Certificate.types.hh b/src/H79_Certificate.types.hh
index 6c43a3a..cbb397e 100644
--- a/src/H79_Certificate.types.hh
+++ b/src/H79_Certificate.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Handler.defs.hh b/src/Handler.defs.hh
new file mode 100644
index 0000000..5a0e400
--- /dev/null
+++ b/src/Handler.defs.hh
@@ -0,0 +1,95 @@
+/* Handler and derived classes' declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Handler_defs_hh
+#define PPL_Handler_defs_hh 1
+
+#include "Handler.types.hh"
+
+//! Abstract base class for handlers of the watchdog events.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler {
+public:
+  //! Does the job.
+  virtual void act() const = 0;
+
+  //! Virtual destructor.
+  virtual ~Handler();
+};
+
+//! A kind of Handler that installs a flag onto a flag-holder.
+/*!
+  The template class Handler_Flag<Flag_Base, Flag> is an handler whose
+  job is to install a flag onto an <EM>holder</EM> for the flag.
+  The flag is of type \p Flag and the holder is a (volatile) pointer
+  to \p Flag_Base.  Installing the flag onto the holder means making
+  the holder point to the flag, so that it must be possible to assign
+  a value of type <CODE>Flag*</CODE> to an entity of type
+  <CODE>Flag_Base*</CODE>.
+  The class \p Flag must provide the method
+
+  \code
+    int priority() const
+  \endcode
+  returning an integer priority associated to the flag.
+
+  The handler will install its flag onto the holder only if the holder
+  is empty, namely, it is the null pointer, or if the holder holds a
+  flag of strictly lower priority.
+ */
+template <typename Flag_Base, typename Flag>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler_Flag
+  : public Handler {
+public:
+  //! Constructor with a given function.
+  Handler_Flag(const Flag_Base* volatile& holder, Flag& flag);
+
+  /*! \brief
+    Does its job: installs the flag onto the holder, if a flag with
+    an higher priority has not already been installed.
+  */
+  virtual void act() const;
+
+private:
+  // declare holder as reference to volatile pointer to const Flag_Base
+  const Flag_Base* volatile& h;
+  Flag& f;
+};
+
+//! A kind of Handler calling a given function.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler_Function
+  : public Handler {
+public:
+  //! Constructor with a given function.
+  Handler_Function(void (*function)());
+
+  //! Does its job: calls the embedded function.
+  virtual void act() const;
+
+private:
+  //! Pointer to the embedded function.
+  void (*f)();
+};
+
+#include "Handler.inlines.hh"
+
+#endif // !defined(PPL_Handler_defs_hh)
diff --git a/src/Handler.inlines.hh b/src/Handler.inlines.hh
new file mode 100644
index 0000000..cc684cc
--- /dev/null
+++ b/src/Handler.inlines.hh
@@ -0,0 +1,66 @@
+/* Handler and derived classes' implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Handler_inlines_hh
+#define PPL_Handler_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+inline
+Handler::~Handler() {
+}
+
+template <typename Flag_Base, typename Flag>
+Handler_Flag<Flag_Base, Flag>::Handler_Flag(const Flag_Base* volatile& holder,
+					    Flag& flag)
+  : h(holder), f(flag) {
+}
+
+template <typename Flag_Base, typename Flag>
+void
+Handler_Flag<Flag_Base, Flag>::act() const {
+  if (h == 0 || static_cast<const Flag&>(*h).priority() < f.priority())
+    h = &f;
+}
+
+inline
+Handler_Function::Handler_Function(void (*function)())
+  : f(function) {
+}
+
+inline void
+Handler_Function::act() const {
+  (*f)();
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Handler_inlines_hh)
diff --git a/src/Handler.types.hh b/src/Handler.types.hh
new file mode 100644
index 0000000..4f5e183
--- /dev/null
+++ b/src/Handler.types.hh
@@ -0,0 +1,35 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Handler_types_hh
+#define PPL_Handler_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+class Handler;
+
+template <typename Flag_Base, typename Flag>
+class Handler_Flag;
+
+class Handler_Function;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Handler_types_hh)
diff --git a/src/Has_Assign_Or_Swap.hh b/src/Has_Assign_Or_Swap.hh
index 845c8b1..2a05438 100644
--- a/src/Has_Assign_Or_Swap.hh
+++ b/src/Has_Assign_Or_Swap.hh
@@ -1,6 +1,6 @@
 /* Has_Assign_Or_Swap classes declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Has_Assign_Or_Swap_hh
 #define PPL_Has_Assign_Or_Swap_hh 1
diff --git a/src/Init.cc b/src/Init.cc
index f7f847c..8997598 100644
--- a/src/Init.cc
+++ b/src/Init.cc
@@ -1,6 +1,6 @@
 /* Init class implementation (non-inline functions and static variables).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Init.defs.hh"
 #include "Variable.defs.hh"
 #include "fpu.defs.hh"
@@ -39,6 +38,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Congruence_System.defs.hh"
 #include "Grid_Generator_System.defs.hh"
 #include "Polyhedron.defs.hh"
+#include "Watchdog.defs.hh"
 #include <stdexcept>
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -140,7 +140,7 @@ PPL::Init::Init() {
     // ... the GMP memory allocation functions are set, ...
     ppl_set_GMP_memory_allocation_functions();
     // ... the default output function for Variable objects is set, ...
-    Variable::set_output_function(Variable::default_output_function);
+    Variable::set_output_function(&Variable::default_output_function);
     // ... the Coefficient constants are initialized, ...
     Coefficient_constants_initialize();
     // ... the Linear_Expression class is initialized, ...
@@ -158,6 +158,11 @@ PPL::Init::Init() {
     Grid_Generator_System::initialize();
     Polyhedron::initialize();
 
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+    // ... the Watchdog subsystem is initialized, ...
+    Watchdog::Watchdog::initialize();
+#endif // PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+
 #if PPL_CAN_CONTROL_FPU
 
     // ... and the FPU rounding direction is set.
@@ -174,9 +179,9 @@ PPL::Init::Init() {
 
 #endif // PPL_CAN_CONTROL_FPU
 
-    // The default is choosen to have a precision greater than most
-    // precise IEC559 floating point (112 bits of mantissa).
-    set_irrational_precision(128);
+    // The default is chosen to have a precision greater than most
+    // precise IEC 559 floating point (112 bits of mantissa).
+    set_irrational_precision(DEFAULT_IRRATIONAL_PRECISION);
   }
 }
 
@@ -187,6 +192,12 @@ PPL::Init::~Init() {
     // ... the FPU rounding direction is restored, ...
     fpu_set_rounding_direction(old_rounding_direction);
 #endif
+
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+    // ... the Watchdog subsystem is finalized, ...
+    Watchdog::Watchdog::finalize();
+#endif // PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+
     // ... the Polyhedron, Grid_Generator_System, Congruence_System,
     // Generator_System, Constraint_System, Grid_Generator,
     // Congruence, Generator and Constraint classes are finalized
diff --git a/src/Init.defs.hh b/src/Init.defs.hh
index 7a9ee4b..12a5da5 100644
--- a/src/Init.defs.hh
+++ b/src/Init.defs.hh
@@ -1,6 +1,6 @@
 /* Init class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Init_defs_hh
 #define PPL_Init_defs_hh 1
@@ -42,6 +42,11 @@ void set_rounding_for_PPL();
 /*! \brief
   Sets the FPU rounding mode as it was before initialization of the PPL.
 
+  This is important if the application uses floating-point computations
+  outside the PPL.  It is crucial when the application uses functions
+  from a mathematical library that are not guaranteed to work correctly
+  under all rounding modes.
+
   After calling this function it is absolutely necessary to call
   set_rounding_for_PPL() before using any PPL abstractions based on
   floating point numbers.
@@ -73,6 +78,14 @@ public:
   ~Init();
 
 private:
+  /*! \brief
+    Default precision parameter used for irrational calculations.
+
+    The default is chosen to have a precision greater than most
+    precise IEC 559 floating point (112 bits of mantissa).
+  */
+  static const unsigned DEFAULT_IRRATIONAL_PRECISION = 128U;
+
   //! Count the number of objects created.
   static unsigned int count;
   static fpu_rounding_direction_type old_rounding_direction;
diff --git a/src/Init.inlines.hh b/src/Init.inlines.hh
index 0ad7893..a10e469 100644
--- a/src/Init.inlines.hh
+++ b/src/Init.inlines.hh
@@ -1,6 +1,6 @@
 /* Init class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Init_inlines_hh
 #define PPL_Init_inlines_hh 1
diff --git a/src/Init.types.hh b/src/Init.types.hh
index 2fcc508..60d6a65 100644
--- a/src/Init.types.hh
+++ b/src/Init.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Integer_Interval.hh b/src/Integer_Interval.hh
new file mode 100644
index 0000000..a68785a
--- /dev/null
+++ b/src/Integer_Interval.hh
@@ -0,0 +1,53 @@
+/* Integer_Interval class declaration and implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Integer_Interval_hh
+#define PPL_Integer_Interval_hh 1
+
+#include "Interval.defs.hh"
+#include <gmpxx.h>
+
+namespace Parma_Polyhedra_Library {
+
+struct Integer_Interval_Info_Policy {
+  const_bool_nodef(store_special, true);
+  const_bool_nodef(store_open, false);
+  const_bool_nodef(cache_empty, true);
+  const_bool_nodef(cache_singleton, true);
+  const_int_nodef(next_bit, 0);
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, false);
+  const_bool_nodef(check_empty_result, false);
+  const_bool_nodef(check_inexact, false);
+};
+
+typedef Interval_Info_Bitset<unsigned int, Integer_Interval_Info_Policy> Integer_Interval_Info;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An interval with integral, necessarily closed boundaries.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Interval<mpz_class, Integer_Interval_Info> Integer_Interval;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Integer_Interval_hh)
diff --git a/src/Interval.defs.hh b/src/Interval.defs.hh
index 9d0d241..7d25bcd 100644
--- a/src/Interval.defs.hh
+++ b/src/Interval.defs.hh
@@ -1,6 +1,6 @@
 /* Declarations for the Interval class and its constituents.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Interval_defs_hh
 #define PPL_Interval_defs_hh 1
@@ -41,7 +41,8 @@ enum Ternary { T_YES, T_NO, T_MAYBE };
 
 inline I_Result
 combine(Result l, Result u) {
-  return static_cast<I_Result>(l | (u << 6));
+  unsigned res = static_cast<unsigned>(l) | (static_cast<unsigned>(u) << 6);
+  return static_cast<I_Result>(res);
 }
 
 struct Interval_Base {
@@ -56,11 +57,6 @@ struct Is_Singleton : public Is_Native_Or_Checked<T> {};
 template <typename T>
 struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 
-// FIXME: This has been added as a workaraound.
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, I_Result>::type
-neg_assign(From& x);
-
 //! A generic, not necessarily closed, possibly restricted interval.
 /*! \ingroup PPL_CXX_interface
   The class template type parameter \p Boundary represents the type
@@ -82,9 +78,6 @@ neg_assign(From& x);
   - the ability to represent empty intervals in addition to nonempty ones;
   - the ability to represent intervals of extended number families
     that contain positive and negative infinities;
-  - the ability to support (independently from the type of the boundaries)
-    plain intervals of real numbers and intervals subject to generic
-    <EM>restrictions</EM> (e.g., intervals of integer numbers).
 */
 template <typename Boundary, typename Info>
 class Interval : public Interval_Base, private Info {
@@ -96,49 +89,6 @@ private:
   Info& w_info() const {
     return const_cast<Interval&>(*this);
   }
-  Result lower_normalize() const {
-    Result r;
-    if (info().get_boundary_property(LOWER, NORMALIZED)
-	|| info().get_boundary_property(LOWER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& l = const_cast<Boundary&>(lower());
-      if (info().get_boundary_property(LOWER, OPEN)) {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GT);
-	if (r != V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GE);
-	if (r == V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN);
-      }
-      w_info().set_boundary_property(LOWER, NORMALIZED);
-    }
-    return r;
-  }
-  Result upper_normalize() const {
-    Result r;
-    if (info().get_boundary_property(UPPER, NORMALIZED)
-	|| info().get_boundary_property(UPPER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& u = const_cast<Boundary&>(upper());
-      if (info().get_boundary_property(UPPER, OPEN)) {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LT);
-	if (r != V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LE);
-	if (r == V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN);
-      }
-      w_info().set_boundary_property(UPPER, NORMALIZED);
-    }
-    return r;
-  }
-
 
 public:
   typedef Boundary boundary_type;
@@ -179,7 +129,7 @@ public:
   }
 
   //! Swaps \p *this with \p y.
-  void swap(Interval& y);
+  void m_swap(Interval& y);
 
   Info& info() {
     return *this;
@@ -209,30 +159,15 @@ public:
     PPL_ASSERT(!is_empty());
     if (info().get_boundary_property(LOWER, SPECIAL))
       return I_Constraint<boundary_type>();
-    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL, lower(), true);
+    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL,
+                        lower(), true);
   }
   I_Constraint<boundary_type> upper_constraint() const {
     PPL_ASSERT(!is_empty());
     if (info().get_boundary_property(UPPER, SPECIAL))
       return I_Constraint<boundary_type>();
-    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL, upper(), true);
-  }
-
-  bool has_restriction() const {
-    return info().has_restriction();
-  }
-
-  I_Result normalize() const {
-    PPL_ASSERT(OK());
-    if (has_restriction()) {
-      Result rl = lower_normalize();
-      Result ru = upper_normalize();
-      info().normalize();
-      PPL_ASSERT(OK());
-      return combine(rl, ru);
-    }
-    else
-      return combine(V_EQ, V_EQ);
+    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL,
+                        upper(), true);
   }
 
   bool is_empty() const {
@@ -285,8 +220,7 @@ public:
 
   bool is_universe() const {
     PPL_ASSERT(OK());
-    return lower_is_domain_inf() && upper_is_domain_sup()
-      && !has_restriction();
+    return lower_is_domain_inf() && upper_is_domain_sup();
   }
 
   I_Result lower_extend() {
@@ -331,7 +265,7 @@ public:
     case V_EQ:
     case V_NE:
       assign(UNIVERSE);
-      rs = (Relation_Symbol) c.rel();
+      rs = static_cast<Relation_Symbol>(c.rel());
       return refine_existential(rs, c.value());
     }
   }
@@ -375,9 +309,6 @@ public:
     I_Result r;
     info().clear();
     switch (e) {
-    default:
-      PPL_ASSERT(0);
-      /* Fall through */
     case EMPTY:
       lower_ = 1;
       upper_ = 0;
@@ -388,6 +319,10 @@ public:
       set_unbounded(UPPER, upper(), info());
       r = I_UNIVERSE | I_EXACT;
       break;
+    default:
+      PPL_UNREACHABLE;
+      r = I_EMPTY;
+      break;
     }
     PPL_ASSERT(OK());
     return r;
@@ -408,9 +343,10 @@ public:
       ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
       break;
     default:
-      PPL_ASSERT(0);
+      PPL_UNREACHABLE;
       rl = V_NAN;
       ru = V_NAN;
+      break;
     }
     PPL_ASSERT(OK());
     return combine(rl, ru);
@@ -418,7 +354,6 @@ public:
 
   I_Result set_infinities() {
     info().clear();
-    // FIXME: what about restrictions?
     Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
     Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
     PPL_ASSERT(OK());
@@ -461,7 +396,7 @@ public:
     info().set_boundary_property(UPPER, OPEN, true);
   }
 
-  bool is_infinity() const {
+  int infinity_sign() const {
     PPL_ASSERT(OK());
     if (is_reverse_infinity(LOWER, lower(), info()))
       return 1;
@@ -524,7 +459,7 @@ public:
       return assign(refinement);
     PPL_DIRTY_TEMP(Boundary, u);
     Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
-    if (!result_overflow(result) && u > lower())
+    if (result_overflow(result) == 0 && u > lower())
       return assign(refinement);
     info().clear();
     switch (r) {
@@ -541,7 +476,7 @@ public:
 		       UPPER, upper(), info(), w);
       break;
     default:
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
       break;
     }
     if (le(LOWER, lower(), info(), UPPER, upper(), info()))
@@ -567,14 +502,12 @@ public:
   bool ascii_load(std::istream& s);
 
   bool OK() const {
-#if 0
     if (!Info::may_be_empty && is_empty()) {
 #ifndef NDEBUG
-	std::cerr << "The interval is unexpectedly empty.\n";
+      std::cerr << "The interval is unexpectedly empty.\n";
 #endif
-	return false;
+      return false;
     }
-#endif
 
     if (is_open(LOWER, lower(), info())) {
       if (is_plus_infinity(LOWER, lower(), info())) {
@@ -598,16 +531,6 @@ public:
 #endif
 	return false;
       }
-#if 0
-      if (info().get_boundary_property(LOWER, NORMALIZED)
-	  && !info().is_restricted(lower())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
     }
 
     if (is_open(UPPER, upper(), info())) {
@@ -633,16 +556,6 @@ public:
 #endif
 	return false;
       }
-#if 0
-      if (info().get_boundary_property(UPPER, NORMALIZED)
-	  && !info().is_restricted(upper())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
     }
 
     // Everything OK.
@@ -756,10 +669,6 @@ public:
   /*! \brief
     Assigns to \p *this an interval having empty intersection with \p y.
     The assigned interval should be as large as possible.
-
-    \note
-    Depending on interval restrictions, there could be many
-    maximal intervals all inconsistent with respect to \p y.
   */
   template <typename From>
   typename Enable_If<Is_Interval<From>::value, void>::type
@@ -839,6 +748,11 @@ private:
   Boundary upper_;
 };
 
+//! Swaps \p x with \p y.
+/*! \relates Interval */
+template <typename Boundary, typename Info>
+void swap(Interval<Boundary, Info>& x, Interval<Boundary, Info>& y);
+
 } // namespace Parma_Polyhedra_Library
 
 #include "Interval.inlines.hh"
diff --git a/src/Interval.inlines.hh b/src/Interval.inlines.hh
index a6936a1..e2e3932 100644
--- a/src/Interval.inlines.hh
+++ b/src/Interval.inlines.hh
@@ -1,6 +1,6 @@
 /* Inline functions for the Interval class and its constituents.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,24 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Interval_inlines_hh
 #define PPL_Interval_inlines_hh 1
 
 namespace Parma_Polyhedra_Library {
 
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, I_Result>::type
-neg_assign(From& x) {
-  // FIXME: Avoid the creation of a temporary.
-  From y;
-  typename Enable_If<Is_Interval<From>::value, I_Result>::type res =
-                                                               y.neg_assign(x);
-  x = y;
-  return res;
-}
-
 template <typename Boundary, typename Info>
 inline memory_size_type
 Interval<Boundary, Info>::external_memory_in_bytes() const {
@@ -52,10 +41,11 @@ Interval<Boundary, Info>::total_memory_in_bytes() const {
 
 template <typename Boundary, typename Info>
 inline void
-Interval<Boundary, Info>::swap(Interval<Boundary, Info>& y) {
-  std::swap(lower(), y.lower());
-  std::swap(upper(), y.upper());
-  std::swap(info(), y.info());
+Interval<Boundary, Info>::m_swap(Interval<Boundary, Info>& y) {
+  using std::swap;
+  swap(lower(), y.lower());
+  swap(upper(), y.upper());
+  swap(info(), y.info());
 }
 
 template <typename Boundary, typename Info>
@@ -70,8 +60,8 @@ f_is_singleton(const Interval<Boundary, Info>& x) {
 }
 template <typename Boundary, typename Info>
 inline int
-is_infinity(const Interval<Boundary, Info>& x) {
-  return x.is_infinity();
+infinity_sign(const Interval<Boundary, Info>& x) {
+  return x.infinity_sign();
 }
 
 namespace Interval_NS {
@@ -98,11 +88,13 @@ struct Scalar_As_Interval_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
+typedef Interval_Info_Null<Scalar_As_Interval_Policy>
+Scalar_As_Interval_Info;
 
 const Scalar_As_Interval_Info SCALAR_INFO;
 
-typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
+typedef Interval_Info_Null_Open<Scalar_As_Interval_Policy>
+Scalar_As_Interval_Info_Open;
 
 template <typename T>
 inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
@@ -115,12 +107,14 @@ f_upper(const T& x) {
   return x;
 }
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type
+inline typename Enable_If<Is_Singleton<T>::value,
+                          const Scalar_As_Interval_Info&>::type
 f_info(const T&) {
   return SCALAR_INFO;
 }
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type
+inline typename Enable_If<Is_Singleton<T>::value,
+                          Scalar_As_Interval_Info_Open>::type
 f_info(const T&, bool open) {
   return Scalar_As_Interval_Info_Open(open);
 }
@@ -140,13 +134,15 @@ f_is_singleton(const T& x) {
 } // namespace Interval_NS
 
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
 is_singleton_integer(const T& x) {
   return is_singleton(x) && is_integer(f_lower(x));
 }
 
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
 check_empty_arg(const T& x) {
   if (f_info(x).may_be_empty)
     return f_is_empty(x);
@@ -157,9 +153,12 @@ check_empty_arg(const T& x) {
 }
 
 template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
+inline typename Enable_If<((Is_Singleton<T1>::value
+                            || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value
+                               || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value
+                               || Is_Interval<T2>::value)),
 			  bool>::type
 operator==(const T1& x, const T2& y) {
   PPL_ASSERT(f_OK(x));
@@ -168,17 +167,17 @@ operator==(const T1& x, const T2& y) {
     return check_empty_arg(y);
   else if (check_empty_arg(y))
     return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  return eq_restriction(f_info(x), f_info(y))
-    && eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
+  return eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
     && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
 }
 
 template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
+inline typename Enable_If<((Is_Singleton<T1>::value
+                            || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value
+                               || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value
+                               || Is_Interval<T2>::value)),
 			  bool>::type
 operator!=(const T1& x, const T2& y) {
   return !(x == y);
@@ -186,7 +185,8 @@ operator!=(const T1& x, const T2& y) {
 
 template <typename Boundary, typename Info>
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
 Interval<Boundary, Info>::contains(const T& y) const {
   PPL_ASSERT(OK());
   PPL_ASSERT(f_OK(y));
@@ -194,17 +194,14 @@ Interval<Boundary, Info>::contains(const T& y) const {
     return true;
   if (check_empty_arg(*this))
     return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
   return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
     && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
 }
 
 template <typename Boundary, typename Info>
 template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
 Interval<Boundary, Info>::strictly_contains(const T& y) const {
   PPL_ASSERT(OK());
   PPL_ASSERT(f_OK(y));
@@ -212,13 +209,6 @@ Interval<Boundary, Info>::strictly_contains(const T& y) const {
     return !check_empty_arg(*this);
   if (check_empty_arg(*this))
     return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  else if (!eq_restriction(info(), f_info(y)))
-    return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-      && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
   return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
 	  && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)))
     || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
@@ -234,9 +224,6 @@ Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
   PPL_ASSERT(f_OK(y));
   if (check_empty_arg(*this) || check_empty_arg(y))
     return true;
-//   CHECKME.
-//   if (!contains_restriction(info(), f_info(y)))
-//       return false;
   return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))
     || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
 }
@@ -251,8 +238,6 @@ Interval<To_Boundary, To_Info>::assign(const From& x) {
     return assign(EMPTY);
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!assign_restriction(to_info, x))
-    return assign(EMPTY);
   Result rl = Boundary_NS::assign(LOWER, lower(), to_info,
 				  LOWER, f_lower(x), f_info(x));
   Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
@@ -272,8 +257,6 @@ Interval<To_Boundary, To_Info>::join_assign(const From& x) {
     return assign(x);
   if (check_empty_arg(x))
     return combine(V_EQ, V_EQ);
-  if (!join_restriction(info(), *this, x))
-    return assign(EMPTY);
   Result rl, ru;
   rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
   ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
@@ -296,8 +279,6 @@ Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
     return assign(x);
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!join_restriction(to_info, x, y))
-    return assign(EMPTY);
   Result rl, ru;
   rl = min_assign(LOWER, lower(), to_info,
 		  LOWER, f_lower(x), f_info(x),
@@ -315,20 +296,14 @@ template <typename Type>
 inline typename Enable_If<Is_Singleton<Type>::value
                           || Is_Interval<Type>::value, bool>::type
 Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!eq_restriction(info(), f_info(x)))
-    return false;
   PPL_DIRTY_TEMP(Boundary, b);
   if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
     b = lower();
-    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ
-      && eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
+    return eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
   }
   else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
     b = upper();
-    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ
-      && eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
+    return eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
   }
   return true;
 }
@@ -340,11 +315,8 @@ inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
   PPL_ASSERT(f_OK(x));
-  if (!intersect_restriction(info(), *this, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
   PPL_ASSERT(OK());
   return I_ANY;
 }
@@ -361,15 +333,12 @@ Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
   PPL_ASSERT(f_OK(y));
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!intersect_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), to_info,
-		  LOWER, f_lower(x), f_info(x),
-		  LOWER, f_lower(y), f_info(y));
-  ru = min_assign(UPPER, upper(), to_info,
-		  UPPER, f_upper(x), f_info(x),
-		  UPPER, f_upper(y), f_info(y));
+  max_assign(LOWER, lower(), to_info,
+             LOWER, f_lower(x), f_info(x),
+             LOWER, f_lower(y), f_info(y));
+  min_assign(UPPER, upper(), to_info,
+             UPPER, f_upper(x), f_info(x),
+             UPPER, f_upper(y), f_info(y));
   assign_or_swap(info(), to_info);
   PPL_ASSERT(OK());
   return I_NOT_EMPTY;
@@ -381,10 +350,8 @@ inline typename Enable_If<Is_Singleton<From>::value
                           || Is_Interval<From>::value, I_Result>::type
 Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
   PPL_ASSERT(f_OK(x));
-  // FIXME: restrictions
   if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))
-      ||
-      gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+      || gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
     return combine(V_EQ, V_EQ);
   bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
   bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
@@ -417,10 +384,8 @@ Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
   PPL_ASSERT(f_OK(y));
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  // FIXME: restrictions
   if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y))
-      ||
-      gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
+      || gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
     return assign(x);
   bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
   bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
@@ -435,7 +400,8 @@ Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
   }
   else if (nu) {
     ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
-    rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+    rl = Boundary_NS::assign(LOWER, lower(), info(),
+                             LOWER, f_lower(x), f_info(x));
   }
   assign_or_swap(info(), to_info);
   PPL_ASSERT(OK());
@@ -460,7 +426,6 @@ Interval<To_Boundary, To_Info>
       info().clear_boundary_properties(UPPER);
       Boundary_NS::assign(UPPER, upper(), info(),
 			  UPPER, f_upper(x), f_info(x), true);
-      normalize();
       return I_ANY;
     }
   case LESS_OR_EQUAL:
@@ -470,7 +435,6 @@ Interval<To_Boundary, To_Info>
       info().clear_boundary_properties(UPPER);
       Boundary_NS::assign(UPPER, upper(), info(),
 			  UPPER, f_upper(x), f_info(x));
-      normalize();
       return I_ANY;
     }
   case GREATER_THAN:
@@ -480,7 +444,6 @@ Interval<To_Boundary, To_Info>
       info().clear_boundary_properties(LOWER);
       Boundary_NS::assign(LOWER, lower(), info(),
 			  LOWER, f_lower(x), f_info(x), true);
-      normalize();
       return I_ANY;
     }
   case GREATER_OR_EQUAL:
@@ -490,7 +453,6 @@ Interval<To_Boundary, To_Info>
       info().clear_boundary_properties(LOWER);
       Boundary_NS::assign(LOWER, lower(), info(),
 			  LOWER, f_lower(x), f_info(x));
-      normalize();
       return I_ANY;
     }
   case EQUAL:
@@ -505,11 +467,10 @@ Interval<To_Boundary, To_Info>
 	remove_inf();
       if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
 	remove_sup();
-      normalize();
       return I_ANY;
     }
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return I_EMPTY;
   }
 }
@@ -531,8 +492,9 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(UPPER);
       Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      LOWER, f_lower(x), SCALAR_INFO, !is_open(LOWER, f_lower(x), f_info(x)));
-      normalize();
+				      LOWER, f_lower(x), SCALAR_INFO,
+                                      !is_open(LOWER, f_lower(x), f_info(x)));
+      PPL_USED(ru);
       return I_ANY;
     }
   case LESS_OR_EQUAL:
@@ -542,7 +504,7 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(UPPER);
       Result ru = Boundary_NS::assign(UPPER, upper(), info(),
 				      LOWER, f_lower(x), SCALAR_INFO);
-      normalize();
+      PPL_USED(ru);
       return I_ANY;
     }
   case GREATER_THAN:
@@ -551,8 +513,9 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
 	return combine(V_EQ, V_EQ);
       info().clear_boundary_properties(LOWER);
       Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      UPPER, f_upper(x), SCALAR_INFO, !is_open(UPPER, f_upper(x), f_info(x)));
-      normalize();
+				      UPPER, f_upper(x), SCALAR_INFO,
+                                      !is_open(UPPER, f_upper(x), f_info(x)));
+      PPL_USED(rl);
       return I_ANY;
     }
   case GREATER_OR_EQUAL:
@@ -562,7 +525,7 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
       info().clear_boundary_properties(LOWER);
       Result rl = Boundary_NS::assign(LOWER, lower(), info(),
 				      UPPER, f_upper(x), SCALAR_INFO);
-      normalize();
+      PPL_USED(rl);
       return I_ANY;
     }
   case EQUAL:
@@ -577,11 +540,10 @@ Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
 	remove_inf();
       if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
 	remove_sup();
-      normalize();
       return I_ANY;
     }
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return I_EMPTY;
   }
 }
@@ -596,8 +558,6 @@ Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
     return assign(EMPTY);
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!neg_restriction(to_info, x))
-    return assign(EMPTY);
   Result rl, ru;
   PPL_DIRTY_TEMP(To_Boundary, to_lower);
   rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x));
@@ -619,21 +579,19 @@ Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
   PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == -inf)
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == -inf_sign)
       return assign(EMPTY);
   }
   else
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
     return assign(MINUS_INFINITY);
-  else if (inf > 0)
+  else if (inf_sign > 0)
     return assign(PLUS_INFINITY);
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!add_restriction(to_info, x, y))
-    return assign(EMPTY);
   Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info,
 				      LOWER, f_lower(x), f_info(x),
 				      LOWER, f_lower(y), f_info(y));
@@ -656,22 +614,20 @@ Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
   PPL_ASSERT(f_OK(y));
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == inf)
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == inf_sign)
       return assign(EMPTY);
   }
   else
-    inf = -Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
+    inf_sign = -Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
     return assign(MINUS_INFINITY);
-  else if (inf > 0)
+  else if (inf_sign > 0)
     return assign(PLUS_INFINITY);
 
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!sub_restriction(to_info, x, y))
-    return assign(EMPTY);
   Result rl, ru;
   PPL_DIRTY_TEMP(To_Boundary, to_lower);
   rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info,
@@ -710,19 +666,19 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+  int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
   int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
+  int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
   int ls, us;
-  if (inf) {
+  if (inf_sign != 0) {
     ls = yls;
     us = yus;
     goto inf;
   }
   else {
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-    if (inf) {
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+    if (inf_sign != 0) {
       ls = xls;
       us = xus;
     inf:
@@ -731,8 +687,8 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
       if (ls == -us)
 	return set_infinities();
       if (ls < 0 || us < 0)
-	inf = -inf;
-      if (inf < 0)
+	inf_sign = -inf_sign;
+      if (inf_sign < 0)
 	return assign(MINUS_INFINITY);
       else
 	return assign(PLUS_INFINITY);
@@ -741,8 +697,6 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
 
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!mul_restriction(to_info, x, y))
-    return assign(EMPTY);
   Result rl, ru;
   PPL_DIRTY_TEMP(To_Boundary, to_lower);
 
@@ -879,29 +833,27 @@ Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
   if (check_empty_arg(x) || check_empty_arg(y))
     return assign(EMPTY);
   int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
   if (yls == 0 && yus == 0)
     return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y))
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) != 0)
       return assign(EMPTY);
     if (yls == -yus)
       return set_infinities();
     if (yls < 0 || yus < 0)
-      inf = -inf;
-    if (inf < 0)
+    inf_sign = -inf_sign;
+    if (inf_sign < 0)
       return assign(MINUS_INFINITY);
     else
       return assign(PLUS_INFINITY);
   }
   int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+  int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
 
   PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
-  if (!div_restriction(to_info, x, y))
-    return assign(EMPTY);
   Result rl, ru;
   PPL_DIRTY_TEMP(To_Boundary, to_lower);
   if (yls >= 0) {
@@ -957,7 +909,6 @@ Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
     }
   }
   else {
-    // FIXME: restrictions
     return static_cast<I_Result>(assign(UNIVERSE) | I_SINGULARITIES);
   }
   assign_or_swap(lower(), to_lower);
@@ -1065,7 +1016,6 @@ operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
 template <typename Boundary, typename Info>
 inline std::ostream&
 operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
-  // PPL_ASSERT(x.OK());
   if (check_empty_arg(x))
     return os << "[]";
   if (x.is_singleton()) {
@@ -1083,7 +1033,6 @@ operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
   else
     output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED);
   os << (x.upper_is_open() ? ")" : "]");
-  output_restriction(os, x.info());
   return os;
 }
 
@@ -1133,10 +1082,12 @@ struct Select_Temp_Boundary_Type {
   typedef Interval_Boundary_Type type;
 };
 
+#if PPL_SUPPORTED_DOUBLE
 template <>
 struct Select_Temp_Boundary_Type<float> {
   typedef double type;
 };
+#endif
 
 template <>
 struct Select_Temp_Boundary_Type<char> {
@@ -1188,18 +1139,13 @@ struct Select_Temp_Boundary_Type<unsigned long long> {
   typedef signed long long type;
 };
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Interval */
+/*! \relates Interval */
 template <typename Boundary, typename Info>
 inline void
-swap(Parma_Polyhedra_Library::Interval<Boundary, Info>& x,
-     Parma_Polyhedra_Library::Interval<Boundary, Info>& y) {
-  x.swap(y);
+swap(Interval<Boundary, Info>& x, Interval<Boundary, Info>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Interval_inlines_hh)
diff --git a/src/Interval.templates.hh b/src/Interval.templates.hh
index 9f83797..d785ac1 100644
--- a/src/Interval.templates.hh
+++ b/src/Interval.templates.hh
@@ -1,6 +1,6 @@
 /* Interval class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Interval_templates_hh
 #define PPL_Interval_templates_hh 1
@@ -42,12 +42,13 @@ Interval<Boundary, Info>::lower_extend(const C& c) {
   case V_GT:
     open = true;
     break;
-  case V_GE:
+  case V_GE: // Fall through.
   case V_EQ:
     open = false;
     break;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
   }
   min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open));
   PPL_ASSERT(OK());
@@ -68,12 +69,13 @@ Interval<Boundary, Info>::upper_extend(const C& c) {
   case V_LT:
     open = true;
     break;
-  case V_LE:
+  case V_LE: // Fall through.
   case V_EQ:
     open = false;
     break;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
   }
   max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open));
   PPL_ASSERT(OK());
@@ -148,13 +150,13 @@ Interval<Boundary, Info>::Interval(const char* s) {
   PPL_ASSERT(upper_r != V_CVT_STR_UNK && upper_r != V_NAN);
   upper_r = result_relation_class(upper_r);
 
-  // Buld the interval.
+  // Build the interval.
   bool lower_open = false;
   bool upper_open = false;
   bool lower_boundary_infinity = false;
   bool upper_boundary_infinity = false;
   switch (lower_r) {
-  case V_EQ:
+  case V_EQ: // Fall through.
   case V_GE:
     break;
   case V_GT:
@@ -162,10 +164,11 @@ Interval<Boundary, Info>::Interval(const char* s) {
     break;
   case V_GT_MINUS_INFINITY:
     lower_open = true;
+    // Fall through.
   case V_EQ_MINUS_INFINITY:
     lower_boundary_infinity = true;
     break;
-  case V_EQ_PLUS_INFINITY:
+  case V_EQ_PLUS_INFINITY: // Fall through.
   case V_LT_PLUS_INFINITY:
     if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
       assign(UNIVERSE);
@@ -173,16 +176,17 @@ Interval<Boundary, Info>::Interval(const char* s) {
       assign(EMPTY);
     break;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    break;
   }
   switch (upper_r) {
-  case V_EQ:
+  case V_EQ: // Fall through.
   case V_LE:
     break;
   case V_LT:
     upper_open = true;
     break;
-  case V_EQ_MINUS_INFINITY:
+  case V_EQ_MINUS_INFINITY: // Fall through.
   case V_GT_MINUS_INFINITY:
     if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
       assign(UNIVERSE);
@@ -191,11 +195,13 @@ Interval<Boundary, Info>::Interval(const char* s) {
     break;
   case V_LT_PLUS_INFINITY:
     upper_open = true;
+    // Fall through.
   case V_EQ_PLUS_INFINITY:
     upper_boundary_infinity = true;
     break;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    break;
   }
 
   if (!lower_boundary_infinity
@@ -221,18 +227,28 @@ Interval<Boundary, Info>::Interval(const char* s) {
 template <typename Boundary, typename Info>
 inline std::istream&
 operator>>(std::istream& is, Interval<Boundary, Info>& x) {
+  Boundary lower_bound;
+  Boundary upper_bound;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  bool lower_open = false;
+  bool upper_open = false;
+  Result lower_r;
+  Result upper_r;
+
   // Eat leading white space.
-  int c;
+  char c;
   do {
-    c = is.get();
-  } while (isspace(c));
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
 
   // Get the opening parenthesis and handle the empty interval case.
-  bool lower_open = false;
   if (c == '(')
     lower_open = true;
   else if (c == '[') {
-    c = is.get();
+    if (!is.get(c))
+      goto fail;
     if (c == ']') {
       // Empty interval.
       x.assign(EMPTY);
@@ -241,58 +257,47 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
     else
       is.unget();
   }
-  else {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+  else
+    goto unexpected;
 
   // Get the lower bound.
-  Boundary lower_bound;
-  Result lower_r = input(lower_bound, is, ROUND_DOWN);
-  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+  lower_r = input(lower_bound, is, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN)
+    goto fail;
   lower_r = result_relation_class(lower_r);
 
   // Match the comma separating the lower and upper bounds.
   do {
-    c = is.get();
-  } while (isspace(c));
-  if (c != ',') {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
+  if (c != ',')
+    goto unexpected;
 
   // Get the upper bound.
-  Boundary upper_bound;
-  Result upper_r = input(upper_bound, is, ROUND_UP);
-  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+  upper_r = input(upper_bound, is, ROUND_UP);
+  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN)
+    goto fail;
   upper_r = result_relation_class(upper_r);
 
   // Get the closing parenthesis.
   do {
-    c = is.get();
-  } while (isspace(c));
-  bool upper_open = false;
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
   if (c == ')')
     upper_open = true;
   else if (c != ']') {
+  unexpected:
     is.unget();
-    is.setstate(std::ios_base::failbit);
+  fail:
+    is.setstate(std::ios::failbit);
     return is;
   }
 
-  // Buld interval.
-  bool lower_boundary_infinity = false;
-  bool upper_boundary_infinity = false;
+  // Build interval.
   switch (lower_r) {
-  case V_EQ:
+  case V_EQ: // Fall through.
   case V_GE:
     break;
   case V_GT:
@@ -300,10 +305,11 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
     break;
   case V_GT_MINUS_INFINITY:
     lower_open = true;
+    // Fall through.
   case V_EQ_MINUS_INFINITY:
     lower_boundary_infinity = true;
     break;
-  case V_EQ_PLUS_INFINITY:
+  case V_EQ_PLUS_INFINITY: // Fall through.
   case V_LT_PLUS_INFINITY:
     if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
       x.assign(UNIVERSE);
@@ -311,10 +317,11 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
       x.assign(EMPTY);
     return is;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    break;
   }
   switch (upper_r) {
-  case V_EQ:
+  case V_EQ: // Fall through.
   case V_LE:
     break;
   case V_LT:
@@ -322,18 +329,20 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
     break;
   case V_GT_MINUS_INFINITY:
     upper_open = true;
+    // Fall through.
   case V_EQ_MINUS_INFINITY:
     if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
       x.assign(UNIVERSE);
     else
       x.assign(EMPTY);
     return is;
-  case V_EQ_PLUS_INFINITY:
+  case V_EQ_PLUS_INFINITY: // Fall through.
   case V_LT_PLUS_INFINITY:
     upper_boundary_infinity = true;
     break;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
+    break;
   }
 
   if (!lower_boundary_infinity
@@ -361,7 +370,6 @@ template <typename From>
 typename Enable_If<Is_Interval<From>::value, bool>::type
 Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
   // FIXME: the following code wrongly assumes that intervals are closed
-  // and have no restrictions. It must be generalized.
   if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
     lower_extend();
     return false;
diff --git a/src/Interval.types.hh b/src/Interval.types.hh
index c3ebd5a..4e75397 100644
--- a/src/Interval.types.hh
+++ b/src/Interval.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Interval_Info.defs.hh b/src/Interval_Info.defs.hh
index 63d4cdf..04fb3e9 100644
--- a/src/Interval_Info.defs.hh
+++ b/src/Interval_Info.defs.hh
@@ -1,6 +1,6 @@
 /* Interval_Info class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Interval_Info_defs_hh
 #define PPL_Interval_Info_defs_hh 1
 
 #include "Boundary.defs.hh"
-#include "Interval_Restriction.defs.hh"
 
 #include <iostream>
 
@@ -76,7 +75,7 @@ set_bit(T& bits, unsigned int bit, bool value) {
 template <typename T>
 inline bool
 get_bit(const T& bits, unsigned int bit) {
-  return bits & (static_cast<T>(1) << bit);
+  return (bits & (static_cast<T>(1) << bit)) != 0;
 }
 
 template <typename T>
@@ -106,9 +105,10 @@ public:
   const_bool_nodef(check_inexact, Policy::check_inexact);
   const_bool_nodef(store_special, false);
   const_bool_nodef(store_open, false);
-  const_bool_nodef(cache_normalized, false);
   const_bool_nodef(cache_empty, false);
   const_bool_nodef(cache_singleton, false);
+  Interval_Info_Null() {
+  }
   void clear() {
   }
   void clear_boundary_properties(Boundary_Type) {
@@ -130,7 +130,7 @@ public:
   }
 
   //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Null& y);
+  void m_swap(Interval_Info_Null& y);
 
   void ascii_dump(std::ostream& s) const;
   bool ascii_load(std::istream& s);
@@ -143,13 +143,12 @@ public:
   Interval_Info_Null_Open(bool o)
     : open(o) {
   }
-  bool get_boundary_property(Boundary_Type, const Boundary_NS::Property& p) const {
-    switch (p.type) {
-    case Boundary_NS::Property::OPEN_:
+  bool get_boundary_property(Boundary_Type,
+                             const Boundary_NS::Property& p) const {
+    if (p.type == Boundary_NS::Property::OPEN_)
       return open;
-    default:
+    else
       return Boundary_NS::Property::unsupported_value;
-    }
   }
 
   void ascii_dump(std::ostream& s) const;
@@ -168,19 +167,18 @@ public:
   const_bool_nodef(check_inexact, Policy::check_inexact);
   const_bool_nodef(store_special, Policy::store_special);
   const_bool_nodef(store_open, Policy::store_open);
-  const_bool_nodef(cache_normalized, Policy::cache_normalized);
   const_bool_nodef(cache_empty, Policy::cache_empty);
   const_bool_nodef(cache_singleton, Policy::cache_singleton);
   const_int_nodef(lower_special_bit, Policy::next_bit);
-  const_int_nodef(lower_open_bit, lower_special_bit + store_special);
-  const_int_nodef(lower_normalized_bit, lower_open_bit + store_open);
-  const_int_nodef(upper_special_bit, lower_normalized_bit + cache_normalized);
-  const_int_nodef(upper_open_bit, upper_special_bit + store_special);
-  const_int_nodef(upper_normalized_bit, upper_open_bit + store_open);
-  const_int_nodef(cardinality_is_bit, upper_normalized_bit + cache_normalized);
-  const_int_nodef(cardinality_0_bit, cardinality_is_bit + (cache_empty || cache_singleton));
-  const_int_nodef(cardinality_1_bit, cardinality_0_bit + cache_empty);
-  const_int_nodef(next_bit, cardinality_1_bit + cache_singleton);
+  const_int_nodef(lower_open_bit, lower_special_bit + (store_special ? 1 : 0));
+  const_int_nodef(upper_special_bit, lower_open_bit + (store_open ? 1 : 0));
+  const_int_nodef(upper_open_bit, upper_special_bit + (store_special ? 1 : 0));
+  const_int_nodef(cardinality_is_bit, upper_open_bit + (store_open ? 1 : 0));
+  const_int_nodef(cardinality_0_bit, cardinality_is_bit
+                  + ((cache_empty || cache_singleton) ? 1 : 0));
+  const_int_nodef(cardinality_1_bit, cardinality_0_bit + (cache_empty ? 1 : 0));
+  const_int_nodef(next_bit, cardinality_1_bit + (cache_singleton ? 1 : 0));
+
   Interval_Info_Bitset() {
     // FIXME: would we have speed benefits with uninitialized info?
     // (Dirty_Temp)
@@ -194,7 +192,9 @@ public:
     set_boundary_property(t, SPECIAL, false);
     set_boundary_property(t, OPEN, false);
   }
-  void set_boundary_property(Boundary_Type t, const Boundary_NS::Property& p, bool value = true) {
+  void set_boundary_property(Boundary_Type t,
+                             const Boundary_NS::Property& p,
+                             bool value = true) {
     switch (p.type) {
     case Boundary_NS::Property::SPECIAL_:
       if (store_special) {
@@ -212,14 +212,6 @@ public:
 	  set_bit(bitset, upper_open_bit, value);
       }
       break;
-    case Boundary_NS::Property::NORMALIZED_:
-      if (cache_normalized) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_normalized_bit, value);
-	else
-	  set_bit(bitset, upper_normalized_bit, value);
-      }
-      break;
     default:
       break;
     }
@@ -240,13 +232,6 @@ public:
 	return get_bit(bitset, lower_open_bit);
       else
 	return get_bit(bitset, upper_open_bit);
-    case Boundary_NS::Property::NORMALIZED_:
-      if (!cache_normalized)
-	return false;
-      else if (t == LOWER)
-	return get_bit(bitset, lower_normalized_bit);
-      else
-	return get_bit(bitset, upper_normalized_bit);
     default:
       return false;
     }
@@ -284,7 +269,7 @@ public:
   }
 
   //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Bitset& y);
+  void m_swap(Interval_Info_Bitset& y);
 
   void ascii_dump(std::ostream& s) const;
   bool ascii_load(std::istream& s);
diff --git a/src/Interval_Info.inlines.hh b/src/Interval_Info.inlines.hh
index 9cb27a5..4453019 100644
--- a/src/Interval_Info.inlines.hh
+++ b/src/Interval_Info.inlines.hh
@@ -1,6 +1,6 @@
 /* Interval_Info class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Interval_Info_inlines_hh
 #define PPL_Interval_Info_inlines_hh 1
@@ -30,17 +30,17 @@ namespace Parma_Polyhedra_Library {
 
 template <typename Policy>
 inline void
-Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
+Interval_Info_Null<Policy>::m_swap(Interval_Info_Null<Policy>&) {
 }
 
 template <typename Policy>
 inline void
-Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
+Interval_Info_Null<Policy>::ascii_dump(std::ostream&) const {
 }
 
 template <typename Policy>
 inline bool
-Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
+Interval_Info_Null<Policy>::ascii_load(std::istream&) {
   return true;
 }
 
@@ -69,54 +69,48 @@ Interval_Info_Null_Open<Policy>::ascii_load(std::istream& s) {
 
 template <typename T, typename Policy>
 inline void
-Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
-  std::swap(bitset, y.bitset);
+Interval_Info_Bitset<T, Policy>::m_swap(Interval_Info_Bitset<T, Policy>& y) {
+  using std::swap;
+  swap(bitset, y.bitset);
 }
 
 template <typename T, typename Policy>
 inline void
 Interval_Info_Bitset<T, Policy>::ascii_dump(std::ostream& s) const {
-  std::ios_base::fmtflags old = s.flags();
-  s << std::hex << bitset;
-  s.flags(old);
+  const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                              std::ios::basefield);
+  s << bitset;
+  s.flags(old_flags);
 }
 
 template <typename T, typename Policy>
 inline bool
 Interval_Info_Bitset<T, Policy>::ascii_load(std::istream& s) {
-  std::ios_base::fmtflags old = s.flags();
-  if (s >> std::hex >> bitset) {
-    s.flags(old);
-    return s;
-  }
-  else
-    return false;
+  const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                              std::ios::basefield);
+  s >> bitset;
+  s.flags(old_flags);
+  return !s.fail();
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Null */
+/*! \relates Interval_Info_Null */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename Policy>
 inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Null<Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Null<Policy>& y) {
-  x.swap(y);
+swap(Interval_Info_Null<Policy>& x, Interval_Info_Null<Policy>& y) {
+  x.m_swap(y);
 }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Bitset */
+/*! \relates Interval_Info_Bitset */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T, typename Policy>
 inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& y) {
-  x.swap(y);
+swap(Interval_Info_Bitset<T, Policy>& x, Interval_Info_Bitset<T, Policy>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Interval_Info_inlines_hh)
diff --git a/src/Interval_Info.types.hh b/src/Interval_Info.types.hh
index 596ebad..8e05207 100644
--- a/src/Interval_Info.types.hh
+++ b/src/Interval_Info.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Interval_Restriction.defs.hh b/src/Interval_Restriction.defs.hh
deleted file mode 100644
index a912454..0000000
--- a/src/Interval_Restriction.defs.hh
+++ /dev/null
@@ -1,874 +0,0 @@
-/* Interval_Restriction class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Interval_Restriction_defs_hh
-#define PPL_Interval_Restriction_defs_hh 1
-
-#include "meta_programming.hh"
-#include "Slow_Copy.hh"
-#include "assign_or_swap.hh"
-#include "Result.defs.hh"
-#include "Rounding_Dir.defs.hh"
-#include "Checked_Number.defs.hh"
-
-namespace Parma_Polyhedra_Library {
-
-struct Interval_Base;
-
-template <typename T, typename Enable = void>
-struct Boundary_Value {
-  typedef T type;
-};
-
-template <typename T>
-struct Boundary_Value<T, typename Enable_If<Is_Same_Or_Derived<Interval_Base, T>::value>::type > {
-  typedef typename T::boundary_type type;
-};
-
-class Interval_Restriction_None_Base {
-public:
-  bool has_restriction() const {
-    return false;
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir, T&, Result dir) const {
-    return dir;
-  }
-};
-
-inline bool
-eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
-  return true;
-}
-
-template <typename T>
-inline bool
-contains_restriction(const Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
-
-template <typename T>
-inline bool
-assign_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-intersect_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-diff_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T>
-inline bool
-neg_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-sub_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-mul_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-template <typename T1, typename T2>
-inline bool
-div_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
-
-inline void
-output_restriction(std::ostream&, const Interval_Restriction_None_Base&) {
-}
-
-template <typename Base>
-class Interval_Restriction_None : public Interval_Restriction_None_Base,
-				  public Base {
-public:
-  Interval_Restriction_None() {
-  }
-  template <typename T>
-  Interval_Restriction_None(const T& init)
-    : Base(init) {
-  }
-};
-
-class Interval_Restriction_Integer_Base {
-};
-
-template <typename Base>
-class Interval_Restriction_Integer : public Interval_Restriction_Integer_Base, public Base {
-public:
-  Interval_Restriction_Integer() {
-  }
-  void set_integer(bool v = true) {
-    return set_bit(Base::bitset, integer_bit, v);
-  }
-  bool get_integer() const {
-    return get_bit(Base::bitset, integer_bit);
-  }
-
-  const_int_nodef(integer_bit, Base::next_bit);
-  const_int_nodef(next_bit, integer_bit + 1);
-  bool has_restriction() const {
-    return get_integer();
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir rdir, T& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    switch (dir) {
-    case V_GT:
-      if (is_integer(x))
-	return add_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_GE:
-      return ceil_assign_r(x, x, rdir);
-    case V_LT:
-      if (is_integer(x))
-	return sub_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_LE:
-      return floor_assign_r(x, x, rdir);
-    default:
-      PPL_ASSERT(false);
-      return dir;
-    }
-  }
-};
-
-class Simple_Restriction_Integer : public Interval_Restriction_Integer_Base {
-public:
-  Simple_Restriction_Integer(bool i)
-    : integer(i) {
-  }
-  bool get_integer() const {
-    return integer;
-  }
-private:
-  bool integer;
-};
-
-template <typename From, typename Base, typename Enable = void>
-struct Restriction_Integer;
-
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(is_integer(x));
-  }
-};
-
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.is_singleton() && is_integer(x.lower()));
-  }
-};
-
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer<Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
-
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.get_integer() == y.get_integer();
-}
-
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  return !x.get_integer() || y.get_integer();
-}
-
-template <typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 || Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer<Base>& to,
-		 const From1& x, const From2&) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer());
-  return true;
-}
-
-template <typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
-
-template <typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer<Base>& to, const From1&, const From2&) {
-  to.set_integer(false);
-  return true;
-}
-
-template <typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
-  if (x.get_integer())
-    s << "i";
-}
-
-class Interval_Restriction_Integer_Modulo_Base {
-};
-
-template <typename T, typename Base>
-class Interval_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base, public Base {
-public:
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_exact,
-                         "type for modulo values must be exact");
-  Interval_Restriction_Integer_Modulo() {
-    // FIXME: would we have speed benefits with uninitialized info?
-    // (Dirty_Temp)
-    clear();
-  }
-  bool has_restriction() const {
-    return divisor != 0;
-  }
-  void clear() {
-    remainder = 0;
-    divisor = 0;
-    Base::clear();
-  }
-  void normalize() const {
-  }
-  template <typename V>
-  Result restrict(Rounding_Dir rdir, V& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    PPL_DIRTY_TEMP(V, n);
-    PPL_DIRTY_TEMP(V, div);
-    Result r;
-    r = assign_r(div, divisor, ROUND_CHECK);
-    PPL_ASSERT(r == V_EQ);
-    int s;
-    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    s = sgn(n);
-    switch (dir) {
-    case V_GT:
-      if (s >= 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_GE:
-      if (s > 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else if (s < 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    case V_LT:
-      if (s <= 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_LE:
-      if (s < 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else if (s > 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    default:
-      PPL_ASSERT(false);
-      return dir;
-    }
-  }
-  void assign_or_swap(Interval_Restriction_Integer_Modulo& x) {
-    Parma_Polyhedra_Library::assign_or_swap(remainder, x.remainder);
-    Parma_Polyhedra_Library::assign_or_swap(divisor, x.divisor);
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
-
-template <typename T, typename Base>
-struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
-
-
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.info().divisor != 0);
-  }
-};
-
-template <typename T>
-struct Simple_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base {
-  template <typename From>
-  Simple_Restriction_Integer_Modulo(const From& r, const From& d)
-    : remainder(r), divisor(d) {
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
-
-template <typename From, typename T, typename Base, typename Enable = void>
-struct Restriction_Integer_Modulo;
-
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (is_integer(x))
-      return integer;
-    else
-      return not_integer;
-  }
-};
-
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.is_singleton() && is_integer(x.lower()))
-      return integer;
-    else
-      return not_integer;
-  }
-};
-
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.info().get_integer())
-      return integer;
-    else
-      return not_integer;
-  }
-};
-
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer_Modulo<T, Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
-
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.remainder == y.remainder
-    && x.divisor == y.divisor;
-}
-
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  if (x.divisor == 0)
-    return true;
-  if (y.divisor == 0)
-    return false;
-  if (x.divisor == y.divisor)
-    return x.remainder == y.remainder;
-  PPL_DIRTY_TEMP(typename T1::modulo_type, v);
-  Result r;
-  r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-  if (v != 0)
-    return false;
-  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-  return v == x.remainder;
-}
-
-template <typename T, typename Base>
-inline bool
-set_unrestricted(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 0;
-  return true;
-}
-
-template <typename T, typename Base>
-inline bool
-set_integer(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 1;
-  return true;
-}
-
-template <typename T, typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From& x) {
-  to.remainder = Restriction_Integer_Modulo<From, T, Base>::get(x).remainder;
-  to.divisor = Restriction_Integer_Modulo<From, T, Base>::get(x).divisor;
-  return true;
-}
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  else if (rx.divisor == 1 && ry.divisor == 1
-      && is_singleton(x) && is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, b);
-    Result r;
-    r = abs_assign_r(a, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = abs_assign_r(b, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    if (a > b)
-      r = sub_assign_r(a, a, b, ROUND_CHECK);
-    else
-      r = sub_assign_r(a, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.divisor, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = rem_assign_r(b, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.remainder, b, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (contains_restriction(rx, ry)) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-  }
-  else if (contains_restriction(ry, rx)) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-  }
-  else
-    return set_integer(to);
-  return true;
-}
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (rx.divisor == 0) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-    return true;
-  }
-  if (ry.divisor == 0) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-    return true;
-  }
-  PPL_DIRTY_TEMP(T, g);
-  Result r;
-  r = gcd_assign_r(g, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  PPL_DIRTY_TEMP(T, d);
-  if (rx.remainder > ry.remainder)
-    r = sub_assign_r(d, rx.remainder, ry.remainder, ROUND_DIRECT);
-  else
-    r = sub_assign_r(d, ry.remainder, rx.remainder, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  r = div_assign_r(d, d, g, ROUND_DIRECT);
-  if (r != V_EQ)
-    return false;
-  r = lcm_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  // FIXME: to be completed
-  return true;
-}
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-		 const From1& x, const From2& y) {
-  // FIXME: to be written
-  return true;
-}
-
-template <typename T, typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From& x) {
-  return assign_restriction(to, x);
-}
-
-template <typename T>
-inline void
-addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    if (x <= to) {
-      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-      PPL_ASSERT(r == V_EQ);
-    }
-    else {
-      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
-      PPL_ASSERT(r == V_EQ);
-    }
-  }
-  else {
-    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-}
-
-template <typename M, typename T>
-inline bool
-assign_rem(M& rem, const T& n, const M& div) {
-  PPL_DIRTY_TEMP(T, divisor);
-  PPL_DIRTY_TEMP(T, remainder);
-  Result r;
-  r = assign_r(divisor, div, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  r = rem_assign_r(remainder, n, divisor, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  if (sgn(remainder) < 0) {
-    r = add_assign_r(remainder, remainder, divisor, ROUND_CHECK);
-    if (r != V_EQ)
-      return false;
-  }
-  r = assign_r(rem, remainder, ROUND_CHECK);
-  return r == V_EQ;
-}
-
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
-
-template <typename T>
-inline void
-submod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (x >= y) {
-    r = sub_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  else {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-}
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
-
-template <typename T>
-inline void
-mulmod(T& to, const T& x, const T& y, const T& to_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    PPL_DIRTY_TEMP0(mpz_class, a);
-    PPL_DIRTY_TEMP0(mpz_class, b);
-    r = assign_r(a, x, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(b, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(to, a, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  else {
-    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-}
-
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, mul);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, n);
-    r = abs_assign_r(n, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, mul, ry.remainder, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, mul, ry.divisor, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, n);
-    r = abs_assign_r(n, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, rx.remainder, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, rx.divisor, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
-  }
-  return true;
-}
-
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From1& x, const From2& y) {
-  if (is_singleton(y)) {
-    if (is_singleton(x)) {
-      // FIXME: to be written
-    }
-  }
-  return set_unrestricted(to);
-}
-
-template <typename T, typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer_Modulo<T, Base>& x) {
-  if (x.divisor == 1)
-    s << "i";
-  else if (x.divisor != 0)
-    s << "{" << x.remainder << "%" << x.divisor << "}";
-}
-
-}
-
-#endif // !defined(PPL_Interval_Info_defs_hh)
diff --git a/src/Linear_Expression.cc b/src/Linear_Expression.cc
index 2d7c2d2..7afa29a 100644
--- a/src/Linear_Expression.cc
+++ b/src/Linear_Expression.cc
@@ -1,6 +1,6 @@
 /* Linear_Expression class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,42 +19,24 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 
-#include <ppl-config.h>
-
+#include "ppl-config.h"
 #include "Linear_Expression.defs.hh"
-#include "Constraint.defs.hh"
-#include "Generator.defs.hh"
-#include "Grid_Generator.defs.hh"
+
+#include "Linear_Expression_Impl.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
 #include "Congruence.defs.hh"
-#include <stdexcept>
-#include <iostream>
+#include "Grid_Generator.defs.hh"
+#include "Generator.defs.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Linear_Expression::Linear_Expression(const Constraint& c)
-  : Linear_Row(c.space_dimension() + 1, Linear_Row::Flags()) {
-  Linear_Expression& e = *this;
-  for (dimension_type i = size(); i-- > 0; )
-    e[i] = c[i];
-}
-
-PPL::Linear_Expression::Linear_Expression(const Generator& g)
-  : Linear_Row(g.space_dimension() + 1, Linear_Row::Flags()) {
-  Linear_Expression& e = *this;
-  // Do not copy the divisor of `g'.
-  for (dimension_type i = size(); --i > 0; )
-    e[i] = g[i];
-}
-
-PPL::Linear_Expression::Linear_Expression(const Grid_Generator& g)
-  : Linear_Row(g.space_dimension() + 1, Linear_Row::Flags()) {
-  Linear_Expression& e = *this;
-  // Do not copy the divisor of `g'.
-  for (dimension_type i = size(); --i > 0; )
-    e[i] = g[i];
+PPL::dimension_type
+PPL::Linear_Expression::max_space_dimension() {
+  return Dense_Row::max_size() - 1;
 }
 
 const PPL::Linear_Expression* PPL::Linear_Expression::zero_p = 0;
@@ -72,379 +54,236 @@ PPL::Linear_Expression::finalize() {
   zero_p = 0;
 }
 
-PPL::Linear_Expression::Linear_Expression(const Congruence& cg)
-  : Linear_Row(cg.space_dimension() + 1, Linear_Row::Flags()) {
-  Linear_Expression& e = *this;
-  for (dimension_type i = size(); i-- > 0; )
-    e[i] = cg[i];
-}
+PPL::Linear_Expression::Linear_Expression(Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>();
+    break;
 
-PPL::Linear_Expression::Linear_Expression(const Variable v)
-  : Linear_Row(v.space_dimension() <= max_space_dimension()
-	       ? v.space_dimension() + 1
-	       : (throw std::length_error("PPL::Linear_Expression::"
-					  "Linear_Expression(v):\n"
-					  "v exceeds the maximum allowed "
-					  "space dimension."),
-		  v.space_dimension() + 1)
-	       , Linear_Row::Flags()) {
-  ++((*this)[v.space_dimension()]);
-}
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>();
+    break;
 
-PPL::Linear_Expression::Linear_Expression(const Variable v, const Variable w)
-  : Linear_Row() {
-  const dimension_type v_space_dim = v.space_dimension();
-  const dimension_type w_space_dim = w.space_dimension();
-  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
-  if (space_dim > max_space_dimension())
-    throw std::length_error("PPL::Linear_Expression::"
-                            "Linear_Expression(v, w):\n"
-                            "v or w exceed the maximum allowed "
-                            "space dimension.");
-  construct(space_dim+1, Linear_Row::Flags());
-  if (v_space_dim != w_space_dim) {
-    ++((*this)[v_space_dim]);
-    --((*this)[w_space_dim]);
+  default:
+    PPL_UNREACHABLE;
   }
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator+(const Linear_Expression& e1, const Linear_Expression& e2) {
-  dimension_type e1_size = e1.size();
-  dimension_type e2_size = e2.size();
-  dimension_type min_size;
-  dimension_type max_size;
-  const Linear_Expression* p_e_max;
-  if (e1_size > e2_size) {
-    min_size = e2_size;
-    max_size = e1_size;
-    p_e_max = &e1;
-  }
-  else {
-    min_size = e1_size;
-    max_size = e2_size;
-    p_e_max = &e2;
-  }
+PPL::Linear_Expression::Linear_Expression(dimension_type space_dim, bool x,
+                                          Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(space_dim, x);
+    break;
 
-  Linear_Expression r(max_size, false);
-  dimension_type i = max_size;
-  while (i > min_size) {
-    --i;
-    r[i] = (*p_e_max)[i];
-  }
-  while (i > 0) {
-    --i;
-    r[i] = e1[i] + e2[i];
-  }
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(space_dim, x);
+    break;
 
-  return r;
+  default:
+    PPL_UNREACHABLE;
+  }
 }
 
-/*! \relates Linear_Expression */
-PPL::Linear_Expression
-PPL::operator+(const Variable v, const Linear_Expression& e) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression "
-                            "PPL::operator+(v, e):\n"
-                            "v exceeds the maximum allowed "
-                            "space dimension.");
-  const dimension_type space_dim = std::max(v_space_dim, e.space_dimension());
-  Linear_Expression r(e, space_dim+1);
-  ++r[v_space_dim];
-  return r;
-}
+PPL::Linear_Expression::Linear_Expression(const Congruence& c,
+                                          dimension_type space_dim) {
+  switch (c.expression().representation()) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(c, space_dim);
+    break;
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator+(Coefficient_traits::const_reference n,
-	       const Linear_Expression& e) {
-  Linear_Expression r(e);
-  r[0] += n;
-  return r;
-}
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(c, space_dim);
+    break;
 
-/*! \relates Linear_Expression */
-PPL::Linear_Expression
-PPL::operator+(const Variable v, const Variable w) {
-  const dimension_type v_space_dim = v.space_dimension();
-  const dimension_type w_space_dim = w.space_dimension();
-  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
-  if (space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression "
-                            "PPL::operator+(v, w):\n"
-                            "v or w exceed the maximum allowed "
-                            "space dimension.");
-  Linear_Expression r(space_dim+1, true);
-  ++r[v_space_dim];
-  ++r[w_space_dim];
-  return r;
+  default:
+    PPL_UNREACHABLE;
+  }
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator-(const Linear_Expression& e) {
-  Linear_Expression r(e);
-  for (dimension_type i = e.size(); i-- > 0; )
-    neg_assign(r[i]);
-  return r;
-}
+PPL::Linear_Expression::Linear_Expression(const Congruence& c,
+                                          dimension_type space_dim,
+                                          Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(c, space_dim);
+    break;
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator-(const Linear_Expression& e1, const Linear_Expression& e2) {
-  dimension_type e1_size = e1.size();
-  dimension_type e2_size = e2.size();
-  if (e1_size > e2_size) {
-    Linear_Expression r(e1_size, false);
-    dimension_type i = e1_size;
-    while (i > e2_size) {
-      --i;
-      r[i] = e1[i];
-    }
-    while (i > 0) {
-      --i;
-      r[i] = e1[i] - e2[i];
-    }
-    return r;
-  }
-  else {
-    Linear_Expression r(e2_size, false);
-    dimension_type i = e2_size;
-    while (i > e1_size) {
-      --i;
-      r[i] = -e2[i];
-    }
-    while (i > 0) {
-      --i;
-      r[i] = e1[i] - e2[i];
-    }
-    return r;
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(c, space_dim);
+    break;
+
+  default:
+    PPL_UNREACHABLE;
   }
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator-(const Variable v, const Linear_Expression& e) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression "
-                            "PPL::operator-(v, e):\n"
-                            "v exceeds the maximum allowed "
-                            "space dimension.");
-  const dimension_type e_space_dim = e.space_dimension();
-  const dimension_type space_dim = std::max(v_space_dim, e_space_dim);
-  Linear_Expression r(e, space_dim+1);
-  for (dimension_type i = e.size(); i-- > 0; )
-    neg_assign(r[i]);
-  ++r[v_space_dim];
-  return r;
-}
+PPL::Linear_Expression::Linear_Expression(const Linear_Expression& e) {
+  switch (e.representation()) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(*e.impl);
+    break;
 
-/*! \relates Linear_Expression */
-PPL::Linear_Expression
-PPL::operator-(const Linear_Expression& e, const Variable v) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression "
-                            "PPL::operator-(e, v):\n"
-                            "v exceeds the maximum allowed "
-                            "space dimension.");
-  const dimension_type space_dim = std::max(v_space_dim, e.space_dimension());
-  Linear_Expression r(e, space_dim+1);
-  --r[v_space_dim];
-  return r;
-}
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(*e.impl);
+    break;
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator-(Coefficient_traits::const_reference n,
-	       const Linear_Expression& e) {
-  Linear_Expression r(e);
-  for (dimension_type i = e.size(); i-- > 0; )
-    neg_assign(r[i]);
-  r[0] += n;
-  return r;
+  default:
+    PPL_UNREACHABLE;
+  }
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression
-PPL::operator*(Coefficient_traits::const_reference n,
-	       const Linear_Expression& e) {
-  Linear_Expression r(e);
-  for (dimension_type i = e.size(); i-- > 0; )
-    r[i] *= n;
-  return r;
-}
+PPL::Linear_Expression::Linear_Expression(const Linear_Expression& e,
+                                          Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(*e.impl);
+    break;
+
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(*e.impl);
+    break;
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::operator+=(Linear_Expression& e1, const Linear_Expression& e2) {
-  dimension_type e1_size = e1.size();
-  dimension_type e2_size = e2.size();
-  if (e1_size >= e2_size)
-    for (dimension_type i = e2_size; i-- > 0; )
-      e1[i] += e2[i];
-  else {
-    Linear_Expression new_e(e2);
-    for (dimension_type i = e1_size; i-- > 0; )
-      new_e[i] += e1[i];
-    e1.swap(new_e);
+  default:
+    PPL_UNREACHABLE;
   }
-  return e1;
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::operator+=(Linear_Expression& e, const Variable v) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression& "
-                            "PPL::operator+=(e, v):\n"
-			    "v exceeds the maximum allowed space dimension.");
-  const dimension_type e_size = e.size();
-  if (e_size <= v_space_dim) {
-    Linear_Expression new_e(e, v_space_dim+1);
-    e.swap(new_e);
+PPL::Linear_Expression::Linear_Expression(const Linear_Expression& e,
+                                          dimension_type space_dim) {
+  switch (e.representation()) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(*e.impl, space_dim);
+    break;
+
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(*e.impl, space_dim);
+    break;
+
+  default:
+    PPL_UNREACHABLE;
   }
-  ++e[v_space_dim];
-  return e;
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::operator-=(Linear_Expression& e1, const Linear_Expression& e2) {
-  dimension_type e1_size = e1.size();
-  dimension_type e2_size = e2.size();
-  if (e1_size >= e2_size)
-    for (dimension_type i = e2_size; i-- > 0; )
-      e1[i] -= e2[i];
-  else {
-    Linear_Expression new_e(e1, e2_size);
-    for (dimension_type i = e2_size; i-- > 0; )
-      new_e[i] -= e2[i];
-    e1.swap(new_e);
+PPL::Linear_Expression::Linear_Expression(const Linear_Expression& e,
+                                          dimension_type space_dim,
+                                          Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(*e.impl, space_dim);
+    break;
+
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(*e.impl, space_dim);
+    break;
+
+  default:
+    PPL_UNREACHABLE;
   }
-  return e1;
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::operator-=(Linear_Expression& e, const Variable v) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression& "
-                            "PPL::operator-=(e, v):\n"
-			    "v exceeds the maximum allowed space dimension.");
-  const dimension_type e_size = e.size();
-  if (e_size <= v_space_dim) {
-    Linear_Expression new_e(e, v_space_dim+1);
-    e.swap(new_e);
+PPL::Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n,
+                                          Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(n);
+    break;
+
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(n);
+    break;
+
+  default:
+    PPL_UNREACHABLE;
   }
-  --e[v_space_dim];
-  return e;
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::operator*=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  dimension_type e_size = e.size();
-  for (dimension_type i = e_size; i-- > 0; )
-    e[i] *= n;
-  return e;
+PPL::Linear_Expression::Linear_Expression(const Constraint& c)
+  : impl(NULL) {
+  Linear_Expression tmp(c.expression());
+  using std::swap;
+  swap(impl, tmp.impl);
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::add_mul_assign(Linear_Expression& e,
-                    Coefficient_traits::const_reference n,
-                    const Variable v) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression& "
-                            "PPL::add_mul_assign(e, n, v):\n"
-			    "v exceeds the maximum allowed space dimension.");
-  const dimension_type e_size = e.size();
-  if (e_size <= v_space_dim) {
-    Linear_Expression new_e(e, v_space_dim+1);
-    e.swap(new_e);
-  }
-  e[v_space_dim] += n;
-  return e;
+PPL::Linear_Expression::Linear_Expression(const Constraint& c,
+                                          Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(c.expression(), r);
+  using std::swap;
+  swap(impl, tmp.impl);
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-PPL::Linear_Expression&
-PPL::sub_mul_assign(Linear_Expression& e,
-                    Coefficient_traits::const_reference n,
-                    const Variable v) {
-  const dimension_type v_space_dim = v.space_dimension();
-  if (v_space_dim > Linear_Expression::max_space_dimension())
-    throw std::length_error("Linear_Expression& "
-                            "PPL::sub_mul_assign(e, n, v):\n"
-			    "v exceeds the maximum allowed space dimension.");
-  const dimension_type e_size = e.size();
-  if (e_size <= v_space_dim) {
-    Linear_Expression new_e(e, v_space_dim+1);
-    e.swap(new_e);
-  }
-  e[v_space_dim] -= n;
-  return e;
+PPL::Linear_Expression::Linear_Expression(const Generator& g)
+  : impl(NULL) {
+  Linear_Expression tmp(g.expression());
+  using std::swap;
+  swap(impl, tmp.impl);
 }
 
-bool
-PPL::Linear_Expression::OK() const {
-  return Linear_Row::OK();
+PPL::Linear_Expression::Linear_Expression(const Generator& g, Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(g.expression(), r);
+  using std::swap;
+  swap(impl, tmp.impl);
 }
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-std::ostream&
-PPL::IO_Operators::operator<<(std::ostream& s, const Linear_Expression& e) {
-  const dimension_type num_variables = e.space_dimension();
-  PPL_DIRTY_TEMP_COEFFICIENT(ev);
-  bool first = true;
-  for (dimension_type v = 0; v < num_variables; ++v) {
-    ev = e[v+1];
-    if (ev != 0) {
-      if (!first) {
-	if (ev > 0)
-	  s << " + ";
-	else {
-	  s << " - ";
-	  neg_assign(ev);
-	}
-      }
-      else
-	first = false;
-      if (ev == -1)
-	s << "-";
-      else if (ev != 1)
-	s << ev << "*";
-      s << PPL::Variable(v);
-    }
-  }
-  // Inhomogeneous term.
-  PPL_DIRTY_TEMP_COEFFICIENT(it);
-  it = e[0];
-  if (it != 0) {
-    if (!first) {
-      if (it > 0)
-	s << " + ";
-      else {
-	s << " - ";
-	neg_assign(it);
-      }
-    }
-    else
-      first = false;
-    s << it;
+PPL::Linear_Expression::Linear_Expression(const Grid_Generator& g)
+  : impl(NULL) {
+  Linear_Expression tmp(g.expression());
+  using std::swap;
+  swap(impl, tmp.impl);
+}
+
+PPL::Linear_Expression::Linear_Expression(const Grid_Generator& g,
+                                          Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(g.expression(), r);
+  using std::swap;
+  swap(impl, tmp.impl);
+}
+
+PPL::Linear_Expression::Linear_Expression(const Congruence& cg)
+  : impl(NULL) {
+  Linear_Expression tmp(cg.expression());
+  using std::swap;
+  swap(impl, tmp.impl);
+}
+
+PPL::Linear_Expression::Linear_Expression(const Congruence& cg,
+                                          Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(cg.expression(), r);
+  using std::swap;
+  swap(impl, tmp.impl);
+}
+
+PPL::Linear_Expression::Linear_Expression(const Variable v, Representation r) {
+  switch (r) {
+  case DENSE:
+    impl = new Linear_Expression_Impl<Dense_Row>(v);
+    break;
+
+  case SPARSE:
+    impl = new Linear_Expression_Impl<Sparse_Row>(v);
+    break;
+
+  default:
+    PPL_UNREACHABLE;
+    break;
   }
+}
 
-  if (first)
-    // The null linear expression.
-    s << Coefficient_zero();
-  return s;
+void
+PPL::Linear_Expression::set_representation(Representation r) {
+  if (representation() == r)
+    return;
+  Linear_Expression tmp(*this, r);
+  swap(*this, tmp);
 }
 
 PPL_OUTPUT_DEFINITIONS(Linear_Expression)
+
+bool
+PPL::Linear_Expression::OK() const {
+  return impl->OK();
+}
diff --git a/src/Linear_Expression.defs.hh b/src/Linear_Expression.defs.hh
index a89a732..e9ad2d6 100644
--- a/src/Linear_Expression.defs.hh
+++ b/src/Linear_Expression.defs.hh
@@ -1,6 +1,6 @@
 /* Linear_Expression class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,29 +19,41 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Linear_Expression_defs_hh
 #define PPL_Linear_Expression_defs_hh 1
 
 #include "Linear_Expression.types.hh"
-#include "Scalar_Products.types.hh"
+
 #include "Constraint.types.hh"
 #include "Generator.types.hh"
-#include "Congruence.types.hh"
 #include "Grid_Generator.types.hh"
-#include "Linear_Row.defs.hh"
-#include "Coefficient.types.hh"
-#include "Variable.defs.hh"
+#include "Congruence.types.hh"
+#include "Generator.types.hh"
+#include "Constraint.types.hh"
 #include "Constraint_System.types.hh"
-#include "Generator_System.types.hh"
-#include "Congruence_System.types.hh"
-#include "Grid_Generator_System.types.hh"
+#include "Coefficient.types.hh"
 #include "Polyhedron.types.hh"
+#include "Linear_System.types.hh"
 #include "Grid.types.hh"
-#include <cstddef>
+#include "PIP_Problem.types.hh"
+#include "BHRZ03_Certificate.types.hh"
+#include "Scalar_Products.types.hh"
+#include "MIP_Problem.types.hh"
+#include "Box.types.hh"
+#include "Congruence_System.types.hh"
+#include "BD_Shape.types.hh"
+#include "Octagonal_Shape.types.hh"
+#include "termination.types.hh"
+#include "Expression_Hide_Inhomo.types.hh"
+#include "Expression_Hide_Last.types.hh"
+
+#include "Linear_Expression_Interface.defs.hh"
+#include "Variable.defs.hh"
 
 namespace Parma_Polyhedra_Library {
+
 // Put them in the namespace here to declare them friend later.
 
 //! Returns the linear expression \p e1 + \p e2.
@@ -167,18 +179,55 @@ operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
 Linear_Expression&
 operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
+//! Returns the linear expression \p n / \p e and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator/=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Assigns to \p e its own negation.
+/*! \relates Linear_Expression */
+void
+neg_assign(Linear_Expression& e);
+
 //! Returns the linear expression \p e + \p n * \p v and assigns it to \p e.
 /*! \relates Linear_Expression */
 Linear_Expression&
 add_mul_assign(Linear_Expression& e,
                Coefficient_traits::const_reference n, Variable v);
 
+//! Sums \p e2 multiplied by \p factor into \p e1.
+/*! \relates Linear_Expression */
+void add_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2);
+
+//! Subtracts \p e2 multiplied by \p factor from \p e1.
+/*! \relates Linear_Expression */
+void sub_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2);
+
 //! Returns the linear expression \p e - \p n * \p v and assigns it to \p e.
 /*! \relates Linear_Expression */
 Linear_Expression&
 sub_mul_assign(Linear_Expression& e,
                Coefficient_traits::const_reference n, Variable v);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Linear_Expression
+
+  \returns -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+           is greater. The absolute value of the result is 1 if the difference
+           is only in the inhomogeneous terms, 2 otherwise
+
+  The order is a lexicographic. It starts comparing the variables' coefficient,
+  starting from Variable(0), and at the end it compares the inhomogeneous
+  terms.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Linear_Expression& x, const Linear_Expression& y);
+
 namespace IO_Operators {
 
 //! Output operator.
@@ -189,16 +238,6 @@ std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
 
 } // namespace Parma_Polyhedra_Library
 
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-void swap(Parma_Polyhedra_Library::Linear_Expression& x,
-	  Parma_Polyhedra_Library::Linear_Expression& y);
-
-} // namespace std
-
 //! A linear expression.
 /*! \ingroup PPL_CXX_interface
   An object of the class Linear_Expression represents the linear expression
@@ -246,14 +285,81 @@ void swap(Parma_Polyhedra_Library::Linear_Expression& x,
   with space dimension zero and then extended to space dimension 3
   in the fifth line.
 */
-class Parma_Polyhedra_Library::Linear_Expression : private Linear_Row {
+class Parma_Polyhedra_Library::Linear_Expression {
 public:
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: returns a copy of Linear_Expression::zero().
-  Linear_Expression();
+  explicit Linear_Expression(Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
   Linear_Expression(const Linear_Expression& e);
 
+  //! Copy constructor that takes also a Representation.
+  Linear_Expression(const Linear_Expression& e, Representation r);
+
+  //! Copy constructor from a Expression_Hide_Inhomo.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Inhomo<Expression>& e);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a
+  //! Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    Representation r);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a space
+  //! dimension.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                             dimension_type space_dim);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a
+  //! space dimension and a Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim, Representation r);
+
+  //! Copy constructor from a Expression_Hide_Last.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Last<Expression>& e);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a
+  //! Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    Representation r);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a space
+  //! dimension.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                             dimension_type space_dim);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a
+  //! space dimension and a Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim, Representation r);
+
+  Linear_Expression& operator=(const Linear_Expression& e);
+
   //! Destructor.
   ~Linear_Expression();
 
@@ -261,7 +367,8 @@ public:
     Builds the linear expression corresponding
     to the inhomogeneous term \p n.
   */
-  explicit Linear_Expression(Coefficient_traits::const_reference n);
+  explicit Linear_Expression(Coefficient_traits::const_reference n,
+                             Representation r = default_representation);
 
   //! Builds the linear expression corresponding to the variable \p v.
   /*!
@@ -269,8 +376,9 @@ public:
     Thrown if the space dimension of \p v exceeds
     <CODE>Linear_Expression::max_space_dimension()</CODE>.
   */
-  Linear_Expression(Variable v);
+  Linear_Expression(Variable v, Representation r = default_representation);
 
+  // TODO: Consider removing this.
   //! Builds the linear expression corresponding to constraint \p c.
   /*!
     Given the constraint
@@ -280,9 +388,25 @@ public:
     If \p c is an inequality (resp., equality) constraint, then
     the built linear expression is unique up to a positive
     (resp., non-zero) factor.
+
+    The constructed Linear_Expression has the same representation as \p c.
   */
   explicit Linear_Expression(const Constraint& c);
 
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to constraint \p c.
+  /*!
+    Given the constraint
+    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
+    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+    If \p c is an inequality (resp., equality) constraint, then
+    the built linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Constraint& c, Representation r);
+
+  // TODO: Consider removing this.
   /*! \brief
     Builds the linear expression corresponding to generator \p g
     (for points and closure points, the divisor is not copied).
@@ -295,9 +419,28 @@ public:
     If \p g is a ray, point or closure point (resp., a line), then
     the linear expression is unique up to a positive
     (resp., non-zero) factor.
+
+    The constructed Linear_Expression has the same representation as \p g.
   */
   explicit Linear_Expression(const Generator& g);
 
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to generator \p g
+    (for points and closure points, the divisor is not copied).
+
+    Given the generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    (where, for lines and rays, we have \f$d = 1\f$),
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression will always be 0.
+    If \p g is a ray, point or closure point (resp., a line), then
+    the linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Generator& g, Representation r);
+
+  // TODO: Consider removing this.
   /*! \brief
     Builds the linear expression corresponding to grid generator \p g
     (for points, parameters and lines the divisor is not copied).
@@ -306,29 +449,237 @@ public:
     \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
     this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
     The inhomogeneous term of the linear expression is always 0.
+
+    The constructed Linear_Expression has the same representation as \p g.
   */
   explicit Linear_Expression(const Grid_Generator& g);
 
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to grid generator \p g
+    (for points, parameters and lines the divisor is not copied).
+
+    Given the grid generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression is always 0.
+  */
+  explicit Linear_Expression(const Grid_Generator& g, Representation r);
+
+  // TODO: Consider removing this.
   //! Builds the linear expression corresponding to congruence \p cg.
   /*!
     Given the congruence
     \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
     this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+
+    The constructed Linear_Expression has the same representation as \p cg.
   */
   explicit Linear_Expression(const Congruence& cg);
 
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to congruence \p cg.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+  */
+  explicit Linear_Expression(const Congruence& cg, Representation r);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! A const %iterator on the expression (homogeneous) coefficient that are
+  //! nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator {
+  private:
+  public:
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const Coefficient value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef Coefficient_traits::const_reference reference;
+
+    //! Constructs an invalid const_iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator();
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const const_iterator& itr);
+
+    ~const_iterator();
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const const_iterator& itr);
+
+    //! Navigates to the next nonzero coefficient.
+    /*!
+      This method takes \f$O(n)\f$ time for dense expressions, and
+      \f$O(1)\f$ time for sparse expressions.
+    */
+    const_iterator& operator++();
+
+    //! Navigates to the previous nonzero coefficient.
+    /*!
+      This method takes \f$O(n)\f$ time for dense expressions, and
+      \f$O(1)\f$ time for sparse expressions.
+    */
+    const_iterator& operator--();
+
+    //! Returns the current element.
+    reference operator*() const;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    Variable variable() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& x) const;
+
+  private:
+    //! Constructor from a const_iterator_interface*.
+    //! The new object takes ownership of the dynamic object.
+    const_iterator(Linear_Expression_Interface::const_iterator_interface* itr);
+
+    Linear_Expression_Interface::const_iterator_interface* itr;
+
+    friend class Linear_Expression;
+  };
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
   //! Returns the maximum space dimension a Linear_Expression can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  void set_space_dimension(dimension_type n);
+
   //! Returns the coefficient of \p v in \p *this.
   Coefficient_traits::const_reference coefficient(Variable v) const;
 
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  void set_coefficient(Variable v,
+                       Coefficient_traits::const_reference n);
+
   //! Returns the inhomogeneous term of \p *this.
   Coefficient_traits::const_reference inhomogeneous_term() const;
 
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  void set_inhomogeneous_term(Coefficient_traits::const_reference n);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  void linear_combine(const Linear_Expression& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! c1 and c2 are not 0.
+  void linear_combine(const Linear_Expression& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  void linear_combine_lax(const Linear_Expression& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
   //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
   bool is_zero() const;
 
@@ -356,6 +707,9 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
   PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
@@ -365,11 +719,37 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
   //! Swaps \p *this with \p y.
-  void swap(Linear_Expression& y);
+  void m_swap(Linear_Expression& y);
+
+  //! Copy constructor with a specified space dimension.
+  Linear_Expression(const Linear_Expression& e, dimension_type space_dim);
+
+  //! Copy constructor with a specified space dimension and representation.
+  Linear_Expression(const Linear_Expression& e, dimension_type space_dim,
+                    Representation r);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  bool is_equal_to(const Linear_Expression& x) const;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  void normalize();
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  void sign_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
 
 private:
   /*! \brief
@@ -378,51 +758,221 @@ private:
   */
   static const Linear_Expression* zero_p;
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
-  // The following declaration grants access to Grid_Generator::parameter.
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  friend class Parma_Polyhedra_Library::Congruence;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid;
+  Linear_Expression_Interface* impl;
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Constraint_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Constraint_System;
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression(Coefficient_traits::const_reference n).
+  */
+  Linear_Expression(dimension_type space_dim, bool,
+                    Representation r = default_representation);
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Generator_System;
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression
+    \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Congruence_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Congruence_System;
+    The constructed Linear_Expression has the same representation as \p cg.
+  */
+  Linear_Expression(const Congruence& cg, dimension_type space_dim);
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Grid_Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression
+    \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
+  */
+  Linear_Expression(const Congruence& cg, dimension_type space_dim,
+                    Representation r);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  void set(dimension_type i, Coefficient_traits::const_reference n);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the coefficient of v to n.
+  void set(Variable v, Coefficient_traits::const_reference n);
 
-  //! Copy constructor with a specified space dimension.
-  Linear_Expression(const Linear_Expression& e, dimension_type sz);
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
 
-  //! Implementation sizing constructor.
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  void exact_div_assign(Coefficient_traits::const_reference c,
+                        dimension_type start, dimension_type end);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
   /*!
-    The bool parameter is just to avoid problems with
-    the constructor Linear_Expression(Coefficient_traits::const_reference n).
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
   */
-  Linear_Expression(dimension_type sz, bool);
+  void linear_combine(const Linear_Expression& y, dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). It assumes that c1 and c2 are nonzero.
+  void linear_combine(const Linear_Expression& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  void linear_combine_lax(const Linear_Expression& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2,
+                          dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  void mul_assign(Coefficient_traits::const_reference n,
+                  dimension_type start, dimension_type end);
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
 
   /*! \brief
-    Builds the linear expression corresponding to the difference of
-    \p v and \p w.
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars,
+                         dimension_type start, dimension_type end) const;
 
-    \exception std::length_error
-    Thrown if the space dimension of \p v or the one of \p w exceed
-    <CODE>Linear_Expression::max_space_dimension()</CODE>.
+  //! Sets results to the sum of (*this)[i]*y[i], for each i.
+  void scalar_product_assign(Coefficient& result,
+                             const Linear_Expression& y) const;
+
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  void scalar_product_assign(Coefficient& result, const Linear_Expression& y,
+                             dimension_type start, dimension_type end) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i], for each i.
+  int scalar_product_sign(const Linear_Expression& y) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  int scalar_product_sign(const Linear_Expression& y,
+                          dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  bool is_equal_to(const Linear_Expression& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  bool is_equal_to(const Linear_Expression& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  bool have_a_common_variable(const Linear_Expression& x,
+                              Variable first, Variable last) const;
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
   */
-  Linear_Expression(Variable v, Variable w);
+  void negate(dimension_type first, dimension_type last);
+
+  template <typename Row>
+  friend class Linear_Expression_Impl;
+
+  // NOTE: The following classes are friends of Linear_Expression in order
+  // to access its private methods.
+  // Since they are *not* friend of Linear_Expression_Impl, they can only
+  // access its public methods so they cannot break the class invariant of
+  // Linear_Expression_Impl.
+  friend class Grid;
+  friend class Congruence;
+  friend class Polyhedron;
+  friend class PIP_Tree_Node;
+  friend class Grid_Generator;
+  friend class Generator;
+  friend class Constraint;
+  friend class Constraint_System;
+  friend class PIP_Problem;
+  friend class BHRZ03_Certificate;
+  friend class Scalar_Products;
+  friend class MIP_Problem;
+  friend class Box_Helpers;
+  friend class Congruence_System;
+  friend class BD_Shape_Helpers;
+  friend class Octagonal_Shape_Helper;
+  friend class Termination_Helpers;
+  template <typename T>
+  friend class BD_Shape;
+  template <typename T>
+  friend class Octagonal_Shape;
+  template <typename T>
+  friend class Linear_System;
+  template <typename T>
+  friend class Box;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
 
   friend Linear_Expression
   operator+(const Linear_Expression& e1, const Linear_Expression& e2);
@@ -472,6 +1022,11 @@ private:
 
   friend Linear_Expression&
   operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression&
+  operator/=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend void
+  neg_assign(Linear_Expression& e);
 
   friend Linear_Expression&
   add_mul_assign(Linear_Expression& e,
@@ -480,11 +1035,36 @@ private:
   sub_mul_assign(Linear_Expression& e,
                  Coefficient_traits::const_reference n, Variable v);
 
+  friend void
+  add_mul_assign(Linear_Expression& e1,
+                 Coefficient_traits::const_reference factor,
+                 const Linear_Expression& e2);
+  friend void
+  sub_mul_assign(Linear_Expression& e1,
+                 Coefficient_traits::const_reference factor,
+                 const Linear_Expression& e2);
+
+  friend int
+  compare(const Linear_Expression& x, const Linear_Expression& y);
+
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
   ::operator<<(std::ostream& s, const Linear_Expression& e);
 };
 
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Linear_Expression */
+void swap(Linear_Expression& x, Linear_Expression& y);
+
+//! Swaps \p x with \p y.
+/*! \relates Linear_Expression::const_iterator */
+void swap(Linear_Expression::const_iterator& x,
+          Linear_Expression::const_iterator& y);
+
+} // namespace Parma_Polyhedra_Library
+
 #include "Linear_Expression.inlines.hh"
 
 #endif // !defined(PPL_Linear_Expression_defs_hh)
diff --git a/src/Linear_Expression.inlines.hh b/src/Linear_Expression.inlines.hh
index 61cfe1d..c83b3aa 100644
--- a/src/Linear_Expression.inlines.hh
+++ b/src/Linear_Expression.inlines.hh
@@ -1,6 +1,6 @@
 /* Linear_Expression class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,78 +19,84 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Linear_Expression_inlines_hh
 #define PPL_Linear_Expression_inlines_hh 1
 
-#include "Variable.defs.hh"
-#include "Coefficient.defs.hh"
-#include <stdexcept>
+#include "Expression_Hide_Inhomo.defs.hh"
+#include "Expression_Hide_Last.defs.hh"
+
 
 namespace Parma_Polyhedra_Library {
 
-inline dimension_type
-Linear_Expression::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+inline Linear_Expression&
+Linear_Expression::operator=(const Linear_Expression& e) {
+  Linear_Expression tmp = e;
+  swap(*this, tmp);
+  return *this;
 }
 
 inline
-Linear_Expression::Linear_Expression()
-  : Linear_Row(1, Linear_Row::Flags()) {
+Linear_Expression::~Linear_Expression() {
+  delete impl;
 }
 
-inline
-Linear_Expression::Linear_Expression(dimension_type sz, bool)
-  : Linear_Row(sz, Linear_Row::Flags()) {
+inline Representation
+Linear_Expression::representation() const {
+  return impl->representation();
 }
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e)
-  : Linear_Row(e) {
+inline dimension_type
+Linear_Expression::space_dimension() const {
+  return impl->space_dimension();
 }
 
-inline
-Linear_Expression::~Linear_Expression() {
+inline void
+Linear_Expression::set_space_dimension(dimension_type n) {
+  impl->set_space_dimension(n);
 }
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e,
-				     dimension_type sz)
-  : Linear_Row(e, sz, sz) {
+inline Coefficient_traits::const_reference
+Linear_Expression::coefficient(Variable v) const {
+  return impl->coefficient(v);
 }
 
-inline
-Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
-  : Linear_Row(1, Linear_Row::Flags()) {
-  (*this)[0] = n;
+inline void
+Linear_Expression
+::set_coefficient(Variable v, Coefficient_traits::const_reference n) {
+  impl->set_coefficient(v, n);
 }
 
-inline dimension_type
-Linear_Expression::space_dimension() const {
-  return size() - 1;
+inline Coefficient_traits::const_reference
+Linear_Expression::inhomogeneous_term() const {
+  return impl->inhomogeneous_term();
 }
 
-inline Coefficient_traits::const_reference
-Linear_Expression::coefficient(Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    return Coefficient_zero();
-  return Linear_Row::coefficient(v.id());
+inline void
+Linear_Expression
+::set_inhomogeneous_term(Coefficient_traits::const_reference n) {
+  impl->set_inhomogeneous_term(n);
 }
 
-inline Coefficient_traits::const_reference
-Linear_Expression::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+inline void
+Linear_Expression::swap_space_dimensions(Variable v1, Variable v2) {
+  impl->swap_space_dimensions(v1, v2);
+}
+
+inline void
+Linear_Expression::shift_space_dimensions(Variable v, dimension_type n) {
+  impl->shift_space_dimensions(v, n);
 }
 
 inline bool
 Linear_Expression::is_zero() const {
-  return Linear_Row::is_zero();
+  return impl->is_zero();
 }
 
 inline bool
 Linear_Expression::all_homogeneous_terms_are_zero() const {
-  return Linear_Row::all_homogeneous_terms_are_zero();
+  return impl->all_homogeneous_terms_are_zero();
 }
 
 inline const Linear_Expression&
@@ -101,12 +107,12 @@ Linear_Expression::zero() {
 
 inline memory_size_type
 Linear_Expression::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+  return impl->total_memory_in_bytes();
 }
 
 inline memory_size_type
 Linear_Expression::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
 /*! \relates Linear_Expression */
@@ -118,74 +124,757 @@ operator+(const Linear_Expression& e) {
 /*! \relates Linear_Expression */
 inline Linear_Expression
 operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n + e;
+  Linear_Expression x = e;
+  x += n;
+  return x;
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
 operator+(const Linear_Expression& e, const Variable v) {
-  return v + e;
+  Linear_Expression x = e;
+  x += v;
+  return x;
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
 operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return -n + e;
+  Linear_Expression x = e;
+  x -= n;
+  return x;
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
 operator-(const Variable v, const Variable w) {
-  return Linear_Expression(v, w);
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression "
+                            "PPL::operator+(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  if (v_space_dim >= w_space_dim) {
+    Linear_Expression e(v);
+    e -= w;
+    return e;
+  } else {
+    Linear_Expression e(w.space_dimension(), true);
+    e -= w;
+    e += v;
+    return e;
+  }
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
 operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n * e;
+  Linear_Expression x = e;
+  x *= n;
+  return x;
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression&
 operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] += n;
+  *e.impl += n;
   return e;
 }
 
 /*! \relates Linear_Expression */
 inline Linear_Expression&
 operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] -= n;
+  *e.impl -= n;
   return e;
 }
 
 inline void
-Linear_Expression::swap(Linear_Expression& y) {
-  Linear_Row::swap(y);
+Linear_Expression::m_swap(Linear_Expression& y) {
+  using std::swap;
+  swap(impl, y.impl);
+}
+
+inline void
+Linear_Expression::normalize() {
+  impl->normalize();
 }
 
 inline void
 Linear_Expression::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+  impl->ascii_dump(s);
 }
 
 inline bool
 Linear_Expression::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+  return impl->ascii_load(s);
 }
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Linear_Expression::remove_space_dimensions(const Variables_Set& vars) {
+  impl->remove_space_dimensions(vars);
+}
 
+inline void
+Linear_Expression::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  impl->permute_space_dimensions(cycle);
+}
 
-namespace std {
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e1, const Linear_Expression& e2) {
+  if (e1.space_dimension() >= e2.space_dimension()) {
+    Linear_Expression e = e1;
+    e += e2;
+    return e;
+  } else {
+    Linear_Expression e = e2;
+    e += e1;
+    return e;
+  }
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Variable v, const Linear_Expression& e) {
+  return e + v;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator+(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  return e + n;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Variable v, const Variable w) {
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression "
+                            "PPL::operator+(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  if (v_space_dim >= w_space_dim) {
+    Linear_Expression e(v);
+    e += w;
+    return e;
+  } else {
+    Linear_Expression e(w);
+    e += v;
+    return e;
+  }
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e) {
+  Linear_Expression r(e);
+  neg_assign(r);
+  return r;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e1, const Linear_Expression& e2) {
+  if (e1.space_dimension() >= e2.space_dimension()) {
+    Linear_Expression e = e1;
+    e -= e2;
+    return e;
+  } else {
+    Linear_Expression e = e2;
+    neg_assign(e);
+    e += e1;
+    return e;
+  }
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Variable v, const Linear_Expression& e) {
+  Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension()));
+  result.negate(0, e.space_dimension() + 1);
+  result += v;
+  return result;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e, const Variable v) {
+  Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension()));
+  result -= v;
+  return result;
+}
 
 /*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  Linear_Expression result(e);
+  neg_assign(result);
+  result += n;
+  return result;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator*(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  return e * n;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e1, const Linear_Expression& e2) {
+  *e1.impl += *e2.impl;
+  return e1;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e, const Variable v) {
+  *e.impl += v;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e1, const Linear_Expression& e2) {
+  *e1.impl -= *e2.impl;
+  return e1;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e, const Variable v) {
+  *e.impl -= v;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator*=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl *= n;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator/=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl /= n;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline void
+neg_assign(Linear_Expression& e) {
+  e.impl->negate();
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+add_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  e.impl->add_mul_assign(n, v);
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+sub_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  e.impl->sub_mul_assign(n, v);
+  return e;
+}
+
+inline void
+add_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2) {
+  e1.impl->add_mul_assign(factor, *e2.impl);
+}
+
+inline void
+sub_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2) {
+  e1.impl->sub_mul_assign(factor, *e2.impl);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::get(dimension_type i) const {
+  return impl->get(i);
+}
+
+inline void
+Linear_Expression::set(dimension_type i,
+                       Coefficient_traits::const_reference n) {
+  impl->set(i, n);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::get(Variable v) const {
+  return impl->get(v.space_dimension());
+}
+
+inline void
+Linear_Expression::set(Variable v,
+                       Coefficient_traits::const_reference n) {
+  impl->set(v.space_dimension(), n);
+}
+
+inline bool
+Linear_Expression::all_zeroes(dimension_type start, dimension_type end) const {
+  return impl->all_zeroes(start, end);
+}
+
+inline dimension_type
+Linear_Expression::num_zeroes(dimension_type start, dimension_type end) const {
+  return impl->num_zeroes(start, end);
+}
+
+inline Coefficient
+Linear_Expression::gcd(dimension_type start, dimension_type end) const {
+  return impl->gcd(start, end);
+}
+
 inline void
-swap(Parma_Polyhedra_Library::Linear_Expression& x,
-     Parma_Polyhedra_Library::Linear_Expression& y) {
-  x.swap(y);
+Linear_Expression
+::exact_div_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  impl->exact_div_assign(c, start, end);
 }
 
-} // namespace std
+inline void
+Linear_Expression
+::mul_assign(Coefficient_traits::const_reference c,
+             dimension_type start, dimension_type end) {
+  impl->mul_assign(c, start, end);
+}
+
+inline void
+Linear_Expression::sign_normalize() {
+  impl->sign_normalize();
+}
+
+inline void
+Linear_Expression::negate(dimension_type first, dimension_type last) {
+  impl->negate(first, last);
+}
+
+inline bool
+Linear_Expression::all_zeroes(const Variables_Set& vars) const {
+  return impl->all_zeroes(vars);
+}
+
+inline bool
+Linear_Expression::all_zeroes_except(const Variables_Set& vars, dimension_type start, dimension_type end) const {
+  return impl->all_zeroes_except(vars, start, end);
+}
+
+inline dimension_type
+Linear_Expression::last_nonzero() const {
+  return impl->last_nonzero();
+}
+
+inline void
+Linear_Expression
+::scalar_product_assign(Coefficient& result, const Linear_Expression& y) const {
+  scalar_product_assign(result, y, 0, space_dimension() + 1);
+}
+
+inline void
+Linear_Expression
+::scalar_product_assign(Coefficient& result, const Linear_Expression& y,
+                        dimension_type start, dimension_type end) const {
+  impl->scalar_product_assign(result, *(y.impl), start, end);
+}
+
+inline int
+Linear_Expression
+::scalar_product_sign(const Linear_Expression& y) const {
+  return scalar_product_sign(y, 0, space_dimension() + 1);
+}
+
+inline int
+Linear_Expression
+::scalar_product_sign(const Linear_Expression& y,
+                      dimension_type start, dimension_type end) const {
+  return impl->scalar_product_sign(*(y.impl), start, end);
+}
+
+inline dimension_type
+Linear_Expression
+::first_nonzero(dimension_type first, dimension_type last) const {
+  return impl->first_nonzero(first, last);
+}
+
+inline dimension_type
+Linear_Expression
+::last_nonzero(dimension_type first, dimension_type last) const {
+  return impl->last_nonzero(first, last);
+}
+
+inline void
+Linear_Expression
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  return impl->has_a_free_dimension_helper(x);
+}
+
+inline bool
+Linear_Expression
+::is_equal_to(const Linear_Expression& x,
+              dimension_type start, dimension_type end) const {
+  return impl->is_equal_to(*(x.impl), start, end);
+}
+
+inline bool
+Linear_Expression
+::is_equal_to(const Linear_Expression& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  return impl->is_equal_to(*(x.impl), c1, c2, start, end);
+}
+
+inline void
+Linear_Expression
+::get_row(Dense_Row& row) const {
+  return impl->get_row(row);
+}
+
+inline void
+Linear_Expression
+::get_row(Sparse_Row& row) const {
+  return impl->get_row(row);
+}
+
+inline void
+Linear_Expression
+::linear_combine(const Linear_Expression& y, dimension_type i) {
+  impl->linear_combine(*y.impl, i);
+}
+
+inline void
+Linear_Expression
+::linear_combine(const Linear_Expression& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  impl->linear_combine(*y.impl, c1, c2);
+}
+
+inline void
+Linear_Expression
+::linear_combine_lax(const Linear_Expression& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  impl->linear_combine_lax(*y.impl, c1, c2);
+}
+
+inline int
+compare(const Linear_Expression& x, const Linear_Expression& y) {
+  return x.impl->compare(*y.impl);
+}
+
+inline bool
+Linear_Expression::is_equal_to(const Linear_Expression& x) const {
+  return impl->is_equal_to(*x.impl);
+}
+
+inline void
+Linear_Expression::linear_combine(const Linear_Expression& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start,
+                                  dimension_type end) {
+  impl->linear_combine(*y.impl, c1, c2, start, end);
+}
+
+inline void
+Linear_Expression::linear_combine_lax(const Linear_Expression& y,
+                                      Coefficient_traits::const_reference c1,
+                                      Coefficient_traits::const_reference c2,
+                                      dimension_type start,
+                                      dimension_type end) {
+  impl->linear_combine_lax(*y.impl, c1, c2, start, end);
+}
+
+inline bool
+Linear_Expression
+::have_a_common_variable(const Linear_Expression& x,
+                         Variable first, Variable last) const {
+  return impl->have_a_common_variable(*(x.impl), first, last);
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator()
+  : itr(NULL) {
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator(const const_iterator& x)
+  : itr(x.itr->clone()) {
+}
+
+inline
+Linear_Expression::const_iterator
+::~const_iterator() {
+  // Note that this does nothing if itr==NULL.
+  delete itr;
+}
+
+inline void
+Linear_Expression::const_iterator::m_swap(const_iterator& x) {
+  using std::swap;
+  swap(itr, x.itr);
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator=(const const_iterator& itr) {
+  const_iterator tmp = itr;
+  using std::swap;
+  swap(*this, tmp);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator++() {
+  PPL_ASSERT(itr != NULL);
+  ++(*itr);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator--() {
+  PPL_ASSERT(itr != NULL);
+  --(*itr);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator::reference
+Linear_Expression::const_iterator
+::operator*() const {
+  PPL_ASSERT(itr != NULL);
+  return *(*itr);
+}
+
+inline Variable
+Linear_Expression::const_iterator
+::variable() const {
+  PPL_ASSERT(itr != NULL);
+  return itr->variable();
+}
+
+inline bool
+Linear_Expression::const_iterator
+::operator==(const const_iterator& x) const {
+  PPL_ASSERT(itr != NULL);
+  PPL_ASSERT(x.itr != NULL);
+  return *itr == *(x.itr);
+}
+
+inline bool
+Linear_Expression::const_iterator
+::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator(Linear_Expression_Interface::const_iterator_interface* itr)
+  : itr(itr) {
+  PPL_ASSERT(itr != NULL);
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::begin() const {
+  return const_iterator(impl->begin());
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::end() const {
+  return const_iterator(impl->end());
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::lower_bound(Variable v) const {
+  return const_iterator(impl->lower_bound(v));
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e)
+  : impl(NULL) {
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e, Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim)
+  : impl(NULL) {
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim, Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e, Representation r)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(space_dim);
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim, Representation r)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(space_dim);
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+namespace IO_Operators {
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline std::ostream&
+operator<<(std::ostream& s, const Linear_Expression& e) {
+  e.impl->print(s);
+  return s;
+}
+
+} // namespace IO_Operators
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline void
+swap(Linear_Expression& x, Linear_Expression& y) {
+  x.m_swap(y);
+}
+
+/*! \relates Linear_Expression::const_iterator */
+inline void
+swap(Linear_Expression::const_iterator& x,
+     Linear_Expression::const_iterator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Linear_Expression_inlines_hh)
diff --git a/src/Linear_Expression.types.hh b/src/Linear_Expression.types.hh
index bdcbca7..e1dbd17 100644
--- a/src/Linear_Expression.types.hh
+++ b/src/Linear_Expression.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Linear_Expression_Impl.cc b/src/Linear_Expression_Impl.cc
new file mode 100644
index 0000000..97ed637
--- /dev/null
+++ b/src/Linear_Expression_Impl.cc
@@ -0,0 +1,467 @@
+/* Linear_Expression_Impl class implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Linear_Expression_Impl.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+#include "assert.hh"
+#include <iostream>
+
+namespace Parma_Polyhedra_Library {
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::OK() const {
+  return (row.size() != 0);
+}
+
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::OK() const {
+  if (row.size() == 0)
+    return false;
+  for (Sparse_Row::const_iterator i = row.begin(),
+         i_end = row.end(); i != i_end; ++i) {
+    if (*i == 0) {
+      std::cerr << "Linear_Expression_Impl<Sparse_Row>::OK() failed."
+                << " row was:\n";
+      row.ascii_dump(std::cerr);
+      // Found a stored zero.
+      return false;
+    }
+  }
+  return true;
+}
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::remove_space_dimensions(const Variables_Set& vars) {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  if (vars.empty())
+    return;
+
+  // For each variable to be removed, replace the corresponding coefficient
+  // by shifting left the coefficient to the right that will be kept.
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst_col = *vsi+1;
+  dimension_type src_col = dst_col + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_col = *vsi+1;
+    // Move all columns in between to the left.
+    while (src_col < vsi_col)
+      row.swap_coefficients(dst_col++, src_col++);
+    ++src_col;
+  }
+  // Move any remaining columns.
+  const dimension_type sz = row.size();
+  while (src_col < sz)
+    row.swap_coefficients(dst_col++, src_col++);
+
+  // The number of remaining coefficients is `dst_col'.
+  row.resize(dst_col);
+  PPL_ASSERT(OK());
+}
+
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::remove_space_dimensions(const Variables_Set& vars) {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  if (vars.empty())
+    return;
+
+  // For each variable to be removed, replace the corresponding coefficient
+  // by shifting left the coefficient to the right that will be kept.
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  Sparse_Row::iterator src = row.lower_bound(*vsi + 1);
+  const Sparse_Row::iterator& row_end = row.end();
+  dimension_type num_removed = 0;
+  while (vsi != vsi_end) {
+    // Delete the element.
+    if (src != row_end && src.index() == *vsi + 1)
+      src = row.reset(src);
+    ++num_removed;
+    ++vsi;
+    if (vsi != vsi_end) {
+      // Shift left the coefficients in [src.index(), *vsi + 1) by num_removed
+      // positions.
+      while (src != row_end && src.index() < *vsi + 1) {
+        row.fast_swap(src.index() - num_removed, src);
+        ++src;
+      }
+    } else {
+      // Shift left the coefficients in [src.index(), row.size()) by
+      // num_removed positions.
+      while (src != row_end) {
+        row.fast_swap(src.index() - num_removed, src);
+        ++src;
+      }
+    }
+  }
+
+  PPL_ASSERT(num_removed == vars.size());
+
+  row.resize(row.size() - num_removed);
+  PPL_ASSERT(OK());
+}
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::is_zero() const {
+  for (dimension_type i = row.size(); i-- > 0; )
+    if (row[i] != 0)
+      return false;
+  return true;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_homogeneous_terms_are_zero() const {
+  for (dimension_type i = 1; i < row.size(); ++i)
+    if (row[i] != 0)
+      return false;
+  return true;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_zeroes(dimension_type start,
+                                              dimension_type end) const {
+  for (dimension_type i = start; i < end; ++i)
+    if (row[i] != 0)
+      return false;
+  return true;
+}
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::num_zeroes(dimension_type start,
+                                              dimension_type end) const {
+  PPL_ASSERT(start <= end);
+  dimension_type result = 0;
+  for (dimension_type i = start; i < end; ++i)
+    if (row[i] == 0)
+      ++result;
+  return result;
+}
+
+template <>
+Coefficient
+Linear_Expression_Impl<Dense_Row>::gcd(dimension_type start,
+                                       dimension_type end) const {
+  dimension_type i;
+
+  for (i = start; i < end; ++i)
+    if (row[i] != 0)
+      break;
+
+  if (i == end)
+    return 0;
+
+  PPL_ASSERT(row[i] != 0);
+
+  Coefficient result = row[i];
+  ++i;
+
+  if (result < 0)
+    neg_assign(result);
+
+  for ( ; i < end; ++i) {
+    if (row[i] == 0)
+      continue;
+    gcd_assign(result, row[i], result);
+    if (result == 1)
+      return result;
+  }
+
+  return result;
+}
+
+template <>
+Coefficient
+Linear_Expression_Impl<Sparse_Row>::gcd(dimension_type start,
+                                        dimension_type end) const {
+  Sparse_Row::const_iterator i = row.lower_bound(start);
+  Sparse_Row::const_iterator i_end = row.lower_bound(end);
+
+  if (i == i_end)
+    return 0;
+
+  PPL_ASSERT(*i != 0);
+
+  Coefficient result = *i;
+  ++i;
+
+  if (result < 0)
+    neg_assign(result);
+
+  for ( ; i != i_end; ++i) {
+    gcd_assign(result, *i, result);
+    if (result == 1)
+      return result;
+  }
+
+  return result;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes(const Variables_Set& vars) const {
+  Variables_Set::const_iterator j = vars.begin();
+  Variables_Set::const_iterator j_end = vars.end();
+
+  for ( ; j != j_end; ++j)
+    if (row[*j + 1] != 0)
+      return false;
+
+  return true;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes(const Variables_Set& vars) const {
+  Sparse_Row::const_iterator i = row.begin();
+  Sparse_Row::const_iterator i_end = row.end();
+  Variables_Set::const_iterator j = vars.begin();
+  Variables_Set::const_iterator j_end = vars.end();
+
+  for ( ; j != j_end; ++j) {
+    i = row.lower_bound(i, *j + 1);
+    if (i == i_end)
+      break;
+    if (i.index() == *j + 1)
+      return false;
+  }
+
+  return true;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  if (start == 0) {
+    if (row[0] != 0)
+      return false;
+    ++start;
+  }
+  for (dimension_type i = start; i < end; ++i)
+    if (row[i] != 0 && vars.count(i - 1) == 0)
+      return false;
+  return true;
+}
+
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  PPL_ASSERT(start <= end);
+  if (start == end)
+    return true;
+  if (start == 0) {
+    if (row.find(0) != row.end())
+      return false;
+
+    start = 1;
+  }
+
+  PPL_ASSERT(start != 0);
+  PPL_ASSERT(start <= end);
+  for (Sparse_Row::const_iterator i = row.lower_bound(start),
+         i_end = row.lower_bound(end); i != i_end; ++i)
+    if (vars.count(i.index() - 1) == 0)
+      return false;
+
+  return true;
+}
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::last_nonzero() const {
+  for (dimension_type i = row.size(); i-- > 0; )
+    if (row[i] != 0)
+      return i;
+  return 0;
+}
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::first_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  for (dimension_type i = first; i < last; ++i)
+    if (row[i] != 0)
+      return i;
+
+  return last;
+}
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::last_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  for (dimension_type i = last; i-- > first; )
+    if (row[i] != 0)
+      return i;
+
+  return last;
+}
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  typedef std::set<dimension_type> set_t;
+  set_t result;
+  for (set_t::const_iterator i = x.begin(), i_end = x.end(); i != i_end; ++i)
+    if (row[*i] == 0)
+      result.insert(*i);
+  using std::swap;
+  swap(x, result);
+}
+
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  typedef std::set<dimension_type> set_t;
+  set_t result;
+  Sparse_Row::const_iterator itr = row.end();
+  Sparse_Row::const_iterator itr_end = row.end();
+  set_t::const_iterator i = x.begin();
+  set_t::const_iterator i_end = x.end();
+  for ( ; i != i_end; ++i) {
+    itr = row.lower_bound(itr, *i);
+    if (itr == itr_end)
+      break;
+    if (itr.index() != *i)
+      result.insert(*i);
+  }
+  for ( ; i != i_end; ++i)
+    result.insert(*i);
+  using std::swap;
+  swap(x, result);
+}
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const {
+  const dimension_type start = first.space_dimension();
+  const dimension_type end = last.space_dimension();
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= row.size());
+  PPL_ASSERT(end <= y.row.size());
+  for (dimension_type i = start; i < end; ++i)
+    if (row[i] != 0 && y.row[i] != 0)
+      return true;
+  return false;
+}
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const {
+  const dimension_type start = first.space_dimension();
+  const dimension_type end = last.space_dimension();
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= row.size());
+  PPL_ASSERT(end <= y.row.size());
+  for (Sparse_Row::const_iterator i = row.lower_bound(start),
+        i_end = row.lower_bound(end); i != i_end; ++i)
+    if (y.row[i.index()] != 0)
+      return true;
+  return false;
+}
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const {
+  return y.have_a_common_variable(*this, first, last);
+}
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const {
+  const dimension_type start = first.space_dimension();
+  const dimension_type end = last.space_dimension();
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= row.size());
+  PPL_ASSERT(end <= y.row.size());
+  Sparse_Row::const_iterator i = row.lower_bound(start);
+  Sparse_Row::const_iterator i_end = row.lower_bound(end);
+  Sparse_Row::const_iterator j = y.row.lower_bound(start);
+  Sparse_Row::const_iterator j_end = y.row.lower_bound(end);
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index())
+      return true;
+    if (i.index() < j.index())
+      ++i;
+    else
+      ++j;
+  }
+  return false;
+}
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator
+::skip_zeroes_forward() {
+  while (itr != row->end() && *itr == 0)
+    ++itr;
+}
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator
+::skip_zeroes_backward() {
+  PPL_ASSERT(itr.index() > 0);
+  while (*itr == 0) {
+    PPL_ASSERT(itr.index() > 1);
+    --itr;
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
diff --git a/src/Linear_Expression_Impl.defs.hh b/src/Linear_Expression_Impl.defs.hh
new file mode 100644
index 0000000..2ab6620
--- /dev/null
+++ b/src/Linear_Expression_Impl.defs.hh
@@ -0,0 +1,916 @@
+/* Linear_Expression_Impl class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Expression_Impl_defs_hh
+#define PPL_Linear_Expression_Impl_defs_hh 1
+
+#include "Linear_Expression_Impl.types.hh"
+#include "Congruence.types.hh"
+#include "Coefficient.defs.hh"
+#include "Variable.defs.hh"
+#include "Variables_Set.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+#include <cstddef>
+#include "Linear_Expression_Interface.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+std::ostream&
+operator<<(std::ostream& s, const Linear_Expression_Impl<Row>& e);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Expression_Impl represents the linear
+  expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
+
+  \par How to build a linear expression.
+
+  Linear expressions are the basic blocks for defining
+  both constraints (i.e., linear equalities or inequalities)
+  and generators (i.e., lines, rays, points and closure points).
+  A full set of functions is defined to provide a convenient interface
+  for building complex linear expressions starting from simpler ones
+  and from objects of the classes Variable and Coefficient:
+  available operators include unary negation,
+  binary addition and subtraction,
+  as well as multiplication by a Coefficient.
+  The space dimension of a linear expression is defined as the maximum
+  space dimension of the arguments used to build it:
+  in particular, the space dimension of a Variable <CODE>x</CODE>
+  is defined as <CODE>x.id()+1</CODE>,
+  whereas all the objects of the class Coefficient have space dimension zero.
+
+  \par Example
+  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
+  having space dimension \f$3\f$:
+  \code
+  Linear_Expression_Impl e = 4*x - 2*y - z + 14;
+  \endcode
+  Another way to build the same linear expression is:
+  \code
+  Linear_Expression_Impl e1 = 4*x;
+  Linear_Expression_Impl e2 = 2*y;
+  Linear_Expression_Impl e3 = z;
+  Linear_Expression_Impl e = Linear_Expression_Impl(14);
+  e += e1 - e2 - e3;
+  \endcode
+  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
+  respectively; also, in the fourth line of code, \p e is created
+  with space dimension zero and then extended to space dimension 3
+  in the fifth line.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+class Parma_Polyhedra_Library::Linear_Expression_Impl
+  : public Linear_Expression_Interface {
+public:
+  //! Default constructor: returns a copy of Linear_Expression_Impl::zero().
+  Linear_Expression_Impl();
+
+  //! Ordinary copy constructor.
+  Linear_Expression_Impl(const Linear_Expression_Impl& e);
+
+  //! Copy constructor for other row types.
+  template <typename Row2>
+  Linear_Expression_Impl(const Linear_Expression_Impl<Row2>& e);
+
+  //! Copy constructor from any implementation of Linear_Expression_Interface.
+  Linear_Expression_Impl(const Linear_Expression_Interface& e);
+
+  //! Destructor.
+  virtual ~Linear_Expression_Impl();
+
+  //! Checks if all the invariants are satisfied.
+  virtual bool OK() const;
+
+  /*! \brief
+    Builds the linear expression corresponding
+    to the inhomogeneous term \p n.
+  */
+  explicit Linear_Expression_Impl(Coefficient_traits::const_reference n);
+
+  //! Builds the linear expression corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Expression_Impl::max_space_dimension()</CODE>.
+  */
+  Linear_Expression_Impl(Variable v);
+
+  //! Returns the current representation of this linear expression.
+  virtual Representation representation() const;
+
+  //! An interface for const iterators on the expression (homogeneous)
+  //! coefficients that are nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator: public const_iterator_interface {
+  public:
+    explicit const_iterator(const Row& row, dimension_type i);
+
+    //! Returns a copy of *this.
+    //! This returns a pointer to dynamic-allocated memory. The caller has the
+    //! duty to free the memory when it's not needed anymore.
+    virtual const_iterator_interface* clone() const;
+
+    //! Navigates to the next nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator++();
+
+    //! Navigates to the previous nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator--();
+
+    //! Returns the current element.
+    virtual reference operator*() const;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    virtual Variable variable() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    virtual bool operator==(const const_iterator_interface& x) const;
+
+  private:
+
+    void skip_zeroes_forward();
+    void skip_zeroes_backward();
+
+    const Row* row;
+    typename Row::const_iterator itr;
+  };
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* begin() const;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* end() const;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  //! Returns (a pointer to) an iterator that points to the first nonzero
+  //! coefficient of a variable greater than or equal to v, or at end if no
+  //! such coefficient exists.
+  virtual const_iterator_interface* lower_bound(Variable v) const;
+
+  //! Returns the maximum space dimension a Linear_Expression_Impl can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  virtual dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  virtual void set_space_dimension(dimension_type n);
+
+  //! Returns the coefficient of \p v in \p *this.
+  virtual Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  virtual void set_coefficient(Variable v,
+                               Coefficient_traits::const_reference n);
+
+  //! Returns the inhomogeneous term of \p *this.
+  virtual Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  virtual void set_inhomogeneous_term(Coefficient_traits::const_reference n);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void linear_combine(const Linear_Expression_Interface& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  virtual void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  virtual void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  virtual void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  virtual void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  virtual bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  virtual bool all_homogeneous_terms_are_zero() const;
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  virtual memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
+
+  //! Writes to \p s an ASCII representation of \p *this.
+  virtual void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  virtual bool ascii_load(std::istream& s);
+
+  //! Copy constructor with a specified space dimension.
+  Linear_Expression_Impl(const Linear_Expression_Interface& e,
+                         dimension_type space_dim);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  virtual bool is_equal_to(const Linear_Expression_Interface& x) const;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  virtual void normalize();
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  virtual void sign_normalize();
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
+  */
+  virtual void negate(dimension_type first, dimension_type last);
+
+  virtual Linear_Expression_Impl&
+  operator+=(Coefficient_traits::const_reference n);
+  virtual Linear_Expression_Impl&
+  operator-=(Coefficient_traits::const_reference n);
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Impl
+
+    \returns
+    -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+    is greater. The absolute value of the result is 1 if the difference
+    is only in the inhomogeneous terms, 2 otherwise.
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  virtual int compare(const Linear_Expression_Interface& y) const;
+
+  virtual Linear_Expression_Impl&
+  operator+=(const Linear_Expression_Interface& e2);
+  virtual Linear_Expression_Impl& operator+=(const Variable v);
+  virtual Linear_Expression_Impl&
+  operator-=(const Linear_Expression_Interface& e2);
+  virtual Linear_Expression_Impl& operator-=(const Variable v);
+  virtual Linear_Expression_Impl&
+  operator*=(Coefficient_traits::const_reference n);
+  virtual Linear_Expression_Impl&
+  operator/=(Coefficient_traits::const_reference n);
+
+  virtual void negate();
+
+  virtual Linear_Expression_Impl&
+  add_mul_assign(Coefficient_traits::const_reference n, const Variable v);
+
+  virtual Linear_Expression_Impl&
+  sub_mul_assign(Coefficient_traits::const_reference n, const Variable v);
+
+  virtual void add_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2);
+
+  virtual void sub_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2);
+
+  virtual void print(std::ostream& s) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  virtual bool all_zeroes(const Variables_Set& vars) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  virtual bool have_a_common_variable(const Linear_Expression_Interface& x,
+                                      Variable first, Variable last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  virtual Coefficient_traits::const_reference get(dimension_type i) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  virtual void set(dimension_type i, Coefficient_traits::const_reference n);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  virtual bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  virtual dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  virtual Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  virtual void exact_div_assign(Coefficient_traits::const_reference c,
+                                dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  virtual void mul_assign(Coefficient_traits::const_reference n,
+                          dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, dimension_type i);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2,
+                              dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  virtual dimension_type last_nonzero() const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  virtual bool
+  all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Computes the sign of the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual int
+  scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  virtual dimension_type
+  first_nonzero(dimension_type first, dimension_type last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  virtual dimension_type
+  last_nonzero(dimension_type first, dimension_type last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  virtual void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           Coefficient_traits::const_reference c1,
+                           Coefficient_traits::const_reference c2,
+                           dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Dense_Row& row) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Sparse_Row& row) const;
+
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression_Impl(Coefficient_traits::const_reference n).
+  */
+  Linear_Expression_Impl(dimension_type space_dim, bool);
+
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    builds the linear expression \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
+  */
+  Linear_Expression_Impl(const Congruence& cg, dimension_type space_dim);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  template <typename Row2>
+  void linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x) const;
+
+  template <typename Row2>
+  Linear_Expression_Impl& operator+=(const Linear_Expression_Impl<Row2>& e2);
+  template <typename Row2>
+  Linear_Expression_Impl& operator-=(const Linear_Expression_Impl<Row2>& e2);
+
+  template <typename Row2>
+  Linear_Expression_Impl&
+  sub_mul_assign(Coefficient_traits::const_reference n,
+                 const Linear_Expression_Impl<Row2>& y,
+                 dimension_type start, dimension_type end);
+
+  template <typename Row2>
+  void add_mul_assign(Coefficient_traits::const_reference factor,
+                      const Linear_Expression_Impl<Row2>& e2);
+
+  template <typename Row2>
+  void sub_mul_assign(Coefficient_traits::const_reference factor,
+                      const Linear_Expression_Impl<Row2>& e2);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y, dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  template <typename Row2>
+  void linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2,
+                          dimension_type start, dimension_type end);
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Impl
+
+    \returns
+    -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+    is greater. The absolute value of the result is 1 if the difference
+    is only in the inhomogeneous terms, 2 otherwise.
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  template <typename Row2>
+  int compare(const Linear_Expression_Impl<Row2>& y) const;
+
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  template <typename Row2>
+  void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Impl<Row2>& y,
+                        dimension_type start, dimension_type end) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  template <typename Row2>
+  int scalar_product_sign(const Linear_Expression_Impl<Row2>& y,
+                          dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Row2>
+  bool have_a_common_variable(const Linear_Expression_Impl<Row2>& x,
+                              Variable first, Variable last) const;
+
+private:
+
+  void construct(const Linear_Expression_Interface& e);
+  void construct(const Linear_Expression_Interface& e,
+                 dimension_type space_dim);
+
+  template <typename Row2>
+  void construct(const Linear_Expression_Impl<Row2>& e);
+  template <typename Row2>
+  void construct(const Linear_Expression_Impl<Row2>& e,
+                 dimension_type space_dim);
+
+  Row row;
+
+  template <typename Row2>
+  friend class Linear_Expression_Impl;
+
+}; // class Parma_Polyhedra_Library::Linear_Expression_Impl
+
+
+namespace Parma_Polyhedra_Library {
+
+// NOTE: declaring explicit specializations.
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::OK() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::OK() const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_homogeneous_terms_are_zero() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::all_homogeneous_terms_are_zero() const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_zeroes(dimension_type start,
+                                              dimension_type end) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::all_zeroes(dimension_type start,
+                                               dimension_type end) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes(const Variables_Set& vars) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes(const Variables_Set& vars) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::first_nonzero(dimension_type first, dimension_type last) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::first_nonzero(dimension_type first, dimension_type last) const;
+
+template <>
+Coefficient
+Linear_Expression_Impl<Dense_Row>::gcd(dimension_type start,
+                                       dimension_type end) const;
+template <>
+Coefficient
+Linear_Expression_Impl<Sparse_Row>::gcd(dimension_type start,
+                                        dimension_type end) const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::is_zero() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::is_zero() const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::last_nonzero() const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>::last_nonzero() const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::last_nonzero(dimension_type first, dimension_type last) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::last_nonzero(dimension_type first, dimension_type last) const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::num_zeroes(dimension_type start,
+                                              dimension_type end) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>::num_zeroes(dimension_type start,
+                                               dimension_type end) const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::remove_space_dimensions(const Variables_Set& vars);
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::remove_space_dimensions(const Variables_Set& vars);
+
+template <>
+Representation
+Linear_Expression_Impl<Dense_Row>::representation() const;
+template <>
+Representation
+Linear_Expression_Impl<Sparse_Row>::representation() const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator::skip_zeroes_backward();
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>::const_iterator::skip_zeroes_backward();
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator::skip_zeroes_forward();
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>::const_iterator::skip_zeroes_forward();
+
+} // namespace Parma_Polyhedra_Library
+
+
+#include "Linear_Expression_Impl.inlines.hh"
+#include "Linear_Expression_Impl.templates.hh"
+
+#endif // !defined(PPL_Linear_Expression_Impl_defs_hh)
diff --git a/src/Linear_Expression_Impl.inlines.hh b/src/Linear_Expression_Impl.inlines.hh
new file mode 100644
index 0000000..fe74cdb
--- /dev/null
+++ b/src/Linear_Expression_Impl.inlines.hh
@@ -0,0 +1,282 @@
+/* Linear_Expression_Impl class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Expression_Impl_inlines_hh
+#define PPL_Linear_Expression_Impl_inlines_hh 1
+
+#include "math_utilities.defs.hh"
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+inline dimension_type
+Linear_Expression_Impl<Row>::max_space_dimension() {
+  return Row::max_size() - 1;
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>::Linear_Expression_Impl()
+  : row(1) {
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(dimension_type space_dim, bool)
+  : row(space_dim + 1) {
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>::~Linear_Expression_Impl() {
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(Coefficient_traits::const_reference n)
+  : row(1) {
+  if (n != 0)
+    row.insert(0, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline dimension_type
+Linear_Expression_Impl<Row>::space_dimension() const {
+  return row.size() - 1;
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::set_space_dimension(dimension_type n) {
+  row.resize(n + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::coefficient(Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    return Coefficient_zero();
+  return row.get(v.id() + 1);
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>
+::set_coefficient(Variable v, Coefficient_traits::const_reference n) {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  dimension_type i = v.space_dimension();
+  if (n == 0)
+    row.reset(i);
+  else
+    row.insert(i, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::inhomogeneous_term() const {
+  return row.get(0);
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>
+::set_inhomogeneous_term(Coefficient_traits::const_reference n) {
+  if (n == 0)
+    row.reset(0);
+  else
+    row.insert(0, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::swap_space_dimensions(Variable v1, Variable v2) {
+  row.swap_coefficients(v1.space_dimension(), v2.space_dimension());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::shift_space_dimensions(Variable v,
+                                                    dimension_type n) {
+  row.add_zeroes_and_shift(n, v.space_dimension());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline memory_size_type
+Linear_Expression_Impl<Row>::external_memory_in_bytes() const {
+  return row.external_memory_in_bytes();
+}
+
+template <typename Row>
+inline memory_size_type
+Linear_Expression_Impl<Row>::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+template <typename Row>
+inline Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(Coefficient_traits::const_reference n) {
+  typename Row::iterator itr = row.insert(0);
+  (*itr) += n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+inline Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(Coefficient_traits::const_reference n) {
+  typename Row::iterator itr = row.insert(0);
+  (*itr) -= n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::normalize() {
+  row.normalize();
+  PPL_ASSERT(OK());
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::is_zero() const {
+  return row.num_stored_elements() == 0;
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::all_homogeneous_terms_are_zero() const {
+  return row.lower_bound(1) == row.end();
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::all_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  return row.lower_bound(start) == row.lower_bound(end);
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>::num_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  PPL_ASSERT(start <= end);
+  return (end - start)
+    - std::distance(row.lower_bound(start), row.lower_bound(end));
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>::last_nonzero() const {
+  if (row.num_stored_elements() == 0)
+    return 0;
+  Sparse_Row::const_iterator i = row.end();
+  --i;
+  return i.index();
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::first_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  Sparse_Row::const_iterator i = row.lower_bound(first);
+
+  if (i != row.end() && i.index() < last)
+    return i.index();
+  else
+    return last;
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::last_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  Sparse_Row::const_iterator itr1 = row.lower_bound(first);
+  Sparse_Row::const_iterator itr2 = row.lower_bound(last);
+
+  if (itr1 == itr2)
+    return last;
+
+  --itr2;
+  return itr2.index();
+}
+
+template <>
+inline Representation
+Linear_Expression_Impl<Dense_Row>::representation() const {
+  return DENSE;
+}
+
+template <>
+inline Representation
+Linear_Expression_Impl<Sparse_Row>::representation() const {
+  return SPARSE;
+}
+
+template <>
+inline void
+Linear_Expression_Impl<Sparse_Row>::const_iterator
+::skip_zeroes_forward() {
+  // Nothing to do.
+}
+
+template <>
+inline void
+Linear_Expression_Impl<Sparse_Row>::const_iterator
+::skip_zeroes_backward() {
+  // Nothing to do.
+}
+
+namespace IO_Operators {
+
+template <typename Row>
+inline std::ostream&
+operator<<(std::ostream& s, const Linear_Expression_Impl<Row>& e) {
+  e.print(s);
+  return s;
+}
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Expression_Impl_inlines_hh)
diff --git a/src/Linear_Expression_Impl.templates.hh b/src/Linear_Expression_Impl.templates.hh
new file mode 100644
index 0000000..4f1da25
--- /dev/null
+++ b/src/Linear_Expression_Impl.templates.hh
@@ -0,0 +1,1265 @@
+/* Linear_Expression_Impl class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Expression_Impl_templates_hh
+#define PPL_Linear_Expression_Impl_templates_hh 1
+
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+
+#include "Constraint.defs.hh"
+#include "Generator.defs.hh"
+#include "Grid_Generator.defs.hh"
+#include "Congruence.defs.hh"
+#include <stdexcept>
+#include <iostream>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Impl& e) {
+  construct(e);
+}
+
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Impl<Row2>& e) {
+  construct(e);
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Interface& e) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&e)) {
+    construct(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&e)) {
+    construct(*p);
+  } else {
+    // Add implementations for other derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(const Linear_Expression_Interface& e,
+                         dimension_type space_dim) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&e)) {
+    construct(*p, space_dim);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&e)) {
+    construct(*p, space_dim);
+  } else {
+    // Add implementations for other derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Congruence& cg,
+                                                    dimension_type space_dim) {
+  construct(*(cg.expression().impl), space_dim);
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y, Variable i) {
+  PPL_ASSERT(space_dimension() == y.space_dimension());
+  PPL_ASSERT(i.space_dimension() <= space_dimension());
+  linear_combine(y, i.space_dimension());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y, dimension_type i) {
+  Linear_Expression_Impl& x = *this;
+  PPL_ASSERT(i < x.space_dimension() + 1);
+  PPL_ASSERT(x.space_dimension() == y.space_dimension());
+  Coefficient_traits::const_reference x_i = x.row.get(i);
+  Coefficient_traits::const_reference y_i = y.row.get(i);
+  PPL_ASSERT(x_i != 0);
+  PPL_ASSERT(y_i != 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_v);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_v);
+  normalize2(x_i, y_i, normalized_x_v, normalized_y_v);
+  neg_assign(normalized_x_v);
+  linear_combine(y, normalized_y_v, normalized_x_v);
+  // We cannot use x_i here because it may have been invalidated by
+  // linear_combine().
+  assert(x.row.get(i) == 0);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  PPL_ASSERT(c1 != 0);
+  PPL_ASSERT(c2 != 0);
+  if (space_dimension() < y.space_dimension())
+    set_space_dimension(y.space_dimension());
+  linear_combine(y, c1, c2, 0, y.space_dimension() + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  if (space_dimension() < y.space_dimension())
+    set_space_dimension(y.space_dimension());
+  linear_combine_lax(y, c1, c2, 0, y.space_dimension() + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+int
+Linear_Expression_Impl<Row>::compare(const Linear_Expression_Impl<Row2>& y) const {
+  const Linear_Expression_Impl& x = *this;
+  // Compare all the coefficients of the row starting from position 1.
+  // NOTE: x and y may be of different size.
+  typename Row::const_iterator i = x.row.lower_bound(1);
+  typename Row::const_iterator i_end = x.row.end();
+  typename Row2::const_iterator j = y.row.lower_bound(1);
+  typename Row2::const_iterator j_end = y.row.end();
+  while (i != i_end && j != j_end) {
+    if (i.index() < j.index()) {
+      int s = sgn(*i);
+      if (s != 0)
+        return 2*s;
+      ++i;
+      continue;
+    }
+    if (i.index() > j.index()) {
+      int s = sgn(*j);
+      if (s != 0)
+        return -2*s;
+      ++j;
+      continue;
+    }
+    PPL_ASSERT(i.index() == j.index());
+    int s = cmp(*i, *j);
+    if (s < 0)
+      return -2;
+    if (s > 0)
+      return 2;
+    PPL_ASSERT(s == 0);
+    ++i;
+    ++j;
+  }
+  for ( ; i != i_end; ++i) {
+    int s = sgn(*i);
+    if (s != 0)
+      return 2*s;
+  }
+  for ( ; j != j_end; ++j) {
+    int s = sgn(*j);
+    if (s != 0)
+      return -2*s;
+  }
+
+  // If all the coefficients in `x' equal all the coefficients in `y'
+  // (starting from position 1) we compare coefficients in position 0,
+  // i.e., inhomogeneous terms.
+  const int comp = cmp(x.row.get(0), y.row.get(0));
+  if (comp > 0)
+    return 1;
+  if (comp < 0)
+    return -1;
+  PPL_ASSERT(comp == 0);
+
+  // `x' and `y' are equal.
+  return 0;
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Variable v) {
+  if (v.space_dimension() > max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl::"
+                            "Linear_Expression_Impl(v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  set_space_dimension(v.space_dimension());
+  (*this) += v;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& x) const {
+  return row == x.row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::get_row(Dense_Row& row) const {
+  row = this->row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::get_row(Sparse_Row& row) const {
+  row = this->row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  const dimension_type n = cycle.size();
+  if (n < 2)
+    return;
+
+  if (n == 2) {
+    row.swap_coefficients(cycle[0].space_dimension(),
+                          cycle[1].space_dimension());
+  }
+  else {
+    PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+    tmp = row.get(cycle.back().space_dimension());
+    for (dimension_type i = n - 1; i-- > 0; )
+      row.swap_coefficients(cycle[i + 1].space_dimension(),
+                            cycle[i].space_dimension());
+    if (tmp == 0)
+      row.reset(cycle[0].space_dimension());
+    else {
+      using std::swap;
+      swap(tmp, row[cycle[0].space_dimension()]);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(const Linear_Expression_Impl<Row2>& e) {
+  linear_combine(e, Coefficient_one(), Coefficient_one());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "operator+=(e, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  typename Row::iterator itr = row.insert(v_space_dim);
+  ++(*itr);
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(const Linear_Expression_Impl<Row2>& e2) {
+  linear_combine(e2, Coefficient_one(), -1);
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "operator-=(e, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  typename Row::iterator itr = row.insert(v_space_dim);
+  --(*itr);
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator*=(Coefficient_traits::const_reference n) {
+  if (n == 0) {
+    row.clear();
+    PPL_ASSERT(OK());
+    return *this;
+  }
+  for (typename Row::iterator i = row.begin(), i_end = row.end(); i != i_end; ++i)
+    (*i) *= n;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator/=(Coefficient_traits::const_reference n) {
+  typename Row::iterator i = row.begin();
+  const typename Row::iterator& i_end = row.end();
+  while (i != i_end) {
+    (*i) /= n;
+    if (*i == 0)
+      i = row.reset(i);
+    else
+      ++i;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::negate() {
+  for (typename Row::iterator i = row.begin(), i_end = row.end(); i != i_end; ++i)
+    neg_assign(*i);
+  PPL_ASSERT(OK());
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::add_mul_assign(Coefficient_traits::const_reference n,
+                                            const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "add_mul_assign(e, n, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  if (n == 0)
+    return *this;
+  typename Row::iterator itr = row.insert(v_space_dim);
+  (*itr) += n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference n,
+                 const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "sub_mul_assign(e, n, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  if (n == 0)
+    return *this;
+  typename Row::iterator itr = row.insert(v_space_dim);
+  (*itr) -= n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::add_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Impl<Row2>& y) {
+  if (factor != 0)
+    linear_combine(y, Coefficient_one(), factor);
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Impl<Row2>& y) {
+  if (factor != 0)
+    linear_combine(y, Coefficient_one(), -factor);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::print(std::ostream& s) const {
+  PPL_DIRTY_TEMP_COEFFICIENT(ev);
+  bool first = true;
+  for (typename Row::const_iterator i = row.lower_bound(1), i_end = row.end();
+       i != i_end; ++i) {
+    ev = *i;
+    if (ev == 0)
+      continue;
+    if (!first) {
+      if (ev > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(ev);
+      }
+    }
+    else
+      first = false;
+    if (ev == -1)
+      s << "-";
+    else if (ev != 1)
+      s << ev << "*";
+    IO_Operators::operator<<(s, Variable(i.index() - 1));
+  }
+  // Inhomogeneous term.
+  PPL_DIRTY_TEMP_COEFFICIENT(it);
+  it = row[0];
+  if (it != 0) {
+    if (!first) {
+      if (it > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(it);
+      }
+    }
+    else
+      first = false;
+    s << it;
+  }
+
+  if (first)
+    // The null linear expression.
+    s << Coefficient_zero();
+}
+
+template <typename Row>
+Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::get(dimension_type i) const {
+  return row.get(i);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::set(dimension_type i, Coefficient_traits::const_reference n) {
+  if (n == 0)
+    row.reset(i);
+  else
+    row.insert(i, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::exact_div_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  // NOTE: Since all coefficients in [start,end) are multiple of c,
+  // each of the resulting coefficients will be nonzero iff the initial
+  // coefficient was.
+  for (typename Row::iterator
+    i = row.lower_bound(start), i_end = row.lower_bound(end); i != i_end; ++i)
+    Parma_Polyhedra_Library::exact_div_assign(*i, *i, c);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::mul_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  if (c == 0) {
+    typename Row::iterator i = row.lower_bound(start);
+    const typename Row::iterator& i_end = row.end();
+    while (i != i_end && i.index() < end)
+      i = row.reset(i);
+  } else {
+    for (typename Row::iterator
+      i = row.lower_bound(start), i_end = row.lower_bound(end); i != i_end; ++i)
+      (*i) *= c;
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2,
+                 dimension_type start, dimension_type end) {
+  Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2,
+                     dimension_type start, dimension_type end) {
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= row.size());
+  PPL_ASSERT(end <= y.row.size());
+  if (c1 == 0) {
+    if (c2 == 0) {
+      PPL_ASSERT(c1 == 0);
+      PPL_ASSERT(c2 == 0);
+      typename Row::iterator i = row.lower_bound(start);
+      const typename Row::iterator& i_end = row.end();
+      while (i != i_end && i.index() < end)
+        i = row.reset(i);
+    } else {
+      PPL_ASSERT(c1 == 0);
+      PPL_ASSERT(c2 != 0);
+
+      typename Row::iterator i = row.lower_bound(start);
+      const typename Row::iterator& i_end = row.end();
+      typename Row2::const_iterator j = y.row.lower_bound(start);
+      typename Row2::const_iterator j_last = y.row.lower_bound(end);
+
+      while (i != i_end && i.index() < end && j != j_last) {
+        if (i.index() < j.index()) {
+          i = row.reset(i);
+          continue;
+        }
+        if (i.index() > j.index()) {
+          i = row.insert(i, j.index(), *j);
+          (*i) *= c2;
+          ++i;
+          ++j;
+          continue;
+        }
+        PPL_ASSERT(i.index() == j.index());
+        (*i) = (*j);
+        (*i) *= c2;
+        ++i;
+        ++j;
+      }
+      while (i != i_end && i.index() < end)
+        i = row.reset(i);
+      while (j != j_last) {
+        i = row.insert(i, j.index(), *j);
+        (*i) *= c2;
+        // No need to increment i here.
+        ++j;
+      }
+    }
+  } else {
+    if (c2 == 0) {
+      PPL_ASSERT(c1 != 0);
+      PPL_ASSERT(c2 == 0);
+      for (typename Row::iterator i = row.lower_bound(start),
+                                  i_end = row.lower_bound(end);
+          i != i_end; ++i)
+        (*i) *= c1;
+    } else {
+      PPL_ASSERT(c1 != 0);
+      PPL_ASSERT(c2 != 0);
+      Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::sign_normalize() {
+  typename Row::iterator i = row.lower_bound(1);
+  typename Row::iterator i_end = row.end();
+
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      break;
+
+  if (i != i_end && *i < 0) {
+    for ( ; i != i_end; ++i)
+      neg_assign(*i);
+    // Negate the first coefficient, too.
+    typename Row::iterator i = row.begin();
+    if (i != row.end() && i.index() == 0)
+      neg_assign(*i);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::negate(dimension_type first, dimension_type last) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  typename Row::iterator i = row.lower_bound(first);
+  typename Row::iterator i_end = row.lower_bound(last);
+  for ( ; i != i_end; ++i)
+    neg_assign(*i);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Impl<Row2>& e) {
+  row = e.row;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Impl<Row2>& e,
+                                       dimension_type space_dim) {
+  Row x(e.row, space_dim + 1, space_dim + 1);
+  swap(row, x);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::scalar_product_assign(Coefficient& result, const Linear_Expression_Impl<Row2>& y,
+                        dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+  result = 0;
+  typename Row ::const_iterator x_i = x.row.lower_bound(start);
+  typename Row ::const_iterator x_end = x.row.lower_bound(end);
+  typename Row2::const_iterator y_i = y.row.lower_bound(start);
+  typename Row2::const_iterator y_end = y.row.lower_bound(end);
+  while (x_i != x_end && y_i != y_end) {
+    if (x_i.index() == y_i.index()) {
+      Parma_Polyhedra_Library::add_mul_assign(result, *x_i, *y_i);
+      ++x_i;
+      ++y_i;
+    } else {
+      if (x_i.index() < y_i.index()) {
+        PPL_ASSERT(y.row.get(x_i.index()) == 0);
+        // (*x_i) * 0 == 0, nothing to do.
+        ++x_i;
+      } else {
+        PPL_ASSERT(x.row.get(y_i.index()) == 0);
+        // 0 * (*y_i) == 0, nothing to do.
+        ++y_i;
+      }
+    }
+  }
+  // In the remaining positions (if any) at most one row is nonzero, so
+  // there's nothing left to do.
+}
+
+template <typename Row>
+template <typename Row2>
+int
+Linear_Expression_Impl<Row>
+::scalar_product_sign(const Linear_Expression_Impl<Row2>& y,
+                      dimension_type start, dimension_type end) const {
+  PPL_DIRTY_TEMP_COEFFICIENT(result);
+  scalar_product_assign(result, y, start, end);
+  return sgn(result);
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& y,
+              dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+
+  typename Row::const_iterator i = x.row.lower_bound(start);
+  typename Row::const_iterator i_end = x.row.lower_bound(end);
+  typename Row2::const_iterator j = y.row.lower_bound(start);
+  typename Row2::const_iterator j_end = y.row.lower_bound(end);
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index()) {
+      if (*i != *j)
+        return false;
+      ++i;
+      ++j;
+    } else {
+      if (i.index() < j.index()) {
+        if (*i != 0)
+          return false;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        if (*j != 0)
+          return false;
+        ++j;
+      }
+    }
+  }
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      return false;
+  for ( ; j != j_end; ++j)
+    if (*j != 0)
+      return false;
+  return true;
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& y,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+
+  // Deal with trivial cases.
+  if (c1 == 0) {
+    if (c2 == 0)
+      return true;
+    else
+      return y.all_zeroes(start, end);
+  }
+  if (c2 == 0)
+    return x.all_zeroes(start, end);
+
+  PPL_ASSERT(c1 != 0);
+  PPL_ASSERT(c2 != 0);
+  typename Row::const_iterator i = x.row.lower_bound(start);
+  typename Row::const_iterator i_end = x.row.lower_bound(end);
+  typename Row2::const_iterator j = y.row.lower_bound(start);
+  typename Row2::const_iterator j_end = y.row.lower_bound(end);
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index()) {
+      if ((*i) * c1 != (*j) * c2)
+        return false;
+      ++i;
+      ++j;
+    } else {
+      if (i.index() < j.index()) {
+        if (*i != 0)
+          return false;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        if (*j != 0)
+          return false;
+        ++j;
+      }
+    }
+  }
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      return false;
+  for ( ; j != j_end; ++j)
+    if (*j != 0)
+      return false;
+  return true;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y, Variable v) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, v);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, v);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, c1, c2);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, c1, c2);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Interface& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::operator+=(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return operator+=(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return operator+=(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return *this;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::operator-=(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return operator-=(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return operator-=(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return *this;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::add_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    add_mul_assign(factor, *p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    add_mul_assign(factor, *p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    sub_mul_assign(factor, *p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    sub_mul_assign(factor, *p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y, dimension_type i) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, i);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, i);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2,
+                 dimension_type start, dimension_type end) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Interface& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2,
+                     dimension_type start, dimension_type end) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+int
+Linear_Expression_Impl<Row>
+::compare(const Linear_Expression_Interface& y) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return compare(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return compare(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return 0;
+  }
+}
+
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return construct(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return construct(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Interface& y,
+                                       dimension_type space_dim) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return construct(*p, space_dim);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return construct(*p, space_dim);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    scalar_product_assign(result, *p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    scalar_product_assign(result, *p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+int
+Linear_Expression_Impl<Row>
+::scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return scalar_product_sign(*p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return scalar_product_sign(*p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return 0;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y,
+              dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::have_a_common_variable(const Linear_Expression_Interface& y,
+                         Variable first, Variable last) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return have_a_common_variable(*p, first, last);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return have_a_common_variable(*p, first, last);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::begin() const {
+  return new const_iterator(row, 1);
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::end() const {
+  return new const_iterator(row, row.size());
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::lower_bound(Variable v) const {
+  return new const_iterator(row, v.space_dimension());
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::const_iterator
+::const_iterator(const Row& row1, dimension_type i)
+  : row(&row1), itr(row1.lower_bound(i)) {
+  skip_zeroes_forward();
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::const_iterator
+::clone() const {
+  return new const_iterator(*this);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::const_iterator
+::operator++() {
+  ++itr;
+  skip_zeroes_forward();
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::const_iterator
+::operator--() {
+  --itr;
+  skip_zeroes_backward();
+}
+
+template <typename Row>
+typename Linear_Expression_Impl<Row>::const_iterator::reference
+Linear_Expression_Impl<Row>::const_iterator
+::operator*() const {
+  return *itr;
+}
+
+template <typename Row>
+Variable
+Linear_Expression_Impl<Row>::const_iterator
+::variable() const {
+  const dimension_type i = itr.index();
+  PPL_ASSERT(i != 0);
+  return Variable(i - 1);
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::const_iterator
+::operator==(const const_iterator_interface& x) const {
+  const const_iterator* p
+    = dynamic_cast<const const_iterator*>(&x);
+  // Comparing iterators belonging to different rows is forbidden.
+  PPL_ASSERT(p != 0);
+  PPL_ASSERT(row == p->row);
+  return itr == p->itr;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::ascii_dump(std::ostream& s) const {
+  s << "size " << (space_dimension() + 1) << " ";
+  for (dimension_type i = 0; i < row.size(); ++i) {
+    s << row.get(i);
+    if (i != row.size() - 1)
+      s << ' ';
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::ascii_load(std::istream& s) {
+  std::string str;
+
+  if (!(s >> str))
+    return false;
+  if (str != "size")
+    return false;
+
+  dimension_type new_size;
+  if (!(s >> new_size))
+    return false;
+
+  row.resize(0);
+  row.resize(new_size);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+
+  for (dimension_type j = 0; j < new_size; ++j) {
+    if (!(s >> c))
+      return false;
+    if (c != 0)
+      row.insert(j, c);
+  }
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::OK() const {
+  return row.OK();
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Expression_Impl_templates_hh)
diff --git a/src/Linear_Expression_Impl.types.hh b/src/Linear_Expression_Impl.types.hh
new file mode 100644
index 0000000..eac0f7a
--- /dev/null
+++ b/src/Linear_Expression_Impl.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Linear_Expression_Impl_types_hh
+#define PPL_Linear_Expression_Impl_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+class Linear_Expression_Impl;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Expression_Impl_types_hh)
diff --git a/src/Linear_Expression_Interface.cc b/src/Linear_Expression_Interface.cc
new file mode 100644
index 0000000..7918b69
--- /dev/null
+++ b/src/Linear_Expression_Interface.cc
@@ -0,0 +1,35 @@
+/* Linear_Expression_Interface class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+
+#include "Linear_Expression_Interface.defs.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+PPL::Linear_Expression_Interface::~Linear_Expression_Interface() {
+}
+
+PPL::Linear_Expression_Interface::const_iterator_interface
+::~const_iterator_interface() {
+}
diff --git a/src/Linear_Expression_Interface.defs.hh b/src/Linear_Expression_Interface.defs.hh
new file mode 100644
index 0000000..6739c55
--- /dev/null
+++ b/src/Linear_Expression_Interface.defs.hh
@@ -0,0 +1,489 @@
+/* Linear_Expression_Interface class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Expression_Interface_defs_hh
+#define PPL_Linear_Expression_Interface_defs_hh 1
+
+#include "Linear_Expression_Interface.types.hh"
+#include "Coefficient.defs.hh"
+#include "Variable.types.hh"
+#include "Variables_Set.types.hh"
+#include "Dense_Row.types.hh"
+#include "Sparse_Row.types.hh"
+#include <vector>
+#include <set>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of a class implementing Linear_Expression_Interface
+  represents a linear expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Linear_Expression_Interface {
+public:
+  virtual ~Linear_Expression_Interface();
+
+  virtual bool OK() const = 0;
+
+  //! Returns the current representation of this linear expression.
+  virtual Representation representation() const = 0;
+
+  //! An interface for const iterators on the expression (homogeneous)
+  //! coefficients that are nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator_interface {
+  public:
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const Coefficient value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef Coefficient_traits::const_reference reference;
+
+    //! Returns a copy of *this.
+    //! This returns a pointer to dynamic-allocated memory. The caller has the
+    //! duty to free the memory when it's not needed anymore.
+    virtual const_iterator_interface* clone() const = 0;
+
+    virtual ~const_iterator_interface();
+
+    //! Navigates to the next nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator++() = 0;
+
+    //! Navigates to the previous nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator--() = 0;
+
+    //! Returns the current element.
+    virtual reference operator*() const = 0;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    virtual Variable variable() const = 0;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    virtual bool operator==(const const_iterator_interface& x) const = 0;
+  };
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* begin() const = 0;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* end() const = 0;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  //! Returns (a pointer to) an iterator that points to the first nonzero
+  //! coefficient of a variable greater than or equal to v, or at end if no
+  //! such coefficient exists.
+  virtual const_iterator_interface* lower_bound(Variable v) const = 0;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  virtual dimension_type space_dimension() const = 0;
+
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  virtual void set_space_dimension(dimension_type n) = 0;
+
+  //! Returns the coefficient of \p v in \p *this.
+  virtual Coefficient_traits::const_reference
+  coefficient(Variable v) const = 0;
+
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  virtual void
+  set_coefficient(Variable v, Coefficient_traits::const_reference n) = 0;
+
+  //! Returns the inhomogeneous term of \p *this.
+  virtual Coefficient_traits::const_reference inhomogeneous_term() const = 0;
+
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  virtual void
+  set_inhomogeneous_term(Coefficient_traits::const_reference n) = 0;
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, Variable v) = 0;
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2) = 0;
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2) = 0;
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  virtual void swap_space_dimensions(Variable v1, Variable v2) = 0;
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  virtual void remove_space_dimensions(const Variables_Set& vars) = 0;
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  virtual void shift_space_dimensions(Variable v, dimension_type n) = 0;
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  virtual void
+  permute_space_dimensions(const std::vector<Variable>& cycle) = 0;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  virtual bool is_zero() const = 0;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  virtual bool all_homogeneous_terms_are_zero() const = 0;
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  virtual memory_size_type total_memory_in_bytes() const = 0;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const = 0;
+
+  //! Writes to \p s an ASCII representation of \p *this.
+  virtual void ascii_dump(std::ostream& s) const = 0;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  virtual bool ascii_load(std::istream& s) = 0;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  virtual bool is_equal_to(const Linear_Expression_Interface& x) const = 0;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  virtual void normalize() = 0;
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  virtual void sign_normalize() = 0;
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
+  */
+  virtual void negate(dimension_type first, dimension_type last) = 0;
+
+  virtual Linear_Expression_Interface&
+  operator+=(Coefficient_traits::const_reference n) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(Coefficient_traits::const_reference n) = 0;
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Interface
+
+    \returns -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+            is greater. The absolute value of the result is 1 if the difference
+            is only in the inhomogeneous terms, 2 otherwise
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  virtual int compare(const Linear_Expression_Interface& y) const = 0;
+
+  virtual Linear_Expression_Interface&
+  operator+=(const Linear_Expression_Interface& e2) = 0;
+  virtual Linear_Expression_Interface&
+  operator+=(const Variable v) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(const Linear_Expression_Interface& e2) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(const Variable v) = 0;
+  virtual Linear_Expression_Interface&
+  operator*=(Coefficient_traits::const_reference n) = 0;
+  virtual Linear_Expression_Interface&
+  operator/=(Coefficient_traits::const_reference n) = 0;
+
+  virtual void negate() = 0;
+
+  virtual Linear_Expression_Interface&
+  add_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0;
+
+  virtual Linear_Expression_Interface&
+  sub_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0;
+
+  virtual void add_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2) = 0;
+
+  virtual void sub_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2) = 0;
+
+  virtual void print(std::ostream& s) const = 0;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  virtual bool all_zeroes(const Variables_Set& vars) const = 0;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  virtual bool have_a_common_variable(const Linear_Expression_Interface& x,
+                                      Variable first, Variable last) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  virtual Coefficient_traits::const_reference get(dimension_type i) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  virtual void set(dimension_type i, Coefficient_traits::const_reference n) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  virtual bool all_zeroes(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  virtual dimension_type
+  num_zeroes(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  virtual Coefficient gcd(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  virtual void exact_div_assign(Coefficient_traits::const_reference c,
+                                dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  virtual void mul_assign(Coefficient_traits::const_reference n,
+                          dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, dimension_type i) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2,
+                              dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  virtual dimension_type last_nonzero() const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  virtual dimension_type
+  last_nonzero(dimension_type first, dimension_type last) const = 0;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  virtual dimension_type
+  first_nonzero(dimension_type first, dimension_type last) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  virtual bool
+  all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  virtual int
+  scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  virtual void
+  has_a_free_dimension_helper(std::set<dimension_type>& x) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           Coefficient_traits::const_reference c1,
+                           Coefficient_traits::const_reference c2,
+                           dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Dense_Row& row) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Sparse_Row& row) const = 0;
+};
+
+#endif // !defined(PPL_Linear_Expression_Interface_defs_hh)
diff --git a/src/Linear_Expression_Interface.types.hh b/src/Linear_Expression_Interface.types.hh
new file mode 100644
index 0000000..b525ae7
--- /dev/null
+++ b/src/Linear_Expression_Interface.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Linear_Expression_Interface_types_hh
+#define PPL_Linear_Expression_Interface_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Linear_Expression_Interface;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Expression_Interface_types_hh)
diff --git a/src/Linear_Form.cc b/src/Linear_Form.cc
new file mode 100644
index 0000000..68ce855
--- /dev/null
+++ b/src/Linear_Form.cc
@@ -0,0 +1,26 @@
+/* Linear_Form class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+
+#include "ppl-config.h"
+#include "Linear_Form.defs.hh"
diff --git a/src/Linear_Form.defs.hh b/src/Linear_Form.defs.hh
new file mode 100644
index 0000000..ec64ef7
--- /dev/null
+++ b/src/Linear_Form.defs.hh
@@ -0,0 +1,499 @@
+/* Linear_Form class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Form_defs_hh
+#define PPL_Linear_Form_defs_hh 1
+
+#include "Linear_Form.types.hh"
+#include "Linear_Expression.types.hh"
+#include "Variable.defs.hh"
+#include "Box.types.hh"
+#include "Float.defs.hh"
+#include <vector>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Linear_Form */
+template <typename C>
+void swap(Linear_Form<C>& x, Linear_Form<C>& y);
+
+// Put them in the namespace here to declare them friend later.
+
+//! Returns the linear form \p f1 + \p f2.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+
+//! Returns the linear form \p v + \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(Variable v, const Linear_Form<C>& f);
+
+//! Returns the linear form \p f + \p v.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f, Variable v);
+
+//! Returns the linear form \p n + \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const C& n, const Linear_Form<C>& f);
+
+//! Returns the linear form \p f + \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f);
+
+//! Returns the linear form - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f);
+
+//! Returns the linear form \p f1 - \p f2.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+
+//! Returns the linear form \p v - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(Variable v, const Linear_Form<C>& f);
+
+//! Returns the linear form \p f - \p v.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, Variable v);
+
+//! Returns the linear form \p n - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const C& n, const Linear_Form<C>& f);
+
+//! Returns the linear form \p f - \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p n * \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const C& n, const Linear_Form<C>& f);
+
+//! Returns the linear form \p f * \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p f1 + \p f2 and assigns it to \p e1.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+
+//! Returns the linear form \p f + \p v and assigns it to \p f.
+/*! \relates Linear_Form
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Form::max_space_dimension()</CODE>.
+ */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, Variable v);
+
+//! Returns the linear form \p f + \p n and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p f1 - \p f2 and assigns it to \p f1.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+
+//! Returns the linear form \p f - \p v and assigns it to \p f.
+/*! \relates Linear_Form
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Form::max_space_dimension()</CODE>.
+ */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, Variable v);
+
+//! Returns the linear form \p f - \p n and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p n * \p f and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator*=(Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p f / \p n and assigns it to \p f.
+/*!
+   \relates Linear_Form
+   Performs the division of a linear form by a scalar. It is up to the user to
+   ensure that division by 0 is not performed.
+*/
+template <typename C>
+Linear_Form<C>&
+operator/=(Linear_Form<C>& f, const C& n);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Linear_Form */
+template <typename C>
+bool
+operator==(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Linear_Form */
+template <typename C>
+bool
+operator!=(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Form */
+template <typename C>
+std::ostream& operator<<(std::ostream& s, const Linear_Form<C>& f);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! A linear form with interval coefficients.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Form represents the interval linear form
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the inhomogeneous term.
+  The coefficients and the inhomogeneous term of the linear form
+  have the template parameter \p C as their type. \p C must be the
+  type of an Interval.
+
+  \par How to build a linear form.
+  A full set of functions is defined in order to provide a convenient
+  interface for building complex linear forms starting from simpler ones
+  and from objects of the classes Variable and \p C. Available operators
+  include binary addition and subtraction, as well as multiplication and
+  division by a coefficient.
+  The space dimension of a linear form is defined as
+  the highest variable dimension among variables that have a nonzero
+  coefficient in the linear form, or zero if no such variable exists.
+  The space dimension for each variable \f$x_i\f$ is given by \f$i + 1\f$.
+
+  \par Example
+  Given the type \p T of an Interval with floating point coefficients (though
+  any integral type may also be used), the following code builds the interval
+  linear form \f$lf = x_5 - x_2 + 1\f$ with space dimension 6:
+  \code
+  Variable x5(5);
+  Variable x2(2);
+  T x5_coefficient;
+  x5_coefficient.lower() = 2.0;
+  x5_coefficient.upper() = 3.0;
+  T inhomogeneous_term;
+  inhomogeneous_term.lower() = 4.0;
+  inhomogeneous_term.upper() = 8.0;
+  Linear_Form<T> lf(x2);
+  lf = -lf;
+  lf += Linear_Form<T>(x2);
+  Linear_Form<T> lf_x5(x5);
+  lf_x5 *= x5_coefficient;
+  lf += lf_x5;
+  \endcode
+  Note that \c lf_x5 is created with space dimension 6, while \c lf is
+  created with space dimension 0 and then extended first to space
+  dimension 2 when \c x2 is subtracted and finally to space dimension
+  6 when \c lf_x5 is added.
+*/
+template <typename C>
+class Parma_Polyhedra_Library::Linear_Form {
+public:
+  //! Default constructor: returns a copy of Linear_Form::zero().
+  Linear_Form();
+
+  //! Ordinary copy constructor.
+  Linear_Form(const Linear_Form& f);
+
+  //! Destructor.
+  ~Linear_Form();
+
+  //! Builds the linear form corresponding to the inhomogeneous term \p n.
+  explicit Linear_Form(const C& n);
+
+  //! Builds the linear form corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Form::max_space_dimension()</CODE>.
+  */
+  Linear_Form(Variable v);
+
+  //! Builds a linear form approximating the linear expression \p e.
+  Linear_Form(const Linear_Expression& e);
+
+  //! Returns the maximum space dimension a Linear_Form can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  const C& coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  const C& inhomogeneous_term() const;
+
+  //! Negates all the coefficients of \p *this.
+  void negate();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Linear_Form& y);
+
+  // Floating point analysis related methods.
+
+  /*! \brief
+    Verifies if the linear form overflows.
+
+    \return
+    Returns <CODE>false</CODE> if all coefficients in \p lf are bounded,
+    <CODE>true</CODE> otherwise.
+
+    \p T must be the type of possibly unbounded quantities.
+  */
+  bool overflows() const;
+
+  /*! \brief
+    Computes the relative error associated to floating point computations
+    that operate on a quantity that is overapproximated by \p *this.
+
+    \param analyzed_format The floating point format used by the analyzed
+    program.
+    \param result Becomes the linear form corresponding to the relative
+    error committed.
+
+    This method makes <CODE>result</CODE> become a linear form
+    obtained by evaluating the function \f$\varepsilon_{\mathbf{f}}(l)\f$
+    on the linear form. This function is defined as:
+    \f[
+    \varepsilon_{\mathbf{f}}\left([a, b]+\sum_{v \in \cV}[a_{v}, b_{v}]v\right)
+    \defeq
+    (\textrm{max}(|a|, |b|) \amifp [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])
+    +
+    \sum_{v \in \cV}(\textrm{max}(|a_{v}|,|b_{v}|)
+    \amifp
+    [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])v
+    \f]
+    where p is the fraction size in bits for the format \f$\mathbf{f}\f$ and
+    \f$\beta\f$ the base.
+
+    The result is undefined if \p T is not the type of an interval with
+    floating point boundaries.
+  */
+  void relative_error(Floating_Point_Format analyzed_format,
+                      Linear_Form& result) const;
+
+  /*! \brief
+    Makes \p result become an interval that overapproximates all the
+    possible values of \p *this.
+
+    \param oracle The FP_Oracle to be queried.
+    \param result The linear form that will store the result.
+
+    \return <CODE>true</CODE> if the operation was successful,
+    <CODE>false</CODE> otherwise (the possibility of failure
+    depends on the oracle's implementation).
+
+    \par Template type parameters
+
+    - The class template parameter \p Target specifies the implementation
+    of Concrete_Expression to be used.
+
+    This method makes <CODE>result</CODE> become
+    \f$\iota(lf)\rho^{\#}\f$, that is an interval defined as:
+    \f[
+    \iota\left(i + \sum_{v \in \cV}i_{v}v\right)\rho^{\#}
+    \defeq
+    i \asifp \left(\bigoplus_{v \in \cV}{}^{\#}i_{v} \amifp
+    \rho^{\#}(v)\right)
+    \f]
+    where \f$\rho^{\#}(v)\f$ is an interval (provided by the oracle)
+    that correctly approximates the value of \f$v\f$.
+
+    The result is undefined if \p C is not the type of an interval with
+    floating point boundaries.
+  */
+  template <typename Target>
+  bool intervalize(const FP_Oracle<Target,C>& oracle, C& result) const;
+
+private:
+  //! The generic coefficient equal to the singleton zero.
+  static C zero;
+
+  //! Type of the container vector.
+  typedef std::vector<C> vec_type;
+
+  //! The container vector.
+  vec_type vec;
+
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Form(const C& n).
+  */
+  Linear_Form(dimension_type sz, bool);
+
+  /*! \brief
+    Builds the linear form corresponding to the difference of
+    \p v and \p w.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p v or the one of \p w exceed
+    <CODE>Linear_Form::max_space_dimension()</CODE>.
+  */
+  Linear_Form(Variable v, Variable w);
+
+  //! Gives the number of generic coefficients currently in use.
+  dimension_type size() const;
+
+  //! Extends the vector of \p *this to size \p sz.
+  void extend(dimension_type sz);
+
+  //! Returns a reference to \p vec[i].
+  C& operator[](dimension_type i);
+
+  //! Returns a const reference to \p vec[i].
+  const C& operator[](dimension_type i) const;
+
+  friend Linear_Form<C>
+  operator+<C>(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>
+  operator+<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator+<C>(const Linear_Form<C>& f, const C& n);
+  friend Linear_Form<C>
+  operator+<C>(Variable v, const Linear_Form<C>& f);
+
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f);
+
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>
+  operator-<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f, const C& n);
+  friend Linear_Form<C>
+  operator-<C>(Variable v, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f, Variable v);
+
+  friend Linear_Form<C>
+  operator*<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator*<C>(const Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f, Variable v);
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f, Variable v);
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator*=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator/=<C>(Linear_Form<C>& f, const C& n);
+
+  friend bool
+  operator==<C>(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<<C>(std::ostream& s, const Linear_Form<C>& f);
+};
+
+#include "Linear_Form.inlines.hh"
+// Linear_Form.templates.hh is not included here on purpose.
+
+#endif // !defined(PPL_Linear_Form_defs_hh)
diff --git a/src/Linear_Form.inlines.hh b/src/Linear_Form.inlines.hh
new file mode 100644
index 0000000..de26a74
--- /dev/null
+++ b/src/Linear_Form.inlines.hh
@@ -0,0 +1,252 @@
+/* Linear_Form class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Form_inlines_hh
+#define PPL_Linear_Form_inlines_hh 1
+
+#include "Variable.defs.hh"
+#include <iostream>
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename C>
+inline dimension_type
+Linear_Form<C>::max_space_dimension() {
+  return vec_type().max_size() - 1;
+}
+
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form()
+  : vec(1, zero) {
+  vec.reserve(compute_capacity(1, vec_type().max_size()));
+}
+
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(dimension_type sz, bool)
+  : vec(sz, zero) {
+  vec.reserve(compute_capacity(sz, vec_type().max_size()));
+}
+
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(const Linear_Form& f)
+  : vec(f.vec) {
+}
+
+template <typename C>
+inline
+Linear_Form<C>::~Linear_Form() {
+}
+
+template <typename C>
+inline dimension_type
+Linear_Form<C>::size() const {
+  return vec.size();
+}
+
+template <typename C>
+inline void
+Linear_Form<C>::extend(dimension_type sz) {
+  assert(sz > size());
+  vec.reserve(compute_capacity(sz, vec_type().max_size()));
+  vec.resize(sz, zero);
+}
+
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(const C& n)
+  : vec(1, n) {
+  vec.reserve(compute_capacity(1, vec_type().max_size()));
+}
+
+template <typename C>
+inline dimension_type
+Linear_Form<C>::space_dimension() const {
+  return size() - 1;
+}
+
+template <typename C>
+inline const C&
+Linear_Form<C>::coefficient(Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    return zero;
+  return vec[v.id()+1];
+}
+
+template <typename C>
+inline C&
+Linear_Form<C>::operator[](dimension_type i) {
+  assert(i < size());
+  return vec[i];
+}
+
+template <typename C>
+inline const C&
+Linear_Form<C>::operator[](dimension_type i) const {
+  assert(i < size());
+  return vec[i];
+}
+
+template <typename C>
+inline const C&
+Linear_Form<C>::inhomogeneous_term() const {
+  return vec[0];
+}
+
+template <typename C>
+inline memory_size_type
+Linear_Form<C>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f) {
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f, const C& n) {
+  return n + f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f, const Variable v) {
+  return v + f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator-(const Linear_Form<C>& f, const C& n) {
+  return -n + f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator-(const Variable v, const Variable w) {
+  return Linear_Form<C>(v, w);
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator*(const Linear_Form<C>& f, const C& n) {
+  return n * f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const C& n) {
+  f[0] += n;
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const C& n) {
+  f[0] -= n;
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline bool
+operator!=(const Linear_Form<C>& x, const Linear_Form<C>& y) {
+  return !(x == y);
+}
+
+template <typename C>
+inline void
+Linear_Form<C>::m_swap(Linear_Form& y) {
+  using std::swap;
+  swap(vec, y.vec);
+}
+
+template <typename C>
+inline void
+Linear_Form<C>::ascii_dump(std::ostream& s) const {
+  using namespace IO_Operators;
+  dimension_type space_dim = space_dimension();
+  s << space_dim << "\n";
+  for (dimension_type i = 0; i <= space_dim; ++i) {
+    const char separator = ' ';
+    s << vec[i] << separator;
+  }
+  s << "\n";
+}
+
+template <typename C>
+inline bool
+Linear_Form<C>::ascii_load(std::istream& s) {
+  using namespace IO_Operators;
+  dimension_type new_dim;
+  if (!(s >> new_dim))
+    return false;
+
+  vec.resize(new_dim + 1, zero);
+  for (dimension_type i = 0; i <= new_dim; ++i) {
+    if (!(s >> vec[i]))
+      return false;
+  }
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+// Floating point analysis related methods.
+template <typename C>
+inline bool
+Linear_Form<C>::overflows() const {
+  if (!inhomogeneous_term().is_bounded())
+    return true;
+
+  for (dimension_type i = space_dimension(); i-- > 0; ) {
+    if (!coefficient(Variable(i)).is_bounded())
+      return true;
+  }
+
+  return false;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline void
+swap(Linear_Form<C>& x, Linear_Form<C>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Form_inlines_hh)
diff --git a/src/Linear_Form.templates.hh b/src/Linear_Form.templates.hh
new file mode 100644
index 0000000..a05e665
--- /dev/null
+++ b/src/Linear_Form.templates.hh
@@ -0,0 +1,527 @@
+/* Linear_Form class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_Form_templates_hh
+#define PPL_Linear_Form_templates_hh 1
+
+#include "Linear_Form.defs.hh"
+#include "Linear_Expression.defs.hh"
+#include "Box.defs.hh"
+#include <stdexcept>
+#include <iostream>
+#include <cmath>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename C>
+Linear_Form<C>::Linear_Form(const Variable v)
+  : vec() {
+  const dimension_type space_dim = v.space_dimension();
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1, zero);
+  vec[v.space_dimension()] = C(typename C::boundary_type(1));
+}
+
+template <typename C>
+Linear_Form<C>::Linear_Form(const Variable v, const Variable w)
+  : vec() {
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1, zero);
+  if (v_space_dim != w_space_dim) {
+    vec[v_space_dim] = C(typename C::boundary_type(1));
+    vec[w_space_dim] = C(typename C::boundary_type(-1));
+  }
+}
+
+template <typename C>
+Linear_Form<C>::Linear_Form(const Linear_Expression& e)
+  : vec() {
+  const dimension_type space_dim = e.space_dimension();
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(e):\n"
+                            "e exceeds the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1);
+  for (dimension_type i = space_dim; i-- > 0; )
+    vec[i+1] = e.coefficient(Variable(i));
+  vec[0] = e.inhomogeneous_term();
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  dimension_type min_size;
+  dimension_type max_size;
+  const Linear_Form<C>* p_e_max;
+  if (f1_size > f2_size) {
+    min_size = f2_size;
+    max_size = f1_size;
+    p_e_max = &f1;
+  }
+  else {
+    min_size = f1_size;
+    max_size = f2_size;
+    p_e_max = &f2;
+  }
+
+  Linear_Form<C> r(max_size, false);
+  dimension_type i = max_size;
+  while (i > min_size) {
+    --i;
+    r[i] = p_e_max->vec[i];
+  }
+  while (i > 0) {
+    --i;
+    r[i] = f1[i];
+    r[i] += f2[i];
+  }
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Variable v, const Linear_Form<C>& f) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator+(v, f):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  r[v_space_dim] += C(typename C::boundary_type(1));
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  r[0] += n;
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size > f2_size) {
+    Linear_Form<C> r(f1_size, false);
+    dimension_type i = f1_size;
+    while (i > f2_size) {
+      --i;
+      r[i] = f1[i];
+    }
+    while (i > 0) {
+      --i;
+      r[i] = f1[i];
+      r[i] -= f2[i];
+    }
+    return r;
+  }
+  else {
+    Linear_Form<C> r(f2_size, false);
+    dimension_type i = f2_size;
+    while (i > f1_size) {
+      --i;
+      r[i].neg_assign(f2[i]);
+    }
+    while (i > 0) {
+      --i;
+      r[i] = f1[i];
+      r[i] -= f2[i];
+    }
+    return r;
+  }
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Variable v, const Linear_Form<C>& f) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator-(v, e):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  r[v_space_dim] += C(typename C::boundary_type(1));
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator-(e, v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  r[v_space_dim] -= C(typename C::boundary_type(1));
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  r[0] += n;
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i] *= n;
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size < f2_size)
+    f1.extend(f2_size);
+  for (dimension_type i = f2_size; i-- > 0; )
+    f1[i] += f2[i];
+  return f1;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form<C>& "
+                            "operator+=(e, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  if (v_space_dim > f.space_dimension())
+    f.extend(v_space_dim+1);
+  f[v_space_dim] += C(typename C::boundary_type(1));
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size < f2_size)
+    f1.extend(f2_size);
+  for (dimension_type i = f2_size; i-- > 0; )
+    f1[i] -= f2[i];
+  return f1;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form<C>& "
+                            "operator-=(e, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  if (v_space_dim > f.space_dimension())
+    f.extend(v_space_dim+1);
+  f[v_space_dim] -= C(typename C::boundary_type(1));
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator*=(Linear_Form<C>& f, const C& n) {
+  dimension_type f_size = f.size();
+  for (dimension_type i = f_size; i-- > 0; )
+    f[i] *= n;
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator/=(Linear_Form<C>& f, const C& n) {
+  dimension_type f_size = f.size();
+  for (dimension_type i = f_size; i-- > 0; )
+    f[i] /= n;
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+inline bool
+operator==(const Linear_Form<C>& x, const Linear_Form<C>& y) {
+  const dimension_type x_size = x.size();
+  const dimension_type y_size = y.size();
+  if (x_size >= y_size) {
+    for (dimension_type i = y_size; i-- > 0; )
+      if (x[i] != y[i])
+        return false;
+
+    for (dimension_type i = x_size; --i >= y_size; )
+      if (x[i] != x.zero)
+        return false;
+
+  }
+  else {
+    for (dimension_type i = x_size; i-- > 0; )
+      if (x[i] != y[i])
+        return false;
+
+    for (dimension_type i = y_size; --i >= x_size; )
+      if (y[i] != x.zero)
+        return false;
+
+  }
+
+  return true;
+}
+
+template <typename C>
+void
+Linear_Form<C>::negate() {
+  for (dimension_type i = vec.size(); i-- > 0; )
+    vec[i].neg_assign(vec[i]);
+  return;
+}
+
+template <typename C>
+inline memory_size_type
+Linear_Form<C>::external_memory_in_bytes() const {
+  memory_size_type n = 0;
+  for (dimension_type i = size(); i-- > 0; )
+    n += vec[i].external_memory_in_bytes();
+  n += vec.capacity()*sizeof(C);
+  return n;
+}
+
+template <typename C>
+bool
+Linear_Form<C>::OK() const {
+  for (dimension_type i = size(); i-- > 0; )
+    if (!vec[i].OK())
+      return false;
+  return true;
+}
+
+// Floating point analysis related methods.
+template <typename C>
+void
+Linear_Form<C>::relative_error(
+		const Floating_Point_Format analyzed_format,
+                Linear_Form& result) const {
+  typedef typename C::boundary_type analyzer_format;
+
+  // Get the necessary information on the analyzed's format.
+  unsigned int f_base;
+  unsigned int f_mantissa_bits;
+  switch (analyzed_format) {
+    case IEEE754_HALF:
+      f_base = float_ieee754_half::BASE;
+      f_mantissa_bits = float_ieee754_half::MANTISSA_BITS;
+      break;
+    case IEEE754_SINGLE:
+      f_base = float_ieee754_single::BASE;
+      f_mantissa_bits = float_ieee754_single::MANTISSA_BITS;
+      break;
+    case IEEE754_DOUBLE:
+      f_base = float_ieee754_double::BASE;
+      f_mantissa_bits = float_ieee754_double::MANTISSA_BITS;
+      break;
+    case IBM_SINGLE:
+      f_base = float_ibm_single::BASE;
+      f_mantissa_bits = float_ibm_single::MANTISSA_BITS;
+      break;
+    case IEEE754_QUAD:
+      f_base = float_ieee754_quad::BASE;
+      f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS;
+      break;
+    case INTEL_DOUBLE_EXTENDED:
+      f_base = float_intel_double_extended::BASE;
+      f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS;
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
+  }
+
+  C error_propagator;
+  // We assume that f_base is a power of 2.
+  unsigned int u_power = msb_position(f_base) * f_mantissa_bits;
+  int neg_power = -static_cast<int>(u_power);
+  analyzer_format lb = static_cast<analyzer_format>(ldexp(1.0, neg_power));
+
+  error_propagator.build(i_constraint(GREATER_OR_EQUAL, -lb),
+                         i_constraint(LESS_OR_EQUAL, lb));
+
+  // Handle the inhomogeneous term.
+  const C* current_term = &inhomogeneous_term();
+  assert(current_term->is_bounded());
+
+  C current_multiplier(std::max(std::abs(current_term->lower()),
+                                std::abs(current_term->upper())));
+  Linear_Form current_result_term(current_multiplier);
+  current_result_term *= error_propagator;
+  result = Linear_Form(current_result_term);
+
+  // Handle the other terms.
+  dimension_type dimension = space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    current_term = &coefficient(Variable(i));
+    assert(current_term->is_bounded());
+    current_multiplier = C(std::max(std::abs(current_term->lower()),
+                                    std::abs(current_term->upper())));
+    current_result_term = Linear_Form(Variable(i));
+    current_result_term *= current_multiplier;
+    current_result_term *= error_propagator;
+    result += current_result_term;
+  }
+
+  return;
+}
+
+template <typename C>
+template <typename Target>
+bool
+Linear_Form<C>::intervalize(const FP_Oracle<Target,C>& oracle,
+                            C& result) const {
+  result = C(inhomogeneous_term());
+  dimension_type dimension = space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    C current_addend = coefficient(Variable(i));
+    C curr_int;
+    if (!oracle.get_interval(i, curr_int))
+      return false;
+    current_addend *= curr_int;
+    result += current_addend;
+  }
+
+  return true;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Form */
+template <typename C>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const Linear_Form<C>& f) {
+  const dimension_type num_variables = f.space_dimension();
+  bool first = true;
+  for (dimension_type v = 0; v < num_variables; ++v) {
+    const C& fv = f[v+1];
+    if (fv != typename C::boundary_type(0)) {
+      if (first) {
+        if (fv == typename C::boundary_type(-1))
+          s << "-";
+        else if (fv != typename C::boundary_type(1))
+          s << fv << "*";
+        first = false;
+      }
+      else {
+        if (fv == typename C::boundary_type(-1))
+          s << " - ";
+        else {
+          s << " + ";
+          if (fv != typename C::boundary_type(1))
+            s << fv << "*";
+        }
+      }
+      s << Variable(v);
+    }
+  }
+  // Inhomogeneous term.
+  const C& it = f[0];
+  if (it != 0) {
+    if (!first)
+	s << " + ";
+    else
+      first = false;
+    s << it;
+  }
+
+  if (first)
+    // The null linear form.
+    s << Linear_Form<C>::zero;
+  return s;
+}
+
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(C, Linear_Form<C>)
+
+template <typename C>
+C Linear_Form<C>::zero(typename C::boundary_type(0));
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Form_templates_hh)
diff --git a/src/Linear_Form.types.hh b/src/Linear_Form.types.hh
new file mode 100644
index 0000000..f0200e0
--- /dev/null
+++ b/src/Linear_Form.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Linear_Form_types_hh
+#define PPL_Linear_Form_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename C>
+class Linear_Form;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_Form_types_hh)
diff --git a/src/Linear_Row.cc b/src/Linear_Row.cc
deleted file mode 100644
index 55b3531..0000000
--- a/src/Linear_Row.cc
+++ /dev/null
@@ -1,238 +0,0 @@
-/* Linear_Row class implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Linear_Row.defs.hh"
-#include "Coefficient.defs.hh"
-#include <algorithm>
-#include <iostream>
-
-namespace PPL = Parma_Polyhedra_Library;
-
-void
-PPL::Linear_Row::sign_normalize() {
-  if (is_line_or_equality()) {
-    Linear_Row& x = *this;
-    const dimension_type sz = x.size();
-    // `first_non_zero' indicates the index of the first
-    // coefficient of the row different from zero, disregarding
-    // the very first coefficient (inhomogeneous term / divisor).
-    dimension_type first_non_zero;
-    for (first_non_zero = 1; first_non_zero < sz; ++first_non_zero)
-      if (x[first_non_zero] != 0)
-	break;
-    if (first_non_zero < sz)
-      // If the first non-zero coefficient of the row is negative,
-      // we negate the entire row.
-      if (x[first_non_zero] < 0) {
-	for (dimension_type j = first_non_zero; j < sz; ++j)
-	  neg_assign(x[j]);
-	// Also negate the first coefficient.
-	neg_assign(x[0]);
-      }
-  }
-}
-
-bool
-PPL::Linear_Row::check_strong_normalized() const {
-  Linear_Row tmp = *this;
-  tmp.strong_normalize();
-  return compare(*this, tmp) == 0;
-}
-
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-int
-PPL::compare(const Linear_Row& x, const Linear_Row& y) {
-  const bool x_is_line_or_equality = x.is_line_or_equality();
-  const bool y_is_line_or_equality = y.is_line_or_equality();
-  if (x_is_line_or_equality != y_is_line_or_equality)
-    // Equalities (lines) precede inequalities (ray/point).
-    return y_is_line_or_equality ? 2 : -2;
-
-  // Compare all the coefficients of the row starting from position 1.
-  const dimension_type xsz = x.size();
-  const dimension_type ysz = y.size();
-  const dimension_type min_sz = std::min(xsz, ysz);
-  dimension_type i;
-  for (i = 1; i < min_sz; ++i)
-    if (const int comp = cmp(x[i], y[i]))
-      // There is at least a different coefficient.
-      return (comp > 0) ? 2 : -2;
-
-  // Handle the case where `x' and `y' are of different size.
-  if (xsz != ysz) {
-    for( ; i < xsz; ++i)
-      if (const int sign = sgn(x[i]))
-	return (sign > 0) ? 2 : -2;
-    for( ; i < ysz; ++i)
-      if (const int sign = sgn(y[i]))
-	return (sign < 0) ? 2 : -2;
-  }
-
-  // If all the coefficients in `x' equal all the coefficients in `y'
-  // (starting from position 1) we compare coefficients in position 0,
-  // i.e., inhomogeneous terms.
-  if (const int comp = cmp(x[0], y[0]))
-    return (comp > 0) ? 1 : -1;
-
-  // `x' and `y' are equal.
-  return 0;
-}
-
-void
-PPL::Linear_Row::linear_combine(const Linear_Row& y, const dimension_type k) {
-  Linear_Row& x = *this;
-  // We can combine only vector of the same dimension.
-  PPL_ASSERT(x.size() == y.size());
-  PPL_ASSERT(y[k] != 0 && x[k] != 0);
-  // Let g be the GCD between `x[k]' and `y[k]'.
-  // For each i the following computes
-  //   x[i] = x[i]*y[k]/g - y[i]*x[k]/g.
-  PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_k);
-  PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_k);
-  normalize2(x[k], y[k], normalized_x_k, normalized_y_k);
-  for (dimension_type i = size(); i-- > 0; )
-    if (i != k) {
-      Coefficient& x_i = x[i];
-      x_i *= normalized_y_k;
-      sub_mul_assign(x_i, y[i], normalized_x_k);
-    }
-  x[k] = 0;
-  x.strong_normalize();
-}
-
-bool
-PPL::Linear_Row::is_zero() const {
-  const Linear_Row& x = *this;
-  for (dimension_type i = x.size(); i-- > 0; )
-    if (x[i] != 0)
-      return false;
-  return true;
-}
-
-bool
-PPL::Linear_Row::all_homogeneous_terms_are_zero() const {
-  const Linear_Row& x = *this;
-  for (dimension_type i = x.size(); --i > 0; )
-    if (x[i] != 0)
-      return false;
-  return true;
-}
-
-namespace {
-
-// These are the keywords that indicate the individual assertions.
-const char* rpi_valid = "RPI_V";
-const char* is_rpi = "RPI";
-const char* nnc_valid = "NNC_V";
-const char* is_nnc = "NNC";
-const char* bit_names[] = {rpi_valid, is_rpi, nnc_valid, is_nnc};
-
-} // namespace
-
-void
-PPL::Linear_Row::Flags::ascii_dump(std::ostream& s) const {
-  s << (test_bits(1 << Flags::rpi_validity_bit) ? '+' : '-')
-    << rpi_valid << ' '
-    << (test_bits(1 << Flags::rpi_bit) ? '+' : '-')
-    << is_rpi << ' '
-    << ' '
-    << (test_bits(1 << Flags::nnc_validity_bit) ? '+' : '-')
-    << nnc_valid << ' '
-    << (test_bits(1 << Flags::nnc_bit) ? '+' : '-')
-    << is_nnc;
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Linear_Row::Flags)
-
-bool
-PPL::Linear_Row::Flags::ascii_load(std::istream& s) {
-  std::string str;
-  // Assume that the bits are used in sequence.
-  reset_bits(std::numeric_limits<base_type>::max());
-  for (unsigned int bit = 0;
-       bit < (sizeof(bit_names) / sizeof(char*));
-       ++bit) {
-    if (!(s >> str))
-      return false;
-    if (str[0] == '+')
-      set_bits(1 << (Row::Flags::first_free_bit + bit));
-    else if (str[0] != '-')
-      return false;
-    if (str.compare(1, strlen(bit_names[bit]), bit_names[bit]) != 0)
-      return false;
-  }
-  return true;
-}
-
-void
-PPL::Linear_Row::ascii_dump(std::ostream& s) const {
-  const Row& x = *this;
-  const dimension_type x_size = x.size();
-  s << "size " << x_size << " ";
-  for (dimension_type i = 0; i < x_size; ++i)
-    s << x[i] << ' ';
-  s << "f ";
-  flags().ascii_dump(s);
-  s << "\n";
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Linear_Row)
-
-bool
-PPL::Linear_Row::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "size")
-    return false;
-  dimension_type new_size;
-  if (!(s >> new_size))
-    return false;
-
-  Row& x = *this;
-  const dimension_type old_size = x.size();
-  if (new_size < old_size)
-    x.shrink(new_size);
-  else if (new_size > old_size) {
-    Row y(new_size, Row::Flags());
-    x.swap(y);
-  }
-
-  for (dimension_type col = 0; col < new_size; ++col)
-    if (!(s >> x[col]))
-      return false;
-  if (!(s >> str) || str != "f")
-    return false;
-  return flags().ascii_load(s);
-}
-
-bool
-PPL::Linear_Row::OK() const {
-  return Row::OK();
-}
-
-bool
-PPL::Linear_Row::OK(const dimension_type row_size,
-		    const dimension_type row_capacity) const {
-  return Row::OK(row_size, row_capacity);
-}
diff --git a/src/Linear_Row.defs.hh b/src/Linear_Row.defs.hh
deleted file mode 100644
index b3134f4..0000000
--- a/src/Linear_Row.defs.hh
+++ /dev/null
@@ -1,471 +0,0 @@
-/* Linear_Row class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Linear_Row_defs_hh
-#define PPL_Linear_Row_defs_hh 1
-
-#include "Linear_Row.types.hh"
-#include "globals.defs.hh"
-#include "Row.defs.hh"
-#include "Topology.hh"
-#include "Linear_Expression.types.hh"
-#include "Constraint.types.hh"
-#include "Generator.types.hh"
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for linear expressions, constraints and generators.
-/*! \ingroup PPL_CXX_interface
-  The class Linear_Row allows us to build objects of the form
-  \f$[b, a_0, \ldots, a_{d-1}]_{(t, k)}\f$,
-  i.e., a finite sequence of coefficients subscripted by a pair of flags,
-  which are both stored in a Linear_Row::Flags object.
-  The flag \f$t \in \{ \mathrm{c}, \mathrm{nnc} \}\f$ represents
-  the <EM>topology</EM> and
-  the flag \f$k \in \{\mathord{=}, \mathord{\geq} \}\f$ represents
-  the <EM>kind</EM> of the Linear_Row object.
-  Note that, even though all the four possible combinations of topology
-  and kind values will result in a legal Linear_Row::Flags object, some
-  of these pose additional constraints on the values of the Linear_Row's
-  coefficients.
-
-  When \f$t = c\f$, we have the following cases
-  (\f$d\f$ is the dimension of the vector space):
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$, with \f$b > 0\f$,
-      represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-
-  When \f$t = \mathrm{nnc}\f$, the last coefficient of the Linear_Row is
-  associated to the slack variable \f$\epsilon\f$, so that we have the
-  following cases (\f$d\f$ is again the dimension of the vector space,
-  but this time we have \f$d+2\f$ coefficients):
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$e < 0\f$, represents the strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b > 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$ and \f$e > 0\f$, represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$, represents the closure point
-      \f$\vect{c} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-
-  So, a Linear_Row can be both a constraint and a generator: it can be an
-  equality, a strict or non-strict inequality, a line, a ray, a point
-  or a closure point.
-
-  The inhomogeneous term of a constraint can be zero or different from zero.
-
-  Points and closure points must have a positive inhomogeneous term
-  (which is used as a common divisor for all the other coefficients),
-  lines and rays must have the inhomogeneous term equal to zero.
-  If needed, the coefficients of points and closure points are negated
-  at creation time so that they satisfy this invariant.
-  The invariant is maintained because, when combining a point or closure
-  point with another generator, we only consider positive combinations.
-
-  The \f$\epsilon\f$ coefficient, when present, is negative for strict
-  inequality constraints, positive for points and equal to zero in all
-  the other cases.
-  Note that the above description corresponds to the end-user, high-level
-  view of a Linear_Row object. In the implementation, to allow for code reuse,
-  it is sometimes useful to regard an \f$\mathrm{nnc}\f$-object on
-  the vector space \f$\Rset^d\f$ as if it was a \f$\mathrm{c}\f$-object
-  on the vector space \f$\Rset^{d+1}\f$, therefore interpreting the slack
-  variable \f$\epsilon\f$ as an ordinary dimension of the vector space.
-
-  A Linear_Row object implementing a Linear_Expression is always of the form
-  \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$, which represents the
-  linear expression \f$\sum_{i=0}^{d-1} a_i x_i\f$.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-class Parma_Polyhedra_Library::Linear_Row : public Row {
-public:
-  //! The possible kinds of Linear_Row objects.
-  enum Kind {
-    LINE_OR_EQUALITY = 0,
-    RAY_OR_POINT_OR_INEQUALITY = 1
-  };
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    The type of the object to which the coefficients refer to,
-    encoding both topology and kind.
-
-    \ingroup PPL_CXX_interface
-    This combines the information about the topology (necessarily closed
-    or not) and the kind (line/equality or ray/point/inequality)
-    of a Linear_Row object.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags : public Row::Flags {
-  public:
-    //! Default constructor: builds an object where all flags are invalid.
-    Flags();
-
-    //! Builds an object corresponding to the topology \p t.
-    explicit Flags(Topology t);
-
-    //! Builds an object corresponding to the topology \p t and kind \p k.
-    Flags(Topology t, Kind k);
-
-    //! \name Testing and setting the type
-    //@{
-    Topology topology() const;
-    bool is_necessarily_closed() const;
-    bool is_not_necessarily_closed() const;
-    bool is_line_or_equality() const;
-    bool is_ray_or_point_or_inequality() const;
-
-    void set_necessarily_closed();
-    void set_not_necessarily_closed();
-    void set_is_line_or_equality();
-    void set_is_ray_or_point_or_inequality();
-    //@} // Testing and setting the type
-
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
-
-    PPL_OUTPUT_DECLARATIONS
-
-    /*! \brief
-      Loads from \p s an ASCII representation (as produced by
-      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-    */
-    bool ascii_load(std::istream& s);
-
-  private:
-    //! Builds the type from a bit-mask.
-    explicit Flags(base_type mask);
-
-    //! \name The bits that are currently in use
-    //@{
-    // NB: ascii_load assumes that these are sequential.
-    static const unsigned rpi_validity_bit
-    = Row::Flags::first_free_bit + 0;
-    static const unsigned rpi_bit
-    = Row::Flags::first_free_bit + 1;
-    static const unsigned nnc_validity_bit
-    = Row::Flags::first_free_bit + 2;
-    static const unsigned nnc_bit
-    = Row::Flags::first_free_bit + 3;
-    //@}
-
-  protected:
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit
-    = Row::Flags::first_free_bit + 4;
-
-    friend class Parma_Polyhedra_Library::Linear_Row;
-  };
-
-  //! Pre-constructs a row: construction must be completed by construct().
-  Linear_Row();
-
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with type \p t, size \p sz and minimum capacity.
-  */
-  void construct(dimension_type sz, Flags f);
-
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
-
-    \param capacity
-    The minimum capacity of the row that will be constructed.
-
-    \param f
-    Flags for the row that will be constructed.
-
-    The row that we are constructing has a minimum capacity, i.e., it
-    can contain at least \p capacity elements, \p sz of which will be
-    default-constructed now. The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
-
-  //! Tight constructor: resizing will require reallocation.
-  Linear_Row(dimension_type sz, Flags f);
-
-  //! Sizing constructor with capacity.
-  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
-
-  //! Ordinary copy constructor.
-  Linear_Row(const Linear_Row& y);
-
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to \p y size.
-  */
-  Linear_Row(const Linear_Row& y, dimension_type capacity);
-
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-  */
-  Linear_Row(const Linear_Row& y, dimension_type sz, dimension_type capacity);
-
-  //! Destructor.
-  ~Linear_Row();
-
-  //! \name Flags inspection methods
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
-
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
-
-  //! Returns the topological kind of \p *this.
-  Topology topology() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is not necessarily closed.
-  */
-  bool is_not_necessarily_closed() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is necessarily closed.
-  */
-  bool is_necessarily_closed() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a line or an equality.
-  */
-  bool is_line_or_equality() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a ray, a point or an inequality.
-  */
-  bool is_ray_or_point_or_inequality() const;
-  //@} // Flags inspection methods
-
-  //! \name Flags coercion methods
-  //@{
-  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_necessarily_closed();
-
-  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_not_necessarily_closed();
-
-  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
-  void set_is_line_or_equality();
-
-  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
-  void set_is_ray_or_point_or_inequality();
-  //@} // Flags coercion methods
-
-  //! Returns the maximum space dimension a Linear_Row can handle.
-  static dimension_type max_space_dimension();
-
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
-
-  //! Returns the inhomogeneous term.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
-
-  //! Returns the coefficient \f$a_n\f$.
-  Coefficient_traits::const_reference coefficient(dimension_type n) const;
-
-  /*! \brief
-    Normalizes the sign of the coefficients so that the first non-zero
-    (homogeneous) coefficient of a line-or-equality is positive.
-  */
-  void sign_normalize();
-
-  /*! \brief
-    Strong normalization: ensures that different Linear_Row objects
-    represent different hyperplanes or hyperspaces.
-
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
-  */
-  void strong_normalize();
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the coefficients are
-    strongly normalized.
-  */
-  bool check_strong_normalized() const;
-
-  //! Linearly combines \p *this with \p y so that <CODE>*this[k]</CODE> is 0.
-  /*!
-    \param y
-    The Linear_Row that will be combined with \p *this object;
-
-    \param k
-    The position of \p *this that have to be \f$0\f$.
-
-    Computes a linear combination of \p *this and \p y having
-    the element of index \p k equal to \f$0\f$. Then it assigns
-    the resulting Linear_Row to \p *this and normalizes it.
-  */
-  void linear_combine(const Linear_Row& y, dimension_type k);
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the
-    terms of \p *this are \f$0\f$.
-  */
-  bool is_zero() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous
-    terms of \p *this are \f$0\f$.
-  */
-  bool all_homogeneous_terms_are_zero() const;
-
-  PPL_OUTPUT_DECLARATIONS
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-  /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
-  */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
-
-private:
-  friend class Parma_Polyhedra_Library::Linear_Expression;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
-};
-
-namespace Parma_Polyhedra_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Linear_Row */
-bool operator==(const Linear_Row& x, const Linear_Row& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Linear_Row */
-bool operator!=(const Linear_Row& x, const Linear_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The basic comparison function.
-/*! \relates Linear_Row
-  \return
-  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
-
-  \param x
-  A row of coefficients;
-
-  \param y
-  Another row.
-
-  Compares \p x and \p y, where \p x and \p y may be of different size,
-  in which case the "missing" coefficients are assumed to be zero.
-  The comparison is such that:
-  -# equalities are smaller than inequalities;
-  -# lines are smaller than points and rays;
-  -# the ordering is lexicographic;
-  -# the positions compared are, in decreasing order of significance,
-     1, 2, ..., \p size(), 0;
-  -# the result is negative, zero, or positive if x is smaller than,
-     equal to, or greater than y, respectively;
-  -# when \p x and \p y are different, the absolute value of the
-     result is 1 if the difference is due to the coefficient in
-     position 0; it is 2 otherwise.
-
-  When \p x and \p y represent the hyper-planes associated
-  to two equality or inequality constraints, the coefficient
-  at 0 is the known term.
-  In this case, the return value can be characterized as follows:
-  - -2, if \p x is smaller than \p y and they are \e not parallel;
-  - -1, if \p x is smaller than \p y and they \e are parallel;
-  -  0, if \p x and y are equal;
-  - +1, if \p y is smaller than \p x and they \e are parallel;
-  - +2, if \p y is smaller than \p x and they are \e not parallel.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-int compare(const Linear_Row& x, const Linear_Row& y);
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_Row& x,
-	  Parma_Polyhedra_Library::Linear_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y);
-
-} // namespace std
-
-#include "Linear_Row.inlines.hh"
-
-#endif // !defined(PPL_Linear_Row_defs_hh)
diff --git a/src/Linear_Row.inlines.hh b/src/Linear_Row.inlines.hh
deleted file mode 100644
index aa440a5..0000000
--- a/src/Linear_Row.inlines.hh
+++ /dev/null
@@ -1,291 +0,0 @@
-/* Linear_Row class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Linear_Row_inlines_hh
-#define PPL_Linear_Row_inlines_hh 1
-
-#include "globals.defs.hh"
-#include "assert.hh"
-#include <algorithm>
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Linear_Row::Flags::Flags()
-  : Row::Flags() {
-  // Note that the constructed type has its validity bit unset.
-}
-
-inline
-Linear_Row::Flags::Flags(const Topology t)
-  : Row::Flags(t << nnc_bit) {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-}
-
-inline
-Linear_Row::Flags::Flags(const Topology t, const Kind k)
-  : Row::Flags((k << rpi_bit) | (t << nnc_bit)) {
-#ifndef NDEBUG
-  set_bits((1 << rpi_validity_bit)
-	   | (1 << nnc_validity_bit));
-#endif
-}
-
-inline bool
-Linear_Row::Flags::is_ray_or_point_or_inequality() const {
-  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
-  return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
-
-inline void
-Linear_Row::Flags::set_is_ray_or_point_or_inequality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  set_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
-
-inline bool
-Linear_Row::Flags::is_line_or_equality() const {
-  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
-  return !is_ray_or_point_or_inequality();
-}
-
-inline void
-Linear_Row::Flags::set_is_line_or_equality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  reset_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
-
-inline bool
-Linear_Row::Flags::is_not_necessarily_closed() const {
-  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
-  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
-
-inline bool
-Linear_Row::Flags::is_necessarily_closed() const {
-  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
-  return !is_not_necessarily_closed();
-}
-
-inline void
-Linear_Row::Flags::set_not_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  set_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
-
-inline void
-Linear_Row::Flags::set_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  reset_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
-
-inline Topology
-Linear_Row::Flags::topology() const {
-  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
-}
-
-inline bool
-Linear_Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
-}
-
-inline bool
-Linear_Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
-}
-
-inline const Linear_Row::Flags&
-Linear_Row::flags() const {
-  return static_cast<const Flags&>(Row::flags());
-}
-
-inline Linear_Row::Flags&
-Linear_Row::flags() {
-  return static_cast<Flags&>(Row::flags());
-}
-
-inline bool
-Linear_Row::is_necessarily_closed() const {
-  return flags().is_necessarily_closed();
-}
-
-inline dimension_type
-Linear_Row::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term or the divisor.
-  // In NNC rows, the last coefficient is for the epsilon dimension.
-  return max_size() - 2;
-}
-
-inline dimension_type
-Linear_Row::space_dimension() const {
-  const dimension_type sz = size();
-  return (sz == 0)
-    ? 0
-    : sz - (is_necessarily_closed() ? 1 : 2);
-}
-
-inline
-Linear_Row::Linear_Row()
-  : Row() {
-}
-
-inline void
-Linear_Row::construct(const dimension_type sz, const dimension_type capacity,
-		      const Flags f) {
-  Row::construct(sz, capacity, f);
-}
-
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const dimension_type capacity,
-		       const Flags f) {
-  construct(sz, capacity, f);
-}
-
-inline void
-Linear_Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
-}
-
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
-  construct(sz, f);
-}
-
-inline
-Linear_Row::Linear_Row(const Linear_Row& y)
-  : Row(y) {
-}
-
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type capacity)
-  : Row(y, capacity) {
-}
-
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type sz, const dimension_type capacity)
-  : Row(y, sz, capacity) {
-}
-
-inline
-Linear_Row::~Linear_Row() {
-}
-
-inline bool
-Linear_Row::is_line_or_equality() const {
-  return flags().is_line_or_equality();
-}
-
-inline bool
-Linear_Row::is_ray_or_point_or_inequality() const {
-  return flags().is_ray_or_point_or_inequality();
-}
-
-inline Topology
-Linear_Row::topology() const {
-  return flags().topology();
-}
-
-inline void
-Linear_Row::set_is_line_or_equality() {
-  flags().set_is_line_or_equality();
-}
-
-inline void
-Linear_Row::set_is_ray_or_point_or_inequality() {
-  flags().set_is_ray_or_point_or_inequality();
-}
-
-inline void
-Linear_Row::set_necessarily_closed() {
-  flags().set_necessarily_closed();
-}
-
-inline void
-Linear_Row::set_not_necessarily_closed() {
-  flags().set_not_necessarily_closed();
-}
-
-inline Coefficient_traits::const_reference
-Linear_Row::inhomogeneous_term() const {
-  return (*this)[0];
-}
-
-inline Coefficient_traits::const_reference
-Linear_Row::coefficient(const dimension_type k) const {
-  return (*this)[k+1];
-}
-
-inline void
-Linear_Row::strong_normalize() {
-  normalize();
-  sign_normalize();
-}
-
-/*! \relates Linear_Row */
-inline bool
-operator==(const Linear_Row& x, const Linear_Row& y) {
-  return x.flags() == y.flags()
-    && static_cast<const Row&>(x) == static_cast<const Row&>(y);
-}
-
-/*! \relates Linear_Row */
-inline bool
-operator!=(const Linear_Row& x, const Linear_Row& y) {
-  return !(x == y);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Row& x,
-     Parma_Polyhedra_Library::Linear_Row& y) {
-  x.swap(y);
-}
-
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y) {
-  swap(*x, *y);
-}
-
-} // namespace std
-
-#endif // !defined(PPL_Linear_Row_inlines_hh)
diff --git a/src/Linear_Row.types.hh b/src/Linear_Row.types.hh
deleted file mode 100644
index f5fb2f7..0000000
--- a/src/Linear_Row.types.hh
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PPL_Linear_Row_types_hh
-#define PPL_Linear_Row_types_hh 1
-
-namespace Parma_Polyhedra_Library {
-
-class Linear_Row;
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Linear_Row_types_hh)
diff --git a/src/Linear_System.cc b/src/Linear_System.cc
deleted file mode 100644
index 70238b9..0000000
--- a/src/Linear_System.cc
+++ /dev/null
@@ -1,935 +0,0 @@
-/* Linear_System class implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Linear_System.defs.hh"
-#include "Coefficient.defs.hh"
-#include "Row.defs.hh"
-#include "Bit_Matrix.defs.hh"
-#include "Scalar_Products.defs.hh"
-#include <algorithm>
-#include <iostream>
-#include <string>
-#include <deque>
-
-#include "swapping_sort.icc"
-
-namespace PPL = Parma_Polyhedra_Library;
-
-PPL::dimension_type
-PPL::Linear_System::num_lines_or_equalities() const {
-  PPL_ASSERT(num_pending_rows() == 0);
-  const Linear_System& x = *this;
-  dimension_type n = 0;
-  for (dimension_type i = num_rows(); i-- > 0; )
-    if (x[i].is_line_or_equality())
-      ++n;
-  return n;
-}
-
-void
-PPL::Linear_System::merge_rows_assign(const Linear_System& y) {
-  PPL_ASSERT(row_size >= y.row_size);
-  // Both systems have to be sorted and have no pending rows.
-  PPL_ASSERT(check_sorted() && y.check_sorted());
-  PPL_ASSERT(num_pending_rows() == 0 && y.num_pending_rows() == 0);
-
-  Linear_System& x = *this;
-
-  // A temporary vector of rows...
-  std::vector<Row> tmp;
-  // ... with enough capacity not to require any reallocations.
-  tmp.reserve(compute_capacity(x.num_rows() + y.num_rows(), max_num_rows()));
-
-  dimension_type xi = 0;
-  dimension_type x_num_rows = x.num_rows();
-  dimension_type yi = 0;
-  dimension_type y_num_rows = y.num_rows();
-
-  while (xi < x_num_rows && yi < y_num_rows) {
-    const int comp = compare(x[xi], y[yi]);
-    if (comp <= 0) {
-      // Elements that can be taken from `x' are actually _stolen_ from `x'
-      std::swap(x[xi++], *tmp.insert(tmp.end(), Linear_Row()));
-      if (comp == 0)
-	// A duplicate element.
-	++yi;
-    }
-    else {
-      // (comp > 0)
-      Linear_Row copy(y[yi++], row_size, row_capacity);
-      std::swap(copy, *tmp.insert(tmp.end(), Linear_Row()));
-    }
-  }
-  // Insert what is left.
-  if (xi < x_num_rows)
-    while (xi < x_num_rows)
-      std::swap(x[xi++], *tmp.insert(tmp.end(), Linear_Row()));
-  else
-    while (yi < y_num_rows) {
-      Linear_Row copy(y[yi++], row_size, row_capacity);
-      std::swap(copy, *tmp.insert(tmp.end(), Linear_Row()));
-    }
-
-  // We get the result vector and let the old one be destroyed.
-  std::swap(tmp, rows);
-  // There are no pending rows.
-  unset_pending_rows();
-  PPL_ASSERT(check_sorted());
-}
-
-void
-PPL::Linear_System::set_rows_topology() {
-  Linear_System& x = *this;
-  if (is_necessarily_closed())
-    for (dimension_type i = num_rows(); i-- > 0; )
-      x[i].set_necessarily_closed();
-  else
-    for (dimension_type i = num_rows(); i-- > 0; )
-      x[i].set_not_necessarily_closed();
-}
-
-void
-PPL::Linear_System::ascii_dump(std::ostream& s) const {
-  // Prints the topology, the number of rows, the number of columns
-  // and the sorted flag.  The specialized methods provided by
-  // Constraint_System and Generator_System take care of properly
-  // printing the contents of the system.
-  const Linear_System& x = *this;
-  dimension_type x_num_rows = x.num_rows();
-  dimension_type x_num_columns = x.num_columns();
-  s << "topology " << (is_necessarily_closed()
-		       ? "NECESSARILY_CLOSED"
-		       : "NOT_NECESSARILY_CLOSED")
-    << "\n"
-    << x_num_rows << " x " << x_num_columns
-    << (x.sorted ? "(sorted)" : "(not_sorted)")
-    << "\n"
-    << "index_first_pending " << x.first_pending_row()
-    << "\n";
-  for (dimension_type i = 0; i < x_num_rows; ++i)
-    x[i].ascii_dump(s);
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Linear_System)
-
-bool
-PPL::Linear_System::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "topology")
-    return false;
-  if (!(s >> str))
-    return false;
-  if (str == "NECESSARILY_CLOSED")
-    set_necessarily_closed();
-  else {
-    if (str != "NOT_NECESSARILY_CLOSED")
-      return false;
-    set_not_necessarily_closed();
-  }
-
-  dimension_type nrows;
-  dimension_type ncols;
-  if (!(s >> nrows))
-    return false;
-  if (!(s >> str) || str != "x")
-    return false;
-  if (!(s >> ncols))
-    return false;
-  resize_no_copy(nrows, ncols);
-
-  if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)"))
-    return false;
-  set_sorted(str == "(sorted)");
-  dimension_type index;
-  if (!(s >> str) || str != "index_first_pending")
-    return false;
-  if (!(s >> index))
-    return false;
-  set_index_first_pending_row(index);
-
-  Linear_System& x = *this;
-  for (dimension_type row = 0; row < nrows; ++row)
-    if (!x[row].ascii_load(s))
-      return false;
-
-  // Check invariants.
-  PPL_ASSERT(OK(true));
-  return true;
-}
-
-void
-PPL::Linear_System::insert(const Linear_Row& r) {
-  // The added row must be strongly normalized and have the same
-  // topology of the system.
-  PPL_ASSERT(r.check_strong_normalized());
-  PPL_ASSERT(topology() == r.topology());
-  // This method is only used when the system has no pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
-
-  const dimension_type old_num_rows = num_rows();
-  const dimension_type old_num_columns = num_columns();
-  const dimension_type r_size = r.size();
-
-  // Resize the system, if necessary.
-  if (r_size > old_num_columns) {
-    add_zero_columns(r_size - old_num_columns);
-    if (!is_necessarily_closed() && old_num_rows != 0)
-      // Move the epsilon coefficients to the last column
-      // (note: sorting is preserved).
-      swap_columns(old_num_columns - 1, r_size - 1);
-    add_row(r);
-  }
-  else if (r_size < old_num_columns) {
-    // Create a resized copy of the row.
-    Linear_Row tmp_row(r, old_num_columns, row_capacity);
-    // If needed, move the epsilon coefficient to the last position.
-    if (!is_necessarily_closed())
-      std::swap(tmp_row[r_size - 1], tmp_row[old_num_columns - 1]);
-    add_row(tmp_row);
-  }
-  else
-    // Here r_size == old_num_columns.
-    add_row(r);
-
-  // The added row was not a pending row.
-  PPL_ASSERT(num_pending_rows() == 0);
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::insert_pending(const Linear_Row& r) {
-  // The added row must be strongly normalized and have the same
-  // topology of the system.
-  PPL_ASSERT(r.check_strong_normalized());
-  PPL_ASSERT(topology() == r.topology());
-
-  const dimension_type old_num_rows = num_rows();
-  const dimension_type old_num_columns = num_columns();
-  const dimension_type r_size = r.size();
-
-  // Resize the system, if necessary.
-  if (r_size > old_num_columns) {
-    add_zero_columns(r_size - old_num_columns);
-    if (!is_necessarily_closed() && old_num_rows != 0)
-      // Move the epsilon coefficients to the last column
-      // (note: sorting is preserved).
-      swap_columns(old_num_columns - 1, r_size - 1);
-    add_pending_row(r);
-  }
-  else if (r_size < old_num_columns)
-    if (is_necessarily_closed() || old_num_rows == 0)
-      add_pending_row(Linear_Row(r, old_num_columns, row_capacity));
-    else {
-      // Create a resized copy of the row (and move the epsilon
-      // coefficient to its last position).
-      Linear_Row tmp_row(r, old_num_columns, row_capacity);
-      std::swap(tmp_row[r_size - 1], tmp_row[old_num_columns - 1]);
-      add_pending_row(tmp_row);
-    }
-  else
-    // Here r_size == old_num_columns.
-    add_pending_row(r);
-
-  // The added row was a pending row.
-  PPL_ASSERT(num_pending_rows() > 0);
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::add_pending_rows(const Linear_System& y) {
-  Linear_System& x = *this;
-  PPL_ASSERT(x.row_size == y.row_size);
-
-  const dimension_type x_n_rows = x.num_rows();
-  const dimension_type y_n_rows = y.num_rows();
-  // Grow to the required size without changing sortedness.
-  const bool was_sorted = sorted;
-  add_zero_rows(y_n_rows, Linear_Row::Flags(row_topology));
-  sorted = was_sorted;
-
-  // Copy the rows of `y', forcing size and capacity.
-  for (dimension_type i = y_n_rows; i-- > 0; ) {
-    Row copy(y[i], x.row_size, x.row_capacity);
-    std::swap(copy, x[x_n_rows+i]);
-  }
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::add_rows(const Linear_System& y) {
-  PPL_ASSERT(num_pending_rows() == 0);
-
-  // Adding no rows is a no-op.
-  if (y.has_no_rows())
-    return;
-
-  // Check if sortedness is preserved.
-  if (is_sorted()) {
-    if (!y.is_sorted() || y.num_pending_rows() > 0)
-      set_sorted(false);
-    else {
-      // `y' is sorted and has no pending rows.
-      const dimension_type n_rows = num_rows();
-      if (n_rows > 0)
-	set_sorted(compare((*this)[n_rows-1], y[0]) <= 0);
-    }
-  }
-
-  // Add the rows of `y' as if they were pending.
-  add_pending_rows(y);
-  // There are no pending_rows.
-  unset_pending_rows();
-
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::sort_rows() {
-  const dimension_type num_pending = num_pending_rows();
-  // We sort the non-pending rows only.
-  sort_rows(0, first_pending_row());
-  set_index_first_pending_row(num_rows() - num_pending);
-  sorted = true;
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::sort_rows(const dimension_type first_row,
-			      const dimension_type last_row) {
-  PPL_ASSERT(first_row <= last_row && last_row <= num_rows());
-  // We cannot mix pending and non-pending rows.
-  PPL_ASSERT(first_row >= first_pending_row()
-             || last_row <= first_pending_row());
-
-  const dimension_type num_elems = last_row - first_row;
-  if (num_elems < 2)
-    return;
-
-  // Build the function objects implementing indirect sort comparison,
-  // indirect unique comparison and indirect swap operation.
-  typedef std::vector<Row> Cont;
-  Indirect_Sort_Compare<Cont, Row_Less_Than> sort_cmp(rows, first_row);
-  Indirect_Unique_Compare<Cont> unique_cmp(rows, first_row);
-  Indirect_Swapper<Cont> swapper(rows, first_row);
-
-  const dimension_type num_duplicates
-    = indirect_sort_and_unique(num_elems, sort_cmp, unique_cmp, swapper);
-
-  if (num_duplicates > 0)
-    rows.erase(rows.begin() + (last_row - num_duplicates),
-               rows.begin() + last_row);
-
-  // NOTE: we cannot check all invariants of the system here,
-  // because the caller still has to update `index_first_pending'.
-}
-
-void
-PPL::Linear_System::add_row(const Linear_Row& r) {
-  // The added row must be strongly normalized and have the same
-  // number of elements as the existing rows of the system.
-  PPL_ASSERT(r.check_strong_normalized());
-  PPL_ASSERT(r.size() == row_size);
-  // This method is only used when the system has no pending rows.
-  PPL_ASSERT(num_pending_rows() == 0);
-
-  const bool was_sorted = is_sorted();
-
-  Matrix::add_row(r);
-
-  //  We update `index_first_pending', because it must be equal to
-  // `num_rows()'.
-  set_index_first_pending_row(num_rows());
-
-  if (was_sorted) {
-    const dimension_type nrows = num_rows();
-    // The added row may have caused the system to be not sorted anymore.
-    if (nrows > 1) {
-      // If the system is not empty and the inserted row is the
-      // greatest one, the system is set to be sorted.
-      // If it is not the greatest one then the system is no longer sorted.
-      Linear_System& x = *this;
-      set_sorted(compare(x[nrows-2], x[nrows-1]) <= 0);
-    }
-    else
-      // A system having only one row is sorted.
-      set_sorted(true);
-  }
-  // The added row was not a pending row.
-  PPL_ASSERT(num_pending_rows() == 0);
-  // Do not check for strong normalization, because no modification of
-  // rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::add_pending_row(const Linear_Row& r) {
-  // The added row must be strongly normalized and have the same
-  // number of elements of the existing rows of the system.
-  PPL_ASSERT(r.check_strong_normalized());
-  PPL_ASSERT(r.size() == row_size);
-
-  const dimension_type new_rows_size = rows.size() + 1;
-  if (rows.capacity() < new_rows_size) {
-    // Reallocation will take place.
-    std::vector<Row> new_rows;
-    new_rows.reserve(compute_capacity(new_rows_size, max_num_rows()));
-    new_rows.insert(new_rows.end(), new_rows_size, Row());
-    // Put the new row in place.
-    Row new_row(r, row_capacity);
-    dimension_type i = new_rows_size-1;
-    std::swap(new_rows[i], new_row);
-    // Steal the old rows.
-    while (i-- > 0)
-      new_rows[i].swap(rows[i]);
-    // Put the new rows into place.
-    std::swap(rows, new_rows);
-  }
-  else {
-    // Reallocation will NOT take place.
-    // Inserts a new empty row at the end, then substitutes it with a
-    // copy of the given row.
-    Row tmp(r, row_capacity);
-    std::swap(*rows.insert(rows.end(), Row()), tmp);
-  }
-
-  // The added row was a pending row.
-  PPL_ASSERT(num_pending_rows() > 0);
-  // Do not check for strong normalization, because no modification of
-  // rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-void
-PPL::Linear_System::add_pending_row(const Linear_Row::Flags flags) {
-  const dimension_type new_rows_size = rows.size() + 1;
-  if (rows.capacity() < new_rows_size) {
-    // Reallocation will take place.
-    std::vector<Row> new_rows;
-    new_rows.reserve(compute_capacity(new_rows_size, max_num_rows()));
-    new_rows.insert(new_rows.end(), new_rows_size, Row());
-    // Put the new row in place.
-    Linear_Row new_row(row_size, row_capacity, flags);
-    dimension_type i = new_rows_size-1;
-    std::swap(new_rows[i], new_row);
-    // Steal the old rows.
-    while (i-- > 0)
-      new_rows[i].swap(rows[i]);
-    // Put the new vector into place.
-    std::swap(rows, new_rows);
-  }
-  else {
-    // Reallocation will NOT take place.
-    // Insert a new empty row at the end, then construct it assigning
-    // it the given type.
-    Row& new_row = *rows.insert(rows.end(), Row());
-    static_cast<Linear_Row&>(new_row).construct(row_size, row_capacity, flags);
-  }
-
-  // The added row was a pending row.
-  PPL_ASSERT(num_pending_rows() > 0);
-}
-
-void
-PPL::Linear_System::normalize() {
-  Linear_System& x = *this;
-  const dimension_type nrows = x.num_rows();
-  // We normalize also the pending rows.
-  for (dimension_type i = nrows; i-- > 0; )
-    x[i].normalize();
-  set_sorted(nrows <= 1);
-}
-
-void
-PPL::Linear_System::strong_normalize() {
-  Linear_System& x = *this;
-  const dimension_type nrows = x.num_rows();
-  // We strongly normalize also the pending rows.
-  for (dimension_type i = nrows; i-- > 0; )
-    x[i].strong_normalize();
-  set_sorted(nrows <= 1);
-}
-
-void
-PPL::Linear_System::sign_normalize() {
-  Linear_System& x = *this;
-  const dimension_type nrows = x.num_rows();
-  // We sign-normalize also the pending rows.
-  for (dimension_type i = num_rows(); i-- > 0; )
-    x[i].sign_normalize();
-  set_sorted(nrows <= 1);
-}
-
-/*! \relates Parma_Polyhedra_Library::Linear_System */
-bool
-PPL::operator==(const Linear_System& x, const Linear_System& y) {
-  if (x.num_columns() != y.num_columns())
-    return false;
-  const dimension_type x_num_rows = x.num_rows();
-  const dimension_type y_num_rows = y.num_rows();
-  if (x_num_rows != y_num_rows)
-    return false;
-  if (x.first_pending_row() != y.first_pending_row())
-    return false;
-  // Notice that calling operator==(const Matrix&, const Matrix&)
-  // would be wrong here, as equality of the type fields would
-  // not be checked.
-  for (dimension_type i = x_num_rows; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
-}
-
-void
-PPL::Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
-  Linear_System& sys = *this;
-  // We can only sort the non-pending part of the system.
-  PPL_ASSERT(sys.first_pending_row() == sat.num_rows());
-  if (sys.first_pending_row() <= 1) {
-    sys.set_sorted(true);
-    return;
-  }
-
-  const dimension_type num_elems = sat.num_rows();
-  // Build the function objects implementing indirect sort comparison,
-  // indirect unique comparison and indirect swap operation.
-  typedef std::vector<Row> Cont;
-  Indirect_Sort_Compare<Cont, Row_Less_Than> sort_cmp(rows);
-  Indirect_Unique_Compare<Cont> unique_cmp(rows);
-  Indirect_Swapper2<Cont, Bit_Matrix> swapper(rows, sat);
-
-  const dimension_type num_duplicates
-    = indirect_sort_and_unique(num_elems, sort_cmp, unique_cmp, swapper);
-
-  const dimension_type new_first_pending_row
-    = sys.first_pending_row() - num_duplicates;
-
-  if (sys.num_pending_rows() > 0) {
-    // In this case, we must put the duplicates after the pending rows.
-    const dimension_type n_rows = sys.num_rows() - 1;
-    for (dimension_type i = 0; i < num_duplicates; ++i)
-      std::swap(sys[new_first_pending_row + i], sys[n_rows - i]);
-  }
-  // Erasing the duplicated rows...
-  sys.erase_to_end(sys.num_rows() - num_duplicates);
-  sys.set_index_first_pending_row(new_first_pending_row);
-  // ... and the corresponding rows of the saturation matrix.
-  sat.rows_erase_to_end(num_elems - num_duplicates);
-  PPL_ASSERT(sys.check_sorted());
-  // Now the system is sorted.
-  sys.set_sorted(true);
-}
-
-PPL::dimension_type
-PPL::Linear_System::gauss(const dimension_type n_lines_or_equalities) {
-  Linear_System& x = *this;
-  // This method is only applied to a well-formed linear system
-  // having no pending rows and exactly `n_lines_or_equalities'
-  // lines or equalities, all of which occur before the rays or points
-  // or inequalities.
-  PPL_ASSERT(x.OK(true));
-  PPL_ASSERT(x.num_pending_rows() == 0);
-  PPL_ASSERT(n_lines_or_equalities == x.num_lines_or_equalities());
-#ifndef NDEBUG
-  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
-    PPL_ASSERT(x[i].is_line_or_equality());
-#endif
-
-  dimension_type rank = 0;
-  // Will keep track of the variations on the system of equalities.
-  bool changed = false;
-  for (dimension_type j = x.num_columns(); j-- > 0; )
-    for (dimension_type i = rank; i < n_lines_or_equalities; ++i) {
-      // Search for the first row having a non-zero coefficient
-      // (the pivot) in the j-th column.
-      if (x[i][j] == 0)
-	continue;
-      // Pivot found: if needed, swap rows so that this one becomes
-      // the rank-th row in the linear system.
-      if (i > rank) {
-	std::swap(x[i], x[rank]);
-	// After swapping the system is no longer sorted.
-	changed = true;
-      }
-      // Combine the row containing the pivot with all the lines or
-      // equalities following it, so that all the elements on the j-th
-      // column in these rows become 0.
-      for (dimension_type k = i + 1; k < n_lines_or_equalities; ++k)
-	if (x[k][j] != 0) {
-	  x[k].linear_combine(x[rank], j);
-	  changed = true;
-	}
-      // Already dealt with the rank-th row.
-      ++rank;
-      // Consider another column index `j'.
-      break;
-    }
-  if (changed)
-    x.set_sorted(false);
-  // A well-formed system is returned.
-  PPL_ASSERT(x.OK(true));
-  return rank;
-}
-
-void
-PPL::Linear_System
-::back_substitute(const dimension_type n_lines_or_equalities) {
-  Linear_System& x = *this;
-  // This method is only applied to a well-formed system
-  // having no pending rows and exactly `n_lines_or_equalities'
-  // lines or equalities, all of which occur before the first ray
-  // or point or inequality.
-  PPL_ASSERT(x.OK(true));
-  PPL_ASSERT(x.num_columns() >= 1);
-  PPL_ASSERT(x.num_pending_rows() == 0);
-  PPL_ASSERT(n_lines_or_equalities <= x.num_lines_or_equalities());
-#ifndef NDEBUG
-  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
-    PPL_ASSERT(x[i].is_line_or_equality());
-#endif
-
-  const dimension_type nrows = x.num_rows();
-  const dimension_type ncols = x.num_columns();
-  // Trying to keep sortedness.
-  bool still_sorted = x.is_sorted();
-  // This deque of Booleans will be used to flag those rows that,
-  // before exiting, need to be re-checked for sortedness.
-  std::deque<bool> check_for_sortedness;
-  if (still_sorted)
-    check_for_sortedness.insert(check_for_sortedness.end(), nrows, false);
-
-  for (dimension_type k = n_lines_or_equalities; k-- > 0; ) {
-    // For each line or equality, starting from the last one,
-    // looks for the last non-zero element.
-    // `j' will be the index of such a element.
-    Linear_Row& x_k = x[k];
-    dimension_type j = ncols - 1;
-    while (j != 0 && x_k[j] == 0)
-      --j;
-
-    // Go through the equalities above `x_k'.
-    for (dimension_type i = k; i-- > 0; ) {
-      Linear_Row& x_i = x[i];
-      if (x_i[j] != 0) {
-	// Combine linearly `x_i' with `x_k'
-	// so that `x_i[j]' becomes zero.
-	x_i.linear_combine(x_k, j);
-	if (still_sorted) {
-	  // Trying to keep sortedness: remember which rows
-	  // have to be re-checked for sortedness at the end.
-	  if (i > 0)
-	    check_for_sortedness[i-1] = true;
-	  check_for_sortedness[i] = true;
-	}
-      }
-    }
-
-    // Due to strong normalization during previous iterations,
-    // the pivot coefficient `x_k[j]' may now be negative.
-    // Since an inequality (or ray or point) cannot be multiplied
-    // by a negative factor, the coefficient of the pivot must be
-    // forced to be positive.
-    const bool have_to_negate = (x_k[j] < 0);
-    if (have_to_negate)
-      for (dimension_type h = ncols; h-- > 0; )
-	PPL::neg_assign(x_k[h]);
-    // Note: we do not mark index `k' in `check_for_sortedness',
-    // because we will later negate back the row.
-
-    // Go through all the other rows of the system.
-    for (dimension_type i = n_lines_or_equalities; i < nrows; ++i) {
-      Linear_Row& x_i = x[i];
-      if (x_i[j] != 0) {
-	// Combine linearly the `x_i' with `x_k'
-	// so that `x_i[j]' becomes zero.
-	x_i.linear_combine(x_k, j);
-	if (still_sorted) {
-	  // Trying to keep sortedness: remember which rows
-	  // have to be re-checked for sortedness at the end.
-	  if (i > n_lines_or_equalities)
-	    check_for_sortedness[i-1] = true;
-	  check_for_sortedness[i] = true;
-	}
-      }
-    }
-    if (have_to_negate)
-      // Negate `x_k' to restore strong-normalization.
-      for (dimension_type h = ncols; h-- > 0; )
-	PPL::neg_assign(x_k[h]);
-  }
-
-  // Trying to keep sortedness.
-  for (dimension_type i = 0; still_sorted && i+1 < nrows; ++i)
-    if (check_for_sortedness[i])
-      // Have to check sortedness of `x[i]' with respect to `x[i+1]'.
-      still_sorted = (compare(x[i], x[i+1]) <= 0);
-  // Set the sortedness flag.
-  x.set_sorted(still_sorted);
-
-  // A well-formed system is returned.
-  PPL_ASSERT(x.OK(true));
-}
-
-void
-PPL::Linear_System::simplify() {
-  Linear_System& x = *this;
-  // This method is only applied to a well-formed system
-  // having no pending rows.
-  PPL_ASSERT(x.OK(true));
-  PPL_ASSERT(x.num_pending_rows() == 0);
-
-  // Partially sort the linear system so that all lines/equalities come first.
-  dimension_type nrows = x.num_rows();
-  dimension_type n_lines_or_equalities = 0;
-  for (dimension_type i = 0; i < nrows; ++i)
-    if (x[i].is_line_or_equality()) {
-      if (n_lines_or_equalities < i) {
-	std::swap(x[i], x[n_lines_or_equalities]);
-	// The system was not sorted.
-	PPL_ASSERT(!x.sorted);
-      }
-      ++n_lines_or_equalities;
-    }
-  // Apply Gaussian elimination to the subsystem of lines/equalities.
-  const dimension_type rank = x.gauss(n_lines_or_equalities);
-  // Eliminate any redundant line/equality that has been detected.
-  if (rank < n_lines_or_equalities) {
-    const dimension_type
-      n_rays_or_points_or_inequalities = nrows - n_lines_or_equalities;
-    const dimension_type
-      num_swaps = std::min(n_lines_or_equalities - rank,
-			   n_rays_or_points_or_inequalities);
-    for (dimension_type i = num_swaps; i-- > 0; )
-      std::swap(x[--nrows], x[rank + i]);
-    x.erase_to_end(nrows);
-    x.unset_pending_rows();
-    if (n_rays_or_points_or_inequalities > num_swaps)
-      x.set_sorted(false);
-    n_lines_or_equalities = rank;
-  }
-  // Apply back-substitution to the system of rays/points/inequalities.
-  x.back_substitute(n_lines_or_equalities);
-  // A well-formed system is returned.
-  PPL_ASSERT(x.OK(true));
-}
-
-void
-PPL::Linear_System::add_rows_and_columns(const dimension_type n) {
-  PPL_ASSERT(n > 0);
-  const bool was_sorted = is_sorted();
-  const dimension_type old_n_rows = num_rows();
-  const dimension_type old_n_columns = num_columns();
-  add_zero_rows_and_columns(n, n, Linear_Row::Flags(row_topology));
-  Linear_System& x = *this;
-  // The old system is moved to the bottom.
-  for (dimension_type i = old_n_rows; i-- > 0; )
-    std::swap(x[i], x[i + n]);
-  for (dimension_type i = n, c = old_n_columns; i-- > 0; ) {
-    // The top right-hand sub-system (i.e., the system made of new
-    // rows and columns) is set to the specular image of the identity
-    // matrix.
-    Linear_Row& r = x[i];
-    r[c++] = 1;
-    r.set_is_line_or_equality();
-    // Note: `r' is strongly normalized.
-  }
-  // If the old system was empty, the last row added is either
-  // a positivity constraint or a point.
-  if (old_n_columns == 0) {
-    x[n-1].set_is_ray_or_point_or_inequality();
-    // Since ray, points and inequalities come after lines
-    // and equalities, this case implies the system is sorted.
-    set_sorted(true);
-  }
-  else if (was_sorted)
-    set_sorted(compare(x[n-1], x[n]) <= 0);
-
-  // A well-formed system has to be returned.
-  PPL_ASSERT(OK(true));
-}
-
-void
-PPL::Linear_System::sort_pending_and_remove_duplicates() {
-  PPL_ASSERT(num_pending_rows() > 0);
-  PPL_ASSERT(is_sorted());
-  Linear_System& x = *this;
-
-  // The non-pending part of the system is already sorted.
-  // Now sorting the pending part..
-  const dimension_type first_pending = x.first_pending_row();
-  x.sort_rows(first_pending, x.num_rows());
-  // Recompute the number of rows, because we may have removed
-  // some rows occurring more than once in the pending part.
-  dimension_type num_rows = x.num_rows();
-
-  dimension_type k1 = 0;
-  dimension_type k2 = first_pending;
-  dimension_type num_duplicates = 0;
-  // In order to erase them, put at the end of the system
-  // those pending rows that also occur in the non-pending part.
-  while (k1 < first_pending && k2 < num_rows) {
-    const int cmp = compare(x[k1], x[k2]);
-    if (cmp == 0) {
-      // We found the same row.
-      ++num_duplicates;
-      --num_rows;
-      // By initial sortedness, we can increment index `k1'.
-      ++k1;
-      // Do not increment `k2'; instead, swap there the next pending row.
-      if (k2 < num_rows)
-	std::swap(x[k2], x[k2 + num_duplicates]);
-    }
-    else if (cmp < 0)
-      // By initial sortedness, we can increment `k1'.
-      ++k1;
-    else {
-      // Here `cmp > 0'.
-      // Increment `k2' and, if we already found any duplicate,
-      // swap the next pending row in position `k2'.
-      ++k2;
-      if (num_duplicates > 0 && k2 < num_rows)
-	std::swap(x[k2], x[k2 + num_duplicates]);
-    }
-  }
-  // If needed, swap any duplicates found past the pending rows
-  // that has not been considered yet; then erase the duplicates.
-  if (num_duplicates > 0) {
-    if (k2 < num_rows)
-      for (++k2; k2 < num_rows; ++k2)
-	std::swap(x[k2], x[k2 + num_duplicates]);
-    x.erase_to_end(num_rows);
-  }
-  // Do not check for strong normalization,
-  // because no modification of rows has occurred.
-  PPL_ASSERT(OK(false));
-}
-
-bool
-PPL::Linear_System::check_sorted() const {
-  const Linear_System& x = *this;
-  for (dimension_type i = first_pending_row(); i-- > 1; )
-    if (compare(x[i], x[i-1]) < 0)
-      return false;
-  return true;
-}
-
-bool
-PPL::Linear_System::OK(const bool check_strong_normalized) const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-
-  // `index_first_pending' must be less than or equal to `num_rows()'.
-  if (first_pending_row() > num_rows()) {
-#ifndef NDEBUG
-    cerr << "Linear_System has a negative number of pending rows!"
-	 << endl;
-#endif
-    return false;
-  }
-
-  // An empty system is OK,
-  // unless it is an NNC system with exactly one column.
-  if (has_no_rows()) {
-    if (is_necessarily_closed() || num_columns() != 1)
-      return true;
-    else {
-#ifndef NDEBUG
-      cerr << "NNC Linear_System has one column" << endl;
-#endif
-      return false;
-    }
-  }
-
-  // A non-empty system will contain constraints or generators; in
-  // both cases it must have at least one column for the inhomogeneous
-  // term and, if it is NNC, another one for the epsilon coefficient.
-  const dimension_type min_cols = is_necessarily_closed() ? 1 : 2;
-  if (num_columns() < min_cols) {
-#ifndef NDEBUG
-    cerr << "Linear_System has fewer columns than the minimum "
-	 << "allowed by its topology:"
-	 << endl
-	 << "num_columns is " << num_columns()
-	 << ", minimum is " << min_cols
-	 << endl;
-#endif
-    return false;
-  }
-
-  const Linear_System& x = *this;
-  const dimension_type n_rows = num_rows();
-  for (dimension_type i = 0; i < n_rows; ++i) {
-    if (!x[i].OK(row_size, row_capacity))
-      return false;
-    // Checking for topology mismatches.
-    if (x.topology() != x[i].topology()) {
-#ifndef NDEBUG
-      cerr << "Topology mismatch between the system "
-	   << "and one of its rows!"
-	   << endl;
-#endif
-      return false;
-    }
-  }
-
-  if (check_strong_normalized) {
-    // Check for strong normalization of rows.
-    // Note: normalization cannot be checked inside the
-    // Linear_Row::OK() method, because a Linear_Row object may also
-    // implement a Linear_Expression object, which in general cannot
-    // be (strongly) normalized.
-    Linear_System tmp(x, With_Pending());
-    tmp.strong_normalize();
-    if (x != tmp) {
-#ifndef NDEBUG
-      cerr << "Linear_System rows are not strongly normalized!"
-	   << endl;
-#endif
-      return false;
-    }
-  }
-
-  if (sorted && !check_sorted()) {
-#ifndef NDEBUG
-    cerr << "The system declares itself to be sorted but it is not!"
-	 << endl;
-#endif
-    return false;
-  }
-
-  // All checks passed.
-  return true;
-}
diff --git a/src/Linear_System.defs.hh b/src/Linear_System.defs.hh
index ab10473..870cb38 100644
--- a/src/Linear_System.defs.hh
+++ b/src/Linear_System.defs.hh
@@ -1,6 +1,6 @@
 /* Linear_System class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,28 +19,34 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Linear_System_defs_hh
 #define PPL_Linear_System_defs_hh 1
 
 #include "Linear_System.types.hh"
-#include "Row.types.hh"
+
+#include "Swapping_Vector.defs.hh"
+#include "globals.defs.hh"
+#include "Variable.defs.hh"
+#include "Variables_Set.defs.hh"
+
+#include "Polyhedron.types.hh"
 #include "Bit_Row.types.hh"
 #include "Bit_Matrix.types.hh"
-#include "Matrix.defs.hh"
-#include "Topology.hh"
-#include "Linear_Row.defs.hh"
+#include "Generator_System.types.hh"
+#include "Topology.types.hh"
 
+// TODO: Check how much of this description is still true.
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! The base class for systems of constraints and generators.
 /*! \ingroup PPL_CXX_interface
   An object of this class represents either a constraint system
   or a generator system. Each Linear_System object can be viewed
-  as a finite sequence of strong-normalized Linear_Row objects,
-  where each Linear_Row implements a constraint or a generator.
+  as a finite sequence of strong-normalized Row objects,
+  where each Row implements a constraint or a generator.
   Linear systems are characterized by the matrix of coefficients,
-  also encoding the number, size and capacity of Linear_row objects,
+  also encoding the number, size and capacity of Row objects,
   as well as a few additional information, including:
    - the topological kind of (all) the rows;
    - an indication of whether or not some of the rows in the Linear_System
@@ -51,32 +57,35 @@ site: http://www.cs.unipr.it/ppl/ . */
      non-pending prefix of the sequence of rows is sorted.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-class Parma_Polyhedra_Library::Linear_System : public Matrix {
+template <typename Row>
+class Parma_Polyhedra_Library::Linear_System {
 public:
+
+  // NOTE: `iterator' is actually a const_iterator.
+  typedef typename Swapping_Vector<Row>::const_iterator iterator;
+  typedef typename Swapping_Vector<Row>::const_iterator const_iterator;
+
   //! Builds an empty linear system with specified topology.
   /*!
     Rows size and capacity are initialized to \f$0\f$.
   */
-  Linear_System(Topology topol);
+  Linear_System(Topology topol, Representation r);
 
   //! Builds a system with specified topology and dimensions.
   /*!
     \param topol
     The topology of the system that will be created;
 
-    \param n_rows
-    The number of rows of the system that will be created;
+    \param space_dim
+    The number of space dimensions of the system that will be created.
 
-    \param n_columns
-    The number of columns of the system that will be created.
+    \param r
+    The representation for system's rows.
 
-    Creates a \p n_rows \f$\times\f$ \p n_columns system whose
-    coefficients are all zero and whose rows are all initialized
-    to be of the given topology.
+    Creates a \p n_rows \f$\times\f$ \p space_dim system whose
+    coefficients are all zero and with the given topology.
   */
-  Linear_System(Topology topol,
-		dimension_type n_rows, dimension_type n_columns);
+  Linear_System(Topology topol, dimension_type space_dim, Representation r);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   //! A tag class.
@@ -92,9 +101,16 @@ public:
   //! Copy constructor: pending rows are transformed into non-pending ones.
   Linear_System(const Linear_System& y);
 
+  //! Copy constructor with specified representation. Pending rows are
+  //! transformed into non-pending ones.
+  Linear_System(const Linear_System& y, Representation r);
+
   //! Full copy constructor: pending rows are copied as pending.
   Linear_System(const Linear_System& y, With_Pending);
 
+  //! Full copy constructor: pending rows are copied as pending.
+  Linear_System(const Linear_System& y, Representation r, With_Pending);
+
   //! Assignment operator: pending rows are transformed into non-pending ones.
   Linear_System& operator=(const Linear_System& y);
 
@@ -102,7 +118,13 @@ public:
   void assign_with_pending(const Linear_System& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Linear_System& y);
+  void m_swap(Linear_System& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Linear_System can handle.
   static dimension_type max_space_dimension();
@@ -118,36 +140,87 @@ public:
   */
   dimension_type space_dimension() const;
 
-  //! Makes the system shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
+
+  //! Makes the system shrink by removing its i-th row.
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
+  */
+  void remove_row(dimension_type i, bool keep_sorted = false);
+
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
+
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                  bool keep_sorted = false);
+
+  // TODO: Consider removing this.
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
+  /*!
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
+
+  // TODO: Consider making this private.
+  //! Removes all the specified dimensions from the system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
 
-  //! Permutes the columns of the system.
+  // TODO: Consider making this private.
+  //! Permutes the space dimensions of the matrix.
   /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
-
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the system has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
-  */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
 
   //! \name Subscript operators
   //@{
-  //! Returns a reference to the \p k-th row of the system.
-  Linear_Row& operator[](dimension_type k);
-
-  //! Returns a constant reference to the \p k-th row of the system.
-  const Linear_Row& operator[](dimension_type k) const;
+  //! Returns a const reference to the \p k-th row of the system.
+  const Row& operator[](dimension_type k) const;
   //@} // Subscript operators
 
+  iterator begin();
+  iterator end();
+  const_iterator begin() const;
+  const_iterator end() const;
+
+  bool has_no_rows() const;
+  dimension_type num_rows() const;
+
   //! Strongly normalizes the system.
   void strong_normalize();
 
@@ -187,14 +260,30 @@ public:
   */
   bool check_sorted() const;
 
+  //! Sets the system topology to \p t .
+  void set_topology(Topology t);
+
   //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
   void set_necessarily_closed();
 
   //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
   void set_not_necessarily_closed();
 
-  //! Sets the topology of all rows equal to the system topology.
-  void set_rows_topology();
+  // TODO: Consider removing this, or making it private.
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The system topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  // TODO: Consider removing this, or making it private.
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The system topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
 
   //! Sets the index to indicate that the system has no pending rows.
   void unset_pending_rows();
@@ -205,24 +294,11 @@ public:
   //! Sets the sortedness flag of the system to \p b.
   void set_sorted(bool b);
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows of the resized system;
-
-    \param new_n_columns
-    The number of columns of the resized system.
-
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns);
-
-  //! Adds \p n rows and columns to the system.
+  //! Adds \p n rows and space dimensions to the system.
   /*!
     \param n
-    The number of rows and columns to be added: must be strictly positive.
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
 
     Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
     the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
@@ -231,37 +307,50 @@ public:
     where \f$J\f$ is the specular image
     of the \f$n \times n\f$ identity matrix.
   */
-  void add_rows_and_columns(dimension_type n);
+  void add_universe_rows_and_space_dimensions(dimension_type n);
 
   /*! \brief
     Adds a copy of \p r to the system,
     automatically resizing the system or the row's copy, if needed.
   */
-  void insert(const Linear_Row& r);
+  void insert(const Row& r);
 
   /*! \brief
     Adds a copy of the given row to the pending part of the system,
     automatically resizing the system or the row, if needed.
   */
-  void insert_pending(const Linear_Row& r);
-
-  //! Adds a copy of the given row to the system.
-  void add_row(const Linear_Row& r);
+  void insert_pending(const Row& r);
 
-  //! Adds a new empty row to the system, setting only its flags.
-  void add_pending_row(Linear_Row::Flags flags);
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+  */
+  void insert(Row& r, Recycle_Input);
 
-  //! Adds a copy of the given row to the pending part of the system.
-  void add_pending_row(const Linear_Row& r);
+  /*! \brief
+    Adds the given row to the pending part of the system, stealing its
+    contents and automatically resizing the system or the row, if needed.
+  */
+  void insert_pending(Row& r, Recycle_Input);
 
-  //! Adds to \p *this a copy of the rows of `y'.
+  //! Adds to \p *this a copy of  the rows of \p y.
   /*!
     It is assumed that \p *this has no pending rows.
   */
-  void add_rows(const Linear_System& y);
+  void insert(const Linear_System& y);
 
   //! Adds a copy of the rows of `y' to the pending part of `*this'.
-  void add_pending_rows(const Linear_System& y);
+  void insert_pending(const Linear_System& r);
+
+  //! Adds to \p *this a the rows of `y', stealing them from `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(Linear_System& r, Recycle_Input);
+
+  //! Adds the rows of `y' to the pending part of `*this', stealing them from
+  //! `y'.
+  void insert_pending(Linear_System& r, Recycle_Input);
 
   /*! \brief
     Sorts the non-pending rows (in growing order) and eliminates
@@ -291,8 +380,6 @@ public:
   */
   void sort_pending_and_remove_duplicates();
 
-  class With_Bit_Matrix_iterator;
-
   /*! \brief
     Sorts the system, removing duplicates, keeping the saturation
     matrix consistent.
@@ -312,7 +399,7 @@ public:
     returns its rank, i.e., the number of linearly independent equalities.
     The result is an upper triangular subsystem of equalities:
     for each equality, the pivot is chosen starting from
-    the right-most columns.
+    the right-most space dimensions.
   */
   dimension_type gauss(dimension_type n_lines_or_equalities);
 
@@ -334,12 +421,6 @@ public:
   */
   void simplify();
 
-  /*! \brief
-    Normalizes the system by dividing each row for the GCD of the
-    row's elements.
-  */
-  void normalize();
-
   //! Clears the system deallocating all its rows.
   void clear();
 
@@ -363,21 +444,74 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  //! The vector that contains the rows.
+  /*!
+    \note This is public for convenience. Clients that modify if must preserve
+          the class invariant.
+  */
+  Swapping_Vector<Row> rows;
+
   //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! Makes the system shrink by removing its i-th row.
   /*!
-    \param check_strong_normalized
-    <CODE>true</CODE> if and only if the strong normalization of all
-    the rows in the system has to be checked.
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
 
-    By default, the strong normalization check is performed.
-    This check may be turned off to avoid useless repeated checking;
-    e.g., when re-checking a well-formed Linear_System after the permutation
-    or deletion of some of its rows.
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
   */
-  bool OK(bool check_strong_normalized = true) const;
+  void remove_row_no_ok(dimension_type i, bool keep_sorted = false);
 
-private:
-  //! The topological kind of the rows in the system.
+  /*! \brief
+    Adds \p r to the pending part of the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void insert_pending_no_ok(Row& r, Recycle_Input);
+
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void insert_no_ok(Row& r, Recycle_Input);
+
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
+  //! Swaps the [first,last) row interval with the
+  //! [first + offset, last + offset) interval.
+  /*!
+    These intervals may not be disjunct.
+
+    Sorting of these intervals is *not* preserved.
+
+    Either both intervals contain only not-pending rows, or they both
+    contain pending rows.
+  */
+  void swap_row_intervals(dimension_type first, dimension_type last,
+                          dimension_type offset);
+
+  //! The space dimension of each row. All rows must have this number of
+  //! space dimensions.
+  dimension_type space_dimension_;
+
+  //! The topological kind of the rows in the system. All rows must have this
+  //! topology.
   Topology row_topology;
 
   //! The index of the first pending row.
@@ -385,25 +519,42 @@ private:
 
   /*! \brief
     <CODE>true</CODE> if rows are sorted in the ascending order as defined by
-    <CODE>bool compare(const Linear_Row&, const Linear_Row&)</CODE>.
+    <CODE>bool compare(const Row&, const Row&)</CODE>.
     If <CODE>false</CODE> may not be sorted.
   */
   bool sorted;
 
+  Representation representation_;
+
   //! Ordering predicate (used when implementing the sort algorithm).
   struct Row_Less_Than {
     bool operator()(const Row& x, const Row& y) const;
   };
+
+  //! Comparison predicate (used when implementing the unique algorithm).
+  struct Unique_Compare {
+    Unique_Compare(const Swapping_Vector<Row>& cont,
+                   dimension_type base = 0);
+
+    bool operator()(dimension_type i, dimension_type j) const;
+
+    const Swapping_Vector<Row>& container;
+    const dimension_type base_index;
+  };
+
+  friend class Polyhedron;
+  friend class Generator_System;
 };
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System */
+//! Swaps \p x with \p y.
+/*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_System& x,
-	  Parma_Polyhedra_Library::Linear_System& y);
+template <typename Row>
+void swap(Parma_Polyhedra_Library::Linear_System<Row>& x,
+          Parma_Polyhedra_Library::Linear_System<Row>& y);
 
 } // namespace std
 
@@ -413,16 +564,19 @@ namespace Parma_Polyhedra_Library {
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
 /*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Linear_System& x, const Linear_System& y);
+template <typename Row>
+bool operator==(const Linear_System<Row>& x, const Linear_System<Row>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
 /*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Linear_System& x, const Linear_System& y);
+template <typename Row>
+bool operator!=(const Linear_System<Row>& x, const Linear_System<Row>& y);
 
 } // namespace Parma_Polyhedra_Library
 
 #include "Linear_System.inlines.hh"
+#include "Linear_System.templates.hh"
 
 #endif // !defined(PPL_Linear_System_defs_hh)
diff --git a/src/Linear_System.inlines.hh b/src/Linear_System.inlines.hh
index 27692cc..8b20e01 100644
--- a/src/Linear_System.inlines.hh
+++ b/src/Linear_System.inlines.hh
@@ -1,6 +1,6 @@
 /* Linear_System class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,27 +19,33 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Linear_System_inlines_hh
 #define PPL_Linear_System_inlines_hh 1
 
 #include "Bit_Row.defs.hh"
+#include "Coefficient.defs.hh"
+
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
+template <typename Row>
 inline memory_size_type
-Linear_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
+Linear_System<Row>::external_memory_in_bytes() const {
+  return rows.external_memory_in_bytes();
 }
 
+template <typename Row>
 inline memory_size_type
-Linear_System::total_memory_in_bytes() const {
+Linear_System<Row>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
+template <typename Row>
 inline bool
-Linear_System::is_sorted() const {
+Linear_System<Row>::is_sorted() const {
   // The flag `sorted' does not really reflect the sortedness status
   // of a system (if `sorted' evaluates to `false' nothing is known).
   // This assertion is used to ensure that the system
@@ -48,203 +54,639 @@ Linear_System::is_sorted() const {
   return sorted;
 }
 
+template <typename Row>
 inline void
-Linear_System::set_sorted(const bool b) {
+Linear_System<Row>::set_sorted(const bool b) {
   sorted = b;
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(Topology topol)
-  : Matrix(),
+Linear_System<Row>::Linear_System(Topology topol, Representation r)
+  : rows(),
+    space_dimension_(0),
     row_topology(topol),
     index_first_pending(0),
-    sorted(true) {
+    sorted(true),
+    representation_(r) {
+
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(Topology topol,
-			     dimension_type n_rows, dimension_type n_columns)
-  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
+Linear_System<Row>::Linear_System(Topology topol,
+                                  dimension_type space_dim,
+                                  Representation r)
+  : rows(),
+    space_dimension_(0),
     row_topology(topol),
-    index_first_pending(n_rows),
-    sorted(true) {
+    index_first_pending(0),
+    sorted(true),
+    representation_(r) {
+  set_space_dimension(space_dim);
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline dimension_type
-Linear_System::first_pending_row() const {
+Linear_System<Row>::first_pending_row() const {
   return index_first_pending;
 }
 
+template <typename Row>
 inline dimension_type
-Linear_System::num_pending_rows() const {
+Linear_System<Row>::num_pending_rows() const {
   PPL_ASSERT(num_rows() >= first_pending_row());
   return num_rows() - first_pending_row();
 }
 
+template <typename Row>
 inline void
-Linear_System::unset_pending_rows() {
+Linear_System<Row>::unset_pending_rows() {
   index_first_pending = num_rows();
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::set_index_first_pending_row(const dimension_type i) {
+Linear_System<Row>::set_index_first_pending_row(const dimension_type i) {
   index_first_pending = i;
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(const Linear_System& y)
-  : Matrix(y),
-    row_topology(y.row_topology) {
+Linear_System<Row>::Linear_System(const Linear_System& y)
+  : rows(y.rows),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    representation_(y.representation_) {
+  // Previously pending rows may violate sortedness.
+  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
   unset_pending_rows();
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_System<Row>::Linear_System(const Linear_System& y, Representation r)
+  : rows(),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    representation_(r) {
+  rows.resize(y.num_rows());
+  for (dimension_type i = 0; i < y.num_rows(); ++i) {
+    // Create the copies with the right representation.
+    Row row(y.rows[i], r);
+    swap(rows[i], row);
+  }
   // Previously pending rows may violate sortedness.
   sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  PPL_ASSERT(num_pending_rows() == 0);
+  unset_pending_rows();
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(const Linear_System& y, With_Pending)
-  : Matrix(y),
+Linear_System<Row>::Linear_System(const Linear_System& y, With_Pending)
+  : rows(y.rows),
+    space_dimension_(y.space_dimension_),
     row_topology(y.row_topology),
     index_first_pending(y.index_first_pending),
-    sorted(y.sorted) {
+    sorted(y.sorted),
+    representation_(y.representation_) {
+  PPL_ASSERT(OK());
 }
 
-inline Linear_System&
-Linear_System::operator=(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  unset_pending_rows();
-  // Previously pending rows may violate sortedness.
-  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  PPL_ASSERT(num_pending_rows() == 0);
+template <typename Row>
+inline
+Linear_System<Row>::Linear_System(const Linear_System& y, Representation r,
+                                  With_Pending)
+  : rows(),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    index_first_pending(y.index_first_pending),
+    sorted(y.sorted),
+    representation_(r) {
+  rows.resize(y.num_rows());
+  for (dimension_type i = 0; i < y.num_rows(); ++i) {
+    // Create the copies with the right representation.
+    Row row(y.rows[i], r);
+    swap(rows[i], row);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Linear_System<Row>&
+Linear_System<Row>::operator=(const Linear_System& y) {
+  // NOTE: Pending rows are transformed into non-pending ones.
+  Linear_System<Row> tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
+template <typename Row>
 inline void
-Linear_System::assign_with_pending(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  index_first_pending = y.index_first_pending;
-  sorted = y.sorted;
+Linear_System<Row>::assign_with_pending(const Linear_System& y) {
+  Linear_System<Row> tmp(y, With_Pending());
+  swap(*this, tmp);
 }
 
+template <typename Row>
 inline void
-Linear_System::swap(Linear_System& y) {
-  Matrix::swap(y);
-  std::swap(row_topology, y.row_topology);
-  std::swap(index_first_pending, y.index_first_pending);
-  std::swap(sorted, y.sorted);
+Linear_System<Row>::m_swap(Linear_System& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(space_dimension_, y.space_dimension_);
+  swap(row_topology, y.row_topology);
+  swap(index_first_pending, y.index_first_pending);
+  swap(sorted, y.sorted);
+  swap(representation_, y.representation_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::clear() {
-  // Note: do NOT modify the value of `row_topology'.
-  Matrix::clear();
+Linear_System<Row>::clear() {
+  // Note: do NOT modify the value of `row_topology' and `representation'.
+  rows.clear();
   index_first_pending = 0;
   sorted = true;
-}
+  space_dimension_ = 0;
 
-inline void
-Linear_System::resize_no_copy(const dimension_type new_n_rows,
-			      const dimension_type new_n_columns) {
-  Matrix::resize_no_copy(new_n_rows, new_n_columns,
-			 Linear_Row::Flags(row_topology));
-  // Even though `*this' may happen to keep its sortedness, we believe
-  // that checking such a property is not worth the effort.  In fact,
-  // it is very likely that the system will be overwritten as soon as
-  // we return.
-  set_sorted(false);
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::set_necessarily_closed() {
+Linear_System<Row>::mark_as_necessarily_closed() {
+  PPL_ASSERT(topology() == NOT_NECESSARILY_CLOSED);
   row_topology = NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
+  ++space_dimension_;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].mark_as_necessarily_closed();
 }
 
+template <typename Row>
 inline void
-Linear_System::set_not_necessarily_closed() {
+Linear_System<Row>::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(topology() == NECESSARILY_CLOSED);
+  PPL_ASSERT(space_dimension() > 0);
   row_topology = NOT_NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
+  --space_dimension_;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].mark_as_not_necessarily_closed();
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::set_topology(Topology t) {
+  if (topology() == t)
+    return;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].set_topology(t);
+  row_topology = t;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
 }
 
+template <typename Row>
+inline void
+Linear_System<Row>::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+template <typename Row>
 inline bool
-Linear_System::is_necessarily_closed() const {
+Linear_System<Row>::is_necessarily_closed() const {
   return row_topology == NECESSARILY_CLOSED;
 }
 
-inline Linear_Row&
-Linear_System::operator[](const dimension_type k) {
-  return static_cast<Linear_Row&>(Matrix::operator[](k));
+template <typename Row>
+inline const Row&
+Linear_System<Row>::operator[](const dimension_type k) const {
+  return rows[k];
+}
+
+template <typename Row>
+inline typename Linear_System<Row>::iterator
+Linear_System<Row>::begin() {
+  return rows.begin();
 }
 
-inline const Linear_Row&
-Linear_System::operator[](const dimension_type k) const {
-  return static_cast<const Linear_Row&>(Matrix::operator[](k));
+template <typename Row>
+inline typename Linear_System<Row>::iterator
+Linear_System<Row>::end() {
+  return rows.end();
 }
 
+template <typename Row>
+inline typename Linear_System<Row>::const_iterator
+Linear_System<Row>::begin() const {
+  return rows.begin();
+}
+
+template <typename Row>
+inline typename Linear_System<Row>::const_iterator
+Linear_System<Row>::end() const {
+  return rows.end();
+}
+
+template <typename Row>
+inline bool
+Linear_System<Row>::has_no_rows() const {
+  return rows.empty();
+}
+
+template <typename Row>
+inline dimension_type
+Linear_System<Row>::num_rows() const {
+  return rows.size();
+}
+
+template <typename Row>
 inline Topology
-Linear_System::topology() const {
+Linear_System<Row>::topology() const {
   return row_topology;
 }
 
+template <typename Row>
+inline Representation
+Linear_System<Row>::representation() const {
+  return representation_;
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::set_representation(Representation r) {
+  representation_ = r;
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].set_representation(r);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
 inline dimension_type
-Linear_System::max_space_dimension() {
-  // Column zero holds the inhomogeneous term or the divisor.
-  // In NNC linear systems, the last column holds the coefficient
-  // of the epsilon dimension.
-  return max_num_columns() - 2;
+Linear_System<Row>::max_space_dimension() {
+  return Row::max_space_dimension();
 }
 
+template <typename Row>
 inline dimension_type
-Linear_System::space_dimension() const {
-  const dimension_type n_columns = num_columns();
-  return (n_columns == 0)
-    ? 0
-    : n_columns - (is_necessarily_closed() ? 1 : 2);
+Linear_System<Row>::space_dimension() const {
+  return space_dimension_;
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::set_space_dimension_no_ok(dimension_type space_dim) {
+  for (dimension_type i = rows.size(); i-- > 0; )
+    rows[i].set_space_dimension_no_ok(space_dim);
+  space_dimension_ = space_dim;
 }
 
+template <typename Row>
 inline void
-Linear_System::remove_trailing_columns(const dimension_type n) {
-  Matrix::remove_trailing_columns(n);
-  // Have to re-normalize the rows of the system,
-  // since we removed some coefficients.
-  strong_normalize();
+Linear_System<Row>::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::permute_columns(const std::vector<dimension_type>& cycles) {
-  Matrix::permute_columns(cycles);
-  // The rows with permuted columns are still normalized but may
-  // be not strongly normalized: sign normalization is necessary.
-  sign_normalize();
+Linear_System<Row>::remove_row_no_ok(const dimension_type i,
+                                     const bool keep_sorted) {
+  PPL_ASSERT(i < num_rows());
+  bool was_pending = (i >= index_first_pending);
+
+  if (sorted && keep_sorted && !was_pending) {
+    for (dimension_type j = i + 1; j < rows.size(); ++j)
+      swap(rows[j], rows[j-1]);
+    rows.pop_back();
+  } else {
+    if (!was_pending)
+      sorted = false;
+    bool last_row_is_pending = (num_rows() - 1 >= index_first_pending);
+    if (was_pending == last_row_is_pending)
+      // Either both rows are pending or both rows are not pending.
+      swap(rows[i], rows.back());
+    else {
+      // Pending rows are stored after the non-pending ones.
+      PPL_ASSERT(!was_pending);
+      PPL_ASSERT(last_row_is_pending);
+
+      // Swap the row with the last non-pending row.
+      swap(rows[i], rows[index_first_pending - 1]);
+
+      // Now the (non-pending) row that has to be deleted is between the
+      // non-pending and the pending rows.
+      swap(rows[i], rows.back());
+    }
+    rows.pop_back();
+  }
+  if (!was_pending)
+    // A non-pending row has been removed.
+    --index_first_pending;
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::remove_row(const dimension_type i, bool keep_sorted) {
+  remove_row_no_ok(i, keep_sorted);
+  PPL_ASSERT(OK());
+}
+
+
+template <typename Row>
+inline void
+Linear_System<Row>::remove_rows(dimension_type first,
+                                dimension_type last,
+                                bool keep_sorted) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= num_rows());
+  const dimension_type n = last - first;
+
+  if (n == 0)
+    return;
+
+  // All the rows that have to be removed must have the same (pending or
+  // non-pending) status.
+  PPL_ASSERT(first >= index_first_pending || last <= index_first_pending);
+
+  bool were_pending = (first >= index_first_pending);
+
+  // Move the rows in [first,last) at the end of the system.
+  if (sorted && keep_sorted && !were_pending) {
+    // Preserve the row ordering.
+    for (dimension_type i = last; i < rows.size(); ++i)
+      swap(rows[i], rows[i - n]);
+
+    rows.resize(rows.size() - n);
+
+    // `n' non-pending rows have been removed.
+    index_first_pending -= n;
+
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  // We can ignore the row ordering, but we must not mix pending and
+  // non-pending rows.
+
+  dimension_type offset = rows.size() - n - first;
+  // We want to swap the rows in [first, last) and
+  // [first + offset, last + offset) (note that these intervals may not be
+  // disjunct).
+
+  if (index_first_pending == num_rows()) {
+    // There are no pending rows.
+    PPL_ASSERT(!were_pending);
+
+    swap_row_intervals(first, last, offset);
+
+    rows.resize(rows.size() - n);
+
+    // `n' non-pending rows have been removed.
+    index_first_pending -= n;
+  } else {
+    // There are some pending rows in [first + offset, last + offset).
+    if (were_pending) {
+      // Both intervals contain only pending rows, because the second
+      // interval is after the first.
+
+      swap_row_intervals(first, last, offset);
+
+      rows.resize(rows.size() - n);
+
+      // `n' non-pending rows have been removed.
+      index_first_pending -= n;
+    } else {
+      PPL_ASSERT(rows.size() - n < index_first_pending);
+      PPL_ASSERT(rows.size() > index_first_pending);
+      PPL_ASSERT(!were_pending);
+      // In the [size() - n, size()) interval there are some non-pending
+      // rows and some pending ones. Be careful not to mix them.
+
+      PPL_ASSERT(index_first_pending >= last);
+      swap_row_intervals(first, last, index_first_pending - last);
+
+      // Mark the rows that must be deleted as pending.
+      index_first_pending -= n;
+      first = index_first_pending;
+      last = first + n;
+
+      // Move them at the end of the system.
+      swap_row_intervals(first, last, num_rows() - last);
+
+      // Actually remove the rows.
+      rows.resize(rows.size() - n);
+    }
+  }
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::swap_row_intervals(dimension_type first,
+                                       dimension_type last,
+                                       dimension_type offset) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last + offset <= num_rows());
+#ifndef NDEBUG
+  if (first < last) {
+    bool first_interval_has_pending_rows = (last > index_first_pending);
+    bool second_interval_has_pending_rows = (last + offset > index_first_pending);
+    bool first_interval_has_not_pending_rows = (first < index_first_pending);
+    bool second_interval_has_not_pending_rows = (first + offset < index_first_pending);
+    PPL_ASSERT(first_interval_has_not_pending_rows
+               == !first_interval_has_pending_rows);
+    PPL_ASSERT(second_interval_has_not_pending_rows
+               == !second_interval_has_pending_rows);
+    PPL_ASSERT(first_interval_has_pending_rows
+               == second_interval_has_pending_rows);
+  }
+#endif
+  if (first + offset < last) {
+    // The intervals are not disjunct, make them so.
+    const dimension_type k = last - first - offset;
+    last -= k;
+    offset += k;
+  }
+
+  if (first == last)
+    // Nothing to do.
+    return;
+
+  for (dimension_type i = first; i < last; ++i)
+    swap(rows[i], rows[i + offset]);
+
+  if (first < index_first_pending)
+    // The swaps involved not pending rows, so they may not be sorted anymore.
+    set_sorted(false);
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::remove_rows(const std::vector<dimension_type>& indexes) {
+#ifndef NDEBUG
+  {
+    // Check that `indexes' is sorted.
+    std::vector<dimension_type> sorted_indexes = indexes;
+    std::sort(sorted_indexes.begin(), sorted_indexes.end());
+    PPL_ASSERT(indexes == sorted_indexes);
+
+    // Check that the last index (if any) is lower than num_rows().
+    // This guarantees that all indexes are in [0, num_rows()).
+    if (!indexes.empty())
+      PPL_ASSERT(indexes.back() < num_rows());
+  }
+#endif
+
+  if (indexes.empty())
+    return;
+
+  const dimension_type rows_size = rows.size();
+  typedef std::vector<dimension_type>::const_iterator itr_t;
+
+  // `i' and last_unused_row' start with the value `indexes[0]' instead
+  // of `0', because the loop would just increment `last_unused_row' in the
+  // preceding iterations.
+  dimension_type last_unused_row = indexes[0];
+  dimension_type i = indexes[0];
+  itr_t itr = indexes.begin();
+  itr_t itr_end = indexes.end();
+  while (itr != itr_end) {
+    // i <= *itr < rows_size
+    PPL_ASSERT(i < rows_size);
+    if (*itr == i) {
+      // The current row has to be removed, don't increment last_unused_row.
+      ++itr;
+    } else {
+      // The current row must not be removed, swap it after the last used row.
+      swap(rows[last_unused_row], rows[i]);
+      ++last_unused_row;
+    }
+    ++i;
+  }
+
+  // Move up the remaining rows, if any.
+  for ( ; i < rows_size; ++i) {
+    swap(rows[last_unused_row], rows[i]);
+    ++last_unused_row;
+  }
+
+  PPL_ASSERT(last_unused_row == num_rows() - indexes.size());
+
+  // The rows that have to be removed are now at the end of the system, just
+  // remove them.
+  rows.resize(last_unused_row);
+
+  // Adjust index_first_pending.
+  if (indexes[0] >= index_first_pending) {
+    // Removing pending rows only.
+  } else {
+    if (indexes.back() < index_first_pending) {
+      // Removing non-pending rows only.
+      index_first_pending -= indexes.size();
+    } else {
+      // Removing some pending and some non-pending rows, count the
+      // non-pending rows that must be removed.
+      // This exploits the fact that `indexes' is sorted by using binary
+      // search.
+      itr_t j = std::lower_bound(indexes.begin(), indexes.end(),
+                                 index_first_pending);
+      std::iterator_traits<itr_t>::difference_type
+        non_pending = j - indexes.begin();
+      index_first_pending -= static_cast<dimension_type>(non_pending);
+    }
+  }
+
+  // NOTE: This method does *not* call set_sorted(false), because it preserves
+  // the relative row ordering.
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>::remove_trailing_rows(const dimension_type n) {
+  PPL_ASSERT(rows.size() >= n);
+  rows.resize(rows.size() - n);
+  if (first_pending_row() > rows.size())
+    index_first_pending = rows.size();
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].permute_space_dimensions(cycle);
+  sorted = false;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_System<Row>
+::swap_space_dimensions(Variable v1, Variable v2) {
+  PPL_ASSERT(v1.space_dimension() <= space_dimension());
+  PPL_ASSERT(v2.space_dimension() <= space_dimension());
+  for (dimension_type k = num_rows(); k-- > 0; )
+    rows[k].swap_space_dimensions(v1, v2);
+  sorted = false;
+  PPL_ASSERT(OK());
 }
 
 /*! \relates Linear_System */
+template <typename Row>
 inline bool
-operator!=(const Linear_System& x, const Linear_System& y) {
+operator!=(const Linear_System<Row>& x, const Linear_System<Row>& y) {
   return !(x == y);
 }
 
+template <typename Row>
 inline bool
-Linear_System::Row_Less_Than::operator()(const Row& x, const Row& y) const {
-  return compare(static_cast<const Linear_Row&>(x),
-		 static_cast<const Linear_Row&>(y)) < 0;
+Linear_System<Row>::Row_Less_Than::operator()(const Row& x,
+                                              const Row& y) const {
+  return compare(x, y) < 0;
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename Row>
+inline
+Linear_System<Row>::Unique_Compare
+::Unique_Compare(const Swapping_Vector<Row>& cont,
+                 dimension_type base)
+  : container(cont), base_index(base) {
+}
 
-namespace std {
+template <typename Row>
+inline bool
+Linear_System<Row>::Unique_Compare
+::operator()(dimension_type i, dimension_type j) const {
+  return container[base_index + i].is_equal_to(container[base_index + j]);
+}
 
-/*! \relates Parma_Polyhedra_Library::Linear_System */
+/*! \relates Linear_System */
+template <typename Row>
 inline void
-swap(Parma_Polyhedra_Library::Linear_System& x,
-     Parma_Polyhedra_Library::Linear_System& y) {
-  x.swap(y);
+swap(Linear_System<Row>& x, Linear_System<Row>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Linear_System_inlines_hh)
diff --git a/src/Linear_System.templates.hh b/src/Linear_System.templates.hh
new file mode 100644
index 0000000..58b88ee
--- /dev/null
+++ b/src/Linear_System.templates.hh
@@ -0,0 +1,923 @@
+/* Linear_System class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Linear_System_templates_hh
+#define PPL_Linear_System_templates_hh 1
+
+#include "Bit_Matrix.defs.hh"
+#include "Linear_Expression.defs.hh"
+#include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
+#include <algorithm>
+#include <iostream>
+#include <string>
+#include <deque>
+
+#include "swapping_sort.templates.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+dimension_type
+Linear_System<Row>::num_lines_or_equalities() const {
+  PPL_ASSERT(num_pending_rows() == 0);
+  const Linear_System& x = *this;
+  dimension_type n = 0;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    if (x[i].is_line_or_equality())
+      ++n;
+  return n;
+}
+
+template <typename Row>
+void
+Linear_System<Row>::merge_rows_assign(const Linear_System& y) {
+  PPL_ASSERT(space_dimension() >= y.space_dimension());
+  // Both systems have to be sorted and have no pending rows.
+  PPL_ASSERT(check_sorted() && y.check_sorted());
+  PPL_ASSERT(num_pending_rows() == 0 && y.num_pending_rows() == 0);
+
+  Linear_System& x = *this;
+
+  // A temporary vector...
+  Swapping_Vector<Row> tmp;
+  // ... with enough capacity not to require any reallocations.
+  tmp.reserve(compute_capacity(x.rows.size() + y.rows.size(),
+                               tmp.max_num_rows()));
+
+  dimension_type xi = 0;
+  dimension_type x_num_rows = x.num_rows();
+  dimension_type yi = 0;
+  dimension_type y_num_rows = y.num_rows();
+
+  while (xi < x_num_rows && yi < y_num_rows) {
+    const int comp = compare(x[xi], y[yi]);
+    if (comp <= 0) {
+      // Elements that can be taken from `x' are actually _stolen_ from `x'
+      tmp.resize(tmp.size() + 1);
+      swap(tmp.back(), x.rows[xi++]);
+      tmp.back().set_representation(representation());
+      if (comp == 0)
+	// A duplicate element.
+	++yi;
+    }
+    else {
+      // (comp > 0)
+      tmp.resize(tmp.size() + 1);
+      Row copy(y[yi++], space_dimension(), representation());
+      swap(tmp.back(), copy);
+    }
+  }
+  // Insert what is left.
+  if (xi < x_num_rows)
+    while (xi < x_num_rows) {
+      tmp.resize(tmp.size() + 1);
+      swap(tmp.back(), x.rows[xi++]);
+      tmp.back().set_representation(representation());
+    }
+  else
+    while (yi < y_num_rows) {
+      tmp.resize(tmp.size() + 1);
+      Row copy(y[yi++], space_dimension(), representation());
+      swap(tmp.back(), copy);
+    }
+
+  // We get the result matrix and let the old one be destroyed.
+  swap(tmp, rows);
+  // There are no pending rows.
+  unset_pending_rows();
+  PPL_ASSERT(check_sorted());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::ascii_dump(std::ostream& s) const {
+  // Prints the topology, the number of rows, the number of columns
+  // and the sorted flag.  The specialized methods provided by
+  // Constraint_System and Generator_System take care of properly
+  // printing the contents of the system.
+  s << "topology " << (is_necessarily_closed()
+		       ? "NECESSARILY_CLOSED"
+		       : "NOT_NECESSARILY_CLOSED")
+    << "\n"
+    << num_rows() << " x " << space_dimension() << " ";
+  Parma_Polyhedra_Library::ascii_dump(s, representation());
+  s << " " << (sorted ? "(sorted)" : "(not_sorted)")
+    << "\n"
+    << "index_first_pending " << first_pending_row()
+    << "\n";
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].ascii_dump(s);
+}
+
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(Row, Linear_System<Row>)
+
+template <typename Row>
+bool
+Linear_System<Row>::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "topology")
+    return false;
+  if (!(s >> str))
+    return false;
+
+  clear();
+
+  Topology t;
+  if (str == "NECESSARILY_CLOSED")
+    t = NECESSARILY_CLOSED;
+  else {
+    if (str != "NOT_NECESSARILY_CLOSED")
+      return false;
+    t = NOT_NECESSARILY_CLOSED;
+  }
+
+  set_topology(t);
+
+  dimension_type nrows;
+  dimension_type space_dims;
+  if (!(s >> nrows))
+    return false;
+  if (!(s >> str) || str != "x")
+    return false;
+  if (!(s >> space_dims))
+    return false;
+
+  space_dimension_ = space_dims;
+
+  if (!Parma_Polyhedra_Library::ascii_load(s, representation_))
+    return false;
+
+  if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)"))
+    return false;
+  bool sortedness = (str == "(sorted)");
+  dimension_type index;
+  if (!(s >> str) || str != "index_first_pending")
+    return false;
+  if (!(s >> index))
+    return false;
+
+  Row row;
+  for (dimension_type i = 0; i < nrows; ++i) {
+    if (!row.ascii_load(s))
+      return false;
+    insert(row, Recycle_Input());
+  }
+  index_first_pending = index;
+  sorted = sortedness;
+
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert(const Row& r) {
+  Row tmp(r, representation());
+  insert(tmp, Recycle_Input());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert(Row& r, Recycle_Input) {
+  insert_no_ok(r, Recycle_Input());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_no_ok(Row& r, Recycle_Input) {
+  PPL_ASSERT(topology() == r.topology());
+  // This method is only used when the system has no pending rows.
+  PPL_ASSERT(num_pending_rows() == 0);
+
+  const bool was_sorted = is_sorted();
+
+  insert_pending_no_ok(r, Recycle_Input());
+
+  if (was_sorted) {
+    const dimension_type nrows = num_rows();
+    // The added row may have caused the system to be not sorted anymore.
+    if (nrows > 1) {
+      // If the system is not empty and the inserted row is the
+      // greatest one, the system is set to be sorted.
+      // If it is not the greatest one then the system is no longer sorted.
+      sorted = (compare(rows[nrows-2], rows[nrows-1]) <= 0);
+    }
+    else
+      // A system having only one row is sorted.
+      sorted = true;
+  }
+
+  unset_pending_rows();
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_pending_no_ok(Row& r, Recycle_Input) {
+  // TODO: A Grid_Generator_System may contain non-normalized lines that
+  // represent parameters, so this check is disabled. Consider re-enabling it
+  // when it's possibile.
+  /*
+    // The added row must be strongly normalized and have the same
+    // number of elements as the existing rows of the system.
+    PPL_ASSERT(r.check_strong_normalized());
+  */
+  PPL_ASSERT(r.topology() == topology());
+
+  r.set_representation(representation());
+
+  if (space_dimension() < r.space_dimension())
+    set_space_dimension_no_ok(r.space_dimension());
+  else
+    r.set_space_dimension_no_ok(space_dimension());
+
+  rows.resize(rows.size() + 1);
+  swap(rows.back(), r);
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(const Row& r) {
+  Row tmp(r, representation());
+  insert_pending(tmp, Recycle_Input());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(Row& r, Recycle_Input) {
+  insert_pending_no_ok(r, Recycle_Input());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(const Linear_System& y) {
+  Linear_System tmp(y, representation(), With_Pending());
+  insert_pending(tmp, Recycle_Input());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(Linear_System& y, Recycle_Input) {
+  Linear_System& x = *this;
+  PPL_ASSERT(x.space_dimension() == y.space_dimension());
+
+  // Steal the rows of `y'.
+  // This loop must use an increasing index (instead of a decreasing one) to
+  // preserve the row ordering.
+  for (dimension_type i = 0; i < y.num_rows(); ++i)
+    x.insert_pending(y.rows[i], Recycle_Input());
+
+  y.clear();
+
+  PPL_ASSERT(x.OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert(const Linear_System& y) {
+  Linear_System tmp(y, representation(), With_Pending());
+  insert(tmp, Recycle_Input());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::insert(Linear_System& y, Recycle_Input) {
+  PPL_ASSERT(num_pending_rows() == 0);
+
+  // Adding no rows is a no-op.
+  if (y.has_no_rows())
+    return;
+
+  // Check if sortedness is preserved.
+  if (is_sorted()) {
+    if (!y.is_sorted() || y.num_pending_rows() > 0)
+      sorted = false;
+    else {
+      // `y' is sorted and has no pending rows.
+      const dimension_type n_rows = num_rows();
+      if (n_rows > 0)
+        sorted = (compare(rows[n_rows-1], y[0]) <= 0);
+    }
+  }
+
+  // Add the rows of `y' as if they were pending.
+  insert_pending(y, Recycle_Input());
+
+  // TODO: May y have pending rows? Should they remain pending?
+
+  // There are no pending_rows.
+  unset_pending_rows();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::remove_space_dimensions(const Variables_Set& vars) {
+  // Dimension-compatibility assertion.
+  PPL_ASSERT(space_dimension() >= vars.space_dimension());
+
+  // The removal of no dimensions from any system is a no-op.  This
+  // case also captures the only legal removal of dimensions from a
+  // 0-dim system.
+  if (vars.empty())
+    return;
+
+  // NOTE: num_rows() is *not* constant, because it may be decreased by
+  // remove_row_no_ok().
+  for (dimension_type i = 0; i < num_rows(); ) {
+    bool valid = rows[i].remove_space_dimensions(vars);
+    if (!valid) {
+      // Remove the current row.
+      // We can't call remove_row(i) here, because the system is not OK as
+      // some rows already have the new space dimension and others still have
+      // the old one.
+      remove_row_no_ok(i, false);
+    } else
+      ++i;
+  }
+
+  space_dimension_ -= vars.size();
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::shift_space_dimensions(Variable v, dimension_type n) {
+  // NOTE: v.id() may be equal to the space dimension of the system
+  // (when no space dimension need to be shifted).
+  PPL_ASSERT(v.id() <= space_dimension());
+  for (dimension_type i = rows.size(); i-- > 0; )
+    rows[i].shift_space_dimensions(v, n);
+  space_dimension_ += n;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::sort_rows() {
+  // We sort the non-pending rows only.
+  sort_rows(0, first_pending_row());
+  sorted = true;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::sort_rows(const dimension_type first_row,
+			      const dimension_type last_row) {
+  PPL_ASSERT(first_row <= last_row && last_row <= num_rows());
+  // We cannot mix pending and non-pending rows.
+  PPL_ASSERT(first_row >= first_pending_row()
+             || last_row <= first_pending_row());
+
+  bool sorting_pending = (first_row >= first_pending_row());
+  const dimension_type old_num_pending = num_pending_rows();
+
+  const dimension_type num_elems = last_row - first_row;
+  if (num_elems < 2)
+    return;
+
+  // Build the function objects implementing indirect sort comparison,
+  // indirect unique comparison and indirect swap operation.
+  using namespace Implementation;
+  typedef Swapping_Vector<Row> Cont;
+  typedef Indirect_Sort_Compare<Cont, Row_Less_Than> Sort_Compare;
+  typedef Indirect_Swapper<Cont> Swapper;
+  const dimension_type num_duplicates
+    = indirect_sort_and_unique(num_elems,
+                               Sort_Compare(rows, first_row),
+                               Unique_Compare(rows, first_row),
+                               Swapper(rows, first_row));
+
+  if (num_duplicates > 0) {
+    typedef typename Cont::iterator Iter;
+    typedef typename std::iterator_traits<Iter>::difference_type diff_t;
+    Iter last = rows.begin() + static_cast<diff_t>(last_row);
+    Iter first = last - + static_cast<diff_t>(num_duplicates);
+    rows.erase(first, last);
+  }
+
+  if (sorting_pending) {
+    PPL_ASSERT(old_num_pending >= num_duplicates);
+    index_first_pending = num_rows() - (old_num_pending - num_duplicates);
+  } else {
+    index_first_pending = num_rows() - old_num_pending;
+  }
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::strong_normalize() {
+  const dimension_type nrows = rows.size();
+  // We strongly normalize also the pending rows.
+  for (dimension_type i = nrows; i-- > 0; )
+    rows[i].strong_normalize();
+  sorted = (nrows <= 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::sign_normalize() {
+  const dimension_type nrows = rows.size();
+  // We sign-normalize also the pending rows.
+  for (dimension_type i = nrows; i-- > 0; )
+    rows[i].sign_normalize();
+  sorted = (nrows <= 1);
+  PPL_ASSERT(OK());
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_System */
+template <typename Row>
+bool
+operator==(const Linear_System<Row>& x, const Linear_System<Row>& y) {
+  if (x.space_dimension() != y.space_dimension())
+    return false;
+  const dimension_type x_num_rows = x.num_rows();
+  const dimension_type y_num_rows = y.num_rows();
+  if (x_num_rows != y_num_rows)
+    return false;
+  if (x.first_pending_row() != y.first_pending_row())
+    return false;
+  // TODO: Check if the following comment is up to date.
+  // Notice that calling operator==(const Swapping_Vector<Row>&,
+  //                                const Swapping_Vector<Row>&)
+  // would be wrong here, as equality of the type fields would
+  // not be checked.
+  for (dimension_type i = x_num_rows; i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
+}
+
+template <typename Row>
+void
+Linear_System<Row>::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  // We can only sort the non-pending part of the system.
+  PPL_ASSERT(first_pending_row() == sat.num_rows());
+  if (first_pending_row() <= 1) {
+    set_sorted(true);
+    return;
+  }
+
+  const dimension_type num_elems = sat.num_rows();
+  // Build the function objects implementing indirect sort comparison,
+  // indirect unique comparison and indirect swap operation.
+  typedef Swapping_Vector<Row> Cont;
+  Implementation::Indirect_Sort_Compare<Cont, Row_Less_Than> sort_cmp(rows);
+  Unique_Compare unique_cmp(rows);
+  Implementation::Indirect_Swapper2<Cont, Bit_Matrix> swapper(rows, sat);
+
+  const dimension_type num_duplicates
+    = Implementation::indirect_sort_and_unique(num_elems, sort_cmp, unique_cmp, swapper);
+
+  const dimension_type new_first_pending_row
+    = first_pending_row() - num_duplicates;
+
+  if (num_pending_rows() > 0) {
+    // In this case, we must put the duplicates after the pending rows.
+    const dimension_type n_rows = num_rows() - 1;
+    for (dimension_type i = 0; i < num_duplicates; ++i)
+      swap(rows[new_first_pending_row + i], rows[n_rows - i]);
+  }
+
+  // Erasing the duplicated rows...
+  rows.resize(rows.size() - num_duplicates);
+  index_first_pending = new_first_pending_row;
+  // ... and the corresponding rows of the saturation matrix.
+  sat.remove_trailing_rows(num_duplicates);
+
+  // Now the system is sorted.
+  sorted = true;
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+dimension_type
+Linear_System<Row>::gauss(const dimension_type n_lines_or_equalities) {
+  // This method is only applied to a linear system having no pending rows and
+  // exactly `n_lines_or_equalities' lines or equalities, all of which occur
+  // before the rays or points or inequalities.
+  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities == num_lines_or_equalities());
+#ifndef NDEBUG
+  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
+    PPL_ASSERT((*this)[i].is_line_or_equality());
+#endif
+
+  dimension_type rank = 0;
+  // Will keep track of the variations on the system of equalities.
+  bool changed = false;
+  // TODO: Don't use the number of columns.
+  const dimension_type num_cols
+    = is_necessarily_closed() ? space_dimension() + 1 : space_dimension() + 2;
+  // TODO: Consider exploiting the row (possible) sparseness of rows in the
+  // following loop, if needed. It would probably make it more cache-efficient
+  // for dense rows, too.
+  for (dimension_type j = num_cols; j-- > 0; )
+    for (dimension_type i = rank; i < n_lines_or_equalities; ++i) {
+      // Search for the first row having a non-zero coefficient
+      // (the pivot) in the j-th column.
+      if ((*this)[i].expr.get(j) == 0)
+	continue;
+      // Pivot found: if needed, swap rows so that this one becomes
+      // the rank-th row in the linear system.
+      if (i > rank) {
+	swap(rows[i], rows[rank]);
+	// After swapping the system is no longer sorted.
+	changed = true;
+      }
+      // Combine the row containing the pivot with all the lines or
+      // equalities following it, so that all the elements on the j-th
+      // column in these rows become 0.
+      for (dimension_type k = i + 1; k < n_lines_or_equalities; ++k) {
+        if (rows[k].expr.get(Variable(j - 1)) != 0) {
+          rows[k].linear_combine(rows[rank], j);
+          changed = true;
+        }
+      }
+      // Already dealt with the rank-th row.
+      ++rank;
+      // Consider another column index `j'.
+      break;
+    }
+  if (changed)
+    sorted = false;
+
+  PPL_ASSERT(OK());
+  return rank;
+}
+
+template <typename Row>
+void
+Linear_System<Row>
+::back_substitute(const dimension_type n_lines_or_equalities) {
+  // This method is only applied to a system having no pending rows and
+  // exactly `n_lines_or_equalities' lines or equalities, all of which occur
+  // before the first ray or point or inequality.
+  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities <= num_lines_or_equalities());
+#ifndef NDEBUG
+  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
+    PPL_ASSERT((*this)[i].is_line_or_equality());
+#endif
+
+  const dimension_type nrows = num_rows();
+  // Trying to keep sortedness.
+  bool still_sorted = is_sorted();
+  // This deque of Booleans will be used to flag those rows that,
+  // before exiting, need to be re-checked for sortedness.
+  std::deque<bool> check_for_sortedness;
+  if (still_sorted)
+    check_for_sortedness.insert(check_for_sortedness.end(), nrows, false);
+
+  for (dimension_type k = n_lines_or_equalities; k-- > 0; ) {
+    // For each line or equality, starting from the last one,
+    // looks for the last non-zero element.
+    // `j' will be the index of such a element.
+    Row& row_k = rows[k];
+    dimension_type j = row_k.expr.last_nonzero();
+    // TODO: Check this.
+    PPL_ASSERT(j != 0);
+
+    // Go through the equalities above `row_k'.
+    for (dimension_type i = k; i-- > 0; ) {
+      Row& row_i = rows[i];
+      if (row_i.expr.get(Variable(j - 1)) != 0) {
+	// Combine linearly `row_i' with `row_k'
+	// so that `row_i[j]' becomes zero.
+        row_i.linear_combine(row_k, j);
+	if (still_sorted) {
+	  // Trying to keep sortedness: remember which rows
+	  // have to be re-checked for sortedness at the end.
+	  if (i > 0)
+	    check_for_sortedness[i-1] = true;
+	  check_for_sortedness[i] = true;
+	}
+      }
+    }
+
+    // Due to strong normalization during previous iterations,
+    // the pivot coefficient `row_k[j]' may now be negative.
+    // Since an inequality (or ray or point) cannot be multiplied
+    // by a negative factor, the coefficient of the pivot must be
+    // forced to be positive.
+    const bool have_to_negate = (row_k.expr.get(Variable(j - 1)) < 0);
+    if (have_to_negate)
+      neg_assign(row_k.expr);
+
+    // NOTE: Here row_k will *not* be ok if we have negated it.
+
+    // Note: we do not mark index `k' in `check_for_sortedness',
+    // because we will later negate back the row.
+
+    // Go through all the other rows of the system.
+    for (dimension_type i = n_lines_or_equalities; i < nrows; ++i) {
+      Row& row_i = rows[i];
+      if (row_i.expr.get(Variable(j - 1)) != 0) {
+	// Combine linearly the `row_i' with `row_k'
+	// so that `row_i[j]' becomes zero.
+        row_i.linear_combine(row_k, j);
+	if (still_sorted) {
+	  // Trying to keep sortedness: remember which rows
+	  // have to be re-checked for sortedness at the end.
+	  if (i > n_lines_or_equalities)
+	    check_for_sortedness[i-1] = true;
+	  check_for_sortedness[i] = true;
+	}
+      }
+    }
+    if (have_to_negate)
+      // Negate `row_k' to restore strong-normalization.
+      neg_assign(row_k.expr);
+
+    PPL_ASSERT(row_k.OK());
+  }
+
+  // Trying to keep sortedness.
+  for (dimension_type i = 0; still_sorted && i+1 < nrows; ++i)
+    if (check_for_sortedness[i])
+      // Have to check sortedness of `(*this)[i]' with respect to `(*this)[i+1]'.
+      still_sorted = (compare((*this)[i], (*this)[i+1]) <= 0);
+
+  // Set the sortedness flag.
+  sorted = still_sorted;
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>::simplify() {
+  // This method is only applied to a system having no pending rows.
+  PPL_ASSERT(num_pending_rows() == 0);
+
+  // Partially sort the linear system so that all lines/equalities come first.
+  const dimension_type old_nrows = num_rows();
+  dimension_type nrows = old_nrows;
+  dimension_type n_lines_or_equalities = 0;
+  for (dimension_type i = 0; i < nrows; ++i)
+    if ((*this)[i].is_line_or_equality()) {
+      if (n_lines_or_equalities < i) {
+	swap(rows[i], rows[n_lines_or_equalities]);
+	// The system was not sorted.
+	PPL_ASSERT(!sorted);
+      }
+      ++n_lines_or_equalities;
+    }
+  // Apply Gaussian elimination to the subsystem of lines/equalities.
+  const dimension_type rank = gauss(n_lines_or_equalities);
+  // Eliminate any redundant line/equality that has been detected.
+  if (rank < n_lines_or_equalities) {
+    const dimension_type
+      n_rays_or_points_or_inequalities = nrows - n_lines_or_equalities;
+    const dimension_type
+      num_swaps = std::min(n_lines_or_equalities - rank,
+			   n_rays_or_points_or_inequalities);
+    for (dimension_type i = num_swaps; i-- > 0; )
+      swap(rows[--nrows], rows[rank + i]);
+    remove_trailing_rows(old_nrows - nrows);
+    if (n_rays_or_points_or_inequalities > num_swaps)
+      set_sorted(false);
+    unset_pending_rows();
+    n_lines_or_equalities = rank;
+  }
+  // Apply back-substitution to the system of rays/points/inequalities.
+  back_substitute(n_lines_or_equalities);
+
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_System<Row>
+::add_universe_rows_and_space_dimensions(const dimension_type n) {
+  PPL_ASSERT(n > 0);
+  const bool was_sorted = is_sorted();
+  const dimension_type old_n_rows = num_rows();
+  const dimension_type old_space_dim
+    = is_necessarily_closed() ? space_dimension() : space_dimension() + 1;
+  set_space_dimension(space_dimension() + n);
+  rows.resize(rows.size() + n);
+  // The old system is moved to the bottom.
+  for (dimension_type i = old_n_rows; i-- > 0; )
+    swap(rows[i], rows[i + n]);
+  for (dimension_type i = n, c = old_space_dim; i-- > 0; ) {
+    // The top right-hand sub-system (i.e., the system made of new
+    // rows and columns) is set to the specular image of the identity
+    // matrix.
+    if (Variable(c).space_dimension() <= space_dimension()) {
+      // Variable(c) is a user variable.
+      Linear_Expression le(representation());
+      le.set_space_dimension(space_dimension());
+      le += Variable(c);
+      Row r(le, Row::LINE_OR_EQUALITY, row_topology);
+      swap(r, rows[i]);
+    } else {
+      // Variable(c) is the epsilon dimension.
+      PPL_ASSERT(row_topology == NOT_NECESSARILY_CLOSED);
+      Linear_Expression le(Variable(c), representation());
+      Row r(le, Row::LINE_OR_EQUALITY, NECESSARILY_CLOSED);
+      r.mark_as_not_necessarily_closed();
+      swap(r, rows[i]);
+      // Note: `r' is strongly normalized.
+    }
+    ++c;
+  }
+  // If the old system was empty, the last row added is either
+  // a positivity constraint or a point.
+  if (was_sorted)
+    sorted = (compare(rows[n-1], rows[n]) <= 0);
+
+  // If the system is not necessarily closed, move the epsilon coefficients to
+  // the last column.
+  if (!is_necessarily_closed()) {
+    // Try to preserve sortedness of `gen_sys'.
+    PPL_ASSERT(old_space_dim != 0);
+    if (!is_sorted()) {
+      for (dimension_type i = n; i-- > 0; ) {
+        rows[i].expr.swap_space_dimensions(Variable(old_space_dim - 1),
+                                           Variable(old_space_dim - 1 + n));
+        PPL_ASSERT(rows[i].OK());
+      }
+    } else {
+      dimension_type old_eps_index = old_space_dim - 1;
+      // The upper-right corner of `rows' contains the J matrix:
+      // swap coefficients to preserve sortedness.
+      for (dimension_type i = n; i-- > 0; ++old_eps_index) {
+        rows[i].expr.swap_space_dimensions(Variable(old_eps_index),
+                                           Variable(old_eps_index + 1));
+        PPL_ASSERT(rows[i].OK());
+      }
+
+      sorted = true;
+    }
+  }
+  // NOTE: this already checks for OK().
+  set_index_first_pending_row(index_first_pending + n);
+}
+
+template <typename Row>
+void
+Linear_System<Row>::sort_pending_and_remove_duplicates() {
+  PPL_ASSERT(num_pending_rows() > 0);
+  PPL_ASSERT(is_sorted());
+
+  // The non-pending part of the system is already sorted.
+  // Now sorting the pending part..
+  const dimension_type first_pending = first_pending_row();
+  sort_rows(first_pending, num_rows());
+  // Recompute the number of rows, because we may have removed
+  // some rows occurring more than once in the pending part.
+  const dimension_type old_num_rows = num_rows();
+  dimension_type num_rows = old_num_rows;
+
+  dimension_type k1 = 0;
+  dimension_type k2 = first_pending;
+  dimension_type num_duplicates = 0;
+  // In order to erase them, put at the end of the system
+  // those pending rows that also occur in the non-pending part.
+  while (k1 < first_pending && k2 < num_rows) {
+    const int cmp = compare(rows[k1], rows[k2]);
+    if (cmp == 0) {
+      // We found the same row.
+      ++num_duplicates;
+      --num_rows;
+      // By initial sortedness, we can increment index `k1'.
+      ++k1;
+      // Do not increment `k2'; instead, swap there the next pending row.
+      if (k2 < num_rows)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    }
+    else if (cmp < 0)
+      // By initial sortedness, we can increment `k1'.
+      ++k1;
+    else {
+      // Here `cmp > 0'.
+      // Increment `k2' and, if we already found any duplicate,
+      // swap the next pending row in position `k2'.
+      ++k2;
+      if (num_duplicates > 0 && k2 < num_rows)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    }
+  }
+  // If needed, swap any duplicates found past the pending rows
+  // that has not been considered yet; then erase the duplicates.
+  if (num_duplicates > 0) {
+    if (k2 < num_rows)
+      for (++k2; k2 < num_rows; ++k2)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    rows.resize(num_rows);
+  }
+  sorted = true;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+bool
+Linear_System<Row>::check_sorted() const {
+  for (dimension_type i = first_pending_row(); i-- > 1; )
+    if (compare(rows[i], rows[i-1]) < 0)
+      return false;
+  return true;
+}
+
+template <typename Row>
+bool
+Linear_System<Row>::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+
+  for (dimension_type i = rows.size(); i-- > 0; ) {
+    if (rows[i].representation() != representation()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong representation!"
+           << endl;
+#endif
+      return false;
+    }
+    if (rows[i].space_dimension() != space_dimension()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong number of space dimensions!"
+           << endl;
+#endif
+      return false;
+    }
+  }
+
+  for (dimension_type i = rows.size(); i-- > 0; )
+    if (rows[i].topology() != topology()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong topology!"
+           << endl;
+#endif
+      return false;
+    }
+
+  // `index_first_pending' must be less than or equal to `num_rows()'.
+  if (first_pending_row() > num_rows()) {
+#ifndef NDEBUG
+    cerr << "Linear_System has a negative number of pending rows!"
+	 << endl;
+#endif
+    return false;
+  }
+
+  // Check for topology mismatches.
+  const dimension_type n_rows = num_rows();
+  for (dimension_type i = 0; i < n_rows; ++i)
+    if (topology() != rows[i].topology()) {
+#ifndef NDEBUG
+      cerr << "Topology mismatch between the system "
+	   << "and one of its rows!"
+	   << endl;
+#endif
+      return false;
+    }
+
+  if (sorted && !check_sorted()) {
+#ifndef NDEBUG
+    cerr << "The system declares itself to be sorted but it is not!"
+	 << endl;
+#endif
+    return false;
+  }
+
+  // All checks passed.
+  return true;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Linear_System_templates_hh)
diff --git a/src/Linear_System.types.hh b/src/Linear_System.types.hh
index acc7258..7e45c24 100644
--- a/src/Linear_System.types.hh
+++ b/src/Linear_System.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -15,8 +15,12 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
+template <typename Row>
 class Linear_System;
 
+template <typename Row>
+class Linear_System_With_Bit_Matrix_iterator;
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Linear_System_types_hh)
diff --git a/src/MIP_Problem.cc b/src/MIP_Problem.cc
index 977cbb1..ed00a0f 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -1,6 +1,6 @@
 /* MIP_Problem class implementation: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,24 +19,37 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "MIP_Problem.defs.hh"
 #include "globals.defs.hh"
 #include "Checked_Number.defs.hh"
-#include "Row.defs.hh"
 #include "Linear_Expression.defs.hh"
 #include "Constraint.defs.hh"
 #include "Constraint_System.defs.hh"
 #include "Constraint_System.inlines.hh"
 #include "Generator.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
+#include "math_utilities.defs.hh"
+
 #include <stdexcept>
 #include <deque>
+#include <vector>
 #include <algorithm>
 #include <cmath>
 
+// TODO: Remove this when the sparse working cost has been tested enough.
+#if PPL_USE_SPARSE_MATRIX
+
+// These are needed for the linear_combine() method that takes a Dense_Row and
+// a Sparse_Row.
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+
+#endif // PPL_USE_SPARSE_MATRIX
+
 #ifndef PPL_NOISY_SIMPLEX
 #define PPL_NOISY_SIMPLEX 0
 #endif
@@ -66,13 +79,14 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim)
   : external_space_dim(dim),
     internal_space_dim(0),
     tableau(),
-    working_cost(0, Row::Flags()),
+    working_cost(0),
     mapping(),
     base(),
     status(PARTIALLY_SATISFIABLE),
     pricing(PRICING_STEEPEST_EDGE_FLOAT),
     initialized(false),
     input_cs(),
+    inherited_constraints(0),
     first_pending_constraint(0),
     input_obj_function(),
     opt_mode(MAXIMIZATION),
@@ -81,26 +95,27 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim)
   // Check for space dimension overflow.
   if (dim > max_space_dimension())
     throw std::length_error("PPL::MIP_Problem::MIP_Problem(dim, cs, obj, "
-			    "mode):\n"
-			    "dim exceeds the maximum allowed "
-			    "space dimension.");
+                            "mode):\n"
+                            "dim exceeds the maximum allowed "
+                            "space dimension.");
   PPL_ASSERT(OK());
 }
 
 PPL::MIP_Problem::MIP_Problem(const dimension_type dim,
-			      const Constraint_System& cs,
-			      const Linear_Expression& obj,
-			      const Optimization_Mode mode)
+                              const Constraint_System& cs,
+                              const Linear_Expression& obj,
+                              const Optimization_Mode mode)
   : external_space_dim(dim),
     internal_space_dim(0),
     tableau(),
-    working_cost(0, Row::Flags()),
+    working_cost(0),
     mapping(),
     base(),
     status(PARTIALLY_SATISFIABLE),
     pricing(PRICING_STEEPEST_EDGE_FLOAT),
     initialized(false),
     input_cs(),
+    inherited_constraints(0),
     first_pending_constraint(0),
     input_obj_function(obj),
     opt_mode(mode),
@@ -109,9 +124,9 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim,
   // Check for space dimension overflow.
   if (dim > max_space_dimension())
     throw std::length_error("PPL::MIP_Problem::MIP_Problem(dim, cs, obj, "
-			    "mode):\n"
-			    "dim exceeds the maximum allowed"
-			    "space dimension.");
+                            "mode):\n"
+                            "dim exceeds the maximum allowed"
+                            "space dimension.");
   // Check the objective function.
   if (obj.space_dimension() > dim) {
     std::ostringstream s;
@@ -125,16 +140,19 @@ PPL::MIP_Problem::MIP_Problem(const dimension_type dim,
   if (cs.space_dimension() > dim) {
     std::ostringstream s;
     s << "PPL::MIP_Problem::MIP_Problem(dim, cs, obj, mode):\n"
-      << "cs.space_dimension == " << cs.space_dimension() << " exceeds dim == "
-      << dim << ".";
+      << "cs.space_dimension == " << cs.space_dimension()
+      << " exceeds dim == " << dim << ".";
     throw std::invalid_argument(s.str());
   }
   if (cs.has_strict_inequalities())
     throw std::invalid_argument("PPL::MIP_Problem::"
-				"MIP_Problem(d, cs, obj, m):\n"
-				"cs contains strict inequalities.");
+                                "MIP_Problem(d, cs, obj, m):\n"
+                                "cs contains strict inequalities.");
   // Actually copy the constraints.
-  input_cs.insert(input_cs.end(), cs.begin(), cs.end());
+  for (Constraint_System::const_iterator
+         i = cs.begin(), i_end = cs.end(); i != i_end; ++i)
+    add_constraint_helper(*i);
+
   PPL_ASSERT(OK());
 }
 
@@ -144,13 +162,13 @@ PPL::MIP_Problem::add_constraint(const Constraint& c) {
     std::ostringstream s;
     s << "PPL::MIP_Problem::add_constraint(c):\n"
       << "c.space_dimension() == "<< c.space_dimension() << " exceeds "
-      "this->space_dimension == " << space_dimension() << ".";
+         "this->space_dimension == " << space_dimension() << ".";
     throw std::invalid_argument(s.str());
   }
   if (c.is_strict_inequality())
     throw std::invalid_argument("PPL::MIP_Problem::add_constraint(c):\n"
-				"c is a strict inequality.");
-  input_cs.push_back(c);
+                                "c is a strict inequality.");
+  add_constraint_helper(c);
   if (status != UNSATISFIABLE)
     status = PARTIALLY_SATISFIABLE;
   PPL_ASSERT(OK());
@@ -168,8 +186,10 @@ PPL::MIP_Problem::add_constraints(const Constraint_System& cs) {
   }
   if (cs.has_strict_inequalities())
     throw std::invalid_argument("PPL::MIP_Problem::add_constraints(cs):\n"
-				"cs contains strict inequalities.");
-  input_cs.insert(input_cs.end(), cs.begin(), cs.end());
+                                "cs contains strict inequalities.");
+  for (Constraint_System::const_iterator
+         i = cs.begin(), i_end = cs.end(); i != i_end; ++i)
+    add_constraint_helper(*i);
   if (status != UNSATISFIABLE)
     status = PARTIALLY_SATISFIABLE;
   PPL_ASSERT(OK());
@@ -197,7 +217,7 @@ PPL::MIP_Problem::feasible_point() const {
     return last_generator;
   else
     throw std::domain_error("PPL::MIP_Problem::feasible_point():\n"
-			    "*this is not satisfiable.");
+                            "*this is not satisfiable.");
 }
 
 const PPL::Generator&
@@ -206,7 +226,7 @@ PPL::MIP_Problem::optimizing_point() const {
     return last_generator;
   else
     throw std::domain_error("PPL::MIP_Problem::optimizing_point():\n"
- 			    "*this doesn't have an optimizing point.");
+                            "*this does not have an optimizing point.");
 }
 
 bool
@@ -228,7 +248,7 @@ PPL::MIP_Problem::is_satisfiable() const {
       MIP_Problem& x = const_cast<MIP_Problem&>(*this);
       // LP case.
       if (x.i_variables.empty())
-	return x.is_lp_satisfiable();
+        return x.is_lp_satisfiable();
 
       // MIP case.
       {
@@ -250,7 +270,8 @@ PPL::MIP_Problem::is_satisfiable() const {
     }
   }
   // We should not be here!
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
 PPL::MIP_Problem_Status
@@ -271,17 +292,17 @@ PPL::MIP_Problem::solve() const{
     {
       MIP_Problem& x = const_cast<MIP_Problem&>(*this);
       if (x.i_variables.empty()) {
-	// LP case.
-	if (x.is_lp_satisfiable()) {
-	  x.second_phase();
-	  if (x.status == UNBOUNDED)
-	    return UNBOUNDED_MIP_PROBLEM;
-	  else {
-	    PPL_ASSERT(x.status == OPTIMIZED);
-	    return OPTIMIZED_MIP_PROBLEM;
-	  }
-	}
-	return UNFEASIBLE_MIP_PROBLEM;
+        // LP case.
+        if (x.is_lp_satisfiable()) {
+          x.second_phase();
+          if (x.status == UNBOUNDED)
+            return UNBOUNDED_MIP_PROBLEM;
+          else {
+            PPL_ASSERT(x.status == OPTIMIZED);
+            return OPTIMIZED_MIP_PROBLEM;
+          }
+        }
+        return UNFEASIBLE_MIP_PROBLEM;
       }
 
       // MIP case.
@@ -297,10 +318,10 @@ PPL::MIP_Problem::solve() const{
           // NOTE: `relaxed' destroyed: relaxation automatically reset.
           return UNFEASIBLE_MIP_PROBLEM;
         }
-        PPL_DIRTY_TEMP0(mpq_class, incumbent_solution);
+        PPL_DIRTY_TEMP(mpq_class, incumbent_solution);
         bool have_incumbent_solution = false;
 
-        MIP_Problem lp_copy(relaxed.lp);
+        MIP_Problem lp_copy(relaxed.lp, Inherit_Constraints());
         PPL_ASSERT(lp_copy.integer_space_dimensions().empty());
         return_value = solve_mip(have_incumbent_solution,
                                  incumbent_solution, g,
@@ -309,26 +330,27 @@ PPL::MIP_Problem::solve() const{
 
       switch (return_value) {
       case UNFEASIBLE_MIP_PROBLEM:
-	x.status = UNSATISFIABLE;
-	break;
+        x.status = UNSATISFIABLE;
+        break;
       case UNBOUNDED_MIP_PROBLEM:
-	x.status = UNBOUNDED;
-	// A feasible point has been set in `solve_mip()', so that
-	// a call to `feasible_point' will be successful.
-	x.last_generator = g;
-	break;
+        x.status = UNBOUNDED;
+        // A feasible point has been set in `solve_mip()', so that
+        // a call to `feasible_point' will be successful.
+        x.last_generator = g;
+        break;
       case OPTIMIZED_MIP_PROBLEM:
-	x.status = OPTIMIZED;
-	// Set the internal generator.
-	x.last_generator = g;
-	break;
+        x.status = OPTIMIZED;
+        // Set the internal generator.
+        x.last_generator = g;
+        break;
       }
       PPL_ASSERT(OK());
       return return_value;
     }
   }
   // We should not be here!
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return UNFEASIBLE_MIP_PROBLEM;
 }
 
 void
@@ -351,9 +373,9 @@ PPL::MIP_Problem
 ::add_to_integer_space_dimensions(const Variables_Set& i_vars) {
   if (i_vars.space_dimension() > external_space_dim)
     throw std::invalid_argument("PPL::MIP_Problem::"
-				"add_to_integer_space_dimension(i_vars):\n"
-				"*this and i_vars are dimension"
-				"incompatible.");
+                                "add_to_integer_space_dimension(i_vars):\n"
+                                "*this and i_vars are dimension"
+                                "incompatible.");
   const dimension_type original_size = i_variables.size();
   i_variables.insert(i_vars.begin(), i_vars.end());
   // If a new integral variable was inserted, set the internal status to
@@ -364,7 +386,7 @@ PPL::MIP_Problem
 
 bool
 PPL::MIP_Problem::is_in_base(const dimension_type var_index,
-			     dimension_type& row_index) const {
+                             dimension_type& row_index) const {
   for (row_index = base.size(); row_index-- > 0; )
     if (base[row_index] == var_index)
       return true;
@@ -379,39 +401,26 @@ PPL::MIP_Problem::merge_split_variable(dimension_type var_index) {
   const dimension_type removing_column = mapping[1+var_index].second;
 
   // Check if the negative part of the split variable is in base:
-  // if so, the corresponding tableau row becomes nonfeasible.
+  // if so, the corresponding row of the tableau becomes non-feasible.
   {
     dimension_type base_index;
     if (is_in_base(removing_column, base_index)) {
       // Set the return value.
       unfeasible_tableau_row = base_index;
-      // Reset base[base_index] to zero to remember nonfeasibility.
+      // Reset base[base_index] to zero to remember non-feasibility.
       base[base_index] = 0;
-#ifndef NDEBUG
       // Since the negative part of the variable is in base,
       // the positive part can not be in base too.
       PPL_ASSERT(!is_in_base(mapping[1+var_index].first, base_index));
-#endif
     }
   }
 
-  // Remove the column:
-  // first, make sure it is the last one in the tableau ...
-  const dimension_type tableau_num_cols = tableau.num_columns();
-  if (removing_column != tableau_num_cols - 1) {
-    std::vector<dimension_type> cycle;
-    for (dimension_type j = tableau_num_cols - 1; j >= removing_column; --j)
-      cycle.push_back(j);
-    cycle.push_back(0);
-    tableau.permute_columns(cycle);
-  }
-  // ... and then actually remove it.
-  tableau.remove_trailing_columns(1);
+  tableau.remove_column(removing_column);
 
   // var_index is no longer split.
   mapping[1+var_index].second = 0;
 
-  // Adjust data structured, `shifting' the proper columns to the left by 1.
+  // Adjust data structures, `shifting' the proper columns to the left by 1.
   const dimension_type base_size = base.size();
   for (dimension_type i = base_size; i-- > 0; ) {
     if (base[i] > removing_column)
@@ -432,17 +441,19 @@ bool
 PPL::MIP_Problem::is_satisfied(const Constraint& c, const Generator& g) {
   // Scalar_Products::sign() requires the second argument to be at least
   // as large as the first one.
-  int sp_sign = g.space_dimension() <= c.space_dimension()
+  int sp_sign
+    = (g.space_dimension() <= c.space_dimension())
     ? Scalar_Products::sign(g, c)
     : Scalar_Products::sign(c, g);
-  return c.is_inequality() ? sp_sign >= 0 : sp_sign == 0;
+  return c.is_inequality() ? (sp_sign >= 0) : (sp_sign == 0);
 }
 
 bool
 PPL::MIP_Problem::is_saturated(const Constraint& c, const Generator& g) {
   // Scalar_Products::sign() requires the space dimension of the second
   // argument to be at least as large as the one of the first one.
-  int sp_sign = g.space_dimension() <= c.space_dimension()
+  int sp_sign
+    = (g.space_dimension() <= c.space_dimension())
     ? Scalar_Products::sign(g, c)
     : Scalar_Products::sign(c, g);
   return sp_sign == 0;
@@ -464,7 +475,8 @@ PPL::MIP_Problem
 
   const dimension_type cs_space_dim = external_space_dim;
   const dimension_type cs_num_rows = input_cs.size();
-  const dimension_type cs_num_pending = cs_num_rows - first_pending_constraint;
+  const dimension_type cs_num_pending
+    = cs_num_rows - first_pending_constraint;
 
   // Counters determining the change in dimensions of the tableau:
   // initialized here, they will be updated while examining `input_cs'.
@@ -496,11 +508,12 @@ PPL::MIP_Problem
                                  internal_space_dim, false);
 
   // Check for variables that are already known to be nonnegative
-  // due to nonpending constraints.
+  // due to non-pending constraints.
   const dimension_type mapping_size = mapping.size();
   if (mapping_size > 0) {
     // Note: mapping[0] is associated to the cost function.
-    for (dimension_type i = std::min(mapping_size - 1, cs_space_dim); i-- > 0; )
+    for (dimension_type i = std::min(mapping_size - 1, cs_space_dim);
+         i-- > 0; )
       if (mapping[i + 1].second == 0)
         is_nonnegative_variable[i] = true;
   }
@@ -511,27 +524,22 @@ PPL::MIP_Problem
   //    will not be part of the tableau;
   //  - count the number of new slack variables.
   for (dimension_type i = cs_num_rows; i-- > first_pending_constraint; ) {
-    const Constraint& cs_i = input_cs[i];
-    bool found_a_nonzero_coeff = false;
-    bool found_many_nonzero_coeffs = false;
-    dimension_type nonzero_coeff_column_index = 0;
-    for (dimension_type sd = cs_i.space_dimension(); sd-- > 0; ) {
-      if (cs_i.coefficient(Variable(sd)) != 0) {
-	if (found_a_nonzero_coeff) {
-	  found_many_nonzero_coeffs = true;
-	  if (cs_i.is_inequality())
-	    ++additional_slack_variables;
-	  break;
-	}
-	else {
-	  nonzero_coeff_column_index = sd + 1;
-	  found_a_nonzero_coeff = true;
-	}
-      }
-    }
+    const Constraint& cs_i = *(input_cs[i]);
+    const dimension_type cs_i_end = cs_i.space_dimension() + 1;
+
+    dimension_type nonzero_coeff_column_index
+      = cs_i.expression().first_nonzero(1, cs_i_end);
+    bool found_a_nonzero_coeff = (nonzero_coeff_column_index != cs_i_end);
+    bool found_many_nonzero_coeffs
+      = (found_a_nonzero_coeff
+         && !cs_i.expression().all_zeroes(nonzero_coeff_column_index + 1,
+                                               cs_i_end));
+
     // If more than one coefficient is nonzero,
     // continue with next constraint.
     if (found_many_nonzero_coeffs) {
+      if (cs_i.is_inequality())
+        ++additional_slack_variables;
       // CHECKME: Is it true that in the first phase we can apply
       // `is_satisfied()' with the generator `point()'?  If so, the following
       // code works even if we do not have a feasible point.
@@ -551,10 +559,10 @@ PPL::MIP_Problem
           return false;
       }
       else
-	// The constraint is an equality.
-	if (cs_i.inhomogeneous_term() != 0)
-	  // A constraint such as 1 == 0 is trivially false.
-	  return false;
+        // The constraint is an equality.
+        if (cs_i.inhomogeneous_term() != 0)
+          // A constraint such as 1 == 0 is trivially false.
+          return false;
       // Here the constraint is trivially true.
       is_tableau_constraint[i - first_pending_constraint] = false;
       --additional_tableau_rows;
@@ -600,34 +608,34 @@ PPL::MIP_Problem
 
       // Cases 1-3: apply method A.
       if (sgn_a == sgn_b) {
-	if (cs_i.is_inequality())
-	  ++additional_slack_variables;
+        if (cs_i.is_inequality())
+          ++additional_slack_variables;
       }
       // Cases 4-5: apply method B.
       else if (cs_i.is_equality())
         is_nonnegative_variable[nonzero_var_index] = true;
       // Case 6: apply method B.
       else if (sgn_b < 0) {
-	is_nonnegative_variable[nonzero_var_index] = true;
-	++additional_slack_variables;
+        is_nonnegative_variable[nonzero_var_index] = true;
+        ++additional_slack_variables;
       }
       // Case 7: apply method C.
       else if (sgn_a > 0) {
-	if (!is_nonnegative_variable[nonzero_var_index]) {
-	  is_nonnegative_variable[nonzero_var_index] = true;
-	  if (nonzero_coeff_column_index < mapping_size) {
+        if (!is_nonnegative_variable[nonzero_var_index]) {
+          is_nonnegative_variable[nonzero_var_index] = true;
+          if (nonzero_coeff_column_index < mapping_size) {
             // Remember to merge back the positive and negative parts.
             PPL_ASSERT(nonzero_var_index < internal_space_dim);
             is_remergeable_variable[nonzero_var_index] = true;
           }
         }
         is_tableau_constraint[i - first_pending_constraint] = false;
-	--additional_tableau_rows;
+        --additional_tableau_rows;
       }
       // Cases 8-9: apply method A.
       else {
         PPL_ASSERT(cs_i.is_inequality());
-	++additional_slack_variables;
+        ++additional_slack_variables;
       }
     }
   }
@@ -652,7 +660,7 @@ PPL::MIP_Problem::process_pending_constraints() {
 			 is_remergeable_variable)) {
     status = UNSATISFIABLE;
     return false;
-  };
+  }
 
   // Merge back any variable that was previously split into a positive
   // and a negative part and is now known to be nonnegative.
@@ -682,22 +690,22 @@ PPL::MIP_Problem::process_pending_constraints() {
       const dimension_type positive = first_free_tableau_index + j;
       if (is_nonnegative_variable[internal_space_dim + i]) {
         // Do not split.
-	mapping.push_back(std::make_pair(positive, 0));
+        mapping.push_back(std::make_pair(positive, 0));
         ++j;
         ++additional_problem_vars;
       }
       else {
         // Split: negative index is positive + 1.
-	mapping.push_back(std::make_pair(positive, positive + 1));
-	j += 2;
-	additional_problem_vars += 2;
+        mapping.push_back(std::make_pair(positive, positive + 1));
+        j += 2;
+        additional_problem_vars += 2;
       }
     }
   }
 
   // Resize the tableau: first add additional rows ...
   if (additional_tableau_rows > 0)
-    tableau.add_zero_rows(additional_tableau_rows, Row::Flags());
+    tableau.add_zero_rows(additional_tableau_rows);
 
   // ... then add additional columns.
   // We need columns for additional (split) problem variables, additional
@@ -709,17 +717,18 @@ PPL::MIP_Problem::process_pending_constraints() {
   //   by `last_generator'
   //     plus
   // * number of non-pending constraints that are no longer satisfied
-  //   due to re-merging of splitted variables.
+  //   due to re-merging of split variables.
 
-  dimension_type num_satisfied_ineqs
-    = std::count(is_satisfied_inequality.begin(),
-                 is_satisfied_inequality.end(),
-                 true);
+  const dimension_type num_satisfied_inequalities
+    = static_cast<dimension_type>(std::count(is_satisfied_inequality.begin(),
+                                             is_satisfied_inequality.end(),
+                                             true));
   const dimension_type unfeasible_tableau_rows_size
     = unfeasible_tableau_rows.size();
 
+  PPL_ASSERT(additional_tableau_rows >= num_satisfied_inequalities);
   const dimension_type additional_artificial_vars
-    = (additional_tableau_rows - num_satisfied_ineqs)
+    = (additional_tableau_rows - num_satisfied_inequalities)
     + unfeasible_tableau_rows_size;
 
   const dimension_type additional_tableau_columns
@@ -749,51 +758,61 @@ PPL::MIP_Problem::process_pending_constraints() {
     = tableau_num_cols - additional_artificial_vars - 1;
   dimension_type artificial_index = slack_index;
 
-  // The first column of the tableau containing an artificial variable.
-  // Encode with 0 the fact that there are no artificial variables at all.
+  // The first column index of the tableau that contains an
+  // artificial variable. Encode with 0 the fact the there are not
+  // artificial variables.
   const dimension_type begin_artificials
-    = additional_artificial_vars > 0 ? artificial_index : 0;
+    = (additional_artificial_vars > 0)
+    ? artificial_index
+    : 0;
 
-  // Proceed with the insertion of the pending constraints.
+  // Proceed with the insertion of the constraints.
   for (dimension_type k = tableau_num_rows,
-         i = input_cs.size() - first_pending_constraint; i-- > 0; ) {
-    // Skip if trivially redundant.
+       i = input_cs.size() - first_pending_constraint; i-- > 0; ) {
     if (!is_tableau_constraint[i])
       continue;
-    const Constraint& c = input_cs[i + first_pending_constraint];
     // Copy the original constraint in the tableau.
-    --k;
-    Row& tableau_k = tableau[k];
-    for (dimension_type sd = c.space_dimension(); sd-- > 0; ) {
-      const Coefficient& coeff_sd = c.coefficient(Variable(sd));
-      if (coeff_sd != 0) {
-        tableau_k[mapping[sd+1].first] = coeff_sd;
-        // Split if needed.
-        if (mapping[sd+1].second != 0)
-          neg_assign(tableau_k[mapping[sd+1].second], coeff_sd);
+    Row& tableau_k = tableau[--k];
+    Row::iterator itr = tableau_k.end();
+
+    const Constraint& c = *(input_cs[i + first_pending_constraint]);
+    const Constraint::Expression& c_e = c.expression();
+    for (Constraint::Expression::const_iterator j = c_e.begin(), j_end = c_e.end();
+        j != j_end; ++j) {
+      Coefficient_traits::const_reference coeff_sd = *j;
+      const std::pair<dimension_type, dimension_type> mapped
+        = mapping[j.variable().space_dimension()];
+      itr = tableau_k.insert(itr, mapped.first, coeff_sd);
+      // Split if needed.
+      if (mapped.second != 0) {
+        itr = tableau_k.insert(itr, mapped.second);
+        neg_assign(*itr, coeff_sd);
       }
     }
-    const Coefficient& inhomo = c.inhomogeneous_term();
+    Coefficient_traits::const_reference inhomo
+      = c.inhomogeneous_term();
     if (inhomo != 0) {
-      tableau_k[mapping[0].first] = inhomo;
+      tableau_k.insert(itr, mapping[0].first, inhomo);
       // Split if needed.
-      if (mapping[0].second != 0)
-        neg_assign(tableau_k[mapping[0].second], inhomo);
+      if (mapping[0].second != 0) {
+        itr = tableau_k.insert(itr, mapping[0].second);
+        neg_assign(*itr, inhomo);
+      }
     }
 
     // Add the slack variable, if needed.
     if (c.is_inequality()) {
-      --slack_index;
-      tableau_k[slack_index] = -1;
-      // If the constraint is already satisfied, we will not add an
-      // artificial variable and put instead the slack variable in base.
+      neg_assign(tableau_k[--slack_index], Coefficient_one());
+      // If the constraint is already satisfied, we will not use artificial
+      // variables to compute a feasible base: this to speed up
+      // the algorithm.
       if (is_satisfied_inequality[i]) {
         base[k] = slack_index;
         worked_out_row[k] = true;
       }
     }
     for (dimension_type j = base_size; j-- > 0; )
-      if (k != j && tableau_k[base[j]] != 0 && base[j] != 0)
+      if (k != j && base[j] != 0 && tableau_k.get(base[j]) != 0)
         linear_combine(tableau_k, tableau[j], base[j]);
   }
 
@@ -802,23 +821,30 @@ PPL::MIP_Problem::process_pending_constraints() {
   // (the coefficient of each artificial variable will be 1).
   for (dimension_type i = tableau_num_rows; i-- > 0 ; ) {
     Row& tableau_i = tableau[i];
-    if (tableau_i[0] > 0)
-      for (dimension_type j = tableau_num_cols; j-- > 0; )
-	neg_assign(tableau_i[j]);
+    if (tableau_i.get(0) > 0) {
+      for (Row::iterator
+           j = tableau_i.begin(), j_end = tableau_i.end(); j != j_end; ++j)
+        neg_assign(*j);
+    }
   }
 
   // Reset the working cost function to have the right size.
-  working_cost = Row(tableau_num_cols, Row::Flags());
+  working_cost = working_cost_type(tableau_num_cols);
 
   // Set up artificial variables: these will have coefficient 1 in the
   // constraint, will enter the base and will have coefficient -1 in
   // the cost function.
 
-  // First go through nonpending constraints that became unfeasible
+  // This is used as a hint for insertions in working_cost.
+  working_cost_type::iterator cost_itr = working_cost.end();
+
+  // First go through non-pending constraints that became unfeasible
   // due to re-merging of split variables.
   for (dimension_type i = 0; i < unfeasible_tableau_rows_size; ++i) {
-    tableau[unfeasible_tableau_rows[i]][artificial_index] = 1;
-    working_cost[artificial_index] = -1;
+    tableau[unfeasible_tableau_rows[i]].insert(artificial_index,
+                                               Coefficient_one());
+    cost_itr = working_cost.insert(cost_itr, artificial_index);
+    *cost_itr = -1;
     base[unfeasible_tableau_rows[i]] = artificial_index;
     ++artificial_index;
   }
@@ -828,8 +854,9 @@ PPL::MIP_Problem::process_pending_constraints() {
   for (dimension_type i = old_tableau_num_rows; i < tableau_num_rows; ++i) {
     if (worked_out_row[i])
       continue;
-    tableau[i][artificial_index] = 1;
-    working_cost[artificial_index] = -1;
+    tableau[i].insert(artificial_index, Coefficient_one());
+    cost_itr = working_cost.insert(cost_itr, artificial_index);
+    *cost_itr = -1;
     base[i] = artificial_index;
     ++artificial_index;
   }
@@ -839,12 +866,20 @@ PPL::MIP_Problem::process_pending_constraints() {
   // Set the extra-coefficient of the cost functions to record its sign.
   // This is done to keep track of the possible sign's inversion.
   const dimension_type last_obj_index = working_cost.size() - 1;
-  working_cost[last_obj_index] = 1;
+  working_cost.insert(cost_itr, last_obj_index, Coefficient_one());
 
   // Express the problem in terms of the variables in base.
-  for (dimension_type i = tableau_num_rows; i-- > 0; )
-    if (working_cost[base[i]] != 0)
-      linear_combine(working_cost, tableau[i], base[i]);
+  {
+    working_cost_type::const_iterator itr = working_cost.end();
+    for (dimension_type i = tableau_num_rows; i-- > 0; ) {
+      itr = working_cost.lower_bound(itr, base[i]);
+      if (itr != working_cost.end() && itr.index() == base[i] && *itr != 0) {
+        linear_combine(working_cost, tableau[i], base[i]);
+        // itr has been invalidated by the call to linear_combine().
+        itr = working_cost.end();
+      }
+    }
+  }
 
   // Deal with zero dimensional problems.
   if (space_dimension() == 0) {
@@ -858,38 +893,27 @@ PPL::MIP_Problem::process_pending_constraints() {
   // the problem is unbounded as soon as the cost function has
   // a variable with a positive coefficient.
   if (tableau_num_rows == 0) {
-    const dimension_type input_obj_function_size
-      = input_obj_function.space_dimension();
-    for (dimension_type i = input_obj_function_size; i-- > 0; )
-      // If a the value of a variable in the objective function is
-      // different from zero, the final status is unbounded.
-      // In the first part the variable is constrained to be greater or equal
-      // than zero.
-      if ((((input_obj_function.coefficient(Variable(i)) > 0
-	     && opt_mode == MAXIMIZATION)
-	    || (input_obj_function.coefficient(Variable(i)) < 0
-		&& opt_mode == MINIMIZATION)) && mapping[i].second == 0)
-	  // In the following case the variable is unconstrained.
-	  || (input_obj_function.coefficient(Variable(i)) != 0
-	      && mapping[i].second != 0)) {
-	// Ensure the right space dimension is obtained.
-	last_generator = point(0 * Variable(space_dimension()-1));
-	status = UNBOUNDED;
-	return true;
-      }
+    if (is_unbounded_obj_function(input_obj_function, mapping, opt_mode)) {
+      // Ensure the right space dimension is obtained.
+      last_generator = point();
+      last_generator.set_space_dimension(space_dimension());
+      status = UNBOUNDED;
+      return true;
+    }
 
     // The problem is neither trivially unfeasible nor trivially unbounded.
     // The tableau was successful computed and the caller has to figure
     // out which case applies.
     status = OPTIMIZED;
     // Ensure the right space dimension is obtained.
-    last_generator = point(0*Variable(space_dimension()-1));
+    last_generator = point();
+    last_generator.set_space_dimension(space_dimension());
     PPL_ASSERT(OK());
     return true;
   }
 
   // Now we are ready to solve the first phase.
-  bool first_phase_succesful
+  bool first_phase_successful
     = (get_control_parameter(PRICING) == PRICING_STEEPEST_EDGE_FLOAT)
     ? compute_simplex_using_steepest_edge_float()
     : compute_simplex_using_exact_pricing();
@@ -900,7 +924,7 @@ PPL::MIP_Problem::process_pending_constraints() {
             << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
 
-  if (!first_phase_succesful || working_cost[0] != 0) {
+  if (!first_phase_successful || working_cost.get(0) != 0) {
     // The feasible region is empty.
     status = UNSATISFIABLE;
     return false;
@@ -942,51 +966,127 @@ assign(double& d,
 PPL::dimension_type
 PPL::MIP_Problem::steepest_edge_float_entering_index() const {
   const dimension_type tableau_num_rows = tableau.num_rows();
+  const dimension_type tableau_num_columns = tableau.num_columns();
   PPL_ASSERT(tableau_num_rows == base.size());
-  double challenger_num = 0.0;
-  double challenger_den = 0.0;
   double current_value = 0.0;
-  double float_tableau_value = 0.0;
-  double float_tableau_denum = 0.0;
+  // Due to our integer implementation, the `1' term in the denominator
+  // of the original formula has to be replaced by `squared_lcm_basis'.
+  double float_tableau_value;
+  double float_tableau_denom;
   dimension_type entering_index = 0;
-  const int cost_sign = sgn(working_cost[working_cost.size() - 1]);
-  for (dimension_type j = tableau.num_columns() - 1; j-- > 1; ) {
-    const Coefficient& cost_j = working_cost[j];
+  const int cost_sign = sgn(working_cost.get(working_cost.size() - 1));
+
+  // These two implementation work for both sparse and dense matrices.
+  // However, when using sparse matrices the first one is fast and the second
+  // one is slow, and when using dense matrices the first one is slow and
+  // the second one is fast.
+#if PPL_USE_SPARSE_MATRIX
+
+  const dimension_type tableau_num_columns_minus_1 = tableau_num_columns - 1;
+  // This is static to improve performance.
+  // A vector of <column_index, challenger_denom> pairs, ordered by
+  // column_index.
+  static std::vector<std::pair<dimension_type, double> > columns;
+  columns.clear();
+  // (working_cost.size() - 2) is an upper bound only.
+  columns.reserve(working_cost.size() - 2);
+  {
+    working_cost_type::const_iterator i = working_cost.lower_bound(1);
+    // Note that find() is used instead of lower_bound().
+    working_cost_type::const_iterator i_end
+      = working_cost.find(tableau_num_columns_minus_1);
+    for ( ; i != i_end; ++i)
+      if (sgn(*i) == cost_sign)
+        columns.push_back(std::make_pair(i.index(), 1.0));
+  }
+  for (dimension_type i = tableau_num_rows; i-- > 0; ) {
+    const Row& tableau_i = tableau[i];
+    assign(float_tableau_denom, tableau_i.get(base[i]));
+    Row::const_iterator j = tableau_i.begin();
+    Row::const_iterator j_end = tableau_i.end();
+    std::vector<std::pair<dimension_type, double> >::iterator k
+      = columns.begin();
+    std::vector<std::pair<dimension_type, double> >::iterator k_end
+      = columns.end();
+    while (j != j_end && k != k_end) {
+      const dimension_type column = j.index();
+      while (k != k_end && column > k->first)
+        ++k;
+      if (k == k_end)
+        break;
+      if (k->first > column) {
+        j = tableau_i.lower_bound(j, k->first);
+      }
+      else {
+        PPL_ASSERT(k->first == column);
+        PPL_ASSERT(tableau_i.get(base[i]) != 0);
+        WEIGHT_BEGIN();
+        assign(float_tableau_value, *j);
+        float_tableau_value /= float_tableau_denom;
+        float_tableau_value *= float_tableau_value;
+        k->second += float_tableau_value;
+        WEIGHT_ADD(22);
+        ++j;
+        ++k;
+      }
+    }
+  }
+  // The candidates are processed backwards to get the same result in both
+  // this implementation and the dense implementation below.
+  for (std::vector<std::pair<dimension_type, double> >::const_reverse_iterator
+       i = columns.rbegin(), i_end = columns.rend(); i != i_end; ++i) {
+    double challenger_value = sqrt(i->second);
+    if (entering_index == 0 || challenger_value > current_value) {
+      current_value = challenger_value;
+      entering_index = i->first;
+    }
+  }
+
+#else // !PPL_USE_SPARSE_MATRIX
+
+  double challenger_numer = 0.0;
+  double challenger_denom = 0.0;
+  for (dimension_type j = tableau_num_columns - 1; j-- > 1; ) {
+    Coefficient_traits::const_reference cost_j = working_cost.get(j);
     if (sgn(cost_j) == cost_sign) {
       WEIGHT_BEGIN();
       // We cannot compute the (exact) square root of abs(\Delta x_j).
       // The workaround is to compute the square of `cost[j]'.
-      assign(challenger_num, cost_j);
-      challenger_num = std::abs(challenger_num);
+      assign(challenger_numer, cost_j);
+      challenger_numer = std::abs(challenger_numer);
       // Due to our integer implementation, the `1' term in the denominator
       // of the original formula has to be replaced by `squared_lcm_basis'.
-      challenger_den = 1.0;
+      challenger_denom = 1.0;
       for (dimension_type i = tableau_num_rows; i-- > 0; ) {
-	const Row& tableau_i = tableau[i];
-	const Coefficient& tableau_ij = tableau_i[j];
-	if (tableau_ij != 0) {
-	  PPL_ASSERT(tableau_i[base[i]] != 0);
-	  assign(float_tableau_value, tableau_ij);
-	  assign(float_tableau_denum, tableau_i[base[i]]);
-	  float_tableau_value /= float_tableau_denum;
-	  challenger_den += float_tableau_value * float_tableau_value;
-	}
+        const Row& tableau_i = tableau[i];
+        Coefficient_traits::const_reference tableau_ij = tableau_i[j];
+        if (tableau_ij != 0) {
+          PPL_ASSERT(tableau_i[base[i]] != 0);
+          assign(float_tableau_value, tableau_ij);
+          assign(float_tableau_denom, tableau_i[base[i]]);
+          float_tableau_value /= float_tableau_denom;
+          challenger_denom += float_tableau_value * float_tableau_value;
+        }
       }
-      double challenger_value = sqrt(challenger_den);
+      double challenger_value = sqrt(challenger_denom);
       // Initialize `current_value' during the first iteration.
       // Otherwise update if the challenger wins.
       if (entering_index == 0 || challenger_value > current_value) {
-	current_value = challenger_value;
-	entering_index = j;
+        current_value = challenger_value;
+        entering_index = j;
       }
-      WEIGHT_ADD_MUL(338, tableau_num_rows);
+      WEIGHT_ADD_MUL(10, tableau_num_rows);
     }
   }
+
+#endif // !PPL_USE_SPARSE_MATRIX
+
   return entering_index;
 }
 
 PPL::dimension_type
 PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
+  using std::swap;
   const dimension_type tableau_num_rows = tableau.num_rows();
   PPL_ASSERT(tableau_num_rows == base.size());
   // The square of the lcm of all the coefficients of variables in base.
@@ -999,65 +1099,177 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
     PPL_DIRTY_TEMP_COEFFICIENT(lcm_basis);
     lcm_basis = 1;
     for (dimension_type i = tableau_num_rows; i-- > 0; )
-      lcm_assign(lcm_basis, lcm_basis, tableau[i][base[i]]);
+      lcm_assign(lcm_basis, lcm_basis, tableau[i].get(base[i]));
     // Compute normalization factors.
     for (dimension_type i = tableau_num_rows; i-- > 0; )
-      exact_div_assign(norm_factor[i], lcm_basis, tableau[i][base[i]]);
+      exact_div_assign(norm_factor[i], lcm_basis, tableau[i].get(base[i]));
     // Compute the square of `lcm_basis', exploiting the fact that
     // `lcm_basis' will no longer be needed.
     lcm_basis *= lcm_basis;
-    std::swap(squared_lcm_basis, lcm_basis);
+    swap(squared_lcm_basis, lcm_basis);
     WEIGHT_ADD_MUL(444, tableau_num_rows);
   }
 
-  // Defined here to avoid repeated (de-)allocations.
-  PPL_DIRTY_TEMP_COEFFICIENT(challenger_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(challenger_numer);
   PPL_DIRTY_TEMP_COEFFICIENT(scalar_value);
-  PPL_DIRTY_TEMP_COEFFICIENT(challenger_den);
   PPL_DIRTY_TEMP_COEFFICIENT(challenger_value);
   PPL_DIRTY_TEMP_COEFFICIENT(current_value);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(current_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(current_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_denom);
   dimension_type entering_index = 0;
-  const int cost_sign = sgn(working_cost[working_cost.size() - 1]);
+  const int cost_sign = sgn(working_cost.get(working_cost.size() - 1));
+
+  // These two implementation work for both sparse and dense matrices.
+  // However, when using sparse matrices the first one is fast and the second
+  // one is slow, and when using dense matrices the first one is slow and
+  // the second one is fast.
+#if PPL_USE_SPARSE_MATRIX
+
+  const dimension_type tableau_num_columns = tableau.num_columns();
+  const dimension_type tableau_num_columns_minus_1 = tableau_num_columns - 1;
+  // This is static to improve performance.
+  // A pair (i, x) means that sgn(working_cost[i]) == cost_sign and x
+  // is the denominator of the challenger, for the column i.
+  static std::vector<std::pair<dimension_type, Coefficient> > columns;
+  columns.clear();
+  // tableau_num_columns - 2 is only an upper bound on the required elements.
+  // This helps to reduce the number of calls to new [] and delete [] and
+  // the construction/destruction of Coefficient objects.
+  columns.reserve(tableau_num_columns - 2);
+  {
+    working_cost_type::const_iterator i = working_cost.lower_bound(1);
+    // Note that find() is used instead of lower_bound.
+    working_cost_type::const_iterator i_end
+      = working_cost.find(tableau_num_columns_minus_1);
+    for ( ; i != i_end; ++i)
+      if (sgn(*i) == cost_sign)
+        columns.push_back(std::pair<dimension_type, Coefficient>
+                          (i.index(), squared_lcm_basis));
+  }
+  for (dimension_type i = tableau_num_rows; i-- > 0; ) {
+    const Row& tableau_i = tableau[i];
+    Row::const_iterator j = tableau_i.begin();
+    Row::const_iterator j_end = tableau_i.end();
+    std::vector<std::pair<dimension_type, Coefficient> >::iterator
+      k = columns.begin();
+    std::vector<std::pair<dimension_type, Coefficient> >::iterator
+      k_end = columns.end();
+    while (j != j_end) {
+      while (k != k_end && j.index() > k->first)
+        ++k;
+      if (k == k_end)
+        break;
+      PPL_ASSERT(j.index() <= k->first);
+      if (j.index() < k->first)
+        j = tableau_i.lower_bound(j, k->first);
+      else {
+        Coefficient_traits::const_reference tableau_ij = *j;
+        WEIGHT_BEGIN();
+#if PPL_USE_SPARSE_MATRIX
+        scalar_value = tableau_ij * norm_factor[i];
+        add_mul_assign(k->second, scalar_value, scalar_value);
+#else
+        // The test against 0 gives rise to a consistent speed up in the dense
+        // implementation: see
+        // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/
+        // 014000.html
+        if (tableau_ij != 0) {
+          scalar_value = tableau_ij * norm_factor[i];
+          add_mul_assign(k->second, scalar_value, scalar_value);
+        }
+#endif
+        WEIGHT_ADD_MUL(47, tableau_num_rows);
+        ++k;
+        ++j;
+      }
+    }
+  }
+  working_cost_type::const_iterator itr = working_cost.end();
+  for (std::vector<std::pair<dimension_type, Coefficient> >::reverse_iterator
+       k = columns.rbegin(), k_end = columns.rend(); k != k_end; ++k) {
+    itr = working_cost.lower_bound(itr, k->first);
+    if (itr != working_cost.end() && itr.index() == k->first) {
+      // We cannot compute the (exact) square root of abs(\Delta x_j).
+      // The workaround is to compute the square of `cost[j]'.
+      challenger_numer = (*itr) * (*itr);
+      // Initialization during the first loop.
+      if (entering_index == 0) {
+        swap(current_numer, challenger_numer);
+        swap(current_denom, k->second);
+        entering_index = k->first;
+        continue;
+      }
+      challenger_value = challenger_numer * current_denom;
+      current_value = current_numer * k->second;
+      // Update the values, if the challenger wins.
+      if (challenger_value > current_value) {
+        swap(current_numer, challenger_numer);
+        swap(current_denom, k->second);
+        entering_index = k->first;
+      }
+    } else {
+      PPL_ASSERT(working_cost.get(k->first) == 0);
+      // Initialization during the first loop.
+      if (entering_index == 0) {
+        current_numer = 0;
+        swap(current_denom, k->second);
+        entering_index = k->first;
+        continue;
+      }
+      // Update the values, if the challenger wins.
+      if (0 > sgn(current_numer) * sgn(k->second)) {
+        current_numer = 0;
+        swap(current_denom, k->second);
+        entering_index = k->first;
+      }
+    }
+  }
+
+#else // !PPL_USE_SPARSE_MATRIX
+
+  PPL_DIRTY_TEMP_COEFFICIENT(challenger_denom);
   for (dimension_type j = tableau.num_columns() - 1; j-- > 1; ) {
-    const Coefficient& cost_j = working_cost[j];
+    Coefficient_traits::const_reference cost_j = working_cost[j];
     if (sgn(cost_j) == cost_sign) {
       WEIGHT_BEGIN();
       // We cannot compute the (exact) square root of abs(\Delta x_j).
       // The workaround is to compute the square of `cost[j]'.
-      challenger_num = cost_j * cost_j;
+      challenger_numer = cost_j * cost_j;
       // Due to our integer implementation, the `1' term in the denominator
       // of the original formula has to be replaced by `squared_lcm_basis'.
-      challenger_den = squared_lcm_basis;
+      challenger_denom = squared_lcm_basis;
       for (dimension_type i = tableau_num_rows; i-- > 0; ) {
-	const Coefficient& tableau_ij = tableau[i][j];
-	// The test against 0 gives rise to a consistent speed up: see
-        // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/014000.html
-	if (tableau_ij != 0) {
-	  scalar_value = tableau_ij * norm_factor[i];
-	  add_mul_assign(challenger_den, scalar_value, scalar_value);
+        Coefficient_traits::const_reference tableau_ij = tableau[i][j];
+        // The test against 0 gives rise to a consistent speed up: see
+        // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/
+        // 014000.html
+        if (tableau_ij != 0) {
+          scalar_value = tableau_ij * norm_factor[i];
+          add_mul_assign(challenger_denom, scalar_value, scalar_value);
         }
       }
       // Initialization during the first loop.
       if (entering_index == 0) {
-	std::swap(current_num, challenger_num);
-	std::swap(current_den, challenger_den);
-	entering_index = j;
- 	continue;
+        swap(current_numer, challenger_numer);
+        swap(current_denom, challenger_denom);
+        entering_index = j;
+        continue;
       }
-      challenger_value = challenger_num * current_den;
-      current_value = current_num * challenger_den;
+      challenger_value = challenger_numer * current_denom;
+      current_value = current_numer * challenger_denom;
       // Update the values, if the challenger wins.
       if (challenger_value > current_value) {
-	std::swap(current_num, challenger_num);
-	std::swap(current_den, challenger_den);
-	entering_index = j;
+        swap(current_numer, challenger_numer);
+        swap(current_denom, challenger_denom);
+        entering_index = j;
       }
       WEIGHT_ADD_MUL(47, tableau_num_rows);
     }
   }
+
+#endif // !PPL_USE_SPARSE_MATRIX
+
   return entering_index;
 }
 
@@ -1072,58 +1284,121 @@ PPL::MIP_Problem::textbook_entering_index() const {
 
   // Get the "sign" of the cost function.
   const dimension_type cost_sign_index = working_cost.size() - 1;
-  const int cost_sign = sgn(working_cost[cost_sign_index]);
+  const int cost_sign = sgn(working_cost.get(cost_sign_index));
   PPL_ASSERT(cost_sign != 0);
-  for (dimension_type i = 1; i < cost_sign_index; ++i)
-    if (sgn(working_cost[i]) == cost_sign)
-      return i;
+
+  working_cost_type::const_iterator i = working_cost.lower_bound(1);
+  // Note that find() is used instead of lower_bound() because they are
+  // equivalent when searching the last element in the row.
+  working_cost_type::const_iterator i_end
+    = working_cost.find(cost_sign_index);
+  for ( ; i != i_end; ++i)
+    if (sgn(*i) == cost_sign)
+      return i.index();
   // No variable has to enter the base:
   // the cost function was optimized.
   return 0;
 }
 
 void
-PPL::MIP_Problem::linear_combine(Row& x,
-				 const Row& y,
-				 const dimension_type k) {
+PPL::MIP_Problem::linear_combine(Row& x, const Row& y,
+                                 const dimension_type k) {
+  PPL_ASSERT(x.size() == y.size());
   WEIGHT_BEGIN();
   const dimension_type x_size = x.size();
-  PPL_ASSERT(x_size == y.size());
-  PPL_ASSERT(y[k] != 0 && x[k] != 0);
+  Coefficient_traits::const_reference x_k = x.get(k);
+  Coefficient_traits::const_reference y_k = y.get(k);
+  PPL_ASSERT(y_k != 0 && x_k != 0);
   // Let g be the GCD between `x[k]' and `y[k]'.
   // For each i the following computes
   //   x[i] = x[i]*y[k]/g - y[i]*x[k]/g.
   PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_k);
   PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_k);
-  normalize2(x[k], y[k], normalized_x_k, normalized_y_k);
-  for (dimension_type i = x_size; i-- > 0; )
-    if (i != k) {
-      Coefficient& x_i = x[i];
-      x_i *= normalized_y_k;
-      // The test against 0 gives rise to a consistent speed up: see
-      // http://www.cs.unipr.it/pipermail/ppl-devel/2009-February/014000.html
-      const Coefficient& y_i = y[i];
-      if (y_i != 0)
-	sub_mul_assign(x_i, y_i, normalized_x_k);
-    }
-  x[k] = 0;
+  normalize2(x_k, y_k, normalized_x_k, normalized_y_k);
+
+  neg_assign(normalized_y_k);
+  x.linear_combine(y, normalized_y_k, normalized_x_k);
+
+  PPL_ASSERT(x.get(k) == 0);
+
+#if PPL_USE_SPARSE_MATRIX
+  PPL_ASSERT(x.find(k) == x.end());
+#endif
+
+  x.normalize();
+  WEIGHT_ADD_MUL(31, x_size);
+}
+
+// TODO: Remove this when the sparse working cost has been tested enough.
+#if PPL_USE_SPARSE_MATRIX
+
+void
+PPL::MIP_Problem::linear_combine(Dense_Row& x,
+                                 const Sparse_Row& y,
+                                 const dimension_type k) {
+  PPL_ASSERT(x.size() == y.size());
+  WEIGHT_BEGIN();
+  const dimension_type x_size = x.size();
+  Coefficient_traits::const_reference x_k = x.get(k);
+  Coefficient_traits::const_reference y_k = y.get(k);
+  PPL_ASSERT(y_k != 0 && x_k != 0);
+  // Let g be the GCD between `x[k]' and `y[k]'.
+  // For each i the following computes
+  //   x[i] = x[i]*y[k]/g - y[i]*x[k]/g.
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_k);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_k);
+  normalize2(x_k, y_k, normalized_x_k, normalized_y_k);
+
+  neg_assign(normalized_y_k);
+  Parma_Polyhedra_Library::linear_combine(x, y, normalized_y_k, normalized_x_k);
+
+  PPL_ASSERT(x[k] == 0);
+
   x.normalize();
   WEIGHT_ADD_MUL(83, x_size);
 }
 
+#endif // defined(PPL_USE_SPARSE_MATRIX)
+
+bool
+PPL::MIP_Problem::is_unbounded_obj_function(
+  const Linear_Expression& x,
+  const std::vector<std::pair<dimension_type, dimension_type> >& mapping,
+  Optimization_Mode optimization_mode) {
+
+  for (Linear_Expression::const_iterator i = x.begin(), i_end = x.end();
+        i != i_end; ++i) {
+    // If a the value of a variable in the objective function is
+    // different from zero, the final status is unbounded.
+    // In the first part the variable is constrained to be greater or equal
+    // than zero.
+    if (mapping[i.variable().space_dimension()].second != 0)
+      return true;
+    if (optimization_mode == MAXIMIZATION) {
+      if (*i > 0)
+        return true;
+    } else {
+      PPL_ASSERT(optimization_mode == MINIMIZATION);
+      if (*i < 0)
+        return true;
+    }
+  }
+  return false;
+}
+
 // See pages 42-43 of [PapadimitriouS98].
 void
 PPL::MIP_Problem::pivot(const dimension_type entering_var_index,
-			const dimension_type exiting_base_index) {
+                        const dimension_type exiting_base_index) {
   const Row& tableau_out = tableau[exiting_base_index];
   // Linearly combine the constraints.
   for (dimension_type i = tableau.num_rows(); i-- > 0; ) {
     Row& tableau_i = tableau[i];
-    if (i != exiting_base_index && tableau_i[entering_var_index] != 0)
+    if (i != exiting_base_index && tableau_i.get(entering_var_index) != 0)
       linear_combine(tableau_i, tableau_out, entering_var_index);
   }
   // Linearly combine the cost function.
-  if (working_cost[entering_var_index] != 0)
+  if (working_cost.get(entering_var_index) != 0)
     linear_combine(working_cost, tableau_out, entering_var_index);
   // Adjust the base.
   base[exiting_base_index] = entering_var_index;
@@ -1132,7 +1407,7 @@ PPL::MIP_Problem::pivot(const dimension_type entering_var_index,
 // See pages 47 and 50 of [PapadimitriouS98].
 PPL::dimension_type
 PPL::MIP_Problem
-::get_exiting_base_index(const dimension_type entering_var_index) const  {
+::get_exiting_base_index(const dimension_type entering_var_index) const {
   // The variable exiting the base should be associated to a tableau
   // constraint such that the ratio
   // tableau[i][entering_var_index] / tableau[i][base[i]]
@@ -1144,8 +1419,8 @@ PPL::MIP_Problem
   dimension_type exiting_base_index = tableau_num_rows;
   for (dimension_type i = 0; i < tableau_num_rows; ++i) {
     const Row& t_i = tableau[i];
-    const int num_sign = sgn(t_i[entering_var_index]);
-    if (num_sign != 0 && num_sign == sgn(t_i[base[i]])) {
+    const int num_sign = sgn(t_i.get(entering_var_index));
+    if (num_sign != 0 && num_sign == sgn(t_i.get(base[i]))) {
       exiting_base_index = i;
       break;
     }
@@ -1158,28 +1433,31 @@ PPL::MIP_Problem
   PPL_DIRTY_TEMP_COEFFICIENT(lcm);
   PPL_DIRTY_TEMP_COEFFICIENT(current_min);
   PPL_DIRTY_TEMP_COEFFICIENT(challenger);
+  Coefficient t_e0 = tableau[exiting_base_index].get(0);
+  Coefficient t_ee = tableau[exiting_base_index].get(entering_var_index);
   for (dimension_type i = exiting_base_index + 1; i < tableau_num_rows; ++i) {
     const Row& t_i = tableau[i];
-    const Coefficient& t_ie = t_i[entering_var_index];
-    const Coefficient& t_ib = t_i[base[i]];
+    Coefficient_traits::const_reference t_ie = t_i.get(entering_var_index);
     const int t_ie_sign = sgn(t_ie);
-    if (t_ie_sign != 0 && t_ie_sign == sgn(t_ib)) {
+    if (t_ie_sign != 0 && t_ie_sign == sgn(t_i.get(base[i]))) {
       WEIGHT_BEGIN();
-      const Row& t_e = tableau[exiting_base_index];
-      const Coefficient& t_ee = t_e[entering_var_index];
+      Coefficient_traits::const_reference t_i0 = t_i.get(0);
       lcm_assign(lcm, t_ee, t_ie);
       exact_div_assign(current_min, lcm, t_ee);
-      current_min *= t_e[0];
+      current_min *= t_e0;
       abs_assign(current_min);
       exact_div_assign(challenger, lcm, t_ie);
-      challenger *= t_i[0];
+      challenger *= t_i0;
       abs_assign(challenger);
       current_min -= challenger;
       const int sign = sgn(current_min);
       if (sign > 0
-	  || (sign == 0 && base[i] < base[exiting_base_index]))
-	exiting_base_index = i;
-      WEIGHT_ADD(1044);
+          || (sign == 0 && base[i] < base[exiting_base_index])) {
+        exiting_base_index = i;
+        t_e0 = t_i0;
+        t_ee = t_ie;
+      }
+      WEIGHT_ADD(642);
     }
   }
   return exiting_base_index;
@@ -1194,16 +1472,16 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
   bool textbook_pricing = false;
 
   PPL_DIRTY_TEMP_COEFFICIENT(cost_sgn_coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(current_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(current_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_denom);
   PPL_DIRTY_TEMP_COEFFICIENT(challenger);
   PPL_DIRTY_TEMP_COEFFICIENT(current);
 
-  cost_sgn_coeff = working_cost[working_cost.size()-1];
-  current_num = working_cost[0];
+  cost_sgn_coeff = working_cost.get(working_cost.size() - 1);
+  current_numer = working_cost.get(0);
   if (cost_sgn_coeff < 0)
-    neg_assign(current_num);
-  abs_assign(current_den, cost_sgn_coeff);
+    neg_assign(current_numer);
+  abs_assign(current_denom, cost_sgn_coeff);
   PPL_ASSERT(tableau.num_columns() == working_cost.size());
   const dimension_type tableau_num_rows = tableau.num_rows();
 
@@ -1238,14 +1516,14 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
     WEIGHT_BEGIN();
     // Now begins the objective function's value check to choose between
     // the `textbook' and the float `steepest-edge' technique.
-    cost_sgn_coeff = working_cost[working_cost.size()-1];
+    cost_sgn_coeff = working_cost.get(working_cost.size() - 1);
 
-    challenger = working_cost[0];
+    challenger = working_cost.get(0);
     if (cost_sgn_coeff < 0)
       neg_assign(challenger);
-    challenger *= current_den;
+    challenger *= current_denom;
     abs_assign(current, cost_sgn_coeff);
-    current *= current_num;
+    current *= current_numer;
 #if PPL_NOISY_SIMPLEX
     ++num_iterations;
     if (num_iterations % 200 == 0)
@@ -1261,7 +1539,7 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
       // In the following case we will proceed using the `textbook'
       // technique, until the objective function is not improved.
       if (non_increased_times > allowed_non_increasing_loops)
-	textbook_pricing = true;
+        textbook_pricing = true;
     }
     // The objective function has an improvement:
     // reset `non_increased_times' and `textbook_pricing'.
@@ -1269,11 +1547,11 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
       non_increased_times = 0;
       textbook_pricing = false;
     }
-    current_num = working_cost[0];
+    current_numer = working_cost.get(0);
     if (cost_sgn_coeff < 0)
-      neg_assign(current_num);
-    abs_assign(current_den, cost_sgn_coeff);
-    WEIGHT_ADD(566);
+      neg_assign(current_numer);
+    abs_assign(current_denom, cost_sgn_coeff);
+    WEIGHT_ADD(433);
   }
 }
 
@@ -1326,7 +1604,7 @@ PPL::MIP_Problem::compute_simplex_using_exact_pricing() {
 // See pages 55-56 of [PapadimitriouS98].
 void
 PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
-				    const dimension_type end_artificials) {
+                                    const dimension_type end_artificials) {
   PPL_ASSERT(0 < begin_artificials && begin_artificials < end_artificials);
 
   const dimension_type old_last_column = tableau.num_columns() - 1;
@@ -1337,30 +1615,33 @@ PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
       // Search for a non-zero element to enter the base.
       Row& tableau_i = tableau[i];
       bool redundant = true;
-      for (dimension_type j = end_artificials; j-- > 1; )
-	if (!(begin_artificials <= j && j < end_artificials)
-	    && tableau_i[j] != 0) {
-	  pivot(j, i);
-	  redundant = false;
-	  break;
-	}
+      Row::const_iterator j = tableau_i.begin();
+      Row::const_iterator j_end = tableau_i.end();
+      // Skip the first element
+      if (j != j_end && j.index() == 0)
+        ++j;
+      for ( ; (j != j_end) && (j.index() < begin_artificials); ++j)
+        if (*j != 0) {
+          pivot(j.index(), i);
+          redundant = false;
+          break;
+        }
       if (redundant) {
-	// No original variable entered the base:
-	// the constraint is redundant and should be deleted.
-	--tableau_n_rows;
-	if (i < tableau_n_rows) {
-	  // Replace the redundant row with the last one,
-	  // taking care of adjusting the iteration index.
-	  tableau_i.swap(tableau[tableau_n_rows]);
-	  base[i] = base[tableau_n_rows];
-	  --i;
-	}
-	tableau.erase_to_end(tableau_n_rows);
-	base.pop_back();
+        // No original variable entered the base:
+        // the constraint is redundant and should be deleted.
+        --tableau_n_rows;
+        if (i < tableau_n_rows) {
+          // Replace the redundant row with the last one,
+          // taking care of adjusting the iteration index.
+          tableau_i.m_swap(tableau[tableau_n_rows]);
+          base[i] = base[tableau_n_rows];
+          --i;
+        }
+        tableau.remove_trailing_rows(1);
+        base.pop_back();
       }
     }
 
-
   // Step 2: Adjust data structures so as to enter phase 2 of the simplex.
 
   // Resize the tableau.
@@ -1370,11 +1651,26 @@ PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
   // Zero the last column of the tableau.
   const dimension_type new_last_column = tableau.num_columns() - 1;
   for (dimension_type i = tableau_n_rows; i-- > 0; )
-    tableau[i][new_last_column] = 0;
+    tableau[i].reset(new_last_column);
 
   // ... then properly set the element in the (new) last column,
   // encoding the kind of optimization; ...
-  working_cost[new_last_column] = working_cost[old_last_column];
+  {
+    // This block is equivalent to
+    //
+    // <CODE>
+    //   working_cost[new_last_column] = working_cost.get(old_last_column);
+    // </CODE>
+    //
+    // but it avoids storing zeroes.
+    Coefficient_traits::const_reference old_cost
+      = working_cost.get(old_last_column);
+    if (old_cost == 0)
+      working_cost.reset(new_last_column);
+    else
+      working_cost.insert(new_last_column, old_cost);
+  }
+
   // ... and finally remove redundant columns.
   const dimension_type working_cost_new_size
     = working_cost.size() - num_artificials;
@@ -1384,38 +1680,47 @@ PPL::MIP_Problem::erase_artificials(const dimension_type begin_artificials,
 // See page 55 of [PapadimitriouS98].
 void
 PPL::MIP_Problem::compute_generator() const {
-  // We will store in num[] and in den[] the numerators and
+  // Early exit for 0-dimensional problems.
+  if (external_space_dim == 0) {
+    MIP_Problem& x = const_cast<MIP_Problem&>(*this);
+    x.last_generator = point();
+    return;
+  }
+
+  // We will store in numer[] and in denom[] the numerators and
   // the denominators of every variable of the original problem.
-  std::vector<Coefficient> num(external_space_dim);
-  std::vector<Coefficient> den(external_space_dim);
+  std::vector<Coefficient> numer(external_space_dim);
+  std::vector<Coefficient> denom(external_space_dim);
   dimension_type row = 0;
 
   PPL_DIRTY_TEMP_COEFFICIENT(lcm);
   // Speculatively allocate temporaries out of loop.
-  PPL_DIRTY_TEMP_COEFFICIENT(split_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(split_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(split_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(split_denom);
 
-  // We start to compute num[] and den[].
+  // We start to compute numer[] and denom[].
   for (dimension_type i = external_space_dim; i-- > 0; ) {
-    Coefficient& num_i = num[i];
-    Coefficient& den_i = den[i];
+    Coefficient& numer_i = numer[i];
+    Coefficient& denom_i = denom[i];
     // Get the value of the variable from the tableau
     // (if it is not a basic variable, the value is 0).
     const dimension_type original_var = mapping[i+1].first;
     if (is_in_base(original_var, row)) {
       const Row& t_row = tableau[row];
-      if (t_row[original_var] > 0) {
-	neg_assign(num_i, t_row[0]);
-	den_i = t_row[original_var];
+      Coefficient_traits::const_reference t_row_original_var
+        = t_row.get(original_var);
+      if (t_row_original_var > 0) {
+        neg_assign(numer_i, t_row.get(0));
+        denom_i = t_row_original_var;
       }
       else {
-	num_i = t_row[0];
-	neg_assign(den_i, t_row[original_var]);
+        numer_i = t_row.get(0);
+        neg_assign(denom_i, t_row_original_var);
       }
     }
     else {
-      num_i = 0;
-      den_i = 1;
+      numer_i = 0;
+      denom_i = 1;
     }
     // Check whether the variable was split.
     const dimension_type split_var = mapping[i+1].second;
@@ -1424,26 +1729,28 @@ PPL::MIP_Problem::compute_generator() const {
       // having index mapping[i+1].second .
       // Like before, we he have to check if the variable is in base.
       if (is_in_base(split_var, row)) {
-	const Row& t_row = tableau[row];
-	if (t_row[split_var] > 0) {
-	  neg_assign(split_num, t_row[0]);
-	  split_den = t_row[split_var];
-	}
-	else {
-	  split_num = t_row[0];
- 	  neg_assign(split_den, t_row[split_var]);
-	}
-	// We compute the lcm to compute subsequently the difference
-	// between the 2 variables.
-	lcm_assign(lcm, den_i, split_den);
-	exact_div_assign(den_i, lcm, den_i);
-	exact_div_assign(split_den, lcm, split_den);
-	num_i *= den_i;
-	sub_mul_assign(num_i, split_num, split_den);
-	if (num_i == 0)
-	  den_i = 1;
-	else
-	  den_i = lcm;
+        const Row& t_row = tableau[row];
+        Coefficient_traits::const_reference t_row_split_var
+          = t_row.get(split_var);
+        if (t_row_split_var > 0) {
+          neg_assign(split_numer, t_row.get(0));
+          split_denom = t_row_split_var;
+        }
+        else {
+          split_numer = t_row.get(0);
+          neg_assign(split_denom, t_row_split_var);
+        }
+        // We compute the lcm to compute subsequently the difference
+        // between the 2 variables.
+        lcm_assign(lcm, denom_i, split_denom);
+        exact_div_assign(denom_i, lcm, denom_i);
+        exact_div_assign(split_denom, lcm, split_denom);
+        numer_i *= denom_i;
+        sub_mul_assign(numer_i, split_numer, split_denom);
+        if (numer_i == 0)
+          denom_i = 1;
+        else
+          denom_i = lcm;
       }
       // Note: if the negative component was not in base, then
       // it has value zero and there is nothing left to do.
@@ -1451,20 +1758,21 @@ PPL::MIP_Problem::compute_generator() const {
   }
 
   // Compute the lcm of all denominators.
-  lcm = den[0];
+  PPL_ASSERT(external_space_dim > 0);
+  lcm = denom[0];
   for (dimension_type i = 1; i < external_space_dim; ++i)
-    lcm_assign(lcm, lcm, den[i]);
+    lcm_assign(lcm, lcm, denom[i]);
   // Use the denominators to store the numerators' multipliers
   // and then compute the normalized numerators.
   for (dimension_type i = external_space_dim; i-- > 0; ) {
-    exact_div_assign(den[i], lcm, den[i]);
-    num[i] *= den[i];
+    exact_div_assign(denom[i], lcm, denom[i]);
+    numer[i] *= denom[i];
   }
 
   // Finally, build the generator.
   Linear_Expression expr;
   for (dimension_type i = external_space_dim; i-- > 0; )
-    add_mul_assign(expr, num[i], Variable(i));
+    add_mul_assign(expr, numer[i], Variable(i));
 
   MIP_Problem& x = const_cast<MIP_Problem&>(*this);
   x.last_generator = point(expr, lcm);
@@ -1473,45 +1781,64 @@ PPL::MIP_Problem::compute_generator() const {
 void
 PPL::MIP_Problem::second_phase() {
   // Second_phase requires that *this is satisfiable.
-  PPL_ASSERT(status == SATISFIABLE || status == UNBOUNDED || status == OPTIMIZED);
+  PPL_ASSERT(status == SATISFIABLE
+             || status == UNBOUNDED
+             || status == OPTIMIZED);
   // In the following cases the problem is already solved.
   if (status == UNBOUNDED || status == OPTIMIZED)
     return;
 
   // Build the objective function for the second phase.
-  const dimension_type input_obj_function_sd
-    = input_obj_function.space_dimension();
-  Row new_cost(input_obj_function_sd + 1, Row::Flags());
-  for (dimension_type i = input_obj_function_sd; i-- > 0; )
-    new_cost[i+1] = input_obj_function.coefficient(Variable(i));
-  new_cost[0] = input_obj_function.inhomogeneous_term();
+  Row new_cost;
+  input_obj_function.get_row(new_cost);
 
   // Negate the cost function if we are minimizing.
   if (opt_mode == MINIMIZATION)
-    for (dimension_type i = new_cost.size(); i-- > 0; )
-      neg_assign(new_cost[i]);
+    for (Row::iterator
+         i = new_cost.begin(), i_end = new_cost.end(); i != i_end; ++i)
+      neg_assign(*i);
 
-  // Substitute properly the cost function in the `costs' matrix.
   const dimension_type cost_zero_size = working_cost.size();
-  Row tmp_cost = Row(new_cost, cost_zero_size, cost_zero_size);
-  tmp_cost.swap(working_cost);
-  working_cost[cost_zero_size-1] = 1;
-
-  // Split the variables the cost function.
-  for (dimension_type i = new_cost.size(); i-- > 1; ) {
-    const dimension_type original_var = mapping[i].first;
-    const dimension_type split_var = mapping[i].second;
-    working_cost[original_var] = new_cost[i];
-    if (mapping[i].second != 0)
-      neg_assign(working_cost[split_var], new_cost[i]);
+
+  // Substitute properly the cost function in the `costs' matrix.
+  {
+    working_cost_type tmp_cost(cost_zero_size, cost_zero_size);
+    swap(tmp_cost, working_cost);
+  }
+
+  {
+    working_cost_type::iterator itr
+      = working_cost.insert(cost_zero_size - 1, Coefficient_one());
+
+    // Split the variables in the cost function.
+    for (Row::const_iterator
+         i = new_cost.lower_bound(1), i_end = new_cost.end();
+         i != i_end; ++i) {
+      const dimension_type index = i.index();
+      const dimension_type original_var = mapping[index].first;
+      const dimension_type split_var = mapping[index].second;
+      itr = working_cost.insert(itr, original_var, *i);
+      if (mapping[index].second != 0) {
+        itr = working_cost.insert(itr, split_var);
+        neg_assign(*itr, *i);
+      }
+    }
   }
+
   // Here the first phase problem succeeded with optimum value zero.
   // Express the old cost function in terms of the computed base.
-  for (dimension_type i = tableau.num_rows(); i-- > 0; ) {
-    const dimension_type base_i = base[i];
-    if (working_cost[base_i] != 0)
-      linear_combine(working_cost, tableau[i], base_i);
+  {
+    working_cost_type::iterator itr = working_cost.end();
+    for (dimension_type i = tableau.num_rows(); i-- > 0; ) {
+      const dimension_type base_i = base[i];
+      itr = working_cost.lower_bound(itr, base_i);
+      if (itr != working_cost.end() && itr.index() == base_i && *itr != 0) {
+        linear_combine(working_cost, tableau[i], base_i);
+        itr = working_cost.end();
+      }
+    }
   }
+
   // Solve the second phase problem.
   bool second_phase_successful
     = (get_control_parameter(PRICING) == PRICING_STEEPEST_EDGE_FLOAT)
@@ -1530,8 +1857,8 @@ PPL::MIP_Problem::second_phase() {
 void
 PPL::MIP_Problem
 ::evaluate_objective_function(const Generator& evaluating_point,
-			      Coefficient& ext_n,
-			      Coefficient& ext_d) const {
+                              Coefficient& numer,
+                              Coefficient& denom) const {
   const dimension_type ep_space_dim = evaluating_point.space_dimension();
   if (space_dimension() < ep_space_dim)
     throw std::invalid_argument("PPL::MIP_Problem::"
@@ -1546,14 +1873,12 @@ PPL::MIP_Problem
   // and `evaluating_point'.
   const dimension_type working_space_dim
     = std::min(ep_space_dim, input_obj_function.space_dimension());
-  // Compute the optimal value of the cost function.
-  const Coefficient& divisor = evaluating_point.divisor();
-  ext_n = input_obj_function.inhomogeneous_term() * divisor;
-  for (dimension_type i = working_space_dim; i-- > 0; )
-    ext_n += evaluating_point.coefficient(Variable(i))
-      * input_obj_function.coefficient(Variable(i));
+  input_obj_function.scalar_product_assign(numer,
+                                           evaluating_point.expr,
+                                           0, working_space_dim + 1);
+
   // Numerator and denominator should be coprime.
-  normalize2(ext_n, divisor, ext_n, ext_d);
+  normalize2(numer, evaluating_point.divisor(), numer, denom);
 }
 
 bool
@@ -1598,142 +1923,151 @@ PPL::MIP_Problem::is_lp_satisfiable() const {
     }
   }
   // We should not be here!
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
 PPL::MIP_Problem_Status
 PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
-			    mpq_class& incumbent_solution_value,
-			    Generator& incumbent_solution_point,
-			    MIP_Problem& lp,
-			    const Variables_Set& i_vars) {
+                            mpq_class& incumbent_solution_value,
+                            Generator& incumbent_solution_point,
+                            MIP_Problem& mip,
+                            const Variables_Set& i_vars) {
   // Solve the problem as a non MIP one, it must be done internally.
-  PPL::MIP_Problem_Status lp_status;
-  if (lp.is_lp_satisfiable()) {
-    lp.second_phase();
-    lp_status = (lp.status == OPTIMIZED) ? OPTIMIZED_MIP_PROBLEM
+  PPL::MIP_Problem_Status mip_status;
+  if (mip.is_lp_satisfiable()) {
+    mip.second_phase();
+    mip_status = (mip.status == OPTIMIZED) ? OPTIMIZED_MIP_PROBLEM
       : UNBOUNDED_MIP_PROBLEM;
   }
   else
     return UNFEASIBLE_MIP_PROBLEM;
 
-  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
+  PPL_DIRTY_TEMP(mpq_class, tmp_rational);
 
   Generator p = point();
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff1);
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff2);
 
-  if (lp_status == UNBOUNDED_MIP_PROBLEM)
-    p = lp.last_generator;
+  if (mip_status == UNBOUNDED_MIP_PROBLEM)
+    p = mip.last_generator;
   else {
-    PPL_ASSERT(lp_status == OPTIMIZED_MIP_PROBLEM);
+    PPL_ASSERT(mip_status == OPTIMIZED_MIP_PROBLEM);
     // Do not call optimizing_point().
-    p = lp.last_generator;
-    lp.evaluate_objective_function(p, tmp_coeff1, tmp_coeff2);
+    p = mip.last_generator;
+    mip.evaluate_objective_function(p, tmp_coeff1, tmp_coeff2);
     assign_r(tmp_rational.get_num(), tmp_coeff1, ROUND_NOT_NEEDED);
     assign_r(tmp_rational.get_den(), tmp_coeff2, ROUND_NOT_NEEDED);
     PPL_ASSERT(is_canonical(tmp_rational));
     if (have_incumbent_solution
-	&& ((lp.optimization_mode() == MAXIMIZATION
- 	     && tmp_rational <= incumbent_solution_value)
- 	    || (lp.optimization_mode() == MINIMIZATION
-		&& tmp_rational >= incumbent_solution_value)))
+        && ((mip.optimization_mode() == MAXIMIZATION
+              && tmp_rational <= incumbent_solution_value)
+ 	    || (mip.optimization_mode() == MINIMIZATION
+                && tmp_rational >= incumbent_solution_value)))
       // Abandon this path.
-      return lp_status;
+      return mip_status;
   }
 
   bool found_satisfiable_generator = true;
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  const Coefficient& p_divisor = p.divisor();
-  dimension_type nonint_dim = lp.space_dimension();
+  Coefficient_traits::const_reference p_divisor = p.divisor();
+  dimension_type non_int_dim = mip.space_dimension();
+  // TODO: This can be optimized more, exploiting the (possible)
+  // sparseness of p, if the size of i_vars is expected to be greater than
+  // the number of nonzeroes in p in most cases.
   for (Variables_Set::const_iterator v_begin = i_vars.begin(),
 	 v_end = i_vars.end(); v_begin != v_end; ++v_begin) {
     gcd_assign(gcd, p.coefficient(Variable(*v_begin)), p_divisor);
     if (gcd != p_divisor) {
-      nonint_dim = *v_begin;
+      non_int_dim = *v_begin;
       found_satisfiable_generator = false;
       break;
     }
   }
   if (found_satisfiable_generator) {
     // All the coordinates of `point' are satisfiable.
-    if (lp_status == UNBOUNDED_MIP_PROBLEM) {
+    if (mip_status == UNBOUNDED_MIP_PROBLEM) {
       // This is a point that belongs to the MIP_Problem.
       // In this way we are sure that we will return every time
       // a feasible point if requested by the user.
       incumbent_solution_point = p;
-      return lp_status;
+      return mip_status;
     }
     if (!have_incumbent_solution
-	|| (lp.optimization_mode() == MAXIMIZATION
-	    && tmp_rational > incumbent_solution_value)
-	|| tmp_rational < incumbent_solution_value) {
+        || (mip.optimization_mode() == MAXIMIZATION
+            && tmp_rational > incumbent_solution_value)
+        || tmp_rational < incumbent_solution_value) {
       incumbent_solution_value = tmp_rational;
       incumbent_solution_point = p;
       have_incumbent_solution = true;
 #if PPL_NOISY_SIMPLEX
-      PPL_DIRTY_TEMP_COEFFICIENT(num);
-      PPL_DIRTY_TEMP_COEFFICIENT(den);
-      lp.evaluate_objective_function(p, num, den);
+      PPL_DIRTY_TEMP_COEFFICIENT(numer);
+      PPL_DIRTY_TEMP_COEFFICIENT(denom);
+      mip.evaluate_objective_function(p, numer, denom);
       std::cout << "MIP_Problem::solve_mip(): "
-                << "new value found: " << num << "/" << den
+                << "new value found: " << numer << "/" << denom
                 << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
     }
-    return lp_status;
+    return mip_status;
   }
 
-  PPL_ASSERT(nonint_dim < lp.space_dimension());
+  PPL_ASSERT(non_int_dim < mip.space_dimension());
 
-  assign_r(tmp_rational.get_num(), p.coefficient(Variable(nonint_dim)),
+  assign_r(tmp_rational.get_num(), p.coefficient(Variable(non_int_dim)),
 	   ROUND_NOT_NEEDED);
   assign_r(tmp_rational.get_den(), p_divisor, ROUND_NOT_NEEDED);
   tmp_rational.canonicalize();
   assign_r(tmp_coeff1, tmp_rational, ROUND_DOWN);
   assign_r(tmp_coeff2, tmp_rational, ROUND_UP);
   {
-    MIP_Problem lp_aux = lp;
-    lp_aux.add_constraint(Variable(nonint_dim) <= tmp_coeff1);
+    MIP_Problem mip_aux(mip, Inherit_Constraints());
+    mip_aux.add_constraint(Variable(non_int_dim) <= tmp_coeff1);
 #if PPL_NOISY_SIMPLEX
     using namespace IO_Operators;
     std::cout << "MIP_Problem::solve_mip(): "
               << "descending with: "
-              << (Variable(nonint_dim) <= tmp_coeff1)
+              << (Variable(non_int_dim) <= tmp_coeff1)
               << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
     solve_mip(have_incumbent_solution, incumbent_solution_value,
-	      incumbent_solution_point, lp_aux, i_vars);
+	      incumbent_solution_point, mip_aux, i_vars);
   }
   // TODO: change this when we will be able to remove constraints.
-  lp.add_constraint(Variable(nonint_dim) >= tmp_coeff2);
+  mip.add_constraint(Variable(non_int_dim) >= tmp_coeff2);
 #if PPL_NOISY_SIMPLEX
   using namespace IO_Operators;
   std::cout << "MIP_Problem::solve_mip(): "
             << "descending with: "
-            << (Variable(nonint_dim) >= tmp_coeff2)
+            << (Variable(non_int_dim) >= tmp_coeff2)
             << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
   solve_mip(have_incumbent_solution, incumbent_solution_value,
-	    incumbent_solution_point, lp, i_vars);
-  return have_incumbent_solution ? lp_status : UNFEASIBLE_MIP_PROBLEM;
+	    incumbent_solution_point, mip, i_vars);
+  return have_incumbent_solution ? mip_status : UNFEASIBLE_MIP_PROBLEM;
 }
 
 bool
-PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& lp,
-					    const Variables_Set& i_vars,
-					    dimension_type& branching_index) {
-  // Insert here the variables that don't satisfy the integrality condition.
-  const Constraint_Sequence& input_cs = lp.input_cs;
-  const Generator& last_generator = lp.last_generator;
-  const Coefficient& last_generator_divisor = last_generator.divisor();
+PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& mip,
+                                            const Variables_Set& i_vars,
+                                            dimension_type& branching_index) {
+  // Insert here the variables that do not satisfy the integrality
+  // condition.
+  const std::vector<Constraint*>& input_cs = mip.input_cs;
+  const Generator& last_generator = mip.last_generator;
+  Coefficient_traits::const_reference last_generator_divisor
+    = last_generator.divisor();
   Variables_Set candidate_variables;
 
+  // TODO: This can be optimized more, exploiting the (possible)
+  // sparseness of last_generator, if the size of i_vars is expected to be
+  // greater than the number of nonzeroes in last_generator in most cases.
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   for (Variables_Set::const_iterator v_it = i_vars.begin(),
-	 v_end = i_vars.end(); v_it != v_end; ++v_it) {
+         v_end = i_vars.end(); v_it != v_end; ++v_it) {
     gcd_assign(gcd,
-	       last_generator.coefficient(Variable(*v_it)),
-	       last_generator_divisor);
+               last_generator.coefficient(Variable(*v_it)),
+               last_generator_divisor);
     if (gcd != last_generator_divisor)
       candidate_variables.insert(*v_it);
   }
@@ -1747,25 +2081,36 @@ PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& lp,
   for (dimension_type i = input_cs_num_rows; i-- > 0; )
     // An equality is an `active constraint' by definition.
     // If we have an inequality, check if it is an `active constraint'.
-    if (input_cs[i].is_equality()
-	|| is_saturated(input_cs[i], last_generator))
+    if (input_cs[i]->is_equality()
+        || is_saturated(*(input_cs[i]), last_generator))
       satisfiable_constraints[i] = true;
 
-  dimension_type current_num_appearances = 0;
   dimension_type winning_num_appearances = 0;
 
+  std::vector<dimension_type>
+    num_appearances(candidate_variables.space_dimension(), 0);
+
   // For every candidate variable, check how many times this appear in the
   // active constraints.
+  for (dimension_type i = input_cs_num_rows; i-- > 0; ) {
+    if (!satisfiable_constraints[i])
+      continue;
+    // TODO: This can be optimized more, exploiting the (possible)
+    // sparseness of input_cs, if the size of candidate_variables is expected
+    // to be greater than the number of nonzeroes of most rows.
+    for (Variables_Set::const_iterator v_it = candidate_variables.begin(),
+            v_end = candidate_variables.end(); v_it != v_end; ++v_it) {
+      if (*v_it >= input_cs[i]->space_dimension())
+        break;
+      if (input_cs[i]->coefficient(Variable(*v_it)) != 0)
+        ++num_appearances[*v_it];
+    }
+  }
   for (Variables_Set::const_iterator v_it = candidate_variables.begin(),
-	 v_end = candidate_variables.end(); v_it != v_end; ++v_it) {
-    current_num_appearances = 0;
-    for (dimension_type i = input_cs_num_rows; i-- > 0; )
-      if (satisfiable_constraints[i]
-	  && *v_it < input_cs[i].space_dimension()
-	  && input_cs[i].coefficient(Variable(*v_it)) != 0)
-	++current_num_appearances;
-    if (current_num_appearances >= winning_num_appearances) {
-      winning_num_appearances = current_num_appearances;
+         v_end = candidate_variables.end(); v_it != v_end; ++v_it) {
+    const dimension_type n = num_appearances[*v_it];
+    if (n >= winning_num_appearances) {
+      winning_num_appearances = n;
       branching_index = *v_it;
     }
   }
@@ -1773,8 +2118,8 @@ PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& lp,
 }
 
 bool
-PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
-				     const Variables_Set& i_vars,
+PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& mip,
+                                     const Variables_Set& i_vars,
                                      Generator& p) {
 #if PPL_NOISY_SIMPLEX
   ++mip_recursion_level;
@@ -1782,10 +2127,10 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
             << "entering recursion level " << mip_recursion_level
             << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
-  PPL_ASSERT(lp.integer_space_dimensions().empty());
+  PPL_ASSERT(mip.integer_space_dimensions().empty());
 
-  // Solve the LP problem.
-  if (!lp.is_lp_satisfiable()) {
+  // Solve the MIP problem.
+  if (!mip.is_lp_satisfiable()) {
 #if PPL_NOISY_SIMPLEX
     std::cout << "MIP_Problem::is_mip_satisfiable(): "
               << "exiting from recursion level " << mip_recursion_level
@@ -1795,24 +2140,27 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
     return false;
   }
 
-  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
+  PPL_DIRTY_TEMP(mpq_class, tmp_rational);
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff1);
   PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff2);
   bool found_satisfiable_generator = true;
-  dimension_type nonint_dim;
-  p = lp.last_generator;
-  const Coefficient& p_divisor = p.divisor();
+  dimension_type non_int_dim;
+  p = mip.last_generator;
+  Coefficient_traits::const_reference p_divisor = p.divisor();
 
 #if PPL_SIMPLEX_USE_MIP_HEURISTIC
   found_satisfiable_generator
-    = choose_branching_variable(lp, i_vars, nonint_dim);
+    = choose_branching_variable(mip, i_vars, non_int_dim);
 #else
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  // TODO: This can be optimized more, exploiting the (possible)
+  // sparseness of p, if the size of i_vars is expected to be greater than
+  // the number of nonzeroes in p in most cases.
   for (Variables_Set::const_iterator v_begin = i_vars.begin(),
 	 v_end = i_vars.end(); v_begin != v_end; ++v_begin) {
     gcd_assign(gcd, p.coefficient(Variable(*v_begin)), p_divisor);
     if (gcd != p_divisor) {
-      nonint_dim = *v_begin;
+      non_int_dim = *v_begin;
       found_satisfiable_generator = false;
       break;
     }
@@ -1822,25 +2170,25 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
   if (found_satisfiable_generator)
     return true;
 
-  PPL_ASSERT(nonint_dim < lp.space_dimension());
+  PPL_ASSERT(non_int_dim < mip.space_dimension());
 
-  assign_r(tmp_rational.get_num(), p.coefficient(Variable(nonint_dim)),
+  assign_r(tmp_rational.get_num(), p.coefficient(Variable(non_int_dim)),
 	   ROUND_NOT_NEEDED);
   assign_r(tmp_rational.get_den(), p_divisor, ROUND_NOT_NEEDED);
   tmp_rational.canonicalize();
   assign_r(tmp_coeff1, tmp_rational, ROUND_DOWN);
   assign_r(tmp_coeff2, tmp_rational, ROUND_UP);
   {
-    MIP_Problem lp_aux = lp;
-    lp_aux.add_constraint(Variable(nonint_dim) <= tmp_coeff1);
+    MIP_Problem mip_aux(mip, Inherit_Constraints());
+    mip_aux.add_constraint(Variable(non_int_dim) <= tmp_coeff1);
 #if PPL_NOISY_SIMPLEX
     using namespace IO_Operators;
     std::cout << "MIP_Problem::is_mip_satisfiable(): "
               << "descending with: "
-              << (Variable(nonint_dim) <= tmp_coeff1)
+              << (Variable(non_int_dim) <= tmp_coeff1)
               << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
-    if (is_mip_satisfiable(lp_aux, i_vars, p)) {
+    if (is_mip_satisfiable(mip_aux, i_vars, p)) {
 #if PPL_NOISY_SIMPLEX
       std::cout << "MIP_Problem::is_mip_satisfiable(): "
                 << "exiting from recursion level " << mip_recursion_level
@@ -1850,15 +2198,15 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp,
       return true;
     }
   }
-  lp.add_constraint(Variable(nonint_dim) >= tmp_coeff2);
+  mip.add_constraint(Variable(non_int_dim) >= tmp_coeff2);
 #if PPL_NOISY_SIMPLEX
   using namespace IO_Operators;
   std::cout << "MIP_Problem::is_mip_satisfiable(): "
             << "descending with: "
-            << (Variable(nonint_dim) >= tmp_coeff2)
+            << (Variable(non_int_dim) >= tmp_coeff2)
             << "." << std::endl;
 #endif // PPL_NOISY_SIMPLEX
-  bool satisfiable = is_mip_satisfiable(lp, i_vars, p);
+  bool satisfiable = is_mip_satisfiable(mip, i_vars, p);
 #if PPL_NOISY_SIMPLEX
   std::cout << "MIP_Problem::is_mip_satisfiable(): "
             << "exiting from recursion level " << mip_recursion_level
@@ -1875,22 +2223,39 @@ PPL::MIP_Problem::OK() const {
   using std::cerr;
 #endif
   const dimension_type input_cs_num_rows = input_cs.size();
+
   // Check that every member used is OK.
 
-  for (dimension_type i = input_cs_num_rows; i-- > 0; )
-    if (!input_cs[i].OK())
-      return false;
+  if (inherited_constraints > input_cs_num_rows) {
+#ifndef NDEBUG
+    cerr << "The MIP_Problem claims to have inherited from its ancestors "
+         << "more constraints than are recorded in this->input_cs."
+         << endl;
+    ascii_dump(cerr);
+#endif
+    return false;
+  }
 
-  if (!tableau.OK() || !input_obj_function.OK() || !last_generator.OK())
+  if (first_pending_constraint > input_cs_num_rows) {
+#ifndef NDEBUG
+    cerr << "The MIP_Problem claims to have pending constraints "
+         << "that are not recorded in this->input_cs."
+         << endl;
+    ascii_dump(cerr);
+#endif
+    return false;
+  }
+
+  if (!tableau.OK() || !last_generator.OK())
     return false;
 
   // Constraint system should contain no strict inequalities.
   for (dimension_type i = input_cs_num_rows; i-- > 0; )
-    if (input_cs[i].is_strict_inequality()) {
+    if (input_cs[i]->is_strict_inequality()) {
 #ifndef NDEBUG
       cerr << "The feasible region of the MIP_Problem is defined by "
-	   << "a constraint system containing strict inequalities."
-	   << endl;
+           << "a constraint system containing strict inequalities."
+           << endl;
       ascii_dump(cerr);
 #endif
       return false;
@@ -1900,10 +2265,10 @@ PPL::MIP_Problem::OK() const {
   if (external_space_dim < input_obj_function.space_dimension()) {
 #ifndef NDEBUG
     cerr << "The MIP_Problem and the objective function have "
-	 << "incompatible space dimensions ("
-	 << external_space_dim << " < "
-	 << input_obj_function.space_dimension() << ")."
-	 << endl;
+         << "incompatible space dimensions ("
+         << external_space_dim << " < "
+         << input_obj_function.space_dimension() << ")."
+         << endl;
     ascii_dump(cerr);
 #endif
     return false;
@@ -1915,44 +2280,48 @@ PPL::MIP_Problem::OK() const {
     if (external_space_dim != last_generator.space_dimension()) {
 #ifndef NDEBUG
       cerr << "The MIP_Problem and the cached feasible point have "
- 	   << "incompatible space dimensions ("
- 	   << external_space_dim << " != "
-	   << last_generator.space_dimension() << ")."
- 	   << endl;
+           << "incompatible space dimensions ("
+           << external_space_dim << " != "
+           << last_generator.space_dimension() << ")."
+           << endl;
       ascii_dump(cerr);
 #endif
       return false;
     }
 
     for (dimension_type i = 0; i < first_pending_constraint; ++i)
-      if (!is_satisfied(input_cs[i], last_generator)) {
+      if (!is_satisfied(*(input_cs[i]), last_generator)) {
 #ifndef NDEBUG
-	cerr << "The cached feasible point does not belong to "
-	     << "the feasible region of the MIP_Problem."
-	     << endl;
-	ascii_dump(cerr);
+        cerr << "The cached feasible point does not belong to "
+             << "the feasible region of the MIP_Problem."
+             << endl;
+        ascii_dump(cerr);
 #endif
-	return false;
+        return false;
       }
 
     // Check that every integer declared variable is really integer.
     // in the solution found.
     if (!i_variables.empty()) {
       PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+      // TODO: This can be optimized more, exploiting the (possible)
+      // sparseness of last_generator, if the size of i_variables is expected
+      // to be greater than the number of nonzeroes in last_generator in most
+      // cases.
       for (Variables_Set::const_iterator v_it = i_variables.begin(),
-	     v_end = i_variables.end(); v_it != v_end; ++v_it) {
-	gcd_assign(gcd, last_generator.coefficient(Variable(*v_it)),
-		   last_generator.divisor());
-	if (gcd != last_generator.divisor())
-	  return false;
+            v_end = i_variables.end(); v_it != v_end; ++v_it) {
+        gcd_assign(gcd, last_generator.coefficient(Variable(*v_it)),
+                   last_generator.divisor());
+        if (gcd != last_generator.divisor())
+          return false;
       }
     }
 
-    const dimension_type tableau_nrows = tableau.num_rows();
-    const dimension_type tableau_ncols = tableau.num_columns();
+    const dimension_type tableau_num_rows = tableau.num_rows();
+    const dimension_type tableau_num_columns = tableau.num_columns();
 
     // The number of rows in the tableau and base should be equal.
-    if (tableau_nrows != base.size()) {
+    if (tableau_num_rows != base.size()) {
 #ifndef NDEBUG
       cerr << "tableau and base have incompatible sizes" << endl;
       ascii_dump(cerr);
@@ -1970,7 +2339,7 @@ PPL::MIP_Problem::OK() const {
     }
 
     // The number of columns in the tableau and working_cost should be equal.
-    if (tableau_ncols != working_cost.size()) {
+    if (tableau_num_columns != working_cost.size()) {
 #ifndef NDEBUG
       cerr << "tableau and working_cost have incompatible sizes" << endl;
       ascii_dump(cerr);
@@ -1980,47 +2349,70 @@ PPL::MIP_Problem::OK() const {
 
     // The vector base should contain indices of tableau's columns.
     for (dimension_type i = base.size(); i-- > 0; ) {
-      if (base[i] > tableau_ncols) {
+      if (base[i] > tableau_num_columns) {
 #ifndef NDEBUG
-	cerr << "base contains an invalid column index" << endl;
-	ascii_dump(cerr);
+        cerr << "base contains an invalid column index" << endl;
+        ascii_dump(cerr);
 #endif
-	return false;
+        return false;
       }
-      // tableau[i][base[i] must be different from zero.
-      // tableau[i][base[j], with i different from j, must not be a zero.
-      for (dimension_type j = tableau_nrows; j-- > 0; )
-	if (i != j && tableau[j][base[i]] != 0) {
+    }
+    {
+      // Needed to sort accesses to tableau_j, improving performance.
+      typedef std::vector<std::pair<dimension_type, dimension_type> >
+        pair_vector_t;
+      pair_vector_t vars_in_base;
+      for (dimension_type i = base.size(); i-- > 0; )
+        vars_in_base.push_back(std::make_pair(base[i], i));
+
+      std::sort(vars_in_base.begin(), vars_in_base.end());
+
+      for (dimension_type j = tableau_num_rows; j-- > 0; ) {
+        const Row& tableau_j = tableau[j];
+        pair_vector_t::iterator i = vars_in_base.begin();
+        pair_vector_t::iterator i_end = vars_in_base.end();
+        Row::const_iterator itr = tableau_j.begin();
+        Row::const_iterator itr_end = tableau_j.end();
+        for ( ; i != i_end && itr != itr_end; ++i) {
+          // tableau[i][base[j]], with i different from j, must be zero.
+          if (itr.index() < i->first)
+            itr = tableau_j.lower_bound(itr, itr.index());
+          if (i->second != j && itr.index() == i->first && *itr != 0) {
 #ifndef NDEBUG
-	  cerr << "tableau[i][base[i] must be different from zero" << endl;
-	  ascii_dump(cerr);
+            cerr << "tableau[i][base[j]], with i different from j, must be "
+                 << "zero" << endl;
+            ascii_dump(cerr);
 #endif
-	  return false;
-	}
-      if (tableau[i][base[i]] == 0) {
+            return false;
+          }
+        }
+      }
+    }
+    // tableau[i][base[i]] must not be a zero.
+    for (dimension_type i = base.size(); i-- > 0; ) {
+      if (tableau[i].get(base[i]) == 0) {
 #ifndef NDEBUG
-	cerr << "tableau[i][base[j], with i different from j, must not be "
-	     << "a zero" << endl;
-	ascii_dump(cerr);
+        cerr << "tableau[i][base[i]] must not be a zero" << endl;
+        ascii_dump(cerr);
 #endif
-	return false;
+        return false;
       }
     }
 
     // The last column of the tableau must contain only zeroes.
-    for (dimension_type i = tableau_nrows; i-- > 0; )
-      if (tableau[i][tableau_ncols-1] != 0) {
+    for (dimension_type i = tableau_num_rows; i-- > 0; )
+      if (tableau[i].get(tableau_num_columns - 1) != 0) {
 #ifndef NDEBUG
-	cerr << "the last column of the tableau must contain only"
-	  "zeroes"<< endl;
-	ascii_dump(cerr);
+        cerr << "the last column of the tableau must contain only"
+          "zeroes"<< endl;
+        ascii_dump(cerr);
 #endif
-	return false;
+        return false;
       }
-   }
+  }
 
-   // All checks passed.
-   return true;
+  // All checks passed.
+  return true;
 }
 
 void
@@ -2033,7 +2425,10 @@ PPL::MIP_Problem::ascii_dump(std::ostream& s) const {
 
   s << "\ninput_cs( " << input_cs_size << " )\n";
   for (dimension_type i = 0; i < input_cs_size; ++i)
-    input_cs[i].ascii_dump(s);
+    input_cs[i]->ascii_dump(s);
+
+  s << "\ninherited_constraints: " <<  inherited_constraints
+    << std::endl;
 
   s << "\nfirst_pending_constraint: " <<  first_pending_constraint
     << std::endl;
@@ -2041,7 +2436,7 @@ PPL::MIP_Problem::ascii_dump(std::ostream& s) const {
   s << "\ninput_obj_function\n";
   input_obj_function.ascii_dump(s);
   s << "\nopt_mode "
-    << (opt_mode == MAXIMIZATION ? "MAXIMIZATION" : "MINIMIZATION") << "\n";
+    << ((opt_mode == MAXIMIZATION) ? "MAXIMIZATION" : "MINIMIZATION") << "\n";
 
   s << "\ninitialized: " << (initialized ? "YES" : "NO") << "\n";
   s << "\npricing: ";
@@ -2130,12 +2525,23 @@ PPL::MIP_Problem::ascii_load(std::istream& s) {
     return false;
 
   Constraint c(Constraint::zero_dim_positivity());
+  input_cs.reserve(input_cs_size);
   for (dimension_type i = 0; i < input_cs_size; ++i) {
     if (!c.ascii_load(s))
       return false;
-    input_cs.push_back(c);
+    add_constraint_helper(c);
   }
 
+  if (!(s >> str) || str != "inherited_constraints:")
+    return false;
+
+  if (!(s >> inherited_constraints))
+    return false;
+  // NOTE: we loaded the number of inherited constraints, but we nonetheless
+  // reset to zero the corresponding data member, since we do not support
+  // constraint inheritance via ascii_load.
+  inherited_constraints = 0;
+
   if (!(s >> str) || str != "first_pending_constraint:")
     return false;
 
@@ -2235,8 +2641,8 @@ PPL::MIP_Problem::ascii_load(std::istream& s) {
   if (!(s >> str) || str != ")")
     return false;
 
-  dimension_type base_value;
   for (dimension_type i = 0; i != base_size; ++i) {
+    dimension_type base_value;
     if (!(s >> base_value))
       return false;
     base.push_back(base_value);
@@ -2258,26 +2664,30 @@ PPL::MIP_Problem::ascii_load(std::istream& s) {
   if (!(s >> str) || str != ")")
     return false;
 
-  dimension_type first_value;
-  dimension_type second_value;
-  dimension_type index;
-
   // The first `mapping' index is never used, so we initialize
   // it pushing back a dummy value.
   if (tableau.num_columns() != 0)
     mapping.push_back(std::make_pair(0, 0));
 
   for (dimension_type i = 1; i < mapping_size; ++i) {
+    dimension_type index;
     if (!(s >> index))
       return false;
+
     if (!(s >> str) || str != "->")
       return false;
+
+    dimension_type first_value;
     if (!(s >> first_value))
       return false;
+
     if (!(s >> str) || str != "->")
       return false;
+
+    dimension_type second_value;
     if (!(s >> second_value))
       return false;
+
     mapping.push_back(std::make_pair(first_value, second_value));
   }
 
@@ -2293,17 +2703,17 @@ PPL::MIP_Problem::ascii_load(std::istream& s) {
 
 /*! \relates Parma_Polyhedra_Library::MIP_Problem */
 std::ostream&
-PPL::IO_Operators::operator<<(std::ostream& s, const MIP_Problem& lp) {
+PPL::IO_Operators::operator<<(std::ostream& s, const MIP_Problem& mip) {
   s << "Constraints:";
-  for (MIP_Problem::const_iterator i = lp.constraints_begin(),
-	 i_end = lp.constraints_end(); i != i_end; ++i)
+  for (MIP_Problem::const_iterator i = mip.constraints_begin(),
+	 i_end = mip.constraints_end(); i != i_end; ++i)
     s << "\n" << *i;
   s << "\nObjective function: "
-    << lp.objective_function()
+    << mip.objective_function()
     << "\nOptimization mode: "
-    << (lp.optimization_mode() == MAXIMIZATION
-	? "MAXIMIZATION"
-	: "MINIMIZATION");
-  s << "\nInteger variables: " << lp.integer_space_dimensions();
+    << ((mip.optimization_mode() == MAXIMIZATION)
+        ? "MAXIMIZATION"
+        : "MINIMIZATION");
+  s << "\nInteger variables: " << mip.integer_space_dimensions();
   return s;
 }
diff --git a/src/MIP_Problem.defs.hh b/src/MIP_Problem.defs.hh
index 75bd8a4..a43c3c4 100644
--- a/src/MIP_Problem.defs.hh
+++ b/src/MIP_Problem.defs.hh
@@ -1,6 +1,6 @@
 /* MIP_Problem class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,22 +19,24 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_MIP_Problem_defs_hh
 #define PPL_MIP_Problem_defs_hh 1
 
 #include "MIP_Problem.types.hh"
 #include "globals.types.hh"
-#include "Row.defs.hh"
 #include "Matrix.defs.hh"
 #include "Linear_Expression.defs.hh"
 #include "Constraint.types.hh"
 #include "Constraint_System.types.hh"
 #include "Generator.defs.hh"
 #include "Variables_Set.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
 #include <vector>
 #include <deque>
+#include <iterator>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -44,15 +46,20 @@ namespace IO_Operators {
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::MIP_Problem */
 std::ostream&
-operator<<(std::ostream& s, const MIP_Problem& lp);
+operator<<(std::ostream& s, const MIP_Problem& mip);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates MIP_Problem */
+void swap(MIP_Problem& x, MIP_Problem& y);
+
 } // namespace Parma_Polyhedra_Library
 
 //! A Mixed Integer (linear) Programming problem.
 /*! \ingroup PPL_CXX_interface
-  An object of this class encodes a mixed integer (linear) programming problem.
+  An object of this class encodes a mixed integer (linear) programming
+  problem.
   The MIP problem is specified by providing:
    - the dimension of the vector space;
    - the feasible region, by means of a finite set of linear equality
@@ -132,10 +139,10 @@ public:
   */
   template <typename In>
   MIP_Problem(dimension_type dim,
-	      In first, In last,
-	      const Variables_Set& int_vars,
-	      const Linear_Expression& obj = Linear_Expression::zero(),
-	      Optimization_Mode mode = MAXIMIZATION);
+              In first, In last,
+              const Variables_Set& int_vars,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
   /*! \brief
     Builds an MIP problem having space dimension \p dim
@@ -200,9 +207,9 @@ public:
     objective function) is strictly greater than \p dim.
   */
   MIP_Problem(dimension_type dim,
-	      const Constraint_System& cs,
-	      const Linear_Expression& obj = Linear_Expression::zero(),
-	      Optimization_Mode mode = MAXIMIZATION);
+              const Constraint_System& cs,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
   //! Ordinary copy constructor.
   MIP_Problem(const MIP_Problem& y);
@@ -227,14 +234,77 @@ public:
 
 private:
   //! A type alias for a sequence of constraints.
-  typedef std::vector<Constraint> Constraint_Sequence;
+  typedef std::vector<Constraint*> Constraint_Sequence;
 
 public:
-  /*! \brief
-    A type alias for the read-only iterator on the constraints
-    defining the feasible region.
-  */
-  typedef Constraint_Sequence::const_iterator const_iterator;
+  //! A read-only iterator on the constraints defining the feasible region.
+  class const_iterator {
+  private:
+    typedef Constraint_Sequence::const_iterator Base;
+    typedef std::iterator_traits<Base> Base_Traits;
+  public:
+    typedef Base_Traits::iterator_category iterator_category;
+    typedef Base_Traits::difference_type difference_type;
+    typedef const Constraint value_type;
+    typedef const Constraint* pointer;
+    typedef const Constraint& reference;
+
+    //! Iterator difference: computes distances.
+    difference_type operator-(const const_iterator& y) const;
+
+    //! Prefix increment.
+    const_iterator& operator++();
+
+    //! Prefix decrement.
+    const_iterator& operator--();
+
+    //! Postfix increment.
+    const_iterator operator++(int);
+
+    //! Postfix decrement.
+    const_iterator operator--(int);
+
+    //! Moves iterator forward of \p n positions.
+    const_iterator& operator+=(difference_type n);
+
+    //! Moves iterator backward of \p n positions.
+    const_iterator& operator-=(difference_type n);
+
+    //! Returns an iterator \p n positions forward.
+    const_iterator operator+(difference_type n) const;
+
+    //! Returns an iterator \p n positions backward.
+    const_iterator operator-(difference_type n) const;
+
+    //! Returns a reference to the "pointed" object.
+    reference operator*() const;
+
+    //! Returns the address of the "pointed" object.
+    pointer operator->() const;
+
+    //! Compares \p *this with y.
+    /*!
+      \param y
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& y) const;
+
+    //! Compares \p *this with y.
+    /*!
+      \param y
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& y) const;
+
+  private:
+    //! Constructor from a Base iterator.
+    explicit const_iterator(Base base);
+
+    //! The Base iterator on the Constraint_Sequence.
+    Base itr;
+
+    friend class MIP_Problem;
+  };
 
   /*! \brief
     Returns a read-only iterator to the first constraint defining
@@ -332,16 +402,17 @@ public:
   MIP_Problem_Status solve() const;
 
   /*! \brief
-    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is the result
-    of evaluating the objective function on \p evaluating_point.
+    Sets \p num and \p denom so that
+    \f$\frac{\mathtt{numer}}{\mathtt{denom}}\f$ is the result of
+    evaluating the objective function on \p evaluating_point.
 
     \param evaluating_point
     The point on which the objective function will be evaluated.
 
-    \param num
+    \param numer
     On exit will contain the numerator of the evaluated value.
 
-    \param den
+    \param denom
     On exit will contain the denominator of the evaluated value.
 
     \exception std::invalid_argument
@@ -349,8 +420,8 @@ public:
     or if the generator \p evaluating_point is not a point.
   */
   void evaluate_objective_function(const Generator& evaluating_point,
-				   Coefficient& num,
-				   Coefficient& den) const;
+                                   Coefficient& numer,
+                                   Coefficient& denom) const;
 
   //! Returns a feasible point for \p *this, if it exists.
   /*!
@@ -362,20 +433,21 @@ public:
   //! Returns an optimal point for \p *this, if it exists.
   /*!
     \exception std::domain_error
-    Thrown if \p *this doesn't not have an optimizing point, i.e.,
+    Thrown if \p *this does not not have an optimizing point, i.e.,
     if the MIP problem is unbounded or not satisfiable.
   */
   const Generator& optimizing_point() const;
 
   /*! \brief
-    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is
-    the solution of the optimization problem.
+    Sets \p numer and \p denom so that
+    \f$\frac{\mathtt{numer}}{\mathtt{denom}}\f$ is the solution of the
+    optimization problem.
 
     \exception std::domain_error
-    Thrown if \p *this doesn't not have an optimizing point, i.e.,
+    Thrown if \p *this does not not have an optimizing point, i.e.,
     if the MIP problem is unbounded or not satisfiable.
   */
-  void optimal_value(Coefficient& num, Coefficient& den) const;
+  void optimal_value(Coefficient& numer, Coefficient& denom) const;
 
   //! Checks if all the invariants are satisfied.
   bool OK() const;
@@ -396,7 +468,7 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(MIP_Problem& y);
+  void m_swap(MIP_Problem& y);
 
   //! Names of MIP problems' control parameters.
   enum Control_Parameter_Name {
@@ -431,19 +503,28 @@ private:
   */
   dimension_type internal_space_dim;
 
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
+
   //! The matrix encoding the current feasible region in tableau form.
-  Matrix tableau;
+  Matrix<Row> tableau;
+
+  typedef Row working_cost_type;
 
   //! The working cost function.
-  Row working_cost;
+  working_cost_type working_cost;
 
   //! A map between the variables of `input_cs' and `tableau'.
   /*!
     Contains all the pairs (i, j) such that mapping[i].first encodes the index
-    of the column in the tableau where input_cs[i] is stored; mapping[i].second
-    not a zero, encodes the split part of the tableau of input_cs[i].
-    The "positive" one is represented by mapping[i].first and
-    the "negative" one is represented by mapping[i].second.
+    of the column in the tableau where input_cs[i] is stored; if
+    mapping[i].second is not a zero, it encodes the split part of the tableau
+    of input_cs[i].
+    The "positive" one is represented by mapping[i].first and the "negative"
+    one is represented by mapping[i].second.
   */
   std::vector<std::pair<dimension_type, dimension_type> > mapping;
 
@@ -486,7 +567,18 @@ private:
   bool initialized;
 
   //! The sequence of constraints describing the feasible region.
-  Constraint_Sequence input_cs;
+  std::vector<Constraint*> input_cs;
+
+  /*! \brief
+    The number of constraints that are inherited from our parent
+    in the recursion tree built when solving via branch-and-bound.
+
+    The first \c inherited_constraints elements in \c input_cs point to
+    the inherited constraints, whose resources are owned by our ancestors.
+    The resources of the other elements in \c input_cs are owned by \c *this
+    and should be appropriately released on destruction.
+  */
+  dimension_type inherited_constraints;
 
   //! The first index of `input_cs' containing a pending constraint.
   dimension_type first_pending_constraint;
@@ -514,15 +606,26 @@ private:
     RAII_Temporary_Real_Relaxation(MIP_Problem& mip)
       : lp(mip), i_vars() {
       // Turn mip into an LP problem (saving i_variables in i_vars).
-      std::swap(i_vars, lp.i_variables);
+      using std::swap;
+      swap(i_vars, lp.i_variables);
     }
 
     ~RAII_Temporary_Real_Relaxation() {
       // Restore the original set of integer variables.
-      std::swap(i_vars, lp.i_variables);
+      using std::swap;
+      swap(i_vars, lp.i_variables);
     }
   };
-  friend class RAII_Temporary_Real_Relaxation;
+  friend struct RAII_Temporary_Real_Relaxation;
+
+  //! A tag type to distinguish normal vs. inheriting copy constructor.
+  struct Inherit_Constraints {};
+
+  //! Copy constructor inheriting constraints.
+  MIP_Problem(const MIP_Problem& y, Inherit_Constraints);
+
+  //! Helper method: implements exception safe addition.
+  void add_constraint_helper(const Constraint& c);
 
   //! Processes the pending constraints of \p *this.
   /*!
@@ -549,7 +652,8 @@ private:
     <CODE>UNBOUNDED_MIP_PROBLEM</CODE> if the problem is trivially unbounded
     (the computed tableau contains no constraints);
     <CODE>OPTIMIZED_MIP_PROBLEM></CODE> if the problem is neither trivially
-    unfeasible nor trivially unbounded (the tableau was computed successfully).
+    unfeasible nor trivially unbounded (the tableau was computed
+    successfully).
   */
   MIP_Problem_Status
   compute_tableau(std::vector<dimension_type>& worked_out_row);
@@ -628,20 +732,48 @@ private:
   //! Linearly combines \p x with \p y so that <CODE>*this[k]</CODE> is 0.
   /*!
     \param x
-    The Row that will be combined with \p y object.
+    The row that will be combined with \p y object.
 
     \param y
-    The Row that will be combined with \p x object.
+    The row that will be combined with \p x object.
 
     \param k
     The position of \p *this that have to be \f$0\f$.
 
     Computes a linear combination of \p x and \p y having
     the element of index \p k equal to \f$0\f$. Then it assigns
-    the resulting Linear_Row to \p x and normalizes it.
+    the resulting Row to \p x and normalizes it.
   */
   static void linear_combine(Row& x, const Row& y, const dimension_type k);
 
+  // TODO: Remove this when the sparse working cost has been tested enough.
+#if PPL_USE_SPARSE_MATRIX
+
+  //! Linearly combines \p x with \p y so that <CODE>*this[k]</CODE> is 0.
+  /*!
+    \param x
+    The row that will be combined with \p y object.
+
+    \param y
+    The row that will be combined with \p x object.
+
+    \param k
+    The position of \p *this that have to be \f$0\f$.
+
+    Computes a linear combination of \p x and \p y having
+    the element of index \p k equal to \f$0\f$. Then it assigns
+    the resulting Dense_Row to \p x and normalizes it.
+  */
+  static void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                             const dimension_type k);
+
+#endif // defined(PPL_USE_SPARSE_MATRIX)
+
+  static bool is_unbounded_obj_function(
+    const Linear_Expression& obj_function,
+    const std::vector<std::pair<dimension_type, dimension_type> >& mapping,
+    Optimization_Mode optimization_mode);
+
   /*! \brief
     Performs the pivoting operation on the tableau.
 
@@ -652,7 +784,7 @@ private:
     The index of the row exiting the base.
   */
   void pivot(dimension_type entering_var_index,
-	     dimension_type exiting_base_index);
+             dimension_type exiting_base_index);
 
   /*! \brief
     Computes the column index of the variable entering the base,
@@ -684,7 +816,7 @@ private:
           \right)^{\frac{1}{2}}.
     \f]
     Recall that, due to the exact integer implementation of the algorithm,
-    our tableau doesn't contain the ``real'' \f$\alpha\f$ values, but these
+    our tableau does not contain the ``real'' \f$\alpha\f$ values, but these
     can be computed dividing the value of the coefficient by the value of
     the variable in base. Obviously the result may not be an integer, so
     we will proceed in another way: we compute the lcm of all the variables
@@ -743,7 +875,7 @@ private:
     Note that column index end_artificial is \e excluded from the range.
   */
   void erase_artificials(dimension_type begin_artificials,
-			 dimension_type end_artificials);
+                         dimension_type end_artificials);
 
   bool is_in_base(dimension_type var_index,
 		  dimension_type& row_index) const;
@@ -760,7 +892,7 @@ private:
 
     \return
     If the negative part of \p var_index was in base, the index of
-    the corresponding tableau row (which has become nonfeasible);
+    the corresponding tableau row (which has become non-feasible);
     otherwise \c not_a_dimension().
 
     \param var_index
@@ -794,10 +926,10 @@ private:
     The variables that are constrained to take an integer value.
   */
   static MIP_Problem_Status solve_mip(bool& have_incumbent_solution,
-				      mpq_class& incumbent_solution_value,
-				      Generator& incumbent_solution_point,
-				      MIP_Problem& mip,
-				      const Variables_Set& i_vars);
+                                      mpq_class& incumbent_solution_value,
+                                      Generator& incumbent_solution_point,
+                                      MIP_Problem& mip,
+                                      const Variables_Set& i_vars);
 
   /*! \brief
     Returns \c true if and if only the LP problem is satisfiable.
@@ -805,11 +937,12 @@ private:
   bool is_lp_satisfiable() const;
 
   /*! \brief
-    Returns \c true if and if only the LP problem \p lp is satisfiable
+    Returns \c true if and if only the MIP problem \p mip is satisfiable
     when variables in \p i_vars can only take integral values.
 
-    \param lp
-    The LP problem. This is assumed to have no integral space dimension.
+    \param mip
+    The MIP problem. This is assumed to have no integral space dimension
+    (so that it is a pure LP problem).
 
     \param i_vars
     The variables that are constrained to take integral values.
@@ -817,16 +950,17 @@ private:
     \param p
     If \c true is returned, it will encode a feasible point.
   */
-  static bool is_mip_satisfiable(MIP_Problem& lp,
-				 const Variables_Set& i_vars,
+  static bool is_mip_satisfiable(MIP_Problem& mip,
+                                 const Variables_Set& i_vars,
                                  Generator& p);
 
   /*! \brief
     Returns \c true if and if only \c mip.last_generator satisfies all the
-    integrality coditions implicitly stated using by \p i_vars.
+    integrality conditions implicitly stated using by \p i_vars.
 
-    \param lp
-    The LP problem. This is assumed to have no integral space dimension.
+    \param mip
+    The MIP problem. This is assumed to have no integral space dimension
+    (so that it is a pure LP problem).
 
     \param i_vars
     The variables that are constrained to take an integer value.
@@ -835,20 +969,11 @@ private:
     If \c false is returned, this will encode the non-integral variable
     index on which the `branch and bound' algorithm should be applied.
   */
-  static bool choose_branching_variable(const MIP_Problem& lp,
-					const Variables_Set& i_vars,
-					dimension_type& branching_index);
+  static bool choose_branching_variable(const MIP_Problem& mip,
+                                        const Variables_Set& i_vars,
+                                        dimension_type& branching_index);
 };
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
-void swap(Parma_Polyhedra_Library::MIP_Problem& x,
-	  Parma_Polyhedra_Library::MIP_Problem& y);
-
-} // namespace std
-
 #include "MIP_Problem.inlines.hh"
 #include "MIP_Problem.templates.hh"
 
diff --git a/src/MIP_Problem.inlines.hh b/src/MIP_Problem.inlines.hh
index bb5ded2..c2dd27d 100644
--- a/src/MIP_Problem.inlines.hh
+++ b/src/MIP_Problem.inlines.hh
@@ -1,6 +1,6 @@
 /* MIP_Problem class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_MIP_Problem_inlines_hh
 #define PPL_MIP_Problem_inlines_hh 1
@@ -51,7 +51,35 @@ MIP_Problem::MIP_Problem(const MIP_Problem& y)
     status(y.status),
     pricing(y.pricing),
     initialized(y.initialized),
+    input_cs(),
+    inherited_constraints(0),
+    first_pending_constraint(),
+    input_obj_function(y.input_obj_function),
+    opt_mode(y.opt_mode),
+    last_generator(y.last_generator),
+    i_variables(y.i_variables) {
+  input_cs.reserve(y.input_cs.size());
+  for (Constraint_Sequence::const_iterator
+       i = y.input_cs.begin(), i_end = y.input_cs.end();
+       i != i_end; ++i)
+    add_constraint_helper(*(*i));
+  PPL_ASSERT(OK());
+}
+
+inline
+MIP_Problem::MIP_Problem(const MIP_Problem& y, Inherit_Constraints)
+  : external_space_dim(y.external_space_dim),
+    internal_space_dim(y.internal_space_dim),
+    tableau(y.tableau),
+    working_cost(y.working_cost),
+    mapping(y.mapping),
+    base(y.base),
+    status(y.status),
+    pricing(y.pricing),
+    initialized(y.initialized),
     input_cs(y.input_cs),
+    // NOTE: The constraints are inherited, NOT copied!
+    inherited_constraints(y.input_cs.size()),
     first_pending_constraint(y.first_pending_constraint),
     input_obj_function(y.input_obj_function),
     opt_mode(y.opt_mode),
@@ -60,8 +88,32 @@ MIP_Problem::MIP_Problem(const MIP_Problem& y)
   PPL_ASSERT(OK());
 }
 
+inline void
+MIP_Problem::add_constraint_helper(const Constraint& c) {
+  // For exception safety, reserve space for the new element.
+  const dimension_type size = input_cs.size();
+  if (size == input_cs.capacity()) {
+    const dimension_type max_size = input_cs.max_size();
+    if (size == max_size)
+      throw std::length_error("MIP_Problem::add_constraint(): "
+                              "too many constraints");
+    // Use an exponential grow policy to avoid too many reallocations.
+    input_cs.reserve(compute_capacity(size + 1, max_size));
+  }
+
+  // This operation does not throw, because the space for the new element
+  // has already been reserved: hence the new-ed Constraint is safe.
+  input_cs.push_back(new Constraint(c));
+}
+
 inline
 MIP_Problem::~MIP_Problem() {
+  // NOTE: do NOT delete inherited constraints; they are owned
+  // (and will eventually be deleted) by ancestors.
+  for (Constraint_Sequence::const_iterator
+         i = nth_iter(input_cs, inherited_constraints),
+         i_end = input_cs.end(); i != i_end; ++i)
+    delete *i;
 }
 
 
@@ -86,19 +138,19 @@ MIP_Problem::optimization_mode() const {
 }
 
 inline void
-MIP_Problem::optimal_value(Coefficient& num, Coefficient& den) const {
+MIP_Problem::optimal_value(Coefficient& numer, Coefficient& denom) const {
   const Generator& g = optimizing_point();
-  evaluate_objective_function(g, num, den);
+  evaluate_objective_function(g, numer, denom);
 }
 
 inline MIP_Problem::const_iterator
 MIP_Problem::constraints_begin() const {
-  return input_cs.begin();
+  return const_iterator(input_cs.begin());
 }
 
 inline MIP_Problem::const_iterator
 MIP_Problem::constraints_end() const {
-  return input_cs.end();
+  return const_iterator(input_cs.end());
 }
 
 inline const Variables_Set&
@@ -108,7 +160,7 @@ MIP_Problem::integer_space_dimensions() const {
 
 inline MIP_Problem::Control_Parameter_Value
 MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
-  used(name);
+  PPL_USED(name);
   PPL_ASSERT(name == PRICING);
   return pricing;
 }
@@ -119,49 +171,56 @@ MIP_Problem::set_control_parameter(Control_Parameter_Value value) {
 }
 
 inline void
-MIP_Problem::swap(MIP_Problem& y) {
-  std::swap(external_space_dim, y.external_space_dim);
-  std::swap(internal_space_dim, y.internal_space_dim);
-  std::swap(tableau, y.tableau);
-  std::swap(working_cost, y.working_cost);
-  std::swap(mapping, y.mapping);
-  std::swap(initialized, y.initialized);
-  std::swap(base, y.base);
-  std::swap(status, y.status);
-  std::swap(pricing, y.pricing);
-  std::swap(input_cs, y.input_cs);
-  std::swap(first_pending_constraint, y.first_pending_constraint);
-  std::swap(input_obj_function, y.input_obj_function);
-  std::swap(opt_mode, y.opt_mode);
-  std::swap(last_generator, y.last_generator);
-  std::swap(i_variables, y.i_variables);
+MIP_Problem::m_swap(MIP_Problem& y) {
+  using std::swap;
+  swap(external_space_dim, y.external_space_dim);
+  swap(internal_space_dim, y.internal_space_dim);
+  swap(tableau, y.tableau);
+  swap(working_cost, y.working_cost);
+  swap(mapping, y.mapping);
+  swap(initialized, y.initialized);
+  swap(base, y.base);
+  swap(status, y.status);
+  swap(pricing, y.pricing);
+  swap(input_cs, y.input_cs);
+  swap(inherited_constraints, y.inherited_constraints);
+  swap(first_pending_constraint, y.first_pending_constraint);
+  swap(input_obj_function, y.input_obj_function);
+  swap(opt_mode, y.opt_mode);
+  swap(last_generator, y.last_generator);
+  swap(i_variables, y.i_variables);
 }
 
 inline MIP_Problem&
 MIP_Problem::operator=(const MIP_Problem& y) {
   MIP_Problem tmp(y);
-  swap(tmp);
+  m_swap(tmp);
   return *this;
 }
 
 inline void
 MIP_Problem::clear() {
   MIP_Problem tmp;
-  swap(tmp);
+  m_swap(tmp);
 }
 
+
 inline memory_size_type
 MIP_Problem::external_memory_in_bytes() const {
   memory_size_type n
-    = tableau.external_memory_in_bytes()
-    + working_cost.external_memory_in_bytes()
+    = working_cost.external_memory_in_bytes()
+    + tableau.external_memory_in_bytes()
     + input_obj_function.external_memory_in_bytes()
     + last_generator.external_memory_in_bytes();
+
   // Adding the external memory for `input_cs'.
-  n += input_cs.capacity() * sizeof(Constraint);
-  for (const_iterator i = input_cs.begin(),
-	 i_end = input_cs.end(); i != i_end; ++i)
-    n += (i->external_memory_in_bytes());
+  // NOTE: disregard inherited constraints, as they are owned by ancestors.
+  n += input_cs.capacity() * sizeof(Constraint*);
+  for (Constraint_Sequence::const_iterator
+         i = nth_iter(input_cs, inherited_constraints),
+         i_end = input_cs.end(); i != i_end; ++i)
+    n += ((*i)->total_memory_in_bytes());
+
   // Adding the external memory for `base'.
   n += base.capacity() * sizeof(dimension_type);
   // Adding the external memory for `mapping'.
@@ -174,17 +233,90 @@ MIP_Problem::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-} // namespace Parma_Polyhedra_Library
+inline
+MIP_Problem::const_iterator::const_iterator(Base base)
+  : itr(base) {
+}
+
+inline MIP_Problem::const_iterator::difference_type
+MIP_Problem::const_iterator::operator-(const const_iterator& y) const {
+  return itr - y.itr;
+}
+
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator++() {
+  ++itr;
+  return *this;
+}
+
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator--() {
+  --itr;
+  return *this;
+}
+
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator++(int) {
+  const_iterator x = *this;
+  operator++();
+  return x;
+}
 
-namespace std {
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator--(int) {
+  const_iterator x = *this;
+  operator--();
+  return x;
+}
+
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator+(difference_type n) const {
+  return const_iterator(itr + n);
+}
+
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator-(difference_type n) const {
+  return const_iterator(itr - n);
+}
 
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator+=(difference_type n) {
+  itr += n;
+  return *this;
+}
+
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator-=(difference_type n) {
+  itr -= n;
+  return *this;
+}
+
+inline MIP_Problem::const_iterator::reference
+MIP_Problem::const_iterator::operator*() const {
+  return *(*itr);
+}
+
+inline MIP_Problem::const_iterator::pointer
+MIP_Problem::const_iterator::operator->() const {
+  return *itr;
+}
+
+inline bool
+MIP_Problem::const_iterator::operator==(const const_iterator& y) const {
+  return itr == y.itr;
+}
+
+inline bool
+MIP_Problem::const_iterator::operator!=(const const_iterator& y) const {
+  return itr != y.itr;
+}
+
+/*! \relates MIP_Problem */
 inline void
-swap(Parma_Polyhedra_Library::MIP_Problem& x,
-     Parma_Polyhedra_Library::MIP_Problem& y) {
-  x.swap(y);
+swap(MIP_Problem& x, MIP_Problem& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_MIP_Problem_inlines_hh)
diff --git a/src/MIP_Problem.templates.hh b/src/MIP_Problem.templates.hh
index 8015d85..530c89d 100644
--- a/src/MIP_Problem.templates.hh
+++ b/src/MIP_Problem.templates.hh
@@ -1,6 +1,6 @@
 /* MIP_Problem class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_MIP_Problem_templates_hh
 #define PPL_MIP_Problem_templates_hh 1
@@ -30,21 +30,21 @@ namespace Parma_Polyhedra_Library {
 
 template <typename In>
 MIP_Problem::MIP_Problem(const dimension_type dim,
-			 In first,
-			 In last,
-			 const Variables_Set& int_vars,
-			 const Linear_Expression& obj,
-			 const Optimization_Mode mode)
+                         In first, In last,
+                         const Variables_Set& int_vars,
+                         const Linear_Expression& obj,
+                         const Optimization_Mode mode)
   : external_space_dim(dim),
     internal_space_dim(0),
     tableau(),
-    working_cost(0, Row::Flags()),
+    working_cost(0),
     mapping(),
     base(),
     status(PARTIALLY_SATISFIABLE),
     pricing(PRICING_STEEPEST_EDGE_FLOAT),
     initialized(false),
     input_cs(),
+    inherited_constraints(0),
     first_pending_constraint(0),
     input_obj_function(obj),
     opt_mode(mode),
@@ -62,57 +62,68 @@ MIP_Problem::MIP_Problem(const dimension_type dim,
     throw std::invalid_argument(s.str());
   }
 
-   // Check for space dimension overflow.
-   if (dim > max_space_dimension())
-     throw std::length_error("PPL::MIP_Problem:: MIP_Problem(dim, first, "
-			     "last, int_vars, obj, mode):\n"
-			     "dim exceeds the maximum allowed"
-			     "space dimension.");
-   // Check the objective function.
-   if (obj.space_dimension() > dim) {
-     std::ostringstream s;
-     s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
-       << "int_vars, obj, mode):\n"
-       << "obj.space_dimension() == "<< obj.space_dimension()
-       << " exceeds d == "<< dim << ".";
-     throw std::invalid_argument(s.str());
-   }
-   // Check the constraints.
-   for (In i = first; i != last; ++i) {
-     if (i->is_strict_inequality())
-       throw std::invalid_argument("PPL::MIP_Problem::"
-				   "MIP_Problem(dim, first, last, int_vars,"
-				   "obj, mode):\nrange [first, last) contains"
-				   "a strict inequality constraint.");
-     if (i->space_dimension() > dim) {
-       std::ostringstream s;
-       s << "PPL::MIP_Problem::"
-	 << "MIP_Problem(dim, first, last, int_vars, obj, mode):\n"
-	 << "range [first, last) contains a constraint having space"
-	 << "dimension  == " << i->space_dimension() << " that exceeds"
-	 "this->space_dimension == " << dim << ".";
-       throw std::invalid_argument(s.str());
-     }
-     input_cs.push_back(*i);
-   }
-   PPL_ASSERT(OK());
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::MIP_Problem:: MIP_Problem(dim, first, "
+                            "last, int_vars, obj, mode):\n"
+                            "dim exceeds the maximum allowed"
+                            "space dimension.");
+  // Check the objective function.
+  if (obj.space_dimension() > dim) {
+    std::ostringstream s;
+    s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
+      << "int_vars, obj, mode):\n"
+      << "obj.space_dimension() == "<< obj.space_dimension()
+      << " exceeds d == "<< dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+  // Check the constraints.
+  try {
+    for (In i = first; i != last; ++i) {
+      if (i->is_strict_inequality())
+        throw std::invalid_argument("PPL::MIP_Problem::"
+                                    "MIP_Problem(dim, first, last, int_vars,"
+                                    "obj, mode):\nrange [first, last) contains"
+                                    "a strict inequality constraint.");
+      if (i->space_dimension() > dim) {
+        std::ostringstream s;
+        s << "PPL::MIP_Problem::"
+          << "MIP_Problem(dim, first, last, int_vars, obj, mode):\n"
+          << "range [first, last) contains a constraint having space"
+          << "dimension  == " << i->space_dimension() << " that exceeds"
+          "this->space_dimension == " << dim << ".";
+        throw std::invalid_argument(s.str());
+      }
+      add_constraint_helper(*i);
+    }
+  } catch (...) {
+    // Delete the allocated constraints, to avoid memory leaks.
+
+    for (Constraint_Sequence::const_iterator
+          i = input_cs.begin(), i_end = input_cs.end(); i != i_end; ++i)
+      delete *i;
+
+    throw;
+  }
+  PPL_ASSERT(OK());
 }
 
 template <typename In>
 MIP_Problem::MIP_Problem(dimension_type dim,
-			 In first, In last,
-			 const Linear_Expression& obj,
-			 Optimization_Mode mode)
+                         In first, In last,
+                         const Linear_Expression& obj,
+                         Optimization_Mode mode)
   : external_space_dim(dim),
     internal_space_dim(0),
     tableau(),
-    working_cost(0, Row::Flags()),
+    working_cost(0),
     mapping(),
     base(),
     status(PARTIALLY_SATISFIABLE),
     pricing(PRICING_STEEPEST_EDGE_FLOAT),
     initialized(false),
     input_cs(),
+    inherited_constraints(0),
     first_pending_constraint(0),
     input_obj_function(obj),
     opt_mode(mode),
@@ -121,9 +132,9 @@ MIP_Problem::MIP_Problem(dimension_type dim,
   // Check for space dimension overflow.
   if (dim > max_space_dimension())
     throw std::length_error("PPL::MIP_Problem::"
-			    "MIP_Problem(dim, first, last, obj, mode):\n"
-			    "dim exceeds the maximum allowed space "
-			    "dimension.");
+                            "MIP_Problem(dim, first, last, obj, mode):\n"
+                            "dim exceeds the maximum allowed space "
+                            "dimension.");
   // Check the objective function.
   if (obj.space_dimension() > dim) {
     std::ostringstream s;
@@ -134,22 +145,33 @@ MIP_Problem::MIP_Problem(dimension_type dim,
     throw std::invalid_argument(s.str());
   }
   // Check the constraints.
-  for (In i = first; i != last; ++i) {
-    if (i->is_strict_inequality())
-      throw std::invalid_argument("PPL::MIP_Problem::"
-				  "MIP_Problem(dim, first, last, obj, mode):\n"
-				  "range [first, last) contains a strict "
-				  "inequality constraint.");
-    if (i->space_dimension() > dim) {
-      std::ostringstream s;
-      s << "PPL::MIP_Problem::"
-	<< "MIP_Problem(dim, first, last, obj, mode):\n"
-	<< "range [first, last) contains a constraint having space"
-	<< "dimension" << " == " << i->space_dimension() << " that exceeds"
-	"this->space_dimension == " << dim << ".";
-      throw std::invalid_argument(s.str());
+  try {
+    for (In i = first; i != last; ++i) {
+      if (i->is_strict_inequality())
+        throw std::invalid_argument("PPL::MIP_Problem::"
+                                    "MIP_Problem(dim, first, last, obj, mode):"
+                                    "\n"
+                                    "range [first, last) contains a strict "
+                                    "inequality constraint.");
+      if (i->space_dimension() > dim) {
+        std::ostringstream s;
+        s << "PPL::MIP_Problem::"
+          << "MIP_Problem(dim, first, last, obj, mode):\n"
+          << "range [first, last) contains a constraint having space"
+          << "dimension" << " == " << i->space_dimension() << " that exceeds"
+          "this->space_dimension == " << dim << ".";
+        throw std::invalid_argument(s.str());
+      }
+      add_constraint_helper(*i);
     }
-    input_cs.push_back(*i);
+  } catch (...) {
+    // Delete the allocated constraints, to avoid memory leaks.
+
+    for (Constraint_Sequence::const_iterator
+          i = input_cs.begin(), i_end = input_cs.end(); i != i_end; ++i)
+      delete *i;
+
+    throw;
   }
   PPL_ASSERT(OK());
 }
diff --git a/src/MIP_Problem.types.hh b/src/MIP_Problem.types.hh
index 364f8c8..0600835 100644
--- a/src/MIP_Problem.types.hh
+++ b/src/MIP_Problem.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Makefile.am b/src/Makefile.am
index cb0542a..8a73add 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # Libtool -version-info for libppl.la.
 #
@@ -56,12 +56,13 @@
 #	    0.10.1		    8:0:1
 #	    0.10.2		    8:0:1
 #	    0.11		    9:0:0
-#	    0.11.1		    9:0:0
-#	    0.11.2		    9:0:0
+#	    0.12		   10:0:0
+#	    0.12.1		   11:0:0
+#	    1.0			   12:0:0
 
-LIBPPL_LT_CURRENT =  9
-LIBPPL_LT_REVISION = 0
-LIBPPL_LT_AGE =      0
+LIBPPL_LT_CURRENT =  12
+LIBPPL_LT_REVISION =  0
+LIBPPL_LT_AGE =       0
 
 AM_CPPFLAGS = \
 -I$(top_builddir) \
@@ -73,8 +74,11 @@ lib_LTLIBRARIES = libppl.la
 bin_PROGRAMS = ppl-config
 
 ppl_config_SOURCES = \
+BUGS.hh \
 BUGS.cc \
+COPYING.hh \
 COPYING.cc \
+CREDITS.hh \
 CREDITS.cc
 
 nodist_ppl_config_SOURCES = \
@@ -82,6 +86,7 @@ ppl-config.cc \
 ppl.hh
 
 ppl_config_LDADD = \
+ at extra_libraries@ \
 libppl.la
 
 if USE_NATIVE_INTEGERS
@@ -122,11 +127,15 @@ Has_Assign_Or_Swap.hh \
 assign_or_swap.hh \
 mp_std_bits.defs.hh \
 mp_std_bits.inlines.hh \
+Concrete_Expression.types.hh \
+Concrete_Expression.defs.hh \
+Concrete_Expression.inlines.hh \
 Temp.defs.hh \
 Temp.inlines.hh \
 Temp.templates.hh \
 Coefficient_traits_template.hh \
 Checked_Number.types.hh \
+termination.types.hh \
 $(COEFFICIENT_TYPES_INCLUDE_FILES) \
 Coefficient.types.hh \
 stdiobuf.types.hh \
@@ -142,13 +151,20 @@ Generator.types.hh \
 Grid_Generator.types.hh \
 Congruence.types.hh \
 Init.types.hh \
-Row.types.hh \
-Linear_Row.types.hh \
+Dense_Row.types.hh \
+CO_Tree.types.hh \
+Sparse_Row.types.hh \
 Matrix.types.hh \
+Swapping_Vector.types.hh \
 Variable.types.hh \
 Variables_Set.types.hh \
 Linear_Expression.types.hh \
+Expression_Hide_Last.types.hh \
+Expression_Hide_Inhomo.types.hh \
+Linear_Expression_Impl.types.hh \
+Linear_Expression_Interface.types.hh \
 Linear_System.types.hh \
+Linear_Form.types.hh \
 Bit_Row.types.hh \
 Bit_Matrix.types.hh \
 Constraint_System.types.hh \
@@ -177,6 +193,7 @@ Octagonal_Shape.types.hh \
 fpu.types.hh \
 Float.defs.hh \
 Float.inlines.hh \
+Float.templates.hh \
 C_Integer.hh \
 fpu.defs.hh \
 fpu-c99.inlines.hh \
@@ -220,7 +237,6 @@ Boundary.defs.hh \
 intervals.defs.hh \
 Interval_Info.defs.hh \
 Interval_Info.inlines.hh \
-Interval_Restriction.defs.hh \
 Interval.defs.hh \
 Interval.inlines.hh \
 Interval.templates.hh \
@@ -228,6 +244,7 @@ Box.defs.hh \
 Box_Status.inlines.hh \
 Box.inlines.hh \
 Box.templates.hh \
+Integer_Interval.hh \
 Rational_Interval.hh \
 Rational_Box.hh \
 Variable.defs.hh \
@@ -237,17 +254,21 @@ Variables_Set.inlines.hh \
 Init.defs.hh \
 Init.inlines.hh \
 initializer.hh \
-Topology.hh \
-Row.defs.hh \
-Row.inlines.hh \
-Linear_Row.defs.hh \
-Linear_Row.inlines.hh \
-Matrix.defs.hh \
-Matrix.inlines.hh \
+Topology.types.hh \
+Dense_Row.defs.hh \
+Dense_Row.inlines.hh \
+Dense_Row.templates.hh \
+CO_Tree.defs.hh \
+CO_Tree.inlines.hh \
+CO_Tree.templates.hh \
+Sparse_Row.defs.hh \
+Sparse_Row.inlines.hh \
+Sparse_Row.templates.hh \
 Bit_Row.defs.hh \
 Bit_Row.inlines.hh \
 Linear_System.defs.hh \
 Linear_System.inlines.hh \
+Linear_System.templates.hh \
 Bit_Matrix.defs.hh \
 Bit_Matrix.inlines.hh \
 Constraint_System.defs.hh \
@@ -256,6 +277,18 @@ Grid_Generator_System.defs.hh \
 Congruence_System.defs.hh \
 Linear_Expression.defs.hh \
 Linear_Expression.inlines.hh \
+Expression_Hide_Last.defs.hh \
+Expression_Hide_Last.inlines.hh \
+Expression_Hide_Inhomo.defs.hh \
+Expression_Hide_Inhomo.inlines.hh \
+Linear_Expression_Impl.defs.hh \
+Linear_Expression_Impl.inlines.hh \
+Linear_Expression_Impl.templates.hh \
+Linear_Expression_Interface.defs.hh \
+Linear_Form.defs.hh \
+Linear_Form.inlines.hh \
+Linear_Form.templates.hh \
+linearize.hh \
 Constraint.defs.hh \
 Constraint.inlines.hh \
 Constraint_System.inlines.hh \
@@ -270,6 +303,11 @@ Grid_Generator_System.inlines.hh \
 Congruence_System.inlines.hh \
 Scalar_Products.defs.hh \
 Scalar_Products.inlines.hh \
+Matrix.defs.hh \
+Matrix.inlines.hh \
+Matrix.templates.hh \
+Swapping_Vector.defs.hh \
+Swapping_Vector.inlines.hh \
 MIP_Problem.types.hh \
 MIP_Problem.defs.hh \
 MIP_Problem.inlines.hh \
@@ -296,6 +334,10 @@ Partial_Function.inlines.hh \
 Polyhedron.defs.hh \
 Ph_Status.inlines.hh \
 Polyhedron.inlines.hh \
+Polyhedron_chdims.templates.hh \
+Polyhedron_conversion.templates.hh \
+Polyhedron_minimize.templates.hh \
+Polyhedron_simplify.templates.hh \
 Polyhedron.templates.hh \
 Grid.defs.hh \
 Grid_Status.inlines.hh \
@@ -348,7 +390,69 @@ algorithms.hh \
 termination.defs.hh \
 termination.templates.hh \
 wrap_assign.hh \
-wrap_string.hh
+wrap_string.hh \
+Floating_Point_Expression.types.hh \
+Floating_Point_Expression.defs.hh \
+Floating_Point_Expression.inlines.hh \
+Floating_Point_Expression.templates.hh \
+Cast_Floating_Point_Expression.types.hh \
+Cast_Floating_Point_Expression.defs.hh \
+Cast_Floating_Point_Expression.inlines.hh \
+Cast_Floating_Point_Expression.templates.hh \
+Constant_Floating_Point_Expression.types.hh \
+Constant_Floating_Point_Expression.defs.hh \
+Constant_Floating_Point_Expression.inlines.hh \
+Variable_Floating_Point_Expression.types.hh \
+Variable_Floating_Point_Expression.defs.hh \
+Variable_Floating_Point_Expression.inlines.hh \
+Sum_Floating_Point_Expression.types.hh \
+Sum_Floating_Point_Expression.defs.hh \
+Sum_Floating_Point_Expression.inlines.hh \
+Sum_Floating_Point_Expression.templates.hh \
+Difference_Floating_Point_Expression.types.hh \
+Difference_Floating_Point_Expression.defs.hh \
+Difference_Floating_Point_Expression.inlines.hh \
+Difference_Floating_Point_Expression.templates.hh \
+Multiplication_Floating_Point_Expression.types.hh \
+Multiplication_Floating_Point_Expression.defs.hh \
+Multiplication_Floating_Point_Expression.inlines.hh \
+Multiplication_Floating_Point_Expression.templates.hh \
+Division_Floating_Point_Expression.types.hh \
+Division_Floating_Point_Expression.defs.hh \
+Division_Floating_Point_Expression.inlines.hh \
+Division_Floating_Point_Expression.templates.hh \
+Opposite_Floating_Point_Expression.types.hh \
+Opposite_Floating_Point_Expression.defs.hh \
+Opposite_Floating_Point_Expression.inlines.hh \
+Doubly_Linked_Object.types.hh \
+EList.types.hh \
+EList_Iterator.types.hh \
+Handler.types.hh \
+Pending_Element.types.hh \
+Pending_List.types.hh \
+Time.types.hh \
+Watchdog.types.hh \
+Threshold_Watcher.types.hh \
+Handler.defs.hh \
+Handler.inlines.hh \
+Time.defs.hh \
+Time.inlines.hh \
+Doubly_Linked_Object.defs.hh \
+Doubly_Linked_Object.inlines.hh \
+EList_Iterator.defs.hh \
+EList_Iterator.inlines.hh \
+EList.defs.hh \
+EList.inlines.hh \
+Pending_Element.defs.hh \
+Pending_Element.inlines.hh \
+Pending_List.defs.hh \
+Pending_List.inlines.hh \
+Pending_List.templates.hh \
+Watchdog.defs.hh \
+Watchdog.inlines.hh \
+Threshold_Watcher.defs.hh \
+Threshold_Watcher.inlines.hh \
+Threshold_Watcher.templates.hh
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
 #Any_Pointset.inlines.hh \
@@ -369,11 +473,13 @@ BDS_Status.idefs.hh \
 Og_Status.idefs.hh
 
 libppl_la_SOURCES = \
+assert.cc \
 Box.cc \
 checked.cc \
 Checked_Number.cc \
 Float.cc \
 fpu-ia32.cc \
+Concrete_Expression.cc \
 Constraint.cc \
 Constraint_System.cc \
 Congruence.cc \
@@ -385,8 +491,9 @@ Grid_Generator.cc \
 Init.cc \
 Coefficient.cc \
 Linear_Expression.cc \
-Linear_System.cc \
-Matrix.cc \
+Linear_Expression_Impl.cc \
+Linear_Expression_Interface.cc \
+Linear_Form.cc \
 Scalar_Products.cc \
 MIP_Problem.cc \
 PIP_Tree.cc \
@@ -410,17 +517,15 @@ Grid_widenings.cc \
 BD_Shape.cc \
 Octagonal_Shape.cc \
 Pointset_Powerset.cc \
-Row.cc \
-Linear_Row.cc \
+CO_Tree.cc \
+Sparse_Row.cc \
+Dense_Row.cc \
 Bit_Matrix.cc \
 Bit_Row.cc \
 Ph_Status.cc \
 Grid_Status.cc \
 Variable.cc \
 Variables_Set.cc \
-conversion.cc \
-minimize.cc \
-simplify.cc \
 Grid_conversion.cc \
 Grid_simplify.cc \
 stdiobuf.cc \
@@ -431,9 +536,12 @@ Weight_Profiler.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
-swapping_sort.icc \
+swapping_sort.templates.hh \
 termination.cc \
-wrap_string.cc
+wrap_string.cc \
+Time.cc \
+Watchdog.cc \
+Threshold_Watcher.cc
 #Pointset_Ask_Tell.cc
 
 if NO_UNDEFINED
@@ -476,12 +584,32 @@ ppl.hh:	$(top_builddir)/ppl-config.h $(top_builddir)/src/version.hh ppl_header.h
 		-I $(top_builddir) -I $(top_builddir)/src \
 		$(top_srcdir)/src/ppl_header.hh >$@
 
+BUGS.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/BUGS
+	@echo "#ifndef PPL_BUGS_hh" >$@
+	@echo "#define PPL_BUGS_hh 1" >>$@
+	$(top_builddir)/utils/text2cxxarray --name=BUGS_array --decl-only \
+		$(top_srcdir)/BUGS >>$@
+	@echo "#endif // !defined(PPL_BUGS_hh)" >>$@
 BUGS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/BUGS
 	$(top_builddir)/utils/text2cxxarray --name=BUGS_array \
 		$(top_srcdir)/BUGS >$@
+
+COPYING.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/COPYING
+	@echo "#ifndef PPL_COPYING_hh" >$@
+	@echo "#define PPL_COPYING_hh 1" >>$@
+	$(top_builddir)/utils/text2cxxarray --name=COPYING_array --decl-only \
+		$(top_srcdir)/COPYING >>$@
+	@echo "#endif // !defined(PPL_COPYING_hh)" >>$@
+
 COPYING.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/COPYING
 	$(top_builddir)/utils/text2cxxarray --name=COPYING_array \
 		$(top_srcdir)/COPYING >$@
+CREDITS.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
+	@echo "#ifndef PPL_CREDITS_hh" >$@
+	@echo "#define PPL_CREDITS_hh 1" >>$@
+	$(top_builddir)/utils/text2cxxarray --name=CREDITS_array --decl-only \
+		$(top_srcdir)/CREDITS >>$@
+	@echo "#endif // !defined(PPL_CREDITS_hh)" >>$@
 CREDITS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
 	$(top_builddir)/utils/text2cxxarray --name=CREDITS_array \
 		$(top_srcdir)/CREDITS >$@
@@ -503,10 +631,16 @@ ppl.hh:	ppl.hh.dist ppl.hh.sed
 	$(SED) -f ppl.hh.sed $< >$@
 	rm -f ppl.hh.sed
 
+BUGS.hh:	BUGS.hh.dist
+	cp -f $< $@
 BUGS.cc:	BUGS.cc.dist
 	cp -f $< $@
+COPYING.hh:	COPYING.hh.dist
+	cp -f $< $@
 COPYING.cc:	COPYING.cc.dist
 	cp -f $< $@
+CREDITS.hh:	CREDITS.hh.dist
+	cp -f $< $@
 CREDITS.cc:	CREDITS.cc.dist
 	cp -f $< $@
 
@@ -530,8 +664,11 @@ $(include_HEADERS) \
 $(nodist_noinst_HEADERS) \
 $(noinst_HEADERS) \
 $(PRECOMPILED) \
+BUGS.hh \
 BUGS.cc \
+COPYING.hh \
 COPYING.cc \
+CREDITS.hh \
 CREDITS.cc
 
 # ppl.hh is not distributed.
@@ -539,8 +676,11 @@ CREDITS.cc
 # likewise for BUGS.cc.dist, COPYING.cc.dist and CREDITS.cc.dist.
 dist-hook:
 	mv -f $(distdir)/ppl.hh $(distdir)/ppl.hh.dist
+	mv -f $(distdir)/BUGS.hh $(distdir)/BUGS.hh.dist
 	mv -f $(distdir)/BUGS.cc $(distdir)/BUGS.cc.dist
+	mv -f $(distdir)/COPYING.hh $(distdir)/COPYING.hh.dist
 	mv -f $(distdir)/COPYING.cc $(distdir)/COPYING.cc.dist
+	mv -f $(distdir)/CREDITS.hh $(distdir)/CREDITS.hh.dist
 	mv -f $(distdir)/CREDITS.cc $(distdir)/CREDITS.cc.dist
 
 CLEANFILES = $(BUILT_SOURCES)
diff --git a/src/Makefile.in b/src/Makefile.in
index a37c058..4882274 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 # Libtool -version-info for libppl.la.
 #
@@ -73,8 +73,9 @@
 #	    0.10.1		    8:0:1
 #	    0.10.2		    8:0:1
 #	    0.11		    9:0:0
-#	    0.11.1		    9:0:0
-#	    0.11.2		    9:0:0
+#	    0.12		   10:0:0
+#	    0.12.1		   11:0:0
+#	    1.0			   12:0:0
 
 
 
@@ -112,27 +113,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -160,16 +156,24 @@ am__nobase_list = $(am__nobase_strip_setup); \
 am__base_list = \
   sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
   sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
 am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
 	"$(DESTDIR)$(includedir)"
 LTLIBRARIES = $(lib_LTLIBRARIES)
 libppl_la_DEPENDENCIES =
-am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
-	Float.cc fpu-ia32.cc Constraint.cc Constraint_System.cc \
-	Congruence.cc Congruence_System.cc Generator_System.cc \
+am__libppl_la_SOURCES_DIST = assert.cc Box.cc checked.cc \
+	Checked_Number.cc Float.cc fpu-ia32.cc Concrete_Expression.cc \
+	Constraint.cc Constraint_System.cc Congruence.cc \
+	Congruence_System.cc Generator_System.cc \
 	Grid_Generator_System.cc Generator.cc Grid_Generator.cc \
-	Init.cc Coefficient.cc Linear_Expression.cc Linear_System.cc \
-	Matrix.cc Scalar_Products.cc MIP_Problem.cc PIP_Tree.cc \
+	Init.cc Coefficient.cc Linear_Expression.cc \
+	Linear_Expression_Impl.cc Linear_Expression_Interface.cc \
+	Linear_Form.cc Scalar_Products.cc MIP_Problem.cc PIP_Tree.cc \
 	PIP_Problem.cc Poly_Con_Relation.cc Poly_Gen_Relation.cc \
 	BHRZ03_Certificate.cc H79_Certificate.cc Grid_Certificate.cc \
 	Partial_Function.cc Polyhedron_nonpublic.cc \
@@ -177,25 +181,30 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Polyhedron_widenings.cc C_Polyhedron.cc NNC_Polyhedron.cc \
 	Grid_nonpublic.cc Grid_public.cc Grid_chdims.cc \
 	Grid_widenings.cc BD_Shape.cc Octagonal_Shape.cc \
-	Pointset_Powerset.cc Row.cc Linear_Row.cc Bit_Matrix.cc \
-	Bit_Row.cc Ph_Status.cc Grid_Status.cc Variable.cc \
-	Variables_Set.cc conversion.cc minimize.cc simplify.cc \
-	Grid_conversion.cc Grid_simplify.cc stdiobuf.cc c_streambuf.cc \
-	globals.cc mp_std_bits.cc Weight_Profiler.cc version.cc \
-	namespaces.hh compiler.hh assert.hh meta_programming.hh \
-	Slow_Copy.hh Has_Assign_Or_Swap.hh assign_or_swap.hh \
-	mp_std_bits.defs.hh mp_std_bits.inlines.hh Temp.defs.hh \
-	Temp.inlines.hh Temp.templates.hh \
+	Pointset_Powerset.cc CO_Tree.cc Sparse_Row.cc Dense_Row.cc \
+	Bit_Matrix.cc Bit_Row.cc Ph_Status.cc Grid_Status.cc \
+	Variable.cc Variables_Set.cc Grid_conversion.cc \
+	Grid_simplify.cc stdiobuf.cc c_streambuf.cc globals.cc \
+	mp_std_bits.cc Weight_Profiler.cc version.cc namespaces.hh \
+	compiler.hh assert.hh meta_programming.hh Slow_Copy.hh \
+	Has_Assign_Or_Swap.hh assign_or_swap.hh mp_std_bits.defs.hh \
+	mp_std_bits.inlines.hh Concrete_Expression.types.hh \
+	Concrete_Expression.defs.hh Concrete_Expression.inlines.hh \
+	Temp.defs.hh Temp.inlines.hh Temp.templates.hh \
 	Coefficient_traits_template.hh Checked_Number.types.hh \
-	GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh \
-	c_streambuf.types.hh globals.types.hh \
+	termination.types.hh GMP_Integer.types.hh Coefficient.types.hh \
+	stdiobuf.types.hh c_streambuf.types.hh globals.types.hh \
 	iterator_to_const.types.hh distances.types.hh \
 	Interval_Info.types.hh Interval.types.hh Box.types.hh \
 	Constraint.types.hh Generator.types.hh Grid_Generator.types.hh \
-	Congruence.types.hh Init.types.hh Row.types.hh \
-	Linear_Row.types.hh Matrix.types.hh Variable.types.hh \
+	Congruence.types.hh Init.types.hh Dense_Row.types.hh \
+	CO_Tree.types.hh Sparse_Row.types.hh Matrix.types.hh \
+	Swapping_Vector.types.hh Variable.types.hh \
 	Variables_Set.types.hh Linear_Expression.types.hh \
-	Linear_System.types.hh Bit_Row.types.hh Bit_Matrix.types.hh \
+	Expression_Hide_Last.types.hh Expression_Hide_Inhomo.types.hh \
+	Linear_Expression_Impl.types.hh \
+	Linear_Expression_Interface.types.hh Linear_System.types.hh \
+	Linear_Form.types.hh Bit_Row.types.hh Bit_Matrix.types.hh \
 	Constraint_System.types.hh Generator_System.types.hh \
 	Grid_Generator_System.types.hh Congruence_System.types.hh \
 	Scalar_Products.types.hh PIP_Tree.types.hh \
@@ -206,18 +215,18 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	C_Polyhedron.types.hh NNC_Polyhedron.types.hh Grid.types.hh \
 	Ptr_Iterator.types.hh DB_Row.types.hh DB_Matrix.types.hh \
 	BD_Shape.types.hh OR_Matrix.types.hh Octagonal_Shape.types.hh \
-	fpu.types.hh Float.defs.hh Float.inlines.hh C_Integer.hh \
-	fpu.defs.hh fpu-c99.inlines.hh fpu-ia32.inlines.hh \
-	fpu-none.inlines.hh fpu-sparc.inlines.hh Rounding_Dir.defs.hh \
-	Rounding_Dir.inlines.hh Result.defs.hh Result.inlines.hh \
-	Numeric_Format.defs.hh checked.defs.hh checked.inlines.hh \
-	checked_int.inlines.hh checked_float.inlines.hh \
-	checked_mpz.inlines.hh checked_mpq.inlines.hh \
-	checked_ext.inlines.hh Checked_Number.defs.hh \
-	Checked_Number.inlines.hh Checked_Number.templates.hh \
-	WRD_coefficient_types.defs.hh WRD_coefficient_types.inlines.hh \
-	checked_numeric_limits.hh GMP_Integer.defs.hh \
-	GMP_Integer.inlines.hh Coefficient.defs.hh \
+	fpu.types.hh Float.defs.hh Float.inlines.hh Float.templates.hh \
+	C_Integer.hh fpu.defs.hh fpu-c99.inlines.hh \
+	fpu-ia32.inlines.hh fpu-none.inlines.hh fpu-sparc.inlines.hh \
+	Rounding_Dir.defs.hh Rounding_Dir.inlines.hh Result.defs.hh \
+	Result.inlines.hh Numeric_Format.defs.hh checked.defs.hh \
+	checked.inlines.hh checked_int.inlines.hh \
+	checked_float.inlines.hh checked_mpz.inlines.hh \
+	checked_mpq.inlines.hh checked_ext.inlines.hh \
+	Checked_Number.defs.hh Checked_Number.inlines.hh \
+	Checked_Number.templates.hh WRD_coefficient_types.defs.hh \
+	WRD_coefficient_types.inlines.hh checked_numeric_limits.hh \
+	GMP_Integer.defs.hh GMP_Integer.inlines.hh Coefficient.defs.hh \
 	Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh \
 	c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh \
 	globals.inlines.hh math_utilities.defs.hh \
@@ -225,20 +234,29 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	iterator_to_const.inlines.hh distances.defs.hh \
 	distances.inlines.hh Boundary.defs.hh intervals.defs.hh \
 	Interval_Info.defs.hh Interval_Info.inlines.hh \
-	Interval_Restriction.defs.hh Interval.defs.hh \
-	Interval.inlines.hh Interval.templates.hh Box.defs.hh \
-	Box_Status.inlines.hh Box.inlines.hh Box.templates.hh \
-	Rational_Interval.hh Rational_Box.hh Variable.defs.hh \
-	Variable.inlines.hh Variables_Set.defs.hh \
-	Variables_Set.inlines.hh Init.defs.hh Init.inlines.hh \
-	initializer.hh Topology.hh Row.defs.hh Row.inlines.hh \
-	Linear_Row.defs.hh Linear_Row.inlines.hh Matrix.defs.hh \
-	Matrix.inlines.hh Bit_Row.defs.hh Bit_Row.inlines.hh \
+	Interval.defs.hh Interval.inlines.hh Interval.templates.hh \
+	Box.defs.hh Box_Status.inlines.hh Box.inlines.hh \
+	Box.templates.hh Integer_Interval.hh Rational_Interval.hh \
+	Rational_Box.hh Variable.defs.hh Variable.inlines.hh \
+	Variables_Set.defs.hh Variables_Set.inlines.hh Init.defs.hh \
+	Init.inlines.hh initializer.hh Topology.types.hh \
+	Dense_Row.defs.hh Dense_Row.inlines.hh Dense_Row.templates.hh \
+	CO_Tree.defs.hh CO_Tree.inlines.hh CO_Tree.templates.hh \
+	Sparse_Row.defs.hh Sparse_Row.inlines.hh \
+	Sparse_Row.templates.hh Bit_Row.defs.hh Bit_Row.inlines.hh \
 	Linear_System.defs.hh Linear_System.inlines.hh \
-	Bit_Matrix.defs.hh Bit_Matrix.inlines.hh \
-	Constraint_System.defs.hh Generator_System.defs.hh \
-	Grid_Generator_System.defs.hh Congruence_System.defs.hh \
-	Linear_Expression.defs.hh Linear_Expression.inlines.hh \
+	Linear_System.templates.hh Bit_Matrix.defs.hh \
+	Bit_Matrix.inlines.hh Constraint_System.defs.hh \
+	Generator_System.defs.hh Grid_Generator_System.defs.hh \
+	Congruence_System.defs.hh Linear_Expression.defs.hh \
+	Linear_Expression.inlines.hh Expression_Hide_Last.defs.hh \
+	Expression_Hide_Last.inlines.hh Expression_Hide_Inhomo.defs.hh \
+	Expression_Hide_Inhomo.inlines.hh \
+	Linear_Expression_Impl.defs.hh \
+	Linear_Expression_Impl.inlines.hh \
+	Linear_Expression_Impl.templates.hh \
+	Linear_Expression_Interface.defs.hh Linear_Form.defs.hh \
+	Linear_Form.inlines.hh Linear_Form.templates.hh linearize.hh \
 	Constraint.defs.hh Constraint.inlines.hh \
 	Constraint_System.inlines.hh Generator.defs.hh \
 	Generator.inlines.hh Grid_Generator.defs.hh \
@@ -246,6 +264,8 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Congruence.inlines.hh Generator_System.inlines.hh \
 	Grid_Generator_System.inlines.hh Congruence_System.inlines.hh \
 	Scalar_Products.defs.hh Scalar_Products.inlines.hh \
+	Matrix.defs.hh Matrix.inlines.hh Matrix.templates.hh \
+	Swapping_Vector.defs.hh Swapping_Vector.inlines.hh \
 	MIP_Problem.types.hh MIP_Problem.defs.hh \
 	MIP_Problem.inlines.hh MIP_Problem.templates.hh \
 	PIP_Tree.defs.hh PIP_Tree.inlines.hh PIP_Problem.defs.hh \
@@ -257,21 +277,25 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Grid_Certificate.defs.hh Grid_Certificate.inlines.hh \
 	Partial_Function.defs.hh Partial_Function.inlines.hh \
 	Polyhedron.defs.hh Ph_Status.inlines.hh Polyhedron.inlines.hh \
-	Polyhedron.templates.hh Grid.defs.hh Grid_Status.inlines.hh \
-	Grid.inlines.hh Grid.templates.hh C_Polyhedron.defs.hh \
-	C_Polyhedron.inlines.hh NNC_Polyhedron.defs.hh \
-	NNC_Polyhedron.inlines.hh Widening_Function.types.hh \
-	Widening_Function.defs.hh Widening_Function.inlines.hh \
-	Ptr_Iterator.defs.hh Ptr_Iterator.inlines.hh DB_Row.defs.hh \
-	DB_Row.inlines.hh DB_Row.templates.hh DB_Matrix.defs.hh \
-	DB_Matrix.inlines.hh DB_Matrix.templates.hh BD_Shape.defs.hh \
-	BDS_Status.inlines.hh BD_Shape.inlines.hh \
-	BD_Shape.templates.hh OR_Matrix.defs.hh OR_Matrix.inlines.hh \
-	OR_Matrix.templates.hh Octagonal_Shape.defs.hh \
-	Og_Status.inlines.hh Octagonal_Shape.inlines.hh \
-	Octagonal_Shape.templates.hh Determinate.types.hh \
-	Determinate.defs.hh Determinate.inlines.hh Powerset.types.hh \
-	Powerset.defs.hh Powerset.inlines.hh Powerset.templates.hh \
+	Polyhedron_chdims.templates.hh \
+	Polyhedron_conversion.templates.hh \
+	Polyhedron_minimize.templates.hh \
+	Polyhedron_simplify.templates.hh Polyhedron.templates.hh \
+	Grid.defs.hh Grid_Status.inlines.hh Grid.inlines.hh \
+	Grid.templates.hh C_Polyhedron.defs.hh C_Polyhedron.inlines.hh \
+	NNC_Polyhedron.defs.hh NNC_Polyhedron.inlines.hh \
+	Widening_Function.types.hh Widening_Function.defs.hh \
+	Widening_Function.inlines.hh Ptr_Iterator.defs.hh \
+	Ptr_Iterator.inlines.hh DB_Row.defs.hh DB_Row.inlines.hh \
+	DB_Row.templates.hh DB_Matrix.defs.hh DB_Matrix.inlines.hh \
+	DB_Matrix.templates.hh BD_Shape.defs.hh BDS_Status.inlines.hh \
+	BD_Shape.inlines.hh BD_Shape.templates.hh OR_Matrix.defs.hh \
+	OR_Matrix.inlines.hh OR_Matrix.templates.hh \
+	Octagonal_Shape.defs.hh Og_Status.inlines.hh \
+	Octagonal_Shape.inlines.hh Octagonal_Shape.templates.hh \
+	Determinate.types.hh Determinate.defs.hh \
+	Determinate.inlines.hh Powerset.types.hh Powerset.defs.hh \
+	Powerset.inlines.hh Powerset.templates.hh \
 	Pointset_Powerset.types.hh Pointset_Powerset.defs.hh \
 	Pointset_Powerset.inlines.hh Pointset_Powerset.templates.hh \
 	Partially_Reduced_Product.types.hh \
@@ -280,17 +304,64 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Partially_Reduced_Product.templates.hh Weight_Profiler.defs.hh \
 	max_space_dimension.hh algorithms.hh termination.defs.hh \
 	termination.templates.hh wrap_assign.hh wrap_string.hh \
+	Floating_Point_Expression.types.hh \
+	Floating_Point_Expression.defs.hh \
+	Floating_Point_Expression.inlines.hh \
+	Floating_Point_Expression.templates.hh \
+	Cast_Floating_Point_Expression.types.hh \
+	Cast_Floating_Point_Expression.defs.hh \
+	Cast_Floating_Point_Expression.inlines.hh \
+	Cast_Floating_Point_Expression.templates.hh \
+	Constant_Floating_Point_Expression.types.hh \
+	Constant_Floating_Point_Expression.defs.hh \
+	Constant_Floating_Point_Expression.inlines.hh \
+	Variable_Floating_Point_Expression.types.hh \
+	Variable_Floating_Point_Expression.defs.hh \
+	Variable_Floating_Point_Expression.inlines.hh \
+	Sum_Floating_Point_Expression.types.hh \
+	Sum_Floating_Point_Expression.defs.hh \
+	Sum_Floating_Point_Expression.inlines.hh \
+	Sum_Floating_Point_Expression.templates.hh \
+	Difference_Floating_Point_Expression.types.hh \
+	Difference_Floating_Point_Expression.defs.hh \
+	Difference_Floating_Point_Expression.inlines.hh \
+	Difference_Floating_Point_Expression.templates.hh \
+	Multiplication_Floating_Point_Expression.types.hh \
+	Multiplication_Floating_Point_Expression.defs.hh \
+	Multiplication_Floating_Point_Expression.inlines.hh \
+	Multiplication_Floating_Point_Expression.templates.hh \
+	Division_Floating_Point_Expression.types.hh \
+	Division_Floating_Point_Expression.defs.hh \
+	Division_Floating_Point_Expression.inlines.hh \
+	Division_Floating_Point_Expression.templates.hh \
+	Opposite_Floating_Point_Expression.types.hh \
+	Opposite_Floating_Point_Expression.defs.hh \
+	Opposite_Floating_Point_Expression.inlines.hh \
+	Doubly_Linked_Object.types.hh EList.types.hh \
+	EList_Iterator.types.hh Handler.types.hh \
+	Pending_Element.types.hh Pending_List.types.hh Time.types.hh \
+	Watchdog.types.hh Threshold_Watcher.types.hh Handler.defs.hh \
+	Handler.inlines.hh Time.defs.hh Time.inlines.hh \
+	Doubly_Linked_Object.defs.hh Doubly_Linked_Object.inlines.hh \
+	EList_Iterator.defs.hh EList_Iterator.inlines.hh EList.defs.hh \
+	EList.inlines.hh Pending_Element.defs.hh \
+	Pending_Element.inlines.hh Pending_List.defs.hh \
+	Pending_List.inlines.hh Pending_List.templates.hh \
+	Watchdog.defs.hh Watchdog.inlines.hh Threshold_Watcher.defs.hh \
+	Threshold_Watcher.inlines.hh Threshold_Watcher.templates.hh \
 	Ph_Status.idefs.hh Grid_Status.idefs.hh Box_Status.idefs.hh \
-	BDS_Status.idefs.hh Og_Status.idefs.hh swapping_sort.icc \
-	termination.cc wrap_string.cc
+	BDS_Status.idefs.hh Og_Status.idefs.hh \
+	swapping_sort.templates.hh termination.cc wrap_string.cc \
+	Time.cc Watchdog.cc Threshold_Watcher.cc
 am__objects_1 =
 am__objects_2 = $(am__objects_1) $(am__objects_1)
-am_libppl_la_OBJECTS = Box.lo checked.lo Checked_Number.lo Float.lo \
-	fpu-ia32.lo Constraint.lo Constraint_System.lo Congruence.lo \
-	Congruence_System.lo Generator_System.lo \
-	Grid_Generator_System.lo Generator.lo Grid_Generator.lo \
-	Init.lo Coefficient.lo Linear_Expression.lo Linear_System.lo \
-	Matrix.lo Scalar_Products.lo MIP_Problem.lo PIP_Tree.lo \
+am_libppl_la_OBJECTS = assert.lo Box.lo checked.lo Checked_Number.lo \
+	Float.lo fpu-ia32.lo Concrete_Expression.lo Constraint.lo \
+	Constraint_System.lo Congruence.lo Congruence_System.lo \
+	Generator_System.lo Grid_Generator_System.lo Generator.lo \
+	Grid_Generator.lo Init.lo Coefficient.lo Linear_Expression.lo \
+	Linear_Expression_Impl.lo Linear_Expression_Interface.lo \
+	Linear_Form.lo Scalar_Products.lo MIP_Problem.lo PIP_Tree.lo \
 	PIP_Problem.lo Poly_Con_Relation.lo Poly_Gen_Relation.lo \
 	BHRZ03_Certificate.lo H79_Certificate.lo Grid_Certificate.lo \
 	Partial_Function.lo Polyhedron_nonpublic.lo \
@@ -298,16 +369,16 @@ am_libppl_la_OBJECTS = Box.lo checked.lo Checked_Number.lo Float.lo \
 	Polyhedron_widenings.lo C_Polyhedron.lo NNC_Polyhedron.lo \
 	Grid_nonpublic.lo Grid_public.lo Grid_chdims.lo \
 	Grid_widenings.lo BD_Shape.lo Octagonal_Shape.lo \
-	Pointset_Powerset.lo Row.lo Linear_Row.lo Bit_Matrix.lo \
-	Bit_Row.lo Ph_Status.lo Grid_Status.lo Variable.lo \
-	Variables_Set.lo conversion.lo minimize.lo simplify.lo \
-	Grid_conversion.lo Grid_simplify.lo stdiobuf.lo c_streambuf.lo \
-	globals.lo mp_std_bits.lo Weight_Profiler.lo version.lo \
-	$(am__objects_2) $(am__objects_1) termination.lo \
-	wrap_string.lo
+	Pointset_Powerset.lo CO_Tree.lo Sparse_Row.lo Dense_Row.lo \
+	Bit_Matrix.lo Bit_Row.lo Ph_Status.lo Grid_Status.lo \
+	Variable.lo Variables_Set.lo Grid_conversion.lo \
+	Grid_simplify.lo stdiobuf.lo c_streambuf.lo globals.lo \
+	mp_std_bits.lo Weight_Profiler.lo version.lo $(am__objects_2) \
+	$(am__objects_1) termination.lo wrap_string.lo Time.lo \
+	Watchdog.lo Threshold_Watcher.lo
 libppl_la_OBJECTS = $(am_libppl_la_OBJECTS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 libppl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
@@ -329,18 +400,18 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -348,18 +419,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_la_SOURCES) $(ppl_config_SOURCES) \
 	$(nodist_ppl_config_SOURCES)
@@ -394,6 +465,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -418,21 +490,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -488,6 +555,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -556,7 +624,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -567,7 +634,7 @@ top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
-LIBPPL_LT_CURRENT = 9
+LIBPPL_LT_CURRENT = 12
 LIBPPL_LT_REVISION = 0
 LIBPPL_LT_AGE = 0
 AM_CPPFLAGS = \
@@ -577,8 +644,11 @@ AM_CPPFLAGS = \
 
 lib_LTLIBRARIES = libppl.la
 ppl_config_SOURCES = \
+BUGS.hh \
 BUGS.cc \
+COPYING.hh \
 COPYING.cc \
+CREDITS.hh \
 CREDITS.cc
 
 nodist_ppl_config_SOURCES = \
@@ -586,6 +656,7 @@ ppl-config.cc \
 ppl.hh
 
 ppl_config_LDADD = \
+ at extra_libraries@ \
 libppl.la
 
 @USE_CHECKED_INTEGERS_TRUE at COEFFICIENT_TYPES_INCLUDE_FILES = 
@@ -611,11 +682,15 @@ Has_Assign_Or_Swap.hh \
 assign_or_swap.hh \
 mp_std_bits.defs.hh \
 mp_std_bits.inlines.hh \
+Concrete_Expression.types.hh \
+Concrete_Expression.defs.hh \
+Concrete_Expression.inlines.hh \
 Temp.defs.hh \
 Temp.inlines.hh \
 Temp.templates.hh \
 Coefficient_traits_template.hh \
 Checked_Number.types.hh \
+termination.types.hh \
 $(COEFFICIENT_TYPES_INCLUDE_FILES) \
 Coefficient.types.hh \
 stdiobuf.types.hh \
@@ -631,13 +706,20 @@ Generator.types.hh \
 Grid_Generator.types.hh \
 Congruence.types.hh \
 Init.types.hh \
-Row.types.hh \
-Linear_Row.types.hh \
+Dense_Row.types.hh \
+CO_Tree.types.hh \
+Sparse_Row.types.hh \
 Matrix.types.hh \
+Swapping_Vector.types.hh \
 Variable.types.hh \
 Variables_Set.types.hh \
 Linear_Expression.types.hh \
+Expression_Hide_Last.types.hh \
+Expression_Hide_Inhomo.types.hh \
+Linear_Expression_Impl.types.hh \
+Linear_Expression_Interface.types.hh \
 Linear_System.types.hh \
+Linear_Form.types.hh \
 Bit_Row.types.hh \
 Bit_Matrix.types.hh \
 Constraint_System.types.hh \
@@ -666,6 +748,7 @@ Octagonal_Shape.types.hh \
 fpu.types.hh \
 Float.defs.hh \
 Float.inlines.hh \
+Float.templates.hh \
 C_Integer.hh \
 fpu.defs.hh \
 fpu-c99.inlines.hh \
@@ -709,7 +792,6 @@ Boundary.defs.hh \
 intervals.defs.hh \
 Interval_Info.defs.hh \
 Interval_Info.inlines.hh \
-Interval_Restriction.defs.hh \
 Interval.defs.hh \
 Interval.inlines.hh \
 Interval.templates.hh \
@@ -717,6 +799,7 @@ Box.defs.hh \
 Box_Status.inlines.hh \
 Box.inlines.hh \
 Box.templates.hh \
+Integer_Interval.hh \
 Rational_Interval.hh \
 Rational_Box.hh \
 Variable.defs.hh \
@@ -726,17 +809,21 @@ Variables_Set.inlines.hh \
 Init.defs.hh \
 Init.inlines.hh \
 initializer.hh \
-Topology.hh \
-Row.defs.hh \
-Row.inlines.hh \
-Linear_Row.defs.hh \
-Linear_Row.inlines.hh \
-Matrix.defs.hh \
-Matrix.inlines.hh \
+Topology.types.hh \
+Dense_Row.defs.hh \
+Dense_Row.inlines.hh \
+Dense_Row.templates.hh \
+CO_Tree.defs.hh \
+CO_Tree.inlines.hh \
+CO_Tree.templates.hh \
+Sparse_Row.defs.hh \
+Sparse_Row.inlines.hh \
+Sparse_Row.templates.hh \
 Bit_Row.defs.hh \
 Bit_Row.inlines.hh \
 Linear_System.defs.hh \
 Linear_System.inlines.hh \
+Linear_System.templates.hh \
 Bit_Matrix.defs.hh \
 Bit_Matrix.inlines.hh \
 Constraint_System.defs.hh \
@@ -745,6 +832,18 @@ Grid_Generator_System.defs.hh \
 Congruence_System.defs.hh \
 Linear_Expression.defs.hh \
 Linear_Expression.inlines.hh \
+Expression_Hide_Last.defs.hh \
+Expression_Hide_Last.inlines.hh \
+Expression_Hide_Inhomo.defs.hh \
+Expression_Hide_Inhomo.inlines.hh \
+Linear_Expression_Impl.defs.hh \
+Linear_Expression_Impl.inlines.hh \
+Linear_Expression_Impl.templates.hh \
+Linear_Expression_Interface.defs.hh \
+Linear_Form.defs.hh \
+Linear_Form.inlines.hh \
+Linear_Form.templates.hh \
+linearize.hh \
 Constraint.defs.hh \
 Constraint.inlines.hh \
 Constraint_System.inlines.hh \
@@ -759,6 +858,11 @@ Grid_Generator_System.inlines.hh \
 Congruence_System.inlines.hh \
 Scalar_Products.defs.hh \
 Scalar_Products.inlines.hh \
+Matrix.defs.hh \
+Matrix.inlines.hh \
+Matrix.templates.hh \
+Swapping_Vector.defs.hh \
+Swapping_Vector.inlines.hh \
 MIP_Problem.types.hh \
 MIP_Problem.defs.hh \
 MIP_Problem.inlines.hh \
@@ -785,6 +889,10 @@ Partial_Function.inlines.hh \
 Polyhedron.defs.hh \
 Ph_Status.inlines.hh \
 Polyhedron.inlines.hh \
+Polyhedron_chdims.templates.hh \
+Polyhedron_conversion.templates.hh \
+Polyhedron_minimize.templates.hh \
+Polyhedron_simplify.templates.hh \
 Polyhedron.templates.hh \
 Grid.defs.hh \
 Grid_Status.inlines.hh \
@@ -837,7 +945,69 @@ algorithms.hh \
 termination.defs.hh \
 termination.templates.hh \
 wrap_assign.hh \
-wrap_string.hh
+wrap_string.hh \
+Floating_Point_Expression.types.hh \
+Floating_Point_Expression.defs.hh \
+Floating_Point_Expression.inlines.hh \
+Floating_Point_Expression.templates.hh \
+Cast_Floating_Point_Expression.types.hh \
+Cast_Floating_Point_Expression.defs.hh \
+Cast_Floating_Point_Expression.inlines.hh \
+Cast_Floating_Point_Expression.templates.hh \
+Constant_Floating_Point_Expression.types.hh \
+Constant_Floating_Point_Expression.defs.hh \
+Constant_Floating_Point_Expression.inlines.hh \
+Variable_Floating_Point_Expression.types.hh \
+Variable_Floating_Point_Expression.defs.hh \
+Variable_Floating_Point_Expression.inlines.hh \
+Sum_Floating_Point_Expression.types.hh \
+Sum_Floating_Point_Expression.defs.hh \
+Sum_Floating_Point_Expression.inlines.hh \
+Sum_Floating_Point_Expression.templates.hh \
+Difference_Floating_Point_Expression.types.hh \
+Difference_Floating_Point_Expression.defs.hh \
+Difference_Floating_Point_Expression.inlines.hh \
+Difference_Floating_Point_Expression.templates.hh \
+Multiplication_Floating_Point_Expression.types.hh \
+Multiplication_Floating_Point_Expression.defs.hh \
+Multiplication_Floating_Point_Expression.inlines.hh \
+Multiplication_Floating_Point_Expression.templates.hh \
+Division_Floating_Point_Expression.types.hh \
+Division_Floating_Point_Expression.defs.hh \
+Division_Floating_Point_Expression.inlines.hh \
+Division_Floating_Point_Expression.templates.hh \
+Opposite_Floating_Point_Expression.types.hh \
+Opposite_Floating_Point_Expression.defs.hh \
+Opposite_Floating_Point_Expression.inlines.hh \
+Doubly_Linked_Object.types.hh \
+EList.types.hh \
+EList_Iterator.types.hh \
+Handler.types.hh \
+Pending_Element.types.hh \
+Pending_List.types.hh \
+Time.types.hh \
+Watchdog.types.hh \
+Threshold_Watcher.types.hh \
+Handler.defs.hh \
+Handler.inlines.hh \
+Time.defs.hh \
+Time.inlines.hh \
+Doubly_Linked_Object.defs.hh \
+Doubly_Linked_Object.inlines.hh \
+EList_Iterator.defs.hh \
+EList_Iterator.inlines.hh \
+EList.defs.hh \
+EList.inlines.hh \
+Pending_Element.defs.hh \
+Pending_Element.inlines.hh \
+Pending_List.defs.hh \
+Pending_List.inlines.hh \
+Pending_List.templates.hh \
+Watchdog.defs.hh \
+Watchdog.inlines.hh \
+Threshold_Watcher.defs.hh \
+Threshold_Watcher.inlines.hh \
+Threshold_Watcher.templates.hh
 
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
@@ -858,11 +1028,13 @@ BDS_Status.idefs.hh \
 Og_Status.idefs.hh
 
 libppl_la_SOURCES = \
+assert.cc \
 Box.cc \
 checked.cc \
 Checked_Number.cc \
 Float.cc \
 fpu-ia32.cc \
+Concrete_Expression.cc \
 Constraint.cc \
 Constraint_System.cc \
 Congruence.cc \
@@ -874,8 +1046,9 @@ Grid_Generator.cc \
 Init.cc \
 Coefficient.cc \
 Linear_Expression.cc \
-Linear_System.cc \
-Matrix.cc \
+Linear_Expression_Impl.cc \
+Linear_Expression_Interface.cc \
+Linear_Form.cc \
 Scalar_Products.cc \
 MIP_Problem.cc \
 PIP_Tree.cc \
@@ -899,17 +1072,15 @@ Grid_widenings.cc \
 BD_Shape.cc \
 Octagonal_Shape.cc \
 Pointset_Powerset.cc \
-Row.cc \
-Linear_Row.cc \
+CO_Tree.cc \
+Sparse_Row.cc \
+Dense_Row.cc \
 Bit_Matrix.cc \
 Bit_Row.cc \
 Ph_Status.cc \
 Grid_Status.cc \
 Variable.cc \
 Variables_Set.cc \
-conversion.cc \
-minimize.cc \
-simplify.cc \
 Grid_conversion.cc \
 Grid_simplify.cc \
 stdiobuf.cc \
@@ -920,9 +1091,12 @@ Weight_Profiler.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
-swapping_sort.icc \
+swapping_sort.templates.hh \
 termination.cc \
-wrap_string.cc
+wrap_string.cc \
+Time.cc \
+Watchdog.cc \
+Threshold_Watcher.cc
 
 #Pointset_Ask_Tell.cc
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
@@ -942,8 +1116,11 @@ $(include_HEADERS) \
 $(nodist_noinst_HEADERS) \
 $(noinst_HEADERS) \
 $(PRECOMPILED) \
+BUGS.hh \
 BUGS.cc \
+COPYING.hh \
 COPYING.cc \
+CREDITS.hh \
 CREDITS.cc
 
 CLEANFILES = $(BUILT_SOURCES)
@@ -1017,7 +1194,7 @@ clean-libLTLIBRARIES:
 	  echo "rm -f \"$${dir}/so_locations\""; \
 	  rm -f "$${dir}/so_locations"; \
 	done
-libppl.la: $(libppl_la_OBJECTS) $(libppl_la_DEPENDENCIES) 
+libppl.la: $(libppl_la_OBJECTS) $(libppl_la_DEPENDENCIES) $(EXTRA_libppl_la_DEPENDENCIES) 
 	$(AM_V_CXXLD)$(libppl_la_LINK) -rpath $(libdir) $(libppl_la_OBJECTS) $(libppl_la_LIBADD) $(LIBS)
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
@@ -1062,7 +1239,7 @@ clean-binPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ppl-config$(EXEEXT): $(ppl_config_OBJECTS) $(ppl_config_DEPENDENCIES) 
+ppl-config$(EXEEXT): $(ppl_config_OBJECTS) $(ppl_config_DEPENDENCIES) $(EXTRA_ppl_config_DEPENDENCIES) 
 	@rm -f ppl-config$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ppl_config_OBJECTS) $(ppl_config_LDADD) $(LIBS)
 
@@ -1079,14 +1256,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Bit_Row.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Box.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/COPYING.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CO_Tree.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/CREDITS.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/C_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Checked_Number.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Coefficient.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Concrete_Expression.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Congruence.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Congruence_System.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Constraint.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Constraint_System.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Dense_Row.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Float.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Generator.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Generator_System.Plo at am__quote@
@@ -1103,10 +1283,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/H79_Certificate.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Init.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_Expression.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_Row.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_System.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_Expression_Impl.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_Expression_Interface.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Linear_Form.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/MIP_Problem.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Matrix.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/NNC_Polyhedron.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Octagonal_Shape.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/PIP_Problem.Plo at am__quote@
@@ -1120,20 +1300,21 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Polyhedron_nonpublic.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Polyhedron_public.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Polyhedron_widenings.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Row.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Scalar_Products.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Sparse_Row.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Threshold_Watcher.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Time.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Variable.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Variables_Set.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Watchdog.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Weight_Profiler.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/assert.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/c_streambuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/checked.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/conversion.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fpu-ia32.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/globals.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/minimize.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mp_std_bits.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl-config.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplify.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/stdiobuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/version.Plo at am__quote@
@@ -1142,26 +1323,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1185,9 +1363,7 @@ uninstall-includeHEADERS:
 	@$(NORMAL_UNINSTALL)
 	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
 	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(includedir)" && rm -f $$files
+	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@@ -1295,10 +1471,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
@@ -1415,12 +1596,32 @@ ppl_include_files.hh: $(INCLUDE_FILES) Makefile
 @HAVE_PERL_TRUE@		-I $(top_builddir) -I $(top_builddir)/src \
 @HAVE_PERL_TRUE@		$(top_srcdir)/src/ppl_header.hh >$@
 
+ at HAVE_PERL_TRUE@BUGS.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/BUGS
+ at HAVE_PERL_TRUE@	@echo "#ifndef PPL_BUGS_hh" >$@
+ at HAVE_PERL_TRUE@	@echo "#define PPL_BUGS_hh 1" >>$@
+ at HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=BUGS_array --decl-only \
+ at HAVE_PERL_TRUE@		$(top_srcdir)/BUGS >>$@
+ at HAVE_PERL_TRUE@	@echo "#endif // !defined(PPL_BUGS_hh)" >>$@
 @HAVE_PERL_TRUE at BUGS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/BUGS
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=BUGS_array \
 @HAVE_PERL_TRUE@		$(top_srcdir)/BUGS >$@
+
+ at HAVE_PERL_TRUE@COPYING.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/COPYING
+ at HAVE_PERL_TRUE@	@echo "#ifndef PPL_COPYING_hh" >$@
+ at HAVE_PERL_TRUE@	@echo "#define PPL_COPYING_hh 1" >>$@
+ at HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=COPYING_array --decl-only \
+ at HAVE_PERL_TRUE@		$(top_srcdir)/COPYING >>$@
+ at HAVE_PERL_TRUE@	@echo "#endif // !defined(PPL_COPYING_hh)" >>$@
+
 @HAVE_PERL_TRUE at COPYING.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/COPYING
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=COPYING_array \
 @HAVE_PERL_TRUE@		$(top_srcdir)/COPYING >$@
+ at HAVE_PERL_TRUE@CREDITS.hh: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
+ at HAVE_PERL_TRUE@	@echo "#ifndef PPL_CREDITS_hh" >$@
+ at HAVE_PERL_TRUE@	@echo "#define PPL_CREDITS_hh 1" >>$@
+ at HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=CREDITS_array --decl-only \
+ at HAVE_PERL_TRUE@		$(top_srcdir)/CREDITS >>$@
+ at HAVE_PERL_TRUE@	@echo "#endif // !defined(PPL_CREDITS_hh)" >>$@
 @HAVE_PERL_TRUE at CREDITS.cc: $(top_builddir)/utils/text2cxxarray $(top_srcdir)/CREDITS
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/text2cxxarray --name=CREDITS_array \
 @HAVE_PERL_TRUE@		$(top_srcdir)/CREDITS >$@
@@ -1440,10 +1641,16 @@ ppl_include_files.hh: $(INCLUDE_FILES) Makefile
 @HAVE_PERL_FALSE@	$(SED) -f ppl.hh.sed $< >$@
 @HAVE_PERL_FALSE@	rm -f ppl.hh.sed
 
+ at HAVE_PERL_FALSE@BUGS.hh:	BUGS.hh.dist
+ at HAVE_PERL_FALSE@	cp -f $< $@
 @HAVE_PERL_FALSE at BUGS.cc:	BUGS.cc.dist
 @HAVE_PERL_FALSE@	cp -f $< $@
+ at HAVE_PERL_FALSE@COPYING.hh:	COPYING.hh.dist
+ at HAVE_PERL_FALSE@	cp -f $< $@
 @HAVE_PERL_FALSE at COPYING.cc:	COPYING.cc.dist
 @HAVE_PERL_FALSE@	cp -f $< $@
+ at HAVE_PERL_FALSE@CREDITS.hh:	CREDITS.hh.dist
+ at HAVE_PERL_FALSE@	cp -f $< $@
 @HAVE_PERL_FALSE at CREDITS.cc:	CREDITS.cc.dist
 @HAVE_PERL_FALSE@	cp -f $< $@
 
@@ -1455,8 +1662,11 @@ ppl_include_files.hh: $(INCLUDE_FILES) Makefile
 # likewise for BUGS.cc.dist, COPYING.cc.dist and CREDITS.cc.dist.
 dist-hook:
 	mv -f $(distdir)/ppl.hh $(distdir)/ppl.hh.dist
+	mv -f $(distdir)/BUGS.hh $(distdir)/BUGS.hh.dist
 	mv -f $(distdir)/BUGS.cc $(distdir)/BUGS.cc.dist
+	mv -f $(distdir)/COPYING.hh $(distdir)/COPYING.hh.dist
 	mv -f $(distdir)/COPYING.cc $(distdir)/COPYING.cc.dist
+	mv -f $(distdir)/CREDITS.hh $(distdir)/CREDITS.hh.dist
 	mv -f $(distdir)/CREDITS.cc $(distdir)/CREDITS.cc.dist
 
 $(top_builddir)/utils/build_header:
diff --git a/src/Matrix.cc b/src/Matrix.cc
deleted file mode 100644
index ac0abce..0000000
--- a/src/Matrix.cc
+++ /dev/null
@@ -1,414 +0,0 @@
-/* Matrix class implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Matrix.defs.hh"
-#include "Row.defs.hh"
-#include <algorithm>
-#include <iostream>
-#include <string>
-
-namespace PPL = Parma_Polyhedra_Library;
-
-PPL::Matrix::Matrix(const dimension_type n_rows,
-		    const dimension_type n_columns,
-		    Row::Flags row_flags)
-  :
-#ifdef NDEBUG
-    rows(n_rows),
-#else
-    rows(n_rows <= max_num_rows() ? n_rows : 0),
-#endif
-    row_size(n_columns),
-    row_capacity(compute_capacity(n_columns, max_num_columns())) {
-  PPL_ASSERT(n_rows <= max_num_rows());
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = 0; i < n_rows; ++i)
-    rows[i].construct(n_columns, row_capacity, row_flags);
-  PPL_ASSERT(OK());
-}
-
-void
-PPL::Matrix::add_zero_rows(const dimension_type n, Row::Flags row_flags) {
-  PPL_ASSERT(n > 0);
-  PPL_ASSERT(n <= max_num_rows() - num_rows());
-  const dimension_type old_num_rows = rows.size();
-  const dimension_type new_num_rows = old_num_rows + n;
-
-  if (rows.capacity() < new_num_rows) {
-    // Reallocation will take place.
-    std::vector<Row> new_rows;
-    new_rows.reserve(compute_capacity(new_num_rows, max_num_rows()));
-    new_rows.insert(new_rows.end(), new_num_rows, Row());
-    // Construct the new rows.
-    dimension_type i = new_num_rows;
-    while (i-- > old_num_rows)
-      new_rows[i].construct(row_size, row_capacity, row_flags);
-    // Steal the old rows.
-    ++i;
-    while (i-- > 0)
-      new_rows[i].swap(rows[i]);
-    // Put the new vector into place.
-    std::swap(rows, new_rows);
-  }
-  else {
-    // Reallocation will NOT take place.
-    rows.insert(rows.end(), n, Row());
-    for (dimension_type i = new_num_rows; i-- > old_num_rows; )
-      rows[i].construct(row_size, row_capacity, row_flags);
-  }
-}
-
-void
-PPL::Matrix::add_zero_columns(const dimension_type n) {
-  PPL_ASSERT(n > 0);
-  PPL_ASSERT(n <= max_num_columns() - num_columns());
-  const dimension_type num_rows = rows.size();
-  const dimension_type new_num_columns = row_size + n;
-
-  if (new_num_columns <= row_capacity)
-    // We have enough capacity: we resize existing rows.
-    for (dimension_type i = num_rows; i-- > 0; )
-      rows[i].expand_within_capacity(new_num_columns);
-  else {
-    // Capacity exhausted: we must reallocate the rows and
-    // make sure all the rows have the same capacity.
-    const dimension_type new_row_capacity
-      = compute_capacity(new_num_columns, max_num_columns());
-    PPL_ASSERT(new_row_capacity <= max_num_columns());
-    for (dimension_type i = num_rows; i-- > 0; ) {
-      Row new_row(rows[i], new_num_columns, new_row_capacity);
-      std::swap(rows[i], new_row);
-    }
-    row_capacity = new_row_capacity;
-  }
-  // Rows have been expanded.
-  row_size = new_num_columns;
-}
-
-void
-PPL::Matrix::add_zero_rows_and_columns(const dimension_type n,
-				       const dimension_type m,
-				       Row::Flags row_flags) {
-  PPL_ASSERT(n > 0);
-  PPL_ASSERT(n <= max_num_rows() - num_rows());
-  PPL_ASSERT(m > 0);
-  PPL_ASSERT(m <= max_num_columns() - num_columns());
-  const dimension_type old_num_rows = rows.size();
-  const dimension_type new_num_rows = old_num_rows + n;
-  const dimension_type new_num_columns = row_size + m;
-
-  if (new_num_columns <= row_capacity) {
-    // We can recycle the old rows.
-    if (rows.capacity() < new_num_rows) {
-      // Reallocation will take place.
-      std::vector<Row> new_rows;
-      new_rows.reserve(compute_capacity(new_num_rows, max_num_rows()));
-      new_rows.insert(new_rows.end(), new_num_rows, Row());
-      // Construct the new rows.
-      dimension_type i = new_num_rows;
-      while (i-- > old_num_rows)
-	new_rows[i].construct(new_num_columns, row_capacity, row_flags);
-      // Expand and steal the old rows.
-      ++i;
-      while (i-- > 0) {
-	rows[i].expand_within_capacity(new_num_columns);
-	new_rows[i].swap(rows[i]);
-      }
-      // Put the new vector into place.
-      std::swap(rows, new_rows);
-    }
-    else {
-      // Reallocation will NOT take place.
-      rows.insert(rows.end(), n, Row());
-      // Construct the new rows.
-      dimension_type i = new_num_rows;
-      while (i-- > old_num_rows)
-	rows[i].construct(new_num_columns, row_capacity, row_flags);
-      // Expand the old rows.
-      ++i;
-      while (i-- > 0)
-	rows[i].expand_within_capacity(new_num_columns);
-    }
-    row_size = new_num_columns;
-  }
-  else {
-    // We cannot even recycle the old rows.
-    Matrix new_matrix;
-    new_matrix.rows.reserve(compute_capacity(new_num_rows, max_num_rows()));
-    new_matrix.rows.insert(new_matrix.rows.end(), new_num_rows, Row());
-    // Construct the new rows.
-    new_matrix.row_size = new_num_columns;
-    new_matrix.row_capacity = compute_capacity(new_num_columns,
-					       max_num_columns());
-    dimension_type i = new_num_rows;
-    while (i-- > old_num_rows)
-      new_matrix.rows[i].construct(new_matrix.row_size,
-				   new_matrix.row_capacity,
-				   row_flags);
-    // Copy the old rows.
-    ++i;
-    while (i-- > 0) {
-      Row new_row(rows[i],
-		  new_matrix.row_size,
-		  new_matrix.row_capacity);
-      std::swap(new_matrix.rows[i], new_row);
-    }
-    // Put the new vector into place.
-    swap(new_matrix);
-  }
-}
-
-void
-PPL::Matrix::add_recycled_row(Row& y) {
-  // The added row must have the same size and capacity as the
-  // existing rows of the system.
-  PPL_ASSERT(y.OK(row_size, row_capacity));
-  const dimension_type new_rows_size = rows.size() + 1;
-  if (rows.capacity() < new_rows_size) {
-    // Reallocation will take place.
-    std::vector<Row> new_rows;
-    new_rows.reserve(compute_capacity(new_rows_size, max_num_rows()));
-    new_rows.insert(new_rows.end(), new_rows_size, Row());
-    // Put the new row in place.
-    dimension_type i = new_rows_size-1;
-    std::swap(new_rows[i], y);
-    // Steal the old rows.
-    while (i-- > 0)
-      new_rows[i].swap(rows[i]);
-    // Put the new rows into place.
-    std::swap(rows, new_rows);
-  }
-  else
-    // Reallocation will NOT take place.
-    // Inserts a new empty row at the end,
-    // then substitutes it with a copy of the given row.
-    std::swap(*rows.insert(rows.end(), Row()), y);
-
-  PPL_ASSERT(OK());
-}
-
-void
-PPL::Matrix::resize_no_copy(const dimension_type new_n_rows,
-			    const dimension_type new_n_columns,
-			    Row::Flags row_flags) {
-  dimension_type old_n_rows = rows.size();
-  // Note that, if we have `new_n_rows <= old_n_rows' and
-  // `new_n_columns >= row_size', the matrix will keep its sortedness.
-  // This is obvious if `new_n_columns == row_size'.
-  // If `new_n_columns > row_size', then sortedness is maintained
-  // because trailing zeroes will be added to all rows.
-  if (new_n_rows > old_n_rows) {
-    if (new_n_columns <= row_capacity) {
-      // We can recycle the old rows.
-      if (rows.capacity() < new_n_rows) {
-	// Reallocation (of vector `rows') will take place.
-	std::vector<Row> new_rows;
-	new_rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
-	new_rows.insert(new_rows.end(), new_n_rows, Row());
-	// Construct the new rows (be careful: each new row must have
-	// the same capacity as each one of the old rows).
-	dimension_type i = new_n_rows;
-	while (i-- > old_n_rows)
-	  new_rows[i].construct(new_n_columns, row_capacity, row_flags);
-	// Steal the old rows.
-	++i;
-	while (i-- > 0)
-	  new_rows[i].swap(rows[i]);
-	// Put the new vector into place.
-	std::swap(rows, new_rows);
-      }
-      else {
-	// Reallocation (of vector `rows') will NOT take place.
-	rows.insert(rows.end(), new_n_rows - old_n_rows, Row());
-	// Be careful: each new row must have
-	// the same capacity as each one of the old rows.
-	for (dimension_type i = new_n_rows; i-- > old_n_rows; )
-	  rows[i].construct(new_n_columns, row_capacity, row_flags);
-      }
-    }
-    else {
-      // We cannot even recycle the old rows: allocate a new matrix and swap.
-      Matrix new_matrix(new_n_rows, new_n_columns, row_flags);
-      swap(new_matrix);
-      return;
-    }
-  }
-  else if (new_n_rows < old_n_rows) {
-    // Drop some rows.
-    rows.erase(rows.begin() + new_n_rows, rows.end());
-    old_n_rows = new_n_rows;
-  }
-  // Here we have the right number of rows.
-  if (new_n_columns != row_size) {
-    if (new_n_columns < row_size) {
-      // Shrink the existing rows.
-      for (dimension_type i = old_n_rows; i-- > 0; )
-	rows[i].shrink(new_n_columns);
-    }
-    else
-      // We need more columns.
-      if (new_n_columns <= row_capacity)
-	// But we have enough capacity: we resize existing rows.
-	for (dimension_type i = old_n_rows; i-- > 0; )
-	  rows[i].expand_within_capacity(new_n_columns);
-      else {
-	// Capacity exhausted: we must reallocate the rows and
-	// make sure all the rows have the same capacity.
-	const dimension_type new_row_capacity
-	  = compute_capacity(new_n_columns, max_num_columns());
-	for (dimension_type i = old_n_rows; i-- > 0; ) {
-	  Row new_row(new_n_columns, new_row_capacity, row_flags);
-	  std::swap(rows[i], new_row);
-	}
-	row_capacity = new_row_capacity;
-      }
-    // Rows have grown or shrunk.
-    row_size = new_n_columns;
-  }
-}
-
-void
-PPL::Matrix::ascii_dump(std::ostream& s) const {
-  const Matrix& x = *this;
-  dimension_type x_num_rows = x.num_rows();
-  dimension_type x_num_columns = x.num_columns();
-  s << x_num_rows << " x " << x_num_columns << "\n";
-  for (dimension_type i = 0; i < x_num_rows; ++i)
-    x[i].ascii_dump(s);
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Matrix)
-
-bool
-PPL::Matrix::ascii_load(std::istream& s) {
-  Matrix& x = *this;
-  std::string str;
-  dimension_type x_num_rows;
-  dimension_type x_num_cols;
-  if (!(s >> x_num_rows))
-    return false;
-  if (!(s >> str) || str != "x")
-    return false;
-  if (!(s >> x_num_cols))
-    return false;
-
-  resize_no_copy(x_num_rows, x_num_cols, Row::Flags());
-
-  for (dimension_type row = 0; row < x_num_rows; ++row)
-    if (!x[row].ascii_load(s))
-      return false;
-
-  // Check invariants.
-  PPL_ASSERT(OK());
-  return true;
-}
-
-void
-PPL::Matrix::swap_columns(const dimension_type i, const dimension_type j) {
-  PPL_ASSERT(i != j && i < num_columns() && j < num_columns());
-  for (dimension_type k = num_rows(); k-- > 0; ) {
-    Row& rows_k = rows[k];
-    std::swap(rows_k[i], rows_k[j]);
-  }
-}
-
-void
-PPL::Matrix::remove_trailing_columns(const dimension_type n) {
-  PPL_ASSERT(n > 0);
-  PPL_ASSERT(n <= row_size);
-  row_size -= n;
-  for (dimension_type i = num_rows(); i-- > 0; )
-    rows[i].shrink(row_size);
-}
-
-void
-PPL::Matrix::permute_columns(const std::vector<dimension_type>& cycles) {
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
-  const dimension_type n = cycles.size();
-  PPL_ASSERT(cycles[n - 1] == 0);
-  for (dimension_type k = num_rows(); k-- > 0; ) {
-    Row& rows_k = rows[k];
-    for (dimension_type i = 0, j = 0; i < n; i = ++j) {
-      // Make `j' be the index of the next cycle terminator.
-      while (cycles[j] != 0)
-	++j;
-      // Cycles of length less than 2 are not allowed.
-      PPL_ASSERT(j - i >= 2);
-      if (j - i == 2)
-	// For cycles of length 2 no temporary is needed, just a swap.
-	std::swap(rows_k[cycles[i]], rows_k[cycles[i+1]]);
-      else {
-	// Longer cycles need a temporary.
-	std::swap(rows_k[cycles[j-1]], tmp);
-	for (dimension_type l = j-1; l > i; --l)
-	  std::swap(rows_k[cycles[l-1]], rows_k[cycles[l]]);
-	std::swap(tmp, rows_k[cycles[i]]);
-      }
-    }
-  }
-}
-
-/*! \relates Parma_Polyhedra_Library::Matrix */
-bool
-PPL::operator==(const Matrix& x, const Matrix& y) {
-  if (x.num_columns() != y.num_columns())
-    return false;
-  const dimension_type x_num_rows = x.num_rows();
-  const dimension_type y_num_rows = y.num_rows();
-  if (x_num_rows != y_num_rows)
-    return false;
-  for (dimension_type i = x_num_rows; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
-}
-
-PPL::memory_size_type
-PPL::Matrix::external_memory_in_bytes() const {
-  memory_size_type n = rows.capacity() * sizeof(Row);
-  for (dimension_type i = num_rows(); i-- > 0; )
-    n += rows[i].external_memory_in_bytes(row_capacity);
-  return n;
-}
-
-bool
-PPL::Matrix::OK() const {
-  if (row_size > row_capacity) {
-#ifndef NDEBUG
-    std::cerr << "Matrix completely broken: "
-	      << "row_capacity is " << row_capacity
-	      << ", row_size is " << row_size
-	      << std::endl;
-#endif
-    return false;
-  }
-
-  const Matrix& x = *this;
-  for (dimension_type i = 0, n_rows = num_rows(); i < n_rows; ++i)
-    if (!x[i].OK(row_size, row_capacity))
-      return false;
-
-  // All checks passed.
-  return true;
-}
diff --git a/src/Matrix.defs.hh b/src/Matrix.defs.hh
index df03d9c..1aae5da 100644
--- a/src/Matrix.defs.hh
+++ b/src/Matrix.defs.hh
@@ -1,6 +1,6 @@
 /* Matrix class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,128 +19,83 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Matrix_defs_hh
 #define PPL_Matrix_defs_hh 1
 
 #include "Matrix.types.hh"
-#include "Row.defs.hh"
-#include "Constraint_System.types.hh"
-#include "Generator_System.types.hh"
-#include "Coefficient.types.hh"
-#include <vector>
-#include <cstddef>
+#include "globals.defs.hh"
+#include "Coefficient.defs.hh"
+#include "Swapping_Vector.defs.hh"
+#include <ostream>
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A 2-dimensional matrix of coefficients.
-/*! \ingroup PPL_CXX_interface
-  A Matrix object is a sequence of Row objects and is characterized
-  by the matrix dimensions (the number of rows and columns).
-  All the rows in a matrix, besides having the same size (corresponding
-  to the number of columns of the matrix), are also bound to have the
-  same capacity.
-*/
+//! A sparse matrix of Coefficient.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
+template <typename Row>
 class Parma_Polyhedra_Library::Matrix {
+
 public:
-  //! Returns the maximum number of rows of a Matrix.
+  typedef typename Swapping_Vector<Row>::iterator iterator;
+  typedef typename Swapping_Vector<Row>::const_iterator const_iterator;
+
+  //! Returns the maximum number of rows of a Sparse_Matrix.
   static dimension_type max_num_rows();
 
-  //! Returns the maximum number of columns of a Matrix.
+  //! Returns the maximum number of columns of a Sparse_Matrix.
   static dimension_type max_num_columns();
 
-  //! Builds an empty matrix.
-  /*!
-    Rows' size and capacity are initialized to \f$0\f$.
-  */
-  Matrix();
-
-  //! Builds a zero matrix with specified dimensions and flags.
   /*!
-    \param n_rows
-    The number of rows of the matrix that will be created;
+    \brief Constructs a square matrix with the given size, filled with
+           unstored zeroes.
 
-    \param n_columns
-    The number of columns of the matrix that will be created.
+    \param n
+    The size of the new square matrix.
 
-    \param row_flags
-    The flags used to build the rows of the matrix;
-    by default, the rows will have all flags unset.
+    This method takes \f$O(n)\f$ time.
   */
-  Matrix(dimension_type n_rows, dimension_type n_columns,
-	 Row::Flags row_flags = Row::Flags());
+  explicit Matrix(dimension_type n = 0);
 
-  //! Copy constructor.
-  Matrix(const Matrix& y);
+  /*!
+    \brief Constructs a matrix with the given dimensions, filled with unstored
+           zeroes.
 
-  //! Destructor.
-  ~Matrix();
+    \param num_rows
+    The number of rows in the new matrix.
 
-  //! Assignment operator.
-  Matrix& operator=(const Matrix& y);
+    \param num_columns
+    The number of columns in the new matrix.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! An iterator over a matrix.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each row contained in a Matrix object.
+    This method takes \f$O(n)\f$ time, where n is \p num_rows.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class const_iterator {
-  private:
-    typedef std::vector<Row>::const_iterator Iter;
-    //! The const iterator on the rows' vector \p rows.
-    Iter i;
+  Matrix(dimension_type num_rows, dimension_type num_columns);
 
-  public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef std::iterator_traits<Iter>::value_type value_type;
-    typedef std::iterator_traits<Iter>::difference_type difference_type;
-    typedef std::iterator_traits<Iter>::pointer pointer;
-    typedef std::iterator_traits<Iter>::reference reference;
-
-    //! Default constructor.
-    const_iterator();
-
-    /*! \brief
-      Builds a const iterator on the matrix starting from
-      an iterator \p b on the elements of the vector \p rows.
-    */
-    explicit const_iterator(const Iter& b);
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    reference operator*() const;
-
-    //! Indirect member selector.
-    pointer operator->() const;
+  //! Swaps (*this) with x.
+  /*!
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+    \param x
+    The matrix that will be swapped with *this.
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(Matrix& x);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
+  //! Returns the number of rows in the matrix.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_rows() const;
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-  }; // class const_iterator
+  //! Returns the number of columns in the matrix.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_columns() const;
 
+  // TODO: Check if this can be removed.
+  //! Returns the capacity of the row vector.
+  dimension_type capacity() const;
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
   /*!
@@ -153,54 +108,42 @@ public:
   */
   bool has_no_rows() const;
 
-  /*! \brief
-    Returns the const_iterator pointing to the first row, if \p *this is
-    not empty; otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
+  //! Equivalent to resize(n, n).
+  void resize(dimension_type n);
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  // TODO: Check if this can become private.
+  //! Reserves space for at least \p n rows.
+  void reserve_rows(dimension_type n);
 
-  // FIXME: the following section must become private.
-protected:
-  //! Contains the rows of the matrix.
-  std::vector<Row> rows;
+  //! Resizes this matrix to the specified dimensions.
+  /*!
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
+    \param num_rows
+    The desired numer of rows.
 
-  //! Capacity allocated for each row.
-  dimension_type row_capacity;
+    \param num_columns
+    The desired numer of columns.
 
-public:
-  //! Swaps \p *this with \p y.
-  void swap(Matrix& y);
+    New rows and columns will contain non-stored zeroes.
 
-  //! Adds to the matrix \p n rows of zeroes with flags set to \p row_flags.
-  /*!
-    \param n
-    The number of rows to be added: must be strictly positive.
+    This operation invalidates existing iterators.
 
-    \param row_flags
-    Flags for the newly added rows.
+    Adding n rows takes \f$O(n)\f$ amortized time.
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_rows(dimension_type n, Row::Flags row_flags);
+    Adding n columns takes \f$O(r)\f$ time, where r is \p num_rows.
 
-  //! Adds \p n columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of columns to be added: must be strictly positive.
+    Removing n rows takes \f$O(n+k)\f$ amortized time, where k is the total
+    number of elements stored in the removed rows.
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+    Removing n columns takes \f$O(\sum_{j=1}^{r} (k_j*\log^2 n_j))\f$ time,
+    where r is the number of rows, \f$k_j\f$ is the number of elements stored
+    in the columns of the j-th row that must be removed and \f$n_j\f$ is the
+    total number of elements stored in the j-th row.
+    A weaker (but simpler) bound is \f$O(r+k*\log^2 c)\f$, where r is the
+    number of rows, k is the number of elements that have to be removed and c
+    is the number of columns.
   */
-  void add_zero_columns(dimension_type n);
+  void resize(dimension_type num_rows, dimension_type num_columns);
 
   //! Adds \p n rows and \p m columns of zeroes to the matrix.
   /*!
@@ -210,29 +153,42 @@ public:
     \param m
     The number of columns to be added: must be strictly positive.
 
-    \param row_flags
-    Flags for the newly added rows.
-
     Turns the \f$r \times c\f$ matrix \f$M\f$ into
     the \f$(r+n) \times (c+m)\f$ matrix
     \f$\bigl(\genfrac{}{}{0pt}{}{M}{0} \genfrac{}{}{0pt}{}{0}{0}\bigr)\f$.
     The matrix is expanded avoiding reallocation whenever possible.
+
+    This method takes \f$O(r)\f$ time, where r is the number of the matrix's
+    rows after the operation.
   */
-  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
-				 Row::Flags row_flags);
+  void add_zero_rows_and_columns(dimension_type n, dimension_type m);
 
-  //! Adds a copy of the row \p y to the matrix.
+  //! Adds to the matrix \p n rows of zeroes.
   /*!
-    \param y
-    The row to be copied: it must have the same number of columns as
-    the matrix.
+    \param n
+    The number of rows to be added: must be strictly positive.
 
     Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
+    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
     The matrix is expanded avoiding reallocation whenever possible.
+
+    This method takes \f$O(k)\f$ amortized time, where k is the number of the
+    new rows.
   */
-  void add_row(const Row& y);
+  void add_zero_rows(dimension_type n);
+
+  //! Adds a copy of the row \p x at the end of the matrix.
+  /*!
+
+    \param x
+    The row that will be appended to the matrix.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(n)\f$ amortized time, where n is the numer of
+    elements stored in \p x.
+  */
+  void add_row(const Row& x);
 
   //! Adds the row \p y to the matrix.
   /*!
@@ -248,32 +204,27 @@ public:
   */
   void add_recycled_row(Row& y);
 
-  //! Makes the matrix shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
-
-  //! Resizes the matrix without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows of the resized matrix;
+  /*! \brief
+    Removes from the matrix the last \p n rows.
 
-    \param new_n_columns
-    The number of columns of the resized matrix.
+    \param n
+    The number of row that will be removed.
 
-    \param row_flags
-    The flags of the rows eventually added to the matrix.
+    It is equivalent to num_rows() - n, num_columns()).
 
-    The matrix is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original matrix is lost.
+    This method takes \f$O(n+k)\f$ amortized time, where k is the total number
+    of elements stored in the removed rows and n is the number of removed
+    rows.
   */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns,
-		      Row::Flags row_flags);
+  void remove_trailing_rows(dimension_type n);
 
-  //! Swaps the columns having indexes \p i and \p j.
-  void swap_columns(dimension_type i,  dimension_type j);
+  void remove_rows(iterator first, iterator last);
 
   //! Permutes the columns of the matrix.
-  /*
+  /*!
+    This method may be slow for some Row types, and should be avoided if
+    possible.
+
     \param cycles
     A vector representing the non-trivial cycles of the permutation
     according to which the columns must be rearranged.
@@ -288,87 +239,199 @@ public:
     turn can be represented by a vector of 6 elements containing 1, 3,
     6, 0, 2, 4, 0.
 
+    This method takes \f$O(k*\sum_{j=1}^{r} \log^2 n_j)\f$ expected time,
+    where k is the size of the \p cycles vector, r the number of rows and
+    \f$n_j\f$ the number of elements stored in row j.
+    A weaker (but simpler) bound is \f$O(k*r*\log^2 c)\f$, where k is the size
+    of the \p cycles vector, r is the number of rows and c is the number of
+    columns.
+
     \note
     The first column of the matrix, having index zero, is never involved
     in a permutation.
   */
   void permute_columns(const std::vector<dimension_type>& cycles);
 
-  //! \name Accessors
-  //@{
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_columns(dimension_type i,  dimension_type j);
 
-  //! Returns the number of columns of the matrix (i.e., the size of the rows).
-  dimension_type num_columns() const;
+  //! Adds \p n columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of columns to be added: must be strictly positive.
 
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
-  //@} // Accessors
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  Row& operator[](dimension_type k);
+    This method takes \f$O(r)\f$ amortized time, where r is the numer of the
+    matrix's rows.
+  */
+  void add_zero_columns(dimension_type n);
 
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
+  //! Adds \p n columns of non-stored zeroes to the matrix before column i.
+  /*!
+
+    \param n
+    The numer of columns that will be added.
+
+    \param i
+    The index of the column before which the new columns will be added.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\sum_{j=1}^{r} (k_j+\log n_j))\f$ time, where r is
+    the number of rows, \f$k_j\f$ is the number of elements stored in the
+    columns of the j-th row that must be shifted and \f$n_j\f$ is the number
+    of elements stored in the j-th row.
+    A weaker (but simpler) bound is \f$O(k+r*\log c)\f$ time, where k is the
+    number of elements that must be shifted, r is the number of the rows and c
+    is the number of the columns.
+  */
+  void add_zero_columns(dimension_type n, dimension_type i);
+
+  //! Removes the i-th from the matrix, shifting other columns to the left.
+  /*!
 
-  //! Clears the matrix deallocating all its rows.
+    \param i
+    The index of the column that will be removed.
+
+    This operation invalidates existing iterators on rows' elements.
+
+    This method takes \f$O(k + \sum_{j=1}^{r} (\log^2 n_j))\f$ amortized time,
+    where k is the number of elements stored with column index greater than i,
+    r the number of rows in this matrix and \f$n_j\f$ the number of elements
+    stored in row j.
+    A weaker (but simpler) bound is \f$O(r*(c-i+\log^2 c))\f$, where r is the
+    number of rows, c is the number of columns and i is the parameter passed
+    to this method.
+  */
+  void remove_column(dimension_type i);
+
+  //! Shrinks the matrix by removing its \p n trailing columns.
+  /*!
+
+    \param n
+    The number of trailing columns that will be removed.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\sum_{j=1}^r (k_j*\log n_j))\f$ amortized time,
+    where r is the number of rows, \f$k_j\f$ is the number of elements that
+    have to be removed from row j and \f$n_j\f$ is the total number of
+    elements stored in row j.
+    A weaker (but simpler) bound is \f$O(r*n*\log c)\f$, where r is the number
+    of rows, c the number of columns and n the parameter passed to this
+    method.
+  */
+  void remove_trailing_columns(dimension_type n);
+
+  //! Equivalent to resize(0,0).
   void clear();
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Returns an %iterator pointing to the first row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  //! Returns an %iterator pointing after the last row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator end();
+
+  //! Returns an %iterator pointing to the first row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator begin() const;
+
+  //! Returns an %iterator pointing after the last row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator end() const;
+
+  //! Returns a reference to the i-th row.
+  /*!
+    \param i
+    The index of the desired row.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  Row& operator[](dimension_type i);
+
+  //! Returns a const reference to the i-th row.
+  /*!
+    \param i
+    The index of the desired row.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const Row& operator[](dimension_type i) const;
+
+  //! Loads the row from an ASCII representation generated using ascii_dump().
+  /*!
+    \param s
+    The stream from which read the ASCII representation.
+
+    This method takes \f$O(n*\log n)\f$ time.
   */
   bool ascii_load(std::istream& s);
 
+  PPL_OUTPUT_DECLARATIONS
+
   //! Returns the total size in bytes of the memory occupied by \p *this.
+  /*!
+    This method is \f$O(r+k)\f$, where r is the number of rows and k is the
+    number of elements stored in the matrix.
+  */
   memory_size_type total_memory_in_bytes() const;
 
   //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-  /*! \brief
-    Erases from the matrix all the rows but those having
-    an index less than \p first_to_erase.
+  /*!
+    This method is \f$O(r+k)\f$, where r is the number of rows and k is the
+    number of elements stored in the matrix.
   */
-  void erase_to_end(dimension_type first_to_erase);
+  memory_size_type external_memory_in_bytes() const;
 
   //! Checks if all the invariants are satisfied.
   bool OK() const;
+
+private:
+  //! The vector that stores the matrix's elements.
+  Swapping_Vector<Row> rows;
+
+  //! The number of columns in this matrix.
+  dimension_type num_columns_;
 };
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Specializes <CODE>std::swap</CODE>.
-  /*! \relates Parma_Polyhedra_Library::Matrix */
+/*! \relates Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Matrix& x,
-	  Parma_Polyhedra_Library::Matrix& y);
-
-} // namespace std
-
-
-namespace Parma_Polyhedra_Library {
+template <typename Row>
+void swap(Matrix<Row>& x, Matrix<Row>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
 /*! \relates Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Matrix& x, const Matrix& y);
+template <typename Row>
+bool operator==(const Matrix<Row>& x, const Matrix<Row>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
 /*! \relates Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Matrix& x, const Matrix& y);
+template <typename Row>
+bool operator!=(const Matrix<Row>& x, const Matrix<Row>& y);
 
 } // namespace Parma_Polyhedra_Library
 
+
 #include "Matrix.inlines.hh"
+#include "Matrix.templates.hh"
 
 #endif // !defined(PPL_Matrix_defs_hh)
diff --git a/src/Matrix.inlines.hh b/src/Matrix.inlines.hh
index e3c7cd0..46498c1 100644
--- a/src/Matrix.inlines.hh
+++ b/src/Matrix.inlines.hh
@@ -1,5 +1,6 @@
 /* Matrix class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -18,201 +19,182 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Matrix_inlines_hh
 #define PPL_Matrix_inlines_hh 1
 
-#include "globals.defs.hh"
-#include <algorithm>
-#include "assert.hh"
-
 namespace Parma_Polyhedra_Library {
 
+template <typename Row>
 inline dimension_type
-Matrix::max_num_rows() {
+Matrix<Row>::max_num_rows() {
   return std::vector<Row>().max_size();
 }
 
+template <typename Row>
 inline dimension_type
-Matrix::max_num_columns() {
+Matrix<Row>::max_num_columns() {
   return Row::max_size();
 }
 
-inline memory_size_type
-Matrix::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+template <typename Row>
+inline void
+Matrix<Row>::m_swap(Matrix& x) {
+  using std::swap;
+  swap(rows, x.rows);
+  swap(num_columns_, x.num_columns_);
 }
 
-inline
-Matrix::const_iterator::const_iterator()
-  : i() {
+template <typename Row>
+inline dimension_type
+Matrix<Row>::num_rows() const {
+  return rows.size();
 }
 
-inline
-Matrix::const_iterator::const_iterator(const Iter& b)
-  : i(b) {
+template <typename Row>
+inline dimension_type
+Matrix<Row>::num_columns() const {
+  return num_columns_;
 }
 
-inline
-Matrix::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i) {
+template <typename Row>
+inline dimension_type
+Matrix<Row>::capacity() const {
+  return rows.capacity();
 }
 
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  return *this;
+template <typename Row>
+inline bool
+Matrix<Row>::has_no_rows() const {
+  return num_rows() == 0;
 }
 
-inline Matrix::const_iterator::reference
-Matrix::const_iterator::operator*() const {
-  return *i;
+template <typename Row>
+inline void
+Matrix<Row>::resize(dimension_type n) {
+  resize(n, n);
 }
 
-inline Matrix::const_iterator::pointer
-Matrix::const_iterator::operator->() const {
-  return &*i;
+template <typename Row>
+inline void
+Matrix<Row>::reserve_rows(dimension_type requested_capacity) {
+
+  rows.reserve(requested_capacity);
 }
 
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator++() {
-  ++i;
-  return *this;
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_rows_and_columns(dimension_type n, dimension_type m) {
+  resize(num_rows() + n, num_columns() + m);
 }
 
-inline Matrix::const_iterator
-Matrix::const_iterator::operator++(int) {
-  return const_iterator(i++);
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_rows(dimension_type n) {
+  resize(num_rows() + n, num_columns());
 }
 
-inline bool
-Matrix::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
+template <typename Row>
+inline void
+Matrix<Row>::add_row(const Row& x) {
+  // TODO: Optimize this.
+  Row row(x);
+  add_zero_rows(1);
+  // Now x may have been invalidated, if it was a row of this matrix.
+  swap(rows.back(), row);
+  PPL_ASSERT(OK());
 }
 
-inline bool
-Matrix::const_iterator::operator!=(const const_iterator& y) const {
-  return !operator==(y);
+template <typename Row>
+inline void
+Matrix<Row>::add_recycled_row(Row& x) {
+  add_zero_rows(1);
+  swap(rows.back(), x);
+  PPL_ASSERT(OK());
 }
 
-inline bool
-Matrix::has_no_rows() const {
-  return rows.empty();
+template <typename Row>
+inline void
+Matrix<Row>::remove_trailing_rows(dimension_type n) {
+  resize(num_rows() - n, num_columns());
 }
 
-inline Matrix::const_iterator
-Matrix::begin() const {
-  return const_iterator(rows.begin());
+template <typename Row>
+inline void
+Matrix<Row>::remove_rows(iterator first, iterator last) {
+  rows.erase(first, last);
 }
 
-inline Matrix::const_iterator
-Matrix::end() const {
-  return const_iterator(rows.end());
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_columns(dimension_type n) {
+  resize(num_rows(), num_columns() + n);
 }
 
+template <typename Row>
 inline void
-Matrix::swap(Matrix& y) {
-  std::swap(rows, y.rows);
-  std::swap(row_size, y.row_size);
-  std::swap(row_capacity, y.row_capacity);
+Matrix<Row>::remove_trailing_columns(dimension_type n) {
+  PPL_ASSERT(n <= num_columns());
+  resize(num_rows(), num_columns() - n);
 }
 
-inline
-Matrix::Matrix()
-  : rows(),
-    row_size(0),
-    row_capacity(0) {
+template <typename Row>
+inline void
+Matrix<Row>::clear() {
+  resize(0, 0);
 }
 
-inline
-Matrix::Matrix(const Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
+template <typename Row>
+inline typename Matrix<Row>::iterator
+Matrix<Row>::begin() {
+  return rows.begin();
 }
 
-inline
-Matrix::~Matrix() {
+template <typename Row>
+inline typename Matrix<Row>::iterator
+Matrix<Row>::end() {
+  return rows.end();
 }
 
-inline Matrix&
-Matrix::operator=(const Matrix& y) {
-  // Without the following guard against auto-assignments we would
-  // recompute the row capacity based on row size, possibly without
-  // actually increasing the capacity of the rows.  This would lead to
-  // an inconsistent state.
-  if (this != &y) {
-    // The following assignment may do nothing on auto-assignments...
-    rows = y.rows;
-    row_size = y.row_size;
-    // ... hence the following assignment must not be done on
-    // auto-assignments.
-    row_capacity = compute_capacity(y.row_size, max_num_columns());
-  }
-  return *this;
+template <typename Row>
+inline typename Matrix<Row>::const_iterator
+Matrix<Row>::begin() const {
+  return rows.begin();
 }
 
-inline void
-Matrix::add_row(const Row& y) {
-  Row new_row(y, row_capacity);
-  add_recycled_row(new_row);
+template <typename Row>
+inline typename Matrix<Row>::const_iterator
+Matrix<Row>::end() const {
+  return rows.end();
 }
 
+template <typename Row>
 inline Row&
-Matrix::operator[](const dimension_type k) {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
+Matrix<Row>::operator[](dimension_type i) {
+  PPL_ASSERT(i < rows.size());
+  return rows[i];
 }
 
+template <typename Row>
 inline const Row&
-Matrix::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
+Matrix<Row>::operator[](dimension_type i) const {
+  PPL_ASSERT(i < rows.size());
+  return rows[i];
 }
 
-inline dimension_type
-Matrix::num_rows() const {
-  return rows.size();
-}
-
-inline dimension_type
-Matrix::num_columns() const {
-  return row_size;
-}
-
-/*! \relates Matrix */
-inline bool
-operator!=(const Matrix& x, const Matrix& y) {
-  return !(x == y);
-}
-
-inline void
-Matrix::erase_to_end(const dimension_type first_to_erase) {
-  PPL_ASSERT(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
+template <typename Row>
+inline memory_size_type
+Matrix<Row>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
+template <typename Row>
 inline void
-Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Row>().swap(rows);
-  row_size = 0;
-  row_capacity = 0;
+swap(Matrix<Row>& x, Matrix<Row>& y) {
+  x.m_swap(y);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Matrix& x,
-     Parma_Polyhedra_Library::Matrix& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
 #endif // !defined(PPL_Matrix_inlines_hh)
diff --git a/src/Matrix.templates.hh b/src/Matrix.templates.hh
new file mode 100644
index 0000000..d000eea
--- /dev/null
+++ b/src/Matrix.templates.hh
@@ -0,0 +1,201 @@
+/* Matrix class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Matrix_templates_hh
+#define PPL_Matrix_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+Matrix<Row>::Matrix(dimension_type n)
+  : rows(n), num_columns_(n) {
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].resize(num_columns_);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+Matrix<Row>::Matrix(dimension_type num_rows, dimension_type num_columns)
+  : rows(num_rows), num_columns_(num_columns) {
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].resize(num_columns_);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Matrix<Row>::resize(dimension_type num_rows, dimension_type num_columns) {
+  const dimension_type old_num_rows = rows.size();
+  rows.resize(num_rows);
+  if (old_num_rows < num_rows) {
+    for (dimension_type i = old_num_rows; i < num_rows; ++i)
+      rows[i].resize(num_columns);
+    if (num_columns_ != num_columns) {
+      num_columns_ = num_columns;
+      for (dimension_type i = 0; i < old_num_rows; ++i)
+        rows[i].resize(num_columns);
+    }
+  } else
+    if (num_columns_ != num_columns) {
+      num_columns_ = num_columns;
+      for (dimension_type i = 0; i < num_rows; ++i)
+        rows[i].resize(num_columns);
+    }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Matrix<Row>::permute_columns(const std::vector<dimension_type>& cycles) {
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+  const dimension_type n = cycles.size();
+  PPL_ASSERT(cycles[n - 1] == 0);
+  for (dimension_type k = num_rows(); k-- > 0; ) {
+    Row& rows_k = (*this)[k];
+    for (dimension_type i = 0, j = 0; i < n; i = ++j) {
+      // Make `j' be the index of the next cycle terminator.
+      while (cycles[j] != 0)
+        ++j;
+      // Cycles of length less than 2 are not allowed.
+      PPL_ASSERT(j - i >= 2);
+      if (j - i == 2)
+        // For cycles of length 2 no temporary is needed, just a swap.
+        rows_k.swap_coefficients(cycles[i], cycles[i + 1]);
+      else {
+        // Longer cycles need a temporary.
+        tmp = rows_k.get(cycles[j - 1]);
+        for (dimension_type l = (j - 1); l > i; --l)
+          rows_k.swap_coefficients(cycles[l-1], cycles[l]);
+        if (tmp == 0)
+          rows_k.reset(cycles[i]);
+        else {
+          using std::swap;
+          swap(tmp, rows_k[cycles[i]]);
+        }
+      }
+    }
+  }
+}
+
+template <typename Row>
+void
+Matrix<Row>::swap_columns(dimension_type i, dimension_type j) {
+  for (dimension_type k = num_rows(); k-- > 0; )
+    (*this)[k].swap_coefficients(i, j);
+}
+
+template <typename Row>
+void
+Matrix<Row>::add_zero_columns(dimension_type n, dimension_type i) {
+  for (dimension_type j = rows.size(); j-- > 0; )
+    rows[j].add_zeroes_and_shift(n, i);
+  num_columns_ += n;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Matrix<Row>::remove_column(dimension_type i) {
+  for (dimension_type j = rows.size(); j-- > 0; )
+    rows[j].delete_element_and_shift(i);
+  --num_columns_;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Matrix<Row>::ascii_dump(std::ostream& s) const {
+  s << num_rows() << " x ";
+  s << num_columns() << "\n";
+  for (const_iterator i = begin(), i_end = end(); i !=i_end; ++i)
+    i->ascii_dump(s);
+}
+
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(Row, Matrix<Row>)
+
+template <typename Row>
+bool
+Matrix<Row>::ascii_load(std::istream& s) {
+  std::string str;
+  dimension_type new_num_rows;
+  dimension_type new_num_cols;
+  if (!(s >> new_num_rows))
+    return false;
+  if (!(s >> str) || str != "x")
+    return false;
+  if (!(s >> new_num_cols))
+    return false;
+
+  for (iterator i = rows.begin(), i_end = rows.end(); i != i_end; ++i)
+    i->clear();
+
+  resize(new_num_rows, new_num_cols);
+
+  for (dimension_type row = 0; row < new_num_rows; ++row)
+    if (!rows[row].ascii_load(s))
+      return false;
+
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename Row>
+memory_size_type
+Matrix<Row>::external_memory_in_bytes() const {
+  return rows.external_memory_in_bytes();
+}
+
+template <typename Row>
+bool
+Matrix<Row>::OK() const {
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    if (i->size() != num_columns_)
+      return false;
+  return true;
+}
+
+/*! \relates Parma_Polyhedra_Library::Matrix */
+template <typename Row>
+bool
+operator==(const Matrix<Row>& x, const Matrix<Row>& y) {
+  if (x.num_rows() != y.num_rows())
+    return false;
+  if (x.num_columns() != y.num_columns())
+    return false;
+  for (dimension_type i = x.num_rows(); i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
+}
+
+/*! \relates Parma_Polyhedra_Library::Matrix */
+template <typename Row>
+bool
+operator!=(const Matrix<Row>& x, const Matrix<Row>& y) {
+  return !(x == y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Matrix_templates_hh)
diff --git a/src/Matrix.types.hh b/src/Matrix.types.hh
index b804656..a0027dd 100644
--- a/src/Matrix.types.hh
+++ b/src/Matrix.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -15,6 +15,7 @@ PURPOSE. */
 
 namespace Parma_Polyhedra_Library {
 
+template <typename Row>
 class Matrix;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Multiplication_Floating_Point_Expression.defs.hh b/src/Multiplication_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..fde4c27
--- /dev/null
+++ b/src/Multiplication_Floating_Point_Expression.defs.hh
@@ -0,0 +1,251 @@
+/* Declarations for the Multiplication_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Multiplication_Floating_Point_Expression_defs_hh
+#define PPL_Multiplication_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Multiplication_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Multiplication_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void
+swap(Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Multiplication Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of multiplication floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\amlf\f$ two sound abstract
+  operators on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  i
+  \amlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \amifp i'\right)
+  + \sum_{v \in \cV}\left(i \amifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$[a, b] \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left([a, b]
+  \amlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}\right)
+  \aslf
+  \left([a, b]
+  \amlf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1].
+  \f].
+
+  Given an expression \f$e_{1} \otimes [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{[a, b] \otimes e_{1}}{\rho^{\#}}{\rho^{\#}_l}.
+  \f]
+
+  Given an expression \f$e_{1} \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{\iota\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}
+  \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$, \f$\iota(l)\rho^{\#}\f$ is the linear form computed by calling
+  method <CODE>Floating_Point_Expression::intervalize</CODE> on \f$l\f$
+  and \f$\rho^{\#}\f$, and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+
+  Even though we intervalize the first operand in the above example, the
+  actual implementation utilizes an heuristics for choosing which of the two
+  operands must be intervalized in order to obtain the most precise result.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Multiplication_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the multiplication floating point
+    expression corresponding to \p x \f$\otimes\f$ \p y.
+  */
+  Multiplication_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
+
+  //! Destructor.
+  ~Multiplication_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor.
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+		         const FP_Linear_Form_Abstract_Store& lf_store,
+                       FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                       FP_Format>& y);
+
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Multiplication_Floating_Point_Expression(
+         const Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                        FP_Format>& e);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Multiplication_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
+
+
+}; // class Multiplication_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Multiplication_Floating_Point_Expression.inlines.hh"
+#include "Multiplication_Floating_Point_Expression.templates.hh"
+
+#endif // !defined(PPL_Multiplication_Floating_Point_Expression_defs_hh)
diff --git a/src/Multiplication_Floating_Point_Expression.inlines.hh b/src/Multiplication_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..f6f8c7c
--- /dev/null
+++ b/src/Multiplication_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,71 @@
+/* Multiplication_Floating_Point_Expression class implementation: inline
+   functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Multiplication_Floating_Point_Expression_inlines_hh
+#define PPL_Multiplication_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Multiplication_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y) {
+  assert(x != 0);
+  assert(y != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Multiplication_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                  FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
+
+/*! \relates Multiplication_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Multiplication_Floating_Point_Expression_inlines_hh)
diff --git a/src/Multiplication_Floating_Point_Expression.templates.hh b/src/Multiplication_Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..e182317
--- /dev/null
+++ b/src/Multiplication_Floating_Point_Expression.templates.hh
@@ -0,0 +1,109 @@
+/* Multiplication_Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Multiplication_Floating_Point_Expression_templates_hh
+#define PPL_Multiplication_Floating_Point_Expression_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  /*
+    FIXME: We currently adopt the "Interval-Size Local" strategy in order to
+    decide which of the two linear forms must be intervalized, as described
+    in Section 6.2.4 ("Multiplication Strategies") of Antoine Mine's Ph.D.
+    thesis "Weakly Relational Numerical Abstract Domains".
+    In this Section are also described other multiplication strategies, such
+    as All-Cases, Relative-Size Local, Simplification-Driven Global and
+    Homogeneity Global.
+  */
+
+  // Here we choose which of the two linear forms must be intervalized.
+
+  // true if we intervalize the first form, false if we intervalize the second.
+  bool intervalize_first;
+  FP_Linear_Form linearized_first_operand;
+  if (!first_operand->linearize(int_store, lf_store,
+                               linearized_first_operand))
+    return false;
+  FP_Interval_Type intervalized_first_operand;
+  this->intervalize(linearized_first_operand, int_store,
+                    intervalized_first_operand);
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  this->intervalize(linearized_second_operand, int_store,
+                    intervalized_second_operand);
+
+  // FIXME: we are not sure that what we do here is policy-proof.
+  if (intervalized_first_operand.is_bounded()) {
+    if (intervalized_second_operand.is_bounded()) {
+      boundary_type first_interval_size
+        = intervalized_first_operand.upper()
+        - intervalized_first_operand.lower();
+      boundary_type second_interval_size
+        = intervalized_second_operand.upper()
+        - intervalized_second_operand.lower();
+      if (first_interval_size <= second_interval_size)
+        intervalize_first = true;
+      else
+        intervalize_first = false;
+    }
+    else
+      intervalize_first = true;
+  }
+  else {
+    if (intervalized_second_operand.is_bounded())
+      intervalize_first = false;
+    else
+      return false;
+  }
+
+  // Here we do the actual computation.
+  // For optimizing, we store the relative error directly into result.
+  if (intervalize_first) {
+    relative_error(linearized_second_operand, result);
+    linearized_second_operand *= intervalized_first_operand;
+    result *= intervalized_first_operand;
+    result += linearized_second_operand;
+  }
+  else {
+    relative_error(linearized_first_operand, result);
+    linearized_first_operand *= intervalized_second_operand;
+    result *= intervalized_second_operand;
+    result += linearized_first_operand;
+  }
+
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Multiplication_Floating_Point_Expression_templates_hh)
diff --git a/src/Multiplication_Floating_Point_Expression.types.hh b/src/Multiplication_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..b4c0b65
--- /dev/null
+++ b/src/Multiplication_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Multiplication_Floating_Point_Expression_types_hh
+#define PPL_Multiplication_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Multiplication_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Multiplication_Floating_Point_Expression_types_hh)
diff --git a/src/NNC_Polyhedron.cc b/src/NNC_Polyhedron.cc
index 2ae1389..e20ca76 100644
--- a/src/NNC_Polyhedron.cc
+++ b/src/NNC_Polyhedron.cc
@@ -1,6 +1,6 @@
 /* NNC_Polyhedron class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "NNC_Polyhedron.defs.hh"
 #include "C_Polyhedron.defs.hh"
 #include "Grid.defs.hh"
@@ -38,13 +37,12 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(const C_Polyhedron& y, Complexity_Class)
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(const Congruence_System& cgs)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cgs.space_dimension() <= max_space_dimension()
-	       ? cgs.space_dimension()
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cgs)",
-						 "the space dimension of cgs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(cgs.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(cgs)",
+                                              "the space dimension of cgs "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_congruences(cgs);
   PPL_ASSERT_HEAVY(OK());
@@ -52,14 +50,12 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(const Congruence_System& cgs)
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(Congruence_System& cgs, Recycle_Input)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cgs.space_dimension() <= max_space_dimension()
-	       ? cgs.space_dimension()
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron"
-						 "(cgs, recycle)",
-						 "the space dimension of cgs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(cgs.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(cgs, recycle)",
+                                              "the space dimension of cgs "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_congruences(cgs);
   PPL_ASSERT_HEAVY(OK());
@@ -67,13 +63,12 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(Congruence_System& cgs, Recycle_Input)
 
 PPL::NNC_Polyhedron::NNC_Polyhedron(const Grid& grid, Complexity_Class)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       grid.space_dimension() <= max_space_dimension()
-	       ? grid.space_dimension()
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "C_Polyhedron(grid)",
-						 "the space dimension of grid "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(grid.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(grid)",
+                                              "the space dimension of grid "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
 	       UNIVERSE) {
   add_constraints(grid.constraints());
 }
diff --git a/src/NNC_Polyhedron.defs.hh b/src/NNC_Polyhedron.defs.hh
index 97f9493..19ba641 100644
--- a/src/NNC_Polyhedron.defs.hh
+++ b/src/NNC_Polyhedron.defs.hh
@@ -1,6 +1,6 @@
 /* NNC_Polyhedron class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_NNC_Polyhedron_defs_hh
 #define PPL_NNC_Polyhedron_defs_hh 1
diff --git a/src/NNC_Polyhedron.inlines.hh b/src/NNC_Polyhedron.inlines.hh
index 335a3f6..33ca6bd 100644
--- a/src/NNC_Polyhedron.inlines.hh
+++ b/src/NNC_Polyhedron.inlines.hh
@@ -1,6 +1,6 @@
 /* NNC_Polyhedron class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_NNC_Polyhedron_inlines_hh
 #define PPL_NNC_Polyhedron_inlines_hh 1
@@ -36,63 +36,53 @@ inline
 NNC_Polyhedron::NNC_Polyhedron(dimension_type num_dimensions,
 			       Degenerate_Element kind)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
+               check_space_dimension_overflow(num_dimensions,
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(n, k)",
+                                              "n exceeds the maximum "
+                                              "allowed space dimension"),
 	       kind) {
 }
 
 inline
 NNC_Polyhedron::NNC_Polyhedron(const Constraint_System& cs)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
+               check_obj_space_dimension_overflow(cs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(cs)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 inline
 NNC_Polyhedron::NNC_Polyhedron(Constraint_System& cs, Recycle_Input)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
+               check_obj_space_dimension_overflow(cs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(cs, recycle)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
 	       Recycle_Input()) {
 }
 
 inline
 NNC_Polyhedron::NNC_Polyhedron(const Generator_System& gs)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
+               check_obj_space_dimension_overflow(gs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(gs)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 inline
 NNC_Polyhedron::NNC_Polyhedron(Generator_System& gs, Recycle_Input)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
+               check_obj_space_dimension_overflow(gs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(gs, recycle)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
 	       Recycle_Input()) {
 }
 
@@ -100,26 +90,23 @@ template <typename Interval>
 inline
 NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>& box, Complexity_Class)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(box)",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
+               check_obj_space_dimension_overflow(box, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(box)",
+                                                  "the space dimension of box "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
 }
 
 template <typename U>
 inline
 NNC_Polyhedron::NNC_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(bd.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(bd)",
+                                              "the space dimension of bd "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
                UNIVERSE) {
   add_constraints(bd.constraints());
 }
@@ -128,13 +115,12 @@ template <typename U>
 inline
 NNC_Polyhedron::NNC_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
   : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
+               check_space_dimension_overflow(os.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(os)",
+                                              "the space dimension of os "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
                UNIVERSE) {
   add_constraints(os.constraints());
 }
@@ -153,7 +139,7 @@ NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
 inline NNC_Polyhedron&
 NNC_Polyhedron::operator=(const C_Polyhedron& y) {
   NNC_Polyhedron nnc_y(y);
-  swap(nnc_y);
+  m_swap(nnc_y);
   return *this;
 }
 
diff --git a/src/NNC_Polyhedron.types.hh b/src/NNC_Polyhedron.types.hh
index acaee80..5eb28b2 100644
--- a/src/NNC_Polyhedron.types.hh
+++ b/src/NNC_Polyhedron.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Numeric_Format.defs.hh b/src/Numeric_Format.defs.hh
index 2c8f4f4..75dde47 100644
--- a/src/Numeric_Format.defs.hh
+++ b/src/Numeric_Format.defs.hh
@@ -1,6 +1,6 @@
 /* Numeric format.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Numeric_Format_defs_hh
 #define PPL_Numeric_Format_defs_hh 1
diff --git a/src/OR_Matrix.defs.hh b/src/OR_Matrix.defs.hh
index 14151aa..9e67403 100644
--- a/src/OR_Matrix.defs.hh
+++ b/src/OR_Matrix.defs.hh
@@ -1,6 +1,6 @@
 /* OR_Matrix class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,12 +15,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .  */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_OR_Matrix_defs_hh
 #define PPL_OR_Matrix_defs_hh 1
@@ -254,6 +253,11 @@ private:
     //! Assignment-increment operator.
     any_row_iterator& operator+=(difference_type m);
 
+    //! Assignment-increment operator for \p m of unsigned type.
+    template <typename Unsigned>
+    typename Enable_If<(static_cast<Unsigned>(-1) > 0), any_row_iterator&>::type
+    operator+=(Unsigned m);
+
     //! Assignment-decrement operator.
     any_row_iterator& operator-=(difference_type m);
 
@@ -263,6 +267,11 @@ private:
     //! Returns the sum of \p *this and \p m.
     any_row_iterator operator+(difference_type m) const;
 
+    //! Returns the sum of \p *this and \p m, for \p m of unsigned type.
+    template <typename Unsigned>
+    typename Enable_If<(static_cast<Unsigned>(-1) > 0), any_row_iterator>::type
+    operator+(Unsigned m) const;
+
     //! Returns the difference of \p *this and \p m.
     any_row_iterator operator-(difference_type m) const;
 
@@ -337,13 +346,13 @@ public:
 
   //! Builds a matrix with specified dimensions.
   /*!
-    \param space_dim
+    \param num_dimensions
     The space dimension of the matrix that will be created.
 
-    This constructor creates a matrix with \p 2*space_dim rows.
+    This constructor creates a matrix with \p 2*num_dimensions rows.
     Each element is initialized to plus infinity.
   */
-  OR_Matrix(dimension_type space_dim);
+  OR_Matrix(dimension_type num_dimensions);
 
   //! Copy constructor.
   OR_Matrix(const OR_Matrix& y);
@@ -391,8 +400,7 @@ public:
   static dimension_type row_size(dimension_type k);
 
   //! Swaps \p *this with \p y.
-  void swap(OR_Matrix& y);
-
+  void m_swap(OR_Matrix& y);
 
   //! Makes the matrix grow by adding more space dimensions.
   /*!
@@ -512,20 +520,14 @@ public:
   bool OK() const;
 };
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
+//! Swaps \p x with \p y.
+/*! \relates OR_Matrix */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-void swap(Parma_Polyhedra_Library::OR_Matrix<T>& x,
-	  Parma_Polyhedra_Library::OR_Matrix<T>& y);
-
-} // namespace std
-
-
-namespace Parma_Polyhedra_Library {
+void swap(OR_Matrix<T>& x, OR_Matrix<T>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
diff --git a/src/OR_Matrix.inlines.hh b/src/OR_Matrix.inlines.hh
index 401bb0c..3f9456a 100644
--- a/src/OR_Matrix.inlines.hh
+++ b/src/OR_Matrix.inlines.hh
@@ -1,6 +1,6 @@
 /* OR_Matrix class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,12 +15,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_OR_Matrix_inlines_hh
 #define PPL_OR_Matrix_inlines_hh 1
@@ -30,8 +29,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "C_Polyhedron.defs.hh"
 #include "distances.defs.hh"
 #include "assert.hh"
-#include <algorithm>
 #include "checked.defs.hh"
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
@@ -44,7 +43,7 @@ OR_Matrix<T>::row_first_element_index(const dimension_type k) {
 template <typename T>
 inline dimension_type
 OR_Matrix<T>::row_size(const dimension_type k) {
-  return k + 2 - k%2;
+  return k + 2 - k % 2;
 }
 
 #if PPL_OR_MATRIX_EXTRA_DEBUG
@@ -244,14 +243,40 @@ template <typename T>
 template <typename U>
 inline typename OR_Matrix<T>::template any_row_iterator<U>&
 OR_Matrix<T>::any_row_iterator<U>::operator+=(const difference_type m) {
-  difference_type increment = m + m*m/2 + m*e;
-  if (e % 2 == 0 && m % 2 != 0)
+  difference_type e_dt = static_cast<difference_type>(e);
+  difference_type i_dt = static_cast<difference_type>(i);
+  difference_type increment = m + (m * m) / 2 + m * e_dt;
+  if (e_dt % 2 == 0 && m % 2 != 0)
+    ++increment;
+  e_dt += m;
+  i_dt += increment;
+  e = static_cast<dimension_type>(e_dt);
+  i = static_cast<dimension_type>(i_dt);
+  value.first += increment;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  difference_type value_size_dt = static_cast<difference_type>(value.size_);
+  value_size_dt += (m - m % 2);
+  value.size_ = static_cast<dimension_type>(value_size_dt);
+#endif
+  return *this;
+}
+
+template <typename T>
+template <typename U>
+template <typename Unsigned>
+inline typename
+Enable_If<(static_cast<Unsigned>(-1) > 0),
+            typename OR_Matrix<T>::template any_row_iterator<U>& >::type
+OR_Matrix<T>::any_row_iterator<U>::operator+=(Unsigned m) {
+  dimension_type n = m;
+  dimension_type increment = n + (n*n)/2 + n*e;
+  if (e % 2 == 0 && n % 2 != 0)
     ++increment;
-  e += m;
+  e += n;
   i += increment;
   value.first += increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  value.size_ += (m - m%2);
+  value.size_ = value.size_ + n - n % 2;
 #endif
   return *this;
 }
@@ -281,6 +306,18 @@ OR_Matrix<T>::any_row_iterator<U>::operator+(difference_type m) const {
 
 template <typename T>
 template <typename U>
+template <typename Unsigned>
+inline typename
+Enable_If<(static_cast<Unsigned>(-1) > 0),
+            typename OR_Matrix<T>::template any_row_iterator<U> >::type
+OR_Matrix<T>::any_row_iterator<U>::operator+(Unsigned m) const {
+  any_row_iterator r = *this;
+  r += m;
+  return r;
+}
+
+template <typename T>
+template <typename U>
 inline typename OR_Matrix<T>::template any_row_iterator<U>
 OR_Matrix<T>::any_row_iterator<U>::operator-(const difference_type m) const {
   any_row_iterator r = *this;
@@ -398,18 +435,22 @@ OR_Matrix<T>::element_end() const {
 
 template <typename T>
 inline void
-OR_Matrix<T>::swap(OR_Matrix& y) {
-  std::swap(vec, y.vec);
-  std::swap(space_dim, y.space_dim);
-  std::swap(vec_capacity, y.vec_capacity);
+OR_Matrix<T>::m_swap(OR_Matrix& y) {
+  using std::swap;
+  swap(vec, y.vec);
+  swap(space_dim, y.space_dim);
+  swap(vec_capacity, y.vec_capacity);
 }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns the integer square root of \p x.
-inline unsigned long
-isqrt(unsigned long x) {
-  unsigned long r = 0;
-  for (unsigned long t = 0x40000000; t; t >>= 2) {
-    unsigned long s = r + t;
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline dimension_type
+isqrt(dimension_type x) {
+  dimension_type r = 0;
+  const dimension_type FIRST_BIT_MASK = 0x40000000U;
+  for (dimension_type t = FIRST_BIT_MASK; t != 0; t >>= 2) {
+    dimension_type s = r + t;
     if (s <= x) {
       x -= s;
       r = s + t;
@@ -425,7 +466,7 @@ OR_Matrix<T>::max_num_rows() {
   // Compute the maximum number of rows that are contained in a DB_Row
   // that allocates a pseudo-triangular matrix.
   dimension_type k = isqrt(2*DB_Row<T>::max_size() + 1);
-  return (k - 1) - (k - 1)%2;
+  return (k - 1) - (k - 1) % 2;
 }
 
 template <typename T>
@@ -436,9 +477,9 @@ OR_Matrix<T>::total_memory_in_bytes() const {
 
 template <typename T>
 inline
-OR_Matrix<T>::OR_Matrix(const dimension_type dim)
-  : vec(2*dim*(dim+1)),
-    space_dim(dim),
+OR_Matrix<T>::OR_Matrix(const dimension_type num_dimensions)
+  : vec(2*num_dimensions*(num_dimensions + 1)),
+    space_dim(num_dimensions),
     vec_capacity(vec.size()) {
 }
 
@@ -482,7 +523,7 @@ OR_Matrix<T>::num_rows() const {
 template <typename T>
 inline void
 OR_Matrix<T>::clear() {
-  OR_Matrix<T>(0).swap(*this);
+  OR_Matrix<T>(0).m_swap(*this);
 }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -551,7 +592,7 @@ OR_Matrix<T>::grow(const dimension_type new_dim) {
       for (element_iterator i = element_begin(),
 	     mend = element_end(); i != mend; ++i, ++j)
 	assign_or_swap(*j, *i);
-      swap(new_matrix);
+      m_swap(new_matrix);
     }
   }
 }
@@ -578,7 +619,7 @@ OR_Matrix<T>::resize_no_copy(const dimension_type new_dim) {
     else {
       // We cannot recycle the old vec.
       OR_Matrix<T> new_matrix(new_dim);
-      swap(new_matrix);
+      m_swap(new_matrix);
     }
   }
   else if (new_dim < space_dim)
@@ -698,19 +739,13 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 								   tmp2);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
+/*! \relates OR_Matrix */
 template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::OR_Matrix<T>& x,
-     Parma_Polyhedra_Library::OR_Matrix<T>& y) {
-  x.swap(y);
+swap(OR_Matrix<T>& x, OR_Matrix<T>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
-
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_OR_Matrix_inlines_hh)
diff --git a/src/OR_Matrix.templates.hh b/src/OR_Matrix.templates.hh
index 437679b..de9fcb2 100644
--- a/src/OR_Matrix.templates.hh
+++ b/src/OR_Matrix.templates.hh
@@ -1,6 +1,6 @@
 /* OR_Matrix class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_OR_Matrix_templates_hh
 #define PPL_OR_Matrix_templates_hh 1
@@ -46,8 +46,8 @@ OR_Matrix<T>::OK() const {
   if (vec.size() != 2*dim*(dim + 1)) {
 #ifndef NDEBUG
     cerr << "OR_Matrix has a wrong number of cells:\n"
-	 << "vec.size() is " << vec.size()
-	 << ", expected size is " << 2*dim*(dim+1) << "!\n";
+         << "vec.size() is " << vec.size()
+         << ", expected size is " << (2*dim*(dim+1)) << "!\n";
 #endif
     return false;
   }
diff --git a/src/OR_Matrix.types.hh b/src/OR_Matrix.types.hh
index e5f6f60..52f9359 100644
--- a/src/OR_Matrix.types.hh
+++ b/src/OR_Matrix.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Octagonal_Shape.cc b/src/Octagonal_Shape.cc
index d3f374d..c9d0cf8 100644
--- a/src/Octagonal_Shape.cc
+++ b/src/Octagonal_Shape.cc
@@ -1,6 +1,6 @@
 /* Octagonal_Shape class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,14 +15,13 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Octagonal_Shape.defs.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -31,71 +30,75 @@ namespace PPL = Parma_Polyhedra_Library;
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool
-PPL::extract_octagonal_difference(const Constraint& c,
-				  const dimension_type c_space_dim,
-				  dimension_type& c_num_vars,
-				  dimension_type& c_first_var,
-				  dimension_type& c_second_var,
-				  Coefficient& c_coeff,
-				  Coefficient& c_term) {
+PPL::Octagonal_Shape_Helper
+::extract_octagonal_difference(const Constraint& c,
+                               const dimension_type c_space_dim,
+                               dimension_type& c_num_vars,
+                               dimension_type& c_first_var,
+                               dimension_type& c_second_var,
+                               Coefficient& c_coeff,
+                               Coefficient& c_term) {
   // Check for preconditions.
   PPL_ASSERT(c.space_dimension() == c_space_dim);
   PPL_ASSERT(c_num_vars == 0 && c_first_var == 0 && c_second_var == 0);
-  // Store the indices of the non-zero components of `c',
-  dimension_type non_zero_index[2] = { 0, 0 };
-  // Collect the non-zero components of `c'.
-  for (dimension_type i = c_space_dim; i-- > 0; )
-    if (c.coefficient(Variable(i)) != 0) {
-      if (c_num_vars <= 1)
-	non_zero_index[c_num_vars++] = i;
-      else
-	// Constraint `c' is not an octagonal difference.
-	return false;
+
+  c_first_var = c.expression().first_nonzero(1, c_space_dim + 1);
+
+  if (c_first_var == c_space_dim + 1) {
+    c_term = c.inhomogeneous_term();
+    return true;
+  }
+
+  ++c_num_vars;
+  --c_first_var;
+
+  c_second_var = c.expression().first_nonzero(c_first_var + 2, c_space_dim + 1);
+
+  if (c_second_var == c_space_dim + 1) {
+    c_term = c.inhomogeneous_term();
+    const Coefficient& c0 = c.coefficient(Variable(c_first_var));
+    c_term *= 2;
+    c_first_var *= 2;
+    if (sgn(c0) < 0) {
+      c_second_var = c_first_var;
+      ++c_first_var;
     }
+    else
+      c_second_var = c_first_var + 1;
+    c_coeff = c0;
+    return true;
+  }
+
+  ++c_num_vars;
+  --c_second_var;
+
+  if (!c.expression().all_zeroes(c_second_var + 2, c_space_dim + 1))
+    return false;
+
+  using std::swap;
+
+  // FIXME: The calling code expects c_first_var > c_second_var, when
+  // c_num_vars==2, but it shouldn't.
+  swap(c_first_var, c_second_var);
 
   // Make sure that `c' is indeed an octagonal difference,
-  // i.e., it has one of the following forms:
-  //           0           <=/= b, if c_num_vars == 0;
-  //   (+/-) a*x           <=/= b, if c_num_vars == 1;
-  //   (+/-) a*x (+/-) a*y <=/= b, if c_num_vars == 2.
+  // i.e., it is of this form:
+  //   (+/-) a*x (+/-) a*y <=/= b.
   c_term = c.inhomogeneous_term();
-  switch (c_num_vars) {
-  case 2:
-    {
-      const Coefficient& c0 = c.coefficient(Variable(non_zero_index[0]));
-      const Coefficient& c1 = c.coefficient(Variable(non_zero_index[1]));
-      if (c0 != c1 && c0 != -c1)
-	// Constraint `c' is not an octagonal difference.
-	return false;
-      c_first_var = non_zero_index[0];
-      c_second_var = non_zero_index[1];
-      c_first_var *= 2;
-      if (sgn(c0) < 0)
-	++c_first_var;
-      c_second_var *= 2;
-      if (sgn(c1) > 0)
-	++c_second_var;
-      c_coeff = c0;
-    }
-    break;
-  case 1:
-    {
-      c_term *= 2;
-      c_first_var = non_zero_index[0];
-      c_first_var *= 2;
-      if (sgn(c.coefficient(Variable(non_zero_index[0]))) < 0) {
-	c_second_var = c_first_var;
-	++c_first_var;
-      }
-      else
-	c_second_var = c_first_var + 1;
-      c_coeff = c.coefficient(Variable(non_zero_index[0]));
-    }
-    break;
-  default:
-    PPL_ASSERT(c_num_vars == 0);
-    break;
-  }
+  const Coefficient& c0 = c.coefficient(Variable(c_first_var));
+  const Coefficient& c1 = c.coefficient(Variable(c_second_var));
+  if (c0 != c1 && c0 != -c1)
+    // Constraint `c' is not an octagonal difference.
+    return false;
+  
+  c_first_var *= 2;
+  c_second_var *= 2;
+  if (sgn(c0) < 0)
+    ++c_first_var;
+  if (sgn(c1) > 0)
+    ++c_second_var;
+  c_coeff = c0;
+  
   return true;
 }
 
diff --git a/src/Octagonal_Shape.defs.hh b/src/Octagonal_Shape.defs.hh
index 1934f63..e6f1d4f 100644
--- a/src/Octagonal_Shape.defs.hh
+++ b/src/Octagonal_Shape.defs.hh
@@ -1,6 +1,6 @@
 /* Octagonal_Shape class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Octagonal_Shape_defs_hh
 #define PPL_Octagonal_Shape_defs_hh 1
@@ -45,6 +45,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Checked_Number.defs.hh"
 #include "WRD_coefficient_types.defs.hh"
 #include "Bit_Row.defs.hh"
+#include "Interval.types.hh"
+#include "Linear_Form.types.hh"
 #include <vector>
 #include <cstddef>
 #include <climits>
@@ -68,6 +70,11 @@ operator<<(std::ostream& s, const Octagonal_Shape<T>& oct);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates Octagonal_Shape */
+template <typename T>
+void swap(Octagonal_Shape<T>& x, Octagonal_Shape<T>& y);
+
 /*! \brief
   Returns <CODE>true</CODE> if and only if \p x and \p y are the same octagon.
 
@@ -250,53 +257,58 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
                                 Temp& tmp1,
                                 Temp& tmp2);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as an octagonal difference.
-/*! \relates Octagonal_Shape
-  \return
-  <CODE>true</CODE> if the constraint \p c is an octagonal difference;
-  <CODE>false</CODE> otherwise.
-
-  \param c
-  The constraint to be decoded.
-
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
-
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0, 1 and 2.
-
-  \param c_first_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the first variable having
-  a non-zero coefficient in \p c.
-
-  \param c_second_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
-  then it will be set to the index of the second variable having
-  a non-zero coefficient in \p c.
-
-  \param c_coeff
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the value of the first non-zero coefficient
-  in \p c.
-
-  \param c_term
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the right value of the inhomogeneous term
-  of \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_octagonal_difference(const Constraint& c,
-                                  dimension_type c_space_dim,
-                                  dimension_type& c_num_vars,
-                                  dimension_type& c_first_var,
-                                  dimension_type& c_second_var,
-                                  Coefficient& c_coeff,
-                                  Coefficient& c_term);
+// This class contains some helper functions that need to be friends of
+// Linear_Expression.
+class Octagonal_Shape_Helper {
+public:
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as an octagonal difference.
+  /*! \relates Octagonal_Shape
+    \return
+    <CODE>true</CODE> if the constraint \p c is an octagonal difference;
+    <CODE>false</CODE> otherwise.
+
+    \param c
+    The constraint to be decoded.
+
+    \param c_space_dim
+    The space dimension of the constraint \p c (it is <EM>assumed</EM>
+    to match the actual space dimension of \p c).
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0, 1 and 2.
+
+    \param c_first_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the first variable having
+    a non-zero coefficient in \p c.
+
+    \param c_second_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
+    then it will be set to the index of the second variable having
+    a non-zero coefficient in \p c.
+
+    \param c_coeff
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the value of the first non-zero coefficient
+    in \p c.
+
+    \param c_term
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the right value of the inhomogeneous term
+    of \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_octagonal_difference(const Constraint& c,
+                                           dimension_type c_space_dim,
+                                           dimension_type& c_num_vars,
+                                           dimension_type& c_first_var,
+                                           dimension_type& c_second_var,
+                                           Coefficient& c_coeff,
+                                           Coefficient& c_term);
+};
 
 } // namespace Parma_Polyhedra_Library
 
@@ -459,7 +471,7 @@ public:
   /*!
     The complexity argument is ignored.
   */
-  Octagonal_Shape(const Octagonal_Shape& x,
+  Octagonal_Shape(const Octagonal_Shape& y,
                   Complexity_Class complexity = ANY_COMPLEXITY);
 
   //! Builds a conservative, upward approximation of \p y.
@@ -585,7 +597,7 @@ public:
     Swaps \p *this with octagon \p y.
     (\p *this and \p y can be dimension-incompatible.)
   */
-  void swap(Octagonal_Shape& y);
+  void m_swap(Octagonal_Shape& y);
 
   //! Destructor.
   ~Octagonal_Shape();
@@ -1019,6 +1031,66 @@ public:
   void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
+    Refines the system of octagonal constraints defining \p *this using
+    the constraint expressed by \p left \f$\leq\f$ \p right.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right);
+
+  /*! \brief
+    Refines the system of octagonal constraints defining \p *this using
+    the constraint expressed by \p left \f$\relsym\f$ \p right, where
+    \f$\relsym\f$ is the relation symbol specified by \p relsym.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param relsym
+    The relation symbol.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right,
+                   Relation_Symbol relsym);
+
+  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -1082,7 +1154,7 @@ public:
 
     \note
     This operator is only available when the class template parameter
-    \c T is bound to an integer datatype.
+    \c T is bound to an integer data type.
 
     \note
     The integer upper bound of two rational OS is the smallest
@@ -1138,6 +1210,31 @@ public:
                     Coefficient_traits::const_reference  denominator
                     = Coefficient_one());
 
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
+  template <typename Interval_Info>
+  void affine_form_image(Variable var,
+                        const Linear_Form< Interval<T, Interval_Info> >& lf);
+
   /*! \brief
     Assigns to \p *this the \ref affine_relation "affine preimage"
     of \p *this under the function mapping variable \p var into the
@@ -1307,7 +1404,7 @@ public:
          \leq \mathrm{var}'
          \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-         \param var
+    \param var
     The variable updated by the affine relation;
 
     \param lb_expr
@@ -1360,9 +1457,9 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
     variables not in \p vars, the behavior is undefined.
     When non-null, the pointed-to constraint system is assumed to
     represent the conditional or looping construct guard with respect
@@ -1370,7 +1467,7 @@ public:
     computation of upper bounds and due to non-distributivity of
     constraint refinement over upper bounds, passing a constraint
     system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
     \param complexity_threshold
     A precision parameter of the \ref Wrapping_Operator "wrapping operator":
@@ -1382,15 +1479,15 @@ public:
     precision).
 
     \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
     \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
+    <CODE>*cs_p</CODE>.
   */
   void wrap_assign(const Variables_Set& vars,
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1719,6 +1816,39 @@ public:
   */
   void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
+  //! Applies to \p dest the interval constraints embedded in \p *this.
+  /*!
+    \param dest
+    The object to which the constraints will be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest.
+
+    The template type parameter U must provide the following methods.
+    \code
+      dimension_type space_dimension() const
+    \endcode
+    returns the space dimension of the object.
+    \code
+      void set_empty()
+    \endcode
+    sets the object to an empty object.
+    \code
+      bool restrict_lower(dimension_type dim, const T& lb)
+    \endcode
+    restricts the object by applying the lower bound \p lb to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+    \code
+      bool restrict_upper(dimension_type dim, const T& ub)
+    \endcode
+    restricts the object by applying the upper bound \p ub to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+  */
+  template <typename U>
+  void export_interval_constraints(U& dest) const;
+
   //! Refines \p store with the constraints defining \p *this.
   /*!
     \param store
@@ -1830,6 +1960,27 @@ private:
   const N& matrix_at(dimension_type i, dimension_type j) const;
 
   /*! \brief
+    Returns an upper bound for \p lf according to the constraints
+    embedded in \p *this.
+
+    \p lf must be a linear form on intervals with floating point coefficients.
+    If all coefficients in \p lf are bounded, then \p result will become a
+    correct overapproximation of the value of \p lf when variables in
+    \p lf satisfy the constraints expressed by \p *this. Otherwise the
+    behavior of the method is undefined.
+  */
+  template <typename Interval_Info>
+  void linear_form_upper_bound(
+		   const Linear_Form< Interval<T, Interval_Info> >& lf,
+                   N& result) const;
+
+  // FIXME: this function is currently not used. Consider removing it.
+  static void interval_coefficient_upper_bound(const N& var_ub,
+                                               const N& minus_var_ub,
+                                               const N& int_ub, const N& int_lb,
+                                               N& result);
+
+  /*! \brief
     Uses the constraint \p c to refine \p *this.
 
     \param c
@@ -1860,11 +2011,11 @@ private:
                                 dimension_type j,
                                 const N& k);
 
-  //! Adds the constraint <CODE>matrix[i][j] <= num/den</CODE>.
+  //! Adds the constraint <CODE>matrix[i][j] <= numer/denom</CODE>.
   void add_octagonal_constraint(dimension_type i,
                                 dimension_type j,
-                                Coefficient_traits::const_reference num,
-                                Coefficient_traits::const_reference den);
+                                Coefficient_traits::const_reference numer,
+                                Coefficient_traits::const_reference denom);
 
   /*! \brief
     Adds to the Octagonal_Shape the constraint
@@ -1890,7 +2041,7 @@ private:
     and different from \p v_id), deduce constraints of the form
     <CODE>v - u \<= k</CODE> and <CODE>v + u \<= k</CODE>,
     starting from \p ub_v, which is an upper bound for \c v
-    computed according to \p sc_expr and \p sc_den.
+    computed according to \p sc_expr and \p sc_denom.
 
     Strong-closure will be able to deduce the constraints
     <CODE>v - u \<= ub_v - lb_u</CODE> and <CODE>v + u \<= ub_v + ub_u</CODE>.
@@ -1898,7 +2049,7 @@ private:
     computation of the upper bound for \c v.
 
     Namely, if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> of \c u in \p sc_expr
+    <CODE>q == sc_expr[u]/sc_denom</CODE> of \c u in \p sc_expr
     is greater than zero, we can improve the bound for <CODE>v - u</CODE>.
     In particular:
       - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
@@ -1914,7 +2065,7 @@ private:
   void deduce_v_pm_u_bounds(dimension_type v_id,
                             dimension_type last_id,
                             const Linear_Expression& sc_expr,
-                            Coefficient_traits::const_reference sc_den,
+                            Coefficient_traits::const_reference sc_denom,
                             const N& ub_v);
 
   //! An helper function for the computation of affine relations.
@@ -1923,7 +2074,7 @@ private:
     and different from \p v_id), deduce constraints of the form
     <CODE>-v + u \<= k</CODE> and <CODE>-v - u \<= k</CODE>,
     starting from \p minus_lb_v, which is the negation of a lower bound
-    for \c v computed according to \p sc_expr and \p sc_den.
+    for \c v computed according to \p sc_expr and \p sc_denom.
 
     Strong-closure will be able to deduce the constraints
     <CODE>-v - u \<= -lb_v - lb_u</CODE> and
@@ -1932,7 +2083,7 @@ private:
     computation of (the negation of) the lower bound for \c v.
 
     Namely, if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> of \c u in \p sc_expr
+    <CODE>q == sc_expr[u]/sc_denom</CODE> of \c u in \p sc_expr
     is greater than zero, we can improve the bound for <CODE>-v + u</CODE>.
     In particular:
       - if <CODE>q \>= 1</CODE>, then <CODE>-v + u \<= -lb_v + lb_u</CODE>;
@@ -1945,10 +2096,10 @@ private:
       - if <CODE>-1 \< q \< 0</CODE>, then
         <CODE>-v - u \<= -lb_v - ((-q)*ub_u + (1+q)*lb_u)</CODE>.
   */
-  void deduce_minus_v_pm_u_bounds(dimension_type v,
-                                  dimension_type last_v,
+  void deduce_minus_v_pm_u_bounds(dimension_type v_id,
+                                  dimension_type last_id,
                                   const Linear_Expression& sc_expr,
-                                  Coefficient_traits::const_reference sc_den,
+                                  Coefficient_traits::const_reference sc_denom,
                                   const N& minus_lb_v);
 
   /*! \brief
@@ -1980,7 +2131,8 @@ private:
 
   /*! \brief
     Stores into \p non_redundant information about the matrix entries
-    that are non-redundant (i.e., will occur in strongly reduced matrix).
+    that are non-redundant (i.e., they will occur in the strongly
+    reduced matrix).
 
     It is assumed that the OS is not empty and strongly closed;
     moreover, argument \p non_redundant is assumed to be empty.
@@ -2022,7 +2174,7 @@ private:
     This is \e not marked as a <code>const</code> method,
     as it may modify the rational-valued geometric shape by cutting away
     non-integral points. The method is only available if the template
-    parameter \c T is bound to an integer datatype.
+    parameter \c T is bound to an integer data type.
   */
   void tight_closure_assign();
 
@@ -2133,7 +2285,7 @@ private:
   //! \name Exception Throwers
   //@{
   void throw_dimension_incompatible(const char* method,
-                                    const Octagonal_Shape& x) const;
+                                    const Octagonal_Shape& y) const;
 
   void throw_dimension_incompatible(const char* method,
                                     dimension_type required_dim) const;
@@ -2148,30 +2300,23 @@ private:
                                     const Generator& g) const;
 
   void throw_dimension_incompatible(const char* method,
-                                    const char* name_row,
-                                    const Linear_Expression& y) const;
+                                    const char* le_name,
+                                    const Linear_Expression& le) const;
 
-  void throw_constraint_incompatible(const char* method) const;
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+                                    const char* lf_name,
+                                    const Linear_Form<C>& lf) const;
 
-  void throw_expression_too_complex(const char* method,
-                                    const Linear_Expression& e) const;
+  static void throw_constraint_incompatible(const char* method);
 
-  void throw_generic(const char* method, const char* reason) const;
-  //@} // Exception Throwers
+  static void throw_expression_too_complex(const char* method,
+                                           const Linear_Expression& le);
 
-  static T default_stop_points[];
+  static void throw_invalid_argument(const char* method, const char* reason);
+  //@} // Exception Throwers
 };
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
-template <typename T>
-void swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
-          Parma_Polyhedra_Library::Octagonal_Shape<T>& y);
-
-} // namespace std
-
 #include "Og_Status.inlines.hh"
 #include "Octagonal_Shape.inlines.hh"
 #include "Octagonal_Shape.templates.hh"
diff --git a/src/Octagonal_Shape.inlines.hh b/src/Octagonal_Shape.inlines.hh
index 0676a89..30ab50d 100644
--- a/src/Octagonal_Shape.inlines.hh
+++ b/src/Octagonal_Shape.inlines.hh
@@ -1,6 +1,6 @@
 /* Octagonal_Shape class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,12 +15,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Octagonal_Shape_inlines_hh
 #define PPL_Octagonal_Shape_inlines_hh 1
@@ -48,7 +47,7 @@ namespace Octagonal_Shapes {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 inline dimension_type
 coherent_index(const dimension_type i) {
-  return (i % 2 != 0) ? i-1 : i+1;
+  return (i % 2 != 0) ? (i-1) : (i+1);
 }
 
 } // namespace Octagonal_Shapes
@@ -171,7 +170,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Box<Interval>& box,
   : matrix(box.space_dimension()),
     space_dim(box.space_dimension()),
     status() {
-  // Check for emptyness for maximum precision.
+  // Check for emptiness for maximum precision.
   if (box.is_empty())
     set_empty();
   else if (box.space_dimension() > 0) {
@@ -203,7 +202,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const BD_Shape<U>& bd,
   : matrix(bd.space_dimension()),
     space_dim(bd.space_dimension()),
     status() {
-  // Check for emptyness for maximum precision.
+  // Check for emptiness for maximum precision.
   if (bd.is_empty())
     set_empty();
   else if (bd.space_dimension() > 0) {
@@ -235,10 +234,11 @@ Octagonal_Shape<T>::~Octagonal_Shape() {
 
 template <typename T>
 inline void
-Octagonal_Shape<T>::swap(Octagonal_Shape& y) {
-  std::swap(matrix, y.matrix);
-  std::swap(space_dim, y.space_dim);
-  std::swap(status, y.status);
+Octagonal_Shape<T>::m_swap(Octagonal_Shape& y) {
+  using std::swap;
+  swap(matrix, y.matrix);
+  swap(space_dim, y.space_dim);
+  swap(status, y.status);
 }
 
 template <typename T>
@@ -405,17 +405,17 @@ inline void
 Octagonal_Shape<T>
 ::add_octagonal_constraint(const dimension_type i,
 			   const dimension_type j,
-			   Coefficient_traits::const_reference num,
-			   Coefficient_traits::const_reference den) {
+			   Coefficient_traits::const_reference numer,
+			   Coefficient_traits::const_reference denom) {
 #ifndef NDEBUG
   // Private method: the caller has to ensure the following.
   PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
   typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
   PPL_ASSERT(j < m_i.row_size());
-  PPL_ASSERT(den != 0);
+  PPL_ASSERT(denom != 0);
 #endif
   PPL_DIRTY_TEMP(N, k);
-  div_round_up(k, num, den);
+  div_round_up(k, numer, denom);
   add_octagonal_constraint(i, j, k);
 }
 
@@ -463,8 +463,8 @@ inline void
 Octagonal_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
   // Dimension-compatibility check.
   if (cs.space_dimension() > space_dimension())
-    throw_generic("refine_with_constraints(cs)",
-                  "cs and *this are space-dimension incompatible");
+    throw_invalid_argument("refine_with_constraints(cs)",
+                           "cs and *this are space-dimension incompatible");
 
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
@@ -488,8 +488,8 @@ void
 Octagonal_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
   // Dimension-compatibility check.
   if (cgs.space_dimension() > space_dimension())
-    throw_generic("refine_with_congruences(cgs)",
-                  "cgs and *this are space-dimension incompatible");
+    throw_invalid_argument("refine_with_congruences(cgs)",
+                           "cgs and *this are space-dimension incompatible");
 
   for (Congruence_System::const_iterator i = cgs.begin(),
 	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
@@ -558,11 +558,11 @@ Octagonal_Shape<T>::wrap_assign(const Variables_Set& vars,
                                 Bounded_Integer_Type_Width w,
                                 Bounded_Integer_Type_Representation r,
                                 Bounded_Integer_Type_Overflow o,
-                                const Constraint_System* pcs,
+                                const Constraint_System* cs_p,
                                 unsigned complexity_threshold,
                                 bool wrap_individually) {
   Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
+                              vars, w, r, o, cs_p,
                               complexity_threshold, wrap_individually,
                               "Octagonal_Shape");
 }
@@ -597,12 +597,13 @@ Octagonal_Shape<T>::time_elapse_assign(const Octagonal_Shape& y) {
   // Dimension-compatibility check.
   if (space_dimension() != y.space_dimension())
     throw_dimension_incompatible("time_elapse_assign(y)", y);
-  // See the polyhedra documentation.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.time_elapse_assign(py);
-  Octagonal_Shape<T> x(px);
-  swap(x);
+  // Compute time-elapse on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.time_elapse_assign(ph_y);
+  Octagonal_Shape<T> x(ph_x);
+  m_swap(x);
   PPL_ASSERT(OK());
 }
 
@@ -613,6 +614,52 @@ Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
   return x.contains(y) && !y.contains(x);
 }
 
+template <typename T>
+template <typename Interval_Info>
+inline void
+Octagonal_Shape<T>::generalized_refine_with_linear_form_inequality(
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right,
+                    const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right);
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case LESS_THAN:
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right);
+    break;
+  case GREATER_THAN:
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+}
+
+template <typename T>
+template <typename Interval_Info>
+inline void
+Octagonal_Shape<T>::
+refine_fp_interval_abstract_store(
+	  Box< Interval<T, Interval_Info> >& store) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
+
+}
+
 /*! \relates Octagonal_Shape */
 template <typename Temp, typename To, typename T>
 inline bool
@@ -643,11 +690,11 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two OSs is empty, then they are equal if and only if
   // the other OS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return rectilinear_distance_assign(r, x.matrix, y.matrix, dir,
@@ -708,11 +755,11 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two OSs is empty, then they are equal if and only if
   // the other OS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return euclidean_distance_assign(r, x.matrix, y.matrix, dir,
@@ -773,11 +820,11 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
   // If one of two OSs is empty, then they are equal if and only if
   // the other OS is empty too.
   if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
+    if (x.marked_empty() == y.marked_empty())
       assign_r(r, 0, ROUND_NOT_NEEDED);
     else
       assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+    return true;
   }
 
   return l_infinity_distance_assign(r, x.matrix, y.matrix, dir,
@@ -817,7 +864,7 @@ Octagonal_Shape<T>::total_memory_in_bytes() const {
 template <typename T>
 inline int32_t
 Octagonal_Shape<T>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
 }
 
 template <typename T>
@@ -833,18 +880,13 @@ Octagonal_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
   }
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
+/*! \relates Octagonal_Shape */
 template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
-     Parma_Polyhedra_Library::Octagonal_Shape<T>& y) {
-  x.swap(y);
+swap(Octagonal_Shape<T>& x, Octagonal_Shape<T>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Octagonal_Shape_inlines_hh)
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh
index bc1ce89..817c158 100644
--- a/src/Octagonal_Shape.templates.hh
+++ b/src/Octagonal_Shape.templates.hh
@@ -1,6 +1,6 @@
 /* Octagonal_Shape class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Octagonal_Shape_templates_hh
 #define PPL_Octagonal_Shape_templates_hh 1
@@ -28,6 +28,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.inlines.hh"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
+#include "Interval.defs.hh"
+#include "Linear_Form.defs.hh"
 #include "meta_programming.hh"
 #include "assert.hh"
 #include <vector>
@@ -116,17 +118,17 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
     *this = Octagonal_Shape<T>(num_dimensions, UNIVERSE);
     // Get all the upper bounds.
     Generator g(point());
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(numer);
+    PPL_DIRTY_TEMP_COEFFICIENT(denom);
     for (dimension_type i = 0; i < num_dimensions; ++i) {
       Variable x(i);
       // Evaluate optimal upper bound for `x <= ub'.
       lp.set_objective_function(x);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
         g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        num *= 2;
-        div_round_up(matrix[2*i+1][2*i], num, den);
+        lp.evaluate_objective_function(g, numer, denom);
+        numer *= 2;
+        div_round_up(matrix[2*i + 1][2*i], numer, denom);
       }
       // Evaluate optimal upper bounds for `x + y <= ub'.
       for (dimension_type j = 0; j < i; ++j) {
@@ -134,8 +136,8 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
         lp.set_objective_function(x + y);
         if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
           g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up(matrix[2*i+1][2*j], num, den);
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(matrix[2*i + 1][2*j], numer, denom);
         }
       }
       // Evaluate optimal upper bound for `x - y <= ub'.
@@ -146,9 +148,11 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
         lp.set_objective_function(x - y);
         if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
           g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up((i < j ? matrix[2*j][2*i] : matrix[2*i+1][2*j+1]),
-                       num, den);
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(((i < j) ?
+                        matrix[2*j][2*i]
+                        : matrix[2*i + 1][2*j + 1]),
+                       numer, denom);
         }
       }
       // Evaluate optimal upper bound for `y - x <= ub'.
@@ -159,9 +163,11 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
         lp.set_objective_function(x - y);
         if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
           g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up((i < j ? matrix[2*j][2*i] : matrix[2*i+1][2*j+1]),
-                       num, den);
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(((i < j)
+                        ? matrix[2*j][2*i]
+                        : matrix[2*i + 1][2*j + 1]),
+                       numer, denom);
         }
       }
       // Evaluate optimal upper bound for `-x - y <= ub'.
@@ -170,17 +176,17 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
         lp.set_objective_function(-x - y);
         if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
           g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-           div_round_up(matrix[2*i][2*j+1], num, den);
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(matrix[2*i][2*j + 1], numer, denom);
         }
       }
       // Evaluate optimal upper bound for `-x <= ub'.
       lp.set_objective_function(-x);
       if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
         g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        num *= 2;
-        div_round_up(matrix[2*i][2*i+1], num, den);
+        lp.evaluate_objective_function(g, numer, denom);
+        numer *= 2;
+        div_round_up(matrix[2*i][2*i + 1], numer, denom);
       }
     }
     set_strongly_closed();
@@ -225,11 +231,14 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
         // When handling the first (closure) point, we initialize the matrix.
         mat_initialized = true;
         const Coefficient& d = g.divisor();
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
         for (dimension_type i = 0; i < space_dim; ++i) {
           const Coefficient& g_i = g.coefficient(Variable(i));
           const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
           for (dimension_type j = 0; j < i; ++j) {
             const Coefficient& g_j = g.coefficient(Variable(j));
             const dimension_type dj = 2*j;
@@ -238,13 +247,13 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
             // Let be P = [P_1, P_2, ..., P_n] point.
             // Hyperplanes: X_i - X_j = P_i - P_j.
             div_round_up(x_i[dj], g_j - g_i, d);
-            div_round_up(x_ii[dj+1], g_i - g_j, d);
+            div_round_up(x_ii[dj + 1], g_i - g_j, d);
             // Hyperplanes: X_i + X_j = P_i + P_j.
-            div_round_up(x_i[dj+1], -g_j - g_i, d);
+            div_round_up(x_i[dj + 1], -g_j - g_i, d);
             div_round_up(x_ii[dj], g_i + g_j, d);
           }
           // Hyperplanes: X_i = P_i.
-          div_round_up(x_i[di+1], -g_i - g_i, d);
+          div_round_up(x_i[di + 1], -g_i - g_i, d);
           div_round_up(x_ii[di], g_i + g_i, d);
         }
       }
@@ -252,11 +261,14 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
         // This is not the first point: the matrix already contains
         // valid values and we must compute maxima.
         const Coefficient& d = g.divisor();
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
         for (dimension_type i = 0; i < space_dim; ++i) {
           const Coefficient& g_i = g.coefficient(Variable(i));
           const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
           for (dimension_type j = 0; j < i; ++j) {
             const Coefficient& g_j = g.coefficient(Variable(j));
             const dimension_type dj = 2*j;
@@ -267,16 +279,16 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
             div_round_up(tmp, g_j - g_i, d);
             max_assign(x_i[dj], tmp);
             div_round_up(tmp, g_i - g_j, d);
-            max_assign(x_ii[dj+1], tmp);
+            max_assign(x_ii[dj + 1], tmp);
             // Hyperplane: X_i + X_j = max (P_i + P_j, const).
             div_round_up(tmp, -g_j - g_i, d);
-            max_assign(x_i[dj+1], tmp);
+            max_assign(x_i[dj + 1], tmp);
             div_round_up(tmp, g_i + g_j, d);
             max_assign(x_ii[dj], tmp);
           }
           // Hyperplane: X_i = max (P_i, const).
           div_round_up(tmp, -g_i - g_i, d);
-          max_assign(x_i[di+1], tmp);
+          max_assign(x_i[di + 1], tmp);
           div_round_up(tmp, g_i + g_i, d);
           max_assign(x_ii[di], tmp);
         }
@@ -290,19 +302,23 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
 
   if (!point_seen)
     // The generator system is not empty, but contains no points.
-    throw_generic("Octagonal_Shape(gs)",
-                  "the non-empty generator system gs contains no points.");
+    throw_invalid_argument("Octagonal_Shape(gs)",
+                           "the non-empty generator system gs "
+                           "contains no points.");
 
   // Going through all the lines and rays.
   for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) {
     const Generator& g = *k;
     switch (g.type()) {
     case Generator::LINE:
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
         for (dimension_type i = 0; i < space_dim; ++i) {
           const Coefficient& g_i = g.coefficient(Variable(i));
           const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
           for (dimension_type j = 0; j < i; ++j) {
             const Coefficient& g_j = g.coefficient(Variable(j));
             const dimension_type dj = 2*j;
@@ -310,27 +326,30 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
             if (g_i != g_j) {
               // Hyperplane: X_i - X_j <=/>= +Inf.
               assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
-              assign_r(x_ii[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
             if (g_i != -g_j) {
               // Hyperplane: X_i + X_j <=/>= +Inf.
-              assign_r(x_i[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
               assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
             }
           }
           if (g_i != 0) {
             // Hyperplane: X_i <=/>= +Inf.
-            assign_r(x_i[di+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
             assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
           }
         }
       break;
     case Generator::RAY:
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
         for (dimension_type i = 0; i < space_dim; ++i) {
           const Coefficient& g_i = g.coefficient(Variable(i));
           const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
           for (dimension_type j = 0; j < i; ++j) {
             const Coefficient& g_j = g.coefficient(Variable(j));
             const dimension_type dj = 2*j;
@@ -341,10 +360,10 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
               assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
             if (g_i > g_j)
               // Hyperplane: X_i - X_j <= +Inf.
-              assign_r(x_ii[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
             if (g_i < -g_j)
               // Hyperplane: X_i + X_j >= +Inf.
-              assign_r(x_i[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
             if (g_i > -g_j)
               // Hyperplane: X_i + X_j <= +Inf.
               assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -352,7 +371,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
           // Case: unary constraints.
           if (g_i < 0)
             // Hyperplane: X_i  = +Inf.
-            assign_r(x_i[di+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
           if (g_i > 0)
             // Hyperplane: X_i  = +Inf.
             assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -384,7 +403,8 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
     if (c.is_tautological())
       return;
     // Nontrivial strict inequalities are not allowed.
-    throw_generic("add_constraint(c)", "strict inequalities are not allowed");
+    throw_invalid_argument("add_constraint(c)",
+                           "strict inequalities are not allowed");
   }
 
   dimension_type num_vars = 0;
@@ -393,10 +413,11 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(term);
   // Constraints that are not octagonal differences are not allowed.
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, term))
-    throw_generic("add_constraint(c)",
-                  "c is not an octagonal constraint");
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, term))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not an octagonal constraint");
 
   if (num_vars == 0) {
     // Dealing with a trivial constraint (not a strict inequality).
@@ -467,8 +488,8 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
       return;
     }
     // Non-trivial and proper congruences are not allowed.
-    throw_generic("add_congruence(cg)",
-                  "cg is a non-trivial, proper congruence");
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is a non-trivial, proper congruence");
   }
 
   PPL_ASSERT(cg.is_equality());
@@ -477,6 +498,400 @@ Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
 }
 
 template <typename T>
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::refine_with_linear_form_inequality(
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::refine_with_linear_form_inequality:"
+                     " T not a floating point type.");
+
+  // We assume that the analyzer will not try to apply an unreachable filter.
+  PPL_ASSERT(!marked_empty());
+
+  // Dimension-compatibility checks.
+  // The dimensions of `left' and `right' should not be greater than the
+  // dimension of `*this'.
+  const dimension_type left_space_dim = left.space_dimension();
+  if (space_dim < left_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "left", left);
+
+  const dimension_type right_space_dim = right.space_dimension();
+  if (space_dim < right_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "right", right);
+
+  // Number of non-zero coefficients in `left': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type left_t = 0;
+  // Variable-index of the last non-zero coefficient in `left', if any.
+  dimension_type left_w_id = 0;
+  // Number of non-zero coefficients in `right': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type right_t = 0;
+  // Variable-index of the last non-zero coefficient in `right', if any.
+  dimension_type right_w_id = 0;
+
+  // Get information about the number of non-zero coefficients in `left'.
+  for (dimension_type i = left_space_dim; i-- > 0; )
+    if (left.coefficient(Variable(i)) != 0) {
+      if (left_t++ == 1)
+        break;
+      else
+        left_w_id = i;
+    }
+
+  // Get information about the number of non-zero coefficients in `right'.
+  for (dimension_type i = right_space_dim; i-- > 0; )
+    if (right.coefficient(Variable(i)) != 0) {
+      if (right_t++ == 1)
+        break;
+      else
+        right_w_id = i;
+    }
+
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  // FIXME: there is plenty of duplicate code in the following lines. We could
+  // shorten it at the expense of a bit of efficiency.
+
+  if (left_t == 0) {
+    if (right_t == 0) {
+      // The constraint involves constants only. Ignore it: it is up to
+      // the analyzer to handle it.
+      PPL_ASSERT(OK());
+      return;
+    }
+
+    if (right_t == 1) {
+      // The constraint has the form [a-, a+] <= [b-, b+] + [c-, c+] * x.
+      // Reduce it to the constraint +/-x <= b+ - a- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      if (right_w_coeff == 1) {
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_right, n_right + 1, b_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+
+      if (right_w_coeff == -1) {
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_right + 1, n_right, b_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
+  }
+  else if (left_t == 1) {
+    if (right_t == 0) {
+      // The constraint has the form [b-, b+] + [c-, c+] * x <= [a-, a+]
+      // Reduce it to the constraint +/-x <= a+ - b- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+	                      left.coefficient(Variable(left_w_id));
+      if (left_w_coeff == 1) {
+        const dimension_type n_left = left_w_id * 2;
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+
+      if (left_w_coeff == -1) {
+        const dimension_type n_left = left_w_id * 2;
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
+
+    if (right_t == 1) {
+      // The constraint has the form
+      // [a-, a+] + [b-, b+] * x <= [c-, c+] + [d-, d+] * y.
+      // Reduce it to the constraint +/-x +/-y <= c+ - a-
+      // if [b-, b+] = +/-[1, 1] and [d-, d+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+                              left.coefficient(Variable(left_w_id));
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      bool is_left_coeff_one = (left_w_coeff == 1);
+      bool is_left_coeff_minus_one = (left_w_coeff == -1);
+      bool is_right_coeff_one = (right_w_coeff == 1);
+      bool is_right_coeff_minus_one = (right_w_coeff == -1);
+      if (left_w_id == right_w_id) {
+        if ((is_left_coeff_one && is_right_coeff_one)
+            || (is_left_coeff_minus_one && is_right_coeff_minus_one)) {
+          // Here we have an identity or a constants-only constraint.
+          PPL_ASSERT(OK());
+          return;
+        }
+        if (is_left_coeff_one && is_right_coeff_minus_one) {
+          // We fall back to a previous case
+          // (but we do not need to multiply the result by two).
+          const dimension_type n_left = left_w_id * 2;
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus);
+          PPL_ASSERT(OK());
+          return;
+        }
+        if (is_left_coeff_minus_one && is_right_coeff_one) {
+          // We fall back to a previous case
+          // (but we do not need to multiply the result by two).
+          const dimension_type n_left = left_w_id * 2;
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus);
+          PPL_ASSERT(OK());
+          return;
+        }
+      }
+      else if (is_left_coeff_one && is_right_coeff_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right, n_left, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left + 1, n_right + 1,
+                                   c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_one && is_right_coeff_minus_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right + 1, n_left, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left + 1, n_right, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right, n_left + 1, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left, n_right + 1, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_minus_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right + 1, n_left + 1,
+                                   c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left, n_right, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
+  }
+
+  // General case.
+
+  // FIRST, update the binary constraints for each pair of DIFFERENT variables
+  // in `left' and `right'.
+
+  // Declare temporaries outside of the loop.
+  PPL_DIRTY_TEMP(N, low_coeff);
+  PPL_DIRTY_TEMP(N, high_coeff);
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  Linear_Form<FP_Interval_Type> right_minus_left(right);
+  right_minus_left -= left;
+
+  dimension_type max_w_id = std::max(left_w_id, right_w_id);
+  for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) {
+    for (dimension_type second_v = first_v + 1;
+         second_v <= max_w_id; ++second_v) {
+      const FP_Interval_Type& lfv_coefficient =
+                        left.coefficient(Variable(first_v));
+      const FP_Interval_Type& lsv_coefficient =
+                        left.coefficient(Variable(second_v));
+      const FP_Interval_Type& rfv_coefficient =
+                        right.coefficient(Variable(first_v));
+      const FP_Interval_Type& rsv_coefficient =
+                        right.coefficient(Variable(second_v));
+      // We update the constraints only when both variables appear in at
+      // least one argument.
+      bool do_update = false;
+      assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0) {
+        assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0)
+          do_update = true;
+        else {
+          assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+        }
+      }
+      else {
+        assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0) {
+          assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+          else {
+            assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+            assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+            if (low_coeff != 0 || high_coeff != 0)
+              do_update = true;
+          }
+        }
+      }
+
+      if (do_update) {
+        Variable first(first_v);
+        Variable second(second_v);
+        dimension_type n_first_var = first_v * 2;
+        dimension_type n_second_var = second_v * 2;
+        linear_form_upper_bound(right_minus_left - first + second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var + 1, n_first_var + 1,
+                                 upper_bound);
+        linear_form_upper_bound(right_minus_left + first + second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var + 1, n_first_var, upper_bound);
+        linear_form_upper_bound(right_minus_left - first - second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var, n_first_var + 1, upper_bound);
+        linear_form_upper_bound(right_minus_left + first - second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var, n_first_var, upper_bound);
+      }
+    }
+  }
+
+  // Finally, update the unary constraints.
+  for (dimension_type v = 0; v <= max_w_id; ++v) {
+    const FP_Interval_Type& lv_coefficient =
+                        left.coefficient(Variable(v));
+    const FP_Interval_Type& rv_coefficient =
+                        right.coefficient(Variable(v));
+    // We update the constraints only if v appears in at least one of the
+    // two arguments.
+    bool do_update = false;
+    assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (low_coeff != 0 || high_coeff != 0)
+      do_update = true;
+    else {
+      assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0)
+        do_update = true;
+    }
+
+    if (do_update) {
+      Variable var(v);
+      dimension_type n_var = 2 * v;
+      /*
+        VERY DIRTY trick: since we need to keep the old unary constraints
+        while computing the new ones, we momentarily keep the new coefficients
+        in the main diagonal of the matrix. They will be moved later.
+      */
+      linear_form_upper_bound(right_minus_left + var, upper_bound);
+      mul_2exp_assign_r(matrix[n_var + 1][n_var + 1], upper_bound, 1,
+                        ROUND_UP);
+      linear_form_upper_bound(right_minus_left - var, upper_bound);
+      mul_2exp_assign_r(matrix[n_var][n_var], upper_bound, 1,
+                        ROUND_UP);
+    }
+  }
+
+  /*
+    Now move the newly computed coefficients from the main diagonal to
+    their proper place, and restore +infinity on the diagonal.
+  */
+  Row_Iterator m_ite = matrix.row_begin();
+  Row_Iterator m_end = matrix.row_end();
+  for (dimension_type i = 0; m_ite != m_end; i += 2) {
+    Row_Reference upper = *m_ite;
+    N& ul = upper[i];
+    add_octagonal_constraint(i, i + 1, ul);
+    assign_r(ul, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    ++m_ite;
+    Row_Reference lower = *m_ite;
+    N& lr = lower[i + 1];
+    add_octagonal_constraint(i + 1, i, lr);
+    assign_r(lr, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    ++m_ite;
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
 void
 Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   PPL_ASSERT(!marked_empty());
@@ -489,8 +904,9 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(term);
   // Constraints that are not octagonal differences are ignored.
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, term))
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, term))
     return;
 
   if (num_vars == 0) {
@@ -563,7 +979,7 @@ Octagonal_Shape<T>::affine_dimension() const {
   // The vector `leaders' is used to represent non-singular
   // equivalence classes:
   // `leaders[i] == i' if and only if `i' is the leader of its
-  // equivalence class (i.e., the minimum index in the class);
+  // equivalence class (i.e., the minimum index in the class).
   std::vector<dimension_type> leaders;
   compute_leaders(leaders);
 
@@ -572,7 +988,7 @@ Octagonal_Shape<T>::affine_dimension() const {
   dimension_type affine_dim = 0;
   for (dimension_type i = 0; i < n_rows; i += 2)
     // Note: disregard the singular equivalence class.
-    if (leaders[i] == i && leaders[i+1] == i+1)
+    if (leaders[i] == i && leaders[i + 1] == i + 1)
       ++affine_dim;
 
   return affine_dim;
@@ -585,82 +1001,82 @@ Octagonal_Shape<T>::minimized_congruences() const {
   // and all (possibly implicit) equalities.
   strong_closure_assign();
   const dimension_type space_dim = space_dimension();
-  Congruence_System cgs;
+  Congruence_System cgs(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cgs = Congruence_System::zero_dim_empty();
+    return cgs;
   }
-  else if (marked_empty())
-    cgs.insert((0*Variable(space_dim-1) %= 1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) == 0);
-
-    // The vector `leaders' is used to represent equivalence classes:
-    // `leaders[i] == i' if and only if `i' is the leader of its
-    // equivalence class (i.e., the minimum index in the class);
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-    for (dimension_type i = 0, i_end = 2*space_dim; i != i_end; i += 2) {
-      const dimension_type lead_i = leaders[i];
-      if (i == lead_i) {
-        if (leaders[i+1] == i)
-          // `i' is the leader of the singular equivalence class.
-          goto singular;
-        else
-          // `i' is the leader of a non-singular equivalence class.
-          continue;
-      }
-      else {
-        // `i' is not a leader.
-        if (leaders[i+1] == lead_i)
-          // `i' belongs to the singular equivalence class.
-          goto singular;
-        else
-          // `i' does not belong to the singular equivalence class.
-          goto non_singular;
-      }
 
-    singular:
-      // `i' belongs to the singular equivalence class:
-      // we have a unary equality constraint.
-      {
-        const Variable x(i/2);
-        const N& c_ii_i = matrix[i+1][i];
+  if (marked_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
+  }
+
+  // The vector `leaders' is used to represent equivalence classes:
+  // `leaders[i] == i' if and only if `i' is the leader of its
+  // equivalence class (i.e., the minimum index in the class).
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  for (dimension_type i = 0, i_end = 2*space_dim; i != i_end; i += 2) {
+    const dimension_type lead_i = leaders[i];
+    if (i == lead_i) {
+      if (leaders[i + 1] == i)
+        // `i' is the leader of the singular equivalence class.
+        goto singular;
+      else
+        // `i' is the leader of a non-singular equivalence class.
+        continue;
+    }
+    else {
+      // `i' is not a leader.
+      if (leaders[i + 1] == lead_i)
+        // `i' belongs to the singular equivalence class.
+        goto singular;
+      else
+        // `i' does not belong to the singular equivalence class.
+        goto non_singular;
+    }
+
+  singular:
+    // `i' belongs to the singular equivalence class:
+    // we have a unary equality constraint.
+    {
+      const Variable x(i/2);
+      const N& c_ii_i = matrix[i + 1][i];
 #ifndef NDEBUG
-        const N& c_i_ii = matrix[i][i+1];
-        PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
+      const N& c_i_ii = matrix[i][i + 1];
+      PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
 #endif
-        numer_denom(c_ii_i, num, den);
-        den *= 2;
-        cgs.insert(den*x == num);
-      }
-      continue;
+      numer_denom(c_ii_i, numer, denom);
+      denom *= 2;
+      cgs.insert(denom*x == numer);
+    }
+    continue;
 
-    non_singular:
-      // `i' does not belong to the singular equivalence class.
-      // we have a binary equality constraint.
-      {
-        const N& c_i_li = matrix[i][lead_i];
+  non_singular:
+    // `i' does not belong to the singular equivalence class.
+    // we have a binary equality constraint.
+    {
+      const N& c_i_li = matrix[i][lead_i];
 #ifndef NDEBUG
-        using namespace Implementation::Octagonal_Shapes;
-        const N& c_ii_lii = matrix[i+1][coherent_index(lead_i)];
-        PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
+      using namespace Implementation::Octagonal_Shapes;
+      const N& c_ii_lii = matrix[i + 1][coherent_index(lead_i)];
+      PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
 #endif
-        const Variable x(lead_i/2);
-        const Variable y(i/2);
-        numer_denom(c_i_li, num, den);
-        if (lead_i % 2 == 0)
-          cgs.insert(den*x - den*y == num);
-        else
-          cgs.insert(den*x + den*y + num == 0);
-      }
-      continue;
+      const Variable x(lead_i/2);
+      const Variable y(i/2);
+      numer_denom(c_i_li, numer, denom);
+      if (lead_i % 2 == 0)
+        cgs.insert(denom*x - denom*y == numer);
+      else
+        cgs.insert(denom*x + denom*y + numer == 0);
     }
+    continue;
   }
   return cgs;
 }
@@ -695,15 +1111,16 @@ Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
   add_space_dimensions_and_embed(y.space_dim);
   typename OR_Matrix<N>::const_element_iterator
     y_it = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
-        matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
+  for (typename OR_Matrix<N>::row_iterator
+         i = matrix.row_begin() + old_num_rows,
+         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
     typename OR_Matrix<N>::row_reference_type r = *i;
     dimension_type rs_i = i.row_size();
     for (dimension_type j = old_num_rows; j < rs_i; ++j, ++y_it)
       r[j] = *y_it;
   }
 
-  // The concatenation doesn't preserve the closure.
+  // The concatenation does not preserve the closure.
   if (marked_strongly_closed())
     reset_strongly_closed();
   PPL_ASSERT(OK());
@@ -716,15 +1133,12 @@ Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const {
   if (space_dim != y.space_dim)
     throw_dimension_incompatible("contains(y)", y);
 
-  // The zero-dimensional universe octagon contains any other
-  // dimension-compatible octagon.
-  // The zero-dimensional empty octagon only contains another
-  // zero-dimensional empty octagon.
   if (space_dim == 0) {
-    if (!marked_empty())
-      return true;
-    else
-      return y.marked_empty();
+    // The zero-dimensional empty octagon only contains another
+    // zero-dimensional empty octagon.
+    // The zero-dimensional universe octagon contains any other
+    // zero-dimensional octagon.
+    return marked_empty() ? y.marked_empty() : true;
   }
 
   // `y' needs to be transitively closed.
@@ -733,11 +1147,16 @@ Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const {
   if (y.marked_empty())
     return true;
 
+  // If `*this' is empty it can not contain `y' (which is not empty).
+  if (is_empty())
+    return false;
+
   // `*this' contains `y' if and only if every element of `*this'
   // is greater than or equal to the correspondent one of `y'.
   for (typename OR_Matrix<N>::const_element_iterator
          i = matrix.element_begin(), j = y.matrix.element_begin(),
-         matrix_element_end = matrix.element_end(); i != matrix_element_end; ++i, ++j)
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end; ++i, ++j)
     if (*i < *j)
       return false;
   return true;
@@ -758,11 +1177,12 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
   if (y.marked_empty())
     return true;
 
-  // Two Octagonal_Shapes are disjoint if and only if their intersection
-  // is empty, i.e., if and only if there exists a variable such that
-  // the upper bound of the constraint on that variable in the first
-  // Octagonal_Shape is strictly less than the lower bound of
-  // the correspomding constraint in the second Octagonal_Shape or vice versa.
+  // Two Octagonal_Shapes are disjoint if and only if their
+  // intersection is empty, i.e., if and only if there exists a
+  // variable such that the upper bound of the constraint on that
+  // variable in the first Octagonal_Shape is strictly less than the
+  // lower bound of the corresponding constraint in the second
+  // Octagonal_Shape or vice versa.
 
   const dimension_type n_rows = matrix.num_rows();
 
@@ -775,7 +1195,7 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
   const Row_Iterator y_begin = y.matrix.row_begin();
 
   PPL_DIRTY_TEMP(N, neg_y_ci_cj);
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
     using namespace Implementation::Octagonal_Shapes;
     const dimension_type i = i_iter.index();
     const dimension_type ci = coherent_index(i);
@@ -799,7 +1219,7 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
 template <typename T>
 bool
 Octagonal_Shape<T>::is_universe() const {
-  // An empty octagon isn't, of course, universe.
+  // An empty octagon is not universe.
   if (marked_empty())
     return false;
 
@@ -852,7 +1272,7 @@ Octagonal_Shape<T>::contains_integer_point() const {
     return true;
 
   // A strongly closed and consistent Octagonal_Shape defined by
-  // integer constraints can only be empty due to tight coeherence.
+  // integer constraints can only be empty due to tight coherence.
   if (std::numeric_limits<T>::is_integer)
     return !tight_coherence_would_make_empty();
 
@@ -906,7 +1326,7 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
   // and return true. Otherwise the values for \p expr
   // are not discrete so return false.
 
-  // Space dimension = 0: if empty, then return false;
+  // Space dimension is 0: if empty, then return false;
   // otherwise the frequency is 0 and the value is the inhomogeneous term.
   if (space_dim == 0) {
     if (is_empty())
@@ -926,8 +1346,8 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
   // The Octagonal shape has at least 1 dimension and is not empty.
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(coeff_j);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
   Linear_Expression le = expr;
   // Boolean to keep track of a variable `v' in expression `le'.
   // If we can replace `v' by an expression using variables other
@@ -940,8 +1360,8 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
   const Row_Iterator m_begin = matrix.row_begin();
   const Row_Iterator m_end = matrix.row_end();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
 
   for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
     constant_v = false;
@@ -954,18 +1374,18 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
     }
     // We check the unary constraints.
     Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
-    const N& m_i_ii = m_i[i+1];
+    Row_Reference m_ii = *(i_iter + 1);
+    const N& m_i_ii = m_i[i + 1];
     const N& m_ii_i = m_ii[i];
     if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i))
         && (is_additive_inverse(m_i_ii, m_ii_i))) {
       // If `v' is constant, replace it in `le' by the value.
-      numer_denom(m_i_ii, num, den);
-      den *= 2;
+      numer_denom(m_i_ii, numer, denom);
+      denom *= 2;
       le -= coeff*v;
-      le *= den;
-      le -= num*coeff;
-      val_den *= den;
+      le *= denom;
+      le -= numer*coeff;
+      val_denom *= denom;
       constant_v = true;
       continue;
     }
@@ -983,7 +1403,7 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
           // The coefficient in `le' is 0, so do nothing.
           continue;
         const dimension_type cj = coherent_index(j);
-        const dimension_type cjj = coherent_index(j+1);
+        const dimension_type cjj = coherent_index(j + 1);
 
         Row_Reference m_j = *(m_begin + j);
         Row_Reference m_cj = *(m_begin + cj);
@@ -994,17 +1414,17 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
           // The coefficient for `vj' in `le' is not 0
           // and the constraint with `v' is an equality.
           // So apply this equality to eliminate `v' in `le'.
-          numer_denom(m_i_j, num, den);
+          numer_denom(m_i_j, numer, denom);
           le -= coeff*v;
           le += coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
           constant_v = true;
           break;
         }
 
-        m_j = *(m_begin + j + 1);
+        m_j = *(m_begin + (j + 1));
         m_cj = *(m_begin + cjj);
         const N& m_j_i1 = m_j[i];
         const N& m_i_j1 = m_cj[ci];
@@ -1013,12 +1433,12 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
           // The coefficient for `vj' in `le' is not 0
           // and the constraint with `v' is an equality.
           // So apply this equality to eliminate `v' in `le'.
-          numer_denom(m_i_j1, num, den);
+          numer_denom(m_i_j1, numer, denom);
           le -= coeff*v;
           le -= coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
           constant_v = true;
           break;
         }
@@ -1037,7 +1457,7 @@ Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
   freq_d = 1;
 
   // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
+  normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d);
   return true;
 }
 
@@ -1067,7 +1487,7 @@ Octagonal_Shape<T>::constrains(const Variable var) const {
   for (typename OR_Matrix<N>::const_row_iterator m_end = matrix.row_end();
        m_iter != m_end; ++m_iter) {
     typename OR_Matrix<N>::const_row_reference_type r = *m_iter;
-    if (!is_plus_infinity(r[n_v]) || !is_plus_infinity(r[n_v+1]))
+    if (!is_plus_infinity(r[n_v]) || !is_plus_infinity(r[n_v + 1]))
       return true;
   }
 
@@ -1167,7 +1587,8 @@ Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(term);
-  if (extract_octagonal_difference(c, c.space_dimension(), num_vars,
+  if (Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c.space_dimension(), num_vars,
                                    i, j, coeff, term)) {
     if (num_vars == 0)
       return true;
@@ -1223,8 +1644,9 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(term);
-  if (!extract_octagonal_difference(c, c.space_dimension(), num_vars,
-                                    i, j, coeff, term)) {
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c.space_dimension(), num_vars,
+                                   i, j, coeff, term)) {
     // `c' is not an octagonal constraint: use the MIP solver.
     Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION;
     MIP_Problem mip(space_dim, constraints(), expr, max_min);
@@ -1265,7 +1687,7 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
         assign_r(coeff_expr, coeff_i, ROUND_UP);
       else {
         PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
-        neg_assign(minus_coeff_i, expr.coefficient(Variable(i/2)));
+        neg_assign(minus_coeff_i, coeff_i);
         assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
       }
       // Approximating the maximum/minimum of `expr'.
@@ -1368,10 +1790,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   // Find the lower bound for a hyperplane with direction
   // defined by the congruence.
   Linear_Expression le = Linear_Expression(cg);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
   bool min_included;
-  bool bounded_below = minimize(le, min_num, min_den, min_included);
+  bool bounded_below = minimize(le, min_numer, min_denom, min_included);
 
   // If there is no lower bound, then some of the hyperplanes defined by
   // the congruence will strictly intersect the shape.
@@ -1384,10 +1806,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
 
   // Find the upper bound for a hyperplane with direction
   // defined by the congruence.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
   bool max_included;
-  bool bounded_above = maximize(le, max_num, max_den, max_included);
+  bool bounded_above = maximize(le, max_numer, max_denom, max_included);
 
   // If there is no upper bound, then some of the hyperplanes defined by
   // the congruence will strictly intersect the shape.
@@ -1399,20 +1821,20 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   // Find the position value for the hyperplane that satisfies the congruence
   // and is above the lower bound for the shape.
   PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  min_value = min_num / min_den;
+  min_value = min_numer / min_denom;
   const Coefficient& modulus = cg.modulus();
   signed_distance = min_value % modulus;
   min_value -= signed_distance;
-  if (min_value * min_den < min_num)
+  if (min_value * min_denom < min_numer)
     min_value += modulus;
 
   // Find the position value for the hyperplane that satisfies the congruence
   // and is below the upper bound for the shape.
   PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  max_value = max_num / max_den;
+  max_value = max_numer / max_denom;
   signed_distance = max_value % modulus;
   max_value += signed_distance;
-  if (max_value * max_den > max_num)
+  if (max_value * max_denom > max_numer)
     max_value -= modulus;
 
   // If the upper bound value is less than the lower bound value,
@@ -1468,8 +1890,9 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type j = 0;
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   PPL_DIRTY_TEMP_COEFFICIENT(c_term);
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, c_term)) {
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, c_term)) {
     // Constraints that are not octagonal differences.
     // Use maximize() and minimize() to do much of the work.
 
@@ -1477,80 +1900,82 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
     // find if the expression is bounded from above or below and if it
     // is, find the maximum and minimum values.
     Linear_Expression le;
-    for (dimension_type k = c_space_dim; k-- > 0; ) {
-      Variable vk(k);
-      le += c.coefficient(vk) * vk;
-    }
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
+    le.set_space_dimension(c.space_dimension());
+    le.linear_combine(c.expr, Coefficient_one(), Coefficient_one(),
+                      1, c_space_dim + 1);
+
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
     bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
     bool min_included;
-    bool bounded_above = maximize(le, max_num, max_den, max_included);
-    bool bounded_below = minimize(le, min_num, min_den, min_included);
+    bool bounded_above = maximize(le, max_numer, max_denom, max_included);
+    bool bounded_below = minimize(le, min_numer, min_denom, min_included);
     if (!bounded_above) {
       if (!bounded_below)
         return Poly_Con_Relation::strictly_intersects();
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(min_num)) {
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(min_numer)) {
       case 1:
         if (c.is_equality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::is_included();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_included();
       case 0:
         if (c.is_strict_inequality() || c.is_equality())
-          return  Poly_Con_Relation::strictly_intersects();
-        return  Poly_Con_Relation::is_included();
+          return Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::is_included();
       case -1:
-        return  Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::strictly_intersects();
       }
     }
     if (!bounded_below) {
-      max_num += c.inhomogeneous_term() * max_den;
-      switch (sgn(max_num)) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      switch (sgn(max_numer)) {
       case 1:
-        return  Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::strictly_intersects();
       case 0:
         if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
       case -1:
-        return  Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_disjoint();
       }
     }
     else {
-      max_num += c.inhomogeneous_term() * max_den;
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(max_num)) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(max_numer)) {
       case 1:
-        switch (sgn(min_num)) {
+        switch (sgn(min_numer)) {
         case 1:
           if (c.is_equality())
-            return  Poly_Con_Relation::is_disjoint();
-          return  Poly_Con_Relation::is_included();
+            return Poly_Con_Relation::is_disjoint();
+          return Poly_Con_Relation::is_included();
         case 0:
           if (c.is_equality())
-            return  Poly_Con_Relation::strictly_intersects();
+            return Poly_Con_Relation::strictly_intersects();
           if (c.is_strict_inequality())
-            return  Poly_Con_Relation::strictly_intersects();
-          return  Poly_Con_Relation::is_included();
+            return Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_included();
         case -1:
-          return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::strictly_intersects();
         }
-     case 0:
-        if (min_num == 0) {
+        PPL_UNREACHABLE;
+        break;
+      case 0:
+        if (min_numer == 0) {
           if (c.is_strict_inequality())
-            return  Poly_Con_Relation::is_disjoint()
+            return Poly_Con_Relation::is_disjoint()
               && Poly_Con_Relation::saturates();
-          return  Poly_Con_Relation::is_included()
+          return Poly_Con_Relation::is_included()
             && Poly_Con_Relation::saturates();
         }
         if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
       case -1:
-        return  Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_disjoint();
       }
     }
   }
@@ -1596,17 +2021,17 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   PPL_DIRTY_TEMP_COEFFICIENT(denom);
   // The following variables of mpq_class type are used to be precise
   // when the octagon is defined by integer constraints.
-  PPL_DIRTY_TEMP0(mpq_class, q_x);
-  PPL_DIRTY_TEMP0(mpq_class, q_y);
-  PPL_DIRTY_TEMP0(mpq_class, d);
-  PPL_DIRTY_TEMP0(mpq_class, d1);
-  PPL_DIRTY_TEMP0(mpq_class, c_den);
-  PPL_DIRTY_TEMP0(mpq_class, q_den);
-  assign_r(c_den, coeff, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
+  PPL_DIRTY_TEMP(mpq_class, d);
+  PPL_DIRTY_TEMP(mpq_class, d1);
+  PPL_DIRTY_TEMP(mpq_class, c_denom);
+  PPL_DIRTY_TEMP(mpq_class, q_denom);
+  assign_r(c_denom, coeff, ROUND_NOT_NEEDED);
   assign_r(d, c_term, ROUND_NOT_NEEDED);
   neg_assign_r(d1, d, ROUND_NOT_NEEDED);
-  div_assign_r(d, d, c_den, ROUND_NOT_NEEDED);
-  div_assign_r(d1, d1, c_den, ROUND_NOT_NEEDED);
+  div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED);
+  div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED);
 
   if (is_plus_infinity(m_i_j)) {
     if (!is_plus_infinity(m_ci_cj)) {
@@ -1614,11 +2039,12 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
       // `-m_ci_cj <= v - u'.
       // In this case `*this' is disjoint from `c' if
       // `-m_ci_cj > d' (`-m_ci_cj >= d' if c is a strict inequality),
-      // i.e. if `m_ci_cj < d1' (`m_ci_cj <= d1' if c is a strict inequality).
+      // i.e., if `m_ci_cj < d1' (`m_ci_cj <= d1'
+      // if c is a strict inequality).
       numer_denom(m_ci_cj, numer, denom);
-      assign_r(q_den, denom, ROUND_NOT_NEEDED);
+      assign_r(q_denom, denom, ROUND_NOT_NEEDED);
       assign_r(q_y, numer, ROUND_NOT_NEEDED);
-      div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
+      div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
       if (q_y < d1)
         return Poly_Con_Relation::is_disjoint();
       if (q_y == d1 && c.is_strict_inequality())
@@ -1631,15 +2057,15 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
 
   // Here `m_i_j' is not plus-infinity.
   numer_denom(m_i_j, numer, denom);
-  assign_r(q_den, denom, ROUND_NOT_NEEDED);
+  assign_r(q_denom, denom, ROUND_NOT_NEEDED);
   assign_r(q_x, numer, ROUND_NOT_NEEDED);
-  div_assign_r(q_x, q_x, q_den, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED);
 
   if (!is_plus_infinity(m_ci_cj)) {
     numer_denom(m_ci_cj, numer, denom);
-    assign_r(q_den, denom, ROUND_NOT_NEEDED);
+    assign_r(q_denom, denom, ROUND_NOT_NEEDED);
     assign_r(q_y, numer, ROUND_NOT_NEEDED);
-    div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
+    div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
     if (q_x == d && q_y == d1) {
       if (c.is_strict_inequality())
         return Poly_Con_Relation::saturates()
@@ -1710,16 +2136,16 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
   const Row_Iterator m_begin = matrix.row_begin();
   const Row_Iterator m_end = matrix.row_end();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
   PPL_DIRTY_TEMP_COEFFICIENT(product);
 
   // We find in `*this' all the constraints.
   for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
     dimension_type i = i_iter.index();
     Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
-    const N& m_i_ii = m_i[i+1];
+    Row_Reference m_ii = *(i_iter + 1);
+    const N& m_i_ii = m_i[i + 1];
     const N& m_ii_i = m_ii[i];
     // We have the unary constraints.
     const Variable x(i/2);
@@ -1729,17 +2155,17 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
       : g.coefficient(x);
     if (is_additive_inverse(m_i_ii, m_ii_i)) {
       // The constraint has form ax = b.
-      // To satisfy the constraint it's necessary that the scalar product
-      // is not zero. The scalar product has the form:
-      // 'den * g_coeff_x - num * g.divisor()'.
-      numer_denom(m_ii_i, num, den);
-      den *= 2;
-      product = den * g_coeff_x;
+      // To satisfy the constraint it is necessary that the scalar product
+      // is not zero. The scalar product has the form
+      // 'denom * g_coeff_x - numer * g.divisor()'.
+      numer_denom(m_ii_i, numer, denom);
+      denom *= 2;
+      product = denom * g_coeff_x;
       // Note that if the generator `g' is a line or a ray,
       // its divisor is zero.
       if (!is_line_or_ray) {
-        neg_assign(num);
-        add_mul_assign(product, num, g.divisor());
+        neg_assign(numer);
+        add_mul_assign(product, numer, g.divisor());
       }
       if (product != 0)
         return Poly_Gen_Relation::nothing();
@@ -1750,43 +2176,43 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
         // The constraint has form -ax <= b.
         // If the generator is a line it's necessary to check if
         // the scalar product is not zero, if it is positive otherwise.
-        numer_denom(m_i_ii, num, den);
-        den *= -2;
-        product = den * g_coeff_x;
+        numer_denom(m_i_ii, numer, denom);
+        denom *= -2;
+        product = denom * g_coeff_x;
         // Note that if the generator `g' is a line or a ray,
         // its divisor is zero.
         if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
         }
         if (is_line && product != 0)
           return Poly_Gen_Relation::nothing();
         else
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive and the scalar
-          // product has the form:
-          // '-den * g.coeff_x - num * g.divisor()'.
+          // product has the form
+          // '-denom * g.coeff_x - numer * g.divisor()'.
           if (product > 0)
             return Poly_Gen_Relation::nothing();
       }
       if (!is_plus_infinity(m_ii_i)) {
         // The constraint has form ax <= b.
-        numer_denom(m_ii_i, num, den);
-        den *= 2;
-        product = den * g_coeff_x;
+        numer_denom(m_ii_i, numer, denom);
+        denom *= 2;
+        product = denom * g_coeff_x;
          // Note that if the generator `g' is a line or a ray,
         // its divisor is zero.
         if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num , g.divisor());
+          neg_assign(numer);
+          add_mul_assign(product, numer , g.divisor());
         }
         if (is_line && product != 0)
           return Poly_Gen_Relation::nothing();
         else
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive and the scalar
-          // product has the form:
-          // 'den * g_coeff_x - num * g.divisor()'.
+          // product has the form
+          // 'denom * g_coeff_x - numer * g.divisor()'.
           if (product > 0)
             return Poly_Gen_Relation::nothing();
       }
@@ -1797,12 +2223,12 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
   for (Row_Iterator i_iter = m_begin ; i_iter != m_end; i_iter += 2) {
     dimension_type i = i_iter.index();
     Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
+    Row_Reference m_ii = *(i_iter + 1);
     for (dimension_type j = 0; j < i; j += 2) {
       const N& m_i_j = m_i[j];
-      const N& m_ii_jj = m_ii[j+1];
+      const N& m_ii_jj = m_ii[j + 1];
       const N& m_ii_j = m_ii[j];
-      const N& m_i_jj = m_i[j+1];
+      const N& m_i_jj = m_i[j + 1];
       const Variable x(j/2);
       const Variable y(i/2);
       const Coefficient& g_coeff_x
@@ -1816,40 +2242,40 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
 
       const bool difference_is_equality = is_additive_inverse(m_ii_jj, m_i_j);
       if (difference_is_equality) {
-        // The constraint has form ax - ay = b.
+        // The constraint has form a*x - a*y = b.
         // The scalar product has the form
-        // 'den * coeff_x - den * coeff_y - num * g.divisor()'.
+        // 'denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
         // To satisfy the constraint it's necessary that the scalar product
         // is not zero.
-        numer_denom(m_i_j, num, den);
-        product = den * g_coeff_x;
-        neg_assign(den);
-        add_mul_assign(product, den, g_coeff_y);
+        numer_denom(m_i_j, numer, denom);
+        product = denom * g_coeff_x;
+        neg_assign(denom);
+        add_mul_assign(product, denom, g_coeff_y);
         // Note that if the generator `g' is a line or a ray,
         // its divisor is zero.
         if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
         }
         if (product != 0)
           return Poly_Gen_Relation::nothing();
       }
       else {
         if (!is_plus_infinity(m_i_j)) {
-          // The constraint has form ax - ay <= b.
+          // The constraint has form a*x - a*y <= b.
           // The scalar product has the form
-          // 'den * coeff_x - den * coeff_y - num * g.divisor()'.
+          // 'denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive.
-          numer_denom(m_i_j, num, den);
-          product = den * g_coeff_x;
-          neg_assign(den);
-          add_mul_assign(product, den, g_coeff_y);
+          numer_denom(m_i_j, numer, denom);
+          product = denom * g_coeff_x;
+          neg_assign(denom);
+          add_mul_assign(product, denom, g_coeff_y);
           // Note that if the generator `g' is a line or a ray,
           // its divisor is zero.
           if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
           }
           if (is_line && product != 0)
             return Poly_Gen_Relation::nothing();
@@ -1857,20 +2283,20 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
             return Poly_Gen_Relation::nothing();
         }
         if (!is_plus_infinity(m_ii_jj)) {
-          // The constraint has form -ax + ay <= b.
+          // The constraint has form -a*x + a*y <= b.
           // The scalar product has the form
-          // '-den * coeff_x + den * coeff_y - num * g.divisor()'.
+          // '-denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive.
-          numer_denom(m_ii_jj, num, den);
-          product = den * g_coeff_y;
-          neg_assign(den);
-          add_mul_assign(product, den, g_coeff_x);
+          numer_denom(m_ii_jj, numer, denom);
+          product = denom * g_coeff_y;
+          neg_assign(denom);
+          add_mul_assign(product, denom, g_coeff_x);
           // Note that if the generator `g' is a line or a ray,
           // its divisor is zero.
           if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
           }
           if (is_line && product != 0)
             return Poly_Gen_Relation::nothing();
@@ -1881,39 +2307,39 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
 
       const bool sum_is_equality = is_additive_inverse(m_i_jj, m_ii_j);
       if (sum_is_equality) {
-        // The constraint has form ax + ay = b.
+        // The constraint has form a*x + a*y = b.
         // The scalar product has the form
-        // 'den * coeff_x + den * coeff_y - num * g.divisor()'.
+        // 'denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
         // To satisfy the constraint it's necessary that the scalar product
         // is not zero.
-        numer_denom(m_ii_j, num, den);
-        product = den * g_coeff_x;
-        add_mul_assign(product, den, g_coeff_y);
+        numer_denom(m_ii_j, numer, denom);
+        product = denom * g_coeff_x;
+        add_mul_assign(product, denom, g_coeff_y);
         // Note that if the generator `g' is a line or a ray,
         // its divisor is zero.
         if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
         }
         if (product != 0)
           return Poly_Gen_Relation::nothing();
       }
       else {
         if (!is_plus_infinity(m_i_jj)) {
-          // The constraint has form -ax - ay <= b.
+          // The constraint has form -a*x - a*y <= b.
           // The scalar product has the form
-          // '-den * coeff_x - den * coeff_y - num * g.divisor()'.
+          // '-denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive.
-          numer_denom(m_i_jj, num, den);
-          neg_assign(den);
-          product = den * g_coeff_x;
-          add_mul_assign(product, den, g_coeff_y);
+          numer_denom(m_i_jj, numer, denom);
+          neg_assign(denom);
+          product = denom * g_coeff_x;
+          add_mul_assign(product, denom, g_coeff_y);
           // Note that if the generator `g' is a line or a ray,
           // its divisor is zero.
           if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
           }
           if (is_line && product != 0)
             return Poly_Gen_Relation::nothing();
@@ -1921,19 +2347,19 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
             return Poly_Gen_Relation::nothing();
         }
         if (!is_plus_infinity(m_ii_j)) {
-          // The constraint has form ax + ay <= b.
+          // The constraint has form a*x + a*y <= b.
           // The scalar product has the form
-          // 'den * coeff_x + den * coeff_y - num * g.divisor()'.
+          // 'denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
           // If the generator is not a line it's necessary to check
           // that the scalar product sign is not positive.
-          numer_denom(m_ii_j, num, den);
-          product = den * g_coeff_x;
-          add_mul_assign(product, den, g_coeff_y);
+          numer_denom(m_ii_j, numer, denom);
+          product = denom * g_coeff_x;
+          add_mul_assign(product, denom, g_coeff_y);
           // Note that if the generator `g' is a line or a ray,
           // its divisor is zero.
           if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
           }
           if (is_line && product != 0)
             return Poly_Gen_Relation::nothing();
@@ -2000,7 +2426,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
     Row_Iterator x_k_iter = m_begin;
     Row_Iterator x_i_iter = m_begin;
     for (dimension_type k = 0; k < n_rows; k += 2) {
-      const dimension_type ck = k+1;
+      const dimension_type ck = k + 1;
       // Re-initialize the element iterator.
       iter_ij = x.matrix.element_begin();
       // Compute the row references `x_k' and `x_ck'.
@@ -2010,7 +2436,7 @@ Octagonal_Shape<T>::strong_closure_assign() const {
       ++x_k_iter;
 
       for (dimension_type i = 0; i <= k; i += 2) {
-        const dimension_type ci = i+1;
+        const dimension_type ci = i + 1;
         // Storing x_k_i == x_ci_ck.
         vec_k[i] = x_k[i];
         // Storing x_k_ci == x_i_ck.
@@ -2021,8 +2447,8 @@ Octagonal_Shape<T>::strong_closure_assign() const {
         vec_ck[ci] = x_ck[ci];
       }
       x_i_iter = x_k_iter;
-      for (dimension_type i = k+2; i < n_rows; i += 2) {
-        const dimension_type ci = i+1;
+      for (dimension_type i = k + 2; i < n_rows; i += 2) {
+        const dimension_type ci = i + 1;
         x_i = *x_i_iter;
         ++x_i_iter;
         x_ci = *x_i_iter;
@@ -2045,9 +2471,12 @@ Octagonal_Shape<T>::strong_closure_assign() const {
         // Unfolding two iterations on `j': this ensures that
         // the loop exit condition `j <= i' is OK.
         for (dimension_type j = 0; j <= i; ) {
-          // First iteration:
-          // sum1 = x_i_k + x_k_j == x_ck_ci + x_k_j;
-          // sum2 = x_i_ck + x_ck_j == x_k_ci + x_ck_j.
+          // First iteration: compute
+          //
+          // <CODE>
+          //   sum1 = x_i_k + x_k_j == x_ck_ci + x_k_j;
+          //   sum2 = x_i_ck + x_ck_j == x_k_ci + x_ck_j;
+          // </CODE>
           add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP);
           add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP);
           min_assign(sum1, sum2);
@@ -2125,7 +2554,7 @@ Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
   PPL_ASSERT(marked_strongly_closed());
   const dimension_type space_dim = space_dimension();
   for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-    const dimension_type ci = i+1;
+    const dimension_type ci = i + 1;
     const N& mat_i_ci = matrix[i][ci];
     if (!is_plus_infinity(mat_i_ci)
         // Check for oddness of `mat_i_ci'.
@@ -2156,7 +2585,7 @@ Octagonal_Shape<T>::tight_closure_assign() {
     assign_r(temp_one, 1, ROUND_NOT_NEEDED);
     const dimension_type space_dim = space_dimension();
     for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-      const dimension_type ci = i+1;
+      const dimension_type ci = i + 1;
       N& mat_i_ci = matrix[i][ci];
       if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci))
         sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
@@ -2200,7 +2629,7 @@ Octagonal_Shape<T>
   // Using the incremental Floyd-Warshall algorithm.
   // Step 1: Improve all constraints on variable `var'.
   const dimension_type v = 2*var.id();
-  const dimension_type cv = v+1;
+  const dimension_type cv = v + 1;
   Row_Iterator v_iter = m_begin + v;
   Row_Iterator cv_iter = v_iter + 1;
   Row_Reference x_v = *v_iter;
@@ -2214,14 +2643,14 @@ Octagonal_Shape<T>
     const dimension_type ck = coherent_index(k);
     const dimension_type rs_k = k_iter.row_size();
     Row_Reference x_k = *k_iter;
-    Row_Reference x_ck = (k % 2 != 0) ? *(k_iter-1) : *(k_iter+1);
+    Row_Reference x_ck = (k % 2 != 0) ? *(k_iter-1) : *(k_iter + 1);
 
     for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
       const dimension_type i = i_iter.index();
       const dimension_type ci = coherent_index(i);
       const dimension_type rs_i = i_iter.row_size();
       Row_Reference x_i = *i_iter;
-      Row_Reference x_ci = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
+      Row_Reference x_ci = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
 
       const N& x_i_k = (k < rs_i) ? x_i[k] : x_ck[ci];
       if (!is_plus_infinity(x_i_k)) {
@@ -2270,7 +2699,7 @@ Octagonal_Shape<T>
     // conditional expressions.
     for (dimension_type j = 0; j < n_rows; ++j) {
       const dimension_type cj = coherent_index(j);
-      Row_Reference x_cj = *(m_begin+cj);
+      Row_Reference x_cj = *(m_begin + cj);
       N& x_i_j = (j < rs_i) ? x_i[j] : x_cj[ci];
       if (!is_plus_infinity(x_i_v)) {
         const N& x_v_j = (j < rs_v) ? x_v[j] : x_cj[cv];
@@ -2327,10 +2756,10 @@ Octagonal_Shape<T>
     successor.push_back(i);
   // Now compute actual successors.
   for (dimension_type i = successor_size; i-- > 0; )  {
-    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin()+i;
+    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
     typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
     typename OR_Matrix<N>::const_row_reference_type m_ci
-      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
+      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
     for (dimension_type j = 0; j < i; ++j) {
       // FIXME: what is the following, commented-out for?
     //for (dimension_type j = i; j-- > 0; ) {
@@ -2364,7 +2793,7 @@ Octagonal_Shape<T>
     typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
     dimension_type i = i_iter.index();
     typename OR_Matrix<N>::const_row_reference_type m_ci
-      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
+      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
     for (dimension_type j = 0; j < i; ++j) {
       using namespace Implementation::Octagonal_Shapes;
       dimension_type cj = coherent_index(j);
@@ -2399,7 +2828,7 @@ Octagonal_Shape<T>
       else
         no_sing_leaders.push_back(i);
     }
-    // The following index isn't a leader.
+    // The following index is not a leader.
     dealt_with[next_i] = true;
   }
 }
@@ -2445,14 +2874,14 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
 template <typename T>
 void
 Octagonal_Shape<T>
-::non_redundant_matrix_entries(std::vector<Bit_Row>& nr_rows) const {
+::non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const {
   // Private method: the caller has to ensure the following.
   PPL_ASSERT(space_dim > 0 && !marked_empty() && marked_strongly_closed());
-  PPL_ASSERT(nr_rows.empty());
+  PPL_ASSERT(non_redundant.empty());
 
   // Initialize `non_redundant' as if it was an OR_Matrix of booleans
   // (initially set to false).
-  nr_rows.resize(2*space_dim);
+  non_redundant.resize(2*space_dim);
 
   // Step 1: compute zero-equivalence classes.
   // Variables corresponding to indices `i' and `j' are zero-equivalent
@@ -2474,7 +2903,7 @@ Octagonal_Shape<T>
     using namespace Implementation::Octagonal_Shapes;
     const dimension_type ci = coherent_index(i);
     typename OR_Matrix<N>::const_row_reference_type
-      m_i = *(matrix.row_begin()+i);
+      m_i = *(matrix.row_begin() + i);
     if (i % 2 == 0) {
       // Each positive equivalence class must have a single 0-cycle
       // connecting all equivalent variables in increasing order.
@@ -2485,16 +2914,16 @@ Octagonal_Shape<T>
         dimension_type j = i;
         dimension_type next_j = successor[j];
         while (j != next_j) {
-          nr_rows[next_j].set(j);
+          non_redundant[next_j].set(j);
           j = next_j;
           next_j = successor[j];
         }
         const dimension_type cj = coherent_index(j);
-        nr_rows[cj].set(ci);
+        non_redundant[cj].set(ci);
       }
     }
 
-    dimension_type rs_li = (li % 2 != 0) ? li :li+1;
+    dimension_type rs_li = (li % 2 != 0) ? li : (li + 1);
     // Check if the constraint is redundant.
     PPL_DIRTY_TEMP(N, tmp);
     for (dimension_type lj = 0 ; lj <= rs_li; ++lj) {
@@ -2515,7 +2944,7 @@ Octagonal_Shape<T>
       }
       // Control if the constraint is redundant by strong closure, that is
       // if there is a path from i to j (i = i_0, ... , i_n = j), such that
-      // m_i_j = sum_{k=0}^{n-1} m_{i_k}_{i_(k+1)}.
+      // m_i_j = sum_{k=0}^{n-1} m_{i_k}_{i_(k + 1)}.
       // Since the octagon is already strongly closed, the above relation
       // is reduced to three case, in accordance with k, i, j inter-depend:
       // exit k such that
@@ -2547,7 +2976,7 @@ Octagonal_Shape<T>
 
       if (to_add)
         // The constraint is not redundant.
-        nr_rows[i].set(j);
+        non_redundant[i].set(j);
     }
   }
 
@@ -2556,19 +2985,19 @@ Octagonal_Shape<T>
   // variables.
   // Note: the singular class is not connected with the other classes.
   if (exist_sing_class) {
-    nr_rows[sing_leader].set(sing_leader+1);
-    if (successor[sing_leader+1] != sing_leader+1) {
+    non_redundant[sing_leader].set(sing_leader + 1);
+    if (successor[sing_leader + 1] != sing_leader + 1) {
       dimension_type j = sing_leader;
-      dimension_type next_jj = successor[j+1];
-      while (next_jj != j+1) {
-        nr_rows[next_jj].set(j);
-        j = next_jj;
-        next_jj = successor[j+1];
+      dimension_type next_j = successor[j + 1];
+      while (next_j != j + 1) {
+        non_redundant[next_j].set(j);
+        j = next_j;
+        next_j = successor[j + 1];
       }
-      nr_rows[j+1].set(j);
+      non_redundant[j + 1].set(j);
     }
     else
-      nr_rows[sing_leader+1].set(sing_leader);
+      non_redundant[sing_leader + 1].set(sing_leader);
   }
 }
 
@@ -2637,7 +3066,7 @@ Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
   Octagonal_Shape new_oct(space_dim, EMPTY);
   // We take a constraint of the octagon y at the time and we
   // consider its complementary. Then we intersect the union
-  // of these complementaries with the octagon x.
+  // of these complementary constraints with the octagon x.
   const Constraint_System& y_cs = y.constraints();
   for (Constraint_System::const_iterator i = y_cs.begin(),
          y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
@@ -2687,7 +3116,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   // (this subsumes the case when `y' is empty).
   if (x.contains(y)) {
     Octagonal_Shape<T> res(dim, UNIVERSE);
-    x.swap(res);
+    x.m_swap(res);
     return false;
   }
 
@@ -2706,14 +3135,14 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     for (i = 0; i < 2*dim; i += 2) {
       // FIXME: if N is a float or bounded integer type, then
       // we also need to check that we are actually able to construct
-      // a constraint inconsistent wrt this one.
+      // a constraint inconsistent with respect to this one.
       // Use something like !is_maximal()?
-      if (!is_plus_infinity(y.matrix_at(i, i+1))) {
-        j = i+1;
+      if (!is_plus_infinity(y.matrix_at(i, i + 1))) {
+        j = i + 1;
         goto found;
       }
       // Use something like !is_maximal()?
-      if (!is_plus_infinity(y.matrix_at(i+1, i))) {
+      if (!is_plus_infinity(y.matrix_at(i + 1, i))) {
         j = i;
         ++i;
         goto found;
@@ -2743,7 +3172,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     // CHECKME: round down is really meant.
     neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN);
     PPL_ASSERT(!is_plus_infinity(res.matrix_at(j, i)));
-    x.swap(res);
+    x.m_swap(res);
     return false;
   }
 
@@ -2756,13 +3185,13 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
 
   // Compute redundancy information for x and ...
   // TODO: provide a nicer data structure for redundancy.
-  std::vector<Bit_Row> x_nonred;
-  x.non_redundant_matrix_entries(x_nonred);
+  std::vector<Bit_Row> x_non_redundant;
+  x.non_redundant_matrix_entries(x_non_redundant);
   // ... count the non-redundant constraints.
-  dimension_type x_num_nonred = 0;
-  for (size_t i = x_nonred.size(); i-- > 0 ; )
-    x_num_nonred += x_nonred[i].count_ones();
-  PPL_ASSERT(x_num_nonred > 0);
+  dimension_type x_num_non_redundant = 0;
+  for (size_t i = x_non_redundant.size(); i-- > 0 ; )
+    x_num_non_redundant += x_non_redundant[i].count_ones();
+  PPL_ASSERT(x_num_non_redundant > 0);
 
   // Let `yy' be a copy of `y': we will keep adding to `yy'
   // the non-redundant constraints of `x',
@@ -2772,7 +3201,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   // The constraints added to `yy' will be recorded in `res' ...
   Octagonal_Shape<T> res(dim, UNIVERSE);
   // ... and we will count them too.
-  dimension_type res_num_nonred = 0;
+  dimension_type res_num_non_redundant = 0;
 
   // Compute leader information for `x'.
   std::vector<dimension_type> x_leaders;
@@ -2783,8 +3212,8 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   dimension_type sing_leader;
   for (sing_leader = 0; sing_leader < 2*dim; sing_leader += 2) {
     if (sing_leader == x_leaders[sing_leader]) {
-      const N& x_s_ss = x.matrix_at(sing_leader, sing_leader+1);
-      const N& x_ss_s = x.matrix_at(sing_leader+1, sing_leader);
+      const N& x_s_ss = x.matrix_at(sing_leader, sing_leader + 1);
+      const N& x_ss_s = x.matrix_at(sing_leader + 1, sing_leader);
       if (is_additive_inverse(x_s_ss, x_ss_s))
         // Singular leader found.
         break;
@@ -2797,22 +3226,22 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
       continue;
     // Found a unary equality constraint:
     // see if any of the two inequalities have to be added.
-    const N& x_i_ii = x.matrix_at(i, i+1);
-    N& yy_i_ii = yy.matrix_at(i, i+1);
+    const N& x_i_ii = x.matrix_at(i, i + 1);
+    N& yy_i_ii = yy.matrix_at(i, i + 1);
     if (x_i_ii < yy_i_ii) {
       // The \leq inequality is not implied by context.
-      res.matrix_at(i, i+1) = x_i_ii;
-      ++res_num_nonred;
+      res.matrix_at(i, i + 1) = x_i_ii;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy_i_ii = x_i_ii;
       yy.reset_strongly_closed();
     }
-    const N& x_ii_i = x.matrix_at(i+1, i);
-    N& yy_ii_i = yy.matrix_at(i+1, i);
+    const N& x_ii_i = x.matrix_at(i + 1, i);
+    N& yy_ii_i = yy.matrix_at(i + 1, i);
     if (x_ii_i < yy_ii_i) {
       // The \geq inequality is not implied by context.
-      res.matrix_at(i+1, i) = x_ii_i;
-      ++res_num_nonred;
+      res.matrix_at(i + 1, i) = x_ii_i;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy_ii_i = x_ii_i;
       yy.reset_strongly_closed();
@@ -2823,9 +3252,9 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
       yy.incremental_strong_closure_assign(var_i);
       if (target.contains(yy)) {
         // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonred < x_num_nonred) {
+        if (res_num_non_redundant < x_num_non_redundant) {
           res.reset_strongly_closed();
-          x.swap(res);
+          x.m_swap(res);
         }
         return bool_result;
       }
@@ -2842,7 +3271,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     N& yy_i_j = yy.matrix_at(i, j);
     if (x_i_j < yy_i_j) {
       res.matrix_at(i, j) = x_i_j;
-      ++res_num_nonred;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy_i_j = x_i_j;
       yy.reset_strongly_closed();
@@ -2852,7 +3281,7 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     PPL_ASSERT(!is_plus_infinity(x_j_i));
     if (x_j_i < yy_j_i) {
       res.matrix_at(j, i) = x_j_i;
-      ++res_num_nonred;
+      ++res_num_non_redundant;
       // Tighten context `yy' using the newly added constraint.
       yy_j_i = x_j_i;
       yy.reset_strongly_closed();
@@ -2863,9 +3292,9 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
       yy.incremental_strong_closure_assign(var_j);
       if (target.contains(yy)) {
         // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonred < x_num_nonred) {
+        if (res_num_non_redundant < x_num_non_redundant) {
           res.reset_strongly_closed();
-          x.swap(res);
+          x.m_swap(res);
         }
         return bool_result;
       }
@@ -2878,21 +3307,21 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
   for (dimension_type i = 0; i < 2*dim; ++i) {
     if (i != x_leaders[i])
       continue;
-    const Bit_Row& x_nonred_i = x_nonred[i];
+    const Bit_Row& x_non_redundant_i = x_non_redundant[i];
     for (dimension_type j = 0; j < 2*dim; ++j) {
       if (j != x_leaders[j])
         continue;
       if (i >= j) {
-        if (!x_nonred_i[j])
+        if (!x_non_redundant_i[j])
           continue;
       }
-      else if (!x_nonred[j][i])
+      else if (!x_non_redundant[j][i])
         continue;
       N& yy_i_j = yy.matrix_at(i, j);
       const N& x_i_j = x.matrix_at(i, j);
       if (x_i_j < yy_i_j) {
         res.matrix_at(i, j) = x_i_j;
-        ++res_num_nonred;
+        ++res_num_non_redundant;
         // Tighten context `yy' using the newly added constraint.
         yy_i_j = x_i_j;
         yy.reset_strongly_closed();
@@ -2900,9 +3329,9 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
         yy.incremental_strong_closure_assign(var);
         if (target.contains(yy)) {
           // Target reached: swap `x' and `res' if needed.
-          if (res_num_nonred < x_num_nonred) {
+          if (res_num_non_redundant < x_num_non_redundant) {
             res.reset_strongly_closed();
-            x.swap(res);
+            x.m_swap(res);
           }
           return bool_result;
         }
@@ -2910,7 +3339,8 @@ Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
     }
   }
   // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
 template <typename T>
@@ -2923,7 +3353,7 @@ Octagonal_Shape<T>::add_space_dimensions_and_embed(dimension_type m) {
   const dimension_type new_dim = space_dim + m;
   const bool was_zero_dim_univ = !marked_empty() && space_dim == 0;
 
-  // To embed an n-dimension space octagon in a (n+m)-dimension space,
+  // To embed an n-dimension space octagon in a (n + m)-dimension space,
   // we just add `m' variables in the matrix of constraints.
   matrix.grow(new_dim);
   space_dim = new_dim;
@@ -2944,7 +3374,7 @@ Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
 
   const dimension_type n = matrix.num_rows();
 
-  // To project an n-dimension space OS in a (space_dim+m)-dimension space,
+  // To project an n-dimension space OS in a (space_dim + m)-dimension space,
   // we just add `m' columns and rows in the matrix of constraints.
   add_space_dimensions_and_embed(m);
   // We insert 0 where it needs.
@@ -2952,9 +3382,9 @@ Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
   for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin() + n,
          matrix_row_end =  matrix.row_end(); i != matrix_row_end; i += 2) {
     typename OR_Matrix<N>::row_reference_type x_i = *i;
-    typename OR_Matrix<N>::row_reference_type x_ci = *(i+1);
+    typename OR_Matrix<N>::row_reference_type x_ci = *(i + 1);
     const dimension_type ind = i.index();
-    assign_r(x_i[ind+1], 0, ROUND_NOT_NEEDED);
+    assign_r(x_i[ind + 1], 0, ROUND_NOT_NEEDED);
     assign_r(x_ci[ind], 0, ROUND_NOT_NEEDED);
   }
 
@@ -2994,43 +3424,35 @@ Octagonal_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
     return;
   }
 
-  // We consider every variable and we check if it is to be removed.
-  // If it is to be removed, we pass to the successive one, elsewhere
-  // we move its elements in the right position.
-  Variables_Set::const_iterator vsi = vars.begin();
-  dimension_type ftr = *vsi;
-  dimension_type ftr_size = 2*ftr*(ftr+1);
-  typename OR_Matrix<N>::element_iterator
-    iter = matrix.element_begin()+ftr_size;
-
-  dimension_type i = ftr + 1;
-  while (i < space_dim) {
-    if (vars.count(i) != 0)
-      ++i;
-    else {
-      typename OR_Matrix<N>::row_iterator
-        row_iter = matrix.row_begin()+2*i;
-      typename OR_Matrix<N>::row_reference_type
-        row_ref = *row_iter;
-      typename OR_Matrix<N>::row_reference_type
-        row_ref1 = *(++row_iter);
-      // If variable(j) is to remove, we pass another variable,
-      // else we shift its cells to up right.
-      // Attention: first we shift the cells corrispondent to the first
-      // row of variable(j), then we shift the cells corrispondent to the
+  // We consider each variable and we check if it has to be removed.
+  // If it has to be removed, we pass to the next one, then we will
+  // overwrite its representation in the matrix.
+  typedef typename OR_Matrix<N>::element_iterator Elem_Iter;
+  typedef typename std::iterator_traits<Elem_Iter>::difference_type diff_t;
+
+  dimension_type first = *vars.begin();
+  const dimension_type first_size = 2 * first * (first + 1);
+  Elem_Iter iter = matrix.element_begin() + static_cast<diff_t>(first_size);
+
+  for (dimension_type i = first + 1; i < space_dim; ++i) {
+    if (vars.count(i) == 0) {
+      typename OR_Matrix<N>::row_iterator row_iter = matrix.row_begin() + 2*i;
+      typename OR_Matrix<N>::row_reference_type row_ref = *row_iter;
+      typename OR_Matrix<N>::row_reference_type row_ref1 = *(++row_iter);
+      // Beware: first we shift the cells corresponding to the first
+      // row of variable(j), then we shift the cells corresponding to the
       // second row. We recall that every variable is represented
-      // in the `matrix' by two rows and two rows.
+      // in the `matrix' by two rows and two columns.
       for (dimension_type j = 0; j <= i; ++j)
         if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref[2*j]);
-          assign_or_swap(*(iter++), row_ref[2*j+1]);
+          assign_or_swap(*(iter++), row_ref[2*j + 1]);
         }
       for (dimension_type j = 0; j <= i; ++j)
         if (vars.count(j) == 0) {
           assign_or_swap(*(iter++), row_ref1[2*j]);
-          assign_or_swap(*(iter++), row_ref1[2*j+1]);
+          assign_or_swap(*(iter++), row_ref1[2*j + 1]);
         }
-      ++i;
     }
   }
   // Update the space dimension.
@@ -3100,17 +3522,17 @@ Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
           if (new_i >= new_j) {
             assign_or_swap(x_i[double_new_j], r_i[dj]);
             assign_or_swap(x_ii[double_new_j], r_ii[dj]);
-            assign_or_swap(x_ii[double_new_j+1], r_ii[dj + 1]);
-            assign_or_swap(x_i[double_new_j+1], r_i[dj + 1]);
+            assign_or_swap(x_ii[double_new_j + 1], r_ii[dj + 1]);
+            assign_or_swap(x_i[double_new_j + 1], r_i[dj + 1]);
           }
           else {
-            Row_Iterator xj_iter = m_begin + double_new_j;
-            Row_Reference x_j = *xj_iter;
-            Row_Reference x_jj = *(xj_iter + 1);
-            assign_or_swap(x_jj[double_new_i+1], r_i[dj]);
+            Row_Iterator x_j_iter = m_begin + double_new_j;
+            Row_Reference x_j = *x_j_iter;
+            Row_Reference x_jj = *(x_j_iter + 1);
+            assign_or_swap(x_jj[double_new_i + 1], r_i[dj]);
             assign_or_swap(x_jj[double_new_i], r_ii[dj]);
-            assign_or_swap(x_j[double_new_i+1], r_i[dj+1]);
-            assign_or_swap(x_j[double_new_i], r_ii[dj+1]);
+            assign_or_swap(x_j[double_new_i + 1], r_i[dj + 1]);
+            assign_or_swap(x_j[double_new_i], r_ii[dj + 1]);
           }
 
         }
@@ -3118,7 +3540,8 @@ Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
     }
   }
 
-  std::swap(matrix, x);
+  using std::swap;
+  swap(matrix, x);
   space_dim = new_space_dim;
   PPL_ASSERT(OK());
 }
@@ -3176,14 +3599,8 @@ Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
   if (space_dim != y.space_dim)
     throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If both octagons are zero-dimensional,
   // since `*this' contains `y', we simply return `*this'.
@@ -3263,8 +3680,9 @@ Octagonal_Shape<T>
     dimension_type i = 0;
     dimension_type j = 0;
     // Constraints that are not octagonal differences are ignored.
-    if (!extract_octagonal_difference(c, cs_space_dim, num_vars, i, j,
-                                      coeff, term))
+    if (!Octagonal_Shape_Helper
+      ::extract_octagonal_difference(c, cs_space_dim, num_vars, i, j,
+                                     coeff, term))
       continue;
 
     typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
@@ -3346,14 +3764,8 @@ Octagonal_Shape<T>
   if (space_dim == 0)
     return;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If `*this' is empty, since `*this' contains `y', `y' is empty too.
   if (marked_empty())
@@ -3376,14 +3788,8 @@ Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
   if (space_dim != y.space_dim)
     throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // Compute the affine dimension of `y'.
   const dimension_type y_affine_dim = y.affine_dimension();
@@ -3458,14 +3864,8 @@ Octagonal_Shape<T>
   if (space_dim == 0)
     return;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
   // If `*this' is empty, since `*this' contains `y', `y' is empty too.
   if (marked_empty())
@@ -3487,14 +3887,8 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
   if (space_dim != y.space_dim)
     throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that `*this' is contained in or equal to `y'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
-  }
-#endif
+  // Assume `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
   // If both octagons are zero-dimensional, since `*this' contains `y',
   // we simply return '*this'.
@@ -3515,12 +3909,12 @@ Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
   bool is_oct_changed = false;
   typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
   for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-       matrix_element_end = matrix.element_end();
+         matrix_element_end = matrix.element_end();
        i != matrix_element_end;
        ++i, ++j) {
-     if (!is_plus_infinity(*i)
-         && !is_plus_infinity(*j)
-         && *i != *j) {
+    if (!is_plus_infinity(*i)
+        && !is_plus_infinity(*j)
+        && *i != *j) {
       *i = *j;
       is_oct_changed = true;
     }
@@ -3537,54 +3931,53 @@ Octagonal_Shape<T>
 ::deduce_v_pm_u_bounds(const dimension_type v_id,
                        const dimension_type last_id,
                        const Linear_Expression& sc_expr,
-                       Coefficient_traits::const_reference sc_den,
+                       Coefficient_traits::const_reference sc_denom,
                        const N& ub_v) {
   // Private method: the caller has to ensure the following.
-  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(sc_denom > 0);
   PPL_ASSERT(!is_plus_infinity(ub_v));
 
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
 
   // No need to consider indices greater than `last_id'.
   const dimension_type n_v = 2*v_id;
-  typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v+1];
+  typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v + 1];
 
   // Speculatively allocate temporaries out of the loop.
   PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_q);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, lb_u);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_q);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, lb_u);
   PPL_DIRTY_TEMP(N, up_approx);
   PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
 
-  for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+      u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) {
+    const dimension_type u_id = u.variable().id();
     // Skip the case when `u_id == v_id'.
     if (u_id == v_id)
       continue;
-    const Coefficient& expr_u = sc_expr.coefficient(Variable(u_id));
-    // Skip the case when `expr_u == 0'.
-    if (expr_u == 0)
-      continue;
+    const Coefficient& expr_u = *u;
 
     const dimension_type n_u = u_id*2;
     // If `expr_u' is positive, we can improve `v - u'.
     if (expr_u > 0) {
-      if (expr_u >= sc_den) {
+      if (expr_u >= sc_denom) {
         // Here q >= 1: deducing `v - u <= ub_v - ub_u'.
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_cu_u / 2.
-        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
-        N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u+1];
+        div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP);
+        N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u + 1];
         sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP);
       }
       else {
         // Here 0 < q < 1.
         typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
-        const N& m_u_cu = m_u[n_u+1];
+        const N& m_u_cu = m_u[n_u + 1];
         if (!is_plus_infinity(m_u_cu)) {
           // Let `ub_u' and `lb_u' be the known upper and lower bound
           // for `u', respectively. The upper bound for `v - u' is
@@ -3593,8 +3986,8 @@ Octagonal_Shape<T>
           assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED);
           div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED);
           div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
@@ -3602,7 +3995,7 @@ Octagonal_Shape<T>
           sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
           assign_r(up_approx, minus_lb_u, ROUND_UP);
           // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
-          N& m_v_minus_u = (n_v < n_u) ? m_u[n_v] : m_cv[n_u+1];
+          N& m_v_minus_u = (n_v < n_u) ? m_u[n_v] : m_cv[n_u + 1];
           add_assign_r(m_v_minus_u, ub_v, up_approx, ROUND_UP);
         }
       }
@@ -3611,29 +4004,29 @@ Octagonal_Shape<T>
       PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `v + u'.
       neg_assign(minus_expr_u, expr_u);
-      if (minus_expr_u >= sc_den) {
+      if (minus_expr_u >= sc_denom) {
         // Here q <= -1: Deducing `v + u <= ub_v + lb_u'.
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `ub_v'.
         // Let half = m_u_cu / 2.
-        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
-        N& m_v_plus_u = (n_v < n_u) ? matrix[n_u+1][n_v] : m_cv[n_u];
+        div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP);
+        N& m_v_plus_u = (n_v < n_u) ? matrix[n_u + 1][n_v] : m_cv[n_u];
         sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP);
       }
       else {
         // Here -1 < q < 0.
-        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u+1];
+        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u + 1];
         const N& m_cu_u = m_cu[n_u];
         if (!is_plus_infinity(m_cu_u)) {
           // Let `ub_u' and `lb_u' be the known upper and lower bound
           // for `u', respectively. The upper bound for `v + u' is
-          // computed as `ub_v + ((-q) * lb_u + (1+q) * ub_u)',
+          // computed as `ub_v + ((-q) * lb_u + (1 + q) * ub_u)',
           // i.e., `ub_v + ub_u + (-q) * (lb_u - ub_u)'.
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
           div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(minus_q, minus_q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
+          div_assign_r(minus_q, minus_q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED);
           div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
           neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED);
           // Compute `lb_u - ub_u'.
@@ -3641,7 +4034,7 @@ Octagonal_Shape<T>
           // Compute `ub_u + (-q) * (lb_u - ub_u)'.
           add_mul_assign_r(ub_u, minus_q, lb_u, ROUND_NOT_NEEDED);
           assign_r(up_approx, ub_u, ROUND_UP);
-          // Deducing `v + u <= ub_v + ((-q) * lb_u + (1+q) * ub_u)'.
+          // Deducing `v + u <= ub_v + ((-q) * lb_u + (1 + q) * ub_u)'.
           N& m_v_plus_u = (n_v < n_u) ? m_cu[n_v] : m_cv[n_u];
           add_assign_r(m_v_plus_u, ub_v, up_approx, ROUND_UP);
         }
@@ -3656,14 +4049,14 @@ Octagonal_Shape<T>
 ::deduce_minus_v_pm_u_bounds(const dimension_type v_id,
                              const dimension_type last_id,
                              const Linear_Expression& sc_expr,
-                             Coefficient_traits::const_reference sc_den,
+                             Coefficient_traits::const_reference sc_denom,
                              const N& minus_lb_v) {
   // Private method: the caller has to ensure the following.
-  PPL_ASSERT(sc_den > 0);
+  PPL_ASSERT(sc_denom > 0);
   PPL_ASSERT(!is_plus_infinity(minus_lb_v));
 
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
 
   // No need to consider indices greater than `last_id'.
   const dimension_type n_v = 2*v_id;
@@ -3671,37 +4064,36 @@ Octagonal_Shape<T>
 
   // Speculatively allocate temporaries out of the loop.
   PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
   PPL_DIRTY_TEMP(N, up_approx);
   PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
 
-  for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+      u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) {
+    const dimension_type u_id = u.variable().id();
     // Skip the case when `u_id == v_id'.
     if (u_id == v_id)
       continue;
-    const Coefficient& expr_u = sc_expr.coefficient(Variable(u_id));
-    // Skip the case when `expr_u == 0'.
-    if (expr_u == 0)
-      continue;
+    const Coefficient& expr_u = *u;
 
     const dimension_type n_u = u_id*2;
     // If `expr_u' is positive, we can improve `-v + u'.
     if (expr_u > 0) {
-      if (expr_u >= sc_den) {
+      if (expr_u >= sc_denom) {
         // Here q >= 1: deducing `-v + u <= lb_u - lb_v',
         // i.e., `u - v <= (-lb_v) - (-lb_u)'.
         // We avoid to check if `lb_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_u_cu / 2.
-        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
-        N& m_u_minus_v = (n_v < n_u) ? matrix[n_u+1][n_v+1] : m_v[n_u];
+        div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP);
+        N& m_u_minus_v = (n_v < n_u) ? matrix[n_u + 1][n_v + 1] : m_v[n_u];
         sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP);
       }
       else {
         // Here 0 < q < 1.
-        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u+1];
+        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u + 1];
         const N& m_cu_u = m_cu[n_u];
         if (!is_plus_infinity(m_cu_u)) {
           // Let `ub_u' and `lb_u' be the known upper and lower bound
@@ -3711,8 +4103,8 @@ Octagonal_Shape<T>
           assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
           div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(minus_lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(minus_lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED);
           div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
@@ -3720,7 +4112,7 @@ Octagonal_Shape<T>
           sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
           assign_r(up_approx, ub_u, ROUND_UP);
           // Deducing `u - v <= -lb_v - (q * lb_u + (1-q) * ub_u)'.
-          N& m_u_minus_v = (n_v < n_u) ? m_cu[n_v+1] : m_v[n_u];
+          N& m_u_minus_v = (n_v < n_u) ? m_cu[n_v + 1] : m_v[n_u];
           add_assign_r(m_u_minus_v, minus_lb_v, up_approx, ROUND_UP);
         }
       }
@@ -3729,37 +4121,39 @@ Octagonal_Shape<T>
       PPL_ASSERT(expr_u < 0);
       // If `expr_u' is negative, we can improve `-v - u'.
       neg_assign(minus_expr_u, expr_u);
-      if (minus_expr_u >= sc_den) {
+      if (minus_expr_u >= sc_denom) {
         // Here q <= -1: Deducing `-v - u <= -lb_v - ub_u'.
         // We avoid to check if `ub_u' is plus infinity, because
         // it is used for the computation of `lb_v'.
         // Let half = m_cu_u / 2.
-        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
-        N& m_minus_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v+1] : m_v[n_u+1];
+        div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP);
+        N& m_minus_v_minus_u = (n_v < n_u)
+          ? matrix[n_u][n_v + 1]
+          : m_v[n_u + 1];
         sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP);
       }
       else {
         // Here -1 < q < 0.
         typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
-        const N& m_u_cu = m_u[n_u+1];
+        const N& m_u_cu = m_u[n_u + 1];
         if (!is_plus_infinity(m_u_cu)) {
           // Let `ub_u' and `lb_u' be the known upper and lower bound
           // for `u', respectively. The upper bound for `-v - u' is
-          // computed as `-lb_v - ((-q)*ub_u + (1+q)*lb_u)',
+          // computed as `-lb_v - ((-q)*ub_u + (1 + q)*lb_u)',
           // i.e., `minus_lb_v - lb_u + q*(ub_u - lb_u)'.
-          assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
+          assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED);
           div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
           assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(minus_lb_u, m_u[n_u+1], ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(minus_lb_u, m_u[n_u + 1], ROUND_NOT_NEEDED);
           div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
           // Compute `ub_u - lb_u'.
           add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
           // Compute `-lb_u + q*(ub_u - lb_u)'.
           add_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
           assign_r(up_approx, minus_lb_u, ROUND_UP);
-          // Deducing `-v - u <= -lb_v - ((-q) * ub_u + (1+q) * lb_u)'.
-          N& m_minus_v_minus_u = (n_v < n_u) ? m_u[n_v+1] : m_v[n_u+1];
+          // Deducing `-v - u <= -lb_v - ((-q) * ub_u + (1 + q) * lb_u)'.
+          N& m_minus_v_minus_u = (n_v < n_u) ? m_u[n_v + 1] : m_v[n_u + 1];
           add_assign_r(m_minus_v_minus_u, minus_lb_v, up_approx, ROUND_UP);
         }
       }
@@ -3785,7 +4179,7 @@ Octagonal_Shape<T>
        m_iter != m_end; ++m_iter) {
     typename OR_Matrix<N>::row_reference_type r = *m_iter;
     assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r[n_v+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
   }
 }
 
@@ -3807,7 +4201,7 @@ Octagonal_Shape<T>
        m_iter != m_end; ++m_iter) {
     typename OR_Matrix<N>::row_reference_type r = *m_iter;
     assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r[n_v+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
   }
 }
 
@@ -3834,7 +4228,7 @@ Octagonal_Shape<T>::unconstrain(const Variable var) {
 template <typename T>
 void
 Octagonal_Shape<T>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
+  // The cylindrification with respect to no dimensions is a no-op.
   // This case captures the only legal cylindrification in a 0-dim space.
   if (vars.empty())
     return;
@@ -3865,8 +4259,7 @@ Octagonal_Shape<T>::refine(const Variable var,
                            const Linear_Expression& expr,
                            Coefficient_traits::const_reference denominator) {
   PPL_ASSERT(denominator != 0);
-  const dimension_type expr_space_dim = expr.space_dimension();
-  PPL_ASSERT(space_dim >= expr_space_dim);
+  PPL_ASSERT(space_dim >= expr.space_dimension());
   const dimension_type var_id = var.id();
   PPL_ASSERT(var_id <= space_dim);
   PPL_ASSERT(expr.coefficient(var) == 0);
@@ -3878,21 +4271,19 @@ Octagonal_Shape<T>::refine(const Variable var,
   dimension_type t = 0;
 
   // Variable index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  dimension_type w_id = expr.last_nonzero();
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
   // Now we know the form of `expr':
   // - If t == 0, then expr == b, with `b' a constant;
   // - If t == 1, then expr == a*j + b, where `j != v';
-  // - If t == 2, the `expr' is of the general form.
+  // - If t == 2, then `expr' is of the general form.
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
   typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
@@ -3900,8 +4291,8 @@ Octagonal_Shape<T>::refine(const Variable var,
 
   const Row_Iterator m_begin = matrix.row_begin();
   const dimension_type n_var = 2*var_id;
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
   // Since we are only able to record octagonal differences, we can
   // precisely deal with the case of a single variable only if its
@@ -3909,7 +4300,7 @@ Octagonal_Shape<T>::refine(const Variable var,
   // If this is not the case, we fall back to the general case
   // so as to over-approximate the constraint.
   if (t == 1 && expr.coefficient(Variable(w_id)) != denominator
-      && expr.coefficient(Variable(w_id)) != minus_den)
+      && expr.coefficient(Variable(w_id)) != minus_denom)
     t = 2;
 
   if (t == 0) {
@@ -3919,21 +4310,22 @@ Octagonal_Shape<T>::refine(const Variable var,
     switch (relsym) {
     case EQUAL:
       // Add the constraint `var == b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
       break;
     case LESS_OR_EQUAL:
       // Add the constraint `var <= b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
       break;
     case GREATER_OR_EQUAL:
       // Add the constraint `var >= b/denominator',
       // i.e., `-var <= -b/denominator',
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
   else if (t == 1) {
@@ -3946,21 +4338,21 @@ Octagonal_Shape<T>::refine(const Variable var,
         // Add the new constraint `var - w = b/denominator'.
         if (var_id < w_id) {
           add_octagonal_constraint(n_w, n_var, b, denominator);
-          add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
+          add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
         }
         else {
-          add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
-          add_octagonal_constraint(n_var, n_w, b, minus_den);
+          add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
+          add_octagonal_constraint(n_var, n_w, b, minus_denom);
         }
       else
         // Add the new constraint `var + w = b/denominator'.
         if (var_id < w_id) {
-          add_octagonal_constraint(n_w+1, n_var, b, denominator);
-          add_octagonal_constraint(n_w, n_var+1, b, minus_den);
+          add_octagonal_constraint(n_w + 1, n_var, b, denominator);
+          add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
         }
         else {
-          add_octagonal_constraint(n_var+1, n_w, b, denominator);
-          add_octagonal_constraint(n_var, n_w+1, b, minus_den);
+          add_octagonal_constraint(n_var + 1, n_w, b, denominator);
+          add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
         }
       break;
     case LESS_OR_EQUAL:
@@ -3974,14 +4366,14 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (var_id < w_id)
             add_octagonal_constraint(n_w, n_var, d);
           else
-            add_octagonal_constraint(n_var+1, n_w+1, d);
+            add_octagonal_constraint(n_var + 1, n_w + 1, d);
         }
-        else if (w_coeff == minus_den) {
+        else if (w_coeff == minus_denom) {
           // Add the new constraints `v + w <= b/denominator'.
           if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var, d);
+            add_octagonal_constraint(n_w + 1, n_var, d);
           else
-            add_octagonal_constraint(n_var+1, n_w, d);
+            add_octagonal_constraint(n_var + 1, n_w, d);
         }
         break;
       }
@@ -3989,31 +4381,32 @@ Octagonal_Shape<T>::refine(const Variable var,
     case GREATER_OR_EQUAL:
       {
         PPL_DIRTY_TEMP(N, d);
-        div_round_up(d, b, minus_den);
+        div_round_up(d, b, minus_denom);
         // Note that: `w_id != v', so that `expr' is of the form
         // w_coeff * w + b, with `w_id != v'.
         if (w_coeff == denominator) {
           // Add the new constraint `v - w >= b/denominator',
           // i.e.,  `-v + w <= -b/denominator'.
           if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var+1, d);
+            add_octagonal_constraint(n_w + 1, n_var + 1, d);
           else
             add_octagonal_constraint(n_var, n_w, d);
         }
-        else if (w_coeff == minus_den) {
+        else if (w_coeff == minus_denom) {
           // Add the new constraints `v + w >= b/denominator',
           // i.e.,  `-v - w <= -b/denominator'.
           if (var_id < w_id)
-            add_octagonal_constraint(n_w, n_var+1, d);
+            add_octagonal_constraint(n_w, n_var + 1, d);
           else
-            add_octagonal_constraint(n_var, n_w+1, d);
+            add_octagonal_constraint(n_var, n_w + 1, d);
         }
         break;
       }
 
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
   else {
@@ -4024,8 +4417,8 @@ Octagonal_Shape<T>::refine(const Variable var,
     neg_assign(minus_b, b);
     const Coefficient& sc_b = is_sc ? b : minus_b;
     const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-    const Coefficient& sc_den = is_sc ? denominator : minus_den;
-    const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+    const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+    const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
     // NOTE: here, for optimization purposes, `minus_expr' is only assigned
     // when `denominator' is negative. Do not use it unless you are sure
     // it has been correctly assigned.
@@ -4060,7 +4453,8 @@ Octagonal_Shape<T>::refine(const Variable var,
         PPL_DIRTY_TEMP(N, minus_coeff_i);
         // Note: indices above `w' can be disregarded, as they all have
         // a zero coefficient in `sc_expr'.
-        for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
+        for (Row_iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
              m_iter != m_iter_end; ) {
           const dimension_type n_i = m_iter.index();
           const dimension_type id = n_i/2;
@@ -4087,7 +4481,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             }
             // Approximating `-sc_expr'.
             if (neg_pinf_count <= 1) {
-              const N& double_approx_minus_i = m_i[n_i+1];
+              const N& double_approx_minus_i = m_i[n_i + 1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
                 div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
@@ -4104,7 +4498,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
             // Approximating `sc_expr'.
             if (pinf_count <= 1) {
-              const N& double_approx_minus_i = m_i[n_i+1];
+              const N& double_approx_minus_i = m_i[n_i + 1];
               if (!is_plus_infinity(double_approx_minus_i)) {
                 // Let half = double_approx_minus_i / 2.
                 div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
@@ -4142,44 +4536,44 @@ Octagonal_Shape<T>::refine(const Variable var,
         // Exploit the upper approximation, if possible.
         if (pinf_count <= 1) {
           // Compute quotient (if needed).
-          if (sc_den != 1) {
+          if (sc_denom != 1) {
             // Before computing quotients, the denominator should be
-            // approximated towards zero. Since `sc_den' is known to be
+            // approximated towards zero. Since `sc_denom' is known to be
             // positive, this amounts to rounding downwards, which is
-            // achieved as usual by rounding upwards `minus_sc_den'
+            // achieved as usual by rounding upwards `minus_sc_denom'
             // and negating again the result.
-            PPL_DIRTY_TEMP(N, down_sc_den);
-            assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-            neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-            div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+            PPL_DIRTY_TEMP(N, down_sc_denom);
+            assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+            neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+            div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
           }
           // Add the upper bound constraint, if meaningful.
           if (pinf_count == 0) {
             // Add the constraint `v <= sum'.
             PPL_DIRTY_TEMP(N, double_sum);
             mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-            matrix[n_var+1][n_var] = double_sum;
+            matrix[n_var + 1][n_var] = double_sum;
             // Deduce constraints of the form `v +/- u', where `u != v'.
-            deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
+            deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
           }
           else
             // Here `pinf_count == 1'.
             if (pinf_index != var_id) {
-              const Coefficient& ppi =
-                sc_expr.coefficient(Variable(pinf_index));
-              if (ppi == sc_den)
+              const Coefficient& ppi
+                = sc_expr.coefficient(Variable(pinf_index));
+              if (ppi == sc_denom)
                 // Add the constraint `v - pinf_index <= sum'.
                 if (var_id < pinf_index)
                   matrix[2*pinf_index][n_var] = sum;
                 else
-                  matrix[n_var+1][2*pinf_index+1] = sum;
+                  matrix[n_var + 1][2*pinf_index + 1] = sum;
               else
-                if (ppi == minus_sc_den) {
+                if (ppi == minus_sc_denom) {
                   // Add the constraint `v + pinf_index <= sum'.
                   if (var_id < pinf_index)
-                    matrix[2*pinf_index+1][n_var] = sum;
+                    matrix[2*pinf_index + 1][n_var] = sum;
                   else
-                    matrix[n_var+1][2*pinf_index] = sum;
+                    matrix[n_var + 1][2*pinf_index] = sum;
                 }
             }
         }
@@ -4187,46 +4581,47 @@ Octagonal_Shape<T>::refine(const Variable var,
         // Exploit the lower approximation, if possible.
         if (neg_pinf_count <= 1) {
           // Compute quotient (if needed).
-          if (sc_den != 1) {
+          if (sc_denom != 1) {
             // Before computing quotients, the denominator should be
-            // approximated towards zero. Since `sc_den' is known to be
+            // approximated towards zero. Since `sc_denom' is known to be
             // positive, this amounts to rounding downwards, which is
-            // achieved as usual by rounding upwards `minus_sc_den'
+            // achieved as usual by rounding upwards `minus_sc_denom'
             // and negating again the result.
-            PPL_DIRTY_TEMP(N, down_sc_den);
-            assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-            neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-            div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
+            PPL_DIRTY_TEMP(N, down_sc_denom);
+            assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+            neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+            div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
           }
           // Add the lower bound constraint, if meaningful.
           if (neg_pinf_count == 0) {
             // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
             PPL_DIRTY_TEMP(N, double_neg_sum);
             mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-            matrix[n_var][n_var+1] = double_neg_sum;
+            matrix[n_var][n_var + 1] = double_neg_sum;
             // Deduce constraints of the form `-v +/- u', where `u != v'.
-            deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
+            deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom,
+                                       neg_sum);
           }
           else
             // Here `neg_pinf_count == 1'.
             if (neg_pinf_index != var_id) {
-              const Coefficient& npi =
-                sc_expr.coefficient(Variable(neg_pinf_index));
-              if (npi == sc_den)
+              const Coefficient& npi
+                = sc_expr.coefficient(Variable(neg_pinf_index));
+              if (npi == sc_denom)
                 // Add the constraint `v - neg_pinf_index >= -neg_sum',
                 // i.e., `neg_pinf_index - v <= neg_sum'.
                 if (neg_pinf_index < var_id)
                   matrix[n_var][2*neg_pinf_index] = neg_sum;
                 else
-                  matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
+                  matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
               else
-                if (npi == minus_sc_den) {
+                if (npi == minus_sc_denom) {
                   // Add the constraint `v + neg_pinf_index >= -neg_sum',
                   // i.e., `-neg_pinf_index - v <= neg_sum'.
                   if (neg_pinf_index < var_id)
-                    matrix[n_var][2*neg_pinf_index+1] = neg_sum;
+                    matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
                   else
-                    matrix[2*neg_pinf_index][n_var+1] = neg_sum;
+                    matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
                 }
             }
         }
@@ -4247,8 +4642,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
         // Note: indices above `w_id' can be disregarded, as they all have
         // a zero coefficient in `expr'.
-        for (Row_Iterator m_iter = m_begin, m_end = m_iter + (2*w_id) + 2;
-             m_iter != m_end; ) {
+        for (Row_Iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
+             m_iter != m_iter_end; ) {
           const dimension_type n_i = m_iter.index();
           const dimension_type id = n_i/2;
           Row_Reference m_i = *m_iter;
@@ -4260,7 +4656,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (sign_i == 0)
             continue;
           // Choose carefully: we are approximating `sc_expr'.
-          const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i+1];
+          const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1];
           if (is_plus_infinity(double_approx_i)) {
             if (++pinf_count > 1)
               break;
@@ -4277,24 +4673,24 @@ Octagonal_Shape<T>::refine(const Variable var,
           add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
         }
         // Divide by the (sign corrected) denominator (if needed).
-        if (sc_den != 1) {
+        if (sc_denom != 1) {
           // Before computing the quotient, the denominator should be
-          // approximated towards zero. Since `sc_den' is known to be
+          // approximated towards zero. Since `sc_denom' is known to be
           // positive, this amounts to rounding downwards, which is achieved
-          // by rounding upwards `minus_sc-den' and negating again the result.
-          PPL_DIRTY_TEMP(N, down_sc_den);
-          assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-          neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+          // by rounding upwards `minus_sc-denom' and negating again the result.
+          PPL_DIRTY_TEMP(N, down_sc_denom);
+          assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+          neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
         }
 
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
           PPL_DIRTY_TEMP(N, double_sum);
           mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-          add_octagonal_constraint(n_var+1, n_var, double_sum);
+          add_octagonal_constraint(n_var + 1, n_var, double_sum);
           // Deduce constraints of the form `v +/- u', where `u != v'.
-          deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
+          deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
         }
         else if (pinf_count == 1) {
           dimension_type pinf_ind = 2*pinf_index;
@@ -4303,15 +4699,15 @@ Octagonal_Shape<T>::refine(const Variable var,
             if (var_id < pinf_index)
               add_octagonal_constraint(pinf_ind, n_var, sum);
             else
-              add_octagonal_constraint(n_var+1, pinf_ind+1, sum);
+              add_octagonal_constraint(n_var + 1, pinf_ind + 1, sum);
           }
           else {
-            if (expr.coefficient(Variable(pinf_index)) == minus_den) {
+            if (expr.coefficient(Variable(pinf_index)) == minus_denom) {
               // Add the constraint `v + pinf_index <= sum'.
               if (var_id < pinf_index)
-                add_octagonal_constraint(pinf_ind+1, n_var, sum);
+                add_octagonal_constraint(pinf_ind + 1, n_var, sum);
               else
-                add_octagonal_constraint(n_var+1, pinf_ind, sum);
+                add_octagonal_constraint(n_var + 1, pinf_ind, sum);
             }
           }
         }
@@ -4331,8 +4727,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         PPL_DIRTY_TEMP(N, coeff_i);
         PPL_DIRTY_TEMP(N, approx_i);
         PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-        for (Row_Iterator m_iter = m_begin, m_end = m_iter + (2*w_id) + 2;
-             m_iter != m_end; ) {
+        for (Row_Iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
+             m_iter != m_iter_end; ) {
           const dimension_type n_i = m_iter.index();
           const dimension_type id = n_i/2;
           Row_Reference m_i = *m_iter;
@@ -4344,7 +4741,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           if (sign_i == 0)
             continue;
           // Choose carefully: we are approximating `-sc_expr'.
-          const N& double_approx_i = (sign_i > 0) ? m_i[n_i+1] : m_ci[n_i];
+          const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i];
           if (is_plus_infinity(double_approx_i)) {
             if (++pinf_count > 1)
               break;
@@ -4362,24 +4759,26 @@ Octagonal_Shape<T>::refine(const Variable var,
         }
 
         // Divide by the (sign corrected) denominator (if needed).
-        if (sc_den != 1) {
+        if (sc_denom != 1) {
           // Before computing the quotient, the denominator should be
-          // approximated towards zero. Since `sc_den' is known to be positive,
-          // this amounts to rounding downwards, which is achieved by rounding
-          // upwards `minus_sc_den' and negating again the result.
-          PPL_DIRTY_TEMP(N, down_sc_den);
-          assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-          neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+          // approximated towards zero. Since `sc_denom' is known to be
+          // positive, this amounts to rounding downwards, which is
+          // achieved by rounding upwards `minus_sc_denom' and
+          // negating again the result.
+          PPL_DIRTY_TEMP(N, down_sc_denom);
+          assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+          neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
         }
 
         if (pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
           PPL_DIRTY_TEMP(N, double_sum);
           mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-          add_octagonal_constraint(n_var, n_var+1, double_sum);
+          add_octagonal_constraint(n_var, n_var + 1, double_sum);
           // Deduce constraints of the form `-v +/- u', where `u != v'.
-          deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
+          deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom,
+                                     sum);
         }
         else if (pinf_count == 1) {
           dimension_type pinf_ind = 2*pinf_index;
@@ -4389,16 +4788,16 @@ Octagonal_Shape<T>::refine(const Variable var,
             if (pinf_index < var_id)
               add_octagonal_constraint(n_var, pinf_ind, sum);
             else
-              add_octagonal_constraint(pinf_ind+1, n_var, sum);
+              add_octagonal_constraint(pinf_ind + 1, n_var, sum);
           }
           else {
-            if (expr.coefficient(Variable(pinf_index)) == minus_den) {
+            if (expr.coefficient(Variable(pinf_index)) == minus_denom) {
               // Add the constraint `v + pinf_index >= -sum',
               // i.e., `-pinf_index - v <= sum'.
               if (pinf_index < var_id)
-                add_octagonal_constraint(n_var, pinf_ind+1, sum);
+                add_octagonal_constraint(n_var, pinf_ind + 1, sum);
               else
-                add_octagonal_constraint(pinf_ind, n_var+1, sum);
+                add_octagonal_constraint(pinf_ind, n_var + 1, sum);
             }
           }
         }
@@ -4407,7 +4806,8 @@ Octagonal_Shape<T>::refine(const Variable var,
 
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
 }
@@ -4420,7 +4820,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
                                  denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -4443,27 +4843,25 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  dimension_type w_id = expr.last_nonzero();
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
   typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
   typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  using std::swap;
 
   const dimension_type n_var = 2*var_id;
   const Coefficient& b = expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
   // Now we know the form of `expr':
@@ -4481,8 +4879,8 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     // Add the constraint `var == b/denominator'.
-    add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-    add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
+    add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+    add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
     PPL_ASSERT(OK());
     return;
   }
@@ -4490,7 +4888,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   if (t == 1) {
     // The one and only non-zero homogeneous coefficient in `expr'.
     const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
+    if (w_coeff == denominator || w_coeff == minus_denom) {
       // Case 2: expr = w_coeff*w + b, with w_coeff = +/- denominator.
       if (w_id == var_id) {
         // Here `expr' is of the form: +/- denominator * v + b.
@@ -4503,9 +4901,9 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         PPL_DIRTY_TEMP(N, d);
         div_round_up(d, b, denominator);
         PPL_DIRTY_TEMP(N, minus_d);
-        div_round_up(minus_d, b, minus_den);
+        div_round_up(minus_d, b, minus_denom);
         if (sign_symmetry)
-          std::swap(d, minus_d);
+          swap(d, minus_d);
         const Row_Iterator m_begin = matrix.row_begin();
         const Row_Iterator m_end = matrix.row_end();
         Row_Iterator m_iter = m_begin + n_var;
@@ -4520,26 +4918,26 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           N& m_cv_j = m_cv[j];
           add_assign_r(m_cv_j, m_cv_j, d, ROUND_UP);
           if (sign_symmetry)
-            std::swap(m_v_j, m_cv_j);
+            swap(m_v_j, m_cv_j);
         }
         for ( ; m_iter != m_end; ++m_iter) {
           Row_Reference m_i = *m_iter;
           N& m_i_v = m_i[n_var];
           add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
-          N& m_i_cv = m_i[n_var+1];
+          N& m_i_cv = m_i[n_var + 1];
           add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
           if (sign_symmetry)
-            std::swap(m_i_v, m_i_cv);
+            swap(m_i_v, m_i_cv);
         }
         // Now update unary constraints on var.
         mul_2exp_assign_r(d, d, 1, ROUND_UP);
         N& m_cv_v = m_cv[n_var];
         add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
         mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
-        N& m_v_cv = m_v[n_var+1];
+        N& m_v_cv = m_v[n_var + 1];
         add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
         if (sign_symmetry)
-          std::swap(m_cv_v, m_v_cv);
+          swap(m_cv_v, m_v_cv);
         // Note: strong closure is preserved.
       }
       else {
@@ -4552,22 +4950,22 @@ Octagonal_Shape<T>::affine_image(const Variable var,
         if (w_coeff == denominator) {
           if (var_id < w_id) {
             add_octagonal_constraint(n_w, n_var, b, denominator);
-            add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
+            add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
           }
           else {
-            add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
-            add_octagonal_constraint(n_var, n_w, b, minus_den);
+            add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
+            add_octagonal_constraint(n_var, n_w, b, minus_denom);
           }
         }
         else {
           // Add the new constraint `var + w = b/denominator'.
           if (var_id < w_id) {
-            add_octagonal_constraint(n_w+1, n_var, b, denominator);
-            add_octagonal_constraint(n_w, n_var+1, b, minus_den);
+            add_octagonal_constraint(n_w + 1, n_var, b, denominator);
+            add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
           }
           else {
-            add_octagonal_constraint(n_var+1, n_w, b, denominator);
-            add_octagonal_constraint(n_var, n_w+1, b, minus_den);
+            add_octagonal_constraint(n_var + 1, n_w, b, denominator);
+            add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
           }
         }
         incremental_strong_closure_assign(var);
@@ -4595,8 +4993,8 @@ Octagonal_Shape<T>::affine_image(const Variable var,
 
   const Coefficient& sc_b = is_sc ? b : minus_b;
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -4626,8 +5024,8 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // Note: indices above `w' can be disregarded, as they all have
   // a zero coefficient in `sc_expr'.
   const Row_Iterator m_begin = matrix.row_begin();
-  for (Row_iterator m_iter = m_begin,
-         m_iter_end = m_iter + (2*w_id) + 2; m_iter != m_iter_end; ) {
+  for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
+       m_iter != m_iter_end; ) {
     const dimension_type n_i = m_iter.index();
     const dimension_type id = n_i/2;
     Row_reference m_i = *m_iter;
@@ -4653,7 +5051,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       }
       // Approximating `-sc_expr'.
       if (neg_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
           div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
@@ -4670,7 +5068,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
       // Approximating `sc_expr'.
       if (pos_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
           div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
@@ -4711,42 +5109,42 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // Exploit the upper approximation, if possible.
   if (pos_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
     }
     // Add the upper bound constraint, if meaningful.
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
       PPL_DIRTY_TEMP(N, double_pos_sum);
       mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP);
-      matrix[n_var+1][n_var] = double_pos_sum;
+      matrix[n_var + 1][n_var] = double_pos_sum;
       // Deduce constraints of the form `v +/- u', where `u != v'.
-      deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, pos_sum);
+      deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, pos_sum);
     }
     else
       // Here `pos_pinf_count == 1'.
       if (pos_pinf_index != var_id) {
         const Coefficient& ppi = sc_expr.coefficient(Variable(pos_pinf_index));
-        if (ppi == sc_den)
+        if (ppi == sc_denom)
           // Add the constraint `v - pos_pinf_index <= pos_sum'.
           if (var_id < pos_pinf_index)
             matrix[2*pos_pinf_index][n_var] = pos_sum;
           else
-            matrix[n_var+1][2*pos_pinf_index+1] = pos_sum;
+            matrix[n_var + 1][2*pos_pinf_index + 1] = pos_sum;
         else
-          if (ppi == minus_sc_den) {
+          if (ppi == minus_sc_denom) {
             // Add the constraint `v + pos_pinf_index <= pos_sum'.
             if (var_id < pos_pinf_index)
-              matrix[2*pos_pinf_index+1][n_var] = pos_sum;
+              matrix[2*pos_pinf_index + 1][n_var] = pos_sum;
             else
-              matrix[n_var+1][2*pos_pinf_index] = pos_sum;
+              matrix[n_var + 1][2*pos_pinf_index] = pos_sum;
           }
       }
   }
@@ -4754,44 +5152,44 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // Exploit the lower approximation, if possible.
   if (neg_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
     }
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
       mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-      matrix[n_var][n_var+1] = double_neg_sum;
+      matrix[n_var][n_var + 1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
-      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
+      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum);
     }
     else
       // Here `neg_pinf_count == 1'.
       if (neg_pinf_index != var_id) {
         const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
-        if (npi == sc_den)
+        if (npi == sc_denom)
           // Add the constraint `v - neg_pinf_index >= -neg_sum',
           // i.e., `neg_pinf_index - v <= neg_sum'.
           if (neg_pinf_index < var_id)
             matrix[n_var][2*neg_pinf_index] = neg_sum;
           else
-            matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
+            matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
         else
-          if (npi == minus_sc_den) {
+          if (npi == minus_sc_denom) {
             // Add the constraint `v + neg_pinf_index >= -neg_sum',
             // i.e., `-neg_pinf_index - v <= neg_sum'.
             if (neg_pinf_index < var_id)
-              matrix[n_var][2*neg_pinf_index+1] = neg_sum;
+              matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
             else
-              matrix[2*neg_pinf_index][n_var+1] = neg_sum;
+              matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
           }
       }
   }
@@ -4801,6 +5199,354 @@ Octagonal_Shape<T>::affine_image(const Variable var,
 }
 
 template <typename T>
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::affine_form_image(const Variable var,
+                    const Linear_Form< Interval<T, Interval_Info> >& lf) {
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+    "Octagonal_Shape<T>::affine_form_image(Variable, Linear_Form):"
+    " T is not a floating point type.");
+
+  // Dimension-compatibility checks.
+  // The dimension of `lf' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(v, l)", "l", lf);
+
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_form_image(v, l)", var.id() + 1);
+
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
+
+  // Number of non-zero coefficients in `lf': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Variable-index of the last non-zero coefficient in `lf', if any.
+  dimension_type w_id = 0;
+
+  // Get information about the number of non-zero coefficients in `lf'.
+  for (dimension_type i = lf_space_dim; i-- > 0; )
+    if (lf.coefficient(Variable(i)) != 0) {
+      if (t++ == 1)
+        break;
+      else
+        w_id = i;
+    }
+
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  using std::swap;
+
+  const dimension_type n_var = 2*var_id;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `lf':
+  // - If t == 0, then lf == [lb, ub];
+  // - If t == 1, then lf == a*w + [lb, ub], where `w' can be `v' or another
+  //   variable;
+  // - If t == 2, the `lf' is of the general form.
+
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
+
+  if (t == 0) {
+    // Case 1: lf = [lb, ub].
+    forget_all_octagonal_constraints(var_id);
+    mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP);
+    mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP);
+    // Add the constraint `var >= lb && var <= ub'.
+    add_octagonal_constraint(n_var + 1, n_var, b_ub);
+    add_octagonal_constraint(n_var, n_var + 1, b_mlb);
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  // True if `b' is in [0, 0].
+  bool is_b_zero = (b_mlb == 0 && b_ub == 0);
+
+  if (t == 1) {
+    // The one and only non-zero homogeneous coefficient in `lf'.
+    const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id));
+    // True if `w_coeff' is in [1, 1].
+    bool is_w_coeff_one = (w_coeff == 1);
+    // True if `w_coeff' is in [-1, -1].
+    bool is_w_coeff_minus_one = (w_coeff == -1);
+    if (is_w_coeff_one || is_w_coeff_minus_one) {
+      // Case 2: lf = w_coeff*w + b, with w_coeff = [+/-1, +/-1].
+      if (w_id == var_id) {
+        // Here lf = w_coeff*v + b, with w_coeff = [+/-1, +/-1].
+        if (is_w_coeff_one && is_b_zero)
+          // The transformation is the identity function.
+          return;
+        // Translate all the constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_lb'.
+        if (is_w_coeff_minus_one)
+          swap(b_ub, b_mlb);
+        const Row_Iterator m_begin = matrix.row_begin();
+        const Row_Iterator m_end = matrix.row_end();
+        Row_Iterator m_iter = m_begin + n_var;
+        Row_Reference m_v = *m_iter;
+        ++m_iter;
+        Row_Reference m_cv = *m_iter;
+        ++m_iter;
+        // NOTE: delay update of unary constraints on `var'.
+        for (dimension_type j = n_var; j-- > 0; ) {
+          N& m_v_j = m_v[j];
+          add_assign_r(m_v_j, m_v_j, b_mlb, ROUND_UP);
+          N& m_cv_j = m_cv[j];
+          add_assign_r(m_cv_j, m_cv_j, b_ub, ROUND_UP);
+          if (is_w_coeff_minus_one)
+            swap(m_v_j, m_cv_j);
+        }
+        for ( ; m_iter != m_end; ++m_iter) {
+          Row_Reference m_i = *m_iter;
+          N& m_i_v = m_i[n_var];
+          add_assign_r(m_i_v, m_i_v, b_ub, ROUND_UP);
+          N& m_i_cv = m_i[n_var + 1];
+          add_assign_r(m_i_cv, m_i_cv, b_mlb, ROUND_UP);
+          if (is_w_coeff_minus_one)
+            swap(m_i_v, m_i_cv);
+        }
+        // Now update unary constraints on var.
+        mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP);
+        N& m_cv_v = m_cv[n_var];
+        add_assign_r(m_cv_v, m_cv_v, b_ub, ROUND_UP);
+        mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP);
+        N& m_v_cv = m_v[n_var + 1];
+        add_assign_r(m_v_cv, m_v_cv, b_mlb, ROUND_UP);
+        if (is_w_coeff_minus_one)
+          swap(m_cv_v, m_v_cv);
+        // Note: strong closure is preserved.
+      }
+      else {
+        // Here `w != var', so that `lf' is of the form
+        // [+/-1, +/-1] * w + b.
+        // Remove all constraints on `var'.
+        forget_all_octagonal_constraints(var_id);
+        const dimension_type n_w = 2*w_id;
+        if (is_w_coeff_one)
+          // Add the new constraints `var - w >= b_lb'
+          // `and var - w <= b_ub'.
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w, n_var, b_ub);
+            add_octagonal_constraint(n_w + 1, n_var + 1, b_mlb);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w + 1, b_ub);
+            add_octagonal_constraint(n_var, n_w, b_mlb);
+          }
+        else
+          // Add the new constraints `var + w >= b_lb'
+          // `and var + w <= b_ub'.
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w + 1, n_var, b_ub);
+            add_octagonal_constraint(n_w, n_var + 1, b_mlb);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w, b_ub);
+            add_octagonal_constraint(n_var, n_w + 1, b_mlb);
+          }
+        incremental_strong_closure_assign(var);
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
+
+  // General case.
+  // Either t == 2, so that
+  // expr == i_1*x_1 + i_2*x_2 + ... + i_n*x_n + b, where n >= 2,
+  // or t == 1, expr == i*w + b, but i <> [+/-1, +/-1].
+
+  // In the following, strong closure will be definitely lost.
+  reset_strongly_closed();
+
+  Linear_Form<FP_Interval_Type> minus_lf(lf);
+  minus_lf.negate();
+
+  // Declare temporaries outside the loop.
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  Row_Iterator m_iter = matrix.row_begin();
+  m_iter += n_var;
+  Row_Reference var_ite = *m_iter;
+  ++m_iter;
+  Row_Reference var_cv_ite = *m_iter;
+  ++m_iter;
+  Row_Iterator m_end = matrix.row_end();
+
+  // Update binary constraints on var FIRST.
+  for (dimension_type curr_var = var_id,
+         n_curr_var = n_var - 2; curr_var-- > 0; ) {
+    Variable current(curr_var);
+    linear_form_upper_bound(lf + current, upper_bound);
+    assign_r(var_cv_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(var_cv_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(var_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf - current, upper_bound);
+    assign_r(var_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    n_curr_var -= 2;
+  }
+  for (dimension_type curr_var = var_id + 1; m_iter != m_end; ++m_iter) {
+    Row_Reference m_v_ite = *m_iter;
+    ++m_iter;
+    Row_Reference m_cv_ite = *m_iter;
+    Variable current(curr_var);
+    linear_form_upper_bound(lf + current, upper_bound);
+    assign_r(m_cv_ite[n_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(m_v_ite[n_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(m_cv_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf - current, upper_bound);
+    assign_r(m_v_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    ++curr_var;
+  }
+
+  // Finally, update unary constraints on var.
+  PPL_DIRTY_TEMP(N, lf_ub);
+  linear_form_upper_bound(lf, lf_ub);
+  PPL_DIRTY_TEMP(N, minus_lf_ub);
+  linear_form_upper_bound(minus_lf, minus_lf_ub);
+  mul_2exp_assign_r(lf_ub, lf_ub, 1, ROUND_UP);
+  assign_r(matrix[n_var + 1][n_var], lf_ub, ROUND_NOT_NEEDED);
+  mul_2exp_assign_r(minus_lf_ub, minus_lf_ub, 1, ROUND_UP);
+  assign_r(matrix[n_var][n_var + 1], minus_lf_ub, ROUND_NOT_NEEDED);
+
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::
+linear_form_upper_bound(const Linear_Form< Interval<T, Interval_Info> >& lf,
+                        N& result) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::linear_form_upper_bound:"
+                     " T not a floating point type.");
+
+  const dimension_type lf_space_dimension = lf.space_dimension();
+  PPL_ASSERT(lf_space_dimension <= space_dim);
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  PPL_DIRTY_TEMP(N, curr_lb);
+  PPL_DIRTY_TEMP(N, curr_ub);
+  PPL_DIRTY_TEMP(N, curr_var_ub);
+  PPL_DIRTY_TEMP(N, curr_minus_var_ub);
+
+  PPL_DIRTY_TEMP(N, first_comparison_term);
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+
+  PPL_DIRTY_TEMP(N, negator);
+
+  assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED);
+
+  for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension;
+       ++curr_var) {
+    const FP_Interval_Type& curr_coefficient =
+                            lf.coefficient(Variable(curr_var));
+    assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (curr_lb != 0 || curr_ub != 0) {
+      assign_r(curr_var_ub, matrix[n_var + 1][n_var], ROUND_NOT_NEEDED);
+      div_2exp_assign_r(curr_var_ub, curr_var_ub, 1, ROUND_UP);
+      neg_assign_r(curr_minus_var_ub, matrix[n_var][n_var + 1],
+                   ROUND_NOT_NEEDED);
+      div_2exp_assign_r(curr_minus_var_ub, curr_minus_var_ub, 1, ROUND_DOWN);
+      // Optimize the most common case: curr = +/-[1, 1].
+      if (curr_lb == 1 && curr_ub == 1) {
+        add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub),
+                     ROUND_UP);
+      }
+      else if (curr_lb == -1 && curr_ub == -1) {
+        neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub),
+                     ROUND_NOT_NEEDED);
+        add_assign_r(result, result, negator, ROUND_UP);
+      }
+      else {
+        // Next addend will be the maximum of four quantities.
+        assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub,
+                         ROUND_UP);
+        add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+
+        add_assign_r(result, result, first_comparison_term, ROUND_UP);
+      }
+    }
+
+    n_var += 2;
+  }
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>::
+interval_coefficient_upper_bound(const N& var_ub, const N& minus_var_ub,
+                                 const N& int_ub, const N& int_lb,
+                                 N& result) {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::interval_coefficient_upper_bound:"
+                     " T not a floating point type.");
+
+  // NOTE: we store the first comparison term directly into result.
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+  PPL_DIRTY_TEMP(N, third_comparison_term);
+  PPL_DIRTY_TEMP(N, fourth_comparison_term);
+
+  assign_r(result, 0, ROUND_NOT_NEEDED);
+  assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+  assign_r(third_comparison_term, 0, ROUND_NOT_NEEDED);
+  assign_r(fourth_comparison_term, 0, ROUND_NOT_NEEDED);
+
+  add_mul_assign_r(result, var_ub, int_ub, ROUND_UP);
+  add_mul_assign_r(second_comparison_term, minus_var_ub, int_ub, ROUND_UP);
+  add_mul_assign_r(third_comparison_term, var_ub, int_lb, ROUND_UP);
+  add_mul_assign_r(fourth_comparison_term, minus_var_ub, int_lb, ROUND_UP);
+
+  assign_r(result, std::max(result, second_comparison_term), ROUND_NOT_NEEDED);
+  assign_r(result, std::max(result, third_comparison_term), ROUND_NOT_NEEDED);
+  assign_r(result, std::max(result, fourth_comparison_term), ROUND_NOT_NEEDED);
+}
+
+template <typename T>
 void
 Octagonal_Shape<T>::affine_preimage(const Variable var,
                                     const Linear_Expression& expr,
@@ -4809,7 +5555,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
 
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -4835,16 +5581,14 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
   dimension_type t = 0;
 
   // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  dimension_type w_id = expr.last_nonzero();
 
-  // Get information about the number of the non-zero coefficients of `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
   // `w' is the variable with index `w_id'.
   // Now we know the form of `expr':
@@ -4917,7 +5661,7 @@ Octagonal_Shape<T>
                            Coefficient_traits::const_reference denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -4935,9 +5679,12 @@ Octagonal_Shape<T>
 
   // The relation symbol cannot be a strict relation symbol.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   if (relsym == EQUAL) {
     // The relation symbol is "=":
@@ -4955,17 +5702,14 @@ Octagonal_Shape<T>
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  dimension_type w_id = expr.last_nonzero();
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
@@ -4976,8 +5720,8 @@ Octagonal_Shape<T>
   const Row_Iterator m_end = matrix.row_end();
   const dimension_type n_var = 2*var_id;
   const Coefficient& b = expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
   // Now we know the form of `expr':
@@ -4999,16 +5743,17 @@ Octagonal_Shape<T>
     switch (relsym) {
     case LESS_OR_EQUAL:
       // Add the constraint `var <= b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
       break;
     case GREATER_OR_EQUAL:
       // Add the constraint `var >= n/denominator',
       // i.e., `-var <= -b/denominator'.
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     PPL_ASSERT(OK());
     return;
@@ -5017,7 +5762,7 @@ Octagonal_Shape<T>
   if (t == 1) {
     // The one and only non-zero homogeneous coefficient in `expr'.
     const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
+    if (w_coeff == denominator || w_coeff == minus_denom) {
       // Case 2: expr == w_coeff*w + b, with w_coeff == +/- denominator.
       switch (relsym) {
       case LESS_OR_EQUAL:
@@ -5034,7 +5779,7 @@ Octagonal_Shape<T>
               // forget each constraint `w - v <= cost1'.
               Row_Iterator m_iter = m_begin + n_var;
               Row_Reference m_v = *m_iter;
-              N& m_v_cv = m_v[n_var+1];
+              N& m_v_cv = m_v[n_var + 1];
               ++m_iter;
               Row_Reference m_cv = *m_iter;
               N& m_cv_v = m_cv[n_var];
@@ -5044,7 +5789,7 @@ Octagonal_Shape<T>
                 Row_Reference m_i = *m_iter;
                 N& m_i_v = m_i[n_var];
                 add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
-                assign_r(m_i[n_var+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+                assign_r(m_i[n_var + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
               }
               for (dimension_type k = n_var; k-- > 0; ) {
                 assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
@@ -5057,9 +5802,9 @@ Octagonal_Shape<T>
             else {
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
-              N& m_v_cv = matrix[n_var][n_var+1];
+              N& m_v_cv = matrix[n_var][n_var + 1];
               mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(matrix[n_var+1][n_var], m_v_cv, d, ROUND_UP);
+              add_assign_r(matrix[n_var + 1][n_var], m_v_cv, d, ROUND_UP);
               assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
             }
@@ -5075,14 +5820,14 @@ Octagonal_Shape<T>
               if (var_id < w_id)
                 add_octagonal_constraint(n_w, n_var, b, denominator);
               else
-                add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
+                add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
             }
             else {
               // Add the new constraint `v + w <= b/denominator'.
               if (var_id < w_id)
-                add_octagonal_constraint(n_w+1, n_var, b, denominator);
+                add_octagonal_constraint(n_w + 1, n_var, b, denominator);
               else
-                add_octagonal_constraint(n_var+1, n_w, b, denominator);
+                add_octagonal_constraint(n_var + 1, n_w, b, denominator);
             }
           }
           break;
@@ -5091,7 +5836,7 @@ Octagonal_Shape<T>
       case GREATER_OR_EQUAL:
         {
           PPL_DIRTY_TEMP(N, d);
-          div_round_up(d, b, minus_den);
+          div_round_up(d, b, minus_denom);
           if (w_id == var_id) {
             // Here `expr' is of the form: +/- denominator * v + b.
             // Strong closure is not preserved.
@@ -5102,7 +5847,7 @@ Octagonal_Shape<T>
               // forget each constraint `v - w <= cost1'.
               Row_Iterator m_iter = m_begin + n_var;
               Row_Reference m_v = *m_iter;
-              N& m_v_cv = m_v[n_var+1];
+              N& m_v_cv = m_v[n_var + 1];
               ++m_iter;
               Row_Reference m_cv = *m_iter;
               N& m_cv_v = m_cv[n_var];
@@ -5111,7 +5856,7 @@ Octagonal_Shape<T>
               for ( ; m_iter != m_end; ++m_iter) {
                 Row_Reference m_i = *m_iter;
                 assign_r(m_i[n_var], PLUS_INFINITY, ROUND_NOT_NEEDED);
-                add_assign_r(m_i[n_var+1], m_i[n_var+1], d, ROUND_UP);
+                add_assign_r(m_i[n_var + 1], m_i[n_var + 1], d, ROUND_UP);
               }
               for (dimension_type k = n_var; k-- > 0; ) {
                 add_assign_r(m_v[k], m_v[k], d, ROUND_UP);
@@ -5124,9 +5869,9 @@ Octagonal_Shape<T>
             else {
               // Here `w_coeff == -denominator'.
               // `expr' is of the form: -a*var + b.
-              N& m_cv_v = matrix[n_var+1][n_var];
+              N& m_cv_v = matrix[n_var + 1][n_var];
               mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(matrix[n_var][n_var+1], m_cv_v, d, ROUND_UP);
+              add_assign_r(matrix[n_var][n_var + 1], m_cv_v, d, ROUND_UP);
               assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
               forget_binary_octagonal_constraints(var_id);
             }
@@ -5145,17 +5890,17 @@ Octagonal_Shape<T>
               // Add the new constraint `var - w >= b/denominator',
               // i.e., `w - var <= -b/denominator'.
               if (var_id < w_id)
-                add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
+                add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
               else
-                add_octagonal_constraint(n_var, n_w, b, minus_den);
+                add_octagonal_constraint(n_var, n_w, b, minus_denom);
             }
             else {
               // Add the new constraint `var + w >= b/denominator',
               // i.e., `-w - var <= -b/denominator'.
               if (var_id < w_id)
-                add_octagonal_constraint(n_w, n_var+1, b, minus_den);
+                add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
               else
-                add_octagonal_constraint(n_var, n_w+1, b, minus_den);
+                add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
             }
           }
           break;
@@ -5163,7 +5908,8 @@ Octagonal_Shape<T>
 
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       PPL_ASSERT(OK());
       return;
@@ -5182,8 +5928,8 @@ Octagonal_Shape<T>
   neg_assign(minus_b, b);
   const Coefficient& sc_b = is_sc ? b : minus_b;
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -5211,7 +5957,7 @@ Octagonal_Shape<T>
       PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
       // Note: indices above `w' can be disregarded, as they all have
       // a zero coefficient in `sc_expr'.
-      for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
+      for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
            m_iter != m_iter_end; ) {
         const dimension_type n_i = m_iter.index();
         const dimension_type id = n_i/2;
@@ -5224,7 +5970,7 @@ Octagonal_Shape<T>
         if (sign_i == 0)
           continue;
         // Choose carefully: we are approximating `sc_expr'.
-        const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i+1];
+        const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1];
         if (is_plus_infinity(double_approx_i)) {
           if (++pinf_count > 1)
             break;
@@ -5250,25 +5996,25 @@ Octagonal_Shape<T>
       }
 
       // Divide by the (sign corrected) denominator (if needed).
-      if (sc_den != 1) {
+      if (sc_denom != 1) {
         // Before computing the quotient, the denominator should be
-        // approximated towards zero. Since `sc_den' is known to be
+        // approximated towards zero. Since `sc_denom' is known to be
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
-        // `minus_sc_den' and negating again the result.
-        PPL_DIRTY_TEMP(N, down_sc_den);
-        assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-        neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-        div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+        // `minus_sc_denom' and negating again the result.
+        PPL_DIRTY_TEMP(N, down_sc_denom);
+        assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+        neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+        div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
       }
 
       if (pinf_count == 0) {
         // Add the constraint `v <= pos_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
         mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-        matrix[n_var+1][n_var] = double_sum;
+        matrix[n_var + 1][n_var] = double_sum;
         // Deduce constraints of the form `v +/- u', where `u != v'.
-        deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
+        deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
       }
       else if (pinf_count == 1)
         if (pinf_index != var_id) {
@@ -5278,15 +6024,15 @@ Octagonal_Shape<T>
             if (var_id < pinf_index)
               matrix[2*pinf_index][n_var] = sum;
             else
-              matrix[n_var+1][2*pinf_index+1] = sum;
+              matrix[n_var + 1][2*pinf_index + 1] = sum;
           }
           else {
-            if (pi == minus_den) {
+            if (pi == minus_denom) {
               // Add the constraint `v + pinf_index <= sum'.
               if (var_id < pinf_index)
-                matrix[2*pinf_index+1][n_var] = sum;
+                matrix[2*pinf_index + 1][n_var] = sum;
               else
-                matrix[n_var+1][2*pinf_index] = sum;
+                matrix[n_var + 1][2*pinf_index] = sum;
             }
           }
         }
@@ -5305,7 +6051,7 @@ Octagonal_Shape<T>
       PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
       PPL_DIRTY_TEMP(N, approx_i);
       // Approximate the homogeneous part of `-sc_expr'.
-      for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
+      for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
            m_iter != m_iter_end; ) {
         const dimension_type n_i = m_iter.index();
         const dimension_type id = n_i/2;
@@ -5318,7 +6064,7 @@ Octagonal_Shape<T>
         if (sign_i == 0)
           continue;
         // Choose carefully: we are approximating `-sc_expr'.
-        const N& double_approx_i = (sign_i > 0) ? m_i[n_i+1] : m_ci[n_i];
+        const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i];
         if (is_plus_infinity(double_approx_i)) {
           if (++pinf_count > 1)
             break;
@@ -5345,25 +6091,25 @@ Octagonal_Shape<T>
       }
 
       // Divide by the (sign corrected) denominator (if needed).
-      if (sc_den != 1) {
+      if (sc_denom != 1) {
         // Before computing the quotient, the denominator should be
-        // approximated towards zero. Since `sc_den' is known to be
+        // approximated towards zero. Since `sc_denom' is known to be
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
-        // `minus_sc_den' and negating again the result.
-        PPL_DIRTY_TEMP(N, down_sc_den);
-        assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-        neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-        div_assign_r(sum, sum, down_sc_den, ROUND_UP);
+        // `minus_sc_denom' and negating again the result.
+        PPL_DIRTY_TEMP(N, down_sc_denom);
+        assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+        neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+        div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
       }
 
       if (pinf_count == 0) {
         // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
         PPL_DIRTY_TEMP(N, double_sum);
         mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-        matrix[n_var][n_var+1] = double_sum;
+        matrix[n_var][n_var + 1] = double_sum;
         // Deduce constraints of the form `-v +/- u', where `u != v'.
-        deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
+        deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom, sum);
       }
       else if (pinf_count == 1)
         if (pinf_index != var_id) {
@@ -5374,16 +6120,16 @@ Octagonal_Shape<T>
             if (pinf_index < var_id)
               matrix[n_var][2*pinf_index] = sum;
             else
-              matrix[2*pinf_index+1][n_var+1] = sum;
+              matrix[2*pinf_index + 1][n_var + 1] = sum;
           }
           else {
-            if (pi == minus_den) {
+            if (pi == minus_denom) {
               // Add the constraint `v + pinf_index >= -sum',
               // i.e., `-pinf_index - v <= sum'.
               if (pinf_index < var_id)
-                matrix[n_var][2*pinf_index+1] = sum;
+                matrix[n_var][2*pinf_index + 1] = sum;
               else
-                matrix[2*pinf_index][n_var+1] = sum;
+                matrix[2*pinf_index][n_var + 1] = sum;
             }
           }
         }
@@ -5392,7 +6138,8 @@ Octagonal_Shape<T>
 
   default:
     // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   incremental_strong_closure_assign(var);
   PPL_ASSERT(OK());
@@ -5420,9 +6167,12 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
 
   // Strict relation symbols are not admitted for octagons.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   strong_closure_assign();
   // The image of an empty octagon is empty.
@@ -5433,16 +6183,14 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t_lhs = 0;
   // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
+  dimension_type j_lhs = lhs.last_nonzero();
 
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
   const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
@@ -5467,7 +6215,8 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       break;
     default:
       // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
 
@@ -5477,30 +6226,27 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
     // method computing generalized affine images for a single variable.
     Variable v(j_lhs);
     // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
+    const Coefficient& denom = lhs.coefficient(v);
     Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
+    if (denom < 0) {
       if (relsym == LESS_OR_EQUAL)
         new_relsym = GREATER_OR_EQUAL;
       else if (relsym == GREATER_OR_EQUAL)
         new_relsym = LESS_OR_EQUAL;
     }
     Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_image(v, new_relsym, expr, den);
+    generalized_affine_image(v, new_relsym, expr, denom);
   }
   else {
     // Here `lhs' is of the general form, having at least two variables.
     // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
     std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-    if (!lhs_vars_intersects_rhs_vars) {
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
       // `lhs' and `rhs' variables are disjoint.
       // Existentially quantify all variables in the lhs.
       for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
@@ -5523,7 +6269,8 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
     }
     else {
@@ -5542,7 +6289,7 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
       // the following TODO note is accurately dealt with.
 
       // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
+      const Variable new_var(space_dim);
       add_space_dimensions_and_embed(1);
       // Constrain the new dimension to be equal to `rhs'.
       // NOTE: calling affine_image() instead of refine_no_check()
@@ -5575,7 +6322,8 @@ Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       // Remove the temporarily added dimension.
       remove_higher_space_dimensions(space_dim-1);
@@ -5595,7 +6343,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
                                          denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
   // `var' should be one of the dimensions of the octagon.
   const dimension_type var_id = var.id();
@@ -5607,11 +6355,11 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
                                  "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
                                  "ub", ub_expr);
 
   strong_closure_assign();
@@ -5623,17 +6371,14 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t = 0;
   // Variable-index of the last non-zero coefficient in `lb_expr', if any.
-  dimension_type w_id = 0;
+  dimension_type w_id = lb_expr.last_nonzero();
 
-  // Get information about the number of non-zero coefficients in `lb_expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = lb_space_dim; i-- > 0; )
-    if (lb_expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  if (w_id != 0) {
+    ++t;
+    if (!lb_expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
@@ -5643,8 +6388,8 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   const Row_Iterator m_begin = matrix.row_begin();
   const dimension_type n_var = 2*var_id;
   const Coefficient& b = lb_expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
   // Now we know the form of `lb_expr':
@@ -5664,7 +6409,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     // Add the constraint `var >= b/denominator'.
-    add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
+    add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
     PPL_ASSERT(OK());
     return;
   }
@@ -5672,12 +6417,12 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   if (t == 1) {
     // The one and only non-zero homogeneous coefficient in `lb_expr'.
     const Coefficient& w_coeff = lb_expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
+    if (w_coeff == denominator || w_coeff == minus_denom) {
       // Case 2: lb_expr = w_coeff*w + b, with w_coeff = +/- denominator.
-     if (w_id == var_id) {
+      if (w_id == var_id) {
         // Here `var' occurs in `lb_expr'.
         // To ease the computation, we add an additional dimension.
-        const Variable new_var = Variable(space_dim);
+        const Variable new_var(space_dim);
         add_space_dimensions_and_embed(1);
         // Constrain the new dimension to be equal to `lb_expr'.
         // Here `lb_expr' is of the form: +/- denominator * v + b.
@@ -5708,15 +6453,15 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
         // Add the new constraint `var - w >= b/denominator'.
         if (w_coeff == denominator)
           if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
+            add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
           else
-            add_octagonal_constraint(n_var, n_w, b, minus_den);
+            add_octagonal_constraint(n_var, n_w, b, minus_denom);
         else {
           // Add the new constraint `var + w >= b/denominator'.
           if (var_id < w_id)
-            add_octagonal_constraint(n_w, n_var+1, b, minus_den);
+            add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
           else
-            add_octagonal_constraint(n_var, n_w+1, b, minus_den);
+            add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
         }
         PPL_ASSERT(OK());
         return;
@@ -5741,8 +6486,8 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
   // NOTE: here, for optimization purposes, `minus_expr' is only assigned
   // when `denominator' is negative. Do not use it unless you are sure
   // it has been correctly assigned.
@@ -5767,7 +6512,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
   // Note: indices above `w' can be disregarded, as they all have
   // a zero coefficient in `sc_expr'.
-  for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
+  for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
        m_iter != m_iter_end; ) {
     const dimension_type n_i = m_iter.index();
     const dimension_type id = n_i/2;
@@ -5781,7 +6526,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
       assign_r(coeff_i, sc_i, ROUND_UP);
       // Approximating `-sc_expr'.
       if (neg_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
         if (!is_plus_infinity(double_up_approx_minus_i)) {
           // Let half = double_up_approx_minus_i / 2.
           div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
@@ -5829,44 +6574,44 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   // Exploit the lower approximation, if possible.
   if (neg_pinf_count <= 1) {
     // Compute quotient (if needed).
-    if (sc_den != 1) {
+    if (sc_denom != 1) {
       // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
       // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
     }
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
       PPL_DIRTY_TEMP(N, double_neg_sum);
       mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-      matrix[n_var][n_var+1] = double_neg_sum;
+      matrix[n_var][n_var + 1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
-      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
+      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum);
     }
     else
       // Here `neg_pinf_count == 1'.
       if (neg_pinf_index != var_id) {
         const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
-        if (npi == sc_den)
+        if (npi == sc_denom)
           // Add the constraint `v - neg_pinf_index >= -neg_sum',
           // i.e., `neg_pinf_index - v <= neg_sum'.
           if (neg_pinf_index < var_id)
             matrix[n_var][2*neg_pinf_index] = neg_sum;
           else
-            matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
+            matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
         else
-          if (npi == minus_sc_den) {
+          if (npi == minus_sc_denom) {
             // Add the constraint `v + neg_pinf_index >= -neg_sum',
             // i.e., `-neg_pinf_index - v <= neg_sum'.
             if (neg_pinf_index < var_id)
-              matrix[n_var][2*neg_pinf_index+1] = neg_sum;
+              matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
             else
-              matrix[2*neg_pinf_index][n_var+1] = neg_sum;
+              matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
           }
       }
   }
@@ -5885,7 +6630,7 @@ Octagonal_Shape<T>
                               denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)", "d == 0");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -5903,9 +6648,12 @@ Octagonal_Shape<T>
 
   // The relation symbol cannot be a strict relation symbol.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
   if (relsym == EQUAL) {
     // The relation symbol is "=":
@@ -5927,11 +6675,11 @@ Octagonal_Shape<T>
       ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     const Linear_Expression inverse
       = expr - (expr_v + denominator)*var;
-    PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-    neg_assign(inverse_den, expr_v);
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+    neg_assign(inverse_denom, expr_v);
     const Relation_Symbol inverse_relsym
-      = (sgn(denominator) == sgn(inverse_den)) ? relsym : reversed_relsym;
-    generalized_affine_image(var, inverse_relsym, inverse, inverse_den);
+      = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym;
+    generalized_affine_image(var, inverse_relsym, inverse, inverse_denom);
     return;
   }
 
@@ -5973,9 +6721,12 @@ Octagonal_Shape<T>
 
   // Strict relation symbols are not admitted for octagons.
   if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
   strong_closure_assign();
   // The image of an empty octagon is empty.
@@ -5986,16 +6737,14 @@ Octagonal_Shape<T>
   // 0, 1, or 2, the latter value meaning any value greater than 1.
   dimension_type t_lhs = 0;
   // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
+  dimension_type j_lhs = lhs.last_nonzero();
 
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    j_lhs--;
+  }
 
   const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
@@ -6012,31 +6761,28 @@ Octagonal_Shape<T>
     // method computing generalized affine preimages for a single variable.
     Variable v(j_lhs);
     // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
+    const Coefficient& denom = lhs.coefficient(v);
     Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
+    if (denom < 0) {
       if (relsym == LESS_OR_EQUAL)
         new_relsym = GREATER_OR_EQUAL;
       else if (relsym == GREATER_OR_EQUAL)
         new_relsym = LESS_OR_EQUAL;
     }
     Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_preimage(v, new_relsym, expr, den);
+    generalized_affine_preimage(v, new_relsym, expr, denom);
   }
 
   else {
     // Here `lhs' is of the general form, having at least two variables.
     // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
     std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-    if (!lhs_vars_intersects_rhs_vars) {
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
       // `lhs' and `rhs' variables are disjoint.
       // Constrain the left hand side expression so that it is related to
       // the right hand side expression as dictated by `relsym'.
@@ -6054,7 +6800,8 @@ Octagonal_Shape<T>
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
 
       // Any image of an empty octagon is empty.
@@ -6073,7 +6820,7 @@ Octagonal_Shape<T>
       // the following TODO note is accurately dealt with.
 
       // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
+      const Variable new_var(space_dim);
       add_space_dimensions_and_embed(1);
       // Constrain the new dimension to be equal to `rhs'.
       // NOTE: calling affine_image() instead of refine_no_check()
@@ -6107,7 +6854,8 @@ Octagonal_Shape<T>
         break;
       default:
         // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
       // Remove the temporarily added dimension.
       remove_higher_space_dimensions(space_dim-1);
@@ -6125,7 +6873,7 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
                                             denominator) {
   // The denominator cannot be zero.
   if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
   // `var' should be one of the dimensions of the octagon.
   const dimension_type var_id = var.id();
@@ -6137,11 +6885,11 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
                                  "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
                                  "ub", ub_expr);
 
   strong_closure_assign();
@@ -6165,18 +6913,18 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   const Coefficient& expr_v = lb_expr.coefficient(var);
   // Here `var' occurs in `lb_expr' and `ub_expr'.
   // To ease the computation, we add an additional dimension.
-  const Variable new_var = Variable(space_dim);
+  const Variable new_var(space_dim);
   add_space_dimensions_and_embed(1);
   const Linear_Expression lb_inverse
     = lb_expr - (expr_v + denominator)*var;
-  PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-  neg_assign(inverse_den, expr_v);
-  affine_image(new_var, lb_inverse, inverse_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+  neg_assign(inverse_denom, expr_v);
+  affine_image(new_var, lb_inverse, inverse_denom);
   strong_closure_assign();
   PPL_ASSERT(!marked_empty());
   generalized_affine_preimage(var, LESS_OR_EQUAL,
                               ub_expr, denominator);
-  if (sgn(denominator) == sgn(inverse_den))
+  if (sgn(denominator) == sgn(inverse_denom))
     refine_no_check(var >= new_var) ;
   else
     refine_no_check(var <= new_var);
@@ -6187,102 +6935,104 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
 template <typename T>
 Constraint_System
 Octagonal_Shape<T>::constraints() const {
+  const dimension_type space_dim = space_dimension();
   Constraint_System cs;
+  cs.set_space_dimension(space_dim);
+
   if (space_dim == 0) {
     if (marked_empty())
       cs = Constraint_System::zero_dim_empty();
+    return cs;
   }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
 
-    typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-    typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
 
-    Row_Iterator m_begin = matrix.row_begin();
-    Row_Iterator m_end = matrix.row_end();
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-    PPL_DIRTY_TEMP_COEFFICIENT(a);
-    PPL_DIRTY_TEMP_COEFFICIENT(b);
+  Row_Iterator m_begin = matrix.row_begin();
+  Row_Iterator m_end = matrix.row_end();
 
-    // Go through all the unary constraints in `matrix'.
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-      const dimension_type i = i_iter.index();
-      const Variable x(i/2);
-      const N& c_i_ii = (*i_iter)[i+1];
-      ++i_iter;
-      const N& c_ii_i = (*i_iter)[i];
-      ++i_iter;
-      // Go through unary constraints.
-      if (is_additive_inverse(c_i_ii, c_ii_i)) {
-        // We have a unary equality constraint.
+  PPL_DIRTY_TEMP_COEFFICIENT(a);
+  PPL_DIRTY_TEMP_COEFFICIENT(b);
+
+  // Go through all the unary constraints in `matrix'.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    const Variable x(i/2);
+    const N& c_i_ii = (*i_iter)[i + 1];
+    ++i_iter;
+    const N& c_ii_i = (*i_iter)[i];
+    ++i_iter;
+    // Go through unary constraints.
+    if (is_additive_inverse(c_i_ii, c_ii_i)) {
+      // We have a unary equality constraint.
+      numer_denom(c_ii_i, b, a);
+      a *= 2;
+      cs.insert(a*x == b);
+    }
+    else {
+      // We have 0, 1 or 2 inequality constraints.
+      if (!is_plus_infinity(c_i_ii)) {
+        numer_denom(c_i_ii, b, a);
+        a *= 2;
+        cs.insert(-a*x <= b);
+      }
+      if (!is_plus_infinity(c_ii_i)) {
         numer_denom(c_ii_i, b, a);
         a *= 2;
-        cs.insert(a*x == b);
+        cs.insert(a*x <= b);
+      }
+    }
+  }
+  //  Go through all the binary constraints in `matrix'.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    Row_Reference r_i = *i_iter;
+    ++i_iter;
+    Row_Reference r_ii = *i_iter;
+    ++i_iter;
+    const Variable y(i/2);
+    for (dimension_type j = 0; j < i; j += 2) {
+      const N& c_i_j = r_i[j];
+      const N& c_ii_jj = r_ii[j + 1];
+      const Variable x(j/2);
+      if (is_additive_inverse(c_ii_jj, c_i_j)) {
+        // We have an equality constraint of the form a*x - a*y = b.
+        numer_denom(c_i_j, b, a);
+        cs.insert(a*x - a*y == b);
       }
       else {
         // We have 0, 1 or 2 inequality constraints.
-        if (!is_plus_infinity(c_i_ii)) {
-          numer_denom(c_i_ii, b, a);
-          a *= 2;
-          cs.insert(-a*x <= b);
-        }
-        if (!is_plus_infinity(c_ii_i)) {
-          numer_denom(c_ii_i, b, a);
-          a *= 2;
-          cs.insert(a*x <= b);
-        }
-      }
-    }
-    //  Go through all the binary constraints in `matrix'.
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-      const dimension_type i = i_iter.index();
-      Row_Reference r_i = *i_iter;
-      ++i_iter;
-      Row_Reference r_ii = *i_iter;
-      ++i_iter;
-      const Variable y(i/2);
-      for (dimension_type j = 0; j < i; j += 2) {
-        const N& c_i_j = r_i[j];
-        const N& c_ii_jj = r_ii[j+1];
-        const Variable x(j/2);
-        if (is_additive_inverse(c_ii_jj, c_i_j)) {
-          // We have an equality constraint of the form ax - ay = b.
+        if (!is_plus_infinity(c_i_j)) {
           numer_denom(c_i_j, b, a);
-          cs.insert(a*x - a*y == b);
+          cs.insert(a*x - a*y <= b);
         }
-        else {
-          // We have 0, 1 or 2 inequality constraints.
-          if (!is_plus_infinity(c_i_j)) {
-            numer_denom(c_i_j, b, a);
-            cs.insert(a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(c_ii_jj)) {
-            numer_denom(c_ii_jj, b, a);
-            cs.insert(a*y - a*x <= b);
-          }
+        if (!is_plus_infinity(c_ii_jj)) {
+          numer_denom(c_ii_jj, b, a);
+          cs.insert(a*y - a*x <= b);
         }
+      }
 
-        const N& c_ii_j = r_ii[j];
-        const N& c_i_jj = r_i[j+1];
-        if (is_additive_inverse(c_i_jj, c_ii_j)) {
-          // We have an equality constraint of the form ax + ay = b.
-          numer_denom(c_ii_j, b, a);
-          cs.insert(a*x + a*y == b);
+      const N& c_ii_j = r_ii[j];
+      const N& c_i_jj = r_i[j + 1];
+      if (is_additive_inverse(c_i_jj, c_ii_j)) {
+        // We have an equality constraint of the form a*x + a*y = b.
+        numer_denom(c_ii_j, b, a);
+        cs.insert(a*x + a*y == b);
+      }
+      else {
+        // We have 0, 1 or 2 inequality constraints.
+        if (!is_plus_infinity(c_i_jj)) {
+          numer_denom(c_i_jj, b, a);
+          cs.insert(-a*x - a*y <= b);
         }
-        else {
-          // We have 0, 1 or 2 inequality constraints.
-          if (!is_plus_infinity(c_i_jj)) {
-            numer_denom(c_i_jj, b, a);
-            cs.insert(-a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(c_ii_j)) {
-            numer_denom(c_ii_j, b, a);
-            cs.insert(a*x + a*y <= b);
-          }
+        if (!is_plus_infinity(c_ii_j)) {
+          numer_denom(c_ii_j, b, a);
+          cs.insert(a*x + a*y <= b);
         }
       }
     }
@@ -6295,15 +7045,15 @@ void
 Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   // `var' should be one of the dimensions of the vector space.
   const dimension_type var_id = var.id();
-  if (var_id+1 > space_dim)
-    throw_dimension_incompatible("expand_space_dimension(v, m)", var_id+1);
+  if (var_id + 1 > space_dim)
+    throw_dimension_incompatible("expand_space_dimension(v, m)", var_id + 1);
 
   // The space dimension of the resulting octagon should not
   // overflow the maximum allowed space dimension.
   if (m > max_space_dimension() - space_dim)
-    throw_generic("expand_dimension(v, m)",
-                  "adding m new space dimensions exceeds "
-                  "the maximum allowed space dimension");
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
   // Nothing to do, if no dimensions must be added.
   if (m == 0)
@@ -6328,24 +7078,24 @@ Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
   const dimension_type n_var = 2*var_id;
   Row_iterator v_iter = m_begin + n_var;
   Row_reference m_v = *v_iter;
-  Row_reference m_cv = *(v_iter+1);
+  Row_reference m_cv = *(v_iter + 1);
 
   for (Row_Iterator i_iter = m_begin + old_num_rows; i_iter != m_end;
        i_iter += 2) {
     Row_Reference m_i = *i_iter;
-    Row_Reference m_ci = *(i_iter+1);
+    Row_Reference m_ci = *(i_iter + 1);
     const dimension_type i = i_iter.index();
-    const dimension_type ci = i+1;
-    m_i[ci] = m_v[n_var+1];
+    const dimension_type ci = i + 1;
+    m_i[ci] = m_v[n_var + 1];
     m_ci[i] = m_cv[n_var];
     for (dimension_type j = 0; j < n_var; ++j) {
       m_i[j] = m_v[j];
       m_ci[j] = m_cv[j];
     }
-    for (dimension_type j = n_var+2; j < old_num_rows; ++j) {
+    for (dimension_type j = n_var + 2; j < old_num_rows; ++j) {
       Row_Iterator j_iter = m_begin + j;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      m_i[j] = m_cj[n_var+1];
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
+      m_i[j] = m_cj[n_var + 1];
       m_ci[j] = m_cj[n_var];
     }
   }
@@ -6375,8 +7125,8 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
 
   // Moreover, `dest.id()' should not occur in `vars'.
   if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-                  "v should not occur in vs");
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
 
   // Recompute the elements of the row and the column corresponding
   // to variable `dest' by taking the join of their value with the
@@ -6392,15 +7142,15 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
   const dimension_type n_dest = 2*dest.id();
   Row_Iterator v_iter = m_begin + n_dest;
   Row_Reference m_v = *v_iter;
-  Row_Reference m_cv = *(v_iter+1);
+  Row_Reference m_cv = *(v_iter + 1);
   for (Variables_Set::const_iterator i = vars.begin(),
          vs_end = vars.end(); i != vs_end; ++i) {
     const dimension_type tbf_id = *i;
     const dimension_type tbf_var = 2*tbf_id;
     Row_Iterator tbf_iter = m_begin + tbf_var;
     Row_Reference m_tbf = *tbf_iter;
-    Row_Reference m_ctbf = *(tbf_iter+1);
-    max_assign(m_v[n_dest+1], m_tbf[tbf_var+1]);
+    Row_Reference m_ctbf = *(tbf_iter + 1);
+    max_assign(m_v[n_dest + 1], m_tbf[tbf_var + 1]);
     max_assign(m_cv[n_dest], m_ctbf[tbf_var]);
 
     const dimension_type min_id = std::min(n_dest, tbf_var);
@@ -6414,32 +7164,32 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
       max_assign(m_cv[cj], m_ctbf[cj]);
       max_assign(m_v[cj], m_tbf[cj]);
     }
-    for (dimension_type j = min_id+2; j < max_id; ++j) {
+    for (dimension_type j = min_id + 2; j < max_id; ++j) {
       const dimension_type cj = coherent_index(j);
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
       if (n_dest == min_id) {
-        max_assign(m_cj[n_dest+1], m_tbf[j]);
+        max_assign(m_cj[n_dest + 1], m_tbf[j]);
         max_assign(m_cj[n_dest], m_ctbf[j]);
         max_assign(m_j[n_dest], m_ctbf[cj]);
-        max_assign(m_j[n_dest+1], m_tbf[cj]);
+        max_assign(m_j[n_dest + 1], m_tbf[cj]);
       }
       else {
-        max_assign(m_v[j], m_cj[tbf_var+1]);
+        max_assign(m_v[j], m_cj[tbf_var + 1]);
         max_assign(m_cv[j], m_cj[tbf_var]);
         max_assign(m_cv[cj], m_j[tbf_var]);
-        max_assign(m_v[cj], m_j[tbf_var+1]);
+        max_assign(m_v[cj], m_j[tbf_var + 1]);
       }
     }
-    for (dimension_type j = max_id+2; j < n_rows; ++j) {
+    for (dimension_type j = max_id + 2; j < n_rows; ++j) {
       Row_Iterator j_iter = m_begin + j;
       Row_Reference m_j = *j_iter;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      max_assign(m_cj[n_dest+1], m_cj[tbf_var+1]);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
+      max_assign(m_cj[n_dest + 1], m_cj[tbf_var + 1]);
       max_assign(m_cj[n_dest], m_cj[tbf_var]);
       max_assign(m_j[n_dest], m_j[tbf_var]);
-      max_assign(m_j[n_dest+1], m_j[tbf_var+1]);
+      max_assign(m_j[n_dest + 1], m_j[tbf_var + 1]);
     }
   }
   remove_space_dimensions(vars);
@@ -6533,10 +7283,14 @@ Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
         // Be careful: for each index h, the diagonal element m[h][h]
         // is (by convention) +infty in our implementation; however,
         // BHZ09 theorem assumes that it is equal to 0.
-        const N& ub_k_j = (k == j) ? temp_zero
-          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
-        const N& ub_i_ck = (i == ck) ? temp_zero
-          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+        const N& ub_k_j
+          = (k == j)
+          ? temp_zero
+          : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck
+          = (i == ck)
+          ? temp_zero
+          : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]);
 
         for (dimension_type ell = row_size_k; ell-- > 0; ) {
           // Check redundancy of y_k_ell.
@@ -6548,10 +7302,14 @@ Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
             continue;
           const dimension_type cell = coherent_index(ell);
           Row_Reference ub_cell = *(ub_m_begin + cell);
-          const N& ub_i_ell = (i == ell) ? temp_zero
-            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
-          const N& ub_cj_ell = (cj == ell) ? temp_zero
-            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
+          const N& ub_i_ell
+            = (i == ell)
+            ? temp_zero
+            : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell
+            = (cj == ell)
+            ? temp_zero
+            : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]);
           // Check 3rd condition in BHZ09 theorem.
           add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
           add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
@@ -6592,7 +7350,7 @@ Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
   }
 
   // The upper bound of x and y is indeed exact.
-  swap(ub);
+  m_swap(ub);
   PPL_ASSERT(OK());
   return true;
 }
@@ -6713,10 +7471,14 @@ Octagonal_Shape<T>
         // Be careful: for each index h, the diagonal element m[h][h]
         // is (by convention) +infty in our implementation; however,
         // BHZ09 theorem assumes that it is equal to 0.
-        const N& ub_k_j = (k == j) ? temp_zero
-          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
-        const N& ub_i_ck = (i == ck) ? temp_zero
-          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+        const N& ub_k_j
+          = (k == j)
+          ? temp_zero
+          : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck
+          = (i == ck)
+          ? temp_zero
+          : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]);
 
         for (dimension_type ell = row_size_k; ell-- > 0; ) {
           // Check redundancy of y_k_ell.
@@ -6730,10 +7492,14 @@ Octagonal_Shape<T>
           if (lhs_k_ell > tx_k[ell])
             continue;
           Row_Reference ub_cell = *(ub_m_begin + cell);
-          const N& ub_i_ell = (i == ell) ? temp_zero
-            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
-          const N& ub_cj_ell = (cj == ell) ? temp_zero
-            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
+          const N& ub_i_ell
+            = (i == ell)
+            ? temp_zero
+            : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell
+            = (cj == ell)
+            ? temp_zero
+            : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]);
           // Check condition 2a in BHZ09 Theorem 6.8.
           add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED);
           add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED);
@@ -6774,7 +7540,7 @@ Octagonal_Shape<T>
   }
 
   // The upper bound of x and y is indeed exact.
-  swap(ub);
+  m_swap(ub);
   PPL_ASSERT(OK());
   return true;
 }
@@ -6798,7 +7564,7 @@ Octagonal_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
   PPL_DIRTY_TEMP(N, temp_one);
   assign_r(temp_one, 1, ROUND_NOT_NEEDED);
   for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-    const dimension_type ci = i+1;
+    const dimension_type ci = i + 1;
     N& mat_i_ci = matrix[i][ci];
     if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) {
       sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
@@ -6845,7 +7611,7 @@ Octagonal_Shape<T>
     Row_Reference m_i = matrix[i];
     Row_Reference m_ci = matrix[ci];
 
-    // Unary constaints: should be even integers.
+    // Unary constraints: should be even integers.
     N& m_i_ci = m_i[ci];
     if (!is_plus_infinity(m_i_ci)) {
       drop_some_non_integer_points_helper(m_i_ci);
@@ -6876,16 +7642,62 @@ Octagonal_Shape<T>
   PPL_ASSERT(OK());
 }
 
+template <typename T>
+template <typename U>
+void
+Octagonal_Shape<T>
+::export_interval_constraints(U& dest) const {
+  if (space_dim > dest.space_dimension())
+    throw std::invalid_argument(
+               "Octagonal_Shape<T>::export_interval_constraints");
+
+  strong_closure_assign();
+
+  if (marked_empty()) {
+    dest.set_empty();
+    return;
+  }
+
+  PPL_DIRTY_TEMP(N, lb);
+  PPL_DIRTY_TEMP(N, ub);
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    const dimension_type ii = 2*i;
+    const dimension_type cii = ii + 1;
+
+    // Set the upper bound.
+    const N& twice_ub = matrix[cii][ii];
+    if (!is_plus_infinity(twice_ub)) {
+      assign_r(ub, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(ub, ub, 1, ROUND_UP);
+      // FIXME: passing a raw value may not be general enough.
+      if (!dest.restrict_upper(i, ub.raw_value()))
+        return;
+    }
+
+    // Set the lower bound.
+    const N& twice_lb = matrix[ii][cii];
+    if (!is_plus_infinity(twice_lb)) {
+      assign_r(lb, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lb, lb, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lb, lb, 1, ROUND_DOWN);
+      // FIXME: passing a raw value may not be general enough.
+      if (!dest.restrict_lower(i, lb.raw_value()))
+        return;
+    }
+  }
+
+}
+
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 template <typename T>
 std::ostream&
-IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
+IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& oct) {
   // Handle special cases first.
-  if (x.marked_empty()) {
+  if (oct.marked_empty()) {
     s << "false";
     return s;
   }
-  if (x.is_universe()) {
+  if (oct.is_universe()) {
     s << "true";
     return s;
   }
@@ -6897,8 +7709,8 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
   // Records whether or not we still have to print the first constraint.
   bool first = true;
 
-  Row_Iterator m_begin = x.matrix.row_begin();
-  Row_Iterator m_end = x.matrix.row_end();
+  Row_Iterator m_begin = oct.matrix.row_begin();
+  Row_Iterator m_end = oct.matrix.row_end();
 
   // Temporaries.
   PPL_DIRTY_TEMP(N, negation);
@@ -6907,52 +7719,58 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
   // (Note: loop iterator is incremented in the loop body.)
   for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
     const dimension_type i = i_iter.index();
-    const Variable v_i = Variable(i/2);
-    const N& x_i_ii = (*i_iter)[i+1];
+    const Variable v_i(i/2);
+    const N& c_i_ii = (*i_iter)[i + 1];
     ++i_iter;
-    const N& x_ii_i = (*i_iter)[i];
+    const N& c_ii_i = (*i_iter)[i];
     ++i_iter;
     // Check whether or not it is an equality constraint.
-    if (is_additive_inverse(x_i_ii, x_ii_i)) {
+    if (is_additive_inverse(c_i_ii, c_ii_i)) {
       // It is an equality.
-      PPL_ASSERT(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
+      PPL_ASSERT(!is_plus_infinity(c_i_ii) && !is_plus_infinity(c_ii_i));
       if (first)
         first = false;
       else
         s << ", ";
       // If the value bound can NOT be divided by 2 exactly,
       // then we output the constraint `2*v_i = bound'.
-      if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
+      if (div_2exp_assign_r(half, c_ii_i, 1,
+                            ROUND_UP | ROUND_STRICT_RELATION)
+          == V_EQ)
         s << v_i << " = " << half;
       else
-        s << "2*" << v_i << " = " << x_ii_i;
+        s << "2*" << v_i << " = " << c_ii_i;
     }
     else {
       // We will print unary non-strict inequalities, if any.
-      if (!is_plus_infinity(x_i_ii)) {
+      if (!is_plus_infinity(c_i_ii)) {
         if (first)
           first = false;
         else
           s << ", ";
-        neg_assign_r(negation, x_i_ii, ROUND_NOT_NEEDED);
+        neg_assign_r(negation, c_i_ii, ROUND_NOT_NEEDED);
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i >= negation'.
-        if (div_2exp_assign_r(half, negation, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
+        if (div_2exp_assign_r(half, negation, 1,
+                              ROUND_UP | ROUND_STRICT_RELATION)
+            == V_EQ)
           s << v_i << " >= " << half;
         else
           s << "2*" << v_i << " >= " << negation;
       }
-      if (!is_plus_infinity(x_ii_i)) {
+      if (!is_plus_infinity(c_ii_i)) {
         if (first)
           first = false;
         else
           s << ", ";
         // If the value bound can NOT be divided by 2 exactly,
         // then we output the constraint `2*v_i <= bound'.
-        if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
+        if (div_2exp_assign_r(half, c_ii_i, 1,
+                              ROUND_UP | ROUND_STRICT_RELATION)
+            == V_EQ)
           s << v_i << " <= " << half;
         else
-          s << "2*" << v_i << " <= " << x_ii_i;
+          s << "2*" << v_i << " <= " << c_ii_i;
       }
     }
   }
@@ -6961,86 +7779,86 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
   // (Note: loop iterator is incremented in the loop body.)
   for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
     const dimension_type i = i_iter.index();
-    const Variable v_i = Variable(i/2);
+    const Variable v_i(i/2);
     Row_Reference r_i = *i_iter;
     ++i_iter;
     Row_Reference r_ii = *i_iter;
     ++i_iter;
 
     for (dimension_type j = 0; j < i; j += 2) {
-      const Variable v_j = Variable(j/2);
+      const Variable v_j(j/2);
       // Print binary differences.
-      const N& x_ii_jj = r_ii[j+1];
-      const N& x_i_j = r_i[j];
+      const N& c_ii_jj = r_ii[j + 1];
+      const N& c_i_j = r_i[j];
       // Check whether or not it is an equality constraint.
-      if (is_additive_inverse(x_ii_jj, x_i_j)) {
+      if (is_additive_inverse(c_ii_jj, c_i_j)) {
         // It is an equality.
-        PPL_ASSERT(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
+        PPL_ASSERT(!is_plus_infinity(c_i_j) && !is_plus_infinity(c_ii_jj));
         if (first)
           first = false;
         else
           s << ", ";
-        if (sgn(x_i_j) >= 0)
-          s << v_j << " - " << v_i << " = " << x_i_j;
+        if (sgn(c_i_j) >= 0)
+          s << v_j << " - " << v_i << " = " << c_i_j;
         else
-          s << v_i << " - " << v_j << " = " << x_ii_jj;
+          s << v_i << " - " << v_j << " = " << c_ii_jj;
       }
       else {
         // We will print non-strict inequalities, if any.
-        if (!is_plus_infinity(x_i_j)) {
+        if (!is_plus_infinity(c_i_j)) {
           if (first)
             first = false;
           else
             s << ", ";
-          if (sgn(x_i_j) >= 0)
-            s << v_j << " - " << v_i << " <= " << x_i_j;
+          if (sgn(c_i_j) >= 0)
+            s << v_j << " - " << v_i << " <= " << c_i_j;
           else {
-            neg_assign_r(negation, x_i_j, ROUND_DOWN);
+            neg_assign_r(negation, c_i_j, ROUND_DOWN);
             s << v_i << " - " << v_j << " >= " << negation;
           }
         }
-        if (!is_plus_infinity(x_ii_jj)) {
+        if (!is_plus_infinity(c_ii_jj)) {
           if (first)
             first = false;
           else
             s << ", ";
-          if (sgn(x_ii_jj) >= 0)
-            s << v_i << " - " << v_j << " <= " << x_ii_jj;
+          if (sgn(c_ii_jj) >= 0)
+            s << v_i << " - " << v_j << " <= " << c_ii_jj;
           else {
-            neg_assign_r(negation, x_ii_jj, ROUND_DOWN);
+            neg_assign_r(negation, c_ii_jj, ROUND_DOWN);
             s << v_j << " - " << v_i << " >= " << negation;
           }
         }
       }
       // Print binary sums.
-      const N& x_i_jj = r_i[j+1];
-      const N& x_ii_j = r_ii[j];
+      const N& c_i_jj = r_i[j + 1];
+      const N& c_ii_j = r_ii[j];
       // Check whether or not it is an equality constraint.
-      if (is_additive_inverse(x_i_jj, x_ii_j)) {
+      if (is_additive_inverse(c_i_jj, c_ii_j)) {
         // It is an equality.
-        PPL_ASSERT(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
+        PPL_ASSERT(!is_plus_infinity(c_i_jj) && !is_plus_infinity(c_ii_j));
         if (first)
           first = false;
         else
           s << ", ";
-        s << v_j << " + " << v_i << " = " << x_ii_j;
+        s << v_j << " + " << v_i << " = " << c_ii_j;
       }
       else {
         // We will print non-strict inequalities, if any.
-        if (!is_plus_infinity(x_i_jj)) {
+        if (!is_plus_infinity(c_i_jj)) {
           if (first)
             first = false;
           else
             s << ", ";
-          neg_assign_r(negation, x_i_jj, ROUND_DOWN);
+          neg_assign_r(negation, c_i_jj, ROUND_DOWN);
           s << v_j << " + " << v_i << " >= " << negation;
         }
-        if (!is_plus_infinity(x_ii_j)) {
+        if (!is_plus_infinity(c_ii_j)) {
           if (first)
             first = false;
           else
             s << ", ";
-          s << v_j << " + " << v_i << " <= " << x_ii_j;
+          s << v_j << " + " << v_i << " <= " << c_ii_j;
         }
       }
     }
@@ -7233,7 +8051,7 @@ Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
 
 template <typename T>
 void
-Octagonal_Shape<T>::throw_constraint_incompatible(const char* method) const {
+Octagonal_Shape<T>::throw_constraint_incompatible(const char* method) {
   std::ostringstream s;
   s << "PPL::Octagonal_Shape::" << method << ":\n"
     << "the constraint is incompatible.";
@@ -7242,34 +8060,48 @@ Octagonal_Shape<T>::throw_constraint_incompatible(const char* method) const {
 
 template <typename T>
 void
-Octagonal_Shape<T>
-::throw_expression_too_complex(const char* method,
-                               const Linear_Expression& e) const {
+Octagonal_Shape<T>::throw_expression_too_complex(const char* method,
+                                                 const Linear_Expression& le) {
   using namespace IO_Operators;
   std::ostringstream s;
   s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << e << " is too complex.";
+    << le << " is too complex.";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename T>
+void
+Octagonal_Shape<T>
+::throw_dimension_incompatible(const char* method,
+                               const char* le_name,
+                               const Linear_Expression& le) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
 template <typename T>
+template <typename C>
 void
 Octagonal_Shape<T>
 ::throw_dimension_incompatible(const char* method,
-                               const char* name_row,
-                               const Linear_Expression& y) const {
+                               const char* lf_name,
+                               const Linear_Form<C>& lf) const {
   std::ostringstream s;
   s << "PPL::Octagonal_Shape::" << method << ":\n"
     << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << y.space_dimension() << ".";
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
   throw std::invalid_argument(s.str());
 }
 
 template <typename T>
 void
-Octagonal_Shape<T>::throw_generic(const char* method,
-                                  const char* reason) const {
+Octagonal_Shape<T>::throw_invalid_argument(const char* method,
+                                           const char* reason) {
   std::ostringstream s;
   s << "PPL::Octagonal_Shape::" << method << ":\n"
     << reason << ".";
diff --git a/src/Octagonal_Shape.types.hh b/src/Octagonal_Shape.types.hh
index 9b88a31..2c0af90 100644
--- a/src/Octagonal_Shape.types.hh
+++ b/src/Octagonal_Shape.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -18,6 +18,8 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 class Octagonal_Shape;
 
+class Octagonal_Shape_Helper;
+
 }
 
 #endif // !defined(PPL_Octagonal_Shape_types_hh)
diff --git a/src/Og_Status.idefs.hh b/src/Og_Status.idefs.hh
index a3f15bb..007c3cb 100644
--- a/src/Og_Status.idefs.hh
+++ b/src/Og_Status.idefs.hh
@@ -1,6 +1,6 @@
 /* Octagonal_Shape<T>::Status class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,18 +15,17 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Og_Status_idefs_hh
 #define PPL_Og_Status_idefs_hh 1
 
 #ifndef PPL_IN_Octagonal_Shape_CLASS
-#error "Do not include Og_Status.idefs.hh directly; use Octagonal_Shape.defs.hh instead."
+#error "Do not include Og_Status.idefs.hh directly; use Octagonal_Shape.defs.hh instead"
 #endif
 
 //! A conjunctive assertion about a Octagonal_Shape<T> object.
diff --git a/src/Og_Status.inlines.hh b/src/Og_Status.inlines.hh
index af341f4..0fa705f 100644
--- a/src/Og_Status.inlines.hh
+++ b/src/Og_Status.inlines.hh
@@ -1,6 +1,6 @@
 /* Octagonal_Shape<T>::Status class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -15,12 +15,11 @@ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 for more details.
 
 You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-USA.
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Og_Status_inlines_hh
 #define PPL_Og_Status_inlines_hh 1
@@ -48,7 +47,7 @@ Octagonal_Shape<T>::Status::test_all(flags_t mask) const {
 template <typename T>
 inline bool
 Octagonal_Shape<T>::Status::test_any(flags_t mask) const {
-  return flags & mask;
+  return (flags & mask) != 0;
 }
 
 template <typename T>
@@ -156,9 +155,9 @@ const std::string empty = "EM";
 const std::string strong_closed = "SC";
 const char yes = '+';
 const char no = '-';
-const char sep = ' ';
+const char separator = ' ';
 
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape<T>::Status
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape::Status
   Reads a keyword and its associated on/off flag from \p s.
   Returns <CODE>true</CODE> if the operation is successful,
   returns <CODE>false</CODE> otherwise.
@@ -185,12 +184,12 @@ inline void
 Octagonal_Shape<T>::Status::ascii_dump(std::ostream& s) const {
   using namespace Implementation::Octagonal_Shapes;
   s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ
-    << sep
+    << separator
     << (test_empty() ? yes : no) << empty
-    << sep
-    << sep
+    << separator
+    << separator
     << (test_strongly_closed() ? yes : no) << strong_closed
-    << sep;
+    << separator;
 }
 
 template <typename T>
diff --git a/src/Opposite_Floating_Point_Expression.defs.hh b/src/Opposite_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..cf4770e
--- /dev/null
+++ b/src/Opposite_Floating_Point_Expression.defs.hh
@@ -0,0 +1,193 @@
+/* Declarations for the Opposite_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Opposite_Floating_Point_Expression_defs_hh
+#define PPL_Opposite_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Opposite_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Opposite_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Opposite Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of opposite floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ be an interval linear form and
+  let \f$\adlf\f$ be a sound unary operator on linear forms such that:
+
+  \f[
+  \adlf
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  =
+  \left(\adifp i\right)
+  + \sum_{v \in \cV}\left(\adifp i_{v} \right)v,
+  \f]
+
+  Given a floating point expression \f$\ominus e\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{\ominus e}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{\ominus e}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \adlf
+  \left(
+  \linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \right).
+  \f]
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Opposite_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /* \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
+
+  /* \brief
+     Alias for the std::map<dimension_type, FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /* \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /* \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /* \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with one parameter: builds the opposite floating point
+    expression \f$\ominus\f$ \p op.
+  */
+  explicit Opposite_Floating_Point_Expression(
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const op);
+
+  //! Destructor.
+  ~Opposite_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expression represented
+    by \p operand MUST have an associated value in \p int_store.
+    If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Opposite_Floating_Point_Expression& y);
+
+private:
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Opposite_Floating_Point_Expression(
+			  const Opposite_Floating_Point_Expression& y);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Opposite_Floating_Point_Expression& operator=(
+			  const Opposite_Floating_Point_Expression& y);
+
+  //! Pointer to the operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* operand;
+
+}; // class Opposite_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Opposite_Floating_Point_Expression.inlines.hh"
+
+#endif // !defined(PPL_Opposite_Floating_Point_Expression_defs_hh)
diff --git a/src/Opposite_Floating_Point_Expression.inlines.hh b/src/Opposite_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..1e0eb37
--- /dev/null
+++ b/src/Opposite_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,79 @@
+/* Opposite_Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Opposite_Floating_Point_Expression_inlines_hh
+#define PPL_Opposite_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Opposite_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const op)
+  : operand(op)
+{
+  assert(op != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Opposite_Floating_Point_Expression() {
+  delete operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Opposite_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(operand, y.operand);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!operand->linearize(int_store, lf_store, result))
+    return false;
+
+  result.negate();
+  return true;
+}
+
+/*! \relates Opposite_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Opposite_Floating_Point_Expression_inlines_hh)
diff --git a/src/Opposite_Floating_Point_Expression.types.hh b/src/Opposite_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..5951a53
--- /dev/null
+++ b/src/Opposite_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Opposite_Floating_Point_Expression_types_hh
+#define PPL_Opposite_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Opposite_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Opposite_Floating_Point_Expression_types_hh)
diff --git a/src/PIP_Problem.cc b/src/PIP_Problem.cc
index 3517df9..69e00e2 100644
--- a/src/PIP_Problem.cc
+++ b/src/PIP_Problem.cc
@@ -1,6 +1,6 @@
 /* PIP_Problem class implementation: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "PIP_Problem.defs.hh"
 #include "PIP_Tree.defs.hh"
 
@@ -132,61 +132,74 @@ PPL::PIP_Problem::solve() const {
 
       // Go through all pending constraints.
       for (Constraint_Sequence::const_iterator
-             cs_i = input_cs.begin() + first_pending_constraint,
+             cs_i = nth_iter(input_cs, first_pending_constraint),
              cs_end = input_cs.end(); cs_i != cs_end; ++cs_i) {
         const Constraint& c = *cs_i;
         const dimension_type c_space_dim = c.space_dimension();
         PPL_ASSERT(external_space_dim >= c_space_dim);
 
-        // Check if constraint has a non-zero variable coefficient.
-        bool has_nonzero_variable_coefficient = false;
-        for (dimension_type i = c_space_dim; i-- > 0; ) {
-          if (c.coefficient(Variable(i)) != 0
-              && parameters.count(i) == 0) {
-            has_nonzero_variable_coefficient = true;
-            break;
-          }
-        }
         // Constraints having a non-zero variable coefficient
         // should not be inserted in context.
-        if (has_nonzero_variable_coefficient)
+        if (!c.expression().all_zeroes_except(parameters, 1, c_space_dim + 1))
           continue;
 
         check_feasible_context = true;
 
-        // Translate constraint into context row.
-        Row row(new_num_cols, Row::Flags());
-        row[0] = c.inhomogeneous_term();
+        x.initial_context.add_zero_rows(1);
+
+        Row& row = x.initial_context[x.initial_context.num_rows()-1];
+
         {
+          Row::iterator itr = row.end();
+
+          if (c.inhomogeneous_term() != 0) {
+            itr = row.insert(0, c.inhomogeneous_term());
+            // Adjust inhomogeneous term if strict.
+            if (c.is_strict_inequality())
+              --(*itr);
+          } else {
+            // Adjust inhomogeneous term if strict.
+            if (c.is_strict_inequality())
+              itr = row.insert(0, -1);
+          }
           dimension_type i = 1;
+
+          // TODO: This loop may be optimized more, if needed.
+          // If the size of param_end is expected to be greater than the
+          // number of nonzeroes of c in most cases, then this implementation
+          // can't be optimized further.
+          // itr may still be end(), but it can still be used as hint.
           for (Variables_Set::const_iterator
-                 pi = param_begin; pi != param_end; ++pi, ++i) {
-            if (*pi < c_space_dim)
-              row[i] = c.coefficient(Variable(*pi));
-            else
+               pi = param_begin; pi != param_end; ++pi, ++i) {
+            if (*pi < c_space_dim) {
+              Coefficient_traits::const_reference coeff_pi
+                = c.coefficient(Variable(*pi));
+              if (coeff_pi != 0)
+                itr = row.insert(itr, i, coeff_pi);
+            } else
               break;
           }
         }
-        // Adjust inhomogenous term if strict.
-        if (c.is_strict_inequality())
-          --row[0];
-
-        // Insert new row into initial context.
-        x.initial_context.add_row(row);
 
         // If it is an equality, also insert its negation.
         if (c.is_equality()) {
-          for (dimension_type i = new_num_cols; i-- > 0; )
-            neg_assign(row[i], row[i]);
+          x.initial_context.add_zero_rows(1);
+
+          // The reference `row' has been invalidated.
 
-          // Insert new row into initial context.
-          x.initial_context.add_row(row);
+          Row& last_row = x.initial_context[x.initial_context.num_rows()-1];
+
+          last_row = x.initial_context[x.initial_context.num_rows()-2];
+
+          for (Row::iterator
+               i = last_row.begin(), i_end = last_row.end(); i != i_end; ++i)
+            neg_assign(*i);
         }
       }
 
       if (check_feasible_context) {
         // Check for feasibility of initial context.
-        Matrix ctx_copy(initial_context);
+        Matrix<Row> ctx_copy(initial_context);
         if (!PIP_Solution_Node::compatibility_check(ctx_copy)) {
           // Problem found to be unfeasible.
           delete x.current_solution;
@@ -214,10 +227,10 @@ PPL::PIP_Problem::solve() const {
                                                      external_space_dim,
                                                      /*indent_level=*/ 0);
       // Update problem status.
-      x.status = (x.current_solution) ? OPTIMIZED : UNSATISFIABLE;
+      x.status = (x.current_solution != 0) ? OPTIMIZED : UNSATISFIABLE;
 
       PPL_ASSERT(OK());
-      return (x.current_solution)
+      return (x.current_solution != 0)
         ? OPTIMIZED_PIP_PROBLEM
         : UNFEASIBLE_PIP_PROBLEM;
     } // End of handler for PARTIALLY_SATISFIABLE case.
@@ -225,7 +238,8 @@ PPL::PIP_Problem::solve() const {
   } // End of switch.
 
   // We should not be here!
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return UNFEASIBLE_PIP_PROBLEM;
 }
 
 PPL::PIP_Tree
@@ -259,13 +273,8 @@ PPL::PIP_Problem::OK() const {
       return false;
     }
 
-  // Constraint system should be OK.
-  const dimension_type input_cs_num_rows = input_cs.size();
-  for (dimension_type i = input_cs_num_rows; i-- > 0; )
-    if (!input_cs[i].OK())
-      return false;
-
   // Constraint system should be space dimension compatible.
+  const dimension_type input_cs_num_rows = input_cs.size();
   for (dimension_type i = input_cs_num_rows; i-- > 0; ) {
     if (input_cs[i].space_dimension() > external_space_dim) {
 #ifndef NDEBUG
@@ -316,7 +325,7 @@ PPL::PIP_Problem::OK() const {
   if (!initial_context.OK())
     return false;
 
-  if (current_solution) {
+  if (current_solution != 0) {
     // Check well formedness of the solution tree.
     if (!current_solution->OK()) {
 #ifndef NDEBUG
@@ -579,9 +588,9 @@ PPL::PIP_Problem
   }
   if (should_throw)
     throw std::length_error("PPL::PIP_Problem::"
-			    "add_space_dimensions_and_embed(m_v, m_p):\n"
-			    "adding m_v+m_p new space dimensions exceeds "
-			    "the maximum allowed space dimension.");
+                            "add_space_dimensions_and_embed(m_v, m_p):\n"
+                            "adding m_v+m_p new space dimensions exceeds "
+                            "the maximum allowed space dimension.");
   // First add PIP variables ...
   external_space_dim += m_vars;
   // ... then add PIP parameters.
@@ -600,9 +609,9 @@ PPL::PIP_Problem
 ::add_to_parameter_space_dimensions(const Variables_Set& p_vars) {
   if (p_vars.space_dimension() > external_space_dim)
     throw std::invalid_argument("PPL::PIP_Problem::"
-				"add_to_parameter_space_dimension(p_vars):\n"
-				"*this and p_vars are dimension "
-				"incompatible.");
+                                "add_to_parameter_space_dimension(p_vars):\n"
+                                "*this and p_vars are dimension "
+                                "incompatible.");
   const dimension_type original_size = parameters.size();
   parameters.insert(p_vars.begin(), p_vars.end());
   // Do not allow to turn variables into parameters.
@@ -610,8 +619,8 @@ PPL::PIP_Problem
          end = p_vars.end(); p != end; ++p) {
     if (*p < internal_space_dim) {
       throw std::invalid_argument("PPL::PIP_Problem::"
-				  "add_to_parameter_space_dimension(p_vars):"
-				  "p_vars contain variable indices.");
+                                  "add_to_parameter_space_dimension(p_vars):"
+                                  "p_vars contain variable indices.");
     }
   }
 
@@ -689,12 +698,12 @@ PPL::memory_size_type
 PPL::PIP_Problem::external_memory_in_bytes() const {
   memory_size_type n = initial_context.external_memory_in_bytes();
   // Adding the external memory for `current_solution'.
-  if (current_solution)
+  if (current_solution != 0)
     n += current_solution->total_memory_in_bytes();
   // Adding the external memory for `input_cs'.
   n += input_cs.capacity() * sizeof(Constraint);
   for (const_iterator i = input_cs.begin(),
-	 i_end = input_cs.end(); i != i_end; ++i)
+       i_end = input_cs.end(); i != i_end; ++i)
     n += (i->external_memory_in_bytes());
   // FIXME: Adding the external memory for `parameters'.
   n += parameters.size() * sizeof(dimension_type);
@@ -708,7 +717,7 @@ PPL::PIP_Problem::total_memory_in_bytes() const {
 }
 
 void
-PPL::PIP_Problem::print_solution(std::ostream& s, unsigned indent) const {
+PPL::PIP_Problem::print_solution(std::ostream& s, int indent) const {
   switch (status) {
 
   case UNSATISFIABLE:
diff --git a/src/PIP_Problem.defs.hh b/src/PIP_Problem.defs.hh
index e915bbc..75a9f72 100644
--- a/src/PIP_Problem.defs.hh
+++ b/src/PIP_Problem.defs.hh
@@ -1,6 +1,6 @@
 /* PIP_Problem class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_PIP_Problem_defs_hh
 #define PPL_PIP_Problem_defs_hh 1
@@ -36,6 +36,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include <deque>
 #include <iosfwd>
 
+#include "Matrix.defs.hh"
+
 namespace Parma_Polyhedra_Library {
 
 namespace IO_Operators {
@@ -43,10 +45,14 @@ namespace IO_Operators {
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::PIP_Problem */
 std::ostream&
-operator<<(std::ostream& s, const PIP_Problem& p);
+operator<<(std::ostream& s, const PIP_Problem& pip);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates PIP_Problem */
+void swap(PIP_Problem& x, PIP_Problem& y);
+
 } // namespace Parma_Polyhedra_Library
 
 //! A Parametric Integer (linear) Programming problem.
@@ -158,7 +164,7 @@ operator<<(std::ostream& s, const PIP_Problem& p);
   branch above. These \e artificial parameters are only meaningful
   inside the subtree where they are defined and are used to define
   the parametric values of the problem variables in solution nodes
-  (e.g., the <tt>{i,j}</tt> vector in the textually third \c then branch).
+  (e.g., the <CODE>{i,j}</CODE> vector in the textually third \c then branch).
 
   \par Context restriction
   The above solution is correct in an unrestricted initial context,
@@ -240,7 +246,7 @@ operator<<(std::ostream& s, const PIP_Problem& p);
   assignment, the ``spanning'' of the PIP problem solution tree refers
   to the process whereby the solution tree is navigated, starting from
   the root node: the value of artificial parameters is computed according
-  to the parameter assignment and the node's contraints are evaluated,
+  to the parameter assignment and the node's constraints are evaluated,
   thereby descending in either the true or the false subtree of decision
   nodes and eventually reaching a solution node or a bottom node.
   If a solution node is found, each of the problem variables is provided
@@ -283,7 +289,7 @@ operator<<(std::ostream& s, const PIP_Problem& p);
   have consecutive indices starting from <code>dim+1</code>, where the value
   of \c dim is computed as follows:
    - for the tree root node, \c dim is the space dimension of the PIP_Problem;
-   - for any other node of the tree, it is recusrively obtained by adding
+   - for any other node of the tree, it is recursively obtained by adding
      the value of \c dim computed for the parent node to the number of
      artificial parameters defined in the parent node.
   \par
@@ -377,16 +383,16 @@ operator<<(std::ostream& s, const PIP_Problem& p);
   \endverbatim
   Under the notations above, the solution is:
   \f[ \left\{\begin{array}{l}
-    x'=M-\left\lfloor\frac{p+1}{3}\right\rfloor-1\\
-    y'=M-p+\left\lfloor\frac{p+1}{3}\right\rfloor+1
+    x' = M - \left\lfloor\frac{p+1}{3}\right\rfloor - 1 \\
+    y' = M - p + \left\lfloor\frac{p+1}{3}\right\rfloor + 1
   \end{array}\right.
   \f]
   \par
   Performing substitution again provides us with the values of the original
   variables:
   \f[ \left\{\begin{array}{l}
-    x=\left\lfloor\frac{p+1}{3}\right\rfloor+1\\
-    y=p-\left\lfloor\frac{p+1}{3}\right\rfloor-1
+    x = \left\lfloor\frac{p+1}{3}\right\rfloor + 1 \\
+    y = p - \left\lfloor\frac{p+1}{3}\right\rfloor - 1
   \end{array}\right.
   \f]
 
@@ -451,16 +457,16 @@ operator<<(std::ostream& s, const PIP_Problem& p);
   \endverbatim
   Under the notations above, the solution is:
   \f[ \left\{\begin{array}{l}
-    x'=M-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
-    y'=M+2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+    x' = M - \left\lfloor\frac{2p+3}{5}\right\rfloor - 1 \\
+    y' = M + 2\left\lfloor\frac{2p+3}{5}\right\rfloor - 2
   \end{array}\right.
   \f]
   \par
   Performing substitution again provides us with the values of the original
   variables:
   \f[ \left\{\begin{array}{l}
-    x=-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
-    y=2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
+    x = -\left\lfloor\frac{2p+3}{5}\right\rfloor - 1 \\
+    y = 2\left\lfloor\frac{2p+3}{5}\right\rfloor - 2
   \end{array}\right.
   \f]
 
@@ -679,7 +685,7 @@ public:
     Thrown if trying to print the solution when the PIP problem
     still has to be solved.
   */
-  void print_solution(std::ostream& s, unsigned indent = 0) const;
+  void print_solution(std::ostream& s, int indent = 0) const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -697,7 +703,7 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(PIP_Problem& y);
+  void m_swap(PIP_Problem& y);
 
   //! Possible names for PIP_Problem control parameters.
   enum Control_Parameter_Name {
@@ -713,16 +719,16 @@ public:
 
   //! Possible values for PIP_Problem control parameters.
   enum Control_Parameter_Value {
-    //! Choose the first non-integer row
+    //! Choose the first non-integer row.
     CUTTING_STRATEGY_FIRST,
-    //! Choose row which generates the deepest cut
+    //! Choose row which generates the deepest cut.
     CUTTING_STRATEGY_DEEPEST,
-    //! Always generate all possible cuts
+    //! Always generate all possible cuts.
     CUTTING_STRATEGY_ALL,
 
-    //! Choose the first row with negative parameter sign
+    //! Choose the first row with negative parameter sign.
     PIVOT_ROW_STRATEGY_FIRST,
-    //! Choose the row which generates the lexico-maximal pivot column
+    //! Choose a row that generates a lexicographically maximal pivot column.
     PIVOT_ROW_STRATEGY_MAX_COLUMN,
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -796,12 +802,18 @@ private:
   */
   Variables_Set parameters;
 
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
+
   /*! \brief
     The initial context
 
     Contains problem constraints on parameters only
   */
-  Matrix initial_context;
+  Matrix<Row> initial_context;
 
   //! The control parameters for the problem object.
   Control_Parameter_Value
@@ -816,15 +828,6 @@ private:
   friend class PIP_Solution_Node;
 };
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::PIP_Problem */
-void swap(Parma_Polyhedra_Library::PIP_Problem& x,
-	  Parma_Polyhedra_Library::PIP_Problem& y);
-
-} // namespace std
-
 #include "PIP_Problem.inlines.hh"
 #include "PIP_Problem.templates.hh"
 
diff --git a/src/PIP_Problem.inlines.hh b/src/PIP_Problem.inlines.hh
index 1e43586..05a217f 100644
--- a/src/PIP_Problem.inlines.hh
+++ b/src/PIP_Problem.inlines.hh
@@ -1,6 +1,6 @@
 /* PIP_Problem class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_PIP_Problem_inlines_hh
 #define PPL_PIP_Problem_inlines_hh 1
@@ -52,31 +52,32 @@ PIP_Problem::parameter_space_dimensions() const {
 }
 
 inline void
-PIP_Problem::swap(PIP_Problem& y) {
-  std::swap(external_space_dim, y.external_space_dim);
-  std::swap(internal_space_dim, y.internal_space_dim);
-  std::swap(status, y.status);
-  std::swap(current_solution, y.current_solution);
-  std::swap(input_cs, y.input_cs);
-  std::swap(first_pending_constraint, y.first_pending_constraint);
-  std::swap(parameters, y.parameters);
-  std::swap(initial_context, y.initial_context);
+PIP_Problem::m_swap(PIP_Problem& y) {
+  using std::swap;
+  swap(external_space_dim, y.external_space_dim);
+  swap(internal_space_dim, y.internal_space_dim);
+  swap(status, y.status);
+  swap(current_solution, y.current_solution);
+  swap(input_cs, y.input_cs);
+  swap(first_pending_constraint, y.first_pending_constraint);
+  swap(parameters, y.parameters);
+  swap(initial_context, y.initial_context);
   for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
-    std::swap(control_parameters[i], y.control_parameters[i]);
-  std::swap(big_parameter_dimension, y.big_parameter_dimension);
+    swap(control_parameters[i], y.control_parameters[i]);
+  swap(big_parameter_dimension, y.big_parameter_dimension);
 }
 
 inline PIP_Problem&
 PIP_Problem::operator=(const PIP_Problem& y) {
   PIP_Problem tmp(y);
-  swap(tmp);
+  m_swap(tmp);
   return *this;
 }
 
 inline PIP_Problem::Control_Parameter_Value
-PIP_Problem::get_control_parameter(Control_Parameter_Name n) const {
-  PPL_ASSERT(n >= 0 && n < CONTROL_PARAMETER_NAME_SIZE);
-  return control_parameters[n];
+PIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
+  PPL_ASSERT(name >= 0 && name < CONTROL_PARAMETER_NAME_SIZE);
+  return control_parameters[name];
 }
 
 inline dimension_type
@@ -84,17 +85,12 @@ PIP_Problem::get_big_parameter_dimension() const {
   return big_parameter_dimension;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+/*! \relates PIP_Problem */
 inline void
-swap(Parma_Polyhedra_Library::PIP_Problem& x,
-     Parma_Polyhedra_Library::PIP_Problem& y) {
-  x.swap(y);
+swap(PIP_Problem& x, PIP_Problem& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_PIP_Problem_inlines_hh)
diff --git a/src/PIP_Problem.templates.hh b/src/PIP_Problem.templates.hh
index e8e118b..fe3a96a 100644
--- a/src/PIP_Problem.templates.hh
+++ b/src/PIP_Problem.templates.hh
@@ -1,6 +1,6 @@
 /* PIP_Problem class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_PIP_Problem_templates_hh
 #define PPL_PIP_Problem_templates_hh 1
@@ -30,9 +30,8 @@ namespace Parma_Polyhedra_Library {
 
 template <typename In>
 PIP_Problem::PIP_Problem(dimension_type dim,
-			 In first,
-			 In last,
-			 const Variables_Set& p_vars)
+                         In first, In last,
+                         const Variables_Set& p_vars)
   : external_space_dim(dim),
     internal_space_dim(0),
     status(PARTIALLY_SATISFIABLE),
diff --git a/src/PIP_Problem.types.hh b/src/PIP_Problem.types.hh
index 84e4605..911abd3 100644
--- a/src/PIP_Problem.types.hh
+++ b/src/PIP_Problem.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/PIP_Tree.cc b/src/PIP_Tree.cc
index 0da9203..9899dc5 100644
--- a/src/PIP_Tree.cc
+++ b/src/PIP_Tree.cc
@@ -1,6 +1,6 @@
 /* PIP_Tree related class implementation: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,68 +19,112 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "PIP_Tree.defs.hh"
 #include "PIP_Problem.defs.hh"
-
 #include <algorithm>
 #include <memory>
+#include <map>
 
-// #define NOISY_PIP_TREE_STRUCTURE
-// #define NOISY_PIP
-// #define VERY_NOISY_PIP
+// #define NOISY_PIP_TREE_STRUCTURE 1
+// #define NOISY_PIP 1
+// #define VERY_NOISY_PIP 1
 
 namespace Parma_Polyhedra_Library {
 
 namespace {
 
-// Calculate positive modulo of x % y
+//! Assigns to \p x the positive remainder of the division of \p y by \p z.
 inline void
-pos_mod_assign(Coefficient& z,
-               Coefficient_traits::const_reference x,
-               Coefficient_traits::const_reference y) {
-  z = x % y;
-  if (z < 0)
-    z += y;
+pos_rem_assign(Coefficient& x,
+               Coefficient_traits::const_reference y,
+               Coefficient_traits::const_reference z) {
+  rem_assign(x, y, z);
+  if (x < 0)
+    x += z;
 }
 
+class Add_Mul_Assign_Row_Helper1 {
+public:
+  Add_Mul_Assign_Row_Helper1(Coefficient_traits::const_reference coeff)
+    : c(coeff) {
+  }
+
+  void
+  operator()(Coefficient& x, Coefficient_traits::const_reference y) const {
+    add_mul_assign(x, c, y);
+  }
+
+private:
+  Coefficient c;
+}; // class Add_Mul_Assign_Row_Helper1
+
+
+class Add_Mul_Assign_Row_Helper2 {
+public:
+  Add_Mul_Assign_Row_Helper2(Coefficient_traits::const_reference coeff)
+    : c(coeff) {
+  }
+
+  void
+  operator()(Coefficient& x, Coefficient_traits::const_reference y) const {
+    x = y;
+    x *= c;
+  }
+
+private:
+  Coefficient c;
+}; // class Add_Mul_Assign_Row_Helper2
+
 // Compute x += c * y
 inline void
-add_mul_assign_row(Row& x,
-                   Coefficient_traits::const_reference c, const Row& y) {
+add_mul_assign_row(PIP_Tree_Node::Row& x,
+                   Coefficient_traits::const_reference c,
+                   const PIP_Tree_Node::Row& y) {
   WEIGHT_BEGIN();
-  const dimension_type x_size = x.size();
-  PPL_ASSERT(x_size == y.size());
-  for (dimension_type i = x_size; i-- > 0; )
-    add_mul_assign(x[i], c, y[i]);
-  WEIGHT_ADD_MUL(1, x_size);
+  x.combine_needs_second(y,
+                         Add_Mul_Assign_Row_Helper1(c),
+                         Add_Mul_Assign_Row_Helper2(c));
+  WEIGHT_ADD_MUL(108, x.size());
 }
 
+
+struct Sub_Assign_Helper1 {
+  void
+  operator()(Coefficient& x, Coefficient_traits::const_reference y) const {
+    x -= y;
+  }
+}; // struct Sub_Assign_Helper1
+
+struct Sub_Assign_Helper2 {
+  void
+  operator()(Coefficient& x, Coefficient_traits::const_reference y) const {
+    x = y;
+    neg_assign(x);
+  }
+}; // struct Sub_Assign_Helper2
+
 // Compute x -= y
 inline void
-sub_assign(Row& x, const Row& y) {
+sub_assign(PIP_Tree_Node::Row& x, const PIP_Tree_Node::Row& y) {
   WEIGHT_BEGIN();
-  const dimension_type x_size = x.size();
-  PPL_ASSERT(x_size == y.size());
-  for (dimension_type i = x_size; i-- > 0; )
-    x[i] -= y[i];
-  WEIGHT_ADD_MUL(1, x_size);
+  x.combine_needs_second(y, Sub_Assign_Helper1(), Sub_Assign_Helper2());
+  WEIGHT_ADD_MUL(10, x.size());
 }
 
-// Merge constraint system to a Matrix-form context such as x = x U y
+// Merge constraint system to a matrix-form context such as x = x U y
 void
-merge_assign(Matrix& x,
-             const Constraint_System& y,
+merge_assign(Matrix<PIP_Tree_Node::Row>& x, const Constraint_System& y,
              const Variables_Set& parameters) {
   const dimension_type params_size = parameters.size();
   PPL_ASSERT(params_size == x.num_columns() - 1);
-  const dimension_type new_rows = std::distance(y.begin(), y.end());
+  const dimension_type new_rows = Implementation::num_constraints(y);
   if (new_rows == 0)
     return;
   const dimension_type old_num_rows = x.num_rows();
-  x.add_zero_rows(new_rows, Row::Flags());
+  x.add_zero_rows(new_rows);
 
   // Compute once for all.
   const dimension_type cs_space_dim = y.space_dimension();
@@ -92,52 +136,82 @@ merge_assign(Matrix& x,
          y_end = y.end(); y_i != y_end; ++y_i, ++i) {
     WEIGHT_BEGIN();
     PPL_ASSERT(y_i->is_nonstrict_inequality());
-    Row& x_i = x[i];
-    x_i[0] = y_i->inhomogeneous_term();
-    Variables_Set::const_iterator pj;
-    dimension_type j = 1;
-    for (pj = param_begin; pj != param_end; ++pj, ++j) {
+    PIP_Tree_Node::Row& x_i = x[i];
+    Coefficient_traits::const_reference inhomogeneous_term
+      = y_i->inhomogeneous_term();
+    Variables_Set::const_iterator pj = param_begin;
+    PIP_Tree_Node::Row::iterator itr = x_i.end();
+    if (inhomogeneous_term != 0)
+      itr = x_i.insert(0, inhomogeneous_term);
+    // itr may still be end() but it can still be used as a hint.
+    // TODO: This code could be optimized more (if it's expected that the
+    // size of `parameters' will be greater than the number of nonzero
+    // coefficients in y_i).
+    for (dimension_type j = 1; pj != param_end; ++pj, ++j) {
       Variable vj(*pj);
       if (vj.space_dimension() > cs_space_dim)
         break;
-      x_i[j] = y_i->coefficient(vj);
+      Coefficient_traits::const_reference c = y_i->coefficient(vj);
+      if (c != 0)
+        itr = x_i.insert(itr, j, c);
     }
-    WEIGHT_ADD_MUL(1, params_size);
+    WEIGHT_ADD_MUL(102, params_size);
   }
 }
 
+#if PPL_USE_SPARSE_MATRIX
+
 // Assigns to row x the negation of row y.
 inline void
-neg_assign_row(Row& x, const Row& y) {
+neg_assign_row(PIP_Tree_Node::Row& x, const PIP_Tree_Node::Row& y) {
+  WEIGHT_BEGIN();
+  x = y;
+  for (PIP_Tree_Node::Row::iterator i = x.begin(),
+         i_end = x.end(); i != i_end; ++i) {
+    neg_assign(*i);
+    WEIGHT_ADD(1);
+  }
+}
+
+#else // !PPL_USE_SPARSE_MATRIX
+
+inline void
+neg_assign_row(PIP_Tree_Node::Row& x, const PIP_Tree_Node::Row& y) {
   WEIGHT_BEGIN();
   const dimension_type x_size = x.size();
-  PPL_ASSERT(x_size == y.size());
-  for (dimension_type i = x.size(); i-- > 0; )
+  for (dimension_type i = x_size; i-- > 0; )
     neg_assign(x[i], y[i]);
-  WEIGHT_ADD_MUL(1, x_size);
+  WEIGHT_ADD_MUL(14, x_size);
 }
 
-// Given context row \p y and denominator \p den,
-// to be interpreted as expression expr = y / den,
+#endif // !PPL_USE_SPARSE_MATRIX
+
+// Given context row \p y and denominator \p denom,
+// to be interpreted as expression expr = y / denom,
 // assigns to context row \p x a new value such that
-//     x / den == - expr - 1.
+//     x / denom == - expr - 1.
 inline void
-complement_assign(Row& x, const Row& y,
-                  Coefficient_traits::const_reference den) {
-  PPL_ASSERT(den > 0);
+complement_assign(PIP_Tree_Node::Row& x,
+                  const PIP_Tree_Node::Row& y,
+                  Coefficient_traits::const_reference denom) {
+  PPL_ASSERT(denom > 0);
   neg_assign_row(x, y);
-  if (den == 1)
-    --x[0];
+  PIP_Tree_Node::Row::iterator itr = x.insert(0);
+  Coefficient& x_0 = *itr;
+  if (denom == 1)
+    --x_0;
   else {
     PPL_DIRTY_TEMP_COEFFICIENT(mod);
-    pos_mod_assign(mod, x[0], den);
-    x[0] -= (mod == 0) ? den : mod;
+    pos_rem_assign(mod, x_0, denom);
+    x_0 -= (mod == 0) ? denom : mod;
   }
+  if (x_0 == 0)
+    x.reset(itr);
 }
 
 // Add to `context' the columns for new artificial parameters.
 inline void
-add_artificial_parameters(Matrix& context,
+add_artificial_parameters(Matrix<PIP_Tree_Node::Row>& context,
                           const dimension_type num_art_params) {
   if (num_art_params > 0)
     context.add_zero_columns(num_art_params);
@@ -155,7 +229,7 @@ add_artificial_parameters(Variables_Set& params,
 // Update `context', `params' and `space_dim' to account for
 // the addition of the new artificial parameters.
 inline void
-add_artificial_parameters(Matrix& context,
+add_artificial_parameters(Matrix<PIP_Tree_Node::Row>& context,
                           Variables_Set& params,
                           dimension_type& space_dim,
                           const dimension_type num_art_params) {
@@ -164,23 +238,23 @@ add_artificial_parameters(Matrix& context,
   space_dim += num_art_params;
 }
 
-/* Compares two columns lexicographically in revised simplex tableau
-  - Returns true if (column ja)*(-cst_a)/pivot_a[ja]
-                    << (column jb)*(-cst_b)/pivot_b[jb]
-  - Returns false otherwise
+/* Compares two columns lexicographically in a revised simplex tableau:
+  - returns true if
+    <CODE>
+      (column ja)*(-cst_a)/pivot_a[ja] < (column jb)*(-cst_b)/pivot_b[jb];
+    </CODE>
+  - returns false otherwise.
 */
 bool
-column_lower(const Matrix& tableau,
+column_lower(const Matrix<PIP_Tree_Node::Row>& tableau,
              const std::vector<dimension_type>& mapping,
              const std::vector<bool>& basis,
-             const Row& pivot_a,
-             const dimension_type ja,
-             const Row& pivot_b,
-             const dimension_type jb,
+             const PIP_Tree_Node::Row& pivot_a, const dimension_type ja,
+             const PIP_Tree_Node::Row& pivot_b, const dimension_type jb,
              Coefficient_traits::const_reference cst_a = -1,
              Coefficient_traits::const_reference cst_b = -1) {
-  const Coefficient& sij_a = pivot_a[ja];
-  const Coefficient& sij_b = pivot_b[jb];
+  Coefficient_traits::const_reference sij_a = pivot_a.get(ja);
+  Coefficient_traits::const_reference sij_b = pivot_b.get(jb);
   PPL_ASSERT(sij_a > 0);
   PPL_ASSERT(sij_b > 0);
 
@@ -189,10 +263,12 @@ column_lower(const Matrix& tableau,
   lhs_coeff = cst_a * sij_b;
   rhs_coeff = cst_b * sij_a;
 
+  const int lhs_coeff_sign = sgn(lhs_coeff);
+  const int rhs_coeff_sign = sgn(rhs_coeff);
+
   if (ja == jb) {
     // Same column: just compare the ratios.
     // This works since all columns are lexico-positive.
-    // return cst_a * sij_b > cst_b * sij_a;
     return lhs_coeff > rhs_coeff;
   }
 
@@ -201,7 +277,8 @@ column_lower(const Matrix& tableau,
   const dimension_type num_vars = mapping.size();
   dimension_type k = 0;
   // While loop guard is: (k < num_rows && lhs == rhs).
-  // Return value is false, if k >= num_rows; lhs < rhs, otherwise.
+  // Return value is false, if k >= num_rows; it is equivalent to
+  // lhs < rhs, otherwise.
   // Try to optimize the computation of lhs and rhs.
   WEIGHT_BEGIN();
   while (true) {
@@ -227,105 +304,244 @@ column_lower(const Matrix& tableau,
       }
       // Optimizing for: lhs == 0 && rhs == 0;
       continue;
-    } else {
+    }
+    else {
       // Not in base.
-      WEIGHT_ADD(2);
-      const Row& t_mk = tableau[mk];
-      lhs = lhs_coeff * t_mk[ja];
-      rhs = rhs_coeff * t_mk[jb];
-      if (lhs == rhs)
-        continue;
+      const PIP_Tree_Node::Row& t_mk = tableau[mk];
+      Coefficient_traits::const_reference t_mk_ja = t_mk.get(ja);
+      Coefficient_traits::const_reference t_mk_jb = t_mk.get(jb);
+      if (t_mk_ja == 0)
+        if (t_mk_jb == 0)
+          continue;
+        else {
+          const int rhs_sign = rhs_coeff_sign * sgn(t_mk_jb);
+          if (0 == rhs_sign)
+            continue;
+          else
+            return 0 > rhs_sign;
+        }
       else
-        return lhs > rhs;
+        if (t_mk_jb == 0) {
+          const int lhs_sign = lhs_coeff_sign * sgn(t_mk_ja);
+          if (lhs_sign == 0)
+            continue;
+          else
+            return lhs_sign > 0;
+        }
+        else {
+          WEIGHT_ADD(2);
+          lhs = lhs_coeff * t_mk_ja;
+          rhs = rhs_coeff * t_mk_jb;
+          if (lhs == rhs)
+            continue;
+          else
+            return lhs > rhs;
+        }
     }
   }
   // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
-/* Find the column j in revised simplex tableau such as
-  - pivot_row[j] is positive
+/* Find the column j in revised simplex tableau such that
+  - j is in candidates
   - (column j) / pivot_row[j] is lexico-minimal
+  When this function returns, candidates contains the minimum(s) column(s)
+  index(es).
+*/
+void
+find_lexico_minimal_column_in_set(std::vector<dimension_type>& candidates,
+                                  const Matrix<PIP_Tree_Node::Row>& tableau,
+                                  const std::vector<dimension_type>& mapping,
+                                  const std::vector<bool>& basis,
+                                  const PIP_Tree_Node::Row& pivot_row) {
+  WEIGHT_BEGIN();
+  const dimension_type num_vars = mapping.size();
+
+  PPL_ASSERT(!candidates.empty());
+  // This is used as a set, it is always sorted.
+  std::vector<dimension_type> new_candidates;
+  for (dimension_type var_index = 0; var_index < num_vars; ++var_index) {
+    new_candidates.clear();
+    std::vector<dimension_type>::const_iterator i = candidates.begin();
+    std::vector<dimension_type>::const_iterator i_end = candidates.end();
+    PPL_ASSERT(!candidates.empty());
+    new_candidates.push_back(*i);
+    dimension_type min_column = *i;
+    ++i;
+    if (i == i_end)
+      // Only one candidate left, so it is the minimum.
+      break;
+    PIP_Tree_Node::Row::const_iterator pivot_itr;
+    pivot_itr = pivot_row.find(min_column);
+    PPL_ASSERT(pivot_itr != pivot_row.end());
+    Coefficient sij_b = *pivot_itr;
+    ++pivot_itr;
+    const dimension_type row_index = mapping[var_index];
+    const bool in_base = basis[var_index];
+    if (in_base) {
+      for ( ; i != i_end; ++i) {
+        pivot_itr = pivot_row.find(pivot_itr, *i);
+        PPL_ASSERT(pivot_itr != pivot_row.end());
+        Coefficient_traits::const_reference sij_a = *pivot_itr;
+        ++pivot_itr;
+        PPL_ASSERT(sij_a > 0);
+        PPL_ASSERT(sij_b > 0);
+
+        // Reconstitute the identity submatrix part of tableau.
+        if (row_index != *i) {
+          if (row_index == min_column) {
+            // Optimizing for: lhs == 0 && rhs == rhs_coeff;
+            new_candidates.clear();
+            min_column = *i;
+            sij_b = sij_a;
+            new_candidates.push_back(min_column);
+          }
+          else
+            // Optimizing for: lhs == 0 && rhs == 0;
+            new_candidates.push_back(*i);
+        }
+      }
+      WEIGHT_ADD_MUL(44, candidates.size());
+    }
+    else {
+      // Not in base.
+      const PIP_Tree_Node::Row& row = tableau[row_index];
+      PIP_Tree_Node::Row::const_iterator row_itr = row.lower_bound(min_column);
+      PIP_Tree_Node::Row::const_iterator row_end = row.end();
+      PPL_DIRTY_TEMP_COEFFICIENT(row_jb);
+      if (row_itr == row_end || row_itr.index() > min_column)
+        row_jb = 0;
+      else {
+        PPL_ASSERT(row_itr.index() == min_column);
+        row_jb = *row_itr;
+        ++row_itr;
+      }
+      for ( ; i != i_end; ++i) {
+        pivot_itr = pivot_row.find(pivot_itr, *i);
+        PPL_ASSERT(pivot_itr != pivot_row.end());
+        Coefficient_traits::const_reference sij_a = *pivot_itr;
+        PPL_ASSERT(sij_a > 0);
+        PPL_ASSERT(sij_b > 0);
+
+        PPL_DIRTY_TEMP_COEFFICIENT(lhs);
+        PPL_DIRTY_TEMP_COEFFICIENT(rhs);
+        if (row_itr != row_end && row_itr.index() < *i)
+          row_itr = row.lower_bound(row_itr, *i);
+        PPL_DIRTY_TEMP_COEFFICIENT(row_ja);
+        if (row_itr == row_end || row_itr.index() > *i)
+          row_ja = 0;
+        else {
+          PPL_ASSERT(row_itr.index() == *i);
+          row_ja = *row_itr;
+          ++row_itr;
+        }
+
+        // lhs is actually the left-hand side with toggled sign.
+        // rhs is actually the right-hand side with toggled sign.
+        lhs = sij_b * row_ja;
+        rhs = sij_a * row_jb;
+        if (lhs == rhs)
+          new_candidates.push_back(*i);
+        else
+          if (lhs < rhs) {
+            new_candidates.clear();
+            min_column = *i;
+            row_jb = row_ja;
+            sij_b = sij_a;
+            new_candidates.push_back(min_column);
+          }
+      }
+      WEIGHT_ADD_MUL(68, candidates.size());
+    }
+    using std::swap;
+    swap(candidates, new_candidates);
+  }
+}
+
+/* Find the column j in revised simplex tableau such that
+  - pivot_row[j] is positive;
+  - (column j) / pivot_row[j] is lexico-minimal.
 */
 bool
-find_lexico_minimum_column(const Matrix& tableau,
+find_lexico_minimal_column(const Matrix<PIP_Tree_Node::Row>& tableau,
                            const std::vector<dimension_type>& mapping,
                            const std::vector<bool>& basis,
-                           const Row& pivot_row,
+                           const PIP_Tree_Node::Row& pivot_row,
                            const dimension_type start_j,
                            dimension_type& j_out) {
   WEIGHT_BEGIN();
-  const dimension_type num_cols = tableau.num_columns();
-  bool has_positive_coefficient = false;
+  const dimension_type num_columns = tableau.num_columns();
 
-  j_out = num_cols;
-  for (dimension_type j = start_j; j < num_cols; ++j) {
-    const Coefficient& c = pivot_row[j];
-    if (c <= 0)
-      continue;
-    has_positive_coefficient = true;
-    if (j_out == num_cols
-        || column_lower(tableau, mapping, basis,
-                        pivot_row, j, pivot_row, j_out))
-      j_out = j;
+  PPL_ASSERT(start_j <= pivot_row.size());
+  if (start_j == pivot_row.size())
+    // There are no candidates, so there is no minimum.
+    return false;
+
+  // This is used as a set, it is always sorted.
+  std::vector<dimension_type> candidates;
+  for (PIP_Tree_Node::Row::const_iterator i = pivot_row.lower_bound(start_j),
+         i_end = pivot_row.end(); i != i_end; ++i) {
+    if (*i > 0)
+      candidates.push_back(i.index());
+  }
+  WEIGHT_ADD_MUL(201, candidates.size());
+
+  if (candidates.empty()) {
+    j_out = num_columns;
+    return false;
   }
-  WEIGHT_ADD_MUL(1, num_cols - start_j);
-  return has_positive_coefficient;
+
+  find_lexico_minimal_column_in_set(candidates, tableau,
+                                    mapping, basis, pivot_row);
+  PPL_ASSERT(!candidates.empty());
+  j_out = *(candidates.begin());
+
+  return true;
 }
 
-// Divide all coefficients in row x and denominator y by their GCD.
+// Computes into gcd the GCD of gcd and all coefficients in [first, last).
+template <typename Iter>
 void
-row_normalize(Row& x, Coefficient& den) {
-  if (den == 1)
+gcd_assign_iter(Coefficient& gcd, Iter first, Iter last) {
+  PPL_ASSERT(gcd != 0);
+  if (gcd < 0)
+    neg_assign(gcd);
+  if (gcd == 1)
     return;
   WEIGHT_BEGIN();
-  const dimension_type x_size = x.size();
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  gcd = den;
-  for (dimension_type i = x_size; i-- > 0; ) {
-    const Coefficient& x_i = x[i];
-    if (x_i != 0) {
-      WEIGHT_ADD(1);
-      gcd_assign(gcd, x_i, gcd);
+  for ( ; first != last; ++first) {
+    Coefficient_traits::const_reference coeff = *first;
+    if (coeff != 0) {
+      WEIGHT_ADD(24);
+      gcd_assign(gcd, coeff, gcd);
       if (gcd == 1)
         return;
     }
   }
-  // Divide the coefficients by the GCD.
-  WEIGHT_BEGIN();
-  for (dimension_type i = x_size; i-- > 0; ) {
-    Coefficient& x_i = x[i];
-    exact_div_assign(x_i, x_i, gcd);
-  }
-  WEIGHT_ADD_MUL(1, x_size);
-  // Divide the denominator by the GCD.
-  exact_div_assign(den, den, gcd);
 }
 
 // Simplify row by exploiting variable integrality.
 void
-integral_simplification(Row& row) {
+integral_simplification(PIP_Tree_Node::Row& row) {
   if (row[0] != 0) {
+    PIP_Tree_Node::Row::const_iterator j_begin = row.begin();
+    PIP_Tree_Node::Row::const_iterator j_end = row.end();
+    PPL_ASSERT(j_begin != j_end && j_begin.index() == 0 && *j_begin != 0);
     /* Find next column with a non-zero value (there should be one). */
-    const dimension_type row_size = row.size();
-    PPL_ASSERT(row_size > 1);
-    dimension_type i = 1;
-    for ( ; row[i] == 0; ++i)
-      PPL_ASSERT(i < row_size);
+    ++j_begin;
+    PPL_ASSERT(j_begin != j_end);
+    for ( ; *j_begin == 0; ++j_begin)
+      PPL_ASSERT(j_begin != j_end);
     /* Use it to initialize gcd. */
     PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-    gcd = row[i];
-    for (++i; i < row_size; ++i) {
-      Coefficient_traits::const_reference row_i = row[i];
-      if (row_i != 0) {
-        gcd_assign(gcd, gcd, row_i);
-        if (gcd == 1)
-          break;
-      }
-    }
+    gcd = *j_begin;
+    ++j_begin;
+    gcd_assign_iter(gcd, j_begin, j_end);
     if (gcd != 1) {
       PPL_DIRTY_TEMP_COEFFICIENT(mod);
-      pos_mod_assign(mod, row[0], gcd);
+      pos_rem_assign(mod, row[0], gcd);
       row[0] -= mod;
     }
   }
@@ -333,6 +549,300 @@ integral_simplification(Row& row) {
   row.normalize();
 }
 
+// Divide all coefficients in row x and denominator y by their GCD.
+void
+row_normalize(PIP_Tree_Node::Row& x, Coefficient& denom) {
+  if (denom == 1)
+    return;
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcd = denom;
+  gcd_assign_iter(gcd, x.begin(), x.end());
+
+  // Divide the coefficients by the GCD.
+  WEIGHT_BEGIN();
+  for (PIP_Tree_Node::Row::iterator i = x.begin(),
+         i_end = x.end(); i != i_end; ++i) {
+    Coefficient& x_i = *i;
+    exact_div_assign(x_i, x_i, gcd);
+    WEIGHT_ADD(22);
+  }
+  // Divide the denominator by the GCD.
+  exact_div_assign(denom, denom, gcd);
+}
+
+// This is here because it is used as a template argument in
+// compatibility_check_find_pivot, so it must be a global declaration.
+struct compatibility_check_find_pivot_in_set_data {
+  dimension_type row_index;
+  // We cache cost and value to avoid calling get() multiple times.
+  Coefficient cost;
+  Coefficient value;
+  bool operator==(const compatibility_check_find_pivot_in_set_data& x) const {
+    return row_index == x.row_index;
+  }
+  // Needed by std::vector to sort the values.
+  bool operator<(const compatibility_check_find_pivot_in_set_data& x) const {
+    return row_index < x.row_index;
+  }
+};
+
+void
+compatibility_check_find_pivot_in_set(
+    std::vector<std::pair<dimension_type,
+                          compatibility_check_find_pivot_in_set_data> >&
+        candidates,
+    const Matrix<PIP_Tree_Node::Row>& s,
+    const std::vector<dimension_type>& mapping,
+    const std::vector<bool>& basis) {
+
+  typedef compatibility_check_find_pivot_in_set_data data_struct;
+  typedef std::vector<std::pair<dimension_type, data_struct> > candidates_t;
+  // This is used as a set, it is always sorted.
+  candidates_t new_candidates;
+  const dimension_type num_vars = mapping.size();
+  for (dimension_type var_index = 0; var_index < num_vars; ++var_index) {
+    const dimension_type row_index = mapping[var_index];
+    const bool in_base = basis[var_index];
+    candidates_t::const_iterator i = candidates.begin();
+    candidates_t::const_iterator i_end = candidates.end();
+    PPL_ASSERT(i != i_end);
+    dimension_type pj = i->first;
+    Coefficient cost = i->second.cost;
+    Coefficient value = i->second.value;
+    new_candidates.clear();
+    new_candidates.push_back(*i);
+    if (in_base) {
+      for (++i; i != i_end; ++i) {
+        bool found_better_pivot = false;
+
+        const dimension_type challenger_j = i->first;
+        Coefficient_traits::const_reference challenger_cost = i->second.cost;
+        PPL_ASSERT(value > 0);
+        PPL_ASSERT(i->second.value > 0);
+        PPL_ASSERT(pj < challenger_j);
+
+        const int lhs_coeff_sgn = sgn(cost);
+        const int rhs_coeff_sgn = sgn(challenger_cost);
+
+        PPL_ASSERT(pj != challenger_j);
+
+        // Reconstitute the identity submatrix part of tableau.
+        if (row_index == pj) {
+          // Optimizing for: lhs == lhs_coeff && rhs == 0;
+          if (lhs_coeff_sgn == 0)
+            new_candidates.push_back(*i);
+          else
+            found_better_pivot = (lhs_coeff_sgn > 0);
+        }
+        else {
+          if (row_index == challenger_j) {
+            // Optimizing for: lhs == 0 && rhs == rhs_coeff;
+            if (rhs_coeff_sgn == 0)
+              new_candidates.push_back(*i);
+            else
+              found_better_pivot = (0 > rhs_coeff_sgn);
+          }
+          else
+            // Optimizing for: lhs == 0 && rhs == 0;
+            new_candidates.push_back(*i);
+        }
+        if (found_better_pivot) {
+          pj = challenger_j;
+          cost = challenger_cost;
+          value = i->second.value;
+          new_candidates.clear();
+          new_candidates.push_back(*i);
+        }
+      }
+    }
+    else {
+      // Not in base.
+      const PIP_Tree_Node::Row& row = s[row_index];
+      PIP_Tree_Node::Row::const_iterator row_itr = row.lower_bound(pj);
+      PIP_Tree_Node::Row::const_iterator new_row_itr;
+      PIP_Tree_Node::Row::const_iterator row_end = row.end();
+      PPL_DIRTY_TEMP_COEFFICIENT(row_value);
+      if (row_itr != row_end && row_itr.index() == pj) {
+        row_value = *row_itr;
+        ++row_itr;
+      }
+      else
+        row_value = 0;
+      PPL_DIRTY_TEMP_COEFFICIENT(row_challenger_value);
+      for (++i; i != i_end; ++i) {
+        const dimension_type challenger_j = i->first;
+        Coefficient_traits::const_reference challenger_cost = i->second.cost;
+        Coefficient_traits::const_reference challenger_value
+          = i->second.value;
+        PPL_ASSERT(value > 0);
+        PPL_ASSERT(challenger_value > 0);
+        PPL_ASSERT(pj < challenger_j);
+
+        new_row_itr = row.find(row_itr, challenger_j);
+        if (new_row_itr != row.end()) {
+          row_challenger_value = *new_row_itr;
+          // Use new_row_itr as a hint in next iterations
+          row_itr = new_row_itr;
+        }
+        else {
+          row_challenger_value = 0;
+          // Using end() as a hint is not useful, keep the current hint.
+        }
+        PPL_ASSERT(row_challenger_value == row.get(challenger_j));
+
+        // Before computing and comparing the actual values, the signs are
+        // compared. This speeds up the code, because the values' computation
+        // is a bit expensive.
+
+        int lhs_sign = sgn(cost) * sgn(row_value);
+        int rhs_sign = sgn(challenger_cost) * sgn(row_challenger_value);
+
+        if (lhs_sign != rhs_sign) {
+          if (lhs_sign > rhs_sign) {
+            pj = challenger_j;
+            cost = challenger_cost;
+            value = challenger_value;
+            row_value = row_challenger_value;
+            new_candidates.clear();
+            new_candidates.push_back(*i);
+          }
+        }
+        else {
+
+          // Sign comparison is not enough this time.
+          // Do the full computation.
+
+          PPL_DIRTY_TEMP_COEFFICIENT(lhs);
+          lhs = cost;
+          lhs *= challenger_value;
+          PPL_DIRTY_TEMP_COEFFICIENT(rhs);
+          rhs = challenger_cost;
+          rhs *= value;
+
+          lhs *= row_value;
+          rhs *= row_challenger_value;
+
+          if (lhs == rhs)
+            new_candidates.push_back(*i);
+          else {
+            if (lhs > rhs) {
+              pj = challenger_j;
+              cost = challenger_cost;
+              value = challenger_value;
+              row_value = row_challenger_value;
+              new_candidates.clear();
+              new_candidates.push_back(*i);
+            }
+          }
+        }
+      }
+    }
+    using std::swap;
+    swap(candidates, new_candidates);
+  }
+}
+
+// Returns false if there is not a positive pivot candidate.
+// Otherwise, it sets pi, pj to the coordinates of the pivot in s.
+bool
+compatibility_check_find_pivot(const Matrix<PIP_Tree_Node::Row>& s,
+                               const std::vector<dimension_type>& mapping,
+                               const std::vector<bool>& basis,
+                               dimension_type& pi, dimension_type& pj) {
+  // Look for a negative RHS (i.e., constant term, stored in column 0),
+  // maximizing pivot column.
+  const dimension_type num_rows = s.num_rows();
+  typedef compatibility_check_find_pivot_in_set_data data_struct;
+  // This is used as a set, it is always sorted.
+  typedef std::vector<std::pair<dimension_type, data_struct> > candidates_t;
+  typedef std::map<dimension_type,data_struct> candidates_map_t;
+  candidates_map_t candidates_map;
+  for (dimension_type i = 0; i < num_rows; ++i) {
+    const PIP_Tree_Node::Row& s_i = s[i];
+    Coefficient_traits::const_reference s_i0 = s_i.get(0);
+    if (s_i0 < 0) {
+      dimension_type j;
+      if (!find_lexico_minimal_column(s, mapping, basis, s_i, 1, j)) {
+        // No positive pivot candidate: unfeasible problem.
+        return false;
+      }
+      Coefficient_traits::const_reference s_ij = s_i.get(j);
+      candidates_map_t::iterator itr = candidates_map.find(j);
+      if (itr == candidates_map.end()) {
+        data_struct& current_data = candidates_map[j];
+        current_data.row_index = i;
+        current_data.cost = s_i0;
+        current_data.value = s_ij;
+      }
+      else {
+        data_struct& current_data = candidates_map[j];
+        PPL_ASSERT(current_data.value > 0);
+
+        // Before computing and comparing the actual values, the signs are
+        // compared. This speeds up the code, because the values' computation
+        // is a bit expensive.
+        int lhs_coeff_sgn = sgn(current_data.cost);
+        int rhs_coeff_sgn = sgn(s_i0);
+
+        if (lhs_coeff_sgn != rhs_coeff_sgn) {
+          // Same column: just compare the ratios.
+          // This works since all columns are lexico-positive:
+          // return cst_a * sij_b > cst_b * sij_a.
+          if (lhs_coeff_sgn > rhs_coeff_sgn) {
+            // Found better pivot
+            current_data.row_index = i;
+            current_data.cost = s_i0;
+            current_data.value = s_ij;
+          }
+          // Otherwise, keep current pivot for this column.
+        }
+        else {
+          // Sign comparison is not enough this time.
+          // Do the full computation.
+          Coefficient_traits::const_reference value_b = s_i.get(j);
+          PPL_ASSERT(value_b > 0);
+
+          PPL_DIRTY_TEMP_COEFFICIENT(lhs_coeff);
+          lhs_coeff = current_data.cost;
+          lhs_coeff *= value_b;
+
+          PPL_DIRTY_TEMP_COEFFICIENT(rhs_coeff);
+          rhs_coeff = s_i0;
+          rhs_coeff *= current_data.value;
+
+          // Same column: just compare the ratios.
+          // This works since all columns are lexico-positive:
+          // return cst_a * sij_b > cst_b * sij_a.
+          if (lhs_coeff > rhs_coeff) {
+            // Found better pivot
+            current_data.row_index = i;
+            current_data.cost = s_i0;
+            current_data.value = s_ij;
+          }
+          // Otherwise, keep current pivot for this column.
+        }
+      }
+    }
+  }
+  candidates_t candidates;
+  for (candidates_map_t::iterator
+         i = candidates_map.begin(), i_end = candidates_map.end();
+       i != i_end; ++i)
+    candidates.push_back(*i);
+  if (!candidates.empty()) {
+    compatibility_check_find_pivot_in_set(candidates, s, mapping, basis);
+    PPL_ASSERT(!candidates.empty());
+    pi = candidates.begin()->second.row_index;
+    pj = candidates.begin()->first;
+  }
+  else {
+    pi = s.num_rows();
+    pj = 0;
+  }
+
+  return true;
+}
+
 } // namespace
 
 namespace IO_Operators {
@@ -368,8 +878,8 @@ PIP_Tree_Node::PIP_Tree_Node(const PIP_Tree_Node& y)
 
 PIP_Tree_Node::Artificial_Parameter
 ::Artificial_Parameter(const Linear_Expression& expr,
-                       Coefficient_traits::const_reference den)
-  : Linear_Expression(expr), denom(den) {
+                       Coefficient_traits::const_reference d)
+  : Linear_Expression(expr), denom(d) {
   if (denom == 0)
     throw std::invalid_argument("PIP_Tree_Node::Artificial_Parameter(e, d): "
                                 "denominator d is zero.");
@@ -379,43 +889,28 @@ PIP_Tree_Node::Artificial_Parameter
   Linear_Expression& param_expr = *this;
   if (denom < 0) {
     neg_assign(denom);
-    param_expr *= -1;
+    neg_assign(param_expr);
   }
 
-  // Compute GCD of parameter expression and denum.
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  gcd = denom;
-  gcd_assign(gcd, param_expr.inhomogeneous_term(), gcd);
+  // Compute GCD of parameter expression and denominator.
+
+  Coefficient gcd = param_expr.gcd(0, space_dimension() + 1);
+
+  if (gcd == 1)
+    return;
+
+  if (gcd == 0)
+    gcd = denom;
+  else
+    gcd_assign(gcd, denom, gcd);
+
   if (gcd == 1)
     return;
-  const dimension_type space_dim = param_expr.space_dimension();
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    Coefficient_traits::const_reference
-      e_i = param_expr.coefficient(Variable(i));
-    if (e_i != 0) {
-      gcd_assign(gcd, e_i, gcd);
-      if (gcd == 1)
-        return;
-    }
-  }
 
   // Divide coefficients and denominator by their (non-trivial) GCD.
   PPL_ASSERT(gcd > 1);
-  Linear_Expression normalized(0 * Variable(space_dim-1));
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  exact_div_assign(coeff, param_expr.inhomogeneous_term(), gcd);
-  normalized += coeff;
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    Coefficient_traits::const_reference
-      e_i = param_expr.coefficient(Variable(i));
-    if (e_i != 0) {
-      exact_div_assign(coeff, e_i, gcd);
-      add_mul_assign(normalized, coeff, Variable(i));
-    }
-  }
-  // Replace the parameter expression with the normalized one.
-  param_expr = normalized;
-  exact_div_assign(denom, denom, gcd);
+  param_expr.exact_div_assign(gcd, 0, space_dimension() + 1);
+  Parma_Polyhedra_Library::exact_div_assign(denom, denom, gcd);
 
   PPL_ASSERT(OK());
 }
@@ -428,12 +923,7 @@ PIP_Tree_Node::Artificial_Parameter
     return false;
   if (x.denom != y.denom)
     return false;
-  if (x.inhomogeneous_term() != y.inhomogeneous_term())
-    return false;
-  for (dimension_type i = x.space_dimension(); i-- > 0; )
-    if (x.coefficient(Variable(i)) != y.coefficient(Variable(i)))
-      return false;
-  return true;
+  return x.is_equal_to(y);
 }
 
 bool
@@ -567,9 +1057,9 @@ PIP_Solution_Node::set_owner(const PIP_Problem* owner) {
 void
 PIP_Decision_Node::set_owner(const PIP_Problem* owner) {
   owner_ = owner;
-  if (false_child)
+  if (false_child != 0)
     false_child->set_owner(owner);
-  if (true_child)
+  if (true_child != 0)
     true_child->set_owner(owner);
 }
 
@@ -581,27 +1071,27 @@ PIP_Solution_Node::check_ownership(const PIP_Problem* owner) const {
 bool
 PIP_Decision_Node::check_ownership(const PIP_Problem* owner) const {
   return get_owner() == owner
-    && (!false_child || false_child->check_ownership(owner))
-    && (!true_child || true_child->check_ownership(owner));
+    && (false_child == 0 || false_child->check_ownership(owner))
+    && (true_child == 0 || true_child->check_ownership(owner));
 }
 
-const PIP_Solution_Node*
-PIP_Tree_Node::as_solution() const {
-  return 0;
+const PIP_Decision_Node*
+PIP_Decision_Node::as_decision() const {
+  return this;
 }
 
 const PIP_Decision_Node*
-PIP_Tree_Node::as_decision() const {
+PIP_Solution_Node::as_decision() const {
   return 0;
 }
 
 const PIP_Solution_Node*
-PIP_Solution_Node::as_solution() const {
-  return this;
+PIP_Decision_Node::as_solution() const {
+  return 0;
 }
 
-const PIP_Decision_Node*
-PIP_Decision_Node::as_decision() const {
+const PIP_Solution_Node*
+PIP_Solution_Node::as_solution() const {
   return this;
 }
 
@@ -624,7 +1114,8 @@ PIP_Solution_Node::Tableau::OK() const {
 
   if (denom <= 0) {
 #ifndef NDEBUG
-    std::cerr << "PIP_Solution_Node::Tableau with non-positive denominator.\n";
+    std::cerr << "PIP_Solution_Node::Tableau with non-positive "
+              << "denominator.\n";
 #endif
     return false;
   }
@@ -640,12 +1131,10 @@ PIP_Tree_Node::OK() const {
   using std::cerr;
 #endif
 
-  const Constraint_System::const_iterator begin = constraints_.begin();
-  const Constraint_System::const_iterator end = constraints_.end();
-
   // Parameter constraint system should contain no strict inequalities.
-  for (Constraint_System::const_iterator ci = begin; ci != end; ++ci)
-    if (ci->is_strict_inequality()) {
+  for (Constraint_System::const_iterator
+         i = constraints_.begin(), i_end = constraints_.end(); i != i_end; ++i)
+    if (i->is_strict_inequality()) {
 #ifndef NDEBUG
       cerr << "The feasible region of the PIP_Problem parameter context"
            << "is defined by a constraint system containing strict "
@@ -661,22 +1150,28 @@ PIP_Tree_Node::OK() const {
 void
 PIP_Tree_Node
 ::add_constraint(const Row& row, const Variables_Set& parameters) {
-  const dimension_type num_params = parameters.size();
-  PPL_ASSERT(num_params + 1 == row.size());
-
   // Compute the expression for the parameter constraint.
-  Linear_Expression expr = Linear_Expression(row[0]);
-  // NOTE: iterating downward on parameters to avoid reallocations.
-  Variables_Set::const_reverse_iterator p_j = parameters.rbegin();
-  // NOTE: index j spans [1..num_params] downwards.
-  WEIGHT_BEGIN();
-  for (dimension_type j = num_params; j > 0; --j) {
-    add_mul_assign(expr, row[j], Variable(*p_j));
-    // Move to previous parameter.
-    ++p_j;
+  Linear_Expression expr = Linear_Expression(row.get(0));
+  Variables_Set::const_iterator j = parameters.begin();
+  if (!parameters.empty()) {
+    // Needed to avoid reallocations in expr when iterating upward.
+    add_mul_assign(expr, 0, Variable(*(parameters.rbegin())));
+    // The number of increments of j plus one.
+    dimension_type j_index = 1;
+    Row::const_iterator i = row.begin();
+    Row::const_iterator i_end = row.end();
+    if (i != i_end && i.index() == 0)
+      ++i;
+    // NOTE: iterating in [1..num_params].
+    WEIGHT_BEGIN();
+    for ( ; i != i_end; ++i) {
+      PPL_ASSERT(i.index() <= parameters.size());
+      std::advance(j, i.index() - j_index);
+      j_index = i.index();
+      WEIGHT_ADD(74);
+      add_mul_assign(expr, *i, Variable(*j));
+    }
   }
-  WEIGHT_ADD_MUL(1, num_params);
-
   // Add the parameter constraint.
   constraints_.insert(expr >= 0);
 }
@@ -726,7 +1221,7 @@ PIP_Solution_Node::OK() const {
 #ifndef NDEBUG
     cerr << "The number of elements in the PIP_Solution_Node::var_column "
          << "vector is different from the number of columns in the "
-         << "PIP_Solution_Node::tableau.s Matrix.\n";
+         << "PIP_Solution_Node::tableau.s matrix.\n";
 #endif
     return false;
   }
@@ -734,25 +1229,27 @@ PIP_Solution_Node::OK() const {
 #ifndef NDEBUG
     cerr << "The number of elements in the PIP_Solution_Node::var_row "
          << "vector is different from the number of rows in the "
-         << "PIP_Solution_Node::tableau.s Matrix.\n";
+         << "PIP_Solution_Node::tableau.s matrix.\n";
 #endif
     return false;
   }
   for (dimension_type i = mapping.size(); i-- > 0; ) {
-    const dimension_type rowcol = mapping[i];
-    if (basis[i] && var_column[rowcol] != i) {
+    const dimension_type row_column = mapping[i];
+    if (basis[i] && var_column[row_column] != i) {
 #ifndef NDEBUG
       cerr << "Variable " << i << " is basic and corresponds to column "
-           << rowcol << " but PIP_Solution_Node::var_column[" << rowcol
-           << "] does not correspond to variable " << i << ".\n";
+           << row_column << " but PIP_Solution_Node::var_column["
+           << row_column << "] does not correspond to variable " << i
+           << ".\n";
 #endif
       return false;
     }
-    if (!basis[i] && var_row[rowcol] != i) {
+    if (!basis[i] && var_row[row_column] != i) {
 #ifndef NDEBUG
       cerr << "Variable " << i << " is nonbasic and corresponds to row "
-           << rowcol << " but PIP_Solution_Node::var_row[" << rowcol
-           << "] does not correspond to variable " << i << ".\n";
+           << row_column << " but PIP_Solution_Node::var_row["
+           << row_column << "] does not correspond to variable " << i
+           << ".\n";
 #endif
       return false;
     }
@@ -768,13 +1265,13 @@ PIP_Decision_Node::OK() const {
     return false;
 
   // Recursively check if child nodes are well-formed.
-  if (false_child && !false_child->OK())
+  if (false_child != 0 && !false_child->OK())
     return false;
-  if (true_child && !true_child->OK())
+  if (true_child != 0 && !true_child->OK())
     return false;
 
   // Decision nodes should always have a true child.
-  if (!true_child) {
+  if (true_child == 0) {
 #ifndef NDEBUG
     std::cerr << "PIP_Decision_Node with no 'true' child.\n";
 #endif
@@ -782,9 +1279,8 @@ PIP_Decision_Node::OK() const {
   }
 
   // Decision nodes with a false child must have exactly one constraint.
-  if (false_child) {
-    dimension_type
-      dist = std::distance(constraints_.begin(), constraints_.end());
+  if (false_child != 0) {
+    dimension_type dist = Implementation::num_constraints(constraints_);
     if (dist != 1) {
 #ifndef NDEBUG
       std::cerr << "PIP_Decision_Node with a 'false' child has "
@@ -799,17 +1295,19 @@ PIP_Decision_Node::OK() const {
 }
 
 void
-PIP_Decision_Node::update_tableau(const PIP_Problem& pip,
-                                  const dimension_type external_space_dim,
-                                  const dimension_type first_pending_constraint,
-                                  const Constraint_Sequence& input_cs,
-                                  const Variables_Set& parameters) {
+PIP_Decision_Node::update_tableau(
+    const PIP_Problem& pip,
+    const dimension_type external_space_dim,
+    const dimension_type first_pending_constraint,
+    const Constraint_Sequence& input_cs,
+    const Variables_Set& parameters) {
+
   true_child->update_tableau(pip,
                              external_space_dim,
                              first_pending_constraint,
                              input_cs,
                              parameters);
-  if (false_child)
+  if (false_child != 0)
     false_child->update_tableau(pip,
                                 external_space_dim,
                                 first_pending_constraint,
@@ -821,24 +1319,25 @@ PIP_Decision_Node::update_tableau(const PIP_Problem& pip,
 PIP_Tree_Node*
 PIP_Decision_Node::solve(const PIP_Problem& pip,
                          const bool check_feasible_context,
-                         const Matrix& context,
+                         const Matrix<Row>& context,
                          const Variables_Set& params,
                          dimension_type space_dim,
-                         const unsigned indent_level) {
+                         const int indent_level) {
+  PPL_ASSERT(indent_level >= 0);
 #ifdef NOISY_PIP_TREE_STRUCTURE
   indent_and_print(std::cerr, indent_level, "=== SOLVING DECISION NODE\n");
 #else
-  used(indent_level);
+  PPL_USED(indent_level);
 #endif
   PPL_ASSERT(true_child != 0);
-  Matrix context_true(context);
+  Matrix<Row> context_true(context);
   Variables_Set all_params(params);
   const dimension_type num_art_params = artificial_parameters.size();
   add_artificial_parameters(context_true, all_params, space_dim,
                             num_art_params);
   merge_assign(context_true, constraints_, all_params);
-  bool has_false_child = (false_child != 0);
-  bool has_true_child = (true_child != 0);
+  const bool has_false_child = (false_child != 0);
+  const bool has_true_child = (true_child != 0);
 #ifdef NOISY_PIP_TREE_STRUCTURE
   indent_and_print(std::cerr, indent_level,
                    "=== DECISION: SOLVING THEN CHILD\n");
@@ -849,10 +1348,10 @@ PIP_Decision_Node::solve(const PIP_Problem& pip,
 
   if (has_false_child) {
     // Decision nodes with false child must have exactly one constraint
-    PPL_ASSERT(1 == std::distance(constraints_.begin(), constraints_.end()));
+    PPL_ASSERT(1 == Implementation::num_constraints(constraints_));
     // NOTE: modify context_true in place, complementing its last constraint.
-    Matrix& context_false = context_true;
-    Row& last = context_false[context_false.num_rows()-1];
+    Matrix<Row>& context_false = context_true;
+    Row& last = context_false[context_false.num_rows() - 1];
     complement_assign(last, last, 1);
 #ifdef NOISY_PIP_TREE_STRUCTURE
     indent_and_print(std::cerr, indent_level,
@@ -864,7 +1363,7 @@ PIP_Decision_Node::solve(const PIP_Problem& pip,
   }
 
   if (true_child == 0 && false_child == 0) {
-    // No childs: the whole subtree is unfeasible.
+    // No children: the whole subtree is unfeasible.
 #ifdef NOISY_PIP_TREE_STRUCTURE
     indent_and_print(std::cerr, indent_level,
                      "=== DECISION: BOTH BRANCHES NOW UNFEASIBLE: _|_\n");
@@ -912,15 +1411,15 @@ PIP_Decision_Node::solve(const PIP_Problem& pip,
     // Test all constraints for redundancy with the context, and eliminate
     // them if not necessary.
     Constraint_System cs;
-    cs.swap(constraints_);
-    const Constraint_System::const_iterator end = cs.end();
-    for (Constraint_System::const_iterator ci = cs.begin(); ci != end; ++ci) {
-      Matrix ctx_copy(context);
+    swap(cs, constraints_);
+    for (Constraint_System::const_iterator ci = cs.begin(),
+           ci_end = cs.end(); ci != ci_end; ++ci) {
+      Matrix<Row> ctx_copy(context);
       merge_assign(ctx_copy, Constraint_System(*ci), all_params);
       Row& last = ctx_copy[ctx_copy.num_rows()-1];
       complement_assign(last, last, 1);
       if (compatibility_check(ctx_copy)) {
-        // The constraint is not redundant with the context: we must keep it.
+        // The constraint is not redundant with the context: keep it.
         constraints_.insert(*ci);
       }
     }
@@ -1066,8 +1565,6 @@ PIP_Solution_Node::Tableau::normalize() {
     return;
 
   const dimension_type num_rows = s.num_rows();
-  const dimension_type s_cols = s.num_columns();
-  const dimension_type t_cols = t.num_columns();
 
   // Compute global gcd.
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
@@ -1075,10 +1572,11 @@ PIP_Solution_Node::Tableau::normalize() {
   for (dimension_type i = num_rows; i-- > 0; ) {
     WEIGHT_BEGIN();
     const Row& s_i = s[i];
-    for (dimension_type j = s_cols; j-- > 0; ) {
-      const Coefficient& s_ij = s_i[j];
+    for (Row::const_iterator
+           j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j) {
+      Coefficient_traits::const_reference s_ij = *j;
       if (s_ij != 0) {
-        WEIGHT_ADD(1);
+        WEIGHT_ADD(30);
         gcd_assign(gcd, s_ij, gcd);
         if (gcd == 1)
           return;
@@ -1086,33 +1584,34 @@ PIP_Solution_Node::Tableau::normalize() {
     }
     WEIGHT_BEGIN();
     const Row& t_i = t[i];
-    for (dimension_type j = t_cols; j-- > 0; ) {
-      const Coefficient& t_ij = t_i[j];
+    for (Row::const_iterator
+           j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+      Coefficient_traits::const_reference t_ij = *j;
       if (t_ij != 0) {
-        WEIGHT_ADD(1);
+        WEIGHT_ADD(14);
         gcd_assign(gcd, t_ij, gcd);
         if (gcd == 1)
           return;
       }
     }
   }
-
   PPL_ASSERT(gcd > 1);
   // Normalize all coefficients.
   WEIGHT_BEGIN();
   for (dimension_type i = num_rows; i-- > 0; ) {
     Row& s_i = s[i];
-    for (dimension_type j = s_cols; j-- > 0; ) {
-      Coefficient& s_ij = s_i[j];
+    for (Row::iterator j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j) {
+      Coefficient& s_ij = *j;
+      WEIGHT_ADD(19);
       exact_div_assign(s_ij, s_ij, gcd);
     }
     Row& t_i = t[i];
-    for (dimension_type j = t_cols; j-- > 0; ) {
-      Coefficient& t_ij = t_i[j];
+    for (Row::iterator j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+      Coefficient& t_ij = *j;
+      WEIGHT_ADD(27);
       exact_div_assign(t_ij, t_ij, gcd);
     }
   }
-  WEIGHT_ADD_MUL(s_cols + t_cols, num_rows);
   // Normalize denominator.
   exact_div_assign(denom, denom, gcd);
 }
@@ -1120,18 +1619,18 @@ PIP_Solution_Node::Tableau::normalize() {
 void
 PIP_Solution_Node::Tableau::scale(Coefficient_traits::const_reference ratio) {
   WEIGHT_BEGIN();
-  const dimension_type num_rows = s.num_rows();
-  const dimension_type s_cols = s.num_columns();
-  const dimension_type t_cols = t.num_columns();
-  for (dimension_type i = num_rows; i-- > 0; ) {
+  for (dimension_type i = s.num_rows(); i-- > 0; ) {
     Row& s_i = s[i];
-    for (dimension_type j = s_cols; j-- > 0; )
-      s_i[j] *= ratio;
+    for (Row::iterator j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j) {
+      WEIGHT_ADD(19);
+      *j *= ratio;
+    }
     Row& t_i = t[i];
-    for (dimension_type j = t_cols; j-- > 0; )
-      t_i[j] *= ratio;
+    for (Row::iterator j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+      WEIGHT_ADD(25);
+      *j *= ratio;
+    }
   }
-  WEIGHT_ADD_MUL(s_cols + t_cols, num_rows);
   denom *= ratio;
 }
 
@@ -1147,30 +1646,70 @@ PIP_Solution_Node::Tableau
   const dimension_type num_rows = s.num_rows();
   const Row& s_0 = s[row_0];
   const Row& s_1 = s[row_1];
-  const Coefficient& s_0_0 = s_0[col_0];
-  const Coefficient& s_1_1 = s_1[col_1];
+  Coefficient_traits::const_reference s_0_0 = s_0.get(col_0);
+  Coefficient_traits::const_reference s_1_1 = s_1.get(col_1);
   const Row& t_0 = t[row_0];
   const Row& t_1 = t[row_1];
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff_0);
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff_1);
   PPL_DIRTY_TEMP_COEFFICIENT(product_0);
   PPL_DIRTY_TEMP_COEFFICIENT(product_1);
   WEIGHT_BEGIN();
   // On exit from the loop, if j_mismatch == num_params then
   // no column mismatch was found.
   dimension_type j_mismatch = num_params;
-  for (dimension_type j = 0; j < num_params; ++j) {
-    coeff_0 = t_0[j] * s_1_1;
-    coeff_1 = t_1[j] * s_0_0;
-    WEIGHT_ADD(2);
-    for (dimension_type i = 0; i < num_rows; ++i) {
-      const Row& s_i = s[i];
-      product_0 = coeff_0 * s_i[col_0];
-      product_1 = coeff_1 * s_i[col_1];
-      WEIGHT_ADD(2);
-      if (product_0 != product_1) {
+  Row::const_iterator j0 = t_0.end();
+  Row::const_iterator j0_end = t_0.end();
+  Row::const_iterator j1 = t_1.end();
+  Row::const_iterator j1_end = t_1.end();
+  for (dimension_type i = 0; i < num_rows; ++i) {
+    const Row& s_i = s[i];
+    Coefficient_traits::const_reference s_i_col_0 = s_i.get(col_0);
+    Coefficient_traits::const_reference s_i_col_1 = s_i.get(col_1);
+    j0 = t_0.begin();
+    j1 = t_1.begin();
+    while (j0 != j0_end && j1 != j1_end) {
+      if (j0.index() == j1.index()) {
+        WEIGHT_ADD(1361);
+        product_0 = (*j0) * s_1_1 * s_i_col_0;
+        product_1 = (*j1) * s_0_0 * s_i_col_1;
+        if (product_0 != product_1) {
+          // Mismatch found: exit from both loops.
+          j_mismatch = j0.index();
+          goto end_loop;
+        }
+        ++j0;
+        ++j1;
+      }
+      else
+        if (j0.index() < j1.index()) {
+          if (*j0 != 0 && s_1_1 != 0 && s_i_col_0 != 0) {
+            // Mismatch found: exit from both loops.
+            j_mismatch = j0.index();
+            goto end_loop;
+          }
+          ++j0;
+        }
+        else {
+          PPL_ASSERT(j0.index() > j1.index());
+          if (*j1 != 0 && s_0_0 != 0 && s_i_col_1 != 0) {
+            // Mismatch found: exit from both loops.
+            j_mismatch = j1.index();
+            goto end_loop;
+          }
+          ++j1;
+        }
+    }
+    while (j0 != j0_end) {
+      if (*j0 != 0 && s_1_1 != 0 && s_i_col_0 != 0) {
+        // Mismatch found: exit from both loops.
+        j_mismatch = j0.index();
+        goto end_loop;
+      }
+      ++j0;
+    }
+    while (j1 != j1_end) {
+      if (*j1 != 0 && s_0_0 != 0 && s_i_col_1 != 0) {
         // Mismatch found: exit from both loops.
-        j_mismatch = j;
+        j_mismatch = j1.index();
         goto end_loop;
       }
     }
@@ -1178,8 +1717,7 @@ PIP_Solution_Node::Tableau
 
  end_loop:
   return (j_mismatch != num_params)
-    && column_lower(s, mapping, basis, s_0, col_0, s_1, col_1,
-                    t_0[j_mismatch], t_1[j_mismatch]);
+    && column_lower(s, mapping, basis, s_0, col_0, s_1, col_1, *j0, *j1);
 }
 
 void
@@ -1229,123 +1767,123 @@ PIP_Decision_Node::clone() const {
 }
 
 void
-PIP_Solution_Node::Tableau::ascii_dump(std::ostream& st) const {
-  st << "denominator " << denom << "\n";
-  st << "variables ";
-  s.ascii_dump(st);
-  st << "parameters ";
-  t.ascii_dump(st);
+PIP_Solution_Node::Tableau::ascii_dump(std::ostream& os) const {
+  os << "denominator " << denom << "\n";
+  os << "variables ";
+  s.ascii_dump(os);
+  os << "parameters ";
+  t.ascii_dump(os);
 }
 
 bool
-PIP_Solution_Node::Tableau::ascii_load(std::istream& st) {
+PIP_Solution_Node::Tableau::ascii_load(std::istream& is) {
   std::string str;
-  if (!(st >> str) || str != "denominator")
+  if (!(is >> str) || str != "denominator")
     return false;
-  Coefficient den;
-  if (!(st >> den))
+  Coefficient d;
+  if (!(is >> d))
     return false;
-  denom = den;
-  if (!(st >> str) || str != "variables")
+  denom = d;
+  if (!(is >> str) || str != "variables")
     return false;
-  if (!s.ascii_load(st))
+  if (!s.ascii_load(is))
     return false;
-  if (!(st >> str) || str != "parameters")
+  if (!(is >> str) || str != "parameters")
     return false;
-  if (!t.ascii_load(st))
+  if (!t.ascii_load(is))
     return false;
   PPL_ASSERT(OK());
   return true;
 }
 
 void
-PIP_Solution_Node::ascii_dump(std::ostream& s) const {
-  PIP_Tree_Node::ascii_dump(s);
+PIP_Solution_Node::ascii_dump(std::ostream& os) const {
+  PIP_Tree_Node::ascii_dump(os);
 
-  s << "\ntableau\n";
-  tableau.ascii_dump(s);
+  os << "\ntableau\n";
+  tableau.ascii_dump(os);
 
-  s << "\nbasis ";
+  os << "\nbasis ";
   dimension_type basis_size = basis.size();
-  s << basis_size;
+  os << basis_size;
   for (dimension_type i = 0; i < basis_size; ++i)
-    s << (basis[i] ? " true" : " false");
+    os << (basis[i] ? " true" : " false");
 
-  s << "\nmapping ";
+  os << "\nmapping ";
   dimension_type mapping_size = mapping.size();
-  s << mapping_size;
+  os << mapping_size;
   for (dimension_type i = 0; i < mapping_size; ++i)
-    s << " " << mapping[i];
+    os << " " << mapping[i];
 
-  s << "\nvar_row ";
+  os << "\nvar_row ";
   dimension_type var_row_size = var_row.size();
-  s << var_row_size;
+  os << var_row_size;
   for (dimension_type i = 0; i < var_row_size; ++i)
-    s << " " << var_row[i];
+    os << " " << var_row[i];
 
-  s << "\nvar_column ";
+  os << "\nvar_column ";
   dimension_type var_column_size = var_column.size();
-  s << var_column_size;
+  os << var_column_size;
   for (dimension_type i = 0; i < var_column_size; ++i)
-    s << " " << var_column[i];
-  s << "\n";
+    os << " " << var_column[i];
+  os << "\n";
 
-  s << "special_equality_row " << special_equality_row << "\n";
-  s << "big_dimension " << big_dimension << "\n";
+  os << "special_equality_row " << special_equality_row << "\n";
+  os << "big_dimension " << big_dimension << "\n";
 
-  s << "sign ";
+  os << "sign ";
   dimension_type sign_size = sign.size();
-  s << sign_size;
+  os << sign_size;
   for (dimension_type i = 0; i < sign_size; ++i) {
-    s << " ";
+    os << " ";
     switch (sign[i]) {
     case UNKNOWN:
-      s << "UNKNOWN";
+      os << "UNKNOWN";
       break;
     case ZERO:
-      s << "ZERO";
+      os << "ZERO";
       break;
     case POSITIVE:
-      s << "POSITIVE";
+      os << "POSITIVE";
       break;
     case NEGATIVE:
-      s << "NEGATIVE";
+      os << "NEGATIVE";
       break;
     case MIXED:
-      s << "MIXED";
+      os << "MIXED";
       break;
     }
   }
-  s << "\n";
+  os << "\n";
 
   dimension_type solution_size = solution.size();
-  s << "solution " << solution_size << "\n";
+  os << "solution " << solution_size << "\n";
   for (dimension_type i = 0; i < solution_size; ++i)
-    solution[i].ascii_dump(s);
-  s << "\n";
+    solution[i].ascii_dump(os);
+  os << "\n";
 
-  s << "solution_valid " << (solution_valid ? "true" : "false") << "\n";
+  os << "solution_valid " << (solution_valid ? "true" : "false") << "\n";
 }
 
 bool
-PIP_Solution_Node::ascii_load(std::istream& s) {
-  if (!PIP_Tree_Node::ascii_load(s))
+PIP_Solution_Node::ascii_load(std::istream& is) {
+  if (!PIP_Tree_Node::ascii_load(is))
     return false;
 
   std::string str;
-  if (!(s >> str) || str != "tableau")
+  if (!(is >> str) || str != "tableau")
     return false;
-  if (!tableau.ascii_load(s))
+  if (!tableau.ascii_load(is))
     return false;
 
-  if (!(s >> str) || str != "basis")
+  if (!(is >> str) || str != "basis")
     return false;
   dimension_type basis_size;
-  if (!(s >> basis_size))
+  if (!(is >> basis_size))
     return false;
   basis.clear();
   for (dimension_type i = 0; i < basis_size; ++i) {
-    if (!(s >> str))
+    if (!(is >> str))
       return false;
     bool val = false;
     if (str == "true")
@@ -1355,63 +1893,63 @@ PIP_Solution_Node::ascii_load(std::istream& s) {
     basis.push_back(val);
   }
 
-  if (!(s >> str) || str != "mapping")
+  if (!(is >> str) || str != "mapping")
     return false;
   dimension_type mapping_size;
-  if (!(s >> mapping_size))
+  if (!(is >> mapping_size))
     return false;
   mapping.clear();
   for (dimension_type i = 0; i < mapping_size; ++i) {
     dimension_type val;
-    if (!(s >> val))
+    if (!(is >> val))
       return false;
     mapping.push_back(val);
   }
 
-  if (!(s >> str) || str != "var_row")
+  if (!(is >> str) || str != "var_row")
     return false;
   dimension_type var_row_size;
-  if (!(s >> var_row_size))
+  if (!(is >> var_row_size))
     return false;
   var_row.clear();
   for (dimension_type i = 0; i < var_row_size; ++i) {
     dimension_type val;
-    if (!(s >> val))
+    if (!(is >> val))
       return false;
     var_row.push_back(val);
   }
 
-  if (!(s >> str) || str != "var_column")
+  if (!(is >> str) || str != "var_column")
     return false;
   dimension_type var_column_size;
-  if (!(s >> var_column_size))
+  if (!(is >> var_column_size))
     return false;
   var_column.clear();
   for (dimension_type i = 0; i < var_column_size; ++i) {
     dimension_type val;
-    if (!(s >> val))
+    if (!(is >> val))
       return false;
     var_column.push_back(val);
   }
 
-  if (!(s >> str) || str != "special_equality_row")
+  if (!(is >> str) || str != "special_equality_row")
     return false;
-  if (!(s >> special_equality_row))
+  if (!(is >> special_equality_row))
     return false;
 
-  if (!(s >> str) || str != "big_dimension")
+  if (!(is >> str) || str != "big_dimension")
     return false;
-  if (!(s >> big_dimension))
+  if (!(is >> big_dimension))
     return false;
 
-  if (!(s >> str) || str != "sign")
+  if (!(is >> str) || str != "sign")
     return false;
   dimension_type sign_size;
-  if (!(s >> sign_size))
+  if (!(is >> sign_size))
     return false;
   sign.clear();
   for (dimension_type i = 0; i < sign_size; ++i) {
-    if (!(s >> str))
+    if (!(is >> str))
       return false;
     Row_Sign val;
     if (str == "UNKNOWN")
@@ -1429,22 +1967,22 @@ PIP_Solution_Node::ascii_load(std::istream& s) {
     sign.push_back(val);
   }
 
-  if (!(s >> str) || str != "solution")
+  if (!(is >> str) || str != "solution")
     return false;
   dimension_type solution_size;
-  if (!(s >> solution_size))
+  if (!(is >> solution_size))
     return false;
   solution.clear();
   for (dimension_type i = 0; i < solution_size; ++i) {
     Linear_Expression val;
-    if (!val.ascii_load(s))
+    if (!val.ascii_load(is))
       return false;
     solution.push_back(val);
   }
 
-  if (!(s >> str) || str != "solution_valid")
+  if (!(is >> str) || str != "solution_valid")
     return false;
-  if (!(s >> str))
+  if (!(is >> str))
     return false;
   if (str == "true")
     solution_valid = true;
@@ -1463,7 +2001,7 @@ PIP_Solution_Node::row_sign(const Row& x,
   if (big_dimension != not_a_dimension()) {
     // If a big parameter has been set and its coefficient is not zero,
     // then return the sign of the coefficient.
-    const Coefficient& x_big = x[big_dimension];
+    Coefficient_traits::const_reference x_big = x.get(big_dimension);
     if (x_big > 0)
       return POSITIVE;
     if (x_big < 0)
@@ -1472,8 +2010,8 @@ PIP_Solution_Node::row_sign(const Row& x,
   }
 
   PIP_Solution_Node::Row_Sign sign = ZERO;
-  for (int i = x.size(); i-- > 0; ) {
-    const Coefficient& x_i = x[i];
+  for (Row::const_iterator i = x.begin(), i_end = x.end(); i != i_end; ++i) {
+    Coefficient_traits::const_reference x_i = *i;
     if (x_i > 0) {
       if (sign == NEGATIVE)
         return MIXED;
@@ -1489,20 +2027,20 @@ PIP_Solution_Node::row_sign(const Row& x,
 }
 
 bool
-PIP_Tree_Node::compatibility_check(const Matrix& context, const Row& row) {
+PIP_Tree_Node::compatibility_check(const Matrix<Row>& context, const Row& row) {
   // CHECKME: do `context' and `row' have compatible (row) capacity?
-  Matrix s(context);
+  Matrix<Row> s(context);
   s.add_row(row);
   return compatibility_check(s);
 }
 
 bool
-PIP_Tree_Node::compatibility_check(Matrix& s) {
+PIP_Tree_Node::compatibility_check(Matrix<Row>& s) {
   PPL_ASSERT(s.OK());
   // Note: num_rows may increase.
   dimension_type num_rows = s.num_rows();
-  const dimension_type num_cols = s.num_columns();
-  const dimension_type num_vars = num_cols - 1;
+  const dimension_type num_columns = s.num_columns();
+  const dimension_type num_vars = num_columns - 1;
 
   std::vector<Coefficient> scaling(num_rows, 1);
   std::vector<bool> basis;
@@ -1512,23 +2050,23 @@ PIP_Tree_Node::compatibility_check(Matrix& s) {
   std::vector<dimension_type> var_row;
   var_row.reserve(num_rows);
   std::vector<dimension_type> var_column;
-  var_column.reserve(num_cols);
+  var_column.reserve(num_columns);
 
   // Column 0 is the constant term, not a variable
   var_column.push_back(not_a_dimension());
   for (dimension_type j = 1; j <= num_vars; ++j) {
     basis.push_back(true);
     mapping.push_back(j);
-    var_column.push_back(j-1);
+    var_column.push_back(j - 1);
   }
   for (dimension_type i = 0; i < num_rows; ++i) {
     basis.push_back(false);
     mapping.push_back(i);
-    var_row.push_back(i+num_vars);
+    var_row.push_back(i + num_vars);
   }
 
   // Scaling factor (i.e., denominator) for pivot coefficients.
-  PPL_DIRTY_TEMP_COEFFICIENT(pivot_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(pivot_denom);
   // Allocate once and for all: short life temporaries.
   PPL_DIRTY_TEMP_COEFFICIENT(product);
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
@@ -1542,30 +2080,16 @@ PIP_Tree_Node::compatibility_check(Matrix& s) {
     // is thrown now.
     maybe_abandon();
 
-    dimension_type pi = num_rows; // pi is the pivot's row index.
-    dimension_type pj = 0;        // pj is the pivot's column index.
+    // pi is the pivot's row index.
+    dimension_type pi = num_rows;
+    // pj is the pivot's column index.
+    dimension_type pj = 0;
 
-    // Look for a negative RHS (i.e., constant term, stored in column 0),
-    // maximizing pivot column.
-    for (dimension_type i = 0; i < num_rows; ++i) {
-      const Row& s_i = s[i];
-      if (s_i[0] < 0) {
-        dimension_type j;
-        if (!find_lexico_minimum_column(s, mapping, basis, s_i, 1, j)) {
-          // No positive pivot candidate: unfeasible problem.
-          return false;
-        }
-        // Update pair (pi, pj) if they are still unset or
-        // if the challenger pair (i, j) is better in the ordering.
-        if (pj == 0
-            || column_lower(s, mapping, basis,
-                            s[pi], pj, s_i, j,
-                            s[pi][0], s_i[0])) {
-          pi = i;
-          pj = j;
-        }
-      }
-    }
+    bool found_positive_pivot_candidate
+      = compatibility_check_find_pivot(s, mapping, basis, pi, pj);
+
+    if (!found_positive_pivot_candidate)
+      return false;
 
     if (pj == 0) {
       // No negative RHS: fractional optimum found.
@@ -1580,10 +2104,10 @@ PIP_Tree_Node::compatibility_check(Matrix& s) {
           // Basic variable = 0, hence integer.
           continue;
         // Not a basic variable.
-        WEIGHT_ADD(1);
+        WEIGHT_ADD(70);
         const dimension_type mi = mapping[i];
-        const Coefficient& den = scaling[mi];
-        if (s[mi][0] % den == 0)
+        Coefficient_traits::const_reference denom = scaling[mi];
+        if (s[mi].get(0) % denom == 0)
           continue;
         // Here constant term is not integer.
         all_integer_vars = false;
@@ -1591,15 +2115,18 @@ PIP_Tree_Node::compatibility_check(Matrix& s) {
         var_row.push_back(mapping.size());
         basis.push_back(false);
         mapping.push_back(num_rows);
-        s.add_zero_rows(1, Row::Flags());
+        s.add_zero_rows(1);
         Row& cut = s[num_rows];
         ++num_rows;
         const Row& s_mi = s[mi];
-        for (dimension_type j = num_cols; j-- > 0; )
-          pos_mod_assign(cut[j], s_mi[j], den);
-        WEIGHT_ADD_MUL(1, num_cols);
-        cut[0] -= den;
-        scaling.push_back(den);
+        cut = s_mi;
+        for (Row::iterator
+               j = cut.begin(), j_end = cut.end(); j != j_end; ++j) {
+          WEIGHT_ADD(32);
+          pos_rem_assign(*j, *j, denom);
+        }
+        cut[0] -= denom;
+        scaling.push_back(denom);
       }
       // Check if an integer solution was found.
       if (all_integer_vars)
@@ -1627,84 +2154,95 @@ PIP_Tree_Node::compatibility_check(Matrix& s) {
     }
 
     // Create an identity row corresponding to basic variable pj.
-    s.add_zero_rows(1, Row::Flags());
+    s.add_zero_rows(1);
     Row& pivot = s[num_rows];
     pivot[pj] = 1;
 
     // Swap identity row with the pivot row previously found.
-    std::swap(pivot, s[pi]);
+    using std::swap;
+    swap(pivot, s[pi]);
     // Save original pivot scaling factor in a temporary,
     // then reset scaling factor for identity row.
-    pivot_den = scaling[pi];
+    pivot_denom = scaling[pi];
     scaling[pi] = 1;
 
     // Perform a pivot operation on the matrix.
-    const Coefficient& pivot_pj = pivot[pj];
-    for (dimension_type j = num_cols; j-- > 0; ) {
-      if (j == pj)
-        continue;
-      const Coefficient& pivot_j = pivot[j];
-      // Do nothing if the j-th pivot element is zero.
-      if (pivot_j == 0)
-        continue;
-      WEIGHT_BEGIN();
-      for (dimension_type i = num_rows; i-- > 0; ) {
-        Row& s_i = s[i];
-        product = s_i[pj] * pivot_j;
-        if (product % pivot_pj != 0) {
-          WEIGHT_ADD(4);
-          // Must scale row s_i to stay in integer case.
-          gcd_assign(gcd, product, pivot_pj);
-          exact_div_assign(scale_factor, pivot_pj, gcd);
-          for (dimension_type k = num_cols; k-- > 0; )
-            s_i[k] *= scale_factor;
-          WEIGHT_ADD_MUL(1, num_cols);
-          product *= scale_factor;
-          scaling[i] *= scale_factor;
+    Coefficient_traits::const_reference pivot_pj = pivot.get(pj);
+    {
+      for (Row::const_iterator
+             j = pivot.begin(), j_end = pivot.end(); j != j_end; ++j) {
+        if (j.index() == pj)
+          continue;
+        Coefficient_traits::const_reference pivot_j = *j;
+        // Do nothing if the j-th pivot element is zero.
+        if (pivot_j == 0)
+          continue;
+        WEIGHT_BEGIN();
+        for (dimension_type i = num_rows; i-- > 0; ) {
+          Row& s_i = s[i];
+          product = s_i.get(pj) * pivot_j;
+          if (product % pivot_pj != 0) {
+            WEIGHT_ADD(103);
+            // Must scale row s_i to stay in integer case.
+            gcd_assign(gcd, product, pivot_pj);
+            exact_div_assign(scale_factor, pivot_pj, gcd);
+            for (Row::iterator
+                   k = s_i.begin(), k_end = s_i.end(); k != k_end; ++k) {
+              WEIGHT_ADD(30);
+              *k *= scale_factor;
+            }
+            product *= scale_factor;
+            scaling[i] *= scale_factor;
+          }
+          PPL_ASSERT(product % pivot_pj == 0);
+          exact_div_assign(product, product, pivot_pj);
+          s_i[j.index()] -= product;
+          WEIGHT_ADD(134);
         }
-        PPL_ASSERT(product % pivot_pj == 0);
-        exact_div_assign(product, product, pivot_pj);
-        s_i[j] -= product;
-        WEIGHT_ADD(4);
       }
     }
     // Update column only if pivot coordinate != 1.
-    if (pivot_pj != pivot_den) {
+    if (pivot_pj != pivot_denom) {
       WEIGHT_BEGIN();
       for (dimension_type i = num_rows; i-- > 0; ) {
         Row& s_i = s[i];
         Coefficient& s_i_pj = s_i[pj];
-        product = s_i_pj * pivot_den;
+        product = s_i_pj * pivot_denom;
         if (product % pivot_pj != 0) {
-          WEIGHT_ADD(4);
+          WEIGHT_ADD(98);
           // As above, perform row scaling.
           gcd_assign(gcd, product, pivot_pj);
           exact_div_assign(scale_factor, pivot_pj, gcd);
-          for (dimension_type k = num_cols; k-- > 0; )
-            s_i[k] *= scale_factor;
-          WEIGHT_ADD_MUL(1, num_cols);
+          for (Row::iterator
+                 k = s_i.begin(), k_end = s_i.end(); k != k_end; ++k) {
+            WEIGHT_ADD(26);
+            *k *= scale_factor;
+          }
           product *= scale_factor;
           scaling[i] *= scale_factor;
         }
         PPL_ASSERT(product % pivot_pj == 0);
         exact_div_assign(s_i_pj, product, pivot_pj);
-        WEIGHT_ADD(3);
+        WEIGHT_ADD(97);
       }
     }
     // Drop pivot to restore proper matrix size.
-    s.erase_to_end(num_rows);
+    s.remove_trailing_rows(1);
   }
 
   // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return false;
 }
 
 void
-PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
-                                  const dimension_type external_space_dim,
-                                  const dimension_type first_pending_constraint,
-                                  const Constraint_Sequence& input_cs,
-                                  const Variables_Set& parameters) {
+PIP_Solution_Node
+::update_tableau(const PIP_Problem& pip,
+                 const dimension_type external_space_dim,
+                 const dimension_type first_pending_constraint,
+                 const Constraint_Sequence& input_cs,
+                 const Variables_Set& parameters) {
+
   // Make sure a parameter column exists, for the inhomogeneous term.
   if (tableau.t.num_columns() == 0)
     tableau.t.add_zero_columns(1);
@@ -1719,29 +2257,12 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
   const dimension_type num_added_params = new_num_params - old_num_params;
   const dimension_type num_added_vars = num_added_dims - num_added_params;
 
-  const dimension_type old_num_art_params
-    = tableau.t.num_columns() - 1 - old_num_params;
-
   // Resize the two tableau matrices.
   if (num_added_vars > 0)
     tableau.s.add_zero_columns(num_added_vars);
+
   if (num_added_params > 0)
-    tableau.t.add_zero_columns(num_added_params);
-
-  if (num_added_params > 0 && old_num_art_params > 0) {
-    // Shift to the right the columns of artificial parameters.
-    std::vector<dimension_type> swaps;
-    swaps.reserve(3*old_num_art_params);
-    const dimension_type first_ap = 1 + old_num_params;
-    for (dimension_type i = 0; i < old_num_art_params; ++i) {
-      dimension_type old_ap = first_ap + i;
-      dimension_type new_ap = old_ap + num_added_params;
-      swaps.push_back(old_ap);
-      swaps.push_back(new_ap);
-      swaps.push_back(0);
-    }
-    tableau.t.permute_columns(swaps);
-  }
+    tableau.t.add_zero_columns(num_added_params, old_num_params + 1);
 
   dimension_type new_var_column = old_num_vars;
   const dimension_type initial_space_dim = old_num_vars + old_num_params;
@@ -1758,8 +2279,8 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
           Need to insert the original variable id
           before the slack variable id's to respect variable ordering.
         */
-        basis.insert(basis.begin() + new_var_column, true);
-        mapping.insert(mapping.begin() + new_var_column, new_var_column);
+        basis.insert(nth_iter(basis, new_var_column), true);
+        mapping.insert(nth_iter(mapping, new_var_column), new_var_column);
         // Update variable id's of slack variables.
         for (dimension_type j = var_row.size(); j-- > 0; )
           if (var_row[j] >= new_var_column)
@@ -1780,70 +2301,88 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
     // Compute the column number of big parameter in tableau.t matrix.
     Variables_Set::const_iterator pos
       = parameters.find(pip.big_parameter_dimension);
-    big_dimension = std::distance(parameters.begin(), pos) + 1;
+    big_dimension = 1U
+      + static_cast<dimension_type>(std::distance(parameters.begin(), pos));
   }
 
-  const Coefficient& denom = tableau.denominator();
+  Coefficient_traits::const_reference denom = tableau.denominator();
+
   for (Constraint_Sequence::const_iterator
-         c_iter = input_cs.begin() + first_pending_constraint,
+         c_iter = nth_iter(input_cs, first_pending_constraint),
          c_end = input_cs.end(); c_iter != c_end; ++c_iter) {
     const Constraint& constraint = *c_iter;
     // (Tentatively) Add new rows to s and t matrices.
     // These will be removed at the end if they turn out to be useless.
     const dimension_type row_id = tableau.s.num_rows();
-    tableau.s.add_zero_rows(1,  Row::Flags());
-    tableau.t.add_zero_rows(1,  Row::Flags());
+    tableau.s.add_zero_rows(1);
+    tableau.t.add_zero_rows(1);
     Row& v_row = tableau.s[row_id];
     Row& p_row = tableau.t[row_id];
 
-    // Setting the inhomogeneus term.
-    p_row[0] = constraint.inhomogeneous_term();
-    if (constraint.is_strict_inequality())
-      // Transform (expr > 0) into (expr - 1 >= 0).
-      --p_row[0];
-    p_row[0] *= denom;
-
-    WEIGHT_BEGIN();
-    dimension_type p_index = 1;
-    dimension_type v_index = 0;
-    for (dimension_type i = 0,
-           i_end = constraint.space_dimension(); i != i_end; ++i) {
-      const bool is_parameter = (1 == parameters.count(i));
-      const Coefficient& coeff_i = constraint.coefficient(Variable(i));
-      if (coeff_i == 0) {
-        // Optimize computation below: only update p/v index.
-        if (is_parameter)
-          ++p_index;
-        else
-          ++v_index;
-        // Jump to next iteration.
-        continue;
-      }
-
-      WEIGHT_ADD(1);
-      if (is_parameter) {
-        p_row[p_index] = coeff_i * denom;
-        ++p_index;
+    {
+      dimension_type p_index = 1;
+      dimension_type v_index = 0;
+      // Setting the inhomogeneous term.
+      if (constraint.inhomogeneous_term() != 0) {
+        Coefficient& p_row0 = p_row[0];
+        p_row0 = constraint.inhomogeneous_term();
+        if (constraint.is_strict_inequality())
+          // Transform (expr > 0) into (expr - 1 >= 0).
+          --p_row0;
+        p_row0 *= denom;
       }
       else {
-        const dimension_type mv = mapping[v_index];
-        if (basis[v_index])
-          // Basic variable : add coeff_i * x_i
-          add_mul_assign(v_row[mv], coeff_i, denom);
+        if (constraint.is_strict_inequality())
+          // Transform (expr > 0) into (expr - 1 >= 0).
+          neg_assign(p_row[0], denom);
+      }
+      WEIGHT_BEGIN();
+      dimension_type last_dim = 0;
+      const Constraint::Expression& e = constraint.expression();
+      for (Constraint::Expression::const_iterator
+          i = e.begin(), i_end = e.end(); i != i_end; ++i) {
+        const dimension_type dim = i.variable().space_dimension();
+        if (dim != last_dim + 1) {
+          // We have skipped some zero coefficients.
+          // Update p_index and v_index accordingly.
+          dimension_type n = std::distance(parameters.lower_bound(last_dim),
+                                           parameters.lower_bound(dim - 1));
+          dimension_type num_skipped = dim - last_dim - 1;
+          p_index += n;
+          v_index += (num_skipped - n);
+        }
+        PPL_ASSERT(p_index + v_index == i.variable().id() + 1);
+        const bool is_parameter = (1 == parameters.count(dim - 1));
+        Coefficient_traits::const_reference coeff_i = *i;
+
+        WEIGHT_ADD(140);
+        if (is_parameter) {
+          p_row.insert(p_index, coeff_i * denom);
+          ++p_index;
+        }
         else {
-          // Non-basic variable : add coeff_i * row_i
-          add_mul_assign_row(v_row, coeff_i, tableau.s[mv]);
-          add_mul_assign_row(p_row, coeff_i, tableau.t[mv]);
+          const dimension_type mv = mapping[v_index];
+          if (basis[v_index]) {
+            // Basic variable: add coeff_i * x_i
+            add_mul_assign(v_row[mv], coeff_i, denom);
+          }
+          else {
+            // Non-basic variable: add coeff_i * row_i
+            add_mul_assign_row(v_row, coeff_i, tableau.s[mv]);
+            add_mul_assign_row(p_row, coeff_i, tableau.t[mv]);
+          }
+          ++v_index;
         }
-        ++v_index;
+
+        last_dim = dim;
       }
     }
 
     if (row_sign(v_row, not_a_dimension()) == ZERO) {
       // Parametric-only constraints have already been inserted in
       // initial context, so no need to insert them in the tableau.
-      tableau.s.erase_to_end(row_id);
-      tableau.t.erase_to_end(row_id);
+      tableau.s.remove_trailing_rows(1);
+      tableau.t.remove_trailing_rows(1);
     }
     else {
       const dimension_type var_id = mapping.size();
@@ -1857,11 +2396,11 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
         // we must add -f_i(x,p) to the special equality row.
         if (special_equality_row == 0 || basis[special_equality_row]) {
           // The special constraint has not been created yet
-          // FIXME: for now, we don't handle the case where the variable
+          // FIXME: for now, we do not handle the case where the variable
           // is basic, and we just create a new row.
           // This might be faster however.
-          tableau.s.add_zero_rows(1, Row::Flags());
-          tableau.t.add_zero_rows(1, Row::Flags());
+          tableau.s.add_zero_rows(1);
+          tableau.t.add_zero_rows(1);
           // NOTE: addition of rows invalidates references v_row and p_row
           // due to possible matrix reallocations: recompute them.
           neg_assign_row(tableau.s[1 + row_id], tableau.s[row_id]);
@@ -1871,11 +2410,13 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
           basis.push_back(false);
           mapping.push_back(1 + row_id);
           var_row.push_back(1 + var_id);
-        } else {
+        }
+        else {
           // The special constraint already exists and is nonbasic.
           const dimension_type m_eq = mapping[special_equality_row];
           sub_assign(tableau.s[m_eq], v_row);
           sub_assign(tableau.t[m_eq], p_row);
+          sign[m_eq] = row_sign(tableau.t[m_eq], big_dimension);
         }
       }
     }
@@ -1886,27 +2427,28 @@ PIP_Solution_Node::update_tableau(const PIP_Problem& pip,
 PIP_Tree_Node*
 PIP_Solution_Node::solve(const PIP_Problem& pip,
                          const bool check_feasible_context,
-                         const Matrix& ctx,
+                         const Matrix<Row>& context,
                          const Variables_Set& params,
                          dimension_type space_dim,
-                         const unsigned indent_level) {
+                         const int indent_level) {
+  PPL_ASSERT(indent_level >= 0);
 #ifdef NOISY_PIP_TREE_STRUCTURE
   indent_and_print(std::cerr, indent_level, "=== SOLVING NODE\n");
 #else
-  used(indent_level);
+  PPL_USED(indent_level);
 #endif
   // Reset current solution as invalid.
   solution_valid = false;
 
-  Matrix context(ctx);
+  Matrix<Row> ctx(context);
   Variables_Set all_params(params);
   const dimension_type num_art_params = artificial_parameters.size();
-  add_artificial_parameters(context, all_params, space_dim, num_art_params);
-  merge_assign(context, constraints_, all_params);
+  add_artificial_parameters(ctx, all_params, space_dim, num_art_params);
+  merge_assign(ctx, constraints_, all_params);
 
   // If needed, (re-)check feasibility of context.
   if (check_feasible_context) {
-    Matrix ctx_copy(context);
+    Matrix<Row> ctx_copy(ctx);
     if (!compatibility_check(ctx_copy)) {
       delete this;
       return 0;
@@ -1927,12 +2469,12 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
     const dimension_type num_rows = tableau.t.num_rows();
     const dimension_type num_vars = tableau.s.num_columns();
     const dimension_type num_params = tableau.t.num_columns();
-    const Coefficient& tableau_den = tableau.denominator();
+    Coefficient_traits::const_reference tableau_denom = tableau.denominator();
 
 #ifdef VERY_NOISY_PIP
     tableau.ascii_dump(std::cerr);
     std::cerr << "context ";
-    context.ascii_dump(std::cerr);
+    ctx.ascii_dump(std::cerr);
 #endif // #ifdef VERY_NOISY_PIP
 
     // (Re-) Compute parameter row signs.
@@ -1961,13 +2503,13 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         const Row& t_i = tableau.t[i];
         Row_Sign new_sign = ZERO;
         // Check compatibility for constraint t_i(z) >= 0.
-        if (compatibility_check(context, t_i))
+        if (compatibility_check(ctx, t_i))
           new_sign = POSITIVE;
         // Check compatibility for constraint t_i(z) < 0,
         // i.e., -t_i(z) - 1 >= 0.
-        Row t_i_compl(num_params, Row::Flags());
-        complement_assign(t_i_compl, t_i, tableau_den);
-        if (compatibility_check(context, t_i_compl))
+        Row t_i_complement(num_params);
+        complement_assign(t_i_complement, t_i, tableau_denom);
+        if (compatibility_check(ctx, t_i_complement))
           new_sign = (new_sign == POSITIVE) ? MIXED : NEGATIVE;
         // Update sign for parameter row i.
         sign[i] = new_sign;
@@ -2000,20 +2542,24 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         // Check for a positive variable coefficient.
         const Row& s_i = tableau.s[i];
         bool has_positive = false;
-        for (dimension_type j = num_vars; j-- > 0; )
-          if (s_i[j] > 0) {
-            has_positive = true;
-            break;
-          }
+        {
+          for (Row::const_iterator
+                 j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j)
+            if (*j > 0) {
+              has_positive = true;
+              break;
+            }
+        }
         if (!has_positive)
           continue;
         // Check compatibility of constraint t_i(z) > 0.
         Row row(tableau.t[i]);
         PPL_DIRTY_TEMP_COEFFICIENT(mod);
-        pos_mod_assign(mod, row[0], tableau_den);
-        row[0] -= (mod == 0) ? tableau_den : mod;
-        WEIGHT_ADD(2);
-        const bool compatible = compatibility_check(context, row);
+        Coefficient& row0 = row[0];
+        pos_rem_assign(mod, row0, tableau_denom);
+        row0 -= (mod == 0) ? tableau_denom : mod;
+        WEIGHT_ADD(210);
+        const bool compatible = compatibility_check(ctx, row);
         // Maybe update sign (and first_* indices).
         if (compatible) {
           // Sign is still mixed.
@@ -2049,7 +2595,7 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         if (sign[i] != NEGATIVE)
           continue;
         dimension_type j;
-        if (!find_lexico_minimum_column(tableau.s, mapping, basis,
+        if (!find_lexico_minimal_column(tableau.s, mapping, basis,
                                         tableau.s[i], 0, j)) {
           // No positive s_ij was found: problem is unfeasible.
 #ifdef NOISY_PIP_TREE_STRUCTURE
@@ -2098,125 +2644,171 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
 
       // Creating identity rows corresponding to basic variable pj:
       // 1. add them to tableau so as to have proper size and capacity;
-      tableau.s.add_zero_rows(1, Row::Flags());
-      tableau.t.add_zero_rows(1, Row::Flags());
+      tableau.s.add_zero_rows(1);
+      tableau.t.add_zero_rows(1);
       // 2. swap the rows just added with empty ones.
-      Row s_pivot(0, Row::Flags());
-      Row t_pivot(0, Row::Flags());
-      s_pivot.swap(tableau.s[num_rows]);
-      t_pivot.swap(tableau.t[num_rows]);
+      Row s_pivot(0);
+      Row t_pivot(0);
+      swap(s_pivot, tableau.s[num_rows]);
+      swap(t_pivot, tableau.t[num_rows]);
       // 3. drop rows previously added at end of tableau.
-      tableau.s.erase_to_end(num_rows);
-      tableau.t.erase_to_end(num_rows);
+      tableau.s.remove_trailing_rows(1);
+      tableau.t.remove_trailing_rows(1);
 
       // Save current pivot denominator.
-      PPL_DIRTY_TEMP_COEFFICIENT(pivot_den);
-      pivot_den = tableau.denominator();
+      PPL_DIRTY_TEMP_COEFFICIENT(pivot_denom);
+      pivot_denom = tableau.denominator();
       // Let the (scaled) pivot coordinate be 1.
-      s_pivot[pj] = pivot_den;
+      s_pivot[pj] = pivot_denom;
 
       // Swap identity row with the pivot row previously found.
-      s_pivot.swap(tableau.s[pi]);
-      t_pivot.swap(tableau.t[pi]);
+      s_pivot.m_swap(tableau.s[pi]);
+      t_pivot.m_swap(tableau.t[pi]);
       sign[pi] = ZERO;
 
       PPL_DIRTY_TEMP_COEFFICIENT(s_pivot_pj);
-      s_pivot_pj = s_pivot[pj];
+      s_pivot_pj = s_pivot.get(pj);
 
-      // Compute columns s[*][j] :
-      // s[i][j] -= s[i][pj] * s_pivot[j] / s_pivot_pj;
-      for (dimension_type j = num_vars; j-- > 0; ) {
-        if (j == pj)
-          continue;
-        const Coefficient& s_pivot_j = s_pivot[j];
-        // Do nothing if the j-th pivot element is zero.
-        if (s_pivot_j == 0)
+      // Compute columns s[*][j]:
+      //
+      // <CODE>
+      //   s[i][j] -= s[i][pj] * s_pivot[j] / s_pivot_pj;
+      // </CODE>
+      for (dimension_type i = num_rows; i-- > 0; ) {
+        Row& s_i = tableau.s[i];
+        PPL_DIRTY_TEMP_COEFFICIENT(s_i_pj);
+        s_i_pj = s_i.get(pj);
+
+        if (s_i_pj == 0)
           continue;
+
         WEIGHT_BEGIN();
-        for (dimension_type i = num_rows; i-- > 0; ) {
-          Row& s_i = tableau.s[i];
-          product = s_pivot_j * s_i[pj];
-          if (product % s_pivot_pj != 0) {
-            // Must scale matrix to stay in integer case.
-            gcd_assign(gcd, product, s_pivot_pj);
-            exact_div_assign(scale_factor, s_pivot_pj, gcd);
-            tableau.scale(scale_factor);
-            product *= scale_factor;
-            WEIGHT_ADD(3);
+        Row::iterator itr = s_i.end();
+        for (Row::const_iterator
+               j = s_pivot.begin(), j_end = s_pivot.end(); j != j_end; ++j) {
+          if (j.index() != pj) {
+            Coefficient_traits::const_reference s_pivot_j = *j;
+            // Do nothing if the j-th pivot element is zero.
+            if (s_pivot_j != 0) {
+              product = s_pivot_j * s_i_pj;
+              if (product % s_pivot_pj != 0) {
+                // Must scale matrix to stay in integer case.
+                gcd_assign(gcd, product, s_pivot_pj);
+                exact_div_assign(scale_factor, s_pivot_pj, gcd);
+                tableau.scale(scale_factor);
+                s_i_pj *= scale_factor;
+                product *= scale_factor;
+                WEIGHT_ADD(102);
+              }
+              PPL_ASSERT(product % s_pivot_pj == 0);
+              exact_div_assign(product, product, s_pivot_pj);
+              WEIGHT_ADD(130);
+              if (product != 0) {
+                itr = s_i.insert(itr, j.index());
+                *itr -= product;
+                WEIGHT_ADD(34);
+              }
+            }
           }
-          PPL_ASSERT(product % s_pivot_pj == 0);
-          exact_div_assign(product, product, s_pivot_pj);
-          s_i[j] -= product;
-          WEIGHT_ADD(4);
         }
       }
 
-      // Compute columns t[*][j] :
-      // t[i][j] -= s[i][pj] * t_pivot[j] / s_pivot_pj;
-      for (dimension_type j = num_params; j-- > 0; ) {
-        const Coefficient& t_pivot_j = t_pivot[j];
-        // Do nothing if the j-th pivot element is zero.
-        if (t_pivot_j == 0)
+      // Compute columns t[*][j]:
+      //
+      // <CODE>
+      //   t[i][j] -= s[i][pj] * t_pivot[j] / s_pivot_pj;
+      // </CODE>
+      for (dimension_type i = num_rows; i-- > 0; ) {
+        Row& s_i = tableau.s[i];
+        Row& t_i = tableau.t[i];
+
+        Row::iterator s_i_pj_itr = s_i.find(pj);
+
+        if (s_i_pj_itr == s_i.end())
+          continue;
+
+        // NOTE: This is a Coefficient& instead of a
+        // Coefficient_traits::const_reference, because scale() may silently
+        // modify it.
+        Coefficient& s_i_pj = *s_i_pj_itr;
+
+        if (s_i_pj == 0)
           continue;
+
         WEIGHT_BEGIN();
-        for (dimension_type i = num_rows; i-- > 0; ) {
-          Row& s_i = tableau.s[i];
-          product = t_pivot_j * s_i[pj];
-          if (product % s_pivot_pj != 0) {
-            // Must scale matrix to stay in integer case.
-            gcd_assign(gcd, product, s_pivot_pj);
-            exact_div_assign(scale_factor, s_pivot_pj, gcd);
-            tableau.scale(scale_factor);
-            product *= scale_factor;
-            WEIGHT_ADD(3);
-          }
-          PPL_ASSERT(product % s_pivot_pj == 0);
-          exact_div_assign(product, product, s_pivot_pj);
-          tableau.t[i][j] -= product;
-          WEIGHT_ADD(4);
-
-          // Update row sign.
-          Row_Sign& sign_i = sign[i];
-          switch (sign_i) {
-          case ZERO:
-            if (product > 0)
-              sign_i = NEGATIVE;
-            else if (product < 0)
-              sign_i = POSITIVE;
-            break;
-          case POSITIVE:
-            if (product > 0)
-              sign_i = MIXED;
-            break;
-          case NEGATIVE:
-            if (product < 0)
-              sign_i = MIXED;
-            break;
-          default:
-            break;
+        Row::iterator k = t_i.end();
+        for (Row::const_iterator
+               j = t_pivot.begin(), j_end = t_pivot.end(); j != j_end; ++j) {
+          Coefficient_traits::const_reference t_pivot_j = *j;
+          // Do nothing if the j-th pivot element is zero.
+          if (t_pivot_j != 0) {
+            product = t_pivot_j * s_i_pj;
+            if (product % s_pivot_pj != 0) {
+              // Must scale matrix to stay in integer case.
+              gcd_assign(gcd, product, s_pivot_pj);
+              exact_div_assign(scale_factor, s_pivot_pj, gcd);
+              tableau.scale(scale_factor);
+              product *= scale_factor;
+              WEIGHT_ADD(261);
+            }
+            PPL_ASSERT(product % s_pivot_pj == 0);
+            exact_div_assign(product, product, s_pivot_pj);
+            WEIGHT_ADD(115);
+            if (product != 0) {
+              k = t_i.insert(k, j.index());
+              *k -= product;
+              WEIGHT_ADD(41);
+            }
+
+            // Update row sign.
+            Row_Sign& sign_i = sign[i];
+            switch (sign_i) {
+            case ZERO:
+              if (product > 0)
+                sign_i = NEGATIVE;
+              else if (product < 0)
+                sign_i = POSITIVE;
+              break;
+            case POSITIVE:
+              if (product > 0)
+                sign_i = MIXED;
+              break;
+            case NEGATIVE:
+              if (product < 0)
+                sign_i = MIXED;
+              break;
+            default:
+              break;
+            }
           }
         }
       }
 
-      // Compute column s[*][pj] : s[i][pj] /= s_pivot_pj;
+      // Compute column s[*][pj]: s[i][pj] /= s_pivot_pj;
       // Update column only if pivot coordinate != 1.
-      if (s_pivot_pj != pivot_den) {
+      if (s_pivot_pj != pivot_denom) {
         WEIGHT_BEGIN();
+        Row::iterator itr;
         for (dimension_type i = num_rows; i-- > 0; ) {
           Row& s_i = tableau.s[i];
-          Coefficient& s_i_pj = s_i[pj];
-          product = s_i_pj * pivot_den;
+          itr = s_i.find(pj);
+          if (itr == s_i.end())
+            continue;
+          WEIGHT_ADD(43);
+          product = *itr * pivot_denom;
           if (product % s_pivot_pj != 0) {
             // As above, perform matrix scaling.
             gcd_assign(gcd, product, s_pivot_pj);
             exact_div_assign(scale_factor, s_pivot_pj, gcd);
             tableau.scale(scale_factor);
             product *= scale_factor;
-            WEIGHT_ADD(3);
+            WEIGHT_ADD(177);
           }
           PPL_ASSERT(product % s_pivot_pj == 0);
-          exact_div_assign(s_i_pj, product, s_pivot_pj);
-          WEIGHT_ADD(3);
+          if (product != 0 || *itr != 0) {
+            WEIGHT_ADD(106);
+            exact_div_assign(*itr, product, s_pivot_pj);
+          }
         }
       }
 
@@ -2242,22 +2834,29 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
           continue;
         // No positive variable coefficient.
         bool has_positive = false;
-        const Row& s_i = tableau.s[i];
-        for (dimension_type j = 0; j < num_vars; ++j)
-          if (s_i[j] > 0) {
-            has_positive = true;
-            break;
-          }
+        {
+          const Row& s_i = tableau.s[i];
+          for (Row::const_iterator
+                 j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j)
+            if (*j > 0) {
+              has_positive = true;
+              break;
+            }
+        }
         if (has_positive)
           continue;
         // Minimize parameter coefficient score,
         // eliminating implicated tautologies (if any).
-        const Row& t_i = tableau.t[i];
         score = 0;
-        WEIGHT_BEGIN();
-        for (dimension_type j = num_params; j-- > 0; )
-          score += t_i[j];
-        WEIGHT_ADD_MUL(1, num_params);
+        {
+          WEIGHT_BEGIN();
+          const Row& t_i = tableau.t[i];
+          for (Row::const_iterator
+                 j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+            WEIGHT_ADD(55);
+            score += *j;
+          }
+        }
         if (i_neg == not_a_dim || score < best_score) {
           i_neg = i;
           best_score = score;
@@ -2268,16 +2867,16 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         Row tautology = tableau.t[i_neg];
         /* Simplify tautology by exploiting integrality. */
         integral_simplification(tautology);
-        context.add_row(tautology);
+        ctx.add_row(tautology);
         add_constraint(tautology, all_params);
         sign[i_neg] = POSITIVE;
 #ifdef NOISY_PIP
         {
-          Linear_Expression expr = Linear_Expression(tautology[0]);
+          Linear_Expression expr = Linear_Expression(tautology.get(0));
           dimension_type j = 1;
           for (Variables_Set::const_iterator p = all_params.begin(),
                  p_end = all_params.end(); p != p_end; ++p, ++j)
-            add_mul_assign(expr, tautology[j], Variable(*p));
+            add_mul_assign(expr, tautology.get(j), Variable(*p));
           using namespace IO_Operators;
           std::cerr << std::setw(2 * indent_level) << ""
                     << "Row " << i_neg
@@ -2297,12 +2896,16 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
       for (dimension_type i = first_mixed; i < num_rows; ++i) {
         if (sign[i] != MIXED)
           continue;
-        const Row& t_i = tableau.t[i];
         score = 0;
-        WEIGHT_BEGIN();
-        for (dimension_type j = num_params; j-- > 0; )
-          score += t_i[j];
-        WEIGHT_ADD_MUL(1, num_params);
+        {
+          WEIGHT_BEGIN();
+          const Row& t_i = tableau.t[i];
+          for (Row::const_iterator
+                 j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+            WEIGHT_ADD(51);
+            score += *j;
+          }
+        }
         if (best_i == not_a_dim || score < best_score) {
           best_score = score;
           best_i = i;
@@ -2312,13 +2915,14 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
       Row t_test(tableau.t[best_i]);
       /* Simplify t_test by exploiting integrality. */
       integral_simplification(t_test);
+
 #ifdef NOISY_PIP
       {
-        Linear_Expression expr = Linear_Expression(t_test[0]);
+        Linear_Expression expr = Linear_Expression(t_test.get(0));
         dimension_type j = 1;
         for (Variables_Set::const_iterator p = all_params.begin(),
                p_end = all_params.end(); p != p_end; ++p, ++j)
-          add_mul_assign(expr, t_test[j], Variable(*p));
+          add_mul_assign(expr, t_test.get(j), Variable(*p));
         using namespace IO_Operators;
         std::cerr << std::setw(2 * indent_level) << ""
                   << "Row " << best_i << ": mixed param sign\n";
@@ -2333,15 +2937,15 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
       std::auto_ptr<PIP_Tree_Node> wrapped_node(t_node);
 
       // Add parametric constraint to context.
-      context.add_row(t_test);
-      // Recusively solve true node wrt updated context.
+      ctx.add_row(t_test);
+      // Recursively solve true node with respect to updated context.
 #ifdef NOISY_PIP_TREE_STRUCTURE
       indent_and_print(std::cerr, indent_level, "=== SOLVING THEN CHILD\n");
 #endif
       t_node = t_node->solve(pip, check_feasible_context,
-                             context, all_params, space_dim,
+                             ctx, all_params, space_dim,
                              indent_level + 1);
-      // Resolution may have changed t_node: in case, rewrap it.
+      // Resolution may have changed t_node: in case, re-wrap it.
       if (t_node != wrapped_node.get()) {
         wrapped_node.release();
         wrapped_node.reset(t_node);
@@ -2353,18 +2957,18 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
       // (these will be later restored if needed).
       Constraint_System cs;
       Artificial_Parameter_Sequence aps;
-      cs.swap(f_node->constraints_);
-      aps.swap(f_node->artificial_parameters);
+      swap(cs, f_node->constraints_);
+      swap(aps, f_node->artificial_parameters);
       // Compute the complement of the constraint used for the "true" node.
-      Row& f_test = context[context.num_rows()-1];
+      Row& f_test = ctx[ctx.num_rows() - 1];
       complement_assign(f_test, t_test, 1);
 
-      // Recusively solve false node wrt updated context.
+      // Recursively solve false node with respect to updated context.
 #ifdef NOISY_PIP_TREE_STRUCTURE
       indent_and_print(std::cerr, indent_level, "=== SOLVING ELSE CHILD\n");
 #endif
       f_node = f_node->solve(pip, check_feasible_context,
-                             context, all_params, space_dim,
+                             ctx, all_params, space_dim,
                              indent_level + 1);
 
       // Case analysis on recursive resolution calls outcome.
@@ -2381,8 +2985,8 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
           // t_node unfeasible, f_node feasible:
           // restore cs and aps into f_node (i.e., this).
           PPL_ASSERT(f_node == this);
-          f_node->constraints_.swap(cs);
-          f_node->artificial_parameters.swap(aps);
+          swap(f_node->constraints_, cs);
+          swap(f_node->artificial_parameters, aps);
           // Add f_test to constraints.
           f_node->add_constraint(f_test, all_params);
 #ifdef NOISY_PIP_TREE_STRUCTURE
@@ -2399,12 +3003,13 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
                          "=== EXIT: THEN BRANCH FEASIBLE\n");
 #endif
         // NOTE: in principle, we could merge t_node into its parent.
-        // However, if t_node is a decision node having both childs,
+        // However, if t_node is a decision node having both children,
         // then we would obtain a node violating the PIP_Decision_Node
         // invariant saying that t_node should have a single constraint:
         // it will have, at least, the two splitting constraints.
-        PIP_Decision_Node* dn = dynamic_cast<PIP_Decision_Node*>(t_node);
-        if (dn != 0 && dn->false_child != 0) {
+        PIP_Decision_Node* decision_node_p
+          = dynamic_cast<PIP_Decision_Node*>(t_node);
+        if (decision_node_p != 0 && decision_node_p->false_child != 0) {
           // Do NOT merge: create a new decision node.
           PIP_Tree_Node* parent
             = new PIP_Decision_Node(t_node->get_owner(), 0, t_node);
@@ -2413,8 +3018,8 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
           wrapped_node.release();
           wrapped_node.reset(parent);
           // Restore into parent `cs' and `aps'.
-          parent->constraints_.swap(cs);
-          parent->artificial_parameters.swap(aps);
+          swap(parent->constraints_, cs);
+          swap(parent->artificial_parameters, aps);
           // Add t_test to parent's constraints.
           parent->add_constraint(t_test, all_params);
           // It is now safe to release previously wrapped parent pointer
@@ -2433,8 +3038,8 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
                      t_node->artificial_parameters.begin(),
                      t_node->artificial_parameters.end());
           // c) swap the updated `cs' and `aps' into t_node.
-          cs.swap(t_node->constraints_);
-          aps.swap(t_node->artificial_parameters);
+          swap(cs, t_node->constraints_);
+          swap(aps, t_node->artificial_parameters);
           // d) add t_test to t_nodes's constraints.
           t_node->add_constraint(t_test, all_params);
           // It is now safe to release previously wrapped t_node pointer
@@ -2473,9 +3078,9 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         // and protect new 'parent' node from exception safety issues.
         wrapped_node.release();
         wrapped_node.reset(parent);
-        parent->constraints_.swap(cs);
+        swap(parent->constraints_, cs);
       }
-      parent->artificial_parameters.swap(aps);
+      swap(parent->artificial_parameters, aps);
       // It is now safe to release previously wrapped decision node
       // and return it to the caller.
       return wrapped_node.release();
@@ -2495,7 +3100,7 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
     tableau.normalize();
 
     // Look for any row having non integer parameter coefficients.
-    const Coefficient& den = tableau.denominator();
+    Coefficient_traits::const_reference denom = tableau.denominator();
     for (dimension_type k = 0; k < num_vars; ++k) {
       if (basis[k])
         // Basic variable = 0, hence integer.
@@ -2503,9 +3108,10 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
       const dimension_type i = mapping[k];
       const Row& t_i = tableau.t[i];
       WEIGHT_BEGIN();
-      for (dimension_type j = num_params; j-- > 0; ) {
-        WEIGHT_ADD(1);
-        if (t_i[j] % den != 0)
+      for (Row::const_iterator
+             j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+        WEIGHT_ADD(27);
+        if (*j % denom != 0)
           goto non_integer;
       }
     }
@@ -2531,23 +3137,24 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
         if (basis[k])
           continue;
         const dimension_type i = mapping[k];
-        const Row& t_i = tableau.t[i];
         // Count the number of non-integer parameter coefficients.
         WEIGHT_BEGIN();
         dimension_type pcount = 0;
-        for (dimension_type j = num_params; j-- > 0; ) {
-          pos_mod_assign(mod, t_i[j], den);
+        const Row& t_i = tableau.t[i];
+        for (Row::const_iterator
+               j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+          WEIGHT_ADD(18);
+          pos_rem_assign(mod, *j, denom);
           if (mod != 0)
             ++pcount;
         }
-        WEIGHT_ADD_MUL(1, num_params);
         if (pcount > 0 && (best_i == not_a_dim || pcount < best_pcount)) {
           best_pcount = pcount;
           best_i = i;
         }
       }
       // Generate cut using 'best_i'.
-      generate_cut(best_i, all_params, context, space_dim, indent_level);
+      generate_cut(best_i, all_params, ctx, space_dim, indent_level);
     }
     else {
       PPL_ASSERT(cutting_strategy == PIP_Problem::CUTTING_STRATEGY_DEEPEST
@@ -2565,30 +3172,37 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
           continue;
         const dimension_type i = mapping[k];
         // Compute score and pcount.
-        WEIGHT_BEGIN();
         score = 0;
         dimension_type pcount = 0;
-        const Row& t_i = tableau.t[i];
-        for (dimension_type j = num_params; j-- > 0; ) {
-          pos_mod_assign(mod, t_i[j], den);
-          if (mod != 0) {
-            score += den;
-            score -= mod;
-            ++pcount;
+        {
+          WEIGHT_BEGIN();
+          const Row& t_i = tableau.t[i];
+          for (Row::const_iterator
+                 j = t_i.begin(), j_end = t_i.end(); j != j_end; ++j) {
+            WEIGHT_ADD(46);
+            pos_rem_assign(mod, *j, denom);
+            if (mod != 0) {
+              WEIGHT_ADD(94);
+              score += denom;
+              score -= mod;
+              ++pcount;
+            }
           }
         }
-        WEIGHT_ADD_MUL(3, num_params);
 
         // Compute s_score.
-        WEIGHT_BEGIN();
         s_score = 0;
-        const Row& s_i = tableau.s[i];
-        for (dimension_type j = num_vars; j-- > 0; ) {
-          pos_mod_assign(mod, s_i[j], den);
-          s_score += den;
-          s_score -= mod;
+        {
+          WEIGHT_BEGIN();
+          const Row& s_i = tableau.s[i];
+          for (Row::const_iterator
+                 j = s_i.begin(), j_end = s_i.end(); j != j_end; ++j) {
+            WEIGHT_ADD(94);
+            pos_rem_assign(mod, *j, denom);
+            s_score += denom;
+            s_score -= mod;
+          }
         }
-        WEIGHT_ADD_MUL(3, num_vars);
         // Combine 'score' and 's_score'.
         score *= s_score;
         /*
@@ -2612,11 +3226,11 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
           all_best_is.push_back(i);
       }
       if (cutting_strategy == PIP_Problem::CUTTING_STRATEGY_DEEPEST)
-        generate_cut(best_i, all_params, context, space_dim, indent_level);
+        generate_cut(best_i, all_params, ctx, space_dim, indent_level);
       else {
         PPL_ASSERT(cutting_strategy == PIP_Problem::CUTTING_STRATEGY_ALL);
         for (dimension_type k = all_best_is.size(); k-- > 0; )
-          generate_cut(all_best_is[k], all_params, context,
+          generate_cut(all_best_is[k], all_params, ctx,
                        space_dim, indent_level);
       }
     } // End of processing for non-integer solutions.
@@ -2624,20 +3238,22 @@ PIP_Solution_Node::solve(const PIP_Problem& pip,
   } // Main loop of the simplex algorithm
 
   // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+  PPL_UNREACHABLE;
+  return 0;
 }
 
 void
 PIP_Solution_Node::generate_cut(const dimension_type index,
                                 Variables_Set& parameters,
-                                Matrix& context,
+                                Matrix<Row>& context,
                                 dimension_type& space_dimension,
-                                const unsigned indent_level) {
+                                const int indent_level) {
+  PPL_ASSERT(indent_level >= 0);
 #ifdef NOISY_PIP
   std::cerr << std::setw(2 * indent_level) << ""
             << "Row " << index << " requires cut generation.\n";
 #else
-  used(indent_level);
+  PPL_USED(indent_level);
 #endif // #ifdef NOISY_PIP
 
   const dimension_type num_rows = tableau.t.num_rows();
@@ -2645,7 +3261,7 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
   const dimension_type num_vars = tableau.s.num_columns();
   const dimension_type num_params = tableau.t.num_columns();
   PPL_ASSERT(num_params == 1 + parameters.size());
-  const Coefficient& den = tableau.denominator();
+  Coefficient_traits::const_reference denom = tableau.denominator();
 
   PPL_DIRTY_TEMP_COEFFICIENT(mod);
   PPL_DIRTY_TEMP_COEFFICIENT(coeff);
@@ -2655,10 +3271,15 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
   {
     // Limiting the scope of reference row_t (may be later invalidated).
     const Row& row_t = tableau.t[index];
+    Row::const_iterator j = row_t.begin();
+    Row::const_iterator j_end = row_t.end();
+    // Skip the element with index 0.
+    if (j != j_end && j.index() == 0)
+      ++j;
     WEIGHT_BEGIN();
-    for (dimension_type j = 1; j < num_params; ++j) {
-      WEIGHT_ADD(1);
-      if (row_t[j] % den != 0) {
+    for ( ; j != j_end; ++j) {
+      WEIGHT_ADD(7);
+      if (*j % denom != 0) {
         generate_parametric_cut = true;
         break;
       }
@@ -2667,39 +3288,49 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
 
   // Column index of already existing Artificial_Parameter.
   dimension_type ap_column = not_a_dimension();
-  bool reuse_ap = false;
 
   if (generate_parametric_cut) {
     // Fractional parameter coefficient found: generate parametric cut.
+    bool reuse_ap = false;
     Linear_Expression expr;
 
     // Limiting the scope of reference row_t (may be later invalidated).
     {
       const Row& row_t = tableau.t[index];
-      pos_mod_assign(mod, row_t[0], den);
-      if (mod != 0) {
-        // Optimizing computation: expr += (den - mod);
-        expr += den;
-        expr -= mod;
-      }
-      // NOTE: iterating downwards on parameters to avoid reallocations.
-      Variables_Set::const_reverse_iterator p_j = parameters.rbegin();
-      // NOTE: index j spans [1..num_params-1] downwards.
-      WEIGHT_BEGIN();
-      for (dimension_type j = num_params; j-- > 1; ) {
-        pos_mod_assign(mod, row_t[j], den);
+      Row::const_iterator j = row_t.begin();
+      Row::const_iterator j_end = row_t.end();
+      if (j != j_end && j.index() == 0) {
+        pos_rem_assign(mod, *j, denom);
+        ++j;
         if (mod != 0) {
-          // Optimizing computation: expr += (den - mod) * Variable(*p_j);
-          coeff = den - mod;
-          add_mul_assign(expr, coeff, Variable(*p_j));
+          // Optimizing computation: expr += (denom - mod);
+          expr += denom;
+          expr -= mod;
+        }
+      }
+      if (!parameters.empty()) {
+        // To avoid reallocations of expr.
+        add_mul_assign(expr, 0, Variable(*(parameters.rbegin())));
+        Variables_Set::const_iterator p_j = parameters.begin();
+        dimension_type last_index = 1;
+        WEIGHT_BEGIN();
+        for ( ; j != j_end; ++j) {
+          WEIGHT_ADD(69);
+          pos_rem_assign(mod, *j, denom);
+          if (mod != 0) {
+            // Optimizing computation: expr += (denom - mod) * Variable(*p_j);
+            WEIGHT_ADD(164);
+            coeff = denom - mod;
+            PPL_ASSERT(last_index <= j.index());
+            std::advance(p_j, j.index() - last_index);
+            last_index = j.index();
+            add_mul_assign(expr, coeff, Variable(*p_j));
+          }
         }
-        // Mode to previous parameter.
-        ++p_j;
       }
-      WEIGHT_ADD_MUL(2, num_params);
     }
     // Generate new artificial parameter.
-    Artificial_Parameter ap(expr, den);
+    Artificial_Parameter ap(expr, denom);
 
     // Search if the Artificial_Parameter has already been generated.
     ap_column = space_dimension;
@@ -2743,37 +3374,66 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
 
       // Update current context with constraints on the new parameter.
       const dimension_type ctx_num_rows = context.num_rows();
-      context.add_zero_rows(2, Row::Flags());
+      context.add_zero_rows(2);
       Row& ctx1 = context[ctx_num_rows];
       Row& ctx2 = context[ctx_num_rows+1];
       // Recompute row reference after possible reallocation.
-      WEIGHT_BEGIN();
       const Row& row_t = tableau.t[index];
-      for (dimension_type j = 0; j < num_params; ++j) {
-        pos_mod_assign(mod, row_t[j], den);
-        if (mod != 0) {
-          ctx1[j] = den;
-          ctx1[j] -= mod;
-          neg_assign(ctx2[j], ctx1[j]);
-          WEIGHT_ADD(3);
+      {
+        Row::const_iterator j = row_t.begin();
+        Row::const_iterator j_end = row_t.end();
+        Row::iterator itr1 = ctx1.end();
+        Row::iterator itr2 = ctx2.end();
+        if (j != j_end && j.index() == 0) {
+          pos_rem_assign(mod, *j, denom);
+          if (mod != 0) {
+            itr1 = ctx1.insert(0, denom);
+            *itr1 -= mod;
+            itr2 = ctx2.insert(0, *itr1);
+            neg_assign(*itr2);
+            // Compute <CODE> ctx2[0] += denom-1; </CODE>
+            *itr2 += denom;
+            --(*itr2);
+          }
+          else {
+            // Compute <CODE> ctx2[0] += denom-1; </CODE>
+            itr2 = ctx2.insert(0, denom);
+            --(*itr2);
+          }
+          ++j;
+        }
+        else {
+          // Compute <CODE> ctx2[0] += denom-1; </CODE>
+          itr2 = ctx2.insert(0, denom);
+          --(*itr2);
+        }
+        WEIGHT_BEGIN();
+        for ( ; j != j_end; ++j) {
+          pos_rem_assign(mod, *j, denom);
+          if (mod != 0) {
+            const dimension_type j_index = j.index();
+            itr1 = ctx1.insert(itr1, j_index, denom);
+            *itr1 -= mod;
+            itr2 = ctx2.insert(itr2, j_index, *itr1);
+            neg_assign(*itr2);
+            WEIGHT_ADD(294);
+          }
         }
+        itr1 = ctx1.insert(itr1, num_params, denom);
+        neg_assign(*itr1);
+        itr2 = ctx2.insert(itr2, num_params, denom);
+        WEIGHT_ADD(122);
       }
-      WEIGHT_ADD_MUL(1, num_params);
-      neg_assign(ctx1[num_params], den);
-      ctx2[num_params] = den;
-      // ctx2[0] += den-1;
-      ctx2[0] += den;
-      --ctx2[0];
-      WEIGHT_ADD(4);
+
 #ifdef NOISY_PIP
       {
         using namespace IO_Operators;
         Variables_Set::const_iterator p = parameters.begin();
-        Linear_Expression expr1(ctx1[0]);
-        Linear_Expression expr2(ctx2[0]);
+        Linear_Expression expr1(ctx1.get(0));
+        Linear_Expression expr2(ctx2.get(0));
         for (dimension_type j = 1; j <= num_params; ++j, ++p) {
-          add_mul_assign(expr1, ctx1[j], Variable(*p));
-          add_mul_assign(expr2, ctx2[j], Variable(*p));
+          add_mul_assign(expr1, ctx1.get(j), Variable(*p));
+          add_mul_assign(expr2, ctx2.get(j), Variable(*p));
         }
         std::cerr << std::setw(2 * indent_level) << ""
                   << "Adding to context: "
@@ -2785,30 +3445,39 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
   }
 
   // Generate new cut.
-  tableau.s.add_zero_rows(1, Row::Flags());
-  tableau.t.add_zero_rows(1, Row::Flags());
+  tableau.s.add_zero_rows(1);
+  tableau.t.add_zero_rows(1);
   Row& cut_s = tableau.s[num_rows];
   Row& cut_t = tableau.t[num_rows];
   // Recompute references after possible reallocation.
-  WEIGHT_BEGIN();
   const Row& row_s = tableau.s[index];
   const Row& row_t = tableau.t[index];
-  for (dimension_type j = 0; j < num_vars; ++j) {
-    pos_mod_assign(cut_s[j], row_s[j], den);
-  }
-  WEIGHT_ADD_MUL(1, num_params);
-  for (dimension_type j = 0; j < num_params; ++j) {
-    pos_mod_assign(mod, row_t[j], den);
-    if (mod != 0) {
-      cut_t[j] = mod;
-      cut_t[j] -= den;
-      WEIGHT_ADD(2);
+  WEIGHT_BEGIN();
+  {
+    Row::iterator itr = cut_s.end();
+    for (Row::const_iterator
+           j = row_s.begin(), j_end = row_s.end(); j != j_end; ++j) {
+      WEIGHT_ADD(55);
+      itr = cut_s.insert(itr, j.index(), *j);
+      pos_rem_assign(*itr, *itr, denom);
+    }
+  }
+  {
+    Row::iterator cut_t_itr = cut_t.end();
+    for (Row::const_iterator
+           j = row_t.begin(), j_end = row_t.end(); j!=j_end; ++j) {
+      WEIGHT_ADD(37);
+      pos_rem_assign(mod, *j, denom);
+      if (mod != 0) {
+        WEIGHT_ADD(108);
+        cut_t_itr = cut_t.insert(cut_t_itr, j.index(), mod);
+        *cut_t_itr -= denom;
+      }
     }
   }
-  WEIGHT_ADD_MUL(1, num_params);
   if (ap_column != not_a_dimension())
     // If we re-use an existing Artificial_Parameter
-    cut_t[ap_column] = den;
+    cut_t[ap_column] = denom;
 
 #ifdef NOISY_PIP
   {
@@ -2817,14 +3486,18 @@ PIP_Solution_Node::generate_cut(const dimension_type index,
     dimension_type ti = 1;
     dimension_type si = 0;
     for (dimension_type j = 0; j < space_dimension; ++j) {
-      if (parameters.count(j) == 1)
-        add_mul_assign(expr, cut_t[ti++], Variable(j));
-      else
-        add_mul_assign(expr, cut_s[si++], Variable(j));
+      if (parameters.count(j) == 1) {
+        add_mul_assign(expr, cut_t.get(ti), Variable(j));
+        ++ti;
+      }
+      else {
+        add_mul_assign(expr, cut_s.get(si), Variable(j));
+        ++si;
+      }
     }
     std::cerr << std::setw(2 * indent_level) << ""
               << "Adding cut: "
-              << Constraint(expr + cut_t[0] >= 0)
+              << Constraint(expr + cut_t.get(0) >= 0)
               << std::endl;
   }
 #endif // #ifdef NOISY_PIP
@@ -2853,7 +3526,7 @@ PIP_Tree_Node::external_memory_in_bytes() const {
   n += artificial_parameters.capacity() * sizeof(Artificial_Parameter);
   for (Artificial_Parameter_Sequence::const_iterator
          ap = art_parameter_begin(),
-	 ap_end = art_parameter_end(); ap != ap_end; ++ap)
+         ap_end = art_parameter_end(); ap != ap_end; ++ap)
     n += (ap->external_memory_in_bytes());
 
   return n;
@@ -2864,7 +3537,7 @@ PIP_Decision_Node::external_memory_in_bytes() const {
   memory_size_type n = PIP_Tree_Node::external_memory_in_bytes();
   PPL_ASSERT(true_child != 0);
   n += true_child->total_memory_in_bytes();
-  if (false_child)
+  if (false_child != 0)
     n += false_child->total_memory_in_bytes();
   return n;
 }
@@ -2906,13 +3579,14 @@ PIP_Solution_Node::total_memory_in_bytes() const {
 
 void
 PIP_Tree_Node::indent_and_print(std::ostream& s,
-                                const unsigned indent,
+                                const int indent,
                                 const char* str) {
-  s << std::setw(2*indent) << "" << str;
+  PPL_ASSERT(indent >= 0);
+  s << std::setw(2 * indent) << "" << str;
 }
 
 void
-PIP_Tree_Node::print(std::ostream& s, unsigned indent) const {
+PIP_Tree_Node::print(std::ostream& s, const int indent) const {
   const dimension_type pip_space_dim = get_owner()->space_dimension();
   const Variables_Set& pip_params = get_owner()->parameter_space_dimensions();
 
@@ -2929,11 +3603,9 @@ PIP_Tree_Node::print(std::ostream& s, unsigned indent) const {
 }
 
 void
-PIP_Tree_Node::print_tree(std::ostream& s, unsigned indent,
-                          const std::vector<bool>& pip_dim_is_param,
+PIP_Tree_Node::print_tree(std::ostream& s, const int indent,
+                          const std::vector<bool>&,
                           dimension_type first_art_dim) const {
-  used(pip_dim_is_param);
-
   using namespace IO_Operators;
 
   // Print artificial parameters.
@@ -2961,7 +3633,7 @@ PIP_Tree_Node::print_tree(std::ostream& s, unsigned indent,
 }
 
 void
-PIP_Decision_Node::print_tree(std::ostream& s, unsigned indent,
+PIP_Decision_Node::print_tree(std::ostream& s, const int indent,
                               const std::vector<bool>& pip_dim_is_param,
                               const dimension_type first_art_dim) const {
   // First print info common to decision and solution nodes.
@@ -2975,14 +3647,15 @@ PIP_Decision_Node::print_tree(std::ostream& s, unsigned indent,
 
   indent_and_print(s, indent, "else\n");
 
-  if (false_child)
-    false_child->print_tree(s, indent+1, pip_dim_is_param, child_first_art_dim);
+  if (false_child != 0)
+    false_child->print_tree(s, indent+1, pip_dim_is_param,
+                            child_first_art_dim);
   else
     indent_and_print(s, indent+1, "_|_\n");
 }
 
 void
-PIP_Solution_Node::print_tree(std::ostream& s, unsigned indent,
+PIP_Solution_Node::print_tree(std::ostream& s, const int indent,
                               const std::vector<bool>& pip_dim_is_param,
                               const dimension_type first_art_dim) const {
   // Print info common to decision and solution nodes.
@@ -3015,7 +3688,7 @@ PIP_Solution_Node::print_tree(std::ostream& s, unsigned indent,
 const Linear_Expression&
 PIP_Solution_Node::parametric_values(const Variable var) const {
   const PIP_Problem* pip = get_owner();
-  PPL_ASSERT(pip);
+  PPL_ASSERT(pip != 0);
 
   const dimension_type space_dim = pip->space_dimension();
   if (var.space_dimension() > space_dim) {
@@ -3054,7 +3727,7 @@ PIP_Solution_Node::update_solution() const {
     return;
 
   const PIP_Problem* pip = get_owner();
-  PPL_ASSERT(pip);
+  PPL_ASSERT(pip != 0);
   std::vector<bool> pip_dim_is_param(pip->space_dimension());
   const Variables_Set& params = pip->parameter_space_dimensions();
   for (Variables_Set::const_iterator p = params.begin(),
@@ -3098,7 +3771,7 @@ PIP_Solution_Node
 
 
   PPL_DIRTY_TEMP_COEFFICIENT(norm_coeff);
-  const Coefficient& den = tableau.denominator();
+  Coefficient_traits::const_reference denom = tableau.denominator();
   for (dimension_type i = num_pip_vars; i-- > 0; ) {
     Linear_Expression& sol_i = x.solution[i];
     sol_i = Linear_Expression(0);
@@ -3106,16 +3779,22 @@ PIP_Solution_Node
       continue;
     const Row& row = tableau.t[mapping[i]];
 
-    for (dimension_type j = num_all_params; j-- > 0; ) {
-      // NOTE: add 1 to column index to account for inhomogenous term.
-      const Coefficient& coeff = row[j+1];
+    // Start from index 1 to skip the inhomogeneous term.
+    Row::const_iterator j = row.begin();
+    Row::const_iterator j_end = row.end();
+    // Skip the element with index 0.
+    if (j != j_end && j.index() == 0)
+      ++j;
+    for ( ; j != j_end; ++j) {
+      Coefficient_traits::const_reference coeff = *j;
       if (coeff == 0)
         continue;
-      norm_coeff = coeff / den;
+      norm_coeff = coeff / denom;
       if (norm_coeff != 0)
-        add_mul_assign(sol_i, norm_coeff, Variable(all_param_names[j]));
+        add_mul_assign(sol_i, norm_coeff,
+                      Variable(all_param_names[j.index() - 1]));
     }
-    norm_coeff = row[0] / den;
+    norm_coeff = row.get(0) / denom;
     sol_i += norm_coeff;
   }
 
diff --git a/src/PIP_Tree.defs.hh b/src/PIP_Tree.defs.hh
index 90afc9e..b6f27a7 100644
--- a/src/PIP_Tree.defs.hh
+++ b/src/PIP_Tree.defs.hh
@@ -1,6 +1,6 @@
 /* PIP_Tree_Node class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_PIP_Tree_defs_hh
 #define PPL_PIP_Tree_defs_hh 1
@@ -30,11 +30,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Constraint_System.defs.hh"
 #include "Constraint_System.inlines.hh"
 #include "Constraint.defs.hh"
-#include "Matrix.defs.hh"
 #include "Variables_Set.defs.hh"
 #include "globals.defs.hh"
 #include "PIP_Problem.defs.hh"
 
+#include "Matrix.defs.hh"
+#include "Dense_Row.defs.hh"
+#include "Sparse_Row.defs.hh"
+
 namespace Parma_Polyhedra_Library {
 
 //! A node of the PIP solution tree.
@@ -65,6 +68,12 @@ protected:
   virtual bool check_ownership(const PIP_Problem* owner) const = 0;
 
 public:
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
+
   //! Returns a pointer to a dynamically-allocated copy of \p *this.
   virtual PIP_Tree_Node* clone() const = 0;
 
@@ -72,13 +81,13 @@ public:
   virtual ~PIP_Tree_Node();
 
   //! Returns \c true if and only if \p *this is well formed.
-  virtual bool OK() const;
+  virtual bool OK() const = 0;
 
   //! Returns \p this if \p *this is a solution node, 0 otherwise.
-  virtual const PIP_Solution_Node* as_solution() const;
+  virtual const PIP_Solution_Node* as_solution() const = 0;
 
   //! Returns \p this if \p *this is a decision node, 0 otherwise.
-  virtual const PIP_Decision_Node* as_decision() const;
+  virtual const PIP_Decision_Node* as_decision() const = 0;
 
   /*! \brief
     Returns the system of parameter constraints controlling \p *this.
@@ -111,7 +120,7 @@ public:
     \param indent
     The amount of indentation.
   */
-  void print(std::ostream& s, unsigned indent = 0) const;
+  void print(std::ostream& s, int indent = 0) const;
 
   //! Dumps to \p s an ASCII representation of \p *this.
   void ascii_dump(std::ostream& s) const;
@@ -209,13 +218,13 @@ protected:
   */
   virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
                                bool check_feasible_context,
-                               const Matrix& context,
+                               const Matrix<Row>& context,
                                const Variables_Set& params,
                                dimension_type space_dim,
-                               unsigned indent_level) = 0;
+                               int indent_level) = 0;
 
-  //! Inserts a new parametric constraint in internal Row format
-  void add_constraint(const Row& x, const Variables_Set& parameters);
+  //! Inserts a new parametric constraint in internal row format.
+  void add_constraint(const Row& row, const Variables_Set& parameters);
 
   //! Merges parent's artificial parameters into \p *this.
   void parent_merge();
@@ -238,13 +247,13 @@ protected:
     that was created in this node (if any).
   */
   virtual void print_tree(std::ostream& s,
-                          unsigned indent,
+                          int indent,
                           const std::vector<bool>& pip_dim_is_param,
-                          dimension_type first_art_dim) const;
+                          dimension_type first_art_dim) const = 0;
 
   //! A helper function used when printing PIP trees.
   static void
-  indent_and_print(std::ostream& s, unsigned indent, const char* str);
+  indent_and_print(std::ostream& s, int indent, const char* str);
 
   /*! \brief
     Checks whether a context matrix is satisfiable.
@@ -254,13 +263,13 @@ protected:
     solution is integer by applying a cut generation method when
     intermediate non-integer solutions are found.
   */
-  static bool compatibility_check(Matrix& s);
+  static bool compatibility_check(Matrix<Row>& s);
 
   /*! \brief
     Helper method: checks for satisfiability of the restricted context
     obtained by adding \p row to \p context.
   */
-  static bool compatibility_check(const Matrix& context, const Row& row);
+  static bool compatibility_check(const Matrix<Row>& context, const Row& row);
 
 }; // class PIP_Tree_Node
 
@@ -281,23 +290,23 @@ public:
 
   //! Constructor.
   /*!
-    Builds artificial parameter \f$\frac{\mathit{expr}}{\mathit{den}}\f$.
+    Builds artificial parameter \f$\frac{\mathtt{expr}}{\mathtt{d}}\f$.
 
     \param expr
     The expression that, after normalization, will form the numerator of
     the artificial parameter.
 
-    \param den
-    The integer constant thatm after normalization, will form the
+    \param d
+    The integer constant that, after normalization, will form the
     denominator of the artificial parameter.
 
     \exception std::invalid_argument
-    Thrown if \p den is zero.
+    Thrown if \p d is zero.
 
     Normalization will ensure that the denominator is positive.
   */
   Artificial_Parameter(const Linear_Expression& expr,
-                       Coefficient_traits::const_reference den);
+                       Coefficient_traits::const_reference d);
 
   //! Copy constructor.
   Artificial_Parameter(const Artificial_Parameter& y);
@@ -306,7 +315,7 @@ public:
   Coefficient_traits::const_reference denominator() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Artificial_Parameter& y);
+  void m_swap(Artificial_Parameter& y);
 
   //! Returns \c true if and only if \p *this and \p y are equal.
   /*!
@@ -340,9 +349,17 @@ private:
 }; // class PIP_Tree_Node::Artificial_Parameter
 
 
+//! Swaps \p x with \p y.
+/*! \relates PIP_Tree_Node::Artificial_Parameter */
+void
+swap(PIP_Tree_Node::Artificial_Parameter& x,
+     PIP_Tree_Node::Artificial_Parameter& y);
+
+
 //! A tree node representing part of the space of solutions.
 class PIP_Solution_Node : public PIP_Tree_Node {
 public:
+
   //! Constructor: builds a solution node owned by \p *owner.
   explicit PIP_Solution_Node(const PIP_Problem* owner);
 
@@ -358,6 +375,9 @@ public:
   //! Returns \p this.
   virtual const PIP_Solution_Node* as_solution() const;
 
+  //! Returns 0, since \p this is not a decision node.
+  virtual const PIP_Decision_Node* as_decision() const;
+
   /*! \brief
     Returns a parametric expression for the values of problem variable \p var.
 
@@ -373,15 +393,15 @@ public:
   */
   const Linear_Expression& parametric_values(Variable var) const;
 
-  //! Dumps to \p s an ASCII representation of \p *this.
-  void ascii_dump(std::ostream& s) const;
+  //! Dumps to \p os an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& os) const;
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
+    Loads from \p is an ASCII representation (as produced by
     ascii_dump(std::ostream&) const) and sets \p *this accordingly.
     Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  bool ascii_load(std::istream& s);
+  bool ascii_load(std::istream& is);
 
   //! Returns the total size in bytes of the memory occupied by \p *this.
   virtual memory_size_type total_memory_in_bytes() const;
@@ -392,9 +412,9 @@ private:
   //! The type for parametric simplex tableau.
   struct Tableau {
     //! The matrix of simplex coefficients.
-    Matrix s;
+    Matrix<Row> s;
     //! The matrix of parameter coefficients.
-    Matrix t;
+    Matrix<Row> t;
     //! A common denominator for all matrix elements
     Coefficient denom;
 
@@ -448,44 +468,44 @@ private:
       suitable for pivoting than the \f$(i',j')\f$ pair
 
       \param mapping
-      the PIP_Solution_Node::mapping vector for the tableau
+      The PIP_Solution_Node::mapping vector for the tableau.
 
       \param basis
-      the PIP_Solution_Node::basis vector for the tableau
+      The PIP_Solution_Node::basis vector for the tableau.
 
-      \param i
-      the row number for the first pivot row and column pair to be compared
+      \param row_0
+      The row number for the first pivot row and column pair to be compared.
 
-      \param j
-      the column number for the first pivot row and column pair to be
-      compared
+      \param col_0
+      The column number for the first pivot row and column pair to be
+      compared.
 
-      \param i_
-      the row number for the second pivot row and column pair to be compared
+      \param row_1
+      The row number for the second pivot row and column pair to be compared.
 
-      \param j_
-      the column number for the second pivot row and column pair to be
-      compared
+      \param col_1
+      The column number for the second pivot row and column pair to be
+      compared.
     */
     bool is_better_pivot(const std::vector<dimension_type>& mapping,
                          const std::vector<bool>& basis,
-                         const dimension_type i,
-                         const dimension_type j,
-                         const dimension_type i_,
-                         const dimension_type j_) const;
+                         const dimension_type row_0,
+                         const dimension_type col_0,
+                         const dimension_type row_1,
+                         const dimension_type col_1) const;
 
     //! Returns the value of the denominator.
     Coefficient_traits::const_reference denominator() const;
 
-    //! Dumps to \p s an ASCII representation of \p *this.
-    void ascii_dump(std::ostream& s) const;
+    //! Dumps to \p os an ASCII representation of \p *this.
+    void ascii_dump(std::ostream& os) const;
 
     /*! \brief
-      Loads from \p s an ASCII representation (as produced by
+      Loads from \p is an ASCII representation (as produced by
       ascii_dump(std::ostream&) const) and sets \p *this accordingly.
       Returns \c true if successful, \c false otherwise.
     */
-    bool ascii_load(std::istream& s);
+    bool ascii_load(std::istream& is);
 
     //! Returns the size in bytes of the memory managed by \p *this.
     /*!
@@ -505,18 +525,18 @@ private:
   /*! \brief
     A boolean vector for identifying the basic variables.
 
-    Variable identifiers are numbered from 0 to <tt>n+m-1</tt>, where \p n
+    Variable identifiers are numbered from 0 to <CODE>n+m-1</CODE>, where \p n
     is the number of columns in the simplex tableau corresponding to variables,
     and \p m is the number of rows.
 
-    Indices from 0 to <tt>n-1</tt> correspond to the original variables.
+    Indices from 0 to <CODE>n-1</CODE> correspond to the original variables.
 
-    Indices from \p n to <tt>n+m-1</tt> correspond to the slack variables
+    Indices from \p n to <CODE>n+m-1</CODE> correspond to the slack variables
     associated to the internal constraints, which do not strictly correspond
     to original constraints, since these may have been transformed to fit the
     standard form of the dual simplex.
 
-    The value for <tt>basis[i]</tt> is:
+    The value for <CODE>basis[i]</CODE> is:
      - \b true if variable \p i is basic,
      - \b false if variable \p i is nonbasic.
   */
@@ -525,11 +545,11 @@ private:
   /*! \brief
     A mapping between the tableau rows/columns and the original variables.
 
-    The value of <tt>mapping[i]</tt> depends of the value of <tt>basis[i]</tt>.
+    The value of <CODE>mapping[i]</CODE> depends of the value of <CODE>basis[i]</CODE>.
 
-     - If <tt>basis[i]</tt> is \b true, <tt>mapping[i]</tt> encodes the column
+     - If <CODE>basis[i]</CODE> is \b true, <CODE>mapping[i]</CODE> encodes the column
        index of variable \p i in the \p s matrix of the tableau.
-     - If <tt>basis[i]</tt> is \b false, <tt>mapping[i]</tt> encodes the row
+     - If <CODE>basis[i]</CODE> is \b false, <CODE>mapping[i]</CODE> encodes the row
        index of variable \p i in the tableau.
   */
   std::vector<dimension_type> mapping;
@@ -545,20 +565,20 @@ private:
   std::vector<dimension_type> var_column;
 
   /*! \brief
-    The variable number of the special inequality used for modelling
+    The variable number of the special inequality used for modeling
     equality constraints.
 
     The subset of equality constraints in a specific problem can be expressed
     as: \f$f_i(x,p) = 0 ; 1 \leq i \leq n\f$. As the dual simplex standard form
     requires constraints to be inequalities, the following constraints can be
-    modelized the following way:
+    modeled as follows:
 
      - \f$f_i(x,p) \geq 0 ; 1 \leq i \leq n\f$
 
      - \f$\sum\limits_{i=1}^n f_i(x,p) \leq 0\f$
 
     The \p special_equality_row value stores the variable number of the
-    specific constraint which is used to modelize the latter sum of
+    specific constraint which is used to model the latter sum of
     constraints. If no such constraint exists, the value is set to \p 0.
   */
   dimension_type special_equality_row;
@@ -593,7 +613,8 @@ private:
   bool solution_valid;
 
   //! Returns the sign of row \p x.
-  static Row_Sign row_sign(const Row& x, dimension_type big_dimension);
+  static Row_Sign row_sign(const Row& x,
+                           dimension_type big_dimension);
 
 protected:
   //! Copy constructor.
@@ -644,41 +665,38 @@ protected:
   //! Implements pure virtual method PIP_Tree_Node::solve.
   virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
                                bool check_feasible_context,
-                               const Matrix& context,
+                               const Matrix<Row>& context,
                                const Variables_Set& params,
                                dimension_type space_dim,
-                               unsigned indent_level);
+                               int indent_level);
 
   /*! \brief
-    Generate a Gomory cut using non-integer tableau row \p i.
+    Generate a Gomory cut using non-integer tableau row \p index.
 
-    \param i
-    Row index in simplex tableau from which the cut is generated
+    \param index
+    Row index in simplex tableau from which the cut is generated.
 
     \param parameters
     A std::set of the current parameter dimensions (including artificials);
-    to be updated if a new artificial parameter is to be created
+    to be updated if a new artificial parameter is to be created.
 
     \param context
     A set of linear inequalities on the parameters, in matrix form; to be
-    updated if a new artificial parameter is to be created
+    updated if a new artificial parameter is to be created.
 
     \param space_dimension
     The current space dimension, including variables and all parameters; to
-    be updated if an extra parameter is to be created
+    be updated if an extra parameter is to be created.
 
     \param indent_level
     The indentation level (for debugging output only).
   */
-  void generate_cut(dimension_type i,
-                    Variables_Set& parameters,
-                    Matrix& context,
-                    dimension_type& space_dimension,
-                    unsigned indent_level);
+  void generate_cut(dimension_type index, Variables_Set& parameters,
+                    Matrix<Row>& context, dimension_type& space_dimension,
+                    int indent_level);
 
   //! Prints on \p s the tree rooted in \p *this.
-  virtual void print_tree(std::ostream& s,
-                          unsigned indent,
+  virtual void print_tree(std::ostream& s, int indent,
                           const std::vector<bool>& pip_dim_is_param,
                           dimension_type first_art_dim) const;
 
@@ -700,6 +718,9 @@ public:
   //! Returns \p this.
   virtual const PIP_Decision_Node* as_decision() const;
 
+  //! Returns 0, since \p this is not a solution node.
+  virtual const PIP_Solution_Node* as_solution() const;
+
   //! Returns a const pointer to the \p b (true or false) branch of \p *this.
   const PIP_Tree_Node* child_node(bool b) const;
 
@@ -783,14 +804,13 @@ protected:
   //! Implements pure virtual method PIP_Tree_Node::solve.
   virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
                                bool check_feasible_context,
-                               const Matrix& context,
+                               const Matrix<Row>& context,
                                const Variables_Set& params,
                                dimension_type space_dim,
-                               unsigned indent_level);
+                               int indent_level);
 
   //! Prints on \p s the tree rooted in \p *this.
-  virtual void print_tree(std::ostream& s,
-                          unsigned indent,
+  virtual void print_tree(std::ostream& s, int indent,
                           const std::vector<bool>& pip_dim_is_param,
                           dimension_type first_art_dim) const;
 
diff --git a/src/PIP_Tree.inlines.hh b/src/PIP_Tree.inlines.hh
index ddd1bc0..32b56a8 100644
--- a/src/PIP_Tree.inlines.hh
+++ b/src/PIP_Tree.inlines.hh
@@ -1,6 +1,6 @@
 /* PIP_Tree related class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_PIP_Tree_inlines_hh
 #define PPL_PIP_Tree_inlines_hh 1
@@ -93,14 +93,14 @@ PIP_Tree_Node::art_parameter_count() const {
 
 inline
 const PIP_Tree_Node*
-PIP_Decision_Node::child_node(bool v) const {
-  return v ? true_child : false_child;
+PIP_Decision_Node::child_node(bool b) const {
+  return b ? true_child : false_child;
 }
 
 inline
 PIP_Tree_Node*
-PIP_Decision_Node::child_node(bool v) {
-  return v ? true_child : false_child;
+PIP_Decision_Node::child_node(bool b) {
+  return b ? true_child : false_child;
 }
 
 inline
@@ -122,9 +122,17 @@ PIP_Tree_Node::Artificial_Parameter::denominator() const {
 }
 
 inline void
-PIP_Tree_Node::Artificial_Parameter::swap(Artificial_Parameter& y) {
-  Linear_Expression::swap(y);
-  std::swap(denom, y.denom);
+PIP_Tree_Node::Artificial_Parameter::m_swap(Artificial_Parameter& y) {
+  Linear_Expression::m_swap(y);
+  using std::swap;
+  swap(denom, y.denom);
+}
+
+/*! \relates PIP_Tree_Node::Artificial_Parameter */
+inline void
+swap(PIP_Tree_Node::Artificial_Parameter& x,
+     PIP_Tree_Node::Artificial_Parameter& y) {
+  x.m_swap(y);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/PIP_Tree.types.hh b/src/PIP_Tree.types.hh
index 592db74..b4a8f11 100644
--- a/src/PIP_Tree.types.hh
+++ b/src/PIP_Tree.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Partial_Function.cc b/src/Partial_Function.cc
index 7c103d3..81a62f1 100644
--- a/src/Partial_Function.cc
+++ b/src/Partial_Function.cc
@@ -1,6 +1,6 @@
 /* Implementation of class Partial_Function (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Partial_Function.defs.hh"
 #include "Variable.defs.hh"
 #include <iostream>
diff --git a/src/Partial_Function.defs.hh b/src/Partial_Function.defs.hh
index 02b596b..e66d87e 100644
--- a/src/Partial_Function.defs.hh
+++ b/src/Partial_Function.defs.hh
@@ -1,6 +1,6 @@
 /* Partial_Function class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Partial_Function_defs_hh
 #define PPL_Partial_Function_defs_hh 1
diff --git a/src/Partial_Function.inlines.hh b/src/Partial_Function.inlines.hh
index 53c013e..51d74c0 100644
--- a/src/Partial_Function.inlines.hh
+++ b/src/Partial_Function.inlines.hh
@@ -1,6 +1,6 @@
 /* Partial_Function class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Partial_Function_inlines_hh
 #define PPL_Partial_Function_inlines_hh 1
 
 #include <stdexcept>
-#include <cassert>
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
diff --git a/src/Partial_Function.types.hh b/src/Partial_Function.types.hh
index e814ba6..ab1e5f9 100644
--- a/src/Partial_Function.types.hh
+++ b/src/Partial_Function.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Partially_Reduced_Product.defs.hh b/src/Partially_Reduced_Product.defs.hh
index 8950c73..885f158 100644
--- a/src/Partially_Reduced_Product.defs.hh
+++ b/src/Partially_Reduced_Product.defs.hh
@@ -1,6 +1,6 @@
 /* Partially_Reduced_Product class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Partially_Reduced_Product_defs_hh
 #define PPL_Partially_Reduced_Product_defs_hh 1
@@ -62,6 +62,12 @@ operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+void swap(Partially_Reduced_Product<D1, D2, R>& x,
+	  Partially_Reduced_Product<D1, D2, R>& y);
+
 /*! \brief
   Returns <CODE>true</CODE> if and only if the components of \p x and \p y
   are pairwise equal.
@@ -235,8 +241,8 @@ public:
   For each of the constraints, it checks the frequency and value for the same
   linear expression in the other component. If the constraint does not satisfy
   the implied congruence, the inhomogeneous term is adjusted so that it does.
-  Note that unless the congruences reduction adds equalitites
-  the shapes of the domains are unaltered.
+  Note that, unless the congruences reduction adds equalities, the
+  shapes of the domains are unaltered.
 
 */
 template <typename D1, typename D2>
@@ -815,20 +821,20 @@ public:
     \param maximum
     <CODE>true</CODE> if the supremum value can be reached in \p this.
 
-    \param point
-    When maximization succeeds, will be assigned a generator point
-    where \p expr reaches its supremum value.
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
     If \p *this is empty or \p expr is not bounded by \p *this,
     <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p point are left untouched.
+    and \p g are left untouched.
   */
   bool maximize(const Linear_Expression& expr,
 		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& point) const;
+		Generator& g) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this is not empty and
@@ -874,9 +880,9 @@ public:
     \param minimum
     <CODE>true</CODE> if the infimum value can be reached in \p this.
 
-    \param point
-    When minimization succeeds, will be assigned a generator point
-    where \p expr reaches its infimum value.
+    \param g
+    When minimization succeeds, will be assigned the point or closure
+    point where \p expr reaches its infimum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
@@ -887,7 +893,7 @@ public:
   */
   bool minimize(const Linear_Expression& expr,
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& point) const;
+		Generator& g) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if each component of \p *this
@@ -1577,7 +1583,7 @@ public:
     Swaps \p *this with product \p y.  (\p *this and \p y can be
     dimension-incompatible.)
   */
-  void swap(Partially_Reduced_Product& y);
+  void m_swap(Partially_Reduced_Product& y);
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -1640,6 +1646,10 @@ protected:
     to each other and the reduction class.
   */
   bool reduced;
+
+private:
+  void throw_space_dimension_overflow(const char* method,
+                                      const char* reason);
 };
 
 namespace Parma_Polyhedra_Library {
@@ -1673,16 +1683,6 @@ public:
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-  template <typename D1, typename D2, typename R>
-void swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& y);
-
-} // namespace std
-
 #include "Partially_Reduced_Product.inlines.hh"
 #include "Partially_Reduced_Product.templates.hh"
 
diff --git a/src/Partially_Reduced_Product.inlines.hh b/src/Partially_Reduced_Product.inlines.hh
index 47e44d1..7273fec 100644
--- a/src/Partially_Reduced_Product.inlines.hh
+++ b/src/Partially_Reduced_Product.inlines.hh
@@ -1,6 +1,6 @@
 /* Partially_Reduced_Product class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Partially_Reduced_Product_inlines_hh
 #define PPL_Partially_Reduced_Product_inlines_hh 1
@@ -45,7 +45,13 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(dimension_type num_dimensions,
 			    const Degenerate_Element kind)
-  : d1(num_dimensions, kind),
+  : d1(num_dimensions <= max_space_dimension()
+       ? num_dimensions
+       : (throw_space_dimension_overflow("Partially_Reduced_Product(n, k)",
+                                         "n exceeds the maximum "
+                                         "allowed space dimension"),
+          num_dimensions),
+       kind),
     d2(num_dimensions, kind) {
   set_reduced_flag();
 }
@@ -53,8 +59,8 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Congruence_System& ccgs)
-  : d1(ccgs), d2(ccgs) {
+::Partially_Reduced_Product(const Congruence_System& cgs)
+  : d1(cgs), d2(cgs) {
   clear_reduced_flag();
 }
 
@@ -69,8 +75,8 @@ Partially_Reduced_Product<D1, D2, R>
 template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Constraint_System& ccs)
-  : d1(ccs), d2(ccs) {
+::Partially_Reduced_Product(const Constraint_System& cs)
+  : d1(cs), d2(cs) {
   clear_reduced_flag();
 }
 
@@ -154,7 +160,7 @@ Partially_Reduced_Product<D1, D2, R>
   Partially_Reduced_Product<D1, D2, R> pg1(y.domain1(), complexity);
   Partially_Reduced_Product<D1, D2, R> pg2(y.domain2(), complexity);
   pg1.intersection_assign(pg2);
-  swap(pg1);
+  m_swap(pg1);
   /* Even if y is reduced, the built product may not be reduced as
      the reduction method may have changed (i.e., S != R). */
   clear_reduced_flag();
@@ -253,7 +259,8 @@ Partially_Reduced_Product<D1, D2, R>
   ub_exact = d2.upper_bound_assign_if_exact(y.d2);
   if (!ub_exact)
     return false;
-  std::swap(d1,d1_copy);
+  using std::swap;
+  swap(d1, d1_copy);
   return true;
 }
 
@@ -370,10 +377,11 @@ Partially_Reduced_Product<D1, D2, R>::topological_closure_assign() {
 
 template <typename D1, typename D2, typename R>
 inline void
-Partially_Reduced_Product<D1, D2, R>::swap(Partially_Reduced_Product& y) {
-  std::swap(d1, y.d1);
-  std::swap(d2, y.d2);
-  std::swap(reduced, y.reduced);
+Partially_Reduced_Product<D1, D2, R>::m_swap(Partially_Reduced_Product& y) {
+  using std::swap;
+  swap(d1, y.d1);
+  swap(d2, y.d2);
+  swap(reduced, y.reduced);
 }
 
 template <typename D1, typename D2, typename R>
@@ -707,7 +715,7 @@ Partially_Reduced_Product<D1, D2, R>::ascii_dump(std::ostream& s) const {
 template <typename D1, typename D2, typename R>
 inline int32_t
 Partially_Reduced_Product<D1, D2, R>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
 }
 
 /*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
@@ -731,11 +739,12 @@ operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
 /*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
 template <typename D1, typename D2, typename R>
 inline std::ostream&
-IO_Operators::operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& pd) {
+IO_Operators::operator<<(std::ostream& s,
+                         const Partially_Reduced_Product<D1, D2, R>& dp) {
   return s << "Domain 1:\n"
-	   << pd.d1
+	   << dp.d1
 	   << "Domain 2:\n"
-	   << pd.d2;
+	   << dp.d2;
 }
 
 } // namespace Parma_Polyhedra_Library
@@ -796,14 +805,14 @@ inline
 Shape_Preserving_Reduction<D1, D2>::~Shape_Preserving_Reduction() {
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
+/*! \relates Partially_Reduced_Product */
 template <typename D1, typename D2, typename R>
 inline void
-std::swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& y) {
-  x.swap(y);
+swap(Partially_Reduced_Product<D1, D2, R>& x,
+     Partially_Reduced_Product<D1, D2, R>& y) {
+  x.m_swap(y);
 }
 
+} // namespace Parma_Polyhedra_Library
+
 #endif // !defined(PPL_Partially_Reduced_Product_inlines_hh)
diff --git a/src/Partially_Reduced_Product.templates.hh b/src/Partially_Reduced_Product.templates.hh
index e3377e6..e396649 100644
--- a/src/Partially_Reduced_Product.templates.hh
+++ b/src/Partially_Reduced_Product.templates.hh
@@ -1,7 +1,7 @@
 /* Partially_Reduced_Product class implementation:
    non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Partially_Reduced_Product_templates_hh
 #define PPL_Partially_Reduced_Product_templates_hh 1
@@ -34,6 +34,17 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 template <typename D1, typename D2, typename R>
+void
+Partially_Reduced_Product<D1, D2, R>
+::throw_space_dimension_overflow(const char* method,
+                                 const char* reason) {
+  std::ostringstream s;
+  s << "PPL::Partially_Reduced_Product::" << method << ":" << std::endl
+    << reason << ".";
+  throw std::length_error(s.str());
+}
+
+template <typename D1, typename D2, typename R>
 Constraint_System
 Partially_Reduced_Product<D1, D2, R>::constraints() const {
   reduce();
@@ -242,7 +253,7 @@ Partially_Reduced_Product<D1, D2, R>
     maximum = maximum2;
   }
   return true;
- }
+}
 
 template <typename D1, typename D2, typename R>
 bool
@@ -294,7 +305,7 @@ Partially_Reduced_Product<D1, D2, R>
     minimum = minimum2;
   }
   return true;
- }
+}
 
 template <typename D1, typename D2, typename R>
 bool
@@ -303,7 +314,7 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_n,
 	   Coefficient& sup_d,
 	   bool& maximum,
-	   Generator& pnt) const {
+	   Generator& g) const {
   reduce();
 
   if (is_empty())
@@ -316,10 +327,10 @@ Partially_Reduced_Product<D1, D2, R>
   PPL_DIRTY_TEMP_COEFFICIENT(sup2_d);
   bool maximum1;
   bool maximum2;
-  Generator pnt1(point());
-  Generator pnt2(point());
-  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1, pnt1);
-  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2, pnt2);
+  Generator g1(point());
+  Generator g2(point());
+  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1, g1);
+  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2, g2);
   // If neither is bounded from above, return false.
   if (!r1 && !r2)
     return false;
@@ -328,7 +339,7 @@ Partially_Reduced_Product<D1, D2, R>
     sup_n = sup2_n;
     sup_d = sup2_d;
     maximum = maximum2;
-    pnt = pnt2;
+    g = g2;
     return true;
   }
   // If only d1 is bounded from above, then use the values for d1.
@@ -336,7 +347,7 @@ Partially_Reduced_Product<D1, D2, R>
     sup_n = sup1_n;
     sup_d = sup1_d;
     maximum = maximum1;
-    pnt = pnt1;
+    g = g1;
     return true;
   }
   // If both d1 and d2 are bounded from above, then use the minimum values.
@@ -344,16 +355,16 @@ Partially_Reduced_Product<D1, D2, R>
     sup_n = sup1_n;
     sup_d = sup1_d;
     maximum = maximum1;
-    pnt = pnt1;
+    g = g1;
   }
   else {
     sup_n = sup2_n;
     sup_d = sup2_d;
     maximum = maximum2;
-    pnt = pnt2;
+    g = g2;
   }
   return true;
- }
+}
 
 template <typename D1, typename D2, typename R>
 bool
@@ -362,7 +373,7 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_n,
 	   Coefficient& inf_d,
 	   bool& minimum,
-	   Generator& pnt) const {
+	   Generator& g) const {
   reduce();
 
   if (is_empty())
@@ -375,10 +386,10 @@ Partially_Reduced_Product<D1, D2, R>
   PPL_DIRTY_TEMP_COEFFICIENT(inf2_d);
   bool minimum1;
   bool minimum2;
-  Generator pnt1(point());
-  Generator pnt2(point());
-  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1, pnt1);
-  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2, pnt2);
+  Generator g1(point());
+  Generator g2(point());
+  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1, g1);
+  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2, g2);
   // If neither is bounded from below, return false.
   if (!r1 && !r2)
     return false;
@@ -387,7 +398,7 @@ Partially_Reduced_Product<D1, D2, R>
     inf_n = inf2_n;
     inf_d = inf2_d;
     minimum = minimum2;
-    pnt = pnt2;
+    g = g2;
     return true;
   }
   // If only d1 is bounded from below, then use the values for d1.
@@ -395,7 +406,7 @@ Partially_Reduced_Product<D1, D2, R>
     inf_n = inf1_n;
     inf_d = inf1_d;
     minimum = minimum1;
-    pnt = pnt1;
+    g = g1;
     return true;
   }
   // If both d1 and d2 are bounded from below, then use the minimum values.
@@ -403,27 +414,27 @@ Partially_Reduced_Product<D1, D2, R>
     inf_n = inf1_n;
     inf_d = inf1_d;
     minimum = minimum1;
-    pnt = pnt1;
+    g = g1;
   }
   else {
     inf_n = inf2_n;
     inf_d = inf2_d;
     minimum = minimum2;
-    pnt = pnt2;
+    g = g2;
   }
   return true;
- }
+}
 
 template <typename D1, typename D2, typename R>
 inline bool
 Partially_Reduced_Product<D1, D2, R>::OK() const {
   if (reduced) {
-    Partially_Reduced_Product<D1, D2, R> pd1 = *this;
-    Partially_Reduced_Product<D1, D2, R> pd2 = *this;
-    /* Force pd1 reduction */
-    pd1.clear_reduced_flag();
-    pd1.reduce();
-    if (pd1 != pd2)
+    Partially_Reduced_Product<D1, D2, R> dp1 = *this;
+    Partially_Reduced_Product<D1, D2, R> dp2 = *this;
+    /* Force dp1 reduction */
+    dp1.clear_reduced_flag();
+    dp1.reduce();
+    if (dp1 != dp2)
       return false;
   }
   return d1.OK() && d2.OK();
@@ -442,25 +453,31 @@ Partially_Reduced_Product<D1, D2, R>::ascii_load(std::istream& s) {
       || str.substr(1) != "reduced")
     return false;
   reduced = (str[0] == yes);
-  return ((s >> str) && str == "Domain"
-          && (s >> str) && str == "1:"
-	  && d1.ascii_load(s)
-	  && (s >> str) && str == "Domain"
-	  && (s >> str) && str == "2:"
-	  && d2.ascii_load(s));
+  if (!(s >> str) || str != "Domain")
+    return false;
+  if (!(s >> str) || str != "1:")
+    return false;
+  if (!d1.ascii_load(s))
+    return false;
+  if (!(s >> str) || str != "Domain")
+    return false;
+  if (!(s >> str) || str != "2:")
+    return false;
+  return d2.ascii_load(s);
 }
 
 template <typename D1, typename D2>
 void Smash_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  using std::swap;
   if (d2.is_empty()) {
     if (!d1.is_empty()) {
       D1 new_d1(d1.space_dimension(), EMPTY);
-      std::swap(d1, new_d1);
+      swap(d1, new_d1);
     }
   }
   else if (d1.is_empty()) {
     D2 new_d2(d2.space_dimension(), EMPTY);
-    std::swap(d2, new_d2);
+    swap(d2, new_d2);
   }
 }
 
@@ -473,17 +490,18 @@ void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
     return;
   }
   else {
+    using std::swap;
     dimension_type space_dim = d1.space_dimension();
     d1.refine_with_constraints(d2.minimized_constraints());
     if (d1.is_empty()) {
       D2 new_d2(space_dim, EMPTY);
-      std::swap(d2, new_d2);
+      swap(d2, new_d2);
       return;
     }
     d2.refine_with_constraints(d1.minimized_constraints());
     if (d2.is_empty()) {
       D1 new_d1(space_dim, EMPTY);
-      std::swap(d1, new_d1);
+      swap(d1, new_d1);
     }
   }
 }
@@ -500,71 +518,68 @@ bool shrink_to_congruence_no_check(D1& d1, D2& d2, const Congruence& cg) {
   // It is assumed that cg is satisfied by all points in d1.
   PPL_ASSERT(d1.relation_with(cg) == Poly_Con_Relation::is_included());
 
-  // Build the linear expression for the congruence cg.
-  Linear_Expression e;
-  for (dimension_type i = cg.space_dimension(); i-- > 0; )
-    e += cg.coefficient(Variable(i)) * Variable(i);
-  e += cg.inhomogeneous_term();
+  Linear_Expression e(cg);
 
   // Find the maximum and minimum bounds for the domain element d with the
   // linear expression e.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
   bool max_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
-  bool min_included;
-  if (d2.maximize(e, max_num, max_den, max_included)) {
-    if (d2.minimize(e, min_num, min_den, min_included)) {
-      // Adjust values to allow for the denominators max_den and min_den.
-      max_num *= min_den;
-      min_num *= max_den;
-      PPL_DIRTY_TEMP_COEFFICIENT(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
+  if (d2.maximize(e, max_numer, max_denom, max_included)) {
+    bool min_included;
+    if (d2.minimize(e, min_numer, min_denom, min_included)) {
+      // Adjust values to allow for the denominators max_denom and min_denom.
+      max_numer *= min_denom;
+      min_numer *= max_denom;
+      PPL_DIRTY_TEMP_COEFFICIENT(denom);
       PPL_DIRTY_TEMP_COEFFICIENT(mod);
-      den = max_den * min_den;
-      mod = cg.modulus() * den;
+      denom = max_denom * min_denom;
+      mod = cg.modulus() * denom;
       // If the difference between the maximum and minimum bounds is more than
       // twice the modulus, then there will be two neighboring hyperplanes
       // defined by cg that are intersected by the domain element d;
       // there is no possible reduction in this case.
       PPL_DIRTY_TEMP_COEFFICIENT(mod2);
       mod2 = 2 * mod;
-      if (max_num - min_num < mod2
-          || (max_num - min_num == mod2 && (!max_included || !min_included)))
+      if (max_numer - min_numer < mod2
+          || (max_numer - min_numer == mod2 && (!max_included || !min_included)))
         {
           PPL_DIRTY_TEMP_COEFFICIENT(shrink_amount);
           PPL_DIRTY_TEMP_COEFFICIENT(max_decreased);
           PPL_DIRTY_TEMP_COEFFICIENT(min_increased);
           // Find the amount by which the maximum value may be decreased.
-          shrink_amount = max_num % mod;
+          shrink_amount = max_numer % mod;
           if (!max_included && shrink_amount == 0)
             shrink_amount = mod;
           if (shrink_amount < 0)
             shrink_amount += mod;
-          max_decreased = max_num - shrink_amount;
+          max_decreased = max_numer - shrink_amount;
           // Find the amount by which the minimum value may be increased.
-          shrink_amount = min_num % mod;
+          shrink_amount = min_numer % mod;
           if (!min_included && shrink_amount == 0)
             shrink_amount = - mod;
           if (shrink_amount > 0)
             shrink_amount -= mod;
-          min_increased = min_num - shrink_amount;
+          min_increased = min_numer - shrink_amount;
           if (max_decreased == min_increased) {
             // The domain element d2 intersects exactly one hyperplane
             // defined by cg, so add the equality to d1 and d2.
-            Constraint new_c(den * e == min_increased);
+            Constraint new_c(denom * e == min_increased);
             d1.refine_with_constraint(new_c);
             d2.refine_with_constraint(new_c);
             return true;
           }
           else {
             if (max_decreased < min_increased) {
+              using std::swap;
               // In this case, d intersects no hyperplanes defined by cg,
               // so set d to empty and return false.
               D1 new_d1(d1.space_dimension(), EMPTY);
-              std::swap(d1, new_d1);
+              swap(d1, new_d1);
               D2 new_d2(d2.space_dimension(), EMPTY);
-              std::swap(d2, new_d2);
+              swap(d2, new_d2);
               return false;
             }
           }
@@ -661,7 +676,7 @@ void
          cs_end = cs.end(); i != cs_end; ++i) {
     const Constraint& c = *i;
     if (c.is_equality())
-      // Equalities aleady shared.
+      // Equalities already shared.
       continue;
     // Check the frequency and value of the linear expression for
     // the constraint `c'.
diff --git a/src/Partially_Reduced_Product.types.hh b/src/Partially_Reduced_Product.types.hh
index f71a437..72cfa5a 100644
--- a/src/Partially_Reduced_Product.types.hh
+++ b/src/Partially_Reduced_Product.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Pending_Element.defs.hh b/src/Pending_Element.defs.hh
new file mode 100644
index 0000000..9d9c0db
--- /dev/null
+++ b/src/Pending_Element.defs.hh
@@ -0,0 +1,77 @@
+/* Pending_Element class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Pending_Element_defs_hh
+#define PPL_Pending_Element_defs_hh 1
+
+#include "Pending_Element.types.hh"
+#include "Doubly_Linked_Object.defs.hh"
+#include "Handler.types.hh"
+
+//! A class for pending watchdog events with embedded links.
+/*!
+  Each pending watchdog event is characterized by a deadline (a positive
+  time interval), an associated handler that will be invoked upon event
+  expiration, and a Boolean flag that indicates whether the event has already
+  expired or not.
+*/
+template <typename Threshold>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Pending_Element
+  : public Doubly_Linked_Object {
+public:
+  //! Constructs an element with the given attributes.
+  Pending_Element(const Threshold& deadline,
+		  const Handler& handler,
+		  bool& expired_flag);
+
+  //! Modifies \p *this so that it has the given attributes.
+  void assign(const Threshold& deadline,
+	      const Handler& handler,
+	      bool& expired_flag);
+
+  //! Returns the deadline of the event.
+  const Threshold& deadline() const;
+
+  //! Returns the handler associated to the event.
+  const Handler& handler() const;
+
+  //! Returns a reference to the "event-expired" flag.
+  bool& expired_flag() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! The deadline of the event.
+  Threshold d;
+
+  //! A pointer to the handler associated to the event.
+  const Handler* p_h;
+
+  //! A pointer to a flag saying whether the event has already expired or not.
+  bool* p_f;
+};
+
+#include "Pending_Element.inlines.hh"
+
+#endif // !defined(PPL_Pending_Element_defs_hh)
diff --git a/src/Pending_Element.inlines.hh b/src/Pending_Element.inlines.hh
new file mode 100644
index 0000000..f80a412
--- /dev/null
+++ b/src/Pending_Element.inlines.hh
@@ -0,0 +1,85 @@
+/* Pending_Element class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Pending_Element_inlines_hh
+#define PPL_Pending_Element_inlines_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Threshold>
+inline bool
+Pending_Element<Threshold>::OK() const {
+  return true;
+}
+
+template <typename Threshold>
+inline
+Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
+					    const Handler& handler,
+					    bool& expired_flag)
+  : d(deadline), p_h(&handler), p_f(&expired_flag) {
+  assert(OK());
+}
+
+template <typename Threshold>
+inline void
+Pending_Element<Threshold>::assign(const Threshold& deadline,
+				   const Handler& handler,
+				   bool& expired_flag) {
+  d = deadline;
+  p_h = &handler;
+  p_f = &expired_flag;
+  assert(OK());
+}
+
+template <typename Threshold>
+inline const Threshold&
+Pending_Element<Threshold>::deadline() const {
+  return d;
+}
+
+template <typename Threshold>
+inline const Handler&
+Pending_Element<Threshold>::handler() const {
+  return *p_h;
+}
+
+template <typename Threshold>
+inline bool&
+Pending_Element<Threshold>::expired_flag() const {
+  return *p_f;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Pending_Element_inlines_hh)
diff --git a/src/Pending_Element.types.hh b/src/Pending_Element.types.hh
new file mode 100644
index 0000000..cc065a3
--- /dev/null
+++ b/src/Pending_Element.types.hh
@@ -0,0 +1,31 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Pending_Element_types_hh
+#define PPL_Pending_Element_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <class Threshold>
+class Pending_Element;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Pending_Element_types_hh)
diff --git a/src/Pending_List.defs.hh b/src/Pending_List.defs.hh
new file mode 100644
index 0000000..9eb2119
--- /dev/null
+++ b/src/Pending_List.defs.hh
@@ -0,0 +1,79 @@
+/* Pending_List class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Pending_List_defs_hh
+#define PPL_Pending_List_defs_hh 1
+
+#include "Pending_List.types.hh"
+#include "Pending_Element.defs.hh"
+#include "EList.defs.hh"
+#include "Handler.types.hh"
+
+//! An ordered list for recording pending watchdog events.
+template <typename Traits>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Pending_List {
+public:
+  //! A non-const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
+
+  //! A const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
+
+  //! Constructs an empty list.
+  Pending_List();
+
+  //! Destructor.
+  ~Pending_List();
+
+  //! Inserts a new Pending_Element object with the given attributes.
+  Iterator insert(const typename Traits::Threshold& deadline,
+		  const Handler& handler,
+		  bool& expired_flag);
+
+  /*! \brief
+    Removes the element pointed to by \p position, returning
+    an iterator pointing to the next element, if any, or end(), otherwise.
+  */
+  Iterator erase(Iterator position);
+
+  //! Returns <CODE>true</CODE> if and only if the list is empty.
+  bool empty() const;
+
+  //! Returns an iterator pointing to the beginning of the list.
+  Iterator begin();
+
+  //! Returns an iterator pointing one past the last element in the list.
+  Iterator end();
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  EList<Pending_Element<typename Traits::Threshold> > active_list;
+  EList<Pending_Element<typename Traits::Threshold> > free_list;
+};
+
+#include "Pending_List.inlines.hh"
+#include "Pending_List.templates.hh"
+
+#endif // !defined(PPL_Pending_List_defs_hh)
diff --git a/src/Pending_List.inlines.hh b/src/Pending_List.inlines.hh
new file mode 100644
index 0000000..ee826c6
--- /dev/null
+++ b/src/Pending_List.inlines.hh
@@ -0,0 +1,82 @@
+/* Pending_List class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Pending_List_inlines_hh
+#define PPL_Pending_List_inlines_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Traits>
+inline
+Pending_List<Traits>::Pending_List()
+  : active_list(),
+    free_list() {
+  assert(OK());
+}
+
+template <typename Traits>
+inline
+Pending_List<Traits>::~Pending_List() {
+}
+
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::begin() {
+  return active_list.begin();
+}
+
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::end() {
+  return active_list.end();
+}
+
+template <typename Traits>
+inline bool
+Pending_List<Traits>::empty() const {
+  return active_list.empty();
+}
+
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::erase(Iterator position) {
+  assert(!empty());
+  Iterator next = active_list.erase(position);
+  free_list.push_back(*position);
+  assert(OK());
+  return next;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Pending_List_inlines_hh)
diff --git a/src/Pending_List.templates.hh b/src/Pending_List.templates.hh
new file mode 100644
index 0000000..c0af0e6
--- /dev/null
+++ b/src/Pending_List.templates.hh
@@ -0,0 +1,96 @@
+/* Pending_List class implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Pending_List_templates_hh
+#define PPL_Pending_List_templates_hh 1
+
+#include <iostream>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Traits>
+typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
+			     const Handler& handler,
+			     bool& expired_flag) {
+  Iterator position = active_list.begin();
+  for (Iterator active_list_end = active_list.end();
+       position != active_list_end
+         && Traits::less_than(position->deadline(), deadline);
+       ++position)
+    ;
+  Iterator pending_element_p;
+  // Only allocate a new element if the free list is empty.
+  if (free_list.empty())
+    pending_element_p
+      = new Pending_Element<typename Traits::Threshold>(deadline,
+                                                        handler,
+                                                        expired_flag);
+  else {
+    pending_element_p = free_list.begin();
+    free_list.erase(pending_element_p);
+    pending_element_p->assign(deadline, handler, expired_flag);
+  }
+  Iterator r = active_list.insert(position, *pending_element_p);
+  assert(OK());
+  return r;
+}
+
+template <typename Traits>
+bool
+Pending_List<Traits>::OK() const {
+  if (!active_list.OK())
+    return false;
+
+  if (!free_list.OK())
+    return false;
+
+  const typename Traits::Threshold* old;
+  Const_Iterator i = active_list.begin();
+  old = &i->deadline();
+  ++i;
+  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
+    const typename Traits::Threshold& t = i->deadline();
+    if (Traits::less_than(t, *old)) {
+#ifndef NDEBUG
+      std::cerr << "The active list is not sorted!"
+		<< std::endl;
+#endif
+      return false;
+    }
+    old = &t;
+  }
+  return true;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Pending_List_templates_hh)
diff --git a/src/Pending_List.types.hh b/src/Pending_List.types.hh
new file mode 100644
index 0000000..8983420
--- /dev/null
+++ b/src/Pending_List.types.hh
@@ -0,0 +1,31 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Pending_List_types_hh
+#define PPL_Pending_List_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Traits>
+class Pending_List;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Pending_List_types_hh)
diff --git a/src/Ph_Status.cc b/src/Ph_Status.cc
index 1d53716..0dac654 100644
--- a/src/Ph_Status.cc
+++ b/src/Ph_Status.cc
@@ -1,6 +1,6 @@
 /* Polyhedron::Status class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Polyhedron.defs.hh"
+#include "assert.hh"
 #include <iostream>
 #include <string>
-#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Ph_Status.idefs.hh b/src/Ph_Status.idefs.hh
index e3ec28b..dcbe38c 100644
--- a/src/Ph_Status.idefs.hh
+++ b/src/Ph_Status.idefs.hh
@@ -1,6 +1,6 @@
 /* Polyhedron::Status class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Status_idefs_hh
 #define PPL_Status_idefs_hh 1
 
 #ifndef PPL_IN_Polyhedron_CLASS
-#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead."
+#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead"
 #endif
 
 //! A conjunctive assertion about a polyhedron.
diff --git a/src/Ph_Status.inlines.hh b/src/Ph_Status.inlines.hh
index 71b113b..0c828de 100644
--- a/src/Ph_Status.inlines.hh
+++ b/src/Ph_Status.inlines.hh
@@ -1,6 +1,6 @@
 /* Polyhedron::Status class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Status_inlines_hh
 #define PPL_Status_inlines_hh 1
@@ -43,7 +43,7 @@ Polyhedron::Status::test_all(flags_t mask) const {
 
 inline bool
 Polyhedron::Status::test_any(flags_t mask) const {
-  return flags & mask;
+  return (flags & mask) != 0;
 }
 
 inline void
diff --git a/src/Pointset_Powerset.cc b/src/Pointset_Powerset.cc
index 717f42c..4440aaa 100644
--- a/src/Pointset_Powerset.cc
+++ b/src/Pointset_Powerset.cc
@@ -1,6 +1,6 @@
 /* Pointset_Powerset class implementation: non-inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Pointset_Powerset.defs.hh"
 #include "Grid.defs.hh"
 #include <utility>
@@ -33,24 +33,25 @@ void
 PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
 ::difference_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
+  using std::swap;
   // Ensure omega-reduction.
   x.omega_reduce();
   y.omega_reduce();
   Sequence new_sequence = x.sequence;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi) {
-    const NNC_Polyhedron& py = yi->pointset();
+    const NNC_Polyhedron& ph_yi = yi->pointset();
     Sequence tmp_sequence;
-    for (Sequence_const_iterator nsi = new_sequence.begin(),
-	   ns_end = new_sequence.end(); nsi != ns_end; ++nsi) {
+    for (Sequence_const_iterator itr = new_sequence.begin(),
+	   ns_end = new_sequence.end(); itr != ns_end; ++itr) {
       std::pair<NNC_Polyhedron, Pointset_Powerset<NNC_Polyhedron> > partition
-	= linear_partition(py, nsi->pointset());
+	= linear_partition(ph_yi, itr->pointset());
       const Pointset_Powerset<NNC_Polyhedron>& residues = partition.second;
       // Append the contents of `residues' to `tmp_sequence'.
       std::copy(residues.begin(), residues.end(), back_inserter(tmp_sequence));
     }
-    std::swap(tmp_sequence, new_sequence);
+    swap(tmp_sequence, new_sequence);
   }
-  std::swap(x.sequence, new_sequence);
+  swap(x.sequence, new_sequence);
   x.reduced = false;
   PPL_ASSERT_HEAVY(x.OK());
 }
@@ -112,49 +113,49 @@ PPL::check_containment(const NNC_Polyhedron& ph,
 namespace {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Uses the congruence \p c to approximately partition the grid \p qq.
+//! Uses the congruence \p c to approximately partition the grid \p gr.
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset
-  On exit, the intersection of \p qq and congruence \p c is stored
-  in \p qq, whereas a finite set of grids whose set-theoretic union
-  contains the intersection of \p qq with the negation of \p c
+  On exit, the intersection of \p gr and congruence \p c is stored
+  in \p gr, whereas a finite set of grids whose set-theoretic union
+  contains the intersection of \p gr with the negation of \p c
   is added, as a set of new disjuncts, to the powerset \p r.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool
 approximate_partition_aux(const PPL::Congruence& c,
-			  PPL::Grid& qq,
+			  PPL::Grid& gr,
 			  PPL::Pointset_Powerset<PPL::Grid>& r) {
   using namespace PPL;
   const Coefficient& c_modulus = c.modulus();
-  Grid qq_copy(qq);
-  qq.add_congruence(c);
-  if (qq.is_empty()) {
-    r.add_disjunct(qq_copy);
+  Grid gr_copy(gr);
+  gr.add_congruence(c);
+  if (gr.is_empty()) {
+    r.add_disjunct(gr_copy);
     return true;
   }
 
-  Congruence_System cgs = qq.congruences();
-  Congruence_System cgs_copy = qq_copy.congruences();
-  // When c is an equality, not satisfied by Grid qq
-  // then add qq to the set r. There is no finite
+  Congruence_System cgs = gr.congruences();
+  Congruence_System cgs_copy = gr_copy.congruences();
+  // When c is an equality, not satisfied by Grid gr
+  // then add gr to the set r. There is no finite
   // partition in this case.
   if (c_modulus == 0) {
     if (cgs.num_equalities() != cgs_copy.num_equalities()) {
-      r.add_disjunct(qq_copy);
+      r.add_disjunct(gr_copy);
       return false;
     }
     return true;
   }
 
-  // When c is a proper congruence but, in qq, this direction has
-  // no congruence, then add qq to the set r. There is no finite
+  // When c is a proper congruence but, in gr, this direction has
+  // no congruence, then add gr to the set r. There is no finite
   // partition in this case.
   if (cgs.num_proper_congruences() != cgs_copy.num_proper_congruences()) {
-    r.add_disjunct(qq_copy);
+    r.add_disjunct(gr_copy);
     return false;
   }
 
-  // When  c is a proper congruence and qq also is discrete
+  // When  c is a proper congruence and gr also is discrete
   // in this direction, then there is a finite partition and that
   // is added to r.
   const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
@@ -167,10 +168,10 @@ approximate_partition_aux(const PPL::Congruence& c,
   PPL_DIRTY_TEMP_COEFFICIENT(i);
   for (i = c_modulus; i-- > 0; )
     if (i != n) {
-      Grid qqq(qq_copy);
-      qqq.add_congruence((le+i %= 0) / c_modulus);
-      if (!qqq.is_empty())
-	r.add_disjunct(qqq);
+      Grid gr_tmp(gr_copy);
+      gr_tmp.add_congruence((le+i %= 0) / c_modulus);
+      if (!gr_tmp.is_empty())
+	r.add_disjunct(gr_tmp);
     }
   return true;
 }
@@ -187,16 +188,16 @@ PPL::approximate_partition(const Grid& p, const Grid& q,
   // Ensure that the congruence system of q is minimized
   // before copying and calling approximate_partition_aux().
   (void) q.minimized_congruences();
-  Grid qq = q;
-  const Congruence_System& pcs = p.congruences();
-  for (Congruence_System::const_iterator i = pcs.begin(),
-	 pcs_end = pcs.end(); i != pcs_end; ++i)
-    if (!approximate_partition_aux(*i, qq, r)) {
+  Grid gr = q;
+  const Congruence_System& p_congruences = p.congruences();
+  for (Congruence_System::const_iterator i = p_congruences.begin(),
+	 p_congruences_end = p_congruences.end(); i != p_congruences_end; ++i)
+    if (!approximate_partition_aux(*i, gr, r)) {
       finite_partition = false;
       Pointset_Powerset<Grid> s(q);
-      return std::make_pair(qq, s);
+      return std::make_pair(gr, s);
     }
-  return std::make_pair(qq, r);
+  return std::make_pair(gr, r);
 }
 
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
@@ -239,7 +240,7 @@ PPL::check_containment(const Grid& ph,
           // specification of approximate_partition(), we can
           // ignore checking the remaining temporary disjuncts as they
           // will all have the same lines and equalities and therefore
-          // also not have a finite partition wrt pi.
+          // also not have a finite partition with respect to pi.
           if (!finite_partition)
             break;
 	  new_disjuncts.upper_bound_assign(partition.second);
@@ -257,25 +258,26 @@ void
 PPL::Pointset_Powerset<PPL::Grid>
 ::difference_assign(const Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
+  using std::swap;
   // Ensure omega-reduction.
   x.omega_reduce();
   y.omega_reduce();
   Sequence new_sequence = x.sequence;
   for (const_iterator yi = y.begin(), y_end = y.end(); yi != y_end; ++yi) {
-    const Grid& py = yi->pointset();
+    const Grid& gr_yi = yi->pointset();
     Sequence tmp_sequence;
-    for (Sequence_const_iterator nsi = new_sequence.begin(),
-	   ns_end = new_sequence.end(); nsi != ns_end; ++nsi) {
+    for (Sequence_const_iterator itr = new_sequence.begin(),
+	   ns_end = new_sequence.end(); itr != ns_end; ++itr) {
       bool finite_partition;
       std::pair<Grid, Pointset_Powerset<Grid> > partition
-	= approximate_partition(py, nsi->pointset(), finite_partition);
+	= approximate_partition(gr_yi, itr->pointset(), finite_partition);
       const Pointset_Powerset<Grid>& residues = partition.second;
       // Append the contents of `residues' to `tmp_sequence'.
       std::copy(residues.begin(), residues.end(), back_inserter(tmp_sequence));
     }
-    std::swap(tmp_sequence, new_sequence);
+    swap(tmp_sequence, new_sequence);
   }
-  std::swap(x.sequence, new_sequence);
+  swap(x.sequence, new_sequence);
   x.reduced = false;
   PPL_ASSERT_HEAVY(x.OK());
 }
diff --git a/src/Pointset_Powerset.defs.hh b/src/Pointset_Powerset.defs.hh
index 2cb9071..6062bcd 100644
--- a/src/Pointset_Powerset.defs.hh
+++ b/src/Pointset_Powerset.defs.hh
@@ -1,6 +1,6 @@
 /* Pointset_Powerset class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Pointset_Powerset_defs_hh
 #define PPL_Pointset_Powerset_defs_hh
@@ -114,10 +114,10 @@ public:
     This will be created as a single disjunct of type PSET that
     approximates the product.
   */
-   template <typename QH1, typename QH2, typename R>
-   explicit
-     Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
-                       Complexity_Class complexity = ANY_COMPLEXITY);
+  template <typename QH1, typename QH2, typename R>
+  explicit
+  Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
     Creates a Pointset_Powerset with a single disjunct approximating
@@ -229,7 +229,7 @@ public:
     This argument is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p bdss exceeds the maximum
+    Thrown if the space dimension of \p bds exceeds the maximum
     allowed space dimension.
   */
   template <typename T>
@@ -275,7 +275,7 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this
-    is the top element of the powerser lattice.
+    is the top element of the powerset lattice.
   */
   bool is_universe() const;
 
@@ -615,13 +615,13 @@ public:
   */
   void refine_with_constraints(const Constraint_System& cs);
 
-  //! Intersects \p *this with congruence \p c.
+  //! Intersects \p *this with congruence \p cg.
   /*!
     \exception std::invalid_argument
-    Thrown if \p *this and congruence \p c are topology-incompatible
+    Thrown if \p *this and congruence \p cg are topology-incompatible
     or dimension-incompatible.
   */
-  void add_congruence(const Congruence& c);
+  void add_congruence(const Congruence& cg);
 
   /*! \brief
     Use the congruence \p cg to refine \p *this.
@@ -693,7 +693,7 @@ public:
     Currently there is no optimality guarantee, not even if
     \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-   void drop_some_non_integer_points(Complexity_Class complexity
+  void drop_some_non_integer_points(Complexity_Class complexity
                                     = ANY_COMPLEXITY);
 
   /*! \brief
@@ -1005,9 +1005,9 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
     variables not in \p vars, the behavior is undefined.
     When non-null, the pointed-to constraint system is assumed to
     represent the conditional or looping construct guard with respect
@@ -1015,7 +1015,7 @@ public:
     computation of upper bounds and due to non-distributivity of
     constraint refinement over upper bounds, passing a constraint
     system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
     \param complexity_threshold
     A precision parameter of the \ref Wrapping_Operator "wrapping operator":
@@ -1027,15 +1027,15 @@ public:
     precision).
 
     \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
     \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
+    <CODE>*cs_p</CODE>.
   */
   void wrap_assign(const Variables_Set& vars,
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1052,13 +1052,13 @@ public:
   /*! \brief
     Assigns to \p *this the result of applying the
     \ref pps_bgp99_extrapolation "BGP99 extrapolation operator"
-    to \p *this and \p y, using the widening function \p wf
+    to \p *this and \p y, using the widening function \p widen_fun
     and the cardinality threshold \p max_disjuncts.
 
     \param y
     A powerset that <EM>must</EM> definitely entail \p *this;
 
-    \param wf
+    \param widen_fun
     The widening function to be used on polyhedra objects. It is obtained
     from the corresponding widening method by using the helper function
     Parma_Polyhedra_Library::widen_fun_ref. Legal values are, e.g.,
@@ -1078,20 +1078,20 @@ public:
   */
   template <typename Widening>
   void BGP99_extrapolation_assign(const Pointset_Powerset& y,
-				  Widening wf,
+				  Widening widen_fun,
 				  unsigned max_disjuncts);
 
   /*! \brief
     Assigns to \p *this the result of computing the
     \ref pps_certificate_widening "BHZ03-widening"
-    between \p *this and \p y, using the widening function \p wf
+    between \p *this and \p y, using the widening function \p widen_fun
     certified by the convergence certificate \p Cert.
 
     \param y
     The finite powerset computed in the previous iteration step.
     It <EM>must</EM> definitely entail \p *this;
 
-    \param wf
+    \param widen_fun
     The widening function to be used on disjuncts.
     It is obtained from the corresponding widening method by using
     the helper function widen_fun_ref. Legal values are, e.g.,
@@ -1104,13 +1104,13 @@ public:
     \warning
     In order to obtain a proper widening operator, the template parameter
     \p Cert should be a finite convergence certificate for the base-level
-    widening function \p wf; otherwise, an extrapolation operator is
+    widening function \p widen_fun; otherwise, an extrapolation operator is
     obtained.
     For a description of the methods that should be provided
     by \p Cert, see BHRZ03_Certificate or H79_Certificate.
   */
   template <typename Cert, typename Widening>
-  void BHZ03_widening_assign(const Pointset_Powerset& y, Widening wf);
+  void BHZ03_widening_assign(const Pointset_Powerset& y, Widening widen_fun);
 
   //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
@@ -1132,7 +1132,7 @@ public:
   Pointset_Powerset& operator=(const Pointset_Powerset<QH>& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Pointset_Powerset& y);
+  void m_swap(Pointset_Powerset& y);
 
   /*! \brief
     Adds \p m new dimensions to the vector space containing \p *this
@@ -1276,10 +1276,10 @@ private:
 
   /*! \brief
     Assigns to \p *this the result of applying the BGP99 heuristics
-    to \p *this and \p y, using the widening function \p wf.
+    to \p *this and \p y, using the widening function \p widen_fun.
   */
   template <typename Widening>
-  void BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf);
+  void BGP99_heuristics_assign(const Pointset_Powerset& y, Widening widen_fun);
 
   //! Records in \p cert_ms the certificates for this set of disjuncts.
   template <typename Cert>
@@ -1287,7 +1287,7 @@ private:
 			             typename Cert::Compare>& cert_ms) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the current set of dijsuncts
+    Returns <CODE>true</CODE> if and only if the current set of disjuncts
     is stabilizing with respect to the multiset of certificates \p y_cert_ms.
   */
   template <typename Cert>
@@ -1304,6 +1304,11 @@ private:
 
 namespace Parma_Polyhedra_Library {
 
+//! Swaps \p x with \p y.
+/*! \relates Pointset_Powerset */
+template <typename PSET>
+void swap(Pointset_Powerset<PSET>& x, Pointset_Powerset<PSET>& y);
+
 //! Partitions \p q with respect to \p p.
 /*! \relates Pointset_Powerset
   Let \p p and \p q be two polyhedra.
@@ -1320,7 +1325,7 @@ namespace Parma_Polyhedra_Library {
   \if Include_Implementation_Details
 
   See
-  <A HREF="http://www.cs.unipr.it/ppl/Documentation/bibliography#Srivastava93">
+  <A HREF="http://bugseng.com/products/ppl/Documentation/bibliography#Srivastava93">
   this paper</A> for more information about the implementation.
   \endif
 */
@@ -1349,7 +1354,7 @@ check_containment(const NNC_Polyhedron& ph,
   <CODE>std::pair\<PSET, Pointset_Powerset\<Grid\> \></CODE>
   such that
   - <CODE>r.first</CODE> is the intersection of \p p and \p q;
-  - If there is a finite partition of \p q wrt \p p
+  - If there is a finite partition of \p q with respect to \p p
     the Boolean <CODE>finite_partition</CODE> is set to true and
     <CODE>r.second</CODE> has the property that all its elements are
     pairwise disjoint and disjoint from \p p and the set-theoretical
@@ -1439,17 +1444,6 @@ Pointset_Powerset<Grid>
 
 } // namespace Parma_Polyhedra_Library
 
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PSET>
-void swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
-	  Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y);
-
-} // namespace std
-
 #include "Pointset_Powerset.inlines.hh"
 #include "Pointset_Powerset.templates.hh"
 
diff --git a/src/Pointset_Powerset.inlines.hh b/src/Pointset_Powerset.inlines.hh
index 54facf6..4076cb2 100644
--- a/src/Pointset_Powerset.inlines.hh
+++ b/src/Pointset_Powerset.inlines.hh
@@ -1,6 +1,6 @@
 /* Pointset_Powerset class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Pointset_Powerset_inlines_hh
 #define PPL_Pointset_Powerset_inlines_hh 1
@@ -189,10 +189,11 @@ Pointset_Powerset<PSET>::operator=(const Pointset_Powerset& y) {
 
 template <typename PSET>
 inline void
-Pointset_Powerset<PSET>::swap(Pointset_Powerset& y) {
+Pointset_Powerset<PSET>::m_swap(Pointset_Powerset& y) {
   Pointset_Powerset& x = *this;
-  x.Base::swap(y);
-  std::swap(x.space_dim, y.space_dim);
+  x.Base::m_swap(y);
+  using std::swap;
+  swap(x.space_dim, y.space_dim);
 }
 
 template <typename PSET>
@@ -200,8 +201,8 @@ template <typename QH>
 inline Pointset_Powerset<PSET>&
 Pointset_Powerset<PSET>::operator=(const Pointset_Powerset<QH>& y) {
   Pointset_Powerset& x = *this;
-  Pointset_Powerset<PSET> pps(y);
-  x.swap(pps);
+  Pointset_Powerset<PSET> ps(y);
+  swap(x, ps);
   return x;
 }
 
@@ -274,7 +275,7 @@ Pointset_Powerset<PSET>::total_memory_in_bytes() const {
 template <typename PSET>
 inline int32_t
 Pointset_Powerset<PSET>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
 }
 
 template <typename PSET>
@@ -293,9 +294,9 @@ template <typename PSET>
 inline bool
 check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps) {
   // This code is only used when PSET is an abstraction of NNC_Polyhedron.
-  const NNC_Polyhedron pph = NNC_Polyhedron(ph.constraints());
-  const Pointset_Powerset<NNC_Polyhedron> pps(ps);
-  return check_containment(pph, pps);
+  const NNC_Polyhedron ph_nnc = NNC_Polyhedron(ph.constraints());
+  const Pointset_Powerset<NNC_Polyhedron> ps_nnc(ps);
+  return check_containment(ph_nnc, ps_nnc);
 }
 
 /*! \relates Pointset_Powerset */
@@ -307,19 +308,13 @@ check_containment(const C_Polyhedron& ph,
 			   Pointset_Powerset<NNC_Polyhedron>(ps));
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
+/*! \relates Pointset_Powerset */
 template <typename PSET>
 inline void
-swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
-     Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y) {
-  x.swap(y);
+swap(Pointset_Powerset<PSET>& x, Pointset_Powerset<PSET>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Pointset_Powerset_inlines_hh)
diff --git a/src/Pointset_Powerset.templates.hh b/src/Pointset_Powerset.templates.hh
index bf5737b..469846d 100644
--- a/src/Pointset_Powerset.templates.hh
+++ b/src/Pointset_Powerset.templates.hh
@@ -1,6 +1,6 @@
 /* Pointset_Powerset class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Pointset_Powerset_templates_hh
 #define PPL_Pointset_Powerset_templates_hh 1
@@ -115,23 +115,24 @@ Pointset_Powerset<PSET>::concatenate_assign(const Pointset_Powerset& y) {
       new_x.sequence.push_back(zi);
     }
     ++xi;
-    if (abandon_expensive_computations && xi != x_end && y_begin != y_end) {
+    if ((abandon_expensive_computations != 0)
+        && (xi != x_end) && (y_begin != y_end)) {
       // Hurry up!
-      PSET xph = xi->pointset();
+      PSET x_ph = xi->pointset();
       for (++xi; xi != x_end; ++xi)
-	xph.upper_bound_assign(xi->pointset());
+	x_ph.upper_bound_assign(xi->pointset());
       const_iterator yi = y_begin;
-      PSET yph = yi->pointset();
+      PSET y_ph = yi->pointset();
       for (++yi; yi != y_end; ++yi)
-	yph.upper_bound_assign(yi->pointset());
-      xph.concatenate_assign(yph);
-      x.swap(new_x);
-      x.add_disjunct(xph);
+	y_ph.upper_bound_assign(yi->pointset());
+      x_ph.concatenate_assign(y_ph);
+      swap(x, new_x);
+      x.add_disjunct(x_ph);
       PPL_ASSERT_HEAVY(x.OK());
       return;
     }
   }
-  x.swap(new_x);
+  swap(x, new_x);
   PPL_ASSERT_HEAVY(x.OK());
 }
 
@@ -181,11 +182,11 @@ Pointset_Powerset<PSET>::refine_with_constraints(const Constraint_System& cs) {
 
 template <typename PSET>
 void
-Pointset_Powerset<PSET>::add_congruence(const Congruence& c) {
+Pointset_Powerset<PSET>::add_congruence(const Congruence& cg) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_congruence(c);
+    si->pointset().add_congruence(cg);
   x.reduced = false;
   PPL_ASSERT_HEAVY(x.OK());
 }
@@ -203,11 +204,11 @@ Pointset_Powerset<PSET>::refine_with_congruence(const Congruence& cg) {
 
 template <typename PSET>
 void
-Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cs) {
+Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cgs) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_congruences(cs);
+    si->pointset().add_congruences(cgs);
   x.reduced = false;
   PPL_ASSERT_HEAVY(x.OK());
 }
@@ -529,7 +530,7 @@ Pointset_Powerset<PSET>::is_universe() const {
       if (x.size() > 1) {
         Pointset_Powerset<PSET> universe(x.space_dimension(), UNIVERSE);
         Pointset_Powerset& xx = const_cast<Pointset_Powerset&>(x);
-        xx.swap(universe);
+        swap(xx, universe);
       }
       return true;
     }
@@ -612,10 +613,10 @@ bool
 Pointset_Powerset<PSET>::is_disjoint_from(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = x.sequence.begin(),
-         xs_end = x.sequence.end(); si != xs_end; ++si) {
+         x_s_end = x.sequence.end(); si != x_s_end; ++si) {
     const PSET& pi = si->pointset();
     for (Sequence_const_iterator sj = y.sequence.begin(),
-           ys_end = y.sequence.end(); sj != ys_end; ++sj) {
+           y_s_end = y.sequence.end(); sj != y_s_end; ++sj) {
       const PSET& pj = sj->pointset();
       if (!pi.is_disjoint_from(pj))
         return false;
@@ -674,12 +675,12 @@ Pointset_Powerset<PSET>
     PSET context_i(si->pointset());
     context_i.intersection_assign(enlarged);
     PSET enlarged_i(dest);
-    nonempty_intersection
-      |= enlarged_i.simplify_using_context_assign(context_i);
+    if (enlarged_i.simplify_using_context_assign(context_i))
+      nonempty_intersection = true;
     // TODO: merge the sorted constraints of `enlarged' and `enlarged_i'?
     enlarged.intersection_assign(enlarged_i);
   }
-  dest.swap(enlarged);
+  swap(dest, enlarged);
   return nonempty_intersection;
 }
 
@@ -737,12 +738,13 @@ bool
 Pointset_Powerset<PSET>::contains(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   for (Sequence_const_iterator si = y.sequence.begin(),
-         ys_end = y.sequence.end(); si != ys_end; ++si) {
+         y_s_end = y.sequence.end(); si != y_s_end; ++si) {
     const PSET& pi = si->pointset();
     bool pi_is_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
-           xs_end = x.sequence.end();
-         (sj != xs_end && !pi_is_contained); ++sj) {
+           x_s_end = x.sequence.end();
+         (sj != x_s_end && !pi_is_contained);
+         ++sj) {
       const PSET& pj = sj->pointset();
       if (pj.contains(pi))
         pi_is_contained = true;
@@ -762,12 +764,12 @@ Pointset_Powerset<PSET>::strictly_contains(const Pointset_Powerset& y) const {
   const Pointset_Powerset& x = *this;
   x.omega_reduce();
   for (Sequence_const_iterator si = y.sequence.begin(),
-         ys_end = y.sequence.end(); si != ys_end; ++si) {
+         y_s_end = y.sequence.end(); si != y_s_end; ++si) {
     const PSET& pi = si->pointset();
     bool pi_is_strictly_contained = false;
     for (Sequence_const_iterator sj = x.sequence.begin(),
-           xs_end = x.sequence.end();
-         (sj != xs_end && !pi_is_strictly_contained); ++sj) {
+           x_s_end = x.sequence.end();
+         (sj != x_s_end && !pi_is_strictly_contained); ++sj) {
       const PSET& pj = sj->pointset();
       if (pj.strictly_contains(pi))
         pi_is_strictly_contained = true;
@@ -920,45 +922,45 @@ Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
 
   bool first = true;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
-  supt_n = 0;
-  supt_d = 1;
-  bool maxt = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_d);
+  best_sup_n = 0;
+  best_sup_d = 1;
+  bool best_max = false;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
-  supi_n = 0;
-  supi_d = 1;
-  bool maxi = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_d);
+  iter_sup_n = 0;
+  iter_sup_d = 1;
+  bool iter_max = false;
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi))
+    if (!si->pointset().maximize(expr, iter_sup_n, iter_sup_d, iter_max))
       return false;
     else
       if (first) {
         first = false;
-        supt_n = supi_n;
-        supt_d = supi_d;
-        maxt = maxi;
+        best_sup_n = iter_sup_n;
+        best_sup_d = iter_sup_d;
+        best_max = iter_max;
       }
       else {
-        tmp = (supt_n * supi_d) - (supi_n * supt_d);
+        tmp = (best_sup_n * iter_sup_d) - (iter_sup_n * best_sup_d);
         if (tmp < 0) {
-          supt_n = supi_n;
-          supt_d = supi_d;
-          maxt = maxi;
+          best_sup_n = iter_sup_n;
+          best_sup_d = iter_sup_d;
+          best_max = iter_max;
         }
         else if (tmp == 0)
-          maxt = maxt || maxi;
+          best_max = (best_max || iter_max);
       }
   }
-  sup_n = supt_n;
-  sup_d = supt_d;
-  maximum = maxt;
+  sup_n = best_sup_n;
+  sup_d = best_sup_d;
+  maximum = best_max;
   return true;
 }
 
@@ -976,52 +978,53 @@ Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
 
   bool first = true;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
-  supt_n = 0;
-  supt_d = 1;
-  bool maxt = 0;
-  Generator gt = point();
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_d);
+  best_sup_n = 0;
+  best_sup_d = 1;
+  bool best_max = false;
+  Generator best_g = point();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
-  supi_n = 0;
-  supi_d = 1;
-  bool maxi = 0;
-  Generator gi = point();
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_d);
+  iter_sup_n = 0;
+  iter_sup_d = 1;
+  bool iter_max = false;
+  Generator iter_g = point();
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi, gi))
+    if (!si->pointset().maximize(expr,
+                                 iter_sup_n, iter_sup_d, iter_max, iter_g))
       return false;
     else
       if (first) {
         first = false;
-        supt_n = supi_n;
-        supt_d = supi_d;
-        maxt = maxi;
-        gt = gi;
+        best_sup_n = iter_sup_n;
+        best_sup_d = iter_sup_d;
+        best_max = iter_max;
+        best_g = iter_g;
       }
       else {
-        tmp = (supt_n * supi_d) - (supi_n * supt_d);
+        tmp = (best_sup_n * iter_sup_d) - (iter_sup_n * best_sup_d);
         if (tmp < 0) {
-          supt_n = supi_n;
-          supt_d = supi_d;
-          maxt = maxi;
-          gt = gi;
+          best_sup_n = iter_sup_n;
+          best_sup_d = iter_sup_d;
+          best_max = iter_max;
+          best_g = iter_g;
         }
         else if (tmp == 0) {
-          maxt = maxt || maxi;
-          gt = gi;
+          best_max = (best_max || iter_max);
+          best_g = iter_g;
         }
       }
   }
-  sup_n = supt_n;
-  sup_d = supt_d;
-  maximum = maxt;
-  g = gt;
+  sup_n = best_sup_n;
+  sup_d = best_sup_d;
+  maximum = best_max;
+  g = best_g;
   return true;
 }
 
@@ -1038,45 +1041,45 @@ Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
 
   bool first = true;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
-  inft_n = 0;
-  inft_d = 1;
-  bool mint = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_d);
+  best_inf_n = 0;
+  best_inf_d = 1;
+  bool best_min = false;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
-  infi_n = 0;
-  infi_d = 1;
-  bool mini = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_d);
+  iter_inf_n = 0;
+  iter_inf_d = 1;
+  bool iter_min = false;
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().minimize(expr, infi_n, infi_d, mini))
+    if (!si->pointset().minimize(expr, iter_inf_n, iter_inf_d, iter_min))
       return false;
     else
       if (first) {
         first = false;
-        inft_n = infi_n;
-        inft_d = infi_d;
-        mint = mini;
+        best_inf_n = iter_inf_n;
+        best_inf_d = iter_inf_d;
+        best_min = iter_min;
       }
       else {
-        tmp = (inft_n * infi_d) - (infi_n * inft_d);
+        tmp = (best_inf_n * iter_inf_d) - (iter_inf_n * best_inf_d);
         if (tmp > 0) {
-          inft_n = infi_n;
-          inft_d = infi_d;
-          mint = mini;
+          best_inf_n = iter_inf_n;
+          best_inf_d = iter_inf_d;
+          best_min = iter_min;
         }
         else if (tmp == 0)
-          mint = mint || mini;
+          best_min = (best_min || iter_min);
       }
   }
-  inf_n = inft_n;
-  inf_d = inft_d;
-  minimum = mint;
+  inf_n = best_inf_n;
+  inf_d = best_inf_d;
+  minimum = best_min;
   return true;
 }
 
@@ -1094,52 +1097,53 @@ Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
 
   bool first = true;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
-  inft_n = 0;
-  inft_d = 1;
-  bool mint = 0;
-  Generator gt = point();
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_d);
+  best_inf_n = 0;
+  best_inf_d = 1;
+  bool best_min = false;
+  Generator best_g = point();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
-  infi_n = 0;
-  infi_d = 1;
-  bool mini = 0;
-  Generator gi = point();
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_d);
+  iter_inf_n = 0;
+  iter_inf_d = 1;
+  bool iter_min = false;
+  Generator iter_g = point();
 
   PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().minimize(expr, infi_n, infi_d, mini, gi))
+    if (!si->pointset().minimize(expr,
+                                 iter_inf_n, iter_inf_d, iter_min, iter_g))
       return false;
     else
       if (first) {
         first = false;
-        inft_n = infi_n;
-        inft_d = infi_d;
-        mint = mini;
-        gt = gi;
+        best_inf_n = iter_inf_n;
+        best_inf_d = iter_inf_d;
+        best_min = iter_min;
+        best_g = iter_g;
       }
       else {
-        tmp = (inft_n * infi_d) - (infi_n * inft_d);
+        tmp = (best_inf_n * iter_inf_d) - (iter_inf_n * best_inf_d);
         if (tmp > 0) {
-          inft_n = infi_n;
-          inft_d = infi_d;
-          mint = mini;
-          gt = gi;
+          best_inf_n = iter_inf_n;
+          best_inf_d = iter_inf_d;
+          best_min = iter_min;
+          best_g = iter_g;
         }
         else if (tmp == 0) {
-          mint = mint || mini;
-          gt = gi;
+          best_min = (best_min || iter_min);
+          best_g = iter_g;
         }
       }
   }
-  inf_n = inft_n;
-  inf_d = inft_d;
-  minimum = mint;
-  g = gt;
+  inf_n = best_inf_n;
+  inf_d = best_inf_d;
+  minimum = best_min;
+  g = best_g;
   return true;
 }
 
@@ -1160,13 +1164,13 @@ Pointset_Powerset<PSET>::wrap_assign(const Variables_Set& vars,
                                      Bounded_Integer_Type_Width w,
                                      Bounded_Integer_Type_Representation r,
                                      Bounded_Integer_Type_Overflow o,
-                                     const Constraint_System* pcs,
+                                     const Constraint_System* cs_p,
                                      unsigned complexity_threshold,
                                      bool wrap_individually) {
   Pointset_Powerset& x = *this;
   for (Sequence_iterator si = x.sequence.begin(),
 	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().wrap_assign(vars, w, r, o, pcs,
+    si->pointset().wrap_assign(vars, w, r, o, cs_p,
                                complexity_threshold, wrap_individually);
   x.reduced = false;
   PPL_ASSERT_HEAVY(x.OK());
@@ -1199,7 +1203,8 @@ Pointset_Powerset<PSET>::pairwise_reduce() {
 	  continue;
 	const PSET& pj = sj->pointset();
 	if (pi.upper_bound_assign_if_exact(pj)) {
-	  marked[si_index] = marked[sj_index] = true;
+	  marked[si_index] = true;
+          marked[sj_index] = true;
 	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
 	  ++deleted;
 	  goto next;
@@ -1208,16 +1213,18 @@ Pointset_Powerset<PSET>::pairwise_reduce() {
     next:
       ;
     }
-    iterator nx_begin = new_x.begin();
-    iterator nx_end = new_x.end();
+    iterator new_x_begin = new_x.begin();
+    iterator new_x_end = new_x.end();
     unsigned xi_index = 0;
     for (const_iterator xi = x.begin(),
 	   x_end = x.end(); xi != x_end; ++xi, ++xi_index)
       if (!marked[xi_index])
-	nx_begin = new_x.add_non_bottom_disjunct_preserve_reduction(*xi,
-								    nx_begin,
-								    nx_end);
-    std::swap(x.sequence, new_x.sequence);
+	new_x_begin
+          = new_x.add_non_bottom_disjunct_preserve_reduction(*xi,
+                                                             new_x_begin,
+                                                             new_x_end);
+    using std::swap;
+    swap(x.sequence, new_x.sequence);
     n -= deleted;
   } while (deleted > 0);
   PPL_ASSERT_HEAVY(x.OK());
@@ -1227,7 +1234,7 @@ template <typename PSET>
 template <typename Widening>
 void
 Pointset_Powerset<PSET>::
-BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
+BGP99_heuristics_assign(const Pointset_Powerset& y, Widening widen_fun) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
 
@@ -1253,20 +1260,22 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
       const PSET& pj = j->pointset();
       if (pi.contains(pj)) {
 	PSET pi_copy = pi;
-	wf(pi_copy, pj);
+	widen_fun(pi_copy, pj);
 	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
 	marked[i_index] = true;
       }
     }
-  iterator nx_begin = new_x.begin();
-  iterator nx_end = new_x.end();
+  iterator new_x_begin = new_x.begin();
+  iterator new_x_end = new_x.end();
   i_index = 0;
   for (const_iterator i = x_begin; i != x_end; ++i, ++i_index)
     if (!marked[i_index])
-      nx_begin = new_x.add_non_bottom_disjunct_preserve_reduction(*i,
-								  nx_begin,
-								  nx_end);
-  std::swap(x.sequence, new_x.sequence);
+      new_x_begin
+        = new_x.add_non_bottom_disjunct_preserve_reduction(*i,
+                                                           new_x_begin,
+                                                           new_x_end);
+  using std::swap;
+  swap(x.sequence, new_x.sequence);
   PPL_ASSERT_HEAVY(x.OK());
   PPL_ASSERT(x.is_omega_reduced());
 }
@@ -1276,7 +1285,7 @@ template <typename Widening>
 void
 Pointset_Powerset<PSET>::
 BGP99_extrapolation_assign(const Pointset_Powerset& y,
-			   Widening wf,
+			   Widening widen_fun,
 			   unsigned max_disjuncts) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
@@ -1293,7 +1302,7 @@ BGP99_extrapolation_assign(const Pointset_Powerset& y,
   x.pairwise_reduce();
   if (max_disjuncts != 0)
     x.collapse(max_disjuncts);
-  x.BGP99_heuristics_assign(y, wf);
+  x.BGP99_heuristics_assign(y, widen_fun);
 }
 
 template <typename PSET>
@@ -1305,7 +1314,7 @@ collect_certificates(std::map<Cert, size_type,
   const Pointset_Powerset& x = *this;
   PPL_ASSERT(x.is_omega_reduced());
   PPL_ASSERT(cert_ms.size() == 0);
-  for (const_iterator i = x.begin(), end = x.end(); i != end; i++) {
+  for (const_iterator i = x.begin(), end = x.end(); i != end; ++i) {
     Cert ph_cert(i->pointset());
     ++cert_ms[ph_cert];
   }
@@ -1362,7 +1371,7 @@ template <typename PSET>
 template <typename Cert, typename Widening>
 void
 Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
-                                               Widening wf) {
+                                               Widening widen_fun) {
   // `x' is the current iteration value.
   Pointset_Powerset& x = *this;
 
@@ -1419,12 +1428,12 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
 
   // Second widening technique: try the BGP99 powerset heuristics.
   Pointset_Powerset<PSET> bgp99_heuristics = x;
-  bgp99_heuristics.BGP99_heuristics_assign(y, wf);
+  bgp99_heuristics.BGP99_heuristics_assign(y, widen_fun);
 
   // Compute the poly-hull of `bgp99_heuristics'.
   PSET bgp99_heuristics_hull(x.space_dim, EMPTY);
   for (const_iterator i = bgp99_heuristics.begin(),
-	 bh_end = bgp99_heuristics.end(); i != bh_end; ++i)
+	 b_h_end = bgp99_heuristics.end(); i != b_h_end; ++i)
     bgp99_heuristics_hull.upper_bound_assign(i->pointset());
 
   // Check for stabilization and, if successful,
@@ -1432,7 +1441,7 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
   hull_stabilization = y_hull_cert.compare(bgp99_heuristics_hull);
   if (hull_stabilization == 1) {
     // The poly-hull is stabilizing.
-    std::swap(x, bgp99_heuristics);
+    swap(x, bgp99_heuristics);
     return;
   }
   else if (hull_stabilization == 0 && y_is_not_a_singleton) {
@@ -1442,7 +1451,7 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
       y_cert_ms_computed = true;
     }
     if (bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
-      std::swap(x, bgp99_heuristics);
+      swap(x, bgp99_heuristics);
       return;
     }
     // Third widening technique: pairwise-reduction on `bgp99_heuristics'.
@@ -1452,7 +1461,7 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
     Pointset_Powerset<PSET> reduced_bgp99_heuristics(bgp99_heuristics);
     reduced_bgp99_heuristics.pairwise_reduce();
     if (reduced_bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
-      std::swap(x, reduced_bgp99_heuristics);
+      swap(x, reduced_bgp99_heuristics);
       return;
     }
   }
@@ -1462,7 +1471,7 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
   if (bgp99_heuristics_hull.strictly_contains(y_hull)) {
     // Compute (y_hull \widen bgp99_heuristics_hull).
     PSET ph = bgp99_heuristics_hull;
-    wf(ph, y_hull);
+    widen_fun(ph, y_hull);
     // Compute the difference between `ph' and `bgp99_heuristics_hull'.
     ph.difference_assign(bgp99_heuristics_hull);
     x.add_disjunct(ph);
@@ -1472,7 +1481,7 @@ Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
   // Fall back to the computation of the poly-hull.
   Pointset_Powerset<PSET> x_hull_singleton(x.space_dim, EMPTY);
   x_hull_singleton.add_disjunct(x_hull);
-  std::swap(x, x_hull_singleton);
+  swap(x, x_hull_singleton);
 }
 
 template <typename PSET>
@@ -1488,7 +1497,7 @@ Pointset_Powerset<PSET>::ascii_dump(std::ostream& s) const {
 
 PPL_OUTPUT_TEMPLATE_DEFINITIONS(PSET, Pointset_Powerset<PSET>)
 
-  template <typename PSET>
+template <typename PSET>
 bool
 Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
   Pointset_Powerset& x = *this;
@@ -1515,7 +1524,7 @@ Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
       return false;
     new_x.add_disjunct(ph);
   }
-  x.swap(new_x);
+  swap(x, new_x);
 
   // Check invariants.
   PPL_ASSERT_HEAVY(x.OK());
@@ -1546,25 +1555,25 @@ namespace Implementation {
 namespace Pointset_Powersets {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partitions polyhedron \p qq according to constraint \p c.
+//! Partitions polyhedron \p pset according to constraint \p c.
 /*! \relates Parma_Polyhedra_Library::Pointset_Powerset
-  On exit, the intersection of \p qq and constraint \p c is stored
-  in \p qq, whereas the intersection of \p qq with the negation of \p c
+  On exit, the intersection of \p pset and constraint \p c is stored
+  in \p pset, whereas the intersection of \p pset with the negation of \p c
   is added as a new disjunct of the powerset \p r.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename PSET>
 void
 linear_partition_aux(const Constraint& c,
-		     PSET& qq,
+		     PSET& pset,
 		     Pointset_Powerset<NNC_Polyhedron>& r) {
   Linear_Expression le(c);
   const Constraint& neg_c = c.is_strict_inequality() ? (le <= 0) : (le < 0);
-  NNC_Polyhedron qqq(qq);
-  qqq.add_constraint(neg_c);
-  if (!qqq.is_empty())
-    r.add_disjunct(qqq);
-  qq.add_constraint(c);
+  NNC_Polyhedron nnc_ph_pset(pset);
+  nnc_ph_pset.add_constraint(neg_c);
+  if (!nnc_ph_pset.is_empty())
+    r.add_disjunct(nnc_ph_pset);
+  pset.add_constraint(c);
 }
 
 } // namespace Pointset_Powersets
@@ -1579,20 +1588,22 @@ linear_partition(const PSET& p, const PSET& q) {
   using Implementation::Pointset_Powersets::linear_partition_aux;
 
   Pointset_Powerset<NNC_Polyhedron> r(p.space_dimension(), EMPTY);
-  PSET qq = q;
-  const Constraint_System& pcs = p.constraints();
-  for (Constraint_System::const_iterator i = pcs.begin(),
-	 pcs_end = pcs.end(); i != pcs_end; ++i) {
+  PSET pset = q;
+  const Constraint_System& p_constraints = p.constraints();
+  for (Constraint_System::const_iterator i = p_constraints.begin(),
+	 p_constraints_end = p_constraints.end();
+       i != p_constraints_end;
+       ++i) {
     const Constraint& c = *i;
     if (c.is_equality()) {
       Linear_Expression le(c);
-      linear_partition_aux(le <= 0, qq, r);
-      linear_partition_aux(le >= 0, qq, r);
+      linear_partition_aux(le <= 0, pset, r);
+      linear_partition_aux(le >= 0, pset, r);
     }
     else
-      linear_partition_aux(c, qq, r);
+      linear_partition_aux(c, pset, r);
   }
-  return std::make_pair(qq, r);
+  return std::make_pair(pset, r);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Pointset_Powerset.types.hh b/src/Pointset_Powerset.types.hh
index d390b34..637a52a 100644
--- a/src/Pointset_Powerset.types.hh
+++ b/src/Pointset_Powerset.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Poly_Con_Relation.cc b/src/Poly_Con_Relation.cc
index 4906076..49fb489 100644
--- a/src/Poly_Con_Relation.cc
+++ b/src/Poly_Con_Relation.cc
@@ -1,6 +1,6 @@
 /* Poly_Con_Relation class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,15 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Poly_Con_Relation.defs.hh"
-
+#include "assert.hh"
 #include <iostream>
 #include <string>
-#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Poly_Con_Relation.defs.hh b/src/Poly_Con_Relation.defs.hh
index b973b83..97113ae 100644
--- a/src/Poly_Con_Relation.defs.hh
+++ b/src/Poly_Con_Relation.defs.hh
@@ -1,6 +1,6 @@
 /* Poly_Con_Relation class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Poly_Con_Relation_defs_hh
 #define PPL_Poly_Con_Relation_defs_hh 1
diff --git a/src/Poly_Con_Relation.inlines.hh b/src/Poly_Con_Relation.inlines.hh
index cbf5071..17cbe83 100644
--- a/src/Poly_Con_Relation.inlines.hh
+++ b/src/Poly_Con_Relation.inlines.hh
@@ -1,6 +1,6 @@
 /* Poly_Con_Relation class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Poly_Con_Relation_inlines_hh
 #define PPL_Poly_Con_Relation_inlines_hh 1
diff --git a/src/Poly_Con_Relation.types.hh b/src/Poly_Con_Relation.types.hh
index d008e4c..5f33534 100644
--- a/src/Poly_Con_Relation.types.hh
+++ b/src/Poly_Con_Relation.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Poly_Gen_Relation.cc b/src/Poly_Gen_Relation.cc
index e6a562d..b259d26 100644
--- a/src/Poly_Gen_Relation.cc
+++ b/src/Poly_Gen_Relation.cc
@@ -1,6 +1,6 @@
 /* Poly_Gen_Relation class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,15 +19,13 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Poly_Gen_Relation.defs.hh"
-
+#include "assert.hh"
 #include <iostream>
 #include <string>
-#include "assert.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
diff --git a/src/Poly_Gen_Relation.defs.hh b/src/Poly_Gen_Relation.defs.hh
index 17226e0..c193c26 100644
--- a/src/Poly_Gen_Relation.defs.hh
+++ b/src/Poly_Gen_Relation.defs.hh
@@ -1,6 +1,6 @@
 /* Poly_Gen_Relation class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Poly_Gen_Relation_defs_hh
 #define PPL_Poly_Gen_Relation_defs_hh 1
diff --git a/src/Poly_Gen_Relation.inlines.hh b/src/Poly_Gen_Relation.inlines.hh
index 2f8d7ff..08e5266 100644
--- a/src/Poly_Gen_Relation.inlines.hh
+++ b/src/Poly_Gen_Relation.inlines.hh
@@ -1,6 +1,6 @@
 /* Poly_Gen_Relation class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Poly_Gen_Relation_inlines_hh
 #define PPL_Poly_Gen_Relation_inlines_hh 1
diff --git a/src/Poly_Gen_Relation.types.hh b/src/Poly_Gen_Relation.types.hh
index 57009b7..e2f3ae6 100644
--- a/src/Poly_Gen_Relation.types.hh
+++ b/src/Poly_Gen_Relation.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Polyhedron.defs.hh b/src/Polyhedron.defs.hh
index a5cb7a6..4f8beb7 100644
--- a/src/Polyhedron.defs.hh
+++ b/src/Polyhedron.defs.hh
@@ -1,6 +1,6 @@
 /* Polyhedron class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Polyhedron_defs_hh
 #define PPL_Polyhedron_defs_hh 1
@@ -35,8 +35,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator_System.inlines.hh"
 #include "Congruence_System.defs.hh"
 #include "Congruence_System.inlines.hh"
-#include "Grid_Generator_System.defs.hh"
-#include "Grid_Generator_System.inlines.hh"
 #include "Bit_Matrix.defs.hh"
 #include "Constraint.types.hh"
 #include "Generator.types.hh"
@@ -48,6 +46,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Box.types.hh"
 #include "BD_Shape.types.hh"
 #include "Octagonal_Shape.types.hh"
+#include "Interval.types.hh"
+#include "Linear_Form.types.hh"
 #include <vector>
 #include <iosfwd>
 
@@ -69,6 +69,10 @@ operator<<(std::ostream& s, const Polyhedron& ph);
 
 } // namespace IO_Operators
 
+//! Swaps \p x with \p y.
+/*! \relates Polyhedron */
+void swap(Polyhedron& x, Polyhedron& y);
+
 /*! \brief
   Returns <CODE>true</CODE> if and only if
   \p x and \p y are the same polyhedron.
@@ -328,7 +332,7 @@ bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
   <CODE>remove_space_dimensions</CODE>:
   \code
   Generator_System gs;
-  gs.insert(point(3*x + y +0*z + 2*w));
+  gs.insert(point(3*x + y + 0*z + 2*w));
   C_Polyhedron ph(gs);
   Variables_Set vars;
   vars.insert(y);
@@ -544,12 +548,6 @@ public:
   */
   Congruence_System minimized_congruences() const;
 
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System grid_generators() const;
-
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System minimized_grid_generators() const;
-
   /*! \brief
     Returns the relations holding between the polyhedron \p *this
     and the constraint \p c.
@@ -1010,6 +1008,81 @@ public:
   void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
+    Refines \p *this with the constraint expressed by \p left \f$<\f$
+    \p right if \p is_strict is set, with the constraint \p left \f$\leq\f$
+    \p right otherwise.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is on the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is on the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param is_strict
+    True if the comparison is strict.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  void refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  bool is_strict = false);
+
+  /*! \brief
+    Refines \p *this with the constraint expressed by \p left \f$\relsym\f$
+    \p right, where \f$\relsym\f$ is the relation symbol specified by
+    \p relsym..
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is on the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is on the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param relsym
+    The relation symbol.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  Relation_Symbol relsym);
+
+  //! Refines \p store with the constraints defining \p *this.
+  /*!
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  void refine_fp_interval_abstract_store(
+       Box< Interval<FP_Format, Interval_Info> >& store)
+       const;
+
+  /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
     respect to space dimension \p var, assigning the result to \p *this.
 
@@ -1175,6 +1248,32 @@ public:
 		    Coefficient_traits::const_reference denominator
 		      = Coefficient_one());
 
+  // FIXME: To be completed.
+  /*!
+    Assigns to \p *this the
+    \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var is
+    not a space dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  void affine_form_image(Variable var,
+  const Linear_Form<Interval <FP_Format, Interval_Info> >& lf);
+
   /*! \brief
     Assigns to \p *this the
     \ref Single_Update_Affine_Functions "affine preimage"
@@ -1474,9 +1573,9 @@ public:
     The overflow behavior of the bounded integer type corresponding to
     all the dimensions to be wrapped.
 
-    \param pcs
+    \param cs_p
     Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
     variables not in \p vars, the behavior is undefined.
     When non-null, the pointed-to constraint system is assumed to
     represent the conditional or looping construct guard with respect
@@ -1484,7 +1583,7 @@ public:
     computation of upper bounds and due to non-distributivity of
     constraint refinement over upper bounds, passing a constraint
     system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
     \param complexity_threshold
     A precision parameter of the \ref Wrapping_Operator "wrapping operator":
@@ -1496,15 +1595,15 @@ public:
     precision).
 
     \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
     \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
+    <CODE>*cs_p</CODE>.
   */
   void wrap_assign(const Variables_Set& vars,
                    Bounded_Integer_Type_Width w,
                    Bounded_Integer_Type_Representation r,
                    Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
+                   const Constraint_System* cs_p = 0,
                    unsigned complexity_threshold = 16,
                    bool wrap_individually = true);
 
@@ -1885,7 +1984,7 @@ public:
     \exception std::invalid_argument
     Thrown if \p x and \p y are topology-incompatible.
   */
-  void swap(Polyhedron& y);
+  void m_swap(Polyhedron& y);
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -1913,6 +2012,9 @@ public:
   //@} // Miscellaneous Member Functions
 
 private:
+  static const Representation default_con_sys_repr = DENSE;
+  static const Representation default_gen_sys_repr = DENSE;
+
   //! The system of constraints.
   Constraint_System con_sys;
 
@@ -2368,7 +2470,7 @@ private:
     to the definition of the CH78-widening of \p *this and \p y.
   */
   void select_CH78_constraints(const Polyhedron& y,
-			       Constraint_System& cs_selected) const;
+			       Constraint_System& cs_selection) const;
 
   /*! \brief
     Splits the constraints of `x' into two subsets, depending on whether
@@ -2382,7 +2484,7 @@ private:
   bool BHRZ03_combining_constraints(const Polyhedron& y,
 				    const BHRZ03_Certificate& y_cert,
  				    const Polyhedron& H79,
-				    const Constraint_System& x_minus_H79_con_sys);
+				    const Constraint_System& x_minus_H79_cs);
 
   bool BHRZ03_evolving_points(const Polyhedron& y,
 			      const BHRZ03_Certificate& y_cert,
@@ -2392,36 +2494,43 @@ private:
 			    const BHRZ03_Certificate& y_cert,
 			    const Polyhedron& H79);
 
+  static void modify_according_to_evolution(Linear_Expression& ray,
+                                            const Linear_Expression& x,
+                                            const Linear_Expression& y);
+
   //@} // Widening- and Extrapolation-Related Functions
 
-  //! Adds new space dimensions to the given matrices.
+  //! Adds new space dimensions to the given linear systems.
   /*!
-    \param mat1
-    The matrix to which columns are added;
+    \param sys1
+    The linear system to which columns are added;
 
-    \param mat2
-    The matrix to which rows and columns are added;
+    \param sys2
+    The linear system to which rows and columns are added;
 
     \param sat1
     The saturation matrix whose columns are indexed by the rows of
-    matrix \p mat1. On entry it is up-to-date;
+    \p sys1. On entry it is up-to-date;
 
     \param sat2
     The saturation matrix whose columns are indexed by the rows of \p
-    mat2;
+    sys2;
 
     \param add_dim
     The number of space dimensions to add.
 
-    Adds new space dimensions to the vector space modifying the matrices.
+    Adds new space dimensions to the vector space modifying the linear
+    systems and saturation matrices.
     This function is invoked only by
     <CODE>add_space_dimensions_and_embed()</CODE> and
-    <CODE>add_space_dimensions_and_project()</CODE>, passing the matrix of
-    constraints and that of generators (and the corresponding saturation
-    matrices) in different order (see those methods for details).
-  */
-  static void add_space_dimensions(Linear_System& mat1,
-				   Linear_System& mat2,
+    <CODE>add_space_dimensions_and_project()</CODE>, passing the
+    linear system of constraints and that of generators (and the
+    corresponding saturation matrices) in different order (see those
+    methods for details).
+  */
+  template <typename Linear_System1, typename Linear_System2>
+  static void add_space_dimensions(Linear_System1& sys1,
+				   Linear_System2& sys2,
 				   Bit_Matrix& sat1,
 				   Bit_Matrix& sat2,
 				   dimension_type add_dim);
@@ -2431,9 +2540,10 @@ private:
 
   //! Builds and simplifies constraints from generators (or vice versa).
   // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System, typename Dest_Linear_System>
   static bool minimize(bool con_to_gen,
-		       Linear_System& source,
-		       Linear_System& dest,
+		       Source_Linear_System& source,
+		       Dest_Linear_System& dest,
 		       Bit_Matrix& sat);
 
   /*! \brief
@@ -2441,27 +2551,31 @@ private:
     or vice versa.
   */
   // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System1, typename Source_Linear_System2,
+            typename Dest_Linear_System>
   static bool add_and_minimize(bool con_to_gen,
-			       Linear_System& source1,
-			       Linear_System& dest,
+			       Source_Linear_System1& source1,
+			       Dest_Linear_System& dest,
 			       Bit_Matrix& sat,
-			       const Linear_System& source2);
+			       const Source_Linear_System2& source2);
 
   /*! \brief
     Adds given constraints and builds minimized corresponding generators
     or vice versa. The given constraints are in \p source.
   */
   // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System, typename Dest_Linear_System>
   static bool add_and_minimize(bool con_to_gen,
-			       Linear_System& source,
-			       Linear_System& dest,
+			       Source_Linear_System& source,
+			       Dest_Linear_System& dest,
 			       Bit_Matrix& sat);
 
   //! Performs the conversion from constraints to generators and vice versa.
   // Detailed Doxygen comment to be found in file conversion.cc.
-  static dimension_type conversion(Linear_System& source,
+  template <typename Source_Linear_System, typename Dest_Linear_System>
+  static dimension_type conversion(Source_Linear_System& source,
 				   dimension_type start,
-				   Linear_System& dest,
+				   Dest_Linear_System& dest,
 				   Bit_Matrix& sat,
 				   dimension_type num_lines_or_equalities);
 
@@ -2470,7 +2584,8 @@ private:
     <CODE>conversion()</CODE>.
   */
   // Detailed Doxygen comment to be found in file simplify.cc.
-  static dimension_type simplify(Linear_System& mat, Bit_Matrix& sat);
+  template <typename Linear_System1>
+  static dimension_type simplify(Linear_System1& sys, Bit_Matrix& sat);
 
   //@} // Minimization-Related Static Member Functions
 
@@ -2526,7 +2641,6 @@ protected:
   //@{
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 protected:
-  void throw_runtime_error(const char* method) const;
   void throw_invalid_argument(const char* method, const char* reason) const;
 
   void throw_topology_incompatible(const char* method,
@@ -2552,8 +2666,8 @@ protected:
 				    const char* ph_name,
 				    const Polyhedron& ph) const;
   void throw_dimension_incompatible(const char* method,
-				    const char* e_name,
-				    const Linear_Expression& e) const;
+				    const char* le_name,
+				    const Linear_Expression& le) const;
   void throw_dimension_incompatible(const char* method,
 				    const char* c_name,
 				    const Constraint& c) const;
@@ -2572,20 +2686,36 @@ protected:
   void throw_dimension_incompatible(const char* method,
 				    const char* cgs_name,
 				    const Congruence_System& cgs) const;
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+				    const char* lf_name,
+				    const Linear_Form<C>& lf) const;
   void throw_dimension_incompatible(const char* method,
 				    const char* var_name,
 				    Variable var) const;
   void throw_dimension_incompatible(const char* method,
 				    dimension_type required_space_dim) const;
 
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the polyhedron object).
-  static void throw_space_dimension_overflow(Topology topol,
-					     const char* method,
-					     const char* reason);
+  // Note: the following three methods need to be static, because they
+  // can be called inside constructors (before actually constructing the
+  // polyhedron object).
+  static dimension_type
+  check_space_dimension_overflow(dimension_type dim, dimension_type max,
+                                 const Topology topol,
+                                 const char* method, const char* reason);
+
+  static dimension_type
+  check_space_dimension_overflow(dimension_type dim, const Topology topol,
+                                 const char* method, const char* reason);
+
+  template <typename Object>
+  static Object&
+  check_obj_space_dimension_overflow(Object& input, Topology topol,
+                                     const char* method, const char* reason);
 
   void throw_invalid_generator(const char* method,
 			       const char* g_name) const;
+
   void throw_invalid_generators(const char* method,
 				const char* gs_name) const;
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -2594,11 +2724,11 @@ protected:
 
   /*! \brief
     Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p *pvars.
+    coordinates for the space dimensions corresponding to \p *vars_p.
 
-    \param pvars
+    \param vars_p
     When nonzero, points with non-integer coordinates for the
-    variables/space-dimensions contained in \p *pvars can be discarded.
+    variables/space-dimensions contained in \p *vars_p can be discarded.
 
     \param complexity
     The maximal complexity of any algorithms used.
@@ -2607,22 +2737,107 @@ protected:
     Currently there is no optimality guarantee, not even if
     \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-  void drop_some_non_integer_points(const Variables_Set* pvars,
+  void drop_some_non_integer_points(const Variables_Set* vars_p,
                                     Complexity_Class complexity);
 
-};
+  //! Helper function that overapproximates an interval linear form.
+  /*!
+    \param lf
+    The linear form on intervals with floating point boundaries to approximate.
+    ALL of its coefficients MUST be bounded.
 
-namespace std {
+    \param lf_dimension
+    Must be the space dimension of \p lf.
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
-void swap(Parma_Polyhedra_Library::Polyhedron& x,
-	  Parma_Polyhedra_Library::Polyhedron& y);
+    \param result
+    Used to store the result.
+
+    This function makes \p result become a linear form that is a correct
+    approximation of \p lf under the constraints specified by \p *this.
+    The resulting linear form has the property that all of its variable
+    coefficients have a non-significant upper bound and can thus be
+    considered as singletons.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  void overapproximate_linear_form(
+  const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+  const dimension_type lf_dimension,
+  Linear_Form<Interval <FP_Format, Interval_Info> >& result);
 
-} // namespace std
+  /*! \brief
+    Helper function that makes \p result become a Linear_Expression obtained
+    by normalizing the denominators in \p lf.
+
+    \param lf
+    The linear form on intervals with floating point boundaries to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
+
+    \param lf_dimension
+    Must be the space dimension of \p lf.
+
+    \param result
+    Used to store the result.
+
+    This function ignores the upper bound of intervals in \p lf,
+    so that in fact \p result can be seen as \p lf multiplied by a proper
+    normalization constant.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  static void convert_to_integer_expression(
+	      const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+              const dimension_type lf_dimension,
+              Linear_Expression& result);
+
+  //! Normalization helper function.
+  /*!
+    \param lf
+    The linear form on intervals with floating point boundaries to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
+
+    \param lf_dimension
+    Must be the space dimension of \p lf.
+
+    \param res
+    Stores the normalized linear form, except its inhomogeneous term.
+
+    \param res_low_coeff
+    Stores the lower boundary of the inhomogeneous term of the result.
+
+    \param res_hi_coeff
+    Stores the higher boundary of the inhomogeneous term of the result.
+
+    \param denominator
+    Becomes the common denominator of \p res_low_coeff, \p res_hi_coeff
+    and all coefficients in \p res.
+
+    Results are obtained by normalizing denominators in \p lf, ignoring
+    the upper bounds of variable coefficients in \p lf.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  static void
+  convert_to_integer_expressions(const Linear_Form<Interval<FP_Format,
+                                                            Interval_Info> >&
+                                 lf,
+                                 const dimension_type lf_dimension,
+                                 Linear_Expression& res,
+                                 Coefficient& res_low_coeff,
+                                 Coefficient& res_hi_coeff,
+                                 Coefficient& denominator);
+
+  template <typename Linear_System1, typename Row2>
+  static bool
+  add_to_system_and_check_independence(Linear_System1& eq_sys,
+                                       const Row2& eq);
+};
 
 #include "Ph_Status.inlines.hh"
 #include "Polyhedron.inlines.hh"
 #include "Polyhedron.templates.hh"
+#include "Polyhedron_chdims.templates.hh"
+#include "Polyhedron_conversion.templates.hh"
+#include "Polyhedron_minimize.templates.hh"
+#include "Polyhedron_simplify.templates.hh"
 
 #endif // !defined(PPL_Polyhedron_defs_hh)
diff --git a/src/Polyhedron.inlines.hh b/src/Polyhedron.inlines.hh
index f98f4eb..ecdc412 100644
--- a/src/Polyhedron.inlines.hh
+++ b/src/Polyhedron.inlines.hh
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Polyhedron_inlines_hh
 #define PPL_Polyhedron_inlines_hh 1
@@ -43,7 +43,7 @@ Polyhedron::space_dimension() const {
 
 inline int32_t
 Polyhedron::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+  return hash_code_from_dimension(space_dimension());
 }
 
 inline dimension_type
@@ -97,15 +97,22 @@ Polyhedron::~Polyhedron() {
 }
 
 inline void
-Polyhedron::swap(Polyhedron& y) {
+Polyhedron::m_swap(Polyhedron& y) {
   if (topology() != y.topology())
     throw_topology_incompatible("swap(y)", "y", y);
-  std::swap(con_sys, y.con_sys);
-  std::swap(gen_sys, y.gen_sys);
-  std::swap(sat_c, y.sat_c);
-  std::swap(sat_g, y.sat_g);
-  std::swap(status, y.status);
-  std::swap(space_dim, y.space_dim);
+  using std::swap;
+  swap(con_sys, y.con_sys);
+  swap(gen_sys, y.gen_sys);
+  swap(sat_c, y.sat_c);
+  swap(sat_g, y.sat_g);
+  swap(status, y.status);
+  swap(space_dim, y.space_dim);
+}
+
+/*! \relates Polyhedron */
+inline void
+swap(Polyhedron& x, Polyhedron& y) {
+  x.m_swap(y);
 }
 
 inline bool
@@ -113,7 +120,6 @@ Polyhedron::can_recycle_constraint_systems() {
   return true;
 }
 
-
 inline bool
 Polyhedron::can_recycle_congruence_systems() {
   return false;
@@ -363,16 +369,59 @@ Polyhedron::minimized_congruences() const {
   return Congruence_System(minimized_constraints());
 }
 
-inline Grid_Generator_System
-Polyhedron::minimized_grid_generators() const {
-  return grid_generators();
-}
-
 inline void
 Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
   add_congruences(cgs);
 }
 
+template <typename FP_Format, typename Interval_Info>
+inline void
+Polyhedron::generalized_refine_with_linear_form_inequality(
+	    const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+	    const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+            const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right, false);
+    refine_with_linear_form_inequality(right, left, false);
+    break;
+  case LESS_THAN:
+    refine_with_linear_form_inequality(left, right, true);
+    break;
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right, false);
+    break;
+  case GREATER_THAN:
+    refine_with_linear_form_inequality(right, left, true);
+    break;
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left, false);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+}
+
+template <typename FP_Format, typename Interval_Info>
+inline void
+Polyhedron::
+refine_fp_interval_abstract_store(
+       Box< Interval<FP_Format, Interval_Info> >& store) const {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                     "Polyhedron::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
+
+}
+
 /*! \relates Polyhedron */
 inline bool
 operator!=(const Polyhedron& x, const Polyhedron& y) {
@@ -409,15 +458,4 @@ is_necessarily_closed_for_interfaces(const Polyhedron& ph) {
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
-inline void
-swap(Parma_Polyhedra_Library::Polyhedron& x,
-     Parma_Polyhedra_Library::Polyhedron& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
 #endif // !defined(PPL_Polyhedron_inlines_hh)
diff --git a/src/Polyhedron.templates.hh b/src/Polyhedron.templates.hh
index a389e1f..7bf33e4 100644
--- a/src/Polyhedron.templates.hh
+++ b/src/Polyhedron.templates.hh
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Polyhedron_templates_hh
 #define PPL_Polyhedron_templates_hh 1
@@ -27,6 +27,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Generator.defs.hh"
 #include "MIP_Problem.defs.hh"
 #include "Interval.defs.hh"
+#include "Linear_Form.defs.hh"
+// For static method overflows.
+#include "Floating_Point_Expression.defs.hh"
 #include <algorithm>
 #include <deque>
 
@@ -36,8 +39,8 @@ template <typename Interval>
 Polyhedron::Polyhedron(Topology topol,
                        const Box<Interval>& box,
                        Complexity_Class)
-  : con_sys(topol),
-    gen_sys(topol),
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Initialize the space dimension as indicated by the box.
@@ -55,10 +58,8 @@ Polyhedron::Polyhedron(Topology topol,
     return;
   }
 
-  // Insert a dummy constraint of the highest dimension to avoid the
-  // need of resizing the matrix of constraints later;
-  // this constraint will be removed at the end.
-  con_sys.insert(Variable(space_dim - 1) >= 0);
+  // Properly set the space dimension of `con_sys'.
+  con_sys.set_space_dimension(space_dim);
 
   PPL_DIRTY_TEMP_COEFFICIENT(l_n);
   PPL_DIRTY_TEMP_COEFFICIENT(l_d);
@@ -67,65 +68,67 @@ Polyhedron::Polyhedron(Topology topol,
 
   if (topol == NECESSARILY_CLOSED) {
     for (dimension_type k = space_dim; k-- > 0; ) {
+      const Variable v_k = Variable(k);
       // See if we have a valid lower bound.
       bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
+      bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed);
       // See if we have a valid upper bound.
       bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
+      bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed);
 
       // See if we have an implicit equality constraint.
       if (l_bounded && u_bounded
           && l_closed && u_closed
           && l_n == u_n && l_d == u_d) {
         // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
+        con_sys.insert(l_d * v_k == l_n);
       }
       else {
         if (l_bounded)
           // Add the constraint `l_d*v_k >= l_n'.
-          con_sys.insert(l_d * Variable(k) >= l_n);
+          con_sys.insert(l_d * v_k >= l_n);
         if (u_bounded)
           // Add the constraint `u_d*v_k <= u_n'.
-          con_sys.insert(u_d * Variable(k) <= u_n);
+          con_sys.insert(u_d * v_k <= u_n);
       }
     }
   }
   else {
     // topol == NOT_NECESSARILY_CLOSED
     for (dimension_type k = space_dim; k-- > 0; ) {
+      const Variable v_k = Variable(k);
       // See if we have a valid lower bound.
       bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
+      bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed);
       // See if we have a valid upper bound.
       bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
+      bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed);
 
       // See if we have an implicit equality constraint.
       if (l_bounded && u_bounded
           && l_closed && u_closed
           && l_n == u_n && l_d == u_d) {
         // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
+        con_sys.insert(l_d * v_k == l_n);
       }
       else {
         // Check if a lower bound constraint is required.
         if (l_bounded) {
           if (l_closed)
             // Add the constraint `l_d*v_k >= l_n'.
-            con_sys.insert(l_d * Variable(k) >= l_n);
+            con_sys.insert(l_d * v_k >= l_n);
           else
             // Add the constraint `l_d*v_k > l_n'.
-            con_sys.insert(l_d * Variable(k) > l_n);
+            con_sys.insert(l_d * v_k > l_n);
         }
         // Check if an upper bound constraint is required.
         if (u_bounded) {
           if (u_closed)
             // Add the constraint `u_d*v_k <= u_n'.
-            con_sys.insert(u_d * Variable(k) <= u_n);
+            con_sys.insert(u_d * v_k <= u_n);
           else
             // Add the constraint `u_d*v_k < u_n'.
-            con_sys.insert(u_d * Variable(k) < u_n);
+            con_sys.insert(u_d * v_k < u_n);
         }
       }
     }
@@ -133,13 +136,6 @@ Polyhedron::Polyhedron(Topology topol,
 
   // Adding the low-level constraints.
   con_sys.add_low_level_constraints();
-  // Now removing the dummy constraint inserted before.
-  dimension_type n_rows = con_sys.num_rows() - 1;
-  con_sys[0].swap(con_sys[n_rows]);
-  con_sys.set_sorted(false);
-  // NOTE: here there are no pending constraints.
-  con_sys.set_index_first_pending_row(n_rows);
-  con_sys.erase_to_end(n_rows);
 
   // Constraints are up-to-date.
   set_constraints_up_to_date();
@@ -178,60 +174,46 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
     // maximum efficiency, we will simply permute the columns of the
     // constraint system and/or the generator system.
 
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
+    std::vector<Variable> cycle;
+    cycle.reserve(space_dim);
 
     // Used to mark elements as soon as they are inserted in a cycle.
     std::deque<bool> visited(space_dim);
 
     for (dimension_type i = space_dim; i-- > 0; ) {
-      if (!visited[i]) {
-	dimension_type j = i;
-	do {
-	  visited[j] = true;
-	  // The following initialization is only to make the compiler happy.
-	  dimension_type k = 0;
-	  if (!pfunc.maps(j, k))
-	    throw_invalid_argument("map_space_dimensions(pfunc)",
-				   " pfunc is inconsistent");
-	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
-
-	  cycles.push_back(j+1);
-	  // Go along the cycle.
-	  j = k;
-	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
+      if (visited[i])
+        continue;
+
+      dimension_type j = i;
+      do {
+        visited[j] = true;
+        // The following initialization is only to make the compiler happy.
+        dimension_type k = 0;
+        if (!pfunc.maps(j, k))
+          throw_invalid_argument("map_space_dimensions(pfunc)",
+                                 " pfunc is inconsistent");
+        if (k == j)
+          break;
+
+        cycle.push_back(Variable(j));
+        // Go along the cycle.
+        j = k;
+      } while (!visited[j]);
+
+      // End of cycle.
+
+      // Permute all that is up-to-date.  Notice that the contents of
+      // the saturation matrices is unaffected by the permutation of
+      // columns: they remain valid, if they were so.
+      if (constraints_are_up_to_date())
+        con_sys.permute_space_dimensions(cycle);
+
+      if (generators_are_up_to_date())
+        gen_sys.permute_space_dimensions(cycle);
+
+      cycle.clear();
     }
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
-
-    // Permute all that is up-to-date.  Notice that the contents of
-    // the saturation matrices is unaffected by the permutation of
-    // columns: they remain valid, if they were so.
-    if (constraints_are_up_to_date())
-      con_sys.permute_columns(cycles);
-
-    if (generators_are_up_to_date())
-      gen_sys.permute_columns(cycles);
-
     PPL_ASSERT_HEAVY(OK());
     return;
   }
@@ -245,7 +227,7 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
   if (old_gensys.has_no_rows()) {
     // The polyhedron is empty.
     Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
-    std::swap(*this, new_polyhedron);
+    m_swap(new_polyhedron);
     PPL_ASSERT_HEAVY(OK());
     return;
   }
@@ -262,39 +244,336 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
   for (Generator_System::const_iterator i = old_gensys.begin(),
 	 old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) {
     const Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
+    const Generator::Expression& old_e = old_g.expression();
+    Linear_Expression expr;
+    expr.set_space_dimension(new_space_dimension);
     bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
+    for (Generator::Expression::const_iterator j = old_e.begin(),
+          j_end = old_e.end(); j != j_end; ++j) {
+      const dimension_type mapped_id = pfunc_maps[j.variable().id()];
+      if (mapped_id != not_a_dimension()) {
+        add_mul_assign(expr, *j, Variable(mapped_id));
 	all_zeroes = false;
       }
     }
     switch (old_g.type()) {
     case Generator::LINE:
       if (!all_zeroes)
-	new_gensys.insert(line(e));
+	new_gensys.insert(line(expr));
       break;
     case Generator::RAY:
       if (!all_zeroes)
-	new_gensys.insert(ray(e));
+	new_gensys.insert(ray(expr));
       break;
     case Generator::POINT:
       // A point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(point(e, old_g.divisor()));
+      new_gensys.insert(point(expr, old_g.divisor()));
       break;
     case Generator::CLOSURE_POINT:
       // A closure point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(closure_point(e, old_g.divisor()));
+      new_gensys.insert(closure_point(expr, old_g.divisor()));
       break;
     }
   }
   Polyhedron new_polyhedron(topology(), new_gensys);
-  std::swap(*this, new_polyhedron);
+  m_swap(new_polyhedron);
   PPL_ASSERT_HEAVY(OK(true));
 }
 
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  const bool is_strict) {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::refine_with_linear_form_inequality:"
+                         " FP_Format not a floating point type.");
+
+  // Dimension compatibility checks.
+  // The dimensions of left and right should not be greater than the
+  // dimension of *this.
+  const dimension_type left_space_dim = left.space_dimension();
+  if (space_dim < left_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(l1, l2, s)", "l1", left);
+
+  const dimension_type right_space_dim = right.space_dimension();
+  if (space_dim < right_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(l1, l2, s)", "l2", right);
+
+  // We assume that the analyzer will not refine an unreachable test.
+  PPL_ASSERT(!marked_empty());
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(left))
+    return;
+
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(right))
+    return;
+
+  // Overapproximate left - right.
+  FP_Linear_Form left_minus_right(left);
+  left_minus_right -= right;
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(left_minus_right))
+    return;
+
+  dimension_type lf_space_dim = left_minus_right.space_dimension();
+  FP_Linear_Form lf_approx;
+  overapproximate_linear_form(left_minus_right, lf_space_dim, lf_approx);
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf_approx))
+    return;
+
+  // Normalize left - right.
+  Linear_Expression lf_approx_le;
+  convert_to_integer_expression(lf_approx, lf_space_dim, lf_approx_le);
+
+  // Finally, do the refinement.
+  if (!is_strict || is_necessarily_closed())
+    refine_with_constraint(lf_approx_le <= 0);
+  else
+    refine_with_constraint(lf_approx_le < 0);
+}
+
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::affine_form_image(const Variable var,
+const Linear_Form<Interval <FP_Format, Interval_Info> >& lf) {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::affine_form_image:"
+                         " FP_Format not a floating point type.");
+
+  // Dimension compatibility checks.
+  // The dimension of lf should not be greater than the dimension of *this.
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(v, l, s)", "l", lf);
+
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_form_image(v, l, s)", "v", var);
+
+  // We assume that the analyzer will not perform an unreachable assignment.
+  PPL_ASSERT(!marked_empty());
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf)) {
+    *this = Polyhedron(topology(), space_dim, UNIVERSE);
+    return;
+  }
+
+  // Overapproximate lf.
+  FP_Linear_Form lf_approx;
+  overapproximate_linear_form(lf, lf_space_dim, lf_approx);
+
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf_approx)) {
+    *this = Polyhedron(topology(), space_dim, UNIVERSE);
+    return;
+  }
+
+  // Normalize lf.
+  Linear_Expression lf_approx_le;
+  PPL_DIRTY_TEMP_COEFFICIENT(lo_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(hi_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(denominator);
+  convert_to_integer_expressions(lf_approx, lf_space_dim, lf_approx_le,
+                                 lo_coeff, hi_coeff, denominator);
+
+  // Finally, do the assignment.
+  bounded_affine_image(var, lf_approx_le + lo_coeff, lf_approx_le + hi_coeff,
+                       denominator);
+}
+
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::overapproximate_linear_form
+(const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+ const dimension_type lf_dimension,
+ Linear_Form<Interval <FP_Format, Interval_Info> >& result) {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::overapproximate_linear_form:"
+                         " FP_Format not a floating point type.");
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+
+  // Build a Box from the Polyhedron so that we can extract upper and
+  // lower bounds of variables easily.
+  Box<FP_Interval_Type> box(*this);
+
+  result = FP_Linear_Form(lf.inhomogeneous_term());
+  // FIXME: this may not be policy-neutral.
+  const FP_Interval_Type aux_divisor1(static_cast<FP_Format>(0.5));
+  FP_Interval_Type aux_divisor2(aux_divisor1);
+  aux_divisor2.lower() = static_cast<FP_Format>(-0.5);
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    Variable curr_var(i);
+    const FP_Interval_Type& curr_coeff = lf.coefficient(curr_var);
+    PPL_ASSERT(curr_coeff.is_bounded());
+    FP_Format curr_lb = curr_coeff.lower();
+    FP_Format curr_ub = curr_coeff.upper();
+    if (curr_lb != 0 || curr_ub != 0) {
+      const FP_Interval_Type& curr_int = box.get_interval(curr_var);
+      FP_Interval_Type curr_addend(curr_ub - curr_lb);
+      curr_addend *= aux_divisor2;
+      curr_addend *= curr_int;
+      result += curr_addend;
+      curr_addend = FP_Interval_Type(curr_lb + curr_ub);
+      curr_addend *= aux_divisor1;
+      FP_Linear_Form curr_addend_lf(curr_var);
+      curr_addend_lf *= curr_addend;
+      result += curr_addend_lf;
+    }
+  }
+}
+
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::convert_to_integer_expression(
+                const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+                const dimension_type lf_dimension,
+                Linear_Expression& result) {
+  result = Linear_Expression();
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  std::vector<Coefficient> numerators(lf_dimension+1);
+  std::vector<Coefficient> denominators(lf_dimension+1);
+
+  // Convert each floating point number to a pair <numerator, denominator>
+  // and compute the lcm of all denominators.
+  PPL_DIRTY_TEMP_COEFFICIENT(lcm);
+  lcm = 1;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+  // FIXME: are these checks numerator[i] != 0 really necessary?
+  numer_denom(b.lower(), numerators[lf_dimension],
+                         denominators[lf_dimension]);
+  if (numerators[lf_dimension] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension]);
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    const FP_Interval_Type& curr_int = lf.coefficient(Variable(i));
+    numer_denom(curr_int.lower(), numerators[i], denominators[i]);
+    if (numerators[i] != 0)
+      lcm_assign(lcm, lcm, denominators[i]);
+  }
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    if (numerators[i] != 0) {
+      exact_div_assign(denominators[i], lcm, denominators[i]);
+      numerators[i] *= denominators[i];
+      result += numerators[i] * Variable(i);
+    }
+  }
+
+  if (numerators[lf_dimension] != 0) {
+    exact_div_assign(denominators[lf_dimension],
+                     lcm, denominators[lf_dimension]);
+    numerators[lf_dimension] *= denominators[lf_dimension];
+    result += numerators[lf_dimension];
+  }
+}
+
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::convert_to_integer_expressions(
+	        const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+                const dimension_type lf_dimension, Linear_Expression& res,
+                Coefficient& res_low_coeff, Coefficient& res_hi_coeff,
+                Coefficient& denominator) {
+  res = Linear_Expression();
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  std::vector<Coefficient> numerators(lf_dimension+2);
+  std::vector<Coefficient> denominators(lf_dimension+2);
+
+  // Convert each floating point number to a pair <numerator, denominator>
+  // and compute the lcm of all denominators.
+  Coefficient& lcm = denominator;
+  lcm = 1;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+  numer_denom(b.lower(), numerators[lf_dimension], denominators[lf_dimension]);
+  // FIXME: are these checks numerator[i] != 0 really necessary?
+  if (numerators[lf_dimension] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension]);
+
+  numer_denom(b.upper(), numerators[lf_dimension+1],
+                         denominators[lf_dimension+1]);
+  if (numerators[lf_dimension+1] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension+1]);
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    const FP_Interval_Type& curr_int = lf.coefficient(Variable(i));
+    numer_denom(curr_int.lower(), numerators[i], denominators[i]);
+    if (numerators[i] != 0)
+      lcm_assign(lcm, lcm, denominators[i]);
+  }
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    if (numerators[i] != 0) {
+      exact_div_assign(denominators[i], lcm, denominators[i]);
+      numerators[i] *= denominators[i];
+      res += numerators[i] * Variable(i);
+    }
+  }
+
+  if (numerators[lf_dimension] != 0) {
+    exact_div_assign(denominators[lf_dimension],
+                     lcm, denominators[lf_dimension]);
+    numerators[lf_dimension] *= denominators[lf_dimension];
+    res_low_coeff = numerators[lf_dimension];
+  }
+  else
+    res_low_coeff = Coefficient(0);
+
+  if (numerators[lf_dimension+1] != 0) {
+    exact_div_assign(denominators[lf_dimension+1],
+                     lcm, denominators[lf_dimension+1]);
+    numerators[lf_dimension+1] *= denominators[lf_dimension+1];
+    res_hi_coeff = numerators[lf_dimension+1];
+  }
+  else
+    res_hi_coeff = Coefficient(0);
+}
+
+template <typename C>
+void
+Polyhedron::throw_dimension_incompatible(const char* method,
+				         const char* lf_name,
+				         const Linear_Form<C>& lf) const {
+  throw_dimension_incompatible(method, lf_name, lf.space_dimension());
+}
+
+template <typename Input>
+Input&
+Polyhedron::check_obj_space_dimension_overflow(Input& input,
+                                               const Topology topol,
+                                               const char* method,
+                                               const char* reason) {
+  check_space_dimension_overflow(input.space_dimension(),
+                                 max_space_dimension(),
+                                 topol, method, reason);
+  return input;
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Polyhedron_templates_hh)
diff --git a/src/Polyhedron.types.hh b/src/Polyhedron.types.hh
index 1a894d9..5f7e822 100644
--- a/src/Polyhedron.types.hh
+++ b/src/Polyhedron.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Polyhedron_chdims.cc b/src/Polyhedron_chdims.cc
index fdfff7f..5264c31 100644
--- a/src/Polyhedron_chdims.cc
+++ b/src/Polyhedron_chdims.cc
@@ -1,7 +1,7 @@
 /* Polyhedron class implementation
    (non-inline operators that may change the dimension of the vector space).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,10 +20,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Polyhedron.defs.hh"
 #include "Variables_Set.defs.hh"
 #include "assert.hh"
@@ -33,70 +32,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace PPL = Parma_Polyhedra_Library;
 
 void
-PPL::Polyhedron::add_space_dimensions(Linear_System& sys1,
-				      Linear_System& sys2,
-				      Bit_Matrix& sat1,
-				      Bit_Matrix& sat2,
-				      dimension_type add_dim) {
-  PPL_ASSERT(sys1.topology() == sys2.topology());
-  PPL_ASSERT(sys1.num_columns() == sys2.num_columns());
-  PPL_ASSERT(add_dim != 0);
-
-  sys1.add_zero_columns(add_dim);
-  dimension_type old_index = sys2.first_pending_row();
-  sys2.add_rows_and_columns(add_dim);
-  // The added rows are in the non-pending part.
-  sys2.set_index_first_pending_row(old_index + add_dim);
-
-  // The resulting saturation matrix will be as follows:
-  // from row    0    to      add_dim-1       : only zeroes
-  //          add_dim     add_dim+num_rows-1  : old saturation matrix
-
-  // In fact all the old generators saturate all the new constraints
-  // because the polyhedron has not been embedded in the new space.
-  sat1.resize(sat1.num_rows() + add_dim, sat1.num_columns());
-  // The old matrix is moved to the end of the new matrix.
-  for (dimension_type i = sat1.num_rows() - add_dim; i-- > 0; )
-    std::swap(sat1[i], sat1[i+add_dim]);
-  // Computes the "sat_c", too.
-  sat2.transpose_assign(sat1);
-
-  if (!sys1.is_necessarily_closed()) {
-    // Moving the epsilon coefficients to the new last column.
-    dimension_type new_eps_index = sys1.num_columns() - 1;
-    dimension_type old_eps_index = new_eps_index - add_dim;
-    // This swap preserves sortedness of `sys1'.
-    sys1.swap_columns(old_eps_index, new_eps_index);
-
-    // Try to preserve sortedness of `sys2'.
-    if (!sys2.is_sorted())
-      sys2.swap_columns(old_eps_index, new_eps_index);
-    else {
-      for (dimension_type i = sys2.num_rows(); i-- > add_dim; ) {
-	Linear_Row& r = sys2[i];
-	std::swap(r[old_eps_index], r[new_eps_index]);
-      }
-      // The upper-right corner of `sys2' contains the J matrix:
-      // swap coefficients to preserve sortedness.
-      for (dimension_type i = add_dim; i-- > 0; ++old_eps_index) {
-	Linear_Row& r = sys2[i];
-	std::swap(r[old_eps_index], r[old_eps_index + 1]);
-      }
-    }
-    // NOTE: since we swapped columns in both `sys1' and `sys2',
-    // no swapping is required for `sat1' and `sat2'.
-  }
-}
-
-void
 PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
   // The space dimension of the resulting polyhedron should not
   // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow(topology(),
-				   "add_space_dimensions_and_embed(m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 topology(),
+                                 "add_space_dimensions_and_embed(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Adding no dimensions to any polyhedron is a no-op.
   if (m == 0)
@@ -118,7 +61,7 @@ PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
     // We swap `*this' with a newly created
     // universe polyhedron of dimension `m'.
     Polyhedron ph(topology(), m, UNIVERSE);
-    swap(ph);
+    m_swap(ph);
     return;
   }
 
@@ -142,39 +85,12 @@ PPL::Polyhedron::add_space_dimensions_and_embed(dimension_type m) {
     }
     else {
       // Only constraints are up-to-date: no need to modify the generators.
-      con_sys.add_zero_columns(m);
-      // If the polyhedron is not necessarily closed,
-      // move the epsilon coefficients to the last column.
-      if (!is_necessarily_closed())
-	con_sys.swap_columns(space_dim + 1, space_dim + 1 + m);
+      con_sys.set_space_dimension(con_sys.space_dimension() + m);
     }
   else {
     // Only generators are up-to-date: no need to modify the constraints.
     PPL_ASSERT(generators_are_up_to_date());
-    gen_sys.add_rows_and_columns(m);
-    // The polyhedron does not support pending generators.
-    gen_sys.unset_pending_rows();
-    // If the polyhedron is not necessarily closed,
-    // move the epsilon coefficients to the last column.
-    if (!is_necessarily_closed()) {
-      // Try to preserve sortedness of `gen_sys'.
-      if (!gen_sys.is_sorted())
-	gen_sys.swap_columns(space_dim + 1, space_dim + 1 + m);
-      else {
-	dimension_type old_eps_index = space_dim + 1;
-	dimension_type new_eps_index = old_eps_index + m;
-	for (dimension_type i = gen_sys.num_rows(); i-- > m; ) {
-	  Generator& r = gen_sys[i];
-	  std::swap(r[old_eps_index], r[new_eps_index]);
-	}
-	// The upper-right corner of `gen_sys' contains the J matrix:
-	// swap coefficients to preserve sortedness.
-	for (dimension_type i = m; i-- > 0; ++old_eps_index) {
-	  Generator& r = gen_sys[i];
-	  std::swap(r[old_eps_index], r[old_eps_index + 1]);
-	}
-      }
-    }
+    gen_sys.add_universe_rows_and_space_dimensions(m);
   }
   // Update the space dimension.
   space_dim += m;
@@ -188,11 +104,11 @@ void
 PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
   // The space dimension of the resulting polyhedron should not
   // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow(topology(),
-				   "add_space_dimensions_and_project(m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 topology(),
+                                 "add_space_dimensions_and_project(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Adding no dimensions to any polyhedron is a no-op.
   if (m == 0)
@@ -228,7 +144,7 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
   // In contrast, in the system of constraints, new rows are needed
   // in order to avoid embedding the old polyhedron in the new space.
   // Thus, for each new dimensions `x[k]', we add the constraint
-  // x[k] = 0; this is done by invoking the function add_space_dimensions()
+  // x[k] = 0: this is done by invoking the function add_space_dimensions()
   // giving the system of constraints as the second argument.
   if (constraints_are_up_to_date())
     if (generators_are_up_to_date()) {
@@ -236,45 +152,18 @@ PPL::Polyhedron::add_space_dimensions_and_project(dimension_type m) {
       if (!sat_g_is_up_to_date())
 	update_sat_g();
       // Adds rows and/or columns to both matrices.
-      // `add_space_dimensions' correctly handles pending constraints
+      // `add_space_dimensions()' correctly handles pending constraints
       // or generators.
       add_space_dimensions(gen_sys, con_sys, sat_g, sat_c, m);
     }
     else {
       // Only constraints are up-to-date: no need to modify the generators.
-      con_sys.add_rows_and_columns(m);
-      // The polyhedron does not support pending constraints.
-      con_sys.unset_pending_rows();
-      // If the polyhedron is not necessarily closed,
-      // move the epsilon coefficients to the last column.
-      if (!is_necessarily_closed()) {
-	// Try to preserve sortedness of `con_sys'.
-	if (!con_sys.is_sorted())
-	  con_sys.swap_columns(space_dim + 1, space_dim + 1 + m);
-	else {
-	  dimension_type old_eps_index = space_dim + 1;
-	  dimension_type new_eps_index = old_eps_index + m;
-	  for (dimension_type i = con_sys.num_rows(); i-- > m; ) {
-	    Constraint& r = con_sys[i];
-	    std::swap(r[old_eps_index], r[new_eps_index]);
-	  }
-	  // The upper-right corner of `con_sys' contains the J matrix:
-	  // swap coefficients to preserve sortedness.
-	  for (dimension_type i = m; i-- > 0; ++old_eps_index) {
-	    Constraint& r = con_sys[i];
-	    std::swap(r[old_eps_index], r[old_eps_index + 1]);
-	  }
-	}
-      }
+      con_sys.add_universe_rows_and_space_dimensions(m);
     }
   else {
     // Only generators are up-to-date: no need to modify the constraints.
     PPL_ASSERT(generators_are_up_to_date());
-    gen_sys.add_zero_columns(m);
-    // If the polyhedron is not necessarily closed,
-    // move the epsilon coefficients to the last column.
-    if (!is_necessarily_closed())
-      gen_sys.swap_columns(space_dim + 1, space_dim + 1 + m);
+    gen_sys.set_space_dimension(gen_sys.space_dimension() + m);
   }
   // Now we update the space dimension.
   space_dim += m;
@@ -292,11 +181,12 @@ PPL::Polyhedron::concatenate_assign(const Polyhedron& y) {
   // The space dimension of the resulting polyhedron should not
   // overflow the maximum allowed space dimension.
   const dimension_type added_columns = y.space_dim;
-  if (added_columns > max_space_dimension() - space_dim)
-    throw_space_dimension_overflow(topology(),
-				   "concatenate_assign(y)",
-				   "concatenation exceeds the maximum "
-				   "allowed space dimension");
+  check_space_dimension_overflow(added_columns,
+                                 max_space_dimension() - space_dimension(),
+                                 topology(),
+                                 "concatenate_assign(y)",
+                                 "concatenation exceeds the maximum "
+                                 "allowed space dimension");
 
   // If `*this' or `y' are empty polyhedra, it is sufficient to adjust
   // the dimension of the space.
@@ -329,54 +219,32 @@ PPL::Polyhedron::concatenate_assign(const Polyhedron& y) {
   // by leaving the old system of constraints in the upper left-hand side
   // and placing the constraints of `cs' in the lower right-hand side.
   // NOTE: here topologies agree, whereas dimensions may not agree.
-  dimension_type old_num_rows = con_sys.num_rows();
-  dimension_type old_num_columns = con_sys.num_columns();
   dimension_type added_rows = cs.num_rows();
 
   // We already dealt with the cases of an empty or zero-dim `y' polyhedron;
   // also, `cs' contains the low-level constraints, at least.
   PPL_ASSERT(added_rows > 0 && added_columns > 0);
 
-  con_sys.add_zero_rows_and_columns(added_rows, added_columns,
-				    Linear_Row::Flags(topology(),
-						      Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-  // Move the epsilon coefficient to the last column, if needed.
-  if (!is_necessarily_closed())
-    con_sys.swap_columns(old_num_columns - 1,
-			 old_num_columns - 1 + added_columns);
-  dimension_type cs_num_columns = cs.num_columns();
-  // Steal the constraints from `cs' and put them in `con_sys'
-  // using the right displacement for coefficients.
-  for (dimension_type i = added_rows; i-- > 0; ) {
-    Constraint& c_old = cs[i];
-    Constraint& c_new = con_sys[old_num_rows + i];
-    // Method `add_zero_rows_and_columns', by default, added inequalities.
-    if (c_old.is_equality())
-      c_new.set_is_equality();
-    // The inhomogeneous term is not displaced.
-    std::swap(c_new[0], c_old[0]);
-    // All homogeneous terms (included the epsilon coefficient,
-    // if present) are displaced by `space_dim' columns.
-    for (dimension_type j = 1; j < cs_num_columns; ++j)
-      std::swap(c_old[j], c_new[space_dim + j]);
-  }
+  con_sys.set_space_dimension(con_sys.space_dimension() + added_columns);
 
   if (can_have_something_pending()) {
+    // Steal the constraints from `cs' and put them in `con_sys'
+    // using the right displacement for coefficients.
+    for (dimension_type i = 0; i < added_rows; ++i) {
+      cs.sys.rows[i].shift_space_dimensions(Variable(0), space_dim);
+      con_sys.insert_pending(cs.sys.rows[i], Recycle_Input());
+    }
+    cs.clear();
+
     // If `*this' can support pending constraints, then, since we have
     // resized the system of constraints, we must also add to the generator
     // system those lines corresponding to the newly added dimensions,
     // because the non-pending parts of `con_sys' and `gen_sys' must still
     // be a DD pair in minimal form.
-    gen_sys.add_rows_and_columns(added_columns);
-    gen_sys.set_sorted(false);
-    if (!is_necessarily_closed())
-      gen_sys.swap_columns(old_num_columns - 1,
-			   old_num_columns - 1 + added_columns);
-    // The added lines are not pending.
-    gen_sys.unset_pending_rows();
+    gen_sys.add_universe_rows_and_space_dimensions(added_columns);
     // Since we added new lines at the beginning of `x.gen_sys',
     // we also have to adjust the saturation matrix `sat_c'.
-    // FIXME: if `sat_c' is not up-to-date, couldn't we directly update
+    // FIXME: if `sat_c' is not up-to-date, could not we directly update
     // `sat_g' by resizing it and shifting its columns?
     if (!sat_c_is_up_to_date()) {
       sat_c.transpose_assign(sat_g);
@@ -387,17 +255,20 @@ PPL::Polyhedron::concatenate_assign(const Polyhedron& y) {
     // The old saturation rows are copied at the end of the matrix.
     // The newly introduced lines saturate all the non-pending constraints,
     // thus their saturation rows are made of zeroes.
+    using std::swap;
     for (dimension_type i = sat_c.num_rows() - added_columns; i-- > 0; )
-      std::swap(sat_c[i], sat_c[i+added_columns]);
+      swap(sat_c[i], sat_c[i+added_columns]);
     // Since `added_rows > 0', we now have pending constraints.
     set_constraints_pending();
   }
   else {
-    // The polyhedron cannot have pending constraints.
-    con_sys.unset_pending_rows();
-#if BE_LAZY
-    con_sys.set_sorted(false);
-#else
+    // Steal the constraints from `cs' and put them in `con_sys'
+    // using the right displacement for coefficients.
+    for (dimension_type i = 0; i < added_rows; ++i) {
+      cs.sys.rows[i].shift_space_dimensions(Variable(0), space_dim);
+      con_sys.insert(cs.sys.rows[i], Recycle_Input());
+    }
+#if !BE_LAZY
     con_sys.sort_rows();
 #endif
     clear_constraints_minimized();
@@ -452,29 +323,7 @@ PPL::Polyhedron::remove_space_dimensions(const Variables_Set& vars) {
     return;
   }
 
-  // For each variable to be removed, we fill the corresponding column
-  // by shifting left those columns that will not be removed.
-  Variables_Set::const_iterator vsi = vars.begin();
-  Variables_Set::const_iterator vsi_end = vars.end();
-  dimension_type dst_col = *vsi + 1;
-  dimension_type src_col = dst_col + 1;
-  for (++vsi; vsi != vsi_end; ++vsi) {
-    const dimension_type vsi_col = *vsi + 1;
-    // All columns in between are moved to the left.
-    while (src_col < vsi_col)
-      gen_sys.Matrix::swap_columns(dst_col++, src_col++);
-    ++src_col;
-  }
-  // Moving the remaining columns.
-  const dimension_type gen_sys_num_columns = gen_sys.num_columns();
-  while (src_col < gen_sys_num_columns)
-    gen_sys.Matrix::swap_columns(dst_col++, src_col++);
-
-  // The number of remaining columns is `dst_col'.
-  // Note that resizing also calls `set_sorted(false)'.
-  gen_sys.remove_trailing_columns(gen_sys_num_columns - dst_col);
-  // We may have invalid lines and rays now.
-  gen_sys.remove_invalid_lines_and_rays();
+  gen_sys.remove_space_dimensions(vars);
 
   // Constraints are not up-to-date and generators are not minimized.
   clear_constraints_up_to_date();
@@ -521,18 +370,7 @@ PPL::Polyhedron::remove_higher_space_dimensions(dimension_type new_dimension) {
     return;
   }
 
-  dimension_type new_num_cols = new_dimension + 1;
-  if (!is_necessarily_closed()) {
-    // The polyhedron is not necessarily closed: move the column
-    // of the epsilon coefficients to its new place.
-    gen_sys.swap_columns(gen_sys.num_columns() - 1, new_num_cols);
-    // The number of remaining columns is `new_dimension + 2'.
-    ++new_num_cols;
-  }
-  // Note that resizing also calls `set_sorted(false)'.
-  gen_sys.remove_trailing_columns(space_dim - new_dimension);
-  // We may have invalid lines and rays now.
-  gen_sys.remove_invalid_lines_and_rays();
+  gen_sys.set_space_dimension(new_dimension);
 
   // Constraints are not up-to-date and generators are not minimized.
   clear_constraints_up_to_date();
@@ -546,19 +384,17 @@ PPL::Polyhedron::remove_higher_space_dimensions(dimension_type new_dimension) {
 
 void
 PPL::Polyhedron::expand_space_dimension(Variable var, dimension_type m) {
-  // TODO: this implementation is _really_ an executable specification.
-
   // `var' should be one of the dimensions of the vector space.
   if (var.space_dimension() > space_dim)
     throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
 
   // The space dimension of the resulting polyhedron should not
   // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_space_dimension_overflow(topology(),
-				   "expand_dimension(v, m)",
-				   "adding m new space dimensions exceeds "
-				   "the maximum allowed space dimension");
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 topology(),
+                                 "expand_dimension(v, m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
 
   // Nothing to do, if no dimensions must be added.
   if (m == 0)
@@ -570,30 +406,27 @@ PPL::Polyhedron::expand_space_dimension(Variable var, dimension_type m) {
   // Add the required new dimensions.
   add_space_dimensions_and_embed(m);
 
-  const dimension_type src_d = var.id();
   const Constraint_System& cs = constraints();
-  Constraint_System new_constraints;
+  Constraint_System new_constraints(cs.topology());
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i) {
     const Constraint& c = *i;
 
+    Coefficient_traits::const_reference coeff = c.coefficient(var);
+
     // If `c' does not constrain `var', skip it.
-    if (c.coefficient(var) == 0)
+    if (coeff == 0)
       continue;
 
+    Constraint c_template = c;
+    c_template.expr.set_coefficient(var, Coefficient_zero());
+    
     // Each relevant constraint results in `m' new constraints.
     for (dimension_type dst_d = old_dim; dst_d < old_dim+m; ++dst_d) {
-      Linear_Expression e;
-      for (dimension_type j = old_dim; j-- > 0; )
-	e +=
-	  c.coefficient(Variable(j))
-	  * (j == src_d ? Variable(dst_d) : Variable(j));
-      e += c.inhomogeneous_term();
-      new_constraints.insert(c.is_equality()
-			     ? (e == 0)
-			     : (c.is_nonstrict_inequality()
-				? (e >= 0)
-				: (e > 0)));
+      Constraint new_c = c_template;
+      add_mul_assign(new_c.expr, coeff, Variable(dst_d));
+      PPL_ASSERT(new_c.OK());
+      new_constraints.insert(new_c, Recycle_Input());
     }
   }
   add_recycled_constraints(new_constraints);
@@ -625,7 +458,7 @@ PPL::Polyhedron::fold_space_dimensions(const Variables_Set& vars,
 			   "v should not occur in vs");
 
   // All of the affine images we are going to compute are not invertible,
-  // hence we will need to compute the generators of the polyehdron.
+  // hence we will need to compute the generators of the polyhedron.
   // Since we keep taking copies, make sure that a single conversion
   // from constraints to generators is computed.
   (void) generators();
diff --git a/src/Polyhedron_chdims.templates.hh b/src/Polyhedron_chdims.templates.hh
new file mode 100644
index 0000000..6468485
--- /dev/null
+++ b/src/Polyhedron_chdims.templates.hh
@@ -0,0 +1,63 @@
+/* Polyhedron class implementation (non-inline template operators that
+   may change the dimension of the vector space).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Polyhedron_chdims_templates_hh
+#define PPL_Polyhedron_chdims_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Linear_System1, typename Linear_System2>
+void
+Polyhedron::add_space_dimensions(Linear_System1& sys1,
+                                 Linear_System2& sys2,
+                                 Bit_Matrix& sat1,
+                                 Bit_Matrix& sat2,
+                                 dimension_type add_dim) {
+
+  typedef typename Linear_System2::row_type sys2_row_type;
+
+  PPL_ASSERT(sys1.topology() == sys2.topology());
+  PPL_ASSERT(sys1.space_dimension() == sys2.space_dimension());
+  PPL_ASSERT(add_dim != 0);
+
+  sys1.set_space_dimension(sys1.space_dimension() + add_dim);
+  sys2.add_universe_rows_and_space_dimensions(add_dim);
+
+  // The resulting saturation matrix will be as follows:
+  // from row    0    to      add_dim-1       : only zeroes
+  //          add_dim     add_dim+num_rows-1  : old saturation matrix
+
+  // In fact all the old generators saturate all the new constraints
+  // because the polyhedron has not been embedded in the new space.
+  sat1.resize(sat1.num_rows() + add_dim, sat1.num_columns());
+  // The old matrix is moved to the end of the new matrix.
+  for (dimension_type i = sat1.num_rows() - add_dim; i-- > 0; )
+    swap(sat1[i], sat1[i+add_dim]);
+  // Computes the "sat_c", too.
+  sat2.transpose_assign(sat1);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Polyhedron_chdims_templates_hh)
diff --git a/src/Polyhedron_conversion.templates.hh b/src/Polyhedron_conversion.templates.hh
new file mode 100644
index 0000000..0f2451d
--- /dev/null
+++ b/src/Polyhedron_conversion.templates.hh
@@ -0,0 +1,919 @@
+/* Polyhedron class implementation: conversion().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Polyhedron_conversion_templates_hh
+#define PPL_Polyhedron_conversion_templates_hh 1
+
+#include "Bit_Row.defs.hh"
+#include "Bit_Matrix.defs.hh"
+#include "Polyhedron.defs.hh"
+#include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
+#include "Temp.defs.hh"
+#include "math_utilities.defs.hh"
+
+#include <cstddef>
+#include <climits>
+
+namespace Parma_Polyhedra_Library {
+
+/*!
+  \return
+  The number of lines of the polyhedron or the number of equality
+  constraints in the result of conversion.
+
+  \param source
+  The system to use to convert \p dest: it may be modified;
+
+  \param start
+  The index of \p source row from which conversion begin;
+
+  \param dest
+  The result of the conversion;
+
+  \param sat
+  The saturation matrix telling us, for each row in \p source, which
+  are the rows of \p dest that satisfy but do not saturate it;
+
+  \param num_lines_or_equalities
+  The number of rows in the system \p dest that are either lines of
+  the polyhedron (when \p dest is a system of generators) or equality
+  constraints (when \p dest is a system of constraints).
+
+  For simplicity, all the following comments assume we are converting a
+  constraint system \p source to a generator system \p dest;
+  the comments for the symmetric case can be obtained by duality.
+
+  If some of the constraints in \p source are redundant, they will be removed.
+  This is why the \p source is not declared to be a constant parameter.
+
+  If \p start is 0, then \p source is a sorted system; also, \p dest is
+  a generator system corresponding to an empty constraint system.
+  If otherwise \p start is greater than 0, then the two sub-systems of
+  \p source made by the non-pending rows and the pending rows, respectively,
+  are both sorted; also, \p dest is the generator system corresponding to
+  the non-pending constraints of \p source.
+
+  Independently from the value of \p start, \p dest has lines from index 0
+  to index \p num_lines_or_equalities - 1 and rays/points from index
+  \p num_lines_or_equalities to the last of its rows.
+
+  Note that here the rows of \p sat are indexed by rows of \p dest
+  and its columns are indexed by rows of \p source.
+
+  We know that polyhedra can be represented by both a system of
+  constraints or a system of generators (points, rays and lines)
+  (see Section \ref representation).
+  When we have both descriptions for a polyhedron \f$P\f$
+  we have what is called a <EM>double description</EM>
+  (or <EM>DD pair</EM>) for \f$P\f$.
+
+  Here, the <EM>representation system</EM> refers to the system \f$C\f$
+  whose rows represent the constraints that characterize \f$P\f$
+  and the <EM>generating system</EM>, the system \f$G\f$ whose rows
+  represent the generators of \f$P\f$.
+  We say that a pair \f$(C, G)\f$ of (real) systems is
+  a <EM>double description pair</EM> if
+  \f[
+    C\vect{x} \geq \vect{0}
+      \quad\iff\quad
+        \exists \vect{\lambda} \geq \vect{0} \mathrel{.}
+	\vect{x} = G\vect{\lambda}.
+  \f]
+
+  The term "double description" is quite natural in the sense that
+  such a pair contains two different description of the same object.
+  In fact, if we refer to the cone representation of a polyhedron \f$P\f$
+  and we call \f$C\f$ and \f$G\f$ the systems of constraints and
+  rays respectively, we have
+  \f[
+    P = \{\, \vect{x} \in \Rset^n \mid C\vect{x} \geq \vect{0}\, \}
+      = \{\, \vect{x} \in \Rset^n \mid \vect{x} = G\vect{\lambda}
+      \text{ for some } \vect{\lambda} \geq \vect{0}\, \}.
+  \f]
+
+  Because of the theorem of Minkowski (see Section \ref prelims),
+  we can say that, given a \f$m \times n\f$ representation system
+  \f$C\f$ such that
+  \f$\mathop{\mathrm{rank}}(C) = n = \mathit{dimension of the whole space}\f$
+  for a non-empty polyhedron \f$P\f$,
+  it is always possible to find a generating system \f$G\f$ for \f$P\f$
+  such that \f$(C, G)\f$ is a DD pair.
+  Conversely, Weyl's theorem ensures that, for each generating system
+  \f$G\f$, it is possible to find a representation system \f$C\f$
+  such that \f$(C, G)\f$ is a DD pair.
+
+  For efficiency reasons, our representation of polyhedra makes use
+  of a double description.
+  We are thus left with two problems:
+    -# given \f$C\f$ find \f$G\f$ such that \f$(C, G)\f$ is a DD pair;
+    -# given \f$G\f$ find \f$C\f$ such that \f$(C, G)\f$ is a DD pair.
+
+  Using Farkas' Lemma we can prove that these two problems are
+  computationally equivalent (i.e., linear-time reducible to each other).
+  Farkas' Lemma establishes a fundamental property of vectors in
+  \f$\Rset^n\f$ that, in a sense, captures the essence of duality.
+  Consider a matrix \f$A \in \Rset^{m \times n}\f$ and let
+  \f$\{ \vect{a}_1, \ldots, \vect{a}_m \}\f$ be its set of row vectors.
+  Consider also another vector \f$\vect{c} \in \Rset^n\f$ such that,
+  whenever a vector \f$\vect{y} \in \Rset^n\f$ has a non-negative projection
+  on the \f$\vect{a}_i\f$'s, it also has a non-negative projection
+  on \f$\vect{c}\f$.
+  The lemma states that \f$\vect{c}\f$ has this property if and only if
+  it is in the cone generated by the \f$\vect{a}_i\f$'s.
+  Formally, the lemma states the equivalence of the two following
+  assertions:
+    -# \f$
+         \forall \vect{y}
+           \mathrel{:} (A\vect{y} \geq 0 \implies
+	   \langle \vect{y},\vect{c} \rangle \geq 0)
+       \f$;
+    -# \f$
+         \exists \vect{\lambda} \geq \vect{0}
+           \mathrel{.} \vect{c}^\mathrm{T} = \vect{\lambda}^\mathrm{T}A
+       \f$.
+
+  With this result we can prove that \f$(C, G)\f$ is a DD pair
+  if and only if \f$(G^\mathrm{T}, C^\mathrm{T})\f$ is a DD pair.
+
+  Suppose \f$(C, G)\f$ is a DD pair.
+  Thus, for each \f$x\f$ of the appropriate dimension,
+  \f$C\vect{x} \geq \vect{0}\f$ if and only if
+  \f$\exists \lambda \geq 0 \mathrel{.} \vect{x} = G\vect{\lambda}\f$,
+  which is of course equivalent to
+  \f$
+    \exists \vect{\lambda} \geq \vect{0}
+      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
+  \f$.
+
+  First, we assume that \f$\vect{z}\f$ is such that
+  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
+  and we will show that
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
+  Let \f$\vect{x}\f$ be such that \f$C\vect{x} \geq \vect{0}\f$.
+  Since \f$(C, G)\f$ is a DD pair, this is equivalent to
+  \f$
+    \exists \vect{\lambda} \geq \vect{0}
+      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
+  \f$,
+  which, by Farkas' Lemma is equivalent to
+  \f$
+    \forall \vect{y} \mathrel{:} (G^\mathrm{T}\vect{y} \geq \vect{0} \implies
+                                 \langle \vect{y}, \vect{x} \rangle \geq 0)
+  \f$.
+  Taking \f$\vect{y} = \vect{z}\f$ and recalling our assumption that
+  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
+  we can conclude that \f$\langle \vect{z}, \vect{x} \rangle \geq 0\f$,
+  that is equivalent to \f$\langle \vect{x}, \vect{z} \rangle \geq 0\f$.
+  We have thus established that
+  \f$
+    \forall \vect{x} \mathrel{:} (C\vect{x} \geq \vect{0} \implies
+    \langle \vect{x}, \vect{z} \rangle \geq 0)
+  \f$.
+  By Farkas' Lemma, this is equivalent to
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T} C\f$,
+  which is equivalent to what we wanted to prove, that is,
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
+
+  In order to prove the reverse implication, the following observation
+  turns out to be useful:
+  when \f$(C, G)\f$ is a DD pair, \f$CG \geq 0\f$.
+  In fact,
+  let \f$\vect{e}_j\f$ be the vector whose components are all \f$0\f$
+  apart from the \f$j\f$-th one, which is \f$1\f$.
+  Clearly \f$\vect{e}_j \geq \vect{0}\f$ and, taking
+  \f$\vect{\lambda} = \vect{e}_j\f$ and
+  \f$\vect{x} = G\vect{\lambda} = G \vect{e}_j\f$, we have
+  \f$C\vect{x} = C(G \vect{e}_j) = (CG)\vect{e}_j \geq \vect{0}\f$,
+  since \f$(C, G)\f$ is a DD pair.
+  Thus, as \f$(CG)\vect{e}_j\f$ is the \f$j\f$-th column of \f$CG\f$
+  and since the choice of \f$j\f$ was arbitrary, \f$CG \geq \vect{0}\f$.
+
+  We now assume that \f$\vect{z}\f$ is such that
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$
+  and we will prove that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$.
+  By Farkas' Lemma, the assumption
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T}C\f$,
+  is equivalent to
+  \f$\forall \vect{y} \mathrel{:} (C\vect{y} \geq \vect{0}
+  \implies \langle \vect{y}, \vect{z} \rangle \geq 0)\f$.
+  If we take \f$\vect{y} = G\vect{e}_j\f$ then \f$C\vect{y}
+                 = CG\vect{e}_j \geq 0\f$,
+  since \f$CG \geq \vect{0}\f$.
+  So
+  \f$
+    \langle \vect{y}, \vect{z} \rangle
+      = (\vect{e}_j^\mathrm{T}G^\mathrm{T}) \vect{z}
+      = \vect{e}_j^\mathrm{T}(G^\mathrm{T} \vect{z})
+      \geq 0
+  \f$,
+  that is, the \f$j\f$-th component of \f$G^\mathrm{T}\vect{z}\f$
+  is non-negative. The arbitrary choice of \f$j\f$ allows us to conclude
+  that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$, as required.
+
+  In view of this result, the following exposition assumes, for clarity,
+  that the conversion being performed is from constraints to generators.
+  Thus, even if the roles of \p source and \p dest can be interchanged,
+  in the sequel we assume the \p source system will contain the constraints
+  that represent the polyhedron and the \p dest system will contain
+  the generator that generates it.
+
+  There are some observations that are useful to understand this function:
+
+  Observation 1: Let \f$A\f$ be a system of constraints that generate
+  the polyhedron \f$P\f$ and \f$\vect{c}\f$ a new constraint that must
+  be added. Suppose that there is a line \f$\vect{z}\f$ that does not
+  saturate the constraint \f$\vect{c}\f$. If we combine the old lines
+  and rays that do not saturate \f$\vect{c}\f$ (except \f$\vect{z}\f$)
+  with \f$\vect{z}\f$ such that the new ones saturate \f$\vect{c}\f$,
+  the new lines and rays also saturate the constraints  saturated by
+  the old lines and rays.
+
+  In fact, if \f$\vect{y}_1\f$ is the old generator that does not saturate
+  \f$\vect{c}\f$, \f$\vect{y}_2\f$ is the new one such that
+  \f[
+    \vect{y}_2 = \lambda \vect{y}_1 + \mu \vect{z}
+  \f]
+  and \f$\vect{c}_1\f$ is a previous constraint that \f$\vect{y}_1\f$
+  and \f$\vect{z}\f$ saturates, we can see
+  \f[
+    \langle \vect{c}_1, \vect{y}_2 \rangle
+    = \langle \vect{c}_1, (\lambda \vect{y}_1 + \mu \vect{z}) \rangle
+    = \lambda \langle \vect{c}_1, \vect{y}_1 \rangle
+       + \mu \langle \vect{c}_1, \vect{z} \rangle
+       = 0 + \mu \langle \vect{c}_1, \vect{z} \rangle
+       = \mu \langle \vect{c}_1, \vect{z} \rangle
+  \f]
+  and
+  \f[
+    \mu \langle \vect{c}_1, \vect{z} \rangle = 0.
+  \f]
+
+  Proposition 1: Let \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ be distinct
+  rays of \f$P\f$.
+  Then the following statements are equivalent:
+  a) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are adjacent extreme rays
+     (see Section \ref prelims);
+  b) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are extreme rays and the
+     rank of the system composed by the constraints saturated by both
+     \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is equal to
+     \f$d - 2\f$, where \f$d\f$ is the rank of the system of constraints.
+
+  In fact, let \f$F\f$ be the system of generators that saturate the
+  constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$.
+  If b) holds, the set \f$F\f$ is 2-dimensional and \f$\vect{r}_1\f$ and
+  \f$\vect{r}_2\f$ generate this set. So, every generator
+  \f$\vect{x}\f$ of \f$F\f$ can be built as a combination of
+  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$, i.e.
+  \f[
+    \vect{x} = \lambda \vect{r}_1 + \mu \vect{r}_2.
+  \f]
+  This combination is non-negative because there exists at least a
+  constraint \f$c\f$ saturated by \f$\vect{r}_1\f$ and not
+  \f$\vect{r}_2\f$ (or vice versa) (because they are distinct) for which
+  \f[
+    \langle \vect{c}, \vect{x} \rangle \geq 0
+  \f]
+  and
+  \f[
+    \langle \vect{c}, \vect{x} \rangle
+    = \lambda \langle \vect{c}, \vect{r}_1 \rangle
+                           (or = \mu \langle \vect{c}, \vect{r}_2 \rangle).
+  \f]
+  So, there is no other extreme ray in \f$F\f$ and a) holds.
+  Otherwise, if b) does not hold, the rank of the system generated by
+  the constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$
+  is equal to \f$d - k\f$, with \p k \>= 3, the set \f$F\f$ is
+  \p k -dimensional and at least \p k extreme rays are necessary
+  to generate \f$F\f$.
+  So, \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent and
+  a) does not hold.
+
+  Proposition 2: When we build the new system of generators starting from
+  a system \f$A\f$ of constraints of \f$P\f$, if \f$\vect{c}\f$ is the
+  constraint to add to \f$A\f$ and all lines of \f$P\f$ saturate
+  \f$\vect{c}\f$, the new set of rays is the union of those rays that
+  saturate, of those that satisfy and of a set \f$\overline Q\f$ of
+  rays such that each of them
+  -# lies on the hyper-plane represented by the k-th constraint,
+  -# is a positive combination of two adjacent rays \f$\vect{r}_1\f$ and
+     \f$\vect{r}_2\f$ such that the first one satisfies the constraint and
+     the other does not satisfy it.
+  If the adjacency property is not taken in account, the new set of
+  rays is not irredundant, in general.
+
+  In fact, if \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent,
+  the rank of the system composed by the constraints saturated by both
+  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is different from \f$d - 2\f$
+  (see the previous proposition) or neither \f$\vect{r}_1\f$ nor
+  \f$\vect{r}_2\f$ are extreme rays. Since the new ray \f$\vect{r}\f$
+  is a combination of \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$,
+  it saturates the same constraints saturated by both \f$\vect{r}_1\f$ and
+  \f$\vect{r}_2\f$.
+  If the rank is less than \f$d - 2\f$, the rank of
+  the system composed by \f$\vect{c}\f$ (that is saturated by \f$\vect{r}\f$)
+  and by the constraints of \f$A\f$ saturated by \f$\vect{r}\f$  is less
+  than \f$d - 1\f$. It means that \f$r\f$ is redundant (see
+  Section \ref prelims).
+  If neither \f$\vect{r}_1\f$ nor \f$\vect{r}_2\f$ are extreme rays,
+  they belong to a 2-dimensional face containing exactly two extreme rays
+  of \f$P\f$.
+  These two adjacent rays build a ray equal to \f$\vect{r}\f$ and so
+  \f$\vect{r}\f$ is redundant.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+dimension_type
+Polyhedron::conversion(Source_Linear_System& source,
+                       const dimension_type start,
+                       Dest_Linear_System& dest,
+                       Bit_Matrix& sat,
+                       dimension_type num_lines_or_equalities) {
+  typedef typename Dest_Linear_System::row_type dest_row_type;
+  typedef typename Source_Linear_System::row_type source_row_type;
+
+  // Constraints and generators must have the same dimension,
+  // otherwise the scalar products below will bomb.
+  PPL_ASSERT(source.space_dimension() == dest.space_dimension());
+  const dimension_type source_space_dim = source.space_dimension();
+  const dimension_type source_num_rows = source.num_rows();
+  const dimension_type source_num_columns = source_space_dim
+    + (source.is_necessarily_closed() ? 1 : 2);
+
+
+  dimension_type dest_num_rows = dest.num_rows();
+  // The rows removed from `dest' will be placed in this vector, so they
+  // can be recycled if needed.
+  std::vector<dest_row_type> recyclable_dest_rows;
+
+  using std::swap;
+
+  // By construction, the number of columns of `sat' is the same as
+  // the number of rows of `source'; also, the number of rows of `sat'
+  // is the same as the number of rows of `dest'.
+  PPL_ASSERT(source_num_rows == sat.num_columns());
+  PPL_ASSERT(dest_num_rows == sat.num_rows());
+
+  // If `start > 0', then we are converting the pending constraints.
+  PPL_ASSERT(start == 0 || start == source.first_pending_row());
+
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_o);
+
+  bool dest_sorted = dest.is_sorted();
+  const dimension_type dest_first_pending_row = dest.first_pending_row();
+
+  // This will contain the row indexes of the redundant rows of `source'.
+  std::vector<dimension_type> redundant_source_rows;
+
+  // Converting the sub-system of `source' having rows with indexes
+  // from `start' to the last one (i.e., `source_num_rows' - 1).
+  for (dimension_type k = start; k < source_num_rows; ++k) {
+    const source_row_type& source_k = source[k];
+
+    // `scalar_prod[i]' will contain the scalar product of the
+    // constraint `source_k' and the generator `dest_rows[i]'.  This
+    // product is 0 if and only if the generator saturates the
+    // constraint.
+    PPL_DIRTY_TEMP(std::vector<Coefficient>, scalar_prod);
+    if (dest_num_rows > scalar_prod.size()) {
+      scalar_prod.insert(scalar_prod.end(),
+                         dest_num_rows - scalar_prod.size(),
+                         Coefficient_zero());
+    }
+    // `index_non_zero' will indicate the first generator in `dest_rows'
+    // that does not saturate the constraint `source_k'.
+    dimension_type index_non_zero = 0;
+    for ( ; index_non_zero < dest_num_rows; ++index_non_zero) {
+      WEIGHT_BEGIN();
+      Scalar_Products::assign(scalar_prod[index_non_zero],
+			      source_k,
+			      dest.sys.rows[index_non_zero]);
+      WEIGHT_ADD_MUL(17, source_space_dim);
+      if (scalar_prod[index_non_zero] != 0)
+	// The generator does not saturate the constraint.
+	break;
+      // Check if the client has requested abandoning all expensive
+      // computations.  If so, the exception specified by the client
+      // is thrown now.
+      maybe_abandon();
+    }
+    for (dimension_type i = index_non_zero + 1; i < dest_num_rows; ++i) {
+      WEIGHT_BEGIN();
+      Scalar_Products::assign(scalar_prod[i], source_k, dest.sys.rows[i]);
+      WEIGHT_ADD_MUL(25, source_space_dim);
+      // Check if the client has requested abandoning all expensive
+      // computations.  If so, the exception specified by the client
+      // is thrown now.
+      maybe_abandon();
+    }
+
+    // We first treat the case when `index_non_zero' is less than
+    // `num_lines_or_equalities', i.e., when the generator that
+    // does not saturate the constraint `source_k' is a line.
+    // The other case (described later) is when all the lines
+    // in `dest_rows' (i.e., all the rows having indexes less than
+    // `num_lines_or_equalities') do saturate the constraint.
+
+    if (index_non_zero < num_lines_or_equalities) {
+      // Since the generator `dest_rows[index_non_zero]' does not saturate
+      // the constraint `source_k', it can no longer be a line
+      // (see saturation rule in Section \ref prelims).
+      // Therefore, we first transform it to a ray.
+      dest.sys.rows[index_non_zero].set_is_ray_or_point_or_inequality();
+      // Of the two possible choices, we select the ray satisfying
+      // the constraint (namely, the ray whose scalar product
+      // with the constraint gives a positive result).
+      if (scalar_prod[index_non_zero] < 0) {
+	// The ray `dest_rows[index_non_zero]' lies on the wrong half-space:
+	// we change it to have the opposite direction.
+	neg_assign(scalar_prod[index_non_zero]);
+        neg_assign(dest.sys.rows[index_non_zero].expr);
+        // The modified row may still not be OK(), so don't assert OK here.
+        // They are all checked at the end of this function.
+      }
+      // Having changed a line to a ray, we set `dest_rows' to be a
+      // non-sorted system, we decrement the number of lines of `dest_rows'
+      // and, if necessary, we move the new ray below all the remaining lines.
+      dest_sorted = false;
+      --num_lines_or_equalities;
+      if (index_non_zero != num_lines_or_equalities) {
+        swap(dest.sys.rows[index_non_zero],
+             dest.sys.rows[num_lines_or_equalities]);
+	swap(scalar_prod[index_non_zero],
+             scalar_prod[num_lines_or_equalities]);
+      }
+      const dest_row_type& dest_nle = dest.sys.rows[num_lines_or_equalities];
+
+      // Computing the new lineality space.
+      // Since each line must lie on the hyper-plane corresponding to
+      // the constraint `source_k', the scalar product between
+      // the line and the constraint must be 0.
+      // This property already holds for the lines having indexes
+      // between 0 and `index_non_zero' - 1.
+      // We have to consider the remaining lines, having indexes
+      // between `index_non_zero' and `num_lines_or_equalities' - 1.
+      // Each line that does not saturate the constraint has to be
+      // linearly combined with generator `dest_nle' so that the
+      // resulting new line saturates the constraint.
+      // Note that, by Observation 1 above, the resulting new line
+      // will still saturate all the constraints that were saturated by
+      // the old line.
+
+      Coefficient& scalar_prod_nle = scalar_prod[num_lines_or_equalities];
+      PPL_ASSERT(scalar_prod_nle != 0);
+      for (dimension_type
+	     i = index_non_zero; i < num_lines_or_equalities; ++i) {
+	if (scalar_prod[i] != 0) {
+	  // The following fragment optimizes the computation of
+	  //
+          // <CODE>
+	  //   Coefficient scale = scalar_prod[i];
+	  //   scale.gcd_assign(scalar_prod_nle);
+	  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+	  //   Coefficient normalized_sp_n = scalar_prod_nle / scale;
+	  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+	  //     dest[i][c] *= normalized_sp_n;
+	  //     dest[i][c] -= normalized_sp_i * dest_nle[c];
+	  //   }
+          // </CODE>
+	  normalize2(scalar_prod[i],
+		     scalar_prod_nle,
+		     normalized_sp_i,
+		     normalized_sp_o);
+          dest_row_type& dest_i = dest.sys.rows[i];
+          neg_assign(normalized_sp_i);
+          dest_i.expr.linear_combine(dest_nle.expr,
+                                     normalized_sp_o, normalized_sp_i);
+	  dest_i.strong_normalize();
+          // The modified row may still not be OK(), so don't assert OK here.
+          // They are all checked at the end of this function.
+	  scalar_prod[i] = 0;
+	  // dest_sorted has already been set to false.
+	}
+      }
+
+      // Computing the new pointed cone.
+      // Similarly to what we have done during the computation of
+      // the lineality space, we consider all the remaining rays
+      // (having indexes strictly greater than `num_lines_or_equalities')
+      // that do not saturate the constraint `source_k'. These rays
+      // are positively combined with the ray `dest_nle' so that the
+      // resulting new rays saturate the constraint.
+      for (dimension_type
+	     i = num_lines_or_equalities + 1; i < dest_num_rows; ++i) {
+	if (scalar_prod[i] != 0) {
+	  // The following fragment optimizes the computation of
+	  //
+          // <CODE>
+	  //   Coefficient scale = scalar_prod[i];
+	  //   scale.gcd_assign(scalar_prod_nle);
+	  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+	  //   Coefficient normalized_sp_n = scalar_prod_nle / scale;
+	  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+	  //     dest[i][c] *= normalized_sp_n;
+	  //     dest[i][c] -= normalized_sp_i * dest_nle[c];
+	  //   }
+          // </CODE>
+	  normalize2(scalar_prod[i],
+		     scalar_prod_nle,
+		     normalized_sp_i,
+		     normalized_sp_o);
+          dest_row_type& dest_i = dest.sys.rows[i];
+          WEIGHT_BEGIN();
+          neg_assign(normalized_sp_i);
+          dest_i.expr.linear_combine(dest_nle.expr,
+                                     normalized_sp_o, normalized_sp_i);
+	  dest_i.strong_normalize();
+          // The modified row may still not be OK(), so don't assert OK here.
+          // They are all checked at the end of this function.
+	  scalar_prod[i] = 0;
+	  // `dest_sorted' has already been set to false.
+          WEIGHT_ADD_MUL(41, source_space_dim);
+	}
+        // Check if the client has requested abandoning all expensive
+        // computations.  If so, the exception specified by the client
+        // is thrown now.
+	maybe_abandon();
+      }
+      // Since the `scalar_prod_nle' is positive (by construction), it
+      // does not saturate the constraint `source_k'.  Therefore, if
+      // the constraint is an inequality, we set to 1 the
+      // corresponding element of `sat' ...
+      Bit_Row& sat_nle = sat[num_lines_or_equalities];
+      if (source_k.is_ray_or_point_or_inequality())
+	sat_nle.set(k - redundant_source_rows.size());
+      // ... otherwise, the constraint is an equality which is
+      // violated by the generator `dest_nle': the generator has to be
+      // removed from `dest_rows'.
+      else {
+	--dest_num_rows;
+        swap(dest.sys.rows[num_lines_or_equalities],
+             dest.sys.rows[dest_num_rows]);
+        recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+        swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+        dest.sys.rows.pop_back();
+        PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+
+	swap(scalar_prod_nle, scalar_prod[dest_num_rows]);
+	swap(sat_nle, sat[dest_num_rows]);
+	// dest_sorted has already been set to false.
+      }
+    }
+    // Here we have `index_non_zero' >= `num_lines_or_equalities',
+    // so that all the lines in `dest_rows' saturate the constraint `source_k'.
+    else {
+      // First, we reorder the generators in `dest_rows' as follows:
+      // -# all the lines should have indexes between 0 and
+      //    `num_lines_or_equalities' - 1 (this already holds);
+      // -# all the rays that saturate the constraint should have
+      //    indexes between `num_lines_or_equalities' and
+      //    `lines_or_equal_bound' - 1; these rays form the set Q=.
+      // -# all the rays that have a positive scalar product with the
+      //    constraint should have indexes between `lines_or_equal_bound'
+      //    and `sup_bound' - 1; these rays form the set Q+.
+      // -# all the rays that have a negative scalar product with the
+      //    constraint should have indexes between `sup_bound' and
+      //    `dest_num_rows' - 1; these rays form the set Q-.
+      dimension_type lines_or_equal_bound = num_lines_or_equalities;
+      dimension_type inf_bound = dest_num_rows;
+      // While we find saturating generators, we simply increment
+      // `lines_or_equal_bound'.
+      while (inf_bound > lines_or_equal_bound
+	     && scalar_prod[lines_or_equal_bound] == 0)
+	++lines_or_equal_bound;
+      dimension_type sup_bound = lines_or_equal_bound;
+      while (inf_bound > sup_bound) {
+	const int sp_sign = sgn(scalar_prod[sup_bound]);
+	if (sp_sign == 0) {
+	  // This generator has to be moved in Q=.
+	  swap(dest.sys.rows[sup_bound], dest.sys.rows[lines_or_equal_bound]);
+	  swap(scalar_prod[sup_bound], scalar_prod[lines_or_equal_bound]);
+	  swap(sat[sup_bound], sat[lines_or_equal_bound]);
+	  ++lines_or_equal_bound;
+	  ++sup_bound;
+          dest_sorted = false;
+	}
+	else if (sp_sign < 0) {
+	  // This generator has to be moved in Q-.
+	  --inf_bound;
+          swap(dest.sys.rows[sup_bound], dest.sys.rows[inf_bound]);
+	  swap(sat[sup_bound], sat[inf_bound]);
+	  swap(scalar_prod[sup_bound], scalar_prod[inf_bound]);
+          dest_sorted = false;
+	}
+	else
+	  // sp_sign > 0: this generator has to be moved in Q+.
+	  ++sup_bound;
+      }
+
+      if (sup_bound == dest_num_rows) {
+	// Here the set Q- is empty.
+	// If the constraint is an inequality, then all the generators
+	// in Q= and Q+ satisfy the constraint. The constraint is redundant
+	// and it can be safely removed from the constraint system.
+	// This is why the `source' parameter is not declared `const'.
+	if (source_k.is_ray_or_point_or_inequality()) {
+          redundant_source_rows.push_back(k);
+	} else {
+	  // The constraint is an equality, so that all the generators
+	  // in Q+ violate it. Since the set Q- is empty, we can simply
+	  // remove from `dest_rows' all the generators of Q+.
+	  PPL_ASSERT(dest_num_rows >= lines_or_equal_bound);
+          while (dest_num_rows != lines_or_equal_bound) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+        }
+      }
+      else {
+	// The set Q- is not empty, i.e., at least one generator
+	// violates the constraint `source_k'.
+	// We have to further distinguish two cases:
+	if (sup_bound == num_lines_or_equalities) {
+	  // The set Q+ is empty, so that all generators that satisfy
+	  // the constraint also saturate it.
+	  // We can simply remove from `dest_rows' all the generators in Q-.
+          PPL_ASSERT(dest_num_rows >= sup_bound);
+          while (dest_num_rows != sup_bound) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+        } else {
+	  // The sets Q+ and Q- are both non-empty.
+	  // The generators of the new pointed cone are all those satisfying
+	  // the constraint `source_k' plus a set of new rays enjoying
+	  // the following properties:
+	  // -# they lie on the hyper-plane represented by the constraint
+	  // -# they are obtained as a positive combination of two
+	  //    adjacent rays, the first taken from Q+ and the second
+	  //    taken from Q-.
+
+	  // The adjacency property is necessary to have an irredundant
+	  // set of new rays (see proposition 2).
+	  const dimension_type bound = dest_num_rows;
+
+	  // In the following loop,
+	  // `i' runs through the generators in the set Q+ and
+	  // `j' runs through the generators in the set Q-.
+	  for (dimension_type i = lines_or_equal_bound; i < sup_bound; ++i) {
+	    for(dimension_type j = sup_bound; j < bound; ++j) {
+	      // Checking if generators `dest_rows[i]' and `dest_rows[j]' are
+              // adjacent.
+	      // If there exist another generator that saturates
+	      // all the constraints saturated by both `dest_rows[i]' and
+	      // `dest_rows[j]', then they are NOT adjacent.
+	      PPL_ASSERT(sat[i].last() == C_Integer<unsigned long>::max
+                         || sat[i].last() < k);
+	      PPL_ASSERT(sat[j].last() == C_Integer<unsigned long>::max
+                         || sat[j].last() < k);
+
+	      // Being the union of `sat[i]' and `sat[j]',
+	      // `new_satrow' corresponds to a ray that saturates all the
+	      // constraints saturated by both `dest_rows[i]' and
+              // `dest_rows[j]'.
+	      Bit_Row new_satrow(sat[i], sat[j]);
+
+	      // Compute the number of common saturators.
+	      // NOTE: this number has to be less than `k' because
+	      // we are treating the `k'-th constraint.
+	      const dimension_type num_common_satur
+                = k - redundant_source_rows.size() - new_satrow.count_ones();
+
+	      // Even before actually creating the new ray as a
+	      // positive combination of `dest_rows[i]' and `dest_rows[j]',
+	      // we exploit saturation information to check if
+	      // it can be an extremal ray. To this end, we refer
+	      // to the definition of a minimal proper face
+	      // (see comments in Polyhedron.defs.hh):
+	      // an extremal ray saturates at least `n' - `t' - 1
+	      // constraints, where `n' is the dimension of the space
+	      // and `t' is the dimension of the lineality space.
+	      // Since `n == source_num_columns - 1' and
+	      // `t == num_lines_or_equalities', we obtain that
+	      // an extremal ray saturates at least
+	      // `source_num_columns - num_lines_or_equalities - 2'
+	      // constraints.
+	      if (num_common_satur
+		  >= source_num_columns - num_lines_or_equalities - 2) {
+		// The minimal proper face rule is satisfied.
+		// Now we actually check for redundancy by computing
+		// adjacency information.
+		bool redundant = false;
+		WEIGHT_BEGIN();
+		for (dimension_type
+		       l = num_lines_or_equalities; l < bound; ++l)
+		  if (l != i && l != j
+		      && subset_or_equal(sat[l], new_satrow)) {
+		    // Found another generator saturating all the
+		    // constraints saturated by both `dest_rows[i]' and
+                    // `dest_rows[j]'.
+		    redundant = true;
+		    break;
+		  }
+                PPL_ASSERT(bound >= num_lines_or_equalities);
+                WEIGHT_ADD_MUL(15, bound - num_lines_or_equalities);
+		if (!redundant) {
+		  // Adding the new ray to `dest_rows' and the corresponding
+		  // saturation row to `sat'.
+		  dest_row_type new_row;
+		  if (recyclable_dest_rows.empty()) {
+		    sat.add_recycled_row(new_satrow);
+		  }
+		  else {
+                    swap(new_row, recyclable_dest_rows.back());
+                    recyclable_dest_rows.pop_back();
+                    new_row.set_space_dimension_no_ok(source_space_dim);
+                    swap(sat[dest_num_rows], new_satrow);
+                  }
+
+		  // The following fragment optimizes the computation of
+		  //
+                  // <CODE>
+		  //   Coefficient scale = scalar_prod[i];
+		  //   scale.gcd_assign(scalar_prod[j]);
+		  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+		  //   Coefficient normalized_sp_j = scalar_prod[j] / scale;
+		  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+		  //     new_row[c] = normalized_sp_i * dest[j][c];
+		  //     new_row[c] -= normalized_sp_j * dest[i][c];
+		  //   }
+                  // </CODE>
+		  normalize2(scalar_prod[i],
+			     scalar_prod[j],
+			     normalized_sp_i,
+			     normalized_sp_o);
+		  WEIGHT_BEGIN();
+
+                  neg_assign(normalized_sp_o);
+                  new_row = dest.sys.rows[j];
+                  // TODO: Check if the following assertions hold.
+                  PPL_ASSERT(normalized_sp_i != 0);
+                  PPL_ASSERT(normalized_sp_o != 0);
+                  new_row.expr.linear_combine(dest.sys.rows[i].expr,
+                                              normalized_sp_i, normalized_sp_o);
+
+                  WEIGHT_ADD_MUL(86, source_space_dim);
+		  new_row.strong_normalize();
+                  // Don't assert new_row.OK() here, because it may fail if
+                  // the parameter `dest' contained a row that wasn't ok.
+		  // Since we added a new generator to `dest_rows',
+		  // we also add a new element to `scalar_prod';
+		  // by construction, the new ray lies on the hyper-plane
+		  // represented by the constraint `source_k'.
+		  // Thus, the added scalar product is 0.
+		  PPL_ASSERT(scalar_prod.size() >= dest_num_rows);
+		  if (scalar_prod.size() <= dest_num_rows)
+		    scalar_prod.push_back(Coefficient_zero());
+		  else
+		    scalar_prod[dest_num_rows] = Coefficient_zero();
+
+                  dest.sys.rows.resize(dest.sys.rows.size() + 1);
+                  swap(dest.sys.rows.back(), new_row);
+		  // Increment the number of generators.
+		  ++dest_num_rows;
+		} // if (!redundant)
+	      }
+	    }
+            // Check if the client has requested abandoning all expensive
+            // computations.  If so, the exception specified by the client
+            // is thrown now.
+	    maybe_abandon();
+	  }
+	  // Now we substitute the rays in Q- (i.e., the rays violating
+	  // the constraint) with the newly added rays.
+	  dimension_type j;
+	  if (source_k.is_ray_or_point_or_inequality()) {
+	    // The constraint is an inequality:
+	    // the violating generators are those in Q-.
+	    j = sup_bound;
+	    // For all the generators in Q+, set to 1 the corresponding
+	    // entry for the constraint `source_k' in the saturation matrix.
+
+            // After the removal of redundant rows in `source', the k-th
+            // row will have index `new_k'.
+            const dimension_type new_k = k - redundant_source_rows.size();
+            for (dimension_type l = lines_or_equal_bound; l < sup_bound; ++l)
+              sat[l].set(new_k);
+	  }
+	  else
+	    // The constraint is an equality:
+	    // the violating generators are those in the union of Q+ and Q-.
+	    j = lines_or_equal_bound;
+
+	  // Swapping the newly added rays
+	  // (index `i' running through `dest_num_rows - 1' down-to `bound')
+	  // with the generators violating the constraint
+	  // (index `j' running through `j' up-to `bound - 1').
+	  dimension_type i = dest_num_rows;
+	  while (j < bound && i > bound) {
+	    --i;
+            swap(dest.sys.rows[i], dest.sys.rows[j]);
+	    swap(scalar_prod[i], scalar_prod[j]);
+	    swap(sat[i], sat[j]);
+	    ++j;
+	    dest_sorted = false;
+	  }
+	  // Setting the number of generators in `dest':
+	  // - if the number of generators violating the constraint
+	  //   is less than or equal to the number of the newly added
+	  //   generators, we assign `i' to `dest_num_rows' because
+	  //   all generators above this index are significant;
+	  // - otherwise, we assign `j' to `dest_num_rows' because
+	  //   all generators below index `j-1' violates the constraint.
+          dimension_type new_num_rows = (j == bound) ? i : j;
+          PPL_ASSERT(dest_num_rows >= new_num_rows);
+          while (dest_num_rows != new_num_rows) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+	}
+      }
+    }
+  }
+
+  // We may have identified some redundant constraints in `source',
+  // which have been swapped at the end of the system.
+  if (redundant_source_rows.size() > 0) {
+    source.remove_rows(redundant_source_rows);
+    sat.remove_trailing_columns(redundant_source_rows.size());
+  }
+
+  // If `start == 0', then `source' was sorted and remained so.
+  // If otherwise `start > 0', then the two sub-system made by the
+  // non-pending rows and the pending rows, respectively, were both sorted.
+  // Thus, the overall system is sorted if and only if either
+  // `start == source_num_rows' (i.e., the second sub-system is empty)
+  // or the row ordering holds for the two rows at the boundary between
+  // the two sub-systems.
+  if (start > 0 && start < source.num_rows())
+    source.set_sorted(compare(source[start - 1], source[start]) <= 0);
+  // There are no longer pending constraints in `source'.
+  source.unset_pending_rows();
+
+  // We may have identified some redundant rays in `dest_rows',
+  // which have been swapped into recyclable_dest_rows.
+  if (!recyclable_dest_rows.empty()) {
+    const dimension_type num_removed_rows = recyclable_dest_rows.size();
+    sat.remove_trailing_rows(num_removed_rows);
+  }
+  if (dest_sorted)
+    // If the non-pending generators in `dest' are still declared to be
+    // sorted, then we have to also check for the sortedness of the
+    // pending generators.
+    for (dimension_type i = dest_first_pending_row; i < dest_num_rows; ++i)
+      if (compare(dest.sys.rows[i - 1], dest.sys.rows[i]) > 0) {
+	dest_sorted = false;
+	break;
+      }
+
+#ifndef NDEBUG
+  // The previous code can modify the rows' fields, exploiting the friendness.
+  // Check that all rows are OK now.
+  for (dimension_type i = dest.num_rows(); i-- > 0; )
+    PPL_ASSERT(dest.sys.rows[i].OK());
+#endif
+
+  dest.sys.index_first_pending = dest.num_rows();
+  dest.set_sorted(dest_sorted);
+  PPL_ASSERT(dest.sys.OK());
+
+  return num_lines_or_equalities;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Polyhedron_conversion_templates_hh)
diff --git a/src/Polyhedron_minimize.templates.hh b/src/Polyhedron_minimize.templates.hh
new file mode 100644
index 0000000..0516bee
--- /dev/null
+++ b/src/Polyhedron_minimize.templates.hh
@@ -0,0 +1,435 @@
+/* Polyhedron class implementation: minimize() and add_and_minimize().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Polyhedron_minimize_templates_hh
+#define PPL_Polyhedron_minimize_templates_hh 1
+
+#include "Bit_Matrix.defs.hh"
+#include "Polyhedron.defs.hh"
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+/*!
+  \return
+  <CODE>true</CODE> if the polyhedron is empty, <CODE>false</CODE>
+  otherwise.
+
+  \param con_to_gen
+  <CODE>true</CODE> if \p source represents the constraints,
+  <CODE>false</CODE> otherwise;
+
+  \param source
+  The given system, which is not empty;
+
+  \param dest
+  The system to build and minimize;
+
+  \param sat
+  The saturation matrix.
+
+  \p dest is not <CODE>const</CODE> because it will be built (and then
+  modified) during minimize(). Also, \p sat and \p source are
+  not <CODE>const</CODE> because the former will be built during
+  \p dest creation and the latter will maybe be sorted and modified by
+  <CODE>conversion()</CODE> and <CODE>simplify()</CODE>.
+
+  \p sat has the generators on its columns and the constraints on its rows
+  if \p con_to_gen is <CODE>true</CODE>, otherwise it has the generators on
+  its rows and the constraints on its columns.
+
+  Given \p source, this function builds (by means of
+  <CODE>conversion()</CODE>) \p dest and then simplifies (invoking
+  <CODE>simplify()</CODE>) \p source, erasing redundant rows.
+  For the sequel we assume that \p source is the system of constraints
+  and \p dest is the system of generators.
+  This will simplify the description of the function; the dual case is
+  similar.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+bool
+Polyhedron::minimize(const bool con_to_gen,
+                     Source_Linear_System& source,
+                     Dest_Linear_System& dest,
+                     Bit_Matrix& sat) {
+
+  typedef typename Dest_Linear_System::row_type dest_row_type;
+
+  // Topologies have to agree.
+  PPL_ASSERT(source.topology() == dest.topology());
+  // `source' cannot be empty: even if it is an empty constraint system,
+  // representing the universe polyhedron, homogenization has added
+  // the positive constraint. It also cannot be an empty generator system,
+  // since this function is always called starting from a non-empty
+  // polyhedron.
+  PPL_ASSERT(!source.has_no_rows());
+
+  // Sort the source system, if necessary.
+  if (!source.is_sorted())
+    source.sort_rows();
+
+  // Initialization of the system of generators `dest'.
+  // The algorithm works incrementally and we haven't seen any
+  // constraint yet: as a consequence, `dest' should describe
+  // the universe polyhedron of the appropriate dimension.
+  // To this end, we initialize it to the identity matrix of dimension
+  // `source.num_columns()': the rows represent the lines corresponding
+  // to the canonical basis of the vector space.
+  dimension_type dest_num_rows
+    = source.topology() == NECESSARILY_CLOSED ? source.space_dimension() + 1
+                                              : source.space_dimension() + 2;
+
+  dest.clear();
+  dest.set_space_dimension(source.space_dimension());
+
+  // Initialize `dest' to the identity matrix.
+  for (dimension_type i = 0; i < dest_num_rows; ++i) {
+    Linear_Expression expr;
+    expr.set_space_dimension(dest_num_rows - 1);
+    if (i == 0)
+      expr += 1;
+    else
+      expr += Variable(i - 1);
+    dest_row_type dest_i(expr, dest_row_type::LINE_OR_EQUALITY, NECESSARILY_CLOSED);
+    if (dest.topology() == NOT_NECESSARILY_CLOSED)
+      dest_i.mark_as_not_necessarily_closed();
+    dest.sys.insert_no_ok(dest_i, Recycle_Input());
+  }
+  // The identity matrix `dest' is not sorted (see the sorting rules
+  // in Constrant.cc and Generator.cc).
+  dest.set_sorted(false);
+
+  // NOTE: the system `dest', as it is now, is not a _legal_ system of
+  //       generators, because in the first row we have a line with a
+  //       non-zero divisor (which should only happen for
+  //       points). However, this is NOT a problem, because `source'
+  //       necessarily contains the positivity constraint (or a
+  //       combination of it with another constraint) which will
+  //       restore things as they should be.
+
+
+  // Building a saturation matrix and initializing it by setting
+  // all of its elements to zero. This matrix will be modified together
+  // with `dest' during the conversion.
+  // NOTE: since we haven't seen any constraint yet, the relevant
+  //       portion of `tmp_sat' is the sub-matrix consisting of
+  //       the first 0 columns: thus the relevant portion correctly
+  //       characterizes the initial saturation information.
+  Bit_Matrix tmp_sat(dest_num_rows, source.num_rows());
+
+  // By invoking the function conversion(), we populate `dest' with
+  // the generators characterizing the polyhedron described by all
+  // the constraints in `source'.
+  // The `start' parameter is zero (we haven't seen any constraint yet)
+  // and the 5th parameter (representing the number of lines in `dest'),
+  // by construction, is equal to `dest_num_rows'.
+  const dimension_type num_lines_or_equalities
+    = conversion(source, 0, dest, tmp_sat, dest_num_rows);
+  // conversion() may have modified the number of rows in `dest'.
+  dest_num_rows = dest.num_rows();
+
+#ifndef NDEBUG
+  for (dimension_type i = dest.num_rows(); i-- > 0; )
+    PPL_ASSERT(dest[i].OK());
+#endif
+
+  // Checking if the generators in `dest' represent an empty polyhedron:
+  // the polyhedron is empty if there are no points
+  // (because rays, lines and closure points need a supporting point).
+  // Points can be detected by looking at:
+  // - the divisor, for necessarily closed polyhedra;
+  // - the epsilon coordinate, for NNC polyhedra.
+  dimension_type first_point;
+  if (dest.is_necessarily_closed()) {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.inhomogeneous_term() > 0)
+        break;
+  } else {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0)
+        break;
+  }
+
+  if (first_point == dest_num_rows)
+    if (con_to_gen)
+      // No point has been found: the polyhedron is empty.
+      return true;
+    else {
+      // Here `con_to_gen' is false: `dest' is a system of constraints.
+      // In this case the condition `first_point == dest_num_rows'
+      // actually means that all the constraints in `dest' have their
+      // inhomogeneous term equal to 0.
+      // This is an ILLEGAL situation, because it implies that
+      // the constraint system `dest' lacks the positivity constraint
+      // and no linear combination of the constraints in `dest'
+      // can reintroduce the positivity constraint.
+      PPL_UNREACHABLE;
+      return false;
+    }
+  else {
+    // A point has been found: the polyhedron is not empty.
+    // Now invoking simplify() to remove all the redundant constraints
+    // from the system `source'.
+    // Since the saturation matrix `tmp_sat' returned by conversion()
+    // has rows indexed by generators (the rows of `dest') and columns
+    // indexed by constraints (the rows of `source'), we have to
+    // transpose it to obtain the saturation matrix needed by simplify().
+    sat.transpose_assign(tmp_sat);
+    simplify(source, sat);
+    return false;
+  }
+}
+
+
+/*!
+  \return
+  <CODE>true</CODE> if the obtained polyhedron is empty,
+  <CODE>false</CODE> otherwise.
+
+  \param con_to_gen
+  <CODE>true</CODE> if \p source1 and \p source2 are system of
+  constraints, <CODE>false</CODE> otherwise;
+
+  \param source1
+  The first element of the given DD pair;
+
+  \param dest
+  The second element of the given DD pair;
+
+  \param sat
+  The saturation matrix that bind \p source1 to \p dest;
+
+  \param source2
+  The new system of generators or constraints.
+
+  It is assumed that \p source1 and \p source2 are sorted and have
+  no pending rows. It is also assumed that \p dest has no pending rows.
+  On entry, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of \p source1.
+  On exit, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of the system obtained
+  by merging \p source1 and \p source2.
+
+  Let us suppose we want to add some constraints to a given system of
+  constraints \p source1. This method, given a minimized double description
+  pair (\p source1, \p dest) and a system of new constraints \p source2,
+  modifies \p source1 by adding to it the constraints of \p source2 that
+  are not in \p source1. Then, by invoking
+  <CODE>add_and_minimize(bool, Linear_System_Class&, Linear_System_Class&, Bit_Matrix&)</CODE>,
+  processes the added constraints obtaining a new DD pair.
+
+  This method treats also the dual case, i.e., adding new generators to
+  a previous system of generators. In this case \p source1 contains the
+  old generators, \p source2 the new ones and \p dest is the system
+  of constraints in the given minimized DD pair.
+
+  Since \p source2 contains the constraints (or the generators) that
+  will be added to \p source1, it is constant: it will not be modified.
+*/
+template <typename Source_Linear_System1, typename Source_Linear_System2,
+          typename Dest_Linear_System>
+bool
+Polyhedron::add_and_minimize(const bool con_to_gen,
+                             Source_Linear_System1& source1,
+                             Dest_Linear_System& dest,
+                             Bit_Matrix& sat,
+                             const Source_Linear_System2& source2) {
+  // `source1' and `source2' cannot be empty.
+  PPL_ASSERT(!source1.has_no_rows() && !source2.has_no_rows());
+  // `source1' and `source2' must have the same number of columns
+  // to be merged.
+  PPL_ASSERT(source1.num_columns() == source2.num_columns());
+  // `source1' and `source2' are fully sorted.
+  PPL_ASSERT(source1.is_sorted() && source1.num_pending_rows() == 0);
+  PPL_ASSERT(source2.is_sorted() && source2.num_pending_rows() == 0);
+  PPL_ASSERT(dest.num_pending_rows() == 0);
+
+  const dimension_type old_source1_num_rows = source1.num_rows();
+  // `k1' and `k2' run through the rows of `source1' and `source2', resp.
+  dimension_type k1 = 0;
+  dimension_type k2 = 0;
+  dimension_type source2_num_rows = source2.num_rows();
+  while (k1 < old_source1_num_rows && k2 < source2_num_rows) {
+    // Add to `source1' the constraints from `source2', as pending rows.
+    // We exploit the property that initially both `source1' and `source2'
+    // are sorted and index `k1' only scans the non-pending rows of `source1',
+    // so that it is not influenced by the pending rows appended to it.
+    // This way no duplicate (i.e., trivially redundant) constraint
+    // is introduced in `source1'.
+    const int cmp = compare(source1[k1], source2[k2]);
+    if (cmp == 0) {
+      // We found the same row: there is no need to add `source2[k2]'.
+      ++k2;
+      // By sortedness, since `k1 < old_source1_num_rows',
+      // we can increment index `k1' too.
+      ++k1;
+    }
+    else if (cmp < 0)
+      // By sortedness, we can increment `k1'.
+      ++k1;
+    else {
+      // Here `cmp > 0'.
+      // By sortedness, `source2[k2]' cannot be in `source1'.
+      // We add it as a pending row of `source1' (sortedness unaffected).
+      source1.add_pending_row(source2[k2]);
+      // We can increment `k2'.
+      ++k2;
+    }
+  }
+  // Have we scanned all the rows in `source2'?
+  if (k2 < source2_num_rows)
+    // By sortedness, all the rows in `source2' having indexes
+    // greater than or equal to `k2' were not in `source1'.
+    // We add them as pending rows of 'source1' (sortedness not affected).
+    for ( ; k2 < source2_num_rows; ++k2)
+      source1.add_pending_row(source2[k2]);
+
+  if (source1.num_pending_rows() == 0)
+    // No row was appended to `source1', because all the constraints
+    // in `source2' were already in `source1'.
+    // There is nothing left to do ...
+    return false;
+
+  return add_and_minimize(con_to_gen, source1, dest, sat);
+}
+
+/*!
+  \return
+  <CODE>true</CODE> if the obtained polyhedron is empty,
+  <CODE>false</CODE> otherwise.
+
+  \param con_to_gen
+  <CODE>true</CODE> if \p source is a system of constraints,
+  <CODE>false</CODE> otherwise;
+
+  \param source
+  The first element of the given DD pair. It also contains the pending
+  rows to be processed;
+
+  \param dest
+  The second element of the given DD pair. It cannot have pending rows;
+
+  \param sat
+  The saturation matrix that bind the upper part of \p source to \p dest.
+
+  On entry, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the non-pending rows of \p source.
+  On exit, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of \p source.
+
+  Let us suppose that \p source is a system of constraints.
+  This method assumes that the non-pending part of \p source and
+  system \p dest form a double description pair in minimal form and
+  will build a new DD pair in minimal form by processing the pending
+  constraints in \p source. To this end, it will call
+  <CODE>conversion()</CODE>) and <CODE>simplify</CODE>.
+
+  This method treats also the dual case, i.e., processing pending
+  generators. In this case \p source contains generators and \p dest
+  is the system of constraints corresponding to the non-pending part
+  of \p source.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+bool
+Polyhedron::add_and_minimize(const bool con_to_gen,
+                             Source_Linear_System& source,
+                             Dest_Linear_System& dest,
+                             Bit_Matrix& sat) {
+  PPL_ASSERT(source.num_pending_rows() > 0);
+  PPL_ASSERT(source.space_dimension() == dest.space_dimension());
+  PPL_ASSERT(source.is_sorted());
+
+  // First, pad the saturation matrix with new columns (of zeroes)
+  // to accommodate for the pending rows of `source'.
+  sat.resize(dest.num_rows(), source.num_rows());
+
+  // Incrementally compute the new system of generators.
+  // Parameter `start' is set to the index of the first pending constraint.
+  const dimension_type num_lines_or_equalities
+    = conversion(source, source.first_pending_row(),
+		 dest, sat,
+		 dest.num_lines_or_equalities());
+
+  // conversion() may have modified the number of rows in `dest'.
+  const dimension_type dest_num_rows = dest.num_rows();
+
+  // Checking if the generators in `dest' represent an empty polyhedron:
+  // the polyhedron is empty if there are no points
+  // (because rays, lines and closure points need a supporting point).
+  // Points can be detected by looking at:
+  // - the divisor, for necessarily closed polyhedra;
+  // - the epsilon coordinate, for NNC polyhedra.
+  dimension_type first_point;
+  if (dest.is_necessarily_closed()) {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.inhomogeneous_term() > 0)
+        break;
+  } else {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0)
+        break;
+  }
+
+  if (first_point == dest_num_rows)
+    if (con_to_gen)
+      // No point has been found: the polyhedron is empty.
+      return true;
+    else {
+      // Here `con_to_gen' is false: `dest' is a system of constraints.
+      // In this case the condition `first_point == dest_num_rows'
+      // actually means that all the constraints in `dest' have their
+      // inhomogeneous term equal to 0.
+      // This is an ILLEGAL situation, because it implies that
+      // the constraint system `dest' lacks the positivity constraint
+      // and no linear combination of the constraints in `dest'
+      // can reintroduce the positivity constraint.
+      PPL_UNREACHABLE;
+      return false;
+    }
+  else {
+    // A point has been found: the polyhedron is not empty.
+    // Now invoking `simplify()' to remove all the redundant constraints
+    // from the system `source'.
+    // Since the saturation matrix `sat' returned by `conversion()'
+    // has rows indexed by generators (the rows of `dest') and columns
+    // indexed by constraints (the rows of `source'), we have to
+    // transpose it to obtain the saturation matrix needed by `simplify()'.
+    sat.transpose();
+    simplify(source, sat);
+    // Transposing back.
+    sat.transpose();
+    return false;
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Polyhedron_minimize_templates_hh)
diff --git a/src/Polyhedron_nonpublic.cc b/src/Polyhedron_nonpublic.cc
index b1f0bba..4c40169 100644
--- a/src/Polyhedron_nonpublic.cc
+++ b/src/Polyhedron_nonpublic.cc
@@ -1,7 +1,7 @@
 /* Polyhedron class implementation
    (non-inline private or protected functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +20,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Polyhedron.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
+#include "Linear_Form.defs.hh"
+#include "C_Integer.hh"
 #include "assert.hh"
 #include <string>
 #include <iostream>
@@ -50,8 +52,8 @@ namespace PPL = Parma_Polyhedra_Library;
 PPL::Polyhedron::Polyhedron(const Topology topol,
 			    const dimension_type num_dimensions,
 			    const Degenerate_Element kind)
-  : con_sys(topol),
-    gen_sys(topol),
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
@@ -69,8 +71,8 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
 }
 
 PPL::Polyhedron::Polyhedron(const Polyhedron& y, Complexity_Class)
-  : con_sys(y.topology()),
-    gen_sys(y.topology()),
+  : con_sys(y.topology(), default_con_sys_repr),
+    gen_sys(y.topology(), default_gen_sys_repr),
     status(y.status),
     space_dim(y.space_dim) {
   // Being a protected method, we simply assert that topologies do match.
@@ -85,51 +87,51 @@ PPL::Polyhedron::Polyhedron(const Polyhedron& y, Complexity_Class)
     sat_g = y.sat_g;
 }
 
-PPL::Polyhedron::Polyhedron(const Topology topol, const Constraint_System& ccs)
-  : con_sys(topol),
-    gen_sys(topol),
+PPL::Polyhedron::Polyhedron(const Topology topol, const Constraint_System& cs)
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  PPL_ASSERT(ccs.space_dimension() <= max_space_dimension());
+  PPL_ASSERT(cs.space_dimension() <= max_space_dimension());
 
   // TODO: this implementation is just an executable specification.
-  Constraint_System cs = ccs;
+  Constraint_System cs_copy = cs;
 
-  // Try to adapt `cs' to the required topology.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (!cs.adjust_topology_and_space_dimension(topol, cs_space_dim))
+  // Try to adapt `cs_copy' to the required topology.
+  const dimension_type cs_copy_space_dim = cs_copy.space_dimension();
+  if (!cs_copy.adjust_topology_and_space_dimension(topol, cs_copy_space_dim))
     throw_topology_incompatible((topol == NECESSARILY_CLOSED)
 				? "C_Polyhedron(cs)"
-				: "NNC_Polyhedron(cs)", "cs", cs);
+				: "NNC_Polyhedron(cs)", "cs", cs_copy);
 
   // Set the space dimension.
-  space_dim = cs_space_dim;
+  space_dim = cs_copy_space_dim;
 
   if (space_dim > 0) {
-    // Stealing the rows from `cs'.
-    std::swap(con_sys, cs);
+    // Stealing the rows from `cs_copy'.
+    using std::swap;
+    swap(con_sys, cs_copy);
     if (con_sys.num_pending_rows() > 0) {
-      // Even though `cs' has pending constraints, since the generators
-      // of the polyhedron are not up-to-date, the polyhedron cannot
-      // have pending constraints. By integrating the pending part
-      // of `con_sys' we may loose sortedness.
-      con_sys.unset_pending_rows();
+      // Even though `cs_copy' has pending constraints, since the
+      // generators of the polyhedron are not up-to-date, the
+      // polyhedron cannot have pending constraints. By integrating
+      // the pending part of `con_sys' we may loose sortedness.
       con_sys.set_sorted(false);
+      con_sys.unset_pending_rows();
     }
     con_sys.add_low_level_constraints();
     set_constraints_up_to_date();
   }
   else {
     // Here `space_dim == 0'.
-    if (cs.num_columns() > 0)
-      // See if an inconsistent constraint has been passed.
-      for (dimension_type i = cs.num_rows(); i-- > 0; )
-	if (cs[i].is_inconsistent()) {
-	  // Inconsistent constraint found: the polyhedron is empty.
-	  set_empty();
-	  break;
-	}
+    // See if an inconsistent constraint has been passed.
+    for (dimension_type i = cs_copy.num_rows(); i-- > 0; )
+      if (cs_copy[i].is_inconsistent()) {
+        // Inconsistent constraint found: the polyhedron is empty.
+        set_empty();
+        break;
+      }
   }
   PPL_ASSERT_HEAVY(OK());
 }
@@ -137,8 +139,8 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Constraint_System& ccs)
 PPL::Polyhedron::Polyhedron(const Topology topol,
 			    Constraint_System& cs,
 			    Recycle_Input)
-  : con_sys(topol),
-    gen_sys(topol),
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
@@ -156,7 +158,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
 
   if (space_dim > 0) {
     // Stealing the rows from `cs'.
-    std::swap(con_sys, cs);
+    swap(con_sys, cs);
     if (con_sys.num_pending_rows() > 0) {
       // Even though `cs' has pending constraints, since the generators
       // of the polyhedron are not up-to-date, the polyhedron cannot
@@ -170,28 +172,25 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
   }
   else {
     // Here `space_dim == 0'.
-    if (cs.num_columns() > 0)
-      // See if an inconsistent constraint has been passed.
-      for (dimension_type i = cs.num_rows(); i-- > 0; )
-	if (cs[i].is_inconsistent()) {
-	  // Inconsistent constraint found: the polyhedron is empty.
-	  set_empty();
-	  break;
-	}
+
+    // See if an inconsistent constraint has been passed.
+    for (dimension_type i = cs.num_rows(); i-- > 0; )
+      if (cs[i].is_inconsistent()) {
+        // Inconsistent constraint found: the polyhedron is empty.
+        set_empty();
+        break;
+      }
   }
   PPL_ASSERT_HEAVY(OK());
 }
 
-PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
-  : con_sys(topol),
-    gen_sys(topol),
+PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& gs)
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
-  PPL_ASSERT(cgs.space_dimension() <= max_space_dimension());
-
-  // TODO: this implementation is just an executable specification.
-  Generator_System gs = cgs;
+  PPL_ASSERT(gs.space_dimension() <= max_space_dimension());
 
   // An empty set of generators defines the empty polyhedron.
   if (gs.has_no_rows()) {
@@ -207,38 +206,42 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
 			     ? "C_Polyhedron(gs)"
 			     : "NNC_Polyhedron(gs)", "gs");
 
-  const dimension_type gs_space_dim = gs.space_dimension();
-  // Try to adapt `gs' to the required topology.
-  if (!gs.adjust_topology_and_space_dimension(topol, gs_space_dim))
+  // TODO: this implementation is just an executable specification.
+  Generator_System gs_copy = gs;
+
+  const dimension_type gs_copy_space_dim = gs_copy.space_dimension();
+  // Try to adapt `gs_copy' to the required topology.
+  if (!gs_copy.adjust_topology_and_space_dimension(topol, gs_copy_space_dim))
     throw_topology_incompatible((topol == NECESSARILY_CLOSED)
 				? "C_Polyhedron(gs)"
-				: "NNC_Polyhedron(gs)", "gs", gs);
+				: "NNC_Polyhedron(gs)", "gs", gs_copy);
 
-  if (gs_space_dim > 0) {
-    // Stealing the rows from `gs'.
-    std::swap(gen_sys, gs);
+  if (gs_copy_space_dim > 0) {
+    // Stealing the rows from `gs_copy'.
+    using std::swap;
+    swap(gen_sys, gs_copy);
     // In a generator system describing a NNC polyhedron,
     // for each point we must also have the corresponding closure point.
     if (topol == NOT_NECESSARILY_CLOSED)
       gen_sys.add_corresponding_closure_points();
     if (gen_sys.num_pending_rows() > 0) {
-      // Even though `gs' has pending generators, since the constraints
-      // of the polyhedron are not up-to-date, the polyhedron cannot
-      // have pending generators. By integrating the pending part
-      // of `gen_sys' we may loose sortedness.
-      gen_sys.unset_pending_rows();
+      // Even though `gs_copy' has pending generators, since the
+      // constraints of the polyhedron are not up-to-date, the
+      // polyhedron cannot have pending generators. By integrating the
+      // pending part of `gen_sys' we may loose sortedness.
       gen_sys.set_sorted(false);
+      gen_sys.unset_pending_rows();
     }
     // Generators are now up-to-date.
     set_generators_up_to_date();
 
     // Set the space dimension.
-    space_dim = gs_space_dim;
+    space_dim = gs_copy_space_dim;
     PPL_ASSERT_HEAVY(OK());
     return;
   }
 
-  // Here `gs.num_rows > 0' and `gs_space_dim == 0':
+  // Here `gs_copy.num_rows > 0' and `gs_copy_space_dim == 0':
   // we already checked for both the topology-compatibility
   // and the supporting point.
   space_dim = 0;
@@ -248,8 +251,8 @@ PPL::Polyhedron::Polyhedron(const Topology topol, const Generator_System& cgs)
 PPL::Polyhedron::Polyhedron(const Topology topol,
 			    Generator_System& gs,
 			    Recycle_Input)
-  : con_sys(topol),
-    gen_sys(topol),
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
     sat_c(),
     sat_g() {
   // Protecting against space dimension overflow is up to the caller.
@@ -278,7 +281,7 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
 
   if (gs_space_dim > 0) {
     // Stealing the rows from `gs'.
-    std::swap(gen_sys, gs);
+    swap(gen_sys, gs);
     // In a generator system describing a NNC polyhedron,
     // for each point we must also have the corresponding closure point.
     if (topol == NOT_NECESSARILY_CLOSED)
@@ -288,8 +291,8 @@ PPL::Polyhedron::Polyhedron(const Topology topol,
       // of the polyhedron are not up-to-date, the polyhedron cannot
       // have pending generators. By integrating the pending part
       // of `gen_sys' we may loose sortedness.
-      gen_sys.unset_pending_rows();
       gen_sys.set_sorted(false);
+      gen_sys.unset_pending_rows();
     }
     // Generators are now up-to-date.
     set_generators_up_to_date();
@@ -588,7 +591,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
   // The polyhedron has updated, possibly pending generators.
   // The following loop will iterate through the generator
   // to find the extremum.
-  PPL_DIRTY_TEMP0(mpq_class, extremum);
+  PPL_DIRTY_TEMP(mpq_class, extremum);
 
   // True if we have no other candidate extremum to compare with.
   bool first_candidate = true;
@@ -618,9 +621,9 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
       PPL_ASSERT(gen_sys_i.is_point() || gen_sys_i.is_closure_point());
       // Notice that we are ignoring the constant term in `expr' here.
       // We will add it to the extremum as soon as we find it.
-      PPL_DIRTY_TEMP0(mpq_class, candidate);
+      PPL_DIRTY_TEMP(mpq_class, candidate);
       assign_r(candidate.get_num(), sp, ROUND_NOT_NEEDED);
-      assign_r(candidate.get_den(), gen_sys_i[0], ROUND_NOT_NEEDED);
+      assign_r(candidate.get_den(), gen_sys_i.expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
       candidate.canonicalize();
       const bool g_is_point = gen_sys_i.is_point();
       if (first_candidate
@@ -644,7 +647,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
   }
 
   // Add in the constant term in `expr'.
-  PPL_DIRTY_TEMP0(mpz_class, n);
+  PPL_DIRTY_TEMP(mpz_class, n);
   assign_r(n, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
   extremum += n;
 
@@ -761,8 +764,8 @@ PPL::Polyhedron::remove_pending_to_obtain_constraints() const {
   // If the polyhedron has pending constraints, simply unset them.
   if (x.has_pending_constraints()) {
     // Integrate the pending constraints, which are possibly not sorted.
-    x.con_sys.unset_pending_rows();
     x.con_sys.set_sorted(false);
+    x.con_sys.unset_pending_rows();
     x.clear_pending_constraints();
     x.clear_constraints_minimized();
     x.clear_generators_up_to_date();
@@ -785,8 +788,8 @@ PPL::Polyhedron::remove_pending_to_obtain_generators() const {
   // If the polyhedron has pending generators, simply unset them.
   if (x.has_pending_generators()) {
     // Integrate the pending generators, which are possibly not sorted.
-    x.gen_sys.unset_pending_rows();
     x.gen_sys.set_sorted(false);
+    x.gen_sys.unset_pending_rows();
     x.clear_pending_generators();
     x.clear_generators_minimized();
     x.clear_constraints_up_to_date();
@@ -1118,10 +1121,10 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
     case Generator::CLOSURE_POINT:
       sat_all_but_closure_points.set(i);
       break;
-    default:
-      // Found a line with index i >= n_lines.
-      throw std::runtime_error("PPL internal error: "
-			       "strongly_minimize_constraints.");
+    case Generator::LINE:
+      // Found a line with index i >= n_lines !
+      PPL_UNREACHABLE;
+      break;
     }
   Bit_Row sat_lines_and_rays(sat_all_but_points, sat_all_but_closure_points);
   Bit_Row sat_lines_and_closure_points(sat_all_but_rays, sat_all_but_points);
@@ -1138,25 +1141,21 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
   // system.
   Constraint_System& cs = x.con_sys;
   Bit_Matrix& sat = x.sat_g;
-  dimension_type cs_rows = cs.num_rows();
-  const dimension_type eps_index = cs.num_columns() - 1;
-  for (dimension_type i = 0; i < cs_rows; )
+  const Variable eps_var(cs.space_dimension());
+  // Note that cs.num_rows() is *not* constant because the calls to
+  // cs.remove_row() decrease it.
+  for (dimension_type i = 0; i < cs.num_rows(); )
     if (cs[i].is_strict_inequality()) {
       // First, check if it is saturated by no closure points
       Bit_Row sat_ci;
-      set_union(sat[i], sat_lines_and_closure_points, sat_ci);
+      sat_ci.union_assign(sat[i], sat_lines_and_closure_points);
       if (sat_ci == sat_lines) {
 	// It is saturated by no closure points.
 	if (!found_eps_leq_one) {
 	  // Check if it is the eps_leq_one constraint.
-	  const Constraint& c = cs[i];
-	  bool all_zeroes = true;
-	  for (dimension_type k = eps_index; k-- > 1; )
-	    if (c[k] != 0) {
-	      all_zeroes = false;
-	      break;
-	    }
-	  if (all_zeroes && (c[0] + c[eps_index] == 0)) {
+          const Constraint& c = cs[i];
+	  if (c.expression().all_homogeneous_terms_are_zero()
+              && (c.expression().inhomogeneous_term() + c.epsilon_coefficient() == 0)) {
 	    // We found the eps_leq_one constraint.
 	    found_eps_leq_one = true;
 	    // Consider next constraint.
@@ -1166,11 +1165,9 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
 	}
 	// Here `cs[i]' is not the eps_leq_one constraint,
 	// so it is eps-redundant.
-	// Move it to the bottom of the constraint system,
-	// while keeping `sat_g' consistent.
-	--cs_rows;
-	std::swap(cs[i], cs[cs_rows]);
-	std::swap(sat[i], sat[cs_rows]);
+	// Remove it, while keeping `sat_g' consistent.
+	cs.remove_row(i, false);
+	swap(sat[i], sat[cs.num_rows()]);
 	// The constraint system is changed.
 	changed = true;
 	// Continue by considering next constraint,
@@ -1180,18 +1177,15 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
       // Now we check if there exists another strict inequality
       // constraint having a superset of its saturators,
       // when disregarding points.
-      sat_ci.clear();
-      set_union(sat[i], sat_all_but_points, sat_ci);
+      sat_ci.union_assign(sat[i], sat_all_but_points);
       bool eps_redundant = false;
-      for (dimension_type j = 0; j < cs_rows; ++j)
+      for (dimension_type j = 0; j < cs.num_rows(); ++j)
 	if (i != j && cs[j].is_strict_inequality()
 	    && subset_or_equal(sat[j], sat_ci)) {
 	  // Constraint `cs[i]' is eps-redundant:
-	  // move it to the bottom of the constraint system,
-	  // while keeping `sat_g' consistent.
-	  --cs_rows;
-	  std::swap(cs[i], cs[cs_rows]);
-	  std::swap(sat[i], sat[cs_rows]);
+	  // remove it, while keeping `sat_g' consistent.
+	  cs.remove_row(i, false);
+	  swap(sat[i], sat[cs.num_rows()]);
 	  eps_redundant = true;
 	  // The constraint system is changed.
 	  changed = true;
@@ -1206,15 +1200,12 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
       // `cs[i]' is not a strict inequality: consider next constraint.
       ++i;
 
+  PPL_ASSERT(cs.num_pending_rows() == 0);
+
   if (changed) {
-    // If the constraint system has been changed, we have to erase
+    // If the constraint system has been changed, we have erased
     // the epsilon-redundant constraints.
-    PPL_ASSERT(cs_rows < cs.num_rows());
-    cs.erase_to_end(cs_rows);
-    // The remaining constraints are not pending.
-    cs.unset_pending_rows();
-    // The constraint system is no longer sorted.
-    cs.set_sorted(false);
+
     // The generator system is no longer up-to-date.
     x.clear_generators_up_to_date();
 
@@ -1227,14 +1218,14 @@ PPL::Polyhedron::strongly_minimize_constraints() const {
       // necessarily closed, so that we can interpret the epsilon
       // dimension as a standard dimension. Be careful to reset the
       // topology of `cs' even on exceptional execution path.
-      cs.set_necessarily_closed();
+      cs.mark_as_necessarily_closed();
       try {
 	lp.add_space_dimensions_and_embed(cs.space_dimension());
 	lp.add_constraints(cs);
-	cs.set_not_necessarily_closed();
+	cs.mark_as_not_necessarily_closed();
       }
       catch (...) {
-	cs.set_not_necessarily_closed();
+	cs.mark_as_not_necessarily_closed();
 	throw;
       }
       // The objective function is `epsilon'.
@@ -1292,37 +1283,42 @@ PPL::Polyhedron::strongly_minimize_generators() const {
   // and eventually move them to the bottom part of the system.
   Generator_System& gs = const_cast<Generator_System&>(gen_sys);
   Bit_Matrix& sat = const_cast<Bit_Matrix&>(sat_c);
-  dimension_type gs_rows = gs.num_rows();
+  const dimension_type old_gs_rows = gs.num_rows();
+  dimension_type gs_rows = old_gs_rows;
   const dimension_type n_lines = gs.num_lines();
-  const dimension_type eps_index = gs.num_columns() - 1;
-  for (dimension_type i = n_lines; i < gs_rows; )
-    if (gs[i].is_point()) {
+  bool gs_sorted = gs.is_sorted();
+
+  for (dimension_type i = n_lines; i < gs_rows; ) {
+    Generator& g = gs.sys.rows[i];
+    if (g.is_point()) {
       // Compute the Bit_Row corresponding to the candidate point
       // when strict inequality constraints are ignored.
-      Bit_Row sat_gi(sat[i], sat_all_but_strict_ineq);
+      Bit_Row sat_gs_i(sat[i], sat_all_but_strict_ineq);
       // Check if the candidate point is actually eps-redundant:
       // namely, if there exists another point that saturates
       // all the non-strict inequalities saturated by the candidate.
       bool eps_redundant = false;
-      for (dimension_type j = n_lines; j < gs_rows; ++j)
-	if (i != j && gs[j].is_point() && subset_or_equal(sat[j], sat_gi)) {
-	  // Point `gs[i]' is eps-redundant:
+      for (dimension_type j = n_lines; j < gs_rows; ++j) {
+        Generator& g2 = gs.sys.rows[j];
+	if (i != j && g2.is_point() && subset_or_equal(sat[j], sat_gs_i)) {
+	  // Point `g' is eps-redundant:
 	  // move it to the bottom of the generator system,
 	  // while keeping `sat_c' consistent.
 	  --gs_rows;
-	  std::swap(gs[i], gs[gs_rows]);
-	  std::swap(sat[i], sat[gs_rows]);
+          swap(g, gs.sys.rows[gs_rows]);
+	  swap(sat[i], sat[gs_rows]);
 	  eps_redundant = true;
 	  changed = true;
 	  break;
 	}
+      }
       if (!eps_redundant) {
 	// Let all point encodings have epsilon coordinate 1.
-	Generator& gi = gs[i];
-	if (gi[eps_index] != gi[0]) {
-	  gi[eps_index] = gi[0];
+	if (g.epsilon_coefficient() != g.expr.inhomogeneous_term()) {
+	  g.set_epsilon_coefficient(g.expr.inhomogeneous_term());
 	  // Enforce normalization.
-	  gi.normalize();
+	  g.expr.normalize();
+          PPL_ASSERT(g.OK());
 	  changed = true;
 	}
 	// Consider next generator.
@@ -1332,21 +1328,24 @@ PPL::Polyhedron::strongly_minimize_generators() const {
     else
       // Consider next generator.
       ++i;
-
-  // If needed, erase the eps-redundant generators (also updating
-  // `index_first_pending').
-  if (gs_rows < gs.num_rows()) {
-    gs.erase_to_end(gs_rows);
-    gs.unset_pending_rows();
   }
 
+  // If needed, erase the eps-redundant generators.
+  if (gs_rows < old_gs_rows)
+    gs.sys.rows.resize(gs_rows);
+
   if (changed) {
     // The generator system is no longer sorted.
-    x.gen_sys.set_sorted(false);
+    gs_sorted = false;
     // The constraint system is no longer up-to-date.
     x.clear_constraints_up_to_date();
   }
 
+  gs.sys.index_first_pending = gs.num_rows();
+  gs.set_sorted(gs_sorted);
+
+  PPL_ASSERT(gs.sys.OK());
+
   PPL_ASSERT_HEAVY(OK());
   return true;
 }
@@ -1451,7 +1450,8 @@ PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
 
   // Minimization is not really required, but it is probably the best
   // way of getting constraints, generators and saturation matrices
-  // up-to-date; it also removes redundant constraints/generators.
+  // up-to-date.  Minimization it also removes redundant
+  // constraints/generators.
   (void) x.minimize();
   (void) y.minimize();
 
@@ -1529,7 +1529,7 @@ PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
     const bool included
       = y.relation_with(x_cs[i]).implies(Poly_Con_Relation::is_included());
     if (!included) {
-      set_union(x_gs_red_in_y, x_sat[i], row_union);
+      row_union.union_assign(x_gs_red_in_y, x_sat[i]);
       if (row_union != all_ones)
         return false;
     }
@@ -1554,7 +1554,8 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
 
   // Minimization is not really required, but it is probably the best
   // way of getting constraints, generators and saturation matrices
-  // up-to-date; it also removes redundant constraints/generators.
+  // up-to-date.  Minimization also removes redundant
+  // constraints/generators.
   (void) x.minimize();
   (void) y.minimize();
 
@@ -1564,52 +1565,53 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   const dimension_type y_gs_num_rows = y_gs.num_rows();
 
   // Compute generators of `x' that are non-redundant in `y' ...
-  Bit_Row x_gs_nonred_in_y;
-  Bit_Row x_points_nonred_in_y;
+  Bit_Row x_gs_non_redundant_in_y;
+  Bit_Row x_points_non_redundant_in_y;
   Bit_Row x_closure_points;
-  dimension_type num_x_gs_nonred_in_y = 0;
+  dimension_type num_x_gs_non_redundant_in_y = 0;
   for (dimension_type i = x_gs_num_rows; i-- > 0; ) {
     const Generator& x_gs_i = x_gs[i];
     if (x_gs_i.is_closure_point())
       x_closure_points.set(i);
     if (y.relation_with(x_gs[i]).implies(Poly_Gen_Relation::subsumes()))
       continue;
-    x_gs_nonred_in_y.set(i);
-    ++num_x_gs_nonred_in_y;
+    x_gs_non_redundant_in_y.set(i);
+    ++num_x_gs_non_redundant_in_y;
     if (x_gs_i.is_point())
-      x_points_nonred_in_y.set(i);
+      x_points_non_redundant_in_y.set(i);
   }
 
   // If `x' is included into `y', the upper bound `y' is exact.
-  if (num_x_gs_nonred_in_y == 0) {
+  if (num_x_gs_non_redundant_in_y == 0) {
     *this = y;
     return true;
   }
 
   // ... and vice versa, generators of `y' that are non-redundant in `x'.
-  Bit_Row y_gs_nonred_in_x;
-  Bit_Row y_points_nonred_in_x;
+  Bit_Row y_gs_non_redundant_in_x;
+  Bit_Row y_points_non_redundant_in_x;
   Bit_Row y_closure_points;
-  dimension_type num_y_gs_nonred_in_x = 0;
+  dimension_type num_y_gs_non_redundant_in_x = 0;
   for (dimension_type i = y_gs_num_rows; i-- > 0; ) {
     const Generator& y_gs_i = y_gs[i];
     if (y_gs_i.is_closure_point())
       y_closure_points.set(i);
     if (x.relation_with(y_gs_i).implies(Poly_Gen_Relation::subsumes()))
       continue;
-    y_gs_nonred_in_x.set(i);
-    ++num_y_gs_nonred_in_x;
+    y_gs_non_redundant_in_x.set(i);
+    ++num_y_gs_non_redundant_in_x;
     if (y_gs_i.is_point())
-      y_points_nonred_in_x.set(i);
+      y_points_non_redundant_in_x.set(i);
   }
 
   // If `y' is included into `x', the upper bound `x' is exact.
-  if (num_y_gs_nonred_in_x == 0)
+  if (num_y_gs_non_redundant_in_x == 0)
     return true;
 
-  Bit_Row x_nonpoints_nonred_in_y;
-  set_difference(x_gs_nonred_in_y, x_points_nonred_in_y,
-                 x_nonpoints_nonred_in_y);
+  Bit_Row x_non_points_non_redundant_in_y;
+  x_non_points_non_redundant_in_y
+    .difference_assign(x_gs_non_redundant_in_y,
+                       x_points_non_redundant_in_y);
 
   const Constraint_System& x_cs = x.con_sys;
   const Constraint_System& y_cs = y.con_sys;
@@ -1618,9 +1620,10 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
 
   // Filter away the points of `x_gs' that would be redundant
   // in the topological closure of `y'.
-  Bit_Row x_points_nonred_in_y_closure;
-  for (dimension_type i = x_points_nonred_in_y.first();
-       i != ULONG_MAX; i = x_points_nonred_in_y.next(i)) {
+  Bit_Row x_points_non_redundant_in_y_closure;
+  for (dimension_type i = x_points_non_redundant_in_y.first();
+       i != C_Integer<unsigned long>::max;
+       i = x_points_non_redundant_in_y.next(i)) {
     const Generator& x_p = x_gs[i];
     PPL_ASSERT(x_p.is_point());
     // NOTE: we cannot use Constraint_System::relation_with()
@@ -1629,7 +1632,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       const Constraint& y_c = y_cs[j];
       const int sp_sign = Scalar_Products::reduced_sign(y_c, x_p);
       if (sp_sign < 0 || (y_c.is_equality() && sp_sign > 0)) {
-        x_points_nonred_in_y_closure.set(i);
+        x_points_non_redundant_in_y_closure.set(i);
         break;
       }
     }
@@ -1653,20 +1656,21 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     // Skip constraint if it is not violated by `y'.
     if (y.relation_with(x_c).implies(Poly_Con_Relation::is_included()))
       continue;
-    set_difference(all_ones, x_sat[i], saturators);
+    saturators.difference_assign(all_ones, x_sat[i]);
     // Check condition 1.
-    set_intersection(x_nonpoints_nonred_in_y, saturators, tmp_set);
+    tmp_set.intersection_assign(x_non_points_non_redundant_in_y, saturators);
     if (!tmp_set.empty())
       return false;
     if (x_c.is_strict_inequality()) {
       // Postpone check for condition 3.
       x_cs_condition_3.set(i);
-      set_intersection(x_closure_points, saturators, tmp_set);
-      set_union(x_gs_condition_3, tmp_set, x_gs_condition_3);
+      tmp_set.intersection_assign(x_closure_points, saturators);
+      x_gs_condition_3.union_assign(x_gs_condition_3, tmp_set);
     }
     else {
       // Check condition 2.
-      set_intersection(x_points_nonred_in_y_closure, saturators, tmp_set);
+      tmp_set.intersection_assign(x_points_non_redundant_in_y_closure,
+                                  saturators);
       if (!tmp_set.empty())
         return false;
     }
@@ -1675,15 +1679,17 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   // Now exchange the roles of `x' and `y'
   // (the statement of the NNC theorem in BHZ09 is symmetric).
 
-  Bit_Row y_nonpoints_nonred_in_x;
-  set_difference(y_gs_nonred_in_x, y_points_nonred_in_x,
-                 y_nonpoints_nonred_in_x);
+  Bit_Row y_non_points_non_redundant_in_x;
+  y_non_points_non_redundant_in_x
+    .difference_assign(y_gs_non_redundant_in_x,
+                       y_points_non_redundant_in_x);
 
   // Filter away the points of `y_gs' that would be redundant
   // in the topological closure of `x'.
-  Bit_Row y_points_nonred_in_x_closure;
-  for (dimension_type i = y_points_nonred_in_x.first();
-       i != ULONG_MAX; i = y_points_nonred_in_x.next(i)) {
+  Bit_Row y_points_non_redundant_in_x_closure;
+  for (dimension_type i = y_points_non_redundant_in_x.first();
+       i != C_Integer<unsigned long>::max;
+       i = y_points_non_redundant_in_x.next(i)) {
     const Generator& y_p = y_gs[i];
     PPL_ASSERT(y_p.is_point());
     // NOTE: we cannot use Constraint_System::relation_with()
@@ -1692,7 +1698,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
       const Constraint& x_c = x_cs[j];
       const int sp_sign = Scalar_Products::reduced_sign(x_c, y_p);
       if (sp_sign < 0 || (x_c.is_equality() && sp_sign > 0)) {
-        y_points_nonred_in_x_closure.set(i);
+        y_points_non_redundant_in_x_closure.set(i);
         break;
       }
     }
@@ -1712,20 +1718,21 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     // Skip constraint if it is not violated by `x'.
     if (x.relation_with(y_c).implies(Poly_Con_Relation::is_included()))
       continue;
-    set_difference(all_ones, y_sat[i], saturators);
+    saturators.difference_assign(all_ones, y_sat[i]);
     // Check condition 1.
-    set_intersection(y_nonpoints_nonred_in_x, saturators, tmp_set);
+    tmp_set.intersection_assign(y_non_points_non_redundant_in_x, saturators);
     if (!tmp_set.empty())
       return false;
     if (y_c.is_strict_inequality()) {
       // Postpone check for condition 3.
       y_cs_condition_3.set(i);
-      set_intersection(y_closure_points, saturators, tmp_set);
-      set_union(y_gs_condition_3, tmp_set, y_gs_condition_3);
+      tmp_set.intersection_assign(y_closure_points, saturators);
+      y_gs_condition_3.union_assign(y_gs_condition_3, tmp_set);
     }
     else {
       // Check condition 2.
-      set_intersection(y_points_nonred_in_x_closure, saturators, tmp_set);
+      tmp_set.intersection_assign(y_points_non_redundant_in_x_closure,
+                                  saturators);
       if (!tmp_set.empty())
         return false;
     }
@@ -1737,7 +1744,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     // No test for condition 3 is needed.
     // The hull is exact: compute it.
     for (dimension_type j = y_gs_num_rows; j-- > 0; )
-      if (y_gs_nonred_in_x[j])
+      if (y_gs_non_redundant_in_x[j])
         add_generator(y_gs[j]);
     return true;
   }
@@ -1745,7 +1752,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   // We have anyway to compute the upper bound and its constraints too.
   Polyhedron ub(x);
   for (dimension_type j = y_gs_num_rows; j-- > 0; )
-    if (y_gs_nonred_in_x[j])
+    if (y_gs_non_redundant_in_x[j])
       ub.add_generator(y_gs[j]);
   (void) ub.minimize();
   PPL_ASSERT(!ub.is_empty());
@@ -1763,7 +1770,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     const Constraint& y_c = y_cs[i];
     if (y_c.is_strict_inequality()) {
       for (dimension_type j = x_gs_condition_3.first();
-           j != ULONG_MAX; j = x_gs_condition_3.next(j)) {
+           j != C_Integer<unsigned long>::max; j = x_gs_condition_3.next(j)) {
         const Generator& x_cp = x_gs[j];
         PPL_ASSERT(x_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(y_c, x_cp);
@@ -1785,7 +1792,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (x_cs[i].is_strict_inequality()) {
       const Constraint& x_c = x_cs[i];
       for (dimension_type j = y_gs_condition_3.first();
-           j != ULONG_MAX; j = y_gs_condition_3.next(j)) {
+           j != C_Integer<unsigned long>::max; j = y_gs_condition_3.next(j)) {
         const Generator& y_cp = y_gs[j];
         PPL_ASSERT(y_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(x_c, y_cp);
@@ -1809,7 +1816,8 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (ub_cs[i].is_strict_inequality()) {
       const Constraint& ub_c = ub_cs[i];
       for (dimension_type j = x_gs_condition_3_not_in_y.first();
-           j != ULONG_MAX; j = x_gs_condition_3_not_in_y.next(j)) {
+           j != C_Integer<unsigned long>::max;
+           j = x_gs_condition_3_not_in_y.next(j)) {
         const Generator& x_cp = x_gs[j];
         PPL_ASSERT(x_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(ub_c, x_cp);
@@ -1818,7 +1826,8 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
           x_gs_condition_3_not_in_y.clear(j);
       }
       for (dimension_type j = y_gs_condition_3_not_in_x.first();
-           j != ULONG_MAX; j = y_gs_condition_3_not_in_x.next(j)) {
+           j != C_Integer<unsigned long>::max;
+           j = y_gs_condition_3_not_in_x.next(j)) {
         const Generator& y_cp = y_gs[j];
         PPL_ASSERT(y_cp.is_closure_point());
         const int sp_sign = Scalar_Products::reduced_sign(ub_c, y_cp);
@@ -1840,7 +1849,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
 
   // Consider strict inequalities in `x' violated by `y'.
   for (dimension_type i = x_cs_condition_3.first();
-       i != ULONG_MAX; i = x_cs_condition_3.next(i)) {
+       i != C_Integer<unsigned long>::max; i = x_cs_condition_3.next(i)) {
     const Constraint& x_cs_i = x_cs[i];
     PPL_ASSERT(x_cs_i.is_strict_inequality());
     // Build the equality constraint induced by x_cs_i.
@@ -1858,7 +1867,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
 
   // Consider strict inequalities in `y' violated by `x'.
   for (dimension_type i = y_cs_condition_3.first();
-       i != ULONG_MAX; i = y_cs_condition_3.next(i)) {
+       i != C_Integer<unsigned long>::max; i = y_cs_condition_3.next(i)) {
     const Constraint& y_cs_i = y_cs[i];
     PPL_ASSERT(y_cs_i.is_strict_inequality());
     // Build the equality constraint induced by y_cs_i.
@@ -1875,7 +1884,7 @@ PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
   }
 
   // The hull is exact.
-  swap(ub);
+  m_swap(ub);
   return true;
 }
 
@@ -1910,7 +1919,8 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
   // Implementation based on Algorithm 8.1 (page 15) in [BemporadFT00TR],
   // generalized so as to also allow for unbounded polyhedra.
   // The extension to unbounded polyhedra is obtained by mimicking
-  // what done in Algorithm 8.2 (page 19) wrt Algorithm 6.2 (page 13).
+  // what done in Algorithm 8.2 (page 19) with respect to
+  // Algorithm 6.2 (page 13).
   // We also apply a couple of improvements (see steps 2.1, 3.1, 6.1, 7.1)
   // so as to quickly handle special cases and avoid the splitting
   // of equalities/lines into pairs of inequalities/rays.
@@ -1965,7 +1975,7 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (y.relation_with(x_cs_i).implies(Poly_Con_Relation::is_included()))
       x_cs_red_in_y[i] = true;
     else if (x_cs_i.is_equality())
-      // Step 3.1: `x' has an equality not satified by `y':
+      // Step 3.1: `x' has an equality not satisfied by `y':
       // union is not convex (recall that `y' does not contain `x').
       // NOTE: this would be false for NNC polyhedra.
       // Example: x = { A == 0 }, y = { 0 < A <= 1 }.
@@ -1978,7 +1988,7 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
     if (x.relation_with(y_cs_i).implies(Poly_Con_Relation::is_included()))
       y_cs_red_in_x[i] = true;
     else if (y_cs_i.is_equality())
-      // Step 3.1: `y' has an equality not satified by `x':
+      // Step 3.1: `y' has an equality not satisfied by `x':
       // union is not convex (see explanation above).
       return false;
   }
@@ -1987,73 +1997,68 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
   // compute their "mid-point" and check if it is both in `x' and `y'.
 
   // Note: reasoning at the polyhedral cone level.
-  // CHECKME, FIXME: Polyhedron is a (deprecated) friend of Generator.
-  // Here below we systematically exploit such a friendship, so as to
-  // freely reinterpret a Generator as a Linear_Row and vice versa.
-  Linear_Row mid_row;
-  const Generator& mid_g = static_cast<const Generator&>(mid_row);
+  Generator mid_g;
 
   for (dimension_type i = x_gs_num_rows; i-- > 0; ) {
     if (x_gs_red_in_y[i])
       continue;
-    const Linear_Row& x_row = static_cast<const Linear_Row&>(x_gs[i]);
-    const dimension_type row_sz = x_row.size();
-    const bool x_row_is_line = x_row.is_line_or_equality();
+    const Generator& x_g = x_gs[i];
+    const bool x_g_is_line = x_g.is_line_or_equality();
     for (dimension_type j = y_gs_num_rows; j-- > 0; ) {
       if (y_gs_red_in_x[j])
         continue;
-      const Linear_Row& y_row = static_cast<const Linear_Row&>(y_gs[j]);
-      const bool y_row_is_line = y_row.is_line_or_equality();
+      const Generator& y_g = y_gs[j];
+      const bool y_g_is_line = y_g.is_line_or_equality();
 
-      // Step 6: compute mid_row = x_row + y_row.
+      // Step 6: compute mid_g = x_g + y_g.
       // NOTE: no need to actually compute the "mid-point",
       // since any strictly positive combination would do.
-      mid_row = x_row;
-      for (dimension_type k = row_sz; k-- > 0; )
-        mid_row[k] += y_row[k];
+      mid_g = x_g;
+      mid_g.expr += y_g.expr;
       // A zero ray is not a well formed generator.
       const bool illegal_ray
-        = (mid_row[0] == 0 && mid_row.all_homogeneous_terms_are_zero());
+        = (mid_g.expr.inhomogeneous_term() == 0 && mid_g.expr.all_homogeneous_terms_are_zero());
       // A zero ray cannot be generated from a line: this holds
       // because x_row (resp., y_row) is not subsumed by y (resp., x).
-      PPL_ASSERT(!(illegal_ray && (x_row_is_line || y_row_is_line)));
+      PPL_ASSERT(!(illegal_ray && (x_g_is_line || y_g_is_line)));
       if (illegal_ray)
         continue;
-      if (x_row_is_line) {
-        mid_row.normalize();
-        if (y_row_is_line)
+      mid_g.expr.normalize();
+      if (x_g_is_line) {
+        if (y_g_is_line)
           // mid_row is a line too: sign normalization is needed.
-          mid_row.sign_normalize();
+          mid_g.sign_normalize();
         else
           // mid_row is a ray/point.
-          mid_row.set_is_ray_or_point_or_inequality();
+          mid_g.set_is_ray_or_point_or_inequality();
       }
+      PPL_ASSERT(mid_g.OK());
 
       // Step 7: check if mid_g is in the union of x and y.
       if (x.relation_with(mid_g) == Poly_Gen_Relation::nothing()
           && y.relation_with(mid_g) == Poly_Gen_Relation::nothing())
         return false;
 
-      // If either x_row or y_row is a line, we should use its
+      // If either x_g or y_g is a line, we should use its
       // negation to produce another generator to be tested too.
       // NOTE: exclusive-or is meant.
-      if (!x_row_is_line && y_row_is_line) {
-        // Step 6.1: (re-)compute mid_row = x_row - y_row.
-        mid_row = x_row;
-        for (dimension_type k = row_sz; k-- > 0; )
-          mid_row[k] -= y_row[k];
-        mid_row.normalize();
+      if (!x_g_is_line && y_g_is_line) {
+        // Step 6.1: (re-)compute mid_row = x_g - y_g.
+        mid_g = x_g;
+        mid_g.expr -= y_g.expr;
+        mid_g.expr.normalize();
+        PPL_ASSERT(mid_g.OK());
         // Step 7.1: check if mid_g is in the union of x and y.
         if (x.relation_with(mid_g) == Poly_Gen_Relation::nothing()
             && y.relation_with(mid_g) == Poly_Gen_Relation::nothing())
           return false;
       }
-      else if (x_row_is_line && !y_row_is_line) {
+      else if (x_g_is_line && !y_g_is_line) {
         // Step 6.1: (re-)compute mid_row = - x_row + y_row.
-        mid_row = y_row;
-        for (dimension_type k = row_sz; k-- > 0; )
-          mid_row[k] -= x_row[k];
-        mid_row.normalize();
+        mid_g = y_g;
+        mid_g.expr -= x_g.expr;
+        mid_g.expr.normalize();
+        PPL_ASSERT(mid_g.OK());
         // Step 7.1: check if mid_g is in the union of x and y.
         if (x.relation_with(mid_g) == Poly_Gen_Relation::nothing()
             && y.relation_with(mid_g) == Poly_Gen_Relation::nothing())
@@ -2063,7 +2068,7 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
   }
 
   // Here we know that the union of x and y is convex.
-  // TODO: exploit knowledge on the cardinality of non-redudnant
+  // TODO: exploit knowledge on the cardinality of non-redundant
   // constraints/generators to improve the convex-hull computation.
   // Using generators allows for exploiting incrementality.
   for (dimension_type j = 0; j < y_gs_num_rows; ++j) {
@@ -2075,10 +2080,10 @@ PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
 }
 
 void
-PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* pvars,
+PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* vars_p,
 					      Complexity_Class complexity) {
   // There is nothing to do for an empty set of variables.
-  if (pvars != 0 && pvars->empty())
+  if (vars_p != 0 && vars_p->empty())
     return;
 
   // Any empty polyhedron does not contain integer points.
@@ -2120,62 +2125,40 @@ PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* pvars,
   PPL_ASSERT(is_necessarily_closed() || !has_pending_constraints());
 
   bool changed = false;
-  const dimension_type eps_index = space_dim + 1;
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
 
-  for (dimension_type j = con_sys.num_rows(); j-- > 0; ) {
-    Constraint& c = con_sys[j];
+  const bool con_sys_was_sorted = con_sys.is_sorted();
+
+  for (dimension_type j = con_sys.sys.rows.size(); j-- > 0; ) {
+    Constraint& c = con_sys.sys.rows[j];
     if (c.is_tautological())
-      goto next_constraint;
+      continue;
 
-    if (pvars != 0) {
-      for (dimension_type i = space_dim; i-- > 0; )
-	if (c[i+1] != 0 && pvars->find(i) == pvars->end())
-	  goto next_constraint;
+    if (vars_p != 0) {
+      if (!c.expression().all_zeroes(*vars_p))
+        goto next_constraint;
     }
 
     if (!is_necessarily_closed()) {
       // Transform all strict inequalities into non-strict ones,
       // with the inhomogeneous term incremented by 1.
-      if (c[eps_index] < 0) {
-	c[eps_index] = 0;
-	--c[0];
+      if (c.epsilon_coefficient() < 0) {
+	c.set_epsilon_coefficient(0);
+        Linear_Expression& e = c.expr;
+        e.set_inhomogeneous_term(e.inhomogeneous_term() - 1);
 	// Enforce normalization.
 	// FIXME: is this really necessary?
-	c.normalize();
+	e.normalize();
+        PPL_ASSERT(c.OK());
 	changed = true;
       }
     }
 
-    {
-      // Compute the GCD of all the homogeneous terms.
-      dimension_type i = space_dim+1;
-      while (i > 1) {
-	const Coefficient& c_i = c[--i];
-	if (const int c_i_sign = sgn(c_i)) {
-	  gcd = c_i;
-	  if (c_i_sign < 0)
-	    neg_assign(gcd);
-	  goto compute_gcd;
-	}
-      }
-      // We reach this point only if all the coefficients were zero.
-      goto next_constraint;
-
-    compute_gcd:
-      if (gcd == 1)
-	goto next_constraint;
-      while (i > 1) {
-	const Coefficient& c_i = c[--i];
-	if (c_i != 0) {
-	  // See the comment in Row::normalize().
-	  gcd_assign(gcd, c_i, gcd);
-	  if (gcd == 1)
-	    goto next_constraint;
-	}
-      }
-      PPL_ASSERT(gcd != 1);
-      PPL_ASSERT(c[0] % gcd != 0);
+    // Compute the GCD of all the homogeneous terms.
+    gcd = c.expression().gcd(1, space_dim + 1);
+
+    if (gcd != 0 && gcd != 1) {
+      PPL_ASSERT(c.expr.inhomogeneous_term() % gcd != 0);
 
       // If we have an equality, the polyhedron becomes empty.
       if (c.is_equality()) {
@@ -2184,29 +2167,32 @@ PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* pvars,
       }
 
       // Divide the inhomogeneous coefficients by the GCD.
-      for (dimension_type k = space_dim+1; --k > 0; ) {
-	Coefficient& c_k = c[k];
-	exact_div_assign(c_k, c_k, gcd);
-      }
-      Coefficient& c_0 = c[0];
+      c.expr.exact_div_assign(gcd, 1, space_dim + 1);
+
+      PPL_DIRTY_TEMP_COEFFICIENT(c_0);
+      c_0 = c.expr.inhomogeneous_term();
       const int c_0_sign = sgn(c_0);
       c_0 /= gcd;
       if (c_0_sign < 0)
 	--c_0;
+      c.expr.set_inhomogeneous_term(c_0);
+      PPL_ASSERT(c.OK());
       changed = true;
     }
 
-  next_constraint:
-    ;
+    next_constraint: ;
   }
 
+  con_sys.set_sorted(!changed && con_sys_was_sorted);
+  PPL_ASSERT(con_sys.sys.OK());
+
   if (changed) {
-    if (!is_necessarily_closed()) {
+    if (!is_necessarily_closed())
       con_sys.insert(Constraint::epsilon_leq_one());
-      // FIXME: make sure that the following line really can stay here
-      // and should not be moved below the brace.
-      con_sys.set_sorted(false);
-    }
+
+    // FIXME: make sure this is correct (otherwise it should be removed).
+    if (is_necessarily_closed() && con_sys_was_sorted)
+      con_sys.set_sorted(true);
 
     // After changing the system of constraints, the generators
     // are no longer up-to-date and the constraints are no longer
@@ -2218,18 +2204,6 @@ PPL::Polyhedron::drop_some_non_integer_points(const Variables_Set* pvars,
 }
 
 void
-PPL::Polyhedron::throw_runtime_error(const char* method) const {
-  std::ostringstream s;
-  s << "PPL::";
-  if (is_necessarily_closed())
-    s << "C_";
-  else
-    s << "NNC_";
-  s << "Polyhedron::" << method << "." << std::endl;
-  throw std::runtime_error(s.str());
-}
-
-void
 PPL::Polyhedron::throw_invalid_argument(const char* method,
 					const char* reason) const {
   std::ostringstream s;
@@ -2327,10 +2301,11 @@ PPL::Polyhedron::throw_dimension_incompatible(const char* method,
 }
 
 void
-PPL::Polyhedron::throw_dimension_incompatible(const char* method,
-					      const char* e_name,
-					      const Linear_Expression& e) const {
-  throw_dimension_incompatible(method, e_name, e.space_dimension());
+PPL::Polyhedron
+::throw_dimension_incompatible(const char* method,
+                               const char* le_name,
+                               const Linear_Expression& le) const {
+  throw_dimension_incompatible(method, le_name, le.space_dimension());
 }
 
 void
@@ -2362,16 +2337,18 @@ PPL::Polyhedron::throw_dimension_incompatible(const char* method,
 }
 
 void
-PPL::Polyhedron::throw_dimension_incompatible(const char* method,
-					      const char* gs_name,
-					      const Generator_System& gs) const {
+PPL::Polyhedron
+::throw_dimension_incompatible(const char* method,
+                               const char* gs_name,
+                               const Generator_System& gs) const {
   throw_dimension_incompatible(method, gs_name, gs.space_dimension());
 }
 
 void
-PPL::Polyhedron::throw_dimension_incompatible(const char* method,
-					      const char* cgs_name,
-					      const Congruence_System& cgs) const {
+PPL::Polyhedron
+::throw_dimension_incompatible(const char* method,
+                               const char* cgs_name,
+                               const Congruence_System& cgs) const {
   throw_dimension_incompatible(method, cgs_name, cgs.space_dimension());
 }
 
@@ -2407,19 +2384,24 @@ throw_dimension_incompatible(const char* method,
   throw std::invalid_argument(s.str());
 }
 
-void
-PPL::Polyhedron::throw_space_dimension_overflow(const Topology topol,
+PPL::dimension_type
+PPL::Polyhedron::check_space_dimension_overflow(const dimension_type dim,
+                                                const dimension_type max,
+                                                const Topology topol,
 						const char* method,
 						const char* reason) {
-  std::ostringstream s;
-  s << "PPL::";
-  if (topol == NECESSARILY_CLOSED)
-    s << "C_";
-  else
-    s << "NNC_";
-  s << "Polyhedron::" << method << ":" << std::endl
-    << reason << ".";
-  throw std::length_error(s.str());
+  const char* domain = (topol == NECESSARILY_CLOSED)
+    ? "PPL::C_Polyhedron::" : "PPL::NNC_Polyhedron::";
+  return PPL::check_space_dimension_overflow(dim, max, domain, method, reason);
+}
+
+PPL::dimension_type
+PPL::Polyhedron::check_space_dimension_overflow(const dimension_type dim,
+                                                const Topology topol,
+						const char* method,
+						const char* reason) {
+  return check_space_dimension_overflow(dim, Polyhedron::max_space_dimension(),
+                                        topol, method, reason);
 }
 
 void
diff --git a/src/Polyhedron_public.cc b/src/Polyhedron_public.cc
index 80c293b..b9b9a10 100644
--- a/src/Polyhedron_public.cc
+++ b/src/Polyhedron_public.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation (non-inline public functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,17 +19,18 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Polyhedron.defs.hh"
 #include "C_Polyhedron.defs.hh"
 #include "NNC_Polyhedron.defs.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "MIP_Problem.defs.hh"
 #include "wrap_assign.hh"
-#include <cstdlib>
 #include "assert.hh"
+#include <cstdlib>
 #include <iostream>
 
 #ifndef ENSURE_SORTEDNESS
@@ -80,7 +81,7 @@ PPL::Polyhedron::constraints() const {
       // the appropriate dimension and then stored in `con_sys'.
       Constraint_System unsat_cs = Constraint_System::zero_dim_empty();
       unsat_cs.adjust_topology_and_space_dimension(topology(), space_dim);
-      const_cast<Constraint_System&>(con_sys).swap(unsat_cs);
+      swap(const_cast<Constraint_System&>(con_sys), unsat_cs);
     }
     else {
       // Checking that `con_sys' contains the right thing.
@@ -93,7 +94,7 @@ PPL::Polyhedron::constraints() const {
 
   if (space_dim == 0) {
     // Zero-dimensional universe.
-    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.num_columns() == 0);
+    PPL_ASSERT(con_sys.num_rows() == 0 && con_sys.space_dimension() == 0);
     return con_sys;
   }
 
@@ -135,13 +136,13 @@ PPL::Polyhedron::generators() const {
     if (gen_sys.space_dimension() != space_dim) {
       Generator_System gs;
       gs.adjust_topology_and_space_dimension(topology(), space_dim);
-      const_cast<Generator_System&>(gen_sys).swap(gs);
+      swap(const_cast<Generator_System&>(gen_sys), gs);
     }
     return gen_sys;
   }
 
   if (space_dim == 0) {
-    PPL_ASSERT(gen_sys.num_rows() == 0 && gen_sys.num_columns() == 0);
+    PPL_ASSERT(gen_sys.num_rows() == 0 && gen_sys.space_dimension() == 0);
     return Generator_System::zero_dim_univ();
   }
 
@@ -157,7 +158,7 @@ PPL::Polyhedron::generators() const {
     if (gen_sys.space_dimension() != space_dim) {
       Generator_System gs;
       gs.adjust_topology_and_space_dimension(topology(), space_dim);
-      const_cast<Generator_System&>(gen_sys).swap(gs);
+      swap(const_cast<Generator_System&>(gen_sys), gs);
     }
     return gen_sys;
   }
@@ -194,18 +195,6 @@ PPL::Polyhedron::minimized_generators() const {
   return generators();
 }
 
-PPL::Grid_Generator_System
-PPL::Polyhedron::grid_generators() const {
-  Grid_Generator_System ggs(space_dim);
-  // Trivially true point.
-  ggs.insert(grid_point(0*(Variable(0))));
-  // A line for each dimension.
-  dimension_type dim = 0;
-  while (dim < space_dim)
-    ggs.insert(grid_line(Variable(dim)));
-  return ggs;
-}
-
 PPL::Poly_Con_Relation
 PPL::Polyhedron::relation_with(const Constraint& c) const {
   // Dimension-compatibility check.
@@ -344,7 +333,7 @@ PPL::Polyhedron::relation_with(const Congruence& cg) const {
 
   Poly_Con_Relation first_rels = relation_with(first_halfspace);
   PPL_ASSERT(!first_rels.implies(Poly_Con_Relation::saturates())
-	 && !first_rels.implies(Poly_Con_Relation::is_disjoint()));
+             && !first_rels.implies(Poly_Con_Relation::is_disjoint()));
   if (first_rels.implies(Poly_Con_Relation::strictly_intersects()))
     return Poly_Con_Relation::strictly_intersects();
 
@@ -358,7 +347,7 @@ PPL::Polyhedron::relation_with(const Congruence& cg) const {
   PPL_ASSERT(first_rels == Poly_Con_Relation::is_included());
   Poly_Con_Relation second_rels = relation_with(second_halfspace);
   PPL_ASSERT(!second_rels.implies(Poly_Con_Relation::saturates())
-	 && !second_rels.implies(Poly_Con_Relation::is_disjoint()));
+             && !second_rels.implies(Poly_Con_Relation::is_disjoint()));
   if (second_rels.implies(Poly_Con_Relation::strictly_intersects()))
     return Poly_Con_Relation::strictly_intersects();
 
@@ -479,11 +468,12 @@ PPL::Polyhedron::is_universe() const {
       obtain_sorted_constraints();
       const Constraint& eps_leq_one = con_sys[0];
       const Constraint& eps_geq_zero = con_sys[1];
-      const dimension_type eps_index = con_sys.num_columns() - 1;
-      PPL_ASSERT(eps_leq_one[0] > 0 && eps_leq_one[eps_index] < 0
-	     && eps_geq_zero[0] == 0 && eps_geq_zero[eps_index] > 0);
-      for (dimension_type i = 1; i < eps_index; ++i)
-	PPL_ASSERT(eps_leq_one[i] == 0 && eps_geq_zero[i] == 0);
+      PPL_ASSERT(eps_leq_one.inhomogeneous_term() > 0
+                 && eps_leq_one.epsilon_coefficient() < 0
+                 && eps_geq_zero.inhomogeneous_term() == 0
+                 && eps_geq_zero.epsilon_coefficient() > 0);
+      PPL_ASSERT(eps_leq_one.expression().all_homogeneous_terms_are_zero());
+      PPL_ASSERT(eps_geq_zero.expression().all_homogeneous_terms_are_zero());
 #endif
       return true;
     }
@@ -519,7 +509,7 @@ PPL::Polyhedron::is_topologically_closed() const {
   if (marked_empty()
       || space_dim == 0
       || (has_something_pending() && !process_pending()))
-     return true;
+    return true;
 
   // At this point there are no pending constraints or generators.
   PPL_ASSERT(!has_something_pending());
@@ -530,19 +520,19 @@ PPL::Polyhedron::is_topologically_closed() const {
     const dimension_type n_rows = gen_sys.num_rows();
     const dimension_type n_lines = gen_sys.num_lines();
     for (dimension_type i = n_rows; i-- > n_lines; ) {
-      const Generator& gi = gen_sys[i];
-      if (gi.is_closure_point()) {
-	bool gi_has_no_matching_point = true;
+      const Generator& gen_sys_i = gen_sys[i];
+      if (gen_sys_i.is_closure_point()) {
+	bool gen_sys_i_has_no_matching_point = true;
 	for (dimension_type j = n_rows; j-- > n_lines; ) {
-	  const Generator& gj = gen_sys[j];
+	  const Generator& gen_sys_j = gen_sys[j];
 	  if (i != j
-	      && gj.is_point()
-	      && gi.is_matching_closure_point(gj)) {
-	    gi_has_no_matching_point = false;
+	      && gen_sys_j.is_point()
+	      && gen_sys_i.is_matching_closure_point(gen_sys_j)) {
+	    gen_sys_i_has_no_matching_point = false;
 	    break;
 	  }
 	}
-	if (gi_has_no_matching_point)
+	if (gen_sys_i_has_no_matching_point)
 	  return false;
       }
     }
@@ -594,7 +584,7 @@ PPL::Polyhedron::contains_integer_point() const {
 						    Variable(space_dim-1)));
   PPL_DIRTY_TEMP_COEFFICIENT(homogeneous_gcd);
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  PPL_DIRTY_TEMP0(mpq_class, rational_inhomogeneous);
+  PPL_DIRTY_TEMP(mpq_class, rational_inhomogeneous);
   PPL_DIRTY_TEMP_COEFFICIENT(tightened_inhomogeneous);
   for (Constraint_System::const_iterator cs_i = cs.begin(),
 	 cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -604,22 +594,17 @@ PPL::Polyhedron::contains_integer_point() const {
     if (c_type == Constraint::STRICT_INEQUALITY) {
       // CHECKME: should we change the behavior of Linear_Expression(c) ?
       // Compute the GCD of the coefficients of c
-      // (disregarding the inhomogeneous term and the espilon dimension).
-      homogeneous_gcd = 0;
-      for (dimension_type i = space_dim; i-- > 0; )
-	gcd_assign(homogeneous_gcd,
-		   homogeneous_gcd, c.coefficient(Variable(i)));
+      // (disregarding the inhomogeneous term and the epsilon dimension).
+      homogeneous_gcd = c.expression().gcd(1, space_dim + 1);
       if (homogeneous_gcd == 0) {
         // NOTE: since tautological constraints are already filtered away
         // by iterators, here we must have an inconsistent constraint.
         PPL_ASSERT(c.is_inconsistent());
         return false;
       }
-      Linear_Expression le;
-      for (dimension_type i = space_dim; i-- > 0; )
-	le += (c.coefficient(Variable(i)) / homogeneous_gcd) * Variable(i);
-      // Add the integer part of `inhomogeneous'.
-      le += (inhomogeneous / homogeneous_gcd);
+      Linear_Expression le(c);
+      if (homogeneous_gcd != 1)
+        le /= homogeneous_gcd;
       // Further tighten the constraint if the inhomogeneous term
       // was integer, i.e., if `homogeneous_gcd' divides `inhomogeneous'.
       gcd_assign(gcd, homogeneous_gcd, inhomogeneous);
@@ -637,10 +622,7 @@ PPL::Polyhedron::contains_integer_point() const {
 	// Compute the GCD of the coefficients of c
 	// (disregarding the inhomogeneous term)
 	// to see whether or not the inhomogeneous term can be tightened.
-	homogeneous_gcd = 0;
-	for (dimension_type i = space_dim; i-- > 0; )
-	  gcd_assign(homogeneous_gcd,
-		     homogeneous_gcd, c.coefficient(Variable(i)));
+	homogeneous_gcd = c.expression().gcd(1, space_dim + 1);
         if (homogeneous_gcd == 0) {
           // NOTE: since tautological constraints are already filtered away
           // by iterators, here we must have an inconsistent constraint.
@@ -730,27 +712,25 @@ PPL::Polyhedron::constrains(const Variable var) const {
     for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
       const Generator& gen_sys_i = gen_sys[i];
       if (gen_sys_i.is_line_or_ray()) {
-	const Linear_Row& row = gen_sys_i;
-	const int sign = sgn(row.coefficient(var_id));
+	const int sign = sgn(gen_sys_i.coefficient(var));
 	if (sign != 0) {
-	  for (dimension_type j = space_dim+1; --j > 0; )
-	    if (j != var_id && row[j] != 0)
-	      goto next;
-	  if (gen_sys_i.is_line())
-	    return true;
-	  if (sign > 0)
-	    if (have_negative_ray)
-	      return true;
-	    else
-	      have_positive_ray = true;
-	  else if (have_positive_ray)
-	    return true;
-	  else
-	    have_negative_ray = true;
+          if (gen_sys_i.expression().all_zeroes(1, var_id)
+              && gen_sys_i.expression().all_zeroes(var_id + 1, space_dim + 1)) {
+            
+            if (gen_sys_i.is_line())
+              return true;
+            if (sign > 0)
+              if (have_negative_ray)
+                return true;
+              else
+                have_positive_ray = true;
+            else if (have_positive_ray)
+              return true;
+            else
+              have_negative_ray = true;
+          }
 	}
       }
-    next:
-      ;
     }
 
     // We are still here: at least we know that, since generators are
@@ -782,11 +762,6 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
   using std::cerr;
 #endif
 
-  // The expected number of columns in the constraint and generator
-  // systems, if they are not empty.
-  const dimension_type poly_num_columns
-    = space_dim + (is_necessarily_closed() ? 1 : 2);
-
   // Check whether the topologies of `con_sys' and `gen_sys' agree.
   if (con_sys.topology() != gen_sys.topology()) {
 #ifndef NDEBUG
@@ -796,12 +771,6 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
     goto bomb;
   }
 
-  // Check whether the saturation matrices are well-formed.
-  if (!sat_c.OK())
-    goto bomb;
-  if (!sat_g.OK())
-    goto bomb;
-
   // Check whether the status information is legal.
   if (!status.OK())
     goto bomb;
@@ -900,7 +869,7 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
   // `sat_c'   : number of generators  x number of constraints
   // `sat_g'   : number of constraints x number of generators.
   if (constraints_are_up_to_date()) {
-    if (con_sys.num_columns() != poly_num_columns) {
+    if (con_sys.space_dimension() != space_dim) {
 #ifndef NDEBUG
       cerr << "Incompatible size! (con_sys and space_dim)"
 	   << endl;
@@ -924,7 +893,7 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
 	goto bomb;
       }
     if (generators_are_up_to_date())
-      if (con_sys.num_columns() != gen_sys.num_columns()) {
+      if (con_sys.space_dimension() != gen_sys.space_dimension()) {
 #ifndef NDEBUG
 	cerr << "Incompatible size! (con_sys and gen_sys)"
 	     << endl;
@@ -934,7 +903,7 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
   }
 
   if (generators_are_up_to_date()) {
-    if (gen_sys.num_columns() != poly_num_columns) {
+    if (gen_sys.space_dimension() != space_dim) {
 #ifndef NDEBUG
       cerr << "Incompatible size! (gen_sys and space_dim)"
 	   << endl;
@@ -958,10 +927,6 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
 	goto bomb;
       }
 
-    // Check if the system of generators is well-formed.
-    if (!gen_sys.OK())
-      goto bomb;
-
     if (gen_sys.first_pending_row() == 0) {
 #ifndef NDEBUG
       cerr << "Up-to-date generator system with all rows pending!"
@@ -995,7 +960,7 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
     if (!is_necessarily_closed()) {
       dimension_type num_points = 0;
       dimension_type num_closure_points = 0;
-      dimension_type eps_index = gen_sys.num_columns() - 1;
+      dimension_type eps_index = gen_sys.space_dimension() + 1;
       for (dimension_type i = gen_sys.num_rows(); i-- > 0; )
 	if (!gen_sys[i].is_line_or_ray())
 	  if (gen_sys[i][eps_index] > 0)
@@ -1017,9 +982,10 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
       // lines, rays and points of the polyhedron must be the same as
       // of a temporary, minimized one. If this does not happen then
       // the polyhedron is not OK.
-      Constraint_System new_con_sys(topology());
+      Constraint_System new_con_sys(topology(), default_con_sys_repr);
       Generator_System gs_without_pending = gen_sys;
-      gs_without_pending.erase_to_end(gen_sys.first_pending_row());
+      gs_without_pending.remove_trailing_rows(gs_without_pending.num_rows()
+                                              - gen_sys.first_pending_row());
       gs_without_pending.unset_pending_rows();
       Generator_System copy_of_gen_sys = gs_without_pending;
       Bit_Matrix new_sat_c;
@@ -1071,10 +1037,6 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
   }
 
   if (constraints_are_up_to_date()) {
-    // Check if the system of constraints is well-formed.
-    if (!con_sys.OK())
-      goto bomb;
-
     if (con_sys.first_pending_row() == 0) {
 #ifndef NDEBUG
       cerr << "Up-to-date constraint system with all rows pending!"
@@ -1108,9 +1070,8 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
       // must also contain a (combination of) the constraint epsilon >= 0,
       // i.e., a constraint with a positive epsilon coefficient.
       bool no_epsilon_geq_zero = true;
-      const dimension_type eps_index = con_sys.num_columns() - 1;
       for (dimension_type i = con_sys.num_rows(); i-- > 0; )
-	if (con_sys[i][eps_index] > 0) {
+	if (con_sys[i].epsilon_coefficient() > 0) {
 	  no_epsilon_geq_zero = false;
 	  break;
 	}
@@ -1125,12 +1086,13 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
     }
 
     Constraint_System cs_without_pending = con_sys;
-    cs_without_pending.erase_to_end(con_sys.first_pending_row());
+    cs_without_pending.remove_trailing_rows(cs_without_pending.num_rows()
+                                            - con_sys.first_pending_row());
     cs_without_pending.unset_pending_rows();
     Constraint_System copy_of_con_sys = cs_without_pending;
     bool empty = false;
     if (check_not_empty || constraints_are_minimized()) {
-      Generator_System new_gen_sys(topology());
+      Generator_System new_gen_sys(topology(), default_gen_sys_repr);
       Bit_Matrix new_sat_g;
       empty = minimize(true, copy_of_con_sys, new_gen_sys, new_sat_g);
     }
@@ -1189,28 +1151,32 @@ PPL::Polyhedron::OK(bool check_not_empty) const {
     for (dimension_type i = sat_c.num_rows(); i-- > 0; ) {
       const Generator tmp_gen = gen_sys[i];
       const Bit_Row tmp_sat = sat_c[i];
-      for (dimension_type j = sat_c.num_columns(); j-- > 0; )
-	if (Scalar_Products::sign(con_sys[j], tmp_gen) != tmp_sat[j]) {
+      for (dimension_type j = sat_c.num_columns(); j-- > 0; ) {
+	const bool sat_j = (Scalar_Products::sign(con_sys[j], tmp_gen) == 0);
+	if (sat_j == tmp_sat[j]) {
 #ifndef NDEBUG
 	  cerr << "sat_c is declared up-to-date, but it is not!"
 	       << endl;
 #endif
 	  goto bomb;
 	}
+      }
     }
 
   if (sat_g_is_up_to_date())
     for (dimension_type i = sat_g.num_rows(); i-- > 0; ) {
       const Constraint tmp_con = con_sys[i];
       const Bit_Row tmp_sat = sat_g[i];
-      for (dimension_type j = sat_g.num_columns(); j-- > 0; )
-	if (Scalar_Products::sign(tmp_con, gen_sys[j]) != tmp_sat[j]) {
+      for (dimension_type j = sat_g.num_columns(); j-- > 0; ) {
+	const bool sat_j = (Scalar_Products::sign(tmp_con, gen_sys[j]) == 0);
+	if (sat_j == tmp_sat[j]) {
 #ifndef NDEBUG
 	  cerr << "sat_g is declared up-to-date, but it is not!"
 	       << endl;
 #endif
 	  goto bomb;
 	}
+      }
     }
 
   if (has_pending_constraints()) {
@@ -1303,8 +1269,7 @@ PPL::Polyhedron::add_congruence(const Congruence& cg) {
   // Add the equality.
   Linear_Expression le(cg);
   Constraint c(le, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
+
   refine_no_check(c);
 }
 
@@ -1351,9 +1316,10 @@ PPL::Polyhedron::add_generator(const Generator& g) {
 	// a corresponding closure point:
 	// turn the just inserted point into the corresponding
 	// (normalized) closure point.
-	Generator& cp = gen_sys[gen_sys.num_rows() - 1];
-	cp[space_dim + 1] = 0;
-	cp.normalize();
+	gen_sys.sys.rows.back().set_epsilon_coefficient(0);
+	gen_sys.sys.rows.back().expr.normalize();
+        PPL_ASSERT(gen_sys.sys.rows.back().OK());
+        PPL_ASSERT(gen_sys.sys.OK());
 	// Re-insert the point (which is already normalized).
 	gen_sys.insert(g);
       }
@@ -1389,14 +1355,15 @@ PPL::Polyhedron::add_generator(const Generator& g) {
 	// a corresponding closure point:
 	// turn the just inserted point into the corresponding
 	// (normalized) closure point.
-	Generator& cp = gen_sys[gen_sys.num_rows() - 1];
-	cp[space_dim + 1] = 0;
-	cp.normalize();
-	// Re-insert the point (which is already normalized).
-	if (has_pending)
-	  gen_sys.insert_pending(g);
-	else
-	  gen_sys.insert(g);
+	gen_sys.sys.rows.back().set_epsilon_coefficient(0);
+	gen_sys.sys.rows.back().expr.normalize();
+        PPL_ASSERT(gen_sys.sys.rows.back().OK());
+        PPL_ASSERT(gen_sys.sys.OK());
+        // Re-insert the point (which is already normalized).
+        if (has_pending)
+          gen_sys.insert_pending(g);
+        else
+          gen_sys.insert(g);
       }
     }
     else {
@@ -1426,8 +1393,9 @@ PPL::Polyhedron::add_generator(const Generator& g) {
 	else
 	  gen_sys.insert(Generator::point(nc_expr, g.divisor()));
 	break;
-      default:
-	throw_runtime_error("add_generator(const Generator& g)");
+      case Generator::CLOSURE_POINT:
+        PPL_UNREACHABLE;
+	break;
       }
     }
 
@@ -1500,37 +1468,18 @@ PPL::Polyhedron::add_recycled_constraints(Constraint_System& cs) {
   const bool adding_pending = can_have_something_pending();
 
   // Here we do not require `con_sys' to be sorted.
-  // also, we _swap_ (instead of copying) the coefficients of `cs'
-  // (which is not a const).
-  const dimension_type old_num_rows = con_sys.num_rows();
-  const dimension_type cs_num_rows = cs.num_rows();
-  const dimension_type cs_num_columns = cs.num_columns();
-  con_sys.add_zero_rows(cs_num_rows,
-			Linear_Row::Flags(topology(),
-					  Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-  for (dimension_type i = cs_num_rows; i-- > 0; ) {
-    // NOTE: we cannot directly swap the rows, since they might have
-    // different capacities (besides possibly having different sizes):
-    // thus, we steal one coefficient at a time.
-    Constraint& new_c = con_sys[old_num_rows + i];
-    Constraint& old_c = cs[i];
-    if (old_c.is_equality())
-      new_c.set_is_equality();
-    for (dimension_type j = cs_num_columns; j-- > 0; )
-      std::swap(new_c[j], old_c[j]);
-  }
-
-  if (adding_pending)
+  // also, we _recycle_ (instead of copying) the coefficients of `cs'.
+  if (adding_pending) {
+    con_sys.insert_pending(cs, Recycle_Input());
     set_constraints_pending();
+  }
   else {
-    // The newly added ones are not pending constraints.
-    con_sys.unset_pending_rows();
-    // They have been simply appended.
-    con_sys.set_sorted(false);
+    con_sys.insert(cs, Recycle_Input());
     // Constraints are not minimized and generators are not up-to-date.
     clear_constraints_minimized();
     clear_generators_up_to_date();
   }
+
   // Note: the constraint system may have become unsatisfiable, thus
   // we do not check for satisfiability.
   PPL_ASSERT_HEAVY(OK());
@@ -1584,13 +1533,13 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
     if (!gs.has_points())
       throw_invalid_generators("add_recycled_generators(gs)", "gs");
     // The polyhedron is no longer empty and generators are up-to-date.
-    std::swap(gen_sys, gs);
+    swap(gen_sys, gs);
     if (gen_sys.num_pending_rows() > 0) {
       // Even though `gs' has pending generators, since the constraints
       // of the polyhedron are not up-to-date, the polyhedron cannot
       // have pending generators. By integrating the pending part
       // of `gen_sys' we may loose sortedness.
-      gen_sys.unset_pending_rows();
+      gen_sys.sys.index_first_pending = gen_sys.num_rows();
       gen_sys.set_sorted(false);
     }
     set_generators_up_to_date();
@@ -1599,36 +1548,27 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
     return;
   }
 
-  const bool adding_pending = can_have_something_pending();
-
-  // Here we do not require `gen_sys' to be sorted.
-  // also, we _swap_ (instead of copying) the coefficients of `gs'
-  // (which is not a const).
-  const dimension_type old_num_rows = gen_sys.num_rows();
-  const dimension_type gs_num_rows = gs.num_rows();
-  const dimension_type gs_num_columns = gs.num_columns();
-  gen_sys.add_zero_rows(gs_num_rows,
-			Linear_Row::Flags(topology(),
-					  Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-  for (dimension_type i = gs_num_rows; i-- > 0; ) {
-    // NOTE: we cannot directly swap the rows, since they might have
-    // different capacities (besides possibly having different sizes):
-    // thus, we steal one coefficient at a time.
-    Generator& new_g = gen_sys[old_num_rows + i];
-    Generator& old_g = gs[i];
-    if (old_g.is_line())
-      new_g.set_is_line();
-    for (dimension_type j = gs_num_columns; j-- > 0; )
-      std::swap(new_g[j], old_g[j]);
-  }
+  if (can_have_something_pending()) {
+    // Here we do not require `gen_sys' to be sorted.
+    // also, we _remove_ (instead of copying) the rows of `gs'
+    // (which is not a const).
+    for (dimension_type i = 0; i < gs.num_rows(); ++i) {
+      gs.sys.rows[i].set_topology(topology());
+      gen_sys.insert_pending(gs.sys.rows[i], Recycle_Input());
+    }
+    gs.clear();
 
-  if (adding_pending)
     set_generators_pending();
-  else {
-    // The newly added ones are not pending generators.
-    gen_sys.unset_pending_rows();
-    // They have been simply appended.
-    gen_sys.set_sorted(false);
+  } else {
+    // Here we do not require `gen_sys' to be sorted.
+    // also, we _remove_ (instead of copying) the coefficients of `gs'
+    // (which is not a const).
+    for (dimension_type i = 0; i < gs.num_rows(); ++i) {
+      gs.sys.rows[i].set_topology(topology());
+      gen_sys.insert(gs.sys.rows[i], Recycle_Input());
+    }
+    gs.clear();
+
     // Constraints are not up-to-date and generators are not minimized.
     clear_constraints_up_to_date();
     clear_generators_minimized();
@@ -1657,8 +1597,7 @@ PPL::Polyhedron::add_congruences(const Congruence_System& cgs) {
     if (cg.is_equality()) {
       Linear_Expression le(cg);
       Constraint c(le, Constraint::EQUALITY, NECESSARILY_CLOSED);
-      // Enforce normalization.
-      c.strong_normalize();
+
       // TODO: Consider stealing the row in c when adding it to cs.
       cs.insert(c);
       inserted = true;
@@ -1709,8 +1648,7 @@ PPL::Polyhedron::refine_with_congruence(const Congruence& cg) {
   if (cg.is_equality()) {
     Linear_Expression le(cg);
     Constraint c(le, Constraint::EQUALITY, NECESSARILY_CLOSED);
-    // Enforce normalization.
-    c.strong_normalize();
+
     refine_no_check(c);
   }
 }
@@ -1808,8 +1746,7 @@ PPL::Polyhedron::refine_with_congruences(const Congruence_System& cgs) {
     if (i->is_equality()) {
       Linear_Expression le(*i);
       Constraint c(le, Constraint::EQUALITY, NECESSARILY_CLOSED);
-      // Enforce normalization.
-      c.strong_normalize();
+
       // TODO: Consider stealing the row in c when adding it to cs.
       cs.insert(c);
       inserted = true;
@@ -1857,7 +1794,7 @@ PPL::Polyhedron::unconstrain(const Variable var) {
 
 void
 PPL::Polyhedron::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
+  // The cylindrification with respect to no dimensions is a no-op.
   // This case also captures the only legal cylindrification
   // of a polyhedron in a 0-dim space.
   if (vars.empty())
@@ -1940,7 +1877,7 @@ PPL::Polyhedron::intersection_assign(const Polyhedron& y) {
   // If `x' can support pending constraints,
   // the constraints of `y' are added as pending constraints of `x'.
   if (x.can_have_something_pending()) {
-    x.con_sys.add_pending_rows(y.con_sys);
+    x.con_sys.insert_pending(y.con_sys);
     x.set_constraints_pending();
   }
   else {
@@ -1951,7 +1888,7 @@ PPL::Polyhedron::intersection_assign(const Polyhedron& y) {
 	&& y.con_sys.is_sorted() && !y.has_pending_constraints())
       x.con_sys.merge_rows_assign(y.con_sys);
     else
-      x.con_sys.add_rows(y.con_sys);
+      x.con_sys.insert(y.con_sys);
     // Generators are no longer up-to-date and constraints are no
     // longer minimized.
     x.clear_generators_up_to_date();
@@ -1974,45 +1911,26 @@ struct Ruled_Out_Less_Than {
   }
 };
 
-bool
-add_to_system_and_check_independence(PPL::Linear_System& eq_sys,
-                                     const PPL::Linear_Row& eq) {
-  // Check if equality eqn is linear independent from eq_sys.
-  PPL_ASSERT(eq.is_line_or_equality());
-  eq_sys.insert(eq);
-  const PPL::dimension_type eq_sys_num_rows = eq_sys.num_rows();
-  const PPL::dimension_type rank = eq_sys.gauss(eq_sys_num_rows);
-  if (rank == eq_sys_num_rows)
-    // eq is linear independent.
-    return true;
-  else {
-    // eq is not linear independent.
-    PPL_ASSERT(rank == eq_sys_num_rows - 1);
-    eq_sys.erase_to_end(rank);
-    return false;
-  }
-}
-
 /*
-  Modifies the vector of pointers \p p_ineqs, setting to 0 those entries
+  Modifies the vector of pointers \p ineqs_p, setting to 0 those entries
   that point to redundant inequalities or masked equalities.
   The redundancy test is based on saturation matrix \p sat and
-  on knowing that there exists \p rank nonredundant equalities
-  (they are implicit, i.e., not explicitly listed in \p p_ineqs).
+  on knowing that there exists \p rank non-redundant equalities
+  (they are implicit, i.e., not explicitly listed in \p ineqs_p).
 */
 void
-drop_redundant_inequalities(std::vector<const PPL::Constraint*>& p_ineqs,
+drop_redundant_inequalities(std::vector<const PPL::Constraint*>& ineqs_p,
                             const PPL::Topology topology,
                             const PPL::Bit_Matrix& sat,
                             const PPL::dimension_type rank) {
   using namespace Parma_Polyhedra_Library;
-  const dimension_type num_rows = p_ineqs.size();
+  const dimension_type num_rows = ineqs_p.size();
   PPL_ASSERT(num_rows > 0);
   // `rank' is the rank of the (implicit) system of equalities.
-  const dimension_type space_dim = p_ineqs[0]->space_dimension();
+  const dimension_type space_dim = ineqs_p[0]->space_dimension();
   PPL_ASSERT(space_dim > 0 && space_dim >= rank);
   const dimension_type num_coefficients
-    = space_dim + (topology == NECESSARILY_CLOSED ? 0 : 1);
+    = space_dim + ((topology == NECESSARILY_CLOSED) ? 0U : 1U);
   const dimension_type min_sat = num_coefficients - rank;
   const dimension_type num_cols_sat = sat.num_columns();
 
@@ -2020,29 +1938,29 @@ drop_redundant_inequalities(std::vector<const PPL::Constraint*>& p_ineqs,
   for (dimension_type i = num_rows; i-- > 0; ) {
     if (sat[i].empty())
       // Masked equalities are redundant.
-      p_ineqs[i] = 0;
+      ineqs_p[i] = 0;
     else {
       const dimension_type num_sat = num_cols_sat - sat[i].count_ones();
       if (num_sat < min_sat)
-        p_ineqs[i] = 0;
+        ineqs_p[i] = 0;
     }
   }
 
   // Re-examine remaining inequalities.
   // Iteration index `i' is _intentionally_ increasing.
   for (dimension_type i = 0; i < num_rows; ++i) {
-    if (p_ineqs[i]) {
+    if (ineqs_p[i] != 0) {
       for (dimension_type j = 0; j < num_rows; ++j) {
         bool strict_subset;
-        if (p_ineqs[j] && i != j
+        if (ineqs_p[j] != 0 && i != j
             && subset_or_equal(sat[j], sat[i], strict_subset)) {
           if (strict_subset) {
-            p_ineqs[i] = 0;
+            ineqs_p[i] = 0;
             break;
           }
           else
             // Here `sat[j] == sat[i]'.
-            p_ineqs[j] = 0;
+            ineqs_p[j] = 0;
         }
       }
     }
@@ -2051,6 +1969,26 @@ drop_redundant_inequalities(std::vector<const PPL::Constraint*>& p_ineqs,
 
 } // namespace
 
+template <typename Linear_System1, typename Row2>
+bool
+PPL::Polyhedron::add_to_system_and_check_independence(Linear_System1& eq_sys,
+                                                      const Row2& eq) {
+  // Check if eq is linearly independent from eq_sys.
+  PPL_ASSERT(eq.is_line_or_equality());
+  eq_sys.insert(eq);
+  const PPL::dimension_type eq_sys_num_rows = eq_sys.num_rows();
+  const PPL::dimension_type rank = eq_sys.gauss(eq_sys_num_rows);
+  if (rank == eq_sys_num_rows)
+    // eq is linearly independent from eq_sys.
+    return true;
+  else {
+    // eq is not linearly independent from eq_sys.
+    PPL_ASSERT(rank == eq_sys_num_rows - 1);
+    eq_sys.remove_trailing_rows(1);
+    return false;
+  }
+}
+
 bool
 PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
   Polyhedron& x = *this;
@@ -2074,7 +2012,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
   // If `y' is empty, the biggest enlargement for `x' is the universe.
   if (!y.minimize()) {
     Polyhedron ph(x.topology(), x.space_dim, UNIVERSE);
-    swap(ph);
+    m_swap(ph);
     return false;
   }
 
@@ -2101,7 +2039,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
           ph.refine_no_check(le == 0);
           break;
         }
-        swap(ph);
+        m_swap(ph);
         PPL_ASSERT_HEAVY(OK());
 	return false;
       }
@@ -2163,14 +2101,14 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
         // closed, so that we can interpret the epsilon dimension as a
         // standard dimension. Be careful to reset the topology of `cs'
         // even on exceptional execution path.
-        const_cast<Constraint_System&>(y_cs).set_necessarily_closed();
+        const_cast<Constraint_System&>(y_cs).mark_as_necessarily_closed();
         try {
           lp.add_space_dimensions_and_embed(x.space_dim+1);
           lp.add_constraints(y_cs);
-          const_cast<Constraint_System&>(y_cs).set_not_necessarily_closed();
+          const_cast<Constraint_System&>(y_cs).mark_as_not_necessarily_closed();
         }
         catch (...) {
-          const_cast<Constraint_System&>(y_cs).set_not_necessarily_closed();
+          const_cast<Constraint_System&>(y_cs).mark_as_not_necessarily_closed();
           throw;
         }
       }
@@ -2265,8 +2203,9 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
                 Ruled_Out_Less_Than());
 
       for (std::vector<Ruled_Out_Pair>::const_iterator
-             j = ruled_out_vec.begin(), rov_end = ruled_out_vec.end();
-           j != rov_end;
+             j = ruled_out_vec.begin(),
+             ruled_out_vec_end = ruled_out_vec.end();
+           j != ruled_out_vec_end;
            ++j) {
         const Constraint& c = x_cs[j->constraint_index];
         result_cs.insert(c);
@@ -2275,13 +2214,13 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
         if (status == UNFEASIBLE_MIP_PROBLEM) {
           Polyhedron result_ph(x.topology(), x.space_dim, UNIVERSE);
           result_ph.add_constraints(result_cs);
-          x.swap(result_ph);
+          swap(x, result_ph);
           PPL_ASSERT_HEAVY(x.OK());
           return false;
         }
       }
       // Cannot exit from here.
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
     }
     else {
       // Here `z' is not empty and minimized.
@@ -2306,95 +2245,99 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
       PPL_ASSERT(x_cs_num_eq <= z_cs_num_eq && y_cs_num_eq <= z_cs_num_eq);
 
       // Identify non-redundant equalities.
-      Constraint_System nonred_eq;
-      dimension_type num_nonred_eq = 0;
-      const dimension_type needed_nonred_eq = z_cs_num_eq - y_cs_num_eq;
-      Linear_System eqs(x.topology());
-      if (needed_nonred_eq > 0) {
+      Constraint_System non_redundant_eq;
+      dimension_type num_non_redundant_eq = 0;
+      const dimension_type needed_non_redundant_eq = z_cs_num_eq - y_cs_num_eq;
+      Constraint_System eqs(x.topology());
+      if (needed_non_redundant_eq > 0) {
         // Populate eqs with the equalities from y.
         for (dimension_type i = 0; i < y_cs_num_eq; ++i)
           eqs.insert(y_cs[i]);
-        // Try to find another `needed_nonred_eq' linear independent
+        // Try to find another `needed_non_redundant_eq' linear independent
         // equalities among those from x.
         for (dimension_type i = 0; i < x_cs_num_eq; ++i) {
           const Constraint& x_cs_i = x_cs[i];
           if (add_to_system_and_check_independence(eqs, x_cs_i)) {
             // x_cs_i is linear independent.
-            nonred_eq.insert(x_cs_i);
-            ++num_nonred_eq;
-            if (num_nonred_eq == needed_nonred_eq)
+            non_redundant_eq.insert(x_cs_i);
+            ++num_non_redundant_eq;
+            if (num_non_redundant_eq == needed_non_redundant_eq)
               // Already found all the needed equalities.
               break;
           }
         }
-        // NOTE: if num_nonred_eq < needed_nonred_eq
+        // NOTE: if num_non_redundant_eq < needed_non_redundant_eq
         // then we haven't found all the needed equalities yet:
         // this means that some inequalities from x actually holds
         // as "masked" equalities in the context of y.
         PPL_ASSERT(eqs.num_rows() <= z_cs_num_eq);
-        PPL_ASSERT(num_nonred_eq <= needed_nonred_eq);
+        PPL_ASSERT(num_non_redundant_eq <= needed_non_redundant_eq);
         PPL_ASSERT(z_cs_num_eq - eqs.num_rows()
-               == needed_nonred_eq - num_nonred_eq);
+               == needed_non_redundant_eq - num_non_redundant_eq);
       }
 
       // Identify non-redundant inequalities.
       // Avoid useless copies (no modifications are needed).
-      std::vector<const Constraint*> p_nonred_ineq;
-      // Fill p_nonred_ineq with (pointers to) inequalities from y_cs ...
+      std::vector<const Constraint*> non_redundant_ineq_p;
+      // Fill non_redundant_ineq_p with (pointers to) inequalities
+      // from y_cs ...
       for (dimension_type i = y_cs_num_eq; i < y_cs_num_rows; ++i)
-        p_nonred_ineq.push_back(&y_cs[i]);
+        non_redundant_ineq_p.push_back(&y_cs[i]);
       // ... and (pointers to) non-redundant inequalities from x_cs.
       for (dimension_type i = x_cs_num_eq; i < x_cs_num_rows; ++i)
         if (!redundant_by_y[i])
-          p_nonred_ineq.push_back(&x_cs[i]);
+          non_redundant_ineq_p.push_back(&x_cs[i]);
 
-      const dimension_type p_nonred_ineq_size = p_nonred_ineq.size();
+      const dimension_type non_redundant_ineq_p_size
+        = non_redundant_ineq_p.size();
       const dimension_type y_cs_num_ineq = y_cs_num_rows - y_cs_num_eq;
 
       // Compute saturation info.
-      const dimension_type sat_num_rows = p_nonred_ineq_size;
+      const dimension_type sat_num_rows = non_redundant_ineq_p_size;
       Bit_Matrix sat(sat_num_rows, z_gs_num_rows);
       for (dimension_type i = sat_num_rows; i-- > 0; ) {
-        const Constraint& nonred_ineq_i = *(p_nonred_ineq[i]);
+        const Constraint& non_redundant_ineq_i = *(non_redundant_ineq_p[i]);
         Bit_Row& sat_i = sat[i];
         for (dimension_type j = z_gs_num_rows; j-- > 0; )
-          if (Scalar_Products::sign(nonred_ineq_i, z_gs[j]))
+          if (Scalar_Products::sign(non_redundant_ineq_i, z_gs[j]) != 0)
             sat_i.set(j);
-        if (sat_i.empty() && num_nonred_eq < needed_nonred_eq) {
-          // `nonred_ineq_i' is actually masking an equality
+        if (sat_i.empty() && num_non_redundant_eq < needed_non_redundant_eq) {
+          // `non_redundant_ineq_i' is actually masking an equality
           // and we are still looking for some masked inequalities.
           // Iteration goes downwards, so the inequality comes from x_cs.
           PPL_ASSERT(i >= y_cs_num_ineq);
           // Check if the equality is independent in eqs.
-          Linear_Row masked_eq = Linear_Row(nonred_ineq_i);
+          Constraint masked_eq = non_redundant_ineq_i;
           masked_eq.set_is_line_or_equality();
           masked_eq.sign_normalize();
           if (add_to_system_and_check_independence(eqs, masked_eq)) {
-            // It is independent: add the _inequality_ to nonred_eq.
-            nonred_eq.insert(nonred_ineq_i);
-            ++num_nonred_eq;
+            // It is independent: add the _inequality_ to non_redundant_eq.
+            non_redundant_eq.insert(non_redundant_ineq_i);
+            ++num_non_redundant_eq;
           }
         }
       }
       // Here we have already found all the needed (masked) equalities.
-      PPL_ASSERT(num_nonred_eq == needed_nonred_eq);
+      PPL_ASSERT(num_non_redundant_eq == needed_non_redundant_eq);
 
-      drop_redundant_inequalities(p_nonred_ineq, x.topology(),
+      drop_redundant_inequalities(non_redundant_ineq_p, x.topology(),
                                   sat, z_cs_num_eq);
 
-      // Place the nonredundant (masked) equalities into result_cs.
-      result_cs.swap(nonred_eq);
-      // Add to result_cs the nonredundant inequalities from x_cs,
+      // Place the non-redundant (masked) equalities into result_cs.
+      swap(result_cs, non_redundant_eq);
+      // Add to result_cs the non-redundant inequalities from x_cs,
       // i.e., those having indices no smaller than y_cs_num_ineq.
-      for (dimension_type i = y_cs_num_ineq; i < p_nonred_ineq_size; ++i)
-        if (p_nonred_ineq[i])
-          result_cs.insert(*p_nonred_ineq[i]);
+      for (dimension_type i = y_cs_num_ineq;
+           i < non_redundant_ineq_p_size;
+           ++i)
+        if (non_redundant_ineq_p[i] != 0)
+          result_cs.insert(*non_redundant_ineq_p[i]);
     }
   }
 
   Polyhedron result_ph(x.topology(), x.space_dim, UNIVERSE);
   result_ph.add_recycled_constraints(result_cs);
-  x.swap(result_ph);
+  swap(x, result_ph);
   PPL_ASSERT_HEAVY(x.OK());
   return true;
 }
@@ -2444,7 +2387,7 @@ PPL::Polyhedron::poly_hull_assign(const Polyhedron& y) {
   // If `x' can support pending generators,
   // the generators of `y' are added as pending generators of `x'.
   if (x.can_have_something_pending()) {
-    x.gen_sys.add_pending_rows(y.gen_sys);
+    x.gen_sys.insert_pending(y.gen_sys);
     x.set_generators_pending();
   }
   else {
@@ -2455,7 +2398,7 @@ PPL::Polyhedron::poly_hull_assign(const Polyhedron& y) {
 	&& y.gen_sys.is_sorted() && !y.has_pending_generators())
       x.gen_sys.merge_rows_assign(y.gen_sys);
     else
-      x.gen_sys.add_rows(y.gen_sys);
+      x.gen_sys.insert(y.gen_sys);
     // Constraints are no longer up-to-date
     // and generators are no longer minimized.
     x.clear_constraints_up_to_date();
@@ -2582,28 +2525,28 @@ affine_image(const Variable var,
       // Generator_System::affine_image() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	gen_sys.affine_image(var_space_dim, expr, denominator);
+	gen_sys.affine_image(var, expr, denominator);
       else
-	gen_sys.affine_image(var_space_dim, -expr, -denominator);
+	gen_sys.affine_image(var, -expr, -denominator);
     }
     if (constraints_are_up_to_date()) {
       // To build the inverse transformation,
       // after copying and negating `expr',
       // we exchange the roles of `expr[var_space_dim]' and `denominator'.
       Linear_Expression inverse;
-      if (expr[var_space_dim] > 0) {
+      Coefficient_traits::const_reference c = expr.coefficient(var);
+      if (c > 0) {
 	inverse = -expr;
-	inverse[var_space_dim] = denominator;
-	con_sys.affine_preimage(var_space_dim, inverse, expr[var_space_dim]);
+	inverse.set_coefficient(var, denominator);
+	con_sys.affine_preimage(var, inverse, c);
       }
       else {
 	// The new denominator is negative: we negate everything once
 	// more, as Constraint_System::affine_preimage() requires the
 	// third argument to be positive.
 	inverse = expr;
-	inverse[var_space_dim] = denominator;
-	neg_assign(inverse[var_space_dim]);
-	con_sys.affine_preimage(var_space_dim, inverse, -expr[var_space_dim]);
+        inverse.set_coefficient(var, -denominator);
+	con_sys.affine_preimage(var, inverse, -c);
       }
     }
   }
@@ -2618,9 +2561,9 @@ affine_image(const Variable var,
       // Generator_System::affine_image() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	gen_sys.affine_image(var_space_dim, expr, denominator);
+	gen_sys.affine_image(var, expr, denominator);
       else
-	gen_sys.affine_image(var_space_dim, -expr, -denominator);
+	gen_sys.affine_image(var, -expr, -denominator);
 
       clear_constraints_up_to_date();
       clear_generators_minimized();
@@ -2661,28 +2604,28 @@ affine_preimage(const Variable var,
       // Constraint_System::affine_preimage() requires the third argument
       // to be a positive Coefficient.
       if (denominator > 0)
-	con_sys.affine_preimage(var_space_dim, expr, denominator);
+	con_sys.affine_preimage(var, expr, denominator);
       else
-	con_sys.affine_preimage(var_space_dim, -expr, -denominator);
+	con_sys.affine_preimage(var, -expr, -denominator);
     }
     if (generators_are_up_to_date()) {
       // To build the inverse transformation,
       // after copying and negating `expr',
       // we exchange the roles of `expr[var_space_dim]' and `denominator'.
       Linear_Expression inverse;
-      if (expr[var_space_dim] > 0) {
+      Coefficient_traits::const_reference c = expr.coefficient(var);
+      if (c > 0) {
 	inverse = -expr;
-	inverse[var_space_dim] = denominator;
-	gen_sys.affine_image(var_space_dim, inverse, expr[var_space_dim]);
+	inverse.set_coefficient(var, denominator);
+	gen_sys.affine_image(var, inverse, c);
       }
       else {
 	// The new denominator is negative:
 	// we negate everything once more, as Generator_System::affine_image()
 	// requires the third argument to be positive.
 	inverse = expr;
-	inverse[var_space_dim] = denominator;
-	neg_assign(inverse[var_space_dim]);
-	gen_sys.affine_image(var_space_dim, inverse, -expr[var_space_dim]);
+        inverse.set_coefficient(var, -denominator);
+	gen_sys.affine_image(var, inverse, -c);
       }
     }
   }
@@ -2696,9 +2639,9 @@ affine_preimage(const Variable var,
     // Constraint_System::affine_preimage() requires the third argument
     // to be a positive Coefficient.
     if (denominator > 0)
-      con_sys.affine_preimage(var_space_dim, expr, denominator);
+      con_sys.affine_preimage(var, expr, denominator);
     else
-      con_sys.affine_preimage(var_space_dim, -expr, -denominator);
+      con_sys.affine_preimage(var, -expr, -denominator);
     // Generators, minimality and saturators are no longer valid.
     clear_generators_up_to_date();
     clear_constraints_minimized();
@@ -2728,11 +2671,11 @@ bounded_affine_image(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
 				 "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
 				 "ub", ub_expr);
 
   // Any image of an empty polyhedron is empty.
@@ -2765,7 +2708,7 @@ bounded_affine_image(const Variable var,
   else {
     // Here `var' occurs in both `lb_expr' and `ub_expr'.
     // To ease the computation, we add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
     // Constrain the new dimension to be equal to `ub_expr'.
     refine_no_check(denominator*new_var == ub_expr);
@@ -2803,11 +2746,11 @@ bounded_affine_preimage(const Variable var,
   // greater than the dimension of `*this'.
   const dimension_type lb_space_dim = lb_expr.space_dimension();
   if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "lb", lb_expr);
   const dimension_type ub_space_dim = ub_expr.space_dimension();
   if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
 				 "ub", ub_expr);
 
   // Any preimage of an empty polyhedron is empty.
@@ -2829,17 +2772,15 @@ bounded_affine_preimage(const Variable var,
   else {
     // Here `var' occurs in `lb_expr' or `ub_expr'.
     // To ease the computation, add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
+
     // Swap dimensions `var' and `new_var'.
-    std::vector<dimension_type> swapping_cycle;
-    swapping_cycle.push_back(var_space_dim);
-    swapping_cycle.push_back(space_dim);
-    swapping_cycle.push_back(0);
     if (constraints_are_up_to_date())
-      con_sys.permute_columns(swapping_cycle);
+      con_sys.swap_space_dimensions(var, new_var);
     if (generators_are_up_to_date())
-      gen_sys.permute_columns(swapping_cycle);
+      gen_sys.swap_space_dimensions(var, new_var);
+
     // Constrain the new dimension as dictated by `lb_expr' and `ub_expr'.
     // (we force minimization because we will need the generators).
     if (denominator > 0) {
@@ -2915,35 +2856,51 @@ generalized_affine_image(const Variable var,
       PPL_ASSERT(!is_necessarily_closed());
       // While adding the ray, we minimize the generators
       // in order to avoid adding too many redundant generators later.
-      add_generator(ray(relsym == GREATER_THAN ? var : -var));
+      add_generator(ray((relsym == GREATER_THAN) ? var : -var));
       minimize();
+
       // We split each point of the generator system into two generators:
       // a closure point, having the same coordinates of the given point,
       // and another point, having the same coordinates for all but the
       // `var' dimension, which is displaced along the direction of the
       // newly introduced ray.
-      const dimension_type eps_index = space_dim + 1;
-      for (dimension_type i =  gen_sys.num_rows(); i-- > 0; )
-	if (gen_sys[i].is_point()) {
-	  // Add a `var'-displaced copy of `gen_sys[i]' to the generator system.
-	  gen_sys.add_row(gen_sys[i]);
-	  if (relsym == GREATER_THAN)
-	    ++gen_sys[gen_sys.num_rows()-1][var_space_dim];
-	  else
-	    --gen_sys[gen_sys.num_rows()-1][var_space_dim];
-	  // Transform `gen_sys[i]' into a closure point.
-	  gen_sys[i][eps_index] = 0;
+      for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
+        const Generator& gen_i = gen_sys.sys.rows[i];
+	if (gen_i.is_point()) {
+          // Add a copy of `gen_i' at the end of the system.
+          // Note: copying is really meant, to avoid undefined behavior.
+          gen_sys.sys.rows.push_back(Generator(gen_i));
+          // Note: (re-)compute references (invalidated by push_back).
+          Generator& old_gen = gen_sys.sys.rows[i];
+          Generator& new_gen = gen_sys.sys.rows.back();
+          // Transform `old_gen' into a closure point.
+          old_gen.set_epsilon_coefficient(0);
+          old_gen.expr.normalize();
+          PPL_ASSERT(old_gen.OK());
+          // Displace `new_gen' by `var' (i.e., along the new ray).
+          if (relsym == GREATER_THAN)
+            new_gen.expr += var;
+          else
+            new_gen.expr -= var;
+          new_gen.expr.normalize();
+          PPL_ASSERT(new_gen.OK());
 	}
+      }
+      // Sortedness no longer hold.
+      gen_sys.set_sorted(false);
+      gen_sys.unset_pending_rows();
+      PPL_ASSERT(gen_sys.sys.OK());
+
       clear_constraints_up_to_date();
       clear_generators_minimized();
-      gen_sys.set_sorted(false);
       clear_sat_c_up_to_date();
       clear_sat_g_up_to_date();
     }
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   PPL_ASSERT_HEAVY(OK());
 }
@@ -3004,7 +2961,8 @@ generalized_affine_preimage(const Variable var,
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    return;
   }
 
   // Check whether the preimage of this affine relation can be easily
@@ -3044,7 +3002,8 @@ generalized_affine_preimage(const Variable var,
     break;
   default:
     // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+    PPL_UNREACHABLE;
+    break;
   }
   unconstrain(var);
   PPL_ASSERT_HEAVY(OK());
@@ -3084,9 +3043,8 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
 
   // Compute the actual space dimension of `lhs',
   // i.e., the highest dimension having a non-zero coefficient in `lhs'.
-  for ( ; lhs_space_dim > 0; lhs_space_dim--)
-    if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0)
-      break;
+  lhs_space_dim = lhs.last_nonzero();
+
   // If all variables have a zero coefficient, then `lhs' is a constant:
   // we can simply add the constraint `lhs relsym rhs'.
   if (lhs_space_dim == 0) {
@@ -3108,7 +3066,8 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
       break;
     case NOT_EQUAL:
       // The NOT_EQUAL case has been already dealt with.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     return;
   }
@@ -3118,18 +3077,16 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
   // While at it, check whether or not there exists a variable
   // occurring in both `lhs' and `rhs'.
   Generator_System new_lines;
-  bool lhs_vars_intersects_rhs_vars = false;
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      new_lines.insert(line(Variable(i)));
-      if (rhs.coefficient(Variable(i)) != 0)
-	lhs_vars_intersects_rhs_vars = true;
-    }
+  for (Linear_Expression::const_iterator
+      i = lhs.begin(), i_end = lhs.end(); i != i_end; ++i)
+    new_lines.insert(line(i.variable()));
 
-  if (lhs_vars_intersects_rhs_vars) {
+  const dimension_type num_common_dims
+    = std::min(lhs.space_dimension(), rhs.space_dimension());
+  if (lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
     // Some variables in `lhs' also occur in `rhs'.
     // To ease the computation, we add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
 
     // Constrain the new dimension to be equal to the right hand side.
@@ -3160,7 +3117,8 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
 	break;
       case NOT_EQUAL:
 	// The NOT_EQUAL case has been already dealt with.
-	throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
     }
     // Remove the temporarily added dimension.
@@ -3198,7 +3156,8 @@ PPL::Polyhedron::generalized_affine_image(const Linear_Expression& lhs,
       break;
     case NOT_EQUAL:
       // The NOT_EQUAL case has been already dealt with.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
   }
   PPL_ASSERT_HEAVY(OK());
@@ -3238,9 +3197,7 @@ PPL::Polyhedron::generalized_affine_preimage(const Linear_Expression& lhs,
 
   // Compute the actual space dimension of `lhs',
   // i.e., the highest dimension having a non-zero coefficient in `lhs'.
-  for ( ; lhs_space_dim > 0; lhs_space_dim--)
-    if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0)
-      break;
+  lhs_space_dim = lhs.last_nonzero();
 
   // If all variables have a zero coefficient, then `lhs' is a constant:
   // in this case, preimage and image happen to be the same.
@@ -3254,18 +3211,16 @@ PPL::Polyhedron::generalized_affine_preimage(const Linear_Expression& lhs,
   // While at it, check whether or not there exists a variable
   // occurring in both `lhs' and `rhs'.
   Generator_System new_lines;
-  bool lhs_vars_intersects_rhs_vars = false;
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      new_lines.insert(line(Variable(i)));
-      if (rhs.coefficient(Variable(i)) != 0)
-	lhs_vars_intersects_rhs_vars = true;
-    }
+  for (Linear_Expression::const_iterator
+      i = lhs.begin(), i_end = lhs.end(); i != i_end; ++i)
+    new_lines.insert(line(i.variable()));
 
-  if (lhs_vars_intersects_rhs_vars) {
+  const dimension_type num_common_dims
+    = std::min(lhs.space_dimension(), rhs.space_dimension());
+  if (lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
     // Some variables in `lhs' also occur in `rhs'.
     // To ease the computation, we add an additional dimension.
-    const Variable new_var = Variable(space_dim);
+    const Variable new_var(space_dim);
     add_space_dimensions_and_embed(1);
 
     // Constrain the new dimension to be equal to `lhs'
@@ -3295,7 +3250,8 @@ PPL::Polyhedron::generalized_affine_preimage(const Linear_Expression& lhs,
 	break;
       case NOT_EQUAL:
 	// The NOT_EQUAL case has been already dealt with.
-	throw std::runtime_error("PPL internal error");
+        PPL_UNREACHABLE;
+        break;
       }
     }
     // Remove the temporarily added dimension.
@@ -3325,7 +3281,8 @@ PPL::Polyhedron::generalized_affine_preimage(const Linear_Expression& lhs,
       break;
     case NOT_EQUAL:
       // The NOT_EQUAL case has been already dealt with.
-      throw std::runtime_error("PPL internal error");
+      PPL_UNREACHABLE;
+      break;
     }
     // Any image of an empty polyhedron is empty.
     // Note: DO check for emptiness here, as we will add lines.
@@ -3367,69 +3324,73 @@ PPL::Polyhedron::time_elapse_assign(const Polyhedron& y) {
   // At this point both generator systems are up-to-date,
   // possibly containing pending generators.
   Generator_System gs = y.gen_sys;
-  dimension_type gs_num_rows = gs.num_rows();
+  const dimension_type old_gs_num_rows = gs.num_rows();
+  dimension_type gs_num_rows = old_gs_num_rows;
 
-  if (!x.is_necessarily_closed())
+  if (!x.is_necessarily_closed()) {
     // `x' and `y' are NNC polyhedra.
-    for (dimension_type i = gs_num_rows; i-- > 0; )
-      switch (gs[i].type()) {
+    for (dimension_type i = gs_num_rows; i-- > 0; ) {
+      Generator& g = gs.sys.rows[i];
+      switch (g.type()) {
       case Generator::POINT:
 	// The points of `gs' can be erased,
 	// since their role can be played by closure points.
 	--gs_num_rows;
-	std::swap(gs[i], gs[gs_num_rows]);
+        swap(g, gs.sys.rows[gs_num_rows]);
 	break;
       case Generator::CLOSURE_POINT:
 	{
-	  Generator& cp = gs[i];
 	  // If it is the origin, erase it.
-	  if (cp.all_homogeneous_terms_are_zero()) {
+	  if (g.expr.all_homogeneous_terms_are_zero()) {
 	    --gs_num_rows;
-	    std::swap(cp, gs[gs_num_rows]);
+            swap(g, gs.sys.rows[gs_num_rows]);
 	  }
 	  // Otherwise, transform the closure point into a ray.
 	  else {
-	    cp[0] = 0;
+	    g.expr.set_inhomogeneous_term(0);
 	    // Enforce normalization.
-	    cp.normalize();
+	    g.expr.normalize();
+            PPL_ASSERT(g.OK());
 	  }
 	}
 	break;
-      default:
+      case Generator::RAY:
+      case Generator::LINE:
 	// For rays and lines, nothing to be done.
 	break;
       }
-  else
+    }
+  }
+  else {
     // `x' and `y' are C polyhedra.
-    for (dimension_type i = gs_num_rows; i-- > 0; )
-      switch (gs[i].type()) {
-      case Generator::POINT:
-	{
-	  Generator& p = gs[i];
-	  // If it is the origin, erase it.
-	  if (p.all_homogeneous_terms_are_zero()) {
-	    --gs_num_rows;
-	    std::swap(p, gs[gs_num_rows]);
-	  }
-	  // Otherwise, transform the point into a ray.
-	  else {
-	    p[0] = 0;
-	    // Enforce normalization.
-	    p.normalize();
-	  }
-	}
-	break;
-      default:
-	// For rays and lines, nothing to be done.
-	break;
+    for (dimension_type i = gs_num_rows; i-- > 0; ) {
+      // For rays and lines, nothing to be done.
+      if (gs[i].is_point()) {
+        Generator& p = gs.sys.rows[i];
+        // If it is the origin, erase it.
+        if (p.expression().all_homogeneous_terms_are_zero()) {
+          --gs_num_rows;
+          swap(p, gs.sys.rows[gs_num_rows]);
+        }
+        // Otherwise, transform the point into a ray.
+        else {
+          p.expr.set_inhomogeneous_term(0);
+          // Enforce normalization.
+          p.expr.normalize();
+          PPL_ASSERT(p.OK());
+        }
       }
+    }
+  }
   // If it was present, erase the origin point or closure point,
   // which cannot be transformed into a valid ray or line.
   // For NNC polyhedra, also erase all the points of `gs',
   // whose role can be played by the closure points.
   // These have been previously moved to the end of `gs'.
-  gs.erase_to_end(gs_num_rows);
+  gs.sys.rows.resize(gs_num_rows);
+
   gs.unset_pending_rows();
+  PPL_ASSERT(gs.sys.OK());
 
   // `gs' may now have no rows.
   // Namely, this happens when `y' was the singleton polyhedron
@@ -3441,7 +3402,7 @@ PPL::Polyhedron::time_elapse_assign(const Polyhedron& y) {
   // If the polyhedron can have something pending, we add `gs'
   // to `gen_sys' as pending rows
   if (x.can_have_something_pending()) {
-    x.gen_sys.add_pending_rows(gs);
+    x.gen_sys.insert_pending(gs);
     x.set_generators_pending();
   }
   // Otherwise, the two systems are merged.
@@ -3470,8 +3431,8 @@ PPL::Polyhedron::frequency(const Linear_Expression& expr,
   // `freq_n' is 0. Otherwise the values for \p expr are not discrete
   // and we return false.
 
-  // Space dimension = 0: if empty, then return false;
-  // otherwise the frequency is 1 and the value is 0
+  // Space dimension is 0: if empty, then return false;
+  // otherwise the frequency is 1 and the value is 0.
   if (space_dim == 0) {
     if (is_empty())
       return false;
@@ -3491,13 +3452,13 @@ PPL::Polyhedron::frequency(const Linear_Expression& expr,
   // The polyhedron has updated, possibly pending generators.
   // The following loop will iterate through the generator
   // to see if `expr' has a constant value.
-  PPL_DIRTY_TEMP0(mpq_class, value);
+  PPL_DIRTY_TEMP(mpq_class, value);
 
   // True if we have no other candidate value to compare with.
   bool first_candidate = true;
 
   PPL_DIRTY_TEMP_COEFFICIENT(sp);
-  PPL_DIRTY_TEMP0(mpq_class, candidate);
+  PPL_DIRTY_TEMP(mpq_class, candidate);
   for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
     const Generator& gen_sys_i = gen_sys[i];
     Scalar_Products::homogeneous_assign(sp, expr, gen_sys_i);
@@ -3514,7 +3475,7 @@ PPL::Polyhedron::frequency(const Linear_Expression& expr,
       // Notice that we are ignoring the constant term in `expr' here.
       // We will add it to the value if there is a constant value.
       assign_r(candidate.get_num(), sp, ROUND_NOT_NEEDED);
-      assign_r(candidate.get_den(), gen_sys_i[0], ROUND_NOT_NEEDED);
+      assign_r(candidate.get_den(), gen_sys_i.expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
       candidate.canonicalize();
       if (first_candidate) {
 	// We have a (new) candidate value.
@@ -3527,7 +3488,7 @@ PPL::Polyhedron::frequency(const Linear_Expression& expr,
   }
 
   // Add in the constant term in `expr'.
-  PPL_DIRTY_TEMP0(mpz_class, n);
+  PPL_DIRTY_TEMP(mpz_class, n);
   assign_r(n, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
   value += n;
   // FIXME: avoid these temporaries, if possible.
@@ -3566,18 +3527,22 @@ PPL::Polyhedron::topological_closure_assign() {
   // Use constraints only if they are available and
   // there are no pending generators.
   if (!has_pending_generators() && constraints_are_up_to_date()) {
-    const dimension_type eps_index = space_dim + 1;
     bool changed = false;
+
     // Transform all strict inequalities into non-strict ones.
     for (dimension_type i = con_sys.num_rows(); i-- > 0; ) {
-      Constraint& c = con_sys[i];
-      if (c[eps_index] < 0 && !c.is_tautological()) {
-	c[eps_index] = 0;
+      Constraint& c = con_sys.sys.rows[i];
+      if (c.epsilon_coefficient() < 0 && !c.is_tautological()) {
+	c.set_epsilon_coefficient(0);
 	// Enforce normalization.
-	c.normalize();
+	c.expr.normalize();
+        PPL_ASSERT(c.OK());
 	changed = true;
       }
     }
+
+    PPL_ASSERT(con_sys.sys.OK());
+
     if (changed) {
       con_sys.insert(Constraint::epsilon_leq_one());
       con_sys.set_sorted(false);
@@ -3757,17 +3722,17 @@ PPL::Polyhedron::wrap_assign(const Variables_Set& vars,
                              Bounded_Integer_Type_Width w,
                              Bounded_Integer_Type_Representation r,
                              Bounded_Integer_Type_Overflow o,
-                             const Constraint_System* pcs,
+                             const Constraint_System* cs_p,
                              unsigned complexity_threshold,
                              bool wrap_individually) {
   if (is_necessarily_closed())
     Implementation::wrap_assign(static_cast<C_Polyhedron&>(*this),
-                                vars, w, r, o, pcs,
+                                vars, w, r, o, cs_p,
                                 complexity_threshold, wrap_individually,
                                 "C_Polyhedron");
   else
     Implementation::wrap_assign(static_cast<NNC_Polyhedron&>(*this),
-                                vars, w, r, o, pcs,
+                                vars, w, r, o, cs_p,
                                 complexity_threshold, wrap_individually,
                                 "NNC_Polyhedron");
 }
diff --git a/src/Polyhedron_simplify.templates.hh b/src/Polyhedron_simplify.templates.hh
new file mode 100644
index 0000000..bd17b25
--- /dev/null
+++ b/src/Polyhedron_simplify.templates.hh
@@ -0,0 +1,340 @@
+/* Polyhedron class implementation: simplify().
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Polyhedron_simplify_templates_hh
+#define PPL_Polyhedron_simplify_templates_hh 1
+
+#include "Bit_Matrix.defs.hh"
+#include "Polyhedron.defs.hh"
+#include <cstddef>
+#include <limits>
+
+namespace Parma_Polyhedra_Library {
+
+/*!
+  \return
+  The rank of \p sys.
+
+  \param sys
+  The system to simplify: it will be modified;
+
+  \param sat
+  The saturation matrix corresponding to \p sys.
+
+  \p sys may be modified by swapping some of its rows and by possibly
+  removing some of them, if they turn out to be redundant.
+
+  If \p sys is a system of constraints, then the rows of \p sat are
+  indexed by constraints and its columns are indexed by generators;
+  otherwise, if \p sys is a system of generators, then the rows of
+  \p sat are indexed by generators and its columns by constraints.
+
+  Given a system of constraints or a system of generators, this function
+  simplifies it using Gauss' elimination method (to remove redundant
+  equalities/lines), deleting redundant inequalities/rays/points and
+  making back-substitution.
+  The explanation that follows assumes that \p sys is a system of
+  constraints. For the case when \p sys is a system of generators,
+  a similar explanation can be obtain by applying duality.
+
+  The explanation relies on the notion of <EM>redundancy</EM>.
+  (See the Introduction.)
+
+  First we make some observations that can help the reader
+  in understanding the function:
+
+  Proposition: An inequality that is saturated by all the generators
+  can be transformed to an equality.
+
+  In fact, by combining any number of generators that saturate the
+  constraints, we obtain a generator that saturates the constraints too:
+  \f[
+    \langle \vect{c}, \vect{r}_1 \rangle = 0 \land
+    \langle \vect{c}, \vect{r}_2 \rangle = 0
+    \Rightarrow
+    \langle \vect{c}, (\lambda_1 \vect{r}_1 + \lambda_2 \vect{r}_2) \rangle =
+    \lambda_1 \langle \vect{c}, \vect{r}_1 \rangle
+    + \lambda_2 \langle \vect{c}, \vect{r}_2 \rangle
+    = 0,
+  \f]
+  where \f$\lambda_1, \lambda_2\f$ can be any real number.
+*/
+template <typename Linear_System1>
+dimension_type
+Polyhedron::simplify(Linear_System1& sys, Bit_Matrix& sat) {
+
+  typedef typename Linear_System1::row_type sys_row_type;
+
+  dimension_type num_rows = sys.num_rows();
+  const dimension_type num_cols_sat = sat.num_columns();
+
+  using std::swap;
+
+  // Looking for the first inequality in `sys'.
+  dimension_type num_lines_or_equalities = 0;
+  while (num_lines_or_equalities < num_rows
+	 && sys[num_lines_or_equalities].is_line_or_equality())
+    ++num_lines_or_equalities;
+
+  // `num_saturators[i]' will contain the number of generators
+  // that saturate the constraint `sys[i]'.
+  if (num_rows > simplify_num_saturators_size) {
+    delete [] simplify_num_saturators_p;
+    simplify_num_saturators_p = 0;
+    simplify_num_saturators_size = 0;
+    const size_t max_size
+      = std::numeric_limits<size_t>::max() / sizeof(dimension_type);
+    const size_t new_size = compute_capacity(num_rows, max_size);
+    simplify_num_saturators_p = new dimension_type[new_size];
+    simplify_num_saturators_size = new_size;
+  }
+  dimension_type* num_saturators = simplify_num_saturators_p;
+
+  bool sys_sorted = sys.is_sorted();
+
+  // Computing the number of saturators for each inequality,
+  // possibly identifying and swapping those that happen to be
+  // equalities (see Proposition above).
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i) {
+    if (sat[i].empty()) {
+      // The constraint `sys_rows[i]' is saturated by all the generators.
+      // Thus, either it is already an equality or it can be transformed
+      // to an equality (see Proposition above).
+      sys.sys.rows[i].set_is_line_or_equality();
+      // Note: simple normalization already holds.
+      sys.sys.rows[i].sign_normalize();
+      // We also move it just after all the other equalities,
+      // so that system `sys_rows' keeps its partial sortedness.
+      if (i != num_lines_or_equalities) {
+        sys.sys.rows[i].m_swap(sys.sys.rows[num_lines_or_equalities]);
+	swap(sat[i], sat[num_lines_or_equalities]);
+	swap(num_saturators[i], num_saturators[num_lines_or_equalities]);
+      }
+      ++num_lines_or_equalities;
+      // `sys' is no longer sorted.
+      sys_sorted = false;
+    }
+    else
+      // There exists a generator which does not saturate `sys[i]',
+      // so that `sys[i]' is indeed an inequality.
+      // We store the number of its saturators.
+      num_saturators[i] = num_cols_sat - sat[i].count_ones();
+  }
+
+  sys.set_sorted(sys_sorted);
+  PPL_ASSERT(sys.OK());
+
+  // At this point, all the equalities of `sys' (included those
+  // inequalities that we just transformed to equalities) have
+  // indexes between 0 and `num_lines_or_equalities' - 1,
+  // which is the property needed by method gauss().
+  // We can simplify the system of equalities, obtaining the rank
+  // of `sys' as result.
+  const dimension_type rank = sys.gauss(num_lines_or_equalities);
+
+  // Now the irredundant equalities of `sys' have indexes from 0
+  // to `rank' - 1, whereas the equalities having indexes from `rank'
+  // to `num_lines_or_equalities' - 1 are all redundant.
+  // (The inequalities in `sys' have been left untouched.)
+  // The rows containing equalities are not sorted.
+
+  if (rank < num_lines_or_equalities) {
+    // We identified some redundant equalities.
+    // Moving them at the bottom of `sys':
+    // - index `redundant' runs through the redundant equalities
+    // - index `erasing' identifies the first row that should
+    //   be erased after this loop.
+    // Note that we exit the loop either because we have removed all
+    // redundant equalities or because we have moved all the
+    // inequalities.
+    for (dimension_type redundant = rank,
+	   erasing = num_rows;
+	 redundant < num_lines_or_equalities
+	   && erasing > num_lines_or_equalities;
+	 ) {
+      --erasing;
+      sys.remove_row(redundant);
+      swap(sat[redundant], sat[erasing]);
+      swap(num_saturators[redundant], num_saturators[erasing]);
+      ++redundant;
+    }
+    // Adjusting the value of `num_rows' to the number of meaningful
+    // rows of `sys': `num_lines_or_equalities' - `rank' is the number of
+    // redundant equalities moved to the bottom of `sys', which are
+    // no longer meaningful.
+    num_rows -= num_lines_or_equalities - rank;
+
+    // If the above loop exited because it moved all inequalities, it may not
+    // have removed all the rendundant rows.
+    sys.remove_trailing_rows(sys.num_rows() - num_rows);
+
+    PPL_ASSERT(sys.num_rows() == num_rows);
+
+    sat.remove_trailing_rows(num_lines_or_equalities - rank);
+
+    // Adjusting the value of `num_lines_or_equalities'.
+    num_lines_or_equalities = rank;
+  }
+
+  const dimension_type old_num_rows = sys.num_rows();
+
+  // Now we use the definition of redundancy (given in the Introduction)
+  // to remove redundant inequalities.
+
+  // First we check the saturation rule, which provides a necessary
+  // condition for an inequality to be irredundant (i.e., it provides
+  // a sufficient condition for identifying redundant inequalities).
+  // Let
+  //
+  //   num_saturators[i] = num_sat_lines[i] + num_sat_rays_or_points[i],
+  //   dim_lin_space = num_irredundant_lines,
+  //   dim_ray_space
+  //     = dim_vector_space - num_irredundant_equalities - dim_lin_space
+  //     = num_columns - 1 - num_lines_or_equalities - dim_lin_space,
+  //   min_sat_rays_or_points = dim_ray_space.
+  //
+  // An inequality saturated by less than `dim_ray_space' _rays/points_
+  // is redundant. Thus we have the implication
+  //
+  //   (num_saturators[i] - num_sat_lines[i] < dim_ray_space)
+  //      ==>
+  //        redundant(sys[i]).
+  //
+  // Moreover, since every line saturates all inequalities, we also have
+  //     dim_lin_space = num_sat_lines[i]
+  // so that we can rewrite the condition above as follows:
+  //
+  //   (num_saturators[i] < num_columns - num_lines_or_equalities - 1)
+  //      ==>
+  //        redundant(sys[i]).
+  //
+  const dimension_type sys_num_columns
+    = sys.topology() == NECESSARILY_CLOSED ? sys.space_dimension() + 1
+                                           : sys.space_dimension() + 2;
+  const dimension_type min_saturators
+    = sys_num_columns - num_lines_or_equalities - 1;
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
+    if (num_saturators[i] < min_saturators) {
+      // The inequality `sys[i]' is redundant.
+      --num_rows;
+      sys.remove_row(i);
+      swap(sat[i], sat[num_rows]);
+      swap(num_saturators[i], num_saturators[num_rows]);
+    }
+    else
+      ++i;
+  }
+
+  // Now we check the independence rule.
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
+    bool redundant = false;
+    // NOTE: in the inner loop, index `j' runs through _all_ the
+    // inequalities and we do not test if `sat[i]' is strictly
+    // contained into `sat[j]'.  Experimentation has shown that this
+    // is faster than having `j' only run through the indexes greater
+    // than `i' and also doing the test `strict_subset(sat[i],
+    // sat[k])'.
+    for (dimension_type j = num_lines_or_equalities; j < num_rows; ) {
+      if (i == j)
+	// We want to compare different rows of `sys'.
+	++j;
+      else {
+	// Let us recall that each generator lies on a facet of the
+	// polyhedron (see the Introduction).
+	// Given two constraints `c_1' and `c_2', if there are `m'
+	// generators lying on the hyper-plane corresponding to `c_1',
+	// the same `m' generators lie on the hyper-plane
+	// corresponding to `c_2', too, and there is another one lying
+	// on the latter but not on the former, then `c_2' is more
+	// restrictive than `c_1', i.e., `c_1' is redundant.
+	bool strict_subset;
+	if (subset_or_equal(sat[j], sat[i], strict_subset))
+	  if (strict_subset) {
+	    // All the saturators of the inequality `sys[i]' are
+	    // saturators of the inequality `sys[j]' too,
+	    // and there exists at least one saturator of `sys[j]'
+	    // which is not a saturator of `sys[i]'.
+	    // It follows that inequality `sys[i]' is redundant.
+	    redundant = true;
+	    break;
+	  }
+	  else {
+	    // We have `sat[j] == sat[i]'.  Hence inequalities
+	    // `sys[i]' and `sys[j]' are saturated by the same set of
+	    // generators. Then we can remove either one of the two
+	    // inequalities: we remove `sys[j]'.
+	    --num_rows;
+            sys.remove_row(j);
+            PPL_ASSERT(sys.num_rows() == num_rows);
+	    swap(sat[j], sat[num_rows]);
+	    swap(num_saturators[j], num_saturators[num_rows]);
+	  }
+	else
+	  // If we reach this point then we know that `sat[i]' does
+	  // not contain (and is different from) `sat[j]', so that
+	  // `sys[i]' is not made redundant by inequality `sys[j]'.
+	  ++j;
+      }
+    }
+    if (redundant) {
+      // The inequality `sys[i]' is redundant.
+      --num_rows;
+      sys.remove_row(i);
+      PPL_ASSERT(sys.num_rows() == num_rows);
+      swap(sat[i], sat[num_rows]);
+      swap(num_saturators[i], num_saturators[num_rows]);
+    }
+    else
+      // The inequality `sys[i]' is not redundant.
+      ++i;
+  }
+
+  // Here we physically remove the `sat' rows corresponding to the redundant
+  // inequalities previously removed from `sys'.
+  sat.remove_trailing_rows(old_num_rows - num_rows);
+
+  // At this point the first `num_lines_or_equalities' rows of 'sys'
+  // represent the irredundant equalities, while the remaining rows
+  // (i.e., those having indexes from `num_lines_or_equalities' to
+  // `num_rows' - 1) represent the irredundant inequalities.
+#ifndef NDEBUG
+  // Check if the flag is set (that of the equalities is already set).
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i)
+    PPL_ASSERT(sys[i].is_ray_or_point_or_inequality());
+#endif
+
+  // Finally, since now the sub-system (of `sys') of the irredundant
+  // equalities is in triangular form, we back substitute each
+  // variables with the expression obtained considering the equalities
+  // starting from the last one.
+  sys.back_substitute(num_lines_or_equalities);
+
+  // The returned value is the number of irredundant equalities i.e.,
+  // the rank of the sub-system of `sys' containing only equalities.
+  // (See the Introduction for definition of lineality space dimension.)
+  return num_lines_or_equalities;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Polyhedron_simplify_templates_hh)
diff --git a/src/Polyhedron_widenings.cc b/src/Polyhedron_widenings.cc
index f2c1b20..b7c6ee5 100644
--- a/src/Polyhedron_widenings.cc
+++ b/src/Polyhedron_widenings.cc
@@ -1,7 +1,7 @@
 /* Polyhedron class implementation
    (non-inline widening-related member functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,14 +20,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Polyhedron.defs.hh"
 #include "BHRZ03_Certificate.defs.hh"
 #include "Rational_Box.hh"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "assert.hh"
 #include <iostream>
 #include <stdexcept>
@@ -98,13 +98,15 @@ PPL::Polyhedron
   // this is needed in order to widen the polyhedron and not the
   // corresponding homogenized polyhedral cone.
   const Constraint_System& y_cs = y.con_sys;
-  dimension_type num_rows = y_cs.num_rows();
+  const dimension_type old_num_rows = y_cs.num_rows();
+  dimension_type num_rows = old_num_rows;
   for (dimension_type i = 0; i < num_rows; ++i)
     if (y_cs[i].is_tautological()) {
+      using std::swap;
       --num_rows;
-      std::swap(tmp_sat_g[i], tmp_sat_g[num_rows]);
+      swap(tmp_sat_g[i], tmp_sat_g[num_rows]);
     }
-  tmp_sat_g.rows_erase_to_end(num_rows);
+  tmp_sat_g.remove_trailing_rows(old_num_rows - num_rows);
   tmp_sat_g.sort_rows();
 
   // A constraint in `con_sys' is copied to `cs_selected'
@@ -164,14 +166,8 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
   if (x.space_dim != y.space_dim)
     throw_dimension_incompatible("H79_widening_assign(y)", "y", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that y is contained in or equal to x.
-    const Polyhedron x_copy = x;
-    const Polyhedron y_copy = y;
-    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   // If any argument is zero-dimensional or empty,
   // the H79-widening behaves as the identity function.
@@ -231,7 +227,7 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
       }
       else
 	// No tokens.
-	std::swap(x, CH78);
+	x.m_swap(CH78);
       PPL_ASSERT_HEAVY(x.OK(true));
       return;
     }
@@ -279,7 +275,7 @@ PPL::Polyhedron::H79_widening_assign(const Polyhedron& y, unsigned* tp) {
     }
     else
       // No tokens.
-      std::swap(x, H79);
+      x.m_swap(H79);
     PPL_ASSERT_HEAVY(x.OK(true));
   }
 }
@@ -320,14 +316,8 @@ PPL::Polyhedron::limited_H79_extrapolation_assign(const Polyhedron& y,
     throw_dimension_incompatible("limited_H79_extrapolation_assign(y, cs)",
 				 "cs", cs);
 
-#ifndef NDEBUG
-  {
-    // We assume that y is contained in or equal to x.
-    const Polyhedron x_copy = x;
-    const Polyhedron y_copy = y;
-    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   if (y.marked_empty())
     return;
@@ -494,7 +484,7 @@ PPL::Polyhedron
   // over `H79'.
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
-    std::swap(x, result);
+    x.m_swap(result);
     PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
@@ -530,7 +520,7 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
   const dimension_type y_gen_sys_num_rows = y.gen_sys.num_rows();
   const bool closed = x.is_necessarily_closed();
   for (dimension_type i = x_gen_sys_num_rows; i-- > 0; ) {
-    Generator& g1 = x.gen_sys[i];
+    const Generator& g1 = x.gen_sys[i];
     // For C polyhedra, we choose a point of `x.gen_sys'
     // that is not included in `y'.
     // In the case of NNC polyhedra, we can restrict attention to
@@ -564,7 +554,7 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
   // over `H79'.
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
-    std::swap(x, result);
+    x.m_swap(result);
     PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
@@ -573,6 +563,75 @@ PPL::Polyhedron::BHRZ03_evolving_points(const Polyhedron& y,
     return false;
 }
 
+void
+PPL::Polyhedron::modify_according_to_evolution(Linear_Expression& ray,
+                                               const Linear_Expression& x,
+                                               const Linear_Expression& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+  std::deque<bool> considered(x.space_dimension());
+  Linear_Expression::const_iterator x_end = x.end();
+  Linear_Expression::const_iterator y_end = y.end();
+  Linear_Expression::const_iterator y_k = y.begin();
+  for (Linear_Expression::const_iterator x_k = x.begin(); x_k != x_end; ++x_k) {
+    const Variable k_var = x_k.variable();
+    const dimension_type k = k_var.id();
+    if (considered[k])
+      continue;
+
+    while (y_k != y_end && y_k.variable().id() < k)
+      ++y_k;
+
+    if (y_k == y_end)
+      break;
+
+    const Variable y_k_var = y_k.variable();
+
+    // Note that y_k_var.id() may be greater than k.
+
+    Linear_Expression::const_iterator y_h = y_k;
+    // Do *not* increment y_h, since it may be after k already.
+    Linear_Expression::const_iterator x_h = x_k;
+    ++x_h;
+    for ( ; x_h != x_end; ++x_h) {
+      const dimension_type h = x_h.variable().id();
+      if (considered[h])
+        continue;
+
+      while (y_h != y_end && y_h.variable().id() < h)
+        ++y_h;
+
+      // Note that y_h may be y_end, and y_h.variable().id() may not be k.
+
+      if (y_h != y_end && y_h.variable().id() == h)
+        tmp = (*x_k) * (*y_h);
+      else
+        tmp = 0;
+
+      if (y_k_var.id() == k) {
+        // The following line optimizes the computation of
+        // <CODE> tmp -= x[h] * y[k]; </CODE>
+        Parma_Polyhedra_Library::sub_mul_assign(tmp, *x_h, *y_k);
+      }
+
+      const int clockwise = sgn(tmp);
+      const int first_or_third_quadrant = sgn(*x_k) * sgn(*x_h);
+      switch (clockwise * first_or_third_quadrant) {
+      case -1:
+        ray.set_coefficient(k_var, Coefficient_zero());
+        considered[k] = true;
+        break;
+      case 1:
+        ray.set_coefficient(Variable(h), Coefficient_zero());
+        considered[h] = true;
+        break;
+      default:
+        break;
+      }
+    }
+  }
+  ray.normalize();
+}
+
 bool
 PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
 				      const BHRZ03_Certificate& y_cert,
@@ -595,7 +654,6 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
 
   // Candidate rays are kept in a temporary generator system.
   Generator_System candidate_rays;
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
   for (dimension_type i = x_gen_sys_num_rows; i-- > 0; ) {
     const Generator& x_g = x.gen_sys[i];
     // We choose a ray of `x' that does not belong to `y'.
@@ -604,35 +662,10 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
 	const Generator& y_g = y.gen_sys[j];
 	if (y_g.is_ray()) {
 	  Generator new_ray(x_g);
-	  // Modify `new_ray' according to the evolution of `x_g' with
-	  // respect to `y_g'.
-	  std::deque<bool> considered(x.space_dim + 1);
-	  for (dimension_type k = 1; k < x.space_dim; ++k)
-	    if (!considered[k])
-	      for (dimension_type h = k + 1; h <= x.space_dim; ++h)
-		if (!considered[h]) {
-		  tmp = x_g[k] * y_g[h];
-		  // The following line optimizes the computation of
-		  // tmp -= x_g[h] * y_g[k];
-		  sub_mul_assign(tmp, x_g[h], y_g[k]);
-		  const int clockwise
-		    = sgn(tmp);
-		  const int first_or_third_quadrant
-		    = sgn(x_g[k]) * sgn(x_g[h]);
-		  switch (clockwise * first_or_third_quadrant) {
-		  case -1:
-		    new_ray[k] = 0;
-		    considered[k] = true;
-		    break;
-		  case 1:
-		    new_ray[h] = 0;
-		    considered[h] = true;
-		    break;
-		  default:
-		    break;
-		  }
-		}
-	  new_ray.normalize();
+          // Modify `new_ray' according to the evolution of `x_g' with
+          // respect to `y_g'.
+          modify_according_to_evolution(new_ray.expr, x_g.expr, y_g.expr);
+          PPL_ASSERT(new_ray.OK());
 	  candidate_rays.insert(new_ray);
 	}
       }
@@ -653,7 +686,7 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
   // Check for stabilization with respect to `y' and improvement over `H79'.
   if (y_cert.is_stabilizing(result) && !result.contains(H79)) {
     // The technique was successful.
-    std::swap(x, result);
+    x.m_swap(result);
     PPL_ASSERT_HEAVY(x.OK(true));
     return true;
   }
@@ -672,14 +705,8 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
   if (x.space_dim != y.space_dim)
     throw_dimension_incompatible("BHRZ03_widening_assign(y)", "y", y);
 
-#ifndef NDEBUG
-  {
-    // We assume that y is contained in or equal to x.
-    const Polyhedron x_copy = x;
-    const Polyhedron y_copy = y;
-    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   // If any argument is zero-dimensional or empty,
   // the BHRZ03-widening behaves as the identity function.
@@ -749,13 +776,11 @@ PPL::Polyhedron::BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp) {
   PPL_ASSERT_HEAVY(H79.OK() && x.OK() && y.OK());
 
   // No previous technique was successful: fall back to the H79 widening.
-  std::swap(x, H79);
+  x.m_swap(H79);
   PPL_ASSERT_HEAVY(x.OK(true));
 
-#ifndef NDEBUG
   // The H79 widening is always stabilizing.
   PPL_ASSERT(y_cert.is_stabilizing(x));
-#endif
 }
 
 void
@@ -794,14 +819,8 @@ PPL::Polyhedron
     throw_dimension_incompatible("limited_BHRZ03_extrapolation_assign(y, cs)",
 				 "cs", cs);
 
-#ifndef NDEBUG
-  {
-    // We assume that y is contained in or equal to x.
-    const Polyhedron x_copy = x;
-    const Polyhedron y_copy = y;
-    PPL_ASSERT_HEAVY(x_copy.contains(y_copy));
-  }
-#endif
+  // Assume `y' is contained in or equal to `x'.
+  PPL_EXPECT_HEAVY(copy_contains(x, y));
 
   if (y.marked_empty())
     return;
diff --git a/src/Powerset.defs.hh b/src/Powerset.defs.hh
index 30cc075..60c6e77 100644
--- a/src/Powerset.defs.hh
+++ b/src/Powerset.defs.hh
@@ -1,6 +1,6 @@
 /* Powerset class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Powerset_defs_hh
 #define PPL_Powerset_defs_hh
@@ -33,6 +33,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+//! Swaps \p x with \p y.
+/*! \relates Powerset */
+template <typename D>
+void swap(Powerset<D>& x, Powerset<D>& y);
+
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
 /*! \relates Powerset */
 template <typename D>
@@ -341,7 +346,7 @@ public:
   Powerset& operator=(const Powerset& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Powerset& y);
+  void m_swap(Powerset& y);
 
   //! Assigns to \p *this the least upper bound of \p *this and \p y.
   void least_upper_bound_assign(const Powerset& y);
@@ -439,16 +444,6 @@ private:
   void collapse(Sequence_iterator sink);
 };
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-void swap(Parma_Polyhedra_Library::Powerset<D>& x,
-	  Parma_Polyhedra_Library::Powerset<D>& y);
-
-} // namespace std
-
 #include "Powerset.inlines.hh"
 #include "Powerset.templates.hh"
 
diff --git a/src/Powerset.inlines.hh b/src/Powerset.inlines.hh
index 3d69f06..9811a31 100644
--- a/src/Powerset.inlines.hh
+++ b/src/Powerset.inlines.hh
@@ -1,6 +1,6 @@
 /* Powerset class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Powerset_inlines_hh
 #define PPL_Powerset_inlines_hh 1
@@ -123,9 +123,10 @@ Powerset<D>::operator=(const Powerset& y) {
 
 template <typename D>
 inline void
-Powerset<D>::swap(Powerset& y) {
-  std::swap(sequence, y.sequence);
-  std::swap(reduced, y.reduced);
+Powerset<D>::m_swap(Powerset& y) {
+  using std::swap;
+  swap(sequence, y.sequence);
+  swap(reduced, y.reduced);
 }
 
 template <typename D>
@@ -218,19 +219,13 @@ Powerset<D>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Powerset */
+/*! \relates Powerset */
 template <typename D>
 inline void
-swap(Parma_Polyhedra_Library::Powerset<D>& x,
-     Parma_Polyhedra_Library::Powerset<D>& y) {
-  x.swap(y);
+swap(Powerset<D>& x, Powerset<D>& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Powerset_inlines_hh)
diff --git a/src/Powerset.templates.hh b/src/Powerset.templates.hh
index 5df319f..80e6864 100644
--- a/src/Powerset.templates.hh
+++ b/src/Powerset.templates.hh
@@ -1,6 +1,6 @@
 /* Powerset class implementation: non-inline template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Powerset_templates_hh
 #define PPL_Powerset_templates_hh 1
@@ -90,7 +90,7 @@ Powerset<D>::omega_reduce() const {
       xi = x.drop_disjunct(xi);
     else
       ++xi;
-    if (abandon_expensive_computations && xi != x.end()) {
+    if (abandon_expensive_computations != 0 && xi != x.end()) {
       // Hurry up!
       x.collapse(xi.base);
       break;
@@ -193,16 +193,16 @@ operator==(const Powerset<D>& x, const Powerset<D>& y) {
   if (x.size() != y.size())
     return false;
   // Take a copy of `y' and work with it.
-  Powerset<D> yy = y;
+  Powerset<D> z = y;
   for (typename Powerset<D>::const_iterator xi = x.begin(),
 	 x_end = x.end(); xi != x_end; ++xi) {
-    typename Powerset<D>::iterator yyi = yy.begin();
-    typename Powerset<D>::iterator yy_end = yy.end();
-    yyi = std::find(yyi, yy_end, *xi);
-    if (yyi == yy_end)
+    typename Powerset<D>::iterator zi = z.begin();
+    typename Powerset<D>::iterator z_end = z.end();
+    zi = std::find(zi, z_end, *xi);
+    if (zi == z_end)
       return false;
     else
-      yy.drop_disjunct(yyi);
+      z.drop_disjunct(zi);
   }
   return true;
 }
@@ -225,7 +225,8 @@ Powerset<D>::pairwise_apply_assign(const Powerset& y,
 	new_sequence.push_back(zi);
     }
   // Put the new sequence in place.
-  std::swap(sequence, new_sequence);
+  using std::swap;
+  swap(sequence, new_sequence);
   reduced = false;
   PPL_ASSERT_HEAVY(OK());
 }
@@ -258,7 +259,8 @@ operator<<(std::ostream& s, const Powerset<D>& x) {
   else
     for (typename Powerset<D>::const_iterator i = x.begin(),
 	   x_end = x.end(); i != x_end; ) {
-      s << "{ " << *i++ << " }";
+      s << "{ " << *i << " }";
+      ++i;
       if (i != x_end)
 	s << ", ";
     }
diff --git a/src/Powerset.types.hh b/src/Powerset.types.hh
index 6305e17..1707752 100644
--- a/src/Powerset.types.hh
+++ b/src/Powerset.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Ptr_Iterator.defs.hh b/src/Ptr_Iterator.defs.hh
index 083039d..2f6c852 100644
--- a/src/Ptr_Iterator.defs.hh
+++ b/src/Ptr_Iterator.defs.hh
@@ -1,6 +1,6 @@
 /* Ptr_Iterator class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Ptr_Iterator_defs_hh
 #define PPL_Ptr_Iterator_defs_hh 1
@@ -31,27 +31,27 @@ namespace Parma_Polyhedra_Library {
 
 namespace Implementation {
 
-template<typename Q, typename R>
-bool operator==(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator==(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-bool operator!=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator!=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-bool operator<(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator<(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-bool operator<=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator<=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-bool operator>(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator>(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-bool operator>=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+bool operator>=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
-template<typename Q, typename R>
-typename Ptr_Iterator<Q>::difference_type operator-(const Ptr_Iterator<Q>& x,
-						    const Ptr_Iterator<R>& y);
+template<typename P, typename Q>
+typename Ptr_Iterator<P>::difference_type
+operator-(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
 
 template<typename P>
 Ptr_Iterator<P> operator+(typename Ptr_Iterator<P>::difference_type m,
diff --git a/src/Ptr_Iterator.inlines.hh b/src/Ptr_Iterator.inlines.hh
index 2383f2e..62a7095 100644
--- a/src/Ptr_Iterator.inlines.hh
+++ b/src/Ptr_Iterator.inlines.hh
@@ -1,6 +1,6 @@
 /* Ptr_Iterator class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Ptr_Iterator_inlines_hh
 #define PPL_Ptr_Iterator_inlines_hh 1
@@ -52,8 +52,8 @@ Ptr_Iterator<P>::Ptr_Iterator(const P& q)
 template <typename P>
 template <typename Q>
 inline
-Ptr_Iterator<P>::Ptr_Iterator(const Ptr_Iterator<Q>& y)
-  : p(y.base()) {
+Ptr_Iterator<P>::Ptr_Iterator(const Ptr_Iterator<Q>& q)
+  : p(q.base()) {
 }
 
 template <typename P>
diff --git a/src/Ptr_Iterator.types.hh b/src/Ptr_Iterator.types.hh
index 6d74919..f710f72 100644
--- a/src/Ptr_Iterator.types.hh
+++ b/src/Ptr_Iterator.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Rational_Box.hh b/src/Rational_Box.hh
index e76e989..99d871b 100644
--- a/src/Rational_Box.hh
+++ b/src/Rational_Box.hh
@@ -1,6 +1,6 @@
 /* Rational_Box class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Rational_Box_hh
 #define PPL_Rational_Box_hh 1
diff --git a/src/Rational_Interval.hh b/src/Rational_Interval.hh
index f9881bc..950e69d 100644
--- a/src/Rational_Interval.hh
+++ b/src/Rational_Interval.hh
@@ -1,6 +1,6 @@
 /* Rational_Interval class declaration and implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Rational_Interval_hh
 #define PPL_Rational_Interval_hh 1
@@ -41,10 +41,8 @@ struct Rational_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset<unsigned int,
-                                               Rational_Interval_Info_Policy> >
-Rational_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Rational_Interval_Info_Policy> Rational_Interval_Info;
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! An interval with rational, possibly open boundaries.
diff --git a/src/Result.defs.hh b/src/Result.defs.hh
index ce915c2..fa2fc2f 100644
--- a/src/Result.defs.hh
+++ b/src/Result.defs.hh
@@ -1,6 +1,6 @@
 /* Result enum and supporting function declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Result_defs_hh
 #define PPL_Result_defs_hh 1
@@ -28,16 +28,16 @@ namespace Parma_Polyhedra_Library {
 
 enum Result_Class {
   //! \hideinitializer Representable number result class.
-  VC_NORMAL = 0 << 4,
+  VC_NORMAL = 0U << 4,
 
   //! \hideinitializer Negative infinity result class.
-  VC_MINUS_INFINITY = 1 << 4,
+  VC_MINUS_INFINITY = 1U << 4,
 
   //! \hideinitializer Positive infinity result class.
-  VC_PLUS_INFINITY = 2 << 4,
+  VC_PLUS_INFINITY = 2U << 4,
 
   //! \hideinitializer Not a number result class.
-  VC_NAN = 3 << 4,
+  VC_NAN = 3U << 4,
 
   VC_MASK = VC_NAN
 };
@@ -45,16 +45,16 @@ enum Result_Class {
 // This must be kept in sync with Relation_Symbol
 enum Result_Relation {
   //! \hideinitializer No values satisfies the relation.
-  VR_EMPTY = 0,
+  VR_EMPTY = 0U,
 
   //! \hideinitializer Equal. This need to be accompanied by a value.
-  VR_EQ = 1,
+  VR_EQ = 1U,
 
   //! \hideinitializer Less than. This need to be accompanied by a value.
-  VR_LT = 2,
+  VR_LT = 2U,
 
   //! \hideinitializer Greater than. This need to be accompanied by a value.
-  VR_GT = 4,
+  VR_GT = 4U,
 
   //! \hideinitializer Not equal. This need to be accompanied by a value.
   VR_NE = VR_LT | VR_GT,
@@ -78,13 +78,13 @@ enum Result {
   V_EMPTY = VR_EMPTY,
 
   //! \hideinitializer The computed result is exact.
-  V_EQ = VR_EQ,
+  V_EQ = static_cast<unsigned>(VR_EQ),
 
   //! \hideinitializer The computed result is inexact and rounded up.
-  V_LT = VR_LT,
+  V_LT = static_cast<unsigned>(VR_LT),
 
   //! \hideinitializer The computed result is inexact and rounded down.
-  V_GT = VR_GT,
+  V_GT = static_cast<unsigned>(VR_GT),
 
   //! \hideinitializer The computed result is inexact.
   V_NE = VR_NE,
@@ -99,7 +99,7 @@ enum Result {
   V_LGE = VR_LGE,
 
   //! \hideinitializer The exact result is a number out of finite bounds.
-  V_OVERFLOW = 1 << 6,
+  V_OVERFLOW = 1U << 6,
 
   //! \hideinitializer A negative integer overflow occurred (rounding up).
   V_LT_INF = V_LT | V_OVERFLOW,
@@ -108,64 +108,86 @@ enum Result {
   V_GT_SUP = V_GT | V_OVERFLOW,
 
   //! \hideinitializer A positive integer overflow occurred (rounding up).
-  V_LT_PLUS_INFINITY = V_LT | VC_PLUS_INFINITY,
+  V_LT_PLUS_INFINITY = V_LT | static_cast<unsigned>(VC_PLUS_INFINITY),
 
   //! \hideinitializer A negative integer overflow occurred (rounding down).
-  V_GT_MINUS_INFINITY = V_GT | VC_MINUS_INFINITY,
+  V_GT_MINUS_INFINITY = V_GT | static_cast<unsigned>(VC_MINUS_INFINITY),
 
   //! \hideinitializer Negative infinity result.
-  V_EQ_MINUS_INFINITY = V_EQ | VC_MINUS_INFINITY,
+  V_EQ_MINUS_INFINITY = V_EQ | static_cast<unsigned>(VC_MINUS_INFINITY),
 
   //! \hideinitializer Positive infinity result.
-  V_EQ_PLUS_INFINITY = V_EQ | VC_PLUS_INFINITY,
+  V_EQ_PLUS_INFINITY = V_EQ | static_cast<unsigned>(VC_PLUS_INFINITY),
 
   //! \hideinitializer Not a number result.
-  V_NAN = VC_NAN,
+  V_NAN = static_cast<unsigned>(VC_NAN),
 
   //! \hideinitializer Converting from unknown string.
-  V_CVT_STR_UNK = V_NAN | (1 << 8),
+  V_CVT_STR_UNK = V_NAN | (1U << 8),
 
   //! \hideinitializer Dividing by zero.
-  V_DIV_ZERO = V_NAN | (2 << 8),
+  V_DIV_ZERO = V_NAN | (2U << 8),
 
   //! \hideinitializer Adding two infinities having opposite signs.
-  V_INF_ADD_INF = V_NAN | (3 << 8),
+  V_INF_ADD_INF = V_NAN | (3U << 8),
 
   //! \hideinitializer Dividing two infinities.
-  V_INF_DIV_INF = V_NAN | (4 << 8),
+  V_INF_DIV_INF = V_NAN | (4U << 8),
 
   //! \hideinitializer Taking the modulus of an infinity.
-  V_INF_MOD = V_NAN | (5 << 8),
+  V_INF_MOD = V_NAN | (5U << 8),
 
   //! \hideinitializer Multiplying an infinity by zero.
-  V_INF_MUL_ZERO = V_NAN | (6 << 8),
+  V_INF_MUL_ZERO = V_NAN | (6U << 8),
 
   //! \hideinitializer Subtracting two infinities having the same sign.
-  V_INF_SUB_INF = V_NAN | (7 << 8),
+  V_INF_SUB_INF = V_NAN | (7U << 8),
 
   //! \hideinitializer Computing a remainder modulo zero.
-  V_MOD_ZERO = V_NAN | (8 << 8),
+  V_MOD_ZERO = V_NAN | (8U << 8),
 
   //! \hideinitializer Taking the square root of a negative number.
-  V_SQRT_NEG = V_NAN | (9 << 8),
+  V_SQRT_NEG = V_NAN | (9U << 8),
 
   //! \hideinitializer Unknown result due to intermediate negative overflow.
-  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10 << 8),
+  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10U << 8),
 
   //! \hideinitializer Unknown result due to intermediate positive overflow.
-  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11 << 8),
+  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11U << 8),
 
   //! \hideinitializer The computed result is not representable.
-  V_UNREPRESENTABLE = 1 << 7
+  V_UNREPRESENTABLE = 1U << 7
 
 };
 
-//! Extracts the value class part of \p r (representable number, unrepresentable minus/plus infinity or nan).
+//! \name Functions Inspecting and/or Combining Result Values
+//@{
+
+/*! \ingroup PPL_CXX_interface */
+Result operator&(Result x, Result y);
+
+/*! \ingroup PPL_CXX_interface */
+Result operator|(Result x, Result y);
+
+/*! \ingroup PPL_CXX_interface */
+Result operator-(Result x, Result y);
+
+/*! \brief \ingroup PPL_CXX_interface
+  Extracts the value class part of \p r (representable number,
+  unrepresentable minus/plus infinity or nan).
+*/
 Result_Class result_class(Result r);
 
-//! Extracts the relation part of \p r.
+/*! \brief \ingroup PPL_CXX_interface
+  Extracts the relation part of \p r.
+*/
 Result_Relation result_relation(Result r);
 
+/*! \ingroup PPL_CXX_interface */
+Result result_relation_class(Result r);
+
+//@} // Functions Inspecting and/or Combining Result Values
+
 } // namespace Parma_Polyhedra_Library
 
 #include "Result.inlines.hh"
diff --git a/src/Result.inlines.hh b/src/Result.inlines.hh
index dd38c16..2f22082 100644
--- a/src/Result.inlines.hh
+++ b/src/Result.inlines.hh
@@ -1,6 +1,6 @@
 /* Result supporting functions implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Result_inlines_hh
 #define PPL_Result_inlines_hh 1
@@ -28,22 +28,45 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
-/*! \relates Parma_Polyhedra_Library::Result */
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator&(Result x, Result y) {
+  unsigned res = static_cast<unsigned>(x) & static_cast<unsigned>(y);
+  return static_cast<Result>(res);
+}
+
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator|(Result x, Result y) {
+  unsigned res = static_cast<unsigned>(x) | static_cast<unsigned>(y);
+  return static_cast<Result>(res);
+}
+
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator-(Result x, Result y) {
+  Result y_neg = static_cast<Result>(~static_cast<unsigned>(y));
+  return x & y_neg;
+}
+
+/*! \ingroup PPL_CXX_interface */
 inline Result_Class
 result_class(Result r) {
-  return static_cast<Result_Class>(r & VC_MASK);
+  Result rc = r & static_cast<Result>(VC_MASK);
+  return static_cast<Result_Class>(rc);
 }
 
-/*! \relates Parma_Polyhedra_Library::Result */
+/*! \ingroup PPL_CXX_interface */
 inline Result_Relation
 result_relation(Result r) {
-  return static_cast<Result_Relation>(r & VR_MASK);
+  Result rc = r & static_cast<Result>(VR_MASK);
+  return static_cast<Result_Relation>(rc);
 }
 
-/*! \relates Parma_Polyhedra_Library::Result */
+/*! \ingroup PPL_CXX_interface */
 inline Result
 result_relation_class(Result r) {
-  return static_cast<Result>(r & (VR_MASK | VC_MASK));
+  return r & (static_cast<Result>(VR_MASK) | static_cast<Result>(VC_MASK));
 }
 
 inline int
@@ -71,15 +94,7 @@ result_overflow(Result r) {
 
 inline bool
 result_representable(Result r) {
-  return !(r & V_UNREPRESENTABLE);
-}
-
-inline Result operator|(Result a, Result b) {
-  return static_cast<Result>((unsigned)a | (unsigned)b);
-}
-
-inline Result operator-(Result a, Result b) {
-  return static_cast<Result>((unsigned)a & ~(unsigned)b);
+  return (r & V_UNREPRESENTABLE) != V_UNREPRESENTABLE;
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Rounding_Dir.defs.hh b/src/Rounding_Dir.defs.hh
index 28e93a1..f9161f0 100644
--- a/src/Rounding_Dir.defs.hh
+++ b/src/Rounding_Dir.defs.hh
@@ -1,6 +1,6 @@
 /* Declaration of Rounding_Dir and related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Rounding_defs_hh
 #define PPL_Rounding_defs_hh 1
@@ -35,17 +35,17 @@ enum Rounding_Dir {
   /*! \hideinitializer
     Round toward \f$-\infty\f$.
   */
-  ROUND_DOWN = 0,
+  ROUND_DOWN = 0U,
 
   /*! \hideinitializer
     Round toward \f$+\infty\f$.
   */
-  ROUND_UP = 1,
+  ROUND_UP = 1U,
 
   /*! \hideinitializer
     Rounding is delegated to lower level. Result info is evaluated lazily.
   */
-  ROUND_IGNORE = 6,
+  ROUND_IGNORE = 6U,
   ROUND_NATIVE = ROUND_IGNORE,
 
   /*! \hideinitializer
@@ -53,41 +53,69 @@ enum Rounding_Dir {
     result is exact and representable in the destination type.
     Result info is evaluated lazily.
   */
-  ROUND_NOT_NEEDED = 7,
+  ROUND_NOT_NEEDED = 7U,
 
   ROUND_DIRECT = ROUND_UP,
   ROUND_INVERSE = ROUND_DOWN,
 
-  ROUND_DIR_MASK = 7,
+  ROUND_DIR_MASK = 7U,
 
   /*! \hideinitializer
     The client code is willing to pay an extra price to know the exact
-    relation beetwen the exact result and the computed one.
+    relation between the exact result and the computed one.
    */
-  ROUND_STRICT_RELATION = 8,
+  ROUND_STRICT_RELATION = 8U,
 
   ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION
 };
 
-/*! \brief
+//! \name Functions Inspecting and/or Combining Rounding_Dir Values
+//@{
+
+/*! \ingroup PPL_CXX_interface */
+Rounding_Dir operator&(Rounding_Dir x, Rounding_Dir y);
+
+/*! \ingroup PPL_CXX_interface */
+Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y);
+
+/*! \brief \ingroup PPL_CXX_interface
   Returns the inverse rounding mode of \p dir,
   <CODE>ROUND_IGNORE</CODE> being the inverse of itself.
 */
 Rounding_Dir inverse(Rounding_Dir dir);
 
+/*! \ingroup PPL_CXX_interface */
 Rounding_Dir round_dir(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_down(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_up(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_ignore(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_not_needed(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_not_requested(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_direct(Rounding_Dir dir);
+
+/*! \ingroup PPL_CXX_interface */
 bool round_inverse(Rounding_Dir dir);
 
+/*! \ingroup PPL_CXX_interface */
 bool round_strict_relation(Rounding_Dir dir);
 
+/*! \ingroup PPL_CXX_interface */
 fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
 
+//@} // Functions Inspecting and/or Combining Rounding_Dir Values
+
 } // namespace Parma_Polyhedra_Library
 
 #include "Rounding_Dir.inlines.hh"
diff --git a/src/Rounding_Dir.inlines.hh b/src/Rounding_Dir.inlines.hh
index 256918d..8b50802 100644
--- a/src/Rounding_Dir.inlines.hh
+++ b/src/Rounding_Dir.inlines.hh
@@ -1,6 +1,6 @@
 /* Inline functions operating on enum Rounding_Dir values.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Rounding_Dir_inlines_hh
 #define PPL_Rounding_Dir_inlines_hh 1
@@ -28,53 +28,77 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+operator&(Rounding_Dir x, Rounding_Dir y) {
+  unsigned res = static_cast<unsigned>(x) & static_cast<unsigned>(y);
+  return static_cast<Rounding_Dir>(res);
+}
+
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+operator|(Rounding_Dir x, Rounding_Dir y) {
+  unsigned res = static_cast<unsigned>(x) | static_cast<unsigned>(y);
+  return static_cast<Rounding_Dir>(res);
+}
+
+/*! \ingroup PPL_CXX_interface */
 inline Rounding_Dir
 round_dir(Rounding_Dir dir) {
-  return static_cast<Rounding_Dir>(dir & ROUND_DIR_MASK);
+  return dir & ROUND_DIR_MASK;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_down(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_DOWN;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_up(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_UP;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_ignore(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_IGNORE;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_not_needed(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_NOT_NEEDED;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_not_requested(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_direct(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_DIRECT;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_inverse(Rounding_Dir dir) {
   return round_dir(dir) == ROUND_INVERSE;
 }
 
+/*! \ingroup PPL_CXX_interface */
 inline bool
 round_strict_relation(Rounding_Dir dir) {
-  return dir & ROUND_STRICT_RELATION;
+  return (dir & ROUND_STRICT_RELATION) == ROUND_STRICT_RELATION;
 }
 
 #if PPL_CAN_CONTROL_FPU
 
+/*! \ingroup PPL_CXX_interface */
 inline fpu_rounding_direction_type
 round_fpu_dir(Rounding_Dir dir) {
   switch (round_dir(dir)) {
@@ -82,8 +106,9 @@ round_fpu_dir(Rounding_Dir dir) {
     return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   case ROUND_DOWN:
     return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
+  case ROUND_IGNORE: // Fall through.
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   }
 }
@@ -95,28 +120,20 @@ round_fpu_dir(Rounding_Dir dir) {
 
 #endif
 
-/*! \relates Parma_Polyhedra_Library::Rounding_Dir */
+/*! \ingroup PPL_CXX_interface */
 inline Rounding_Dir
 inverse(Rounding_Dir dir) {
-  Rounding_Dir d = round_dir(dir);
-  switch (d) {
+  switch (round_dir(dir)) {
   case ROUND_UP:
-    d = ROUND_DOWN;
-    break;
+    return ROUND_DOWN | (dir & ROUND_STRICT_RELATION);
   case ROUND_DOWN:
-    d = ROUND_UP;
-    break;
-  default:
-    PPL_ASSERT(false);
-    /* Fall through */
+    return ROUND_UP | (dir & ROUND_STRICT_RELATION);
   case ROUND_IGNORE:
     return dir;
+  default:
+    PPL_UNREACHABLE;
+    return dir;
   }
-  return static_cast<Rounding_Dir>((dir & ~ROUND_DIR_MASK) | d);
-}
-
-inline Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y) {
-  return static_cast<Rounding_Dir>((unsigned)x | (unsigned)y);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Row.cc b/src/Row.cc
deleted file mode 100644
index b3f20ab..0000000
--- a/src/Row.cc
+++ /dev/null
@@ -1,316 +0,0 @@
-/* Row class implementation (non-inline functions).
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Row.defs.hh"
-#include "Coefficient.defs.hh"
-#include <iostream>
-#include <iomanip>
-#include "assert.hh"
-
-namespace PPL = Parma_Polyhedra_Library;
-
-void
-PPL::Row_Impl_Handler::
-Impl::expand_within_capacity(const dimension_type new_size) {
-  PPL_ASSERT(size() <= new_size && new_size <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // vec_[0] is already constructed.
-  if (size() == 0 && new_size > 0)
-    bump_size();
-#endif
-  for (dimension_type i = size(); i < new_size; ++i) {
-    new (&vec_[i]) Coefficient();
-    bump_size();
-  }
-}
-
-void
-PPL::Row_Impl_Handler::Impl::shrink(dimension_type new_size) {
-  const dimension_type old_size = size();
-  PPL_ASSERT(new_size <= old_size);
-  // Since ~Coefficient() does not throw exceptions, nothing here does.
-  set_size(new_size);
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // Make sure we do not try to destroy vec_[0].
-  if (new_size == 0)
-    ++new_size;
-#endif
-  // We assume construction was done "forward".
-  // We thus perform destruction "backward".
-  for (dimension_type i = old_size; i-- > new_size; )
-    vec_[i].~Coefficient();
-}
-
-void
-PPL::Row_Impl_Handler::Impl::copy_construct_coefficients(const Impl& y) {
-  const dimension_type y_size = y.size();
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  for (dimension_type i = 0; i < y_size; ++i) {
-    new (&vec_[i]) Coefficient(y.vec_[i]);
-    bump_size();
-  }
-#else
-  PPL_ASSERT(y_size > 0);
-  if (y_size > 0) {
-    vec_[0] = y.vec_[0];
-    bump_size();
-    for (dimension_type i = 1; i < y_size; ++i) {
-      new (&vec_[i]) Coefficient(y.vec_[i]);
-      bump_size();
-    }
-  }
-#endif
-}
-
-void
-PPL::Row::normalize() {
-  Row& x = *this;
-  // Compute the GCD of all the coefficients.
-  const dimension_type sz = size();
-  dimension_type i = sz;
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  while (i > 0) {
-    const Coefficient& x_i = x[--i];
-    if (const int x_i_sign = sgn(x_i)) {
-      gcd = x_i;
-      if (x_i_sign < 0)
-	neg_assign(gcd);
-      goto compute_gcd;
-    }
-  }
-  // We reach this point only if all the coefficients were zero.
-  return;
-
- compute_gcd:
-  if (gcd == 1)
-    return;
-  while (i > 0) {
-    const Coefficient& x_i = x[--i];
-    if (x_i != 0) {
-      // Note: we use the ternary version instead of a more concise
-      // gcd_assign(gcd, x_i) to take advantage of the fact that
-      // `gcd' will decrease very rapidly (see D. Knuth, The Art of
-      // Computer Programming, second edition, Section 4.5.2,
-      // Algorithm C, and the discussion following it).  Our
-      // implementation of gcd_assign(x, y, z) for checked numbers is
-      // optimized for the case where `z' is smaller than `y', so that
-      // on checked numbers we gain.  On the other hand, for the
-      // implementation of gcd_assign(x, y, z) on GMP's unbounded
-      // integers we cannot make any assumption, so here we draw.
-      // Overall, we win.
-      gcd_assign(gcd, x_i, gcd);
-      if (gcd == 1)
-	return;
-    }
-  }
-  // Divide the coefficients by the GCD.
-  for (dimension_type j = sz; j-- > 0; ) {
-    Coefficient& x_j = x[j];
-    exact_div_assign(x_j, x_j, gcd);
-  }
-}
-
-void
-PPL::Row::Flags::ascii_dump(std::ostream& s) const {
-  s << "0x";
-  std::istream::fmtflags f = s.setf(std::istream::hex);
-  std::streamsize sz = s.width(2*sizeof(Flags::base_type));
-  std::ostream::char_type ch = s.fill('0');
-  s << bits;
-  s.fill(ch);
-  s.width(sz);
-  s.flags(f);
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Row::Flags)
-
-bool
-PPL::Row::Flags::ascii_load(std::istream& s) {
-  std::string str;
-  std::streamsize sz = s.width(2);
-  if (!(s >> str) || str != "0x")
-    return false;
-  s.width(sz);
-  std::istream::fmtflags f = s.setf(std::istream::hex);
-  bool r = s >> bits;
-  s.flags(f);
-  return r;
-}
-
-void
-PPL::Row::ascii_dump(std::ostream& s) const {
-  const Row& x = *this;
-  const dimension_type x_size = x.size();
-  s << "size " << x_size << " ";
-  for (dimension_type i = 0; i < x_size; ++i)
-    s << x[i] << ' ';
-  s << "f ";
-  flags().ascii_dump(s);
-  s << "\n";
-}
-
-PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Row)
-
-bool
-PPL::Row::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str) || str != "size")
-    return false;
-  dimension_type new_size;
-  if (!(s >> new_size))
-    return false;
-
-  Row& x = *this;
-  const dimension_type old_size = x.size();
-  if (new_size < old_size)
-    x.shrink(new_size);
-  else if (new_size > old_size) {
-    Row y(new_size, Row::Flags());
-    x.swap(y);
-  }
-
-  for (dimension_type col = 0; col < new_size; ++col)
-    if (!(s >> x[col]))
-      return false;
-  if (!(s >> str) || str != "f")
-    return false;
-  return flags().ascii_load(s);
-}
-
-PPL::memory_size_type
-PPL::Row_Impl_Handler::Impl::external_memory_in_bytes() const {
-  memory_size_type n = 0;
-  for (dimension_type i = size(); i-- > 0; )
-    n += PPL::external_memory_in_bytes(vec_[i]);
-  return n;
-}
-
-bool
-PPL::Row::OK() const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-
-  bool is_broken = false;
-#if PPL_ROW_EXTRA_DEBUG
-# if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity_ == 0) {
-    cerr << "Illegal row capacity: is 0, should be at least 1"
-	 << endl;
-    is_broken = true;
-  }
-  else
-# endif // !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity_ > max_size()) {
-    cerr << "Row capacity exceeds the maximum allowed size:"
-	 << endl
-	 << "is " << capacity_
-	 << ", should be less than or equal to " << max_size() << "."
-	 << endl;
-    is_broken = true;
-  }
-#endif // PPL_ROW_EXTRA_DEBUG
-  if (size() > max_size()) {
-#ifndef NDEBUG
-    cerr << "Row size exceeds the maximum allowed size:"
-	 << endl
-	 << "is " << size()
-	 << ", should be less than or equal to " << max_size() << "."
-	 << endl;
-#endif
-    is_broken = true;
-  }
-#if PPL_ROW_EXTRA_DEBUG
-  if (capacity_ < size()) {
-#ifndef NDEBUG
-    cerr << "Row is completely broken: capacity is " << capacity_
-	 << ", size is " << size() << "."
-	 << endl;
-#endif
-    is_broken = true;
-  }
-#endif // PPL_ROW_EXTRA_DEBUG
-  return !is_broken;
-}
-
-bool
-PPL::Row::OK(const dimension_type row_size,
-	     const dimension_type
-#if PPL_ROW_EXTRA_DEBUG
-	     row_capacity
-#endif
-	     ) const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-
-  bool is_broken = !OK();
-
-#if PPL_ROW_EXTRA_DEBUG
-  // Check the declared capacity.
-# if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity_ == 1 && row_capacity == 0)
-    // This is fine.
-    ;
-  else
-# endif // !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity_ != row_capacity) {
-    cerr << "Row capacity mismatch: is " << capacity_
-	 << ", should be " << row_capacity << "."
-	 << endl;
-    is_broken = true;
-  }
-#endif // PPL_ROW_EXTRA_DEBUG
-
-  // Check the declared size.
-  if (size() != row_size) {
-#ifndef NDEBUG
-    cerr << "Row size mismatch: is " << size()
-	 << ", should be " << row_size << "."
-	 << endl;
-#endif
-    is_broken = true;
-  }
-  return !is_broken;
-}
-
-/*! \relates Parma_Polyhedra_Library::Row */
-bool
-PPL::operator==(const Row& x, const Row& y) {
-  const dimension_type x_size = x.size();
-  const dimension_type y_size = y.size();
-  if (x_size != y_size)
-    return false;
-
-  if (x.flags() != y.flags())
-    return false;
-
-  for (dimension_type i = x_size; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-
-  return true;
-}
diff --git a/src/Row.defs.hh b/src/Row.defs.hh
deleted file mode 100644
index 2d580f5..0000000
--- a/src/Row.defs.hh
+++ /dev/null
@@ -1,522 +0,0 @@
-/* Row class declaration.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Row_defs_hh
-#define PPL_Row_defs_hh 1
-
-#include "Row.types.hh"
-#include "globals.defs.hh"
-#include "Coefficient.defs.hh"
-#include <vector>
-#include <limits>
-
-#ifndef PPL_ROW_EXTRA_DEBUG
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*!
-  \brief
-  Enables extra debugging information for class Row.
-
-  \ingroup PPL_CXX_interface
-  When <CODE>PPL_ROW_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
-  each instance of the class Row carries its own capacity; this enables
-  extra consistency checks to be performed.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_ROW_EXTRA_DEBUG 1
-#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#define PPL_ROW_EXTRA_DEBUG 0
-#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#endif // !defined(PPL_ROW_EXTRA_DEBUG)
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The handler of the actual Row implementation.
-/*! \ingroup PPL_CXX_interface
-  Exception-safety is the only responsibility of this class: it has
-  to ensure that its \p impl member is correctly deallocated.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler {
-public:
-  //! Default constructor.
-  Row_Impl_Handler();
-
-  //! Destructor.
-  ~Row_Impl_Handler();
-
-  class Impl;
-
-  //! A pointer to the actual implementation.
-  Impl* impl;
-
-#if PPL_ROW_EXTRA_DEBUG
-  //! The capacity of \p impl (only available during debugging).
-  dimension_type capacity_;
-#endif // PPL_ROW_EXTRA_DEBUG
-
-private:
-  //! Private and unimplemented: copy construction is not allowed.
-  Row_Impl_Handler(const Row_Impl_Handler&);
-
-  //! Private and unimplemented: copy assignment is not allowed.
-  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A finite sequence of coefficients.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Wrapper class to represent a set of flags with bits in a native
-    unsigned integral type.
-    \ingroup PPL_CXX_interface
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags {
-  public:
-    //! Constructs an object with all the flags unset.
-    Flags();
-
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
-
-    PPL_OUTPUT_DECLARATIONS
-
-    //! Uses the ASCII Flags representation from \p s to recreate *this.
-    /*!
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE>
-      otherwise.  The ASCII representation is as output by
-      \ref Parma_Polyhedra_Library::Row::Flags::ascii_dump().
-    */
-    bool ascii_load(std::istream& s);
-
-  protected:
-    //! A native integral type holding the bits that encode the flags.
-    typedef unsigned int base_type;
-
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit = 0;
-
-    //! Total number of bits that can be stored.
-    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
-
-    //! Constructs an object with flags set as in \p n.
-    explicit Flags(base_type n);
-
-    //! Returns the integer encoding \p *this.
-    base_type get_bits() const;
-
-    //! Sets the bits in \p mask.
-    void set_bits(base_type mask);
-
-    //! Resets the bits in \p mask.
-    void reset_bits(base_type mask);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if all the bits
-      in \p mask are set.
-    */
-    bool test_bits(base_type mask) const;
-
-  private:
-    //! The integer encoding \p *this.
-    base_type bits;
-
-    friend class Row;
-  };
-
-  //! Pre-constructs a row: construction must be completed by construct().
-  Row();
-
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with size and capacity \p sz and flags \p f.
-  */
-  void construct(dimension_type sz, Flags f);
-
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
-
-    \param capacity
-    The capacity of the row that will be constructed;
-
-    \param f
-    Flags for the row that will be constructed.
-
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
-
-  //! Tight constructor: resizing may require reallocation.
-  /*!
-    Constructs a row with size and capacity \p sz, and flags \p f.
-  */
-  Row(dimension_type sz, Flags f);
-
-  //! Sizing constructor with capacity.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
-
-    \param capacity
-    The capacity of the row that will be constructed;
-
-    \param f
-    Flags for the row that will be constructed.
-
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  Row(dimension_type sz, dimension_type capacity, Flags f);
-
-  //! Ordinary copy constructor.
-  Row(const Row& y);
-
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to
-    the size of \p y.
-  */
-  Row(const Row& y, dimension_type capacity);
-
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-  */
-  Row(const Row& y, dimension_type sz, dimension_type capacity);
-
-  //! Destructor.
-  ~Row();
-
-  //! Assignment operator.
-  Row& operator=(const Row& y);
-
-  //! Swaps \p *this with \p y.
-  void swap(Row& y);
-
-  //! Assigns the implementation of \p y to \p *this.
-  /*!
-    To be used with extra care, since it may easily cause memory leaks
-    or undefined behavior.
-  */
-  void assign(Row& y);
-
-  /*! \brief
-    Allocates memory for a default constructed Row object, setting
-    flags to \p f and allowing for \p capacity coefficients at most.
-
-    It is assumed that no allocation has been performed before
-    (otherwise, a memory leak will occur).
-    After execution, the size of the Row object is zero.
-  */
-  void allocate(dimension_type capacity, Flags f);
-
-  //! Expands the row to size \p new_size.
-  /*!
-    Adds new positions to the implementation of the row
-    obtaining a new row with size \p new_size.
-    It is assumed that \p new_size is between the current size
-    and capacity of the row.
-  */
-  void expand_within_capacity(dimension_type new_size);
-
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    Destroys elements of the row implementation
-    from position \p new_size to the end.
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
-
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
-
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
-
-  //! Returns the size() of the largest possible Row.
-  static dimension_type max_size();
-
-  //! Gives the number of coefficients currently in use.
-  dimension_type size() const;
-
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
-
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
-
-  //! Normalizes the modulo of coefficients so that they are mutually prime.
-  /*!
-    Computes the Greatest Common Divisor (GCD) among the elements of
-    the row and normalizes them by the GCD itself.
-  */
-  void normalize();
-
-  PPL_OUTPUT_DECLARATIONS
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
-
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
-
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
-
-  /*! \brief
-    Returns the total size in bytes of the memory occupied by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
-
-  /*! \brief
-    Returns the size in bytes of the memory managed by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-  /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
-  */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
-
-private:
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Row& y);
-
-#if PPL_ROW_EXTRA_DEBUG
-  //! Returns the capacity of the row (only available during debugging).
-  dimension_type capacity() const;
-#endif // PPL_ROW_EXTRA_DEBUG
-};
-
-namespace Parma_Polyhedra_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Row */
-bool operator==(const Row& x, const Row& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Row */
-bool operator!=(const Row& x, const Row& y);
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Row& x,
-	  Parma_Polyhedra_Library::Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Row>::iterator y);
-
-} // namespace std
-
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The actual implementation of a Row object.
-/*! \ingroup PPL_CXX_interface
-  The class Row_Impl_Handler::Impl provides the implementation of Row
-  objects and, in particular, of the corresponding memory allocation
-  functions.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler::Impl {
-public:
-  //! \name Custom allocator and deallocator
-  //@{
-
-  //! Placement allocation function.
-  /*!
-    Allocates a chunk of memory able to contain \p capacity Coefficient
-    objects beyond the specified \p fixed_size and returns a pointer to
-    the newly allocated memory.
-  */
-  static void* operator new(size_t fixed_size, dimension_type capacity);
-
-  //! Usual (non-placement) deallocation function.
-  /*!
-    Uses the standard delete operator to free the memory \p p points to.
-
-    \note
-    The definition of this custom deallocation function is required
-    since otherwise the placement deallocation function
-    <code>
-    static void operator delete(void* p, dimension_type capacity);
-    </code>
-    would be wrongly interpreted as a usual (non-placement) deallocation
-    function (see C++98 3.7.3.2p2). This happens because \c dimension_type
-    is just an alias for \c std::size_t.
-    See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
-  */
-  static void operator delete(void* p);
-
-  //! Placement deallocation function.
-  /*!
-    Uses the standard operator delete to free the memory \p p points to.
-  */
-  static void operator delete(void* p, dimension_type capacity);
-  //@} // Custom allocator and deallocator
-
-  //! Constructor.
-  Impl(Row::Flags f);
-
-  //! Destructor.
-  /*!
-    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
-    to delete all the row elements.
-  */
-  ~Impl();
-
-  //! Expands the row to size \p new_size.
-  /*!
-    It is assumed that \p new_size is between the current size and capacity.
-  */
-  void expand_within_capacity(dimension_type new_size);
-
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
-
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Impl& y);
-
-  //! Returns the size() of the largest possible Impl.
-  static dimension_type max_size();
-
-  //! \name Flags accessors
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Row::Flags& flags() const;
-
-  //! Returns a non-const reference to the flags of \p *this.
-  Row::Flags& flags();
-  //@} // Flags accessors
-
-  //! \name Size accessors
-  //@{
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
-
-  //! Sets to \p new_size the actual size of \p *this.
-  void set_size(dimension_type new_size);
-
-  //! Increment the size of \p *this by 1.
-  void bump_size();
-  //@} // Size accessors
-
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of \p *this indexed by \p k.
-  Coefficient& operator[](dimension_type k);
-
-  //! Returns a constant reference to the element of \p *this indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
-
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-private:
-  //! The number of coefficients in the row.
-  dimension_type size_;
-
-  //! The flags of this row.
-  Row::Flags flags_;
-
-  //! The vector of coefficients.
-  Coefficient vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
-#endif
-  ];
-
-  //! Private and unimplemented: default construction is not allowed.
-  Impl();
-
-  //! Private and unimplemented: copy construction is not allowed.
-  Impl(const Impl& y);
-
-  //! Private and unimplemented: assignment is not allowed.
-  Impl& operator=(const Impl&);
-};
-
-#include "Row.inlines.hh"
-
-#endif // !defined(PPL_Row_defs_hh)
diff --git a/src/Row.inlines.hh b/src/Row.inlines.hh
deleted file mode 100644
index d661d8f..0000000
--- a/src/Row.inlines.hh
+++ /dev/null
@@ -1,406 +0,0 @@
-/* Row class implementation: inline functions.
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_Row_inlines_hh
-#define PPL_Row_inlines_hh 1
-
-#include "math_utilities.defs.hh"
-#include "assert.hh"
-#include <cstddef>
-#include <limits>
-#include <algorithm>
-
-namespace Parma_Polyhedra_Library {
-
-inline
-Row::Flags::Flags()
-  : bits(0) {
-}
-
-inline
-Row::Flags::Flags(base_type n)
-  : bits(n) {
-}
-
-inline Row::Flags::base_type
-Row::Flags::get_bits() const {
-  return bits;
-}
-
-inline void
-Row::Flags::set_bits(const base_type mask) {
-  bits |= mask;
-}
-
-inline void
-Row::Flags::reset_bits(const base_type mask) {
-  bits &= ~mask;
-}
-
-inline bool
-Row::Flags::test_bits(const base_type mask) const {
-  return (bits & mask) == mask;
-}
-
-inline bool
-Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
-}
-
-inline bool
-Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
-}
-
-inline void*
-Row_Impl_Handler::Impl::operator new(const size_t fixed_size,
-				     const dimension_type capacity) {
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  return ::operator new(fixed_size + capacity*sizeof(Coefficient));
-#else
-  PPL_ASSERT(capacity >= 1);
-  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
-#endif
-}
-
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p) {
-  ::operator delete(p);
-}
-
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
-  ::operator delete(p);
-}
-
-inline dimension_type
-Row_Impl_Handler::Impl::max_size() {
-  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
-}
-
-inline dimension_type
-Row_Impl_Handler::Impl::size() const {
-  return size_;
-}
-
-inline void
-Row_Impl_Handler::Impl::set_size(const dimension_type new_size) {
-  size_ = new_size;
-}
-
-inline void
-Row_Impl_Handler::Impl::bump_size() {
-  ++size_;
-}
-
-inline
-Row_Impl_Handler::Impl::Impl(const Row::Flags f)
-  : size_(0), flags_(f) {
-}
-
-inline
-Row_Impl_Handler::Impl::~Impl() {
-  shrink(0);
-}
-
-inline const Row::Flags&
-Row_Impl_Handler::Impl::flags() const {
-  return flags_;
-}
-
-inline Row::Flags&
-Row_Impl_Handler::Impl::flags() {
-  return flags_;
-}
-
-inline Coefficient&
-Row_Impl_Handler::Impl::operator[](const dimension_type k) {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
-
-inline Coefficient_traits::const_reference
-Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
-
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes(dimension_type capacity) const {
-  return
-    sizeof(*this)
-    + capacity*sizeof(Coefficient)
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-    - 1*sizeof(Coefficient)
-#endif
-    + external_memory_in_bytes();
-}
-
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes() const {
-  // In general, this is a lower bound, as the capacity of *this
-  // may be strictly greater than `size_'
-  return total_memory_in_bytes(size_);
-}
-
-inline dimension_type
-Row::max_size() {
-  return Impl::max_size();
-}
-
-inline dimension_type
-Row::size() const {
-  return impl->size();
-}
-
-inline const Row::Flags&
-Row::flags() const {
-  return impl->flags();
-}
-
-inline Row::Flags&
-Row::flags() {
-  return impl->flags();
-}
-
-#if PPL_ROW_EXTRA_DEBUG
-inline dimension_type
-Row::capacity() const {
-  return capacity_;
-}
-#endif
-
-inline
-Row_Impl_Handler::Row_Impl_Handler()
-  : impl(0) {
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = 0;
-#endif
-}
-
-inline
-Row_Impl_Handler::~Row_Impl_Handler() {
-  delete impl;
-}
-
-inline
-Row::Row()
-  : Row_Impl_Handler() {
-}
-
-inline void
-Row::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       const
-#endif
-	       dimension_type capacity,
-	       const Flags f) {
-  PPL_ASSERT(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity == 0)
-    ++capacity;
-#endif
-  PPL_ASSERT(impl == 0);
-  impl = new (capacity) Impl(f);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(capacity_ == 0);
-  capacity_ = capacity;
-#endif
-}
-
-inline void
-Row::expand_within_capacity(const dimension_type new_size) {
-  PPL_ASSERT(impl);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(new_size <= capacity_);
-#endif
-  impl->expand_within_capacity(new_size);
-}
-
-inline void
-Row::copy_construct_coefficients(const Row& y) {
-  PPL_ASSERT(impl && y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(y.size() <= capacity_);
-#endif
-  impl->copy_construct_coefficients(*(y.impl));
-}
-
-inline void
-Row::construct(const dimension_type sz,
-	       const dimension_type capacity,
-	       const Flags f) {
-  PPL_ASSERT(sz <= capacity && capacity <= max_size());
-  allocate(capacity, f);
-  expand_within_capacity(sz);
-}
-
-inline void
-Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
-}
-
-inline
-Row::Row(const dimension_type sz,
-	 const dimension_type capacity,
-	 const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, capacity, f);
-}
-
-inline
-Row::Row(const dimension_type sz, const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, f);
-}
-
-inline
-Row::Row(const Row& y)
-  : Row_Impl_Handler() {
-  if (y.impl) {
-    allocate(compute_capacity(y.size(), max_size()), y.flags());
-    copy_construct_coefficients(y);
-  }
-}
-
-inline
-Row::Row(const Row& y,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-}
-
-inline
-Row::Row(const Row& y,
-	 const dimension_type sz,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-  expand_within_capacity(sz);
-}
-
-inline
-Row::~Row() {
-}
-
-inline void
-Row::shrink(const dimension_type new_size) {
-  PPL_ASSERT(impl);
-  impl->shrink(new_size);
-}
-
-inline void
-Row::swap(Row& y) {
-  std::swap(impl, y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  std::swap(capacity_, y.capacity_);
-#endif
-}
-
-inline void
-Row::assign(Row& y) {
-  impl = y.impl;
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = y.capacity_;
-#endif
-}
-
-inline Row&
-Row::operator=(const Row& y) {
-  // Copy-construct `tmp' from `y'.
-  Row tmp(y);
-  // Swap the implementation of `*this' with the one of `tmp'.
-  swap(tmp);
-  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
-  return *this;
-}
-
-inline Coefficient&
-Row::operator[](const dimension_type k) {
-  PPL_ASSERT(impl);
-  return (*impl)[k];
-}
-
-inline Coefficient_traits::const_reference
-Row::operator[](const dimension_type k) const {
-  PPL_ASSERT(impl);
-  return (*impl)[k];
-}
-
-inline memory_size_type
-Row::external_memory_in_bytes(dimension_type capacity) const {
-  return impl->total_memory_in_bytes(capacity);
-}
-
-inline memory_size_type
-Row::total_memory_in_bytes(dimension_type capacity) const {
-  return sizeof(*this) + external_memory_in_bytes(capacity);
-}
-
-inline memory_size_type
-Row::external_memory_in_bytes() const {
-#if PPL_ROW_EXTRA_DEBUG
-  return impl->total_memory_in_bytes(capacity_);
-#else
-  return impl->total_memory_in_bytes();
-#endif
-}
-
-inline memory_size_type
-Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
-
-/*! \relates Row */
-inline bool
-operator!=(const Row& x, const Row& y) {
-  return !(x == y);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Row */
-inline void
-swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
-  x.swap(y);
-}
-
-/*! \relates Parma_Polyhedra_Library::Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Row>::iterator y) {
-  swap(*x, *y);
-}
-
-} // namespace std
-
-#endif // !defined(PPL_Row_inlines_hh)
diff --git a/src/Row.types.hh b/src/Row.types.hh
deleted file mode 100644
index 4c9649f..0000000
--- a/src/Row.types.hh
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PPL_Row_types_hh
-#define PPL_Row_types_hh 1
-
-namespace Parma_Polyhedra_Library {
-
-class Row_Impl_Handler;
-class Row;
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Row_types_hh)
diff --git a/src/Scalar_Products.cc b/src/Scalar_Products.cc
index a64d519..caa9ffc 100644
--- a/src/Scalar_Products.cc
+++ b/src/Scalar_Products.cc
@@ -1,6 +1,6 @@
 /* Scalar_Products class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,143 +19,104 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "Scalar_Products.defs.hh"
+#include "Scalar_Products.inlines.hh"
 #include "Coefficient.defs.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
 void
 PPL::Scalar_Products::assign(Coefficient& z,
-			     const Linear_Row& x, const Linear_Row& y) {
-  // Scalar product is only defined  if `x' and `y' are
-  // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size(); i-- > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+			     const Linear_Expression& x,
+                             const Linear_Expression& y) {
+  x.scalar_product_assign(z, y);
 }
 
 void
 PPL::Scalar_Products::assign(Coefficient& z,
-			     const Constraint& x, const Generator& y) {
-  // Scalar product is only defined if `x' and `y' are
-  // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size(); i-- > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+                             const Constraint& c, const Generator& g) {
+  assign(z, c.expr, g.expr);
 }
 
 void
 PPL::Scalar_Products::assign(Coefficient& z,
-			     const Grid_Generator& x, const Congruence& y) {
-  // Scalar product is only defined if `x' and `y' are
-  // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size() - 1 /* parameter divisor */; i-- > 0; )
-    // The following line optimizes the computation of z += x[i] *
-    // y[i].
-    add_mul_assign(z, x[i], y[i]);
+                             const Generator& g, const Constraint& c) {
+  assign(z, g.expr, c.expr);
 }
 
 void
 PPL::Scalar_Products::assign(Coefficient& z,
-			     const Constraint& x,
-			     const Grid_Generator& y) {
-  // Scalar product is only defined if `x' and `y' are
-  // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size(); i-- > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+			     const Grid_Generator& gg, const Congruence& cg) {
+  gg.expr.scalar_product_assign(z, cg.expression(),
+                                0, gg.space_dimension() + 1);
+}
+
+void
+PPL::Scalar_Products::assign(Coefficient& z,
+			     const Constraint& c,
+			     const Grid_Generator& gg) {
+  assign(z, c.expr, gg.expr);
 }
 
 void
 PPL::Scalar_Products::assign(Coefficient& z,
-			     const Congruence& x, const Grid_Generator& y) {
-  // Scalar product is only defined if `x' and `y' are
+			     const Congruence& cg, const Grid_Generator& gg) {
+  // Scalar product is only defined if `cg' and `gg' are
   // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size() - 1; i-- > 0; )
-    // The following line optimizes the computation of z += x[i] *
-    // y[i].
-    add_mul_assign(z, x[i], y[i]);
+  PPL_ASSERT(cg.space_dimension() <= gg.space_dimension());
+  cg.expression().scalar_product_assign(z, gg.expr);
 }
 
 void
 PPL::Scalar_Products::reduced_assign(Coefficient& z,
-				     const Linear_Row& x,
-				     const Linear_Row& y) {
+				     const Linear_Expression& x,
+				     const Linear_Expression& y) {
   // The reduced scalar product is only defined
-  // if the topology of `x' is NNC and `y' has enough coefficients.
-  PPL_ASSERT(!x.is_necessarily_closed());
-  PPL_ASSERT(x.size() - 1 <= y.size());
-  z = 0;
-  for (dimension_type i = x.size() - 1; i-- > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+  // if `y' has enough coefficients.
+  PPL_ASSERT(x.space_dimension() - 1 <= y.space_dimension());
+  x.scalar_product_assign(z, y, 0, x.space_dimension());
 }
 
 void
 PPL::Scalar_Products::reduced_assign(Coefficient& z,
-				     const Grid_Generator& x,
-				     const Congruence& y) {
-  // The reduced scalar product is only defined if the topology of `x'
-  // is NNC and `y' has enough coefficients.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  for (dimension_type i = x.size() - 1; i-- > 0; )
-    // The following line optimizes z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+				     const Grid_Generator& gg,
+				     const Congruence& cg) {
+  // The reduced scalar product is only defined if the topology of `gg'
+  // is NNC and `cg' has enough coefficients.
+  PPL_ASSERT(gg.space_dimension() <= cg.space_dimension());
+  gg.expr.scalar_product_assign(z, cg.expression(), 0, gg.space_dimension());
 }
 
 void
 PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
-					 const Linear_Row& x,
-					 const Linear_Row& y) {
+					 const Linear_Expression& x,
+					 const Linear_Expression& y) {
   // Scalar product is only defined  if `x' and `y' are
   // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  // Note the pre-decrement of `i': last iteration should be for `i == 1'.
-  for (dimension_type i = x.size(); --i > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+  PPL_ASSERT(x.space_dimension() <= y.space_dimension());
+  x.scalar_product_assign(z, y, 1, x.space_dimension() + 1);
 }
 
 void
 PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
-					 const Grid_Generator& x,
-					 const Congruence& y) {
-  // Scalar product is only defined if `x' and `y' are
+					 const Grid_Generator& gg,
+					 const Congruence& cg) {
+  // Scalar product is only defined if `gg' and `cg' are
   // dimension-compatible.
-  PPL_ASSERT(x.size() <= y.size());
-  z = 0;
-  // Note the pre-decrement of `i': last iteration should be for `i == 1'.
-  for (dimension_type i = x.size() - 1; --i > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+  PPL_ASSERT(gg.space_dimension() <= cg.space_dimension());
+  gg.expr.scalar_product_assign(z, cg.expression(),
+                                1, gg.space_dimension() + 1);
 }
 
 void
 PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
-					 const Grid_Generator& x,
-					 const Constraint& y) {
-  // Scalar product is only defined if `x' and `y' are
+					 const Grid_Generator& gg,
+					 const Constraint& c) {
+  // Scalar product is only defined if `gg' and `c' are
   // dimension-compatible.
-  PPL_ASSERT(x.size() - 1 <= y.size());
-  z = 0;
-  // Note the pre-decrement of `i': last iteration should be for `i == 1'.
-  for (dimension_type i = x.size() - 1; --i > 0; )
-    // The following line optimizes the computation of z += x[i] * y[i].
-    add_mul_assign(z, x[i], y[i]);
+  PPL_ASSERT(gg.space_dimension() <= c.space_dimension());
+  gg.expr.scalar_product_assign(z, c.expr, 1, gg.space_dimension() + 1);
 }
diff --git a/src/Scalar_Products.defs.hh b/src/Scalar_Products.defs.hh
index 7e5aeb5..7effccc 100644
--- a/src/Scalar_Products.defs.hh
+++ b/src/Scalar_Products.defs.hh
@@ -1,6 +1,6 @@
 /* Scalar_Products class definition.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Scalar_Products_defs_hh
 #define PPL_Scalar_Products_defs_hh 1
 
 #include "Scalar_Products.types.hh"
-#include "Linear_Row.types.hh"
 #include "Coefficient.types.hh"
 #include "Linear_Expression.types.hh"
 #include "Constraint.types.hh"
@@ -36,7 +35,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! A class implementing various scalar product functions.
 /*! \ingroup PPL_CXX_interface
-  When computing the scalar product of (Linear_Row or Constraint or
+  When computing the scalar product of (Linear_Expression or Constraint or
   Generator) objects <CODE>x</CODE> and <CODE>y</CODE>, it is assumed
   that the space dimension of the first object <CODE>x</CODE> is less
   than or equal to the space dimension of the second object <CODE>y</CODE>.
@@ -45,27 +44,36 @@ site: http://www.cs.unipr.it/ppl/ . */
 class Parma_Polyhedra_Library::Scalar_Products {
 public:
   //! Computes the scalar product of \p x and \p y and assigns it to \p z.
-  static void assign(Coefficient& z, const Linear_Row& x, const Linear_Row& y);
+  static void assign(Coefficient& z,
+                     const Linear_Expression& x, const Linear_Expression& y);
+
   //! Computes the scalar product of \p c and \p g and assigns it to \p z.
   static void assign(Coefficient& z, const Constraint& c, const Generator& g);
+
   //! Computes the scalar product of \p g and \p c and assigns it to \p z.
   static void assign(Coefficient& z, const Generator& g, const Constraint& c);
+
   //! Computes the scalar product of \p c and \p g and assigns it to \p z.
   static void assign(Coefficient& z,
-		     const Constraint& c, const Grid_Generator& g);
+		     const Constraint& c, const Grid_Generator& gg);
+
   //! Computes the scalar product of \p g and \p cg and assigns it to \p z.
   static void assign(Coefficient& z,
-		     const Grid_Generator& g, const Congruence& cg);
+		     const Grid_Generator& gg, const Congruence& cg);
+
   //! Computes the scalar product of \p cg and \p g and assigns it to \p z.
   static void assign(Coefficient& z,
-		     const Congruence& cg, const Grid_Generator& g);
+		     const Congruence& cg, const Grid_Generator& gg);
 
   //! Returns the sign of the scalar product between \p x and \p y.
-  static int sign(const Linear_Row& x, const Linear_Row& y);
+  static int sign(const Linear_Expression& x, const Linear_Expression& y);
+
   //! Returns the sign of the scalar product between \p c and \p g.
   static int sign(const Constraint& c, const Generator& g);
+
   //! Returns the sign of the scalar product between \p g and \p c.
   static int sign(const Generator& g, const Constraint& c);
+
   //! Returns the sign of the scalar product between \p c and \p g.
   static int sign(const Constraint& c, const Grid_Generator& g);
 
@@ -75,7 +83,9 @@ public:
     and assigns the result to \p z.
   */
   static void reduced_assign(Coefficient& z,
-			     const Linear_Row& x, const Linear_Row& y);
+			     const Linear_Expression& x,
+                             const Linear_Expression& y);
+
   /*! \brief
     Computes the \e reduced scalar product of \p c and \p g,
     where the \f$\epsilon\f$ coefficient of \p c is ignored,
@@ -83,6 +93,7 @@ public:
   */
   static void reduced_assign(Coefficient& z,
 			     const Constraint& c, const Generator& g);
+
   /*! \brief
     Computes the \e reduced scalar product of \p g and \p c,
     where the \f$\epsilon\f$ coefficient of \p g is ignored,
@@ -90,23 +101,27 @@ public:
   */
   static void reduced_assign(Coefficient& z,
 			     const Generator& g, const Constraint& c);
+
   //! \brief
   //! Computes the \e reduced scalar product of \p g and \p cg,
   //! where the \f$\epsilon\f$ coefficient of \p g is ignored,
   //! and assigns the result to \p z.
   static void reduced_assign(Coefficient& z,
-			     const Grid_Generator& g, const Congruence& cg);
+			     const Grid_Generator& gg, const Congruence& cg);
 
   /*! \brief
     Returns the sign of the \e reduced scalar product of \p x and \p y,
     where the \f$\epsilon\f$ coefficient of \p x is ignored.
   */
-  static int reduced_sign(const Linear_Row& x, const Linear_Row& y);
+  static int reduced_sign(const Linear_Expression& x,
+                          const Linear_Expression& y);
+
   /*! \brief
     Returns the sign of the \e reduced scalar product of \p c and \p g,
     where the \f$\epsilon\f$ coefficient of \p c is ignored.
   */
   static int reduced_sign(const Constraint& c, const Generator& g);
+
   /*! \brief
     Returns the sign of the \e reduced scalar product of \p g and \p c,
     where the \f$\epsilon\f$ coefficient of \p g is ignored.
@@ -119,7 +134,8 @@ public:
     and assigns the result to \p z.
   */
   static void homogeneous_assign(Coefficient& z,
-				 const Linear_Row& x, const Linear_Row& y);
+				 const Linear_Expression& x,
+                                 const Linear_Expression& y);
   /*! \brief
     Computes the \e homogeneous scalar product of \p e and \p g,
     where the inhomogeneous terms are ignored,
@@ -128,18 +144,23 @@ public:
   static void homogeneous_assign(Coefficient& z,
 				 const Linear_Expression& e,
 				 const Generator& g);
+
   //! \brief
-  //! Computes the \e homogeneous scalar product of \p g and \p c,
+  //! Computes the \e homogeneous scalar product of \p gg and \p c,
   //! where the inhomogeneous terms are ignored,
   //! and assigns the result to \p z.
   static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Constraint& c);
+				 const Grid_Generator& gg,
+                                 const Constraint& c);
+
   //! \brief
   //! Computes the \e homogeneous scalar product of \p g and \p cg,
   //! where the inhomogeneous terms are ignored,
   //! and assigns the result to \p z.
   static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Congruence& cg);
+				 const Grid_Generator& gg,
+                                 const Congruence& cg);
+
   //! \brief
   //! Computes the \e homogeneous scalar product of \p e and \p g,
   //! where the inhomogeneous terms are ignored,
@@ -152,17 +173,21 @@ public:
     Returns the sign of the \e homogeneous scalar product of \p x and \p y,
     where the inhomogeneous terms are ignored.
   */
-  static int homogeneous_sign(const Linear_Row& x, const Linear_Row& y);
+  static int homogeneous_sign(const Linear_Expression& x,
+                              const Linear_Expression& y);
+
   /*! \brief
     Returns the sign of the \e homogeneous scalar product of \p e and \p g,
     where the inhomogeneous terms are ignored.
   */
   static int homogeneous_sign(const Linear_Expression& e, const Generator& g);
+
   //! \brief
   //! Returns the sign of the \e homogeneous scalar product of \p e and \p g,
   //! where the inhomogeneous terms are ignored,
   static int homogeneous_sign(const Linear_Expression& e,
 			      const Grid_Generator& g);
+
   //! \brief
   //! Returns the sign of the \e homogeneous scalar product of \p g and \p c,
   //! where the inhomogeneous terms are ignored,
@@ -177,22 +202,25 @@ class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign {
 public:
   //! Constructs the function object according to the topology of \p c.
   Topology_Adjusted_Scalar_Product_Sign(const Constraint& c);
+
   //! Constructs the function object according to the topology of \p g.
   Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
 
   //! Computes the (topology adjusted) scalar product sign of \p c and \p g.
   int operator()(const Constraint&, const Generator&) const;
+
   //! Computes the (topology adjusted) scalar product sign of \p g and \p c.
   int operator()(const Generator&, const Constraint&) const;
 
 private:
   //! The type of the scalar product sign function pointer.
-  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
+  typedef int (*SPS_type)(const Linear_Expression&, const Linear_Expression&);
 
   //! The scalar product sign function pointer.
   SPS_type sps_fp;
 };
 
-#include "Scalar_Products.inlines.hh"
+// NOTE: Scalar_Products.inlines.hh is NOT included here, to avoid cyclic
+// include dependencies.
 
 #endif // !defined(PPL_Scalar_Products_defs_hh)
diff --git a/src/Scalar_Products.inlines.hh b/src/Scalar_Products.inlines.hh
index 7e231f5..ea69b6f 100644
--- a/src/Scalar_Products.inlines.hh
+++ b/src/Scalar_Products.inlines.hh
@@ -1,6 +1,6 @@
 /* Scalar_Products class implementation (inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,12 +19,11 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Scalar_Products_inlines_hh
 #define PPL_Scalar_Products_inlines_hh 1
 
-#include "Linear_Row.defs.hh"
 #include "Linear_Expression.defs.hh"
 #include "Constraint.defs.hh"
 #include "Generator.defs.hh"
@@ -34,21 +33,23 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 inline int
-Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
+Scalar_Products::sign(const Linear_Expression& x, const Linear_Expression& y) {
   PPL_DIRTY_TEMP_COEFFICIENT(z);
   assign(z, x, y);
   return sgn(z);
 }
 
 inline int
-Scalar_Products::reduced_sign(const Linear_Row& x, const Linear_Row& y) {
+Scalar_Products::reduced_sign(const Linear_Expression& x,
+                              const Linear_Expression& y) {
   PPL_DIRTY_TEMP_COEFFICIENT(z);
   reduced_assign(z, x, y);
   return sgn(z);
 }
 
 inline int
-Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
+Scalar_Products::homogeneous_sign(const Linear_Expression& x,
+                                  const Linear_Expression& y) {
   PPL_DIRTY_TEMP_COEFFICIENT(z);
   homogeneous_assign(z, x, y);
   return sgn(z);
@@ -56,14 +57,12 @@ Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
 
 inline int
 Scalar_Products::sign(const Constraint& c, const Generator& g) {
-  return sign(static_cast<const Linear_Row&>(c),
-	      static_cast<const Linear_Row&>(g));
+  return sign(c.expr, g.expr);
 }
 
 inline int
 Scalar_Products::sign(const Generator& g, const Constraint& c) {
-  return sign(static_cast<const Linear_Row&>(g),
-	      static_cast<const Linear_Row&>(c));
+  return sign(g.expr, c.expr);
 }
 
 inline int
@@ -75,46 +74,44 @@ Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
 
 inline int
 Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) {
-  return reduced_sign(static_cast<const Linear_Row&>(c),
-		      static_cast<const Linear_Row&>(g));
+  // The reduced scalar product is only defined if the topology of `c' is
+  // NNC.
+  PPL_ASSERT(!c.is_necessarily_closed());
+  return reduced_sign(c.expr, g.expr);
 }
 
 inline int
 Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) {
-  return reduced_sign(static_cast<const Linear_Row&>(g),
-		      static_cast<const Linear_Row&>(c));
+  // The reduced scalar product is only defined if the topology of `g' is
+  // NNC.
+  PPL_ASSERT(!c.is_necessarily_closed());
+  return reduced_sign(g.expr, c.expr);
 }
 
 inline void
 Scalar_Products::homogeneous_assign(Coefficient& z,
 				    const Linear_Expression& e,
 				    const Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
+  homogeneous_assign(z, e, g.expr);
 }
 
 inline void
 Scalar_Products::homogeneous_assign(Coefficient& z,
 				    const Linear_Expression& e,
 				    const Grid_Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
+  homogeneous_assign(z, e, g.expr);
 }
 
 inline int
 Scalar_Products::homogeneous_sign(const Linear_Expression& e,
 				  const Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
+  return homogeneous_sign(e, g.expr);
 }
 
 inline int
 Scalar_Products::homogeneous_sign(const Linear_Expression& e,
 				  const Grid_Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
+  return homogeneous_sign(e, g.expr);
 }
 
 inline int
@@ -148,8 +145,7 @@ Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
   PPL_ASSERT(sps_fp == (c.is_necessarily_closed()
 		    ? static_cast<SPS_type>(&Scalar_Products::sign)
 		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(c),
-		static_cast<const Linear_Row&>(g));
+  return sps_fp(c.expr, g.expr);
 }
 
 inline int
@@ -159,8 +155,7 @@ Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
   PPL_ASSERT(sps_fp == (g.is_necessarily_closed()
 		    ? static_cast<SPS_type>(&Scalar_Products::sign)
 		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(g),
-		static_cast<const Linear_Row&>(c));
+  return sps_fp(g.expr, c.expr);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Scalar_Products.types.hh b/src/Scalar_Products.types.hh
index 0df7999..33c5a46 100644
--- a/src/Scalar_Products.types.hh
+++ b/src/Scalar_Products.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Slow_Copy.hh b/src/Slow_Copy.hh
index 0150330..e381252 100644
--- a/src/Slow_Copy.hh
+++ b/src/Slow_Copy.hh
@@ -1,6 +1,6 @@
 /* Basic Slow_Copy classes declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Slow_Copy_hh
 #define PPL_Slow_Copy_hh 1
diff --git a/src/Sparse_Row.cc b/src/Sparse_Row.cc
new file mode 100644
index 0000000..e9fb379
--- /dev/null
+++ b/src/Sparse_Row.cc
@@ -0,0 +1,1065 @@
+/* Sparse_Row class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Sparse_Row.defs.hh"
+#include "Dense_Row.defs.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+namespace {
+
+class Sparse_Row_from_Dense_Row_helper_iterator {
+public:
+  Sparse_Row_from_Dense_Row_helper_iterator(const PPL::Dense_Row& row1,
+                                            PPL::dimension_type sz)
+    : row(row1), sz(sz), i(0) {
+    if (row.size() != 0 && row[0] == 0)
+      ++(*this);
+  }
+
+  Sparse_Row_from_Dense_Row_helper_iterator& operator++() {
+    PPL_ASSERT(i < sz);
+    ++i;
+    while (i < sz && row[i] == 0)
+      ++i;
+    return *this;
+  }
+
+  Sparse_Row_from_Dense_Row_helper_iterator operator++(int) {
+    Sparse_Row_from_Dense_Row_helper_iterator tmp = *this;
+    ++(*this);
+    return tmp;
+  }
+
+  PPL::Coefficient_traits::const_reference
+  operator*() const {
+    PPL_ASSERT(i < sz);
+    return row[i];
+  }
+
+  PPL::dimension_type
+  index() const {
+    PPL_ASSERT(i < sz);
+    return i;
+  }
+
+  bool
+  operator==(const Sparse_Row_from_Dense_Row_helper_iterator& itr) const {
+    PPL_ASSERT(&row == &(itr.row));
+    return i == itr.i;
+  }
+
+  bool
+  operator!=(const Sparse_Row_from_Dense_Row_helper_iterator& itr) const {
+    return !(*this == itr);
+  }
+
+private:
+  const PPL::Dense_Row& row;
+  PPL::dimension_type sz;
+  PPL::dimension_type i;
+};
+
+// Returns the number of nonzero elements in row.
+PPL::dimension_type
+Sparse_Row_from_Dense_Row_helper_function(const PPL::Dense_Row& row,
+                                          PPL::dimension_type sz) {
+  PPL::dimension_type count = 0;
+  for (PPL::dimension_type i = sz; i-- > 0; )
+    if (row[i] != 0)
+      ++count;
+  return count;
+}
+
+} // namespace
+
+PPL::Sparse_Row::Sparse_Row(const PPL::Dense_Row& row)
+  : tree(Sparse_Row_from_Dense_Row_helper_iterator(row, row.size()),
+         Sparse_Row_from_Dense_Row_helper_function(row, row.size())),
+    size_(row.size()) {
+  PPL_ASSERT(OK());
+}
+
+PPL::Sparse_Row::Sparse_Row(const Dense_Row& row, dimension_type sz,
+                            dimension_type capacity)
+  : tree(Sparse_Row_from_Dense_Row_helper_iterator(row, row.size()),
+         Sparse_Row_from_Dense_Row_helper_function(row, row.size())),
+    size_(sz) {
+  (void)capacity;
+  PPL_ASSERT(OK());
+}
+
+PPL::Sparse_Row&
+PPL::Sparse_Row::operator=(const PPL::Dense_Row& row) {
+  Sparse_Row tmp(row);
+  swap(*this, tmp);
+  PPL_ASSERT(OK());
+
+  return *this;
+}
+
+void
+PPL::Sparse_Row::swap_coefficients(dimension_type i, dimension_type j) {
+  PPL_ASSERT(i < size_);
+  PPL_ASSERT(j < size_);
+
+  if (tree.empty())
+    return;
+
+  using std::swap;
+
+  iterator itr_i = tree.bisect(i);
+  iterator itr_j = tree.bisect(j);
+  if (itr_i.index() == i)
+    if (itr_j.index() == j)
+      // Both elements are in the tree.
+      swap(*itr_i, *itr_j);
+    else {
+      // i is in the tree, j is not.
+      PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+      swap(*itr_i, tmp);
+      tree.erase(itr_i);
+      // Now both iterators have been invalidated.
+      itr_j = tree.insert(j);
+      swap(*itr_j, tmp);
+    }
+  else
+    if (itr_j.index() == j) {
+      // j is in the tree, i is not.
+      PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+      swap(*itr_j, tmp);
+      // Now both iterators have been invalidated.
+      tree.erase(itr_j);
+      itr_i = tree.insert(i);
+      swap(*itr_i, tmp);
+    } else {
+      // Do nothing, elements are both non-stored zeroes.
+    }
+}
+
+PPL::Sparse_Row::iterator
+PPL::Sparse_Row::reset(iterator first, iterator last) {
+  if (first == last)
+    return first;
+  PPL_ASSERT(last != end());
+  --last;
+  const dimension_type j = last.index();
+  PPL_ASSERT(first.index() <= j);
+  // We can't just compare first and last at each iteration, because last will
+  // be invalidated by the first erase.
+  while (first.index() < j)
+    first = reset(first);
+
+  first = reset(first);
+
+  PPL_ASSERT(OK());
+  return first;
+}
+
+void
+PPL::Sparse_Row::reset_after(dimension_type i) {
+  PPL_ASSERT(i < size_);
+
+  iterator itr = lower_bound(i);
+  // This is a const reference to an internal iterator, that is kept valid.
+  // If we just stored a copy, that would be invalidated by the calls to
+  // reset().
+  const iterator& itr_end = end();
+
+  while (itr != itr_end)
+    itr = reset(itr);
+
+  PPL_ASSERT(OK());
+}
+
+void
+PPL::Sparse_Row::normalize() {
+  // Compute the GCD of all the coefficients.
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  const_iterator i = begin();
+  const_iterator i_end = end();
+  for ( ; i != i_end; ++i) {
+    Coefficient_traits::const_reference x_i = *i;
+    if (const int x_i_sign = sgn(x_i)) {
+      gcd = x_i;
+      if (x_i_sign < 0)
+        neg_assign(gcd);
+      goto compute_gcd;
+    }
+  }
+  // We reach this point only if all the coefficients were zero.
+  return;
+
+ compute_gcd:
+  if (gcd == 1)
+    return;
+  for (++i; i != i_end; ++i) {
+    Coefficient_traits::const_reference x_i = *i;
+    if (x_i != 0) {
+      // Note: we use the ternary version instead of a more concise
+      // gcd_assign(gcd, x_i) to take advantage of the fact that
+      // `gcd' will decrease very rapidly (see D. Knuth, The Art of
+      // Computer Programming, second edition, Section 4.5.2,
+      // Algorithm C, and the discussion following it).  Our
+      // implementation of gcd_assign(x, y, z) for checked numbers is
+      // optimized for the case where `z' is smaller than `y', so that
+      // on checked numbers we gain.  On the other hand, for the
+      // implementation of gcd_assign(x, y, z) on GMP's unbounded
+      // integers we cannot make any assumption, so here we draw.
+      // Overall, we win.
+      gcd_assign(gcd, x_i, gcd);
+      if (gcd == 1)
+        return;
+    }
+  }
+  // Divide the coefficients by the GCD.
+  for (iterator j = begin(), j_end = end(); j != j_end; ++j) {
+    Coefficient& x_j = *j;
+    exact_div_assign(x_j, x_j, gcd);
+  }
+
+  PPL_ASSERT(OK());
+}
+
+namespace {
+
+class sparse_row_linear_combine_helper_iterator {
+public:
+  sparse_row_linear_combine_helper_iterator(
+    const PPL::Sparse_Row& x, const PPL::Sparse_Row& y,
+    PPL::Coefficient_traits::const_reference coeff1_1,
+    PPL::Coefficient_traits::const_reference coeff2_1)
+    : coeff1(coeff1_1), coeff2(coeff2_1) {
+    i = x.begin();
+    i_end = x.end();
+    j = y.begin();
+    j_end = y.end();
+    update_current_data();
+  }
+
+  void operator++() {
+    if (from_i)
+      ++i;
+    if (from_j)
+      ++j;
+    update_current_data();
+  }
+
+  PPL::Coefficient_traits::const_reference operator*() {
+    return current_value;
+  }
+
+  PPL::dimension_type index() {
+    return current_index;
+  }
+
+private:
+  void update_current_data() {
+    if (i == i_end) {
+      if (j == j_end) {
+        return;
+      } else {
+        // i == i_end, j != j_end, so use j.
+        current_index = j.index();
+        current_value = *j;
+        current_value *= coeff2;
+        from_i = false;
+        from_j = true;
+      }
+    } else {
+      if (j == j_end) {
+        // i != i_end, j == j_end, so use i.
+        current_index = i.index();
+        current_value = *i;
+        current_value *= coeff1;
+        from_i = true;
+        from_j = false;
+      } else {
+        // i != i_end and j != j_end.
+        if (i.index() < j.index()) {
+          // i.index() < j.index(), so use i.
+          current_index = i.index();
+          current_value = *i;
+          current_value *= coeff1;
+          from_i = true;
+          from_j = false;
+        } else {
+          if (i.index() != j.index()) {
+            PPL_ASSERT(i.index() > j.index());
+            // i.index() > j.index(), so use j.
+            current_index = j.index();
+            current_value = *j;
+            current_value *= coeff2;
+            from_i = false;
+            from_j = true;
+          } else {
+            // i.index() == j.index(), so use both i and j.
+            current_index = i.index();
+            current_value = *i;
+            current_value *= coeff1;
+            PPL::add_mul_assign(current_value, *j, coeff2);
+            from_i = true;
+            from_j = true;
+          }
+        }
+      }
+    }
+    PPL_ASSERT(!from_i || i != i_end);
+    PPL_ASSERT(!from_j || j != j_end);
+  }
+
+  PPL::Coefficient_traits::const_reference coeff1;
+  PPL::Coefficient_traits::const_reference coeff2;
+  PPL::Sparse_Row::const_iterator i;
+  PPL::Sparse_Row::const_iterator i_end;
+  PPL::Sparse_Row::const_iterator j;
+  PPL::Sparse_Row::const_iterator j_end;
+  PPL::dimension_type current_index;
+  PPL::Coefficient current_value;
+  bool from_i;
+  bool from_j;
+};
+
+} // namespace
+
+void
+PPL::Sparse_Row::linear_combine(const Sparse_Row& y,
+                                Coefficient_traits::const_reference coeff1,
+                                Coefficient_traits::const_reference coeff2) {
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+  PPL_ASSERT(this != &y);
+
+  if (coeff1 == 1) {
+    // Optimize for this special case.
+    iterator i = end();
+    for (const_iterator j = y.begin(), j_end = y.end(); j != j_end; ++j) {
+      i = insert(i, j.index());
+      add_mul_assign(*i, *j, coeff2);
+      if (*i == 0)
+        i = reset(i);
+    }
+    return;
+  }
+
+  dimension_type counter = 0;
+  // Count the number of elements that are stored in y but not in *this.
+  {
+    iterator i = begin();
+    iterator i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    if (i != i_end) {
+      while (j != j_end) {
+        PPL_ASSERT(i != i_end);
+        if (i.index() == j.index()) {
+          ++i;
+          ++j;
+          if (i == i_end)
+            break;
+        } else
+          if (i.index() < j.index()) {
+            i = lower_bound(i, j.index());
+            if (i == i_end)
+              break;
+          } else {
+            PPL_ASSERT(i.index() > j.index());
+            ++counter;
+            ++j;
+          }
+      }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    for ( ; j != j_end; ++j)
+      ++counter;
+  }
+  // This condition is arbitrary. Changing it affects performance but not
+  // correctness. The values have been tuned using some ppl_lpsol benchmarks
+  // on 2 October 2010.
+  if (counter == 0 || counter < (7 * size()) / 64) {
+    // Few insertions needed, do them directly.
+    iterator i = begin();
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset() and insert().
+    const iterator& i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    while (i != i_end && j != j_end) {
+      if (i.index() == j.index()) {
+        (*i) *= coeff1;
+        add_mul_assign(*i, *j, coeff2);
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          (*i) *= coeff1;
+          ++i;
+        } else {
+          PPL_ASSERT(i.index() > j.index());
+          i = insert(i, j.index(), *j);
+          (*i) *= coeff2;
+          ++i;
+          ++j;
+        }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    for ( ; i != i_end; ++i)
+      (*i) *= coeff1;
+    for ( ; j != j_end; ++j) {
+      i = insert(i, j.index(), *j);
+      (*i) *= coeff2;
+    }
+  } else {
+    // Too many insertions needed, a full copy is probably faster than
+    // inserting all those new elements into *this.
+    CO_Tree new_tree(sparse_row_linear_combine_helper_iterator(*this, y,
+                                                                coeff1,
+                                                                coeff2),
+                     counter + tree.size());
+    tree.m_swap(new_tree);
+
+    // Now remove stored zeroes.
+    iterator i = begin();
+    // Note that end() can not be called only once, because reset()
+    // invalidates all iterators.
+    while (i != end()) {
+      if (*i == 0) {
+#ifndef NDEBUG
+        const dimension_type old_index = i.index();
+#endif
+        i = reset(i);
+        PPL_ASSERT(find(old_index) == end());
+      } else
+        ++i;
+    }
+  }
+}
+
+void
+PPL::Sparse_Row::linear_combine(const Sparse_Row& y,
+                                Coefficient_traits::const_reference coeff1,
+                                Coefficient_traits::const_reference coeff2,
+                                dimension_type start, dimension_type end) {
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+  PPL_ASSERT(this != &y);
+
+  if (coeff1 == 1) {
+    if (coeff2 == 1) {
+      // Optimized implementation for coeff1==1, coeff2==1.
+      iterator i = this->end();
+      for (const_iterator j = y.lower_bound(start),
+             j_end = y.lower_bound(end); j != j_end; ++j) {
+        i = insert(i, j.index());
+        *i += *j;
+        if (*i == 0)
+          i = reset(i);
+      }
+      return;
+    }
+    if (coeff2 == -1) {
+      // Optimized implementation for coeff1==1, coeff2==-1.
+      iterator i = this->end();
+      for (const_iterator j = y.lower_bound(start),
+             j_end = y.lower_bound(end); j != j_end; ++j) {
+        i = insert(i, j.index());
+        *i -= *j;
+        if (*i == 0)
+          i = reset(i);
+      }
+      return;
+    }
+    // Optimized implementation for coeff1==1.
+    iterator i = this->end();
+    for (const_iterator j = y.lower_bound(start),
+           j_end = y.lower_bound(end); j != j_end; ++j) {
+      i = insert(i, j.index());
+      add_mul_assign(*i, *j, coeff2);
+      if (*i == 0)
+        i = reset(i);
+    }
+    return;
+  }
+
+  if (coeff2 == 1) {
+    // Optimized implementation for coeff2==1.
+    iterator i = lower_bound(start);
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset() and insert().
+    const iterator& i_end = this->end();
+    const_iterator j = y.lower_bound(start);
+    const_iterator j_end = y.lower_bound(end);
+    while (i != i_end && i.index() < end && j != j_end) {
+      if (i.index() == j.index()) {
+        (*i) *= coeff1;
+        *i += *j;
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          (*i) *= coeff1;
+          ++i;
+        } else {
+          PPL_ASSERT(i.index() > j.index());
+          i = insert(i, j.index(), *j);
+          ++i;
+          ++j;
+        }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    for ( ; i != i_end && i.index() < end; ++i)
+      (*i) *= coeff1;
+    for ( ; j != j_end; ++j)
+      i = insert(i, j.index(), *j);
+    return;
+  }
+
+  if (coeff2 == -1) {
+    // Optimized implementation for coeff2==-1.
+    iterator i = lower_bound(start);
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset() and insert().
+    const iterator& i_end = this->end();
+    const_iterator j = y.lower_bound(start);
+    const_iterator j_end = y.lower_bound(end);
+    while (i != i_end && i.index() < end && j != j_end) {
+      if (i.index() == j.index()) {
+        (*i) *= coeff1;
+        *i -= *j;
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          (*i) *= coeff1;
+          ++i;
+        } else {
+          PPL_ASSERT(i.index() > j.index());
+          i = insert(i, j.index(), *j);
+          neg_assign(*i);
+          ++i;
+          ++j;
+        }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    for ( ; i != i_end && i.index() < end; ++i)
+      (*i) *= coeff1;
+    for ( ; j != j_end; ++j) {
+      i = insert(i, j.index(), *j);
+      neg_assign(*i);
+    }
+    return;
+  }
+
+  iterator i = lower_bound(start);
+  // This is a const reference to an internal iterator, that is kept valid.
+  // If we just stored a copy, that would be invalidated by the calls to
+  // reset() and insert().
+  const iterator& i_end = this->end();
+  const_iterator j = y.lower_bound(start);
+  const_iterator j_end = y.lower_bound(end);
+  while (i != i_end && i.index() < end && j != j_end) {
+    if (i.index() == j.index()) {
+      (*i) *= coeff1;
+      add_mul_assign(*i, *j, coeff2);
+      if (*i == 0)
+        i = reset(i);
+      else
+        ++i;
+      ++j;
+    } else
+      if (i.index() < j.index()) {
+        (*i) *= coeff1;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        i = insert(i, j.index(), *j);
+        (*i) *= coeff2;
+        ++i;
+        ++j;
+      }
+  }
+  PPL_ASSERT(i == i_end || j == j_end);
+  for ( ; i != i_end && i.index() < end; ++i)
+    (*i) *= coeff1;
+  for ( ; j != j_end; ++j) {
+    i = insert(i, j.index(), *j);
+    (*i) *= coeff2;
+  }
+}
+
+void
+PPL::Sparse_Row::ascii_dump(std::ostream& s) const {
+  s << "size " << size_ << ' ';
+  dimension_type n_elements = 0;
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    ++n_elements;
+  s << "elements " << n_elements << ' ';
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    s << "[ " << i.index() << " ]= " << *i << ' ';
+  s << "\n";
+}
+
+PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Sparse_Row)
+
+bool
+PPL::Sparse_Row::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "size")
+    return false;
+  if (!(s >> size_))
+    return false;
+  clear();
+
+  if (!(s >> str) || str != "elements")
+    return false;
+
+  dimension_type n_elements;
+  if (!(s >> n_elements))
+    return false;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(current_data);
+  for (dimension_type i = 0; i < n_elements; ++i) {
+    dimension_type current_key;
+    if (!(s >> str) || str != "[")
+      return false;
+    if (!(s >> current_key))
+      return false;
+    if (!(s >> str) || str != "]=")
+      return false;
+    if (!(s >> current_data))
+      return false;
+    tree.insert(current_key, current_data);
+  }
+  PPL_ASSERT(OK());
+  return true;
+}
+
+bool
+PPL::Sparse_Row::OK() const {
+  if (begin() == end())
+    return true;
+  const_iterator last = end();
+  --last;
+  return (last.index() < size_);
+}
+
+bool
+PPL::Sparse_Row::OK(dimension_type /* capacity */) const {
+  return OK();
+}
+
+/*! \relates Parma_Polyhedra_Library::Sparse_Row */
+bool
+PPL::operator==(const Sparse_Row& x, const Sparse_Row& y) {
+  if (x.size() != y.size())
+    return false;
+  Sparse_Row::const_iterator i = x.begin();
+  Sparse_Row::const_iterator i_end = x.end();
+  Sparse_Row::const_iterator j = y.begin();
+  Sparse_Row::const_iterator j_end = y.end();
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index()) {
+      if (*i != *j)
+        return false;
+      ++i;
+      ++j;
+    } else {
+      if (i.index() < j.index()) {
+        if (*i != 0)
+          return false;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        if (*j != 0)
+          return false;
+        ++j;
+      }
+    }
+  }
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      return false;
+  for ( ; j != j_end; ++j)
+    if (*j != 0)
+      return false;
+  return true;
+}
+
+/*! \relates Parma_Polyhedra_Library::Sparse_Row */
+bool
+PPL::operator!=(const Sparse_Row& x, const Sparse_Row& y) {
+  return !(x == y);
+}
+
+bool
+PPL::operator==(const Dense_Row& x, const Sparse_Row& y) {
+  if (x.size() != y.size())
+    return false;
+  Sparse_Row::const_iterator itr = y.end();
+  for (dimension_type i = 0; i < x.size(); ++i) {
+    itr = y.lower_bound(itr, i);
+    if (itr != y.end() && itr.index() == i) {
+      if (x[i] != *itr)
+        return false;
+    } else {
+      if (x[i] != 0)
+        return false;
+    }
+  }
+  return true;
+}
+
+bool
+PPL::operator!=(const Dense_Row& x, const Sparse_Row& y) {
+  return !(x == y);
+}
+
+bool
+PPL::operator==(const Sparse_Row& x, const Dense_Row& y) {
+  return y == x;
+}
+
+bool
+PPL::operator!=(const Sparse_Row& x, const Dense_Row& y) {
+  return !(x == y);
+}
+
+void
+PPL::linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2) {
+  PPL_ASSERT(x.size() >= y.size());
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+
+  Sparse_Row::iterator itr = x.end();
+
+  for (dimension_type i = 0; i < y.size(); ++i) {
+    itr = x.lower_bound(itr, i);
+    if (itr == x.end() || itr.index() != i) {
+      if (y[i] == 0)
+        continue;
+      itr = x.insert(itr, i, y[i]);
+      (*itr) *= coeff2;
+      PPL_ASSERT((*itr) != 0);
+    } else {
+      PPL_ASSERT(itr.index() == i);
+      (*itr) *= coeff1;
+      add_mul_assign(*itr, y[i], coeff2);
+      if (*itr == 0)
+        itr = x.reset(itr);
+    }
+  }
+}
+
+void
+PPL::linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2,
+                    dimension_type start, dimension_type end) {
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.size());
+  PPL_ASSERT(end <= y.size());
+
+  Sparse_Row::iterator itr = x.lower_bound(start);
+
+  if (coeff1 == 1) {
+    if (coeff2 == 1) {
+      for (dimension_type i = start; i < end; ++i) {
+        PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+        if (itr != x.end() && itr.index() < i)
+          ++itr;
+        PPL_ASSERT(itr == x.end() || itr.index() >= i);
+        if (itr == x.end() || itr.index() != i) {
+          if (y[i] == 0)
+            continue;
+          itr = x.insert(itr, i, y[i]);
+          PPL_ASSERT((*itr) != 0);
+        } else {
+          PPL_ASSERT(itr.index() == i);
+          (*itr) += y[i];
+          if (*itr == 0)
+            itr = x.reset(itr);
+        }
+      }
+      return;
+    }
+    if (coeff2 == -1) {
+      for (dimension_type i = start; i < end; ++i) {
+        PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+        if (itr != x.end() && itr.index() < i)
+          ++itr;
+        PPL_ASSERT(itr == x.end() || itr.index() >= i);
+        if (itr == x.end() || itr.index() != i) {
+          if (y[i] == 0)
+            continue;
+          itr = x.insert(itr, i, y[i]);
+          neg_assign(*itr);
+          PPL_ASSERT((*itr) != 0);
+        } else {
+          PPL_ASSERT(itr.index() == i);
+          (*itr) -= y[i];
+          if (*itr == 0)
+            itr = x.reset(itr);
+        }
+      }
+      return;
+    }
+    for (dimension_type i = start; i < end; ++i) {
+      PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+      if (itr != x.end() && itr.index() < i)
+        ++itr;
+      PPL_ASSERT(itr == x.end() || itr.index() >= i);
+      if (itr == x.end() || itr.index() != i) {
+        if (y[i] == 0)
+          continue;
+        itr = x.insert(itr, i, y[i]);
+        (*itr) *= coeff2;
+        PPL_ASSERT((*itr) != 0);
+      } else {
+        PPL_ASSERT(itr.index() == i);
+        add_mul_assign(*itr, y[i], coeff2);
+        if (*itr == 0)
+          itr = x.reset(itr);
+      }
+    }
+    return;
+  }
+
+  if (coeff2 == 1) {
+    for (dimension_type i = start; i < end; ++i) {
+      PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+      if (itr != x.end() && itr.index() < i)
+        ++itr;
+      PPL_ASSERT(itr == x.end() || itr.index() >= i);
+      if (itr == x.end() || itr.index() != i) {
+        if (y[i] == 0)
+          continue;
+        itr = x.insert(itr, i, y[i]);
+        PPL_ASSERT((*itr) != 0);
+      } else {
+        PPL_ASSERT(itr.index() == i);
+        (*itr) *= coeff1;
+        (*itr) += y[i];
+        if (*itr == 0)
+          itr = x.reset(itr);
+      }
+    }
+    return;
+  }
+  if (coeff2 == -1) {
+    for (dimension_type i = start; i < end; ++i) {
+      PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+      if (itr != x.end() && itr.index() < i)
+        ++itr;
+      PPL_ASSERT(itr == x.end() || itr.index() >= i);
+      if (itr == x.end() || itr.index() != i) {
+        if (y[i] == 0)
+          continue;
+        itr = x.insert(itr, i, y[i]);
+        neg_assign(*itr);
+        PPL_ASSERT((*itr) != 0);
+      } else {
+        PPL_ASSERT(itr.index() == i);
+        (*itr) *= coeff1;
+        (*itr) -= y[i];
+        if (*itr == 0)
+          itr = x.reset(itr);
+      }
+    }
+    return;
+  }
+
+  for (dimension_type i = start; i < end; ++i) {
+    PPL_ASSERT(itr == x.end() || itr.index() + 1 >= i);
+    if (itr != x.end() && itr.index() < i)
+      ++itr;
+    PPL_ASSERT(itr == x.end() || itr.index() >= i);
+    if (itr == x.end() || itr.index() != i) {
+      if (y[i] == 0)
+        continue;
+      itr = x.insert(itr, i, y[i]);
+      (*itr) *= coeff2;
+      PPL_ASSERT((*itr) != 0);
+    } else {
+      PPL_ASSERT(itr.index() == i);
+      (*itr) *= coeff1;
+      add_mul_assign(*itr, y[i], coeff2);
+      if (*itr == 0)
+        itr = x.reset(itr);
+    }
+  }
+}
+
+void
+PPL::linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2) {
+  PPL_ASSERT(x.size() >= y.size());
+  if (coeff1 == 1) {
+    for (Sparse_Row::const_iterator i = y.begin(),
+           i_end = y.end(); i != i_end; ++i)
+      add_mul_assign(x[i.index()], *i, coeff2);
+    return;
+  }
+
+  Sparse_Row::const_iterator itr = y.end();
+
+  for (dimension_type i = 0; i < x.size(); ++i) {
+    x[i] *= coeff1;
+
+    itr = y.lower_bound(itr, i);
+
+    if (itr == y.end() || itr.index() != i)
+      continue;
+
+    add_mul_assign(x[i], *itr, coeff2);
+  }
+}
+
+void
+PPL::linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2,
+                    dimension_type start, dimension_type end) {
+  PPL_ASSERT(x.size() >= y.size());
+  PPL_ASSERT(coeff1 != 0);
+  PPL_ASSERT(coeff2 != 0);
+
+  Sparse_Row::const_iterator itr = y.lower_bound(start);
+
+  if (coeff1 == 1) {
+    Sparse_Row::const_iterator itr_end = y.lower_bound(end);
+    if (coeff2 == 1) {
+      for ( ; itr != itr_end; ++itr)
+        x[itr.index()] += *itr;
+      return;
+    }
+    if (coeff2 == -1) {
+      for ( ; itr != itr_end; ++itr)
+        x[itr.index()] -= *itr;
+      return;
+    }
+    for ( ; itr != itr_end; ++itr)
+      add_mul_assign(x[itr.index()], *itr, coeff2);
+    return;
+  }
+
+  if (coeff2 == 1) {
+    for (dimension_type i = start; i < end; ++i) {
+      x[i] *= coeff1;
+
+      PPL_ASSERT(itr == y.end() || itr.index() + 1 >= i);
+      if (itr != y.end() && itr.index() < i)
+        ++itr;
+      PPL_ASSERT(itr == y.end() || itr.index() >= i);
+
+      if (itr == y.end() || itr.index() != i)
+        continue;
+
+      x[i] += *itr;
+    }
+    return;
+  }
+  if (coeff2 == -1) {
+    for (dimension_type i = start; i < end; ++i) {
+      x[i] *= coeff1;
+
+      PPL_ASSERT(itr == y.end() || itr.index() + 1 >= i);
+      if (itr != y.end() && itr.index() < i)
+        ++itr;
+      PPL_ASSERT(itr == y.end() || itr.index() >= i);
+
+      if (itr == y.end() || itr.index() != i)
+        continue;
+
+      x[i] -= *itr;
+    }
+    return;
+  }
+
+  for (dimension_type i = start; i < end; ++i) {
+    x[i] *= coeff1;
+
+    PPL_ASSERT(itr == y.end() || itr.index() + 1 >= i);
+    if (itr != y.end() && itr.index() < i)
+      ++itr;
+    PPL_ASSERT(itr == y.end() || itr.index() >= i);
+
+    if (itr == y.end() || itr.index() != i)
+      continue;
+
+    add_mul_assign(x[i], *itr, coeff2);
+  }
+}
+
+void
+PPL::linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2) {
+  x.linear_combine(y, coeff1, coeff2);
+}
+
+void
+PPL::linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end) {
+  x.linear_combine(y, c1, c2, start, end);
+}
+
+void
+PPL::swap(Sparse_Row& x, Dense_Row& y) {
+  Dense_Row new_dense(x.size(), x.size());
+
+  for (Sparse_Row::iterator i = x.begin(), i_end = x.end(); i != i_end; ++i)
+    swap(new_dense[i.index()], *i);
+
+  // NOTE: This copies the coefficients, but it could steal them.
+  // Implementing a stealing-based algorithm takes a lot of time and it's
+  // probably not worth it.
+  Sparse_Row new_sparse(y);
+
+  swap(new_dense, y);
+  swap(new_sparse, x);
+}
+
+void
+PPL::swap(Dense_Row& x, Sparse_Row& y) {
+  swap(y, x);
+}
diff --git a/src/Sparse_Row.defs.hh b/src/Sparse_Row.defs.hh
new file mode 100644
index 0000000..a089627
--- /dev/null
+++ b/src/Sparse_Row.defs.hh
@@ -0,0 +1,930 @@
+/* Sparse_Row class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sparse_Row_defs_hh
+#define PPL_Sparse_Row_defs_hh 1
+
+#include "Sparse_Row.types.hh"
+
+#include "CO_Tree.defs.hh"
+#include "Coefficient.defs.hh"
+#include "Dense_Row.types.hh"
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A finite sparse sequence of coefficients.
+/*! \ingroup PPL_CXX_interface
+  This class is implemented using a CO_Tree. See the documentation of CO_Tree
+  for details on the implementation and the performance.
+
+  This class is a drop-in replacement of Dense_Row, meaning that code
+  using Dense_Row can be ported to Sparse_Row changing only the type.
+  The resulting code will work, but probably needs more CPU and memory (it
+  does not exploit the sparse representation yet).
+
+  To take advantage of the sparse representation, the client code must then be
+  modified to use methods which can have a faster implementation on sparse
+  data structures.
+
+  The main changes are the replacement of calls to operator[] with calls to
+  find(), lower_bound() or insert(), using hint iterators when possible.
+  Sequential scanning of rows should probably be implemented using iterators
+  rather than indexes, to improve performance.
+  reset() should be called to zero elements.
+
+  \see Sparse_Matrix
+  \see CO_Tree
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Sparse_Row {
+
+public:
+
+  //! An %iterator on the row elements
+  /*!
+    This %iterator skips non-stored zeroes.
+    \see CO_Tree::iterator
+  */
+  typedef CO_Tree::iterator iterator;
+
+  //! A const %iterator on the row elements
+  /*!
+    This %iterator skips non-stored zeroes.
+    \see CO_Tree::const_iterator
+  */
+  typedef CO_Tree::const_iterator const_iterator;
+
+  //! Constructs a row with the specified size.
+  /*!
+    \param n
+    The size for the new row.
+
+    The row will contain only non-stored zeroes.
+
+    This constructor takes \f$O(1)\f$ time.
+  */
+  explicit Sparse_Row(dimension_type n = 0);
+
+  //! Constructs a row with the specified size.
+  /*!
+    \param n
+    The size for the new row.
+
+    \param capacity
+    It is ignored. This parameter is needed for compatibility with Dense_Row.
+
+    The row will contain only non-stored zeroes.
+
+    This constructor takes \f$O(1)\f$ time.
+  */
+  Sparse_Row(dimension_type n, dimension_type capacity);
+
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to
+    the size of \p y.
+  */
+  Sparse_Row(const Sparse_Row& y, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Constructor from a Dense_Row.
+  /*!
+    \param row
+    The row that will be copied into *this.
+
+    This constructor takes \f$O(n)\f$ time. Note that constructing of a row of
+    zeroes and then inserting n elements costs \f$O(n*\log^2 n)\f$ time.
+  */
+  explicit Sparse_Row(const Dense_Row& row);
+
+  //! Copy constructor from a Dense_Row with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Sparse_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity);
+
+  Sparse_Row& operator=(const Dense_Row& row);
+
+  //! Swaps *this and x.
+  /*!
+    \param x
+    The row that will be swapped with *this.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(Sparse_Row& x);
+
+  //! Returns the size of the row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type size() const;
+
+  //! Returns the number of elements explicitly stored in the row.
+  /*!
+    This is equivalent to std::distance(begin(), end()), but it's much faster.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_stored_elements() const;
+
+  //! Resizes the row to the specified size.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time when shrinking the
+    row and removing the trailing k elements.
+    It takes \f$O(1)\f$ time when enlarging the row.
+  */
+  void resize(dimension_type n);
+
+  //! Resizes the row to size \p n.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method, with this signature, is needed for compatibility with
+    Dense_Row.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void expand_within_capacity(dimension_type n);
+
+  //! Resizes the row to size \p n.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method, with this signature, is needed for compatibility with
+    Dense_Row.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time where k is the number
+    of removed elements.
+  */
+  void shrink(dimension_type n);
+
+  /*!
+    \brief Deletes the i-th element from the row, shifting the next elements
+           to the left.
+
+    \param i
+    The index of the element that will be deleted.
+
+    The size of the row is decreased by 1.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k+\log^2 n)\f$ amortized time, where k is the
+    number of elements with index greater than i.
+  */
+  void delete_element_and_shift(dimension_type i);
+
+  //! Adds \p n zeroes before index \p i.
+  /*!
+    \param n
+    The number of non-stored zeroes that will be added to the row.
+
+    \param i
+    The index of the element before which the zeroes will be added.
+
+    Existing elements with index greater than or equal to \p i are shifted to
+    the right by \p n positions. The size is increased by \p n.
+
+    Existing iterators are not invalidated, but are shifted to the right
+    by \p n if they pointed at or after index \p i (i.e., they point to
+    the same, possibly shifted, values as before).
+
+    This method takes \f$O(k + \log m)\f$ expected time, where \f$k\f$ is
+    the number of elements with index greater than or equal to \p i and
+    \f$m\f$ the number of stored elements.
+  */
+  void add_zeroes_and_shift(dimension_type n, dimension_type i);
+
+  //! Returns an %iterator that points at the first stored element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
+
+  //! Returns an %iterator that points after the last stored element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is kept valid.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const iterator& end();
+
+  //! Equivalent to <CODE>cbegin()</CODE>.
+  const_iterator begin() const;
+
+  //! Equivalent to <CODE>cend()</CODE>.
+  const const_iterator& end() const;
+
+  //! Returns an %iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator cbegin() const;
+
+  //! Returns an %iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const const_iterator& cend() const;
+
+  //! Returns the size() of the largest possible Sparse_Row.
+  static dimension_type max_size();
+
+  //! Resets all the elements of this row.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  void clear();
+
+  //! Gets a reference to the i-th element.
+  /*!
+    \param i
+    The index of the desired element.
+
+    For read-only access it's better to use get(), that avoids allocating
+    space for zeroes.
+
+    If possible, use the insert(), find() or lower_bound() methods with
+    a hint instead of this, to improve performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ amortized time when there is already an
+    element with index \p i, and \f$O(\log^2 n)\f$ otherwise.
+  */
+  Coefficient& operator[](dimension_type i);
+
+  //! Equivalent to <CODE>get(i)</CODE>, provided for convenience.
+  /*!
+    This method takes \f$O(\log n)\f$ time.
+  */
+  Coefficient_traits::const_reference operator[](dimension_type i) const;
+
+  //! Gets the i-th element in the sequence.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the insert(), find() or lower_bound() methods with
+    a hint instead of this, to improve performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator find(dimension_type i);
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  iterator find(iterator itr, dimension_type i);
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator find(dimension_type i) const;
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  const_iterator find(const_iterator itr, dimension_type i) const;
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator lower_bound(dimension_type i);
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  iterator lower_bound(iterator itr, dimension_type i);
+
+  //! Lower bound of index i.
+  /*!
+
+    \param i
+    The index of the desired element.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator lower_bound(dimension_type i) const;
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  const_iterator lower_bound(const_iterator itr, dimension_type i) const;
+
+  //! Equivalent to <CODE>(*this)[i] = x; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param x
+    The value that will be associated to the element.
+
+    If possible, use versions of this method that take a hint, to improve
+    performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator insert(dimension_type i, Coefficient_traits::const_reference x);
+
+  //! Equivalent to <CODE>(*this)[i] = x; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param x
+    The value that will be associated to the element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr, even faster than <CODE>(*this)[i] = x</CODE>.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time. If the distance
+    between \p itr and the searched position is \f$O(1)\f$ and the row already
+    contains an element with this index, this method takes \f$O(1)\f$ time.
+  */
+  iterator insert(iterator itr, dimension_type i,
+                  Coefficient_traits::const_reference x);
+
+  //! Equivalent to <CODE>(*this)[i]; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use versions of this method that take a hint, to improve
+    performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator insert(dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i]; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr, even faster than <CODE>(*this)[i]</CODE>.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time. If the distance
+    between \p itr and the searched position is \f$O(1)\f$ and the row already
+    contains an element with this index, this method takes \f$O(1)\f$ time.
+  */
+  iterator insert(iterator itr, dimension_type i);
+
+  //! Swaps the i-th element with the j-th element.
+  /*!
+    \param i
+    The index of an element.
+
+    \param j
+    The index of another element.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  void swap_coefficients(dimension_type i, dimension_type j);
+
+  //! Equivalent to swap(i,itr.index()), but it assumes that
+  //! lower_bound(i)==itr.
+  /*!
+    Iterators that pointed to the itr.index()-th element remain valid
+    but now point to the i-th element. Other iterators are unaffected.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void fast_swap(dimension_type i, iterator itr);
+
+  //! Swaps the element pointed to by i with the element pointed to by j.
+  /*!
+    \param i
+    An %iterator pointing to an element.
+
+    \param j
+    An %iterator pointing to another element.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void swap_coefficients(iterator i, iterator j);
+
+  //! Resets to zero the value pointed to by i.
+  /*!
+    \param i
+    An %iterator pointing to the element that will be reset (not stored
+    anymore).
+
+    By calling this method instead of getting a reference to the value and
+    setting it to zero, the element will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator reset(iterator i);
+
+  //! Resets to zero the values in the range [first,last).
+  /*!
+    \param first
+    An %iterator pointing to the first element to reset.
+
+    \param last
+    An %iterator pointing after the last element to reset.
+
+    By calling this method instead of getting a reference to the values and
+    setting them to zero, the elements will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time, where k is the
+    number of elements in [first,last).
+  */
+  iterator reset(iterator first, iterator last);
+
+  //! Resets to zero the i-th element.
+  /*!
+    \param i
+    The index of the element to reset.
+
+    By calling this method instead of getting a reference to the value and
+    setting it to zero, the element will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  void reset(dimension_type i);
+
+  //! Resets to zero the elements with index greater than or equal to i.
+  /*!
+    \param i
+    The index of the first element to reset.
+
+    By calling this method instead of getting a reference to the values and
+    setting them to zero, the elements will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time, where k is the
+    number of elements with index greater than or equal to i.
+  */
+  void reset_after(dimension_type i);
+
+  //! Normalizes the modulo of coefficients so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the elements of the row
+    and normalizes them by the GCD itself.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void normalize();
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_second
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_first(const Sparse_Row& y,
+                           const Func1& f, const Func2& g);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, 0) must do nothing, for every c1.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_second(const Sparse_Row& y,
+                            const Func1& g, const Func2& h);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when both c1 and c2 are zero.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine_needs_second
+  */
+  template <typename Func1, typename Func2, typename Func3>
+  void combine(const Sparse_Row& y,
+               const Func1& f, const Func2& g, const Func3& h);
+
+  //! Executes <CODE>(*this)[i] = (*this)[i]*coeff1 + y[i]*coeff2</CODE>, for
+  //! each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param coeff1
+    The coefficient used for elements of *this.
+    This must not be 0.
+
+    \param coeff2
+    The coefficient used for elements of y.
+    This must not be 0.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary.
+    This method can be implemented in user code, too. It is provided for
+    convenience only.
+
+    \see combine_needs_first
+    \see combine_needs_second
+    \see combine
+  */
+  void linear_combine(const Sparse_Row& y,
+                      Coefficient_traits::const_reference coeff1,
+                      Coefficient_traits::const_reference coeff2);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  /*!
+    This method, unlike the other linear_combine() method, detects when
+    coeff1==1 and/or coeff2==1 or coeff2==-1 in order to save some work.
+  */
+  void linear_combine(const Sparse_Row& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  PPL_OUTPUT_DECLARATIONS
+
+  //! Loads the row from an ASCII representation generated using ascii_dump().
+  /*!
+    \param s
+    The stream from which the ASCII representation will be loaded.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    This method takes \f$O(n)\f$ time.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    This method takes \f$O(n)\f$ time.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+
+  //! Checks the invariant.
+  bool OK() const;
+
+  //! Checks the invariant.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  bool OK(dimension_type capacity) const;
+
+private:
+  //! The tree used to store the elements.
+  CO_Tree tree;
+
+  //! The size of the row.
+  /*!
+    The elements contained in this row have indexes that are less than size_.
+  */
+  dimension_type size_;
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Sparse_Row& x,
+          Parma_Polyhedra_Library::Sparse_Row& y);
+
+void swap(Parma_Polyhedra_Library::Sparse_Row& x,
+          Parma_Polyhedra_Library::Dense_Row& y);
+
+void swap(Parma_Polyhedra_Library::Dense_Row& x,
+          Parma_Polyhedra_Library::Sparse_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Sparse_Row& x, const Sparse_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Sparse_Row& x, const Sparse_Row& y);
+
+bool operator==(const Dense_Row& x, const Sparse_Row& y);
+bool operator!=(const Dense_Row& x, const Sparse_Row& y);
+
+bool operator==(const Sparse_Row& x, const Dense_Row& y);
+bool operator!=(const Sparse_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Sparse_Row.inlines.hh"
+#include "Sparse_Row.templates.hh"
+
+#endif // !defined(PPL_Sparse_Row_defs_hh)
diff --git a/src/Sparse_Row.inlines.hh b/src/Sparse_Row.inlines.hh
new file mode 100644
index 0000000..83d9d7a
--- /dev/null
+++ b/src/Sparse_Row.inlines.hh
@@ -0,0 +1,378 @@
+/* Sparse_Row class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sparse_Row_inlines_hh
+#define PPL_Sparse_Row_inlines_hh 1
+
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Sparse_Row::Sparse_Row(dimension_type n)
+  : size_(n) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Sparse_Row::Sparse_Row(dimension_type n, dimension_type)
+  : size_(n) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type)
+  : tree(y.tree), size_(y.size_) {
+}
+
+inline
+Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type)
+  : tree(y.begin(),
+         std::distance(y.begin(), y.lower_bound(std::min(y.size(), sz)))),
+    size_(sz) {
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::m_swap(Sparse_Row& x) {
+  using std::swap;
+  swap(tree, x.tree);
+  swap(size_, x.size_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(x.OK());
+}
+
+inline dimension_type
+Sparse_Row::size() const {
+  return size_;
+}
+
+inline dimension_type
+Sparse_Row::num_stored_elements() const {
+  return tree.size();
+}
+
+inline void
+Sparse_Row::resize(dimension_type n) {
+  if (n < size_)
+    reset_after(n);
+  size_ = n;
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::shrink(dimension_type n) {
+  PPL_ASSERT(size() >= n);
+  resize(n);
+}
+
+inline void
+Sparse_Row::expand_within_capacity(dimension_type n) {
+  PPL_ASSERT(size() <= n);
+  resize(n);
+}
+
+inline void
+Sparse_Row::delete_element_and_shift(dimension_type i) {
+  PPL_ASSERT(i < size_);
+  tree.erase_element_and_shift_left(i);
+  --size_;
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::add_zeroes_and_shift(dimension_type n, dimension_type i) {
+  PPL_ASSERT(i <= size_);
+  tree.increase_keys_from(i, n);
+  size_ += n;
+  PPL_ASSERT(OK());
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::begin() {
+  return tree.begin();
+}
+
+inline const Sparse_Row::iterator&
+Sparse_Row::end() {
+  return tree.end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::begin() const {
+  return tree.cbegin();
+}
+
+inline const Sparse_Row::const_iterator&
+Sparse_Row::end() const {
+  return tree.cend();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::cbegin() const {
+  return tree.cbegin();
+}
+
+inline const Sparse_Row::const_iterator&
+Sparse_Row::cend() const {
+  return tree.cend();
+}
+
+inline dimension_type
+Sparse_Row::max_size() {
+  return CO_Tree::max_size();
+}
+
+inline void
+Sparse_Row::clear() {
+  tree.clear();
+}
+
+inline Coefficient&
+Sparse_Row::operator[](dimension_type i) {
+  PPL_ASSERT(i < size_);
+  iterator itr = insert(i);
+  return *itr;
+}
+
+inline Coefficient_traits::const_reference
+Sparse_Row::operator[](dimension_type i) const {
+  return get(i);
+}
+
+inline Coefficient_traits::const_reference
+Sparse_Row::get(dimension_type i) const {
+  PPL_ASSERT(i < size_);
+  if (tree.empty())
+    return Coefficient_zero();
+  const_iterator itr = find(i);
+  if (itr != end())
+    return *itr;
+  else
+    return Coefficient_zero();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::find(dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  iterator itr = tree.bisect(i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::find(iterator hint, dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  iterator itr = tree.bisect_near(hint, i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::find(dimension_type i) const {
+  PPL_ASSERT(i < size());
+
+  const_iterator itr = tree.bisect(i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::find(const_iterator hint, dimension_type i) const {
+  PPL_ASSERT(i < size());
+
+  const_iterator itr = tree.bisect_near(hint, i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::lower_bound(dimension_type i) {
+  PPL_ASSERT(i <= size());
+
+  iterator itr = tree.bisect(i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::lower_bound(iterator hint, dimension_type i) {
+  PPL_ASSERT(i <= size());
+
+  iterator itr = tree.bisect_near(hint, i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::lower_bound(dimension_type i) const {
+  PPL_ASSERT(i <= size());
+
+  const_iterator itr = tree.bisect(i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::lower_bound(const_iterator hint, dimension_type i) const {
+  PPL_ASSERT(i <= size());
+
+  const_iterator itr = tree.bisect_near(hint, i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(dimension_type i, Coefficient_traits::const_reference x) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(i, x);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(iterator itr, dimension_type i,
+                   Coefficient_traits::const_reference x) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(itr, i, x);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(dimension_type i) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(i);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(iterator itr, dimension_type i) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(itr, i);
+}
+
+inline void
+Sparse_Row::swap_coefficients(iterator i, iterator j) {
+  PPL_ASSERT(i != end());
+  PPL_ASSERT(j != end());
+  using std::swap;
+  swap(*i, *j);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::fast_swap(dimension_type i, iterator itr) {
+  PPL_ASSERT(lower_bound(i) == itr);
+  PPL_ASSERT(itr != end());
+  tree.fast_shift(i, itr);
+  PPL_ASSERT(OK());
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::reset(iterator i) {
+  iterator res = tree.erase(i);
+  PPL_ASSERT(OK());
+  return res;
+}
+
+inline void
+Sparse_Row::reset(dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  tree.erase(i);
+  PPL_ASSERT(OK());
+}
+
+inline memory_size_type
+Sparse_Row::external_memory_in_bytes() const {
+  return tree.external_memory_in_bytes();
+}
+
+inline memory_size_type
+Sparse_Row::external_memory_in_bytes(dimension_type /* capacity */) const {
+  return external_memory_in_bytes();
+}
+
+inline memory_size_type
+Sparse_Row::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+inline memory_size_type
+Sparse_Row::total_memory_in_bytes(dimension_type /* capacity */) const {
+  return total_memory_in_bytes();
+}
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline void
+swap(Sparse_Row& x, Sparse_Row& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sparse_Row_inlines_hh)
diff --git a/src/Sparse_Row.templates.hh b/src/Sparse_Row.templates.hh
new file mode 100644
index 0000000..76b2843
--- /dev/null
+++ b/src/Sparse_Row.templates.hh
@@ -0,0 +1,147 @@
+/* Sparse_Row class implementation: non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sparse_Row_templates_hh
+#define PPL_Sparse_Row_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+
+template <typename Func1, typename Func2>
+void
+Sparse_Row::combine_needs_first(const Sparse_Row& y,
+                                const Func1& f, const Func2& g) {
+  if (this == &y) {
+    for (iterator i = begin(), i_end = end(); i != i_end; ++i)
+      g(*i, *i);
+  } else {
+    iterator i = begin();
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset().
+    const iterator& i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    while (i != i_end && j != j_end)
+      if (i.index() == j.index()) {
+        g(*i, *j);
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          f(*i);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+        } else
+          j = y.lower_bound(j, i.index());
+    while (i != i_end) {
+      f(*i);
+      if (*i == 0)
+        i = reset(i);
+      else
+        ++i;
+    }
+  }
+}
+
+template <typename Func1, typename Func2>
+void
+Sparse_Row::combine_needs_second(const Sparse_Row& y,
+                                 const Func1& g,
+                                 const Func2& /* h */) {
+  iterator i = begin();
+  for (const_iterator j = y.begin(), j_end = y.end(); j != j_end; ++j) {
+    i = insert(i, j.index());
+    g(*i, *j);
+    if (*i == 0)
+      i = reset(i);
+  }
+}
+
+template <typename Func1, typename Func2, typename Func3>
+void
+Sparse_Row::combine(const Sparse_Row& y, const Func1& f,
+                    const Func2& g, const Func3& h) {
+  if (this == &y) {
+    for (iterator i = begin(), i_end = end(); i != i_end; ++i)
+      g(*i, *i);
+  } else {
+    iterator i = begin();
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset() and insert().
+    const iterator& i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    while (i != i_end && j != j_end) {
+      if (i.index() == j.index()) {
+        g(*i, *j);
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          f(*i);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+        } else {
+          PPL_ASSERT(i.index() > j.index());
+          i = insert(i, j.index());
+          h(*i, *j);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+          ++j;
+        }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    while (i != i_end) {
+      f(*i);
+      if (*i == 0)
+        i = reset(i);
+      else
+        ++i;
+    }
+    while (j != j_end) {
+      i = insert(i, j.index());
+      h(*i, *j);
+      if (*i == 0)
+        i = reset(i);
+      ++j;
+    }
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sparse_Row_templates_hh)
diff --git a/src/Sparse_Row.types.hh b/src/Sparse_Row.types.hh
new file mode 100644
index 0000000..adc1d9d
--- /dev/null
+++ b/src/Sparse_Row.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Sparse_Row_types_hh
+#define PPL_Sparse_Row_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Sparse_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sparse_Row_types_hh)
diff --git a/src/Sum_Floating_Point_Expression.defs.hh b/src/Sum_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..fd0d411
--- /dev/null
+++ b/src/Sum_Floating_Point_Expression.defs.hh
@@ -0,0 +1,213 @@
+/* Declarations for the Sum_Floating_Point_Expression class and
+   its   constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sum_Floating_Point_Expression_defs_hh
+#define PPL_Sum_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Sum_Floating_Point_Expression.types.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Sum_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+	  Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Sum Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of sum floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
+
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
+
+  Given an expression \f$e_{1} \oplus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Sum_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the sum floating point expression
+    corresponding to \p x \f$\oplus\f$ \p y.
+  */
+  Sum_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
+
+  //! Destructor.
+  ~Sum_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given astract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Sum_Floating_Point_Expression(
+         const Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& e);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Sum_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
+
+
+}; // class Sum_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Sum_Floating_Point_Expression.inlines.hh"
+#include "Sum_Floating_Point_Expression.templates.hh"
+
+#endif // !defined(PPL_Sum_Floating_Point_Expression_defs_hh)
diff --git a/src/Sum_Floating_Point_Expression.inlines.hh b/src/Sum_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..8a6339f
--- /dev/null
+++ b/src/Sum_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,70 @@
+/* Sum_Floating_Point_Expression class implementation: inline
+   functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sum_Floating_Point_Expression_inlines_hh
+#define PPL_Sum_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Sum_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y) {
+  assert(x != 0);
+  assert(y != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Sum_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
+
+/*! \relates Sum_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sum_Floating_Point_Expression_inlines_hh)
diff --git a/src/Sum_Floating_Point_Expression.templates.hh b/src/Sum_Floating_Point_Expression.templates.hh
new file mode 100644
index 0000000..ae6f0bd
--- /dev/null
+++ b/src/Sum_Floating_Point_Expression.templates.hh
@@ -0,0 +1,53 @@
+/* Sum_Floating_Point_Expression class implementation:
+   non-inline template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Sum_Floating_Point_Expression_templates_hh
+#define PPL_Sum_Floating_Point_Expression_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  result += linearized_second_operand;
+  relative_error(linearized_second_operand, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sum_Floating_Point_Expression_templates_hh)
diff --git a/src/Sum_Floating_Point_Expression.types.hh b/src/Sum_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..3d4db67
--- /dev/null
+++ b/src/Sum_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Sum_Floating_Point_Expression_types_hh
+#define PPL_Sum_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Sum_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Sum_Floating_Point_Expression_types_hh)
diff --git a/src/Swapping_Vector.defs.hh b/src/Swapping_Vector.defs.hh
new file mode 100644
index 0000000..aeea888
--- /dev/null
+++ b/src/Swapping_Vector.defs.hh
@@ -0,0 +1,98 @@
+/* Swapping_Vector class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Swapping_Vector_defs_hh
+#define PPL_Swapping_Vector_defs_hh 1
+
+#include "Swapping_Vector.types.hh"
+#include "globals.defs.hh"
+
+#include <vector>
+#include "assert.hh"
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A wrapper for std::vector that calls a swap() method instead of copying
+//! elements, when possible.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Swapping_Vector {
+
+public:
+  typedef typename std::vector<T>::const_iterator const_iterator;
+  typedef typename std::vector<T>::iterator iterator;
+  typedef typename std::vector<T>::size_type size_type;
+
+  Swapping_Vector();
+  explicit Swapping_Vector(dimension_type new_size);
+  Swapping_Vector(dimension_type new_size, const T& x);
+
+  void clear();
+  void reserve(dimension_type new_capacity);
+  void resize(dimension_type new_size);
+  void resize(dimension_type new_size, const T& x);
+
+  dimension_type size() const;
+  dimension_type capacity() const;
+  bool empty() const;
+
+  void m_swap(Swapping_Vector& v);
+
+  T& operator[](dimension_type i);
+  const T& operator[](dimension_type i) const;
+
+  T& back();
+  const T& back() const;
+
+  void push_back(const T& x);
+  void pop_back();
+
+  iterator begin();
+  iterator end();
+  const_iterator begin() const;
+  const_iterator end() const;
+
+  iterator erase(iterator itr);
+  iterator erase(iterator first, iterator last);
+
+  // This is defined only if T has an external_memory_in_bytes() method.
+  memory_size_type external_memory_in_bytes() const;
+
+  dimension_type max_num_rows();
+
+private:
+  std::vector<T> impl;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Swapping_Vector */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(Swapping_Vector<T>& x, Swapping_Vector<T>& y);
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Swapping_Vector.inlines.hh"
+
+#endif // !defined(PPL_Swapping_Vector_defs_hh)
diff --git a/src/Swapping_Vector.inlines.hh b/src/Swapping_Vector.inlines.hh
new file mode 100644
index 0000000..b02e825
--- /dev/null
+++ b/src/Swapping_Vector.inlines.hh
@@ -0,0 +1,234 @@
+/* Swapping_Vector class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Swapping_Vector_inlines_hh
+#define PPL_Swapping_Vector_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector()
+  : impl() {
+}
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector(dimension_type i)
+  : impl() {
+  // NOTE: This is not the same as constructing impl as `impl(i)', because
+  // this implementation calls compute_capacity().
+  resize(i);
+}
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector(dimension_type new_size, const T& x)
+  : impl() {
+  resize(new_size, x);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::clear() {
+  impl.clear();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::reserve(dimension_type new_capacity) {
+  if (impl.capacity() < new_capacity) {
+    // Reallocation will take place.
+    std::vector<T> new_impl;
+
+    new_impl.reserve(compute_capacity(new_capacity, max_num_rows()));
+    new_impl.resize(impl.size());
+
+    using std::swap;
+
+    // Steal the old elements.
+    for (dimension_type i = impl.size(); i-- > 0; )
+      swap(new_impl[i], impl[i]);
+
+    // Put the new vector into place.
+    swap(impl, new_impl);
+  }
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::resize(dimension_type new_size) {
+  reserve(new_size);
+  impl.resize(new_size);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::resize(dimension_type new_size, const T& x) {
+  reserve(new_size);
+  impl.resize(new_size, x);
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::size() const {
+  return impl.size();
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::capacity() const {
+  return impl.capacity();
+}
+
+template <typename T>
+inline bool
+Swapping_Vector<T>::empty() const {
+  return impl.empty();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::m_swap(Swapping_Vector& v) {
+  using std::swap;
+  swap(impl, v.impl);
+}
+
+template <typename T>
+inline T&
+Swapping_Vector<T>::operator[](dimension_type i) {
+  return impl[i];
+}
+
+template <typename T>
+inline const T&
+Swapping_Vector<T>::operator[](dimension_type i) const {
+  return impl[i];
+}
+
+template <typename T>
+inline T&
+Swapping_Vector<T>::back() {
+  return impl.back();
+}
+
+template <typename T>
+inline const T&
+Swapping_Vector<T>::back() const {
+  return impl.back();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::push_back(const T& x) {
+  reserve(size() + 1);
+  impl.push_back(x);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::pop_back() {
+  impl.pop_back();
+}
+
+template <typename T>
+inline memory_size_type
+Swapping_Vector<T>::external_memory_in_bytes() const {
+  // Estimate the size of vector.
+  memory_size_type n = impl.capacity() * sizeof(T);
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    n += i->external_memory_in_bytes();
+  return n;
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::begin() {
+  return impl.begin();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::end() {
+  return impl.end();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::const_iterator
+Swapping_Vector<T>::begin() const {
+  return impl.begin();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::const_iterator
+Swapping_Vector<T>::end() const {
+  return impl.end();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::erase(iterator itr) {
+  PPL_ASSERT(itr >= begin());
+  PPL_ASSERT(itr < end());
+  const dimension_type old_i = itr - begin();
+  dimension_type i = old_i;
+  ++i;
+  while (i != size())
+    swap(impl[i-1], impl[i]);
+  impl.pop_back();
+  return begin() + old_i;
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::erase(iterator first, iterator last) {
+  PPL_ASSERT(begin() <= first);
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= end());
+  const iterator old_first = first;
+  typedef typename std::iterator_traits<iterator>::difference_type diff_t;
+  const diff_t k = last - first;
+  const dimension_type n = static_cast<dimension_type>(end() - last);
+  using std::swap;
+  for (dimension_type i = 0; i < n; ++i, ++first)
+    swap(*first, *(first + k));
+  impl.erase(end() - k, end());
+  return old_first;
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::max_num_rows() {
+  return impl.max_size();
+}
+
+template <typename T>
+inline void
+swap(Swapping_Vector<T>& vec1, Swapping_Vector<T>& vec2) {
+  vec1.m_swap(vec2);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+
+#endif // !defined(PPL_Swapping_Vector_inlines_hh)
diff --git a/src/Swapping_Vector.types.hh b/src/Swapping_Vector.types.hh
new file mode 100644
index 0000000..5135027
--- /dev/null
+++ b/src/Swapping_Vector.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Swapping_Vector_types_hh
+#define PPL_Swapping_Vector_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class Swapping_Vector;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Swapping_Vector_types_hh)
diff --git a/src/Temp.defs.hh b/src/Temp.defs.hh
index 6b8dd94..89b934e 100644
--- a/src/Temp.defs.hh
+++ b/src/Temp.defs.hh
@@ -1,6 +1,6 @@
 /* Temp_* classes declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Temp_defs_hh
 #define PPL_Temp_defs_hh 1
@@ -35,7 +35,7 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 class Temp_Item {
 public:
-  //! Obtains a refeence to a temporary item.
+  //! Obtains a reference to a temporary item.
   static Temp_Item& obtain();
 
   //! Releases the temporary item \p p.
@@ -100,7 +100,7 @@ public:
   Temp_Value_Holder();
 
   //! Returns the value of the held item.
-  T item();
+  T& item();
 
 private:
   //! Copy constructor: private and intentionally not implemented.
@@ -114,32 +114,6 @@ private:
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A structure for handling temporaries with a global free list.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Temp_From_Free_List {
-  //! The type of the temporaries.
-  typedef T& type;
-
-  //! The type of the holder.
-  typedef Temp_Reference_Holder<T> holder_type;
-
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A structure for handling temporaries with local variables.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Temp_From_Local_Variable {
-  //! The type of the temporaries.
-  typedef T type;
-
-  //! The type of the holder.
-  typedef Temp_Value_Holder<T> holder_type;
-
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! A structure for the efficient handling of temporaries.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T, typename Enable = void>
@@ -150,7 +124,7 @@ class Dirty_Temp;
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 class Dirty_Temp<T, typename Enable_If<Slow_Copy<T>::value>::type>
-  : public Temp_From_Free_List<T> {
+  : public Temp_Reference_Holder<T> {
 };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -158,7 +132,7 @@ class Dirty_Temp<T, typename Enable_If<Slow_Copy<T>::value>::type>
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 class Dirty_Temp<T, typename Enable_If<!Slow_Copy<T>::value>::type>
-  : public Temp_From_Local_Variable<T> {
+  : public Temp_Value_Holder<T> {
 };
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Temp.inlines.hh b/src/Temp.inlines.hh
index 7354685..5dd7152 100644
--- a/src/Temp.inlines.hh
+++ b/src/Temp.inlines.hh
@@ -1,6 +1,6 @@
 /* Temp_* classes implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Temp_inlines_hh
 #define PPL_Temp_inlines_hh 1
@@ -83,7 +83,7 @@ Temp_Value_Holder<T>::Temp_Value_Holder() {
 }
 
 template <typename T>
-inline T
+inline T&
 Temp_Value_Holder<T>::item() {
   return item_;
 }
@@ -91,13 +91,7 @@ Temp_Value_Holder<T>::item() {
 } // namespace Parma_Polyhedra_Library
 
 #define PPL_DIRTY_TEMP(T, id)						\
-  typename                                                              \
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;     \
-  typename                                                              \
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
-
-#define PPL_DIRTY_TEMP0(T, id)						\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;	\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
+  Parma_Polyhedra_Library::Dirty_Temp<PPL_U(T)> holder_ ## id;          \
+  PPL_U(T)& PPL_U(id) = holder_ ## id.item()
 
 #endif // !defined(PPL_Temp_inlines_hh)
diff --git a/src/Temp.templates.hh b/src/Temp.templates.hh
index 3c62a0e..741a40c 100644
--- a/src/Temp.templates.hh
+++ b/src/Temp.templates.hh
@@ -1,6 +1,6 @@
 /* Temp_* classes implementation: non-inline template members.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Temp_templates_hh
 #define PPL_Temp_templates_hh 1
diff --git a/src/Threshold_Watcher.cc b/src/Threshold_Watcher.cc
new file mode 100644
index 0000000..70a0a2c
--- /dev/null
+++ b/src/Threshold_Watcher.cc
@@ -0,0 +1,27 @@
+/* Threshold_Watcher and associated classes' implementation
+   (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Threshold_Watcher.defs.hh"
+
diff --git a/src/Threshold_Watcher.defs.hh b/src/Threshold_Watcher.defs.hh
new file mode 100644
index 0000000..4896adc
--- /dev/null
+++ b/src/Threshold_Watcher.defs.hh
@@ -0,0 +1,96 @@
+/* Threshold_Watcher and associated classes' declaration and inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Threshold_Watcher_defs_hh
+#define PPL_Threshold_Watcher_defs_hh 1
+
+#include "Threshold_Watcher.types.hh"
+#include "Handler.types.hh"
+#include "Pending_List.defs.hh"
+#include <cassert>
+
+/*! \brief
+  A class of watchdogs controlling the exceeding of a threshold.
+
+  \tparam Traits
+  A class to set data types and functions for the threshold handling.
+  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
+*/
+template <typename Traits>
+class Parma_Polyhedra_Library::Threshold_Watcher {
+public:
+  template <typename Flag_Base, typename Flag>
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag);
+
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    void (*function)());
+
+  ~Threshold_Watcher();
+
+private:
+  typedef Implementation::Watchdog::Pending_List<Traits> TW_Pending_List;
+  typedef Implementation::Watchdog::Handler TW_Handler;
+
+  bool expired;
+  const TW_Handler& handler;
+  typename TW_Pending_List::Iterator pending_position;
+
+  // Just to prevent their use.
+  Threshold_Watcher(const Threshold_Watcher&);
+  Threshold_Watcher& operator=(const Threshold_Watcher&);
+
+  struct Initialize {
+    //! The ordered queue of pending thresholds.
+    TW_Pending_List pending;
+  };
+  static Initialize init;
+
+  // Handle the addition of a new threshold.
+  static typename TW_Pending_List::Iterator
+  add_threshold(typename Traits::Threshold threshold,
+		const TW_Handler& handler,
+		bool& expired_flag);
+
+  // Handle the removal of a threshold.
+  static typename TW_Pending_List::Iterator
+  remove_threshold(typename TW_Pending_List::Iterator position);
+
+  //! Check threshold reaching.
+  static void check();
+
+}; // class Parma_Polyhedra_Library::Threshold_Watcher
+
+
+// Templatic initialization of static data member.
+template <typename Traits>
+typename
+Parma_Polyhedra_Library::Threshold_Watcher<Traits>::Initialize
+Parma_Polyhedra_Library::Threshold_Watcher<Traits>::init;
+
+#include "Threshold_Watcher.inlines.hh"
+#include "Threshold_Watcher.templates.hh"
+
+#endif // !defined(PPL_Threshold_Watcher_defs_hh)
+
diff --git a/src/Threshold_Watcher.inlines.hh b/src/Threshold_Watcher.inlines.hh
new file mode 100644
index 0000000..3c5267f
--- /dev/null
+++ b/src/Threshold_Watcher.inlines.hh
@@ -0,0 +1,66 @@
+/* Threshold_Watcher and associated classes' implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Threshold_Watcher_inlines_hh
+#define PPL_Threshold_Watcher_inlines_hh 1
+
+#include <stdexcept>
+
+#include "Handler.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Traits>
+template <typename Flag_Base, typename Flag>
+Threshold_Watcher<Traits>
+::Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag)
+  : expired(false),
+    handler(*new
+            Implementation::Watchdog::Handler_Flag<Flag_Base, Flag>(holder,
+                                                                    flag)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+template <typename Traits>
+inline
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
+  : expired(false),
+    handler(*new Implementation::Watchdog::Handler_Function(function)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Threshold_Watcher_inlines_hh)
diff --git a/src/Threshold_Watcher.templates.hh b/src/Threshold_Watcher.templates.hh
new file mode 100644
index 0000000..24692a9
--- /dev/null
+++ b/src/Threshold_Watcher.templates.hh
@@ -0,0 +1,72 @@
+/* Threshold_Watcher and associated classes'.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Threshold_Watcher_templates_hh
+#define PPL_Threshold_Watcher_templates_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
+                                         const TW_Handler& handler,
+                                         bool& expired_flag) {
+  Traits::check_function = Threshold_Watcher::check;
+  return init.pending.insert(threshold, handler, expired_flag);
+}
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>
+::remove_threshold(typename TW_Pending_List::Iterator position) {
+  typename TW_Pending_List::Iterator i = init.pending.erase(position);
+  if (init.pending.empty())
+    Traits::check_function = 0;
+  return i;
+}
+
+template <typename Traits>
+Threshold_Watcher<Traits>::~Threshold_Watcher() {
+  if (!expired)
+    remove_threshold(pending_position);
+  delete &handler;
+}
+
+template <typename Traits>
+void
+Threshold_Watcher<Traits>::check() {
+  typename TW_Pending_List::Iterator i = init.pending.begin();
+  assert(i != init.pending.end());
+  const typename Traits::Threshold& current = Traits::get();
+  while (!Traits::less_than(current, i->deadline())) {
+    i->handler().act();
+    i->expired_flag() = true;
+    i = remove_threshold(i);
+    if (i == init.pending.end())
+      break;
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Threshold_Watcher_templates_hh)
diff --git a/src/Threshold_Watcher.types.hh b/src/Threshold_Watcher.types.hh
new file mode 100644
index 0000000..9003f9f
--- /dev/null
+++ b/src/Threshold_Watcher.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Threshold_Watcher_types_hh
+#define PPL_Threshold_Watcher_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Traits>
+class Threshold_Watcher;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Threshold_Watcher_types_hh)
diff --git a/src/Time.cc b/src/Time.cc
new file mode 100644
index 0000000..213df40
--- /dev/null
+++ b/src/Time.cc
@@ -0,0 +1,32 @@
+/* Time class implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Time.defs.hh"
+
+namespace PPL = Parma_Polyhedra_Library;
+
+bool
+PPL::Implementation::Watchdog::Time::OK() const {
+  return microsecs < USECS_PER_SEC;
+}
diff --git a/src/Time.defs.hh b/src/Time.defs.hh
new file mode 100644
index 0000000..8edb750
--- /dev/null
+++ b/src/Time.defs.hh
@@ -0,0 +1,126 @@
+/* Time class declaration.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Time_defs_hh
+#define PPL_Time_defs_hh 1
+
+#include "Time.types.hh"
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+bool operator==(const Time& x, const Time& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+bool operator!=(const Time& x, const Time& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is shorter than \p y.
+bool operator<(const Time& x, const Time& y);
+
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x is shorter than
+  or equal to \p y.
+*/
+bool operator<=(const Time& x, const Time& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is longer than \p y.
+bool operator>(const Time& x, const Time& y);
+
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x is longer than
+  or equal to \p y.
+*/
+bool operator>=(const Time& x, const Time& y);
+
+//! Returns the sum of \p x and \p y.
+Time operator+(const Time& x, const Time& y);
+
+/*! \brief
+  Returns the difference of \p x and \p y or the null interval,
+  if \p x is shorter than \p y.
+*/
+Time operator-(const Time& x, const Time& y);
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+//! A class for representing and manipulating positive time intervals.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Time {
+public:
+  //! Zero seconds.
+  Time();
+
+  //! Constructor taking a number of centiseconds.
+  explicit Time(long centisecs);
+
+  //! Constructor with seconds and microseconds.
+  Time(long s, long m);
+
+  /*! \brief
+    Returns the number of whole seconds contained in the represented
+    time interval.
+  */
+  long seconds() const;
+
+  /*! \brief
+    Returns the number of microseconds that, when added to the number
+    of seconds returned by seconds(), give the represent time interval.
+  */
+  long microseconds() const;
+
+  //! Adds \p y to \p *this.
+  Time& operator+=(const Time& y);
+
+  /*! \brief
+    Subtracts \p y from \p *this; if \p *this is shorter than \p y,
+    \p *this is set to the null interval.
+  */
+  Time& operator-=(const Time& y);
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! Number of microseconds in a second.
+  static const long USECS_PER_SEC = 1000000L;
+
+  //! Number of centiseconds in a second.
+  static const long CSECS_PER_SEC = 100L;
+
+  //! Number of seconds.
+  long secs;
+
+  //! Number of microseconds.
+  long microsecs;
+};
+
+#include "Time.inlines.hh"
+
+#endif // !defined(PPL_Time_defs_hh)
diff --git a/src/Time.inlines.hh b/src/Time.inlines.hh
new file mode 100644
index 0000000..af4bc5b
--- /dev/null
+++ b/src/Time.inlines.hh
@@ -0,0 +1,155 @@
+/* Time class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Time_inlines_hh
+#define PPL_Time_inlines_hh 1
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+inline
+Time::Time()
+  : secs(0), microsecs(0) {
+  assert(OK());
+}
+
+inline
+Time::Time(long centisecs)
+  : secs(centisecs / CSECS_PER_SEC),
+    microsecs((centisecs % CSECS_PER_SEC) * (USECS_PER_SEC/CSECS_PER_SEC)) {
+  assert(OK());
+}
+
+inline
+Time::Time(long s, long m)
+  : secs(s),
+    microsecs(m) {
+  if (microsecs >= USECS_PER_SEC) {
+    secs += microsecs / USECS_PER_SEC;
+    microsecs %= USECS_PER_SEC;
+  }
+  assert(OK());
+}
+
+inline long
+Time::seconds() const {
+  return secs;
+}
+
+inline long
+Time::microseconds() const {
+  return microsecs;
+}
+
+inline Time&
+Time::operator+=(const Time& y) {
+  long r_secs = secs + y.secs;
+  long r_microsecs = microsecs + y.microsecs;
+  if (r_microsecs >= USECS_PER_SEC) {
+    ++r_secs;
+    r_microsecs %= USECS_PER_SEC;
+  }
+  secs = r_secs;
+  microsecs = r_microsecs;
+  assert(OK());
+  return *this;
+}
+
+inline Time&
+Time::operator-=(const Time& y) {
+  long r_secs = secs - y.secs;
+  long r_microsecs = microsecs - y.microsecs;
+  if (r_microsecs < 0) {
+    --r_secs;
+    r_microsecs += USECS_PER_SEC;
+  }
+  if (r_secs < 0) {
+    r_secs = 0;
+    r_microsecs = 0;
+  }
+  secs = r_secs;
+  microsecs = r_microsecs;
+  assert(OK());
+  return *this;
+}
+
+inline Time
+operator+(const Time& x, const Time& y) {
+  Time z = x;
+  z += y;
+  return z;
+}
+
+inline Time
+operator-(const Time& x, const Time& y) {
+  Time z = x;
+  z -= y;
+  return z;
+}
+
+inline bool
+operator==(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return x.seconds() == y.seconds() && y.microseconds() == y.microseconds();
+}
+
+inline bool
+operator!=(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return !(x == y);
+}
+
+inline bool
+operator<(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return x.seconds() < y.seconds()
+    || (x.seconds() == y.seconds() && x.microseconds() < y.microseconds());
+}
+
+inline bool
+operator<=(const Time& x, const Time& y) {
+  return x < y || x == y;
+}
+
+inline bool
+operator>(const Time& x, const Time& y) {
+  return y < x;
+}
+
+inline bool
+operator>=(const Time& x, const Time& y) {
+  return y <= x;
+}
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Time_inlines_hh)
diff --git a/src/Time.types.hh b/src/Time.types.hh
new file mode 100644
index 0000000..d82822e
--- /dev/null
+++ b/src/Time.types.hh
@@ -0,0 +1,30 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Time_types_hh
+#define PPL_Time_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+class Time;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Time_types_hh)
diff --git a/src/Topology.hh b/src/Topology.hh
deleted file mode 100644
index 49005ca..0000000
--- a/src/Topology.hh
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is free software; as a special exception the author gives
-unlimited permission to copy and/or distribute it, with or without
-modifications, as long as this notice is preserved.
-
-This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
-implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
-PURPOSE. */
-
-#ifndef PPL_Topology_hh
-#define PPL_Topology_hh 1
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Kinds of polyhedra domains.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-enum Topology {
-  NECESSARILY_CLOSED = 0,
-  NOT_NECESSARILY_CLOSED = 1
-};
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_Topology_hh)
diff --git a/src/Topology.types.hh b/src/Topology.types.hh
new file mode 100644
index 0000000..ad0da84
--- /dev/null
+++ b/src/Topology.types.hh
@@ -0,0 +1,29 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Topology_types_hh
+#define PPL_Topology_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Kinds of polyhedra domains.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+enum Topology {
+  NECESSARILY_CLOSED = 0,
+  NOT_NECESSARILY_CLOSED = 1
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Topology_types_hh)
diff --git a/src/Variable.cc b/src/Variable.cc
index 7d41725..71e0657 100644
--- a/src/Variable.cc
+++ b/src/Variable.cc
@@ -1,6 +1,6 @@
 /* Variable class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Variable.defs.hh"
 #include <iostream>
 
@@ -36,16 +36,18 @@ PPL::Variable::OK() const {
 }
 
 void
-PPL::Variable::default_output_function(std::ostream& s, const Variable& v) {
+PPL::Variable::default_output_function(std::ostream& s, const Variable v) {
   dimension_type varid = v.id();
-  s << static_cast<char>('A' + varid % 26);
-  if (dimension_type i = varid / 26)
+  static const char var_name_letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+  const dimension_type num_letters = sizeof(var_name_letters) - 1;
+  s << var_name_letters[varid % num_letters];
+  if (dimension_type i = varid / num_letters)
     s << i;
 }
 
 /*! \relates Parma_Polyhedra_Library::Variable */
 std::ostream&
-PPL::IO_Operators::operator<<(std::ostream& s, const Variable& v) {
+PPL::IO_Operators::operator<<(std::ostream& s, const Variable v) {
   (*Variable::current_output_function)(s, v);
   return s;
 }
diff --git a/src/Variable.defs.hh b/src/Variable.defs.hh
index 4039fff..961415f 100644
--- a/src/Variable.defs.hh
+++ b/src/Variable.defs.hh
@@ -1,6 +1,6 @@
 /* Variable class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Variable_defs_hh
 #define PPL_Variable_defs_hh 1
@@ -37,7 +37,7 @@ namespace IO_Operators {
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::Variable */
 std::ostream&
-operator<<(std::ostream& s, const Variable& v);
+operator<<(std::ostream& s, const Variable v);
 
 } // namespace IO_Operators
 
@@ -45,6 +45,10 @@ operator<<(std::ostream& s, const Variable& v);
 /*! \relates Variable */
 bool less(Variable v, Variable w);
 
+/*! \relates Variable */
+void
+swap(Variable& x, Variable& y);
+
 } // namespace Parma_Polyhedra_Library
 
 //! A dimension of the vector space.
@@ -111,7 +115,7 @@ public:
   bool OK() const;
 
   //! Type of output functions.
-  typedef void output_function_type(std::ostream& s, const Variable& v);
+  typedef void output_function_type(std::ostream& s, const Variable v);
 
   //! Sets the output function to be used for printing Variable objects.
   static void set_output_function(output_function_type* p);
@@ -126,6 +130,9 @@ public:
     bool operator()(Variable x, Variable y) const;
   };
 
+  //! Swaps *this and v.
+  void m_swap(Variable& v);
+
 private:
   //! The index of the Cartesian axis.
   dimension_type varid;
@@ -135,13 +142,13 @@ private:
 
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Variable& v);
+						    const Variable v);
 
   //! Pointer to the current output function.
   static output_function_type* current_output_function;
 
   //! The default output function.
-  static void default_output_function(std::ostream& s, const Variable& v);
+  static void default_output_function(std::ostream& s, const Variable v);
 };
 
 #include "Variable.inlines.hh"
diff --git a/src/Variable.inlines.hh b/src/Variable.inlines.hh
index 1212423..f428292 100644
--- a/src/Variable.inlines.hh
+++ b/src/Variable.inlines.hh
@@ -1,6 +1,6 @@
 /* Variable class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Variable_inlines_hh
 #define PPL_Variable_inlines_hh 1
@@ -36,7 +36,7 @@ Variable::max_space_dimension() {
 
 inline
 Variable::Variable(dimension_type i)
-  : varid(i < max_space_dimension()
+  : varid((i < max_space_dimension())
 	  ? i
 	  : (throw std::length_error("PPL::Variable::Variable(i):\n"
 				     "i exceeds the maximum allowed "
@@ -84,6 +84,17 @@ Variable::Compare::operator()(const Variable x, const Variable y) const {
   return less(x, y);
 }
 
+inline void
+Variable::m_swap(Variable& v) {
+  using std::swap;
+  swap(varid, v.varid);
+}
+
+inline void
+swap(Variable& x, Variable& y) {
+  x.m_swap(y);
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_Variable_inlines_hh)
diff --git a/src/Variable.types.hh b/src/Variable.types.hh
index e6874c5..789b1ec 100644
--- a/src/Variable.types.hh
+++ b/src/Variable.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/Variable_Floating_Point_Expression.defs.hh b/src/Variable_Floating_Point_Expression.defs.hh
new file mode 100644
index 0000000..9c7c8d1
--- /dev/null
+++ b/src/Variable_Floating_Point_Expression.defs.hh
@@ -0,0 +1,187 @@
+/* Declarations for the Variable_Floating_Point_Expression class and
+   its constituents.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Variable_Floating_Point_Expression_defs_hh
+#define PPL_Variable_Floating_Point_Expression_defs_hh 1
+
+#include "Floating_Point_Expression.defs.hh"
+#include "globals.defs.hh"
+#include "Variable_Floating_Point_Expression.types.hh"
+#include <map>
+#include <utility>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Variable_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Variable Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of floating-point variable expressions
+
+  Given a variable expression \f$v\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval
+  linear form \f$\linexprenv{v}{\rho^{\#}}{\rho^{\#}_l}\f$ as
+  \f$\rho^{\#}_l(v)\f$ if it is defined; otherwise we construct it as
+  \f$[-1, 1]v\f$.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Variable_Floating_Point_Expression
+: public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
+
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
+
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
+
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
+
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
+
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with a parameter: builds the variable floating point
+    expression corresponding to the variable having \p v_index as its index.
+  */
+  explicit Variable_Floating_Point_Expression(const dimension_type v_index);
+
+  //! Destructor.
+  ~Variable_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
+
+  /*! \brief
+    Linearizes the expression in a given abstract store.
+
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that the variable in the expression MUST have an associated value
+    in \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result is
+    computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  /*! \brief
+    Assigns a linear form to the variable with the same index of
+    \p *this in a given linear form abstract store.
+
+    \param lf The linear form assigned to the variable.
+    \param lf_store The linear form abstract store.
+
+    Note that once \p lf is assigned to a variable, all the other entries
+    of \p lf_store which contain that variable are discarded.
+  */
+  void linear_form_assign(const FP_Linear_Form& lf,
+                                FP_Linear_Form_Abstract_Store& lf_store) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Variable_Floating_Point_Expression& y);
+
+private:
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Variable_Floating_Point_Expression(
+			  const Variable_Floating_Point_Expression& y);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Variable_Floating_Point_Expression& operator=(
+		          const Variable_Floating_Point_Expression& y);
+
+  //! The index of the variable.
+  dimension_type variable_index;
+
+}; // class Variable_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Variable_Floating_Point_Expression.inlines.hh"
+
+#endif // !defined(PPL_Variable_Floating_Point_Expression_defs_hh)
diff --git a/src/Variable_Floating_Point_Expression.inlines.hh b/src/Variable_Floating_Point_Expression.inlines.hh
new file mode 100644
index 0000000..51ad6f5
--- /dev/null
+++ b/src/Variable_Floating_Point_Expression.inlines.hh
@@ -0,0 +1,94 @@
+/* Variable_Floating_Point_Expression class implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Variable_Floating_Point_Expression_inlines_hh
+#define PPL_Variable_Floating_Point_Expression_inlines_hh 1
+
+#include "globals.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Variable_Floating_Point_Expression(const dimension_type v_index)
+  : variable_index(v_index) {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Variable_Floating_Point_Expression() {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Variable_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(variable_index, y.variable_index);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store&,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  typename FP_Linear_Form_Abstract_Store::const_iterator
+           variable_value = lf_store.find(variable_index);
+
+  if (variable_value == lf_store.end()) {
+    result = FP_Linear_Form(Variable(variable_index));
+    return true;
+  }
+
+  result = FP_Linear_Form(variable_value->second);
+  return !this->overflows(result);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linear_form_assign(const FP_Linear_Form& lf,
+                           FP_Linear_Form_Abstract_Store& lf_store) const {
+  for (typename FP_Linear_Form_Abstract_Store::iterator
+         i = lf_store.begin(); i != lf_store.end(); ) {
+    if ((i->second).coefficient(Variable(variable_index)) != 0)
+      i = lf_store.erase(i);
+    else
+      ++i;
+  }
+  lf_store[variable_index] = lf;
+  return;
+}
+
+/*! \relates Variable_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Variable_Floating_Point_Expression_inlines_hh)
diff --git a/src/Variable_Floating_Point_Expression.types.hh b/src/Variable_Floating_Point_Expression.types.hh
new file mode 100644
index 0000000..6ac12aa
--- /dev/null
+++ b/src/Variable_Floating_Point_Expression.types.hh
@@ -0,0 +1,23 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Variable_Floating_Point_Expression_types_hh
+#define PPL_Variable_Floating_Point_Expression_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Variable_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Variable_Floating_Point_Expression_types_hh)
diff --git a/src/Variables_Set.cc b/src/Variables_Set.cc
index 849f948..e200d34 100644
--- a/src/Variables_Set.cc
+++ b/src/Variables_Set.cc
@@ -1,6 +1,6 @@
 /* Variables_Set class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,15 +19,15 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "Variables_Set.defs.hh"
 #include <iostream>
 
 namespace PPL = Parma_Polyhedra_Library;
 
-PPL::Variables_Set::Variables_Set(const Variable& v, const Variable& w)
+PPL::Variables_Set::Variables_Set(const Variable v, const Variable w)
   : Base() {
   for (dimension_type d = v.id(), last = w.id(); d <= last; ++d)
     insert(d);
@@ -47,7 +47,8 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Variables_Set& vs) {
   s << '{';
   for (Variables_Set::const_iterator i = vs.begin(),
 	 vs_end = vs.end(); i != vs_end; ) {
-    s << ' ' << Variable(*i++);
+    s << ' ' << Variable(*i);
+    ++i;
     if (i != vs_end)
       s << ',';
   }
@@ -70,7 +71,7 @@ bool
 PPL::Variables_Set::ascii_load(std::istream& s) {
   clear();
   std::string str;
- if (!(s >> str) || str != "variables(")
+  if (!(s >> str) || str != "variables(")
     return false;
 
   dimension_type size;
@@ -81,8 +82,8 @@ PPL::Variables_Set::ascii_load(std::istream& s) {
   if (!(s >> str) || str != ")")
     return false;
 
-  dimension_type variable_value;
   for (dimension_type i = 0; i < size; ++i) {
+    dimension_type variable_value;
     if (!(s >> variable_value))
       return false;
     insert(variable_value);
diff --git a/src/Variables_Set.defs.hh b/src/Variables_Set.defs.hh
index d553043..3b9b1b2 100644
--- a/src/Variables_Set.defs.hh
+++ b/src/Variables_Set.defs.hh
@@ -1,6 +1,6 @@
 /* Variables_Set class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Variables_Set_defs_hh
 #define PPL_Variables_Set_defs_hh 1
@@ -37,7 +37,7 @@ namespace IO_Operators {
 //! Output operator.
 /*! \relates Parma_Polyhedra_Library::Variables_Set */
 std::ostream&
-operator<<(std::ostream& s, const Variables_Set& v);
+operator<<(std::ostream& s, const Variables_Set& vs);
 
 } // namespace IO_Operators
 
@@ -54,7 +54,7 @@ public:
   Variables_Set();
 
   //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
-  explicit Variables_Set(const Variable& v);
+  explicit Variables_Set(const Variable v);
 
   /*! \brief
     Builds the set of variables's indexes in the range from
@@ -65,7 +65,7 @@ public:
     <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
     The empty set is built otherwise.
   */
-  Variables_Set(const Variable& v, const Variable& w);
+  Variables_Set(const Variable v, const Variable w);
 
   //! Returns the maximum space dimension a Variables_Set can handle.
   static dimension_type max_space_dimension();
diff --git a/src/Variables_Set.inlines.hh b/src/Variables_Set.inlines.hh
index ab0c415..7fe4b30 100644
--- a/src/Variables_Set.inlines.hh
+++ b/src/Variables_Set.inlines.hh
@@ -1,6 +1,6 @@
 /* Variables_Set class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Variables_Set_inlines_hh
 #define PPL_Variables_Set_inlines_hh 1
@@ -40,7 +40,7 @@ Variables_Set::insert(const Variable v) {
 }
 
 inline
-Variables_Set::Variables_Set(const Variable& v)
+Variables_Set::Variables_Set(const Variable v)
   : Base() {
   insert(v);
 }
@@ -53,7 +53,7 @@ Variables_Set::max_space_dimension() {
 inline dimension_type
 Variables_Set::space_dimension() const {
   reverse_iterator i = rbegin();
-  return i == rend() ? 0 : *i+1;
+  return (i == rend()) ? 0 : (*i + 1);
 }
 
 inline memory_size_type
diff --git a/src/Variables_Set.types.hh b/src/Variables_Set.types.hh
index 6ea6b36..c8561ad 100644
--- a/src/Variables_Set.types.hh
+++ b/src/Variables_Set.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/WRD_coefficient_types.defs.hh b/src/WRD_coefficient_types.defs.hh
index bffad81..7c1e23e 100644
--- a/src/WRD_coefficient_types.defs.hh
+++ b/src/WRD_coefficient_types.defs.hh
@@ -1,6 +1,6 @@
 /* Coefficient types of weakly-relational domains: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_WRD_coefficient_types_defs_hh
 #define PPL_WRD_coefficient_types_defs_hh 1
@@ -65,9 +65,8 @@ struct WRD_Extended_Number_Policy {
   //! Handle infinity special values.
   const_bool_nodef(has_infinity, true);
 
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
 
   //! Honor requests to check for FPU inexact results.
   const_bool_nodef(fpu_check_inexact, true);
@@ -75,13 +74,11 @@ struct WRD_Extended_Number_Policy {
   //! Do not make extra checks to detect FPU NaN results.
   const_bool_nodef(fpu_check_nan_result, false);
 
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
 
   /*! \brief
     Handles \p r: called by all constructors, operators and functions that
@@ -127,9 +124,8 @@ struct Debug_WRD_Extended_Number_Policy {
   //! Handle infinity special values.
   const_bool_nodef(has_infinity, true);
 
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
 
   //! Honor requests to check for FPU inexact results.
   const_bool_nodef(fpu_check_inexact, true);
@@ -137,13 +133,11 @@ struct Debug_WRD_Extended_Number_Policy {
   //! Make extra checks to detect FPU NaN results.
   const_bool_nodef(fpu_check_nan_result, true);
 
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
 
   /*! \brief
     Handles \p r: called by all constructors, operators and functions that
diff --git a/src/WRD_coefficient_types.inlines.hh b/src/WRD_coefficient_types.inlines.hh
index 4063afc..b30789c 100644
--- a/src/WRD_coefficient_types.inlines.hh
+++ b/src/WRD_coefficient_types.inlines.hh
@@ -1,6 +1,6 @@
 /* Coefficient types of weakly-relational domains: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_WRD_coefficient_types_inlines_hh
 #define PPL_WRD_coefficient_types_inlines_hh 1
diff --git a/src/Watchdog.cc b/src/Watchdog.cc
new file mode 100644
index 0000000..db789a8
--- /dev/null
+++ b/src/Watchdog.cc
@@ -0,0 +1,250 @@
+/* Watchdog and associated classes' implementation (non-inline functions).
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "Watchdog.defs.hh"
+
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+
+#include <csignal>
+#include <iostream>
+#include <stdexcept>
+#include <cerrno>
+#include <string>
+#include <string.h>
+
+#ifdef PPL_TIME_WITH_SYS_TIME
+# include <sys/time.h>
+# include <ctime>
+#else
+# ifdef PPL_HAVE_SYS_TIME_H
+#  include <sys/time.h>
+# else
+#  include <ctime>
+# endif
+#endif
+
+// Cygwin only supports ITIMER_REAL.
+// Apparently GNU Hurd also only supports ITIMER_REAL
+// (see http://www.cs.unipr.it/pipermail/ppl-devel/2010-March/016072.html).
+// Profiling does not work on programs that use the ITIMER_PROF timer.
+#if defined(__CYGWIN__) || defined(__gnu_hurd__) || defined(PPL_PROFILING)
+#define THE_TIMER  ITIMER_REAL
+#define THE_SIGNAL SIGALRM
+#else
+#define THE_TIMER  ITIMER_PROF
+#define THE_SIGNAL SIGPROF
+#endif
+
+using std::cerr;
+using std::endl;
+
+namespace PPL = Parma_Polyhedra_Library;
+
+// Pass this to getitimer().
+itimerval PPL::Watchdog::current_timer_status;
+
+// Pass this to setitimer().
+itimerval PPL::Watchdog::signal_once;
+
+// Last time value we set the timer to.
+PPL::Implementation::Watchdog::Time PPL::Watchdog::last_time_requested;
+
+// Records the time elapsed since last fresh start.
+PPL::Implementation::Watchdog::Time PPL::Watchdog::time_so_far;
+
+// The ordered queue of pending watchdog events.
+PPL::Watchdog::WD_Pending_List PPL::Watchdog::pending;
+
+// Whether the alarm clock is running.
+volatile bool PPL::Watchdog::alarm_clock_running = false;
+
+// Whether we are changing data which are also changed by the signal handler.
+volatile bool PPL::Watchdog::in_critical_section = false;
+
+namespace {
+
+void
+throw_syscall_error(const char* syscall_name) {
+  throw std::runtime_error(std::string(syscall_name) + ": " + strerror(errno));
+}
+
+void
+my_getitimer(int which, struct itimerval* value) {
+  if (getitimer(which, value) != 0)
+    throw_syscall_error("getitimer");
+}
+
+void
+my_setitimer(int which,
+	     const struct itimerval* value, struct itimerval* old_value) {
+  if (setitimer(which, value, old_value) != 0)
+    throw_syscall_error("setitimer");
+}
+
+void
+my_sigaction(int signum,
+	     const struct sigaction* act, struct sigaction* old_action) {
+  if (sigaction(signum, act, old_action) != 0)
+    throw_syscall_error("sigaction");
+}
+
+} // namespace
+
+void
+PPL::Watchdog::get_timer(Implementation::Watchdog::Time& time) {
+  using namespace Implementation::Watchdog;
+  my_getitimer(THE_TIMER, &current_timer_status);
+  time = Time(current_timer_status.it_value.tv_sec,
+	      current_timer_status.it_value.tv_usec);
+}
+
+void
+PPL::Watchdog::set_timer(const Implementation::Watchdog::Time& time) {
+  if (time.seconds() == 0 && time.microseconds() == 0)
+    throw std::runtime_error("PPL internal error");
+  last_time_requested = time;
+  signal_once.it_value.tv_sec = time.seconds();
+  signal_once.it_value.tv_usec = time.microseconds();
+  my_setitimer(THE_TIMER, &signal_once, 0);
+}
+
+void
+PPL::Watchdog::stop_timer() {
+  signal_once.it_value.tv_sec = 0;
+  signal_once.it_value.tv_usec = 0;
+  my_setitimer(THE_TIMER, &signal_once, 0);
+}
+
+void
+PPL::Watchdog::handle_timeout(int) {
+  if (in_critical_section)
+    reschedule();
+  else {
+    time_so_far += last_time_requested;
+    if (!pending.empty()) {
+      WD_Pending_List::Iterator i = pending.begin();
+      do {
+	i->handler().act();
+	i->expired_flag() = true;
+	i = pending.erase(i);
+      } while (i != pending.end() && i->deadline() <= time_so_far);
+      if (pending.empty())
+	alarm_clock_running = false;
+      else
+	set_timer((*pending.begin()).deadline() - time_so_far);
+    }
+    else
+      alarm_clock_running = false;
+  }
+}
+
+void
+PPL::PPL_handle_timeout(int signum) {
+  PPL::Watchdog::handle_timeout(signum);
+}
+
+PPL::Watchdog::WD_Pending_List::Iterator
+PPL::Watchdog::new_watchdog_event(long csecs,
+				  const WD_Handler& handler,
+				  bool& expired_flag) {
+  using namespace Implementation::Watchdog;
+  assert(csecs > 0);
+  WD_Pending_List::Iterator position;
+  Time deadline(csecs);
+  if (!alarm_clock_running) {
+    position = pending.insert(deadline, handler, expired_flag);
+    time_so_far = Time(0);
+    set_timer(deadline);
+    alarm_clock_running = true;
+  }
+  else {
+    Time time_to_shoot;
+    get_timer(time_to_shoot);
+    Time elapsed_time(last_time_requested);
+    elapsed_time -= time_to_shoot;
+    Time current_time(time_so_far);
+    current_time += elapsed_time;
+    Time real_deadline(deadline);
+    real_deadline += current_time;
+    position = pending.insert(real_deadline, handler, expired_flag);
+    if (deadline < time_to_shoot) {
+      time_so_far = current_time;
+      set_timer(deadline);
+    }
+  }
+  return position;
+}
+
+void
+PPL::Watchdog::remove_watchdog_event(WD_Pending_List::Iterator position) {
+  using namespace Implementation::Watchdog;
+  assert(!pending.empty());
+  if (position == pending.begin()) {
+    WD_Pending_List::Iterator next = position;
+    ++next;
+    if (next != pending.end()) {
+      Time first_deadline(position->deadline());
+      Time next_deadline(next->deadline());
+      if (first_deadline != next_deadline) {
+	Time time_to_shoot;
+	get_timer(time_to_shoot);
+	Time elapsed_time(last_time_requested);
+	elapsed_time -= time_to_shoot;
+	time_so_far += elapsed_time;
+	next_deadline -= first_deadline;
+	time_to_shoot += next_deadline;
+	set_timer(time_to_shoot);
+      }
+    }
+    else {
+      stop_timer();
+      alarm_clock_running = false;
+    }
+  }
+  pending.erase(position);
+}
+
+PPL::Implementation::Watchdog::Time PPL::Watchdog::reschedule_time(1);
+
+void
+PPL::Watchdog::initialize() {
+  signal_once.it_interval.tv_sec = 0;
+  signal_once.it_interval.tv_usec = 0;
+
+  sigset_t mask;
+  sigemptyset(&mask);
+
+  struct sigaction s;
+  s.sa_handler = &PPL_handle_timeout;
+  s.sa_mask = mask;
+  s.sa_flags = 0;  // Was SA_ONESHOT: why?
+
+  my_sigaction(THE_SIGNAL, &s, 0);
+}
+
+void
+PPL::Watchdog::finalize() {
+}
+
+#endif // PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
diff --git a/src/Watchdog.defs.hh b/src/Watchdog.defs.hh
new file mode 100644
index 0000000..338e27b
--- /dev/null
+++ b/src/Watchdog.defs.hh
@@ -0,0 +1,148 @@
+/* Watchdog and associated classes' declaration and inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Watchdog_defs_hh
+#define PPL_Watchdog_defs_hh 1
+
+#include "Watchdog.types.hh"
+#include "Time.defs.hh"
+#include "Handler.types.hh"
+#include "Pending_List.defs.hh"
+#include <cassert>
+#include <functional>
+
+#ifdef PPL_HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+// Set linkage now to declare it friend later.
+extern "C" void PPL_handle_timeout(int signum);
+
+struct Watchdog_Traits {
+  typedef Implementation::Watchdog::Time Threshold;
+  static bool less_than(const Threshold& a, const Threshold& b) {
+    return a < b;
+  }
+};
+
+//! A watchdog timer.
+class Watchdog {
+public:
+  template <typename Flag_Base, typename Flag>
+  Watchdog(long csecs, const Flag_Base* volatile& holder, Flag& flag);
+
+  /*! \brief
+    Constructor: if not reset, the watchdog will trigger after \p csecs
+    centiseconds, invoking handler \p function.
+  */
+  Watchdog(long csecs, void (*function)());
+
+  //! Destructor.
+  ~Watchdog();
+
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+
+  //! Static class initialization.
+  static void initialize();
+  //! Static class finalization.
+  static void finalize();
+
+private:
+  //! Whether or not this watchdog has expired.
+  bool expired;
+
+  typedef Implementation::Watchdog::Pending_List<Watchdog_Traits>
+  WD_Pending_List;
+
+  typedef Implementation::Watchdog::Handler
+  WD_Handler;
+
+  const WD_Handler& handler;
+  WD_Pending_List::Iterator pending_position;
+
+  // Private and not implemented: copy construction is not allowed.
+  Watchdog(const Watchdog&);
+  // Private and not implemented: copy assignment is not allowed.
+  Watchdog& operator=(const Watchdog&);
+
+  // Pass this to getitimer().
+  static itimerval current_timer_status;
+
+  //! Reads the timer value into \p time.
+  static void get_timer(Implementation::Watchdog::Time& time);
+
+  // Pass this to setitimer().
+  static itimerval signal_once;
+
+  // Last time value we set the timer to.
+  static Implementation::Watchdog::Time last_time_requested;
+
+  //! Sets the timer value to \p time.
+  static void set_timer(const Implementation::Watchdog::Time& time);
+
+  //! Stops the timer.
+  static void stop_timer();
+
+  //! Quick reschedule to avoid race conditions.
+  static void reschedule();
+
+  // Used by the above.
+  static Implementation::Watchdog::Time reschedule_time;
+
+  // Records the time elapsed since last fresh start.
+  static Implementation::Watchdog::Time time_so_far;
+
+  //! The ordered queue of pending watchdog events.
+  static WD_Pending_List pending;
+
+  //! The actual signal handler.
+  static void handle_timeout(int);
+
+  //! Handles the addition of a new watchdog event.
+  static WD_Pending_List::Iterator
+  new_watchdog_event(long csecs,
+                     const WD_Handler& handler,
+                     bool& expired_flag);
+
+  //! Handles the removal of the watchdog event referred by \p position.
+  void remove_watchdog_event(WD_Pending_List::Iterator position);
+
+  //! Whether the alarm clock is running.
+  static volatile bool alarm_clock_running;
+
+  //! Whether we are changing data that is also changed by the signal handler.
+  static volatile bool in_critical_section;
+
+  friend void PPL_handle_timeout(int signum);
+
+#endif // PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#include "Watchdog.inlines.hh"
+
+#endif // !defined(PPL_Watchdog_defs_hh)
+
diff --git a/src/Watchdog.inlines.hh b/src/Watchdog.inlines.hh
new file mode 100644
index 0000000..30798ef
--- /dev/null
+++ b/src/Watchdog.inlines.hh
@@ -0,0 +1,101 @@
+/* Watchdog and associated classes' implementation: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_Watchdog_inlines_hh
+#define PPL_Watchdog_inlines_hh 1
+
+#include "Handler.defs.hh"
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(long csecs,
+		   const Flag_Base* volatile& holder,
+                   Flag& flag)
+  : expired(false),
+    handler(*new
+            Implementation::Watchdog::Handler_Flag<Flag_Base, Flag>(holder,
+                                                                    flag)) {
+  if (csecs == 0)
+    throw std::invalid_argument("Watchdog constructor called with a"
+				" non-positive number of centiseconds");
+  in_critical_section = true;
+  pending_position = new_watchdog_event(csecs, handler, expired);
+  in_critical_section = false;
+}
+
+inline
+Watchdog::Watchdog(long csecs, void (*function)())
+  : expired(false),
+    handler(*new Implementation::Watchdog::Handler_Function(function)) {
+  if (csecs == 0)
+    throw std::invalid_argument("Watchdog constructor called with a"
+				" non-positive number of centiseconds");
+  in_critical_section = true;
+  pending_position = new_watchdog_event(csecs, handler, expired);
+  in_critical_section = false;
+}
+
+inline
+Watchdog::~Watchdog() {
+  if (!expired) {
+    in_critical_section = true;
+    remove_watchdog_event(pending_position);
+    in_critical_section = false;
+  }
+  delete &handler;
+}
+
+inline void
+Watchdog::reschedule() {
+  set_timer(reschedule_time);
+}
+
+#else // !PPL_HAVE_DECL_SETITIMER !! !PPL_HAVE_DECL_SIGACTION
+
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(long /* csecs */,
+		   const Flag_Base* volatile& /* holder */,
+                   Flag& /* flag */) {
+  throw std::logic_error("PPL::Watchdog::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::Watchdog(long /* csecs */, void (* /* function */)()) {
+  throw std::logic_error("PPL::Watchdog::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
+
+inline
+Watchdog::~Watchdog() {
+}
+
+#endif // !PPL_HAVE_DECL_SETITIMER !! !PPL_HAVE_DECL_SIGACTION
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Watchdog_inlines_hh)
diff --git a/src/Watchdog.types.hh b/src/Watchdog.types.hh
new file mode 100644
index 0000000..59436e1
--- /dev/null
+++ b/src/Watchdog.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_Watchdog_types_hh
+#define PPL_Watchdog_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Watchdog;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_Watchdog_types_hh)
diff --git a/src/Weight_Profiler.cc b/src/Weight_Profiler.cc
index caf7a7b..75c2795 100644
--- a/src/Weight_Profiler.cc
+++ b/src/Weight_Profiler.cc
@@ -1,6 +1,6 @@
 /* Weight_Profiler class implementation.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "globals.defs.hh"
 
 #if PPL_PROFILE_ADD_WEIGHT
@@ -37,42 +37,43 @@ void Weight_Profiler::output_stats() {
     std::cout << "never reached.";
   else {
     if (stat[VALID].samples > 0) {
-      double avg = stat[VALID].sum / stat[VALID].count;
-      double var = stat[VALID].ssum / stat[VALID].count - avg * avg;
+      double average
+        = stat[VALID].sum / stat[VALID].count;
+      double variance
+        = stat[VALID].squares_sum / stat[VALID].count - average * average;
       std::cout << " samples(" << stat[VALID].samples << ")"
 		<< " count(" << stat[VALID].count << ")"
 		<< " min( " << stat[VALID].min << ")"
 		<< " max( " << stat[VALID].max << ")"
-		<< " avg(" << avg << ")";
-      std::cout << " var( " << var << ")"
-		<< " stddev( " << sqrt(var) << ")";
+		<< " average(" << average << ")";
+      std::cout << " variance( " << variance << ")"
+		<< " stddev( " << sqrt(variance) << ")";
     }
     if (stat[DISCARDED].samples > 0) {
-      std::cout << " tmin( " << tmin << ")"
-		<< " tmax( " << tmax << ")";
-      double avg = stat[DISCARDED].sum / stat[DISCARDED].count;
+      std::cout << " min_threshold( " << min_threshold << ")"
+		<< " max_threshold( " << max_threshold << ")";
+      double average = stat[DISCARDED].sum / stat[DISCARDED].count;
       std::cout << " samples(" << stat[DISCARDED].samples << ")"
 		<< " count(" << stat[DISCARDED].count << ")"
 		<< " min( " << stat[DISCARDED].min << ")"
 		<< " max( " << stat[DISCARDED].max << ")"
-		<< " avg(" << avg << ")";
+		<< " average(" << average << ")";
     }
   }
   std::cout << std::endl;
 }
 
-double Weight_Profiler::tune_adj() {
+double Weight_Profiler::tune_adjustment() {
   begin();
-  adj = 0;
-  static Weight_Profiler adjtc(__FILE__, __LINE__, 0, 0, 0);
+  adjustment = 0;
+  static Weight_Profiler weight_profiler(__FILE__, __LINE__, 0, 0, 0);
   for (int i = 0; i < 1000; ++i)
-    adjtc.end(1);
-  //    return adjtc.stat[VALID].sum / adjtc.stat[VALID].count;
-  return adjtc.stat[VALID].min;
+    weight_profiler.end(1);
+  return weight_profiler.stat[VALID].min;
 }
 
 struct timespec Weight_Profiler::stamp;
-double Weight_Profiler::adj = Weight_Profiler::tune_adj();
+double Weight_Profiler::adjustment = Weight_Profiler::tune_adjustment();
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Weight_Profiler.defs.hh b/src/Weight_Profiler.defs.hh
index 16ada0e..582308c 100644
--- a/src/Weight_Profiler.defs.hh
+++ b/src/Weight_Profiler.defs.hh
@@ -1,6 +1,6 @@
 /* Weight_Profiler class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef Weight_Profiler_defs_hh
 #define Weight_Profiler_defs_hh 1
@@ -29,18 +29,20 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 class Weight_Profiler {
+private:
   enum { DISCARDED = 0, VALID = 1 };
+
 public:
   Weight_Profiler(const char* file, int line,
 		  Weightwatch_Traits::Delta delta,
-		  double tmin = 0, double tmax = 0)
+		  double min_threshold = 0, double max_threshold = 0)
     : file(file), line(line), delta(delta),
-      tmin(tmin), tmax(tmax) {
+      min_threshold(min_threshold), max_threshold(max_threshold) {
     for (int i = 0; i < 2; ++i) {
       stat[i].samples = 0;
       stat[i].count = 0;
       stat[i].sum = 0;
-      stat[i].ssum = 0;
+      stat[i].squares_sum = 0;
       stat[i].min = 0;
       stat[i].max = 0;
     }
@@ -75,9 +77,10 @@ public:
       elapsed = (1000000000 - start.tv_nsec + stamp.tv_nsec )
 	+ (stamp.tv_sec - start.tv_sec - 1) * 1e9;
     }
-    elapsed -= adj;
+    elapsed -= adjustment;
     double elapsed1 = elapsed / factor;
-    int i = (elapsed1 < tmin || (tmax > 0 && elapsed1 > tmax))
+    int i = (elapsed1 < min_threshold
+             || (max_threshold > 0 && elapsed1 > max_threshold))
       ? DISCARDED
       : VALID;
     ++stat[i].samples;
@@ -88,30 +91,62 @@ public:
     else if (stat[i].max < elapsed1)
       stat[i].max = elapsed1;
     stat[i].sum += elapsed;
-    stat[i].ssum += elapsed * elapsed1;
+    stat[i].squares_sum += elapsed * elapsed1;
     stat[i].count += factor;
   }
 
-  static double tune_adj();
+  static double tune_adjustment();
 
  private:
+  //! File of this profiling point.
   const char *file;
+
+  //! Line of this profiling point.
   int line;
+
+  //! Computational weight to be added at each iteration.
   Weightwatch_Traits::Delta delta;
-  double tmin;
-  double tmax;
 
+  //! Times less than this value are discarded.
+  double min_threshold;
+
+  //! Times greater than this value are discarded.
+  double max_threshold;
+
+  //! Statistical data for samples (both DISCARDED and VALID)
   struct {
+    //! Number of collected samples.
     unsigned int samples;
+
+    /*! \brief
+      Number of collected iterations.
+
+      \note
+      Multiple iterations are possibly collected for each sample.
+    */
     unsigned int count;
+
+    //! Sum of the measured times.
     double sum;
-    double ssum;
+
+    //! Sum of the squares of the measured times (to compute variance).
+    double squares_sum;
+
+    //! Minimum measured time.
     double min;
+
+    //! Maximum measured time.
     double max;
   } stat[2];
 
+  //! Holds the time corresponding to last time begin() was called.
   static struct timespec stamp;
-  static double adj;
+
+  /*! \brief
+    Time quantity used to adjust the elapsed times so as not to take
+    into account the time spent by the measurement infrastructure.
+  */
+  static double adjustment;
 };
 
 }
diff --git a/src/Widening_Function.defs.hh b/src/Widening_Function.defs.hh
index 6b414f4..f7f9129 100644
--- a/src/Widening_Function.defs.hh
+++ b/src/Widening_Function.defs.hh
@@ -1,6 +1,6 @@
 /* Widening_Function class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Widening_Function_defs_hh
 #define PPL_Widening_Function_defs_hh 1
diff --git a/src/Widening_Function.inlines.hh b/src/Widening_Function.inlines.hh
index bd89e96..dc4e4bc 100644
--- a/src/Widening_Function.inlines.hh
+++ b/src/Widening_Function.inlines.hh
@@ -1,6 +1,6 @@
 /* Widening_Function class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Widening_Function_inlines_hh
 #define PPL_Widening_Function_inlines_hh 1
diff --git a/src/Widening_Function.types.hh b/src/Widening_Function.types.hh
index 02fc2c6..7931150 100644
--- a/src/Widening_Function.types.hh
+++ b/src/Widening_Function.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/algorithms.hh b/src/algorithms.hh
index 7ff564b..65b6ac3 100644
--- a/src/algorithms.hh
+++ b/src/algorithms.hh
@@ -1,6 +1,6 @@
 /* A collection of useful convex polyhedra algorithms: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_algorithms_hh
 #define PPL_algorithms_hh 1
@@ -50,11 +50,11 @@ poly_hull_assign_if_exact(PH& p, const PH& q);
 template <typename PH>
 bool
 poly_hull_assign_if_exact(PH& p, const PH& q) {
-  PH phull = p;
+  PH poly_hull = p;
   NNC_Polyhedron nnc_p(p);
-  phull.poly_hull_assign(q);
+  poly_hull.poly_hull_assign(q);
   std::pair<PH, Pointset_Powerset<NNC_Polyhedron> >
-    partition = linear_partition(q, phull);
+    partition = linear_partition(q, poly_hull);
   const Pointset_Powerset<NNC_Polyhedron>& s = partition.second;
   typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
   for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i)
@@ -63,7 +63,7 @@ poly_hull_assign_if_exact(PH& p, const PH& q) {
     // respect to `q' are included in `p'
     if (!nnc_p.contains(i->pointset()))
       return false;
-  p = phull;
+  p = poly_hull;
   return true;
 }
 
diff --git a/src/assert.cc b/src/assert.cc
new file mode 100644
index 0000000..284d296
--- /dev/null
+++ b/src/assert.cc
@@ -0,0 +1,52 @@
+/* Definitions of assert-like functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl-config.h"
+#include "assert.hh"
+#include <cstdlib>
+#include <iostream>
+
+namespace PPL = Parma_Polyhedra_Library;
+
+void
+PPL::ppl_unreachable() {
+  abort();
+}
+
+void
+PPL::ppl_unreachable_msg(const char* msg,
+                         const char* file, unsigned int line,
+                         const char* function) {
+  std::cerr << file << ":" << line << ": " << function
+            << ": Latent fault detected: " << msg << ".\n";
+  abort();
+}
+
+void
+PPL::ppl_assertion_failed(const char* assertion_text,
+                          const char* file, unsigned int line,
+                          const char* function) {
+  std::cerr << file << ":" << line << ": " << function
+            << ": Assertion `" << assertion_text << "' failed.\n";
+  abort();
+}
diff --git a/src/assert.hh b/src/assert.hh
index 0f93d24..3c64266 100644
--- a/src/assert.hh
+++ b/src/assert.hh
@@ -1,6 +1,6 @@
-/* Implementation of PPL_ASSERT macro.
+/* Implementation of PPL assert-like macros.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,46 +19,132 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_assert_hh
 #define PPL_assert_hh 1
 
-#include <cassert>
-#include "globals.defs.hh"
-
+// The PPL_UNREACHABLE_MSG macro flags a program point as unreachable.
+// Argument `msg__' is added to output when assertions are turned on.
 #if defined(NDEBUG)
+#define PPL_UNREACHABLE_MSG(msg__) Parma_Polyhedra_Library::ppl_unreachable()
+#else
+#define PPL_UNREACHABLE_MSG(msg__) Parma_Polyhedra_Library:: \
+  ppl_unreachable_msg(msg__, __FILE__, __LINE__, __func__)
+#endif
+
+// The PPL_UNREACHABLE macro flags a program point as unreachable.
+#define PPL_UNREACHABLE PPL_UNREACHABLE_MSG("unreachable")
 
-#define PPL_ASSERT(cond__)
-#define PPL_ASSERT_HEAVY(cond__)
+// The PPL_ASSERTION_FAILED macro is used to output a message after
+// an assertion failure and then cause program termination.
+// (It is meant to be used only when assertions are turned on.)
+#define PPL_ASSERTION_FAILED(msg__) Parma_Polyhedra_Library:: \
+  ppl_assertion_failed(msg__, __FILE__, __LINE__, __func__)
 
+// Helper macro PPL_ASSERT_IMPL_: do not use it directly.
+#if defined(NDEBUG)
+#define PPL_ASSERT_IMPL_(cond__) ((void) 0)
 #else
+#define PPL_STRING_(s) #s
+#define PPL_ASSERT_IMPL_(cond__) \
+  ((cond__) ? (void) 0 : PPL_ASSERTION_FAILED(PPL_STRING_(cond__)))
+#endif
+
 
 // Non zero to detect use of PPL_ASSERT instead of PPL_ASSERT_HEAVY
+// Note: flag does not affect code built with NDEBUG defined.
 #define PPL_DEBUG_PPL_ASSERT 1
-#if !PPL_DEBUG_PPL_ASSERT
-#define PPL_ASSERT(cond__) assert(cond__)
+
+// The PPL_ASSERT macro states that Boolean condition cond__ should hold.
+// This is meant to replace uses of C assert().
+#if defined(NDEBUG) || (!PPL_DEBUG_PPL_ASSERT)
+#define PPL_ASSERT(cond__) PPL_ASSERT_IMPL_(cond__)
 #else
-#define PPL_ASSERT(cond__)				       \
-  do {							       \
-    Parma_Polyhedra_Library::Weightwatch_Traits::Threshold     \
-      old_weight__                                             \
-        = Parma_Polyhedra_Library::Weightwatch_Traits::weight; \
-    assert(cond__);					       \
-    assert(old_weight__ == Parma_Polyhedra_Library::Weightwatch_Traits::weight &&   \
-	   "PPL_ASSERT_HEAVY have to be used here");	   \
-  } while(0)
-#endif
+// Note: here we have assertions enabled and PPL_DEBUG_PPL_ASSERT is 1.
+// Check if the call to PPL_ASSERT should be replaced by PPL_ASSERT_HEAVY
+// (i.e., if the former may interfere with computational weights).
+#define PPL_ASSERT(cond__)                                        \
+  do {                                                            \
+    typedef Parma_Polyhedra_Library::Weightwatch_Traits W_Traits; \
+    W_Traits::Threshold old_weight__ = W_Traits::weight;          \
+    PPL_ASSERT_IMPL_(cond__);                                     \
+    PPL_ASSERT_IMPL_(old_weight__ == W_Traits::weight             \
+                     && ("PPL_ASSERT_HEAVY has to be used here" != 0)); \
+  } while (false)
+#endif // !defined(NDEBUG) && PPL_DEBUG_PPL_ASSERT
+
+
+// Macro PPL_ASSERT_HEAVY is meant to be used when the evaluation of
+// the assertion may change computational weights (via WEIGHT_ADD).
+#if defined(NDEBUG)
+#define PPL_ASSERT_HEAVY(cond__) PPL_ASSERT_IMPL_(cond__)
+#else
+#define PPL_ASSERT_HEAVY(cond__)                                \
+  do {                                                          \
+    Parma_Polyhedra_Library::In_Assert guard;                   \
+    PPL_ASSERT_IMPL_(cond__);                                   \
+  } while (false)
+#endif // !defined(NDEBUG)
 
-// The evaluation of asserted conditions could have a non zero
-// computational weight (i.e., the execution path could contain an
-// invocation of WEIGHT_ADD).
-#define PPL_ASSERT_HEAVY(cond__)				\
-  do {								\
-      ++Parma_Polyhedra_Library::Implementation::in_assert;	\
-      assert(cond__);						\
-      --Parma_Polyhedra_Library::Implementation::in_assert;	\
-    } while (0)
+
+// Macro PPL_EXPECT (resp., PPL_EXPECT_HEAVY) should be used rather than
+// PPL_ASSERT (resp., PPL_ASSERT_HEAVY) when the condition is assumed to
+// hold but it is not under library control (typically, it depends on
+// user provided input).
+#define PPL_EXPECT(cond__) PPL_ASSERT(cond__)
+#define PPL_EXPECT_HEAVY(cond__) PPL_ASSERT_HEAVY(cond__)
+
+
+namespace Parma_Polyhedra_Library {
+
+#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
+#define PPL_WEAK_NORETURN __attribute__((weak, noreturn))
+#else
+#define PPL_WEAK_NORETURN __attribute__((noreturn))
 #endif
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Helper function causing program termination by calling \c abort.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_unreachable() PPL_WEAK_NORETURN;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Helper function printing message on \c std::cerr and causing program
+  termination by calling \c abort.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_unreachable_msg(const char* msg,
+                         const char* file, unsigned int line,
+                         const char* function) PPL_WEAK_NORETURN;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Helper function printing an assertion failure message on \c std::cerr
+  and causing program termination by calling \c abort.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_assertion_failed(const char* assertion_text,
+                          const char* file, unsigned int line,
+                          const char* function) PPL_WEAK_NORETURN;
+
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Returns \c true if and only if \p x_copy contains \p y_copy.
+
+  \note
+  This is a helper function for debugging purposes, to be used in assertions.
+  The two arguments are meant to be passed by value, i.e., <em>copied</em>,
+  so that their representations will not be affected by the containment check.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool copy_contains(T x_copy, T y_copy) {
+  return x_copy.contains(y_copy);
+}
+
+} // namespace Parma_Polyhedra_Library
+
 #endif // !defined(PPL_assert_hh)
diff --git a/src/assign_or_swap.hh b/src/assign_or_swap.hh
index a6a6b08..3acdfe5 100644
--- a/src/assign_or_swap.hh
+++ b/src/assign_or_swap.hh
@@ -1,6 +1,6 @@
 /* The assign_or_swap() utility functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_assign_or_swap_hh
 #define PPL_assign_or_swap_hh 1
@@ -55,14 +55,15 @@ assign_or_swap(T& to, T& from) {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() and copies are slow, delegate to std::swap().
+  If there is no assign_or_swap() and copies are slow, delegate to swap().
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
                           && Slow_Copy<T>::value, void>::type
 assign_or_swap(T& to, T& from) {
-  std::swap(to, from);
+  using std::swap;
+  swap(to, from);
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/c_streambuf.cc b/src/c_streambuf.cc
index 3bebaa3..fdd630f 100644
--- a/src/c_streambuf.cc
+++ b/src/c_streambuf.cc
@@ -1,6 +1,6 @@
 /* c_streambuf class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,74 +19,79 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "c_streambuf.defs.hh"
+#include "globals.defs.hh"
+#include "assert.hh"
 
 namespace Parma_Polyhedra_Library {
 
 c_streambuf::int_type
 c_streambuf::uflow() {
   int_type c = underflow();
-  nextc_buf = traits_type::eof();
+  next_char_buf = traits_type::eof();
   return c;
 }
 
 c_streambuf::int_type
 c_streambuf::underflow() {
   const int_type eof = traits_type::eof();
-  if (traits_type::eq_int_type(nextc_buf, eof)) {
+  if (traits_type::eq_int_type(next_char_buf, eof)) {
     char buf;
     if (cb_read(&buf, 1) == 1)
-      nextc_buf = buf;
+      next_char_buf = buf;
     else
-      nextc_buf = eof;
+      next_char_buf = eof;
   }
-  return nextc_buf;
+  return next_char_buf;
 }
 
 std::streamsize
 c_streambuf::xsgetn(char_type* s, std::streamsize n) {
+  PPL_ASSERT(n >= 0);
   if (n == 0)
     return n;
   const int_type eof = traits_type::eof();
-  int a;
-  if (traits_type::eq_int_type(nextc_buf, eof))
+  const size_t sz_n = static_cast<size_t>(n);
+  size_t a;
+  if (traits_type::eq_int_type(next_char_buf, eof))
     a = 0;
   else {
-    s[0] = nextc_buf;
+    s[0] = static_cast<char_type>(next_char_buf);
     a = 1;
   }
-  std::streamsize r = cb_read(s + a, n - a) + a;
+  const size_t r = cb_read(s + a, sz_n - a) + a;
   if (r > 0)
-    ungetc_buf = traits_type::to_int_type(s[r - 1]);
+    unget_char_buf = traits_type::to_int_type(s[r - 1]);
   else
-    ungetc_buf = traits_type::eof();
-  return r;
+    unget_char_buf = traits_type::eof();
+  return static_cast<std::streamsize>(r);
 }
 
 c_streambuf::int_type
 c_streambuf::pbackfail(int_type c) {
   const int_type eof = traits_type::eof();
-  nextc_buf = traits_type::eq_int_type(c, eof) ? ungetc_buf : c;
-  ungetc_buf = eof;
-  return nextc_buf;
+  next_char_buf = traits_type::eq_int_type(c, eof) ? unget_char_buf : c;
+  unget_char_buf = eof;
+  return next_char_buf;
 }
 
 std::streamsize
 c_streambuf::xsputn(const char_type* s, std::streamsize n) {
-  return cb_write(s, n);
+  PPL_ASSERT(n >= 0);
+  size_t r = cb_write(s, static_cast<size_t>(n));
+  return static_cast<std::streamsize>(r);
 }
 
 c_streambuf::int_type
 c_streambuf::overflow(int_type c) {
   const int_type eof = traits_type::eof();
   if (traits_type::eq_int_type(c, eof))
-    return sync() ? eof : traits_type::not_eof(c);
+    return (sync() != 0) ? eof : traits_type::not_eof(c);
   else {
-    char buf = c;
+    char buf = static_cast<char>(c);
     if (cb_write(&buf, 1) == 1)
       return c;
     else
diff --git a/src/c_streambuf.defs.hh b/src/c_streambuf.defs.hh
index db2182b..2a349af 100644
--- a/src/c_streambuf.defs.hh
+++ b/src/c_streambuf.defs.hh
@@ -1,6 +1,6 @@
 /* c_streambuf class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_c_streambuf_defs_hh
 #define PPL_c_streambuf_defs_hh 1
 
 #include "c_streambuf.types.hh"
 #include <streambuf>
+#include <cstddef>
 
 class Parma_Polyhedra_Library::c_streambuf
   : public std::basic_streambuf<char, std::char_traits<char> > {
@@ -43,7 +44,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  int_type underflow();
+  virtual int_type underflow();
 
   /*! \brief
     In case of underflow, gets a character and advances the next pointer.
@@ -51,7 +52,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  int_type uflow();
+  virtual int_type uflow();
 
   /*! \brief
     Gets a sequence of characters.
@@ -59,7 +60,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  std::streamsize xsgetn(char_type* s, std::streamsize n);
+  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
 
   /*! \brief
     Puts character back in case of backup underflow.
@@ -67,7 +68,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
   */
-  int_type pbackfail(int_type c = traits_type::eof());
+  virtual int_type pbackfail(int_type c = traits_type::eof());
 
   /*! \brief
     Writes a sequence of characters.
@@ -75,21 +76,21 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
   */
-  std::streamsize xsputn(const char_type* s, std::streamsize n);
+  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
 
   /*! \brief
     Writes a character in case of overflow.
 
     Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
   */
-  int_type overflow(int_type c);
+  virtual int_type overflow(int_type c);
 
   /*! \brief
     Synchronizes the stream buffer.
 
     Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
   */
-  int sync();
+  virtual int sync();
 
 private:
   //! Character type of the streambuf.
@@ -102,10 +103,10 @@ private:
   typedef traits_type::int_type int_type;
 
   //! Buffer for the last character read.
-  int_type ungetc_buf;
+  int_type unget_char_buf;
 
   //! Buffer for next character
-  int_type nextc_buf;
+  int_type next_char_buf;
 
   virtual size_t cb_read(char *, size_t) {
     return 0;
diff --git a/src/c_streambuf.inlines.hh b/src/c_streambuf.inlines.hh
index 031632d..d15af79 100644
--- a/src/c_streambuf.inlines.hh
+++ b/src/c_streambuf.inlines.hh
@@ -1,6 +1,6 @@
 /* c_streambuf class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_c_streambuf_inlines_hh
 #define PPL_c_streambuf_inlines_hh 1
@@ -28,7 +28,7 @@ namespace Parma_Polyhedra_Library {
 
 inline
 c_streambuf::c_streambuf()
-  : ungetc_buf(traits_type::eof()), nextc_buf(traits_type::eof()) {
+  : unget_char_buf(traits_type::eof()), next_char_buf(traits_type::eof()) {
 }
 
 inline
diff --git a/src/c_streambuf.types.hh b/src/c_streambuf.types.hh
index cfa256f..ece3919 100644
--- a/src/c_streambuf.types.hh
+++ b/src/c_streambuf.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/checked.cc b/src/checked.cc
index e428109..bd6c118 100644
--- a/src/checked.cc
+++ b/src/checked.cc
@@ -1,6 +1,6 @@
-/* Helper functions for checked numbers
+/* Helper functions for checked numbers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,11 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "checked.defs.hh"
-#include <climits>
+#include "C_Integer.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -51,17 +51,51 @@ struct number_struct {
   association; returns \f$-1\f$ otherwise.
 */
 inline int
-get_digit(int c, int base = 10) {
-  if (c >= '0' && c < '0' + (base > 10 ? 10 : base))
-    return c - '0';
-  if (base > 10) {
-    base -= 10;
-    if (c >= 'A' && c < 'A' + base)
-      return c - 'A' + 10;
-    if (c >= 'a' && c < 'a' + base)
-      return c - 'a' + 10;
+get_digit(char c, unsigned int base = 10) {
+  unsigned int n;
+  switch (c) {
+  case '0': n = 0; break;
+  case '1': n = 1; break;
+  case '2': n = 2; break;
+  case '3': n = 3; break;
+  case '4': n = 4; break;
+  case '5': n = 5; break;
+  case '6': n = 6; break;
+  case '7': n = 7; break;
+  case '8': n = 8; break;
+  case '9': n = 9; break;
+  case 'a': case 'A': n = 10; break;
+  case 'b': case 'B': n = 11; break;
+  case 'c': case 'C': n = 12; break;
+  case 'd': case 'D': n = 13; break;
+  case 'e': case 'E': n = 14; break;
+  case 'f': case 'F': n = 15; break;
+  case 'g': case 'G': n = 16; break;
+  case 'h': case 'H': n = 17; break;
+  case 'i': case 'I': n = 18; break;
+  case 'j': case 'J': n = 19; break;
+  case 'k': case 'K': n = 20; break;
+  case 'l': case 'L': n = 21; break;
+  case 'm': case 'M': n = 22; break;
+  case 'n': case 'N': n = 23; break;
+  case 'o': case 'O': n = 24; break;
+  case 'p': case 'P': n = 25; break;
+  case 'q': case 'Q': n = 26; break;
+  case 'r': case 'R': n = 27; break;
+  case 's': case 'S': n = 28; break;
+  case 't': case 'T': n = 29; break;
+  case 'u': case 'U': n = 30; break;
+  case 'v': case 'V': n = 31; break;
+  case 'w': case 'W': n = 32; break;
+  case 'x': case 'X': n = 33; break;
+  case 'y': case 'Y': n = 34; break;
+  case 'z': case 'Z': n = 35; break;
+  default:
+    return -1;
   }
-  return -1;
+  if (n >= base)
+    return -1;
+  return static_cast<int>(n);
 }
 
 /*! \brief
@@ -73,9 +107,9 @@ get_digit(int c, int base = 10) {
 */
 inline bool
 sum_sign(bool& a_neg, unsigned long& a_mod,
-	 bool b_neg, unsigned long b_mod) {
+         bool b_neg, unsigned long b_mod) {
   if (a_neg == b_neg) {
-    if (a_mod > ULONG_MAX - b_mod)
+    if (a_mod > C_Integer<unsigned long>::max - b_mod)
       return false;
     a_mod += b_mod;
   }
@@ -91,34 +125,36 @@ sum_sign(bool& a_neg, unsigned long& a_mod,
 
 /*! \brief
   Helper function for parse_number(): reads the numerator or
-  denominator part of a number from \p is into \p num, returning the
+  denominator part of a number from \p is into \p numer, returning the
   appropriate Result value.
 */
 Result
-parse_number_part(std::istream& is, number_struct& num) {
+parse_number_part(std::istream& is, number_struct& numer) {
   enum anonymous_enum { BASE, INTEGER, FRACTIONAL, EXPONENT } state = BASE;
   PPL_UNINITIALIZED(unsigned long, max_exp_div);
   PPL_UNINITIALIZED(int, max_exp_rem);
   bool empty_exponent = true;
   bool empty_mantissa = true;
   long exponent_offset = 0;
-  long exponent_offset_scale = 1;
-  num.base = 10;
-  num.base_for_exponent = 10;
-  num.neg_mantissa = false;
-  num.neg_exponent = false;
-  num.mantissa.erase();
-  num.exponent = 0;
-  int c;
+  unsigned exponent_offset_scale = 1;
+  numer.base = 10;
+  numer.base_for_exponent = 10;
+  numer.neg_mantissa = false;
+  numer.neg_exponent = false;
+  numer.mantissa.erase();
+  numer.exponent = 0;
+  char c;
   do {
-    c = is.get();
-  } while (isspace(c));
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
+  } while (is_space(c));
   switch (c) {
   case '-':
-    num.neg_mantissa = true;
+    numer.neg_mantissa = true;
     // Fall through.
   case '+':
-    c = is.get();
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     if (c == 'i' || c == 'I')
       goto inf;
     if (c != '.')
@@ -126,158 +162,166 @@ parse_number_part(std::istream& is, number_struct& num) {
     // Fall through.
   case '.':
     state = FRACTIONAL;
-    c = is.get();
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     break;
   case 'n':
   case 'N':
-    c = is.get();
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     if (c != 'a' && c != 'A')
-      goto error;
-    c = is.get();
+      goto unexpected;
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     if (c != 'n' && c != 'N')
-      goto error;
+      goto unexpected;
     return V_NAN;
   inf:
   case 'i':
   case 'I':
-    c = is.get();
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     if (c != 'n' && c != 'n')
-      goto error;
-    c = is.get();
+      goto unexpected;
+    if (!is.get(c))
+      return V_CVT_STR_UNK;
     if (c != 'f' && c != 'F')
-      goto error;
-    return num.neg_mantissa ? V_EQ_MINUS_INFINITY : V_EQ_PLUS_INFINITY;
+      goto unexpected;
+    return numer.neg_mantissa ? V_EQ_MINUS_INFINITY : V_EQ_PLUS_INFINITY;
   }
   if (state != FRACTIONAL) {
     if (get_digit(c, 10) < 0)
-      goto error;
-    if (c == '0') {
-      int d = is.get();
+      goto unexpected;
+    char d;
+    if (c == '0' && !is.get(d).fail()) {
       if (d == 'x' || d == 'X') {
-        num.base = 16;
-        num.base_for_exponent = 16;
+        numer.base = 16;
+        numer.base_for_exponent = 16;
         state = INTEGER;
-        c = is.get();
-      }
-      else {
-        c = d;
-        empty_mantissa = false;
+        if (!is.get(c))
+          return V_CVT_STR_UNK;
       }
-    }
-    else {
-      num.mantissa += (char) c;
-      empty_mantissa = false;
-      c = is.get();
+      else
+        is.unget();
     }
   }
-  while (true) {
+  do {
     switch (state) {
     case BASE:
       if (get_digit(c, 10) >= 0) {
-	if (c != '0' || !num.mantissa.empty())
-	  num.mantissa += (char) c;
-	empty_mantissa = false;
-	break;
+        if (c != '0' || !numer.mantissa.empty())
+          numer.mantissa += c;
+        empty_mantissa = false;
+        break;
       }
       if (c == '^') {
-	c = is.get();
-	if (c != '^')
-	  goto error;
-	std::string::const_iterator i;
-	num.base = 0;
-	for (i = num.mantissa.begin(); i != num.mantissa.end(); i++) {
-	  num.base = num.base * 10 + (*i - '0');
-	  if (num.base > 36)
-	    goto error;
-	}
-	if (num.base < 2)
-	  goto error;
-        num.base_for_exponent = num.base;
-	num.mantissa.erase();
-	empty_mantissa = true;
-	state = INTEGER;
-	break;
+        if (!is.get(c))
+          return V_CVT_STR_UNK;
+        if (c != '^')
+          goto unexpected;
+        numer.base = 0;
+        for (std::string::const_iterator
+               i = numer.mantissa.begin(); i != numer.mantissa.end(); ++i) {
+          numer.base = numer.base * 10 + static_cast<unsigned>(get_digit(*i, 10));
+          if (numer.base > 36)
+            goto unexpected;
+        }
+        if (numer.base < 2)
+          goto unexpected;
+        numer.base_for_exponent = numer.base;
+        numer.mantissa.erase();
+        empty_mantissa = true;
+        state = INTEGER;
+        break;
       }
       goto integer;
     case INTEGER:
-      if (get_digit(c, num.base) >= 0) {
-	if (c != '0' || !num.mantissa.empty())
-	  num.mantissa += (char) c;
-	empty_mantissa = false;
-	break;
+      if (get_digit(c, numer.base) >= 0) {
+        if (c != '0' || !numer.mantissa.empty())
+          numer.mantissa += c;
+        empty_mantissa = false;
+        break;
       }
     integer:
       if (c == '.') {
-	state = FRACTIONAL;
-	break;
+        state = FRACTIONAL;
+        break;
       }
       goto fractional;
     case FRACTIONAL:
-      if (get_digit(c, num.base) >= 0) {
-	--exponent_offset;
-	if (c != '0' || !num.mantissa.empty())
-	  num.mantissa += (char) c;
-	empty_mantissa = false;
-	break;
+      if (get_digit(c, numer.base) >= 0) {
+        --exponent_offset;
+        if (c != '0' || !numer.mantissa.empty())
+          numer.mantissa += c;
+        empty_mantissa = false;
+        break;
       }
     fractional:
       if (empty_mantissa)
-	goto error;
+        goto unexpected;
       if (c == 'e' || c == 'E')
         goto exp;
       if (c == 'p' || c == 'P') {
-        if (num.base == 16) {
-          num.base_for_exponent = 2;
+        if (numer.base == 16) {
+          numer.base_for_exponent = 2;
           exponent_offset_scale = 4;
           goto exp;
         }
         else
-          goto error;
+          goto unexpected;
       }
       if (c == '*') {
-	c = is.get();
-	if (c != '^')
-	  goto error;
+        if (!is.get(c))
+          return V_CVT_STR_UNK;
+        if (c != '^')
+          goto unexpected;
       exp:
-	state = EXPONENT;
-	max_exp_div = LONG_MAX / num.base;
-	max_exp_rem = LONG_MAX % num.base;
-	c = is.get();
-	if (c == '-') {
-	  num.neg_exponent = true;
-	  break;
-	}
-	if (c == '+')
-	  break;
-	continue;
+        state = EXPONENT;
+        PPL_ASSERT(numer.base >= 2);
+        const long l_max = C_Integer<long>::max;
+        max_exp_div = static_cast<unsigned long>(l_max) / numer.base;
+        max_exp_rem = static_cast<int>(l_max % static_cast<long>(numer.base));
+        if (!is.get(c))
+          return V_CVT_STR_UNK;
+        if (c == '-') {
+          numer.neg_exponent = true;
+          break;
+        }
+        if (c == '+')
+          break;
+        continue;
       }
+      is.unget();
       goto ok;
     case EXPONENT:
       int d = get_digit(c, 10);
       if (d >= 0) {
-	empty_exponent = false;
-	if (num.exponent > max_exp_div
-	    || (num.exponent == max_exp_div && d > max_exp_rem))
-	  return V_CVT_STR_UNK;
-	num.exponent = num.exponent * 10 + d;
-	break;
+        empty_exponent = false;
+        if (numer.exponent > max_exp_div
+            || (numer.exponent == max_exp_div && d > max_exp_rem))
+          return V_CVT_STR_UNK;
+        numer.exponent = 10 * numer.exponent + static_cast<unsigned long>(d);
+        break;
       }
       if (empty_exponent)
-	goto error;
+        goto unexpected;
+      is.unget();
       goto ok;
     }
-    c = is.get();
-  }
+    is.get(c);
+  } while (!is.fail());
 
+  if (empty_mantissa || is.bad())
+    return V_CVT_STR_UNK;
+
+ ok:
   {
-  ok:
-    is.unget();
-    unsigned int n = num.mantissa.size();
-    while (n > 0 && num.mantissa[n - 1] == '0') {
+    std::string::size_type n = numer.mantissa.size();
+    while (n > 0 && numer.mantissa[n - 1] == '0') {
       --n;
       ++exponent_offset;
     }
-    num.mantissa.erase(n);
+    numer.mantissa.erase(n);
     bool neg;
     if (exponent_offset < 0) {
       neg = true;
@@ -285,47 +329,55 @@ parse_number_part(std::istream& is, number_struct& num) {
     }
     else
       neg = false;
-    sum_sign(num.neg_exponent, num.exponent,
-	     neg, exponent_offset * exponent_offset_scale);
+    sum_sign(numer.neg_exponent, numer.exponent,
+             neg, static_cast<unsigned long>(exponent_offset) * exponent_offset_scale);
     return V_EQ;
   }
 
- error:
+ unexpected:
   is.unget();
   return V_CVT_STR_UNK;
 }
 
 /* \brief
-   Reads a number from \p is writing it into \p num, the numerator,
-   and \p den, the denominator; the appropriate Result value is
+   Reads a number from \p is writing it into \p numer, the numerator,
+   and \p denom, the denominator; the appropriate Result value is
    returned.
 */
 Result
-parse_number(std::istream& is, number_struct& num, number_struct& den) {
+parse_number(std::istream& is, number_struct& numer, number_struct& denom) {
   // Read the numerator.
-  Result r = parse_number_part(is, num);
+  Result r = parse_number_part(is, numer);
   if (r != V_EQ)
     return r;
-  if (is.get() != '/') {
+  char c;
+  is.get(c);
+  if (is.bad())
+    return V_CVT_STR_UNK;
+  if (!is) {
+    denom.base = 0;
+    return r;
+  }
+  if (c != '/') {
     is.unget();
-    den.base = 0;
+    denom.base = 0;
     return r;
   }
   // Read the denominator.
-  r = parse_number_part(is, den);
+  r = parse_number_part(is, denom);
   if (r != V_EQ)
     return V_CVT_STR_UNK;
-  if (num.base == den.base
-      && num.base_for_exponent == den.base_for_exponent) {
-    if (sum_sign(num.neg_exponent, num.exponent,
-		 !den.neg_exponent, den.exponent)) {
-      if (num.neg_exponent) {
-	den.neg_exponent = false;
-	den.exponent = num.exponent;
-	num.exponent = 0;
+  if (numer.base == denom.base
+      && numer.base_for_exponent == denom.base_for_exponent) {
+    if (sum_sign(numer.neg_exponent, numer.exponent,
+                 !denom.neg_exponent, denom.exponent)) {
+      if (numer.neg_exponent) {
+        denom.neg_exponent = false;
+        denom.exponent = numer.exponent;
+        numer.exponent = 0;
       }
       else
-	den.exponent = 0;
+        denom.exponent = 0;
     }
   }
   return V_EQ;
@@ -334,9 +386,9 @@ parse_number(std::istream& is, number_struct& num, number_struct& den) {
 
 Result
 input_mpq(mpq_class& to, std::istream& is) {
-  number_struct num_struct;
-  number_struct den_struct;
-  Result r = parse_number(is, num_struct, den_struct);
+  number_struct numer_struct;
+  number_struct denom_struct;
+  Result r = parse_number(is, numer_struct, denom_struct);
   if (r == V_CVT_STR_UNK) {
     is.setstate(is.failbit);
     return r;
@@ -344,57 +396,63 @@ input_mpq(mpq_class& to, std::istream& is) {
   is.clear(is.rdstate() & ~is.failbit);
   if (r != V_EQ)
     return r;
-  if (den_struct.base && den_struct.mantissa.empty())
+  if (denom_struct.base != 0 && denom_struct.mantissa.empty())
       return V_NAN;
-  if (num_struct.mantissa.empty()) {
+  if (numer_struct.mantissa.empty()) {
     to = 0;
     return V_EQ;
   }
-  mpz_ptr num = to.get_num().get_mpz_t();
-  mpz_ptr den = to.get_den().get_mpz_t();
-  mpz_set_str(num, num_struct.mantissa.c_str(), num_struct.base);
-  if (den_struct.base) {
-    if (num_struct.neg_mantissa ^ den_struct.neg_mantissa)
-      mpz_neg(num, num);
-    mpz_set_str(den, den_struct.mantissa.c_str(), den_struct.base);
-    if (num_struct.exponent || den_struct.exponent) {
+  mpz_ptr numer = to.get_num().get_mpz_t();
+  mpz_ptr denom = to.get_den().get_mpz_t();
+  mpz_set_str(numer, numer_struct.mantissa.c_str(),
+              static_cast<int>(numer_struct.base));
+  if (denom_struct.base != 0) {
+    if (numer_struct.neg_mantissa != denom_struct.neg_mantissa)
+      mpz_neg(numer, numer);
+    mpz_set_str(denom, denom_struct.mantissa.c_str(),
+                static_cast<int>(denom_struct.base));
+    if (numer_struct.exponent != 0 || denom_struct.exponent != 0) {
       // Multiply the exponents into the numerator and denominator.
       mpz_t z;
       mpz_init(z);
-      if (num_struct.exponent) {
-        mpz_ui_pow_ui(z, num_struct.base_for_exponent, num_struct.exponent);
-	if (num_struct.neg_exponent)
-	  mpz_mul(den, den, z);
-	else
-	  mpz_mul(num, num, z);
+      if (numer_struct.exponent != 0) {
+        mpz_ui_pow_ui(z,
+                      numer_struct.base_for_exponent, numer_struct.exponent);
+        if (numer_struct.neg_exponent)
+          mpz_mul(denom, denom, z);
+        else
+          mpz_mul(numer, numer, z);
       }
-      if (den_struct.exponent) {
-        mpz_ui_pow_ui(z, den_struct.base_for_exponent, den_struct.exponent);
-	if (den_struct.neg_exponent)
-	  mpz_mul(num, num, z);
-	else
-	  mpz_mul(den, den, z);
+      if (denom_struct.exponent != 0) {
+        mpz_ui_pow_ui(z,
+                      denom_struct.base_for_exponent, denom_struct.exponent);
+        if (denom_struct.neg_exponent)
+          mpz_mul(numer, numer, z);
+        else
+          mpz_mul(denom, denom, z);
       }
       mpz_clear(z);
     }
   }
   else {
-    if (num_struct.neg_mantissa)
-      mpz_neg(num, num);
-    if (num_struct.exponent) {
-      if (num_struct.neg_exponent) {
-	// Add the negative exponent as a denominator.
-        mpz_ui_pow_ui(den, num_struct.base_for_exponent, num_struct.exponent);
-	goto end;
+    if (numer_struct.neg_mantissa)
+      mpz_neg(numer, numer);
+    if (numer_struct.exponent != 0) {
+      if (numer_struct.neg_exponent) {
+        // Add the negative exponent as a denominator.
+        mpz_ui_pow_ui(denom,
+                      numer_struct.base_for_exponent, numer_struct.exponent);
+        goto end;
       }
       // Multiply the exponent into the numerator.
       mpz_t z;
       mpz_init(z);
-      mpz_ui_pow_ui(z, num_struct.base_for_exponent, num_struct.exponent);
-      mpz_mul(num, num, z);
+      mpz_ui_pow_ui(z,
+                    numer_struct.base_for_exponent, numer_struct.exponent);
+      mpz_mul(numer, numer, z);
       mpz_clear(z);
     }
-    mpz_set_ui(den, 1);
+    mpz_set_ui(denom, 1);
     return V_EQ;
   }
  end:
@@ -403,6 +461,39 @@ input_mpq(mpq_class& to, std::istream& is) {
   return V_EQ;
 }
 
+/* NOTE: q is overwritten! */
+std::string float_mpq_to_string(mpq_class& q) {
+  mpz_ptr n = q.get_num().get_mpz_t();
+  mpz_ptr d = q.get_den().get_mpz_t();
+  unsigned long decimals = mpz_sizeinbase(d, 2) - 1;
+  if (decimals != 0) {
+    mpz_ui_pow_ui(d, 5, decimals);
+    mpz_mul(n, n, d);
+  }
+  size_t bufsize = mpz_sizeinbase(n, 10);
+  if (bufsize < decimals)
+    bufsize = decimals + 4;
+  else
+    bufsize += 3;
+  char buf[bufsize];
+  mpz_get_str(buf, 10, n);
+  if (decimals != 0) {
+    size_t len = strlen(buf);
+    if (decimals < len) {
+      memmove(&buf[len - decimals + 1], &buf[len - decimals], decimals + 1);
+      buf[len - decimals] = '.';
+    }
+    else {
+      size_t zeroes = decimals - len;
+      memmove(&buf[2 + zeroes], &buf[0], len + 1);
+      buf[0] = '0';
+      buf[1] = '.';
+      memset(&buf[2], '0', zeroes);
+    }
+  }
+  return buf;
+}
+
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/checked.defs.hh b/src/checked.defs.hh
index 462769a..c04cf36 100644
--- a/src/checked.defs.hh
+++ b/src/checked.defs.hh
@@ -1,6 +1,6 @@
-/* Abstract checked arithmetic function container
+/* Abstract checked arithmetic function container.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_defs_hh
 #define PPL_checked_defs_hh 1
 
+#include <cassert>
 #include <iostream>
 #include <gmpxx.h>
 #include "mp_std_bits.defs.hh"
@@ -44,28 +45,32 @@ namespace Checked {
 
 #define PPL_FUNCTION_CLASS(name) name ## _function_struct
 
-#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)            \
-  template <typename Policy, typename type>                         \
-  struct PPL_FUNCTION_CLASS(name);                                  \
-  template <typename Policy, typename type>                         \
-  inline ret_type name(qual type& arg) {                            \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg);   \
-}
+#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)                \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg) {           \
+    return PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg); \
+  }
 
 #define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)        \
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1) {                     \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1);   \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg, PPL_U(after1) a1) { \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg, a1); \
   }
 
 #define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1, after2 a2) {          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg, PPL_U(after1) a1, \
+                       PPL_U(after2) a2) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg,      \
+                                                              a1, a2);  \
   }
 
 #define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type,                \
@@ -73,18 +78,24 @@ namespace Checked {
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg,                                  \
-                       after1 a1, after2 a2, after3 a3) {               \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg,        \
-                                                            a1, a2, a3); \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg,             \
+                       PPL_U(after1) a1, PPL_U(after2) a2,              \
+                       PPL_U(after3) a3) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg,      \
+                                                              a1, a2,   \
+                                                              a3);      \
   }
 
 #define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg, after1 a1) {         \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(qual) PPL_U(type)& arg, \
+                       PPL_U(after1) a1) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, arg,  \
+                                                              a1);      \
   }
 
 #define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type,       \
@@ -92,10 +103,11 @@ namespace Checked {
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg,                      \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg,    \
-                                                            a1, a2);    \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(qual) PPL_U(type)& arg, \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, arg,  \
+                                                              a1, a2);  \
   }
 
 #define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, \
@@ -103,10 +115,13 @@ namespace Checked {
   template <typename Policy, typename type>                             \
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, before2 b2, qual type& arg,          \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, \
-                                                            a1, a2);    \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(before2) b2,     \
+                       PPL_U(qual) PPL_U(type)& arg,                    \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, b2,   \
+                                                              arg,      \
+                                                              a1, a2);  \
   }
 
 #define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
@@ -115,22 +130,24 @@ namespace Checked {
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy1, typename Policy2,                         \
             typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) {          \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2) {               \
     return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2);                              \
+      type1, PPL_U(type2)>::function(arg1, arg2);                       \
   }
 
-#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,              \
-                             qual2, type2, after1)                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1) {                                     \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1);                          \
+#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,      \
+                             qual2, type2, after1)              \
+  template <typename Policy1, typename Policy2,                 \
+            typename type1, typename type2>                     \
+  struct PPL_FUNCTION_CLASS(name);                              \
+  template <typename Policy1, typename Policy2,                 \
+            typename type1, typename type2>                     \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,  \
+                       PPL_U(qual2) PPL_U(type2)& arg2,         \
+                       PPL_U(after1) a1) {                      \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,           \
+      type1, PPL_U(type2)>::function(arg1, arg2, a1);           \
   }
 
 #define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, \
@@ -140,10 +157,11 @@ namespace Checked {
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy1, typename Policy2,                         \
             typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1, after2 a2) {                          \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2,                 \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
     return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1, a2);                      \
+      type1, PPL_U(type2)>::function(arg1, arg2, a1, a2);               \
   }
 
 #define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1,              \
@@ -153,10 +171,13 @@ namespace Checked {
   struct PPL_FUNCTION_CLASS(name);                                      \
   template <typename Policy1, typename Policy2, typename Policy3,       \
             typename type1, typename type2, typename type3>             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       qual3 type3& arg3, after1 a1) {                  \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2,                 \
+                       PPL_U(qual3) PPL_U(type3)& arg3,                 \
+                       PPL_U(after1) a1) {                              \
     return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      type1, type2, type3>::function(arg1, arg2, arg3, a1);             \
+      type1, type2, PPL_U(type3)>                                       \
+      ::function(arg1, arg2, arg3, a1);                                 \
   }
 
 #define PPL_DECLARE_FUN5_0_1(name, ret_type,				\
@@ -172,109 +193,127 @@ namespace Checked {
             typename Policy4,typename Policy5,				\
             typename type1, typename type2, typename type3,		\
             typename type4, typename type5>				\
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,		\
-                       qual3 type3& arg3, qual4 type4& arg4,		\
-                       qual5 type5& arg5,	after1 a1) {            \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1, PPL_U(qual2) \
+                       PPL_U(type2)& arg2,                              \
+                       PPL_U(qual3) PPL_U(type3)& arg3, PPL_U(qual4)    \
+                       PPL_U(type4)& arg4,                              \
+                       PPL_U(qual5) PPL_U(type5)& arg5,                 \
+                       PPL_U(after1) a1) {                              \
     return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      Policy4, Policy5, type1, type2, type3, type4, type5>              \
+      Policy4, Policy5,                                                 \
+      type1, type2,                                                     \
+      type3, type4,                                                     \
+      PPL_U(type5)>                                                     \
       ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
   }
 
 #define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)       \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg) {                   \
-      return func<Policy>(arg);                                         \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg) {     \
+      return PPL_U(func)<Policy>(arg);                                  \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg, after1 a1) {        \
-      return func<Policy>(arg, a1);                                     \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy>(arg, a1);                              \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type,       \
                                 after1, after2)                         \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(arg, a1, a2);                                 \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(arg, a1, a2);                          \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type,       \
                                 after1, after2, after3)                 \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2, after3 a3) {  \
-      return func<Policy>(arg, a1, a2, a3);                             \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2, \
+                                    PPL_U(after3) a3) {                 \
+      return PPL_U(func)<Policy>(arg, a1, a2, a3);                      \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1,          \
                                 qual, type, after1)                     \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1) {                        \
-      return func<Policy>(b1, arg, a1);                                 \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(qual)      \
+                                    PPL_U(type)& arg,                   \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy>(b1, arg, a1);                          \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1,          \
                                 qual, type, after1, after2)             \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, arg, a1, a2);                             \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(qual)      \
+                                    PPL_U(type)& arg,                   \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(b1, arg, a1, a2);                      \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, \
                                 qual, type, after1, after2)             \
   template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, before2 b2,             \
-                                    qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, b2, arg, a1, a2);                         \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(before2) b2, \
+                                    PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(b1, b2, arg, a1, a2);                  \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1,     \
                                 qual2, type2)                           \
   template <typename Policy1, typename Policy2>				\
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2) {                \
-      return func<Policy1, Policy2>(arg1, arg2);                        \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2) {  \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2);                 \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1,     \
                                 qual2, type2, after1)                   \
   template <typename Policy1, typename Policy2>                         \
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2, after1 a1) {     \
-      return func<Policy1, Policy2>(arg1, arg2, a1);                    \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2,    \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2, a1);             \
     }                                                                   \
   };
 
 #define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1,     \
                                 qual2, type2, after1, after2)           \
   template <typename Policy1, typename Policy2>                         \
- struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {      \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2,                  \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy1, Policy2>(arg1, arg2, a1, a2);                \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2,    \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2, a1, a2);         \
     }                                                                   \
   };
 
@@ -282,10 +321,14 @@ namespace Checked {
                                 qual2, type2, qual3, type3, after1)     \
   template <typename Policy1, typename Policy2, typename Policy3>       \
   struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3,           \
-                                   type1, type2, type3> {               \
-    static inline Result function(qual1 type1& arg1, qual2 type2 &arg2, \
-                                  qual3 type3 &arg3, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3>(arg1, arg2, arg3, a1);     \
+                                   type1, type2,                        \
+                                   PPL_U(type3)> {                      \
+    static inline Result function(PPL_U(qual1) PPL_U(type1)& arg1,      \
+                                  PPL_U(qual2) PPL_U(type2) &arg2,      \
+                                  PPL_U(qual3) PPL_U(type3) &arg3,      \
+                                  PPL_U(after1) a1) {                   \
+      return PPL_U(func)<Policy1, Policy2, Policy3>(arg1, arg2, arg3,   \
+                                                    a1);                \
     }                                                                   \
   };
 
@@ -297,18 +340,19 @@ namespace Checked {
 	    typename Policy4, typename Policy5>				\
   struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3, Policy4,  \
                                    Policy5,                             \
-                                   type1, type2, type3, type4, type5> {	\
+                                   type1, type2,                        \
+                                   type3, type4,                        \
+                                   PPL_U(type5)> {                      \
     static inline Result                                                \
-      function(qual1 type1& arg1, qual2 type2 &arg2, qual3 type3 &arg3,	\
-               qual4 type4 &arg4, qual5 type5 &arg5, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3, Policy4, Policy5>(arg1,    \
-                                                               arg2,    \
-                                                               arg3,    \
-                                                               arg4,    \
-                                                               arg5,    \
-                                                               a1);     \
+      function(PPL_U(qual1) PPL_U(type1)& arg1, PPL_U(qual2)            \
+               PPL_U(type2) &arg2,                                      \
+               PPL_U(qual3) PPL_U(type3) &arg3, PPL_U(qual4)            \
+               PPL_U(type4) &arg4,                                      \
+               PPL_U(qual5) PPL_U(type5) &arg5, PPL_U(after1) a1) {     \
+      return PPL_U(func)<Policy1, Policy2, Policy3, Policy4,            \
+        Policy5>(arg1, arg2, arg3, arg4, arg5, a1);                     \
     }									\
-};
+  };
 
 // The `nonconst' macro helps readability of the sequel.
 #ifdef nonconst
@@ -319,7 +363,7 @@ namespace Checked {
 
 #define PPL_SPECIALIZE_COPY(func, Type)                                 \
   PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
-#define PPL_SPECIALIZE_SGN(func, From)                          \
+#define PPL_SPECIALIZE_SGN(func, From)                                  \
   PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
 #define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
   PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
@@ -340,28 +384,28 @@ namespace Checked {
   PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
                           Type, Result_Class, Rounding_Dir)
 #define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
-  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, \
+  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To,        \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ASSIGN(func, To, From)                           \
-  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,           \
+#define PPL_SPECIALIZE_ASSIGN(func, To, From)                   \
+  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,   \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_FLOOR(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,            \
+#define PPL_SPECIALIZE_FLOOR(func, To, From)                    \
+  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,    \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_CEIL(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, \
+#define PPL_SPECIALIZE_CEIL(func, To, From)                     \
+  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To,     \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_TRUNC(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,            \
+#define PPL_SPECIALIZE_TRUNC(func, To, From)                    \
+  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,    \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_NEG(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,              \
+#define PPL_SPECIALIZE_NEG(func, To, From)                      \
+  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,      \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ABS(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,              \
+#define PPL_SPECIALIZE_ABS(func, To, From)                      \
+  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,      \
                           const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_SQRT(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,             \
+#define PPL_SPECIALIZE_SQRT(func, To, From)                     \
+  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,     \
                           const, From, Rounding_Dir)
 #define PPL_SPECIALIZE_ADD(func, To, From1, From2)                      \
   PPL_SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To,              \
@@ -415,12 +459,12 @@ namespace Checked {
 #define PPL_SPECIALIZE_LCM(func, To, From1, From2)                      \
   PPL_SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To,              \
                           const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_INPUT(func, Type)                                \
-  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,          \
+#define PPL_SPECIALIZE_INPUT(func, Type)                        \
+  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,  \
                           std::istream&, Rounding_Dir)
-#define PPL_SPECIALIZE_OUTPUT(func, Type)                               \
-  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,          \
-                          const, Type,                                  \
+#define PPL_SPECIALIZE_OUTPUT(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,  \
+                          const, Type,                          \
                           const Numeric_Format&, Rounding_Dir)
 
 
@@ -535,6 +579,8 @@ Result round(To& to, Result r, Rounding_Dir dir);
 
 Result input_mpq(mpq_class& to, std::istream& is);
 
+std::string float_mpq_to_string(mpq_class& q);
+
 } // namespace Checked
 
 struct Minus_Infinity {
diff --git a/src/checked.inlines.hh b/src/checked.inlines.hh
index 6bdf2f1..44eea27 100644
--- a/src/checked.inlines.hh
+++ b/src/checked.inlines.hh
@@ -1,6 +1,6 @@
 /* Abstract checked arithmetic functions: fall-backs.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_inlines_hh
 #define PPL_checked_inlines_hh 1
@@ -32,8 +32,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 /*! \brief
   Performs the test <CODE>a < b</CODE> avoiding the warning about the
   comparison being always false due to limited range of data type.
-  FIXME: we don't have found a working solution. gcc option
-  -Wno-type-limits suppress the warning
+  FIXME: we have not found a working solution. The GCC option
+  -Wno-type-limits suppresses the warning
 */
 #define PPL_LT_SILENT(a, b) ((a) < (b))
 #define PPL_GT_SILENT(a, b) ((a) > (b))
@@ -49,8 +49,9 @@ template <typename T>
 struct Safe_Conversion<T, T> : public True {
 };
 
-#define PPL_SAFE_CONVERSION(To, From)					\
-  template <> struct Safe_Conversion<To, From> : public True { }
+#define PPL_SAFE_CONVERSION(To, From)                        \
+  template <> struct Safe_Conversion<PPL_U(To), PPL_U(From)> \
+    : public True { }
 
 #if PPL_CXX_PLAIN_CHAR_IS_SIGNED
 PPL_SAFE_CONVERSION(signed short, char);
@@ -221,27 +222,27 @@ PPL_SAFE_CONVERSION(mpz_class, signed char);
 PPL_SAFE_CONVERSION(mpz_class, signed short);
 PPL_SAFE_CONVERSION(mpz_class, signed int);
 PPL_SAFE_CONVERSION(mpz_class, signed long);
-//PPL_SAFE_CONVERSION(mpz_class, signed long long);
+// GMP's API does not support signed long long.
 PPL_SAFE_CONVERSION(mpz_class, unsigned char);
 PPL_SAFE_CONVERSION(mpz_class, unsigned short);
 PPL_SAFE_CONVERSION(mpz_class, unsigned int);
 PPL_SAFE_CONVERSION(mpz_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpz_class, unsigned long long);
+// GMP's API does not support unsigned long long.
 
 PPL_SAFE_CONVERSION(mpq_class, char);
 PPL_SAFE_CONVERSION(mpq_class, signed char);
 PPL_SAFE_CONVERSION(mpq_class, signed short);
 PPL_SAFE_CONVERSION(mpq_class, signed int);
 PPL_SAFE_CONVERSION(mpq_class, signed long);
-//PPL_SAFE_CONVERSION(mpq_class, signed long long);
+// GMP's API does not support signed long long.
 PPL_SAFE_CONVERSION(mpq_class, unsigned char);
 PPL_SAFE_CONVERSION(mpq_class, unsigned short);
 PPL_SAFE_CONVERSION(mpq_class, unsigned int);
 PPL_SAFE_CONVERSION(mpq_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpq_class, unsigned long long);
+// GMP's API does not support unsigned long long.
 PPL_SAFE_CONVERSION(mpq_class, float);
 PPL_SAFE_CONVERSION(mpq_class, double);
-//PPL_SAFE_CONVERSION(mpq_class, long double);
+// GMP's API does not support long double.
 
 #undef PPL_SAFE_CONVERSION
 
@@ -294,26 +295,27 @@ abs_generic(To& to, const From& from, Rounding_Dir dir) {
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 	  typename To, typename From>
 inline void
-gcd_exact_noabs(To& to, const From& x, const From& y) {
-  To nx = x;
-  To ny = y;
-  To rm;
-  while (ny != 0) {
-    // The following is derived from the assumption that x % y
+gcd_exact_no_abs(To& to, const From& x, const From& y) {
+  To w_x = x;
+  To w_y = y;
+  To remainder;
+  while (w_y != 0) {
+    // The following is derived from the assumption that w_x % w_y
     // is always representable. This is true for both native integers
     // and IEC 559 floating point numbers.
-    rem<To_Policy, From1_Policy, From2_Policy>(rm, nx, ny, ROUND_NOT_NEEDED);
-    nx = ny;
-    ny = rm;
+    rem<To_Policy, From1_Policy, From2_Policy>(remainder, w_x, w_y,
+                                               ROUND_NOT_NEEDED);
+    w_x = w_y;
+    w_y = remainder;
   }
-  to = nx;
+  to = w_x;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
 	  typename To, typename From1, typename From2>
 inline Result
 gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
+  gcd_exact_no_abs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
   return abs<To_Policy, To_Policy>(to, to, dir);
 }
 
@@ -354,8 +356,8 @@ gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
   if (r != V_EQ)
     return r;
 
-  From2 ay;
-  r = abs<To1_Policy, From2_Policy>(ay, y, dir);
+  From2 a_y;
+  r = abs<To1_Policy, From2_Policy>(a_y, y, dir);
   if (r != V_EQ)
     return r;
 
@@ -365,14 +367,14 @@ gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
   // way round.  This is to match the behavior of GMP.
 #define PPL_MATCH_GMP_GCDEXT 1
 #ifdef PPL_MATCH_GMP_GCDEXT
-  if (to == ay)
+  if (to == a_y)
     goto sign_check;
 #endif
 
   {
     To2 v1 = 0;
     To3 v2 = 1;
-    To1 v3 = static_cast<To1>(ay);
+    To1 v3 = static_cast<To1>(a_y);
     while (true) {
       To1 q = to / v3;
       // Remainder, next candidate GCD.
@@ -412,21 +414,22 @@ lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
     to = 0;
     return V_EQ;
   }
-  To nx, ny;
+  To a_x;
+  To a_y;
   Result r;
-  r = abs<From1_Policy, From1_Policy>(nx, x, dir);
+  r = abs<From1_Policy, From1_Policy>(a_x, x, dir);
   if (r != V_EQ)
     return r;
-  r = abs<From2_Policy, From2_Policy>(ny, y, dir);
+  r = abs<From2_Policy, From2_Policy>(a_y, y, dir);
   if (r != V_EQ)
     return r;
   To gcd;
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(gcd, nx, ny);
-  // The following is derived from the assumption that x / gcd(x, y)
+  gcd_exact_no_abs<To_Policy, From1_Policy, From2_Policy>(gcd, a_x, a_y);
+  // The following is derived from the assumption that a_x / gcd(a_x, a_y)
   // is always representable. This is true for both native integers
   // and IEC 559 floating point numbers.
-  div<To_Policy, From1_Policy, To_Policy>(to, nx, gcd, ROUND_NOT_NEEDED);
-  return mul<To_Policy, To_Policy, From2_Policy>(to, to, ny, dir);
+  div<To_Policy, From1_Policy, To_Policy>(to, a_x, gcd, ROUND_NOT_NEEDED);
+  return mul<To_Policy, To_Policy, From2_Policy>(to, to, a_y, dir);
 }
 
 template <typename Policy, typename Type>
@@ -566,10 +569,12 @@ Enable_If<(!Safe_Conversion<T1, T2>::value
            && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
 le(const T1& x, const T2& y) {
   PPL_DIRTY_TEMP(T1, tmp);
-  Result r
-    = assign_r(tmp,
-               y,
-               static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+  Result r = assign_r(tmp, y, (ROUND_UP | ROUND_STRICT_RELATION));
+  // FIXME: We can do this also without fpu inexact check using a
+  // conversion back and forth and then testing equality.  We should
+  // code this in checked_float.inlines.hh, probably it's faster also
+  // if fpu supports inexact check.
+  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
   if (!result_representable(r))
     return true;
   switch (result_relation(r)) {
@@ -580,8 +585,9 @@ le(const T1& x, const T2& y) {
   case VR_LE:
   case VR_GE:
   case VR_LGE:
-    // FIXME: See comment above.
-    PPL_ASSERT(0);
+    // See comment above.
+    PPL_UNREACHABLE;
+    return false;
   default:
     return false;
   }
@@ -629,7 +635,7 @@ assign_nan(Type& to, Result r) {
 template <typename Policy, typename Type>
 inline Result
 input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
-  PPL_DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, q);
   Result r = input_mpq(q, is);
   Result_Class c = result_class(r);
   switch (c) {
diff --git a/src/checked_ext.inlines.hh b/src/checked_ext.inlines.hh
index 4e2cbaa..f02d9be 100644
--- a/src/checked_ext.inlines.hh
+++ b/src/checked_ext.inlines.hh
@@ -1,6 +1,6 @@
 /* Checked extended arithmetic functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_ext_defs_hh
 #define PPL_checked_ext_defs_hh 1
@@ -675,7 +675,7 @@ mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy,
 	  typename To, typename From>
 inline Result
-div_2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
+div_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
   if (!ext_to_handle<From_Policy>(x))
     goto native;
   if (is_nan<From_Policy>(x))
diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh
index 24a795e..42fd370 100644
--- a/src/checked_float.inlines.hh
+++ b/src/checked_float.inlines.hh
@@ -1,6 +1,6 @@
 /* Specialized "checked" functions for native floating-point numbers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_float_inlines_hh
 #define PPL_checked_float_inlines_hh 1
@@ -34,30 +34,30 @@ namespace Parma_Polyhedra_Library {
 namespace Checked {
 
 inline float
-fma(float x, float y, float z) {
+multiply_add(float x, float y, float z) {
 #if PPL_HAVE_DECL_FMAF && defined(FP_FAST_FMAF) \
   && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmaf(x, y, z);
+  return fmaf(x, y, z);
 #else
   return x*y + z;
 #endif
 }
 
 inline double
-fma(double x, double y, double z) {
+multiply_add(double x, double y, double z) {
 #if PPL_HAVE_DECL_FMA && defined(FP_FAST_FMA) \
   && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fma(x, y, z);
+  return fma(x, y, z);
 #else
   return x*y + z;
 #endif
 }
 
 inline long double
-fma(long double x, long double y, long double z) {
+multiply_add(long double x, long double y, long double z) {
 #if PPL_HAVE_DECL_FMAL && defined(FP_FAST_FMAL) \
   && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmal(x, y, z);
+  return fmal(x, y, z);
 #else
   return x*y + z;
 #endif
@@ -65,33 +65,33 @@ fma(long double x, long double y, long double z) {
 
 #if PPL_HAVE_DECL_RINTF
 inline float
-rint(float x) {
-  return ::rintf(x);
+round_to_integer(float x) {
+  return rintf(x);
 }
 #endif
 
 inline double
-rint(double x) {
-  return ::rint(x);
+round_to_integer(double x) {
+  return rint(x);
 }
 
 #if PPL_HAVE_DECL_RINTL
 inline long double
-rint(long double x) {
-  return ::rintl(x);
+round_to_integer(long double x) {
+  return rintl(x);
 }
 #elif !PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
 // If proper long doubles are not provided, this is most likely
 // because long double and double are the same type: use rint().
 inline long double
-rint(long double x) {
-  return ::rint(x);
+round_to_integer(long double x) {
+  return rint(x);
 }
 #elif defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
 // On Cygwin, we have proper long doubles but rintl() is not defined:
 // luckily, one machine instruction is enough to save the day.
 inline long double
-rint(long double x) {
+round_to_integer(long double x) {
   long double i;
   __asm__ ("frndint" : "=t" (i) : "0" (x));
   return i;
@@ -134,12 +134,12 @@ fpu_inverse_rounding(Rounding_Dir dir) {
 
 inline void
 limit_precision(const float& v) {
-  cc_flush(v);
+  PPL_CC_FLUSH(v);
 }
 
 inline void
 limit_precision(const double& v) {
-  cc_flush(v);
+  PPL_CC_FLUSH(v);
 }
 
 inline void
@@ -153,11 +153,15 @@ classify_float(const T v, bool nan, bool inf, bool sign) {
   if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
     return V_NAN;
   if (inf) {
-    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
-    if (i < 0)
-      return V_EQ_MINUS_INFINITY;
-    if (i > 0)
-      return V_EQ_PLUS_INFINITY;
+    if (Policy::has_infinity) {
+      int sign_inf = f.u.binary.inf_sign();
+      if (sign_inf < 0)
+        return V_EQ_MINUS_INFINITY;
+      if (sign_inf > 0)
+        return V_EQ_PLUS_INFINITY;
+    }
+    else
+      PPL_ASSERT(f.u.binary.inf_sign() == 0);
   }
   if (sign) {
     if (v < 0)
@@ -177,33 +181,36 @@ is_nan_float(const T v) {
 }
 
 template <typename Policy, typename T>
-inline int
+inline bool
 is_inf_float(const T v) {
   Float<T> f(v);
-  return CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() != 0));
 }
 template <typename Policy, typename T>
 inline bool
 is_minf_float(const T v) {
-  return is_inf_float<Policy>(v) < 0;
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() < 0));
 }
 
 template <typename Policy, typename T>
 inline bool
 is_pinf_float(const T v) {
-  return is_inf_float<Policy>(v) > 0;
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() > 0));
 }
 
 
 template <typename Policy, typename T>
 inline bool
 is_int_float(const T v) {
-  return rint(v) == v;
+  return round_to_integer(v) == v;
 }
 
 template <typename Policy, typename T>
 inline Result
 assign_special_float(T& v, Result_Class c, Rounding_Dir) {
+  PPL_ASSERT(c == VC_MINUS_INFINITY || c == VC_PLUS_INFINITY || c == VC_NAN);
   switch (c) {
   case VC_MINUS_INFINITY:
     v = -HUGE_VAL;
@@ -215,7 +222,7 @@ assign_special_float(T& v, Result_Class c, Rounding_Dir) {
     v = PPL_NAN;
     return V_NAN;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_NAN | V_UNREPRESENTABLE;
   }
 }
@@ -225,8 +232,8 @@ inline void
 pred_float(T& v) {
   Float<T> f(v);
   PPL_ASSERT(!f.u.binary.is_nan());
-  PPL_ASSERT(f.u.binary.is_inf() >= 0);
-  if (f.u.binary.is_zero() > 0) {
+  PPL_ASSERT(f.u.binary.inf_sign() >= 0);
+  if (f.u.binary.zero_sign() > 0) {
     f.u.binary.negate();
     f.u.binary.inc();
   }
@@ -244,8 +251,8 @@ inline void
 succ_float(T& v) {
   Float<T> f(v);
   PPL_ASSERT(!f.u.binary.is_nan());
-  PPL_ASSERT(f.u.binary.is_inf() <= 0);
-  if (f.u.binary.is_zero() < 0) {
+  PPL_ASSERT(f.u.binary.inf_sign() <= 0);
+  if (f.u.binary.zero_sign() < 0) {
     f.u.binary.negate();
     f.u.binary.inc();
   }
@@ -371,9 +378,9 @@ floor_float(Type& to, const Type from, Rounding_Dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (fpu_direct_rounding(ROUND_DOWN))
-    to = rint(from);
+    to = round_to_integer(from);
   else if (fpu_inverse_rounding(ROUND_DOWN)) {
-    to = rint(-from);
+    to = round_to_integer(-from);
     limit_precision(to);
     to = -to;
   }
@@ -381,7 +388,7 @@ floor_float(Type& to, const Type from, Rounding_Dir) {
     fpu_rounding_control_word_type old
       = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN));
     limit_precision(from);
-    to = rint(from);
+    to = round_to_integer(from);
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
@@ -394,9 +401,9 @@ ceil_float(Type& to, const Type from, Rounding_Dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
   if (fpu_direct_rounding(ROUND_UP))
-    to = rint(from);
+    to = round_to_integer(from);
   else if (fpu_inverse_rounding(ROUND_UP)) {
-    to = rint(-from);
+    to = round_to_integer(-from);
     limit_precision(to);
     to = -to;
   }
@@ -404,7 +411,7 @@ ceil_float(Type& to, const Type from, Rounding_Dir) {
     fpu_rounding_control_word_type old
       = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP));
     limit_precision(from);
-    to = rint(from);
+    to = round_to_integer(from);
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
@@ -572,8 +579,8 @@ idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   PPL_ASSERT(r1 == V_EQ);
   if (r == V_EQ || to != temp)
     return r1;
-  // FIXME: Prove that it's impossibile to return a strict relation
-  return dir == ROUND_UP ? V_LE : V_GE;
+  // FIXME: Prove that it is impossible to return a strict relation
+  return (dir == ROUND_UP) ? V_LE : V_GE;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
@@ -602,7 +609,7 @@ inline Result
 add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   return
     add<To_Policy, From_Policy, Float_2exp>(to,
                                             x,
@@ -615,7 +622,7 @@ inline Result
 sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   return
     sub<To_Policy, From_Policy, Float_2exp>(to,
                                             x,
@@ -628,7 +635,7 @@ inline Result
 mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   return
     mul<To_Policy, From_Policy, Float_2exp>(to,
                                             x,
@@ -641,7 +648,7 @@ inline Result
 div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
     return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   return
     div<To_Policy, From_Policy, Float_2exp>(to,
                                             x,
@@ -657,7 +664,7 @@ smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
     return assign_nan<To_Policy>(to, V_INF_MOD);
   }
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   Type m = 1ULL << exp;
   rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
   Type m2 = m / 2;
@@ -676,7 +683,7 @@ umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
   if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
     return assign_nan<To_Policy>(to, V_INF_MOD);
   }
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
   Type m = 1ULL << exp;
   rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
   if (to < 0)
@@ -758,7 +765,7 @@ assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
 template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
 assign_float_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) * CHAR_BIT > Float<To>::Binary::MANTISSA_BITS)
+  if (sizeof_to_bits(sizeof(From)) > Float<To>::Binary::MANTISSA_BITS)
     return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
   else
     return assign_exact<To_Policy, From_Policy>(to, from, dir);
@@ -775,9 +782,13 @@ set_neg_overflow_float(T& to, Rounding_Dir dir) {
       to = f.value();
       return V_LT_INF;
     }
-  default:
+  case ROUND_DOWN: // Fall through.
+  case ROUND_IGNORE:
     to = -HUGE_VAL;
     return V_GT_MINUS_INFINITY;
+  default:
+    PPL_UNREACHABLE;
+    return V_GT_MINUS_INFINITY;
   }
 }
 
@@ -792,41 +803,44 @@ set_pos_overflow_float(T& to, Rounding_Dir dir) {
       to = f.value();
       return V_GT_SUP;
     }
-  default:
+  case ROUND_UP: // Fall through.
+  case ROUND_IGNORE:
     to = HUGE_VAL;
     return V_LT_PLUS_INFINITY;
+  default:
+    PPL_UNREACHABLE;
+    return V_LT_PLUS_INFINITY;
   }
 }
 
 template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
-{
-  mpz_srcptr from = _from.get_mpz_t();
-  int sign = mpz_sgn(from);
+assign_float_mpz(T& to, const mpz_class& from, Rounding_Dir dir) {
+  int sign = sgn(from);
   if (sign == 0) {
     to = 0;
     return V_EQ;
   }
-  size_t exponent = mpz_sizeinbase(from, 2) - 1;
+  mpz_srcptr from_z = from.get_mpz_t();
+  size_t exponent = mpz_sizeinbase(from_z, 2) - 1;
   if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
     if (sign < 0)
       return set_neg_overflow_float<To_Policy>(to, dir);
     else
       return set_pos_overflow_float<To_Policy>(to, dir);
   }
-  unsigned long zeroes = mpn_scan1(from->_mp_d, 0);
+  unsigned long zeroes = mpn_scan1(from_z->_mp_d, 0);
   size_t meaningful_bits = exponent - zeroes;
   mpz_t mantissa;
   mpz_init(mantissa);
   if (exponent > Float<T>::Binary::MANTISSA_BITS)
     mpz_tdiv_q_2exp(mantissa,
-		    from,
+		    from_z,
 		    exponent - Float<T>::Binary::MANTISSA_BITS);
   else
-    mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
+    mpz_mul_2exp(mantissa, from_z, Float<T>::Binary::MANTISSA_BITS - exponent);
   Float<T> f;
-  f.u.binary.build(sign < 0, mantissa, exponent);
+  f.u.binary.build(sign < 0, mantissa, static_cast<long>(exponent));
   mpz_clear(mantissa);
   to = f.value();
   if (meaningful_bits > Float<T>::Binary::MANTISSA_BITS) {
@@ -840,16 +854,16 @@ assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
 
 template <typename To_Policy, typename From_Policy, typename T>
 inline Result
-assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
-{
-  const mpz_class& _num = from.get_num();
-  const mpz_class& _den = from.get_den();
-  if (_den == 1)
-    return assign_float_mpz<To_Policy, From_Policy>(to, _num, dir);
-  mpz_srcptr num = _num.get_mpz_t();
-  mpz_srcptr den = _den.get_mpz_t();
-  int sign = mpz_sgn(num);
-  signed long exponent = mpz_sizeinbase(num, 2) - mpz_sizeinbase(den, 2);
+assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir) {
+  const mpz_class& numer = from.get_num();
+  const mpz_class& denom = from.get_den();
+  if (denom == 1)
+    return assign_float_mpz<To_Policy, From_Policy>(to, numer, dir);
+  mpz_srcptr numer_z = numer.get_mpz_t();
+  mpz_srcptr denom_z = denom.get_mpz_t();
+  int sign = sgn(numer);
+  long exponent = static_cast<long>(mpz_sizeinbase(numer_z, 2))
+    - static_cast<long>(mpz_sizeinbase(denom_z, 2));
   if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
     to = 0;
   inexact:
@@ -858,7 +872,7 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
     else
       return round_gt_float<To_Policy>(to, dir);
   }
-  if (exponent > int(Float<T>::Binary::EXPONENT_MAX + 1)) {
+  if (exponent > Float<T>::Binary::EXPONENT_MAX + 1) {
   overflow:
     if (sign < 0)
       return set_neg_overflow_float<To_Policy>(to, dir);
@@ -866,22 +880,27 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
       return set_pos_overflow_float<To_Policy>(to, dir);
   }
   unsigned int needed_bits = Float<T>::Binary::MANTISSA_BITS + 1;
-  if (exponent < Float<T>::Binary::EXPONENT_MIN)
-    needed_bits -= Float<T>::Binary::EXPONENT_MIN - exponent;
+  if (exponent < Float<T>::Binary::EXPONENT_MIN) {
+    long diff = Float<T>::Binary::EXPONENT_MIN - exponent;
+    needed_bits -= static_cast<unsigned int>(diff);
+  }
   mpz_t mantissa;
   mpz_init(mantissa);
-  signed long shift = needed_bits - exponent;
-  if (shift > 0) {
-    mpz_mul_2exp(mantissa, num, shift);
-    num = mantissa;
-  }
-  else if (shift < 0) {
-    mpz_mul_2exp(mantissa, den, -shift);
-    den = mantissa;
+  {
+    long shift = static_cast<long>(needed_bits) - exponent;
+    if (shift > 0) {
+      mpz_mul_2exp(mantissa, numer_z, static_cast<unsigned long>(shift));
+      numer_z = mantissa;
+    }
+    else if (shift < 0) {
+      shift = -shift;
+      mpz_mul_2exp(mantissa, denom_z, static_cast<unsigned long>(shift));
+      denom_z = mantissa;
+    }
   }
   mpz_t r;
   mpz_init(r);
-  mpz_tdiv_qr(mantissa, r, num, den);
+  mpz_tdiv_qr(mantissa, r, numer_z, denom_z);
   size_t bits = mpz_sizeinbase(mantissa, 2);
   bool inexact = (mpz_sgn(r) != 0);
   mpz_clear(r);
@@ -891,7 +910,7 @@ assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
   }
   else
     --exponent;
-  if (exponent > int(Float<T>::Binary::EXPONENT_MAX)) {
+  if (exponent > Float<T>::Binary::EXPONENT_MAX) {
     mpz_clear(mantissa);
     goto overflow;
   }
@@ -921,9 +940,9 @@ add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   // FIXME: missing check_inf_add_inf
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
-    to = fma(x, y, to);
+    to = multiply_add(x, y, to);
   else if (fpu_inverse_rounding(dir)) {
-    to = fma(-x, y, -to);
+    to = multiply_add(-x, y, -to);
     limit_precision(to);
     to = -to;
   }
@@ -933,7 +952,7 @@ add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(x);
     limit_precision(y);
     limit_precision(to);
-    to = fma(x, y, to);
+    to = multiply_add(x, y, to);
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
@@ -954,9 +973,9 @@ sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   // FIXME: missing check_inf_add_inf
   prepare_inexact<To_Policy>(dir);
   if (fpu_direct_rounding(dir))
-    to = fma(x, -y, to);
+    to = multiply_add(x, -y, to);
   else if (fpu_inverse_rounding(dir)) {
-    to = fma(x, y, -to);
+    to = multiply_add(x, y, -to);
     limit_precision(to);
     to = -to;
   }
@@ -966,7 +985,7 @@ sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     limit_precision(x);
     limit_precision(y);
     limit_precision(to);
-    to = fma(x, -y, to);
+    to = multiply_add(x, -y, to);
     limit_precision(to);
     fpu_restore_rounding_direction(old);
   }
@@ -975,6 +994,48 @@ sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return result_relation<To_Policy>(dir);
 }
 
+template <typename From>
+inline void
+assign_mpq_numeric_float(mpq_class& to, const From from) {
+  to = from;
+}
+
+template <>
+inline void
+assign_mpq_numeric_float(mpq_class& to, const long double from) {
+  to = 0;
+  if (from == 0)
+    return;
+  mpz_class& num = to.get_num();
+  mpz_class& den = to.get_den();
+  int exp;
+  long double n = frexpl(from, &exp);
+  bool neg = false;
+  if (n < 0) {
+    neg = true;
+    n = -n;
+  }
+  const long double mult = static_cast<long double>(ULONG_MAX) + 1;
+  const unsigned int bits = sizeof(unsigned long) * CHAR_BIT;
+  while (true) {
+    n *= mult;
+    exp -= bits;
+    long double intpart = floorl(n);
+    num += (unsigned long)intpart;
+    n -= intpart;
+    if (n == 0)
+      break;
+    num <<= bits;
+  }
+  if (exp < 0)
+    den <<= -exp;
+  else
+    num <<= exp;
+  if (neg)
+    to = -to;
+  to.canonicalize();
+}
+
 template <typename Policy, typename Type>
 inline Result
 output_float(std::ostream& os, const Type from, const Numeric_Format&,
@@ -988,14 +1049,10 @@ output_float(std::ostream& os, const Type from, const Numeric_Format&,
   else if (is_nan<Policy>(from))
     os << "nan";
   else {
-    int old_precision = os.precision(10000);
-    // FIXME: here correctness depends on the behavior of the standard
-    // output operator which, in turn, may depend on the behavior
-    // of printf().  The C99 standard, 7.19.16.1#13, does not give
-    // enough guarantees.  We could not find something similar
-    // in the C++ standard, so there is a concrete danger here.
-    os << from;
-    os.precision(old_precision);
+    mpq_class q;
+    assign_mpq_numeric_float(q, from);
+    std::string s = float_mpq_to_string(q);
+    os << s;
   }
   return V_EQ;
 }
diff --git a/src/checked_int.inlines.hh b/src/checked_int.inlines.hh
index 496e373..5fd4e0c 100644
--- a/src/checked_int.inlines.hh
+++ b/src/checked_int.inlines.hh
@@ -1,6 +1,6 @@
 /* Specialized "checked" functions for native integer numbers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_int_inlines_hh
 #define PPL_checked_int_inlines_hh 1
@@ -71,19 +71,23 @@ typedef uint64_t uint_fast64_t;
 template <typename Policy, typename Type>
 struct Extended_Int {
   static const Type plus_infinity = C_Integer<Type>::max;
-  static const Type minus_infinity = (C_Integer<Type>::min >= 0
-				      ? C_Integer<Type>::max - 1
+  static const Type minus_infinity = ((C_Integer<Type>::min >= 0)
+				      ? (C_Integer<Type>::max - 1)
 				      : C_Integer<Type>::min);
-  static const Type not_a_number = (C_Integer<Type>::min >= 0
-				    ? C_Integer<Type>::max - Policy::has_infinity * 2
-				    : C_Integer<Type>::min + Policy::has_infinity);
-  static const Type min = (C_Integer<Type>::min
-			   + (C_Integer<Type>::min >= 0 ? 0
-			      : (Policy::has_infinity + Policy::has_nan)));
-  static const Type max = (C_Integer<Type>::max
-			   - (C_Integer<Type>::min >= 0
-			      ? (2 * Policy::has_infinity + Policy::has_nan)
-			      : Policy::has_infinity));
+  static const Type not_a_number
+  = ((C_Integer<Type>::min >= 0)
+     ? (C_Integer<Type>::max - 2 * (Policy::has_infinity ? 1 : 0))
+     : (C_Integer<Type>::min + (Policy::has_infinity ? 1 : 0)));
+  static const Type min
+  = (C_Integer<Type>::min
+     + ((C_Integer<Type>::min >= 0)
+        ? 0
+        : ((Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0))));
+  static const Type max
+  = (C_Integer<Type>::max
+     - ((C_Integer<Type>::min >= 0)
+        ? (2 * (Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0))
+        : (Policy::has_infinity ? 1 : 0)));
 };
 
 template <typename Policy, typename To>
@@ -302,6 +306,7 @@ PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
 template <typename Policy, typename Type>
 inline Result
 assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
+  PPL_ASSERT(c == VC_MINUS_INFINITY || c == VC_PLUS_INFINITY || c == VC_NAN);
   switch (c) {
   case VC_NAN:
     if (Policy::has_nan) {
@@ -330,7 +335,7 @@ assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
     }
     return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
   default:
-    PPL_ASSERT(0);
+    PPL_UNREACHABLE;
     return V_NAN | V_UNREPRESENTABLE;
   }
 }
@@ -355,13 +360,15 @@ assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
 	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
 	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
     if (CHECK_P(To_Policy::check_overflow,
-		PPL_LT_SILENT(from, From(Extended_Int<To_Policy, To>::min))))
+		PPL_LT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::min))))
       return set_neg_overflow_int<To_Policy>(to, dir);
     if (CHECK_P(To_Policy::check_overflow,
-		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
+		PPL_GT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::max))))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  to = To(from);
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
@@ -370,10 +377,10 @@ inline Result
 assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
   if (sizeof(To) <= sizeof(From)) {
     if (CHECK_P(To_Policy::check_overflow,
-		from > From(Extended_Int<To_Policy, To>::max)))
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  to = To(from);
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
@@ -384,10 +391,10 @@ assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
     return set_neg_overflow_int<To_Policy>(to, dir);
   if (sizeof(To) < sizeof(From)) {
     if (CHECK_P(To_Policy::check_overflow,
-		from > From(Extended_Int<To_Policy, To>::max)))
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  to = To(from);
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
@@ -398,10 +405,11 @@ assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
       || (sizeof(To) == sizeof(From)
 	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
     if (CHECK_P(To_Policy::check_overflow,
-		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
+		PPL_GT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::max))))
       return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  to = To(from);
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
@@ -554,10 +562,8 @@ assign_int_float(To& to, const From from, Rounding_Dir dir) {
     return round_gt_int<To_Policy>(to, dir);
   if (from < i_from)
     return round_lt_int<To_Policy>(to, dir);
-  if (from > i_from)
-    return round_gt_int<To_Policy>(to, dir);
-  PPL_ASSERT(false);
-  return V_NAN;
+  PPL_ASSERT(from > i_from);
+  return round_gt_int<To_Policy>(to, dir);
 }
 
 PPL_SPECIALIZE_ASSIGN(assign_int_float, char, float)
@@ -639,7 +645,7 @@ assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
       }
     }
   }
-  return ::sgn(from) < 0
+  return (::sgn(from) < 0)
     ? set_neg_overflow_int<To_Policy>(to, dir)
     : set_pos_overflow_int<To_Policy>(to, dir);
 }
@@ -660,14 +666,14 @@ assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
     return set_neg_overflow_int<To_Policy>(to, dir);
   if (sizeof(To) <= sizeof(unsigned long)) {
     if (!To_Policy::check_overflow) {
-      to = from.get_ui();
+      to = static_cast<To>(from.get_ui());
       return V_EQ;
     }
     if (from.fits_ulong_p()) {
       unsigned long v = from.get_ui();
       if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
 	return set_pos_overflow_int<To_Policy>(to, dir);
-      to = v;
+      to = static_cast<To>(v);
       return V_EQ;
     }
   }
@@ -699,10 +705,10 @@ inline Result
 assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_srcptr n = from.get_num().get_mpz_t();
   mpz_srcptr d = from.get_den().get_mpz_t();
-  PPL_DIRTY_TEMP0(mpz_class, q);
-  mpz_ptr _q = q.get_mpz_t();
+  PPL_DIRTY_TEMP(mpz_class, q);
+  mpz_ptr q_z = q.get_mpz_t();
   if (round_not_requested(dir)) {
-    mpz_tdiv_q(_q, n, d);
+    mpz_tdiv_q(q_z, n, d);
     Result r = assign<To_Policy, void>(to, q, dir);
     if (r != V_EQ)
       return r;
@@ -711,7 +717,7 @@ assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   mpz_t rem;
   int sign;
   mpz_init(rem);
-  mpz_tdiv_qr(_q, rem, n, d);
+  mpz_tdiv_qr(q_z, rem, n, d);
   sign = mpz_sgn(rem);
   mpz_clear(rem);
   Result r = assign<To_Policy, void>(to, q, dir);
@@ -925,7 +931,8 @@ neg_int_larger(Type& to, const Type x, Rounding_Dir dir) {
   return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   typename Larger<Type>::type_for_add l = x;
@@ -933,7 +940,8 @@ add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   typename Larger<Type>::type_for_sub l = x;
@@ -941,7 +949,8 @@ sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   typename Larger<Type>::type_for_mul l = x;
@@ -972,7 +981,8 @@ neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_add)
@@ -983,13 +993,14 @@ add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 	return set_pos_overflow_int<To_Policy>(to, dir);
     }
     else if (x < Extended_Int<To_Policy, Type>::min - y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
+      return set_neg_overflow_int<To_Policy>(to, dir);
   }
   to = x + y;
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_add)
@@ -1001,7 +1012,8 @@ add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
@@ -1012,13 +1024,14 @@ sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
 	return set_neg_overflow_int<To_Policy>(to, dir);
     }
     else if (x > Extended_Int<To_Policy, Type>::max + y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
   to = x - y;
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
@@ -1030,7 +1043,8 @@ sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
@@ -1069,7 +1083,8 @@ mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
@@ -1088,7 +1103,8 @@ mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
@@ -1099,6 +1115,8 @@ div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   to = x / y;
   if (round_not_requested(dir))
     return V_LGE;
+  if (y == -1)
+    return V_EQ;
   Type m = x % y;
   if (m < 0)
     return round_lt_int_no_overflow<To_Policy>(to, dir);
@@ -1108,7 +1126,8 @@ div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
     return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
@@ -1123,7 +1142,8 @@ div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return round_gt_int<To_Policy>(to, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
@@ -1135,7 +1155,8 @@ idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
@@ -1145,17 +1166,19 @@ idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
     return assign_nan<To_Policy>(to, V_MOD_ZERO);
   }
-  to = x % y;
+  to = (y == -1) ? 0 : (x % y);
   return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
   if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
@@ -1169,7 +1192,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
                       Rounding_Dir dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT) {
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
     to = 0;
     if (round_not_requested(dir))
       return V_GE;
@@ -1190,7 +1213,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
                     Rounding_Dir dir) {
-  if (exp > sizeof(Type) * CHAR_BIT - 1) {
+  if (exp > sizeof_to_bits(sizeof(Type)) - 1) {
   zero:
     to = 0;
     if (round_not_requested(dir))
@@ -1202,7 +1225,7 @@ div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
     else
       return V_EQ;
   }
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
     if (x == C_Integer<Type>::min) {
       to = -1;
       return V_EQ;
@@ -1239,7 +1262,7 @@ add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
     to = x + (Type(1) << exp);
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     return set_pos_overflow_int<To_Policy>(to, dir);
   Type n = Type(1) << exp;
   return add_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
@@ -1253,9 +1276,9 @@ add_2exp_signed_int(Type& to, const Type x, unsigned int exp,
     to = x + (Type(1) << exp);
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     return set_pos_overflow_int<To_Policy>(to, dir);
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
     Type n = -2 * (Type(1) << (exp - 1));
     return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
   }
@@ -1273,7 +1296,7 @@ sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
     to = x - (Type(1) << exp);
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     return set_neg_overflow_int<To_Policy>(to, dir);
   Type n = Type(1) << exp;
   return sub_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
@@ -1287,9 +1310,9 @@ sub_2exp_signed_int(Type& to, const Type x, unsigned int exp,
     to = x - (Type(1) << exp);
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     return set_neg_overflow_int<To_Policy>(to, dir);
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
     Type n = -2 * (Type(1) << (exp - 1));
     return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
   }
@@ -1307,14 +1330,14 @@ mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
     to = x << exp;
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT) {
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
     if (x == 0) {
       to = 0;
       return V_EQ;
     }
     return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  if (x & (((Type(1) << exp) - 1) << (sizeof(Type) * CHAR_BIT - exp)))
+  if (x & (((Type(1) << exp) - 1) << (sizeof_to_bits(sizeof(Type)) - exp)))
     return set_pos_overflow_int<To_Policy>(to, dir);
   Type n = x << exp;
   if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
@@ -1331,7 +1354,7 @@ mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
     to = x << exp;
     return V_EQ;
   }
-  if (exp >= sizeof(Type) * CHAR_BIT - 1) {
+  if (exp >= sizeof_to_bits(sizeof(Type)) - 1) {
     if (x < 0)
       return set_neg_overflow_int<To_Policy>(to, dir);
     else if (x > 0)
@@ -1341,8 +1364,7 @@ mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
       return V_EQ;
     }
   }
-  Type mask = ((Type(1) << exp) - 1)
-    << (sizeof(Type) * CHAR_BIT - 1 - exp);
+  Type mask = ((Type(1) << exp) - 1) << ((sizeof_to_bits(sizeof(Type)) - 1) - exp);
   Type n;
   if (x < 0) {
     if ((x & mask) != mask)
@@ -1366,11 +1388,11 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
 		       Rounding_Dir dir) {
-  if (exp > sizeof(Type) * CHAR_BIT)
+  if (exp > sizeof_to_bits(sizeof(Type)))
     to = x;
   else {
-    Type v = exp == sizeof(Type) * CHAR_BIT ? x : (x & ((Type(1) << exp) - 1));
-    if (v >= Type(1) << (exp - 1))
+    Type v = (exp == sizeof_to_bits(sizeof(Type)) ? x : (x & ((Type(1) << exp) - 1)));
+    if (v >= (Type(1) << (exp - 1)))
       return set_neg_overflow_int<To_Policy>(to, dir);
     else
       to = v;
@@ -1382,7 +1404,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 smod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
 		     Rounding_Dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     to = x;
   else {
     Type m = Type(1) << (exp - 1);
@@ -1395,7 +1417,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
 		       Rounding_Dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT)
+  if (exp >= sizeof_to_bits(sizeof(Type)))
     to = x;
   else
     to = x & ((Type(1) << exp) - 1);
@@ -1406,7 +1428,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
 		     Rounding_Dir dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT) {
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
     if (x < 0)
       return set_pos_overflow_int<To_Policy>(to, dir);
     to = x;
@@ -1418,11 +1440,11 @@ umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
 
 template <typename Type>
 inline void
-isqrtrem(Type& q, Type& r, const Type from) {
+isqrt_rem(Type& q, Type& r, const Type from) {
   q = 0;
   r = from;
   Type t(1);
-  for (t <<= CHAR_BIT * sizeof(Type) - 2; t != 0; t >>= 2) {
+  for (t <<= sizeof_to_bits(sizeof(Type)) - 2; t != 0; t >>= 2) {
     Type s = q + t;
     if (s <= r) {
       r -= s;
@@ -1436,7 +1458,7 @@ template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
 sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
   Type rem;
-  isqrtrem(to, rem, from);
+  isqrt_rem(to, rem, from);
   if (round_not_requested(dir))
     return V_GE;
   if (rem == 0)
@@ -1453,7 +1475,8 @@ sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
   return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   Type z;
@@ -1470,12 +1493,13 @@ add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
       return set_pos_overflow_int<To_Policy>(to, dir);
     return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_NAN;
   }
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
 sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
   Type z;
@@ -1492,7 +1516,7 @@ sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
       return set_neg_overflow_int<To_Policy>(to, dir);
     return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_NAN;
   }
 }
diff --git a/src/checked_mpq.inlines.hh b/src/checked_mpq.inlines.hh
index acf5962..43261dc 100644
--- a/src/checked_mpq.inlines.hh
+++ b/src/checked_mpq.inlines.hh
@@ -1,6 +1,6 @@
 /* Specialized "checked" functions for GMP's mpq_class numbers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_mpq_inlines_hh
 #define PPL_checked_mpq_inlines_hh 1
@@ -50,7 +50,7 @@ classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
     }
   }
   if (sign)
-    return (Result) sgn<Policy>(v);
+    return static_cast<Result>(sgn<Policy>(v));
   return V_LGE;
 }
 
@@ -124,7 +124,7 @@ assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) {
     }
     return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_NAN | V_UNREPRESENTABLE;
   }
 }
@@ -188,12 +188,13 @@ assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
     return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
   else if (is_pinf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  to = from;
+  assign_mpq_numeric_float(to, from);
   return V_EQ;
 }
 
 PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
 PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, long double)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -468,14 +469,14 @@ sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
   Rounding_Dir rdir = gt1 ? dir : inverse(dir);
   mul_2exp<To_Policy, From_Policy>(to_a, from_a,
                                    2*irrational_precision, ROUND_IGNORE);
-  Result rdiv
+  Result r_div
     = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
-  Result rsqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
+  Result r_sqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
   to_b = 1;
   mul_2exp<To_Policy, To_Policy>(to_b, to_b,
                                  irrational_precision, ROUND_IGNORE);
   to.canonicalize();
-  return rdiv != V_EQ ? rdiv : rsqrt;
+  return (r_div != V_EQ) ? r_div : r_sqrt;
 }
 
 PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
@@ -510,23 +511,6 @@ output_mpq(std::ostream& os,
 
 PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpq_long_double(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  // FIXME: this is an incredibly inefficient implementation!
-  std::stringstream ss;
-  output<From_Policy>(ss, from, Numeric_Format(), dir);
-  return input_mpq(to, ss);
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
-
 } // namespace Checked
 
 //! Returns the precision parameter used for irrational calculations.
diff --git a/src/checked_mpz.inlines.hh b/src/checked_mpz.inlines.hh
index 63a935f..9b795d4 100644
--- a/src/checked_mpz.inlines.hh
+++ b/src/checked_mpz.inlines.hh
@@ -1,6 +1,6 @@
 /* Specialized "checked" functions for GMP's mpz_class numbers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_mpz_inlines_hh
 #define PPL_checked_mpz_inlines_hh 1
@@ -87,7 +87,7 @@ classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
     }
   }
   if (sign)
-    return (Result) sgn<Policy>(v);
+    return static_cast<Result>(sgn<Policy>(v));
   return V_LGE;
 }
 
@@ -149,7 +149,7 @@ assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) {
     }
     return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
   default:
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_NAN;
   }
 }
@@ -283,7 +283,7 @@ assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
     return round_lt_mpz<To_Policy>(to, dir);
   if (from > i_from)
     return round_gt_mpz<To_Policy>(to, dir);
-  PPL_ASSERT(false);
+  PPL_UNREACHABLE;
   return V_NAN;
 }
 
@@ -302,7 +302,7 @@ assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
   // FIXME: this is an incredibly inefficient implementation!
   std::stringstream ss;
   output<From_Policy>(ss, from, Numeric_Format(), dir);
-  PPL_DIRTY_TEMP0(mpq_class, tmp);
+  PPL_DIRTY_TEMP(mpq_class, tmp);
 #ifndef NDEBUG
   Result r =
 #endif
@@ -329,14 +329,14 @@ assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
   if (round_down(dir)) {
     mpz_fdiv_q(to.get_mpz_t(), n, d);
     if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_GT;
     return V_GE;
   }
   else {
     PPL_ASSERT(round_up(dir));
     mpz_cdiv_q(to.get_mpz_t(), n, d);
     if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_LT;
     return V_LE;
   }
 }
@@ -403,14 +403,14 @@ div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   if (round_down(dir)) {
     mpz_fdiv_q(to.get_mpz_t(), n, d);
     if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_GT;
     return V_GE;
   }
   else {
     PPL_ASSERT(round_up(dir));
     mpz_cdiv_q(to.get_mpz_t(), n, d);
     if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_LT;
     return V_LE;
   }
 }
@@ -492,14 +492,14 @@ div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
   if (round_down(dir)) {
     mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
     if (round_strict_relation(dir))
-      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
+      return (mpz_divisible_2exp_p(n, exp) != 0) ? V_EQ : V_GT;
     return V_GE;
   }
   else {
     PPL_ASSERT(round_up(dir));
     mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
     if (round_strict_relation(dir))
-      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+      return (mpz_divisible_2exp_p(n, exp) != 0) ? V_EQ : V_LT;
     return V_LE;
   }
 }
@@ -510,7 +510,7 @@ template <typename To_Policy, typename From_Policy>
 inline Result
 smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
 	      Rounding_Dir) {
-  if (mpz_tstbit(x.get_mpz_t(), exp - 1))
+  if (mpz_tstbit(x.get_mpz_t(), exp - 1) != 0)
     mpz_cdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
   else
     mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
@@ -598,7 +598,7 @@ sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
     to = sqrt(from);
     return V_GE;
   }
-  PPL_DIRTY_TEMP0(mpz_class, r);
+  PPL_DIRTY_TEMP(mpz_class, r);
   mpz_sqrtrem(to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t());
   if (r == 0)
     return V_EQ;
@@ -611,7 +611,7 @@ template <typename Policy, typename Type>
 inline Result_Relation
 sgn_mp(const Type& x) {
   int i = ::sgn(x);
-  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+  return (i > 0) ? VR_GT : ((i < 0) ? VR_LT : VR_EQ);
 }
 
 PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
@@ -621,7 +621,7 @@ template <typename Policy1, typename Policy2, typename Type>
 inline Result_Relation
 cmp_mp(const Type& x, const Type& y) {
   int i = ::cmp(x, y);
-  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+  return (i > 0) ? VR_GT : ((i < 0) ? VR_LT : VR_EQ);
 }
 
 PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
diff --git a/src/checked_numeric_limits.hh b/src/checked_numeric_limits.hh
index 31413d4..757fe20 100644
--- a/src/checked_numeric_limits.hh
+++ b/src/checked_numeric_limits.hh
@@ -1,6 +1,6 @@
 /* Specializations of std::numeric_limits for "checked" types.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_checked_numeric_limits_hh
 #define PPL_checked_numeric_limits_hh 1
@@ -33,43 +33,43 @@ namespace std {
 using namespace Parma_Polyhedra_Library;
 
 #define PPL_SPECIALIZE_LIMITS_INT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
- class numeric_limits<Checked_Number<T, Policy> >                       \
-  : public numeric_limits<T> {						\
- private:								\
-  typedef Checked_Number<T, Policy> Type;                               \
-									\
- public:								\
-  static const bool has_infinity = Policy::has_infinity;		\
-  static const bool has_quiet_NaN =  Policy::has_nan;                   \
+  /*! \brief Partial specialization of std::numeric_limits. */		\
+  template <typename Policy>						\
+  class numeric_limits<Checked_Number<PPL_U(T), Policy> >              \
+    : public numeric_limits<PPL_U(T)> {                                 \
+  private:								\
+    typedef Checked_Number<PPL_U(T), Policy> Type;                      \
+                                                                        \
+  public:								\
+    static const bool has_infinity = Policy::has_infinity;		\
+    static const bool has_quiet_NaN =  Policy::has_nan;                 \
                                                                         \
-  static Type min() {							\
-    Type v;								\
-    v.raw_value() = Checked::Extended_Int<Policy, T>::min;		\
-    return v;								\
-  }									\
+    static Type min() {							\
+      Type v;								\
+      v.raw_value() = Checked::Extended_Int<Policy, PPL_U(T)>::min;     \
+      return v;								\
+    }									\
                                                                         \
-  static Type max() {							\
-    Type v;								\
-    v.raw_value() = Checked::Extended_Int<Policy, T>::max;		\
-    return v;								\
-  }									\
+    static Type max() {							\
+      Type v;								\
+      v.raw_value() = Checked::Extended_Int<Policy, PPL_U(T)>::max;     \
+      return v;								\
+    }									\
 									\
-  static Type infinity() {						\
-    Type v;								\
-    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
-			    ROUND_IGNORE);				\
-    return v;								\
-  }									\
+    static Type infinity() {						\
+      Type v;								\
+      Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
+                                      ROUND_IGNORE);                    \
+      return v;								\
+    }									\
 									\
-  static Type quiet_NaN() {						\
-    Type v;								\
-    Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
-			    ROUND_IGNORE);				\
-    return v;								\
-  }									\
-};
+    static Type quiet_NaN() {						\
+      Type v;								\
+      Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
+                                      ROUND_IGNORE);                    \
+      return v;								\
+    }									\
+  };
 
 PPL_SPECIALIZE_LIMITS_INT(char)
 
@@ -88,10 +88,10 @@ PPL_SPECIALIZE_LIMITS_INT(unsigned long long)
 #undef PPL_SPECIALIZE_LIMITS_INT
 
 #define PPL_SPECIALIZE_LIMITS_FLOAT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
-struct numeric_limits<Checked_Number<T, Policy> > \
-  : public numeric_limits<T> {						\
+  /*! \brief Partial specialization of std::numeric_limits. */		\
+  template <typename Policy>						\
+  struct numeric_limits<Checked_Number<PPL_U(T), Policy> >              \
+    : public numeric_limits<PPL_U(T)> {                                 \
 };
 
 #if PPL_SUPPORTED_FLOAT
diff --git a/src/compiler.hh b/src/compiler.hh
index 1f99ae7..578b83b 100644
--- a/src/compiler.hh
+++ b/src/compiler.hh
@@ -1,6 +1,6 @@
 /* C++ compiler related stuff.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,15 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_compiler_hh
 #define PPL_compiler_hh 1
 
+#include <cstddef>
+#include <climits>
+#include <cassert>
+
 namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -32,7 +36,7 @@ namespace Parma_Polyhedra_Library {
   the compiler.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define used(v) (void)v
+#define PPL_USED(v) (void)(v)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -42,12 +46,12 @@ namespace Parma_Polyhedra_Library {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 inline void
-cc_flush(const T& x) {
+PPL_CC_FLUSH(const T& x) {
 #if defined(__GNUC__) || defined(__INTEL_COMPILER)
   __asm__ __volatile__ ("" : "+m" (const_cast<T&>(x)));
 #else
   // FIXME: is it possible to achieve the same effect in a portable way?
-  used(x);
+  PPL_USED(x);
 #endif
 }
 
@@ -66,11 +70,154 @@ struct Suppress_Uninitialized_Warnings_Type {
 };
 
 #define PPL_UNINITIALIZED(type, name)                                   \
-  type name = Suppress_Uninitialized_Warnings_Type<type>::synonym ()
+  PPL_U(type) PPL_U(name)                                               \
+  = Suppress_Uninitialized_Warnings_Type<PPL_U(type)>::synonym ()
 #else
 #define PPL_UNINITIALIZED(type, name)           \
-  type name
+  PPL_U(type) name
+#endif
+
+#define sizeof_to_bits(size)                    \
+  ((size) * static_cast<std::size_t>(CHAR_BIT))
+
+#if !defined(__GNUC__)
+
+inline unsigned int
+clz32(uint32_t w) {
+  unsigned int r = 31;
+  if ((w & 0xffff0000U) != 0) {
+    w >>= 16;
+    r -= 16;
+  }
+  if ((w & 0xff00U) != 0) {
+    w >>= 8;
+    r -= 8;
+  }
+  if ((w & 0xf0U) != 0) {
+    w >>= 4;
+    r -= 4;
+  }
+  if ((w & 0xcU) != 0) {
+    w >>= 2;
+    r -= 2;
+  }
+  if ((w & 0x2U) != 0)
+    r -= 1;
+  return r;
+}
+
+inline unsigned int
+clz64(uint64_t w) {
+  if ((w & 0xffffffff00000000ULL) == 0)
+    return clz32(static_cast<uint32_t>(w)) + 32;
+  else
+    return clz32(static_cast<uint32_t>(w >> 32));
+}
+
+inline unsigned int
+ctz32(uint32_t w) {
+  static const unsigned int mod37_table[] = {
+    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
+    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
+    5, 20, 8, 19, 18
+  };
+  return mod37_table[(w & -w) % 37];
+}
+
+inline unsigned int
+ctz64(uint64_t w) {
+  if ((w & 0x00000000ffffffffULL) == 0)
+    return ctz32(static_cast<uint32_t>(w >> 32)) + 32;
+  else
+    return ctz32(static_cast<uint32_t>(w));
+}
+
+#endif
+
+inline unsigned int
+clz(unsigned int u) {
+  assert(u != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clz(u));
+#elif PPL_SIZEOF_INT == 4
+  return clz32(u);
+#elif PPL_SIZEOF_INT == 8
+  return clz64(u);
+#else
+  #error "Unsupported unsigned int size"
+#endif
+}
+
+inline unsigned int
+clz(unsigned long ul) {
+  assert(ul != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clzl(ul));
+#elif PPL_SIZEOF_LONG == 4
+  return clz32(ul);
+#elif PPL_SIZEOF_LONG == 8
+  return clz64(ul);
+#else
+  #error "Unsupported unsigned long size"
+#endif
+}
+
+inline unsigned int
+clz(unsigned long long ull) {
+  assert(ull != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clzll(ull));
+#elif PPL_SIZEOF_LONG_LONG == 4
+  return clz32(ull);
+#elif PPL_SIZEOF_LONG_LONG == 8
+  return clz64(ull);
+#else
+  #error "Unsupported unsigned long long size"
+#endif
+}
+
+
+inline unsigned int
+ctz(unsigned int u) {
+  assert(u != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctz(u));
+#elif PPL_SIZEOF_INT == 4
+  return ctz32(u);
+#elif PPL_SIZEOF_INT == 8
+  return ctz64(u);
+#else
+  #error "Unsupported unsigned int size"
 #endif
+}
+
+inline unsigned int
+ctz(unsigned long ul) {
+  assert(ul != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctzl(ul));
+#elif PPL_SIZEOF_LONG == 4
+  return ctz32(ul);
+#elif PPL_SIZEOF_LONG == 8
+  return ctz64(ul);
+#else
+  #error "Unsupported unsigned long size"
+#endif
+}
+
+inline unsigned int
+ctz(unsigned long long ull) {
+  assert(ull != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctzll(ull));
+#elif PPL_SIZEOF_LONG_LONG == 4
+  return ctz32(ull);
+#elif PPL_SIZEOF_LONG_LONG == 8
+  return ctz64(ull);
+#else
+  #error "Unsupported unsigned long long size"
+#endif
+}
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/conversion.cc b/src/conversion.cc
deleted file mode 100644
index 5fccf6c..0000000
--- a/src/conversion.cc
+++ /dev/null
@@ -1,862 +0,0 @@
-/* Polyhedron class implementation: conversion().
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Linear_Row.defs.hh"
-#include "Linear_System.defs.hh"
-#include "Bit_Row.defs.hh"
-#include "Bit_Matrix.defs.hh"
-#include "Polyhedron.defs.hh"
-#include "Scalar_Products.defs.hh"
-#include "Temp.defs.hh"
-#include <cstddef>
-#include <climits>
-
-namespace PPL = Parma_Polyhedra_Library;
-
-/*!
-  \return
-  The number of lines of the polyhedron or the number of equality
-  constraints in the result of conversion.
-
-  \param source
-  The system to use to convert \p dest: it may be modified;
-
-  \param start
-  The index of \p source row from which conversion begin;
-
-  \param dest
-  The result of the conversion;
-
-  \param sat
-  The saturation matrix telling us, for each row in \p source, which
-  are the rows of \p dest that satisfy but do not saturate it;
-
-  \param num_lines_or_equalities
-  The number of rows in the system \p dest that are either lines of
-  the polyhedron (when \p dest is a system of generators) or equality
-  constraints (when \p dest is a system of constraints).
-
-  For simplicity, all the following comments assume we are converting a
-  constraint system \p source to a generator system \p dest;
-  the comments for the symmetric case can be obtained by duality.
-
-  If some of the constraints in \p source are redundant, they will be removed.
-  This is why the \p source is not declared to be a constant parameter.
-
-  If \p start is 0, then \p source is a sorted system; also, \p dest is
-  a generator system corresponding to an empty constraint system.
-  If otherwise \p start is greater than 0, then the two sub-systems of
-  \p source made by the non-pending rows and the pending rows, respectively,
-  are both sorted; also, \p dest is the generator system corresponding to
-  the non-pending constraints of \p source.
-
-  Independently from the value of \p start, \p dest has lines from index 0
-  to index \p num_lines_or_equalities - 1 and rays/points from index
-  \p num_lines_or_equalities to the last of its rows.
-
-  Note that here the rows of \p sat are indexed by rows of \p dest
-  and its columns are indexed by rows of \p source.
-
-  We know that polyhedra can be represented by both a system of
-  constraints or a system of generators (points, rays and lines)
-  (see Section \ref representation).
-  When we have both descriptions for a polyhedron \f$P\f$
-  we have what is called a <EM>double description</EM>
-  (or <EM>DD pair</EM>) for \f$P\f$.
-
-  Here, the <EM>representation system</EM> refers to the system \f$C\f$
-  whose rows represent the constraints that characterize \f$P\f$
-  and the <EM>generating system</EM>, the system \f$G\f$ whose rows
-  represent the generators of \f$P\f$.
-  We say that a pair \f$(C, G)\f$ of (real) systems is
-  a <EM>double description pair</EM> if
-  \f[
-    C\vect{x} \geq \vect{0}
-      \quad\iff\quad
-        \exists \vect{\lambda} \geq \vect{0} \mathrel{.}
-	\vect{x} = G\vect{\lambda}.
-  \f]
-
-  The term "double description" is quite natural in the sense that
-  such a pair contains two different description of the same object.
-  In fact, if we refer to the cone representation of a polyhedron \f$P\f$
-  and we call \f$C\f$ and \f$G\f$ the systems of constraints and
-  rays respectively, we have
-  \f[
-    P = \{\, \vect{x} \in \Rset^n \mid C\vect{x} \geq \vect{0}\, \}
-      = \{\, \vect{x} \in \Rset^n \mid \vect{x} = G\vect{\lambda}
-      \text{ for some } \vect{\lambda} \geq \vect{0}\, \}.
-  \f]
-
-  Because of the theorem of Minkowski (see Section \ref prelims),
-  we can say that, given a \f$m \times n\f$ representation system
-  \f$C\f$ such that
-  \f$\mathop{\mathrm{rank}}(C) = n = \mathit{dimension of the whole space}\f$
-  for a non-empty polyhedron \f$P\f$,
-  it is always possible to find a generating system \f$G\f$ for \f$P\f$
-  such that \f$(C, G)\f$ is a DD pair.
-  Conversely, Weyl's theorem ensures that, for each generating system
-  \f$G\f$, it is possible to find a representation system \f$C\f$
-  such that \f$(C, G)\f$ is a DD pair.
-
-  For efficiency reasons, our representation of polyhedra makes use
-  of a double description.
-  We are thus left with two problems:
-    -# given \f$C\f$ find \f$G\f$ such that \f$(C, G)\f$ is a DD pair;
-    -# given \f$G\f$ find \f$C\f$ such that \f$(C, G)\f$ is a DD pair.
-
-  Using Farkas' Lemma we can prove that these two problems are
-  computationally equivalent (i.e., linear-time reducible to each other).
-  Farkas' Lemma establishes a fundamental property of vectors in
-  \f$\Rset^n\f$ that, in a sense, captures the essence of duality.
-  Consider a matrix \f$A \in \Rset^{m \times n}\f$ and let
-  \f$\{ \vect{a}_1, \ldots, \vect{a}_m \}\f$ be its set of row vectors.
-  Consider also another vector \f$\vect{c} \in \Rset^n\f$ such that,
-  whenever a vector \f$\vect{y} \in \Rset^n\f$ has a non-negative projection
-  on the \f$\vect{a}_i\f$'s, it also has a non-negative projection
-  on \f$\vect{c}\f$.
-  The lemma states that \f$\vect{c}\f$ has this property if and only if
-  it is in the cone generated by the \f$\vect{a}_i\f$'s.
-  Formally, the lemma states the equivalence of the two following
-  assertions:
-    -# \f$
-         \forall \vect{y}
-           \mathrel{:} (A\vect{y} \geq 0 \implies
-	   \langle \vect{y},\vect{c} \rangle \geq 0)
-       \f$;
-    -# \f$
-         \exists \vect{\lambda} \geq \vect{0}
-           \mathrel{.} \vect{c}^\mathrm{T} = \vect{\lambda}^\mathrm{T}A
-       \f$.
-
-  With this result we can prove that \f$(C, G)\f$ is a DD pair
-  if and only if \f$(G^\mathrm{T}, C^\mathrm{T})\f$ is a DD pair.
-
-  Suppose \f$(C, G)\f$ is a DD pair.
-  Thus, for each \f$x\f$ of the appropriate dimension,
-  \f$C\vect{x} \geq \vect{0}\f$ if and only if
-  \f$\exists \lambda \geq 0 \mathrel{.} \vect{x} = G\vect{\lambda}\f$,
-  which is of course equivalent to
-  \f$
-    \exists \vect{\lambda} \geq \vect{0}
-      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
-  \f$.
-
-  First, we assume that \f$\vect{z}\f$ is such that
-  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
-  and we will show that
-  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
-  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
-  Let \f$\vect{x}\f$ be such that \f$C\vect{x} \geq \vect{0}\f$.
-  Since \f$(C, G)\f$ is a DD pair, this is equivalent to
-  \f$
-    \exists \vect{\lambda} \geq \vect{0}
-      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
-  \f$,
-  which, by Farkas' Lemma is equivalent to
-  \f$
-    \forall \vect{y} \mathrel{:} (G^\mathrm{T}\vect{y} \geq \vect{0} \implies
-                                 \langle \vect{y}, \vect{x} \rangle \geq 0)
-  \f$.
-  Taking \f$\vect{y} = \vect{z}\f$ and recalling our assumption that
-  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
-  we can conclude that \f$\langle \vect{z}, \vect{x} \rangle \geq 0\f$,
-  that is equivalent to \f$\langle \vect{x}, \vect{z} \rangle \geq 0\f$.
-  We have thus established that
-  \f$
-    \forall \vect{x} \mathrel{:} (C\vect{x} \geq \vect{0} \implies
-    \langle \vect{x}, \vect{z} \rangle \geq 0)
-  \f$.
-  By Farkas' Lemma, this is equivalent to
-  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
-  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T} C\f$,
-  which is equivalent to what we wanted to prove, that is,
-  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
-  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
-
-  In order to prove the reverse implication, the following observation
-  turns out to be useful:
-  when \f$(C, G)\f$ is a DD pair, \f$CG \geq 0\f$.
-  In fact,
-  let \f$\vect{e}_j\f$ be the vector whose components are all \f$0\f$
-  apart from the \f$j\f$-th one, which is \f$1\f$.
-  Clearly \f$\vect{e}_j \geq \vect{0}\f$ and, taking
-  \f$\vect{\lambda} = \vect{e}_j\f$ and
-  \f$\vect{x} = G\vect{\lambda} = G \vect{e}_j\f$, we have
-  \f$C\vect{x} = C(G \vect{e}_j) = (CG)\vect{e}_j \geq \vect{0}\f$,
-  since \f$(C, G)\f$ is a DD pair.
-  Thus, as \f$(CG)\vect{e}_j\f$ is the \f$j\f$-th column of \f$CG\f$
-  and since the choice of \f$j\f$ was arbitrary, \f$CG \geq \vect{0}\f$.
-
-  We now assume that \f$\vect{z}\f$ is such that
-  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
-  \vect{z} = C^\mathrm{T}\vect{\mu}\f$
-  and we will prove that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$.
-  By Farkas' Lemma, the assumption
-  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
-  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T}C\f$,
-  is equivalent to
-  \f$\forall \vect{y} \mathrel{:} (C\vect{y} \geq \vect{0}
-  \implies \langle \vect{y}, \vect{z} \rangle \geq 0)\f$.
-  If we take \f$\vect{y} = G\vect{e}_j\f$ then \f$C\vect{y}
-                 = CG\vect{e}_j \geq 0\f$,
-  since \f$CG \geq \vect{0}\f$.
-  So
-  \f$
-    \langle \vect{y}, \vect{z} \rangle
-      = (\vect{e}_j^\mathrm{T}G^\mathrm{T}) \vect{z}
-      = \vect{e}_j^\mathrm{T}(G^\mathrm{T} \vect{z})
-      \geq 0
-  \f$,
-  that is, the \f$j\f$-th component of \f$G^\mathrm{T}\vect{z}\f$
-  is non-negative. The arbitrary choice of \f$j\f$ allows us to conclude
-  that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$, as required.
-
-  In view of this result, the following exposition assumes, for clarity,
-  that the conversion being performed is from constraints to generators.
-  Thus, even if the roles of \p source and \p dest can be interchanged,
-  in the sequel we assume the \p source system will contain the constraints
-  that represent the polyhedron and the \p dest system will contain
-  the generator that generates it.
-
-  There are some observations that are useful to understand this function:
-
-  Observation 1: Let \f$A\f$ be a system of constraints that generate
-  the polyhedron \f$P\f$ and \f$\vect{c}\f$ a new constraint that must
-  be added. Suppose that there is a line \f$\vect{z}\f$ that does not
-  saturate the constraint \f$\vect{c}\f$. If we combine the old lines
-  and rays that do not saturate \f$\vect{c}\f$ (except \f$\vect{z}\f$)
-  with \f$\vect{z}\f$ such that the new ones saturate \f$\vect{c}\f$,
-  the new lines and rays also saturate the constraints  saturated by
-  the old lines and rays.
-
-  In fact, if \f$\vect{y}_1\f$ is the old generator that does not saturate
-  \f$\vect{c}\f$, \f$\vect{y}_2\f$ is the new one such that
-  \f[
-    \vect{y}_2 = \lambda \vect{y}_1 + \mu \vect{z}
-  \f]
-  and \f$\vect{c}_1\f$ is a previous constraint that \f$\vect{y}_1\f$
-  and \f$\vect{z}\f$ saturates, we can see
-  \f[
-    \langle \vect{c}_1, \vect{y}_2 \rangle
-    = \langle \vect{c}_1, (\lambda \vect{y}_1 + \mu \vect{z}) \rangle
-    = \lambda \langle \vect{c}_1, \vect{y}_1 \rangle
-       + \mu \langle \vect{c}_1, \vect{z} \rangle
-       = 0 + \mu \langle \vect{c}_1, \vect{z} \rangle
-       = \mu \langle \vect{c}_1, \vect{z} \rangle
-  \f]
-  and
-  \f[
-    \mu \langle \vect{c}_1, \vect{z} \rangle = 0.
-  \f]
-
-  Proposition 1: Let \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ be distinct
-  rays of \f$P\f$.
-  Then the following statements are equivalent:
-  a) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are adjacent extreme rays
-     (see Section \ref prelims);
-  b) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are extreme rays and the
-     rank of the system composed by the constraints saturated by both
-     \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is equal to
-     \f$d - 2\f$, where \f$d\f$ is the rank of the system of constraints.
-
-  In fact, let \f$F\f$ be the system of generators that saturate the
-  constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$.
-  If b) holds, the set \f$F\f$ is 2-dimensional and \f$\vect{r}_1\f$ and
-  \f$\vect{r}_2\f$ generate this set. So, every generator
-  \f$\vect{x}\f$ of \f$F\f$ can be built as a combination of
-  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$, i.e.
-  \f[
-    \vect{x} = \lambda \vect{r}_1 + \mu \vect{r}_2.
-  \f]
-  This combination is non-negative because there exists at least a
-  constraint \f$c\f$ saturated by \f$\vect{r}_1\f$ and not
-  \f$\vect{r}_2\f$ (or vice versa) (because they are distinct) for which
-  \f[
-    \langle \vect{c}, \vect{x} \rangle \geq 0
-  \f]
-  and
-  \f[
-    \langle \vect{c}, \vect{x} \rangle
-    = \lambda \langle \vect{c}, \vect{r}_1 \rangle
-                           (or = \mu \langle \vect{c}, \vect{r}_2 \rangle).
-  \f]
-  So, there is no other extreme ray in \f$F\f$ and a) holds.
-  Otherwise, if b) does not hold, the rank of the system generated by
-  the constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$
-  is equal to \f$d - k\f$, with \p k \>= 3, the set \f$F\f$ is
-  \p k -dimensional and at least \p k extreme rays are necessary
-  to generate \f$F\f$.
-  So, \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent and
-  a) does not hold.
-
-  Proposition 2: When we build the new system of generators starting from
-  a system \f$A\f$ of constraints of \f$P\f$, if \f$\vect{c}\f$ is the
-  constraint to add to \f$A\f$ and all lines of \f$P\f$ saturate
-  \f$\vect{c}\f$, the new set of rays is the union of those rays that
-  saturate, of those that satisfy and of a set \f$\overline Q\f$ of
-  rays such that each of them
-  -# lies on the hyper-plane represented by the k-th constraint,
-  -# is a positive combination of two adjacent rays \f$\vect{r}_1\f$ and
-     \f$\vect{r}_2\f$ such that the first one satisfies the constraint and
-     the other does not satisfy it.
-  If the adjacency property is not taken in account, the new set of
-  rays is not irredundant, in general.
-
-  In fact, if \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent,
-  the rank of the system composed by the constraints saturated by both
-  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is different from \f$d - 2\f$
-  (see the previous proposition) or neither \f$\vect{r}_1\f$ nor
-  \f$\vect{r}_2\f$ are extreme rays. Since the new ray \f$\vect{r}\f$
-  is a combination of \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$,
-  it saturates the same constraints saturated by both \f$\vect{r}_1\f$ and
-  \f$\vect{r}_2\f$.
-  If the rank is less than \f$d - 2\f$, the rank of
-  the system composed by \f$\vect{c}\f$ (that is saturated by \f$\vect{r}\f$)
-  and by the constraints of \f$A\f$ saturated by \f$\vect{r}\f$  is less
-  than \f$d - 1\f$. It means that \f$r\f$ is redundant (see
-  Section \ref prelims).
-  If neither \f$\vect{r}_1\f$ nor \f$\vect{r}_2\f$ are extreme rays,
-  they belong to a 2-dimensional face containing exactly two extreme rays
-  of \f$P\f$.
-  These two adjacent rays build a ray equal to \f$\vect{r}\f$ and so
-  \f$\vect{r}\f$ is redundant.
-*/
-PPL::dimension_type
-PPL::Polyhedron::conversion(Linear_System& source,
-			    const dimension_type start,
-			    Linear_System& dest,
-			    Bit_Matrix& sat,
-			    dimension_type num_lines_or_equalities) {
-  dimension_type source_num_rows = source.num_rows();
-  dimension_type dest_num_rows = dest.num_rows();
-  const dimension_type source_num_columns = source.num_columns();
-  const dimension_type dest_num_columns = dest.num_columns();
-
-  // By construction, the number of columns of `sat' is the same as
-  // the number of rows of `source'; also, the number of rows of `sat'
-  // is the same as the number of rows of `dest'.
-  PPL_ASSERT(source_num_rows == sat.num_columns());
-  PPL_ASSERT(dest_num_rows == sat.num_rows());
-
-  // If `start > 0', then we are converting the pending constraints.
-  PPL_ASSERT(start == 0 || start == source.first_pending_row());
-
-  // During the iteration on the constraints in `source' we may identify
-  // constraints that are redundant: these have to be removed by swapping
-  // the rows of `source', taking care not to compromise the sortedness
-  // of the constraints that still have to be considered.
-  // To this end, the following counter keeps the number of redundant
-  // constraints seen so far, to be used as a displacement when swapping rows.
-  dimension_type source_num_redundant = 0;
-
-  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_i);
-  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_o);
-
-  // Converting the sub-system of `source' having rows with indexes
-  // from `start' to the last one (i.e., `source_num_rows' - 1).
-  for (dimension_type k = start; k < source_num_rows; ) {
-
-    // All the `source_num_redundant' redundant constraints identified so far
-    // have consecutive indices starting from `k'.
-    if (source_num_redundant > 0)
-      // Let the next constraint have index `k'.
-      // There is no need to swap the columns of `sat' (all zeroes).
-      std::swap(source[k], source[k+source_num_redundant]);
-
-    Linear_Row& source_k = source[k];
-
-    // Constraints and generators must have the same dimension,
-    // otherwise the scalar product below will bomb.
-    PPL_ASSERT(source_num_columns == dest_num_columns);
-
-    // `scalar_prod[i]' will contain the scalar product of the
-    // constraint `source_k' and the generator `dest[i]'.  This
-    // product is 0 if and only if the generator saturates the
-    // constraint.
-    PPL_DIRTY_TEMP0(std::vector<Coefficient>, scalar_prod);
-    const int needed_space = dest_num_rows - scalar_prod.size();
-    if (needed_space > 0)
-      scalar_prod.insert(scalar_prod.end(), needed_space, Coefficient_zero());
-    // `index_non_zero' will indicate the first generator in `dest'
-    // that does not saturate the constraint `source_k'.
-    dimension_type index_non_zero = 0;
-    for ( ; index_non_zero < dest_num_rows; ++index_non_zero) {
-      WEIGHT_BEGIN();
-      Scalar_Products::assign(scalar_prod[index_non_zero],
-			      source_k,
-			      dest[index_non_zero]);
-      WEIGHT_ADD_MUL(17, source_num_columns);
-      if (scalar_prod[index_non_zero] != 0)
-	// The generator does not saturate the constraint.
-	break;
-      // Check if the client has requested abandoning all expensive
-      // computations.  If so, the exception specified by the client
-      // is thrown now.
-      maybe_abandon();
-    }
-    for (dimension_type i = index_non_zero + 1; i < dest_num_rows; ++i) {
-      WEIGHT_BEGIN();
-      Scalar_Products::assign(scalar_prod[i], source_k, dest[i]);
-      WEIGHT_ADD_MUL(25, source_num_columns);
-      // Check if the client has requested abandoning all expensive
-      // computations.  If so, the exception specified by the client
-      // is thrown now.
-      maybe_abandon();
-    }
-
-    // We first treat the case when `index_non_zero' is less than
-    // `num_lines_or_equalities', i.e., when the generator that
-    // does not saturate the constraint `source_k' is a line.
-    // The other case (described later) is when all the lines
-    // in `dest' (i.e., all the rows having indexes less than
-    // `num_lines_or_equalities') do saturate the constraint.
-
-    if (index_non_zero < num_lines_or_equalities) {
-      // Since the generator `dest[index_non_zero]' does not saturate
-      // the constraint `source_k', it can no longer be a line
-      // (see saturation rule in Section \ref prelims).
-      // Therefore, we first transform it to a ray.
-      dest[index_non_zero].set_is_ray_or_point_or_inequality();
-      // Of the two possible choices, we select the ray satisfying
-      // the constraint (namely, the ray whose scalar product
-      // with the constraint gives a positive result).
-      if (scalar_prod[index_non_zero] < 0) {
-	// The ray `dest[index_non_zero]' lies on the wrong half-space:
-	// we change it to have the opposite direction.
-	neg_assign(scalar_prod[index_non_zero]);
-	for (dimension_type j = dest_num_columns; j-- > 0; )
-	  neg_assign(dest[index_non_zero][j]);
-      }
-      // Having changed a line to a ray, we set `dest' to be a
-      // non-sorted system, we decrement the number of lines of `dest' and,
-      // if necessary, we move the new ray below all the remaining lines.
-      dest.set_sorted(false);
-      --num_lines_or_equalities;
-      if (index_non_zero != num_lines_or_equalities) {
-	std::swap(dest[index_non_zero],
-		  dest[num_lines_or_equalities]);
-	std::swap(scalar_prod[index_non_zero],
-		  scalar_prod[num_lines_or_equalities]);
-      }
-      Linear_Row& dest_nle = dest[num_lines_or_equalities];
-
-      // Computing the new lineality space.
-      // Since each line must lie on the hyper-plane corresponding to
-      // the constraint `source_k', the scalar product between
-      // the line and the constraint must be 0.
-      // This property already holds for the lines having indexes
-      // between 0 and `index_non_zero' - 1.
-      // We have to consider the remaining lines, having indexes
-      // between `index_non_zero' and `num_lines_or_equalities' - 1.
-      // Each line that does not saturate the constraint has to be
-      // linearly combined with generator `dest_nle' so that the
-      // resulting new line saturates the constraint.
-      // Note that, by Observation 1 above, the resulting new line
-      // will still saturate all the constraints that were saturated by
-      // the old line.
-
-      Coefficient& scalar_prod_nle = scalar_prod[num_lines_or_equalities];
-      for (dimension_type
-	     i = index_non_zero; i < num_lines_or_equalities; ++i) {
-	if (scalar_prod[i] != 0) {
-	  // The following fragment optimizes the computation of
-	  //
-	  // Coefficient scale = scalar_prod[i];
-	  // scale.gcd_assign(scalar_prod_nle);
-	  // Coefficient normalized_sp_i = scalar_prod[i] / scale;
-	  // Coefficient normalized_sp_n = scalar_prod_nle / scale;
-	  // for (dimension_type c = dest_num_columns; c-- > 0; ) {
-	  //   dest[i][c] *= normalized_sp_n;
-	  //   dest[i][c] -= normalized_sp_i * dest_nle[c];
-	  // }
-	  normalize2(scalar_prod[i],
-		     scalar_prod_nle,
-		     normalized_sp_i,
-		     normalized_sp_o);
-	  Linear_Row& dest_i = dest[i];
-	  for (dimension_type c = dest_num_columns; c-- > 0; ) {
-	    Coefficient& dest_i_c = dest_i[c];
-	    dest_i_c *= normalized_sp_o;
-	    sub_mul_assign(dest_i_c, normalized_sp_i, dest_nle[c]);
-	  }
-	  dest_i.strong_normalize();
-	  scalar_prod[i] = 0;
-	  // `dest' has already been set as non-sorted.
-	}
-      }
-
-      // Computing the new pointed cone.
-      // Similarly to what we have done during the computation of
-      // the lineality space, we consider all the remaining rays
-      // (having indexes strictly greater than `num_lines_or_equalities')
-      // that do not saturate the constraint `source_k'. These rays
-      // are positively combined with the ray `dest_nle' so that the
-      // resulting new rays saturate the constraint.
-      for (dimension_type
-	     i = num_lines_or_equalities + 1; i < dest_num_rows; ++i) {
-	if (scalar_prod[i] != 0) {
-	  // The following fragment optimizes the computation of
-	  //
-	  // Coefficient scale = scalar_prod[i];
-	  // scale.gcd_assign(scalar_prod_nle);
-	  // Coefficient normalized_sp_i = scalar_prod[i] / scale;
-	  // Coefficient normalized_sp_n = scalar_prod_nle / scale;
-	  // for (dimension_type c = dest_num_columns; c-- > 0; ) {
-	  //   dest[i][c] *= normalized_sp_n;
-	  //   dest[i][c] -= normalized_sp_i * dest_nle[c];
-	  // }
-	  normalize2(scalar_prod[i],
-		     scalar_prod_nle,
-		     normalized_sp_i,
-		     normalized_sp_o);
-	  Linear_Row& dest_i = dest[i];
-          WEIGHT_BEGIN();
-	  for (dimension_type c = dest_num_columns; c-- > 0; ) {
-	    Coefficient& dest_i_c = dest_i[c];
-	    dest_i_c *= normalized_sp_o;
-	    sub_mul_assign(dest_i_c, normalized_sp_i, dest_nle[c]);
-	  }
-	  dest_i.strong_normalize();
-	  scalar_prod[i] = 0;
-	  // `dest' has already been set as non-sorted.
-          WEIGHT_ADD_MUL(41, dest_num_columns);
-	}
-        // Check if the client has requested abandoning all expensive
-        // computations.  If so, the exception specified by the client
-        // is thrown now.
-	maybe_abandon();
-      }
-      // Since the `scalar_prod_nle' is positive (by construction), it
-      // does not saturate the constraint `source_k'.  Therefore, if
-      // the constraint is an inequality, we set to 1 the
-      // corresponding element of `sat' ...
-      Bit_Row& sat_nle = sat[num_lines_or_equalities];
-      if (source_k.is_ray_or_point_or_inequality())
-	sat_nle.set(k);
-      // ... otherwise, the constraint is an equality which is
-      // violated by the generator `dest_nle': the generator has to be
-      // removed from `dest'.
-      else {
-	--dest_num_rows;
-	std::swap(dest_nle, dest[dest_num_rows]);
-	std::swap(scalar_prod_nle, scalar_prod[dest_num_rows]);
-	std::swap(sat_nle, sat[dest_num_rows]);
-	// `dest' has already been set as non-sorted.
-      }
-      // We continue with the next constraint.
-      ++k;
-    }
-    // Here we have `index_non_zero' >= `num_lines_or_equalities',
-    // so that all the lines in `dest' saturate the constraint `source_k'.
-    else {
-      // First, we reorder the generators in `dest' as follows:
-      // -# all the lines should have indexes between 0 and
-      //    `num_lines_or_equalities' - 1 (this already holds);
-      // -# all the rays that saturate the constraint should have
-      //    indexes between `num_lines_or_equalities' and
-      //    `lines_or_equal_bound' - 1; these rays form the set Q=.
-      // -# all the rays that have a positive scalar product with the
-      //    constraint should have indexes between `lines_or_equal_bound'
-      //    and `sup_bound' - 1; these rays form the set Q+.
-      // -# all the rays that have a negative scalar product with the
-      //    constraint should have indexes between `sup_bound' and
-      //    `dest_num_rows' - 1; these rays form the set Q-.
-      dimension_type lines_or_equal_bound = num_lines_or_equalities;
-      dimension_type inf_bound = dest_num_rows;
-      // While we find saturating generators, we simply increment
-      // `lines_or_equal_bound'.
-      while (inf_bound > lines_or_equal_bound
-	     && scalar_prod[lines_or_equal_bound] == 0)
-	++lines_or_equal_bound;
-      dimension_type sup_bound = lines_or_equal_bound;
-      while (inf_bound > sup_bound) {
-	const int sp_sign = sgn(scalar_prod[sup_bound]);
-	if (sp_sign == 0) {
-	  // This generator has to be moved in Q=.
-	  std::swap(dest[sup_bound], dest[lines_or_equal_bound]);
-	  std::swap(scalar_prod[sup_bound], scalar_prod[lines_or_equal_bound]);
-	  std::swap(sat[sup_bound], sat[lines_or_equal_bound]);
-	  ++lines_or_equal_bound;
-	  ++sup_bound;
-	  dest.set_sorted(false);
-	}
-	else if (sp_sign < 0) {
-	  // This generator has to be moved in Q-.
-	  --inf_bound;
-	  std::swap(dest[sup_bound], dest[inf_bound]);
-	  std::swap(scalar_prod[sup_bound], scalar_prod[inf_bound]);
-	  std::swap(sat[sup_bound], sat[inf_bound]);
-	  dest.set_sorted(false);
-	}
-	else
-	  // sp_sign > 0: this generator has to be moved in Q+.
-	  ++sup_bound;
-      }
-
-      if (sup_bound == dest_num_rows) {
-	// Here the set Q- is empty.
-	// If the constraint is an inequality, then all the generators
-	// in Q= and Q+ satisfy the constraint. The constraint is redundant
-	// and it can be safely removed from the constraint system.
-	// This is why the `source' parameter is not declared `const'.
-	if (source_k.is_ray_or_point_or_inequality()) {
-	  ++source_num_redundant;
-	  --source_num_rows;
-	  // NOTE: we continue with the next cycle of the loop
-	  // without incrementing the index `k', because:
-	  // -# either `k == source_num_rows', and we will exit the loop;
-	  // -# or, having increased `source_num_redundant', we will swap
-	  //    in position `k' a constraint that still has to be examined.
-	}
-	else {
-	  // The constraint is an equality, so that all the generators
-	  // in Q+ violate it. Since the set Q- is empty, we can simply
-	  // remove from `dest' all the generators of Q+.
-	  dest_num_rows = lines_or_equal_bound;
-          // We continue with the next constraint.
-	  ++k;
-        }
-      }
-      else {
-	// The set Q- is not empty, i.e., at least one generator
-	// violates the constraint `source_k'.
-	// We have to further distinguish two cases:
-	if (sup_bound == num_lines_or_equalities)
-	  // The set Q+ is empty, so that all generators that satisfy
-	  // the constraint also saturate it.
-	  // We can simply remove from `dest' all the generators in Q-.
-	  dest_num_rows = sup_bound;
-	else {
-	  // The sets Q+ and Q- are both non-empty.
-	  // The generators of the new pointed cone are all those satisfying
-	  // the constraint `source_k' plus a set of new rays enjoying
-	  // the following properties:
-	  // -# they lie on the hyper-plane represented by the constraint
-	  // -# they are obtained as a positive combination of two
-	  //    adjacent rays, the first taken from Q+ and the second
-	  //    taken from Q-.
-
-	  // The adjacency property is necessary to have an irredundant
-	  // set of new rays (see proposition 2).
-	  const dimension_type bound = dest_num_rows;
-
-	  // In the following loop,
-	  // `i' runs through the generators in the set Q+ and
-	  // `j' runs through the generators in the set Q-.
-	  for (dimension_type i = lines_or_equal_bound; i < sup_bound; ++i) {
-	    for(dimension_type j = sup_bound; j < bound; ++j) {
-	      // Checking if generators `dest[i]' and `dest[j]' are adjacent.
-	      // If there exist another generator that saturates
-	      // all the constraints saturated by both `dest[i]' and
-	      // `dest[j]', then they are NOT adjacent.
-	      PPL_ASSERT(sat[i].last() == ULONG_MAX || sat[i].last() < k);
-	      PPL_ASSERT(sat[j].last() == ULONG_MAX || sat[j].last() < k);
-
-	      // Being the union of `sat[i]' and `sat[j]',
-	      // `new_satrow' corresponds to a ray that saturates all the
-	      // constraints saturated by both `dest[i]' and `dest[j]'.
-	      Bit_Row new_satrow(sat[i], sat[j]);
-
-	      // Compute the number of common saturators.
-	      // NOTE: this number has to be less than `k' because
-	      // we are treating the `k'-th constraint.
-	      const dimension_type
-		num_common_satur = k - new_satrow.count_ones();
-
-	      // Even before actually creating the new ray as a
-	      // positive combination of `dest[i]' and `dest[j]',
-	      // we exploit saturation information to check if
-	      // it can be an extremal ray. To this end, we refer
-	      // to the definition of a minimal proper face
-	      // (see comments in Polyhedron.defs.hh):
-	      // an extremal ray saturates at least `n' - `t' - 1
-	      // constraints, where `n' is the dimension of the space
-	      // and `t' is the dimension of the lineality space.
-	      // Since `n == source_num_columns - 1' and
-	      // `t == num_lines_or_equalities', we obtain that
-	      // an extremal ray saturates at least
-	      // `source_num_columns - num_lines_or_equalities - 2'
-	      // constraints.
-	      if (num_common_satur
-		  >= source_num_columns - num_lines_or_equalities - 2) {
-		// The minimal proper face rule is satisfied.
-		// Now we actually check for redundancy by computing
-		// adjacency information.
-		bool redundant = false;
-		WEIGHT_BEGIN();
-		for (dimension_type
-		       l = num_lines_or_equalities; l < bound; ++l)
-		  if (l != i && l != j
-		      && subset_or_equal(sat[l], new_satrow)) {
-		    // Found another generator saturating all the
-		    // constraints saturated by both `dest[i]' and `dest[j]'.
-		    redundant = true;
-		    break;
-		  }
-                PPL_ASSERT(bound >= num_lines_or_equalities);
-                WEIGHT_ADD_MUL(15, bound - num_lines_or_equalities);
-		if (!redundant) {
-		  // Adding the new ray to `dest' and the corresponding
-		  // saturation row to `sat'.
-		  if (dest_num_rows == dest.num_rows()) {
-		    // Make room for one more row.
-		    dest.add_pending_row(Linear_Row::Flags(dest.topology(),
-							   Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
-		    sat.add_recycled_row(new_satrow);
-		  }
-		  else
-                    sat[dest_num_rows].swap(new_satrow);
-
-		  Linear_Row& new_row = dest[dest_num_rows];
-		  // The following fragment optimizes the computation of
-		  //
-		  // Coefficient scale = scalar_prod[i];
-		  // scale.gcd_assign(scalar_prod[j]);
-		  // Coefficient normalized_sp_i = scalar_prod[i] / scale;
-		  // Coefficient normalized_sp_j = scalar_prod[j] / scale;
-		  // for (dimension_type c = dest_num_columns; c-- > 0; ) {
-		  //   new_row[c] = normalized_sp_i * dest[j][c];
-		  //   new_row[c] -= normalized_sp_j * dest[i][c];
-		  // }
-		  normalize2(scalar_prod[i],
-			     scalar_prod[j],
-			     normalized_sp_i,
-			     normalized_sp_o);
-		  WEIGHT_BEGIN();
-		  for (dimension_type c = dest_num_columns; c-- > 0; ) {
-		    Coefficient& new_row_c = new_row[c];
-		    new_row_c = normalized_sp_i * dest[j][c];
-		    sub_mul_assign(new_row_c, normalized_sp_o, dest[i][c]);
-		  }
-                  WEIGHT_ADD_MUL(86, dest_num_columns);
-		  new_row.strong_normalize();
-		  // Since we added a new generator to `dest',
-		  // we also add a new element to `scalar_prod';
-		  // by construction, the new ray lies on the hyper-plane
-		  // represented by the constraint `source_k'.
-		  // Thus, the added scalar product is 0.
-		  PPL_ASSERT(scalar_prod.size() >= dest_num_rows);
-		  if (scalar_prod.size() <= dest_num_rows)
-		    scalar_prod.push_back(Coefficient_zero());
-		  else
-		    scalar_prod[dest_num_rows] = Coefficient_zero();
-		  // Increment the number of generators.
-		  ++dest_num_rows;
-		} // if (!redundant)
-	      }
-	    }
-            // Check if the client has requested abandoning all expensive
-            // computations.  If so, the exception specified by the client
-            // is thrown now.
-	    maybe_abandon();
-	  }
-	  // Now we substitute the rays in Q- (i.e., the rays violating
-	  // the constraint) with the newly added rays.
-	  dimension_type j;
-	  if (source_k.is_ray_or_point_or_inequality()) {
-	    // The constraint is an inequality:
-	    // the violating generators are those in Q-.
-	    j = sup_bound;
-	    // For all the generators in Q+, set to 1 the corresponding
-	    // entry for the constraint `source_k' in the saturation matrix.
-            for (dimension_type l = lines_or_equal_bound; l < sup_bound; ++l)
-              sat[l].set(k);
-	  }
-	  else
-	    // The constraint is an equality:
-	    // the violating generators are those in the union of Q+ and Q-.
-	    j = lines_or_equal_bound;
-
-	  // Swapping the newly added rays
-	  // (index `i' running through `dest_num_rows - 1' down-to `bound')
-	  // with the generators violating the constraint
-	  // (index `j' running through `j' up-to `bound - 1').
-	  dimension_type i = dest_num_rows;
-	  while (j < bound && i > bound) {
-	    --i;
-	    std::swap(dest[i], dest[j]);
-	    std::swap(scalar_prod[i], scalar_prod[j]);
-	    std::swap(sat[i], sat[j]);
-	    ++j;
-	    dest.set_sorted(false);
-	  }
-	  // Setting the number of generators in `dest':
-	  // - if the number of generators violating the constraint
-	  //   is less than or equal to the number of the newly added
-	  //   generators, we assign `i' to `dest_num_rows' because
-	  //   all generators above this index are significant;
-	  // - otherwise, we assign `j' to `dest_num_rows' because
-	  //   all generators below index `j-1' violates the constraint.
-	  dest_num_rows = (j == bound) ? i : j;
-	}
-	// We continue with the next constraint.
-	++k;
-      }
-    }
-  }
-
-  // We may have identified some redundant constraints in `source',
-  // which have been swapped at the end of the system.
-  if (source_num_redundant > 0) {
-    PPL_ASSERT(source_num_redundant == source.num_rows() - source_num_rows);
-    source.erase_to_end(source_num_rows);
-    sat.columns_erase_to_end(source_num_rows);
-  }
-  // If `start == 0', then `source' was sorted and remained so.
-  // If otherwise `start > 0', then the two sub-system made by the
-  // non-pending rows and the pending rows, respectively, were both sorted.
-  // Thus, the overall system is sorted if and only if either
-  // `start == source_num_rows' (i.e., the second sub-system is empty)
-  // or the row ordering holds for the two rows at the boundary between
-  // the two sub-systems.
-  if (start > 0 && start < source_num_rows)
-    source.set_sorted(compare(source[start - 1], source[start]) <= 0);
-  // There are no longer pending constraints in `source'.
-  source.unset_pending_rows();
-
-  // We may have identified some redundant rays in `dest',
-  // which have been swapped at the end of the system.
-  if (dest_num_rows < dest.num_rows()) {
-    dest.erase_to_end(dest_num_rows);
-    // Be careful: we might have erased some of the non-pending rows.
-    if (dest.first_pending_row() > dest_num_rows)
-      dest.unset_pending_rows();
-    sat.rows_erase_to_end(dest_num_rows);
-  }
-  if (dest.is_sorted())
-    // If the non-pending generators in `dest' are still declared to be
-    // sorted, then we have to also check for the sortedness of the
-    // pending generators.
-    for (dimension_type i = dest.first_pending_row(); i < dest_num_rows; ++i)
-      if (compare(dest[i - 1], dest[i]) > 0) {
-	dest.set_sorted(false);
-	break;
-      }
-  // There are no pending generators in `dest'.
-  dest.unset_pending_rows();
-
-  return num_lines_or_equalities;
-}
diff --git a/src/distances.defs.hh b/src/distances.defs.hh
index a4f5664..adbb098 100644
--- a/src/distances.defs.hh
+++ b/src/distances.defs.hh
@@ -1,6 +1,6 @@
 /* Class declarations for several distances.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_distances_defs_hh
 #define PPL_distances_defs_hh 1
diff --git a/src/distances.inlines.hh b/src/distances.inlines.hh
index beb6992..fd0863d 100644
--- a/src/distances.inlines.hh
+++ b/src/distances.inlines.hh
@@ -1,6 +1,6 @@
 /* Inline functions implementing distances.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_distances_inlines_hh
 #define PPL_distances_inlines_hh 1
diff --git a/src/distances.types.hh b/src/distances.types.hh
index c1e3cc8..e9a7995 100644
--- a/src/distances.types.hh
+++ b/src/distances.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/fpu-c99.inlines.hh b/src/fpu-c99.inlines.hh
index 25f6c44..176affd 100644
--- a/src/fpu-c99.inlines.hh
+++ b/src/fpu-c99.inlines.hh
@@ -1,6 +1,6 @@
 /* C99 Floating point unit related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_fpu_c99_inlines_hh
 #define PPL_fpu_c99_inlines_hh 1
@@ -38,7 +38,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_FPU_DOWNWARD FE_DOWNWARD
 #endif
 #ifdef FE_TOWARDZERO
-#define PPL_PPL_FPU_TOWARDZERO FE_TOWARDZERO
+#define PPL_FPU_TOWARDZERO FE_TOWARDZERO
 #endif
 
 namespace Parma_Polyhedra_Library {
@@ -87,7 +87,7 @@ fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
 inline int
 fpu_check_inexact() {
 #if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-  return fetestexcept(FE_INEXACT) != 0;
+  return fetestexcept(FE_INEXACT) != 0 ? 1 : 0;
 #else
   return -1;
 #endif
diff --git a/src/fpu-ia32.cc b/src/fpu-ia32.cc
index 16e9aa1..73a1833 100644
--- a/src/fpu-ia32.cc
+++ b/src/fpu-ia32.cc
@@ -1,6 +1,6 @@
 /* IA-32 floating point unit non-inline related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 
 #if PPL_CAN_CONTROL_FPU && defined(PPL_FPMATH_MAY_USE_SSE) \
   && defined(__i386__) \
@@ -53,19 +53,19 @@ bool have_sse_unit = true;
 void
 detect_sse_unit() {
   void (*old)(int);
+  // Install our own signal handler for SIGILL.
+  old = signal(SIGILL, illegal_instruction_catcher);
+
   if (setjmp(env)) {
     // We will end up here if sse_get_control() raises SIGILL.
     have_sse_unit = false;
-    goto restore_sigill_handler;
+  }
+  else {
+    (void) sse_get_control();
+    // sse_get_control() did not raise SIGILL: we have an SSE unit.
+    have_sse_unit = true;
   }
 
-  // Install our own signal handler for SIGILL.
-  old = signal(SIGILL, illegal_instruction_catcher);
-  (void) sse_get_control();
-  // sse_get_control() did not raise SIGILL: we have an SSE unit.
-  have_sse_unit = true;
-
- restore_sigill_handler:
   // Restore the previous signal handler for SIGILL.
   signal(SIGILL, old);
 }
diff --git a/src/fpu-ia32.inlines.hh b/src/fpu-ia32.inlines.hh
index 5ef69a2..54ba62d 100644
--- a/src/fpu-ia32.inlines.hh
+++ b/src/fpu-ia32.inlines.hh
@@ -1,6 +1,6 @@
 /* IA-32 floating point unit inline related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_fpu_ia32_inlines_hh
 #define PPL_fpu_ia32_inlines_hh 1
diff --git a/src/fpu-none.inlines.hh b/src/fpu-none.inlines.hh
index 5025bd3..2112079 100644
--- a/src/fpu-none.inlines.hh
+++ b/src/fpu-none.inlines.hh
@@ -1,6 +1,6 @@
 /* Null floating point unit related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_fpu_none_inlines_hh
 #define PPL_fpu_none_inlines_hh 1
diff --git a/src/fpu-sparc.inlines.hh b/src/fpu-sparc.inlines.hh
index 280bb0b..0c8f5f7 100644
--- a/src/fpu-sparc.inlines.hh
+++ b/src/fpu-sparc.inlines.hh
@@ -1,6 +1,6 @@
 /* SPARC floating point unit related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_fpu_sparc_inlines_hh
 #define PPL_fpu_sparc_inlines_hh 1
diff --git a/src/fpu.defs.hh b/src/fpu.defs.hh
index 7cf9bf3..a3acf1a 100644
--- a/src/fpu.defs.hh
+++ b/src/fpu.defs.hh
@@ -1,6 +1,6 @@
 /* Floating point unit related functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_fpu_defs_hh
 #define PPL_fpu_defs_hh 1
@@ -29,6 +29,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+//! \name Functions Controlling Floating Point Unit
+//@{
+
 //! Initializes the FPU control functions.
 void
 fpu_initialize_control_functions();
@@ -73,6 +76,8 @@ fpu_reset_inexact();
 int
 fpu_check_inexact();
 
+//@} // Functions Controlling Floating Point Unit
+
 } // namespace Parma_Polyhedra_Library
 
 #if PPL_CAN_CONTROL_FPU
@@ -87,7 +92,7 @@ fpu_check_inexact();
 #elif defined(PPL_HAVE_FENV_H)
 #include "fpu-c99.inlines.hh"
 #else
-#error "PPL_CAN_CONTROL_FPU evaluates to true, but why?"
+#error "PPL_CAN_CONTROL_FPU evaluates to true: why?"
 #endif
 
 #else // !PPL_CAN_CONTROL_FPU
diff --git a/src/fpu.types.hh b/src/fpu.types.hh
index 51d0f16..5e719b1 100644
--- a/src/fpu.types.hh
+++ b/src/fpu.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/globals.cc b/src/globals.cc
index e31887b..7e11305 100644
--- a/src/globals.cc
+++ b/src/globals.cc
@@ -1,6 +1,6 @@
 /* Definitions of global objects.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "globals.defs.hh"
 #include "Constraint.defs.hh"
 #include "Generator.defs.hh"
@@ -36,9 +35,25 @@ Weightwatch_Traits::Threshold Weightwatch_Traits::weight = 0;
 void (*Weightwatch_Traits::check_function)(void) = 0;
 
 #ifndef NDEBUG
-namespace Implementation {
-unsigned int in_assert = 0;
-}
+
+unsigned int In_Assert::count = 0;
+
 #endif
 
+
+dimension_type
+check_space_dimension_overflow(const dimension_type dim,
+                               const dimension_type max,
+                               const char* domain,
+                               const char* method,
+                               const char* reason) {
+  if (dim > max) {
+    std::ostringstream s;
+    s << domain << method << ":" << std::endl
+      << reason << ".";
+    throw std::length_error(s.str());
+  }
+  return dim;
+}
+
 } // namespace Parma_Polyhedra_Library
diff --git a/src/globals.defs.hh b/src/globals.defs.hh
index c68356b..15340c2 100644
--- a/src/globals.defs.hh
+++ b/src/globals.defs.hh
@@ -1,6 +1,6 @@
 /* Declarations of global objects.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_globals_defs_hh
 #define PPL_globals_defs_hh 1
@@ -32,6 +32,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include <exception>
 #include <gmpxx.h>
 
+
 namespace Parma_Polyhedra_Library {
 
 //! Returns a value that does not designate a valid dimension.
@@ -39,6 +40,12 @@ dimension_type
 not_a_dimension();
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the hash code for space dimension \p dim.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int32_t
+hash_code_from_dimension(dimension_type dim);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
   Make sure swap() is specialized when needed.
 
@@ -59,7 +66,8 @@ swap(T&, T&) {
   Use of this macro to declare temporaries of type Coefficient results
   in decreased memory allocation overhead and in better locality.
 */
-#define PPL_DIRTY_TEMP_COEFFICIENT(id) PPL_DIRTY_TEMP0(Coefficient, id)
+#define PPL_DIRTY_TEMP_COEFFICIENT(id) \
+PPL_DIRTY_TEMP(Parma_Polyhedra_Library::Coefficient, id)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Speculative allocation function.
@@ -107,7 +115,21 @@ struct Weightwatch_Traits {
   //! Compares the two weights \p a and \p b.
   static bool less_than(const Threshold& a, const Threshold& b);
 
-  //! Sets \p threshold to be \p delta units bigger than the current weigth.
+  //! Computes a \c Delta value from \p unscaled and \p scale.
+  /*!
+    \return
+    \f$u \cdot 2^s\f$, where \f$u\f$ is the value of \p unscaled and
+    \f$s\f$ is the value of \p scale.
+
+    \param unscaled
+    The value of delta before scaling.
+
+    \param scale
+    The scaling to be applied to \p unscaled.
+  */
+  static Delta compute_delta(unsigned long unscaled, unsigned scale);
+
+  //! Sets \p threshold to be \p delta units bigger than the current weight.
   static void from_delta(Threshold& threshold, const Delta& delta);
 
   //! The current computational weight.
@@ -124,55 +146,25 @@ struct Weightwatch_Traits {
 
 
 #ifndef NDEBUG
-namespace Implementation {
 
-//! Non zero during evaluation of PPL_ASSERT expression.
-extern unsigned int in_assert;
+class In_Assert {
+private:
+  //! Non zero during evaluation of PPL_ASSERT expression.
+  static unsigned int count;
+public:
+  In_Assert() {
+    ++count;
+  }
+  ~In_Assert() {
+    --count;
+  }
+  static bool asserting() {
+    return count != 0;
+  }
+};
 
-} // namespace Implementation
 #endif
 
-#ifndef PPL_PROFILE_ADD_WEIGHT
-#define PPL_PROFILE_ADD_WEIGHT 0
-#endif
-
-#if defined(NDEBUG)
-#if PPL_PROFILE_ADD_WEIGHT
-#define WEIGHT_BEGIN() Weight_Profiler::begin()
-#define WEIGHT_ADD(delta)                                     \
-  do {                                                        \
-    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
-    wp__.end();                                               \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                                   \
-  do {                                                                  \
-    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
-    wp__.end(factor);                                                   \
-  } while(0)
-#else
-#define WEIGHT_BEGIN()
-#define WEIGHT_ADD(delta)                       \
-  do {                                          \
-    Weightwatch_Traits::weight += delta;        \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                   \
-  do {                                                  \
-    Weightwatch_Traits::weight += delta * factor;       \
-  } while(0)
-#endif
-#else
-#define WEIGHT_BEGIN()
-#define WEIGHT_ADD(delta)                       \
-  do {                                          \
-    if (!Implementation::in_assert)             \
-      Weightwatch_Traits::weight += delta;      \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                   \
-  do {                                                  \
-    if (!Implementation::in_assert)                     \
-      Weightwatch_Traits::weight += delta * factor;     \
-  } while(0)
-#endif
 
 //! User objects the PPL can throw.
 /*! \ingroup PPL_CXX_interface
@@ -273,13 +265,13 @@ struct Recycle_Input {
 #define PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix)	\
   template <typename type_symbol>					\
   void									\
-  class_prefix::ascii_dump() const {					\
+  class_prefix::ascii_dump() const {                             \
     ascii_dump(std::cerr);						\
   }									\
 									\
   template <typename type_symbol>					\
   void									\
-  class_prefix::print() const {						\
+  class_prefix::print() const {                                  \
     using IO_Operators::operator<<;					\
     std::cerr << *this;							\
   }
@@ -289,13 +281,15 @@ struct Recycle_Input {
 						class_prefix)		\
   template <typename type_symbol1, typename type_symbol2>		\
   void									\
-  class_prefix<type_symbol1, type_symbol2>::ascii_dump() const {	\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), PPL_U(type_symbol2)>         \
+  ::ascii_dump() const {                                                \
     ascii_dump(std::cerr);						\
   }									\
 									\
   template <typename type_symbol1, typename type_symbol2>		\
   void									\
-  class_prefix<type_symbol1, type_symbol2>::print() const {		\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), PPL_U(type_symbol2)>         \
+  ::print() const {                                                     \
     using IO_Operators::operator<<;					\
     std::cerr << *this;							\
   }
@@ -307,7 +301,8 @@ struct Recycle_Input {
   template <typename type_symbol1, typename type_symbol2,		\
             typename type_symbol3>					\
   void									\
-  class_prefix<type_symbol1, type_symbol2, type_symbol3>::ascii_dump()	\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), type_symbol2,                \
+                      PPL_U(type_symbol3)>::ascii_dump()                \
     const {								\
     ascii_dump(std::cerr);						\
   }									\
@@ -315,7 +310,8 @@ struct Recycle_Input {
     template <typename type_symbol1, typename type_symbol2,		\
               typename type_symbol3>					\
     void								\
-    class_prefix<type_symbol1, type_symbol2, type_symbol3>::print()	\
+    PPL_U(class_prefix)<PPL_U(type_symbol1), type_symbol2,              \
+                        PPL_U(type_symbol3)>::print()                   \
       const {								\
       using IO_Operators::operator<<;					\
       std::cerr << *this;						\
@@ -324,17 +320,22 @@ struct Recycle_Input {
 #define PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol, class_prefix) \
   template <typename type_symbol>					\
   void									\
-  class_prefix::ascii_dump() const {					\
+  class_prefix::ascii_dump() const {                                    \
     ascii_dump(std::cerr);						\
   }									\
 									\
   template <typename type_symbol>					\
   void									\
-  class_prefix::print() const {						\
+  class_prefix::print() const {                                         \
     std::cerr << "No user level output operator defined "		\
 	      << "for " PPL_XSTR(class_prefix) << "." << std::endl;	\
   }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if \p c is any kind of space character.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool is_space(char c);
+
 template <typename T, long long v, typename Enable = void>
 struct Fit : public False {
 };
@@ -347,13 +348,13 @@ struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type>  {
   };
 };
 
-template <typename T, long long v>
+template <typename T, T v>
 struct TConstant {
   static const T value = v;
 };
 
 
-template <typename T, long long v>
+template <typename T, T v>
 const T TConstant<T, v>::value;
 
 template <typename T, long long v, bool prefer_signed = true,
@@ -381,8 +382,10 @@ template <long long v, bool prefer_signed = true>
 struct Constant : public Constant_<long long, v, prefer_signed> {
 };
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! \name Memory Size Inspection Functions
 //@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -428,7 +431,9 @@ total_memory_in_bytes(const mpq_class& x);
 memory_size_type
 external_memory_in_bytes(const mpq_class& x);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //@} // Memory Size Inspection Functions
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
 
 template <typename T, typename Enable = void>
@@ -464,12 +469,82 @@ FOK(long double)
 FOK(mpz_class)
 FOK(mpq_class)
 
+void ascii_dump(std::ostream& s, Representation r);
+bool ascii_load(std::istream& s, Representation& r);
+
+dimension_type
+check_space_dimension_overflow(dimension_type dim,
+                               dimension_type max,
+                               const char* domain,
+                               const char* method,
+                               const char* reason);
+
+template <typename RA_Container>
+typename RA_Container::iterator
+nth_iter(RA_Container& cont, dimension_type n);
+
+template <typename RA_Container>
+typename RA_Container::const_iterator
+nth_iter(const RA_Container& cont, dimension_type n);
+
+dimension_type
+least_significant_one_mask(dimension_type i);
+
 } // namespace Parma_Polyhedra_Library
 
+// By default, use sparse matrices both for MIP_Problem and PIP_Problem.
+#ifndef PPL_USE_SPARSE_MATRIX
+#define PPL_USE_SPARSE_MATRIX 1
+#endif
+
+#ifndef PPL_PROFILE_ADD_WEIGHT
+#define PPL_PROFILE_ADD_WEIGHT 0
+#endif
+
 #if defined(NDEBUG) && PPL_PROFILE_ADD_WEIGHT
 #include "Weight_Profiler.defs.hh"
 #endif
 
+#if defined(NDEBUG)
+#if PPL_PROFILE_ADD_WEIGHT
+#define WEIGHT_BEGIN() Weight_Profiler::begin()
+#define WEIGHT_ADD(delta)                                     \
+  do {                                                        \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
+    wp__.end();                                               \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                                   \
+  do {                                                                  \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
+    wp__.end(factor);                                                   \
+  } while (false)
+#else
+#define WEIGHT_BEGIN()                          \
+  do {                                          \
+  } while (false)
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    Weightwatch_Traits::weight += (delta);      \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    Weightwatch_Traits::weight += (delta)*(factor);     \
+  } while (false)
+#endif
+#else
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    if (!In_Assert::asserting())                       \
+      Weightwatch_Traits::weight += delta;      \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    if (!In_Assert::asserting())                               \
+      Weightwatch_Traits::weight += delta * factor;     \
+  } while (false)
+#endif
+
 #include "globals.inlines.hh"
 
 #endif // !defined(PPL_globals_defs_hh)
diff --git a/src/globals.inlines.hh b/src/globals.inlines.hh
index 198d80d..8250d63 100644
--- a/src/globals.inlines.hh
+++ b/src/globals.inlines.hh
@@ -1,6 +1,6 @@
 /* Implementation of global objects: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,13 +19,18 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_globals_inlines_hh
 #define PPL_globals_inlines_hh 1
 
+#include "compiler.hh"
 #include <limits>
-#include "assert.hh"
+#include <cassert>
+#include <istream>
+#include <ostream>
+#include <cctype>
+#include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
 
@@ -34,6 +39,13 @@ not_a_dimension() {
   return std::numeric_limits<dimension_type>::max();
 }
 
+inline int32_t
+hash_code_from_dimension(dimension_type dim) {
+  const dimension_type divisor = 1U << (32 - 1);
+  dim = dim % divisor;
+  return static_cast<int32_t>(dim);
+}
+
 inline const Weightwatch_Traits::Threshold&
 Weightwatch_Traits::get() {
   return weight;
@@ -41,7 +53,16 @@ Weightwatch_Traits::get() {
 
 inline bool
 Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) {
-  return b - a < 1ULL << (sizeof(Threshold)*8-1);
+  return b - a < (1ULL << (sizeof_to_bits(sizeof(Threshold)) - 1));
+}
+
+inline Weightwatch_Traits::Delta
+Weightwatch_Traits::compute_delta(unsigned long unscaled, unsigned scale) {
+  if ((std::numeric_limits<Delta>::max() >> scale) < unscaled)
+    throw std::invalid_argument("PPL::Weightwatch_Traits::"
+                                "compute_delta(u, s):\n"
+                                "values of u and s cause wrap around.");
+  return static_cast<Delta>(unscaled) << scale;
 }
 
 inline void
@@ -56,10 +77,10 @@ Throwable::~Throwable() {
 inline void
 maybe_abandon() {
 #ifndef NDEBUG
-  if (Implementation::in_assert)
+  if (In_Assert::asserting())
     return;
 #endif
-  if (Weightwatch_Traits::check_function)
+  if (Weightwatch_Traits::check_function != 0)
     Weightwatch_Traits::check_function();
   if (const Throwable* p = abandon_expensive_computations)
     p->throw_me();
@@ -70,8 +91,8 @@ compute_capacity(const dimension_type requested_size,
 		 const dimension_type maximum_size) {
   assert(requested_size <= maximum_size);
   // Speculation factor 2.
-  return (requested_size < maximum_size / 2)
-    ? 2*(requested_size + 1)
+  return (requested_size < maximum_size/2)
+    ? (2*(requested_size + 1))
     : maximum_size;
   // Speculation factor 1.5.
   // return (maximum_size - requested_size > requested_size/2)
@@ -95,7 +116,8 @@ total_memory_in_bytes(const T&) {
 
 inline memory_size_type
 external_memory_in_bytes(const mpz_class& x) {
-  return x.get_mpz_t()[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+  return static_cast<memory_size_type>(x.get_mpz_t()[0]._mp_alloc)
+    * PPL_SIZEOF_MP_LIMB_T;
 }
 
 inline memory_size_type
@@ -114,6 +136,55 @@ total_memory_in_bytes(const mpq_class& x) {
   return sizeof(x) + external_memory_in_bytes(x);
 }
 
+inline void
+ascii_dump(std::ostream& s, Representation r) {
+  if (r == DENSE)
+    s << "DENSE";
+  else
+    s << "SPARSE";
+}
+
+inline bool
+ascii_load(std::istream& is, Representation& r) {
+  std::string s;
+  if (!(is >> s))
+    return false;
+
+  if (s == "DENSE")  {
+    r = DENSE;
+    return true;
+  }
+  if (s == "SPARSE")  {
+    r = SPARSE;
+    return true;
+  }
+  return false;
+}
+
+inline bool
+is_space(char c) {
+  return isspace(c) != 0;
+}
+
+template <typename RA_Container>
+inline typename RA_Container::iterator
+nth_iter(RA_Container& cont, dimension_type n) {
+  typedef typename RA_Container::difference_type diff_t;
+  return cont.begin() + static_cast<diff_t>(n);
+}
+
+template <typename RA_Container>
+inline typename RA_Container::const_iterator
+nth_iter(const RA_Container& cont, dimension_type n) {
+  typedef typename RA_Container::difference_type diff_t;
+  return cont.begin() + static_cast<diff_t>(n);
+}
+
+inline dimension_type
+least_significant_one_mask(const dimension_type i) {
+  return i & (~i + 1U);
+}
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_globals_inlines_hh)
diff --git a/src/globals.types.hh b/src/globals.types.hh
index cbaa7b4..41aa345 100644
--- a/src/globals.types.hh
+++ b/src/globals.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -39,13 +39,13 @@ enum Degenerate_Element {
 // This must be kept in sync with Result
 enum Relation_Symbol {
   //! \hideinitializer Equal to.
-  EQUAL = 1,
+  EQUAL = 1U,
   //! \hideinitializer Less than.
-  LESS_THAN = 2,
+  LESS_THAN = 2U,
   //! \hideinitializer Less than or equal to.
   LESS_OR_EQUAL = LESS_THAN | EQUAL,
   //! \hideinitializer Greater than.
-  GREATER_THAN = 4,
+  GREATER_THAN = 4U,
   //! \hideinitializer Greater than or equal to.
   GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
   //! \hideinitializer Not equal to.
@@ -153,6 +153,60 @@ enum Bounded_Integer_Type_Overflow {
   OVERFLOW_IMPOSSIBLE
 };
 
+/*! \brief \ingroup PPL_CXX_interface
+  Possible representations of coefficient sequences (i.e. linear expressions
+  and more complex objects containing linear expressions, e.g. Constraints,
+  Generators, etc.).
+*/
+enum Representation {
+  /*! \brief
+    Dense representation: the coefficient sequence is represented as a vector
+    of coefficients, including the zero coefficients.
+    If there are only a few nonzero coefficients, this representation is
+    faster and also uses a bit less memory.
+  */
+  DENSE,
+
+  /*! \brief
+    Sparse representation: only the nonzero coefficient are stored.
+    If there are many nonzero coefficients, this improves memory consumption
+    and run time (both because there is less data to process in O(n)
+    operations and because finding zeroes/nonzeroes is much faster since
+    zeroes are not stored at all, so any stored coefficient is nonzero).
+  */
+  SPARSE
+};
+
+/*! \brief \ingroup PPL_CXX_interface
+  Floating point formats known to the library.
+
+  The parameters of each format are defined by a specific struct
+  in file Float.defs.hh.  See the section on \ref floating_point
+  "Analysis of floating point computations" for more information.
+*/
+enum Floating_Point_Format {
+  //! IEEE 754 half precision, 16 bits (5 exponent, 10 mantissa).
+  IEEE754_HALF,
+
+  //! IEEE 754 single precision, 32 bits (8 exponent, 23 mantissa).
+  IEEE754_SINGLE,
+
+  //! IEEE 754 double precision, 64 bits (11 exponent, 52 mantissa).
+  IEEE754_DOUBLE,
+
+  //! IEEE 754 quad precision, 128 bits (15 exponent, 112 mantissa).
+  IEEE754_QUAD,
+
+  //! Intel double extended precision, 80 bits (15 exponent, 64 mantissa)
+  INTEL_DOUBLE_EXTENDED,
+
+  //! IBM single precision, 32 bits (7 exponent, 24 mantissa).
+  IBM_SINGLE,
+
+  //! IBM double precision, 64 bits (7 exponent, 56 mantissa).
+  IBM_DOUBLE
+};
+
 struct Weightwatch_Traits;
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/initializer.hh b/src/initializer.hh
index a80e8da..1e0cb6e 100644
--- a/src/initializer.hh
+++ b/src/initializer.hh
@@ -1,6 +1,6 @@
 /* Nifty counter object for the initialization of the library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_initializer_hh
 #define PPL_initializer_hh 1
@@ -27,17 +27,13 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Init.defs.hh"
 
 #ifndef PPL_NO_AUTOMATIC_INITIALIZATION
-namespace {
 
-Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
+static Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
 
-} // namespace
 #else
-namespace {
 
-Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
+static Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
 
-} // namespace
 #endif
 
 namespace Parma_Polyhedra_Library {
diff --git a/src/intervals.defs.hh b/src/intervals.defs.hh
index a0fbc9f..4649f1e 100644
--- a/src/intervals.defs.hh
+++ b/src/intervals.defs.hh
@@ -1,6 +1,6 @@
 /* Helper classes for intervals.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_intervals_defs_hh
 #define PPL_intervals_defs_hh 1
@@ -31,45 +31,83 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The result of an operation on intervals.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 enum I_Result {
-  //! The resulting set may be empty
-  I_EMPTY = 1,
-  //! The resulting set may have only one value
-  I_SINGLETON = 2,
-  //! The resulting set may have more than one value and to be not the domain universe
-  I_SOME = 4,
-  //! The resulting set may be the domain universe
-  I_UNIVERSE = 8,
-  //! The resulting set is not empty
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_EMPTY = 1U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may have only one value.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_SINGLETON = 2U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief \hideinitializer
+    Result may have more than one value, but it is not the domain universe.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_SOME = 4U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be the domain universe.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_UNIVERSE = 8U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE,
-  //! The resulting set may be empty or not empty
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty or not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_ANY = I_EMPTY | I_NOT_EMPTY,
-  //! The resulting set may be empty or not empty
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty or not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME,
-  //! The resulting set can'be empty or the domain universe
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is neither empty nor the domain universe.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_NOT_DEGENERATE = I_SINGLETON | I_SOME,
-  //! The resulting set is definitely exact
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is definitely exact.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_EXACT = 16,
-  //! The resulting set is definitely inexact
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is definitely inexact.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_INEXACT = 32,
-  //! The operation has definitely changed the set
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation has definitely changed the set.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_CHANGED = 64,
-  //! The operation has left the set definitely unchanged
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation has left the set definitely unchanged.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_UNCHANGED = 128,
-  //! The operation is undefined for some combination of values
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation is undefined for some combination of values.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
   I_SINGULARITIES = 256
 };
 
-inline I_Result operator|(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a | (unsigned)b);
+inline I_Result
+operator|(I_Result a, I_Result b) {
+  return static_cast<I_Result>(static_cast<unsigned>(a)
+                               | static_cast<unsigned>(b));
 }
 
-inline I_Result operator&(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a & (unsigned)b);
+inline I_Result
+operator&(I_Result a, I_Result b) {
+  return static_cast<I_Result>(static_cast<unsigned>(a)
+                               & static_cast<unsigned>(b));
 }
 
-inline I_Result operator-(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a & ~(unsigned)b);
+inline I_Result
+operator-(I_Result a, I_Result b) {
+    return static_cast<I_Result>(static_cast<unsigned>(a)
+                                 & ~static_cast<unsigned>(b));
 }
 
 template <typename Criteria, typename T>
@@ -173,7 +211,7 @@ public:
     case V_LGE:
       return r;
     case V_LE:
-      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+      r = assign_r(to, c.value(), (ROUND_UP | ROUND_STRICT_RELATION));
       r = result_relation_class(r);
       if (r == V_EQ)
 	return V_LE;
@@ -196,7 +234,7 @@ public:
       }
       break;
     case V_GE:
-      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+      r = assign_r(to, c.value(), (ROUND_DOWN | ROUND_STRICT_RELATION));
       r = result_relation_class(r);
       if (r == V_EQ)
 	return V_GE;
@@ -236,7 +274,7 @@ public:
     default:
       break;
     }
-    PPL_ASSERT(false);
+    PPL_UNREACHABLE;
     return V_EMPTY;
   }
   template <typename T>
@@ -278,7 +316,7 @@ public:
     case V_GT_MINUS_INFINITY:
       return rel1;
     default:
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
       return V_EMPTY;
     }
     switch (rel2) {
@@ -287,7 +325,7 @@ public:
     case V_LT_PLUS_INFINITY:
       return rel1;
     default:
-      PPL_ASSERT(false);
+      PPL_UNREACHABLE;
       return V_EMPTY;
     }
   }
@@ -297,10 +335,9 @@ public:
     switch (rel) {
     case V_LT:
       if (is_integer(to)) {
-	rel = sub_assign_r(to, to, T(1),
-			   static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
+	rel = sub_assign_r(to, to, T(1), (ROUND_UP | ROUND_STRICT_RELATION));
 	rel = result_relation_class(rel);
-	return rel == V_EQ ? V_LE : rel;
+	return (rel == V_EQ) ? V_LE : rel;
       }
       /* Fall through */
     case V_LE:
@@ -310,10 +347,9 @@ public:
       return V_LE;
     case V_GT:
       if (is_integer(to)) {
-	rel = add_assign_r(to, to, T(1),
-			   static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
+	rel = add_assign_r(to, to, T(1), (ROUND_DOWN | ROUND_STRICT_RELATION));
 	rel = result_relation_class(rel);
-	return rel == V_EQ ? V_GE : rel;
+	return (rel == V_EQ) ? V_GE : rel;
       }
       /* Fall through */
     case V_GE:
@@ -342,7 +378,7 @@ struct I_Constraint_Rel {
     PPL_ASSERT(result_relation_class(r) == r);
   }
   I_Constraint_Rel(Relation_Symbol r)
-    : rel((Result)r) {
+    : rel(static_cast<Result>(r)) {
   }
   operator Result() const {
     return rel;
@@ -351,7 +387,9 @@ struct I_Constraint_Rel {
 
 template <typename T, typename Val_Or_Ref_Criteria = Use_Slow_Copy,
 	  bool extended = false>
-class I_Constraint : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria, extended> > {
+class I_Constraint
+  : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria,
+                                            extended> > {
   typedef Val_Or_Ref<T, Val_Or_Ref_Criteria> Val_Ref;
   typedef typename Val_Ref::Arg_Type Arg_Type;
   typedef typename Val_Ref::Return_Type Return_Type;
@@ -419,7 +457,8 @@ i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) {
 
 template <typename T, typename Val_Or_Ref_Criteria>
 inline I_Constraint<T, Val_Or_Ref_Criteria>
-i_constraint(I_Constraint_Rel rel, const T& v, bool force, const Val_Or_Ref_Criteria&) {
+i_constraint(I_Constraint_Rel rel, const T& v, bool force,
+             const Val_Or_Ref_Criteria&) {
   return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v, force);
 }
 
diff --git a/src/iterator_to_const.defs.hh b/src/iterator_to_const.defs.hh
index d5c046f..4444b7d 100644
--- a/src/iterator_to_const.defs.hh
+++ b/src/iterator_to_const.defs.hh
@@ -1,6 +1,6 @@
 /* iterator_to_const and const_iterator_to_const class declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_iterator_to_const_hh
 #define PPL_iterator_to_const_hh 1
@@ -65,7 +65,6 @@ private:
 
   friend class const_iterator_to_const<Container>;
   template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
 
 public:
   // Same traits of the const_iterator, therefore
@@ -138,7 +137,6 @@ private:
 
   friend class iterator_to_const<Container>;
   template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
 
 public:
   // Same traits of the underlying const_iterator.
diff --git a/src/iterator_to_const.inlines.hh b/src/iterator_to_const.inlines.hh
index 90a4b2d..e15fba0 100644
--- a/src/iterator_to_const.inlines.hh
+++ b/src/iterator_to_const.inlines.hh
@@ -1,7 +1,7 @@
 /* iterator_to_const and const_iterator_to_const class implementations:
    inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_iterator_to_const_inlines_hh
 #define PPL_iterator_to_const_inlines_hh 1
diff --git a/src/iterator_to_const.types.hh b/src/iterator_to_const.types.hh
index 43111b9..29e2157 100644
--- a/src/iterator_to_const.types.hh
+++ b/src/iterator_to_const.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/linearize.hh b/src/linearize.hh
new file mode 100644
index 0000000..1a074ae
--- /dev/null
+++ b/src/linearize.hh
@@ -0,0 +1,871 @@
+/* Linearization function implementation.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_linearize_hh
+#define PPL_linearize_hh 1
+
+#include "Concrete_Expression.defs.hh"
+#include "Float.defs.hh"
+#include "Linear_Form.defs.hh"
+#include "Box.defs.hh"
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  sum of floating point expressions.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>ADD</CODE>.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+
+  \par Linearization of sum floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
+
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
+
+  Given an expression \f$e_{1} \oplus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form) and \f$mf_{\mathbf{f}}\f$ is a rounding
+  error computed by function <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+add_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::ADD);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
+
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+
+  result += linearized_second_operand;
+  linearized_second_operand.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
+}
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  difference of floating point expressions.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>SUB</CODE>.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+
+  \par Linearization of difference floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adlf\f$ two sound abstract
+  operators on linear form such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \adifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$e_{1} \ominus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,  we construct the interval linear form
+  \f$\linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  on \f$\cV\f$ as follows:
+  \f[
+  \linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form) and \f$mf_{\mathbf{f}}\f$ is a rounding
+  error computed by function <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+sub_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::SUB);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
+
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+
+  result -= linearized_second_operand;
+  linearized_second_operand.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
+}
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  product of floating point expressions.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>MUL</CODE>.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+
+  \par Linearization of multiplication floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\amlf\f$ two sound abstract
+  operators on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  i
+  \amlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \amifp i'\right)
+  + \sum_{v \in \cV}\left(i \amifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$[a, b] \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left([a, b]
+  \amlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}\right)
+  \aslf
+  \left([a, b]
+  \amlf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1].
+  \f].
+
+  Given an expression \f$e_{1} \otimes [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{[a, b] \otimes e_{1}}{\rho^{\#}}{\rho^{\#}_l}.
+  \f]
+
+  Given an expression \f$e_{1} \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{\iota\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}
+  \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form), \f$\iota(l)\rho^{\#}\f$ is the intervalization
+  of \f$l\f$ (see method <CODE>intervalize</CODE> of class Linear_Form),
+  and \f$mf_{\mathbf{f}}\f$ is a rounding error computed by function
+  <CODE>compute_absolute_error</CODE>.
+
+  Even though we intervalize the first operand in the above example, the
+  actual implementation utilizes an heuristics for choosing which of the two
+  operands must be intervalized in order to obtain the most precise result.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+mul_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::MUL);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  /*
+    FIXME: We currently adopt the "Interval-Size Local" strategy in order to
+    decide which of the two linear forms must be intervalized, as described
+    in Section 6.2.4 ("Multiplication Strategies") of Antoine Mine's Ph.D.
+    thesis "Weakly Relational Numerical Abstract Domains".
+    In this Section are also described other multiplication strategies, such
+    as All-Cases, Relative-Size Local, Simplification-Driven Global and
+    Homogeneity Global.
+  */
+
+  // Here we choose which of the two linear forms must be intervalized.
+
+  // true if we intervalize the first form, false if we intervalize the second.
+  bool intervalize_first;
+  FP_Linear_Form linearized_first_operand;
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store,
+                 linearized_first_operand))
+    return false;
+  FP_Interval_Type intervalized_first_operand;
+  if (!linearized_first_operand.intervalize(oracle, intervalized_first_operand))
+    return false;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  if (!linearized_second_operand.intervalize(oracle,
+                                             intervalized_second_operand))
+    return false;
+
+  // FIXME: we are not sure that what we do here is policy-proof.
+  if (intervalized_first_operand.is_bounded()) {
+    if (intervalized_second_operand.is_bounded()) {
+      analyzer_format first_interval_size
+        = intervalized_first_operand.upper()
+        - intervalized_first_operand.lower();
+      analyzer_format second_interval_size
+        = intervalized_second_operand.upper()
+        - intervalized_second_operand.lower();
+      if (first_interval_size <= second_interval_size)
+        intervalize_first = true;
+      else
+        intervalize_first = false;
+    }
+    else
+      intervalize_first = true;
+  }
+  else {
+    if (intervalized_second_operand.is_bounded())
+      intervalize_first = false;
+    else
+      return false;
+  }
+
+  // Here we do the actual computation.
+  // For optimizing, we store the relative error directly into result.
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  if (intervalize_first) {
+    linearized_second_operand.relative_error(analyzed_format, result);
+    linearized_second_operand *= intervalized_first_operand;
+    result *= intervalized_first_operand;
+    result += linearized_second_operand;
+  }
+  else {
+    linearized_first_operand.relative_error(analyzed_format, result);
+    linearized_first_operand *= intervalized_second_operand;
+    result *= intervalized_second_operand;
+    result += linearized_first_operand;
+  }
+
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
+}
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  division of floating point expressions.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>DIV</CODE>.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+
+  \par Linearization of division floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adivlf\f$ two sound abstract
+  operator on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adivlf
+  i'
+  =
+  \left(i \adivifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adivifp i'\right)v.
+  \f]
+  Given an expression \f$e_{1} \oslash [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,
+  we construct the interval linear form
+  \f$
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  \f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adivlf
+  [a, b]\right)
+  \aslf
+  \left(\varepsilon_{\mathbf{f}}\left(
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \adivlf
+  [a, b]\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1],
+  \f]
+  given an expression \f$e_{1} \oslash e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1} \oslash \iota\left(
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form), \f$\iota(l)\rho^{\#}\f$ is the intervalization
+  of \f$l\f$ (see method <CODE>intervalize</CODE> of class Linear_Form),
+  and \f$mf_{\mathbf{f}}\f$ is a rounding error computed by function
+  <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+div_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::DIV);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  if (!linearized_second_operand.intervalize(oracle,
+                                             intervalized_second_operand))
+    return false;
+
+  // Check if we may divide by zero.
+  if ((intervalized_second_operand.lower_is_boundary_infinity() ||
+       intervalized_second_operand.lower() <= 0) &&
+      (intervalized_second_operand.upper_is_boundary_infinity() ||
+       intervalized_second_operand.upper() >= 0))
+    return false;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
+
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result /= intervalized_second_operand;
+  rel_error /= intervalized_second_operand;
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
+}
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a cast
+  floating point expression.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param cast_expr
+  The cast operator concrete expression to linearize.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+cast_linearize(const Cast_Operator<Target>& cast_expr,
+               const FP_Oracle<Target,FP_Interval_Type>& oracle,
+               const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+               Linear_Form<FP_Interval_Type>& result) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  Floating_Point_Format analyzed_format =
+    cast_expr.type().floating_point_format();
+  const Concrete_Expression<Target>* cast_arg = cast_expr.argument();
+  if (cast_arg->type().is_floating_point()) {
+    if (!linearize(*cast_arg, oracle, lf_store, result))
+      return false;
+    if (!is_less_precise_than(analyzed_format,
+                              cast_arg->type().floating_point_format()) ||
+        result == FP_Linear_Form(FP_Interval_Type(0)) ||
+        result == FP_Linear_Form(FP_Interval_Type(1)))
+      /*
+        FIXME: find a general way to check if the casted constant
+        is exactly representable in the less precise format.
+      */
+      /*
+        We are casting to a more precise format or casting
+        a definitely safe value: do not add errors.
+      */
+      return true;
+  }
+  else {
+    FP_Interval_Type expr_value;
+    if (!oracle.get_integer_expr_value(*cast_arg, expr_value))
+      return false;
+    result = FP_Linear_Form(expr_value);
+    if (is_less_precise_than(Float<analyzer_format>::Binary::floating_point_format, analyzed_format) ||
+        result == FP_Linear_Form(FP_Interval_Type(0)) ||
+        result == FP_Linear_Form(FP_Interval_Type(1)))
+      /*
+        FIXME: find a general way to check if the casted constant
+        is exactly representable in the less precise format.
+      */
+      /*
+        We are casting to a more precise format or casting
+        a definitely safe value: do not add errors.
+      */
+      return true;
+  }
+
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
+}
+
+//! Linearizes a floating point expression.
+/*! \relates Parma_Polyhedra_Library::Concrete_Expression
+  Makes \p result become a linear form that correctly approximates the
+  value of \p expr in the given composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
+
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param expr
+  The concrete expression to linearize.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  Becomes the linearized expression.
+
+  Formally, if \p expr represents the expression \f$e\f$ and
+  \p lf_store represents the linear form abstract store \f$\rho^{\#}_l\f$,
+  then \p result will become \f$\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}\f$
+  if the linearization succeeds.
+*/
+template <typename Target, typename FP_Interval_Type>
+bool
+linearize(const Concrete_Expression<Target>& expr,
+          const FP_Oracle<Target,FP_Interval_Type>& oracle,
+          const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+          Linear_Form<FP_Interval_Type>& result) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  PPL_ASSERT(expr.type().is_floating_point());
+  // Check that analyzer_format is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<analyzer_format>::is_exact,
+      "linearize<Target, FP_Interval_Type>:"
+      " FP_Interval_Type is not the type of an interval with floating point boundaries.");
+
+  switch(expr.kind()) {
+  case Integer_Constant<Target>::KIND:
+    PPL_UNREACHABLE;
+    break;
+  case Floating_Point_Constant<Target>::KIND:
+  {
+    const Floating_Point_Constant<Target>* fpc_expr =
+      expr.template as<Floating_Point_Constant>();
+    FP_Interval_Type constant_value;
+    if (!oracle.get_fp_constant_value(*fpc_expr, constant_value))
+      return false;
+    result = FP_Linear_Form(constant_value);
+    return true;
+  }
+  case Unary_Operator<Target>::KIND:
+  {
+    const Unary_Operator<Target>* uop_expr =
+      expr.template as<Unary_Operator>();
+    switch (uop_expr->unary_operator()) {
+    case Unary_Operator<Target>::UPLUS:
+      return linearize(*(uop_expr->argument()), oracle, lf_store, result);
+    case Unary_Operator<Target>::UMINUS:
+      if (!linearize(*(uop_expr->argument()), oracle, lf_store, result))
+        return false;
+
+      result.negate();
+      return true;
+    case Unary_Operator<Target>::BNOT:
+      throw std::runtime_error("PPL internal error: unimplemented");
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
+    }
+    break;
+  }
+  case Binary_Operator<Target>::KIND:
+  {
+    const Binary_Operator<Target>* bop_expr =
+      expr.template as<Binary_Operator>();
+    switch (bop_expr->binary_operator()) {
+    case Binary_Operator<Target>::ADD:
+      return add_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::SUB:
+      return sub_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::MUL:
+      return mul_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::DIV:
+      return div_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::REM:
+    case Binary_Operator<Target>::BAND:
+    case Binary_Operator<Target>::BOR:
+    case Binary_Operator<Target>::BXOR:
+    case Binary_Operator<Target>::LSHIFT:
+    case Binary_Operator<Target>::RSHIFT:
+      // FIXME: can we do better?
+      return false;
+    default:
+      PPL_UNREACHABLE;
+      return false;
+    }
+    break;
+  }
+  case Approximable_Reference<Target>::KIND:
+  {
+    const Approximable_Reference<Target>* ref_expr =
+      expr.template as<Approximable_Reference>();
+    std::set<dimension_type> associated_dimensions;
+    if (!oracle.get_associated_dimensions(*ref_expr, associated_dimensions)
+        || associated_dimensions.empty())
+      /*
+        We were unable to find any associated space dimension:
+        linearization fails.
+      */
+      return false;
+
+    if (associated_dimensions.size() == 1) {
+      /* If a linear form associated to the only referenced
+         space dimension exists in lf_store, return that form.
+         Otherwise, return the simplest linear form. */
+      dimension_type variable_index = *associated_dimensions.begin();
+      PPL_ASSERT(variable_index != not_a_dimension());
+
+      typename FP_Linear_Form_Abstract_Store::const_iterator
+               variable_value = lf_store.find(variable_index);
+      if (variable_value == lf_store.end()) {
+        result = FP_Linear_Form(Variable(variable_index));
+        return true;
+      }
+
+      result = FP_Linear_Form(variable_value->second);
+      /* FIXME: do we really need to contemplate the possibility
+	 that an unbounded linear form was saved into lf_store? */
+      return !result.overflows();
+    }
+
+    /*
+      Here associated_dimensions.size() > 1. Try to return the LUB
+      of all intervals associated to each space dimension.
+    */
+    PPL_ASSERT(associated_dimensions.size() > 1);
+    std::set<dimension_type>::const_iterator i = associated_dimensions.begin();
+    std::set<dimension_type>::const_iterator i_end =
+      associated_dimensions.end();
+    FP_Interval_Type lub(EMPTY);
+    for (; i != i_end; ++i) {
+      FP_Interval_Type curr_int;
+      PPL_ASSERT(*i != not_a_dimension());
+      if (!oracle.get_interval(*i, curr_int))
+        return false;
+
+      lub.join_assign(curr_int);
+    }
+
+    result = FP_Linear_Form(lub);
+    return !result.overflows();
+  }
+  case Cast_Operator<Target>::KIND:
+  {
+    const Cast_Operator<Target>* cast_expr =
+      expr.template as<Cast_Operator>();
+    return cast_linearize(*cast_expr, oracle, lf_store, result);
+  }
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+
+  PPL_UNREACHABLE;
+  return false;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_linearize_hh)
diff --git a/src/math_utilities.defs.hh b/src/math_utilities.defs.hh
index 96ac6ca..4b8fc58 100644
--- a/src/math_utilities.defs.hh
+++ b/src/math_utilities.defs.hh
@@ -1,6 +1,6 @@
 /* Declarations of some math utility functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_math_utilities_defs_hh
 #define PPL_math_utilities_defs_hh 1
@@ -36,7 +36,7 @@ namespace Parma_Polyhedra_Library {
 template <typename T>
 typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
 numer_denom(const T& from,
-	    Coefficient& num, Coefficient& den);
+	    Coefficient& numer, Coefficient& denom);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
@@ -78,17 +78,17 @@ is_additive_inverse(const T& x, const T& y);
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
   If \f$g\f$ is the GCD of \p x and \p y, the values of \p x and \p y
-  divided by \f$g\f$ are assigned to \p nx and \p ny, respectively.
+  divided by \f$g\f$ are assigned to \p n_x and \p n_y, respectively.
 
   \note
-  \p x and \p nx may be the same object and likewise for
-  \p y and \p ny.  Any other aliasing results in undefined behavior.
+  \p x and \p n_x may be the same object and likewise for
+  \p y and \p n_y.  Any other aliasing results in undefined behavior.
 */
 #endif
 void
 normalize2(Coefficient_traits::const_reference x,
 	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny);
+	   Coefficient& n_x, Coefficient& n_y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x is in canonical form.
diff --git a/src/math_utilities.inlines.hh b/src/math_utilities.inlines.hh
index bb06c89..75a9567 100644
--- a/src/math_utilities.inlines.hh
+++ b/src/math_utilities.inlines.hh
@@ -1,6 +1,6 @@
 /* Implementation of some math utility functions: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_math_utilities_inlines_hh
 #define PPL_math_utilities_inlines_hh 1
@@ -33,31 +33,31 @@ namespace Parma_Polyhedra_Library {
 inline void
 normalize2(Coefficient_traits::const_reference x,
 	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny) {
+	   Coefficient& n_x, Coefficient& n_y) {
   PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   gcd_assign(gcd, x, y);
-  exact_div_assign(nx, x, gcd);
-  exact_div_assign(ny, y, gcd);
+  exact_div_assign(n_x, x, gcd);
+  exact_div_assign(n_y, y, gcd);
 }
 
 template <typename T>
 inline T
 low_bits_mask(const unsigned n) {
   PPL_ASSERT(n < unsigned(std::numeric_limits<T>::digits));
-  return n == 0 ? 0 : ~(~(T(0u)) << n);
+  return ~((~static_cast<T>(0)) << n);
 }
 
 template <typename T>
 inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
 numer_denom(const T& from,
-	    Coefficient& num, Coefficient& den) {
+	    Coefficient& numer, Coefficient& denom) {
   PPL_ASSERT(!is_not_a_number(from)
 	 && !is_minus_infinity(from)
 	 && !is_plus_infinity(from));
-  PPL_DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, q);
   assign_r(q, from, ROUND_NOT_NEEDED);
-  num = q.get_num();
-  den = q.get_den();
+  numer = q.get_num();
+  denom = q.get_den();
 }
 
 template <typename T>
@@ -65,14 +65,14 @@ inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
 div_round_up(T& to,
 	     Coefficient_traits::const_reference x,
 	     Coefficient_traits::const_reference y) {
-  PPL_DIRTY_TEMP0(mpq_class, qx);
-  PPL_DIRTY_TEMP0(mpq_class, qy);
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
   // Note: this code assumes that a Coefficient is always convertible
   // to an mpq_class without loss of precision.
-  assign_r(qx, x, ROUND_NOT_NEEDED);
-  assign_r(qy, y, ROUND_NOT_NEEDED);
-  div_assign_r(qx, qx, qy, ROUND_NOT_NEEDED);
-  assign_r(to, qx, ROUND_UP);
+  assign_r(q_x, x, ROUND_NOT_NEEDED);
+  assign_r(q_y, y, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_y, ROUND_NOT_NEEDED);
+  assign_r(to, q_x, ROUND_UP);
 }
 
 template <typename N>
@@ -109,7 +109,7 @@ inline bool
 is_canonical(const mpq_class& x) {
   if (x.get_den() <= 0)
     return false;
-  PPL_DIRTY_TEMP0(mpq_class, temp);
+  PPL_DIRTY_TEMP(mpq_class, temp);
   temp = x;
   temp.canonicalize();
   return temp.get_num() == x.get_num();
diff --git a/src/max_space_dimension.hh b/src/max_space_dimension.hh
index 6851969..5476f01 100644
--- a/src/max_space_dimension.hh
+++ b/src/max_space_dimension.hh
@@ -1,6 +1,6 @@
 /* Definition of functions yielding maximal space dimensions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_max_space_dimension_hh
 #define PPL_max_space_dimension_hh 1
diff --git a/src/meta_programming.hh b/src/meta_programming.hh
index 62de118..9e18296 100644
--- a/src/meta_programming.hh
+++ b/src/meta_programming.hh
@@ -1,6 +1,6 @@
 /* Metaprogramming utilities.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_meta_programming_hh
 #define PPL_meta_programming_hh 1
@@ -40,7 +40,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_bool_nodef(name, value)		\
-  enum anonymous_enum_ ## name { name = (value) }
+  enum const_bool_value_ ## name { PPL_U(name) = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -54,7 +54,7 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_int_nodef(name, value) \
-  enum anonymous_enum_ ## name { name = (value) }
+  enum anonymous_enum_ ## name { PPL_U(name) = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -69,8 +69,8 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_value_nodef(type, name, value)	\
-  static type name() {				\
-    return value;				\
+  static type PPL_U(name)() {                   \
+    return (value);				\
   }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -86,9 +86,9 @@ namespace Parma_Polyhedra_Library {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 #define const_ref_nodef(type, name, value)				\
-  static const type& name() {						\
-    static type name(value);						\
-    return name;							\
+  static const type& PPL_U(name)() {                                    \
+    static type PPL_U(name) = (value);                                       \
+    return (name);							\
   }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -120,8 +120,7 @@ struct Compile_Time_Check<true> {
   enum anonymous_enum_compile_time_check_ ## suffix {			\
     /* If e evaluates to false, then the sizeof cannot be compiled. */  \
     PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
-    = sizeof(Parma_Polyhedra_Library::					\
-	     Compile_Time_Check<static_cast<bool>(e)>)			\
+      = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(e)>)        \
   }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -142,7 +141,7 @@ struct Compile_Time_Check<true> {
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <bool b>
 struct Bool {
-  enum anonymous_enum {
+  enum const_bool_value {
     value = b
   };
 };
@@ -208,7 +207,7 @@ struct Is_Same<T, T> : public True {
   template <typename T> struct D : public B<T>;
   \endcode
   Of course, we cannot test if, for some type variable <CODE>U</CODE>, we have
-  <CODE>Is_Same_Or_Derived<B<U>, Type>:: anonymous_enum:: value == true</CODE>.
+  <CODE>Is_Same_Or_Derived<B<U>, Type>:: const_bool_value:: value == true</CODE>.
   But we can do as follows:
   \code
   struct B_Base {
@@ -216,8 +215,8 @@ struct Is_Same<T, T> : public True {
 
   template <typename T> struct B : public B_Base;
   \endcode
-  This enables us to enquire
-  <CODE>Is_Same_Or_Derived<B_Base, Type>:: anonymous_enum:: value</CODE>.
+  This enables us to inquire
+  <CODE>Is_Same_Or_Derived<B_Base, Type>:: const_bool_value:: value</CODE>.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename Base, typename Derived>
@@ -245,7 +244,7 @@ struct Is_Same_Or_Derived {
                          "architecture with sizeof(char) == sizeof(double)"
                          " (!?)");
 
-  enum anonymous_enum {
+  enum const_bool_value {
     /*!
       Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
       overload resolution mechanism guarantees that <CODE>value</CODE>
diff --git a/src/minimize.cc b/src/minimize.cc
deleted file mode 100644
index 4bb8d3a..0000000
--- a/src/minimize.cc
+++ /dev/null
@@ -1,402 +0,0 @@
-/* Polyhedron class implementation: minimize() and add_and_minimize().
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-#include "Linear_Row.defs.hh"
-#include "Linear_System.defs.hh"
-#include "Bit_Matrix.defs.hh"
-#include "Polyhedron.defs.hh"
-#include <stdexcept>
-
-namespace PPL = Parma_Polyhedra_Library;
-
-/*!
-  \return
-  <CODE>true</CODE> if the polyhedron is empty, <CODE>false</CODE>
-  otherwise.
-
-  \param con_to_gen
-  <CODE>true</CODE> if \p source represents the constraints,
-  <CODE>false</CODE> otherwise;
-
-  \param source
-  The given system, which is not empty;
-
-  \param dest
-  The system to build and minimize;
-
-  \param sat
-  The saturation matrix.
-
-  \p dest is not <CODE>const</CODE> because it will be built (and then
-  modified) during minimize(). Also, \p sat and \p source are
-  not <CODE>const</CODE> because the former will be built during
-  \p dest creation and the latter will maybe be sorted and modified by
-  <CODE>conversion()</CODE> and <CODE>simplify()</CODE>.
-
-  \p sat has the generators on its columns and the constraints on its rows
-  if \p con_to_gen is <CODE>true</CODE>, otherwise it has the generators on
-  its rows and the constraints on its columns.
-
-  Given \p source, this function builds (by means of
-  <CODE>conversion()</CODE>) \p dest and then simplifies (invoking
-  <CODE>simplify()</CODE>) \p source, erasing redundant rows.
-  For the sequel we assume that \p source is the system of constraints
-  and \p dest is the system of generators.
-  This will simplify the description of the function; the dual case is
-  similar.
-*/
-bool
-PPL::Polyhedron::minimize(const bool con_to_gen,
-			  Linear_System& source,
-			  Linear_System& dest,
-			  Bit_Matrix& sat) {
-  // Topologies have to agree.
-  PPL_ASSERT(source.topology() == dest.topology());
-  // `source' cannot be empty: even if it is an empty constraint system,
-  // representing the universe polyhedron, homogenization has added
-  // the positive constraint. It also cannot be an empty generator system,
-  // since this function is always called starting from a non-empty
-  // polyhedron.
-  PPL_ASSERT(!source.has_no_rows());
-
-  // Sort the source system, if necessary.
-  if (!source.is_sorted())
-    source.sort_rows();
-
-  // Initialization of the system of generators `dest'.
-  // The algorithm works incrementally and we haven't seen any
-  // constraint yet: as a consequence, `dest' should describe
-  // the universe polyhedron of the appropriate dimension.
-  // To this end, we initialize it to the identity matrix of dimension
-  // `source.num_columns()': the rows represent the lines corresponding
-  // to the canonical basis of the vector space.
-
-  // Resizing `dest' to be the appropriate square matrix.
-  dimension_type dest_num_rows = source.num_columns();
-  // Note that before calling `resize_no_copy()' we must update
-  // `index_first_pending'.
-  dest.set_index_first_pending_row(dest_num_rows);
-  dest.resize_no_copy(dest_num_rows, dest_num_rows);
-
-  // Initialize `dest' to the identity matrix.
-  for (dimension_type i = dest_num_rows; i-- > 0; ) {
-    Linear_Row& dest_i = dest[i];
-    for (dimension_type j = dest_num_rows; j-- > 0; )
-      dest_i[j] = (i == j) ? 1 : 0;
-    dest_i.set_is_line_or_equality();
-  }
-  // The identity matrix `dest' is not sorted (see the sorting rules
-  // in Linear_Row.cc).
-  dest.set_sorted(false);
-
-  // NOTE: the system `dest', as it is now, is not a _legal_ system of
-  //       generators, because in the first row we have a line with a
-  //       non-zero divisor (which should only happen for
-  //       points). However, this is NOT a problem, because `source'
-  //       necessarily contains the positivity constraint (or a
-  //       combination of it with another constraint) which will
-  //       restore things as they should be.
-
-
-  // Building a saturation matrix and initializing it by setting
-  // all of its elements to zero. This matrix will be modified together
-  // with `dest' during the conversion.
-  // NOTE: since we haven't seen any constraint yet, the relevant
-  //       portion of `tmp_sat' is the sub-matrix consisting of
-  //       the first 0 columns: thus the relevant portion correctly
-  //       characterizes the initial saturation information.
-  Bit_Matrix tmp_sat(dest_num_rows, source.num_rows());
-
-  // By invoking the function conversion(), we populate `dest' with
-  // the generators characterizing the polyhedron described by all
-  // the constraints in `source'.
-  // The `start' parameter is zero (we haven't seen any constraint yet)
-  // and the 5th parameter (representing the number of lines in `dest'),
-  // by construction, is equal to `dest_num_rows'.
-  const dimension_type num_lines_or_equalities
-    = conversion(source, 0, dest, tmp_sat, dest_num_rows);
-  // conversion() may have modified the number of rows in `dest'.
-  dest_num_rows = dest.num_rows();
-
-  // Checking if the generators in `dest' represent an empty polyhedron:
-  // the polyhedron is empty if there are no points
-  // (because rays, lines and closure points need a supporting point).
-  // Points can be detected by looking at:
-  // - the divisor, for necessarily closed polyhedra;
-  // - the epsilon coordinate, for NNC polyhedra.
-  const dimension_type checking_index
-    = dest.is_necessarily_closed()
-    ? 0
-    : dest.num_columns() - 1;
-  dimension_type first_point;
-  for (first_point = num_lines_or_equalities;
-       first_point < dest_num_rows;
-       ++first_point)
-    if (dest[first_point][checking_index] > 0)
-      break;
-
-  if (first_point == dest_num_rows)
-    if (con_to_gen)
-      // No point has been found: the polyhedron is empty.
-      return true;
-    else
-      // Here `con_to_gen' is false: `dest' is a system of constraints.
-      // In this case the condition `first_point == dest_num_rows'
-      // actually means that all the constraints in `dest' have their
-      // inhomogeneous term equal to 0.
-      // This is an ILLEGAL situation, because it implies that
-      // the constraint system `dest' lacks the positivity constraint
-      // and no linear combination of the constraints in `dest'
-      // can reintroduce the positivity constraint.
-      throw std::runtime_error("PPL internal error");
-  else {
-    // A point has been found: the polyhedron is not empty.
-    // Now invoking simplify() to remove all the redundant constraints
-    // from the system `source'.
-    // Since the saturation matrix `tmp_sat' returned by conversion()
-    // has rows indexed by generators (the rows of `dest') and columns
-    // indexed by constraints (the rows of `source'), we have to
-    // transpose it to obtain the saturation matrix needed by simplify().
-    sat.transpose_assign(tmp_sat);
-    simplify(source, sat);
-    return false;
-  }
-}
-
-
-/*!
-  \return
-  <CODE>true</CODE> if the obtained polyhedron is empty,
-  <CODE>false</CODE> otherwise.
-
-  \param con_to_gen
-  <CODE>true</CODE> if \p source1 and \p source2 are system of
-  constraints, <CODE>false</CODE> otherwise;
-
-  \param source1
-  The first element of the given DD pair;
-
-  \param dest
-  The second element of the given DD pair;
-
-  \param sat
-  The saturation matrix that bind \p source1 to \p dest;
-
-  \param source2
-  The new system of generators or constraints.
-
-  It is assumed that \p source1 and \p source2 are sorted and have
-  no pending rows. It is also assumed that \p dest has no pending rows.
-  On entry, the rows of \p sat are indexed by the rows of \p dest
-  and its columns are indexed by the rows of \p source1.
-  On exit, the rows of \p sat are indexed by the rows of \p dest
-  and its columns are indexed by the rows of the system obtained
-  by merging \p source1 and \p source2.
-
-  Let us suppose we want to add some constraints to a given system of
-  constraints \p source1. This method, given a minimized double description
-  pair (\p source1, \p dest) and a system of new constraints \p source2,
-  modifies \p source1 by adding to it the constraints of \p source2 that
-  are not in \p source1. Then, by invoking
-  <CODE>add_and_minimize(bool, Linear_System&, Linear_System&, Bit_Matrix&)</CODE>,
-  processes the added constraints obtaining a new DD pair.
-
-  This method treats also the dual case, i.e., adding new generators to
-  a previous system of generators. In this case \p source1 contains the
-  old generators, \p source2 the new ones and \p dest is the system
-  of constraints in the given minimized DD pair.
-
-  Since \p source2 contains the constraints (or the generators) that
-  will be added to \p source1, it is constant: it will not be modified.
-*/
-bool
-PPL::Polyhedron::add_and_minimize(const bool con_to_gen,
-				  Linear_System& source1,
-				  Linear_System& dest,
-				  Bit_Matrix& sat,
-				  const Linear_System& source2) {
-  // `source1' and `source2' cannot be empty.
-  PPL_ASSERT(!source1.has_no_rows() && !source2.has_no_rows());
-  // `source1' and `source2' must have the same number of columns
-  // to be merged.
-  PPL_ASSERT(source1.num_columns() == source2.num_columns());
-  // `source1' and `source2' are fully sorted.
-  PPL_ASSERT(source1.is_sorted() && source1.num_pending_rows() == 0);
-  PPL_ASSERT(source2.is_sorted() && source2.num_pending_rows() == 0);
-  PPL_ASSERT(dest.num_pending_rows() == 0);
-
-  const dimension_type old_source1_num_rows = source1.num_rows();
-  // `k1' and `k2' run through the rows of `source1' and `source2', resp.
-  dimension_type k1 = 0;
-  dimension_type k2 = 0;
-  dimension_type source2_num_rows = source2.num_rows();
-  while (k1 < old_source1_num_rows && k2 < source2_num_rows) {
-    // Add to `source1' the constraints from `source2', as pending rows.
-    // We exploit the property that initially both `source1' and `source2'
-    // are sorted and index `k1' only scans the non-pending rows of `source1',
-    // so that it is not influenced by the pending rows appended to it.
-    // This way no duplicate (i.e., trivially redundant) constraint
-    // is introduced in `source1'.
-    const int cmp = compare(source1[k1], source2[k2]);
-    if (cmp == 0) {
-      // We found the same row: there is no need to add `source2[k2]'.
-      ++k2;
-      // By sortedness, since `k1 < old_source1_num_rows',
-      // we can increment index `k1' too.
-      ++k1;
-    }
-    else if (cmp < 0)
-      // By sortedness, we can increment `k1'.
-      ++k1;
-    else {
-      // Here `cmp > 0'.
-      // By sortedness, `source2[k2]' cannot be in `source1'.
-      // We add it as a pending row of `source1' (sortedness unaffected).
-      source1.add_pending_row(source2[k2]);
-      // We can increment `k2'.
-      ++k2;
-    }
-  }
-  // Have we scanned all the rows in `source2'?
-  if (k2 < source2_num_rows)
-    // By sortedness, all the rows in `source2' having indexes
-    // greater than or equal to `k2' were not in `source1'.
-    // We add them as pending rows of 'source1' (sortedness not affected).
-    for ( ; k2 < source2_num_rows; ++k2)
-      source1.add_pending_row(source2[k2]);
-
-  if (source1.num_pending_rows() == 0)
-    // No row was appended to `source1', because all the constraints
-    // in `source2' were already in `source1'.
-    // There is nothing left to do ...
-    return false;
-
-  return add_and_minimize(con_to_gen, source1, dest, sat);
-}
-
-/*!
-  \return
-  <CODE>true</CODE> if the obtained polyhedron is empty,
-  <CODE>false</CODE> otherwise.
-
-  \param con_to_gen
-  <CODE>true</CODE> if \p source is a system of constraints,
-  <CODE>false</CODE> otherwise;
-
-  \param source
-  The first element of the given DD pair. It also contains the pending
-  rows to be processed;
-
-  \param dest
-  The second element of the given DD pair. It cannot have pending rows;
-
-  \param sat
-  The saturation matrix that bind the upper part of \p source to \p dest.
-
-  On entry, the rows of \p sat are indexed by the rows of \p dest
-  and its columns are indexed by the non-pending rows of \p source.
-  On exit, the rows of \p sat are indexed by the rows of \p dest
-  and its columns are indexed by the rows of \p source.
-
-  Let us suppose that \p source is a system of constraints.
-  This method assumes that the non-pending part of \p source and
-  system \p dest form a double description pair in minimal form and
-  will build a new DD pair in minimal form by processing the pending
-  constraints in \p source. To this end, it will call
-  <CODE>conversion()</CODE>) and <CODE>simplify</CODE>.
-
-  This method treats also the dual case, i.e., processing pending
-  generators. In this case \p source contains generators and \p dest
-  is the system of constraints corresponding to the non-pending part
-  of \p source.
-*/
-bool
-PPL::Polyhedron::add_and_minimize(const bool con_to_gen,
-				  Linear_System& source,
-				  Linear_System& dest,
-				  Bit_Matrix& sat) {
-  PPL_ASSERT(source.num_pending_rows() > 0);
-  PPL_ASSERT(source.num_columns() == dest.num_columns());
-  PPL_ASSERT(source.is_sorted());
-
-  // First, pad the saturation matrix with new columns (of zeroes)
-  // to accommodate for the pending rows of `source'.
-  sat.resize(dest.num_rows(), source.num_rows());
-
-  // Incrementally compute the new system of generators.
-  // Parameter `start' is set to the index of the first pending constraint.
-  const dimension_type num_lines_or_equalities
-    = conversion(source, source.first_pending_row(),
-		 dest, sat,
-		 dest.num_lines_or_equalities());
-
-  // conversion() may have modified the number of rows in `dest'.
-  const dimension_type dest_num_rows = dest.num_rows();
-
-  // Checking if the generators in `dest' represent an empty polyhedron:
-  // the polyhedron is empty if there are no points
-  // (because rays, lines and closure points need a supporting point).
-  // Points can be detected by looking at:
-  // - the divisor, for necessarily closed polyhedra;
-  // - the epsilon coordinate, for NNC polyhedra.
-  const dimension_type checking_index
-    = dest.is_necessarily_closed()
-    ? 0
-    : dest.num_columns() - 1;
-  dimension_type first_point;
-  for (first_point = num_lines_or_equalities;
-       first_point < dest_num_rows;
-       ++first_point)
-     if (dest[first_point][checking_index] > 0)
-      break;
-
-  if (first_point == dest_num_rows)
-    if (con_to_gen)
-      // No point has been found: the polyhedron is empty.
-      return true;
-    else
-      // Here `con_to_gen' is false: `dest' is a system of constraints.
-      // In this case the condition `first_point == dest_num_rows'
-      // actually means that all the constraints in `dest' have their
-      // inhomogeneous term equal to 0.
-      // This is an ILLEGAL situation, because it implies that
-      // the constraint system `dest' lacks the positivity constraint
-      // and no linear combination of the constraints in `dest'
-      // can reintroduce the positivity constraint.
-      throw std::runtime_error("PPL internal error");
-  else {
-    // A point has been found: the polyhedron is not empty.
-    // Now invoking `simplify()' to remove all the redundant constraints
-    // from the system `source'.
-    // Since the saturation matrix `sat' returned by `conversion()'
-    // has rows indexed by generators (the rows of `dest') and columns
-    // indexed by constraints (the rows of `source'), we have to
-    // transpose it to obtain the saturation matrix needed by `simplify()'.
-    sat.transpose();
-    simplify(source, sat);
-    // Transposing back.
-    sat.transpose();
-    return false;
-  }
-}
diff --git a/src/mp_std_bits.cc b/src/mp_std_bits.cc
index d79dca8..d353c19 100644
--- a/src/mp_std_bits.cc
+++ b/src/mp_std_bits.cc
@@ -1,8 +1,7 @@
 /* Definitions of specializations of std::numeric_limits objects for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
+   multi-precision types.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,9 +20,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "mp_std_bits.defs.hh"
 
 const bool std::numeric_limits<mpz_class>::is_specialized;
diff --git a/src/mp_std_bits.defs.hh b/src/mp_std_bits.defs.hh
index aaedd9f..d1ecf54 100644
--- a/src/mp_std_bits.defs.hh
+++ b/src/mp_std_bits.defs.hh
@@ -1,8 +1,7 @@
 /* Declarations of specializations of std:: objects for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
+   multi-precision types.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_mp_std_bits_defs_hh
 #define PPL_mp_std_bits_defs_hh 1
diff --git a/src/mp_std_bits.inlines.hh b/src/mp_std_bits.inlines.hh
index a10ea68..30b3160 100644
--- a/src/mp_std_bits.inlines.hh
+++ b/src/mp_std_bits.inlines.hh
@@ -1,8 +1,7 @@
 /* Definitions of specializations of std:: functions and methods for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
+   multi-precision types.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_mp_std_bits_inlines_hh
 #define PPL_mp_std_bits_inlines_hh 1
diff --git a/src/namespaces.hh b/src/namespaces.hh
index 662c542..3a67042 100644
--- a/src/namespaces.hh
+++ b/src/namespaces.hh
@@ -1,6 +1,6 @@
 /* Documentation for used namespaces.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_namespaces_hh
 #define PPL_namespaces_hh 1
@@ -167,10 +167,8 @@ namespace YAP {
   The Parma Polyhedra Library conforms to the C++ standard and,
   in particular, as far as reserved names are concerned (17.4.3.1,
   [lib.reserved.names]).  The PPL, however, defines several
-  template specializations for the standard library function templates
-  <CODE>swap()</CODE> and <CODE>iter_swap()</CODE> (25.2.2, [lib.alg.swap]),
-  and for the class template <CODE>numeric_limits</CODE>
-  (18.2.1, [lib.limits]).
+  template specializations for the standard library class template
+  <CODE>numeric_limits</CODE> (18.2.1, [lib.limits]).
 
   \note
   The PPL provides the specializations of the class template
diff --git a/src/ppl-config.cc.in b/src/ppl-config.cc.in
index 6bc38a1..48265f2 100644
--- a/src/ppl-config.cc.in
+++ b/src/ppl-config.cc.in
@@ -1,7 +1,7 @@
 /* A program to enquire about the configuration of the PPL  -*- C++ -*-
    and of the applications using it.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,9 +20,12 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl.hh"
+#include "BUGS.hh"
+#include "COPYING.hh"
+#include "CREDITS.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -97,10 +100,6 @@ Interface required_interface = NO_INTERFACE;
 std::string prefix;
 std::string exec_prefix;
 
-const char* variable_prefix = "PPL_";
-
-bool exec_prefix_set = false;
-
 bool required_application = false;
 bool required_library = false;
 bool required_prefix = false;
@@ -127,6 +126,55 @@ bool required_credits = false;
 
 unsigned num_required_items = 0;
 
+
+#define OPTION_LETTERS "hF:I:ALp::e::OVMNRBEniblPCXDgcur"
+
+const char* program_name = 0;
+
+void
+fatal(const char* format, ...) __attribute__((__noreturn__));
+
+void
+fatal(const char* format, ...) {
+  va_list ap;
+  va_start(ap, format);
+  fprintf(stderr, "%s: ", program_name);
+  vfprintf(stderr, format, ap);
+  fprintf(stderr, "\n");
+  va_end(ap);
+  exit(1);
+}
+
+void
+internal_error() __attribute__((__noreturn__));
+
+void
+internal_error() {
+  fatal("internal error: please submit a bug report to ppl-devel at cs.unipr.it");
+}
+
+inline char
+to_lower(char c) {
+  return
+    static_cast<char>(tolower(static_cast<int>(static_cast<unsigned char>(c))));
+}
+
+bool
+strcaseeq(const char* s1, const char* s2) {
+  while (*s1 != '\0') {
+    if (*s2 == '\0' || to_lower(*s1) != to_lower(*s2))
+      return false;
+    ++s1;
+    ++s2;
+  }
+  return *s2 == '\0';
+}
+
+void
+process_options(int argc, char* argv[]) {
+
+  bool exec_prefix_set = false;
+
 #ifdef PPL_HAVE_GETOPT_H
 struct option long_options[] = {
   {"help",              no_argument,       0, 'h'},
@@ -159,8 +207,8 @@ struct option long_options[] = {
 };
 #endif
 
-static const char* usage_string
-= "Usage: %s [OPTION]...\n"
+  static const char* usage_string
+  = "Usage: %s [OPTION]...\n"
 "Displays information, in various formats, about an installation\n"
 "of the Parma Polyhedra Library.\n\n"
 "Options:\n"
@@ -202,52 +250,6 @@ static const char* usage_string
 "\n"
 "Report bugs to <ppl-devel at cs.unipr.it>.\n";
 
-#define OPTION_LETTERS "hF:I:ALp::e::OVMNRBEniblPCXDgcur"
-
-const char* program_name = 0;
-
-void
-fatal(const char* format, ...) {
-  va_list ap;
-  va_start(ap, format);
-  fprintf(stderr, "%s: ", program_name);
-  vfprintf(stderr, format, ap);
-  fprintf(stderr, "\n");
-  va_end(ap);
-  exit(1);
-}
-
-// Currently unused, but we may want to use it in the future.
-/*
-void
-warning(const char* format, ...) {
-  va_list ap;
-  va_start(ap, format);
-  fprintf(stderr, "%s: Warning: ", program_name);
-  vfprintf(stderr, format, ap);
-  fprintf(stderr, "\n");
-  va_end(ap);
-}
-*/
-
-void internal_error() {
-  fatal("internal error: please submit a bug report to ppl-devel at cs.unipr.it");
-}
-
-bool
-strcaseeq(const char* s1, const char* s2) {
-  while (*s1 && *s2
-	 && tolower(static_cast<unsigned char>(*s1))
-	 == tolower(static_cast<unsigned char>(*s2))) {
-    ++s1;
-    ++s2;
-  }
-  return tolower(static_cast<unsigned char>(*s1))
-    == tolower(static_cast<unsigned char>(*s2));
-}
-
-void
-process_options(int argc, char* argv[]) {
   while (true) {
 #ifdef PPL_HAVE_GETOPT_H
     int option_index = 0;
@@ -328,7 +330,7 @@ process_options(int argc, char* argv[]) {
 
       // --prefix
     case 'p':
-      if (optarg) {
+      if (optarg != 0) {
 	prefix = optarg;
 	if (!exec_prefix_set) {
 	  exec_prefix = optarg;
@@ -343,7 +345,7 @@ process_options(int argc, char* argv[]) {
 
       // --exec_prefix
     case 'e':
-      if (optarg) {
+      if (optarg != 0) {
 	exec_prefix = optarg;
 	exec_prefix_set = true;
       }
@@ -491,6 +493,7 @@ process_options(int argc, char* argv[]) {
 
 void
 portray_name(const char* name) {
+  const char* variable_prefix = "PPL_";
   switch (required_format) {
   case PLAIN:
     if (num_required_items > 1)
@@ -611,16 +614,16 @@ main(int argc, char* argv[]) try {
     portray("VERSION", PPL_VERSION);
 
   if (required_version_major)
-    portray("VERSION_MAJOR", long(PPL_VERSION_MAJOR));
+    portray("VERSION_MAJOR", static_cast<long>(PPL_VERSION_MAJOR));
 
   if (required_version_minor)
-    portray("VERSION_MINOR", long(PPL_VERSION_MINOR));
+    portray("VERSION_MINOR", static_cast<long>(PPL_VERSION_MINOR));
 
   if (required_version_revision)
-    portray("VERSION_REVISION", long(PPL_VERSION_REVISION));
+    portray("VERSION_REVISION", static_cast<long>(PPL_VERSION_REVISION));
 
   if (required_version_beta)
-    portray("VERSION_BETA", long(PPL_VERSION_BETA));
+    portray("VERSION_BETA", static_cast<long>(PPL_VERSION_BETA));
 
   if (required_banner)
     portray("BANNER", PPL::banner());
@@ -697,13 +700,8 @@ main(int argc, char* argv[]) try {
       if (s.length() > 0)
 	s += ' ';
       s += "-lppl";
-      switch (required_interface) {
-      case C:
+      if (required_interface == C)
 	s += " -lppl_c";
-	break;
-      default:
-	break;
-      }
       s += " -lgmpxx -lgmp";
     }
     portray("LDFLAGS", s);
@@ -712,20 +710,14 @@ main(int argc, char* argv[]) try {
   if (required_license)
     portray("LICENSE", PPL_LICENSE);
 
-  if (required_copying) {
-    extern const char* const COPYING_array[];
+  if (required_copying)
     portray("COPYING", COPYING_array);
-  }
 
-  if (required_bugs) {
-    extern const char* const BUGS_array[];
+  if (required_bugs)
     portray("BUGS", BUGS_array);
-  }
 
-  if (required_credits) {
-    extern const char* const CREDITS_array[];
+  if (required_credits)
     portray("CREDITS", CREDITS_array);
-  }
 
   return 0;
 }
diff --git a/src/ppl.hh.dist b/src/ppl.hh.dist
index 8a9e56d..61b9272 100644
--- a/src/ppl.hh.dist
+++ b/src/ppl.hh.dist
@@ -1,6 +1,6 @@
 /* This is the header file of the Parma Polyhedra Library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_hh
 #define PPL_ppl_hh 1
@@ -40,6 +40,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /* BEGIN ppl-config.h */
 
+#ifndef PPL_ppl_config_h
+#define PPL_ppl_config_h 1
+
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
 #define PPL_FLOAT_IEEE754_SINGLE 1
@@ -106,6 +109,14 @@ site: http://www.cs.unipr.it/ppl/ . */
    don't. */
 #define PPL_HAVE_DECL_RLIMIT_VMEM 0
 
+/* Define to 1 if you have the declaration of `setitimer', and to 0 if you
+   don't. */
+#define PPL_HAVE_DECL_SETITIMER 1
+
+/* Define to 1 if you have the declaration of `setrlimit', and to 0 if you
+   don't. */
+#define PPL_HAVE_DECL_SETRLIMIT 1
+
 /* Define to 1 if you have the declaration of `sigaction', and to 0 if you
    don't. */
 #define PPL_HAVE_DECL_SIGACTION 1
@@ -234,7 +245,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_PACKAGE_NAME "the Parma Polyhedra Library"
 
 /* Define to the full name and version of this package. */
-#define PPL_PACKAGE_STRING "the Parma Polyhedra Library 0.11.2"
+#define PPL_PACKAGE_STRING "the Parma Polyhedra Library 1.0"
 
 /* Define to the one symbol short name of this package. */
 #define PPL_PACKAGE_TARNAME "ppl"
@@ -243,7 +254,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PPL_PACKAGE_VERSION "0.11.2"
+#define PPL_PACKAGE_VERSION "1.0"
 
 /* ABI-breaking extra assertions are enabled when this is defined. */
 /* #undef PPL_ABI_BREAKING_EXTRA_DEBUG */
@@ -262,31 +273,19 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_COEFFICIENT_TYPE mpz_class
 
 /* This contains the options with which `configure' was invoked. */
-#define PPL_CONFIGURE_OPTIONS " '--with-java=/usr/lib/jvm/java-6-openjdk'"
+#define PPL_CONFIGURE_OPTIONS " '--with-java=/usr/lib/jvm/java-7-openjdk-amd64'"
 
 /* The unique code of the binary format of C++ doubles, if supported;
    undefined otherwise. */
 #define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
 
-/* Not zero if C++ supports exact output for doubles. */
-#define PPL_CXX_DOUBLE_EXACT_OUTPUT 1
-
 /* The binary format of C++ floats, if supported; undefined otherwise. */
 #define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE
 
-/* Not zero if C++ supports exact output for floats. */
-#define PPL_CXX_FLOAT_EXACT_OUTPUT 1
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#define PPL_CXX_HAS_REMAINDER_BUG 1
-
 /* The unique code of the binary format of C++ long doubles, if supported;
    undefined otherwise. */
 #define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
-/* Not zero if C++ supports exact output for long doubles. */
-#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 1
-
 /* Not zero if the the plain char type is signed. */
 #define PPL_CXX_PLAIN_CHAR_IS_SIGNED 1
 
@@ -297,15 +296,15 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Not zero if the C++ compiler supports __attribute__ ((weak)). */
 #define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 1
 
-/* Not zero if the C++ compiler supports flexible arrays. */
-#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 1
-
 /* Not zero if the the IEEE inexact flag is supported in C++. */
 #define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 1
 
 /* Not zero if it is possible to limit memory using setrlimit(). */
 #define PPL_CXX_SUPPORTS_LIMITING_MEMORY 1
 
+/* Not zero if the C++ compiler supports zero_length arrays. */
+#define PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS 1
+
 /* Defined if floating point arithmetic may use the 387 unit. */
 #define PPL_FPMATH_MAY_USE_387 1
 
@@ -346,9 +345,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 /* Not zero if long doubles are supported. */
 #define PPL_SUPPORTED_LONG_DOUBLE 1
 
-/* Defined if the Parma Watchdog Library is enabled. */
-#define PPL_WATCHDOG_LIBRARY_ENABLED 1
-
 /* The size of `char', as computed by sizeof. */
 #define PPL_SIZEOF_CHAR 1
 
@@ -444,6 +440,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 # include <inttypes.h>
 #endif
 
+#define PPL_U(x) x
+
+#endif /* !defined(PPL_ppl_config_h) */
+
 /* END ppl-config.h */
 
 /* Automatically generated from PPL source file ../src/version.hh line 1. */
@@ -454,15 +454,15 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 //! The major number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_MAJOR 0
+#define PPL_VERSION_MAJOR 1
 
 //! The minor number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_MINOR 11
+#define PPL_VERSION_MINOR 0
 
 //! The revision number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_REVISION 2
+#define PPL_VERSION_REVISION 0
 
 /*! \brief
   The beta number of the PPL version.  This is zero for official
@@ -483,10 +483,13 @@ site: http://www.cs.unipr.it/ppl/ . */
   PPL_VERSION_BETA is zero, <CODE>M "." m "." r "pre" b</CODE> if
   neither PPL_VERSION_REVISION nor PPL_VERSION_BETA are zero.
 */
-#define PPL_VERSION "0.11.2"
+#define PPL_VERSION "1.0"
 
 namespace Parma_Polyhedra_Library {
 
+//! \name Library Version Control Functions
+//@{
+
 //! Returns the major number of the PPL version.
 unsigned
 version_major();
@@ -515,6 +518,8 @@ const char* version();
 */
 const char* banner();
 
+//@} // Library Version Control Functions
+
 } // namespace Parma_Polyhedra_Library
 
 /* Automatically generated from PPL source file ../src/namespaces.hh line 1. */
@@ -665,10 +670,8 @@ namespace YAP {
   The Parma Polyhedra Library conforms to the C++ standard and,
   in particular, as far as reserved names are concerned (17.4.3.1,
   [lib.reserved.names]).  The PPL, however, defines several
-  template specializations for the standard library function templates
-  <CODE>swap()</CODE> and <CODE>iter_swap()</CODE> (25.2.2, [lib.alg.swap]),
-  and for the class template <CODE>numeric_limits</CODE>
-  (18.2.1, [lib.limits]).
+  template specializations for the standard library class template
+  <CODE>numeric_limits</CODE> (18.2.1, [lib.limits]).
 
   \note
   The PPL provides the specializations of the class template
@@ -694,840 +697,781 @@ class Interval_Info_Bitset;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 1. */
-/* stdiobuf class declaration.
+/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 1. */
+/* Specializations of std::numeric_limits for "checked" types.
 */
 
 
-/* Automatically generated from PPL source file ../src/stdiobuf.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class stdiobuf;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 28. */
-#include <cstdio>
-#include <streambuf>
-
-class Parma_Polyhedra_Library::stdiobuf
-  : public std::basic_streambuf<char, std::char_traits<char> > {
-public:
-  //! Constructor.
-  stdiobuf(FILE* file);
-
-protected:
-  /*! \brief
-    Gets a character in case of underflow.
-
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  virtual int_type underflow();
-
-  /*! \brief
-    In case of underflow, gets a character and advances the next pointer.
-
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  virtual int_type uflow();
-
-  /*! \brief
-    Gets a sequence of characters.
-
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
-
-  /*! \brief
-    Puts character back in case of backup underflow.
-
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
-  */
-  virtual int_type pbackfail(int_type c = traits_type::eof());
-
-  /*! \brief
-    Writes a sequence of characters.
-
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
-  */
-  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
-
-  /*! \brief
-    Writes a character in case of overflow.
-
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
-  */
-  virtual int_type overflow(int_type c);
-
-  /*! \brief
-    Synchronizes the stream buffer.
-
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
-  */
-  virtual int sync();
-
-private:
-  //! Character type of the streambuf.
-  typedef char char_type;
-
-  //! Traits type of the streambuf.
-  typedef std::char_traits<char_type> traits_type;
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1. */
+/* Checked_Number class declaration.
+*/
 
-  //! Integer type of the streambuf.
-  typedef traits_type::int_type int_type;
 
-  //! The encapsulated stdio file.
-  FILE* fp;
+/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 1. */
 
-  //! Buffer for the last character read.
-  int_type ungetc_buf;
-};
 
-/* Automatically generated from PPL source file ../src/stdiobuf.inlines.hh line 1. */
-/* stdiobuf class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Coefficient_traits_template.hh line 1. */
+/* Coefficient_traits_template class declaration.
 */
 
 
 namespace Parma_Polyhedra_Library {
 
-inline
-stdiobuf::stdiobuf(FILE* file)
-  : fp(file), ungetc_buf(traits_type::eof()) {
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Coefficient>
+struct Coefficient_traits_template {
+};
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 110. */
-
-/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 1. */
-/* c_streambuf class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/c_streambuf.types.hh line 1. */
-
+/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 17. */
 
 namespace Parma_Polyhedra_Library {
 
-class c_streambuf;
+struct Extended_Number_Policy;
+
+template <typename T, typename Policy>
+class Checked_Number;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 28. */
-#include <streambuf>
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 1. */
+/* Abstract checked arithmetic function container.
+*/
 
-class Parma_Polyhedra_Library::c_streambuf
-  : public std::basic_streambuf<char, std::char_traits<char> > {
-public:
-  //! Constructor.
-  c_streambuf();
 
-  //! Destructor.
-  virtual ~c_streambuf();
+#include <cassert>
+#include <iostream>
+#include <gmpxx.h>
+/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 1. */
+/* Declarations of specializations of std:: objects for
+   multi-precision types.
+*/
 
-protected:
-  /*! \brief
-    Gets a character in case of underflow.
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  int_type underflow();
+#include <gmpxx.h>
+#include <limits>
 
-  /*! \brief
-    In case of underflow, gets a character and advances the next pointer.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(mpz_class& x, mpz_class& y);
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  int_type uflow();
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(mpq_class& x, mpq_class& y);
 
-  /*! \brief
-    Gets a sequence of characters.
+namespace std {
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
-  */
-  std::streamsize xsgetn(char_type* s, std::streamsize n);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+class numeric_limits<mpz_class> {
+private:
+  typedef mpz_class Type;
 
-  /*! \brief
-    Puts character back in case of backup underflow.
+public:
+  static const bool is_specialized = true;
+  static const int digits = 0;
+  static const int digits10 = 0;
+  static const bool is_signed = true;
+  static const bool is_integer = true;
+  static const bool is_exact = true;
+  static const int radix = 2;
+  static const int min_exponent = 0;
+  static const int min_exponent10 = 0;
+  static const int max_exponent = 0;
+  static const int max_exponent10 = 0;
+  static const bool has_infinity = false;
+  static const bool has_quiet_NaN =  false;
+  static const bool has_signaling_NaN = false;
+  static const float_denorm_style has_denorm = denorm_absent;
+  static const bool has_denorm_loss = false;
+  static const bool is_iec559 = false;
+  static const bool is_bounded = false;
+  static const bool is_modulo = false;
+  static const bool traps = false;
+  static const bool tininess_before = false;
+  static const float_round_style round_style = round_toward_zero;
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
-  */
-  int_type pbackfail(int_type c = traits_type::eof());
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-  /*! \brief
-    Writes a sequence of characters.
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
-  */
-  std::streamsize xsputn(const char_type* s, std::streamsize n);
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-  /*! \brief
-    Writes a character in case of overflow.
+  static Type round_error() {
+    return static_cast<Type>(0);
+  }
 
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
-  */
-  int_type overflow(int_type c);
+  static Type infinity() {
+    return static_cast<Type>(0);
+  }
 
-  /*! \brief
-    Synchronizes the stream buffer.
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
+  }
 
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
-  */
-  int sync();
+  static Type denorm_min() {
+    return static_cast<Type>(1);
+  }
+};
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+class numeric_limits<mpq_class> {
 private:
-  //! Character type of the streambuf.
-  typedef char char_type;
+  typedef mpq_class Type;
 
-  //! Traits type of the streambuf.
-  typedef std::char_traits<char_type> traits_type;
+public:
+  static const bool is_specialized = true;
+  static const int digits = 0;
+  static const int digits10 = 0;
+  static const bool is_signed = true;
+  static const bool is_integer = false;
+  static const bool is_exact = true;
+  static const int radix = 2;
+  static const int min_exponent = 0;
+  static const int min_exponent10 = 0;
+  static const int max_exponent = 0;
+  static const int max_exponent10 = 0;
+  static const bool has_infinity = false;
+  static const bool has_quiet_NaN =  false;
+  static const bool has_signaling_NaN = false;
+  static const float_denorm_style has_denorm = denorm_absent;
+  static const bool has_denorm_loss = false;
+  static const bool is_iec559 = false;
+  static const bool is_bounded = false;
+  static const bool is_modulo = false;
+  static const bool traps = false;
+  static const bool tininess_before = false;
+  static const float_round_style round_style = round_toward_zero;
 
-  //! Integer type of the streambuf.
-  typedef traits_type::int_type int_type;
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-  //! Buffer for the last character read.
-  int_type ungetc_buf;
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
-  //! Buffer for next character
-  int_type nextc_buf;
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-  virtual size_t cb_read(char *, size_t) {
-    return 0;
+  static Type round_error() {
+    return static_cast<Type>(0);
   }
-  virtual size_t cb_write(const char *, size_t) {
-    return 0;
+
+  static Type infinity() {
+    return static_cast<Type>(0);
   }
-  virtual int cb_sync() {
-    return 0;
+
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
   }
-  virtual int cb_flush() {
-    return 0;
+
+  static Type denorm_min() {
+    return static_cast<Type>(0);
   }
 };
 
-/* Automatically generated from PPL source file ../src/c_streambuf.inlines.hh line 1. */
-/* c_streambuf class implementation: inline functions.
-*/
+} // namespace std
 
+/* Automatically generated from PPL source file ../src/mp_std_bits.inlines.hh line 1. */
+/* Definitions of specializations of std:: functions and methods for
+   multi-precision types.
+*/
 
-namespace Parma_Polyhedra_Library {
 
-inline
-c_streambuf::c_streambuf()
-  : ungetc_buf(traits_type::eof()), nextc_buf(traits_type::eof()) {
+inline void
+swap(mpz_class& x, mpz_class& y) {
+  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
 }
 
-inline
-c_streambuf::~c_streambuf() {
+inline void
+swap(mpq_class& x, mpq_class& y) {
+  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 125. */
+/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 168. */
 
-/* Automatically generated from PPL source file ../src/initializer.hh line 1. */
-/* Nifty counter object for the initialization of the library.
+/* Automatically generated from PPL source file ../src/Temp.defs.hh line 1. */
+/* Temp_* classes declarations.
 */
 
 
-/* Automatically generated from PPL source file ../src/Init.defs.hh line 1. */
-/* Init class declaration.
+/* Automatically generated from PPL source file ../src/meta_programming.hh line 1. */
+/* Metaprogramming utilities.
 */
 
 
-/* Automatically generated from PPL source file ../src/Init.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Init;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/fpu.types.hh line 1. */
-
-
-#ifdef PPL_HAVE_IEEEFP_H
-#include <ieeefp.h>
-#endif
-
-namespace Parma_Polyhedra_Library {
-
-enum fpu_rounding_direction_type {};
-enum fpu_rounding_control_word_type {};
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Init.defs.hh line 29. */
+#include <gmpxx.h>
 
 namespace Parma_Polyhedra_Library {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  Sets the FPU rounding mode so that the PPL abstractions based on
-  floating point numbers work correctly.
+  Declares a per-class constant of type <CODE>bool</CODE>, called \p name
+  and with value \p value.
 
-  This is performed automatically at initialization-time.  Calling
-  this function is needed only if restore_pre_PPL_rounding() has been
-  previously called.
+  \ingroup PPL_CXX_interface
+  Differently from static constants, \p name needs not (and cannot) be
+  defined (for static constants, the need for a further definition is
+  mandated by Section 9.4.2/4 of the C++ standard).
 */
-void set_rounding_for_PPL();
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define const_bool_nodef(name, value)		\
+  enum const_bool_value_ ## name { PPL_U(name) = (value) }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  Sets the FPU rounding mode as it was before initialization of the PPL.
+  Declares a per-class constant of type <CODE>int</CODE>, called \p name
+  and with value \p value.
 
-  After calling this function it is absolutely necessary to call
-  set_rounding_for_PPL() before using any PPL abstractions based on
-  floating point numbers.
-  This is performed automatically at finalization-time.
+  \ingroup PPL_CXX_interface
+  Differently from static constants, \p name needs not (and cannot) be
+  defined (for static constants, the need for a further definition is
+  mandated by Section 9.4.2/4 of the C++ standard).
 */
-void restore_pre_PPL_rounding();
-
-} // namespace Parma_Polyhedra_Library
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define const_int_nodef(name, value) \
+  enum anonymous_enum_ ## name { PPL_U(name) = (value) }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Class for initialization and finalization.
-/*! \ingroup PPL_CXX_interface
-  <EM>Nifty Counter</EM> initialization class,
-  ensuring that the library is initialized only once
-  and before its first use.
-  A count of the number of translation units using the library
-  is maintained. A static object of Init type will be declared
-  by each translation unit using the library.  As a result,
-  only one of them will initialize and properly finalize
-  the library.
+/*! \brief
+  Declares a per-class constant of type \p type, called \p name
+  and with value \p value.  The value of the constant is accessible
+  by means of the syntax <CODE>name()</CODE>.
+
+  \ingroup PPL_CXX_interface
+  Differently from static constants, \p name needs not (and cannot) be
+  defined (for static constants, the need for a further definition is
+  mandated by Section 9.4.2/4 of the C++ standard).
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Init {
-public:
-  //! Initializes the PPL.
-  Init();
-
-  //! Finalizes the PPL.
-  ~Init();
-
-private:
-  //! Count the number of objects created.
-  static unsigned int count;
-  static fpu_rounding_direction_type old_rounding_direction;
+#define const_value_nodef(type, name, value)	\
+  static type PPL_U(name)() {                   \
+    return (value);				\
+  }
 
-  friend void set_rounding_for_PPL();
-  friend void restore_pre_PPL_rounding();
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Declares a per-class constant of type \p type, called \p name
+  and with value \p value.  A constant reference to the constant
+  is accessible by means of the syntax <CODE>name()</CODE>.
 
-/* Automatically generated from PPL source file ../src/Init.inlines.hh line 1. */
-/* Init class implementation: inline functions.
+  \ingroup PPL_CXX_interface
+  Differently from static constants, \p name needs not (and cannot) be
+  defined (for static constants, the need for a further definition is
+  mandated by Section 9.4.2/4 of the C++ standard).
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define const_ref_nodef(type, name, value)				\
+  static const type& PPL_U(name)() {                                    \
+    static type PPL_U(name) = (value);                                       \
+    return (name);							\
+  }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
 
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 1. */
-/* Floating point unit related functions.
+  \ingroup PPL_CXX_interface
+  This is the non-specialized case, so the class is declared but not defined.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <bool b>
+struct Compile_Time_Check;
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
 
-/* Automatically generated from PPL source file ../src/compiler.hh line 1. */
-/* C++ compiler related stuff.
+  \ingroup PPL_CXX_interface
+  This is the specialized case with \p b equal to <CODE>true</CODE>,
+  so the class is declared and (trivially) defined.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+struct Compile_Time_Check<true> {
+};
 
-
-namespace Parma_Polyhedra_Library {
+#define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
+#define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
+  enum anonymous_enum_compile_time_check_ ## suffix {			\
+    /* If e evaluates to false, then the sizeof cannot be compiled. */  \
+    PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
+      = sizeof(Parma_Polyhedra_Library::Compile_Time_Check<(e)>)        \
+  }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  No-op macro that allows to avoid unused variable warnings from
-  the compiler.
+  Produces a compilation error if the compile-time constant \p e does
+  not evaluate to <CODE>true</CODE>
+  \ingroup PPL_CXX_interface
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define used(v) (void)v
+#define PPL_COMPILE_TIME_CHECK(e, msg) PPL_COMPILE_TIME_CHECK_AUX(e, __LINE__)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  No-op function that force the compiler to store the argument and
-  to reread it from memory if needed (thus preventing CSE).
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to \p b.
+  \ingroup PPL_CXX_interface
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline void
-cc_flush(const T& x) {
-#if defined(__GNUC__) || defined(__INTEL_COMPILER)
-  __asm__ __volatile__ ("" : "+m" (const_cast<T&>(x)));
-#else
-  // FIXME: is it possible to achieve the same effect in a portable way?
-  used(x);
-#endif
-}
-
-#ifndef PPL_SUPPRESS_UNINIT_WARNINGS
-#define PPL_SUPPRESS_UNINIT_WARNINGS 1
-#endif
+template <bool b>
+struct Bool {
+  enum const_bool_value {
+    value = b
+  };
+};
 
-#ifndef PPL_SUPPRESS_UNINITIALIZED_WARNINGS
-#define PPL_SUPPRESS_UNINITIALIZED_WARNINGS 1
-#endif
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to <CODE>true</CODE>.
+  \ingroup PPL_CXX_interface
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct True : public Bool<true> {
+};
 
-#if PPL_SUPPRESS_UNINITIALIZED_WARNINGS
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to <CODE>false</CODE>.
+  \ingroup PPL_CXX_interface
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct False : public Bool<false> {
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to <CODE>true</CODE> if and only if \p T1 is the same type as \p T2.
+
+  \ingroup PPL_CXX_interface
+  This is the non-specialized case, in which \p T1 and \p T2 can be different.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T1, typename T2>
+struct Is_Same : public False {
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to <CODE>true</CODE> if and only if \p T1 is the same type as \p T2.
+
+  \ingroup PPL_CXX_interface
+  This is the specialization in which \p T1 and \p T2 are equal.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-struct Suppress_Uninitialized_Warnings_Type {
-  typedef T synonym;
+struct Is_Same<T, T> : public True {
 };
 
-#define PPL_UNINITIALIZED(type, name)                                   \
-  type name = Suppress_Uninitialized_Warnings_Type<type>::synonym ()
-#else
-#define PPL_UNINITIALIZED(type, name)           \
-  type name
-#endif
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class holding a constant called <CODE>value</CODE> that evaluates
+  to <CODE>true</CODE> if and only if \p Base is the same type as \p Derived
+  or \p Derived is a class derived from \p Base.
 
-} // namespace Parma_Polyhedra_Library
+  \ingroup PPL_CXX_interface
+  \note
+  Care must be taken to use this predicate with template classes.
+  Suppose we have
+  \code
+  template <typename T> struct B;
+  template <typename T> struct D : public B<T>;
+  \endcode
+  Of course, we cannot test if, for some type variable <CODE>U</CODE>, we have
+  <CODE>Is_Same_Or_Derived<B<U>, Type>:: const_bool_value:: value == true</CODE>.
+  But we can do as follows:
+  \code
+  struct B_Base {
+  };
 
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 29. */
+  template <typename T> struct B : public B_Base;
+  \endcode
+  This enables us to inquire
+  <CODE>Is_Same_Or_Derived<B_Base, Type>:: const_bool_value:: value</CODE>.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Base, typename Derived>
+struct Is_Same_Or_Derived {
 
-namespace Parma_Polyhedra_Library {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! A class that is constructible from just anything.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  struct Any {
+    //! The universal constructor.
+    template <typename T>
+    Any(const T&);
+  };
 
-//! Initializes the FPU control functions.
-void
-fpu_initialize_control_functions();
+  //! Overloading with \p Base.
+  static char func(const Base&);
 
-//! Returns the current FPU rounding direction.
-fpu_rounding_direction_type
-fpu_get_rounding_direction();
+  //! Overloading with \p Any.
+  static double func(Any);
 
-//! Sets the FPU rounding direction to \p dir.
-void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir);
+  //! A function obtaining a const reference to a \p Derived object.
+  static const Derived& derived_object();
+
+  PPL_COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
+                         "architecture with sizeof(char) == sizeof(double)"
+                         " (!?)");
+
+  enum const_bool_value {
+    /*!
+      Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
+      overload resolution mechanism guarantees that <CODE>value</CODE>
+      evaluates to <CODE>true</CODE> if and only if <CODE>Base</CODE>
+      is the same type as <CODE>Derived</CODE> or <CODE>Derived</CODE>
+      is a class derived from <CODE>Base</CODE>.
+    */
+    value = (sizeof(func(derived_object())) == sizeof(char))
+  };
+};
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  Sets the FPU rounding direction to \p dir and returns the rounding
-  control word previously in use.
+  A class that provides a type member called <CODE>type</CODE> equivalent
+  to \p T if and only if \p b is <CODE>true</CODE>.
+
+  \ingroup PPL_CXX_interface
+  This is the non-specialized case, in which the <CODE>type</CODE> member
+  is not present.
 */
-fpu_rounding_control_word_type
-fpu_save_rounding_direction(fpu_rounding_direction_type dir);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <bool b, typename T = void>
+struct Enable_If {
+};
+
+template <typename Type, Type, typename T = void>
+struct Enable_If_Is {
+  typedef T type;
+};
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  Sets the FPU rounding direction to \p dir, clears the <EM>inexact
-  computation</EM> status, and returns the rounding control word
-  previously in use.
+  A class that provides a type member called <CODE>type</CODE> equivalent
+  to \p T if and only if \p b is <CODE>true</CODE>.
+
+  \ingroup PPL_CXX_interface
+  This is the specialization in which the <CODE>type</CODE> member
+  is present.
+
+  \note
+  Let <CODE>T</CODE>, <CODE>T1</CODE> and <CODE>T2</CODE> be any type
+  expressions and suppose we have some template function
+  <CODE>T f(T1, T2)</CODE>.  If we want to declare a specialization
+  that is enabled only if some compile-time checkable condition holds,
+  we simply declare the specialization by
+  \code
+  template ...
+  typename Enable_If<condition, T>::type
+  foo(T1 x, T2 y);
+  \endcode
+  For all the instantiations of the template parameters that cause
+  <CODE>condition</CODE> to evaluate to <CODE>false</CODE>,
+  the <CODE>Enable_If<condition, T>::type</CODE> member will not be defined.
+  Hence, for that instantiations, the specialization will not be eligible.
 */
-fpu_rounding_control_word_type
-fpu_save_rounding_direction_reset_inexact(fpu_rounding_direction_type dir);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Enable_If<true, T> {
+  typedef T type;
+};
 
-//! Restores the FPU rounding rounding control word to \p cw.
-void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type w);
+template <typename T>
+struct Is_Native : public False {
+};
 
-//! Clears the <EM>inexact computation</EM> status.
-void
-fpu_reset_inexact();
+template <> struct Is_Native<char> : public True { };
+template <> struct Is_Native<signed char> : public True { };
+template <> struct Is_Native<signed short> : public True { };
+template <> struct Is_Native<signed int> : public True { };
+template <> struct Is_Native<signed long> : public True { };
+template <> struct Is_Native<signed long long> : public True { };
+template <> struct Is_Native<unsigned char> : public True { };
+template <> struct Is_Native<unsigned short> : public True { };
+template <> struct Is_Native<unsigned int> : public True { };
+template <> struct Is_Native<unsigned long> : public True { };
+template <> struct Is_Native<unsigned long long> : public True { };
 
-/*! \brief
-  Queries the <EM>inexact computation</EM> status.
+#if PPL_SUPPORTED_FLOAT
+template <> struct Is_Native<float> : public True { };
+#endif
+#if PPL_SUPPORTED_DOUBLE
+template <> struct Is_Native<double> : public True { };
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+template <> struct Is_Native<long double> : public True { };
+#endif
 
-  Returns 0 if the computation was definitely exact, 1 if it was
-  definitely inexact, -1 if definite exactness information is unavailable.
-*/
-int
-fpu_check_inexact();
+template <> struct Is_Native<mpz_class> : public True { };
+
+template <> struct Is_Native<mpq_class> : public True { };
 
 } // namespace Parma_Polyhedra_Library
 
-#if PPL_CAN_CONTROL_FPU
+/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 1. */
+/* Basic Slow_Copy classes declarations.
+*/
 
-#if defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
-/* Automatically generated from PPL source file ../src/fpu-ia32.inlines.hh line 1. */
-/* IA-32 floating point unit inline related functions.
+
+/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 28. */
+#include <gmpxx.h>
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  Copies are not slow by default.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Slow_Copy : public False {
+};
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  Copies are slow for mpz_class objects.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+struct Slow_Copy<mpz_class> : public True {
+};
 
-#include <csetjmp>
-#include <csignal>
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  Copies are slow for mpq_class objects.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+struct Slow_Copy<mpq_class> : public True {
+};
 
-#define FPU_INVALID       0x01
-#define FPU_DIVBYZERO     0x04
-#define FPU_OVERFLOW      0x08
-#define FPU_UNDERFLOW     0x10
-#define FPU_INEXACT       0x20
+} // namespace Parma_Polyhedra_Library
 
-#define FPU_ALL_EXCEPT \
-  (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
+/* Automatically generated from PPL source file ../src/Temp.defs.hh line 29. */
 
-#define PPL_FPU_TONEAREST     0
-#define PPL_FPU_DOWNWARD      0x400
-#define PPL_FPU_UPWARD        0x800
-#define PPL_FPU_TOWARDZERO    0xc00
+namespace Parma_Polyhedra_Library {
 
-#define FPU_ROUNDING_MASK 0xc00
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A pool of temporary items of type \p T.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Temp_Item {
+public:
+  //! Obtains a reference to a temporary item.
+  static Temp_Item& obtain();
 
-#define SSE_INEXACT       0x20
+  //! Releases the temporary item \p p.
+  static void release(Temp_Item& p);
 
-#define PPL_FPU_CONTROL_DEFAULT_BASE 0x37f
-#define PPL_SSE_CONTROL_DEFAULT_BASE 0x1f80
+  //! Returns a reference to the encapsulated item.
+  T& item();
 
-// This MUST be congruent with the definition of ROUND_DIRECT
-#define PPL_FPU_CONTROL_DEFAULT \
-  (PPL_FPU_CONTROL_DEFAULT_BASE | PPL_FPU_UPWARD)
-#define PPL_SSE_CONTROL_DEFAULT \
-  (PPL_SSE_CONTROL_DEFAULT_BASE | (PPL_FPU_UPWARD << 3))
+private:
+  //! The encapsulated item.
+  T item_;
 
-namespace Parma_Polyhedra_Library {
+  //! Pointer to the next item in the free list.
+  Temp_Item* next;
 
-typedef struct {
-  unsigned short control_word;
-  unsigned short unused1;
-  unsigned short status_word;
-  unsigned short unused2;
-  unsigned short tags;
-  unsigned short unused3;
-  unsigned int eip;
-  unsigned short cs_selector;
-  unsigned int opcode:11;
-  unsigned int unused4:5;
-  unsigned int data_offset;
-  unsigned short data_selector;
-  unsigned short unused5;
-} ia32_fenv_t;
+  //! Head of the free list.
+  static Temp_Item* free_list_head;
 
-inline int
-fpu_get_control() {
-  unsigned short cw;
-  __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw) : : "memory");
-  return cw;
-}
+  //! Default constructor.
+  Temp_Item();
 
-inline void
-fpu_set_control(int c) {
-  unsigned short cw = static_cast<unsigned short>(c);
-  __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw) : "memory");
-}
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Item(const Temp_Item&);
 
-inline int
-fpu_get_status() {
-  unsigned short sw;
-  __asm__ __volatile__ ("fnstsw %0" : "=a" (sw) : : "memory");
-  return sw;
-}
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Item& operator=(const Temp_Item&);
+};
 
-inline void
-fpu_clear_status(unsigned short bits) {
-  /* There is no fldsw instruction */
-  ia32_fenv_t env;
-  __asm__ __volatile__ ("fnstenv %0" : "=m" (env));
-  env.status_word = static_cast<unsigned short>(env.status_word & ~bits);
-  __asm__ __volatile__ ("fldenv %0" : : "m" (env) : "memory");
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An holder for a reference to a temporary object.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Temp_Reference_Holder {
+public:
+  //! Constructs an holder holding a dirty temp.
+  Temp_Reference_Holder();
 
-inline void
-fpu_clear_exceptions() {
-  __asm__ __volatile__ ("fnclex" : /* No outputs.  */ : : "memory");
-}
+  //! Destructor.
+  ~Temp_Reference_Holder();
 
-#ifdef PPL_FPMATH_MAY_USE_SSE
-inline void
-sse_set_control(unsigned int cw) {
-  __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory");
-}
+  //! Returns a reference to the held item.
+  T& item();
 
-inline unsigned int
-sse_get_control() {
-  unsigned int cw;
-  __asm__ __volatile__ ("stmxcsr %0" : "=m" (*&cw) : : "memory");
-  return cw;
-}
-#endif
+private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Reference_Holder(const Temp_Reference_Holder&);
 
-inline void
-fpu_initialize_control_functions() {
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  extern void detect_sse_unit();
-  detect_sse_unit();
-#endif
-}
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Reference_Holder& operator=(const Temp_Reference_Holder&);
 
-inline fpu_rounding_direction_type
-fpu_get_rounding_direction() {
-  return static_cast<fpu_rounding_direction_type>(fpu_get_control() & FPU_ROUNDING_MASK);
-}
+  //! The held item, encapsulated.
+  Temp_Item<T>& held;
+};
 
-inline void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-#ifdef PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
-#endif
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  extern bool have_sse_unit;
-  if (have_sse_unit)
-    sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3));
-#endif
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An (fake) holder for the value of a temporary object.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Temp_Value_Holder {
+public:
+  //! Constructs a fake holder.
+  Temp_Value_Holder();
 
-inline fpu_rounding_control_word_type
-fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
-#ifdef PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
-#endif
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  extern bool have_sse_unit;
-  if (have_sse_unit)
-    sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3));
-#endif
-  return static_cast<fpu_rounding_control_word_type>(0);
-}
+  //! Returns the value of the held item.
+  T& item();
 
-inline void
-fpu_reset_inexact() {
-#ifdef PPL_FPMATH_MAY_USE_387
-  fpu_clear_exceptions();
-#endif
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  // NOTE: on entry to this function the current rounding mode
-  // has to be the default one.
-  extern bool have_sse_unit;
-  if (have_sse_unit)
-    sse_set_control(PPL_SSE_CONTROL_DEFAULT);
-#endif
-}
+private:
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Value_Holder(const Temp_Value_Holder&);
 
-inline void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
-#ifdef PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT);
-#endif
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  extern bool have_sse_unit;
-  if (have_sse_unit)
-    sse_set_control(PPL_SSE_CONTROL_DEFAULT);
-#endif
-}
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Value_Holder& operator=(const Temp_Value_Holder&);
 
-inline int
-fpu_check_inexact() {
-#ifdef PPL_FPMATH_MAY_USE_387
-  if (fpu_get_status() & FPU_INEXACT)
-    return 1;
-#endif
-#ifdef PPL_FPMATH_MAY_USE_SSE
-  extern bool have_sse_unit;
-  if (have_sse_unit && (sse_get_control() & SSE_INEXACT))
-    return 1;
-#endif
-  return 0;
-}
+  //! The held item.
+  T item_;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A structure for the efficient handling of temporaries.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+class Dirty_Temp;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization for the handling of temporaries with a free list.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Dirty_Temp<T, typename Enable_If<Slow_Copy<T>::value>::type>
+  : public Temp_Reference_Holder<T> {
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization for the handling of temporaries with local variables.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Dirty_Temp<T, typename Enable_If<!Slow_Copy<T>::value>::type>
+  : public Temp_Value_Holder<T> {
+};
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 82. */
-#elif defined(PPL_HAVE_IEEEFP_H)					\
-  && (defined(__sparc)							\
-      || defined(sparc)							\
-      || defined(__sparc__))
-/* Automatically generated from PPL source file ../src/fpu-sparc.inlines.hh line 1. */
-/* SPARC floating point unit related functions.
+/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 1. */
+/* Temp_* classes implementation: inline functions.
 */
 
 
-#ifdef PPL_HAVE_IEEEFP_H
-#include <ieeefp.h>
-
-#define PPL_FPU_TONEAREST  ((int) FP_RN)
-#define PPL_FPU_UPWARD     ((int) FP_RP)
-#define PPL_FPU_DOWNWARD   ((int) FP_RM)
-#define PPL_FPU_TOWARDZERO ((int) FP_RZ)
+/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
-inline void
-fpu_initialize_control_functions() {
+template <typename T>
+inline
+Temp_Item<T>::Temp_Item()
+  : item_() {
 }
 
-inline fpu_rounding_direction_type
-fpu_get_rounding_direction() {
-  return static_cast<fpu_rounding_direction_type>(fpgetround());
+template <typename T>
+inline T&
+Temp_Item<T>::item() {
+    return item_;
 }
 
-inline void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-  fpsetround((fp_rnd) dir);
-}
-
-inline fpu_rounding_control_word_type
-fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
-  return static_cast<fpu_rounding_control_word_type>(fpsetround((fp_rnd) dir));
-}
-
-inline void
-fpu_reset_inexact() {
-  fp_except except = fpgetmask();
-  except &= ~FP_X_IMP;
-  fpsetmask(except);
-}
-
-inline void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
-  fpsetround((fp_rnd) w);
-}
-
-inline int
-fpu_check_inexact() {
-  return (fpgetmask() & FP_X_IMP) ? 1 : 0;
+template <typename T>
+inline Temp_Item<T>&
+Temp_Item<T>::obtain() {
+  if (free_list_head != 0) {
+    Temp_Item* p = free_list_head;
+    free_list_head = free_list_head->next;
+    return *p;
+  }
+  else
+    return *new Temp_Item();
 }
 
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_HAVE_IEEEFP_H)
-
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 87. */
-#elif defined(PPL_HAVE_FENV_H)
-/* Automatically generated from PPL source file ../src/fpu-c99.inlines.hh line 1. */
-/* C99 Floating point unit related functions.
-*/
-
-
-#ifdef PPL_HAVE_FENV_H
-#include <fenv.h>
-#include <stdexcept>
-
-#ifdef FE_TONEAREST
-#define PPL_FPU_TONEAREST FE_TONEAREST
-#endif
-#ifdef FE_UPWARD
-#define PPL_FPU_UPWARD FE_UPWARD
-#endif
-#ifdef FE_DOWNWARD
-#define PPL_FPU_DOWNWARD FE_DOWNWARD
-#endif
-#ifdef FE_TOWARDZERO
-#define PPL_PPL_FPU_TOWARDZERO FE_TOWARDZERO
-#endif
-
-namespace Parma_Polyhedra_Library {
-
+template <typename T>
 inline void
-fpu_initialize_control_functions() {
-  int old = fegetround();
-  if (fesetround(PPL_FPU_DOWNWARD) != 0
-      || fesetround(PPL_FPU_UPWARD) != 0
-      || fesetround(old) != 0)
-    throw std::logic_error("PPL configuration error:"
-			   " PPL_CAN_CONTROL_FPU evaluates to true,"
-			   " but fesetround() returns nonzero.");
-}
-
-inline fpu_rounding_direction_type
-fpu_get_rounding_direction() {
-  return static_cast<fpu_rounding_direction_type>(fegetround());
+Temp_Item<T>::release(Temp_Item& p) {
+  p.next = free_list_head;
+  free_list_head = &p;
 }
 
-inline void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-  fesetround(dir);
+template <typename T>
+inline
+Temp_Reference_Holder<T>::Temp_Reference_Holder()
+  : held(Temp_Item<T>::obtain()) {
 }
 
-inline fpu_rounding_control_word_type
-fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
-  fpu_rounding_control_word_type old
-    = static_cast<fpu_rounding_control_word_type>(fegetround());
-  fesetround(dir);
-  return old;
+template <typename T>
+inline
+Temp_Reference_Holder<T>::~Temp_Reference_Holder() {
+  Temp_Item<T>::release(held);
 }
 
-inline void
-fpu_reset_inexact() {
-#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-  feclearexcept(FE_INEXACT);
-#endif
+template <typename T>
+inline T&
+Temp_Reference_Holder<T>::item() {
+  return held.item();
 }
 
-inline void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
-  fesetround(w);
+template <typename T>
+inline
+Temp_Value_Holder<T>::Temp_Value_Holder() {
 }
 
-inline int
-fpu_check_inexact() {
-#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-  return fetestexcept(FE_INEXACT) != 0;
-#else
-  return -1;
-#endif
+template <typename T>
+inline T&
+Temp_Value_Holder<T>::item() {
+  return item_;
 }
 
 } // namespace Parma_Polyhedra_Library
 
-#endif // !defined(PPL_HAVE_FENV_H)
-
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 89. */
-#else
-#error "PPL_CAN_CONTROL_FPU evaluates to true, but why?"
-#endif
-
-#else // !PPL_CAN_CONTROL_FPU
+#define PPL_DIRTY_TEMP(T, id)						\
+  Parma_Polyhedra_Library::Dirty_Temp<PPL_U(T)> holder_ ## id;          \
+  PPL_U(T)& PPL_U(id) = holder_ ## id.item()
 
-/* Automatically generated from PPL source file ../src/fpu-none.inlines.hh line 1. */
-/* Null floating point unit related functions.
+/* Automatically generated from PPL source file ../src/Temp.templates.hh line 1. */
+/* Temp_* classes implementation: non-inline template members.
 */
 
 
-#include <stdexcept>
-
 namespace Parma_Polyhedra_Library {
 
-inline void
-fpu_initialize_control_functions() {
-  throw std::logic_error("PPL::fpu_initialize_control_functions():"
-			 " cannot control the FPU");
-}
-
-inline fpu_rounding_direction_type
-fpu_get_rounding_direction() {
-  throw std::logic_error("PPL::fpu_get_rounding_direction():"
-			 " cannot control the FPU");
-}
-
-inline void
-fpu_set_rounding_direction(int) {
-  throw std::logic_error("PPL::fpu_set_rounding_direction():"
-			 " cannot control the FPU");
-}
-
-inline int
-fpu_save_rounding_direction(int) {
-  throw std::logic_error("PPL::fpu_save_rounding_direction():"
-			 " cannot control the FPU");
-}
-
-inline void
-fpu_reset_inexact() {
-  throw std::logic_error("PPL::fpu_reset_inexact():"
-			 " cannot control the FPU");
-}
-
-inline void
-fpu_restore_rounding_direction(int) {
-  throw std::logic_error("PPL::fpu_restore_rounding_direction():"
-			 " cannot control the FPU");
-}
-
-inline int
-fpu_check_inexact() {
-  throw std::logic_error("PPL::fpu_check_inexact():"
-			 " cannot control the FPU");
-}
+template <typename T>
+Temp_Item<T>* Temp_Item<T>::free_list_head = 0;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 96. */
-
-#endif // !PPL_CAN_CONTROL_FPU
+/* Automatically generated from PPL source file ../src/Temp.defs.hh line 142. */
 
 /* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 1. */
 /* Declaration of Rounding_Dir and related functions.
@@ -1543,16 +1487,16 @@ namespace Parma_Polyhedra_Library {
 
 enum Result_Class {
   //! \hideinitializer Representable number result class.
-  VC_NORMAL = 0 << 4,
+  VC_NORMAL = 0U << 4,
 
   //! \hideinitializer Negative infinity result class.
-  VC_MINUS_INFINITY = 1 << 4,
+  VC_MINUS_INFINITY = 1U << 4,
 
   //! \hideinitializer Positive infinity result class.
-  VC_PLUS_INFINITY = 2 << 4,
+  VC_PLUS_INFINITY = 2U << 4,
 
   //! \hideinitializer Not a number result class.
-  VC_NAN = 3 << 4,
+  VC_NAN = 3U << 4,
 
   VC_MASK = VC_NAN
 };
@@ -1560,16 +1504,16 @@ enum Result_Class {
 // This must be kept in sync with Relation_Symbol
 enum Result_Relation {
   //! \hideinitializer No values satisfies the relation.
-  VR_EMPTY = 0,
+  VR_EMPTY = 0U,
 
   //! \hideinitializer Equal. This need to be accompanied by a value.
-  VR_EQ = 1,
+  VR_EQ = 1U,
 
   //! \hideinitializer Less than. This need to be accompanied by a value.
-  VR_LT = 2,
+  VR_LT = 2U,
 
   //! \hideinitializer Greater than. This need to be accompanied by a value.
-  VR_GT = 4,
+  VR_GT = 4U,
 
   //! \hideinitializer Not equal. This need to be accompanied by a value.
   VR_NE = VR_LT | VR_GT,
@@ -1593,13 +1537,13 @@ enum Result {
   V_EMPTY = VR_EMPTY,
 
   //! \hideinitializer The computed result is exact.
-  V_EQ = VR_EQ,
+  V_EQ = static_cast<unsigned>(VR_EQ),
 
   //! \hideinitializer The computed result is inexact and rounded up.
-  V_LT = VR_LT,
+  V_LT = static_cast<unsigned>(VR_LT),
 
   //! \hideinitializer The computed result is inexact and rounded down.
-  V_GT = VR_GT,
+  V_GT = static_cast<unsigned>(VR_GT),
 
   //! \hideinitializer The computed result is inexact.
   V_NE = VR_NE,
@@ -1614,7 +1558,7 @@ enum Result {
   V_LGE = VR_LGE,
 
   //! \hideinitializer The exact result is a number out of finite bounds.
-  V_OVERFLOW = 1 << 6,
+  V_OVERFLOW = 1U << 6,
 
   //! \hideinitializer A negative integer overflow occurred (rounding up).
   V_LT_INF = V_LT | V_OVERFLOW,
@@ -1623,64 +1567,86 @@ enum Result {
   V_GT_SUP = V_GT | V_OVERFLOW,
 
   //! \hideinitializer A positive integer overflow occurred (rounding up).
-  V_LT_PLUS_INFINITY = V_LT | VC_PLUS_INFINITY,
+  V_LT_PLUS_INFINITY = V_LT | static_cast<unsigned>(VC_PLUS_INFINITY),
 
   //! \hideinitializer A negative integer overflow occurred (rounding down).
-  V_GT_MINUS_INFINITY = V_GT | VC_MINUS_INFINITY,
+  V_GT_MINUS_INFINITY = V_GT | static_cast<unsigned>(VC_MINUS_INFINITY),
 
   //! \hideinitializer Negative infinity result.
-  V_EQ_MINUS_INFINITY = V_EQ | VC_MINUS_INFINITY,
+  V_EQ_MINUS_INFINITY = V_EQ | static_cast<unsigned>(VC_MINUS_INFINITY),
 
   //! \hideinitializer Positive infinity result.
-  V_EQ_PLUS_INFINITY = V_EQ | VC_PLUS_INFINITY,
+  V_EQ_PLUS_INFINITY = V_EQ | static_cast<unsigned>(VC_PLUS_INFINITY),
 
   //! \hideinitializer Not a number result.
-  V_NAN = VC_NAN,
+  V_NAN = static_cast<unsigned>(VC_NAN),
 
   //! \hideinitializer Converting from unknown string.
-  V_CVT_STR_UNK = V_NAN | (1 << 8),
+  V_CVT_STR_UNK = V_NAN | (1U << 8),
 
   //! \hideinitializer Dividing by zero.
-  V_DIV_ZERO = V_NAN | (2 << 8),
+  V_DIV_ZERO = V_NAN | (2U << 8),
 
   //! \hideinitializer Adding two infinities having opposite signs.
-  V_INF_ADD_INF = V_NAN | (3 << 8),
+  V_INF_ADD_INF = V_NAN | (3U << 8),
 
   //! \hideinitializer Dividing two infinities.
-  V_INF_DIV_INF = V_NAN | (4 << 8),
+  V_INF_DIV_INF = V_NAN | (4U << 8),
 
   //! \hideinitializer Taking the modulus of an infinity.
-  V_INF_MOD = V_NAN | (5 << 8),
+  V_INF_MOD = V_NAN | (5U << 8),
 
   //! \hideinitializer Multiplying an infinity by zero.
-  V_INF_MUL_ZERO = V_NAN | (6 << 8),
+  V_INF_MUL_ZERO = V_NAN | (6U << 8),
 
   //! \hideinitializer Subtracting two infinities having the same sign.
-  V_INF_SUB_INF = V_NAN | (7 << 8),
+  V_INF_SUB_INF = V_NAN | (7U << 8),
 
   //! \hideinitializer Computing a remainder modulo zero.
-  V_MOD_ZERO = V_NAN | (8 << 8),
+  V_MOD_ZERO = V_NAN | (8U << 8),
 
   //! \hideinitializer Taking the square root of a negative number.
-  V_SQRT_NEG = V_NAN | (9 << 8),
+  V_SQRT_NEG = V_NAN | (9U << 8),
 
   //! \hideinitializer Unknown result due to intermediate negative overflow.
-  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10 << 8),
+  V_UNKNOWN_NEG_OVERFLOW = V_NAN | (10U << 8),
 
   //! \hideinitializer Unknown result due to intermediate positive overflow.
-  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11 << 8),
+  V_UNKNOWN_POS_OVERFLOW = V_NAN | (11U << 8),
 
   //! \hideinitializer The computed result is not representable.
-  V_UNREPRESENTABLE = 1 << 7
+  V_UNREPRESENTABLE = 1U << 7
 
 };
 
-//! Extracts the value class part of \p r (representable number, unrepresentable minus/plus infinity or nan).
+//! \name Functions Inspecting and/or Combining Result Values
+//@{
+
+/*! \ingroup PPL_CXX_interface */
+Result operator&(Result x, Result y);
+
+/*! \ingroup PPL_CXX_interface */
+Result operator|(Result x, Result y);
+
+/*! \ingroup PPL_CXX_interface */
+Result operator-(Result x, Result y);
+
+/*! \brief \ingroup PPL_CXX_interface
+  Extracts the value class part of \p r (representable number,
+  unrepresentable minus/plus infinity or nan).
+*/
 Result_Class result_class(Result r);
 
-//! Extracts the relation part of \p r.
+/*! \brief \ingroup PPL_CXX_interface
+  Extracts the relation part of \p r.
+*/
 Result_Relation result_relation(Result r);
 
+/*! \ingroup PPL_CXX_interface */
+Result result_relation_class(Result r);
+
+//@} // Functions Inspecting and/or Combining Result Values
+
 } // namespace Parma_Polyhedra_Library
 
 /* Automatically generated from PPL source file ../src/Result.inlines.hh line 1. */
@@ -1689,2293 +1655,1547 @@ Result_Relation result_relation(Result r);
 
 
 /* Automatically generated from PPL source file ../src/assert.hh line 1. */
-/* Implementation of PPL_ASSERT macro.
+/* Implementation of PPL assert-like macros.
 */
 
 
-#include <cassert>
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 1. */
-/* Declarations of global objects.
-*/
+// The PPL_UNREACHABLE_MSG macro flags a program point as unreachable.
+// Argument `msg__' is added to output when assertions are turned on.
+#if defined(NDEBUG)
+#define PPL_UNREACHABLE_MSG(msg__) Parma_Polyhedra_Library::ppl_unreachable()
+#else
+#define PPL_UNREACHABLE_MSG(msg__) Parma_Polyhedra_Library:: \
+  ppl_unreachable_msg(msg__, __FILE__, __LINE__, __func__)
+#endif
 
+// The PPL_UNREACHABLE macro flags a program point as unreachable.
+#define PPL_UNREACHABLE PPL_UNREACHABLE_MSG("unreachable")
 
-/* Automatically generated from PPL source file ../src/globals.types.hh line 1. */
+// The PPL_ASSERTION_FAILED macro is used to output a message after
+// an assertion failure and then cause program termination.
+// (It is meant to be used only when assertions are turned on.)
+#define PPL_ASSERTION_FAILED(msg__) Parma_Polyhedra_Library:: \
+  ppl_assertion_failed(msg__, __FILE__, __LINE__, __func__)
 
+// Helper macro PPL_ASSERT_IMPL_: do not use it directly.
+#if defined(NDEBUG)
+#define PPL_ASSERT_IMPL_(cond__) ((void) 0)
+#else
+#define PPL_STRING_(s) #s
+#define PPL_ASSERT_IMPL_(cond__) \
+  ((cond__) ? (void) 0 : PPL_ASSERTION_FAILED(PPL_STRING_(cond__)))
+#endif
 
-#include <cstddef>
 
-namespace Parma_Polyhedra_Library {
+// Non zero to detect use of PPL_ASSERT instead of PPL_ASSERT_HEAVY
+// Note: flag does not affect code built with NDEBUG defined.
+#define PPL_DEBUG_PPL_ASSERT 1
 
-//! An unsigned integral type for representing space dimensions.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t dimension_type;
+// The PPL_ASSERT macro states that Boolean condition cond__ should hold.
+// This is meant to replace uses of C assert().
+#if defined(NDEBUG) || (!PPL_DEBUG_PPL_ASSERT)
+#define PPL_ASSERT(cond__) PPL_ASSERT_IMPL_(cond__)
+#else
+// Note: here we have assertions enabled and PPL_DEBUG_PPL_ASSERT is 1.
+// Check if the call to PPL_ASSERT should be replaced by PPL_ASSERT_HEAVY
+// (i.e., if the former may interfere with computational weights).
+#define PPL_ASSERT(cond__)                                        \
+  do {                                                            \
+    typedef Parma_Polyhedra_Library::Weightwatch_Traits W_Traits; \
+    W_Traits::Threshold old_weight__ = W_Traits::weight;          \
+    PPL_ASSERT_IMPL_(cond__);                                     \
+    PPL_ASSERT_IMPL_(old_weight__ == W_Traits::weight             \
+                     && ("PPL_ASSERT_HEAVY has to be used here" != 0)); \
+  } while (false)
+#endif // !defined(NDEBUG) && PPL_DEBUG_PPL_ASSERT
+
+
+// Macro PPL_ASSERT_HEAVY is meant to be used when the evaluation of
+// the assertion may change computational weights (via WEIGHT_ADD).
+#if defined(NDEBUG)
+#define PPL_ASSERT_HEAVY(cond__) PPL_ASSERT_IMPL_(cond__)
+#else
+#define PPL_ASSERT_HEAVY(cond__)                                \
+  do {                                                          \
+    Parma_Polyhedra_Library::In_Assert guard;                   \
+    PPL_ASSERT_IMPL_(cond__);                                   \
+  } while (false)
+#endif // !defined(NDEBUG)
 
-//! An unsigned integral type for representing memory size in bytes.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t memory_size_type;
 
-//! Kinds of degenerate abstract elements.
-/*! \ingroup PPL_CXX_interface */
-enum Degenerate_Element {
-  //! The universe element, i.e., the whole vector space.
-  UNIVERSE,
-  //! The empty element, i.e., the empty set.
-  EMPTY
-};
+// Macro PPL_EXPECT (resp., PPL_EXPECT_HEAVY) should be used rather than
+// PPL_ASSERT (resp., PPL_ASSERT_HEAVY) when the condition is assumed to
+// hold but it is not under library control (typically, it depends on
+// user provided input).
+#define PPL_EXPECT(cond__) PPL_ASSERT(cond__)
+#define PPL_EXPECT_HEAVY(cond__) PPL_ASSERT_HEAVY(cond__)
 
-//! Relation symbols.
-/*! \ingroup PPL_CXX_interface */
-// This must be kept in sync with Result
-enum Relation_Symbol {
-  //! \hideinitializer Equal to.
-  EQUAL = 1,
-  //! \hideinitializer Less than.
-  LESS_THAN = 2,
-  //! \hideinitializer Less than or equal to.
-  LESS_OR_EQUAL = LESS_THAN | EQUAL,
-  //! \hideinitializer Greater than.
-  GREATER_THAN = 4,
-  //! \hideinitializer Greater than or equal to.
-  GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
-  //! \hideinitializer Not equal to.
-  NOT_EQUAL = LESS_THAN | GREATER_THAN
-};
 
-//! Complexity pseudo-classes.
-/*! \ingroup PPL_CXX_interface */
-enum Complexity_Class {
-  //! Worst-case polynomial complexity.
-  POLYNOMIAL_COMPLEXITY,
-  //! Worst-case exponential complexity but typically polynomial behavior.
-  SIMPLEX_COMPLEXITY,
-  //! Any complexity.
-  ANY_COMPLEXITY
-};
+namespace Parma_Polyhedra_Library {
 
-//! Possible optimization modes.
-/*! \ingroup PPL_CXX_interface */
-enum Optimization_Mode {
-  //! Minimization is requested.
-  MINIMIZATION,
-  //! Maximization is requested.
-  MAXIMIZATION
-};
+#if PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK
+#define PPL_WEAK_NORETURN __attribute__((weak, noreturn))
+#else
+#define PPL_WEAK_NORETURN __attribute__((noreturn))
+#endif
 
-/*! \brief \ingroup PPL_CXX_interface
-  Widths of bounded integer types.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Helper function causing program termination by calling \c abort.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_unreachable() PPL_WEAK_NORETURN;
 
-  See the section on
-  \ref Approximating_Bounded_Integers "approximating bounded integers".
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Helper function printing message on \c std::cerr and causing program
+  termination by calling \c abort.
 */
-enum Bounded_Integer_Type_Width {
-  //! \hideinitializer 8 bits.
-  BITS_8 = 8,
-
-  //! \hideinitializer 16 bits.
-  BITS_16 = 16,
-
-  //! \hideinitializer 32 bits.
-  BITS_32 = 32,
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_unreachable_msg(const char* msg,
+                         const char* file, unsigned int line,
+                         const char* function) PPL_WEAK_NORETURN;
 
-  //! \hideinitializer 64 bits.
-  BITS_64 = 64,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Helper function printing an assertion failure message on \c std::cerr
+  and causing program termination by calling \c abort.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void ppl_assertion_failed(const char* assertion_text,
+                          const char* file, unsigned int line,
+                          const char* function) PPL_WEAK_NORETURN;
 
-  //! \hideinitializer 128 bits.
-  BITS_128 = 128
-};
 
-/*! \brief \ingroup PPL_CXX_interface
-  Representation of bounded integer types.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Returns \c true if and only if \p x_copy contains \p y_copy.
 
-  See the section on
-  \ref Approximating_Bounded_Integers "approximating bounded integers".
+  \note
+  This is a helper function for debugging purposes, to be used in assertions.
+  The two arguments are meant to be passed by value, i.e., <em>copied</em>,
+  so that their representations will not be affected by the containment check.
 */
-enum Bounded_Integer_Type_Representation {
-  //! Unsigned binary.
-  UNSIGNED,
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool copy_contains(T x_copy, T y_copy) {
+  return x_copy.contains(y_copy);
+}
 
-  /*! \brief
-    Signed binary where negative values are represented by the two's
-    complement of the absolute value.
-  */
-  SIGNED_2_COMPLEMENT
-};
+} // namespace Parma_Polyhedra_Library
 
-/*! \brief \ingroup PPL_CXX_interface
-  Overflow behavior of bounded integer types.
+/* Automatically generated from PPL source file ../src/Result.inlines.hh line 28. */
 
-  See the section on
-  \ref Approximating_Bounded_Integers "approximating bounded integers".
-*/
-enum Bounded_Integer_Type_Overflow {
-  /*! \brief
-    On overflow, wrapping takes place.
+namespace Parma_Polyhedra_Library {
 
-    This means that, for a \f$w\f$-bit bounded integer, the computation
-    happens modulo \f$2^w\f$.
-  */
-  OVERFLOW_WRAPS,
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator&(Result x, Result y) {
+  unsigned res = static_cast<unsigned>(x) & static_cast<unsigned>(y);
+  return static_cast<Result>(res);
+}
 
-  /*! \brief
-    On overflow, the result is undefined.
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator|(Result x, Result y) {
+  unsigned res = static_cast<unsigned>(x) | static_cast<unsigned>(y);
+  return static_cast<Result>(res);
+}
 
-    This simply means that the result of the operation resulting in an
-    overflow can take any value.
+/*! \ingroup PPL_CXX_interface */
+inline Result
+operator-(Result x, Result y) {
+  Result y_neg = static_cast<Result>(~static_cast<unsigned>(y));
+  return x & y_neg;
+}
 
-    \note
-    Even though something more serious can happen in the system
-    being analyzed ---due to, e.g., C's undefined behavior---, here we
-    are only concerned with the results of arithmetic operations.
-    It is the responsibility of the analyzer to ensure that other
-    manifestations of undefined behavior are conservatively approximated.
-  */
-  OVERFLOW_UNDEFINED,
+/*! \ingroup PPL_CXX_interface */
+inline Result_Class
+result_class(Result r) {
+  Result rc = r & static_cast<Result>(VC_MASK);
+  return static_cast<Result_Class>(rc);
+}
 
-  /*! \brief
-    Overflow is impossible.
+/*! \ingroup PPL_CXX_interface */
+inline Result_Relation
+result_relation(Result r) {
+  Result rc = r & static_cast<Result>(VR_MASK);
+  return static_cast<Result_Relation>(rc);
+}
 
-    This is for the analysis of languages where overflow is trapped
-    before it affects the state, for which, thus, any indication that
-    an overflow may have affected the state is necessarily due to
-    the imprecision of the analysis.
-  */
-  OVERFLOW_IMPOSSIBLE
-};
+/*! \ingroup PPL_CXX_interface */
+inline Result
+result_relation_class(Result r) {
+  return r & (static_cast<Result>(VR_MASK) | static_cast<Result>(VC_MASK));
+}
 
-struct Weightwatch_Traits;
+inline int
+result_overflow(Result r) {
+  switch (result_class(r)) {
+  case VC_NORMAL:
+    switch (r) {
+    case V_LT_INF:
+      return -1;
+    case V_GT_SUP:
+      return 1;
+    default:
+      break;
+    }
+    break;
+  case VC_MINUS_INFINITY:
+    return -1;
+  case VC_PLUS_INFINITY:
+    return 1;
+  default:
+    break;
+  }
+  return 0;
+}
+
+inline bool
+result_representable(Result r) {
+  return (r & V_UNREPRESENTABLE) != V_UNREPRESENTABLE;
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Integer.hh line 1. */
-/* C integers info.
+/* Automatically generated from PPL source file ../src/Result.defs.hh line 194. */
+
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 1. */
+/* Floating point unit related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/meta_programming.hh line 1. */
-/* Metaprogramming utilities.
-*/
+/* Automatically generated from PPL source file ../src/fpu.types.hh line 1. */
 
 
-#include <gmpxx.h>
+#ifdef PPL_HAVE_IEEEFP_H
+#include <ieeefp.h>
+#endif
 
 namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Declares a per-class constant of type <CODE>bool</CODE>, called \p name
-  and with value \p value.
-
-  \ingroup PPL_CXX_interface
-  Differently from static constants, \p name needs not (and cannot) be
-  defined (for static constants, the need for a further definition is
-  mandated by Section 9.4.2/4 of the C++ standard).
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define const_bool_nodef(name, value)		\
-  enum anonymous_enum_ ## name { name = (value) }
+enum fpu_rounding_direction_type {};
+enum fpu_rounding_control_word_type {};
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Declares a per-class constant of type <CODE>int</CODE>, called \p name
-  and with value \p value.
+} // namespace Parma_Polyhedra_Library
 
-  \ingroup PPL_CXX_interface
-  Differently from static constants, \p name needs not (and cannot) be
-  defined (for static constants, the need for a further definition is
-  mandated by Section 9.4.2/4 of the C++ standard).
+/* Automatically generated from PPL source file ../src/compiler.hh line 1. */
+/* C++ compiler related stuff.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define const_int_nodef(name, value) \
-  enum anonymous_enum_ ## name { name = (value) }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Declares a per-class constant of type \p type, called \p name
-  and with value \p value.  The value of the constant is accessible
-  by means of the syntax <CODE>name()</CODE>.
 
-  \ingroup PPL_CXX_interface
-  Differently from static constants, \p name needs not (and cannot) be
-  defined (for static constants, the need for a further definition is
-  mandated by Section 9.4.2/4 of the C++ standard).
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define const_value_nodef(type, name, value)	\
-  static type name() {				\
-    return value;				\
-  }
+#include <cstddef>
+#include <climits>
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  Declares a per-class constant of type \p type, called \p name
-  and with value \p value.  A constant reference to the constant
-  is accessible by means of the syntax <CODE>name()</CODE>.
-
-  \ingroup PPL_CXX_interface
-  Differently from static constants, \p name needs not (and cannot) be
-  defined (for static constants, the need for a further definition is
-  mandated by Section 9.4.2/4 of the C++ standard).
+  No-op macro that allows to avoid unused variable warnings from
+  the compiler.
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define const_ref_nodef(type, name, value)				\
-  static const type& name() {						\
-    static type name(value);						\
-    return name;							\
-  }
+#define PPL_USED(v) (void)(v)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
-  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
-
-  \ingroup PPL_CXX_interface
-  This is the non-specialized case, so the class is declared but not defined.
+  No-op function that force the compiler to store the argument and
+  to reread it from memory if needed (thus preventing CSE).
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <bool b>
-struct Compile_Time_Check;
+template <typename T>
+inline void
+PPL_CC_FLUSH(const T& x) {
+#if defined(__GNUC__) || defined(__INTEL_COMPILER)
+  __asm__ __volatile__ ("" : "+m" (const_cast<T&>(x)));
+#else
+  // FIXME: is it possible to achieve the same effect in a portable way?
+  PPL_USED(x);
+#endif
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
+#ifndef PPL_SUPPRESS_UNINIT_WARNINGS
+#define PPL_SUPPRESS_UNINIT_WARNINGS 1
+#endif
 
-  \ingroup PPL_CXX_interface
-  This is the specialized case with \p b equal to <CODE>true</CODE>,
-  so the class is declared and (trivially) defined.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-struct Compile_Time_Check<true> {
+#ifndef PPL_SUPPRESS_UNINITIALIZED_WARNINGS
+#define PPL_SUPPRESS_UNINITIALIZED_WARNINGS 1
+#endif
+
+#if PPL_SUPPRESS_UNINITIALIZED_WARNINGS
+template <typename T>
+struct Suppress_Uninitialized_Warnings_Type {
+  typedef T synonym;
 };
 
-#define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
-#define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
-  enum anonymous_enum_compile_time_check_ ## suffix {			\
-    /* If e evaluates to false, then the sizeof cannot be compiled. */  \
-    PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
-    = sizeof(Parma_Polyhedra_Library::					\
-	     Compile_Time_Check<static_cast<bool>(e)>)			\
-  }
+#define PPL_UNINITIALIZED(type, name)                                   \
+  PPL_U(type) PPL_U(name)                                               \
+  = Suppress_Uninitialized_Warnings_Type<PPL_U(type)>::synonym ()
+#else
+#define PPL_UNINITIALIZED(type, name)           \
+  PPL_U(type) name
+#endif
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Produces a compilation error if the compile-time constant \p e does
-  not evaluate to <CODE>true</CODE>
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_COMPILE_TIME_CHECK(e, msg) PPL_COMPILE_TIME_CHECK_AUX(e, __LINE__)
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to \p b.
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <bool b>
-struct Bool {
-  enum anonymous_enum {
-    value = b
-  };
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to <CODE>true</CODE>.
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct True : public Bool<true> {
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to <CODE>false</CODE>.
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct False : public Bool<false> {
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to <CODE>true</CODE> if and only if \p T1 is the same type as \p T2.
-
-  \ingroup PPL_CXX_interface
-  This is the non-specialized case, in which \p T1 and \p T2 can be different.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T1, typename T2>
-struct Is_Same : public False {
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to <CODE>true</CODE> if and only if \p T1 is the same type as \p T2.
-
-  \ingroup PPL_CXX_interface
-  This is the specialization in which \p T1 and \p T2 are equal.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Is_Same<T, T> : public True {
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class holding a constant called <CODE>value</CODE> that evaluates
-  to <CODE>true</CODE> if and only if \p Base is the same type as \p Derived
-  or \p Derived is a class derived from \p Base.
-
-  \ingroup PPL_CXX_interface
-  \note
-  Care must be taken to use this predicate with template classes.
-  Suppose we have
-  \code
-  template <typename T> struct B;
-  template <typename T> struct D : public B<T>;
-  \endcode
-  Of course, we cannot test if, for some type variable <CODE>U</CODE>, we have
-  <CODE>Is_Same_Or_Derived<B<U>, Type>:: anonymous_enum:: value == true</CODE>.
-  But we can do as follows:
-  \code
-  struct B_Base {
-  };
-
-  template <typename T> struct B : public B_Base;
-  \endcode
-  This enables us to enquire
-  <CODE>Is_Same_Or_Derived<B_Base, Type>:: anonymous_enum:: value</CODE>.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Base, typename Derived>
-struct Is_Same_Or_Derived {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! A class that is constructible from just anything.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  struct Any {
-    //! The universal constructor.
-    template <typename T>
-    Any(const T&);
-  };
-
-  //! Overloading with \p Base.
-  static char func(const Base&);
+#define sizeof_to_bits(size)                    \
+  ((size) * static_cast<std::size_t>(CHAR_BIT))
 
-  //! Overloading with \p Any.
-  static double func(Any);
+#if !defined(__GNUC__)
 
-  //! A function obtaining a const reference to a \p Derived object.
-  static const Derived& derived_object();
+inline unsigned int
+clz32(uint32_t w) {
+  unsigned int r = 31;
+  if ((w & 0xffff0000U) != 0) {
+    w >>= 16;
+    r -= 16;
+  }
+  if ((w & 0xff00U) != 0) {
+    w >>= 8;
+    r -= 8;
+  }
+  if ((w & 0xf0U) != 0) {
+    w >>= 4;
+    r -= 4;
+  }
+  if ((w & 0xcU) != 0) {
+    w >>= 2;
+    r -= 2;
+  }
+  if ((w & 0x2U) != 0)
+    r -= 1;
+  return r;
+}
 
-  PPL_COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
-                         "architecture with sizeof(char) == sizeof(double)"
-                         " (!?)");
+inline unsigned int
+clz64(uint64_t w) {
+  if ((w & 0xffffffff00000000ULL) == 0)
+    return clz32(static_cast<uint32_t>(w)) + 32;
+  else
+    return clz32(static_cast<uint32_t>(w >> 32));
+}
 
-  enum anonymous_enum {
-    /*!
-      Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
-      overload resolution mechanism guarantees that <CODE>value</CODE>
-      evaluates to <CODE>true</CODE> if and only if <CODE>Base</CODE>
-      is the same type as <CODE>Derived</CODE> or <CODE>Derived</CODE>
-      is a class derived from <CODE>Base</CODE>.
-    */
-    value = (sizeof(func(derived_object())) == sizeof(char))
+inline unsigned int
+ctz32(uint32_t w) {
+  static const unsigned int mod37_table[] = {
+    32, 0, 1, 26, 2, 23, 27, 0, 3, 16, 24, 30, 28, 11, 0, 13,
+    4, 7, 17, 0, 25, 22, 31, 15, 29, 10, 12, 6, 0, 21, 14, 9,
+    5, 20, 8, 19, 18
   };
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class that provides a type member called <CODE>type</CODE> equivalent
-  to \p T if and only if \p b is <CODE>true</CODE>.
-
-  \ingroup PPL_CXX_interface
-  This is the non-specialized case, in which the <CODE>type</CODE> member
-  is not present.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <bool b, typename T = void>
-struct Enable_If {
-};
-
-template <typename Type, Type, typename T = void>
-struct Enable_If_Is {
-  typedef T type;
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class that provides a type member called <CODE>type</CODE> equivalent
-  to \p T if and only if \p b is <CODE>true</CODE>.
-
-  \ingroup PPL_CXX_interface
-  This is the specialization in which the <CODE>type</CODE> member
-  is present.
-
-  \note
-  Let <CODE>T</CODE>, <CODE>T1</CODE> and <CODE>T2</CODE> be any type
-  expressions and suppose we have some template function
-  <CODE>T f(T1, T2)</CODE>.  If we want to declare a specialization
-  that is enabled only if some compile-time checkable condition holds,
-  we simply declare the specialization by
-  \code
-  template ...
-  typename Enable_If<condition, T>::type
-  foo(T1 x, T2 y);
-  \endcode
-  For all the instantiations of the template parameters that cause
-  <CODE>condition</CODE> to evaluate to <CODE>false</CODE>,
-  the <CODE>Enable_If<condition, T>::type</CODE> member will not be defined.
-  Hence, for that instantiations, the specialization will not be eligible.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Enable_If<true, T> {
-  typedef T type;
-};
-
-template <typename T>
-struct Is_Native : public False {
-};
+  return mod37_table[(w & -w) % 37];
+}
 
-template <> struct Is_Native<char> : public True { };
-template <> struct Is_Native<signed char> : public True { };
-template <> struct Is_Native<signed short> : public True { };
-template <> struct Is_Native<signed int> : public True { };
-template <> struct Is_Native<signed long> : public True { };
-template <> struct Is_Native<signed long long> : public True { };
-template <> struct Is_Native<unsigned char> : public True { };
-template <> struct Is_Native<unsigned short> : public True { };
-template <> struct Is_Native<unsigned int> : public True { };
-template <> struct Is_Native<unsigned long> : public True { };
-template <> struct Is_Native<unsigned long long> : public True { };
+inline unsigned int
+ctz64(uint64_t w) {
+  if ((w & 0x00000000ffffffffULL) == 0)
+    return ctz32(static_cast<uint32_t>(w >> 32)) + 32;
+  else
+    return ctz32(static_cast<uint32_t>(w));
+}
 
-#if PPL_SUPPORTED_FLOAT
-template <> struct Is_Native<float> : public True { };
-#endif
-#if PPL_SUPPORTED_DOUBLE
-template <> struct Is_Native<double> : public True { };
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-template <> struct Is_Native<long double> : public True { };
 #endif
 
-template <> struct Is_Native<mpz_class> : public True { };
-
-template <> struct Is_Native<mpq_class> : public True { };
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/C_Integer.hh line 28. */
-#include <climits>
-
-// C99 defines LLONG_MIN, LLONG_MAX and ULLONG_MAX, but this part of
-// C99 is not yet included into the C++ standard.
-// GCC defines LONG_LONG_MIN, LONG_LONG_MAX and ULONG_LONG_MAX.
-// Some compilers (such as Comeau C++ up to and including version 4.3.3)
-// define nothing.  In this last case we make a reasonable guess.
-#ifndef LLONG_MIN
-#if defined(LONG_LONG_MIN)
-#define LLONG_MIN LONG_LONG_MIN
-#elif PPL_SIZEOF_LONG_LONG == 8
-#define LLONG_MIN 0x8000000000000000LL
-#endif
+inline unsigned int
+clz(unsigned int u) {
+  assert(u != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clz(u));
+#elif PPL_SIZEOF_INT == 4
+  return clz32(u);
+#elif PPL_SIZEOF_INT == 8
+  return clz64(u);
+#else
+  #error "Unsupported unsigned int size"
 #endif
+}
 
-#ifndef LLONG_MAX
-#if defined(LONG_LONG_MAX)
-#define LLONG_MAX LONG_LONG_MAX
-#elif PPL_SIZEOF_LONG_LONG == 8
-#define LLONG_MAX 0x7fffffffffffffffLL
-#endif
+inline unsigned int
+clz(unsigned long ul) {
+  assert(ul != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clzl(ul));
+#elif PPL_SIZEOF_LONG == 4
+  return clz32(ul);
+#elif PPL_SIZEOF_LONG == 8
+  return clz64(ul);
+#else
+  #error "Unsupported unsigned long size"
 #endif
+}
 
-#ifndef ULLONG_MAX
-#if defined(ULONG_LONG_MAX)
-#define ULLONG_MAX ULONG_LONG_MAX
+inline unsigned int
+clz(unsigned long long ull) {
+  assert(ull != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_clzll(ull));
+#elif PPL_SIZEOF_LONG_LONG == 4
+  return clz32(ull);
 #elif PPL_SIZEOF_LONG_LONG == 8
-#define ULLONG_MAX 0xffffffffffffffffULL
-#endif
+  return clz64(ull);
+#else
+  #error "Unsupported unsigned long long size"
 #endif
+}
 
-namespace Parma_Polyhedra_Library {
-
-template <typename T>
-struct C_Integer : public False { };
 
-template <>
-struct C_Integer<char> : public True {
-  enum anonymous_enum {
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-    is_signed = true
+inline unsigned int
+ctz(unsigned int u) {
+  assert(u != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctz(u));
+#elif PPL_SIZEOF_INT == 4
+  return ctz32(u);
+#elif PPL_SIZEOF_INT == 8
+  return ctz64(u);
 #else
-    is_signed = false
+  #error "Unsupported unsigned int size"
 #endif
-  };
-  typedef void smaller_type;
-  typedef void smaller_signed_type;
-  typedef void smaller_unsigned_type;
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-  typedef unsigned char other_type;
+}
+
+inline unsigned int
+ctz(unsigned long ul) {
+  assert(ul != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctzl(ul));
+#elif PPL_SIZEOF_LONG == 4
+  return ctz32(ul);
+#elif PPL_SIZEOF_LONG == 8
+  return ctz64(ul);
 #else
-  typedef signed char other_type;
+  #error "Unsupported unsigned long size"
 #endif
-  static const char min = CHAR_MIN;
-  static const char max = CHAR_MAX;
-};
-
-template <>
-struct C_Integer<signed char> : public True {
-  enum anonymous_enum { is_signed = true };
-  typedef void smaller_type;
-  typedef void smaller_signed_type;
-  typedef void smaller_unsigned_type;
-  typedef unsigned char other_type;
-  static const signed char min = SCHAR_MIN;
-  static const signed char max = SCHAR_MAX;
-};
-
-template <>
-struct C_Integer<signed short> : public True {
-  enum anonymous_enum { is_signed = true };
-  typedef signed char smaller_type;
-  typedef signed char smaller_signed_type;
-  typedef unsigned char smaller_unsigned_type;
-  typedef unsigned short other_type;
-  static const signed short min = SHRT_MIN;
-  static const signed short max = SHRT_MAX;
-};
-
-template <>
-struct C_Integer<signed int> : public True {
-  enum anonymous_enum { is_signed = true };
-  typedef signed short smaller_type;
-  typedef signed short smaller_signed_type;
-  typedef unsigned short smaller_unsigned_type;
-  typedef unsigned int other_type;
-  static const signed int min = INT_MIN;
-  static const signed int max = INT_MAX;
-};
+}
 
-template <>
-struct C_Integer<signed long> : public True {
-  enum anonymous_enum { is_signed = true };
-  typedef signed int smaller_type;
-  typedef signed int smaller_signed_type;
-  typedef unsigned int smaller_unsigned_type;
-  typedef unsigned long other_type;
-  static const signed long min = LONG_MIN;
-  static const signed long max = LONG_MAX;
-};
+inline unsigned int
+ctz(unsigned long long ull) {
+  assert(ull != 0);
+#if defined(__GNUC__)
+  return static_cast<unsigned int>(__builtin_ctzll(ull));
+#elif PPL_SIZEOF_LONG_LONG == 4
+  return ctz32(ull);
+#elif PPL_SIZEOF_LONG_LONG == 8
+  return ctz64(ull);
+#else
+  #error "Unsupported unsigned long long size"
+#endif
+}
 
-template <>
-struct C_Integer<signed long long> : public True {
-  enum anonymous_enum { is_signed = true };
-  typedef signed long smaller_type;
-  typedef signed long smaller_signed_type;
-  typedef unsigned long smaller_unsigned_type;
-  typedef unsigned long long other_type;
-  static const signed long long min = LLONG_MIN;
-  static const signed long long max = LLONG_MAX;
-};
+} // namespace Parma_Polyhedra_Library
 
-template <>
-struct C_Integer<unsigned char> : public True {
-  enum anonymous_enum { is_signed = false };
-  typedef void smaller_type;
-  typedef void smaller_signed_type;
-  typedef void smaller_unsigned_type;
-  typedef signed char other_type;
-  static const unsigned char min = 0;
-  static const unsigned char max = UCHAR_MAX;
-};
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 29. */
 
-template <>
-struct C_Integer<unsigned short> : public True {
-  enum anonymous_enum { is_signed = false };
-  typedef unsigned char smaller_type;
-  typedef signed char smaller_signed_type;
-  typedef unsigned char smaller_unsigned_type;
-  typedef signed short other_type;
-  static const unsigned short min = 0;
-  static const unsigned short max = USHRT_MAX;
-};
+namespace Parma_Polyhedra_Library {
 
-template <>
-struct C_Integer<unsigned int> : public True {
-  enum anonymous_enum { is_signed = false };
-  typedef unsigned short smaller_type;
-  typedef signed short smaller_signed_type;
-  typedef unsigned short smaller_unsigned_type;
-  typedef signed int other_type;
-  static const unsigned int min = 0;
-  static const unsigned int max = UINT_MAX;
-};
+//! \name Functions Controlling Floating Point Unit
+//@{
 
-template <>
-struct C_Integer<unsigned long> : public True {
-  enum anonymous_enum { is_signed = false };
-  typedef unsigned int smaller_type;
-  typedef signed int smaller_signed_type;
-  typedef unsigned int smaller_unsigned_type;
-  typedef signed long other_type;
-  static const unsigned long min = 0;
-  static const unsigned long max = ULONG_MAX;
-};
+//! Initializes the FPU control functions.
+void
+fpu_initialize_control_functions();
 
-template <>
-struct C_Integer<unsigned long long> : public True {
-  enum anonymous_enum { is_signed = false };
-  typedef unsigned long smaller_type;
-  typedef signed long smaller_signed_type;
-  typedef unsigned long smaller_unsigned_type;
-  typedef signed long long other_type;
-  static const unsigned long long min = 0;
-  static const unsigned long long max = ULLONG_MAX;
-};
+//! Returns the current FPU rounding direction.
+fpu_rounding_direction_type
+fpu_get_rounding_direction();
 
-} // namespace Parma_Polyhedra_Library
+//! Sets the FPU rounding direction to \p dir.
+void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir);
 
-/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 1. */
-/* Basic Slow_Copy classes declarations.
+/*! \brief
+  Sets the FPU rounding direction to \p dir and returns the rounding
+  control word previously in use.
 */
+fpu_rounding_control_word_type
+fpu_save_rounding_direction(fpu_rounding_direction_type dir);
 
+/*! \brief
+  Sets the FPU rounding direction to \p dir, clears the <EM>inexact
+  computation</EM> status, and returns the rounding control word
+  previously in use.
+*/
+fpu_rounding_control_word_type
+fpu_save_rounding_direction_reset_inexact(fpu_rounding_direction_type dir);
 
-/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 28. */
-#include <gmpxx.h>
+//! Restores the FPU rounding rounding control word to \p cw.
+void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w);
 
-namespace Parma_Polyhedra_Library {
+//! Clears the <EM>inexact computation</EM> status.
+void
+fpu_reset_inexact();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  Copies are not slow by default.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Slow_Copy : public False {
-};
+/*! \brief
+  Queries the <EM>inexact computation</EM> status.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  Copies are slow for mpz_class objects.
+  Returns 0 if the computation was definitely exact, 1 if it was
+  definitely inexact, -1 if definite exactness information is unavailable.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-struct Slow_Copy<mpz_class> : public True {
-};
+int
+fpu_check_inexact();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  Copies are slow for mpq_class objects.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-struct Slow_Copy<mpq_class> : public True {
-};
+//@} // Functions Controlling Floating Point Unit
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 1. */
-/* Temp_* classes declarations.
+#if PPL_CAN_CONTROL_FPU
+
+#if defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+/* Automatically generated from PPL source file ../src/fpu-ia32.inlines.hh line 1. */
+/* IA-32 floating point unit inline related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 29. */
+#include <csetjmp>
+#include <csignal>
 
-namespace Parma_Polyhedra_Library {
+#define FPU_INVALID       0x01
+#define FPU_DIVBYZERO     0x04
+#define FPU_OVERFLOW      0x08
+#define FPU_UNDERFLOW     0x10
+#define FPU_INEXACT       0x20
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A pool of temporary items of type \p T.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Temp_Item {
-public:
-  //! Obtains a refeence to a temporary item.
-  static Temp_Item& obtain();
+#define FPU_ALL_EXCEPT \
+  (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
 
-  //! Releases the temporary item \p p.
-  static void release(Temp_Item& p);
+#define PPL_FPU_TONEAREST     0
+#define PPL_FPU_DOWNWARD      0x400
+#define PPL_FPU_UPWARD        0x800
+#define PPL_FPU_TOWARDZERO    0xc00
 
-  //! Returns a reference to the encapsulated item.
-  T& item();
+#define FPU_ROUNDING_MASK 0xc00
 
-private:
-  //! The encapsulated item.
-  T item_;
+#define SSE_INEXACT       0x20
 
-  //! Pointer to the next item in the free list.
-  Temp_Item* next;
+#define PPL_FPU_CONTROL_DEFAULT_BASE 0x37f
+#define PPL_SSE_CONTROL_DEFAULT_BASE 0x1f80
 
-  //! Head of the free list.
-  static Temp_Item* free_list_head;
+// This MUST be congruent with the definition of ROUND_DIRECT
+#define PPL_FPU_CONTROL_DEFAULT \
+  (PPL_FPU_CONTROL_DEFAULT_BASE | PPL_FPU_UPWARD)
+#define PPL_SSE_CONTROL_DEFAULT \
+  (PPL_SSE_CONTROL_DEFAULT_BASE | (PPL_FPU_UPWARD << 3))
 
-  //! Default constructor.
-  Temp_Item();
+namespace Parma_Polyhedra_Library {
 
-  //! Copy constructor: private and intentionally not implemented.
-  Temp_Item(const Temp_Item&);
+typedef struct {
+  unsigned short control_word;
+  unsigned short unused1;
+  unsigned short status_word;
+  unsigned short unused2;
+  unsigned short tags;
+  unsigned short unused3;
+  unsigned int eip;
+  unsigned short cs_selector;
+  unsigned int opcode:11;
+  unsigned int unused4:5;
+  unsigned int data_offset;
+  unsigned short data_selector;
+  unsigned short unused5;
+} ia32_fenv_t;
 
-  //! Assignment operator: private and intentionally not implemented.
-  Temp_Item& operator=(const Temp_Item&);
-};
+inline int
+fpu_get_control() {
+  unsigned short cw;
+  __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw) : : "memory");
+  return cw;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An holder for a reference to a temporary object.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Temp_Reference_Holder {
-public:
-  //! Constructs an holder holding a dirty temp.
-  Temp_Reference_Holder();
+inline void
+fpu_set_control(int c) {
+  unsigned short cw = static_cast<unsigned short>(c);
+  __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw) : "memory");
+}
 
-  //! Destructor.
-  ~Temp_Reference_Holder();
+inline int
+fpu_get_status() {
+  unsigned short sw;
+  __asm__ __volatile__ ("fnstsw %0" : "=a" (sw) : : "memory");
+  return sw;
+}
 
-  //! Returns a reference to the held item.
-  T& item();
+inline void
+fpu_clear_status(unsigned short bits) {
+  /* There is no fldsw instruction */
+  ia32_fenv_t env;
+  __asm__ __volatile__ ("fnstenv %0" : "=m" (env));
+  env.status_word = static_cast<unsigned short>(env.status_word & ~bits);
+  __asm__ __volatile__ ("fldenv %0" : : "m" (env) : "memory");
+}
 
-private:
-  //! Copy constructor: private and intentionally not implemented.
-  Temp_Reference_Holder(const Temp_Reference_Holder&);
+inline void
+fpu_clear_exceptions() {
+  __asm__ __volatile__ ("fnclex" : /* No outputs.  */ : : "memory");
+}
 
-  //! Assignment operator: private and intentionally not implemented.
-  Temp_Reference_Holder& operator=(const Temp_Reference_Holder&);
+#ifdef PPL_FPMATH_MAY_USE_SSE
+inline void
+sse_set_control(unsigned int cw) {
+  __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory");
+}
 
-  //! The held item, encapsulated.
-  Temp_Item<T>& held;
-};
+inline unsigned int
+sse_get_control() {
+  unsigned int cw;
+  __asm__ __volatile__ ("stmxcsr %0" : "=m" (*&cw) : : "memory");
+  return cw;
+}
+#endif
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An (fake) holder for the value of a temporary object.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Temp_Value_Holder {
-public:
-  //! Constructs a fake holder.
-  Temp_Value_Holder();
+inline void
+fpu_initialize_control_functions() {
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern void detect_sse_unit();
+  detect_sse_unit();
+#endif
+}
 
-  //! Returns the value of the held item.
-  T item();
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fpu_get_control() & FPU_ROUNDING_MASK);
+}
 
-private:
-  //! Copy constructor: private and intentionally not implemented.
-  Temp_Value_Holder(const Temp_Value_Holder&);
+inline void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
+#ifdef PPL_FPMATH_MAY_USE_387
+  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
+#endif
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern bool have_sse_unit;
+  if (have_sse_unit)
+    sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3));
+#endif
+}
 
-  //! Assignment operator: private and intentionally not implemented.
-  Temp_Value_Holder& operator=(const Temp_Value_Holder&);
+inline fpu_rounding_control_word_type
+fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
+#ifdef PPL_FPMATH_MAY_USE_387
+  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
+#endif
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern bool have_sse_unit;
+  if (have_sse_unit)
+    sse_set_control(PPL_SSE_CONTROL_DEFAULT_BASE | (dir << 3));
+#endif
+  return static_cast<fpu_rounding_control_word_type>(0);
+}
 
-  //! The held item.
-  T item_;
-};
+inline void
+fpu_reset_inexact() {
+#ifdef PPL_FPMATH_MAY_USE_387
+  fpu_clear_exceptions();
+#endif
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  // NOTE: on entry to this function the current rounding mode
+  // has to be the default one.
+  extern bool have_sse_unit;
+  if (have_sse_unit)
+    sse_set_control(PPL_SSE_CONTROL_DEFAULT);
+#endif
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A structure for handling temporaries with a global free list.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Temp_From_Free_List {
-  //! The type of the temporaries.
-  typedef T& type;
+inline void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
+#ifdef PPL_FPMATH_MAY_USE_387
+  fpu_set_control(PPL_FPU_CONTROL_DEFAULT);
+#endif
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern bool have_sse_unit;
+  if (have_sse_unit)
+    sse_set_control(PPL_SSE_CONTROL_DEFAULT);
+#endif
+}
 
-  //! The type of the holder.
-  typedef Temp_Reference_Holder<T> holder_type;
+inline int
+fpu_check_inexact() {
+#ifdef PPL_FPMATH_MAY_USE_387
+  if (fpu_get_status() & FPU_INEXACT)
+    return 1;
+#endif
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern bool have_sse_unit;
+  if (have_sse_unit && (sse_get_control() & SSE_INEXACT))
+    return 1;
+#endif
+  return 0;
+}
 
-};
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A structure for handling temporaries with local variables.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Temp_From_Local_Variable {
-  //! The type of the temporaries.
-  typedef T type;
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 87. */
+#elif defined(PPL_HAVE_IEEEFP_H)					\
+  && (defined(__sparc)							\
+      || defined(sparc)							\
+      || defined(__sparc__))
+/* Automatically generated from PPL source file ../src/fpu-sparc.inlines.hh line 1. */
+/* SPARC floating point unit related functions.
+*/
 
-  //! The type of the holder.
-  typedef Temp_Value_Holder<T> holder_type;
 
-};
+#ifdef PPL_HAVE_IEEEFP_H
+#include <ieeefp.h>
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A structure for the efficient handling of temporaries.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-class Dirty_Temp;
+#define PPL_FPU_TONEAREST  ((int) FP_RN)
+#define PPL_FPU_UPWARD     ((int) FP_RP)
+#define PPL_FPU_DOWNWARD   ((int) FP_RM)
+#define PPL_FPU_TOWARDZERO ((int) FP_RZ)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization for the handling of temporaries with a free list.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Dirty_Temp<T, typename Enable_If<Slow_Copy<T>::value>::type>
-  : public Temp_From_Free_List<T> {
-};
+namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization for the handling of temporaries with local variables.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Dirty_Temp<T, typename Enable_If<!Slow_Copy<T>::value>::type>
-  : public Temp_From_Local_Variable<T> {
-};
+inline void
+fpu_initialize_control_functions() {
+}
+
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fpgetround());
+}
+
+inline void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
+  fpsetround((fp_rnd) dir);
+}
+
+inline fpu_rounding_control_word_type
+fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
+  return static_cast<fpu_rounding_control_word_type>(fpsetround((fp_rnd) dir));
+}
+
+inline void
+fpu_reset_inexact() {
+  fp_except except = fpgetmask();
+  except &= ~FP_X_IMP;
+  fpsetmask(except);
+}
+
+inline void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
+  fpsetround((fp_rnd) w);
+}
+
+inline int
+fpu_check_inexact() {
+  return (fpgetmask() & FP_X_IMP) ? 1 : 0;
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 1. */
-/* Temp_* classes implementation: inline functions.
+#endif // !defined(PPL_HAVE_IEEEFP_H)
+
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 92. */
+#elif defined(PPL_HAVE_FENV_H)
+/* Automatically generated from PPL source file ../src/fpu-c99.inlines.hh line 1. */
+/* C99 Floating point unit related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 28. */
+#ifdef PPL_HAVE_FENV_H
+#include <fenv.h>
+#include <stdexcept>
 
-namespace Parma_Polyhedra_Library {
+#ifdef FE_TONEAREST
+#define PPL_FPU_TONEAREST FE_TONEAREST
+#endif
+#ifdef FE_UPWARD
+#define PPL_FPU_UPWARD FE_UPWARD
+#endif
+#ifdef FE_DOWNWARD
+#define PPL_FPU_DOWNWARD FE_DOWNWARD
+#endif
+#ifdef FE_TOWARDZERO
+#define PPL_FPU_TOWARDZERO FE_TOWARDZERO
+#endif
 
-template <typename T>
-inline
-Temp_Item<T>::Temp_Item()
-  : item_() {
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline T&
-Temp_Item<T>::item() {
-    return item_;
+inline void
+fpu_initialize_control_functions() {
+  int old = fegetround();
+  if (fesetround(PPL_FPU_DOWNWARD) != 0
+      || fesetround(PPL_FPU_UPWARD) != 0
+      || fesetround(old) != 0)
+    throw std::logic_error("PPL configuration error:"
+			   " PPL_CAN_CONTROL_FPU evaluates to true,"
+			   " but fesetround() returns nonzero.");
 }
 
-template <typename T>
-inline Temp_Item<T>&
-Temp_Item<T>::obtain() {
-  if (free_list_head != 0) {
-    Temp_Item* p = free_list_head;
-    free_list_head = free_list_head->next;
-    return *p;
-  }
-  else
-    return *new Temp_Item();
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fegetround());
 }
 
-template <typename T>
 inline void
-Temp_Item<T>::release(Temp_Item& p) {
-  p.next = free_list_head;
-  free_list_head = &p;
-}
-
-template <typename T>
-inline
-Temp_Reference_Holder<T>::Temp_Reference_Holder()
-  : held(Temp_Item<T>::obtain()) {
+fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
+  fesetround(dir);
 }
 
-template <typename T>
-inline
-Temp_Reference_Holder<T>::~Temp_Reference_Holder() {
-  Temp_Item<T>::release(held);
+inline fpu_rounding_control_word_type
+fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
+  fpu_rounding_control_word_type old
+    = static_cast<fpu_rounding_control_word_type>(fegetround());
+  fesetround(dir);
+  return old;
 }
 
-template <typename T>
-inline T&
-Temp_Reference_Holder<T>::item() {
-  return held.item();
+inline void
+fpu_reset_inexact() {
+#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
+  feclearexcept(FE_INEXACT);
+#endif
 }
 
-template <typename T>
-inline
-Temp_Value_Holder<T>::Temp_Value_Holder() {
+inline void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
+  fesetround(w);
 }
 
-template <typename T>
-inline T
-Temp_Value_Holder<T>::item() {
-  return item_;
+inline int
+fpu_check_inexact() {
+#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
+  return fetestexcept(FE_INEXACT) != 0 ? 1 : 0;
+#else
+  return -1;
+#endif
 }
 
 } // namespace Parma_Polyhedra_Library
 
-#define PPL_DIRTY_TEMP(T, id)						\
-  typename                                                              \
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;     \
-  typename                                                              \
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
+#endif // !defined(PPL_HAVE_FENV_H)
 
-#define PPL_DIRTY_TEMP0(T, id)						\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder_ ## id;	\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder_ ## id.item()
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 94. */
+#else
+#error "PPL_CAN_CONTROL_FPU evaluates to true: why?"
+#endif
 
-/* Automatically generated from PPL source file ../src/Temp.templates.hh line 1. */
-/* Temp_* classes implementation: non-inline template members.
+#else // !PPL_CAN_CONTROL_FPU
+
+/* Automatically generated from PPL source file ../src/fpu-none.inlines.hh line 1. */
+/* Null floating point unit related functions.
 */
 
 
+#include <stdexcept>
+
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-Temp_Item<T>* Temp_Item<T>::free_list_head = 0;
+inline void
+fpu_initialize_control_functions() {
+  throw std::logic_error("PPL::fpu_initialize_control_functions():"
+			 " cannot control the FPU");
+}
+
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  throw std::logic_error("PPL::fpu_get_rounding_direction():"
+			 " cannot control the FPU");
+}
+
+inline void
+fpu_set_rounding_direction(int) {
+  throw std::logic_error("PPL::fpu_set_rounding_direction():"
+			 " cannot control the FPU");
+}
+
+inline int
+fpu_save_rounding_direction(int) {
+  throw std::logic_error("PPL::fpu_save_rounding_direction():"
+			 " cannot control the FPU");
+}
+
+inline void
+fpu_reset_inexact() {
+  throw std::logic_error("PPL::fpu_reset_inexact():"
+			 " cannot control the FPU");
+}
+
+inline void
+fpu_restore_rounding_direction(int) {
+  throw std::logic_error("PPL::fpu_restore_rounding_direction():"
+			 " cannot control the FPU");
+}
+
+inline int
+fpu_check_inexact() {
+  throw std::logic_error("PPL::fpu_check_inexact():"
+			 " cannot control the FPU");
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 168. */
+/* Automatically generated from PPL source file ../src/fpu.defs.hh line 101. */
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 32. */
-#include <exception>
-#include <gmpxx.h>
+#endif // !PPL_CAN_CONTROL_FPU
+
+/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 29. */
 
 namespace Parma_Polyhedra_Library {
 
-//! Returns a value that does not designate a valid dimension.
-dimension_type
-not_a_dimension();
+//! Rounding directions for arithmetic computations.
+/*! \ingroup PPL_CXX_interface */
+enum Rounding_Dir {
+  /*! \hideinitializer
+    Round toward \f$-\infty\f$.
+  */
+  ROUND_DOWN = 0U,
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Make sure swap() is specialized when needed.
+  /*! \hideinitializer
+    Round toward \f$+\infty\f$.
+  */
+  ROUND_UP = 1U,
 
-  This will cause a compile-time error whenever a specialization for \p T
-  is beneficial but missing.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<Slow_Copy<T>::value, void>::type
-swap(T&, T&) {
-  PPL_COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
-}
+  /*! \hideinitializer
+    Rounding is delegated to lower level. Result info is evaluated lazily.
+  */
+  ROUND_IGNORE = 6U,
+  ROUND_NATIVE = ROUND_IGNORE,
 
-/*! \brief
-  Declare a local variable named \p id, of type Coefficient, and containing
-  an unknown initial value.
+  /*! \hideinitializer
+    Rounding is not needed: client code must ensure that the operation
+    result is exact and representable in the destination type.
+    Result info is evaluated lazily.
+  */
+  ROUND_NOT_NEEDED = 7U,
 
-  Use of this macro to declare temporaries of type Coefficient results
-  in decreased memory allocation overhead and in better locality.
-*/
-#define PPL_DIRTY_TEMP_COEFFICIENT(id) PPL_DIRTY_TEMP0(Coefficient, id)
+  ROUND_DIRECT = ROUND_UP,
+  ROUND_INVERSE = ROUND_DOWN,
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Speculative allocation function.
-/*!
-  \return
-  The actual capacity to be allocated.
+  ROUND_DIR_MASK = 7U,
 
-  \param requested_size
-  The number of elements we need.
+  /*! \hideinitializer
+    The client code is willing to pay an extra price to know the exact
+    relation between the exact result and the computed one.
+   */
+  ROUND_STRICT_RELATION = 8U,
 
-  \param maximum_size
-  The maximum number of elements to be allocated. It is assumed
-  to be no less than \p requested_size.
+  ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION
+};
 
-  Computes a capacity given a requested size.
-  Allows for speculative allocation aimed at reducing the number of
-  reallocations enough to guarantee amortized constant insertion time
-  for our vector-like data structures. In all cases, the speculative
-  allocation will not exceed \p maximum_size.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-dimension_type
-compute_capacity(dimension_type requested_size,
-                 dimension_type maximum_size);
+//! \name Functions Inspecting and/or Combining Rounding_Dir Values
+//@{
+
+/*! \ingroup PPL_CXX_interface */
+Rounding_Dir operator&(Rounding_Dir x, Rounding_Dir y);
 
+/*! \ingroup PPL_CXX_interface */
+Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Traits class for the deterministic timeout mechanism.
-/*! \ingroup PPL_CXX_interface
-  This abstract base class should be instantiated by those users
-  willing to provide a polynomial upper bound to the time spent
-  by any invocation of a library operator.
+/*! \brief \ingroup PPL_CXX_interface
+  Returns the inverse rounding mode of \p dir,
+  <CODE>ROUND_IGNORE</CODE> being the inverse of itself.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Weightwatch_Traits {
-  //! The type used to specify thresholds for computational weight.
-  typedef unsigned long long Threshold;
+Rounding_Dir inverse(Rounding_Dir dir);
 
-  //! The type used to specify increments of computational weight.
-  typedef unsigned long long Delta;
+/*! \ingroup PPL_CXX_interface */
+Rounding_Dir round_dir(Rounding_Dir dir);
 
-  //! Returns the current computational weight.
-  static const Threshold& get();
+/*! \ingroup PPL_CXX_interface */
+bool round_down(Rounding_Dir dir);
 
-  //! Compares the two weights \p a and \p b.
-  static bool less_than(const Threshold& a, const Threshold& b);
+/*! \ingroup PPL_CXX_interface */
+bool round_up(Rounding_Dir dir);
 
-  //! Sets \p threshold to be \p delta units bigger than the current weigth.
-  static void from_delta(Threshold& threshold, const Delta& delta);
+/*! \ingroup PPL_CXX_interface */
+bool round_ignore(Rounding_Dir dir);
 
-  //! The current computational weight.
-  static Threshold weight;
+/*! \ingroup PPL_CXX_interface */
+bool round_not_needed(Rounding_Dir dir);
 
-  /*! \brief
-    A pointer to the function that has to be called when checking
-    the reaching of thresholds.
+/*! \ingroup PPL_CXX_interface */
+bool round_not_requested(Rounding_Dir dir);
 
-    The pointer can be null if no thresholds are set.
-  */
-  static void (*check_function)(void);
-};
+/*! \ingroup PPL_CXX_interface */
+bool round_direct(Rounding_Dir dir);
 
+/*! \ingroup PPL_CXX_interface */
+bool round_inverse(Rounding_Dir dir);
 
-#ifndef NDEBUG
-namespace Implementation {
+/*! \ingroup PPL_CXX_interface */
+bool round_strict_relation(Rounding_Dir dir);
 
-//! Non zero during evaluation of PPL_ASSERT expression.
-extern unsigned int in_assert;
+/*! \ingroup PPL_CXX_interface */
+fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
 
-} // namespace Implementation
-#endif
+//@} // Functions Inspecting and/or Combining Rounding_Dir Values
 
-#ifndef PPL_PROFILE_ADD_WEIGHT
-#define PPL_PROFILE_ADD_WEIGHT 0
-#endif
+} // namespace Parma_Polyhedra_Library
 
-#if defined(NDEBUG)
-#if PPL_PROFILE_ADD_WEIGHT
-#define WEIGHT_BEGIN() Weight_Profiler::begin()
-#define WEIGHT_ADD(delta)                                     \
-  do {                                                        \
-    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
-    wp__.end();                                               \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                                   \
-  do {                                                                  \
-    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
-    wp__.end(factor);                                                   \
-  } while(0)
-#else
-#define WEIGHT_BEGIN()
-#define WEIGHT_ADD(delta)                       \
-  do {                                          \
-    Weightwatch_Traits::weight += delta;        \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                   \
-  do {                                                  \
-    Weightwatch_Traits::weight += delta * factor;       \
-  } while(0)
-#endif
-#else
-#define WEIGHT_BEGIN()
-#define WEIGHT_ADD(delta)                       \
-  do {                                          \
-    if (!Implementation::in_assert)             \
-      Weightwatch_Traits::weight += delta;      \
-  } while(0)
-#define WEIGHT_ADD_MUL(delta, factor)                   \
-  do {                                                  \
-    if (!Implementation::in_assert)                     \
-      Weightwatch_Traits::weight += delta * factor;     \
-  } while(0)
-#endif
-
-//! User objects the PPL can throw.
-/*! \ingroup PPL_CXX_interface
-  This abstract base class should be instantiated by those users
-  willing to provide a polynomial upper bound to the time spent
-  by any invocation of a library operator.
+/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 1. */
+/* Inline functions operating on enum Rounding_Dir values.
 */
-class Throwable {
-public:
-  //! Throws the user defined exception object.
-  virtual void throw_me() const = 0;
 
-  //! Virtual destructor.
-  virtual ~Throwable();
-};
 
-/*! \brief
-  A pointer to an exception object.
+/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 28. */
 
-  \ingroup PPL_CXX_interface
-  This pointer, which is initialized to zero, is repeatedly checked
-  along any super-linear (i.e., computationally expensive) computation
-  path in the library.
-  When it is found nonzero the exception it points to is thrown.
-  In other words, making this pointer point to an exception (and
-  leaving it in this state) ensures that the library will return
-  control to the client application, possibly by throwing the given
-  exception, within a time that is a linear function of the size
-  of the representation of the biggest object (powerset of polyhedra,
-  polyhedron, system of constraints or generators) on which the library
-  is operating upon.
+namespace Parma_Polyhedra_Library {
 
-  \note
-  The only sensible way to assign to this pointer is from within a
-  signal handler or from a parallel thread.  For this reason, the
-  library, apart from ensuring that the pointer is initially set to zero,
-  never assigns to it.  In particular, it does not zero it again when
-  the exception is thrown: it is the client's responsibility to do so.
-*/
-extern const Throwable* volatile abandon_expensive_computations;
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+operator&(Rounding_Dir x, Rounding_Dir y) {
+  unsigned res = static_cast<unsigned>(x) & static_cast<unsigned>(y);
+  return static_cast<Rounding_Dir>(res);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  If the pointer abandon_expensive_computations is found
-  to be nonzero, the exception it points to is thrown.
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+operator|(Rounding_Dir x, Rounding_Dir y) {
+  unsigned res = static_cast<unsigned>(x) | static_cast<unsigned>(y);
+  return static_cast<Rounding_Dir>(res);
+}
 
-  \relates Throwable
-*/
-#endif
-void
-maybe_abandon();
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+round_dir(Rounding_Dir dir) {
+  return dir & ROUND_DIR_MASK;
+}
 
-//! A tag class.
-/*! \ingroup PPL_CXX_interface
-  Tag class to distinguish those constructors that recycle the data
-  structures of their arguments, instead of taking a copy.
-*/
-struct Recycle_Input {
-};
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_down(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_DOWN;
+}
 
-// Turn s into a string: PPL_STR(x + y) => "x + y".
-#define PPL_STR(s) #s
-// Turn the expansion of s into a string: PPL_XSTR(x) => "x expanded".
-#define PPL_XSTR(s) PPL_STR(s)
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_up(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_UP;
+}
 
-#define PPL_OUTPUT_DECLARATIONS                                         \
-  /*! \brief Writes to \c std::cerr an ASCII representation of \p *this. */ \
-  void ascii_dump() const;                                              \
-  /*! \brief Writes to \p s an ASCII representation of \p *this. */     \
-  void ascii_dump(std::ostream& s) const;                               \
-  /*! \brief Prints \p *this to \c std::cerr using \c operator<<. */	\
-  void print() const;
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_ignore(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_IGNORE;
+}
 
-#define PPL_OUTPUT_DEFINITIONS(class_name)			\
-  void								\
-  Parma_Polyhedra_Library::class_name::ascii_dump() const {	\
-    ascii_dump(std::cerr);					\
-  }								\
-								\
-  void								\
-  Parma_Polyhedra_Library::class_name::print() const {		\
-    using IO_Operators::operator<<;				\
-    std::cerr << *this;						\
-  }
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_not_needed(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_NOT_NEEDED;
+}
 
-#define PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name)			\
-  void									\
-  Parma_Polyhedra_Library::class_name::ascii_dump() const {		\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  void									\
-  Parma_Polyhedra_Library::class_name::print() const {			\
-    std::cerr << "No user level output operator defined "		\
-	      << "for class " PPL_XSTR(class_name) << "." << std::endl; \
-  }
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_not_requested(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED;
+}
 
-#define PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix)	\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::ascii_dump() const {					\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::print() const {						\
-    using IO_Operators::operator<<;					\
-    std::cerr << *this;							\
-  }
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_direct(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_DIRECT;
+}
 
-#define PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
-						type_symbol2,		\
-						class_prefix)		\
-  template <typename type_symbol1, typename type_symbol2>		\
-  void									\
-  class_prefix<type_symbol1, type_symbol2>::ascii_dump() const {	\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol1, typename type_symbol2>		\
-  void									\
-  class_prefix<type_symbol1, type_symbol2>::print() const {		\
-    using IO_Operators::operator<<;					\
-    std::cerr << *this;							\
-  }
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_inverse(Rounding_Dir dir) {
+  return round_dir(dir) == ROUND_INVERSE;
+}
 
-#define PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
-						type_symbol2,		\
-						type_symbol3,		\
-						class_prefix)		\
-  template <typename type_symbol1, typename type_symbol2,		\
-            typename type_symbol3>					\
-  void									\
-  class_prefix<type_symbol1, type_symbol2, type_symbol3>::ascii_dump()	\
-    const {								\
-    ascii_dump(std::cerr);						\
-  }									\
-                                                                     	\
-    template <typename type_symbol1, typename type_symbol2,		\
-              typename type_symbol3>					\
-    void								\
-    class_prefix<type_symbol1, type_symbol2, type_symbol3>::print()	\
-      const {								\
-      using IO_Operators::operator<<;					\
-      std::cerr << *this;						\
-    }
+/*! \ingroup PPL_CXX_interface */
+inline bool
+round_strict_relation(Rounding_Dir dir) {
+  return (dir & ROUND_STRICT_RELATION) == ROUND_STRICT_RELATION;
+}
 
-#define PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol, class_prefix) \
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::ascii_dump() const {					\
-    ascii_dump(std::cerr);						\
-  }									\
-									\
-  template <typename type_symbol>					\
-  void									\
-  class_prefix::print() const {						\
-    std::cerr << "No user level output operator defined "		\
-	      << "for " PPL_XSTR(class_prefix) << "." << std::endl;	\
+#if PPL_CAN_CONTROL_FPU
+
+/*! \ingroup PPL_CXX_interface */
+inline fpu_rounding_direction_type
+round_fpu_dir(Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_UP:
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
+  case ROUND_DOWN:
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
+  case ROUND_IGNORE: // Fall through.
+  default:
+    PPL_UNREACHABLE;
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   }
+}
 
-template <typename T, long long v, typename Enable = void>
-struct Fit : public False {
-};
+#undef PPL_FPU_DOWNWARD
+#undef PPL_FPU_TONEAREST
+#undef PPL_FPU_TOWARDZERO
+#undef PPL_FPU_UPWARD
 
-template <typename T, long long v>
-struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type>  {
-  enum {
-    value = (v >= static_cast<long long>(C_Integer<T>::min)
-             && v <= static_cast<long long>(C_Integer<T>::max))
-  };
-};
+#endif
 
-template <typename T, long long v>
-struct TConstant {
-  static const T value = v;
-};
+/*! \ingroup PPL_CXX_interface */
+inline Rounding_Dir
+inverse(Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_UP:
+    return ROUND_DOWN | (dir & ROUND_STRICT_RELATION);
+  case ROUND_DOWN:
+    return ROUND_UP | (dir & ROUND_STRICT_RELATION);
+  case ROUND_IGNORE:
+    return dir;
+  default:
+    PPL_UNREACHABLE;
+    return dir;
+  }
+}
 
+} // namespace Parma_Polyhedra_Library
 
-template <typename T, long long v>
-const T TConstant<T, v>::value;
+/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 122. */
 
-template <typename T, long long v, bool prefer_signed = true,
-	  typename Enable = void>
-struct Constant_ : public TConstant<T, v> {
-};
 
-template <typename T, long long v, bool prefer_signed>
-struct Constant_<T, v, prefer_signed,
-		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_signed_type, v>::value
-				     && (prefer_signed
-                                         || !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
-  : public Constant_<typename C_Integer<T>::smaller_signed_type, v, prefer_signed> {
-};
+/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 1. */
+/* Numeric format.
+*/
 
-template <typename T, long long v, bool prefer_signed>
-struct Constant_<T, v, prefer_signed,
-		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value
-				     && (!prefer_signed
-                                         || !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
-  : public Constant_<typename C_Integer<T>::smaller_unsigned_type, v, prefer_signed> {
-};
 
-template <long long v, bool prefer_signed = true>
-struct Constant : public Constant_<long long, v, prefer_signed> {
+/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+class Numeric_Format {
 };
 
-//! \name Memory Size Inspection Functions
-//@{
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  For native types, returns the total size in bytes of the memory
-  occupied by the type of the (unused) parameter, i.e., 0.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native<T>::value, memory_size_type>::type
-total_memory_in_bytes(const T&);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  For native types, returns the size in bytes of the memory managed
-  by the type of the (unused) parameter, i.e., 0.
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 1. */
+/* IEC 559 floating point format related functions.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native<T>::value, memory_size_type>::type
-external_memory_in_bytes(const T&);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpz_class& x);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpz_class& x);
+/* Automatically generated from PPL source file ../src/globals.types.hh line 1. */
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpq_class& x);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpq_class& x);
+#include <cstddef>
 
-//@} // Memory Size Inspection Functions
+namespace Parma_Polyhedra_Library {
 
+//! An unsigned integral type for representing space dimensions.
+/*! \ingroup PPL_CXX_interface */
+typedef size_t dimension_type;
 
-template <typename T, typename Enable = void>
-struct Has_OK : public False { };
+//! An unsigned integral type for representing memory size in bytes.
+/*! \ingroup PPL_CXX_interface */
+typedef size_t memory_size_type;
 
-template <typename T>
-struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
-  : public True {
+//! Kinds of degenerate abstract elements.
+/*! \ingroup PPL_CXX_interface */
+enum Degenerate_Element {
+  //! The universe element, i.e., the whole vector space.
+  UNIVERSE,
+  //! The empty element, i.e., the empty set.
+  EMPTY
 };
 
-template <typename T>
-inline typename Enable_If<Has_OK<T>::value, bool>::type
-f_OK(const T& to) {
-  return to.OK();
-}
+//! Relation symbols.
+/*! \ingroup PPL_CXX_interface */
+// This must be kept in sync with Result
+enum Relation_Symbol {
+  //! \hideinitializer Equal to.
+  EQUAL = 1U,
+  //! \hideinitializer Less than.
+  LESS_THAN = 2U,
+  //! \hideinitializer Less than or equal to.
+  LESS_OR_EQUAL = LESS_THAN | EQUAL,
+  //! \hideinitializer Greater than.
+  GREATER_THAN = 4U,
+  //! \hideinitializer Greater than or equal to.
+  GREATER_OR_EQUAL = GREATER_THAN | EQUAL,
+  //! \hideinitializer Not equal to.
+  NOT_EQUAL = LESS_THAN | GREATER_THAN
+};
 
-#define FOK(T) inline bool f_OK(const T&) { return true; }
+//! Complexity pseudo-classes.
+/*! \ingroup PPL_CXX_interface */
+enum Complexity_Class {
+  //! Worst-case polynomial complexity.
+  POLYNOMIAL_COMPLEXITY,
+  //! Worst-case exponential complexity but typically polynomial behavior.
+  SIMPLEX_COMPLEXITY,
+  //! Any complexity.
+  ANY_COMPLEXITY
+};
 
-FOK(char)
-FOK(signed char)
-FOK(unsigned char)
-FOK(signed short)
-FOK(unsigned short)
-FOK(signed int)
-FOK(unsigned int)
-FOK(signed long)
-FOK(unsigned long)
-FOK(signed long long)
-FOK(unsigned long long)
-FOK(float)
-FOK(double)
-FOK(long double)
-FOK(mpz_class)
-FOK(mpq_class)
+//! Possible optimization modes.
+/*! \ingroup PPL_CXX_interface */
+enum Optimization_Mode {
+  //! Minimization is requested.
+  MINIMIZATION,
+  //! Maximization is requested.
+  MAXIMIZATION
+};
 
-} // namespace Parma_Polyhedra_Library
+/*! \brief \ingroup PPL_CXX_interface
+  Widths of bounded integer types.
 
-#if defined(NDEBUG) && PPL_PROFILE_ADD_WEIGHT
-/* Automatically generated from PPL source file ../src/Weight_Profiler.defs.hh line 1. */
-/* Weight_Profiler class declaration.
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
 */
+enum Bounded_Integer_Type_Width {
+  //! \hideinitializer 8 bits.
+  BITS_8 = 8,
 
-#ifndef Weight_Profiler_defs_hh
-#define Weight_Profiler_defs_hh 1
+  //! \hideinitializer 16 bits.
+  BITS_16 = 16,
 
-#include <cassert>
+  //! \hideinitializer 32 bits.
+  BITS_32 = 32,
 
-namespace Parma_Polyhedra_Library {
+  //! \hideinitializer 64 bits.
+  BITS_64 = 64,
 
-class Weight_Profiler {
-  enum { DISCARDED = 0, VALID = 1 };
-public:
-  Weight_Profiler(const char* file, int line,
-		  Weightwatch_Traits::Delta delta,
-		  double tmin = 0, double tmax = 0)
-    : file(file), line(line), delta(delta),
-      tmin(tmin), tmax(tmax) {
-    for (int i = 0; i < 2; ++i) {
-      stat[i].samples = 0;
-      stat[i].count = 0;
-      stat[i].sum = 0;
-      stat[i].ssum = 0;
-      stat[i].min = 0;
-      stat[i].max = 0;
-    }
-  }
+  //! \hideinitializer 128 bits.
+  BITS_128 = 128
+};
 
-  ~Weight_Profiler() {
-    output_stats();
-  }
+/*! \brief \ingroup PPL_CXX_interface
+  Representation of bounded integer types.
 
-  void output_stats();
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Representation {
+  //! Unsigned binary.
+  UNSIGNED,
 
-  static void begin() {
-#ifndef NDEBUG
-    int r = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
-    assert(r >= 0);
-#else
-    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
-#endif
-  }
+  /*! \brief
+    Signed binary where negative values are represented by the two's
+    complement of the absolute value.
+  */
+  SIGNED_2_COMPLEMENT
+};
 
-  void end(unsigned int factor = 1) {
-    Weightwatch_Traits::weight
-      += (Weightwatch_Traits::Threshold) delta * factor;
-    struct timespec start = stamp;
-    begin();
-    double elapsed;
-    if (stamp.tv_nsec >= start.tv_nsec) {
-      elapsed = (stamp.tv_nsec - start.tv_nsec)
-	+ (stamp.tv_sec - start.tv_sec) * 1e9;
-    }
-    else {
-      elapsed = (1000000000 - start.tv_nsec + stamp.tv_nsec )
-	+ (stamp.tv_sec - start.tv_sec - 1) * 1e9;
-    }
-    elapsed -= adj;
-    double elapsed1 = elapsed / factor;
-    int i = (elapsed1 < tmin || (tmax > 0 && elapsed1 > tmax))
-      ? DISCARDED
-      : VALID;
-    ++stat[i].samples;
-    if (stat[i].count == 0)
-      stat[i].min = stat[i].max = elapsed1;
-    else if (stat[i].min > elapsed1)
-      stat[i].min = elapsed1;
-    else if (stat[i].max < elapsed1)
-      stat[i].max = elapsed1;
-    stat[i].sum += elapsed;
-    stat[i].ssum += elapsed * elapsed1;
-    stat[i].count += factor;
-  }
+/*! \brief \ingroup PPL_CXX_interface
+  Overflow behavior of bounded integer types.
 
-  static double tune_adj();
+  See the section on
+  \ref Approximating_Bounded_Integers "approximating bounded integers".
+*/
+enum Bounded_Integer_Type_Overflow {
+  /*! \brief
+    On overflow, wrapping takes place.
 
- private:
-  const char *file;
-  int line;
-  Weightwatch_Traits::Delta delta;
-  double tmin;
-  double tmax;
+    This means that, for a \f$w\f$-bit bounded integer, the computation
+    happens modulo \f$2^w\f$.
+  */
+  OVERFLOW_WRAPS,
 
-  struct {
-    unsigned int samples;
-    unsigned int count;
-    double sum;
-    double ssum;
-    double min;
-    double max;
-  } stat[2];
-
-  static struct timespec stamp;
-  static double adj;
-};
-
-}
-
-#endif // Weight_Profiler_defs_hh
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 471. */
-#endif
-
-/* Automatically generated from PPL source file ../src/globals.inlines.hh line 1. */
-/* Implementation of global objects: inline functions.
-*/
-
-
-#include <limits>
-/* Automatically generated from PPL source file ../src/globals.inlines.hh line 29. */
-
-namespace Parma_Polyhedra_Library {
-
-inline dimension_type
-not_a_dimension() {
-  return std::numeric_limits<dimension_type>::max();
-}
-
-inline const Weightwatch_Traits::Threshold&
-Weightwatch_Traits::get() {
-  return weight;
-}
-
-inline bool
-Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) {
-  return b - a < 1ULL << (sizeof(Threshold)*8-1);
-}
-
-inline void
-Weightwatch_Traits::from_delta(Threshold& threshold, const Delta& delta) {
-  threshold = weight + delta;
-}
-
-inline
-Throwable::~Throwable() {
-}
-
-inline void
-maybe_abandon() {
-#ifndef NDEBUG
-  if (Implementation::in_assert)
-    return;
-#endif
-  if (Weightwatch_Traits::check_function)
-    Weightwatch_Traits::check_function();
-  if (const Throwable* p = abandon_expensive_computations)
-    p->throw_me();
-}
-
-inline dimension_type
-compute_capacity(const dimension_type requested_size,
-		 const dimension_type maximum_size) {
-  assert(requested_size <= maximum_size);
-  // Speculation factor 2.
-  return (requested_size < maximum_size / 2)
-    ? 2*(requested_size + 1)
-    : maximum_size;
-  // Speculation factor 1.5.
-  // return (maximum_size - requested_size > requested_size/2)
-  //   ? requested_size + requested_size/2 + 1
-  //   : maximum_size;
-}
-
-template <typename T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-external_memory_in_bytes(const T&) {
-  return 0;
-}
-
-template <typename T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-total_memory_in_bytes(const T&) {
-  return sizeof(T);
-}
-
-inline memory_size_type
-external_memory_in_bytes(const mpz_class& x) {
-  return x.get_mpz_t()[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
-}
-
-inline memory_size_type
-total_memory_in_bytes(const mpz_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
-
-inline memory_size_type
-external_memory_in_bytes(const mpq_class& x) {
-  return external_memory_in_bytes(x.get_num())
-    + external_memory_in_bytes(x.get_den());
-}
-
-inline memory_size_type
-total_memory_in_bytes(const mpq_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 474. */
-
-/* Automatically generated from PPL source file ../src/assert.hh line 29. */
-
-#if defined(NDEBUG)
-
-#define PPL_ASSERT(cond__)
-#define PPL_ASSERT_HEAVY(cond__)
-
-#else
-
-// Non zero to detect use of PPL_ASSERT instead of PPL_ASSERT_HEAVY
-#define PPL_DEBUG_PPL_ASSERT 1
-#if !PPL_DEBUG_PPL_ASSERT
-#define PPL_ASSERT(cond__) assert(cond__)
-#else
-#define PPL_ASSERT(cond__)				       \
-  do {							       \
-    Parma_Polyhedra_Library::Weightwatch_Traits::Threshold     \
-      old_weight__                                             \
-        = Parma_Polyhedra_Library::Weightwatch_Traits::weight; \
-    assert(cond__);					       \
-    assert(old_weight__ == Parma_Polyhedra_Library::Weightwatch_Traits::weight &&   \
-	   "PPL_ASSERT_HEAVY have to be used here");	   \
-  } while(0)
-#endif
-
-// The evaluation of asserted conditions could have a non zero
-// computational weight (i.e., the execution path could contain an
-// invocation of WEIGHT_ADD).
-#define PPL_ASSERT_HEAVY(cond__)				\
-  do {								\
-      ++Parma_Polyhedra_Library::Implementation::in_assert;	\
-      assert(cond__);						\
-      --Parma_Polyhedra_Library::Implementation::in_assert;	\
-    } while (0)
-#endif
-
-/* Automatically generated from PPL source file ../src/Result.inlines.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-/*! \relates Parma_Polyhedra_Library::Result */
-inline Result_Class
-result_class(Result r) {
-  return static_cast<Result_Class>(r & VC_MASK);
-}
-
-/*! \relates Parma_Polyhedra_Library::Result */
-inline Result_Relation
-result_relation(Result r) {
-  return static_cast<Result_Relation>(r & VR_MASK);
-}
-
-/*! \relates Parma_Polyhedra_Library::Result */
-inline Result
-result_relation_class(Result r) {
-  return static_cast<Result>(r & (VR_MASK | VC_MASK));
-}
-
-inline int
-result_overflow(Result r) {
-  switch (result_class(r)) {
-  case VC_NORMAL:
-    switch (r) {
-    case V_LT_INF:
-      return -1;
-    case V_GT_SUP:
-      return 1;
-    default:
-      break;
-    }
-    break;
-  case VC_MINUS_INFINITY:
-    return -1;
-  case VC_PLUS_INFINITY:
-    return 1;
-  default:
-    break;
-  }
-  return 0;
-}
-
-inline bool
-result_representable(Result r) {
-  return !(r & V_UNREPRESENTABLE);
-}
-
-inline Result operator|(Result a, Result b) {
-  return static_cast<Result>((unsigned)a | (unsigned)b);
-}
-
-inline Result operator-(Result a, Result b) {
-  return static_cast<Result>((unsigned)a & ~(unsigned)b);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Result.defs.hh line 172. */
-
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 29. */
-
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    On overflow, the result is undefined.
 
-//! Rounding directions for arithmetic computations.
-/*! \ingroup PPL_CXX_interface */
-enum Rounding_Dir {
-  /*! \hideinitializer
-    Round toward \f$-\infty\f$.
-  */
-  ROUND_DOWN = 0,
+    This simply means that the result of the operation resulting in an
+    overflow can take any value.
 
-  /*! \hideinitializer
-    Round toward \f$+\infty\f$.
+    \note
+    Even though something more serious can happen in the system
+    being analyzed ---due to, e.g., C's undefined behavior---, here we
+    are only concerned with the results of arithmetic operations.
+    It is the responsibility of the analyzer to ensure that other
+    manifestations of undefined behavior are conservatively approximated.
   */
-  ROUND_UP = 1,
+  OVERFLOW_UNDEFINED,
 
-  /*! \hideinitializer
-    Rounding is delegated to lower level. Result info is evaluated lazily.
-  */
-  ROUND_IGNORE = 6,
-  ROUND_NATIVE = ROUND_IGNORE,
+  /*! \brief
+    Overflow is impossible.
 
-  /*! \hideinitializer
-    Rounding is not needed: client code must ensure that the operation
-    result is exact and representable in the destination type.
-    Result info is evaluated lazily.
+    This is for the analysis of languages where overflow is trapped
+    before it affects the state, for which, thus, any indication that
+    an overflow may have affected the state is necessarily due to
+    the imprecision of the analysis.
   */
-  ROUND_NOT_NEEDED = 7,
-
-  ROUND_DIRECT = ROUND_UP,
-  ROUND_INVERSE = ROUND_DOWN,
-
-  ROUND_DIR_MASK = 7,
-
-  /*! \hideinitializer
-    The client code is willing to pay an extra price to know the exact
-    relation beetwen the exact result and the computed one.
-   */
-  ROUND_STRICT_RELATION = 8,
-
-  ROUND_CHECK = ROUND_DIRECT | ROUND_STRICT_RELATION
+  OVERFLOW_IMPOSSIBLE
 };
 
-/*! \brief
-  Returns the inverse rounding mode of \p dir,
-  <CODE>ROUND_IGNORE</CODE> being the inverse of itself.
+/*! \brief \ingroup PPL_CXX_interface
+  Possible representations of coefficient sequences (i.e. linear expressions
+  and more complex objects containing linear expressions, e.g. Constraints,
+  Generators, etc.).
 */
-Rounding_Dir inverse(Rounding_Dir dir);
-
-Rounding_Dir round_dir(Rounding_Dir dir);
-bool round_down(Rounding_Dir dir);
-bool round_up(Rounding_Dir dir);
-bool round_ignore(Rounding_Dir dir);
-bool round_not_needed(Rounding_Dir dir);
-bool round_not_requested(Rounding_Dir dir);
-bool round_direct(Rounding_Dir dir);
-bool round_inverse(Rounding_Dir dir);
-
-bool round_strict_relation(Rounding_Dir dir);
+enum Representation {
+  /*! \brief
+    Dense representation: the coefficient sequence is represented as a vector
+    of coefficients, including the zero coefficients.
+    If there are only a few nonzero coefficients, this representation is
+    faster and also uses a bit less memory.
+  */
+  DENSE,
 
-fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
+  /*! \brief
+    Sparse representation: only the nonzero coefficient are stored.
+    If there are many nonzero coefficients, this improves memory consumption
+    and run time (both because there is less data to process in O(n)
+    operations and because finding zeroes/nonzeroes is much faster since
+    zeroes are not stored at all, so any stored coefficient is nonzero).
+  */
+  SPARSE
+};
 
-} // namespace Parma_Polyhedra_Library
+/*! \brief \ingroup PPL_CXX_interface
+  Floating point formats known to the library.
 
-/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 1. */
-/* Inline functions operating on enum Rounding_Dir values.
+  The parameters of each format are defined by a specific struct
+  in file Float.defs.hh.  See the section on \ref floating_point
+  "Analysis of floating point computations" for more information.
 */
+enum Floating_Point_Format {
+  //! IEEE 754 half precision, 16 bits (5 exponent, 10 mantissa).
+  IEEE754_HALF,
 
+  //! IEEE 754 single precision, 32 bits (8 exponent, 23 mantissa).
+  IEEE754_SINGLE,
 
-/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-inline Rounding_Dir
-round_dir(Rounding_Dir dir) {
-  return static_cast<Rounding_Dir>(dir & ROUND_DIR_MASK);
-}
-
-inline bool
-round_down(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_DOWN;
-}
-
-inline bool
-round_up(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_UP;
-}
-
-inline bool
-round_ignore(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_IGNORE;
-}
-
-inline bool
-round_not_needed(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_NOT_NEEDED;
-}
-
-inline bool
-round_not_requested(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_IGNORE || round_dir(dir) == ROUND_NOT_NEEDED;
-}
-
-inline bool
-round_direct(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_DIRECT;
-}
-
-inline bool
-round_inverse(Rounding_Dir dir) {
-  return round_dir(dir) == ROUND_INVERSE;
-}
-
-inline bool
-round_strict_relation(Rounding_Dir dir) {
-  return dir & ROUND_STRICT_RELATION;
-}
-
-#if PPL_CAN_CONTROL_FPU
+  //! IEEE 754 double precision, 64 bits (11 exponent, 52 mantissa).
+  IEEE754_DOUBLE,
 
-inline fpu_rounding_direction_type
-round_fpu_dir(Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_UP:
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
-  case ROUND_DOWN:
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
-  default:
-    PPL_ASSERT(false);
-    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
-  }
-}
+  //! IEEE 754 quad precision, 128 bits (15 exponent, 112 mantissa).
+  IEEE754_QUAD,
 
-#undef PPL_FPU_DOWNWARD
-#undef PPL_FPU_TONEAREST
-#undef PPL_FPU_TOWARDZERO
-#undef PPL_FPU_UPWARD
+  //! Intel double extended precision, 80 bits (15 exponent, 64 mantissa)
+  INTEL_DOUBLE_EXTENDED,
 
-#endif
+  //! IBM single precision, 32 bits (7 exponent, 24 mantissa).
+  IBM_SINGLE,
 
-/*! \relates Parma_Polyhedra_Library::Rounding_Dir */
-inline Rounding_Dir
-inverse(Rounding_Dir dir) {
-  Rounding_Dir d = round_dir(dir);
-  switch (d) {
-  case ROUND_UP:
-    d = ROUND_DOWN;
-    break;
-  case ROUND_DOWN:
-    d = ROUND_UP;
-    break;
-  default:
-    PPL_ASSERT(false);
-    /* Fall through */
-  case ROUND_IGNORE:
-    return dir;
-  }
-  return static_cast<Rounding_Dir>((dir & ~ROUND_DIR_MASK) | d);
-}
+  //! IBM double precision, 64 bits (7 exponent, 56 mantissa).
+  IBM_DOUBLE
+};
 
-inline Rounding_Dir operator|(Rounding_Dir x, Rounding_Dir y) {
-  return static_cast<Rounding_Dir>((unsigned)x | (unsigned)y);
-}
+struct Weightwatch_Traits;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 94. */
-
+/* Automatically generated from PPL source file ../src/Concrete_Expression.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Init.inlines.hh line 29. */
 
 namespace Parma_Polyhedra_Library {
 
-inline void
-set_rounding_for_PPL() {
-#if PPL_CAN_CONTROL_FPU
-    fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
-#endif
-}
-
-inline void
-restore_pre_PPL_rounding() {
-#if PPL_CAN_CONTROL_FPU
-  fpu_set_rounding_direction(Init::old_rounding_direction);
-#endif
-}
-
-} // namespace Parma_Polyhedra_Library
+/*
+  NOTE: Doxygen seems to ignore documentation blocks attached to
+  template class declarations that are not provided with a definition.
+  This justifies (here below) the explicit use of Doxygen command \class.
+*/
 
-/* Automatically generated from PPL source file ../src/Init.defs.hh line 85. */
+/*! \brief \class Parma_Polyhedra_Library::Concrete_Expression
+  The base class of all concrete expressions.
+*/
+template <typename Target>
+class Concrete_Expression;
 
+/*! \brief \class Parma_Polyhedra_Library::Binary_Operator
+  A binary operator applied to two concrete expressions.
+*/
+template <typename Target>
+class Binary_Operator;
 
-/* Automatically generated from PPL source file ../src/initializer.hh line 28. */
+/*! \brief \class Parma_Polyhedra_Library::Unary_Operator
+  A unary operator applied to one concrete expression.
+*/
+template <typename Target>
+class Unary_Operator;
 
-#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
-namespace {
+/*! \brief \class Parma_Polyhedra_Library::Cast_Operator
+  A cast operator converting one concrete expression to some type.
+*/
+template <typename Target>
+class Cast_Operator;
 
-Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
+/*! \brief \class Parma_Polyhedra_Library::Integer_Constant
+  An integer constant concrete expression.
+*/
+template <typename Target>
+class Integer_Constant;
 
-} // namespace
-#else
-namespace {
+/*! \brief \class Parma_Polyhedra_Library::Floating_Point_Constant
+  A floating-point constant concrete expression.
+*/
+template <typename Target>
+class Floating_Point_Constant;
 
-Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
+/*! \brief \class Parma_Polyhedra_Library::Approximable_Reference
+  A concrete expression representing a reference to some approximable.
+*/
+template <typename Target>
+class Approximable_Reference;
 
-} // namespace
-#endif
+class Concrete_Expression_Type;
 
-namespace Parma_Polyhedra_Library {
+/*! \brief
+  Encodes the kind of concrete expression.
+
+  The values should be defined by the particular instance
+  and uniquely identify one of: Binary_Operator, Unary_Operator,
+  Cast_Operator, Integer_Constant, Floating_Point_Constant, or
+  Approximable_Reference.  For example, the Binary_Operator kind
+  integer constant should be defined by an instance as the member
+  <CODE>Binary_Operator<T>::KIND</CODE>
+*/
+typedef int Concrete_Expression_Kind;
 
-//! Initializes the library.
-inline void
-initialize() {
-#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  if (Parma_Polyhedra_Library_initializer_p == 0)
-    Parma_Polyhedra_Library_initializer_p = new Init();
-#endif
-}
+/*! \brief
+  Encodes a binary operator of concrete expressions.
 
-//! Finalizes the library.
-inline void
-finalize() {
-#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  PPL_ASSERT(Parma_Polyhedra_Library_initializer_p != 0);
-  delete Parma_Polyhedra_Library_initializer_p;
-  Parma_Polyhedra_Library_initializer_p = 0;
-#endif
-}
+  The values should be uniquely defined by the particular instance and
+  named: ADD, SUB, MUL, DIV, REM, BAND, BOR, BXOR, LSHIFT, RSHIFT.
+*/
+typedef int Concrete_Expression_BOP;
 
-} //namespace Parma_Polyhedra_Library
+/*! \brief
+  Encodes a unary operator of concrete expressions.
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 1. */
-/* Scalar_Products class definition.
+  The values should be uniquely defined by the particular instance and
+  named: PLUS, MINUS, BNOT.
 */
+typedef int Concrete_Expression_UOP;
 
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Variable.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-class Scalar_Products;
-class Topology_Adjusted_Scalar_Product_Sign;
-class Topology_Adjusted_Scalar_Product_Assign;
+class Variable;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Linear_Row.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Linear_Form.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-class Linear_Row;
+template <typename C>
+class Linear_Form;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 1. */
-
-
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1. */
-/* Checked_Number class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 1. */
-
-
-/* Automatically generated from PPL source file ../src/Coefficient_traits_template.hh line 1. */
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 34. */
+#include <set>
+#include <cmath>
+#include <map>
+#include <gmp.h>
 
+#ifdef NAN
+#define PPL_NAN NAN
+#else
+#define PPL_NAN (HUGE_VAL - HUGE_VAL)
+#endif
 
 namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits.
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Coefficient>
-struct Coefficient_traits_template {
-};
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 17. */
-
-namespace Parma_Polyhedra_Library {
-
-struct Extended_Number_Policy;
-
-template <typename T, typename Policy>
-class Checked_Number;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 1. */
-/* Abstract checked arithmetic function container
-*/
-
-
-#include <iostream>
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 1. */
-/* Declarations of specializations of std:: objects for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
-*/
-
+struct float_ieee754_half {
+  uint16_t word;
+  static const uint16_t SGN_MASK = 0x8000U;
+  static const uint16_t EXP_MASK = 0xfc00U;
+  static const uint16_t POS_INF = 0xfc00U;
+  static const uint16_t NEG_INF = 0x7c00U;
+  static const uint16_t POS_ZERO = 0x0000U;
+  static const uint16_t NEG_ZERO = 0x8000U;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 5;
+  static const unsigned int MANTISSA_BITS = 10;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  static const Floating_Point_Format floating_point_format = IEEE754_HALF;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
 
-#include <gmpxx.h>
-#include <limits>
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Swaps \p x with \p y.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(mpz_class& x, mpz_class& y);
+struct float_ieee754_single {
+  uint32_t word;
+  static const uint32_t SGN_MASK = 0x80000000U;
+  static const uint32_t EXP_MASK = 0x7f800000U;
+  static const uint32_t POS_INF = 0x7f800000U;
+  static const uint32_t NEG_INF = 0xff800000U;
+  static const uint32_t POS_ZERO = 0x00000000U;
+  static const uint32_t NEG_ZERO = 0x80000000U;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 8;
+  static const unsigned int MANTISSA_BITS = 23;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  static const Floating_Point_Format floating_point_format = IEEE754_SINGLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
+
+#ifdef WORDS_BIGENDIAN
+#ifndef PPL_WORDS_BIGENDIAN
+#define PPL_WORDS_BIGENDIAN
+#endif
+#endif
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Swaps \p x with \p y.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(mpq_class& x, mpq_class& y);
-
-namespace std {
+struct float_ieee754_double {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint32_t msp;
+  uint32_t lsp;
+#else
+  uint32_t lsp;
+  uint32_t msp;
+#endif
+  static const uint32_t MSP_SGN_MASK = 0x80000000U;
+  static const uint32_t MSP_POS_INF = 0x7ff00000U;
+  static const uint32_t MSP_NEG_INF = 0xfff00000U;
+  static const uint32_t MSP_POS_ZERO = 0x00000000U;
+  static const uint32_t MSP_NEG_ZERO = 0x80000000U;
+  static const uint32_t LSP_INF = 0;
+  static const uint32_t LSP_ZERO = 0;
+  static const uint32_t LSP_MAX = 0xffffffffU;
+  static const unsigned int BASE = 2;
+  static const unsigned int EXPONENT_BITS = 11;
+  static const unsigned int MANTISSA_BITS = 52;
+  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
+  static const int EXPONENT_BIAS = EXPONENT_MAX;
+  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
+  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
+					- static_cast<int>(MANTISSA_BITS);
+  static const Floating_Point_Format floating_point_format = IEEE754_DOUBLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
+  void negate();
+  void dec();
+  void inc();
+  void set_max(bool negative);
+  void build(bool negative, mpz_t mantissa, int exponent);
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization of std::numeric_limits.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-class numeric_limits<mpz_class> {
-private:
-  typedef mpz_class Type;
-
-public:
-  static const bool is_specialized = true;
-  static const int digits = 0;
-  static const int digits10 = 0;
-  static const bool is_signed = true;
-  static const bool is_integer = true;
-  static const bool is_exact = true;
-  static const int radix = 2;
-  static const int min_exponent = 0;
-  static const int min_exponent10 = 0;
-  static const int max_exponent = 0;
-  static const int max_exponent10 = 0;
-  static const bool has_infinity = false;
-  static const bool has_quiet_NaN =  false;
-  static const bool has_signaling_NaN = false;
-  static const float_denorm_style has_denorm = denorm_absent;
-  static const bool has_denorm_loss = false;
-  static const bool is_iec559 = false;
-  static const bool is_bounded = false;
-  static const bool is_modulo = false;
-  static const bool traps = false;
-  static const bool tininess_before = false;
-  static const float_round_style round_style = round_toward_zero;
-
-  static Type min() {
-    return static_cast<Type>(0);
-  }
-
-  static Type max() {
-    return static_cast<Type>(0);
-  }
-
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
-
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
-
-  static Type infinity() {
-    return static_cast<Type>(0);
-  }
-
-  static Type quiet_NaN() {
-    return static_cast<Type>(0);
-  }
-
-  static Type denorm_min() {
-    return static_cast<Type>(1);
-  }
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-class numeric_limits<mpq_class> {
-private:
-  typedef mpq_class Type;
-
-public:
-  static const bool is_specialized = true;
-  static const int digits = 0;
-  static const int digits10 = 0;
-  static const bool is_signed = true;
-  static const bool is_integer = false;
-  static const bool is_exact = true;
-  static const int radix = 2;
-  static const int min_exponent = 0;
-  static const int min_exponent10 = 0;
-  static const int max_exponent = 0;
-  static const int max_exponent10 = 0;
-  static const bool has_infinity = false;
-  static const bool has_quiet_NaN =  false;
-  static const bool has_signaling_NaN = false;
-  static const float_denorm_style has_denorm = denorm_absent;
-  static const bool has_denorm_loss = false;
-  static const bool is_iec559 = false;
-  static const bool is_bounded = false;
-  static const bool is_modulo = false;
-  static const bool traps = false;
-  static const bool tininess_before = false;
-  static const float_round_style round_style = round_toward_zero;
-
-  static Type min() {
-    return static_cast<Type>(0);
-  }
-
-  static Type max() {
-    return static_cast<Type>(0);
-  }
-
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
-
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
-
-  static Type infinity() {
-    return static_cast<Type>(0);
-  }
-
-  static Type quiet_NaN() {
-    return static_cast<Type>(0);
-  }
-
-  static Type denorm_min() {
-    return static_cast<Type>(0);
-  }
-};
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/mp_std_bits.inlines.hh line 1. */
-/* Definitions of specializations of std:: functions and methods for
-   multi-precision types.  This will become obsolete when GMP and MPFR
-   will provide the specializations by themselves.
-*/
-
-
-inline void
-swap(mpz_class& x, mpz_class& y) {
-  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
-}
-
-inline void
-swap(mpq_class& x, mpq_class& y) {
-  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
-}
-
-/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 169. */
-
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 1. */
-/* Numeric format.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 29. */
-
-namespace Parma_Polyhedra_Library {
-
-class Numeric_Format {
-};
-
-} // namespace Parma_Polyhedra_Library
-
-
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 1. */
-/* IEC 559 floating point format related functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 29. */
-#include <gmp.h>
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 31. */
-#include <cmath>
-
-#ifdef NAN
-#define PPL_NAN NAN
-#else
-#define PPL_NAN (HUGE_VAL - HUGE_VAL)
-#endif
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-struct float_ieee754_half {
-  uint16_t word;
-  static const uint16_t SGN_MASK = 0x8000;
-  static const uint16_t EXP_MASK = 0xfc00;
-  static const uint16_t POS_INF = 0xfc00;
-  static const uint16_t NEG_INF = 0x7c00;
-  static const uint16_t POS_ZERO = 0x0000;
-  static const uint16_t NEG_ZERO = 0x8000;
-  static const unsigned int BASE = 2;
-  static const unsigned int EXPONENT_BITS = 5;
-  static const unsigned int MANTISSA_BITS = 10;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-struct float_ieee754_single {
-  uint32_t word;
-  static const uint32_t SGN_MASK = 0x80000000;
-  static const uint32_t EXP_MASK = 0x7f800000;
-  static const uint32_t POS_INF = 0x7f800000;
-  static const uint32_t NEG_INF = 0xff800000;
-  static const uint32_t POS_ZERO = 0x00000000;
-  static const uint32_t NEG_ZERO = 0x80000000;
-  static const unsigned int BASE = 2;
-  static const unsigned int EXPONENT_BITS = 8;
-  static const unsigned int MANTISSA_BITS = 23;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-};
-
-#ifdef WORDS_BIGENDIAN
-#ifndef PPL_WORDS_BIGENDIAN
-#define PPL_WORDS_BIGENDIAN
-#endif
-#endif
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-struct float_ieee754_double {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint32_t msp;
-  uint32_t lsp;
-#else
-  uint32_t lsp;
-  uint32_t msp;
-#endif
-  static const uint32_t MSP_SGN_MASK = 0x80000000;
-  static const uint32_t MSP_POS_INF = 0x7ff00000;
-  static const uint32_t MSP_NEG_INF = 0xfff00000;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x80000000;
-  static const uint32_t LSP_INF = 0;
-  static const uint32_t LSP_ZERO = 0;
-  static const uint32_t LSP_MAX = 0xffffffff;
-  static const unsigned int BASE = 2;
-  static const unsigned int EXPONENT_BITS = 11;
-  static const unsigned int MANTISSA_BITS = 52;
-  static const int EXPONENT_MAX = (1 << (EXPONENT_BITS - 1)) - 1;
-  static const int EXPONENT_BIAS = EXPONENT_MAX;
-  static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
-  static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
-					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
-  void negate();
-  void dec();
-  void inc();
-  void set_max(bool negative);
-  void build(bool negative, mpz_t mantissa, int exponent);
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ibm_single {
   uint32_t word;
-  static const uint32_t SGN_MASK = 0x80000000;
-  static const uint32_t EXP_MASK = 0x7f000000;
-  static const uint32_t POS_INF = 0x7f000000;
-  static const uint32_t NEG_INF = 0xff000000;
-  static const uint32_t POS_ZERO = 0x00000000;
-  static const uint32_t NEG_ZERO = 0x80000000;
+  static const uint32_t SGN_MASK = 0x80000000U;
+  static const uint32_t EXP_MASK = 0x7f000000U;
+  static const uint32_t POS_INF = 0x7f000000U;
+  static const uint32_t NEG_INF = 0xff000000U;
+  static const uint32_t POS_ZERO = 0x00000000U;
+  static const uint32_t NEG_ZERO = 0x80000000U;
   static const unsigned int BASE = 16;
   static const unsigned int EXPONENT_BITS = 7;
   static const unsigned int MANTISSA_BITS = 24;
@@ -3984,10 +3204,11 @@ struct float_ibm_single {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format = IBM_SINGLE;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -3998,7 +3219,6 @@ struct float_ibm_single {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ibm_double {
   static const unsigned int BASE = 16;
   static const unsigned int EXPONENT_BITS = 7;
@@ -4009,7 +3229,6 @@ struct float_ibm_double {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_intel_double_extended {
 #ifdef PPL_WORDS_BIGENDIAN
   uint32_t msp;
@@ -4018,15 +3237,15 @@ struct float_intel_double_extended {
   uint64_t lsp;
   uint32_t msp;
 #endif
-  static const uint32_t MSP_SGN_MASK = 0x00008000;
-  static const uint32_t MSP_POS_INF = 0x00007fff;
-  static const uint32_t MSP_NEG_INF = 0x0000ffff;
-  static const uint32_t MSP_POS_ZERO = 0x00000000;
-  static const uint32_t MSP_NEG_ZERO = 0x00008000;
-  static const uint64_t LSP_INF = 0x8000000000000000ULL;
+  static const uint32_t MSP_SGN_MASK = 0x00008000U;
+  static const uint32_t MSP_POS_INF = 0x00007fffU;
+  static const uint32_t MSP_NEG_INF = 0x0000ffffU;
+  static const uint32_t MSP_POS_ZERO = 0x00000000U;
+  static const uint32_t MSP_NEG_ZERO = 0x00008000U;
+  static const uint64_t LSP_INF = static_cast<uint64_t>(0x8000000000000000ULL);
   static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
-  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
+  static const uint64_t LSP_DMAX = static_cast<uint64_t>(0x7fffffffffffffffULL);
+  static const uint64_t LSP_NMAX = static_cast<uint64_t>(0xffffffffffffffffULL);
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 63;
@@ -4035,10 +3254,12 @@ struct float_intel_double_extended {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  static const Floating_Point_Format floating_point_format =
+                                     INTEL_DOUBLE_EXTENDED;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -4049,7 +3270,6 @@ struct float_intel_double_extended {
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 struct float_ieee754_quad {
 #ifdef PPL_WORDS_BIGENDIAN
   uint64_t msp;
@@ -4058,14 +3278,14 @@ struct float_ieee754_quad {
   uint64_t lsp;
   uint64_t msp;
 #endif
-  static const uint64_t MSP_SGN_MASK = 0x8000000000000000ULL;
-  static const uint64_t MSP_POS_INF = 0x7fff000000000000ULL;
-  static const uint64_t MSP_NEG_INF = 0xffff000000000000ULL;
-  static const uint64_t MSP_POS_ZERO = 0x0000000000000000ULL;
-  static const uint64_t MSP_NEG_ZERO = 0x8000000000000000ULL;
+  static const uint64_t MSP_SGN_MASK = static_cast<uint64_t>(0x8000000000000000ULL);
+  static const uint64_t MSP_POS_INF = static_cast<uint64_t>(0x7fff000000000000ULL);
+  static const uint64_t MSP_NEG_INF = static_cast<uint64_t>(0xffff000000000000ULL);
+  static const uint64_t MSP_POS_ZERO = static_cast<uint64_t>(0x0000000000000000ULL);
+  static const uint64_t MSP_NEG_ZERO = static_cast<uint64_t>(0x8000000000000000ULL);
   static const uint64_t LSP_INF = 0;
   static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
+  static const uint64_t LSP_MAX = static_cast<uint64_t>(0xffffffffffffffffULL);
   static const unsigned int BASE = 2;
   static const unsigned int EXPONENT_BITS = 15;
   static const unsigned int MANTISSA_BITS = 112;
@@ -4074,10 +3294,10 @@ struct float_ieee754_quad {
   static const int EXPONENT_MIN = -EXPONENT_MAX + 1;
   static const int EXPONENT_MIN_DENORM = EXPONENT_MIN
 					- static_cast<int>(MANTISSA_BITS);
-  int is_inf() const;
-  int is_nan() const;
-  int is_zero() const;
-  int sign_bit() const;
+  int inf_sign() const;
+  bool is_nan() const;
+  int zero_sign() const;
+  bool sign_bit() const;
   void negate();
   void dec();
   void inc();
@@ -4108,7 +3328,7 @@ public:
 #elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_FLOAT_BINARY_FORMAT"
 #endif
   union {
     float number;
@@ -4137,7 +3357,7 @@ public:
 #elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_DOUBLE_BINARY_FORMAT"
 #endif
   union {
     double number;
@@ -4166,7 +3386,7 @@ public:
 #elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
   typedef float_intel_double_extended Binary;
 #else
-#error "invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
+#error "Invalid value for PPL_CXX_LONG_DOUBLE_BINARY_FORMAT"
 #endif
   union {
     long double number;
@@ -4178,13056 +3398,35422 @@ public:
 };
 #endif
 
-} // namespace Parma_Polyhedra_Library
+// FIXME: is this the right place for this function?
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If \p v is nonzero, returns the position of the most significant bit
+  in \p a.
 
-/* Automatically generated from PPL source file ../src/Float.inlines.hh line 1. */
-/* IEC 559 floating point format related functions.
+  The behavior is undefined if \p v is zero.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+unsigned int msb_position(unsigned long long v);
 
+/*! \brief
+  An abstract class to be implemented by an external analyzer such
+  as ECLAIR in order to provide to the PPL the necessary information
+  for performing the analysis of floating point computations.
 
-#include <climits>
+  \par Template type parameters
 
-namespace Parma_Polyhedra_Library {
+  - The class template parameter \p Target specifies the implementation
+  of Concrete_Expression to be used.
+  - The class template parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
+*/
+template <typename Target, typename FP_Interval_Type>
+class FP_Oracle {
+public:
+  /*
+    FIXME: the const qualifiers on expressions may raise CLANG
+    compatibility issues. It may be necessary to omit them.
+  */
 
-inline int
-float_ieee754_half::is_inf() const {
-  if (word == NEG_INF)
-    return -1;
-  if (word == POS_INF)
-    return 1;
-  return 0;
-}
+  /*! \brief
+    Asks the external analyzer for an interval that correctly
+    approximates the floating point entity referenced by \p dim.
+    Result is stored into \p result.
 
-inline int
-float_ieee754_half::is_nan() const {
-  return (word & ~SGN_MASK) > POS_INF;
-}
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_interval(dimension_type dim, FP_Interval_Type& result) const
+    = 0;
 
-inline int
-float_ieee754_half::is_zero() const {
-  if (word == NEG_ZERO)
-    return -1;
-  if (word == POS_ZERO)
-    return 1;
-  return 0;
-}
+  /*! \brief
+    Asks the external analyzer for an interval that correctly
+    approximates the value of floating point constant \p expr.
+    Result is stored into \p result.
 
-inline void
-float_ieee754_half::negate() {
-  word ^= SGN_MASK;
-}
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_fp_constant_value(
+               const Floating_Point_Constant<Target>& expr,
+                     FP_Interval_Type& result) const = 0;
 
-inline int
-float_ieee754_half::sign_bit() const {
-  return !!(word & SGN_MASK);
-}
+  /*! \brief
+    Asks the external analyzer for an interval that correctly approximates
+    the value of \p expr, which must be of integer type.
+    Result is stored into \p result.
 
-inline void
-float_ieee754_half::dec() {
-  --word;
-}
+    \return <CODE>true</CODE> if the analyzer was able to find a correct
+    approximation, <CODE>false</CODE> otherwise.
+  */
+  virtual bool get_integer_expr_value(const Concrete_Expression<Target>& expr,
+                                      FP_Interval_Type& result) const = 0;
 
-inline void
-float_ieee754_half::inc() {
-  ++word;
-}
+  /*! \brief
+    Asks the external analyzer for the possible space dimensions that
+    are associated to the approximable reference \p expr.
+    Result is stored into \p result.
 
-inline void
-float_ieee754_half::set_max(bool negative) {
-  word = 0x7bff;
-  if (negative)
-    word |= SGN_MASK;
-}
+    \return <CODE>true</CODE> if the analyzer was able to return
+    the (possibly empty!) set, <CODE>false</CODE> otherwise.
 
-inline void
-float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
-  if (negative)
-    word |= SGN_MASK;
-  word |= static_cast<uint16_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
-}
+    The resulting set MUST NOT contain <CODE>not_a_dimension()</CODE>.
+  */
+  virtual bool get_associated_dimensions(
+	  const Approximable_Reference<Target>& expr,
+          std::set<dimension_type>& result) const = 0;
 
-inline int
-float_ieee754_single::is_inf() const {
-  if (word == NEG_INF)
-    return -1;
-  if (word == POS_INF)
-    return 1;
-  return 0;
-}
+};
 
-inline int
-float_ieee754_single::is_nan() const {
-  return (word & ~SGN_MASK) > POS_INF;
-}
+/* FIXME: some of the following  documentation should probably be
+   under PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS */
 
-inline int
-float_ieee754_single::is_zero() const {
-  if (word == NEG_ZERO)
-    return -1;
-  if (word == POS_ZERO)
-    return 1;
-  return 0;
-}
+/*! \brief \relates Float
+  Returns <CODE>true</CODE> if and only if there is some floating point
+  number that is representable by \p f2 but not by \p f1.
+*/
+bool is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2);
 
-inline void
-float_ieee754_single::negate() {
-  word ^= SGN_MASK;
-}
+/*! \brief \relates Float
+  Computes the absolute error of floating point computations.
 
-inline int
-float_ieee754_single::sign_bit() const {
-  return !!(word & SGN_MASK);
-}
+  \par Template type parameters
 
-inline void
-float_ieee754_single::dec() {
-  --word;
-}
+  - The class template parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
 
-inline void
-float_ieee754_single::inc() {
-  ++word;
-}
+  \param analyzed_format The floating point format used by the analyzed
+  program.
 
-inline void
-float_ieee754_single::set_max(bool negative) {
-  word = 0x7f7fffff;
-  if (negative)
-    word |= SGN_MASK;
-}
+  \return The interval \f$[-\omega, \omega]\f$ where \f$\omega\f$ is the
+  smallest non-zero positive number in the less precise floating point
+  format between the analyzer format and the analyzed format.
+*/
+template <typename FP_Interval_Type>
+const FP_Interval_Type&
+compute_absolute_error(Floating_Point_Format analyzed_format);
 
-inline void
-float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
-  if (negative)
-    word |= SGN_MASK;
-  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
-}
+/*! \brief \relates Linear_Form
+  Discards all linear forms containing variable \p var from the
+  linear form abstract store \p lf_store.
+*/
+template <typename FP_Interval_Type>
+void
+discard_occurrences(std::map<dimension_type,
+                             Linear_Form<FP_Interval_Type> >& lf_store,
+                    Variable var);
 
-inline int
-float_ieee754_double::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  if (msp == MSP_NEG_INF)
-    return -1;
-  if (msp == MSP_POS_INF)
-    return 1;
-  return 0;
-}
+/*! \brief \relates Linear_Form
+  Assigns the linear form \p lf to \p var in the linear form abstract
+  store \p lf_store, then discards all occurrences of \p var from it.
+*/
+template <typename FP_Interval_Type>
+void
+affine_form_image(std::map<dimension_type,
+                           Linear_Form<FP_Interval_Type> >& lf_store,
+                  Variable var,
+                  const Linear_Form<FP_Interval_Type>& lf);
+
+/*! \brief \relates Linear_Form
+  Discards from \p ls1 all linear forms but those that are associated
+  to the same variable in \p ls2.
+*/
+template <typename FP_Interval_Type>
+void
+upper_bound_assign(std::map<dimension_type,
+                            Linear_Form<FP_Interval_Type> >& ls1,
+                   const std::map<dimension_type,
+                                  Linear_Form<FP_Interval_Type> >& ls2);
 
-inline int
-float_ieee754_double::is_nan() const {
-  uint32_t a = msp & ~MSP_SGN_MASK;
-  return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF);
-}
+} // namespace Parma_Polyhedra_Library
 
-inline int
-float_ieee754_double::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  if (msp == MSP_NEG_ZERO)
-    return -1;
-  if (msp == MSP_POS_ZERO)
-    return 1;
-  return 0;
-}
+/* Automatically generated from PPL source file ../src/Float.inlines.hh line 1. */
+/* IEC 559 floating point format related functions.
+*/
 
-inline void
-float_ieee754_double::negate() {
-  msp ^= MSP_SGN_MASK;
-}
 
-inline int
-float_ieee754_double::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
+#include <climits>
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 1. */
+/* Variable class declaration.
+*/
 
-inline void
-float_ieee754_double::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
-  }
-  else
-    --lsp;
-}
 
-inline void
-float_ieee754_double::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
-}
+/* Automatically generated from PPL source file ../src/Init.types.hh line 1. */
 
-inline void
-float_ieee754_double::set_max(bool negative) {
-  msp = 0x7fefffff;
-  lsp = 0xffffffff;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
 
-inline void
-float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
-#if ULONG_MAX == 0xffffffffUL
-  lsp = mpz_get_ui(mantissa);
-  mpz_tdiv_q_2exp(mantissa, mantissa, 32);
-  unsigned long m = mpz_get_ui(mantissa);
-#else
-  unsigned long m = mpz_get_ui(mantissa);
-  lsp = m;
-  m >>= 32;
-#endif
-  msp = m & ((1UL << (MANTISSA_BITS - 32)) - 1);
-  if (negative)
-    msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 32);
-}
+namespace Parma_Polyhedra_Library {
 
-inline int
-float_ibm_single::is_inf() const {
-  if (word == NEG_INF)
-    return -1;
-  if (word == POS_INF)
-    return 1;
-  return 0;
-}
+class Init;
 
-inline int
-float_ibm_single::is_nan() const {
-  return (word & ~SGN_MASK) > POS_INF;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline int
-float_ibm_single::is_zero() const {
-  if (word == NEG_ZERO)
-    return -1;
-  if (word == POS_ZERO)
-    return 1;
-  return 0;
-}
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 30. */
+#include <iosfwd>
+#include <set>
 
-inline void
-float_ibm_single::negate() {
-  word ^= SGN_MASK;
-}
+namespace Parma_Polyhedra_Library {
 
-inline int
-float_ibm_single::sign_bit() const {
-  return !!(word & SGN_MASK);
-}
+namespace IO_Operators {
 
-inline void
-float_ibm_single::dec() {
-  --word;
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variable */
+std::ostream&
+operator<<(std::ostream& s, const Variable v);
 
-inline void
-float_ibm_single::inc() {
-  ++word;
-}
+} // namespace IO_Operators
 
-inline void
-float_ibm_single::set_max(bool negative) {
-  word = 0x7f000000;
-  if (negative)
-    word |= SGN_MASK;
-}
+//! Defines a total ordering on variables.
+/*! \relates Variable */
+bool less(Variable v, Variable w);
 
-inline void
-float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) {
-  word = mpz_get_ui(mantissa) & ((1UL << MANTISSA_BITS) - 1);
-  if (negative)
-    word |= SGN_MASK;
-  word |= static_cast<uint32_t>(exponent + EXPONENT_BIAS) << MANTISSA_BITS;
-}
+/*! \relates Variable */
+void
+swap(Variable& x, Variable& y);
 
-inline int
-float_intel_double_extended::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  uint32_t a = msp & MSP_NEG_INF;
-  if (a == MSP_NEG_INF)
-    return -1;
-  if (a == MSP_POS_INF)
-    return 1;
-  return 0;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline int
-float_intel_double_extended::is_nan() const {
-  return (msp & MSP_POS_INF) == MSP_POS_INF
-    && lsp != LSP_INF;
-}
+//! A dimension of the vector space.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Variable represents a dimension of the space,
+  that is one of the Cartesian axes.
+  Variables are used as basic blocks in order to build
+  more complex linear expressions.
+  Each variable is identified by a non-negative integer,
+  representing the index of the corresponding Cartesian axis
+  (the first axis has index 0).
+  The space dimension of a variable is the dimension of the vector space
+  made by all the Cartesian axes having an index less than or equal to
+  that of the considered variable; thus, if a variable has index \f$i\f$,
+  its space dimension is \f$i+1\f$.
 
-inline int
-float_intel_double_extended::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  uint32_t a = msp & MSP_NEG_INF;
-  if (a == MSP_NEG_ZERO)
-    return -1;
-  if (a == MSP_POS_ZERO)
-    return 1;
-  return 0;
-}
+  Note that the ``meaning'' of an object of the class Variable
+  is completely specified by the integer index provided to its
+  constructor:
+  be careful not to be mislead by C++ language variable names.
+  For instance, in the following example the linear expressions
+  <CODE>e1</CODE> and <CODE>e2</CODE> are equivalent,
+  since the two variables <CODE>x</CODE> and <CODE>z</CODE> denote
+  the same Cartesian axis.
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(0);
+  Linear_Expression e1 = x + y;
+  Linear_Expression e2 = y + z;
+  \endcode
 
-inline void
-float_intel_double_extended::negate() {
-  msp ^= MSP_SGN_MASK;
-}
+*/
+class Parma_Polyhedra_Library::Variable {
 
-inline int
-float_intel_double_extended::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
+public:
+  //! Builds the variable corresponding to the Cartesian axis of index \p i.
+  /*!
+    \exception std::length_error
+    Thrown if <CODE>i+1</CODE> exceeds
+    <CODE>Variable::max_space_dimension()</CODE>.
+  */
+  explicit Variable(dimension_type i);
 
-inline void
-float_intel_double_extended::dec() {
-  if ((lsp & LSP_DMAX) == 0) {
-    --msp;
-    lsp = (msp & MSP_NEG_INF) == 0 ? LSP_DMAX : LSP_NMAX;
-  }
-  else
-    --lsp;
-}
+  //! Returns the index of the Cartesian axis associated to the variable.
+  dimension_type id() const;
 
-inline void
-float_intel_double_extended::inc() {
-  if ((lsp & LSP_DMAX) == LSP_DMAX) {
-    ++msp;
-    lsp = LSP_DMAX + 1;
-  }
-  else
-    ++lsp;
-}
+  //! Returns the maximum space dimension a Variable can handle.
+  static dimension_type max_space_dimension();
 
-inline void
-float_intel_double_extended::set_max(bool negative) {
-  msp = 0x00007ffe;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  /*!
+    The returned value is <CODE>id()+1</CODE>.
+  */
+  dimension_type space_dimension() const;
 
-inline void
-float_intel_double_extended::build(bool negative,
-				   mpz_t mantissa, int exponent) {
-#if ULONG_MAX == 0xffffffffUL
-  mpz_export(&lsp, 0, -1, 8, 0, 0, mantissa);
-#else
-  lsp = mpz_get_ui(mantissa);
-#endif
-  msp = (negative ? MSP_SGN_MASK : 0);
-  msp |= static_cast<uint32_t>(exponent + EXPONENT_BIAS);
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-inline int
-float_ieee754_quad::is_inf() const {
-  if (lsp != LSP_INF)
-    return 0;
-  if (msp == MSP_NEG_INF)
-    return -1;
-  if (msp == MSP_POS_INF)
-    return 1;
-  return 0;
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-inline int
-float_ieee754_quad::is_nan() const {
-  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
-    && lsp != LSP_INF;
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-inline int
-float_ieee754_quad::is_zero() const {
-  if (lsp != LSP_ZERO)
-    return 0;
-  if (msp == MSP_NEG_ZERO)
-    return -1;
-  if (msp == MSP_POS_ZERO)
-    return 1;
-  return 0;
-}
+  //! Type of output functions.
+  typedef void output_function_type(std::ostream& s, const Variable v);
 
-inline void
-float_ieee754_quad::negate() {
-  msp ^= MSP_SGN_MASK;
-}
+  //! Sets the output function to be used for printing Variable objects.
+  static void set_output_function(output_function_type* p);
 
-inline int
-float_ieee754_quad::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
+  //! Returns the pointer to the current output function.
+  static output_function_type* get_output_function();
 
-inline void
-float_ieee754_quad::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
-  }
-  else
-    --lsp;
-}
+  //! Binary predicate defining the total ordering on variables.
+  /*! \ingroup PPL_CXX_interface */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(Variable x, Variable y) const;
+  };
 
-inline void
-float_ieee754_quad::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
-}
+  //! Swaps *this and v.
+  void m_swap(Variable& v);
 
-inline void
-float_ieee754_quad::set_max(bool negative) {
-  msp = 0x7ffeffffffffffffULL;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
+private:
+  //! The index of the Cartesian axis.
+  dimension_type varid;
 
-inline void
-float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) {
-  uint64_t parts[2];
-  mpz_export(parts, 0, -1, 8, 0, 0, mantissa);
-  lsp = parts[0];
-  msp = parts[1];
-  msp &= ((1ULL << (MANTISSA_BITS - 64)) - 1);
-  if (negative)
-    msp |= MSP_SGN_MASK;
-  msp |= static_cast<uint64_t>(exponent + EXPONENT_BIAS)
-    << (MANTISSA_BITS - 64);
-}
+  // The initialization class needs to set the default output function.
+  friend class Init;
 
-#if PPL_SUPPORTED_FLOAT
-inline
-Float<float>::Float() {
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Variable v);
 
-inline
-Float<float>::Float(float v) {
-  u.number = v;
-}
+  //! Pointer to the current output function.
+  static output_function_type* current_output_function;
 
-inline float
-Float<float>::value() {
-  return u.number;
-}
-#endif
+  //! The default output function.
+  static void default_output_function(std::ostream& s, const Variable v);
+};
 
-#if PPL_SUPPORTED_DOUBLE
-inline
-Float<double>::Float() {
-}
+/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 1. */
+/* Variable class implementation: inline functions.
+*/
 
-inline
-Float<double>::Float(double v) {
-  u.number = v;
-}
 
-inline double
-Float<double>::value() {
-  return u.number;
-}
-#endif
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 1. */
+/* Declarations of global objects.
+*/
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-inline
-Float<long double>::Float() {
-}
 
-inline
-Float<long double>::Float(long double v) {
-  u.number = v;
-}
+/* Automatically generated from PPL source file ../src/C_Integer.hh line 1. */
+/* C integers info.
+*/
 
-inline long double
-Float<long double>::value() {
-  return u.number;
-}
-#endif
 
+/* Automatically generated from PPL source file ../src/C_Integer.hh line 28. */
+#include <climits>
 
-} // namespace Parma_Polyhedra_Library
+// C99 defines LLONG_MIN, LLONG_MAX and ULLONG_MAX, but this part of
+// C99 is not yet included into the C++ standard.
+// GCC defines LONG_LONG_MIN, LONG_LONG_MAX and ULONG_LONG_MAX.
+// Some compilers (such as Comeau C++ up to and including version 4.3.3)
+// define nothing.  In this last case we make a reasonable guess.
+#ifndef LLONG_MIN
+#if defined(LONG_LONG_MIN)
+#define LLONG_MIN LONG_LONG_MIN
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define LLONG_MIN 0x8000000000000000LL
+#endif
+#endif
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 366. */
+#ifndef LLONG_MAX
+#if defined(LONG_LONG_MAX)
+#define LLONG_MAX LONG_LONG_MAX
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define LLONG_MAX 0x7fffffffffffffffLL
+#endif
+#endif
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 34. */
+#ifndef ULLONG_MAX
+#if defined(ULONG_LONG_MAX)
+#define ULLONG_MAX ULONG_LONG_MAX
+#elif PPL_SIZEOF_LONG_LONG == 8
+#define ULLONG_MAX 0xffffffffffffffffULL
+#endif
+#endif
 
 namespace Parma_Polyhedra_Library {
 
-namespace Checked {
+template <typename T>
+struct C_Integer : public False { };
 
+template <>
+struct C_Integer<char> : public True {
+  enum const_bool_value {
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+    is_signed = true
+#else
+    is_signed = false
+#endif
+  };
+  typedef void smaller_type;
+  typedef void smaller_signed_type;
+  typedef void smaller_unsigned_type;
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+  typedef unsigned char other_type;
+#else
+  typedef signed char other_type;
+#endif
+  static const char min = static_cast<char>(CHAR_MIN);
+  static const char max = static_cast<char>(CHAR_MAX);
+};
 
-// It is a pity that function partial specialization is not permitted
-// by C++.  To (partly) overcome this limitation, we use class
-// encapsulated functions and partial specialization of containing
-// classes.
+template <>
+struct C_Integer<signed char> : public True {
+  enum const_bool_value { is_signed = true };
+  typedef void smaller_type;
+  typedef void smaller_signed_type;
+  typedef void smaller_unsigned_type;
+  typedef unsigned char other_type;
+  static const signed char min = SCHAR_MIN;
+  static const signed char max = SCHAR_MAX;
+};
 
-#define PPL_FUNCTION_CLASS(name) name ## _function_struct
+template <>
+struct C_Integer<signed short> : public True {
+  enum const_bool_value { is_signed = true };
+  typedef signed char smaller_type;
+  typedef signed char smaller_signed_type;
+  typedef unsigned char smaller_unsigned_type;
+  typedef unsigned short other_type;
+  static const signed short min = SHRT_MIN;
+  static const signed short max = SHRT_MAX;
+};
 
-#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)            \
-  template <typename Policy, typename type>                         \
-  struct PPL_FUNCTION_CLASS(name);                                  \
-  template <typename Policy, typename type>                         \
-  inline ret_type name(qual type& arg) {                            \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg);   \
-}
+template <>
+struct C_Integer<signed int> : public True {
+  enum const_bool_value { is_signed = true };
+  typedef signed short smaller_type;
+  typedef signed short smaller_signed_type;
+  typedef unsigned short smaller_unsigned_type;
+  typedef unsigned int other_type;
+  static const signed int min = INT_MIN;
+  static const signed int max = INT_MAX;
+};
 
-#define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)        \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1) {                     \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1);   \
-  }
+template <>
+struct C_Integer<signed long> : public True {
+  enum const_bool_value { is_signed = true };
+  typedef signed int smaller_type;
+  typedef signed int smaller_signed_type;
+  typedef unsigned int smaller_unsigned_type;
+  typedef unsigned long other_type;
+  static const signed long min = LONG_MIN;
+  static const signed long max = LONG_MAX;
+};
 
-#define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg, after1 a1, after2 a2) {          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
-  }
+template <>
+struct C_Integer<signed long long> : public True {
+  enum const_bool_value { is_signed = true };
+  typedef signed long smaller_type;
+  typedef signed long smaller_signed_type;
+  typedef unsigned long smaller_unsigned_type;
+  typedef unsigned long long other_type;
+  static const signed long long min = LLONG_MIN;
+  static const signed long long max = LLONG_MAX;
+};
 
-#define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type,                \
-                             after1, after2, after3)                    \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(qual type& arg,                                  \
-                       after1 a1, after2 a2, after3 a3) {               \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg,        \
-                                                            a1, a2, a3); \
-  }
+template <>
+struct C_Integer<unsigned char> : public True {
+  enum const_bool_value { is_signed = false };
+  typedef void smaller_type;
+  typedef void smaller_signed_type;
+  typedef void smaller_unsigned_type;
+  typedef signed char other_type;
+  static const unsigned char min = 0U;
+  static const unsigned char max = static_cast<unsigned char>(~0U);
+};
 
-#define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg, after1 a1) {         \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
-  }
+template <>
+struct C_Integer<unsigned short> : public True {
+  enum const_bool_value { is_signed = false };
+  typedef unsigned char smaller_type;
+  typedef signed char smaller_signed_type;
+  typedef unsigned char smaller_unsigned_type;
+  typedef signed short other_type;
+  static const unsigned short min = 0U;
+  static const unsigned short max = static_cast<unsigned short>(~0U);
+};
 
-#define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type,       \
-                             after1, after2)                            \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, qual type& arg,                      \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, arg,    \
-                                                            a1, a2);    \
-  }
+template <>
+struct C_Integer<unsigned int> : public True {
+  enum const_bool_value { is_signed = false };
+  typedef unsigned short smaller_type;
+  typedef signed short smaller_signed_type;
+  typedef unsigned short smaller_unsigned_type;
+  typedef signed int other_type;
+  static const unsigned int min = 0U;
+  static const unsigned int max = ~0U;
+};
 
-#define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, \
-                             after1, after2)                            \
-  template <typename Policy, typename type>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy, typename type>                             \
-  inline ret_type name(before1 b1, before2 b2, qual type& arg,          \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, \
-                                                            a1, a2);    \
-  }
+template <>
+struct C_Integer<unsigned long> : public True {
+  enum const_bool_value { is_signed = false };
+  typedef unsigned int smaller_type;
+  typedef signed int smaller_signed_type;
+  typedef unsigned int smaller_unsigned_type;
+  typedef signed long other_type;
+  static const unsigned long min = 0UL;
+  static const unsigned long max = ~0UL;
+};
 
-#define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) {          \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2);                              \
-  }
+template <>
+struct C_Integer<unsigned long long> : public True {
+  enum const_bool_value { is_signed = false };
+  typedef unsigned long smaller_type;
+  typedef signed long smaller_signed_type;
+  typedef unsigned long smaller_unsigned_type;
+  typedef signed long long other_type;
+  static const unsigned long long min = 0ULL;
+  static const unsigned long long max = ~0ULL;
+};
 
-#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,              \
-                             qual2, type2, after1)                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1) {                                     \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1);                          \
-  }
+} // namespace Parma_Polyhedra_Library
 
-#define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, \
-                             after1, after2)                            \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2,                         \
-            typename type1, typename type2>                             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       after1 a1, after2 a2) {                          \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
-      type1, type2>::function(arg1, arg2, a1, a2);                      \
-  }
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 32. */
+#include <exception>
+#include <gmpxx.h>
 
-#define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1,              \
-                             qual2, type2, qual3, type3, after1)        \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename type1, typename type2, typename type3>             \
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename type1, typename type2, typename type3>             \
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,            \
-                       qual3 type3& arg3, after1 a1) {                  \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      type1, type2, type3>::function(arg1, arg2, arg3, a1);             \
-  }
 
-#define PPL_DECLARE_FUN5_0_1(name, ret_type,				\
-                             qual1, type1, qual2, type2, qual3, type3,	\
-                             qual4, type4, qual5, type5,                \
-                             after1)					\
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename Policy4,typename Policy5,				\
-            typename type1, typename type2, typename type3,		\
-            typename type4, typename type5>				\
-  struct PPL_FUNCTION_CLASS(name);                                      \
-  template <typename Policy1, typename Policy2, typename Policy3,       \
-            typename Policy4,typename Policy5,				\
-            typename type1, typename type2, typename type3,		\
-            typename type4, typename type5>				\
-  inline ret_type name(qual1 type1& arg1, qual2 type2& arg2,		\
-                       qual3 type3& arg3, qual4 type4& arg4,		\
-                       qual5 type5& arg5,	after1 a1) {            \
-    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
-      Policy4, Policy5, type1, type2, type3, type4, type5>              \
-      ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
-  }
+namespace Parma_Polyhedra_Library {
 
-#define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)       \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg) {                   \
-      return func<Policy>(arg);                                         \
-    }                                                                   \
-  };
+//! Returns a value that does not designate a valid dimension.
+dimension_type
+not_a_dimension();
 
-#define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg, after1 a1) {        \
-      return func<Policy>(arg, a1);                                     \
-    }                                                                   \
-  };
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the hash code for space dimension \p dim.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int32_t
+hash_code_from_dimension(dimension_type dim);
 
-#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type,       \
-                                after1, after2)                         \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(arg, a1, a2);                                 \
-    }                                                                   \
-  };
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Make sure swap() is specialized when needed.
 
-#define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type,       \
-                                after1, after2, after3)                 \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(qual type& arg,                     \
-                                    after1 a1, after2 a2, after3 a3) {  \
-      return func<Policy>(arg, a1, a2, a3);                             \
-    }                                                                   \
-  };
+  This will cause a compile-time error whenever a specialization for \p T
+  is beneficial but missing.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<Slow_Copy<T>::value, void>::type
+swap(T&, T&) {
+  PPL_COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
+}
 
-#define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1,          \
-                                qual, type, after1)                     \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1) {                        \
-      return func<Policy>(b1, arg, a1);                                 \
-    }                                                                   \
-  };
+/*! \brief
+  Declare a local variable named \p id, of type Coefficient, and containing
+  an unknown initial value.
 
-#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1,          \
-                                qual, type, after1, after2)             \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, qual type& arg,         \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, arg, a1, a2);                             \
-    }                                                                   \
-  };
+  Use of this macro to declare temporaries of type Coefficient results
+  in decreased memory allocation overhead and in better locality.
+*/
+#define PPL_DIRTY_TEMP_COEFFICIENT(id) \
+PPL_DIRTY_TEMP(Parma_Polyhedra_Library::Coefficient, id)
 
-#define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, \
-                                qual, type, after1, after2)             \
-  template <typename Policy>                                            \
-  struct PPL_FUNCTION_CLASS(name)<Policy, type> {                       \
-    static inline ret_type function(before1 b1, before2 b2,             \
-                                    qual type& arg,                     \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy>(b1, b2, arg, a1, a2);                         \
-    }                                                                   \
-  };
-
-#define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1,     \
-                                qual2, type2)                           \
-  template <typename Policy1, typename Policy2>				\
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2) {                \
-      return func<Policy1, Policy2>(arg1, arg2);                        \
-    }                                                                   \
-  };
-
-#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, after1)                   \
-  template <typename Policy1, typename Policy2>                         \
-  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {     \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2, after1 a1) {     \
-      return func<Policy1, Policy2>(arg1, arg2, a1);                    \
-    }                                                                   \
-  };
-
-#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, after1, after2)           \
-  template <typename Policy1, typename Policy2>                         \
- struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> {      \
-    static inline ret_type function(qual1 type1& arg1,                  \
-                                    qual2 type2 &arg2,                  \
-                                    after1 a1, after2 a2) {             \
-      return func<Policy1, Policy2>(arg1, arg2, a1, a2);                \
-    }                                                                   \
-  };
-
-#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1,     \
-                                qual2, type2, qual3, type3, after1)     \
-  template <typename Policy1, typename Policy2, typename Policy3>       \
-  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3,           \
-                                   type1, type2, type3> {               \
-    static inline Result function(qual1 type1& arg1, qual2 type2 &arg2, \
-                                  qual3 type3 &arg3, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3>(arg1, arg2, arg3, a1);     \
-    }                                                                   \
-  };
-
-#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type,                   \
-                                qual1, type1, qual2, type2,             \
-                                qual3, type3,                           \
-                                qual4, type4, qual5, type5, after1)     \
-  template <typename Policy1, typename Policy2, typename Policy3,	\
-	    typename Policy4, typename Policy5>				\
-  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3, Policy4,  \
-                                   Policy5,                             \
-                                   type1, type2, type3, type4, type5> {	\
-    static inline Result                                                \
-      function(qual1 type1& arg1, qual2 type2 &arg2, qual3 type3 &arg3,	\
-               qual4 type4 &arg4, qual5 type5 &arg5, after1 a1) {       \
-      return func<Policy1, Policy2, Policy3, Policy4, Policy5>(arg1,    \
-                                                               arg2,    \
-                                                               arg3,    \
-                                                               arg4,    \
-                                                               arg5,    \
-                                                               a1);     \
-    }									\
-};
-
-// The `nonconst' macro helps readability of the sequel.
-#ifdef nonconst
-#define PPL_SAVED_nonconst nonconst
-#undef nonconst
-#endif
-#define nonconst
-
-#define PPL_SPECIALIZE_COPY(func, Type)                                 \
-  PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
-#define PPL_SPECIALIZE_SGN(func, From)                          \
-  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
-#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
-  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
-#define PPL_SPECIALIZE_CLASSIFY(func, Type)                             \
-  PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
-#define PPL_SPECIALIZE_IS_NAN(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_MINF(func, Type)                      \
-  PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_PINF(func, Type)                      \
-  PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
-#define PPL_SPECIALIZE_IS_INT(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
-#define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)                       \
-  PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result,                 \
-                          nonconst, Type, Result_Class, Rounding_Dir)
-#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
-  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
-                          Type, Result_Class, Rounding_Dir)
-#define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
-  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ASSIGN(func, To, From)                           \
-  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,           \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_FLOOR(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,            \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_CEIL(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_TRUNC(func, To, From)                            \
-  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,            \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_NEG(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,              \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ABS(func, To, From)                              \
-  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,              \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_SQRT(func, To, From)                             \
-  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,             \
-                          const, From, Rounding_Dir)
-#define PPL_SPECIALIZE_ADD(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_SUB(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_MUL(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_DIV(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_REM(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_IDIV(func, To, From1, From2)                     \
-  PPL_SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To,             \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_ADD_2EXP(func, To, From)                         \
-  PPL_SPECIALIZE_FUN2_0_2(add_2exp, func, Result, nonconst, To,         \
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_SUB_2EXP(func, To, From)                         \
-  PPL_SPECIALIZE_FUN2_0_2(sub_2exp, func, Result, nonconst, To,         \
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_MUL_2EXP(func, To, From)                         \
-  PPL_SPECIALIZE_FUN2_0_2(mul_2exp, func, Result, nonconst, To,         \
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_DIV_2EXP(func, To, From)                         \
-  PPL_SPECIALIZE_FUN2_0_2(div_2exp, func, Result, nonconst, To,         \
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_SMOD_2EXP(func, To, From)			\
-  PPL_SPECIALIZE_FUN2_0_2(smod_2exp, func, Result, nonconst, To,	\
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_UMOD_2EXP(func, To, From)			\
-  PPL_SPECIALIZE_FUN2_0_2(umod_2exp, func, Result, nonconst, To,	\
-                          const, From, unsigned int, Rounding_Dir)
-#define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)                  \
-  PPL_SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To,          \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_SUB_MUL(func, To, From1, From2)                  \
-  PPL_SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To,          \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_GCD(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)        \
-  PPL_SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
-                          nonconst, To2, nonconst, To3,                 \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_LCM(func, To, From1, From2)                      \
-  PPL_SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To,              \
-                          const, From1, const, From2, Rounding_Dir)
-#define PPL_SPECIALIZE_INPUT(func, Type)                                \
-  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,          \
-                          std::istream&, Rounding_Dir)
-#define PPL_SPECIALIZE_OUTPUT(func, Type)                               \
-  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,          \
-                          const, Type,                                  \
-                          const Numeric_Format&, Rounding_Dir)
-
-
-PPL_DECLARE_FUN2_0_0(copy,
-                     void, nonconst, Type1, const, Type2)
-PPL_DECLARE_FUN1_0_0(sgn,
-                     Result_Relation, const, From)
-PPL_DECLARE_FUN2_0_0(cmp,
-                     Result_Relation, const, Type1, const, Type2)
-PPL_DECLARE_FUN1_0_3(classify,
-                     Result, const, Type, bool, bool, bool)
-PPL_DECLARE_FUN1_0_0(is_nan,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_minf,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_pinf,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_0(is_int,
-                     bool, const, Type)
-PPL_DECLARE_FUN1_0_2(assign_special,
-                     Result, nonconst, Type, Result_Class, Rounding_Dir)
-PPL_DECLARE_FUN1_0_2(construct_special,
-                     Result, nonconst, Type, Result_Class, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(construct,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(assign,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(floor,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(ceil,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(trunc,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(neg,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(abs,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN2_0_1(sqrt,
-                     Result, nonconst, To, const, From, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(add,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(sub,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(div,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(rem,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(idiv,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(add_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(sub_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(mul_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(div_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(smod_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN2_0_2(umod_2exp,
-                     Result, nonconst, To,
-                     const, From, unsigned int, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(add_mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(sub_mul,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(gcd,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN5_0_1(gcdext,
-                     Result, nonconst, To1, nonconst, To2, nonconst, To3,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN3_0_1(lcm,
-                     Result, nonconst, To,
-                     const, From1, const, From2, Rounding_Dir)
-PPL_DECLARE_FUN1_0_2(input,
-                     Result, nonconst, Type, std::istream&, Rounding_Dir)
-PPL_DECLARE_FUN1_1_2(output,
-                     Result, std::ostream&, const, Type,
-                     const Numeric_Format&, Rounding_Dir)
-
-#undef PPL_DECLARE_FUN1_0_0
-#undef PPL_DECLARE_FUN1_0_1
-#undef PPL_DECLARE_FUN1_0_2
-#undef PPL_DECLARE_FUN1_0_3
-#undef PPL_DECLARE_FUN1_1_1
-#undef PPL_DECLARE_FUN1_1_2
-#undef PPL_DECLARE_FUN1_2_2
-#undef PPL_DECLARE_FUN2_0_0
-#undef PPL_DECLARE_FUN2_0_1
-#undef PPL_DECLARE_FUN2_0_2
-#undef PPL_DECLARE_FUN3_0_1
-#undef PPL_DECLARE_FUN5_0_1
-
-template <typename Policy, typename To>
-Result round(To& to, Result r, Rounding_Dir dir);
-
-Result input_mpq(mpq_class& to, std::istream& is);
-
-} // namespace Checked
-
-struct Minus_Infinity {
-  static const Result_Class vclass = VC_MINUS_INFINITY;
-};
-struct Plus_Infinity {
-  static const Result_Class vclass = VC_PLUS_INFINITY;
-};
-struct Not_A_Number {
-  static const Result_Class vclass = VC_NAN;
-};
-
-template <typename T>
-struct Is_Special : public False { };
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Speculative allocation function.
+/*!
+  \return
+  The actual capacity to be allocated.
 
-template <>
-struct Is_Special<Minus_Infinity> : public True {};
+  \param requested_size
+  The number of elements we need.
 
-template <>
-struct Is_Special<Plus_Infinity> : public True {};
+  \param maximum_size
+  The maximum number of elements to be allocated. It is assumed
+  to be no less than \p requested_size.
 
-template <>
-struct Is_Special<Not_A_Number> : public True {};
+  Computes a capacity given a requested size.
+  Allows for speculative allocation aimed at reducing the number of
+  reallocations enough to guarantee amortized constant insertion time
+  for our vector-like data structures. In all cases, the speculative
+  allocation will not exceed \p maximum_size.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+dimension_type
+compute_capacity(dimension_type requested_size,
+                 dimension_type maximum_size);
 
-extern Minus_Infinity MINUS_INFINITY;
-extern Plus_Infinity PLUS_INFINITY;
-extern Not_A_Number NOT_A_NUMBER;
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! Traits class for the deterministic timeout mechanism.
+/*! \ingroup PPL_CXX_interface
+  This abstract base class should be instantiated by those users
+  willing to provide a polynomial upper bound to the time spent
+  by any invocation of a library operator.
+*/
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Checked_Number_Transparent_Policy {
-  //! Do not check for overflowed result.
-  const_bool_nodef(check_overflow, false);
-
-  //! Do not check for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, false);
-
-  //! Do not check for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, false);
-
-  //! Do not check for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, false);
-
-  //! Do not check for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, false);
+struct Weightwatch_Traits {
+  //! The type used to specify thresholds for computational weight.
+  typedef unsigned long long Threshold;
 
-  //! Do not check for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, false);
+  //! The type used to specify increments of computational weight.
+  typedef unsigned long long Delta;
 
-  //! Do not check for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, false);
+  //! Returns the current computational weight.
+  static const Threshold& get();
 
-  //! Do not check for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, false);
+  //! Compares the two weights \p a and \p b.
+  static bool less_than(const Threshold& a, const Threshold& b);
 
-  //! Handle not-a-number special value if \p T has it.
-  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+  //! Computes a \c Delta value from \p unscaled and \p scale.
+  /*!
+    \return
+    \f$u \cdot 2^s\f$, where \f$u\f$ is the value of \p unscaled and
+    \f$s\f$ is the value of \p scale.
 
-  //! Handle infinity special values if \p T have them.
-  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+    \param unscaled
+    The value of delta before scaling.
 
-  /*! \brief
-    The checked number can always be safely converted to the
-    underlying type \p T and vice-versa.
+    \param scale
+    The scaling to be applied to \p unscaled.
   */
-  const_bool_nodef(convertible, true);
-
-  //! Do not honor requests to check for FPU inexact results.
-  const_bool_nodef(fpu_check_inexact, false);
+  static Delta compute_delta(unsigned long unscaled, unsigned scale);
 
-  //! Do not make extra checks to detect FPU NaN results.
-  const_bool_nodef(fpu_check_nan_result, false);
+  //! Sets \p threshold to be \p delta units bigger than the current weight.
+  static void from_delta(Threshold& threshold, const Delta& delta);
 
-  /*! \brief
-    For constructors, by default use the same rounding used by
-    underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+  //! The current computational weight.
+  static Threshold weight;
 
   /*! \brief
-    For overloaded operators (operator+(), operator-(), ...), by
-    default use the same rounding used by the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+    A pointer to the function that has to be called when checking
+    the reaching of thresholds.
 
-  /*! \brief
-    For input functions, by default use the same rounding used by
-    the underlying type.
+    The pointer can be null if no thresholds are set.
   */
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+  static void (*check_function)(void);
+};
 
-  /*! \brief
-    For output functions, by default use the same rounding used by
-    the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
 
-  /*! \brief
-    For all other functions, by default use the same rounding used by
-    the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+#ifndef NDEBUG
 
-  /*! \brief
-    Handles \p r: called by all constructors, operators and functions that
-    do not return a Result value.
-  */
-  static void handle_result(Result r);
+class In_Assert {
+private:
+  //! Non zero during evaluation of PPL_ASSERT expression.
+  static unsigned int count;
+public:
+  In_Assert() {
+    ++count;
+  }
+  ~In_Assert() {
+    --count;
+  }
+  static bool asserting() {
+    return count != 0;
+  }
 };
 
-} // namespace Parma_Polyhedra_Library
+#endif
 
-#define CHECK_P(cond, check) ((cond) ? (check) : (assert(!(check)), false))
 
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 1. */
-/* Abstract checked arithmetic functions: fall-backs.
+//! User objects the PPL can throw.
+/*! \ingroup PPL_CXX_interface
+  This abstract base class should be instantiated by those users
+  willing to provide a polynomial upper bound to the time spent
+  by any invocation of a library operator.
 */
+class Throwable {
+public:
+  //! Throws the user defined exception object.
+  virtual void throw_me() const = 0;
 
-
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 31. */
+  //! Virtual destructor.
+  virtual ~Throwable();
+};
 
 /*! \brief
-  Performs the test <CODE>a < b</CODE> avoiding the warning about the
-  comparison being always false due to limited range of data type.
-  FIXME: we don't have found a working solution. gcc option
-  -Wno-type-limits suppress the warning
+  A pointer to an exception object.
+
+  \ingroup PPL_CXX_interface
+  This pointer, which is initialized to zero, is repeatedly checked
+  along any super-linear (i.e., computationally expensive) computation
+  path in the library.
+  When it is found nonzero the exception it points to is thrown.
+  In other words, making this pointer point to an exception (and
+  leaving it in this state) ensures that the library will return
+  control to the client application, possibly by throwing the given
+  exception, within a time that is a linear function of the size
+  of the representation of the biggest object (powerset of polyhedra,
+  polyhedron, system of constraints or generators) on which the library
+  is operating upon.
+
+  \note
+  The only sensible way to assign to this pointer is from within a
+  signal handler or from a parallel thread.  For this reason, the
+  library, apart from ensuring that the pointer is initially set to zero,
+  never assigns to it.  In particular, it does not zero it again when
+  the exception is thrown: it is the client's responsibility to do so.
 */
-#define PPL_LT_SILENT(a, b) ((a) < (b))
-#define PPL_GT_SILENT(a, b) ((a) > (b))
+extern const Throwable* volatile abandon_expensive_computations;
 
-namespace Parma_Polyhedra_Library {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If the pointer abandon_expensive_computations is found
+  to be nonzero, the exception it points to is thrown.
 
-namespace Checked {
+  \relates Throwable
+*/
+#endif
+void
+maybe_abandon();
 
-template <typename T1, typename T2>
-struct Safe_Conversion : public False {
-};
-template <typename T>
-struct Safe_Conversion<T, T> : public True {
+//! A tag class.
+/*! \ingroup PPL_CXX_interface
+  Tag class to distinguish those constructors that recycle the data
+  structures of their arguments, instead of taking a copy.
+*/
+struct Recycle_Input {
 };
 
-#define PPL_SAFE_CONVERSION(To, From)					\
-  template <> struct Safe_Conversion<To, From> : public True { }
+// Turn s into a string: PPL_STR(x + y) => "x + y".
+#define PPL_STR(s) #s
+// Turn the expansion of s into a string: PPL_XSTR(x) => "x expanded".
+#define PPL_XSTR(s) PPL_STR(s)
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed short, char);
-#endif
-PPL_SAFE_CONVERSION(signed short, signed char);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed short, char);
-#endif
-PPL_SAFE_CONVERSION(signed short, unsigned char);
-#endif
+#define PPL_OUTPUT_DECLARATIONS                                         \
+  /*! \brief Writes to \c std::cerr an ASCII representation of \p *this. */ \
+  void ascii_dump() const;                                              \
+  /*! \brief Writes to \p s an ASCII representation of \p *this. */     \
+  void ascii_dump(std::ostream& s) const;                               \
+  /*! \brief Prints \p *this to \c std::cerr using \c operator<<. */	\
+  void print() const;
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed int, char);
-#endif
-PPL_SAFE_CONVERSION(signed int, signed char);
-PPL_SAFE_CONVERSION(signed int, signed short);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed int, char);
-#endif
-PPL_SAFE_CONVERSION(signed int, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
-PPL_SAFE_CONVERSION(signed int, unsigned short);
-#endif
+#define PPL_OUTPUT_DEFINITIONS(class_name)			\
+  void								\
+  Parma_Polyhedra_Library::class_name::ascii_dump() const {	\
+    ascii_dump(std::cerr);					\
+  }								\
+								\
+  void								\
+  Parma_Polyhedra_Library::class_name::print() const {		\
+    using IO_Operators::operator<<;				\
+    std::cerr << *this;						\
+  }
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed long, char);
-#endif
-PPL_SAFE_CONVERSION(signed long, signed char);
-PPL_SAFE_CONVERSION(signed long, signed short);
-PPL_SAFE_CONVERSION(signed long, signed int);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed long, char);
-#endif
-PPL_SAFE_CONVERSION(signed long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
-PPL_SAFE_CONVERSION(signed long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
-PPL_SAFE_CONVERSION(signed long, unsigned int);
-#endif
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed long long, char);
-#endif
-PPL_SAFE_CONVERSION(signed long long, signed char);
-PPL_SAFE_CONVERSION(signed long long, signed short);
-PPL_SAFE_CONVERSION(signed long long, signed int);
-PPL_SAFE_CONVERSION(signed long long, signed long);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG_LONG
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(signed long long, char);
-#endif
-PPL_SAFE_CONVERSION(signed long long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
-PPL_SAFE_CONVERSION(signed long long, unsigned long);
-#endif
+#define PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name)			\
+  void									\
+  Parma_Polyhedra_Library::class_name::ascii_dump() const {		\
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  void									\
+  Parma_Polyhedra_Library::class_name::print() const {			\
+    std::cerr << "No user level output operator defined "		\
+	      << "for class " PPL_XSTR(class_name) << "." << std::endl; \
+  }
 
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(unsigned short, char);
-#endif
-PPL_SAFE_CONVERSION(unsigned short, unsigned char);
+#define PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix)	\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::ascii_dump() const {                             \
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::print() const {                                  \
+    using IO_Operators::operator<<;					\
+    std::cerr << *this;							\
+  }
 
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(unsigned int, char);
-#endif
-PPL_SAFE_CONVERSION(unsigned int, unsigned char);
-PPL_SAFE_CONVERSION(unsigned int, unsigned short);
+#define PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
+						type_symbol2,		\
+						class_prefix)		\
+  template <typename type_symbol1, typename type_symbol2>		\
+  void									\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), PPL_U(type_symbol2)>         \
+  ::ascii_dump() const {                                                \
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol1, typename type_symbol2>		\
+  void									\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), PPL_U(type_symbol2)>         \
+  ::print() const {                                                     \
+    using IO_Operators::operator<<;					\
+    std::cerr << *this;							\
+  }
 
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(unsigned long, char);
-#endif
-PPL_SAFE_CONVERSION(unsigned long, unsigned char);
-PPL_SAFE_CONVERSION(unsigned long, unsigned short);
-PPL_SAFE_CONVERSION(unsigned long, unsigned int);
+#define PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
+						type_symbol2,		\
+						type_symbol3,		\
+						class_prefix)		\
+  template <typename type_symbol1, typename type_symbol2,		\
+            typename type_symbol3>					\
+  void									\
+  PPL_U(class_prefix)<PPL_U(type_symbol1), type_symbol2,                \
+                      PPL_U(type_symbol3)>::ascii_dump()                \
+    const {								\
+    ascii_dump(std::cerr);						\
+  }									\
+                                                                     	\
+    template <typename type_symbol1, typename type_symbol2,		\
+              typename type_symbol3>					\
+    void								\
+    PPL_U(class_prefix)<PPL_U(type_symbol1), type_symbol2,              \
+                        PPL_U(type_symbol3)>::print()                   \
+      const {								\
+      using IO_Operators::operator<<;					\
+      std::cerr << *this;						\
+    }
 
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SAFE_CONVERSION(unsigned long long, char);
-#endif
-PPL_SAFE_CONVERSION(unsigned long long, unsigned char);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned short);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned int);
-PPL_SAFE_CONVERSION(unsigned long long, unsigned long);
+#define PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol, class_prefix) \
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::ascii_dump() const {                                    \
+    ascii_dump(std::cerr);						\
+  }									\
+									\
+  template <typename type_symbol>					\
+  void									\
+  class_prefix::print() const {                                         \
+    std::cerr << "No user level output operator defined "		\
+	      << "for " PPL_XSTR(class_prefix) << "." << std::endl;	\
+  }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if \p c is any kind of space character.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool is_space(char c);
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, char);
-PPL_SAFE_CONVERSION(float, signed char);
-PPL_SAFE_CONVERSION(float, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed short);
-PPL_SAFE_CONVERSION(float, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed int);
-PPL_SAFE_CONVERSION(float, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed long);
-PPL_SAFE_CONVERSION(float, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
-PPL_SAFE_CONVERSION(float, signed long long);
-PPL_SAFE_CONVERSION(float, unsigned long long);
-#endif
+template <typename T, long long v, typename Enable = void>
+struct Fit : public False {
+};
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, char);
-PPL_SAFE_CONVERSION(double, signed char);
-PPL_SAFE_CONVERSION(double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed short);
-PPL_SAFE_CONVERSION(double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed int);
-PPL_SAFE_CONVERSION(double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed long);
-PPL_SAFE_CONVERSION(double, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
-PPL_SAFE_CONVERSION(double, signed long long);
-PPL_SAFE_CONVERSION(double, unsigned long long);
-#endif
-PPL_SAFE_CONVERSION(double, float);
+template <typename T, long long v>
+struct Fit<T, v, typename Enable_If<C_Integer<T>::value>::type>  {
+  enum {
+    value = (v >= static_cast<long long>(C_Integer<T>::min)
+             && v <= static_cast<long long>(C_Integer<T>::max))
+  };
+};
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, char);
-PPL_SAFE_CONVERSION(long double, signed char);
-PPL_SAFE_CONVERSION(long double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed short);
-PPL_SAFE_CONVERSION(long double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed int);
-PPL_SAFE_CONVERSION(long double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed long);
-PPL_SAFE_CONVERSION(long double, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-PPL_SAFE_CONVERSION(long double, signed long long);
-PPL_SAFE_CONVERSION(long double, unsigned long long);
-#endif
-PPL_SAFE_CONVERSION(long double, float);
-PPL_SAFE_CONVERSION(long double, double);
+template <typename T, T v>
+struct TConstant {
+  static const T value = v;
+};
 
-PPL_SAFE_CONVERSION(mpz_class, char);
-PPL_SAFE_CONVERSION(mpz_class, signed char);
-PPL_SAFE_CONVERSION(mpz_class, signed short);
-PPL_SAFE_CONVERSION(mpz_class, signed int);
-PPL_SAFE_CONVERSION(mpz_class, signed long);
-//PPL_SAFE_CONVERSION(mpz_class, signed long long);
-PPL_SAFE_CONVERSION(mpz_class, unsigned char);
-PPL_SAFE_CONVERSION(mpz_class, unsigned short);
-PPL_SAFE_CONVERSION(mpz_class, unsigned int);
-PPL_SAFE_CONVERSION(mpz_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpz_class, unsigned long long);
 
-PPL_SAFE_CONVERSION(mpq_class, char);
-PPL_SAFE_CONVERSION(mpq_class, signed char);
-PPL_SAFE_CONVERSION(mpq_class, signed short);
-PPL_SAFE_CONVERSION(mpq_class, signed int);
-PPL_SAFE_CONVERSION(mpq_class, signed long);
-//PPL_SAFE_CONVERSION(mpq_class, signed long long);
-PPL_SAFE_CONVERSION(mpq_class, unsigned char);
-PPL_SAFE_CONVERSION(mpq_class, unsigned short);
-PPL_SAFE_CONVERSION(mpq_class, unsigned int);
-PPL_SAFE_CONVERSION(mpq_class, unsigned long);
-//PPL_SAFE_CONVERSION(mpq_class, unsigned long long);
-PPL_SAFE_CONVERSION(mpq_class, float);
-PPL_SAFE_CONVERSION(mpq_class, double);
-//PPL_SAFE_CONVERSION(mpq_class, long double);
+template <typename T, T v>
+const T TConstant<T, v>::value;
 
-#undef PPL_SAFE_CONVERSION
+template <typename T, long long v, bool prefer_signed = true,
+	  typename Enable = void>
+struct Constant_ : public TConstant<T, v> {
+};
 
-template <typename Policy, typename Type>
-struct PPL_FUNCTION_CLASS(construct)<Policy, Policy, Type, Type> {
-  static inline Result function(Type& to, const Type& from, Rounding_Dir) {
-    new (&to) Type(from);
-    return V_EQ;
-  }
+template <typename T, long long v, bool prefer_signed>
+struct Constant_<T, v, prefer_signed,
+		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_signed_type, v>::value
+				     && (prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value))>::type>
+  : public Constant_<typename C_Integer<T>::smaller_signed_type, v, prefer_signed> {
 };
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-struct PPL_FUNCTION_CLASS(construct) {
-  static inline Result function(To& to, const From& from, Rounding_Dir dir) {
-    new (&to) To();
-    return assign<To_Policy, From_Policy>(to, from, dir);
-  }
+template <typename T, long long v, bool prefer_signed>
+struct Constant_<T, v, prefer_signed,
+		 typename Enable_If<(Fit<typename C_Integer<T>::smaller_unsigned_type, v>::value
+				     && (!prefer_signed
+                                         || !Fit<typename C_Integer<T>::smaller_signed_type, v>::value))>::type>
+  : public Constant_<typename C_Integer<T>::smaller_unsigned_type, v, prefer_signed> {
 };
 
-template <typename To_Policy, typename To>
-struct PPL_FUNCTION_CLASS(construct_special) {
-  static inline Result function(To& to, Result_Class r, Rounding_Dir dir) {
-    new (&to) To();
-    return assign_special<To_Policy>(to, r, dir);
-  }
+template <long long v, bool prefer_signed = true>
+struct Constant : public Constant_<long long, v, prefer_signed> {
 };
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_exact(To& to, const From& from, Rounding_Dir) {
-  to = from;
-  return V_EQ;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! \name Memory Size Inspection Functions
+//@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline typename Enable_If<Is_Same<To_Policy, From_Policy>::value, void>::type
-copy_generic(Type& to, const Type& from) {
-  to = from;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  For native types, returns the total size in bytes of the memory
+  occupied by the type of the (unused) parameter, i.e., 0.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native<T>::value, memory_size_type>::type
+total_memory_in_bytes(const T&);
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-abs_generic(To& to, const From& from, Rounding_Dir dir) {
-  if (from < 0)
-    return neg<To_Policy, From_Policy>(to, from, dir);
-  else
-    return assign<To_Policy, From_Policy>(to, from, dir);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  For native types, returns the size in bytes of the memory managed
+  by the type of the (unused) parameter, i.e., 0.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native<T>::value, memory_size_type>::type
+external_memory_in_bytes(const T&);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From>
-inline void
-gcd_exact_noabs(To& to, const From& x, const From& y) {
-  To nx = x;
-  To ny = y;
-  To rm;
-  while (ny != 0) {
-    // The following is derived from the assumption that x % y
-    // is always representable. This is true for both native integers
-    // and IEC 559 floating point numbers.
-    rem<To_Policy, From1_Policy, From2_Policy>(rm, nx, ny, ROUND_NOT_NEEDED);
-    nx = ny;
-    ny = rm;
-  }
-  to = nx;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the total size in bytes of the memory occupied by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+total_memory_in_bytes(const mpz_class& x);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
-  return abs<To_Policy, To_Policy>(to, to, dir);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the size in bytes of the memory managed by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+external_memory_in_bytes(const mpz_class& x);
 
-template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
-	  typename From1_Policy, typename From2_Policy,
-	  typename To1, typename To2, typename To3,
-	  typename From1, typename From2>
-inline Result
-gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
-	     Rounding_Dir dir) {
-  // In case this becomes a bottleneck, we may consider using the
-  // Stehle'-Zimmermann algorithm (see R. Crandall and C. Pomerance,
-  // Prime Numbers - A Computational Perspective, Second Edition,
-  // Springer, 2005).
-  if (y == 0) {
-    if (x == 0) {
-      s = 0;
-      t = 1;
-      return V_EQ;
-    }
-    else {
-      if (x < 0)
-	s = -1;
-      else
-	s = 1;
-      t = 0;
-      return abs<To1_Policy, From1_Policy>(to, x, dir);
-    }
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the total size in bytes of the memory occupied by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+total_memory_in_bytes(const mpq_class& x);
 
-  s = 1;
-  t = 0;
-  bool negative_x = x < 0;
-  bool negative_y = y < 0;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the size in bytes of the memory managed by \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+memory_size_type
+external_memory_in_bytes(const mpq_class& x);
 
-  Result r;
-  r = abs<To1_Policy, From1_Policy>(to, x, dir);
-  if (r != V_EQ)
-    return r;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//@} // Memory Size Inspection Functions
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-  From2 ay;
-  r = abs<To1_Policy, From2_Policy>(ay, y, dir);
-  if (r != V_EQ)
-    return r;
 
-  // If PPL_MATCH_GMP_GCDEXT is defined then s is favored when the absolute
-  // values of the given numbers are equal.  For instance if x and y
-  // are both 5 then s will be 1 and t will be 0, instead of the other
-  // way round.  This is to match the behavior of GMP.
-#define PPL_MATCH_GMP_GCDEXT 1
-#ifdef PPL_MATCH_GMP_GCDEXT
-  if (to == ay)
-    goto sign_check;
-#endif
+template <typename T, typename Enable = void>
+struct Has_OK : public False { };
 
-  {
-    To2 v1 = 0;
-    To3 v2 = 1;
-    To1 v3 = static_cast<To1>(ay);
-    while (true) {
-      To1 q = to / v3;
-      // Remainder, next candidate GCD.
-      To1 t3 = to - q*v3;
-      To2 t1 = s - static_cast<To2>(q)*v1;
-      To3 t2 = t - static_cast<To3>(q)*v2;
-      s = v1;
-      t = v2;
-      to = v3;
-      if (t3 == 0)
-	break;
-      v1 = t1;
-      v2 = t2;
-      v3 = t3;
-    }
-  }
+template <typename T>
+struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
+  : public True {
+};
 
-#ifdef PPL_MATCH_GMP_GCDEXT
- sign_check:
-#endif
-  if (negative_x) {
-    r = neg<To2_Policy, To2_Policy>(s, s, dir);
-    if (r != V_EQ)
-      return r;
-  }
-  if (negative_y)
-    return neg<To3_Policy, To3_Policy>(t, t, dir);
-  return V_EQ;
-#undef PPL_MATCH_GMP_GCDEXT
+template <typename T>
+inline typename Enable_If<Has_OK<T>::value, bool>::type
+f_OK(const T& to) {
+  return to.OK();
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
-inline Result
-lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (x == 0 || y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  To nx, ny;
-  Result r;
-  r = abs<From1_Policy, From1_Policy>(nx, x, dir);
-  if (r != V_EQ)
-    return r;
-  r = abs<From2_Policy, From2_Policy>(ny, y, dir);
-  if (r != V_EQ)
-    return r;
-  To gcd;
-  gcd_exact_noabs<To_Policy, From1_Policy, From2_Policy>(gcd, nx, ny);
-  // The following is derived from the assumption that x / gcd(x, y)
-  // is always representable. This is true for both native integers
-  // and IEC 559 floating point numbers.
-  div<To_Policy, From1_Policy, To_Policy>(to, nx, gcd, ROUND_NOT_NEEDED);
-  return mul<To_Policy, To_Policy, From2_Policy>(to, to, ny, dir);
-}
+#define FOK(T) inline bool f_OK(const T&) { return true; }
 
-template <typename Policy, typename Type>
-inline Result_Relation
-sgn_generic(const Type& x) {
-  if (x > 0)
-    return VR_GT;
-  if (x == 0)
-    return VR_EQ;
-  return VR_LT;
-}
+FOK(char)
+FOK(signed char)
+FOK(unsigned char)
+FOK(signed short)
+FOK(unsigned short)
+FOK(signed int)
+FOK(unsigned int)
+FOK(signed long)
+FOK(unsigned long)
+FOK(signed long long)
+FOK(unsigned long long)
+FOK(float)
+FOK(double)
+FOK(long double)
+FOK(mpz_class)
+FOK(mpq_class)
 
-template <typename T1, typename T2, typename Enable = void>
-struct Safe_Int_Comparison : public False {
-};
+void ascii_dump(std::ostream& s, Representation r);
+bool ascii_load(std::istream& s, Representation& r);
 
-template <typename T1, typename T2>
-struct Safe_Int_Comparison<T1, T2, typename Enable_If<(C_Integer<T1>::value && C_Integer<T2>::value)>::type>
-  : public Bool<(C_Integer<T1>::is_signed
-		 ? (C_Integer<T2>::is_signed
-		    || sizeof(T2) < sizeof(T1)
-		    || sizeof(T2) < sizeof(int))
-		 : (!C_Integer<T2>::is_signed
-		    || sizeof(T1) < sizeof(T2)
-		    || sizeof(T1) < sizeof(int)))> {
-};
+dimension_type
+check_space_dimension_overflow(dimension_type dim,
+                               dimension_type max,
+                               const char* domain,
+                               const char* method,
+                               const char* reason);
 
+template <typename RA_Container>
+typename RA_Container::iterator
+nth_iter(RA_Container& cont, dimension_type n);
 
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-lt(const T1& x, const T2& y) {
-  return x < y;
-}
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-le(const T1& x, const T2& y) {
-  return x <= y;
-}
-template <typename T1, typename T2>
-inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
-			   || Safe_Conversion<T1, T2>::value
-			   || Safe_Conversion<T2, T1>::value), bool>::type
-eq(const T1& x, const T2& y) {
-  return x == y;
-}
+template <typename RA_Container>
+typename RA_Container::const_iterator
+nth_iter(const RA_Container& cont, dimension_type n);
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-lt(const S& x, const U& y) {
-  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) < y;
-}
+dimension_type
+least_significant_one_mask(dimension_type i);
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-lt(const U& x, const S& y) {
-  return y >= 0 && x < static_cast<typename C_Integer<S>::other_type>(y);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-le(const S& x, const U& y) {
-  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) <= y;
-}
+// By default, use sparse matrices both for MIP_Problem and PIP_Problem.
+#ifndef PPL_USE_SPARSE_MATRIX
+#define PPL_USE_SPARSE_MATRIX 1
+#endif
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-le(const U& x, const S& y) {
-  return y >= 0 && x <= static_cast<typename C_Integer<S>::other_type>(y);
-}
+#ifndef PPL_PROFILE_ADD_WEIGHT
+#define PPL_PROFILE_ADD_WEIGHT 0
+#endif
 
-template <typename S, typename U>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-eq(const S& x, const U& y) {
-  return x >= 0 && static_cast<typename C_Integer<S>::other_type>(x) == y;
-}
+#if defined(NDEBUG) && PPL_PROFILE_ADD_WEIGHT
+/* Automatically generated from PPL source file ../src/Weight_Profiler.defs.hh line 1. */
+/* Weight_Profiler class declaration.
+*/
 
-template <typename U, typename S>
-inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
-			   && C_Integer<U>::value
-			   && C_Integer<S>::is_signed), bool>::type
-eq(const U& x, const S& y) {
-  return y >= 0 && x == static_cast<typename C_Integer<S>::other_type>(y);
-}
+#ifndef Weight_Profiler_defs_hh
+#define Weight_Profiler_defs_hh 1
 
-template <typename T1, typename T2>
-inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
-			   && !Safe_Conversion<T2, T1>::value
-			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-eq(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, ROUND_CHECK);
-  // FIXME: We can do this also without fpu inexact check using a
-  // conversion back and forth and then testing equality.  We should
-  // code this in checked_float.inlines.hh, probably it's faster also
-  // if fpu supports inexact check.
-  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
-  return r == V_EQ && x == tmp;
-}
+#include <cassert>
 
-template <typename T1, typename T2>
-inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
-			   && !Safe_Conversion<T2, T1>::value
-			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-lt(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, ROUND_UP);
-  if (!result_representable(r))
-    return true;
-  switch (result_relation(r)) {
-  case VR_EQ:
-  case VR_LT:
-  case VR_LE:
-    return x < tmp;
-  default:
-    return false;
+namespace Parma_Polyhedra_Library {
+
+class Weight_Profiler {
+private:
+  enum { DISCARDED = 0, VALID = 1 };
+
+public:
+  Weight_Profiler(const char* file, int line,
+		  Weightwatch_Traits::Delta delta,
+		  double min_threshold = 0, double max_threshold = 0)
+    : file(file), line(line), delta(delta),
+      min_threshold(min_threshold), max_threshold(max_threshold) {
+    for (int i = 0; i < 2; ++i) {
+      stat[i].samples = 0;
+      stat[i].count = 0;
+      stat[i].sum = 0;
+      stat[i].squares_sum = 0;
+      stat[i].min = 0;
+      stat[i].max = 0;
+    }
   }
-}
 
-template <typename T1, typename T2>
-inline typename
-Enable_If<(!Safe_Conversion<T1, T2>::value
-           && !Safe_Conversion<T2, T1>::value
-           && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
-le(const T1& x, const T2& y) {
-  PPL_DIRTY_TEMP(T1, tmp);
-  Result r
-    = assign_r(tmp,
-               y,
-               static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
-  if (!result_representable(r))
-    return true;
-  switch (result_relation(r)) {
-  case VR_EQ:
-    return x <= tmp;
-  case VR_LT:
-    return x < tmp;
-  case VR_LE:
-  case VR_GE:
-  case VR_LGE:
-    // FIXME: See comment above.
-    PPL_ASSERT(0);
-  default:
-    return false;
+  ~Weight_Profiler() {
+    output_stats();
   }
-}
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-lt_p(const Type1& x, const Type2& y) {
-  return lt(x, y);
-}
+  void output_stats();
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-le_p(const Type1& x, const Type2& y) {
-  return le(x, y);
-}
+  static void begin() {
+#ifndef NDEBUG
+    int r = clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+    assert(r >= 0);
+#else
+    clock_gettime(CLOCK_THREAD_CPUTIME_ID, &stamp);
+#endif
+  }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-eq_p(const Type1& x, const Type2& y) {
-  return eq(x, y);
-}
+  void end(unsigned int factor = 1) {
+    Weightwatch_Traits::weight
+      += (Weightwatch_Traits::Threshold) delta * factor;
+    struct timespec start = stamp;
+    begin();
+    double elapsed;
+    if (stamp.tv_nsec >= start.tv_nsec) {
+      elapsed = (stamp.tv_nsec - start.tv_nsec)
+	+ (stamp.tv_sec - start.tv_sec) * 1e9;
+    }
+    else {
+      elapsed = (1000000000 - start.tv_nsec + stamp.tv_nsec )
+	+ (stamp.tv_sec - start.tv_sec - 1) * 1e9;
+    }
+    elapsed -= adjustment;
+    double elapsed1 = elapsed / factor;
+    int i = (elapsed1 < min_threshold
+             || (max_threshold > 0 && elapsed1 > max_threshold))
+      ? DISCARDED
+      : VALID;
+    ++stat[i].samples;
+    if (stat[i].count == 0)
+      stat[i].min = stat[i].max = elapsed1;
+    else if (stat[i].min > elapsed1)
+      stat[i].min = elapsed1;
+    else if (stat[i].max < elapsed1)
+      stat[i].max = elapsed1;
+    stat[i].sum += elapsed;
+    stat[i].squares_sum += elapsed * elapsed1;
+    stat[i].count += factor;
+  }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline Result_Relation
-cmp_generic(const Type1& x, const Type2& y) {
-  if (lt(y, x))
-    return VR_GT;
-  if (lt(x, y))
-    return VR_LT;
-  return VR_EQ;
-}
+  static double tune_adjustment();
 
-template <typename Policy, typename Type>
-inline Result
-assign_nan(Type& to, Result r) {
-  assign_special<Policy>(to, VC_NAN, ROUND_IGNORE);
-  return r;
-}
+ private:
+  //! File of this profiling point.
+  const char *file;
 
-template <typename Policy, typename Type>
-inline Result
-input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  Result r = input_mpq(q, is);
-  Result_Class c = result_class(r);
-  switch (c) {
-  case VC_MINUS_INFINITY:
-  case VC_PLUS_INFINITY:
-    return assign_special<Policy>(to, c, dir);
-  case VC_NAN:
-    return assign_nan<Policy>(to, r);
-  default:
-    break;
-  }
-  PPL_ASSERT(r == V_EQ);
-  return assign<Policy, void>(to, q, dir);
-}
+  //! Line of this profiling point.
+  int line;
 
-} // namespace Checked
+  //! Computational weight to be added at each iteration.
+  Weightwatch_Traits::Delta delta;
 
-} // namespace Parma_Polyhedra_Library
+  //! Times less than this value are discarded.
+  double min_threshold;
 
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 1. */
-/* Specialized "checked" functions for native integer numbers.
-*/
+  //! Times greater than this value are discarded.
+  double max_threshold;
 
+  //! Statistical data for samples (both DISCARDED and VALID)
+  struct {
+    //! Number of collected samples.
+    unsigned int samples;
 
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 28. */
-#include <cerrno>
-#include <cstdlib>
-#include <climits>
-#include <string>
+    /*! \brief
+      Number of collected iterations.
 
-#if !PPL_HAVE_DECL_STRTOLL
-signed long long
-strtoll(const char* nptr, char** endptr, int base);
+      \note
+      Multiple iterations are possibly collected for each sample.
+    */
+    unsigned int count;
+
+    //! Sum of the measured times.
+    double sum;
+
+    //! Sum of the squares of the measured times (to compute variance).
+    double squares_sum;
+
+    //! Minimum measured time.
+    double min;
+
+    //! Maximum measured time.
+    double max;
+  } stat[2];
+
+  //! Holds the time corresponding to last time begin() was called.
+  static struct timespec stamp;
+
+  /*! \brief
+    Time quantity used to adjust the elapsed times so as not to take
+    into account the time spent by the measurement infrastructure.
+  */
+  static double adjustment;
+};
+
+}
+
+#endif // Weight_Profiler_defs_hh
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 506. */
 #endif
 
-#if !PPL_HAVE_DECL_STRTOULL
-unsigned long long
-strtoull(const char* nptr, char** endptr, int base);
+#if defined(NDEBUG)
+#if PPL_PROFILE_ADD_WEIGHT
+#define WEIGHT_BEGIN() Weight_Profiler::begin()
+#define WEIGHT_ADD(delta)                                     \
+  do {                                                        \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);   \
+    wp__.end();                                               \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                                   \
+  do {                                                                  \
+    static Weight_Profiler wp__(__FILE__, __LINE__, delta);             \
+    wp__.end(factor);                                                   \
+  } while (false)
+#else
+#define WEIGHT_BEGIN()                          \
+  do {                                          \
+  } while (false)
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    Weightwatch_Traits::weight += (delta);      \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    Weightwatch_Traits::weight += (delta)*(factor);     \
+  } while (false)
+#endif
+#else
+#define WEIGHT_BEGIN()
+#define WEIGHT_ADD(delta)                       \
+  do {                                          \
+    if (!In_Assert::asserting())                       \
+      Weightwatch_Traits::weight += delta;      \
+  } while (false)
+#define WEIGHT_ADD_MUL(delta, factor)                   \
+  do {                                                  \
+    if (!In_Assert::asserting())                               \
+      Weightwatch_Traits::weight += delta * factor;     \
+  } while (false)
 #endif
 
+/* Automatically generated from PPL source file ../src/globals.inlines.hh line 1. */
+/* Implementation of global objects: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/globals.inlines.hh line 28. */
+#include <limits>
+#include <cassert>
+#include <istream>
+#include <ostream>
+#include <cctype>
+#include <stdexcept>
+
 namespace Parma_Polyhedra_Library {
 
-namespace Checked {
+inline dimension_type
+not_a_dimension() {
+  return std::numeric_limits<dimension_type>::max();
+}
 
-#ifndef PPL_HAVE_INT_FAST16_T
-typedef int16_t int_fast16_t;
-#endif
+inline int32_t
+hash_code_from_dimension(dimension_type dim) {
+  const dimension_type divisor = 1U << (32 - 1);
+  dim = dim % divisor;
+  return static_cast<int32_t>(dim);
+}
 
-#ifndef PPL_HAVE_INT_FAST32_T
-typedef int32_t int_fast32_t;
-#endif
+inline const Weightwatch_Traits::Threshold&
+Weightwatch_Traits::get() {
+  return weight;
+}
 
-#ifndef PPL_HAVE_INT_FAST64_T
-typedef int64_t int_fast64_t;
-#endif
+inline bool
+Weightwatch_Traits::less_than(const Threshold& a, const Threshold& b) {
+  return b - a < (1ULL << (sizeof_to_bits(sizeof(Threshold)) - 1));
+}
 
-#ifndef PPL_HAVE_UINT_FAST16_T
-typedef uint16_t uint_fast16_t;
-#endif
+inline Weightwatch_Traits::Delta
+Weightwatch_Traits::compute_delta(unsigned long unscaled, unsigned scale) {
+  if ((std::numeric_limits<Delta>::max() >> scale) < unscaled)
+    throw std::invalid_argument("PPL::Weightwatch_Traits::"
+                                "compute_delta(u, s):\n"
+                                "values of u and s cause wrap around.");
+  return static_cast<Delta>(unscaled) << scale;
+}
 
-#ifndef PPL_HAVE_UINT_FAST32_T
-typedef uint32_t uint_fast32_t;
-#endif
+inline void
+Weightwatch_Traits::from_delta(Threshold& threshold, const Delta& delta) {
+  threshold = weight + delta;
+}
 
-#ifndef PPL_HAVE_UINT_FAST64_T
-typedef uint64_t uint_fast64_t;
+inline
+Throwable::~Throwable() {
+}
+
+inline void
+maybe_abandon() {
+#ifndef NDEBUG
+  if (In_Assert::asserting())
+    return;
 #endif
+  if (Weightwatch_Traits::check_function != 0)
+    Weightwatch_Traits::check_function();
+  if (const Throwable* p = abandon_expensive_computations)
+    p->throw_me();
+}
 
-template <typename Policy, typename Type>
-struct Extended_Int {
-  static const Type plus_infinity = C_Integer<Type>::max;
-  static const Type minus_infinity = (C_Integer<Type>::min >= 0
-				      ? C_Integer<Type>::max - 1
-				      : C_Integer<Type>::min);
-  static const Type not_a_number = (C_Integer<Type>::min >= 0
-				    ? C_Integer<Type>::max - Policy::has_infinity * 2
-				    : C_Integer<Type>::min + Policy::has_infinity);
-  static const Type min = (C_Integer<Type>::min
-			   + (C_Integer<Type>::min >= 0 ? 0
-			      : (Policy::has_infinity + Policy::has_nan)));
-  static const Type max = (C_Integer<Type>::max
-			   - (C_Integer<Type>::min >= 0
-			      ? (2 * Policy::has_infinity + Policy::has_nan)
-			      : Policy::has_infinity));
-};
+inline dimension_type
+compute_capacity(const dimension_type requested_size,
+		 const dimension_type maximum_size) {
+  assert(requested_size <= maximum_size);
+  // Speculation factor 2.
+  return (requested_size < maximum_size/2)
+    ? (2*(requested_size + 1))
+    : maximum_size;
+  // Speculation factor 1.5.
+  // return (maximum_size - requested_size > requested_size/2)
+  //   ? requested_size + requested_size/2 + 1
+  //   : maximum_size;
+}
 
-template <typename Policy, typename To>
-inline Result
-set_neg_overflow_int(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    to = Extended_Int<Policy, To>::min;
-    return V_LT_INF;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::minus_infinity;
-      return V_GT_MINUS_INFINITY;
-    }
-    return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
-  }
+template <typename T>
+inline typename
+Enable_If<Is_Native<T>::value, memory_size_type>::type
+external_memory_in_bytes(const T&) {
+  return 0;
 }
 
-template <typename Policy, typename To>
-inline Result
-set_pos_overflow_int(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    to = Extended_Int<Policy, To>::max;
-    return V_GT_SUP;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::plus_infinity;
-      return V_LT_PLUS_INFINITY;
-    }
-    return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
-  }
+template <typename T>
+inline typename
+Enable_If<Is_Native<T>::value, memory_size_type>::type
+total_memory_in_bytes(const T&) {
+  return sizeof(T);
 }
 
-template <typename Policy, typename To>
-inline Result
-round_lt_int_no_overflow(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    --to;
-    return V_GT;
-  }
-  return V_LT;
+inline memory_size_type
+external_memory_in_bytes(const mpz_class& x) {
+  return static_cast<memory_size_type>(x.get_mpz_t()[0]._mp_alloc)
+    * PPL_SIZEOF_MP_LIMB_T;
 }
 
-template <typename Policy, typename To>
-inline Result
-round_gt_int_no_overflow(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    ++to;
-    return V_LT;
-  }
-  return V_GT;
+inline memory_size_type
+total_memory_in_bytes(const mpz_class& x) {
+  return sizeof(x) + external_memory_in_bytes(x);
 }
 
-template <typename Policy, typename To>
-inline Result
-round_lt_int(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    if (to == Extended_Int<Policy, To>::min) {
-      if (Policy::has_infinity) {
-	to = Extended_Int<Policy, To>::minus_infinity;
-	return V_GT_MINUS_INFINITY;
-      }
-      return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
-    }
-    else {
-      --to;
-      return V_GT;
-    }
-  }
-  return V_LT;
+inline memory_size_type
+external_memory_in_bytes(const mpq_class& x) {
+  return external_memory_in_bytes(x.get_num())
+    + external_memory_in_bytes(x.get_den());
 }
 
-template <typename Policy, typename To>
-inline Result
-round_gt_int(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    if (to == Extended_Int<Policy, To>::max) {
-      if (Policy::has_infinity) {
-	to = Extended_Int<Policy, To>::plus_infinity;
-	return V_LT_PLUS_INFINITY;
-      }
-      return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
-    }
-    else {
-      ++to;
-      return V_LT;
-    }
-  }
-  return V_GT;
+inline memory_size_type
+total_memory_in_bytes(const mpq_class& x) {
+  return sizeof(x) + external_memory_in_bytes(x);
 }
 
-PPL_SPECIALIZE_COPY(copy_generic, char)
-PPL_SPECIALIZE_COPY(copy_generic, signed char)
-PPL_SPECIALIZE_COPY(copy_generic, signed short)
-PPL_SPECIALIZE_COPY(copy_generic, signed int)
-PPL_SPECIALIZE_COPY(copy_generic, signed long)
-PPL_SPECIALIZE_COPY(copy_generic, signed long long)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned char)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned short)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned int)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned long)
-PPL_SPECIALIZE_COPY(copy_generic, unsigned long long)
+inline void
+ascii_dump(std::ostream& s, Representation r) {
+  if (r == DENSE)
+    s << "DENSE";
+  else
+    s << "SPARSE";
+}
 
-template <typename Policy, typename Type>
-inline Result
-classify_int(const Type v, bool nan, bool inf, bool sign) {
-  if (Policy::has_nan
-      && (nan || sign)
-      && v == Extended_Int<Policy, Type>::not_a_number)
-    return V_NAN;
-  if (!inf && !sign)
-    return V_LGE;
-  if (Policy::has_infinity) {
-    if (v == Extended_Int<Policy, Type>::minus_infinity)
-      return inf ? V_EQ_MINUS_INFINITY : V_LT;
-    if (v == Extended_Int<Policy, Type>::plus_infinity)
-      return inf ? V_EQ_PLUS_INFINITY : V_GT;
+inline bool
+ascii_load(std::istream& is, Representation& r) {
+  std::string s;
+  if (!(is >> s))
+    return false;
+
+  if (s == "DENSE")  {
+    r = DENSE;
+    return true;
   }
-  if (sign) {
-    if (v < 0)
-      return V_LT;
-    if (v > 0)
-      return V_GT;
-    return V_EQ;
+  if (s == "SPARSE")  {
+    r = SPARSE;
+    return true;
   }
-  return V_LGE;
+  return false;
 }
 
-PPL_SPECIALIZE_CLASSIFY(classify_int, char)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed char)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed short)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed int)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, signed long long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned char)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned short)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned int)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long)
-PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
-
-template <typename Policy, typename Type>
 inline bool
-is_nan_int(const Type v) {
-  return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
+is_space(char c) {
+  return isspace(c) != 0;
 }
 
-PPL_SPECIALIZE_IS_NAN(is_nan_int, char)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed char)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed short)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed int)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
-PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
+template <typename RA_Container>
+inline typename RA_Container::iterator
+nth_iter(RA_Container& cont, dimension_type n) {
+  typedef typename RA_Container::difference_type diff_t;
+  return cont.begin() + static_cast<diff_t>(n);
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_minf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::minus_infinity;
+template <typename RA_Container>
+inline typename RA_Container::const_iterator
+nth_iter(const RA_Container& cont, dimension_type n) {
+  typedef typename RA_Container::difference_type diff_t;
+  return cont.begin() + static_cast<diff_t>(n);
 }
 
-PPL_SPECIALIZE_IS_MINF(is_minf_int, char)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed char)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed short)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed int)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
-PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
+inline dimension_type
+least_significant_one_mask(const dimension_type i) {
+  return i & (~i + 1U);
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_pinf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::plus_infinity;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/globals.defs.hh line 549. */
+
+/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 28. */
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+Variable::max_space_dimension() {
+  return not_a_dimension() - 1;
 }
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, char)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed char)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed short)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed int)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
-PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
+inline
+Variable::Variable(dimension_type i)
+  : varid((i < max_space_dimension())
+	  ? i
+	  : (throw std::length_error("PPL::Variable::Variable(i):\n"
+				     "i exceeds the maximum allowed "
+				     "variable identifier."), i)) {
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_int_int(const Type v) {
-  return !is_nan<Policy>(v);
+inline dimension_type
+Variable::id() const {
+  return varid;
 }
 
-PPL_SPECIALIZE_IS_INT(is_int_int, char)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed char)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed short)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed int)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed long)
-PPL_SPECIALIZE_IS_INT(is_int_int, signed long long)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned char)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned short)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned int)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long)
-PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
+inline dimension_type
+Variable::space_dimension() const {
+  return varid + 1;
+}
 
-template <typename Policy, typename Type>
-inline Result
-assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
-  switch (c) {
-  case VC_NAN:
-    if (Policy::has_nan) {
-      v = Extended_Int<Policy, Type>::not_a_number;
-      return V_NAN;
-    }
-    return V_NAN | V_UNREPRESENTABLE;
-  case VC_MINUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::minus_infinity;
-      return V_EQ_MINUS_INFINITY;
-    }
-    if (round_up(dir)) {
-      v = Extended_Int<Policy, Type>::min;
-      return V_LT_INF;
-    }
-    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
-  case VC_PLUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::plus_infinity;
-      return V_EQ_PLUS_INFINITY;
-    }
-    if (round_down(dir)) {
-      v = Extended_Int<Policy, Type>::max;
-      return V_GT_SUP;
-    }
-    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
-  default:
-    PPL_ASSERT(0);
-    return V_NAN | V_UNREPRESENTABLE;
-  }
+inline memory_size_type
+Variable::external_memory_in_bytes() const {
+  return 0;
 }
 
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, char)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
+inline memory_size_type
+Variable::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) < sizeof(From)
-      || (sizeof(To) == sizeof(From)
-	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
-	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
-    if (CHECK_P(To_Policy::check_overflow,
-		PPL_LT_SILENT(from, From(Extended_Int<To_Policy, To>::min))))
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    if (CHECK_P(To_Policy::check_overflow,
-		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
+inline void
+Variable::set_output_function(output_function_type* p) {
+  current_output_function = p;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) <= sizeof(From)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from > From(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
+inline Variable::output_function_type*
+Variable::get_output_function() {
+  return current_output_function;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_overflow, from < 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (sizeof(To) < sizeof(From)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		from > From(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
+/*! \relates Variable */
+inline bool
+less(const Variable v, const Variable w) {
+  return v.id() < w.id();
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(To) < sizeof(From)
-      || (sizeof(To) == sizeof(From)
-	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
-    if (CHECK_P(To_Policy::check_overflow,
-		PPL_GT_SILENT(from, From(Extended_Int<To_Policy, To>::max))))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
+inline bool
+Variable::Compare::operator()(const Variable x, const Variable y) const {
+  return less(x, y);
 }
 
+inline void
+Variable::m_swap(Variable& v) {
+  using std::swap;
+  swap(varid, v.varid);
+}
 
-#define PPL_ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
+inline void
+swap(Variable& x, Variable& y) {
+  x.m_swap(y);
+}
 
-#define PPL_ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
+} // namespace Parma_Polyhedra_Library
 
-#define PPL_ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
+/* Automatically generated from PPL source file ../src/Variable.defs.hh line 155. */
 
-#define PPL_ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
+/* Automatically generated from PPL source file ../src/Linear_Form.defs.hh line 1. */
+/* Linear_Form class declaration.
+*/
 
-#define PPL_ASSIGN_SIGNED(Type) \
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
-#define PPL_ASSIGN_UNSIGNED(Type) \
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN_SIGNED(char)
-#endif
-PPL_ASSIGN_SIGNED(signed char)
-PPL_ASSIGN_SIGNED(signed short)
-PPL_ASSIGN_SIGNED(signed int)
-PPL_ASSIGN_SIGNED(signed long)
-PPL_ASSIGN_SIGNED(signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN_UNSIGNED(char)
-#endif
-PPL_ASSIGN_UNSIGNED(unsigned char)
-PPL_ASSIGN_UNSIGNED(unsigned short)
-PPL_ASSIGN_UNSIGNED(unsigned int)
-PPL_ASSIGN_UNSIGNED(unsigned long)
-PPL_ASSIGN_UNSIGNED(unsigned long long)
+/* Automatically generated from PPL source file ../src/Linear_Expression.types.hh line 1. */
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN2_SIGNED_SIGNED(char, signed short)
-PPL_ASSIGN2_SIGNED_SIGNED(char, signed int)
-PPL_ASSIGN2_SIGNED_SIGNED(char, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(char, signed long long)
-#endif
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed short)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed int)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed int)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
-PPL_ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned short)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned int)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned long long)
-#endif
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
-PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed short)
-PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed int)
-PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed long long)
-#endif
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
-PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned char)
-PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned short)
-PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned long long)
-#else
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, char)
-#endif
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
-PPL_ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_int_float(To& to, const From from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-#if 0
-  // FIXME: this is correct but it is inefficient and breaks the build
-  // for the missing definition of static const members (a problem present
-  // also in other areas of the PPL).
-  if (CHECK_P(To_Policy::check_overflow, lt(from, Extended_Int<To_Policy, To>::min)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (CHECK_P(To_Policy::check_overflow, !le(from, Extended_Int<To_Policy, To>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-#else
-  if (CHECK_P(To_Policy::check_overflow, (from < Extended_Int<To_Policy, To>::min)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (CHECK_P(To_Policy::check_overflow, (from > Extended_Int<To_Policy, To>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-#endif
-  if (round_not_requested(dir)) {
-    to = from;
-    return V_LGE;
-  }
-  From i_from = rint(from);
-  to = i_from;
-  if (from == i_from)
-    return V_EQ;
-  if (round_direct(ROUND_UP))
-    return round_lt_int<To_Policy>(to, dir);
-  if (round_direct(ROUND_DOWN))
-    return round_gt_int<To_Policy>(to, dir);
-  if (from < i_from)
-    return round_lt_int<To_Policy>(to, dir);
-  if (from > i_from)
-    return round_gt_int<To_Policy>(to, dir);
-  PPL_ASSERT(false);
-  return V_NAN;
-}
+namespace Parma_Polyhedra_Library {
 
-PPL_SPECIALIZE_ASSIGN(assign_int_float, char, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
+class Linear_Expression;
 
-PPL_SPECIALIZE_ASSIGN(assign_int_float, char, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
+} // namespace Parma_Polyhedra_Library
 
-PPL_SPECIALIZE_ASSIGN(assign_int_float, char, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
-PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
+/* Automatically generated from PPL source file ../src/Box.types.hh line 1. */
 
-#undef PPL_ASSIGN_SIGNED
-#undef PPL_ASSIGN_UNSIGNED
-#undef PPL_ASSIGN2_SIGNED_SIGNED
-#undef PPL_ASSIGN2_UNSIGNED_UNSIGNED
-#undef PPL_ASSIGN2_UNSIGNED_SIGNED
-#undef PPL_ASSIGN2_SIGNED_UNSIGNED
 
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
-  if (sizeof(To) <= sizeof(signed long)) {
-    if (!To_Policy::check_overflow) {
-      to = from.get_si();
-      return V_EQ;
-    }
-    if (from.fits_slong_p()) {
-      signed long v = from.get_si();
-      if (PPL_LT_SILENT(v, (Extended_Int<To_Policy, To>::min)))
-	return set_neg_overflow_int<To_Policy>(to, dir);
-      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
-	return set_pos_overflow_int<To_Policy>(to, dir);
-      to = v;
-      return V_EQ;
-    }
-  }
-  else {
-    mpz_srcptr m = from.get_mpz_t();
-    size_t sz = mpz_size(m);
-    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
-      if (sz == 0) {
-	to = 0;
-	return V_EQ;
-      }
-      To v;
-      mpz_export(&v, 0, -1, sizeof(To), 0, 0, m);
-      if (v >= 0) {
-	if (::sgn(from) < 0)
-	  return neg<To_Policy, To_Policy>(to, v, dir);
-	to = v;
-	return V_EQ;
-      }
-    }
-  }
-  return ::sgn(from) < 0
-    ? set_neg_overflow_int<To_Policy>(to, dir)
-    : set_pos_overflow_int<To_Policy>(to, dir);
-}
+namespace Parma_Polyhedra_Library {
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, char, mpz_class)
-#endif
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
+template <typename Interval>
+class Box;
 
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_overflow, ::sgn(from) < 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (sizeof(To) <= sizeof(unsigned long)) {
-    if (!To_Policy::check_overflow) {
-      to = from.get_ui();
-      return V_EQ;
-    }
-    if (from.fits_ulong_p()) {
-      unsigned long v = from.get_ui();
-      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
-	return set_pos_overflow_int<To_Policy>(to, dir);
-      to = v;
-      return V_EQ;
-    }
-  }
-  else {
-    mpz_srcptr m = from.get_mpz_t();
-    size_t sz = mpz_size(m);
-    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
-      if (sz == 0)
-	to = 0;
-      else
-	mpz_export(&to, 0, -1, sizeof(To), 0, 0, m);
-      return V_EQ;
-    }
-  }
-  return set_pos_overflow_int<To_Policy>(to, dir);
-}
+class Box_Helpers;
 
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, char, mpz_class)
-#endif
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
+} // namespace Parma_Polyhedra_Library
 
-template <typename To_Policy, typename From_Policy, typename To>
-inline Result
-assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
-  mpz_srcptr n = from.get_num().get_mpz_t();
-  mpz_srcptr d = from.get_den().get_mpz_t();
-  PPL_DIRTY_TEMP0(mpz_class, q);
-  mpz_ptr _q = q.get_mpz_t();
-  if (round_not_requested(dir)) {
-    mpz_tdiv_q(_q, n, d);
-    Result r = assign<To_Policy, void>(to, q, dir);
-    if (r != V_EQ)
-      return r;
-    return V_LGE;
-  }
-  mpz_t rem;
-  int sign;
-  mpz_init(rem);
-  mpz_tdiv_qr(_q, rem, n, d);
-  sign = mpz_sgn(rem);
-  mpz_clear(rem);
-  Result r = assign<To_Policy, void>(to, q, dir);
-  if (r != V_EQ)
-    return r;
-  switch (sign) {
-  case -1:
-    return round_lt_int<To_Policy>(to, dir);
-  case 1:
-    return round_gt_int<To_Policy>(to, dir);
-  default:
-    return V_EQ;
-  }
-}
+/* Automatically generated from PPL source file ../src/Linear_Form.defs.hh line 32. */
+#include <vector>
 
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, char, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
+namespace Parma_Polyhedra_Library {
 
-#if ~0 != -1
-#error "Only two's complement is supported"
-#endif
+//! Swaps \p x with \p y.
+/*! \relates Linear_Form */
+template <typename C>
+void swap(Linear_Form<C>& x, Linear_Form<C>& y);
 
-#if UCHAR_MAX == 0xff
-#define CHAR_BITS 8
-#else
-#error "Unexpected max for unsigned char"
-#endif
+// Put them in the namespace here to declare them friend later.
 
-#if USHRT_MAX == 0xffff
-#define SHRT_BITS 16
-#else
-#error "Unexpected max for unsigned short"
-#endif
+//! Returns the linear form \p f1 + \p f2.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
 
-#if UINT_MAX == 0xffffffff
-#define INT_BITS 32
-#else
-#error "Unexpected max for unsigned int"
-#endif
+//! Returns the linear form \p v + \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(Variable v, const Linear_Form<C>& f);
 
-#if ULONG_MAX == 0xffffffffUL
-#define LONG_BITS 32
-#elif ULONG_MAX == 0xffffffffffffffffULL
-#define LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long"
-#endif
+//! Returns the linear form \p f + \p v.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f, Variable v);
 
-#if ULLONG_MAX == 0xffffffffffffffffULL
-#define LONG_LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long long"
-#endif
+//! Returns the linear form \p n + \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const C& n, const Linear_Form<C>& f);
 
+//! Returns the linear form \p f + \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f, const C& n);
 
-template <typename T>
-struct Larger;
+//! Returns the linear form \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f);
 
-// The following may be tuned for performance on specific architectures.
-//
-// Current guidelines:
-//   - avoid division where possible (larger type variant for mul)
-//   - use larger type variant for types smaller than architecture bit size
+//! Returns the linear form - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f);
 
-template <>
-struct Larger<char> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast16_t type_for_neg;
-  typedef int_fast16_t type_for_add;
-  typedef int_fast16_t type_for_sub;
-  typedef int_fast16_t type_for_mul;
-};
+//! Returns the linear form \p f1 - \p f2.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
 
-template <>
-struct Larger<signed char> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast16_t type_for_neg;
-  typedef int_fast16_t type_for_add;
-  typedef int_fast16_t type_for_sub;
-  typedef int_fast16_t type_for_mul;
-};
+//! Returns the linear form \p v - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(Variable v, const Linear_Form<C>& f);
 
-template <>
-struct Larger<unsigned char> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast16_t type_for_neg;
-  typedef uint_fast16_t type_for_add;
-  typedef int_fast16_t type_for_sub;
-  typedef uint_fast16_t type_for_mul;
-};
+//! Returns the linear form \p f - \p v.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, Variable v);
 
-template <>
-struct Larger<signed short> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast32_t type_for_neg;
-  typedef int_fast32_t type_for_add;
-  typedef int_fast32_t type_for_sub;
-  typedef int_fast32_t type_for_mul;
-};
+//! Returns the linear form \p n - \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const C& n, const Linear_Form<C>& f);
 
-template <>
-struct Larger<unsigned short> {
-  const_bool_nodef(use_for_neg, true);
-  const_bool_nodef(use_for_add, true);
-  const_bool_nodef(use_for_sub, true);
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast32_t type_for_neg;
-  typedef uint_fast32_t type_for_add;
-  typedef int_fast32_t type_for_sub;
-  typedef uint_fast32_t type_for_mul;
-};
+//! Returns the linear form \p f - \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, const C& n);
 
-template <>
-struct Larger<signed int> {
-  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
-  const_bool_nodef(use_for_add, (LONG_BITS == 64));
-  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
-};
+//! Returns the linear form \p n * \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const C& n, const Linear_Form<C>& f);
 
-template <>
-struct Larger<unsigned int> {
-  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
-  const_bool_nodef(use_for_add, (LONG_BITS == 64));
-  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
-  const_bool_nodef(use_for_mul, true);
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
-};
+//! Returns the linear form \p f * \p n.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const Linear_Form<C>& f, const C& n);
 
-template <>
-struct Larger<signed long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
-};
+//! Returns the linear form \p f1 + \p f2 and assigns it to \p e1.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f1, const Linear_Form<C>& f2);
 
-template <>
-struct Larger<unsigned long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
-};
+//! Returns the linear form \p f + \p v and assigns it to \p f.
+/*! \relates Linear_Form
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Form::max_space_dimension()</CODE>.
+ */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, Variable v);
 
-template <>
-struct Larger<signed long long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, false);
-  typedef int_fast64_t type_for_neg;
-  typedef int_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef int_fast64_t type_for_mul;
-};
+//! Returns the linear form \p f + \p n and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const C& n);
 
-template <>
-struct Larger<unsigned long long> {
-  const_bool_nodef(use_for_neg, false);
-  const_bool_nodef(use_for_add, false);
-  const_bool_nodef(use_for_sub, false);
-  const_bool_nodef(use_for_mul, false);
-  typedef int_fast64_t type_for_neg;
-  typedef uint_fast64_t type_for_add;
-  typedef int_fast64_t type_for_sub;
-  typedef uint_fast64_t type_for_mul;
+//! Returns the linear form \p f1 - \p f2 and assigns it to \p f1.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+
+//! Returns the linear form \p f - \p v and assigns it to \p f.
+/*! \relates Linear_Form
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Form::max_space_dimension()</CODE>.
+ */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, Variable v);
+
+//! Returns the linear form \p f - \p n and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p n * \p f and assigns it to \p f.
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator*=(Linear_Form<C>& f, const C& n);
+
+//! Returns the linear form \p f / \p n and assigns it to \p f.
+/*!
+   \relates Linear_Form
+   Performs the division of a linear form by a scalar. It is up to the user to
+   ensure that division by 0 is not performed.
+*/
+template <typename C>
+Linear_Form<C>&
+operator/=(Linear_Form<C>& f, const C& n);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Linear_Form */
+template <typename C>
+bool
+operator==(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Linear_Form */
+template <typename C>
+bool
+operator!=(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Form */
+template <typename C>
+std::ostream& operator<<(std::ostream& s, const Linear_Form<C>& f);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! A linear form with interval coefficients.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Form represents the interval linear form
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the inhomogeneous term.
+  The coefficients and the inhomogeneous term of the linear form
+  have the template parameter \p C as their type. \p C must be the
+  type of an Interval.
+
+  \par How to build a linear form.
+  A full set of functions is defined in order to provide a convenient
+  interface for building complex linear forms starting from simpler ones
+  and from objects of the classes Variable and \p C. Available operators
+  include binary addition and subtraction, as well as multiplication and
+  division by a coefficient.
+  The space dimension of a linear form is defined as
+  the highest variable dimension among variables that have a nonzero
+  coefficient in the linear form, or zero if no such variable exists.
+  The space dimension for each variable \f$x_i\f$ is given by \f$i + 1\f$.
+
+  \par Example
+  Given the type \p T of an Interval with floating point coefficients (though
+  any integral type may also be used), the following code builds the interval
+  linear form \f$lf = x_5 - x_2 + 1\f$ with space dimension 6:
+  \code
+  Variable x5(5);
+  Variable x2(2);
+  T x5_coefficient;
+  x5_coefficient.lower() = 2.0;
+  x5_coefficient.upper() = 3.0;
+  T inhomogeneous_term;
+  inhomogeneous_term.lower() = 4.0;
+  inhomogeneous_term.upper() = 8.0;
+  Linear_Form<T> lf(x2);
+  lf = -lf;
+  lf += Linear_Form<T>(x2);
+  Linear_Form<T> lf_x5(x5);
+  lf_x5 *= x5_coefficient;
+  lf += lf_x5;
+  \endcode
+  Note that \c lf_x5 is created with space dimension 6, while \c lf is
+  created with space dimension 0 and then extended first to space
+  dimension 2 when \c x2 is subtracted and finally to space dimension
+  6 when \c lf_x5 is added.
+*/
+template <typename C>
+class Parma_Polyhedra_Library::Linear_Form {
+public:
+  //! Default constructor: returns a copy of Linear_Form::zero().
+  Linear_Form();
+
+  //! Ordinary copy constructor.
+  Linear_Form(const Linear_Form& f);
+
+  //! Destructor.
+  ~Linear_Form();
+
+  //! Builds the linear form corresponding to the inhomogeneous term \p n.
+  explicit Linear_Form(const C& n);
+
+  //! Builds the linear form corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Form::max_space_dimension()</CODE>.
+  */
+  Linear_Form(Variable v);
+
+  //! Builds a linear form approximating the linear expression \p e.
+  Linear_Form(const Linear_Expression& e);
+
+  //! Returns the maximum space dimension a Linear_Form can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  const C& coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  const C& inhomogeneous_term() const;
+
+  //! Negates all the coefficients of \p *this.
+  void negate();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Linear_Form& y);
+
+  // Floating point analysis related methods.
+
+  /*! \brief
+    Verifies if the linear form overflows.
+
+    \return
+    Returns <CODE>false</CODE> if all coefficients in \p lf are bounded,
+    <CODE>true</CODE> otherwise.
+
+    \p T must be the type of possibly unbounded quantities.
+  */
+  bool overflows() const;
+
+  /*! \brief
+    Computes the relative error associated to floating point computations
+    that operate on a quantity that is overapproximated by \p *this.
+
+    \param analyzed_format The floating point format used by the analyzed
+    program.
+    \param result Becomes the linear form corresponding to the relative
+    error committed.
+
+    This method makes <CODE>result</CODE> become a linear form
+    obtained by evaluating the function \f$\varepsilon_{\mathbf{f}}(l)\f$
+    on the linear form. This function is defined as:
+    \f[
+    \varepsilon_{\mathbf{f}}\left([a, b]+\sum_{v \in \cV}[a_{v}, b_{v}]v\right)
+    \defeq
+    (\textrm{max}(|a|, |b|) \amifp [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])
+    +
+    \sum_{v \in \cV}(\textrm{max}(|a_{v}|,|b_{v}|)
+    \amifp
+    [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])v
+    \f]
+    where p is the fraction size in bits for the format \f$\mathbf{f}\f$ and
+    \f$\beta\f$ the base.
+
+    The result is undefined if \p T is not the type of an interval with
+    floating point boundaries.
+  */
+  void relative_error(Floating_Point_Format analyzed_format,
+                      Linear_Form& result) const;
+
+  /*! \brief
+    Makes \p result become an interval that overapproximates all the
+    possible values of \p *this.
+
+    \param oracle The FP_Oracle to be queried.
+    \param result The linear form that will store the result.
+
+    \return <CODE>true</CODE> if the operation was successful,
+    <CODE>false</CODE> otherwise (the possibility of failure
+    depends on the oracle's implementation).
+
+    \par Template type parameters
+
+    - The class template parameter \p Target specifies the implementation
+    of Concrete_Expression to be used.
+
+    This method makes <CODE>result</CODE> become
+    \f$\iota(lf)\rho^{\#}\f$, that is an interval defined as:
+    \f[
+    \iota\left(i + \sum_{v \in \cV}i_{v}v\right)\rho^{\#}
+    \defeq
+    i \asifp \left(\bigoplus_{v \in \cV}{}^{\#}i_{v} \amifp
+    \rho^{\#}(v)\right)
+    \f]
+    where \f$\rho^{\#}(v)\f$ is an interval (provided by the oracle)
+    that correctly approximates the value of \f$v\f$.
+
+    The result is undefined if \p C is not the type of an interval with
+    floating point boundaries.
+  */
+  template <typename Target>
+  bool intervalize(const FP_Oracle<Target,C>& oracle, C& result) const;
+
+private:
+  //! The generic coefficient equal to the singleton zero.
+  static C zero;
+
+  //! Type of the container vector.
+  typedef std::vector<C> vec_type;
+
+  //! The container vector.
+  vec_type vec;
+
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Form(const C& n).
+  */
+  Linear_Form(dimension_type sz, bool);
+
+  /*! \brief
+    Builds the linear form corresponding to the difference of
+    \p v and \p w.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p v or the one of \p w exceed
+    <CODE>Linear_Form::max_space_dimension()</CODE>.
+  */
+  Linear_Form(Variable v, Variable w);
+
+  //! Gives the number of generic coefficients currently in use.
+  dimension_type size() const;
+
+  //! Extends the vector of \p *this to size \p sz.
+  void extend(dimension_type sz);
+
+  //! Returns a reference to \p vec[i].
+  C& operator[](dimension_type i);
+
+  //! Returns a const reference to \p vec[i].
+  const C& operator[](dimension_type i) const;
+
+  friend Linear_Form<C>
+  operator+<C>(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>
+  operator+<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator+<C>(const Linear_Form<C>& f, const C& n);
+  friend Linear_Form<C>
+  operator+<C>(Variable v, const Linear_Form<C>& f);
+
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f);
+
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>
+  operator-<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f, const C& n);
+  friend Linear_Form<C>
+  operator-<C>(Variable v, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator-<C>(const Linear_Form<C>& f, Variable v);
+
+  friend Linear_Form<C>
+  operator*<C>(const C& n, const Linear_Form<C>& f);
+  friend Linear_Form<C>
+  operator*<C>(const Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f, Variable v);
+  friend Linear_Form<C>&
+  operator+=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f1, const Linear_Form<C>& f2);
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f, Variable v);
+  friend Linear_Form<C>&
+  operator-=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator*=<C>(Linear_Form<C>& f, const C& n);
+
+  friend Linear_Form<C>&
+  operator/=<C>(Linear_Form<C>& f, const C& n);
+
+  friend bool
+  operator==<C>(const Linear_Form<C>& x, const Linear_Form<C>& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<<C>(std::ostream& s, const Linear_Form<C>& f);
 };
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_int_larger(Type& to, const Type x, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_neg l = x;
-  l = -l;
-  return assign<To_Policy, To_Policy>(to, l, dir);
-}
+/* Automatically generated from PPL source file ../src/Linear_Form.inlines.hh line 1. */
+/* Linear_Form class implementation: inline functions.
+*/
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_add l = x;
-  l += y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
+
+/* Automatically generated from PPL source file ../src/Linear_Form.inlines.hh line 28. */
+#include <iostream>
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename C>
+inline dimension_type
+Linear_Form<C>::max_space_dimension() {
+  return vec_type().max_size() - 1;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_sub l = x;
-  l -= y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form()
+  : vec(1, zero) {
+  vec.reserve(compute_capacity(1, vec_type().max_size()));
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  typename Larger<Type>::type_for_mul l = x;
-  l *= y;
-  return assign<To_Policy, To_Policy>(to, l, dir);
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(dimension_type sz, bool)
+  : vec(sz, zero) {
+  vec.reserve(compute_capacity(sz, vec_type().max_size()));
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_signed_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
-    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (from < -Extended_Int<To_Policy, Type>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = -from;
-  return V_EQ;
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(const Linear_Form& f)
+  : vec(f.vec) {
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
-    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
-  if (CHECK_P(To_Policy::check_overflow, from != 0))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  to = from;
-  return V_EQ;
+template <typename C>
+inline
+Linear_Form<C>::~Linear_Form() {
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
-    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (To_Policy::check_overflow) {
-    if (y >= 0) {
-      if (x > Extended_Int<To_Policy, Type>::max - y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else if (x < Extended_Int<To_Policy, Type>::min - y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-  }
-  to = x + y;
-  return V_EQ;
+template <typename C>
+inline dimension_type
+Linear_Form<C>::size() const {
+  return vec.size();
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
-    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (x > Extended_Int<To_Policy, Type>::max - y)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = x + y;
-  return V_EQ;
+template <typename C>
+inline void
+Linear_Form<C>::extend(dimension_type sz) {
+  assert(sz > size());
+  vec.reserve(compute_capacity(sz, vec_type().max_size()));
+  vec.resize(sz, zero);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
-    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (To_Policy::check_overflow) {
-    if (y >= 0) {
-      if (x < Extended_Int<To_Policy, Type>::min + y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-    else if (x > Extended_Int<To_Policy, Type>::max + y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = x - y;
-  return V_EQ;
+template <typename C>
+inline
+Linear_Form<C>::Linear_Form(const C& n)
+  : vec(1, n) {
+  vec.reserve(compute_capacity(1, vec_type().max_size()));
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
-    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (CHECK_P(To_Policy::check_overflow,
-	      (x < Extended_Int<To_Policy, Type>::min + y)))
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  to = x - y;
-  return V_EQ;
+template <typename C>
+inline dimension_type
+Linear_Form<C>::space_dimension() const {
+  return size() - 1;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
-    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (!To_Policy::check_overflow) {
-    to = x * y;
-    return V_EQ;
-  }
-  if (y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  if (y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  if (x >= 0) {
-    if (y > 0) {
-      if (x > Extended_Int<To_Policy, Type>::max / y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else {
-      if (x > Extended_Int<To_Policy, Type>::min / y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-  }
-  else {
-    if (y < 0) {
-      if (x < Extended_Int<To_Policy, Type>::max / y)
-	return set_pos_overflow_int<To_Policy>(to, dir);
-    }
-    else {
-      if (x < Extended_Int<To_Policy, Type>::min / y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-    }
-  }
-  to = x * y;
-  return V_EQ;
+template <typename C>
+inline const C&
+Linear_Form<C>::coefficient(Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    return zero;
+  return vec[v.id()+1];
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
-    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-  if (!To_Policy::check_overflow) {
-    to = x * y;
-    return V_EQ;
-  }
-  if (y == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  if (x > Extended_Int<To_Policy, Type>::max / y)
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = x * y;
-  return V_EQ;
+template <typename C>
+inline C&
+Linear_Form<C>::operator[](dimension_type i) {
+  assert(i < size());
+  return vec[i];
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  if (To_Policy::check_overflow && y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  to = x / y;
-  if (round_not_requested(dir))
-    return V_LGE;
-  Type m = x % y;
-  if (m < 0)
-    return round_lt_int_no_overflow<To_Policy>(to, dir);
-  else if (m > 0)
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
+template <typename C>
+inline const C&
+Linear_Form<C>::operator[](dimension_type i) const {
+  assert(i < size());
+  return vec[i];
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  to = x / y;
-  if (round_not_requested(dir))
-    return V_GE;
-  Type m = x % y;
-  if (m == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
+template <typename C>
+inline const C&
+Linear_Form<C>::inhomogeneous_term() const {
+  return vec[0];
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  if (To_Policy::check_overflow && y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  to = x / y;
-  return V_EQ;
+template <typename C>
+inline memory_size_type
+Linear_Form<C>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  to = x / y;
-  return V_EQ;
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f) {
+  return f;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_MOD_ZERO);
-  }
-  to = x % y;
-  return V_EQ;
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f, const C& n) {
+  return n + f;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
-    return assign_nan<To_Policy>(to, V_MOD_ZERO);
-  }
-  to = x % y;
-  return V_EQ;
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator+(const Linear_Form<C>& f, const Variable v) {
+  return v + f;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-                      Rounding_Dir dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT) {
-    to = 0;
-    if (round_not_requested(dir))
-      return V_GE;
-    if (x == 0)
-      return V_EQ;
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  }
-  to = x >> exp;
-  if (round_not_requested(dir))
-    return V_GE;
-  if (x & ((Type(1) << exp) - 1))
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator-(const Linear_Form<C>& f, const C& n) {
+  return -n + f;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-                    Rounding_Dir dir) {
-  if (exp > sizeof(Type) * CHAR_BIT - 1) {
-  zero:
-    to = 0;
-    if (round_not_requested(dir))
-      return V_LGE;
-    if (x < 0)
-      return round_lt_int_no_overflow<To_Policy>(to, dir);
-    else if (x > 0)
-      return round_gt_int_no_overflow<To_Policy>(to, dir);
-    else
-      return V_EQ;
-  }
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
-    if (x == C_Integer<Type>::min) {
-      to = -1;
-      return V_EQ;
-    }
-    goto zero;
-  }
-#if 0
-  to = x / (Type(1) << exp);
-  if (round_not_requested(dir))
-    return V_GE;
-  Type r = x % (Type(1) << exp);
-  if (r < 0)
-    return round_lt_int_no_overflow<To_Policy>(to, dir);
-  else if (r > 0)
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
-#else
-  // Faster but compiler implementation dependent (see C++98 5.8.3)
-  to = x >> exp;
-  if (round_not_requested(dir))
-    return V_GE;
-  if (x & ((Type(1) << exp) - 1))
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  return V_EQ;
-#endif
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator-(const Variable v, const Variable w) {
+  return Linear_Form<C>(v, w);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-                      Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x + (Type(1) << exp);
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  Type n = Type(1) << exp;
-  return add_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>
+operator*(const Linear_Form<C>& f, const C& n) {
+  return n * f;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-add_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-		    Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x + (Type(1) << exp);
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
-    Type n = -2 * (Type(1) << (exp - 1));
-    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
-  }
-  else {
-    Type n = Type(1) << exp;
-    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
-  }
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const C& n) {
+  f[0] += n;
+  return f;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-                      Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x - (Type(1) << exp);
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  Type n = Type(1) << exp;
-  return sub_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
+/*! \relates Linear_Form */
+template <typename C>
+inline Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const C& n) {
+  f[0] -= n;
+  return f;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sub_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-		    Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x - (Type(1) << exp);
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    return set_neg_overflow_int<To_Policy>(to, dir);
-  if (exp == sizeof(Type) * CHAR_BIT - 1) {
-    Type n = -2 * (Type(1) << (exp - 1));
-    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
-  }
-  else {
-    Type n = Type(1) << exp;
-    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
-  }
+/*! \relates Linear_Form */
+template <typename C>
+inline bool
+operator!=(const Linear_Form<C>& x, const Linear_Form<C>& y) {
+  return !(x == y);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-                      Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT) {
-    if (x == 0) {
-      to = 0;
-      return V_EQ;
-    }
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  if (x & (((Type(1) << exp) - 1) << (sizeof(Type) * CHAR_BIT - exp)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  Type n = x << exp;
-  if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  to = n;
-  return V_EQ;
+template <typename C>
+inline void
+Linear_Form<C>::m_swap(Linear_Form& y) {
+  using std::swap;
+  swap(vec, y.vec);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-                    Rounding_Dir dir) {
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (exp >= sizeof(Type) * CHAR_BIT - 1) {
-    if (x < 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    else if (x > 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    else {
-      to = 0;
-      return V_EQ;
-    }
-  }
-  Type mask = ((Type(1) << exp) - 1)
-    << (sizeof(Type) * CHAR_BIT - 1 - exp);
-  Type n;
-  if (x < 0) {
-    if ((x & mask) != mask)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    n = x << exp;
-    if (PPL_LT_SILENT(n, (Extended_Int<To_Policy, Type>::min)))
-      return set_neg_overflow_int<To_Policy>(to, dir);
-  }
-  else {
-    if (x & mask)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    n = x << exp;
-    if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
+template <typename C>
+inline void
+Linear_Form<C>::ascii_dump(std::ostream& s) const {
+  using namespace IO_Operators;
+  dimension_type space_dim = space_dimension();
+  s << space_dim << "\n";
+  for (dimension_type i = 0; i <= space_dim; ++i) {
+    const char separator = ' ';
+    s << vec[i] << separator;
   }
-  to = n;
-  return V_EQ;
+  s << "\n";
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-		       Rounding_Dir dir) {
-  if (exp > sizeof(Type) * CHAR_BIT)
-    to = x;
-  else {
-    Type v = exp == sizeof(Type) * CHAR_BIT ? x : (x & ((Type(1) << exp) - 1));
-    if (v >= Type(1) << (exp - 1))
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    else
-      to = v;
+template <typename C>
+inline bool
+Linear_Form<C>::ascii_load(std::istream& s) {
+  using namespace IO_Operators;
+  dimension_type new_dim;
+  if (!(s >> new_dim))
+    return false;
+
+  vec.resize(new_dim + 1, zero);
+  for (dimension_type i = 0; i <= new_dim; ++i) {
+    if (!(s >> vec[i]))
+      return false;
   }
-  return V_EQ;
+
+  PPL_ASSERT(OK());
+  return true;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-smod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-		     Rounding_Dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    to = x;
-  else {
-    Type m = Type(1) << (exp - 1);
-    to = (x & (m - 1)) - (x & m);
+// Floating point analysis related methods.
+template <typename C>
+inline bool
+Linear_Form<C>::overflows() const {
+  if (!inhomogeneous_term().is_bounded())
+    return true;
+
+  for (dimension_type i = space_dimension(); i-- > 0; ) {
+    if (!coefficient(Variable(i)).is_bounded())
+      return true;
   }
-  return V_EQ;
+
+  return false;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
-		       Rounding_Dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT)
-    to = x;
-  else
-    to = x & ((Type(1) << exp) - 1);
-  return V_EQ;
+/*! \relates Linear_Form */
+template <typename C>
+inline void
+swap(Linear_Form<C>& x, Linear_Form<C>& y) {
+  x.m_swap(y);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
-		     Rounding_Dir dir) {
-  if (exp >= sizeof(Type) * CHAR_BIT) {
-    if (x < 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    to = x;
-  }
-  else
-    to = x & ((Type(1) << exp) - 1);
-  return V_EQ;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Form.defs.hh line 497. */
+// Linear_Form.templates.hh is not included here on purpose.
+
+/* Automatically generated from PPL source file ../src/Float.inlines.hh line 30. */
+
+namespace Parma_Polyhedra_Library {
+
+inline int
+float_ieee754_half::inf_sign() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
+}
+
+inline bool
+float_ieee754_half::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
+}
+
+inline int
+float_ieee754_half::zero_sign() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename Type>
 inline void
-isqrtrem(Type& q, Type& r, const Type from) {
-  q = 0;
-  r = from;
-  Type t(1);
-  for (t <<= CHAR_BIT * sizeof(Type) - 2; t != 0; t >>= 2) {
-    Type s = q + t;
-    if (s <= r) {
-      r -= s;
-      q = s + t;
-    }
-    q >>= 1;
-  }
+float_ieee754_half::negate() {
+  word ^= SGN_MASK;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
-  Type rem;
-  isqrtrem(to, rem, from);
-  if (round_not_requested(dir))
-    return V_GE;
-  if (rem == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
+inline bool
+float_ieee754_half::sign_bit() const {
+  return (word & SGN_MASK) != 0;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
-    return assign_nan<To_Policy>(to, V_SQRT_NEG);
-  }
-  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
+inline void
+float_ieee754_half::dec() {
+  --word;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type z;
-  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (result_overflow(r)) {
-  case 0:
-    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
-  case -1:
-    if (to <= 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
-  case 1:
-    if (to >= 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
-  default:
-    PPL_ASSERT(false);
-    return V_NAN;
-  }
+inline void
+float_ieee754_half::inc() {
+  ++word;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type z;
-  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
-  switch (result_overflow(r)) {
-  case 0:
-    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
-  case -1:
-    if (to >= 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
-  case 1:
-    if (to <= 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
-  default:
-    PPL_ASSERT(false);
-    return V_NAN;
-  }
+inline void
+float_ieee754_half::set_max(bool negative) {
+  word = 0x7bffU;
+  if (negative)
+    word |= SGN_MASK;
 }
 
-template <typename Policy, typename Type>
-inline Result
-output_char(std::ostream& os, Type& from,
-	    const Numeric_Format&, Rounding_Dir) {
-  os << int(from);
-  return V_EQ;
+inline void
+float_ieee754_half::build(bool negative, mpz_t mantissa, int exponent) {
+  word = static_cast<uint16_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
+  if (negative)
+    word |= SGN_MASK;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint16_t>(exponent_repr) << MANTISSA_BITS;
 }
 
-template <typename Policy, typename Type>
-inline Result
-output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
-  os << from;
-  return V_EQ;
+inline int
+float_ieee754_single::inf_sign() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
 }
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+inline bool
+float_ieee754_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
+}
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+inline int
+float_ieee754_single::zero_sign() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
+}
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
-PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
+inline void
+float_ieee754_single::negate() {
+  word ^= SGN_MASK;
+}
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_NEG(neg_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
-PPL_SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_NEG(neg_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
+inline bool
+float_ieee754_single::sign_bit() const {
+  return (word & SGN_MASK) != 0;
+}
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ADD(add_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ADD(add_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
+inline void
+float_ieee754_single::dec() {
+  --word;
+}
 
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SUB(sub_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SUB(sub_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_MUL(mul_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_MUL(mul_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_DIV(div_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_DIV(div_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_IDIV(idiv_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_REM(rem_signed_int, char, char, char)
-#endif
-PPL_SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_REM(rem_unsigned_int, char, char, char)
-#endif
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed char, signed char)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed short, signed short)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed int, signed int)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long, signed long)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, char, char)
-#endif
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
-PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
-
-#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ABS(abs_generic, char, char)
-#endif
-PPL_SPECIALIZE_ABS(abs_generic, signed char, signed char)
-PPL_SPECIALIZE_ABS(abs_generic, signed short, signed short)
-PPL_SPECIALIZE_ABS(abs_generic, signed int, signed int)
-PPL_SPECIALIZE_ABS(abs_generic, signed long, signed long)
-PPL_SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
-#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, char, char)
-#endif
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_GCD(gcd_exact, char, char, char)
-PPL_SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
-PPL_SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
-PPL_SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
-PPL_SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
-PPL_SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, char, char, char, char, char)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, char, char, char)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_SGN(sgn_generic, char)
-PPL_SPECIALIZE_SGN(sgn_generic, signed char)
-PPL_SPECIALIZE_SGN(sgn_generic, signed short)
-PPL_SPECIALIZE_SGN(sgn_generic, signed int)
-PPL_SPECIALIZE_SGN(sgn_generic, signed long)
-PPL_SPECIALIZE_SGN(sgn_generic, signed long long)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned char)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned short)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned int)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned long)
-PPL_SPECIALIZE_SGN(sgn_generic, unsigned long long)
-
-PPL_SPECIALIZE_CMP(cmp_generic, char, char)
-PPL_SPECIALIZE_CMP(cmp_generic, signed char, signed char)
-PPL_SPECIALIZE_CMP(cmp_generic, signed short, signed short)
-PPL_SPECIALIZE_CMP(cmp_generic, signed int, signed int)
-PPL_SPECIALIZE_CMP(cmp_generic, signed long, signed long)
-PPL_SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
-PPL_SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, char, char, char)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, char, char, char)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-PPL_SPECIALIZE_INPUT(input_generic, char)
-PPL_SPECIALIZE_INPUT(input_generic, signed char)
-PPL_SPECIALIZE_INPUT(input_generic, signed short)
-PPL_SPECIALIZE_INPUT(input_generic, signed int)
-PPL_SPECIALIZE_INPUT(input_generic, signed long)
-PPL_SPECIALIZE_INPUT(input_generic, signed long long)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned char)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned short)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned int)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned long)
-PPL_SPECIALIZE_INPUT(input_generic, unsigned long long)
+inline void
+float_ieee754_single::inc() {
+  ++word;
+}
 
-PPL_SPECIALIZE_OUTPUT(output_char, char)
-PPL_SPECIALIZE_OUTPUT(output_char, signed char)
-PPL_SPECIALIZE_OUTPUT(output_int, signed short)
-PPL_SPECIALIZE_OUTPUT(output_int, signed int)
-PPL_SPECIALIZE_OUTPUT(output_int, signed long)
-PPL_SPECIALIZE_OUTPUT(output_int, signed long long)
-PPL_SPECIALIZE_OUTPUT(output_char, unsigned char)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned short)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned int)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned long)
-PPL_SPECIALIZE_OUTPUT(output_int, unsigned long long)
+inline void
+float_ieee754_single::set_max(bool negative) {
+  word = 0x7f7fffffU;
+  if (negative)
+    word |= SGN_MASK;
+}
 
-} // namespace Checked
+inline void
+float_ieee754_single::build(bool negative, mpz_t mantissa, int exponent) {
+  word = static_cast<uint32_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
+  if (negative)
+    word |= SGN_MASK;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint32_t>(exponent_repr) << MANTISSA_BITS;
+}
 
-} // namespace Parma_Polyhedra_Library
+inline int
+float_ieee754_double::inf_sign() const {
+  if (lsp != LSP_INF)
+    return 0;
+  if (msp == MSP_NEG_INF)
+    return -1;
+  if (msp == MSP_POS_INF)
+    return 1;
+  return 0;
+}
 
-/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 1. */
-/* Specialized "checked" functions for native floating-point numbers.
-*/
+inline bool
+float_ieee754_double::is_nan() const {
+  uint32_t a = msp & ~MSP_SGN_MASK;
+  return a > MSP_POS_INF || (a == MSP_POS_INF && lsp != LSP_INF);
+}
 
+inline int
+float_ieee754_double::zero_sign() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  if (msp == MSP_NEG_ZERO)
+    return -1;
+  if (msp == MSP_POS_ZERO)
+    return 1;
+  return 0;
+}
 
-/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 28. */
-#ifndef __alpha
-#include <cmath>
-#endif
+inline void
+float_ieee754_double::negate() {
+  msp ^= MSP_SGN_MASK;
+}
 
-namespace Parma_Polyhedra_Library {
+inline bool
+float_ieee754_double::sign_bit() const {
+  return (msp & MSP_SGN_MASK) != 0;
+}
 
-namespace Checked {
+inline void
+float_ieee754_double::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
+  }
+  else
+    --lsp;
+}
 
-inline float
-fma(float x, float y, float z) {
-#if PPL_HAVE_DECL_FMAF && defined(FP_FAST_FMAF) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmaf(x, y, z);
-#else
-  return x*y + z;
-#endif
+inline void
+float_ieee754_double::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
+  }
+  else
+    ++lsp;
 }
 
-inline double
-fma(double x, double y, double z) {
-#if PPL_HAVE_DECL_FMA && defined(FP_FAST_FMA) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fma(x, y, z);
-#else
-  return x*y + z;
-#endif
+inline void
+float_ieee754_double::set_max(bool negative) {
+  msp = 0x7fefffffU;
+  lsp = 0xffffffffU;
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-inline long double
-fma(long double x, long double y, long double z) {
-#if PPL_HAVE_DECL_FMAL && defined(FP_FAST_FMAL) \
-  && !defined(__alpha) && !defined(__FreeBSD__)
-  return ::fmal(x, y, z);
+inline void
+float_ieee754_double::build(bool negative, mpz_t mantissa, int exponent) {
+  unsigned long m;
+#if ULONG_MAX == 0xffffffffUL
+  lsp = mpz_get_ui(mantissa);
+  mpz_tdiv_q_2exp(mantissa, mantissa, 32);
+  m = mpz_get_ui(mantissa);
 #else
-  return x*y + z;
+  m = mpz_get_ui(mantissa);
+  lsp = static_cast<uint32_t>(m & LSP_MAX);
+  m >>= 32;
 #endif
+  msp = static_cast<uint32_t>(m & ((1UL << (MANTISSA_BITS - 32)) - 1));
+  if (negative)
+    msp |= MSP_SGN_MASK;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint32_t>(exponent_repr) << (MANTISSA_BITS - 32);
 }
 
-#if PPL_HAVE_DECL_RINTF
-inline float
-rint(float x) {
-  return ::rintf(x);
+inline int
+float_ibm_single::inf_sign() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
 }
-#endif
 
-inline double
-rint(double x) {
-  return ::rint(x);
+inline bool
+float_ibm_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
 }
 
-#if PPL_HAVE_DECL_RINTL
-inline long double
-rint(long double x) {
-  return ::rintl(x);
-}
-#elif !PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
-// If proper long doubles are not provided, this is most likely
-// because long double and double are the same type: use rint().
-inline long double
-rint(long double x) {
-  return ::rint(x);
-}
-#elif defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
-// On Cygwin, we have proper long doubles but rintl() is not defined:
-// luckily, one machine instruction is enough to save the day.
-inline long double
-rint(long double x) {
-  long double i;
-  __asm__ ("frndint" : "=t" (i) : "0" (x));
-  return i;
+inline int
+float_ibm_single::zero_sign() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
-#endif
 
-inline bool
-fpu_direct_rounding(Rounding_Dir dir) {
-  return round_direct(dir) || round_not_requested(dir);
+inline void
+float_ibm_single::negate() {
+  word ^= SGN_MASK;
 }
 
 inline bool
-fpu_inverse_rounding(Rounding_Dir dir) {
-  return round_inverse(dir);
+float_ibm_single::sign_bit() const {
+  return (word & SGN_MASK) != 0;
 }
 
-// The FPU mode is "round down".
-//
-// The result of the rounded down multiplication is thus computed directly.
-//
-//   a = 0.3
-//   b = 0.1
-//   c_i = a * b = 0.03
-//   c = c_i = 0.0
-//
-// To obtain the result of the rounded up multiplication
-// we do -(-a * b).
-//
-//   a = 0.3
-//   b = 0.1
-//   c_i = -a * b = -0.03
-//
-// Here c_i should be forced to lose excess precision, otherwise the
-// FPU will truncate using the rounding mode in force, which is "round down".
-//
-//   c_i = -c_i = 0.03
-//   c = c_i = 0.0
-//
-// Wrong result: we should have obtained c = 0.1.
+inline void
+float_ibm_single::dec() {
+  --word;
+}
 
 inline void
-limit_precision(const float& v) {
-  cc_flush(v);
+float_ibm_single::inc() {
+  ++word;
 }
 
 inline void
-limit_precision(const double& v) {
-  cc_flush(v);
+float_ibm_single::set_max(bool negative) {
+  word = 0x7f000000U;
+  if (negative)
+    word |= SGN_MASK;
 }
 
 inline void
-limit_precision(const long double&) {
+float_ibm_single::build(bool negative, mpz_t mantissa, int exponent) {
+  word = static_cast<uint32_t>(mpz_get_ui(mantissa)
+                               & ((1UL << MANTISSA_BITS) - 1));
+  if (negative)
+    word |= SGN_MASK;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  word |= static_cast<uint32_t>(exponent_repr) << MANTISSA_BITS;
 }
 
-template <typename Policy, typename T>
-inline Result
-classify_float(const T v, bool nan, bool inf, bool sign) {
-  Float<T> f(v);
-  if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
-    return V_NAN;
-  if (inf) {
-    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
-    if (i < 0)
-      return V_EQ_MINUS_INFINITY;
-    if (i > 0)
-      return V_EQ_PLUS_INFINITY;
-  }
-  if (sign) {
-    if (v < 0)
-      return V_LT;
-    if (v > 0)
-      return V_GT;
-    return V_EQ;
-  }
-  return V_LGE;
+inline int
+float_intel_double_extended::inf_sign() const {
+  if (lsp != LSP_INF)
+    return 0;
+  uint32_t a = msp & MSP_NEG_INF;
+  if (a == MSP_NEG_INF)
+    return -1;
+  if (a == MSP_POS_INF)
+    return 1;
+  return 0;
 }
 
-template <typename Policy, typename T>
 inline bool
-is_nan_float(const T v) {
-  Float<T> f(v);
-  return CHECK_P(Policy::has_nan, f.u.binary.is_nan());
+float_intel_double_extended::is_nan() const {
+  return (msp & MSP_POS_INF) == MSP_POS_INF
+    && lsp != LSP_INF;
 }
 
-template <typename Policy, typename T>
 inline int
-is_inf_float(const T v) {
-  Float<T> f(v);
-  return CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
-}
-template <typename Policy, typename T>
-inline bool
-is_minf_float(const T v) {
-  return is_inf_float<Policy>(v) < 0;
+float_intel_double_extended::zero_sign() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  uint32_t a = msp & MSP_NEG_INF;
+  if (a == MSP_NEG_ZERO)
+    return -1;
+  if (a == MSP_POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename Policy, typename T>
-inline bool
-is_pinf_float(const T v) {
-  return is_inf_float<Policy>(v) > 0;
+inline void
+float_intel_double_extended::negate() {
+  msp ^= MSP_SGN_MASK;
 }
 
-
-template <typename Policy, typename T>
 inline bool
-is_int_float(const T v) {
-  return rint(v) == v;
+float_intel_double_extended::sign_bit() const {
+  return (msp & MSP_SGN_MASK) != 0;
 }
 
-template <typename Policy, typename T>
-inline Result
-assign_special_float(T& v, Result_Class c, Rounding_Dir) {
-  switch (c) {
-  case VC_MINUS_INFINITY:
-    v = -HUGE_VAL;
-    return V_EQ_MINUS_INFINITY;
-  case VC_PLUS_INFINITY:
-    v = HUGE_VAL;
-    return V_EQ_PLUS_INFINITY;
-  case VC_NAN:
-    v = PPL_NAN;
-    return V_NAN;
-  default:
-    PPL_ASSERT(false);
-    return V_NAN | V_UNREPRESENTABLE;
+inline void
+float_intel_double_extended::dec() {
+  if ((lsp & LSP_DMAX) == 0) {
+    --msp;
+    lsp = ((msp & MSP_NEG_INF) == 0) ? LSP_DMAX : LSP_NMAX;
   }
+  else
+    --lsp;
 }
 
-template <typename T>
 inline void
-pred_float(T& v) {
-  Float<T> f(v);
-  PPL_ASSERT(!f.u.binary.is_nan());
-  PPL_ASSERT(f.u.binary.is_inf() >= 0);
-  if (f.u.binary.is_zero() > 0) {
-    f.u.binary.negate();
-    f.u.binary.inc();
-  }
-  else if (f.u.binary.sign_bit()) {
-    f.u.binary.inc();
-  }
-  else {
-    f.u.binary.dec();
+float_intel_double_extended::inc() {
+  if ((lsp & LSP_DMAX) == LSP_DMAX) {
+    ++msp;
+    lsp = LSP_DMAX + 1;
   }
-  v = f.value();
+  else
+    ++lsp;
 }
 
-template <typename T>
 inline void
-succ_float(T& v) {
-  Float<T> f(v);
-  PPL_ASSERT(!f.u.binary.is_nan());
-  PPL_ASSERT(f.u.binary.is_inf() <= 0);
-  if (f.u.binary.is_zero() < 0) {
-    f.u.binary.negate();
-    f.u.binary.inc();
-  }
-  else if (!f.u.binary.sign_bit()) {
-    f.u.binary.inc();
-  }
-  else {
-    f.u.binary.dec();
-  }
-  v = f.value();
+float_intel_double_extended::set_max(bool negative) {
+  msp = 0x00007ffeU;
+  lsp = static_cast<uint64_t>(0xffffffffffffffffULL);
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-template <typename Policy, typename To>
-inline Result
-round_lt_float(To& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    pred_float(to);
-    return V_GT;
-  }
-  return V_LT;
+inline void
+float_intel_double_extended::build(bool negative,
+				   mpz_t mantissa, int exponent) {
+#if ULONG_MAX == 0xffffffffUL
+  mpz_export(&lsp, 0, -1, 8, 0, 0, mantissa);
+#else
+  lsp = mpz_get_ui(mantissa);
+#endif
+  msp = (negative ? MSP_SGN_MASK : 0);
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint32_t>(exponent_repr);
 }
 
-template <typename Policy, typename To>
-inline Result
-round_gt_float(To& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    succ_float(to);
-    return V_LT;
-  }
-  return V_GT;
+inline int
+float_ieee754_quad::inf_sign() const {
+  if (lsp != LSP_INF)
+    return 0;
+  if (msp == MSP_NEG_INF)
+    return -1;
+  if (msp == MSP_POS_INF)
+    return 1;
+  return 0;
 }
 
-
-template <typename Policy>
-inline void
-prepare_inexact(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact
-      && !round_not_needed(dir) && round_strict_relation(dir))
-    fpu_reset_inexact();
+inline bool
+float_ieee754_quad::is_nan() const {
+  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
+    && lsp != LSP_INF;
 }
 
-template <typename Policy>
-inline Result
-result_relation(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact
-      && !round_not_needed(dir) && round_strict_relation(dir)) {
-    switch (fpu_check_inexact()) {
-    case 0:
-      return V_EQ;
-    case -1:
-      goto unknown;
-    case 1:
-      break;
-    }
-    switch (round_dir(dir)) {
-    case ROUND_DOWN:
-      return V_GT;
-    case ROUND_UP:
-      return V_LT;
-    default:
-      return V_NE;
-    }
-  }
-  else {
-  unknown:
-    switch (round_dir(dir)) {
-    case ROUND_DOWN:
-      return V_GE;
-    case ROUND_UP:
-      return V_LE;
-    default:
-      return V_LGE;
-    }
-  }
+inline int
+float_ieee754_quad::zero_sign() const {
+  if (lsp != LSP_ZERO)
+    return 0;
+  if (msp == MSP_NEG_ZERO)
+    return -1;
+  if (msp == MSP_POS_ZERO)
+    return 1;
+  return 0;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_float_exact(To& to, const From from, Rounding_Dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = from;
-  return V_EQ;
+inline void
+float_ieee754_quad::negate() {
+  msp ^= MSP_SGN_MASK;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = from;
-  else if (fpu_inverse_rounding(dir)) {
-    From tmp = -from;
-    to = tmp;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(from);
-    to = from;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  return result_relation<To_Policy>(dir);
+inline bool
+float_ieee754_quad::sign_bit() const {
+  return (msp & MSP_SGN_MASK) != 0;
 }
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_float(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) > sizeof(To))
-    return assign_float_float_inexact<To_Policy, From_Policy>(to, from, dir);
+inline void
+float_ieee754_quad::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
+  }
   else
-    return assign_float_float_exact<To_Policy, From_Policy>(to, from, dir);
+    --lsp;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-floor_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (fpu_direct_rounding(ROUND_DOWN))
-    to = rint(from);
-  else if (fpu_inverse_rounding(ROUND_DOWN)) {
-    to = rint(-from);
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN));
-    limit_precision(from);
-    to = rint(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+inline void
+float_ieee754_quad::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
   }
-  return V_EQ;
+  else
+    ++lsp;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-ceil_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (fpu_direct_rounding(ROUND_UP))
-    to = rint(from);
-  else if (fpu_inverse_rounding(ROUND_UP)) {
-    to = rint(-from);
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP));
-    limit_precision(from);
-    to = rint(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  return V_EQ;
+inline void
+float_ieee754_quad::set_max(bool negative) {
+  msp = static_cast<uint64_t>(0x7ffeffffffffffffULL);
+  lsp = static_cast<uint64_t>(0xffffffffffffffffULL);
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-trunc_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (from >= 0)
-    return floor<To_Policy, From_Policy>(to, from, dir);
-  else
-    return ceil<To_Policy, From_Policy>(to, from, dir);
+inline void
+float_ieee754_quad::build(bool negative, mpz_t mantissa, int exponent) {
+  uint64_t parts[2];
+  mpz_export(parts, 0, -1, 8, 0, 0, mantissa);
+  lsp = parts[0];
+  msp = parts[1];
+  msp &= ((static_cast<uint64_t>(1) << (MANTISSA_BITS - 64)) - 1);
+  if (negative)
+    msp |= MSP_SGN_MASK;
+  int exponent_repr = exponent + EXPONENT_BIAS;
+  PPL_ASSERT(exponent_repr >= 0 && exponent_repr < (1 << EXPONENT_BITS));
+  msp |= static_cast<uint64_t>(exponent_repr) << (MANTISSA_BITS - 64);
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = -from;
-  return V_EQ;
+inline bool
+is_less_precise_than(Floating_Point_Format f1, Floating_Point_Format f2) {
+  return f1 < f2;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_add_inf
-      && is_inf_float<From1_Policy>(x) && x == -y) {
-    return assign_nan<To_Policy>(to, V_INF_ADD_INF);
-  }
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x + y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = -x - y;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x + y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
+inline unsigned int
+msb_position(unsigned long long v) {
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(v))) - 1U - clz(v);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_sub_inf
-      && is_inf_float<From1_Policy>(x) && x == y) {
-    return assign_nan<To_Policy>(to, V_INF_SUB_INF);
-  }
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x - y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = y - x;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x - y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
+template <typename FP_Interval_Type>
+inline void
+affine_form_image(std::map<dimension_type,
+                           Linear_Form<FP_Interval_Type> >& lf_store,
+                  const Variable var,
+                  const Linear_Form<FP_Interval_Type>& lf) {
+  // Assign the new linear form for var.
+  lf_store[var.id()] = lf;
+  // Now invalidate all linear forms in which var occurs.
+  discard_occurrences(lf_store, var);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y))
-          ||
-	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
-    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
-  }
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x * y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = x * -y;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x * y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
+#if PPL_SUPPORTED_FLOAT
+inline
+Float<float>::Float() {
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_div_inf
-      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y)) {
-    return assign_nan<To_Policy>(to, V_INF_DIV_INF);
-  }
-  if (To_Policy::check_div_zero && y == 0) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = x / y;
-  else if (fpu_inverse_rounding(dir)) {
-    to = x / -y;
-    limit_precision(to);
-    to = -to;
-  }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    to = x / y;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
+inline
+Float<float>::Float(float v) {
+  u.number = v;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  Type temp;
-  // The inexact check is useless
-  dir = round_dir(dir);
-  Result r = div<To_Policy, From1_Policy, From2_Policy>(temp, x, y, dir);
-  if (result_class(r) != VC_NORMAL) {
-    to = temp;
-    return r;
-  }
-  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r1 == V_EQ);
-  if (r == V_EQ || to != temp)
-    return r1;
-  // FIXME: Prove that it's impossibile to return a strict relation
-  return dir == ROUND_UP ? V_LE : V_GE;
+inline float
+Float<float>::value() {
+  return u.number;
 }
+#endif
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-rem_float(Type& to, const Type x, const Type y, Rounding_Dir) {
-  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x)) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
-  }
-  if (To_Policy::check_div_zero && y == 0) {
-    return assign_nan<To_Policy>(to, V_MOD_ZERO);
-  }
-  to = std::fmod(x, y);
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return V_EQ;
+#if PPL_SUPPORTED_DOUBLE
+inline
+Float<double>::Float() {
 }
 
-struct Float_2exp {
-  const_bool_nodef(has_nan, false);
-  const_bool_nodef(has_infinity, false);
-};
+inline
+Float<double>::Float(double v) {
+  u.number = v;
+}
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  return
-    add<To_Policy, From_Policy, Float_2exp>(to,
-                                            x,
-                                            Type(1ULL << exp),
-                                            dir);
+inline double
+Float<double>::value() {
+  return u.number;
 }
+#endif
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  return
-    sub<To_Policy, From_Policy, Float_2exp>(to,
-                                            x,
-                                            Type(1ULL << exp),
-                                            dir);
+#if PPL_SUPPORTED_LONG_DOUBLE
+inline
+Float<long double>::Float() {
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  return
-    mul<To_Policy, From_Policy, Float_2exp>(to,
-                                            x,
-                                            Type(1ULL << exp),
-                                            dir);
-}
-
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  return
-    div<To_Policy, From_Policy, Float_2exp>(to,
-                                            x,
-                                            Type(1ULL << exp),
-                                            dir);
+inline
+Float<long double>::Float(long double v) {
+  u.number = v;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
-  }
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  Type m = 1ULL << exp;
-  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
-  Type m2 = m / 2;
-  if (to < -m2)
-    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
-  else if (to >= m2)
-    return sub_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
-  return V_EQ;
+inline long double
+Float<long double>::value() {
+  return u.number;
 }
+#endif
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
-  }
-  PPL_ASSERT(exp < sizeof(unsigned long long) * CHAR_BIT);
-  Type m = 1ULL << exp;
-  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
-  if (to < 0)
-    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
-  return V_EQ;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-abs_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = std::abs(from);
-  return V_EQ;
-}
+/* Automatically generated from PPL source file ../src/Float.templates.hh line 1. */
+/* IEC 559 floating point format related functions:
+   non-inline template functions.
+*/
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (To_Policy::check_sqrt_neg && from < 0) {
-    return assign_nan<To_Policy>(to, V_SQRT_NEG);
-  }
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = std::sqrt(from);
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(from);
-    to = std::sqrt(from);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
-  }
-  return result_relation<To_Policy>(dir);
-}
 
-template <typename Policy, typename Type>
-inline Result_Relation
-sgn_float(const Type x) {
-  if (x > 0)
-    return VR_GT;
-  if (x < 0)
-    return VR_LT;
-  if (x == 0)
-    return VR_EQ;
-  return VR_EMPTY;
-}
+/* Automatically generated from PPL source file ../src/Float.templates.hh line 30. */
+#include <cmath>
 
-template <typename Policy1, typename Policy2, typename Type>
-inline Result_Relation
-cmp_float(const Type x, const Type y) {
-  if (x > y)
-    return VR_GT;
-  if (x < y)
-    return VR_LT;
-  if (x == y)
-    return VR_EQ;
-  return VR_EMPTY;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = from;
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    to = from;
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+template <typename FP_Interval_Type>
+const FP_Interval_Type& compute_absolute_error(
+		        const Floating_Point_Format analyzed_format) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+
+  // FIXME: check if initializing caches with EMPTY is better.
+  static const FP_Interval_Type ZERO_INTERVAL = FP_Interval_Type(0);
+  // Cached results for each different analyzed format.
+  static FP_Interval_Type ieee754_half_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_single_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_double_result = ZERO_INTERVAL;
+  static FP_Interval_Type ibm_single_result = ZERO_INTERVAL;
+  static FP_Interval_Type ieee754_quad_result = ZERO_INTERVAL;
+  static FP_Interval_Type intel_double_extended_result = ZERO_INTERVAL;
+
+  FP_Interval_Type* to_compute = NULL;
+  // Get the necessary information on the analyzed's format.
+  unsigned int f_base;
+  int f_exponent_bias;
+  unsigned int f_mantissa_bits;
+  switch (analyzed_format) {
+    case IEEE754_HALF:
+      if (ieee754_half_result != ZERO_INTERVAL)
+        return ieee754_half_result;
+
+      to_compute = &ieee754_half_result;
+      f_base = float_ieee754_half::BASE;
+      f_exponent_bias = float_ieee754_half::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_half::MANTISSA_BITS;
+      break;
+    case IEEE754_SINGLE:
+      if (ieee754_single_result != ZERO_INTERVAL)
+        return ieee754_single_result;
+
+      to_compute = &ieee754_single_result;
+      f_base = float_ieee754_single::BASE;
+      f_exponent_bias = float_ieee754_single::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_single::MANTISSA_BITS;
+      break;
+    case IEEE754_DOUBLE:
+      if (ieee754_double_result != ZERO_INTERVAL)
+        return ieee754_double_result;
+
+      to_compute = &ieee754_double_result;
+      f_base = float_ieee754_double::BASE;
+      f_exponent_bias = float_ieee754_double::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_double::MANTISSA_BITS;
+      break;
+    case IBM_SINGLE:
+      if (ibm_single_result != ZERO_INTERVAL)
+        return ibm_single_result;
+
+      to_compute = &ibm_single_result;
+      f_base = float_ibm_single::BASE;
+      f_exponent_bias = float_ibm_single::EXPONENT_BIAS;
+      f_mantissa_bits = float_ibm_single::MANTISSA_BITS;
+      break;
+    case IEEE754_QUAD:
+      if (ieee754_quad_result != ZERO_INTERVAL)
+        return ieee754_quad_result;
+
+      to_compute = &ieee754_quad_result;
+      f_base = float_ieee754_quad::BASE;
+      f_exponent_bias = float_ieee754_quad::EXPONENT_BIAS;
+      f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS;
+      break;
+    case INTEL_DOUBLE_EXTENDED:
+      if (intel_double_extended_result != ZERO_INTERVAL)
+        return intel_double_extended_result;
+
+      to_compute = &intel_double_extended_result;
+      f_base = float_intel_double_extended::BASE;
+      f_exponent_bias = float_intel_double_extended::EXPONENT_BIAS;
+      f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS;
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
   }
-  return result_relation<To_Policy>(dir);
-}
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-inline Result
-assign_float_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) * CHAR_BIT > Float<To>::Binary::MANTISSA_BITS)
-    return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
-  else
-    return assign_exact<To_Policy, From_Policy>(to, from, dir);
-}
+  PPL_ASSERT(to_compute != NULL);
 
-template <typename Policy, typename T>
-inline Result
-set_neg_overflow_float(T& to, Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_UP:
-    {
-      Float<T> f;
-      f.u.binary.set_max(true);
-      to = f.value();
-      return V_LT_INF;
-    }
-  default:
-    to = -HUGE_VAL;
-    return V_GT_MINUS_INFINITY;
-  }
-}
+  // We assume that f_base is a power of 2.
+  analyzer_format omega;
+  int power = static_cast<int>(msb_position(f_base))
+    * ((1 - f_exponent_bias) - static_cast<int>(f_mantissa_bits));
+  omega = std::max(static_cast<analyzer_format>(ldexp(1.0, power)),
+                   std::numeric_limits<analyzer_format>::denorm_min());
 
-template <typename Policy, typename T>
-inline Result
-set_pos_overflow_float(T& to, Rounding_Dir dir) {
-  switch (round_dir(dir)) {
-  case ROUND_DOWN:
-    {
-      Float<T> f;
-      f.u.binary.set_max(false);
-      to = f.value();
-      return V_GT_SUP;
-    }
-  default:
-    to = HUGE_VAL;
-    return V_LT_PLUS_INFINITY;
-  }
+  to_compute->build(i_constraint(GREATER_OR_EQUAL, -omega),
+                    i_constraint(LESS_OR_EQUAL, omega));
+  return *to_compute;
 }
 
-template <typename To_Policy, typename From_Policy, typename T>
-inline Result
-assign_float_mpz(T& to, const mpz_class& _from, Rounding_Dir dir)
-{
-  mpz_srcptr from = _from.get_mpz_t();
-  int sign = mpz_sgn(from);
-  if (sign == 0) {
-    to = 0;
-    return V_EQ;
-  }
-  size_t exponent = mpz_sizeinbase(from, 2) - 1;
-  if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
-    if (sign < 0)
-      return set_neg_overflow_float<To_Policy>(to, dir);
-    else
-      return set_pos_overflow_float<To_Policy>(to, dir);
-  }
-  unsigned long zeroes = mpn_scan1(from->_mp_d, 0);
-  size_t meaningful_bits = exponent - zeroes;
-  mpz_t mantissa;
-  mpz_init(mantissa);
-  if (exponent > Float<T>::Binary::MANTISSA_BITS)
-    mpz_tdiv_q_2exp(mantissa,
-		    from,
-		    exponent - Float<T>::Binary::MANTISSA_BITS);
-  else
-    mpz_mul_2exp(mantissa, from, Float<T>::Binary::MANTISSA_BITS - exponent);
-  Float<T> f;
-  f.u.binary.build(sign < 0, mantissa, exponent);
-  mpz_clear(mantissa);
-  to = f.value();
-  if (meaningful_bits > Float<T>::Binary::MANTISSA_BITS) {
-    if (sign < 0)
-      return round_lt_float<To_Policy>(to, dir);
+template <typename FP_Interval_Type>
+void
+discard_occurrences(std::map<dimension_type,
+                             Linear_Form<FP_Interval_Type> >& lf_store,
+                    Variable var) {
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef typename std::map<dimension_type, FP_Linear_Form>::iterator Iter;
+  for (Iter i = lf_store.begin(); i != lf_store.end(); ) {
+    if((i->second).coefficient(var) != 0)
+      i = lf_store.erase(i);
     else
-      return round_gt_float<To_Policy>(to, dir);
+      ++i;
   }
-  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename T>
-inline Result
-assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir)
-{
-  const mpz_class& _num = from.get_num();
-  const mpz_class& _den = from.get_den();
-  if (_den == 1)
-    return assign_float_mpz<To_Policy, From_Policy>(to, _num, dir);
-  mpz_srcptr num = _num.get_mpz_t();
-  mpz_srcptr den = _den.get_mpz_t();
-  int sign = mpz_sgn(num);
-  signed long exponent = mpz_sizeinbase(num, 2) - mpz_sizeinbase(den, 2);
-  if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
-    to = 0;
-  inexact:
-    if (sign < 0)
-      return round_lt_float<To_Policy>(to, dir);
-    else
-      return round_gt_float<To_Policy>(to, dir);
-  }
-  if (exponent > int(Float<T>::Binary::EXPONENT_MAX + 1)) {
-  overflow:
-    if (sign < 0)
-      return set_neg_overflow_float<To_Policy>(to, dir);
+/* FIXME: improve efficiency by adding the list of potentially conflicting
+   variables as an argument. */
+template <typename FP_Interval_Type>
+void upper_bound_assign(std::map<dimension_type,
+			         Linear_Form<FP_Interval_Type> >& ls1,
+                        const std::map<dimension_type,
+			               Linear_Form<FP_Interval_Type> >& ls2) {
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef typename std::map<dimension_type, FP_Linear_Form>::iterator Iter;
+  typedef typename std::map<dimension_type,
+                            FP_Linear_Form>::const_iterator Const_Iter;
+
+  Const_Iter i2_end = ls2.end();
+  for (Iter i1 = ls1.begin(), i1_end = ls1.end(); i1 != i1_end; ) {
+    Const_Iter i2 = ls2.find(i1->first);
+    if ((i2 == i2_end) || (i1->second != i2->second))
+      i1 = ls1.erase(i1);
     else
-      return set_pos_overflow_float<To_Policy>(to, dir);
+      ++i1;
   }
-  unsigned int needed_bits = Float<T>::Binary::MANTISSA_BITS + 1;
-  if (exponent < Float<T>::Binary::EXPONENT_MIN)
-    needed_bits -= Float<T>::Binary::EXPONENT_MIN - exponent;
-  mpz_t mantissa;
-  mpz_init(mantissa);
-  signed long shift = needed_bits - exponent;
-  if (shift > 0) {
-    mpz_mul_2exp(mantissa, num, shift);
-    num = mantissa;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Float.defs.hh line 515. */
+
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 35. */
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+
+// It is a pity that function partial specialization is not permitted
+// by C++.  To (partly) overcome this limitation, we use class
+// encapsulated functions and partial specialization of containing
+// classes.
+
+#define PPL_FUNCTION_CLASS(name) name ## _function_struct
+
+#define PPL_DECLARE_FUN1_0_0(name, ret_type, qual, type)                \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg) {           \
+    return PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg); \
   }
-  else if (shift < 0) {
-    mpz_mul_2exp(mantissa, den, -shift);
-    den = mantissa;
+
+#define PPL_DECLARE_FUN1_0_1(name, ret_type, qual, type, after1)        \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg, PPL_U(after1) a1) { \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg, a1); \
   }
-  mpz_t r;
-  mpz_init(r);
-  mpz_tdiv_qr(mantissa, r, num, den);
-  size_t bits = mpz_sizeinbase(mantissa, 2);
-  bool inexact = (mpz_sgn(r) != 0);
-  mpz_clear(r);
-  if (bits == needed_bits + 1) {
-    inexact = (inexact || mpz_odd_p(mantissa));
-    mpz_tdiv_q_2exp(mantissa, mantissa, 1);
+
+#define PPL_DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg, PPL_U(after1) a1, \
+                       PPL_U(after2) a2) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg,      \
+                                                              a1, a2);  \
   }
-  else
-    --exponent;
-  if (exponent > int(Float<T>::Binary::EXPONENT_MAX)) {
-    mpz_clear(mantissa);
-    goto overflow;
+
+#define PPL_DECLARE_FUN1_0_3(name, ret_type, qual, type,                \
+                             after1, after2, after3)                    \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual) PPL_U(type)& arg,             \
+                       PPL_U(after1) a1, PPL_U(after2) a2,              \
+                       PPL_U(after3) a3) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(arg,      \
+                                                              a1, a2,   \
+                                                              a3);      \
   }
-  else if (exponent < Float<T>::Binary::EXPONENT_MIN - 1) {
-    // Denormalized.
-    exponent = Float<T>::Binary::EXPONENT_MIN - 1;
+
+#define PPL_DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(qual) PPL_U(type)& arg, \
+                       PPL_U(after1) a1) {                              \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, arg,  \
+                                                              a1);      \
   }
-  Float<T> f;
-  f.u.binary.build(sign < 0, mantissa, exponent);
-  mpz_clear(mantissa);
-  to = f.value();
-  if (inexact)
-    goto inexact;
-  return V_EQ;
-}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
-inline Result
-add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y))
-          ||
-	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
-    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+#define PPL_DECLARE_FUN1_1_2(name, ret_type, before1, qual, type,       \
+                             after1, after2)                            \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(qual) PPL_U(type)& arg, \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, arg,  \
+                                                              a1, a2);  \
   }
-  // FIXME: missing check_inf_add_inf
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = fma(x, y, to);
-  else if (fpu_inverse_rounding(dir)) {
-    to = fma(-x, y, -to);
-    limit_precision(to);
-    to = -to;
+
+#define PPL_DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, \
+                             after1, after2)                            \
+  template <typename Policy, typename type>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy, typename type>                             \
+  inline ret_type PPL_U(name)(PPL_U(before1) b1, PPL_U(before2) b2,     \
+                       PPL_U(qual) PPL_U(type)& arg,                    \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
+    return                                                              \
+      PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)>::function(b1, b2,   \
+                                                              arg,      \
+                                                              a1, a2);  \
   }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    limit_precision(to);
-    to = fma(x, y, to);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+
+#define PPL_DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2) {               \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
+      type1, PPL_U(type2)>::function(arg1, arg2);                       \
   }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
-}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
-inline Result
-sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
-  if (To_Policy::check_inf_mul_zero
-      && ((x == 0 && is_inf_float<From2_Policy>(y))
-          ||
-	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
-    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+#define PPL_DECLARE_FUN2_0_1(name, ret_type, qual1, type1,      \
+                             qual2, type2, after1)              \
+  template <typename Policy1, typename Policy2,                 \
+            typename type1, typename type2>                     \
+  struct PPL_FUNCTION_CLASS(name);                              \
+  template <typename Policy1, typename Policy2,                 \
+            typename type1, typename type2>                     \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,  \
+                       PPL_U(qual2) PPL_U(type2)& arg2,         \
+                       PPL_U(after1) a1) {                      \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,           \
+      type1, PPL_U(type2)>::function(arg1, arg2, a1);           \
   }
-  // FIXME: missing check_inf_add_inf
-  prepare_inexact<To_Policy>(dir);
-  if (fpu_direct_rounding(dir))
-    to = fma(x, -y, to);
-  else if (fpu_inverse_rounding(dir)) {
-    to = fma(x, y, -to);
-    limit_precision(to);
-    to = -to;
+
+#define PPL_DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, \
+                             after1, after2)                            \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2,                         \
+            typename type1, typename type2>                             \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2,                 \
+                       PPL_U(after1) a1, PPL_U(after2) a2) {            \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2,                   \
+      type1, PPL_U(type2)>::function(arg1, arg2, a1, a2);               \
   }
-  else {
-    fpu_rounding_control_word_type old
-      = fpu_save_rounding_direction(round_fpu_dir(dir));
-    limit_precision(x);
-    limit_precision(y);
-    limit_precision(to);
-    to = fma(x, -y, to);
-    limit_precision(to);
-    fpu_restore_rounding_direction(old);
+
+#define PPL_DECLARE_FUN3_0_1(name, ret_type, qual1, type1,              \
+                             qual2, type2, qual3, type3, after1)        \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename type1, typename type2, typename type3>             \
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename type1, typename type2, typename type3>             \
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1,          \
+                       PPL_U(qual2) PPL_U(type2)& arg2,                 \
+                       PPL_U(qual3) PPL_U(type3)& arg3,                 \
+                       PPL_U(after1) a1) {                              \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
+      type1, type2, PPL_U(type3)>                                       \
+      ::function(arg1, arg2, arg3, a1);                                 \
   }
-  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
-    return V_NAN;
-  return result_relation<To_Policy>(dir);
-}
 
-template <typename Policy, typename Type>
-inline Result
-output_float(std::ostream& os, const Type from, const Numeric_Format&,
-	     Rounding_Dir) {
-  if (from == 0)
-    os << "0";
-  else if (is_minf<Policy>(from))
-    os << "-inf";
-  else if (is_pinf<Policy>(from))
-    os << "+inf";
-  else if (is_nan<Policy>(from))
-    os << "nan";
-  else {
-    int old_precision = os.precision(10000);
-    // FIXME: here correctness depends on the behavior of the standard
-    // output operator which, in turn, may depend on the behavior
-    // of printf().  The C99 standard, 7.19.16.1#13, does not give
-    // enough guarantees.  We could not find something similar
-    // in the C++ standard, so there is a concrete danger here.
-    os << from;
-    os.precision(old_precision);
+#define PPL_DECLARE_FUN5_0_1(name, ret_type,				\
+                             qual1, type1, qual2, type2, qual3, type3,	\
+                             qual4, type4, qual5, type5,                \
+                             after1)					\
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename Policy4,typename Policy5,				\
+            typename type1, typename type2, typename type3,		\
+            typename type4, typename type5>				\
+  struct PPL_FUNCTION_CLASS(name);                                      \
+  template <typename Policy1, typename Policy2, typename Policy3,       \
+            typename Policy4,typename Policy5,				\
+            typename type1, typename type2, typename type3,		\
+            typename type4, typename type5>				\
+  inline ret_type PPL_U(name)(PPL_U(qual1) PPL_U(type1)& arg1, PPL_U(qual2) \
+                       PPL_U(type2)& arg2,                              \
+                       PPL_U(qual3) PPL_U(type3)& arg3, PPL_U(qual4)    \
+                       PPL_U(type4)& arg4,                              \
+                       PPL_U(qual5) PPL_U(type5)& arg5,                 \
+                       PPL_U(after1) a1) {                              \
+    return PPL_FUNCTION_CLASS(name)<Policy1, Policy2, Policy3,          \
+      Policy4, Policy5,                                                 \
+      type1, type2,                                                     \
+      type3, type4,                                                     \
+      PPL_U(type5)>                                                     \
+      ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
   }
-  return V_EQ;
-}
 
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, float, double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, float, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
-#endif
-#endif
+#define PPL_SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type)       \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg) {     \
+      return PPL_U(func)<Policy>(arg);                                  \
+    }                                                                   \
+  };
 
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float, double, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
-#endif
-#endif
+#define PPL_SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy>(arg, a1);                              \
+    }                                                                   \
+  };
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
-#endif
+#define PPL_SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type,       \
+                                after1, after2)                         \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(arg, a1, a2);                          \
+    }                                                                   \
+  };
 
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_CLASSIFY(classify_float, float)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, float)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, float)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, float)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, float)
-PPL_SPECIALIZE_IS_INT(is_int_float, float)
-PPL_SPECIALIZE_FLOOR(floor_float, float, float)
-PPL_SPECIALIZE_CEIL(ceil_float, float, float)
-PPL_SPECIALIZE_TRUNC(trunc_float, float, float)
-PPL_SPECIALIZE_NEG(neg_float, float, float)
-PPL_SPECIALIZE_ABS(abs_float, float, float)
-PPL_SPECIALIZE_ADD(add_float, float, float, float)
-PPL_SPECIALIZE_SUB(sub_float, float, float, float)
-PPL_SPECIALIZE_MUL(mul_float, float, float, float)
-PPL_SPECIALIZE_DIV(div_float, float, float, float)
-PPL_SPECIALIZE_REM(rem_float, float, float, float)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, float, float)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, float, float)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, float, float)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, float, float)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, float, float)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, float, float)
-PPL_SPECIALIZE_SQRT(sqrt_float, float, float)
-PPL_SPECIALIZE_GCD(gcd_exact, float, float, float)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
-PPL_SPECIALIZE_SGN(sgn_float, float)
-PPL_SPECIALIZE_CMP(cmp_float, float, float)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
-PPL_SPECIALIZE_INPUT(input_generic, float)
-PPL_SPECIALIZE_OUTPUT(output_float, float)
-#endif
+#define PPL_SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type,       \
+                                after1, after2, after3)                 \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2, \
+                                    PPL_U(after3) a3) {                 \
+      return PPL_U(func)<Policy>(arg, a1, a2, a3);                      \
+    }                                                                   \
+  };
 
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_CLASSIFY(classify_float, double)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, double)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, double)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, double)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, double)
-PPL_SPECIALIZE_IS_INT(is_int_float, double)
-PPL_SPECIALIZE_FLOOR(floor_float, double, double)
-PPL_SPECIALIZE_CEIL(ceil_float, double, double)
-PPL_SPECIALIZE_TRUNC(trunc_float, double, double)
-PPL_SPECIALIZE_NEG(neg_float, double, double)
-PPL_SPECIALIZE_ABS(abs_float, double, double)
-PPL_SPECIALIZE_ADD(add_float, double, double, double)
-PPL_SPECIALIZE_SUB(sub_float, double, double, double)
-PPL_SPECIALIZE_MUL(mul_float, double, double, double)
-PPL_SPECIALIZE_DIV(div_float, double, double, double)
-PPL_SPECIALIZE_REM(rem_float, double, double, double)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, double, double)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, double, double)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, double, double)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, double, double)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, double, double)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, double, double)
-PPL_SPECIALIZE_SQRT(sqrt_float, double, double)
-PPL_SPECIALIZE_GCD(gcd_exact, double, double, double)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
-PPL_SPECIALIZE_SGN(sgn_float, double)
-PPL_SPECIALIZE_CMP(cmp_float, double, double)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
-PPL_SPECIALIZE_INPUT(input_generic, double)
-PPL_SPECIALIZE_OUTPUT(output_float, double)
-#endif
+#define PPL_SPECIALIZE_FUN1_1_1(name, func, ret_type, before1,          \
+                                qual, type, after1)                     \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(qual)      \
+                                    PPL_U(type)& arg,                   \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy>(b1, arg, a1);                          \
+    }                                                                   \
+  };
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_CLASSIFY(classify_float, long double)
-PPL_SPECIALIZE_IS_NAN(is_nan_float, long double)
-PPL_SPECIALIZE_IS_MINF(is_minf_float, long double)
-PPL_SPECIALIZE_IS_PINF(is_pinf_float, long double)
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
-PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
-PPL_SPECIALIZE_COPY(copy_generic, long double)
-PPL_SPECIALIZE_IS_INT(is_int_float, long double)
-PPL_SPECIALIZE_FLOOR(floor_float, long double, long double)
-PPL_SPECIALIZE_CEIL(ceil_float, long double, long double)
-PPL_SPECIALIZE_TRUNC(trunc_float, long double, long double)
-PPL_SPECIALIZE_NEG(neg_float, long double, long double)
-PPL_SPECIALIZE_ABS(abs_float, long double, long double)
-PPL_SPECIALIZE_ADD(add_float, long double, long double, long double)
-PPL_SPECIALIZE_SUB(sub_float, long double, long double, long double)
-PPL_SPECIALIZE_MUL(mul_float, long double, long double, long double)
-PPL_SPECIALIZE_DIV(div_float, long double, long double, long double)
-PPL_SPECIALIZE_REM(rem_float, long double, long double, long double)
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, long double, long double)
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, long double, long double)
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, long double, long double)
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, long double, long double)
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, long double, long double)
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, long double, long double)
-PPL_SPECIALIZE_SQRT(sqrt_float, long double, long double)
-PPL_SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
-PPL_SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
-		  long double, long double)
-PPL_SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
-PPL_SPECIALIZE_SGN(sgn_float, long double)
-PPL_SPECIALIZE_CMP(cmp_float, long double, long double)
-PPL_SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
-PPL_SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
-PPL_SPECIALIZE_INPUT(input_generic, long double)
-PPL_SPECIALIZE_OUTPUT(output_float, long double)
-#endif
+#define PPL_SPECIALIZE_FUN1_1_2(name, func, ret_type, before1,          \
+                                qual, type, after1, after2)             \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(qual)      \
+                                    PPL_U(type)& arg,                   \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(b1, arg, a1, a2);                      \
+    }                                                                   \
+  };
 
-} // namespace Checked
+#define PPL_SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, \
+                                qual, type, after1, after2)             \
+  template <typename Policy>                                            \
+  struct PPL_FUNCTION_CLASS(name)<Policy, PPL_U(type)> {                \
+    static inline ret_type function(PPL_U(before1) b1, PPL_U(before2) b2, \
+                                    PPL_U(qual) PPL_U(type)& arg,       \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy>(b1, b2, arg, a1, a2);                  \
+    }                                                                   \
+  };
 
-} // namespace Parma_Polyhedra_Library
+#define PPL_SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1,     \
+                                qual2, type2)                           \
+  template <typename Policy1, typename Policy2>				\
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2) {  \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2);                 \
+    }                                                                   \
+  };
 
-/* Automatically generated from PPL source file ../src/checked_mpz.inlines.hh line 1. */
-/* Specialized "checked" functions for GMP's mpz_class numbers.
-*/
+#define PPL_SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, after1)                   \
+  template <typename Policy1, typename Policy2>                         \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2,    \
+                                    PPL_U(after1) a1) {                 \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2, a1);             \
+    }                                                                   \
+  };
 
+#define PPL_SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, after1, after2)           \
+  template <typename Policy1, typename Policy2>                         \
+  struct PPL_FUNCTION_CLASS(name)<Policy1, Policy2, type1,              \
+                                  PPL_U(type2)> {                       \
+    static inline ret_type function(PPL_U(qual1) PPL_U(type1)& arg1,    \
+                                    PPL_U(qual2) PPL_U(type2) &arg2,    \
+                                    PPL_U(after1) a1, PPL_U(after2) a2) \
+    {                                                                   \
+      return PPL_U(func)<Policy1, Policy2>(arg1, arg2, a1, a2);         \
+    }                                                                   \
+  };
 
-#include <sstream>
+#define PPL_SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1,     \
+                                qual2, type2, qual3, type3, after1)     \
+  template <typename Policy1, typename Policy2, typename Policy3>       \
+  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3,           \
+                                   type1, type2,                        \
+                                   PPL_U(type3)> {                      \
+    static inline Result function(PPL_U(qual1) PPL_U(type1)& arg1,      \
+                                  PPL_U(qual2) PPL_U(type2) &arg2,      \
+                                  PPL_U(qual3) PPL_U(type3) &arg3,      \
+                                  PPL_U(after1) a1) {                   \
+      return PPL_U(func)<Policy1, Policy2, Policy3>(arg1, arg2, arg3,   \
+                                                    a1);                \
+    }                                                                   \
+  };
 
-namespace Parma_Polyhedra_Library {
+#define PPL_SPECIALIZE_FUN5_0_1(name, func, ret_type,                   \
+                                qual1, type1, qual2, type2,             \
+                                qual3, type3,                           \
+                                qual4, type4, qual5, type5, after1)     \
+  template <typename Policy1, typename Policy2, typename Policy3,	\
+	    typename Policy4, typename Policy5>				\
+  struct PPL_FUNCTION_CLASS(name) <Policy1, Policy2, Policy3, Policy4,  \
+                                   Policy5,                             \
+                                   type1, type2,                        \
+                                   type3, type4,                        \
+                                   PPL_U(type5)> {                      \
+    static inline Result                                                \
+      function(PPL_U(qual1) PPL_U(type1)& arg1, PPL_U(qual2)            \
+               PPL_U(type2) &arg2,                                      \
+               PPL_U(qual3) PPL_U(type3) &arg3, PPL_U(qual4)            \
+               PPL_U(type4) &arg4,                                      \
+               PPL_U(qual5) PPL_U(type5) &arg5, PPL_U(after1) a1) {     \
+      return PPL_U(func)<Policy1, Policy2, Policy3, Policy4,            \
+        Policy5>(arg1, arg2, arg3, arg4, arg5, a1);                     \
+    }									\
+  };
 
-namespace Checked {
+// The `nonconst' macro helps readability of the sequel.
+#ifdef nonconst
+#define PPL_SAVED_nonconst nonconst
+#undef nonconst
+#endif
+#define nonconst
 
-template <typename Policy>
-inline Result
-round_lt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    --to;
-    return V_GT;
-  }
-  return V_LT;
-}
+#define PPL_SPECIALIZE_COPY(func, Type)                                 \
+  PPL_SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
+#define PPL_SPECIALIZE_SGN(func, From)                                  \
+  PPL_SPECIALIZE_FUN1_0_0(sgn, func, Result_Relation, const, From)
+#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
+  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result_Relation, const, Type1, const, Type2)
+#define PPL_SPECIALIZE_CLASSIFY(func, Type)                             \
+  PPL_SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
+#define PPL_SPECIALIZE_IS_NAN(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_MINF(func, Type)                      \
+  PPL_SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_PINF(func, Type)                      \
+  PPL_SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
+#define PPL_SPECIALIZE_IS_INT(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
+#define PPL_SPECIALIZE_ASSIGN_SPECIAL(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_0_2(assign_special, func, Result,                 \
+                          nonconst, Type, Result_Class, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
+  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
+                          Type, Result_Class, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT(func, To, From)                        \
+  PPL_SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To,        \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ASSIGN(func, To, From)                   \
+  PPL_SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To,   \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_FLOOR(func, To, From)                    \
+  PPL_SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To,    \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_CEIL(func, To, From)                     \
+  PPL_SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To,     \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_TRUNC(func, To, From)                    \
+  PPL_SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To,    \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_NEG(func, To, From)                      \
+  PPL_SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To,      \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ABS(func, To, From)                      \
+  PPL_SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To,      \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_SQRT(func, To, From)                     \
+  PPL_SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To,     \
+                          const, From, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_MUL(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_REM(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_IDIV(func, To, From1, From2)                     \
+  PPL_SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To,             \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(add_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(sub_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_MUL_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(mul_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV_2EXP(func, To, From)                         \
+  PPL_SPECIALIZE_FUN2_0_2(div_2exp, func, Result, nonconst, To,         \
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_SMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(smod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_UMOD_2EXP(func, To, From)			\
+  PPL_SPECIALIZE_FUN2_0_2(umod_2exp, func, Result, nonconst, To,	\
+                          const, From, unsigned int, Rounding_Dir)
+#define PPL_SPECIALIZE_ADD_MUL(func, To, From1, From2)                  \
+  PPL_SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To,          \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_SUB_MUL(func, To, From1, From2)                  \
+  PPL_SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To,          \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_GCD(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)        \
+  PPL_SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
+                          nonconst, To2, nonconst, To3,                 \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_LCM(func, To, From1, From2)                      \
+  PPL_SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To,              \
+                          const, From1, const, From2, Rounding_Dir)
+#define PPL_SPECIALIZE_INPUT(func, Type)                        \
+  PPL_SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type,  \
+                          std::istream&, Rounding_Dir)
+#define PPL_SPECIALIZE_OUTPUT(func, Type)                       \
+  PPL_SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&,  \
+                          const, Type,                          \
+                          const Numeric_Format&, Rounding_Dir)
 
-template <typename Policy>
-inline Result
-round_gt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    ++to;
-    return V_LT;
-  }
-  return V_GT;
-}
 
-#ifdef PPL_HAVE_TYPEOF
-//! Type of the _mp_size field of GMP's __mpz_struct.
-typedef typeof(__mpz_struct()._mp_size) mp_size_field_t;
-#else
-//! This is assumed to be the type of the _mp_size field of GMP's __mpz_struct.
-typedef int mp_size_field_t;
-#endif
+PPL_DECLARE_FUN2_0_0(copy,
+                     void, nonconst, Type1, const, Type2)
+PPL_DECLARE_FUN1_0_0(sgn,
+                     Result_Relation, const, From)
+PPL_DECLARE_FUN2_0_0(cmp,
+                     Result_Relation, const, Type1, const, Type2)
+PPL_DECLARE_FUN1_0_3(classify,
+                     Result, const, Type, bool, bool, bool)
+PPL_DECLARE_FUN1_0_0(is_nan,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_minf,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_pinf,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_0(is_int,
+                     bool, const, Type)
+PPL_DECLARE_FUN1_0_2(assign_special,
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(construct_special,
+                     Result, nonconst, Type, Result_Class, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(construct,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(assign,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(floor,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(ceil,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(trunc,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(neg,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(abs,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN2_0_1(sqrt,
+                     Result, nonconst, To, const, From, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(add,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(sub,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(div,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(rem,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(idiv,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(add_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(sub_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(mul_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(div_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(smod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(umod_2exp,
+                     Result, nonconst, To,
+                     const, From, unsigned int, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(add_mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(sub_mul,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(gcd,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN5_0_1(gcdext,
+                     Result, nonconst, To1, nonconst, To2, nonconst, To3,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN3_0_1(lcm,
+                     Result, nonconst, To,
+                     const, From1, const, From2, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(input,
+                     Result, nonconst, Type, std::istream&, Rounding_Dir)
+PPL_DECLARE_FUN1_1_2(output,
+                     Result, std::ostream&, const, Type,
+                     const Numeric_Format&, Rounding_Dir)
 
-inline mp_size_field_t
-get_mp_size(const mpz_class &v) {
-  return v.get_mpz_t()->_mp_size;
-}
+#undef PPL_DECLARE_FUN1_0_0
+#undef PPL_DECLARE_FUN1_0_1
+#undef PPL_DECLARE_FUN1_0_2
+#undef PPL_DECLARE_FUN1_0_3
+#undef PPL_DECLARE_FUN1_1_1
+#undef PPL_DECLARE_FUN1_1_2
+#undef PPL_DECLARE_FUN1_2_2
+#undef PPL_DECLARE_FUN2_0_0
+#undef PPL_DECLARE_FUN2_0_1
+#undef PPL_DECLARE_FUN2_0_2
+#undef PPL_DECLARE_FUN3_0_1
+#undef PPL_DECLARE_FUN5_0_1
 
-inline void
-set_mp_size(mpz_class &v, mp_size_field_t size) {
-  v.get_mpz_t()->_mp_size = size;
-}
+template <typename Policy, typename To>
+Result round(To& to, Result r, Rounding_Dir dir);
 
-template <typename Policy>
-inline Result
-classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
-  if (Policy::has_nan || Policy::has_infinity) {
-    mp_size_field_t s = get_mp_size(v);
-    if (Policy::has_nan
-	&& (nan || sign)
-	&& s == C_Integer<mp_size_field_t>::min + 1)
-      return V_NAN;
-    if (!inf && !sign)
-      return V_LGE;
-    if (Policy::has_infinity) {
-      if (s == C_Integer<mp_size_field_t>::min)
-	return inf ? V_EQ_MINUS_INFINITY : V_LT;
-      if (s == C_Integer<mp_size_field_t>::max)
-	return inf ? V_EQ_PLUS_INFINITY : V_GT;
-    }
-  }
-  if (sign)
-    return (Result) sgn<Policy>(v);
-  return V_LGE;
-}
+Result input_mpq(mpq_class& to, std::istream& is);
 
-PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
+std::string float_mpq_to_string(mpq_class& q);
 
-template <typename Policy>
-inline bool
-is_nan_mpz(const mpz_class& v) {
-  return Policy::has_nan
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::min + 1;
-}
+} // namespace Checked
 
-PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
+struct Minus_Infinity {
+  static const Result_Class vclass = VC_MINUS_INFINITY;
+};
+struct Plus_Infinity {
+  static const Result_Class vclass = VC_PLUS_INFINITY;
+};
+struct Not_A_Number {
+  static const Result_Class vclass = VC_NAN;
+};
 
-template <typename Policy>
-inline bool
-is_minf_mpz(const mpz_class& v) {
-  return Policy::has_infinity
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::min;
-}
+template <typename T>
+struct Is_Special : public False { };
 
-PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
+template <>
+struct Is_Special<Minus_Infinity> : public True {};
 
-template <typename Policy>
-inline bool
-is_pinf_mpz(const mpz_class& v) {
-  return Policy::has_infinity
-    && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
-}
+template <>
+struct Is_Special<Plus_Infinity> : public True {};
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
+template <>
+struct Is_Special<Not_A_Number> : public True {};
 
-template <typename Policy>
-inline bool
-is_int_mpz(const mpz_class& v) {
-  return !is_nan<Policy>(v);
-}
+extern Minus_Infinity MINUS_INFINITY;
+extern Plus_Infinity PLUS_INFINITY;
+extern Not_A_Number NOT_A_NUMBER;
 
-PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Checked_Number_Transparent_Policy {
+  //! Do not check for overflowed result.
+  const_bool_nodef(check_overflow, false);
 
-template <typename Policy>
-inline Result
-assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) {
-  switch (c) {
-  case VC_NAN:
-    if (Policy::has_nan)
-      set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
-    return V_NAN;
-  case VC_MINUS_INFINITY:
-    if (Policy::has_infinity) {
-      set_mp_size(v, C_Integer<mp_size_field_t>::min);
-      return V_EQ_MINUS_INFINITY;
-    }
-    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
-  case VC_PLUS_INFINITY:
-    if (Policy::has_infinity) {
-      set_mp_size(v, C_Integer<mp_size_field_t>::max);
-      return V_EQ_PLUS_INFINITY;
-    }
-    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
-  default:
-    PPL_ASSERT(false);
-    return V_NAN;
-  }
-}
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
 
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
 
-template <typename To_Policy, typename From_Policy>
-inline void
-copy_mpz(mpz_class& to, const mpz_class& from) {
-  if (is_nan_mpz<From_Policy>(from))
-    PPL_ASSERT(To_Policy::has_nan);
-  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
-    PPL_ASSERT(To_Policy::has_infinity);
-  else {
-    to = from;
-    return;
-  }
-  set_mp_size(to, get_mp_size(from));
-}
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
 
-PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
-    new (&to) mpz_class(from);
-    return V_EQ;
-}
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_not_requested(dir)) {
-    new (&to) mpz_class(from);
-    return V_LGE;
-  }
-  From n = rint(from);
-  new (&to) mpz_class(n);
-  if (from == n)
-    return V_EQ;
-  if (from < 0)
-    return round_lt_mpz<To_Policy>(to, dir);
-  else
-    return round_gt_mpz<To_Policy>(to, dir);
-}
+  //! Do not check for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
+  //! Handle not-a-number special value if \p T has it.
+  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
 
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
+  //! Handle infinity special values if \p T have them.
+  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(signed long))
-    to = static_cast<signed long>(from);
-  else {
-    mpz_ptr m = to.get_mpz_t();
-    if (from >= 0)
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
-    else {
-      From n = -from;
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
-      mpz_neg(m, m);
-    }
-  }
-  return V_EQ;
-}
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
+  const_bool_nodef(convertible, true);
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
+  //! Do not honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, false);
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(unsigned long))
-    to = static_cast<unsigned long>(from);
-  else
-    mpz_import(to.get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
-  return V_EQ;
-}
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  if (round_not_requested(dir)) {
-    to = from;
-    return V_LGE;
-  }
-  From i_from = rint(from);
-  to = i_from;
-  if (from == i_from)
-    return V_EQ;
-  if (round_direct(ROUND_UP))
-    return round_lt_mpz<To_Policy>(to, dir);
-  if (round_direct(ROUND_DOWN))
-    return round_gt_mpz<To_Policy>(to, dir);
-  if (from < i_from)
-    return round_lt_mpz<To_Policy>(to, dir);
-  if (from > i_from)
-    return round_gt_mpz<To_Policy>(to, dir);
-  PPL_ASSERT(false);
-  return V_NAN;
-}
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
-PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  // FIXME: this is an incredibly inefficient implementation!
-  std::stringstream ss;
-  output<From_Policy>(ss, from, Numeric_Format(), dir);
-  PPL_DIRTY_TEMP0(mpq_class, tmp);
-#ifndef NDEBUG
-  Result r =
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#define CHECK_P(cond, check) ((cond) ? (check) : (assert(!(check)), false))
+
+/* Automatically generated from PPL source file ../src/checked.inlines.hh line 1. */
+/* Abstract checked arithmetic functions: fall-backs.
+*/
+
+
+/* Automatically generated from PPL source file ../src/checked.inlines.hh line 31. */
+
+/*! \brief
+  Performs the test <CODE>a < b</CODE> avoiding the warning about the
+  comparison being always false due to limited range of data type.
+  FIXME: we have not found a working solution. The GCC option
+  -Wno-type-limits suppresses the warning
+*/
+#define PPL_LT_SILENT(a, b) ((a) < (b))
+#define PPL_GT_SILENT(a, b) ((a) > (b))
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+template <typename T1, typename T2>
+struct Safe_Conversion : public False {
+};
+template <typename T>
+struct Safe_Conversion<T, T> : public True {
+};
+
+#define PPL_SAFE_CONVERSION(To, From)                        \
+  template <> struct Safe_Conversion<PPL_U(To), PPL_U(From)> \
+    : public True { }
+
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed short, char);
+#endif
+PPL_SAFE_CONVERSION(signed short, signed char);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed short, char);
+#endif
+PPL_SAFE_CONVERSION(signed short, unsigned char);
 #endif
-    input_mpq(tmp, ss);
-  PPL_ASSERT(r == V_EQ);
-  return assign<To_Policy, From_Policy>(to, tmp, dir);
-}
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed int, char);
+#endif
+PPL_SAFE_CONVERSION(signed int, signed char);
+PPL_SAFE_CONVERSION(signed int, signed short);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed int, char);
+#endif
+PPL_SAFE_CONVERSION(signed int, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
+PPL_SAFE_CONVERSION(signed int, unsigned short);
+#endif
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
-  if (round_not_needed(dir)) {
-    to = from.get_num();
-    return V_LGE;
-  }
-  if (round_ignore(dir)) {
-    to = from;
-    return V_LGE;
-  }
-  mpz_srcptr n = from.get_num().get_mpz_t();
-  mpz_srcptr d = from.get_den().get_mpz_t();
-  if (round_down(dir)) {
-    mpz_fdiv_q(to.get_mpz_t(), n, d);
-    if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
-    return V_GE;
-  }
-  else {
-    PPL_ASSERT(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
-    return V_LE;
-  }
-}
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed long, char);
+#endif
+PPL_SAFE_CONVERSION(signed long, signed char);
+PPL_SAFE_CONVERSION(signed long, signed short);
+PPL_SAFE_CONVERSION(signed long, signed int);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed long, char);
+#endif
+PPL_SAFE_CONVERSION(signed long, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
+PPL_SAFE_CONVERSION(signed long, unsigned short);
+#endif
+#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
+PPL_SAFE_CONVERSION(signed long, unsigned int);
+#endif
 
-PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed long long, char);
+#endif
+PPL_SAFE_CONVERSION(signed long long, signed char);
+PPL_SAFE_CONVERSION(signed long long, signed short);
+PPL_SAFE_CONVERSION(signed long long, signed int);
+PPL_SAFE_CONVERSION(signed long long, signed long);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG_LONG
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(signed long long, char);
+#endif
+PPL_SAFE_CONVERSION(signed long long, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned short);
+#endif
+#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
+PPL_SAFE_CONVERSION(signed long long, unsigned long);
+#endif
 
-PPL_SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
-PPL_SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(unsigned short, char);
+#endif
+PPL_SAFE_CONVERSION(unsigned short, unsigned char);
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
-  mpz_neg(to.get_mpz_t(), from.get_mpz_t());
-  return V_EQ;
-}
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(unsigned int, char);
+#endif
+PPL_SAFE_CONVERSION(unsigned int, unsigned char);
+PPL_SAFE_CONVERSION(unsigned int, unsigned short);
 
-PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(unsigned long, char);
+#endif
+PPL_SAFE_CONVERSION(unsigned long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long, unsigned int);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x + y;
-  return V_EQ;
-}
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SAFE_CONVERSION(unsigned long long, char);
+#endif
+PPL_SAFE_CONVERSION(unsigned long long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned int);
+PPL_SAFE_CONVERSION(unsigned long long, unsigned long);
 
-PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x - y;
-  return V_EQ;
-}
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, char);
+PPL_SAFE_CONVERSION(float, signed char);
+PPL_SAFE_CONVERSION(float, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed short);
+PPL_SAFE_CONVERSION(float, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed int);
+PPL_SAFE_CONVERSION(float, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed long);
+PPL_SAFE_CONVERSION(float, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
+PPL_SAFE_CONVERSION(float, signed long long);
+PPL_SAFE_CONVERSION(float, unsigned long long);
+#endif
 
-PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, char);
+PPL_SAFE_CONVERSION(double, signed char);
+PPL_SAFE_CONVERSION(double, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed short);
+PPL_SAFE_CONVERSION(double, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed int);
+PPL_SAFE_CONVERSION(double, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed long);
+PPL_SAFE_CONVERSION(double, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
+PPL_SAFE_CONVERSION(double, signed long long);
+PPL_SAFE_CONVERSION(double, unsigned long long);
+#endif
+PPL_SAFE_CONVERSION(double, float);
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  to = x * y;
-  return V_EQ;
-}
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, char);
+PPL_SAFE_CONVERSION(long double, signed char);
+PPL_SAFE_CONVERSION(long double, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed short);
+PPL_SAFE_CONVERSION(long double, unsigned short);
+#endif
+#if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed int);
+PPL_SAFE_CONVERSION(long double, unsigned int);
+#endif
+#if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed long);
+PPL_SAFE_CONVERSION(long double, unsigned long);
+#endif
+#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
+PPL_SAFE_CONVERSION(long double, signed long long);
+PPL_SAFE_CONVERSION(long double, unsigned long long);
+#endif
+PPL_SAFE_CONVERSION(long double, float);
+PPL_SAFE_CONVERSION(long double, double);
 
-PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SAFE_CONVERSION(mpz_class, char);
+PPL_SAFE_CONVERSION(mpz_class, signed char);
+PPL_SAFE_CONVERSION(mpz_class, signed short);
+PPL_SAFE_CONVERSION(mpz_class, signed int);
+PPL_SAFE_CONVERSION(mpz_class, signed long);
+// GMP's API does not support signed long long.
+PPL_SAFE_CONVERSION(mpz_class, unsigned char);
+PPL_SAFE_CONVERSION(mpz_class, unsigned short);
+PPL_SAFE_CONVERSION(mpz_class, unsigned int);
+PPL_SAFE_CONVERSION(mpz_class, unsigned long);
+// GMP's API does not support unsigned long long.
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  mpz_srcptr n = x.get_mpz_t();
-  mpz_srcptr d = y.get_mpz_t();
-  if (round_not_needed(dir)) {
-    mpz_divexact(to.get_mpz_t(), n, d);
-    return V_LGE;
-  }
-  if (round_ignore(dir)) {
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return V_LE;
-  }
-  if (round_down(dir)) {
-    mpz_fdiv_q(to.get_mpz_t(), n, d);
-    if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_GT;
-    return V_GE;
+PPL_SAFE_CONVERSION(mpq_class, char);
+PPL_SAFE_CONVERSION(mpq_class, signed char);
+PPL_SAFE_CONVERSION(mpq_class, signed short);
+PPL_SAFE_CONVERSION(mpq_class, signed int);
+PPL_SAFE_CONVERSION(mpq_class, signed long);
+// GMP's API does not support signed long long.
+PPL_SAFE_CONVERSION(mpq_class, unsigned char);
+PPL_SAFE_CONVERSION(mpq_class, unsigned short);
+PPL_SAFE_CONVERSION(mpq_class, unsigned int);
+PPL_SAFE_CONVERSION(mpq_class, unsigned long);
+// GMP's API does not support unsigned long long.
+PPL_SAFE_CONVERSION(mpq_class, float);
+PPL_SAFE_CONVERSION(mpq_class, double);
+// GMP's API does not support long double.
+
+#undef PPL_SAFE_CONVERSION
+
+template <typename Policy, typename Type>
+struct PPL_FUNCTION_CLASS(construct)<Policy, Policy, Type, Type> {
+  static inline Result function(Type& to, const Type& from, Rounding_Dir) {
+    new (&to) Type(from);
+    return V_EQ;
   }
-  else {
-    PPL_ASSERT(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    if (round_strict_relation(dir))
-      return mpz_divisible_p(n, d) ? V_EQ : V_LT;
-    return V_LE;
+};
+
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+struct PPL_FUNCTION_CLASS(construct) {
+  static inline Result function(To& to, const From& from, Rounding_Dir dir) {
+    new (&to) To();
+    return assign<To_Policy, From_Policy>(to, from, dir);
   }
-}
+};
 
-PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
+template <typename To_Policy, typename To>
+struct PPL_FUNCTION_CLASS(construct_special) {
+  static inline Result function(To& to, Result_Class r, Rounding_Dir dir) {
+    new (&to) To();
+    return assign_special<To_Policy>(to, r, dir);
+  }
+};
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
-  }
-  mpz_srcptr n = x.get_mpz_t();
-  mpz_srcptr d = y.get_mpz_t();
-  mpz_tdiv_q(to.get_mpz_t(), n, d);
+assign_exact(To& to, const From& from, Rounding_Dir) {
+  to = from;
   return V_EQ;
 }
 
-PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
+template <typename To_Policy, typename From_Policy, typename Type>
+inline typename Enable_If<Is_Same<To_Policy, From_Policy>::value, void>::type
+copy_generic(Type& to, const Type& from) {
+  to = from;
+}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+abs_generic(To& to, const From& from, Rounding_Dir dir) {
+  if (from < 0)
+    return neg<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign<To_Policy, From_Policy>(to, from, dir);
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From>
+inline void
+gcd_exact_no_abs(To& to, const From& x, const From& y) {
+  To w_x = x;
+  To w_y = y;
+  To remainder;
+  while (w_y != 0) {
+    // The following is derived from the assumption that w_x % w_y
+    // is always representable. This is true for both native integers
+    // and IEC 559 floating point numbers.
+    rem<To_Policy, From1_Policy, From2_Policy>(remainder, w_x, w_y,
+                                               ROUND_NOT_NEEDED);
+    w_x = w_y;
+    w_y = remainder;
   }
-  to = x % y;
-  return V_EQ;
+  to = w_x;
 }
 
-PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  gcd_exact_no_abs<To_Policy, From1_Policy, From2_Policy>(to, x, y);
+  return abs<To_Policy, To_Policy>(to, to, dir);
+}
 
-template <typename To_Policy, typename From_Policy>
+template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
+	  typename From1_Policy, typename From2_Policy,
+	  typename To1, typename To2, typename To3,
+	  typename From1, typename From2>
 inline Result
-add_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-             Rounding_Dir) {
-  PPL_DIRTY_TEMP(mpz_class, v);
-  v = 1;
-  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
-  to = x + v;
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpz, mpz_class, mpz_class)
+gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
+	     Rounding_Dir dir) {
+  // In case this becomes a bottleneck, we may consider using the
+  // Stehle'-Zimmermann algorithm (see R. Crandall and C. Pomerance,
+  // Prime Numbers - A Computational Perspective, Second Edition,
+  // Springer, 2005).
+  if (y == 0) {
+    if (x == 0) {
+      s = 0;
+      t = 1;
+      return V_EQ;
+    }
+    else {
+      if (x < 0)
+	s = -1;
+      else
+	s = 1;
+      t = 0;
+      return abs<To1_Policy, From1_Policy>(to, x, dir);
+    }
+  }
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-sub_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-             Rounding_Dir) {
-  PPL_DIRTY_TEMP(mpz_class, v);
-  v = 1;
-  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
-  to = x - v;
-  return V_EQ;
-}
+  s = 1;
+  t = 0;
+  bool negative_x = x < 0;
+  bool negative_y = y < 0;
 
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpz, mpz_class, mpz_class)
+  Result r;
+  r = abs<To1_Policy, From1_Policy>(to, x, dir);
+  if (r != V_EQ)
+    return r;
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-mul_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-             Rounding_Dir) {
-  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-  return V_EQ;
-}
+  From2 a_y;
+  r = abs<To1_Policy, From2_Policy>(a_y, y, dir);
+  if (r != V_EQ)
+    return r;
 
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpz, mpz_class, mpz_class)
+  // If PPL_MATCH_GMP_GCDEXT is defined then s is favored when the absolute
+  // values of the given numbers are equal.  For instance if x and y
+  // are both 5 then s will be 1 and t will be 0, instead of the other
+  // way round.  This is to match the behavior of GMP.
+#define PPL_MATCH_GMP_GCDEXT 1
+#ifdef PPL_MATCH_GMP_GCDEXT
+  if (to == a_y)
+    goto sign_check;
+#endif
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-             Rounding_Dir dir) {
-  mpz_srcptr n = x.get_mpz_t();
-  if (round_not_requested(dir)) {
-    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-    return V_LGE;
-  }
-  if (round_down(dir)) {
-    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
-    if (round_strict_relation(dir))
-      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
-    return V_GE;
-  }
-  else {
-    PPL_ASSERT(round_up(dir));
-    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
-    if (round_strict_relation(dir))
-      return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
-    return V_LE;
+  {
+    To2 v1 = 0;
+    To3 v2 = 1;
+    To1 v3 = static_cast<To1>(a_y);
+    while (true) {
+      To1 q = to / v3;
+      // Remainder, next candidate GCD.
+      To1 t3 = to - q*v3;
+      To2 t1 = s - static_cast<To2>(q)*v1;
+      To3 t2 = t - static_cast<To3>(q)*v2;
+      s = v1;
+      t = v2;
+      to = v3;
+      if (t3 == 0)
+	break;
+      v1 = t1;
+      v2 = t2;
+      v3 = t3;
+    }
   }
-}
-
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpz, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-	      Rounding_Dir) {
-  if (mpz_tstbit(x.get_mpz_t(), exp - 1))
-    mpz_cdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-  else
-    mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+#ifdef PPL_MATCH_GMP_GCDEXT
+ sign_check:
+#endif
+  if (negative_x) {
+    r = neg<To2_Policy, To2_Policy>(s, s, dir);
+    if (r != V_EQ)
+      return r;
+  }
+  if (negative_y)
+    return neg<To3_Policy, To3_Policy>(t, t, dir);
   return V_EQ;
+#undef PPL_MATCH_GMP_GCDEXT
 }
 
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
 inline Result
-umod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
-	      Rounding_Dir) {
-  mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-  return V_EQ;
+lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (x == 0 || y == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  To a_x;
+  To a_y;
+  Result r;
+  r = abs<From1_Policy, From1_Policy>(a_x, x, dir);
+  if (r != V_EQ)
+    return r;
+  r = abs<From2_Policy, From2_Policy>(a_y, y, dir);
+  if (r != V_EQ)
+    return r;
+  To gcd;
+  gcd_exact_no_abs<To_Policy, From1_Policy, From2_Policy>(gcd, a_x, a_y);
+  // The following is derived from the assumption that a_x / gcd(a_x, a_y)
+  // is always representable. This is true for both native integers
+  // and IEC 559 floating point numbers.
+  div<To_Policy, From1_Policy, To_Policy>(to, a_x, gcd, ROUND_NOT_NEEDED);
+  return mul<To_Policy, To_Policy, From2_Policy>(to, to, a_y, dir);
 }
 
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
-  to = abs(from);
-  return V_EQ;
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_generic(const Type& x) {
+  if (x > 0)
+    return VR_GT;
+  if (x == 0)
+    return VR_EQ;
+  return VR_LT;
 }
 
-PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
+template <typename T1, typename T2, typename Enable = void>
+struct Safe_Int_Comparison : public False {
+};
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	    Rounding_Dir) {
-  mpz_addmul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
-}
+template <typename T1, typename T2>
+struct Safe_Int_Comparison<T1, T2, typename Enable_If<(C_Integer<T1>::value && C_Integer<T2>::value)>::type>
+  : public Bool<(C_Integer<T1>::is_signed
+		 ? (C_Integer<T2>::is_signed
+		    || sizeof(T2) < sizeof(T1)
+		    || sizeof(T2) < sizeof(int))
+		 : (!C_Integer<T2>::is_signed
+		    || sizeof(T1) < sizeof(T2)
+		    || sizeof(T1) < sizeof(int)))> {
+};
 
-PPL_SPECIALIZE_ADD_MUL(add_mul_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
-	    Rounding_Dir) {
-  mpz_submul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+lt(const T1& x, const T2& y) {
+  return x < y;
+}
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+le(const T1& x, const T2& y) {
+  return x <= y;
+}
+template <typename T1, typename T2>
+inline typename Enable_If<(Safe_Int_Comparison<T1, T2>::value
+			   || Safe_Conversion<T1, T2>::value
+			   || Safe_Conversion<T2, T1>::value), bool>::type
+eq(const T1& x, const T2& y) {
+  return x == y;
 }
 
-PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+lt(const S& x, const U& y) {
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) < y;
+}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  mpz_gcd(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+lt(const U& x, const S& y) {
+  return y >= 0 && x < static_cast<typename C_Integer<S>::other_type>(y);
 }
 
-PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+le(const S& x, const U& y) {
+  return x < 0 || static_cast<typename C_Integer<S>::other_type>(x) <= y;
+}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t,
-	   const mpz_class& x, const mpz_class& y,
-	   Rounding_Dir) {
-  mpz_gcdext(to.get_mpz_t(), s.get_mpz_t(), t.get_mpz_t(),
-	     x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+le(const U& x, const S& y) {
+  return y >= 0 && x <= static_cast<typename C_Integer<S>::other_type>(y);
 }
 
-PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
+template <typename S, typename U>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+eq(const S& x, const U& y) {
+  return x >= 0 && static_cast<typename C_Integer<S>::other_type>(x) == y;
+}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
-  mpz_lcm(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
-  return V_EQ;
+template <typename U, typename S>
+inline typename Enable_If<(!Safe_Int_Comparison<S, U>::value
+			   && C_Integer<U>::value
+			   && C_Integer<S>::is_signed), bool>::type
+eq(const U& x, const S& y) {
+  return y >= 0 && x == static_cast<typename C_Integer<S>::other_type>(y);
 }
 
-PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
+template <typename T1, typename T2>
+inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
+			   && !Safe_Conversion<T2, T1>::value
+			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+eq(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r = assign_r(tmp, y, ROUND_CHECK);
+  // FIXME: We can do this also without fpu inexact check using a
+  // conversion back and forth and then testing equality.  We should
+  // code this in checked_float.inlines.hh, probably it's faster also
+  // if fpu supports inexact check.
+  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
+  return r == V_EQ && x == tmp;
+}
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
-    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+template <typename T1, typename T2>
+inline typename Enable_If<(!Safe_Conversion<T1, T2>::value
+			   && !Safe_Conversion<T2, T1>::value
+			   && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+lt(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r = assign_r(tmp, y, ROUND_UP);
+  if (!result_representable(r))
+    return true;
+  switch (result_relation(r)) {
+  case VR_EQ:
+  case VR_LT:
+  case VR_LE:
+    return x < tmp;
+  default:
+    return false;
   }
-  if (round_not_requested(dir)) {
-    to = sqrt(from);
-    return V_GE;
+}
+
+template <typename T1, typename T2>
+inline typename
+Enable_If<(!Safe_Conversion<T1, T2>::value
+           && !Safe_Conversion<T2, T1>::value
+           && (!C_Integer<T1>::value || !C_Integer<T2>::value)), bool>::type
+le(const T1& x, const T2& y) {
+  PPL_DIRTY_TEMP(T1, tmp);
+  Result r = assign_r(tmp, y, (ROUND_UP | ROUND_STRICT_RELATION));
+  // FIXME: We can do this also without fpu inexact check using a
+  // conversion back and forth and then testing equality.  We should
+  // code this in checked_float.inlines.hh, probably it's faster also
+  // if fpu supports inexact check.
+  PPL_ASSERT(r != V_LE && r != V_GE && r != V_LGE);
+  if (!result_representable(r))
+    return true;
+  switch (result_relation(r)) {
+  case VR_EQ:
+    return x <= tmp;
+  case VR_LT:
+    return x < tmp;
+  case VR_LE:
+  case VR_GE:
+  case VR_LGE:
+    // See comment above.
+    PPL_UNREACHABLE;
+    return false;
+  default:
+    return false;
   }
-  PPL_DIRTY_TEMP0(mpz_class, r);
-  mpz_sqrtrem(to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t());
-  if (r == 0)
-    return V_EQ;
-  return round_gt_mpz<To_Policy>(to, dir);
 }
 
-PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+lt_p(const Type1& x, const Type2& y) {
+  return lt(x, y);
+}
 
-template <typename Policy, typename Type>
-inline Result_Relation
-sgn_mp(const Type& x) {
-  int i = ::sgn(x);
-  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+le_p(const Type1& x, const Type2& y) {
+  return le(x, y);
 }
 
-PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
-PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+eq_p(const Type1& x, const Type2& y) {
+  return eq(x, y);
+}
 
-template <typename Policy1, typename Policy2, typename Type>
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
 inline Result_Relation
-cmp_mp(const Type& x, const Type& y) {
-  int i = ::cmp(x, y);
-  return i > 0 ? VR_GT : i < 0 ? VR_LT : VR_EQ;
+cmp_generic(const Type1& x, const Type2& y) {
+  if (lt(y, x))
+    return VR_GT;
+  if (lt(x, y))
+    return VR_LT;
+  return VR_EQ;
 }
 
-PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
-PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
-
-template <typename Policy>
+template <typename Policy, typename Type>
 inline Result
-output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
-  return V_EQ;
+assign_nan(Type& to, Result r) {
+  assign_special<Policy>(to, VC_NAN, ROUND_IGNORE);
+  return r;
 }
 
-PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
-PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
+template <typename Policy, typename Type>
+inline Result
+input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
+  PPL_DIRTY_TEMP(mpq_class, q);
+  Result r = input_mpq(q, is);
+  Result_Class c = result_class(r);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
+  case VC_NAN:
+    return assign_nan<Policy>(to, r);
+  default:
+    break;
+  }
+  PPL_ASSERT(r == V_EQ);
+  return assign<Policy, void>(to, q, dir);
+}
 
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/checked_mpq.inlines.hh line 1. */
-/* Specialized "checked" functions for GMP's mpq_class numbers.
+/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 1. */
+/* Specialized "checked" functions for native integer numbers.
 */
 
 
-#include <sstream>
+/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 28. */
+#include <cerrno>
+#include <cstdlib>
 #include <climits>
-#include <stdexcept>
-
-namespace Parma_Polyhedra_Library {
+#include <string>
 
-namespace Checked {
+#if !PPL_HAVE_DECL_STRTOLL
+signed long long
+strtoll(const char* nptr, char** endptr, int base);
+#endif
 
-template <typename Policy>
-inline Result
-classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
-  if ((Policy::has_nan || Policy::has_infinity)
-      && ::sgn(v.get_den()) == 0) {
-    int s = ::sgn(v.get_num());
-    if (Policy::has_nan && (nan || sign) && s == 0)
-      return V_NAN;
-    if (!inf && !sign)
-      return V_LGE;
-    if (Policy::has_infinity) {
-      if (s < 0)
-	return inf ? V_EQ_MINUS_INFINITY : V_LT;
-      if (s > 0)
-	return inf ? V_EQ_PLUS_INFINITY : V_GT;
-    }
-  }
-  if (sign)
-    return (Result) sgn<Policy>(v);
-  return V_LGE;
-}
+#if !PPL_HAVE_DECL_STRTOULL
+unsigned long long
+strtoull(const char* nptr, char** endptr, int base);
+#endif
 
-PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
+namespace Parma_Polyhedra_Library {
 
-template <typename Policy>
-inline bool
-is_nan_mpq(const mpq_class& v) {
-  return Policy::has_nan
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) == 0;
-}
+namespace Checked {
 
-PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
+#ifndef PPL_HAVE_INT_FAST16_T
+typedef int16_t int_fast16_t;
+#endif
 
-template <typename Policy>
-inline bool
-is_minf_mpq(const mpq_class& v) {
-  return Policy::has_infinity
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) < 0;
-}
+#ifndef PPL_HAVE_INT_FAST32_T
+typedef int32_t int_fast32_t;
+#endif
 
-PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
+#ifndef PPL_HAVE_INT_FAST64_T
+typedef int64_t int_fast64_t;
+#endif
 
-template <typename Policy>
-inline bool
-is_pinf_mpq(const mpq_class& v) {
-  return Policy::has_infinity
-    && ::sgn(v.get_den()) == 0
-    && ::sgn(v.get_num()) > 0;
-}
+#ifndef PPL_HAVE_UINT_FAST16_T
+typedef uint16_t uint_fast16_t;
+#endif
 
-PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
+#ifndef PPL_HAVE_UINT_FAST32_T
+typedef uint32_t uint_fast32_t;
+#endif
 
-template <typename Policy>
-inline bool
-is_int_mpq(const mpq_class& v) {
-  if ((Policy::has_infinity || Policy::has_nan)
-      && ::sgn(v.get_den()) == 0)
-    return !(Policy::has_nan && ::sgn(v.get_num()) == 0);
-  else
-    return v.get_den() == 1;
-}
+#ifndef PPL_HAVE_UINT_FAST64_T
+typedef uint64_t uint_fast64_t;
+#endif
 
-PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
+template <typename Policy, typename Type>
+struct Extended_Int {
+  static const Type plus_infinity = C_Integer<Type>::max;
+  static const Type minus_infinity = ((C_Integer<Type>::min >= 0)
+				      ? (C_Integer<Type>::max - 1)
+				      : C_Integer<Type>::min);
+  static const Type not_a_number
+  = ((C_Integer<Type>::min >= 0)
+     ? (C_Integer<Type>::max - 2 * (Policy::has_infinity ? 1 : 0))
+     : (C_Integer<Type>::min + (Policy::has_infinity ? 1 : 0)));
+  static const Type min
+  = (C_Integer<Type>::min
+     + ((C_Integer<Type>::min >= 0)
+        ? 0
+        : ((Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0))));
+  static const Type max
+  = (C_Integer<Type>::max
+     - ((C_Integer<Type>::min >= 0)
+        ? (2 * (Policy::has_infinity ? 1 : 0) + (Policy::has_nan ? 1 : 0))
+        : (Policy::has_infinity ? 1 : 0)));
+};
 
-template <typename Policy>
+template <typename Policy, typename To>
 inline Result
-assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) {
-  switch (c) {
-  case VC_NAN:
-    if (Policy::has_nan) {
-      v.get_num() = 0;
-      v.get_den() = 0;
-      return V_NAN | V_UNREPRESENTABLE;
-    }
-    return V_NAN;
-  case VC_MINUS_INFINITY:
-    if (Policy::has_infinity) {
-      v.get_num() = -1;
-      v.get_den() = 0;
-      return V_EQ_MINUS_INFINITY;
-    }
-    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
-  case VC_PLUS_INFINITY:
+set_neg_overflow_int(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    to = Extended_Int<Policy, To>::min;
+    return V_LT_INF;
+  }
+  else {
     if (Policy::has_infinity) {
-      v.get_num() = 1;
-      v.get_den() = 0;
-      return V_EQ_PLUS_INFINITY;
+      to = Extended_Int<Policy, To>::minus_infinity;
+      return V_GT_MINUS_INFINITY;
     }
-    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
-  default:
-    PPL_ASSERT(false);
-    return V_NAN | V_UNREPRESENTABLE;
+    return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
   }
 }
 
-PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
-
-PPL_SPECIALIZE_COPY(copy_generic, mpq_class)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename To>
 inline Result
-construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
-  new (&to) mpq_class(from);
-  return V_EQ;
+set_pos_overflow_int(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    to = Extended_Int<Policy, To>::max;
+    return V_GT_SUP;
+  }
+  else {
+    if (Policy::has_infinity) {
+      to = Extended_Int<Policy, To>::plus_infinity;
+      return V_LT_PLUS_INFINITY;
+    }
+    return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
+  }
 }
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename To>
 inline Result
-construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  new (&to) mpq_class(from);
-  return V_EQ;
+round_lt_int_no_overflow(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    --to;
+    return V_GT;
+  }
+  return V_LT;
 }
 
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
-PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
-
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
-PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename To>
 inline Result
-assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  to = from;
-  return V_EQ;
+round_gt_int_no_overflow(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    ++to;
+    return V_LT;
+  }
+  return V_GT;
 }
 
-PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
-PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename To>
 inline Result
-assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(signed long))
-    to = static_cast<signed long>(from);
-  else {
-    mpz_ptr m = to.get_num().get_mpz_t();
-    if (from >= 0)
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+round_lt_int(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    if (to == Extended_Int<Policy, To>::min) {
+      if (Policy::has_infinity) {
+	to = Extended_Int<Policy, To>::minus_infinity;
+	return V_GT_MINUS_INFINITY;
+      }
+      return V_GT_MINUS_INFINITY | V_UNREPRESENTABLE;
+    }
     else {
-      From n = -from;
-      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
-      mpz_neg(m, m);
+      --to;
+      return V_GT;
     }
-    to.get_den() = 1;
   }
-  return V_EQ;
+  return V_LT;
 }
 
-PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename To>
 inline Result
-assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) {
-  if (sizeof(From) <= sizeof(unsigned long))
-    to = static_cast<unsigned long>(from);
-  else {
-    mpz_import(to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
-    to.get_den() = 1;
+round_gt_int(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    if (to == Extended_Int<Policy, To>::max) {
+      if (Policy::has_infinity) {
+	to = Extended_Int<Policy, To>::plus_infinity;
+	return V_LT_PLUS_INFINITY;
+      }
+      return V_LT_PLUS_INFINITY | V_UNREPRESENTABLE;
+    }
+    else {
+      ++to;
+      return V_LT;
+    }
   }
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_fdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_cdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
+  return V_GT;
 }
 
-PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, char)
+PPL_SPECIALIZE_COPY(copy_generic, signed char)
+PPL_SPECIALIZE_COPY(copy_generic, signed short)
+PPL_SPECIALIZE_COPY(copy_generic, signed int)
+PPL_SPECIALIZE_COPY(copy_generic, signed long)
+PPL_SPECIALIZE_COPY(copy_generic, signed long long)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned char)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned short)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned int)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned long)
+PPL_SPECIALIZE_COPY(copy_generic, unsigned long long)
 
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename Type>
 inline Result
-trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpz_tdiv_q(to.get_num().get_mpz_t(),
-	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
-  to.get_den() = 1;
-  return V_EQ;
+classify_int(const Type v, bool nan, bool inf, bool sign) {
+  if (Policy::has_nan
+      && (nan || sign)
+      && v == Extended_Int<Policy, Type>::not_a_number)
+    return V_NAN;
+  if (!inf && !sign)
+    return V_LGE;
+  if (Policy::has_infinity) {
+    if (v == Extended_Int<Policy, Type>::minus_infinity)
+      return inf ? V_EQ_MINUS_INFINITY : V_LT;
+    if (v == Extended_Int<Policy, Type>::plus_infinity)
+      return inf ? V_EQ_PLUS_INFINITY : V_GT;
+  }
+  if (sign) {
+    if (v < 0)
+      return V_LT;
+    if (v > 0)
+      return V_GT;
+    return V_EQ;
+  }
+  return V_LGE;
 }
 
-PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_CLASSIFY(classify_int, char)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed char)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed short)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed int)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, signed long long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned char)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned short)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned int)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long)
+PPL_SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpq_neg(to.get_mpq_t(), from.get_mpq_t());
-  return V_EQ;
+template <typename Policy, typename Type>
+inline bool
+is_nan_int(const Type v) {
+  return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
 }
 
-PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, char)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed char)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed short)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed int)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, signed long long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
+PPL_SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x + y;
-  return V_EQ;
+template <typename Policy, typename Type>
+inline bool
+is_minf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::minus_infinity;
 }
 
-PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, char)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed char)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed short)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed int)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, signed long long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
+PPL_SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x - y;
-  return V_EQ;
+template <typename Policy, typename Type>
+inline bool
+is_pinf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::plus_infinity;
 }
 
-PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, char)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed char)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed short)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed int)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
+PPL_SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x * y;
-  return V_EQ;
+template <typename Policy, typename Type>
+inline bool
+is_int_int(const Type v) {
+  return !is_nan<Policy>(v);
 }
 
-PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_IS_INT(is_int_int, char)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed char)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed short)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed int)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed long)
+PPL_SPECIALIZE_IS_INT(is_int_int, signed long long)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned char)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned short)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned int)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long)
+PPL_SPECIALIZE_IS_INT(is_int_int, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename Type>
 inline Result
-div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+assign_special_int(Type& v, Result_Class c, Rounding_Dir dir) {
+  PPL_ASSERT(c == VC_MINUS_INFINITY || c == VC_PLUS_INFINITY || c == VC_NAN);
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan) {
+      v = Extended_Int<Policy, Type>::not_a_number;
+      return V_NAN;
+    }
+    return V_NAN | V_UNREPRESENTABLE;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::minus_infinity;
+      return V_EQ_MINUS_INFINITY;
+    }
+    if (round_up(dir)) {
+      v = Extended_Int<Policy, Type>::min;
+      return V_LT_INF;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::plus_infinity;
+      return V_EQ_PLUS_INFINITY;
+    }
+    if (round_down(dir)) {
+      v = Extended_Int<Policy, Type>::max;
+      return V_GT_SUP;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN | V_UNREPRESENTABLE;
   }
-  to = x / y;
-  return V_EQ;
 }
 
-PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, char)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+assign_signed_int_signed_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) < sizeof(From)
+      || (sizeof(To) == sizeof(From)
+	  && (Extended_Int<To_Policy, To>::min > Extended_Int<From_Policy, From>::min
+	      || Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max))) {
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_LT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::min))))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_GT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::max))))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  to = x / y;
-  return trunc<To_Policy, To_Policy>(to, to, dir);
+  to = static_cast<To>(from);
+  return V_EQ;
 }
 
-PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
-    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+assign_signed_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) <= sizeof(From)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  PPL_DIRTY_TEMP(mpq_class, tmp);
-  tmp = x / y;
-  tmp.get_num() %= tmp.get_den();
-  to = tmp * y;
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-add_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-             Rounding_Dir) {
-  PPL_DIRTY_TEMP(mpz_class, v);
-  v = 1;
-  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
-  to = x + v;
+assign_unsigned_int_signed_int(To& to, const From from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_overflow, from < 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (sizeof(To) < sizeof(From)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
+  }
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-sub_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-             Rounding_Dir) {
-  PPL_DIRTY_TEMP(mpz_class, v);
-  v = 1;
-  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
-  to = x - v;
+assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(To) < sizeof(From)
+      || (sizeof(To) == sizeof(From)
+	  && Extended_Int<To_Policy, To>::max < Extended_Int<From_Policy, From>::max)) {
+    if (CHECK_P(To_Policy::check_overflow,
+		PPL_GT_SILENT(from,
+                              static_cast<From>(Extended_Int<To_Policy, To>::max))))
+      return set_pos_overflow_int<To_Policy>(to, dir);
+  }
+  to = static_cast<To>(from);
   return V_EQ;
 }
 
-PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpq, mpq_class, mpq_class)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-mul_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-             Rounding_Dir) {
-  mpz_mul_2exp(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp);
-  to.get_den() = x.get_den();
-  to.canonicalize();
-  return V_EQ;
-}
+#define PPL_ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
 
-PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpq, mpq_class, mpq_class)
+#define PPL_ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-div_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-             Rounding_Dir) {
-  to.get_num() = x.get_num();
-  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
-  to.canonicalize();
-  return V_EQ;
-}
+#define PPL_ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
 
-PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpq, mpq_class, mpq_class)
+#define PPL_ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-smod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-	      Rounding_Dir) {
-  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
-  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
-  mpz_fdiv_q_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
-  bool neg = to.get_num() >= to.get_den();
-  mpz_mul_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
-  if (neg)
-    to.get_num() -= to.get_den();
-  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
-  to.canonicalize();
-  return V_EQ;
-}
+#define PPL_ASSIGN_SIGNED(Type) \
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
+#define PPL_ASSIGN_UNSIGNED(Type) \
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
 
-PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpq, mpq_class, mpq_class)
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN_SIGNED(char)
+#endif
+PPL_ASSIGN_SIGNED(signed char)
+PPL_ASSIGN_SIGNED(signed short)
+PPL_ASSIGN_SIGNED(signed int)
+PPL_ASSIGN_SIGNED(signed long)
+PPL_ASSIGN_SIGNED(signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN_UNSIGNED(char)
+#endif
+PPL_ASSIGN_UNSIGNED(unsigned char)
+PPL_ASSIGN_UNSIGNED(unsigned short)
+PPL_ASSIGN_UNSIGNED(unsigned int)
+PPL_ASSIGN_UNSIGNED(unsigned long)
+PPL_ASSIGN_UNSIGNED(unsigned long long)
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-umod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
-	      Rounding_Dir) {
-  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
-  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
-  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
-  to.canonicalize();
-  return V_EQ;
-}
-
-PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpq, mpq_class, mpq_class)
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN2_SIGNED_SIGNED(char, signed short)
+PPL_ASSIGN2_SIGNED_SIGNED(char, signed int)
+PPL_ASSIGN2_SIGNED_SIGNED(char, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(char, signed long long)
+#endif
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed short)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed int)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed int)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
+PPL_ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned short)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned int)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(char, unsigned long long)
+#endif
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
+PPL_ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed short)
+PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed int)
+PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(char, signed long long)
+#endif
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
+PPL_ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned char)
+PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned short)
+PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(char, unsigned long long)
+#else
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, char)
+#endif
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
+PPL_ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
 
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  to = abs(from);
-  return V_EQ;
+assign_int_float(To& to, const From from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+#if 0
+  // FIXME: this is correct but it is inefficient and breaks the build
+  // for the missing definition of static const members (a problem present
+  // also in other areas of the PPL).
+  if (CHECK_P(To_Policy::check_overflow, lt(from, Extended_Int<To_Policy, To>::min)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (CHECK_P(To_Policy::check_overflow, !le(from, Extended_Int<To_Policy, To>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+#else
+  if (CHECK_P(To_Policy::check_overflow, (from < Extended_Int<To_Policy, To>::min)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (CHECK_P(To_Policy::check_overflow, (from > Extended_Int<To_Policy, To>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+#endif
+  if (round_not_requested(dir)) {
+    to = from;
+    return V_LGE;
+  }
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
+    return round_lt_int<To_Policy>(to, dir);
+  if (round_direct(ROUND_DOWN))
+    return round_gt_int<To_Policy>(to, dir);
+  if (from < i_from)
+    return round_lt_int<To_Policy>(to, dir);
+  PPL_ASSERT(from > i_from);
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, char, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
-inline Result
-add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to += x * y;
-  return V_EQ;
-}
+PPL_SPECIALIZE_ASSIGN(assign_int_float, char, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
 
-PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, char, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
+PPL_SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+#undef PPL_ASSIGN_SIGNED
+#undef PPL_ASSIGN_UNSIGNED
+#undef PPL_ASSIGN2_SIGNED_SIGNED
+#undef PPL_ASSIGN2_UNSIGNED_UNSIGNED
+#undef PPL_ASSIGN2_UNSIGNED_SIGNED
+#undef PPL_ASSIGN2_SIGNED_UNSIGNED
+
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to -= x * y;
-  return V_EQ;
+assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
+  if (sizeof(To) <= sizeof(signed long)) {
+    if (!To_Policy::check_overflow) {
+      to = from.get_si();
+      return V_EQ;
+    }
+    if (from.fits_slong_p()) {
+      signed long v = from.get_si();
+      if (PPL_LT_SILENT(v, (Extended_Int<To_Policy, To>::min)))
+	return set_neg_overflow_int<To_Policy>(to, dir);
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = v;
+      return V_EQ;
+    }
+  }
+  else {
+    mpz_srcptr m = from.get_mpz_t();
+    size_t sz = mpz_size(m);
+    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
+      if (sz == 0) {
+	to = 0;
+	return V_EQ;
+      }
+      To v;
+      mpz_export(&v, 0, -1, sizeof(To), 0, 0, m);
+      if (v >= 0) {
+	if (::sgn(from) < 0)
+	  return neg<To_Policy, To_Policy>(to, v, dir);
+	to = v;
+	return V_EQ;
+      }
+    }
+  }
+  return (::sgn(from) < 0)
+    ? set_neg_overflow_int<To_Policy>(to, dir)
+    : set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
-
-extern unsigned irrational_precision;
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, char, mpz_class)
+#endif
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
 
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
-  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
-    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_overflow, ::sgn(from) < 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (sizeof(To) <= sizeof(unsigned long)) {
+    if (!To_Policy::check_overflow) {
+      to = static_cast<To>(from.get_ui());
+      return V_EQ;
+    }
+    if (from.fits_ulong_p()) {
+      unsigned long v = from.get_ui();
+      if (PPL_GT_SILENT(v, (Extended_Int<To_Policy, To>::max)))
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = static_cast<To>(v);
+      return V_EQ;
+    }
   }
-  if (from == 0) {
-    to = 0;
-    return V_EQ;
+  else {
+    mpz_srcptr m = from.get_mpz_t();
+    size_t sz = mpz_size(m);
+    if (sz <= sizeof(To) / sizeof(mp_limb_t)) {
+      if (sz == 0)
+	to = 0;
+      else
+	mpz_export(&to, 0, -1, sizeof(To), 0, 0, m);
+      return V_EQ;
+    }
   }
-  bool gt1 = from.get_num() > from.get_den();
-  const mpz_class& from_a = gt1 ? from.get_num() : from.get_den();
-  const mpz_class& from_b = gt1 ? from.get_den() : from.get_num();
-  mpz_class& to_a = gt1 ? to.get_num() : to.get_den();
-  mpz_class& to_b = gt1 ? to.get_den() : to.get_num();
-  Rounding_Dir rdir = gt1 ? dir : inverse(dir);
-  mul_2exp<To_Policy, From_Policy>(to_a, from_a,
-                                   2*irrational_precision, ROUND_IGNORE);
-  Result rdiv
-    = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
-  Result rsqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
-  to_b = 1;
-  mul_2exp<To_Policy, To_Policy>(to_b, to_b,
-                                 irrational_precision, ROUND_IGNORE);
-  to.canonicalize();
-  return rdiv != V_EQ ? rdiv : rsqrt;
+  return set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, char, mpz_class)
+#endif
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
 
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename To>
 inline Result
-input_mpq(mpq_class& to, std::istream& is, Rounding_Dir dir) {
-  Result r = input_mpq(to, is);
-  Result_Class c = result_class(r);
-  switch (c) {
-  case VC_MINUS_INFINITY:
-  case VC_PLUS_INFINITY:
-    return assign_special<Policy>(to, c, dir);
-  case VC_NAN:
-    return assign_nan<Policy>(to, r);
-  default:
+assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
+  mpz_srcptr n = from.get_num().get_mpz_t();
+  mpz_srcptr d = from.get_den().get_mpz_t();
+  PPL_DIRTY_TEMP(mpz_class, q);
+  mpz_ptr q_z = q.get_mpz_t();
+  if (round_not_requested(dir)) {
+    mpz_tdiv_q(q_z, n, d);
+    Result r = assign<To_Policy, void>(to, q, dir);
+    if (r != V_EQ)
+      return r;
+    return V_LGE;
+  }
+  mpz_t rem;
+  int sign;
+  mpz_init(rem);
+  mpz_tdiv_qr(q_z, rem, n, d);
+  sign = mpz_sgn(rem);
+  mpz_clear(rem);
+  Result r = assign<To_Policy, void>(to, q, dir);
+  if (r != V_EQ)
     return r;
+  switch (sign) {
+  case -1:
+    return round_lt_int<To_Policy>(to, dir);
+  case 1:
+    return round_gt_int<To_Policy>(to, dir);
+  default:
+    return V_EQ;
   }
 }
 
-PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
-
-template <typename Policy>
-inline Result
-output_mpq(std::ostream& os,
-	   const mpq_class& from,
-	   const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
-  return V_EQ;
-}
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, char, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
 
-PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
+#if ~0 != -1
+#error "Only two's complement is supported"
+#endif
 
-template <typename To_Policy, typename From_Policy, typename From>
-inline Result
-assign_mpq_long_double(mpq_class& to, const From& from, Rounding_Dir dir) {
-  if (is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  // FIXME: this is an incredibly inefficient implementation!
-  std::stringstream ss;
-  output<From_Policy>(ss, from, Numeric_Format(), dir);
-  return input_mpq(to, ss);
-}
+#if UCHAR_MAX == 0xff
+#define CHAR_BITS 8
+#else
+#error "Unexpected max for unsigned char"
+#endif
 
-PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
+#if USHRT_MAX == 0xffff
+#define SHRT_BITS 16
+#else
+#error "Unexpected max for unsigned short"
+#endif
 
-} // namespace Checked
+#if UINT_MAX == 0xffffffff
+#define INT_BITS 32
+#else
+#error "Unexpected max for unsigned int"
+#endif
 
-//! Returns the precision parameter used for irrational calculations.
-inline unsigned
-irrational_precision() {
-  return Checked::irrational_precision;
-}
+#if ULONG_MAX == 0xffffffffUL
+#define LONG_BITS 32
+#elif ULONG_MAX == 0xffffffffffffffffULL
+#define LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long"
+#endif
 
-//! Sets the precision parameter used for irrational calculations.
-/*! The lesser between numerator and denominator is limited to 2**\p p.
+#if ULLONG_MAX == 0xffffffffffffffffULL
+#define LONG_LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long long"
+#endif
 
-  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
-  precision parameter used for irrational calculations to \p p.
 
-  \exception std::invalid_argument
-  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
-*/
-inline void
-set_irrational_precision(const unsigned p) {
-  if (p <= INT_MAX)
-    Checked::irrational_precision = p;
-  else
-    throw std::invalid_argument("PPL::set_irrational_precision(p)"
-				" with p > INT_MAX");
-}
+template <typename T>
+struct Larger;
 
-} // namespace Parma_Polyhedra_Library
+// The following may be tuned for performance on specific architectures.
+//
+// Current guidelines:
+//   - avoid division where possible (larger type variant for mul)
+//   - use larger type variant for types smaller than architecture bit size
 
-/* Automatically generated from PPL source file ../src/checked_ext.inlines.hh line 1. */
-/* Checked extended arithmetic functions.
-*/
+template <>
+struct Larger<char> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast16_t type_for_neg;
+  typedef int_fast16_t type_for_add;
+  typedef int_fast16_t type_for_sub;
+  typedef int_fast16_t type_for_mul;
+};
 
+template <>
+struct Larger<signed char> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast16_t type_for_neg;
+  typedef int_fast16_t type_for_add;
+  typedef int_fast16_t type_for_sub;
+  typedef int_fast16_t type_for_mul;
+};
 
-namespace Parma_Polyhedra_Library {
+template <>
+struct Larger<unsigned char> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast16_t type_for_neg;
+  typedef uint_fast16_t type_for_add;
+  typedef int_fast16_t type_for_sub;
+  typedef uint_fast16_t type_for_mul;
+};
 
-template <typename T> struct FPU_Related : public False {};
-template <> struct FPU_Related<float> : public True {};
-template <> struct FPU_Related<double> : public True {};
-template <> struct FPU_Related<long double> : public True {};
+template <>
+struct Larger<signed short> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast32_t type_for_neg;
+  typedef int_fast32_t type_for_add;
+  typedef int_fast32_t type_for_sub;
+  typedef int_fast32_t type_for_mul;
+};
 
-namespace Checked {
+template <>
+struct Larger<unsigned short> {
+  const_bool_nodef(use_for_neg, true);
+  const_bool_nodef(use_for_add, true);
+  const_bool_nodef(use_for_sub, true);
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast32_t type_for_neg;
+  typedef uint_fast32_t type_for_add;
+  typedef int_fast32_t type_for_sub;
+  typedef uint_fast32_t type_for_mul;
+};
 
-template <typename T>
-inline bool
-handle_ext_natively(const T&) {
-  return FPU_Related<T>::value;
-}
+template <>
+struct Larger<signed int> {
+  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
+  const_bool_nodef(use_for_add, (LONG_BITS == 64));
+  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
 
-template <typename Policy, typename Type>
-inline bool
-ext_to_handle(const Type& x) {
-  return !handle_ext_natively(x)
-    && (Policy::has_infinity || Policy::has_nan);
-}
+template <>
+struct Larger<unsigned int> {
+  const_bool_nodef(use_for_neg, (LONG_BITS == 64));
+  const_bool_nodef(use_for_add, (LONG_BITS == 64));
+  const_bool_nodef(use_for_sub, (LONG_BITS == 64));
+  const_bool_nodef(use_for_mul, true);
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
+};
 
-template <typename Policy, typename Type>
-inline Result_Relation
-sgn_ext(const Type& x) {
-  if (!ext_to_handle<Policy>(x))
-    goto native;
-  if (is_nan<Policy>(x))
-    return VR_EMPTY;
-  else if (is_minf<Policy>(x))
-    return VR_LT;
-  else if (is_pinf<Policy>(x))
-    return VR_GT;
-  else {
-  native:
-    return sgn<Policy>(x);
-  }
+template <>
+struct Larger<signed long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, (LONG_BITS == 32));
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<signed long long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, false);
+  typedef int_fast64_t type_for_neg;
+  typedef int_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef int_fast64_t type_for_mul;
+};
+
+template <>
+struct Larger<unsigned long long> {
+  const_bool_nodef(use_for_neg, false);
+  const_bool_nodef(use_for_add, false);
+  const_bool_nodef(use_for_sub, false);
+  const_bool_nodef(use_for_mul, false);
+  typedef int_fast64_t type_for_neg;
+  typedef uint_fast64_t type_for_add;
+  typedef int_fast64_t type_for_sub;
+  typedef uint_fast64_t type_for_mul;
+};
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+neg_int_larger(Type& to, const Type x, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_neg l = x;
+  l = -l;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
-construct_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return construct<To_Policy, From_Policy>(to, x, dir);
-  }
+add_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_add l = x;
+  l += y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
-assign_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return assign<To_Policy, From_Policy>(to, x, dir);
-  }
+sub_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_sub l = x;
+  l -= y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
-neg_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else {
-  native:
-    return neg<To_Policy, From_Policy>(to, x, dir);
-  }
+mul_int_larger(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  typename Larger<Type>::type_for_mul l = x;
+  l *= y;
+  return assign<To_Policy, To_Policy>(to, l, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-floor_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return floor<To_Policy, From_Policy>(to, x, dir);
-  }
+neg_signed_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
+    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (from < -Extended_Int<To_Policy, Type>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = -from;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-ceil_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return ceil<To_Policy, From_Policy>(to, x, dir);
-  }
+neg_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_neg)
+    return neg_int_larger<To_Policy, From_Policy>(to, from, dir);
+  if (CHECK_P(To_Policy::check_overflow, from != 0))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  to = from;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
-trunc_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return trunc<To_Policy, From_Policy>(to, x, dir);
+add_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
+    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (To_Policy::check_overflow) {
+    if (y >= 0) {
+      if (x > Extended_Int<To_Policy, Type>::max - y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+    }
+    else if (x < Extended_Int<To_Policy, Type>::min - y)
+      return set_neg_overflow_int<To_Policy>(to, dir);
   }
+  to = x + y;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
 inline Result
-abs_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x) || is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return abs<To_Policy, From_Policy>(to, x, dir);
-  }
+add_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_add)
+    return add_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (x > Extended_Int<To_Policy, Type>::max - y)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = x + y;
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<From2_Policy>(y)))
-      goto inf_add_inf;
-    else
-      goto minf;
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<From2_Policy>(y))) {
-    inf_add_inf:
-      return assign_nan<To_Policy>(to, V_INF_ADD_INF);
-    }
-    else
-      goto pinf;
-  }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-    minf:
-      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-    pinf:
-      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-    }
-    else {
-    native:
-      return add<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+sub_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
+    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (To_Policy::check_overflow) {
+    if (y >= 0) {
+      if (x < Extended_Int<To_Policy, Type>::min + y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
     }
+    else if (x > Extended_Int<To_Policy, Type>::max + y)
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  to = x - y;
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<From2_Policy>(y)))
-      goto inf_sub_inf;
-    else
-      goto minf;
+sub_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_sub)
+    return sub_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (CHECK_P(To_Policy::check_overflow,
+	      (x < Extended_Int<To_Policy, Type>::min + y)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  to = x - y;
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
+inline Result
+mul_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
+    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (!To_Policy::check_overflow) {
+    to = x * y;
+    return V_EQ;
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<From2_Policy>(y))) {
-    inf_sub_inf:
-      return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+  if (y == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  if (y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  if (x >= 0) {
+    if (y > 0) {
+      if (x > Extended_Int<To_Policy, Type>::max / y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+    }
+    else {
+      if (x > Extended_Int<To_Policy, Type>::min / y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
     }
-    else
-      goto pinf;
   }
   else {
-    if (is_pinf<From2_Policy>(y)) {
-    minf:
-      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-    }
-    else if (is_minf<From2_Policy>(y)) {
-    pinf:
-      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+    if (y < 0) {
+      if (x < Extended_Int<To_Policy, Type>::max / y)
+	return set_pos_overflow_int<To_Policy>(to, dir);
     }
     else {
-    native:
-      return sub<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+      if (x < Extended_Int<To_Policy, Type>::min / y)
+	return set_neg_overflow_int<To_Policy>(to, dir);
     }
   }
+  to = x * y;
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto pinf;
-    case VR_GT:
-      goto minf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto minf;
-    case VR_GT:
-      goto pinf;
-    default:
-      goto inf_mul_zero;
-    }
+mul_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_overflow && Larger<Type>::use_for_mul)
+    return mul_int_larger<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+  if (!To_Policy::check_overflow) {
+    to = x * y;
+    return V_EQ;
   }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-	goto pinf;
-      case VR_GT:
-	goto minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case VR_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      inf_mul_zero:
-	PPL_ASSERT(To_Policy::check_inf_mul_zero);
-	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
-      }
-    }
-    else {
-    native:
-      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+  if (y == 0) {
+    to = 0;
+    return V_EQ;
   }
+  if (x > Extended_Int<To_Policy, Type>::max / y)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = x * y;
+  return V_EQ;
 }
 
-
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<To_Policy>(to)
-      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<To_Policy>(to)
-      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto a_pinf;
-    case VR_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
+div_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto a_minf;
-    case VR_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
+  if (round_not_requested(dir))
+    return V_LGE;
+  if (y == -1)
+    return V_EQ;
+  Type m = x % y;
+  if (m < 0)
+    return round_lt_int_no_overflow<To_Policy>(to, dir);
+  else if (m > 0)
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
+inline Result
+div_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-	goto a_pinf;
-      case VR_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-      a_minf:
-	if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<To_Policy>(to)))
-	  goto inf_add_inf;
-	else
-	  goto minf;
-      case VR_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
-	inf_add_inf:
-	  return assign_nan<To_Policy>(to, V_INF_ADD_INF);
-	}
-	else
-	  goto pinf;
-      default:
-      inf_mul_zero:
-	PPL_ASSERT(To_Policy::check_inf_mul_zero);
-	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
-      }
-    }
-    else {
-      if (is_minf<To_Policy>(to)) {
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      }
-      if (is_pinf<To_Policy>(to)) {
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      }
-    native:
-      return add_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+  to = x / y;
+  if (round_not_requested(dir))
+    return V_GE;
+  Type m = x % y;
+  if (m == 0)
+    return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
+}
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
+inline Result
+idiv_signed_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<To_Policy>(to)
-      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<To_Policy>(to)
-      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto a_pinf;
-    case VR_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case VR_LT:
-      goto a_minf;
-    case VR_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-	goto a_pinf;
-      case VR_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case VR_LT:
-      a_minf:
-	if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<To_Policy>(to)))
-	  goto inf_sub_inf;
-	else
-	  goto pinf;
-      case VR_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
-	inf_sub_inf:
-	  return assign_nan<To_Policy>(to, V_INF_SUB_INF);
-	}
-	else
-	  goto minf;
-      default:
-      inf_mul_zero:
-	PPL_ASSERT(To_Policy::check_inf_mul_zero);
-	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
-      }
-    }
-    else {
-      if (is_minf<To_Policy>(to)) {
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      }
-      if (is_pinf<To_Policy>(to)) {
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      }
-    native:
-      return sub_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+idiv_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
   }
+  to = x / y;
+  return V_EQ;
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y)))
-      goto inf_div_inf;
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case VR_LT:
-	goto pinf;
-      case VR_GT:
-	goto minf;
-      default:
-	goto div_zero;
-      }
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y))) {
-    inf_div_inf:
-      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case VR_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case VR_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	PPL_ASSERT(To_Policy::check_div_zero);
-	return assign_nan<To_Policy>(to, V_DIV_ZERO);
-      }
-    }
-  }
-  else {
-    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = 0;
-      return V_EQ;
-    }
-    else {
-    native:
-      return div<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+rem_signed_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
   }
+  to = (y == -1) ? 0 : (x % y);
+  return V_EQ;
 }
 
-
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+          typename Type>
 inline Result
-idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (is_minf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y)))
-      goto inf_div_inf;
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case VR_LT:
-	goto pinf;
-      case VR_GT:
-	goto minf;
-      default:
-	goto div_zero;
-      }
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
-		|| is_pinf<From2_Policy>(y))) {
-    inf_div_inf:
-      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case VR_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case VR_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	PPL_ASSERT(To_Policy::check_div_zero);
-	return assign_nan<To_Policy>(to, V_DIV_ZERO);
-      }
-    }
+rem_unsigned_int(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, y == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
   }
-  else {
-    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = 0;
+  to = x % y;
+  return V_EQ;
+}
+
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+div_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
+    to = 0;
+    if (round_not_requested(dir))
+      return V_GE;
+    if (x == 0)
       return V_EQ;
-    }
-    else {
-    native:
-      return idiv<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
   }
+  to = x >> exp;
+  if (round_not_requested(dir))
+    return V_GE;
+  if (x & ((Type(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
-    goto native;
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From1_Policy>(x)
-		   || is_pinf<From1_Policy>(x))) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
+div_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
+  if (exp > sizeof_to_bits(sizeof(Type)) - 1) {
+  zero:
+    to = 0;
+    if (round_not_requested(dir))
+      return V_LGE;
+    if (x < 0)
+      return round_lt_int_no_overflow<To_Policy>(to, dir);
+    else if (x > 0)
+      return round_gt_int_no_overflow<To_Policy>(to, dir);
+    else
+      return V_EQ;
   }
-  else {
-    if (is_minf<From1_Policy>(y) || is_pinf<From2_Policy>(y)) {
-      to = x;
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
+    if (x == C_Integer<Type>::min) {
+      to = -1;
       return V_EQ;
     }
-    else {
-    native:
-      return rem<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
+    goto zero;
   }
+#if 0
+  to = x / (Type(1) << exp);
+  if (round_not_requested(dir))
+    return V_GE;
+  Type r = x % (Type(1) << exp);
+  if (r < 0)
+    return round_lt_int_no_overflow<To_Policy>(to, dir);
+  else if (r > 0)
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
+#else
+  // Faster but compiler implementation dependent (see C++98 5.8.3)
+  to = x >> exp;
+  if (round_not_requested(dir))
+    return V_GE;
+  if (x & ((Type(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  return V_EQ;
+#endif
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-add_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return add_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+add_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
   }
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return add_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sub_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+add_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x + (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
   else {
-  native:
-    return sub_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+    Type n = Type(1) << exp;
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
   }
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return mul_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+sub_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
   }
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  Type n = Type(1) << exp;
+  return sub_unsigned_int<To_Policy, From_Policy, void>(to, x, n, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-div_2exp_ext(To& to, const From& x, int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+sub_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x - (Type(1) << exp);
+    return V_EQ;
+  }
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    return set_neg_overflow_int<To_Policy>(to, dir);
+  if (exp == sizeof_to_bits(sizeof(Type)) - 1) {
+    Type n = -2 * (Type(1) << (exp - 1));
+    return add_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
+  }
   else {
-  native:
-    return div_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+    Type n = Type(1) << exp;
+    return sub_signed_int<To_Policy, From_Policy, void>(to, x, n, dir);
   }
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-smod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
-		   || is_pinf<From_Policy>(x))) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
+mul_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+                      Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
+    return V_EQ;
   }
-  else {
-  native:
-    return smod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
+    if (x == 0) {
+      to = 0;
+      return V_EQ;
+    }
+    return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  if (x & (((Type(1) << exp) - 1) << (sizeof_to_bits(sizeof(Type)) - exp)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = x << exp;
+  if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = n;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-umod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
-		   || is_pinf<From_Policy>(x))) {
-    return assign_nan<To_Policy>(to, V_INF_MOD);
+mul_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+                    Rounding_Dir dir) {
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
+    return V_EQ;
+  }
+  if (exp >= sizeof_to_bits(sizeof(Type)) - 1) {
+    if (x < 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    else if (x > 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    else {
+      to = 0;
+      return V_EQ;
+    }
+  }
+  Type mask = ((Type(1) << exp) - 1) << ((sizeof_to_bits(sizeof(Type)) - 1) - exp);
+  Type n;
+  if (x < 0) {
+    if ((x & mask) != mask)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    n = x << exp;
+    if (PPL_LT_SILENT(n, (Extended_Int<To_Policy, Type>::min)))
+      return set_neg_overflow_int<To_Policy>(to, dir);
   }
   else {
-  native:
-    return umod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+    if (x & mask)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    n = x << exp;
+    if (PPL_GT_SILENT(n, (Extended_Int<To_Policy, Type>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  to = n;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
-  if (!ext_to_handle<From_Policy>(x))
-    goto native;
-  if (is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From_Policy>(x)) {
-    return assign_nan<To_Policy>(to, V_SQRT_NEG);
-  }
-  else if (is_pinf<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+smod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir dir) {
+  if (exp > sizeof_to_bits(sizeof(Type)))
+    to = x;
   else {
-  native:
-    return sqrt<To_Policy, From_Policy>(to, x, dir);
+    Type v = (exp == sizeof_to_bits(sizeof(Type)) ? x : (x & ((Type(1) << exp) - 1)));
+    if (v >= (Type(1) << (exp - 1)))
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    else
+      to = v;
   }
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-gcd_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x))
-    return abs_ext<To_Policy, From2_Policy>(to, y, dir);
-  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
-    return abs_ext<To_Policy, From1_Policy>(to, x, dir);
-  else
-    return gcd<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+smod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir) {
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    to = x;
+  else {
+    Type m = Type(1) << (exp - 1);
+    to = (x & (m - 1)) - (x & m);
+  }
+  return V_EQ;
 }
 
-template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
-	  typename From1_Policy, typename From2_Policy,
-	  typename To1, typename To2, typename To3,
-	  typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-gcdext_ext(To1& to, To2& s, To3& t, const From1& x, const From2& y,
-	   Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To1_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)) {
-    s = 0;
-    t = y > 0 ? -1 : 1;
-    return abs_ext<To1_Policy, From2_Policy>(to, y, dir);
-  }
-  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
-    s = x > 0 ? -1 : 1;
-    t = 0;
-    return abs_ext<To1_Policy, From1_Policy>(to, x, dir);
-  }
+umod_2exp_unsigned_int(Type& to, const Type x, unsigned int exp,
+		       Rounding_Dir) {
+  if (exp >= sizeof_to_bits(sizeof(Type)))
+    to = x;
   else
-    return gcdext<To1_Policy, To2_Policy, To3_Policy, From1_Policy, From2_Policy>(to, s, t, x, y, dir);
+    to = x & ((Type(1) << exp) - 1);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
-  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)
-	   || is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
-    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+umod_2exp_signed_int(Type& to, const Type x, unsigned int exp,
+		     Rounding_Dir dir) {
+  if (exp >= sizeof_to_bits(sizeof(Type))) {
+    if (x < 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    to = x;
+  }
   else
-    return lcm<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    to = x & ((Type(1) << exp) - 1);
+  return V_EQ;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline Result_Relation
-cmp_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return VR_EMPTY;
-  else if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y) ? VR_EQ : VR_LT;
-  else if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y) ? VR_EQ : VR_GT;
-  else {
-    if (is_minf<Policy2>(y))
-      return VR_GT;
-    if (is_pinf<Policy2>(y))
-      return VR_LT;
-  native:
-    return cmp<Policy1, Policy2>(x, y);
+template <typename Type>
+inline void
+isqrt_rem(Type& q, Type& r, const Type from) {
+  q = 0;
+  r = from;
+  Type t(1);
+  for (t <<= sizeof_to_bits(sizeof(Type)) - 2; t != 0; t >>= 2) {
+    Type s = q + t;
+    if (s <= r) {
+      r -= s;
+      q = s + t;
+    }
+    q >>= 1;
   }
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-lt_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
-    return true;
- native:
-  return lt_p<Policy1, Policy2>(x, y);
-}
-
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-gt_ext(const Type1& x, const Type2& y) {
-  return lt_ext<Policy1, Policy2>(y, x);
-}
-
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-le_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
-    return true;
-  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
-    return false;
- native:
-  return le_p<Policy1, Policy2>(x, y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
+  Type rem;
+  isqrt_rem(to, rem, from);
+  if (round_not_requested(dir))
+    return V_GE;
+  if (rem == 0)
+    return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-ge_ext(const Type1& x, const Type2& y) {
-  return le_ext<Policy1, Policy2>(y, x);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-eq_ext(const Type1& x, const Type2& y) {
-  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
-    goto native;
-  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
-    return false;
-  if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y);
-  if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y);
-  else if (is_minf<Policy2>(y) || is_pinf<Policy2>(y))
-    return false;
- native:
-  return eq_p<Policy1, Policy2>(x, y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
+inline Result
+add_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type z;
+  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
+  switch (result_overflow(r)) {
+  case 0:
+    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN;
+  }
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-ne_ext(const Type1& x, const Type2& y) {
-  return !eq_ext<Policy1, Policy2>(x, y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+          typename Type>
+inline Result
+sub_mul_int(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type z;
+  Result r = mul<To_Policy, From1_Policy, From2_Policy>(z, x, y, dir);
+  switch (result_overflow(r)) {
+  case 0:
+    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  case -1:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW);
+  case 1:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return assign_nan<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW);
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN;
+  }
 }
 
 template <typename Policy, typename Type>
 inline Result
-output_ext(std::ostream& os, const Type& x,
-	   const Numeric_Format& format, Rounding_Dir dir) {
-  if (!ext_to_handle<Policy>(x))
-    goto native;
-  if (is_nan<Policy>(x)) {
-    os << "nan";
-    return V_NAN;
-  }
-  if (is_minf<Policy>(x)) {
-    os << "-inf";
-    return V_EQ;
-  }
-  if (is_pinf<Policy>(x)) {
-    os << "+inf";
-    return V_EQ;
-  }
- native:
-  return output<Policy>(os, x, format, dir);
+output_char(std::ostream& os, Type& from,
+	    const Numeric_Format&, Rounding_Dir) {
+  os << int(from);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename To>
+template <typename Policy, typename Type>
 inline Result
-input_ext(To& to, std::istream& is, Rounding_Dir dir) {
-  return input<To_Policy>(to, is, dir);
+output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
+  os << from;
+  return V_EQ;
 }
 
-} // namespace Checked
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-} // namespace Parma_Polyhedra_Library
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 660. */
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
+PPL_SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-#undef nonconst
-#ifdef PPL_SAVED_nonconst
-#define nonconst PPL_SAVED_nonconst
-#undef PPL_SAVED_nonconst
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_NEG(neg_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
+PPL_SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_NEG(neg_unsigned_int, char, char)
 #endif
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
 
-#undef PPL_FUNCTION_CLASS
-#undef PPL_NAN
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ADD(add_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ADD(add_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 31. */
-#include <iosfwd>
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SUB(sub_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SUB(sub_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-namespace Parma_Polyhedra_Library {
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_MUL(mul_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_MUL(mul_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Extended_Number_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, true);
-  const_bool_nodef(has_infinity, true);
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(fpu_check_nan_result, true);
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
-  static void handle_result(Result r);
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_DIV(div_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_DIV(div_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A policy checking for overflows.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Check_Overflow_Policy {
-  const_bool_nodef(check_overflow, true);
-  const_bool_nodef(check_inf_add_inf, false);
-  const_bool_nodef(check_inf_sub_inf, false);
-  const_bool_nodef(check_inf_mul_zero, false);
-  const_bool_nodef(check_div_zero, false);
-  const_bool_nodef(check_inf_div_inf, false);
-  const_bool_nodef(check_inf_mod, false);
-  const_bool_nodef(check_sqrt_neg, false);
-  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
-  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
-  const_bool_nodef(convertible, true);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(fpu_check_nan_result, true);
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_IDIV(idiv_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Native_Checked_From_Wrapper;
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_REM(rem_signed_int, char, char, char)
+#endif
+PPL_SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_REM(rem_unsigned_int, char, char, char)
+#endif
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Native_Checked_From_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
-  typedef Checked_Number_Transparent_Policy<T> Policy;
-  static const T& raw_value(const T& v) {
-    return v;
-  }
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Native_Checked_From_Wrapper<Checked_Number<T, P> > {
-  typedef P Policy;
-  static const T& raw_value(const Checked_Number<T, P>& v) {
-    return v.raw_value();
-  }
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Native_Checked_To_Wrapper;
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Native_Checked_To_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
-  typedef Check_Overflow_Policy<T> Policy;
-  static T& raw_value(T& v) {
-    return v;
-  }
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Native_Checked_To_Wrapper<Checked_Number<T, P> > {
-  typedef P Policy;
-  static T& raw_value(Checked_Number<T, P>& v) {
-    return v.raw_value();
-  }
-};
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Checked : public False { };
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_unsigned_int, unsigned long long, unsigned long long)
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T, typename P>
-struct Is_Checked<Checked_Number<T, P> > : public True { };
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, char, char)
+#endif
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
+PPL_SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Native_Or_Checked
-  : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
+#if PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ABS(abs_generic, char, char)
+#endif
+PPL_SPECIALIZE_ABS(abs_generic, signed char, signed char)
+PPL_SPECIALIZE_ABS(abs_generic, signed short, signed short)
+PPL_SPECIALIZE_ABS(abs_generic, signed int, signed int)
+PPL_SPECIALIZE_ABS(abs_generic, signed long, signed long)
+PPL_SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
+#if !PPL_CXX_PLAIN_CHAR_IS_SIGNED
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, char, char)
+#endif
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
 
-//! A wrapper for numeric types implementing a given policy.
-/*! \ingroup PPL_CXX_interface
-  The wrapper and related functions implement an interface which is common
-  to all kinds of coefficient types, therefore allowing for a uniform
-  coding style. This class also implements the policy encoded by the
-  second template parameter. The default policy is to perform the detection
-  of overflow errors.
-*/
-template <typename T, typename Policy>
-class Checked_Number {
-public:
+PPL_SPECIALIZE_GCD(gcd_exact, char, char, char)
+PPL_SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
+PPL_SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
+PPL_SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
+PPL_SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
+PPL_SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
 
-  //! \name Constructors
-  //@{
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, char, char, char, char, char)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
 
-  //! Default constructor.
-  Checked_Number();
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, char, char, char)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
 
-  //! Copy constructor.
-  Checked_Number(const Checked_Number& y);
+PPL_SPECIALIZE_SGN(sgn_generic, char)
+PPL_SPECIALIZE_SGN(sgn_generic, signed char)
+PPL_SPECIALIZE_SGN(sgn_generic, signed short)
+PPL_SPECIALIZE_SGN(sgn_generic, signed int)
+PPL_SPECIALIZE_SGN(sgn_generic, signed long)
+PPL_SPECIALIZE_SGN(sgn_generic, signed long long)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned char)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned short)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned int)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned long)
+PPL_SPECIALIZE_SGN(sgn_generic, unsigned long long)
 
-  //! Direct initialization from a Checked_Number and rounding mode.
-  template <typename From, typename From_Policy>
-  Checked_Number(const Checked_Number<From, From_Policy>& y, Rounding_Dir dir);
+PPL_SPECIALIZE_CMP(cmp_generic, char, char)
+PPL_SPECIALIZE_CMP(cmp_generic, signed char, signed char)
+PPL_SPECIALIZE_CMP(cmp_generic, signed short, signed short)
+PPL_SPECIALIZE_CMP(cmp_generic, signed int, signed int)
+PPL_SPECIALIZE_CMP(cmp_generic, signed long, signed long)
+PPL_SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
+PPL_SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
 
-  //! Direct initialization from a plain char and rounding mode.
-  Checked_Number(char y, Rounding_Dir dir);
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, char, char, char)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
 
-  //! Direct initialization from a signed char and rounding mode.
-  Checked_Number(signed char y, Rounding_Dir dir);
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, char, char, char)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
 
-  //! Direct initialization from a signed short and rounding mode.
-  Checked_Number(signed short y, Rounding_Dir dir);
+PPL_SPECIALIZE_INPUT(input_generic, char)
+PPL_SPECIALIZE_INPUT(input_generic, signed char)
+PPL_SPECIALIZE_INPUT(input_generic, signed short)
+PPL_SPECIALIZE_INPUT(input_generic, signed int)
+PPL_SPECIALIZE_INPUT(input_generic, signed long)
+PPL_SPECIALIZE_INPUT(input_generic, signed long long)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned char)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned short)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned int)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned long)
+PPL_SPECIALIZE_INPUT(input_generic, unsigned long long)
 
-  //! Direct initialization from a signed int and rounding mode.
-  Checked_Number(signed int y, Rounding_Dir dir);
+PPL_SPECIALIZE_OUTPUT(output_char, char)
+PPL_SPECIALIZE_OUTPUT(output_char, signed char)
+PPL_SPECIALIZE_OUTPUT(output_int, signed short)
+PPL_SPECIALIZE_OUTPUT(output_int, signed int)
+PPL_SPECIALIZE_OUTPUT(output_int, signed long)
+PPL_SPECIALIZE_OUTPUT(output_int, signed long long)
+PPL_SPECIALIZE_OUTPUT(output_char, unsigned char)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned short)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned int)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned long)
+PPL_SPECIALIZE_OUTPUT(output_int, unsigned long long)
 
-  //! Direct initialization from a signed long and rounding mode.
-  Checked_Number(signed long y, Rounding_Dir dir);
+} // namespace Checked
 
-  //! Direct initialization from a signed long long and rounding mode.
-  Checked_Number(signed long long y, Rounding_Dir dir);
+} // namespace Parma_Polyhedra_Library
 
-  //! Direct initialization from an unsigned char and rounding mode.
-  Checked_Number(unsigned char y, Rounding_Dir dir);
+/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 1. */
+/* Specialized "checked" functions for native floating-point numbers.
+*/
 
-  //! Direct initialization from an unsigned short and rounding mode.
-  Checked_Number(unsigned short y, Rounding_Dir dir);
 
-  //! Direct initialization from an unsigned int and rounding mode.
-  Checked_Number(unsigned int y, Rounding_Dir dir);
+/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 28. */
+#ifndef __alpha
+#include <cmath>
+#endif
 
-  //! Direct initialization from an unsigned long and rounding mode.
-  Checked_Number(unsigned long y, Rounding_Dir dir);
+namespace Parma_Polyhedra_Library {
 
-  //! Direct initialization from an unsigned long long and rounding mode.
-  Checked_Number(unsigned long long y, Rounding_Dir dir);
+namespace Checked {
 
-#if PPL_SUPPORTED_FLOAT
-  //! Direct initialization from a float and rounding mode.
-  Checked_Number(float y, Rounding_Dir dir);
+inline float
+multiply_add(float x, float y, float z) {
+#if PPL_HAVE_DECL_FMAF && defined(FP_FAST_FMAF) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return fmaf(x, y, z);
+#else
+  return x*y + z;
 #endif
+}
 
-#if PPL_SUPPORTED_DOUBLE
-  //! Direct initialization from a double and rounding mode.
-  Checked_Number(double y, Rounding_Dir dir);
+inline double
+multiply_add(double x, double y, double z) {
+#if PPL_HAVE_DECL_FMA && defined(FP_FAST_FMA) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return fma(x, y, z);
+#else
+  return x*y + z;
 #endif
+}
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-  //! Direct initialization from a long double and rounding mode.
-  Checked_Number(long double y, Rounding_Dir dir);
+inline long double
+multiply_add(long double x, long double y, long double z) {
+#if PPL_HAVE_DECL_FMAL && defined(FP_FAST_FMAL) \
+  && !defined(__alpha) && !defined(__FreeBSD__)
+  return fmal(x, y, z);
+#else
+  return x*y + z;
 #endif
+}
 
-  //! Direct initialization from a rational and rounding mode.
-  Checked_Number(const mpq_class& y, Rounding_Dir dir);
-
-  //! Direct initialization from an unbounded integer and rounding mode.
-  Checked_Number(const mpz_class& y, Rounding_Dir dir);
+#if PPL_HAVE_DECL_RINTF
+inline float
+round_to_integer(float x) {
+  return rintf(x);
+}
+#endif
 
-  //! Direct initialization from a C string and rounding mode.
-  Checked_Number(const char* y, Rounding_Dir dir);
+inline double
+round_to_integer(double x) {
+  return rint(x);
+}
 
-  //! Direct initialization from special and rounding mode.
-  template <typename From>
-  Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+#if PPL_HAVE_DECL_RINTL
+inline long double
+round_to_integer(long double x) {
+  return rintl(x);
+}
+#elif !PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
+// If proper long doubles are not provided, this is most likely
+// because long double and double are the same type: use rint().
+inline long double
+round_to_integer(long double x) {
+  return rint(x);
+}
+#elif defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+// On Cygwin, we have proper long doubles but rintl() is not defined:
+// luckily, one machine instruction is enough to save the day.
+inline long double
+round_to_integer(long double x) {
+  long double i;
+  __asm__ ("frndint" : "=t" (i) : "0" (x));
+  return i;
+}
+#endif
 
-  //! Direct initialization from a Checked_Number, default rounding mode.
-  template <typename From, typename From_Policy>
-  explicit Checked_Number(const Checked_Number<From, From_Policy>& y);
+inline bool
+fpu_direct_rounding(Rounding_Dir dir) {
+  return round_direct(dir) || round_not_requested(dir);
+}
 
-  //! Direct initialization from a plain char, default rounding mode.
-  Checked_Number(char y);
+inline bool
+fpu_inverse_rounding(Rounding_Dir dir) {
+  return round_inverse(dir);
+}
 
-  //! Direct initialization from a signed char, default rounding mode.
-  Checked_Number(signed char y);
+// The FPU mode is "round down".
+//
+// The result of the rounded down multiplication is thus computed directly.
+//
+//   a = 0.3
+//   b = 0.1
+//   c_i = a * b = 0.03
+//   c = c_i = 0.0
+//
+// To obtain the result of the rounded up multiplication
+// we do -(-a * b).
+//
+//   a = 0.3
+//   b = 0.1
+//   c_i = -a * b = -0.03
+//
+// Here c_i should be forced to lose excess precision, otherwise the
+// FPU will truncate using the rounding mode in force, which is "round down".
+//
+//   c_i = -c_i = 0.03
+//   c = c_i = 0.0
+//
+// Wrong result: we should have obtained c = 0.1.
 
-  //! Direct initialization from a signed short, default rounding mode.
-  Checked_Number(signed short y);
+inline void
+limit_precision(const float& v) {
+  PPL_CC_FLUSH(v);
+}
 
-  //! Direct initialization from a signed int, default rounding mode.
-  Checked_Number(signed int y);
+inline void
+limit_precision(const double& v) {
+  PPL_CC_FLUSH(v);
+}
 
-  //! Direct initialization from a signed long, default rounding mode.
-  Checked_Number(signed long y);
+inline void
+limit_precision(const long double&) {
+}
 
-  //! Direct initialization from a signed long long, default rounding mode.
-  Checked_Number(signed long long y);
+template <typename Policy, typename T>
+inline Result
+classify_float(const T v, bool nan, bool inf, bool sign) {
+  Float<T> f(v);
+  if ((nan || sign) && CHECK_P(Policy::has_nan, f.u.binary.is_nan()))
+    return V_NAN;
+  if (inf) {
+    if (Policy::has_infinity) {
+      int sign_inf = f.u.binary.inf_sign();
+      if (sign_inf < 0)
+        return V_EQ_MINUS_INFINITY;
+      if (sign_inf > 0)
+        return V_EQ_PLUS_INFINITY;
+    }
+    else
+      PPL_ASSERT(f.u.binary.inf_sign() == 0);
+  }
+  if (sign) {
+    if (v < 0)
+      return V_LT;
+    if (v > 0)
+      return V_GT;
+    return V_EQ;
+  }
+  return V_LGE;
+}
 
-  //! Direct initialization from an unsigned char, default rounding mode.
-  Checked_Number(unsigned char y);
+template <typename Policy, typename T>
+inline bool
+is_nan_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_nan, f.u.binary.is_nan());
+}
 
-  //! Direct initialization from an unsigned short, default rounding mode.
-  Checked_Number(unsigned short y);
+template <typename Policy, typename T>
+inline bool
+is_inf_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() != 0));
+}
+template <typename Policy, typename T>
+inline bool
+is_minf_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() < 0));
+}
 
-  //! Direct initialization from an unsigned int, default rounding mode.
-  Checked_Number(unsigned int y);
+template <typename Policy, typename T>
+inline bool
+is_pinf_float(const T v) {
+  Float<T> f(v);
+  return CHECK_P(Policy::has_infinity, (f.u.binary.inf_sign() > 0));
+}
 
-  //! Direct initialization from an unsigned long, default rounding mode.
-  Checked_Number(unsigned long y);
 
-  //! Direct initialization from an unsigned long long, default rounding mode.
-  Checked_Number(unsigned long long y);
+template <typename Policy, typename T>
+inline bool
+is_int_float(const T v) {
+  return round_to_integer(v) == v;
+}
 
-  //! Direct initialization from a float, default rounding mode.
-  Checked_Number(float y);
+template <typename Policy, typename T>
+inline Result
+assign_special_float(T& v, Result_Class c, Rounding_Dir) {
+  PPL_ASSERT(c == VC_MINUS_INFINITY || c == VC_PLUS_INFINITY || c == VC_NAN);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+    v = -HUGE_VAL;
+    return V_EQ_MINUS_INFINITY;
+  case VC_PLUS_INFINITY:
+    v = HUGE_VAL;
+    return V_EQ_PLUS_INFINITY;
+  case VC_NAN:
+    v = PPL_NAN;
+    return V_NAN;
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN | V_UNREPRESENTABLE;
+  }
+}
 
-  //! Direct initialization from a double, default rounding mode.
-  Checked_Number(double y);
+template <typename T>
+inline void
+pred_float(T& v) {
+  Float<T> f(v);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.inf_sign() >= 0);
+  if (f.u.binary.zero_sign() > 0) {
+    f.u.binary.negate();
+    f.u.binary.inc();
+  }
+  else if (f.u.binary.sign_bit()) {
+    f.u.binary.inc();
+  }
+  else {
+    f.u.binary.dec();
+  }
+  v = f.value();
+}
 
-  //! Direct initialization from a long double, default rounding mode.
-  Checked_Number(long double y);
+template <typename T>
+inline void
+succ_float(T& v) {
+  Float<T> f(v);
+  PPL_ASSERT(!f.u.binary.is_nan());
+  PPL_ASSERT(f.u.binary.inf_sign() <= 0);
+  if (f.u.binary.zero_sign() < 0) {
+    f.u.binary.negate();
+    f.u.binary.inc();
+  }
+  else if (!f.u.binary.sign_bit()) {
+    f.u.binary.inc();
+  }
+  else {
+    f.u.binary.dec();
+  }
+  v = f.value();
+}
 
-  //! Direct initialization from a rational, default rounding mode.
-  Checked_Number(const mpq_class& y);
+template <typename Policy, typename To>
+inline Result
+round_lt_float(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    pred_float(to);
+    return V_GT;
+  }
+  return V_LT;
+}
 
-  //! Direct initialization from an unbounded integer, default rounding mode.
-  Checked_Number(const mpz_class& y);
+template <typename Policy, typename To>
+inline Result
+round_gt_float(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    succ_float(to);
+    return V_LT;
+  }
+  return V_GT;
+}
 
-  //! Direct initialization from a C string, default rounding mode.
-  Checked_Number(const char* y);
 
-  //! Direct initialization from special, default rounding mode
-  template <typename From>
-  Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
+template <typename Policy>
+inline void
+prepare_inexact(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir))
+    fpu_reset_inexact();
+}
 
+template <typename Policy>
+inline Result
+result_relation(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact
+      && !round_not_needed(dir) && round_strict_relation(dir)) {
+    switch (fpu_check_inexact()) {
+    case 0:
+      return V_EQ;
+    case -1:
+      goto unknown;
+    case 1:
+      break;
+    }
+    switch (round_dir(dir)) {
+    case ROUND_DOWN:
+      return V_GT;
+    case ROUND_UP:
+      return V_LT;
+    default:
+      return V_NE;
+    }
+  }
+  else {
+  unknown:
+    switch (round_dir(dir)) {
+    case ROUND_DOWN:
+      return V_GE;
+    case ROUND_UP:
+      return V_LE;
+    default:
+      return V_LGE;
+    }
+  }
+}
 
-  //@} // Constructors
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_float_float_exact(To& to, const From from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = from;
+  return V_EQ;
+}
 
-  //! \name Accessors and Conversions
-  //@{
-
-  //! Conversion operator: returns a copy of the underlying numeric value.
-  operator T() const;
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = from;
+  else if (fpu_inverse_rounding(dir)) {
+    From tmp = -from;
+    to = tmp;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(from);
+    to = from;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Returns a reference to the underlying numeric value.
-  T& raw_value();
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_float_float(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(From) > sizeof(To))
+    return assign_float_float_inexact<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign_float_float_exact<To_Policy, From_Policy>(to, from, dir);
+}
 
-  //! Returns a const reference to the underlying numeric value.
-  const T& raw_value() const;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+floor_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (fpu_direct_rounding(ROUND_DOWN))
+    to = round_to_integer(from);
+  else if (fpu_inverse_rounding(ROUND_DOWN)) {
+    to = round_to_integer(-from);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(ROUND_DOWN));
+    limit_precision(from);
+    to = round_to_integer(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return V_EQ;
+}
 
-  //@} // Accessors and Conversions
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+ceil_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (fpu_direct_rounding(ROUND_UP))
+    to = round_to_integer(from);
+  else if (fpu_inverse_rounding(ROUND_UP)) {
+    to = round_to_integer(-from);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(ROUND_UP));
+    limit_precision(from);
+    to = round_to_integer(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return V_EQ;
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+trunc_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (from >= 0)
+    return floor<To_Policy, From_Policy>(to, from, dir);
+  else
+    return ceil<To_Policy, From_Policy>(to, from, dir);
+}
 
-  //! Classifies *this.
-  /*!
-    Returns the appropriate Result characterizing:
-    - whether \p *this is NaN,
-      if \p nan is <CODE>true</CODE>;
-    - whether \p *this is a (positive or negative) infinity,
-      if \p inf is <CODE>true</CODE>;
-    - the sign of \p *this,
-      if \p sign is <CODE>true</CODE>.
-  */
-  Result classify(bool nan = true, bool inf = true, bool sign = true) const;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+neg_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = -from;
+  return V_EQ;
+}
 
-  //! \name Assignment Operators
-  //@{
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+add_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_add_inf
+      && is_inf_float<From1_Policy>(x) && x == -y) {
+    return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x + y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = -x - y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x + y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Assignment operator.
-  Checked_Number& operator=(const Checked_Number& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+sub_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_sub_inf
+      && is_inf_float<From1_Policy>(x) && x == y) {
+    return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x - y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = y - x;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x - y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Assignment operator.
-  template <typename From>
-  Checked_Number& operator=(const From& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x * y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = x * -y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x * y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Add and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator+=(const Checked_Number<T, From_Policy>& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+div_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_div_inf
+      && is_inf_float<From1_Policy>(x) && is_inf_float<From2_Policy>(y)) {
+    return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = x / y;
+  else if (fpu_inverse_rounding(dir)) {
+    to = x / -y;
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    to = x / y;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Add and assign operator.
-  Checked_Number& operator+=(const T& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+idiv_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  Type temp;
+  // The inexact check is useless
+  dir = round_dir(dir);
+  Result r = div<To_Policy, From1_Policy, From2_Policy>(temp, x, y, dir);
+  if (result_class(r) != VC_NORMAL) {
+    to = temp;
+    return r;
+  }
+  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
+  PPL_ASSERT(r1 == V_EQ);
+  if (r == V_EQ || to != temp)
+    return r1;
+  // FIXME: Prove that it is impossible to return a strict relation
+  return (dir == ROUND_UP) ? V_LE : V_GE;
+}
 
-  //! Add and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator+=(const From& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+rem_float(Type& to, const Type x, const Type y, Rounding_Dir) {
+  if (To_Policy::check_inf_mod && is_inf_float<From1_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  if (To_Policy::check_div_zero && y == 0) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  to = std::fmod(x, y);
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return V_EQ;
+}
 
-  //! Subtract and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
+struct Float_2exp {
+  const_bool_nodef(has_nan, false);
+  const_bool_nodef(has_infinity, false);
+};
 
-  //! Subtract and assign operator.
-  Checked_Number& operator-=(const T& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+add_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  return
+    add<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
 
-  //! Subtract and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator-=(const From& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sub_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  return
+    sub<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
 
-  //! Multiply and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+mul_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  return
+    mul<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
 
-  //! Multiply and assign operator.
-  Checked_Number& operator*=(const T& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+div_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  return
+    div<To_Policy, From_Policy, Float_2exp>(to,
+                                            x,
+                                            Type(1ULL << exp),
+                                            dir);
+}
 
-  //! Multiply and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator*=(const From& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+smod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  Type m2 = m / 2;
+  if (to < -m2)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  else if (to >= m2)
+    return sub_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
+}
 
-  //! Divide and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+umod_2exp_float(Type& to, const Type x, unsigned int exp, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_inf_mod && is_inf_float<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  PPL_ASSERT(exp < sizeof_to_bits(sizeof(unsigned long long)));
+  Type m = 1ULL << exp;
+  rem_float<To_Policy, From_Policy, Float_2exp>(to, x, m, ROUND_IGNORE);
+  if (to < 0)
+    return add_float<To_Policy, From_Policy, Float_2exp>(to, to, m, dir);
+  return V_EQ;
+}
 
-  //! Divide and assign operator.
-  Checked_Number& operator/=(const T& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+abs_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = std::abs(from);
+  return V_EQ;
+}
 
-  //! Divide and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>&>::type
-  operator/=(const From& y);
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::fpu_check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (To_Policy::check_sqrt_neg && from < 0) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = std::sqrt(from);
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(from);
+    to = std::sqrt(from);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Compute remainder and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& y);
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_float(const Type x) {
+  if (x > 0)
+    return VR_GT;
+  if (x < 0)
+    return VR_LT;
+  if (x == 0)
+    return VR_EQ;
+  return VR_EMPTY;
+}
 
-  //! Compute remainder and assign operator.
-  Checked_Number& operator%=(const T& y);
+template <typename Policy1, typename Policy2, typename Type>
+inline Result_Relation
+cmp_float(const Type x, const Type y) {
+  if (x > y)
+    return VR_GT;
+  if (x < y)
+    return VR_LT;
+  if (x == y)
+    return VR_EQ;
+  return VR_EMPTY;
+}
 
-  //! Compute remainder and assign operator.
-  template <typename From>
-  typename Enable_If<Is_Native_Or_Checked<From>::value,
-		     Checked_Number<T, Policy>& >::type
-  operator%=(const From& y);
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_float_int_inexact(To& to, const From from, Rounding_Dir dir) {
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = from;
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    to = from;
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  return result_relation<To_Policy>(dir);
+}
 
-  //@} // Assignment Operators
+template <typename To_Policy, typename From_Policy, typename To, typename From>
+inline Result
+assign_float_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof_to_bits(sizeof(From)) > Float<To>::Binary::MANTISSA_BITS)
+    return assign_float_int_inexact<To_Policy, From_Policy>(to, from, dir);
+  else
+    return assign_exact<To_Policy, From_Policy>(to, from, dir);
+}
 
+template <typename Policy, typename T>
+inline Result
+set_neg_overflow_float(T& to, Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_UP:
+    {
+      Float<T> f;
+      f.u.binary.set_max(true);
+      to = f.value();
+      return V_LT_INF;
+    }
+  case ROUND_DOWN: // Fall through.
+  case ROUND_IGNORE:
+    to = -HUGE_VAL;
+    return V_GT_MINUS_INFINITY;
+  default:
+    PPL_UNREACHABLE;
+    return V_GT_MINUS_INFINITY;
+  }
+}
 
-  //! \name Increment and Decrement Operators
-  //@{
+template <typename Policy, typename T>
+inline Result
+set_pos_overflow_float(T& to, Rounding_Dir dir) {
+  switch (round_dir(dir)) {
+  case ROUND_DOWN:
+    {
+      Float<T> f;
+      f.u.binary.set_max(false);
+      to = f.value();
+      return V_GT_SUP;
+    }
+  case ROUND_UP: // Fall through.
+  case ROUND_IGNORE:
+    to = HUGE_VAL;
+    return V_LT_PLUS_INFINITY;
+  default:
+    PPL_UNREACHABLE;
+    return V_LT_PLUS_INFINITY;
+  }
+}
 
-  //! Pre-increment operator.
-  Checked_Number& operator++();
+template <typename To_Policy, typename From_Policy, typename T>
+inline Result
+assign_float_mpz(T& to, const mpz_class& from, Rounding_Dir dir) {
+  int sign = sgn(from);
+  if (sign == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  mpz_srcptr from_z = from.get_mpz_t();
+  size_t exponent = mpz_sizeinbase(from_z, 2) - 1;
+  if (exponent > size_t(Float<T>::Binary::EXPONENT_MAX)) {
+    if (sign < 0)
+      return set_neg_overflow_float<To_Policy>(to, dir);
+    else
+      return set_pos_overflow_float<To_Policy>(to, dir);
+  }
+  unsigned long zeroes = mpn_scan1(from_z->_mp_d, 0);
+  size_t meaningful_bits = exponent - zeroes;
+  mpz_t mantissa;
+  mpz_init(mantissa);
+  if (exponent > Float<T>::Binary::MANTISSA_BITS)
+    mpz_tdiv_q_2exp(mantissa,
+		    from_z,
+		    exponent - Float<T>::Binary::MANTISSA_BITS);
+  else
+    mpz_mul_2exp(mantissa, from_z, Float<T>::Binary::MANTISSA_BITS - exponent);
+  Float<T> f;
+  f.u.binary.build(sign < 0, mantissa, static_cast<long>(exponent));
+  mpz_clear(mantissa);
+  to = f.value();
+  if (meaningful_bits > Float<T>::Binary::MANTISSA_BITS) {
+    if (sign < 0)
+      return round_lt_float<To_Policy>(to, dir);
+    else
+      return round_gt_float<To_Policy>(to, dir);
+  }
+  return V_EQ;
+}
 
-  //! Post-increment operator.
-  Checked_Number  operator++(int);
+template <typename To_Policy, typename From_Policy, typename T>
+inline Result
+assign_float_mpq(T& to, const mpq_class& from, Rounding_Dir dir) {
+  const mpz_class& numer = from.get_num();
+  const mpz_class& denom = from.get_den();
+  if (denom == 1)
+    return assign_float_mpz<To_Policy, From_Policy>(to, numer, dir);
+  mpz_srcptr numer_z = numer.get_mpz_t();
+  mpz_srcptr denom_z = denom.get_mpz_t();
+  int sign = sgn(numer);
+  long exponent = static_cast<long>(mpz_sizeinbase(numer_z, 2))
+    - static_cast<long>(mpz_sizeinbase(denom_z, 2));
+  if (exponent < Float<T>::Binary::EXPONENT_MIN_DENORM) {
+    to = 0;
+  inexact:
+    if (sign < 0)
+      return round_lt_float<To_Policy>(to, dir);
+    else
+      return round_gt_float<To_Policy>(to, dir);
+  }
+  if (exponent > Float<T>::Binary::EXPONENT_MAX + 1) {
+  overflow:
+    if (sign < 0)
+      return set_neg_overflow_float<To_Policy>(to, dir);
+    else
+      return set_pos_overflow_float<To_Policy>(to, dir);
+  }
+  unsigned int needed_bits = Float<T>::Binary::MANTISSA_BITS + 1;
+  if (exponent < Float<T>::Binary::EXPONENT_MIN) {
+    long diff = Float<T>::Binary::EXPONENT_MIN - exponent;
+    needed_bits -= static_cast<unsigned int>(diff);
+  }
+  mpz_t mantissa;
+  mpz_init(mantissa);
+  {
+    long shift = static_cast<long>(needed_bits) - exponent;
+    if (shift > 0) {
+      mpz_mul_2exp(mantissa, numer_z, static_cast<unsigned long>(shift));
+      numer_z = mantissa;
+    }
+    else if (shift < 0) {
+      shift = -shift;
+      mpz_mul_2exp(mantissa, denom_z, static_cast<unsigned long>(shift));
+      denom_z = mantissa;
+    }
+  }
+  mpz_t r;
+  mpz_init(r);
+  mpz_tdiv_qr(mantissa, r, numer_z, denom_z);
+  size_t bits = mpz_sizeinbase(mantissa, 2);
+  bool inexact = (mpz_sgn(r) != 0);
+  mpz_clear(r);
+  if (bits == needed_bits + 1) {
+    inexact = (inexact || mpz_odd_p(mantissa));
+    mpz_tdiv_q_2exp(mantissa, mantissa, 1);
+  }
+  else
+    --exponent;
+  if (exponent > Float<T>::Binary::EXPONENT_MAX) {
+    mpz_clear(mantissa);
+    goto overflow;
+  }
+  else if (exponent < Float<T>::Binary::EXPONENT_MIN - 1) {
+    // Denormalized.
+    exponent = Float<T>::Binary::EXPONENT_MIN - 1;
+  }
+  Float<T> f;
+  f.u.binary.build(sign < 0, mantissa, exponent);
+  mpz_clear(mantissa);
+  to = f.value();
+  if (inexact)
+    goto inexact;
+  return V_EQ;
+}
 
-  //! Pre-decrement operator.
-  Checked_Number& operator--();
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
+inline Result
+add_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
+  // FIXME: missing check_inf_add_inf
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = multiply_add(x, y, to);
+  else if (fpu_inverse_rounding(dir)) {
+    to = multiply_add(-x, y, -to);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    limit_precision(to);
+    to = multiply_add(x, y, to);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //! Post-decrement operator.
-  Checked_Number  operator--(int);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+inline Result
+sub_mul_float(Type& to, const Type x, const Type y, Rounding_Dir dir) {
+  if (To_Policy::check_inf_mul_zero
+      && ((x == 0 && is_inf_float<From2_Policy>(y))
+          ||
+	  (y == 0 && is_inf_float<From1_Policy>(x)))) {
+    return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+  }
+  // FIXME: missing check_inf_add_inf
+  prepare_inexact<To_Policy>(dir);
+  if (fpu_direct_rounding(dir))
+    to = multiply_add(x, -y, to);
+  else if (fpu_inverse_rounding(dir)) {
+    to = multiply_add(x, y, -to);
+    limit_precision(to);
+    to = -to;
+  }
+  else {
+    fpu_rounding_control_word_type old
+      = fpu_save_rounding_direction(round_fpu_dir(dir));
+    limit_precision(x);
+    limit_precision(y);
+    limit_precision(to);
+    to = multiply_add(x, -y, to);
+    limit_precision(to);
+    fpu_restore_rounding_direction(old);
+  }
+  if (To_Policy::fpu_check_nan_result && is_nan<To_Policy>(to))
+    return V_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-  //@} // Increment and Decrement Operators
+template <typename From>
+inline void
+assign_mpq_numeric_float(mpq_class& to, const From from) {
+  to = from;
+}
 
-private:
-  //! The underlying numeric value.
-  T v;
-};
+template <>
+inline void
+assign_mpq_numeric_float(mpq_class& to, const long double from) {
+  to = 0;
+  if (from == 0)
+    return;
+  mpz_class& num = to.get_num();
+  mpz_class& den = to.get_den();
+  int exp;
+  long double n = frexpl(from, &exp);
+  bool neg = false;
+  if (n < 0) {
+    neg = true;
+    n = -n;
+  }
+  const long double mult = static_cast<long double>(ULONG_MAX) + 1;
+  const unsigned int bits = sizeof(unsigned long) * CHAR_BIT;
+  while (true) {
+    n *= mult;
+    exp -= bits;
+    long double intpart = floorl(n);
+    num += (unsigned long)intpart;
+    n -= intpart;
+    if (n == 0)
+      break;
+    num <<= bits;
+  }
+  if (exp < 0)
+    den <<= -exp;
+  else
+    num <<= exp;
+  if (neg)
+    to = -to;
+  to.canonicalize();
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename P>
-struct Slow_Copy<Checked_Number<T, P> > : public Bool<Slow_Copy<T>::value> {};
+template <typename Policy, typename Type>
+inline Result
+output_float(std::ostream& os, const Type from, const Numeric_Format&,
+	     Rounding_Dir) {
+  if (from == 0)
+    os << "0";
+  else if (is_minf<Policy>(from))
+    os << "-inf";
+  else if (is_pinf<Policy>(from))
+    os << "+inf";
+  else if (is_nan<Policy>(from))
+    os << "nan";
+  else {
+    mpq_class q;
+    assign_mpq_numeric_float(q, from);
+    std::string s = float_mpq_to_string(q);
+    os << s;
+  }
+  return V_EQ;
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_not_a_number(const T& x);
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
+#endif
+#endif
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_minus_infinity(const T& x);
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float, double, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
+#endif
+#endif
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_plus_infinity(const T& x);
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
+#endif
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x);
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_CLASSIFY(classify_float, float)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, float)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, float)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, float)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, float)
+PPL_SPECIALIZE_IS_INT(is_int_float, float)
+PPL_SPECIALIZE_FLOOR(floor_float, float, float)
+PPL_SPECIALIZE_CEIL(ceil_float, float, float)
+PPL_SPECIALIZE_TRUNC(trunc_float, float, float)
+PPL_SPECIALIZE_NEG(neg_float, float, float)
+PPL_SPECIALIZE_ABS(abs_float, float, float)
+PPL_SPECIALIZE_ADD(add_float, float, float, float)
+PPL_SPECIALIZE_SUB(sub_float, float, float, float)
+PPL_SPECIALIZE_MUL(mul_float, float, float, float)
+PPL_SPECIALIZE_DIV(div_float, float, float, float)
+PPL_SPECIALIZE_REM(rem_float, float, float, float)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, float, float)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, float, float)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, float, float)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, float, float)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, float, float)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, float, float)
+PPL_SPECIALIZE_SQRT(sqrt_float, float, float)
+PPL_SPECIALIZE_GCD(gcd_exact, float, float, float)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
+PPL_SPECIALIZE_SGN(sgn_float, float)
+PPL_SPECIALIZE_CMP(cmp_float, float, float)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
+PPL_SPECIALIZE_INPUT(input_generic, float)
+PPL_SPECIALIZE_OUTPUT(output_float, float)
+#endif
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_integer(const T& x);
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_CLASSIFY(classify_float, double)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, double)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, double)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, double)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, double)
+PPL_SPECIALIZE_IS_INT(is_int_float, double)
+PPL_SPECIALIZE_FLOOR(floor_float, double, double)
+PPL_SPECIALIZE_CEIL(ceil_float, double, double)
+PPL_SPECIALIZE_TRUNC(trunc_float, double, double)
+PPL_SPECIALIZE_NEG(neg_float, double, double)
+PPL_SPECIALIZE_ABS(abs_float, double, double)
+PPL_SPECIALIZE_ADD(add_float, double, double, double)
+PPL_SPECIALIZE_SUB(sub_float, double, double, double)
+PPL_SPECIALIZE_MUL(mul_float, double, double, double)
+PPL_SPECIALIZE_DIV(div_float, double, double, double)
+PPL_SPECIALIZE_REM(rem_float, double, double, double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, double, double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, double, double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, double, double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, double, double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, double, double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, double, double)
+PPL_SPECIALIZE_SQRT(sqrt_float, double, double)
+PPL_SPECIALIZE_GCD(gcd_exact, double, double, double)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
+PPL_SPECIALIZE_SGN(sgn_float, double)
+PPL_SPECIALIZE_CMP(cmp_float, double, double)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
+PPL_SPECIALIZE_INPUT(input_generic, double)
+PPL_SPECIALIZE_OUTPUT(output_float, double)
+#endif
 
-/*! \relates Checked_Number */
-template <typename To, typename From>
-typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-construct(To& to, const From& x, Rounding_Dir dir);
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_CLASSIFY(classify_float, long double)
+PPL_SPECIALIZE_IS_NAN(is_nan_float, long double)
+PPL_SPECIALIZE_IS_MINF(is_minf_float, long double)
+PPL_SPECIALIZE_IS_PINF(is_pinf_float, long double)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, long double)
+PPL_SPECIALIZE_IS_INT(is_int_float, long double)
+PPL_SPECIALIZE_FLOOR(floor_float, long double, long double)
+PPL_SPECIALIZE_CEIL(ceil_float, long double, long double)
+PPL_SPECIALIZE_TRUNC(trunc_float, long double, long double)
+PPL_SPECIALIZE_NEG(neg_float, long double, long double)
+PPL_SPECIALIZE_ABS(abs_float, long double, long double)
+PPL_SPECIALIZE_ADD(add_float, long double, long double, long double)
+PPL_SPECIALIZE_SUB(sub_float, long double, long double, long double)
+PPL_SPECIALIZE_MUL(mul_float, long double, long double, long double)
+PPL_SPECIALIZE_DIV(div_float, long double, long double, long double)
+PPL_SPECIALIZE_REM(rem_float, long double, long double, long double)
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_float, long double, long double)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_float, long double, long double)
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_float, long double, long double)
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_float, long double, long double)
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_float, long double, long double)
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_float, long double, long double)
+PPL_SPECIALIZE_SQRT(sqrt_float, long double, long double)
+PPL_SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
+PPL_SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
+		  long double, long double)
+PPL_SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
+PPL_SPECIALIZE_SGN(sgn_float, long double)
+PPL_SPECIALIZE_CMP(cmp_float, long double, long double)
+PPL_SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
+PPL_SPECIALIZE_INPUT(input_generic, long double)
+PPL_SPECIALIZE_OUTPUT(output_float, long double)
+#endif
 
-/*! \relates Checked_Number */
-template <typename To, typename From>
-typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-assign_r(To& to, const From& x, Rounding_Dir dir);
+} // namespace Checked
 
-/*! \relates Checked_Number */
-template <typename To>
-typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, const char* x, Rounding_Dir dir);
+} // namespace Parma_Polyhedra_Library
 
-/*! \relates Checked_Number */
-template <typename To, typename To_Policy>
-typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, char* x, Rounding_Dir dir);
+/* Automatically generated from PPL source file ../src/checked_mpz.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpz_class numbers.
+*/
 
-#define PPL_DECLARE_FUNC1_A(name) \
-template <typename To, typename From> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From>::value, \
-                   Result>::type \
-name(To& to, const From& x, Rounding_Dir dir);
 
-PPL_DECLARE_FUNC1_A(assign_r)
-PPL_DECLARE_FUNC1_A(floor_assign_r)
-PPL_DECLARE_FUNC1_A(ceil_assign_r)
-PPL_DECLARE_FUNC1_A(trunc_assign_r)
-PPL_DECLARE_FUNC1_A(neg_assign_r)
-PPL_DECLARE_FUNC1_A(abs_assign_r)
-PPL_DECLARE_FUNC1_A(sqrt_assign_r)
+#include <sstream>
 
-#undef PPL_DECLARE_FUNC1_A
+namespace Parma_Polyhedra_Library {
 
-#define PPL_DECLARE_FUNC1_B(name) \
-template <typename To, typename From> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From>::value, \
-                   Result>::type \
-name(To& to, const From& x, int exp, Rounding_Dir dir);
+namespace Checked {
 
-PPL_DECLARE_FUNC1_B(add_2exp_assign_r)
-PPL_DECLARE_FUNC1_B(sub_2exp_assign_r)
-PPL_DECLARE_FUNC1_B(mul_2exp_assign_r)
-PPL_DECLARE_FUNC1_B(div_2exp_assign_r)
-PPL_DECLARE_FUNC1_B(smod_2exp_assign_r)
-PPL_DECLARE_FUNC1_B(umod_2exp_assign_r)
+template <typename Policy>
+inline Result
+round_lt_mpz(mpz_class& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    --to;
+    return V_GT;
+  }
+  return V_LT;
+}
 
-#undef PPL_DECLARE_FUNC1_B
+template <typename Policy>
+inline Result
+round_gt_mpz(mpz_class& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    ++to;
+    return V_LT;
+  }
+  return V_GT;
+}
 
-#define PPL_DECLARE_FUNC2(name) \
-template <typename To, typename From1, typename From2> \
-typename Enable_If<Is_Native_Or_Checked<To>::value \
-                   && Is_Native_Or_Checked<From1>::value \
-                   && Is_Native_Or_Checked<From2>::value, \
-                   Result>::type \
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir);
+#ifdef PPL_HAVE_TYPEOF
+//! Type of the _mp_size field of GMP's __mpz_struct.
+typedef typeof(__mpz_struct()._mp_size) mp_size_field_t;
+#else
+//! This is assumed to be the type of the _mp_size field of GMP's __mpz_struct.
+typedef int mp_size_field_t;
+#endif
 
-PPL_DECLARE_FUNC2(add_assign_r)
-PPL_DECLARE_FUNC2(sub_assign_r)
-PPL_DECLARE_FUNC2(mul_assign_r)
-PPL_DECLARE_FUNC2(div_assign_r)
-PPL_DECLARE_FUNC2(idiv_assign_r)
-PPL_DECLARE_FUNC2(rem_assign_r)
-PPL_DECLARE_FUNC2(gcd_assign_r)
-PPL_DECLARE_FUNC2(lcm_assign_r)
-PPL_DECLARE_FUNC2(add_mul_assign_r)
-PPL_DECLARE_FUNC2(sub_mul_assign_r)
+inline mp_size_field_t
+get_mp_size(const mpz_class &v) {
+  return v.get_mpz_t()->_mp_size;
+}
 
-#undef PPL_DECLARE_FUNC2
+inline void
+set_mp_size(mpz_class &v, mp_size_field_t size) {
+  v.get_mpz_t()->_mp_size = size;
+}
 
-#define PPL_DECLARE_FUNC4(name) \
-template <typename To1, typename To2, typename To3, \
-	  typename From1, typename From2> \
-typename Enable_If<Is_Native_Or_Checked<To1>::value \
-                   && Is_Native_Or_Checked<To2>::value \
-                   && Is_Native_Or_Checked<To3>::value \
-                   && Is_Native_Or_Checked<From1>::value \
-		   && Is_Native_Or_Checked<From2>::value, \
-                   Result>::type \
-name(To1& to, To2& s, To3& t, \
-     const From1& x, const From2& y, \
-     Rounding_Dir dir);
+template <typename Policy>
+inline Result
+classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
+  if (Policy::has_nan || Policy::has_infinity) {
+    mp_size_field_t s = get_mp_size(v);
+    if (Policy::has_nan
+	&& (nan || sign)
+	&& s == C_Integer<mp_size_field_t>::min + 1)
+      return V_NAN;
+    if (!inf && !sign)
+      return V_LGE;
+    if (Policy::has_infinity) {
+      if (s == C_Integer<mp_size_field_t>::min)
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
+      if (s == C_Integer<mp_size_field_t>::max)
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
+    }
+  }
+  if (sign)
+    return static_cast<Result>(sgn<Policy>(v));
+  return V_LGE;
+}
 
-PPL_DECLARE_FUNC4(gcdext_assign_r)
+PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
 
-#undef PPL_DECLARE_FUNC4
+template <typename Policy>
+inline bool
+is_nan_mpz(const mpz_class& v) {
+  return Policy::has_nan
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::min + 1;
+}
 
-//! \name Accessor Functions
-//@{
+PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
 
-//@} // Accessor Functions
+template <typename Policy>
+inline bool
+is_minf_mpz(const mpz_class& v) {
+  return Policy::has_infinity
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::min;
+}
 
-//! \name Memory Size Inspection Functions
-//@{
+PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
 
-//! Returns the total size in bytes of the memory occupied by \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-size_t
-total_memory_in_bytes(const Checked_Number<T, Policy>& x);
+template <typename Policy>
+inline bool
+is_pinf_mpz(const mpz_class& v) {
+  return Policy::has_infinity
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
+}
 
-//! Returns the size in bytes of the memory managed by \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-memory_size_type
-external_memory_in_bytes(const Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
 
-//@} // Memory Size Inspection Functions
+template <typename Policy>
+inline bool
+is_int_mpz(const mpz_class& v) {
+  return !is_nan<Policy>(v);
+}
 
-//! \name Arithmetic Operators
-//@{
+PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
 
-//! Unary plus operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x);
+template <typename Policy>
+inline Result
+assign_special_mpz(mpz_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan)
+      set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      set_mp_size(v, C_Integer<mp_size_field_t>::min);
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      set_mp_size(v, C_Integer<mp_size_field_t>::max);
+      return V_EQ_PLUS_INFINITY;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN;
+  }
+}
 
-//! Unary minus operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator-(const Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
 
-//! Assigns to \p x largest integral value not greater than \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-floor_assign(Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From_Policy>
+inline void
+copy_mpz(mpz_class& to, const mpz_class& from) {
+  if (is_nan_mpz<From_Policy>(from))
+    PPL_ASSERT(To_Policy::has_nan);
+  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
+    PPL_ASSERT(To_Policy::has_infinity);
+  else {
+    to = from;
+    return;
+  }
+  set_mp_size(to, get_mp_size(from));
+}
 
-//! Assigns to \p x largest integral value not greater than \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-floor_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
 
-//! Assigns to \p x smallest integral value not less than \p x.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-ceil_assign(Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
+    new (&to) mpz_class(from);
+    return V_EQ;
+}
 
-//! Assigns to \p x smallest integral value not less than \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-ceil_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
 
-//! Round \p x to the nearest integer not larger in absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-trunc_assign(Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  if (round_not_requested(dir)) {
+    new (&to) mpz_class(from);
+    return V_LGE;
+  }
+  From n = rint(from);
+  new (&to) mpz_class(n);
+  if (from == n)
+    return V_EQ;
+  if (from < 0)
+    return round_lt_mpz<To_Policy>(to, dir);
+  else
+    return round_gt_mpz<To_Policy>(to, dir);
+}
 
-//! Assigns to \p x the value of \p y rounded to the nearest integer not larger in absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-trunc_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
 
-//! Assigns to \p x its negation.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-neg_assign(Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
 
-//! Assigns to \p x the negation of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(signed long))
+    to = static_cast<signed long>(from);
+  else {
+    mpz_ptr m = to.get_mpz_t();
+    if (from >= 0)
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+    else {
+      From n = -from;
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
+      mpz_neg(m, m);
+    }
+  }
+  return V_EQ;
+}
 
-//! Assigns to \p x its absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-abs_assign(Checked_Number<T, Policy>& x);
+PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
 
-//! Assigns to \p x the absolute value of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-abs_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(unsigned long))
+    to = static_cast<unsigned long>(from);
+  else
+    mpz_import(to.get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
+  return V_EQ;
+}
 
-//! Assigns to \p x the value <CODE>x + y * z</CODE>.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-add_mul_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
 
-//! Assigns to \p x the value <CODE>x - y * z</CODE>.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-sub_mul_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       const Checked_Number<T, Policy>& z);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  if (round_not_requested(dir)) {
+    to = from;
+    return V_LGE;
+  }
+  From i_from = rint(from);
+  to = i_from;
+  if (from == i_from)
+    return V_EQ;
+  if (round_direct(ROUND_UP))
+    return round_lt_mpz<To_Policy>(to, dir);
+  if (round_direct(ROUND_DOWN))
+    return round_gt_mpz<To_Policy>(to, dir);
+  if (from < i_from)
+    return round_lt_mpz<To_Policy>(to, dir);
+  if (from > i_from)
+    return round_gt_mpz<To_Policy>(to, dir);
+  PPL_UNREACHABLE;
+  return V_NAN;
+}
 
-//! Assigns to \p x the greatest common divisor of \p y and \p z.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-gcd_assign(Checked_Number<T, Policy>& x,
-	   const Checked_Number<T, Policy>& y,
-	   const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
 
-/*! \brief
-  Assigns to \p x the greatest common divisor of \p y and \p z,
-  setting \p s and \p t such that s*y + t*z = x = gcd(y, z).
-*/
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-gcdext_assign(Checked_Number<T, Policy>& x,
-	      Checked_Number<T, Policy>& s,
-	      Checked_Number<T, Policy>& t,
-	      const Checked_Number<T, Policy>& y,
-	      const Checked_Number<T, Policy>& z);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  // FIXME: this is an incredibly inefficient implementation!
+  std::stringstream ss;
+  output<From_Policy>(ss, from, Numeric_Format(), dir);
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+#ifndef NDEBUG
+  Result r =
+#endif
+    input_mpq(tmp, ss);
+  PPL_ASSERT(r == V_EQ);
+  return assign<To_Policy, From_Policy>(to, tmp, dir);
+}
 
-//! Assigns to \p x the least common multiple of \p y and \p z.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-lcm_assign(Checked_Number<T, Policy>& x,
-	   const Checked_Number<T, Policy>& y,
-	   const Checked_Number<T, Policy>& z);
+PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
 
-//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-mul_2exp_assign(Checked_Number<T, Policy>& x,
-                const Checked_Number<T, Policy>& y,
-                unsigned int exp);
+template <typename To_Policy, typename From_Policy>
+inline Result
+assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
+  if (round_not_needed(dir)) {
+    to = from.get_num();
+    return V_LGE;
+  }
+  if (round_ignore(dir)) {
+    to = from;
+    return V_LGE;
+  }
+  mpz_srcptr n = from.get_num().get_mpz_t();
+  mpz_srcptr d = from.get_den().get_mpz_t();
+  if (round_down(dir)) {
+    mpz_fdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_GT;
+    return V_GE;
+  }
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_LT;
+    return V_LE;
+  }
+}
 
-//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-div_2exp_assign(Checked_Number<T, Policy>& x,
-	       const Checked_Number<T, Policy>& y,
-	       unsigned int exp);
+PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+PPL_SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
+PPL_SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
 
-  \relates Checked_Number
-  The behavior is undefined if \p z does not divide \p y.
-*/
-template <typename T, typename Policy>
-void
-exact_div_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y,
-		 const Checked_Number<T, Policy>& z);
+template <typename To_Policy, typename From_Policy>
+inline Result
+neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  mpz_neg(to.get_mpz_t(), from.get_mpz_t());
+  return V_EQ;
+}
 
-//! Assigns to \p x the integer square root of \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void sqrt_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y);
+PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
 
-//@} // Arithmetic Operators
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x + y;
+  return V_EQ;
+}
 
+PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
 
-//! \name Relational Operators and Comparison Functions
-//@{
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x - y;
+  return V_EQ;
+}
 
-//! Equality operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator==(const T1& x, const T2& y);
+PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-equal(const T1& x, const T2& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x * y;
+  return V_EQ;
+}
 
-//! Disequality operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator!=(const T1& x, const T2& y);
+PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-not_equal(const T1& x, const T2& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  mpz_srcptr n = x.get_mpz_t();
+  mpz_srcptr d = y.get_mpz_t();
+  if (round_not_needed(dir)) {
+    mpz_divexact(to.get_mpz_t(), n, d);
+    return V_LGE;
+  }
+  if (round_ignore(dir)) {
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return V_LE;
+  }
+  if (round_down(dir)) {
+    mpz_fdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_GT;
+    return V_GE;
+  }
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_p(n, d) != 0) ? V_EQ : V_LT;
+    return V_LE;
+  }
+}
 
-//! Greater than or equal to operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator>=(const T1& x, const T2& y);
+PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-greater_or_equal(const T1& x, const T2& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  mpz_srcptr n = x.get_mpz_t();
+  mpz_srcptr d = y.get_mpz_t();
+  mpz_tdiv_q(to.get_mpz_t(), n, d);
+  return V_EQ;
+}
 
-//! Greater than operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator>(const T1& x, const T2& y);
+PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-greater_than(const T1& x, const T2& y);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, ::sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  to = x % y;
+  return V_EQ;
+}
 
-//! Less than or equal to operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator<=(const T1& x, const T2& y);
+PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-less_or_equal(const T1& x, const T2& y);
-
-//! Less than operator.
-/*! \relates Checked_Number */
-template <typename T1, typename T2>
-inline
-typename Enable_If<Is_Native_Or_Checked<T1>::value
-                   && Is_Native_Or_Checked<T2>::value
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
-		   bool>::type
-operator<(const T1& x, const T2& y);
-
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value
-			  && Is_Native_Or_Checked<T2>::value,
-			  bool>::type
-less_than(const T1& x, const T2& y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+add_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
 
-/*! \brief
-  Returns \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether the value
-  of \p x is negative, zero or positive, respectively.
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpz, mpz_class, mpz_class)
 
-  \relates Checked_Number
-*/
-template <typename From>
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type \
-sgn(const From& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
+}
 
-/*! \brief
-  Returns a negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpz, mpz_class, mpz_class)
 
-  \relates Checked_Number
-*/
-template <typename From1, typename From2>
-inline typename Enable_If<Is_Native_Or_Checked<From1>::value
-                          && Is_Native_Or_Checked<From2>::value,
-                          int>::type
-cmp(const From1& x, const From2& y);
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir) {
+  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-//@} // Relational Operators and Comparison Functions
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpz, mpz_class, mpz_class)
 
-//! \name Input-Output Operators
-//@{
+template <typename To_Policy, typename From_Policy>
+inline Result
+div_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+             Rounding_Dir dir) {
+  mpz_srcptr n = x.get_mpz_t();
+  if (round_not_requested(dir)) {
+    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+    return V_LGE;
+  }
+  if (round_down(dir)) {
+    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_2exp_p(n, exp) != 0) ? V_EQ : V_GT;
+    return V_GE;
+  }
+  else {
+    PPL_ASSERT(round_up(dir));
+    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
+    if (round_strict_relation(dir))
+      return (mpz_divisible_2exp_p(n, exp) != 0) ? V_EQ : V_LT;
+    return V_LE;
+  }
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-output(std::ostream& os,
-       const T& x,
-       const Numeric_Format& fmt,
-       Rounding_Dir dir);
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpz, mpz_class, mpz_class)
 
-//! Output operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-std::ostream&
-operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  if (mpz_tstbit(x.get_mpz_t(), exp - 1) != 0)
+    mpz_cdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  else
+    mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-//! Ascii dump for native or checked.
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-ascii_dump(std::ostream& s, const T& t);
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpz, mpz_class, mpz_class)
 
-//! Input function.
-/*!
-  \relates Checked_Number
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpz(mpz_class& to, const mpz_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_fdiv_r_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
 
-  \param is
-  Input stream to read from;
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpz, mpz_class, mpz_class)
 
-  \param x
-  Number (possibly extended) to assign to in case of successful reading;
+template <typename To_Policy, typename From_Policy>
+inline Result
+abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  to = abs(from);
+  return V_EQ;
+}
 
-  \param dir
-  Rounding mode to be applied.
+PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
 
-  \return
-  Result of the input operation.  Success, success with imprecision,
-  overflow, parsing error: all possibilities are taken into account,
-  checked for, and properly reported.
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	    Rounding_Dir) {
+  mpz_addmul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  This function attempts reading a (possibly extended) number from the given
-  stream \p is, possibly rounding as specified by \p dir, assigning the result
-  to \p x upon success, and returning the appropriate Result.
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpz, mpz_class, mpz_class, mpz_class)
 
-  The input syntax allows the specification of:
-  - plain base-10 integer numbers as <CODE>34976098</CODE>,
-    <CODE>-77</CODE> and <CODE>+13</CODE>;
-  - base-10 integer numbers in scientific notation as <CODE>15e2</CODE>
-    and <CODE>15*^2</CODE> (both meaning \f$15 \cdot 10^2 = 1500\f$),
-    <CODE>9200e-2</CODE> and <CODE>-18*^+11111111111111111</CODE>;
-  - base-10 rational numbers in fraction notation as
-    <CODE>15/3</CODE> and <CODE>15/-3</CODE>;
-  - base-10 rational numbers in fraction/scientific notation as
-    <CODE>15/30e-1</CODE> (meaning \f$5\f$) and <CODE>15*^-3/29e2</CODE>
-    (meaning \f$3/580000\f$);
-  - base-10 rational numbers in floating point notation as
-    <CODE>71.3</CODE> (meaning \f$713/10\f$) and
-    <CODE>-0.123456</CODE> (meaning \f$-1929/15625\f$);
-  - base-10 rational numbers in floating point scientific notation as
-    <CODE>2.2e-1</CODE> (meaning \f$11/50\f$) and <CODE>-2.20001*^+3</CODE>
-    (meaning \f$-220001/100\f$);
-  - integers and rationals (in fractional, floating point and scientific
-    notations) specified by using Mathematica-style bases, in the range
-    from 2 to 36, as
-    <CODE>2^^11</CODE> (meaning \f$3\f$),
-    <CODE>36^^z</CODE> (meaning \f$35\f$),
-    <CODE>36^^xyz</CODE> (meaning \f$44027\f$),
-    <CODE>2^^11.1</CODE> (meaning \f$7/2\f$),
-    <CODE>10^^2e3</CODE> (meaning \f$2000\f$),
-    <CODE>8^^2e3</CODE> (meaning \f$1024\f$),
-    <CODE>8^^2.1e3</CODE> (meaning \f$1088\f$),
-    <CODE>8^^20402543.120347e7</CODE> (meaning \f$9073863231288\f$),
-    <CODE>8^^2.1</CODE> (meaning \f$17/8\f$);
-    note that the base and the exponent are always written as plain
-    base-10 integer numbers; also, when an ambiguity may arise, the
-    character <CODE>e</CODE> is interpreted as a digit, so that
-    <CODE>16^^1e2</CODE> (meaning \f$482\f$) is different from
-    <CODE>16^^1*^2</CODE> (meaning \f$256\f$);
-  - the C-style hexadecimal prefix <CODE>0x</CODE> is interpreted as
-    the Mathematica-style prefix <CODE>16^^</CODE>;
-  - the C-style binary exponent indicator <CODE>p</CODE> can only be used
-    when base 16 has been specified; if used, the exponent will be
-    applied to base 2 (instead of base 16, as is the case when the
-    indicator <CODE>e</CODE> is used);
-  - special values like <CODE>inf</CODE> and <CODE>+inf</CODE>
-    (meaning \f$+\infty\f$), <CODE>-inf</CODE> (meaning \f$-\infty\f$),
-    and <CODE>nan</CODE> (meaning "not a number").
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
+	    Rounding_Dir) {
+  mpz_submul(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-  The rationale behind the accepted syntax can be summarized as follows:
-  - if the syntax is accepted by Mathematica, then this function
-    accepts it with the same semantics;
-  - if the syntax is acceptable as standard C++ integer or floating point
-    literal (except for octal notation and type suffixes, which are not
-    supported), then this function accepts it with the same semantics;
-  - natural extensions of the above are accepted with the natural
-    extensions of the semantics;
-  - special values are accepted.
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
 
-  Valid syntax is more formally and completely specified by the
-  following grammar, with the additional provisos that everything is
-  <EM>case insensitive</EM>, that the syntactic category
-  <CODE>BDIGIT</CODE> is further restricted by the current base
-  and that for all bases above 14, any <CODE>e</CODE> is always
-  interpreted as a digit and never as a delimiter for the exponent part
-  (if such a delimiter is desired, it has to be written as <CODE>*^</CODE>).
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  mpz_gcd(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-\code
-number	: NAN					INF	: 'inf'
-	| SIGN INF					;
-	| INF
-	| num					NAN	: 'nan'
-	| num DIV num					;
-	;
-						SIGN	: '-'
-num     : unum						| '+'
-        | SIGN unum					;
+PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
 
-unum	: unum1					EXP	: 'e'
-	| HEX unum1					| 'p'
-	| base BASE unum1				| '*^'
-	;                                               ;
-						POINT	: '.'
-unum1	: mantissa					;
-	| mantissa EXP exponent
-	;					DIV	: '/'
-							;
-mantissa: bdigits
-        | POINT bdigits				MINUS	: '-'
-	| bdigits POINT					;
-	| bdigits POINT bdigits
-	;					PLUS	: '+'
-						;
-exponent: SIGN digits
-	| digits				HEX	: '0x'
-	;					;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t,
+	   const mpz_class& x, const mpz_class& y,
+	   Rounding_Dir) {
+  mpz_gcdext(to.get_mpz_t(), s.get_mpz_t(), t.get_mpz_t(),
+	     x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-bdigits : BDIGIT				BASE	: '^^'
-	| bdigits BDIGIT				;
-	;
-						DIGIT   : '0' .. '9'
-digits  : DIGIT						;
-	| digits DIGIT
-	;					BDIGIT  : '0' .. '9'
-							| 'a' .. 'z'
-							;
-\endcode
-*/
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-input(T& x, std::istream& is, Rounding_Dir dir);
+PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
 
-//! Input operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-std::istream&
-operator>>(std::istream& is, Checked_Number<T, Policy>& x);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  mpz_lcm(to.get_mpz_t(), x.get_mpz_t(), y.get_mpz_t());
+  return V_EQ;
+}
 
-//! Ascii load for native or checked.
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-ascii_load(std::ostream& s, T& t);
+PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
 
-//@} // Input-Output Operators
+template <typename To_Policy, typename From_Policy>
+inline Result
+sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  if (round_not_requested(dir)) {
+    to = sqrt(from);
+    return V_GE;
+  }
+  PPL_DIRTY_TEMP(mpz_class, r);
+  mpz_sqrtrem(to.get_mpz_t(), r.get_mpz_t(), from.get_mpz_t());
+  if (r == 0)
+    return V_EQ;
+  return round_gt_mpz<To_Policy>(to, dir);
+}
 
-void throw_result_exception(Result r);
+PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
 
-template <typename T>
-T
-plus_infinity();
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_mp(const Type& x) {
+  int i = ::sgn(x);
+  return (i > 0) ? VR_GT : ((i < 0) ? VR_LT : VR_EQ);
+}
 
-template <typename T>
-T
-minus_infinity();
+PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
+PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
 
-template <typename T>
-T
-not_a_number();
+template <typename Policy1, typename Policy2, typename Type>
+inline Result_Relation
+cmp_mp(const Type& x, const Type& y) {
+  int i = ::cmp(x, y);
+  return (i > 0) ? VR_GT : ((i < 0) ? VR_LT : VR_EQ);
+}
 
-//! Swaps \p x with \p y.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y);
+PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
+PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
 
-template <typename T, typename Policy>
-struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
+template <typename Policy>
+inline Result
+output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
+	   Rounding_Dir) {
+  os << from;
+  return V_EQ;
+}
 
-template <typename T>
-void maybe_reset_fpu_inexact();
+PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
+PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
 
-template <typename T>
-int maybe_check_fpu_inexact();
+} // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 1. */
-/* Checked_Number class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/checked_mpq.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpq_class numbers.
 */
 
 
-/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 28. */
-#include <stdexcept>
 #include <sstream>
+#include <climits>
+#include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
 
-#ifndef NDEBUG
-#define DEBUG_ROUND_NOT_NEEDED
-#endif
-
-inline Rounding_Dir
-rounding_dir(Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    return ROUND_CHECK;
-#endif
-  }
-  return dir;
-}
+namespace Checked {
 
+template <typename Policy>
 inline Result
-check_result(Result r, Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    PPL_ASSERT(result_relation(r) == VR_EQ);
-#endif
-    return r;
+classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
+  if ((Policy::has_nan || Policy::has_infinity)
+      && ::sgn(v.get_den()) == 0) {
+    int s = ::sgn(v.get_num());
+    if (Policy::has_nan && (nan || sign) && s == 0)
+      return V_NAN;
+    if (!inf && !sign)
+      return V_LGE;
+    if (Policy::has_infinity) {
+      if (s < 0)
+	return inf ? V_EQ_MINUS_INFINITY : V_LT;
+      if (s > 0)
+	return inf ? V_EQ_PLUS_INFINITY : V_GT;
+    }
   }
-  return r;
+  if (sign)
+    return static_cast<Result>(sgn<Policy>(v));
+  return V_LGE;
 }
 
+PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
 
-template <typename T>
-inline void
-Checked_Number_Transparent_Policy<T>::handle_result(Result) {
+template <typename Policy>
+inline bool
+is_nan_mpq(const mpq_class& v) {
+  return Policy::has_nan
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) == 0;
 }
 
-inline void
-Extended_Number_Policy::handle_result(Result r) {
-  if (result_class(r) == VC_NAN)
-    throw_result_exception(r);
-}
+PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number()
- : v(0) {
+template <typename Policy>
+inline bool
+is_minf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) < 0;
 }
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const Checked_Number& y) {
-  // TODO: avoid default construction of value member.
-  Checked::copy<Policy, Policy>(v, y.raw_value());
-}
+PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
 
-template <typename T, typename Policy>
-template <typename From, typename From_Policy>
-inline
-Checked_Number<T, Policy>
-::Checked_Number(const Checked_Number<From, From_Policy>& y,
-		 Rounding_Dir dir) {
-  // TODO: avoid default construction of value member.
-  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
-				     (v,
-				      y.raw_value(),
-				      rounding_dir(dir)),
-				     dir)
-			);
+template <typename Policy>
+inline bool
+is_pinf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) > 0;
 }
 
-template <typename T, typename Policy>
-template <typename From, typename From_Policy>
-inline
-Checked_Number<T, Policy>
-::Checked_Number(const Checked_Number<From, From_Policy>& y) {
-  // TODO: avoid default construction of value member.
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
-				     (v,
-				      y.raw_value(),
-				      rounding_dir(dir)),
-				     dir));
-}
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
 
-// TODO: avoid default construction of value member.
-#define PPL_DEFINE_CTOR(type) \
-template <typename T, typename Policy> \
-inline \
-Checked_Number<T, Policy>::Checked_Number(const type x, Rounding_Dir dir) { \
-  Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
-		  dir));						\
-}									\
-template <typename T, typename Policy>					\
-inline									\
-Checked_Number<T, Policy>::Checked_Number(const type x) {		\
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;			\
-  Policy::handle_result							\
-    (check_result(Checked::assign_ext<Policy, Checked_Number_Transparent_Policy<type> >	\
-		  (v, x, rounding_dir(dir)),				\
-		  dir));						\
+template <typename Policy>
+inline bool
+is_int_mpq(const mpq_class& v) {
+  if ((Policy::has_infinity || Policy::has_nan)
+      && ::sgn(v.get_den()) == 0)
+    return !(Policy::has_nan && ::sgn(v.get_num()) == 0);
+  else
+    return v.get_den() == 1;
 }
 
-#define PPL_COND_0(...)
-#define PPL_COND_1(...) __VA_ARGS__
-#define PPL_COND_(if, ...) PPL_COND_##if(__VA_ARGS__)
-#define PPL_COND(if, ...) PPL_COND_(if, __VA_ARGS__)
-
-PPL_DEFINE_CTOR(char)
-PPL_DEFINE_CTOR(signed char)
-PPL_DEFINE_CTOR(signed short)
-PPL_DEFINE_CTOR(signed int)
-PPL_DEFINE_CTOR(signed long)
-PPL_DEFINE_CTOR(signed long long)
-PPL_DEFINE_CTOR(unsigned char)
-PPL_DEFINE_CTOR(unsigned short)
-PPL_DEFINE_CTOR(unsigned int)
-PPL_DEFINE_CTOR(unsigned long)
-PPL_DEFINE_CTOR(unsigned long long)
-PPL_COND(PPL_SUPPORTED_FLOAT, PPL_DEFINE_CTOR(float))
-PPL_COND(PPL_SUPPORTED_DOUBLE, PPL_DEFINE_CTOR(double))
-PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, PPL_DEFINE_CTOR(long double))
-PPL_DEFINE_CTOR(mpq_class&)
-PPL_DEFINE_CTOR(mpz_class&)
-
-#undef PPL_DEFINE_CTOR
-
-#undef PPL_COND
-#undef PPL_COND_
-#undef PPL_COND_1
-#undef PPL_COND_0
+PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const char* x, Rounding_Dir dir) {
-  std::istringstream s(x);
-  Policy::handle_result(check_result(Checked::input<Policy>(v,
-							    s,
-							    rounding_dir(dir)),
-				     dir));
-}
-
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number(const char* x) {
-  std::istringstream s(x);
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::input<Policy>(v,
-							    s,
-							    rounding_dir(dir)),
-				     dir));
+template <typename Policy>
+inline Result
+assign_special_mpq(mpq_class& v, Result_Class c, Rounding_Dir) {
+  switch (c) {
+  case VC_NAN:
+    if (Policy::has_nan) {
+      v.get_num() = 0;
+      v.get_den() = 0;
+      return V_NAN | V_UNREPRESENTABLE;
+    }
+    return V_NAN;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      v.get_num() = -1;
+      v.get_den() = 0;
+      return V_EQ_MINUS_INFINITY;
+    }
+    return V_EQ_MINUS_INFINITY | V_UNREPRESENTABLE;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      v.get_num() = 1;
+      v.get_den() = 0;
+      return V_EQ_PLUS_INFINITY;
+    }
+    return V_EQ_PLUS_INFINITY | V_UNREPRESENTABLE;
+  default:
+    PPL_UNREACHABLE;
+    return V_NAN | V_UNREPRESENTABLE;
+  }
 }
 
-template <typename T, typename Policy>
-template <typename From>
-inline
-Checked_Number<T, Policy>::Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type) {
-  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::vclass,
-							    rounding_dir(dir)),
-				     dir));
-}
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
 
-template <typename T, typename Policy>
-template <typename From>
-inline
-Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type) {
-  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
-  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
-							    From::vclass,
-							    rounding_dir(dir)),
-				     dir));
-}
+PPL_SPECIALIZE_COPY(copy_generic, mpq_class)
 
-template <typename To, typename From>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-assign_r(To& to, const From&, Rounding_Dir dir) {
-  return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::vclass,
-				rounding_dir(dir)),
-		      dir);
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
+  new (&to) mpq_class(from);
+  return V_EQ;
 }
 
-template <typename To, typename From>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
-construct(To& to, const From&, Rounding_Dir dir) {
-  return check_result(Checked::construct_special<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				From::vclass,
-				rounding_dir(dir)),
-		      dir);
-}
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_minus_infinity(const T& x) {
-  return Checked::is_minf<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  new (&to) mpq_class(from);
+  return V_EQ;
 }
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_plus_infinity(const T& x) {
-  return Checked::is_pinf<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x) {
-  return is_minus_infinity(x) ? -1 : is_plus_infinity(x) ? 1 : 0;
-}
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_not_a_number(const T& x) {
-  return Checked::is_nan<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
+  if (is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  assign_mpq_numeric_float(to, from);
+  return V_EQ;
 }
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_integer(const T& x) {
-  return Checked::is_int<typename Native_Checked_From_Wrapper<T>
-    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
-}
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, long double)
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::operator T() const {
-  if (Policy::convertible)
-    return v;
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(signed long))
+    to = static_cast<signed long>(from);
+  else {
+    mpz_ptr m = to.get_num().get_mpz_t();
+    if (from >= 0)
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &from);
+    else {
+      From n = -from;
+      mpz_import(m, 1, 1, sizeof(From), 0, 0, &n);
+      mpz_neg(m, m);
+    }
+    to.get_den() = 1;
+  }
+  return V_EQ;
 }
 
-template <typename T, typename Policy>
-inline T&
-Checked_Number<T, Policy>::raw_value() {
-  return v;
-}
+PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
 
-template <typename T, typename Policy>
-inline const T&
-Checked_Number<T, Policy>::raw_value() const {
-  return v;
+template <typename To_Policy, typename From_Policy, typename From>
+inline Result
+assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) {
+  if (sizeof(From) <= sizeof(unsigned long))
+    to = static_cast<unsigned long>(from);
+  else {
+    mpz_import(to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
+    to.get_den() = 1;
+  }
+  return V_EQ;
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline const T&
-raw_value(const Checked_Number<T, Policy>& x) {
-  return x.raw_value();
-}
+PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline T&
-raw_value(Checked_Number<T, Policy>& x) {
-  return x.raw_value();
+template <typename To_Policy, typename From_Policy>
+inline Result
+floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_fdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
 }
 
-template <typename T, typename Policy>
-inline bool
-Checked_Number<T, Policy>::OK() const {
-  return true;
-}
+PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
 
-template <typename T, typename Policy>
+template <typename To_Policy, typename From_Policy>
 inline Result
-Checked_Number<T, Policy>::classify(bool nan, bool inf, bool sign) const {
-  return Checked::classify<Policy>(v, nan, inf, sign);
+ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_cdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
 }
 
-template <typename T, typename Policy>
-inline bool
-is_not_a_number(const Checked_Number<T, Policy>& x) {
-  return Checked::is_nan<Policy>(x.raw_value());
-}
+PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
 
-template <typename T, typename Policy>
-inline bool
-is_minus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_minf<Policy>(x.raw_value());
+template <typename To_Policy, typename From_Policy>
+inline Result
+trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpz_tdiv_q(to.get_num().get_mpz_t(),
+	     from.get_num().get_mpz_t(), from.get_den().get_mpz_t());
+  to.get_den() = 1;
+  return V_EQ;
 }
 
-template <typename T, typename Policy>
-inline bool
-is_plus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_pinf<Policy>(x.raw_value());
-}
+PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline memory_size_type
-total_memory_in_bytes(const Checked_Number<T, Policy>& x) {
-  return total_memory_in_bytes(x.raw_value());
+template <typename To_Policy, typename From_Policy>
+inline Result
+neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  mpq_neg(to.get_mpq_t(), from.get_mpq_t());
+  return V_EQ;
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline memory_size_type
-external_memory_in_bytes(const Checked_Number<T, Policy>& x) {
-  return external_memory_in_bytes(x.raw_value());
+PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x + y;
+  return V_EQ;
 }
 
+PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename To>
-inline typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
-assign_r(To& to, const char* x, Rounding_Dir dir) {
-  std::istringstream s(x);
-  return check_result(Checked::input<typename Native_Checked_To_Wrapper<To>
-		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
-				s,
-				rounding_dir(dir)),
-		      dir);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x - y;
+  return V_EQ;
 }
 
-#define PPL_DEFINE_FUNC1_A(name, func) \
-template <typename To, typename From>					\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value               \
-                          && Is_Native_Or_Checked<From>::value,         \
-                          Result>::type                                 \
-name(To& to, const From& x, Rounding_Dir dir) {				\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From>::raw_value(x), \
-			   rounding_dir(dir)), dir);			\
-}
+PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
 
-PPL_DEFINE_FUNC1_A(construct, construct_ext)
-PPL_DEFINE_FUNC1_A(assign_r, assign_ext)
-PPL_DEFINE_FUNC1_A(floor_assign_r, floor_ext)
-PPL_DEFINE_FUNC1_A(ceil_assign_r, ceil_ext)
-PPL_DEFINE_FUNC1_A(trunc_assign_r, trunc_ext)
-PPL_DEFINE_FUNC1_A(neg_assign_r, neg_ext)
-PPL_DEFINE_FUNC1_A(abs_assign_r, abs_ext)
-PPL_DEFINE_FUNC1_A(sqrt_assign_r, sqrt_ext)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  to = x * y;
+  return V_EQ;
+}
 
-#undef PPL_DEFINE_FUNC1_A
+PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
 
-#define PPL_DEFINE_FUNC1_B(name, func) \
-template <typename To, typename From>					\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
-                          && Is_Native_Or_Checked<From>::value,         \
-                          Result>::type					\
-name(To& to, const From& x, int exp, Rounding_Dir dir) {		\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From>::raw_value(x), \
-			   exp,						\
-			   rounding_dir(dir)),				\
-		 dir);							\
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  to = x / y;
+  return V_EQ;
 }
 
-PPL_DEFINE_FUNC1_B(add_2exp_assign_r, add_2exp_ext)
-PPL_DEFINE_FUNC1_B(sub_2exp_assign_r, sub_2exp_ext)
-PPL_DEFINE_FUNC1_B(mul_2exp_assign_r, mul_2exp_ext)
-PPL_DEFINE_FUNC1_B(div_2exp_assign_r, div_2exp_ext)
-PPL_DEFINE_FUNC1_B(smod_2exp_assign_r, smod_2exp_ext)
-PPL_DEFINE_FUNC1_B(umod_2exp_assign_r, umod_2exp_ext)
-
-#undef PPL_DEFINE_FUNC1_B
+PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
 
-#define PPL_DEFINE_FUNC2(name, func) \
-template <typename To, typename From1, typename From2>			\
-inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
-                          && Is_Native_Or_Checked<From1>::value         \
-                          && Is_Native_Or_Checked<From2>::value,        \
-                          Result>::type					\
-name(To& to, const From1& x, const From2& y, Rounding_Dir dir) {	\
-  return								\
-    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From1>		\
-		 ::Policy,						\
-		 typename Native_Checked_From_Wrapper<From2>		\
-		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
-			   Native_Checked_From_Wrapper<From1>::raw_value(x), \
-			   Native_Checked_From_Wrapper<From2>::raw_value(y), \
-			   rounding_dir(dir)),				\
-		 dir);							\
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_DIV_ZERO);
+  }
+  to = x / y;
+  return trunc<To_Policy, To_Policy>(to, to, dir);
 }
 
-PPL_DEFINE_FUNC2(add_assign_r, add_ext)
-PPL_DEFINE_FUNC2(sub_assign_r, sub_ext)
-PPL_DEFINE_FUNC2(mul_assign_r, mul_ext)
-PPL_DEFINE_FUNC2(div_assign_r, div_ext)
-PPL_DEFINE_FUNC2(idiv_assign_r, idiv_ext)
-PPL_DEFINE_FUNC2(rem_assign_r, rem_ext)
-PPL_DEFINE_FUNC2(gcd_assign_r, gcd_ext)
-PPL_DEFINE_FUNC2(lcm_assign_r, lcm_ext)
-PPL_DEFINE_FUNC2(add_mul_assign_r, add_mul_ext)
-PPL_DEFINE_FUNC2(sub_mul_assign_r, sub_mul_ext)
-
-#undef PPL_DEFINE_FUNC2
+PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
 
-#define PPL_DEFINE_FUNC4(name, func)                                    \
-template <typename To1,							\
-          typename To2,							\
-	  typename To3,							\
-          typename From1,						\
-          typename From2>						\
-inline typename Enable_If<Is_Native_Or_Checked<To1>::value		\
-                          && Is_Native_Or_Checked<To2>::value           \
-                          && Is_Native_Or_Checked<To3>::value           \
-                          && Is_Native_Or_Checked<From1>::value         \
-                          && Is_Native_Or_Checked<From2>::value,        \
-                          Result>::type					\
-name(To1& to, To2& s, To3& t, const From1& x, const From2& y,		\
-     Rounding_Dir dir) {						\
-  return								\
-    check_result							\
-    (Checked::func<typename Native_Checked_To_Wrapper<To1>::Policy,	\
-                   typename Native_Checked_To_Wrapper<To2>::Policy,	\
-                   typename Native_Checked_To_Wrapper<To3>::Policy,	\
-                   typename Native_Checked_From_Wrapper<From1>::Policy,	\
-                   typename Native_Checked_From_Wrapper<From2>::Policy>	\
-     (Native_Checked_To_Wrapper<To1>::raw_value(to),			\
-      Native_Checked_To_Wrapper<To2>::raw_value(s),			\
-      Native_Checked_To_Wrapper<To3>::raw_value(t),			\
-      Native_Checked_From_Wrapper<From1>::raw_value(x),			\
-      Native_Checked_From_Wrapper<From2>::raw_value(y),			\
-      rounding_dir(dir)),						\
-     dir);								\
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
+  if (CHECK_P(To_Policy::check_div_zero, sgn(y) == 0)) {
+    return assign_nan<To_Policy>(to, V_MOD_ZERO);
+  }
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+  tmp = x / y;
+  tmp.get_num() %= tmp.get_den();
+  to = tmp * y;
+  return V_EQ;
 }
 
-PPL_DEFINE_FUNC4(gcdext_assign_r, gcdext_ext)
+PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
 
-#undef PPL_DEFINE_PPL_DEFINE_FUNC4
+template <typename To_Policy, typename From_Policy>
+inline Result
+add_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x + v;
+  return V_EQ;
+}
 
-#define PPL_DEFINE_INCREMENT(f, fun) \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f() { \
-  Policy::handle_result(fun(*this, *this, T(1), \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy> \
-Checked_Number<T, Policy>::f(int) {\
-  T r = v;\
-  Policy::handle_result(fun(*this, *this, T(1), \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r;\
+PPL_SPECIALIZE_ADD_2EXP(add_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+sub_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  PPL_DIRTY_TEMP(mpz_class, v);
+  v = 1;
+  mpz_mul_2exp(v.get_mpz_t(), v.get_mpz_t(), exp);
+  to = x - v;
+  return V_EQ;
 }
 
-PPL_DEFINE_INCREMENT(operator ++, add_assign_r)
-PPL_DEFINE_INCREMENT(operator --, sub_assign_r)
+PPL_SPECIALIZE_SUB_2EXP(sub_2exp_mpq, mpq_class, mpq_class)
 
-#undef PPL_DEFINE_INCREMENT
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  mpz_mul_2exp(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), exp);
+  to.get_den() = x.get_den();
+  to.canonicalize();
+  return V_EQ;
+}
 
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>&
-Checked_Number<T, Policy>::operator=(const Checked_Number<T, Policy>& y) {
-  Checked::copy<Policy, Policy>(v, y.raw_value());
-  return *this;
+PPL_SPECIALIZE_MUL_2EXP(mul_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+div_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+             Rounding_Dir) {
+  to.get_num() = x.get_num();
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
 }
-template <typename T, typename Policy>
-template <typename From>
-inline Checked_Number<T, Policy>&
-Checked_Number<T, Policy>::operator=(const From& y) {
-  Policy::handle_result(assign_r(*this, y, Policy::ROUND_DEFAULT_OPERATOR));
-  return *this;
+
+PPL_SPECIALIZE_DIV_2EXP(div_2exp_mpq, mpq_class, mpq_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+smod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_fdiv_q_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  bool neg = to.get_num() >= to.get_den();
+  mpz_mul_2exp(to.get_den().get_mpz_t(), to.get_den().get_mpz_t(), 1);
+  if (neg)
+    to.get_num() -= to.get_den();
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
 }
 
-#define PPL_DEFINE_BINARY_OP_ASSIGN(f, fun) \
-template <typename T, typename Policy> \
-template <typename From_Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f(const Checked_Number<T, From_Policy>& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy>& \
-Checked_Number<T, Policy>::f(const T& y) { \
-  Policy::handle_result(fun(*this, *this, y, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-} \
-template <typename T, typename Policy> \
-template <typename From> \
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, \
-                          Checked_Number<T, Policy>& >::type \
-Checked_Number<T, Policy>::f(const From& y) { \
-  Checked_Number<T, Policy> cy(y); \
-  Policy::handle_result(fun(*this, *this, cy, \
-			    Policy::ROUND_DEFAULT_OPERATOR)); \
-  return *this; \
-}
+PPL_SPECIALIZE_SMOD_2EXP(smod_2exp_mpq, mpq_class, mpq_class)
 
-PPL_DEFINE_BINARY_OP_ASSIGN(operator +=, add_assign_r)
-PPL_DEFINE_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
-PPL_DEFINE_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
-PPL_DEFINE_BINARY_OP_ASSIGN(operator /=, div_assign_r)
-PPL_DEFINE_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
+template <typename To_Policy, typename From_Policy>
+inline Result
+umod_2exp_mpq(mpq_class& to, const mpq_class& x, unsigned int exp,
+	      Rounding_Dir) {
+  mpz_mul_2exp(to.get_den().get_mpz_t(), x.get_den().get_mpz_t(), exp);
+  mpz_fdiv_r(to.get_num().get_mpz_t(), x.get_num().get_mpz_t(), to.get_den().get_mpz_t());
+  mpz_mul_2exp(to.get_num().get_mpz_t(), to.get_num().get_mpz_t(), exp);
+  to.canonicalize();
+  return V_EQ;
+}
 
-#undef PPL_DEFINE_BINARY_OP_ASSIGN
+PPL_SPECIALIZE_UMOD_2EXP(umod_2exp_mpq, mpq_class, mpq_class)
 
-#define PPL_DEFINE_BINARY_OP(f, fun) \
-template <typename T, typename Policy> \
-inline Checked_Number<T, Policy> \
-f(const Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
-  Checked_Number<T, Policy> r; \
-  Policy::handle_result(fun(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
-} \
-template <typename Type, typename T, typename Policy>	\
-inline \
-typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Type& x, const Checked_Number<T, Policy>& y) { \
-  Checked_Number<T, Policy> r(x); \
-  Policy::handle_result(fun(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
-} \
-template <typename T, typename Policy, typename Type>	\
-inline \
-typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
-f(const Checked_Number<T, Policy>& x, const Type& y) { \
-  Checked_Number<T, Policy> r(y); \
-  Policy::handle_result(fun(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
-  return r; \
+template <typename To_Policy, typename From_Policy>
+inline Result
+abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
+  to = abs(from);
+  return V_EQ;
 }
 
-PPL_DEFINE_BINARY_OP(operator +, add_assign_r)
-PPL_DEFINE_BINARY_OP(operator -, sub_assign_r)
-PPL_DEFINE_BINARY_OP(operator *, mul_assign_r)
-PPL_DEFINE_BINARY_OP(operator /, div_assign_r)
-PPL_DEFINE_BINARY_OP(operator %, rem_assign_r)
-
-#undef PPL_DEFINE_BINARY_OP
+PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
 
-#define PPL_DEFINE_COMPARE_OP(f, fun)                                   \
-template <typename T1, typename T2>					\
-inline									\
-typename Enable_If<Is_Native_Or_Checked<T1>::value                      \
-                   && Is_Native_Or_Checked<T2>::value                   \
-                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),	\
-		   bool>::type						\
-f(const T1& x, const T2& y) {						\
-  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
-    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
-    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
-     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
+	    Rounding_Dir) {
+  to += x * y;
+  return V_EQ;
 }
 
-PPL_DEFINE_COMPARE_OP(operator ==, eq_ext)
-PPL_DEFINE_COMPARE_OP(operator !=, ne_ext)
-PPL_DEFINE_COMPARE_OP(operator >=, ge_ext)
-PPL_DEFINE_COMPARE_OP(operator >, gt_ext)
-PPL_DEFINE_COMPARE_OP(operator <=, le_ext)
-PPL_DEFINE_COMPARE_OP(operator <, lt_ext)
-
-#undef PPL_DEFINE_COMPARE_OP
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-#define PPL_DEFINE_COMPARE(f, fun)                                      \
-template <typename T1, typename T2>					\
-inline typename Enable_If<Is_Native_Or_Checked<T1>::value		\
-			  && Is_Native_Or_Checked<T2>::value,		\
-                          bool>::type					\
-f(const T1& x, const T2& y) {						\
-  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
-    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
-    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
-     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+inline Result
+sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
+	    Rounding_Dir) {
+  to -= x * y;
+  return V_EQ;
 }
 
-PPL_DEFINE_COMPARE(equal, eq_ext)
-PPL_DEFINE_COMPARE(not_equal, ne_ext)
-PPL_DEFINE_COMPARE(greater_or_equal, ge_ext)
-PPL_DEFINE_COMPARE(greater_than, gt_ext)
-PPL_DEFINE_COMPARE(less_or_equal, le_ext)
-PPL_DEFINE_COMPARE(less_than, lt_ext)
-
-#undef PPL_DEFINE_COMPARE
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x) {
-  return x;
-}
+extern unsigned irrational_precision;
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>
-operator-(const Checked_Number<T, Policy>& x) {
-  Checked_Number<T, Policy> r;
-  Policy::handle_result(neg_assign_r(r, x, Policy::ROUND_DEFAULT_OPERATOR));
-  return r;
+template <typename To_Policy, typename From_Policy>
+inline Result
+sqrt_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  if (from == 0) {
+    to = 0;
+    return V_EQ;
+  }
+  bool gt1 = from.get_num() > from.get_den();
+  const mpz_class& from_a = gt1 ? from.get_num() : from.get_den();
+  const mpz_class& from_b = gt1 ? from.get_den() : from.get_num();
+  mpz_class& to_a = gt1 ? to.get_num() : to.get_den();
+  mpz_class& to_b = gt1 ? to.get_den() : to.get_num();
+  Rounding_Dir rdir = gt1 ? dir : inverse(dir);
+  mul_2exp<To_Policy, From_Policy>(to_a, from_a,
+                                   2*irrational_precision, ROUND_IGNORE);
+  Result r_div
+    = div<To_Policy, To_Policy, To_Policy>(to_a, to_a, from_b, rdir);
+  Result r_sqrt = sqrt<To_Policy, To_Policy>(to_a, to_a, rdir);
+  to_b = 1;
+  mul_2exp<To_Policy, To_Policy>(to_b, to_b,
+                                 irrational_precision, ROUND_IGNORE);
+  to.canonicalize();
+  return (r_div != V_EQ) ? r_div : r_sqrt;
 }
 
-#define PPL_DEFINE_ASSIGN_FUN2_1(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x) { \
-  Policy::handle_result(fun(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
-}
+PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
 
-#define PPL_DEFINE_ASSIGN_FUN2_2(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
-  Policy::handle_result(fun(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
+template <typename Policy>
+inline Result
+input_mpq(mpq_class& to, std::istream& is, Rounding_Dir dir) {
+  Result r = input_mpq(to, is);
+  Result_Class c = result_class(r);
+  switch (c) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+    return assign_special<Policy>(to, c, dir);
+  case VC_NAN:
+    return assign_nan<Policy>(to, r);
+  default:
+    return r;
+  }
 }
 
-#define PPL_DEFINE_ASSIGN_FUN3_3(f, fun) \
-template <typename T, typename Policy> \
-inline void \
-f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
-  const Checked_Number<T, Policy>& z) { \
-  Policy::handle_result(fun(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
-}
+PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
 
-#define PPL_DEFINE_ASSIGN_FUN5_5(f, fun)					\
-template <typename T, typename Policy>					\
-inline void								\
-f(Checked_Number<T, Policy>& x,						\
-  Checked_Number<T, Policy>& s, Checked_Number<T, Policy>& t,		\
-  const Checked_Number<T, Policy>& y,					\
-  const Checked_Number<T, Policy>& z) {					\
-  Policy::handle_result(fun(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
+template <typename Policy>
+inline Result
+output_mpq(std::ostream& os,
+	   const mpq_class& from,
+	   const Numeric_Format&,
+	   Rounding_Dir) {
+  os << from;
+  return V_EQ;
 }
 
-PPL_DEFINE_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
-
-PPL_DEFINE_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
-PPL_DEFINE_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
 
-PPL_DEFINE_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
-PPL_DEFINE_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+} // namespace Checked
 
-PPL_DEFINE_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
-PPL_DEFINE_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+//! Returns the precision parameter used for irrational calculations.
+inline unsigned
+irrational_precision() {
+  return Checked::irrational_precision;
+}
 
-PPL_DEFINE_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
-PPL_DEFINE_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+//! Sets the precision parameter used for irrational calculations.
+/*! The lesser between numerator and denominator is limited to 2**\p p.
 
-PPL_DEFINE_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
-PPL_DEFINE_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+  precision parameter used for irrational calculations to \p p.
 
-PPL_DEFINE_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+  \exception std::invalid_argument
+  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
+*/
+inline void
+set_irrational_precision(const unsigned p) {
+  if (p <= INT_MAX)
+    Checked::irrational_precision = p;
+  else
+    throw std::invalid_argument("PPL::set_irrational_precision(p)"
+				" with p > INT_MAX");
+}
 
-PPL_DEFINE_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+} // namespace Parma_Polyhedra_Library
 
-PPL_DEFINE_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+/* Automatically generated from PPL source file ../src/checked_ext.inlines.hh line 1. */
+/* Checked extended arithmetic functions.
+*/
 
-PPL_DEFINE_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
 
-PPL_DEFINE_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
+namespace Parma_Polyhedra_Library {
 
-PPL_DEFINE_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+template <typename T> struct FPU_Related : public False {};
+template <> struct FPU_Related<float> : public True {};
+template <> struct FPU_Related<double> : public True {};
+template <> struct FPU_Related<long double> : public True {};
 
-#undef PPL_DEFINE_ASSIGN_FUN2_1
-#undef PPL_DEFINE_ASSIGN_FUN2_2
-#undef PPL_DEFINE_ASSIGN_FUN3_2
-#undef PPL_DEFINE_ASSIGN_FUN3_3
-#undef PPL_DEFINE_ASSIGN_FUN5_5
+namespace Checked {
 
-#define PPL_DEFINE_ASSIGN_2EXP(f, fun)					\
-template <typename T, typename Policy>                                  \
-inline void								\
-f(Checked_Number<T, Policy>& to,					\
-  const Checked_Number<T, Policy>& x, unsigned int exp) {               \
-  Policy::handle_result(fun(to, x, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
+template <typename T>
+inline bool
+handle_ext_natively(const T&) {
+  return FPU_Related<T>::value;
 }
 
-PPL_DEFINE_ASSIGN_2EXP(mul_2exp_assign, mul_2exp_assign_r)
-PPL_DEFINE_ASSIGN_2EXP(div_2exp_assign, div_2exp_assign_r)
+template <typename Policy, typename Type>
+inline bool
+ext_to_handle(const Type& x) {
+  return !handle_ext_natively(x)
+    && (Policy::has_infinity || Policy::has_nan);
+}
 
-template <typename T, typename Policy>
-inline void
-exact_div_assign(Checked_Number<T, Policy>& x,
-		 const Checked_Number<T, Policy>& y,
-		 const Checked_Number<T, Policy>& z) {
-  Policy::handle_result(div_assign_r(x, y, z, ROUND_NOT_NEEDED));
+template <typename Policy, typename Type>
+inline Result_Relation
+sgn_ext(const Type& x) {
+  if (!ext_to_handle<Policy>(x))
+    goto native;
+  if (is_nan<Policy>(x))
+    return VR_EMPTY;
+  else if (is_minf<Policy>(x))
+    return VR_LT;
+  else if (is_pinf<Policy>(x))
+    return VR_GT;
+  else {
+  native:
+    return sgn<Policy>(x);
+  }
 }
 
-/*! \relates Checked_Number */
-template <typename From>
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
-sgn(const From& x) {
-  Result_Relation r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
-  switch (r) {
-  case VR_LT:
-    return -1;
-  case VR_EQ:
-    return 0;
-  case VR_GT:
-    return 1;
-  default:
-    throw(0);
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+construct_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return construct<To_Policy, From_Policy>(to, x, dir);
   }
 }
 
-/*! \relates Checked_Number */
-template <typename From1, typename From2>
-inline typename Enable_If<Is_Native_Or_Checked<From1>::value
-                          && Is_Native_Or_Checked<From2>::value,
-                          int>::type
-cmp(const From1& x, const From2& y) {
-  Result_Relation r
-    = Checked::cmp_ext<typename Native_Checked_From_Wrapper<From1>::Policy,
-                       typename Native_Checked_From_Wrapper<From2>::Policy>
-                 (Native_Checked_From_Wrapper<From1>::raw_value(x),
-		  Native_Checked_From_Wrapper<From2>::raw_value(y));
-  switch (r) {
-  case VR_LT:
-    return -1;
-  case VR_EQ:
-    return 0;
-  case VR_GT:
-    return 1;
-  default:
-    throw(0);
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+assign_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return assign<To_Policy, From_Policy>(to, x, dir);
   }
 }
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-output(std::ostream& os, const T& x,
-       const Numeric_Format& fmt, Rounding_Dir dir) {
-  return check_result(Checked::output_ext<typename Native_Checked_From_Wrapper<T>::Policy>
-		      (os,
-		       Native_Checked_From_Wrapper<T>::raw_value(x),
-		       fmt,
-		       rounding_dir(dir)),
-		      dir);
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+neg_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else {
+  native:
+    return neg<To_Policy, From_Policy>(to, x, dir);
+  }
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline std::ostream&
-operator<<(std::ostream& os, const Checked_Number<T, Policy>& x) {
-  Policy::handle_result(output(os, x, Numeric_Format(), ROUND_IGNORE));
-  return os;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+floor_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return floor<To_Policy, From_Policy>(to, x, dir);
+  }
 }
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
-input(T& x, std::istream& is, Rounding_Dir dir) {
-  return check_result(Checked::input_ext<typename Native_Checked_To_Wrapper<T>::Policy>
-		      (Native_Checked_To_Wrapper<T>::raw_value(x),
-		       is,
-		       rounding_dir(dir)),
-		      dir);
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+ceil_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return ceil<To_Policy, From_Policy>(to, x, dir);
+  }
 }
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline std::istream& operator>>(std::istream& is,
-				Checked_Number<T, Policy>& x) {
-  Result r = input(x, is, Policy::ROUND_DEFAULT_INPUT);
-  if (r == V_CVT_STR_UNK)
-    is.setstate(std::ios::failbit);
-  else
-    Policy::handle_result(r);
-  return is;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+trunc_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return trunc<To_Policy, From_Policy>(to, x, dir);
+  }
 }
 
-template <typename T>
-inline T
-plus_infinity() {
-  return PLUS_INFINITY;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+abs_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x) || is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return abs<To_Policy, From_Policy>(to, x, dir);
+  }
 }
 
-template <typename T>
-inline T
-minus_infinity() {
-  return MINUS_INFINITY;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+add_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<From2_Policy>(y)))
+      goto inf_add_inf;
+    else
+      goto minf;
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<From2_Policy>(y))) {
+    inf_add_inf:
+      return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+    }
+    else
+      goto pinf;
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+    minf:
+      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+    pinf:
+      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+    }
+    else {
+    native:
+      return add<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
 }
 
-template <typename T>
-inline T
-not_a_number() {
-  return NOT_A_NUMBER;
-}
-
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline void
-swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y) {
-  using std::swap;
-  swap(x.raw_value(), y.raw_value());
-}
-
-template <typename T>
-inline void
-maybe_reset_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_reset_inexact();
-}
-
-template <typename T>
-inline int
-maybe_check_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_check_inexact();
-  else
-    return 0;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+sub_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<From2_Policy>(y)))
+      goto inf_sub_inf;
+    else
+      goto minf;
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<From2_Policy>(y))) {
+    inf_sub_inf:
+      return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+    }
+    else
+      goto pinf;
+  }
+  else {
+    if (is_pinf<From2_Policy>(y)) {
+    minf:
+      return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+    }
+    else if (is_minf<From2_Policy>(y)) {
+    pinf:
+      return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+    }
+    else {
+    native:
+      return sub<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 1. */
-/* Specializations of std::numeric_limits for "checked" types.
-*/
-
-
-/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 29. */
-#include <limits>
-
-namespace std {
-
-using namespace Parma_Polyhedra_Library;
-
-#define PPL_SPECIALIZE_LIMITS_INT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
- class numeric_limits<Checked_Number<T, Policy> >                       \
-  : public numeric_limits<T> {						\
- private:								\
-  typedef Checked_Number<T, Policy> Type;                               \
-									\
- public:								\
-  static const bool has_infinity = Policy::has_infinity;		\
-  static const bool has_quiet_NaN =  Policy::has_nan;                   \
-                                                                        \
-  static Type min() {							\
-    Type v;								\
-    v.raw_value() = Checked::Extended_Int<Policy, T>::min;		\
-    return v;								\
-  }									\
-                                                                        \
-  static Type max() {							\
-    Type v;								\
-    v.raw_value() = Checked::Extended_Int<Policy, T>::max;		\
-    return v;								\
-  }									\
-									\
-  static Type infinity() {						\
-    Type v;								\
-    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
-			    ROUND_IGNORE);				\
-    return v;								\
-  }									\
-									\
-  static Type quiet_NaN() {						\
-    Type v;								\
-    Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
-			    ROUND_IGNORE);				\
-    return v;								\
-  }									\
-};
-
-PPL_SPECIALIZE_LIMITS_INT(char)
-
-PPL_SPECIALIZE_LIMITS_INT(signed char)
-PPL_SPECIALIZE_LIMITS_INT(signed short)
-PPL_SPECIALIZE_LIMITS_INT(signed int)
-PPL_SPECIALIZE_LIMITS_INT(signed long)
-PPL_SPECIALIZE_LIMITS_INT(signed long long)
-
-PPL_SPECIALIZE_LIMITS_INT(unsigned char)
-PPL_SPECIALIZE_LIMITS_INT(unsigned short)
-PPL_SPECIALIZE_LIMITS_INT(unsigned int)
-PPL_SPECIALIZE_LIMITS_INT(unsigned long)
-PPL_SPECIALIZE_LIMITS_INT(unsigned long long)
-
-#undef PPL_SPECIALIZE_LIMITS_INT
-
-#define PPL_SPECIALIZE_LIMITS_FLOAT(T)					\
-/*! \brief Partial specialization of std::numeric_limits. */		\
-template <typename Policy>						\
-struct numeric_limits<Checked_Number<T, Policy> > \
-  : public numeric_limits<T> {						\
-};
-
-#if PPL_SUPPORTED_FLOAT
-PPL_SPECIALIZE_LIMITS_FLOAT(float)
-#endif
-#if PPL_SUPPORTED_DOUBLE
-PPL_SPECIALIZE_LIMITS_FLOAT(double)
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-PPL_SPECIALIZE_LIMITS_FLOAT(long double)
-#endif
-
-#undef PPL_SPECIALIZE_LIMITS_FLOAT
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partial specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-class
-numeric_limits<Checked_Number<mpz_class, Policy> >
-  : public numeric_limits<mpz_class> {
-private:
-  typedef Checked_Number<mpz_class, Policy> Type;
-
-public:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
-
-  static Type infinity() {
-    Type v;
-    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
-				    ROUND_IGNORE);
-    return v;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto pinf;
+    case VR_GT:
+      goto minf;
+    default:
+      goto inf_mul_zero;
+    }
   }
-
-  static Type quiet_NaN() {
-    Type v;
-    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
-    return v;
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto minf;
+    case VR_GT:
+      goto pinf;
+    default:
+      goto inf_mul_zero;
+    }
   }
-};
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partial specialization of std::numeric_limits.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-class
-numeric_limits<Checked_Number<mpq_class, Policy> >
-: public numeric_limits<mpq_class> {
-private:
-  typedef Checked_Number<mpq_class, Policy> Type;
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+    native:
+      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
 
-public:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
 
-  static Type infinity() {
-    Type v;
-    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
-				    ROUND_IGNORE);
-    return v;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+add_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<To_Policy>(to)
+      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<To_Policy>(to)
+      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_pinf;
+    case VR_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
   }
-
-  static Type quiet_NaN() {
-    Type v;
-    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
-    return v;
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_minf;
+    case VR_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
   }
-};
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 1. */
-/* Checked_Number class implementation: non-inline template functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 28. */
-#include <iomanip>
-#include <limits>
-
-namespace Parma_Polyhedra_Library {
-
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-ascii_dump(std::ostream& s, const T& t) {
-  if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: pretty printer is accurate.
-    s << t;
   else {
-    // An inexact datatype (probably floating point):
-    // first dump its hexadecimal representation ...
-    const std::ios_base::fmtflags old_flags = s.flags();
-    s << std::hex;
-    const unsigned char* p = reinterpret_cast<const unsigned char*>(&t);
-    for (unsigned i = 0; i < sizeof(T); ++i) {
-      s << std::setw(2) << std::setfill('0');
-      s << static_cast<unsigned>(p[i]);
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto a_pinf;
+      case VR_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      a_minf:
+	if (CHECK_P(To_Policy::check_inf_add_inf, is_pinf<To_Policy>(to)))
+	  goto inf_add_inf;
+	else
+	  goto minf;
+      case VR_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
+	inf_add_inf:
+	  return assign_nan<To_Policy>(to, V_INF_ADD_INF);
+	}
+	else
+	  goto pinf;
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+      if (is_minf<To_Policy>(to)) {
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      }
+      if (is_pinf<To_Policy>(to)) {
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      }
+    native:
+      return add_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
     }
-    s.flags(old_flags);
-    // ... and then pretty print it for readability.
-    s << " (" << t << ")";
   }
 }
 
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-ascii_load(std::istream& s, T& t) {
-  if (std::numeric_limits<T>::is_exact)
-    // An exact datatype: input from pretty printed version is accurate.
-    return s >> t;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+sub_mul_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<To_Policy>(to)
+      && !ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<To_Policy>(to)
+      || is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_pinf;
+    case VR_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case VR_LT:
+      goto a_minf;
+    case VR_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
   else {
-    // An inexact datatype (probably floating point):
-    // first load its hexadecimal representation ...
-    std::string str;
-    if (!(s >> str) || str.size() != 2*sizeof(T))
-      return false;
-    unsigned char* p = reinterpret_cast<unsigned char*>(&t);
-    // CHECKME: any (portable) simpler way?
-    for (unsigned i = 0; i < sizeof(T); ++i) {
-      unsigned byte_value = 0;
-      for (unsigned j = 0; j < 2; ++j) {
-        byte_value <<= 4;
-        unsigned half_byte_value;
-        // Interpret single hex character.
-        switch (str[2*i+j]) {
-        case '0':
-          half_byte_value = 0;
-          break;
-        case '1':
-          half_byte_value = 1;
-          break;
-        case '2':
-          half_byte_value = 2;
-          break;
-        case '3':
-          half_byte_value = 3;
-          break;
-        case '4':
-          half_byte_value = 4;
-          break;
-        case '5':
-          half_byte_value = 5;
-          break;
-        case '6':
-          half_byte_value = 6;
-          break;
-        case '7':
-          half_byte_value = 7;
-          break;
-        case '8':
-          half_byte_value = 8;
-          break;
-        case '9':
-          half_byte_value = 9;
-          break;
-        case 'A':
-        case 'a':
-          half_byte_value = 10;
-          break;
-        case 'B':
-        case 'b':
-          half_byte_value = 11;
-          break;
-        case 'C':
-        case 'c':
-          half_byte_value = 12;
-          break;
-        case 'D':
-        case 'd':
-          half_byte_value = 13;
-          break;
-        case 'E':
-        case 'e':
-          half_byte_value = 14;
-          break;
-        case 'F':
-        case 'f':
-          half_byte_value = 15;
-          break;
-        default:
-          return false;
-        }
-        byte_value += half_byte_value;
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+	goto a_pinf;
+      case VR_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
       }
-      PPL_ASSERT(byte_value <= 255);
-      p[i] = static_cast<unsigned char>(byte_value);
     }
-    // ... then read and discard pretty printed value.
-    if (!(s >> str))
-      return false;
-    const unsigned sz = str.size();
-    return sz > 2 && str[0] == '(' && str[sz-1] == ')';
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case VR_LT:
+      a_minf:
+	if (CHECK_P(To_Policy::check_inf_sub_inf, is_minf<To_Policy>(to)))
+	  goto inf_sub_inf;
+	else
+	  goto pinf;
+      case VR_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
+	inf_sub_inf:
+	  return assign_nan<To_Policy>(to, V_INF_SUB_INF);
+	}
+	else
+	  goto minf;
+      default:
+      inf_mul_zero:
+	PPL_ASSERT(To_Policy::check_inf_mul_zero);
+	return assign_nan<To_Policy>(to, V_INF_MUL_ZERO);
+      }
+    }
+    else {
+      if (is_minf<To_Policy>(to)) {
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      }
+      if (is_pinf<To_Policy>(to)) {
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      }
+    native:
+      return sub_mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
   }
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1053. */
-
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 17. */
-
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-
-namespace Parma_Polyhedra_Library {
-
-//! A policy for checked bounded integer coefficients.
-/*! \ingroup PPL_CXX_interface */
-struct Bounded_Integer_Coefficient_Policy {
-  //! Check for overflowed result.
-  const_bool_nodef(check_overflow, true);
-
-  //! Do not check for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, false);
-
-  //! Do not check for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, false);
-
-  //! Do not check for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, false);
-
-  //! Do not check for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, false);
-
-  //! Do not check for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, false);
-
-  //! Do not check for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, false);
-
-  //! Do not checks for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, false);
-
-  //! Do not handle not-a-number special value.
-  const_bool_nodef(has_nan, false);
-
-  //! Do not handle infinity special values.
-  const_bool_nodef(has_infinity, false);
-
-  /*! \brief
-    The checked number can always be safely converted to the
-    underlying type \p T and vice-versa.
-  */
-  const_bool_nodef(convertible, true);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+div_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y)))
+      goto inf_div_inf;
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto div_zero;
+      }
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y))) {
+    inf_div_inf:
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
+      }
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = 0;
+      return V_EQ;
+    }
+    else {
+    native:
+      return div<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
 
-  //! Do not honor requests to check for FPU inexact results.
-  const_bool_nodef(fpu_check_inexact, false);
 
-  //! Do not make extra checks to detect FPU NaN results.
-  const_bool_nodef(fpu_check_nan_result, true);
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+idiv_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (is_minf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y)))
+      goto inf_div_inf;
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+	goto pinf;
+      case VR_GT:
+	goto minf;
+      default:
+	goto div_zero;
+      }
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    if (CHECK_P(To_Policy::check_inf_div_inf, is_minf<From2_Policy>(y)
+		|| is_pinf<From2_Policy>(y))) {
+    inf_div_inf:
+      return assign_nan<To_Policy>(to, V_INF_DIV_INF);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case VR_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case VR_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	PPL_ASSERT(To_Policy::check_div_zero);
+	return assign_nan<To_Policy>(to, V_DIV_ZERO);
+      }
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = 0;
+      return V_EQ;
+    }
+    else {
+    native:
+      return idiv<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
 
-  /*! \brief
-    For constructors, by default use the same rounding used by
-    underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
 
-  /*! \brief
-    For overloaded operators (operator+(), operator-(), ...), by
-    default use the same rounding used by the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+rem_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (!ext_to_handle<From1_Policy>(x) && !ext_to_handle<From2_Policy>(y))
+    goto native;
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From1_Policy>(x)
+		   || is_pinf<From1_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+    if (is_minf<From1_Policy>(y) || is_pinf<From2_Policy>(y)) {
+      to = x;
+      return V_EQ;
+    }
+    else {
+    native:
+      return rem<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
 
-  /*! \brief
-    For input functions, by default use the same rounding used by
-    the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+add_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return add_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-  /*! \brief
-    For output functions, by default use the same rounding used by
-    the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+sub_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return sub_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-  /*! \brief
-    For all other functions, by default use the same rounding used by
-    the underlying type.
-  */
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+mul_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return mul_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-  /*! \brief
-    Handles \p r: called by all constructors, operators and functions that
-    do not return a Result value.
-  */
-  static void handle_result(Result r);
-};
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+div_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return div_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 8 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int8_t, Policy> > {
-  //! The type used for references to const 8 bit checked integers.
-  typedef Checked_Number<int8_t, Policy> const_reference;
-};
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+smod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return smod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 16 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int16_t, Policy> > {
-  //! The type used for references to const 16 bit checked integers.
-  typedef Checked_Number<int16_t, Policy> const_reference;
-};
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+umod_2exp_ext(To& to, const From& x, unsigned int exp, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (CHECK_P(To_Policy::check_inf_mod, is_minf<From_Policy>(x)
+		   || is_pinf<From_Policy>(x))) {
+    return assign_nan<To_Policy>(to, V_INF_MOD);
+  }
+  else {
+  native:
+    return umod_2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 32 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int32_t, Policy> > {
-  //! The type used for references to const 32 bit checked integers.
-  typedef Checked_Number<int32_t, Policy> const_reference;
-};
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+sqrt_ext(To& to, const From& x, Rounding_Dir dir) {
+  if (!ext_to_handle<From_Policy>(x))
+    goto native;
+  if (is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From_Policy>(x)) {
+    return assign_nan<To_Policy>(to, V_SQRT_NEG);
+  }
+  else if (is_pinf<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else {
+  native:
+    return sqrt<To_Policy, From_Policy>(to, x, dir);
+  }
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for 64 bits checked integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
-  //! The type used for references to const 64 bit checked integers.
-  typedef const Checked_Number<int64_t, Policy>& const_reference;
-};
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+gcd_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x))
+    return abs_ext<To_Policy, From2_Policy>(to, y, dir);
+  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
+    return abs_ext<To_Policy, From1_Policy>(to, x, dir);
+  else
+    return gcd<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename To1_Policy, typename To2_Policy, typename To3_Policy,
+	  typename From1_Policy, typename From2_Policy,
+	  typename To1, typename To2, typename To3,
+	  typename From1, typename From2>
+inline Result
+gcdext_ext(To1& to, To2& s, To3& t, const From1& x, const From2& y,
+	   Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To1_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)) {
+    s = 0;
+    t = y > 0 ? -1 : 1;
+    return abs_ext<To1_Policy, From2_Policy>(to, y, dir);
+  }
+  else if (is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y)) {
+    s = x > 0 ? -1 : 1;
+    t = 0;
+    return abs_ext<To1_Policy, From1_Policy>(to, x, dir);
+  }
+  else
+    return gcdext<To1_Policy, To2_Policy, To3_Policy, From1_Policy, From2_Policy>(to, s, t, x, y, dir);
+}
 
-#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
+inline Result
+lcm_ext(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (is_nan<From1_Policy>(x) || is_nan<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  else if (is_minf<From1_Policy>(x) || is_pinf<From1_Policy>(x)
+	   || is_minf<From2_Policy>(y) || is_pinf<From2_Policy>(y))
+    return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+  else
+    return lcm<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+}
 
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 1. */
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline Result_Relation
+cmp_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return VR_EMPTY;
+  else if (is_minf<Policy1>(x))
+    return is_minf<Policy2>(y) ? VR_EQ : VR_LT;
+  else if (is_pinf<Policy1>(x))
+    return is_pinf<Policy2>(y) ? VR_EQ : VR_GT;
+  else {
+    if (is_minf<Policy2>(y))
+      return VR_GT;
+    if (is_pinf<Policy2>(y))
+      return VR_LT;
+  native:
+    return cmp<Policy1, Policy2>(x, y);
+  }
+}
 
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+lt_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
+    return true;
+ native:
+  return lt_p<Policy1, Policy2>(x, y);
+}
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 17. */
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 19. */
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+gt_ext(const Type1& x, const Type2& y) {
+  return lt_ext<Policy1, Policy2>(y, x);
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+le_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x) || is_pinf<Policy2>(y))
+    return true;
+  if (is_pinf<Policy1>(x) || is_minf<Policy2>(y))
+    return false;
+ native:
+  return le_p<Policy1, Policy2>(x, y);
+}
 
-/*! \class Parma_Polyhedra_Library::GMP_Integer
-  \brief
-  Unbounded integers as provided by the GMP library.
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+ge_ext(const Type1& x, const Type2& y) {
+  return le_ext<Policy1, Policy2>(y, x);
+}
 
-  \ingroup PPL_CXX_interface
-  GMP_Integer is an alias for the <CODE>mpz_class</CODE> type
-  defined in the C++ interface of the GMP library.
-  For more information, see <CODE>http://www.swox.com/gmp/</CODE>
-*/
-typedef mpz_class GMP_Integer;
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+eq_ext(const Type1& x, const Type2& y) {
+  if (!ext_to_handle<Policy1>(x) && !ext_to_handle<Policy2>(y))
+    goto native;
+  if (is_nan<Policy1>(x) || is_nan<Policy2>(y))
+    return false;
+  if (is_minf<Policy1>(x))
+    return is_minf<Policy2>(y);
+  if (is_pinf<Policy1>(x))
+    return is_pinf<Policy2>(y);
+  else if (is_minf<Policy2>(y) || is_pinf<Policy2>(y))
+    return false;
+ native:
+  return eq_p<Policy1, Policy2>(x, y);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Coefficient traits specialization for unbounded integers.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <>
-struct Coefficient_traits_template<GMP_Integer> {
-  //! The type used for references to const unbounded integers.
-  typedef const GMP_Integer& const_reference;
-};
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+ne_ext(const Type1& x, const Type2& y) {
+  return !eq_ext<Policy1, Policy2>(x, y);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename Policy, typename Type>
+inline Result
+output_ext(std::ostream& os, const Type& x,
+	   const Numeric_Format& format, Rounding_Dir dir) {
+  if (!ext_to_handle<Policy>(x))
+    goto native;
+  if (is_nan<Policy>(x)) {
+    os << "nan";
+    return V_NAN;
+  }
+  if (is_minf<Policy>(x)) {
+    os << "-inf";
+    return V_EQ;
+  }
+  if (is_pinf<Policy>(x)) {
+    os << "+inf";
+    return V_EQ;
+  }
+ native:
+  return output<Policy>(os, x, format, dir);
+}
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 150. */
-#endif
-
-namespace Parma_Polyhedra_Library {
-
-//! An alias for easily naming the type of PPL coefficients.
-/*! \ingroup PPL_CXX_interface
-  Objects of type Coefficient are used to implement the integral valued
-  coefficients occurring in linear expressions, constraints, generators,
-  intervals, bounding boxes and so on.  Depending on the chosen
-  configuration options (see file <CODE>README.configure</CODE>),
-  a Coefficient may actually be:
-    - The GMP_Integer type, which in turn is an alias for the
-      <CODE>mpz_class</CODE> type implemented by the C++ interface
-      of the GMP library (this is the default configuration).
-    - An instance of the Checked_Number class template: with the policy
-      Bounded_Integer_Coefficient_Policy, this implements overflow
-      detection on top of a native integral type (available template
-      instances include checked integers having 8, 16, 32 or 64 bits);
-      with the Checked_Number_Transparent_Policy, this is a wrapper
-      for native integral types with no overflow detection
-      (available template instances are as above).
-*/
-typedef PPL_COEFFICIENT_TYPE Coefficient;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An alias for easily naming the coefficient traits.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-typedef Coefficient_traits_template<Coefficient> Coefficient_traits;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Linear_Expression.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Linear_Expression;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Constraint.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
+template <typename To_Policy, typename To>
+inline Result
+input_ext(To& to, std::istream& is, Rounding_Dir dir) {
+  return input<To_Policy>(to, is, dir);
+}
 
-class Constraint;
+} // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Generator.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Generator;
+/* Automatically generated from PPL source file ../src/checked.defs.hh line 706. */
 
-} // namespace Parma_Polyhedra_Library
+#undef nonconst
+#ifdef PPL_SAVED_nonconst
+#define nonconst PPL_SAVED_nonconst
+#undef PPL_SAVED_nonconst
+#endif
 
-/* Automatically generated from PPL source file ../src/Congruence.types.hh line 1. */
+#undef PPL_FUNCTION_CLASS
+#undef PPL_NAN
 
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 31. */
+#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-class Congruence;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Extended_Number_Policy {
+  const_bool_nodef(check_overflow, true);
+  const_bool_nodef(check_inf_add_inf, false);
+  const_bool_nodef(check_inf_sub_inf, false);
+  const_bool_nodef(check_inf_mul_zero, false);
+  const_bool_nodef(check_div_zero, false);
+  const_bool_nodef(check_inf_div_inf, false);
+  const_bool_nodef(check_inf_mod, false);
+  const_bool_nodef(check_sqrt_neg, false);
+  const_bool_nodef(has_nan, true);
+  const_bool_nodef(has_infinity, true);
 
-}
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.types.hh line 1. */
+  const_bool_nodef(fpu_check_inexact, true);
+  const_bool_nodef(fpu_check_nan_result, true);
 
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
 
-namespace Parma_Polyhedra_Library {
+  static void handle_result(Result r);
+};
 
-class Grid_Generator;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A policy checking for overflows.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Check_Overflow_Policy {
+  const_bool_nodef(check_overflow, true);
+  const_bool_nodef(check_inf_add_inf, false);
+  const_bool_nodef(check_inf_sub_inf, false);
+  const_bool_nodef(check_inf_mul_zero, false);
+  const_bool_nodef(check_div_zero, false);
+  const_bool_nodef(check_inf_div_inf, false);
+  const_bool_nodef(check_inf_mod, false);
+  const_bool_nodef(check_sqrt_neg, false);
+  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+  const_bool_nodef(convertible, true);
+  const_bool_nodef(fpu_check_inexact, true);
+  const_bool_nodef(fpu_check_nan_result, true);
+};
 
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Native_Checked_From_Wrapper;
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 35. */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Native_Checked_From_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
+  typedef Checked_Number_Transparent_Policy<T> Policy;
+  static const T& raw_value(const T& v) {
+    return v;
+  }
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A class implementing various scalar product functions.
-/*! \ingroup PPL_CXX_interface
-  When computing the scalar product of (Linear_Row or Constraint or
-  Generator) objects <CODE>x</CODE> and <CODE>y</CODE>, it is assumed
-  that the space dimension of the first object <CODE>x</CODE> is less
-  than or equal to the space dimension of the second object <CODE>y</CODE>.
-*/
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Scalar_Products {
-public:
-  //! Computes the scalar product of \p x and \p y and assigns it to \p z.
-  static void assign(Coefficient& z, const Linear_Row& x, const Linear_Row& y);
-  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
-  static void assign(Coefficient& z, const Constraint& c, const Generator& g);
-  //! Computes the scalar product of \p g and \p c and assigns it to \p z.
-  static void assign(Coefficient& z, const Generator& g, const Constraint& c);
-  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Constraint& c, const Grid_Generator& g);
-  //! Computes the scalar product of \p g and \p cg and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Grid_Generator& g, const Congruence& cg);
-  //! Computes the scalar product of \p cg and \p g and assigns it to \p z.
-  static void assign(Coefficient& z,
-		     const Congruence& cg, const Grid_Generator& g);
+template <typename T, typename P>
+struct Native_Checked_From_Wrapper<Checked_Number<T, P> > {
+  typedef P Policy;
+  static const T& raw_value(const Checked_Number<T, P>& v) {
+    return v.raw_value();
+  }
+};
 
-  //! Returns the sign of the scalar product between \p x and \p y.
-  static int sign(const Linear_Row& x, const Linear_Row& y);
-  //! Returns the sign of the scalar product between \p c and \p g.
-  static int sign(const Constraint& c, const Generator& g);
-  //! Returns the sign of the scalar product between \p g and \p c.
-  static int sign(const Generator& g, const Constraint& c);
-  //! Returns the sign of the scalar product between \p c and \p g.
-  static int sign(const Constraint& c, const Grid_Generator& g);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Native_Checked_To_Wrapper;
 
-  /*! \brief
-    Computes the \e reduced scalar product of \p x and \p y,
-    where the \f$\epsilon\f$ coefficient of \p x is ignored,
-    and assigns the result to \p z.
-  */
-  static void reduced_assign(Coefficient& z,
-			     const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Computes the \e reduced scalar product of \p c and \p g,
-    where the \f$\epsilon\f$ coefficient of \p c is ignored,
-    and assigns the result to \p z.
-  */
-  static void reduced_assign(Coefficient& z,
-			     const Constraint& c, const Generator& g);
-  /*! \brief
-    Computes the \e reduced scalar product of \p g and \p c,
-    where the \f$\epsilon\f$ coefficient of \p g is ignored,
-    and assigns the result to \p z.
-  */
-  static void reduced_assign(Coefficient& z,
-			     const Generator& g, const Constraint& c);
-  //! \brief
-  //! Computes the \e reduced scalar product of \p g and \p cg,
-  //! where the \f$\epsilon\f$ coefficient of \p g is ignored,
-  //! and assigns the result to \p z.
-  static void reduced_assign(Coefficient& z,
-			     const Grid_Generator& g, const Congruence& cg);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Native_Checked_To_Wrapper<T, typename Enable_If<Is_Native<T>::value>::type> {
+  typedef Check_Overflow_Policy<T> Policy;
+  static T& raw_value(T& v) {
+    return v;
+  }
+};
 
-  /*! \brief
-    Returns the sign of the \e reduced scalar product of \p x and \p y,
-    where the \f$\epsilon\f$ coefficient of \p x is ignored.
-  */
-  static int reduced_sign(const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Returns the sign of the \e reduced scalar product of \p c and \p g,
-    where the \f$\epsilon\f$ coefficient of \p c is ignored.
-  */
-  static int reduced_sign(const Constraint& c, const Generator& g);
-  /*! \brief
-    Returns the sign of the \e reduced scalar product of \p g and \p c,
-    where the \f$\epsilon\f$ coefficient of \p g is ignored.
-  */
-  static int reduced_sign(const Generator& g, const Constraint& c);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Native_Checked_To_Wrapper<Checked_Number<T, P> > {
+  typedef P Policy;
+  static T& raw_value(Checked_Number<T, P>& v) {
+    return v.raw_value();
+  }
+};
 
-  /*! \brief
-    Computes the \e homogeneous scalar product of \p x and \p y,
-    where the inhomogeneous terms are ignored,
-    and assigns the result to \p z.
-  */
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Computes the \e homogeneous scalar product of \p e and \p g,
-    where the inhomogeneous terms are ignored,
-    and assigns the result to \p z.
-  */
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Expression& e,
-				 const Generator& g);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p g and \p c,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Constraint& c);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p g and \p cg,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Grid_Generator& g, const Congruence& cg);
-  //! \brief
-  //! Computes the \e homogeneous scalar product of \p e and \p g,
-  //! where the inhomogeneous terms are ignored,
-  //! and assigns the result to \p z.
-  static void homogeneous_assign(Coefficient& z,
-				 const Linear_Expression& e,
-				 const Grid_Generator& g);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Is_Checked : public False { };
 
-  /*! \brief
-    Returns the sign of the \e homogeneous scalar product of \p x and \p y,
-    where the inhomogeneous terms are ignored.
-  */
-  static int homogeneous_sign(const Linear_Row& x, const Linear_Row& y);
-  /*! \brief
-    Returns the sign of the \e homogeneous scalar product of \p e and \p g,
-    where the inhomogeneous terms are ignored.
-  */
-  static int homogeneous_sign(const Linear_Expression& e, const Generator& g);
-  //! \brief
-  //! Returns the sign of the \e homogeneous scalar product of \p e and \p g,
-  //! where the inhomogeneous terms are ignored,
-  static int homogeneous_sign(const Linear_Expression& e,
-			      const Grid_Generator& g);
-  //! \brief
-  //! Returns the sign of the \e homogeneous scalar product of \p g and \p c,
-  //! where the inhomogeneous terms are ignored,
-  static int homogeneous_sign(const Grid_Generator& g, const Constraint& c);
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Is_Checked<Checked_Number<T, P> > : public True { };
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Scalar product sign function object depending on topology.
 /*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign {
+template <typename T>
+struct Is_Native_Or_Checked
+  : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
+
+//! A wrapper for numeric types implementing a given policy.
+/*! \ingroup PPL_CXX_interface
+  The wrapper and related functions implement an interface which is common
+  to all kinds of coefficient types, therefore allowing for a uniform
+  coding style. This class also implements the policy encoded by the
+  second template parameter. The default policy is to perform the detection
+  of overflow errors.
+*/
+template <typename T, typename Policy>
+class Checked_Number {
 public:
-  //! Constructs the function object according to the topology of \p c.
-  Topology_Adjusted_Scalar_Product_Sign(const Constraint& c);
-  //! Constructs the function object according to the topology of \p g.
-  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
 
-  //! Computes the (topology adjusted) scalar product sign of \p c and \p g.
-  int operator()(const Constraint&, const Generator&) const;
-  //! Computes the (topology adjusted) scalar product sign of \p g and \p c.
-  int operator()(const Generator&, const Constraint&) const;
+  //! \name Constructors
+  //@{
 
-private:
-  //! The type of the scalar product sign function pointer.
-  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
+  //! Default constructor.
+  Checked_Number();
 
-  //! The scalar product sign function pointer.
-  SPS_type sps_fp;
-};
+  //! Copy constructor.
+  Checked_Number(const Checked_Number& y);
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 1. */
-/* Scalar_Products class implementation (inline functions).
-*/
+  //! Direct initialization from a Checked_Number and rounding mode.
+  template <typename From, typename From_Policy>
+  Checked_Number(const Checked_Number<From, From_Policy>& y, Rounding_Dir dir);
 
+  //! Direct initialization from a plain char and rounding mode.
+  Checked_Number(char y, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 1. */
-/* Linear_Row class declaration.
-*/
+  //! Direct initialization from a signed char and rounding mode.
+  Checked_Number(signed char y, Rounding_Dir dir);
 
+  //! Direct initialization from a signed short and rounding mode.
+  Checked_Number(signed short y, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 1. */
-/* Row class declaration.
-*/
+  //! Direct initialization from a signed int and rounding mode.
+  Checked_Number(signed int y, Rounding_Dir dir);
 
+  //! Direct initialization from a signed long and rounding mode.
+  Checked_Number(signed long y, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/Row.types.hh line 1. */
+  //! Direct initialization from a signed long long and rounding mode.
+  Checked_Number(signed long long y, Rounding_Dir dir);
 
+  //! Direct initialization from an unsigned char and rounding mode.
+  Checked_Number(unsigned char y, Rounding_Dir dir);
 
-namespace Parma_Polyhedra_Library {
+  //! Direct initialization from an unsigned short and rounding mode.
+  Checked_Number(unsigned short y, Rounding_Dir dir);
 
-class Row_Impl_Handler;
-class Row;
+  //! Direct initialization from an unsigned int and rounding mode.
+  Checked_Number(unsigned int y, Rounding_Dir dir);
 
-} // namespace Parma_Polyhedra_Library
+  //! Direct initialization from an unsigned long and rounding mode.
+  Checked_Number(unsigned long y, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 1. */
-/* Coefficient class declaration.
-*/
+  //! Direct initialization from an unsigned long long and rounding mode.
+  Checked_Number(unsigned long long y, Rounding_Dir dir);
 
+#if PPL_SUPPORTED_FLOAT
+  //! Direct initialization from a float and rounding mode.
+  Checked_Number(float y, Rounding_Dir dir);
+#endif
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 28. */
-#include <iosfwd>
+#if PPL_SUPPORTED_DOUBLE
+  //! Direct initialization from a double and rounding mode.
+  Checked_Number(double y, Rounding_Dir dir);
+#endif
 
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 33. */
+#if PPL_SUPPORTED_LONG_DOUBLE
+  //! Direct initialization from a long double and rounding mode.
+  Checked_Number(long double y, Rounding_Dir dir);
 #endif
 
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 1. */
-/* GMP_Integer class declaration.
-*/
+  //! Direct initialization from a rational and rounding mode.
+  Checked_Number(const mpq_class& y, Rounding_Dir dir);
 
+  //! Direct initialization from an unbounded integer and rounding mode.
+  Checked_Number(const mpz_class& y, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 29. */
-#include <cstddef>
+  //! Direct initialization from a C string and rounding mode.
+  Checked_Number(const char* y, Rounding_Dir dir);
 
-namespace Parma_Polyhedra_Library {
+  //! Direct initialization from special and rounding mode.
+  template <typename From>
+  Checked_Number(const From&, Rounding_Dir dir, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
 
-//! \name Accessor Functions
-//@{
+  //! Direct initialization from a Checked_Number, default rounding mode.
+  template <typename From, typename From_Policy>
+  explicit Checked_Number(const Checked_Number<From, From_Policy>& y);
 
-//! Returns a const reference to the underlying integer value.
-/*! \relates GMP_Integer */
-const mpz_class& raw_value(const GMP_Integer& x);
+  //! Direct initialization from a plain char, default rounding mode.
+  Checked_Number(char y);
 
-//! Returns a reference to the underlying integer value.
-/*! \relates GMP_Integer */
-mpz_class& raw_value(GMP_Integer& x);
+  //! Direct initialization from a signed char, default rounding mode.
+  Checked_Number(signed char y);
 
-//@} // Accessor Functions
+  //! Direct initialization from a signed short, default rounding mode.
+  Checked_Number(signed short y);
 
-//! \name Memory Size Inspection Functions
-//@{
+  //! Direct initialization from a signed int, default rounding mode.
+  Checked_Number(signed int y);
 
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type total_memory_in_bytes(const GMP_Integer& x);
+  //! Direct initialization from a signed long, default rounding mode.
+  Checked_Number(signed long y);
 
-#ifndef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the size in bytes of the memory managed by \p x.
-/*! \relates GMP_Integer */
-#endif // !defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type external_memory_in_bytes(const GMP_Integer& x);
+  //! Direct initialization from a signed long long, default rounding mode.
+  Checked_Number(signed long long y);
 
-//@} // Memory Size Inspection Functions
+  //! Direct initialization from an unsigned char, default rounding mode.
+  Checked_Number(unsigned char y);
 
-//! \name Arithmetic Operators
-//@{
+  //! Direct initialization from an unsigned short, default rounding mode.
+  Checked_Number(unsigned short y);
 
-//! Assigns to \p x its negation.
-/*! \relates GMP_Integer */
-void neg_assign(GMP_Integer& x);
+  //! Direct initialization from an unsigned int, default rounding mode.
+  Checked_Number(unsigned int y);
 
-//! Assigns to \p x the negation of \p y.
-/*! \relates GMP_Integer */
-void neg_assign(GMP_Integer& x, const GMP_Integer& y);
+  //! Direct initialization from an unsigned long, default rounding mode.
+  Checked_Number(unsigned long y);
 
-//! Assigns to \p x its absolute value.
-/*! \relates GMP_Integer */
-void abs_assign(GMP_Integer& x);
+  //! Direct initialization from an unsigned long long, default rounding mode.
+  Checked_Number(unsigned long long y);
 
-//! Assigns to \p x the absolute value of \p y.
-/*! \relates GMP_Integer */
-void abs_assign(GMP_Integer& x, const GMP_Integer& y);
+  //! Direct initialization from a float, default rounding mode.
+  Checked_Number(float y);
 
-//! Assigns to \p x the remainder of the division of \p y by \p z.
-/*! \relates GMP_Integer */
-void rem_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from a double, default rounding mode.
+  Checked_Number(double y);
 
-//! Assigns to \p x the greatest common divisor of \p y and \p z.
-/*! \relates GMP_Integer */
-void gcd_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from a long double, default rounding mode.
+  Checked_Number(long double y);
 
-//! Extended GCD.
-/*! \relates GMP_Integer
-  Assigns to \p x the greatest common divisor of \p y and \p z, and to
-  \p s and \p t the values such that \p y * \p s + \p z * \p t = \p x.
-*/
-void gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
-		   const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from a rational, default rounding mode.
+  Checked_Number(const mpq_class& y);
 
-//! Assigns to \p x the least common multiple of \p y and \p z.
-/*! \relates GMP_Integer */
-void lcm_assign(GMP_Integer& x,
-		const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from an unbounded integer, default rounding mode.
+  Checked_Number(const mpz_class& y);
 
-//! Assigns to \p x the value <CODE>x + y * z</CODE>.
-/*! \relates GMP_Integer */
-void add_mul_assign(GMP_Integer& x,
-		    const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from a C string, default rounding mode.
+  Checked_Number(const char* y);
 
-//! Assigns to \p x the value <CODE>x - y * z</CODE>.
-/*! \relates GMP_Integer */
-void sub_mul_assign(GMP_Integer& x,
-		    const GMP_Integer& y, const GMP_Integer& z);
+  //! Direct initialization from special, default rounding mode
+  template <typename From>
+  Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type ignored = false);
 
-//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
-/*! \relates GMP_Integer */
-void mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
 
-//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
-/*! \relates GMP_Integer */
-void div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+  //@} // Constructors
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+  //! \name Accessors and Conversions
+  //@{
 
-  \relates GMP_Integer
-  The behavior is undefined if \p z does not divide \p y.
-*/
-void exact_div_assign(GMP_Integer& x,
-		      const GMP_Integer& y, const GMP_Integer& z);
+  //! Conversion operator: returns a copy of the underlying numeric value.
+  operator T() const;
 
-//! Assigns to \p x the integer square root of \p y.
-/*! \relates GMP_Integer */
-void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
+  //! Returns a reference to the underlying numeric value.
+  T& raw_value();
 
-/*! \brief
-  Returns a negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
+  //! Returns a const reference to the underlying numeric value.
+  const T& raw_value() const;
 
-  \relates GMP_Integer
-*/
-int cmp(const GMP_Integer& x, const GMP_Integer& y);
+  //@} // Accessors and Conversions
 
-//@} // Arithmetic Operators
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Classifies *this.
+  /*!
+    Returns the appropriate Result characterizing:
+    - whether \p *this is NaN,
+      if \p nan is <CODE>true</CODE>;
+    - whether \p *this is a (positive or negative) infinity,
+      if \p inf is <CODE>true</CODE>;
+    - the sign of \p *this,
+      if \p sign is <CODE>true</CODE>.
+  */
+  Result classify(bool nan = true, bool inf = true, bool sign = true) const;
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 1. */
-/* GMP_Integer class implementation: inline functions.
-*/
+  //! \name Assignment Operators
+  //@{
 
+  //! Assignment operator.
+  Checked_Number& operator=(const Checked_Number& y);
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 28. */
+  //! Assignment operator.
+  template <typename From>
+  Checked_Number& operator=(const From& y);
 
-namespace Parma_Polyhedra_Library {
+  //! Add and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator+=(const Checked_Number<T, From_Policy>& y);
 
-inline void
-neg_assign(GMP_Integer& x) {
-  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
-}
+  //! Add and assign operator.
+  Checked_Number& operator+=(const T& y);
 
-inline void
-neg_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
-}
+  //! Add and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator+=(const From& y);
 
-inline void
-abs_assign(GMP_Integer& x) {
-  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
-}
+  //! Subtract and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
 
-inline void
-abs_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
-}
+  //! Subtract and assign operator.
+  Checked_Number& operator-=(const T& y);
 
-inline void
-gcd_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_gcd(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Subtract and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator-=(const From& y);
 
-inline void
-rem_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_tdiv_r(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Multiply and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
 
-inline void
-gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
-	      const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_gcdext(x.get_mpz_t(),
-	     s.get_mpz_t(), t.get_mpz_t(),
-	     y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Multiply and assign operator.
+  Checked_Number& operator*=(const T& y);
 
-inline void
-lcm_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_lcm(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Multiply and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator*=(const From& y);
 
-inline void
-add_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_addmul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Divide and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
 
-inline void
-sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  mpz_submul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Divide and assign operator.
+  Checked_Number& operator/=(const T& y);
 
-inline void
-mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
-  mpz_mul_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
-}
+  //! Divide and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>&>::type
+  operator/=(const From& y);
 
-inline void
-div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
-  mpz_tdiv_q_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
-}
+  //! Compute remainder and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& y);
 
-inline void
-exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  PPL_ASSERT(y % z == 0);
-  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
-}
+  //! Compute remainder and assign operator.
+  Checked_Number& operator%=(const T& y);
 
-inline void
-sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
-}
+  //! Compute remainder and assign operator.
+  template <typename From>
+  typename Enable_If<Is_Native_Or_Checked<From>::value,
+		     Checked_Number<T, Policy>& >::type
+  operator%=(const From& y);
 
-inline int
-cmp(const GMP_Integer& x, const GMP_Integer& y) {
-  return mpz_cmp(x.get_mpz_t(), y.get_mpz_t());
-}
+  //@} // Assignment Operators
 
-inline const mpz_class&
-raw_value(const GMP_Integer& x) {
-  return x;
-}
 
-inline mpz_class&
-raw_value(GMP_Integer& x) {
-  return x;
-}
+  //! \name Increment and Decrement Operators
+  //@{
 
-} // namespace Parma_Polyhedra_Library
+  //! Pre-increment operator.
+  Checked_Number& operator++();
+
+  //! Post-increment operator.
+  Checked_Number  operator++(int);
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 150. */
+  //! Pre-decrement operator.
+  Checked_Number& operator--();
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 37. */
-#endif
+  //! Post-decrement operator.
+  Checked_Number  operator--(int);
 
-namespace Parma_Polyhedra_Library {
+  //@} // Increment and Decrement Operators
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Initializes the Coefficient constants.
-#endif
-void Coefficient_constants_initialize();
+private:
+  //! The underlying numeric value.
+  T v;
+};
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Finalizes the Coefficient constants.
-#endif
-void Coefficient_constants_finalize();
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename P>
+struct Slow_Copy<Checked_Number<T, P> > : public Bool<Slow_Copy<T>::value> {};
 
-//! Returns a const reference to a Coefficient with value 0.
-Coefficient_traits::const_reference Coefficient_zero();
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_not_a_number(const T& x);
 
-//! Returns a const reference to a Coefficient with value 1.
-Coefficient_traits::const_reference Coefficient_one();
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_minus_infinity(const T& x);
 
-} // namespace Parma_Polyhedra_Library
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_plus_infinity(const T& x);
 
-/* Automatically generated from PPL source file ../src/Coefficient.inlines.hh line 1. */
-/* Coefficient class implementation: inline functions.
-*/
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
+infinity_sign(const T& x);
 
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_integer(const T& x);
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Checked_Number */
+template <typename To, typename From>
+typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+construct(To& to, const From& x, Rounding_Dir dir);
 
-#ifdef PPL_CHECKED_INTEGERS
-inline void
-Bounded_Integer_Coefficient_Policy::handle_result(Result r) {
-  // Note that the input functions can return VC_NAN.
-  if (result_overflow(r) || result_class(r) == VC_NAN)
-    throw_result_exception(r);
-}
-#endif // PPL_CHECKED_INTEGERS
+/*! \relates Checked_Number */
+template <typename To, typename From>
+typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+assign_r(To& to, const From& x, Rounding_Dir dir);
 
+/*! \relates Checked_Number */
+template <typename To>
+typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, const char* x, Rounding_Dir dir);
 
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-inline Coefficient_traits::const_reference
-Coefficient_zero() {
-  // FIXME: is there a way to avoid this static variable?
-  static Coefficient zero(0);
-  return zero;
-}
+/*! \relates Checked_Number */
+template <typename To, typename To_Policy>
+typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, char* x, Rounding_Dir dir);
 
-inline Coefficient_traits::const_reference
-Coefficient_one() {
-  // FIXME: is there a way to avoid this static variable?
-  static Coefficient one(1);
-  return one;
-}
-#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+#define PPL_DECLARE_FUNC1_A(name) \
+template <typename To, typename From> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From>::value, \
+                   Result>::type \
+ PPL_U(name)(To& to, const From& x, Rounding_Dir dir);
 
-#ifdef PPL_GMP_INTEGERS
-inline Coefficient_traits::const_reference
-Coefficient_zero() {
-  extern const Coefficient* Coefficient_zero_p;
-  return *Coefficient_zero_p;
-}
+PPL_DECLARE_FUNC1_A(assign_r)
+PPL_DECLARE_FUNC1_A(floor_assign_r)
+PPL_DECLARE_FUNC1_A(ceil_assign_r)
+PPL_DECLARE_FUNC1_A(trunc_assign_r)
+PPL_DECLARE_FUNC1_A(neg_assign_r)
+PPL_DECLARE_FUNC1_A(abs_assign_r)
+PPL_DECLARE_FUNC1_A(sqrt_assign_r)
 
-inline Coefficient_traits::const_reference
-Coefficient_one() {
-  extern const Coefficient* Coefficient_one_p;
-  PPL_ASSERT(*Coefficient_one_p != 0);
-  return *Coefficient_one_p;
-}
-#endif // PPL_GMP_INTEGERS
+#undef PPL_DECLARE_FUNC1_A
 
-} // namespace Parma_Polyhedra_Library
+#define PPL_DECLARE_FUNC1_B(name) \
+template <typename To, typename From> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From>::value, \
+                   Result>::type \
+ PPL_U(name)(To& to, const From& x, unsigned int exp, Rounding_Dir dir);
 
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 60. */
+PPL_DECLARE_FUNC1_B(add_2exp_assign_r)
+PPL_DECLARE_FUNC1_B(sub_2exp_assign_r)
+PPL_DECLARE_FUNC1_B(mul_2exp_assign_r)
+PPL_DECLARE_FUNC1_B(div_2exp_assign_r)
+PPL_DECLARE_FUNC1_B(smod_2exp_assign_r)
+PPL_DECLARE_FUNC1_B(umod_2exp_assign_r)
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 30. */
-#include <vector>
-#include <limits>
+#undef PPL_DECLARE_FUNC1_B
 
-#ifndef PPL_ROW_EXTRA_DEBUG
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*!
-  \brief
-  Enables extra debugging information for class Row.
+#define PPL_DECLARE_FUNC2(name) \
+template <typename To, typename From1, typename From2> \
+typename Enable_If<Is_Native_Or_Checked<To>::value \
+                   && Is_Native_Or_Checked<From1>::value \
+                   && Is_Native_Or_Checked<From2>::value, \
+                   Result>::type \
+ PPL_U(name)(To& to, const From1& x, const From2& y, Rounding_Dir dir);
 
-  \ingroup PPL_CXX_interface
-  When <CODE>PPL_ROW_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
-  each instance of the class Row carries its own capacity; this enables
-  extra consistency checks to be performed.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_ROW_EXTRA_DEBUG 1
-#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#define PPL_ROW_EXTRA_DEBUG 0
-#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#endif // !defined(PPL_ROW_EXTRA_DEBUG)
+PPL_DECLARE_FUNC2(add_assign_r)
+PPL_DECLARE_FUNC2(sub_assign_r)
+PPL_DECLARE_FUNC2(mul_assign_r)
+PPL_DECLARE_FUNC2(div_assign_r)
+PPL_DECLARE_FUNC2(idiv_assign_r)
+PPL_DECLARE_FUNC2(rem_assign_r)
+PPL_DECLARE_FUNC2(gcd_assign_r)
+PPL_DECLARE_FUNC2(lcm_assign_r)
+PPL_DECLARE_FUNC2(add_mul_assign_r)
+PPL_DECLARE_FUNC2(sub_mul_assign_r)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The handler of the actual Row implementation.
-/*! \ingroup PPL_CXX_interface
-  Exception-safety is the only responsibility of this class: it has
-  to ensure that its \p impl member is correctly deallocated.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler {
-public:
-  //! Default constructor.
-  Row_Impl_Handler();
+#undef PPL_DECLARE_FUNC2
 
-  //! Destructor.
-  ~Row_Impl_Handler();
+#define PPL_DECLARE_FUNC4(name) \
+template <typename To1, typename To2, typename To3, \
+	  typename From1, typename From2> \
+typename Enable_If<Is_Native_Or_Checked<To1>::value \
+                   && Is_Native_Or_Checked<To2>::value \
+                   && Is_Native_Or_Checked<To3>::value \
+                   && Is_Native_Or_Checked<From1>::value \
+		   && Is_Native_Or_Checked<From2>::value, \
+                   Result>::type \
+ PPL_U(name)(To1& to, To2& s, To3& t,     \
+     const From1& x, const From2& y, \
+     Rounding_Dir dir);
 
-  class Impl;
+PPL_DECLARE_FUNC4(gcdext_assign_r)
 
-  //! A pointer to the actual implementation.
-  Impl* impl;
+#undef PPL_DECLARE_FUNC4
 
-#if PPL_ROW_EXTRA_DEBUG
-  //! The capacity of \p impl (only available during debugging).
-  dimension_type capacity_;
-#endif // PPL_ROW_EXTRA_DEBUG
+//! \name Accessor Functions
+//@{
 
-private:
-  //! Private and unimplemented: copy construction is not allowed.
-  Row_Impl_Handler(const Row_Impl_Handler&);
+//@} // Accessor Functions
 
-  //! Private and unimplemented: copy assignment is not allowed.
-  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
-};
+//! \name Memory Size Inspection Functions
+//@{
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A finite sequence of coefficients.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row : private Row_Impl_Handler {
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Wrapper class to represent a set of flags with bits in a native
-    unsigned integral type.
-    \ingroup PPL_CXX_interface
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags {
-  public:
-    //! Constructs an object with all the flags unset.
-    Flags();
+//! Returns the total size in bytes of the memory occupied by \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+memory_size_type
+total_memory_in_bytes(const Checked_Number<T, Policy>& x);
 
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
+//! Returns the size in bytes of the memory managed by \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+memory_size_type
+external_memory_in_bytes(const Checked_Number<T, Policy>& x);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
+//@} // Memory Size Inspection Functions
 
-    PPL_OUTPUT_DECLARATIONS
+//! \name Arithmetic Operators
+//@{
 
-    //! Uses the ASCII Flags representation from \p s to recreate *this.
-    /*!
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE>
-      otherwise.  The ASCII representation is as output by
-      \ref Parma_Polyhedra_Library::Row::Flags::ascii_dump().
-    */
-    bool ascii_load(std::istream& s);
+//! Unary plus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x);
 
-  protected:
-    //! A native integral type holding the bits that encode the flags.
-    typedef unsigned int base_type;
+//! Unary minus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator-(const Checked_Number<T, Policy>& x);
 
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit = 0;
+//! Assigns to \p x largest integral value not greater than \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+floor_assign(Checked_Number<T, Policy>& x);
 
-    //! Total number of bits that can be stored.
-    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
+//! Assigns to \p x largest integral value not greater than \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+floor_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
 
-    //! Constructs an object with flags set as in \p n.
-    explicit Flags(base_type n);
+//! Assigns to \p x smallest integral value not less than \p x.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+ceil_assign(Checked_Number<T, Policy>& x);
 
-    //! Returns the integer encoding \p *this.
-    base_type get_bits() const;
+//! Assigns to \p x smallest integral value not less than \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+ceil_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
 
-    //! Sets the bits in \p mask.
-    void set_bits(base_type mask);
+//! Round \p x to the nearest integer not larger in absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+trunc_assign(Checked_Number<T, Policy>& x);
 
-    //! Resets the bits in \p mask.
-    void reset_bits(base_type mask);
+//! Assigns to \p x the value of \p y rounded to the nearest integer not larger in absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+trunc_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if all the bits
-      in \p mask are set.
-    */
-    bool test_bits(base_type mask) const;
+//! Assigns to \p x its negation.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+neg_assign(Checked_Number<T, Policy>& x);
 
-  private:
-    //! The integer encoding \p *this.
-    base_type bits;
+//! Assigns to \p x the negation of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
 
-    friend class Row;
-  };
+//! Assigns to \p x its absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+abs_assign(Checked_Number<T, Policy>& x);
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Row();
+//! Assigns to \p x the absolute value of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+abs_assign(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y);
 
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with size and capacity \p sz and flags \p f.
-  */
-  void construct(dimension_type sz, Flags f);
+//! Assigns to \p x the value <CODE>x + y * z</CODE>.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+add_mul_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       const Checked_Number<T, Policy>& z);
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+//! Assigns to \p x the value <CODE>x - y * z</CODE>.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+sub_mul_assign(Checked_Number<T, Policy>& x,
+	       const Checked_Number<T, Policy>& y,
+	       const Checked_Number<T, Policy>& z);
 
-    \param capacity
-    The capacity of the row that will be constructed;
+//! Assigns to \p x the greatest common divisor of \p y and \p z.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+gcd_assign(Checked_Number<T, Policy>& x,
+	   const Checked_Number<T, Policy>& y,
+	   const Checked_Number<T, Policy>& z);
 
-    \param f
-    Flags for the row that will be constructed.
+/*! \brief
+  Assigns to \p x the greatest common divisor of \p y and \p z,
+  setting \p s and \p t such that s*y + t*z = x = gcd(y, z).
+*/
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+gcdext_assign(Checked_Number<T, Policy>& x,
+	      Checked_Number<T, Policy>& s,
+	      Checked_Number<T, Policy>& t,
+	      const Checked_Number<T, Policy>& y,
+	      const Checked_Number<T, Policy>& z);
 
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
+//! Assigns to \p x the least common multiple of \p y and \p z.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+lcm_assign(Checked_Number<T, Policy>& x,
+	   const Checked_Number<T, Policy>& y,
+	   const Checked_Number<T, Policy>& z);
 
-  //! Tight constructor: resizing may require reallocation.
-  /*!
-    Constructs a row with size and capacity \p sz, and flags \p f.
-  */
-  Row(dimension_type sz, Flags f);
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+mul_2exp_assign(Checked_Number<T, Policy>& x,
+                const Checked_Number<T, Policy>& y,
+                unsigned int exp);
 
-  //! Sizing constructor with capacity.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
-
-    \param capacity
-    The capacity of the row that will be constructed;
-
-    \param f
-    Flags for the row that will be constructed.
-
-    The row that is constructed has storage for \p capacity elements,
-    \p sz of which are default-constructed now.
-    The row flags are set to \p f.
-  */
-  Row(dimension_type sz, dimension_type capacity, Flags f);
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+div_2exp_assign(Checked_Number<T, Policy>& x,
+                const Checked_Number<T, Policy>& y,
+                unsigned int exp);
 
-  //! Ordinary copy constructor.
-  Row(const Row& y);
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
 
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to
-    the size of \p y.
-  */
-  Row(const Row& y, dimension_type capacity);
+  \relates Checked_Number
+  The behavior is undefined if \p z does not divide \p y.
+*/
+template <typename T, typename Policy>
+void
+exact_div_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y,
+		 const Checked_Number<T, Policy>& z);
 
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-  */
-  Row(const Row& y, dimension_type sz, dimension_type capacity);
+//! Assigns to \p x the integer square root of \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void sqrt_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y);
 
-  //! Destructor.
-  ~Row();
+//@} // Arithmetic Operators
 
-  //! Assignment operator.
-  Row& operator=(const Row& y);
 
-  //! Swaps \p *this with \p y.
-  void swap(Row& y);
+//! \name Relational Operators and Comparison Functions
+//@{
 
-  //! Assigns the implementation of \p y to \p *this.
-  /*!
-    To be used with extra care, since it may easily cause memory leaks
-    or undefined behavior.
-  */
-  void assign(Row& y);
+//! Equality operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator==(const T1& x, const T2& y);
 
-  /*! \brief
-    Allocates memory for a default constructed Row object, setting
-    flags to \p f and allowing for \p capacity coefficients at most.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+equal(const T1& x, const T2& y);
 
-    It is assumed that no allocation has been performed before
-    (otherwise, a memory leak will occur).
-    After execution, the size of the Row object is zero.
-  */
-  void allocate(dimension_type capacity, Flags f);
+//! Disequality operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator!=(const T1& x, const T2& y);
 
-  //! Expands the row to size \p new_size.
-  /*!
-    Adds new positions to the implementation of the row
-    obtaining a new row with size \p new_size.
-    It is assumed that \p new_size is between the current size
-    and capacity of the row.
-  */
-  void expand_within_capacity(dimension_type new_size);
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+not_equal(const T1& x, const T2& y);
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    Destroys elements of the row implementation
-    from position \p new_size to the end.
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+//! Greater than or equal to operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator>=(const T1& x, const T2& y);
 
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+greater_or_equal(const T1& x, const T2& y);
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+//! Greater than operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator>(const T1& x, const T2& y);
 
-  //! Returns the size() of the largest possible Row.
-  static dimension_type max_size();
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+greater_than(const T1& x, const T2& y);
 
-  //! Gives the number of coefficients currently in use.
-  dimension_type size() const;
+//! Less than or equal to operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator<=(const T1& x, const T2& y);
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+less_or_equal(const T1& x, const T2& y);
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
+//! Less than operator.
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline
+typename Enable_If<Is_Native_Or_Checked<T1>::value
+                   && Is_Native_Or_Checked<T2>::value
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),
+		   bool>::type
+operator<(const T1& x, const T2& y);
 
-  //! Normalizes the modulo of coefficients so that they are mutually prime.
-  /*!
-    Computes the Greatest Common Divisor (GCD) among the elements of
-    the row and normalizes them by the GCD itself.
-  */
-  void normalize();
+/*! \relates Checked_Number */
+template <typename T1, typename T2>
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value
+			  && Is_Native_Or_Checked<T2>::value,
+			  bool>::type
+less_than(const T1& x, const T2& y);
 
-  PPL_OUTPUT_DECLARATIONS
+/*! \brief
+  Returns \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether the value
+  of \p x is negative, zero or positive, respectively.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  \relates Checked_Number
+*/
+template <typename From>
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type \
+sgn(const From& x);
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+/*! \brief
+  Returns a negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
 
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
+  \relates Checked_Number
+*/
+template <typename From1, typename From2>
+inline typename Enable_If<Is_Native_Or_Checked<From1>::value
+                          && Is_Native_Or_Checked<From2>::value,
+                          int>::type
+cmp(const From1& x, const From2& y);
 
-  /*! \brief
-    Returns the total size in bytes of the memory occupied by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+//@} // Relational Operators and Comparison Functions
 
-  /*! \brief
-    Returns the size in bytes of the memory managed by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+//! \name Input-Output Operators
+//@{
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+output(std::ostream& os,
+       const T& x,
+       const Numeric_Format& format,
+       Rounding_Dir dir);
 
-  /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
-  */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+//! Output operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::ostream&
+operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
 
-private:
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Row& y);
+//! Ascii dump for native or checked.
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+ascii_dump(std::ostream& s, const T& t);
 
-#if PPL_ROW_EXTRA_DEBUG
-  //! Returns the capacity of the row (only available during debugging).
-  dimension_type capacity() const;
-#endif // PPL_ROW_EXTRA_DEBUG
-};
+//! Input function.
+/*!
+  \relates Checked_Number
 
-namespace Parma_Polyhedra_Library {
+  \param is
+  Input stream to read from;
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Row */
-bool operator==(const Row& x, const Row& y);
+  \param x
+  Number (possibly extended) to assign to in case of successful reading;
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Row */
-bool operator!=(const Row& x, const Row& y);
+  \param dir
+  Rounding mode to be applied.
 
-} // namespace Parma_Polyhedra_Library
+  \return
+  Result of the input operation.  Success, success with imprecision,
+  overflow, parsing error: all possibilities are taken into account,
+  checked for, and properly reported.
 
+  This function attempts reading a (possibly extended) number from the given
+  stream \p is, possibly rounding as specified by \p dir, assigning the result
+  to \p x upon success, and returning the appropriate Result.
 
-namespace std {
+  The input syntax allows the specification of:
+  - plain base-10 integer numbers as <CODE>34976098</CODE>,
+    <CODE>-77</CODE> and <CODE>+13</CODE>;
+  - base-10 integer numbers in scientific notation as <CODE>15e2</CODE>
+    and <CODE>15*^2</CODE> (both meaning \f$15 \cdot 10^2 = 1500\f$),
+    <CODE>9200e-2</CODE> and <CODE>-18*^+11111111111111111</CODE>;
+  - base-10 rational numbers in fraction notation as
+    <CODE>15/3</CODE> and <CODE>15/-3</CODE>;
+  - base-10 rational numbers in fraction/scientific notation as
+    <CODE>15/30e-1</CODE> (meaning \f$5\f$) and <CODE>15*^-3/29e2</CODE>
+    (meaning \f$3/580000\f$);
+  - base-10 rational numbers in floating point notation as
+    <CODE>71.3</CODE> (meaning \f$713/10\f$) and
+    <CODE>-0.123456</CODE> (meaning \f$-1929/15625\f$);
+  - base-10 rational numbers in floating point scientific notation as
+    <CODE>2.2e-1</CODE> (meaning \f$11/50\f$) and <CODE>-2.20001*^+3</CODE>
+    (meaning \f$-220001/100\f$);
+  - integers and rationals (in fractional, floating point and scientific
+    notations) specified by using Mathematica-style bases, in the range
+    from 2 to 36, as
+    <CODE>2^^11</CODE> (meaning \f$3\f$),
+    <CODE>36^^z</CODE> (meaning \f$35\f$),
+    <CODE>36^^xyz</CODE> (meaning \f$44027\f$),
+    <CODE>2^^11.1</CODE> (meaning \f$7/2\f$),
+    <CODE>10^^2e3</CODE> (meaning \f$2000\f$),
+    <CODE>8^^2e3</CODE> (meaning \f$1024\f$),
+    <CODE>8^^2.1e3</CODE> (meaning \f$1088\f$),
+    <CODE>8^^20402543.120347e7</CODE> (meaning \f$9073863231288\f$),
+    <CODE>8^^2.1</CODE> (meaning \f$17/8\f$);
+    note that the base and the exponent are always written as plain
+    base-10 integer numbers; also, when an ambiguity may arise, the
+    character <CODE>e</CODE> is interpreted as a digit, so that
+    <CODE>16^^1e2</CODE> (meaning \f$482\f$) is different from
+    <CODE>16^^1*^2</CODE> (meaning \f$256\f$);
+  - the C-style hexadecimal prefix <CODE>0x</CODE> is interpreted as
+    the Mathematica-style prefix <CODE>16^^</CODE>;
+  - the C-style binary exponent indicator <CODE>p</CODE> can only be used
+    when base 16 has been specified; if used, the exponent will be
+    applied to base 2 (instead of base 16, as is the case when the
+    indicator <CODE>e</CODE> is used);
+  - special values like <CODE>inf</CODE> and <CODE>+inf</CODE>
+    (meaning \f$+\infty\f$), <CODE>-inf</CODE> (meaning \f$-\infty\f$),
+    and <CODE>nan</CODE> (meaning "not a number").
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Row& x,
-	  Parma_Polyhedra_Library::Row& y);
+  The rationale behind the accepted syntax can be summarized as follows:
+  - if the syntax is accepted by Mathematica, then this function
+    accepts it with the same semantics;
+  - if the syntax is acceptable as standard C++ integer or floating point
+    literal (except for octal notation and type suffixes, which are not
+    supported), then this function accepts it with the same semantics;
+  - natural extensions of the above are accepted with the natural
+    extensions of the semantics;
+  - special values are accepted.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Row>::iterator y);
+  Valid syntax is more formally and completely specified by the
+  following grammar, with the additional provisos that everything is
+  <EM>case insensitive</EM>, that the syntactic category
+  <CODE>BDIGIT</CODE> is further restricted by the current base
+  and that for all bases above 14, any <CODE>e</CODE> is always
+  interpreted as a digit and never as a delimiter for the exponent part
+  (if such a delimiter is desired, it has to be written as <CODE>*^</CODE>).
 
-} // namespace std
+\code
+number	: NAN					INF	: 'inf'
+	| SIGN INF					;
+	| INF
+	| num					NAN	: 'nan'
+	| num DIV num					;
+	;
+						SIGN	: '-'
+num     : u_num						| '+'
+        | SIGN u_num					;
 
+u_num	: u_num1				EXP	: 'e'
+	| HEX u_num1					| 'p'
+	| base BASE u_num1				| '*^'
+	;                                               ;
+						POINT	: '.'
+u_num1	: mantissa					;
+	| mantissa EXP exponent
+	;					DIV	: '/'
+							;
+mantissa: bdigits
+        | POINT bdigits				MINUS	: '-'
+	| bdigits POINT					;
+	| bdigits POINT bdigits
+	;					PLUS	: '+'
+						;
+exponent: SIGN digits
+	| digits				HEX	: '0x'
+	;					;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The actual implementation of a Row object.
-/*! \ingroup PPL_CXX_interface
-  The class Row_Impl_Handler::Impl provides the implementation of Row
-  objects and, in particular, of the corresponding memory allocation
-  functions.
+bdigits : BDIGIT				BASE	: '^^'
+	| bdigits BDIGIT				;
+	;
+						DIGIT   : '0' .. '9'
+digits  : DIGIT						;
+	| digits DIGIT
+	;					BDIGIT  : '0' .. '9'
+							| 'a' .. 'z'
+							;
+\endcode
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Row_Impl_Handler::Impl {
-public:
-  //! \name Custom allocator and deallocator
-  //@{
-
-  //! Placement allocation function.
-  /*!
-    Allocates a chunk of memory able to contain \p capacity Coefficient
-    objects beyond the specified \p fixed_size and returns a pointer to
-    the newly allocated memory.
-  */
-  static void* operator new(size_t fixed_size, dimension_type capacity);
-
-  //! Usual (non-placement) deallocation function.
-  /*!
-    Uses the standard delete operator to free the memory \p p points to.
-
-    \note
-    The definition of this custom deallocation function is required
-    since otherwise the placement deallocation function
-    <code>
-    static void operator delete(void* p, dimension_type capacity);
-    </code>
-    would be wrongly interpreted as a usual (non-placement) deallocation
-    function (see C++98 3.7.3.2p2). This happens because \c dimension_type
-    is just an alias for \c std::size_t.
-    See also http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42115
-  */
-  static void operator delete(void* p);
-
-  //! Placement deallocation function.
-  /*!
-    Uses the standard operator delete to free the memory \p p points to.
-  */
-  static void operator delete(void* p, dimension_type capacity);
-  //@} // Custom allocator and deallocator
-
-  //! Constructor.
-  Impl(Row::Flags f);
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+input(T& x, std::istream& is, Rounding_Dir dir);
 
-  //! Destructor.
-  /*!
-    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
-    to delete all the row elements.
-  */
-  ~Impl();
+//! Input operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::istream&
+operator>>(std::istream& is, Checked_Number<T, Policy>& x);
 
-  //! Expands the row to size \p new_size.
-  /*!
-    It is assumed that \p new_size is between the current size and capacity.
-  */
-  void expand_within_capacity(dimension_type new_size);
+//! Ascii load for native or checked.
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+ascii_load(std::ostream& s, T& t);
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+//@} // Input-Output Operators
 
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Impl& y);
+void throw_result_exception(Result r);
 
-  //! Returns the size() of the largest possible Impl.
-  static dimension_type max_size();
+template <typename T>
+T
+plus_infinity();
 
-  //! \name Flags accessors
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Row::Flags& flags() const;
+template <typename T>
+T
+minus_infinity();
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Row::Flags& flags();
-  //@} // Flags accessors
+template <typename T>
+T
+not_a_number();
 
-  //! \name Size accessors
-  //@{
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+//! Swaps \p x with \p y.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y);
 
-  //! Sets to \p new_size the actual size of \p *this.
-  void set_size(dimension_type new_size);
+template <typename T, typename Policy>
+struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
 
-  //! Increment the size of \p *this by 1.
-  void bump_size();
-  //@} // Size accessors
+template <typename T>
+void maybe_reset_fpu_inexact();
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of \p *this indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+template <typename T>
+int maybe_check_fpu_inexact();
 
-  //! Returns a constant reference to the element of \p *this indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
-  //@} // Subscript operators
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 1. */
+/* Checked_Number class implementation: inline functions.
+*/
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 28. */
+#include <stdexcept>
+#include <sstream>
 
-private:
-  //! The number of coefficients in the row.
-  dimension_type size_;
+namespace Parma_Polyhedra_Library {
 
-  //! The flags of this row.
-  Row::Flags flags_;
+#ifndef NDEBUG
+#define DEBUG_ROUND_NOT_NEEDED
+#endif
 
-  //! The vector of coefficients.
-  Coefficient vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
+inline Rounding_Dir
+rounding_dir(Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    return ROUND_CHECK;
 #endif
-  ];
+  }
+  return dir;
+}
 
-  //! Private and unimplemented: default construction is not allowed.
-  Impl();
+inline Result
+check_result(Result r, Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    PPL_ASSERT(result_relation(r) == VR_EQ);
+#endif
+    return r;
+  }
+  return r;
+}
 
-  //! Private and unimplemented: copy construction is not allowed.
-  Impl(const Impl& y);
 
-  //! Private and unimplemented: assignment is not allowed.
-  Impl& operator=(const Impl&);
-};
+template <typename T>
+inline void
+Checked_Number_Transparent_Policy<T>::handle_result(Result) {
+}
 
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 1. */
-/* Row class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 1. */
-/* Declarations of some math utility functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 29. */
-#include <gmpxx.h>
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Extract the numerator and denominator components of \p from.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-numer_denom(const T& from,
-	    Coefficient& num, Coefficient& den);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-div_round_up(T& to,
-	     Coefficient_traits::const_reference x,
-	     Coefficient_traits::const_reference y);
+inline void
+Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Assigns to \p x the minimum between \p x and \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename N>
-void
-min_assign(N& x, const N& y);
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number()
+ : v(0) {
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Assigns to \p x the maximum between \p x and \p y.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename N>
-void
-max_assign(N& x, const N& y);
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const Checked_Number& y) {
+  // TODO: avoid default construction of value member.
+  Checked::copy<Policy, Policy>(v, y.raw_value());
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x is an even number.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_even(const T& x);
+template <typename T, typename Policy>
+template <typename From, typename From_Policy>
+inline
+Checked_Number<T, Policy>
+::Checked_Number(const Checked_Number<From, From_Policy>& y,
+		 Rounding_Dir dir) {
+  // TODO: avoid default construction of value member.
+  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
+				     (v,
+				      y.raw_value(),
+				      rounding_dir(dir)),
+				     dir)
+			);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \f$x = -y\f$.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_additive_inverse(const T& x, const T& y);
+template <typename T, typename Policy>
+template <typename From, typename From_Policy>
+inline
+Checked_Number<T, Policy>
+::Checked_Number(const Checked_Number<From, From_Policy>& y) {
+  // TODO: avoid default construction of value member.
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::assign_ext<Policy, From_Policy>
+				     (v,
+				      y.raw_value(),
+				      rounding_dir(dir)),
+				     dir));
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  If \f$g\f$ is the GCD of \p x and \p y, the values of \p x and \p y
-  divided by \f$g\f$ are assigned to \p nx and \p ny, respectively.
+// TODO: avoid default construction of value member.
+#define PPL_DEFINE_CTOR(type) \
+template <typename T, typename Policy> \
+inline \
+Checked_Number<T, Policy>::Checked_Number(const type y, Rounding_Dir dir) { \
+  Policy::handle_result							\
+    (check_result(Checked::assign_ext<Policy,                           \
+                                      Checked_Number_Transparent_Policy<PPL_U(type)> > \
+		  (v, y, rounding_dir(dir)),				\
+		  dir));						\
+}									\
+template <typename T, typename Policy>					\
+inline									\
+Checked_Number<T, Policy>::Checked_Number(const type y) {		\
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;			\
+  Policy::handle_result							\
+    (check_result(Checked::assign_ext<Policy,                           \
+                                      Checked_Number_Transparent_Policy<PPL_U(type)> > \
+		  (v, y, rounding_dir(dir)),				\
+		  dir));						\
+}
 
-  \note
-  \p x and \p nx may be the same object and likewise for
-  \p y and \p ny.  Any other aliasing results in undefined behavior.
-*/
+PPL_DEFINE_CTOR(char)
+PPL_DEFINE_CTOR(signed char)
+PPL_DEFINE_CTOR(signed short)
+PPL_DEFINE_CTOR(signed int)
+PPL_DEFINE_CTOR(signed long)
+PPL_DEFINE_CTOR(signed long long)
+PPL_DEFINE_CTOR(unsigned char)
+PPL_DEFINE_CTOR(unsigned short)
+PPL_DEFINE_CTOR(unsigned int)
+PPL_DEFINE_CTOR(unsigned long)
+PPL_DEFINE_CTOR(unsigned long long)
+#if PPL_SUPPORTED_FLOAT
+PPL_DEFINE_CTOR(float)
 #endif
-void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x is in canonical form.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool
-is_canonical(const mpq_class& x);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns a mask for the lowest \p n bits,
+#if PPL_SUPPORTED_DOUBLE
+PPL_DEFINE_CTOR(double)
 #endif
-template <typename T>
-T
-low_bits_mask(unsigned n);
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 1. */
-/* Implementation of some math utility functions: inline functions.
-*/
-
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_DEFINE_CTOR(long double)
+#endif
+PPL_DEFINE_CTOR(mpq_class&)
+PPL_DEFINE_CTOR(mpz_class&)
 
-/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 28. */
-#include <limits>
-/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 30. */
+#undef PPL_DEFINE_CTOR
 
-namespace Parma_Polyhedra_Library {
 
-inline void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny) {
-  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
-  gcd_assign(gcd, x, y);
-  exact_div_assign(nx, x, gcd);
-  exact_div_assign(ny, y, gcd);
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const char* y, Rounding_Dir dir) {
+  std::istringstream s(y);
+  Policy::handle_result(check_result(Checked::input<Policy>(v,
+							    s,
+							    rounding_dir(dir)),
+				     dir));
 }
 
-template <typename T>
-inline T
-low_bits_mask(const unsigned n) {
-  PPL_ASSERT(n < unsigned(std::numeric_limits<T>::digits));
-  return n == 0 ? 0 : ~(~(T(0u)) << n);
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number(const char* y) {
+  std::istringstream s(y);
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::input<Policy>(v,
+							    s,
+							    rounding_dir(dir)),
+				     dir));
 }
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-numer_denom(const T& from,
-	    Coefficient& num, Coefficient& den) {
-  PPL_ASSERT(!is_not_a_number(from)
-	 && !is_minus_infinity(from)
-	 && !is_plus_infinity(from));
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  assign_r(q, from, ROUND_NOT_NEEDED);
-  num = q.get_num();
-  den = q.get_den();
+template <typename T, typename Policy>
+template <typename From>
+inline
+Checked_Number<T, Policy>
+::Checked_Number(const From&,
+                 Rounding_Dir dir,
+                 typename Enable_If<Is_Special<From>::value, bool>::type) {
+  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
+                                                                     From::vclass,
+                                                                     rounding_dir(dir)),
+                                     dir));
 }
 
-template <typename T>
-inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
-div_round_up(T& to,
-	     Coefficient_traits::const_reference x,
-	     Coefficient_traits::const_reference y) {
-  PPL_DIRTY_TEMP0(mpq_class, qx);
-  PPL_DIRTY_TEMP0(mpq_class, qy);
-  // Note: this code assumes that a Coefficient is always convertible
-  // to an mpq_class without loss of precision.
-  assign_r(qx, x, ROUND_NOT_NEEDED);
-  assign_r(qy, y, ROUND_NOT_NEEDED);
-  div_assign_r(qx, qx, qy, ROUND_NOT_NEEDED);
-  assign_r(to, qx, ROUND_UP);
+template <typename T, typename Policy>
+template <typename From>
+inline
+Checked_Number<T, Policy>::Checked_Number(const From&, typename Enable_If<Is_Special<From>::value, bool>::type) {
+  Rounding_Dir dir = Policy::ROUND_DEFAULT_CONSTRUCTOR;
+  Policy::handle_result(check_result(Checked::assign_special<Policy>(v,
+							    From::vclass,
+							    rounding_dir(dir)),
+				     dir));
 }
 
-template <typename N>
-inline void
-min_assign(N& x, const N& y) {
-  if (x > y)
-    x = y;
+template <typename To, typename From>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value
+                          && Is_Special<From>::value, Result>::type
+assign_r(To& to, const From&, Rounding_Dir dir) {
+  return check_result(Checked::assign_special<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				From::vclass,
+				rounding_dir(dir)),
+		      dir);
 }
 
-template <typename N>
-inline void
-max_assign(N& x, const N& y) {
-  if (x < y)
-    x = y;
+template <typename To, typename From>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value && Is_Special<From>::value, Result>::type
+construct(To& to, const From&, Rounding_Dir dir) {
+  return check_result(Checked::construct_special<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				From::vclass,
+				rounding_dir(dir)),
+		      dir);
 }
 
 template <typename T>
 inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_even(const T& x) {
-  T mod;
-  return umod_2exp_assign_r(mod, x, 1, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
-    && mod == 0;
+is_minus_infinity(const T& x) {
+  return Checked::is_minf<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
 }
 
 template <typename T>
 inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_additive_inverse(const T& x, const T& y) {
-  T negated_x;
-  return neg_assign_r(negated_x, x, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
-    && negated_x == y;
+is_plus_infinity(const T& x) {
+  return Checked::is_pinf<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
 }
 
-inline bool
-is_canonical(const mpq_class& x) {
-  if (x.get_den() <= 0)
-    return false;
-  PPL_DIRTY_TEMP0(mpq_class, temp);
-  temp = x;
-  temp.canonicalize();
-  return temp.get_num() == x.get_num();
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
+infinity_sign(const T& x) {
+  return is_minus_infinity(x) ? -1 : (is_plus_infinity(x) ? 1 : 0);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 109. */
-
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 28. */
-#include <cstddef>
-#include <limits>
-#include <algorithm>
-
-namespace Parma_Polyhedra_Library {
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_not_a_number(const T& x) {
+  return Checked::is_nan<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
+}
 
-inline
-Row::Flags::Flags()
-  : bits(0) {
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_integer(const T& x) {
+  return Checked::is_int<typename Native_Checked_From_Wrapper<T>
+    ::Policy>(Native_Checked_From_Wrapper<T>::raw_value(x));
 }
 
+template <typename T, typename Policy>
 inline
-Row::Flags::Flags(base_type n)
-  : bits(n) {
+Checked_Number<T, Policy>::operator T() const {
+  if (Policy::convertible)
+    return v;
 }
 
-inline Row::Flags::base_type
-Row::Flags::get_bits() const {
-  return bits;
+template <typename T, typename Policy>
+inline T&
+Checked_Number<T, Policy>::raw_value() {
+  return v;
 }
 
-inline void
-Row::Flags::set_bits(const base_type mask) {
-  bits |= mask;
+template <typename T, typename Policy>
+inline const T&
+Checked_Number<T, Policy>::raw_value() const {
+  return v;
 }
 
-inline void
-Row::Flags::reset_bits(const base_type mask) {
-  bits &= ~mask;
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline const T&
+raw_value(const Checked_Number<T, Policy>& x) {
+  return x.raw_value();
 }
 
-inline bool
-Row::Flags::test_bits(const base_type mask) const {
-  return (bits & mask) == mask;
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline T&
+raw_value(Checked_Number<T, Policy>& x) {
+  return x.raw_value();
 }
 
+template <typename T, typename Policy>
 inline bool
-Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
+Checked_Number<T, Policy>::OK() const {
+  return true;
 }
 
-inline bool
-Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
+template <typename T, typename Policy>
+inline Result
+Checked_Number<T, Policy>::classify(bool nan, bool inf, bool sign) const {
+  return Checked::classify<Policy>(v, nan, inf, sign);
 }
 
-inline void*
-Row_Impl_Handler::Impl::operator new(const size_t fixed_size,
-				     const dimension_type capacity) {
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  return ::operator new(fixed_size + capacity*sizeof(Coefficient));
-#else
-  PPL_ASSERT(capacity >= 1);
-  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
-#endif
+template <typename T, typename Policy>
+inline bool
+is_not_a_number(const Checked_Number<T, Policy>& x) {
+  return Checked::is_nan<Policy>(x.raw_value());
 }
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p) {
-  ::operator delete(p);
+template <typename T, typename Policy>
+inline bool
+is_minus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_minf<Policy>(x.raw_value());
 }
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
-  ::operator delete(p);
+template <typename T, typename Policy>
+inline bool
+is_plus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_pinf<Policy>(x.raw_value());
 }
 
-inline dimension_type
-Row_Impl_Handler::Impl::max_size() {
-  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline memory_size_type
+total_memory_in_bytes(const Checked_Number<T, Policy>& x) {
+  return total_memory_in_bytes(x.raw_value());
 }
 
-inline dimension_type
-Row_Impl_Handler::Impl::size() const {
-  return size_;
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline memory_size_type
+external_memory_in_bytes(const Checked_Number<T, Policy>& x) {
+  return external_memory_in_bytes(x.raw_value());
 }
 
-inline void
-Row_Impl_Handler::Impl::set_size(const dimension_type new_size) {
-  size_ = new_size;
-}
 
-inline void
-Row_Impl_Handler::Impl::bump_size() {
-  ++size_;
+/*! \relates Checked_Number */
+template <typename To>
+inline typename Enable_If<Is_Native_Or_Checked<To>::value, Result>::type
+assign_r(To& to, const char* x, Rounding_Dir dir) {
+  std::istringstream s(x);
+  return check_result(Checked::input<typename Native_Checked_To_Wrapper<To>
+		      ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to),
+				s,
+				rounding_dir(dir)),
+		      dir);
 }
 
-inline
-Row_Impl_Handler::Impl::Impl(const Row::Flags f)
-  : size_(0), flags_(f) {
+#define PPL_DEFINE_FUNC1_A(name, func) \
+template <typename To, typename From>					\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value               \
+                          && Is_Native_Or_Checked<From>::value,         \
+                          Result>::type                                 \
+ PPL_U(name)(To& to, const From& x, Rounding_Dir dir) {                 \
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From>::raw_value(x), \
+			   rounding_dir(dir)), dir);			\
 }
 
-inline
-Row_Impl_Handler::Impl::~Impl() {
-  shrink(0);
-}
+PPL_DEFINE_FUNC1_A(construct, construct_ext)
+PPL_DEFINE_FUNC1_A(assign_r, assign_ext)
+PPL_DEFINE_FUNC1_A(floor_assign_r, floor_ext)
+PPL_DEFINE_FUNC1_A(ceil_assign_r, ceil_ext)
+PPL_DEFINE_FUNC1_A(trunc_assign_r, trunc_ext)
+PPL_DEFINE_FUNC1_A(neg_assign_r, neg_ext)
+PPL_DEFINE_FUNC1_A(abs_assign_r, abs_ext)
+PPL_DEFINE_FUNC1_A(sqrt_assign_r, sqrt_ext)
 
-inline const Row::Flags&
-Row_Impl_Handler::Impl::flags() const {
-  return flags_;
-}
+#undef PPL_DEFINE_FUNC1_A
 
-inline Row::Flags&
-Row_Impl_Handler::Impl::flags() {
-  return flags_;
+#define PPL_DEFINE_FUNC1_B(name, func) \
+template <typename To, typename From>					\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
+                          && Is_Native_Or_Checked<From>::value,         \
+                          Result>::type					\
+ PPL_U(name)(To& to, const From& x, unsigned int exp, Rounding_Dir dir) { \
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From>::raw_value(x), \
+			   exp,						\
+			   rounding_dir(dir)),				\
+		 dir);							\
 }
 
-inline Coefficient&
-Row_Impl_Handler::Impl::operator[](const dimension_type k) {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
+PPL_DEFINE_FUNC1_B(add_2exp_assign_r, add_2exp_ext)
+PPL_DEFINE_FUNC1_B(sub_2exp_assign_r, sub_2exp_ext)
+PPL_DEFINE_FUNC1_B(mul_2exp_assign_r, mul_2exp_ext)
+PPL_DEFINE_FUNC1_B(div_2exp_assign_r, div_2exp_ext)
+PPL_DEFINE_FUNC1_B(smod_2exp_assign_r, smod_2exp_ext)
+PPL_DEFINE_FUNC1_B(umod_2exp_assign_r, umod_2exp_ext)
 
-inline Coefficient_traits::const_reference
-Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
+#undef PPL_DEFINE_FUNC1_B
 
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes(dimension_type capacity) const {
-  return
-    sizeof(*this)
-    + capacity*sizeof(Coefficient)
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-    - 1*sizeof(Coefficient)
-#endif
-    + external_memory_in_bytes();
+#define PPL_DEFINE_FUNC2(name, func) \
+template <typename To, typename From1, typename From2>			\
+inline typename Enable_If<Is_Native_Or_Checked<To>::value		\
+                          && Is_Native_Or_Checked<From1>::value         \
+                          && Is_Native_Or_Checked<From2>::value,        \
+                          Result>::type					\
+ PPL_U(name)(To& to, const From1& x, const From2& y, Rounding_Dir dir) { \
+  return								\
+    check_result(Checked::func<typename Native_Checked_To_Wrapper<To>	\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From1>		\
+		 ::Policy,						\
+		 typename Native_Checked_From_Wrapper<From2>		\
+		 ::Policy>(Native_Checked_To_Wrapper<To>::raw_value(to), \
+			   Native_Checked_From_Wrapper<From1>::raw_value(x), \
+			   Native_Checked_From_Wrapper<From2>::raw_value(y), \
+			   rounding_dir(dir)),				\
+		 dir);							\
 }
 
-inline memory_size_type
-Row_Impl_Handler::Impl::total_memory_in_bytes() const {
-  // In general, this is a lower bound, as the capacity of *this
-  // may be strictly greater than `size_'
-  return total_memory_in_bytes(size_);
-}
+PPL_DEFINE_FUNC2(add_assign_r, add_ext)
+PPL_DEFINE_FUNC2(sub_assign_r, sub_ext)
+PPL_DEFINE_FUNC2(mul_assign_r, mul_ext)
+PPL_DEFINE_FUNC2(div_assign_r, div_ext)
+PPL_DEFINE_FUNC2(idiv_assign_r, idiv_ext)
+PPL_DEFINE_FUNC2(rem_assign_r, rem_ext)
+PPL_DEFINE_FUNC2(gcd_assign_r, gcd_ext)
+PPL_DEFINE_FUNC2(lcm_assign_r, lcm_ext)
+PPL_DEFINE_FUNC2(add_mul_assign_r, add_mul_ext)
+PPL_DEFINE_FUNC2(sub_mul_assign_r, sub_mul_ext)
 
-inline dimension_type
-Row::max_size() {
-  return Impl::max_size();
-}
+#undef PPL_DEFINE_FUNC2
 
-inline dimension_type
-Row::size() const {
-  return impl->size();
+#define PPL_DEFINE_FUNC4(name, func)                                    \
+template <typename To1,							\
+          typename To2,							\
+	  typename To3,							\
+          typename From1,						\
+          typename From2>						\
+inline typename Enable_If<Is_Native_Or_Checked<To1>::value		\
+                          && Is_Native_Or_Checked<To2>::value           \
+                          && Is_Native_Or_Checked<To3>::value           \
+                          && Is_Native_Or_Checked<From1>::value         \
+                          && Is_Native_Or_Checked<From2>::value,        \
+                          Result>::type					\
+ PPL_U(name)(To1& to, To2& s, To3& t, const From1& x, const From2& y,   \
+     Rounding_Dir dir) {						\
+  return								\
+    check_result							\
+    (Checked::func<typename Native_Checked_To_Wrapper<To1>::Policy,	\
+                   typename Native_Checked_To_Wrapper<To2>::Policy,	\
+                   typename Native_Checked_To_Wrapper<To3>::Policy,	\
+                   typename Native_Checked_From_Wrapper<From1>::Policy,	\
+                   typename Native_Checked_From_Wrapper<From2>::Policy>	\
+     (Native_Checked_To_Wrapper<To1>::raw_value(to),			\
+      Native_Checked_To_Wrapper<To2>::raw_value(s),			\
+      Native_Checked_To_Wrapper<To3>::raw_value(t),			\
+      Native_Checked_From_Wrapper<From1>::raw_value(x),			\
+      Native_Checked_From_Wrapper<From2>::raw_value(y),			\
+      rounding_dir(dir)),						\
+     dir);								\
 }
 
-inline const Row::Flags&
-Row::flags() const {
-  return impl->flags();
-}
+PPL_DEFINE_FUNC4(gcdext_assign_r, gcdext_ext)
 
-inline Row::Flags&
-Row::flags() {
-  return impl->flags();
-}
+#undef PPL_DEFINE_PPL_DEFINE_FUNC4
 
-#if PPL_ROW_EXTRA_DEBUG
-inline dimension_type
-Row::capacity() const {
-  return capacity_;
+#define PPL_DEFINE_INCREMENT(f, fun) \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f() { \
+  Policy::handle_result((fun)(*this, *this, T(1),             \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy> \
+Checked_Number<T, Policy>::f(int) {\
+  T r = v;\
+  Policy::handle_result((fun)(*this, *this, T(1),             \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r;\
 }
-#endif
 
-inline
-Row_Impl_Handler::Row_Impl_Handler()
-  : impl(0) {
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = 0;
-#endif
-}
+PPL_DEFINE_INCREMENT(operator ++, add_assign_r)
+PPL_DEFINE_INCREMENT(operator --, sub_assign_r)
 
-inline
-Row_Impl_Handler::~Row_Impl_Handler() {
-  delete impl;
-}
+#undef PPL_DEFINE_INCREMENT
 
-inline
-Row::Row()
-  : Row_Impl_Handler() {
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>&
+Checked_Number<T, Policy>::operator=(const Checked_Number<T, Policy>& y) {
+  Checked::copy<Policy, Policy>(v, y.raw_value());
+  return *this;
 }
-
-inline void
-Row::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       const
-#endif
-	       dimension_type capacity,
-	       const Flags f) {
-  PPL_ASSERT(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity == 0)
-    ++capacity;
-#endif
-  PPL_ASSERT(impl == 0);
-  impl = new (capacity) Impl(f);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(capacity_ == 0);
-  capacity_ = capacity;
-#endif
+template <typename T, typename Policy>
+template <typename From>
+inline Checked_Number<T, Policy>&
+Checked_Number<T, Policy>::operator=(const From& y) {
+  Policy::handle_result(assign_r(*this, y, Policy::ROUND_DEFAULT_OPERATOR));
+  return *this;
 }
 
-inline void
-Row::expand_within_capacity(const dimension_type new_size) {
-  PPL_ASSERT(impl);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(new_size <= capacity_);
-#endif
-  impl->expand_within_capacity(new_size);
+#define PPL_DEFINE_BINARY_OP_ASSIGN(f, fun) \
+template <typename T, typename Policy> \
+template <typename From_Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f(const Checked_Number<T, From_Policy>& y) { \
+  Policy::handle_result((fun)(*this, *this, y,                          \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy>& \
+Checked_Number<T, Policy>::f(const T& y) { \
+  Policy::handle_result((fun)(*this, *this, y,                \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
+} \
+template <typename T, typename Policy> \
+template <typename From> \
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, \
+                          Checked_Number<T, Policy>& >::type \
+Checked_Number<T, Policy>::f(const From& y) { \
+  Checked_Number<T, Policy> cy(y); \
+  Policy::handle_result((fun)(*this, *this, cy,               \
+			    Policy::ROUND_DEFAULT_OPERATOR)); \
+  return *this; \
 }
 
-inline void
-Row::copy_construct_coefficients(const Row& y) {
-  PPL_ASSERT(impl && y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  PPL_ASSERT(y.size() <= capacity_);
-#endif
-  impl->copy_construct_coefficients(*(y.impl));
-}
+PPL_DEFINE_BINARY_OP_ASSIGN(operator +=, add_assign_r)
+PPL_DEFINE_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
+PPL_DEFINE_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
+PPL_DEFINE_BINARY_OP_ASSIGN(operator /=, div_assign_r)
+PPL_DEFINE_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
 
-inline void
-Row::construct(const dimension_type sz,
-	       const dimension_type capacity,
-	       const Flags f) {
-  PPL_ASSERT(sz <= capacity && capacity <= max_size());
-  allocate(capacity, f);
-  expand_within_capacity(sz);
+#undef PPL_DEFINE_BINARY_OP_ASSIGN
+
+#define PPL_DEFINE_BINARY_OP(f, fun) \
+template <typename T, typename Policy> \
+inline Checked_Number<T, Policy> \
+ PPL_U(f)(const Checked_Number<T, Policy>& x,   \
+         const Checked_Number<T, Policy>& y) {  \
+  Checked_Number<T, Policy> r; \
+  Policy::handle_result((fun)(r, x, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
+} \
+template <typename Type, typename T, typename Policy>	\
+inline \
+typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
+ PPL_U(f)(const Type& x, const Checked_Number<T, Policy>& y) {          \
+  Checked_Number<T, Policy> r(x); \
+  Policy::handle_result((fun)(r, r, y, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
+} \
+template <typename T, typename Policy, typename Type>	\
+inline \
+typename Enable_If<Is_Native<Type>::value, Checked_Number<T, Policy> >::type \
+ PPL_U(f)(const Checked_Number<T, Policy>& x, const Type& y) {          \
+  Checked_Number<T, Policy> r(y); \
+  Policy::handle_result((fun)(r, x, r, Policy::ROUND_DEFAULT_OPERATOR)); \
+  return r; \
 }
 
-inline void
-Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
+PPL_DEFINE_BINARY_OP(operator +, add_assign_r)
+PPL_DEFINE_BINARY_OP(operator -, sub_assign_r)
+PPL_DEFINE_BINARY_OP(operator *, mul_assign_r)
+PPL_DEFINE_BINARY_OP(operator /, div_assign_r)
+PPL_DEFINE_BINARY_OP(operator %, rem_assign_r)
+
+#undef PPL_DEFINE_BINARY_OP
+
+#define PPL_DEFINE_COMPARE_OP(f, fun)                                   \
+template <typename T1, typename T2>					\
+inline									\
+typename Enable_If<Is_Native_Or_Checked<T1>::value                      \
+                   && Is_Native_Or_Checked<T2>::value                   \
+                   && (Is_Checked<T1>::value || Is_Checked<T2>::value),	\
+		   bool>::type						\
+ PPL_U(f)(const T1& x, const T2& y) {                                   \
+  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
+    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
+    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
+     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
 }
 
-inline
-Row::Row(const dimension_type sz,
-	 const dimension_type capacity,
-	 const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, capacity, f);
+PPL_DEFINE_COMPARE_OP(operator ==, eq_ext)
+PPL_DEFINE_COMPARE_OP(operator !=, ne_ext)
+PPL_DEFINE_COMPARE_OP(operator >=, ge_ext)
+PPL_DEFINE_COMPARE_OP(operator >, gt_ext)
+PPL_DEFINE_COMPARE_OP(operator <=, le_ext)
+PPL_DEFINE_COMPARE_OP(operator <, lt_ext)
+
+#undef PPL_DEFINE_COMPARE_OP
+
+#define PPL_DEFINE_COMPARE(f, fun)                                      \
+template <typename T1, typename T2>					\
+inline typename Enable_If<Is_Native_Or_Checked<T1>::value		\
+			  && Is_Native_Or_Checked<T2>::value,		\
+                          bool>::type					\
+ PPL_U(f)(const T1& x, const T2& y) {                                   \
+  return Checked::fun<typename Native_Checked_From_Wrapper<T1>::Policy,	\
+    		      typename Native_Checked_From_Wrapper<T2>::Policy>	\
+    (Native_Checked_From_Wrapper<T1>::raw_value(x),			\
+     Native_Checked_From_Wrapper<T2>::raw_value(y));			\
 }
 
-inline
-Row::Row(const dimension_type sz, const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, f);
+PPL_DEFINE_COMPARE(equal, eq_ext)
+PPL_DEFINE_COMPARE(not_equal, ne_ext)
+PPL_DEFINE_COMPARE(greater_or_equal, ge_ext)
+PPL_DEFINE_COMPARE(greater_than, gt_ext)
+PPL_DEFINE_COMPARE(less_or_equal, le_ext)
+PPL_DEFINE_COMPARE(less_than, lt_ext)
+
+#undef PPL_DEFINE_COMPARE
+
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x) {
+  return x;
 }
 
-inline
-Row::Row(const Row& y)
-  : Row_Impl_Handler() {
-  if (y.impl) {
-    allocate(compute_capacity(y.size(), max_size()), y.flags());
-    copy_construct_coefficients(y);
-  }
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline Checked_Number<T, Policy>
+operator-(const Checked_Number<T, Policy>& x) {
+  Checked_Number<T, Policy> r;
+  Policy::handle_result(neg_assign_r(r, x, Policy::ROUND_DEFAULT_OPERATOR));
+  return r;
 }
 
-inline
-Row::Row(const Row& y,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
+#define PPL_DEFINE_ASSIGN_FUN2_1(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+ PPL_U(f)(Checked_Number<T, Policy>& x) {                               \
+  Policy::handle_result((fun)(x, x, Policy::ROUND_DEFAULT_FUNCTION));	\
 }
 
-inline
-Row::Row(const Row& y,
-	 const dimension_type sz,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-  expand_within_capacity(sz);
+#define PPL_DEFINE_ASSIGN_FUN2_2(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+ PPL_U(f)(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y) { \
+  Policy::handle_result((fun)(x, y, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
-inline
-Row::~Row() {
+#define PPL_DEFINE_ASSIGN_FUN3_3(f, fun) \
+template <typename T, typename Policy> \
+inline void \
+ PPL_U(f)(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
+  const Checked_Number<T, Policy>& z) { \
+  Policy::handle_result((fun)(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
-inline void
-Row::shrink(const dimension_type new_size) {
-  PPL_ASSERT(impl);
-  impl->shrink(new_size);
+#define PPL_DEFINE_ASSIGN_FUN5_5(f, fun)					\
+template <typename T, typename Policy>					\
+inline void								\
+ PPL_U(f)(Checked_Number<T, Policy>& x,                                 \
+  Checked_Number<T, Policy>& s, Checked_Number<T, Policy>& t,		\
+  const Checked_Number<T, Policy>& y,					\
+  const Checked_Number<T, Policy>& z) {					\
+  Policy::handle_result((fun)(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
-inline void
-Row::swap(Row& y) {
-  std::swap(impl, y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  std::swap(capacity_, y.capacity_);
-#endif
+PPL_DEFINE_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
+PPL_DEFINE_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
+PPL_DEFINE_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
+PPL_DEFINE_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
+PPL_DEFINE_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
+PPL_DEFINE_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
+
+PPL_DEFINE_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+
+#undef PPL_DEFINE_ASSIGN_FUN2_1
+#undef PPL_DEFINE_ASSIGN_FUN2_2
+#undef PPL_DEFINE_ASSIGN_FUN3_2
+#undef PPL_DEFINE_ASSIGN_FUN3_3
+#undef PPL_DEFINE_ASSIGN_FUN5_5
+
+#define PPL_DEFINE_ASSIGN_2EXP(f, fun)					\
+template <typename T, typename Policy>                                  \
+inline void								\
+ PPL_U(f)(Checked_Number<T, Policy>& x,                                 \
+          const Checked_Number<T, Policy>& y, unsigned int exp) {       \
+  Policy::handle_result((fun)(x, y, exp, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
+PPL_DEFINE_ASSIGN_2EXP(mul_2exp_assign, mul_2exp_assign_r)
+PPL_DEFINE_ASSIGN_2EXP(div_2exp_assign, div_2exp_assign_r)
+
+template <typename T, typename Policy>
 inline void
-Row::assign(Row& y) {
-  impl = y.impl;
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = y.capacity_;
-#endif
+exact_div_assign(Checked_Number<T, Policy>& x,
+		 const Checked_Number<T, Policy>& y,
+		 const Checked_Number<T, Policy>& z) {
+  Policy::handle_result(div_assign_r(x, y, z, ROUND_NOT_NEEDED));
 }
 
-inline Row&
-Row::operator=(const Row& y) {
-  // Copy-construct `tmp' from `y'.
-  Row tmp(y);
-  // Swap the implementation of `*this' with the one of `tmp'.
-  swap(tmp);
-  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
-  return *this;
+/*! \relates Checked_Number */
+template <typename From>
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
+sgn(const From& x) {
+  Result_Relation r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
+  switch (r) {
+  case VR_LT:
+    return -1;
+  case VR_EQ:
+    return 0;
+  case VR_GT:
+    return 1;
+  default:
+    throw(0);
+  }
 }
 
-inline Coefficient&
-Row::operator[](const dimension_type k) {
-  PPL_ASSERT(impl);
-  return (*impl)[k];
+/*! \relates Checked_Number */
+template <typename From1, typename From2>
+inline typename Enable_If<Is_Native_Or_Checked<From1>::value
+                          && Is_Native_Or_Checked<From2>::value,
+                          int>::type
+cmp(const From1& x, const From2& y) {
+  Result_Relation r
+    = Checked::cmp_ext<typename Native_Checked_From_Wrapper<From1>::Policy,
+                       typename Native_Checked_From_Wrapper<From2>::Policy>
+                 (Native_Checked_From_Wrapper<From1>::raw_value(x),
+		  Native_Checked_From_Wrapper<From2>::raw_value(y));
+  switch (r) {
+  case VR_LT:
+    return -1;
+  case VR_EQ:
+    return 0;
+  case VR_GT:
+    return 1;
+  default:
+    throw(0);
+  }
 }
 
-inline Coefficient_traits::const_reference
-Row::operator[](const dimension_type k) const {
-  PPL_ASSERT(impl);
-  return (*impl)[k];
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+output(std::ostream& os, const T& x,
+       const Numeric_Format& format, Rounding_Dir dir) {
+  return check_result(Checked::output_ext<typename Native_Checked_From_Wrapper<T>::Policy>
+		      (os,
+		       Native_Checked_From_Wrapper<T>::raw_value(x),
+		       format,
+		       rounding_dir(dir)),
+		      dir);
 }
 
-inline memory_size_type
-Row::external_memory_in_bytes(dimension_type capacity) const {
-  return impl->total_memory_in_bytes(capacity);
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline std::ostream&
+operator<<(std::ostream& os, const Checked_Number<T, Policy>& x) {
+  Policy::handle_result(output(os, x, Numeric_Format(), ROUND_IGNORE));
+  return os;
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes(dimension_type capacity) const {
-  return sizeof(*this) + external_memory_in_bytes(capacity);
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, Result>::type
+input(T& x, std::istream& is, Rounding_Dir dir) {
+  return check_result(Checked::input_ext<typename Native_Checked_To_Wrapper<T>::Policy>
+		      (Native_Checked_To_Wrapper<T>::raw_value(x),
+		       is,
+		       rounding_dir(dir)),
+		      dir);
 }
 
-inline memory_size_type
-Row::external_memory_in_bytes() const {
-#if PPL_ROW_EXTRA_DEBUG
-  return impl->total_memory_in_bytes(capacity_);
-#else
-  return impl->total_memory_in_bytes();
-#endif
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline std::istream& operator>>(std::istream& is,
+				Checked_Number<T, Policy>& x) {
+  Result r = input(x, is, Policy::ROUND_DEFAULT_INPUT);
+  if (r == V_CVT_STR_UNK)
+    is.setstate(std::ios::failbit);
+  else
+    Policy::handle_result(r);
+  return is;
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+template <typename T>
+inline T
+plus_infinity() {
+  return PLUS_INFINITY;
 }
 
-/*! \relates Row */
-inline bool
-operator!=(const Row& x, const Row& y) {
-  return !(x == y);
+template <typename T>
+inline T
+minus_infinity() {
+  return MINUS_INFINITY;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
+template <typename T>
+inline T
+not_a_number() {
+  return NOT_A_NUMBER;
+}
 
-/*! \relates Parma_Polyhedra_Library::Row */
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
 inline void
-swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
-  x.swap(y);
+swap(Checked_Number<T, Policy>& x, Checked_Number<T, Policy>& y) {
+  using std::swap;
+  swap(x.raw_value(), y.raw_value());
 }
 
-/*! \relates Parma_Polyhedra_Library::Row */
+template <typename T>
 inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Row>::iterator y) {
-  swap(*x, *y);
+maybe_reset_fpu_inexact() {
+  if (FPU_Related<T>::value)
+    return fpu_reset_inexact();
 }
 
-} // namespace std
+template <typename T>
+inline int
+maybe_check_fpu_inexact() {
+  if (FPU_Related<T>::value)
+    return fpu_check_inexact();
+  else
+    return 0;
+}
+
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 521. */
+/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 1. */
+/* Checked_Number class implementation: non-inline template functions.
+*/
 
-/* Automatically generated from PPL source file ../src/Topology.hh line 1. */
 
+/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 28. */
+#include <iomanip>
+#include <limits>
 
 namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Kinds of polyhedra domains.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-enum Topology {
-  NECESSARILY_CLOSED = 0,
-  NOT_NECESSARILY_CLOSED = 1
-};
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+ascii_dump(std::ostream& s, const T& t) {
+  if (std::numeric_limits<T>::is_exact)
+    // An exact data type: pretty printer is accurate.
+    s << t;
+  else {
+    // An inexact data type (probably floating point):
+    // first dump its hexadecimal representation ...
+    const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                                std::ios::basefield);
+    const unsigned char* p = reinterpret_cast<const unsigned char*>(&t);
+    for (unsigned i = 0; i < sizeof(T); ++i) {
+      s << std::setw(2) << std::setfill('0') << static_cast<unsigned>(p[i]);
+    }
+    s.flags(old_flags);
+    // ... and then pretty print it for readability.
+    s << " (" << t << ")";
+  }
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+ascii_load(std::istream& s, T& t) {
+  if (std::numeric_limits<T>::is_exact) {
+    // An exact data type: input from pretty printed version is accurate.
+    s >> t;
+    return !s.fail();
+  }
+  else {
+    // An inexact data type (probably floating point):
+    // first load its hexadecimal representation ...
+    std::string str;
+    if (!(s >> str) || str.size() != 2*sizeof(T))
+      return false;
+    unsigned char* p = reinterpret_cast<unsigned char*>(&t);
+    // CHECKME: any (portable) simpler way?
+    for (unsigned i = 0; i < sizeof(T); ++i) {
+      unsigned byte_value = 0;
+      for (unsigned j = 0; j < 2; ++j) {
+        byte_value <<= 4;
+        unsigned half_byte_value;
+        // Interpret single hex character.
+        switch (str[2*i + j]) {
+        case '0':
+          half_byte_value = 0;
+          break;
+        case '1':
+          half_byte_value = 1;
+          break;
+        case '2':
+          half_byte_value = 2;
+          break;
+        case '3':
+          half_byte_value = 3;
+          break;
+        case '4':
+          half_byte_value = 4;
+          break;
+        case '5':
+          half_byte_value = 5;
+          break;
+        case '6':
+          half_byte_value = 6;
+          break;
+        case '7':
+          half_byte_value = 7;
+          break;
+        case '8':
+          half_byte_value = 8;
+          break;
+        case '9':
+          half_byte_value = 9;
+          break;
+        case 'A':
+        case 'a':
+          half_byte_value = 10;
+          break;
+        case 'B':
+        case 'b':
+          half_byte_value = 11;
+          break;
+        case 'C':
+        case 'c':
+          half_byte_value = 12;
+          break;
+        case 'D':
+        case 'd':
+          half_byte_value = 13;
+          break;
+        case 'E':
+        case 'e':
+          half_byte_value = 14;
+          break;
+        case 'F':
+        case 'f':
+          half_byte_value = 15;
+          break;
+        default:
+          return false;
+        }
+        byte_value += half_byte_value;
+      }
+      PPL_ASSERT(byte_value <= 255);
+      p[i] = static_cast<unsigned char>(byte_value);
+    }
+    // ... then read and discard pretty printed value.
+    if (!(s >> str))
+      return false;
+    const std::string::size_type sz = str.size();
+    return sz > 2 && str[0] == '(' && str[sz-1] == ')';
+  }
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 34. */
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for linear expressions, constraints and generators.
-/*! \ingroup PPL_CXX_interface
-  The class Linear_Row allows us to build objects of the form
-  \f$[b, a_0, \ldots, a_{d-1}]_{(t, k)}\f$,
-  i.e., a finite sequence of coefficients subscripted by a pair of flags,
-  which are both stored in a Linear_Row::Flags object.
-  The flag \f$t \in \{ \mathrm{c}, \mathrm{nnc} \}\f$ represents
-  the <EM>topology</EM> and
-  the flag \f$k \in \{\mathord{=}, \mathord{\geq} \}\f$ represents
-  the <EM>kind</EM> of the Linear_Row object.
-  Note that, even though all the four possible combinations of topology
-  and kind values will result in a legal Linear_Row::Flags object, some
-  of these pose additional constraints on the values of the Linear_Row's
-  coefficients.
-
-  When \f$t = c\f$, we have the following cases
-  (\f$d\f$ is the dimension of the vector space):
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}]_{(c,\geq)}\f$, with \f$b > 0\f$,
-      represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-
-  When \f$t = \mathrm{nnc}\f$, the last coefficient of the Linear_Row is
-  associated to the slack variable \f$\epsilon\f$, so that we have the
-  following cases (\f$d\f$ is again the dimension of the vector space,
-  but this time we have \f$d+2\f$ coefficients):
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the equality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b = 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the non-strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b \geq 0\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$e < 0\f$, represents the strict inequality constraint
-      \f$\sum_{i=0}^{d-1} a_i x_i + b > 0\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},=)}\f$
-      represents the line of direction
-      \f$\vect{l} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[0, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$
-      represents the ray of direction
-      \f$\vect{r} = (a_0, \ldots, a_{d-1})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, e]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$ and \f$e > 0\f$, represents the point
-      \f$\vect{p} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-    - \f$[b, a_0, \ldots, a_{d-1}, 0]_{(\mathrm{nnc},\geq)}\f$,
-      with \f$b > 0\f$, represents the closure point
-      \f$\vect{c} = (\frac{a_0}{b}, \ldots, \frac{a_{d-1}}{b})^\transpose\f$.
-
-  So, a Linear_Row can be both a constraint and a generator: it can be an
-  equality, a strict or non-strict inequality, a line, a ray, a point
-  or a closure point.
-
-  The inhomogeneous term of a constraint can be zero or different from zero.
-
-  Points and closure points must have a positive inhomogeneous term
-  (which is used as a common divisor for all the other coefficients),
-  lines and rays must have the inhomogeneous term equal to zero.
-  If needed, the coefficients of points and closure points are negated
-  at creation time so that they satisfy this invariant.
-  The invariant is maintained because, when combining a point or closure
-  point with another generator, we only consider positive combinations.
-
-  The \f$\epsilon\f$ coefficient, when present, is negative for strict
-  inequality constraints, positive for points and equal to zero in all
-  the other cases.
-  Note that the above description corresponds to the end-user, high-level
-  view of a Linear_Row object. In the implementation, to allow for code reuse,
-  it is sometimes useful to regard an \f$\mathrm{nnc}\f$-object on
-  the vector space \f$\Rset^d\f$ as if it was a \f$\mathrm{c}\f$-object
-  on the vector space \f$\Rset^{d+1}\f$, therefore interpreting the slack
-  variable \f$\epsilon\f$ as an ordinary dimension of the vector space.
-
-  A Linear_Row object implementing a Linear_Expression is always of the form
-  \f$[0, a_0, \ldots, a_{d-1}]_{(c,=)}\f$, which represents the
-  linear expression \f$\sum_{i=0}^{d-1} a_i x_i\f$.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1067. */
 
-class Parma_Polyhedra_Library::Linear_Row : public Row {
-public:
-  //! The possible kinds of Linear_Row objects.
-  enum Kind {
-    LINE_OR_EQUALITY = 0,
-    RAY_OR_POINT_OR_INEQUALITY = 1
-  };
+/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 29. */
+#include <limits>
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    The type of the object to which the coefficients refer to,
-    encoding both topology and kind.
+namespace std {
 
-    \ingroup PPL_CXX_interface
-    This combines the information about the topology (necessarily closed
-    or not) and the kind (line/equality or ray/point/inequality)
-    of a Linear_Row object.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class Flags : public Row::Flags {
-  public:
-    //! Default constructor: builds an object where all flags are invalid.
-    Flags();
+using namespace Parma_Polyhedra_Library;
 
-    //! Builds an object corresponding to the topology \p t.
-    explicit Flags(Topology t);
+#define PPL_SPECIALIZE_LIMITS_INT(T)					\
+  /*! \brief Partial specialization of std::numeric_limits. */		\
+  template <typename Policy>						\
+  class numeric_limits<Checked_Number<PPL_U(T), Policy> >              \
+    : public numeric_limits<PPL_U(T)> {                                 \
+  private:								\
+    typedef Checked_Number<PPL_U(T), Policy> Type;                      \
+                                                                        \
+  public:								\
+    static const bool has_infinity = Policy::has_infinity;		\
+    static const bool has_quiet_NaN =  Policy::has_nan;                 \
+                                                                        \
+    static Type min() {							\
+      Type v;								\
+      v.raw_value() = Checked::Extended_Int<Policy, PPL_U(T)>::min;     \
+      return v;								\
+    }									\
+                                                                        \
+    static Type max() {							\
+      Type v;								\
+      v.raw_value() = Checked::Extended_Int<Policy, PPL_U(T)>::max;     \
+      return v;								\
+    }									\
+									\
+    static Type infinity() {						\
+      Type v;								\
+      Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,	\
+                                      ROUND_IGNORE);                    \
+      return v;								\
+    }									\
+									\
+    static Type quiet_NaN() {						\
+      Type v;								\
+      Checked::assign_special<Policy>(v.raw_value(), VC_NAN,		\
+                                      ROUND_IGNORE);                    \
+      return v;								\
+    }									\
+  };
 
-    //! Builds an object corresponding to the topology \p t and kind \p k.
-    Flags(Topology t, Kind k);
+PPL_SPECIALIZE_LIMITS_INT(char)
 
-    //! \name Testing and setting the type
-    //@{
-    Topology topology() const;
-    bool is_necessarily_closed() const;
-    bool is_not_necessarily_closed() const;
-    bool is_line_or_equality() const;
-    bool is_ray_or_point_or_inequality() const;
+PPL_SPECIALIZE_LIMITS_INT(signed char)
+PPL_SPECIALIZE_LIMITS_INT(signed short)
+PPL_SPECIALIZE_LIMITS_INT(signed int)
+PPL_SPECIALIZE_LIMITS_INT(signed long)
+PPL_SPECIALIZE_LIMITS_INT(signed long long)
 
-    void set_necessarily_closed();
-    void set_not_necessarily_closed();
-    void set_is_line_or_equality();
-    void set_is_ray_or_point_or_inequality();
-    //@} // Testing and setting the type
+PPL_SPECIALIZE_LIMITS_INT(unsigned char)
+PPL_SPECIALIZE_LIMITS_INT(unsigned short)
+PPL_SPECIALIZE_LIMITS_INT(unsigned int)
+PPL_SPECIALIZE_LIMITS_INT(unsigned long)
+PPL_SPECIALIZE_LIMITS_INT(unsigned long long)
 
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
+#undef PPL_SPECIALIZE_LIMITS_INT
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
+#define PPL_SPECIALIZE_LIMITS_FLOAT(T)					\
+  /*! \brief Partial specialization of std::numeric_limits. */		\
+  template <typename Policy>						\
+  struct numeric_limits<Checked_Number<PPL_U(T), Policy> >              \
+    : public numeric_limits<PPL_U(T)> {                                 \
+};
 
-    PPL_OUTPUT_DECLARATIONS
+#if PPL_SUPPORTED_FLOAT
+PPL_SPECIALIZE_LIMITS_FLOAT(float)
+#endif
+#if PPL_SUPPORTED_DOUBLE
+PPL_SPECIALIZE_LIMITS_FLOAT(double)
+#endif
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_LIMITS_FLOAT(long double)
+#endif
 
-    /*! \brief
-      Loads from \p s an ASCII representation (as produced by
-      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-      Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-    */
-    bool ascii_load(std::istream& s);
+#undef PPL_SPECIALIZE_LIMITS_FLOAT
 
-  private:
-    //! Builds the type from a bit-mask.
-    explicit Flags(base_type mask);
-
-    //! \name The bits that are currently in use
-    //@{
-    // NB: ascii_load assumes that these are sequential.
-    static const unsigned rpi_validity_bit
-    = Row::Flags::first_free_bit + 0;
-    static const unsigned rpi_bit
-    = Row::Flags::first_free_bit + 1;
-    static const unsigned nnc_validity_bit
-    = Row::Flags::first_free_bit + 2;
-    static const unsigned nnc_bit
-    = Row::Flags::first_free_bit + 3;
-    //@}
-
-  protected:
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit
-    = Row::Flags::first_free_bit + 4;
-
-    friend class Parma_Polyhedra_Library::Linear_Row;
-  };
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partial specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+class
+numeric_limits<Checked_Number<mpz_class, Policy> >
+  : public numeric_limits<mpz_class> {
+private:
+  typedef Checked_Number<mpz_class, Policy> Type;
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Linear_Row();
+public:
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
 
-  //! \name Post-constructors
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with type \p t, size \p sz and minimum capacity.
-  */
-  void construct(dimension_type sz, Flags f);
+  static Type infinity() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
+  }
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+  static Type quiet_NaN() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
+  }
+};
 
-    \param capacity
-    The minimum capacity of the row that will be constructed.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partial specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+class
+numeric_limits<Checked_Number<mpq_class, Policy> >
+: public numeric_limits<mpq_class> {
+private:
+  typedef Checked_Number<mpq_class, Policy> Type;
 
-    \param f
-    Flags for the row that will be constructed.
+public:
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
 
-    The row that we are constructing has a minimum capacity, i.e., it
-    can contain at least \p capacity elements, \p sz of which will be
-    default-constructed now. The row flags are set to \p f.
-  */
-  void construct(dimension_type sz, dimension_type capacity, Flags f);
-  //@} // Post-constructors
+  static Type infinity() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_PLUS_INFINITY,
+				    ROUND_IGNORE);
+    return v;
+  }
 
-  //! Tight constructor: resizing will require reallocation.
-  Linear_Row(dimension_type sz, Flags f);
+  static Type quiet_NaN() {
+    Type v;
+    Checked::assign_special<Policy>(v.raw_value(), VC_NAN, ROUND_IGNORE);
+    return v;
+  }
+};
 
-  //! Sizing constructor with capacity.
-  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
+} // namespace std
 
-  //! Ordinary copy constructor.
-  Linear_Row(const Linear_Row& y);
+/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 1. */
+/* stdiobuf class declaration.
+*/
 
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to \p y size.
-  */
-  Linear_Row(const Linear_Row& y, dimension_type capacity);
 
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-  */
-  Linear_Row(const Linear_Row& y, dimension_type sz, dimension_type capacity);
+/* Automatically generated from PPL source file ../src/stdiobuf.types.hh line 1. */
 
-  //! Destructor.
-  ~Linear_Row();
 
-  //! \name Flags inspection methods
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+namespace Parma_Polyhedra_Library {
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+class stdiobuf;
 
-  //! Returns the topological kind of \p *this.
-  Topology topology() const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is not necessarily closed.
-  */
-  bool is_not_necessarily_closed() const;
+/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 28. */
+#include <cstdio>
+#include <streambuf>
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is necessarily closed.
-  */
-  bool is_necessarily_closed() const;
+class Parma_Polyhedra_Library::stdiobuf
+  : public std::basic_streambuf<char, std::char_traits<char> > {
+public:
+  //! Constructor.
+  stdiobuf(FILE* file);
 
+protected:
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a line or an equality.
-  */
-  bool is_line_or_equality() const;
+    Gets a character in case of underflow.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a ray, a point or an inequality.
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  bool is_ray_or_point_or_inequality() const;
-  //@} // Flags inspection methods
-
-  //! \name Flags coercion methods
-  //@{
-  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_necessarily_closed();
-
-  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_not_necessarily_closed();
-
-  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
-  void set_is_line_or_equality();
-
-  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
-  void set_is_ray_or_point_or_inequality();
-  //@} // Flags coercion methods
-
-  //! Returns the maximum space dimension a Linear_Row can handle.
-  static dimension_type max_space_dimension();
-
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
-
-  //! Returns the inhomogeneous term.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
-
-  //! Returns the coefficient \f$a_n\f$.
-  Coefficient_traits::const_reference coefficient(dimension_type n) const;
+  virtual int_type underflow();
 
   /*! \brief
-    Normalizes the sign of the coefficients so that the first non-zero
-    (homogeneous) coefficient of a line-or-equality is positive.
+    In case of underflow, gets a character and advances the next pointer.
+
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  void sign_normalize();
+  virtual int_type uflow();
 
   /*! \brief
-    Strong normalization: ensures that different Linear_Row objects
-    represent different hyperplanes or hyperspaces.
+    Gets a sequence of characters.
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  void strong_normalize();
+  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the coefficients are
-    strongly normalized.
-  */
-  bool check_strong_normalized() const;
-
-  //! Linearly combines \p *this with \p y so that <CODE>*this[k]</CODE> is 0.
-  /*!
-    \param y
-    The Linear_Row that will be combined with \p *this object;
-
-    \param k
-    The position of \p *this that have to be \f$0\f$.
+    Puts character back in case of backup underflow.
 
-    Computes a linear combination of \p *this and \p y having
-    the element of index \p k equal to \f$0\f$. Then it assigns
-    the resulting Linear_Row to \p *this and normalizes it.
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
   */
-  void linear_combine(const Linear_Row& y, dimension_type k);
+  virtual int_type pbackfail(int_type c = traits_type::eof());
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if all the
-    terms of \p *this are \f$0\f$.
-  */
-  bool is_zero() const;
+    Writes a sequence of characters.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous
-    terms of \p *this are \f$0\f$.
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
   */
-  bool all_homogeneous_terms_are_zero() const;
-
-  PPL_OUTPUT_DECLARATIONS
+  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    Writes a character in case of overflow.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
+  */
+  virtual int_type overflow(int_type c);
 
   /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
+    Synchronizes the stream buffer.
+
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
   */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+  virtual int sync();
 
 private:
-  friend class Parma_Polyhedra_Library::Linear_Expression;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
-};
-
-namespace Parma_Polyhedra_Library {
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Linear_Row */
-bool operator==(const Linear_Row& x, const Linear_Row& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Linear_Row */
-bool operator!=(const Linear_Row& x, const Linear_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The basic comparison function.
-/*! \relates Linear_Row
-  \return
-  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
-
-  \param x
-  A row of coefficients;
-
-  \param y
-  Another row.
-
-  Compares \p x and \p y, where \p x and \p y may be of different size,
-  in which case the "missing" coefficients are assumed to be zero.
-  The comparison is such that:
-  -# equalities are smaller than inequalities;
-  -# lines are smaller than points and rays;
-  -# the ordering is lexicographic;
-  -# the positions compared are, in decreasing order of significance,
-     1, 2, ..., \p size(), 0;
-  -# the result is negative, zero, or positive if x is smaller than,
-     equal to, or greater than y, respectively;
-  -# when \p x and \p y are different, the absolute value of the
-     result is 1 if the difference is due to the coefficient in
-     position 0; it is 2 otherwise.
-
-  When \p x and \p y represent the hyper-planes associated
-  to two equality or inequality constraints, the coefficient
-  at 0 is the known term.
-  In this case, the return value can be characterized as follows:
-  - -2, if \p x is smaller than \p y and they are \e not parallel;
-  - -1, if \p x is smaller than \p y and they \e are parallel;
-  -  0, if \p x and y are equal;
-  - +1, if \p y is smaller than \p x and they \e are parallel;
-  - +2, if \p y is smaller than \p x and they are \e not parallel.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-int compare(const Linear_Row& x, const Linear_Row& y);
-
-} // namespace Parma_Polyhedra_Library
-
+  //! Character type of the streambuf.
+  typedef char char_type;
 
-namespace std {
+  //! Traits type of the streambuf.
+  typedef std::char_traits<char_type> traits_type;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_Row& x,
-	  Parma_Polyhedra_Library::Linear_Row& y);
+  //! Integer type of the streambuf.
+  typedef traits_type::int_type int_type;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	       std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y);
+  //! The encapsulated stdio file.
+  FILE* fp;
 
-} // namespace std
+  //! Buffer for the last character read.
+  int_type unget_char_buf;
+};
 
-/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 1. */
-/* Linear_Row class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/stdiobuf.inlines.hh line 1. */
+/* stdiobuf class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 29. */
-#include <algorithm>
-
 namespace Parma_Polyhedra_Library {
 
 inline
-Linear_Row::Flags::Flags()
-  : Row::Flags() {
-  // Note that the constructed type has its validity bit unset.
-}
-
-inline
-Linear_Row::Flags::Flags(const Topology t)
-  : Row::Flags(t << nnc_bit) {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-}
-
-inline
-Linear_Row::Flags::Flags(const Topology t, const Kind k)
-  : Row::Flags((k << rpi_bit) | (t << nnc_bit)) {
-#ifndef NDEBUG
-  set_bits((1 << rpi_validity_bit)
-	   | (1 << nnc_validity_bit));
-#endif
+stdiobuf::stdiobuf(FILE* file)
+  : fp(file), unget_char_buf(traits_type::eof()) {
 }
 
-inline bool
-Linear_Row::Flags::is_ray_or_point_or_inequality() const {
-  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
-  return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
+} // namespace Parma_Polyhedra_Library
 
-inline void
-Linear_Row::Flags::set_is_ray_or_point_or_inequality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  set_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
+/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 110. */
 
-inline bool
-Linear_Row::Flags::is_line_or_equality() const {
-  PPL_ASSERT(test_bits(1 << rpi_validity_bit));
-  return !is_ray_or_point_or_inequality();
-}
+/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 1. */
+/* c_streambuf class declaration.
+*/
 
-inline void
-Linear_Row::Flags::set_is_line_or_equality() {
-#ifndef NDEBUG
-  set_bits(1 << rpi_validity_bit);
-#endif
-  reset_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
-}
 
-inline bool
-Linear_Row::Flags::is_not_necessarily_closed() const {
-  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
-  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
+/* Automatically generated from PPL source file ../src/c_streambuf.types.hh line 1. */
 
-inline bool
-Linear_Row::Flags::is_necessarily_closed() const {
-  PPL_ASSERT(test_bits(1 << nnc_validity_bit));
-  return !is_not_necessarily_closed();
-}
 
-inline void
-Linear_Row::Flags::set_not_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  set_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
+namespace Parma_Polyhedra_Library {
 
-inline void
-Linear_Row::Flags::set_necessarily_closed() {
-#ifndef NDEBUG
-  set_bits(1 << nnc_validity_bit);
-#endif
-  reset_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
+class c_streambuf;
 
-inline Topology
-Linear_Row::Flags::topology() const {
-  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline bool
-Linear_Row::Flags::operator==(const Flags& y) const {
-  base_type mask = low_bits_mask<base_type>(first_free_bit);
-  return (get_bits() & mask) == (y.get_bits() & mask);
-}
+/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 28. */
+#include <streambuf>
+#include <cstddef>
 
-inline bool
-Linear_Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
-}
+class Parma_Polyhedra_Library::c_streambuf
+  : public std::basic_streambuf<char, std::char_traits<char> > {
+public:
+  //! Constructor.
+  c_streambuf();
 
-inline const Linear_Row::Flags&
-Linear_Row::flags() const {
-  return static_cast<const Flags&>(Row::flags());
-}
+  //! Destructor.
+  virtual ~c_streambuf();
 
-inline Linear_Row::Flags&
-Linear_Row::flags() {
-  return static_cast<Flags&>(Row::flags());
-}
+protected:
+  /*! \brief
+    Gets a character in case of underflow.
 
-inline bool
-Linear_Row::is_necessarily_closed() const {
-  return flags().is_necessarily_closed();
-}
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual int_type underflow();
 
-inline dimension_type
-Linear_Row::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term or the divisor.
-  // In NNC rows, the last coefficient is for the epsilon dimension.
-  return max_size() - 2;
-}
+  /*! \brief
+    In case of underflow, gets a character and advances the next pointer.
 
-inline dimension_type
-Linear_Row::space_dimension() const {
-  const dimension_type sz = size();
-  return (sz == 0)
-    ? 0
-    : sz - (is_necessarily_closed() ? 1 : 2);
-}
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual int_type uflow();
 
-inline
-Linear_Row::Linear_Row()
-  : Row() {
-}
+  /*! \brief
+    Gets a sequence of characters.
 
-inline void
-Linear_Row::construct(const dimension_type sz, const dimension_type capacity,
-		      const Flags f) {
-  Row::construct(sz, capacity, f);
-}
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
 
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const dimension_type capacity,
-		       const Flags f) {
-  construct(sz, capacity, f);
-}
+  /*! \brief
+    Puts character back in case of backup underflow.
 
-inline void
-Linear_Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
-}
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
+  */
+  virtual int_type pbackfail(int_type c = traits_type::eof());
 
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
-  construct(sz, f);
-}
+  /*! \brief
+    Writes a sequence of characters.
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y)
-  : Row(y) {
-}
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
+  */
+  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type capacity)
-  : Row(y, capacity) {
-}
+  /*! \brief
+    Writes a character in case of overflow.
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type sz, const dimension_type capacity)
-  : Row(y, sz, capacity) {
-}
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
+  */
+  virtual int_type overflow(int_type c);
 
-inline
-Linear_Row::~Linear_Row() {
-}
+  /*! \brief
+    Synchronizes the stream buffer.
 
-inline bool
-Linear_Row::is_line_or_equality() const {
-  return flags().is_line_or_equality();
-}
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
+  */
+  virtual int sync();
 
-inline bool
-Linear_Row::is_ray_or_point_or_inequality() const {
-  return flags().is_ray_or_point_or_inequality();
-}
+private:
+  //! Character type of the streambuf.
+  typedef char char_type;
 
-inline Topology
-Linear_Row::topology() const {
-  return flags().topology();
-}
+  //! Traits type of the streambuf.
+  typedef std::char_traits<char_type> traits_type;
 
-inline void
-Linear_Row::set_is_line_or_equality() {
-  flags().set_is_line_or_equality();
-}
+  //! Integer type of the streambuf.
+  typedef traits_type::int_type int_type;
 
-inline void
-Linear_Row::set_is_ray_or_point_or_inequality() {
-  flags().set_is_ray_or_point_or_inequality();
-}
+  //! Buffer for the last character read.
+  int_type unget_char_buf;
 
-inline void
-Linear_Row::set_necessarily_closed() {
-  flags().set_necessarily_closed();
-}
+  //! Buffer for next character
+  int_type next_char_buf;
 
-inline void
-Linear_Row::set_not_necessarily_closed() {
-  flags().set_not_necessarily_closed();
-}
+  virtual size_t cb_read(char *, size_t) {
+    return 0;
+  }
+  virtual size_t cb_write(const char *, size_t) {
+    return 0;
+  }
+  virtual int cb_sync() {
+    return 0;
+  }
+  virtual int cb_flush() {
+    return 0;
+  }
+};
 
-inline Coefficient_traits::const_reference
-Linear_Row::inhomogeneous_term() const {
-  return (*this)[0];
-}
+/* Automatically generated from PPL source file ../src/c_streambuf.inlines.hh line 1. */
+/* c_streambuf class implementation: inline functions.
+*/
 
-inline Coefficient_traits::const_reference
-Linear_Row::coefficient(const dimension_type k) const {
-  return (*this)[k+1];
-}
 
-inline void
-Linear_Row::strong_normalize() {
-  normalize();
-  sign_normalize();
-}
+namespace Parma_Polyhedra_Library {
 
-/*! \relates Linear_Row */
-inline bool
-operator==(const Linear_Row& x, const Linear_Row& y) {
-  return x.flags() == y.flags()
-    && static_cast<const Row&>(x) == static_cast<const Row&>(y);
+inline
+c_streambuf::c_streambuf()
+  : unget_char_buf(traits_type::eof()), next_char_buf(traits_type::eof()) {
 }
 
-/*! \relates Linear_Row */
-inline bool
-operator!=(const Linear_Row& x, const Linear_Row& y) {
-  return !(x == y);
+inline
+c_streambuf::~c_streambuf() {
 }
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/c_streambuf.defs.hh line 126. */
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Row& x,
-     Parma_Polyhedra_Library::Linear_Row& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file ../src/Integer_Interval.hh line 1. */
+/* Integer_Interval class declaration and implementation.
+*/
 
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Linear_Row>::iterator y) {
-  swap(*x, *y);
-}
 
-} // namespace std
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 1. */
+/* Declarations for the Interval class and its constituents.
+*/
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 470. */
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1. */
-/* Linear_Expression class declaration.
+/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 1. */
+/* The assign_or_swap() utility functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 1. */
-/* Variable class declaration.
+/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 1. */
+/* Has_Assign_Or_Swap classes declarations.
 */
 
 
-/* Automatically generated from PPL source file ../src/Variable.types.hh line 1. */
-
+/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
-class Variable;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  The assign_or_swap() method is not present by default.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Enable = void>
+struct Has_Assign_Or_Swap : public False {
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  The assign_or_swap() method is present if it is present (!).
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+struct Has_Assign_Or_Swap<T,
+			  typename Enable_If_Is<void (T::*)(T& x),
+						&T::assign_or_swap>::type>
+  : public True {
+};
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 30. */
-#include <iosfwd>
-#include <set>
+/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 30. */
 
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  If there is an assign_or_swap() method, use it.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<Has_Assign_Or_Swap<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  to.assign_or_swap(from);
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variable */
-std::ostream&
-operator<<(std::ostream& s, const Variable& v);
-
-} // namespace IO_Operators
-
-//! Defines a total ordering on variables.
-/*! \relates Variable */
-bool less(Variable v, Variable w);
-
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface
+  If there is no assign_or_swap() method but copies are not slow, copy.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
+                          && !Slow_Copy<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  to = from;
+}
 
-//! A dimension of the vector space.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \ingroup PPL_CXX_interface
-  An object of the class Variable represents a dimension of the space,
-  that is one of the Cartesian axes.
-  Variables are used as basic blocks in order to build
-  more complex linear expressions.
-  Each variable is identified by a non-negative integer,
-  representing the index of the corresponding Cartesian axis
-  (the first axis has index 0).
-  The space dimension of a variable is the dimension of the vector space
-  made by all the Cartesian axes having an index less than or equal to
-  that of the considered variable; thus, if a variable has index \f$i\f$,
-  its space dimension is \f$i+1\f$.
+  If there is no assign_or_swap() and copies are slow, delegate to swap().
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
+                          && Slow_Copy<T>::value, void>::type
+assign_or_swap(T& to, T& from) {
+  using std::swap;
+  swap(to, from);
+}
 
-  Note that the ``meaning'' of an object of the class Variable
-  is completely specified by the integer index provided to its
-  constructor:
-  be careful not to be mislead by C++ language variable names.
-  For instance, in the following example the linear expressions
-  <CODE>e1</CODE> and <CODE>e2</CODE> are equivalent,
-  since the two variables <CODE>x</CODE> and <CODE>z</CODE> denote
-  the same Cartesian axis.
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(0);
-  Linear_Expression e1 = x + y;
-  Linear_Expression e2 = y + z;
-  \endcode
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 1. */
+/* Helper classes for intervals.
 */
-class Parma_Polyhedra_Library::Variable {
-
-public:
-  //! Builds the variable corresponding to the Cartesian axis of index \p i.
-  /*!
-    \exception std::length_error
-    Thrown if <CODE>i+1</CODE> exceeds
-    <CODE>Variable::max_space_dimension()</CODE>.
-  */
-  explicit Variable(dimension_type i);
 
-  //! Returns the index of the Cartesian axis associated to the variable.
-  dimension_type id() const;
 
-  //! Returns the maximum space dimension a Variable can handle.
-  static dimension_type max_space_dimension();
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 28. */
+#include <cstdlib>
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  /*!
-    The returned value is <CODE>id()+1</CODE>.
-  */
-  dimension_type space_dimension() const;
+/* Automatically generated from PPL source file ../src/intervals.defs.hh line 31. */
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+namespace Parma_Polyhedra_Library {
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The result of an operation on intervals.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+enum I_Result {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_EMPTY = 1U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may have only one value.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_SINGLETON = 2U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief \hideinitializer
+    Result may have more than one value, but it is not the domain universe.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_SOME = 4U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be the domain universe.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_UNIVERSE = 8U,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty or not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_ANY = I_EMPTY | I_NOT_EMPTY,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result may be empty or not empty.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is neither empty nor the domain universe.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_NOT_DEGENERATE = I_SINGLETON | I_SOME,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is definitely exact.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_EXACT = 16,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Result is definitely inexact.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_INEXACT = 32,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation has definitely changed the set.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_CHANGED = 64,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation has left the set definitely unchanged.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_UNCHANGED = 128,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \hideinitializer Operation is undefined for some combination of values.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  I_SINGULARITIES = 256
+};
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+inline I_Result
+operator|(I_Result a, I_Result b) {
+  return static_cast<I_Result>(static_cast<unsigned>(a)
+                               | static_cast<unsigned>(b));
+}
 
-  //! Type of output functions.
-  typedef void output_function_type(std::ostream& s, const Variable& v);
+inline I_Result
+operator&(I_Result a, I_Result b) {
+  return static_cast<I_Result>(static_cast<unsigned>(a)
+                               & static_cast<unsigned>(b));
+}
 
-  //! Sets the output function to be used for printing Variable objects.
-  static void set_output_function(output_function_type* p);
+inline I_Result
+operator-(I_Result a, I_Result b) {
+    return static_cast<I_Result>(static_cast<unsigned>(a)
+                                 & ~static_cast<unsigned>(b));
+}
 
-  //! Returns the pointer to the current output function.
-  static output_function_type* get_output_function();
+template <typename Criteria, typename T>
+struct Use_By_Ref;
 
-  //! Binary predicate defining the total ordering on variables.
-  /*! \ingroup PPL_CXX_interface */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(Variable x, Variable y) const;
-  };
+struct Use_Slow_Copy;
+template <typename T>
+struct Use_By_Ref<Use_Slow_Copy, T>
+  : public Bool<Slow_Copy<T>::value> {
+};
 
-private:
-  //! The index of the Cartesian axis.
-  dimension_type varid;
+struct By_Value;
+template <typename T>
+struct Use_By_Ref<By_Value, T>
+  : public False {
+};
 
-  // The initialization class needs to set the default output function.
-  friend class Init;
+struct By_Ref;
+template <typename T>
+struct Use_By_Ref<By_Ref, T>
+  : public True {
+};
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Variable& v);
+template <typename T, typename Criteria = Use_Slow_Copy, typename Enable = void>
+class Val_Or_Ref;
 
-  //! Pointer to the current output function.
-  static output_function_type* current_output_function;
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<!Use_By_Ref<Criteria, T>::value>::type> {
+  T value;
+public:
+  typedef T Arg_Type;
+  typedef T Return_Type;
+  Val_Or_Ref()
+    : value() {
+  }
+  explicit Val_Or_Ref(Arg_Type v, bool = false)
+    : value(v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    value = v;
+    return *this;
+  }
+  void set(Arg_Type v, bool = false) {
+    value = v;
+  }
+  Return_Type get() const {
+    return value;
+  }
+  operator Return_Type () const {
+    return get();
+  }
+};
 
-  //! The default output function.
-  static void default_output_function(std::ostream& s, const Variable& v);
+template <typename T, typename Criteria>
+class Val_Or_Ref<T, Criteria,
+		 typename Enable_If<Use_By_Ref<Criteria, T>::value>::type> {
+  const T* ptr;
+public:
+  typedef T& Arg_Type;
+  typedef const T& Return_Type;
+  Val_Or_Ref()
+    : ptr(0) {
+  }
+  explicit Val_Or_Ref(Arg_Type v)
+    : ptr(&v) {
+  }
+  Val_Or_Ref(const T& v, bool)
+    : ptr(&v) {
+  }
+  Val_Or_Ref& operator=(Arg_Type v) {
+    ptr = &v;
+    return *this;
+  }
+  void set(Arg_Type v) {
+    ptr = &v;
+  }
+  void set(const T& v, bool) {
+    ptr = &v;
+  }
+  Return_Type get() const {
+    return *ptr;
+  }
+  operator Return_Type () const {
+    return get();
+  }
 };
 
-/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 1. */
-/* Variable class implementation: inline functions.
-*/
+class I_Constraint_Base {
+};
 
+template <typename Derived>
+class I_Constraint_Common : public I_Constraint_Base {
+public:
+  template <typename T>
+  Result convert_real(T& to) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result r = c.rel();
+    switch (r) {
+    case V_EMPTY:
+    case V_LGE:
+      return r;
+    case V_LE:
+      r = assign_r(to, c.value(), (ROUND_UP | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_LE;
+      goto lt;
+    case V_LT:
+      r = assign_r(to, c.value(), ROUND_UP);
+      r = result_relation_class(r);
+    lt:
+      switch (r) {
+      case V_EMPTY:
+      case V_LT_PLUS_INFINITY:
+      case V_EQ_MINUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_LT;
+      default:
+	break;
+      }
+      break;
+    case V_GE:
+      r = assign_r(to, c.value(), (ROUND_DOWN | ROUND_STRICT_RELATION));
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_GE;
+      goto gt;
+    case V_GT:
+      r = assign_r(to, c.value(), ROUND_DOWN);
+      r = result_relation_class(r);
+    gt:
+      switch (r) {
+      case V_EMPTY:
+      case V_GT_MINUS_INFINITY:
+      case V_EQ_PLUS_INFINITY:
+	return r;
+      case V_LT:
+      case V_LE:
+      case V_EQ:
+	return V_GT;
+      default:
+	break;
+      }
+      break;
+    case V_EQ:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      PPL_ASSERT(r != V_LT && r != V_GT);
+      if (r == V_EQ)
+	return V_EQ;
+      else
+	return V_EMPTY;
+    case V_NE:
+      r = assign_r(to, c.value(), ROUND_CHECK);
+      r = result_relation_class(r);
+      if (r == V_EQ)
+	return V_NE;
+      else
+	return V_LGE;
+    default:
+      break;
+    }
+    PPL_UNREACHABLE;
+    return V_EMPTY;
+  }
+  template <typename T>
+  Result convert_real(T& to1, Result& rel2, T& to2) const {
+    const Derived& c = static_cast<const Derived&>(*this);
+    Result rel1;
+    if (c.rel() != V_EQ) {
+      rel2 = convert(to2);
+      return V_LGE;
+    }
+    rel2 = assign_r(to2, c.value(), ROUND_UP);
+    rel2 = result_relation_class(rel2);
+    switch (rel2) {
+    case V_EMPTY:
+    case V_EQ_MINUS_INFINITY:
+    case V_EQ:
+      return V_LGE;
+    default:
+      break;
+    }
+    rel1 = assign_r(to1, c.value(), ROUND_DOWN);
+    rel1 = result_relation_class(rel1);
+    switch (rel1) {
+    case V_EQ:
+      PPL_ASSERT(rel2 == V_LE);
+      goto eq;
+    case V_EQ_PLUS_INFINITY:
+    case V_EMPTY:
+      rel2 = rel1;
+      return V_LGE;
+    case V_GE:
+      if (rel2 == V_LE && to1 == to2) {
+      eq:
+	rel2 = V_EQ;
+	return V_LGE;
+      }
+      /* Fall through*/
+    case V_GT:
+    case V_GT_MINUS_INFINITY:
+      return rel1;
+    default:
+      PPL_UNREACHABLE;
+      return V_EMPTY;
+    }
+    switch (rel2) {
+    case V_LE:
+    case V_LT:
+    case V_LT_PLUS_INFINITY:
+      return rel1;
+    default:
+      PPL_UNREACHABLE;
+      return V_EMPTY;
+    }
+  }
+  template <typename T>
+  Result convert_integer(T& to) const {
+    Result rel = convert_real(to);
+    switch (rel) {
+    case V_LT:
+      if (is_integer(to)) {
+	rel = sub_assign_r(to, to, T(1), (ROUND_UP | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return (rel == V_EQ) ? V_LE : rel;
+      }
+      /* Fall through */
+    case V_LE:
+      rel = floor_assign_r(to, to, ROUND_UP);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_LE;
+    case V_GT:
+      if (is_integer(to)) {
+	rel = add_assign_r(to, to, T(1), (ROUND_DOWN | ROUND_STRICT_RELATION));
+	rel = result_relation_class(rel);
+	return (rel == V_EQ) ? V_GE : rel;
+      }
+      /* Fall through */
+    case V_GE:
+      rel = ceil_assign_r(to, to, ROUND_DOWN);
+      rel = result_relation_class(rel);
+      PPL_ASSERT(rel == V_EQ);
+      return V_GE;
+    case V_EQ:
+      if (is_integer(to))
+	return V_EQ;
+      return V_EMPTY;
+    case V_NE:
+      if (is_integer(to))
+	return V_NE;
+      return V_LGE;
+    default:
+      return rel;
+    }
+  }
+};
 
-/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 28. */
-#include <stdexcept>
+struct I_Constraint_Rel {
+  Result rel;
+  I_Constraint_Rel(Result r)
+    : rel(r) {
+    PPL_ASSERT(result_relation_class(r) == r);
+  }
+  I_Constraint_Rel(Relation_Symbol r)
+    : rel(static_cast<Result>(r)) {
+  }
+  operator Result() const {
+    return rel;
+  }
+};
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Val_Or_Ref_Criteria = Use_Slow_Copy,
+	  bool extended = false>
+class I_Constraint
+  : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria,
+                                            extended> > {
+  typedef Val_Or_Ref<T, Val_Or_Ref_Criteria> Val_Ref;
+  typedef typename Val_Ref::Arg_Type Arg_Type;
+  typedef typename Val_Ref::Return_Type Return_Type;
+  Result rel_;
+  Val_Ref value_;
+public:
+  typedef T value_type;
+  explicit I_Constraint()
+    : rel_(V_LGE) {
+  }
+  I_Constraint(I_Constraint_Rel r, Arg_Type v)
+    : rel_(r), value_(v) {
+  }
+  I_Constraint(I_Constraint_Rel r, const T& v, bool force)
+    : rel_(r), value_(v, force) {
+  }
+  template <typename U>
+  I_Constraint(I_Constraint_Rel r, const U& v)
+    : rel_(r), value_(v) {
+  }
+  void set(I_Constraint_Rel r, Arg_Type v) {
+    rel_ =  r;
+    value_.set(v);
+  }
+  void set(I_Constraint_Rel r, const T& v, bool force) {
+    rel_ =  r;
+    value_.set(v, force);
+  }
+  template <typename U>
+  void set(I_Constraint_Rel r, const U& v) {
+    rel_ = r;
+    value_.set(v);
+  }
+  Return_Type value() const {
+    return value_;
+  }
+  Result rel() const {
+    return rel_;
+  }
+};
 
-inline dimension_type
-Variable::max_space_dimension() {
-  return not_a_dimension() - 1;
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v) {
+  return I_Constraint<T>(rel, v);
 }
 
-inline
-Variable::Variable(dimension_type i)
-  : varid(i < max_space_dimension()
-	  ? i
-	  : (throw std::length_error("PPL::Variable::Variable(i):\n"
-				     "i exceeds the maximum allowed "
-				     "variable identifier."), i)) {
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force) {
+  return I_Constraint<T>(rel, v, force);
 }
 
-inline dimension_type
-Variable::id() const {
-  return varid;
+template <typename T>
+inline I_Constraint<T>
+i_constraint(I_Constraint_Rel rel, T& v) {
+  return I_Constraint<T>(rel, v);
 }
 
-inline dimension_type
-Variable::space_dimension() const {
-  return varid + 1;
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
 }
 
-inline memory_size_type
-Variable::external_memory_in_bytes() const {
-  return 0;
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, const T& v, bool force,
+             const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v, force);
 }
 
-inline memory_size_type
-Variable::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+template <typename T, typename Val_Or_Ref_Criteria>
+inline I_Constraint<T, Val_Or_Ref_Criteria>
+i_constraint(I_Constraint_Rel rel, T& v, const Val_Or_Ref_Criteria&) {
+  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
 }
 
-inline void
-Variable::set_output_function(output_function_type* p) {
-  current_output_function = p;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline Variable::output_function_type*
-Variable::get_output_function() {
-  return current_output_function;
-}
-
-/*! \relates Variable */
-inline bool
-less(const Variable v, const Variable w) {
-  return v.id() < w.id();
-}
-
-inline bool
-Variable::Compare::operator()(const Variable x, const Variable y) const {
-  return less(x, y);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 148. */
-
-/* Automatically generated from PPL source file ../src/Constraint_System.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Interval.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-class Constraint_System;
+template <typename Boundary, typename Info>
+class Interval;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Generator_System.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 1. */
+/* Interval_Info class declaration and implementation.
+*/
 
-class Generator_System;
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 1. */
+/* Interval boundary functions.
+*/
 
-/* Automatically generated from PPL source file ../src/Congruence_System.types.hh line 1. */
 
+/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
-class Congruence_System;
+namespace Boundary_NS {
 
-}
+struct Property {
+  enum Type {
+    SPECIAL_,
+    OPEN_,
+  };
+  typedef bool Value;
+  static const Value default_value = true;
+  static const Value unsupported_value = false;
+  Property(Type t)
+    : type(t) {
+  }
+  Type type;
+};
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.types.hh line 1. */
+static const Property SPECIAL(Property::SPECIAL_);
+static const Property OPEN(Property::OPEN_);
 
+enum Boundary_Type {
+  LOWER = ROUND_DOWN,
+  UPPER = ROUND_UP
+};
 
-namespace Parma_Polyhedra_Library {
+inline Rounding_Dir
+round_dir_check(Boundary_Type t, bool check = false) {
+  if (check)
+    return static_cast<Rounding_Dir>(t) | ROUND_STRICT_RELATION;
+  else
+    return static_cast<Rounding_Dir>(t);
+}
 
-class Grid_Generator_System;
+template <typename T, typename Info>
+inline Result
+special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
+  PPL_ASSERT(Info::store_special);
+  info.set_boundary_property(type, SPECIAL);
+  return V_EQ;
+}
 
+template <typename T, typename Info>
+inline bool
+special_is_open(Boundary_Type, const T&, const Info&) {
+  return !Info::may_contain_infinity;
 }
 
-/* Automatically generated from PPL source file ../src/Polyhedron.types.hh line 1. */
+template <typename T, typename Info>
+inline bool
+normal_is_open(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_open)
+    return info.get_boundary_property(type, OPEN);
+  else
+    return !Info::store_special && !Info::may_contain_infinity
+      && normal_is_boundary_infinity(type, x, info);
+}
 
+template <typename T, typename Info>
+inline bool
+is_open(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_open)
+    return info.get_boundary_property(type, OPEN);
+  else
+    return !Info::may_contain_infinity
+      && is_boundary_infinity(type, x, info);
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Info>
+inline Result
+set_unbounded(Boundary_Type type, T& x, Info& info) {
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::is_bounded
+                         || std::numeric_limits<T>::has_infinity,
+                         "unbounded is not representable");
+  Result r;
+  if (Info::store_special)
+    r = special_set_boundary_infinity(type, x, info);
+  else if (type == LOWER)
+    r = assign_r(x, MINUS_INFINITY, ROUND_UP);
+  else
+    r = assign_r(x, PLUS_INFINITY, ROUND_DOWN);
+  if (result_relation(r) == VR_EQ && !Info::may_contain_infinity)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-class Polyhedron;
+template <typename T, typename Info>
+inline Result
+set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  /*
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
+  */
+  if (open) {
+    PPL_ASSERT(type == LOWER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
+  Result r;
+  if (Info::store_special) {
+    PPL_ASSERT(type == LOWER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else {
+    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T, typename Info>
+inline Result
+set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  /*
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
+  */
+  if (open) {
+    PPL_ASSERT(type == UPPER);
+  }
+  else {
+    PPL_ASSERT(Info::may_contain_infinity);
+  }
+  Result r;
+  if (Info::store_special) {
+    PPL_ASSERT(type == UPPER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else {
+    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
+    PPL_ASSERT(result_representable(r));
+  }
+  if (open || result_relation(r) != VR_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-/* Automatically generated from PPL source file ../src/Grid.types.hh line 1. */
+template <typename T, typename Info>
+inline Result
+set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  PPL_ASSERT(open || Info::may_contain_infinity);
+  Result r;
+  if (Info::store_special)
+    r = special_set_boundary_infinity(type, x, info);
+  else if (type == LOWER)
+    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
+  else
+    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
+  PPL_ASSERT(result_representable(r));
+  if (open)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
+template <typename T, typename Info>
+inline bool
+is_domain_inf(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == LOWER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
+    return x == std::numeric_limits<T>::min();
+  else
+    return false;
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Info>
+inline bool
+is_domain_sup(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special && type == UPPER)
+    return info.get_boundary_property(type, SPECIAL);
+  else if (std::numeric_limits<T>::has_infinity)
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+  else if (std::numeric_limits<T>::is_bounded)
+      return x == std::numeric_limits<T>::max();
+  else
+    return false;
+}
 
-class Grid;
+template <typename T, typename Info>
+inline bool
+normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (!std::numeric_limits<T>::has_infinity)
+    return false;
+  if (type == LOWER)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T, typename Info>
+inline bool
+is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special)
+    return info.get_boundary_property(type, SPECIAL);
+  else
+    return normal_is_boundary_infinity(type, x, info);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 42. */
-#include <cstddef>
+template <typename T, typename Info>
+inline bool
+normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (!Info::may_contain_infinity)
+    return false;
+  else if (type == LOWER)
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+  else
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+}
 
-namespace Parma_Polyhedra_Library {
-// Put them in the namespace here to declare them friend later.
+template <typename T, typename Info>
+inline bool
+is_minus_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (type == LOWER) {
+    if (Info::store_special)
+      return info.get_boundary_property(type, SPECIAL);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-//! Returns the linear expression \p e1 + \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+template <typename T, typename Info>
+inline bool
+is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
+  if (type == UPPER) {
+    if (Info::store_special)
+      return info.get_boundary_property(type, SPECIAL);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-//! Returns the linear expression \p v + \p w.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Variable v, Variable w);
+template <typename T, typename Info>
+inline bool
+is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
+  return normal_is_reverse_infinity(type, x, info);
+}
 
-//! Returns the linear expression \p v + \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Variable v, const Linear_Expression& e);
+template <typename T, typename Info>
+inline int
+infinity_sign(Boundary_Type type, const T& x, const Info& info) {
+  if (is_boundary_infinity(type, x, info))
+    return (type == LOWER) ? -1 : 1;
+  else if (is_reverse_infinity(type, x, info))
+    return (type == UPPER) ? -1 : 1;
+  else
+    return 0;
+}
 
-//! Returns the linear expression \p e + \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e, Variable v);
+template <typename T, typename Info>
+inline bool
+is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) {
+  return Info::may_contain_infinity
+    && !info.get_boundary_property(type, OPEN)
+    && is_boundary_infinity(type, x, info);
+}
 
-//! Returns the linear expression \p n + \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Info>
+inline bool
+boundary_infinity_is_open(Boundary_Type type, const Info& info) {
+  return !Info::may_contain_infinity
+    || info.get_boundary_property(type, OPEN);
+}
 
-//! Returns the linear expression \p e + \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename T, typename Info>
+inline int
+sgn_b(Boundary_Type type, const T& x, const Info& info) {
+  if (info.get_boundary_property(type, SPECIAL))
+    return (type == LOWER) ? -1 : 1;
+  else
+    // The following Parma_Polyhedra_Library:: qualification is to work
+    // around a bug of GCC 4.0.x.
+    return Parma_Polyhedra_Library::sgn(x);
+}
 
-//! Returns the linear expression \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e);
+template <typename T, typename Info>
+inline int
+sgn(Boundary_Type type, const T& x, const Info& info) {
+  int sign = sgn_b(type, x, info);
+  if (x == 0 && info.get_boundary_property(type, OPEN))
+    return (type == LOWER) ? -1 : 1;
+  else
+    return sign;
+}
 
-//! Returns the linear expression - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+eq(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (type1 == type2) {
+    if (is_open(type1, x1, info1)
+	!= is_open(type2, x2, info2))
+      return false;
+  }
+  else if (is_open(type1, x1, info1)
+	   || is_open(type2, x2, info2))
+    return false;
+  if (is_minus_infinity(type1, x1, info1))
+    return is_minus_infinity(type2, x2, info2);
+  else if (is_plus_infinity(type1, x1, info1))
+    return is_plus_infinity(type2, x2, info2);
+  else if (is_minus_infinity(type2, x2, info2)
+           || is_plus_infinity(type2, x2, info2))
+    return false;
+  else
+    return equal(x1, x2);
+}
 
-//! Returns the linear expression \p e1 - \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+lt(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (is_open(type1, x1, info1)) {
+    if (type1 == UPPER
+	&& (type2 == LOWER
+	    || !is_open(type2, x2, info2)))
+      goto le;
+  }
+  else if (type2 == LOWER
+	   && is_open(type2, x2, info2)) {
+  le:
+    if (is_minus_infinity(type1, x1, info1)
+	|| is_plus_infinity(type2, x2, info2))
+      return true;
+    if (is_plus_infinity(type1, x1, info1)
+	|| is_minus_infinity(type2, x2, info2))
+      return false;
+    else
+      return less_or_equal(x1, x2);
+  }
+  if (is_plus_infinity(type1, x1, info1)
+      || is_minus_infinity(type2, x2, info2))
+    return false;
+  if (is_minus_infinity(type1, x1, info1)
+      || is_plus_infinity(type2, x2, info2))
+    return true;
+  else
+    return less_than(x1, x2);
+}
 
-//! Returns the linear expression \p v - \p w.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, Variable w);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+gt(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return lt(type2, x2, info2, type1, x1, info1);
+}
 
-//! Returns the linear expression \p v - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, const Linear_Expression& e);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+le(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return !gt(type1, x1, info1, type2, x2, info2);
+}
 
-//! Returns the linear expression \p e - \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Variable v);
+template <typename T1, typename Info1, typename T2, typename Info2>
+inline bool
+ge(Boundary_Type type1, const T1& x1, const Info1& info1,
+   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  return !lt(type1, x1, info1, type2, x2, info2);
+}
 
-//! Returns the linear expression \p n - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename T, typename Info>
+inline Result
+adjust_boundary(Boundary_Type type, T& x, Info& info,
+		bool open, Result r) {
+  r = result_relation_class(r);
+  if (type == LOWER) {
+    switch (r) {
+    case V_GT_MINUS_INFINITY:
+      open = true;
+      /* Fall through */
+    case V_EQ_MINUS_INFINITY:
+      if (!Info::store_special)
+	return r;
+      if (open)
+	info.set_boundary_property(type, OPEN);
+      return special_set_boundary_infinity(type, x, info);
+    case V_GT:
+      open = true;
+      /* Fall through */
+    case V_GE:
+    case V_EQ:
+      if (open)
+        info.set_boundary_property(type, OPEN);
+      return r;
+    default:
+      PPL_UNREACHABLE;
+      return V_NAN;
+    }
+  }
+  else {
+    switch (r) {
+    case V_LT_PLUS_INFINITY:
+      open = true;
+      /* Fall through */
+    case V_EQ_PLUS_INFINITY:
+      if (!Info::store_special)
+	return r;
+      if (open)
+	info.set_boundary_property(type, OPEN);
+      return special_set_boundary_infinity(type, x, info);
+    case V_LT:
+      open = true;
+      /* Fall through */
+    case V_LE:
+    case V_EQ:
+      if (open)
+        info.set_boundary_property(type, OPEN);
+      return r;
+    default:
+      PPL_UNREACHABLE;
+      return V_NAN;
+    }
+  }
+}
 
-//! Returns the linear expression \p e - \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+complement(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  PPL_ASSERT(to_type != type);
+  bool should_shrink;
+  if (info.get_boundary_property(type, SPECIAL)) {
+    should_shrink = !special_is_open(type, x, info);
+    if (type == LOWER)
+      return set_minus_infinity(to_type, to, to_info, should_shrink);
+    else
+      return set_plus_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = !normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-//! Returns the linear expression \p n * \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+assign(Boundary_Type to_type, To& to, To_Info& to_info,
+       Boundary_Type type, const T& x, const Info& info,
+       bool should_shrink = false) {
+  PPL_ASSERT(to_type == type);
+  if (info.get_boundary_property(type, SPECIAL)) {
+    should_shrink = (should_shrink || special_is_open(type, x, info));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (should_shrink || normal_is_open(type, x, info));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-//! Returns the linear expression \p e * \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the linear expression \p e1 + \p e2 and assigns it to \p e1.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator+=(Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the linear expression \p e + \p v and assigns it to \p e.
-/*! \relates Linear_Expression
-  \exception std::length_error
-  Thrown if the space dimension of \p v exceeds
-  <CODE>Linear_Expression::max_space_dimension()</CODE>.
- */
-Linear_Expression&
-operator+=(Linear_Expression& e, Variable v);
-
-//! Returns the linear expression \p e + \p n and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the linear expression \p e1 - \p e2 and assigns it to \p e1.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator-=(Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the linear expression \p e - \p v and assigns it to \p e.
-/*! \relates Linear_Expression
-  \exception std::length_error
-  Thrown if the space dimension of \p v exceeds
-  <CODE>Linear_Expression::max_space_dimension()</CODE>.
- */
-Linear_Expression&
-operator-=(Linear_Expression& e, Variable v);
-
-//! Returns the linear expression \p e - \p n and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the linear expression \p n * \p e and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the linear expression \p e + \p n * \p v and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-add_mul_assign(Linear_Expression& e,
-               Coefficient_traits::const_reference n, Variable v);
-
-//! Returns the linear expression \p e - \p n * \p v and assigns it to \p e.
-/*! \relates Linear_Expression */
-Linear_Expression&
-sub_mul_assign(Linear_Expression& e,
-               Coefficient_traits::const_reference n, Variable v);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  if (lt(type, x, info, to_type, to, to_info)) {
+    to_info.clear_boundary_properties(to_type);
+    return assign(to_type, to, to_info, type, x, info);
+  }
+  return V_EQ;
+}
 
-namespace IO_Operators {
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (lt(type1, x1, info1, type2, x2, info2))
+    return assign(to_type, to, to_info, type1, x1, info1);
+  else
+    return assign(to_type, to, to_info, type2, x2, info2);
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  if (gt(type, x, info, to_type, to, to_info)) {
+    to_info.clear_boundary_properties(to_type);
+    return assign(to_type, to, to_info, type, x, info);
+  }
+  return V_EQ;
+}
 
-} // namespace IO_Operators
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  if (gt(type1, x1, info1, type2, x2, info2))
+    return assign(to_type, to, to_info, type1, x1, info1);
+  else
+    return assign(to_type, to, to_info, type2, x2, info2);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type, const T& x, const Info& info) {
+  PPL_ASSERT(to_type != type);
+  bool should_shrink;
+  if (info.get_boundary_property(type, SPECIAL)) {
+    should_shrink = special_is_open(type, x, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = neg_assign_r(to, x, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  PPL_ASSERT(type1 == type2);
+  bool should_shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  // FIXME: extended handling is not needed
+  Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-namespace std {
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  PPL_ASSERT(type1 != type2);
+  bool should_shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  // FIXME: extended handling is not needed
+  Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-void swap(Parma_Polyhedra_Library::Linear_Expression& x,
-	  Parma_Polyhedra_Library::Linear_Expression& y);
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  bool should_shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    should_shrink = (boundary_infinity_is_open(type1, info1)
+                     && !is_boundary_infinity_closed(type2, x2, info2));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    should_shrink = (boundary_infinity_is_open(type2, info2)
+                     && !is_boundary_infinity_closed(type1, x1, info1));
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  // FIXME: extended handling is not needed
+  Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-} // namespace std
+template <typename To, typename To_Info>
+inline Result
+set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool should_shrink) {
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-//! A linear expression.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Linear_Expression represents the linear expression
-  \f[
-    \sum_{i=0}^{n-1} a_i x_i + b
-  \f]
-  where \f$n\f$ is the dimension of the vector space,
-  each \f$a_i\f$ is the integer coefficient
-  of the \f$i\f$-th variable \f$x_i\f$
-  and \f$b\f$ is the integer for the inhomogeneous term.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
+	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
+	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
+  bool should_shrink;
+  if (x1s != 0) {
+    if (x2s != 0)
+      return mul_assign(to_type, to, to_info,
+			type1, x1, info1,
+			type2, x2, info2);
+    else
+      should_shrink = info2.get_boundary_property(type2, OPEN);
+  }
+  else {
+    should_shrink = (info1.get_boundary_property(type1, OPEN)
+                     && (x2s != 0 || info2.get_boundary_property(type2, OPEN)));
+  }
+  return set_zero(to_type, to, to_info, should_shrink);
+}
 
-  \par How to build a linear expression.
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+	   Boundary_Type type1, const T1& x1, const Info1& info1,
+	   Boundary_Type type2, const T2& x2, const Info2& info2) {
+  bool should_shrink;
+  if (is_boundary_infinity(type1, x1, info1)) {
+    should_shrink = boundary_infinity_is_open(type1, info1);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  else if (is_boundary_infinity(type2, x2, info2)) {
+    should_shrink = boundary_infinity_is_open(type2, info2);
+    return set_zero(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = (normal_is_open(type1, x1, info1)
+                   || normal_is_open(type2, x2, info2));
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
+  // FIXME: extended handling is not needed
+  Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-  Linear expressions are the basic blocks for defining
-  both constraints (i.e., linear equalities or inequalities)
-  and generators (i.e., lines, rays, points and closure points).
-  A full set of functions is defined to provide a convenient interface
-  for building complex linear expressions starting from simpler ones
-  and from objects of the classes Variable and Coefficient:
-  available operators include unary negation,
-  binary addition and subtraction,
-  as well as multiplication by a Coefficient.
-  The space dimension of a linear expression is defined as the maximum
-  space dimension of the arguments used to build it:
-  in particular, the space dimension of a Variable <CODE>x</CODE>
-  is defined as <CODE>x.id()+1</CODE>,
-  whereas all the objects of the class Coefficient have space dimension zero.
 
-  \par Example
-  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
-  having space dimension \f$3\f$:
-  \code
-  Linear_Expression e = 4*x - 2*y - z + 14;
-  \endcode
-  Another way to build the same linear expression is:
-  \code
-  Linear_Expression e1 = 4*x;
-  Linear_Expression e2 = 2*y;
-  Linear_Expression e3 = z;
-  Linear_Expression e = Linear_Expression(14);
-  e += e1 - e2 - e3;
-  \endcode
-  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
-  respectively; also, in the fourth line of code, \p e is created
-  with space dimension zero and then extended to space dimension 3
-  in the fifth line.
-*/
-class Parma_Polyhedra_Library::Linear_Expression : private Linear_Row {
-public:
-  //! Default constructor: returns a copy of Linear_Expression::zero().
-  Linear_Expression();
+template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
+inline Result
+div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
+	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
+	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
+  if (x1s != 0) {
+    if (x2s != 0)
+      return div_assign(to_type, to, to_info,
+			type1, x1, info1,
+			type2, x2, info2);
+    else {
+      return set_boundary_infinity(to_type, to, to_info, true);
+    }
+  }
+  else {
+    bool should_shrink = info1.get_boundary_property(type1, OPEN)
+      && !is_boundary_infinity_closed(type2, x2, info2);
+    return set_zero(to_type, to, to_info, should_shrink);
+  }
+}
 
-  //! Ordinary copy constructor.
-  Linear_Expression(const Linear_Expression& e);
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool should_shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    should_shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-  //! Destructor.
-  ~Linear_Expression();
+template <typename To, typename To_Info, typename T, typename Info>
+inline Result
+smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
+		 Boundary_Type type, const T& x, const Info& info,
+		 unsigned int exp) {
+  PPL_ASSERT(to_type == type);
+  bool should_shrink;
+  if (is_boundary_infinity(type, x, info)) {
+    should_shrink = boundary_infinity_is_open(type, info);
+    return set_boundary_infinity(to_type, to, to_info, should_shrink);
+  }
+  should_shrink = normal_is_open(type, x, info);
+  bool check = (To_Info::check_inexact || (!should_shrink && To_Info::store_open));
+  Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
+  return adjust_boundary(to_type, to, to_info, should_shrink, r);
+}
 
-  /*! \brief
-    Builds the linear expression corresponding
-    to the inhomogeneous term \p n.
-  */
-  explicit Linear_Expression(Coefficient_traits::const_reference n);
+} // namespace Boundary_NS
 
-  //! Builds the linear expression corresponding to the variable \p v.
-  /*!
-    \exception std::length_error
-    Thrown if the space dimension of \p v exceeds
-    <CODE>Linear_Expression::max_space_dimension()</CODE>.
-  */
-  Linear_Expression(Variable v);
+} // namespace Parma_Polyhedra_Library
 
-  //! Builds the linear expression corresponding to constraint \p c.
-  /*!
-    Given the constraint
-    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
-    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
-    If \p c is an inequality (resp., equality) constraint, then
-    the built linear expression is unique up to a positive
-    (resp., non-zero) factor.
-  */
-  explicit Linear_Expression(const Constraint& c);
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 28. */
 
-  /*! \brief
-    Builds the linear expression corresponding to generator \p g
-    (for points and closure points, the divisor is not copied).
+#include <iostream>
 
-    Given the generator
-    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
-    (where, for lines and rays, we have \f$d = 1\f$),
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
-    The inhomogeneous term of the linear expression will always be 0.
-    If \p g is a ray, point or closure point (resp., a line), then
-    the linear expression is unique up to a positive
-    (resp., non-zero) factor.
-  */
-  explicit Linear_Expression(const Generator& g);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Builds the linear expression corresponding to grid generator \p g
-    (for points, parameters and lines the divisor is not copied).
+namespace Interval_NS {
 
-    Given the grid generator
-    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
-    The inhomogeneous term of the linear expression is always 0.
-  */
-  explicit Linear_Expression(const Grid_Generator& g);
+struct Property {
+  enum Type {
+    CARDINALITY_0_,
+    CARDINALITY_1_,
+    CARDINALITY_IS_
+  };
+  typedef bool Value;
+  static const Value default_value = true;
+  static const Value unsupported_value = false;
+  Property(Type t)
+    : type(t) {
+  }
+  Type type;
+};
 
-  //! Builds the linear expression corresponding to congruence \p cg.
-  /*!
-    Given the congruence
-    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
-    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
-  */
-  explicit Linear_Expression(const Congruence& cg);
+const Property CARDINALITY_0(Property::CARDINALITY_0_);
+const Property CARDINALITY_1(Property::CARDINALITY_1_);
+const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
 
-  //! Returns the maximum space dimension a Linear_Expression can handle.
-  static dimension_type max_space_dimension();
+template <typename T>
+inline void
+reset_bits(T& bits) {
+  bits = 0;
+}
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+template <typename T>
+inline void
+reset_bit(T& bits, unsigned int bit) {
+  bits &= ~(static_cast<T>(1) << bit);
+}
 
-  //! Returns the coefficient of \p v in \p *this.
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+template <typename T>
+inline void
+set_bit(T& bits, unsigned int bit, bool value) {
+  if (value)
+    bits |= static_cast<T>(1) << bit;
+  else
+    reset_bit(bits, bit);
+}
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+template <typename T>
+inline bool
+get_bit(const T& bits, unsigned int bit) {
+  return (bits & (static_cast<T>(1) << bit)) != 0;
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
-  bool is_zero() const;
+template <typename T>
+inline void
+set_bits(T& bits, unsigned int start, unsigned int len, T value) {
+  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
+  bits |= value << start;
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous
-    terms of \p *this are \f$0\f$.
-  */
-  bool all_homogeneous_terms_are_zero() const;
+template <typename T>
+inline T
+get_bits(T& bits, unsigned int start, unsigned int len) {
+  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
+}
 
-  //! Initializes the class.
-  static void initialize();
+} // namespace Interval_NS
 
-  //! Finalizes the class.
-  static void finalize();
+using namespace Interval_NS;
+using namespace Boundary_NS;
 
-  //! Returns the (zero-dimension space) constant 0.
-  static const Linear_Expression& zero();
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+template <typename Policy>
+class Interval_Info_Null {
+public:
+  const_bool_nodef(may_be_empty, Policy::may_be_empty);
+  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
+  const_bool_nodef(check_inexact, Policy::check_inexact);
+  const_bool_nodef(store_special, false);
+  const_bool_nodef(store_open, false);
+  const_bool_nodef(cache_empty, false);
+  const_bool_nodef(cache_singleton, false);
+  Interval_Info_Null() {
+  }
+  void clear() {
+  }
+  void clear_boundary_properties(Boundary_Type) {
+  }
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  template <typename Property>
+  void set_boundary_property(Boundary_Type, const Property&, typename Property::Value = Property::default_value) {
+  }
+  template <typename Property>
+  typename Property::Value get_boundary_property(Boundary_Type, const Property&) const {
+    return Property::unsupported_value;
+  }
+  template <typename Property>
+  void set_interval_property(const Property&, typename Property::Value = Property::default_value) {
+  }
+  template <typename Property>
+  typename Property::Value get_interval_property(const Property&) const {
+    return Property::unsupported_value;
+  }
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Swaps \p *this with \p y.
+  void m_swap(Interval_Info_Null& y);
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
+  void ascii_dump(std::ostream& s) const;
   bool ascii_load(std::istream& s);
+};
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+template <typename Policy>
+class Interval_Info_Null_Open : public Interval_Info_Null<Policy> {
+public:
+  const_bool_nodef(store_open, true);
+  Interval_Info_Null_Open(bool o)
+    : open(o) {
+  }
+  bool get_boundary_property(Boundary_Type,
+                             const Boundary_NS::Property& p) const {
+    if (p.type == Boundary_NS::Property::OPEN_)
+      return open;
+    else
+      return Boundary_NS::Property::unsupported_value;
+  }
 
-  //! Swaps \p *this with \p y.
-  void swap(Linear_Expression& y);
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
 private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the (zero-dimension space) constant 0.
-  */
-  static const Linear_Expression* zero_p;
-
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Generator;
-  // The following declaration grants access to Grid_Generator::parameter.
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  friend class Parma_Polyhedra_Library::Congruence;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid;
-
-  // FIXME: the following friend declaration is only to grant access to
-  // Constraint_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Constraint_System;
-
-  // FIXME: the following friend declaration is only to grant access to
-  // Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Generator_System;
-
-  // FIXME: the following friend declaration is only to grant access to
-  // Congruence_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Congruence_System;
-
-  // FIXME: the following friend declaration is only to grant access to
-  // Grid_Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
-
-  //! Copy constructor with a specified space dimension.
-  Linear_Expression(const Linear_Expression& e, dimension_type sz);
+  bool open;
+};
 
-  //! Implementation sizing constructor.
-  /*!
-    The bool parameter is just to avoid problems with
-    the constructor Linear_Expression(Coefficient_traits::const_reference n).
-  */
-  Linear_Expression(dimension_type sz, bool);
 
-  /*! \brief
-    Builds the linear expression corresponding to the difference of
-    \p v and \p w.
+template <typename T, typename Policy>
+class Interval_Info_Bitset {
+public:
+  const_bool_nodef(may_be_empty, Policy::may_be_empty);
+  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
+  const_bool_nodef(check_inexact, Policy::check_inexact);
+  const_bool_nodef(store_special, Policy::store_special);
+  const_bool_nodef(store_open, Policy::store_open);
+  const_bool_nodef(cache_empty, Policy::cache_empty);
+  const_bool_nodef(cache_singleton, Policy::cache_singleton);
+  const_int_nodef(lower_special_bit, Policy::next_bit);
+  const_int_nodef(lower_open_bit, lower_special_bit + (store_special ? 1 : 0));
+  const_int_nodef(upper_special_bit, lower_open_bit + (store_open ? 1 : 0));
+  const_int_nodef(upper_open_bit, upper_special_bit + (store_special ? 1 : 0));
+  const_int_nodef(cardinality_is_bit, upper_open_bit + (store_open ? 1 : 0));
+  const_int_nodef(cardinality_0_bit, cardinality_is_bit
+                  + ((cache_empty || cache_singleton) ? 1 : 0));
+  const_int_nodef(cardinality_1_bit, cardinality_0_bit + (cache_empty ? 1 : 0));
+  const_int_nodef(next_bit, cardinality_1_bit + (cache_singleton ? 1 : 0));
 
-    \exception std::length_error
-    Thrown if the space dimension of \p v or the one of \p w exceed
-    <CODE>Linear_Expression::max_space_dimension()</CODE>.
-  */
-  Linear_Expression(Variable v, Variable w);
+  Interval_Info_Bitset() {
+    // FIXME: would we have speed benefits with uninitialized info?
+    // (Dirty_Temp)
+    clear();
+  }
 
-  friend Linear_Expression
-  operator+(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression
-  operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Linear_Expression
-  operator+(Variable v, const Linear_Expression& e);
-  friend Linear_Expression
-  operator+(Variable v, Variable w);
-
-  friend Linear_Expression
-  operator-(const Linear_Expression& e);
-
-  friend Linear_Expression
-  operator-(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression
-  operator-(Variable v, Variable w);
-  friend Linear_Expression
-  operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Linear_Expression
-  operator-(Variable v, const Linear_Expression& e);
-  friend Linear_Expression
-  operator-(const Linear_Expression& e, Variable v);
-
-  friend Linear_Expression
-  operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
-  friend Linear_Expression
-  operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e, Variable v);
-  friend Linear_Expression&
-  operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
-
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e1, const Linear_Expression& e2);
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e, Variable v);
-  friend Linear_Expression&
-  operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  void clear() {
+    reset_bits(bitset);
+  }
+  void clear_boundary_properties(Boundary_Type t) {
+    set_boundary_property(t, SPECIAL, false);
+    set_boundary_property(t, OPEN, false);
+  }
+  void set_boundary_property(Boundary_Type t,
+                             const Boundary_NS::Property& p,
+                             bool value = true) {
+    switch (p.type) {
+    case Boundary_NS::Property::SPECIAL_:
+      if (store_special) {
+	if (t == LOWER)
+	  set_bit(bitset, lower_special_bit, value);
+	else
+	  set_bit(bitset, upper_special_bit, value);
+      }
+      break;
+    case Boundary_NS::Property::OPEN_:
+      if (store_open) {
+	if (t == LOWER)
+	  set_bit(bitset, lower_open_bit, value);
+	else
+	  set_bit(bitset, upper_open_bit, value);
+      }
+      break;
+    default:
+      break;
+    }
+  }
+  bool get_boundary_property(Boundary_Type t, const Boundary_NS::Property& p) const {
+    switch (p.type) {
+    case Boundary_NS::Property::SPECIAL_:
+      if (!store_special)
+	return false;
+      if (t == LOWER)
+	return get_bit(bitset, lower_special_bit);
+      else
+	return get_bit(bitset, upper_special_bit);
+    case Boundary_NS::Property::OPEN_:
+      if (!store_open)
+	return false;
+      else if (t == LOWER)
+	return get_bit(bitset, lower_open_bit);
+      else
+	return get_bit(bitset, upper_open_bit);
+    default:
+      return false;
+    }
+  }
+  void set_interval_property(const Interval_NS::Property& p, bool value = true) {
+    switch (p.type) {
+    case Interval_NS::Property::CARDINALITY_0_:
+      if (cache_empty)
+	set_bit(bitset, cardinality_0_bit, value);
+      break;
+    case Interval_NS::Property::CARDINALITY_1_:
+      if (cache_singleton)
+	set_bit(bitset, cardinality_1_bit, value);
+      break;
+    case Interval_NS::Property::CARDINALITY_IS_:
+      if (cache_empty || cache_singleton)
+	set_bit(bitset, cardinality_is_bit, value);
+      break;
+    default:
+      break;
+    }
+  }
+  bool get_interval_property(Interval_NS::Property p) const {
+    switch (p.type) {
+    case Interval_NS::Property::CARDINALITY_0_:
+      return cache_empty && get_bit(bitset, cardinality_0_bit);
+    case Interval_NS::Property::CARDINALITY_1_:
+      return cache_singleton && get_bit(bitset, cardinality_1_bit);
+    case Interval_NS::Property::CARDINALITY_IS_:
+      return (cache_empty || cache_singleton)
+        && get_bit(bitset, cardinality_is_bit);
+    default:
+      return false;
+    }
+  }
 
-  friend Linear_Expression&
-  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Swaps \p *this with \p y.
+  void m_swap(Interval_Info_Bitset& y);
 
-  friend Linear_Expression&
-  add_mul_assign(Linear_Expression& e,
-                 Coefficient_traits::const_reference n, Variable v);
-  friend Linear_Expression&
-  sub_mul_assign(Linear_Expression& e,
-                 Coefficient_traits::const_reference n, Variable v);
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s, const Linear_Expression& e);
+protected:
+  T bitset;
 };
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 1. */
-/* Linear_Expression class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 29. */
-#include <stdexcept>
-
-namespace Parma_Polyhedra_Library {
-
-inline dimension_type
-Linear_Expression::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
-}
-
-inline
-Linear_Expression::Linear_Expression()
-  : Linear_Row(1, Linear_Row::Flags()) {
-}
-
-inline
-Linear_Expression::Linear_Expression(dimension_type sz, bool)
-  : Linear_Row(sz, Linear_Row::Flags()) {
-}
-
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e)
-  : Linear_Row(e) {
-}
-
-inline
-Linear_Expression::~Linear_Expression() {
 }
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e,
-				     dimension_type sz)
-  : Linear_Row(e, sz, sz) {
-}
+/* Automatically generated from PPL source file ../src/Interval_Info.inlines.hh line 1. */
+/* Interval_Info class implementation: inline functions.
+*/
 
-inline
-Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
-  : Linear_Row(1, Linear_Row::Flags()) {
-  (*this)[0] = n;
-}
 
-inline dimension_type
-Linear_Expression::space_dimension() const {
-  return size() - 1;
-}
+#include <iomanip>
 
-inline Coefficient_traits::const_reference
-Linear_Expression::coefficient(Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    return Coefficient_zero();
-  return Linear_Row::coefficient(v.id());
-}
+namespace Parma_Polyhedra_Library {
 
-inline Coefficient_traits::const_reference
-Linear_Expression::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::m_swap(Interval_Info_Null<Policy>&) {
 }
 
-inline bool
-Linear_Expression::is_zero() const {
-  return Linear_Row::is_zero();
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::ascii_dump(std::ostream&) const {
 }
 
+template <typename Policy>
 inline bool
-Linear_Expression::all_homogeneous_terms_are_zero() const {
-  return Linear_Row::all_homogeneous_terms_are_zero();
-}
-
-inline const Linear_Expression&
-Linear_Expression::zero() {
-  PPL_ASSERT(zero_p != 0);
-  return *zero_p;
-}
-
-inline memory_size_type
-Linear_Expression::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
-}
-
-inline memory_size_type
-Linear_Expression::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e) {
-  return e;
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n + e;
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, const Variable v) {
-  return v + e;
+Interval_Info_Null<Policy>::ascii_load(std::istream&) {
+  return true;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return -n + e;
+template <typename Policy>
+inline void
+Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
+  s << (open ? "open" : "closed");
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Variable v, const Variable w) {
-  return Linear_Expression(v, w);
+template <typename Policy>
+inline bool
+Interval_Info_Null_Open<Policy>::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str))
+    return false;
+  if (str == "open") {
+    open = true;
+    return true;
+  }
+  if (str == "closed") {
+    open = false;
+    return true;
+  }
+  return false;
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n * e;
+template <typename T, typename Policy>
+inline void
+Interval_Info_Bitset<T, Policy>::m_swap(Interval_Info_Bitset<T, Policy>& y) {
+  using std::swap;
+  swap(bitset, y.bitset);
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression&
-operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] += n;
-  return e;
+template <typename T, typename Policy>
+inline void
+Interval_Info_Bitset<T, Policy>::ascii_dump(std::ostream& s) const {
+  const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                              std::ios::basefield);
+  s << bitset;
+  s.flags(old_flags);
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression&
-operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] -= n;
-  return e;
+template <typename T, typename Policy>
+inline bool
+Interval_Info_Bitset<T, Policy>::ascii_load(std::istream& s) {
+  const std::ios::fmtflags old_flags = s.setf(std::ios::hex,
+                                              std::ios::basefield);
+  s >> bitset;
+  s.flags(old_flags);
+  return !s.fail();
 }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Interval_Info_Null */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
 inline void
-Linear_Expression::swap(Linear_Expression& y) {
-  Linear_Row::swap(y);
+swap(Interval_Info_Null<Policy>& x, Interval_Info_Null<Policy>& y) {
+  x.m_swap(y);
 }
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Interval_Info_Bitset */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T, typename Policy>
 inline void
-Linear_Expression::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
-}
-
-inline bool
-Linear_Expression::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+swap(Interval_Info_Bitset<T, Policy>& x, Interval_Info_Bitset<T, Policy>& y) {
+  x.m_swap(y);
 }
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 284. */
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Expression& x,
-     Parma_Polyhedra_Library::Linear_Expression& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 489. */
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 33. */
+#include <iosfwd>
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 1. */
-/* Constraint class declaration.
-*/
+// Temporary!
+#include <iostream>
 
+namespace Parma_Polyhedra_Library {
 
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 1. */
-/* Constraint_System class declaration.
-*/
+enum Ternary { T_YES, T_NO, T_MAYBE };
 
+inline I_Result
+combine(Result l, Result u) {
+  unsigned res = static_cast<unsigned>(l) | (static_cast<unsigned>(u) << 6);
+  return static_cast<I_Result>(res);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 1. */
-/* Linear_System class declaration.
-*/
+struct Interval_Base {
+};
 
+using namespace Boundary_NS;
+using namespace Interval_NS;
 
-/* Automatically generated from PPL source file ../src/Linear_System.types.hh line 1. */
+template <typename T, typename Enable = void>
+struct Is_Singleton : public Is_Native_Or_Checked<T> {};
 
+template <typename T>
+struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 
-namespace Parma_Polyhedra_Library {
+//! A generic, not necessarily closed, possibly restricted interval.
+/*! \ingroup PPL_CXX_interface
+  The class template type parameter \p Boundary represents the type
+  of the interval boundaries, and can be chosen, among other possibilities,
+  within one of the following number families:
 
-class Linear_System;
+  - a bounded precision native integer type (that is,
+    from <CODE>signed char</CODE> to <CODE>long long</CODE>
+    and from <CODE>int8_t</CODE> to <CODE>int64_t</CODE>);
+  - a bounded precision floating point type (<CODE>float</CODE>,
+    <CODE>double</CODE> or <CODE>long double</CODE>);
+  - an unbounded integer or rational type, as provided by the C++ interface
+    of GMP (<CODE>mpz_class</CODE> or <CODE>mpq_class</CODE>).
 
-} // namespace Parma_Polyhedra_Library
+  The class template type parameter \p Info allows to control a number
+  of features of the class, among which:
 
-/* Automatically generated from PPL source file ../src/Bit_Row.types.hh line 1. */
+  - the ability to support open as well as closed boundaries;
+  - the ability to represent empty intervals in addition to nonempty ones;
+  - the ability to represent intervals of extended number families
+    that contain positive and negative infinities;
+*/
+template <typename Boundary, typename Info>
+class Interval : public Interval_Base, private Info {
+private:
+  PPL_COMPILE_TIME_CHECK(!Info::store_special
+                         || !std::numeric_limits<Boundary>::has_infinity,
+                         "store_special is meaningless"
+                         " when boundary type may contains infinity");
+  Info& w_info() const {
+    return const_cast<Interval&>(*this);
+  }
 
+public:
+  typedef Boundary boundary_type;
+  typedef Info info_type;
 
-namespace Parma_Polyhedra_Library {
+  typedef Interval_NS::Property Property;
 
-class Bit_Row;
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator=(const T& x) {
+    assign(x);
+    return *this;
+  }
 
-} // namespace Parma_Polyhedra_Library
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator+=(const T& x) {
+    add_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator-=(const T& x) {
+    sub_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator*=(const T& x) {
+    mul_assign(*this, x);
+    return *this;
+  }
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator/=(const T& x) {
+    div_assign(*this, x);
+    return *this;
+  }
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.types.hh line 1. */
+  //! Swaps \p *this with \p y.
+  void m_swap(Interval& y);
 
+  Info& info() {
+    return *this;
+  }
 
-namespace Parma_Polyhedra_Library {
+  const Info& info() const {
+    return *this;
+  }
 
-class Bit_Matrix;
+  Boundary& lower() {
+    return lower_;
+  }
 
-} // namespace Parma_Polyhedra_Library
+  const Boundary& lower() const {
+    return lower_;
+  }
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 1. */
-/* Matrix class declaration.
-*/
+  Boundary& upper() {
+    return upper_;
+  }
 
+  const Boundary& upper() const {
+    return upper_;
+  }
 
-/* Automatically generated from PPL source file ../src/Matrix.types.hh line 1. */
+  I_Constraint<boundary_type> lower_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(LOWER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL,
+                        lower(), true);
+  }
+  I_Constraint<boundary_type> upper_constraint() const {
+    PPL_ASSERT(!is_empty());
+    if (info().get_boundary_property(UPPER, SPECIAL))
+      return I_Constraint<boundary_type>();
+    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL,
+                        upper(), true);
+  }
 
+  bool is_empty() const {
+    return lt(UPPER, upper(), info(), LOWER, lower(), info());
+  }
 
-namespace Parma_Polyhedra_Library {
+  bool check_empty(I_Result r) const {
+    return (r & I_ANY) == I_EMPTY
+      || ((r & I_ANY) != I_NOT_EMPTY && is_empty());
+  }
 
-class Matrix;
+  bool is_singleton() const {
+    return eq(LOWER, lower(), info(), UPPER, upper(), info());
+  }
 
-} // namespace Parma_Polyhedra_Library
+  bool lower_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(LOWER, lower(), info());
+  }
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 32. */
-#include <vector>
-#include <cstddef>
+  bool upper_is_open() const {
+    PPL_ASSERT(OK());
+    return is_open(UPPER, upper(), info());
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A 2-dimensional matrix of coefficients.
-/*! \ingroup PPL_CXX_interface
-  A Matrix object is a sequence of Row objects and is characterized
-  by the matrix dimensions (the number of rows and columns).
-  All the rows in a matrix, besides having the same size (corresponding
-  to the number of columns of the matrix), are also bound to have the
-  same capacity.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool lower_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(LOWER, lower(), info());
+  }
 
-class Parma_Polyhedra_Library::Matrix {
-public:
-  //! Returns the maximum number of rows of a Matrix.
-  static dimension_type max_num_rows();
+  bool upper_is_boundary_infinity() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_boundary_infinity(UPPER, upper(), info());
+  }
 
-  //! Returns the maximum number of columns of a Matrix.
-  static dimension_type max_num_columns();
+  bool lower_is_domain_inf() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_inf(LOWER, lower(), info());
+  }
 
-  //! Builds an empty matrix.
-  /*!
-    Rows' size and capacity are initialized to \f$0\f$.
-  */
-  Matrix();
+  bool upper_is_domain_sup() const {
+    PPL_ASSERT(OK());
+    return Boundary_NS::is_domain_sup(UPPER, upper(), info());
+  }
 
-  //! Builds a zero matrix with specified dimensions and flags.
-  /*!
-    \param n_rows
-    The number of rows of the matrix that will be created;
+  bool is_bounded() const {
+    PPL_ASSERT(OK());
+    return !lower_is_boundary_infinity() && !upper_is_boundary_infinity();
+  }
 
-    \param n_columns
-    The number of columns of the matrix that will be created.
+  bool is_universe() const {
+    PPL_ASSERT(OK());
+    return lower_is_domain_inf() && upper_is_domain_sup();
+  }
 
-    \param row_flags
-    The flags used to build the rows of the matrix;
-    by default, the rows will have all flags unset.
-  */
-  Matrix(dimension_type n_rows, dimension_type n_columns,
-	 Row::Flags row_flags = Row::Flags());
+  I_Result lower_extend() {
+    info().clear_boundary_properties(LOWER);
+    set_unbounded(LOWER, lower(), info());
+    return I_ANY;
+  }
 
-  //! Copy constructor.
-  Matrix(const Matrix& y);
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  lower_extend(const C& c);
 
-  //! Destructor.
-  ~Matrix();
+  I_Result upper_extend() {
+    info().clear_boundary_properties(UPPER);
+    set_unbounded(UPPER, upper(), info());
+    return I_ANY;
+  }
 
-  //! Assignment operator.
-  Matrix& operator=(const Matrix& y);
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  upper_extend(const C& c);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! An iterator over a matrix.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each row contained in a Matrix object.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class const_iterator {
-  private:
-    typedef std::vector<Row>::const_iterator Iter;
-    //! The const iterator on the rows' vector \p rows.
-    Iter i;
+  I_Result build() {
+    return assign(UNIVERSE);
+  }
 
-  public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef std::iterator_traits<Iter>::value_type value_type;
-    typedef std::iterator_traits<Iter>::difference_type difference_type;
-    typedef std::iterator_traits<Iter>::pointer pointer;
-    typedef std::iterator_traits<Iter>::reference reference;
-
-    //! Default constructor.
-    const_iterator();
-
-    /*! \brief
-      Builds a const iterator on the matrix starting from
-      an iterator \p b on the elements of the vector \p rows.
-    */
-    explicit const_iterator(const Iter& b);
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  build(const C& c) {
+    Relation_Symbol rs;
+    switch (c.rel()) {
+    case V_LGE:
+    case V_GT_MINUS_INFINITY:
+    case V_LT_PLUS_INFINITY:
+      return assign(UNIVERSE);
+    default:
+      return assign(EMPTY);
+    case V_LT:
+    case V_LE:
+    case V_GT:
+    case V_GE:
+    case V_EQ:
+    case V_NE:
+      assign(UNIVERSE);
+      rs = static_cast<Relation_Symbol>(c.rel());
+      return refine_existential(rs, c.value());
+    }
+  }
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+  template <typename C1, typename C2>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C1>::value
+                     &&
+		     Is_Same_Or_Derived<I_Constraint_Base, C2>::value,
+                     I_Result>::type
+  build(const C1& c1, const C2& c2) {
+    switch (c1.rel()) {
+    case V_LGE:
+      return build(c2);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    switch (c2.rel()) {
+    case V_LGE:
+      return build(c1);
+    case V_NAN:
+      return assign(EMPTY);
+    default:
+      break;
+    }
+    build(c1);
+    I_Result r = add_constraint(c2);
+    return r - (I_CHANGED | I_UNCHANGED);
+  }
 
-    //! Dereference operator.
-    reference operator*() const;
+  template <typename C>
+  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+  add_constraint(const C& c) {
+    Interval x;
+    x.build(c);
+    return intersect_assign(x);
+  }
 
-    //! Indirect member selector.
-    pointer operator->() const;
+  I_Result assign(Degenerate_Element e) {
+    I_Result r;
+    info().clear();
+    switch (e) {
+    case EMPTY:
+      lower_ = 1;
+      upper_ = 0;
+      r = I_EMPTY | I_EXACT;
+      break;
+    case UNIVERSE:
+      set_unbounded(LOWER, lower(), info());
+      set_unbounded(UPPER, upper(), info());
+      r = I_UNIVERSE | I_EXACT;
+      break;
+    default:
+      PPL_UNREACHABLE;
+      r = I_EMPTY;
+      break;
+    }
+    PPL_ASSERT(OK());
+    return r;
+  }
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+  template <typename From>
+  typename Enable_If<Is_Special<From>::value, I_Result>::type
+  assign(const From&) {
+    info().clear();
+    Result rl, ru;
+    switch (From::vclass) {
+    case VC_MINUS_INFINITY:
+      rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
+      ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info());
+      break;
+    case VC_PLUS_INFINITY:
+      rl = Boundary_NS::set_plus_infinity(LOWER, lower(), info());
+      ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
+      break;
+    default:
+      PPL_UNREACHABLE;
+      rl = V_NAN;
+      ru = V_NAN;
+      break;
+    }
+    PPL_ASSERT(OK());
+    return combine(rl, ru);
+  }
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+  I_Result set_infinities() {
+    info().clear();
+    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
+    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
+    PPL_ASSERT(OK());
+    return combine(rl, ru);
+  }
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
+  static bool is_always_topologically_closed() {
+    return !Info::store_open;
+  }
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-  }; // class const_iterator
+  bool is_topologically_closed() const {
+    PPL_ASSERT(OK());
+    return is_always_topologically_closed()
+      || is_empty()
+      || ((lower_is_boundary_infinity() || !lower_is_open())
+          && (upper_is_boundary_infinity() || !upper_is_open()));
+  }
 
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign() {
+    if (!Info::store_open || is_empty())
+      return;
+    if (lower_is_open() && !lower_is_boundary_infinity())
+      info().set_boundary_property(LOWER, OPEN, false);
+    if (upper_is_open() && !upper_is_boundary_infinity())
+      info().set_boundary_property(UPPER, OPEN, false);
+  }
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
-  /*!
-    \note
-    The unusual naming for this method is \em intentional:
-    we do not want it to be named \c empty because this would cause
-    an error prone name clash with the corresponding methods in derived
-    classes Constraint_System and Congruence_System (which have a
-    different semantics).
-  */
-  bool has_no_rows() const;
+  void remove_inf() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(LOWER, OPEN, true);
+  }
 
-  /*! \brief
-    Returns the const_iterator pointing to the first row, if \p *this is
-    not empty; otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
+  void remove_sup() {
+    PPL_ASSERT(!is_empty());
+    if (!Info::store_open)
+      return;
+    info().set_boundary_property(UPPER, OPEN, true);
+  }
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  int infinity_sign() const {
+    PPL_ASSERT(OK());
+    if (is_reverse_infinity(LOWER, lower(), info()))
+      return 1;
+    else if (is_reverse_infinity(UPPER, upper(), info()))
+      return -1;
+    else
+      return 0;
+  }
 
-  // FIXME: the following section must become private.
-protected:
-  //! Contains the rows of the matrix.
-  std::vector<Row> rows;
+  bool contains_integer_point() const {
+    PPL_ASSERT(OK());
+    if (is_empty())
+      return false;
+    if (!is_bounded())
+      return true;
+    Boundary l;
+    if (lower_is_open()) {
+      add_assign_r(l, lower(), Boundary(1), ROUND_DOWN);
+      floor_assign_r(l, l, ROUND_DOWN);
+    }
+    else
+      ceil_assign_r(l, lower(), ROUND_DOWN);
+    Boundary u;
+    if (upper_is_open()) {
+      sub_assign_r(u, upper(), Boundary(1), ROUND_UP);
+      ceil_assign_r(u, u, ROUND_UP);
+    }
+    else
+      floor_assign_r(u, upper(), ROUND_UP);
+    return u >= l;
+  }
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
+  void drop_some_non_integer_points() {
+    if (is_empty())
+      return;
+    if (lower_is_open() && !lower_is_boundary_infinity()) {
+      add_assign_r(lower(), lower(), Boundary(1), ROUND_DOWN);
+      floor_assign_r(lower(), lower(), ROUND_DOWN);
+      info().set_boundary_property(LOWER, OPEN, false);
+    }
+    else
+      ceil_assign_r(lower(), lower(), ROUND_DOWN);
+    if (upper_is_open() && !upper_is_boundary_infinity()) {
+      sub_assign_r(upper(), upper(), Boundary(1), ROUND_UP);
+      ceil_assign_r(upper(), upper(), ROUND_UP);
+      info().set_boundary_property(UPPER, OPEN, false);
+    }
+    else
+      floor_assign_r(upper(), upper(), ROUND_UP);
+  }
 
-  //! Capacity allocated for each row.
-  dimension_type row_capacity;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  wrap_assign(Bounded_Integer_Type_Width w,
+              Bounded_Integer_Type_Representation r,
+	      const From& refinement) {
+    if (is_empty())
+      return I_EMPTY;
+    if (lower_is_boundary_infinity() || upper_is_boundary_infinity())
+      return assign(refinement);
+    PPL_DIRTY_TEMP(Boundary, u);
+    Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
+    if (result_overflow(result) == 0 && u > lower())
+      return assign(refinement);
+    info().clear();
+    switch (r) {
+    case UNSIGNED:
+      umod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      umod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    case SIGNED_2_COMPLEMENT:
+      smod_2exp_assign(LOWER, lower(), info(),
+		       LOWER, lower(), info(), w);
+      smod_2exp_assign(UPPER, upper(), info(),
+		       UPPER, upper(), info(), w);
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
+    }
+    if (le(LOWER, lower(), info(), UPPER, upper(), info()))
+      return intersect_assign(refinement);
+    PPL_DIRTY_TEMP(Interval, tmp);
+    tmp.info().clear();
+    Boundary_NS::assign(LOWER, tmp.lower(), tmp.info(),
+			LOWER, lower(), info());
+    set_unbounded(UPPER, tmp.upper(), tmp.info());
+    tmp.intersect_assign(refinement);
+    lower_extend();
+    intersect_assign(refinement);
+    return join_assign(tmp);
+  }
 
-public:
-  //! Swaps \p *this with \p y.
-  void swap(Matrix& y);
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Adds to the matrix \p n rows of zeroes with flags set to \p row_flags.
-  /*!
-    \param n
-    The number of rows to be added: must be strictly positive.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    \param row_flags
-    Flags for the newly added rows.
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_rows(dimension_type n, Row::Flags row_flags);
+  bool OK() const {
+    if (!Info::may_be_empty && is_empty()) {
+#ifndef NDEBUG
+      std::cerr << "The interval is unexpectedly empty.\n";
+#endif
+      return false;
+    }
 
-  //! Adds \p n columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of columns to be added: must be strictly positive.
+    if (is_open(LOWER, lower(), info())) {
+      if (is_plus_infinity(LOWER, lower(), info())) {
+#ifndef NDEBUG
+	std::cerr << "The lower boundary is +inf open.\n";
+#endif
+      }
+    }
+    else if (!Info::may_contain_infinity
+	     && (is_minus_infinity(LOWER, lower(), info())
+		 || is_plus_infinity(LOWER, lower(), info()))) {
+#ifndef NDEBUG
+      std::cerr << "The lower boundary is unexpectedly infinity.\n";
+#endif
+      return false;
+    }
+    if (!info().get_boundary_property(LOWER, SPECIAL)) {
+      if (is_not_a_number(lower())) {
+#ifndef NDEBUG
+	std::cerr << "The lower boundary is not a number.\n";
+#endif
+	return false;
+      }
+    }
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_zero_columns(dimension_type n);
+    if (is_open(UPPER, upper(), info())) {
+      if (is_minus_infinity(UPPER, upper(), info())) {
+#ifndef NDEBUG
+	std::cerr << "The upper boundary is -inf open.\n";
+#endif
+      }
+    }
+    else if (!Info::may_contain_infinity
+	     && (is_minus_infinity(UPPER, upper(), info())
+		 || is_plus_infinity(UPPER, upper(), info()))) {
+#ifndef NDEBUG
+      std::cerr << "The upper boundary is unexpectedly infinity."
+                << std::endl;
+#endif
+      return false;
+    }
+    if (!info().get_boundary_property(UPPER, SPECIAL)) {
+      if (is_not_a_number(upper())) {
+#ifndef NDEBUG
+	std::cerr << "The upper boundary is not a number.\n";
+#endif
+	return false;
+      }
+    }
 
-  //! Adds \p n rows and \p m columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of rows to be added: must be strictly positive.
+    // Everything OK.
+    return true;
+  }
 
-    \param m
-    The number of columns to be added: must be strictly positive.
+  Interval() {
+  }
 
-    \param row_flags
-    Flags for the newly added rows.
+  template <typename T>
+  explicit Interval(const T& x) {
+    assign(x);
+  }
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+n) \times (c+m)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{M}{0} \genfrac{}{}{0pt}{}{0}{0}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+  /*! \brief
+    Builds the smallest interval containing the number whose textual
+    representation is contained in \p s.
   */
-  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
-				 Row::Flags row_flags);
+  explicit Interval(const char* s);
 
-  //! Adds a copy of the row \p y to the matrix.
-  /*!
-    \param y
-    The row to be copied: it must have the same number of columns as
-    the matrix.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  contains(const T& y) const;
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_row(const Row& y);
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  strictly_contains(const T& y) const;
 
-  //! Adds the row \p y to the matrix.
-  /*!
-    \param y
-    The row to be added: it must have the same size and capacity as
-    \p *this. It is not declared <CODE>const</CODE> because its
-    data-structures will recycled to build the new matrix row.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  is_disjoint_from(const T& y) const;
 
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_recycled_row(Row& y);
 
-  //! Makes the matrix shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  assign(const From& x);
 
-  //! Resizes the matrix without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows of the resized matrix;
+  template <typename Type>
+  typename Enable_If<Is_Singleton<Type>::value
+                     || Is_Interval<Type>::value, bool>::type
+  can_be_exactly_joined_to(const Type& x) const;
 
-    \param new_n_columns
-    The number of columns of the resized matrix.
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  join_assign(const From& x);
 
-    \param row_flags
-    The flags of the rows eventually added to the matrix.
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  join_assign(const From1& x, const From2& y);
 
-    The matrix is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original matrix is lost.
-  */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns,
-		      Row::Flags row_flags);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  intersect_assign(const From& x);
 
-  //! Swaps the columns having indexes \p i and \p j.
-  void swap_columns(dimension_type i,  dimension_type j);
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  intersect_assign(const From1& x, const From2& y);
 
-  //! Permutes the columns of the matrix.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+  /*! \brief
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p *this and \p x.
+  */
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  difference_assign(const From& x);
 
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of \e non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the matrix has 7
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
+  /*! \brief
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p x and \p y.
+  */
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value
+                       || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value
+                          || Is_Interval<From2>::value)), I_Result>::type
+  difference_assign(const From1& x, const From2& y);
 
-    \note
-    The first column of the matrix, having index zero, is never involved
-    in a permutation.
+  /*! \brief
+    Assigns to \p *this the largest interval contained in the set-theoretic
+    difference of \p *this and \p x.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  lower_approximation_difference_assign(const From& x);
 
-  //! \name Accessors
-  //@{
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
 
-  //! Returns the number of columns of the matrix (i.e., the size of the rows).
-  dimension_type num_columns() const;
+    \return
+    \c false if and only if the meet of \p *this and \p y is empty.
+  */
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, bool>::type
+  simplify_using_context_assign(const From& y);
 
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
-  //@} // Accessors
+  /*! \brief
+    Assigns to \p *this an interval having empty intersection with \p y.
+    The assigned interval should be as large as possible.
+  */
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  empty_intersection_assign(const From& y);
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  Row& operator[](dimension_type k);
+  /*! \brief
+    Refines \p to according to the existential relation \p rel with \p x.
 
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
-
-  //! Clears the matrix deallocating all its rows.
-  void clear();
-
-  PPL_OUTPUT_DECLARATIONS
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    The \p to interval is restricted to become, upon successful exit,
+    the smallest interval of its type that contains the set
+    \f[
+      \{\,
+        a \in \mathtt{to}
+      \mid
+        \exists b \in \mathtt{x} \st a \mathrel{\mathtt{rel}} b
+      \,\}.
+    \f]
+    \return
+    ???
   */
-  bool ascii_load(std::istream& s);
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  refine_existential(Relation_Symbol rel, const From& x);
 
   /*! \brief
-    Erases from the matrix all the rows but those having
-    an index less than \p first_to_erase.
+    Refines \p to so that it satisfies the universal relation \p rel with \p x.
+
+    The \p to interval is restricted to become, upon successful exit,
+    the smallest interval of its type that contains the set
+    \f[
+      \{\,
+        a \in \mathtt{to}
+      \mid
+        \forall b \in \mathtt{x} \itc a \mathrel{\mathtt{rel}} b
+      \,\}.
+    \f]
+    \return
+    ???
   */
-  void erase_to_end(dimension_type first_to_erase);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  refine_universal(Relation_Symbol rel, const From& x);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  neg_assign(const From& x);
 
-namespace std {
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  add_assign(const From1& x, const From2& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Specializes <CODE>std::swap</CODE>.
-  /*! \relates Parma_Polyhedra_Library::Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Matrix& x,
-	  Parma_Polyhedra_Library::Matrix& y);
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  sub_assign(const From1& x, const From2& y);
 
-} // namespace std
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  mul_assign(const From1& x, const From2& y);
 
+  template <typename From1, typename From2>
+  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
+		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
+  div_assign(const From1& x, const From2& y);
 
-namespace Parma_Polyhedra_Library {
+  template <typename From, typename Iterator>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  CC76_widening_assign(const From& y, Iterator first, Iterator last);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Matrix& x, const Matrix& y);
+private:
+  Boundary lower_;
+  Boundary upper_;
+};
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Matrix& x, const Matrix& y);
+//! Swaps \p x with \p y.
+/*! \relates Interval */
+template <typename Boundary, typename Info>
+void swap(Interval<Boundary, Info>& x, Interval<Boundary, Info>& y);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 1. */
-/* Matrix class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Interval.inlines.hh line 1. */
+/* Inline functions for the Interval class and its constituents.
 */
 
 
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 27. */
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 29. */
-
 namespace Parma_Polyhedra_Library {
 
-inline dimension_type
-Matrix::max_num_rows() {
-  return std::vector<Row>().max_size();
-}
-
-inline dimension_type
-Matrix::max_num_columns() {
-  return Row::max_size();
+template <typename Boundary, typename Info>
+inline memory_size_type
+Interval<Boundary, Info>::external_memory_in_bytes() const {
+  return Parma_Polyhedra_Library::external_memory_in_bytes(lower())
+    + Parma_Polyhedra_Library::external_memory_in_bytes(upper());
 }
 
+template <typename Boundary, typename Info>
 inline memory_size_type
-Matrix::total_memory_in_bytes() const {
+Interval<Boundary, Info>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-inline
-Matrix::const_iterator::const_iterator()
-  : i() {
+template <typename Boundary, typename Info>
+inline void
+Interval<Boundary, Info>::m_swap(Interval<Boundary, Info>& y) {
+  using std::swap;
+  swap(lower(), y.lower());
+  swap(upper(), y.upper());
+  swap(info(), y.info());
 }
 
-inline
-Matrix::const_iterator::const_iterator(const Iter& b)
-  : i(b) {
+template <typename Boundary, typename Info>
+inline bool
+f_is_empty(const Interval<Boundary, Info>& x) {
+  return x.is_empty();
 }
-
-inline
-Matrix::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i) {
+template <typename Boundary, typename Info>
+inline bool
+f_is_singleton(const Interval<Boundary, Info>& x) {
+  return x.is_singleton();
 }
-
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  return *this;
+template <typename Boundary, typename Info>
+inline int
+infinity_sign(const Interval<Boundary, Info>& x) {
+  return x.infinity_sign();
 }
 
-inline Matrix::const_iterator::reference
-Matrix::const_iterator::operator*() const {
-  return *i;
-}
+namespace Interval_NS {
 
-inline Matrix::const_iterator::pointer
-Matrix::const_iterator::operator->() const {
-  return &*i;
+template <typename Boundary, typename Info>
+inline const Boundary&
+f_lower(const Interval<Boundary, Info>& x) {
+  return x.lower();
 }
-
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator++() {
-  ++i;
-  return *this;
+template <typename Boundary, typename Info>
+inline const Boundary&
+f_upper(const Interval<Boundary, Info>& x) {
+  return x.upper();
 }
-
-inline Matrix::const_iterator
-Matrix::const_iterator::operator++(int) {
-  return const_iterator(i++);
+template <typename Boundary, typename Info>
+inline const Info&
+f_info(const Interval<Boundary, Info>& x) {
+  return x.info();
 }
 
-inline bool
-Matrix::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+struct Scalar_As_Interval_Policy {
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, true);
+  const_bool_nodef(check_inexact, false);
+};
 
-inline bool
-Matrix::const_iterator::operator!=(const const_iterator& y) const {
-  return !operator==(y);
-}
+typedef Interval_Info_Null<Scalar_As_Interval_Policy>
+Scalar_As_Interval_Info;
 
-inline bool
-Matrix::has_no_rows() const {
-  return rows.empty();
-}
+const Scalar_As_Interval_Info SCALAR_INFO;
 
-inline Matrix::const_iterator
-Matrix::begin() const {
-  return const_iterator(rows.begin());
-}
+typedef Interval_Info_Null_Open<Scalar_As_Interval_Policy>
+Scalar_As_Interval_Info_Open;
 
-inline Matrix::const_iterator
-Matrix::end() const {
-  return const_iterator(rows.end());
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
+f_lower(const T& x) {
+  return x;
 }
-
-inline void
-Matrix::swap(Matrix& y) {
-  std::swap(rows, y.rows);
-  std::swap(row_size, y.row_size);
-  std::swap(row_capacity, y.row_capacity);
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
+f_upper(const T& x) {
+  return x;
+}
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value,
+                          const Scalar_As_Interval_Info&>::type
+f_info(const T&) {
+  return SCALAR_INFO;
+}
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value,
+                          Scalar_As_Interval_Info_Open>::type
+f_info(const T&, bool open) {
+  return Scalar_As_Interval_Info_Open(open);
 }
 
-inline
-Matrix::Matrix()
-  : rows(),
-    row_size(0),
-    row_capacity(0) {
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, bool>::type
+f_is_empty(const T& x) {
+  return is_not_a_number(x);
 }
 
-inline
-Matrix::Matrix(const Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value, bool>::type
+f_is_singleton(const T& x) {
+  return !f_is_empty(x);
 }
 
-inline
-Matrix::~Matrix() {
+} // namespace Interval_NS
+
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+is_singleton_integer(const T& x) {
+  return is_singleton(x) && is_integer(f_lower(x));
 }
 
-inline Matrix&
-Matrix::operator=(const Matrix& y) {
-  // Without the following guard against auto-assignments we would
-  // recompute the row capacity based on row size, possibly without
-  // actually increasing the capacity of the rows.  This would lead to
-  // an inconsistent state.
-  if (this != &y) {
-    // The following assignment may do nothing on auto-assignments...
-    rows = y.rows;
-    row_size = y.row_size;
-    // ... hence the following assignment must not be done on
-    // auto-assignments.
-    row_capacity = compute_capacity(y.row_size, max_num_columns());
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+check_empty_arg(const T& x) {
+  if (f_info(x).may_be_empty)
+    return f_is_empty(x);
+  else {
+    PPL_ASSERT(!f_is_empty(x));
+    return false;
   }
-  return *this;
 }
 
-inline void
-Matrix::add_row(const Row& y) {
-  Row new_row(y, row_capacity);
-  add_recycled_row(new_row);
+template <typename T1, typename T2>
+inline typename Enable_If<((Is_Singleton<T1>::value
+                            || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value
+                               || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value
+                               || Is_Interval<T2>::value)),
+			  bool>::type
+operator==(const T1& x, const T2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x))
+    return check_empty_arg(y);
+  else if (check_empty_arg(y))
+    return false;
+  return eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
+    && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
 }
 
-inline Row&
-Matrix::operator[](const dimension_type k) {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
+template <typename T1, typename T2>
+inline typename Enable_If<((Is_Singleton<T1>::value
+                            || Is_Interval<T1>::value)
+			   && (Is_Singleton<T2>::value
+                               || Is_Interval<T2>::value)
+			   && (Is_Interval<T1>::value
+                               || Is_Interval<T2>::value)),
+			  bool>::type
+operator!=(const T1& x, const T2& y) {
+  return !(x == y);
 }
 
-inline const Row&
-Matrix::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::contains(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(y))
+    return true;
+  if (check_empty_arg(*this))
+    return false;
+  return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+    && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
 }
 
-inline dimension_type
-Matrix::num_rows() const {
-  return rows.size();
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::strictly_contains(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(y))
+    return !check_empty_arg(*this);
+  if (check_empty_arg(*this))
+    return false;
+  return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+	  && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)))
+    || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
+	&& gt(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)));
 }
 
-inline dimension_type
-Matrix::num_columns() const {
-  return row_size;
+template <typename Boundary, typename Info>
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value
+                          || Is_Interval<T>::value, bool>::type
+Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(*this) || check_empty_arg(y))
+    return true;
+  return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))
+    || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
 }
 
-/*! \relates Matrix */
-inline bool
-operator!=(const Matrix& x, const Matrix& y) {
-  return !(x == y);
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl = Boundary_NS::assign(LOWER, lower(), to_info,
+				  LOWER, f_lower(x), f_info(x));
+  Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
+				  UPPER, f_upper(x), f_info(x));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
 }
 
-inline void
-Matrix::erase_to_end(const dimension_type first_to_erase) {
-  PPL_ASSERT(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::join_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(*this))
+    return assign(x);
+  if (check_empty_arg(x))
+    return combine(V_EQ, V_EQ);
+  Result rl, ru;
+  rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
 }
 
-inline void
-Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Row>().swap(rows);
-  row_size = 0;
-  row_capacity = 0;
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x))
+    return assign(y);
+  if (check_empty_arg(y))
+    return assign(x);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl, ru;
+  rl = min_assign(LOWER, lower(), to_info,
+		  LOWER, f_lower(x), f_info(x),
+		  LOWER, f_lower(y), f_info(y));
+  ru = max_assign(UPPER, upper(), to_info,
+		  UPPER, f_upper(x), f_info(x),
+		  UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Matrix& x,
-     Parma_Polyhedra_Library::Matrix& y) {
-  x.swap(y);
+template <typename Boundary, typename Info>
+template <typename Type>
+inline typename Enable_If<Is_Singleton<Type>::value
+                          || Is_Interval<Type>::value, bool>::type
+Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
+  PPL_DIRTY_TEMP(Boundary, b);
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
+    b = lower();
+    return eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
+  }
+  else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
+    b = upper();
+    return eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
+  }
+  return true;
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 373. */
-
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 34. */
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for systems of constraints and generators.
-/*! \ingroup PPL_CXX_interface
-  An object of this class represents either a constraint system
-  or a generator system. Each Linear_System object can be viewed
-  as a finite sequence of strong-normalized Linear_Row objects,
-  where each Linear_Row implements a constraint or a generator.
-  Linear systems are characterized by the matrix of coefficients,
-  also encoding the number, size and capacity of Linear_row objects,
-  as well as a few additional information, including:
-   - the topological kind of (all) the rows;
-   - an indication of whether or not some of the rows in the Linear_System
-     are <EM>pending</EM>, meaning that they still have to undergo
-     an (unspecified) elaboration; if there are pending rows, then these
-     form a proper suffix of the overall sequence of rows;
-   - a Boolean flag that, when <CODE>true</CODE>, ensures that the
-     non-pending prefix of the sequence of rows is sorted.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-class Parma_Polyhedra_Library::Linear_System : public Matrix {
-public:
-  //! Builds an empty linear system with specified topology.
-  /*!
-    Rows size and capacity are initialized to \f$0\f$.
-  */
-  Linear_System(Topology topol);
 
-  //! Builds a system with specified topology and dimensions.
-  /*!
-    \param topol
-    The topology of the system that will be created;
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
 
-    \param n_rows
-    The number of rows of the system that will be created;
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
+                                                 const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  max_assign(LOWER, lower(), to_info,
+             LOWER, f_lower(x), f_info(x),
+             LOWER, f_lower(y), f_info(y));
+  min_assign(UPPER, upper(), to_info,
+             UPPER, f_upper(x), f_info(x),
+             UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return I_NOT_EMPTY;
+}
 
-    \param n_columns
-    The number of columns of the system that will be created.
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))
+      || gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+    return combine(V_EQ, V_EQ);
+  bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
+  bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+  Result rl = V_EQ, ru = V_EQ;
+  if (nl) {
+    if (nu)
+      return assign(EMPTY);
+    else {
+      info().clear_boundary_properties(LOWER);
+      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
+    }
+  }
+  else if (nu) {
+    info().clear_boundary_properties(UPPER);
+    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
+  }
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
 
-    Creates a \p n_rows \f$\times\f$ \p n_columns system whose
-    coefficients are all zero and whose rows are all initialized
-    to be of the given topology.
-  */
-  Linear_System(Topology topol,
-		dimension_type n_rows, dimension_type n_columns);
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
+                                                  const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y))
+      || gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
+    return assign(x);
+  bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
+  bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
+  Result rl = V_EQ, ru = V_EQ;
+  if (nl) {
+    if (nu)
+      return assign(EMPTY);
+    else {
+      rl = complement(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y));
+      ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
+    }
+  }
+  else if (nu) {
+    ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
+    rl = Boundary_NS::assign(LOWER, lower(), info(),
+                             LOWER, f_lower(x), f_info(x));
+  }
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>
+::refine_existential(Relation_Symbol rel, const From& x) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  switch (rel) {
+  case LESS_THAN:
+    {
+      if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x), true);
+      return I_ANY;
+    }
+  case LESS_OR_EQUAL:
+    {
+      if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Boundary_NS::assign(UPPER, upper(), info(),
+			  UPPER, f_upper(x), f_info(x));
+      return I_ANY;
+    }
+  case GREATER_THAN:
+    {
+      if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x), true);
+      return I_ANY;
+    }
+  case GREATER_OR_EQUAL:
+    {
+      if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Boundary_NS::assign(LOWER, lower(), info(),
+			  LOWER, f_lower(x), f_info(x));
+      return I_ANY;
+    }
+  case EQUAL:
+    return intersect_assign(x);
+  case NOT_EQUAL:
+    {
+      if (!f_is_singleton(x))
+	return combine(V_EQ, V_EQ);
+      if (check_empty_arg(*this))
+	return I_EMPTY;
+      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	remove_inf();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	remove_sup();
+      return I_ANY;
+    }
+  default:
+    PPL_UNREACHABLE;
+    return I_EMPTY;
+  }
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
+                                                 const From& x) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return combine(V_EQ, V_EQ);
+  switch (rel) {
+  case LESS_THAN:
+    {
+      if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      LOWER, f_lower(x), SCALAR_INFO,
+                                      !is_open(LOWER, f_lower(x), f_info(x)));
+      PPL_USED(ru);
+      return I_ANY;
+    }
+  case LESS_OR_EQUAL:
+    {
+      if (le(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(UPPER);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      LOWER, f_lower(x), SCALAR_INFO);
+      PPL_USED(ru);
+      return I_ANY;
+    }
+  case GREATER_THAN:
+    {
+      if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      UPPER, f_upper(x), SCALAR_INFO,
+                                      !is_open(UPPER, f_upper(x), f_info(x)));
+      PPL_USED(rl);
+      return I_ANY;
+    }
+  case GREATER_OR_EQUAL:
+    {
+      if (ge(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
+	return combine(V_EQ, V_EQ);
+      info().clear_boundary_properties(LOWER);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      UPPER, f_upper(x), SCALAR_INFO);
+      PPL_USED(rl);
+      return I_ANY;
+    }
+  case EQUAL:
+    if (!f_is_singleton(x))
+      return assign(EMPTY);
+    return intersect_assign(x);
+  case NOT_EQUAL:
+    {
+      if (check_empty_arg(*this))
+	return I_EMPTY;
+      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
+	remove_inf();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	remove_sup();
+      return I_ANY;
+    }
+  default:
+    PPL_UNREACHABLE;
+    return I_EMPTY;
+  }
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From>
+inline typename Enable_If<Is_Singleton<From>::value
+                          || Is_Interval<From>::value, I_Result>::type
+Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
+  PPL_ASSERT(f_OK(x));
+  if (check_empty_arg(x))
+    return assign(EMPTY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x));
+  ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x));
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == -inf_sign)
+      return assign(EMPTY);
+  }
+  else
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
+    return assign(MINUS_INFINITY);
+  else if (inf_sign > 0)
+    return assign(PLUS_INFINITY);
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info,
+				      LOWER, f_lower(x), f_info(x),
+				      LOWER, f_lower(y), f_info(y));
+  Result ru = Boundary_NS::add_assign(UPPER, upper(), to_info,
+				      UPPER, f_upper(x), f_info(x),
+				      UPPER, f_upper(y), f_info(y));
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) == inf_sign)
+      return assign(EMPTY);
+  }
+  else
+    inf_sign = -Parma_Polyhedra_Library::infinity_sign(y);
+  if (inf_sign < 0)
+    return assign(MINUS_INFINITY);
+  else if (inf_sign > 0)
+    return assign(PLUS_INFINITY);
+
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info,
+			       LOWER, f_lower(x), f_info(x),
+			       UPPER, f_upper(y), f_info(y));
+  ru = Boundary_NS::sub_assign(UPPER, upper(), to_info,
+			       UPPER, f_upper(x), f_info(x),
+			       LOWER, f_lower(y), f_info(y));
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+/**
++---------+-----------+-----------+-----------------+
+|    *    |  yl > 0   |  yu < 0   |  yl < 0, yu > 0 |
++---------+-----------+-----------+-----------------+
+| xl > 0  |xl*yl,xu*yu|xu*yl,xl*yu|   xu*yl,xu*yu   |
++---------+-----------+-----------+-----------------+
+| xu < 0  |xl*yu,xu*yl|xu*yu,xl*yl|   xl*yu,xl*yl   |
++---------+-----------+-----------+-----------------+
+|xl<0 xu>0|xl*yu,xu*yu|xu*yl,xl*yl|min(xl*yu,xu*yl),|
+|         |           |           |max(xl*yl,xu*yu) |
++---------+-----------+-----------+-----------------+
+**/
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
+  int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
+  int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  int ls, us;
+  if (inf_sign != 0) {
+    ls = yls;
+    us = yus;
+    goto inf;
+  }
+  else {
+    inf_sign = Parma_Polyhedra_Library::infinity_sign(y);
+    if (inf_sign != 0) {
+      ls = xls;
+      us = xus;
+    inf:
+      if (ls == 0 && us == 0)
+	return assign(EMPTY);
+      if (ls == -us)
+	return set_infinities();
+      if (ls < 0 || us < 0)
+	inf_sign = -inf_sign;
+      if (inf_sign < 0)
+	return assign(MINUS_INFINITY);
+      else
+	return assign(PLUS_INFINITY);
+    }
+  }
+
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+
+  if (xls >= 0) {
+    if (yls >= 0) {
+      // 0 <= xl <= xu, 0 <= yl <= yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else if (yus <= 0) {
+      // 0 <= xl <= xu, yl <= yu <= 0
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      // 0 <= xl <= xu, yl < 0 < yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+  }
+  else if (xus <= 0) {
+    if (yls >= 0) {
+      // xl <= xu <= 0, 0 <= yl <= yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (yus <= 0) {
+      // xl <= xu <= 0, yl <= yu <= 0
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else {
+      // xl <= xu <= 0, yl < 0 < yu
+      rl = mul_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = mul_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+  }
+  else if (yls >= 0) {
+    // xl < 0 < xu, 0 <= yl <= yu
+    rl = mul_assign_z(LOWER, to_lower, to_info,
+		      LOWER, f_lower(x), f_info(x), xls,
+		      UPPER, f_upper(y), f_info(y), yus);
+    ru = mul_assign_z(UPPER, upper(), to_info,
+		      UPPER, f_upper(x), f_info(x), xus,
+		      UPPER, f_upper(y), f_info(y), yus);
+  }
+  else if (yus <= 0) {
+    // xl < 0 < xu, yl <= yu <= 0
+    rl = mul_assign_z(LOWER, to_lower, to_info,
+		      UPPER, f_upper(x), f_info(x), xus,
+		      LOWER, f_lower(y), f_info(y), yls);
+    ru = mul_assign_z(UPPER, upper(), to_info,
+		      LOWER, f_lower(x), f_info(x), xls,
+		      LOWER, f_lower(y), f_info(y), yls);
+  }
+  else {
+    // xl < 0 < xu, yl < 0 < yu
+    PPL_DIRTY_TEMP(To_Boundary, tmp);
+    PPL_DIRTY_TEMP(To_Info, tmp_info);
+    tmp_info.clear();
+    Result tmp_r;
+    tmp_r = Boundary_NS::mul_assign(LOWER, tmp, tmp_info,
+				    UPPER, f_upper(x), f_info(x),
+				    LOWER, f_lower(y), f_info(y));
+    rl = Boundary_NS::mul_assign(LOWER, to_lower, to_info,
+				 LOWER, f_lower(x), f_info(x),
+				 UPPER, f_upper(y), f_info(y));
+    if (gt(LOWER, to_lower, to_info, LOWER, tmp, tmp_info)) {
+      to_lower = tmp;
+      rl = tmp_r;
+    }
+    tmp_info.clear();
+    tmp_r = Boundary_NS::mul_assign(UPPER, tmp, tmp_info,
+				    UPPER, f_upper(x), f_info(x),
+				    UPPER, f_upper(y), f_info(y));
+    ru = Boundary_NS::mul_assign(UPPER, upper(), to_info,
+				 LOWER, f_lower(x), f_info(x),
+				 LOWER, f_lower(y), f_info(y));
+    if (lt(UPPER, upper(), to_info, UPPER, tmp, tmp_info)) {
+      upper() = tmp;
+      ru = tmp_r;
+    }
+  }
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+/**
++-----------+-----------+-----------+
+|     /     |  yu < 0   |  yl > 0   |
++-----------+-----------+-----------+
+|   xu<=0   |xu/yl,xl/yu|xl/yl,xu/yu|
++-----------+-----------+-----------+
+|xl<=0 xu>=0|xu/yu,xl/yu|xl/yl,xu/yl|
++-----------+-----------+-----------+
+|   xl>=0   |xu/yu,xl/yl|xl/yu,xu/yl|
++-----------+-----------+-----------+
+**/
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline typename Enable_If<((Is_Singleton<From1>::value
+                            || Is_Interval<From1>::value)
+			   && (Is_Singleton<From2>::value
+                               || Is_Interval<From2>::value)), I_Result>::type
+Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
+  PPL_ASSERT(f_OK(x));
+  PPL_ASSERT(f_OK(y));
+  if (check_empty_arg(x) || check_empty_arg(y))
+    return assign(EMPTY);
+  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
+  int yus = (yls > 0) ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
+  if (yls == 0 && yus == 0)
+    return assign(EMPTY);
+  int inf_sign = Parma_Polyhedra_Library::infinity_sign(x);
+  if (inf_sign != 0) {
+    if (Parma_Polyhedra_Library::infinity_sign(y) != 0)
+      return assign(EMPTY);
+    if (yls == -yus)
+      return set_infinities();
+    if (yls < 0 || yus < 0)
+    inf_sign = -inf_sign;
+    if (inf_sign < 0)
+      return assign(MINUS_INFINITY);
+    else
+      return assign(PLUS_INFINITY);
+  }
+  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
+  int xus = (xls > 0) ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+
+  PPL_DIRTY_TEMP(To_Info, to_info);
+  to_info.clear();
+  Result rl, ru;
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+  if (yls >= 0) {
+    if (xls >= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (xus <= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+  }
+  else if (yus <= 0) {
+    if (xls >= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			LOWER, f_lower(y), f_info(y), yls);
+    }
+    else if (xus <= 0) {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			LOWER, f_lower(y), f_info(y), yls);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+    else {
+      rl = div_assign_z(LOWER, to_lower, to_info,
+			UPPER, f_upper(x), f_info(x), xus,
+			UPPER, f_upper(y), f_info(y), yus);
+      ru = div_assign_z(UPPER, upper(), to_info,
+			LOWER, f_lower(x), f_info(x), xls,
+			UPPER, f_upper(y), f_info(y), yus);
+    }
+  }
+  else {
+    return static_cast<I_Result>(assign(UNIVERSE) | I_SINGULARITIES);
+  }
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  PPL_ASSERT(OK());
+  return combine(rl, ru);
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator+(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator+(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator+(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.add_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator-(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator-(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator-(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.sub_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator*(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator*(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator*(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.mul_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator/(const Interval<B, Info>& x, const T& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info, typename T>
+inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
+operator/(const T& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
+
+template <typename B, typename Info>
+inline Interval<B, Info>
+operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
+  Interval<B, Info> z;
+  z.div_assign(x, y);
+  return z;
+}
+
+template <typename Boundary, typename Info>
+inline std::ostream&
+operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
+  if (check_empty_arg(x))
+    return os << "[]";
+  if (x.is_singleton()) {
+    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
+    return os;
+  }
+  os << (x.lower_is_open() ? "(" : "[");
+  if (x.info().get_boundary_property(LOWER, SPECIAL))
+    os << "-inf";
+  else
+    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
+  os << ", ";
+  if (x.info().get_boundary_property(UPPER, SPECIAL))
+    os << "+inf";
+  else
+    output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED);
+  os << (x.upper_is_open() ? ")" : "]");
+  return os;
+}
+
+template <typename Boundary, typename Info>
+inline void
+Interval<Boundary, Info>::ascii_dump(std::ostream& s) const {
+  using Parma_Polyhedra_Library::ascii_dump;
+  s << "info ";
+  info().ascii_dump(s);
+  s << " lower ";
+  ascii_dump(s, lower());
+  s << " upper ";
+  ascii_dump(s, upper());
+  s << '\n';
+}
+
+template <typename Boundary, typename Info>
+inline bool
+Interval<Boundary, Info>::ascii_load(std::istream& s) {
+  using Parma_Polyhedra_Library::ascii_load;
+  std::string str;
+  if (!(s >> str) || str != "info")
+    return false;
+  if (!info().ascii_load(s))
+    return false;
+  if (!(s >> str) || str != "lower")
+    return false;
+  if (!ascii_load(s, lower()))
+    return false;
+  if (!(s >> str) || str != "upper")
+    return false;
+  if (!ascii_load(s, upper()))
+    return false;
+  PPL_ASSERT(OK());
+  return true;
+}
+
+/*! \brief
+  Helper class to select the appropriate numerical type to perform
+  boundary computations so as to reduce the chances of overflow without
+  incurring too much overhead.
+*/
+template <typename Interval_Boundary_Type> struct Select_Temp_Boundary_Type;
+
+template <typename Interval_Boundary_Type>
+struct Select_Temp_Boundary_Type {
+  typedef Interval_Boundary_Type type;
+};
+
+#if PPL_SUPPORTED_DOUBLE
+template <>
+struct Select_Temp_Boundary_Type<float> {
+  typedef double type;
+};
+#endif
+
+template <>
+struct Select_Temp_Boundary_Type<char> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<signed char> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<unsigned char> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<signed short> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<unsigned short> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<signed int> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<unsigned int> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<signed long> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<unsigned long> {
+  typedef signed long long type;
+};
+
+template <>
+struct Select_Temp_Boundary_Type<unsigned long long> {
+  typedef signed long long type;
+};
+
+/*! \relates Interval */
+template <typename Boundary, typename Info>
+inline void
+swap(Interval<Boundary, Info>& x, Interval<Boundary, Info>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Interval.templates.hh line 1. */
+/* Interval class implementation: non-inline template functions.
+*/
+
+
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::lower_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_GT:
+    open = true;
+    break;
+  case V_GE: // Fall through.
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_UNREACHABLE;
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  }
+  min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
+
+template <typename Boundary, typename Info>
+template <typename C>
+typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
+Interval<Boundary, Info>::upper_extend(const C& c) {
+  PPL_ASSERT(OK());
+  bool open;
+  switch (c.rel()) {
+  case V_LGE:
+    return lower_extend();
+  case V_NAN:
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  case V_LT:
+    open = true;
+    break;
+  case V_LE: // Fall through.
+  case V_EQ:
+    open = false;
+    break;
+  default:
+    PPL_UNREACHABLE;
+    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
+  }
+  max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open));
+  PPL_ASSERT(OK());
+  return I_ANY;
+}
+
+template <typename Boundary, typename Info>
+template <typename From, typename Iterator>
+typename Enable_If<Is_Interval<From>::value, void>::type
+Interval<Boundary, Info>::CC76_widening_assign(const From& y,
+					       Iterator first,
+					       Iterator last) {
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_ASSERT(contains(y));
+  Interval<Boundary, Info>& x = *this;
+
+  // Upper bound.
+  if (!x.upper_is_boundary_infinity()) {
+    Boundary& x_ub = x.upper();
+    const Boundary& y_ub = y.upper();
+    PPL_ASSERT(!y.upper_is_boundary_infinity() && y_ub <= x_ub);
+    if (y_ub < x_ub) {
+      Iterator k = std::lower_bound(first, last, x_ub);
+      if (k != last) {
+	if (x_ub < *k)
+	  x_ub = *k;
+      }
+      else
+	x.upper_extend();
+    }
+  }
+
+  // Lower bound.
+  if (!x.lower_is_boundary_infinity()) {
+    Boundary& x_lb = x.lower();
+    const Boundary& y_lb = y.lower();
+    PPL_ASSERT(!y.lower_is_boundary_infinity() && y_lb >= x_lb);
+    if (y_lb > x_lb) {
+      Iterator k = std::lower_bound(first, last, x_lb);
+      if (k != last) {
+	if (x_lb < *k) {
+	  if (k != first)
+	    x_lb = *--k;
+	  else
+	    x.lower_extend();
+	}
+      }
+      else {
+        if (k != first)
+          x_lb = *--k;
+        else
+          x.lower_extend();
+      }
+    }
+  }
+}
+
+template <typename Boundary, typename Info>
+Interval<Boundary, Info>::Interval(const char* s) {
+  // Get the lower bound.
+  Boundary lower_bound;
+  Result lower_r = assign_r(lower_bound, s, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
+    throw std::invalid_argument("PPL::Interval(const char* s)"
+                                " with s invalid");
+  }
+  lower_r = result_relation_class(lower_r);
+
+  // Get the upper bound.
+  Boundary upper_bound;
+  Result upper_r = assign_r(upper_bound, s, ROUND_UP);
+  PPL_ASSERT(upper_r != V_CVT_STR_UNK && upper_r != V_NAN);
+  upper_r = result_relation_class(upper_r);
+
+  // Build the interval.
+  bool lower_open = false;
+  bool upper_open = false;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  switch (lower_r) {
+  case V_EQ: // Fall through.
+  case V_GE:
+    break;
+  case V_GT:
+    lower_open = true;
+    break;
+  case V_GT_MINUS_INFINITY:
+    lower_open = true;
+    // Fall through.
+  case V_EQ_MINUS_INFINITY:
+    lower_boundary_infinity = true;
+    break;
+  case V_EQ_PLUS_INFINITY: // Fall through.
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+  switch (upper_r) {
+  case V_EQ: // Fall through.
+  case V_LE:
+    break;
+  case V_LT:
+    upper_open = true;
+    break;
+  case V_EQ_MINUS_INFINITY: // Fall through.
+  case V_GT_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
+      assign(UNIVERSE);
+    else
+      assign(EMPTY);
+    break;
+  case V_LT_PLUS_INFINITY:
+    upper_open = true;
+    // Fall through.
+  case V_EQ_PLUS_INFINITY:
+    upper_boundary_infinity = true;
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
+      && (lower_bound > upper_bound
+          || (lower_open && lower_bound == upper_bound)))
+    assign(EMPTY);
+  else {
+    if (lower_boundary_infinity)
+      set_minus_infinity(LOWER, lower(), info(), lower_open);
+    else
+      Boundary_NS::assign(LOWER, lower(), info(),
+                          LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      set_plus_infinity(UPPER, upper(), info(), upper_open);
+    else
+      Boundary_NS::assign(UPPER, upper(), info(),
+                          UPPER, upper_bound, SCALAR_INFO, upper_open);
+  }
+}
+
+
+template <typename Boundary, typename Info>
+inline std::istream&
+operator>>(std::istream& is, Interval<Boundary, Info>& x) {
+  Boundary lower_bound;
+  Boundary upper_bound;
+  bool lower_boundary_infinity = false;
+  bool upper_boundary_infinity = false;
+  bool lower_open = false;
+  bool upper_open = false;
+  Result lower_r;
+  Result upper_r;
+
+  // Eat leading white space.
+  char c;
+  do {
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
+
+  // Get the opening parenthesis and handle the empty interval case.
+  if (c == '(')
+    lower_open = true;
+  else if (c == '[') {
+    if (!is.get(c))
+      goto fail;
+    if (c == ']') {
+      // Empty interval.
+      x.assign(EMPTY);
+      return is;
+    }
+    else
+      is.unget();
+  }
+  else
+    goto unexpected;
+
+  // Get the lower bound.
+  lower_r = input(lower_bound, is, ROUND_DOWN);
+  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN)
+    goto fail;
+  lower_r = result_relation_class(lower_r);
+
+  // Match the comma separating the lower and upper bounds.
+  do {
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
+  if (c != ',')
+    goto unexpected;
+
+  // Get the upper bound.
+  upper_r = input(upper_bound, is, ROUND_UP);
+  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN)
+    goto fail;
+  upper_r = result_relation_class(upper_r);
+
+  // Get the closing parenthesis.
+  do {
+    if (!is.get(c))
+      goto fail;
+  } while (is_space(c));
+  if (c == ')')
+    upper_open = true;
+  else if (c != ']') {
+  unexpected:
+    is.unget();
+  fail:
+    is.setstate(std::ios::failbit);
+    return is;
+  }
+
+  // Build interval.
+  switch (lower_r) {
+  case V_EQ: // Fall through.
+  case V_GE:
+    break;
+  case V_GT:
+    lower_open = true;
+    break;
+  case V_GT_MINUS_INFINITY:
+    lower_open = true;
+    // Fall through.
+  case V_EQ_MINUS_INFINITY:
+    lower_boundary_infinity = true;
+    break;
+  case V_EQ_PLUS_INFINITY: // Fall through.
+  case V_LT_PLUS_INFINITY:
+    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+  switch (upper_r) {
+  case V_EQ: // Fall through.
+  case V_LE:
+    break;
+  case V_LT:
+    upper_open = true;
+    break;
+  case V_GT_MINUS_INFINITY:
+    upper_open = true;
+    // Fall through.
+  case V_EQ_MINUS_INFINITY:
+    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  case V_EQ_PLUS_INFINITY: // Fall through.
+  case V_LT_PLUS_INFINITY:
+    upper_boundary_infinity = true;
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+
+  if (!lower_boundary_infinity
+      && !upper_boundary_infinity
+      && (lower_bound > upper_bound
+	  || (lower_open && lower_bound == upper_bound)))
+    x.assign(EMPTY);
+  else {
+    if (lower_boundary_infinity)
+      set_minus_infinity(LOWER, x.lower(), x.info(), lower_open);
+    else
+      assign(LOWER, x.lower(), x.info(),
+             LOWER, lower_bound, SCALAR_INFO, lower_open);
+    if (upper_boundary_infinity)
+      set_plus_infinity(UPPER, x.upper(), x.info(), upper_open);
+    else
+      assign(UPPER, x.upper(), x.info(),
+             UPPER, upper_bound, SCALAR_INFO, upper_open);
+  }
+  return is;
+}
+
+template <typename Boundary, typename Info>
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, bool>::type
+Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
+  // FIXME: the following code wrongly assumes that intervals are closed
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
+    lower_extend();
+    return false;
+  }
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
+    upper_extend();
+    return false;
+  }
+  // Weakening the upper bound.
+  if (!upper_is_boundary_infinity() && !y.upper_is_boundary_infinity()
+      && y.upper() <= upper())
+    upper_extend();
+  // Weakening the lower bound.
+  if (!lower_is_boundary_infinity() && !y.lower_is_boundary_infinity()
+      && y.lower() >= lower())
+    lower_extend();
+  return true;
+}
+
+template <typename Boundary, typename Info>
+template <typename From>
+typename Enable_If<Is_Interval<From>::value, void>::type
+Interval<Boundary, Info>::empty_intersection_assign(const From&) {
+  // FIXME: write me.
+  assign(EMPTY);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Interval.defs.hh line 760. */
+
+/* Automatically generated from PPL source file ../src/Integer_Interval.hh line 28. */
+#include <gmpxx.h>
+
+namespace Parma_Polyhedra_Library {
+
+struct Integer_Interval_Info_Policy {
+  const_bool_nodef(store_special, true);
+  const_bool_nodef(store_open, false);
+  const_bool_nodef(cache_empty, true);
+  const_bool_nodef(cache_singleton, true);
+  const_int_nodef(next_bit, 0);
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, false);
+  const_bool_nodef(check_empty_result, false);
+  const_bool_nodef(check_inexact, false);
+};
+
+typedef Interval_Info_Bitset<unsigned int, Integer_Interval_Info_Policy> Integer_Interval_Info;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An interval with integral, necessarily closed boundaries.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Interval<mpz_class, Integer_Interval_Info> Integer_Interval;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/initializer.hh line 1. */
+/* Nifty counter object for the initialization of the library.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Init.defs.hh line 1. */
+/* Init class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Init.defs.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief
+  Sets the FPU rounding mode so that the PPL abstractions based on
+  floating point numbers work correctly.
+
+  This is performed automatically at initialization-time.  Calling
+  this function is needed only if restore_pre_PPL_rounding() has been
+  previously called.
+*/
+void set_rounding_for_PPL();
+
+/*! \brief
+  Sets the FPU rounding mode as it was before initialization of the PPL.
+
+  This is important if the application uses floating-point computations
+  outside the PPL.  It is crucial when the application uses functions
+  from a mathematical library that are not guaranteed to work correctly
+  under all rounding modes.
+
+  After calling this function it is absolutely necessary to call
+  set_rounding_for_PPL() before using any PPL abstractions based on
+  floating point numbers.
+  This is performed automatically at finalization-time.
+*/
+void restore_pre_PPL_rounding();
+
+} // namespace Parma_Polyhedra_Library
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Class for initialization and finalization.
+/*! \ingroup PPL_CXX_interface
+  <EM>Nifty Counter</EM> initialization class,
+  ensuring that the library is initialized only once
+  and before its first use.
+  A count of the number of translation units using the library
+  is maintained. A static object of Init type will be declared
+  by each translation unit using the library.  As a result,
+  only one of them will initialize and properly finalize
+  the library.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Init {
+public:
+  //! Initializes the PPL.
+  Init();
+
+  //! Finalizes the PPL.
+  ~Init();
+
+private:
+  /*! \brief
+    Default precision parameter used for irrational calculations.
+
+    The default is chosen to have a precision greater than most
+    precise IEC 559 floating point (112 bits of mantissa).
+  */
+  static const unsigned DEFAULT_IRRATIONAL_PRECISION = 128U;
+
+  //! Count the number of objects created.
+  static unsigned int count;
+  static fpu_rounding_direction_type old_rounding_direction;
+
+  friend void set_rounding_for_PPL();
+  friend void restore_pre_PPL_rounding();
+};
+
+/* Automatically generated from PPL source file ../src/Init.inlines.hh line 1. */
+/* Init class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Init.inlines.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+set_rounding_for_PPL() {
+#if PPL_CAN_CONTROL_FPU
+    fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
+#endif
+}
+
+inline void
+restore_pre_PPL_rounding() {
+#if PPL_CAN_CONTROL_FPU
+  fpu_set_rounding_direction(Init::old_rounding_direction);
+#endif
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Init.defs.hh line 98. */
+
+
+/* Automatically generated from PPL source file ../src/initializer.hh line 28. */
+
+#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
+
+static Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
+
+#else
+
+static Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
+
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+//! Initializes the library.
+inline void
+initialize() {
+#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
+  if (Parma_Polyhedra_Library_initializer_p == 0)
+    Parma_Polyhedra_Library_initializer_p = new Init();
+#endif
+}
+
+//! Finalizes the library.
+inline void
+finalize() {
+#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
+  PPL_ASSERT(Parma_Polyhedra_Library_initializer_p != 0);
+  delete Parma_Polyhedra_Library_initializer_p;
+  Parma_Polyhedra_Library_initializer_p = 0;
+#endif
+}
+
+} //namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.defs.hh line 1. */
+/* Linear_Expression_Impl class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+class Linear_Expression_Impl;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Congruence.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Congruence;
+
+}
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 1. */
+/* Coefficient class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 1. */
+
+
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 17. */
+
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 1. */
+
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 17. */
+#include <gmpxx.h>
+/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 19. */
+
+namespace Parma_Polyhedra_Library {
+
+/*! \class Parma_Polyhedra_Library::GMP_Integer
+  \brief
+  Unbounded integers as provided by the GMP library.
+
+  \ingroup PPL_CXX_interface
+  GMP_Integer is an alias for the <CODE>mpz_class</CODE> type
+  defined in the C++ interface of the GMP library.
+  For more information, see <CODE>http://gmplib.org/</CODE>
+*/
+typedef mpz_class GMP_Integer;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for unbounded integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <>
+struct Coefficient_traits_template<GMP_Integer> {
+  //! The type used for references to const unbounded integers.
+  typedef const GMP_Integer& const_reference;
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 20. */
+#endif
+
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+
+namespace Parma_Polyhedra_Library {
+
+//! A policy for checked bounded integer coefficients.
+/*! \ingroup PPL_CXX_interface */
+struct Bounded_Integer_Coefficient_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
+
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Do not handle not-a-number special value.
+  const_bool_nodef(has_nan, false);
+
+  //! Do not handle infinity special values.
+  const_bool_nodef(has_infinity, false);
+
+  /*! \brief
+    The checked number can always be safely converted to the
+    underlying type \p T and vice-versa.
+  */
+  const_bool_nodef(convertible, true);
+
+  //! Do not honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, false);
+
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
+
+  /*! \brief
+    For constructors, by default use the same rounding used by
+    underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+
+  /*! \brief
+    For overloaded operators (operator+(), operator-(), ...), by
+    default use the same rounding used by the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+
+  /*! \brief
+    For input functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For output functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+
+  /*! \brief
+    For all other functions, by default use the same rounding used by
+    the underlying type.
+  */
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
+  */
+  static void handle_result(Result r);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 8 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int8_t, Policy> > {
+  //! The type used for references to const 8 bit checked integers.
+  typedef Checked_Number<int8_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 16 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int16_t, Policy> > {
+  //! The type used for references to const 16 bit checked integers.
+  typedef Checked_Number<int16_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 32 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int32_t, Policy> > {
+  //! The type used for references to const 32 bit checked integers.
+  typedef Checked_Number<int32_t, Policy> const_reference;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Coefficient traits specialization for 64 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Policy>
+struct Coefficient_traits_template<Checked_Number<int64_t, Policy> > {
+  //! The type used for references to const 64 bit checked integers.
+  typedef const Checked_Number<int64_t, Policy>& const_reference;
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+
+namespace Parma_Polyhedra_Library {
+
+//! An alias for easily naming the type of PPL coefficients.
+/*! \ingroup PPL_CXX_interface
+  Objects of type Coefficient are used to implement the integral valued
+  coefficients occurring in linear expressions, constraints, generators,
+  intervals, bounding boxes and so on.  Depending on the chosen
+  configuration options (see file <CODE>README.configure</CODE>),
+  a Coefficient may actually be:
+    - The GMP_Integer type, which in turn is an alias for the
+      <CODE>mpz_class</CODE> type implemented by the C++ interface
+      of the GMP library (this is the default configuration).
+    - An instance of the Checked_Number class template: with the policy
+      Bounded_Integer_Coefficient_Policy, this implements overflow
+      detection on top of a native integral type (available template
+      instances include checked integers having 8, 16, 32 or 64 bits);
+      with the Checked_Number_Transparent_Policy, this is a wrapper
+      for native integral types with no overflow detection
+      (available template instances are as above).
+*/
+typedef PPL_COEFFICIENT_TYPE Coefficient;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An alias for easily naming the coefficient traits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Coefficient_traits_template<Coefficient> Coefficient_traits;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 28. */
+#include <iosfwd>
+
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 33. */
+#endif
+
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 1. */
+/* GMP_Integer class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 29. */
+#include <cstddef>
+
+namespace Parma_Polyhedra_Library {
+
+//! \name Accessor Functions
+//@{
+
+//! Returns a const reference to the underlying integer value.
+/*! \relates GMP_Integer */
+const mpz_class& raw_value(const GMP_Integer& x);
+
+//! Returns a reference to the underlying integer value.
+/*! \relates GMP_Integer */
+mpz_class& raw_value(GMP_Integer& x);
+
+//@} // Accessor Functions
+
+//! \name Arithmetic Operators
+//@{
+
+//! Assigns to \p x its negation.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x);
+
+//! Assigns to \p x the negation of \p y.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x, const GMP_Integer& y);
+
+//! Assigns to \p x its absolute value.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x);
+
+//! Assigns to \p x the absolute value of \p y.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x, const GMP_Integer& y);
+
+//! Assigns to \p x the remainder of the division of \p y by \p z.
+/*! \relates GMP_Integer */
+void rem_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the greatest common divisor of \p y and \p z.
+/*! \relates GMP_Integer */
+void gcd_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Extended GCD.
+/*! \relates GMP_Integer
+  Assigns to \p x the greatest common divisor of \p y and \p z, and to
+  \p s and \p t the values such that \p y * \p s + \p z * \p t = \p x.
+*/
+void gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
+		   const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the least common multiple of \p y and \p z.
+/*! \relates GMP_Integer */
+void lcm_assign(GMP_Integer& x,
+		const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value <CODE>x + y * z</CODE>.
+/*! \relates GMP_Integer */
+void add_mul_assign(GMP_Integer& x,
+		    const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value <CODE>x - y * z</CODE>.
+/*! \relates GMP_Integer */
+void sub_mul_assign(GMP_Integer& x,
+		    const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the value \f$ y \cdot 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+
+//! Assigns to \p x the value \f$ y / 2^\mathtt{exp} \f$.
+/*! \relates GMP_Integer */
+void div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp);
+
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
+
+  \relates GMP_Integer
+  The behavior is undefined if \p z does not divide \p y.
+*/
+void exact_div_assign(GMP_Integer& x,
+		      const GMP_Integer& y, const GMP_Integer& z);
+
+//! Assigns to \p x the integer square root of \p y.
+/*! \relates GMP_Integer */
+void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
+
+/*! \brief
+  Returns a negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
+
+  \relates GMP_Integer
+*/
+int cmp(const GMP_Integer& x, const GMP_Integer& y);
+
+//@} // Arithmetic Operators
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 1. */
+/* GMP_Integer class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+neg_assign(GMP_Integer& x) {
+  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
+}
+
+inline void
+neg_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline void
+abs_assign(GMP_Integer& x) {
+  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
+}
+
+inline void
+abs_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline void
+gcd_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_gcd(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+rem_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_tdiv_r(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+gcdext_assign(GMP_Integer& x, GMP_Integer& s, GMP_Integer& t,
+	      const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_gcdext(x.get_mpz_t(),
+	     s.get_mpz_t(), t.get_mpz_t(),
+	     y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+lcm_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_lcm(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+add_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_addmul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+sub_mul_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  mpz_submul(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+mul_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_mul_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
+
+inline void
+div_2exp_assign(GMP_Integer& x, const GMP_Integer& y, unsigned int exp) {
+  mpz_tdiv_q_2exp(x.get_mpz_t(), y.get_mpz_t(), exp);
+}
+
+inline void
+exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  PPL_ASSERT(y % z == 0);
+  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+}
+
+inline void
+sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline int
+cmp(const GMP_Integer& x, const GMP_Integer& y) {
+  return mpz_cmp(x.get_mpz_t(), y.get_mpz_t());
+}
+
+inline const mpz_class&
+raw_value(const GMP_Integer& x) {
+  return x;
+}
+
+inline mpz_class&
+raw_value(GMP_Integer& x) {
+  return x;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 133. */
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 37. */
+#endif
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Initializes the Coefficient constants.
+#endif
+void Coefficient_constants_initialize();
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Finalizes the Coefficient constants.
+#endif
+void Coefficient_constants_finalize();
+
+//! Returns a const reference to a Coefficient with value 0.
+Coefficient_traits::const_reference Coefficient_zero();
+
+//! Returns a const reference to a Coefficient with value 1.
+Coefficient_traits::const_reference Coefficient_one();
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.inlines.hh line 1. */
+/* Coefficient class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_CHECKED_INTEGERS
+inline void
+Bounded_Integer_Coefficient_Policy::handle_result(Result r) {
+  // Note that the input functions can return VC_NAN.
+  if (result_overflow(r) || result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
+#endif // PPL_CHECKED_INTEGERS
+
+
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+inline Coefficient_traits::const_reference
+Coefficient_zero() {
+  // FIXME: is there a way to avoid this static variable?
+  static Coefficient zero(0);
+  return zero;
+}
+
+inline Coefficient_traits::const_reference
+Coefficient_one() {
+  // FIXME: is there a way to avoid this static variable?
+  static Coefficient one(1);
+  return one;
+}
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+
+#ifdef PPL_GMP_INTEGERS
+inline Coefficient_traits::const_reference
+Coefficient_zero() {
+  extern const Coefficient* Coefficient_zero_p;
+  return *Coefficient_zero_p;
+}
+
+inline Coefficient_traits::const_reference
+Coefficient_one() {
+  extern const Coefficient* Coefficient_one_p;
+  PPL_ASSERT(*Coefficient_one_p != 0);
+  return *Coefficient_one_p;
+}
+#endif // PPL_GMP_INTEGERS
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 60. */
+
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 1. */
+/* Variables_Set class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Variables_Set.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Variables_Set;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 30. */
+#include <iosfwd>
+#include <set>
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variables_Set */
+std::ostream&
+operator<<(std::ostream& s, const Variables_Set& vs);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! An std::set of variables' indexes.
+class Parma_Polyhedra_Library::Variables_Set
+  : public std::set<dimension_type> {
+private:
+  typedef std::set<dimension_type> Base;
+
+public:
+  //! Builds the empty set of variable indexes.
+  Variables_Set();
+
+  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
+  explicit Variables_Set(const Variable v);
+
+  /*! \brief
+    Builds the set of variables's indexes in the range from
+    <CODE>v.id()</CODE> to <CODE>w.id()</CODE>.
+
+    If <CODE>v.id() <= w.id()</CODE>, this constructor builds the
+    set of variables' indexes
+    <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
+    The empty set is built otherwise.
+  */
+  Variables_Set(const Variable v, const Variable w);
+
+  //! Returns the maximum space dimension a Variables_Set can handle.
+  static dimension_type max_space_dimension();
+
+  /*! \brief
+    Returns the dimension of the smallest vector space enclosing all
+    the variables whose indexes are in the set.
+  */
+  dimension_type space_dimension() const;
+
+  //! Inserts the index of variable \p v into the set.
+  void insert(Variable v);
+
+  // The `insert' method above overloads (instead of hiding) the
+  // other `insert' method of std::set.
+  using Base::insert;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+};
+
+/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 1. */
+/* Variables_Set class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 28. */
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Variables_Set::Variables_Set()
+  : Base() {
+}
+
+inline void
+Variables_Set::insert(const Variable v) {
+  insert(v.id());
+}
+
+inline
+Variables_Set::Variables_Set(const Variable v)
+  : Base() {
+  insert(v);
+}
+
+inline dimension_type
+Variables_Set::max_space_dimension() {
+  return Variable::max_space_dimension();
+}
+
+inline dimension_type
+Variables_Set::space_dimension() const {
+  reverse_iterator i = rbegin();
+  return (i == rend()) ? 0 : (*i + 1);
+}
+
+inline memory_size_type
+Variables_Set::external_memory_in_bytes() const {
+  // We assume sets are implemented by means of red-black trees that
+  // require to store the color (we assume an enum) and three pointers
+  // to the parent, left and right child, respectively.
+  enum color { red, black };
+  return size() * (sizeof(color) + 3*sizeof(void*) + sizeof(dimension_type));
+}
+
+inline memory_size_type
+Variables_Set::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 106. */
+
+/* Automatically generated from PPL source file ../src/Dense_Row.defs.hh line 1. */
+/* Dense_Row class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Dense_Row.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Dense_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Dense_Row.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Dense_Row.defs.hh line 30. */
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Sparse_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Dense_Row.defs.hh line 33. */
+#include <memory>
+#include <vector>
+#include <limits>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A finite sequence of coefficients.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Dense_Row {
+public:
+  class iterator;
+  class const_iterator;
+
+  //! Constructs an empty row.
+  Dense_Row();
+
+  explicit Dense_Row(const Sparse_Row& row);
+
+  //! Tight constructor: resizing may require reallocation.
+  /*!
+    Constructs a row with size and capacity \p sz.
+  */
+  Dense_Row(dimension_type sz);
+
+  //! Sizing constructor with capacity.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
+
+    \param capacity
+    The capacity of the row that will be constructed;
+
+    The row that is constructed has storage for \p capacity elements,
+    \p sz of which are default-constructed now.
+  */
+  Dense_Row(dimension_type sz, dimension_type capacity);
+
+  //! Ordinary copy constructor.
+  Dense_Row(const Dense_Row& y);
+
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to
+    the size of \p y.
+  */
+  Dense_Row(const Dense_Row& y, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Dense_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity from a Sparse_Row.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Dense_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Destructor.
+  ~Dense_Row();
+
+  //! Assignment operator.
+  Dense_Row& operator=(const Dense_Row& y);
+
+  //! Assignment operator.
+  Dense_Row& operator=(const Sparse_Row& y);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Dense_Row& y);
+
+  //! Resizes the row to \p sz.
+  void resize(dimension_type sz);
+
+  //! Resizes the row to \p sz, with capacity \p capacity.
+  void resize(dimension_type sz, dimension_type capacity);
+
+  //! Resets all the elements of this row.
+  void clear();
+
+  //! Adds \p n zeroes before index \p i.
+  /*!
+    \param n
+    The number of zeroes that will be added to the row.
+
+    \param i
+    The index of the element before which the zeroes will be added.
+
+    Existing elements with index greater than or equal to \p i are shifted
+    to the right by \p n positions. The size is increased by \p n.
+
+    Existing iterators are invalidated.
+  */
+  void add_zeroes_and_shift(dimension_type n, dimension_type i);
+
+  //! Expands the row to size \p new_size.
+  /*!
+    Adds new positions to the implementation of the row
+    obtaining a new row with size \p new_size.
+    It is assumed that \p new_size is between the current size
+    and capacity of the row.
+  */
+  void expand_within_capacity(dimension_type new_size);
+
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    Destroys elements of the row implementation
+    from position \p new_size to the end.
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
+
+  //! Returns the size() of the largest possible Dense_Row.
+  static dimension_type max_size();
+
+  //! Gives the number of coefficients currently in use.
+  dimension_type size() const;
+
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
+
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  //@} // Subscript operators
+
+  //! Normalizes the modulo of coefficients so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the elements of
+    the row and normalizes them by the GCD itself.
+  */
+  void normalize();
+
+  //! Swaps the i-th element with the j-th element.
+  //! Provided for compatibility with Sparse_Row
+  void swap_coefficients(dimension_type i, dimension_type j);
+
+  //! Swaps the element pointed to by i with the element pointed to by j.
+  //! Provided for compatibility with Sparse_Row
+  void swap_coefficients(iterator i, iterator j);
+
+  iterator begin();
+  const_iterator begin() const;
+
+  iterator end();
+  const_iterator end() const;
+
+  //! Resets the i-th element to 0.
+  //! Provided for compatibility with Sparse_Row
+  void reset(dimension_type i);
+
+  //! Resets the elements [first,last) to 0.
+  //! Provided for compatibility with Sparse_Row
+  void reset(dimension_type first, dimension_type last);
+
+  //! Resets the element pointed to by itr to 0.
+  //! Provided for compatibility with Sparse_Row.
+  iterator reset(iterator itr);
+
+  //! Gets the i-th element.
+  //! Provided for compatibility with Sparse_Row.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator find(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator find(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator find(iterator itr, dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator find(const_iterator itr, dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator lower_bound(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator lower_bound(dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator lower_bound(iterator itr, dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  const_iterator lower_bound(const_iterator itr, dimension_type i) const;
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(dimension_type i, Coefficient_traits::const_reference x);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(dimension_type i);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(iterator itr, dimension_type i,
+                       Coefficient_traits::const_reference x);
+
+  //! Provided for compatibility with Sparse_Row.
+  iterator insert(iterator itr, dimension_type i);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_second
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_first(const Dense_Row& y,
+                           const Func1& f, const Func2& g);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, 0) must do nothing, for every c1.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_second(const Dense_Row& y,
+                            const Func1& g, const Func2& h);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when both c1 and c2 are zero.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine_needs_second
+  */
+  template <typename Func1, typename Func2, typename Func3>
+  void combine(const Dense_Row& y,
+               const Func1& f, const Func2& g, const Func3& h);
+
+  //! Executes <CODE>(*this)[i] = (*this)[i]*coeff1 + y[i]*coeff2</CODE>, for
+  //! each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param coeff1
+    The coefficient used for elements of *this.
+    It must not be 0.
+
+    \param coeff2
+    The coefficient used for elements of y.
+    It must not be 0.
+
+    This method takes \f$O(n)\f$ time.
+
+    \see combine_needs_first
+    \see combine_needs_second
+    \see combine
+  */
+  void linear_combine(const Dense_Row& y,
+                      Coefficient_traits::const_reference coeff1,
+                      Coefficient_traits::const_reference coeff2);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  /*!
+    This method detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+    order to save some work.
+
+    coeff1 and coeff2 must not be 0.
+  */
+  void linear_combine(const Dense_Row& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+  
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns the total size in bytes of the memory occupied by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+
+  /*! \brief
+    Returns the size in bytes of the memory managed by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
+  */
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  /*! \brief
+    Checks if all the invariants are satisfied and that the actual
+    size matches the value provided as argument.
+  */
+  bool OK(dimension_type row_size) const;
+
+private:
+  void init(const Sparse_Row& row);
+
+  void destroy();
+
+  struct Impl {
+
+    Impl();
+
+    ~Impl();
+
+    //! The number of coefficients in the row.
+    dimension_type size;
+
+    //! The capacity of the row.
+    dimension_type capacity;
+
+    //! The allocator used to allocate/deallocate vec.
+    std::allocator<Coefficient> coeff_allocator;
+
+    //! The vector of coefficients.
+    //! An empty vector may be stored as NULL instead of using a valid pointer.
+    Coefficient* vec;
+  };
+
+  Impl impl;
+
+  //! Returns the capacity of the row.
+  dimension_type capacity() const;
+};
+
+class Parma_Polyhedra_Library::Dense_Row::iterator {
+public:
+
+  typedef std::bidirectional_iterator_tag iterator_category;
+  typedef Coefficient value_type;
+  typedef ptrdiff_t difference_type;
+  typedef value_type* pointer;
+  typedef value_type& reference;
+
+  iterator();
+  iterator(Dense_Row& row1, dimension_type i1);
+
+  Coefficient& operator*();
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    If itr is a valid iterator for row, <CODE>row[itr.index()]</CODE> is
+    equivalent to *itr.
+
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  iterator& operator++();
+  iterator operator++(int);
+
+  iterator& operator--();
+  iterator operator--(int);
+
+  bool operator==(const iterator& x) const;
+  bool operator!=(const iterator& x) const;
+
+  operator const_iterator() const;
+
+  bool OK() const;
+
+private:
+  Dense_Row* row;
+  dimension_type i;
+};
+
+class Parma_Polyhedra_Library::Dense_Row::const_iterator {
+public:
+
+  typedef const Coefficient value_type;
+  typedef ptrdiff_t difference_type;
+  typedef value_type* pointer;
+  typedef Coefficient_traits::const_reference reference;
+
+  const_iterator();
+  const_iterator(const Dense_Row& row1, dimension_type i1);
+
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    If itr is a valid iterator for row, <CODE>row[itr.index()]</CODE> is
+    equivalent to *itr.
+
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  const_iterator& operator++();
+  const_iterator operator++(int);
+
+  const_iterator& operator--();
+  const_iterator operator--(int);
+
+  bool operator==(const const_iterator& x) const;
+  bool operator!=(const const_iterator& x) const;
+
+  bool OK() const;
+
+private:
+  const Dense_Row* row;
+  dimension_type i;
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Dense_Row& x, Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void iter_swap(std::vector<Dense_Row>::iterator x,
+               std::vector<Dense_Row>::iterator y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Dense_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Dense_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Dense_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Dense_Row.inlines.hh line 1. */
+/* Dense_Row class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Dense_Row.inlines.hh line 28. */
+#include <cstddef>
+#include <limits>
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Dense_Row::Impl::Impl()
+  : size(0), capacity(0), coeff_allocator(), vec(0) {
+}
+
+inline
+Dense_Row::Impl::~Impl() {
+  while (size != 0) {
+    --size;
+    vec[size].~Coefficient();
+  }
+  coeff_allocator.deallocate(vec, capacity);
+}
+
+inline dimension_type
+Dense_Row::max_size() {
+  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
+}
+
+inline dimension_type
+Dense_Row::size() const {
+  return impl.size;
+}
+
+inline dimension_type
+Dense_Row::capacity() const {
+  return impl.capacity;
+}
+
+inline
+Dense_Row::Dense_Row()
+  : impl() {
+
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const dimension_type sz,
+                     const dimension_type capacity)
+  : impl() {
+
+  resize(sz, capacity);
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const dimension_type sz)
+  : impl() {
+
+  resize(sz);
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y)
+  : impl() {
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  if (y.impl.vec != 0) {
+    impl.capacity = y.capacity();
+    impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+    while (impl.size != y.size()) {
+      new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+      ++impl.size;
+    }
+  }
+  PPL_ASSERT(size() == y.size());
+  PPL_ASSERT(capacity() == y.capacity());
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y,
+                     const dimension_type capacity)
+  : impl() {
+  PPL_ASSERT(y.size() <= capacity);
+  PPL_ASSERT(capacity <= max_size());
+
+  impl.capacity = capacity;
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+
+  if (y.impl.vec != 0) {
+    while (impl.size != y.size()) {
+      new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+      ++impl.size;
+    }
+  }
+
+  PPL_ASSERT(size() == y.size());
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::Dense_Row(const Dense_Row& y,
+                     const dimension_type sz,
+                     const dimension_type capacity)
+  : impl() {
+  PPL_ASSERT(sz <= capacity);
+  PPL_ASSERT(capacity <= max_size());
+  PPL_ASSERT(capacity != 0);
+
+  impl.capacity = capacity;
+  impl.coeff_allocator = y.impl.coeff_allocator;
+  impl.vec = impl.coeff_allocator.allocate(impl.capacity);
+
+  const dimension_type n = std::min(sz, y.size());
+  while (impl.size != n) {
+    new (&impl.vec[impl.size]) Coefficient(y[impl.size]);
+    ++impl.size;
+  }
+  while (impl.size != sz) {
+    new (&impl.vec[impl.size]) Coefficient();
+    ++impl.size;
+  }
+
+  PPL_ASSERT(size() == sz);
+  PPL_ASSERT(impl.capacity == capacity);
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::~Dense_Row() {
+  // The `impl' field will be destroyed automatically.
+}
+
+inline void
+Dense_Row::destroy() {
+  resize(0);
+  impl.coeff_allocator.deallocate(impl.vec, impl.capacity);
+}
+
+inline void
+Dense_Row::m_swap(Dense_Row& y) {
+  using std::swap;
+  swap(impl.size, y.impl.size);
+  swap(impl.capacity, y.impl.capacity);
+  swap(impl.coeff_allocator, y.impl.coeff_allocator);
+  swap(impl.vec, y.impl.vec);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
+}
+
+inline Dense_Row&
+Dense_Row::operator=(const Dense_Row& y) {
+
+  if (this != &y && size() == y.size()) {
+    // Avoid reallocation.
+
+    for (dimension_type i = size(); i-- > 0; )
+      (*this)[i] = y[i];
+
+    return *this;
+  }
+
+  Dense_Row x(y);
+  swap(*this, x);
+
+  return *this;
+}
+
+inline Coefficient&
+Dense_Row::operator[](const dimension_type k) {
+  PPL_ASSERT(impl.vec != 0);
+  PPL_ASSERT(k < size());
+  return impl.vec[k];
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::operator[](const dimension_type k) const {
+  PPL_ASSERT(impl.vec != 0);
+  PPL_ASSERT(k < size());
+  return impl.vec[k];
+}
+
+inline void
+Dense_Row::swap_coefficients(dimension_type i, dimension_type j) {
+  std::swap((*this)[i], (*this)[j]);
+}
+
+inline void
+Dense_Row::swap_coefficients(iterator i, iterator j) {
+  std::swap(*i, *j);
+}
+
+inline void
+Dense_Row::reset(dimension_type i) {
+  (*this)[i] = 0;
+}
+
+inline Dense_Row::iterator
+Dense_Row::reset(iterator itr) {
+  *itr = 0;
+  ++itr;
+  return itr;
+}
+
+inline Dense_Row::iterator
+Dense_Row::begin() {
+  return iterator(*this, 0);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::begin() const {
+  return const_iterator(*this, 0);
+}
+
+inline Dense_Row::iterator
+Dense_Row::end() {
+  return iterator(*this, size());
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::end() const {
+  return const_iterator(*this, size());
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::get(dimension_type i) const {
+  return (*this)[i];
+}
+
+inline Dense_Row::iterator
+Dense_Row::find(dimension_type i) {
+  return iterator(*this, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::find(dimension_type i) const {
+  return const_iterator(*this, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::find(iterator itr, dimension_type i) {
+  (void)itr;
+  return iterator(*this, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::find(const_iterator itr, dimension_type i) const {
+  (void)itr;
+  return const_iterator(*this, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::lower_bound(dimension_type i) {
+  return find(i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::lower_bound(dimension_type i) const {
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::lower_bound(iterator itr, dimension_type i) {
+  return find(itr, i);
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::lower_bound(const_iterator itr, dimension_type i) const {
+  return find(itr, i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(dimension_type i,
+                  Coefficient_traits::const_reference x) {
+  (*this)[i] = x;
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(dimension_type i) {
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(iterator itr, dimension_type i,
+                  Coefficient_traits::const_reference x) {
+  (void)itr;
+  (*this)[i] = x;
+  return find(i);
+}
+
+inline Dense_Row::iterator
+Dense_Row::insert(iterator itr, dimension_type i) {
+  (void)itr;
+  return find(i);
+}
+
+inline memory_size_type
+Dense_Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline memory_size_type
+Dense_Row::total_memory_in_bytes(dimension_type capacity) const {
+  return sizeof(*this) + external_memory_in_bytes(capacity);
+}
+
+/*! \relates Dense_Row */
+inline bool
+operator!=(const Dense_Row& x, const Dense_Row& y) {
+  return !(x == y);
+}
+
+
+inline
+Dense_Row::iterator::iterator()
+  : row(NULL), i(0) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::iterator::iterator(Dense_Row& row1,dimension_type i1)
+  : row(&row1), i(i1) {
+  PPL_ASSERT(OK());
+}
+
+inline Coefficient&
+Dense_Row::iterator::operator*() {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::iterator::operator*() const {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline dimension_type
+Dense_Row::iterator::index() const {
+  return i;
+}
+
+inline Dense_Row::iterator&
+Dense_Row::iterator::operator++() {
+  PPL_ASSERT(i < row->size());
+  ++i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::iterator
+Dense_Row::iterator::operator++(int) {
+  iterator tmp(*this);
+  ++(*this);
+  return tmp;
+}
+
+inline Dense_Row::iterator&
+Dense_Row::iterator::operator--() {
+  PPL_ASSERT(i > 0);
+  --i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::iterator
+Dense_Row::iterator::operator--(int) {
+  iterator tmp(*this);
+  --(*this);
+  return tmp;
+}
+
+inline bool
+Dense_Row::iterator::operator==(const iterator& x) const {
+  return (row == x.row) && (i == x.i);
+}
+
+inline bool
+Dense_Row::iterator::operator!=(const iterator& x) const {
+  return !(*this == x);
+}
+
+inline
+Dense_Row::iterator::operator const_iterator() const {
+  return const_iterator(*row, i);
+}
+
+inline bool
+Dense_Row::iterator::OK() const {
+  if (row == NULL)
+    return true;
+  // i can be equal to row.size() for past-the-end iterators
+  return (i <= row->size());
+}
+
+
+inline
+Dense_Row::const_iterator::const_iterator()
+  : row(NULL), i(0) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Dense_Row::const_iterator::const_iterator(const Dense_Row& row1,
+                                          dimension_type i1)
+  : row(&row1), i(i1) {
+  PPL_ASSERT(OK());
+}
+
+inline Coefficient_traits::const_reference
+Dense_Row::const_iterator::operator*() const {
+  PPL_ASSERT(i < row->size());
+  return (*row)[i];
+}
+
+inline dimension_type
+Dense_Row::const_iterator::index() const {
+  return i;
+}
+
+inline Dense_Row::const_iterator&
+Dense_Row::const_iterator::operator++() {
+  PPL_ASSERT(i < row->size());
+  ++i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::const_iterator::operator++(int) {
+  const_iterator tmp(*this);
+  ++(*this);
+  return tmp;
+}
+
+inline Dense_Row::const_iterator&
+Dense_Row::const_iterator::operator--() {
+  PPL_ASSERT(i > 0);
+  --i;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline Dense_Row::const_iterator
+Dense_Row::const_iterator::operator--(int) {
+  const_iterator tmp(*this);
+  --(*this);
+  return tmp;
+}
+
+inline bool
+Dense_Row::const_iterator::operator==(const const_iterator& x) const {
+  return (row == x.row) && (i == x.i);
+}
+
+inline bool
+Dense_Row::const_iterator::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+inline bool
+Dense_Row::const_iterator::OK() const {
+  if (row == NULL)
+    return true;
+  // i can be equal to row.size() for past-the-end iterators
+  return (i <= row->size());
+}
+
+inline void
+linear_combine(Dense_Row& x, const Dense_Row& y,
+               Coefficient_traits::const_reference coeff1,
+               Coefficient_traits::const_reference coeff2) {
+  x.linear_combine(y, coeff1, coeff2);
+}
+
+inline void
+linear_combine(Dense_Row& x, const Dense_Row& y,
+               Coefficient_traits::const_reference c1,
+               Coefficient_traits::const_reference c2,
+               dimension_type start, dimension_type end) {
+  x.linear_combine(y, c1, c2, start, end);
+}
+
+/*! \relates Dense_Row */
+inline void
+swap(Dense_Row& x, Dense_Row& y) {
+  x.m_swap(y);
+}
+
+/*! \relates Dense_Row */
+inline void
+iter_swap(std::vector<Dense_Row>::iterator x,
+          std::vector<Dense_Row>::iterator y) {
+  swap(*x, *y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Dense_Row.templates.hh line 1. */
+/* Dense_Row class implementation: non-inline template functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+
+template <typename Func1, typename Func2>
+void
+Dense_Row::combine_needs_first(const Dense_Row& y, const Func1& /* f */,
+                               const Func2& g) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+template <typename Func1, typename Func2>
+void
+Dense_Row::combine_needs_second(const Dense_Row& y, const Func1& g,
+                                const Func2& /* h */) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+template <typename Func1, typename Func2, typename Func3>
+void
+Dense_Row::combine(const Dense_Row& y, const Func1& /* f */, const Func2& g,
+                   const Func3& /* h */) {
+  for (dimension_type i = size(); i-- > 0; )
+    g((*this)[i], y[i]);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Dense_Row.defs.hh line 560. */
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.defs.hh line 1. */
+/* Sparse_Row class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/CO_Tree.defs.hh line 1. */
+/* CO_Tree class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/CO_Tree.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class CO_Tree;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/CO_Tree.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/CO_Tree.defs.hh line 30. */
+#include <memory>
+
+#ifndef PPL_CO_TREE_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*!
+  \brief
+  Enables extra debugging information for class CO_Tree.
+
+  \ingroup PPL_CXX_interface
+  When <CODE>PPL_CO_TREE_EXTRA_DEBUG</CODE> evaluates to <CODE>true</CODE>,
+  each CO_Tree iterator and const_iterator carries a pointer to the associated
+  tree; this enables extra consistency checks to be performed.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define PPL_CO_TREE_EXTRA_DEBUG 1
+#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#define PPL_CO_TREE_EXTRA_DEBUG 0
+#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#endif // !defined(PPL_CO_TREE_EXTRA_DEBUG)
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A cache-oblivious binary search tree of pairs.
+/*! \ingroup PPL_CXX_interface
+  This class implements a binary search tree with keys of dimension_type type
+  and data of Coefficient type, laid out in a dynamically-sized array.
+
+  The array-based layout saves calls to new/delete (to insert \f$n\f$ elements
+  only \f$O(\log n)\f$ allocations are performed) and, more importantly, is
+  much more cache-friendly than a standard (pointer-based) tree, because the
+  elements are stored sequentially in memory (leaving some holes to allow
+  fast insertion of new elements).
+  The downside of this representation is that all iterators are invalidated
+  when an element is added or removed, because the array could have been
+  enlarged or shrunk. This is partially addressed by providing references to
+  internal end iterators that are updated when needed.
+
+  B-trees are cache-friendly too, but the cache size is fixed (usually at
+  compile-time). This raises two problems: firstly the cache size must be
+  known in advance and those data structures do not perform well with other
+  cache sizes and, secondly, even if the cache size is known, the
+  optimizations target only one level of cache. This kind of data structures
+  are called cache aware. This implementation, instead, is cache oblivious:
+  it performs well with every cache size, and thus exploits all of the
+  available caches.
+
+  Assuming \p n is the number of elements in the tree and \p B is the number
+  of (dimension_type, Coefficient) pairs that fit in a cache line, the
+  time and cache misses complexities are the following:
+
+  - Insertions/Queries/Deletions: \f$O(\log^2 n)\f$ time,
+                                  \f$O(\log \frac{n}{B}))\f$ cache misses.
+  - Tree traversal from begin() to end(), using an %iterator: \f$O(n)\f$ time,
+         \f$O(\frac{n}{B})\f$  cache misses.
+  - Queries with a hint: \f$O(\log k)\f$ time and \f$O(\log \frac{k}{B})\f$
+    cache misses, where k is the distance between the given %iterator and the
+    searched element (or the position where it would have been).
+
+  The binary search tree is embedded in a (slightly bigger) complete tree,
+  that is enlarged and shrunk when needed. The complete tree is laid out
+  in an in-order DFS layout in two arrays: one for the keys and one for the
+  associated data.
+  The indexes and values are stored in different arrays to reduce
+  cache-misses during key queries.
+
+  The tree can store up to \f$(-(dimension_type)1)/100\f$ elements.
+  This limit allows faster density computations, but can be removed if needed.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class CO_Tree {
+
+public:
+  class const_iterator;
+  class iterator;
+
+private:
+  //! This is used for node heights and depths in the tree.
+  typedef unsigned height_t;
+
+  PPL_COMPILE_TIME_CHECK(C_Integer<height_t>::max
+                         >= sizeof_to_bits(sizeof(dimension_type)),
+                         "height_t is too small to store depths.");
+
+  class tree_iterator;
+
+  // This must be declared here, because it is a friend of const_iterator.
+  //! Returns the index of the current element in the DFS layout of the
+  //! complete tree.
+  /*!
+    \return the index of the current element in the DFS layout of the complete
+            tree.
+
+    \param itr the iterator that points to the desired element.
+  */
+  dimension_type dfs_index(const_iterator itr) const;
+
+  // This must be declared here, because it is a friend of iterator.
+  //! Returns the index of the current element in the DFS layout of the
+  //! complete tree.
+  /*!
+    \return the index of the current element in the DFS layout of the complete
+            tree.
+
+    \param itr the iterator that points to the desired element.
+  */
+  dimension_type dfs_index(iterator itr) const;
+
+public:
+
+  //! The type of the data elements associated with keys.
+  /*!
+    If this is changed, occurrences of Coefficient_zero() in the CO_Tree
+    implementation have to be replaced with constants of the correct type.
+  */
+  typedef Coefficient data_type;
+  typedef Coefficient_traits::const_reference data_type_const_reference;
+
+  //! A const %iterator on the tree elements, ordered by key.
+  /*!
+    Iterator increment and decrement operations are \f$O(1)\f$ time.
+    These iterators are invalidated by operations that add or remove elements
+    from the tree.
+  */
+  class const_iterator {
+  private:
+  public:
+
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const data_type value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef data_type_const_reference reference;
+
+    //! Constructs an invalid const_iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator();
+
+    //! Constructs an %iterator pointing to the first element of the tree.
+    /*!
+      \param tree
+      The tree that the new %iterator will point to.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator(const CO_Tree& tree);
+
+    //! Constructs a const_iterator pointing to the i-th node of the tree.
+    /*!
+      \param tree
+      The tree that the new %iterator will point to.
+
+      \param i
+      The index of the element in \p tree to which the %iterator will point
+      to.
+
+      The i-th node must be a node with a value or end().
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const CO_Tree& tree, dimension_type i);
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const const_iterator& itr);
+
+    //! Converts an iterator into a const_iterator.
+    /*!
+      \param itr
+      The iterator that will be converted into a const_iterator.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const iterator& itr);
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const iterator& itr);
+
+    //! Navigates to the next element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator++();
+
+    //! Navigates to the previous element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator--();
+
+    //! Navigates to the next element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator operator++(int);
+
+    //! Navigates to the previous element.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator operator--(int);
+
+    //! Returns the current element.
+    data_type_const_reference operator*() const;
+
+    //! Returns the index of the element pointed to by \c *this.
+    /*!
+      \returns the index of the element pointed to by \c *this.
+    */
+    dimension_type index() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& x) const;
+
+  private:
+    //! Checks the internal invariants, in debug mode only.
+    bool OK() const;
+
+    //! A pointer to the corresponding element of the tree's indexes[] array.
+    const dimension_type* current_index;
+
+    //! A pointer to the corresponding element of the tree's data[] array.
+    const data_type* current_data;
+
+#if PPL_CO_TREE_EXTRA_DEBUG
+    //! A pointer to the corresponding tree, used for debug purposes only.
+    const CO_Tree* tree;
+#endif
+
+    friend dimension_type CO_Tree::dfs_index(const_iterator itr) const;
+  };
+
+  //! An %iterator on the tree elements, ordered by key.
+  /*!
+    Iterator increment and decrement operations are \f$O(1)\f$ time.
+    These iterators are invalidated by operations that add or remove elements
+    from the tree.
+  */
+  class iterator {
+  public:
+
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef data_type value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef value_type& reference;
+
+    //! Constructs an invalid iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator();
+
+    //! Constructs an %iterator pointing to first element of the tree.
+    /*!
+      \param tree
+      The tree to which the new %iterator will point to.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit iterator(CO_Tree& tree);
+
+    //! Constructs an %iterator pointing to the i-th node.
+    /*!
+      \param tree
+      The tree to which the new %iterator will point to.
+
+      \param i
+      The index of the element in \p tree to which the new %iterator will
+      point to.
+
+      The i-th node must be a node with a value or end().
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator(CO_Tree& tree, dimension_type i);
+
+    //! The constructor from a tree_iterator.
+    /*!
+      \param itr
+      The tree_iterator that will be converted into an iterator.
+
+      This is meant for use by CO_Tree only.
+      This is not private to avoid the friend declaration.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit iterator(const tree_iterator& itr);
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    iterator(const iterator& itr);
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator=(const iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator=(const tree_iterator& itr);
+
+    //! Navigates to the next element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator++();
+
+    //! Navigates to the previous element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator& operator--();
+
+    //! Navigates to the next element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator operator++(int);
+
+    //! Navigates to the previous element in the tree.
+    /*!
+      This method takes \f$O(1)\f$ time.
+    */
+    iterator operator--(int);
+
+    //! Returns the current element.
+    data_type& operator*();
+
+    //! Returns the current element.
+    data_type_const_reference operator*() const;
+
+    //! Returns the index of the element pointed to by \c *this.
+    /*!
+      \returns the index of the element pointed to by \c *this.
+    */
+    dimension_type index() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const iterator& x) const;
+
+  private:
+    //! Checks the internal invariants, in debug mode only.
+    bool OK() const;
+
+    //! A pointer to the corresponding element of the tree's indexes[] array.
+    const dimension_type* current_index;
+
+    //! A pointer to the corresponding element of the tree's data[] array.
+    data_type* current_data;
+
+#if PPL_CO_TREE_EXTRA_DEBUG
+    //! A pointer to the corresponding tree, used for debug purposes only.
+    CO_Tree* tree;
+#endif
+
+    friend const_iterator& const_iterator::operator=(const iterator&);
+    friend dimension_type CO_Tree::dfs_index(iterator itr) const;
+  };
+
+  //! Constructs an empty tree.
+  /*!
+    This constructor takes \f$O(1)\f$ time.
+  */
+  CO_Tree();
+
+  //! The copy constructor.
+  /*!
+    \param y
+    The tree that will be copied.
+
+    This constructor takes \f$O(n)\f$ time.
+  */
+  CO_Tree(const CO_Tree& y);
+
+  //! A constructor from a sequence of \p n elements.
+  /*!
+    \param i
+    An iterator that points to the first element of the sequence.
+
+    \param n
+    The number of elements in the [i, i_end) sequence.
+
+    i must be an input iterator on a sequence of data_type elements,
+    sorted by index.
+    Objects of Iterator type must have an index() method that returns the
+    index with which the element pointed to by the iterator must be inserted.
+
+    This constructor takes \f$O(n)\f$ time, so it is more efficient than
+    the construction of an empty tree followed by n insertions, that would
+    take \f$O(n*\log^2 n)\f$ time.
+  */
+  template <typename Iterator>
+  CO_Tree(Iterator i, dimension_type n);
+
+  //! The assignment operator.
+  /*!
+    \param y
+    The tree that will be assigned to *this.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  CO_Tree& operator=(const CO_Tree& y);
+
+  //! Removes all elements from the tree.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  void clear();
+
+  //! The destructor.
+  /*!
+    This destructor takes \f$O(n)\f$ time.
+  */
+  ~CO_Tree();
+
+  //! Returns \p true if the tree has no elements.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool empty() const;
+
+  //! Returns the number of elements stored in the tree.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type size() const;
+
+  //! Returns the size() of the largest possible CO_Tree.
+  static dimension_type max_size();
+
+  //! Dumps the tree to stdout, for debugging purposes.
+  void dump_tree() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  dimension_type external_memory_in_bytes() const;
+
+  //! Inserts an element in the tree.
+  /*!
+    \returns
+    An %iterator that points to the inserted pair.
+
+    \param key
+    The key that will be inserted into the tree, associated with the default
+    data.
+
+    If such a pair already exists, an %iterator pointing to that pair is
+    returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(dimension_type key);
+
+  //! Inserts an element in the tree.
+  /*!
+    \returns
+    An %iterator that points to the inserted element.
+
+    \param key
+    The key that will be inserted into the tree..
+
+    \param data
+    The data that will be inserted into the tree.
+
+    If an element with the specified key already exists, its associated data
+    is set to \p data and an %iterator pointing to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.amortized
+  */
+  iterator insert(dimension_type key, data_type_const_reference data);
+
+  //! Inserts an element in the tree.
+  /*!
+    \return
+    An %iterator that points to the inserted element.
+
+    \param itr
+    The %iterator used as hint
+
+    \param key
+    The key that will be inserted into the tree, associated with the default
+    data.
+
+    This will be faster if \p itr points near to the place where the new
+    element will be inserted (or where is already stored).
+    However, the value of \p itr does not affect the result of this
+    method, as long it is a valid %iterator for this tree. \p itr may even be
+    end().
+
+    If an element with the specified key already exists, an %iterator pointing
+    to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(iterator itr, dimension_type key);
+
+  //! Inserts an element in the tree.
+  /*!
+    \return
+    An iterator that points to the inserted element.
+
+    \param itr
+    The iterator used as hint
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be inserted into the tree.
+
+    This will be faster if \p itr points near to the place where the new
+    element will be inserted (or where is already stored).
+    However, the value of \p itr does not affect the result of this
+    method, as long it is a valid iterator for this tree. \p itr may even be
+    end().
+
+    If an element with the specified key already exists, its associated data
+    is set to \p data and an iterator pointing to that pair is returned.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists,
+    and \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator insert(iterator itr, dimension_type key,
+                  data_type_const_reference data);
+
+  //! Erases the element with key \p key from the tree.
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns an iterator to the next element (or end() if there are no
+             elements with key greater than \p key ).
+
+    \param key
+    The key of the element that will be erased from the tree.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists,
+    and \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator erase(dimension_type key);
+
+  //! Erases the element pointed to by \p itr from the tree.
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns an iterator to the next element (or end() if there are no
+             elements with key greater than \p key ).
+
+    \param itr
+    An iterator pointing to the element that will be erased from the tree.
+
+    This method takes \f$O(\log n)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  iterator erase(iterator itr);
+
+  /*!
+    \brief Removes the element with key \p key (if it exists) and decrements
+           by 1 all elements' keys that were greater than \p key.
+
+    \param key
+    The key of the element that will be erased from the tree.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k+\log^2 n)\f$ expected time, where k is the number
+    of elements with keys greater than \p key.
+  */
+  void erase_element_and_shift_left(dimension_type key);
+
+  //! Adds \p n to all keys greater than or equal to \p key.
+  /*!
+    \param key
+    The key of the first element whose key will be increased.
+
+    \param n
+    Specifies how much the keys will be increased.
+
+    This method takes \f$O(k+\log n)\f$ expected time, where k is the number
+    of elements with keys greater than or equal to \p key.
+  */
+  void increase_keys_from(dimension_type key, dimension_type n);
+
+  //! Sets to \p i the key of *itr. Assumes that i<=itr.index() and that there
+  //! are no elements with keys in [i,itr.index()).
+  /*!
+    All existing iterators remain valid.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void fast_shift(dimension_type i, iterator itr);
+
+  //! Swaps x with *this.
+  /*!
+    \param x
+    The tree that will be swapped with *this.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(CO_Tree& x);
+
+  //! Returns an iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
+
+  //! Returns an iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const iterator& end();
+
+  //! Equivalent to cbegin().
+  const_iterator begin() const;
+
+  //! Equivalent to cend().
+  const const_iterator& end() const;
+
+  //! Returns a const_iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator cbegin() const;
+
+  //! Returns a const_iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const const_iterator& cend() const;
+
+  //! Searches an element with key \p key using bisection.
+  /*!
+    \param key
+    The key that will be searched for.
+
+    If the element is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator bisect(dimension_type key);
+
+  //! Searches an element with key \p key using bisection.
+  /*!
+    \param key
+    The key that will be searched for.
+
+    If the element is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator bisect(dimension_type key) const;
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    An %iterator pointing to the first element in the range.
+    It must not be end().
+
+    \param last
+    An %iterator pointing to the last element in the range.
+    Note that this is included in the search.
+    It must not be end().
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the specified key is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log(last - first + 1))\f$ time.
+  */
+  iterator bisect_in(iterator first, iterator last, dimension_type key);
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    An %iterator pointing to the first element in the range.
+    It must not be end().
+
+    \param last
+    An %iterator pointing to the last element in the range.
+    Note that this is included in the search.
+    It must not be end().
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the specified key is found, an %iterator pointing to that element is
+    returned; otherwise, the returned %iterator refers to the immediately
+    preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    This method takes \f$O(\log(last - first + 1))\f$ time.
+  */
+  const_iterator bisect_in(const_iterator first, const_iterator last,
+                           dimension_type key) const;
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An %iterator used as a hint.
+
+    \param key
+    The key that will be searched for.
+
+    If the element is found, the returned %iterator points to that element;
+    otherwise, it points to the immediately preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this tree. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  iterator bisect_near(iterator hint, dimension_type key);
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An %iterator used as a hint.
+
+    \param key
+    The key that will be searched for.
+
+    If the element is found, the returned %iterator points to that element;
+    otherwise, it points to the immediately preceding or succeeding value.
+    If the tree is empty, end() is returned.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this tree. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  const_iterator bisect_near(const_iterator hint, dimension_type key) const;
+
+private:
+
+  //! Searches an element with key \p key in [first, last] using bisection.
+  /*!
+    \param first
+    The index of the first element in the range.
+    It must be the index of an element with a value.
+
+    \param last
+    The index of the last element in the range.
+    It must be the index of an element with a value.
+    Note that this is included in the search.
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the element is found, the index of that element is returned; otherwise,
+    the returned index refers to the immediately preceding or succeeding
+    value.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  dimension_type bisect_in(dimension_type first, dimension_type last,
+                           dimension_type key) const;
+
+  //! Searches an element with key \p key near \p hint.
+  /*!
+    \param hint
+    An index used as a hint.
+    It must be the index of an element with a value.
+
+    \param key
+    The key that will be searched for.
+
+    \return
+    If the element is found, the index of that element is returned; otherwise,
+    the returned index refers to the immediately preceding or succeeding
+    value.
+
+    This uses a binary progression and then a bisection, so this method is
+    \f$O(\log n)\f$, and it is \f$O(1)\f$ if the distance between the returned
+    position and \p hint is \f$O(1)\f$.
+
+    This method takes \f$O(\log n)\f$ time. If the distance between the
+    returned position and \p hint is \f$O(1)\f$ it takes \f$O(1)\f$ time.
+  */
+  dimension_type bisect_near(dimension_type hint, dimension_type key) const;
+
+  //! Inserts an element in the tree.
+  /*!
+    If there is already an element with key \p key in the tree, its
+    associated data is set to \p data.
+
+    This operation invalidates existing iterators.
+
+    \return
+    An %iterator that points to the inserted element.
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be associated with \p key.
+
+    \param itr
+    It must point to the element in the tree with key \p key or, if no such
+    element exists, it must point to the node that would be his parent.
+
+    This method takes \f$O(1)\f$ time if the element already exists, and
+    \f$O(\log^2 n)\f$ amortized time otherwise.
+  */
+  tree_iterator insert_precise(dimension_type key,
+                               data_type_const_reference data,
+                               tree_iterator itr);
+
+  //! Inserts an element in the tree.
+  /*!
+
+    \param key
+    The key that will be inserted into the tree.
+
+    \param data
+    The data that will be associated with \p key.
+
+    The tree must be empty.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void insert_in_empty_tree(dimension_type key,
+                            data_type_const_reference data);
+
+  //! Erases from the tree the element pointed to by \p itr .
+  /*!
+    This operation invalidates existing iterators.
+
+    \returns
+    An %iterator to the next element (or end() if there are no elements with
+    key greater than \p key ).
+
+    \param itr
+    An %iterator pointing to the element that will be erased.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator erase(tree_iterator itr);
+
+  //! Initializes a tree with reserved size at least \p n .
+  /*!
+    \param n
+    A lower bound on the tree's desired reserved size.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void init(dimension_type n);
+
+  //! Deallocates the tree's dynamic arrays.
+  /*!
+    After this call, the tree fields are uninitialized, so init() must be
+    called again before using the tree.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void destroy();
+
+  //! Checks the internal invariants, but not the densities.
+  bool structure_OK() const;
+
+  //! Checks the internal invariants.
+  bool OK() const;
+
+  //! Returns the floor of the base-2 logarithm of \p n .
+  /*!
+    \param n
+    It must be greater than zero.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  static unsigned integer_log2(dimension_type n);
+
+  //! Compares the fractions numer/denom with ratio/100.
+  /*!
+    \returns Returns true if the fraction numer/denom is less
+    than the fraction ratio/100.
+
+    \param ratio
+    It must be less than or equal to 100.
+
+    \param numer
+    The numerator of the fraction.
+
+    \param denom
+    The denominator of the fraction.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static bool is_less_than_ratio(dimension_type numer, dimension_type denom,
+                                 dimension_type ratio);
+
+  //! Compares the fractions numer/denom with ratio/100.
+  /*!
+    \returns
+    Returns true if the fraction numer/denom is greater than the fraction
+    ratio/100.
+
+    \param ratio
+    It must be less than or equal to 100.
+
+    \param numer
+    The numerator of the fraction.
+
+    \param denom
+    The denominator of the fraction.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static bool is_greater_than_ratio(dimension_type numer, dimension_type denom,
+                                    dimension_type ratio);
+
+  //! Dumps the subtree rooted at \p itr to stdout, for debugging purposes.
+  /*!
+    \param itr
+    A tree_iterator pointing to the root of the desired subtree.
+  */
+  static void dump_subtree(tree_iterator itr);
+
+  //! Increases the tree's reserved size.
+  /*!
+    This is called when the density is about to exceed the maximum density
+    (specified by max_density_percent).
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void rebuild_bigger_tree();
+
+  //! Decreases the tree's reserved size.
+  /*!
+    This is called when the density is about to become less than the minimum
+    allowed density (specified by min_density_percent).
+
+    \p reserved_size must be greater than 3 (otherwise the tree can just be
+    cleared).
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void rebuild_smaller_tree();
+
+  //! Re-initializes the cached iterators.
+  /*!
+    This method must be called when the indexes[] and data[] vector are
+    reallocated.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void refresh_cached_iterators();
+
+  //! Rebalances the tree.
+  /*!
+    For insertions, it adds the pair (key, value) in the process.
+
+    This operation invalidates existing iterators that point to nodes in the
+    rebalanced subtree.
+
+    \returns an %iterator pointing to the root of the subtree that was
+             rebalanced.
+
+    \param itr
+    It points to the node where the new element has to be inserted or where an
+    element has just been deleted.
+
+    \param key
+    The index that will be inserted in the tree (for insertions only).
+
+    \param value
+    The value that will be inserted in the tree (for insertions only).
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  tree_iterator rebalance(tree_iterator itr, dimension_type key,
+                          data_type_const_reference value);
+
+  //! Moves all elements of a subtree to the rightmost end.
+  /*!
+    \returns
+    The index of the rightmost unused node in the subtree after the process.
+
+    \param last_in_subtree
+    It is the index of the last element in the subtree.
+
+    \param subtree_size
+    It is the number of valid elements in the subtree.
+    It must be greater than zero.
+
+    \param key
+    The key that may be added to the tree if add_element is \c true.
+
+    \param value
+    The value that may be added to the tree if add_element is \c true.
+
+    \param add_element
+    If it is true, it tries to add an element with key \p key and value
+    \p value in the process (but it may not).
+
+    This method takes \f$O(k)\f$ time, where k is \p subtree_size.
+  */
+  dimension_type compact_elements_in_the_rightmost_end(
+    dimension_type last_in_subtree, dimension_type subtree_size,
+    dimension_type key, data_type_const_reference value,
+    bool add_element);
+
+  //! Redistributes the elements in the subtree rooted at \p root_index.
+  /*!
+    The subtree's elements must be compacted to the rightmost end.
+
+    \param root_index
+    The index of the subtree's root node.
+
+    \param subtree_size
+    It is the number of used elements in the subtree.
+    It must be greater than zero.
+
+    \param last_used
+    It points to the leftmost element with a value in the subtree.
+
+    \param add_element
+    If it is true, this method adds an element with the specified key and
+    value in the process.
+
+    \param key
+    The key that will be added to the tree if \p add_element is \c true.
+
+    \param value
+    The data that will be added to the tree if \p add_element is \c true.
+
+    This method takes \f$O(k)\f$ time, where k is \p subtree_size.
+  */
+  void redistribute_elements_in_subtree(dimension_type root_index,
+                                        dimension_type subtree_size,
+                                        dimension_type last_used,
+                                        dimension_type key,
+                                        data_type_const_reference value,
+                                        bool add_element);
+
+  //! Moves all data in the tree \p tree into *this.
+  /*!
+    \param tree
+    The tree from which the element will be moved into *this.
+
+    *this must be empty and big enough to contain all of tree's data without
+    exceeding max_density.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void move_data_from(CO_Tree& tree);
+
+  //! Copies all data in the tree \p tree into *this.
+  /*!
+    \param tree
+    The tree from which the element will be copied into *this.
+
+    *this must be empty and must have the same reserved size of \p tree.
+    this->OK() may return false before this method is called, but
+    this->structure_OK() must return true.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void copy_data_from(const CO_Tree& tree);
+
+  //! Counts the number of used elements in the subtree rooted at itr.
+  /*!
+    \param itr
+    An %iterator pointing to the root of the desired subtree.
+
+    This method takes \f$O(k)\f$ time, where k is the number of elements in
+    the subtree.
+  */
+  static dimension_type count_used_in_subtree(tree_iterator itr);
+
+  //! Moves the value of \p from in \p to .
+  /*!
+    \param from
+    It must be a valid value.
+
+    \param to
+    It must be a non-constructed chunk of memory.
+
+    After the move, \p from becomes a non-constructed chunk of memory and
+    \p to gets the value previously stored by \p from.
+
+    The implementation of this method assumes that data_type values do not
+    keep pointers to themselves nor to their fields.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  static void move_data_element(data_type& to, data_type& from);
+
+  //! The maximum density of used nodes.
+  /*!
+    This must be greater than or equal to 50 and lower than 100.
+  */
+  static const dimension_type max_density_percent = 91;
+
+  //! The minimum density of used nodes.
+  /*!
+    Must be strictly lower than the half of max_density_percent.
+  */
+  static const dimension_type min_density_percent = 38;
+
+  //! The minimum density at the leaves' depth.
+  /*!
+    Must be greater than zero and strictly lower than min_density_percent.
+
+    Increasing the value is safe but leads to time inefficiencies
+    (measured against ppl_lpsol on 24 August 2010), because it forces trees to
+    be more balanced, increasing the cost of rebalancing.
+  */
+  static const dimension_type min_leaf_density_percent = 1;
+
+  //! An index used as a marker for unused nodes in the tree.
+  /*!
+    This must not be used as a key.
+  */
+  static const dimension_type unused_index = C_Integer<dimension_type>::max;
+
+  //! The %iterator returned by end().
+  /*!
+    It is updated when needed, to keep it valid.
+  */
+  iterator cached_end;
+
+  //! The %iterator returned by the const version of end().
+  /*!
+    It is updated when needed, to keep it valid.
+  */
+  const_iterator cached_const_end;
+
+  //! The depth of the leaves in the complete tree.
+  height_t max_depth;
+
+  //! The vector that contains the keys in the tree.
+  /*!
+    If an element of this vector is \p unused_index , it means that that
+    element and the corresponding element of data[] are not used.
+
+    Its size is reserved_size + 2, because the first and the last elements
+    are used as markers for iterators.
+  */
+  dimension_type* indexes;
+
+  //! The allocator used to allocate/deallocate data.
+  std::allocator<data_type> data_allocator;
+
+  //! The vector that contains the data of the keys in the tree.
+  /*!
+    If index[i] is \p unused_index, data[i] is unused.
+    Otherwise, data[i] contains the data associated to the indexes[i] key.
+
+    Its size is reserved_size + 1, because the first element is not used (to
+    allow using the same index in both indexes[] and data[] instead of
+    adding 1 to access data[]).
+  */
+  data_type* data;
+
+  //! The number of nodes in the complete tree.
+  /*!
+    It is one less than a power of 2.
+    If this is 0, data and indexes are set to NULL.
+  */
+  dimension_type reserved_size;
+
+  //! The number of values stored in the tree.
+  dimension_type size_;
+};
+
+class CO_Tree::tree_iterator {
+
+public:
+
+  /*!
+    \brief Constructs a tree_iterator pointing at the root node of the
+           specified tree
+
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+  */
+  explicit tree_iterator(CO_Tree& tree);
+
+  //! Constructs a tree_iterator pointing at the specified node of the tree.
+  /*!
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+
+    \param i
+    The index of the element in \p tree to which the new %iterator will point
+    to.
+  */
+  tree_iterator(CO_Tree& tree, dimension_type i);
+
+  //! Constructs a tree_iterator from an iterator.
+  /*!
+    \param itr
+    The iterator that will be converted into a tree_iterator.
+    It must not be end().
+
+    \param tree
+    The tree to which the new %iterator will point to.
+    It must not be empty.
+  */
+  tree_iterator(const iterator& itr, CO_Tree& tree);
+
+  //! The assignment operator.
+  /*!
+    \param itr
+    The %iterator that will be assigned into *this.
+  */
+  tree_iterator& operator=(const tree_iterator& itr);
+
+  //! The assignment operator from an iterator.
+  /*!
+    \param itr
+    The iterator that will be assigned into *this.
+  */
+  tree_iterator& operator=(const iterator& itr);
+
+  //! Compares *this with \p itr.
+  /*!
+    \param itr
+    The %iterator that will compared with *this.
+  */
+  bool operator==(const tree_iterator& itr) const;
+
+  //! Compares *this with \p itr.
+  /*!
+    \param itr
+    The %iterator that will compared with *this.
+  */
+  bool operator!=(const tree_iterator& itr) const;
+
+  //! Makes the %iterator point to the root of \p tree.
+  /*!
+    The values of all fields (beside tree) are overwritten.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_root();
+
+  //! Makes the %iterator point to the left child of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_left_child();
+
+  //! Makes the %iterator point to the right child of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_right_child();
+
+  //! Makes the %iterator point to the parent of the current node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  void get_parent();
+
+  /*!
+    \brief Searches for an element with key \p key in the subtree rooted at
+           \p *this.
+
+    \param key
+    The searched for key.
+
+    After this method, *this points to the found node (if it exists) or to
+    the node that would be his parent (otherwise).
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  void go_down_searching_key(dimension_type key);
+
+  /*!
+    \brief Follows left children with a value, until it arrives at a leaf or at
+           a node with no value.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void follow_left_children_with_value();
+
+  /*!
+    \brief Follows right children with a value, until it arrives at a leaf or at
+           a node with no value.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void follow_right_children_with_value();
+
+  //! Returns true if the pointed node is the root node.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_root() const;
+
+  //! Returns true if the pointed node has a parent and is its right child.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_right_child() const;
+
+  //! Returns true if the pointed node is a leaf of the complete tree.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  bool is_leaf() const;
+
+  //! Returns the key and value of the current node.
+  data_type& operator*();
+
+  //! Returns the key and value of the current node.
+  Coefficient_traits::const_reference operator*() const;
+
+  //! Returns a reference to the index of the element pointed to by \c *this.
+  /*!
+    \returns a reference to the index of the element pointed to by \c *this.
+  */
+  dimension_type& index();
+
+  //! Returns the index of the element pointed to by \c *this.
+  /*!
+    \returns the index of the element pointed to by \c *this.
+  */
+  dimension_type index() const;
+
+  //! Returns the index of the node pointed to by \c *this.
+  /*!
+    \returns the key of the node pointed to by \c *this, or unused_index if
+             the current node does not contain a valid element.
+  */
+  dimension_type key() const;
+
+  //! The tree containing the element pointed to by this %iterator.
+  CO_Tree& tree;
+
+  /*!
+    \brief Returns the index of the current node in the DFS layout of the
+           complete tree.
+  */
+  dimension_type dfs_index() const;
+
+  /*!
+    \brief Returns 2^h, with h the height of the current node in the tree,
+           counting from 0.
+
+    Thus leaves have offset 1.
+    This is faster than depth(), so it is useful to compare node depths.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type get_offset() const;
+
+  //! Returns the depth of the current node in the complete tree.
+  /*!
+    This method takes \f$O(\log n)\f$ time.
+  */
+  height_t depth() const;
+
+private:
+  //! Checks the internal invariant.
+  bool OK() const;
+
+  //! The index of the current node in the DFS layout of the complete tree.
+  dimension_type i;
+
+  /*!
+    \brief This is 2^h, with h the height of the current node in the tree,
+           counting from 0.
+
+    Thus leaves have offset 1.
+    This is equal to (i & -i), and is only stored to increase performance.
+  */
+  dimension_type offset;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree& x, CO_Tree& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree::const_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates CO_Tree::iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(CO_Tree::iterator& x, CO_Tree::iterator& y);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/CO_Tree.inlines.hh line 1. */
+/* CO_Tree class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+CO_Tree::dfs_index(const_iterator itr) const {
+  PPL_ASSERT(itr.current_index != 0);
+  PPL_ASSERT(itr.current_index >= indexes + 1);
+  PPL_ASSERT(itr.current_index <= indexes + reserved_size);
+  const ptrdiff_t index = itr.current_index - indexes;
+  return static_cast<dimension_type>(index);
+}
+
+inline dimension_type
+CO_Tree::dfs_index(iterator itr) const {
+  PPL_ASSERT(itr.current_index != 0);
+  PPL_ASSERT(itr.current_index >= indexes + 1);
+  PPL_ASSERT(itr.current_index <= indexes + reserved_size);
+  const ptrdiff_t index = itr.current_index - indexes;
+  return static_cast<dimension_type>(index);
+}
+
+inline
+CO_Tree::CO_Tree() {
+  init(0);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::CO_Tree(const CO_Tree& y) {
+  PPL_ASSERT(y.OK());
+  data_allocator = y.data_allocator;
+  init(y.reserved_size);
+  copy_data_from(y);
+}
+
+inline CO_Tree&
+CO_Tree::operator=(const CO_Tree& y) {
+  if (this != &y) {
+    destroy();
+    data_allocator = y.data_allocator;
+    init(y.reserved_size);
+    copy_data_from(y);
+  }
+  return *this;
+}
+
+inline void
+CO_Tree::clear() {
+  *this = CO_Tree();
+}
+
+inline
+CO_Tree::~CO_Tree() {
+
+  destroy();
+}
+
+inline bool
+CO_Tree::empty() const {
+  return size_ == 0;
+}
+
+inline dimension_type
+CO_Tree::size() const {
+  return size_;
+}
+
+inline dimension_type
+CO_Tree::max_size() {
+  return C_Integer<dimension_type>::max/100;
+}
+
+inline void
+CO_Tree::dump_tree() const {
+  if (empty())
+    std::cout << "(empty tree)" << std::endl;
+  else
+    dump_subtree(tree_iterator(*const_cast<CO_Tree*>(this)));
+}
+
+inline CO_Tree::iterator
+CO_Tree::insert(const dimension_type key) {
+  if (empty())
+    return insert(key, Coefficient_zero());
+  else {
+    tree_iterator itr(*this);
+    itr.go_down_searching_key(key);
+    if (itr.index() == key)
+      return iterator(itr);
+    else
+      return iterator(insert_precise(key, Coefficient_zero(), itr));
+  }
+}
+
+inline CO_Tree::iterator
+CO_Tree::insert(dimension_type key, data_type_const_reference data1) {
+  if (empty()) {
+    insert_in_empty_tree(key, data1);
+    tree_iterator itr(*this);
+    PPL_ASSERT(itr.index() != unused_index);
+    return iterator(itr);
+  } else {
+    tree_iterator itr(*this);
+    itr.go_down_searching_key(key);
+    return iterator(insert_precise(key, data1, itr));
+  }
+}
+
+inline CO_Tree::iterator
+CO_Tree::erase(dimension_type key) {
+  PPL_ASSERT(key != unused_index);
+
+  if (empty())
+    return end();
+
+  tree_iterator itr(*this);
+  itr.go_down_searching_key(key);
+
+  if (itr.index() == key)
+    return erase(itr);
+
+  iterator result(itr);
+  if (result.index() < key)
+    ++result;
+
+  PPL_ASSERT(result == end() || result.index() > key);
+#ifndef NDEBUG
+  iterator last = end();
+  --last;
+  PPL_ASSERT((result == end()) == (last.index() < key));
+#endif
+
+  return result;
+}
+
+inline CO_Tree::iterator
+CO_Tree::erase(iterator itr) {
+  PPL_ASSERT(itr != end());
+  return erase(tree_iterator(itr, *this));
+}
+
+inline void
+CO_Tree::m_swap(CO_Tree& x) {
+  using std::swap;
+  swap(max_depth, x.max_depth);
+  swap(indexes, x.indexes);
+  swap(data_allocator, x.data_allocator);
+  swap(data, x.data);
+  swap(reserved_size, x.reserved_size);
+  swap(size_, x.size_);
+  // Cached iterators have been invalidated by the swap,
+  // they must be refreshed here.
+  refresh_cached_iterators();
+  x.refresh_cached_iterators();
+  PPL_ASSERT(structure_OK());
+  PPL_ASSERT(x.structure_OK());
+}
+
+inline CO_Tree::iterator
+CO_Tree::begin() {
+  return iterator(*this);
+}
+
+inline const CO_Tree::iterator&
+CO_Tree::end() {
+  return cached_end;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::begin() const {
+  return const_iterator(*this);
+}
+
+inline const CO_Tree::const_iterator&
+CO_Tree::end() const {
+  return cached_const_end;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::cbegin() const {
+  return const_iterator(*this);
+}
+
+inline const CO_Tree::const_iterator&
+CO_Tree::cend() const {
+  return cached_const_end;
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect(dimension_type key) {
+  if (empty())
+    return end();
+  iterator last = end();
+  --last;
+  return bisect_in(begin(), last, key);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect(dimension_type key) const {
+  if (empty())
+    return end();
+  const_iterator last = end();
+  --last;
+  return bisect_in(begin(), last, key);
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect_in(iterator first, iterator last, dimension_type key) {
+  PPL_ASSERT(first != end());
+  PPL_ASSERT(last != end());
+  dimension_type index = bisect_in(dfs_index(first), dfs_index(last), key);
+  return iterator(*this, index);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect_in(const_iterator first, const_iterator last,
+                   dimension_type key) const {
+  PPL_ASSERT(first != end());
+  PPL_ASSERT(last != end());
+  dimension_type index = bisect_in(dfs_index(first), dfs_index(last), key);
+  return const_iterator(*this, index);
+}
+
+inline CO_Tree::iterator
+CO_Tree::bisect_near(iterator hint, dimension_type key) {
+  if (hint == end())
+    return bisect(key);
+  dimension_type index = bisect_near(dfs_index(hint), key);
+  return iterator(*this, index);
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::bisect_near(const_iterator hint, dimension_type key) const {
+  if (hint == end())
+    return bisect(key);
+  dimension_type index = bisect_near(dfs_index(hint), key);
+  return const_iterator(*this, index);
+}
+
+inline void
+CO_Tree::fast_shift(dimension_type i, iterator itr) {
+  PPL_ASSERT(itr != end());
+  PPL_ASSERT(i <= itr.index());
+  indexes[dfs_index(itr)] = i;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::insert_in_empty_tree(dimension_type key,
+                              data_type_const_reference data1) {
+  PPL_ASSERT(empty());
+  rebuild_bigger_tree();
+  tree_iterator itr(*this);
+  PPL_ASSERT(itr.index() == unused_index);
+  new (&(*itr)) data_type(data1);
+  // Set the index afterwards, so that if the constructor above throws
+  // the tree's structure is consistent.
+  itr.index() = key;
+  ++size_;
+
+  PPL_ASSERT(OK());
+}
+
+inline bool
+CO_Tree::is_less_than_ratio(dimension_type numer, dimension_type denom,
+                            dimension_type ratio) {
+  PPL_ASSERT(ratio <= 100);
+  // If these are true, no overflows are possible.
+  PPL_ASSERT(denom <= unused_index/100);
+  PPL_ASSERT(numer <= unused_index/100);
+  return 100*numer < ratio*denom;
+}
+
+inline bool
+CO_Tree::is_greater_than_ratio(dimension_type numer, dimension_type denom,
+                               dimension_type ratio) {
+  PPL_ASSERT(ratio <= 100);
+  // If these are true, no overflows are possible.
+  PPL_ASSERT(denom <= unused_index/100);
+  PPL_ASSERT(numer <= unused_index/100);
+  return 100*numer > ratio*denom;
+}
+
+inline void
+CO_Tree::rebuild_smaller_tree() {
+  PPL_ASSERT(reserved_size > 3);
+  CO_Tree new_tree;
+  new_tree.init(reserved_size / 2);
+  new_tree.move_data_from(*this);
+  m_swap(new_tree);
+  PPL_ASSERT(new_tree.structure_OK());
+  PPL_ASSERT(structure_OK());
+}
+
+inline void
+CO_Tree::refresh_cached_iterators() {
+  cached_end = iterator(*this, reserved_size + 1);
+  cached_const_end = const_iterator(*this, reserved_size + 1);
+}
+
+inline void
+CO_Tree::move_data_element(data_type& to, data_type& from) {
+  // The following code is equivalent (but slower):
+  //
+  // <CODE>
+  //   new (&to) data_type(from);
+  //   from.~data_type();
+  // </CODE>
+  std::memcpy(&to, &from, sizeof(data_type));
+}
+
+
+inline
+CO_Tree::const_iterator::const_iterator()
+  : current_index(0), current_data(0) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = 0;
+#endif
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1)
+  : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  if (!tree1.empty())
+    while (*current_index == unused_index) {
+      ++current_index;
+      ++current_data;
+    }
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const CO_Tree& tree1,
+                                        dimension_type i)
+  : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  PPL_ASSERT(i != 0);
+  PPL_ASSERT(i <= tree1.reserved_size + 1);
+  PPL_ASSERT(tree1.empty() || tree1.indexes[i] != unused_index);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const const_iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::const_iterator::const_iterator(const iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::const_iterator::m_swap(const_iterator& itr) {
+  using std::swap;
+  swap(current_data, itr.current_data);
+  swap(current_index, itr.current_index);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  swap(tree, itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  PPL_ASSERT(itr.OK());
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator=(const const_iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator=(const iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator++() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  ++current_index;
+  ++current_data;
+  while (*current_index == unused_index) {
+    ++current_index;
+    ++current_data;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator&
+CO_Tree::const_iterator::operator--() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  --current_index;
+  --current_data;
+  while (*current_index == unused_index) {
+    --current_index;
+    --current_data;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::const_iterator::operator++(int) {
+  const_iterator itr(*this);
+  ++(*this);
+  return itr;
+}
+
+inline CO_Tree::const_iterator
+CO_Tree::const_iterator::operator--(int) {
+  const_iterator itr(*this);
+  --(*this);
+  return itr;
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::const_iterator::operator*() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline dimension_type
+CO_Tree::const_iterator::index() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_index;
+}
+
+inline bool
+CO_Tree::const_iterator::operator==(const const_iterator& x) const {
+  PPL_ASSERT((current_index == x.current_index)
+             == (current_data == x.current_data));
+  PPL_ASSERT(OK());
+  return (current_index == x.current_index);
+}
+
+inline bool
+CO_Tree::const_iterator::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+
+inline
+CO_Tree::iterator::iterator()
+  : current_index(0), current_data(0) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = 0;
+#endif
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(CO_Tree& tree1)
+  : current_index(&(tree1.indexes[1])), current_data(&(tree1.data[1])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  if (!tree1.empty())
+    while (*current_index == unused_index) {
+      ++current_index;
+      ++current_data;
+    }
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(CO_Tree& tree1, dimension_type i)
+  : current_index(&(tree1.indexes[i])), current_data(&(tree1.data[i])) {
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &tree1;
+#endif
+  PPL_ASSERT(i != 0);
+  PPL_ASSERT(i <= tree1.reserved_size + 1);
+  PPL_ASSERT(tree1.empty() || tree1.indexes[i] != unused_index);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(const tree_iterator& itr) {
+  *this = itr;
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::iterator::iterator(const iterator& itr2) {
+  (*this) = itr2;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::iterator::m_swap(iterator& itr) {
+  using std::swap;
+  swap(current_data, itr.current_data);
+  swap(current_index, itr.current_index);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  swap(tree, itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  PPL_ASSERT(itr.OK());
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator=(const tree_iterator& itr) {
+  current_index = &(itr.tree.indexes[itr.dfs_index()]);
+  current_data = &(itr.tree.data[itr.dfs_index()]);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = &(itr.tree);
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator=(const iterator& itr2) {
+  current_index = itr2.current_index;
+  current_data = itr2.current_data;
+#if PPL_CO_TREE_EXTRA_DEBUG
+  tree = itr2.tree;
+#endif
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator++() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  ++current_index;
+  ++current_data;
+  while (*current_index == unused_index) {
+    ++current_index;
+    ++current_data;
+  }
+
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator&
+CO_Tree::iterator::operator--() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  --current_index;
+  --current_data;
+  while (*current_index == unused_index) {
+    --current_index;
+    --current_data;
+  }
+
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+inline CO_Tree::iterator
+CO_Tree::iterator::operator++(int) {
+  iterator itr(*this);
+  ++(*this);
+  return itr;
+}
+
+inline CO_Tree::iterator
+CO_Tree::iterator::operator--(int) {
+  iterator itr(*this);
+  --(*this);
+  return itr;
+}
+
+inline CO_Tree::data_type&
+CO_Tree::iterator::operator*() {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::iterator::operator*() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_data;
+}
+
+inline dimension_type
+CO_Tree::iterator::index() const {
+  PPL_ASSERT(current_index != 0);
+  PPL_ASSERT(current_data != 0);
+  PPL_ASSERT(OK());
+#if PPL_CO_TREE_EXTRA_DEBUG
+  PPL_ASSERT(current_index != &(tree->indexes[tree->reserved_size + 1]));
+#endif
+  return *current_index;
+}
+
+inline bool
+CO_Tree::iterator::operator==(const iterator& x) const {
+  PPL_ASSERT((current_index == x.current_index)
+             == (current_data == x.current_data));
+  PPL_ASSERT(OK());
+  return (current_index == x.current_index);
+}
+
+inline bool
+CO_Tree::iterator::operator!=(const iterator& x) const {
+  return !(*this == x);
+}
+
+
+inline
+CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  get_root();
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::tree_iterator::tree_iterator(CO_Tree& tree1, dimension_type i1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  PPL_ASSERT(i1 <= tree.reserved_size + 1);
+  i = i1;
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline
+CO_Tree::tree_iterator::tree_iterator(const iterator& itr, CO_Tree& tree1)
+  : tree(tree1) {
+  PPL_ASSERT(tree.reserved_size != 0);
+  *this = itr;
+  PPL_ASSERT(OK());
+}
+
+inline CO_Tree::tree_iterator&
+CO_Tree::tree_iterator::operator=(const tree_iterator& itr) {
+  PPL_ASSERT(&tree == &(itr.tree));
+  i = itr.i;
+  offset = itr.offset;
+  return *this;
+}
+
+inline CO_Tree::tree_iterator&
+CO_Tree::tree_iterator::operator=(const iterator& itr) {
+  PPL_ASSERT(itr != tree.end());
+  i = tree.dfs_index(itr);
+  offset = least_significant_one_mask(i);
+  return *this;
+}
+
+inline bool
+CO_Tree::tree_iterator::operator==(const tree_iterator& itr) const {
+  return i == itr.i;
+}
+
+inline bool
+CO_Tree::tree_iterator::operator!=(const tree_iterator& itr) const {
+  return !(*this == itr);
+}
+
+inline void
+CO_Tree::tree_iterator::get_root() {
+  i = tree.reserved_size / 2 + 1;
+  offset = i;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_left_child() {
+  PPL_ASSERT(offset != 0);
+  PPL_ASSERT(offset != 1);
+  offset /= 2;
+  i -= offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_right_child() {
+  PPL_ASSERT(offset != 0);
+  PPL_ASSERT(offset != 1);
+  offset /= 2;
+  i += offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::get_parent() {
+  PPL_ASSERT(!is_root());
+  PPL_ASSERT(offset != 0);
+  i &= ~offset;
+  offset *= 2;
+  i |= offset;
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::follow_left_children_with_value() {
+  PPL_ASSERT(index() != unused_index);
+  dimension_type* p = tree.indexes;
+  p += i;
+  p -= (offset - 1);
+  while (*p == unused_index)
+    ++p;
+  ptrdiff_t distance = p - tree.indexes;
+  PPL_ASSERT(distance >= 0);
+  i = static_cast<dimension_type>(distance);
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline void
+CO_Tree::tree_iterator::follow_right_children_with_value() {
+  PPL_ASSERT(index() != unused_index);
+  dimension_type* p = tree.indexes;
+  p += i;
+  p += (offset - 1);
+  while (*p == unused_index)
+    --p;
+  ptrdiff_t distance = p - tree.indexes;
+  PPL_ASSERT(distance >= 0);
+  i = static_cast<dimension_type>(distance);
+  offset = least_significant_one_mask(i);
+  PPL_ASSERT(OK());
+}
+
+inline bool
+CO_Tree::tree_iterator::is_root() const {
+  // This is implied by OK(), it is here for reference only.
+  PPL_ASSERT(offset <= (tree.reserved_size / 2 + 1));
+  return offset == (tree.reserved_size / 2 + 1);
+}
+
+inline bool
+CO_Tree::tree_iterator::is_right_child() const {
+  if (is_root())
+    return false;
+  return (i & (2*offset)) != 0;
+}
+
+inline bool
+CO_Tree::tree_iterator::is_leaf() const {
+  return offset == 1;
+}
+
+inline CO_Tree::data_type&
+CO_Tree::tree_iterator::operator*() {
+  return tree.data[i];
+}
+
+inline Coefficient_traits::const_reference
+CO_Tree::tree_iterator::operator*() const {
+  return tree.data[i];
+}
+
+inline dimension_type&
+CO_Tree::tree_iterator::index() {
+  return tree.indexes[i];
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::index() const {
+  return tree.indexes[i];
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::dfs_index() const {
+  return i;
+}
+
+inline dimension_type
+CO_Tree::tree_iterator::get_offset() const {
+  return offset;
+}
+
+inline CO_Tree::height_t
+CO_Tree::tree_iterator::depth() const {
+  return integer_log2((tree.reserved_size + 1) / offset);
+}
+
+inline void
+swap(CO_Tree& x, CO_Tree& y) {
+  x.m_swap(y);
+}
+
+inline void
+swap(CO_Tree::const_iterator& x, CO_Tree::const_iterator& y) {
+  x.m_swap(y);
+}
+
+inline void
+swap(CO_Tree::iterator& x, CO_Tree::iterator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/CO_Tree.templates.hh line 1. */
+/* CO_Tree class implementation: non-inline template functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Iterator>
+CO_Tree::CO_Tree(Iterator i, dimension_type n) {
+
+  if (n == 0) {
+    init(0);
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  dimension_type new_max_depth = integer_log2(n) + 1;
+  reserved_size = (static_cast<dimension_type>(1) << new_max_depth) - 1;
+
+  if (is_greater_than_ratio(n, reserved_size, max_density_percent)
+      && reserved_size != 3)
+    reserved_size = reserved_size*2 + 1;
+
+  init(reserved_size);
+
+  tree_iterator root(*this);
+
+  // This is static and with static allocation, to improve performance.
+  // sizeof_to_bits(sizeof(dimension_type)) is the maximum k such that
+  // 2^k-1 is a dimension_type, so it is the maximum tree height.
+  // For each node level, the stack may contain up to 4 elements: two elements
+  // with operation 0, one element with operation 2 and one element
+  // with operation 3. An additional element with operation 1 can be at the
+  // top of the tree.
+  static std::pair<dimension_type, signed char>
+    stack[4U * sizeof_to_bits(sizeof(dimension_type)) + 1U];
+
+  dimension_type stack_first_empty = 0;
+
+  // A pair (n, operation) in the stack means:
+  //
+  // * Go to the parent, if operation is 0.
+  // * Go to the left child, then fill the current tree with n elements, if
+  //   operation is 1.
+  // * Go to the right child, then fill the current tree with n elements, if
+  //   operation is 2.
+  // * Fill the current tree with n elements, if operation is 3.
+
+  stack[0].first = n;
+  stack[0].second = 3;
+  ++stack_first_empty;
+
+  while (stack_first_empty != 0) {
+
+    // Implement
+    //
+    // <CODE>
+    //   top_n         = stack.top().first;
+    //   top_operation = stack.top().second;
+    // </CODE>
+    const dimension_type top_n = stack[stack_first_empty - 1].first;
+    const signed char top_operation = stack[stack_first_empty - 1].second;
+
+    switch (top_operation) {
+
+    case 0:
+      root.get_parent();
+      --stack_first_empty;
+      continue;
+
+    case 1:
+      root.get_left_child();
+      break;
+
+    case 2:
+      root.get_right_child();
+      break;
+#ifndef NDEBUG
+    case 3:
+      break;
+
+    default:
+      // We should not be here
+      PPL_UNREACHABLE;
+#endif
+    }
+
+    // We now visit the current tree
+
+    if (top_n == 0) {
+      --stack_first_empty;
+    } else {
+      if (top_n == 1) {
+        PPL_ASSERT(root.index() == unused_index);
+        root.index() = i.index();
+        new (&(*root)) data_type(*i);
+        ++i;
+        --stack_first_empty;
+      } else {
+        PPL_ASSERT(stack_first_empty + 3 < sizeof(stack)/sizeof(stack[0]));
+
+        const dimension_type half = (top_n + 1) / 2;
+        stack[stack_first_empty - 1].second = 0;
+        stack[stack_first_empty    ] = std::make_pair(top_n - half, 2);
+        stack[stack_first_empty + 1] = std::make_pair(1, 3);
+        stack[stack_first_empty + 2].second = 0;
+        stack[stack_first_empty + 3] = std::make_pair(half - 1, 1);
+        stack_first_empty += 4;
+      }
+    }
+  }
+  size_ = n;
+  PPL_ASSERT(OK());
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/CO_Tree.defs.hh line 1547. */
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.defs.hh line 32. */
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A finite sparse sequence of coefficients.
+/*! \ingroup PPL_CXX_interface
+  This class is implemented using a CO_Tree. See the documentation of CO_Tree
+  for details on the implementation and the performance.
+
+  This class is a drop-in replacement of Dense_Row, meaning that code
+  using Dense_Row can be ported to Sparse_Row changing only the type.
+  The resulting code will work, but probably needs more CPU and memory (it
+  does not exploit the sparse representation yet).
+
+  To take advantage of the sparse representation, the client code must then be
+  modified to use methods which can have a faster implementation on sparse
+  data structures.
+
+  The main changes are the replacement of calls to operator[] with calls to
+  find(), lower_bound() or insert(), using hint iterators when possible.
+  Sequential scanning of rows should probably be implemented using iterators
+  rather than indexes, to improve performance.
+  reset() should be called to zero elements.
+
+  \see Sparse_Matrix
+  \see CO_Tree
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Sparse_Row {
+
+public:
+
+  //! An %iterator on the row elements
+  /*!
+    This %iterator skips non-stored zeroes.
+    \see CO_Tree::iterator
+  */
+  typedef CO_Tree::iterator iterator;
+
+  //! A const %iterator on the row elements
+  /*!
+    This %iterator skips non-stored zeroes.
+    \see CO_Tree::const_iterator
+  */
+  typedef CO_Tree::const_iterator const_iterator;
+
+  //! Constructs a row with the specified size.
+  /*!
+    \param n
+    The size for the new row.
+
+    The row will contain only non-stored zeroes.
+
+    This constructor takes \f$O(1)\f$ time.
+  */
+  explicit Sparse_Row(dimension_type n = 0);
+
+  //! Constructs a row with the specified size.
+  /*!
+    \param n
+    The size for the new row.
+
+    \param capacity
+    It is ignored. This parameter is needed for compatibility with Dense_Row.
+
+    The row will contain only non-stored zeroes.
+
+    This constructor takes \f$O(1)\f$ time.
+  */
+  Sparse_Row(dimension_type n, dimension_type capacity);
+
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to
+    the size of \p y.
+  */
+  Sparse_Row(const Sparse_Row& y, dimension_type capacity);
+
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type capacity);
+
+  //! Constructor from a Dense_Row.
+  /*!
+    \param row
+    The row that will be copied into *this.
+
+    This constructor takes \f$O(n)\f$ time. Note that constructing of a row of
+    zeroes and then inserting n elements costs \f$O(n*\log^2 n)\f$ time.
+  */
+  explicit Sparse_Row(const Dense_Row& row);
+
+  //! Copy constructor from a Dense_Row with specified size and capacity.
+  /*!
+    It is assumed that \p sz is less than or equal to \p capacity.
+  */
+  Sparse_Row(const Dense_Row& y, dimension_type sz, dimension_type capacity);
+
+  Sparse_Row& operator=(const Dense_Row& row);
+
+  //! Swaps *this and x.
+  /*!
+    \param x
+    The row that will be swapped with *this.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(Sparse_Row& x);
+
+  //! Returns the size of the row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type size() const;
+
+  //! Returns the number of elements explicitly stored in the row.
+  /*!
+    This is equivalent to std::distance(begin(), end()), but it's much faster.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_stored_elements() const;
+
+  //! Resizes the row to the specified size.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time when shrinking the
+    row and removing the trailing k elements.
+    It takes \f$O(1)\f$ time when enlarging the row.
+  */
+  void resize(dimension_type n);
+
+  //! Resizes the row to size \p n.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method, with this signature, is needed for compatibility with
+    Dense_Row.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void expand_within_capacity(dimension_type n);
+
+  //! Resizes the row to size \p n.
+  /*!
+    \param n
+    The new size for the row.
+
+    This method, with this signature, is needed for compatibility with
+    Dense_Row.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time where k is the number
+    of removed elements.
+  */
+  void shrink(dimension_type n);
+
+  /*!
+    \brief Deletes the i-th element from the row, shifting the next elements
+           to the left.
+
+    \param i
+    The index of the element that will be deleted.
+
+    The size of the row is decreased by 1.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k+\log^2 n)\f$ amortized time, where k is the
+    number of elements with index greater than i.
+  */
+  void delete_element_and_shift(dimension_type i);
+
+  //! Adds \p n zeroes before index \p i.
+  /*!
+    \param n
+    The number of non-stored zeroes that will be added to the row.
+
+    \param i
+    The index of the element before which the zeroes will be added.
+
+    Existing elements with index greater than or equal to \p i are shifted to
+    the right by \p n positions. The size is increased by \p n.
+
+    Existing iterators are not invalidated, but are shifted to the right
+    by \p n if they pointed at or after index \p i (i.e., they point to
+    the same, possibly shifted, values as before).
+
+    This method takes \f$O(k + \log m)\f$ expected time, where \f$k\f$ is
+    the number of elements with index greater than or equal to \p i and
+    \f$m\f$ the number of stored elements.
+  */
+  void add_zeroes_and_shift(dimension_type n, dimension_type i);
+
+  //! Returns an %iterator that points at the first stored element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
+
+  //! Returns an %iterator that points after the last stored element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is kept valid.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const iterator& end();
+
+  //! Equivalent to <CODE>cbegin()</CODE>.
+  const_iterator begin() const;
+
+  //! Equivalent to <CODE>cend()</CODE>.
+  const const_iterator& end() const;
+
+  //! Returns an %iterator that points at the first element.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator cbegin() const;
+
+  //! Returns an %iterator that points after the last element.
+  /*!
+    This method always returns a reference to the same internal %iterator,
+    that is updated at each operation that modifies the structure.
+    Client code can keep a const reference to that %iterator instead of
+    keep updating a local %iterator.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  const const_iterator& cend() const;
+
+  //! Returns the size() of the largest possible Sparse_Row.
+  static dimension_type max_size();
+
+  //! Resets all the elements of this row.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  void clear();
+
+  //! Gets a reference to the i-th element.
+  /*!
+    \param i
+    The index of the desired element.
+
+    For read-only access it's better to use get(), that avoids allocating
+    space for zeroes.
+
+    If possible, use the insert(), find() or lower_bound() methods with
+    a hint instead of this, to improve performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log n)\f$ amortized time when there is already an
+    element with index \p i, and \f$O(\log^2 n)\f$ otherwise.
+  */
+  Coefficient& operator[](dimension_type i);
+
+  //! Equivalent to <CODE>get(i)</CODE>, provided for convenience.
+  /*!
+    This method takes \f$O(\log n)\f$ time.
+  */
+  Coefficient_traits::const_reference operator[](dimension_type i) const;
+
+  //! Gets the i-th element in the sequence.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the insert(), find() or lower_bound() methods with
+    a hint instead of this, to improve performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator find(dimension_type i);
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  iterator find(iterator itr, dimension_type i);
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator find(dimension_type i) const;
+
+  //! Looks for an element with index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  const_iterator find(const_iterator itr, dimension_type i) const;
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  iterator lower_bound(dimension_type i);
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  iterator lower_bound(iterator itr, dimension_type i);
+
+  //! Lower bound of index i.
+  /*!
+
+    \param i
+    The index of the desired element.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    If possible, use the find() method that takes a hint %iterator, to improve
+    performance.
+
+    This method takes \f$O(\log n)\f$ time.
+  */
+  const_iterator lower_bound(dimension_type i) const;
+
+  //! Lower bound of index i.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr.
+
+    \returns an %iterator to the first element with index greater than or
+             equal to i.
+             If there are no such elements, returns end().
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This method takes \f$O(\log n)\f$ time.
+    If the distance between \p itr and the searched position is \f$O(1)\f$,
+    this method takes \f$O(1)\f$ time.
+  */
+  const_iterator lower_bound(const_iterator itr, dimension_type i) const;
+
+  //! Equivalent to <CODE>(*this)[i] = x; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param x
+    The value that will be associated to the element.
+
+    If possible, use versions of this method that take a hint, to improve
+    performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator insert(dimension_type i, Coefficient_traits::const_reference x);
+
+  //! Equivalent to <CODE>(*this)[i] = x; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param x
+    The value that will be associated to the element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr, even faster than <CODE>(*this)[i] = x</CODE>.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time. If the distance
+    between \p itr and the searched position is \f$O(1)\f$ and the row already
+    contains an element with this index, this method takes \f$O(1)\f$ time.
+  */
+  iterator insert(iterator itr, dimension_type i,
+                  Coefficient_traits::const_reference x);
+
+  //! Equivalent to <CODE>(*this)[i]; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    If possible, use versions of this method that take a hint, to improve
+    performance.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator insert(dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i]; find(i)</CODE>, but faster.
+  /*!
+    \param i
+    The index of the desired element.
+
+    \param itr
+    It is used as a hint. This method will be faster if the searched element
+    is near to \p itr, even faster than <CODE>(*this)[i]</CODE>.
+
+    The value of \p itr does not affect the result of this method, as long it
+    is a valid %iterator for this row. \p itr may even be end().
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time. If the distance
+    between \p itr and the searched position is \f$O(1)\f$ and the row already
+    contains an element with this index, this method takes \f$O(1)\f$ time.
+  */
+  iterator insert(iterator itr, dimension_type i);
+
+  //! Swaps the i-th element with the j-th element.
+  /*!
+    \param i
+    The index of an element.
+
+    \param j
+    The index of another element.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  void swap_coefficients(dimension_type i, dimension_type j);
+
+  //! Equivalent to swap(i,itr.index()), but it assumes that
+  //! lower_bound(i)==itr.
+  /*!
+    Iterators that pointed to the itr.index()-th element remain valid
+    but now point to the i-th element. Other iterators are unaffected.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void fast_swap(dimension_type i, iterator itr);
+
+  //! Swaps the element pointed to by i with the element pointed to by j.
+  /*!
+    \param i
+    An %iterator pointing to an element.
+
+    \param j
+    An %iterator pointing to another element.
+
+    This method takes \f$O(1)\f$ time.
+  */
+  void swap_coefficients(iterator i, iterator j);
+
+  //! Resets to zero the value pointed to by i.
+  /*!
+    \param i
+    An %iterator pointing to the element that will be reset (not stored
+    anymore).
+
+    By calling this method instead of getting a reference to the value and
+    setting it to zero, the element will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  iterator reset(iterator i);
+
+  //! Resets to zero the values in the range [first,last).
+  /*!
+    \param first
+    An %iterator pointing to the first element to reset.
+
+    \param last
+    An %iterator pointing after the last element to reset.
+
+    By calling this method instead of getting a reference to the values and
+    setting them to zero, the elements will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time, where k is the
+    number of elements in [first,last).
+  */
+  iterator reset(iterator first, iterator last);
+
+  //! Resets to zero the i-th element.
+  /*!
+    \param i
+    The index of the element to reset.
+
+    By calling this method instead of getting a reference to the value and
+    setting it to zero, the element will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(\log^2 n)\f$ amortized time.
+  */
+  void reset(dimension_type i);
+
+  //! Resets to zero the elements with index greater than or equal to i.
+  /*!
+    \param i
+    The index of the first element to reset.
+
+    By calling this method instead of getting a reference to the values and
+    setting them to zero, the elements will no longer be stored.
+
+    This operation invalidates existing iterators.
+
+    This method takes \f$O(k*\log^2 n)\f$ amortized time, where k is the
+    number of elements with index greater than or equal to i.
+  */
+  void reset_after(dimension_type i);
+
+  //! Normalizes the modulo of coefficients so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the elements of the row
+    and normalizes them by the GCD itself.
+
+    This method takes \f$O(n)\f$ time.
+  */
+  void normalize();
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_second
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_first(const Sparse_Row& y,
+                           const Func1& f, const Func2& g);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, 0) must do nothing, for every c1.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine
+  */
+  template <typename Func1, typename Func2>
+  void combine_needs_second(const Sparse_Row& y,
+                            const Func1& g, const Func2& h);
+
+  //! Calls g(x[i],y[i]), for each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param f
+    A functor that should take a Coefficient&.
+    f(c1) must be equivalent to g(c1, 0).
+
+    \param g
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    g(c1, c2) must do nothing when both c1 and c2 are zero.
+
+    \param h
+    A functor that should take a Coefficient& and a
+    Coefficient_traits::const_reference.
+    h(c1, c2) must be equivalent to g(c1, c2) when c1 is zero.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary, assuming the requested
+    properties hold.
+
+    \see combine_needs_first
+    \see combine_needs_second
+  */
+  template <typename Func1, typename Func2, typename Func3>
+  void combine(const Sparse_Row& y,
+               const Func1& f, const Func2& g, const Func3& h);
+
+  //! Executes <CODE>(*this)[i] = (*this)[i]*coeff1 + y[i]*coeff2</CODE>, for
+  //! each i.
+  /*!
+    \param y
+    The row that will be combined with *this.
+
+    \param coeff1
+    The coefficient used for elements of *this.
+    This must not be 0.
+
+    \param coeff2
+    The coefficient used for elements of y.
+    This must not be 0.
+
+    This method takes \f$O(n*\log^2 n)\f$ time.
+
+    \note
+    The functors will only be called when necessary.
+    This method can be implemented in user code, too. It is provided for
+    convenience only.
+
+    \see combine_needs_first
+    \see combine_needs_second
+    \see combine
+  */
+  void linear_combine(const Sparse_Row& y,
+                      Coefficient_traits::const_reference coeff1,
+                      Coefficient_traits::const_reference coeff2);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  /*!
+    This method, unlike the other linear_combine() method, detects when
+    coeff1==1 and/or coeff2==1 or coeff2==-1 in order to save some work.
+  */
+  void linear_combine(const Sparse_Row& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  PPL_OUTPUT_DECLARATIONS
+
+  //! Loads the row from an ASCII representation generated using ascii_dump().
+  /*!
+    \param s
+    The stream from which the ASCII representation will be loaded.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    This method takes \f$O(n)\f$ time.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method takes \f$O(n)\f$ time.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    This method takes \f$O(n)\f$ time.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+
+  //! Checks the invariant.
+  bool OK() const;
+
+  //! Checks the invariant.
+  /*!
+    This method is provided for compatibility with Dense_Row.
+
+    \param capacity
+    This parameter is ignored.
+  */
+  bool OK(dimension_type capacity) const;
+
+private:
+  //! The tree used to store the elements.
+  CO_Tree tree;
+
+  //! The size of the row.
+  /*!
+    The elements contained in this row have indexes that are less than size_.
+  */
+  dimension_type size_;
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Sparse_Row& x,
+          Parma_Polyhedra_Library::Sparse_Row& y);
+
+void swap(Parma_Polyhedra_Library::Sparse_Row& x,
+          Parma_Polyhedra_Library::Dense_Row& y);
+
+void swap(Parma_Polyhedra_Library::Dense_Row& x,
+          Parma_Polyhedra_Library::Sparse_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Sparse_Row& x, const Sparse_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Sparse_Row& x, const Sparse_Row& y);
+
+bool operator==(const Dense_Row& x, const Sparse_Row& y);
+bool operator!=(const Dense_Row& x, const Sparse_Row& y);
+
+bool operator==(const Sparse_Row& x, const Dense_Row& y);
+bool operator!=(const Sparse_Row& x, const Dense_Row& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Dense_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference coeff1,
+                    Coefficient_traits::const_reference coeff2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Equivalent to <CODE>x[i] = x[i] * c1 + y[i] * c2</CODE>,
+//! for each i in [start, end).
+/*! \relates Sparse_Row
+  This function detects when coeff1==1 and/or coeff2==1 or coeff2==-1 in
+  order to save some work.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void linear_combine(Sparse_Row& x, const Sparse_Row& y,
+                    Coefficient_traits::const_reference c1,
+                    Coefficient_traits::const_reference c2,
+                    dimension_type start, dimension_type end);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.inlines.hh line 1. */
+/* Sparse_Row class implementation: inline functions.
+*/
+
+
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Sparse_Row::Sparse_Row(dimension_type n)
+  : size_(n) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Sparse_Row::Sparse_Row(dimension_type n, dimension_type)
+  : size_(n) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type)
+  : tree(y.tree), size_(y.size_) {
+}
+
+inline
+Sparse_Row::Sparse_Row(const Sparse_Row& y, dimension_type sz, dimension_type)
+  : tree(y.begin(),
+         std::distance(y.begin(), y.lower_bound(std::min(y.size(), sz)))),
+    size_(sz) {
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::m_swap(Sparse_Row& x) {
+  using std::swap;
+  swap(tree, x.tree);
+  swap(size_, x.size_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(x.OK());
+}
+
+inline dimension_type
+Sparse_Row::size() const {
+  return size_;
+}
+
+inline dimension_type
+Sparse_Row::num_stored_elements() const {
+  return tree.size();
+}
+
+inline void
+Sparse_Row::resize(dimension_type n) {
+  if (n < size_)
+    reset_after(n);
+  size_ = n;
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::shrink(dimension_type n) {
+  PPL_ASSERT(size() >= n);
+  resize(n);
+}
+
+inline void
+Sparse_Row::expand_within_capacity(dimension_type n) {
+  PPL_ASSERT(size() <= n);
+  resize(n);
+}
+
+inline void
+Sparse_Row::delete_element_and_shift(dimension_type i) {
+  PPL_ASSERT(i < size_);
+  tree.erase_element_and_shift_left(i);
+  --size_;
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::add_zeroes_and_shift(dimension_type n, dimension_type i) {
+  PPL_ASSERT(i <= size_);
+  tree.increase_keys_from(i, n);
+  size_ += n;
+  PPL_ASSERT(OK());
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::begin() {
+  return tree.begin();
+}
+
+inline const Sparse_Row::iterator&
+Sparse_Row::end() {
+  return tree.end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::begin() const {
+  return tree.cbegin();
+}
+
+inline const Sparse_Row::const_iterator&
+Sparse_Row::end() const {
+  return tree.cend();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::cbegin() const {
+  return tree.cbegin();
+}
+
+inline const Sparse_Row::const_iterator&
+Sparse_Row::cend() const {
+  return tree.cend();
+}
+
+inline dimension_type
+Sparse_Row::max_size() {
+  return CO_Tree::max_size();
+}
+
+inline void
+Sparse_Row::clear() {
+  tree.clear();
+}
+
+inline Coefficient&
+Sparse_Row::operator[](dimension_type i) {
+  PPL_ASSERT(i < size_);
+  iterator itr = insert(i);
+  return *itr;
+}
+
+inline Coefficient_traits::const_reference
+Sparse_Row::operator[](dimension_type i) const {
+  return get(i);
+}
+
+inline Coefficient_traits::const_reference
+Sparse_Row::get(dimension_type i) const {
+  PPL_ASSERT(i < size_);
+  if (tree.empty())
+    return Coefficient_zero();
+  const_iterator itr = find(i);
+  if (itr != end())
+    return *itr;
+  else
+    return Coefficient_zero();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::find(dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  iterator itr = tree.bisect(i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::find(iterator hint, dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  iterator itr = tree.bisect_near(hint, i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::find(dimension_type i) const {
+  PPL_ASSERT(i < size());
+
+  const_iterator itr = tree.bisect(i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::find(const_iterator hint, dimension_type i) const {
+  PPL_ASSERT(i < size());
+
+  const_iterator itr = tree.bisect_near(hint, i);
+
+  if (itr != end() && itr.index() == i)
+    return itr;
+
+  return end();
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::lower_bound(dimension_type i) {
+  PPL_ASSERT(i <= size());
+
+  iterator itr = tree.bisect(i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::lower_bound(iterator hint, dimension_type i) {
+  PPL_ASSERT(i <= size());
+
+  iterator itr = tree.bisect_near(hint, i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::lower_bound(dimension_type i) const {
+  PPL_ASSERT(i <= size());
+
+  const_iterator itr = tree.bisect(i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::const_iterator
+Sparse_Row::lower_bound(const_iterator hint, dimension_type i) const {
+  PPL_ASSERT(i <= size());
+
+  const_iterator itr = tree.bisect_near(hint, i);
+
+  if (itr == end())
+    return end();
+
+  if (itr.index() < i)
+    ++itr;
+
+  PPL_ASSERT(itr == end() || itr.index() >= i);
+
+  return itr;
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(dimension_type i, Coefficient_traits::const_reference x) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(i, x);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(iterator itr, dimension_type i,
+                   Coefficient_traits::const_reference x) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(itr, i, x);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(dimension_type i) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(i);
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::insert(iterator itr, dimension_type i) {
+  PPL_ASSERT(i < size_);
+  return tree.insert(itr, i);
+}
+
+inline void
+Sparse_Row::swap_coefficients(iterator i, iterator j) {
+  PPL_ASSERT(i != end());
+  PPL_ASSERT(j != end());
+  using std::swap;
+  swap(*i, *j);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Sparse_Row::fast_swap(dimension_type i, iterator itr) {
+  PPL_ASSERT(lower_bound(i) == itr);
+  PPL_ASSERT(itr != end());
+  tree.fast_shift(i, itr);
+  PPL_ASSERT(OK());
+}
+
+inline Sparse_Row::iterator
+Sparse_Row::reset(iterator i) {
+  iterator res = tree.erase(i);
+  PPL_ASSERT(OK());
+  return res;
+}
+
+inline void
+Sparse_Row::reset(dimension_type i) {
+  PPL_ASSERT(i < size());
+
+  tree.erase(i);
+  PPL_ASSERT(OK());
+}
+
+inline memory_size_type
+Sparse_Row::external_memory_in_bytes() const {
+  return tree.external_memory_in_bytes();
+}
+
+inline memory_size_type
+Sparse_Row::external_memory_in_bytes(dimension_type /* capacity */) const {
+  return external_memory_in_bytes();
+}
+
+inline memory_size_type
+Sparse_Row::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+inline memory_size_type
+Sparse_Row::total_memory_in_bytes(dimension_type /* capacity */) const {
+  return total_memory_in_bytes();
+}
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Sparse_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline void
+swap(Sparse_Row& x, Sparse_Row& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.templates.hh line 1. */
+/* Sparse_Row class implementation: non-inline template functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+
+template <typename Func1, typename Func2>
+void
+Sparse_Row::combine_needs_first(const Sparse_Row& y,
+                                const Func1& f, const Func2& g) {
+  if (this == &y) {
+    for (iterator i = begin(), i_end = end(); i != i_end; ++i)
+      g(*i, *i);
+  } else {
+    iterator i = begin();
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset().
+    const iterator& i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    while (i != i_end && j != j_end)
+      if (i.index() == j.index()) {
+        g(*i, *j);
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          f(*i);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+        } else
+          j = y.lower_bound(j, i.index());
+    while (i != i_end) {
+      f(*i);
+      if (*i == 0)
+        i = reset(i);
+      else
+        ++i;
+    }
+  }
+}
+
+template <typename Func1, typename Func2>
+void
+Sparse_Row::combine_needs_second(const Sparse_Row& y,
+                                 const Func1& g,
+                                 const Func2& /* h */) {
+  iterator i = begin();
+  for (const_iterator j = y.begin(), j_end = y.end(); j != j_end; ++j) {
+    i = insert(i, j.index());
+    g(*i, *j);
+    if (*i == 0)
+      i = reset(i);
+  }
+}
+
+template <typename Func1, typename Func2, typename Func3>
+void
+Sparse_Row::combine(const Sparse_Row& y, const Func1& f,
+                    const Func2& g, const Func3& h) {
+  if (this == &y) {
+    for (iterator i = begin(), i_end = end(); i != i_end; ++i)
+      g(*i, *i);
+  } else {
+    iterator i = begin();
+    // This is a const reference to an internal iterator, that is kept valid.
+    // If we just stored a copy, that would be invalidated by the calls to
+    // reset() and insert().
+    const iterator& i_end = end();
+    const_iterator j = y.begin();
+    const_iterator j_end = y.end();
+    while (i != i_end && j != j_end) {
+      if (i.index() == j.index()) {
+        g(*i, *j);
+        if (*i == 0)
+          i = reset(i);
+        else
+          ++i;
+        ++j;
+      } else
+        if (i.index() < j.index()) {
+          f(*i);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+        } else {
+          PPL_ASSERT(i.index() > j.index());
+          i = insert(i, j.index());
+          h(*i, *j);
+          if (*i == 0)
+            i = reset(i);
+          else
+            ++i;
+          ++j;
+        }
+    }
+    PPL_ASSERT(i == i_end || j == j_end);
+    while (i != i_end) {
+      f(*i);
+      if (*i == 0)
+        i = reset(i);
+      else
+        ++i;
+    }
+    while (j != j_end) {
+      i = insert(i, j.index());
+      h(*i, *j);
+      if (*i == 0)
+        i = reset(i);
+      ++j;
+    }
+  }
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Sparse_Row.defs.hh line 929. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.defs.hh line 34. */
+#include <cstddef>
+/* Automatically generated from PPL source file ../src/Linear_Expression_Interface.defs.hh line 1. */
+/* Linear_Expression_Interface class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Interface.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Linear_Expression_Interface;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Interface.defs.hh line 33. */
+#include <vector>
+#include <set>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of a class implementing Linear_Expression_Interface
+  represents a linear expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Linear_Expression_Interface {
+public:
+  virtual ~Linear_Expression_Interface();
+
+  virtual bool OK() const = 0;
+
+  //! Returns the current representation of this linear expression.
+  virtual Representation representation() const = 0;
+
+  //! An interface for const iterators on the expression (homogeneous)
+  //! coefficients that are nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator_interface {
+  public:
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const Coefficient value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef Coefficient_traits::const_reference reference;
+
+    //! Returns a copy of *this.
+    //! This returns a pointer to dynamic-allocated memory. The caller has the
+    //! duty to free the memory when it's not needed anymore.
+    virtual const_iterator_interface* clone() const = 0;
+
+    virtual ~const_iterator_interface();
+
+    //! Navigates to the next nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator++() = 0;
+
+    //! Navigates to the previous nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator--() = 0;
+
+    //! Returns the current element.
+    virtual reference operator*() const = 0;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    virtual Variable variable() const = 0;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    virtual bool operator==(const const_iterator_interface& x) const = 0;
+  };
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* begin() const = 0;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* end() const = 0;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  //! Returns (a pointer to) an iterator that points to the first nonzero
+  //! coefficient of a variable greater than or equal to v, or at end if no
+  //! such coefficient exists.
+  virtual const_iterator_interface* lower_bound(Variable v) const = 0;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  virtual dimension_type space_dimension() const = 0;
+
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  virtual void set_space_dimension(dimension_type n) = 0;
+
+  //! Returns the coefficient of \p v in \p *this.
+  virtual Coefficient_traits::const_reference
+  coefficient(Variable v) const = 0;
+
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  virtual void
+  set_coefficient(Variable v, Coefficient_traits::const_reference n) = 0;
+
+  //! Returns the inhomogeneous term of \p *this.
+  virtual Coefficient_traits::const_reference inhomogeneous_term() const = 0;
+
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  virtual void
+  set_inhomogeneous_term(Coefficient_traits::const_reference n) = 0;
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, Variable v) = 0;
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2) = 0;
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2) = 0;
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  virtual void swap_space_dimensions(Variable v1, Variable v2) = 0;
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  virtual void remove_space_dimensions(const Variables_Set& vars) = 0;
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  virtual void shift_space_dimensions(Variable v, dimension_type n) = 0;
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  virtual void
+  permute_space_dimensions(const std::vector<Variable>& cycle) = 0;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  virtual bool is_zero() const = 0;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  virtual bool all_homogeneous_terms_are_zero() const = 0;
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  virtual memory_size_type total_memory_in_bytes() const = 0;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const = 0;
+
+  //! Writes to \p s an ASCII representation of \p *this.
+  virtual void ascii_dump(std::ostream& s) const = 0;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  virtual bool ascii_load(std::istream& s) = 0;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  virtual bool is_equal_to(const Linear_Expression_Interface& x) const = 0;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  virtual void normalize() = 0;
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  virtual void sign_normalize() = 0;
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
+  */
+  virtual void negate(dimension_type first, dimension_type last) = 0;
+
+  virtual Linear_Expression_Interface&
+  operator+=(Coefficient_traits::const_reference n) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(Coefficient_traits::const_reference n) = 0;
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Interface
+
+    \returns -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+            is greater. The absolute value of the result is 1 if the difference
+            is only in the inhomogeneous terms, 2 otherwise
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  virtual int compare(const Linear_Expression_Interface& y) const = 0;
+
+  virtual Linear_Expression_Interface&
+  operator+=(const Linear_Expression_Interface& e2) = 0;
+  virtual Linear_Expression_Interface&
+  operator+=(const Variable v) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(const Linear_Expression_Interface& e2) = 0;
+  virtual Linear_Expression_Interface&
+  operator-=(const Variable v) = 0;
+  virtual Linear_Expression_Interface&
+  operator*=(Coefficient_traits::const_reference n) = 0;
+  virtual Linear_Expression_Interface&
+  operator/=(Coefficient_traits::const_reference n) = 0;
+
+  virtual void negate() = 0;
+
+  virtual Linear_Expression_Interface&
+  add_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0;
+
+  virtual Linear_Expression_Interface&
+  sub_mul_assign(Coefficient_traits::const_reference n, const Variable v) = 0;
+
+  virtual void add_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2) = 0;
+
+  virtual void sub_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2) = 0;
+
+  virtual void print(std::ostream& s) const = 0;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  virtual bool all_zeroes(const Variables_Set& vars) const = 0;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  virtual bool have_a_common_variable(const Linear_Expression_Interface& x,
+                                      Variable first, Variable last) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  virtual Coefficient_traits::const_reference get(dimension_type i) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  virtual void set(dimension_type i, Coefficient_traits::const_reference n) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  virtual bool all_zeroes(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  virtual dimension_type
+  num_zeroes(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  virtual Coefficient gcd(dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  virtual void exact_div_assign(Coefficient_traits::const_reference c,
+                                dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  virtual void mul_assign(Coefficient_traits::const_reference n,
+                          dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, dimension_type i) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2,
+                              dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start, dimension_type end) = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  virtual dimension_type last_nonzero() const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  virtual dimension_type
+  last_nonzero(dimension_type first, dimension_type last) const = 0;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  virtual dimension_type
+  first_nonzero(dimension_type first, dimension_type last) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  virtual bool
+  all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  virtual int
+  scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  virtual void
+  has_a_free_dimension_helper(std::set<dimension_type>& x) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           Coefficient_traits::const_reference c1,
+                           Coefficient_traits::const_reference c2,
+                           dimension_type start, dimension_type end) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Dense_Row& row) const = 0;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Sparse_Row& row) const = 0;
+};
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.defs.hh line 36. */
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+std::ostream&
+operator<<(std::ostream& s, const Linear_Expression_Impl<Row>& e);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Expression_Impl represents the linear
+  expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
+
+  \par How to build a linear expression.
+
+  Linear expressions are the basic blocks for defining
+  both constraints (i.e., linear equalities or inequalities)
+  and generators (i.e., lines, rays, points and closure points).
+  A full set of functions is defined to provide a convenient interface
+  for building complex linear expressions starting from simpler ones
+  and from objects of the classes Variable and Coefficient:
+  available operators include unary negation,
+  binary addition and subtraction,
+  as well as multiplication by a Coefficient.
+  The space dimension of a linear expression is defined as the maximum
+  space dimension of the arguments used to build it:
+  in particular, the space dimension of a Variable <CODE>x</CODE>
+  is defined as <CODE>x.id()+1</CODE>,
+  whereas all the objects of the class Coefficient have space dimension zero.
+
+  \par Example
+  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
+  having space dimension \f$3\f$:
+  \code
+  Linear_Expression_Impl e = 4*x - 2*y - z + 14;
+  \endcode
+  Another way to build the same linear expression is:
+  \code
+  Linear_Expression_Impl e1 = 4*x;
+  Linear_Expression_Impl e2 = 2*y;
+  Linear_Expression_Impl e3 = z;
+  Linear_Expression_Impl e = Linear_Expression_Impl(14);
+  e += e1 - e2 - e3;
+  \endcode
+  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
+  respectively; also, in the fourth line of code, \p e is created
+  with space dimension zero and then extended to space dimension 3
+  in the fifth line.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+class Parma_Polyhedra_Library::Linear_Expression_Impl
+  : public Linear_Expression_Interface {
+public:
+  //! Default constructor: returns a copy of Linear_Expression_Impl::zero().
+  Linear_Expression_Impl();
+
+  //! Ordinary copy constructor.
+  Linear_Expression_Impl(const Linear_Expression_Impl& e);
+
+  //! Copy constructor for other row types.
+  template <typename Row2>
+  Linear_Expression_Impl(const Linear_Expression_Impl<Row2>& e);
+
+  //! Copy constructor from any implementation of Linear_Expression_Interface.
+  Linear_Expression_Impl(const Linear_Expression_Interface& e);
+
+  //! Destructor.
+  virtual ~Linear_Expression_Impl();
+
+  //! Checks if all the invariants are satisfied.
+  virtual bool OK() const;
+
+  /*! \brief
+    Builds the linear expression corresponding
+    to the inhomogeneous term \p n.
+  */
+  explicit Linear_Expression_Impl(Coefficient_traits::const_reference n);
+
+  //! Builds the linear expression corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Expression_Impl::max_space_dimension()</CODE>.
+  */
+  Linear_Expression_Impl(Variable v);
+
+  //! Returns the current representation of this linear expression.
+  virtual Representation representation() const;
+
+  //! An interface for const iterators on the expression (homogeneous)
+  //! coefficients that are nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator: public const_iterator_interface {
+  public:
+    explicit const_iterator(const Row& row, dimension_type i);
+
+    //! Returns a copy of *this.
+    //! This returns a pointer to dynamic-allocated memory. The caller has the
+    //! duty to free the memory when it's not needed anymore.
+    virtual const_iterator_interface* clone() const;
+
+    //! Navigates to the next nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator++();
+
+    //! Navigates to the previous nonzero coefficient.
+    //! Note that this method does *not* return a reference, to increase
+    //! efficiency since it's virtual.
+    virtual void operator--();
+
+    //! Returns the current element.
+    virtual reference operator*() const;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    virtual Variable variable() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    virtual bool operator==(const const_iterator_interface& x) const;
+
+  private:
+
+    void skip_zeroes_forward();
+    void skip_zeroes_backward();
+
+    const Row* row;
+    typename Row::const_iterator itr;
+  };
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* begin() const;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  virtual const_iterator_interface* end() const;
+
+  //! This returns a pointer to dynamic-allocated memory. The caller has the
+  //! duty to free the memory when it's not needed anymore.
+  //! Returns (a pointer to) an iterator that points to the first nonzero
+  //! coefficient of a variable greater than or equal to v, or at end if no
+  //! such coefficient exists.
+  virtual const_iterator_interface* lower_bound(Variable v) const;
+
+  //! Returns the maximum space dimension a Linear_Expression_Impl can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  virtual dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  virtual void set_space_dimension(dimension_type n);
+
+  //! Returns the coefficient of \p v in \p *this.
+  virtual Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  virtual void set_coefficient(Variable v,
+                               Coefficient_traits::const_reference n);
+
+  //! Returns the inhomogeneous term of \p *this.
+  virtual Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  virtual void set_inhomogeneous_term(Coefficient_traits::const_reference n);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void linear_combine(const Linear_Expression_Interface& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  virtual void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  virtual void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  virtual void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  virtual void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  virtual bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  virtual bool all_homogeneous_terms_are_zero() const;
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  virtual memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
+
+  //! Writes to \p s an ASCII representation of \p *this.
+  virtual void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  virtual bool ascii_load(std::istream& s);
+
+  //! Copy constructor with a specified space dimension.
+  Linear_Expression_Impl(const Linear_Expression_Interface& e,
+                         dimension_type space_dim);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  virtual bool is_equal_to(const Linear_Expression_Interface& x) const;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  virtual void normalize();
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  virtual void sign_normalize();
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
+  */
+  virtual void negate(dimension_type first, dimension_type last);
+
+  virtual Linear_Expression_Impl&
+  operator+=(Coefficient_traits::const_reference n);
+  virtual Linear_Expression_Impl&
+  operator-=(Coefficient_traits::const_reference n);
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Impl
+
+    \returns
+    -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+    is greater. The absolute value of the result is 1 if the difference
+    is only in the inhomogeneous terms, 2 otherwise.
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  virtual int compare(const Linear_Expression_Interface& y) const;
+
+  virtual Linear_Expression_Impl&
+  operator+=(const Linear_Expression_Interface& e2);
+  virtual Linear_Expression_Impl& operator+=(const Variable v);
+  virtual Linear_Expression_Impl&
+  operator-=(const Linear_Expression_Interface& e2);
+  virtual Linear_Expression_Impl& operator-=(const Variable v);
+  virtual Linear_Expression_Impl&
+  operator*=(Coefficient_traits::const_reference n);
+  virtual Linear_Expression_Impl&
+  operator/=(Coefficient_traits::const_reference n);
+
+  virtual void negate();
+
+  virtual Linear_Expression_Impl&
+  add_mul_assign(Coefficient_traits::const_reference n, const Variable v);
+
+  virtual Linear_Expression_Impl&
+  sub_mul_assign(Coefficient_traits::const_reference n, const Variable v);
+
+  virtual void add_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2);
+
+  virtual void sub_mul_assign(Coefficient_traits::const_reference factor,
+                              const Linear_Expression_Interface& e2);
+
+  virtual void print(std::ostream& s) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  virtual bool all_zeroes(const Variables_Set& vars) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  virtual bool have_a_common_variable(const Linear_Expression_Interface& x,
+                                      Variable first, Variable last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  virtual Coefficient_traits::const_reference get(dimension_type i) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  virtual void set(dimension_type i, Coefficient_traits::const_reference n);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  virtual bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  virtual dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  virtual Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  virtual void exact_div_assign(Coefficient_traits::const_reference c,
+                                dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  virtual void mul_assign(Coefficient_traits::const_reference n,
+                          dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  virtual void
+  linear_combine(const Linear_Expression_Interface& y, dimension_type i);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  virtual void linear_combine(const Linear_Expression_Interface& y,
+                              Coefficient_traits::const_reference c1,
+                              Coefficient_traits::const_reference c2,
+                              dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  virtual void linear_combine_lax(const Linear_Expression_Interface& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start, dimension_type end);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  virtual dimension_type last_nonzero() const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  virtual bool
+  all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Computes the sign of the sum of (*this)[i]*y[i], for each i in [start,end).
+  virtual int
+  scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  virtual dimension_type
+  first_nonzero(dimension_type first, dimension_type last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  virtual dimension_type
+  last_nonzero(dimension_type first, dimension_type last) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  virtual void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  virtual bool is_equal_to(const Linear_Expression_Interface& x,
+                           Coefficient_traits::const_reference c1,
+                           Coefficient_traits::const_reference c2,
+                           dimension_type start, dimension_type end) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Dense_Row& row) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets `row' to a copy of the row that implements *this.
+  virtual void get_row(Sparse_Row& row) const;
+
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression_Impl(Coefficient_traits::const_reference n).
+  */
+  Linear_Expression_Impl(dimension_type space_dim, bool);
+
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    builds the linear expression \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
+  */
+  Linear_Expression_Impl(const Congruence& cg, dimension_type space_dim);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! \p *this and \p y have the same space dimension.
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  template <typename Row2>
+  void linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x) const;
+
+  template <typename Row2>
+  Linear_Expression_Impl& operator+=(const Linear_Expression_Impl<Row2>& e2);
+  template <typename Row2>
+  Linear_Expression_Impl& operator-=(const Linear_Expression_Impl<Row2>& e2);
+
+  template <typename Row2>
+  Linear_Expression_Impl&
+  sub_mul_assign(Coefficient_traits::const_reference n,
+                 const Linear_Expression_Impl<Row2>& y,
+                 dimension_type start, dimension_type end);
+
+  template <typename Row2>
+  void add_mul_assign(Coefficient_traits::const_reference factor,
+                      const Linear_Expression_Impl<Row2>& e2);
+
+  template <typename Row2>
+  void sub_mul_assign(Coefficient_traits::const_reference factor,
+                      const Linear_Expression_Impl<Row2>& e2);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y, dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end).
+  template <typename Row2>
+  void linear_combine(const Linear_Expression_Impl<Row2>& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  template <typename Row2>
+  void linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2,
+                          dimension_type start, dimension_type end);
+
+  //! The basic comparison function.
+  /*! \relates Linear_Expression_Impl
+
+    \returns
+    -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+    is greater. The absolute value of the result is 1 if the difference
+    is only in the inhomogeneous terms, 2 otherwise.
+
+    The order is a lexicographic. It starts comparing the variables'
+    coefficient, starting from Variable(0), and at the end it compares
+    the inhomogeneous terms.
+  */
+  template <typename Row2>
+  int compare(const Linear_Expression_Impl<Row2>& y) const;
+
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  template <typename Row2>
+  void
+  scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Impl<Row2>& y,
+                        dimension_type start, dimension_type end) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  template <typename Row2>
+  int scalar_product_sign(const Linear_Expression_Impl<Row2>& y,
+                          dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Row2>
+  bool is_equal_to(const Linear_Expression_Impl<Row2>& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Row2>
+  bool have_a_common_variable(const Linear_Expression_Impl<Row2>& x,
+                              Variable first, Variable last) const;
+
+private:
+
+  void construct(const Linear_Expression_Interface& e);
+  void construct(const Linear_Expression_Interface& e,
+                 dimension_type space_dim);
+
+  template <typename Row2>
+  void construct(const Linear_Expression_Impl<Row2>& e);
+  template <typename Row2>
+  void construct(const Linear_Expression_Impl<Row2>& e,
+                 dimension_type space_dim);
+
+  Row row;
+
+  template <typename Row2>
+  friend class Linear_Expression_Impl;
+
+}; // class Parma_Polyhedra_Library::Linear_Expression_Impl
+
+
+namespace Parma_Polyhedra_Library {
+
+// NOTE: declaring explicit specializations.
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::OK() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::OK() const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_homogeneous_terms_are_zero() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::all_homogeneous_terms_are_zero() const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::all_zeroes(dimension_type start,
+                                              dimension_type end) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::all_zeroes(dimension_type start,
+                                               dimension_type end) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes(const Variables_Set& vars) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes(const Variables_Set& vars) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::first_nonzero(dimension_type first, dimension_type last) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::first_nonzero(dimension_type first, dimension_type last) const;
+
+template <>
+Coefficient
+Linear_Expression_Impl<Dense_Row>::gcd(dimension_type start,
+                                       dimension_type end) const;
+template <>
+Coefficient
+Linear_Expression_Impl<Sparse_Row>::gcd(dimension_type start,
+                                        dimension_type end) const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Dense_Row>& y,
+                         Variable first, Variable last) const;
+template <>
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>
+::have_a_common_variable(const Linear_Expression_Impl<Sparse_Row>& y,
+                         Variable first, Variable last) const;
+
+template <>
+bool
+Linear_Expression_Impl<Dense_Row>::is_zero() const;
+template <>
+bool
+Linear_Expression_Impl<Sparse_Row>::is_zero() const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::last_nonzero() const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>::last_nonzero() const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>
+::last_nonzero(dimension_type first, dimension_type last) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::last_nonzero(dimension_type first, dimension_type last) const;
+
+template <>
+dimension_type
+Linear_Expression_Impl<Dense_Row>::num_zeroes(dimension_type start,
+                                              dimension_type end) const;
+template <>
+dimension_type
+Linear_Expression_Impl<Sparse_Row>::num_zeroes(dimension_type start,
+                                               dimension_type end) const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>
+::remove_space_dimensions(const Variables_Set& vars);
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>
+::remove_space_dimensions(const Variables_Set& vars);
+
+template <>
+Representation
+Linear_Expression_Impl<Dense_Row>::representation() const;
+template <>
+Representation
+Linear_Expression_Impl<Sparse_Row>::representation() const;
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator::skip_zeroes_backward();
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>::const_iterator::skip_zeroes_backward();
+
+template <>
+void
+Linear_Expression_Impl<Dense_Row>::const_iterator::skip_zeroes_forward();
+template <>
+void
+Linear_Expression_Impl<Sparse_Row>::const_iterator::skip_zeroes_forward();
+
+} // namespace Parma_Polyhedra_Library
+
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.inlines.hh line 1. */
+/* Linear_Expression_Impl class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 1. */
+/* Declarations of some math utility functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 29. */
+#include <gmpxx.h>
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Extract the numerator and denominator components of \p from.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
+	    Coefficient& numer, Coefficient& denom);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Divides \p x by \p y into \p to, rounding the result towards plus infinity.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
+	     Coefficient_traits::const_reference x,
+	     Coefficient_traits::const_reference y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Assigns to \p x the minimum between \p x and \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename N>
+void
+min_assign(N& x, const N& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Assigns to \p x the maximum between \p x and \p y.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename N>
+void
+max_assign(N& x, const N& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x is an even number.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \f$x = -y\f$.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If \f$g\f$ is the GCD of \p x and \p y, the values of \p x and \p y
+  divided by \f$g\f$ are assigned to \p n_x and \p n_y, respectively.
+
+  \note
+  \p x and \p n_x may be the same object and likewise for
+  \p y and \p n_y.  Any other aliasing results in undefined behavior.
+*/
+#endif
+void
+normalize2(Coefficient_traits::const_reference x,
+	   Coefficient_traits::const_reference y,
+	   Coefficient& n_x, Coefficient& n_y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x is in canonical form.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool
+is_canonical(const mpq_class& x);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns a mask for the lowest \p n bits,
+#endif
+template <typename T>
+T
+low_bits_mask(unsigned n);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 1. */
+/* Implementation of some math utility functions: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 28. */
+#include <limits>
+/* Automatically generated from PPL source file ../src/math_utilities.inlines.hh line 30. */
+
+namespace Parma_Polyhedra_Library {
+
+inline void
+normalize2(Coefficient_traits::const_reference x,
+	   Coefficient_traits::const_reference y,
+	   Coefficient& n_x, Coefficient& n_y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  gcd_assign(gcd, x, y);
+  exact_div_assign(n_x, x, gcd);
+  exact_div_assign(n_y, y, gcd);
+}
+
+template <typename T>
+inline T
+low_bits_mask(const unsigned n) {
+  PPL_ASSERT(n < unsigned(std::numeric_limits<T>::digits));
+  return ~((~static_cast<T>(0)) << n);
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+numer_denom(const T& from,
+	    Coefficient& numer, Coefficient& denom) {
+  PPL_ASSERT(!is_not_a_number(from)
+	 && !is_minus_infinity(from)
+	 && !is_plus_infinity(from));
+  PPL_DIRTY_TEMP(mpq_class, q);
+  assign_r(q, from, ROUND_NOT_NEEDED);
+  numer = q.get_num();
+  denom = q.get_den();
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, void>::type
+div_round_up(T& to,
+	     Coefficient_traits::const_reference x,
+	     Coefficient_traits::const_reference y) {
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
+  // Note: this code assumes that a Coefficient is always convertible
+  // to an mpq_class without loss of precision.
+  assign_r(q_x, x, ROUND_NOT_NEEDED);
+  assign_r(q_y, y, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_y, ROUND_NOT_NEEDED);
+  assign_r(to, q_x, ROUND_UP);
+}
+
+template <typename N>
+inline void
+min_assign(N& x, const N& y) {
+  if (x > y)
+    x = y;
+}
+
+template <typename N>
+inline void
+max_assign(N& x, const N& y) {
+  if (x < y)
+    x = y;
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_even(const T& x) {
+  T mod;
+  return umod_2exp_assign_r(mod, x, 1, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
+    && mod == 0;
+}
+
+template <typename T>
+inline typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_additive_inverse(const T& x, const T& y) {
+  T negated_x;
+  return neg_assign_r(negated_x, x, ROUND_DIRECT | ROUND_STRICT_RELATION) == V_EQ
+    && negated_x == y;
+}
+
+inline bool
+is_canonical(const mpq_class& x) {
+  if (x.get_den() <= 0)
+    return false;
+  PPL_DIRTY_TEMP(mpq_class, temp);
+  temp = x;
+  temp.canonicalize();
+  return temp.get_num() == x.get_num();
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/math_utilities.defs.hh line 109. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.inlines.hh line 28. */
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+inline dimension_type
+Linear_Expression_Impl<Row>::max_space_dimension() {
+  return Row::max_size() - 1;
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>::Linear_Expression_Impl()
+  : row(1) {
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(dimension_type space_dim, bool)
+  : row(space_dim + 1) {
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>::~Linear_Expression_Impl() {
+}
+
+template <typename Row>
+inline
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(Coefficient_traits::const_reference n)
+  : row(1) {
+  if (n != 0)
+    row.insert(0, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline dimension_type
+Linear_Expression_Impl<Row>::space_dimension() const {
+  return row.size() - 1;
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::set_space_dimension(dimension_type n) {
+  row.resize(n + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::coefficient(Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    return Coefficient_zero();
+  return row.get(v.id() + 1);
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>
+::set_coefficient(Variable v, Coefficient_traits::const_reference n) {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  dimension_type i = v.space_dimension();
+  if (n == 0)
+    row.reset(i);
+  else
+    row.insert(i, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::inhomogeneous_term() const {
+  return row.get(0);
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>
+::set_inhomogeneous_term(Coefficient_traits::const_reference n) {
+  if (n == 0)
+    row.reset(0);
+  else
+    row.insert(0, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::swap_space_dimensions(Variable v1, Variable v2) {
+  row.swap_coefficients(v1.space_dimension(), v2.space_dimension());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::shift_space_dimensions(Variable v,
+                                                    dimension_type n) {
+  row.add_zeroes_and_shift(n, v.space_dimension());
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline memory_size_type
+Linear_Expression_Impl<Row>::external_memory_in_bytes() const {
+  return row.external_memory_in_bytes();
+}
+
+template <typename Row>
+inline memory_size_type
+Linear_Expression_Impl<Row>::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+template <typename Row>
+inline Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(Coefficient_traits::const_reference n) {
+  typename Row::iterator itr = row.insert(0);
+  (*itr) += n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+inline Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(Coefficient_traits::const_reference n) {
+  typename Row::iterator itr = row.insert(0);
+  (*itr) -= n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+inline void
+Linear_Expression_Impl<Row>::normalize() {
+  row.normalize();
+  PPL_ASSERT(OK());
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::is_zero() const {
+  return row.num_stored_elements() == 0;
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::all_homogeneous_terms_are_zero() const {
+  return row.lower_bound(1) == row.end();
+}
+
+template <>
+inline bool
+Linear_Expression_Impl<Sparse_Row>::all_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  return row.lower_bound(start) == row.lower_bound(end);
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>::num_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  PPL_ASSERT(start <= end);
+  return (end - start)
+    - std::distance(row.lower_bound(start), row.lower_bound(end));
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>::last_nonzero() const {
+  if (row.num_stored_elements() == 0)
+    return 0;
+  Sparse_Row::const_iterator i = row.end();
+  --i;
+  return i.index();
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::first_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  Sparse_Row::const_iterator i = row.lower_bound(first);
+
+  if (i != row.end() && i.index() < last)
+    return i.index();
+  else
+    return last;
+}
+
+template <>
+inline dimension_type
+Linear_Expression_Impl<Sparse_Row>
+::last_nonzero(dimension_type first, dimension_type last) const {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  Sparse_Row::const_iterator itr1 = row.lower_bound(first);
+  Sparse_Row::const_iterator itr2 = row.lower_bound(last);
+
+  if (itr1 == itr2)
+    return last;
+
+  --itr2;
+  return itr2.index();
+}
+
+template <>
+inline Representation
+Linear_Expression_Impl<Dense_Row>::representation() const {
+  return DENSE;
+}
+
+template <>
+inline Representation
+Linear_Expression_Impl<Sparse_Row>::representation() const {
+  return SPARSE;
+}
+
+template <>
+inline void
+Linear_Expression_Impl<Sparse_Row>::const_iterator
+::skip_zeroes_forward() {
+  // Nothing to do.
+}
+
+template <>
+inline void
+Linear_Expression_Impl<Sparse_Row>::const_iterator
+::skip_zeroes_backward() {
+  // Nothing to do.
+}
+
+namespace IO_Operators {
+
+template <typename Row>
+inline std::ostream&
+operator<<(std::ostream& s, const Linear_Expression_Impl<Row>& e) {
+  e.print(s);
+  return s;
+}
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.templates.hh line 1. */
+/* Linear_Expression_Impl class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.templates.hh line 29. */
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 1. */
+/* Constraint class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constraint.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Constraint;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Polyhedron.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Polyhedron;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/termination.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Termination_Helpers;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class Octagonal_Shape;
+
+class Octagonal_Shape_Helper;
+
+}
+
+/* Automatically generated from PPL source file ../src/Grid.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Grid;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 35. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1. */
+/* Linear_Expression class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Generator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Generator;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Grid_Generator;
+
+}
+
+/* Automatically generated from PPL source file ../src/Constraint_System.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Constraint_System;
+class Constraint_System_const_iterator;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_System.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+class Linear_System;
+
+template <typename Row>
+class Linear_System_With_Bit_Matrix_iterator;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/PIP_Problem.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+//! Possible outcomes of the PIP_Problem solver.
+/*! \ingroup PPL_CXX_interface */
+enum PIP_Problem_Status {
+  //! The problem is unfeasible.
+  UNFEASIBLE_PIP_PROBLEM,
+  //! The problem has an optimal solution.
+  OPTIMIZED_PIP_PROBLEM
+};
+
+class PIP_Problem;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class BHRZ03_Certificate;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Scalar_Products.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Scalar_Products;
+class Topology_Adjusted_Scalar_Product_Sign;
+class Topology_Adjusted_Scalar_Product_Assign;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/MIP_Problem.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+//! Possible outcomes of the MIP_Problem solver.
+/*! \ingroup PPL_CXX_interface */
+enum MIP_Problem_Status {
+  //! The problem is unfeasible.
+  UNFEASIBLE_MIP_PROBLEM,
+  //! The problem is unbounded.
+  UNBOUNDED_MIP_PROBLEM,
+  //! The problem has an optimal solution.
+  OPTIMIZED_MIP_PROBLEM
+};
+
+class MIP_Problem;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Congruence_System.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Congruence_System;
+
+}
+
+/* Automatically generated from PPL source file ../src/BD_Shape.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class BD_Shape;
+
+class BD_Shape_Helpers;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+class Expression_Hide_Inhomo;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+class Expression_Hide_Last;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 51. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 54. */
+
+namespace Parma_Polyhedra_Library {
+
+// Put them in the namespace here to declare them friend later.
+
+//! Returns the linear expression \p e1 + \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the linear expression \p v + \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, Variable w);
+
+//! Returns the linear expression \p v + \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, const Linear_Expression& e);
+
+//! Returns the linear expression \p e + \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e, Variable v);
+
+//! Returns the linear expression \p n + \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the linear expression \p e + \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e);
+
+//! Returns the linear expression - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e);
+
+//! Returns the linear expression \p e1 - \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the linear expression \p v - \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, Variable w);
+
+//! Returns the linear expression \p v - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, const Linear_Expression& e);
+
+//! Returns the linear expression \p e - \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e, Variable v);
+
+//! Returns the linear expression \p n - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the linear expression \p e - \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p n * \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the linear expression \p e * \p n.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p e1 + \p e2 and assigns it to \p e1.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator+=(Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the linear expression \p e + \p v and assigns it to \p e.
+/*! \relates Linear_Expression
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Expression::max_space_dimension()</CODE>.
+ */
+Linear_Expression&
+operator+=(Linear_Expression& e, Variable v);
+
+//! Returns the linear expression \p e + \p n and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p e1 - \p e2 and assigns it to \p e1.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator-=(Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the linear expression \p e - \p v and assigns it to \p e.
+/*! \relates Linear_Expression
+  \exception std::length_error
+  Thrown if the space dimension of \p v exceeds
+  <CODE>Linear_Expression::max_space_dimension()</CODE>.
+ */
+Linear_Expression&
+operator-=(Linear_Expression& e, Variable v);
+
+//! Returns the linear expression \p e - \p n and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p n * \p e and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the linear expression \p n / \p e and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+operator/=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Assigns to \p e its own negation.
+/*! \relates Linear_Expression */
+void
+neg_assign(Linear_Expression& e);
+
+//! Returns the linear expression \p e + \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+add_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
+
+//! Sums \p e2 multiplied by \p factor into \p e1.
+/*! \relates Linear_Expression */
+void add_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2);
+
+//! Subtracts \p e2 multiplied by \p factor from \p e1.
+/*! \relates Linear_Expression */
+void sub_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2);
+
+//! Returns the linear expression \p e - \p n * \p v and assigns it to \p e.
+/*! \relates Linear_Expression */
+Linear_Expression&
+sub_mul_assign(Linear_Expression& e,
+               Coefficient_traits::const_reference n, Variable v);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Linear_Expression
+
+  \returns -1 or -2 if x is less than y, 0 if they are equal and 1 or 2 is y
+           is greater. The absolute value of the result is 1 if the difference
+           is only in the inhomogeneous terms, 2 otherwise
+
+  The order is a lexicographic. It starts comparing the variables' coefficient,
+  starting from Variable(0), and at the end it compares the inhomogeneous
+  terms.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Linear_Expression& x, const Linear_Expression& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+//! A linear expression.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Linear_Expression represents the linear expression
+  \f[
+    \sum_{i=0}^{n-1} a_i x_i + b
+  \f]
+  where \f$n\f$ is the dimension of the vector space,
+  each \f$a_i\f$ is the integer coefficient
+  of the \f$i\f$-th variable \f$x_i\f$
+  and \f$b\f$ is the integer for the inhomogeneous term.
+
+  \par How to build a linear expression.
+
+  Linear expressions are the basic blocks for defining
+  both constraints (i.e., linear equalities or inequalities)
+  and generators (i.e., lines, rays, points and closure points).
+  A full set of functions is defined to provide a convenient interface
+  for building complex linear expressions starting from simpler ones
+  and from objects of the classes Variable and Coefficient:
+  available operators include unary negation,
+  binary addition and subtraction,
+  as well as multiplication by a Coefficient.
+  The space dimension of a linear expression is defined as the maximum
+  space dimension of the arguments used to build it:
+  in particular, the space dimension of a Variable <CODE>x</CODE>
+  is defined as <CODE>x.id()+1</CODE>,
+  whereas all the objects of the class Coefficient have space dimension zero.
+
+  \par Example
+  The following code builds the linear expression \f$4x - 2y - z + 14\f$,
+  having space dimension \f$3\f$:
+  \code
+  Linear_Expression e = 4*x - 2*y - z + 14;
+  \endcode
+  Another way to build the same linear expression is:
+  \code
+  Linear_Expression e1 = 4*x;
+  Linear_Expression e2 = 2*y;
+  Linear_Expression e3 = z;
+  Linear_Expression e = Linear_Expression(14);
+  e += e1 - e2 - e3;
+  \endcode
+  Note that \p e1, \p e2 and \p e3 have space dimension 1, 2 and 3,
+  respectively; also, in the fourth line of code, \p e is created
+  with space dimension zero and then extended to space dimension 3
+  in the fifth line.
+*/
+class Parma_Polyhedra_Library::Linear_Expression {
+public:
+
+  static const Representation default_representation = SPARSE;
+
+  //! Default constructor: returns a copy of Linear_Expression::zero().
+  explicit Linear_Expression(Representation r = default_representation);
+
+  //! Ordinary copy constructor.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  Linear_Expression(const Linear_Expression& e);
+
+  //! Copy constructor that takes also a Representation.
+  Linear_Expression(const Linear_Expression& e, Representation r);
+
+  //! Copy constructor from a Expression_Hide_Inhomo.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Inhomo<Expression>& e);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a
+  //! Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    Representation r);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a space
+  //! dimension.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                             dimension_type space_dim);
+
+  //! Copy constructor from a Expression_Hide_Inhomo that takes a
+  //! space dimension and a Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim, Representation r);
+
+  //! Copy constructor from a Expression_Hide_Last.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Last<Expression>& e);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a
+  //! Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    Representation r);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a space
+  //! dimension.
+  //! Note that the representation of the new expression will be e's
+  //! representation and not necessarily default_representation, so that
+  //! the copy and e are indistinguishable.
+  template <typename Expression>
+  explicit Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                             dimension_type space_dim);
+
+  //! Copy constructor from a Expression_Hide_Last that takes a
+  //! space dimension and a Representation.
+  template <typename Expression>
+  Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim, Representation r);
+
+  Linear_Expression& operator=(const Linear_Expression& e);
+
+  //! Destructor.
+  ~Linear_Expression();
+
+  /*! \brief
+    Builds the linear expression corresponding
+    to the inhomogeneous term \p n.
+  */
+  explicit Linear_Expression(Coefficient_traits::const_reference n,
+                             Representation r = default_representation);
+
+  //! Builds the linear expression corresponding to the variable \p v.
+  /*!
+    \exception std::length_error
+    Thrown if the space dimension of \p v exceeds
+    <CODE>Linear_Expression::max_space_dimension()</CODE>.
+  */
+  Linear_Expression(Variable v, Representation r = default_representation);
+
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to constraint \p c.
+  /*!
+    Given the constraint
+    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
+    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+    If \p c is an inequality (resp., equality) constraint, then
+    the built linear expression is unique up to a positive
+    (resp., non-zero) factor.
+
+    The constructed Linear_Expression has the same representation as \p c.
+  */
+  explicit Linear_Expression(const Constraint& c);
+
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to constraint \p c.
+  /*!
+    Given the constraint
+    \f$c = \bigl(\sum_{i=0}^{n-1} a_i x_i + b \relsym 0\bigr)\f$,
+    where \f$\mathord{\relsym} \in \{ =, \geq, > \}\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+    If \p c is an inequality (resp., equality) constraint, then
+    the built linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Constraint& c, Representation r);
+
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to generator \p g
+    (for points and closure points, the divisor is not copied).
+
+    Given the generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    (where, for lines and rays, we have \f$d = 1\f$),
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression will always be 0.
+    If \p g is a ray, point or closure point (resp., a line), then
+    the linear expression is unique up to a positive
+    (resp., non-zero) factor.
+
+    The constructed Linear_Expression has the same representation as \p g.
+  */
+  explicit Linear_Expression(const Generator& g);
+
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to generator \p g
+    (for points and closure points, the divisor is not copied).
+
+    Given the generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    (where, for lines and rays, we have \f$d = 1\f$),
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression will always be 0.
+    If \p g is a ray, point or closure point (resp., a line), then
+    the linear expression is unique up to a positive
+    (resp., non-zero) factor.
+  */
+  explicit Linear_Expression(const Generator& g, Representation r);
+
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to grid generator \p g
+    (for points, parameters and lines the divisor is not copied).
+
+    Given the grid generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression is always 0.
+
+    The constructed Linear_Expression has the same representation as \p g.
+  */
+  explicit Linear_Expression(const Grid_Generator& g);
+
+  // TODO: Consider removing this.
+  /*! \brief
+    Builds the linear expression corresponding to grid generator \p g
+    (for points, parameters and lines the divisor is not copied).
+
+    Given the grid generator
+    \f$g = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i\f$.
+    The inhomogeneous term of the linear expression is always 0.
+  */
+  explicit Linear_Expression(const Grid_Generator& g, Representation r);
+
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to congruence \p cg.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+
+    The constructed Linear_Expression has the same representation as \p cg.
+  */
+  explicit Linear_Expression(const Congruence& cg);
+
+  // TODO: Consider removing this.
+  //! Builds the linear expression corresponding to congruence \p cg.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression \f$\sum_{i=0}^{n-1} a_i x_i + b\f$.
+  */
+  explicit Linear_Expression(const Congruence& cg, Representation r);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! A const %iterator on the expression (homogeneous) coefficient that are
+  //! nonzero.
+  /*!
+    These iterators are invalidated by operations that modify the expression.
+  */
+  class const_iterator {
+  private:
+  public:
+    typedef std::bidirectional_iterator_tag iterator_category;
+    typedef const Coefficient value_type;
+    typedef ptrdiff_t difference_type;
+    typedef value_type* pointer;
+    typedef Coefficient_traits::const_reference reference;
+
+    //! Constructs an invalid const_iterator.
+    /*!
+      This constructor takes \f$O(1)\f$ time.
+    */
+    explicit const_iterator();
+
+    //! The copy constructor.
+    /*!
+      \param itr
+      The %iterator that will be copied.
+
+      This constructor takes \f$O(1)\f$ time.
+    */
+    const_iterator(const const_iterator& itr);
+
+    ~const_iterator();
+
+    //! Swaps itr with *this.
+    /*!
+      \param itr
+      The %iterator that will be swapped with *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    void m_swap(const_iterator& itr);
+
+    //! Assigns \p itr to *this .
+    /*!
+      \param itr
+      The %iterator that will be assigned into *this.
+
+      This method takes \f$O(1)\f$ time.
+    */
+    const_iterator& operator=(const const_iterator& itr);
+
+    //! Navigates to the next nonzero coefficient.
+    /*!
+      This method takes \f$O(n)\f$ time for dense expressions, and
+      \f$O(1)\f$ time for sparse expressions.
+    */
+    const_iterator& operator++();
+
+    //! Navigates to the previous nonzero coefficient.
+    /*!
+      This method takes \f$O(n)\f$ time for dense expressions, and
+      \f$O(1)\f$ time for sparse expressions.
+    */
+    const_iterator& operator--();
+
+    //! Returns the current element.
+    reference operator*() const;
+
+    //! Returns the variable of the coefficient pointed to by \c *this.
+    /*!
+      \returns the variable of the coefficient pointed to by \c *this.
+    */
+    Variable variable() const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& x) const;
+
+    //! Compares \p *this with x .
+    /*!
+      \param x
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& x) const;
+
+  private:
+    //! Constructor from a const_iterator_interface*.
+    //! The new object takes ownership of the dynamic object.
+    const_iterator(Linear_Expression_Interface::const_iterator_interface* itr);
+
+    Linear_Expression_Interface::const_iterator_interface* itr;
+
+    friend class Linear_Expression;
+  };
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
+  //! Returns the maximum space dimension a Linear_Expression can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to \p n .
+  void set_space_dimension(dimension_type n);
+
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Sets the coefficient of \p v in \p *this to \p n.
+  void set_coefficient(Variable v,
+                       Coefficient_traits::const_reference n);
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Sets the inhomogeneous term of \p *this to \p n.
+  void set_inhomogeneous_term(Coefficient_traits::const_reference n);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param v
+    The variable whose coefficient has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the coefficient of variable \p v equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  void linear_combine(const Linear_Expression& y, Variable v);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>, but assumes that
+  //! c1 and c2 are not 0.
+  void linear_combine(const Linear_Expression& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2);
+
+  //! Equivalent to <CODE>*this = *this * c1 + y * c2</CODE>.
+  //! c1 and c2 may be 0.
+  void linear_combine_lax(const Linear_Expression& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the expression.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the expression.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  //! Returns the (zero-dimension space) constant 0.
+  static const Linear_Expression& zero();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Linear_Expression& y);
+
+  //! Copy constructor with a specified space dimension.
+  Linear_Expression(const Linear_Expression& e, dimension_type space_dim);
+
+  //! Copy constructor with a specified space dimension and representation.
+  Linear_Expression(const Linear_Expression& e, dimension_type space_dim,
+                    Representation r);
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  bool is_equal_to(const Linear_Expression& x) const;
+
+  //! Normalizes the modulo of the coefficients and of the inhomogeneous term
+  //! so that they are mutually prime.
+  /*!
+    Computes the Greatest Common Divisor (GCD) among the coefficients
+    and the inhomogeneous term and normalizes them by the GCD itself.
+  */
+  void normalize();
+
+  //! Ensures that the first nonzero homogeneous coefficient is positive,
+  //! by negating the row if necessary.
+  void sign_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
+
+private:
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the (zero-dimension space) constant 0.
+  */
+  static const Linear_Expression* zero_p;
+
+  Linear_Expression_Interface* impl;
+
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression(Coefficient_traits::const_reference n).
+  */
+  Linear_Expression(dimension_type space_dim, bool,
+                    Representation r = default_representation);
+
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression
+    \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
+
+    The constructed Linear_Expression has the same representation as \p cg.
+  */
+  Linear_Expression(const Congruence& cg, dimension_type space_dim);
+
+  //! Builds the linear expression corresponding to congruence \p cg, and
+  //! with the specified space dimension.
+  /*!
+    Given the congruence
+    \f$cg = \bigl(\sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod{m}\bigr)\f$,
+    this builds the linear expression
+    \f$\sum_{i=0}^{space_dim-1} a_i x_i + b\f$.
+  */
+  Linear_Expression(const Congruence& cg, dimension_type space_dim,
+                    Representation r);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the i-th coefficient to n.
+  void set(dimension_type i, Coefficient_traits::const_reference n);
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  // NOTE: This method is public, but it's not exposed in Linear_Expression,
+  // so that it can be used internally in the PPL, by friends of
+  // Linear_Expression.
+  //! Sets the coefficient of v to n.
+  void set(Variable v, Coefficient_traits::const_reference n);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  void exact_div_assign(Coefficient_traits::const_reference c,
+                        dimension_type start, dimension_type end);
+
+  //! Linearly combines \p *this with \p y so that the coefficient of \p v
+  //! is 0.
+  /*!
+    \param y
+    The expression that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting expression to \p *this.
+
+    \p *this and \p y must have the same space dimension.
+  */
+  void linear_combine(const Linear_Expression& y, dimension_type i);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). It assumes that c1 and c2 are nonzero.
+  void linear_combine(const Linear_Expression& y,
+                      Coefficient_traits::const_reference c1,
+                      Coefficient_traits::const_reference c2,
+                      dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] = (*this)[i] * c1 + y[i] * c2</CODE>,
+  //! for each i in [start, end). c1 and c2 may be zero.
+  void linear_combine_lax(const Linear_Expression& y,
+                          Coefficient_traits::const_reference c1,
+                          Coefficient_traits::const_reference c2,
+                          dimension_type start, dimension_type end);
+
+  //! Equivalent to <CODE>(*this)[i] *= n</CODE>, for each i in [start, end).
+  void mul_assign(Coefficient_traits::const_reference n,
+                  dimension_type start, dimension_type end);
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars,
+                         dimension_type start, dimension_type end) const;
+
+  //! Sets results to the sum of (*this)[i]*y[i], for each i.
+  void scalar_product_assign(Coefficient& result,
+                             const Linear_Expression& y) const;
+
+  //! Sets results to the sum of (*this)[i]*y[i], for each i in [start,end).
+  void scalar_product_assign(Coefficient& result, const Linear_Expression& y,
+                             dimension_type start, dimension_type end) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i], for each i.
+  int scalar_product_sign(const Linear_Expression& y) const;
+
+  //! Computes the sign of the sum of (*this)[i]*y[i],
+  //! for each i in [start,end).
+  int scalar_product_sign(const Linear_Expression& y,
+                          dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  bool is_equal_to(const Linear_Expression& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  bool is_equal_to(const Linear_Expression& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  bool have_a_common_variable(const Linear_Expression& x,
+                              Variable first, Variable last) const;
+
+  /*! \brief
+    Negates the elements from index \p first (included)
+    to index \p last (excluded).
+  */
+  void negate(dimension_type first, dimension_type last);
+
+  template <typename Row>
+  friend class Linear_Expression_Impl;
+
+  // NOTE: The following classes are friends of Linear_Expression in order
+  // to access its private methods.
+  // Since they are *not* friend of Linear_Expression_Impl, they can only
+  // access its public methods so they cannot break the class invariant of
+  // Linear_Expression_Impl.
+  friend class Grid;
+  friend class Congruence;
+  friend class Polyhedron;
+  friend class PIP_Tree_Node;
+  friend class Grid_Generator;
+  friend class Generator;
+  friend class Constraint;
+  friend class Constraint_System;
+  friend class PIP_Problem;
+  friend class BHRZ03_Certificate;
+  friend class Scalar_Products;
+  friend class MIP_Problem;
+  friend class Box_Helpers;
+  friend class Congruence_System;
+  friend class BD_Shape_Helpers;
+  friend class Octagonal_Shape_Helper;
+  friend class Termination_Helpers;
+  template <typename T>
+  friend class BD_Shape;
+  template <typename T>
+  friend class Octagonal_Shape;
+  template <typename T>
+  friend class Linear_System;
+  template <typename T>
+  friend class Box;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
+
+  friend Linear_Expression
+  operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression
+  operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator+(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression
+  operator+(Variable v, const Linear_Expression& e);
+  friend Linear_Expression
+  operator+(Variable v, Variable w);
+
+  friend Linear_Expression
+  operator-(const Linear_Expression& e);
+
+  friend Linear_Expression
+  operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression
+  operator-(Variable v, Variable w);
+  friend Linear_Expression
+  operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression
+  operator-(Variable v, const Linear_Expression& e);
+  friend Linear_Expression
+  operator-(const Linear_Expression& e, Variable v);
+
+  friend Linear_Expression
+  operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  friend Linear_Expression
+  operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e, Variable v);
+  friend Linear_Expression&
+  operator+=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e1, const Linear_Expression& e2);
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e, Variable v);
+  friend Linear_Expression&
+  operator-=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Linear_Expression&
+  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Linear_Expression&
+  operator/=(Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend void
+  neg_assign(Linear_Expression& e);
+
+  friend Linear_Expression&
+  add_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
+  friend Linear_Expression&
+  sub_mul_assign(Linear_Expression& e,
+                 Coefficient_traits::const_reference n, Variable v);
+
+  friend void
+  add_mul_assign(Linear_Expression& e1,
+                 Coefficient_traits::const_reference factor,
+                 const Linear_Expression& e2);
+  friend void
+  sub_mul_assign(Linear_Expression& e1,
+                 Coefficient_traits::const_reference factor,
+                 const Linear_Expression& e2);
+
+  friend int
+  compare(const Linear_Expression& x, const Linear_Expression& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<(std::ostream& s, const Linear_Expression& e);
+};
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Linear_Expression */
+void swap(Linear_Expression& x, Linear_Expression& y);
+
+//! Swaps \p x with \p y.
+/*! \relates Linear_Expression::const_iterator */
+void swap(Linear_Expression::const_iterator& x,
+          Linear_Expression::const_iterator& y);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 1. */
+/* Linear_Expression class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.defs.hh line 1. */
+/* Expression_Hide_Inhomo class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.defs.hh line 32. */
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A Linear_Expression-like object that hides the inhomogeneous term.
+//! The methods of this class always pretend that it's 0.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Expression>
+class Parma_Polyhedra_Library::Expression_Hide_Inhomo {
+public:
+
+  //! Wraps `expr'. Note that `expr' must not be destroyed as long as this
+  //! object is alive.
+  explicit Expression_Hide_Inhomo(Expression& expr);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  typedef typename Expression::const_iterator const_iterator;
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
+
+private:
+  Expression& expr;
+
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars, dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Expression2>
+  bool have_a_common_variable(const Expression2& x,
+                              Variable first, Variable last) const;
+
+  // NOTE: The following classes are friends of Expression_Hide_Inhomo in
+  // order to access its private methods.
+  template <typename T>
+  friend class Linear_System;
+  friend class Box_Helpers;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
+};
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.inlines.hh line 1. */
+/* Expression_Hide_Inhomo class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.inlines.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+inline
+Expression_Hide_Inhomo<Expression>
+::Expression_Hide_Inhomo(Expression& expr)
+  : expr(expr) {
+}
+
+template <typename Expression>
+inline Representation
+Expression_Hide_Inhomo<Expression>::representation() const {
+  return expr.representation();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::begin() const {
+  return expr.begin();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::end() const {
+  return expr.end();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Inhomo<Expression>::const_iterator
+Expression_Hide_Inhomo<Expression>::lower_bound(Variable v) const {
+  return expr.lower_bound(v);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::space_dimension() const {
+  return expr.space_dimension();
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::coefficient(Variable v) const {
+  return expr.coefficient(v);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::inhomogeneous_term() const {
+  return Coefficient_zero();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::is_zero() const {
+  // Don't check the inhomogeneous_term (i.e. pretend it's 0).
+  return expr.all_homogeneous_terms_are_zero();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_homogeneous_terms_are_zero() const {
+  return expr.all_homogeneous_terms_are_zero();
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  if (x.inhomogeneous_term() != 0)
+    return false;
+  // Note that the inhomogeneous term is not compared.
+  return expr.is_equal_to(x, 1, dim1 + 1);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  if (x.inhomogeneous_term() != 0)
+    return false;
+  // Note that the inhomogeneous term is not compared.
+  return x.is_equal_to(expr, 1, dim1 + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_zeroes(const Variables_Set& vars) const {
+  return expr.all_zeroes(vars);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::get(dimension_type i) const {
+  if (i == 0)
+    return Coefficient_zero();
+  else
+    return expr.get(i);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Inhomo<Expression>::get(Variable v) const {
+  return expr.get(v);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>::all_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.all_zeroes(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::num_zeroes(dimension_type start,
+                                               dimension_type end) const {
+  if (start == end)
+    return 0;
+  if (start == 0)
+    return 1 + expr.num_zeroes(start + 1, end);
+  else
+    return expr.num_zeroes(start, end);
+}
+
+template <typename Expression>
+inline Coefficient
+Expression_Hide_Inhomo<Expression>::gcd(dimension_type start,
+                                        dimension_type end) const {
+  if (start == end)
+    return Coefficient_zero();
+  if (start == 0)
+    ++start;
+  return expr.gcd(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::last_nonzero() const {
+  return expr.last_nonzero();
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::last_nonzero(dimension_type first,
+                                                 dimension_type last) const {
+  return expr.last_nonzero(first, last);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Inhomo<Expression>::first_nonzero(dimension_type first,
+                                                  dimension_type last) const {
+  if (first == last)
+    return last;
+  if (first == 0)
+    ++first;
+  return expr.first_nonzero(first, last);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.all_zeroes_except(vars, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  bool had_0 = (x.count(0) == 1);
+  expr.has_a_free_dimension_helper(x);
+  if (had_0)
+    x.insert(0);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.is_equal_to(x, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return x.is_equal_to(expr, start, end);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return expr.is_equal_to(x, c1, c2, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  if (start == end)
+    return true;
+  if (start == 0)
+    ++start;
+  return x.is_equal_to(expr, c2, c1, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>::get_row(Dense_Row& row) const {
+  expr.get_row(row);
+  row.reset(0);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Inhomo<Expression>::get_row(Sparse_Row& row) const {
+  expr.get_row(row);
+  row.reset(0);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  return expr.have_a_common_variable(x, first, last);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Inhomo<Linear_Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  return x.have_a_common_variable(expr, first, last);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Inhomo.defs.hh line 175. */
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.defs.hh line 1. */
+/* Expression_Hide_Last class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.defs.hh line 32. */
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A Linear_Expression-like object that may or may not hide the last
+//! coefficient.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Expression>
+class Parma_Polyhedra_Library::Expression_Hide_Last {
+public:
+
+  //! Wraps `expr'. Note that `expr' must not be destroyed as long as this
+  //! object is alive.
+  explicit Expression_Hide_Last(Expression& expr, bool hide_last = false);
+
+  void set_hide_last(bool hide_last);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  typedef typename Expression::const_iterator const_iterator;
+
+  //! Returns an iterator that points to the first nonzero coefficient in the
+  //! expression.
+  const_iterator begin() const;
+
+  //! Returns an iterator that points to the last nonzero coefficient in the
+  //! expression.
+  const_iterator end() const;
+
+  //! Returns an iterator that points to the first nonzero coefficient of a
+  //! variable bigger than or equal to v.
+  const_iterator lower_bound(Variable v) const;
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is \f$0\f$.
+  bool is_zero() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Returns \p true if *this is equal to \p x.
+  //! Note that (*this == x) has a completely different meaning.
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if the coefficient of each variable in
+    \p vars[i] is \f$0\f$.
+  */
+  bool all_zeroes(const Variables_Set& vars) const;
+
+private:
+  Expression& expr;
+  bool hide_last;
+
+  //! Returns the i-th coefficient.
+  Coefficient_traits::const_reference get(dimension_type i) const;
+
+  //! Returns the coefficient of v.
+  Coefficient_traits::const_reference get(Variable v) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if (*this)[i] is \f$0\f$, for each i in
+    [start, end).
+  */
+  bool all_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the number of zero coefficient in [start, end).
+  */
+  dimension_type num_zeroes(dimension_type start, dimension_type end) const;
+
+  /*! \brief
+    Returns the gcd of the nonzero coefficients in [start,end). If all the
+    coefficients in this range are 0 returns 0.
+  */
+  Coefficient gcd(dimension_type start, dimension_type end) const;
+
+  //! Returns the index of the last nonzero element, or 0 if there are no
+  //! nonzero elements.
+  dimension_type last_nonzero() const;
+
+  //! Returns the index of the last nonzero element in [first,last), or last
+  //! if there are no nonzero elements.
+  dimension_type last_nonzero(dimension_type first, dimension_type last) const;
+
+  //! Returns the index of the first nonzero element, or \p last if there are no
+  //! nonzero elements, considering only elements in [first,last).
+  dimension_type first_nonzero(dimension_type first, dimension_type last) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if each coefficient in [start,end) is *not* in
+    \f$0\f$, disregarding coefficients of variables in \p vars.
+  */
+  bool all_zeroes_except(const Variables_Set& vars,
+                         dimension_type start, dimension_type end) const;
+
+  //! Removes from the set x all the indexes of nonzero elements of *this.
+  void has_a_free_dimension_helper(std::set<dimension_type>& x) const;
+
+  //! Returns \p true if (*this)[i] is equal to x[i], for each i in [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   dimension_type start, dimension_type end) const;
+
+  //! Returns \p true if (*this)[i]*c1 is equal to x[i]*c2, for each i in
+  //! [start,end).
+  template <typename Expression2>
+  bool is_equal_to(const Expression2& x,
+                   Coefficient_traits::const_reference c1,
+                   Coefficient_traits::const_reference c2,
+                   dimension_type start, dimension_type end) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Dense_Row& row) const;
+
+  //! Sets `row' to a copy of the row that implements *this.
+  void get_row(Sparse_Row& row) const;
+
+  //! Returns true if there is a variable in [first,last) whose coefficient
+  //! is nonzero in both *this and x.
+  template <typename Expression2>
+  bool have_a_common_variable(const Expression2& x,
+                              Variable first, Variable last) const;
+
+  // NOTE: The following classes are friends of Expression_Hide_Last in
+  // order to access its private methods.
+  template <typename T>
+  friend class Linear_System;
+  friend class Box_Helpers;
+  template <typename T>
+  friend class Expression_Hide_Inhomo;
+  template <typename T>
+  friend class Expression_Hide_Last;
+  friend class PIP_Problem;
+  friend class MIP_Problem;
+  template <typename T>
+  friend class BD_Shape;
+  friend class BHRZ03_Certificate;
+  template <typename T>
+  friend class Box;
+  friend class Grid;
+  template <typename T>
+  friend class Octagonal_Shape;
+  friend class Polyhedron;
+  friend class Octagonal_Shape_Helper;
+  friend class BD_Shape_Helpers;
+};
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.inlines.hh line 1. */
+/* Expression_Hide_Last class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Expression>
+inline
+Expression_Hide_Last<Expression>
+::Expression_Hide_Last(Expression& expr, bool hide_last)
+  : expr(expr), hide_last(hide_last) {
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::set_hide_last(bool hide_last) {
+  this->hide_last = hide_last;
+}
+
+template <typename Expression>
+inline Representation
+Expression_Hide_Last<Expression>::representation() const {
+  return expr.representation();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::begin() const {
+  return expr.begin();
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::end() const {
+  if (hide_last) {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    return expr.lower_bound(Variable(expr.space_dimension() - 1));
+  } else {
+    return expr.end();
+  }
+}
+
+template <typename Expression>
+inline typename Expression_Hide_Last<Expression>::const_iterator
+Expression_Hide_Last<Expression>::lower_bound(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension() + 1);
+  return expr.lower_bound(v);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::space_dimension() const {
+  if (hide_last) {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    return expr.space_dimension() - 1;
+  } else
+    return expr.space_dimension();
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::coefficient(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  return expr.coefficient(v);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::inhomogeneous_term() const {
+  return expr.inhomogeneous_term();
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::is_zero() const {
+  return expr.all_zeroes(0, space_dimension() + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_homogeneous_terms_are_zero() const {
+  return expr.all_zeroes(1, space_dimension() + 1);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x) const {
+  const dimension_type dim1 = space_dimension();
+  const dimension_type dim2 = x.space_dimension();
+  if (dim1 != dim2)
+    return false;
+  return is_equal_to(x, 0, dim1 + 1);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_zeroes(const Variables_Set& vars) const {
+  PPL_ASSERT(vars.space_dimension() <= space_dimension());
+  return expr.all_zeroes(vars);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::get(dimension_type i) const {
+  PPL_ASSERT(i <= space_dimension());
+  return expr.get(i);
+}
+
+template <typename Expression>
+inline Coefficient_traits::const_reference
+Expression_Hide_Last<Expression>::get(Variable v) const {
+  PPL_ASSERT(v.space_dimension() <= space_dimension());
+  return expr.get(v);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>::all_zeroes(dimension_type start,
+                                      dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.all_zeroes(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::num_zeroes(dimension_type start,
+                                      dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.num_zeroes(start, end);
+}
+
+template <typename Expression>
+inline Coefficient
+Expression_Hide_Last<Expression>::gcd(dimension_type start,
+                               dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.gcd(start, end);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::last_nonzero() const {
+  return expr.last_nonzero(0, space_dimension() + 1);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::last_nonzero(dimension_type first,
+                                        dimension_type last) const {
+  PPL_ASSERT(last <= space_dimension() + 1);
+  return expr.last_nonzero(first, last);
+}
+
+template <typename Expression>
+inline dimension_type
+Expression_Hide_Last<Expression>::first_nonzero(dimension_type first,
+                                         dimension_type last) const {
+  PPL_ASSERT(last <= space_dimension() + 1);
+  return expr.first_nonzero(first, last);
+}
+
+template <typename Expression>
+inline bool
+Expression_Hide_Last<Expression>
+::all_zeroes_except(const Variables_Set& vars,
+                    dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  return expr.all_zeroes_except(vars, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  if (x.empty())
+    return;
+  const dimension_type max_dim = *(x.end());
+  PPL_ASSERT(max_dim <= space_dimension());
+  expr.has_a_free_dimension_helper(x);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return expr.is_equal_to(x, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return x.is_equal_to(expr, start, end);
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return expr.is_equal_to(x, c1, c2, start, end);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::is_equal_to(const Expression2& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  PPL_ASSERT(end <= space_dimension() + 1);
+  PPL_ASSERT(end <= x.space_dimension() + 1);
+  return x.is_equal_to(expr, c2, c1, start, end);
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::get_row(Dense_Row& row) const {
+  expr.get_row(row);
+  if (hide_last) {
+    PPL_ASSERT(row.size() != 0);
+    row.resize(row.size() - 1);
+  }
+}
+
+template <typename Expression>
+inline void
+Expression_Hide_Last<Expression>::get_row(Sparse_Row& row) const {
+  expr.get_row(row);
+  if (hide_last) {
+    PPL_ASSERT(row.size() != 0);
+    row.resize(row.size() - 1);
+  }
+}
+
+template <typename Expression>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  PPL_ASSERT(last.space_dimension() <= space_dimension() + 1);
+  PPL_ASSERT(last.space_dimension() <= x.space_dimension() + 1);
+  return expr.have_a_common_variable(x, first, last);
+}
+
+template <>
+template <typename Expression2>
+inline bool
+Expression_Hide_Last<Linear_Expression>
+::have_a_common_variable(const Expression2& x,
+                         Variable first, Variable last) const {
+  PPL_ASSERT(last.space_dimension() <= space_dimension() + 1);
+  PPL_ASSERT(last.space_dimension() <= x.space_dimension() + 1);
+  return x.have_a_common_variable(expr, first, last);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Expression_Hide_Last.defs.hh line 192. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 29. */
+
+
+namespace Parma_Polyhedra_Library {
+
+inline Linear_Expression&
+Linear_Expression::operator=(const Linear_Expression& e) {
+  Linear_Expression tmp = e;
+  swap(*this, tmp);
+  return *this;
+}
+
+inline
+Linear_Expression::~Linear_Expression() {
+  delete impl;
+}
+
+inline Representation
+Linear_Expression::representation() const {
+  return impl->representation();
+}
+
+inline dimension_type
+Linear_Expression::space_dimension() const {
+  return impl->space_dimension();
+}
+
+inline void
+Linear_Expression::set_space_dimension(dimension_type n) {
+  impl->set_space_dimension(n);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::coefficient(Variable v) const {
+  return impl->coefficient(v);
+}
+
+inline void
+Linear_Expression
+::set_coefficient(Variable v, Coefficient_traits::const_reference n) {
+  impl->set_coefficient(v, n);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::inhomogeneous_term() const {
+  return impl->inhomogeneous_term();
+}
+
+inline void
+Linear_Expression
+::set_inhomogeneous_term(Coefficient_traits::const_reference n) {
+  impl->set_inhomogeneous_term(n);
+}
+
+inline void
+Linear_Expression::swap_space_dimensions(Variable v1, Variable v2) {
+  impl->swap_space_dimensions(v1, v2);
+}
+
+inline void
+Linear_Expression::shift_space_dimensions(Variable v, dimension_type n) {
+  impl->shift_space_dimensions(v, n);
+}
+
+inline bool
+Linear_Expression::is_zero() const {
+  return impl->is_zero();
+}
+
+inline bool
+Linear_Expression::all_homogeneous_terms_are_zero() const {
+  return impl->all_homogeneous_terms_are_zero();
+}
+
+inline const Linear_Expression&
+Linear_Expression::zero() {
+  PPL_ASSERT(zero_p != 0);
+  return *zero_p;
+}
+
+inline memory_size_type
+Linear_Expression::external_memory_in_bytes() const {
+  return impl->total_memory_in_bytes();
+}
+
+inline memory_size_type
+Linear_Expression::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e) {
+  return e;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression x = e;
+  x += n;
+  return x;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, const Variable v) {
+  Linear_Expression x = e;
+  x += v;
+  return x;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression x = e;
+  x -= n;
+  return x;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Variable v, const Variable w) {
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression "
+                            "PPL::operator+(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  if (v_space_dim >= w_space_dim) {
+    Linear_Expression e(v);
+    e -= w;
+    return e;
+  } else {
+    Linear_Expression e(w.space_dimension(), true);
+    e -= w;
+    e += v;
+    return e;
+  }
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression x = e;
+  x *= n;
+  return x;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl += n;
+  return e;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl -= n;
+  return e;
+}
+
+inline void
+Linear_Expression::m_swap(Linear_Expression& y) {
+  using std::swap;
+  swap(impl, y.impl);
+}
+
+inline void
+Linear_Expression::normalize() {
+  impl->normalize();
+}
+
+inline void
+Linear_Expression::ascii_dump(std::ostream& s) const {
+  impl->ascii_dump(s);
+}
+
+inline bool
+Linear_Expression::ascii_load(std::istream& s) {
+  return impl->ascii_load(s);
+}
+
+inline void
+Linear_Expression::remove_space_dimensions(const Variables_Set& vars) {
+  impl->remove_space_dimensions(vars);
+}
+
+inline void
+Linear_Expression::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  impl->permute_space_dimensions(cycle);
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e1, const Linear_Expression& e2) {
+  if (e1.space_dimension() >= e2.space_dimension()) {
+    Linear_Expression e = e1;
+    e += e2;
+    return e;
+  } else {
+    Linear_Expression e = e2;
+    e += e1;
+    return e;
+  }
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Variable v, const Linear_Expression& e) {
+  return e + v;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator+(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  return e + n;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Variable v, const Variable w) {
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > Linear_Expression::max_space_dimension())
+    throw std::length_error("Linear_Expression "
+                            "PPL::operator+(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  if (v_space_dim >= w_space_dim) {
+    Linear_Expression e(v);
+    e += w;
+    return e;
+  } else {
+    Linear_Expression e(w);
+    e += v;
+    return e;
+  }
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e) {
+  Linear_Expression r(e);
+  neg_assign(r);
+  return r;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e1, const Linear_Expression& e2) {
+  if (e1.space_dimension() >= e2.space_dimension()) {
+    Linear_Expression e = e1;
+    e -= e2;
+    return e;
+  } else {
+    Linear_Expression e = e2;
+    neg_assign(e);
+    e += e1;
+    return e;
+  }
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(const Variable v, const Linear_Expression& e) {
+  Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension()));
+  result.negate(0, e.space_dimension() + 1);
+  result += v;
+  return result;
+}
+
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e, const Variable v) {
+  Linear_Expression result(e, std::max(v.space_dimension(), e.space_dimension()));
+  result -= v;
+  return result;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator-(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  Linear_Expression result(e);
+  neg_assign(result);
+  result += n;
+  return result;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression
+operator*(Coefficient_traits::const_reference n,
+               const Linear_Expression& e) {
+  return e * n;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e1, const Linear_Expression& e2) {
+  *e1.impl += *e2.impl;
+  return e1;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e, const Variable v) {
+  *e.impl += v;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e1, const Linear_Expression& e2) {
+  *e1.impl -= *e2.impl;
+  return e1;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e, const Variable v) {
+  *e.impl -= v;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator*=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl *= n;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+operator/=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  *e.impl /= n;
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline void
+neg_assign(Linear_Expression& e) {
+  e.impl->negate();
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+add_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  e.impl->add_mul_assign(n, v);
+  return e;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline Linear_Expression&
+sub_mul_assign(Linear_Expression& e,
+                    Coefficient_traits::const_reference n,
+                    const Variable v) {
+  e.impl->sub_mul_assign(n, v);
+  return e;
+}
+
+inline void
+add_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2) {
+  e1.impl->add_mul_assign(factor, *e2.impl);
+}
+
+inline void
+sub_mul_assign(Linear_Expression& e1,
+                    Coefficient_traits::const_reference factor,
+                    const Linear_Expression& e2) {
+  e1.impl->sub_mul_assign(factor, *e2.impl);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::get(dimension_type i) const {
+  return impl->get(i);
+}
+
+inline void
+Linear_Expression::set(dimension_type i,
+                       Coefficient_traits::const_reference n) {
+  impl->set(i, n);
+}
+
+inline Coefficient_traits::const_reference
+Linear_Expression::get(Variable v) const {
+  return impl->get(v.space_dimension());
+}
+
+inline void
+Linear_Expression::set(Variable v,
+                       Coefficient_traits::const_reference n) {
+  impl->set(v.space_dimension(), n);
+}
+
+inline bool
+Linear_Expression::all_zeroes(dimension_type start, dimension_type end) const {
+  return impl->all_zeroes(start, end);
+}
+
+inline dimension_type
+Linear_Expression::num_zeroes(dimension_type start, dimension_type end) const {
+  return impl->num_zeroes(start, end);
+}
+
+inline Coefficient
+Linear_Expression::gcd(dimension_type start, dimension_type end) const {
+  return impl->gcd(start, end);
+}
+
+inline void
+Linear_Expression
+::exact_div_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  impl->exact_div_assign(c, start, end);
+}
+
+inline void
+Linear_Expression
+::mul_assign(Coefficient_traits::const_reference c,
+             dimension_type start, dimension_type end) {
+  impl->mul_assign(c, start, end);
+}
+
+inline void
+Linear_Expression::sign_normalize() {
+  impl->sign_normalize();
+}
+
+inline void
+Linear_Expression::negate(dimension_type first, dimension_type last) {
+  impl->negate(first, last);
+}
+
+inline bool
+Linear_Expression::all_zeroes(const Variables_Set& vars) const {
+  return impl->all_zeroes(vars);
+}
+
+inline bool
+Linear_Expression::all_zeroes_except(const Variables_Set& vars, dimension_type start, dimension_type end) const {
+  return impl->all_zeroes_except(vars, start, end);
+}
+
+inline dimension_type
+Linear_Expression::last_nonzero() const {
+  return impl->last_nonzero();
+}
+
+inline void
+Linear_Expression
+::scalar_product_assign(Coefficient& result, const Linear_Expression& y) const {
+  scalar_product_assign(result, y, 0, space_dimension() + 1);
+}
+
+inline void
+Linear_Expression
+::scalar_product_assign(Coefficient& result, const Linear_Expression& y,
+                        dimension_type start, dimension_type end) const {
+  impl->scalar_product_assign(result, *(y.impl), start, end);
+}
+
+inline int
+Linear_Expression
+::scalar_product_sign(const Linear_Expression& y) const {
+  return scalar_product_sign(y, 0, space_dimension() + 1);
+}
+
+inline int
+Linear_Expression
+::scalar_product_sign(const Linear_Expression& y,
+                      dimension_type start, dimension_type end) const {
+  return impl->scalar_product_sign(*(y.impl), start, end);
+}
+
+inline dimension_type
+Linear_Expression
+::first_nonzero(dimension_type first, dimension_type last) const {
+  return impl->first_nonzero(first, last);
+}
+
+inline dimension_type
+Linear_Expression
+::last_nonzero(dimension_type first, dimension_type last) const {
+  return impl->last_nonzero(first, last);
+}
+
+inline void
+Linear_Expression
+::has_a_free_dimension_helper(std::set<dimension_type>& x) const {
+  return impl->has_a_free_dimension_helper(x);
+}
+
+inline bool
+Linear_Expression
+::is_equal_to(const Linear_Expression& x,
+              dimension_type start, dimension_type end) const {
+  return impl->is_equal_to(*(x.impl), start, end);
+}
+
+inline bool
+Linear_Expression
+::is_equal_to(const Linear_Expression& x,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  return impl->is_equal_to(*(x.impl), c1, c2, start, end);
+}
+
+inline void
+Linear_Expression
+::get_row(Dense_Row& row) const {
+  return impl->get_row(row);
+}
+
+inline void
+Linear_Expression
+::get_row(Sparse_Row& row) const {
+  return impl->get_row(row);
+}
+
+inline void
+Linear_Expression
+::linear_combine(const Linear_Expression& y, dimension_type i) {
+  impl->linear_combine(*y.impl, i);
+}
+
+inline void
+Linear_Expression
+::linear_combine(const Linear_Expression& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  impl->linear_combine(*y.impl, c1, c2);
+}
+
+inline void
+Linear_Expression
+::linear_combine_lax(const Linear_Expression& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  impl->linear_combine_lax(*y.impl, c1, c2);
+}
+
+inline int
+compare(const Linear_Expression& x, const Linear_Expression& y) {
+  return x.impl->compare(*y.impl);
+}
+
+inline bool
+Linear_Expression::is_equal_to(const Linear_Expression& x) const {
+  return impl->is_equal_to(*x.impl);
+}
+
+inline void
+Linear_Expression::linear_combine(const Linear_Expression& y,
+                                  Coefficient_traits::const_reference c1,
+                                  Coefficient_traits::const_reference c2,
+                                  dimension_type start,
+                                  dimension_type end) {
+  impl->linear_combine(*y.impl, c1, c2, start, end);
+}
+
+inline void
+Linear_Expression::linear_combine_lax(const Linear_Expression& y,
+                                      Coefficient_traits::const_reference c1,
+                                      Coefficient_traits::const_reference c2,
+                                      dimension_type start,
+                                      dimension_type end) {
+  impl->linear_combine_lax(*y.impl, c1, c2, start, end);
+}
+
+inline bool
+Linear_Expression
+::have_a_common_variable(const Linear_Expression& x,
+                         Variable first, Variable last) const {
+  return impl->have_a_common_variable(*(x.impl), first, last);
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator()
+  : itr(NULL) {
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator(const const_iterator& x)
+  : itr(x.itr->clone()) {
+}
+
+inline
+Linear_Expression::const_iterator
+::~const_iterator() {
+  // Note that this does nothing if itr==NULL.
+  delete itr;
+}
+
+inline void
+Linear_Expression::const_iterator::m_swap(const_iterator& x) {
+  using std::swap;
+  swap(itr, x.itr);
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator=(const const_iterator& itr) {
+  const_iterator tmp = itr;
+  using std::swap;
+  swap(*this, tmp);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator++() {
+  PPL_ASSERT(itr != NULL);
+  ++(*itr);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator&
+Linear_Expression::const_iterator
+::operator--() {
+  PPL_ASSERT(itr != NULL);
+  --(*itr);
+  return *this;
+}
+
+inline Linear_Expression::const_iterator::reference
+Linear_Expression::const_iterator
+::operator*() const {
+  PPL_ASSERT(itr != NULL);
+  return *(*itr);
+}
+
+inline Variable
+Linear_Expression::const_iterator
+::variable() const {
+  PPL_ASSERT(itr != NULL);
+  return itr->variable();
+}
+
+inline bool
+Linear_Expression::const_iterator
+::operator==(const const_iterator& x) const {
+  PPL_ASSERT(itr != NULL);
+  PPL_ASSERT(x.itr != NULL);
+  return *itr == *(x.itr);
+}
+
+inline bool
+Linear_Expression::const_iterator
+::operator!=(const const_iterator& x) const {
+  return !(*this == x);
+}
+
+inline
+Linear_Expression::const_iterator
+::const_iterator(Linear_Expression_Interface::const_iterator_interface* itr)
+  : itr(itr) {
+  PPL_ASSERT(itr != NULL);
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::begin() const {
+  return const_iterator(impl->begin());
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::end() const {
+  return const_iterator(impl->end());
+}
+
+inline Linear_Expression::const_iterator
+Linear_Expression
+::lower_bound(Variable v) const {
+  return const_iterator(impl->lower_bound(v));
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e)
+  : impl(NULL) {
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e, Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim)
+  : impl(NULL) {
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Inhomo<Expression>& e,
+                    dimension_type space_dim, Representation r)
+  : impl(NULL) {
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Inhomo<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, i.variable(), *i);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e, Representation r)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(e.space_dimension());
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  for (itr_t i = e.begin(), i_end = e.end(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(e.representation());
+  tmp.set_space_dimension(space_dim);
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+template <typename Expression>
+inline
+Linear_Expression
+::Linear_Expression(const Expression_Hide_Last<Expression>& e,
+                    dimension_type space_dim, Representation r)
+  : impl(NULL) {
+  using std::swap;
+  Linear_Expression tmp(r);
+  tmp.set_space_dimension(space_dim);
+  tmp.set_inhomogeneous_term(e.inhomogeneous_term());
+  typedef typename Expression_Hide_Last<Expression>::const_iterator itr_t;
+  itr_t i_end;
+  if (space_dim <= e.space_dimension())
+    i_end = e.lower_bound(Variable(space_dim));
+  else
+    i_end = e.end();
+  for (itr_t i = e.begin(); i != i_end; ++i)
+    add_mul_assign(tmp, *i, i.variable());
+  swap(impl, tmp.impl);
+}
+
+namespace IO_Operators {
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline std::ostream&
+operator<<(std::ostream& s, const Linear_Expression& e) {
+  e.impl->print(s);
+  return s;
+}
+
+} // namespace IO_Operators
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+inline void
+swap(Linear_Expression& x, Linear_Expression& y) {
+  x.m_swap(y);
+}
+
+/*! \relates Linear_Expression::const_iterator */
+inline void
+swap(Linear_Expression::const_iterator& x,
+     Linear_Expression::const_iterator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1069. */
+
+/* Automatically generated from PPL source file ../src/Topology.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Kinds of polyhedra domains.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+enum Topology {
+  NECESSARILY_CLOSED = 0,
+  NOT_NECESSARILY_CLOSED = 1
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 40. */
+
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+//! Returns the constraint \p e1 \< \p e2.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 \< \p v2.
+/*! \relates Constraint */
+Constraint
+operator<(Variable v1, Variable v2);
+
+//! Returns the constraint \p e \< \p n.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \< \p e.
+/*! \relates Constraint */
+Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the constraint \p e1 \> \p e2.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 \> \p v2.
+/*! \relates Constraint */
+Constraint
+operator>(Variable v1, Variable v2);
+
+//! Returns the constraint \p e \> \p n.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \> \p e.
+/*! \relates Constraint */
+Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the constraint \p e1 = \p e2.
+/*! \relates Constraint */
+Constraint
+operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 = \p v2.
+/*! \relates Constraint */
+Constraint
+operator==(Variable v1, Variable v2);
+
+//! Returns the constraint \p e = \p n.
+/*! \relates Constraint */
+Constraint
+operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n = \p e.
+/*! \relates Constraint */
+Constraint
+operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the constraint \p e1 \<= \p e2.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 \<= \p v2.
+/*! \relates Constraint */
+Constraint
+operator<=(Variable v1, Variable v2);
+
+//! Returns the constraint \p e \<= \p n.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \<= \p e.
+/*! \relates Constraint */
+Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+//! Returns the constraint \p e1 \>= \p e2.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the constraint \p v1 \>= \p v2.
+/*! \relates Constraint */
+Constraint
+operator>=(Variable v1, Variable v2);
+
+//! Returns the constraint \p e \>= \p n.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns the constraint \p n \>= \p e.
+/*! \relates Constraint */
+Constraint
+operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Constraint
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Constraint& x, const Constraint& y);
+
+}
+
+//! A linear equality or inequality.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Constraint is either:
+  - an equality: \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$;
+  - a non-strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b \geq 0\f$; or
+  - a strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b > 0\f$;
+
+  where \f$n\f$ is the dimension of the space,
+  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$
+  and \f$b\f$ is the integer inhomogeneous term.
+
+  \par How to build a constraint
+  Constraints are typically built by applying a relation symbol
+  to a pair of linear expressions.
+  Available relation symbols are equality (<CODE>==</CODE>),
+  non-strict inequalities (<CODE>\>=</CODE> and <CODE>\<=</CODE>) and
+  strict inequalities (<CODE>\<</CODE> and <CODE>\></CODE>).
+  The space dimension of a constraint is defined as the maximum
+  space dimension of the arguments of its constructor.
+
+  \par
+  In the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  \endcode
+
+  \par Example 1
+  The following code builds the equality constraint
+  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
+  \code
+  Constraint eq_c(3*x + 5*y - z == 0);
+  \endcode
+  The following code builds the (non-strict) inequality constraint
+  \f$4x \geq 2y - 13\f$, having space dimension \f$2\f$:
+  \code
+  Constraint ineq_c(4*x >= 2*y - 13);
+  \endcode
+  The corresponding strict inequality constraint
+  \f$4x > 2y - 13\f$ is obtained as follows:
+  \code
+  Constraint strict_ineq_c(4*x > 2*y - 13);
+  \endcode
+  An unsatisfiable constraint on the zero-dimension space \f$\Rset^0\f$
+  can be specified as follows:
+  \code
+  Constraint false_c = Constraint::zero_dim_false();
+  \endcode
+  Equivalent, but more involved ways are the following:
+  \code
+  Constraint false_c1(Linear_Expression::zero() == 1);
+  Constraint false_c2(Linear_Expression::zero() >= 1);
+  Constraint false_c3(Linear_Expression::zero() > 0);
+  \endcode
+  In contrast, the following code defines an unsatisfiable constraint
+  having space dimension \f$3\f$:
+  \code
+  Constraint false_c(0*z == 1);
+  \endcode
+
+  \par How to inspect a constraint
+  Several methods are provided to examine a constraint and extract
+  all the encoded information: its space dimension, its type
+  (equality, non-strict inequality, strict inequality) and
+  the value of its integer coefficients.
+
+  \par Example 2
+  The following code shows how it is possible to access each single
+  coefficient of a constraint. Given an inequality constraint
+  (in this case \f$x - 5y + 3z \leq 4\f$), we construct a new constraint
+  corresponding to its complement (thus, in this case we want to obtain
+  the strict inequality constraint \f$x - 5y + 3z > 4\f$).
+  \code
+  Constraint c1(x - 5*y + 3*z <= 4);
+  cout << "Constraint c1: " << c1 << endl;
+  if (c1.is_equality())
+    cout << "Constraint c1 is not an inequality." << endl;
+  else {
+    Linear_Expression e;
+    for (dimension_type i = c1.space_dimension(); i-- > 0; )
+      e += c1.coefficient(Variable(i)) * Variable(i);
+    e += c1.inhomogeneous_term();
+    Constraint c2 = c1.is_strict_inequality() ? (e <= 0) : (e < 0);
+    cout << "Complement c2: " << c2 << endl;
+  }
+  \endcode
+  The actual output is the following:
+  \code
+  Constraint c1: -A + 5*B - 3*C >= -4
+  Complement c2: A - 5*B + 3*C > 4
+  \endcode
+  Note that, in general, the particular output obtained can be
+  syntactically different from the (semantically equivalent)
+  constraint considered.
+*/
+class Parma_Polyhedra_Library::Constraint {
+public:
+
+  //! The constraint type.
+  enum Type {
+    /*! The constraint is an equality. */
+    EQUALITY,
+    /*! The constraint is a non-strict inequality. */
+    NONSTRICT_INEQUALITY,
+    /*! The constraint is a strict inequality. */
+    STRICT_INEQUALITY
+  };
+
+  //! The representation used for new Constraints.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Constructs the \f$0<=0\f$ constraint.
+  explicit Constraint(Representation r = default_representation);
+
+  //! Ordinary copy constructor.
+  /*!
+    \note The new Constraint will have the same representation as `c',
+          not default_representation, so that they are indistinguishable.
+  */
+  Constraint(const Constraint& c);
+
+  //! Copy constructor with given size.
+  /*!
+    \note The new Constraint will have the same representation as `c',
+          not default_representation, so that they are indistinguishable.
+  */
+  Constraint(const Constraint& c, dimension_type space_dim);
+
+  //! Copy constructor with given representation.
+  Constraint(const Constraint& c, Representation r);
+
+  //! Copy constructor with given size and representation.
+  Constraint(const Constraint& c, dimension_type space_dim,
+             Representation r);
+
+  //! Copy-constructs from equality congruence \p cg.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p cg is a proper congruence.
+  */
+  explicit Constraint(const Congruence& cg,
+                      Representation r = default_representation);
+
+  //! Destructor.
+  ~Constraint();
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Assignment operator.
+  Constraint& operator=(const Constraint& c);
+
+  //! Returns the maximum space dimension a Constraint can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the constraint.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    Always returns \p true. The return value is needed for compatibility with
+    the Generator class.
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the constraint.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Returns the constraint type of \p *this.
+  Type type() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an equality constraint.
+  */
+  bool is_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an inequality constraint (either strict or non-strict).
+  */
+  bool is_inequality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a non-strict inequality constraint.
+  */
+  bool is_nonstrict_inequality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a strict inequality constraint.
+  */
+  bool is_strict_inequality() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument thrown if the index of \p v
+    is greater than or equal to the space dimension of \p *this.
+  */
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
+  static const Constraint& zero_dim_false();
+
+  /*! \brief
+    The true (zero-dimension space) constraint \f$0 \leq 1\f$,
+    also known as <EM>positivity constraint</EM>.
+  */
+  static const Constraint& zero_dim_positivity();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a tautology (i.e., an always true constraint).
+
+    A tautology can have either one of the following forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 = 0\f$; or
+    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
+      where \f$b \geq 0\f$; or
+    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
+      where \f$b > 0\f$.
+  */
+  bool is_tautological() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false constraint).
+
+    An inconsistent constraint can have either one of the following forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b = 0\f$,
+      where \f$b \neq 0\f$; or
+    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
+      where \f$b < 0\f$; or
+    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
+      where \f$b \leq 0\f$.
+  */
+  bool is_inconsistent() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are equivalent constraints.
+
+    Constraints having different space dimensions are not equivalent.
+    Note that constraints having different types may nonetheless be
+    equivalent, if they both are tautologies or inconsistent.
+  */
+  bool is_equivalent_to(const Constraint& y) const;
+
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent constraints.
+  */
+  bool is_equal_to(const Constraint& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Constraint& y);
+
+  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  static const Constraint& epsilon_geq_zero();
+
+  /*! \brief
+    The zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
+  */
+  static const Constraint& epsilon_leq_one();
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Linear_Expression> Expression;
+
+  //! Allows user code to read the constraint's expression (but note that the
+  //! return type is not Linear_Expression, not all operations are allowed).
+  const Expression& expression() const;
+
+private:
+
+  //! The possible kinds of Constraint objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  Linear_Expression expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
+  Topology topology_;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
+  */
+  static const Constraint* zero_dim_false_p;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the true (zero-dimension space) constraint \f$0 \leq 1\f$, also
+    known as <EM>positivity constraint</EM>.
+  */
+  static const Constraint* zero_dim_positivity_p;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  */
+  static const Constraint* epsilon_geq_zero_p;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
+  */
+  static const Constraint* epsilon_leq_one_p;
+
+  //! Constructs the \f$0<0\f$ constraint.
+  Constraint(dimension_type space_dim, Kind kind, Topology topology,
+             Representation r = default_representation);
+
+  /*! \brief
+    Builds a constraint of kind \p kind and topology \p topology,
+    stealing the coefficients from \p e.
+
+    \note The new Constraint will have the same representation as `e'.
+  */
+  Constraint(Linear_Expression& e, Kind kind, Topology topology);
+
+  /*! \brief
+    Builds a constraint of type \p type and topology \p topology,
+    stealing the coefficients from \p e.
+
+    \note The new Constraint will have the same representation as `e'.
+  */
+  Constraint(Linear_Expression& e, Type type, Topology topology);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
+  //@} // Flags inspection methods
+
+  //! \name Flags coercion methods
+  //@{
+
+  // TODO: Consider setting the epsilon dimension in this method.
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
+
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+  //@} // Flags coercion methods
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    error message \p message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* message) const;
+
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* name_var,
+			       Variable v) const;
+
+  //! Returns the epsilon coefficient. The constraint must be NNC.
+  Coefficient_traits::const_reference epsilon_coefficient() const;
+
+  //! Sets the epsilon coefficient to \p n. The constraint must be NNC.
+  void set_epsilon_coefficient(Coefficient_traits::const_reference n);
+
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The row topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The row topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
+
+  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
+  void set_is_equality();
+
+  //! Sets the constraint to be an inequality.
+  /*!
+    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
+    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
+    of the low-level coefficients of the constraint.
+  */
+  void set_is_inequality();
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Constraint that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Constraint to \p *this and normalizes it.
+  */
+  void linear_combine(const Constraint& y, dimension_type i);
+
+  /*! \brief
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
+
+  /*! \brief
+    Strong normalization: ensures that different Constraint objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Constraint::normalize() and Constraint::sign_normalize().
+  */
+  void strong_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  /*! \brief
+    Builds a new copy of the zero-dimension space constraint
+    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
+  */
+  static Constraint construct_epsilon_geq_zero();
+
+  friend int
+  compare(const Constraint& x, const Constraint& y);
+
+  friend class Linear_System<Constraint>;
+  friend class Constraint_System;
+  friend class Polyhedron;
+  friend class Scalar_Products;
+  friend class Topology_Adjusted_Scalar_Product_Sign;
+  friend class Termination_Helpers;
+  friend class Grid;
+  template <typename T>
+  friend class Octagonal_Shape;
+
+  friend Constraint
+  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator<(Variable v1, Variable v2);
+
+  friend Constraint
+  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+  friend Constraint
+  operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator>(Variable v1, Variable v2);
+
+  friend Constraint
+  operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+  friend Constraint
+  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator==(Variable v1, Variable v2);
+
+  friend Constraint
+  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+  friend Constraint
+  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator<=(Variable v1, Variable v2);
+
+  friend Constraint
+  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+
+  friend Constraint
+  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+  friend Constraint
+  operator>=(Variable v1, Variable v2);
+
+  friend Constraint
+  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  friend Constraint
+  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+};
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint& c);
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
+
+} // namespace IO_Operators
+
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator==(const Constraint& x, const Constraint& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Constraint */
+bool
+operator!=(const Constraint& x, const Constraint& y);
+
+/*! \relates Constraint */
+void swap(Constraint& x, Constraint& y);
+
+} // namespace Parma_Polyhedra_Library
+
+
+/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 1. */
+/* Constraint class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline bool
+Constraint::is_necessarily_closed() const {
+  return (topology_ == NECESSARILY_CLOSED);
+}
+
+inline bool
+Constraint::is_not_necessarily_closed() const {
+  return !is_necessarily_closed();
+}
+
+inline dimension_type
+Constraint::space_dimension() const {
+  return wrapped_expr.space_dimension();
+}
+
+inline void
+Constraint::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
+}
+
+inline bool
+Constraint::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Constraint::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Constraint::topology() const {
+  return topology_;
+}
+
+inline void
+Constraint::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Constraint::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Constraint::set_topology(Topology x) {
+  if (topology() == x)
+    return;
+  if (topology() == NECESSARILY_CLOSED) {
+    // Add a column for the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+    wrapped_expr.set_hide_last(true);
+  } else {
+    PPL_ASSERT(expr.space_dimension() != 0);
+    expr.set_space_dimension(expr.space_dimension() - 1);
+    wrapped_expr.set_hide_last(false);
+  }
+  topology_ = x;
+}
+
+inline void
+Constraint::mark_as_necessarily_closed() {
+  PPL_ASSERT(is_not_necessarily_closed());
+  topology_ = NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(false);
+}
+
+inline void
+Constraint::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(is_necessarily_closed());
+  topology_ = NOT_NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(true);
+}
+
+inline void
+Constraint::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Constraint::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+inline
+Constraint::Constraint(Representation r)
+  : expr(r),
+    wrapped_expr(expr, false),
+    kind_(RAY_OR_POINT_OR_INEQUALITY),
+    topology_(NECESSARILY_CLOSED) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(dimension_type space_dim, Kind kind, Topology topology,
+                       Representation r)
+  : expr(r),
+    wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(Linear_Expression& e, Kind kind, Topology topology)
+  : wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  PPL_ASSERT(kind != RAY_OR_POINT_OR_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    // Add the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  strong_normalize();
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(Linear_Expression& e, Type type, Topology topology)
+  : wrapped_expr(expr, topology == NOT_NECESSARILY_CLOSED),
+    topology_(topology) {
+  PPL_ASSERT(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  if (type == EQUALITY)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  strong_normalize();
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(const Constraint& c)
+  : expr(c.expr),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_),
+    topology_(c.topology_) {
+  // NOTE: This does not call PPL_ASSERT(OK()) because this is called by OK().
+}
+
+inline
+Constraint::Constraint(const Constraint& c, Representation r)
+  : expr(c.expr, r),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_),
+    topology_(c.topology_) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(const Constraint& c, const dimension_type space_dim)
+  : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1)),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_), topology_(c.topology_) {
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::Constraint(const Constraint& c, const dimension_type space_dim,
+                       Representation r)
+  : expr(c.expr, c.is_necessarily_closed() ? space_dim : (space_dim + 1), r),
+    wrapped_expr(expr, c.is_not_necessarily_closed()),
+    kind_(c.kind_), topology_(c.topology_) {
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Constraint::~Constraint() {
+}
+
+inline Constraint&
+Constraint::operator=(const Constraint& c) {
+  Constraint tmp = c;
+  swap(*this, tmp);
+
+  return *this;
+}
+
+inline const Constraint::Expression&
+Constraint::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Constraint::representation() const {
+  return expr.representation();
+}
+
+inline void
+Constraint::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline dimension_type
+Constraint::max_space_dimension() {
+  return Linear_Expression::max_space_dimension();
+}
+
+inline void
+Constraint::set_space_dimension_no_ok(dimension_type space_dim) {
+  const dimension_type old_expr_space_dim = expr.space_dimension();
+  if (topology() == NECESSARILY_CLOSED) {
+    expr.set_space_dimension(space_dim);
+  } else {
+    const dimension_type old_space_dim = space_dimension();
+    if (space_dim > old_space_dim) {
+      expr.set_space_dimension(space_dim + 1);
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    } else {
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+      expr.set_space_dimension(space_dim + 1);
+    }
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+  if (expr.space_dimension() < old_expr_space_dim)
+    strong_normalize();
+}
+
+inline void
+Constraint::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline bool
+Constraint::remove_space_dimensions(const Variables_Set& vars) {
+  expr.remove_space_dimensions(vars);
+  return true;
+}
+
+inline bool
+Constraint::is_equality() const {
+  return is_line_or_equality();
+}
+
+inline bool
+Constraint::is_inequality() const {
+  return is_ray_or_point_or_inequality();
+}
+
+inline Constraint::Type
+Constraint::type() const {
+  if (is_equality())
+    return EQUALITY;
+  if (is_necessarily_closed())
+    return NONSTRICT_INEQUALITY;
+  if (epsilon_coefficient() < 0)
+    return STRICT_INEQUALITY;
+  else
+    return NONSTRICT_INEQUALITY;
+}
+
+inline bool
+Constraint::is_nonstrict_inequality() const {
+  return type() == NONSTRICT_INEQUALITY;
+}
+
+inline bool
+Constraint::is_strict_inequality() const {
+  return type() == STRICT_INEQUALITY;
+}
+
+inline void
+Constraint::set_is_equality() {
+  set_is_line_or_equality();
+}
+
+inline void
+Constraint::set_is_inequality() {
+  set_is_ray_or_point_or_inequality();
+}
+
+inline Coefficient_traits::const_reference
+Constraint::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return expr.coefficient(v);
+}
+
+inline Coefficient_traits::const_reference
+Constraint::inhomogeneous_term() const {
+  return expr.inhomogeneous_term();
+}
+
+inline memory_size_type
+Constraint::external_memory_in_bytes() const {
+  return expr.external_memory_in_bytes();
+}
+
+inline memory_size_type
+Constraint::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline void
+Constraint::strong_normalize() {
+  expr.normalize();
+  sign_normalize();
+}
+
+/*! \relates Constraint */
+inline bool
+operator==(const Constraint& x, const Constraint& y) {
+  return x.is_equivalent_to(y);
+}
+
+/*! \relates Constraint */
+inline bool
+operator!=(const Constraint& x, const Constraint& y) {
+  return !x.is_equivalent_to(y);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator==(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff(e1,
+                         std::max(e1.space_dimension(), e2.space_dimension()),
+                         Constraint::default_representation);
+  diff -= e2;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator==(Variable v1, Variable v2) {
+  if (v1.space_dimension() > v2.space_dimension())
+    swap(v1, v2);
+  PPL_ASSERT(v1.space_dimension() <= v2.space_dimension());
+
+  Linear_Expression diff(v1, Constraint::default_representation);
+  diff -= v2;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff(e1,
+                         std::max(e1.space_dimension(), e2.space_dimension()),
+                         Constraint::default_representation);
+  diff -= e2;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Variable v1, const Variable v2) {
+  Linear_Expression diff(Constraint::default_representation);
+  diff.set_space_dimension(std::max(v1.space_dimension(),
+                                    v2.space_dimension()));
+  diff += v1;
+  diff -= v2;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2) {
+  Linear_Expression diff(e1, Constraint::default_representation);
+  diff -= e2;
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
+  return c;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>(const Variable v1, const Variable v2) {
+  Linear_Expression diff(Constraint::default_representation);
+  diff.set_space_dimension(std::max(v1.space_dimension(),
+                                    v2.space_dimension()));
+  diff += v1;
+  diff -= v2;
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
+  return c;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
+  diff += n;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
+  diff += n;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  neg_assign(diff);
+  diff += n;
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
+  return c;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  diff -= n;
+  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  diff -= n;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  Linear_Expression diff(e, Constraint::default_representation);
+  diff -= n;
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+
+  // NOTE: this also enforces normalization.
+  c.set_epsilon_coefficient(-1);
+  PPL_ASSERT(c.OK());
+
+  return c;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 >= e1;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Variable v1, const Variable v2) {
+  return v2 >= v1;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e >= n;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n >= e;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 > e1;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<(const Variable v1, const Variable v2) {
+  return v2 > v1;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e > n;
+}
+
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n > e;
+}
+
+inline const Constraint&
+Constraint::zero_dim_false() {
+  PPL_ASSERT(zero_dim_false_p != 0);
+  return *zero_dim_false_p;
+}
+
+inline const Constraint&
+Constraint::zero_dim_positivity() {
+  PPL_ASSERT(zero_dim_positivity_p != 0);
+  return *zero_dim_positivity_p;
+}
+
+inline const Constraint&
+Constraint::epsilon_geq_zero() {
+  PPL_ASSERT(epsilon_geq_zero_p != 0);
+  return *epsilon_geq_zero_p;
+}
+
+inline const Constraint&
+Constraint::epsilon_leq_one() {
+  PPL_ASSERT(epsilon_leq_one_p != 0);
+  return *epsilon_leq_one_p;
+}
+
+inline void
+Constraint::m_swap(Constraint& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  swap(topology_, y.topology_);
+  wrapped_expr.set_hide_last(is_not_necessarily_closed());
+  y.wrapped_expr.set_hide_last(y.is_not_necessarily_closed());
+}
+
+inline Coefficient_traits::const_reference
+Constraint::epsilon_coefficient() const {
+  PPL_ASSERT(is_not_necessarily_closed());
+  return expr.coefficient(Variable(expr.space_dimension() - 1));
+}
+
+inline void
+Constraint::set_epsilon_coefficient(Coefficient_traits::const_reference n) {
+  PPL_ASSERT(is_not_necessarily_closed());
+  expr.set_coefficient(Variable(expr.space_dimension() - 1), n);
+}
+
+/*! \relates Constraint */
+inline void
+swap(Constraint& x, Constraint& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 841. */
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1. */
+/* Generator class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Generator_System.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Generator_System;
+class Generator_System_const_iterator;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Grid_Generator_System;
+
+}
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 38. */
+
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 1. */
+/* Class declarations for several distances.
+*/
+
+
+/* Automatically generated from PPL source file ../src/distances.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Temp>
+struct Rectilinear_Distance_Specialization;
+
+template <typename Temp>
+struct Euclidean_Distance_Specialization;
+
+template <typename Temp>
+struct L_Infinity_Distance_Specialization;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 29. */
+
+template <typename Temp>
+struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
+
+  static void finalize(Temp&, Rounding_Dir);
+};
+
+template <typename Temp>
+struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization {
+  static void combine(Temp& running, Temp& current, Rounding_Dir dir);
+
+  static void finalize(Temp& running, Rounding_Dir dir);
+};
+
+
+template <typename Temp>
+struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir);
+
+  static void finalize(Temp&, Rounding_Dir);
+};
+
+/* Automatically generated from PPL source file ../src/distances.inlines.hh line 1. */
+/* Inline functions implementing distances.
+*/
+
+
+/* Automatically generated from PPL source file ../src/distances.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+// A struct to work around the lack of partial specialization
+// of function templates in C++.
+template <typename To, typename From>
+struct maybe_assign_struct {
+  static inline Result
+  function(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
+    // When `To' and `From' are different types, we make the conversion
+    // and use `tmp'.
+    top = &tmp;
+    return assign_r(tmp, from, dir);
+  }
+};
+
+template <typename Type>
+struct maybe_assign_struct<Type, Type> {
+  static inline Result
+  function(const Type*& top, Type&, const Type& from, Rounding_Dir) {
+    // When the types are the same, conversion is unnecessary.
+    top = &from;
+    return V_EQ;
+  }
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Assigns to \p top a pointer to a location that holds the
+  conversion, according to \p dir, of \p from to type \p To.  When
+  necessary, and only when necessary, the variable \p tmp is used to
+  hold the result of conversion.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename To, typename From>
+inline Result
+maybe_assign(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
+  return maybe_assign_struct<To, From>::function(top, tmp, from, dir);
+}
+
+template <typename Temp>
+inline void
+Rectilinear_Distance_Specialization<Temp>::combine(Temp& running,
+						   const Temp& current,
+						   Rounding_Dir dir) {
+  add_assign_r(running, running, current, dir);
+}
+
+template <typename Temp>
+inline void
+Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
+}
+
+template <typename Temp>
+inline void
+Euclidean_Distance_Specialization<Temp>::combine(Temp& running,
+						 Temp& current,
+						 Rounding_Dir dir) {
+  mul_assign_r(current, current, current, dir);
+  add_assign_r(running, running, current, dir);
+}
+
+template <typename Temp>
+inline void
+Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
+						  Rounding_Dir dir) {
+  sqrt_assign_r(running, running, dir);
+}
+
+template <typename Temp>
+inline void
+L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
+						  const Temp& current,
+						  Rounding_Dir) {
+  if (current > running)
+    running = current;
+}
+
+template <typename Temp>
+inline void
+L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/distances.defs.hh line 53. */
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 46. */
+
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+// Put them in the namespace here to declare them friend later.
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Generator
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Generator& x, const Generator& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator& g);
+
+} // namespace IO_Operators
+
+//! Swaps \p x with \p y.
+/*! \relates Generator */
+void swap(Generator& x, Generator& y);
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! A line, ray, point or closure point.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Generator is one of the following:
+
+  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  - a closure point
+    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  where \f$n\f$ is the dimension of the space
+  and, for points and closure points, \f$d > 0\f$ is the divisor.
+
+  \par A note on terminology.
+  As observed in Section \ref representation, there are cases when,
+  in order to represent a polyhedron \f$\cP\f$ using the generator system
+  \f$\cG = (L, R, P, C)\f$, we need to include in the finite set
+  \f$P\f$ even points of \f$\cP\f$ that are <EM>not</EM> vertices
+  of \f$\cP\f$.
+  This situation is even more frequent when working with NNC polyhedra
+  and it is the reason why we prefer to use the word `point'
+  where other libraries use the word `vertex'.
+
+  \par How to build a generator.
+  Each type of generator is built by applying the corresponding
+  function (<CODE>line</CODE>, <CODE>ray</CODE>, <CODE>point</CODE>
+  or <CODE>closure_point</CODE>) to a linear expression,
+  representing a direction in the space;
+  the space dimension of the generator is defined as the space dimension
+  of the corresponding linear expression.
+  Linear expressions used to define a generator should be homogeneous
+  (any constant term will be simply ignored).
+  When defining points and closure points, an optional Coefficient argument
+  can be used as a common <EM>divisor</EM> for all the coefficients
+  occurring in the provided linear expression;
+  the default value for this argument is 1.
+
+  \par
+  In all the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  \endcode
+
+  \par Example 1
+  The following code builds a line with direction \f$x-y-z\f$
+  and having space dimension \f$3\f$:
+  \code
+  Generator l = line(x - y - z);
+  \endcode
+  As mentioned above, the constant term of the linear expression
+  is not relevant. Thus, the following code has the same effect:
+  \code
+  Generator l = line(x - y - z + 15);
+  \endcode
+  By definition, the origin of the space is not a line, so that
+  the following code throws an exception:
+  \code
+  Generator l = line(0*x);
+  \endcode
+
+  \par Example 2
+  The following code builds a ray with the same direction as the
+  line in Example 1:
+  \code
+  Generator r = ray(x - y - z);
+  \endcode
+  As is the case for lines, when specifying a ray the constant term
+  of the linear expression is not relevant; also, an exception is thrown
+  when trying to build a ray from the origin of the space.
+
+  \par Example 3
+  The following code builds the point
+  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
+  \code
+  Generator p = point(1*x + 0*y + 2*z);
+  \endcode
+  The same effect can be obtained by using the following code:
+  \code
+  Generator p = point(x + 2*z);
+  \endcode
+  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
+  using either one of the following lines of code:
+  \code
+  Generator origin3 = point(0*x + 0*y + 0*z);
+  Generator origin3_alt = point(0*z);
+  \endcode
+  Note however that the following code would have defined
+  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  \code
+  Generator origin2 = point(0*y);
+  \endcode
+  The following two lines of code both define the only point
+  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
+  In the second case we exploit the fact that the first argument
+  of the function <CODE>point</CODE> is optional.
+  \code
+  Generator origin0 = Generator::zero_dim_point();
+  Generator origin0_alt = point();
+  \endcode
+
+  \par Example 4
+  The point \f$\vect{p}\f$ specified in Example 3 above
+  can also be obtained with the following code,
+  where we provide a non-default value for the second argument
+  of the function <CODE>point</CODE> (the divisor):
+  \code
+  Generator p = point(2*x + 0*y + 4*z, 2);
+  \endcode
+  Obviously, the divisor can be usefully exploited to specify
+  points having some non-integer (but rational) coordinates.
+  For instance, the point
+  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be specified by the following code:
+  \code
+  Generator q = point(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
+
+  \par Example 5
+  Closure points are specified in the same way we defined points,
+  but invoking their specific constructor function.
+  For instance, the closure point
+  \f$\vect{c} = (1, 0, 2)^\transpose \in \Rset^3\f$ is defined by
+  \code
+  Generator c = closure_point(1*x + 0*y + 2*z);
+  \endcode
+  For the particular case of the (only) closure point
+  having space dimension zero, we can use any of the following:
+  \code
+  Generator closure_origin0 = Generator::zero_dim_closure_point();
+  Generator closure_origin0_alt = closure_point();
+  \endcode
+
+  \par How to inspect a generator
+  Several methods are provided to examine a generator and extract
+  all the encoded information: its space dimension, its type and
+  the value of its integer coefficients.
+
+  \par Example 6
+  The following code shows how it is possible to access each single
+  coefficient of a generator.
+  If <CODE>g1</CODE> is a point having coordinates
+  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
+  we construct the closure point <CODE>g2</CODE> having coordinates
+  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
+  \code
+  if (g1.is_point()) {
+    cout << "Point g1: " << g1 << endl;
+    Linear_Expression e;
+    for (dimension_type i = g1.space_dimension(); i-- > 0; )
+      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
+    Generator g2 = closure_point(e, g1.divisor());
+    cout << "Closure point g2: " << g2 << endl;
+  }
+  else
+    cout << "Generator g1 is not a point." << endl;
+  \endcode
+  Therefore, for the point
+  \code
+  Generator g1 = point(2*x - y + 3*z, 2);
+  \endcode
+  we would obtain the following output:
+  \code
+  Point g1: p((2*A - B + 3*C)/2)
+  Closure point g2: cp((2*A - 2*B + 9*C)/2)
+  \endcode
+  When working with (closure) points, be careful not to confuse
+  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
+  these are equivalent only when the divisor of the (closure) point is 1.
+*/
+class Parma_Polyhedra_Library::Generator {
+public:
+
+  //! The representation used for new Generators.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Returns the line of direction \p e.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
+  */
+  static Generator line(const Linear_Expression& e,
+                        Representation r = default_representation);
+
+  //! Returns the ray of direction \p e.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
+  */
+  static Generator ray(const Linear_Expression& e,
+                       Representation r = default_representation);
+
+  //! Returns the point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Generator point(const Linear_Expression& e
+                         = Linear_Expression::zero(),
+                         Coefficient_traits::const_reference d
+                         = Coefficient_one(),
+                         Representation r = default_representation);
+
+  //! Returns the origin.
+  static Generator point(Representation r);
+
+  //! Returns the point at \p e.
+  static Generator point(const Linear_Expression& e,
+                         Representation r);
+
+  //! Constructs the point at the origin.
+  explicit Generator(Representation r = default_representation);
+
+  //! Returns the closure point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Generator
+  closure_point(const Linear_Expression& e = Linear_Expression::zero(),
+                Coefficient_traits::const_reference d = Coefficient_one(),
+                Representation r = default_representation);
+
+  //! Returns the closure point at the origin.
+  static Generator
+  closure_point(Representation r);
+
+  //! Returns the closure point at \p e.
+  static Generator
+  closure_point(const Linear_Expression& e, Representation r);
+
+  //! Ordinary copy constructor.
+  //! The representation of the new Generator will be the same as g.
+  Generator(const Generator& g);
+
+  //! Copy constructor with given representation.
+  Generator(const Generator& g, Representation r);
+
+  //! Copy constructor with given space dimension.
+  //! The representation of the new Generator will be the same as g.
+  Generator(const Generator& g, dimension_type space_dim);
+
+  //! Copy constructor with given representation and space dimension.
+  Generator(const Generator& g, dimension_type space_dim, Representation r);
+
+  //! Destructor.
+  ~Generator();
+
+  //! Assignment operator.
+  Generator& operator=(const Generator& g);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Returns the maximum space dimension a Generator can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the generator.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    If all dimensions with nonzero coefficients are removed from a ray or a
+    line, it is changed into a point and this method returns \p false .
+    Otherwise, it returns \p true .
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the generator.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! The generator type.
+  enum Type {
+    /*! The generator is a line. */
+    LINE,
+    /*! The generator is a ray. */
+    RAY,
+    /*! The generator is a point. */
+    POINT,
+    /*! The generator is a closure point. */
+    CLOSURE_POINT
+  };
+
+  //! Returns the generator type of \p *this.
+  Type type() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
+  bool is_ray() const;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line or a ray.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_line_or_ray() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
+  bool is_closure_point() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the index of \p v is greater than or equal to the
+    space dimension of \p *this.
+  */
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! If \p *this is either a point or a closure point, returns its divisor.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is neither a point nor a closure point.
+  */
+  Coefficient_traits::const_reference divisor() const;
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  static const Generator& zero_dim_point();
+
+  /*! \brief
+    Returns, as a closure point,
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
+  */
+  static const Generator& zero_dim_closure_point();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are equivalent generators.
+
+    Generators having different space dimensions are not equivalent.
+  */
+  bool is_equivalent_to(const Generator& y) const;
+
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent generators.
+  */
+  bool is_equal_to(const Generator& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Generator& y);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Expression_Hide_Inhomo<Linear_Expression> > Expression;
+
+  //! Allows user code to read the internal expression (but note that this
+  //! is a different type, not all operations are allowed).
+  const Expression& expression() const;
+
+private:
+  //! The possible kinds of Generator objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  Linear_Expression expr;
+
+  Expression_Hide_Inhomo<Linear_Expression> semi_wrapped_expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
+  Topology topology_;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
+  */
+  static const Generator* zero_dim_point_p;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the origin of the zero-dimensional space \f$\Rset^0\f$, as a closure point.
+  */
+  static const Generator* zero_dim_closure_point_p;
+
+  /*! \brief
+    Builds a generator of type \p type and topology \p topology,
+    stealing the coefficients from \p e.
+
+    If the topology is NNC, the last dimension of \p e is used as the epsilon
+    coefficient.
+  */
+  Generator(Linear_Expression& e, Type type, Topology topology);
+
+  Generator(Linear_Expression& e, Kind kind, Topology topology);
+
+  Generator(dimension_type space_dim, Kind kind, Topology topology,
+            Representation r = default_representation);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
+  //@} // Flags inspection methods
+
+  //! \name Flags coercion methods
+  //@{
+
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
+
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+  //@} // Flags coercion methods
+
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The row topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The row topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Generator that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Generator to \p *this and normalizes it.
+  */
+  void linear_combine(const Generator& y, dimension_type i);
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* v_name,
+			       Variable v) const;
+
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception
+    containing the appropriate error message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* reason) const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
+  bool is_ray_or_point() const;
+
+  //! Sets the Generator kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
+
+  //! Sets the Generator kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_ray_or_point();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the closure point
+    \p *this has the same \e coordinates of the point \p p.
+
+    It is \e assumed that \p *this is a closure point, \p p is a point
+    and both topologies and space dimensions agree.
+  */
+  bool is_matching_closure_point(const Generator& p) const;
+
+  //! Returns the epsilon coefficient. The generator must be NNC.
+  Coefficient_traits::const_reference epsilon_coefficient() const;
+
+  //! Sets the epsilon coefficient to \p n. The generator must be NNC.
+  void set_epsilon_coefficient(Coefficient_traits::const_reference n);
+
+  /*! \brief
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
+
+  /*! \brief
+    Strong normalization: ensures that different Generator objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Generator::normalize() and Generator::sign_normalize().
+  */
+  void strong_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  //! Another print functions, with fancy output, more human-friendly.
+  //! This is used by operator<<();
+  void fancy_print(std::ostream& s) const;
+
+  friend class Linear_System<Generator>;
+  friend class Parma_Polyhedra_Library::Scalar_Products;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
+  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
+  friend class Parma_Polyhedra_Library::Generator_System;
+  friend class Parma_Polyhedra_Library::Generator_System_const_iterator;
+  // FIXME: the following friend declaration should be avoided.
+  friend class Parma_Polyhedra_Library::Polyhedron;
+  // This is for access to Linear_Expression in `insert'.
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+  friend class Parma_Polyhedra_Library::MIP_Problem;
+  friend class Parma_Polyhedra_Library::Grid;
+
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Generator& g);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Generator& g);
+
+  friend int
+  compare(const Generator& x, const Generator& y);
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+//! Shorthand for Generator::line(const Linear_Expression& e, Representation r).
+/*! \relates Generator */
+Generator line(const Linear_Expression& e,
+               Representation r = Generator::default_representation);
+
+//! Shorthand for Generator::ray(const Linear_Expression& e, Representation r).
+/*! \relates Generator */
+Generator ray(const Linear_Expression& e,
+              Representation r = Generator::default_representation);
+
+/*! \brief
+  Shorthand for
+  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Generator
+*/
+Generator
+point(const Linear_Expression& e = Linear_Expression::zero(),
+      Coefficient_traits::const_reference d = Coefficient_one(),
+      Representation r = Generator::default_representation);
+
+//! Shorthand for Generator::point(Representation r).
+/*! \relates Generator */
+Generator
+point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Generator::point(const Linear_Expression& e, Representation r).
+
+  \relates Generator
+*/
+Generator
+point(const Linear_Expression& e, Representation r);
+
+/*! \brief
+  Shorthand for
+  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Generator
+*/
+Generator
+closure_point(const Linear_Expression& e = Linear_Expression::zero(),
+              Coefficient_traits::const_reference d = Coefficient_one(),
+              Representation r = Generator::default_representation);
+
+//! Shorthand for Generator::closure_point(Representation r).
+/*! \relates Generator */
+Generator
+closure_point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Generator::closure_point(const Linear_Expression& e, Representation r).
+
+  \relates Generator
+*/
+Generator
+closure_point(const Linear_Expression& e, Representation r);
+
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Generator */
+bool operator==(const Generator& x, const Generator& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Generator */
+bool operator!=(const Generator& x, const Generator& y);
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Generator
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir,
+                                 Temp& tmp0,
+                                 Temp& tmp1,
+                                 Temp& tmp2);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Generator& x,
+                               const Generator& y,
+                               Rounding_Dir dir);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Generator& x,
+                                 const Generator& y,
+                                 Rounding_Dir dir);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Generator
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Generator& x,
+                               const Generator& y,
+                               Rounding_Dir dir,
+                               Temp& tmp0,
+                               Temp& tmp1,
+                               Temp& tmp2);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Generator
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
+*/
+template <typename Temp, typename To>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Generator& x,
+                                const Generator& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Generator.inlines.hh line 1. */
+/* Generator class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline bool
+Generator::is_necessarily_closed() const {
+  return (topology() == NECESSARILY_CLOSED);
+}
+
+inline bool
+Generator::is_not_necessarily_closed() const {
+  return (topology() == NOT_NECESSARILY_CLOSED);
+}
+
+inline dimension_type
+Generator::space_dimension() const {
+  return wrapped_expr.space_dimension();
+}
+
+inline bool
+Generator::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Generator::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Generator::topology() const {
+  return topology_;
+}
+
+inline void
+Generator::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Generator::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Generator::set_topology(Topology x) {
+  if (topology() == x)
+    return;
+  if (topology() == NECESSARILY_CLOSED) {
+    // Add a column for the epsilon dimension.
+    expr.set_space_dimension(expr.space_dimension() + 1);
+    wrapped_expr.set_hide_last(true);
+  } else {
+    PPL_ASSERT(expr.space_dimension() > 0);
+    expr.set_space_dimension(expr.space_dimension() - 1);
+    wrapped_expr.set_hide_last(false);
+  }
+  topology_ = x;
+}
+
+inline void
+Generator::mark_as_necessarily_closed() {
+  PPL_ASSERT(is_not_necessarily_closed());
+  topology_ = NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(false);
+}
+
+inline void
+Generator::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(is_necessarily_closed());
+  topology_ = NOT_NECESSARILY_CLOSED;
+  wrapped_expr.set_hide_last(true);
+}
+
+inline void
+Generator::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Generator::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+inline
+Generator::Generator(Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, false),
+    kind_(RAY_OR_POINT_OR_INEQUALITY),
+    topology_(NECESSARILY_CLOSED) {
+  expr.set_inhomogeneous_term(Coefficient_one());
+  PPL_ASSERT(space_dimension() == 0);
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(dimension_type space_dim, Kind kind, Topology topology,
+                     Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  if (is_necessarily_closed())
+    expr.set_space_dimension(space_dim);
+  else
+    expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(Linear_Expression& e, Type type, Topology topology)
+  : semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    topology_(topology) {
+  PPL_ASSERT(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  if (type == LINE)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  strong_normalize();
+}
+
+inline
+Generator::Generator(Linear_Expression& e, Kind kind, Topology topology)
+  : semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, topology == NOT_NECESSARILY_CLOSED),
+    kind_(kind),
+    topology_(topology) {
+  swap(expr, e);
+  if (topology == NOT_NECESSARILY_CLOSED)
+    expr.set_space_dimension(expr.space_dimension() + 1);
+  strong_normalize();
+}
+
+inline
+Generator::Generator(const Generator& g)
+  : expr(g.expr),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+}
+
+inline
+Generator::Generator(const Generator& g, Representation r)
+  : expr(g.expr, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  // This does not assert OK() because it's called by OK().
+  PPL_ASSERT(OK());
+}
+
+inline
+Generator::Generator(const Generator& g, dimension_type space_dim)
+  : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1)),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline
+Generator::Generator(const Generator& g, dimension_type space_dim,
+                     Representation r)
+  : expr(g.expr, g.is_necessarily_closed() ? space_dim : (space_dim + 1), r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, g.is_not_necessarily_closed()),
+    kind_(g.kind_),
+    topology_(g.topology_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline
+Generator::~Generator() {
+}
+
+inline Generator&
+Generator::operator=(const Generator& g) {
+  Generator tmp = g;
+  swap(*this, tmp);
+
+  return *this;
+}
+
+inline const Generator::Expression&
+Generator::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Generator::representation() const {
+  return expr.representation();
+}
+
+inline void
+Generator::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline dimension_type
+Generator::max_space_dimension() {
+  return Linear_Expression::max_space_dimension();
+}
+
+inline void
+Generator::set_space_dimension_no_ok(dimension_type space_dim) {
+  const dimension_type old_expr_space_dim = expr.space_dimension();
+  if (topology() == NECESSARILY_CLOSED) {
+    expr.set_space_dimension(space_dim);
+  } else {
+    const dimension_type old_space_dim = space_dimension();
+    if (space_dim > old_space_dim) {
+      expr.set_space_dimension(space_dim + 1);
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    } else {
+      expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+      expr.set_space_dimension(space_dim + 1);
+    }
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+  if (expr.space_dimension() < old_expr_space_dim)
+    strong_normalize();
+}
+
+inline void
+Generator::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Generator::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
+}
+
+inline bool
+Generator::is_line() const {
+  return is_line_or_equality();
+}
+
+inline bool
+Generator::is_ray_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
+
+inline bool
+Generator::is_line_or_ray() const {
+  return expr.inhomogeneous_term() == 0;
+}
+
+inline bool
+Generator::is_ray() const {
+  return is_ray_or_point() && is_line_or_ray();
+}
+
+inline Generator::Type
+Generator::type() const {
+  if (is_line())
+    return LINE;
+  if (is_line_or_ray())
+    return RAY;
+  if (is_necessarily_closed())
+    return POINT;
+  else {
+    // Checking the value of the epsilon coefficient.
+    if (epsilon_coefficient() == 0)
+      return CLOSURE_POINT;
+    else
+      return POINT;
+  }
+}
+
+inline bool
+Generator::is_point() const {
+  return type() == POINT;
+}
+
+inline bool
+Generator::is_closure_point() const {
+  return type() == CLOSURE_POINT;
+}
+
+inline void
+Generator::set_is_line() {
+  set_is_line_or_equality();
+}
+
+inline void
+Generator::set_is_ray_or_point() {
+  set_is_ray_or_point_or_inequality();
+}
+
+inline Coefficient_traits::const_reference
+Generator::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return expr.coefficient(v);
+}
+
+inline Coefficient_traits::const_reference
+Generator::divisor() const {
+  Coefficient_traits::const_reference d = expr.inhomogeneous_term();
+  if (!is_ray_or_point() || d == 0)
+    throw_invalid_argument("divisor()",
+			   "*this is neither a point nor a closure point");
+  return d;
+}
+
+inline Coefficient_traits::const_reference
+Generator::epsilon_coefficient() const {
+  PPL_ASSERT(is_not_necessarily_closed());
+  return expr.coefficient(Variable(expr.space_dimension() - 1));
+}
+
+
+inline void
+Generator::set_epsilon_coefficient(Coefficient_traits::const_reference n) {
+  PPL_ASSERT(is_not_necessarily_closed());
+  expr.set_coefficient(Variable(expr.space_dimension() - 1), n);
+}
+
+
+inline memory_size_type
+Generator::external_memory_in_bytes() const {
+  return expr.external_memory_in_bytes();
+}
+
+inline memory_size_type
+Generator::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline void
+Generator::strong_normalize() {
+  expr.normalize();
+  sign_normalize();
+}
+
+inline const Generator&
+Generator::zero_dim_point() {
+  PPL_ASSERT(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
+
+inline const Generator&
+Generator::zero_dim_closure_point() {
+  PPL_ASSERT(zero_dim_closure_point_p != 0);
+  return *zero_dim_closure_point_p;
+}
+
+/*! \relates Generator */
+inline Generator
+line(const Linear_Expression& e, Representation r) {
+  return Generator::line(e, r);
+}
+
+/*! \relates Generator */
+inline Generator
+ray(const Linear_Expression& e, Representation r) {
+  return Generator::ray(e, r);
+}
+
+/*! \relates Generator */
+inline Generator
+point(const Linear_Expression& e, Coefficient_traits::const_reference d,
+      Representation r) {
+  return Generator::point(e, d, r);
+}
+
+/*! \relates Generator */
+inline Generator
+point(Representation r) {
+  return Generator::point(r);
+}
+
+/*! \relates Generator */
+inline Generator
+point(const Linear_Expression& e, Representation r) {
+  return Generator::point(e, r);
+}
+
+/*! \relates Generator */
+inline Generator
+closure_point(const Linear_Expression& e,
+              Coefficient_traits::const_reference d,
+              Representation r) {
+  return Generator::closure_point(e, d, r);
+}
+
+/*! \relates Generator */
+inline Generator
+closure_point(Representation r) {
+  return Generator::closure_point(r);
+}
+
+/*! \relates Generator */
+inline Generator
+closure_point(const Linear_Expression& e,
+              Representation r) {
+  return Generator::closure_point(e, r);
+}
+
+/*! \relates Generator */
+inline bool
+operator==(const Generator& x, const Generator& y) {
+  return x.is_equivalent_to(y);
+}
+
+/*! \relates Generator */
+inline bool
+operator!=(const Generator& x, const Generator& y) {
+  return !x.is_equivalent_to(y);
+}
+
+inline void
+Generator::ascii_dump(std::ostream& s) const {
+
+  expr.ascii_dump(s);
+
+  s << " ";
+  
+  switch (type()) {
+  case Generator::LINE:
+    s << "L ";
+    break;
+  case Generator::RAY:
+    s << "R ";
+    break;
+  case Generator::POINT:
+    s << "P ";
+    break;
+  case Generator::CLOSURE_POINT:
+    s << "C ";
+    break;
+  }
+  if (is_necessarily_closed())
+    s << "(C)";
+  else
+    s << "(NNC)";
+  s << "\n";
+}
+
+inline bool
+Generator::ascii_load(std::istream& s) {
+  std::string str;
+
+  expr.ascii_load(s);
+
+  if (!(s >> str))
+    return false;
+  if (str == "L")
+    set_is_line();
+  else if (str == "R" || str == "P" || str == "C")
+    set_is_ray_or_point();
+  else
+    return false;
+
+  std::string str2;
+
+  if (!(s >> str2))
+    return false;
+  if (str2 == "(C)") {
+    if (is_not_necessarily_closed())
+      // TODO: Avoid using the mark_as_*() methods if possible.
+      mark_as_necessarily_closed();
+  }
+  else {
+    if (str2 == "(NNC)") {
+      if (is_necessarily_closed())
+        // TODO: Avoid using the mark_as_*() methods if possible.
+        mark_as_not_necessarily_closed();
+    }
+    else
+      return false;
+  }
+
+  // Checking for equality of actual and declared types.
+  switch (type()) {
+  case Generator::LINE:
+    if (str != "L")
+      return false;
+    break;
+  case Generator::RAY:
+    if (str != "R")
+      return false;
+    break;
+  case Generator::POINT:
+    if (str != "P")
+      return false;
+    break;
+  case Generator::CLOSURE_POINT:
+    if (str != "C")
+      return false;
+    break;
+  }
+
+  return true;
+}
+
+inline void
+Generator::m_swap(Generator& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  swap(topology_, y.topology_);
+  wrapped_expr.set_hide_last(is_not_necessarily_closed());
+  y.wrapped_expr.set_hide_last(y.is_not_necessarily_closed());
+}
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Generator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization, typename Temp, typename To>
+inline bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const Generator& x,
+		    const Generator& y,
+		    const Rounding_Dir dir,
+		    Temp& tmp0,
+		    Temp& tmp1,
+		    Temp& tmp2) {
+  // Generator kind compatibility check: we only compute distances
+  // between (closure) points.
+  if (x.is_line_or_ray() || y.is_line_or_ray())
+    return false;
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
+
+  // All zero-dim generators have distance zero.
+  if (x_space_dim == 0) {
+    assign_r(r, 0, ROUND_NOT_NEEDED);
+    return true;
+  }
+
+  PPL_DIRTY_TEMP(mpq_class, x_coord);
+  PPL_DIRTY_TEMP(mpq_class, y_coord);
+  PPL_DIRTY_TEMP(mpq_class, x_div);
+  PPL_DIRTY_TEMP(mpq_class, y_div);
+  assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
+  assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
+
+  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  // TODO: This loop can be optimized more, if needed.
+  for (dimension_type i = x_space_dim; i-- > 0; ) {
+    assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+    div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED);
+    assign_r(y_coord, y.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+    div_assign_r(y_coord, y_coord, y_div, ROUND_NOT_NEEDED);
+    const Temp* tmp1p;
+    const Temp* tmp2p;
+
+    if (x_coord > y_coord) {
+      maybe_assign(tmp1p, tmp1, x_coord, dir);
+      maybe_assign(tmp2p, tmp2, y_coord, inverse(dir));
+    }
+    else {
+      maybe_assign(tmp1p, tmp1, y_coord, dir);
+      maybe_assign(tmp2p, tmp2, x_coord, inverse(dir));
+    }
+    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+    PPL_ASSERT(sgn(tmp1) >= 0);
+    Specialization::combine(tmp0, tmp1, dir);
+  }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename To>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Generator& x,
+			    const Generator& y,
+			    const Rounding_Dir dir) {
+  return rectilinear_distance_assign<To, To>(r, x, y, dir);
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename To>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Generator& x,
+			  const Generator& y,
+			  const Rounding_Dir dir) {
+  return euclidean_distance_assign<To, To>(r, x, y, dir);
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename Temp, typename To>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
+
+/*! \relates Generator */
+template <typename To>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Generator& x,
+			   const Generator& y,
+			   const Rounding_Dir dir) {
+  return l_infinity_distance_assign<To, To>(r, x, y, dir);
+}
+
+/*! \relates Generator */
+inline void
+swap(Generator& x, Generator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1035. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 1. */
+/* Grid_Generator class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 29. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 33. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 39. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 41. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+// Put these in the namespace here to declare them friend later.
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Grid_Generator
+  \return
+  The returned absolute value can be \f$0\f$, \f$1\f$ or \f$2\f$.
+
+  \param x
+  A row of coefficients;
+
+  \param y
+  Another row.
+
+  Compares \p x and \p y, where \p x and \p y may be of different size,
+  in which case the "missing" coefficients are assumed to be zero.
+  The comparison is such that:
+  -# equalities are smaller than inequalities;
+  -# lines are smaller than points and rays;
+  -# the ordering is lexicographic;
+  -# the positions compared are, in decreasing order of significance,
+     1, 2, ..., \p size(), 0;
+  -# the result is negative, zero, or positive if x is smaller than,
+     equal to, or greater than y, respectively;
+  -# when \p x and \p y are different, the absolute value of the
+     result is 1 if the difference is due to the coefficient in
+     position 0; it is 2 otherwise.
+
+  When \p x and \p y represent the hyper-planes associated
+  to two equality or inequality constraints, the coefficient
+  at 0 is the known term.
+  In this case, the return value can be characterized as follows:
+  - -2, if \p x is smaller than \p y and they are \e not parallel;
+  - -1, if \p x is smaller than \p y and they \e are parallel;
+  -  0, if \p x and y are equal;
+  - +1, if \p y is smaller than \p x and they \e are parallel;
+  - +2, if \p y is smaller than \p x and they are \e not parallel.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Grid_Generator& x, const Grid_Generator& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
+
+} // namespace IO_Operators
+
+//! Swaps \p x with \p y.
+/*! \relates Grid_Generator */
+void swap(Grid_Generator& x, Grid_Generator& y);
+
+} // namespace Parma_Polyhedra_Library
+
+//! A grid line, parameter or grid point.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Grid_Generator is one of the following:
+
+  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+
+  - a parameter
+    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  - a grid_point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+
+  where \f$n\f$ is the dimension of the space
+  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
+
+  \par How to build a grid generator.
+  Each type of generator is built by applying the corresponding
+  function (<CODE>grid_line</CODE>, <CODE>parameter</CODE>
+  or <CODE>grid_point</CODE>) to a linear expression;
+  the space dimension of the generator is defined as the space dimension
+  of the corresponding linear expression.
+  Linear expressions used to define a generator should be homogeneous
+  (any constant term will be simply ignored).
+  When defining grid points and parameters, an optional Coefficient argument
+  can be used as a common <EM>divisor</EM> for all the coefficients
+  occurring in the provided linear expression;
+  the default value for this argument is 1.
+
+  \par
+  In all the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  \endcode
+
+  \par Example 1
+  The following code builds a grid line with direction \f$x-y-z\f$
+  and having space dimension \f$3\f$:
+  \code
+  Grid_Generator l = grid_line(x - y - z);
+  \endcode
+  By definition, the origin of the space is not a line, so that
+  the following code throws an exception:
+  \code
+  Grid_Generator l = grid_line(0*x);
+  \endcode
+
+  \par Example 2
+  The following code builds the parameter as the vector
+  \f$\vect{p} = (1, -1, -1)^\transpose \in \Rset^3\f$
+  which has the same direction as the line in Example 1:
+  \code
+  Grid_Generator q = parameter(x - y - z);
+  \endcode
+  Note that, unlike lines, for parameters, the length as well
+  as the direction of the vector represented by the code is significant.
+  Thus \p q is \e not the same as the parameter \p q1 defined by
+  \code
+  Grid_Generator q1 = parameter(2x - 2y - 2z);
+  \endcode
+  By definition, the origin of the space is not a parameter, so that
+  the following code throws an exception:
+  \code
+  Grid_Generator q = parameter(0*x);
+  \endcode
+
+  \par Example 3
+  The following code builds the grid point
+  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
+  \code
+  Grid_Generator p = grid_point(1*x + 0*y + 2*z);
+  \endcode
+  The same effect can be obtained by using the following code:
+  \code
+  Grid_Generator p = grid_point(x + 2*z);
+  \endcode
+  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
+  using either one of the following lines of code:
+  \code
+  Grid_Generator origin3 = grid_point(0*x + 0*y + 0*z);
+  Grid_Generator origin3_alt = grid_point(0*z);
+  \endcode
+  Note however that the following code would have defined
+  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  \code
+  Grid_Generator origin2 = grid_point(0*y);
+  \endcode
+  The following two lines of code both define the only grid point
+  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
+  In the second case we exploit the fact that the first argument
+  of the function <CODE>point</CODE> is optional.
+  \code
+  Grid_Generator origin0 = Generator::zero_dim_point();
+  Grid_Generator origin0_alt = grid_point();
+  \endcode
+
+  \par Example 4
+  The grid point \f$\vect{p}\f$ specified in Example 3 above
+  can also be obtained with the following code,
+  where we provide a non-default value for the second argument
+  of the function <CODE>grid_point</CODE> (the divisor):
+  \code
+  Grid_Generator p = grid_point(2*x + 0*y + 4*z, 2);
+  \endcode
+  Obviously, the divisor can be used to specify
+  points having some non-integer (but rational) coordinates.
+  For instance, the grid point
+  \f$\vect{p1} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be specified by the following code:
+  \code
+  Grid_Generator p1 = grid_point(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
+
+  \par Example 5
+  Parameters, like grid points can have a divisor.
+  For instance, the parameter
+  \f$\vect{q} = (1, 0, 2)^\transpose \in \Rset^3\f$ can be defined:
+  \code
+  Grid_Generator q = parameter(2*x + 0*y + 4*z, 2);
+  \endcode
+  Also, the divisor can be used to specify
+  parameters having some non-integer (but rational) coordinates.
+  For instance, the parameter
+  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
+  can be defined:
+  \code
+  Grid_Generator q = parameter(-15*x + 32*y + 21*z, 10);
+  \endcode
+  If a zero divisor is provided, an exception is thrown.
+
+  \par How to inspect a grid generator
+  Several methods are provided to examine a grid generator and extract
+  all the encoded information: its space dimension, its type and
+  the value of its integer coefficients and the value of the denominator.
+
+  \par Example 6
+  The following code shows how it is possible to access each single
+  coefficient of a grid generator.
+  If <CODE>g1</CODE> is a grid point having coordinates
+  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
+  we construct the parameter <CODE>g2</CODE> having coordinates
+  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
+  \code
+  if (g1.is_point()) {
+    cout << "Grid point g1: " << g1 << endl;
+    Linear_Expression e;
+    for (dimension_type i = g1.space_dimension(); i-- > 0; )
+      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
+    Grid_Generator g2 = parameter(e, g1.divisor());
+    cout << "Parameter g2: " << g2 << endl;
+  }
+  else
+    cout << "Grid generator g1 is not a grid point." << endl;
+  \endcode
+  Therefore, for the grid point
+  \code
+  Grid_Generator g1 = grid_point(2*x - y + 3*z, 2);
+  \endcode
+  we would obtain the following output:
+  \code
+  Grid point g1: p((2*A - B + 3*C)/2)
+  Parameter g2: parameter((2*A - 2*B + 9*C)/2)
+  \endcode
+  When working with grid points and parameters, be careful not to confuse
+  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
+  these are equivalent only when the divisor is 1.
+*/
+class Parma_Polyhedra_Library::Grid_Generator {
+public:
+
+  //! The possible kinds of Grid_Generator objects.
+  enum Kind {
+    LINE_OR_EQUALITY = 0,
+    RAY_OR_POINT_OR_INEQUALITY = 1
+  };
+
+  //! The representation used for new Grid_Generators.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Returns the line of direction \p e.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
+  */
+  static Grid_Generator grid_line(const Linear_Expression& e,
+                                  Representation r = default_representation);
+
+  //! Returns the parameter of direction \p e and size \p e/d, with the same
+  //! representation as e.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Grid_Generator parameter(const Linear_Expression& e
+                                  = Linear_Expression::zero(),
+                                  Coefficient_traits::const_reference d
+                                  = Coefficient_one(),
+                                  Representation r = default_representation);
+
+  // TODO: Improve the documentation of this method.
+  //! Returns the parameter of direction and size \p Linear_Expression::zero() .
+  static Grid_Generator parameter(Representation r);
+
+  //! Returns the parameter of direction and size \p e .
+  static Grid_Generator parameter(const Linear_Expression& e,
+                                  Representation r);
+
+  //! Returns the point at \p e / \p d.
+  /*!
+    Both \p e and \p d are optional arguments, with default values
+    Linear_Expression::zero() and Coefficient_one(), respectively.
+
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  static Grid_Generator grid_point(const Linear_Expression& e
+                                   = Linear_Expression::zero(),
+                                   Coefficient_traits::const_reference d
+                                   = Coefficient_one(),
+                                   Representation r = default_representation);
+
+  //! Returns the point at \p e .
+  static Grid_Generator grid_point(Representation r);
+
+  //! Returns the point at \p e .
+  static Grid_Generator grid_point(const Linear_Expression& e,
+                                   Representation r);
+
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  explicit Grid_Generator(Representation r = default_representation);
+
+  //! Ordinary copy constructor.
+  //! The new Grid_Generator will have the same representation as g.
+  Grid_Generator(const Grid_Generator& g);
+
+  //! Copy constructor with specified representation.
+  Grid_Generator(const Grid_Generator& g, Representation r);
+
+  //! Copy constructor with specified space dimension.
+  //! The new Grid_Generator will have the same representation as g.
+  Grid_Generator(const Grid_Generator& g, dimension_type space_dim);
+
+  //! Copy constructor with specified space dimension and representation.
+  Grid_Generator(const Grid_Generator& g, dimension_type space_dim,
+                 Representation r);
+
+  //! Destructor.
+  ~Grid_Generator();
+
+  //! Assignment operator.
+  Grid_Generator& operator=(const Grid_Generator& g);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Returns the maximum space dimension a Grid_Generator can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Removes all the specified dimensions from the grid generator.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+
+    Always returns \p true. The return value is needed for compatibility with
+    the Generator class.
+  */
+  bool remove_space_dimensions(const Variables_Set& vars);
+
+  //! Permutes the space dimensions of the grid generator.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! The generator type.
+  enum Type {
+    /*! The generator is a grid line. */
+    LINE,
+    /*! The generator is a parameter. */
+    PARAMETER,
+    /*! The generator is a grid point. */
+    POINT
+  };
+
+  //! Returns the generator type of \p *this.
+  Type type() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
+  bool is_parameter() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a line or
+    a parameter.
+  */
+  bool is_line_or_parameter() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row represents a
+    parameter or a point.
+  */
+  bool is_parameter_or_point() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if the index of \p v is greater than or equal to the
+    space dimension of \p *this.
+  */
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the divisor of \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
+  */
+  Coefficient_traits::const_reference divisor() const;
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  static const Grid_Generator& zero_dim_point();
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    equivalent generators.
+
+    Generators having different space dimensions are not equivalent.
+  */
+  bool is_equivalent_to(const Grid_Generator& y) const;
+
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  /*!
+    This is faster than is_equivalent_to(), but it may return `false' even
+    for equivalent generators.
+  */
+  bool is_equal_to(const Grid_Generator& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if all the homogeneous terms
+    of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Grid_Generator& y);
+
+  /*! \brief
+    Scales \p *this to be represented with a divisor of \p d (if
+    \*this is a parameter or point). Does nothing at all on lines.
+
+    It is assumed that \p d is a multiple of the current divisor
+    and different from zero. The behavior is undefined if the assumption
+    does not hold.
+  */
+  void scale_to_divisor(Coefficient_traits::const_reference d);
+
+  //! Sets the divisor of \p *this to \p d.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
+  */
+  void set_divisor(Coefficient_traits::const_reference d);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Expression_Hide_Last<Expression_Hide_Inhomo<Linear_Expression> > Expression;
+
+  //! Allows user code to read the internal expression (but note that this
+  //! is a different type, not all operations are allowed).
+  const Expression& expression() const;
+
+private:
+  Linear_Expression expr;
+
+  Expression_Hide_Inhomo<Linear_Expression> semi_wrapped_expr;
+
+  Expression wrapped_expr;
+
+  Kind kind_;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the origin of the zero-dimensional space \f$\Rset^0\f$.
+  */
+  static const Grid_Generator* zero_dim_point_p;
+
+  //! Constructs a Grid_Generator with the specified space dimension, kind
+  //! and topology.
+  Grid_Generator(dimension_type space_dim, Kind kind, Topology topology,
+                 Representation r = default_representation);
+
+  // TODO: Avoid reducing the space dimension.
+  /*! \brief
+    Constructs a grid generator of type \p t from linear expression \p e,
+    stealing the underlying data structures from \p e.
+
+    The last column in \p e becomes the parameter divisor column of
+    the new Grid_Generator.
+
+    \note The new Grid_Generator will have the same representation as `e'.
+  */
+  Grid_Generator(Linear_Expression& e, Type t);
+
+  //! Sets the dimension of the vector space enclosing \p *this to
+  //! \p space_dim .
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid objects.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
+    dimension \p dim.
+  */
+  bool is_equal_at_dimension(dimension_type dim,
+                             const Grid_Generator& gg) const;
+
+  //! Another print functions, with fancy output, more human-friendly.
+  //! This is used by operator<<();
+  void fancy_print(std::ostream& s) const;
+
+  //! Converts the Grid_Generator into a parameter.
+  void set_is_parameter();
+
+  //! Sets the Grid_Generator kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
+
+  //! Sets the Grid_Generator kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_parameter_or_point();
+
+  //! \name Flags inspection methods
+  //@{
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is not necessarily closed.
+  */
+  bool is_not_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the topology
+    of \p *this row is necessarily closed.
+  */
+  bool is_necessarily_closed() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a ray, a point or an inequality.
+  */
+  bool is_ray_or_point_or_inequality() const;
+  //@} // Flags inspection methods
+
+  //! \name Flags coercion methods
+  //@{
+
+  //! Sets to \p x the topological kind of \p *this row.
+  void set_topology(Topology x);
+
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
+
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
+
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
+
+  //! Sets to \p RAY_OR_POINT_OR_INEQUALITY the kind of \p *this row.
+  void set_is_ray_or_point_or_inequality();
+  //@} // Flags coercion methods
+
+  /*! \brief
+    Normalizes the sign of the coefficients so that the first non-zero
+    (homogeneous) coefficient of a line-or-equality is positive.
+  */
+  void sign_normalize();
+
+  /*! \brief
+    Strong normalization: ensures that different Grid_Generator objects
+    represent different hyperplanes or hyperspaces.
+
+    Applies both Grid_Generator::normalize() and Grid_Generator::sign_normalize().
+  */
+  void strong_normalize();
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
+
+  //! Linearly combines \p *this with \p y so that i-th coefficient is 0.
+  /*!
+    \param y
+    The Grid_Generator that will be combined with \p *this object;
+
+    \param i
+    The index of the coefficient that has to become \f$0\f$.
+
+    Computes a linear combination of \p *this and \p y having
+    the i-th coefficient equal to \f$0\f$. Then it assigns
+    the resulting Grid_Generator to \p *this and normalizes it.
+  */
+  void linear_combine(const Grid_Generator& y, dimension_type i);
+
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+                               const char* name_var,
+                               const Variable v) const;
+
+  /*! \brief
+    Throw a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* reason) const;
+
+  friend std::ostream&
+  IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g);
+
+  friend int
+  compare(const Grid_Generator& x, const Grid_Generator& y);
+
+  friend class Grid_Generator_System;
+  friend class Grid;
+  friend class Linear_System<Grid_Generator>;
+  friend class Scalar_Products;
+  friend class Topology_Adjusted_Scalar_Product_Sign;
+};
+
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::grid_line(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+grid_line(const Linear_Expression& e,
+          Representation r = Grid_Generator::default_representation);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::parameter(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+parameter(const Linear_Expression& e = Linear_Expression::zero(),
+          Coefficient_traits::const_reference d = Coefficient_one(),
+          Representation r = Grid_Generator::default_representation);
+
+//! Shorthand for Grid_Generator::parameter(Representation r).
+/*! \relates Grid_Generator */
+Grid_Generator
+parameter(Representation r);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::parameter(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+parameter(const Linear_Expression& e, Representation r);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::grid_point(const Linear_Expression& e, Coefficient_traits::const_reference d, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+grid_point(const Linear_Expression& e = Linear_Expression::zero(),
+           Coefficient_traits::const_reference d = Coefficient_one(),
+           Representation r = Grid_Generator::default_representation);
+
+//! Shorthand for Grid_Generator::grid_point(Representation r).
+/*! \relates Grid_Generator */
+Grid_Generator
+grid_point(Representation r);
+
+/*! \brief
+  Shorthand for
+  Grid_Generator::grid_point(const Linear_Expression& e, Representation r).
+
+  \relates Grid_Generator
+*/
+Grid_Generator
+grid_point(const Linear_Expression& e, Representation r);
+
+//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
+/*! \relates Grid_Generator */
+bool operator==(const Grid_Generator& x, const Grid_Generator& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
+/*! \relates Grid_Generator */
+bool operator!=(const Grid_Generator& x, const Grid_Generator& y);
+
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.inlines.hh line 1. */
+/* Grid Generator class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline bool
+Grid_Generator::is_necessarily_closed() const {
+  return true;
+}
+
+inline bool
+Grid_Generator::is_not_necessarily_closed() const {
+  return false;
+}
+
+inline bool
+Grid_Generator::is_line_or_equality() const {
+  return (kind_ == LINE_OR_EQUALITY);
+}
+
+inline bool
+Grid_Generator::is_ray_or_point_or_inequality() const {
+  return (kind_ == RAY_OR_POINT_OR_INEQUALITY);
+}
+
+inline Topology
+Grid_Generator::topology() const {
+  return NECESSARILY_CLOSED;
+}
+
+inline void
+Grid_Generator::set_is_line_or_equality() {
+  kind_ = LINE_OR_EQUALITY;
+}
+
+inline void
+Grid_Generator::set_is_ray_or_point_or_inequality() {
+  kind_ = RAY_OR_POINT_OR_INEQUALITY;
+}
+
+inline void
+Grid_Generator::set_topology(Topology x) {
+  PPL_USED(x);
+  PPL_ASSERT(x == NECESSARILY_CLOSED);
+}
+
+inline void
+Grid_Generator::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
+
+inline void
+Grid_Generator::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
+
+inline
+Grid_Generator::Grid_Generator(Linear_Expression& e, Type type)
+  : semi_wrapped_expr(expr), wrapped_expr(semi_wrapped_expr, true) {
+  swap(expr, e);
+  if (type == LINE)
+    kind_ = LINE_OR_EQUALITY;
+  else
+    kind_ = RAY_OR_POINT_OR_INEQUALITY;
+  PPL_ASSERT(OK());
+}
+
+inline
+Grid_Generator::Grid_Generator(Representation r)
+  : expr(Coefficient_one(), r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(RAY_OR_POINT_OR_INEQUALITY) {
+  expr.set_space_dimension(1);
+  PPL_ASSERT(OK());
+}
+
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g)
+  : expr(g.expr),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+}
+
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g, Representation r)
+  : expr(g.expr, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+}
+
+inline
+Grid_Generator::Grid_Generator(dimension_type space_dim, Kind kind,
+                               Topology topology, Representation r)
+  : expr(r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(kind) {
+  PPL_USED(topology);
+  PPL_ASSERT(topology == NECESSARILY_CLOSED);
+  expr.set_space_dimension(space_dim + 1);
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g,
+                               dimension_type space_dim)
+  : expr(g.expr, space_dim + 1),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g,
+                               dimension_type space_dim, Representation r)
+  : expr(g.expr, space_dim + 1, r),
+    semi_wrapped_expr(expr),
+    wrapped_expr(semi_wrapped_expr, true),
+    kind_(g.kind_) {
+  PPL_ASSERT(OK());
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline
+Grid_Generator::~Grid_Generator() {
+}
+
+inline const Grid_Generator::Expression&
+Grid_Generator::expression() const {
+  return wrapped_expr;
+}
+
+inline Representation
+Grid_Generator::representation() const {
+  return expr.representation();
+}
+
+inline void
+Grid_Generator::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline dimension_type
+Grid_Generator::max_space_dimension() {
+  return Linear_Expression::max_space_dimension() - 1;
+}
+
+inline dimension_type
+Grid_Generator::space_dimension() const {
+  return wrapped_expr.space_dimension();
+}
+
+inline void
+Grid_Generator::set_space_dimension(dimension_type space_dim) {
+  const dimension_type old_space_dim = space_dimension();
+  if (space_dim > old_space_dim) {
+    expr.set_space_dimension(space_dim + 1);
+    expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+  } else {
+    expr.swap_space_dimensions(Variable(space_dim), Variable(old_space_dim));
+    expr.set_space_dimension(space_dim + 1);
+  }
+  PPL_ASSERT(space_dimension() == space_dim);
+}
+
+inline void
+Grid_Generator::set_space_dimension_no_ok(dimension_type space_dim) {
+  set_space_dimension(space_dim);
+}
+
+inline void
+Grid_Generator::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
+}
+
+inline Grid_Generator::Type
+Grid_Generator::type() const {
+  if (is_line())
+    return LINE;
+  return is_point() ? POINT : PARAMETER;
+}
+
+inline bool
+Grid_Generator::is_line() const {
+  return is_line_or_equality();
+}
+
+inline bool
+Grid_Generator::is_parameter() const {
+  return is_parameter_or_point() && is_line_or_parameter();
+}
+
+inline bool
+Grid_Generator::is_line_or_parameter() const {
+  return expr.inhomogeneous_term() == 0;
+}
+
+inline bool
+Grid_Generator::is_point() const {
+  return !is_line_or_parameter();
+}
+
+inline bool
+Grid_Generator::is_parameter_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
+
+inline void
+Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
+  PPL_ASSERT(!is_line());
+  if (is_line_or_parameter())
+    expr.set_coefficient(Variable(space_dimension()), d);
+  else
+    expr.set_inhomogeneous_term(d);
+}
+
+inline Coefficient_traits::const_reference
+Grid_Generator::divisor() const {
+  if (is_line())
+    throw_invalid_argument("divisor()", "*this is a line");
+  if (is_line_or_parameter())
+    return expr.coefficient(Variable(space_dimension()));
+  else
+    return expr.inhomogeneous_term();
+}
+
+inline bool
+Grid_Generator::is_equal_at_dimension(dimension_type dim,
+				      const Grid_Generator& y) const {
+  const Grid_Generator& x = *this;
+  return x.expr.get(dim) * y.divisor() == y.expr.get(dim) * x.divisor();
+}
+
+inline void
+Grid_Generator::set_is_line() {
+  set_is_line_or_equality();
+}
+
+inline void
+Grid_Generator::set_is_parameter_or_point() {
+  set_is_ray_or_point_or_inequality();
+}
+
+inline Grid_Generator&
+Grid_Generator::operator=(const Grid_Generator& g) {
+  Grid_Generator tmp = g;
+  swap(*this, tmp);
+
+  return *this;
+}
+
+inline Coefficient_traits::const_reference
+Grid_Generator::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return expr.coefficient(v);
+}
+
+inline memory_size_type
+Grid_Generator::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
+
+inline memory_size_type
+Grid_Generator::external_memory_in_bytes() const {
+  return expr.external_memory_in_bytes();
+}
+
+inline const Grid_Generator&
+Grid_Generator::zero_dim_point() {
+  PPL_ASSERT(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
+
+inline void
+Grid_Generator::strong_normalize() {
+  PPL_ASSERT(!is_parameter());
+  expr.normalize();
+  sign_normalize();
+}
+
+inline void
+Grid_Generator::m_swap(Grid_Generator& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(kind_, y.kind_);
+  // No need to modify wrapped_expr here.
+}
+
+/*! \relates Grid_Generator */
+inline bool
+operator==(const Grid_Generator& x, const Grid_Generator& y) {
+  return x.is_equivalent_to(y);
+}
+
+/*! \relates Grid_Generator */
+inline bool
+operator!=(const Grid_Generator& x, const Grid_Generator& y) {
+  return !(x == y);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_line(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::grid_line(e, r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(const Linear_Expression& e,
+          Coefficient_traits::const_reference d, Representation r) {
+  return Grid_Generator::parameter(e, d, r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(Representation r) {
+  return Grid_Generator::parameter(r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::parameter(e, r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(const Linear_Expression& e,
+           Coefficient_traits::const_reference d, Representation r) {
+  return Grid_Generator::grid_point(e, d, r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(Representation r) {
+  return Grid_Generator::grid_point(r);
+}
+
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(const Linear_Expression& e, Representation r) {
+  return Grid_Generator::grid_point(e, r);
+}
+
+/*! \relates Grid_Generator */
+inline void
+swap(Grid_Generator& x, Grid_Generator& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 797. */
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 1. */
+/* Congruence class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 31. */
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 35. */
+
+#include <iosfwd>
+#include <vector>
+
+// These are declared here because they are friend of Congruence.
+namespace Parma_Polyhedra_Library {
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
+/*! \relates Congruence */
+bool
+operator==(const Congruence& x, const Congruence& y);
+
+//! Returns <CODE>false</CODE> if and only if \p x and \p y are equivalent.
+/*! \relates Congruence */
+bool
+operator!=(const Congruence& x, const Congruence& y);
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! A linear congruence.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Congruence is a congruence:
+  - \f$\cg = \sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod m\f$
+
+  where \f$n\f$ is the dimension of the space,
+  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$,
+  \f$b\f$ is the integer inhomogeneous term and \f$m\f$ is the integer modulus;
+  if \f$m = 0\f$, then \f$\cg\f$ represents the equality congruence
+  \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$
+  and, if \f$m \neq 0\f$, then the congruence \f$\cg\f$ is
+  said to be a proper congruence.
+
+  \par How to build a congruence
+  Congruences \f$\pmod{1}\f$ are typically built by
+  applying the congruence symbol `<CODE>\%=</CODE>'
+  to a pair of linear expressions.
+  Congruences with modulus \p m
+  are typically constructed by building a congruence \f$\pmod{1}\f$
+  using the given pair of linear expressions
+  and then adding the modulus \p m
+  using the modulus symbol is `<CODE>/</CODE>'.
+
+  The space dimension of a congruence is defined as the maximum
+  space dimension of the arguments of its constructor.
+
+  \par
+  In the following examples it is assumed that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
+  are defined as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  \endcode
+
+  \par Example 1
+  The following code builds the equality congruence
+  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
+  \code
+  Congruence eq_cg((3*x + 5*y - z %= 0) / 0);
+  \endcode
+  The following code builds the congruence
+  \f$4x = 2y - 13 \pmod{1}\f$, having space dimension \f$2\f$:
+  \code
+  Congruence mod1_cg(4*x %= 2*y - 13);
+  \endcode
+  The following code builds the congruence
+  \f$4x = 2y - 13 \pmod{2}\f$, having space dimension \f$2\f$:
+  \code
+  Congruence mod2_cg((4*x %= 2*y - 13) / 2);
+  \endcode
+  An unsatisfiable congruence on the zero-dimension space \f$\Rset^0\f$
+  can be specified as follows:
+  \code
+  Congruence false_cg = Congruence::zero_dim_false();
+  \endcode
+  Equivalent, but more involved ways are the following:
+  \code
+  Congruence false_cg1((Linear_Expression::zero() %= 1) / 0);
+  Congruence false_cg2((Linear_Expression::zero() %= 1) / 2);
+  \endcode
+  In contrast, the following code defines an unsatisfiable congruence
+  having space dimension \f$3\f$:
+  \code
+  Congruence false_cg3((0*z %= 1) / 0);
+  \endcode
+
+  \par How to inspect a congruence
+  Several methods are provided to examine a congruence and extract
+  all the encoded information: its space dimension, its modulus
+  and the value of its integer coefficients.
+
+  \par Example 2
+  The following code shows how it is possible to access the modulus
+  as well as each of the coefficients.
+  Given a congruence with linear expression \p e and modulus \p m
+  (in this case \f$x - 5y + 3z = 4 \pmod{5}\f$), we construct a new
+  congruence with the same modulus \p m but where the linear
+  expression is \f$2 e\f$ (\f$2x - 10y + 6z = 8 \pmod{5}\f$).
+  \code
+  Congruence cg1((x - 5*y + 3*z %= 4) / 5);
+  cout << "Congruence cg1: " << cg1 << endl;
+  const Coefficient& m = cg1.modulus();
+  if (m == 0)
+    cout << "Congruence cg1 is an equality." << endl;
+  else {
+    Linear_Expression e;
+    for (dimension_type i = cg1.space_dimension(); i-- > 0; )
+      e += 2 * cg1.coefficient(Variable(i)) * Variable(i);
+      e += 2 * cg1.inhomogeneous_term();
+    Congruence cg2((e %= 0) / m);
+    cout << "Congruence cg2: " << cg2 << endl;
+  }
+  \endcode
+  The actual output could be the following:
+  \code
+  Congruence cg1: A - 5*B + 3*C %= 4 / 5
+  Congruence cg2: 2*A - 10*B + 6*C %= 8 / 5
+  \endcode
+  Note that, in general, the particular output obtained can be
+  syntactically different from the (semantically equivalent)
+  congruence considered.
+*/
+class Parma_Polyhedra_Library::Congruence {
+public:
+
+  //! The representation used for new Congruences.
+  /*!
+    \note The copy constructor and the copy constructor with specified size
+          use the representation of the original object, so that it is
+          indistinguishable from the original object.
+  */
+  static const Representation default_representation = SPARSE;
+
+  //! Constructs the 0 = 0 congruence with space dimension \p 0 .
+  explicit Congruence(Representation r = default_representation);
+
+  //! Ordinary copy constructor.
+  /*!
+    \note The new Congruence will have the same representation as `cg',
+          not default_representation, so that they are indistinguishable.
+  */
+  Congruence(const Congruence& cg);
+
+  //! Copy constructor with specified representation.
+  Congruence(const Congruence& cg, Representation r);
+
+  //! Copy-constructs (modulo 0) from equality constraint \p c.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p c is an inequality.
+  */
+  explicit Congruence(const Constraint& c,
+                      Representation r = default_representation);
+
+  //! Destructor.
+  ~Congruence();
+
+  //! Assignment operator.
+  Congruence& operator=(const Congruence& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Returns the maximum space dimension a Congruence can handle.
+  static dimension_type max_space_dimension();
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  void permute_space_dimensions(const std::vector<Variable>& cycles);
+
+  //! The type returned by the expression() method, that provides most
+  //! of the const methods in Linear_Expression.
+  typedef Linear_Expression Expression;
+
+  const Expression& expression() const;
+
+  //! Returns the coefficient of \p v in \p *this.
+  /*!
+    \exception std::invalid_argument thrown if the index of \p v
+    is greater than or equal to the space dimension of \p *this.
+  */
+  Coefficient_traits::const_reference coefficient(Variable v) const;
+
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
+
+  //! Returns a const reference to the modulus of \p *this.
+  Coefficient_traits::const_reference modulus() const;
+
+  //! Sets the modulus of \p *this to \p m .
+  //! If \p m is 0, the congruence becomes an equality.
+  void set_modulus(Coefficient_traits::const_reference m);
+
+  //! Multiplies all the coefficients, including the modulus, by \p factor .
+  void scale(Coefficient_traits::const_reference factor);
+
+  // TODO: Document this.
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
+
+  //! Multiplies \p k into the modulus of \p *this.
+  /*!
+    If called with \p *this representing the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then it returns with *this representing
+    the congruence \f$ e_1 = e_2 \pmod{mk}\f$.
+  */
+  Congruence&
+  operator/=(Coefficient_traits::const_reference k);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a tautology
+    (i.e., an always true congruence).
+
+    A tautological congruence has one the following two forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 == 0\f$; or
+    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
+      where \f$b = 0 \pmod{m}\f$.
+  */
+  bool is_tautological() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false congruence).
+
+    An inconsistent congruence has one of the following two forms:
+    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b == 0\f$
+      where \f$b \neq 0\f$; or
+    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
+      where \f$b \neq 0 \pmod{m}\f$.
+  */
+  bool is_inconsistent() const;
+
+  //! Returns <CODE>true</CODE> if the modulus is greater than zero.
+  /*!
+    A congruence with a modulus of 0 is a linear equality.
+  */
+  bool is_proper_congruence() const;
+
+  //! Returns <CODE>true</CODE> if \p *this is an equality.
+  /*!
+    A modulus of zero denotes a linear equality.
+  */
+  bool is_equality() const;
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  /*! \brief
+    Returns a reference to the true (zero-dimension space) congruence
+    \f$0 = 1 \pmod{1}\f$, also known as the <EM>integrality
+    congruence</EM>.
+  */
+  static const Congruence& zero_dim_integrality();
+
+  /*! \brief
+    Returns a reference to the false (zero-dimension space) congruence
+    \f$0 = 1 \pmod{0}\f$.
+  */
+  static const Congruence& zero_dim_false();
+
+  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e1, const Linear_Expression& e2,
+         Representation r = default_representation);
+
+  //! Returns the congruence \f$e = n \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e, Coefficient_traits::const_reference n,
+         Representation r = default_representation);
+
+  //! Returns the congruence \f$n = e \pmod{1}\f$.
+  static Congruence
+  create(Coefficient_traits::const_reference n, const Linear_Expression& e,
+         Representation r = default_representation);
+
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation of the internal
+    representation of \p *this.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Congruence& y);
+
+  //! Copy-constructs with the specified space dimension.
+  /*!
+    \note The new Congruence will have the same representation as `cg',
+          not default_representation, for consistency with the copy
+          constructor.
+  */
+  Congruence(const Congruence& cg, dimension_type new_space_dimension);
+
+  //! Copy-constructs with the specified space dimension and representation.
+  Congruence(const Congruence& cg, dimension_type new_space_dimension,
+             Representation r);
+
+  //! Copy-constructs from a constraint, with the specified space dimension
+  //! and (optional) representation.
+  Congruence(const Constraint& cg, dimension_type new_space_dimension,
+             Representation r = default_representation);
+
+  //! Constructs from Linear_Expression \p le, using modulus \p m.
+  /*!
+    Builds a congruence with modulus \p m, stealing the coefficients
+    from \p le.
+
+    \note The new Congruence will have the same representation as `le'.
+
+    \param le
+    The Linear_Expression holding the coefficients.
+
+    \param m
+    The modulus for the congruence, which must be zero or greater.
+  */
+  Congruence(Linear_Expression& le,
+             Coefficient_traits::const_reference m, Recycle_Input);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Sets the space dimension by \p n , adding or removing coefficients as
+  //! needed.
+  void set_space_dimension(dimension_type n);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Normalizes the signs.
+  /*!
+    The signs of the coefficients and the inhomogeneous term are
+    normalized, leaving the first non-zero homogeneous coefficient
+    positive.
+  */
+  void sign_normalize();
+
+  //! Normalizes signs and the inhomogeneous term.
+  /*!
+    Applies sign_normalize, then reduces the inhomogeneous term to the
+    smallest possible positive number.
+  */
+  void normalize();
+
+  //! Calls normalize, then divides out common factors.
+  /*!
+    Strongly normalized Congruences have equivalent semantics if and
+    only if they have the same syntax (as output by operator<<).
+  */
+  void strong_normalize();
+
+private:
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
+  */
+  static const Congruence* zero_dim_false_p;
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the true (zero-dimension space) congruence \f$0 = 1 \pmod{1}\f$,
+    also known as the <EM>integrality congruence</EM>.
+  */
+  static const Congruence* zero_dim_integrality_p;
+
+  Linear_Expression expr;
+
+  Coefficient modulus_;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
+    dimension \p v.
+  */
+  bool is_equal_at_dimension(Variable v,
+                             const Congruence& cg) const;
+
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    error message \p message.
+  */
+  void
+  throw_invalid_argument(const char* method, const char* message) const;
+
+  /*! \brief
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
+  */
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* v_name,
+			       Variable v) const;
+
+  friend bool
+  operator==(const Congruence& x, const Congruence& y);
+
+  friend bool
+  operator!=(const Congruence& x, const Congruence& y);
+
+  friend class Grid;
+};
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operators.
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+std::ostream&
+operator<<(std::ostream& s, const Congruence& c);
+
+} // namespace IO_Operators
+
+//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
+
+//! Returns the congruence \f$e = n \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
+/*!
+    If \p cg represents the congruence \f$ e_1 = e_2
+    \pmod{m}\f$, then the result represents the
+    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
+  \relates Congruence
+*/
+Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+
+//! Creates a congruence from \p c, with \p m as the modulus.
+/*! \relates Congruence */
+Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m);
+
+/*! \relates Congruence */
+void
+swap(Congruence& x, Congruence& y);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 1. */
+/* Congruence class implementation: inline functions.
+*/
+
+
+#include <sstream>
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Congruence::Congruence(Representation r)
+  : expr(r) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Congruence::Congruence(const Congruence& cg)
+  : expr(cg.expr), modulus_(cg.modulus_) {
+}
+
+inline
+Congruence::Congruence(const Congruence& cg, Representation r)
+  : expr(cg.expr, r), modulus_(cg.modulus_) {
+}
+
+inline
+Congruence::Congruence(const Congruence& cg,
+                       dimension_type new_space_dimension)
+  : expr(cg.expr, new_space_dimension), modulus_(cg.modulus_) {
+  PPL_ASSERT(OK());
+}
+
+inline
+Congruence::Congruence(const Congruence& cg,
+                       dimension_type new_space_dimension,
+                       Representation r)
+  : expr(cg.expr, new_space_dimension, r), modulus_(cg.modulus_) {
+  PPL_ASSERT(OK());
+}
+
+inline Representation
+Congruence::representation() const {
+  return expr.representation();
+}
+
+inline void
+Congruence::set_representation(Representation r) {
+  expr.set_representation(r);
+}
+
+inline const Congruence::Expression&
+Congruence::expression() const {
+  return expr;
+}
+
+inline void
+Congruence::set_space_dimension(dimension_type n) {
+  expr.set_space_dimension(n);
+  PPL_ASSERT(OK());
+}
+
+inline void
+Congruence::shift_space_dimensions(Variable v, dimension_type n) {
+  expr.shift_space_dimensions(v, n);
+}
+
+inline
+Congruence::~Congruence() {
+}
+
+inline
+Congruence::Congruence(Linear_Expression& le,
+		       Coefficient_traits::const_reference m,
+                       Recycle_Input)
+  : modulus_(m) {
+  PPL_ASSERT(m >= 0);
+  swap(expr, le);
+
+  PPL_ASSERT(OK());
+}
+
+inline Congruence
+Congruence::create(const Linear_Expression& e,
+		   Coefficient_traits::const_reference n,
+                   Representation r) {
+  Linear_Expression diff(e, r);
+  diff -= n;
+  Congruence cg(diff, 1, Recycle_Input());
+  return cg;
+}
+
+inline Congruence
+Congruence::create(Coefficient_traits::const_reference n,
+		   const Linear_Expression& e,
+                   Representation r) {
+  Linear_Expression diff(e, r);
+  diff -= n;
+  Congruence cg(diff, 1, Recycle_Input());
+  return cg;
+}
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return Congruence::create(e1, e2);
+}
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return Congruence::create(e, n);
+}
+
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
+  Congruence ret = cg;
+  ret /= k;
+  return ret;
+}
+
+inline const Congruence&
+Congruence::zero_dim_integrality() {
+  return *zero_dim_integrality_p;
+}
+
+inline const Congruence&
+Congruence::zero_dim_false() {
+  return *zero_dim_false_p;
+}
+
+inline Congruence&
+Congruence::operator=(const Congruence& y) {
+  Congruence tmp = y;
+  swap(*this, tmp);
+  return *this;
+}
+
+/*! \relates Congruence */
+inline Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m) {
+  Congruence ret(c);
+  ret /= m;
+  return ret;
+}
+
+inline Congruence&
+Congruence::operator/=(Coefficient_traits::const_reference k) {
+  if (k >= 0)
+    modulus_ *= k;
+  else
+    modulus_ *= -k;
+  return *this;
+}
+
+/*! \relates Congruence */
+inline bool
+operator==(const Congruence& x, const Congruence& y) {
+  if (x.space_dimension() != y.space_dimension())
+    return false;
+  Congruence x_temp(x);
+  Congruence y_temp(y);
+  x_temp.strong_normalize();
+  y_temp.strong_normalize();
+  return x_temp.expr.is_equal_to(y_temp.expr)
+    && x_temp.modulus() == y_temp.modulus();
+}
+
+/*! \relates Congruence */
+inline bool
+operator!=(const Congruence& x, const Congruence& y) {
+  return !(x == y);
+}
+
+inline dimension_type
+Congruence::max_space_dimension() {
+  return Linear_Expression::max_space_dimension();
+}
+
+inline dimension_type
+Congruence::space_dimension() const {
+  return expr.space_dimension();
+}
+
+inline Coefficient_traits::const_reference
+Congruence::coefficient(const Variable v) const {
+  if (v.space_dimension() > space_dimension())
+    throw_dimension_incompatible("coefficient(v)", "v", v);
+  return expr.coefficient(v);
+}
+
+inline void
+Congruence::permute_space_dimensions(const std::vector<Variable>& cycles) {
+  expr.permute_space_dimensions(cycles);
+}
+
+inline Coefficient_traits::const_reference
+Congruence::inhomogeneous_term() const {
+  return expr.inhomogeneous_term();
+}
+
+inline Coefficient_traits::const_reference
+Congruence::modulus() const {
+  return modulus_;
+}
+
+inline void
+Congruence::set_modulus(Coefficient_traits::const_reference m) {
+  modulus_ = m;
+  PPL_ASSERT(OK());
+}
+
+inline bool
+Congruence::is_proper_congruence() const {
+  return modulus() > 0;
+}
+
+inline bool
+Congruence::is_equality() const {
+  return modulus() == 0;
+}
+
+inline bool
+Congruence::is_equal_at_dimension(Variable v,
+				  const Congruence& cg) const {
+  return coefficient(v) * cg.modulus() == cg.coefficient(v) * modulus();
+}
+
+inline memory_size_type
+Congruence::external_memory_in_bytes() const {
+  return expr.external_memory_in_bytes()
+         + Parma_Polyhedra_Library::external_memory_in_bytes(modulus_);
+}
+
+inline memory_size_type
+Congruence::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
+}
+
+inline void
+Congruence::m_swap(Congruence& y) {
+  using std::swap;
+  swap(expr, y.expr);
+  swap(modulus_, y.modulus_);
+}
+
+inline void
+Congruence::swap_space_dimensions(Variable v1, Variable v2) {
+  expr.swap_space_dimensions(v1, v2);
+}
+
+/*! \relates Congruence */
+inline void
+swap(Congruence& x, Congruence& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 503. */
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.templates.hh line 34. */
+#include <stdexcept>
+#include <iostream>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Impl& e) {
+  construct(e);
+}
+
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Impl<Row2>& e) {
+  construct(e);
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Linear_Expression_Interface& e) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&e)) {
+    construct(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&e)) {
+    construct(*p);
+  } else {
+    // Add implementations for other derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>
+::Linear_Expression_Impl(const Linear_Expression_Interface& e,
+                         dimension_type space_dim) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&e)) {
+    construct(*p, space_dim);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&e)) {
+    construct(*p, space_dim);
+  } else {
+    // Add implementations for other derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Congruence& cg,
+                                                    dimension_type space_dim) {
+  construct(*(cg.expression().impl), space_dim);
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y, Variable i) {
+  PPL_ASSERT(space_dimension() == y.space_dimension());
+  PPL_ASSERT(i.space_dimension() <= space_dimension());
+  linear_combine(y, i.space_dimension());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y, dimension_type i) {
+  Linear_Expression_Impl& x = *this;
+  PPL_ASSERT(i < x.space_dimension() + 1);
+  PPL_ASSERT(x.space_dimension() == y.space_dimension());
+  Coefficient_traits::const_reference x_i = x.row.get(i);
+  Coefficient_traits::const_reference y_i = y.row.get(i);
+  PPL_ASSERT(x_i != 0);
+  PPL_ASSERT(y_i != 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_x_v);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_y_v);
+  normalize2(x_i, y_i, normalized_x_v, normalized_y_v);
+  neg_assign(normalized_x_v);
+  linear_combine(y, normalized_y_v, normalized_x_v);
+  // We cannot use x_i here because it may have been invalidated by
+  // linear_combine().
+  assert(x.row.get(i) == 0);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  PPL_ASSERT(c1 != 0);
+  PPL_ASSERT(c2 != 0);
+  if (space_dimension() < y.space_dimension())
+    set_space_dimension(y.space_dimension());
+  linear_combine(y, c1, c2, 0, y.space_dimension() + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  if (space_dimension() < y.space_dimension())
+    set_space_dimension(y.space_dimension());
+  linear_combine_lax(y, c1, c2, 0, y.space_dimension() + 1);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+int
+Linear_Expression_Impl<Row>::compare(const Linear_Expression_Impl<Row2>& y) const {
+  const Linear_Expression_Impl& x = *this;
+  // Compare all the coefficients of the row starting from position 1.
+  // NOTE: x and y may be of different size.
+  typename Row::const_iterator i = x.row.lower_bound(1);
+  typename Row::const_iterator i_end = x.row.end();
+  typename Row2::const_iterator j = y.row.lower_bound(1);
+  typename Row2::const_iterator j_end = y.row.end();
+  while (i != i_end && j != j_end) {
+    if (i.index() < j.index()) {
+      int s = sgn(*i);
+      if (s != 0)
+        return 2*s;
+      ++i;
+      continue;
+    }
+    if (i.index() > j.index()) {
+      int s = sgn(*j);
+      if (s != 0)
+        return -2*s;
+      ++j;
+      continue;
+    }
+    PPL_ASSERT(i.index() == j.index());
+    int s = cmp(*i, *j);
+    if (s < 0)
+      return -2;
+    if (s > 0)
+      return 2;
+    PPL_ASSERT(s == 0);
+    ++i;
+    ++j;
+  }
+  for ( ; i != i_end; ++i) {
+    int s = sgn(*i);
+    if (s != 0)
+      return 2*s;
+  }
+  for ( ; j != j_end; ++j) {
+    int s = sgn(*j);
+    if (s != 0)
+      return -2*s;
+  }
+
+  // If all the coefficients in `x' equal all the coefficients in `y'
+  // (starting from position 1) we compare coefficients in position 0,
+  // i.e., inhomogeneous terms.
+  const int comp = cmp(x.row.get(0), y.row.get(0));
+  if (comp > 0)
+    return 1;
+  if (comp < 0)
+    return -1;
+  PPL_ASSERT(comp == 0);
+
+  // `x' and `y' are equal.
+  return 0;
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::Linear_Expression_Impl(const Variable v) {
+  if (v.space_dimension() > max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl::"
+                            "Linear_Expression_Impl(v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  set_space_dimension(v.space_dimension());
+  (*this) += v;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& x) const {
+  return row == x.row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::get_row(Dense_Row& row) const {
+  row = this->row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::get_row(Sparse_Row& row) const {
+  row = this->row;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  const dimension_type n = cycle.size();
+  if (n < 2)
+    return;
+
+  if (n == 2) {
+    row.swap_coefficients(cycle[0].space_dimension(),
+                          cycle[1].space_dimension());
+  }
+  else {
+    PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+    tmp = row.get(cycle.back().space_dimension());
+    for (dimension_type i = n - 1; i-- > 0; )
+      row.swap_coefficients(cycle[i + 1].space_dimension(),
+                            cycle[i].space_dimension());
+    if (tmp == 0)
+      row.reset(cycle[0].space_dimension());
+    else {
+      using std::swap;
+      swap(tmp, row[cycle[0].space_dimension()]);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(const Linear_Expression_Impl<Row2>& e) {
+  linear_combine(e, Coefficient_one(), Coefficient_one());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator+=(const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "operator+=(e, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  typename Row::iterator itr = row.insert(v_space_dim);
+  ++(*itr);
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+template <typename Row2>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(const Linear_Expression_Impl<Row2>& e2) {
+  linear_combine(e2, Coefficient_one(), -1);
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator-=(const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "operator-=(e, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  typename Row::iterator itr = row.insert(v_space_dim);
+  --(*itr);
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator*=(Coefficient_traits::const_reference n) {
+  if (n == 0) {
+    row.clear();
+    PPL_ASSERT(OK());
+    return *this;
+  }
+  for (typename Row::iterator i = row.begin(), i_end = row.end(); i != i_end; ++i)
+    (*i) *= n;
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::operator/=(Coefficient_traits::const_reference n) {
+  typename Row::iterator i = row.begin();
+  const typename Row::iterator& i_end = row.end();
+  while (i != i_end) {
+    (*i) /= n;
+    if (*i == 0)
+      i = row.reset(i);
+    else
+      ++i;
+  }
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::negate() {
+  for (typename Row::iterator i = row.begin(), i_end = row.end(); i != i_end; ++i)
+    neg_assign(*i);
+  PPL_ASSERT(OK());
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>::add_mul_assign(Coefficient_traits::const_reference n,
+                                            const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "add_mul_assign(e, n, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  if (n == 0)
+    return *this;
+  typename Row::iterator itr = row.insert(v_space_dim);
+  (*itr) += n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Expression_Impl */
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference n,
+                 const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Expression_Impl<Row>::max_space_dimension())
+    throw std::length_error("Linear_Expression_Impl& "
+                            "sub_mul_assign(e, n, v):\n"
+                            "v exceeds the maximum allowed space dimension.");
+  if (space_dimension() < v_space_dim)
+    set_space_dimension(v_space_dim);
+  if (n == 0)
+    return *this;
+  typename Row::iterator itr = row.insert(v_space_dim);
+  (*itr) -= n;
+  if (*itr == 0)
+    row.reset(itr);
+  PPL_ASSERT(OK());
+  return *this;
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::add_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Impl<Row2>& y) {
+  if (factor != 0)
+    linear_combine(y, Coefficient_one(), factor);
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Impl<Row2>& y) {
+  if (factor != 0)
+    linear_combine(y, Coefficient_one(), -factor);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::print(std::ostream& s) const {
+  PPL_DIRTY_TEMP_COEFFICIENT(ev);
+  bool first = true;
+  for (typename Row::const_iterator i = row.lower_bound(1), i_end = row.end();
+       i != i_end; ++i) {
+    ev = *i;
+    if (ev == 0)
+      continue;
+    if (!first) {
+      if (ev > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(ev);
+      }
+    }
+    else
+      first = false;
+    if (ev == -1)
+      s << "-";
+    else if (ev != 1)
+      s << ev << "*";
+    IO_Operators::operator<<(s, Variable(i.index() - 1));
+  }
+  // Inhomogeneous term.
+  PPL_DIRTY_TEMP_COEFFICIENT(it);
+  it = row[0];
+  if (it != 0) {
+    if (!first) {
+      if (it > 0)
+        s << " + ";
+      else {
+        s << " - ";
+        neg_assign(it);
+      }
+    }
+    else
+      first = false;
+    s << it;
+  }
+
+  if (first)
+    // The null linear expression.
+    s << Coefficient_zero();
+}
+
+template <typename Row>
+Coefficient_traits::const_reference
+Linear_Expression_Impl<Row>::get(dimension_type i) const {
+  return row.get(i);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::set(dimension_type i, Coefficient_traits::const_reference n) {
+  if (n == 0)
+    row.reset(i);
+  else
+    row.insert(i, n);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::exact_div_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  // NOTE: Since all coefficients in [start,end) are multiple of c,
+  // each of the resulting coefficients will be nonzero iff the initial
+  // coefficient was.
+  for (typename Row::iterator
+    i = row.lower_bound(start), i_end = row.lower_bound(end); i != i_end; ++i)
+    Parma_Polyhedra_Library::exact_div_assign(*i, *i, c);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::mul_assign(Coefficient_traits::const_reference c,
+                   dimension_type start, dimension_type end) {
+  if (c == 0) {
+    typename Row::iterator i = row.lower_bound(start);
+    const typename Row::iterator& i_end = row.end();
+    while (i != i_end && i.index() < end)
+      i = row.reset(i);
+  } else {
+    for (typename Row::iterator
+      i = row.lower_bound(start), i_end = row.lower_bound(end); i != i_end; ++i)
+      (*i) *= c;
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Impl<Row2>& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2,
+                 dimension_type start, dimension_type end) {
+  Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Impl<Row2>& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2,
+                     dimension_type start, dimension_type end) {
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= row.size());
+  PPL_ASSERT(end <= y.row.size());
+  if (c1 == 0) {
+    if (c2 == 0) {
+      PPL_ASSERT(c1 == 0);
+      PPL_ASSERT(c2 == 0);
+      typename Row::iterator i = row.lower_bound(start);
+      const typename Row::iterator& i_end = row.end();
+      while (i != i_end && i.index() < end)
+        i = row.reset(i);
+    } else {
+      PPL_ASSERT(c1 == 0);
+      PPL_ASSERT(c2 != 0);
+
+      typename Row::iterator i = row.lower_bound(start);
+      const typename Row::iterator& i_end = row.end();
+      typename Row2::const_iterator j = y.row.lower_bound(start);
+      typename Row2::const_iterator j_last = y.row.lower_bound(end);
+
+      while (i != i_end && i.index() < end && j != j_last) {
+        if (i.index() < j.index()) {
+          i = row.reset(i);
+          continue;
+        }
+        if (i.index() > j.index()) {
+          i = row.insert(i, j.index(), *j);
+          (*i) *= c2;
+          ++i;
+          ++j;
+          continue;
+        }
+        PPL_ASSERT(i.index() == j.index());
+        (*i) = (*j);
+        (*i) *= c2;
+        ++i;
+        ++j;
+      }
+      while (i != i_end && i.index() < end)
+        i = row.reset(i);
+      while (j != j_last) {
+        i = row.insert(i, j.index(), *j);
+        (*i) *= c2;
+        // No need to increment i here.
+        ++j;
+      }
+    }
+  } else {
+    if (c2 == 0) {
+      PPL_ASSERT(c1 != 0);
+      PPL_ASSERT(c2 == 0);
+      for (typename Row::iterator i = row.lower_bound(start),
+                                  i_end = row.lower_bound(end);
+          i != i_end; ++i)
+        (*i) *= c1;
+    } else {
+      PPL_ASSERT(c1 != 0);
+      PPL_ASSERT(c2 != 0);
+      Parma_Polyhedra_Library::linear_combine(row, y.row, c1, c2, start, end);
+    }
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::sign_normalize() {
+  typename Row::iterator i = row.lower_bound(1);
+  typename Row::iterator i_end = row.end();
+
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      break;
+
+  if (i != i_end && *i < 0) {
+    for ( ; i != i_end; ++i)
+      neg_assign(*i);
+    // Negate the first coefficient, too.
+    typename Row::iterator i = row.begin();
+    if (i != row.end() && i.index() == 0)
+      neg_assign(*i);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::negate(dimension_type first, dimension_type last) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= row.size());
+  typename Row::iterator i = row.lower_bound(first);
+  typename Row::iterator i_end = row.lower_bound(last);
+  for ( ; i != i_end; ++i)
+    neg_assign(*i);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Impl<Row2>& e) {
+  row = e.row;
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Impl<Row2>& e,
+                                       dimension_type space_dim) {
+  Row x(e.row, space_dim + 1, space_dim + 1);
+  swap(row, x);
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+template <typename Row2>
+void
+Linear_Expression_Impl<Row>
+::scalar_product_assign(Coefficient& result, const Linear_Expression_Impl<Row2>& y,
+                        dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+  result = 0;
+  typename Row ::const_iterator x_i = x.row.lower_bound(start);
+  typename Row ::const_iterator x_end = x.row.lower_bound(end);
+  typename Row2::const_iterator y_i = y.row.lower_bound(start);
+  typename Row2::const_iterator y_end = y.row.lower_bound(end);
+  while (x_i != x_end && y_i != y_end) {
+    if (x_i.index() == y_i.index()) {
+      Parma_Polyhedra_Library::add_mul_assign(result, *x_i, *y_i);
+      ++x_i;
+      ++y_i;
+    } else {
+      if (x_i.index() < y_i.index()) {
+        PPL_ASSERT(y.row.get(x_i.index()) == 0);
+        // (*x_i) * 0 == 0, nothing to do.
+        ++x_i;
+      } else {
+        PPL_ASSERT(x.row.get(y_i.index()) == 0);
+        // 0 * (*y_i) == 0, nothing to do.
+        ++y_i;
+      }
+    }
+  }
+  // In the remaining positions (if any) at most one row is nonzero, so
+  // there's nothing left to do.
+}
+
+template <typename Row>
+template <typename Row2>
+int
+Linear_Expression_Impl<Row>
+::scalar_product_sign(const Linear_Expression_Impl<Row2>& y,
+                      dimension_type start, dimension_type end) const {
+  PPL_DIRTY_TEMP_COEFFICIENT(result);
+  scalar_product_assign(result, y, start, end);
+  return sgn(result);
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& y,
+              dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+
+  typename Row::const_iterator i = x.row.lower_bound(start);
+  typename Row::const_iterator i_end = x.row.lower_bound(end);
+  typename Row2::const_iterator j = y.row.lower_bound(start);
+  typename Row2::const_iterator j_end = y.row.lower_bound(end);
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index()) {
+      if (*i != *j)
+        return false;
+      ++i;
+      ++j;
+    } else {
+      if (i.index() < j.index()) {
+        if (*i != 0)
+          return false;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        if (*j != 0)
+          return false;
+        ++j;
+      }
+    }
+  }
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      return false;
+  for ( ; j != j_end; ++j)
+    if (*j != 0)
+      return false;
+  return true;
+}
+
+template <typename Row>
+template <typename Row2>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Impl<Row2>& y,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  const Linear_Expression_Impl<Row>& x = *this;
+  PPL_ASSERT(start <= end);
+  PPL_ASSERT(end <= x.row.size());
+  PPL_ASSERT(end <= y.row.size());
+
+  // Deal with trivial cases.
+  if (c1 == 0) {
+    if (c2 == 0)
+      return true;
+    else
+      return y.all_zeroes(start, end);
+  }
+  if (c2 == 0)
+    return x.all_zeroes(start, end);
+
+  PPL_ASSERT(c1 != 0);
+  PPL_ASSERT(c2 != 0);
+  typename Row::const_iterator i = x.row.lower_bound(start);
+  typename Row::const_iterator i_end = x.row.lower_bound(end);
+  typename Row2::const_iterator j = y.row.lower_bound(start);
+  typename Row2::const_iterator j_end = y.row.lower_bound(end);
+  while (i != i_end && j != j_end) {
+    if (i.index() == j.index()) {
+      if ((*i) * c1 != (*j) * c2)
+        return false;
+      ++i;
+      ++j;
+    } else {
+      if (i.index() < j.index()) {
+        if (*i != 0)
+          return false;
+        ++i;
+      } else {
+        PPL_ASSERT(i.index() > j.index());
+        if (*j != 0)
+          return false;
+        ++j;
+      }
+    }
+  }
+  for ( ; i != i_end; ++i)
+    if (*i != 0)
+      return false;
+  for ( ; j != j_end; ++j)
+    if (*j != 0)
+      return false;
+  return true;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y, Variable v) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, v);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, v);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, c1, c2);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, c1, c2);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Interface& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::operator+=(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return operator+=(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return operator+=(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return *this;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>&
+Linear_Expression_Impl<Row>
+::operator-=(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return operator-=(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return operator-=(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return *this;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::add_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    add_mul_assign(factor, *p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    add_mul_assign(factor, *p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::sub_mul_assign(Coefficient_traits::const_reference factor,
+                 const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    sub_mul_assign(factor, *p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    sub_mul_assign(factor, *p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y, dimension_type i) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, i);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, i);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine(const Linear_Expression_Interface& y,
+                 Coefficient_traits::const_reference c1,
+                 Coefficient_traits::const_reference c2,
+                 dimension_type start, dimension_type end) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::linear_combine_lax(const Linear_Expression_Interface& y,
+                     Coefficient_traits::const_reference c1,
+                     Coefficient_traits::const_reference c2,
+                     dimension_type start, dimension_type end) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    linear_combine_lax(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+int
+Linear_Expression_Impl<Row>
+::compare(const Linear_Expression_Interface& y) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return compare(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return compare(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return 0;
+  }
+}
+
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Interface& y) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return construct(*p);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return construct(*p);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::construct(const Linear_Expression_Interface& y,
+                                       dimension_type space_dim) {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return construct(*p, space_dim);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return construct(*p, space_dim);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>
+::scalar_product_assign(Coefficient& result,
+                        const Linear_Expression_Interface& y,
+                        dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    scalar_product_assign(result, *p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    scalar_product_assign(result, *p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+  }
+}
+
+template <typename Row>
+int
+Linear_Expression_Impl<Row>
+::scalar_product_sign(const Linear_Expression_Interface& y,
+                      dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return scalar_product_sign(*p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return scalar_product_sign(*p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return 0;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y,
+              dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::is_equal_to(const Linear_Expression_Interface& y,
+              Coefficient_traits::const_reference c1,
+              Coefficient_traits::const_reference c2,
+              dimension_type start, dimension_type end) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return is_equal_to(*p, c1, c2, start, end);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return is_equal_to(*p, c1, c2, start, end);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>
+::have_a_common_variable(const Linear_Expression_Interface& y,
+                         Variable first, Variable last) const {
+  typedef const Linear_Expression_Impl<Dense_Row>* Dense_Ptr;
+  typedef const Linear_Expression_Impl<Sparse_Row>* Sparse_Ptr;
+  if (Dense_Ptr p = dynamic_cast<Dense_Ptr>(&y)) {
+    return have_a_common_variable(*p, first, last);
+  } else if (Sparse_Ptr p = dynamic_cast<Sparse_Ptr>(&y)) {
+    return have_a_common_variable(*p, first, last);
+  } else {
+    // Add implementations for new derived classes here.
+    PPL_UNREACHABLE;
+    return false;
+  }
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::begin() const {
+  return new const_iterator(row, 1);
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::end() const {
+  return new const_iterator(row, row.size());
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::lower_bound(Variable v) const {
+  return new const_iterator(row, v.space_dimension());
+}
+
+template <typename Row>
+Linear_Expression_Impl<Row>::const_iterator
+::const_iterator(const Row& row1, dimension_type i)
+  : row(&row1), itr(row1.lower_bound(i)) {
+  skip_zeroes_forward();
+}
+
+template <typename Row>
+Linear_Expression_Interface::const_iterator_interface*
+Linear_Expression_Impl<Row>::const_iterator
+::clone() const {
+  return new const_iterator(*this);
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::const_iterator
+::operator++() {
+  ++itr;
+  skip_zeroes_forward();
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::const_iterator
+::operator--() {
+  --itr;
+  skip_zeroes_backward();
+}
+
+template <typename Row>
+typename Linear_Expression_Impl<Row>::const_iterator::reference
+Linear_Expression_Impl<Row>::const_iterator
+::operator*() const {
+  return *itr;
+}
+
+template <typename Row>
+Variable
+Linear_Expression_Impl<Row>::const_iterator
+::variable() const {
+  const dimension_type i = itr.index();
+  PPL_ASSERT(i != 0);
+  return Variable(i - 1);
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::const_iterator
+::operator==(const const_iterator_interface& x) const {
+  const const_iterator* p
+    = dynamic_cast<const const_iterator*>(&x);
+  // Comparing iterators belonging to different rows is forbidden.
+  PPL_ASSERT(p != 0);
+  PPL_ASSERT(row == p->row);
+  return itr == p->itr;
+}
+
+template <typename Row>
+void
+Linear_Expression_Impl<Row>::ascii_dump(std::ostream& s) const {
+  s << "size " << (space_dimension() + 1) << " ";
+  for (dimension_type i = 0; i < row.size(); ++i) {
+    s << row.get(i);
+    if (i != row.size() - 1)
+      s << ' ';
+  }
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::ascii_load(std::istream& s) {
+  std::string str;
+
+  if (!(s >> str))
+    return false;
+  if (str != "size")
+    return false;
+
+  dimension_type new_size;
+  if (!(s >> new_size))
+    return false;
+
+  row.resize(0);
+  row.resize(new_size);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+
+  for (dimension_type j = 0; j < new_size; ++j) {
+    if (!(s >> c))
+      return false;
+    if (c != 0)
+      row.insert(j, c);
+  }
+
+  PPL_ASSERT(OK());
+  return true;
+}
+
+template <typename Row>
+bool
+Linear_Expression_Impl<Row>::OK() const {
+  return row.OK();
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_Expression_Impl.defs.hh line 915. */
+
+/* Automatically generated from PPL source file ../src/Linear_Form.templates.hh line 1. */
+/* Linear_Form class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 1. */
+/* Box class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Poly_Con_Relation;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Poly_Gen_Relation;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename D1, typename D2>
+class Smash_Reduction;
+
+template <typename D1, typename D2>
+class Constraints_Reduction;
+
+template <typename D1, typename D2>
+class Congruences_Reduction;
+
+template <typename D1, typename D2>
+class Shape_Preserving_Reduction;
+
+template <typename D1, typename D2>
+class No_Reduction;
+
+template <typename D1, typename D2, typename R>
+class Partially_Reduced_Product;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 50. */
+#include <vector>
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+struct Interval_Base;
+
+//! Swaps \p x with \p y.
+/*! \relates Box */
+template <typename ITV>
+void swap(Box<ITV>& x, Box<ITV>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are the same box.
+/*! \relates Box
+  Note that \p x and \p y may be dimension-incompatible boxes:
+  in this case, the value <CODE>false</CODE> is returned.
+*/
+template <typename ITV>
+bool operator==(const Box<ITV>& x, const Box<ITV>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not the same box.
+/*! \relates Box
+  Note that \p x and \p y may be dimension-incompatible boxes:
+  in this case, the value <CODE>true</CODE> is returned.
+*/
+template <typename ITV>
+bool operator!=(const Box<ITV>& x, const Box<ITV>& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Box */
+template <typename ITV>
+std::ostream& operator<<(std::ostream& s, const Box<ITV>& box);
+
+} // namespace IO_Operators
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Box
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename ITV>
+bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    Rounding_Dir dir);
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Box
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    Rounding_Dir dir);
+
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Box
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Box
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename ITV>
+bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  Rounding_Dir dir);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Box
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  Rounding_Dir dir);
+
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Box
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Box
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename ITV>
+bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   Rounding_Dir dir);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Box
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   Rounding_Dir dir);
+
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Box
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
+
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename ITV>
+bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Box
+  Helper function for computing distances.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization,
+	  typename Temp, typename To, typename ITV>
+bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const Box<ITV>& x, const Box<ITV>& y,
+		    Rounding_Dir dir,
+		    Temp& tmp0, Temp& tmp1, Temp& tmp2);
+
+} // namespace Parma_Polyhedra_Library
+
+//! A not necessarily closed, iso-oriented hyperrectangle.
+/*! \ingroup PPL_CXX_interface
+  A Box object represents the smash product of \f$n\f$
+  not necessarily closed and possibly unbounded intervals
+  represented by objects of class \p ITV,
+  where \f$n\f$ is the space dimension of the box.
+
+  An <EM>interval constraint</EM> (resp., <EM>interval congruence</EM>)
+  is a syntactic constraint (resp., congruence) that only mentions
+  a single space dimension.
+
+  The Box domain <EM>optimally supports</EM>:
+    - tautological and inconsistent constraints and congruences;
+    - the interval constraints that are optimally supported by
+      the template argument class \c ITV;
+    - the interval congruences that are optimally supported by
+      the template argument class \c ITV.
+
+  Depending on the method, using a constraint or congruence that is not
+  optimally supported by the domain will either raise an exception or
+  result in a (possibly non-optimal) upward approximation.
+
+  The user interface for the Box domain is meant to be as similar
+  as possible to the one developed for the polyhedron class C_Polyhedron.
+*/
+template <typename ITV>
+class Parma_Polyhedra_Library::Box {
+public:
+  //! The type of intervals used to implement the box.
+  typedef ITV interval_type;
+
+  //! Returns the maximum space dimension that a Box can handle.
+  static dimension_type max_space_dimension();
+
+  /*! \brief
+    Returns false indicating that this domain does not recycle constraints
+  */
+  static bool can_recycle_constraint_systems();
+
+  /*! \brief
+    Returns false indicating that this domain does not recycle congruences
+  */
+  static bool can_recycle_congruence_systems();
+
+  //! \name Constructors, Assignment, Swap and Destructor
+  //@{
+
+  //! Builds a universe or empty box of the specified space dimension.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the box;
+
+    \param kind
+    Specifies whether the universe or the empty box has to be built.
+  */
+  explicit Box(dimension_type num_dimensions = 0,
+	       Degenerate_Element kind = UNIVERSE);
+
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  Box(const Box& y,
+      Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! Builds a conservative, upward approximation of \p y.
+  /*!
+    The complexity argument is ignored.
+  */
+  template <typename Other_ITV>
+  explicit Box(const Box<Other_ITV>& y,
+               Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! Builds a box from the system of constraints \p cs.
+  /*!
+    The box inherits the space dimension of \p cs.
+
+    \param cs
+    A system of constraints: constraints that are not
+    \ref intervals "interval constraints"
+    are ignored (even though they may have contributed
+    to the space dimension).
+  */
+  explicit Box(const Constraint_System& cs);
+
+  //! Builds a box recycling a system of constraints \p cs.
+  /*!
+    The box inherits the space dimension of \p cs.
+
+    \param cs
+    A system of constraints: constraints that are not
+    \ref intervals "interval constraints"
+    are ignored (even though they may have contributed
+    to the space dimension).
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  Box(const Constraint_System& cs, Recycle_Input dummy);
+
+  //! Builds a box from the system of generators \p gs.
+  /*!
+    Builds the smallest box containing the polyhedron defined by \p gs.
+    The box inherits the space dimension of \p gs.
+
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
+  */
+  explicit Box(const Generator_System& gs);
+
+  //! Builds a box recycling the system of generators \p gs.
+  /*!
+    Builds the smallest box containing the polyhedron defined by \p gs.
+    The box inherits the space dimension of \p gs.
+
+    \param gs
+    The generator system describing the polyhedron to be approximated.
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
+  */
+  Box(const Generator_System& gs, Recycle_Input dummy);
+
+  /*!
+    Builds the smallest box containing the grid defined by a
+    system of congruences \p cgs.
+    The box inherits the space dimension of \p cgs.
+
+    \param cgs
+    A system of congruences: congruences that are not
+    non-relational equality constraints are ignored
+    (though they may have contributed to the space dimension).
+  */
+  explicit Box(const Congruence_System& cgs);
+
+  /*!
+    Builds the smallest box containing the grid defined by a
+    system of congruences \p cgs, recycling \p cgs.
+    The box inherits the space dimension of \p cgs.
+
+    \param cgs
+    A system of congruences: congruences that are not
+    non-relational equality constraints are ignored
+    (though they will contribute to the space dimension).
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  Box(const Congruence_System& cgs, Recycle_Input dummy);
+
+  //! Builds a box containing the BDS \p bds.
+  /*!
+    Builds the smallest box containing \p bds using a polynomial algorithm.
+    The \p complexity argument is ignored.
+  */
+  template <typename T>
+  explicit Box(const BD_Shape<T>& bds,
+	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+
+  //! Builds a box containing the octagonal shape \p oct.
+  /*!
+    Builds the smallest box containing \p oct using a polynomial algorithm.
+    The \p complexity argument is ignored.
+  */
+  template <typename T>
+  explicit Box(const Octagonal_Shape<T>& oct,
+	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+
+  //! Builds a box containing the polyhedron \p ph.
+  /*!
+    Builds a box containing \p ph using algorithms whose complexity
+    does not exceed the one specified by \p complexity.  If
+    \p complexity is \p ANY_COMPLEXITY, then the built box is the
+    smallest one containing \p ph.
+  */
+  explicit Box(const Polyhedron& ph,
+	       Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! Builds a box containing the grid \p gr.
+  /*!
+    Builds the smallest box containing \p gr using a polynomial algorithm.
+    The \p complexity argument is ignored.
+  */
+  explicit Box(const Grid& gr,
+	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+
+  //! Builds a box containing the partially reduced product \p dp.
+  /*!
+    Builds a box containing \p ph using algorithms whose complexity
+    does not exceed the one specified by \p complexity.
+  */
+  template <typename D1, typename D2, typename R>
+  explicit Box(const Partially_Reduced_Product<D1, D2, R>& dp,
+	       Complexity_Class complexity = ANY_COMPLEXITY);
+
+  /*! \brief
+    The assignment operator
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  Box& operator=(const Box& y);
+
+  /*! \brief
+    Swaps \p *this with \p y
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  void m_swap(Box& y);
+
+  //@} Constructors, Assignment, Swap and Destructor
+
+  //! \name Member Functions that Do Not Modify the Box
+  //@{
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
+
+  /*! \brief
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
+    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
+    of \p *this.
+  */
+  dimension_type affine_dimension() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is an empty box.
+  bool is_empty() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a universe box.
+  bool is_universe() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a topologically closed subset of the vector space.
+  */
+  bool is_topologically_closed() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  bool is_discrete() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a bounded box.
+  bool is_bounded() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
+
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  bool constrains(Variable var) const;
+
+  //! Returns the relations holding between \p *this and the constraint \p c.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Constraint& c) const;
+
+  //! Returns the relations holding between \p *this and the congruence \p cg.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p cg are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
+
+  //! Returns the relations holding between \p *this and the generator \p g.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  Poly_Gen_Relation relation_with(const Generator& g) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_above(const Linear_Expression& expr) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value is computed.
+
+    \param expr
+    The linear expression to be maximized subject to \p *this;
+
+    \param sup_n
+    The numerator of the supremum value;
+
+    \param sup_d
+    The denominator of the supremum value;
+
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
+    and \p maximum are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value and a point where \p expr reaches it are computed.
+
+    \param expr
+    The linear expression to be maximized subject to \p *this;
+
+    \param sup_n
+    The numerator of the supremum value;
+
+    \param sup_d
+    The denominator of the supremum value;
+
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p g are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& g) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value is computed.
+
+    \param expr
+    The linear expression to be minimized subject to \p *this;
+
+    \param inf_n
+    The numerator of the infimum value;
+
+    \param inf_d
+    The denominator of the infimum value;
+
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value and a point where \p expr reaches it are computed.
+
+    \param expr
+    The linear expression to be minimized subject to \p *this;
+
+    \param inf_n
+    The numerator of the infimum value;
+
+    \param inf_d
+    The denominator of the infimum value;
+
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+
+    \param g
+    When minimization succeeds, will be assigned a point or
+    closure point where \p expr reaches its infimum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p g are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& g) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
+
+    \param expr
+    The linear expression for which the frequency is needed;
+
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
+
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool contains(const Box& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Box& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Box& y) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this satisfies
+    all its invariants.
+  */
+  bool OK() const;
+
+  //@} Member Functions that Do Not Modify the Box
+
+  //! \name Space-Dimension Preserving Member Functions that May Modify the Box
+  //@{
+
+  /*! \brief
+    Adds a copy of constraint \p c to the system of constraints
+    defining \p *this.
+
+    \param c
+    The constraint to be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible,
+    or \p c is not optimally supported by the Box domain.
+  */
+  void add_constraint(const Constraint& c);
+
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    defining \p *this.
+
+    \param  cs
+    The constraints to be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the box domain.
+  */
+  void add_constraints(const Constraint_System& cs);
+
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    defining \p *this.
+
+    \param  cs
+    The constraints to be added. They may be recycled.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the box domain.
+
+    \warning
+    The only assumption that can be made on \p cs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
+
+  /*! \brief
+    Adds to \p *this a constraint equivalent to the congruence \p cg.
+
+    \param cg
+    The congruence to be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible,
+    or \p cg is not optimally supported by the box domain.
+  */
+  void add_congruence(const Congruence& cg);
+
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+
+    \param cgs
+    The congruences to be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the box domain.
+  */
+  void add_congruences(const Congruence_System& cgs);
+
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+
+    \param cgs
+    The congruence system to be added to \p *this.  The congruences in
+    \p cgs may be recycled.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the box domain.
+
+    \warning
+    The only assumption that can be made on \p cgs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
+
+  /*! \brief
+    Use the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be used for refinement.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
+
+  /*! \brief
+    Use the constraints in \p cs to refine \p *this.
+
+    \param  cs
+    The constraints to be used for refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+
+    \note
+    The user is warned that the accuracy of this refinement operator
+    depends on the order of evaluation of the constraints in \p cs,
+    which is in general unpredictable. If a fine control on such an
+    order is needed, the user should consider calling the method
+    <code>refine_with_constraint(const Constraint& c)</code> inside
+    an appropriate looping construct.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
+
+  /*! \brief
+    Use the congruence \p cg to refine \p *this.
+
+    \param cg
+    The congruence to be used for refinement.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
+
+  /*! \brief
+    Use the congruences in \p cgs to refine \p *this.
+
+    \param  cgs
+    The congruences to be used for refinement.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
+
+  /*! \brief
+    Use the constraint \p c for constraint propagation on \p *this.
+
+    \param c
+    The constraint to be used for constraint propagation.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void propagate_constraint(const Constraint& c);
+
+  /*! \brief
+    Use the constraints in \p cs for constraint propagation on \p *this.
+
+    \param cs
+    The constraints to be used for constraint propagation.
+
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in
+    \p cs.  If zero (the default), the number of propagation steps
+    will be unbounded, possibly resulting in an infinite loop.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+
+    \warning
+    This method may lead to non-termination if \p max_iterations is 0.
+  */
+  void propagate_constraints(const Constraint_System& cs,
+                             dimension_type max_iterations = 0);
+
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
+
+    \param var
+    The space dimension that will be unconstrained.
+
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
+
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
+
+    \param vars
+    The set of space dimension that will be unconstrained.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
+
+  //! Assigns to \p *this the intersection of \p *this and \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Box& y);
+
+  /*! \brief
+    Assigns to \p *this the smallest box containing the union
+    of \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Box& y);
+
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact, it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Box& y);
+
+  /*! \brief
+    Assigns to \p *this the difference of \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Box& y);
+
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const Box& y);
+
+  /*! \brief
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine image"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
+
+    \param var
+    The variable to which the affine expression is assigned;
+
+    \param expr
+    The numerator of the affine expression;
+
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		      = Coefficient_one());
+
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
+
+    \param var
+    The variable to which the affine expression is assigned.
+
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
+
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
+
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
+  void affine_form_image(Variable var,
+                         const Linear_Form<ITV>& lf);
+
+  /*! \brief
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine preimage"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
+
+    \param var
+    The variable to which the affine expression is substituted;
+
+    \param expr
+    The numerator of the affine expression;
+
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
+  */
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
+
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
+
+    \param var
+    The left hand side variable of the generalized affine relation;
+
+    \param relsym
+    The relation symbol;
+
+    \param expr
+    The numerator of the right hand side affine expression;
+
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
+  */
+  void generalized_affine_image(Variable var,
+				Relation_Symbol relsym,
+				const Linear_Expression& expr,
+				Coefficient_traits::const_reference denominator
+				  = Coefficient_one());
+
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
+
+    \param var
+    The left hand side variable of the generalized affine relation;
+
+    \param relsym
+    The relation symbol;
+
+    \param expr
+    The numerator of the right hand side affine expression;
+
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
+  */
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one());
+
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+
+    \param lhs
+    The left hand side affine expression;
+
+    \param relsym
+    The relation symbol;
+
+    \param rhs
+    The right hand side affine expression.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs.
+  */
+  void generalized_affine_image(const Linear_Expression& lhs,
+				Relation_Symbol relsym,
+				const Linear_Expression& rhs);
+
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+
+    \param lhs
+    The left hand side affine expression;
+
+    \param relsym
+    The relation symbol;
+
+    \param rhs
+    The right hand side affine expression.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs.
+  */
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
+
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+
+    \param var
+    The variable updated by the affine relation;
+
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
+
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
+
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
+
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+
+    \param var
+    The variable updated by the affine relation;
+
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
+
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
+
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
+
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void time_elapse_assign(const Box& y);
+
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
+
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
+
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
+
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
+
+    \param cs_p
+    Possibly null pointer to a constraint system.  When non-null,
+    the pointed-to constraint system is assumed to represent the
+    conditional or looping construct guard with respect to which
+    wrapping is performed.  Since wrapping requires the computation
+    of upper bounds and due to non-distributivity of constraint
+    refinement over upper bounds, passing a constraint system in this
+    way can be more precise than refining the result of the wrapping
+    operation with the constraints in <CODE>*cs_p</CODE>.
+
+    \param complexity_threshold
+    A precision parameter which is ignored for the Box domain.
+
+    \param wrap_individually
+    A precision parameter which is ignored for the Box domain.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*cs_p</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
+
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+
+    \param y
+    A box that <EM>must</EM> be contained in \p *this.
+
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y, unsigned* tp = 0);
+
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+
+    \param y
+    A box that <EM>must</EM> be contained in \p *this.
+
+    \param first
+    An iterator that points to the first stop-point.
+
+    \param last
+    An iterator that points one past the last stop-point.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  template <typename T, typename Iterator>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_widening_assign(const T& y,
+		       Iterator first, Iterator last);
+
+  //! Same as CC76_widening_assign(y, tp).
+  void widening_assign(const Box& y, unsigned* tp = 0);
+
+  /*! \brief
+    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
+
+    \param y
+    A box that <EM>must</EM> be contained in \p *this.
+
+    \param cs
+    The system of constraints used to improve the widened box.
+
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
+
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if \p cs contains a strict inequality.
+  */
+  void limited_CC76_extrapolation_assign(const Box& y,
+					 const Constraint_System& cs,
+					 unsigned* tp = 0);
+
+  /*! \brief
+    Assigns to \p *this the result of restoring in \p y the constraints
+    of \p *this that were lost by
+    \ref CC76_extrapolation "CC76-extrapolation" applications.
+
+    \param y
+    A Box that <EM>must</EM> contain \p *this.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    As was the case for widening operators, the argument \p y is meant to
+    denote the value computed in the previous iteration step, whereas
+    \p *this denotes the value computed in the current iteration step
+    (in the <EM>decreasing</EM> iteration sequence). Hence, the call
+    <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
+    the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
+  */
+  template <typename T>
+  typename Enable_If<Is_Same<T, Box>::value
+                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                     void>::type
+  CC76_narrowing_assign(const T& y);
+
+  //@} Space-Dimension Preserving Member Functions that May Modify [...]
+
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
+
+  //! Adds \p m new dimensions and embeds the old box into the new space.
+  /*!
+    \param m
+    The number of dimensions to add.
+
+    The new dimensions will be those having the highest indexes in the new
+    box, which is defined by a system of interval constraints in which the
+    variables running through the new dimensions are unconstrained.
+    For instance, when starting from the box \f$\cB \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the box
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cB
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
+
+  /*! \brief
+    Adds \p m new dimensions to the box and does not embed it in
+    the new vector space.
+
+    \param m
+    The number of dimensions to add.
+
+    The new dimensions will be those having the highest indexes in the
+    new box, which is defined by a system of bounded differences in
+    which the variables running through the new dimensions are all
+    constrained to be equal to 0.
+    For instance, when starting from the box \f$\cB \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the box
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cB
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
+
+  /*! \brief
+    Seeing a box as a set of tuples (its points),
+    assigns to \p *this all the tuples that can be obtained by concatenating,
+    in the order given, a tuple of \p *this with a tuple of \p y.
+
+    Let \f$B \sseq \Rset^n\f$ and \f$D \sseq \Rset^m\f$ be the boxes
+    corresponding, on entry, to \p *this and \p y, respectively.
+    Upon successful completion, \p *this will represent the box
+    \f$R \sseq \Rset^{n+m}\f$ such that
+    \f[
+      R \defeq
+          \Bigl\{\,
+            (x_1, \ldots, x_n, y_1, \ldots, y_m)^\transpose
+          \Bigm|
+            (x_1, \ldots, x_n)^\transpose \in B,
+            (y_1, \ldots, y_m)^\transpose \in D
+          \,\Bigl\}.
+    \f]
+    Another way of seeing it is as follows: first increases the space
+    dimension of \p *this by adding \p y.space_dimension() new
+    dimensions; then adds to the system of constraints of \p *this a
+    renamed-apart version of the constraints of \p y.
+  */
+  void concatenate_assign(const Box& y);
+
+  //! Removes all the specified dimensions.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the dimensions to be removed.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the Variable
+    objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  /*! \brief
+    Removes the higher dimensions so that the resulting space
+    will have dimension \p new_dimension.
+
+    \exception std::invalid_argument
+    Thrown if \p new_dimension is greater than the space dimension
+    of \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
+
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+
+    \param pfunc
+    The partial function specifying the destiny of each dimension.
+
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty co-domain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the co-domain
+    of the partial function.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.
+    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
+    returned.
+
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space
+    "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
+
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
+
+    \param m
+    The number of replicas to be created.
+
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector space.
+
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref expand_space_dimension "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
+
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
+
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
+    into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
+
+  /*! \brief
+    Returns a reference the interval that bounds \p var.
+
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  const ITV& get_interval(Variable var) const;
+
+  /*! \brief
+    Sets to \p i the interval that bounds \p var.
+
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void set_interval(Variable var, const ITV& i);
+
+  /*! \brief
+    If the space dimension of \p var is unbounded below, return
+    <CODE>false</CODE>. Otherwise return <CODE>true</CODE> and set
+    \p n, \p d and \p closed accordingly.
+
+    \note
+    It is assumed that <CODE>*this</CODE> is a non-empty box
+    having space dimension greater than or equal to that of \p var.
+    An undefined behavior is obtained if this assumption is not met.
+    \if Include_Implementation_Details
+    To be more precise, if <CODE>*this</CODE> is an <EM>empty</EM> box
+    (having space dimension greater than or equal to that of \p var)
+    such that <CODE>!marked_empty()</CODE> holds, then the method can be
+    called without incurring in undefined behavior: it will return
+    <EM>unspecified</EM> boundary values that, if queried systematically
+    on all space dimensions, will encode the box emptiness.
+    \endif
+
+    Let \f$I\f$ be the interval corresponding to variable \p var
+    in the non-empty box <CODE>*this</CODE>.
+    If \f$I\f$ is not bounded from below, simply return <CODE>false</CODE>
+    (leaving all other parameters unchanged).
+    Otherwise, set \p n, \p d and \p closed as follows:
+     - \p n and \p d are assigned the integers \f$n\f$ and \f$d\f$ such
+       that the fraction \f$n/d\f$ corresponds to the greatest lower bound
+       of \f$I\f$. The fraction \f$n/d\f$ is in canonical form, meaning
+       that \f$n\f$ and \f$d\f$ have no common factors, \f$d\f$ is positive,
+       and if \f$n\f$ is zero then \f$d\f$ is one;
+     - \p closed is set to <CODE>true</CODE> if and only if the lower
+       boundary of \f$I\f$ is closed (i.e., it is included in the interval).
+  */
+  bool has_lower_bound(Variable var,
+		       Coefficient& n, Coefficient& d, bool& closed) const;
+
+  /*! \brief
+    If the space dimension of \p var is unbounded above, return
+    <CODE>false</CODE>. Otherwise return <CODE>true</CODE> and set
+    \p n, \p d and \p closed accordingly.
+
+    \note
+    It is assumed that <CODE>*this</CODE> is a non-empty box
+    having space dimension greater than or equal to that of \p var.
+    An undefined behavior is obtained if this assumption is not met.
+    \if Include_Implementation_Details
+    To be more precise, if <CODE>*this</CODE> is an <EM>empty</EM> box
+    (having space dimension greater than or equal to that of \p var)
+    such that <CODE>!marked_empty()</CODE> holds, then the method can be
+    called without incurring in undefined behavior: it will return
+    <EM>unspecified</EM> boundary values that, if queried systematically
+    on all space dimensions, will encode the box emptiness.
+    \endif
+
+    Let \f$I\f$ be the interval corresponding to variable \p var
+    in the non-empty box <CODE>*this</CODE>.
+    If \f$I\f$ is not bounded from above, simply return <CODE>false</CODE>
+    (leaving all other parameters unchanged).
+    Otherwise, set \p n, \p d and \p closed as follows:
+     - \p n and \p d are assigned the integers \f$n\f$ and \f$d\f$ such
+       that the fraction \f$n/d\f$ corresponds to the least upper bound
+       of \f$I\f$. The fraction \f$n/d\f$ is in canonical form, meaning
+       that \f$n\f$ and \f$d\f$ have no common factors, \f$d\f$ is positive,
+       and if \f$n\f$ is zero then \f$d\f$ is one;
+     - \p closed is set to <CODE>true</CODE> if and only if the upper
+       boundary of \f$I\f$ is closed (i.e., it is included in the interval).
+  */
+  bool has_upper_bound(Variable var,
+                       Coefficient& n, Coefficient& d, bool& closed) const;
+
+  //! Returns a system of constraints defining \p *this.
+  Constraint_System constraints() const;
+
+  //! Returns a minimized system of constraints defining \p *this.
+  Constraint_System minimized_constraints() const;
+
+  //! Returns a system of congruences approximating \p *this.
+  Congruence_System congruences() const;
+
+  //! Returns a minimized system of congruences approximating \p *this.
+  Congruence_System minimized_congruences() const;
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
+
+    If <CODE>x</CODE> and <CODE>y</CODE> are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool ascii_load(std::istream& s);
+
+private:
+  template <typename Other_ITV>
+  friend class Parma_Polyhedra_Library::Box;
+
+  friend bool
+  operator==<ITV>(const Box<ITV>& x, const Box<ITV>& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library
+  ::IO_Operators::operator<<<>(std::ostream& s, const Box<ITV>& box);
+
+  template <typename Specialization, typename Temp, typename To, typename I>
+  friend bool Parma_Polyhedra_Library::l_m_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const Box<I>& x, const Box<I>& y, const Rounding_Dir dir,
+   Temp& tmp0, Temp& tmp1, Temp& tmp2);
+
+  //! The type of sequence used to implement the box.
+  typedef std::vector<ITV> Sequence;
+
+  /*! \brief
+    The type of intervals used by inner computations when trying to limit
+    the cumulative effect of approximation errors.
+  */
+  typedef ITV Tmp_Interval_Type;
+
+  //! A sequence of intervals, one for each dimension of the vector space.
+  Sequence seq;
+
+#define PPL_IN_Box_CLASS
+/* Automatically generated from PPL source file ../src/Box_Status.idefs.hh line 1. */
+/* Box<ITV>::Status class declaration.
+*/
+
+
+#ifndef PPL_IN_Box_CLASS
+#error "Do not include Box_Status.idefs.hh directly; use Box.defs.hh instead"
+#endif
+
+//! A conjunctive assertion about a Box<ITV> object.
+/*! \ingroup PPL_CXX_interface
+  The assertions supported are:
+  - <EM>empty up-to-date</EM>: the empty flag is meaningful;
+  - <EM>empty</EM>: the box is the empty set.
+  - <EM>universe</EM>: the box is universe \f$n\f$-dimensional vector space
+     \f$\Rset^n\f$.
+
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>empty up-to-date</EM> and <EM>empty</EM> excludes <EM>universe</EM>.
+*/
+class Status;
+
+class Status {
+public:
+  //! By default Status is the empty set of assertion.
+  Status();
+
+  //! Ordinary copy constructor.
+  Status(const Status& y);
+
+  //! Copy constructor from a box of different type.
+  template <typename Other_ITV>
+  Status(const typename Box<Other_ITV>::Status& y);
+
+  //! \name Test, remove or add an individual assertion from the conjunction.
+  //@{
+  bool test_empty_up_to_date() const;
+  void reset_empty_up_to_date();
+  void set_empty_up_to_date();
+
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
+
+  bool test_universe() const;
+  void reset_universe();
+  void set_universe();
+  //@}
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
+
+  //! \name Bit-masks for the individual assertions.
+  //@{
+  static const flags_t NONE             = 0U;
+  static const flags_t EMPTY_UP_TO_DATE = 1U << 0;
+  static const flags_t EMPTY            = 1U << 1;
+  static const flags_t UNIVERSE         = 1U << 2;
+  //@}
+
+  //! This holds the current bitset.
+  flags_t flags;
+
+  //! Construct from a bit-mask.
+  Status(flags_t mask);
+
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
+
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
+
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
+
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
+
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 1768. */
+#undef PPL_IN_Box_CLASS
+
+  //! The status flags to keep track of the internal state.
+  Status status;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the box is known to be empty.
+
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
+
+public:
+  //! Causes the box to become empty, i.e., to represent the empty set.
+  void set_empty();
+
+private:
+  //! Marks \p *this as definitely not empty.
+  void set_nonempty();
+
+  //! Asserts the validity of the empty flag of \p *this.
+  void set_empty_up_to_date();
+
+  //! Invalidates empty flag of \p *this.
+  void reset_empty_up_to_date();
+
+  /*! \brief
+    Checks the hard way whether \p *this is an empty box:
+    returns <CODE>true</CODE> if and only if it is so.
+  */
+  bool check_empty() const;
+
+   /*! \brief
+     Returns a reference the interval that bounds
+     the box on the <CODE>k</CODE>-th space dimension.
+   */
+  const ITV& operator[](dimension_type k) const;
+
+  /*! \brief
+    WRITE ME.
+  */
+  static I_Result
+  refine_interval_no_check(ITV& itv,
+                           Constraint::Type type,
+                           Coefficient_traits::const_reference numer,
+                           Coefficient_traits::const_reference denom);
+
+  /*! \brief
+    WRITE ME.
+  */
+  void
+  add_interval_constraint_no_check(dimension_type var_id,
+                                   Constraint::Type type,
+                                   Coefficient_traits::const_reference numer,
+                                   Coefficient_traits::const_reference denom);
+
+  /*! \brief
+    WRITE ME.
+  */
+  void add_constraint_no_check(const Constraint& c);
+
+  /*! \brief
+    WRITE ME.
+  */
+  void add_constraints_no_check(const Constraint_System& cs);
+
+  /*! \brief
+    WRITE ME.
+  */
+  void add_congruence_no_check(const Congruence& cg);
+
+  /*! \brief
+    WRITE ME.
+  */
+  void add_congruences_no_check(const Congruence_System& cgs);
+
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be used for the refinement.
+
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint& c);
+
+  /*! \brief
+    Uses the constraints in \p cs to refine \p *this.
+
+    \param cs
+    The constraints to be used for the refinement.
+    To avoid termination problems, each constraint in \p cs
+    will be used for a single refinement step.
+
+    \warning
+    If \p cs and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint_System& cs);
+
+  /*! \brief
+    Uses the congruence \p cg to refine \p *this.
+
+    \param cg
+    The congruence to be added.
+    Nontrivial proper congruences are ignored.
+
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence& cg);
+
+  /*! \brief
+    Uses the congruences in \p cgs to refine \p *this.
+
+    \param cgs
+    The congruences to be added.
+    Nontrivial proper congruences are ignored.
+
+    \warning
+    If \p cgs and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence_System& cgs);
+
+  /*! \brief
+    Propagates the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be propagated.
+
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+
+    \warning
+    This method may lead to non-termination.
+
+    \if Include_Implementation_Details
+
+    For any expression \f$e\f$, we denote by
+    \f$\left\uparrow e \right\uparrow\f$ (resp., \f$\left\downarrow e
+    \right\downarrow\f$) the result of any computation that is
+    guaranteed to yield an upper (resp., lower) approximation of
+    \f$e\f$.  So there exists \f$\epsilon \in \Rset\f$ with
+    \f$\epsilon \geq 0\f$ such that
+    \f$\left\uparrow e \right\uparrow = e + \epsilon\f$.
+    If \f$\epsilon = 0\f$ we say that the computation of
+    \f$\left\uparrow e \right\uparrow\f$ is <EM>exact</EM>;
+    we say it is <EM>inexact</EM> otherwise.
+    Similarly for \f$\left\downarrow e \right\downarrow\f$.
+
+    Consider a constraint of the general form
+    \f[
+      z + \sum_{i \in I}{a_ix_i} \relsym 0,
+    \f]
+    where \f$z \in \Zset\f$, \f$I\f$ is a set of indices,
+    \f$a_i \in \Zset\f$ with \f$a_i \neq 0\f$ for each \f$i \in I\f$, and
+    \f$\mathord{\relsym} \in \{ \mathord{\geq}, \mathord{>}, \mathord{=} \}\f$.
+    The set \f$I\f$ is subdivided into the disjoint sets \f$P\f$ and \f$N\f$
+    such that, for each \f$i \in I\f$, \f$a_i > 0\f$ if \f$i \in P\f$ and
+    \f$a_i < 0\f$ if \f$i \in N\f$.
+    Suppose that, for each \f$i \in P \union N\f$ a variation interval
+    \f$\chi_i \sseq \Rset\f$ is known for \f$x_i\f$ and that the infimum
+    and the supremum of \f$\chi_i\f$ are denoted, respectively,
+    by \f$\chi_i^\mathrm{l}\f$ and \f$\chi_i^\mathrm{u}\f$, where
+    \f$\chi_i^\mathrm{l}, \chi_i^\mathrm{u} \in \Rset \union \{ -\infty, +\infty \}\f$.
+
+    For each \f$k \in P\f$, we have
+    \f[
+      x_k
+        \relsym
+          \frac{1}{a_k}
+            \Biggl(
+              - z
+              - \sum_{i \in N}{a_ix_i}
+              - \sum_{\genfrac{}{}{0pt}{}
+                              {\scriptstyle i \in P}
+                              {\scriptstyle i \neq k}}{a_ix_i}
+            \Biggr).
+    \f]
+    Thus, if \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$i \in N\f$ and
+    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in P \setdiff \{ k \}\f$,
+    we have
+    \f[
+      x_k
+        \geq
+          \Biggl\downarrow
+          \frac{1}{a_k}
+            \Biggl(
+              - z
+              - \sum_{i \in N}{a_i\chi_i^\mathrm{l}}
+              - \sum_{\genfrac{}{}{0pt}{}
+                              {\scriptstyle i \in P}
+                              {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{u}}
+            \Biggr)
+          \Biggr\downarrow
+    \f]
+    and, if \f$\mathord{\relsym} \in \{ \mathord{=} \}\f$,
+    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in N\f$ and
+    \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$P \setdiff \{ k \}\f$,
+    \f[
+      x_k
+        \leq
+          \Biggl\uparrow
+          \frac{1}{a_k}
+            \Biggl(
+              - z
+              - \sum_{i \in N}{a_i\chi_i^\mathrm{u}}
+              - \sum_{\genfrac{}{}{0pt}{}
+                              {\scriptstyle i \in P}
+                              {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{l}}
+            \Biggr)
+          \Biggl\uparrow.
+    \f]
+    In the first inequality, the relation is strict if
+    \f$\mathord{\relsym} \in \{ \mathord{>} \}\f$, or if
+    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some \f$i \in N\f$, or if
+    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some
+    \f$i \in P \setdiff \{ k \}\f$, or if the computation is inexact.
+    In the second inequality, the relation is strict if
+    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some \f$i \in N\f$, or if
+    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some
+    \f$i \in P \setdiff \{ k \}\f$, or if the computation is inexact.
+
+    For each \f$k \in N\f$, we have
+    \f[
+      \frac{1}{a_k}
+        \Biggl(
+          - z
+          - \sum_{\genfrac{}{}{0pt}{}
+                          {\scriptstyle i \in N}
+                          {\scriptstyle i \neq k}}{a_ix_i}
+          - \sum_{i \in P}{a_ix_i}
+        \Biggr)
+          \relsym
+            x_k.
+    \f]
+    Thus, if
+    \f$\chi_i^\mathrm{l} \in \Rset\f$
+    for each \f$i \in N \setdiff \{ k \}\f$ and
+    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in P\f$,
+    we have
+    \f[
+      \Biggl\uparrow
+      \frac{1}{a_k}
+        \Biggl(
+          - z
+          - \sum_{\genfrac{}{}{0pt}{}
+                          {\scriptstyle i \in N}
+                          {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{l}}
+          - \sum_{i \in P}{a_i\chi_i^\mathrm{u}}
+        \Biggr)
+      \Biggl\uparrow
+        \geq
+          x_k
+    \f]
+    and, if \f$\mathord{\relsym} \in \{ \mathord{=} \}\f$,
+    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in N \setdiff \{ k \}\f$
+    and \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$i \in P\f$,
+    \f[
+      \Biggl\downarrow
+      \frac{1}{a_k}
+        \Biggl(
+          - z
+          - \sum_{\genfrac{}{}{0pt}{}
+                          {\scriptstyle i \in N}
+                          {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{u}}
+          - \sum_{i \in P}{a_i\chi_i^\mathrm{l}}
+        \Biggr)
+      \Biggl\downarrow
+        \leq
+          x_k.
+    \f]
+    In the first inequality, the relation is strict if
+    \f$\mathord{\relsym} \in \{ \mathord{>} \}\f$, or if
+    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some \f$i \in P\f$, or if
+    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some
+    \f$i \in N \setdiff \{ k \}\f$, or if the computation is inexact.
+    In the second inequality, the relation is strict if
+    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some \f$i \in P\f$, or if
+    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some
+    \f$i \in N \setdiff \{ k \}\f$, or if the computation is inexact.
+    \endif
+  */
+  void propagate_constraint_no_check(const Constraint& c);
+
+  /*! \brief
+    Propagates the constraints in \p cs to refine \p *this.
+
+    \param  cs
+    The constraints to be propagated.
+
+    \param max_iterations
+    The maximum number of propagation steps for each constraint in \p cs.
+    If zero, the number of propagation steps will be unbounded, possibly
+    resulting in an infinite loop.
+
+    \warning
+    If \p cs and \p *this are dimension-incompatible,
+    the behavior is undefined.
+
+    \warning
+    This method may lead to non-termination if \p max_iterations is 0.
+  */
+  void propagate_constraints_no_check(const Constraint_System& cs,
+                                      dimension_type max_iterations);
+
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
+
+    \param expr
+    The linear expression to test;
+
+    \param from_above
+    <CODE>true</CODE> if and only if the boundedness of interest is
+    "from above".
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, bool from_above) const;
+
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p *this;
+
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
+
+    \param ext_n
+    The numerator of the extremum value;
+
+    \param ext_d
+    The denominator of the extremum value;
+
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p *this;
+
+    \param g
+    When maximization or minimization succeeds, will be assigned
+    a point or closure point where \p expr reaches the
+    corresponding extremum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p g are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+	       bool maximize,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
+	       Generator& g) const;
+
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p *this;
+
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
+
+    \param ext_n
+    The numerator of the extremum value;
+
+    \param ext_d
+    The denominator of the extremum value;
+
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p point are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+	       bool maximize,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
+
+  /*! \brief
+    Adds to \p limiting_box the interval constraints in \p cs
+    that are satisfied by \p *this.
+  */
+  void get_limiting_box(const Constraint_System& cs,
+                        Box& limiting_box) const;
+
+  //! \name Exception Throwers
+  //@{
+  void throw_dimension_incompatible(const char* method,
+				    const Box& y) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    dimension_type required_dim) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const Constraint& c) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const Congruence& cg) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const Constraint_System& cs) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const Congruence_System& cgs) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const Generator& g) const;
+
+  void throw_dimension_incompatible(const char* method,
+				    const char* le_name,
+				    const Linear_Expression& le) const;
+
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+                                    const char* lf_name,
+                                    const Linear_Form<C>& lf) const;
+
+  static void throw_constraint_incompatible(const char* method);
+
+  static void throw_expression_too_complex(const char* method,
+					   const Linear_Expression& le);
+
+  static void throw_invalid_argument(const char* method, const char* reason);
+  //@} // Exception Throwers
+};
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Returns the relations holding between an interval and
+  an interval constraint.
+
+  \param i
+  The interval;
+
+  \param constraint_type
+  The constraint type;
+
+  \param numer
+  The numerator of the constraint bound;
+
+  \param denom
+  The denominator of the constraint bound
+
+  The interval constraint has the form
+  <CODE>denom * Variable(0) relsym numer</CODE>
+  where relsym is  <CODE>==</CODE>,  <CODE>></CODE> or  <CODE>>=</CODE>
+  depending on the <CODE>constraint_type</CODE>.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename ITV>
+Poly_Con_Relation
+interval_relation(const ITV& i,
+                  const Constraint::Type constraint_type,
+                  Coefficient_traits::const_reference numer,
+                  Coefficient_traits::const_reference denom = 1);
+
+class Box_Helpers {
+public:
+  // This is declared here so that Linear_Expression needs to be friend of
+  // Box_Helpers only, and doesn't need to be friend of this, too.
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as an interval constraint.
+  /*! \relates Box
+    \return
+    <CODE>true</CODE> if the constraint \p c is an
+    \ref intervals "interval constraint";
+    <CODE>false</CODE> otherwise.
+
+    \param c
+    The constraint to be decoded.
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0 and 1.
+
+    \param c_only_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the only variable having
+    a non-zero coefficient in \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_interval_constraint(const Constraint& c,
+                                          dimension_type& c_num_vars,
+                                          dimension_type& c_only_var);
+
+  // This is declared here so that Linear_Expression needs to be friend of
+  // Box_Helpers only, and doesn't need to be friend of this, too.
+  static bool extract_interval_congruence(const Congruence& cg,
+                                          dimension_type& cg_num_vars,
+                                          dimension_type& cg_only_var);
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Box_Status.inlines.hh line 1. */
+/* Box<ITV>::Status class implementation: inline functions.
+*/
+
+
+#include <string>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename ITV>
+inline
+Box<ITV>::Status::Status(flags_t mask)
+  : flags(mask) {
+}
+
+template <typename ITV>
+inline
+Box<ITV>::Status::Status(const Status& y)
+  : flags(y.flags) {
+}
+
+template <typename ITV>
+template <typename Other_ITV>
+inline
+Box<ITV>::Status::Status(const typename Box<Other_ITV>::Status& y)
+  : flags(y.flags) {
+}
+
+template <typename ITV>
+inline
+Box<ITV>::Status::Status()
+  : flags(NONE) {
+}
+
+template <typename ITV>
+inline bool
+Box<ITV>::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
+}
+
+template <typename ITV>
+inline bool
+Box<ITV>::Status::test_any(flags_t mask) const {
+  return (flags & mask) != 0;
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::set(flags_t mask) {
+  flags |= mask;
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::reset(flags_t mask) {
+  flags &= ~mask;
+}
+
+template <typename ITV>
+inline bool
+Box<ITV>::Status::test_empty_up_to_date() const {
+  return test_any(EMPTY_UP_TO_DATE);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::reset_empty_up_to_date() {
+  reset(EMPTY_UP_TO_DATE);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::set_empty_up_to_date() {
+  set(EMPTY_UP_TO_DATE);
+}
+
+template <typename ITV>
+inline bool
+Box<ITV>::Status::test_empty() const {
+  return test_any(EMPTY);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::reset_empty() {
+  reset(EMPTY);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::set_empty() {
+  set(EMPTY);
+}
+
+template <typename ITV>
+inline bool
+Box<ITV>::Status::test_universe() const {
+  return test_any(UNIVERSE);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::reset_universe() {
+  reset(UNIVERSE);
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::Status::set_universe() {
+  set(UNIVERSE);
+}
+
+template <typename ITV>
+bool
+Box<ITV>::Status::OK() const {
+  if (test_empty_up_to_date()
+      && test_empty()
+      && test_universe()) {
+#ifndef NDEBUG
+    std::cerr
+      << "The status asserts emptiness and universality at the same time."
+      << std::endl;
+#endif
+    return false;
+  }
+
+  // Any other case is OK.
+  return true;
+}
+
+
+namespace Implementation {
+
+namespace Boxes {
+
+// These are the keywords that indicate the individual assertions.
+const std::string empty_up_to_date = "EUP";
+const std::string empty = "EM";
+const std::string universe = "UN";
+const char yes = '+';
+const char no = '-';
+const char separator = ' ';
+
+/*! \relates Parma_Polyhedra_Library::Box::Status
+  Reads a keyword and its associated on/off flag from \p s.
+  Returns <CODE>true</CODE> if the operation is successful,
+  returns <CODE>false</CODE> otherwise.
+  When successful, \p positive is set to <CODE>true</CODE> if the flag
+  is on; it is set to <CODE>false</CODE> otherwise.
+*/
+inline bool
+get_field(std::istream& s, const std::string& keyword, bool& positive) {
+  std::string str;
+  if (!(s >> str)
+      || (str[0] != yes && str[0] != no)
+      || str.substr(1) != keyword)
+    return false;
+  positive = (str[0] == yes);
+  return true;
+}
+
+} // namespace Boxes
+
+} // namespace Implementation
+
+template <typename ITV>
+void
+Box<ITV>::Status::ascii_dump(std::ostream& s) const {
+  using namespace Implementation::Boxes;
+  s << (test_empty_up_to_date() ? yes : no) << empty_up_to_date << separator
+    << (test_empty() ? yes : no) << empty << separator
+    << (test_universe() ? yes : no) << universe << separator;
+}
+
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(ITV, Box<ITV>::Status)
+
+template <typename ITV>
+bool
+Box<ITV>::Status::ascii_load(std::istream& s) {
+  using namespace Implementation::Boxes;
+  PPL_UNINITIALIZED(bool, positive);
+
+  if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive))
+    return false;
+  if (positive)
+    set_empty_up_to_date();
+
+  if (!get_field(s, Implementation::Boxes::empty, positive))
+    return false;
+  if (positive)
+    set_empty();
+
+  if (!get_field(s, universe, positive))
+    return false;
+  if (positive)
+    set_universe();
+  else
+    reset_universe();
+
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Box.inlines.hh line 1. */
+/* Box class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 1. */
+/* Constraint_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 1. */
+/* Linear_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Swapping_Vector.defs.hh line 1. */
+/* Swapping_Vector class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Swapping_Vector.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class Swapping_Vector;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Swapping_Vector.defs.hh line 29. */
+
+#include <vector>
+/* Automatically generated from PPL source file ../src/Swapping_Vector.defs.hh line 32. */
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A wrapper for std::vector that calls a swap() method instead of copying
+//! elements, when possible.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Swapping_Vector {
+
+public:
+  typedef typename std::vector<T>::const_iterator const_iterator;
+  typedef typename std::vector<T>::iterator iterator;
+  typedef typename std::vector<T>::size_type size_type;
+
+  Swapping_Vector();
+  explicit Swapping_Vector(dimension_type new_size);
+  Swapping_Vector(dimension_type new_size, const T& x);
+
+  void clear();
+  void reserve(dimension_type new_capacity);
+  void resize(dimension_type new_size);
+  void resize(dimension_type new_size, const T& x);
+
+  dimension_type size() const;
+  dimension_type capacity() const;
+  bool empty() const;
+
+  void m_swap(Swapping_Vector& v);
+
+  T& operator[](dimension_type i);
+  const T& operator[](dimension_type i) const;
+
+  T& back();
+  const T& back() const;
+
+  void push_back(const T& x);
+  void pop_back();
+
+  iterator begin();
+  iterator end();
+  const_iterator begin() const;
+  const_iterator end() const;
+
+  iterator erase(iterator itr);
+  iterator erase(iterator first, iterator last);
+
+  // This is defined only if T has an external_memory_in_bytes() method.
+  memory_size_type external_memory_in_bytes() const;
+
+  dimension_type max_num_rows();
+
+private:
+  std::vector<T> impl;
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Swapping_Vector */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(Swapping_Vector<T>& x, Swapping_Vector<T>& y);
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Swapping_Vector.inlines.hh line 1. */
+/* Swapping_Vector class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector()
+  : impl() {
+}
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector(dimension_type i)
+  : impl() {
+  // NOTE: This is not the same as constructing impl as `impl(i)', because
+  // this implementation calls compute_capacity().
+  resize(i);
+}
+
+template <typename T>
+inline
+Swapping_Vector<T>::Swapping_Vector(dimension_type new_size, const T& x)
+  : impl() {
+  resize(new_size, x);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::clear() {
+  impl.clear();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::reserve(dimension_type new_capacity) {
+  if (impl.capacity() < new_capacity) {
+    // Reallocation will take place.
+    std::vector<T> new_impl;
+
+    new_impl.reserve(compute_capacity(new_capacity, max_num_rows()));
+    new_impl.resize(impl.size());
+
+    using std::swap;
+
+    // Steal the old elements.
+    for (dimension_type i = impl.size(); i-- > 0; )
+      swap(new_impl[i], impl[i]);
+
+    // Put the new vector into place.
+    swap(impl, new_impl);
+  }
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::resize(dimension_type new_size) {
+  reserve(new_size);
+  impl.resize(new_size);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::resize(dimension_type new_size, const T& x) {
+  reserve(new_size);
+  impl.resize(new_size, x);
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::size() const {
+  return impl.size();
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::capacity() const {
+  return impl.capacity();
+}
+
+template <typename T>
+inline bool
+Swapping_Vector<T>::empty() const {
+  return impl.empty();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::m_swap(Swapping_Vector& v) {
+  using std::swap;
+  swap(impl, v.impl);
+}
+
+template <typename T>
+inline T&
+Swapping_Vector<T>::operator[](dimension_type i) {
+  return impl[i];
+}
+
+template <typename T>
+inline const T&
+Swapping_Vector<T>::operator[](dimension_type i) const {
+  return impl[i];
+}
+
+template <typename T>
+inline T&
+Swapping_Vector<T>::back() {
+  return impl.back();
+}
+
+template <typename T>
+inline const T&
+Swapping_Vector<T>::back() const {
+  return impl.back();
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::push_back(const T& x) {
+  reserve(size() + 1);
+  impl.push_back(x);
+}
+
+template <typename T>
+inline void
+Swapping_Vector<T>::pop_back() {
+  impl.pop_back();
+}
+
+template <typename T>
+inline memory_size_type
+Swapping_Vector<T>::external_memory_in_bytes() const {
+  // Estimate the size of vector.
+  memory_size_type n = impl.capacity() * sizeof(T);
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    n += i->external_memory_in_bytes();
+  return n;
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::begin() {
+  return impl.begin();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::end() {
+  return impl.end();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::const_iterator
+Swapping_Vector<T>::begin() const {
+  return impl.begin();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::const_iterator
+Swapping_Vector<T>::end() const {
+  return impl.end();
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::erase(iterator itr) {
+  PPL_ASSERT(itr >= begin());
+  PPL_ASSERT(itr < end());
+  const dimension_type old_i = itr - begin();
+  dimension_type i = old_i;
+  ++i;
+  while (i != size())
+    swap(impl[i-1], impl[i]);
+  impl.pop_back();
+  return begin() + old_i;
+}
+
+template <typename T>
+inline typename Swapping_Vector<T>::iterator
+Swapping_Vector<T>::erase(iterator first, iterator last) {
+  PPL_ASSERT(begin() <= first);
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= end());
+  const iterator old_first = first;
+  typedef typename std::iterator_traits<iterator>::difference_type diff_t;
+  const diff_t k = last - first;
+  const dimension_type n = static_cast<dimension_type>(end() - last);
+  using std::swap;
+  for (dimension_type i = 0; i < n; ++i, ++first)
+    swap(*first, *(first + k));
+  impl.erase(end() - k, end());
+  return old_first;
+}
+
+template <typename T>
+inline dimension_type
+Swapping_Vector<T>::max_num_rows() {
+  return impl.max_size();
+}
+
+template <typename T>
+inline void
+swap(Swapping_Vector<T>& vec1, Swapping_Vector<T>& vec2) {
+  vec1.m_swap(vec2);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+
+/* Automatically generated from PPL source file ../src/Swapping_Vector.defs.hh line 97. */
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 33. */
+
+/* Automatically generated from PPL source file ../src/Bit_Row.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Bit_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Bit_Matrix.types.hh line 1. */
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! A tag class.
-  /*! \ingroup PPL_CXX_interface
-    Tag class to differentiate the Linear_System copy constructor that
-    copies pending rows as pending from the one that transforms
-    pending rows into non-pending ones.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  struct With_Pending {
-  };
+
+namespace Parma_Polyhedra_Library {
+
+class Bit_Matrix;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 39. */
+
+// TODO: Check how much of this description is still true.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The base class for systems of constraints and generators.
+/*! \ingroup PPL_CXX_interface
+  An object of this class represents either a constraint system
+  or a generator system. Each Linear_System object can be viewed
+  as a finite sequence of strong-normalized Row objects,
+  where each Row implements a constraint or a generator.
+  Linear systems are characterized by the matrix of coefficients,
+  also encoding the number, size and capacity of Row objects,
+  as well as a few additional information, including:
+   - the topological kind of (all) the rows;
+   - an indication of whether or not some of the rows in the Linear_System
+     are <EM>pending</EM>, meaning that they still have to undergo
+     an (unspecified) elaboration; if there are pending rows, then these
+     form a proper suffix of the overall sequence of rows;
+   - a Boolean flag that, when <CODE>true</CODE>, ensures that the
+     non-pending prefix of the sequence of rows is sorted.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+class Parma_Polyhedra_Library::Linear_System {
+public:
+
+  // NOTE: `iterator' is actually a const_iterator.
+  typedef typename Swapping_Vector<Row>::const_iterator iterator;
+  typedef typename Swapping_Vector<Row>::const_iterator const_iterator;
+
+  //! Builds an empty linear system with specified topology.
+  /*!
+    Rows size and capacity are initialized to \f$0\f$.
+  */
+  Linear_System(Topology topol, Representation r);
+
+  //! Builds a system with specified topology and dimensions.
+  /*!
+    \param topol
+    The topology of the system that will be created;
+
+    \param space_dim
+    The number of space dimensions of the system that will be created.
+
+    \param r
+    The representation for system's rows.
+
+    Creates a \p n_rows \f$\times\f$ \p space_dim system whose
+    coefficients are all zero and with the given topology.
+  */
+  Linear_System(Topology topol, dimension_type space_dim, Representation r);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! A tag class.
+  /*! \ingroup PPL_CXX_interface
+    Tag class to differentiate the Linear_System copy constructor that
+    copies pending rows as pending from the one that transforms
+    pending rows into non-pending ones.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  struct With_Pending {
+  };
 
   //! Copy constructor: pending rows are transformed into non-pending ones.
   Linear_System(const Linear_System& y);
 
+  //! Copy constructor with specified representation. Pending rows are
+  //! transformed into non-pending ones.
+  Linear_System(const Linear_System& y, Representation r);
+
   //! Full copy constructor: pending rows are copied as pending.
   Linear_System(const Linear_System& y, With_Pending);
 
+  //! Full copy constructor: pending rows are copied as pending.
+  Linear_System(const Linear_System& y, Representation r, With_Pending);
+
   //! Assignment operator: pending rows are transformed into non-pending ones.
   Linear_System& operator=(const Linear_System& y);
 
@@ -17235,7 +38821,13 @@ public:
   void assign_with_pending(const Linear_System& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Linear_System& y);
+  void m_swap(Linear_System& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Linear_System can handle.
   static dimension_type max_space_dimension();
@@ -17251,36 +38843,87 @@ public:
   */
   dimension_type space_dimension() const;
 
-  //! Makes the system shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
+
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
+
+  //! Makes the system shrink by removing its i-th row.
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
+  */
+  void remove_row(dimension_type i, bool keep_sorted = false);
 
-  //! Permutes the columns of the system.
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
+
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                  bool keep_sorted = false);
+
+  // TODO: Consider removing this.
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
+  /*!
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
+
+  // TODO: Consider making this private.
+  //! Removes all the specified dimensions from the system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  // TODO: Consider making this private.
+  //! Permutes the space dimensions of the matrix.
   /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    space dimensions must be rearranged.
 
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the system has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
 
   //! \name Subscript operators
   //@{
-  //! Returns a reference to the \p k-th row of the system.
-  Linear_Row& operator[](dimension_type k);
-
-  //! Returns a constant reference to the \p k-th row of the system.
-  const Linear_Row& operator[](dimension_type k) const;
+  //! Returns a const reference to the \p k-th row of the system.
+  const Row& operator[](dimension_type k) const;
   //@} // Subscript operators
 
+  iterator begin();
+  iterator end();
+  const_iterator begin() const;
+  const_iterator end() const;
+
+  bool has_no_rows() const;
+  dimension_type num_rows() const;
+
   //! Strongly normalizes the system.
   void strong_normalize();
 
@@ -17320,14 +38963,30 @@ public:
   */
   bool check_sorted() const;
 
+  //! Sets the system topology to \p t .
+  void set_topology(Topology t);
+
   //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
   void set_necessarily_closed();
 
   //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
   void set_not_necessarily_closed();
 
-  //! Sets the topology of all rows equal to the system topology.
-  void set_rows_topology();
+  // TODO: Consider removing this, or making it private.
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The system topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
+
+  // TODO: Consider removing this, or making it private.
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The system topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
 
   //! Sets the index to indicate that the system has no pending rows.
   void unset_pending_rows();
@@ -17338,24 +38997,11 @@ public:
   //! Sets the sortedness flag of the system to \p b.
   void set_sorted(bool b);
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows of the resized system;
-
-    \param new_n_columns
-    The number of columns of the resized system.
-
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns);
-
-  //! Adds \p n rows and columns to the system.
+  //! Adds \p n rows and space dimensions to the system.
   /*!
     \param n
-    The number of rows and columns to be added: must be strictly positive.
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
 
     Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
     the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
@@ -17364,37 +39010,50 @@ public:
     where \f$J\f$ is the specular image
     of the \f$n \times n\f$ identity matrix.
   */
-  void add_rows_and_columns(dimension_type n);
+  void add_universe_rows_and_space_dimensions(dimension_type n);
 
   /*! \brief
     Adds a copy of \p r to the system,
     automatically resizing the system or the row's copy, if needed.
   */
-  void insert(const Linear_Row& r);
+  void insert(const Row& r);
 
   /*! \brief
     Adds a copy of the given row to the pending part of the system,
     automatically resizing the system or the row, if needed.
   */
-  void insert_pending(const Linear_Row& r);
+  void insert_pending(const Row& r);
 
-  //! Adds a copy of the given row to the system.
-  void add_row(const Linear_Row& r);
-
-  //! Adds a new empty row to the system, setting only its flags.
-  void add_pending_row(Linear_Row::Flags flags);
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+  */
+  void insert(Row& r, Recycle_Input);
 
-  //! Adds a copy of the given row to the pending part of the system.
-  void add_pending_row(const Linear_Row& r);
+  /*! \brief
+    Adds the given row to the pending part of the system, stealing its
+    contents and automatically resizing the system or the row, if needed.
+  */
+  void insert_pending(Row& r, Recycle_Input);
 
-  //! Adds to \p *this a copy of the rows of `y'.
+  //! Adds to \p *this a copy of  the rows of \p y.
   /*!
     It is assumed that \p *this has no pending rows.
   */
-  void add_rows(const Linear_System& y);
+  void insert(const Linear_System& y);
 
   //! Adds a copy of the rows of `y' to the pending part of `*this'.
-  void add_pending_rows(const Linear_System& y);
+  void insert_pending(const Linear_System& r);
+
+  //! Adds to \p *this a the rows of `y', stealing them from `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(Linear_System& r, Recycle_Input);
+
+  //! Adds the rows of `y' to the pending part of `*this', stealing them from
+  //! `y'.
+  void insert_pending(Linear_System& r, Recycle_Input);
 
   /*! \brief
     Sorts the non-pending rows (in growing order) and eliminates
@@ -17424,8 +39083,6 @@ public:
   */
   void sort_pending_and_remove_duplicates();
 
-  class With_Bit_Matrix_iterator;
-
   /*! \brief
     Sorts the system, removing duplicates, keeping the saturation
     matrix consistent.
@@ -17445,7 +39102,7 @@ public:
     returns its rank, i.e., the number of linearly independent equalities.
     The result is an upper triangular subsystem of equalities:
     for each equality, the pivot is chosen starting from
-    the right-most columns.
+    the right-most space dimensions.
   */
   dimension_type gauss(dimension_type n_lines_or_equalities);
 
@@ -17467,12 +39124,6 @@ public:
   */
   void simplify();
 
-  /*! \brief
-    Normalizes the system by dividing each row for the GCD of the
-    row's elements.
-  */
-  void normalize();
-
   //! Clears the system deallocating all its rows.
   void clear();
 
@@ -17496,21 +39147,74 @@ public:
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
+  //! The vector that contains the rows.
+  /*!
+    \note This is public for convenience. Clients that modify if must preserve
+          the class invariant.
+  */
+  Swapping_Vector<Row> rows;
+
   //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! Makes the system shrink by removing its i-th row.
   /*!
-    \param check_strong_normalized
-    <CODE>true</CODE> if and only if the strong normalization of all
-    the rows in the system has to be checked.
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
 
-    By default, the strong normalization check is performed.
-    This check may be turned off to avoid useless repeated checking;
-    e.g., when re-checking a well-formed Linear_System after the permutation
-    or deletion of some of its rows.
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
   */
-  bool OK(bool check_strong_normalized = true) const;
+  void remove_row_no_ok(dimension_type i, bool keep_sorted = false);
 
-private:
-  //! The topological kind of the rows in the system.
+  /*! \brief
+    Adds \p r to the pending part of the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void insert_pending_no_ok(Row& r, Recycle_Input);
+
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void insert_no_ok(Row& r, Recycle_Input);
+
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  /*!
+    This method is for internal use, it does *not* assert OK() at the end,
+    so it can be used for invalid systems.
+  */
+  void set_space_dimension_no_ok(dimension_type space_dim);
+
+  //! Swaps the [first,last) row interval with the
+  //! [first + offset, last + offset) interval.
+  /*!
+    These intervals may not be disjunct.
+
+    Sorting of these intervals is *not* preserved.
+
+    Either both intervals contain only not-pending rows, or they both
+    contain pending rows.
+  */
+  void swap_row_intervals(dimension_type first, dimension_type last,
+                          dimension_type offset);
+
+  //! The space dimension of each row. All rows must have this number of
+  //! space dimensions.
+  dimension_type space_dimension_;
+
+  //! The topological kind of the rows in the system. All rows must have this
+  //! topology.
   Topology row_topology;
 
   //! The index of the first pending row.
@@ -17518,25 +39222,42 @@ private:
 
   /*! \brief
     <CODE>true</CODE> if rows are sorted in the ascending order as defined by
-    <CODE>bool compare(const Linear_Row&, const Linear_Row&)</CODE>.
+    <CODE>bool compare(const Row&, const Row&)</CODE>.
     If <CODE>false</CODE> may not be sorted.
   */
   bool sorted;
 
+  Representation representation_;
+
   //! Ordering predicate (used when implementing the sort algorithm).
   struct Row_Less_Than {
     bool operator()(const Row& x, const Row& y) const;
   };
+
+  //! Comparison predicate (used when implementing the unique algorithm).
+  struct Unique_Compare {
+    Unique_Compare(const Swapping_Vector<Row>& cont,
+                   dimension_type base = 0);
+
+    bool operator()(dimension_type i, dimension_type j) const;
+
+    const Swapping_Vector<Row>& container;
+    const dimension_type base_index;
+  };
+
+  friend class Polyhedron;
+  friend class Generator_System;
 };
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System */
+//! Swaps \p x with \p y.
+/*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_System& x,
-	  Parma_Polyhedra_Library::Linear_System& y);
+template <typename Row>
+void swap(Parma_Polyhedra_Library::Linear_System<Row>& x,
+          Parma_Polyhedra_Library::Linear_System<Row>& y);
 
 } // namespace std
 
@@ -17546,13 +39267,15 @@ namespace Parma_Polyhedra_Library {
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
 /*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Linear_System& x, const Linear_System& y);
+template <typename Row>
+bool operator==(const Linear_System<Row>& x, const Linear_System<Row>& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
 /*! \relates Linear_System */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Linear_System& x, const Linear_System& y);
+template <typename Row>
+bool operator!=(const Linear_System<Row>& x, const Linear_System<Row>& y);
 
 } // namespace Parma_Polyhedra_Library
 
@@ -17573,6 +39296,20 @@ bool operator!=(const Linear_System& x, const Linear_System& y);
 
 namespace Parma_Polyhedra_Library {
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Bit_Row */
+void swap(Bit_Row& x, Bit_Row& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void
+iter_swap(std::vector<Bit_Row>::iterator x,
+          std::vector<Bit_Row>::iterator y);
+
 // Put them in the namespace here to declare them friends later.
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -17626,24 +39363,6 @@ bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 bool strict_subset(const Bit_Row& x, const Bit_Row& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic union.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic intersection.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic difference.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-
 } // namespace Parma_Polyhedra_Library
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
@@ -17671,7 +39390,7 @@ public:
   Bit_Row& operator=(const Bit_Row& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Bit_Row& y);
+  void m_swap(Bit_Row& y);
 
   //! Returns the truth value corresponding to the bit in position \p k.
   bool operator[](unsigned long k) const;
@@ -17691,6 +39410,16 @@ public:
   //! Clears all the bits of the row.
   void clear();
 
+  //! Assigns to \p *this the set-theoretic union of \p x and \p y.
+  void union_assign(const Bit_Row& x, const Bit_Row& y);
+
+  //! Assigns to \p *this the set-theoretic intersection of \p x and \p y.
+  void intersection_assign(const Bit_Row& x, const Bit_Row& y);
+
+  //! Assigns to \p *this the set-theoretic difference of \p x and \p y.
+  void difference_assign(const Bit_Row& x, const Bit_Row& y);
+
+
   friend int compare(const Bit_Row& x, const Bit_Row& y);
   friend bool operator==(const Bit_Row& x, const Bit_Row& y);
   friend bool operator!=(const Bit_Row& x, const Bit_Row& y);
@@ -17698,9 +39427,6 @@ public:
   friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
 			      bool& strict_subset);
   friend bool strict_subset(const Bit_Row& x, const Bit_Row& y);
-  friend void set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
-  friend void set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z);
 
   //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
   unsigned long first() const;
@@ -17744,34 +39470,15 @@ private:
     The size of \p y must be be less than or equal to the size of \p z.
     Upon entry, \p vec must have allocated enough space to contain the result.
   */
-  void union_helper(const Bit_Row& x, const Bit_Row& y);
+  void union_helper(const Bit_Row& y, const Bit_Row& z);
 };
 
-namespace std {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Bit_Row& x,
-	  Parma_Polyhedra_Library::Bit_Row& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y);
-
-} // namespace std
-
 /* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 1. */
 /* Bit_Row class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 29. */
+/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 30. */
 
 // For the declaration of ffs(3).
 #if defined(PPL_HAVE_STRINGS_H)
@@ -17780,7 +39487,7 @@ iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
 # include <string.h>
 #endif
 
-#define PPL_BITS_PER_GMP_LIMB (PPL_SIZEOF_MP_LIMB_T*CHAR_BIT)
+#define PPL_BITS_PER_GMP_LIMB sizeof_to_bits(PPL_SIZEOF_MP_LIMB_T)
 
 namespace Parma_Polyhedra_Library {
 
@@ -17802,14 +39509,14 @@ Bit_Row::Bit_Row(const Bit_Row& y, const Bit_Row& z) {
   PPL_ASSERT(z_size >= 0);
   if (y_size < z_size) {
     PPL_ASSERT(static_cast<unsigned long>(z_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_init2(vec, z_size * PPL_BITS_PER_GMP_LIMB);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, static_cast<unsigned long>(z_size) * PPL_BITS_PER_GMP_LIMB);
     union_helper(y, z);
   }
   else {
     PPL_ASSERT(static_cast<unsigned long>(y_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_init2(vec, y_size * PPL_BITS_PER_GMP_LIMB);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_init2(vec, static_cast<unsigned long>(y_size) * PPL_BITS_PER_GMP_LIMB);
     union_helper(z, y);
   }
 }
@@ -17844,7 +39551,7 @@ inline unsigned long
 Bit_Row::count_ones() const {
   mp_size_t x_size = vec->_mp_size;
   PPL_ASSERT(x_size >= 0);
-  return x_size == 0 ? 0 : mpn_popcount(vec->_mp_d, x_size);
+  return (x_size == 0) ? 0 : mpn_popcount(vec->_mp_d, x_size);
 }
 
 inline bool
@@ -17853,7 +39560,7 @@ Bit_Row::empty() const {
 }
 
 inline void
-Bit_Row::swap(Bit_Row& y) {
+Bit_Row::m_swap(Bit_Row& y) {
   mpz_swap(vec, y.vec);
 }
 
@@ -17864,7 +39571,7 @@ Bit_Row::clear() {
 
 inline memory_size_type
 Bit_Row::external_memory_in_bytes() const {
-  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+  return static_cast<memory_size_type>(vec[0]._mp_alloc) * PPL_SIZEOF_MP_LIMB_T;
 }
 
 inline memory_size_type
@@ -17872,52 +39579,46 @@ Bit_Row::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
-/*! \relates Bit_Row */
 inline void
-set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+Bit_Row::union_assign(const Bit_Row& x, const Bit_Row& y) {
   const mp_size_t x_size = x.vec->_mp_size;
   PPL_ASSERT(x_size >= 0);
   const mp_size_t y_size = y.vec->_mp_size;
   PPL_ASSERT(y_size >= 0);
   if (x_size < y_size) {
     PPL_ASSERT(static_cast<unsigned long>(y_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_realloc2(z.vec, y_size * PPL_BITS_PER_GMP_LIMB);
-    z.union_helper(x, y);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(vec, static_cast<unsigned long>(y_size) * PPL_BITS_PER_GMP_LIMB);
+    union_helper(x, y);
   }
   else {
     PPL_ASSERT(static_cast<unsigned long>(x_size)
-           <= ULONG_MAX / PPL_BITS_PER_GMP_LIMB);
-    mpz_realloc2(z.vec, x_size * PPL_BITS_PER_GMP_LIMB);
-    z.union_helper(y, x);
+               <= C_Integer<unsigned long>::max / PPL_BITS_PER_GMP_LIMB);
+    mpz_realloc2(vec, static_cast<unsigned long>(x_size) * PPL_BITS_PER_GMP_LIMB);
+    union_helper(y, x);
   }
 }
 
-/*! \relates Bit_Row */
 inline void
-set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_and(z.vec, x.vec, y.vec);
+Bit_Row::intersection_assign(const Bit_Row& x, const Bit_Row& y) {
+  mpz_and(vec, x.vec, y.vec);
 }
 
-/*! \relates Bit_Row */
 inline void
-set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  PPL_DIRTY_TEMP0(mpz_class, complement_y);
+Bit_Row::difference_assign(const Bit_Row& x, const Bit_Row& y) {
+  PPL_DIRTY_TEMP(mpz_class, complement_y);
   mpz_com(complement_y.get_mpz_t(), y.vec);
-  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
+  mpz_and(vec, x.vec, complement_y.get_mpz_t());
 }
 
 namespace Implementation {
 
-#if defined(__GNUC__)
-
 /*! \brief
   Assuming \p u is nonzero, returns the index of the first set bit in \p u.
 */
 inline unsigned int
 first_one(unsigned int u) {
-  PPL_ASSERT(u != 0);
-  return __builtin_ctz(u);
+  return ctz(u);
 }
 
 /*! \brief
@@ -17926,8 +39627,7 @@ first_one(unsigned int u) {
 */
 inline unsigned int
 first_one(unsigned long ul) {
-  PPL_ASSERT(ul != 0);
-  return __builtin_ctzl(ul);
+  return ctz(ul);
 }
 
 /*! \brief
@@ -17936,65 +39636,16 @@ first_one(unsigned long ul) {
 */
 inline unsigned int
 first_one(unsigned long long ull) {
-  PPL_ASSERT(ull != 0);
-  return __builtin_ctzll(ull);
-}
-
-#elif PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-*/
-inline unsigned int
-first_one(mp_limb_t w) {
-  return ffs(w)-1;
-}
-
-#else
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-*/
-inline unsigned int
-first_one(mp_limb_t w) {
-  unsigned int r = 0;
-  w = w & -w;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if ((w & 0xffffffff) == 0) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "size of mp_limb_t not supported by first_one(mp_limb_t w)."
-#endif
-  if ((w & 0xffff) == 0) {
-    w >>= 16;
-    r += 16;
-  }
-  if ((w & 0xff) == 0) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0)
-    r += 4;
-  if (w & 0xcc)
-    r += 2;
-  if (w & 0xaa)
-    r += 1;
-  return r;
+  return ctz(ull);
 }
-#endif // !defined(__GNUC__)
-       // && (!PPL_HAVE_DECL_FFS || PPL_SIZEOF_MP_LIMB_T != PPL_SIZEOF_INT)
-
-#if defined(__GNUC__)
 
 /*! \brief
   Assuming \p u is nonzero, returns the index of the last set bit in \p u.
 */
 inline unsigned int
 last_one(unsigned int u) {
-  PPL_ASSERT(u != 0);
-  return sizeof(unsigned int)*CHAR_BIT - 1 - __builtin_clz(u);
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(u)))
+    - 1U - clz(u);
 }
 
 /*! \brief
@@ -18003,8 +39654,8 @@ last_one(unsigned int u) {
 */
 inline unsigned int
 last_one(unsigned long ul) {
-  PPL_ASSERT(ul != 0);
-  return sizeof(unsigned long)*CHAR_BIT - 1 - __builtin_clzl(ul);
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(ul)))
+    - 1U - clz(ul);
 }
 
 /*! \brief
@@ -18013,97 +39664,50 @@ last_one(unsigned long ul) {
 */
 inline unsigned int
 last_one(unsigned long long ull) {
-  PPL_ASSERT(ull != 0);
-  return sizeof(unsigned long long)*CHAR_BIT - 1 - __builtin_clzll(ull);
-}
-
-#else // !defined(__GNUC__)
-
-/*! \brief
-  Assuming \p w is nonzero, returns the index of the last set bit in \p w.
-*/
-inline unsigned int
-last_one(mp_limb_t w) {
-  PPL_ASSERT(w != 0);
-  unsigned int r = 0;
-#if PPL_SIZEOF_MP_LIMB_T == 8
-  if (w &
-#if PPL_SIZEOF_LONG == 8
-      0xffffffff00000000
-#else
-      0xffffffff00000000LL
-#endif
-      ) {
-    w >>= 32;
-    r += 32;
-  }
-#elif PPL_SIZEOF_MP_LIMB_T != 4
-#error "size of mp_limb_t not supported by last_one(mp_limb_t w)."
-#endif
-  if (w & 0xffff0000) {
-    w >>= 16;
-    r += 16;
-  }
-  if (w & 0xff00) {
-    w >>= 8;
-    r += 8;
-  }
-  if (w & 0xf0) {
-    w >>= 4;
-    r += 4;
-  }
-  if (w & 0xc) {
-    w >>= 2;
-    r += 2;
-  }
-  if (w & 0x2)
-    r += 1;
-  return r;
+  return static_cast<unsigned int>(sizeof_to_bits(sizeof(ull)))
+    - 1U - clz(ull);
 }
 
-#endif // !defined(__GNUC__)
-
 } // namespace Implementation
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
+/*! \relates Bit_Row */
 inline void
-swap(Parma_Polyhedra_Library::Bit_Row& x,
-     Parma_Polyhedra_Library::Bit_Row& y) {
-  x.swap(y);
+swap(Bit_Row& x, Bit_Row& y) {
+  x.m_swap(y);
 }
 
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
+/*! \relates Bit_Row */
 inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
+iter_swap(std::vector<Bit_Row>::iterator x,
+          std::vector<Bit_Row>::iterator y) {
   swap(*x, *y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 229. */
+/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 213. */
 
-/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 28. */
+/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 29. */
+
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
+template <typename Row>
 inline memory_size_type
-Linear_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
+Linear_System<Row>::external_memory_in_bytes() const {
+  return rows.external_memory_in_bytes();
 }
 
+template <typename Row>
 inline memory_size_type
-Linear_System::total_memory_in_bytes() const {
+Linear_System<Row>::total_memory_in_bytes() const {
   return sizeof(*this) + external_memory_in_bytes();
 }
 
+template <typename Row>
 inline bool
-Linear_System::is_sorted() const {
+Linear_System<Row>::is_sorted() const {
   // The flag `sorted' does not really reflect the sortedness status
   // of a system (if `sorted' evaluates to `false' nothing is known).
   // This assertion is used to ensure that the system
@@ -18112,2644 +39716,2489 @@ Linear_System::is_sorted() const {
   return sorted;
 }
 
+template <typename Row>
 inline void
-Linear_System::set_sorted(const bool b) {
+Linear_System<Row>::set_sorted(const bool b) {
   sorted = b;
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(Topology topol)
-  : Matrix(),
+Linear_System<Row>::Linear_System(Topology topol, Representation r)
+  : rows(),
+    space_dimension_(0),
     row_topology(topol),
     index_first_pending(0),
-    sorted(true) {
+    sorted(true),
+    representation_(r) {
+
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(Topology topol,
-			     dimension_type n_rows, dimension_type n_columns)
-  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
+Linear_System<Row>::Linear_System(Topology topol,
+                                  dimension_type space_dim,
+                                  Representation r)
+  : rows(),
+    space_dimension_(0),
     row_topology(topol),
-    index_first_pending(n_rows),
-    sorted(true) {
+    index_first_pending(0),
+    sorted(true),
+    representation_(r) {
+  set_space_dimension(space_dim);
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline dimension_type
-Linear_System::first_pending_row() const {
+Linear_System<Row>::first_pending_row() const {
   return index_first_pending;
 }
 
+template <typename Row>
 inline dimension_type
-Linear_System::num_pending_rows() const {
+Linear_System<Row>::num_pending_rows() const {
   PPL_ASSERT(num_rows() >= first_pending_row());
   return num_rows() - first_pending_row();
 }
 
+template <typename Row>
 inline void
-Linear_System::unset_pending_rows() {
+Linear_System<Row>::unset_pending_rows() {
   index_first_pending = num_rows();
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::set_index_first_pending_row(const dimension_type i) {
+Linear_System<Row>::set_index_first_pending_row(const dimension_type i) {
   index_first_pending = i;
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(const Linear_System& y)
-  : Matrix(y),
-    row_topology(y.row_topology) {
+Linear_System<Row>::Linear_System(const Linear_System& y)
+  : rows(y.rows),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    representation_(y.representation_) {
+  // Previously pending rows may violate sortedness.
+  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
   unset_pending_rows();
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline
+Linear_System<Row>::Linear_System(const Linear_System& y, Representation r)
+  : rows(),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    representation_(r) {
+  rows.resize(y.num_rows());
+  for (dimension_type i = 0; i < y.num_rows(); ++i) {
+    // Create the copies with the right representation.
+    Row row(y.rows[i], r);
+    swap(rows[i], row);
+  }
   // Previously pending rows may violate sortedness.
   sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  PPL_ASSERT(num_pending_rows() == 0);
+  unset_pending_rows();
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline
-Linear_System::Linear_System(const Linear_System& y, With_Pending)
-  : Matrix(y),
+Linear_System<Row>::Linear_System(const Linear_System& y, With_Pending)
+  : rows(y.rows),
+    space_dimension_(y.space_dimension_),
     row_topology(y.row_topology),
     index_first_pending(y.index_first_pending),
-    sorted(y.sorted) {
+    sorted(y.sorted),
+    representation_(y.representation_) {
+  PPL_ASSERT(OK());
 }
 
-inline Linear_System&
-Linear_System::operator=(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  unset_pending_rows();
-  // Previously pending rows may violate sortedness.
-  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  PPL_ASSERT(num_pending_rows() == 0);
+template <typename Row>
+inline
+Linear_System<Row>::Linear_System(const Linear_System& y, Representation r,
+                                  With_Pending)
+  : rows(),
+    space_dimension_(y.space_dimension_),
+    row_topology(y.row_topology),
+    index_first_pending(y.index_first_pending),
+    sorted(y.sorted),
+    representation_(r) {
+  rows.resize(y.num_rows());
+  for (dimension_type i = 0; i < y.num_rows(); ++i) {
+    // Create the copies with the right representation.
+    Row row(y.rows[i], r);
+    swap(rows[i], row);
+  }
+  PPL_ASSERT(OK());
+}
+
+template <typename Row>
+inline Linear_System<Row>&
+Linear_System<Row>::operator=(const Linear_System& y) {
+  // NOTE: Pending rows are transformed into non-pending ones.
+  Linear_System<Row> tmp = y;
+  swap(*this, tmp);
   return *this;
 }
 
+template <typename Row>
 inline void
-Linear_System::assign_with_pending(const Linear_System& y) {
-  Matrix::operator=(y);
-  row_topology = y.row_topology;
-  index_first_pending = y.index_first_pending;
-  sorted = y.sorted;
+Linear_System<Row>::assign_with_pending(const Linear_System& y) {
+  Linear_System<Row> tmp(y, With_Pending());
+  swap(*this, tmp);
 }
 
+template <typename Row>
 inline void
-Linear_System::swap(Linear_System& y) {
-  Matrix::swap(y);
-  std::swap(row_topology, y.row_topology);
-  std::swap(index_first_pending, y.index_first_pending);
-  std::swap(sorted, y.sorted);
+Linear_System<Row>::m_swap(Linear_System& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(space_dimension_, y.space_dimension_);
+  swap(row_topology, y.row_topology);
+  swap(index_first_pending, y.index_first_pending);
+  swap(sorted, y.sorted);
+  swap(representation_, y.representation_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::clear() {
-  // Note: do NOT modify the value of `row_topology'.
-  Matrix::clear();
+Linear_System<Row>::clear() {
+  // Note: do NOT modify the value of `row_topology' and `representation'.
+  rows.clear();
   index_first_pending = 0;
   sorted = true;
-}
+  space_dimension_ = 0;
 
-inline void
-Linear_System::resize_no_copy(const dimension_type new_n_rows,
-			      const dimension_type new_n_columns) {
-  Matrix::resize_no_copy(new_n_rows, new_n_columns,
-			 Linear_Row::Flags(row_topology));
-  // Even though `*this' may happen to keep its sortedness, we believe
-  // that checking such a property is not worth the effort.  In fact,
-  // it is very likely that the system will be overwritten as soon as
-  // we return.
-  set_sorted(false);
+  PPL_ASSERT(OK());
 }
 
+template <typename Row>
 inline void
-Linear_System::set_necessarily_closed() {
+Linear_System<Row>::mark_as_necessarily_closed() {
+  PPL_ASSERT(topology() == NOT_NECESSARILY_CLOSED);
   row_topology = NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
+  ++space_dimension_;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].mark_as_necessarily_closed();
 }
 
+template <typename Row>
 inline void
-Linear_System::set_not_necessarily_closed() {
+Linear_System<Row>::mark_as_not_necessarily_closed() {
+  PPL_ASSERT(topology() == NECESSARILY_CLOSED);
+  PPL_ASSERT(space_dimension() > 0);
   row_topology = NOT_NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
-}
-
-inline bool
-Linear_System::is_necessarily_closed() const {
-  return row_topology == NECESSARILY_CLOSED;
-}
-
-inline Linear_Row&
-Linear_System::operator[](const dimension_type k) {
-  return static_cast<Linear_Row&>(Matrix::operator[](k));
-}
-
-inline const Linear_Row&
-Linear_System::operator[](const dimension_type k) const {
-  return static_cast<const Linear_Row&>(Matrix::operator[](k));
-}
-
-inline Topology
-Linear_System::topology() const {
-  return row_topology;
-}
-
-inline dimension_type
-Linear_System::max_space_dimension() {
-  // Column zero holds the inhomogeneous term or the divisor.
-  // In NNC linear systems, the last column holds the coefficient
-  // of the epsilon dimension.
-  return max_num_columns() - 2;
-}
-
-inline dimension_type
-Linear_System::space_dimension() const {
-  const dimension_type n_columns = num_columns();
-  return (n_columns == 0)
-    ? 0
-    : n_columns - (is_necessarily_closed() ? 1 : 2);
-}
-
-inline void
-Linear_System::remove_trailing_columns(const dimension_type n) {
-  Matrix::remove_trailing_columns(n);
-  // Have to re-normalize the rows of the system,
-  // since we removed some coefficients.
-  strong_normalize();
+  --space_dimension_;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].mark_as_not_necessarily_closed();
 }
 
+template <typename Row>
 inline void
-Linear_System::permute_columns(const std::vector<dimension_type>& cycles) {
-  Matrix::permute_columns(cycles);
-  // The rows with permuted columns are still normalized but may
-  // be not strongly normalized: sign normalization is necessary.
-  sign_normalize();
-}
-
-/*! \relates Linear_System */
-inline bool
-operator!=(const Linear_System& x, const Linear_System& y) {
-  return !(x == y);
-}
-
-inline bool
-Linear_System::Row_Less_Than::operator()(const Row& x, const Row& y) const {
-  return compare(static_cast<const Linear_Row&>(x),
-		 static_cast<const Linear_Row&>(y)) < 0;
+Linear_System<Row>::set_topology(Topology t) {
+  if (topology() == t)
+    return;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].set_topology(t);
+  row_topology = t;
+  PPL_ASSERT(OK());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Linear_System */
+template <typename Row>
 inline void
-swap(Parma_Polyhedra_Library::Linear_System& x,
-     Parma_Polyhedra_Library::Linear_System& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 427. */
-
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 34. */
-#include <iterator>
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Constraint_System
-  Writes <CODE>true</CODE> if \p cs is empty.  Otherwise, writes on
-  \p s the constraints of \p cs, all in one row and separated by ", ".
-*/
-std::ostream& operator<<(std::ostream& s, const Constraint_System& cs);
-
-} // namespace IO_Operators
-
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
-
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-void swap(Parma_Polyhedra_Library::Constraint_System& x,
-	  Parma_Polyhedra_Library::Constraint_System& y);
-
-} // namespace std
-
-//! A system of constraints.
-/*! \ingroup PPL_CXX_interface
-    An object of the class Constraint_System is a system of constraints,
-    i.e., a multiset of objects of the class Constraint.
-    When inserting constraints in a system, space dimensions are
-    automatically adjusted so that all the constraints in the system
-    are defined on the same vector space.
-
-    \par
-    In all the examples it is assumed that variables
-    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
-    \code
-  Variable x(0);
-  Variable y(1);
-    \endcode
-
-    \par Example 1
-    The following code builds a system of constraints corresponding to
-    a square in \f$\Rset^2\f$:
-    \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  cs.insert(y >= 0);
-  cs.insert(y <= 3);
-    \endcode
-    Note that:
-    the constraint system is created with space dimension zero;
-    the first and third constraint insertions increase the space
-    dimension to \f$1\f$ and \f$2\f$, respectively.
-
-    \par Example 2
-    By adding four strict inequalities to the constraint system
-    of the previous example, we can remove just the four
-    vertices from the square defined above.
-    \code
-  cs.insert(x + y > 0);
-  cs.insert(x + y < 6);
-  cs.insert(x - y < 3);
-  cs.insert(y - x < 3);
-    \endcode
-
-    \par Example 3
-    The following code builds a system of constraints corresponding to
-    a half-strip in \f$\Rset^2\f$:
-    \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x - y <= 0);
-  cs.insert(x - y + 1 >= 0);
-    \endcode
-
-    \note
-    After inserting a multiset of constraints in a constraint system,
-    there are no guarantees that an <EM>exact</EM> copy of them
-    can be retrieved:
-    in general, only an <EM>equivalent</EM> constraint system
-    will be available, where original constraints may have been
-    reordered, removed (if they are trivial, duplicate or
-    implied by other constraints), linearly combined, etc.
-*/
-class Parma_Polyhedra_Library::Constraint_System : private Linear_System {
-public:
-  //! Default constructor: builds an empty system of constraints.
-  Constraint_System();
-
-  //! Builds the singleton system containing only constraint \p c.
-  explicit Constraint_System(const Constraint& c);
-
-  //! Builds a system containing copies of any equalities in \p cgs.
-  explicit Constraint_System(const Congruence_System& cgs);
-
-  //! Ordinary copy constructor.
-  Constraint_System(const Constraint_System& cs);
-
-  //! Destructor.
-  ~Constraint_System();
-
-  //! Assignment operator.
-  Constraint_System& operator=(const Constraint_System& y);
-
-  //! Returns the maximum space dimension a Constraint_System can handle.
-  static dimension_type max_space_dimension();
-
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more equality constraints.
-  */
-  bool has_equalities() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more strict inequality constraints.
-  */
-  bool has_strict_inequalities() const;
-
-  /*! \brief
-    Removes all the constraints from the constraint system
-    and sets its space dimension to 0.
-  */
-  void clear();
-
-  /*! \brief
-    Inserts in \p *this a copy of the constraint \p c,
-    increasing the number of space dimensions if needed.
-  */
-  void insert(const Constraint& c);
-
-  //! Initializes the class.
-  static void initialize();
-
-  //! Finalizes the class.
-  static void finalize();
-
-  /*! \brief
-    Returns the singleton system containing only Constraint::zero_dim_false().
-  */
-  static const Constraint_System& zero_dim_empty();
-
-  //! An iterator over a system of constraints.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each constraint contained in a Constraint_System object.
-
-    \par Example
-    The following code prints the system of constraints
-    defining the polyhedron <CODE>ph</CODE>:
-    \code
-  const Constraint_System& cs = ph.constraints();
-  for (Constraint_System::const_iterator i = cs.begin(),
-         cs_end = cs.end(); i != cs_end; ++i)
-    cout << *i << endl;
-    \endcode
-  */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Constraint,
-			   ptrdiff_t,
-			   const Constraint*,
-			   const Constraint&> {
-  public:
-    //! Default constructor.
-    const_iterator();
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Destructor.
-    ~const_iterator();
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    const Constraint& operator*() const;
-
-    //! Indirect member selector.
-    const Constraint* operator->() const;
-
-    //! Prefix increment operator.
-    const_iterator& operator++();
-
-    //! Postfix increment operator.
-    const_iterator operator++(int);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-
-  private:
-    friend class Constraint_System;
-
-    //! The const iterator over the matrix of constraints.
-    Linear_System::const_iterator i;
-
-    //! A const pointer to the matrix of constraints.
-    const Linear_System* csp;
-
-    //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Constraint_System& csys);
-
-    //! \p *this skips to the next non-trivial constraint.
-    void skip_forward();
-  };
-
-  //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
-  bool empty() const;
-
-  /*! \brief
-    Returns the const_iterator pointing to the first constraint,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
-
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
-
-  //! Checks if all the invariants are satisfied.
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Constraint.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
-
-  PPL_OUTPUT_DECLARATIONS
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-  //! Swaps \p *this with \p y.
-  void swap(Constraint_System& y);
-
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Constraint::zero_dim_false().
-  */
-  static const Constraint_System* zero_dim_empty_p;
-
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
-
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
-
-  //! Builds an empty system of constraints having the specified topology.
-  explicit Constraint_System(Topology topol);
-
-  /*! \brief
-    Builds a system of \p n_rows constraints on a \p n_columns - 1
-    dimensional space (including the \f$\epsilon\f$ dimension, if
-    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
-  */
-  Constraint_System(Topology topol,
-		    dimension_type n_rows, dimension_type n_columns);
-
-  /*! \brief
-    Adjusts \p *this so that it matches the topology and
-    the number of space dimensions given as parameters
-    (adding or removing columns if needed).
-    Returns <CODE>false</CODE> if and only if \p topol is
-    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
-    contains strict inequalities.
-  */
-  bool adjust_topology_and_space_dimension(Topology topol,
-					   dimension_type num_dimensions);
-
-  //! Returns the \p k- th constraint of the system.
-  Constraint& operator[](dimension_type k);
-
-  //! Returns a constant reference to the \p k- th constraint of the system.
-  const Constraint& operator[](dimension_type k) const;
-
-  //! Returns <CODE>true</CODE> if \p g satisfies all the constraints.
-  bool satisfies_all_constraints(const Generator& g) const;
-
-  //! Substitutes a given column of coefficients by a given affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is substituted.
-
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
-
-    \param denominator
-    The denominator of the affine transformation.
-
-    We want to allow affine transformations
-    (see Section \ref Images_and_Preimages_of_Affine_Transfer_Relations)
-    having any rational coefficients. Since the coefficients of the
-    constraints are integers we must also provide an integer \p
-    denominator that will be used as denominator of the affine
-    transformation.
-    The denominator is required to be a positive integer.
-
-    The affine transformation substitutes the matrix of constraints
-    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
-    the old one \f$a_{ij}\f$ as follows:
-    \f[
-      {a'}_{ij} =
-        \begin{cases}
-          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
-            \quad \text{for } j \neq v; \\
-          \mathrm{expr}[v] * a_{iv}
-            \quad \text{for } j = v.
-        \end{cases}
-    \f]
-
-    \p expr is a constant parameter and unaltered by this computation.
-  */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
-
-  //! Returns the number of equality constraints.
-  dimension_type num_equalities() const;
-
-  //! Returns the number of inequality constraints.
-  dimension_type num_inequalities() const;
-
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of constraints.
-
-    It is assumed that the system has no pending constraints.
-  */
-  void simplify();
-
-  /*! \brief
-    Inserts in \p *this a copy of the constraint \p c,
-    increasing the number of space dimensions if needed.
-    It is a pending constraint.
-  */
-  void insert_pending(const Constraint& c);
-
-  //! Adds low-level constraints to the constraint system.
-  void add_low_level_constraints();
-};
-
-// Constraint_System.inlines.hh is not included here on purpose.
-
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 35. */
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-// Put them in the namespace here to declare them friend later.
-
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Constraint */
-bool
-operator==(const Constraint& x, const Constraint& y);
-
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Constraint */
-bool
-operator!=(const Constraint& x, const Constraint& y);
-
-//! Returns the constraint \p e1 = \p e2.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 = \p v2.
-/*! \relates Constraint */
-Constraint
-operator==(Variable v1, Variable v2);
-
-//! Returns the constraint \p e = \p n.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the constraint \p n = \p e.
-/*! \relates Constraint */
-Constraint
-operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-//! Returns the constraint \p e1 \<= \p e2.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 \<= \p v2.
-/*! \relates Constraint */
-Constraint
-operator<=(Variable v1, Variable v2);
-
-//! Returns the constraint \p e \<= \p n.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the constraint \p n \<= \p e.
-/*! \relates Constraint */
-Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-//! Returns the constraint \p e1 \>= \p e2.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 \>= \p v2.
-/*! \relates Constraint */
-Constraint
-operator>=(Variable v1, Variable v2);
-
-//! Returns the constraint \p e \>= \p n.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-
-//! Returns the constraint \p n \>= \p e.
-/*! \relates Constraint */
-Constraint
-operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
-
-//! Returns the constraint \p e1 \< \p e2.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2);
-
-//! Returns the constraint \p v1 \< \p v2.
-/*! \relates Constraint */
-Constraint
-operator<(Variable v1, Variable v2);
+Linear_System<Row>::set_necessarily_closed() {
+  set_topology(NECESSARILY_CLOSED);
+}
 
-//! Returns the constraint \p e \< \p n.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename Row>
+inline void
+Linear_System<Row>::set_not_necessarily_closed() {
+  set_topology(NOT_NECESSARILY_CLOSED);
+}
 
-//! Returns the constraint \p n \< \p e.
-/*! \relates Constraint */
-Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Row>
+inline bool
+Linear_System<Row>::is_necessarily_closed() const {
+  return row_topology == NECESSARILY_CLOSED;
+}
 
-//! Returns the constraint \p e1 \> \p e2.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+template <typename Row>
+inline const Row&
+Linear_System<Row>::operator[](const dimension_type k) const {
+  return rows[k];
+}
 
-//! Returns the constraint \p v1 \> \p v2.
-/*! \relates Constraint */
-Constraint
-operator>(Variable v1, Variable v2);
+template <typename Row>
+inline typename Linear_System<Row>::iterator
+Linear_System<Row>::begin() {
+  return rows.begin();
+}
 
-//! Returns the constraint \p e \> \p n.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename Row>
+inline typename Linear_System<Row>::iterator
+Linear_System<Row>::end() {
+  return rows.end();
+}
 
-//! Returns the constraint \p n \> \p e.
-/*! \relates Constraint */
-Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Row>
+inline typename Linear_System<Row>::const_iterator
+Linear_System<Row>::begin() const {
+  return rows.begin();
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename Row>
+inline typename Linear_System<Row>::const_iterator
+Linear_System<Row>::end() const {
+  return rows.end();
+}
 
+template <typename Row>
+inline bool
+Linear_System<Row>::has_no_rows() const {
+  return rows.empty();
+}
 
-namespace std {
+template <typename Row>
+inline dimension_type
+Linear_System<Row>::num_rows() const {
+  return rows.size();
+}
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-void swap(Parma_Polyhedra_Library::Constraint& x,
-	  Parma_Polyhedra_Library::Constraint& y);
+template <typename Row>
+inline Topology
+Linear_System<Row>::topology() const {
+  return row_topology;
+}
 
-} // namespace std
+template <typename Row>
+inline Representation
+Linear_System<Row>::representation() const {
+  return representation_;
+}
 
-//! A linear equality or inequality.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Constraint is either:
-  - an equality: \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$;
-  - a non-strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b \geq 0\f$; or
-  - a strict inequality: \f$\sum_{i=0}^{n-1} a_i x_i + b > 0\f$;
+template <typename Row>
+inline void
+Linear_System<Row>::set_representation(Representation r) {
+  representation_ = r;
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].set_representation(r);
+  PPL_ASSERT(OK());
+}
 
-  where \f$n\f$ is the dimension of the space,
-  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$
-  and \f$b\f$ is the integer inhomogeneous term.
+template <typename Row>
+inline dimension_type
+Linear_System<Row>::max_space_dimension() {
+  return Row::max_space_dimension();
+}
 
-  \par How to build a constraint
-  Constraints are typically built by applying a relation symbol
-  to a pair of linear expressions.
-  Available relation symbols are equality (<CODE>==</CODE>),
-  non-strict inequalities (<CODE>\>=</CODE> and <CODE>\<=</CODE>) and
-  strict inequalities (<CODE>\<</CODE> and <CODE>\></CODE>).
-  The space dimension of a constraint is defined as the maximum
-  space dimension of the arguments of its constructor.
+template <typename Row>
+inline dimension_type
+Linear_System<Row>::space_dimension() const {
+  return space_dimension_;
+}
 
-  \par
-  In the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  \endcode
+template <typename Row>
+inline void
+Linear_System<Row>::set_space_dimension_no_ok(dimension_type space_dim) {
+  for (dimension_type i = rows.size(); i-- > 0; )
+    rows[i].set_space_dimension_no_ok(space_dim);
+  space_dimension_ = space_dim;
+}
 
-  \par Example 1
-  The following code builds the equality constraint
-  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
-  \code
-  Constraint eq_c(3*x + 5*y - z == 0);
-  \endcode
-  The following code builds the (non-strict) inequality constraint
-  \f$4x \geq 2y - 13\f$, having space dimension \f$2\f$:
-  \code
-  Constraint ineq_c(4*x >= 2*y - 13);
-  \endcode
-  The corresponding strict inequality constraint
-  \f$4x > 2y - 13\f$ is obtained as follows:
-  \code
-  Constraint strict_ineq_c(4*x > 2*y - 13);
-  \endcode
-  An unsatisfiable constraint on the zero-dimension space \f$\Rset^0\f$
-  can be specified as follows:
-  \code
-  Constraint false_c = Constraint::zero_dim_false();
-  \endcode
-  Equivalent, but more involved ways are the following:
-  \code
-  Constraint false_c1(Linear_Expression::zero() == 1);
-  Constraint false_c2(Linear_Expression::zero() >= 1);
-  Constraint false_c3(Linear_Expression::zero() > 0);
-  \endcode
-  In contrast, the following code defines an unsatisfiable constraint
-  having space dimension \f$3\f$:
-  \code
-  Constraint false_c(0*z == 1);
-  \endcode
+template <typename Row>
+inline void
+Linear_System<Row>::set_space_dimension(dimension_type space_dim) {
+  set_space_dimension_no_ok(space_dim);
+  PPL_ASSERT(OK());
+}
 
-  \par How to inspect a constraint
-  Several methods are provided to examine a constraint and extract
-  all the encoded information: its space dimension, its type
-  (equality, non-strict inequality, strict inequality) and
-  the value of its integer coefficients.
+template <typename Row>
+inline void
+Linear_System<Row>::remove_row_no_ok(const dimension_type i,
+                                     const bool keep_sorted) {
+  PPL_ASSERT(i < num_rows());
+  bool was_pending = (i >= index_first_pending);
 
-  \par Example 2
-  The following code shows how it is possible to access each single
-  coefficient of a constraint. Given an inequality constraint
-  (in this case \f$x - 5y + 3z \leq 4\f$), we construct a new constraint
-  corresponding to its complement (thus, in this case we want to obtain
-  the strict inequality constraint \f$x - 5y + 3z > 4\f$).
-  \code
-  Constraint c1(x - 5*y + 3*z <= 4);
-  cout << "Constraint c1: " << c1 << endl;
-  if (c1.is_equality())
-    cout << "Constraint c1 is not an inequality." << endl;
-  else {
-    Linear_Expression e;
-    for (dimension_type i = c1.space_dimension(); i-- > 0; )
-      e += c1.coefficient(Variable(i)) * Variable(i);
-    e += c1.inhomogeneous_term();
-    Constraint c2 = c1.is_strict_inequality() ? (e <= 0) : (e < 0);
-    cout << "Complement c2: " << c2 << endl;
-  }
-  \endcode
-  The actual output is the following:
-  \code
-  Constraint c1: -A + 5*B - 3*C >= -4
-  Complement c2: A - 5*B + 3*C > 4
-  \endcode
-  Note that, in general, the particular output obtained can be
-  syntactically different from the (semantically equivalent)
-  constraint considered.
-*/
-class Parma_Polyhedra_Library::Constraint : private Linear_Row {
-public:
-  //! Ordinary copy constructor.
-  Constraint(const Constraint& c);
+  if (sorted && keep_sorted && !was_pending) {
+    for (dimension_type j = i + 1; j < rows.size(); ++j)
+      swap(rows[j], rows[j-1]);
+    rows.pop_back();
+  } else {
+    if (!was_pending)
+      sorted = false;
+    bool last_row_is_pending = (num_rows() - 1 >= index_first_pending);
+    if (was_pending == last_row_is_pending)
+      // Either both rows are pending or both rows are not pending.
+      swap(rows[i], rows.back());
+    else {
+      // Pending rows are stored after the non-pending ones.
+      PPL_ASSERT(!was_pending);
+      PPL_ASSERT(last_row_is_pending);
 
-  //! Copy-constructs from equality congruence \p cg.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p cg is a proper congruence.
-  */
-  explicit Constraint(const Congruence& cg);
+      // Swap the row with the last non-pending row.
+      swap(rows[i], rows[index_first_pending - 1]);
 
-  //! Destructor.
-  ~Constraint();
+      // Now the (non-pending) row that has to be deleted is between the
+      // non-pending and the pending rows.
+      swap(rows[i], rows.back());
+    }
+    rows.pop_back();
+  }
+  if (!was_pending)
+    // A non-pending row has been removed.
+    --index_first_pending;
+}
 
-  //! Assignment operator.
-  Constraint& operator=(const Constraint& c);
+template <typename Row>
+inline void
+Linear_System<Row>::remove_row(const dimension_type i, bool keep_sorted) {
+  remove_row_no_ok(i, keep_sorted);
+  PPL_ASSERT(OK());
+}
 
-  //! Returns the maximum space dimension a Constraint can handle.
-  static dimension_type max_space_dimension();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+template <typename Row>
+inline void
+Linear_System<Row>::remove_rows(dimension_type first,
+                                dimension_type last,
+                                bool keep_sorted) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last <= num_rows());
+  const dimension_type n = last - first;
 
-  //! The constraint type.
-  enum Type {
-    /*! The constraint is an equality. */
-    EQUALITY,
-    /*! The constraint is a non-strict inequality. */
-    NONSTRICT_INEQUALITY,
-    /*! The constraint is a strict inequality. */
-    STRICT_INEQUALITY
-  };
+  if (n == 0)
+    return;
 
-  //! Returns the constraint type of \p *this.
-  Type type() const;
+  // All the rows that have to be removed must have the same (pending or
+  // non-pending) status.
+  PPL_ASSERT(first >= index_first_pending || last <= index_first_pending);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is an equality constraint.
-  */
-  bool is_equality() const;
+  bool were_pending = (first >= index_first_pending);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is an inequality constraint (either strict or non-strict).
-  */
-  bool is_inequality() const;
+  // Move the rows in [first,last) at the end of the system.
+  if (sorted && keep_sorted && !were_pending) {
+    // Preserve the row ordering.
+    for (dimension_type i = last; i < rows.size(); ++i)
+      swap(rows[i], rows[i - n]);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a non-strict inequality constraint.
-  */
-  bool is_nonstrict_inequality() const;
+    rows.resize(rows.size() - n);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a strict inequality constraint.
-  */
-  bool is_strict_inequality() const;
+    // `n' non-pending rows have been removed.
+    index_first_pending -= n;
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument thrown if the index of \p v
-    is greater than or equal to the space dimension of \p *this.
-  */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+  // We can ignore the row ordering, but we must not mix pending and
+  // non-pending rows.
 
-  //! Initializes the class.
-  static void initialize();
+  dimension_type offset = rows.size() - n - first;
+  // We want to swap the rows in [first, last) and
+  // [first + offset, last + offset) (note that these intervals may not be
+  // disjunct).
 
-  //! Finalizes the class.
-  static void finalize();
+  if (index_first_pending == num_rows()) {
+    // There are no pending rows.
+    PPL_ASSERT(!were_pending);
 
-  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
-  static const Constraint& zero_dim_false();
+    swap_row_intervals(first, last, offset);
 
-  /*! \brief
-    The true (zero-dimension space) constraint \f$0 \leq 1\f$,
-    also known as <EM>positivity constraint</EM>.
-  */
-  static const Constraint& zero_dim_positivity();
+    rows.resize(rows.size() - n);
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+    // `n' non-pending rows have been removed.
+    index_first_pending -= n;
+  } else {
+    // There are some pending rows in [first + offset, last + offset).
+    if (were_pending) {
+      // Both intervals contain only pending rows, because the second
+      // interval is after the first.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+      swap_row_intervals(first, last, offset);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a tautology (i.e., an always true constraint).
+      rows.resize(rows.size() - n);
 
-    A tautology can have either one of the following forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 = 0\f$; or
-    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
-      where \f$b \geq 0\f$; or
-    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
-      where \f$b > 0\f$.
-  */
-  bool is_tautological() const;
+      // `n' non-pending rows have been removed.
+      index_first_pending -= n;
+    } else {
+      PPL_ASSERT(rows.size() - n < index_first_pending);
+      PPL_ASSERT(rows.size() > index_first_pending);
+      PPL_ASSERT(!were_pending);
+      // In the [size() - n, size()) interval there are some non-pending
+      // rows and some pending ones. Be careful not to mix them.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false constraint).
+      PPL_ASSERT(index_first_pending >= last);
+      swap_row_intervals(first, last, index_first_pending - last);
 
-    An inconsistent constraint can have either one of the following forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b = 0\f$,
-      where \f$b \neq 0\f$; or
-    - a non-strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b \geq 0\f$,
-      where \f$b < 0\f$; or
-    - a strict inequality: \f$\sum_{i=0}^{n-1} 0 x_i + b > 0\f$,
-      where \f$b \leq 0\f$.
-  */
-  bool is_inconsistent() const;
+      // Mark the rows that must be deleted as pending.
+      index_first_pending -= n;
+      first = index_first_pending;
+      last = first + n;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent constraints.
+      // Move them at the end of the system.
+      swap_row_intervals(first, last, num_rows() - last);
 
-    Constraints having different space dimensions are not equivalent.
-    Note that constraints having different types may nonetheless be
-    equivalent, if they both are tautologies or inconsistent.
-  */
-  bool is_equivalent_to(const Constraint& y) const;
+      // Actually remove the rows.
+      rows.resize(rows.size() - n);
+    }
+  }
 
-  PPL_OUTPUT_DECLARATIONS
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+template <typename Row>
+inline void
+Linear_System<Row>::swap_row_intervals(dimension_type first,
+                                       dimension_type last,
+                                       dimension_type offset) {
+  PPL_ASSERT(first <= last);
+  PPL_ASSERT(last + offset <= num_rows());
+#ifndef NDEBUG
+  if (first < last) {
+    bool first_interval_has_pending_rows = (last > index_first_pending);
+    bool second_interval_has_pending_rows = (last + offset > index_first_pending);
+    bool first_interval_has_not_pending_rows = (first < index_first_pending);
+    bool second_interval_has_not_pending_rows = (first + offset < index_first_pending);
+    PPL_ASSERT(first_interval_has_not_pending_rows
+               == !first_interval_has_pending_rows);
+    PPL_ASSERT(second_interval_has_not_pending_rows
+               == !second_interval_has_pending_rows);
+    PPL_ASSERT(first_interval_has_pending_rows
+               == second_interval_has_pending_rows);
+  }
+#endif
+  if (first + offset < last) {
+    // The intervals are not disjunct, make them so.
+    const dimension_type k = last - first - offset;
+    last -= k;
+    offset += k;
+  }
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  if (first == last)
+    // Nothing to do.
+    return;
 
-  //! Swaps \p *this with \p y.
-  void swap(Constraint& y);
+  for (dimension_type i = first; i < last; ++i)
+    swap(rows[i], rows[i + offset]);
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
-  */
-  static const Constraint* zero_dim_false_p;
+  if (first < index_first_pending)
+    // The swaps involved not pending rows, so they may not be sorted anymore.
+    set_sorted(false);
 
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the true (zero-dimension space) constraint \f$0 \leq 1\f$, also
-    known as <EM>positivity constraint</EM>.
-  */
-  static const Constraint* zero_dim_positivity_p;
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the zero-dimension space constraint \f$\epsilon \geq 0\f$.
-  */
-  static const Constraint* epsilon_geq_zero_p;
+template <typename Row>
+inline void
+Linear_System<Row>::remove_rows(const std::vector<dimension_type>& indexes) {
+#ifndef NDEBUG
+  {
+    // Check that `indexes' is sorted.
+    std::vector<dimension_type> sorted_indexes = indexes;
+    std::sort(sorted_indexes.begin(), sorted_indexes.end());
+    PPL_ASSERT(indexes == sorted_indexes);
 
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint* epsilon_leq_one_p;
+    // Check that the last index (if any) is lower than num_rows().
+    // This guarantees that all indexes are in [0, num_rows()).
+    if (!indexes.empty())
+      PPL_ASSERT(indexes.back() < num_rows());
+  }
+#endif
 
-  friend class Parma_Polyhedra_Library::Congruence;
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Constraint_System;
-  friend class Parma_Polyhedra_Library::Constraint_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
+  if (indexes.empty())
+    return;
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Constraint& c);
+  const dimension_type rows_size = rows.size();
+  typedef std::vector<dimension_type>::const_iterator itr_t;
+
+  // `i' and last_unused_row' start with the value `indexes[0]' instead
+  // of `0', because the loop would just increment `last_unused_row' in the
+  // preceding iterations.
+  dimension_type last_unused_row = indexes[0];
+  dimension_type i = indexes[0];
+  itr_t itr = indexes.begin();
+  itr_t itr_end = indexes.end();
+  while (itr != itr_end) {
+    // i <= *itr < rows_size
+    PPL_ASSERT(i < rows_size);
+    if (*itr == i) {
+      // The current row has to be removed, don't increment last_unused_row.
+      ++itr;
+    } else {
+      // The current row must not be removed, swap it after the last used row.
+      swap(rows[last_unused_row], rows[i]);
+      ++last_unused_row;
+    }
+    ++i;
+  }
+
+  // Move up the remaining rows, if any.
+  for ( ; i < rows_size; ++i) {
+    swap(rows[last_unused_row], rows[i]);
+    ++last_unused_row;
+  }
+
+  PPL_ASSERT(last_unused_row == num_rows() - indexes.size());
+
+  // The rows that have to be removed are now at the end of the system, just
+  // remove them.
+  rows.resize(last_unused_row);
+
+  // Adjust index_first_pending.
+  if (indexes[0] >= index_first_pending) {
+    // Removing pending rows only.
+  } else {
+    if (indexes.back() < index_first_pending) {
+      // Removing non-pending rows only.
+      index_first_pending -= indexes.size();
+    } else {
+      // Removing some pending and some non-pending rows, count the
+      // non-pending rows that must be removed.
+      // This exploits the fact that `indexes' is sorted by using binary
+      // search.
+      itr_t j = std::lower_bound(indexes.begin(), indexes.end(),
+                                 index_first_pending);
+      std::iterator_traits<itr_t>::difference_type
+        non_pending = j - indexes.begin();
+      index_first_pending -= static_cast<dimension_type>(non_pending);
+    }
+  }
 
-  //! Default constructor: private and not implemented.
-  Constraint();
+  // NOTE: This method does *not* call set_sorted(false), because it preserves
+  // the relative row ordering.
 
-  /*! \brief
-    Builds a constraint of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
-  */
-  Constraint(Linear_Expression& e, Type type, Topology topology);
+  PPL_ASSERT(OK());
+}
 
-  //! Constructs from a congruence, with specified size and capacity.
-  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
+template <typename Row>
+inline void
+Linear_System<Row>::remove_trailing_rows(const dimension_type n) {
+  PPL_ASSERT(rows.size() >= n);
+  rows.resize(rows.size() - n);
+  if (first_pending_row() > rows.size())
+    index_first_pending = rows.size();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    error message \p message.
-  */
-  void
-  throw_invalid_argument(const char* method, const char* message) const;
+template <typename Row>
+inline void
+Linear_System<Row>
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  for (dimension_type i = num_rows(); i-- > 0; )
+    rows[i].permute_space_dimensions(cycle);
+  sorted = false;
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
-  */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
+template <typename Row>
+inline void
+Linear_System<Row>
+::swap_space_dimensions(Variable v1, Variable v2) {
+  PPL_ASSERT(v1.space_dimension() <= space_dimension());
+  PPL_ASSERT(v2.space_dimension() <= space_dimension());
+  for (dimension_type k = num_rows(); k-- > 0; )
+    rows[k].swap_space_dimensions(v1, v2);
+  sorted = false;
+  PPL_ASSERT(OK());
+}
 
-  friend Constraint
-  operator==(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator==(Variable v1, Variable v2);
-  friend Constraint
-  operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+/*! \relates Linear_System */
+template <typename Row>
+inline bool
+operator!=(const Linear_System<Row>& x, const Linear_System<Row>& y) {
+  return !(x == y);
+}
 
-  friend Constraint
-  operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator>=(Variable v1, Variable v2);
-  friend Constraint
-  operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Row>
+inline bool
+Linear_System<Row>::Row_Less_Than::operator()(const Row& x,
+                                              const Row& y) const {
+  return compare(x, y) < 0;
+}
 
-  friend Constraint
-  operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Row>
+inline
+Linear_System<Row>::Unique_Compare
+::Unique_Compare(const Swapping_Vector<Row>& cont,
+                 dimension_type base)
+  : container(cont), base_index(base) {
+}
 
-  friend Constraint
-  operator>(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator>(Variable v1, Variable v2);
-  friend Constraint
-  operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+template <typename Row>
+inline bool
+Linear_System<Row>::Unique_Compare
+::operator()(dimension_type i, dimension_type j) const {
+  return container[base_index + i].is_equal_to(container[base_index + j]);
+}
 
-  friend Constraint
-  operator<(const Linear_Expression& e1, const Linear_Expression& e2);
-  friend Constraint
-  operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
-  friend Constraint
-  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+/*! \relates Linear_System */
+template <typename Row>
+inline void
+swap(Linear_System<Row>& x, Linear_System<Row>& y) {
+  x.m_swap(y);
+}
 
-  //! Copy constructor with given size.
-  Constraint(const Constraint& c, dimension_type sz);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Builds a new copy of the zero-dimension space constraint
-    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
-  */
-  static Constraint construct_epsilon_geq_zero();
+/* Automatically generated from PPL source file ../src/Linear_System.templates.hh line 1. */
+/* Linear_System class implementation: non-inline template functions.
+*/
 
-  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
-  static const Constraint& epsilon_geq_zero();
 
-  /*! \brief
-    The zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint& epsilon_leq_one();
+/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 1. */
+/* Bit_Matrix class declaration.
+*/
 
-  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
-  void set_is_equality();
 
-  //! Sets the constraint to be an inequality.
-  /*!
-    Whether the constraint type will become <CODE>NONSTRICT_INEQUALITY</CODE>
-    or <CODE>STRICT_INEQUALITY</CODE> depends on the topology and the value
-    of the low-level coefficients of the constraint.
-  */
-  void set_is_inequality();
-};
+/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 30. */
+#include <vector>
+#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates Bit_Matrix */
+void swap(Bit_Matrix& x, Bit_Matrix& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint& c);
+} // namespace Parma_Polyhedra_Library
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A matrix of bits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Bit_Matrix {
+public:
+  //! Default constructor.
+  Bit_Matrix();
 
-} // namespace IO_Operators
+  //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
+  Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
 
-} // namespace Parma_Polyhedra_Library
+  //! Copy constructor.
+  Bit_Matrix(const Bit_Matrix& y);
 
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 1. */
-/* Constraint class implementation: inline functions.
-*/
+  //! Destructor.
+  ~Bit_Matrix();
 
+  //! Assignment operator.
+  Bit_Matrix& operator=(const Bit_Matrix& y);
 
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 28. */
+  //! Swaps \p *this with \p y.
+  void m_swap(Bit_Matrix& y);
 
-namespace Parma_Polyhedra_Library {
+  //! Subscript operator.
+  Bit_Row& operator[](dimension_type k);
 
-inline
-Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
-  PPL_ASSERT(type != STRICT_INEQUALITY || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == EQUALITY
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
-}
+  //! Constant subscript operator.
+  const Bit_Row& operator[](dimension_type k) const;
 
-inline
-Constraint::Constraint(const Constraint& c)
-  : Linear_Row(c) {
-}
+  //! Clears the matrix deallocating all its rows.
+  void clear();
 
-inline
-Constraint::Constraint(const Constraint& c, const dimension_type sz)
-  : Linear_Row(c, sz, sz) {
-}
+  //! Transposes the matrix.
+  void transpose();
 
-inline
-Constraint::~Constraint() {
-}
+  //! Makes \p *this a transposed copy of \p y.
+  void transpose_assign(const Bit_Matrix& y);
 
-inline Constraint&
-Constraint::operator=(const Constraint& c) {
-  Linear_Row::operator=(c);
-  return *this;
-}
+  //! Returns the maximum number of rows of a Bit_Matrix.
+  static dimension_type max_num_rows();
 
-inline dimension_type
-Constraint::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
-}
+  //! Returns the number of columns of \p *this.
+  dimension_type num_columns() const;
 
-inline dimension_type
-Constraint::space_dimension() const {
-  return Linear_Row::space_dimension();
-}
+  //! Returns the number of rows of \p *this.
+  dimension_type num_rows() const;
 
-inline bool
-Constraint::is_equality() const {
-  return is_line_or_equality();
-}
+  //! Sorts the rows and removes duplicates.
+  void sort_rows();
 
-inline bool
-Constraint::is_inequality() const {
-  return is_ray_or_point_or_inequality();
-}
+  //! Looks for \p row in \p *this, which is assumed to be sorted.
+  /*!
+    \return
+    <CODE>true</CODE> if \p row belongs to \p *this, false otherwise.
 
-inline Constraint::Type
-Constraint::type() const {
-  if (is_equality())
-    return EQUALITY;
-  if (is_necessarily_closed())
-    return NONSTRICT_INEQUALITY;
-  else
-    return ((*this)[size() - 1] < 0)
-      ? STRICT_INEQUALITY
-      : NONSTRICT_INEQUALITY;
-}
+    \param row
+    The row that will be searched for in the matrix.
 
-inline bool
-Constraint::is_nonstrict_inequality() const {
-  return type() == NONSTRICT_INEQUALITY;
-}
+    Given a sorted bit matrix (this ensures better efficiency),
+    tells whether it contains the given row.
+  */
+  bool sorted_contains(const Bit_Row& row) const;
 
-inline bool
-Constraint::is_strict_inequality() const {
-  return type() == STRICT_INEQUALITY;
-}
+  //! Adds \p row to \p *this.
+  /*!
+    \param row
+    The row whose implementation will be recycled.
 
-inline void
-Constraint::set_is_equality() {
-  set_is_line_or_equality();
-}
+    The only thing that can be done with \p row upon return is destruction.
+  */
+  void add_recycled_row(Bit_Row& row);
 
-inline void
-Constraint::set_is_inequality() {
-  set_is_ray_or_point_or_inequality();
-}
+  //! Removes the last \p n rows.
+  void remove_trailing_rows(dimension_type n);
 
-inline Coefficient_traits::const_reference
-Constraint::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
-}
+  //! Removes the last \p n columns.
+  /*!
+    The last \p n columns of the matrix are all made of zeros.
+    If such an assumption is not met, the behavior is undefined.
+  */
+  void remove_trailing_columns(dimension_type n);
 
-inline Coefficient_traits::const_reference
-Constraint::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
-}
+  //! Resizes the matrix copying the old contents.
+  void resize(dimension_type new_n_rows, dimension_type new_n_columns);
 
-inline memory_size_type
-Constraint::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-inline memory_size_type
-Constraint::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
-}
+  PPL_OUTPUT_DECLARATIONS
 
-/*! \relates Constraint */
-inline bool
-operator==(const Constraint& x, const Constraint& y) {
-  return x.is_equivalent_to(y);
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-/*! \relates Constraint */
-inline bool
-operator!=(const Constraint& x, const Constraint& y) {
-  return !x.is_equivalent_to(y);
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Variable v1, const Variable v2) {
-  Linear_Expression diff
-    = (v1.space_dimension() < v2.space_dimension()) ? v1-v2 : v2-v1;
-  return Constraint(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-}
+#ifndef NDEBUG
+  //! Checks whether \p *this is sorted. It does NOT check for duplicates.
+  bool check_sorted() const;
+#endif
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff = e1 - e2;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+private:
+  //! Contains the rows of the matrix.
+  std::vector<Bit_Row> rows;
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-}
+  //! Size of the initialized part of each row.
+  dimension_type row_size;
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  const dimension_type e1_dim = e1.space_dimension();
-  const dimension_type e2_dim = e2.space_dimension();
-  if (e1_dim > e2_dim)
-    diff -= Variable(e1_dim);
-  else
-    diff -= Variable(e2_dim);
-  diff += e1;
-  diff -= e2;
+  //! Ordering predicate (used when implementing the sort algorithm).
+  /*! \ingroup PPL_CXX_interface */
+  struct Bit_Row_Less_Than {
+    bool operator()(const Bit_Row& x, const Bit_Row& y) const;
+  };
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
-}
+  template <typename Row>
+  friend class Parma_Polyhedra_Library::Linear_System;
+};
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  diff -= Variable(std::max(v1.space_dimension(), v2.space_dimension()));
-  return Constraint(diff,
-                    Constraint::STRICT_INEQUALITY,
-                    NOT_NECESSARILY_CLOSED);
-}
+namespace Parma_Polyhedra_Library {
 
-/*! \relates Constraint */
-inline Constraint
-operator==(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Bit_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Bit_Matrix& x, const Bit_Matrix& y);
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff = n - e;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
+/*! \relates Bit_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Bit_Matrix& x, const Bit_Matrix& y);
 
-/*! \relates Constraint */
-inline Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
-  diff += n;
-  diff -= e;
+} // namespace Parma_Polyhedra_Library
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
-}
+/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 1. */
+/* Bit_Matrix class implementation: inline functions.
+*/
 
-/*! \relates Constraint */
-inline Constraint
-operator==(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::EQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.strong_normalize();
-  return c;
-}
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff = e - n;
-  Constraint c(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
-  // Enforce normalization.
-  c.normalize();
-  return c;
-}
+#include <algorithm>
+/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 29. */
 
-/*! \relates Constraint */
-inline Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  Linear_Expression diff;
-  // Setting the epsilon coefficient to -1.
-  // NOTE: this also enforces normalization.
-  diff -= Variable(e.space_dimension());
-  diff += e;
-  diff -= n;
+namespace Parma_Polyhedra_Library {
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  c.set_not_necessarily_closed();
-  c.set_is_inequality();
-  return c;
+inline
+Bit_Matrix::Bit_Matrix()
+  : rows(),
+    row_size(0) {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 >= e1;
+inline dimension_type
+Bit_Matrix::max_num_rows() {
+  return std::vector<Bit_Row>().max_size();
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Variable v1, const Variable v2) {
-  return v2 >= v1;
+inline
+Bit_Matrix::Bit_Matrix(const dimension_type n_rows,
+		       const dimension_type n_columns)
+  : rows(n_rows),
+    row_size(n_columns) {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e >= n;
+inline
+Bit_Matrix::Bit_Matrix(const Bit_Matrix& y)
+  : rows(y.rows),
+    row_size(y.row_size) {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n >= e;
+inline
+Bit_Matrix::~Bit_Matrix() {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 > e1;
+inline void
+Bit_Matrix::remove_trailing_rows(const dimension_type n) {
+  // The number of rows to be erased cannot be greater
+  // than the actual number of the rows of the matrix.
+  PPL_ASSERT(n <= rows.size());
+  if (n != 0)
+    rows.resize(rows.size() - n);
+  PPL_ASSERT(OK());
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Variable v1, const Variable v2) {
-  return v2 > v1;
+inline void
+Bit_Matrix::remove_trailing_columns(const dimension_type n) {
+  // The number of columns to be erased cannot be greater
+  // than the actual number of the columns of the matrix.
+  PPL_ASSERT(n <= row_size);
+  row_size -= n;
+  PPL_ASSERT(OK());
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e > n;
+inline void
+Bit_Matrix::m_swap(Bit_Matrix& y) {
+  using std::swap;
+  swap(row_size, y.row_size);
+  swap(rows, y.rows);
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n > e;
+inline Bit_Row&
+Bit_Matrix::operator[](const dimension_type k) {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
 }
 
-inline const Constraint&
-Constraint::zero_dim_false() {
-  PPL_ASSERT(zero_dim_false_p != 0);
-  return *zero_dim_false_p;
+inline const Bit_Row&
+Bit_Matrix::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
 }
 
-inline const Constraint&
-Constraint::zero_dim_positivity() {
-  PPL_ASSERT(zero_dim_positivity_p != 0);
-  return *zero_dim_positivity_p;
+inline dimension_type
+Bit_Matrix::num_columns() const {
+  return row_size;
 }
 
-inline const Constraint&
-Constraint::epsilon_geq_zero() {
-  PPL_ASSERT(epsilon_geq_zero_p != 0);
-  return *epsilon_geq_zero_p;
+inline dimension_type
+Bit_Matrix::num_rows() const {
+  return rows.size();
 }
 
-inline const Constraint&
-Constraint::epsilon_leq_one() {
-  PPL_ASSERT(epsilon_leq_one_p != 0);
-  return *epsilon_leq_one_p;
+inline void
+Bit_Matrix::clear() {
+  // Clear `rows' and minimize its capacity.
+  std::vector<Bit_Row> tmp;
+  using std::swap;
+  swap(tmp, rows);
+  row_size = 0;
 }
 
-inline void
-Constraint::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+inline memory_size_type
+Bit_Matrix::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
 inline bool
-Constraint::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+Bit_Matrix::Bit_Row_Less_Than::
+operator()(const Bit_Row& x, const Bit_Row& y) const {
+  return compare(x, y) < 0;
 }
 
-inline void
-Constraint::swap(Constraint& y) {
-  Linear_Row::swap(y);
+inline bool
+Bit_Matrix::sorted_contains(const Bit_Row& row) const {
+  PPL_ASSERT(check_sorted());
+  return std::binary_search(rows.begin(), rows.end(), row,
+			    Bit_Row_Less_Than());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
+/*! \relates Bit_Matrix */
+inline bool
+operator!=(const Bit_Matrix& x, const Bit_Matrix& y) {
+  return !(x == y);
+}
 
-/*! \relates Parma_Polyhedra_Library::Constraint */
+/*! \relates Bit_Matrix */
 inline void
-swap(Parma_Polyhedra_Library::Constraint& x,
-     Parma_Polyhedra_Library::Constraint& y) {
-  x.swap(y);
+swap(Bit_Matrix& x, Bit_Matrix& y) {
+  x.m_swap(y);
 }
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 563. */
+/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 186. */
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1. */
-/* Generator class declaration.
+/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 1. */
+/* Scalar_Products class definition.
 */
 
 
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 1. */
-/* Generator_System class declaration.
-*/
-
+/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 34. */
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 1. */
-/* Poly_Con_Relation class declaration.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A class implementing various scalar product functions.
+/*! \ingroup PPL_CXX_interface
+  When computing the scalar product of (Linear_Expression or Constraint or
+  Generator) objects <CODE>x</CODE> and <CODE>y</CODE>, it is assumed
+  that the space dimension of the first object <CODE>x</CODE> is less
+  than or equal to the space dimension of the second object <CODE>y</CODE>.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Scalar_Products {
+public:
+  //! Computes the scalar product of \p x and \p y and assigns it to \p z.
+  static void assign(Coefficient& z,
+                     const Linear_Expression& x, const Linear_Expression& y);
 
+  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
+  static void assign(Coefficient& z, const Constraint& c, const Generator& g);
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Poly_Con_Relation;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 29. */
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-// Put them in the namespace here to declare them friend later.
-
-//! True if and only if \p x and \p y are logically equivalent.
-/*! \relates Poly_Con_Relation */
-bool operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
-
-//! True if and only if \p x and \p y are not logically equivalent.
-/*! \relates Poly_Con_Relation */
-bool operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
-
-//! Yields the logical conjunction of \p x and \p y.
-/*! \relates Poly_Con_Relation */
-Poly_Con_Relation operator&&(const Poly_Con_Relation& x,
-			     const Poly_Con_Relation& y);
-
-/*! \brief
-  Yields the assertion with all the conjuncts of \p x
-  that are not in \p y.
-
-  \relates Poly_Con_Relation
-*/
-Poly_Con_Relation operator-(const Poly_Con_Relation& x,
-			    const Poly_Con_Relation& y);
-
-namespace IO_Operators {
+  //! Computes the scalar product of \p g and \p c and assigns it to \p z.
+  static void assign(Coefficient& z, const Generator& g, const Constraint& c);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
-std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
+  //! Computes the scalar product of \p c and \p g and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Constraint& c, const Grid_Generator& gg);
 
-} // namespace IO_Operators
+  //! Computes the scalar product of \p g and \p cg and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Grid_Generator& gg, const Congruence& cg);
 
-} // namespace Parma_Polyhedra_Library
+  //! Computes the scalar product of \p cg and \p g and assigns it to \p z.
+  static void assign(Coefficient& z,
+		     const Congruence& cg, const Grid_Generator& gg);
 
+  //! Returns the sign of the scalar product between \p x and \p y.
+  static int sign(const Linear_Expression& x, const Linear_Expression& y);
 
-//! The relation between a polyhedron and a constraint.
-/*! \ingroup PPL_CXX_interface
-  This class implements conjunctions of assertions on the relation
-  between a polyhedron and a constraint.
-*/
-class Parma_Polyhedra_Library::Poly_Con_Relation {
-private:
-  //! Poly_Con_Relation is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  //! Returns the sign of the scalar product between \p c and \p g.
+  static int sign(const Constraint& c, const Generator& g);
 
-  //! \name Bit-masks for the individual assertions
-  //@{
-  static const flags_t NOTHING             = 0U;
-  static const flags_t IS_DISJOINT         = 1U << 0;
-  static const flags_t STRICTLY_INTERSECTS = 1U << 1;
-  static const flags_t IS_INCLUDED         = 1U << 2;
-  static const flags_t SATURATES           = 1U << 3;
-  //@} // Bit-masks for the individual assertions
+  //! Returns the sign of the scalar product between \p g and \p c.
+  static int sign(const Generator& g, const Constraint& c);
 
-  //! All assertions together.
-  static const flags_t EVERYTHING
-  = IS_DISJOINT
-  | STRICTLY_INTERSECTS
-  | IS_INCLUDED
-  | SATURATES;
+  //! Returns the sign of the scalar product between \p c and \p g.
+  static int sign(const Constraint& c, const Grid_Generator& g);
 
-  //! This holds the current bitset.
-  flags_t flags;
+  /*! \brief
+    Computes the \e reduced scalar product of \p x and \p y,
+    where the \f$\epsilon\f$ coefficient of \p x is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Linear_Expression& x,
+                             const Linear_Expression& y);
 
-  //! True if and only if the conjunction \p x implies the conjunction \p y.
-  static bool implies(flags_t x, flags_t y);
+  /*! \brief
+    Computes the \e reduced scalar product of \p c and \p g,
+    where the \f$\epsilon\f$ coefficient of \p c is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Constraint& c, const Generator& g);
 
-  //! Construct from a bit-mask.
-  Poly_Con_Relation(flags_t mask);
+  /*! \brief
+    Computes the \e reduced scalar product of \p g and \p c,
+    where the \f$\epsilon\f$ coefficient of \p g is ignored,
+    and assigns the result to \p z.
+  */
+  static void reduced_assign(Coefficient& z,
+			     const Generator& g, const Constraint& c);
 
-  friend bool
-  operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
-  friend bool
-  operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+  //! \brief
+  //! Computes the \e reduced scalar product of \p g and \p cg,
+  //! where the \f$\epsilon\f$ coefficient of \p g is ignored,
+  //! and assigns the result to \p z.
+  static void reduced_assign(Coefficient& z,
+			     const Grid_Generator& gg, const Congruence& cg);
 
-  friend Poly_Con_Relation
-  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p x and \p y,
+    where the \f$\epsilon\f$ coefficient of \p x is ignored.
+  */
+  static int reduced_sign(const Linear_Expression& x,
+                          const Linear_Expression& y);
 
-  friend Poly_Con_Relation
-  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p c and \p g,
+    where the \f$\epsilon\f$ coefficient of \p c is ignored.
+  */
+  static int reduced_sign(const Constraint& c, const Generator& g);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::
-  IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r);
+  /*! \brief
+    Returns the sign of the \e reduced scalar product of \p g and \p c,
+    where the \f$\epsilon\f$ coefficient of \p g is ignored.
+  */
+  static int reduced_sign(const Generator& g, const Constraint& c);
 
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Access the internal flags: this is needed for some language
-    interfaces.
+    Computes the \e homogeneous scalar product of \p x and \p y,
+    where the inhomogeneous terms are ignored,
+    and assigns the result to \p z.
   */
-#endif
-  flags_t get_flags() const;
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Expression& x,
+                                 const Linear_Expression& y);
+  /*! \brief
+    Computes the \e homogeneous scalar product of \p e and \p g,
+    where the inhomogeneous terms are ignored,
+    and assigns the result to \p z.
+  */
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Expression& e,
+				 const Generator& g);
 
-public:
-  //! The assertion that says nothing.
-  static Poly_Con_Relation nothing();
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p gg and \p c,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Grid_Generator& gg,
+                                 const Constraint& c);
+
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p g and \p cg,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Grid_Generator& gg,
+                                 const Congruence& cg);
+
+  //! \brief
+  //! Computes the \e homogeneous scalar product of \p e and \p g,
+  //! where the inhomogeneous terms are ignored,
+  //! and assigns the result to \p z.
+  static void homogeneous_assign(Coefficient& z,
+				 const Linear_Expression& e,
+				 const Grid_Generator& g);
 
   /*! \brief
-    The polyhedron and the set of points satisfying
-    the constraint are disjoint.
+    Returns the sign of the \e homogeneous scalar product of \p x and \p y,
+    where the inhomogeneous terms are ignored.
   */
-  static Poly_Con_Relation is_disjoint();
+  static int homogeneous_sign(const Linear_Expression& x,
+                              const Linear_Expression& y);
 
   /*! \brief
-    The polyhedron intersects the set of points satisfying
-    the constraint, but it is not included in it.
+    Returns the sign of the \e homogeneous scalar product of \p e and \p g,
+    where the inhomogeneous terms are ignored.
   */
-  static Poly_Con_Relation strictly_intersects();
+  static int homogeneous_sign(const Linear_Expression& e, const Generator& g);
 
-  /*! \brief
-    The polyhedron is included in the set of points satisfying
-    the constraint.
-  */
-  static Poly_Con_Relation is_included();
+  //! \brief
+  //! Returns the sign of the \e homogeneous scalar product of \p e and \p g,
+  //! where the inhomogeneous terms are ignored,
+  static int homogeneous_sign(const Linear_Expression& e,
+			      const Grid_Generator& g);
 
-  /*! \brief
-    The polyhedron is included in the set of points saturating
-    the constraint.
-  */
-  static Poly_Con_Relation saturates();
+  //! \brief
+  //! Returns the sign of the \e homogeneous scalar product of \p g and \p c,
+  //! where the inhomogeneous terms are ignored,
+  static int homogeneous_sign(const Grid_Generator& g, const Constraint& c);
+};
 
-  PPL_OUTPUT_DECLARATIONS
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Scalar product sign function object depending on topology.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign {
+public:
+  //! Constructs the function object according to the topology of \p c.
+  Topology_Adjusted_Scalar_Product_Sign(const Constraint& c);
 
-  //! True if and only if \p *this implies \p y.
-  bool implies(const Poly_Con_Relation& y) const;
+  //! Constructs the function object according to the topology of \p g.
+  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Computes the (topology adjusted) scalar product sign of \p c and \p g.
+  int operator()(const Constraint&, const Generator&) const;
+
+  //! Computes the (topology adjusted) scalar product sign of \p g and \p c.
+  int operator()(const Generator&, const Constraint&) const;
+
+private:
+  //! The type of the scalar product sign function pointer.
+  typedef int (*SPS_type)(const Linear_Expression&, const Linear_Expression&);
+
+  //! The scalar product sign function pointer.
+  SPS_type sps_fp;
 };
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.inlines.hh line 1. */
-/* Poly_Con_Relation class implementation: inline functions.
+// NOTE: Scalar_Products.inlines.hh is NOT included here, to avoid cyclic
+// include dependencies.
+
+/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 1. */
+/* Scalar_Products class implementation (inline functions).
 */
 
 
+/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 32. */
+
 namespace Parma_Polyhedra_Library {
 
-inline
-Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
-  : flags(mask) {
+inline int
+Scalar_Products::sign(const Linear_Expression& x, const Linear_Expression& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  assign(z, x, y);
+  return sgn(z);
 }
 
-inline Poly_Con_Relation::flags_t
-Poly_Con_Relation::get_flags() const {
-  return flags;
+inline int
+Scalar_Products::reduced_sign(const Linear_Expression& x,
+                              const Linear_Expression& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  reduced_assign(z, x, y);
+  return sgn(z);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::nothing() {
-  return Poly_Con_Relation(NOTHING);
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Expression& x,
+                                  const Linear_Expression& y) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  homogeneous_assign(z, x, y);
+  return sgn(z);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::is_disjoint() {
-  return Poly_Con_Relation(IS_DISJOINT);
+inline int
+Scalar_Products::sign(const Constraint& c, const Generator& g) {
+  return sign(c.expr, g.expr);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::strictly_intersects() {
-  return Poly_Con_Relation(STRICTLY_INTERSECTS);
+inline int
+Scalar_Products::sign(const Generator& g, const Constraint& c) {
+  return sign(g.expr, c.expr);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::is_included() {
-  return Poly_Con_Relation(IS_INCLUDED);
+inline int
+Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  assign(z, c, g);
+  return sgn(z);
 }
 
-inline Poly_Con_Relation
-Poly_Con_Relation::saturates() {
-  return Poly_Con_Relation(SATURATES);
+inline int
+Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) {
+  // The reduced scalar product is only defined if the topology of `c' is
+  // NNC.
+  PPL_ASSERT(!c.is_necessarily_closed());
+  return reduced_sign(c.expr, g.expr);
 }
 
-inline bool
-Poly_Con_Relation::implies(flags_t x, flags_t y) {
-  return (x & y) == y;
+inline int
+Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) {
+  // The reduced scalar product is only defined if the topology of `g' is
+  // NNC.
+  PPL_ASSERT(!c.is_necessarily_closed());
+  return reduced_sign(g.expr, c.expr);
 }
 
-inline bool
-Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
-  return implies(flags, y.flags);
+inline void
+Scalar_Products::homogeneous_assign(Coefficient& z,
+				    const Linear_Expression& e,
+				    const Generator& g) {
+  homogeneous_assign(z, e, g.expr);
 }
 
-/*! \relates Poly_Con_Relation */
-inline bool
-operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags == y.flags;
+inline void
+Scalar_Products::homogeneous_assign(Coefficient& z,
+				    const Linear_Expression& e,
+				    const Grid_Generator& g) {
+  homogeneous_assign(z, e, g.expr);
 }
 
-/*! \relates Poly_Con_Relation */
-inline bool
-operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags != y.flags;
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Expression& e,
+				  const Generator& g) {
+  return homogeneous_sign(e, g.expr);
 }
 
-/*! \relates Poly_Con_Relation */
-inline Poly_Con_Relation
-operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return Poly_Con_Relation(x.flags | y.flags);
+inline int
+Scalar_Products::homogeneous_sign(const Linear_Expression& e,
+				  const Grid_Generator& g) {
+  return homogeneous_sign(e, g.expr);
 }
 
-/*! \relates Poly_Con_Relation */
-inline Poly_Con_Relation
-operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return Poly_Con_Relation(x.flags & ~y.flags);
+inline int
+Scalar_Products::homogeneous_sign(const Grid_Generator& g,
+				  const Constraint& c) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  homogeneous_assign(z, g, c);
+  return sgn(z);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 165. */
-
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 35. */
-#include <iosfwd>
+inline
+Topology_Adjusted_Scalar_Product_Sign
+::Topology_Adjusted_Scalar_Product_Sign(const Constraint& c)
+  : sps_fp(c.is_necessarily_closed()
+	   ? static_cast<SPS_type>(&Scalar_Products::sign)
+	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Topology_Adjusted_Scalar_Product_Sign
+::Topology_Adjusted_Scalar_Product_Sign(const Generator& g)
+  : sps_fp(g.is_necessarily_closed()
+	   ? static_cast<SPS_type>(&Scalar_Products::sign)
+	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
+}
 
-namespace IO_Operators {
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
+						  const Generator& g) const {
+  PPL_ASSERT(c.space_dimension() <= g.space_dimension());
+  PPL_ASSERT(sps_fp == (c.is_necessarily_closed()
+		    ? static_cast<SPS_type>(&Scalar_Products::sign)
+		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
+  return sps_fp(c.expr, g.expr);
+}
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Generator_System
-  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
-  \p s the generators of \p gs, all in one row and separated by ", ".
-*/
-std::ostream& operator<<(std::ostream& s, const Generator_System& gs);
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
+						  const Constraint& c) const {
+  PPL_ASSERT(g.space_dimension() <= c.space_dimension());
+  PPL_ASSERT(sps_fp == (g.is_necessarily_closed()
+		    ? static_cast<SPS_type>(&Scalar_Products::sign)
+		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
+  return sps_fp(g.expr, c.expr);
+}
 
-} // namespace IO_Operators
+} // namespace Parma_Polyhedra_Library
 
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
+/* Automatically generated from PPL source file ../src/Linear_System.templates.hh line 31. */
+#include <algorithm>
+#include <iostream>
+#include <string>
+#include <deque>
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/swapping_sort.templates.hh line 1. */
+/* Sorting objects for which copies cost more than swaps.
+*/
 
 
-namespace std {
+#include <vector>
+#include <algorithm>
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator_System */
-void swap(Parma_Polyhedra_Library::Generator_System& x,
-	  Parma_Polyhedra_Library::Generator_System& y);
+namespace Parma_Polyhedra_Library {
 
-} // namespace std
+namespace Implementation {
 
-//! A system of generators.
-/*! \ingroup PPL_CXX_interface
-    An object of the class Generator_System is a system of generators,
-    i.e., a multiset of objects of the class Generator
-    (lines, rays, points and closure points).
-    When inserting generators in a system, space dimensions are automatically
-    adjusted so that all the generators in the system are defined
-    on the same vector space.
-    A system of generators which is meant to define a non-empty
-    polyhedron must include at least one point: the reason is that
-    lines, rays and closure points need a supporting point
-    (lines and rays only specify directions while closure points only
-    specify points in the topological closure of the NNC polyhedron).
+template <typename RA_Container, typename Compare>
+struct Indirect_Sort_Compare {
+  typedef typename RA_Container::size_type size_type;
 
-    \par
-     In all the examples it is assumed that variables
-    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
-    \code
-  Variable x(0);
-  Variable y(1);
-    \endcode
+  Indirect_Sort_Compare(const RA_Container& cont,
+                        size_type base = 0,
+                        Compare comp = Compare())
+    : container(cont), base_index(base), compare(comp) {
+  }
 
-    \par Example 1
-    The following code defines the line having the same direction
-    as the \f$x\f$ axis (i.e., the first Cartesian axis)
-    in \f$\Rset^2\f$:
-    \code
-  Generator_System gs;
-  gs.insert(line(x + 0*y));
-    \endcode
-    As said above, this system of generators corresponds to
-    an empty polyhedron, because the line has no supporting point.
-    To define a system of generators that does correspond to
-    the \f$x\f$ axis, we can add the following code which
-    inserts the origin of the space as a point:
-    \code
-  gs.insert(point(0*x + 0*y));
-    \endcode
-    Since space dimensions are automatically adjusted, the following
-    code obtains the same effect:
-    \code
-  gs.insert(point(0*x));
-    \endcode
-    In contrast, if we had added the following code, we would have
-    defined a line parallel to the \f$x\f$ axis through
-    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
-    \code
-  gs.insert(point(0*x + 1*y));
-    \endcode
+  bool operator()(size_type i, size_type j) const {
+    return compare(container[base_index + i], container[base_index + j]);
+  }
 
-    \par Example 2
-    The following code builds a ray having the same direction as
-    the positive part of the \f$x\f$ axis in \f$\Rset^2\f$:
-    \code
-  Generator_System gs;
-  gs.insert(ray(x + 0*y));
-    \endcode
-    To define a system of generators indeed corresponding to the set
-    \f[
-      \bigl\{\,
-        (x, 0)^\transpose \in \Rset^2
-      \bigm|
-        x \geq 0
-      \,\bigr\},
-    \f]
-    one just has to add the origin:
-    \code
-  gs.insert(point(0*x + 0*y));
-    \endcode
+  const RA_Container& container;
+  const size_type base_index;
+  const Compare compare;
+}; // struct Indirect_Sort_Compare
 
-    \par Example 3
-    The following code builds a system of generators having four points
-    and corresponding to a square in \f$\Rset^2\f$
-    (the same as Example 1 for the system of constraints):
-    \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + 3*y));
-  gs.insert(point(3*x + 0*y));
-  gs.insert(point(3*x + 3*y));
-    \endcode
+template <typename RA_Container>
+struct Indirect_Unique_Compare {
+  typedef typename RA_Container::size_type size_type;
 
-    \par Example 4
-    By using closure points, we can define the \e kernel
-    (i.e., the largest open set included in a given set)
-    of the square defined in the previous example.
-    Note that a supporting point is needed and, for that purpose,
-    any inner point could be considered.
-    \code
-  Generator_System gs;
-  gs.insert(point(x + y));
-  gs.insert(closure_point(0*x + 0*y));
-  gs.insert(closure_point(0*x + 3*y));
-  gs.insert(closure_point(3*x + 0*y));
-  gs.insert(closure_point(3*x + 3*y));
-    \endcode
+  Indirect_Unique_Compare(const RA_Container& cont, size_type base = 0)
+    : container(cont), base_index(base) {
+  }
 
-    \par Example 5
-    The following code builds a system of generators having two points
-    and a ray, corresponding to a half-strip in \f$\Rset^2\f$
-    (the same as Example 2 for the system of constraints):
-    \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + 1*y));
-  gs.insert(ray(x - y));
-    \endcode
+  bool operator()(size_type i, size_type j) const {
+    return container[base_index + i] == container[base_index + j];
+  }
 
-    \note
-    After inserting a multiset of generators in a generator system,
-    there are no guarantees that an <EM>exact</EM> copy of them
-    can be retrieved:
-    in general, only an <EM>equivalent</EM> generator system
-    will be available, where original generators may have been
-    reordered, removed (if they are duplicate or redundant), etc.
-*/
-class Parma_Polyhedra_Library::Generator_System : protected Linear_System {
-public:
-  //! Default constructor: builds an empty system of generators.
-  Generator_System();
+  const RA_Container& container;
+  const size_type base_index;
+}; // struct Indirect_Unique_Compare
 
-  //! Builds the singleton system containing only generator \p g.
-  explicit Generator_System(const Generator& g);
+template <typename RA_Container>
+struct Indirect_Swapper {
+  typedef typename RA_Container::size_type size_type;
 
-  //! Ordinary copy constructor.
-  Generator_System(const Generator_System& gs);
+  Indirect_Swapper(RA_Container& cont, size_type base = 0)
+    : container(cont), base_index(base) {
+  }
 
-  //! Destructor.
-  ~Generator_System();
+  void operator()(size_type i, size_type j) const {
+    using std::swap;
+    swap(container[base_index + i], container[base_index + j]);
+  }
 
-  //! Assignment operator.
-  Generator_System& operator=(const Generator_System& y);
+  RA_Container& container;
+  const size_type base_index;
+}; // struct Indirect_Swapper
 
-  //! Returns the maximum space dimension a Generator_System can handle.
-  static dimension_type max_space_dimension();
+template <typename RA_Container1, typename RA_Container2>
+struct Indirect_Swapper2 {
+  typedef typename RA_Container1::size_type size_type;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  Indirect_Swapper2(RA_Container1& cont1, RA_Container2& cont2)
+    : container1(cont1), container2(cont2) {
+  }
 
-  /*! \brief
-    Removes all the generators from the generator system
-    and sets its space dimension to 0.
-  */
-  void clear();
+  void operator()(size_type i, size_type j) const {
+    using std::swap;
+    swap(container1[i], container1[j]);
+    swap(container2[i], container2[j]);
+  }
 
-  /*! \brief
-    Inserts in \p *this a copy of the generator \p g,
-    increasing the number of space dimensions if needed.
-  */
-  void insert(const Generator& g);
+  RA_Container1& container1;
+  RA_Container2& container2;
+}; // struct Indirect_Swapper2
 
-  //! Initializes the class.
-  static void initialize();
+template <typename Sort_Comparer, typename Unique_Comparer, typename Swapper>
+typename Sort_Comparer::size_type
+indirect_sort_and_unique(typename Sort_Comparer::size_type num_elems,
+                         Sort_Comparer sort_cmp,
+                         Unique_Comparer unique_cmp,
+                         Swapper indirect_swap) {
+  typedef typename Sort_Comparer::size_type index_type;
+  // `iv' is a vector of indices for the portion of rows to be sorted.
+  PPL_ASSERT(num_elems >= 2);
+  std::vector<index_type> iv;
+  iv.reserve(num_elems);
+  for (index_type i = 0, i_end = num_elems; i != i_end; ++i)
+    iv.push_back(i);
 
-  //! Finalizes the class.
-  static void finalize();
+  typedef typename std::vector<index_type>::iterator Iter;
+  const Iter iv_begin = iv.begin();
+  Iter iv_end = iv.end();
 
-  /*! \brief
-    Returns the singleton system containing only Generator::zero_dim_point().
-  */
-  static const Generator_System& zero_dim_univ();
+  // Sort `iv' by comparing the rows indexed by its elements.
+  std::sort(iv_begin, iv_end, sort_cmp);
 
-  //! An iterator over a system of generators
-  /*! \ingroup PPL_CXX_interface
-      A const_iterator is used to provide read-only access
-      to each generator contained in an object of Generator_System.
-
-      \par Example
-      The following code prints the system of generators
-      of the polyhedron <CODE>ph</CODE>:
-      \code
-  const Generator_System& gs = ph.generators();
-  for (Generator_System::const_iterator i = gs.begin(),
-         gs_end = gs.end(); i != gs_end; ++i)
-    cout << *i << endl;
-      \endcode
-      The same effect can be obtained more concisely by using
-      more features of the STL:
-      \code
-  const Generator_System& gs = ph.generators();
-  copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
-      \endcode
-  */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Generator,
-			   ptrdiff_t,
-			   const Generator*,
-			   const Generator&> {
-  public:
-    //! Default constructor.
-    const_iterator();
+  // Swap the indexed rows according to `iv':
+  // for each index `i', the element that should be placed in
+  // position dst = i is the one placed in position src = iv[i].
+  for (index_type i = num_elems; i-- > 0; ) {
+    if (i != iv[i]) {
+      index_type dst = i;
+      index_type src = iv[i];
+      do {
+        indirect_swap(src, dst);
+        iv[dst] = dst;
+        dst = src;
+        src = iv[dst];
+      } while (i != src);
+      iv[dst] = dst;
+    }
+  }
 
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
+  // Restore `iv' indices to 0 .. num_elems-1 for the call to unique.
+  for (index_type i = num_elems; i-- > 0; )
+    iv[i] = i;
 
-    //! Destructor.
-    ~const_iterator();
+  // Unique `iv' by comparing the rows indexed by its elements.
+  iv_end = std::unique(iv_begin, iv_end, unique_cmp);
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+  const index_type num_sorted = static_cast<index_type>(iv_end - iv_begin);
+  const index_type num_duplicates = num_elems - num_sorted;
+  if (num_duplicates == 0)
+    return 0;
 
-    //! Dereference operator.
-    const Generator& operator*() const;
+  // There were duplicates: swap the rows according to `iv'.
+  index_type dst = 0;
+  while (dst < num_sorted && dst == iv[dst])
+    ++dst;
+  if (dst == num_sorted)
+    return num_duplicates;
+  do {
+    const index_type src = iv[dst];
+    indirect_swap(src, dst);
+    ++dst;
+  }
+  while (dst < num_sorted);
+  return num_duplicates;
+}
 
-    //! Indirect member selector.
-    const Generator* operator->() const;
+template <typename Iter>
+Iter
+swapping_unique(Iter first, Iter last) {
+  return swapping_unique(first, last, std::iter_swap<Iter, Iter>);
+}
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+} // namespace Implementation
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+} // namespace Parma_Polyhedra_Library
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
+/* Automatically generated from PPL source file ../src/Linear_System.templates.hh line 37. */
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
+namespace Parma_Polyhedra_Library {
 
-  private:
-    friend class Generator_System;
+template <typename Row>
+dimension_type
+Linear_System<Row>::num_lines_or_equalities() const {
+  PPL_ASSERT(num_pending_rows() == 0);
+  const Linear_System& x = *this;
+  dimension_type n = 0;
+  for (dimension_type i = num_rows(); i-- > 0; )
+    if (x[i].is_line_or_equality())
+      ++n;
+  return n;
+}
 
-    //! The const iterator over the Linear_System.
-    Linear_System::const_iterator i;
+template <typename Row>
+void
+Linear_System<Row>::merge_rows_assign(const Linear_System& y) {
+  PPL_ASSERT(space_dimension() >= y.space_dimension());
+  // Both systems have to be sorted and have no pending rows.
+  PPL_ASSERT(check_sorted() && y.check_sorted());
+  PPL_ASSERT(num_pending_rows() == 0 && y.num_pending_rows() == 0);
+
+  Linear_System& x = *this;
+
+  // A temporary vector...
+  Swapping_Vector<Row> tmp;
+  // ... with enough capacity not to require any reallocations.
+  tmp.reserve(compute_capacity(x.rows.size() + y.rows.size(),
+                               tmp.max_num_rows()));
+
+  dimension_type xi = 0;
+  dimension_type x_num_rows = x.num_rows();
+  dimension_type yi = 0;
+  dimension_type y_num_rows = y.num_rows();
+
+  while (xi < x_num_rows && yi < y_num_rows) {
+    const int comp = compare(x[xi], y[yi]);
+    if (comp <= 0) {
+      // Elements that can be taken from `x' are actually _stolen_ from `x'
+      tmp.resize(tmp.size() + 1);
+      swap(tmp.back(), x.rows[xi++]);
+      tmp.back().set_representation(representation());
+      if (comp == 0)
+	// A duplicate element.
+	++yi;
+    }
+    else {
+      // (comp > 0)
+      tmp.resize(tmp.size() + 1);
+      Row copy(y[yi++], space_dimension(), representation());
+      swap(tmp.back(), copy);
+    }
+  }
+  // Insert what is left.
+  if (xi < x_num_rows)
+    while (xi < x_num_rows) {
+      tmp.resize(tmp.size() + 1);
+      swap(tmp.back(), x.rows[xi++]);
+      tmp.back().set_representation(representation());
+    }
+  else
+    while (yi < y_num_rows) {
+      tmp.resize(tmp.size() + 1);
+      Row copy(y[yi++], space_dimension(), representation());
+      swap(tmp.back(), copy);
+    }
 
-    //! A const pointer to the Linear_System.
-    const Linear_System* gsp;
+  // We get the result matrix and let the old one be destroyed.
+  swap(tmp, rows);
+  // There are no pending rows.
+  unset_pending_rows();
+  PPL_ASSERT(check_sorted());
+  PPL_ASSERT(OK());
+}
 
-    //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Generator_System& gsys);
+template <typename Row>
+void
+Linear_System<Row>::ascii_dump(std::ostream& s) const {
+  // Prints the topology, the number of rows, the number of columns
+  // and the sorted flag.  The specialized methods provided by
+  // Constraint_System and Generator_System take care of properly
+  // printing the contents of the system.
+  s << "topology " << (is_necessarily_closed()
+		       ? "NECESSARILY_CLOSED"
+		       : "NOT_NECESSARILY_CLOSED")
+    << "\n"
+    << num_rows() << " x " << space_dimension() << " ";
+  Parma_Polyhedra_Library::ascii_dump(s, representation());
+  s << " " << (sorted ? "(sorted)" : "(not_sorted)")
+    << "\n"
+    << "index_first_pending " << first_pending_row()
+    << "\n";
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].ascii_dump(s);
+}
 
-    /*! \brief
-      \p *this skips to the next generator, skipping those
-      closure points that are immediately followed by a matching point.
-    */
-    void skip_forward();
-  };
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(Row, Linear_System<Row>)
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
-  bool empty() const;
+template <typename Row>
+bool
+Linear_System<Row>::ascii_load(std::istream& s) {
+  std::string str;
+  if (!(s >> str) || str != "topology")
+    return false;
+  if (!(s >> str))
+    return false;
 
-  /*! \brief
-    Returns the const_iterator pointing to the first generator,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
+  clear();
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  Topology t;
+  if (str == "NECESSARILY_CLOSED")
+    t = NECESSARILY_CLOSED;
+  else {
+    if (str != "NOT_NECESSARILY_CLOSED")
+      return false;
+    t = NOT_NECESSARILY_CLOSED;
+  }
 
-  //! Checks if all the invariants are satisfied.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Generator.
-  */
-  bool OK() const;
+  set_topology(t);
 
-  PPL_OUTPUT_DECLARATIONS
+  dimension_type nrows;
+  dimension_type space_dims;
+  if (!(s >> nrows))
+    return false;
+  if (!(s >> str) || str != "x")
+    return false;
+  if (!(s >> space_dims))
+    return false;
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  space_dimension_ = space_dims;
 
-    Resizes the matrix of generators using the numbers of rows and columns
-    read from \p s, then initializes the coordinates of each generator
-    and its type reading the contents from \p s.
-  */
-  bool ascii_load(std::istream& s);
+  if (!Parma_Polyhedra_Library::ascii_load(s, representation_))
+    return false;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  if (!(s >> str) || (str != "(sorted)" && str != "(not_sorted)"))
+    return false;
+  bool sortedness = (str == "(sorted)");
+  dimension_type index;
+  if (!(s >> str) || str != "index_first_pending")
+    return false;
+  if (!(s >> index))
+    return false;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  Row row;
+  for (dimension_type i = 0; i < nrows; ++i) {
+    if (!row.ascii_load(s))
+      return false;
+    insert(row, Recycle_Input());
+  }
+  index_first_pending = index;
+  sorted = sortedness;
 
-  //! Swaps \p *this with \p y.
-  void swap(Generator_System& y);
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Generator::zero_dim_point().
-  */
-  static const Generator_System* zero_dim_univ_p;
+template <typename Row>
+void
+Linear_System<Row>::insert(const Row& r) {
+  Row tmp(r, representation());
+  insert(tmp, Recycle_Input());
+}
 
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+template <typename Row>
+void
+Linear_System<Row>::insert(Row& r, Recycle_Input) {
+  insert_no_ok(r, Recycle_Input());
+  PPL_ASSERT(OK());
+}
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+template <typename Row>
+void
+Linear_System<Row>::insert_no_ok(Row& r, Recycle_Input) {
+  PPL_ASSERT(topology() == r.topology());
+  // This method is only used when the system has no pending rows.
+  PPL_ASSERT(num_pending_rows() == 0);
 
-  //! Builds an empty system of generators having the specified topology.
-  explicit Generator_System(Topology topol);
+  const bool was_sorted = is_sorted();
 
-  /*! \brief
-    Builds a system of \p n_rows rays/points on a \p n_columns - 1
-    dimensional space (including the \f$\epsilon\f$ dimension, if
-    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE>).
-  */
-  Generator_System(Topology topol,
-		   dimension_type n_rows, dimension_type n_columns);
+  insert_pending_no_ok(r, Recycle_Input());
 
-  /*! \brief
-    Adjusts \p *this so that it matches the topology and
-    the number of space dimensions given as parameters
-    (adding or removing columns if needed).
-    Returns <CODE>false</CODE> if and only if \p topol is
-    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
-    contains closure points.
-  */
-  bool adjust_topology_and_space_dimension(Topology topol,
-					   dimension_type num_dimensions);
+  if (was_sorted) {
+    const dimension_type nrows = num_rows();
+    // The added row may have caused the system to be not sorted anymore.
+    if (nrows > 1) {
+      // If the system is not empty and the inserted row is the
+      // greatest one, the system is set to be sorted.
+      // If it is not the greatest one then the system is no longer sorted.
+      sorted = (compare(rows[nrows-2], rows[nrows-1]) <= 0);
+    }
+    else
+      // A system having only one row is sorted.
+      sorted = true;
+  }
 
-  /*! \brief
-    For each unmatched closure point in \p *this, adds the
-    corresponding point.
+  unset_pending_rows();
+}
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+template <typename Row>
+void
+Linear_System<Row>::insert_pending_no_ok(Row& r, Recycle_Input) {
+  // TODO: A Grid_Generator_System may contain non-normalized lines that
+  // represent parameters, so this check is disabled. Consider re-enabling it
+  // when it's possibile.
+  /*
+    // The added row must be strongly normalized and have the same
+    // number of elements as the existing rows of the system.
+    PPL_ASSERT(r.check_strong_normalized());
   */
-  void add_corresponding_points();
+  PPL_ASSERT(r.topology() == topology());
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more points.
-  */
-  bool has_points() const;
+  r.set_representation(representation());
 
-  /*! \brief
-    For each unmatched point in \p *this, adds the corresponding
-    closure point.
+  if (space_dimension() < r.space_dimension())
+    set_space_dimension_no_ok(r.space_dimension());
+  else
+    r.set_space_dimension_no_ok(space_dimension());
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  */
-  void add_corresponding_closure_points();
+  rows.resize(rows.size() + 1);
+  swap(rows.back(), r);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more closure points.
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(const Row& r) {
+  Row tmp(r, representation());
+  insert_pending(tmp, Recycle_Input());
+}
 
-    Note: the check for the presence of closure points is
-    done under the point of view of the user. Namely, we scan
-    the generator system using high-level iterators, so that
-    closure points that are matching the corresponding points
-    will be disregarded.
-  */
-  bool has_closure_points() const;
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(Row& r, Recycle_Input) {
+  insert_pending_no_ok(r, Recycle_Input());
+  PPL_ASSERT(OK());
+}
 
-  //! Returns the \p k- th generator of the system.
-  Generator& operator[](dimension_type k);
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(const Linear_System& y) {
+  Linear_System tmp(y, representation(), With_Pending());
+  insert_pending(tmp, Recycle_Input());
+}
 
-  //! Returns a constant reference to the \p k- th generator of the system.
-  const Generator& operator[](dimension_type k) const;
+template <typename Row>
+void
+Linear_System<Row>::insert_pending(Linear_System& y, Recycle_Input) {
+  Linear_System& x = *this;
+  PPL_ASSERT(x.space_dimension() == y.space_dimension());
 
-  /*! \brief
-    Returns the relations holding between the generator system
-    and the constraint \p c.
-  */
-  Parma_Polyhedra_Library::Poly_Con_Relation
-  relation_with(const Constraint& c) const;
+  // Steal the rows of `y'.
+  // This loop must use an increasing index (instead of a decreasing one) to
+  // preserve the row ordering.
+  for (dimension_type i = 0; i < y.num_rows(); ++i)
+    x.insert_pending(y.rows[i], Recycle_Input());
 
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  bool satisfied_by_all_generators(const Constraint& c) const;
+  y.clear();
 
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  /*!
-    It is assumed that <CODE>c.is_necessarily_closed()</CODE> holds.
-  */
-  bool satisfied_by_all_generators_C(const Constraint& c) const;
+  PPL_ASSERT(x.OK());
+}
 
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  /*!
-    It is assumed that <CODE>c.is_necessarily_closed()</CODE> does not hold.
-  */
-  bool satisfied_by_all_generators_NNC(const Constraint& c) const;
+template <typename Row>
+void
+Linear_System<Row>::insert(const Linear_System& y) {
+  Linear_System tmp(y, representation(), With_Pending());
+  insert(tmp, Recycle_Input());
+}
 
-  //! Assigns to a given variable an affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
+template <typename Row>
+void
+Linear_System<Row>::insert(Linear_System& y, Recycle_Input) {
+  PPL_ASSERT(num_pending_rows() == 0);
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+  // Adding no rows is a no-op.
+  if (y.has_no_rows())
+    return;
 
-    \param denominator
-    The denominator of the affine transformation.
+  // Check if sortedness is preserved.
+  if (is_sorted()) {
+    if (!y.is_sorted() || y.num_pending_rows() > 0)
+      sorted = false;
+    else {
+      // `y' is sorted and has no pending rows.
+      const dimension_type n_rows = num_rows();
+      if (n_rows > 0)
+        sorted = (compare(rows[n_rows-1], y[0]) <= 0);
+    }
+  }
 
-    We want to allow affine transformations (see the Introduction) having
-    any rational coefficients. Since the coefficients of the
-    constraints are integers we must also provide an integer \p denominator
-    that will be used as denominator of the affine transformation.
-    The denominator is required to be a positive integer.
+  // Add the rows of `y' as if they were pending.
+  insert_pending(y, Recycle_Input());
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
-    \f[
-      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
-           {\mathrm{denominator}}.
-    \f]
+  // TODO: May y have pending rows? Should they remain pending?
 
-    \p expr is a constant parameter and unaltered by this computation.
-  */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
+  // There are no pending_rows.
+  unset_pending_rows();
 
-  //! Returns the number of lines of the system.
-  dimension_type num_lines() const;
+  PPL_ASSERT(OK());
+}
 
-  //! Returns the number of rays of the system.
-  dimension_type num_rays() const;
+template <typename Row>
+void
+Linear_System<Row>::remove_space_dimensions(const Variables_Set& vars) {
+  // Dimension-compatibility assertion.
+  PPL_ASSERT(space_dimension() >= vars.space_dimension());
 
-  //! Removes all the invalid lines and rays.
-  /*!
-    The invalid lines and rays are those with all
-    the homogeneous terms set to zero.
-  */
-  void remove_invalid_lines_and_rays();
+  // The removal of no dimensions from any system is a no-op.  This
+  // case also captures the only legal removal of dimensions from a
+  // 0-dim system.
+  if (vars.empty())
+    return;
 
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of generators.
+  // NOTE: num_rows() is *not* constant, because it may be decreased by
+  // remove_row_no_ok().
+  for (dimension_type i = 0; i < num_rows(); ) {
+    bool valid = rows[i].remove_space_dimensions(vars);
+    if (!valid) {
+      // Remove the current row.
+      // We can't call remove_row(i) here, because the system is not OK as
+      // some rows already have the new space dimension and others still have
+      // the old one.
+      remove_row_no_ok(i, false);
+    } else
+      ++i;
+  }
 
-    It is assumed that the system has no pending generators.
-  */
-  void simplify();
+  space_dimension_ -= vars.size();
 
-  /*! \brief
-    Inserts in \p *this a copy of the generator \p g,
-    increasing the number of space dimensions if needed.
-    It is a pending generator.
-  */
-  void insert_pending(const Generator& g);
-};
+  PPL_ASSERT(OK());
+}
 
-// Generator_System.inlines.hh is not included here on purpose.
+template <typename Row>
+void
+Linear_System<Row>::shift_space_dimensions(Variable v, dimension_type n) {
+  // NOTE: v.id() may be equal to the space dimension of the system
+  // (when no space dimension need to be shifted).
+  PPL_ASSERT(v.id() <= space_dimension());
+  for (dimension_type i = rows.size(); i-- > 0; )
+    rows[i].shift_space_dimensions(v, n);
+  space_dimension_ += n;
+  PPL_ASSERT(OK());
+}
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 1. */
-/* Class declarations for several distances.
-*/
+template <typename Row>
+void
+Linear_System<Row>::sort_rows() {
+  // We sort the non-pending rows only.
+  sort_rows(0, first_pending_row());
+  sorted = true;
+  PPL_ASSERT(OK());
+}
 
+template <typename Row>
+void
+Linear_System<Row>::sort_rows(const dimension_type first_row,
+			      const dimension_type last_row) {
+  PPL_ASSERT(first_row <= last_row && last_row <= num_rows());
+  // We cannot mix pending and non-pending rows.
+  PPL_ASSERT(first_row >= first_pending_row()
+             || last_row <= first_pending_row());
+
+  bool sorting_pending = (first_row >= first_pending_row());
+  const dimension_type old_num_pending = num_pending_rows();
+
+  const dimension_type num_elems = last_row - first_row;
+  if (num_elems < 2)
+    return;
 
-/* Automatically generated from PPL source file ../src/distances.types.hh line 1. */
+  // Build the function objects implementing indirect sort comparison,
+  // indirect unique comparison and indirect swap operation.
+  using namespace Implementation;
+  typedef Swapping_Vector<Row> Cont;
+  typedef Indirect_Sort_Compare<Cont, Row_Less_Than> Sort_Compare;
+  typedef Indirect_Swapper<Cont> Swapper;
+  const dimension_type num_duplicates
+    = indirect_sort_and_unique(num_elems,
+                               Sort_Compare(rows, first_row),
+                               Unique_Compare(rows, first_row),
+                               Swapper(rows, first_row));
+
+  if (num_duplicates > 0) {
+    typedef typename Cont::iterator Iter;
+    typedef typename std::iterator_traits<Iter>::difference_type diff_t;
+    Iter last = rows.begin() + static_cast<diff_t>(last_row);
+    Iter first = last - + static_cast<diff_t>(num_duplicates);
+    rows.erase(first, last);
+  }
+
+  if (sorting_pending) {
+    PPL_ASSERT(old_num_pending >= num_duplicates);
+    index_first_pending = num_rows() - (old_num_pending - num_duplicates);
+  } else {
+    index_first_pending = num_rows() - old_num_pending;
+  }
 
+  PPL_ASSERT(OK());
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename Row>
+void
+Linear_System<Row>::strong_normalize() {
+  const dimension_type nrows = rows.size();
+  // We strongly normalize also the pending rows.
+  for (dimension_type i = nrows; i-- > 0; )
+    rows[i].strong_normalize();
+  sorted = (nrows <= 1);
+  PPL_ASSERT(OK());
+}
 
-template <typename Temp>
-struct Rectilinear_Distance_Specialization;
+template <typename Row>
+void
+Linear_System<Row>::sign_normalize() {
+  const dimension_type nrows = rows.size();
+  // We sign-normalize also the pending rows.
+  for (dimension_type i = nrows; i-- > 0; )
+    rows[i].sign_normalize();
+  sorted = (nrows <= 1);
+  PPL_ASSERT(OK());
+}
 
-template <typename Temp>
-struct Euclidean_Distance_Specialization;
+/*! \relates Parma_Polyhedra_Library::Linear_System */
+template <typename Row>
+bool
+operator==(const Linear_System<Row>& x, const Linear_System<Row>& y) {
+  if (x.space_dimension() != y.space_dimension())
+    return false;
+  const dimension_type x_num_rows = x.num_rows();
+  const dimension_type y_num_rows = y.num_rows();
+  if (x_num_rows != y_num_rows)
+    return false;
+  if (x.first_pending_row() != y.first_pending_row())
+    return false;
+  // TODO: Check if the following comment is up to date.
+  // Notice that calling operator==(const Swapping_Vector<Row>&,
+  //                                const Swapping_Vector<Row>&)
+  // would be wrong here, as equality of the type fields would
+  // not be checked.
+  for (dimension_type i = x_num_rows; i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
+}
 
-template <typename Temp>
-struct L_Infinity_Distance_Specialization;
+template <typename Row>
+void
+Linear_System<Row>::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  // We can only sort the non-pending part of the system.
+  PPL_ASSERT(first_pending_row() == sat.num_rows());
+  if (first_pending_row() <= 1) {
+    set_sorted(true);
+    return;
+  }
 
-} // namespace Parma_Polyhedra_Library
+  const dimension_type num_elems = sat.num_rows();
+  // Build the function objects implementing indirect sort comparison,
+  // indirect unique comparison and indirect swap operation.
+  typedef Swapping_Vector<Row> Cont;
+  Implementation::Indirect_Sort_Compare<Cont, Row_Less_Than> sort_cmp(rows);
+  Unique_Compare unique_cmp(rows);
+  Implementation::Indirect_Swapper2<Cont, Bit_Matrix> swapper(rows, sat);
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 29. */
+  const dimension_type num_duplicates
+    = Implementation::indirect_sort_and_unique(num_elems, sort_cmp, unique_cmp, swapper);
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
+  const dimension_type new_first_pending_row
+    = first_pending_row() - num_duplicates;
 
-  static void finalize(Temp&, Rounding_Dir);
-};
+  if (num_pending_rows() > 0) {
+    // In this case, we must put the duplicates after the pending rows.
+    const dimension_type n_rows = num_rows() - 1;
+    for (dimension_type i = 0; i < num_duplicates; ++i)
+      swap(rows[new_first_pending_row + i], rows[n_rows - i]);
+  }
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization {
-  static void combine(Temp& running, Temp& current, Rounding_Dir dir);
+  // Erasing the duplicated rows...
+  rows.resize(rows.size() - num_duplicates);
+  index_first_pending = new_first_pending_row;
+  // ... and the corresponding rows of the saturation matrix.
+  sat.remove_trailing_rows(num_duplicates);
 
-  static void finalize(Temp& running, Rounding_Dir dir);
-};
+  // Now the system is sorted.
+  sorted = true;
 
+  PPL_ASSERT(OK());
+}
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir);
+template <typename Row>
+dimension_type
+Linear_System<Row>::gauss(const dimension_type n_lines_or_equalities) {
+  // This method is only applied to a linear system having no pending rows and
+  // exactly `n_lines_or_equalities' lines or equalities, all of which occur
+  // before the rays or points or inequalities.
+  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities == num_lines_or_equalities());
+#ifndef NDEBUG
+  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
+    PPL_ASSERT((*this)[i].is_line_or_equality());
+#endif
 
-  static void finalize(Temp&, Rounding_Dir);
-};
+  dimension_type rank = 0;
+  // Will keep track of the variations on the system of equalities.
+  bool changed = false;
+  // TODO: Don't use the number of columns.
+  const dimension_type num_cols
+    = is_necessarily_closed() ? space_dimension() + 1 : space_dimension() + 2;
+  // TODO: Consider exploiting the row (possible) sparseness of rows in the
+  // following loop, if needed. It would probably make it more cache-efficient
+  // for dense rows, too.
+  for (dimension_type j = num_cols; j-- > 0; )
+    for (dimension_type i = rank; i < n_lines_or_equalities; ++i) {
+      // Search for the first row having a non-zero coefficient
+      // (the pivot) in the j-th column.
+      if ((*this)[i].expr.get(j) == 0)
+	continue;
+      // Pivot found: if needed, swap rows so that this one becomes
+      // the rank-th row in the linear system.
+      if (i > rank) {
+	swap(rows[i], rows[rank]);
+	// After swapping the system is no longer sorted.
+	changed = true;
+      }
+      // Combine the row containing the pivot with all the lines or
+      // equalities following it, so that all the elements on the j-th
+      // column in these rows become 0.
+      for (dimension_type k = i + 1; k < n_lines_or_equalities; ++k) {
+        if (rows[k].expr.get(Variable(j - 1)) != 0) {
+          rows[k].linear_combine(rows[rank], j);
+          changed = true;
+        }
+      }
+      // Already dealt with the rank-th row.
+      ++rank;
+      // Consider another column index `j'.
+      break;
+    }
+  if (changed)
+    sorted = false;
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 1. */
-/* Inline functions implementing distances.
-*/
+  PPL_ASSERT(OK());
+  return rank;
+}
 
+template <typename Row>
+void
+Linear_System<Row>
+::back_substitute(const dimension_type n_lines_or_equalities) {
+  // This method is only applied to a system having no pending rows and
+  // exactly `n_lines_or_equalities' lines or equalities, all of which occur
+  // before the first ray or point or inequality.
+  PPL_ASSERT(num_pending_rows() == 0);
+  PPL_ASSERT(n_lines_or_equalities <= num_lines_or_equalities());
+#ifndef NDEBUG
+  for (dimension_type i = n_lines_or_equalities; i-- > 0; )
+    PPL_ASSERT((*this)[i].is_line_or_equality());
+#endif
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 28. */
+  const dimension_type nrows = num_rows();
+  // Trying to keep sortedness.
+  bool still_sorted = is_sorted();
+  // This deque of Booleans will be used to flag those rows that,
+  // before exiting, need to be re-checked for sortedness.
+  std::deque<bool> check_for_sortedness;
+  if (still_sorted)
+    check_for_sortedness.insert(check_for_sortedness.end(), nrows, false);
+
+  for (dimension_type k = n_lines_or_equalities; k-- > 0; ) {
+    // For each line or equality, starting from the last one,
+    // looks for the last non-zero element.
+    // `j' will be the index of such a element.
+    Row& row_k = rows[k];
+    dimension_type j = row_k.expr.last_nonzero();
+    // TODO: Check this.
+    PPL_ASSERT(j != 0);
+
+    // Go through the equalities above `row_k'.
+    for (dimension_type i = k; i-- > 0; ) {
+      Row& row_i = rows[i];
+      if (row_i.expr.get(Variable(j - 1)) != 0) {
+	// Combine linearly `row_i' with `row_k'
+	// so that `row_i[j]' becomes zero.
+        row_i.linear_combine(row_k, j);
+	if (still_sorted) {
+	  // Trying to keep sortedness: remember which rows
+	  // have to be re-checked for sortedness at the end.
+	  if (i > 0)
+	    check_for_sortedness[i-1] = true;
+	  check_for_sortedness[i] = true;
+	}
+      }
+    }
 
-namespace Parma_Polyhedra_Library {
+    // Due to strong normalization during previous iterations,
+    // the pivot coefficient `row_k[j]' may now be negative.
+    // Since an inequality (or ray or point) cannot be multiplied
+    // by a negative factor, the coefficient of the pivot must be
+    // forced to be positive.
+    const bool have_to_negate = (row_k.expr.get(Variable(j - 1)) < 0);
+    if (have_to_negate)
+      neg_assign(row_k.expr);
+
+    // NOTE: Here row_k will *not* be ok if we have negated it.
+
+    // Note: we do not mark index `k' in `check_for_sortedness',
+    // because we will later negate back the row.
+
+    // Go through all the other rows of the system.
+    for (dimension_type i = n_lines_or_equalities; i < nrows; ++i) {
+      Row& row_i = rows[i];
+      if (row_i.expr.get(Variable(j - 1)) != 0) {
+	// Combine linearly the `row_i' with `row_k'
+	// so that `row_i[j]' becomes zero.
+        row_i.linear_combine(row_k, j);
+	if (still_sorted) {
+	  // Trying to keep sortedness: remember which rows
+	  // have to be re-checked for sortedness at the end.
+	  if (i > n_lines_or_equalities)
+	    check_for_sortedness[i-1] = true;
+	  check_for_sortedness[i] = true;
+	}
+      }
+    }
+    if (have_to_negate)
+      // Negate `row_k' to restore strong-normalization.
+      neg_assign(row_k.expr);
 
-// A struct to work around the lack of partial specialization
-// of function templates in C++.
-template <typename To, typename From>
-struct maybe_assign_struct {
-  static inline Result
-  function(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
-    // When `To' and `From' are different types, we make the conversion
-    // and use `tmp'.
-    top = &tmp;
-    return assign_r(tmp, from, dir);
+    PPL_ASSERT(row_k.OK());
   }
-};
 
-template <typename Type>
-struct maybe_assign_struct<Type, Type> {
-  static inline Result
-  function(const Type*& top, Type&, const Type& from, Rounding_Dir) {
-    // When the types are the same, conversion is unnecessary.
-    top = &from;
-    return V_EQ;
-  }
-};
+  // Trying to keep sortedness.
+  for (dimension_type i = 0; still_sorted && i+1 < nrows; ++i)
+    if (check_for_sortedness[i])
+      // Have to check sortedness of `(*this)[i]' with respect to `(*this)[i+1]'.
+      still_sorted = (compare((*this)[i], (*this)[i+1]) <= 0);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Assigns to \p top a pointer to a location that holds the
-  conversion, according to \p dir, of \p from to type \p To.  When
-  necessary, and only when necessary, the variable \p tmp is used to
-  hold the result of conversion.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename To, typename From>
-inline Result
-maybe_assign(const To*& top, To& tmp, const From& from, Rounding_Dir dir) {
-  return maybe_assign_struct<To, From>::function(top, tmp, from, dir);
-}
+  // Set the sortedness flag.
+  sorted = still_sorted;
 
-template <typename Temp>
-inline void
-Rectilinear_Distance_Specialization<Temp>::combine(Temp& running,
-						   const Temp& current,
-						   Rounding_Dir dir) {
-  add_assign_r(running, running, current, dir);
+  PPL_ASSERT(OK());
 }
 
-template <typename Temp>
-inline void
-Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
-}
+template <typename Row>
+void
+Linear_System<Row>::simplify() {
+  // This method is only applied to a system having no pending rows.
+  PPL_ASSERT(num_pending_rows() == 0);
 
-template <typename Temp>
-inline void
-Euclidean_Distance_Specialization<Temp>::combine(Temp& running,
-						 Temp& current,
-						 Rounding_Dir dir) {
-  mul_assign_r(current, current, current, dir);
-  add_assign_r(running, running, current, dir);
-}
+  // Partially sort the linear system so that all lines/equalities come first.
+  const dimension_type old_nrows = num_rows();
+  dimension_type nrows = old_nrows;
+  dimension_type n_lines_or_equalities = 0;
+  for (dimension_type i = 0; i < nrows; ++i)
+    if ((*this)[i].is_line_or_equality()) {
+      if (n_lines_or_equalities < i) {
+	swap(rows[i], rows[n_lines_or_equalities]);
+	// The system was not sorted.
+	PPL_ASSERT(!sorted);
+      }
+      ++n_lines_or_equalities;
+    }
+  // Apply Gaussian elimination to the subsystem of lines/equalities.
+  const dimension_type rank = gauss(n_lines_or_equalities);
+  // Eliminate any redundant line/equality that has been detected.
+  if (rank < n_lines_or_equalities) {
+    const dimension_type
+      n_rays_or_points_or_inequalities = nrows - n_lines_or_equalities;
+    const dimension_type
+      num_swaps = std::min(n_lines_or_equalities - rank,
+			   n_rays_or_points_or_inequalities);
+    for (dimension_type i = num_swaps; i-- > 0; )
+      swap(rows[--nrows], rows[rank + i]);
+    remove_trailing_rows(old_nrows - nrows);
+    if (n_rays_or_points_or_inequalities > num_swaps)
+      set_sorted(false);
+    unset_pending_rows();
+    n_lines_or_equalities = rank;
+  }
+  // Apply back-substitution to the system of rays/points/inequalities.
+  back_substitute(n_lines_or_equalities);
 
-template <typename Temp>
-inline void
-Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
-						  Rounding_Dir dir) {
-  sqrt_assign_r(running, running, dir);
+  PPL_ASSERT(OK());
 }
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
-						  const Temp& current,
-						  Rounding_Dir) {
-  if (current > running)
-    running = current;
+template <typename Row>
+void
+Linear_System<Row>
+::add_universe_rows_and_space_dimensions(const dimension_type n) {
+  PPL_ASSERT(n > 0);
+  const bool was_sorted = is_sorted();
+  const dimension_type old_n_rows = num_rows();
+  const dimension_type old_space_dim
+    = is_necessarily_closed() ? space_dimension() : space_dimension() + 1;
+  set_space_dimension(space_dimension() + n);
+  rows.resize(rows.size() + n);
+  // The old system is moved to the bottom.
+  for (dimension_type i = old_n_rows; i-- > 0; )
+    swap(rows[i], rows[i + n]);
+  for (dimension_type i = n, c = old_space_dim; i-- > 0; ) {
+    // The top right-hand sub-system (i.e., the system made of new
+    // rows and columns) is set to the specular image of the identity
+    // matrix.
+    if (Variable(c).space_dimension() <= space_dimension()) {
+      // Variable(c) is a user variable.
+      Linear_Expression le(representation());
+      le.set_space_dimension(space_dimension());
+      le += Variable(c);
+      Row r(le, Row::LINE_OR_EQUALITY, row_topology);
+      swap(r, rows[i]);
+    } else {
+      // Variable(c) is the epsilon dimension.
+      PPL_ASSERT(row_topology == NOT_NECESSARILY_CLOSED);
+      Linear_Expression le(Variable(c), representation());
+      Row r(le, Row::LINE_OR_EQUALITY, NECESSARILY_CLOSED);
+      r.mark_as_not_necessarily_closed();
+      swap(r, rows[i]);
+      // Note: `r' is strongly normalized.
+    }
+    ++c;
+  }
+  // If the old system was empty, the last row added is either
+  // a positivity constraint or a point.
+  if (was_sorted)
+    sorted = (compare(rows[n-1], rows[n]) <= 0);
+
+  // If the system is not necessarily closed, move the epsilon coefficients to
+  // the last column.
+  if (!is_necessarily_closed()) {
+    // Try to preserve sortedness of `gen_sys'.
+    PPL_ASSERT(old_space_dim != 0);
+    if (!is_sorted()) {
+      for (dimension_type i = n; i-- > 0; ) {
+        rows[i].expr.swap_space_dimensions(Variable(old_space_dim - 1),
+                                           Variable(old_space_dim - 1 + n));
+        PPL_ASSERT(rows[i].OK());
+      }
+    } else {
+      dimension_type old_eps_index = old_space_dim - 1;
+      // The upper-right corner of `rows' contains the J matrix:
+      // swap coefficients to preserve sortedness.
+      for (dimension_type i = n; i-- > 0; ++old_eps_index) {
+        rows[i].expr.swap_space_dimensions(Variable(old_eps_index),
+                                           Variable(old_eps_index + 1));
+        PPL_ASSERT(rows[i].OK());
+      }
+
+      sorted = true;
+    }
+  }
+  // NOTE: this already checks for OK().
+  set_index_first_pending_row(index_first_pending + n);
 }
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
+template <typename Row>
+void
+Linear_System<Row>::sort_pending_and_remove_duplicates() {
+  PPL_ASSERT(num_pending_rows() > 0);
+  PPL_ASSERT(is_sorted());
+
+  // The non-pending part of the system is already sorted.
+  // Now sorting the pending part..
+  const dimension_type first_pending = first_pending_row();
+  sort_rows(first_pending, num_rows());
+  // Recompute the number of rows, because we may have removed
+  // some rows occurring more than once in the pending part.
+  const dimension_type old_num_rows = num_rows();
+  dimension_type num_rows = old_num_rows;
+
+  dimension_type k1 = 0;
+  dimension_type k2 = first_pending;
+  dimension_type num_duplicates = 0;
+  // In order to erase them, put at the end of the system
+  // those pending rows that also occur in the non-pending part.
+  while (k1 < first_pending && k2 < num_rows) {
+    const int cmp = compare(rows[k1], rows[k2]);
+    if (cmp == 0) {
+      // We found the same row.
+      ++num_duplicates;
+      --num_rows;
+      // By initial sortedness, we can increment index `k1'.
+      ++k1;
+      // Do not increment `k2'; instead, swap there the next pending row.
+      if (k2 < num_rows)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    }
+    else if (cmp < 0)
+      // By initial sortedness, we can increment `k1'.
+      ++k1;
+    else {
+      // Here `cmp > 0'.
+      // Increment `k2' and, if we already found any duplicate,
+      // swap the next pending row in position `k2'.
+      ++k2;
+      if (num_duplicates > 0 && k2 < num_rows)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    }
+  }
+  // If needed, swap any duplicates found past the pending rows
+  // that has not been considered yet; then erase the duplicates.
+  if (num_duplicates > 0) {
+    if (k2 < num_rows)
+      for (++k2; k2 < num_rows; ++k2)
+        swap(rows[k2], rows[k2 + num_duplicates]);
+    rows.resize(num_rows);
+  }
+  sorted = true;
+  PPL_ASSERT(OK());
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename Row>
+bool
+Linear_System<Row>::check_sorted() const {
+  for (dimension_type i = first_pending_row(); i-- > 1; )
+    if (compare(rows[i], rows[i-1]) < 0)
+      return false;
+  return true;
+}
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 53. */
+template <typename Row>
+bool
+Linear_System<Row>::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 40. */
-#include <iosfwd>
+  for (dimension_type i = rows.size(); i-- > 0; ) {
+    if (rows[i].representation() != representation()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong representation!"
+           << endl;
+#endif
+      return false;
+    }
+    if (rows[i].space_dimension() != space_dimension()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong number of space dimensions!"
+           << endl;
+#endif
+      return false;
+    }
+  }
 
-namespace Parma_Polyhedra_Library {
+  for (dimension_type i = rows.size(); i-- > 0; )
+    if (rows[i].topology() != topology()) {
+#ifndef NDEBUG
+      cerr << "Linear_System has a row with the wrong topology!"
+           << endl;
+#endif
+      return false;
+    }
 
-// Put them in the namespace here to declare them friend later.
+  // `index_first_pending' must be less than or equal to `num_rows()'.
+  if (first_pending_row() > num_rows()) {
+#ifndef NDEBUG
+    cerr << "Linear_System has a negative number of pending rows!"
+	 << endl;
+#endif
+    return false;
+  }
 
-namespace IO_Operators {
+  // Check for topology mismatches.
+  const dimension_type n_rows = num_rows();
+  for (dimension_type i = 0; i < n_rows; ++i)
+    if (topology() != rows[i].topology()) {
+#ifndef NDEBUG
+      cerr << "Topology mismatch between the system "
+	   << "and one of its rows!"
+	   << endl;
+#endif
+      return false;
+    }
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator& g);
+  if (sorted && !check_sorted()) {
+#ifndef NDEBUG
+    cerr << "The system declares itself to be sorted but it is not!"
+	 << endl;
+#endif
+    return false;
+  }
 
-} // namespace IO_Operators
+  // All checks passed.
+  return true;
+}
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 581. */
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator */
-void swap(Parma_Polyhedra_Library::Generator& x,
-	  Parma_Polyhedra_Library::Generator& y);
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 31. */
 
-} // namespace std
+/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 38. */
+#include <iterator>
+#include <iosfwd>
 
+namespace Parma_Polyhedra_Library {
 
-//! A line, ray, point or closure point.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Generator is one of the following:
+namespace IO_Operators {
 
-  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Constraint_System
+  Writes <CODE>true</CODE> if \p cs is empty.  Otherwise, writes on
+  \p s the constraints of \p cs, all in one row and separated by ", ".
+*/
+std::ostream& operator<<(std::ostream& s, const Constraint_System& cs);
 
-  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+} // namespace IO_Operators
 
-  - a point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Constraint_System& x, const Constraint_System& y);
 
-  - a closure point
-    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Constraint_System& x, const Constraint_System& y);
 
-  where \f$n\f$ is the dimension of the space
-  and, for points and closure points, \f$d > 0\f$ is the divisor.
+/*! \relates Constraint_System */
+void
+swap(Constraint_System& x, Constraint_System& y);
 
-  \par A note on terminology.
-  As observed in Section \ref representation, there are cases when,
-  in order to represent a polyhedron \f$\cP\f$ using the generator system
-  \f$\cG = (L, R, P, C)\f$, we need to include in the finite set
-  \f$P\f$ even points of \f$\cP\f$ that are <EM>not</EM> vertices
-  of \f$\cP\f$.
-  This situation is even more frequent when working with NNC polyhedra
-  and it is the reason why we prefer to use the word `point'
-  where other libraries use the word `vertex'.
+} // namespace Parma_Polyhedra_Library
 
-  \par How to build a generator.
-  Each type of generator is built by applying the corresponding
-  function (<CODE>line</CODE>, <CODE>ray</CODE>, <CODE>point</CODE>
-  or <CODE>closure_point</CODE>) to a linear expression,
-  representing a direction in the space;
-  the space dimension of the generator is defined as the space dimension
-  of the corresponding linear expression.
-  Linear expressions used to define a generator should be homogeneous
-  (any constant term will be simply ignored).
-  When defining points and closure points, an optional Coefficient argument
-  can be used as a common <EM>divisor</EM> for all the coefficients
-  occurring in the provided linear expression;
-  the default value for this argument is 1.
+//! A system of constraints.
+/*! \ingroup PPL_CXX_interface
+    An object of the class Constraint_System is a system of constraints,
+    i.e., a multiset of objects of the class Constraint.
+    When inserting constraints in a system, space dimensions are
+    automatically adjusted so that all the constraints in the system
+    are defined on the same vector space.
 
-  \par
-  In all the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
+    \par
+    In all the examples it is assumed that variables
+    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
+    \code
   Variable x(0);
   Variable y(1);
-  Variable z(2);
-  \endcode
-
-  \par Example 1
-  The following code builds a line with direction \f$x-y-z\f$
-  and having space dimension \f$3\f$:
-  \code
-  Generator l = line(x - y - z);
-  \endcode
-  As mentioned above, the constant term of the linear expression
-  is not relevant. Thus, the following code has the same effect:
-  \code
-  Generator l = line(x - y - z + 15);
-  \endcode
-  By definition, the origin of the space is not a line, so that
-  the following code throws an exception:
-  \code
-  Generator l = line(0*x);
-  \endcode
-
-  \par Example 2
-  The following code builds a ray with the same direction as the
-  line in Example 1:
-  \code
-  Generator r = ray(x - y - z);
-  \endcode
-  As is the case for lines, when specifying a ray the constant term
-  of the linear expression is not relevant; also, an exception is thrown
-  when trying to build a ray from the origin of the space.
-
-  \par Example 3
-  The following code builds the point
-  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
-  \code
-  Generator p = point(1*x + 0*y + 2*z);
-  \endcode
-  The same effect can be obtained by using the following code:
-  \code
-  Generator p = point(x + 2*z);
-  \endcode
-  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
-  using either one of the following lines of code:
-  \code
-  Generator origin3 = point(0*x + 0*y + 0*z);
-  Generator origin3_alt = point(0*z);
-  \endcode
-  Note however that the following code would have defined
-  a different point, namely \f$\vect{0} \in \Rset^2\f$:
-  \code
-  Generator origin2 = point(0*y);
-  \endcode
-  The following two lines of code both define the only point
-  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
-  In the second case we exploit the fact that the first argument
-  of the function <CODE>point</CODE> is optional.
-  \code
-  Generator origin0 = Generator::zero_dim_point();
-  Generator origin0_alt = point();
-  \endcode
+    \endcode
 
-  \par Example 4
-  The point \f$\vect{p}\f$ specified in Example 3 above
-  can also be obtained with the following code,
-  where we provide a non-default value for the second argument
-  of the function <CODE>point</CODE> (the divisor):
-  \code
-  Generator p = point(2*x + 0*y + 4*z, 2);
-  \endcode
-  Obviously, the divisor can be usefully exploited to specify
-  points having some non-integer (but rational) coordinates.
-  For instance, the point
-  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be specified by the following code:
-  \code
-  Generator q = point(-15*x + 32*y + 21*z, 10);
-  \endcode
-  If a zero divisor is provided, an exception is thrown.
+    \par Example 1
+    The following code builds a system of constraints corresponding to
+    a square in \f$\Rset^2\f$:
+    \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  cs.insert(y >= 0);
+  cs.insert(y <= 3);
+    \endcode
+    Note that:
+    the constraint system is created with space dimension zero;
+    the first and third constraint insertions increase the space
+    dimension to \f$1\f$ and \f$2\f$, respectively.
 
-  \par Example 5
-  Closure points are specified in the same way we defined points,
-  but invoking their specific constructor function.
-  For instance, the closure point
-  \f$\vect{c} = (1, 0, 2)^\transpose \in \Rset^3\f$ is defined by
-  \code
-  Generator c = closure_point(1*x + 0*y + 2*z);
-  \endcode
-  For the particular case of the (only) closure point
-  having space dimension zero, we can use any of the following:
-  \code
-  Generator closure_origin0 = Generator::zero_dim_closure_point();
-  Generator closure_origin0_alt = closure_point();
-  \endcode
+    \par Example 2
+    By adding four strict inequalities to the constraint system
+    of the previous example, we can remove just the four
+    vertices from the square defined above.
+    \code
+  cs.insert(x + y > 0);
+  cs.insert(x + y < 6);
+  cs.insert(x - y < 3);
+  cs.insert(y - x < 3);
+    \endcode
 
-  \par How to inspect a generator
-  Several methods are provided to examine a generator and extract
-  all the encoded information: its space dimension, its type and
-  the value of its integer coefficients.
+    \par Example 3
+    The following code builds a system of constraints corresponding to
+    a half-strip in \f$\Rset^2\f$:
+    \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x - y <= 0);
+  cs.insert(x - y + 1 >= 0);
+    \endcode
 
-  \par Example 6
-  The following code shows how it is possible to access each single
-  coefficient of a generator.
-  If <CODE>g1</CODE> is a point having coordinates
-  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
-  we construct the closure point <CODE>g2</CODE> having coordinates
-  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
-  \code
-  if (g1.is_point()) {
-    cout << "Point g1: " << g1 << endl;
-    Linear_Expression e;
-    for (dimension_type i = g1.space_dimension(); i-- > 0; )
-      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
-    Generator g2 = closure_point(e, g1.divisor());
-    cout << "Closure point g2: " << g2 << endl;
-  }
-  else
-    cout << "Generator g1 is not a point." << endl;
-  \endcode
-  Therefore, for the point
-  \code
-  Generator g1 = point(2*x - y + 3*z, 2);
-  \endcode
-  we would obtain the following output:
-  \code
-  Point g1: p((2*A - B + 3*C)/2)
-  Closure point g2: cp((2*A - 2*B + 9*C)/2)
-  \endcode
-  When working with (closure) points, be careful not to confuse
-  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
-  these are equivalent only when the divisor of the (closure) point is 1.
+    \note
+    After inserting a multiset of constraints in a constraint system,
+    there are no guarantees that an <EM>exact</EM> copy of them
+    can be retrieved:
+    in general, only an <EM>equivalent</EM> constraint system
+    will be available, where original constraints may have been
+    reordered, removed (if they are trivial, duplicate or
+    implied by other constraints), linearly combined, etc.
 */
-class Parma_Polyhedra_Library::Generator : private Linear_Row {
+class Parma_Polyhedra_Library::Constraint_System {
 public:
-  //! Returns the line of direction \p e.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
-  */
-  static Generator line(const Linear_Expression& e);
+  typedef Constraint row_type;
 
-  //! Returns the ray of direction \p e.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
-  */
-  static Generator ray(const Linear_Expression& e);
+  static const Representation default_representation = SPARSE;
 
-  //! Returns the point at \p e / \p d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+  //! Default constructor: builds an empty system of constraints.
+  explicit Constraint_System(Representation r = default_representation);
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
-  */
-  static Generator point(const Linear_Expression& e
-			 = Linear_Expression::zero(),
-			 Coefficient_traits::const_reference d
-			 = Coefficient_one());
+  //! Builds the singleton system containing only constraint \p c.
+  explicit Constraint_System(const Constraint& c,
+                             Representation r = default_representation);
 
-  //! Returns the closure point at \p e / \p d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+  //! Builds a system containing copies of any equalities in \p cgs.
+  explicit Constraint_System(const Congruence_System& cgs,
+                             Representation r = default_representation);
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+  //! Ordinary copy constructor.
+  /*!
+    \note The copy will have the same representation as `cs', to make it
+          indistinguishable from `cs'.
   */
-  static Generator
-  closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-		Coefficient_traits::const_reference d = Coefficient_one());
+  Constraint_System(const Constraint_System& cs);
 
-  //! Ordinary copy constructor.
-  Generator(const Generator& g);
+  //! Copy constructor with specified representation.
+  Constraint_System(const Constraint_System& cs, Representation r);
 
   //! Destructor.
-  ~Generator();
+  ~Constraint_System();
 
   //! Assignment operator.
-  Generator& operator=(const Generator& g);
+  Constraint_System& operator=(const Constraint_System& y);
 
-  //! Returns the maximum space dimension a Generator can handle.
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Returns the maximum space dimension a Constraint_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  //! The generator type.
-  enum Type {
-    /*! The generator is a line. */
-    LINE,
-    /*! The generator is a ray. */
-    RAY,
-    /*! The generator is a point. */
-    POINT,
-    /*! The generator is a closure point. */
-    CLOSURE_POINT
-  };
-
-  //! Returns the generator type of \p *this.
-  Type type() const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
-  bool is_ray() const;
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line or a ray.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool is_line_or_ray() const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
-  bool is_closure_point() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more equality constraints.
+  */
+  bool has_equalities() const;
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the index of \p v is greater than or equal to the
-    space dimension of \p *this.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more strict inequality constraints.
   */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+  bool has_strict_inequalities() const;
 
-  //! If \p *this is either a point or a closure point, returns its divisor.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is neither a point nor a closure point.
+  /*! \brief
+    Inserts in \p *this a copy of the constraint \p c,
+    increasing the number of space dimensions if needed.
   */
-  Coefficient_traits::const_reference divisor() const;
+  void insert(const Constraint& c);
 
   //! Initializes the class.
   static void initialize();
@@ -20757,31 +42206,34 @@ public:
   //! Finalizes the class.
   static void finalize();
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Generator& zero_dim_point();
-
   /*! \brief
-    Returns, as a closure point,
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    Returns the singleton system containing only Constraint::zero_dim_false().
   */
-  static const Generator& zero_dim_closure_point();
+  static const Constraint_System& zero_dim_empty();
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+  typedef Constraint_System_const_iterator const_iterator;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
+  bool empty() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent generators.
+    Removes all the constraints from the constraint system
+    and sets its space dimension to 0.
+  */
+  void clear();
 
-    Generators having different space dimensions are not equivalent.
+  /*! \brief
+    Returns the const_iterator pointing to the first constraint,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  bool is_equivalent_to(const Generator& y) const;
+  const_iterator begin() const;
+
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -20792,767 +42244,879 @@ public:
   */
   bool ascii_load(std::istream& s);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Generator& y);
+  void m_swap(Constraint_System& y);
 
 private:
+  Linear_System<Constraint> sys;
+
   /*! \brief
     Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    the singleton system containing only Constraint::zero_dim_false().
   */
-  static const Generator* zero_dim_point_p;
+  static const Constraint_System* zero_dim_empty_p;
+
+  friend class Constraint_System_const_iterator;
+
+  friend bool operator==(const Constraint_System& x,
+                         const Constraint_System& y);
+
+  //! Builds an empty system of constraints having the specified topology.
+  explicit Constraint_System(Topology topol,
+                             Representation r = default_representation);
 
   /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$, as a closure point.
+    Builds a system of constraints on a \p space_dim dimensional space. If
+    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE> the \f$\epsilon\f$
+    dimension is added.
   */
-  static const Generator* zero_dim_closure_point_p;
+  Constraint_System(Topology topol, dimension_type space_dim,
+                    Representation r = default_representation);
+
+  //! Returns the number of equality constraints.
+  dimension_type num_equalities() const;
+
+  //! Returns the number of inequality constraints.
+  dimension_type num_inequalities() const;
 
   /*! \brief
-    Builds a generator of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of constraints.
+
+    It is assumed that the system has no pending constraints.
   */
-  Generator(Linear_Expression& e, Type type, Topology topology);
+  void simplify();
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Adjusts \p *this so that it matches \p new_topology and
+    \p new_space_dim (adding or removing columns if needed).
+    Returns <CODE>false</CODE> if and only if \p topol is
+    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
+    contains strict inequalities.
   */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
+  bool adjust_topology_and_space_dimension(Topology new_topology,
+                                           dimension_type new_space_dim);
+
+  //! Returns a constant reference to the \p k- th constraint of the system.
+  const Constraint& operator[](dimension_type k) const;
+
+  //! Returns <CODE>true</CODE> if \p g satisfies all the constraints.
+  bool satisfies_all_constraints(const Generator& g) const;
+
+  //! Substitutes a given column of coefficients by a given affine expression.
+  /*!
+    \param v
+    The variable to which the affine transformation is substituted.
+
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+
+    \param denominator
+    The denominator of the affine transformation.
+
+    We want to allow affine transformations
+    (see Section \ref Images_and_Preimages_of_Affine_Transfer_Relations)
+    having any rational coefficients. Since the coefficients of the
+    constraints are integers we must also provide an integer \p
+    denominator that will be used as denominator of the affine
+    transformation.
+    The denominator is required to be a positive integer.
+
+    The affine transformation substitutes the matrix of constraints
+    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
+    the old one \f$a_{ij}\f$ as follows:
+    \f[
+      {a'}_{ij} =
+        \begin{cases}
+          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
+            \quad \text{for } j \neq v; \\
+          \mathrm{expr}[v] * a_{iv}
+            \quad \text{for } j = v.
+        \end{cases}
+    \f]
+
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Inserts in \p *this a copy of the constraint \p c,
+    increasing the number of space dimensions if needed.
+    It is a pending constraint.
   */
-  void
-  throw_invalid_argument(const char* method, const char* reason) const;
+  void insert_pending(const Constraint& c);
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Sign;
-  friend class Parma_Polyhedra_Library::Topology_Adjusted_Scalar_Product_Assign;
-  friend class Parma_Polyhedra_Library::Generator_System;
-  friend class Parma_Polyhedra_Library::Generator_System::const_iterator;
-  // FIXME: the following friend declaration should be avoided.
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator;
-  // This is for access to Row and Linear_Row in `insert'.
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+  //! Adds low-level constraints to the constraint system.
+  void add_low_level_constraints();
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Generator& g);
+  //! Returns the system topology.
+  Topology topology() const;
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Generator& g);
+  dimension_type num_rows() const;
 
-  //! Copy constructor with given space dimension.
-  Generator(const Generator& g, dimension_type dimension);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
-  bool is_ray_or_point() const;
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_ray_or_point();
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
+
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
+
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
+
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
+
+  //! Makes the system shrink by removing its i-th row.
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
+  */
+  void remove_row(dimension_type i, bool keep_sorted = false);
+
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
+  /*!
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
+
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
+
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted = false);
+
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
+
+  //! Removes all the specified dimensions from the constraint system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
+
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
+
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  bool has_no_rows() const;
+
+  //! Strongly normalizes the system.
+  void strong_normalize();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the closure point
-    \p *this has the same \e coordinates of the point \p p.
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
 
-    It is \e assumed that \p *this is a closure point, \p p is a point
-    and both topologies and space dimensions agree.
+  /*! \brief
+    Adds the given row to the pending part of the system, stealing its
+    contents and automatically resizing the system or the row, if needed.
   */
-  bool is_matching_closure_point(const Generator& p) const;
+  void insert_pending(Constraint& r, Recycle_Input);
 
-  //! Default constructor: private and not implemented.
-  Generator();
-};
+  //! Adds the rows of `y' to the pending part of `*this', stealing them from
+  //! `y'.
+  void insert_pending(Constraint_System& r, Recycle_Input);
 
+  /*! \brief
+    Adds \p r to the system, stealing its contents and
+    automatically resizing the system or the row, if needed.
+  */
+  void insert(Constraint& r, Recycle_Input);
 
-namespace Parma_Polyhedra_Library {
+  //! Adds to \p *this a the rows of `y', stealing them from `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(Constraint_System& r, Recycle_Input);
 
-//! Shorthand for Generator Generator::line(const Linear_Expression& e).
-/*! \relates Generator */
-Generator line(const Linear_Expression& e);
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void insert_pending(const Constraint_System& r);
 
-//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
-/*! \relates Generator */
-Generator ray(const Linear_Expression& e);
+  /*! \brief
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
 
-/*! \brief
-  Shorthand for Generator
-  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+    Duplicated rows will occur only once in the result.
+    On entry, both systems are assumed to be sorted and have
+    no pending rows.
+  */
+  void merge_rows_assign(const Constraint_System& y);
 
-  \relates Generator
-*/
-Generator
-point(const Linear_Expression& e = Linear_Expression::zero(),
-      Coefficient_traits::const_reference d = Coefficient_one());
+  //! Adds to \p *this a copy of  the rows of \p y.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(const Constraint_System& y);
 
-/*! \brief
-  Shorthand for Generator
-  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+  //! Marks the epsilon dimension as a standard dimension.
+  /*!
+    The system topology is changed to <CODE>NOT_NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is increased by 1.
+  */
+  void mark_as_necessarily_closed();
 
-  \relates Generator
-*/
-Generator
-closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-	      Coefficient_traits::const_reference d = Coefficient_one());
+  //! Marks the last dimension as the epsilon dimension.
+  /*!
+    The system topology is changed to <CODE>NECESSARILY_CLOSED</CODE>, and
+    the number of space dimensions is decreased by 1.
+  */
+  void mark_as_not_necessarily_closed();
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Generator */
-bool operator==(const Generator& x, const Generator& y);
+  //! Minimizes the subsystem of equations contained in \p *this.
+  /*!
+    This method works only on the equalities of the system:
+    the system is required to be partially sorted, so that
+    all the equalities are grouped at its top; it is assumed that
+    the number of equalities is exactly \p n_lines_or_equalities.
+    The method finds a minimal system for the equalities and
+    returns its rank, i.e., the number of linearly independent equalities.
+    The result is an upper triangular subsystem of equalities:
+    for each equality, the pivot is chosen starting from
+    the right-most columns.
+  */
+  dimension_type gauss(dimension_type n_lines_or_equalities);
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Generator */
-bool operator!=(const Generator& x, const Generator& y);
+  /*! \brief
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+    Takes an upper triangular system having \p n_lines_or_equalities rows.
+    For each row, starting from the one having the minimum number of
+    coefficients different from zero, computes the expression of an element
+    as a function of the remaining ones and then substitutes this expression
+    in all the other rows.
+  */
+  void back_substitute(dimension_type n_lines_or_equalities);
 
-  The direction of the approximation is specified by \p dir.
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Constraint_System& y);
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+  /*! \brief
+    Sorts the pending rows and eliminates those that also occur
+    in the non-pending part of the system.
+  */
+  void sort_pending_and_remove_duplicates();
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
+  */
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
+
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
+  */
+  dimension_type num_lines_or_equalities() const;
+
+  //! Adds \p n rows and space dimensions to the system.
+  /*!
+    \param n
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
+
+    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
+    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
+    such that
+    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
+    where \f$J\f$ is the specular image
+    of the \f$n \times n\f$ identity matrix.
+  */
+  void add_universe_rows_and_space_dimensions(dimension_type n);
 
-  The direction of the approximation is specified by \p dir.
+  friend class Polyhedron;
+  friend class Termination_Helpers;
+};
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+//! An iterator over a system of constraints.
+/*! \ingroup PPL_CXX_interface
+  A const_iterator is used to provide read-only access
+  to each constraint contained in a Constraint_System object.
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
+  \par Example
+  The following code prints the system of constraints
+  defining the polyhedron <CODE>ph</CODE>:
+  \code
+const Constraint_System& cs = ph.constraints();
+for (Constraint_System::const_iterator i = cs.begin(),
+        cs_end = cs.end(); i != cs_end; ++i)
+  cout << *i << endl;
+  \endcode
 */
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+// NOTE: This is not an inner class of Constraint_System, so Constraint can
+// declare that this class is his friend without including this file
+// (the .types.hh file suffices).
+class Parma_Polyhedra_Library::Constraint_System_const_iterator
+  : public std::iterator<std::forward_iterator_tag,
+                         Constraint,
+                         ptrdiff_t,
+                         const Constraint*,
+                         const Constraint&> {
+public:
+  //! Default constructor.
+  Constraint_System_const_iterator();
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Generator
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Ordinary copy constructor.
+  Constraint_System_const_iterator(const Constraint_System_const_iterator& y);
 
-  The direction of the approximation is specified by \p dir.
+  //! Destructor.
+  ~Constraint_System_const_iterator();
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+  //! Assignment operator.
+  Constraint_System_const_iterator&
+  operator=(const Constraint_System_const_iterator& y);
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir,
-                                 Temp& tmp0,
-                                 Temp& tmp1,
-                                 Temp& tmp2);
+  //! Dereference operator.
+  const Constraint& operator*() const;
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Indirect member selector.
+  const Constraint* operator->() const;
 
-  The direction of the approximation is specified by \p dir.
+  //! Prefix increment operator.
+  Constraint_System_const_iterator& operator++();
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+  //! Postfix increment operator.
+  Constraint_System_const_iterator operator++(int);
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename To>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Generator& x,
-                               const Generator& y,
-                               Rounding_Dir dir);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const Constraint_System_const_iterator& y) const;
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const Constraint_System_const_iterator& y) const;
 
-  The direction of the approximation is specified by \p dir.
+private:
+  friend class Constraint_System;
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+  //! The const iterator over the matrix of constraints.
+  Linear_System<Constraint>::const_iterator i;
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Generator& x,
-                                 const Generator& y,
-                                 Rounding_Dir dir);
+  //! A const pointer to the matrix of constraints.
+  const Linear_System<Constraint>* csp;
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Generator
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Constructor.
+  Constraint_System_const_iterator(const Linear_System<Constraint>
+                                   ::const_iterator& iter,
+                                   const Constraint_System& cs);
 
-  The direction of the approximation is specified by \p dir.
+  //! \p *this skips to the next non-trivial constraint.
+  void skip_forward();
+};
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+namespace Parma_Polyhedra_Library {
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Generator& x,
-                               const Generator& y,
-                               Rounding_Dir dir,
-                               Temp& tmp0,
-                               Temp& tmp1,
-                               Temp& tmp2);
+namespace Implementation {
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Helper returning number of constraints in system.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+dimension_type
+num_constraints(const Constraint_System& cs);
 
-  The direction of the approximation is specified by \p dir.
+} // namespace Implementation
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+} // namespace Parma_Polyhedra_Library
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
+// Constraint_System.inlines.hh is not included here on purpose.
+
+/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 1. */
+/* Constraint_System class implementation: inline functions.
 */
-template <typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir);
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
 
-  The direction of the approximation is specified by \p dir.
+/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 28. */
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+namespace Parma_Polyhedra_Library {
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir);
+inline
+Constraint_System::Constraint_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+}
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Generator
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline
+Constraint_System::Constraint_System(const Constraint& c, Representation r)
+  : sys(c.topology(), r) {
+  sys.insert(c);
+}
 
-  The direction of the approximation is specified by \p dir.
+inline
+Constraint_System::Constraint_System(const Constraint_System& cs)
+  : sys(cs.sys) {
+}
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+inline
+Constraint_System::Constraint_System(const Constraint_System& cs,
+                                     Representation r)
+  : sys(cs.sys, r) {
+}
 
-  \note
-  Distances are \e only defined between generators that are points and/or
-  closure points; for rays or lines, \c false is returned.
-*/
-template <typename Temp, typename To>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Generator& x,
-                                const Generator& y,
-                                Rounding_Dir dir,
-                                Temp& tmp0,
-                                Temp& tmp1,
-                                Temp& tmp2);
+inline
+Constraint_System::Constraint_System(const Topology topol, Representation r)
+  : sys(topol, r) {
+}
 
-namespace IO_Operators {
+inline
+Constraint_System::Constraint_System(const Topology topol,
+				     const dimension_type space_dim,
+                                     Representation r)
+  : sys(topol, space_dim, r) {
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
+inline
+Constraint_System::~Constraint_System() {
+}
 
-} // namespace IO_Operators
+inline Constraint_System&
+Constraint_System::operator=(const Constraint_System& y) {
+  Constraint_System tmp = y;
+  swap(*this, tmp);
+  return *this;
+}
 
-} // namespace Parma_Polyhedra_Library
+inline const Constraint&
+Constraint_System::operator[](const dimension_type k) const {
+  return sys[k];
+}
 
-/* Automatically generated from PPL source file ../src/Generator.inlines.hh line 1. */
-/* Generator class implementation: inline functions.
-*/
+inline Representation
+Constraint_System::representation() const {
+  return sys.representation();
+}
 
+inline void
+Constraint_System::set_representation(Representation r) {
+  sys.set_representation(r);
+}
 
-namespace Parma_Polyhedra_Library {
+inline dimension_type
+Constraint_System::max_space_dimension() {
+  return Linear_System<Constraint>::max_space_dimension();
+}
 
-inline
-Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
-  PPL_ASSERT(type != CLOSURE_POINT || topology == NOT_NECESSARILY_CLOSED);
-  Linear_Row::swap(e);
-  flags() = Flags(topology, (type == LINE
-			     ? LINE_OR_EQUALITY
-			     : RAY_OR_POINT_OR_INEQUALITY));
+inline dimension_type
+Constraint_System::space_dimension() const {
+  return sys.space_dimension();
+}
+
+inline void
+Constraint_System::set_space_dimension(dimension_type space_dim) {
+  return sys.set_space_dimension(space_dim);
+}
+
+inline void
+Constraint_System::clear() {
+  sys.clear();
+}
+
+inline const Constraint_System&
+Constraint_System::zero_dim_empty() {
+  PPL_ASSERT(zero_dim_empty_p != 0);
+  return *zero_dim_empty_p;
 }
 
 inline
-Generator::Generator(const Generator& g)
-  : Linear_Row(g) {
+Constraint_System_const_iterator::Constraint_System_const_iterator()
+  : i(), csp(0) {
 }
 
 inline
-Generator::Generator(const Generator& g, dimension_type dimension)
-  : Linear_Row(g, dimension, dimension) {
+Constraint_System_const_iterator::Constraint_System_const_iterator(const Constraint_System_const_iterator& y)
+  : i(y.i), csp(y.csp) {
 }
 
 inline
-Generator::~Generator() {
+Constraint_System_const_iterator::~Constraint_System_const_iterator() {
 }
 
-inline Generator&
-Generator::operator=(const Generator& g) {
-  Linear_Row::operator=(g);
+inline Constraint_System_const_iterator&
+Constraint_System_const_iterator::operator=(const Constraint_System_const_iterator& y) {
+  i = y.i;
+  csp = y.csp;
   return *this;
 }
 
-inline dimension_type
-Generator::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+inline const Constraint&
+Constraint_System_const_iterator::operator*() const {
+  return *i;
 }
 
-inline dimension_type
-Generator::space_dimension() const {
-  return Linear_Row::space_dimension();
+inline const Constraint*
+Constraint_System_const_iterator::operator->() const {
+  return i.operator->();
 }
 
-inline bool
-Generator::is_line() const {
-  return is_line_or_equality();
+inline Constraint_System_const_iterator&
+Constraint_System_const_iterator::operator++() {
+  ++i;
+  skip_forward();
+  return *this;
 }
 
-inline bool
-Generator::is_ray_or_point() const {
-  return is_ray_or_point_or_inequality();
+inline Constraint_System_const_iterator
+Constraint_System_const_iterator::operator++(int) {
+  const Constraint_System_const_iterator tmp = *this;
+  operator++();
+  return tmp;
 }
 
 inline bool
-Generator::is_line_or_ray() const {
-  return (*this)[0] == 0;
+Constraint_System_const_iterator::operator==(const Constraint_System_const_iterator& y) const {
+  return i == y.i;
 }
 
 inline bool
-Generator::is_ray() const {
-  return is_ray_or_point() && is_line_or_ray();
+Constraint_System_const_iterator::operator!=(const Constraint_System_const_iterator& y) const {
+  return i != y.i;
 }
 
-inline Generator::Type
-Generator::type() const {
-  if (is_line())
-    return LINE;
-  if (is_line_or_ray())
-    return RAY;
-  if (is_necessarily_closed())
-    return POINT;
-  else {
-    // Checking the value of the epsilon coefficient.
-    const Generator& g = *this;
-    return (g[size() - 1] == 0) ? CLOSURE_POINT : POINT;
-  }
+inline
+Constraint_System_const_iterator::
+Constraint_System_const_iterator(const Linear_System<Constraint>::const_iterator& iter,
+	       const Constraint_System& cs)
+  : i(iter), csp(&cs.sys) {
 }
 
-inline bool
-Generator::is_point() const {
-  return type() == POINT;
+inline Constraint_System_const_iterator
+Constraint_System::begin() const {
+  const_iterator i(sys.begin(), *this);
+  i.skip_forward();
+  return i;
 }
 
-inline bool
-Generator::is_closure_point() const {
-  return type() == CLOSURE_POINT;
+inline Constraint_System_const_iterator
+Constraint_System::end() const {
+  const Constraint_System_const_iterator i(sys.end(), *this);
+  return i;
 }
 
-inline void
-Generator::set_is_line() {
-  set_is_line_or_equality();
+inline bool
+Constraint_System::empty() const {
+  return begin() == end();
 }
 
 inline void
-Generator::set_is_ray_or_point() {
-  set_is_ray_or_point_or_inequality();
-}
-
-inline Coefficient_traits::const_reference
-Generator::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Linear_Row::coefficient(v.id());
+Constraint_System::add_low_level_constraints() {
+  if (sys.is_necessarily_closed())
+    // The positivity constraint.
+    insert(Constraint::zero_dim_positivity());
+  else {
+    // Add the epsilon constraints.
+    insert(Constraint::epsilon_leq_one());
+    insert(Constraint::epsilon_geq_zero());
+  }
 }
 
-inline Coefficient_traits::const_reference
-Generator::divisor() const {
-  Coefficient_traits::const_reference d = Linear_Row::inhomogeneous_term();
-  if (!is_ray_or_point() || d == 0)
-    throw_invalid_argument("divisor()",
-			   "*this is neither a point nor a closure point");
-  return d;
+inline void
+Constraint_System::m_swap(Constraint_System& y) {
+  swap(sys, y.sys);
 }
 
 inline memory_size_type
-Generator::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+Constraint_System::external_memory_in_bytes() const {
+  return sys.external_memory_in_bytes();
 }
 
 inline memory_size_type
-Generator::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+Constraint_System::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
-inline const Generator&
-Generator::zero_dim_point() {
-  PPL_ASSERT(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
+inline void
+Constraint_System::simplify() {
+  sys.simplify();
 }
 
-inline const Generator&
-Generator::zero_dim_closure_point() {
-  PPL_ASSERT(zero_dim_closure_point_p != 0);
-  return *zero_dim_closure_point_p;
+inline Topology
+Constraint_System::topology() const {
+  return sys.topology();
 }
 
-/*! \relates Generator */
-inline Generator
-line(const Linear_Expression& e) {
-  return Generator::line(e);
+inline dimension_type
+Constraint_System::num_rows() const {
+  return sys.num_rows();
 }
 
-/*! \relates Generator */
-inline Generator
-ray(const Linear_Expression& e) {
-  return Generator::ray(e);
+inline bool
+Constraint_System::is_necessarily_closed() const {
+  return sys.is_necessarily_closed();
 }
 
-/*! \relates Generator */
-inline Generator
-point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
-  return Generator::point(e, d);
+inline dimension_type
+Constraint_System::num_pending_rows() const {
+  return sys.num_pending_rows();
 }
 
-/*! \relates Generator */
-inline Generator
-closure_point(const Linear_Expression& e,
-	      Coefficient_traits::const_reference d) {
-  return Generator::closure_point(e, d);
+inline dimension_type
+Constraint_System::first_pending_row() const {
+  return sys.first_pending_row();
 }
 
-/*! \relates Generator */
 inline bool
-operator==(const Generator& x, const Generator& y) {
-  return x.is_equivalent_to(y);
+Constraint_System::is_sorted() const {
+  return sys.is_sorted();
 }
 
-/*! \relates Generator */
-inline bool
-operator!=(const Generator& x, const Generator& y) {
-  return !x.is_equivalent_to(y);
+inline void
+Constraint_System::unset_pending_rows() {
+  sys.unset_pending_rows();
 }
 
 inline void
-Generator::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+Constraint_System::set_index_first_pending_row(dimension_type i) {
+  sys.set_index_first_pending_row(i);
 }
 
-inline bool
-Generator::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+inline void
+Constraint_System::set_sorted(bool b) {
+  sys.set_sorted(b);
 }
 
 inline void
-Generator::swap(Generator& y) {
-  Linear_Row::swap(y);
+Constraint_System::remove_row(dimension_type i, bool keep_sorted) {
+  sys.remove_row(i, keep_sorted);
 }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Generator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization, typename Temp, typename To>
-inline bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const Generator& x,
-		    const Generator& y,
-		    const Rounding_Dir dir,
-		    Temp& tmp0,
-		    Temp& tmp1,
-		    Temp& tmp2) {
-  // Generator kind compatibility check: we only compute distances
-  // between (closure) points.
-  if (x.is_line_or_ray() || y.is_line_or_ray())
-    return false;
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
-
-  // All zero-dim generators have distance zero.
-  if (x_space_dim == 0) {
-    assign_r(r, 0, ROUND_NOT_NEEDED);
-    return true;
-  }
-
-  PPL_DIRTY_TEMP0(mpq_class, x_coord);
-  PPL_DIRTY_TEMP0(mpq_class, y_coord);
-  PPL_DIRTY_TEMP0(mpq_class, x_div);
-  PPL_DIRTY_TEMP0(mpq_class, y_div);
-  assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
-  assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
-
-  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
-  for (dimension_type i = x_space_dim; i-- > 0; ) {
-    assign_r(x_coord, x.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    div_assign_r(x_coord, x_coord, x_div, ROUND_NOT_NEEDED);
-    assign_r(y_coord, y.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    div_assign_r(y_coord, y_coord, y_div, ROUND_NOT_NEEDED);
-    const Temp* tmp1p;
-    const Temp* tmp2p;
-
-    if (x_coord > y_coord) {
-      maybe_assign(tmp1p, tmp1, x_coord, dir);
-      maybe_assign(tmp2p, tmp2, y_coord, inverse(dir));
-    }
-    else {
-      maybe_assign(tmp1p, tmp1, y_coord, dir);
-      maybe_assign(tmp2p, tmp2, x_coord, inverse(dir));
-    }
-    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    PPL_ASSERT(sgn(tmp1) >= 0);
-    Specialization::combine(tmp0, tmp1, dir);
-  }
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
-  return true;
+inline void
+Constraint_System::remove_rows(dimension_type first, dimension_type last,
+                               bool keep_sorted) {
+  sys.remove_rows(first, last, keep_sorted);
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
+inline void
+Constraint_System::remove_rows(const std::vector<dimension_type>& indexes) {
+  sys.remove_rows(indexes);
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+inline void
+Constraint_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
 }
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Generator& x,
-			    const Generator& y,
-			    const Rounding_Dir dir) {
-  return rectilinear_distance_assign<To, To>(r, x, y, dir);
+inline void
+Constraint_System
+::remove_space_dimensions(const Variables_Set& vars) {
+  sys.remove_space_dimensions(vars);
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
+inline void
+Constraint_System
+::shift_space_dimensions(Variable v, dimension_type n) {
+  sys.shift_space_dimensions(v, n);
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+inline void
+Constraint_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  sys.permute_space_dimensions(cycle);
 }
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Generator& x,
-			  const Generator& y,
-			  const Rounding_Dir dir) {
-  return euclidean_distance_assign<To, To>(r, x, y, dir);
+inline void
+Constraint_System
+::swap_space_dimensions(Variable v1, Variable v2) {
+  sys.swap_space_dimensions(v1, v2);
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
 inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
+Constraint_System::has_no_rows() const {
+  return sys.has_no_rows();
 }
 
-/*! \relates Generator */
-template <typename Temp, typename To>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+inline void
+Constraint_System::strong_normalize() {
+  sys.strong_normalize();
 }
 
-/*! \relates Generator */
-template <typename To>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Generator& x,
-			   const Generator& y,
-			   const Rounding_Dir dir) {
-  return l_infinity_distance_assign<To, To>(r, x, y, dir);
+inline void
+Constraint_System::sort_rows() {
+  sys.sort_rows();
 }
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Constraint_System::insert_pending(Constraint_System& r, Recycle_Input) {
+  sys.insert_pending(r.sys, Recycle_Input());
+}
 
-namespace std {
+inline void
+Constraint_System::insert(Constraint_System& r, Recycle_Input) {
+  sys.insert(r.sys, Recycle_Input());
+}
 
-/*! \relates Parma_Polyhedra_Library::Generator */
 inline void
-swap(Parma_Polyhedra_Library::Generator& x,
-     Parma_Polyhedra_Library::Generator& y) {
-  x.swap(y);
+Constraint_System::insert_pending(const Constraint_System& r) {
+  sys.insert_pending(r.sys);
 }
 
-} // namespace std
+inline void
+Constraint_System::merge_rows_assign(const Constraint_System& y) {
+  sys.merge_rows_assign(y.sys);
+}
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 723. */
+inline void
+Constraint_System::insert(const Constraint_System& y) {
+  sys.insert(y.sys);
+}
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 1. */
-/* Congruence class declaration.
-*/
+inline void
+Constraint_System::mark_as_necessarily_closed() {
+  sys.mark_as_necessarily_closed();
+}
 
+inline void
+Constraint_System::mark_as_not_necessarily_closed() {
+  sys.mark_as_not_necessarily_closed();
+}
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 1. */
-/* Congruence_System class declaration.
-*/
+inline dimension_type
+Constraint_System::gauss(dimension_type n_lines_or_equalities) {
+  return sys.gauss(n_lines_or_equalities);
+}
 
+inline void
+Constraint_System::back_substitute(dimension_type n_lines_or_equalities) {
+  sys.back_substitute(n_lines_or_equalities);
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.types.hh line 1. */
+inline void
+Constraint_System::assign_with_pending(const Constraint_System& y) {
+  sys.assign_with_pending(y.sys);
+}
 
+inline void
+Constraint_System::sort_pending_and_remove_duplicates() {
+  sys.sort_pending_and_remove_duplicates();
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Constraint_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  sys.sort_and_remove_with_sat(sat);
+}
 
-class Grid_Certificate;
+inline bool
+Constraint_System::check_sorted() const {
+  return sys.check_sorted();
+}
 
+inline dimension_type
+Constraint_System::num_lines_or_equalities() const {
+  return sys.num_lines_or_equalities();
 }
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 35. */
-#include <iosfwd>
+inline void
+Constraint_System::add_universe_rows_and_space_dimensions(dimension_type n) {
+  sys.add_universe_rows_and_space_dimensions(n);
+}
 
-namespace Parma_Polyhedra_Library {
+inline bool
+operator==(const Constraint_System& x, const Constraint_System& y) {
+  return x.sys == y.sys;
+}
 
-namespace IO_Operators {
+inline bool
+operator!=(const Constraint_System& x, const Constraint_System& y) {
+  return !(x == y);
+}
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Congruence_System
-  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
-  \p s the congruences of \p cgs, all in one row and separated by ", ".
-*/
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
+/*! \relates Constraint_System */
+inline void
+swap(Constraint_System& x, Constraint_System& y) {
+  x.m_swap(y);
+}
 
-} // namespace IO_Operators
+namespace Implementation {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline dimension_type
+num_constraints(const Constraint_System& cs) {
+  return static_cast<dimension_type>(std::distance(cs.begin(), cs.end()));
+}
+
+} // namespace Implementation
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 1. */
+/* Congruence_System class declaration.
+*/
+
 
-namespace std {
+/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 35. */
+#include <iosfwd>
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y);
+namespace Parma_Polyhedra_Library {
 
-} // namespace std
+/*! \relates Congruence_System */
+bool
+operator==(const Congruence_System& x, const Congruence_System& y);
+
+}
 
 //! A system of congruences.
 /*! \ingroup PPL_CXX_interface
@@ -21611,13 +43175,23 @@ swap(Parma_Polyhedra_Library::Congruence_System& x,
     reordered, removed (if they are trivial, duplicate or
     implied by other congruences), linearly combined, etc.
 */
-class Parma_Polyhedra_Library::Congruence_System : private Matrix {
+class Parma_Polyhedra_Library::Congruence_System {
 public:
+
+  typedef Congruence row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of congruences.
-  Congruence_System();
+  explicit Congruence_System(Representation r = default_representation);
+
+  //! Builds an empty (i.e. zero rows) system of dimension \p d.
+  explicit Congruence_System(dimension_type d,
+                             Representation r = default_representation);
 
   //! Builds the singleton system containing only congruence \p cg.
-  explicit Congruence_System(const Congruence& cg);
+  explicit Congruence_System(const Congruence& cg,
+                             Representation r = default_representation);
 
   /*! \brief
     If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
@@ -21627,19 +43201,35 @@ public:
     \exception std::invalid_argument
     Thrown if \p c is not an equality constraint.
   */
-  explicit Congruence_System(const Constraint& c);
+  explicit Congruence_System(const Constraint& c,
+                             Representation r = default_representation);
 
   //! Builds a system containing copies of any equalities in \p cs.
-  explicit Congruence_System(const Constraint_System& cs);
+  explicit Congruence_System(const Constraint_System& cs,
+                             Representation r = default_representation);
 
   //! Ordinary copy constructor.
+  /*!
+    \note
+    The new Congruence_System will have the same Representation as `cgs'
+    so that it's indistinguishable from `cgs'.
+  */
   Congruence_System(const Congruence_System& cgs);
 
+  //! Copy constructor with specified representation.
+  Congruence_System(const Congruence_System& cgs, Representation r);
+
   //! Destructor.
   ~Congruence_System();
 
   //! Assignment operator.
-  Congruence_System& operator=(const Congruence_System& cgs);
+  Congruence_System& operator=(const Congruence_System& y);
+
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
   //! Returns the maximum space dimension a Congruence_System can handle.
   static dimension_type max_space_dimension();
@@ -21649,9 +43239,9 @@ public:
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this is exactly equal
-    to \p cgs.
+    to \p y.
   */
-  bool is_equal_to(const Congruence_System& cgs) const;
+  bool is_equal_to(const Congruence_System& y) const;
 
   /*! \brief
     Returns <CODE>true</CODE> if and only if \p *this contains one or
@@ -21672,6 +43262,14 @@ public:
   void insert(const Congruence& cg);
 
   /*! \brief
+    Inserts in \p *this the congruence \p cg, stealing its contents and
+    increasing the number of space dimensions if needed.
+
+    \p cg will be strongly normalized.
+  */
+  void insert(Congruence& cg, Recycle_Input);
+
+  /*! \brief
     Inserts in \p *this a copy of the equality constraint \p c, seen
     as a modulo 0 congruence, increasing the number of space
     dimensions if needed.
@@ -21684,21 +43282,21 @@ public:
   */
   void insert(const Constraint& c);
 
-  // TODO: Consider adding a recycling_insert(cg).
+  // TODO: Consider adding a insert(cg, Recycle_Input).
 
   /*! \brief
-    Inserts in \p *this a copy of the congruences in \p cgs,
+    Inserts in \p *this a copy of the congruences in \p y,
     increasing the number of space dimensions if needed.
 
     The inserted copies will be strongly normalized.
   */
-  void insert(const Congruence_System& cgs);
+  void insert(const Congruence_System& y);
 
   /*! \brief
     Inserts into \p *this the congruences in \p cgs, increasing the
     number of space dimensions if needed.
   */
-  void recycling_insert(Congruence_System& cgs);
+  void insert(Congruence_System& cgs, Recycle_Input);
 
   //! Initializes the class.
   static void initialize();
@@ -21743,935 +43341,1426 @@ public:
     //! Assignment operator.
     const_iterator& operator=(const const_iterator& y);
 
-    //! Dereference operator.
-    const Congruence& operator*() const;
+    //! Dereference operator.
+    const Congruence& operator*() const;
+
+    //! Indirect member selector.
+    const Congruence* operator->() const;
+
+    //! Prefix increment operator.
+    const_iterator& operator++();
+
+    //! Postfix increment operator.
+    const_iterator operator++(int);
+
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      identical.
+    */
+    bool operator==(const const_iterator& y) const;
+
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
+    */
+    bool operator!=(const const_iterator& y) const;
+
+  private:
+    friend class Congruence_System;
+
+    //! The const iterator over the vector of congruences.
+    Swapping_Vector<Congruence>::const_iterator i;
+
+    //! A const pointer to the vector of congruences.
+    const Swapping_Vector<Congruence>* csp;
+
+    //! Constructor.
+    const_iterator(const Swapping_Vector<Congruence>::const_iterator& iter,
+		   const Congruence_System& cgs);
+
+    //! \p *this skips to the next non-trivial congruence.
+    void skip_forward();
+  };
+
+  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
+  bool empty() const;
+
+  /*! \brief
+    Returns the const_iterator pointing to the first congruence, if \p
+    *this is not empty; otherwise, returns the past-the-end
+    const_iterator.
+  */
+  const_iterator begin() const;
+
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
+
+  //! Checks if all the invariants are satisfied.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*!
+    Returns <CODE>true</CODE> if and only if all rows have space dimension
+    space_dimension_, each row in the system is a valid Congruence and the
+    space dimension is consistent with the number of congruences.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
+
+  //! Returns the number of equalities.
+  dimension_type num_equalities() const;
+
+  //! Returns the number of proper congruences.
+  dimension_type num_proper_congruences() const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Congruence_System& y);
+
+  /*! \brief
+    Adds \p dims rows and \p dims space dimensions to the matrix,
+    initializing the added rows as in the unit congruence system.
+
+    \param dims
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
+
+    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims) \times
+    (c+dims)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{0}{A} \genfrac{}{}{0pt}{}{B}{A}\bigr)\f$
+    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
+    \f$\bigl(\genfrac{}{}{0pt}{}{0}{1} \genfrac{}{}{0pt}{}{1}{0}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_unit_rows_and_space_dimensions(dimension_type dims);
+
+  //! Permutes the space dimensions of the system.
+  /*!
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
+
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  //! Sets the number of space dimensions to \p new_space_dim.
+  /*!
+    If \p new_space_dim is lower than the current space dimension, the
+    coefficients referring to the removed space dimensions are lost.
+  */
+  bool set_space_dimension(dimension_type new_space_dim);
+
+  // Note: the following method is protected to allow tests/Grid/congruences2
+  // to call it using a derived class.
+protected:
+  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
+  bool satisfies_all_congruences(const Grid_Generator& g) const;
+
+private:
+  //! Returns the number of rows in the system.
+  dimension_type num_rows() const;
+
+  //! Returns \c true if num_rows()==0.
+  bool has_no_rows() const;
+
+  //! Returns a constant reference to the \p k- th congruence of the system.
+  const Congruence& operator[](dimension_type k) const;
+
+  //! Adjusts all expressions to have the same moduli.
+  void normalize_moduli();
+
+  /*! \brief
+    Substitutes a given column of coefficients by a given affine
+    expression.
+
+    \param v
+    Index of the column to which the affine transformation is
+    substituted;
+
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+
+    \param denominator
+    The denominator of the affine transformation.
+
+    We allow affine transformations (see the Section \ref
+    rational_grid_operations) to have rational
+    coefficients. Since the coefficients of linear expressions are
+    integers we also provide an integer \p denominator that will
+    be used as denominator of the affine transformation.  The
+    denominator is required to be a positive integer and its default value
+    is 1.
+
+    The affine transformation substitutes the matrix of congruences
+    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
+    the old one \f$a_{ij}\f$ as follows:
+    \f[
+      {a'}_{ij} =
+        \begin{cases}
+          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
+            \quad \text{for } j \neq v; \\
+          \mathrm{expr}[v] * a_{iv}
+            \quad \text{for } j = v.
+        \end{cases}
+    \f]
+
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_preimage(Variable v,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator);
+
+  // TODO: Consider making this private.
+  /*! \brief
+    Concatenates copies of the congruences from \p y onto \p *this.
+
+    \param y
+    The congruence system to append to \p this.  The number of rows in
+    \p y must be strictly positive.
+
+    The matrix for the new system of congruences is obtained by
+    leaving the old system in the upper left-hand side and placing the
+    congruences of \p y in the lower right-hand side, and padding
+    with zeroes.
+  */
+  void concatenate(const Congruence_System& y);
+
+  /*! \brief
+    Inserts in \p *this the congruence \p cg, stealing its contents and
+    increasing the number of space dimensions if needed.
+
+    This method inserts \p cg in the given form, instead of first strong
+    normalizing \p cg as \ref insert would do.
+  */
+  void insert_verbatim(Congruence& cg, Recycle_Input);
+
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    If \p keep_sorted is <CODE>true</CODE>, the ordering of the remaining rows
+    will be preserved.
+  */
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted);
+
+  void remove_trailing_rows(dimension_type n);
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Congruence::zero_dim_false().
+  */
+  static const Congruence_System* zero_dim_empty_p;
+
+  Swapping_Vector<Congruence> rows;
+
+  dimension_type space_dimension_;
+
+  Representation representation_;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if any of the dimensions in
+    \p *this is free of constraint.
+
+    Any equality or proper congruence affecting a dimension constrains
+    that dimension.
+
+    This method assumes the system is in minimal form.
+  */
+  bool has_a_free_dimension() const;
+
+  friend class Grid;
+
+  friend bool
+  operator==(const Congruence_System& x, const Congruence_System& y);
+};
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Congruence_System
+  Writes <CODE>true</CODE> if \p cgs is empty.  Otherwise, writes on
+  \p s the congruences of \p cgs, all in one row and separated by ", ".
+*/
+std::ostream&
+operator<<(std::ostream& s, const Congruence_System& cgs);
+
+} // namespace IO_Operators
+
+/*! \relates Congruence_System */
+void
+swap(Congruence_System& x, Congruence_System& y);
+
+} // namespace Parma_Polyhedra_Library
+
+// Congruence_System.inlines.hh is not included here on purpose.
+
+/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 1. */
+/* Congruence_System class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline const Congruence&
+Congruence_System::operator[](const dimension_type k) const {
+  return rows[k];
+}
+
+inline dimension_type
+Congruence_System::num_rows() const {
+  return rows.size();
+}
+
+inline bool
+Congruence_System::has_no_rows() const {
+  return num_rows() == 0;
+}
+
+inline void
+Congruence_System::remove_trailing_rows(dimension_type n) {
+  PPL_ASSERT(num_rows() >= n);
+  rows.resize(num_rows() - n);
+}
+
+inline void
+Congruence_System::insert(const Congruence& cg) {
+  Congruence tmp = cg;
+  insert(tmp, Recycle_Input());
+}
+
+inline void
+Congruence_System::insert(Congruence& cg, Recycle_Input) {
+  PPL_ASSERT(cg.OK());
+  cg.strong_normalize();
+  PPL_ASSERT(cg.OK());
+  insert_verbatim(cg, Recycle_Input());
+  PPL_ASSERT(OK());
+}
+
+inline
+Congruence_System::Congruence_System(Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
+}
+
+inline
+Congruence_System::Congruence_System(const Congruence& cg, Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
+  insert(cg);
+}
+
+inline
+Congruence_System::Congruence_System(const Constraint& c, Representation r)
+  : rows(),
+    space_dimension_(0),
+    representation_(r) {
+  insert(c);
+}
+
+inline
+Congruence_System::Congruence_System(const Congruence_System& cgs)
+  : rows(cgs.rows),
+    space_dimension_(cgs.space_dimension_),
+    representation_(cgs.representation_) {
+}
+
+inline
+Congruence_System::Congruence_System(const Congruence_System& cgs,
+                                     Representation r)
+  : rows(cgs.rows),
+    space_dimension_(cgs.space_dimension_),
+    representation_(r) {
+  if (cgs.representation() != r) {
+    for (dimension_type i = 0; i < num_rows(); ++i)
+      rows[i].set_representation(representation());
+  }
+}
+
+inline
+Congruence_System::Congruence_System(const dimension_type d, Representation r)
+  : rows(),
+    space_dimension_(d),
+    representation_(r) {
+}
+
+inline
+Congruence_System::~Congruence_System() {
+}
+
+inline Congruence_System&
+Congruence_System::operator=(const Congruence_System& y) {
+  Congruence_System tmp = y;
+  swap(*this, tmp);
+  return *this;
+}
+
+inline Representation
+Congruence_System::representation() const {
+  return representation_;
+}
+
+inline void
+Congruence_System::set_representation(Representation r) {
+  if (representation_ == r)
+    return;
+  representation_ = r;
+  for (dimension_type i = 0; i < num_rows(); ++i)
+    rows[i].set_representation(r);
+  PPL_ASSERT(OK());
+}
+
+inline dimension_type
+Congruence_System::max_space_dimension() {
+  return Congruence::max_space_dimension();
+}
+
+inline dimension_type
+Congruence_System::space_dimension() const {
+  return space_dimension_;
+}
+
+inline void
+Congruence_System::clear() {
+  rows.clear();
+  space_dimension_ = 0;
+}
+
+inline const Congruence_System&
+Congruence_System::zero_dim_empty() {
+  PPL_ASSERT(zero_dim_empty_p != 0);
+  return *zero_dim_empty_p;
+}
+
+inline
+Congruence_System::const_iterator::const_iterator()
+  : i(), csp(0) {
+}
+
+inline
+Congruence_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i), csp(y.csp) {
+}
+
+inline
+Congruence_System::const_iterator::~const_iterator() {
+}
+
+inline Congruence_System::const_iterator&
+Congruence_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  csp = y.csp;
+  return *this;
+}
+
+inline const Congruence&
+Congruence_System::const_iterator::operator*() const {
+  return *i;
+}
+
+inline const Congruence*
+Congruence_System::const_iterator::operator->() const {
+  return i.operator->();
+}
+
+inline Congruence_System::const_iterator&
+Congruence_System::const_iterator::operator++() {
+  ++i;
+  skip_forward();
+  return *this;
+}
+
+inline Congruence_System::const_iterator
+Congruence_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
+
+inline bool
+Congruence_System::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
+}
+
+inline bool
+Congruence_System::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
+}
+
+inline
+Congruence_System::const_iterator::
+const_iterator(const Swapping_Vector<Congruence>::const_iterator& iter,
+	       const Congruence_System& cgs)
+  : i(iter), csp(&cgs.rows) {
+}
+
+inline Congruence_System::const_iterator
+Congruence_System::begin() const {
+  const_iterator i(rows.begin(), *this);
+  i.skip_forward();
+  return i;
+}
+
+inline Congruence_System::const_iterator
+Congruence_System::end() const {
+  const const_iterator i(rows.end(), *this);
+  return i;
+}
+
+inline bool
+Congruence_System::empty() const {
+  return begin() == end();
+}
+
+inline void
+Congruence_System::m_swap(Congruence_System& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(space_dimension_, y.space_dimension_);
+  swap(representation_, y.representation_);
+  PPL_ASSERT(OK());
+  PPL_ASSERT(y.OK());
+}
+
+inline memory_size_type
+Congruence_System::external_memory_in_bytes() const {
+  return rows.external_memory_in_bytes();
+}
+
+inline memory_size_type
+Congruence_System::total_memory_in_bytes() const {
+  return rows.external_memory_in_bytes() + sizeof(*this);
+}
+
+/*! \relates Congruence_System */
+inline void
+swap(Congruence_System& x, Congruence_System& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
 
-    //! Indirect member selector.
-    const Congruence* operator->() const;
+/* Automatically generated from PPL source file ../src/Box.inlines.hh line 33. */
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+namespace Parma_Polyhedra_Library {
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+template <typename ITV>
+inline bool
+Box<ITV>::marked_empty() const {
+  return status.test_empty_up_to_date() && status.test_empty();
+}
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      identical.
-    */
-    bool operator==(const const_iterator& y) const;
+template <typename ITV>
+inline void
+Box<ITV>::set_empty() {
+  status.set_empty();
+  status.set_empty_up_to_date();
+}
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      different.
-    */
-    bool operator!=(const const_iterator& y) const;
+template <typename ITV>
+inline void
+Box<ITV>::set_nonempty() {
+  status.reset_empty();
+  status.set_empty_up_to_date();
+}
 
-  private:
-    friend class Congruence_System;
+template <typename ITV>
+inline void
+Box<ITV>::set_empty_up_to_date() {
+  status.set_empty_up_to_date();
+}
 
-    //! The const iterator over the matrix of congruences.
-    Matrix::const_iterator i;
+template <typename ITV>
+inline void
+Box<ITV>::reset_empty_up_to_date() {
+  return status.reset_empty_up_to_date();
+}
 
-    //! A const pointer to the matrix of congruences.
-    const Matrix* csp;
+template <typename ITV>
+inline
+Box<ITV>::Box(const Box& y, Complexity_Class)
+  : seq(y.seq), status(y.status) {
+}
 
-    //! Constructor.
-    const_iterator(const Matrix::const_iterator& iter,
-		   const Congruence_System& cgs);
+template <typename ITV>
+inline Box<ITV>&
+Box<ITV>::operator=(const Box& y) {
+  seq = y.seq;
+  status = y.status;
+  return *this;
+}
 
-    //! \p *this skips to the next non-trivial congruence.
-    void skip_forward();
-  };
+template <typename ITV>
+inline void
+Box<ITV>::m_swap(Box& y) {
+  Box& x = *this;
+  using std::swap;
+  swap(x.seq, y.seq);
+  swap(x.status, y.status);
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
-  bool empty() const;
+template <typename ITV>
+inline
+Box<ITV>::Box(const Constraint_System& cs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(cs);
+  this->m_swap(tmp);
+}
 
-  /*! \brief
-    Returns the const_iterator pointing to the first congruence, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
-  */
-  const_iterator begin() const;
+template <typename ITV>
+inline
+Box<ITV>::Box(const Generator_System& gs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(gs);
+  this->m_swap(tmp);
+}
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+template <typename ITV>
+inline
+Box<ITV>::Box(const Congruence_System& cgs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(cgs);
+  this->m_swap(tmp);
+}
 
-  //! Checks if all the invariants are satisfied.
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Matrix, each row in the system is a valid Congruence and the
-    number of columns is consistent with the number of congruences.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
+template <typename ITV>
+inline memory_size_type
+Box<ITV>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  PPL_OUTPUT_DECLARATIONS
+template <typename ITV>
+inline dimension_type
+Box<ITV>::space_dimension() const {
+  return seq.size();
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+template <typename ITV>
+inline dimension_type
+Box<ITV>::max_space_dimension() {
+  // One dimension is reserved to have a value of type dimension_type
+  // that does not represent a legal dimension.
+  return Sequence().max_size() - 1;
+}
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+template <typename ITV>
+inline int32_t
+Box<ITV>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+template <typename ITV>
+inline const ITV&
+Box<ITV>::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < seq.size());
+  return seq[k];
+}
 
-  //! Returns the number of equalities.
-  dimension_type num_equalities() const;
+template <typename ITV>
+inline const ITV&
+Box<ITV>::get_interval(const Variable var) const {
+  if (space_dimension() < var.space_dimension())
+    throw_dimension_incompatible("get_interval(v)", "v", var);
 
-  //! Returns the number of proper congruences.
-  dimension_type num_proper_congruences() const;
+  if (is_empty()) {
+    static ITV empty_interval(EMPTY);
+    return empty_interval;
+  }
 
-  //! Swaps \p *this with \p y.
-  void swap(Congruence_System& cgs);
+  return seq[var.id()];
+}
 
-  /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the unit congruence system.
+template <typename ITV>
+inline void
+Box<ITV>::set_interval(const Variable var, const ITV& i) {
+  const dimension_type space_dim = space_dimension();
+  if (space_dim < var.space_dimension())
+    throw_dimension_incompatible("set_interval(v, i)", "v", var);
 
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+  if (is_empty() && space_dim >= 2)
+    // If the box is empty, and has dimension >= 2, setting only one
+    // interval will not make it non-empty.
+    return;
 
-    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims) \times
-    (c+dims)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{0}{A} \genfrac{}{}{0pt}{}{B}{A}\bigr)\f$
-    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
-    \f$\bigl(\genfrac{}{}{0pt}{}{0}{1} \genfrac{}{}{0pt}{}{1}{0}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_unit_rows_and_columns(dimension_type dims);
+  seq[var.id()] = i;
+  reset_empty_up_to_date();
 
-protected:
+  PPL_ASSERT(OK());
+}
 
-  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
-  bool satisfies_all_congruences(const Grid_Generator& g) const;
+template <typename ITV>
+inline bool
+Box<ITV>::is_empty() const {
+  return marked_empty() || check_empty();
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Congruence::zero_dim_false().
-  */
-  static const Congruence_System* zero_dim_empty_p;
+template <typename ITV>
+inline bool
+Box<ITV>::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
+}
 
-  //! Builds an empty (i.e. zero rows) system of dimension \p d.
-  explicit Congruence_System(dimension_type d);
+template <typename ITV>
+inline bool
+Box<ITV>::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
+}
 
-  /*! \brief
-    Concatenates copies of the congruences from \p cgs onto \p *this.
+template <typename ITV>
+inline bool
+Box<ITV>::maximize(const Linear_Expression& expr,
+                   Coefficient& sup_n, Coefficient& sup_d,
+                   bool& maximum) const {
+  return max_min(expr, true, sup_n, sup_d, maximum);
+}
 
-    \param cgs
-    The congruence system to append to \p this.  The number of rows in
-    \p cgs must be strictly positive.
+template <typename ITV>
+inline bool
+Box<ITV>::maximize(const Linear_Expression& expr,
+                   Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+                   Generator& g) const {
+  return max_min(expr, true, sup_n, sup_d, maximum, g);
+}
 
-    The matrix for the new system of congruences is obtained by
-    leaving the old system in the upper left-hand side and placing the
-    congruences of \p cgs in the lower right-hand side, and padding
-    with zeroes.
-  */
-  void concatenate(const Congruence_System& cgs);
+template <typename ITV>
+inline bool
+Box<ITV>::minimize(const Linear_Expression& expr,
+                   Coefficient& inf_n, Coefficient& inf_d,
+                   bool& minimum) const {
+  return max_min(expr, false, inf_n, inf_d, minimum);
+}
 
-  //! Adjusts all expressions to have the same moduli.
-  void normalize_moduli();
+template <typename ITV>
+inline bool
+Box<ITV>::minimize(const Linear_Expression& expr,
+                   Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+                   Generator& g) const {
+  return max_min(expr, false, inf_n, inf_d, minimum, g);
+}
 
-  //! Increase the number of space dimensions to \p new_space_dim.
-  /*!
-    \p new_space_dim must at least equal to the current space
-    dimension.
-  */
-  bool increase_space_dimension(dimension_type new_space_dim);
+template <typename ITV>
+inline bool
+Box<ITV>::strictly_contains(const Box& y) const {
+  const Box& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
-  /*! \brief
-    Inserts in \p *this an exact copy of the congruence \p cg,
-    increasing the number of space dimensions if needed.
+template <typename ITV>
+inline void
+Box<ITV>::expand_space_dimension(const Variable var,
+                                 const dimension_type m) {
+  const dimension_type space_dim = space_dimension();
+  // `var' should be one of the dimensions of the vector space.
+  if (var.space_dimension() > space_dim)
+    throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
 
-    This method inserts a copy of \p cg in the given form, instead of
-    first strong normalizing \p cg as \ref insert would do.
-  */
-  void insert_verbatim(const Congruence& cg);
+  // The space dimension of the resulting Box should not
+  // overflow the maximum allowed space dimension.
+  if (m > max_space_dimension() - space_dim)
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
-  friend class const_iterator;
-  friend class Grid;
-  friend class Grid_Certificate;
+  // To expand the space dimension corresponding to variable `var',
+  // we append to the box `m' copies of the corresponding interval.
+  seq.insert(seq.end(), m, seq[var.id()]);
+  PPL_ASSERT(OK());
+}
 
-  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
-			Parma_Polyhedra_Library::Congruence_System& y);
+template <typename ITV>
+inline bool
+operator!=(const Box<ITV>& x, const Box<ITV>& y) {
+  return !(x == y);
+}
 
-  friend bool
-  operator==(const Congruence_System& x, const Congruence_System& y);
+template <typename ITV>
+inline bool
+Box<ITV>::has_lower_bound(const Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const {
+  // NOTE: assertion !is_empty() would be wrong;
+  // see the calls in method Box<ITV>::constraints().
+  PPL_ASSERT(!marked_empty());
+  const dimension_type k = var.id();
+  PPL_ASSERT(k < seq.size());
+  const ITV& seq_k = seq[k];
 
-  //! Returns the \p k- th congruence of the system.
-  Congruence& operator[](dimension_type k);
+  if (seq_k.lower_is_boundary_infinity())
+    return false;
 
-  //! Returns a constant reference to the \p k- th congruence of the system.
-  const Congruence& operator[](dimension_type k) const;
+  closed = !seq_k.lower_is_open();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if any of the dimensions in
-    \p *this is free of constraint.
+  PPL_DIRTY_TEMP(mpq_class, lr);
+  assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
+  n = lr.get_num();
+  d = lr.get_den();
 
-    Any equality or proper congruence affecting a dimension constrains
-    that dimension.
+  return true;
+}
 
-    This method assumes the system is in minimal form.
-  */
-  bool has_a_free_dimension() const;
+template <typename ITV>
+inline bool
+Box<ITV>::has_upper_bound(const Variable var,
+                          Coefficient& n, Coefficient& d, bool& closed) const {
+  // NOTE: assertion !is_empty() would be wrong;
+  // see the calls in method Box<ITV>::constraints().
+  PPL_ASSERT(!marked_empty());
+  const dimension_type k = var.id();
+  PPL_ASSERT(k < seq.size());
+  const ITV& seq_k = seq[k];
 
-  /*! \brief
-    Substitutes a given column of coefficients by a given affine
-    expression.
+  if (seq_k.upper_is_boundary_infinity())
+    return false;
 
-    \param v
-    Index of the column to which the affine transformation is
-    substituted;
+  closed = !seq_k.upper_is_open();
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+  PPL_DIRTY_TEMP(mpq_class, ur);
+  assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
+  n = ur.get_num();
+  d = ur.get_den();
 
-    \param denominator
-    The denominator of the affine transformation.
+  return true;
+}
 
-    We allow affine transformations (see the Section \ref
-    rational_grid_operations) to have rational
-    coefficients. Since the coefficients of linear expressions are
-    integers we also provide an integer \p denominator that will
-    be used as denominator of the affine transformation.  The
-    denominator is required to be a positive integer and its default value
-    is 1.
+template <typename ITV>
+inline void
+Box<ITV>::add_constraint(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dimension())
+    throw_dimension_incompatible("add_constraint(c)", c);
 
-    The affine transformation substitutes the matrix of congruences
-    by a new matrix whose elements \f${a'}_{ij}\f$ are built from
-    the old one \f$a_{ij}\f$ as follows:
-    \f[
-      {a'}_{ij} =
-        \begin{cases}
-          a_{ij} * \mathrm{denominator} + a_{iv} * \mathrm{expr}[j]
-            \quad \text{for } j \neq v; \\
-          \mathrm{expr}[v] * a_{iv}
-            \quad \text{for } j = v.
-        \end{cases}
-    \f]
+  add_constraint_no_check(c);
+}
 
-    \p expr is a constant parameter and unaltered by this computation.
-  */
-  void affine_preimage(dimension_type v,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator);
+template <typename ITV>
+inline void
+Box<ITV>::add_constraints(const Constraint_System& cs) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("add_constraints(cs)", cs);
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+  add_constraints_no_check(cs);
+}
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+template <typename T>
+inline void
+Box<T>::add_recycled_constraints(Constraint_System& cs) {
+  add_constraints(cs);
+}
 
-  //! Resizes the system without worrying about the old contents.
-  /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+template <typename ITV>
+inline void
+Box<ITV>::add_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dimension())
+    throw_dimension_incompatible("add_congruence(cg)", cg);
 
-    \param new_num_columns
-    The number of columns of the resized system.
+  add_congruence_no_check(cg);
+}
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
-  */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
-};
+template <typename ITV>
+inline void
+Box<ITV>::add_congruences(const Congruence_System& cgs) {
+  if (cgs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("add_congruences(cgs)", cgs);
+  add_congruences_no_check(cgs);
+}
 
-// Congruence_System.inlines.hh is not included here on purpose.
+template <typename T>
+inline void
+Box<T>::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 37. */
-#include <iosfwd>
+template <typename T>
+inline bool
+Box<T>::can_recycle_constraint_systems() {
+  return false;
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T>
+inline bool
+Box<T>::can_recycle_congruence_systems() {
+  return false;
+}
 
-namespace IO_Operators {
+template <typename T>
+inline void
+Box<T>::widening_assign(const Box& y, unsigned* tp) {
+  CC76_widening_assign(y, tp);
+}
 
-//! Output operators.
+template <typename ITV>
+inline Congruence_System
+Box<ITV>::minimized_congruences() const {
+  // Only equalities can be congruences and these are already minimized.
+  return congruences();
+}
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-std::ostream&
-operator<<(std::ostream& s, const Congruence& c);
+template <typename ITV>
+inline I_Result
+Box<ITV>
+::refine_interval_no_check(ITV& itv,
+                           const Constraint::Type type,
+                           Coefficient_traits::const_reference numer,
+                           Coefficient_traits::const_reference denom) {
+  PPL_ASSERT(denom != 0);
+  // The interval constraint is of the form
+  // `var + numer / denom rel 0',
+  // where `rel' is either the relation `==', `>=', or `>'.
+  // For the purpose of refining the interval, this is
+  // (morally) turned into `var rel -numer/denom'.
+  PPL_DIRTY_TEMP(mpq_class, q);
+  assign_r(q.get_num(), numer, ROUND_NOT_NEEDED);
+  assign_r(q.get_den(), denom, ROUND_NOT_NEEDED);
+  q.canonicalize();
+  // Turn `numer/denom' into `-numer/denom'.
+  q = -q;
 
-// Put this in the namespace here to declare it a friend later.
+  Relation_Symbol rel_sym;
+  switch (type) {
+  case Constraint::EQUALITY:
+    rel_sym = EQUAL;
+    break;
+  case Constraint::NONSTRICT_INEQUALITY:
+    rel_sym = (denom > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
+    break;
+  case Constraint::STRICT_INEQUALITY:
+    rel_sym = (denom > 0) ? GREATER_THAN : LESS_THAN;
+    break;
+  default:
+    // Silence compiler warning.
+    PPL_UNREACHABLE;
+    return I_ANY;
+  }
+  I_Result res = itv.add_constraint(i_constraint(rel_sym, q));
+  PPL_ASSERT(itv.OK());
+  return res;
+}
 
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
+template <typename ITV>
+inline void
+Box<ITV>
+::add_interval_constraint_no_check(const dimension_type var_id,
+                                   const Constraint::Type type,
+                                   Coefficient_traits::const_reference numer,
+                                   Coefficient_traits::const_reference denom) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(var_id < space_dimension());
+  PPL_ASSERT(denom != 0);
+  refine_interval_no_check(seq[var_id], type, numer, denom);
+  // FIXME: do check the value returned and set `empty' and
+  // `empty_up_to_date' as appropriate.
+  // This has to be done after reimplementation of intervals.
+  reset_empty_up_to_date();
+  PPL_ASSERT(OK());
+}
 
+template <typename ITV>
+inline void
+Box<ITV>::refine_with_constraint(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dimension())
+    throw_dimension_incompatible("refine_with_constraint(c)", c);
 
-} // namespace IO_Operators
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-// Put these in the namespace here to declare them friend later.
+  refine_no_check(c);
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
-/*! \relates Congruence */
-bool
-operator==(const Congruence& x, const Congruence& y);
+template <typename ITV>
+inline void
+Box<ITV>::refine_with_constraints(const Constraint_System& cs) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("refine_with_constraints(cs)", cs);
 
-//! Returns <CODE>false</CODE> if and only if \p x and \p y are equivalent.
-/*! \relates Congruence */
-bool
-operator!=(const Congruence& x, const Congruence& y);
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
+  refine_no_check(cs);
+}
 
-//! Returns the congruence \f$e = n \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+template <typename ITV>
+inline void
+Box<ITV>::refine_with_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dimension())
+    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
 
-//! Returns a copy of \p cg, multiplying \p k into the copy's modulus.
-/*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  \relates Congruence
-*/
-Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-//! Creates a congruence from \p c, with \p m as the modulus.
-/*! \relates Congruence */
-Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m);
+  refine_no_check(cg);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename ITV>
+inline void
+Box<ITV>::refine_with_congruences(const Congruence_System& cgs) {
+  // Dimension-compatibility check.
+  if (cgs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("refine_with_congruences(cgs)", cgs);
 
-namespace std {
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence */
-void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y);
+  refine_no_check(cgs);
+}
 
-} // namespace std
+template <typename ITV>
+inline void
+Box<ITV>::propagate_constraint(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dimension())
+    throw_dimension_incompatible("propagate_constraint(c)", c);
 
-//! A linear congruence.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Congruence is a congruence:
-  - \f$\cg = \sum_{i=0}^{n-1} a_i x_i + b = 0 \pmod m\f$
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-  where \f$n\f$ is the dimension of the space,
-  \f$a_i\f$ is the integer coefficient of variable \f$x_i\f$,
-  \f$b\f$ is the integer inhomogeneous term and \f$m\f$ is the integer modulus;
-  if \f$m = 0\f$, then \f$\cg\f$ represents the equality congruence
-  \f$\sum_{i=0}^{n-1} a_i x_i + b = 0\f$
-  and, if \f$m \neq 0\f$, then the congruence \f$\cg\f$ is
-  said to be a proper congruence.
+  propagate_constraint_no_check(c);
+}
 
-  \par How to build a congruence
-  Congruences \f$\pmod{1}\f$ are typically built by
-  applying the congruence symbol `<CODE>\%=</CODE>'
-  to a pair of linear expressions.
-  Congruences with modulus \p m
-  are typically constructed by building a congruence \f$\pmod{1}\f$
-  using the given pair of linear expressions
-  and then adding the modulus \p m
-  using the modulus symbol is `<CODE>/</CODE>'.
+template <typename ITV>
+inline void
+Box<ITV>::propagate_constraints(const Constraint_System& cs,
+                                const dimension_type max_iterations) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("propagate_constraints(cs)", cs);
 
-  The space dimension of a congruence is defined as the maximum
-  space dimension of the arguments of its constructor.
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-  \par
-  In the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  \endcode
+  propagate_constraints_no_check(cs, max_iterations);
+}
 
-  \par Example 1
-  The following code builds the equality congruence
-  \f$3x + 5y - z = 0\f$, having space dimension \f$3\f$:
-  \code
-  Congruence eq_cg((3*x + 5*y - z %= 0) / 0);
-  \endcode
-  The following code builds the congruence
-  \f$4x = 2y - 13 \pmod{1}\f$, having space dimension \f$2\f$:
-  \code
-  Congruence mod1_cg(4*x %= 2*y - 13);
-  \endcode
-  The following code builds the congruence
-  \f$4x = 2y - 13 \pmod{2}\f$, having space dimension \f$2\f$:
-  \code
-  Congruence mod2_cg((4*x %= 2*y - 13) / 2);
-  \endcode
-  An unsatisfiable congruence on the zero-dimension space \f$\Rset^0\f$
-  can be specified as follows:
-  \code
-  Congruence false_cg = Congruence::zero_dim_false();
-  \endcode
-  Equivalent, but more involved ways are the following:
-  \code
-  Congruence false_cg1((Linear_Expression::zero() %= 1) / 0);
-  Congruence false_cg2((Linear_Expression::zero() %= 1) / 2);
-  \endcode
-  In contrast, the following code defines an unsatisfiable congruence
-  having space dimension \f$3\f$:
-  \code
-  Congruence false_cg3((0*z %= 1) / 0);
-  \endcode
+template <typename ITV>
+inline void
+Box<ITV>::unconstrain(const Variable var) {
+  const dimension_type var_id = var.id();
+  // Dimension-compatibility check.
+  if (space_dimension() < var_id + 1)
+    throw_dimension_incompatible("unconstrain(var)", var_id + 1);
 
-  \par How to inspect a congruence
-  Several methods are provided to examine a congruence and extract
-  all the encoded information: its space dimension, its modulus
-  and the value of its integer coefficients.
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-  \par Example 2
-  The following code shows how it is possible to access the modulus
-  as well as each of the coefficients.
-  Given a congruence with linear expression \p e and modulus \p m
-  (in this case \f$x - 5y + 3z = 4 \pmod{5}\f$), we construct a new
-  congruence with the same modulus \p m but where the linear
-  expression is \f$2 e\f$ (\f$2x - 10y + 6z = 8 \pmod{5}\f$).
-  \code
-  Congruence cg1((x - 5*y + 3*z %= 4) / 5);
-  cout << "Congruence cg1: " << cg1 << endl;
-  const Coefficient& m = cg1.modulus();
-  if (m == 0)
-    cout << "Congruence cg1 is an equality." << endl;
-  else {
-    Linear_Expression e;
-    for (dimension_type i = cg1.space_dimension(); i-- > 0; )
-      e += 2 * cg1.coefficient(Variable(i)) * Variable(i);
-      e += 2 * cg1.inhomogeneous_term();
-    Congruence cg2((e %= 0) / m);
-    cout << "Congruence cg2: " << cg2 << endl;
-  }
-  \endcode
-  The actual output could be the following:
-  \code
-  Congruence cg1: A - 5*B + 3*C %= 4 / 5
-  Congruence cg2: 2*A - 10*B + 6*C %= 8 / 5
-  \endcode
-  Note that, in general, the particular output obtained can be
-  syntactically different from the (semantically equivalent)
-  congruence considered.
-*/
-class Parma_Polyhedra_Library::Congruence : private Row {
-public:
-  //! Ordinary copy constructor.
-  Congruence(const Congruence& cg);
+  // Here the box might still be empty (but we haven't detected it yet):
+  // check emptiness of the interval for `var' before cylindrification.
+  ITV& seq_var = seq[var_id];
+  if (seq_var.is_empty())
+    set_empty();
+  else
+    seq_var.assign(UNIVERSE);
 
-  //! Copy-constructs (modulo 0) from equality constraint \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p c is an inequality.
-  */
-  explicit Congruence(const Constraint& c);
+  PPL_ASSERT(OK());
+}
 
-  //! Destructor.
-  ~Congruence();
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Assignment operator.
-  Congruence& operator=(const Congruence& cg);
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Returns the maximum space dimension a Congruence can handle.
-  static dimension_type max_space_dimension();
+/*! \relates Box */
+template <typename To, typename ITV>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Box<ITV>& x,
+			    const Box<ITV>& y,
+			    const Rounding_Dir dir) {
+  // FIXME: the following qualification is only to work around a bug
+  // in the Intel C/C++ compiler version 10.1.x.
+  return Parma_Polyhedra_Library
+    ::rectilinear_distance_assign<To, To, ITV>(r, x, y, dir);
+}
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument thrown if the index of \p v
-    is greater than or equal to the space dimension of \p *this.
-  */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+/*! \relates Box */
+template <typename To, typename ITV>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Box<ITV>& x,
+			  const Box<ITV>& y,
+			  const Rounding_Dir dir) {
+  // FIXME: the following qualification is only to work around a bug
+  // in the Intel C/C++ compiler version 10.1.x.
+  return Parma_Polyhedra_Library
+    ::euclidean_distance_assign<To, To, ITV>(r, x, y, dir);
+}
 
-  //! Returns a const reference to the modulus of \p *this.
-  Coefficient_traits::const_reference modulus() const;
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
+    (r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Multiplies \p k into the modulus of \p *this.
-  /*!
-    If called with \p *this representing the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then it returns with *this representing
-    the congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  */
-  Congruence&
-  operator/=(Coefficient_traits::const_reference k);
+/*! \relates Box */
+template <typename Temp, typename To, typename ITV>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a tautology
-    (i.e., an always true congruence).
+/*! \relates Box */
+template <typename To, typename ITV>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Box<ITV>& x,
+			   const Box<ITV>& y,
+			   const Rounding_Dir dir) {
+  // FIXME: the following qualification is only to work around a bug
+  // in the Intel C/C++ compiler version 10.1.x.
+  return Parma_Polyhedra_Library
+    ::l_infinity_distance_assign<To, To, ITV>(r, x, y, dir);
+}
 
-    A tautological congruence has one the following two forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + 0 == 0\f$; or
-    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
-      where \f$b = 0 \pmod{m}\f$.
-  */
-  bool is_tautological() const;
+/*! \relates Box */
+template <typename ITV>
+inline void
+swap(Box<ITV>& x, Box<ITV>& y) {
+  x.m_swap(y);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false congruence).
+} // namespace Parma_Polyhedra_Library
 
-    An inconsistent congruence has one of the following two forms:
-    - an equality: \f$\sum_{i=0}^{n-1} 0 x_i + b == 0\f$
-      where \f$b \neq 0\f$; or
-    - a proper congruence: \f$\sum_{i=0}^{n-1} 0 x_i + b \%= 0 / m\f$,
-      where \f$b \neq 0 \pmod{m}\f$.
-  */
-  bool is_inconsistent() const;
+/* Automatically generated from PPL source file ../src/Box.templates.hh line 1. */
+/* Box class implementation: non-inline template functions.
+*/
 
-  //! Returns <CODE>true</CODE> if the modulus is greater than zero.
-  /*!
-    A congruence with a modulus of 0 is a linear equality.
-  */
-  bool is_proper_congruence() const;
 
-  //! Returns <CODE>true</CODE> if \p *this is an equality.
-  /*!
-    A modulus of zero denotes a linear equality.
-  */
-  bool is_equality() const;
+/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 1. */
+/* Generator_System class declaration.
+*/
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
-    dimension \p dim.
-  */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Congruence& cg) const;
 
-  //! Initializes the class.
-  static void initialize();
+/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 28. */
 
-  //! Finalizes the class.
-  static void finalize();
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 1. */
+/* Poly_Con_Relation class declaration.
+*/
 
-  /*! \brief
-    Returns a reference to the true (zero-dimension space) congruence
-    \f$0 = 1 \pmod{1}\f$, also known as the <EM>integrality
-    congruence</EM>.
-  */
-  static const Congruence& zero_dim_integrality();
 
-  /*! \brief
-    Returns a reference to the false (zero-dimension space) congruence
-    \f$0 = 1 \pmod{0}\f$.
-  */
-  static const Congruence& zero_dim_false();
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 29. */
+#include <iosfwd>
 
-  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e1, const Linear_Expression& e2);
+namespace Parma_Polyhedra_Library {
 
-  //! Returns the congruence \f$e = n \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+// Put them in the namespace here to declare them friend later.
 
-  //! Returns the congruence \f$n = e \pmod{1}\f$.
-  static Congruence
-  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
+//! True if and only if \p x and \p y are logically equivalent.
+/*! \relates Poly_Con_Relation */
+bool operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+//! True if and only if \p x and \p y are not logically equivalent.
+/*! \relates Poly_Con_Relation */
+bool operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+//! Yields the logical conjunction of \p x and \p y.
+/*! \relates Poly_Con_Relation */
+Poly_Con_Relation operator&&(const Poly_Con_Relation& x,
+			     const Poly_Con_Relation& y);
 
-  PPL_OUTPUT_DECLARATIONS
+/*! \brief
+  Yields the assertion with all the conjuncts of \p x
+  that are not in \p y.
 
-  /*! \brief
-    Loads from \p s an ASCII representation of the internal
-    representation of \p *this.
-  */
-  bool ascii_load(std::istream& s);
+  \relates Poly_Con_Relation
+*/
+Poly_Con_Relation operator-(const Poly_Con_Relation& x,
+			    const Poly_Con_Relation& y);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+namespace IO_Operators {
 
-protected:
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
+std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
 
-  //! Normalizes the signs.
-  /*!
-    The signs of the coefficients and the inhomogeneous term are
-    normalized, leaving the first non-zero homogeneous coefficient
-    positive.
-  */
-  void sign_normalize();
+} // namespace IO_Operators
 
-  //! Normalizes signs and the inhomogeneous term.
-  /*!
-    Applies sign_normalize, then reduces the inhomogeneous term to the
-    smallest possible positive number.
-  */
-  void normalize();
+} // namespace Parma_Polyhedra_Library
 
-  //! Calls normalize, then divides out common factors.
-  /*!
-    Strongly normalized Congruences have equivalent semantics if and
-    only if their syntaxes (as output by operator<<) are equal.
-  */
-  void strong_normalize();
 
+//! The relation between a polyhedron and a constraint.
+/*! \ingroup PPL_CXX_interface
+  This class implements conjunctions of assertions on the relation
+  between a polyhedron and a constraint.
+*/
+class Parma_Polyhedra_Library::Poly_Con_Relation {
 private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
-  */
-  static const Congruence* zero_dim_false_p;
-
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the true (zero-dimension space) congruence \f$0 = 1 \pmod{1}\f$,
-    also known as the <EM>integrality congruence</EM>.
-  */
-  static const Congruence* zero_dim_integrality_p;
+  //! Poly_Con_Relation is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-  //! Marks this congruence as a linear equality.
-  void set_is_equality();
+  //! \name Bit-masks for the individual assertions
+  //@{
+  static const flags_t NOTHING             = 0U;
+  static const flags_t IS_DISJOINT         = 1U << 0;
+  static const flags_t STRICTLY_INTERSECTS = 1U << 1;
+  static const flags_t IS_INCLUDED         = 1U << 2;
+  static const flags_t SATURATES           = 1U << 3;
+  //@} // Bit-masks for the individual assertions
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+  //! All assertions together.
+  static const flags_t EVERYTHING
+  = IS_DISJOINT
+  | STRICTLY_INTERSECTS
+  | IS_INCLUDED
+  | SATURATES;
 
-  //! Default constructor: private and not implemented.
-  Congruence();
+  //! This holds the current bitset.
+  flags_t flags;
 
-  //! Copy-constructs with specified size and capacity.
-  Congruence(const Congruence& cg,
-	     dimension_type sz,
-	     dimension_type capacity);
+  //! True if and only if the conjunction \p x implies the conjunction \p y.
+  static bool implies(flags_t x, flags_t y);
 
-  //! Constructs from a constraint, with specified size and capacity.
-  Congruence(const Constraint& c,
-	     dimension_type sz,
-	     dimension_type capacity);
+  //! Construct from a bit-mask.
+  Poly_Con_Relation(flags_t mask);
 
-  //! Copy-constructs from \p cg, multiplying \p k into the modulus.
-  /*!
-    If \p cg represents the congruence \f$ e_1 = e_2
-    \pmod{m}\f$, then the result represents the
-    congruence \f$ e_1 = e_2 \pmod{mk}\f$.
-  */
-  Congruence(const Congruence& cg, Coefficient_traits::const_reference k);
+  friend bool
+  operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+  friend bool
+  operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-  //! Constructs from Linear_Expression \p le, using modulus \p m.
-  /*!
-    Builds a congruence with modulus \p m, stealing the coefficients
-    from \p le.
+  friend Poly_Con_Relation
+  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-    \param le
-    The Linear_Expression holding the coefficients.
+  friend Poly_Con_Relation
+  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
 
-    \param m
-    The modulus for the congruence, which must be zero or greater.
+  friend std::ostream&
+  Parma_Polyhedra_Library::
+  IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r);
+
+public:
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Access the internal flags: this is needed for some language
+    interfaces.
   */
-  Congruence(Linear_Expression& le,
-	     Coefficient_traits::const_reference m);
+#endif
+  flags_t get_flags() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Congruence& y);
+public:
+  //! The assertion that says nothing.
+  static Poly_Con_Relation nothing();
 
   /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    error message \p message.
+    The polyhedron and the set of points satisfying
+    the constraint are disjoint.
   */
-  void
-  throw_invalid_argument(const char* method, const char* message) const;
+  static Poly_Con_Relation is_disjoint();
 
   /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    the appropriate error message.
+    The polyhedron intersects the set of points satisfying
+    the constraint, but it is not included in it.
   */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* v_name,
-			       Variable v) const;
-
-  friend Congruence
-  operator/(const Congruence& cg, Coefficient_traits::const_reference k);
-  friend Congruence
-  operator/(const Constraint& c, Coefficient_traits::const_reference m);
+  static Poly_Con_Relation strictly_intersects();
 
-  friend bool
-  operator==(const Congruence& x, const Congruence& y);
+  /*! \brief
+    The polyhedron is included in the set of points satisfying
+    the constraint.
+  */
+  static Poly_Con_Relation is_included();
 
-  friend bool
-  operator!=(const Congruence& x, const Congruence& y);
+  /*! \brief
+    The polyhedron is included in the set of points saturating
+    the constraint.
+  */
+  static Poly_Con_Relation saturates();
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s,
-	       const Congruence_System& cgs);
+  PPL_OUTPUT_DECLARATIONS
 
-  friend class Parma_Polyhedra_Library::Scalar_Products;
-  friend class Parma_Polyhedra_Library::Constraint;
-  friend class Parma_Polyhedra_Library::Congruence_System;
-  friend class Parma_Polyhedra_Library::Congruence_System::const_iterator;
-  // FIXME: The following friend declaration is at least for
-  //        operator[] access in Grid::conversion.
-  friend class Parma_Polyhedra_Library::Grid;
-  friend class Parma_Polyhedra_Library::Linear_Expression;
+  //! True if and only if \p *this implies \p y.
+  bool implies(const Poly_Con_Relation& y) const;
 
-  friend void
-  std::swap(Parma_Polyhedra_Library::Congruence& x,
-	    Parma_Polyhedra_Library::Congruence& y);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 };
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 1. */
-/* Congruence class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.inlines.hh line 1. */
+/* Poly_Con_Relation class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 29. */
-
-#include <sstream>
-
 namespace Parma_Polyhedra_Library {
 
 inline
-Congruence::Congruence(const Congruence& cg)
-  : Row(cg) {
-}
-
-inline
-Congruence::Congruence(const Congruence& cg,
-		       dimension_type sz, dimension_type capacity)
-  : Row(cg, sz, capacity) {
-}
-
-inline
-Congruence::Congruence(const Congruence& cg,
-		       Coefficient_traits::const_reference k)
-  : Row(cg) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
-}
-
-inline
-Congruence::~Congruence() {
-}
-
-inline
-Congruence::Congruence(Linear_Expression& le,
-		       Coefficient_traits::const_reference m) {
-  Row::swap(static_cast<Row&>(le));
-  PPL_ASSERT(m >= 0);
-  (*this)[size()-1] = m;
-}
-
-inline Congruence
-Congruence::create(const Linear_Expression& e,
-		   Coefficient_traits::const_reference n) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
-  diff -= n;
-  Congruence cg(diff, 1);
-  return cg;
-}
-
-inline Congruence
-Congruence::create(Coefficient_traits::const_reference n,
-		   const Linear_Expression& e) {
-  // Ensure that diff has capacity for the modulus.
-  Linear_Expression diff(e, e.space_dimension() + 2);
-  diff -= n;
-  Congruence cg(diff, 1);
-  return cg;
-}
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return Congruence::create(e1, e2);
-}
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return Congruence::create(e, n);
-}
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
-  Congruence ret(cg, k);
-  return ret;
+Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
+  : flags(mask) {
 }
 
-inline const Congruence&
-Congruence::zero_dim_integrality() {
-  return *zero_dim_integrality_p;
+inline Poly_Con_Relation::flags_t
+Poly_Con_Relation::get_flags() const {
+  return flags;
 }
 
-inline const Congruence&
-Congruence::zero_dim_false() {
-  return *zero_dim_false_p;
+inline Poly_Con_Relation
+Poly_Con_Relation::nothing() {
+  return Poly_Con_Relation(NOTHING);
 }
 
-inline Congruence&
-Congruence::operator=(const Congruence& c) {
-  Row::operator=(c);
-  return *this;
+inline Poly_Con_Relation
+Poly_Con_Relation::is_disjoint() {
+  return Poly_Con_Relation(IS_DISJOINT);
 }
 
-/*! \relates Congruence */
-inline Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m) {
-  Congruence ret(c);
-  return ret / m;
+inline Poly_Con_Relation
+Poly_Con_Relation::strictly_intersects() {
+  return Poly_Con_Relation(STRICTLY_INTERSECTS);
 }
 
-inline Congruence&
-Congruence::operator/=(Coefficient_traits::const_reference k) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
-  return *this;
+inline Poly_Con_Relation
+Poly_Con_Relation::is_included() {
+  return Poly_Con_Relation(IS_INCLUDED);
 }
 
-/*! \relates Congruence */
-inline bool
-operator==(const Congruence& x, const Congruence& y) {
-  Congruence x_temp(x);
-  Congruence y_temp(y);
-  x_temp.strong_normalize();
-  y_temp.strong_normalize();
-  return static_cast<const Row&>(x_temp) == static_cast<const Row&>(y_temp);
+inline Poly_Con_Relation
+Poly_Con_Relation::saturates() {
+  return Poly_Con_Relation(SATURATES);
 }
 
-/*! \relates Congruence */
 inline bool
-operator!=(const Congruence& x, const Congruence& y) {
-  return !(x == y);
-}
-
-inline dimension_type
-Congruence::max_space_dimension() {
-  // The first coefficient holds the inhomogeneous term, while
-  // the last coefficient is for the modulus.
-  return max_size() - 2;
-}
-
-inline dimension_type
-Congruence::space_dimension() const {
-  return size() - 2;
-}
-
-inline Coefficient_traits::const_reference
-Congruence::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return (*this)[v.id()+1];
-}
-
-inline Coefficient_traits::const_reference
-Congruence::inhomogeneous_term() const {
-  return (*this)[0];
-}
-
-inline Coefficient_traits::const_reference
-Congruence::modulus() const {
-  PPL_ASSERT(size() > 1);
-  return (*this)[size()-1];
+Poly_Con_Relation::implies(flags_t x, flags_t y) {
+  return (x & y) == y;
 }
 
 inline bool
-Congruence::is_proper_congruence() const {
-  return modulus() > 0;
+Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
+  return implies(flags, y.flags);
 }
 
+/*! \relates Poly_Con_Relation */
 inline bool
-Congruence::is_equality() const {
-  return modulus() == 0;
+operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags == y.flags;
 }
 
+/*! \relates Poly_Con_Relation */
 inline bool
-Congruence::is_equal_at_dimension(dimension_type dim,
-				  const Congruence& cg) const {
-  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
-}
-
-inline void
-Congruence::set_is_equality() {
-  (*this)[size()-1] = 0;
-}
-
-inline void
-Congruence::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
-}
-
-inline memory_size_type
-Congruence::external_memory_in_bytes() const {
-  return Row::external_memory_in_bytes();
+operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags != y.flags;
 }
 
-inline memory_size_type
-Congruence::total_memory_in_bytes() const {
-  return Row::total_memory_in_bytes();
+/*! \relates Poly_Con_Relation */
+inline Poly_Con_Relation
+operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return Poly_Con_Relation(x.flags | y.flags);
 }
 
-inline void
-Congruence::swap(Congruence& y) {
-  Row::swap(y);
+/*! \relates Poly_Con_Relation */
+inline Poly_Con_Relation
+operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return Poly_Con_Relation(x.flags & ~y.flags);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y) {
-  x.swap(y);
-}
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 479. */
-
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 1. */
-/* Grid_Generator class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 1. */
-/* Grid_Generator_System class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Variables_Set.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-class Variables_Set;
-
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 165. */
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 32. */
+/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 35. */
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -22680,44 +44769,47 @@ namespace IO_Operators {
 
 //! Output operator.
 /*!
-  \relates Parma_Polyhedra_Library::Grid_Generator_System
+  \relates Parma_Polyhedra_Library::Generator_System
   Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
   \p s the generators of \p gs, all in one row and separated by ", ".
 */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
+std::ostream& operator<<(std::ostream& s, const Generator_System& gs);
 
 } // namespace IO_Operators
 
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates Grid_Generator_System */
-bool operator==(const Grid_Generator_System& x,
-		const Grid_Generator_System& y);
-
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
+/*! \relates Generator_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Generator_System& x, const Generator_System& y);
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator_System */
-void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
-	  Parma_Polyhedra_Library::Grid_Generator_System& y);
+// TODO: Consider removing this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Generator_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Generator_System& x, const Generator_System& y);
 
-} // namespace std
+/*! \relates Generator_System */
+void
+swap(Generator_System& x, Generator_System& y);
 
+} // namespace Parma_Polyhedra_Library
 
-//! A system of grid generators.
+//! A system of generators.
 /*! \ingroup PPL_CXX_interface
-    An object of the class Grid_Generator_System is a system of
-    grid generators, i.e., a multiset of objects of the class
-    Grid_Generator (lines, parameters and points).
-    When inserting generators in a system, space dimensions are
-    automatically adjusted so that all the generators in the system
-    are defined on the same vector space.
-    A system of grid generators which is meant to define a non-empty
-    grid must include at least one point: the reason is that
-    lines and parameters need a supporting point
-    (lines only specify directions while parameters only
-    specify direction and distance.
+    An object of the class Generator_System is a system of generators,
+    i.e., a multiset of objects of the class Generator
+    (lines, rays, points and closure points).
+    When inserting generators in a system, space dimensions are automatically
+    adjusted so that all the generators in the system are defined
+    on the same vector space.
+    A system of generators which is meant to define a non-empty
+    polyhedron must include at least one point: the reason is that
+    lines, rays and closure points need a supporting point
+    (lines and rays only specify directions while closure points only
+    specify points in the topological closure of the NNC polyhedron).
 
     \par
      In all the examples it is assumed that variables
@@ -22732,147 +44824,153 @@ void swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
     as the \f$x\f$ axis (i.e., the first Cartesian axis)
     in \f$\Rset^2\f$:
     \code
-  Grid_Generator_System gs;
-  gs.insert(grid_line(x + 0*y));
+  Generator_System gs;
+  gs.insert(line(x + 0*y));
     \endcode
     As said above, this system of generators corresponds to
-    an empty grid, because the line has no supporting point.
+    an empty polyhedron, because the line has no supporting point.
     To define a system of generators that does correspond to
     the \f$x\f$ axis, we can add the following code which
     inserts the origin of the space as a point:
     \code
-  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(point(0*x + 0*y));
     \endcode
     Since space dimensions are automatically adjusted, the following
     code obtains the same effect:
     \code
-  gs.insert(grid_point(0*x));
+  gs.insert(point(0*x));
     \endcode
     In contrast, if we had added the following code, we would have
     defined a line parallel to the \f$x\f$ axis through
     the point \f$(0, 1)^\transpose \in \Rset^2\f$.
     \code
-  gs.insert(grid_point(0*x + 1*y));
+  gs.insert(point(0*x + 1*y));
     \endcode
 
     \par Example 2
-    The following code builds a system of generators corresponding
-    to the grid consisting of all the integral points on the \f$x\f$ axes;
-    that is, all points satisfying the congruence relation
+    The following code builds a ray having the same direction as
+    the positive part of the \f$x\f$ axis in \f$\Rset^2\f$:
+    \code
+  Generator_System gs;
+  gs.insert(ray(x + 0*y));
+    \endcode
+    To define a system of generators indeed corresponding to the set
     \f[
       \bigl\{\,
         (x, 0)^\transpose \in \Rset^2
       \bigm|
-        x \pmod{1}\ 0
+        x \geq 0
       \,\bigr\},
     \f]
+    one just has to add the origin:
     \code
-  Grid_Generator_System gs;
-  gs.insert(parameter(x + 0*y));
-  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(point(0*x + 0*y));
     \endcode
 
     \par Example 3
-    The following code builds a system of generators having three points
-    corresponding to a non-relational grid consisting of all points
-    whose coordinates are integer multiple of 3.
+    The following code builds a system of generators having four points
+    and corresponding to a square in \f$\Rset^2\f$
+    (the same as Example 1 for the system of constraints):
     \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_point(0*x + 3*y));
-  gs.insert(grid_point(3*x + 0*y));
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + 3*y));
+  gs.insert(point(3*x + 0*y));
+  gs.insert(point(3*x + 3*y));
     \endcode
 
     \par Example 4
-    By using parameters instead of two of the points we
-    can define the same grid as that defined in the previous example.
-    Note that there has to be at least one point and, for this purpose,
-    any point in the grid could be considered.
-    Thus the following code builds two identical grids from the
-    grid generator systems \p gs and \p gs1.
+    By using closure points, we can define the \e kernel
+    (i.e., the largest open set included in a given set)
+    of the square defined in the previous example.
+    Note that a supporting point is needed and, for that purpose,
+    any inner point could be considered.
     \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(parameter(0*x + 3*y));
-  gs.insert(parameter(3*x + 0*y));
-  Grid_Generator_System gs1;
-  gs1.insert(grid_point(3*x + 3*y));
-  gs1.insert(parameter(0*x + 3*y));
-  gs1.insert(parameter(3*x + 0*y));
+  Generator_System gs;
+  gs.insert(point(x + y));
+  gs.insert(closure_point(0*x + 0*y));
+  gs.insert(closure_point(0*x + 3*y));
+  gs.insert(closure_point(3*x + 0*y));
+  gs.insert(closure_point(3*x + 3*y));
     \endcode
 
     \par Example 5
-    The following code builds a system of generators having one point and
-    a parameter corresponding to all the integral points that
-    lie on \f$x + y = 2\f$ in \f$\Rset^2\f$
+    The following code builds a system of generators having two points
+    and a ray, corresponding to a half-strip in \f$\Rset^2\f$
+    (the same as Example 2 for the system of constraints):
     \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(1*x + 1*y));
-  gs.insert(parameter(1*x - 1*y));
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + 1*y));
+  gs.insert(ray(x - y));
     \endcode
 
     \note
-    After inserting a multiset of generators in a grid generator system,
+    After inserting a multiset of generators in a generator system,
     there are no guarantees that an <EM>exact</EM> copy of them
     can be retrieved:
-    in general, only an <EM>equivalent</EM> grid generator system
+    in general, only an <EM>equivalent</EM> generator system
     will be available, where original generators may have been
     reordered, removed (if they are duplicate or redundant), etc.
 */
-class Parma_Polyhedra_Library::Grid_Generator_System
-  : private Generator_System {
+class Parma_Polyhedra_Library::Generator_System {
 public:
+  typedef Generator row_type;
+
+  static const Representation default_representation = SPARSE;
+
   //! Default constructor: builds an empty system of generators.
-  Grid_Generator_System();
+  Generator_System(Representation r = default_representation);
 
   //! Builds the singleton system containing only generator \p g.
-  explicit Grid_Generator_System(const Grid_Generator& g);
-
-  //! Builds an empty system of generators of dimension \p dim.
-  explicit Grid_Generator_System(dimension_type dim);
+  explicit Generator_System(const Generator& g,
+                            Representation r = default_representation);
 
   //! Ordinary copy constructor.
-  Grid_Generator_System(const Grid_Generator_System& gs);
+  //! The new Generator_System will have the same representation as `gs'.
+  Generator_System(const Generator_System& gs);
+
+  //! Copy constructor with specified representation.
+  Generator_System(const Generator_System& gs, Representation r);
 
   //! Destructor.
-  ~Grid_Generator_System();
+  ~Generator_System();
 
   //! Assignment operator.
-  Grid_Generator_System& operator=(const Grid_Generator_System& y);
+  Generator_System& operator=(const Generator_System& y);
 
-  //! Returns the maximum space dimension a Grid_Generator_System can handle.
+  //! Returns the current representation of *this.
+  Representation representation() const;
+
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
+
+  //! Returns the maximum space dimension a Generator_System can handle.
   static dimension_type max_space_dimension();
 
   //! Returns the dimension of the vector space enclosing \p *this.
   dimension_type space_dimension() const;
 
-  /*! \brief
-    Removes all the generators from the generator system and sets its
-    space dimension to 0.
-  */
-  void clear();
+  //! Sets the space dimension of the rows in the system to \p space_dim .
+  void set_space_dimension(dimension_type space_dim);
 
   /*! \brief
-    Inserts into \p *this a copy of the generator \p g, increasing the
-    number of space dimensions if needed.
-
-    If \p g is an all-zero parameter then the only action is to ensure
-    that the space dimension of \p *this is at least the space
-    dimension of \p g.
+    Removes all the generators from the generator system
+    and sets its space dimension to 0.
   */
-  void insert(const Grid_Generator& g);
+  void clear();
 
   /*! \brief
-    Inserts into \p *this the generator \p g, increasing the number of
-    space dimensions if needed.
+    Inserts in \p *this a copy of the generator \p g,
+    increasing the number of space dimensions if needed.
   */
-  void recycling_insert(Grid_Generator& g);
+  void insert(const Generator& g);
 
   /*! \brief
-    Inserts into \p *this the generators in \p gs, increasing the
-    number of space dimensions if needed.
+    Inserts in \p *this the generator \p g, stealing its contents and
+    increasing the number of space dimensions if needed.
   */
-  void recycling_insert(Grid_Generator_System& gs);
+  void insert(Generator& g, Recycle_Input);
 
   //! Initializes the class.
   static void initialize();
@@ -22881,119 +44979,26 @@ public:
   static void finalize();
 
   /*! \brief
-    Returns the singleton system containing only
-    Grid_Generator::zero_dim_point().
-  */
-  static const Grid_Generator_System& zero_dim_univ();
-
-  //! An iterator over a system of grid generators
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each generator contained in an object of Grid_Generator_System.
-
-    \par Example
-    The following code prints the system of generators
-    of the grid <CODE>gr</CODE>:
-    \code
-  const Grid_Generator_System& ggs = gr.generators();
-  for (Grid_Generator_System::const_iterator i = ggs.begin(),
-        ggs_end = ggs.end(); i != ggs_end; ++i)
-    cout << *i << endl;
-    \endcode
-    The same effect can be obtained more concisely by using
-    more features of the STL:
-    \code
-  const Grid_Generator_System& ggs = gr.generators();
-  copy(ggs.begin(), ggs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
-    \endcode
+    Returns the singleton system containing only Generator::zero_dim_point().
   */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Grid_Generator,
-			   ptrdiff_t,
-			   const Grid_Generator*,
-			   const Grid_Generator&>,
-      private Generator_System::const_iterator {
-  public:
-    //! Default constructor.
-    const_iterator();
-
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
-
-    //! Destructor.
-    ~const_iterator();
-
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
-
-    //! Dereference operator.
-    const Grid_Generator& operator*() const;
-
-    //! Indirect member selector.
-    const Grid_Generator* operator->() const;
-
-    //! Prefix increment operator.
-    const_iterator& operator++();
-
-    //! Postfix increment operator.
-    const_iterator operator++(int);
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      identical.
-    */
-    bool operator==(const const_iterator& y) const;
-
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      different.
-    */
-    bool operator!=(const const_iterator& y) const;
-
-  private:
-    friend class Grid_Generator_System;
+  static const Generator_System& zero_dim_univ();
 
-    //! Copy constructor from Generator_System::const_iterator.
-    const_iterator(const Generator_System::const_iterator& y);
-  };
+  typedef Generator_System_const_iterator const_iterator;
 
   //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
   bool empty() const;
 
   /*! \brief
-    Returns the const_iterator pointing to the first generator, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
-  */
-  const_iterator begin() const;
-
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
-
-  //! Returns the number of rows (generators) in the system.
-  dimension_type num_rows() const;
-
-  //! Returns the number of parameters in the system.
-  dimension_type num_parameters() const;
-
-  //! Returns the number of lines in the system.
-  dimension_type num_lines() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains one or
-    more points.
+    Returns the const_iterator pointing to the first generator,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  bool has_points() const;
+  const_iterator begin() const;
 
-  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
-  bool is_equal_to(const Grid_Generator_System& y) const;
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
   //! Checks if all the invariants are satisfied.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p *this is a valid
-    Linear_System and each row in the system is a valid Grid_Generator.
-  */
   bool OK() const;
 
   PPL_OUTPUT_DECLARATIONS
@@ -23016,2610 +45021,2975 @@ public:
   memory_size_type external_memory_in_bytes() const;
 
   //! Swaps \p *this with \p y.
-  void swap(Grid_Generator_System& y);
+  void m_swap(Generator_System& y);
 
 private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Grid_Generator::zero_dim_point().
+
+  bool has_no_rows() const;
+
+  //! Removes all the specified dimensions from the generator system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
   */
-  static const Grid_Generator_System* zero_dim_univ_p;
+  void remove_space_dimensions(const Variables_Set& vars);
 
-  friend class Grid;
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
 
-  friend bool
-  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
 
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
+
+  //! Swaps the coefficients of the variables \p v1 and \p v2 .
+  void swap_space_dimensions(Variable v1, Variable v2);
+
+  dimension_type num_rows() const;
+
+  //! Adds \p n rows and space dimensions to the system.
+  /*!
+    \param n
+    The number of rows and space dimensions to be added: must be strictly
+    positive.
+
+    Turns the system \f$M \in \Rset^r \times \Rset^c\f$ into
+    the system \f$N \in \Rset^{r+n} \times \Rset^{c+n}\f$
+    such that
+    \f$N = \bigl(\genfrac{}{}{0pt}{}{0}{M}\genfrac{}{}{0pt}{}{J}{o}\bigr)\f$,
+    where \f$J\f$ is the specular image
+    of the \f$n \times n\f$ identity matrix.
+  */
+  void add_universe_rows_and_space_dimensions(dimension_type n);
+
+  Topology topology() const;
+
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
 
   //! Sets the index to indicate that the system has no pending rows.
   void unset_pending_rows();
 
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-  //! Returns the \p k- th generator of the system.
-  Grid_Generator& operator[](dimension_type k);
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
 
-  //! Returns a constant reference to the \p k- th generator of the system.
-  const Grid_Generator& operator[](dimension_type k) const;
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-  //! Assigns to a given variable an affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Generator_System& y);
 
-    \param denominator
-    The denominator of the affine transformation;
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
 
-    We allow affine transformations (see the Section \ref
-    rational_grid_operations)to have rational
-    coefficients. Since the coefficients of linear expressions are
-    integers we also provide an integer \p denominator that will
-    be used as denominator of the affine transformation.  The
-    denominator is required to be a positive integer and its
-    default value is 1.
+  /*! \brief
+    Sorts the pending rows and eliminates those that also occur
+    in the non-pending part of the system.
+  */
+  void sort_pending_and_remove_duplicates();
 
-    The affine transformation assigns to each element of \p v -th
-    column the follow expression:
-    \f[
-      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
-           {\mathrm{denominator}}.
-    \f]
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
 
-    \p expr is a constant parameter and unaltered by this computation.
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
   */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
 
   /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the universe system.
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
 
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
 
-    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims)
-    \times (c+dims)\f$ matrix
-    \f$\bigl(\genfrac{}{}{0pt}{}{A}{0} \genfrac{}{}{0pt}{}{0}{B}\bigr)\f$
-    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
-    \f$\bigl(\genfrac{}{}{0pt}{}{1}{0} \genfrac{}{}{0pt}{}{0}{1}\bigr)\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
   */
-  void add_universe_rows_and_columns(dimension_type dims);
+  dimension_type num_lines_or_equalities() const;
 
-  //! Removes all the specified dimensions from the generator system.
+  //! Makes the system shrink by removing its i-th row.
   /*!
-    The space dimension of the variable with the highest space
-    dimension in \p vars must be at most the space dimension
-    of \p this.
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(n).
+
+    Otherwise, this method just swaps the i-th row with the last and then
+    removes it, so it costs O(1).
   */
-  void remove_space_dimensions(const Variables_Set& vars);
+  void remove_row(dimension_type i, bool keep_sorted = false);
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+  //! Makes the system shrink by removing the rows in [first,last).
+  /*!
+    When \p keep_sorted is \p true and the system is sorted, sortedness will
+    be preserved, but this method costs O(num_rows()).
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
+    Otherwise, this method just swaps the rows with the last ones and then
+    removes them, so it costs O(last - first).
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  void remove_rows(dimension_type first, dimension_type last,
+                   bool keep_sorted = false);
 
-  //! Resizes the system without worrying about the old contents.
+  //! Removes the specified rows. The row ordering of remaining rows is
+  //! preserved.
   /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+    \param indexes specifies a list of row indexes.
+                   It must be sorted.
+  */
+  void remove_rows(const std::vector<dimension_type>& indexes);
 
-    \param new_num_columns
-    The number of columns of the resized system.
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
+  //! Minimizes the subsystem of equations contained in \p *this.
+  /*!
+    This method works only on the equalities of the system:
+    the system is required to be partially sorted, so that
+    all the equalities are grouped at its top; it is assumed that
+    the number of equalities is exactly \p n_lines_or_equalities.
+    The method finds a minimal system for the equalities and
+    returns its rank, i.e., the number of linearly independent equalities.
+    The result is an upper triangular subsystem of equalities:
+    for each equality, the pivot is chosen starting from
+    the right-most columns.
   */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+  dimension_type gauss(dimension_type n_lines_or_equalities);
 
   /*! \brief
-    Returns the number of columns of the matrix (i.e., the size of the
-    rows).
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
+
+    Takes an upper triangular system having \p n_lines_or_equalities rows.
+    For each row, starting from the one having the minimum number of
+    coefficients different from zero, computes the expression of an element
+    as a function of the remaining ones and then substitutes this expression
+    in all the other rows.
   */
-  dimension_type num_columns() const;
+  void back_substitute(dimension_type n_lines_or_equalities);
+
+  //! Strongly normalizes the system.
+  void strong_normalize();
 
   /*! \brief
-    Erases from the matrix all the rows but those having an index less
-    than \p first_to_erase.
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
+
+    Duplicated rows will occur only once in the result.
+    On entry, both systems are assumed to be sorted and have
+    no pending rows.
   */
-  void erase_to_end(dimension_type first_to_erase);
+  void merge_rows_assign(const Generator_System& y);
 
-  //! Permutes the columns of the matrix.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+  //! Adds to \p *this a copy of  the rows of \p y.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void insert(const Generator_System& y);
 
-    The \p cycles vector contains, one after the other, the
-    non-trivial cycles (i.e., the cycles of length greater than one)
-    of a permutation of non-zero column indexes.  Each cycle is
-    terminated by zero.  For example, assuming the matrix has 6
-    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
-    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
-    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
-    turn can be represented by a vector of 6 elements containing 1, 3,
-    6, 0, 2, 4, 0.
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void insert_pending(const Generator_System& r);
+
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Generator::zero_dim_point().
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
-};
+  static const Generator_System* zero_dim_univ_p;
 
-// Grid_Generator_System.inlines.hh is not included here on purpose.
+  friend class Generator_System_const_iterator;
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 32. */
-#include <iosfwd>
+  //! Builds an empty system of generators having the specified topology.
+  explicit Generator_System(Topology topol,
+                            Representation r = default_representation);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Builds a system of rays/points on a \p space_dim dimensional space. If
+    \p topol is <CODE>NOT_NECESSARILY_CLOSED</CODE> the \f$\epsilon\f$
+    dimension is added.
+  */
+  Generator_System(Topology topol, dimension_type space_dim,
+                   Representation r = default_representation);
 
-// Put these in the namespace here to declare them friend later.
+  /*! \brief
+    Adjusts \p *this so that it matches the \p new_topology and
+    \p new_space_dim (adding or removing columns if needed).
+    Returns <CODE>false</CODE> if and only if \p topol is
+    equal to <CODE>NECESSARILY_CLOSED</CODE> and \p *this
+    contains closure points.
+  */
+  bool adjust_topology_and_space_dimension(Topology new_topology,
+					   dimension_type new_space_dim);
 
-namespace IO_Operators {
+  /*! \brief
+    For each unmatched closure point in \p *this, adds the
+    corresponding point.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  */
+  void add_corresponding_points();
 
-} // namespace IO_Operators
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more points.
+  */
+  bool has_points() const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    For each unmatched point in \p *this, adds the corresponding
+    closure point.
 
-namespace std {
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  */
+  void add_corresponding_closure_points();
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-void swap(Parma_Polyhedra_Library::Grid_Generator& x,
-	  Parma_Polyhedra_Library::Grid_Generator& y);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more closure points.
 
-} // namespace std
+    Note: the check for the presence of closure points is
+    done under the point of view of the user. Namely, we scan
+    the generator system using high-level iterators, so that
+    closure points that are matching the corresponding points
+    will be disregarded.
+  */
+  bool has_closure_points() const;
 
-//! A grid line, parameter or grid point.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Grid_Generator is one of the following:
+  //! Converts this generator system into a non-necessarily closed generator
+  //! system.
+  void convert_into_non_necessarily_closed();
 
-  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+  //! Returns a constant reference to the \p k- th generator of the system.
+  const Generator& operator[](dimension_type k) const;
 
-  - a parameter
-    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  /*! \brief
+    Returns the relations holding between the generator system
+    and the constraint \p c.
+  */
+  Parma_Polyhedra_Library::Poly_Con_Relation
+  relation_with(const Constraint& c) const;
 
-  - a grid_point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  bool satisfied_by_all_generators(const Constraint& c) const;
 
-  where \f$n\f$ is the dimension of the space
-  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  /*!
+    It is assumed that <CODE>c.is_necessarily_closed()</CODE> holds.
+  */
+  bool satisfied_by_all_generators_C(const Constraint& c) const;
 
-  \par How to build a grid generator.
-  Each type of generator is built by applying the corresponding
-  function (<CODE>grid_line</CODE>, <CODE>parameter</CODE>
-  or <CODE>grid_point</CODE>) to a linear expression;
-  the space dimension of the generator is defined as the space dimension
-  of the corresponding linear expression.
-  Linear expressions used to define a generator should be homogeneous
-  (any constant term will be simply ignored).
-  When defining grid points and parameters, an optional Coefficient argument
-  can be used as a common <EM>divisor</EM> for all the coefficients
-  occurring in the provided linear expression;
-  the default value for this argument is 1.
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  /*!
+    It is assumed that <CODE>c.is_necessarily_closed()</CODE> does not hold.
+  */
+  bool satisfied_by_all_generators_NNC(const Constraint& c) const;
 
-  \par
-  In all the following examples it is assumed that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE>
-  are defined as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  \endcode
+  //! Assigns to a given variable an affine expression.
+  /*!
+    \param v
+    The variable to which the affine transformation is assigned;
 
-  \par Example 1
-  The following code builds a grid line with direction \f$x-y-z\f$
-  and having space dimension \f$3\f$:
-  \code
-  Grid_Generator l = grid_line(x - y - z);
-  \endcode
-  By definition, the origin of the space is not a line, so that
-  the following code throws an exception:
-  \code
-  Grid_Generator l = grid_line(0*x);
-  \endcode
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-  \par Example 2
-  The following code builds the parameter as the vector
-  \f$\vect{p} = (1, -1, -1)^\transpose \in \Rset^3\f$
-  which has the same direction as the line in Example 1:
-  \code
-  Grid_Generator q = parameter(x - y - z);
-  \endcode
-  Note that, unlike lines, for parameters, the length as well
-  as the direction of the vector represented by the code is significant.
-  Thus \p q is \e not the same as the parameter \p q1 defined by
-  \code
-  Grid_Generator q1 = parameter(2x - 2y - 2z);
-  \endcode
-  By definition, the origin of the space is not a parameter, so that
-  the following code throws an exception:
-  \code
-  Grid_Generator q = parameter(0*x);
-  \endcode
+    \param denominator
+    The denominator of the affine transformation.
 
-  \par Example 3
-  The following code builds the grid point
-  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
-  \code
-  Grid_Generator p = grid_point(1*x + 0*y + 2*z);
-  \endcode
-  The same effect can be obtained by using the following code:
-  \code
-  Grid_Generator p = grid_point(x + 2*z);
-  \endcode
-  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
-  using either one of the following lines of code:
-  \code
-  Grid_Generator origin3 = grid_point(0*x + 0*y + 0*z);
-  Grid_Generator origin3_alt = grid_point(0*z);
-  \endcode
-  Note however that the following code would have defined
-  a different point, namely \f$\vect{0} \in \Rset^2\f$:
-  \code
-  Grid_Generator origin2 = grid_point(0*y);
-  \endcode
-  The following two lines of code both define the only grid point
-  having space dimension zero, namely \f$\vect{0} \in \Rset^0\f$.
-  In the second case we exploit the fact that the first argument
-  of the function <CODE>point</CODE> is optional.
-  \code
-  Grid_Generator origin0 = Generator::zero_dim_point();
-  Grid_Generator origin0_alt = grid_point();
-  \endcode
+    We want to allow affine transformations (see the Introduction) having
+    any rational coefficients. Since the coefficients of the
+    constraints are integers we must also provide an integer \p denominator
+    that will be used as denominator of the affine transformation.
+    The denominator is required to be a positive integer.
 
-  \par Example 4
-  The grid point \f$\vect{p}\f$ specified in Example 3 above
-  can also be obtained with the following code,
-  where we provide a non-default value for the second argument
-  of the function <CODE>grid_point</CODE> (the divisor):
-  \code
-  Grid_Generator p = grid_point(2*x + 0*y + 4*z, 2);
-  \endcode
-  Obviously, the divisor can be used to specify
-  points having some non-integer (but rational) coordinates.
-  For instance, the grid point
-  \f$\vect{p1} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be specified by the following code:
-  \code
-  Grid_Generator p1 = grid_point(-15*x + 32*y + 21*z, 10);
-  \endcode
-  If a zero divisor is provided, an exception is thrown.
+    The affine transformation assigns to each element of the column containing
+    the coefficients of v the follow expression:
+    \f[
+      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
+           {\mathrm{denominator}}.
+    \f]
 
-  \par Example 5
-  Parameters, like grid points can have a divisor.
-  For instance, the parameter
-  \f$\vect{q} = (1, 0, 2)^\transpose \in \Rset^3\f$ can be defined:
-  \code
-  Grid_Generator q = parameter(2*x + 0*y + 4*z, 2);
-  \endcode
-  Also, the divisor can be used to specify
-  parameters having some non-integer (but rational) coordinates.
-  For instance, the parameter
-  \f$\vect{q} = (-1.5, 3.2, 2.1)^\transpose \in \Rset^3\f$
-  can be defined:
-  \code
-  Grid_Generator q = parameter(-15*x + 32*y + 21*z, 10);
-  \endcode
-  If a zero divisor is provided, an exception is thrown.
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_image(Variable v,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator);
 
-  \par How to inspect a grid generator
-  Several methods are provided to examine a grid generator and extract
-  all the encoded information: its space dimension, its type and
-  the value of its integer coefficients and the value of the denominator.
+  //! Returns the number of lines of the system.
+  dimension_type num_lines() const;
 
-  \par Example 6
-  The following code shows how it is possible to access each single
-  coefficient of a grid generator.
-  If <CODE>g1</CODE> is a grid point having coordinates
-  \f$(a_0, \ldots, a_{n-1})^\transpose\f$,
-  we construct the parameter <CODE>g2</CODE> having coordinates
-  \f$(a_0, 2 a_1, \ldots, (i+1)a_i, \ldots, n a_{n-1})^\transpose\f$.
-  \code
-  if (g1.is_point()) {
-    cout << "Grid point g1: " << g1 << endl;
-    Linear_Expression e;
-    for (dimension_type i = g1.space_dimension(); i-- > 0; )
-      e += (i + 1) * g1.coefficient(Variable(i)) * Variable(i);
-    Grid_Generator g2 = parameter(e, g1.divisor());
-    cout << "Parameter g2: " << g2 << endl;
-  }
-  else
-    cout << "Grid Generator g1 is not a grid point." << endl;
-  \endcode
-  Therefore, for the grid point
-  \code
-  Grid_Generator g1 = grid_point(2*x - y + 3*z, 2);
-  \endcode
-  we would obtain the following output:
-  \code
-  Grid point g1: p((2*A - B + 3*C)/2)
-  Parameter g2: parameter((2*A - 2*B + 9*C)/2)
-  \endcode
-  When working with grid points and parameters, be careful not to confuse
-  the notion of <EM>coefficient</EM> with the notion of <EM>coordinate</EM>:
-  these are equivalent only when the divisor is 1.
-*/
-class Parma_Polyhedra_Library::Grid_Generator : private Generator {
-public:
-  //! Returns the line of direction \p e.
+  //! Returns the number of rays of the system.
+  dimension_type num_rays() const;
+
+  //! Removes all the invalid lines and rays.
   /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
+    The invalid lines and rays are those with all
+    the homogeneous terms set to zero.
   */
-  static Grid_Generator grid_line(const Linear_Expression& e);
+  void remove_invalid_lines_and_rays();
 
-  //! Returns the parameter of direction \p e and size \p e/d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of generators.
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+    It is assumed that the system has no pending generators.
   */
-  static Grid_Generator parameter(const Linear_Expression& e
-				  = Linear_Expression::zero(),
-				  Coefficient_traits::const_reference d
-				  = Coefficient_one());
+  void simplify();
 
-  //! Returns the point at \p e / \p d.
-  /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+  /*! \brief
+    Inserts in \p *this a copy of the generator \p g,
+    increasing the number of space dimensions if needed.
+    It is a pending generator.
+  */
+  void insert_pending(const Generator& g);
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+  /*! \brief
+    Inserts in \p *this the generator \p g, stealing its contents and
+    increasing the number of space dimensions if needed.
+    It is a pending generator.
   */
-  static Grid_Generator grid_point(const Linear_Expression& e
-				   = Linear_Expression::zero(),
-				   Coefficient_traits::const_reference d
-				   = Coefficient_one());
+  void insert_pending(Generator& g, Recycle_Input);
+
+  Linear_System<Generator> sys;
+
+  friend bool
+  operator==(const Generator_System& x, const Generator_System& y);
+
+  friend class Polyhedron;
+};
+
+//! An iterator over a system of generators
+/*! \ingroup PPL_CXX_interface
+    A const_iterator is used to provide read-only access
+    to each generator contained in an object of Generator_System.
+
+    \par Example
+    The following code prints the system of generators
+    of the polyhedron <CODE>ph</CODE>:
+    \code
+const Generator_System& gs = ph.generators();
+for (Generator_System::const_iterator i = gs.begin(),
+        gs_end = gs.end(); i != gs_end; ++i)
+  cout << *i << endl;
+    \endcode
+    The same effect can be obtained more concisely by using
+    more features of the STL:
+    \code
+const Generator_System& gs = ph.generators();
+copy(gs.begin(), gs.end(), ostream_iterator<Generator>(cout, "\n"));
+    \endcode
+*/
+class Parma_Polyhedra_Library::Generator_System_const_iterator
+  : public std::iterator<std::forward_iterator_tag,
+        Generator,
+        ptrdiff_t,
+        const Generator*,
+        const Generator&> {
+public:
+  //! Default constructor.
+  Generator_System_const_iterator();
 
   //! Ordinary copy constructor.
-  Grid_Generator(const Grid_Generator& g);
+  Generator_System_const_iterator(const Generator_System_const_iterator& y);
 
   //! Destructor.
-  ~Grid_Generator();
-
-  //! Assignment operator.
-  Grid_Generator& operator=(const Grid_Generator& g);
+  ~Generator_System_const_iterator();
 
   //! Assignment operator.
-  Grid_Generator& operator=(const Generator& g);
-
-  //! Returns the maximum space dimension a Grid_Generator can handle.
-  static dimension_type max_space_dimension();
+  Generator_System_const_iterator& operator=(const Generator_System_const_iterator& y);
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! Dereference operator.
+  const Generator& operator*() const;
 
-  //! The generator type.
-  enum Type {
-    /*! The generator is a grid line. */
-    LINE,
-    /*! The generator is a parameter. */
-    PARAMETER,
-    /*! The generator is a grid point. */
-    POINT
-  };
+  //! Indirect member selector.
+  const Generator* operator->() const;
 
-  //! Returns the generator type of \p *this.
-  Type type() const;
+  //! Prefix increment operator.
+  Generator_System_const_iterator& operator++();
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
+  //! Postfix increment operator.
+  Generator_System_const_iterator operator++(int);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
-  bool is_parameter() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const Generator_System_const_iterator& y) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a line or
-    a parameter.
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
   */
-  bool is_line_or_parameter() const;
+  bool operator!=(const Generator_System_const_iterator& y) const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+private:
+  friend class Generator_System;
+
+  //! The const iterator over the Linear_System.
+  Linear_System<Generator>::const_iterator i;
+
+  //! A const pointer to the Linear_System.
+  const Linear_System<Generator>* gsp;
+
+  //! Constructor.
+  Generator_System_const_iterator(const Linear_System<Generator>::const_iterator& iter,
+      const Generator_System& gsys);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row represents a
-    parameter or a point.
+    \p *this skips to the next generator, skipping those
+    closure points that are immediately followed by a matching point.
   */
-  bool is_parameter_or_point() const;
+  void skip_forward();
+};
 
-  //! Returns the coefficient of \p v in \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the index of \p v is greater than or equal to the
-    space dimension of \p *this.
-  */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+// Generator_System.inlines.hh is not included here on purpose.
 
-  //! Returns the divisor of \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is a line.
-  */
-  Coefficient_traits::const_reference divisor() const;
+/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 1. */
+/* Generator_System class implementation: inline functions.
+*/
 
-  //! Initializes the class.
-  static void initialize();
 
-  //! Finalizes the class.
-  static void finalize();
+/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 28. */
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Grid_Generator& zero_dim_point();
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+inline
+Generator_System::Generator_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+inline
+Generator_System::Generator_System(const Generator& g, Representation r)
+  : sys(g.topology(), r) {
+  sys.insert(g);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    equivalent generators.
+inline
+Generator_System::Generator_System(const Generator_System& gs)
+  : sys(gs.sys) {
+}
 
-    Generators having different space dimensions are not equivalent.
-  */
-  bool is_equivalent_to(const Grid_Generator& y) const;
+inline
+Generator_System::Generator_System(const Generator_System& gs,
+                                   Representation r)
+  : sys(gs.sys, r) {
+}
 
-  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
-  bool is_equal_to(const Grid_Generator& y) const;
+inline
+Generator_System::Generator_System(const Topology topol, Representation r)
+  : sys(topol, r) {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p gg in
-    dimension \p dim.
-  */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Grid_Generator& gg) const;
+inline
+Generator_System::Generator_System(const Topology topol,
+				   const dimension_type space_dim,
+                                   Representation r)
+  : sys(topol, space_dim, r) {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous terms
-    of \p *this are \f$0\f$.
-  */
-  bool all_homogeneous_terms_are_zero() const;
+inline
+Generator_System::~Generator_System() {
+}
 
-  PPL_OUTPUT_DECLARATIONS
+inline Generator_System&
+Generator_System::operator=(const Generator_System& y) {
+  Generator_System tmp = y;
+  swap(*this, tmp);
+  return *this;
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+inline Representation
+Generator_System::representation() const {
+  return sys.representation();
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+inline void
+Generator_System::set_representation(Representation r) {
+  sys.set_representation(r);
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Grid_Generator& y);
+inline dimension_type
+Generator_System::max_space_dimension() {
+  return Linear_System<Generator>::max_space_dimension();
+}
 
-  /*! \brief
-    Swaps \p *this with \p y, leaving \p *this with the original
-    capacity.
+inline dimension_type
+Generator_System::space_dimension() const {
+  return sys.space_dimension();
+}
 
-    All elements up to and including the last element of the smaller
-    of \p *this and \p y are swapped.  The parameter divisor element
-    of \p y is swapped with the divisor element of \p *this.
-  */
-  void coefficient_swap(Grid_Generator& y);
+inline void
+Generator_System::set_space_dimension(dimension_type space_dim) {
+  const dimension_type old_space_dim = space_dimension();
+  sys.set_space_dimension_no_ok(space_dim);
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
-  */
-  static const Grid_Generator* zero_dim_point_p;
+  if (space_dim < old_space_dim)
+    // We may have invalid lines and rays now.
+    remove_invalid_lines_and_rays();
 
-  /*! \brief
-    Scales \p *this to be represented with a divisor of \p d (if
-    \*this is a parameter or point).
+#ifndef NDEBUG
+  for (dimension_type i = 0; i < sys.num_rows(); ++i)
+    PPL_ASSERT(sys[i].OK());
+#endif
+  PPL_ASSERT(sys.OK());
+  PPL_ASSERT(OK());
+}
 
-    It is assumed that \p d is a multiple of the current divisor.
+inline void
+Generator_System::clear() {
+  sys.clear();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
-  */
-  void scale_to_divisor(Coefficient_traits::const_reference d);
+inline const Generator&
+Generator_System::operator[](const dimension_type k) const {
+  return sys[k];
+}
 
-  /*! \brief
-    Constructs from polyhedron generator \p g, stealing the underlying
-    data structures from \p g.
+inline void
+Generator_System
+::remove_space_dimensions(const Variables_Set& vars) {
+  sys.remove_space_dimensions(vars);
+}
 
-    The last column in \p g becomes the parameter divisor column of
-    the new Grid_Generator.
-  */
-  explicit Grid_Generator(Generator g);
+inline void
+Generator_System
+::shift_space_dimensions(Variable v, dimension_type n) {
+  sys.shift_space_dimensions(v, n);
+}
 
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+inline void
+Generator_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  sys.permute_space_dimensions(cycle);
+}
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+inline void
+Generator_System
+::swap_space_dimensions(Variable v1, Variable v2) {
+  sys.swap_space_dimensions(v1, v2);
+}
 
-  //! Sets the divisor of \p *this to \p d.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is a line.
-  */
-  void set_divisor(Coefficient_traits::const_reference d);
+inline dimension_type
+Generator_System::num_rows() const {
+  return sys.num_rows();
+}
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+inline void
+Generator_System::add_universe_rows_and_space_dimensions(dimension_type n) {
+  sys.add_universe_rows_and_space_dimensions(n);
+}
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_parameter_or_point();
+inline Topology
+Generator_System::topology() const {
+  return sys.topology();
+}
 
-  //! Converts the Grid_Generator into a parameter.
-  void set_is_parameter();
+inline dimension_type
+Generator_System::first_pending_row() const {
+  return sys.first_pending_row();
+}
 
-  /*! \brief
-    Strong normalization: ensures that different Grid_Generator
-    objects represent different hyperplanes or hyperspaces.
+inline void
+Generator_System::unset_pending_rows() {
+  sys.unset_pending_rows();
+}
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+inline void
+Generator_System::set_sorted(bool b) {
+  sys.set_sorted(b);
+}
 
-    This is simply a wrapper around the Generator::strong_normalize,
-    which means applying it to a parameter may change the parameter.
-  */
-  void strong_normalize();
+inline bool
+Generator_System::is_sorted() const {
+  return sys.is_sorted();
+}
 
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+inline void
+Generator_System::set_index_first_pending_row(dimension_type i) {
+  sys.set_index_first_pending_row(i);
+}
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
+inline bool
+Generator_System::is_necessarily_closed() const {
+  return sys.is_necessarily_closed();
+}
 
-  /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception containing
-    the appropriate error message.
-  */
-  void
-  throw_invalid_argument(const char* method, const char* reason) const;
+inline void
+Generator_System::assign_with_pending(const Generator_System& y) {
+  sys.assign_with_pending(y.sys);
+}
 
-  friend std::ostream&
-  IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g);
-  // FIXME: The following friend declaration is for operator[] and
-  //        divisor() access in Grid::conversion, Grid::simplify,
-  //        Grid::relation_with(c) and Grid::Grid(box, *).
-  friend class Grid;
-  friend class Grid_Generator_System;
-  friend class Grid_Generator_System::const_iterator;
-  friend class Congruence_System;
-  friend class Scalar_Products;
-  friend class Topology_Adjusted_Scalar_Product_Sign;
-  friend class Linear_Expression;
-};
+inline dimension_type
+Generator_System::num_pending_rows() const {
+  return sys.num_pending_rows();
+}
 
+inline void
+Generator_System::sort_pending_and_remove_duplicates() {
+  return sys.sort_pending_and_remove_duplicates();
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Generator_System::sort_and_remove_with_sat(Bit_Matrix& sat) {
+  sys.sort_and_remove_with_sat(sat);
+}
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_line(const Linear_Expression& e).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator grid_line(const Linear_Expression& e);
+inline void
+Generator_System::sort_rows() {
+  sys.sort_rows();
+}
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::parameter(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator
-parameter(const Linear_Expression& e = Linear_Expression::zero(),
-	  Coefficient_traits::const_reference d = Coefficient_one());
+inline bool
+Generator_System::check_sorted() const {
+  return sys.check_sorted();
+}
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_point(const Linear_Expression& e,
-  Coefficient_traits::const_reference d).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator
-grid_point(const Linear_Expression& e = Linear_Expression::zero(),
-	   Coefficient_traits::const_reference d = Coefficient_one());
+inline dimension_type
+Generator_System::num_lines_or_equalities() const {
+  return sys.num_lines_or_equalities();
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x is equivalent to \p y.
-/*! \relates Grid_Generator */
-bool operator==(const Grid_Generator& x, const Grid_Generator& y);
+inline void
+Generator_System::remove_row(dimension_type i, bool keep_sorted) {
+  sys.remove_row(i, keep_sorted);
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x is not equivalent to \p y.
-/*! \relates Grid_Generator */
-bool operator!=(const Grid_Generator& x, const Grid_Generator& y);
+inline void
+Generator_System::remove_rows(dimension_type first, dimension_type last,
+                              bool keep_sorted) {
+  sys.remove_rows(first, last, keep_sorted);
+}
 
+inline void
+Generator_System::remove_rows(const std::vector<dimension_type>& indexes) {
+  sys.remove_rows(indexes);
+}
 
-namespace IO_Operators {
+inline void
+Generator_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
+inline dimension_type
+Generator_System::gauss(dimension_type n_lines_or_equalities) {
+  return sys.gauss(n_lines_or_equalities);
+}
 
-} // namespace IO_Operators
+inline void
+Generator_System::back_substitute(dimension_type n_lines_or_equalities) {
+  sys.back_substitute(n_lines_or_equalities);
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Generator_System::strong_normalize() {
+  sys.strong_normalize();
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.inlines.hh line 1. */
-/* Grid Generator class implementation: inline functions.
-*/
+inline void
+Generator_System::merge_rows_assign(const Generator_System& y) {
+  sys.merge_rows_assign(y.sys);
+}
+
+inline void
+Generator_System::insert(const Generator_System& y) {
+  sys.insert(y.sys);
+}
 
+inline void
+Generator_System::insert_pending(const Generator_System& r) {
+  sys.insert_pending(r.sys);
+}
 
-namespace Parma_Polyhedra_Library {
+inline bool
+operator==(const Generator_System& x, const Generator_System& y) {
+  return x.sys == y.sys;
+}
 
-inline
-Grid_Generator::Grid_Generator(const Grid_Generator& g)
-  : Generator(g) {
+inline bool
+operator!=(const Generator_System& x, const Generator_System& y) {
+  return !(x == y);
 }
 
 inline
-Grid_Generator::~Grid_Generator() {
+Generator_System_const_iterator::Generator_System_const_iterator()
+  : i(), gsp(0) {
 }
 
 inline
-Grid_Generator::Grid_Generator(Generator g)
-  : Generator(Generator::point()) {
-  Generator::swap(g);
+Generator_System_const_iterator::Generator_System_const_iterator(const Generator_System_const_iterator& y)
+  : i(y.i), gsp(y.gsp) {
 }
 
-inline dimension_type
-Grid_Generator::size() const {
-  return Generator::size();
+inline
+Generator_System_const_iterator::~Generator_System_const_iterator() {
 }
 
-inline dimension_type
-Grid_Generator::max_space_dimension() {
-  return Generator::max_space_dimension() - 1;
+inline
+Generator_System_const_iterator&
+Generator_System_const_iterator::operator=(const Generator_System_const_iterator& y) {
+  i = y.i;
+  gsp = y.gsp;
+  return *this;
 }
 
-inline Coefficient&
-Grid_Generator::operator[](dimension_type k) {
-  return Generator::operator[](k);
+inline const Generator&
+Generator_System_const_iterator::operator*() const {
+  return *i;
 }
 
-inline Coefficient_traits::const_reference
-Grid_Generator::operator[](dimension_type k) const {
-  return Generator::operator[](k);
+inline const Generator*
+Generator_System_const_iterator::operator->() const {
+  return i.operator->();
 }
 
-inline dimension_type
-Grid_Generator::space_dimension() const {
-  return Generator::space_dimension() - 1;
+inline Generator_System_const_iterator&
+Generator_System_const_iterator::operator++() {
+  ++i;
+  if (!gsp->is_necessarily_closed())
+    skip_forward();
+  return *this;
 }
 
-inline Grid_Generator::Type
-Grid_Generator::type() const {
-  switch (Generator::type()) {
-  case Generator::POINT:
-    return POINT;
-  case Generator::RAY:
-    return PARAMETER;
-  case Generator::LINE:
-    return LINE;
-  case Generator::CLOSURE_POINT:
-  default:
-    PPL_ASSERT(false);
-    return POINT;
-  }
+inline Generator_System_const_iterator
+Generator_System_const_iterator::operator++(int) {
+  const Generator_System_const_iterator tmp = *this;
+  operator++();
+  return tmp;
 }
 
 inline bool
-Grid_Generator::is_line() const {
-  return Generator::is_line();
+Generator_System_const_iterator::operator==(const Generator_System_const_iterator& y) const {
+  return i == y.i;
 }
 
 inline bool
-Grid_Generator::is_parameter() const {
-  return is_ray();
+Generator_System_const_iterator::operator!=(const Generator_System_const_iterator& y) const {
+  return i != y.i;
 }
 
-inline bool
-Grid_Generator::is_line_or_parameter() const {
-  return is_line_or_ray();
+inline
+Generator_System_const_iterator::
+Generator_System_const_iterator(const Linear_System<Generator>::const_iterator& iter,
+                                const Generator_System& gs)
+  : i(iter), gsp(&gs.sys) {
 }
 
 inline bool
-Grid_Generator::is_point() const {
-  return Generator::is_point();
+Generator_System::empty() const {
+  return sys.has_no_rows();
 }
 
 inline bool
-Grid_Generator::is_parameter_or_point() const {
-  return is_ray_or_point_or_inequality();
+Generator_System::has_no_rows() const {
+  return sys.has_no_rows();
 }
 
-inline void
-Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
-  PPL_ASSERT(!is_line());
-  if (is_line_or_parameter())
-    Generator::operator[](size() - 1) = d;
-  else
-    Generator::operator[](0) = d;
+inline Generator_System::const_iterator
+Generator_System::begin() const {
+  const_iterator i(sys.begin(), *this);
+  if (!sys.is_necessarily_closed())
+    i.skip_forward();
+  return i;
 }
 
-inline Coefficient_traits::const_reference
-Grid_Generator::divisor() const {
-  if (is_line())
-    throw_invalid_argument("divisor()", "*this is a line");
-  if (is_line_or_parameter())
-    return Generator::operator[](size() - 1);
-  else
-    return Generator::operator[](0);
+inline Generator_System::const_iterator
+Generator_System::end() const {
+  const const_iterator i(sys.end(), *this);
+  return i;
 }
 
-inline bool
-Grid_Generator::is_equal_at_dimension(dimension_type dim,
-				      const Grid_Generator& gg) const {
-  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
+inline const Generator_System&
+Generator_System::zero_dim_univ() {
+  PPL_ASSERT(zero_dim_univ_p != 0);
+  return *zero_dim_univ_p;
 }
 
 inline void
-Grid_Generator::set_is_line() {
-  Generator::set_is_line();
+Generator_System::m_swap(Generator_System& y) {
+  swap(sys, y.sys);
 }
 
-inline void
-Grid_Generator::set_is_parameter_or_point() {
-  Generator::set_is_ray_or_point();
+inline memory_size_type
+Generator_System::external_memory_in_bytes() const {
+  return sys.external_memory_in_bytes();
 }
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Grid_Generator& g) {
-  Generator::operator=(g);
-  return *this;
+inline memory_size_type
+Generator_System::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Generator& g) {
-  Generator::operator=(g);
-  return *this;
+inline void
+Generator_System::simplify() {
+  sys.simplify();
+  remove_invalid_lines_and_rays();
 }
 
+/*! \relates Generator_System */
 inline void
-Grid_Generator::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
+swap(Generator_System& x, Generator_System& y) {
+  x.m_swap(y);
 }
 
-inline Coefficient_traits::const_reference
-Grid_Generator::coefficient(const Variable v) const {
-  if (v.space_dimension() > space_dimension())
-    throw_dimension_incompatible("coefficient(v)", "v", v);
-  return Generator::coefficient(v);
-}
+} // namespace Parma_Polyhedra_Library
 
-inline memory_size_type
-Grid_Generator::total_memory_in_bytes() const {
-  return Generator::total_memory_in_bytes();
+/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 1. */
+/* Poly_Gen_Relation class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 29. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+// Put them in the namespace here to declare them friend later.
+
+//! True if and only if \p x and \p y are logically equivalent.
+/*! \relates Poly_Gen_Relation */
+bool operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+
+//! True if and only if \p x and \p y are not logically equivalent.
+/*! \relates Poly_Gen_Relation */
+bool operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+
+//! Yields the logical conjunction of \p x and \p y.
+/*! \relates Poly_Gen_Relation */
+Poly_Gen_Relation operator&&(const Poly_Gen_Relation& x,
+			     const Poly_Gen_Relation& y);
+
+/*! \brief
+  Yields the assertion with all the conjuncts of \p x
+  that are not in \p y.
+
+  \relates Poly_Gen_Relation
+*/
+Poly_Gen_Relation operator-(const Poly_Gen_Relation& x,
+			    const Poly_Gen_Relation& y);
+
+namespace IO_Operators {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Poly_Gen_Relation */
+std::ostream& operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! The relation between a polyhedron and a generator
+/*! \ingroup PPL_CXX_interface
+  This class implements conjunctions of assertions on the relation
+  between a polyhedron and a generator.
+*/
+class Parma_Polyhedra_Library::Poly_Gen_Relation {
+private:
+  //! Poly_Gen_Relation is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
+
+  //! \name Bit-masks for the individual assertions
+  //@{
+  static const flags_t NOTHING  = 0U;
+  static const flags_t SUBSUMES = 1U << 0;
+  //@} // Bit-masks for the individual assertions
+
+  //! All assertions together.
+  static const flags_t EVERYTHING
+  = SUBSUMES;
+
+  //! This holds the current bitset.
+  flags_t flags;
+
+  //! True if and only if the conjunction \p x implies the conjunction \p y.
+  static bool implies(flags_t x, flags_t y);
+
+  //! Construct from a bit-mask.
+  Poly_Gen_Relation(flags_t mask);
+
+  friend bool
+  operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+  friend bool
+  operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+
+  friend Poly_Gen_Relation
+  operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+
+  friend Poly_Gen_Relation
+  operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+
+  friend std::ostream&
+  Parma_Polyhedra_Library::
+  IO_Operators::operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+
+public:
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Access the internal flags: this is needed for some language
+    interfaces.
+  */
+#endif
+  flags_t get_flags() const;
+
+public:
+  //! The assertion that says nothing.
+  static Poly_Gen_Relation nothing();
+
+  //! Adding the generator would not change the polyhedron.
+  static Poly_Gen_Relation subsumes();
+
+  PPL_OUTPUT_DECLARATIONS
+
+  //! True if and only if \p *this implies \p y.
+  bool implies(const Poly_Gen_Relation& y) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
+
+/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.inlines.hh line 1. */
+/* Poly_Gen_Relation class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Poly_Gen_Relation::Poly_Gen_Relation(flags_t mask)
+  : flags(mask) {
 }
 
-inline memory_size_type
-Grid_Generator::external_memory_in_bytes() const {
-  return Generator::external_memory_in_bytes();
+inline Poly_Gen_Relation::flags_t
+Poly_Gen_Relation::get_flags() const {
+  return flags;
 }
 
-inline const Grid_Generator&
-Grid_Generator::zero_dim_point() {
-  PPL_ASSERT(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
+inline Poly_Gen_Relation
+Poly_Gen_Relation::nothing() {
+  return Poly_Gen_Relation(NOTHING);
 }
 
-inline void
-Grid_Generator::strong_normalize() {
-  Generator::strong_normalize();
+inline Poly_Gen_Relation
+Poly_Gen_Relation::subsumes() {
+  return Poly_Gen_Relation(SUBSUMES);
 }
 
-inline void
-Grid_Generator::swap(Grid_Generator& y) {
-  Generator::swap(y);
+inline bool
+Poly_Gen_Relation::implies(flags_t x, flags_t y) {
+  return (x & y) == y;
 }
 
-/*! \relates Grid_Generator */
 inline bool
-operator==(const Grid_Generator& x, const Grid_Generator& y) {
-  return x.is_equivalent_to(y);
+Poly_Gen_Relation::implies(const Poly_Gen_Relation& y) const {
+  return implies(flags, y.flags);
 }
 
-/*! \relates Grid_Generator */
+/*! \relates Poly_Gen_Relation */
 inline bool
-operator!=(const Grid_Generator& x, const Grid_Generator& y) {
-  return !(x == y);
+operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return x.flags == y.flags;
 }
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_line(const Linear_Expression& e) {
-  return Grid_Generator::grid_line(e);
+/*! \relates Poly_Gen_Relation */
+inline bool
+operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return x.flags != y.flags;
 }
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-parameter(const Linear_Expression& e,
-	  Coefficient_traits::const_reference d) {
-  return Grid_Generator::parameter(e, d);
+/*! \relates Poly_Gen_Relation */
+inline Poly_Gen_Relation
+operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return Poly_Gen_Relation(x.flags | y.flags);
 }
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_point(const Linear_Expression& e,
-	   Coefficient_traits::const_reference d) {
-  return Grid_Generator::grid_point(e, d);
+/*! \relates Poly_Gen_Relation */
+inline Poly_Gen_Relation
+operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return Poly_Gen_Relation(x.flags & ~y.flags);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 138. */
 
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-inline void
-swap(Parma_Polyhedra_Library::Grid_Generator& x,
-     Parma_Polyhedra_Library::Grid_Generator& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 1. */
+/* Polyhedron class declaration.
+*/
 
-} // namespace std
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 535. */
+/* Automatically generated from PPL source file ../src/H79_Certificate.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 33. */
 
 namespace Parma_Polyhedra_Library {
 
-inline int
-Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  assign(z, x, y);
-  return sgn(z);
-}
+class H79_Certificate;
 
-inline int
-Scalar_Products::reduced_sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  reduced_assign(z, x, y);
-  return sgn(z);
-}
+} // namespace Parma_Polyhedra_Library
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  homogeneous_assign(z, x, y);
-  return sgn(z);
-}
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 51. */
+#include <vector>
+#include <iosfwd>
 
-inline int
-Scalar_Products::sign(const Constraint& c, const Generator& g) {
-  return sign(static_cast<const Linear_Row&>(c),
-	      static_cast<const Linear_Row&>(g));
-}
+namespace Parma_Polyhedra_Library {
 
-inline int
-Scalar_Products::sign(const Generator& g, const Constraint& c) {
-  return sign(static_cast<const Linear_Row&>(g),
-	      static_cast<const Linear_Row&>(c));
-}
+namespace IO_Operators {
 
-inline int
-Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  assign(z, c, g);
-  return sgn(z);
-}
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Polyhedron
+  Writes a textual representation of \p ph on \p s:
+  <CODE>false</CODE> is written if \p ph is an empty polyhedron;
+  <CODE>true</CODE> is written if \p ph is a universe polyhedron;
+  a minimized system of constraints defining \p ph is written otherwise,
+  all constraints in one row separated by ", ".
+*/
+std::ostream&
+operator<<(std::ostream& s, const Polyhedron& ph);
 
-inline int
-Scalar_Products::reduced_sign(const Constraint& c, const Generator& g) {
-  return reduced_sign(static_cast<const Linear_Row&>(c),
-		      static_cast<const Linear_Row&>(g));
-}
+} // namespace IO_Operators
 
-inline int
-Scalar_Products::reduced_sign(const Generator& g, const Constraint& c) {
-  return reduced_sign(static_cast<const Linear_Row&>(g),
-		      static_cast<const Linear_Row&>(c));
-}
+//! Swaps \p x with \p y.
+/*! \relates Polyhedron */
+void swap(Polyhedron& x, Polyhedron& y);
 
-inline void
-Scalar_Products::homogeneous_assign(Coefficient& z,
-				    const Linear_Expression& e,
-				    const Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if
+  \p x and \p y are the same polyhedron.
 
-inline void
-Scalar_Products::homogeneous_assign(Coefficient& z,
-				    const Linear_Expression& e,
-				    const Grid_Generator& g) {
-  homogeneous_assign(z,
-		     static_cast<const Linear_Row&>(e),
-		     static_cast<const Linear_Row&>(g));
-}
+  \relates Polyhedron
+  Note that \p x and \p y may be topology- and/or dimension-incompatible
+  polyhedra: in those cases, the value <CODE>false</CODE> is returned.
+*/
+bool operator==(const Polyhedron& x, const Polyhedron& y);
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Expression& e,
-				  const Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if
+  \p x and \p y are different polyhedra.
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Expression& e,
-				  const Grid_Generator& g) {
-  return homogeneous_sign(static_cast<const Linear_Row&>(e),
-			  static_cast<const Linear_Row&>(g));
-}
+  \relates Polyhedron
+  Note that \p x and \p y may be topology- and/or dimension-incompatible
+  polyhedra: in those cases, the value <CODE>true</CODE> is returned.
+*/
+bool operator!=(const Polyhedron& x, const Polyhedron& y);
 
-inline int
-Scalar_Products::homogeneous_sign(const Grid_Generator& g,
-				  const Constraint& c) {
-  PPL_DIRTY_TEMP_COEFFICIENT(z);
-  homogeneous_assign(z, g, c);
-  return sgn(z);
-}
+namespace Interfaces {
 
-inline
-Topology_Adjusted_Scalar_Product_Sign
-::Topology_Adjusted_Scalar_Product_Sign(const Constraint& c)
-  : sps_fp(c.is_necessarily_closed()
-	   ? static_cast<SPS_type>(&Scalar_Products::sign)
-	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Returns \c true if and only if
+  <code>ph.topology() == NECESSARILY_CLOSED</code>.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
 
-inline
-Topology_Adjusted_Scalar_Product_Sign
-::Topology_Adjusted_Scalar_Product_Sign(const Generator& g)
-  : sps_fp(g.is_necessarily_closed()
-	   ? static_cast<SPS_type>(&Scalar_Products::sign)
-	   : static_cast<SPS_type>(&Scalar_Products::reduced_sign)) {
-}
+} // namespace Interfaces
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
-						  const Generator& g) const {
-  PPL_ASSERT(c.space_dimension() <= g.space_dimension());
-  PPL_ASSERT(sps_fp == (c.is_necessarily_closed()
-		    ? static_cast<SPS_type>(&Scalar_Products::sign)
-		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(c),
-		static_cast<const Linear_Row&>(g));
-}
+} // namespace Parma_Polyhedra_Library
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
-						  const Constraint& c) const {
-  PPL_ASSERT(g.space_dimension() <= c.space_dimension());
-  PPL_ASSERT(sps_fp == (g.is_necessarily_closed()
-		    ? static_cast<SPS_type>(&Scalar_Products::sign)
-		    : static_cast<SPS_type>(&Scalar_Products::reduced_sign)));
-  return sps_fp(static_cast<const Linear_Row&>(g),
-		static_cast<const Linear_Row&>(c));
-}
 
-} // namespace Parma_Polyhedra_Library
+//! The base class for convex polyhedra.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Polyhedron represents a convex polyhedron
+  in the vector space \f$\Rset^n\f$.
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 197. */
+  A polyhedron can be specified as either a finite system of constraints
+  or a finite system of generators (see Section \ref representation)
+  and it is always possible to obtain either representation.
+  That is, if we know the system of constraints, we can obtain
+  from this the system of generators that define the same polyhedron
+  and vice versa.
+  These systems can contain redundant members: in this case we say
+  that they are not in the minimal form.
 
-/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 1. */
-/* PIP_Tree_Node class declaration.
-*/
+  Two key attributes of any polyhedron are its topological kind
+  (recording whether it is a C_Polyhedron or an NNC_Polyhedron object)
+  and its space dimension (the dimension \f$n \in \Nset\f$ of
+  the enclosing vector space):
 
+  - all polyhedra, the empty ones included, are endowed with
+    a specific topology and space dimension;
+  - most operations working on a polyhedron and another object
+    (i.e., another polyhedron, a constraint or generator,
+    a set of variables, etc.) will throw an exception if
+    the polyhedron and the object are not both topology-compatible
+    and dimension-compatible (see Section \ref representation);
+  - the topology of a polyhedron cannot be changed;
+    rather, there are constructors for each of the two derived classes
+    that will build a new polyhedron with the topology of that class
+    from another polyhedron from either class and any topology;
+  - the only ways in which the space dimension of a polyhedron can
+    be changed are:
+    - <EM>explicit</EM> calls to operators provided for that purpose;
+    - standard copy, assignment and swap operators.
 
-/* Automatically generated from PPL source file ../src/PIP_Tree.types.hh line 1. */
+  Note that four different polyhedra can be defined on
+  the zero-dimension space:
+  the empty polyhedron, either closed or NNC,
+  and the universe polyhedron \f$R^0\f$, again either closed or NNC.
 
+  \par
+  In all the examples it is assumed that variables
+  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
+  used) as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  \endcode
 
-namespace Parma_Polyhedra_Library {
+  \par Example 1
+  The following code builds a polyhedron corresponding to
+  a square in \f$\Rset^2\f$, given as a system of constraints:
+  \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  cs.insert(y >= 0);
+  cs.insert(y <= 3);
+  C_Polyhedron ph(cs);
+  \endcode
+  The following code builds the same polyhedron as above,
+  but starting from a system of generators specifying
+  the four vertices of the square:
+  \code
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + 3*y));
+  gs.insert(point(3*x + 0*y));
+  gs.insert(point(3*x + 3*y));
+  C_Polyhedron ph(gs);
+  \endcode
 
-class PIP_Tree_Node;
-class PIP_Solution_Node;
-class PIP_Decision_Node;
+  \par Example 2
+  The following code builds an unbounded polyhedron
+  corresponding to a half-strip in \f$\Rset^2\f$,
+  given as a system of constraints:
+  \code
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x - y <= 0);
+  cs.insert(x - y + 1 >= 0);
+  C_Polyhedron ph(cs);
+  \endcode
+  The following code builds the same polyhedron as above,
+  but starting from the system of generators specifying
+  the two vertices of the polyhedron and one ray:
+  \code
+  Generator_System gs;
+  gs.insert(point(0*x + 0*y));
+  gs.insert(point(0*x + y));
+  gs.insert(ray(x - y));
+  C_Polyhedron ph(gs);
+  \endcode
 
-typedef const PIP_Tree_Node* PIP_Tree;
+  \par Example 3
+  The following code builds the polyhedron corresponding to
+  a half-plane by adding a single constraint
+  to the universe polyhedron in \f$\Rset^2\f$:
+  \code
+  C_Polyhedron ph(2);
+  ph.add_constraint(y >= 0);
+  \endcode
+  The following code builds the same polyhedron as above,
+  but starting from the empty polyhedron in the space \f$\Rset^2\f$
+  and inserting the appropriate generators
+  (a point, a ray and a line).
+  \code
+  C_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point(0*x + 0*y));
+  ph.add_generator(ray(y));
+  ph.add_generator(line(x));
+  \endcode
+  Note that, although the above polyhedron has no vertices, we must add
+  one point, because otherwise the result of the Minkowski's sum
+  would be an empty polyhedron.
+  To avoid subtle errors related to the minimization process,
+  it is required that the first generator inserted in an empty
+  polyhedron is a point (otherwise, an exception is thrown).
 
-} // namespace Parma_Polyhedra_Library
+  \par Example 4
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_embed</CODE>:
+  \code
+  C_Polyhedron ph(1);
+  ph.add_constraint(x == 2);
+  ph.add_space_dimensions_and_embed(1);
+  \endcode
+  We build the universe polyhedron in the 1-dimension space \f$\Rset\f$.
+  Then we add a single equality constraint,
+  thus obtaining the polyhedron corresponding to the singleton set
+  \f$\{ 2 \} \sseq \Rset\f$.
+  After the last line of code, the resulting polyhedron is
+  \f[
+    \bigl\{\,
+      (2, y)^\transpose \in \Rset^2
+    \bigm|
+      y \in \Rset
+    \,\bigr\}.
+  \f]
 
-/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 1. */
-/* Constraint_System class implementation: inline functions.
+  \par Example 5
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_project</CODE>:
+  \code
+  C_Polyhedron ph(1);
+  ph.add_constraint(x == 2);
+  ph.add_space_dimensions_and_project(1);
+  \endcode
+  The first two lines of code are the same as in Example 4 for
+  <CODE>add_space_dimensions_and_embed</CODE>.
+  After the last line of code, the resulting polyhedron is
+  the singleton set
+  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
+
+  \par Example 6
+  The following code shows the use of the function
+  <CODE>affine_image</CODE>:
+  \code
+  C_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point(0*x + 0*y));
+  ph.add_generator(point(0*x + 3*y));
+  ph.add_generator(point(3*x + 0*y));
+  ph.add_generator(point(3*x + 3*y));
+  Linear_Expression expr = x + 4;
+  ph.affine_image(x, expr);
+  \endcode
+  In this example the starting polyhedron is a square in
+  \f$\Rset^2\f$, the considered variable is \f$x\f$ and the affine
+  expression is \f$x+4\f$.  The resulting polyhedron is the same
+  square translated to the right.  Moreover, if the affine
+  transformation for the same variable \p x is \f$x+y\f$:
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting polyhedron is a parallelogram with the height equal to
+  the side of the square and the oblique sides parallel to the line
+  \f$x-y\f$.
+  Instead, if we do not use an invertible transformation for the same
+  variable; for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting polyhedron is a diagonal of the square.
+
+  \par Example 7
+  The following code shows the use of the function
+  <CODE>affine_preimage</CODE>:
+  \code
+  C_Polyhedron ph(2);
+  ph.add_constraint(x >= 0);
+  ph.add_constraint(x <= 3);
+  ph.add_constraint(y >= 0);
+  ph.add_constraint(y <= 3);
+  Linear_Expression expr = x + 4;
+  ph.affine_preimage(x, expr);
+  \endcode
+  In this example the starting polyhedron, \p var and the affine
+  expression and the denominator are the same as in Example 6,
+  while the resulting polyhedron is again the same square,
+  but translated to the left.
+  Moreover, if the affine transformation for \p x is \f$x+y\f$
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting polyhedron is a parallelogram with the height equal to
+  the side of the square and the oblique sides parallel to the line
+  \f$x+y\f$.
+  Instead, if we do not use an invertible transformation for the same
+  variable \p x, for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting polyhedron is a line that corresponds to the \f$y\f$ axis.
+
+  \par Example 8
+  For this example we use also the variables:
+  \code
+  Variable z(2);
+  Variable w(3);
+  \endcode
+  The following code shows the use of the function
+  <CODE>remove_space_dimensions</CODE>:
+  \code
+  Generator_System gs;
+  gs.insert(point(3*x + y + 0*z + 2*w));
+  C_Polyhedron ph(gs);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  ph.remove_space_dimensions(vars);
+  \endcode
+  The starting polyhedron is the singleton set
+  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
+  the resulting polyhedron is
+  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
+  Be careful when removing space dimensions <EM>incrementally</EM>:
+  since dimensions are automatically renamed after each application
+  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
+  results can be obtained.
+  For instance, by using the following code we would obtain
+  a different result:
+  \code
+  set<Variable> vars1;
+  vars1.insert(y);
+  ph.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  ph.remove_space_dimensions(vars2);
+  \endcode
+  In this case, the result is the polyhedron
+  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
+  when removing the set of dimensions \p vars2
+  we are actually removing variable \f$w\f$ of the original polyhedron.
+  For the same reason, the operator \p remove_space_dimensions
+  is not idempotent: removing twice the same non-empty set of dimensions
+  is never the same as removing them just once.
 */
 
+class Parma_Polyhedra_Library::Polyhedron {
+public:
+  //! The numeric type of coefficients.
+  typedef Coefficient coefficient_type;
+
+  //! Returns the maximum space dimension all kinds of Polyhedron can handle.
+  static dimension_type max_space_dimension();
+
+  /*! \brief
+    Returns \c true indicating that this domain has methods that
+    can recycle constraints.
+  */
+  static bool can_recycle_constraint_systems();
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  /*! \brief
+    Returns \c false indicating that this domain cannot recycle congruences.
+  */
+  static bool can_recycle_congruence_systems();
+
+protected:
+  //! Builds a polyhedron having the specified properties.
+  /*!
+    \param topol
+    The topology of the polyhedron;
+
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the polyhedron;
+
+    \param kind
+    Specifies whether the universe or the empty polyhedron has to be built.
+  */
+  Polyhedron(Topology topol,
+	     dimension_type num_dimensions,
+	     Degenerate_Element kind);
+
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  Polyhedron(const Polyhedron& y,
+             Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! Builds a polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
+
+    \param topol
+    The topology of the polyhedron;
+
+    \param cs
+    The system of constraints defining the polyhedron.
+
+    \exception std::invalid_argument
+    Thrown if the topology of \p cs is incompatible with \p topol.
+  */
+  Polyhedron(Topology topol, const Constraint_System& cs);
 
-/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 28. */
+  //! Builds a polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-namespace Parma_Polyhedra_Library {
+    \param topol
+    The topology of the polyhedron;
 
-inline
-Constraint_System::Constraint_System()
-  : Linear_System(NECESSARILY_CLOSED) {
-}
+    \param cs
+    The system of constraints defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-inline
-Constraint_System::Constraint_System(const Constraint& c)
-  : Linear_System(c.topology()) {
-  Linear_System::insert(c);
-}
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-inline
-Constraint_System::Constraint_System(const Constraint_System& cs)
-  : Linear_System(cs) {
-}
+    \exception std::invalid_argument
+    Thrown if the topology of \p cs is incompatible with \p topol.
+  */
+  Polyhedron(Topology topol, Constraint_System& cs, Recycle_Input dummy);
 
-inline
-Constraint_System::Constraint_System(const Topology topol)
-  : Linear_System(topol) {
-}
+  //! Builds a polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-inline
-Constraint_System::Constraint_System(const Topology topol,
-				     const dimension_type n_rows,
-				     const dimension_type n_columns)
-  : Linear_System(topol, n_rows, n_columns) {
-}
+    \param topol
+    The topology of the polyhedron;
 
-inline
-Constraint_System::~Constraint_System() {
-}
+    \param gs
+    The system of generators defining the polyhedron.
 
-inline Constraint_System&
-Constraint_System::operator=(const Constraint_System& y) {
-  Linear_System::operator=(y);
-  return *this;
-}
+    \exception std::invalid_argument
+    Thrown if the topology of \p gs is incompatible with \p topol,
+    or if the system of generators is not empty but has no points.
+  */
+  Polyhedron(Topology topol, const Generator_System& gs);
 
-inline Constraint&
-Constraint_System::operator[](const dimension_type k) {
-  return static_cast<Constraint&>(Linear_System::operator[](k));
-}
+  //! Builds a polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-inline const Constraint&
-Constraint_System::operator[](const dimension_type k) const {
-  return static_cast<const Constraint&>(Linear_System::operator[](k));
-}
+    \param topol
+    The topology of the polyhedron;
 
-inline dimension_type
-Constraint_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
-}
+    \param gs
+    The system of generators defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-inline dimension_type
-Constraint_System::space_dimension() const {
-  return Linear_System::space_dimension();
-}
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-inline void
-Constraint_System::clear() {
-  Linear_System::clear();
-}
+    \exception std::invalid_argument
+    Thrown if the topology of \p gs is incompatible with \p topol,
+    or if the system of generators is not empty but has no points.
+  */
+  Polyhedron(Topology topol, Generator_System& gs, Recycle_Input dummy);
 
-inline const Constraint_System&
-Constraint_System::zero_dim_empty() {
-  PPL_ASSERT(zero_dim_empty_p != 0);
-  return *zero_dim_empty_p;
-}
+  //! Builds a polyhedron from a box.
+  /*!
+    This will use an algorithm whose complexity is polynomial and build
+    the smallest polyhedron with topology \p topol containing \p box.
 
-inline
-Constraint_System::const_iterator::const_iterator()
-  : i(), csp(0) {
-}
+    \param topol
+    The topology of the polyhedron;
 
-inline
-Constraint_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), csp(y.csp) {
-}
+    \param box
+    The box representing the polyhedron to be built;
 
-inline
-Constraint_System::const_iterator::~const_iterator() {
-}
+    \param complexity
+    This argument is ignored.
+  */
+  template <typename Interval>
+  Polyhedron(Topology topol, const Box<Interval>& box,
+             Complexity_Class complexity = ANY_COMPLEXITY);
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  csp = y.csp;
-  return *this;
-}
+  /*! \brief
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
+  */
+  Polyhedron& operator=(const Polyhedron& y);
 
-inline const Constraint&
-Constraint_System::const_iterator::operator*() const {
-  return static_cast<const Constraint&>(*i);
-}
+public:
+  //! \name Member Functions that Do Not Modify the Polyhedron
+  //@{
 
-inline const Constraint*
-Constraint_System::const_iterator::operator->() const {
-  return static_cast<const Constraint*>(i.operator->());
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator++() {
-  ++i;
-  skip_forward();
-  return *this;
-}
+  /*! \brief
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
+    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
+    of \p *this.
+  */
+  dimension_type affine_dimension() const;
 
-inline Constraint_System::const_iterator
-Constraint_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+  //! Returns the system of constraints.
+  const Constraint_System& constraints() const;
 
-inline bool
-Constraint_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+  //! Returns the system of constraints, with no redundant constraint.
+  const Constraint_System& minimized_constraints() const;
 
-inline bool
-Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
-}
+  //! Returns the system of generators.
+  const Generator_System& generators() const;
 
-inline
-Constraint_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Constraint_System& csys)
-  : i(iter), csp(&csys) {
-}
+  //! Returns the system of generators, with no redundant generator.
+  const Generator_System& minimized_generators() const;
 
-inline Constraint_System::const_iterator
-Constraint_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
-  i.skip_forward();
-  return i;
-}
+  //! Returns a system of (equality) congruences satisfied by \p *this.
+  Congruence_System congruences() const;
 
-inline Constraint_System::const_iterator
-Constraint_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
-  return i;
-}
+  /*! \brief
+    Returns a system of (equality) congruences satisfied by \p *this,
+    with no redundant congruences and having the same affine dimension
+    as \p *this.
+  */
+  Congruence_System minimized_congruences() const;
 
-inline bool
-Constraint_System::empty() const {
-  return begin() == end();
-}
+  /*! \brief
+    Returns the relations holding between the polyhedron \p *this
+    and the constraint \p c.
 
-inline void
-Constraint_System::add_low_level_constraints() {
-  if (is_necessarily_closed())
-    // The positivity constraint.
-    insert(Constraint::zero_dim_positivity());
-  else {
-    // Add the epsilon constraints.
-    insert(Constraint::epsilon_leq_one());
-    insert(Constraint::epsilon_geq_zero());
-  }
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-inline void
-Constraint_System::swap(Constraint_System& y) {
-  Linear_System::swap(y);
-}
+  /*! \brief
+    Returns the relations holding between the polyhedron \p *this
+    and the generator \p g.
 
-inline memory_size_type
-Constraint_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  Poly_Gen_Relation relation_with(const Generator& g) const;
 
-inline memory_size_type
-Constraint_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
-}
+  /*! \brief
+    Returns the relations holding between the polyhedron \p *this
+    and the congruence \p c.
 
-inline void
-Constraint_System::simplify() {
-  Linear_System::simplify();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p c are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is
+    an empty polyhedron.
+  */
+  bool is_empty() const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a universe polyhedron.
+  */
+  bool is_universe() const;
 
-namespace std {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a topologically closed subset of the vector space.
+  */
+  bool is_topologically_closed() const;
 
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-inline void
-swap(Parma_Polyhedra_Library::Constraint_System& x,
-     Parma_Polyhedra_Library::Constraint_System& y) {
-  x.swap(y);
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool is_disjoint_from(const Polyhedron& y) const;
 
-} // namespace std
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  bool is_discrete() const;
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 1. */
-/* Variables_Set class declaration.
-*/
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a bounded polyhedron.
+  */
+  bool is_bounded() const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 30. */
-#include <iosfwd>
-#include <set>
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  bool constrains(Variable var) const;
 
-namespace IO_Operators {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variables_Set */
-std::ostream&
-operator<<(std::ostream& s, const Variables_Set& v);
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
-} // namespace IO_Operators
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
-//! An std::set of variables' indexes.
-class Parma_Polyhedra_Library::Variables_Set
-  : public std::set<dimension_type> {
-private:
-  typedef std::set<dimension_type> Base;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value is computed.
 
-public:
-  //! Builds the empty set of variable indexes.
-  Variables_Set();
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
-  explicit Variables_Set(const Variable& v);
+    \param sup_n
+    The numerator of the supremum value;
 
-  /*! \brief
-    Builds the set of variables's indexes in the range from
-    <CODE>v.id()</CODE> to <CODE>w.id()</CODE>.
+    \param sup_d
+    The denominator of the supremum value;
 
-    If <CODE>v.id() <= w.id()</CODE>, this constructor builds the
-    set of variables' indexes
-    <CODE>v.id()</CODE>, <CODE>v.id()+1</CODE>, ..., <CODE>w.id()</CODE>.
-    The empty set is built otherwise.
-  */
-  Variables_Set(const Variable& v, const Variable& w);
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
 
-  //! Returns the maximum space dimension a Variables_Set can handle.
-  static dimension_type max_space_dimension();
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  /*! \brief
-    Returns the dimension of the smallest vector space enclosing all
-    the variables whose indexes are in the set.
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
+    and \p maximum are left untouched.
   */
-  dimension_type space_dimension() const;
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-  //! Inserts the index of variable \p v into the set.
-  void insert(Variable v);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value and a point where \p expr reaches it are computed.
 
-  // The `insert' method above overloads (instead of hiding) the
-  // other `insert' method of std::set.
-  using Base::insert;
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    \param sup_n
+    The numerator of the supremum value;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    \param sup_d
+    The denominator of the supremum value;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
-  PPL_OUTPUT_DECLARATIONS
-};
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 1. */
-/* Variables_Set class implementation: inline functions.
-*/
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p g are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value is computed.
 
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 28. */
-#include <stdexcept>
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-namespace Parma_Polyhedra_Library {
+    \param inf_n
+    The numerator of the infimum value;
 
-inline
-Variables_Set::Variables_Set()
-  : Base() {
-}
+    \param inf_d
+    The denominator of the infimum value;
 
-inline void
-Variables_Set::insert(const Variable v) {
-  insert(v.id());
-}
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value.
 
-inline
-Variables_Set::Variables_Set(const Variable& v)
-  : Base() {
-  insert(v);
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline dimension_type
-Variables_Set::max_space_dimension() {
-  return Variable::max_space_dimension();
-}
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-inline dimension_type
-Variables_Set::space_dimension() const {
-  reverse_iterator i = rbegin();
-  return i == rend() ? 0 : *i+1;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value and a point where \p expr reaches it are computed.
 
-inline memory_size_type
-Variables_Set::external_memory_in_bytes() const {
-  // We assume sets are implemented by means of red-black trees that
-  // require to store the color (we assume an enum) and three pointers
-  // to the parent, left and right child, respectively.
-  enum color { red, black };
-  return size() * (sizeof(color) + 3*sizeof(void*) + sizeof(dimension_type));
-}
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-inline memory_size_type
-Variables_Set::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-} // namespace Parma_Polyhedra_Library
+    \param inf_d
+    The denominator of the infimum value;
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 106. */
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 1. */
-/* PIP_Problem class declaration.
-*/
+    \param g
+    When minimization succeeds, will be assigned a point or
+    closure point where \p expr reaches its infimum value.
 
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.types.hh line 1. */
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p g are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& g) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
 
-namespace Parma_Polyhedra_Library {
+    \param expr
+    The linear expression for which the frequency is needed;
 
-//! Possible outcomes of the PIP_Problem solver.
-/*! \ingroup PPL_CXX_interface */
-enum PIP_Problem_Status {
-  //! The problem is unfeasible.
-  UNFEASIBLE_PIP_PROBLEM,
-  //! The problem has an optimal solution.
-  OPTIMIZED_PIP_PROBLEM
-};
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
 
-class PIP_Problem;
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
 
-} // namespace Parma_Polyhedra_Library
+    \param val_n
+    The numerator of \p val;
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 35. */
-#include <vector>
-#include <deque>
-#include <iosfwd>
+    \param val_d
+    The denominator of \p val;
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-namespace IO_Operators {
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::PIP_Problem */
-std::ostream&
-operator<<(std::ostream& s, const PIP_Problem& p);
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool contains(const Polyhedron& y) const;
 
-} // namespace IO_Operators
+  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool strictly_contains(const Polyhedron& y) const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Checks if all the invariants are satisfied.
+  /*!
+    \return
+    <CODE>true</CODE> if and only if \p *this satisfies all the
+    invariants and either \p check_not_empty is <CODE>false</CODE> or
+    \p *this is not empty.
 
-//! A Parametric Integer (linear) Programming problem.
-/*! \ingroup PPL_CXX_interface
-  An object of this class encodes a parametric integer (linear)
-  programming problem. The PIP problem is specified by providing:
-   - the dimension of the vector space;
-   - the subset of those dimensions of the vector space that are
-     interpreted as integer parameters (the other space dimensions
-     are interpreted as non-parameter integer variables);
-   - a finite set of linear equality and (strict or non-strict)
-     inequality constraints involving variables and/or parameters;
-     these constraints are used to define:
-       - the <EM>feasible region</EM>, if they involve one or more
-         problem variable (and maybe some parameters);
-       - the <EM>initial context</EM>, if they only involve the
-         parameters;
-   - optionally, the so-called <EM>big parameter</EM>,
-     i.e., a problem parameter to be considered arbitrarily big.
+    \param check_not_empty
+    <CODE>true</CODE> if and only if, in addition to checking the
+    invariants, \p *this must be checked to be not empty.
 
-  Note that all problem variables and problem parameters are assumed
-  to take non-negative integer values, so that there is no need
-  to specify non-negativity constraints.
+    The check is performed so as to intrude as little as possible.  If
+    the library has been compiled with run-time assertions enabled,
+    error messages are written on <CODE>std::cerr</CODE> in case
+    invariants are violated. This is useful for the purpose of
+    debugging the library.
+  */
+  bool OK(bool check_not_empty = false) const;
 
-  The class provides support for the (incremental) solution of the
-  PIP problem based on variations of the revised simplex method and
-  on Gomory cut generation techniques.
+  //@} // Member Functions that Do Not Modify the Polyhedron
 
-  The solution for a PIP problem is the lexicographic minimum of the
-  integer points of the feasible region, expressed in terms of the
-  parameters. As the problem to be solved only involves non-negative
-  variables and parameters, the problem will always be either unfeasible
-  or optimizable.
+  //! \name Space Dimension Preserving Member Functions that May Modify the Polyhedron
+  //@{
 
-  As the feasibility and the solution value of a PIP problem depend on the
-  values of the parameters, the solution is a binary decision tree,
-  dividing the context parameter set into subsets.
-  The tree nodes are of two kinds:
-   - \e Decision nodes.
-     These are internal tree nodes encoding one or more linear tests
-     on the parameters; if all the tests are satisfied, then the solution
-     is the node's \e true child; otherwise, the solution is the node's
-     \e false child;
-   - \e Solution nodes.
-     These are leaf nodes in the tree, encoding the solution of the problem
-     in the current context subset, where each variable is defined in terms
-     of a linear expression of the parameters.
-     Solution nodes also optionally embed a set of parameter constraints:
-     if all these constraints are satisfied, the solution is described by
-     the node, otherwise the problem has no solution.
+  /*! \brief
+    Adds a copy of constraint \p c to the system of constraints
+    of \p *this (without minimizing the result).
 
-  It may happen that a decision node has no \e false child. This means
-  that there is no solution if at least one of the corresponding
-  constraints is not satisfied. Decision nodes having two or more linear
-  tests on the parameters cannot have a \e false child. Decision nodes
-  always have a \e true child.
+    \param c
+    The constraint that will be added to the system of
+    constraints of \p *this.
 
-  Both kinds of tree nodes may also contain the definition of extra
-  parameters which are artificially introduced by the solver to enforce
-  an integral solution. Such artificial parameters are defined by
-  the integer division of a linear expression on the parameters
-  by an integer coefficient.
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are topology-incompatible
+    or dimension-incompatible.
+  */
+  void add_constraint(const Constraint& c);
 
-  By exploiting the incremental nature of the solver, it is possible
-  to reuse part of the computational work already done when solving
-  variants of a given PIP_Problem: currently, incremental resolution
-  supports the addition of space dimensions, the addition of parameters
-  and the addition of constraints.
+  /*! \brief
+    Adds a copy of generator \p g to the system of generators
+    of \p *this (without minimizing the result).
 
-  \par Example problem
-  An example PIP problem can be defined the following:
-  \code
-  3*j >= -2*i+8
-  j <= 4*i - 4
-  i <= n
-  j <= m
-  \endcode
-  where \c i and \c j are the problem variables
-  and \c n and \c m are the problem parameters.
-  This problem can be optimized; the resulting solution tree may be
-  represented as follows:
-  \verbatim
-  if 7*n >= 10 then
-    if 7*m >= 12 then
-      {i = 2 ; j = 2}
-    else
-      Parameter P = (m) div 2
-      if 2*n + 3*m >= 8 then
-        {i = -m - P + 4 ; j = m}
-      else
-        _|_
-  else
-    _|_
-  \endverbatim
-  The solution tree starts with a decision node depending on the
-  context constraint <code>7*n >= 10</code>.
-  If this constraint is satisfied by the values assigned to the
-  problem parameters, then the (textually first) \c then branch is taken,
-  reaching the \e true child of the root node (which in this case
-  is another decision node); otherwise, the (textually last) \c else
-  branch is taken, for which there is no corresponding \e false child.
-  \par
-  The \f$\perp\f$ notation, also called \e bottom, denotes the
-  lexicographic minimum of an empty set of solutions,
-  here meaning the corresponding subproblem is unfeasible.
-  \par
-  Notice that a tree node may introduce new (non-problem) parameters,
-  as is the case for parameter \c P in the (textually first) \c else
-  branch above. These \e artificial parameters are only meaningful
-  inside the subtree where they are defined and are used to define
-  the parametric values of the problem variables in solution nodes
-  (e.g., the <tt>{i,j}</tt> vector in the textually third \c then branch).
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are topology-incompatible or
+    dimension-incompatible, or if \p *this is an empty polyhedron and
+    \p g is not a point.
+  */
+  void add_generator(const Generator& g);
 
-  \par Context restriction
-  The above solution is correct in an unrestricted initial context,
-  meaning all possible values are allowed for the parameters. If we
-  restrict the context with the following parameter inequalities:
-  \code
-  m >= n
-  n >= 5
-  \endcode
-  then the resulting optimizing tree will be a simple solution node:
-  \verbatim
-  {i = 2 ; j = 2}
-  \endverbatim
+  /*! \brief
+    Adds a copy of congruence \p cg to \p *this,
+    if \p cg can be exactly represented by a polyhedron.
 
-  \par Creating the PIP_Problem object
-  The PIP_Problem object corresponding to the above example can be
-  created as follows:
-  \code
-  Variable i(0);
-  Variable j(1);
-  Variable n(2);
-  Variable m(3);
-  Variables_Set params(n, m);
-  Constraint_System cs;
-  cs.insert(3*j >= -2*i+8);
-  cs.insert(j <= 4*i - 4);
-  cs.insert(j <= m);
-  cs.insert(i <= n);
-  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
-  \endcode
-  If you want to restrict the initial context, simply add the parameter
-  constraints the same way as for normal constraints.
-  \code
-  cs.insert(m >= n);
-  cs.insert(n >= 5);
-  \endcode
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible,
+    of if \p cg is a proper congruence which is neither a tautology,
+    nor a contradiction.
+  */
+  void add_congruence(const Congruence& cg);
 
-  \par Solving the problem
-  Once the PIP_Problem object has been created, you can start the
-  resolution of the problem by calling the solve() method:
-  \code
-  PIP_Problem_Status status = pip.solve();
-  \endcode
-  where the returned \c status indicates if the problem has been optimized
-  or if it is unfeasible for any possible configuration of the parameter
-  values. The resolution process is also started if an attempt is made
-  to get its solution, as follows:
-  \code
-  const PIP_Tree_Node* node = pip.solution();
-  \endcode
-  In this case, an unfeasible problem will result in an empty solution
-  tree, i.e., assigning a null pointer to \c node.
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the system
+    of constraints of \p *this (without minimizing the result).
 
-  \par Printing the solution tree
-  A previously computed solution tree may be printed as follows:
-  \code
-  pip.print_solution(std::cout);
-  \endcode
-  This will produce the following output (note: variables and parameters
-  are printed according to the default output function; see
-  <code>Variable::set_output_function</code>):
-  \verbatim
-  if 7*C >= 10 then
-    if 7*D >= 12 then
-      {2 ; 2}
-    else
-      Parameter E = (D) div 2
-      if 2*C + 3*D >= 8 then
-        {-D - E + 4 ; D}
-      else
-        _|_
-  else
-    _|_
-  \endverbatim
+    \param cs
+    Contains the constraints that will be added to the system of
+    constraints of \p *this.
 
-  \par Spanning the solution tree
-  A parameter assignment for a PIP problem binds each of the problem
-  parameters to a non-negative integer value. After fixing a parameter
-  assignment, the ``spanning'' of the PIP problem solution tree refers
-  to the process whereby the solution tree is navigated, starting from
-  the root node: the value of artificial parameters is computed according
-  to the parameter assignment and the node's contraints are evaluated,
-  thereby descending in either the true or the false subtree of decision
-  nodes and eventually reaching a solution node or a bottom node.
-  If a solution node is found, each of the problem variables is provided
-  with a parametric expression, which can be evaluated to a fixed value
-  using the given parameter assignment and the computed values for
-  artificial parameters.
-  \par
-  The coding of the spanning process can be done as follows.
-  First, the root of the PIP solution tree is retrieved:
-  \code
-  const PIP_Tree_Node* node = pip.solution();
-  \endcode
-  If \c node represents an unfeasible solution (i.e., \f$\perp\f$),
-  its value will be \c 0. For a non-null tree node, the virtual methods
-  \c PIP_Tree_Node::as_decision() and \c PIP_Tree_Node::as_solution()
-  can be used to check whether the node is a decision or a solution node:
-  \code
-  const PIP_Solution_Node* sol = node->as_solution();
-  if (sol != 0) {
-    // The node is a solution node
-    ...
-  }
-  else {
-    // The node is a decision node
-    const PIP_Decision_Node* dec = node->as_decision();
-    ...
-  }
-  \endcode
-  \par
-  The true (resp., false) child node of a Decision Node may be accessed by
-  using method \c PIP_Decision_Node::child_node(bool), passing \c true
-  (resp., \c false) as the input argument.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-  \par Artificial parameters
-  A PIP_Tree_Node::Artificial_Parameter object represents the result
-  of the integer division of a Linear_Expression (on the other
-  parameters, including the previously-defined artificials)
-  by an integer denominator (a Coefficient object).
-  The dimensions of the artificial parameters (if any) in a tree node
-  have consecutive indices starting from <code>dim+1</code>, where the value
-  of \c dim is computed as follows:
-   - for the tree root node, \c dim is the space dimension of the PIP_Problem;
-   - for any other node of the tree, it is recusrively obtained by adding
-     the value of \c dim computed for the parent node to the number of
-     artificial parameters defined in the parent node.
-  \par
-  Since the numbering of dimensions for artificial parameters follows
-  the rule above, the addition of new problem variables and/or new problem
-  parameters to an already solved PIP_Problem object (as done when
-  incrementally solving a problem) will result in the systematic
-  renumbering of all the existing artificial parameters.
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    of \p *this (without minimizing the result).
 
-  \par Node constraints
-  All kind of tree nodes can contain context constraints.
-  Decision nodes always contain at least one of them.
-  The node's local constraint system can be obtained using method
-  PIP_Tree_Node::constraints.
-  These constraints only involve parameters, including both the problem
-  parameters and the artificial parameters that have been defined
-  in nodes occurring on the path from the root node to the current node.
-  The meaning of these constraints is as follows:
-   - On a decision node, if all tests in the constraints are true, then the
-     solution is the \e true child; otherwise it is the \e false child.
-   - On a solution node, if the (possibly empty) system of constraints
-     evaluates to true for a given parameter assignment, then the solution
-     is described by the node; otherwise the solution is \f$\perp\f$
-     (i.e., the problem is unfeasible for that parameter assignment).
+    \param cs
+    The constraint system to be added to \p *this.  The constraints in
+    \p cs may be recycled.
 
-  \par Getting the optimal values for the variables
-  After spanning the solution tree using the given parameter assignment,
-  if a solution node has been reached, then it is possible to retrieve
-  the parametric expression for each of the problem variables using
-  method PIP_Solution_Node::parametric_values. The retrieved expression
-  will be defined in terms of all the parameters (problem parameters
-  and artificial parameters defined along the path).
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
 
-  \par Solving maximization problems
-  You can solve a lexicographic maximization problem by reformulating its
-  constraints using variable substitution. Proceed the following steps:
-   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
-     which we will call \f$M\f$.
-   - Reformulate each of the maximization problem constraints by
-     substituting each \f$x_i\f$ variable with an expression of the form
-     \f$M-x'_i\f$, where the \f$x'_i\f$ variables are positive variables to
-     be minimized.
-   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
-   - In the solution expressions, the values of the \f$x'\f$ variables will
-     be expressed in the form: \f$x'_i = M-x_i\f$. To get back the value of
-     the expression of each \f$x_i\f$ variable, just apply the
-     formula: \f$x_i = M-x'_i\f$.
-  \par
-  Note that if the resulting expression of one of the \f$x'_i\f$ variables
-  is not in the \f$x'_i = M-x_i\f$ form, this means that the
-  sign-unrestricted problem is unbounded.
-  \par
-  You can choose to maximize only a subset of the variables while minimizing
-  the other variables. In that case, just apply the variable substitution
-  method on the variables you want to be maximized. The variable
-  optimization priority will still be in lexicographic order.
+    \warning
+    The only assumption that can be made on \p cs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
 
-  \par
-  \b Example: consider you want to find the lexicographic maximum of the
-  \f$(x,y)\f$ vector, under the constraints:
-    \f[\left\{\begin{array}{l}
-      y \geq 2x - 4\\
-      y \leq -x + p
-    \end{array}\right.\f]
-  \par
-  where \f$p\f$ is a parameter.
-  \par
-  After variable substitution, the constraints become:
-    \f[\left\{\begin{array}{l}
-      M - y \geq 2M - 2x - 4\\
-      M - y \leq -M + x + p
-    \end{array}\right.\f]
-  \par
-  The code for creating the corresponding problem object is the following:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable p(2);
-  Variable M(3);
-  Variables_Set params(p, M);
-  Constraint_System cs;
-  cs.insert(M - y >= 2*M - 2*x - 4);
-  cs.insert(M - y <= -M + x + p);
-  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
-  pip.set_big_parameter_dimension(3);     // M is the big parameter
-  \endcode
-  Solving the problem provides the following solution:
-  \verbatim
-  Parameter E = (C + 1) div 3
-  {D - E - 1 ; -C + D + E + 1}
-  \endverbatim
-  Under the notations above, the solution is:
-  \f[ \left\{\begin{array}{l}
-    x'=M-\left\lfloor\frac{p+1}{3}\right\rfloor-1\\
-    y'=M-p+\left\lfloor\frac{p+1}{3}\right\rfloor+1
-  \end{array}\right.
-  \f]
-  \par
-  Performing substitution again provides us with the values of the original
-  variables:
-  \f[ \left\{\begin{array}{l}
-    x=\left\lfloor\frac{p+1}{3}\right\rfloor+1\\
-    y=p-\left\lfloor\frac{p+1}{3}\right\rfloor-1
-  \end{array}\right.
-  \f]
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system
+    of generators of \p *this (without minimizing the result).
 
-  \par Allowing variables to be arbitrarily signed
-  You can deal with arbitrarily signed variables by reformulating the
-  constraints using variable substitution. Proceed the following steps:
-   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
-     which we will call \f$M\f$.
-   - Reformulate each of the maximization problem constraints by
-     substituting each \f$x_i\f$ variable with an expression of the form
-     \f$x'_i-M\f$, where the \f$x'_i\f$ variables are positive.
-   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
-   - The solution expression can be read in the form:
-   - In the solution expressions, the values of the \f$x'\f$ variables will
-     be expressed in the form: \f$x'_i = x_i+M\f$. To get back the value of
-     the expression of each signed \f$x_i\f$ variable, just apply the
-     formula: \f$x_i = x'_i-M\f$.
-  \par
-  Note that if the resulting expression of one of the \f$x'_i\f$ variables
-  is not in the \f$x'_i = x_i+M\f$ form, this means that the
-  sign-unrestricted problem is unbounded.
-  \par
-  You can choose to define only a subset of the variables to be
-  sign-unrestricted. In that case, just apply the variable substitution
-  method on the variables you want to be sign-unrestricted.
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-  \par
-  \b Example: consider you want to find the lexicographic minimum of the
-  \f$(x,y)\f$ vector, where the \f$x\f$ and \f$y\f$ variables are
-  sign-unrestricted, under the constraints:
-    \f[\left\{\begin{array}{l}
-      y \geq -2x - 4\\
-      2y \leq x + 2p
-    \end{array}\right.\f]
-  \par
-  where \f$p\f$ is a parameter.
-  \par
-  After variable substitution, the constraints become:
-    \f[\left\{\begin{array}{l}
-      y' - M \geq -2x' + 2M - 4\\
-      2y' - 2M \leq x' - M + 2p
-    \end{array}\right.\f]
-  \par
-  The code for creating the corresponding problem object is the following:
-  \code
-  Variable x(0);
-  Variable y(1);
-  Variable p(2);
-  Variable M(3);
-  Variables_Set params(p, M);
-  Constraint_System cs;
-  cs.insert(y - M >= -2*x + 2*M - 4);
-  cs.insert(2*y - 2*M <= x - M + 2*p);
-  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
-  pip.set_big_parameter_dimension(3);     // M is the big parameter
-  \endcode
-  \par
-  Solving the problem provides the following solution:
-  \verbatim
-  Parameter E = (2*C + 3) div 5
-  {D - E - 1 ; D + 2*E - 2}
-  \endverbatim
-  Under the notations above, the solution is:
-  \f[ \left\{\begin{array}{l}
-    x'=M-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
-    y'=M+2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
-  \end{array}\right.
-  \f]
-  \par
-  Performing substitution again provides us with the values of the original
-  variables:
-  \f[ \left\{\begin{array}{l}
-    x=-\left\lfloor\frac{2p+3}{5}\right\rfloor-1\\
-    y=2\left\lfloor\frac{2p+3}{5}\right\rfloor-2
-  \end{array}\right.
-  \f]
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are topology-incompatible or
+    dimension-incompatible, or if \p *this is empty and the system of
+    generators \p gs is not empty, but has no points.
+  */
+  void add_generators(const Generator_System& gs);
 
-  \par Allowing parameters to be arbitrarily signed
-  You can consider a parameter \f$p\f$ arbitrarily signed by replacing
-  \f$p\f$ with \f$p^+-p^-\f$, where both \f$p^+\f$ and \f$p^-\f$ are
-  positive parameters. To represent a set of arbitrarily signed parameters,
-  replace each parameter \f$p_i\f$ with \f$p^+_i-p^-\f$, where \f$-p^-\f$ is
-  the minimum negative value of all parameters.
+  /*! \brief
+    Adds the generators in \p gs to the system of generators
+    of \p *this (without minimizing the result).
 
-  \par Minimizing a linear cost function
-  Lexicographic solving can be used to find the parametric minimum of a
-  linear cost function.
-  \par
-  Suppose the variables are named \f$x_1, x_2, \dots, x_n\f$, and the
-  parameters \f$p_1, p_2, \dots, p_m\f$. You can minimize a linear cost
-  function \f$f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ by simply adding the
-  constraint \f$x_1 \geq f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ to the
-  constraint system. As lexicographic minimization ensures \f$x_1\f$ is
-  minimized in priority, and because \f$x_1\f$ is forced by a constraint to
-  be superior or equal to the cost function, optimal solutions of the
-  problem necessarily ensure that the solution value of \f$x_1\f$ is the
-  optimal value of the cost function.
-*/
-class Parma_Polyhedra_Library::PIP_Problem {
-public:
-  //! Builds a trivial PIP problem.
-  /*!
-    A trivial PIP problem requires to compute the lexicographic minimum
-    on a vector space under no constraints and with no parameters:
-    due to the implicit non-negativity constraints, the origin of the
-    vector space is an optimal solution.
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-    \param dim
-    The dimension of the vector space enclosing \p *this
-    (optional argument with default value \f$0\f$).
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are topology-incompatible or
+    dimension-incompatible, or if \p *this is empty and the system of
+    generators \p gs is not empty, but has no points.
 
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+    \warning
+    The only assumption that can be made on \p gs upon successful or
+    exceptional return is that it can be safely destroyed.
   */
-  explicit PIP_Problem(dimension_type dim = 0);
+  void add_recycled_generators(Generator_System& gs);
 
   /*! \brief
-    Builds a PIP problem having space dimension \p dim
-    from the sequence of constraints in the range
-    \f$[\mathrm{first}, \mathrm{last})\f$;
-    those dimensions whose indices occur in \p p_vars are
-    interpreted as parameters.
+    Adds a copy of the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron.
 
-    \param dim
-    The dimension of the vector space (variables and parameters) enclosing
-    \p *this.
+    \param cgs
+    The congruences to be added.
 
-    \param first
-    An input iterator to the start of the sequence of constraints.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    of if there exists in \p cgs a proper congruence which is
+    neither a tautology, nor a contradiction.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-    \param last
-    A past-the-end input iterator to the sequence of constraints.
+  /*! \brief
+    Adds the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron.
 
-    \param p_vars
-    The set of variables' indexes that are interpreted as parameters.
+    \param cgs
+    The congruences to be added. Its elements may be recycled.
 
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    of if there exists in \p cgs a proper congruence which is
+    neither a tautology, nor a contradiction
+
+    \warning
+    The only assumption that can be made on \p cgs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
+
+  /*! \brief
+    Uses a copy of constraint \p c to refine \p *this.
 
     \exception std::invalid_argument
-    Thrown if the space dimension of a constraint in the sequence
-    (resp., the parameter variables) is strictly greater than \p dim.
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  template <typename In>
-  PIP_Problem(dimension_type dim, In first, In last,
-	      const Variables_Set& p_vars);
+  void refine_with_constraint(const Constraint& c);
 
-  //! Ordinary copy-constructor.
-  PIP_Problem(const PIP_Problem& y);
+  /*! \brief
+    Uses a copy of congruence \p cg to refine \p *this.
 
-  //! Destructor.
-  ~PIP_Problem();
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-  //! Assignment operator.
-  PIP_Problem& operator=(const PIP_Problem& y);
+  /*! \brief
+    Uses a copy of the constraints in \p cs to refine \p *this.
 
-  //! Returns the maximum space dimension a PIP_Problem can handle.
-  static dimension_type max_space_dimension();
+    \param cs
+    Contains the constraints used to refine the system of
+    constraints of \p *this.
 
-  //! Returns the space dimension of the PIP problem.
-  dimension_type space_dimension() const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
   /*! \brief
-    Returns a set containing all the variables' indexes representing
-    the parameters of the PIP problem.
-  */
-  const Variables_Set& parameter_space_dimensions() const;
+    Uses a copy of the congruences in \p cgs to refine \p *this.
 
-private:
-  //! A type alias for a sequence of constraints.
-  typedef std::vector<Constraint> Constraint_Sequence;
+    \param cgs
+    Contains the congruences used to refine the system of
+    constraints of \p *this.
 
-public:
-  /*! \brief
-    A type alias for the read-only iterator on the constraints
-    defining the feasible region.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
   */
-  typedef Constraint_Sequence::const_iterator const_iterator;
+  void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Returns a read-only iterator to the first constraint defining
-    the feasible region.
+    Refines \p *this with the constraint expressed by \p left \f$<\f$
+    \p right if \p is_strict is set, with the constraint \p left \f$\leq\f$
+    \p right otherwise.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is on the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is on the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param is_strict
+    True if the comparison is strict.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
   */
-  const_iterator constraints_begin() const;
+  template <typename FP_Format, typename Interval_Info>
+  void refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  bool is_strict = false);
 
   /*! \brief
-    Returns a past-the-end read-only iterator to the sequence of
-    constraints defining the feasible region.
+    Refines \p *this with the constraint expressed by \p left \f$\relsym\f$
+    \p right, where \f$\relsym\f$ is the relation symbol specified by
+    \p relsym..
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is on the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is on the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param relsym
+    The relation symbol.
+
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
   */
-  const_iterator constraints_end() const;
+  template <typename FP_Format, typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  Relation_Symbol relsym);
 
-  //! Resets \p *this to be equal to the trivial PIP problem.
+  //! Refines \p store with the constraints defining \p *this.
   /*!
-    The space dimension is reset to \f$0\f$.
+    \param store
+    The interval floating point abstract store to refine.
   */
-  void clear();
+  template <typename FP_Format, typename Interval_Info>
+  void refine_fp_interval_abstract_store(
+       Box< Interval<FP_Format, Interval_Info> >& store)
+       const;
 
   /*! \brief
-    Adds <CODE>m_vars + m_params</CODE> new space dimensions
-    and embeds the old PIP problem in the new vector space.
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-    \param m_vars
-    The number of space dimensions to add that are interpreted as
-    PIP problem variables (i.e., non parameters). These are added
-    \e before adding the \p m_params parameters.
+    \param var
+    The space dimension that will be unconstrained.
 
-    \param m_params
-    The number of space dimensions to add that are interpreted as
-    PIP problem parameters. These are added \e after having added the
-    \p m_vars problem variables.
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-    \exception std::length_error
-    Thrown if adding <CODE>m_vars + m_params</CODE> new space
-    dimensions would cause the vector space to exceed dimension
-    <CODE>max_space_dimension()</CODE>.
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-    The new space dimensions will be those having the highest indexes
-    in the new PIP problem; they are initially unconstrained.
+    \param vars
+    The set of space dimension that will be unconstrained.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
   */
-  void add_space_dimensions_and_embed(dimension_type m_vars,
-                                      dimension_type m_params);
+  void unconstrain(const Variables_Set& vars);
 
   /*! \brief
-    Sets the space dimensions whose indexes which are in set \p p_vars
-    to be parameter space dimensions.
+    Assigns to \p *this the intersection of \p *this and \p y.
 
     \exception std::invalid_argument
-    Thrown if some index in \p p_vars does not correspond to
-    a space dimension in \p *this.
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void add_to_parameter_space_dimensions(const Variables_Set& p_vars);
+  void intersection_assign(const Polyhedron& y);
 
   /*! \brief
-    Adds a copy of constraint \p c to the PIP problem.
+    Assigns to \p *this the poly-hull of \p *this and \p y.
 
     \exception std::invalid_argument
-    Thrown if the space dimension of \p c is strictly greater than
-    the space dimension of \p *this.
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void add_constraint(const Constraint& c);
+  void poly_hull_assign(const Polyhedron& y);
+
+  //! Same as poly_hull_assign(y).
+  void upper_bound_assign(const Polyhedron& y);
 
   /*! \brief
-    Adds a copy of the constraints in \p cs to the PIP problem.
+    Assigns to \p *this
+    the \ref Convex_Polyhedral_Difference "poly-difference"
+    of \p *this and \p y.
 
     \exception std::invalid_argument
-    Thrown if the space dimension of constraint system \p cs is strictly
-    greater than the space dimension of \p *this.
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void add_constraints(const Constraint_System& cs);
+  void poly_difference_assign(const Polyhedron& y);
 
-  //! Checks satisfiability of \p *this.
-  /*!
-    \return
-    \c true if and only if the PIP problem is satisfiable.
-  */
-  bool is_satisfiable() const;
+  //! Same as poly_difference_assign(y).
+  void difference_assign(const Polyhedron& y);
 
-  //! Optimizes the PIP problem.
-  /*!
-    \return
-    A PIP_Problem_Status flag indicating the outcome of the optimization
-    attempt (unfeasible or optimized problem).
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  PIP_Problem_Status solve() const;
+  bool simplify_using_context_assign(const Polyhedron& y);
 
-  //! Returns a feasible solution for \p *this, if it exists.
-  /*!
-    A null pointer is returned for an unfeasible PIP problem.
+  /*! \brief
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine image"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
+
+    \param var
+    The variable to which the affine expression is assigned;
+
+    \param expr
+    The numerator of the affine expression;
+
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
+
+    \if Include_Implementation_Details
+
+    When considering the generators of a polyhedron, the
+    affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
+
+    If constraints are up-to-date, it uses the specialized function
+    affine_preimage() (for the system of constraints)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation we use the following observation.
+
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+	   = a_\mathrm{var} x_\mathrm{var}
+	     + \sum_{i \neq var} a_i x_i + b,
+       \f]
+       so that the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+             - \sum_{i \neq j} a_i x_i - b.
+       \f]
+
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only generators remain
+    up-to-date.
+
+    In other words, if \f$R\f$ is a \f$m_1 \times n\f$ matrix representing
+    the rays of the polyhedron, \f$V\f$ is a \f$m_2 \times n\f$
+    matrix representing the points of the polyhedron and
+    \f[
+      P = \bigl\{\,
+            \vect{x} = (x_0, \ldots, x_{n-1})^\mathrm{T}
+          \bigm|
+            \vect{x} = \vect{\lambda} R + \vect{\mu} V,
+	    \vect{\lambda} \in \Rset^{m_1}_+,
+	    \vect{\mu} \in \Rset^{m_2}_+,
+	    \sum_{i = 0}^{m_2 - 1} \mu_i = 1
+          \,\bigr\}
+    \f]
+    and \f$T\f$ is the affine transformation to apply to \f$P\f$, then
+    the resulting polyhedron is
+    \f[
+      P' = \bigl\{\,
+             (x_0, \ldots, T(x_0, \ldots, x_{n-1}),
+                     \ldots, x_{n-1})^\mathrm{T}
+           \bigm|
+             (x_0, \ldots, x_{n-1})^\mathrm{T} \in P
+           \,\bigr\}.
+    \f]
+
+    Affine transformations are, for example:
+    - translations
+    - rotations
+    - symmetries.
+    \endif
   */
-  PIP_Tree solution() const;
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		      = Coefficient_one());
 
-  //! Returns an optimizing solution for \p *this, if it exists.
+  // FIXME: To be completed.
   /*!
-    A null pointer is returned for an unfeasible PIP problem.
-  */
-  PIP_Tree optimizing_solution() const;
+    Assigns to \p *this the
+    \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \param var
+    The variable to which the affine expression is assigned.
 
-  //! Prints on \p s the solution computed for \p *this.
-  /*!
-    \param s
-    The output stream.
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
 
-    \param indent
-    An indentation parameter (default value 0).
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var is
+    not a space dimension of \p *this.
 
-    \exception std::logic_error
-    Thrown if trying to print the solution when the PIP problem
-    still has to be solved.
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
   */
-  void print_solution(std::ostream& s, unsigned indent = 0) const;
-
-  PPL_OUTPUT_DECLARATIONS
+  template <typename FP_Format, typename Interval_Info>
+  void affine_form_image(Variable var,
+  const Linear_Form<Interval <FP_Format, Interval_Info> >& lf);
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine preimage"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    \param var
+    The variable to which the affine expression is substituted;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param expr
+    The numerator of the affine expression;
 
-  //! Swaps \p *this with \p y.
-  void swap(PIP_Problem& y);
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-  //! Possible names for PIP_Problem control parameters.
-  enum Control_Parameter_Name {
-    //! Cutting strategy
-    CUTTING_STRATEGY,
-    //! Pivot row strategy
-    PIVOT_ROW_STRATEGY,
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-    //! Number of different enumeration values.
-#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-    CONTROL_PARAMETER_NAME_SIZE
-  };
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
 
-  //! Possible values for PIP_Problem control parameters.
-  enum Control_Parameter_Value {
-    //! Choose the first non-integer row
-    CUTTING_STRATEGY_FIRST,
-    //! Choose row which generates the deepest cut
-    CUTTING_STRATEGY_DEEPEST,
-    //! Always generate all possible cuts
-    CUTTING_STRATEGY_ALL,
+    \if Include_Implementation_Details
 
-    //! Choose the first row with negative parameter sign
-    PIVOT_ROW_STRATEGY_FIRST,
-    //! Choose the row which generates the lexico-maximal pivot column
-    PIVOT_ROW_STRATEGY_MAX_COLUMN,
+    When considering constraints of a polyhedron, the affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-    //! Number of different enumeration values.
-#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-    CONTROL_PARAMETER_VALUE_SIZE
-  };
+    If generators are up-to-date, then the specialized function
+    affine_image() is used (for the system of generators)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation, we use the following observation.
 
-  //! Returns the value of control parameter \p name.
-  Control_Parameter_Value
-  get_control_parameter(Control_Parameter_Name name) const;
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+           = a_\mathrm{var} x_\mathrm{var}
+               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
+       \f],
+       the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+               - \sum_{i \neq j} a_i x_i - b.
+       \f].
 
-  //! Sets control parameter \p value.
-  void set_control_parameter(Control_Parameter_Value value);
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only constraints remain
+    up-to-date.
 
-  //! Sets the dimension for the big parameter to \p big_dim.
-  void set_big_parameter_dimension(dimension_type big_dim);
+    In other words, if \f$A\f$ is a \f$m \times n\f$ matrix representing
+    the constraints of the polyhedron, \f$T\f$ is the affine transformation
+    to apply to \f$P\f$ and
+    \f[
+      P = \bigl\{\,
+            \vect{x} = (x_0, \ldots, x_{n-1})^\mathrm{T}
+          \bigm|
+            A\vect{x} \geq \vect{0}
+          \,\bigr\}.
+    \f]
+    The resulting polyhedron is
+    \f[
+      P' = \bigl\{\,
+             \vect{x} = (x_0, \ldots, x_{n-1}))^\mathrm{T}
+           \bigm|
+             A'\vect{x} \geq \vect{0}
+           \,\bigr\},
+    \f]
+    where \f$A'\f$ is defined as follows:
+    \f[
+      {a'}_{ij}
+        = \begin{cases}
+            a_{ij} * \mathrm{denominator} + a_{i\mathrm{var}}*\mathrm{expr}[j]
+              \quad \mathrm{for } j \neq \mathrm{var}; \\
+            \mathrm{expr}[\mathrm{var}] * a_{i\mathrm{var}},
+              \quad \text{for } j = \mathrm{var}.
+          \end{cases}
+    \f]
+    \endif
+  */
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
 
   /*! \brief
-    Returns the space dimension for the big parameter.
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
 
-    If a big parameter was not set, returns \c not_a_dimension().
+    \param var
+    The left hand side variable of the generalized affine relation;
+
+    \param relsym
+    The relation symbol;
+
+    \param expr
+    The numerator of the right hand side affine expression;
+
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
+
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
   */
-  dimension_type get_big_parameter_dimension() const;
+  void generalized_affine_image(Variable var,
+				Relation_Symbol relsym,
+				const Linear_Expression& expr,
+				Coefficient_traits::const_reference denominator
+				= Coefficient_one());
 
-private:
-  //! Initializes the control parameters with default values.
-  void control_parameters_init();
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
+
+    \param var
+    The left hand side variable of the generalized affine relation;
+
+    \param relsym
+    The relation symbol;
 
-  //! Copies the control parameters from problem object \p y.
-  void control_parameters_copy(const PIP_Problem& y);
+    \param expr
+    The numerator of the right hand side affine expression;
 
-  //! The dimension of the vector space.
-  dimension_type external_space_dim;
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-  /*! \brief
-    The space dimension of the current (partial) solution of the
-    PIP problem; it may be smaller than \p external_space_dim.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
   */
-  dimension_type internal_space_dim;
-
-  //! An enumerated type describing the internal status of the PIP problem.
-  enum Status {
-    //! The PIP problem is unsatisfiable.
-    UNSATISFIABLE,
-    //! The PIP problem is optimized; the solution tree has been computed.
-    OPTIMIZED,
-    /*! \brief
-      The feasible region of the PIP problem has been changed by adding
-      new variables, parameters or constraints; a feasible solution for
-      the old feasible region is still available.
-    */
-    PARTIALLY_SATISFIABLE
-  };
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one());
 
-  //! The internal state of the MIP problem.
-  Status status;
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-  //! The current solution decision tree
-  PIP_Tree_Node* current_solution;
+    \param lhs
+    The left hand side affine expression;
 
-  //! The sequence of constraints describing the feasible region.
-  Constraint_Sequence input_cs;
+    \param relsym
+    The relation symbol;
 
-  //! The first index of `input_cs' containing a pending constraint.
-  dimension_type first_pending_constraint;
+    \param rhs
+    The right hand side affine expression.
 
-  /*! \brief
-    A set containing all the indices of space dimensions that are
-    interpreted as problem parameters.
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
   */
-  Variables_Set parameters;
+  void generalized_affine_image(const Linear_Expression& lhs,
+				Relation_Symbol relsym,
+				const Linear_Expression& rhs);
 
   /*! \brief
-    The initial context
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-    Contains problem constraints on parameters only
-  */
-  Matrix initial_context;
+    \param lhs
+    The left hand side affine expression;
 
-  //! The control parameters for the problem object.
-  Control_Parameter_Value
-  control_parameters[CONTROL_PARAMETER_NAME_SIZE];
+    \param relsym
+    The relation symbol;
 
-  /*! \brief
-    The dimension for the big parameter, or \c not_a_dimension()
-    if not set.
+    \param rhs
+    The right hand side affine expression.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
   */
-  dimension_type big_parameter_dimension;
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
 
-  friend class PIP_Solution_Node;
-};
+  /*!
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-namespace std {
+    \param var
+    The variable updated by the affine relation;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::PIP_Problem */
-void swap(Parma_Polyhedra_Library::PIP_Problem& x,
-	  Parma_Polyhedra_Library::PIP_Problem& y);
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-} // namespace std
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.inlines.hh line 1. */
-/* PIP_Problem class implementation: inline functions.
-*/
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-namespace Parma_Polyhedra_Library {
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-inline dimension_type
-PIP_Problem::space_dimension() const {
-  return external_space_dim;
-}
+    \param var
+    The variable updated by the affine relation;
 
-inline dimension_type
-PIP_Problem::max_space_dimension() {
-  return Constraint::max_space_dimension();
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-inline PIP_Problem::const_iterator
-PIP_Problem::constraints_begin() const {
-  return input_cs.begin();
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-inline PIP_Problem::const_iterator
-PIP_Problem::constraints_end() const {
-  return input_cs.end();
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-inline const Variables_Set&
-PIP_Problem::parameter_space_dimensions() const {
-  return parameters;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-inline void
-PIP_Problem::swap(PIP_Problem& y) {
-  std::swap(external_space_dim, y.external_space_dim);
-  std::swap(internal_space_dim, y.internal_space_dim);
-  std::swap(status, y.status);
-  std::swap(current_solution, y.current_solution);
-  std::swap(input_cs, y.input_cs);
-  std::swap(first_pending_constraint, y.first_pending_constraint);
-  std::swap(parameters, y.parameters);
-  std::swap(initial_context, y.initial_context);
-  for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
-    std::swap(control_parameters[i], y.control_parameters[i]);
-  std::swap(big_parameter_dimension, y.big_parameter_dimension);
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
 
-inline PIP_Problem&
-PIP_Problem::operator=(const PIP_Problem& y) {
-  PIP_Problem tmp(y);
-  swap(tmp);
-  return *this;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  void time_elapse_assign(const Polyhedron& y);
 
-inline PIP_Problem::Control_Parameter_Value
-PIP_Problem::get_control_parameter(Control_Parameter_Name n) const {
-  PPL_ASSERT(n >= 0 && n < CONTROL_PARAMETER_NAME_SIZE);
-  return control_parameters[n];
-}
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-inline dimension_type
-PIP_Problem::get_big_parameter_dimension() const {
-  return big_parameter_dimension;
-}
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-} // namespace Parma_Polyhedra_Library
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-namespace std {
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-/*! \relates Parma_Polyhedra_Library::PIP_Problem */
-inline void
-swap(Parma_Polyhedra_Library::PIP_Problem& x,
-     Parma_Polyhedra_Library::PIP_Problem& y) {
-  x.swap(y);
-}
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-} // namespace std
+    \param cs_p
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 1. */
-/* PIP_Problem class implementation: non-inline template functions.
-*/
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
 
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 28. */
+    \exception std::invalid_argument
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*cs_p</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
 
-template <typename In>
-PIP_Problem::PIP_Problem(dimension_type dim,
-			 In first,
-			 In last,
-			 const Variables_Set& p_vars)
-  : external_space_dim(dim),
-    internal_space_dim(0),
-    status(PARTIALLY_SATISFIABLE),
-    current_solution(0),
-    input_cs(),
-    first_pending_constraint(0),
-    parameters(p_vars),
-    initial_context(),
-    big_parameter_dimension(not_a_dimension()) {
-  // Check that integer Variables_Set does not exceed the space dimension
-  // of the problem.
-  if (p_vars.space_dimension() > external_space_dim) {
-    std::ostringstream s;
-    s << "PPL::PIP_Problem::PIP_Problem(dim, first, last, p_vars):\n"
-      << "dim == " << external_space_dim
-      << " and p_vars.space_dimension() == "
-      << p_vars.space_dimension()
-      << " are dimension incompatible.";
-    throw std::invalid_argument(s.str());
-  }
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-  // Check for space dimension overflow.
-  if (dim > max_space_dimension())
-    throw std::length_error("PPL::PIP_Problem::"
-                            "PIP_Problem(dim, first, last, p_vars):\n"
-                            "dim exceeds the maximum allowed "
-                            "space dimension.");
-  // Check the constraints.
-  for (In i = first; i != last; ++i) {
-    if (i->space_dimension() > dim) {
-      std::ostringstream s;
-      s << "PPL::PIP_Problem::"
-        << "PIP_Problem(dim, first, last, p_vars):\n"
-        << "range [first, last) contains a constraint having space "
-        << "dimension == " << i->space_dimension()
-        << " that exceeds this->space_dimension == " << dim << ".";
-      throw std::invalid_argument(s.str());
-    }
-    input_cs.push_back(*i);
-  }
-  control_parameters_init();
-  PPL_ASSERT(OK());
-}
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 830. */
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 37. */
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-namespace Parma_Polyhedra_Library {
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-//! A node of the PIP solution tree.
-/*!
-  This is the base class for the nodes of the binary trees representing
-  the solutions of PIP problems. From this one, two classes are derived:
-    - PIP_Decision_Node, for the internal nodes of the tree;
-    - PIP_Solution_Node, for the leaves of the tree.
-*/
-class PIP_Tree_Node {
-protected:
-  //! Constructor: builds a node owned by \p *owner.
-  explicit PIP_Tree_Node(const PIP_Problem* owner);
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-  //! Copy constructor.
-  PIP_Tree_Node(const PIP_Tree_Node& y);
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref BHRZ03_widening "BHRZ03-widening" between \p *this and \p y.
 
-  //! Returns a pointer to the PIP_Problem owning object.
-  const PIP_Problem* get_owner() const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! Sets the pointer to the PIP_Problem owning object.
-  virtual void set_owner(const PIP_Problem* owner) = 0;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  /*! \brief
-    Returns \c true if and only if all the nodes in the subtree
-    rooted in \p *this is owned by \p *pip.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  virtual bool check_ownership(const PIP_Problem* owner) const = 0;
+  void BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp = 0);
 
-public:
-  //! Returns a pointer to a dynamically-allocated copy of \p *this.
-  virtual PIP_Tree_Node* clone() const = 0;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref limited_extrapolation "limited extrapolation"
+    between \p *this and \p y using the \ref BHRZ03_widening
+    "BHRZ03-widening" operator.
 
-  //! Destructor.
-  virtual ~PIP_Tree_Node();
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! Returns \c true if and only if \p *this is well formed.
-  virtual bool OK() const;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  //! Returns \p this if \p *this is a solution node, 0 otherwise.
-  virtual const PIP_Solution_Node* as_solution() const;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  //! Returns \p this if \p *this is a decision node, 0 otherwise.
-  virtual const PIP_Decision_Node* as_decision() const;
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void limited_BHRZ03_extrapolation_assign(const Polyhedron& y,
+					   const Constraint_System& cs,
+					   unsigned* tp = 0);
 
   /*! \brief
-    Returns the system of parameter constraints controlling \p *this.
+    Assigns to \p *this the result of computing the
+    \ref bounded_extrapolation "bounded extrapolation"
+    between \p *this and \p y using the \ref BHRZ03_widening
+    "BHRZ03-widening" operator.
 
-    The indices in the constraints are the same as the original variables and
-    parameters. Coefficients in indices corresponding to variables always are
-    zero.
-  */
-  const Constraint_System& constraints() const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  class Artificial_Parameter;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  //! A type alias for a sequence of Artificial_Parameter's.
-  typedef std::vector<Artificial_Parameter> Artificial_Parameter_Sequence;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  //! Returns a const_iterator to the beginning of local artificial parameters.
-  Artificial_Parameter_Sequence::const_iterator art_parameter_begin() const;
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void bounded_BHRZ03_extrapolation_assign(const Polyhedron& y,
+					   const Constraint_System& cs,
+					   unsigned* tp = 0);
 
-  //! Returns a const_iterator to the end of local artificial parameters.
-  Artificial_Parameter_Sequence::const_iterator art_parameter_end() const;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref H79_widening "H79_widening" between \p *this and \p y.
 
-  //! Returns the number of local artificial parameters.
-  dimension_type art_parameter_count() const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! Prints on \p s the tree rooted in \p *this.
-  /*!
-    \param s
-    The output stream.
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-    \param indent
-    The amount of indentation.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void print(std::ostream& s, unsigned indent = 0) const;
+  void H79_widening_assign(const Polyhedron& y, unsigned* tp = 0);
 
-  //! Dumps to \p s an ASCII representation of \p *this.
-  void ascii_dump(std::ostream& s) const;
+  //! Same as H79_widening_assign(y, tp).
+  void widening_assign(const Polyhedron& y, unsigned* tp = 0);
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    Assigns to \p *this the result of computing the
+    \ref limited_extrapolation "limited extrapolation"
+    between \p *this and \p y using the \ref H79_widening
+    "H79-widening" operator.
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  virtual memory_size_type total_memory_in_bytes() const = 0;
-  //! Returns the size in bytes of the memory managed by \p *this.
-  virtual memory_size_type external_memory_in_bytes() const = 0;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-protected:
-  //! A type alias for a sequence of constraints.
-  typedef std::vector<Constraint> Constraint_Sequence;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  // Only PIP_Problem and PIP_Decision_Node are allowed to use the
-  // constructor and methods.
-  friend class PIP_Problem;
-  friend class PIP_Decision_Node;
-  friend class PIP_Solution_Node;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  //! A pointer to the PIP_Problem object owning this node.
-  const PIP_Problem* owner_;
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void limited_H79_extrapolation_assign(const Polyhedron& y,
+					const Constraint_System& cs,
+					unsigned* tp = 0);
 
-  //! A pointer to the parent of \p *this, null if \p *this is the root.
-  const PIP_Decision_Node* parent_;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref bounded_extrapolation "bounded extrapolation"
+    between \p *this and \p y using the \ref H79_widening
+    "H79-widening" operator.
 
-  //! The local system of parameter constraints.
-  Constraint_System constraints_;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! The local sequence of expressions for local artificial parameters.
-  Artificial_Parameter_Sequence artificial_parameters;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  //! Returns a pointer to this node's parent.
-  const PIP_Decision_Node* parent() const;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  //! Set this node's parent to \p *p.
-  void set_parent(const PIP_Decision_Node* p);
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void bounded_H79_extrapolation_assign(const Polyhedron& y,
+					const Constraint_System& cs,
+					unsigned* tp = 0);
 
-  /*! \brief
-    Populates the parametric simplex tableau using external data.
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-    \param pip
-    The PIP_Problem object containing this node.
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-    \param external_space_dim
-    The number of all problem variables and problem parameters
-    (excluding artificial parameters).
+  /*! \brief
+    Adds \p m new space dimensions and embeds the old polyhedron
+    in the new vector space.
 
-    \param first_pending_constraint
-    The first element in \p input_cs to be added to the tableau,
-    which already contains the previous elements.
+    \param m
+    The number of dimensions to add.
 
-    \param input_cs
-    All the constraints of the PIP problem.
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-    \param parameters
-    The set of indices of the problem parameters.
+    The new space dimensions will be those having the highest indexes
+    in the new polyhedron, which is characterized by a system
+    of constraints in which the variables running through
+    the new dimensions are not constrained.
+    For instance, when starting from the polyhedron \f$\cP \sseq \Rset^2\f$
+    and adding a third space dimension, the result will be the polyhedron
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cP
+      \,\bigr\}.
+    \f]
   */
-  virtual void update_tableau(const PIP_Problem& pip,
-                              dimension_type external_space_dim,
-                              dimension_type first_pending_constraint,
-                              const Constraint_Sequence& input_cs,
-                              const Variables_Set& parameters) = 0;
+  void add_space_dimensions_and_embed(dimension_type m);
 
   /*! \brief
-    Executes a parametric simplex on the tableau, under specified context.
-
-    \return
-    The root of the PIP tree solution, or 0 if unfeasible.
+    Adds \p m new space dimensions to the polyhedron
+    and does not embed it in the new vector space.
 
-    \param pip
-    The PIP_Problem object containing this node.
+    \param m
+    The number of space dimensions to add.
 
-    \param check_feasible_context
-    Whether the resolution process should (re-)check feasibility of
-    context (since the initial context may have been modified).
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-    \param context
-    The context, being a set of constraints on the parameters.
+    The new space dimensions will be those having the highest indexes
+    in the new polyhedron, which is characterized by a system
+    of constraints in which the variables running through
+    the new dimensions are all constrained to be equal to 0.
+    For instance, when starting from the polyhedron \f$\cP \sseq \Rset^2\f$
+    and adding a third space dimension, the result will be the polyhedron
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cP
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-    \param params
-    The local parameter set, including parent's artificial parameters.
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
 
-    \param space_dim
-    The space dimension of parent, including artificial parameters.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible.
 
-    \param indent_level
-    The indentation level (for debugging output only).
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
   */
-  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
-                               bool check_feasible_context,
-                               const Matrix& context,
-                               const Variables_Set& params,
-                               dimension_type space_dim,
-                               unsigned indent_level) = 0;
-
-  //! Inserts a new parametric constraint in internal Row format
-  void add_constraint(const Row& x, const Variables_Set& parameters);
-
-  //! Merges parent's artificial parameters into \p *this.
-  void parent_merge();
+  void concatenate_assign(const Polyhedron& y);
 
-  //! Prints on \p s the tree rooted in \p *this.
+  //! Removes all the specified dimensions from the vector space.
   /*!
-    \param s
-    The output stream.
-
-    \param indent
-    The amount of indentation.
-
-    \param pip_dim_is_param
-    A vector of Boolean flags telling which PIP problem dimensions are
-    problem parameters. The size of the vector is equal to the PIP
-    problem internal space dimension (i.e., no artificial parameters).
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-    \param first_art_dim
-    The first space dimension corresponding to an artificial parameter
-    that was created in this node (if any).
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
   */
-  virtual void print_tree(std::ostream& s,
-                          unsigned indent,
-                          const std::vector<bool>& pip_dim_is_param,
-                          dimension_type first_art_dim) const;
-
-  //! A helper function used when printing PIP trees.
-  static void
-  indent_and_print(std::ostream& s, unsigned indent, const char* str);
+  void remove_space_dimensions(const Variables_Set& vars);
 
   /*! \brief
-    Checks whether a context matrix is satisfiable.
+    Removes the higher dimensions of the vector space so that
+    the resulting space will have dimension \p new_dimension.
 
-    The satisfiability check is implemented by the revised dual simplex
-    algorithm on the context matrix. The algorithm ensures the feasible
-    solution is integer by applying a cut generation method when
-    intermediate non-integer solutions are found.
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
   */
-  static bool compatibility_check(Matrix& s);
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
   /*! \brief
-    Helper method: checks for satisfiability of the restricted context
-    obtained by adding \p row to \p context.
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+
+    \param pfunc
+    The partial function specifying the destiny of each space dimension.
+
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty codomain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the codomain
+    of the partial function.
+    The <CODE>max_in_codomain()</CODE> method is called at most once.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.
+    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
+    returned.
+    This method is called at most \f$n\f$ times, where \f$n\f$ is the
+    dimension of the vector space enclosing the polyhedron.
+
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space
+    "specification of the mapping operator".
   */
-  static bool compatibility_check(const Matrix& context, const Row& row);
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-}; // class PIP_Tree_Node
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
+    \param m
+    The number of replicas to be created.
 
-/*! \brief
-  Artificial parameters in PIP solution trees.
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector space.
 
-  These parameters are built from a linear expression combining other
-  parameters (constant term included) divided by a positive integer
-  denominator. Coefficients at variables indices corresponding to
-  PIP problem variables are always zero.
-*/
-class PIP_Tree_Node::Artificial_Parameter
-  : public Linear_Expression {
-public:
-  //! Default constructor: builds a zero artificial parameter.
-  Artificial_Parameter();
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-  //! Constructor.
-  /*!
-    Builds artificial parameter \f$\frac{\mathit{expr}}{\mathit{den}}\f$.
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref expand_space_dimension "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
 
-    \param expr
-    The expression that, after normalization, will form the numerator of
-    the artificial parameter.
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-    \param den
-    The integer constant thatm after normalization, will form the
-    denominator of the artificial parameter.
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p den is zero.
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
-    Normalization will ensure that the denominator is positive.
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
+    into the \f$k\f$-th space dimension.
   */
-  Artificial_Parameter(const Linear_Expression& expr,
-                       Coefficient_traits::const_reference den);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-  //! Copy constructor.
-  Artificial_Parameter(const Artificial_Parameter& y);
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-  //! Returns the normalized (i.e., positive) denominator.
-  Coefficient_traits::const_reference denominator() const;
+  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
 
-  //! Swaps \p *this with \p y.
-  void swap(Artificial_Parameter& y);
+  //! \name Miscellaneous Member Functions
+  //@{
 
-  //! Returns \c true if and only if \p *this and \p y are equal.
-  /*!
-    Note that two artificial parameters having different space dimensions
-    are considered to be different.
+  //! Destructor.
+  ~Polyhedron();
+
+  /*! \brief
+    Swaps \p *this with polyhedron \p y.
+    (\p *this and \p y can be dimension-incompatible.)
+
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are topology-incompatible.
   */
-  bool operator==(const Artificial_Parameter& y) const;
-  //! Returns \c true if and only if \p *this and \p y are different.
-  bool operator!=(const Artificial_Parameter& y) const;
+  void m_swap(Polyhedron& y);
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -25632,11483 +48002,10542 @@ public:
 
   //! Returns the total size in bytes of the memory occupied by \p *this.
   memory_size_type total_memory_in_bytes() const;
+
   //! Returns the size in bytes of the memory managed by \p *this.
   memory_size_type external_memory_in_bytes() const;
 
-  //! Returns \c true if and only if the parameter is well-formed.
-  bool OK() const;
-
-private:
-  //! The normalized (i.e., positive) denominator.
-  Coefficient denom;
-}; // class PIP_Tree_Node::Artificial_Parameter
-
-
-//! A tree node representing part of the space of solutions.
-class PIP_Solution_Node : public PIP_Tree_Node {
-public:
-  //! Constructor: builds a solution node owned by \p *owner.
-  explicit PIP_Solution_Node(const PIP_Problem* owner);
-
-  //! Returns a pointer to a dynamically-allocated copy of \p *this.
-  virtual PIP_Tree_Node* clone() const;
-
-  //! Destructor.
-  virtual ~PIP_Solution_Node();
-
-  //! Returns \c true if and only if \p *this is well formed.
-  virtual bool OK() const;
-
-  //! Returns \p this.
-  virtual const PIP_Solution_Node* as_solution() const;
-
   /*! \brief
-    Returns a parametric expression for the values of problem variable \p var.
+    Returns a 32-bit hash code for \p *this.
 
-    The returned linear expression may involve problem parameters
-    as well as artificial parameters.
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
 
-    \param var
-    The problem variable which is queried about.
+  //@} // Miscellaneous Member Functions
 
-    \exception std::invalid_argument
-    Thrown if \p var is dimension-incompatible with the PIP_Problem
-    owning this solution node, or if \p var is a problem parameter.
-  */
-  const Linear_Expression& parametric_values(Variable var) const;
+private:
+  static const Representation default_con_sys_repr = DENSE;
+  static const Representation default_gen_sys_repr = DENSE;
 
-  //! Dumps to \p s an ASCII representation of \p *this.
-  void ascii_dump(std::ostream& s) const;
+  //! The system of constraints.
+  Constraint_System con_sys;
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  //! The system of generators.
+  Generator_System gen_sys;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  virtual memory_size_type total_memory_in_bytes() const;
-  //! Returns the size in bytes of the memory managed by \p *this.
-  virtual memory_size_type external_memory_in_bytes() const;
+  //! The saturation matrix having constraints on its columns.
+  Bit_Matrix sat_c;
 
-private:
-  //! The type for parametric simplex tableau.
-  struct Tableau {
-    //! The matrix of simplex coefficients.
-    Matrix s;
-    //! The matrix of parameter coefficients.
-    Matrix t;
-    //! A common denominator for all matrix elements
-    Coefficient denom;
+  //! The saturation matrix having generators on its columns.
+  Bit_Matrix sat_g;
 
-    //! Default constructor.
-    Tableau();
-    //! Copy constructor.
-    Tableau(const Tableau& y);
-    //! Destructor.
-    ~Tableau();
+#define PPL_IN_Polyhedron_CLASS
+/* Automatically generated from PPL source file ../src/Ph_Status.idefs.hh line 1. */
+/* Polyhedron::Status class declaration.
+*/
 
-    //! Tests whether the matrix is integer, i.e., the denominator is 1.
-    bool is_integer() const;
 
-    //! Multiplies all coefficients and denominator with ratio.
-    void scale(Coefficient_traits::const_reference ratio);
+#ifndef PPL_IN_Polyhedron_CLASS
+#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead"
+#endif
 
-    //! Normalizes the modulo of coefficients so that they are mutually prime.
-    /*!
-      Computes the Greatest Common Divisor (GCD) among the elements of
-      the matrices and normalizes them and the denominator by the GCD itself.
-    */
-    void normalize();
+//! A conjunctive assertion about a polyhedron.
+/*! \ingroup PPL_CXX_interface
+  The assertions supported are:
+  - <EM>zero-dim universe</EM>: the polyhedron is the zero-dimension
+    vector space \f$\Rset^0 = \{\cdot\}\f$;
+  - <EM>empty</EM>: the polyhedron is the empty set;
+  - <EM>constraints pending</EM>: the polyhedron is correctly
+    characterized by the attached system of constraints, which is
+    split in two non-empty subsets: the already processed constraints,
+    which are in minimal form, and the pending constraints, which
+    still have to be processed and may thus be inconsistent or
+    contain redundancies;
+  - <EM>generators pending</EM>: the polyhedron is correctly
+    characterized by the attached system of generators, which is
+    split in two non-empty subsets: the already processed generators,
+    which are in minimal form, and the pending generators, which still
+    have to be processed and may thus contain redundancies;
+  - <EM>constraints up-to-date</EM>: the polyhedron is correctly
+    characterized by the attached system of constraints, modulo the
+    processing of pending generators;
+  - <EM>generators up-to-date</EM>: the polyhedron is correctly
+    characterized by the attached system of generators, modulo the
+    processing of pending constraints;
+  - <EM>constraints minimized</EM>: the non-pending part of the system
+    of constraints attached to the polyhedron is in minimal form;
+  - <EM>generators minimized</EM>: the non-pending part of the system
+    of generators attached to the polyhedron is in minimal form;
+  - <EM>constraints' saturation matrix up-to-date</EM>: the attached
+    saturation matrix having rows indexed by non-pending generators and
+    columns indexed by non-pending constraints correctly expresses
+    the saturation relation between the attached non-pending constraints
+    and generators;
+  - <EM>generators' saturation matrix up-to-date</EM>: the attached
+    saturation matrix having rows indexed by non-pending constraints and
+    columns indexed by non-pending generators correctly expresses
+    the saturation relation between the attached non-pending constraints
+    and generators;
 
-    /*! \brief
-      Compares two pivot row and column pairs before pivoting.
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>zero-dim universe</EM> excludes any other assertion;
+  - <EM>empty</EM>: excludes any other assertion;
+  - <EM>constraints pending</EM> and <EM>generators pending</EM>
+    are mutually exclusive;
+  - <EM>constraints pending</EM> implies both <EM>constraints minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>generators pending</EM> implies both <EM>constraints minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>constraints minimized</EM> implies <EM>constraints up-to-date</EM>;
+  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
+  - <EM>constraints' saturation matrix up-to-date</EM> implies both
+    <EM>constraints up-to-date</EM> and <EM>generators up-to-date</EM>;
+  - <EM>generators' saturation matrix up-to-date</EM> implies both
+    <EM>constraints up-to-date</EM> and <EM>generators up-to-date</EM>.
+*/
+class Status {
+public:
+  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  Status();
 
-      The algorithm searches the first (ie, leftmost) column \f$k\f$ in
-      parameter matrix for which the \f$c=s_{*j}\frac{t_{ik}}{s_{ij}}\f$
-      and \f$c'=s_{*j'}\frac{t_{i'k}}{s_{i'j'}}\f$ columns are different,
-      where \f$s_{*j}\f$ denotes the \f$j\f$<sup>th</sup> column from the
-      \f$s\f$ matrix and \f$s_{*j'}\f$ is the \f$j'\f$<sup>th</sup> column
-      of \f$s\f$.
+  //! \name Test, remove or add an individual assertion from the conjunction
+  //@{
+  bool test_zero_dim_univ() const;
+  void reset_zero_dim_univ();
+  void set_zero_dim_univ();
 
-      \f$c\f$ is the computed column that would be subtracted to column
-      \f$k\f$ in parameter matrix if pivoting is done using the \f$(i,j)\f$
-      row and column pair.
-      \f$c'\f$ is the computed column that would be subtracted to column
-      \f$k\f$ in parameter matrix if pivoting is done using the
-      \f$(i',j')\f$ row and column pair.
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-      The test is true if the computed \f$-c\f$ column is lexicographically
-      bigger than the \f$-c'\f$ column. Due to the column ordering in the
-      parameter matrix of the tableau, leftmost search will enforce solution
-      increase with respect to the following priority order:
-       - the constant term
-       - the coefficients for the original parameters
-       - the coefficients for the oldest artificial parameters.
+  bool test_c_up_to_date() const;
+  void reset_c_up_to_date();
+  void set_c_up_to_date();
 
-      \return
-      \c true if pivot row and column pair \f$(i,j)\f$ is more
-      suitable for pivoting than the \f$(i',j')\f$ pair
+  bool test_g_up_to_date() const;
+  void reset_g_up_to_date();
+  void set_g_up_to_date();
 
-      \param mapping
-      the PIP_Solution_Node::mapping vector for the tableau
+  bool test_c_minimized() const;
+  void reset_c_minimized();
+  void set_c_minimized();
 
-      \param basis
-      the PIP_Solution_Node::basis vector for the tableau
+  bool test_g_minimized() const;
+  void reset_g_minimized();
+  void set_g_minimized();
 
-      \param i
-      the row number for the first pivot row and column pair to be compared
+  bool test_sat_c_up_to_date() const;
+  void reset_sat_c_up_to_date();
+  void set_sat_c_up_to_date();
 
-      \param j
-      the column number for the first pivot row and column pair to be
-      compared
+  bool test_sat_g_up_to_date() const;
+  void reset_sat_g_up_to_date();
+  void set_sat_g_up_to_date();
 
-      \param i_
-      the row number for the second pivot row and column pair to be compared
+  bool test_c_pending() const;
+  void reset_c_pending();
+  void set_c_pending();
 
-      \param j_
-      the column number for the second pivot row and column pair to be
-      compared
-    */
-    bool is_better_pivot(const std::vector<dimension_type>& mapping,
-                         const std::vector<bool>& basis,
-                         const dimension_type i,
-                         const dimension_type j,
-                         const dimension_type i_,
-                         const dimension_type j_) const;
+  bool test_g_pending() const;
+  void reset_g_pending();
+  void set_g_pending();
+  //@} // Test, remove or add an individual assertion from the conjunction
 
-    //! Returns the value of the denominator.
-    Coefficient_traits::const_reference denominator() const;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-    //! Dumps to \p s an ASCII representation of \p *this.
-    void ascii_dump(std::ostream& s) const;
+  PPL_OUTPUT_DECLARATIONS
 
-    /*! \brief
-      Loads from \p s an ASCII representation (as produced by
-      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-      Returns \c true if successful, \c false otherwise.
-    */
-    bool ascii_load(std::istream& s);
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-    //! Returns the size in bytes of the memory managed by \p *this.
-    /*!
-      \note
-      No need for a \c total_memory_in_bytes() method, since
-      class Tableau is a private inner class of PIP_Solution_Node.
-    */
-    memory_size_type external_memory_in_bytes() const;
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
+
+  //! \name Bit-masks for the individual assertions
+  //@{
+  static const flags_t ZERO_DIM_UNIV    = 0U;
+  static const flags_t EMPTY            = 1U << 0;
+  static const flags_t C_UP_TO_DATE     = 1U << 1;
+  static const flags_t G_UP_TO_DATE     = 1U << 2;
+  static const flags_t C_MINIMIZED      = 1U << 3;
+  static const flags_t G_MINIMIZED      = 1U << 4;
+  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
+  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
+  static const flags_t CS_PENDING       = 1U << 7;
+  static const flags_t GS_PENDING       = 1U << 8;
+  //@} // Bit-masks for the individual assertions
 
-    //! Returns \c true if and only if \p *this is well formed.
-    bool OK() const;
-  }; // struct Tableau
+  //! This holds the current bitset.
+  flags_t flags;
 
-  //! The parametric simplex tableau.
-  Tableau tableau;
+  //! Construct from a bit-mask.
+  Status(flags_t mask);
 
-  /*! \brief
-    A boolean vector for identifying the basic variables.
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-    Variable identifiers are numbered from 0 to <tt>n+m-1</tt>, where \p n
-    is the number of columns in the simplex tableau corresponding to variables,
-    and \p m is the number of rows.
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-    Indices from 0 to <tt>n-1</tt> correspond to the original variables.
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
 
-    Indices from \p n to <tt>n+m-1</tt> correspond to the slack variables
-    associated to the internal constraints, which do not strictly correspond
-    to original constraints, since these may have been transformed to fit the
-    standard form of the dual simplex.
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
 
-    The value for <tt>basis[i]</tt> is:
-     - \b true if variable \p i is basic,
-     - \b false if variable \p i is nonbasic.
-  */
-  std::vector<bool> basis;
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2032. */
+#undef PPL_IN_Polyhedron_CLASS
 
-  /*! \brief
-    A mapping between the tableau rows/columns and the original variables.
+  //! The status flags to keep track of the polyhedron's internal state.
+  Status status;
 
-    The value of <tt>mapping[i]</tt> depends of the value of <tt>basis[i]</tt>.
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-     - If <tt>basis[i]</tt> is \b true, <tt>mapping[i]</tt> encodes the column
-       index of variable \p i in the \p s matrix of the tableau.
-     - If <tt>basis[i]</tt> is \b false, <tt>mapping[i]</tt> encodes the row
-       index of variable \p i in the tableau.
-  */
-  std::vector<dimension_type> mapping;
+  //! Returns the topological kind of the polyhedron.
+  Topology topology() const;
 
   /*! \brief
-    The variable identifiers associated to the rows of the simplex tableau.
+    Returns <CODE>true</CODE> if and only if the polyhedron
+    is necessarily closed.
   */
-  std::vector<dimension_type> var_row;
+  bool is_necessarily_closed() const;
 
-  /*! \brief
-    The variable identifiers associated to the columns of the simplex tableau.
-  */
-  std::vector<dimension_type> var_column;
+  friend bool
+  Parma_Polyhedra_Library::Interfaces
+  ::is_necessarily_closed_for_interfaces(const Polyhedron&);
 
   /*! \brief
-    The variable number of the special inequality used for modelling
-    equality constraints.
-
-    The subset of equality constraints in a specific problem can be expressed
-    as: \f$f_i(x,p) = 0 ; 1 \leq i \leq n\f$. As the dual simplex standard form
-    requires constraints to be inequalities, the following constraints can be
-    modelized the following way:
-
-     - \f$f_i(x,p) \geq 0 ; 1 \leq i \leq n\f$
-
-     - \f$\sum\limits_{i=1}^n f_i(x,p) \leq 0\f$
-
-    The \p special_equality_row value stores the variable number of the
-    specific constraint which is used to modelize the latter sum of
-    constraints. If no such constraint exists, the value is set to \p 0.
-  */
-  dimension_type special_equality_row;
+    Uses a copy of constraint \p c to refine the system of constraints
+    of \p *this.
 
-  /*! \brief
-    The column index in the parametric part of the simplex tableau
-    corresponding to the big parameter; \c not_a_dimension() if not set.
+    \param c The constraint to be added. If it is dimension-incompatible
+    with \p *this, the behavior is undefined.
   */
-  dimension_type big_dimension;
-
-  //! The possible values for the sign of a parametric linear expression.
-  enum Row_Sign {
-    //! Not computed yet (default).
-    UNKNOWN,
-    //! All row coefficients are zero.
-    ZERO,
-    //! All nonzero row coefficients are positive.
-    POSITIVE,
-    //! All nonzero row coefficients are negative.
-    NEGATIVE,
-    //! The row contains both positive and negative coefficients.
-    MIXED
-  };
-
-  //! A cache for computed sign values of constraint parametric RHS.
-  std::vector<Row_Sign> sign;
+  void refine_no_check(const Constraint& c);
 
-  //! Parametric values for the solution.
-  std::vector<Linear_Expression> solution;
+  //! \name Private Verifiers: Verify if Individual Flags are Set
+  //@{
 
-  //! An indicator for solution validity.
-  bool solution_valid;
+  //! Returns <CODE>true</CODE> if the polyhedron is known to be empty.
+  /*!
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-  //! Returns the sign of row \p x.
-  static Row_Sign row_sign(const Row& x, dimension_type big_dimension);
+  //! Returns <CODE>true</CODE> if the system of constraints is up-to-date.
+  bool constraints_are_up_to_date() const;
 
-protected:
-  //! Copy constructor.
-  PIP_Solution_Node(const PIP_Solution_Node& y);
+  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
+  bool generators_are_up_to_date() const;
 
-  //! A tag type to select the alternative copy constructor.
-  struct No_Constraints {};
+  //! Returns <CODE>true</CODE> if the system of constraints is minimized.
+  /*!
+    Note that only \em weak minimization is entailed, so that
+    an NNC polyhedron may still have \f$\epsilon\f$-redundant constraints.
+  */
+  bool constraints_are_minimized() const;
 
-  //! Alternative copy constructor.
+  //! Returns <CODE>true</CODE> if the system of generators is minimized.
   /*!
-    This constructor differs from the default copy constructor in that
-    it will not copy the constraint system, nor the artificial parameters.
+    Note that only \em weak minimization is entailed, so that
+    an NNC polyhedron may still have \f$\epsilon\f$-redundant generators.
   */
-  PIP_Solution_Node(const PIP_Solution_Node& y, No_Constraints);
+  bool generators_are_minimized() const;
 
-  // PIP_Problem::ascii load() method needs access set_owner().
-  friend bool PIP_Problem::ascii_load(std::istream& s);
+  //! Returns <CODE>true</CODE> if there are pending constraints.
+  bool has_pending_constraints() const;
 
-  //! Sets the pointer to the PIP_Problem owning object.
-  virtual void set_owner(const PIP_Problem* owner);
+  //! Returns <CODE>true</CODE> if there are pending generators.
+  bool has_pending_generators() const;
 
   /*! \brief
-    Returns \c true if and only if all the nodes in the subtree
-    rooted in \p *this is owned by \p *pip.
+    Returns <CODE>true</CODE> if there are
+    either pending constraints or pending generators.
   */
-  virtual bool check_ownership(const PIP_Problem* owner) const;
+  bool has_something_pending() const;
 
-  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
-  virtual void update_tableau(const PIP_Problem& pip,
-                              dimension_type external_space_dim,
-                              dimension_type first_pending_constraint,
-                              const Constraint_Sequence& input_cs,
-                              const Variables_Set& parameters);
+  //! Returns <CODE>true</CODE> if the polyhedron can have something pending.
+  bool can_have_something_pending() const;
 
   /*! \brief
-    Update the solution values.
+    Returns <CODE>true</CODE> if the saturation matrix \p sat_c
+    is up-to-date.
+  */
+  bool sat_c_is_up_to_date() const;
 
-    \param pip_dim_is_param
-    A vector of Boolean flags telling which PIP problem dimensions are
-    problem parameters. The size of the vector is equal to the PIP
-    problem internal space dimension (i.e., no artificial parameters).
+  /*! \brief
+    Returns <CODE>true</CODE> if the saturation matrix \p sat_g
+    is up-to-date.
   */
-  void update_solution(const std::vector<bool>& pip_dim_is_param) const;
+  bool sat_g_is_up_to_date() const;
 
-  //! Helper method.
-  void update_solution() const;
+  //@} // Private Verifiers: Verify if Individual Flags are Set
 
-  //! Implements pure virtual method PIP_Tree_Node::solve.
-  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
-                               bool check_feasible_context,
-                               const Matrix& context,
-                               const Variables_Set& params,
-                               dimension_type space_dim,
-                               unsigned indent_level);
+  //! \name State Flag Setters: Set Only the Specified Flags
+  //@{
 
   /*! \brief
-    Generate a Gomory cut using non-integer tableau row \p i.
+    Sets \p status to express that the polyhedron is the universe
+    0-dimension vector space, clearing all corresponding matrices.
+  */
+  void set_zero_dim_univ();
 
-    \param i
-    Row index in simplex tableau from which the cut is generated
+  /*! \brief
+    Sets \p status to express that the polyhedron is empty,
+    clearing all corresponding matrices.
+  */
+  void set_empty();
 
-    \param parameters
-    A std::set of the current parameter dimensions (including artificials);
-    to be updated if a new artificial parameter is to be created
+  //! Sets \p status to express that constraints are up-to-date.
+  void set_constraints_up_to_date();
 
-    \param context
-    A set of linear inequalities on the parameters, in matrix form; to be
-    updated if a new artificial parameter is to be created
+  //! Sets \p status to express that generators are up-to-date.
+  void set_generators_up_to_date();
 
-    \param space_dimension
-    The current space dimension, including variables and all parameters; to
-    be updated if an extra parameter is to be created
+  //! Sets \p status to express that constraints are minimized.
+  void set_constraints_minimized();
 
-    \param indent_level
-    The indentation level (for debugging output only).
-  */
-  void generate_cut(dimension_type i,
-                    Variables_Set& parameters,
-                    Matrix& context,
-                    dimension_type& space_dimension,
-                    unsigned indent_level);
+  //! Sets \p status to express that generators are minimized.
+  void set_generators_minimized();
 
-  //! Prints on \p s the tree rooted in \p *this.
-  virtual void print_tree(std::ostream& s,
-                          unsigned indent,
-                          const std::vector<bool>& pip_dim_is_param,
-                          dimension_type first_art_dim) const;
+  //! Sets \p status to express that constraints are pending.
+  void set_constraints_pending();
 
-}; // class PIP_Solution_Node
+  //! Sets \p status to express that generators are pending.
+  void set_generators_pending();
 
+  //! Sets \p status to express that \p sat_c is up-to-date.
+  void set_sat_c_up_to_date();
 
-//! A tree node representing a decision in the space of solutions.
-class PIP_Decision_Node : public PIP_Tree_Node {
-public:
-  //! Returns a pointer to a dynamically-allocated copy of \p *this.
-  virtual PIP_Tree_Node* clone() const;
+  //! Sets \p status to express that \p sat_g is up-to-date.
+  void set_sat_g_up_to_date();
 
-  //! Destructor.
-  virtual ~PIP_Decision_Node();
+  //@} // State Flag Setters: Set Only the Specified Flags
 
-  //! Returns \c true if and only if \p *this is well formed.
-  virtual bool OK() const;
+  //! \name State Flag Cleaners: Clear Only the Specified Flag
+  //@{
 
-  //! Returns \p this.
-  virtual const PIP_Decision_Node* as_decision() const;
+  //! Clears the \p status flag indicating that the polyhedron is empty.
+  void clear_empty();
 
-  //! Returns a const pointer to the \p b (true or false) branch of \p *this.
-  const PIP_Tree_Node* child_node(bool b) const;
+  //! Sets \p status to express that constraints are no longer up-to-date.
+  /*!
+    This also implies that they are neither minimized
+    and both saturation matrices are no longer meaningful.
+  */
+  void clear_constraints_up_to_date();
 
-  //! Returns a pointer to the \p b (true or false) branch of \p *this.
-  PIP_Tree_Node* child_node(bool b);
+  //! Sets \p status to express that generators are no longer up-to-date.
+  /*!
+    This also implies that they are neither minimized
+    and both saturation matrices are no longer meaningful.
+  */
+  void clear_generators_up_to_date();
 
-  //! Dumps to \p s an ASCII representation of \p *this.
-  void ascii_dump(std::ostream& s) const;
+  //! Sets \p status to express that constraints are no longer minimized.
+  void clear_constraints_minimized();
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  //! Sets \p status to express that generators are no longer minimized.
+  void clear_generators_minimized();
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  virtual memory_size_type total_memory_in_bytes() const;
-  //! Returns the size in bytes of the memory managed by \p *this.
-  virtual memory_size_type external_memory_in_bytes() const;
+  //! Sets \p status to express that there are no longer pending constraints.
+  void clear_pending_constraints();
 
-private:
-  // PIP_Solution_Node is allowed to use the constructor and methods.
-  friend class PIP_Solution_Node;
+  //! Sets \p status to express that there are no longer pending generators.
+  void clear_pending_generators();
 
-  // PIP_Problem ascii load method needs access to private constructors.
-  friend bool PIP_Problem::ascii_load(std::istream& s);
+  //! Sets \p status to express that \p sat_c is no longer up-to-date.
+  void clear_sat_c_up_to_date();
 
-  //! Pointer to the "false" child of \p *this.
-  PIP_Tree_Node* false_child;
+  //! Sets \p status to express that \p sat_g is no longer up-to-date.
+  void clear_sat_g_up_to_date();
 
-  //! Pointer to the "true" child of \p *this.
-  PIP_Tree_Node* true_child;
+  //@} // State Flag Cleaners: Clear Only the Specified Flag
+
+  //! \name The Handling of Pending Rows
+  //@{
 
   /*! \brief
-    Builds a decision node having \p fcp and \p tcp as child.
+    Processes the pending rows of either description of the polyhedron
+    and obtains a minimized polyhedron.
 
-    The decision node will encode the structure
-    "if \c cs then \p tcp else \p fcp",
-    where the system of constraints \c cs is initially empty.
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-    \param owner
-    Pointer to the owning PIP_Problem object; it may be null if and
-    only if both children are null.
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
+  */
+  bool process_pending() const;
 
-    \param fcp
-    Pointer to "false" child; it may be null.
+  //! Processes the pending constraints and obtains a minimized polyhedron.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-    \param tcp
-    Pointer to "true" child; it may be null.
+    It is assumed that the polyhedron does have some pending constraints.
+  */
+  bool process_pending_constraints() const;
 
-    \note
-    If any of \p fcp or \p tcp is not null, then \p owner is required
-    to be not null and equal to the owner of its non-null children;
-    otherwise the behavior is undefined.
+  //! Processes the pending generators and obtains a minimized polyhedron.
+  /*!
+    It is assumed that the polyhedron does have some pending generators.
   */
-  explicit PIP_Decision_Node(const PIP_Problem* owner,
-                             PIP_Tree_Node* fcp,
-                             PIP_Tree_Node* tcp);
+  void process_pending_generators() const;
 
-  //! Sets the pointer to the PIP_Problem owning object.
-  virtual void set_owner(const PIP_Problem* owner);
+  /*! \brief
+    Lazily integrates the pending descriptions of the polyhedron
+    to obtain a constraint system without pending rows.
+
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
+  */
+  void remove_pending_to_obtain_constraints() const;
 
   /*! \brief
-    Returns \c true if and only if all the nodes in the subtree
-    rooted in \p *this is owned by \p *pip.
+    Lazily integrates the pending descriptions of the polyhedron
+    to obtain a generator system without pending rows.
+
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
+
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
   */
-  virtual bool check_ownership(const PIP_Problem* owner) const;
+  bool remove_pending_to_obtain_generators() const;
 
-protected:
-  //! Copy constructor.
-  PIP_Decision_Node(const PIP_Decision_Node& y);
+  //@} // The Handling of Pending Rows
 
-  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
-  virtual void update_tableau(const PIP_Problem& pip,
-                              dimension_type external_space_dim,
-                              dimension_type first_pending_constraint,
-                              const Constraint_Sequence& input_cs,
-                              const Variables_Set& parameters);
+  //! \name Updating and Sorting Matrices
+  //@{
 
-  //! Implements pure virtual method PIP_Tree_Node::solve.
-  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
-                               bool check_feasible_context,
-                               const Matrix& context,
-                               const Variables_Set& params,
-                               dimension_type space_dim,
-                               unsigned indent_level);
+  //! Updates constraints starting from generators and minimizes them.
+  /*!
+    The resulting system of constraints is only partially sorted:
+    the equalities are in the upper part of the matrix,
+    while the inequalities in the lower part.
+  */
+  void update_constraints() const;
 
-  //! Prints on \p s the tree rooted in \p *this.
-  virtual void print_tree(std::ostream& s,
-                          unsigned indent,
-                          const std::vector<bool>& pip_dim_is_param,
-                          dimension_type first_art_dim) const;
+  //! Updates generators starting from constraints and minimizes them.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-}; // class PIP_Decision_Node
+    The resulting system of generators is only partially sorted:
+    the lines are in the upper part of the matrix,
+    while rays and points are in the lower part.
+    It is illegal to call this method when the Status field
+    already declares the polyhedron to be empty.
+  */
+  bool update_generators() const;
 
-namespace IO_Operators {
+  //! Updates \p sat_c using the updated constraints and generators.
+  /*!
+    It is assumed that constraints and generators are up-to-date
+    and minimized and that the Status field does not already flag
+    \p sat_c to be up-to-date.
+    The values of the saturation matrix are computed as follows:
+    \f[
+      \begin{cases}
+        sat\_c[i][j] = 0,
+          \quad \text{if } G[i] \cdot C^\mathrm{T}[j] = 0; \\
+        sat\_c[i][j] = 1,
+          \quad \text{if } G[i] \cdot C^\mathrm{T}[j] > 0.
+      \end{cases}
+    \f]
+  */
+  void update_sat_c() const;
 
-//! Output operator: prints the solution tree rooted in \p x.
-/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node */
-std::ostream& operator<<(std::ostream& os, const PIP_Tree_Node& x);
+  //! Updates \p sat_g using the updated constraints and generators.
+  /*!
+    It is assumed that constraints and generators are up-to-date
+    and minimized and that the Status field does not already flag
+    \p sat_g to be up-to-date.
+    The values of the saturation matrix are computed as follows:
+    \f[
+      \begin{cases}
+        sat\_g[i][j] = 0,
+          \quad \text{if } C[i] \cdot G^\mathrm{T}[j] = 0; \\
+        sat\_g[i][j] = 1,
+          \quad \text{if } C[i] \cdot G^\mathrm{T}[j] > 0.
+      \end{cases}
+    \f]
+  */
+  void update_sat_g() const;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter */
-std::ostream& operator<<(std::ostream& os,
-                         const PIP_Tree_Node::Artificial_Parameter& x);
+  //! Sorts the matrix of constraints keeping status consistency.
+  /*!
+    It is assumed that constraints are up-to-date.
+    If at least one of the saturation matrices is up-to-date,
+    then \p sat_g is kept consistent with the sorted matrix
+    of constraints.
+    The method is declared \p const because reordering
+    the constraints does not modify the polyhedron
+    from a \e logical point of view.
+  */
+  void obtain_sorted_constraints() const;
 
-} // namespace IO_Operators
+  //! Sorts the matrix of generators keeping status consistency.
+  /*!
+    It is assumed that generators are up-to-date.
+    If at least one of the saturation matrices is up-to-date,
+    then \p sat_c is kept consistent with the sorted matrix
+    of generators.
+    The method is declared \p const because reordering
+    the generators does not modify the polyhedron
+    from a \e logical point of view.
+  */
+  void obtain_sorted_generators() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Sorts the matrix of constraints and updates \p sat_c.
+  /*!
+    It is assumed that both constraints and generators
+    are up-to-date and minimized.
+    The method is declared \p const because reordering
+    the constraints does not modify the polyhedron
+    from a \e logical point of view.
+  */
+  void obtain_sorted_constraints_with_sat_c() const;
 
-/* Automatically generated from PPL source file ../src/PIP_Tree.inlines.hh line 1. */
-/* PIP_Tree related class implementation: inline functions.
-*/
+  //! Sorts the matrix of generators and updates \p sat_g.
+  /*!
+    It is assumed that both constraints and generators
+    are up-to-date and minimized.
+    The method is declared \p const because reordering
+    the generators does not modify the polyhedron
+    from a \e logical point of view.
+  */
+  void obtain_sorted_generators_with_sat_g() const;
 
+  //@} // Updating and Sorting Matrices
 
-namespace Parma_Polyhedra_Library {
+  //! \name Weak and Strong Minimization of Descriptions
+  //@{
 
-inline
-PIP_Solution_Node::Tableau::Tableau()
-  : s(), t(), denom(1) {
-  PPL_ASSERT(OK());
-}
+  //! Applies (weak) minimization to both the constraints and generators.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-inline
-PIP_Solution_Node::Tableau::Tableau(const Tableau& y)
-  : s(y.s), t(y.t), denom(y.denom) {
-  PPL_ASSERT(OK());
-}
+    Minimization is not attempted if the Status field already declares
+    both systems to be minimized.
+  */
+  bool minimize() const;
 
-inline
-PIP_Solution_Node::Tableau::~Tableau() {
-}
+  //! Applies strong minimization to the constraints of an NNC polyhedron.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
+  */
+  bool strongly_minimize_constraints() const;
 
-inline bool
-PIP_Solution_Node::Tableau::is_integer() const {
-  return denom == 1;
-}
+  //! Applies strong minimization to the generators of an NNC polyhedron.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
+  */
+  bool strongly_minimize_generators() const;
 
-inline Coefficient_traits::const_reference
-PIP_Solution_Node::Tableau::denominator() const {
-  return denom;
-}
+  //! If constraints are up-to-date, obtain a simplified copy of them.
+  Constraint_System simplified_constraints() const;
 
-inline
-PIP_Tree_Node::~PIP_Tree_Node() {
-}
+  //@} // Weak and Strong Minimization of Descriptions
 
-inline void
-PIP_Tree_Node::set_parent(const PIP_Decision_Node* p) {
-  parent_ = p;
-}
+  enum Three_Valued_Boolean {
+    TVB_TRUE,
+    TVB_FALSE,
+    TVB_DONT_KNOW
+  };
 
-inline const PIP_Decision_Node*
-PIP_Tree_Node::parent() const {
-  return parent_;
-}
+  //! Polynomial but incomplete equivalence test between polyhedra.
+  Three_Valued_Boolean quick_equivalence_test(const Polyhedron& y) const;
 
-inline const PIP_Problem*
-PIP_Tree_Node::get_owner() const {
-  return owner_;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
+  bool is_included_in(const Polyhedron& y) const;
 
-inline const Constraint_System&
-PIP_Tree_Node::constraints() const {
-  return constraints_;
-}
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
-PIP_Tree_Node::art_parameter_begin() const {
-  return artificial_parameters.begin();
-}
+    \param expr
+    The linear expression to test;
 
-inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
-PIP_Tree_Node::art_parameter_end() const {
-  return artificial_parameters.end();
-}
+    \param from_above
+    <CODE>true</CODE> if and only if the boundedness of interest is
+    "from above".
 
-inline dimension_type
-PIP_Tree_Node::art_parameter_count() const {
-  return artificial_parameters.size();
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, bool from_above) const;
 
-inline
-const PIP_Tree_Node*
-PIP_Decision_Node::child_node(bool v) const {
-  return v ? true_child : false_child;
-}
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-inline
-PIP_Tree_Node*
-PIP_Decision_Node::child_node(bool v) {
-  return v ? true_child : false_child;
-}
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-inline
-PIP_Tree_Node::Artificial_Parameter::Artificial_Parameter()
-  : Linear_Expression(), denom(1) {
-  PPL_ASSERT(OK());
-}
+    \param ext_n
+    The numerator of the extremum value;
 
-inline
-PIP_Tree_Node::Artificial_Parameter
-::Artificial_Parameter(const Artificial_Parameter& y)
-  : Linear_Expression(y), denom(y.denom) {
-  PPL_ASSERT(OK());
-}
+    \param ext_d
+    The denominator of the extremum value;
 
-inline Coefficient_traits::const_reference
-PIP_Tree_Node::Artificial_Parameter::denominator() const {
-  return denom;
-}
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
-inline void
-PIP_Tree_Node::Artificial_Parameter::swap(Artificial_Parameter& y) {
-  Linear_Expression::swap(y);
-  std::swap(denom, y.denom);
-}
+    \param g
+    When maximization or minimization succeeds, will be assigned
+    a point or closure point where \p expr reaches the
+    corresponding extremum value.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 815. */
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p g are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+	       bool maximize,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
+	       Generator& g) const;
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 1. */
-/* BHRZ03_Certificate class declaration.
-*/
+  //! \name Widening- and Extrapolation-Related Functions
+  //@{
 
+  /*! \brief
+    Copies to \p cs_selection the constraints of \p y corresponding
+    to the definition of the CH78-widening of \p *this and \p y.
+  */
+  void select_CH78_constraints(const Polyhedron& y,
+			       Constraint_System& cs_selection) const;
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.types.hh line 1. */
+  /*! \brief
+    Splits the constraints of `x' into two subsets, depending on whether
+    or not they are selected to compute the \ref H79_widening "H79-widening"
+    of \p *this and \p y.
+  */
+  void select_H79_constraints(const Polyhedron& y,
+			      Constraint_System& cs_selected,
+			      Constraint_System& cs_not_selected) const;
 
+  bool BHRZ03_combining_constraints(const Polyhedron& y,
+				    const BHRZ03_Certificate& y_cert,
+ 				    const Polyhedron& H79,
+				    const Constraint_System& x_minus_H79_cs);
 
-namespace Parma_Polyhedra_Library {
+  bool BHRZ03_evolving_points(const Polyhedron& y,
+			      const BHRZ03_Certificate& y_cert,
+			      const Polyhedron& H79);
 
-class BHRZ03_Certificate;
+  bool BHRZ03_evolving_rays(const Polyhedron& y,
+			    const BHRZ03_Certificate& y_cert,
+			    const Polyhedron& H79);
 
-} // namespace Parma_Polyhedra_Library
+  static void modify_according_to_evolution(Linear_Expression& ray,
+                                            const Linear_Expression& x,
+                                            const Linear_Expression& y);
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 31. */
-#include <vector>
+  //@} // Widening- and Extrapolation-Related Functions
 
-//! The convergence certificate for the BHRZ03 widening operator.
-/*! \ingroup PPL_CXX_interface
-  Convergence certificates are used to instantiate the BHZ03 framework
-  so as to define widening operators for the finite powerset domain.
+  //! Adds new space dimensions to the given linear systems.
+  /*!
+    \param sys1
+    The linear system to which columns are added;
 
-  \note
-  Each convergence certificate has to be used together with a
-  compatible widening operator. In particular, BHRZ03_Certificate
-  can certify the convergence of both the BHRZ03 and the H79 widenings.
-*/
-class Parma_Polyhedra_Library::BHRZ03_Certificate {
-public:
-  //! Default constructor.
-  BHRZ03_Certificate();
+    \param sys2
+    The linear system to which rows and columns are added;
 
-  //! Constructor: computes the certificate for \p ph.
-  BHRZ03_Certificate(const Polyhedron& ph);
+    \param sat1
+    The saturation matrix whose columns are indexed by the rows of
+    \p sys1. On entry it is up-to-date;
 
-  //! Copy constructor.
-  BHRZ03_Certificate(const BHRZ03_Certificate& y);
+    \param sat2
+    The saturation matrix whose columns are indexed by the rows of \p
+    sys2;
 
-  //! Destructor.
-  ~BHRZ03_Certificate();
+    \param add_dim
+    The number of space dimensions to add.
 
-  //! The comparison function for certificates.
-  /*!
-    \return
-    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
-    is smaller than, equal to, or greater than \p y, respectively.
+    Adds new space dimensions to the vector space modifying the linear
+    systems and saturation matrices.
+    This function is invoked only by
+    <CODE>add_space_dimensions_and_embed()</CODE> and
+    <CODE>add_space_dimensions_and_project()</CODE>, passing the
+    linear system of constraints and that of generators (and the
+    corresponding saturation matrices) in different order (see those
+    methods for details).
+  */
+  template <typename Linear_System1, typename Linear_System2>
+  static void add_space_dimensions(Linear_System1& sys1,
+				   Linear_System2& sys2,
+				   Bit_Matrix& sat1,
+				   Bit_Matrix& sat2,
+				   dimension_type add_dim);
 
-    Compares \p *this with \p y, using a total ordering which is a
-    refinement of the limited growth ordering relation for the
-    BHRZ03 widening.
-  */
-  int compare(const BHRZ03_Certificate& y) const;
+  //! \name Minimization-Related Static Member Functions
+  //@{
 
-  //! Compares \p *this with the certificate for polyhedron \p ph.
-  int compare(const Polyhedron& ph) const;
+  //! Builds and simplifies constraints from generators (or vice versa).
+  // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System, typename Dest_Linear_System>
+  static bool minimize(bool con_to_gen,
+		       Source_Linear_System& source,
+		       Dest_Linear_System& dest,
+		       Bit_Matrix& sat);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the certificate for
-    polyhedron \p ph is strictly smaller than \p *this.
+    Adds given constraints and builds minimized corresponding generators
+    or vice versa.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool is_stabilizing(const Polyhedron& ph) const;
+  // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System1, typename Source_Linear_System2,
+            typename Dest_Linear_System>
+  static bool add_and_minimize(bool con_to_gen,
+			       Source_Linear_System1& source1,
+			       Dest_Linear_System& dest,
+			       Bit_Matrix& sat,
+			       const Source_Linear_System2& source2);
 
-  //! A total ordering on BHRZ03 certificates.
-  /*! \ingroup PPL_CXX_interface
-    This binary predicate defines a total ordering on BHRZ03 certificates
-    which is used when storing information about sets of polyhedra.
+  /*! \brief
+    Adds given constraints and builds minimized corresponding generators
+    or vice versa. The given constraints are in \p source.
   */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(const BHRZ03_Certificate& x,
-		    const BHRZ03_Certificate& y) const;
-  };
+  // Detailed Doxygen comment to be found in file minimize.cc.
+  template <typename Source_Linear_System, typename Dest_Linear_System>
+  static bool add_and_minimize(bool con_to_gen,
+			       Source_Linear_System& source,
+			       Dest_Linear_System& dest,
+			       Bit_Matrix& sat);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Check if gathered information is meaningful.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
+  //! Performs the conversion from constraints to generators and vice versa.
+  // Detailed Doxygen comment to be found in file conversion.cc.
+  template <typename Source_Linear_System, typename Dest_Linear_System>
+  static dimension_type conversion(Source_Linear_System& source,
+				   dimension_type start,
+				   Dest_Linear_System& dest,
+				   Bit_Matrix& sat,
+				   dimension_type num_lines_or_equalities);
 
-private:
-  //! Affine dimension of the polyhedron.
-  dimension_type affine_dim;
-  //! Dimension of the lineality space of the polyhedron.
-  dimension_type lin_space_dim;
-  //! Cardinality of a non-redundant constraint system for the polyhedron.
-  dimension_type num_constraints;
-  /*! \brief
-    Number of non-redundant points in a generator system
-    for the polyhedron.
-  */
-  dimension_type num_points;
   /*! \brief
-    A vector containing, for each index `0 <= i < space_dim',
-    the number of non-redundant rays in a generator system of the
-    polyhedron having exactly `i' null coordinates.
+    Uses Gauss' elimination method to simplify the result of
+    <CODE>conversion()</CODE>.
   */
-  std::vector<dimension_type> num_rays_null_coord;
-};
-
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.inlines.hh line 1. */
-/* BHRZ03_Certificate class implementation: inline functions.
-*/
+  // Detailed Doxygen comment to be found in file simplify.cc.
+  template <typename Linear_System1>
+  static dimension_type simplify(Linear_System1& sys, Bit_Matrix& sat);
 
+  //@} // Minimization-Related Static Member Functions
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Pointer to an array used by simplify().
 
-inline
-BHRZ03_Certificate::BHRZ03_Certificate()
-  : affine_dim(0), lin_space_dim(0), num_constraints(0), num_points(1),
-    num_rays_null_coord() {
-  // This is the certificate for a zero-dim universe polyhedron.
-  PPL_ASSERT(OK());
-}
+    Holds (between class initialization and finalization) a pointer to
+    an array, allocated with operator new[](), of
+    simplify_num_saturators_size elements.
+  */
+  static dimension_type* simplify_num_saturators_p;
 
-inline
-BHRZ03_Certificate::BHRZ03_Certificate(const BHRZ03_Certificate& y)
-  : affine_dim(y.affine_dim), lin_space_dim(y.lin_space_dim),
-    num_constraints(y.num_constraints), num_points(y.num_points),
-    num_rays_null_coord(y.num_rays_null_coord) {
-}
+  /*! \brief
+    Dimension of an array used by simplify().
 
-inline
-BHRZ03_Certificate::~BHRZ03_Certificate() {
-}
+    Holds (between class initialization and finalization) the size of the
+    array pointed to by simplify_num_saturators_p.
+  */
+  static size_t simplify_num_saturators_size;
 
-inline bool
-BHRZ03_Certificate::is_stabilizing(const Polyhedron& ph) const {
-  return compare(ph) == 1;
-}
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+  template <typename T> friend class Parma_Polyhedra_Library::BD_Shape;
+  template <typename T> friend class Parma_Polyhedra_Library::Octagonal_Shape;
+  friend class Parma_Polyhedra_Library::Grid;
+  friend class Parma_Polyhedra_Library::BHRZ03_Certificate;
+  friend class Parma_Polyhedra_Library::H79_Certificate;
 
-inline bool
-BHRZ03_Certificate::Compare::operator()(const BHRZ03_Certificate& x,
-					const BHRZ03_Certificate& y) const {
-  // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
-  return x.compare(y) == 1;
-}
+protected:
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    If the poly-hull of \p *this and \p y is exact it is assigned
+    to \p *this and \c true is returned, otherwise \c false is returned.
 
-} // namespace Parma_Polyhedra_Library
+    Current implementation is based on (a variant of) Algorithm 8.1 in
+      A. Bemporad, K. Fukuda, and F. D. Torrisi
+      <em>Convexity Recognition of the Union of Polyhedra</em>
+      Technical Report AUT00-13, ETH Zurich, 2000
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 117. */
+    \note
+    It is assumed that \p *this and \p y are topologically closed
+    and dimension-compatible;
+    if the assumption does not hold, the behavior is undefined.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool BFT00_poly_hull_assign_if_exact(const Polyhedron& y);
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 1. */
-/* H79_Certificate class declaration.
-*/
+  bool BHZ09_poly_hull_assign_if_exact(const Polyhedron& y);
+  bool BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y);
+  bool BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \name Exception Throwers
+  //@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+protected:
+  void throw_invalid_argument(const char* method, const char* reason) const;
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.types.hh line 1. */
+  void throw_topology_incompatible(const char* method,
+				   const char* ph_name,
+				   const Polyhedron& ph) const;
+  void throw_topology_incompatible(const char* method,
+				   const char* c_name,
+				   const Constraint& c) const;
+  void throw_topology_incompatible(const char* method,
+				   const char* g_name,
+				   const Generator& g) const;
+  void throw_topology_incompatible(const char* method,
+				   const char* cs_name,
+				   const Constraint_System& cs) const;
+  void throw_topology_incompatible(const char* method,
+				   const char* gs_name,
+				   const Generator_System& gs) const;
 
+  void throw_dimension_incompatible(const char* method,
+				    const char* other_name,
+				    dimension_type other_dim) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* ph_name,
+				    const Polyhedron& ph) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* le_name,
+				    const Linear_Expression& le) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* c_name,
+				    const Constraint& c) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* g_name,
+				    const Generator& g) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cg_name,
+				    const Congruence& cg) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cs_name,
+				    const Constraint_System& cs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* gs_name,
+				    const Generator_System& gs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cgs_name,
+				    const Congruence_System& cgs) const;
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+				    const char* lf_name,
+				    const Linear_Form<C>& lf) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* var_name,
+				    Variable var) const;
+  void throw_dimension_incompatible(const char* method,
+				    dimension_type required_space_dim) const;
 
-namespace Parma_Polyhedra_Library {
+  // Note: the following three methods need to be static, because they
+  // can be called inside constructors (before actually constructing the
+  // polyhedron object).
+  static dimension_type
+  check_space_dimension_overflow(dimension_type dim, dimension_type max,
+                                 const Topology topol,
+                                 const char* method, const char* reason);
 
-class H79_Certificate;
+  static dimension_type
+  check_space_dimension_overflow(dimension_type dim, const Topology topol,
+                                 const char* method, const char* reason);
 
-} // namespace Parma_Polyhedra_Library
+  template <typename Object>
+  static Object&
+  check_obj_space_dimension_overflow(Object& input, Topology topol,
+                                     const char* method, const char* reason);
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 31. */
-#include <vector>
+  void throw_invalid_generator(const char* method,
+			       const char* g_name) const;
 
-//! A convergence certificate for the H79 widening operator.
-/*! \ingroup PPL_CXX_interface
-  Convergence certificates are used to instantiate the BHZ03 framework
-  so as to define widening operators for the finite powerset domain.
-  \note
-  The convergence of the H79 widening can also be certified by
-  BHRZ03_Certificate.
-*/
-class Parma_Polyhedra_Library::H79_Certificate {
-public:
-  //! Default constructor.
-  H79_Certificate();
+  void throw_invalid_generators(const char* method,
+				const char* gs_name) const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //@} // Exception Throwers
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-  //! Constructor: computes the certificate for \p ph.
-  template <typename PH>
-  H79_Certificate(const PH& ph);
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p *vars_p.
 
-  //! Constructor: computes the certificate for \p ph.
-  H79_Certificate(const Polyhedron& ph);
+    \param vars_p
+    When nonzero, points with non-integer coordinates for the
+    variables/space-dimensions contained in \p *vars_p can be discarded.
 
-  //! Copy constructor.
-  H79_Certificate(const H79_Certificate& y);
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-  //! Destructor.
-  ~H79_Certificate();
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set* vars_p,
+                                    Complexity_Class complexity);
 
-  //! The comparison function for certificates.
+  //! Helper function that overapproximates an interval linear form.
   /*!
-    \return
-    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
-    is smaller than, equal to, or greater than \p y, respectively.
-
-    Compares \p *this with \p y, using a total ordering which is a
-    refinement of the limited growth ordering relation for the
-    H79 widening.
-  */
-  int compare(const H79_Certificate& y) const;
+    \param lf
+    The linear form on intervals with floating point boundaries to approximate.
+    ALL of its coefficients MUST be bounded.
 
-  //! Compares \p *this with the certificate for polyhedron \p ph.
-  template <typename PH>
-  int compare(const PH& ph) const;
+    \param lf_dimension
+    Must be the space dimension of \p lf.
 
-  //! Compares \p *this with the certificate for polyhedron \p ph.
-  int compare(const Polyhedron& ph) const;
+    \param result
+    Used to store the result.
 
-  //! A total ordering on H79 certificates.
-  /*! \ingroup PPL_CXX_interface
-    This binary predicate defines a total ordering on H79 certificates
-    which is used when storing information about sets of polyhedra.
+    This function makes \p result become a linear form that is a correct
+    approximation of \p lf under the constraints specified by \p *this.
+    The resulting linear form has the property that all of its variable
+    coefficients have a non-significant upper bound and can thus be
+    considered as singletons.
   */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(const H79_Certificate& x,
-		    const H79_Certificate& y) const;
-  };
-
-private:
-  //! Affine dimension of the polyhedron.
-  dimension_type affine_dim;
-  //! Cardinality of a non-redundant constraint system for the polyhedron.
-  dimension_type num_constraints;
-};
-
-/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 1. */
-/* H79_Certificate class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 1. */
-/* Polyhedron class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 1. */
-/* Generator_System class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
+  template <typename FP_Format, typename Interval_Info>
+  void overapproximate_linear_form(
+  const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+  const dimension_type lf_dimension,
+  Linear_Form<Interval <FP_Format, Interval_Info> >& result);
 
-inline
-Generator_System::Generator_System()
-  : Linear_System(NECESSARILY_CLOSED) {
-}
+  /*! \brief
+    Helper function that makes \p result become a Linear_Expression obtained
+    by normalizing the denominators in \p lf.
 
-inline
-Generator_System::Generator_System(const Generator& g)
-  : Linear_System(g.topology()) {
-  Linear_System::insert(g);
-}
+    \param lf
+    The linear form on intervals with floating point boundaries to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
 
-inline
-Generator_System::Generator_System(const Generator_System& gs)
-  : Linear_System(gs) {
-}
+    \param lf_dimension
+    Must be the space dimension of \p lf.
 
-inline
-Generator_System::Generator_System(const Topology topol)
-  : Linear_System(topol) {
-}
+    \param result
+    Used to store the result.
 
-inline
-Generator_System::Generator_System(const Topology topol,
-				   const dimension_type n_rows,
-				   const dimension_type n_columns)
-  : Linear_System(topol, n_rows, n_columns) {
-}
+    This function ignores the upper bound of intervals in \p lf,
+    so that in fact \p result can be seen as \p lf multiplied by a proper
+    normalization constant.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  static void convert_to_integer_expression(
+	      const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+              const dimension_type lf_dimension,
+              Linear_Expression& result);
 
-inline
-Generator_System::~Generator_System() {
-}
+  //! Normalization helper function.
+  /*!
+    \param lf
+    The linear form on intervals with floating point boundaries to normalize.
+    It should be the result of an application of static method
+    <CODE>overapproximate_linear_form</CODE>.
 
-inline Generator_System&
-Generator_System::operator=(const Generator_System& y) {
-  Linear_System::operator=(y);
-  return *this;
-}
+    \param lf_dimension
+    Must be the space dimension of \p lf.
 
-inline dimension_type
-Generator_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
-}
+    \param res
+    Stores the normalized linear form, except its inhomogeneous term.
 
-inline dimension_type
-Generator_System::space_dimension() const {
-  return Linear_System::space_dimension();
-}
+    \param res_low_coeff
+    Stores the lower boundary of the inhomogeneous term of the result.
 
-inline void
-Generator_System::clear() {
-  Linear_System::clear();
-}
+    \param res_hi_coeff
+    Stores the higher boundary of the inhomogeneous term of the result.
 
-inline Generator&
-Generator_System::operator[](const dimension_type k) {
-  return static_cast<Generator&>(Linear_System::operator[](k));
-}
+    \param denominator
+    Becomes the common denominator of \p res_low_coeff, \p res_hi_coeff
+    and all coefficients in \p res.
 
-inline const Generator&
-Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Generator&>(Linear_System::operator[](k));
-}
+    Results are obtained by normalizing denominators in \p lf, ignoring
+    the upper bounds of variable coefficients in \p lf.
+  */
+  template <typename FP_Format, typename Interval_Info>
+  static void
+  convert_to_integer_expressions(const Linear_Form<Interval<FP_Format,
+                                                            Interval_Info> >&
+                                 lf,
+                                 const dimension_type lf_dimension,
+                                 Linear_Expression& res,
+                                 Coefficient& res_low_coeff,
+                                 Coefficient& res_hi_coeff,
+                                 Coefficient& denominator);
+
+  template <typename Linear_System1, typename Row2>
+  static bool
+  add_to_system_and_check_independence(Linear_System1& eq_sys,
+                                       const Row2& eq);
+};
 
-inline
-Generator_System::const_iterator::const_iterator()
-  : i(), gsp(0) {
-}
+/* Automatically generated from PPL source file ../src/Ph_Status.inlines.hh line 1. */
+/* Polyhedron::Status class implementation: inline functions.
+*/
 
-inline
-Generator_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), gsp(y.gsp) {
-}
+
+namespace Parma_Polyhedra_Library {
 
 inline
-Generator_System::const_iterator::~const_iterator() {
+Polyhedron::Status::Status(flags_t mask)
+  : flags(mask) {
 }
 
 inline
-Generator_System::const_iterator&
-Generator_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  gsp = y.gsp;
-  return *this;
+Polyhedron::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
 }
 
-inline const Generator&
-Generator_System::const_iterator::operator*() const {
-  return static_cast<const Generator&>(*i);
+inline bool
+Polyhedron::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
 }
 
-inline const Generator*
-Generator_System::const_iterator::operator->() const {
-  return static_cast<const Generator*>(i.operator->());
+inline bool
+Polyhedron::Status::test_any(flags_t mask) const {
+  return (flags & mask) != 0;
 }
 
-inline Generator_System::const_iterator&
-Generator_System::const_iterator::operator++() {
-  ++i;
-  if (!gsp->is_necessarily_closed())
-    skip_forward();
-  return *this;
+inline void
+Polyhedron::Status::set(flags_t mask) {
+  flags |= mask;
 }
 
-inline Generator_System::const_iterator
-Generator_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
+inline void
+Polyhedron::Status::reset(flags_t mask) {
+  flags &= ~mask;
 }
 
 inline bool
-Generator_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
+Polyhedron::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
 }
 
-inline bool
-Generator_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
+inline void
+Polyhedron::Status::reset_zero_dim_univ() {
+  // This is a no-op if the current status is not zero-dim.
+  if (flags == ZERO_DIM_UNIV)
+    // In the zero-dim space, if it is not the universe it is empty.
+    flags = EMPTY;
 }
 
-inline
-Generator_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Generator_System& gsys)
-  : i(iter), gsp(&gsys) {
+inline void
+Polyhedron::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
 }
 
 inline bool
-Generator_System::empty() const {
-  return Linear_System::has_no_rows();
+Polyhedron::Status::test_empty() const {
+  return test_any(EMPTY);
 }
 
-inline Generator_System::const_iterator
-Generator_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
-  if (!is_necessarily_closed())
-    i.skip_forward();
-  return i;
+inline void
+Polyhedron::Status::reset_empty() {
+  reset(EMPTY);
 }
 
-inline Generator_System::const_iterator
-Generator_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
-  return i;
+inline void
+Polyhedron::Status::set_empty() {
+  flags = EMPTY;
 }
 
-inline const Generator_System&
-Generator_System::zero_dim_univ() {
-  PPL_ASSERT(zero_dim_univ_p != 0);
-  return *zero_dim_univ_p;
+inline bool
+Polyhedron::Status::test_c_up_to_date() const {
+  return test_any(C_UP_TO_DATE);
 }
 
 inline void
-Generator_System::swap(Generator_System& y) {
-  Linear_System::swap(y);
+Polyhedron::Status::reset_c_up_to_date() {
+  reset(C_UP_TO_DATE);
 }
 
-inline memory_size_type
-Generator_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
+inline void
+Polyhedron::Status::set_c_up_to_date() {
+  set(C_UP_TO_DATE);
 }
 
-inline memory_size_type
-Generator_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
+inline bool
+Polyhedron::Status::test_g_up_to_date() const {
+  return test_any(G_UP_TO_DATE);
 }
 
 inline void
-Generator_System::simplify() {
-  Linear_System::simplify();
-  remove_invalid_lines_and_rays();
+Polyhedron::Status::reset_g_up_to_date() {
+  reset(G_UP_TO_DATE);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
 inline void
-swap(Parma_Polyhedra_Library::Generator_System& x,
-     Parma_Polyhedra_Library::Generator_System& y) {
-  x.swap(y);
+Polyhedron::Status::set_g_up_to_date() {
+  set(G_UP_TO_DATE);
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 1. */
-/* Congruence_System class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 28. */
+inline bool
+Polyhedron::Status::test_c_minimized() const {
+  return test_any(C_MINIMIZED);
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Polyhedron::Status::reset_c_minimized() {
+  reset(C_MINIMIZED);
+}
 
-inline Congruence&
-Congruence_System::operator[](const dimension_type k) {
-  return static_cast<Congruence&>(Matrix::operator[](k));
+inline void
+Polyhedron::Status::set_c_minimized() {
+  set(C_MINIMIZED);
 }
 
-inline const Congruence&
-Congruence_System::operator[](const dimension_type k) const {
-  return static_cast<const Congruence&>(Matrix::operator[](k));
+inline bool
+Polyhedron::Status::test_g_minimized() const {
+  return test_any(G_MINIMIZED);
 }
 
 inline void
-Congruence_System::insert(const Congruence& cg) {
-  insert_verbatim(cg);
-  static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
-  PPL_ASSERT(OK());
+Polyhedron::Status::reset_g_minimized() {
+  reset(G_MINIMIZED);
 }
 
-inline
-Congruence_System::Congruence_System()
-  : Matrix(0, 2) {
+inline void
+Polyhedron::Status::set_g_minimized() {
+  set(G_MINIMIZED);
 }
 
-inline
-Congruence_System::Congruence_System(const Congruence& cg)
-  : Matrix(0, 2) {
-  insert(cg);
-}
 
-inline
-Congruence_System::Congruence_System(const Constraint& c)
-  : Matrix(0, 2) {
-  insert(c);
+inline bool
+Polyhedron::Status::test_c_pending() const {
+  return test_any(CS_PENDING);
 }
 
-inline
-Congruence_System::Congruence_System(const Congruence_System& cs)
-  : Matrix(cs) {
+inline void
+Polyhedron::Status::reset_c_pending() {
+  reset(CS_PENDING);
 }
 
-inline
-Congruence_System::Congruence_System(const dimension_type d)
-  : Matrix(0, d + 2) {
+inline void
+Polyhedron::Status::set_c_pending() {
+  set(CS_PENDING);
 }
 
-inline
-Congruence_System::~Congruence_System() {
+inline bool
+Polyhedron::Status::test_g_pending() const {
+  return test_any(GS_PENDING);
 }
 
-inline Congruence_System&
-Congruence_System::operator=(const Congruence_System& y) {
-  Matrix::operator=(y);
-  return *this;
+inline void
+Polyhedron::Status::reset_g_pending() {
+  reset(GS_PENDING);
 }
 
-inline dimension_type
-Congruence_System::max_space_dimension() {
-  return Matrix::max_num_columns() - 2;
+inline void
+Polyhedron::Status::set_g_pending() {
+  set(GS_PENDING);
 }
 
-inline dimension_type
-Congruence_System::space_dimension() const {
-  return Matrix::num_columns() - 2;
+
+inline bool
+Polyhedron::Status::test_sat_c_up_to_date() const {
+  return test_any(SAT_C_UP_TO_DATE);
 }
 
 inline void
-Congruence_System::clear() {
-  Matrix::clear();
-  add_zero_columns(2);		// Modulus and constant term.
+Polyhedron::Status::reset_sat_c_up_to_date() {
+  reset(SAT_C_UP_TO_DATE);
 }
 
 inline void
-Congruence_System::resize_no_copy(const dimension_type new_num_rows,
-				  const dimension_type new_num_columns) {
-  Matrix::resize_no_copy(new_num_rows, new_num_columns, Row::Flags());
+Polyhedron::Status::set_sat_c_up_to_date() {
+  set(SAT_C_UP_TO_DATE);
 }
 
-inline const Congruence_System&
-Congruence_System::zero_dim_empty() {
-  PPL_ASSERT(zero_dim_empty_p != 0);
-  return *zero_dim_empty_p;
+inline bool
+Polyhedron::Status::test_sat_g_up_to_date() const {
+  return test_any(SAT_G_UP_TO_DATE);
 }
 
-inline
-Congruence_System::const_iterator::const_iterator()
-  : i(), csp(0) {
+inline void
+Polyhedron::Status::reset_sat_g_up_to_date() {
+  reset(SAT_G_UP_TO_DATE);
 }
 
-inline
-Congruence_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), csp(y.csp) {
+inline void
+Polyhedron::Status::set_sat_g_up_to_date() {
+  set(SAT_G_UP_TO_DATE);
 }
 
-inline
-Congruence_System::const_iterator::~const_iterator() {
-}
+} // namespace Parma_Polyhedra_Library
 
-inline Congruence_System::const_iterator&
-Congruence_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  csp = y.csp;
-  return *this;
-}
+/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 1. */
+/* Polyhedron class implementation: inline functions.
+*/
 
-inline const Congruence&
-Congruence_System::const_iterator::operator*() const {
-  return static_cast<const Congruence&>(*i);
-}
 
-inline const Congruence*
-Congruence_System::const_iterator::operator->() const {
-  return static_cast<const Congruence*>(i.operator->());
-}
+/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 29. */
+#include <algorithm>
+#include <deque>
 
-inline Congruence_System::const_iterator&
-Congruence_System::const_iterator::operator++() {
-  ++i;
-  skip_forward();
-  return *this;
-}
+namespace Parma_Polyhedra_Library {
 
-inline Congruence_System::const_iterator
-Congruence_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
+inline memory_size_type
+Polyhedron::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-inline bool
-Congruence_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
+inline dimension_type
+Polyhedron::space_dimension() const {
+  return space_dim;
 }
 
-inline bool
-Congruence_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
+inline int32_t
+Polyhedron::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
 }
 
-inline
-Congruence_System::const_iterator::
-const_iterator(const Matrix::const_iterator& iter,
-	       const Congruence_System& csys)
-  : i(iter), csp(&csys) {
+inline dimension_type
+Polyhedron::max_space_dimension() {
+  using std::min;
+  // One dimension is reserved to have a value of type dimension_type
+  // that does not represent a legal dimension.
+  return min(std::numeric_limits<dimension_type>::max() - 1,
+	     min(Constraint_System::max_space_dimension(),
+		 Generator_System::max_space_dimension()
+		 )
+	     );
 }
 
-inline Congruence_System::const_iterator
-Congruence_System::begin() const {
-  const_iterator i(Matrix::begin(), *this);
-  i.skip_forward();
-  return i;
+inline Topology
+Polyhedron::topology() const {
+  // We can check either one of the two matrices.
+  // (`con_sys' is slightly better, since it is placed at offset 0.)
+  return con_sys.topology();
 }
 
-inline Congruence_System::const_iterator
-Congruence_System::end() const {
-  const const_iterator i(Matrix::end(), *this);
-  return i;
+inline bool
+Polyhedron::is_discrete() const {
+  return affine_dimension() == 0;
 }
 
 inline bool
-Congruence_System::empty() const {
-  return begin() == end();
+Polyhedron::is_necessarily_closed() const {
+  // We can check either one of the two matrices.
+  // (`con_sys' is slightly better, since it is placed at offset 0.)
+  return con_sys.is_necessarily_closed();
 }
 
 inline void
-Congruence_System::swap(Congruence_System& y) {
-  Matrix::swap(y);
+Polyhedron::upper_bound_assign(const Polyhedron& y) {
+  poly_hull_assign(y);
 }
 
-inline memory_size_type
-Congruence_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
+inline void
+Polyhedron::difference_assign(const Polyhedron& y) {
+  poly_difference_assign(y);
 }
 
-inline memory_size_type
-Congruence_System::total_memory_in_bytes() const {
-  return Matrix::total_memory_in_bytes();
+inline void
+Polyhedron::widening_assign(const Polyhedron& y, unsigned* tp) {
+  H79_widening_assign(y, tp);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
+inline
+Polyhedron::~Polyhedron() {
+}
 
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
 inline void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y) {
-  x.swap(y);
+Polyhedron::m_swap(Polyhedron& y) {
+  if (topology() != y.topology())
+    throw_topology_incompatible("swap(y)", "y", y);
+  using std::swap;
+  swap(con_sys, y.con_sys);
+  swap(gen_sys, y.gen_sys);
+  swap(sat_c, y.sat_c);
+  swap(sat_g, y.sat_g);
+  swap(status, y.status);
+  swap(space_dim, y.space_dim);
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.inlines.hh line 1. */
-/* Grid_Generator_System class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.inlines.hh line 29. */
-
-namespace Parma_Polyhedra_Library {
-
+/*! \relates Polyhedron */
 inline void
-Grid_Generator_System::set_sorted(bool b) {
-  Generator_System::set_sorted(b);
+swap(Polyhedron& x, Polyhedron& y) {
+  x.m_swap(y);
 }
 
-inline void
-Grid_Generator_System::unset_pending_rows() {
-  Generator_System::unset_pending_rows();
+inline bool
+Polyhedron::can_recycle_constraint_systems() {
+  return true;
 }
 
-inline void
-Grid_Generator_System::set_index_first_pending_row(const dimension_type i) {
-  Generator_System::set_index_first_pending_row(i);
+inline bool
+Polyhedron::can_recycle_congruence_systems() {
+  return false;
 }
 
-inline void
-Grid_Generator_System::resize_no_copy(const dimension_type new_num_rows,
-				      const dimension_type new_num_columns) {
-  Generator_System::resize_no_copy(new_num_rows, new_num_columns);
+inline bool
+Polyhedron::marked_empty() const {
+  return status.test_empty();
 }
 
-inline dimension_type
-Grid_Generator_System::num_columns() const {
-  return Generator_System::num_columns();
+inline bool
+Polyhedron::constraints_are_up_to_date() const {
+  return status.test_c_up_to_date();
 }
 
-inline void
-Grid_Generator_System::erase_to_end(dimension_type first_to_erase) {
-  return Generator_System::erase_to_end(first_to_erase);
+inline bool
+Polyhedron::generators_are_up_to_date() const {
+  return status.test_g_up_to_date();
 }
 
-inline void
-Grid_Generator_System
-::permute_columns(const std::vector<dimension_type>& cycles) {
-  return Generator_System::permute_columns(cycles);
+inline bool
+Polyhedron::constraints_are_minimized() const {
+  return status.test_c_minimized();
 }
 
 inline bool
-Grid_Generator_System::is_equal_to(const Grid_Generator_System& y) const {
-  return operator==(static_cast<const Generator_System&>(*this),
-		    static_cast<const Generator_System&>(y));
+Polyhedron::generators_are_minimized() const {
+  return status.test_g_minimized();
 }
 
-inline
-Grid_Generator_System::Grid_Generator_System()
-  : Generator_System(NECESSARILY_CLOSED) {
-  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, 1);
-  set_sorted(false);
+inline bool
+Polyhedron::sat_c_is_up_to_date() const {
+  return status.test_sat_c_up_to_date();
 }
 
-inline
-Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs)
-  : Generator_System(gs) {
+inline bool
+Polyhedron::sat_g_is_up_to_date() const {
+  return status.test_sat_g_up_to_date();
 }
 
-inline
-Grid_Generator_System::Grid_Generator_System(dimension_type dim)
-  : Generator_System(NECESSARILY_CLOSED) {
-  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, dim + 1);
-  set_sorted(false);
+inline bool
+Polyhedron::has_pending_constraints() const {
+  return status.test_c_pending();
 }
 
-inline
-Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g)
-  : Generator_System(g) {
-  set_sorted(false);
+inline bool
+Polyhedron::has_pending_generators() const {
+  return status.test_g_pending();
 }
 
-inline
-Grid_Generator_System::~Grid_Generator_System() {
+inline bool
+Polyhedron::has_something_pending() const {
+  return status.test_c_pending() || status.test_g_pending();
 }
 
-inline Grid_Generator_System&
-Grid_Generator_System::operator=(const Grid_Generator_System& y) {
-  Generator_System::operator=(y);
-  return *this;
+inline bool
+Polyhedron::can_have_something_pending() const {
+  return constraints_are_minimized()
+    && generators_are_minimized()
+    && (sat_c_is_up_to_date() || sat_g_is_up_to_date());
 }
 
-inline dimension_type
-Grid_Generator_System::max_space_dimension() {
-  // Grid generators use an extra column for the parameter divisor.
-  return Generator_System::max_space_dimension() - 1;
+inline bool
+Polyhedron::is_empty() const {
+  if (marked_empty())
+    return true;
+  // Try a fast-fail test: if generators are up-to-date and
+  // there are no pending constraints, then the generator system
+  // (since it is well formed) contains a point.
+  if (generators_are_up_to_date() && !has_pending_constraints())
+    return false;
+  return !minimize();
 }
 
-inline dimension_type
-Grid_Generator_System::space_dimension() const {
-  PPL_ASSERT(Generator_System::space_dimension() > 0);
-  // Grid generators use an extra column for the parameter divisor.
-  return Generator_System::space_dimension() - 1;
+inline void
+Polyhedron::set_constraints_up_to_date() {
+  status.set_c_up_to_date();
 }
 
-inline const Grid_Generator_System&
-Grid_Generator_System::zero_dim_univ() {
-  PPL_ASSERT(zero_dim_univ_p != 0);
-  return *zero_dim_univ_p;
+inline void
+Polyhedron::set_generators_up_to_date() {
+  status.set_g_up_to_date();
 }
 
 inline void
-Grid_Generator_System::clear() {
-  Generator_System::clear();
-  // For grid generators, two extra columns are needed.
-  add_zero_columns(2);
-  set_sorted(false);
-  unset_pending_rows();
+Polyhedron::set_constraints_minimized() {
+  set_constraints_up_to_date();
+  status.set_c_minimized();
 }
 
 inline void
-Grid_Generator_System::swap(Grid_Generator_System& y) {
-  Generator_System::swap(y);
+Polyhedron::set_generators_minimized() {
+  set_generators_up_to_date();
+  status.set_g_minimized();
 }
 
-inline memory_size_type
-Grid_Generator_System::external_memory_in_bytes() const {
-  return Generator_System::external_memory_in_bytes();
+inline void
+Polyhedron::set_constraints_pending() {
+  status.set_c_pending();
 }
 
-inline memory_size_type
-Grid_Generator_System::total_memory_in_bytes() const {
-  return Generator_System::total_memory_in_bytes();
+inline void
+Polyhedron::set_generators_pending() {
+  status.set_g_pending();
 }
 
-inline dimension_type
-Grid_Generator_System::num_rows() const {
-  return Generator_System::num_rows();
+inline void
+Polyhedron::set_sat_c_up_to_date() {
+  status.set_sat_c_up_to_date();
 }
 
-inline dimension_type
-Grid_Generator_System::num_parameters() const {
-  return Generator_System::num_rays();
+inline void
+Polyhedron::set_sat_g_up_to_date() {
+  status.set_sat_g_up_to_date();
 }
 
-inline dimension_type
-Grid_Generator_System::num_lines() const {
-  return Generator_System::num_lines();
+inline void
+Polyhedron::clear_empty() {
+  status.reset_empty();
 }
 
-inline
-Grid_Generator_System::const_iterator::const_iterator()
-  : Generator_System::const_iterator() {
+inline void
+Polyhedron::clear_constraints_minimized() {
+  status.reset_c_minimized();
 }
 
-inline
-Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y)
-  : Generator_System::const_iterator(y) {
+inline void
+Polyhedron::clear_generators_minimized() {
+  status.reset_g_minimized();
 }
 
-inline
-Grid_Generator_System::const_iterator::~const_iterator() {
+inline void
+Polyhedron::clear_pending_constraints() {
+  status.reset_c_pending();
 }
 
-inline
-Grid_Generator_System::const_iterator&
-Grid_Generator_System::const_iterator::operator=(const const_iterator& y) {
-  return static_cast<Grid_Generator_System::const_iterator&>
-    (Generator_System::const_iterator::operator=(y));
+inline void
+Polyhedron::clear_pending_generators() {
+  status.reset_g_pending();
 }
 
-inline const Grid_Generator&
-Grid_Generator_System::const_iterator::operator*() const {
-  return static_cast<const Grid_Generator&>
-    (Generator_System::const_iterator::operator*());
+inline void
+Polyhedron::clear_sat_c_up_to_date() {
+  status.reset_sat_c_up_to_date();
+  // Can get rid of sat_c here.
 }
 
-inline const Grid_Generator*
-Grid_Generator_System::const_iterator::operator->() const {
-  return static_cast<const Grid_Generator*>
-    (Generator_System::const_iterator::operator->());
+inline void
+Polyhedron::clear_sat_g_up_to_date() {
+  status.reset_sat_g_up_to_date();
+  // Can get rid of sat_g here.
 }
 
-inline Grid_Generator_System::const_iterator&
-Grid_Generator_System::const_iterator::operator++() {
-  return static_cast<Grid_Generator_System::const_iterator&>
-    (Generator_System::const_iterator::operator++());
+inline void
+Polyhedron::clear_constraints_up_to_date() {
+  clear_pending_constraints();
+  clear_constraints_minimized();
+  clear_sat_c_up_to_date();
+  clear_sat_g_up_to_date();
+  status.reset_c_up_to_date();
+  // Can get rid of con_sys here.
 }
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
+inline void
+Polyhedron::clear_generators_up_to_date() {
+  clear_pending_generators();
+  clear_generators_minimized();
+  clear_sat_c_up_to_date();
+  clear_sat_g_up_to_date();
+  status.reset_g_up_to_date();
+  // Can get rid of gen_sys here.
 }
 
 inline bool
-Grid_Generator_System
-::const_iterator::operator==(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator==(y);
+Polyhedron::process_pending() const {
+  PPL_ASSERT(space_dim > 0 && !marked_empty());
+  PPL_ASSERT(has_something_pending());
+
+  Polyhedron& x = const_cast<Polyhedron&>(*this);
+
+  if (x.has_pending_constraints())
+    return x.process_pending_constraints();
+
+  PPL_ASSERT(x.has_pending_generators());
+  x.process_pending_generators();
+  return true;
 }
 
 inline bool
-Grid_Generator_System
-::const_iterator::operator!=(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator!=(y);
+Polyhedron::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
 }
 
 inline bool
-Grid_Generator_System::empty() const {
-  return Generator_System::empty();
+Polyhedron::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
 }
 
-inline
-Grid_Generator_System
-::const_iterator::const_iterator(const Generator_System::const_iterator& y)
-  : Generator_System::const_iterator::const_iterator(y) {
+inline bool
+Polyhedron::maximize(const Linear_Expression& expr,
+		     Coefficient& sup_n, Coefficient& sup_d,
+		     bool& maximum) const {
+  Generator g(point());
+  return max_min(expr, true, sup_n, sup_d, maximum, g);
 }
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::begin() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::begin());
+inline bool
+Polyhedron::maximize(const Linear_Expression& expr,
+		     Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		     Generator& g) const {
+  return max_min(expr, true, sup_n, sup_d, maximum, g);
 }
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::end() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::end());
+inline bool
+Polyhedron::minimize(const Linear_Expression& expr,
+		     Coefficient& inf_n, Coefficient& inf_d,
+		     bool& minimum) const {
+  Generator g(point());
+  return max_min(expr, false, inf_n, inf_d, minimum, g);
 }
 
 inline bool
-Grid_Generator_System::has_points() const {
-  return Generator_System::has_points();
+Polyhedron::minimize(const Linear_Expression& expr,
+		     Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		     Generator& g) const {
+  return max_min(expr, false, inf_n, inf_d, minimum, g);
 }
 
-inline Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) {
-  return static_cast<Grid_Generator&>(Generator_System::operator[](k));
+inline Constraint_System
+Polyhedron::simplified_constraints() const {
+  PPL_ASSERT(constraints_are_up_to_date());
+  Constraint_System cs(con_sys);
+  if (cs.num_pending_rows() > 0)
+    cs.unset_pending_rows();
+  if (has_pending_constraints() || !constraints_are_minimized())
+    cs.simplify();
+  return cs;
 }
 
-inline const Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Grid_Generator&>(Generator_System::operator[](k));
+inline Congruence_System
+Polyhedron::congruences() const {
+  return Congruence_System(minimized_constraints());
 }
 
-/*! \relates Grid_Generator_System */
-inline bool
-operator==(const Grid_Generator_System& x,
-	   const Grid_Generator_System& y) {
-  return x.is_equal_to(y);
+inline Congruence_System
+Polyhedron::minimized_congruences() const {
+  return Congruence_System(minimized_constraints());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
 inline void
-swap(Parma_Polyhedra_Library::Grid_Generator_System& x,
-     Parma_Polyhedra_Library::Grid_Generator_System& y) {
-  x.swap(y);
+Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 1. */
-/* Bit_Matrix class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 30. */
-#include <vector>
-#include <iosfwd>
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A matrix of bits.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Bit_Matrix {
-public:
-  //! Default constructor.
-  Bit_Matrix();
-
-  //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
-  Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
-
-  //! Copy constructor.
-  Bit_Matrix(const Bit_Matrix& y);
-
-  //! Destructor.
-  ~Bit_Matrix();
-
-  //! Assignment operator.
-  Bit_Matrix& operator=(const Bit_Matrix& y);
-
-  //! Swaps \p *this with \p y.
-  void swap(Bit_Matrix& y);
-
-  //! Subscript operator.
-  Bit_Row& operator[](dimension_type k);
-
-  //! Constant subscript operator.
-  const Bit_Row& operator[](dimension_type k) const;
-
-  //! Clears the matrix deallocating all its rows.
-  void clear();
-
-  //! Transposes the matrix.
-  void transpose();
-
-  //! Makes \p *this a transposed copy of \p y.
-  void transpose_assign(const Bit_Matrix& y);
-
-  //! Returns the maximum number of rows of a Bit_Matrix.
-  static dimension_type max_num_rows();
-
-  //! Returns the number of columns of \p *this.
-  dimension_type num_columns() const;
+template <typename FP_Format, typename Interval_Info>
+inline void
+Polyhedron::generalized_refine_with_linear_form_inequality(
+	    const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+	    const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+            const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right, false);
+    refine_with_linear_form_inequality(right, left, false);
+    break;
+  case LESS_THAN:
+    refine_with_linear_form_inequality(left, right, true);
+    break;
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right, false);
+    break;
+  case GREATER_THAN:
+    refine_with_linear_form_inequality(right, left, true);
+    break;
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left, false);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+}
 
-  //! Returns the number of rows of \p *this.
-  dimension_type num_rows() const;
+template <typename FP_Format, typename Interval_Info>
+inline void
+Polyhedron::
+refine_fp_interval_abstract_store(
+       Box< Interval<FP_Format, Interval_Info> >& store) const {
 
-  //! Sorts the rows and removes duplicates.
-  void sort_rows();
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                     "Polyhedron::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
 
-  //! Looks for \p row in \p *this, which is assumed to be sorted.
-  /*!
-    \return
-    <CODE>true</CODE> if \p row belongs to \p *this, false otherwise.
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
 
-    \param row
-    The row that will be searched for in the matrix.
+}
 
-    Given a sorted bit matrix (this ensures better efficiency),
-    tells whether it contains the given row.
-  */
-  bool sorted_contains(const Bit_Row& row) const;
+/*! \relates Polyhedron */
+inline bool
+operator!=(const Polyhedron& x, const Polyhedron& y) {
+  return !(x == y);
+}
 
-  //! Adds \p row to \p *this.
-  /*!
-    \param row
-    The row whose implementation will be recycled.
+inline bool
+Polyhedron::strictly_contains(const Polyhedron& y) const {
+  const Polyhedron& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
-    The only thing that can be done with \p row upon return is destruction.
-  */
-  void add_recycled_row(Bit_Row& row);
+inline void
+Polyhedron::drop_some_non_integer_points(Complexity_Class complexity) {
+  const Variables_Set* p_vs = 0;
+  drop_some_non_integer_points(p_vs, complexity);
+}
 
-  //! Erases the rows from the \p first_to_erase -th to the last one.
-  void rows_erase_to_end(dimension_type first_to_erase);
+inline void
+Polyhedron::drop_some_non_integer_points(const Variables_Set& vars,
+					 Complexity_Class complexity) {
+  drop_some_non_integer_points(&vars, complexity);
+}
 
-  //! Erases the columns from the \p first_to_erase -th to the last one.
-  void columns_erase_to_end(dimension_type first_to_erase);
 
-  //! Resizes the matrix copying the old contents.
-  void resize(dimension_type new_n_rows, dimension_type new_n_columns);
+namespace Interfaces {
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+inline bool
+is_necessarily_closed_for_interfaces(const Polyhedron& ph) {
+  return ph.is_necessarily_closed();
+}
 
-  PPL_OUTPUT_DECLARATIONS
+} // namespace Interfaces
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+} // namespace Parma_Polyhedra_Library
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 1. */
+/* Polyhedron class implementation: non-inline template functions.
+*/
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
 
-#ifndef NDEBUG
-  //! Checks whether \p *this is sorted. It does NOT check for duplicates.
-  bool check_sorted() const;
-#endif
+/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 1. */
+/* MIP_Problem class declaration.
+*/
 
-private:
-  //! Contains the rows of the matrix.
-  std::vector<Bit_Row> rows;
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 1. */
+/* Matrix class declaration.
+*/
 
-  //! Ordering predicate (used when implementing the sort algorithm).
-  /*! \ingroup PPL_CXX_interface */
-  struct Bit_Row_Less_Than {
-    bool operator()(const Bit_Row& x, const Bit_Row& y) const;
-  };
 
-  friend
-  void Parma_Polyhedra_Library::
-  Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat);
+/* Automatically generated from PPL source file ../src/Matrix.types.hh line 1. */
 
-};
 
 namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Bit_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Bit_Matrix& x, const Bit_Matrix& y);
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
-/*! \relates Bit_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Bit_Matrix& x, const Bit_Matrix& y);
+template <typename Row>
+class Matrix;
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 31. */
+#include <ostream>
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
+//! A sparse matrix of Coefficient.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Bit_Matrix& x,
-	  Parma_Polyhedra_Library::Bit_Matrix& y);
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 1. */
-/* Bit_Matrix class implementation: inline functions.
-*/
+template <typename Row>
+class Parma_Polyhedra_Library::Matrix {
 
+public:
+  typedef typename Swapping_Vector<Row>::iterator iterator;
+  typedef typename Swapping_Vector<Row>::const_iterator const_iterator;
 
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 29. */
+  //! Returns the maximum number of rows of a Sparse_Matrix.
+  static dimension_type max_num_rows();
 
-namespace Parma_Polyhedra_Library {
+  //! Returns the maximum number of columns of a Sparse_Matrix.
+  static dimension_type max_num_columns();
 
-inline
-Bit_Matrix::Bit_Matrix()
-  : rows(),
-    row_size(0) {
-}
+  /*!
+    \brief Constructs a square matrix with the given size, filled with
+           unstored zeroes.
 
-inline dimension_type
-Bit_Matrix::max_num_rows() {
-  return std::vector<Bit_Row>().max_size();
-}
+    \param n
+    The size of the new square matrix.
 
-inline
-Bit_Matrix::Bit_Matrix(const dimension_type n_rows,
-		       const dimension_type n_columns)
-  : rows(n_rows),
-    row_size(n_columns) {
-}
+    This method takes \f$O(n)\f$ time.
+  */
+  explicit Matrix(dimension_type n = 0);
 
-inline
-Bit_Matrix::Bit_Matrix(const Bit_Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size) {
-}
+  /*!
+    \brief Constructs a matrix with the given dimensions, filled with unstored
+           zeroes.
 
-inline
-Bit_Matrix::~Bit_Matrix() {
-}
+    \param num_rows
+    The number of rows in the new matrix.
 
-inline void
-Bit_Matrix::rows_erase_to_end(const dimension_type first_to_erase) {
-  // The first row to be erased cannot be greater
-  // than the actual number of the rows of the matrix.
-  PPL_ASSERT(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
-  PPL_ASSERT(OK());
-}
+    \param num_columns
+    The number of columns in the new matrix.
 
-inline void
-Bit_Matrix::columns_erase_to_end(const dimension_type first_to_erase) {
-  // The first column to be erased cannot be greater
-  // than the actual number of the columns of the matrix.
-  PPL_ASSERT(first_to_erase <= row_size);
-  row_size = first_to_erase;
-  PPL_ASSERT(OK());
-}
+    This method takes \f$O(n)\f$ time, where n is \p num_rows.
+  */
+  Matrix(dimension_type num_rows, dimension_type num_columns);
 
-inline void
-Bit_Matrix::swap(Bit_Matrix& y) {
-  std::swap(row_size, y.row_size);
-  std::swap(rows, y.rows);
-}
+  //! Swaps (*this) with x.
+  /*!
 
-inline Bit_Row&
-Bit_Matrix::operator[](const dimension_type k) {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
-}
+    \param x
+    The matrix that will be swapped with *this.
 
-inline const Bit_Row&
-Bit_Matrix::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
-}
+    This method takes \f$O(1)\f$ time.
+  */
+  void m_swap(Matrix& x);
 
-inline dimension_type
-Bit_Matrix::num_columns() const {
-  return row_size;
-}
+  //! Returns the number of rows in the matrix.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_rows() const;
 
-inline dimension_type
-Bit_Matrix::num_rows() const {
-  return rows.size();
-}
+  //! Returns the number of columns in the matrix.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  dimension_type num_columns() const;
 
-inline void
-Bit_Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Bit_Row>().swap(rows);
-  row_size = 0;
-}
+  // TODO: Check if this can be removed.
+  //! Returns the capacity of the row vector.
+  dimension_type capacity() const;
 
-inline memory_size_type
-Bit_Matrix::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this has no rows.
+  /*!
+    \note
+    The unusual naming for this method is \em intentional:
+    we do not want it to be named \c empty because this would cause
+    an error prone name clash with the corresponding methods in derived
+    classes Constraint_System and Congruence_System (which have a
+    different semantics).
+  */
+  bool has_no_rows() const;
 
-inline bool
-Bit_Matrix::Bit_Row_Less_Than::
-operator()(const Bit_Row& x, const Bit_Row& y) const {
-  return compare(x, y) < 0;
-}
+  //! Equivalent to resize(n, n).
+  void resize(dimension_type n);
 
-inline bool
-Bit_Matrix::sorted_contains(const Bit_Row& row) const {
-  PPL_ASSERT(check_sorted());
-  return std::binary_search(rows.begin(), rows.end(), row,
-			    Bit_Row_Less_Than());
-}
+  // TODO: Check if this can become private.
+  //! Reserves space for at least \p n rows.
+  void reserve_rows(dimension_type n);
 
-/*! \relates Bit_Matrix */
-inline bool
-operator!=(const Bit_Matrix& x, const Bit_Matrix& y) {
-  return !(x == y);
-}
+  //! Resizes this matrix to the specified dimensions.
+  /*!
 
-} // namespace Parma_Polyhedra_Library
+    \param num_rows
+    The desired numer of rows.
 
+    \param num_columns
+    The desired numer of columns.
 
-namespace std {
+    New rows and columns will contain non-stored zeroes.
 
-/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Bit_Matrix& x,
-     Parma_Polyhedra_Library::Bit_Matrix& y) {
-  x.swap(y);
-}
+    This operation invalidates existing iterators.
 
-} // namespace std
+    Adding n rows takes \f$O(n)\f$ amortized time.
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 185. */
+    Adding n columns takes \f$O(r)\f$ time, where r is \p num_rows.
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 1. */
-/* Poly_Gen_Relation class declaration.
-*/
+    Removing n rows takes \f$O(n+k)\f$ amortized time, where k is the total
+    number of elements stored in the removed rows.
 
+    Removing n columns takes \f$O(\sum_{j=1}^{r} (k_j*\log^2 n_j))\f$ time,
+    where r is the number of rows, \f$k_j\f$ is the number of elements stored
+    in the columns of the j-th row that must be removed and \f$n_j\f$ is the
+    total number of elements stored in the j-th row.
+    A weaker (but simpler) bound is \f$O(r+k*\log^2 c)\f$, where r is the
+    number of rows, k is the number of elements that have to be removed and c
+    is the number of columns.
+  */
+  void resize(dimension_type num_rows, dimension_type num_columns);
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.types.hh line 1. */
+  //! Adds \p n rows and \p m columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of rows to be added: must be strictly positive.
 
+    \param m
+    The number of columns to be added: must be strictly positive.
 
-namespace Parma_Polyhedra_Library {
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+n) \times (c+m)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{M}{0} \genfrac{}{}{0pt}{}{0}{0}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
 
-class Poly_Gen_Relation;
+    This method takes \f$O(r)\f$ time, where r is the number of the matrix's
+    rows after the operation.
+  */
+  void add_zero_rows_and_columns(dimension_type n, dimension_type m);
 
-} // namespace Parma_Polyhedra_Library
+  //! Adds to the matrix \p n rows of zeroes.
+  /*!
+    \param n
+    The number of rows to be added: must be strictly positive.
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 29. */
-#include <iosfwd>
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+n) \times c\f$ matrix \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
 
-namespace Parma_Polyhedra_Library {
+    This method takes \f$O(k)\f$ amortized time, where k is the number of the
+    new rows.
+  */
+  void add_zero_rows(dimension_type n);
 
-// Put them in the namespace here to declare them friend later.
+  //! Adds a copy of the row \p x at the end of the matrix.
+  /*!
 
-//! True if and only if \p x and \p y are logically equivalent.
-/*! \relates Poly_Gen_Relation */
-bool operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    \param x
+    The row that will be appended to the matrix.
 
-//! True if and only if \p x and \p y are not logically equivalent.
-/*! \relates Poly_Gen_Relation */
-bool operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    This operation invalidates existing iterators.
 
-//! Yields the logical conjunction of \p x and \p y.
-/*! \relates Poly_Gen_Relation */
-Poly_Gen_Relation operator&&(const Poly_Gen_Relation& x,
-			     const Poly_Gen_Relation& y);
+    This method takes \f$O(n)\f$ amortized time, where n is the numer of
+    elements stored in \p x.
+  */
+  void add_row(const Row& x);
 
-/*! \brief
-  Yields the assertion with all the conjuncts of \p x
-  that are not in \p y.
+  //! Adds the row \p y to the matrix.
+  /*!
+    \param y
+    The row to be added: it must have the same size and capacity as
+    \p *this. It is not declared <CODE>const</CODE> because its
+    data-structures will recycled to build the new matrix row.
 
-  \relates Poly_Gen_Relation
-*/
-Poly_Gen_Relation operator-(const Poly_Gen_Relation& x,
-			    const Poly_Gen_Relation& y);
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+1) \times c\f$ matrix
+    \f$\genfrac{(}{)}{0pt}{}{M}{y}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_recycled_row(Row& y);
 
-namespace IO_Operators {
+  /*! \brief
+    Removes from the matrix the last \p n rows.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Poly_Gen_Relation */
-std::ostream& operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+    \param n
+    The number of row that will be removed.
 
-} // namespace IO_Operators
+    It is equivalent to num_rows() - n, num_columns()).
 
-} // namespace Parma_Polyhedra_Library
+    This method takes \f$O(n+k)\f$ amortized time, where k is the total number
+    of elements stored in the removed rows and n is the number of removed
+    rows.
+  */
+  void remove_trailing_rows(dimension_type n);
 
+  void remove_rows(iterator first, iterator last);
 
-//! The relation between a polyhedron and a generator
-/*! \ingroup PPL_CXX_interface
-  This class implements conjunctions of assertions on the relation
-  between a polyhedron and a generator.
-*/
-class Parma_Polyhedra_Library::Poly_Gen_Relation {
-private:
-  //! Poly_Gen_Relation is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  //! Permutes the columns of the matrix.
+  /*!
+    This method may be slow for some Row types, and should be avoided if
+    possible.
 
-  //! \name Bit-masks for the individual assertions
-  //@{
-  static const flags_t NOTHING  = 0U;
-  static const flags_t SUBSUMES = 1U << 0;
-  //@} // Bit-masks for the individual assertions
+    \param cycles
+    A vector representing the non-trivial cycles of the permutation
+    according to which the columns must be rearranged.
 
-  //! All assertions together.
-  static const flags_t EVERYTHING
-  = SUBSUMES;
+    The \p cycles vector contains, one after the other, the
+    non-trivial cycles (i.e., the cycles of length greater than one)
+    of a permutation of \e non-zero column indexes.  Each cycle is
+    terminated by zero.  For example, assuming the matrix has 7
+    columns, the permutation \f$ \{ 1 \mapsto 3, 2 \mapsto 4,
+    3 \mapsto 6, 4 \mapsto 2, 5 \mapsto 5, 6 \mapsto 1 \}\f$ can be
+    represented by the non-trivial cycles \f$(1 3 6)(2 4)\f$ that, in
+    turn can be represented by a vector of 6 elements containing 1, 3,
+    6, 0, 2, 4, 0.
 
-  //! This holds the current bitset.
-  flags_t flags;
+    This method takes \f$O(k*\sum_{j=1}^{r} \log^2 n_j)\f$ expected time,
+    where k is the size of the \p cycles vector, r the number of rows and
+    \f$n_j\f$ the number of elements stored in row j.
+    A weaker (but simpler) bound is \f$O(k*r*\log^2 c)\f$, where k is the size
+    of the \p cycles vector, r is the number of rows and c is the number of
+    columns.
 
-  //! True if and only if the conjunction \p x implies the conjunction \p y.
-  static bool implies(flags_t x, flags_t y);
+    \note
+    The first column of the matrix, having index zero, is never involved
+    in a permutation.
+  */
+  void permute_columns(const std::vector<dimension_type>& cycles);
 
-  //! Construct from a bit-mask.
-  Poly_Gen_Relation(flags_t mask);
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_columns(dimension_type i,  dimension_type j);
 
-  friend bool
-  operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
-  friend bool
-  operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+  //! Adds \p n columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of columns to be added: must be strictly positive.
 
-  friend Poly_Gen_Relation
-  operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$r \times (c+n)\f$ matrix \f$(M \, 0)\f$.
 
-  friend Poly_Gen_Relation
-  operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    This method takes \f$O(r)\f$ amortized time, where r is the numer of the
+    matrix's rows.
+  */
+  void add_zero_columns(dimension_type n);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::
-  IO_Operators::operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+  //! Adds \p n columns of non-stored zeroes to the matrix before column i.
+  /*!
 
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Access the internal flags: this is needed for some language
-    interfaces.
-  */
-#endif
-  flags_t get_flags() const;
+    \param n
+    The numer of columns that will be added.
 
-public:
-  //! The assertion that says nothing.
-  static Poly_Gen_Relation nothing();
+    \param i
+    The index of the column before which the new columns will be added.
 
-  //! Adding the generator would not change the polyhedron.
-  static Poly_Gen_Relation subsumes();
+    This operation invalidates existing iterators.
 
-  PPL_OUTPUT_DECLARATIONS
+    This method takes \f$O(\sum_{j=1}^{r} (k_j+\log n_j))\f$ time, where r is
+    the number of rows, \f$k_j\f$ is the number of elements stored in the
+    columns of the j-th row that must be shifted and \f$n_j\f$ is the number
+    of elements stored in the j-th row.
+    A weaker (but simpler) bound is \f$O(k+r*\log c)\f$ time, where k is the
+    number of elements that must be shifted, r is the number of the rows and c
+    is the number of the columns.
+  */
+  void add_zero_columns(dimension_type n, dimension_type i);
 
-  //! True if and only if \p *this implies \p y.
-  bool implies(const Poly_Gen_Relation& y) const;
+  //! Removes the i-th from the matrix, shifting other columns to the left.
+  /*!
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+    \param i
+    The index of the column that will be removed.
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.inlines.hh line 1. */
-/* Poly_Gen_Relation class implementation: inline functions.
-*/
+    This operation invalidates existing iterators on rows' elements.
 
+    This method takes \f$O(k + \sum_{j=1}^{r} (\log^2 n_j))\f$ amortized time,
+    where k is the number of elements stored with column index greater than i,
+    r the number of rows in this matrix and \f$n_j\f$ the number of elements
+    stored in row j.
+    A weaker (but simpler) bound is \f$O(r*(c-i+\log^2 c))\f$, where r is the
+    number of rows, c is the number of columns and i is the parameter passed
+    to this method.
+  */
+  void remove_column(dimension_type i);
 
-namespace Parma_Polyhedra_Library {
+  //! Shrinks the matrix by removing its \p n trailing columns.
+  /*!
 
-inline
-Poly_Gen_Relation::Poly_Gen_Relation(flags_t mask)
-  : flags(mask) {
-}
+    \param n
+    The number of trailing columns that will be removed.
 
-inline Poly_Gen_Relation::flags_t
-Poly_Gen_Relation::get_flags() const {
-  return flags;
-}
+    This operation invalidates existing iterators.
 
-inline Poly_Gen_Relation
-Poly_Gen_Relation::nothing() {
-  return Poly_Gen_Relation(NOTHING);
-}
+    This method takes \f$O(\sum_{j=1}^r (k_j*\log n_j))\f$ amortized time,
+    where r is the number of rows, \f$k_j\f$ is the number of elements that
+    have to be removed from row j and \f$n_j\f$ is the total number of
+    elements stored in row j.
+    A weaker (but simpler) bound is \f$O(r*n*\log c)\f$, where r is the number
+    of rows, c the number of columns and n the parameter passed to this
+    method.
+  */
+  void remove_trailing_columns(dimension_type n);
 
-inline Poly_Gen_Relation
-Poly_Gen_Relation::subsumes() {
-  return Poly_Gen_Relation(SUBSUMES);
-}
+  //! Equivalent to resize(0,0).
+  void clear();
 
-inline bool
-Poly_Gen_Relation::implies(flags_t x, flags_t y) {
-  return (x & y) == y;
-}
+  //! Returns an %iterator pointing to the first row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator begin();
 
-inline bool
-Poly_Gen_Relation::implies(const Poly_Gen_Relation& y) const {
-  return implies(flags, y.flags);
-}
+  //! Returns an %iterator pointing after the last row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  iterator end();
 
-/*! \relates Poly_Gen_Relation */
-inline bool
-operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return x.flags == y.flags;
-}
+  //! Returns an %iterator pointing to the first row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator begin() const;
 
-/*! \relates Poly_Gen_Relation */
-inline bool
-operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return x.flags != y.flags;
-}
+  //! Returns an %iterator pointing after the last row.
+  /*!
+    This method takes \f$O(1)\f$ time.
+  */
+  const_iterator end() const;
 
-/*! \relates Poly_Gen_Relation */
-inline Poly_Gen_Relation
-operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return Poly_Gen_Relation(x.flags | y.flags);
-}
+  //! Returns a reference to the i-th row.
+  /*!
+    \param i
+    The index of the desired row.
 
-/*! \relates Poly_Gen_Relation */
-inline Poly_Gen_Relation
-operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return Poly_Gen_Relation(x.flags & ~y.flags);
-}
+    This method takes \f$O(1)\f$ time.
+  */
+  Row& operator[](dimension_type i);
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns a const reference to the i-th row.
+  /*!
+    \param i
+    The index of the desired row.
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 138. */
+    This method takes \f$O(1)\f$ time.
+  */
+  const Row& operator[](dimension_type i) const;
 
-/* Automatically generated from PPL source file ../src/Box.types.hh line 1. */
+  //! Loads the row from an ASCII representation generated using ascii_dump().
+  /*!
+    \param s
+    The stream from which read the ASCII representation.
 
+    This method takes \f$O(n*\log n)\f$ time.
+  */
+  bool ascii_load(std::istream& s);
 
-namespace Parma_Polyhedra_Library {
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename Interval>
-class Box;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  /*!
+    This method is \f$O(r+k)\f$, where r is the number of rows and k is the
+    number of elements stored in the matrix.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns the size in bytes of the memory managed by \p *this.
+  /*!
+    This method is \f$O(r+k)\f$, where r is the number of rows and k is the
+    number of elements stored in the matrix.
+  */
+  memory_size_type external_memory_in_bytes() const;
 
-/* Automatically generated from PPL source file ../src/BD_Shape.types.hh line 1. */
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! The vector that stores the matrix's elements.
+  Swapping_Vector<Row> rows;
 
+  //! The number of columns in this matrix.
+  dimension_type num_columns_;
+};
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-class BD_Shape;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+void swap(Matrix<Row>& x, Matrix<Row>& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+bool operator==(const Matrix<Row>& x, const Matrix<Row>& y);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Row>
+bool operator!=(const Matrix<Row>& x, const Matrix<Row>& y);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.types.hh line 1. */
+
+/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 1. */
+/* Matrix class implementation: inline functions.
+*/
 
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-class Octagonal_Shape;
-
+template <typename Row>
+inline dimension_type
+Matrix<Row>::max_num_rows() {
+  return std::vector<Row>().max_size();
 }
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 51. */
-#include <vector>
-#include <iosfwd>
+template <typename Row>
+inline dimension_type
+Matrix<Row>::max_num_columns() {
+  return Row::max_size();
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename Row>
+inline void
+Matrix<Row>::m_swap(Matrix& x) {
+  using std::swap;
+  swap(rows, x.rows);
+  swap(num_columns_, x.num_columns_);
+}
 
-namespace IO_Operators {
+template <typename Row>
+inline dimension_type
+Matrix<Row>::num_rows() const {
+  return rows.size();
+}
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Polyhedron
-  Writes a textual representation of \p ph on \p s:
-  <CODE>false</CODE> is written if \p ph is an empty polyhedron;
-  <CODE>true</CODE> is written if \p ph is a universe polyhedron;
-  a minimized system of constraints defining \p ph is written otherwise,
-  all constraints in one row separated by ", ".
-*/
-std::ostream&
-operator<<(std::ostream& s, const Polyhedron& ph);
+template <typename Row>
+inline dimension_type
+Matrix<Row>::num_columns() const {
+  return num_columns_;
+}
 
-} // namespace IO_Operators
+template <typename Row>
+inline dimension_type
+Matrix<Row>::capacity() const {
+  return rows.capacity();
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are the same polyhedron.
+template <typename Row>
+inline bool
+Matrix<Row>::has_no_rows() const {
+  return num_rows() == 0;
+}
 
-  \relates Polyhedron
-  Note that \p x and \p y may be topology- and/or dimension-incompatible
-  polyhedra: in those cases, the value <CODE>false</CODE> is returned.
-*/
-bool operator==(const Polyhedron& x, const Polyhedron& y);
+template <typename Row>
+inline void
+Matrix<Row>::resize(dimension_type n) {
+  resize(n, n);
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are different polyhedra.
+template <typename Row>
+inline void
+Matrix<Row>::reserve_rows(dimension_type requested_capacity) {
 
-  \relates Polyhedron
-  Note that \p x and \p y may be topology- and/or dimension-incompatible
-  polyhedra: in those cases, the value <CODE>true</CODE> is returned.
-*/
-bool operator!=(const Polyhedron& x, const Polyhedron& y);
+  rows.reserve(requested_capacity);
+}
 
-namespace Interfaces {
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_rows_and_columns(dimension_type n, dimension_type m) {
+  resize(num_rows() + n, num_columns() + m);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Returns \c true if and only if
-  <code>ph.topology() == NECESSARILY_CLOSED</code>.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool is_necessarily_closed_for_interfaces(const Polyhedron& ph);
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_rows(dimension_type n) {
+  resize(num_rows() + n, num_columns());
+}
 
-} // namespace Interfaces
+template <typename Row>
+inline void
+Matrix<Row>::add_row(const Row& x) {
+  // TODO: Optimize this.
+  Row row(x);
+  add_zero_rows(1);
+  // Now x may have been invalidated, if it was a row of this matrix.
+  swap(rows.back(), row);
+  PPL_ASSERT(OK());
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename Row>
+inline void
+Matrix<Row>::add_recycled_row(Row& x) {
+  add_zero_rows(1);
+  swap(rows.back(), x);
+  PPL_ASSERT(OK());
+}
 
+template <typename Row>
+inline void
+Matrix<Row>::remove_trailing_rows(dimension_type n) {
+  resize(num_rows() - n, num_columns());
+}
 
-//! The base class for convex polyhedra.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Polyhedron represents a convex polyhedron
-  in the vector space \f$\Rset^n\f$.
+template <typename Row>
+inline void
+Matrix<Row>::remove_rows(iterator first, iterator last) {
+  rows.erase(first, last);
+}
 
-  A polyhedron can be specified as either a finite system of constraints
-  or a finite system of generators (see Section \ref representation)
-  and it is always possible to obtain either representation.
-  That is, if we know the system of constraints, we can obtain
-  from this the system of generators that define the same polyhedron
-  and vice versa.
-  These systems can contain redundant members: in this case we say
-  that they are not in the minimal form.
+template <typename Row>
+inline void
+Matrix<Row>::add_zero_columns(dimension_type n) {
+  resize(num_rows(), num_columns() + n);
+}
 
-  Two key attributes of any polyhedron are its topological kind
-  (recording whether it is a C_Polyhedron or an NNC_Polyhedron object)
-  and its space dimension (the dimension \f$n \in \Nset\f$ of
-  the enclosing vector space):
+template <typename Row>
+inline void
+Matrix<Row>::remove_trailing_columns(dimension_type n) {
+  PPL_ASSERT(n <= num_columns());
+  resize(num_rows(), num_columns() - n);
+}
 
-  - all polyhedra, the empty ones included, are endowed with
-    a specific topology and space dimension;
-  - most operations working on a polyhedron and another object
-    (i.e., another polyhedron, a constraint or generator,
-    a set of variables, etc.) will throw an exception if
-    the polyhedron and the object are not both topology-compatible
-    and dimension-compatible (see Section \ref representation);
-  - the topology of a polyhedron cannot be changed;
-    rather, there are constructors for each of the two derived classes
-    that will build a new polyhedron with the topology of that class
-    from another polyhedron from either class and any topology;
-  - the only ways in which the space dimension of a polyhedron can
-    be changed are:
-    - <EM>explicit</EM> calls to operators provided for that purpose;
-    - standard copy, assignment and swap operators.
+template <typename Row>
+inline void
+Matrix<Row>::clear() {
+  resize(0, 0);
+}
 
-  Note that four different polyhedra can be defined on
-  the zero-dimension space:
-  the empty polyhedron, either closed or NNC,
-  and the universe polyhedron \f$R^0\f$, again either closed or NNC.
+template <typename Row>
+inline typename Matrix<Row>::iterator
+Matrix<Row>::begin() {
+  return rows.begin();
+}
 
-  \par
-  In all the examples it is assumed that variables
-  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
-  used) as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  \endcode
+template <typename Row>
+inline typename Matrix<Row>::iterator
+Matrix<Row>::end() {
+  return rows.end();
+}
 
-  \par Example 1
-  The following code builds a polyhedron corresponding to
-  a square in \f$\Rset^2\f$, given as a system of constraints:
-  \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  cs.insert(y >= 0);
-  cs.insert(y <= 3);
-  C_Polyhedron ph(cs);
-  \endcode
-  The following code builds the same polyhedron as above,
-  but starting from a system of generators specifying
-  the four vertices of the square:
-  \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + 3*y));
-  gs.insert(point(3*x + 0*y));
-  gs.insert(point(3*x + 3*y));
-  C_Polyhedron ph(gs);
-  \endcode
+template <typename Row>
+inline typename Matrix<Row>::const_iterator
+Matrix<Row>::begin() const {
+  return rows.begin();
+}
 
-  \par Example 2
-  The following code builds an unbounded polyhedron
-  corresponding to a half-strip in \f$\Rset^2\f$,
-  given as a system of constraints:
-  \code
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x - y <= 0);
-  cs.insert(x - y + 1 >= 0);
-  C_Polyhedron ph(cs);
-  \endcode
-  The following code builds the same polyhedron as above,
-  but starting from the system of generators specifying
-  the two vertices of the polyhedron and one ray:
-  \code
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y));
-  gs.insert(point(0*x + y));
-  gs.insert(ray(x - y));
-  C_Polyhedron ph(gs);
-  \endcode
+template <typename Row>
+inline typename Matrix<Row>::const_iterator
+Matrix<Row>::end() const {
+  return rows.end();
+}
 
-  \par Example 3
-  The following code builds the polyhedron corresponding to
-  a half-plane by adding a single constraint
-  to the universe polyhedron in \f$\Rset^2\f$:
-  \code
-  C_Polyhedron ph(2);
-  ph.add_constraint(y >= 0);
-  \endcode
-  The following code builds the same polyhedron as above,
-  but starting from the empty polyhedron in the space \f$\Rset^2\f$
-  and inserting the appropriate generators
-  (a point, a ray and a line).
-  \code
-  C_Polyhedron ph(2, EMPTY);
-  ph.add_generator(point(0*x + 0*y));
-  ph.add_generator(ray(y));
-  ph.add_generator(line(x));
-  \endcode
-  Note that, although the above polyhedron has no vertices, we must add
-  one point, because otherwise the result of the Minkowski's sum
-  would be an empty polyhedron.
-  To avoid subtle errors related to the minimization process,
-  it is required that the first generator inserted in an empty
-  polyhedron is a point (otherwise, an exception is thrown).
+template <typename Row>
+inline Row&
+Matrix<Row>::operator[](dimension_type i) {
+  PPL_ASSERT(i < rows.size());
+  return rows[i];
+}
 
-  \par Example 4
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_embed</CODE>:
-  \code
-  C_Polyhedron ph(1);
-  ph.add_constraint(x == 2);
-  ph.add_space_dimensions_and_embed(1);
-  \endcode
-  We build the universe polyhedron in the 1-dimension space \f$\Rset\f$.
-  Then we add a single equality constraint,
-  thus obtaining the polyhedron corresponding to the singleton set
-  \f$\{ 2 \} \sseq \Rset\f$.
-  After the last line of code, the resulting polyhedron is
-  \f[
-    \bigl\{\,
-      (2, y)^\transpose \in \Rset^2
-    \bigm|
-      y \in \Rset
-    \,\bigr\}.
-  \f]
+template <typename Row>
+inline const Row&
+Matrix<Row>::operator[](dimension_type i) const {
+  PPL_ASSERT(i < rows.size());
+  return rows[i];
+}
 
-  \par Example 5
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_project</CODE>:
-  \code
-  C_Polyhedron ph(1);
-  ph.add_constraint(x == 2);
-  ph.add_space_dimensions_and_project(1);
-  \endcode
-  The first two lines of code are the same as in Example 4 for
-  <CODE>add_space_dimensions_and_embed</CODE>.
-  After the last line of code, the resulting polyhedron is
-  the singleton set
-  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
+template <typename Row>
+inline memory_size_type
+Matrix<Row>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  \par Example 6
-  The following code shows the use of the function
-  <CODE>affine_image</CODE>:
-  \code
-  C_Polyhedron ph(2, EMPTY);
-  ph.add_generator(point(0*x + 0*y));
-  ph.add_generator(point(0*x + 3*y));
-  ph.add_generator(point(3*x + 0*y));
-  ph.add_generator(point(3*x + 3*y));
-  Linear_Expression expr = x + 4;
-  ph.affine_image(x, expr);
-  \endcode
-  In this example the starting polyhedron is a square in
-  \f$\Rset^2\f$, the considered variable is \f$x\f$ and the affine
-  expression is \f$x+4\f$.  The resulting polyhedron is the same
-  square translated to the right.  Moreover, if the affine
-  transformation for the same variable \p x is \f$x+y\f$:
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting polyhedron is a parallelogram with the height equal to
-  the side of the square and the oblique sides parallel to the line
-  \f$x-y\f$.
-  Instead, if we do not use an invertible transformation for the same
-  variable; for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting polyhedron is a diagonal of the square.
+template <typename Row>
+inline void
+swap(Matrix<Row>& x, Matrix<Row>& y) {
+  x.m_swap(y);
+}
 
-  \par Example 7
-  The following code shows the use of the function
-  <CODE>affine_preimage</CODE>:
-  \code
-  C_Polyhedron ph(2);
-  ph.add_constraint(x >= 0);
-  ph.add_constraint(x <= 3);
-  ph.add_constraint(y >= 0);
-  ph.add_constraint(y <= 3);
-  Linear_Expression expr = x + 4;
-  ph.affine_preimage(x, expr);
-  \endcode
-  In this example the starting polyhedron, \p var and the affine
-  expression and the denominator are the same as in Example 6,
-  while the resulting polyhedron is again the same square,
-  but translated to the left.
-  Moreover, if the affine transformation for \p x is \f$x+y\f$
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting polyhedron is a parallelogram with the height equal to
-  the side of the square and the oblique sides parallel to the line
-  \f$x+y\f$.
-  Instead, if we do not use an invertible transformation for the same
-  variable \p x, for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting polyhedron is a line that corresponds to the \f$y\f$ axis.
+} // namespace Parma_Polyhedra_Library
 
-  \par Example 8
-  For this example we use also the variables:
-  \code
-  Variable z(2);
-  Variable w(3);
-  \endcode
-  The following code shows the use of the function
-  <CODE>remove_space_dimensions</CODE>:
-  \code
-  Generator_System gs;
-  gs.insert(point(3*x + y +0*z + 2*w));
-  C_Polyhedron ph(gs);
-  Variables_Set vars;
-  vars.insert(y);
-  vars.insert(z);
-  ph.remove_space_dimensions(vars);
-  \endcode
-  The starting polyhedron is the singleton set
-  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
-  the resulting polyhedron is
-  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
-  Be careful when removing space dimensions <EM>incrementally</EM>:
-  since dimensions are automatically renamed after each application
-  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
-  results can be obtained.
-  For instance, by using the following code we would obtain
-  a different result:
-  \code
-  set<Variable> vars1;
-  vars1.insert(y);
-  ph.remove_space_dimensions(vars1);
-  set<Variable> vars2;
-  vars2.insert(z);
-  ph.remove_space_dimensions(vars2);
-  \endcode
-  In this case, the result is the polyhedron
-  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p vars2
-  we are actually removing variable \f$w\f$ of the original polyhedron.
-  For the same reason, the operator \p remove_space_dimensions
-  is not idempotent: removing twice the same non-empty set of dimensions
-  is never the same as removing them just once.
+/* Automatically generated from PPL source file ../src/Matrix.templates.hh line 1. */
+/* Matrix class implementation: non-inline template functions.
 */
 
-class Parma_Polyhedra_Library::Polyhedron {
-public:
-  //! The numeric type of coefficients.
-  typedef Coefficient coefficient_type;
-
-  //! Returns the maximum space dimension all kinds of Polyhedron can handle.
-  static dimension_type max_space_dimension();
-
-  /*! \brief
-    Returns \c true indicating that this domain has methods that
-    can recycle constraints.
-  */
-  static bool can_recycle_constraint_systems();
 
-  //! Initializes the class.
-  static void initialize();
+namespace Parma_Polyhedra_Library {
 
-  //! Finalizes the class.
-  static void finalize();
+template <typename Row>
+Matrix<Row>::Matrix(dimension_type n)
+  : rows(n), num_columns_(n) {
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].resize(num_columns_);
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns \c false indicating that this domain cannot recycle congruences.
-  */
-  static bool can_recycle_congruence_systems();
+template <typename Row>
+Matrix<Row>::Matrix(dimension_type num_rows, dimension_type num_columns)
+  : rows(num_rows), num_columns_(num_columns) {
+  for (dimension_type i = 0; i < rows.size(); ++i)
+    rows[i].resize(num_columns_);
+  PPL_ASSERT(OK());
+}
 
-protected:
-  //! Builds a polyhedron having the specified properties.
-  /*!
-    \param topol
-    The topology of the polyhedron;
+template <typename Row>
+void
+Matrix<Row>::resize(dimension_type num_rows, dimension_type num_columns) {
+  const dimension_type old_num_rows = rows.size();
+  rows.resize(num_rows);
+  if (old_num_rows < num_rows) {
+    for (dimension_type i = old_num_rows; i < num_rows; ++i)
+      rows[i].resize(num_columns);
+    if (num_columns_ != num_columns) {
+      num_columns_ = num_columns;
+      for (dimension_type i = 0; i < old_num_rows; ++i)
+        rows[i].resize(num_columns);
+    }
+  } else
+    if (num_columns_ != num_columns) {
+      num_columns_ = num_columns;
+      for (dimension_type i = 0; i < num_rows; ++i)
+        rows[i].resize(num_columns);
+    }
+  PPL_ASSERT(OK());
+}
 
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the polyhedron;
+template <typename Row>
+void
+Matrix<Row>::permute_columns(const std::vector<dimension_type>& cycles) {
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+  const dimension_type n = cycles.size();
+  PPL_ASSERT(cycles[n - 1] == 0);
+  for (dimension_type k = num_rows(); k-- > 0; ) {
+    Row& rows_k = (*this)[k];
+    for (dimension_type i = 0, j = 0; i < n; i = ++j) {
+      // Make `j' be the index of the next cycle terminator.
+      while (cycles[j] != 0)
+        ++j;
+      // Cycles of length less than 2 are not allowed.
+      PPL_ASSERT(j - i >= 2);
+      if (j - i == 2)
+        // For cycles of length 2 no temporary is needed, just a swap.
+        rows_k.swap_coefficients(cycles[i], cycles[i + 1]);
+      else {
+        // Longer cycles need a temporary.
+        tmp = rows_k.get(cycles[j - 1]);
+        for (dimension_type l = (j - 1); l > i; --l)
+          rows_k.swap_coefficients(cycles[l-1], cycles[l]);
+        if (tmp == 0)
+          rows_k.reset(cycles[i]);
+        else {
+          using std::swap;
+          swap(tmp, rows_k[cycles[i]]);
+        }
+      }
+    }
+  }
+}
 
-    \param kind
-    Specifies whether the universe or the empty polyhedron has to be built.
-  */
-  Polyhedron(Topology topol,
-	     dimension_type num_dimensions,
-	     Degenerate_Element kind);
+template <typename Row>
+void
+Matrix<Row>::swap_columns(dimension_type i, dimension_type j) {
+  for (dimension_type k = num_rows(); k-- > 0; )
+    (*this)[k].swap_coefficients(i, j);
+}
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Polyhedron(const Polyhedron& y,
-             Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename Row>
+void
+Matrix<Row>::add_zero_columns(dimension_type n, dimension_type i) {
+  for (dimension_type j = rows.size(); j-- > 0; )
+    rows[j].add_zeroes_and_shift(n, i);
+  num_columns_ += n;
+  PPL_ASSERT(OK());
+}
 
-  //! Builds a polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename Row>
+void
+Matrix<Row>::remove_column(dimension_type i) {
+  for (dimension_type j = rows.size(); j-- > 0; )
+    rows[j].delete_element_and_shift(i);
+  --num_columns_;
+  PPL_ASSERT(OK());
+}
 
-    \param topol
-    The topology of the polyhedron;
+template <typename Row>
+void
+Matrix<Row>::ascii_dump(std::ostream& s) const {
+  s << num_rows() << " x ";
+  s << num_columns() << "\n";
+  for (const_iterator i = begin(), i_end = end(); i !=i_end; ++i)
+    i->ascii_dump(s);
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(Row, Matrix<Row>)
 
-    \exception std::invalid_argument
-    Thrown if the topology of \p cs is incompatible with \p topol.
-  */
-  Polyhedron(Topology topol, const Constraint_System& cs);
+template <typename Row>
+bool
+Matrix<Row>::ascii_load(std::istream& s) {
+  std::string str;
+  dimension_type new_num_rows;
+  dimension_type new_num_cols;
+  if (!(s >> new_num_rows))
+    return false;
+  if (!(s >> str) || str != "x")
+    return false;
+  if (!(s >> new_num_cols))
+    return false;
 
-  //! Builds a polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+  for (iterator i = rows.begin(), i_end = rows.end(); i != i_end; ++i)
+    i->clear();
 
-    \param topol
-    The topology of the polyhedron;
+  resize(new_num_rows, new_num_cols);
 
-    \param cs
-    The system of constraints defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+  for (dimension_type row = 0; row < new_num_rows; ++row)
+    if (!rows[row].ascii_load(s))
+      return false;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-    \exception std::invalid_argument
-    Thrown if the topology of \p cs is incompatible with \p topol.
-  */
-  Polyhedron(Topology topol, Constraint_System& cs, Recycle_Input dummy);
+template <typename Row>
+memory_size_type
+Matrix<Row>::external_memory_in_bytes() const {
+  return rows.external_memory_in_bytes();
+}
 
-  //! Builds a polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename Row>
+bool
+Matrix<Row>::OK() const {
+  for (const_iterator i = begin(), i_end = end(); i != i_end; ++i)
+    if (i->size() != num_columns_)
+      return false;
+  return true;
+}
 
-    \param topol
-    The topology of the polyhedron;
+/*! \relates Parma_Polyhedra_Library::Matrix */
+template <typename Row>
+bool
+operator==(const Matrix<Row>& x, const Matrix<Row>& y) {
+  if (x.num_rows() != y.num_rows())
+    return false;
+  if (x.num_columns() != y.num_columns())
+    return false;
+  for (dimension_type i = x.num_rows(); i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
+}
 
-    \param gs
-    The system of generators defining the polyhedron.
+/*! \relates Parma_Polyhedra_Library::Matrix */
+template <typename Row>
+bool
+operator!=(const Matrix<Row>& x, const Matrix<Row>& y) {
+  return !(x == y);
+}
 
-    \exception std::invalid_argument
-    Thrown if the topology of \p gs is incompatible with \p topol,
-    or if the system of generators is not empty but has no points.
-  */
-  Polyhedron(Topology topol, const Generator_System& gs);
+} // namespace Parma_Polyhedra_Library
 
-  //! Builds a polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 436. */
 
-    \param topol
-    The topology of the polyhedron;
+/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 37. */
+#include <vector>
+#include <deque>
+#include <iterator>
+#include <iosfwd>
 
-    \param gs
-    The system of generators defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+namespace Parma_Polyhedra_Library {
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+namespace IO_Operators {
 
-    \exception std::invalid_argument
-    Thrown if the topology of \p gs is incompatible with \p topol,
-    or if the system of generators is not empty but has no points.
-  */
-  Polyhedron(Topology topol, Generator_System& gs, Recycle_Input dummy);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::MIP_Problem */
+std::ostream&
+operator<<(std::ostream& s, const MIP_Problem& mip);
 
-  //! Builds a polyhedron from a box.
-  /*!
-    This will use an algorithm whose complexity is polynomial and build
-    the smallest polyhedron with topology \p topol containing \p box.
+} // namespace IO_Operators
 
-    \param topol
-    The topology of the polyhedron;
+//! Swaps \p x with \p y.
+/*! \relates MIP_Problem */
+void swap(MIP_Problem& x, MIP_Problem& y);
 
-    \param box
-    The box representing the polyhedron to be built;
+} // namespace Parma_Polyhedra_Library
 
-    \param complexity
-    This argument is ignored.
-  */
-  template <typename Interval>
-  Polyhedron(Topology topol, const Box<Interval>& box,
-             Complexity_Class complexity = ANY_COMPLEXITY);
+//! A Mixed Integer (linear) Programming problem.
+/*! \ingroup PPL_CXX_interface
+  An object of this class encodes a mixed integer (linear) programming
+  problem.
+  The MIP problem is specified by providing:
+   - the dimension of the vector space;
+   - the feasible region, by means of a finite set of linear equality
+     and non-strict inequality constraints;
+   - the subset of the unknown variables that range over the integers
+     (the other variables implicitly ranging over the reals);
+   - the objective function, described by a Linear_Expression;
+   - the optimization mode (either maximization or minimization).
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  Polyhedron& operator=(const Polyhedron& y);
+  The class provides support for the (incremental) solution of the
+  MIP problem based on variations of the revised simplex method and
+  on branch-and-bound techniques. The result of the resolution
+  process is expressed in terms of an enumeration, encoding the
+  feasibility and the unboundedness of the optimization problem.
+  The class supports simple feasibility tests (i.e., no optimization),
+  as well as the extraction of an optimal (resp., feasible) point,
+  provided the MIP_Problem is optimizable (resp., feasible).
 
+  By exploiting the incremental nature of the solver, it is possible
+  to reuse part of the computational work already done when solving
+  variants of a given MIP_Problem: currently, incremental resolution
+  supports the addition of space dimensions, the addition of constraints,
+  the change of objective function and the change of optimization mode.
+*/
+class Parma_Polyhedra_Library::MIP_Problem {
 public:
-  //! \name Member Functions that Do Not Modify the Polyhedron
-  //@{
+  //! Builds a trivial MIP problem.
+  /*!
+    A trivial MIP problem requires to maximize the objective function
+    \f$0\f$ on a vector space under no constraints at all:
+    the origin of the vector space is an optimal solution.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
-    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
-    of \p *this.
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
   */
-  dimension_type affine_dimension() const;
-
-  //! Returns the system of constraints.
-  const Constraint_System& constraints() const;
+  explicit MIP_Problem(dimension_type dim = 0);
 
-  //! Returns the system of constraints, with no redundant constraint.
-  const Constraint_System& minimized_constraints() const;
+  /*! \brief
+    Builds an MIP problem having space dimension \p dim
+    from the sequence of constraints in the range
+    \f$[\mathrm{first}, \mathrm{last})\f$,
+    the objective function \p obj and optimization mode \p mode;
+    those dimensions whose indices occur in \p int_vars are
+    constrained to take an integer value.
 
-  //! Returns the system of generators.
-  const Generator_System& generators() const;
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-  //! Returns the system of generators, with no redundant generator.
-  const Generator_System& minimized_generators() const;
+    \param first
+    An input iterator to the start of the sequence of constraints.
 
-  //! Returns a system of (equality) congruences satisfied by \p *this.
-  Congruence_System congruences() const;
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
 
-  /*! \brief
-    Returns a system of (equality) congruences satisfied by \p *this,
-    with no redundant congruences and having the same affine dimension
-    as \p *this.
-  */
-  Congruence_System minimized_congruences() const;
+    \param int_vars
+    The set of variables' indexes that are constrained to take integer values.
 
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System grid_generators() const;
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System minimized_grid_generators() const;
+    \param mode
+    The optimization mode (optional argument with default value
+    <CODE>MAXIMIZATION</CODE>).
 
-  /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the constraint \p c.
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
     \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
+    Thrown if a constraint in the sequence is a strict inequality,
+    if the space dimension of a constraint (resp., of the
+    objective function or of the integer variables) or the space dimension
+    of the integer variable set is strictly greater than \p dim.
   */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  template <typename In>
+  MIP_Problem(dimension_type dim,
+              In first, In last,
+              const Variables_Set& int_vars,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
   /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the generator \p g.
+    Builds an MIP problem having space dimension \p dim
+    from the sequence of constraints in the range
+    \f$[\mathrm{first}, \mathrm{last})\f$,
+    the objective function \p obj and optimization mode \p mode.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-  /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the congruence \p c.
+    \param first
+    An input iterator to the start of the sequence of constraints.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is
-    an empty polyhedron.
-  */
-  bool is_empty() const;
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a universe polyhedron.
-  */
-  bool is_universe() const;
+    \param mode
+    The optimization mode (optional argument with default value
+    <CODE>MAXIMIZATION</CODE>).
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a topologically closed subset of the vector space.
-  */
-  bool is_topologically_closed() const;
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
-  /*!
     \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool is_disjoint_from(const Polyhedron& y) const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a bounded polyhedron.
+    Thrown if a constraint in the sequence is a strict inequality
+    or if the space dimension of a constraint (resp., of the
+    objective function or of the integer variables) is strictly
+    greater than \p dim.
   */
-  bool is_bounded() const;
+  template <typename In>
+  MIP_Problem(dimension_type dim,
+              In first, In last,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+    Builds an MIP problem having space dimension \p dim from the constraint
+    system \p cs, the objective function \p obj and optimization mode \p mode.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+    \param cs
+    The constraint system defining the feasible region.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+    \param mode
+    The optimization mode (optional argument with default value
+    <CODE>MAXIMIZATION</CODE>).
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Thrown if the constraint system contains any strict inequality
+    or if the space dimension of the constraint system (resp., the
+    objective function) is strictly greater than \p dim.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
-
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value is computed.
+  MIP_Problem(dimension_type dim,
+              const Constraint_System& cs,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  //! Ordinary copy constructor.
+  MIP_Problem(const MIP_Problem& y);
 
-    \param sup_n
-    The numerator of the supremum value;
+  //! Destructor.
+  ~MIP_Problem();
 
-    \param sup_d
-    The denominator of the supremum value;
+  //! Assignment operator.
+  MIP_Problem& operator=(const MIP_Problem& y);
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+  //! Returns the maximum space dimension an MIP_Problem can handle.
+  static dimension_type max_space_dimension();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! Returns the space dimension of the MIP problem.
+  dimension_type space_dimension() const;
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
-    and \p maximum are left untouched.
+  /*! \brief
+    Returns a set containing all the variables' indexes constrained
+    to be integral.
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  const Variables_Set& integer_space_dimensions() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value and a point where \p expr reaches it are computed.
+private:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint*> Constraint_Sequence;
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+public:
+  //! A read-only iterator on the constraints defining the feasible region.
+  class const_iterator {
+  private:
+    typedef Constraint_Sequence::const_iterator Base;
+    typedef std::iterator_traits<Base> Base_Traits;
+  public:
+    typedef Base_Traits::iterator_category iterator_category;
+    typedef Base_Traits::difference_type difference_type;
+    typedef const Constraint value_type;
+    typedef const Constraint* pointer;
+    typedef const Constraint& reference;
 
-    \param sup_n
-    The numerator of the supremum value;
+    //! Iterator difference: computes distances.
+    difference_type operator-(const const_iterator& y) const;
 
-    \param sup_d
-    The denominator of the supremum value;
+    //! Prefix increment.
+    const_iterator& operator++();
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+    //! Prefix decrement.
+    const_iterator& operator--();
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+    //! Postfix increment.
+    const_iterator operator++(int);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    //! Postfix decrement.
+    const_iterator operator--(int);
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p g are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& g) const;
+    //! Moves iterator forward of \p n positions.
+    const_iterator& operator+=(difference_type n);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value is computed.
+    //! Moves iterator backward of \p n positions.
+    const_iterator& operator-=(difference_type n);
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+    //! Returns an iterator \p n positions forward.
+    const_iterator operator+(difference_type n) const;
 
-    \param inf_n
-    The numerator of the infimum value;
+    //! Returns an iterator \p n positions backward.
+    const_iterator operator-(difference_type n) const;
 
-    \param inf_d
-    The denominator of the infimum value;
+    //! Returns a reference to the "pointed" object.
+    reference operator*() const;
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+    //! Returns the address of the "pointed" object.
+    pointer operator->() const;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    //! Compares \p *this with y.
+    /*!
+      \param y
+      The %iterator that will be compared with *this.
+    */
+    bool operator==(const const_iterator& y) const;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+    //! Compares \p *this with y.
+    /*!
+      \param y
+      The %iterator that will be compared with *this.
+    */
+    bool operator!=(const const_iterator& y) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value and a point where \p expr reaches it are computed.
+  private:
+    //! Constructor from a Base iterator.
+    explicit const_iterator(Base base);
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+    //! The Base iterator on the Constraint_Sequence.
+    Base itr;
 
-    \param inf_n
-    The numerator of the infimum value;
+    friend class MIP_Problem;
+  };
 
-    \param inf_d
-    The denominator of the infimum value;
+  /*! \brief
+    Returns a read-only iterator to the first constraint defining
+    the feasible region.
+  */
+  const_iterator constraints_begin() const;
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+  /*! \brief
+    Returns a past-the-end read-only iterator to the sequence of
+    constraints defining the feasible region.
+  */
+  const_iterator constraints_end() const;
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+  //! Returns the objective function.
+  const Linear_Expression& objective_function() const;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! Returns the optimization mode.
+  Optimization_Mode optimization_mode() const;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p g are left untouched.
+  //! Resets \p *this to be equal to the trivial MIP problem.
+  /*!
+    The space dimension is reset to \f$0\f$.
   */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& g) const;
+  void clear();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if there exist a
-    unique value \p val such that \p *this
-    saturates the equality <CODE>expr = val</CODE>.
-
-    \param expr
-    The linear expression for which the frequency is needed;
+    Adds \p m new space dimensions and embeds the old MIP problem
+    in the new vector space.
 
-    \param freq_n
-    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
-    Present for interface compatibility with class Grid, where
-    the \ref Grid_Frequency "frequency" can have a non-zero value;
+    \param m
+    The number of dimensions to add.
 
-    \param freq_d
-    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-    \param val_n
-    The numerator of \p val;
+    The new space dimensions will be those having the highest indexes
+    in the new MIP problem; they are initially unconstrained.
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-    \param val_d
-    The denominator of \p val;
+  /*! \brief
+    Sets the variables whose indexes are in set \p i_vars to be
+    integer space dimensions.
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Thrown if some index in \p i_vars does not correspond to
+    a space dimension in \p *this.
+  */
+  void add_to_integer_space_dimensions(const Variables_Set& i_vars);
 
-    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
+  /*! \brief
+    Adds a copy of constraint \p c to the MIP problem.
+
+    \exception std::invalid_argument
+    Thrown if the constraint \p c is a strict inequality or if its space
+    dimension is strictly greater than the space dimension of \p *this.
   */
-  bool frequency(const Linear_Expression& expr,
-                 Coefficient& freq_n, Coefficient& freq_d,
-                 Coefficient& val_n, Coefficient& val_d) const;
+  void add_constraint(const Constraint& c);
+
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the MIP problem.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
-  /*!
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    Thrown if the constraint system \p cs contains any strict inequality
+    or if its space dimension is strictly greater than the space dimension
+    of \p *this.
   */
-  bool contains(const Polyhedron& y) const;
+  void add_constraints(const Constraint_System& cs);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+  //! Sets the objective function to \p obj.
   /*!
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    Thrown if the space dimension of \p obj is strictly greater than
+    the space dimension of \p *this.
   */
-  bool strictly_contains(const Polyhedron& y) const;
+  void set_objective_function(const Linear_Expression& obj);
 
-  //! Checks if all the invariants are satisfied.
+  //! Sets the optimization mode to \p mode.
+  void set_optimization_mode(Optimization_Mode mode);
+
+  //! Checks satisfiability of \p *this.
   /*!
     \return
-    <CODE>true</CODE> if and only if \p *this satisfies all the
-    invariants and either \p check_not_empty is <CODE>false</CODE> or
-    \p *this is not empty.
-
-    \param check_not_empty
-    <CODE>true</CODE> if and only if, in addition to checking the
-    invariants, \p *this must be checked to be not empty.
+    <CODE>true</CODE> if and only if the MIP problem is satisfiable.
+  */
+  bool is_satisfiable() const;
 
-    The check is performed so as to intrude as little as possible.  If
-    the library has been compiled with run-time assertions enabled,
-    error messages are written on <CODE>std::cerr</CODE> in case
-    invariants are violated. This is useful for the purpose of
-    debugging the library.
+  //! Optimizes the MIP problem.
+  /*!
+    \return
+    An MIP_Problem_Status flag indicating the outcome of the optimization
+    attempt (unfeasible, unbounded or optimized problem).
   */
-  bool OK(bool check_not_empty = false) const;
+  MIP_Problem_Status solve() const;
 
-  //@} // Member Functions that Do Not Modify the Polyhedron
+  /*! \brief
+    Sets \p num and \p denom so that
+    \f$\frac{\mathtt{numer}}{\mathtt{denom}}\f$ is the result of
+    evaluating the objective function on \p evaluating_point.
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Polyhedron
-  //@{
+    \param evaluating_point
+    The point on which the objective function will be evaluated.
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    of \p *this (without minimizing the result).
+    \param numer
+    On exit will contain the numerator of the evaluated value.
 
-    \param c
-    The constraint that will be added to the system of
-    constraints of \p *this.
+    \param denom
+    On exit will contain the denominator of the evaluated value.
 
     \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
+    Thrown if \p *this and \p evaluating_point are dimension-incompatible
+    or if the generator \p evaluating_point is not a point.
   */
-  void add_constraint(const Constraint& c);
+  void evaluate_objective_function(const Generator& evaluating_point,
+                                   Coefficient& numer,
+                                   Coefficient& denom) const;
 
-  /*! \brief
-    Adds a copy of generator \p g to the system of generators
-    of \p *this (without minimizing the result).
+  //! Returns a feasible point for \p *this, if it exists.
+  /*!
+    \exception std::domain_error
+    Thrown if the MIP problem is not satisfiable.
+  */
+  const Generator& feasible_point() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are topology-incompatible or
-    dimension-incompatible, or if \p *this is an empty polyhedron and
-    \p g is not a point.
+  //! Returns an optimal point for \p *this, if it exists.
+  /*!
+    \exception std::domain_error
+    Thrown if \p *this does not not have an optimizing point, i.e.,
+    if the MIP problem is unbounded or not satisfiable.
   */
-  void add_generator(const Generator& g);
+  const Generator& optimizing_point() const;
 
   /*! \brief
-    Adds a copy of congruence \p cg to \p *this,
-    if \p cg can be exactly represented by a polyhedron.
+    Sets \p numer and \p denom so that
+    \f$\frac{\mathtt{numer}}{\mathtt{denom}}\f$ is the solution of the
+    optimization problem.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    of if \p cg is a proper congruence which is neither a tautology,
-    nor a contradiction.
+    \exception std::domain_error
+    Thrown if \p *this does not not have an optimizing point, i.e.,
+    if the MIP problem is unbounded or not satisfiable.
   */
-  void add_congruence(const Congruence& cg);
+  void optimal_value(Coefficient& numer, Coefficient& denom) const;
 
-  /*! \brief
-    Adds a copy of the constraints in \p cs to the system
-    of constraints of \p *this (without minimizing the result).
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-    \param cs
-    Contains the constraints that will be added to the system of
-    constraints of \p *this.
+  PPL_OUTPUT_DECLARATIONS
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  void add_constraints(const Constraint_System& cs);
+  bool ascii_load(std::istream& s);
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this (without minimizing the result).
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
+  //! Swaps \p *this with \p y.
+  void m_swap(MIP_Problem& y);
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_constraints(Constraint_System& cs);
+  //! Names of MIP problems' control parameters.
+  enum Control_Parameter_Name {
+    //! The pricing rule.
+    PRICING
+  };
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system
-    of generators of \p *this (without minimizing the result).
+  //! Possible values for MIP problem's control parameters.
+  enum Control_Parameter_Value {
+    //! Steepest edge pricing method, using floating points (default).
+    PRICING_STEEPEST_EDGE_FLOAT,
+    //! Steepest edge pricing method, using Coefficient.
+    PRICING_STEEPEST_EDGE_EXACT,
+    //! Textbook pricing method.
+    PRICING_TEXTBOOK
+  };
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+  //! Returns the value of the control parameter \p name.
+  Control_Parameter_Value
+  get_control_parameter(Control_Parameter_Name name) const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the system of
-    generators \p gs is not empty, but has no points.
-  */
-  void add_generators(const Generator_System& gs);
+  //! Sets control parameter \p value.
+  void set_control_parameter(Control_Parameter_Value value);
 
-  /*! \brief
-    Adds the generators in \p gs to the system of generators
-    of \p *this (without minimizing the result).
+private:
+  //! The dimension of the vector space.
+  dimension_type external_space_dim;
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+  /*! \brief
+    The space dimension of the current (partial) solution of the
+    MIP problem; it may be smaller than \p external_space_dim.
+  */
+  dimension_type internal_space_dim;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the system of
-    generators \p gs is not empty, but has no points.
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
 
-    \warning
-    The only assumption that can be made on \p gs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_generators(Generator_System& gs);
+  //! The matrix encoding the current feasible region in tableau form.
+  Matrix<Row> tableau;
 
-  /*! \brief
-    Adds a copy of the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron.
+  typedef Row working_cost_type;
 
-    \param cgs
-    The congruences to be added.
+  //! The working cost function.
+  working_cost_type working_cost;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction.
+  //! A map between the variables of `input_cs' and `tableau'.
+  /*!
+    Contains all the pairs (i, j) such that mapping[i].first encodes the index
+    of the column in the tableau where input_cs[i] is stored; if
+    mapping[i].second is not a zero, it encodes the split part of the tableau
+    of input_cs[i].
+    The "positive" one is represented by mapping[i].first and the "negative"
+    one is represented by mapping[i].second.
   */
-  void add_congruences(const Congruence_System& cgs);
+  std::vector<std::pair<dimension_type, dimension_type> > mapping;
 
-  /*! \brief
-    Adds the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron.
+  //! The current basic solution.
+  std::vector<dimension_type> base;
 
-    \param cgs
-    The congruences to be added. Its elements may be recycled.
+  //! An enumerated type describing the internal status of the MIP problem.
+  enum Status {
+    //! The MIP problem is unsatisfiable.
+    UNSATISFIABLE,
+    //! The MIP problem is satisfiable; a feasible solution has been computed.
+    SATISFIABLE,
+    //! The MIP problem is unbounded; a feasible solution has been computed.
+    UNBOUNDED,
+    //! The MIP problem is optimized; an optimal solution has been computed.
+    OPTIMIZED,
+    /*! \brief
+      The feasible region of the MIP problem has been changed by adding
+      new space dimensions or new constraints; a feasible solution for
+      the old feasible region is still available.
+    */
+    PARTIALLY_SATISFIABLE
+  };
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    of if there exists in \p cgs a proper congruence which is
-    neither a tautology, nor a contradiction
+  //! The internal state of the MIP problem.
+  Status status;
 
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+  // TODO: merge `status', `initialized', `pricing' and (maybe) `opt_mode'
+  // into a single bitset status word, so as to save space and allow
+  // for other control parameters.
 
-  /*! \brief
-    Uses a copy of constraint \p c to refine \p *this.
+  //! The pricing method in use.
+  Control_Parameter_Value pricing;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  /*! \brief
+    A Boolean encoding whether or not internal data structures have
+    already been properly sized and populated: useful to allow for
+    deeper checks in method OK().
   */
-  void refine_with_constraint(const Constraint& c);
+  bool initialized;
+
+  //! The sequence of constraints describing the feasible region.
+  std::vector<Constraint*> input_cs;
 
   /*! \brief
-    Uses a copy of congruence \p cg to refine \p *this.
+    The number of constraints that are inherited from our parent
+    in the recursion tree built when solving via branch-and-bound.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+    The first \c inherited_constraints elements in \c input_cs point to
+    the inherited constraints, whose resources are owned by our ancestors.
+    The resources of the other elements in \c input_cs are owned by \c *this
+    and should be appropriately released on destruction.
   */
-  void refine_with_congruence(const Congruence& cg);
+  dimension_type inherited_constraints;
 
-  /*! \brief
-    Uses a copy of the constraints in \p cs to refine \p *this.
+  //! The first index of `input_cs' containing a pending constraint.
+  dimension_type first_pending_constraint;
 
-    \param cs
-    Contains the constraints used to refine the system of
-    constraints of \p *this.
+  //! The objective function to be optimized.
+  Linear_Expression input_obj_function;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+  //! The optimization mode requested.
+  Optimization_Mode opt_mode;
+
+  //! The last successfully computed feasible or optimizing point.
+  Generator last_generator;
 
   /*! \brief
-    Uses a copy of the congruences in \p cgs to refine \p *this.
+    A set containing all the indexes of variables that are constrained
+    to have an integer value.
+  */
+  Variables_Set i_variables;
 
-    \param cgs
-    Contains the congruences used to refine the system of
-    constraints of \p *this.
+  //! A helper class to temporarily relax a MIP problem using RAII.
+  struct RAII_Temporary_Real_Relaxation {
+    MIP_Problem& lp;
+    Variables_Set i_vars;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+    RAII_Temporary_Real_Relaxation(MIP_Problem& mip)
+      : lp(mip), i_vars() {
+      // Turn mip into an LP problem (saving i_variables in i_vars).
+      using std::swap;
+      swap(i_vars, lp.i_variables);
+    }
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+    ~RAII_Temporary_Real_Relaxation() {
+      // Restore the original set of integer variables.
+      using std::swap;
+      swap(i_vars, lp.i_variables);
+    }
+  };
+  friend struct RAII_Temporary_Real_Relaxation;
 
-    \param var
-    The space dimension that will be unconstrained.
+  //! A tag type to distinguish normal vs. inheriting copy constructor.
+  struct Inherit_Constraints {};
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+  //! Copy constructor inheriting constraints.
+  MIP_Problem(const MIP_Problem& y, Inherit_Constraints);
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
+  //! Helper method: implements exception safe addition.
+  void add_constraint_helper(const Constraint& c);
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+  //! Processes the pending constraints of \p *this.
+  /*!
+    \return
+    <CODE>true</CODE> if and only if the MIP problem is satisfiable after
+    processing the pending constraints, <CODE>false</CODE> otherwise.
+  */
+  bool process_pending_constraints();
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
+  /*! \brief
+    Optimizes the MIP problem using the second phase of the
+    primal simplex algorithm.
   */
-  void unconstrain(const Variables_Set& vars);
+  void second_phase();
 
   /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y.
+    Assigns to \p this->tableau a simplex tableau representing the
+    MIP problem, inserting into \p this->mapping the information
+    that is required to recover the original MIP problem.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \return
+    <CODE>UNFEASIBLE_MIP_PROBLEM</CODE> if the constraint system contains
+    any trivially unfeasible constraint (tableau was not computed);
+    <CODE>UNBOUNDED_MIP_PROBLEM</CODE> if the problem is trivially unbounded
+    (the computed tableau contains no constraints);
+    <CODE>OPTIMIZED_MIP_PROBLEM></CODE> if the problem is neither trivially
+    unfeasible nor trivially unbounded (the tableau was computed
+    successfully).
   */
-  void intersection_assign(const Polyhedron& y);
+  MIP_Problem_Status
+  compute_tableau(std::vector<dimension_type>& worked_out_row);
 
   /*! \brief
-    Assigns to \p *this the poly-hull of \p *this and \p y.
+    Parses the pending constraints to gather information on
+    how to resize the tableau.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  void poly_hull_assign(const Polyhedron& y);
+    \note
+    All of the method parameters are output parameters; their value
+    is only meaningful when the function exit returning value \c true.
 
-  //! Same as poly_hull_assign(y).
-  void upper_bound_assign(const Polyhedron& y);
+    \return
+    \c false if a trivially false constraint is detected, \c true otherwise.
 
-  /*! \brief
-    Assigns to \p *this
-    the \ref Convex_Polyhedral_Difference "poly-difference"
-    of \p *this and \p y.
+    \param additional_tableau_rows
+    On exit, this will store the number of rows that have to be added
+    to the original tableau.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  void poly_difference_assign(const Polyhedron& y);
+    \param additional_slack_variables
+    This will store the number of slack variables that have to be added
+    to the original tableau.
 
-  //! Same as poly_difference_assign(y).
-  void difference_assign(const Polyhedron& y);
+    \param is_tableau_constraint
+    This container of Boolean flags is initially empty. On exit, it size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if the constraint has to be included
+    in the tableau.
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+    \param is_satisfied_inequality
+    This container of Boolean flags is initially empty. On exit, its size
+    will be equal to the number of pending constraints in \c input_cs.
+    For each pending constraint index \c i, the corresponding element
+    of this container (having index <CODE>i - first_pending_constraint</CODE>)
+    will be set to \c true if and only if it is an inequality and it
+    is already satisfied by \c last_generator (hence it does not require
+    the introduction of an artificial variable).
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \param is_nonnegative_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c external_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable is known to be nonnegative (and hence should
+    not be split into a positive and a negative part).
+
+    \param is_remergeable_variable
+    This container of Boolean flags is initially empty.
+    On exit, it size is equal to \c internal_space_dim.
+    For each variable (index), the corresponding element of this container
+    is \c true if the variable was previously split into positive and
+    negative parts that can now be merged back, since it is known
+    that the variable is nonnegative.
   */
-  bool simplify_using_context_assign(const Polyhedron& y);
+  bool parse_constraints(dimension_type& additional_tableau_rows,
+			 dimension_type& additional_slack_variables,
+			 std::deque<bool>& is_tableau_constraint,
+			 std::deque<bool>& is_satisfied_inequality,
+			 std::deque<bool>& is_nonnegative_variable,
+			 std::deque<bool>& is_remergeable_variable) const;
 
   /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine image"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
-
-    \param var
-    The variable to which the affine expression is assigned;
-
-    \param expr
-    The numerator of the affine expression;
+    Computes the row index of the variable exiting the base
+    of the MIP problem. Implemented with anti-cycling rule.
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+    \return
+    The row index of the variable exiting the base.
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
+    \param entering_var_index
+    The column index of the variable entering the base.
+  */
+  dimension_type
+  get_exiting_base_index(dimension_type entering_var_index) const;
 
-    \if Include_Implementation_Details
+  //! Linearly combines \p x with \p y so that <CODE>*this[k]</CODE> is 0.
+  /*!
+    \param x
+    The row that will be combined with \p y object.
 
-    When considering the generators of a polyhedron, the
-    affine transformation
-    \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
-    \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
+    \param y
+    The row that will be combined with \p x object.
 
-    If constraints are up-to-date, it uses the specialized function
-    affine_preimage() (for the system of constraints)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation we use the following observation.
+    \param k
+    The position of \p *this that have to be \f$0\f$.
 
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-	   = a_\mathrm{var} x_\mathrm{var}
-	     + \sum_{i \neq var} a_i x_i + b,
-       \f]
-       so that the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-             - \sum_{i \neq j} a_i x_i - b.
-       \f]
+    Computes a linear combination of \p x and \p y having
+    the element of index \p k equal to \f$0\f$. Then it assigns
+    the resulting Row to \p x and normalizes it.
+  */
+  static void linear_combine(Row& x, const Row& y, const dimension_type k);
 
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only generators remain
-    up-to-date.
+  // TODO: Remove this when the sparse working cost has been tested enough.
+#if PPL_USE_SPARSE_MATRIX
 
-    In other words, if \f$R\f$ is a \f$m_1 \times n\f$ matrix representing
-    the rays of the polyhedron, \f$V\f$ is a \f$m_2 \times n\f$
-    matrix representing the points of the polyhedron and
-    \f[
-      P = \bigl\{\,
-            \vect{x} = (x_0, \ldots, x_{n-1})^\mathrm{T}
-          \bigm|
-            \vect{x} = \vect{\lambda} R + \vect{\mu} V,
-	    \vect{\lambda} \in \Rset^{m_1}_+,
-	    \vect{\mu} \in \Rset^{m_2}_+,
-	    \sum_{i = 0}^{m_2 - 1} \mu_i = 1
-          \,\bigr\}
-    \f]
-    and \f$T\f$ is the affine transformation to apply to \f$P\f$, then
-    the resulting polyhedron is
-    \f[
-      P' = \bigl\{\,
-             (x_0, \ldots, T(x_0, \ldots, x_{n-1}),
-                     \ldots, x_{n-1})^\mathrm{T}
-           \bigm|
-             (x_0, \ldots, x_{n-1})^\mathrm{T} \in P
-           \,\bigr\}.
-    \f]
+  //! Linearly combines \p x with \p y so that <CODE>*this[k]</CODE> is 0.
+  /*!
+    \param x
+    The row that will be combined with \p y object.
 
-    Affine transformations are, for example:
-    - translations
-    - rotations
-    - symmetries.
-    \endif
+    \param y
+    The row that will be combined with \p x object.
+
+    \param k
+    The position of \p *this that have to be \f$0\f$.
+
+    Computes a linear combination of \p x and \p y having
+    the element of index \p k equal to \f$0\f$. Then it assigns
+    the resulting Dense_Row to \p x and normalizes it.
   */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		      = Coefficient_one());
+  static void linear_combine(Dense_Row& x, const Sparse_Row& y,
+                             const dimension_type k);
+
+#endif // defined(PPL_USE_SPARSE_MATRIX)
+
+  static bool is_unbounded_obj_function(
+    const Linear_Expression& obj_function,
+    const std::vector<std::pair<dimension_type, dimension_type> >& mapping,
+    Optimization_Mode optimization_mode);
 
   /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine preimage"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
+    Performs the pivoting operation on the tableau.
 
-    \param var
-    The variable to which the affine expression is substituted;
+    \param entering_var_index
+    The index of the variable entering the base.
 
-    \param expr
-    The numerator of the affine expression;
+    \param exiting_base_index
+    The index of the row exiting the base.
+  */
+  void pivot(dimension_type entering_var_index,
+             dimension_type exiting_base_index);
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+  /*! \brief
+    Computes the column index of the variable entering the base,
+    using the textbook algorithm with anti-cycling rule.
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
+    \return
+    The column index of the variable that enters the base.
+    If no such variable exists, optimality was achieved
+    and <CODE>0</CODE> is returned.
+  */
+  dimension_type textbook_entering_index() const;
 
-    \if Include_Implementation_Details
+  /*! \brief
+    Computes the column index of the variable entering the base,
+    using an exact steepest-edge algorithm with anti-cycling rule.
 
-    When considering constraints of a polyhedron, the affine transformation
+    \return
+    The column index of the variable that enters the base.
+    If no such variable exists, optimality was achieved
+    and <CODE>0</CODE> is returned.
+
+    To compute the entering_index, the steepest edge algorithm chooses
+    the index `j' such that \f$\frac{d_{j}}{\|\Delta x^{j} \|}\f$ is the
+    largest in absolute value, where
     \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
+      \|\Delta x^{j} \|
+        = \left(
+            1+\sum_{i=1}^{m} \alpha_{ij}^2
+          \right)^{\frac{1}{2}}.
     \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
+    Recall that, due to the exact integer implementation of the algorithm,
+    our tableau does not contain the ``real'' \f$\alpha\f$ values, but these
+    can be computed dividing the value of the coefficient by the value of
+    the variable in base. Obviously the result may not be an integer, so
+    we will proceed in another way: we compute the lcm of all the variables
+    in base to get the good ``weight'' of each Coefficient of the tableau.
+  */
+  dimension_type steepest_edge_exact_entering_index() const;
 
-    If generators are up-to-date, then the specialized function
-    affine_image() is used (for the system of generators)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation, we use the following observation.
+  /*! \brief
+    Same as steepest_edge_exact_entering_index,
+    but using floating points.
 
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-           = a_\mathrm{var} x_\mathrm{var}
-               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
-       \f],
-       the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-               - \sum_{i \neq j} a_i x_i - b.
-       \f].
+    \note
+    Due to rounding errors, the index of the variable entering the base
+    of the MIP problem is not predictable across different architectures.
+    Hence, the overall simplex computation may differ in the path taken
+    to reach the optimum. Anyway, the exact final result will be computed
+    for the MIP_Problem.
+  */
+  dimension_type steepest_edge_float_entering_index() const;
 
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only constraints remain
-    up-to-date.
+  /*! \brief
+    Returns <CODE>true</CODE> if and if only the algorithm successfully
+    computed a feasible solution.
 
-    In other words, if \f$A\f$ is a \f$m \times n\f$ matrix representing
-    the constraints of the polyhedron, \f$T\f$ is the affine transformation
-    to apply to \f$P\f$ and
-    \f[
-      P = \bigl\{\,
-            \vect{x} = (x_0, \ldots, x_{n-1})^\mathrm{T}
-          \bigm|
-            A\vect{x} \geq \vect{0}
-          \,\bigr\}.
-    \f]
-    The resulting polyhedron is
-    \f[
-      P' = \bigl\{\,
-             \vect{x} = (x_0, \ldots, x_{n-1}))^\mathrm{T}
-           \bigm|
-             A'\vect{x} \geq \vect{0}
-           \,\bigr\},
-    \f]
-    where \f$A'\f$ is defined as follows:
-    \f[
-      {a'}_{ij}
-        = \begin{cases}
-            a_{ij} * \mathrm{denominator} + a_{i\mathrm{var}}*\mathrm{expr}[j]
-              \quad \mathrm{for } j \neq \mathrm{var}; \\
-            \mathrm{expr}[\mathrm{var}] * a_{i\mathrm{var}},
-              \quad \text{for } j = \mathrm{var}.
-          \end{cases}
-    \f]
-    \endif
+    \note
+    Uses an exact pricing method (either textbook or exact steepest edge),
+    so that the result is deterministic across different architectures.
   */
-  void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+  bool compute_simplex_using_exact_pricing();
 
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+    Returns <CODE>true</CODE> if and if only the algorithm successfully
+    computed a feasible solution.
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+    \note
+    Uses a floating point implementation of the steepest edge pricing
+    method, so that the result is correct, but not deterministic across
+    different architectures.
+  */
+  bool compute_simplex_using_steepest_edge_float();
 
-    \param relsym
-    The relation symbol;
+  /*! \brief
+    Drop unnecessary artificial variables from the tableau and get ready
+    for the second phase of the simplex algorithm.
 
-    \param expr
-    The numerator of the right hand side affine expression;
+    \note
+    The two parameters denote a STL-like half-open range.
+    It is assumed that \p begin_artificials is strictly greater than 0
+    and smaller than \p end_artificials.
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+    \param begin_artificials
+    The start of the tableau column index range for artificial variables.
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+    \param end_artificials
+    The end of the tableau column index range for artificial variables.
+    Note that column index end_artificial is \e excluded from the range.
   */
-  void generalized_affine_image(Variable var,
-				Relation_Symbol relsym,
-				const Linear_Expression& expr,
-				Coefficient_traits::const_reference denominator
-				= Coefficient_one());
+  void erase_artificials(dimension_type begin_artificials,
+                         dimension_type end_artificials);
+
+  bool is_in_base(dimension_type var_index,
+		  dimension_type& row_index) const;
 
   /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+    Computes a valid generator that satisfies all the constraints of the
+    Linear Programming problem associated to \p *this.
+  */
+  void compute_generator() const;
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+  /*! \brief
+    Merges back the positive and negative part of a (previously split)
+    variable after detecting a corresponding nonnegativity constraint.
 
-    \param relsym
-    The relation symbol;
+    \return
+    If the negative part of \p var_index was in base, the index of
+    the corresponding tableau row (which has become non-feasible);
+    otherwise \c not_a_dimension().
 
-    \param expr
-    The numerator of the right hand side affine expression;
+    \param var_index
+    The index of the variable that has to be merged.
+  */
+  dimension_type merge_split_variable(dimension_type var_index);
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+  //! Returns <CODE>true</CODE> if and only if \p c is satisfied by \p g.
+  static bool is_satisfied(const Constraint& c, const Generator& g);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
-  */
-  void
-  generalized_affine_preimage(Variable var,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator
-			      = Coefficient_one());
+  //! Returns <CODE>true</CODE> if and only if \p c is saturated by \p g.
+  static bool is_saturated(const Constraint& c, const Generator& g);
 
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+    Returns a status that encodes the solution of the MIP problem.
 
-    \param lhs
-    The left hand side affine expression;
+    \param have_incumbent_solution
+    It is used to store if the solving process has found a provisional
+    optimum point.
 
-    \param relsym
-    The relation symbol;
+    \param incumbent_solution_value
+    Encodes the evaluated value of the provisional optimum point found.
 
-    \param rhs
-    The right hand side affine expression.
+    \param incumbent_solution_point
+    If the method returns `OPTIMIZED', this will contain the optimality point.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+    \param mip
+    The problem that has to be solved.
+
+    \param i_vars
+    The variables that are constrained to take an integer value.
   */
-  void generalized_affine_image(const Linear_Expression& lhs,
-				Relation_Symbol relsym,
-				const Linear_Expression& rhs);
+  static MIP_Problem_Status solve_mip(bool& have_incumbent_solution,
+                                      mpq_class& incumbent_solution_value,
+                                      Generator& incumbent_solution_point,
+                                      MIP_Problem& mip,
+                                      const Variables_Set& i_vars);
 
   /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+    Returns \c true if and if only the LP problem is satisfiable.
+  */
+  bool is_lp_satisfiable() const;
 
-    \param lhs
-    The left hand side affine expression;
+  /*! \brief
+    Returns \c true if and if only the MIP problem \p mip is satisfiable
+    when variables in \p i_vars can only take integral values.
 
-    \param relsym
-    The relation symbol;
+    \param mip
+    The MIP problem. This is assumed to have no integral space dimension
+    (so that it is a pure LP problem).
 
-    \param rhs
-    The right hand side affine expression.
+    \param i_vars
+    The variables that are constrained to take integral values.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+    \param p
+    If \c true is returned, it will encode a feasible point.
   */
-  void generalized_affine_preimage(const Linear_Expression& lhs,
-				   Relation_Symbol relsym,
-				   const Linear_Expression& rhs);
+  static bool is_mip_satisfiable(MIP_Problem& mip,
+                                 const Variables_Set& i_vars,
+                                 Generator& p);
 
-  /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+  /*! \brief
+    Returns \c true if and if only \c mip.last_generator satisfies all the
+    integrality conditions implicitly stated using by \p i_vars.
 
-    \param var
-    The variable updated by the affine relation;
+    \param mip
+    The MIP problem. This is assumed to have no integral space dimension
+    (so that it is a pure LP problem).
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+    \param i_vars
+    The variables that are constrained to take an integer value.
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+    \param branching_index
+    If \c false is returned, this will encode the non-integral variable
+    index on which the `branch and bound' algorithm should be applied.
+  */
+  static bool choose_branching_variable(const MIP_Problem& mip,
+                                        const Variables_Set& i_vars,
+                                        dimension_type& branching_index);
+};
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 1. */
+/* MIP_Problem class implementation: inline functions.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 28. */
+#include <stdexcept>
 
-    \param var
-    The variable updated by the affine relation;
+namespace Parma_Polyhedra_Library {
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+inline dimension_type
+MIP_Problem::max_space_dimension() {
+  return Constraint::max_space_dimension();
+}
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+inline dimension_type
+MIP_Problem::space_dimension() const {
+  return external_space_dim;
+}
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
+inline
+MIP_Problem::MIP_Problem(const MIP_Problem& y)
+  : external_space_dim(y.external_space_dim),
+    internal_space_dim(y.internal_space_dim),
+    tableau(y.tableau),
+    working_cost(y.working_cost),
+    mapping(y.mapping),
+    base(y.base),
+    status(y.status),
+    pricing(y.pricing),
+    initialized(y.initialized),
+    input_cs(),
+    inherited_constraints(0),
+    first_pending_constraint(),
+    input_obj_function(y.input_obj_function),
+    opt_mode(y.opt_mode),
+    last_generator(y.last_generator),
+    i_variables(y.i_variables) {
+  input_cs.reserve(y.input_cs.size());
+  for (Constraint_Sequence::const_iterator
+       i = y.input_cs.begin(), i_end = y.input_cs.end();
+       i != i_end; ++i)
+    add_constraint_helper(*(*i));
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+inline
+MIP_Problem::MIP_Problem(const MIP_Problem& y, Inherit_Constraints)
+  : external_space_dim(y.external_space_dim),
+    internal_space_dim(y.internal_space_dim),
+    tableau(y.tableau),
+    working_cost(y.working_cost),
+    mapping(y.mapping),
+    base(y.base),
+    status(y.status),
+    pricing(y.pricing),
+    initialized(y.initialized),
+    input_cs(y.input_cs),
+    // NOTE: The constraints are inherited, NOT copied!
+    inherited_constraints(y.input_cs.size()),
+    first_pending_constraint(y.first_pending_constraint),
+    input_obj_function(y.input_obj_function),
+    opt_mode(y.opt_mode),
+    last_generator(y.last_generator),
+    i_variables(y.i_variables) {
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  void time_elapse_assign(const Polyhedron& y);
+inline void
+MIP_Problem::add_constraint_helper(const Constraint& c) {
+  // For exception safety, reserve space for the new element.
+  const dimension_type size = input_cs.size();
+  if (size == input_cs.capacity()) {
+    const dimension_type max_size = input_cs.max_size();
+    if (size == max_size)
+      throw std::length_error("MIP_Problem::add_constraint(): "
+                              "too many constraints");
+    // Use an exponential grow policy to avoid too many reallocations.
+    input_cs.reserve(compute_capacity(size + 1, max_size));
+  }
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
+  // This operation does not throw, because the space for the new element
+  // has already been reserved: hence the new-ed Constraint is safe.
+  input_cs.push_back(new Constraint(c));
+}
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+inline
+MIP_Problem::~MIP_Problem() {
+  // NOTE: do NOT delete inherited constraints; they are owned
+  // (and will eventually be deleted) by ancestors.
+  for (Constraint_Sequence::const_iterator
+         i = nth_iter(input_cs, inherited_constraints),
+         i_end = input_cs.end(); i != i_end; ++i)
+    delete *i;
+}
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+inline void
+MIP_Problem::set_optimization_mode(const Optimization_Mode mode) {
+  if (opt_mode != mode) {
+    opt_mode = mode;
+    if (status == UNBOUNDED || status == OPTIMIZED)
+      status = SATISFIABLE;
+    PPL_ASSERT(OK());
+  }
+}
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+inline const Linear_Expression&
+MIP_Problem::objective_function() const {
+  return input_obj_function;
+}
 
-    \param pcs
-    Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
-    variables not in \p vars, the behavior is undefined.
-    When non-null, the pointed-to constraint system is assumed to
-    represent the conditional or looping construct guard with respect
-    to which wrapping is performed.  Since wrapping requires the
-    computation of upper bounds and due to non-distributivity of
-    constraint refinement over upper bounds, passing a constraint
-    system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+inline Optimization_Mode
+MIP_Problem::optimization_mode() const {
+  return opt_mode;
+}
+
+inline void
+MIP_Problem::optimal_value(Coefficient& numer, Coefficient& denom) const {
+  const Generator& g = optimizing_point();
+  evaluate_objective_function(g, numer, denom);
+}
+
+inline MIP_Problem::const_iterator
+MIP_Problem::constraints_begin() const {
+  return const_iterator(input_cs.begin());
+}
+
+inline MIP_Problem::const_iterator
+MIP_Problem::constraints_end() const {
+  return const_iterator(input_cs.end());
+}
+
+inline const Variables_Set&
+MIP_Problem::integer_space_dimensions() const {
+  return i_variables;
+}
 
-    \param complexity_threshold
-    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
-    higher values result in possibly improved precision.
+inline MIP_Problem::Control_Parameter_Value
+MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
+  PPL_USED(name);
+  PPL_ASSERT(name == PRICING);
+  return pricing;
+}
 
-    \param wrap_individually
-    <CODE>true</CODE> if the dimensions should be wrapped individually
-    (something that results in much greater efficiency to the detriment of
-    precision).
+inline void
+MIP_Problem::set_control_parameter(Control_Parameter_Value value) {
+  pricing = value;
+}
 
-    \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
-    \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
-  */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+inline void
+MIP_Problem::m_swap(MIP_Problem& y) {
+  using std::swap;
+  swap(external_space_dim, y.external_space_dim);
+  swap(internal_space_dim, y.internal_space_dim);
+  swap(tableau, y.tableau);
+  swap(working_cost, y.working_cost);
+  swap(mapping, y.mapping);
+  swap(initialized, y.initialized);
+  swap(base, y.base);
+  swap(status, y.status);
+  swap(pricing, y.pricing);
+  swap(input_cs, y.input_cs);
+  swap(inherited_constraints, y.inherited_constraints);
+  swap(first_pending_constraint, y.first_pending_constraint);
+  swap(input_obj_function, y.input_obj_function);
+  swap(opt_mode, y.opt_mode);
+  swap(last_generator, y.last_generator);
+  swap(i_variables, y.i_variables);
+}
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
+inline MIP_Problem&
+MIP_Problem::operator=(const MIP_Problem& y) {
+  MIP_Problem tmp(y);
+  m_swap(tmp);
+  return *this;
+}
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+inline void
+MIP_Problem::clear() {
+  MIP_Problem tmp;
+  m_swap(tmp);
+}
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
+inline memory_size_type
+MIP_Problem::external_memory_in_bytes() const {
+  memory_size_type n
+    = working_cost.external_memory_in_bytes()
+    + tableau.external_memory_in_bytes()
+    + input_obj_function.external_memory_in_bytes()
+    + last_generator.external_memory_in_bytes();
 
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
+  // Adding the external memory for `input_cs'.
+  // NOTE: disregard inherited constraints, as they are owned by ancestors.
+  n += input_cs.capacity() * sizeof(Constraint*);
+  for (Constraint_Sequence::const_iterator
+         i = nth_iter(input_cs, inherited_constraints),
+         i_end = input_cs.end(); i != i_end; ++i)
+    n += ((*i)->total_memory_in_bytes());
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+  // Adding the external memory for `base'.
+  n += base.capacity() * sizeof(dimension_type);
+  // Adding the external memory for `mapping'.
+  n += mapping.capacity() * sizeof(std::pair<dimension_type, dimension_type>);
+  return n;
+}
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+inline memory_size_type
+MIP_Problem::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+inline
+MIP_Problem::const_iterator::const_iterator(Base base)
+  : itr(base) {
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref BHRZ03_widening "BHRZ03-widening" between \p *this and \p y.
+inline MIP_Problem::const_iterator::difference_type
+MIP_Problem::const_iterator::operator-(const const_iterator& y) const {
+  return itr - y.itr;
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator++() {
+  ++itr;
+  return *this;
+}
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator--() {
+  --itr;
+  return *this;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  void BHRZ03_widening_assign(const Polyhedron& y, unsigned* tp = 0);
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator++(int) {
+  const_iterator x = *this;
+  operator++();
+  return x;
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref limited_extrapolation "limited extrapolation"
-    between \p *this and \p y using the \ref BHRZ03_widening
-    "BHRZ03-widening" operator.
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator--(int) {
+  const_iterator x = *this;
+  operator--();
+  return x;
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator+(difference_type n) const {
+  return const_iterator(itr + n);
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+inline MIP_Problem::const_iterator
+MIP_Problem::const_iterator::operator-(difference_type n) const {
+  return const_iterator(itr - n);
+}
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator+=(difference_type n) {
+  itr += n;
+  return *this;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void limited_BHRZ03_extrapolation_assign(const Polyhedron& y,
-					   const Constraint_System& cs,
-					   unsigned* tp = 0);
+inline MIP_Problem::const_iterator&
+MIP_Problem::const_iterator::operator-=(difference_type n) {
+  itr -= n;
+  return *this;
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref bounded_extrapolation "bounded extrapolation"
-    between \p *this and \p y using the \ref BHRZ03_widening
-    "BHRZ03-widening" operator.
+inline MIP_Problem::const_iterator::reference
+MIP_Problem::const_iterator::operator*() const {
+  return *(*itr);
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline MIP_Problem::const_iterator::pointer
+MIP_Problem::const_iterator::operator->() const {
+  return *itr;
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+inline bool
+MIP_Problem::const_iterator::operator==(const const_iterator& y) const {
+  return itr == y.itr;
+}
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+inline bool
+MIP_Problem::const_iterator::operator!=(const const_iterator& y) const {
+  return itr != y.itr;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void bounded_BHRZ03_extrapolation_assign(const Polyhedron& y,
-					   const Constraint_System& cs,
-					   unsigned* tp = 0);
+/*! \relates MIP_Problem */
+inline void
+swap(MIP_Problem& x, MIP_Problem& y) {
+  x.m_swap(y);
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref H79_widening "H79_widening" between \p *this and \p y.
+} // namespace Parma_Polyhedra_Library
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 1. */
+/* MIP_Problem class implementation: non-inline template functions.
+*/
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  void H79_widening_assign(const Polyhedron& y, unsigned* tp = 0);
+/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 28. */
 
-  //! Same as H79_widening_assign(y, tp).
-  void widening_assign(const Polyhedron& y, unsigned* tp = 0);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref limited_extrapolation "limited extrapolation"
-    between \p *this and \p y using the \ref H79_widening
-    "H79-widening" operator.
+template <typename In>
+MIP_Problem::MIP_Problem(const dimension_type dim,
+                         In first, In last,
+                         const Variables_Set& int_vars,
+                         const Linear_Expression& obj,
+                         const Optimization_Mode mode)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    tableau(),
+    working_cost(0),
+    mapping(),
+    base(),
+    status(PARTIALLY_SATISFIABLE),
+    pricing(PRICING_STEEPEST_EDGE_FLOAT),
+    initialized(false),
+    input_cs(),
+    inherited_constraints(0),
+    first_pending_constraint(0),
+    input_obj_function(obj),
+    opt_mode(mode),
+    last_generator(point()),
+    i_variables(int_vars) {
+  // Check that integer Variables_Set does not exceed the space dimension
+  // of the problem.
+  if (i_variables.space_dimension() > external_space_dim) {
+    std::ostringstream s;
+    s << "PPL::MIP_Problem::MIP_Problem"
+      << "(dim, first, last, int_vars, obj, mode):\n"
+      << "dim == "<< external_space_dim << " and int_vars.space_dimension() =="
+      << " " << i_variables.space_dimension() << " are dimension"
+      "incompatible.";
+    throw std::invalid_argument(s.str());
+  }
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::MIP_Problem:: MIP_Problem(dim, first, "
+                            "last, int_vars, obj, mode):\n"
+                            "dim exceeds the maximum allowed"
+                            "space dimension.");
+  // Check the objective function.
+  if (obj.space_dimension() > dim) {
+    std::ostringstream s;
+    s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
+      << "int_vars, obj, mode):\n"
+      << "obj.space_dimension() == "<< obj.space_dimension()
+      << " exceeds d == "<< dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+  // Check the constraints.
+  try {
+    for (In i = first; i != last; ++i) {
+      if (i->is_strict_inequality())
+        throw std::invalid_argument("PPL::MIP_Problem::"
+                                    "MIP_Problem(dim, first, last, int_vars,"
+                                    "obj, mode):\nrange [first, last) contains"
+                                    "a strict inequality constraint.");
+      if (i->space_dimension() > dim) {
+        std::ostringstream s;
+        s << "PPL::MIP_Problem::"
+          << "MIP_Problem(dim, first, last, int_vars, obj, mode):\n"
+          << "range [first, last) contains a constraint having space"
+          << "dimension  == " << i->space_dimension() << " that exceeds"
+          "this->space_dimension == " << dim << ".";
+        throw std::invalid_argument(s.str());
+      }
+      add_constraint_helper(*i);
+    }
+  } catch (...) {
+    // Delete the allocated constraints, to avoid memory leaks.
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+    for (Constraint_Sequence::const_iterator
+          i = input_cs.begin(), i_end = input_cs.end(); i != i_end; ++i)
+      delete *i;
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+    throw;
+  }
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void limited_H79_extrapolation_assign(const Polyhedron& y,
-					const Constraint_System& cs,
-					unsigned* tp = 0);
+template <typename In>
+MIP_Problem::MIP_Problem(dimension_type dim,
+                         In first, In last,
+                         const Linear_Expression& obj,
+                         Optimization_Mode mode)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    tableau(),
+    working_cost(0),
+    mapping(),
+    base(),
+    status(PARTIALLY_SATISFIABLE),
+    pricing(PRICING_STEEPEST_EDGE_FLOAT),
+    initialized(false),
+    input_cs(),
+    inherited_constraints(0),
+    first_pending_constraint(0),
+    input_obj_function(obj),
+    opt_mode(mode),
+    last_generator(point()),
+    i_variables() {
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::MIP_Problem::"
+                            "MIP_Problem(dim, first, last, obj, mode):\n"
+                            "dim exceeds the maximum allowed space "
+                            "dimension.");
+  // Check the objective function.
+  if (obj.space_dimension() > dim) {
+    std::ostringstream s;
+    s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
+      << " obj, mode):\n"
+      << "obj.space_dimension() == "<< obj.space_dimension()
+      << " exceeds d == "<< dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+  // Check the constraints.
+  try {
+    for (In i = first; i != last; ++i) {
+      if (i->is_strict_inequality())
+        throw std::invalid_argument("PPL::MIP_Problem::"
+                                    "MIP_Problem(dim, first, last, obj, mode):"
+                                    "\n"
+                                    "range [first, last) contains a strict "
+                                    "inequality constraint.");
+      if (i->space_dimension() > dim) {
+        std::ostringstream s;
+        s << "PPL::MIP_Problem::"
+          << "MIP_Problem(dim, first, last, obj, mode):\n"
+          << "range [first, last) contains a constraint having space"
+          << "dimension" << " == " << i->space_dimension() << " that exceeds"
+          "this->space_dimension == " << dim << ".";
+        throw std::invalid_argument(s.str());
+      }
+      add_constraint_helper(*i);
+    }
+  } catch (...) {
+    // Delete the allocated constraints, to avoid memory leaks.
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref bounded_extrapolation "bounded extrapolation"
-    between \p *this and \p y using the \ref H79_widening
-    "H79-widening" operator.
+    for (Constraint_Sequence::const_iterator
+          i = input_cs.begin(), i_end = input_cs.end(); i != i_end; ++i)
+      delete *i;
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+    throw;
+  }
+  PPL_ASSERT(OK());
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+} // namespace Parma_Polyhedra_Library
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 979. */
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void bounded_H79_extrapolation_assign(const Polyhedron& y,
-					const Constraint_System& cs,
-					unsigned* tp = 0);
+/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 31. */
+// For static method overflows.
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Floating_Point_Expression class and its constituents.
+*/
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.types.hh line 1. */
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the old polyhedron
-    in the new vector space.
 
-    \param m
-    The number of dimensions to add.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+template <typename FP_Interval_Type, typename FP_Format>
+class Floating_Point_Expression;
 
-    The new space dimensions will be those having the highest indexes
-    in the new polyhedron, which is characterized by a system
-    of constraints in which the variables running through
-    the new dimensions are not constrained.
-    For instance, when starting from the polyhedron \f$\cP \sseq \Rset^2\f$
-    and adding a third space dimension, the result will be the polyhedron
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cP
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Adds \p m new space dimensions to the polyhedron
-    and does not embed it in the new vector space.
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.defs.hh line 31. */
+#include <cmath>
+#include <map>
 
-    \param m
-    The number of space dimensions to add.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+/*! \brief
+  \ingroup PPL_CXX_Interface
+  A floating point expression on a given format.
+
+  This class represents a concrete <EM>floating point expression</EM>. This
+  includes constants, floating point variables, binary and unary
+  arithmetic operators.
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain. The interval bounds
+  should have a floating point type.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+  This parameter must be a struct similar to the ones defined in file
+  Float.defs.hh, even though it is sufficient to define the three
+  fields BASE, MANTISSA_BITS and EXPONENT_BIAS.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Floating_Point_Expression {
 
-    The new space dimensions will be those having the highest indexes
-    in the new polyhedron, which is characterized by a system
-    of constraints in which the variables running through
-    the new dimensions are all constrained to be equal to 0.
-    For instance, when starting from the polyhedron \f$\cP \sseq \Rset^2\f$
-    and adding a third space dimension, the result will be the polyhedron
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cP
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_project(dimension_type m);
+public:
 
-  /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
-    of \p *this and \p y, taken in this order.
+  //! Alias for a linear form with template argument \p FP_Interval_Type.
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible.
+  //! Alias for a map that associates a variable index to an interval.
+  /*! \brief
+    Alias for a Box storing lower and upper bounds for floating point
+    variables.
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
+    The type a linear form abstract store associating each variable with an
+    interval that correctly approximates its value.
   */
-  void concatenate_assign(const Polyhedron& y);
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
 
-  //! Removes all the specified dimensions from the vector space.
+  //! Alias for a map that associates a variable index to a linear form.
   /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
-
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
+    The type a linear form abstract store associating each variable with a
+    linear form that correctly approximates its value.
   */
-  void remove_space_dimensions(const Variables_Set& vars);
+  typedef std::map<dimension_type, FP_Linear_Form>
+          FP_Linear_Form_Abstract_Store;
 
-  /*! \brief
-    Removes the higher dimensions of the vector space so that
-    the resulting space will have dimension \p new_dimension.
+  //! The floating point format used by the analyzer.
+  typedef typename FP_Interval_Type::boundary_type boundary_type;
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimensions is greater than the space dimension of
-    \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  //! The interval policy used by \p FP_Interval_Type.
+  typedef typename FP_Interval_Type::info_type info_type;
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+  //! Destructor.
+  virtual ~Floating_Point_Expression();
 
-    \param pfunc
-    The partial function specifying the destiny of each space dimension.
+  //! Linearizes a floating point expression.
+  /*! \brief
+    Makes \p result become a linear form that correctly approximates the
+    value of the floating point expression in the given composite
+    abstract store.
 
-    The template type parameter Partial_Function must provide
-    the following methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty codomain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the codomain
-    of the partial function.
-    The <CODE>max_in_codomain()</CODE> method is called at most once.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.
-    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
-    returned.
-    This method is called at most \f$n\f$ times, where \f$n\f$ is the
-    dimension of the vector space enclosing the polyhedron.
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result Becomes the linearized expression.
 
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Mapping_the_Dimensions_of_the_Vector_Space
-    "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+    Formally, if \p *this represents the expression \f$e\f$,
+    \p int_store represents the interval abstract store \f$\rho^{\#}\f$ and
+    \p lf_store represents the linear form abstract store \f$\rho^{\#}_l\f$,
+    then \p result will become
+    \f$\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}\f$
+    if the linearization succeeds.
 
-    \param m
-    The number of replicas to be created.
+    All variables occurring in the floating point expression MUST have
+    an associated interval in \p int_store.
+    If this precondition is not met, calling the method causes an
+    undefined behavior.
+  */
+  virtual bool linearize(const FP_Interval_Abstract_Store& int_store,
+                         const FP_Linear_Form_Abstract_Store& lf_store,
+                         FP_Linear_Form& result) const = 0;
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector space.
+  /*! \brief
+    Absolute error.
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+    Represents the interval \f$[-\omega, \omega]\f$ where \f$\omega\f$ is the
+    smallest non-zero positive number in the less precise floating point
+    format between the analyzer format and the analyzed format.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref expand_space_dimension "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
   */
-  void expand_space_dimension(Variable var, dimension_type m);
+  static FP_Interval_Type absolute_error;
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+  // FIXME: this may not be the best place for them.
+  /*! \brief
+    Verifies if a given linear form overflows.
+    \param lf The linear form to verify.
+    \return
+    Returns <CODE>false</CODE> if all coefficients in \p lf are bounded,
+    <CODE>true</CODE> otherwise.
+  */
+  static bool overflows(const FP_Linear_Form& lf);
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+  /*! \brief
+    Computes the relative error of a given linear form.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.
-    Also thrown if \p dest is contained in \p vars.
+    Static helper method that is used by <CODE>linearize</CODE>
+    to account for the relative errors on \p lf.
+    \param lf The linear form used to compute the relative error.
+    \param result Becomes the linear form corresponding to a relative
+    error committed on \p lf.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
+    This method makes <CODE>result</CODE> become a linear form
+    obtained by evaluating the function \f$\varepsilon_{\mathbf{f}}(l)\f$
+    on the linear form \p lf. This function is defined
+    such as:
+    \f[
+    \varepsilon_{\mathbf{f}}\left([a, b]+\sum_{v \in \cV}[a_{v}, b_{v}]v\right)
+    \defeq
+    (\textrm{max}(|a|, |b|) \amifp [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])
+    +
+    \sum_{v \in \cV}(\textrm{max}(|a_{v}|,|b_{v}|)
+    \amifp
+    [-\beta^{-\textrm{p}}, \beta^{-\textrm{p}}])v
+    \f]
+    where p is the fraction size in bits for the format \f$\mathbf{f}\f$ and
+    \f$\beta\f$ the base.
   */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+  static void relative_error(const FP_Linear_Form& lf,
+                             FP_Linear_Form& result);
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  /*! \brief
+    Makes \p result become an interval that overapproximates all the
+    possible values of \p lf in the interval abstract store \p store.
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+    \param lf The linear form to aproximate.
+    \param store The abstract store.
+    \param result The linear form that will be modified.
 
-  //! \name Miscellaneous Member Functions
-  //@{
+    This method makes <CODE>result</CODE> become
+    \f$\iota(lf)\rho^{\#}\f$, that is an interval defined as:
+    \f[
+    \iota\left(i + \sum_{v \in \cV}i_{v}v\right)\rho^{\#}
+    \defeq
+    i \asifp \left(\bigoplus_{v \in \cV}{}^{\#}i_{v} \amifp
+    \rho^{\#}(v)\right)
+    \f]
+  */
+  static void intervalize(const FP_Linear_Form& lf,
+                          const FP_Interval_Abstract_Store& store,
+                          FP_Interval_Type& result);
 
-  //! Destructor.
-  ~Polyhedron();
+private:
 
   /*! \brief
-    Swaps \p *this with polyhedron \p y.
-    (\p *this and \p y can be dimension-incompatible.)
+    Computes the absolute error.
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible.
+    Static helper method that is used to compute the value of the public
+    static field <CODE>absolute_error</CODE>.
+
+    \return The interval \f$[-\omega, \omega]\f$ corresponding to the value
+    of <CODE>absolute_error</CODE>
   */
-  void swap(Polyhedron& y);
+  static FP_Interval_Type compute_absolute_error();
 
-  PPL_OUTPUT_DECLARATIONS
+}; // class Floating_Point_Expression
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+template <typename FP_Interval_Type, typename FP_Format>
+FP_Interval_Type Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::absolute_error = compute_absolute_error();
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.inlines.hh line 1. */
+/* Floating_Point_Expression class implementation: inline functions.
+*/
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
-  */
-  int32_t hash_code() const;
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.inlines.hh line 29. */
 
-  //@} // Miscellaneous Member Functions
+namespace Parma_Polyhedra_Library {
 
-private:
-  //! The system of constraints.
-  Constraint_System con_sys;
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Floating_Point_Expression() {}
 
-  //! The system of generators.
-  Generator_System gen_sys;
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::overflows(const FP_Linear_Form& lf) {
+  if (!lf.inhomogeneous_term().is_bounded())
+    return true;
 
-  //! The saturation matrix having constraints on its columns.
-  Bit_Matrix sat_c;
+  dimension_type dimension = lf.space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    if (!lf.coefficient(Variable(i)).is_bounded())
+      return true;
+  }
 
-  //! The saturation matrix having generators on its columns.
-  Bit_Matrix sat_g;
+  return false;
+}
 
-#define PPL_IN_Polyhedron_CLASS
-/* Automatically generated from PPL source file ../src/Ph_Status.idefs.hh line 1. */
-/* Polyhedron::Status class declaration.
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.templates.hh line 1. */
+/* Floating_Point_Expression class implementation:
+   non-inline template functions.
 */
 
 
-#ifndef PPL_IN_Polyhedron_CLASS
-#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead."
-#endif
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.templates.hh line 29. */
+#include <cmath>
 
-//! A conjunctive assertion about a polyhedron.
-/*! \ingroup PPL_CXX_interface
-  The assertions supported are:
-  - <EM>zero-dim universe</EM>: the polyhedron is the zero-dimension
-    vector space \f$\Rset^0 = \{\cdot\}\f$;
-  - <EM>empty</EM>: the polyhedron is the empty set;
-  - <EM>constraints pending</EM>: the polyhedron is correctly
-    characterized by the attached system of constraints, which is
-    split in two non-empty subsets: the already processed constraints,
-    which are in minimal form, and the pending constraints, which
-    still have to be processed and may thus be inconsistent or
-    contain redundancies;
-  - <EM>generators pending</EM>: the polyhedron is correctly
-    characterized by the attached system of generators, which is
-    split in two non-empty subsets: the already processed generators,
-    which are in minimal form, and the pending generators, which still
-    have to be processed and may thus contain redundancies;
-  - <EM>constraints up-to-date</EM>: the polyhedron is correctly
-    characterized by the attached system of constraints, modulo the
-    processing of pending generators;
-  - <EM>generators up-to-date</EM>: the polyhedron is correctly
-    characterized by the attached system of generators, modulo the
-    processing of pending constraints;
-  - <EM>constraints minimized</EM>: the non-pending part of the system
-    of constraints attached to the polyhedron is in minimal form;
-  - <EM>generators minimized</EM>: the non-pending part of the system
-    of generators attached to the polyhedron is in minimal form;
-  - <EM>constraints' saturation matrix up-to-date</EM>: the attached
-    saturation matrix having rows indexed by non-pending generators and
-    columns indexed by non-pending constraints correctly expresses
-    the saturation relation between the attached non-pending constraints
-    and generators;
-  - <EM>generators' saturation matrix up-to-date</EM>: the attached
-    saturation matrix having rows indexed by non-pending constraints and
-    columns indexed by non-pending generators correctly expresses
-    the saturation relation between the attached non-pending constraints
-    and generators;
+namespace Parma_Polyhedra_Library {
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>zero-dim universe</EM> excludes any other assertion;
-  - <EM>empty</EM>: excludes any other assertion;
-  - <EM>constraints pending</EM> and <EM>generators pending</EM>
-    are mutually exclusive;
-  - <EM>constraints pending</EM> implies both <EM>constraints minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>generators pending</EM> implies both <EM>constraints minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>constraints minimized</EM> implies <EM>constraints up-to-date</EM>;
-  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
-  - <EM>constraints' saturation matrix up-to-date</EM> implies both
-    <EM>constraints up-to-date</EM> and <EM>generators up-to-date</EM>;
-  - <EM>generators' saturation matrix up-to-date</EM> implies both
-    <EM>constraints up-to-date</EM> and <EM>generators up-to-date</EM>.
-*/
-class Status {
-public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
-  Status();
+template<typename FP_Interval_Type, typename FP_Format>
+void
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::relative_error(const FP_Linear_Form& lf, FP_Linear_Form& result) {
+
+  FP_Interval_Type error_propagator;
+  boundary_type lb = -pow(FP_Format::BASE,
+  -static_cast<typename Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::boundary_type>(FP_Format::MANTISSA_BITS));
+  error_propagator.build(i_constraint(GREATER_OR_EQUAL, lb),
+                         i_constraint(LESS_OR_EQUAL, -lb));
+
+  // Handle the inhomogeneous term.
+  const FP_Interval_Type* current_term = &lf.inhomogeneous_term();
+  assert(current_term->is_bounded());
+
+  FP_Interval_Type
+    current_multiplier(std::max(std::abs(current_term->lower()),
+                                std::abs(current_term->upper())));
+  FP_Linear_Form current_result_term(current_multiplier);
+  current_result_term *= error_propagator;
+  result = FP_Linear_Form(current_result_term);
+
+  // Handle the other terms.
+  dimension_type dimension = lf.space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    current_term = &lf.coefficient(Variable(i));
+    assert(current_term->is_bounded());
+    current_multiplier
+      = FP_Interval_Type(std::max(std::abs(current_term->lower()),
+                                  std::abs(current_term->upper())));
+    current_result_term = FP_Linear_Form(Variable(i));
+    current_result_term *= current_multiplier;
+    current_result_term *= error_propagator;
+    result += current_result_term;
+  }
+
+  return;
+}
+
+template<typename FP_Interval_Type, typename FP_Format>
+void
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::intervalize(const FP_Linear_Form& lf,
+              const FP_Interval_Abstract_Store& store,
+              FP_Interval_Type& result) {
+  result = FP_Interval_Type(lf.inhomogeneous_term());
+  dimension_type dimension = lf.space_dimension();
+  assert(dimension <= store.space_dimension());
+  for (dimension_type i = 0; i < dimension; ++i) {
+    FP_Interval_Type current_addend = lf.coefficient(Variable(i));
+    const FP_Interval_Type& curr_int = store.get_interval(Variable(i));
+    current_addend *= curr_int;
+    result += current_addend;
+  }
+
+  return;
+}
+
+template<typename FP_Interval_Type, typename FP_Format>
+FP_Interval_Type
+Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::compute_absolute_error() {
+  typedef typename Floating_Point_Expression<FP_Interval_Type, FP_Format>
+    ::boundary_type Boundary;
+  boundary_type omega;
+  omega = std::max(pow(static_cast<Boundary>(FP_Format::BASE),
+                       static_cast<Boundary>(1 - FP_Format::EXPONENT_BIAS
+                                             - FP_Format::MANTISSA_BITS)),
+                   std::numeric_limits<Boundary>::denorm_min());
+  FP_Interval_Type result;
+  result.build(i_constraint(GREATER_OR_EQUAL, -omega),
+               i_constraint(LESS_OR_EQUAL, omega));
+  return result;
+}
 
-  //! \name Test, remove or add an individual assertion from the conjunction
-  //@{
-  bool test_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+} // namespace Parma_Polyhedra_Library
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+/* Automatically generated from PPL source file ../src/Floating_Point_Expression.defs.hh line 212. */
 
-  bool test_c_up_to_date() const;
-  void reset_c_up_to_date();
-  void set_c_up_to_date();
+/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 33. */
+#include <algorithm>
+#include <deque>
 
-  bool test_g_up_to_date() const;
-  void reset_g_up_to_date();
-  void set_g_up_to_date();
+namespace Parma_Polyhedra_Library {
 
-  bool test_c_minimized() const;
-  void reset_c_minimized();
-  void set_c_minimized();
+template <typename Interval>
+Polyhedron::Polyhedron(Topology topol,
+                       const Box<Interval>& box,
+                       Complexity_Class)
+  : con_sys(topol, default_con_sys_repr),
+    gen_sys(topol, default_gen_sys_repr),
+    sat_c(),
+    sat_g() {
+  // Initialize the space dimension as indicated by the box.
+  space_dim = box.space_dimension();
 
-  bool test_g_minimized() const;
-  void reset_g_minimized();
-  void set_g_minimized();
+  // Check for emptiness.
+  if (box.is_empty()) {
+    set_empty();
+    return;
+  }
 
-  bool test_sat_c_up_to_date() const;
-  void reset_sat_c_up_to_date();
-  void set_sat_c_up_to_date();
+  // Zero-dim universe polyhedron.
+  if (space_dim == 0) {
+    set_zero_dim_univ();
+    return;
+  }
 
-  bool test_sat_g_up_to_date() const;
-  void reset_sat_g_up_to_date();
-  void set_sat_g_up_to_date();
+  // Properly set the space dimension of `con_sys'.
+  con_sys.set_space_dimension(space_dim);
 
-  bool test_c_pending() const;
-  void reset_c_pending();
-  void set_c_pending();
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
-  bool test_g_pending() const;
-  void reset_g_pending();
-  void set_g_pending();
-  //@} // Test, remove or add an individual assertion from the conjunction
+  if (topol == NECESSARILY_CLOSED) {
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      const Variable v_k = Variable(k);
+      // See if we have a valid lower bound.
+      bool l_closed = false;
+      bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed);
+      // See if we have a valid upper bound.
+      bool u_closed = false;
+      bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+      // See if we have an implicit equality constraint.
+      if (l_bounded && u_bounded
+          && l_closed && u_closed
+          && l_n == u_n && l_d == u_d) {
+        // Add the constraint `l_d*v_k == l_n'.
+        con_sys.insert(l_d * v_k == l_n);
+      }
+      else {
+        if (l_bounded)
+          // Add the constraint `l_d*v_k >= l_n'.
+          con_sys.insert(l_d * v_k >= l_n);
+        if (u_bounded)
+          // Add the constraint `u_d*v_k <= u_n'.
+          con_sys.insert(u_d * v_k <= u_n);
+      }
+    }
+  }
+  else {
+    // topol == NOT_NECESSARILY_CLOSED
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      const Variable v_k = Variable(k);
+      // See if we have a valid lower bound.
+      bool l_closed = false;
+      bool l_bounded = box.has_lower_bound(v_k, l_n, l_d, l_closed);
+      // See if we have a valid upper bound.
+      bool u_closed = false;
+      bool u_bounded = box.has_upper_bound(v_k, u_n, u_d, u_closed);
 
-  PPL_OUTPUT_DECLARATIONS
+      // See if we have an implicit equality constraint.
+      if (l_bounded && u_bounded
+          && l_closed && u_closed
+          && l_n == u_n && l_d == u_d) {
+        // Add the constraint `l_d*v_k == l_n'.
+        con_sys.insert(l_d * v_k == l_n);
+      }
+      else {
+        // Check if a lower bound constraint is required.
+        if (l_bounded) {
+          if (l_closed)
+            // Add the constraint `l_d*v_k >= l_n'.
+            con_sys.insert(l_d * v_k >= l_n);
+          else
+            // Add the constraint `l_d*v_k > l_n'.
+            con_sys.insert(l_d * v_k > l_n);
+        }
+        // Check if an upper bound constraint is required.
+        if (u_bounded) {
+          if (u_closed)
+            // Add the constraint `u_d*v_k <= u_n'.
+            con_sys.insert(u_d * v_k <= u_n);
+          else
+            // Add the constraint `u_d*v_k < u_n'.
+            con_sys.insert(u_d * v_k < u_n);
+        }
+      }
+    }
+  }
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  // Adding the low-level constraints.
+  con_sys.add_low_level_constraints();
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  // Constraints are up-to-date.
+  set_constraints_up_to_date();
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  //! \name Bit-masks for the individual assertions
-  //@{
-  static const flags_t ZERO_DIM_UNIV    = 0U;
-  static const flags_t EMPTY            = 1U << 0;
-  static const flags_t C_UP_TO_DATE     = 1U << 1;
-  static const flags_t G_UP_TO_DATE     = 1U << 2;
-  static const flags_t C_MINIMIZED      = 1U << 3;
-  static const flags_t G_MINIMIZED      = 1U << 4;
-  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
-  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
-  static const flags_t CS_PENDING       = 1U << 7;
-  static const flags_t GS_PENDING       = 1U << 8;
-  //@} // Bit-masks for the individual assertions
+template <typename Partial_Function>
+void
+Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-  //! This holds the current bitset.
-  flags_t flags;
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the polyhedron becomes zero_dimensional.
+    if (marked_empty()
+	|| (has_pending_constraints()
+	    && !remove_pending_to_obtain_generators())
+	|| (!generators_are_up_to_date() && !update_generators())) {
+      // Removing all dimensions from the empty polyhedron.
+      space_dim = 0;
+      con_sys.clear();
+    }
+    else
+      // Removing all dimensions from a non-empty polyhedron.
+      set_zero_dim_univ();
 
-  //! Construct from a bit-mask.
-  Status(flags_t mask);
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  if (new_space_dimension == space_dim) {
+    // The partial function `pfunc' is indeed total and thus specifies
+    // a permutation, that is, a renaming of the dimensions.  For
+    // maximum efficiency, we will simply permute the columns of the
+    // constraint system and/or the generator system.
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+    std::vector<Variable> cycle;
+    cycle.reserve(space_dim);
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+    // Used to mark elements as soon as they are inserted in a cycle.
+    std::deque<bool> visited(space_dim);
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 1930. */
-#undef PPL_IN_Polyhedron_CLASS
+    for (dimension_type i = space_dim; i-- > 0; ) {
+      if (visited[i])
+        continue;
 
-  //! The status flags to keep track of the polyhedron's internal state.
-  Status status;
+      dimension_type j = i;
+      do {
+        visited[j] = true;
+        // The following initialization is only to make the compiler happy.
+        dimension_type k = 0;
+        if (!pfunc.maps(j, k))
+          throw_invalid_argument("map_space_dimensions(pfunc)",
+                                 " pfunc is inconsistent");
+        if (k == j)
+          break;
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+        cycle.push_back(Variable(j));
+        // Go along the cycle.
+        j = k;
+      } while (!visited[j]);
 
-  //! Returns the topological kind of the polyhedron.
-  Topology topology() const;
+      // End of cycle.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the polyhedron
-    is necessarily closed.
-  */
-  bool is_necessarily_closed() const;
+      // Permute all that is up-to-date.  Notice that the contents of
+      // the saturation matrices is unaffected by the permutation of
+      // columns: they remain valid, if they were so.
+      if (constraints_are_up_to_date())
+        con_sys.permute_space_dimensions(cycle);
 
-  friend bool
-  Parma_Polyhedra_Library::Interfaces
-  ::is_necessarily_closed_for_interfaces(const Polyhedron&);
+      if (generators_are_up_to_date())
+        gen_sys.permute_space_dimensions(cycle);
 
-  /*! \brief
-    Uses a copy of constraint \p c to refine the system of constraints
-    of \p *this.
+      cycle.clear();
+    }
 
-    \param c The constraint to be added. If it is dimension-incompatible
-    with \p *this, the behavior is undefined.
-  */
-  void refine_no_check(const Constraint& c);
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-  //! \name Private Verifiers: Verify if Individual Flags are Set
-  //@{
+  // If control gets here, then `pfunc' is not a permutation and some
+  // dimensions must be projected away.
 
-  //! Returns <CODE>true</CODE> if the polyhedron is known to be empty.
-  /*!
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
-  */
-  bool marked_empty() const;
+  // If there are pending constraints, using `generators()' we process them.
+  const Generator_System& old_gensys = generators();
 
-  //! Returns <CODE>true</CODE> if the system of constraints is up-to-date.
-  bool constraints_are_up_to_date() const;
+  if (old_gensys.has_no_rows()) {
+    // The polyhedron is empty.
+    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
+    m_swap(new_polyhedron);
+    PPL_ASSERT_HEAVY(OK());
+    return;
+  }
 
-  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
-  bool generators_are_up_to_date() const;
+  // Make a local copy of the partial function.
+  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
+  for (dimension_type j = space_dim; j-- > 0; ) {
+    dimension_type pfunc_j;
+    if (pfunc.maps(j, pfunc_j))
+      pfunc_maps[j] = pfunc_j;
+  }
 
-  //! Returns <CODE>true</CODE> if the system of constraints is minimized.
-  /*!
-    Note that only \em weak minimization is entailed, so that
-    an NNC polyhedron may still have \f$\epsilon\f$-redundant constraints.
-  */
-  bool constraints_are_minimized() const;
+  Generator_System new_gensys;
+  for (Generator_System::const_iterator i = old_gensys.begin(),
+	 old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) {
+    const Generator& old_g = *i;
+    const Generator::Expression& old_e = old_g.expression();
+    Linear_Expression expr;
+    expr.set_space_dimension(new_space_dimension);
+    bool all_zeroes = true;
+    for (Generator::Expression::const_iterator j = old_e.begin(),
+          j_end = old_e.end(); j != j_end; ++j) {
+      const dimension_type mapped_id = pfunc_maps[j.variable().id()];
+      if (mapped_id != not_a_dimension()) {
+        add_mul_assign(expr, *j, Variable(mapped_id));
+	all_zeroes = false;
+      }
+    }
+    switch (old_g.type()) {
+    case Generator::LINE:
+      if (!all_zeroes)
+	new_gensys.insert(line(expr));
+      break;
+    case Generator::RAY:
+      if (!all_zeroes)
+	new_gensys.insert(ray(expr));
+      break;
+    case Generator::POINT:
+      // A point in the origin has all zero homogeneous coefficients.
+      new_gensys.insert(point(expr, old_g.divisor()));
+      break;
+    case Generator::CLOSURE_POINT:
+      // A closure point in the origin has all zero homogeneous coefficients.
+      new_gensys.insert(closure_point(expr, old_g.divisor()));
+      break;
+    }
+  }
+  Polyhedron new_polyhedron(topology(), new_gensys);
+  m_swap(new_polyhedron);
+  PPL_ASSERT_HEAVY(OK(true));
+}
 
-  //! Returns <CODE>true</CODE> if the system of generators is minimized.
-  /*!
-    Note that only \em weak minimization is entailed, so that
-    an NNC polyhedron may still have \f$\epsilon\f$-redundant generators.
-  */
-  bool generators_are_minimized() const;
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::refine_with_linear_form_inequality(
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& left,
+  const Linear_Form< Interval<FP_Format, Interval_Info> >& right,
+  const bool is_strict) {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::refine_with_linear_form_inequality:"
+                         " FP_Format not a floating point type.");
+
+  // Dimension compatibility checks.
+  // The dimensions of left and right should not be greater than the
+  // dimension of *this.
+  const dimension_type left_space_dim = left.space_dimension();
+  if (space_dim < left_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(l1, l2, s)", "l1", left);
+
+  const dimension_type right_space_dim = right.space_dimension();
+  if (space_dim < right_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(l1, l2, s)", "l2", right);
+
+  // We assume that the analyzer will not refine an unreachable test.
+  PPL_ASSERT(!marked_empty());
 
-  //! Returns <CODE>true</CODE> if there are pending constraints.
-  bool has_pending_constraints() const;
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
 
-  //! Returns <CODE>true</CODE> if there are pending generators.
-  bool has_pending_generators() const;
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(left))
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if there are
-    either pending constraints or pending generators.
-  */
-  bool has_something_pending() const;
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(right))
+    return;
 
-  //! Returns <CODE>true</CODE> if the polyhedron can have something pending.
-  bool can_have_something_pending() const;
+  // Overapproximate left - right.
+  FP_Linear_Form left_minus_right(left);
+  left_minus_right -= right;
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(left_minus_right))
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the saturation matrix \p sat_c
-    is up-to-date.
-  */
-  bool sat_c_is_up_to_date() const;
+  dimension_type lf_space_dim = left_minus_right.space_dimension();
+  FP_Linear_Form lf_approx;
+  overapproximate_linear_form(left_minus_right, lf_space_dim, lf_approx);
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf_approx))
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the saturation matrix \p sat_g
-    is up-to-date.
-  */
-  bool sat_g_is_up_to_date() const;
+  // Normalize left - right.
+  Linear_Expression lf_approx_le;
+  convert_to_integer_expression(lf_approx, lf_space_dim, lf_approx_le);
 
-  //@} // Private Verifiers: Verify if Individual Flags are Set
+  // Finally, do the refinement.
+  if (!is_strict || is_necessarily_closed())
+    refine_with_constraint(lf_approx_le <= 0);
+  else
+    refine_with_constraint(lf_approx_le < 0);
+}
 
-  //! \name State Flag Setters: Set Only the Specified Flags
-  //@{
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::affine_form_image(const Variable var,
+const Linear_Form<Interval <FP_Format, Interval_Info> >& lf) {
 
-  /*! \brief
-    Sets \p status to express that the polyhedron is the universe
-    0-dimension vector space, clearing all corresponding matrices.
-  */
-  void set_zero_dim_univ();
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::affine_form_image:"
+                         " FP_Format not a floating point type.");
 
-  /*! \brief
-    Sets \p status to express that the polyhedron is empty,
-    clearing all corresponding matrices.
-  */
-  void set_empty();
+  // Dimension compatibility checks.
+  // The dimension of lf should not be greater than the dimension of *this.
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(v, l, s)", "l", lf);
 
-  //! Sets \p status to express that constraints are up-to-date.
-  void set_constraints_up_to_date();
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_form_image(v, l, s)", "v", var);
 
-  //! Sets \p status to express that generators are up-to-date.
-  void set_generators_up_to_date();
+  // We assume that the analyzer will not perform an unreachable assignment.
+  PPL_ASSERT(!marked_empty());
 
-  //! Sets \p status to express that constraints are minimized.
-  void set_constraints_minimized();
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
 
-  //! Sets \p status to express that generators are minimized.
-  void set_generators_minimized();
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf)) {
+    *this = Polyhedron(topology(), space_dim, UNIVERSE);
+    return;
+  }
 
-  //! Sets \p status to express that constraints are pending.
-  void set_constraints_pending();
+  // Overapproximate lf.
+  FP_Linear_Form lf_approx;
+  overapproximate_linear_form(lf, lf_space_dim, lf_approx);
 
-  //! Sets \p status to express that generators are pending.
-  void set_generators_pending();
+  if (Floating_Point_Expression<FP_Interval_Type, float_ieee754_single>::
+      overflows(lf_approx)) {
+    *this = Polyhedron(topology(), space_dim, UNIVERSE);
+    return;
+  }
 
-  //! Sets \p status to express that \p sat_c is up-to-date.
-  void set_sat_c_up_to_date();
+  // Normalize lf.
+  Linear_Expression lf_approx_le;
+  PPL_DIRTY_TEMP_COEFFICIENT(lo_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(hi_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(denominator);
+  convert_to_integer_expressions(lf_approx, lf_space_dim, lf_approx_le,
+                                 lo_coeff, hi_coeff, denominator);
 
-  //! Sets \p status to express that \p sat_g is up-to-date.
-  void set_sat_g_up_to_date();
+  // Finally, do the assignment.
+  bounded_affine_image(var, lf_approx_le + lo_coeff, lf_approx_le + hi_coeff,
+                       denominator);
+}
 
-  //@} // State Flag Setters: Set Only the Specified Flags
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::overapproximate_linear_form
+(const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+ const dimension_type lf_dimension,
+ Linear_Form<Interval <FP_Format, Interval_Info> >& result) {
+
+  // Check that FP_Format is indeed a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<FP_Format>::is_exact,
+                         "Polyhedron::overapproximate_linear_form:"
+                         " FP_Format not a floating point type.");
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+
+  // Build a Box from the Polyhedron so that we can extract upper and
+  // lower bounds of variables easily.
+  Box<FP_Interval_Type> box(*this);
+
+  result = FP_Linear_Form(lf.inhomogeneous_term());
+  // FIXME: this may not be policy-neutral.
+  const FP_Interval_Type aux_divisor1(static_cast<FP_Format>(0.5));
+  FP_Interval_Type aux_divisor2(aux_divisor1);
+  aux_divisor2.lower() = static_cast<FP_Format>(-0.5);
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    Variable curr_var(i);
+    const FP_Interval_Type& curr_coeff = lf.coefficient(curr_var);
+    PPL_ASSERT(curr_coeff.is_bounded());
+    FP_Format curr_lb = curr_coeff.lower();
+    FP_Format curr_ub = curr_coeff.upper();
+    if (curr_lb != 0 || curr_ub != 0) {
+      const FP_Interval_Type& curr_int = box.get_interval(curr_var);
+      FP_Interval_Type curr_addend(curr_ub - curr_lb);
+      curr_addend *= aux_divisor2;
+      curr_addend *= curr_int;
+      result += curr_addend;
+      curr_addend = FP_Interval_Type(curr_lb + curr_ub);
+      curr_addend *= aux_divisor1;
+      FP_Linear_Form curr_addend_lf(curr_var);
+      curr_addend_lf *= curr_addend;
+      result += curr_addend_lf;
+    }
+  }
+}
+
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::convert_to_integer_expression(
+                const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+                const dimension_type lf_dimension,
+                Linear_Expression& result) {
+  result = Linear_Expression();
 
-  //! \name State Flag Cleaners: Clear Only the Specified Flag
-  //@{
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  std::vector<Coefficient> numerators(lf_dimension+1);
+  std::vector<Coefficient> denominators(lf_dimension+1);
 
-  //! Clears the \p status flag indicating that the polyhedron is empty.
-  void clear_empty();
+  // Convert each floating point number to a pair <numerator, denominator>
+  // and compute the lcm of all denominators.
+  PPL_DIRTY_TEMP_COEFFICIENT(lcm);
+  lcm = 1;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+  // FIXME: are these checks numerator[i] != 0 really necessary?
+  numer_denom(b.lower(), numerators[lf_dimension],
+                         denominators[lf_dimension]);
+  if (numerators[lf_dimension] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension]);
 
-  //! Sets \p status to express that constraints are no longer up-to-date.
-  /*!
-    This also implies that they are neither minimized
-    and both saturation matrices are no longer meaningful.
-  */
-  void clear_constraints_up_to_date();
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    const FP_Interval_Type& curr_int = lf.coefficient(Variable(i));
+    numer_denom(curr_int.lower(), numerators[i], denominators[i]);
+    if (numerators[i] != 0)
+      lcm_assign(lcm, lcm, denominators[i]);
+  }
 
-  //! Sets \p status to express that generators are no longer up-to-date.
-  /*!
-    This also implies that they are neither minimized
-    and both saturation matrices are no longer meaningful.
-  */
-  void clear_generators_up_to_date();
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    if (numerators[i] != 0) {
+      exact_div_assign(denominators[i], lcm, denominators[i]);
+      numerators[i] *= denominators[i];
+      result += numerators[i] * Variable(i);
+    }
+  }
 
-  //! Sets \p status to express that constraints are no longer minimized.
-  void clear_constraints_minimized();
+  if (numerators[lf_dimension] != 0) {
+    exact_div_assign(denominators[lf_dimension],
+                     lcm, denominators[lf_dimension]);
+    numerators[lf_dimension] *= denominators[lf_dimension];
+    result += numerators[lf_dimension];
+  }
+}
 
-  //! Sets \p status to express that generators are no longer minimized.
-  void clear_generators_minimized();
+template <typename FP_Format, typename Interval_Info>
+void
+Polyhedron::convert_to_integer_expressions(
+	        const Linear_Form<Interval <FP_Format, Interval_Info> >& lf,
+                const dimension_type lf_dimension, Linear_Expression& res,
+                Coefficient& res_low_coeff, Coefficient& res_hi_coeff,
+                Coefficient& denominator) {
+  res = Linear_Expression();
+
+  typedef Interval<FP_Format, Interval_Info> FP_Interval_Type;
+  std::vector<Coefficient> numerators(lf_dimension+2);
+  std::vector<Coefficient> denominators(lf_dimension+2);
+
+  // Convert each floating point number to a pair <numerator, denominator>
+  // and compute the lcm of all denominators.
+  Coefficient& lcm = denominator;
+  lcm = 1;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
+  numer_denom(b.lower(), numerators[lf_dimension], denominators[lf_dimension]);
+  // FIXME: are these checks numerator[i] != 0 really necessary?
+  if (numerators[lf_dimension] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension]);
+
+  numer_denom(b.upper(), numerators[lf_dimension+1],
+                         denominators[lf_dimension+1]);
+  if (numerators[lf_dimension+1] != 0)
+      lcm_assign(lcm, lcm, denominators[lf_dimension+1]);
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    const FP_Interval_Type& curr_int = lf.coefficient(Variable(i));
+    numer_denom(curr_int.lower(), numerators[i], denominators[i]);
+    if (numerators[i] != 0)
+      lcm_assign(lcm, lcm, denominators[i]);
+  }
+
+  for (dimension_type i = 0; i < lf_dimension; ++i) {
+    if (numerators[i] != 0) {
+      exact_div_assign(denominators[i], lcm, denominators[i]);
+      numerators[i] *= denominators[i];
+      res += numerators[i] * Variable(i);
+    }
+  }
+
+  if (numerators[lf_dimension] != 0) {
+    exact_div_assign(denominators[lf_dimension],
+                     lcm, denominators[lf_dimension]);
+    numerators[lf_dimension] *= denominators[lf_dimension];
+    res_low_coeff = numerators[lf_dimension];
+  }
+  else
+    res_low_coeff = Coefficient(0);
 
-  //! Sets \p status to express that there are no longer pending constraints.
-  void clear_pending_constraints();
+  if (numerators[lf_dimension+1] != 0) {
+    exact_div_assign(denominators[lf_dimension+1],
+                     lcm, denominators[lf_dimension+1]);
+    numerators[lf_dimension+1] *= denominators[lf_dimension+1];
+    res_hi_coeff = numerators[lf_dimension+1];
+  }
+  else
+    res_hi_coeff = Coefficient(0);
+}
 
-  //! Sets \p status to express that there are no longer pending generators.
-  void clear_pending_generators();
+template <typename C>
+void
+Polyhedron::throw_dimension_incompatible(const char* method,
+				         const char* lf_name,
+				         const Linear_Form<C>& lf) const {
+  throw_dimension_incompatible(method, lf_name, lf.space_dimension());
+}
 
-  //! Sets \p status to express that \p sat_c is no longer up-to-date.
-  void clear_sat_c_up_to_date();
+template <typename Input>
+Input&
+Polyhedron::check_obj_space_dimension_overflow(Input& input,
+                                               const Topology topol,
+                                               const char* method,
+                                               const char* reason) {
+  check_space_dimension_overflow(input.space_dimension(),
+                                 max_space_dimension(),
+                                 topol, method, reason);
+  return input;
+}
 
-  //! Sets \p status to express that \p sat_g is no longer up-to-date.
-  void clear_sat_g_up_to_date();
+} // namespace Parma_Polyhedra_Library
 
-  //@} // State Flag Cleaners: Clear Only the Specified Flag
+/* Automatically generated from PPL source file ../src/Polyhedron_chdims.templates.hh line 1. */
+/* Polyhedron class implementation (non-inline template operators that
+   may change the dimension of the vector space).
+*/
 
-  //! \name The Handling of Pending Rows
-  //@{
 
-  /*! \brief
-    Processes the pending rows of either description of the polyhedron
-    and obtains a minimized polyhedron.
+namespace Parma_Polyhedra_Library {
 
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+template <typename Linear_System1, typename Linear_System2>
+void
+Polyhedron::add_space_dimensions(Linear_System1& sys1,
+                                 Linear_System2& sys2,
+                                 Bit_Matrix& sat1,
+                                 Bit_Matrix& sat2,
+                                 dimension_type add_dim) {
 
-    It is assumed that the polyhedron does have some constraints or
-    generators pending.
-  */
-  bool process_pending() const;
+  typedef typename Linear_System2::row_type sys2_row_type;
 
-  //! Processes the pending constraints and obtains a minimized polyhedron.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+  PPL_ASSERT(sys1.topology() == sys2.topology());
+  PPL_ASSERT(sys1.space_dimension() == sys2.space_dimension());
+  PPL_ASSERT(add_dim != 0);
 
-    It is assumed that the polyhedron does have some pending constraints.
-  */
-  bool process_pending_constraints() const;
+  sys1.set_space_dimension(sys1.space_dimension() + add_dim);
+  sys2.add_universe_rows_and_space_dimensions(add_dim);
 
-  //! Processes the pending generators and obtains a minimized polyhedron.
-  /*!
-    It is assumed that the polyhedron does have some pending generators.
-  */
-  void process_pending_generators() const;
+  // The resulting saturation matrix will be as follows:
+  // from row    0    to      add_dim-1       : only zeroes
+  //          add_dim     add_dim+num_rows-1  : old saturation matrix
 
-  /*! \brief
-    Lazily integrates the pending descriptions of the polyhedron
-    to obtain a constraint system without pending rows.
+  // In fact all the old generators saturate all the new constraints
+  // because the polyhedron has not been embedded in the new space.
+  sat1.resize(sat1.num_rows() + add_dim, sat1.num_columns());
+  // The old matrix is moved to the end of the new matrix.
+  for (dimension_type i = sat1.num_rows() - add_dim; i-- > 0; )
+    swap(sat1[i], sat1[i+add_dim]);
+  // Computes the "sat_c", too.
+  sat2.transpose_assign(sat1);
+}
 
-    It is assumed that the polyhedron does have some constraints or
-    generators pending.
-  */
-  void remove_pending_to_obtain_constraints() const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Lazily integrates the pending descriptions of the polyhedron
-    to obtain a generator system without pending rows.
+/* Automatically generated from PPL source file ../src/Polyhedron_conversion.templates.hh line 1. */
+/* Polyhedron class implementation: conversion().
+*/
 
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
 
-    It is assumed that the polyhedron does have some constraints or
-    generators pending.
-  */
-  bool remove_pending_to_obtain_generators() const;
+/* Automatically generated from PPL source file ../src/Polyhedron_conversion.templates.hh line 34. */
 
-  //@} // The Handling of Pending Rows
+#include <cstddef>
+#include <climits>
 
-  //! \name Updating and Sorting Matrices
-  //@{
+namespace Parma_Polyhedra_Library {
 
-  //! Updates constraints starting from generators and minimizes them.
-  /*!
-    The resulting system of constraints is only partially sorted:
-    the equalities are in the upper part of the matrix,
-    while the inequalities in the lower part.
-  */
-  void update_constraints() const;
+/*!
+  \return
+  The number of lines of the polyhedron or the number of equality
+  constraints in the result of conversion.
+
+  \param source
+  The system to use to convert \p dest: it may be modified;
+
+  \param start
+  The index of \p source row from which conversion begin;
+
+  \param dest
+  The result of the conversion;
+
+  \param sat
+  The saturation matrix telling us, for each row in \p source, which
+  are the rows of \p dest that satisfy but do not saturate it;
+
+  \param num_lines_or_equalities
+  The number of rows in the system \p dest that are either lines of
+  the polyhedron (when \p dest is a system of generators) or equality
+  constraints (when \p dest is a system of constraints).
+
+  For simplicity, all the following comments assume we are converting a
+  constraint system \p source to a generator system \p dest;
+  the comments for the symmetric case can be obtained by duality.
+
+  If some of the constraints in \p source are redundant, they will be removed.
+  This is why the \p source is not declared to be a constant parameter.
+
+  If \p start is 0, then \p source is a sorted system; also, \p dest is
+  a generator system corresponding to an empty constraint system.
+  If otherwise \p start is greater than 0, then the two sub-systems of
+  \p source made by the non-pending rows and the pending rows, respectively,
+  are both sorted; also, \p dest is the generator system corresponding to
+  the non-pending constraints of \p source.
+
+  Independently from the value of \p start, \p dest has lines from index 0
+  to index \p num_lines_or_equalities - 1 and rays/points from index
+  \p num_lines_or_equalities to the last of its rows.
+
+  Note that here the rows of \p sat are indexed by rows of \p dest
+  and its columns are indexed by rows of \p source.
+
+  We know that polyhedra can be represented by both a system of
+  constraints or a system of generators (points, rays and lines)
+  (see Section \ref representation).
+  When we have both descriptions for a polyhedron \f$P\f$
+  we have what is called a <EM>double description</EM>
+  (or <EM>DD pair</EM>) for \f$P\f$.
+
+  Here, the <EM>representation system</EM> refers to the system \f$C\f$
+  whose rows represent the constraints that characterize \f$P\f$
+  and the <EM>generating system</EM>, the system \f$G\f$ whose rows
+  represent the generators of \f$P\f$.
+  We say that a pair \f$(C, G)\f$ of (real) systems is
+  a <EM>double description pair</EM> if
+  \f[
+    C\vect{x} \geq \vect{0}
+      \quad\iff\quad
+        \exists \vect{\lambda} \geq \vect{0} \mathrel{.}
+	\vect{x} = G\vect{\lambda}.
+  \f]
 
-  //! Updates generators starting from constraints and minimizes them.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+  The term "double description" is quite natural in the sense that
+  such a pair contains two different description of the same object.
+  In fact, if we refer to the cone representation of a polyhedron \f$P\f$
+  and we call \f$C\f$ and \f$G\f$ the systems of constraints and
+  rays respectively, we have
+  \f[
+    P = \{\, \vect{x} \in \Rset^n \mid C\vect{x} \geq \vect{0}\, \}
+      = \{\, \vect{x} \in \Rset^n \mid \vect{x} = G\vect{\lambda}
+      \text{ for some } \vect{\lambda} \geq \vect{0}\, \}.
+  \f]
 
-    The resulting system of generators is only partially sorted:
-    the lines are in the upper part of the matrix,
-    while rays and points are in the lower part.
-    It is illegal to call this method when the Status field
-    already declares the polyhedron to be empty.
-  */
-  bool update_generators() const;
+  Because of the theorem of Minkowski (see Section \ref prelims),
+  we can say that, given a \f$m \times n\f$ representation system
+  \f$C\f$ such that
+  \f$\mathop{\mathrm{rank}}(C) = n = \mathit{dimension of the whole space}\f$
+  for a non-empty polyhedron \f$P\f$,
+  it is always possible to find a generating system \f$G\f$ for \f$P\f$
+  such that \f$(C, G)\f$ is a DD pair.
+  Conversely, Weyl's theorem ensures that, for each generating system
+  \f$G\f$, it is possible to find a representation system \f$C\f$
+  such that \f$(C, G)\f$ is a DD pair.
+
+  For efficiency reasons, our representation of polyhedra makes use
+  of a double description.
+  We are thus left with two problems:
+    -# given \f$C\f$ find \f$G\f$ such that \f$(C, G)\f$ is a DD pair;
+    -# given \f$G\f$ find \f$C\f$ such that \f$(C, G)\f$ is a DD pair.
+
+  Using Farkas' Lemma we can prove that these two problems are
+  computationally equivalent (i.e., linear-time reducible to each other).
+  Farkas' Lemma establishes a fundamental property of vectors in
+  \f$\Rset^n\f$ that, in a sense, captures the essence of duality.
+  Consider a matrix \f$A \in \Rset^{m \times n}\f$ and let
+  \f$\{ \vect{a}_1, \ldots, \vect{a}_m \}\f$ be its set of row vectors.
+  Consider also another vector \f$\vect{c} \in \Rset^n\f$ such that,
+  whenever a vector \f$\vect{y} \in \Rset^n\f$ has a non-negative projection
+  on the \f$\vect{a}_i\f$'s, it also has a non-negative projection
+  on \f$\vect{c}\f$.
+  The lemma states that \f$\vect{c}\f$ has this property if and only if
+  it is in the cone generated by the \f$\vect{a}_i\f$'s.
+  Formally, the lemma states the equivalence of the two following
+  assertions:
+    -# \f$
+         \forall \vect{y}
+           \mathrel{:} (A\vect{y} \geq 0 \implies
+	   \langle \vect{y},\vect{c} \rangle \geq 0)
+       \f$;
+    -# \f$
+         \exists \vect{\lambda} \geq \vect{0}
+           \mathrel{.} \vect{c}^\mathrm{T} = \vect{\lambda}^\mathrm{T}A
+       \f$.
+
+  With this result we can prove that \f$(C, G)\f$ is a DD pair
+  if and only if \f$(G^\mathrm{T}, C^\mathrm{T})\f$ is a DD pair.
+
+  Suppose \f$(C, G)\f$ is a DD pair.
+  Thus, for each \f$x\f$ of the appropriate dimension,
+  \f$C\vect{x} \geq \vect{0}\f$ if and only if
+  \f$\exists \lambda \geq 0 \mathrel{.} \vect{x} = G\vect{\lambda}\f$,
+  which is of course equivalent to
+  \f$
+    \exists \vect{\lambda} \geq \vect{0}
+      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
+  \f$.
+
+  First, we assume that \f$\vect{z}\f$ is such that
+  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
+  and we will show that
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
+  Let \f$\vect{x}\f$ be such that \f$C\vect{x} \geq \vect{0}\f$.
+  Since \f$(C, G)\f$ is a DD pair, this is equivalent to
+  \f$
+    \exists \vect{\lambda} \geq \vect{0}
+      \mathrel{.} \vect{x}^\mathrm{T} = \vect{\lambda}^\mathrm{T}G^\mathrm{T}
+  \f$,
+  which, by Farkas' Lemma is equivalent to
+  \f$
+    \forall \vect{y} \mathrel{:} (G^\mathrm{T}\vect{y} \geq \vect{0} \implies
+                                 \langle \vect{y}, \vect{x} \rangle \geq 0)
+  \f$.
+  Taking \f$\vect{y} = \vect{z}\f$ and recalling our assumption that
+  \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$
+  we can conclude that \f$\langle \vect{z}, \vect{x} \rangle \geq 0\f$,
+  that is equivalent to \f$\langle \vect{x}, \vect{z} \rangle \geq 0\f$.
+  We have thus established that
+  \f$
+    \forall \vect{x} \mathrel{:} (C\vect{x} \geq \vect{0} \implies
+    \langle \vect{x}, \vect{z} \rangle \geq 0)
+  \f$.
+  By Farkas' Lemma, this is equivalent to
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T} C\f$,
+  which is equivalent to what we wanted to prove, that is,
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$.
+
+  In order to prove the reverse implication, the following observation
+  turns out to be useful:
+  when \f$(C, G)\f$ is a DD pair, \f$CG \geq 0\f$.
+  In fact,
+  let \f$\vect{e}_j\f$ be the vector whose components are all \f$0\f$
+  apart from the \f$j\f$-th one, which is \f$1\f$.
+  Clearly \f$\vect{e}_j \geq \vect{0}\f$ and, taking
+  \f$\vect{\lambda} = \vect{e}_j\f$ and
+  \f$\vect{x} = G\vect{\lambda} = G \vect{e}_j\f$, we have
+  \f$C\vect{x} = C(G \vect{e}_j) = (CG)\vect{e}_j \geq \vect{0}\f$,
+  since \f$(C, G)\f$ is a DD pair.
+  Thus, as \f$(CG)\vect{e}_j\f$ is the \f$j\f$-th column of \f$CG\f$
+  and since the choice of \f$j\f$ was arbitrary, \f$CG \geq \vect{0}\f$.
+
+  We now assume that \f$\vect{z}\f$ is such that
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z} = C^\mathrm{T}\vect{\mu}\f$
+  and we will prove that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$.
+  By Farkas' Lemma, the assumption
+  \f$\exists \vect{\mu} \geq \vect{0} \mathrel{.}
+  \vect{z}^\mathrm{T} = \vect{\mu}^\mathrm{T}C\f$,
+  is equivalent to
+  \f$\forall \vect{y} \mathrel{:} (C\vect{y} \geq \vect{0}
+  \implies \langle \vect{y}, \vect{z} \rangle \geq 0)\f$.
+  If we take \f$\vect{y} = G\vect{e}_j\f$ then \f$C\vect{y}
+                 = CG\vect{e}_j \geq 0\f$,
+  since \f$CG \geq \vect{0}\f$.
+  So
+  \f$
+    \langle \vect{y}, \vect{z} \rangle
+      = (\vect{e}_j^\mathrm{T}G^\mathrm{T}) \vect{z}
+      = \vect{e}_j^\mathrm{T}(G^\mathrm{T} \vect{z})
+      \geq 0
+  \f$,
+  that is, the \f$j\f$-th component of \f$G^\mathrm{T}\vect{z}\f$
+  is non-negative. The arbitrary choice of \f$j\f$ allows us to conclude
+  that \f$G^\mathrm{T}\vect{z} \geq \vect{0}\f$, as required.
+
+  In view of this result, the following exposition assumes, for clarity,
+  that the conversion being performed is from constraints to generators.
+  Thus, even if the roles of \p source and \p dest can be interchanged,
+  in the sequel we assume the \p source system will contain the constraints
+  that represent the polyhedron and the \p dest system will contain
+  the generator that generates it.
+
+  There are some observations that are useful to understand this function:
+
+  Observation 1: Let \f$A\f$ be a system of constraints that generate
+  the polyhedron \f$P\f$ and \f$\vect{c}\f$ a new constraint that must
+  be added. Suppose that there is a line \f$\vect{z}\f$ that does not
+  saturate the constraint \f$\vect{c}\f$. If we combine the old lines
+  and rays that do not saturate \f$\vect{c}\f$ (except \f$\vect{z}\f$)
+  with \f$\vect{z}\f$ such that the new ones saturate \f$\vect{c}\f$,
+  the new lines and rays also saturate the constraints  saturated by
+  the old lines and rays.
+
+  In fact, if \f$\vect{y}_1\f$ is the old generator that does not saturate
+  \f$\vect{c}\f$, \f$\vect{y}_2\f$ is the new one such that
+  \f[
+    \vect{y}_2 = \lambda \vect{y}_1 + \mu \vect{z}
+  \f]
+  and \f$\vect{c}_1\f$ is a previous constraint that \f$\vect{y}_1\f$
+  and \f$\vect{z}\f$ saturates, we can see
+  \f[
+    \langle \vect{c}_1, \vect{y}_2 \rangle
+    = \langle \vect{c}_1, (\lambda \vect{y}_1 + \mu \vect{z}) \rangle
+    = \lambda \langle \vect{c}_1, \vect{y}_1 \rangle
+       + \mu \langle \vect{c}_1, \vect{z} \rangle
+       = 0 + \mu \langle \vect{c}_1, \vect{z} \rangle
+       = \mu \langle \vect{c}_1, \vect{z} \rangle
+  \f]
+  and
+  \f[
+    \mu \langle \vect{c}_1, \vect{z} \rangle = 0.
+  \f]
 
-  //! Updates \p sat_c using the updated constraints and generators.
-  /*!
-    It is assumed that constraints and generators are up-to-date
-    and minimized and that the Status field does not already flag
-    \p sat_c to be up-to-date.
-    The values of the saturation matrix are computed as follows:
-    \f[
-      \begin{cases}
-        sat\_c[i][j] = 0,
-          \quad \text{if } G[i] \cdot C^\mathrm{T}[j] = 0; \\
-        sat\_c[i][j] = 1,
-          \quad \text{if } G[i] \cdot C^\mathrm{T}[j] > 0.
-      \end{cases}
-    \f]
-  */
-  void update_sat_c() const;
+  Proposition 1: Let \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ be distinct
+  rays of \f$P\f$.
+  Then the following statements are equivalent:
+  a) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are adjacent extreme rays
+     (see Section \ref prelims);
+  b) \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are extreme rays and the
+     rank of the system composed by the constraints saturated by both
+     \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is equal to
+     \f$d - 2\f$, where \f$d\f$ is the rank of the system of constraints.
+
+  In fact, let \f$F\f$ be the system of generators that saturate the
+  constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$.
+  If b) holds, the set \f$F\f$ is 2-dimensional and \f$\vect{r}_1\f$ and
+  \f$\vect{r}_2\f$ generate this set. So, every generator
+  \f$\vect{x}\f$ of \f$F\f$ can be built as a combination of
+  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$, i.e.
+  \f[
+    \vect{x} = \lambda \vect{r}_1 + \mu \vect{r}_2.
+  \f]
+  This combination is non-negative because there exists at least a
+  constraint \f$c\f$ saturated by \f$\vect{r}_1\f$ and not
+  \f$\vect{r}_2\f$ (or vice versa) (because they are distinct) for which
+  \f[
+    \langle \vect{c}, \vect{x} \rangle \geq 0
+  \f]
+  and
+  \f[
+    \langle \vect{c}, \vect{x} \rangle
+    = \lambda \langle \vect{c}, \vect{r}_1 \rangle
+                           (or = \mu \langle \vect{c}, \vect{r}_2 \rangle).
+  \f]
+  So, there is no other extreme ray in \f$F\f$ and a) holds.
+  Otherwise, if b) does not hold, the rank of the system generated by
+  the constraints saturated by both \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$
+  is equal to \f$d - k\f$, with \p k \>= 3, the set \f$F\f$ is
+  \p k -dimensional and at least \p k extreme rays are necessary
+  to generate \f$F\f$.
+  So, \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent and
+  a) does not hold.
+
+  Proposition 2: When we build the new system of generators starting from
+  a system \f$A\f$ of constraints of \f$P\f$, if \f$\vect{c}\f$ is the
+  constraint to add to \f$A\f$ and all lines of \f$P\f$ saturate
+  \f$\vect{c}\f$, the new set of rays is the union of those rays that
+  saturate, of those that satisfy and of a set \f$\overline Q\f$ of
+  rays such that each of them
+  -# lies on the hyper-plane represented by the k-th constraint,
+  -# is a positive combination of two adjacent rays \f$\vect{r}_1\f$ and
+     \f$\vect{r}_2\f$ such that the first one satisfies the constraint and
+     the other does not satisfy it.
+  If the adjacency property is not taken in account, the new set of
+  rays is not irredundant, in general.
+
+  In fact, if \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ are not adjacent,
+  the rank of the system composed by the constraints saturated by both
+  \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$ is different from \f$d - 2\f$
+  (see the previous proposition) or neither \f$\vect{r}_1\f$ nor
+  \f$\vect{r}_2\f$ are extreme rays. Since the new ray \f$\vect{r}\f$
+  is a combination of \f$\vect{r}_1\f$ and \f$\vect{r}_2\f$,
+  it saturates the same constraints saturated by both \f$\vect{r}_1\f$ and
+  \f$\vect{r}_2\f$.
+  If the rank is less than \f$d - 2\f$, the rank of
+  the system composed by \f$\vect{c}\f$ (that is saturated by \f$\vect{r}\f$)
+  and by the constraints of \f$A\f$ saturated by \f$\vect{r}\f$  is less
+  than \f$d - 1\f$. It means that \f$r\f$ is redundant (see
+  Section \ref prelims).
+  If neither \f$\vect{r}_1\f$ nor \f$\vect{r}_2\f$ are extreme rays,
+  they belong to a 2-dimensional face containing exactly two extreme rays
+  of \f$P\f$.
+  These two adjacent rays build a ray equal to \f$\vect{r}\f$ and so
+  \f$\vect{r}\f$ is redundant.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+dimension_type
+Polyhedron::conversion(Source_Linear_System& source,
+                       const dimension_type start,
+                       Dest_Linear_System& dest,
+                       Bit_Matrix& sat,
+                       dimension_type num_lines_or_equalities) {
+  typedef typename Dest_Linear_System::row_type dest_row_type;
+  typedef typename Source_Linear_System::row_type source_row_type;
+
+  // Constraints and generators must have the same dimension,
+  // otherwise the scalar products below will bomb.
+  PPL_ASSERT(source.space_dimension() == dest.space_dimension());
+  const dimension_type source_space_dim = source.space_dimension();
+  const dimension_type source_num_rows = source.num_rows();
+  const dimension_type source_num_columns = source_space_dim
+    + (source.is_necessarily_closed() ? 1 : 2);
+
+
+  dimension_type dest_num_rows = dest.num_rows();
+  // The rows removed from `dest' will be placed in this vector, so they
+  // can be recycled if needed.
+  std::vector<dest_row_type> recyclable_dest_rows;
 
-  //! Updates \p sat_g using the updated constraints and generators.
-  /*!
-    It is assumed that constraints and generators are up-to-date
-    and minimized and that the Status field does not already flag
-    \p sat_g to be up-to-date.
-    The values of the saturation matrix are computed as follows:
-    \f[
-      \begin{cases}
-        sat\_g[i][j] = 0,
-          \quad \text{if } C[i] \cdot G^\mathrm{T}[j] = 0; \\
-        sat\_g[i][j] = 1,
-          \quad \text{if } C[i] \cdot G^\mathrm{T}[j] > 0.
-      \end{cases}
-    \f]
-  */
-  void update_sat_g() const;
+  using std::swap;
 
-  //! Sorts the matrix of constraints keeping status consistency.
-  /*!
-    It is assumed that constraints are up-to-date.
-    If at least one of the saturation matrices is up-to-date,
-    then \p sat_g is kept consistent with the sorted matrix
-    of constraints.
-    The method is declared \p const because reordering
-    the constraints does not modify the polyhedron
-    from a \e logical point of view.
-  */
-  void obtain_sorted_constraints() const;
+  // By construction, the number of columns of `sat' is the same as
+  // the number of rows of `source'; also, the number of rows of `sat'
+  // is the same as the number of rows of `dest'.
+  PPL_ASSERT(source_num_rows == sat.num_columns());
+  PPL_ASSERT(dest_num_rows == sat.num_rows());
+
+  // If `start > 0', then we are converting the pending constraints.
+  PPL_ASSERT(start == 0 || start == source.first_pending_row());
+
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(normalized_sp_o);
+
+  bool dest_sorted = dest.is_sorted();
+  const dimension_type dest_first_pending_row = dest.first_pending_row();
+
+  // This will contain the row indexes of the redundant rows of `source'.
+  std::vector<dimension_type> redundant_source_rows;
+
+  // Converting the sub-system of `source' having rows with indexes
+  // from `start' to the last one (i.e., `source_num_rows' - 1).
+  for (dimension_type k = start; k < source_num_rows; ++k) {
+    const source_row_type& source_k = source[k];
+
+    // `scalar_prod[i]' will contain the scalar product of the
+    // constraint `source_k' and the generator `dest_rows[i]'.  This
+    // product is 0 if and only if the generator saturates the
+    // constraint.
+    PPL_DIRTY_TEMP(std::vector<Coefficient>, scalar_prod);
+    if (dest_num_rows > scalar_prod.size()) {
+      scalar_prod.insert(scalar_prod.end(),
+                         dest_num_rows - scalar_prod.size(),
+                         Coefficient_zero());
+    }
+    // `index_non_zero' will indicate the first generator in `dest_rows'
+    // that does not saturate the constraint `source_k'.
+    dimension_type index_non_zero = 0;
+    for ( ; index_non_zero < dest_num_rows; ++index_non_zero) {
+      WEIGHT_BEGIN();
+      Scalar_Products::assign(scalar_prod[index_non_zero],
+			      source_k,
+			      dest.sys.rows[index_non_zero]);
+      WEIGHT_ADD_MUL(17, source_space_dim);
+      if (scalar_prod[index_non_zero] != 0)
+	// The generator does not saturate the constraint.
+	break;
+      // Check if the client has requested abandoning all expensive
+      // computations.  If so, the exception specified by the client
+      // is thrown now.
+      maybe_abandon();
+    }
+    for (dimension_type i = index_non_zero + 1; i < dest_num_rows; ++i) {
+      WEIGHT_BEGIN();
+      Scalar_Products::assign(scalar_prod[i], source_k, dest.sys.rows[i]);
+      WEIGHT_ADD_MUL(25, source_space_dim);
+      // Check if the client has requested abandoning all expensive
+      // computations.  If so, the exception specified by the client
+      // is thrown now.
+      maybe_abandon();
+    }
+
+    // We first treat the case when `index_non_zero' is less than
+    // `num_lines_or_equalities', i.e., when the generator that
+    // does not saturate the constraint `source_k' is a line.
+    // The other case (described later) is when all the lines
+    // in `dest_rows' (i.e., all the rows having indexes less than
+    // `num_lines_or_equalities') do saturate the constraint.
+
+    if (index_non_zero < num_lines_or_equalities) {
+      // Since the generator `dest_rows[index_non_zero]' does not saturate
+      // the constraint `source_k', it can no longer be a line
+      // (see saturation rule in Section \ref prelims).
+      // Therefore, we first transform it to a ray.
+      dest.sys.rows[index_non_zero].set_is_ray_or_point_or_inequality();
+      // Of the two possible choices, we select the ray satisfying
+      // the constraint (namely, the ray whose scalar product
+      // with the constraint gives a positive result).
+      if (scalar_prod[index_non_zero] < 0) {
+	// The ray `dest_rows[index_non_zero]' lies on the wrong half-space:
+	// we change it to have the opposite direction.
+	neg_assign(scalar_prod[index_non_zero]);
+        neg_assign(dest.sys.rows[index_non_zero].expr);
+        // The modified row may still not be OK(), so don't assert OK here.
+        // They are all checked at the end of this function.
+      }
+      // Having changed a line to a ray, we set `dest_rows' to be a
+      // non-sorted system, we decrement the number of lines of `dest_rows'
+      // and, if necessary, we move the new ray below all the remaining lines.
+      dest_sorted = false;
+      --num_lines_or_equalities;
+      if (index_non_zero != num_lines_or_equalities) {
+        swap(dest.sys.rows[index_non_zero],
+             dest.sys.rows[num_lines_or_equalities]);
+	swap(scalar_prod[index_non_zero],
+             scalar_prod[num_lines_or_equalities]);
+      }
+      const dest_row_type& dest_nle = dest.sys.rows[num_lines_or_equalities];
+
+      // Computing the new lineality space.
+      // Since each line must lie on the hyper-plane corresponding to
+      // the constraint `source_k', the scalar product between
+      // the line and the constraint must be 0.
+      // This property already holds for the lines having indexes
+      // between 0 and `index_non_zero' - 1.
+      // We have to consider the remaining lines, having indexes
+      // between `index_non_zero' and `num_lines_or_equalities' - 1.
+      // Each line that does not saturate the constraint has to be
+      // linearly combined with generator `dest_nle' so that the
+      // resulting new line saturates the constraint.
+      // Note that, by Observation 1 above, the resulting new line
+      // will still saturate all the constraints that were saturated by
+      // the old line.
+
+      Coefficient& scalar_prod_nle = scalar_prod[num_lines_or_equalities];
+      PPL_ASSERT(scalar_prod_nle != 0);
+      for (dimension_type
+	     i = index_non_zero; i < num_lines_or_equalities; ++i) {
+	if (scalar_prod[i] != 0) {
+	  // The following fragment optimizes the computation of
+	  //
+          // <CODE>
+	  //   Coefficient scale = scalar_prod[i];
+	  //   scale.gcd_assign(scalar_prod_nle);
+	  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+	  //   Coefficient normalized_sp_n = scalar_prod_nle / scale;
+	  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+	  //     dest[i][c] *= normalized_sp_n;
+	  //     dest[i][c] -= normalized_sp_i * dest_nle[c];
+	  //   }
+          // </CODE>
+	  normalize2(scalar_prod[i],
+		     scalar_prod_nle,
+		     normalized_sp_i,
+		     normalized_sp_o);
+          dest_row_type& dest_i = dest.sys.rows[i];
+          neg_assign(normalized_sp_i);
+          dest_i.expr.linear_combine(dest_nle.expr,
+                                     normalized_sp_o, normalized_sp_i);
+	  dest_i.strong_normalize();
+          // The modified row may still not be OK(), so don't assert OK here.
+          // They are all checked at the end of this function.
+	  scalar_prod[i] = 0;
+	  // dest_sorted has already been set to false.
+	}
+      }
 
-  //! Sorts the matrix of generators keeping status consistency.
-  /*!
-    It is assumed that generators are up-to-date.
-    If at least one of the saturation matrices is up-to-date,
-    then \p sat_c is kept consistent with the sorted matrix
-    of generators.
-    The method is declared \p const because reordering
-    the generators does not modify the polyhedron
-    from a \e logical point of view.
-  */
-  void obtain_sorted_generators() const;
+      // Computing the new pointed cone.
+      // Similarly to what we have done during the computation of
+      // the lineality space, we consider all the remaining rays
+      // (having indexes strictly greater than `num_lines_or_equalities')
+      // that do not saturate the constraint `source_k'. These rays
+      // are positively combined with the ray `dest_nle' so that the
+      // resulting new rays saturate the constraint.
+      for (dimension_type
+	     i = num_lines_or_equalities + 1; i < dest_num_rows; ++i) {
+	if (scalar_prod[i] != 0) {
+	  // The following fragment optimizes the computation of
+	  //
+          // <CODE>
+	  //   Coefficient scale = scalar_prod[i];
+	  //   scale.gcd_assign(scalar_prod_nle);
+	  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+	  //   Coefficient normalized_sp_n = scalar_prod_nle / scale;
+	  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+	  //     dest[i][c] *= normalized_sp_n;
+	  //     dest[i][c] -= normalized_sp_i * dest_nle[c];
+	  //   }
+          // </CODE>
+	  normalize2(scalar_prod[i],
+		     scalar_prod_nle,
+		     normalized_sp_i,
+		     normalized_sp_o);
+          dest_row_type& dest_i = dest.sys.rows[i];
+          WEIGHT_BEGIN();
+          neg_assign(normalized_sp_i);
+          dest_i.expr.linear_combine(dest_nle.expr,
+                                     normalized_sp_o, normalized_sp_i);
+	  dest_i.strong_normalize();
+          // The modified row may still not be OK(), so don't assert OK here.
+          // They are all checked at the end of this function.
+	  scalar_prod[i] = 0;
+	  // `dest_sorted' has already been set to false.
+          WEIGHT_ADD_MUL(41, source_space_dim);
+	}
+        // Check if the client has requested abandoning all expensive
+        // computations.  If so, the exception specified by the client
+        // is thrown now.
+	maybe_abandon();
+      }
+      // Since the `scalar_prod_nle' is positive (by construction), it
+      // does not saturate the constraint `source_k'.  Therefore, if
+      // the constraint is an inequality, we set to 1 the
+      // corresponding element of `sat' ...
+      Bit_Row& sat_nle = sat[num_lines_or_equalities];
+      if (source_k.is_ray_or_point_or_inequality())
+	sat_nle.set(k - redundant_source_rows.size());
+      // ... otherwise, the constraint is an equality which is
+      // violated by the generator `dest_nle': the generator has to be
+      // removed from `dest_rows'.
+      else {
+	--dest_num_rows;
+        swap(dest.sys.rows[num_lines_or_equalities],
+             dest.sys.rows[dest_num_rows]);
+        recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+        swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+        dest.sys.rows.pop_back();
+        PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+
+	swap(scalar_prod_nle, scalar_prod[dest_num_rows]);
+	swap(sat_nle, sat[dest_num_rows]);
+	// dest_sorted has already been set to false.
+      }
+    }
+    // Here we have `index_non_zero' >= `num_lines_or_equalities',
+    // so that all the lines in `dest_rows' saturate the constraint `source_k'.
+    else {
+      // First, we reorder the generators in `dest_rows' as follows:
+      // -# all the lines should have indexes between 0 and
+      //    `num_lines_or_equalities' - 1 (this already holds);
+      // -# all the rays that saturate the constraint should have
+      //    indexes between `num_lines_or_equalities' and
+      //    `lines_or_equal_bound' - 1; these rays form the set Q=.
+      // -# all the rays that have a positive scalar product with the
+      //    constraint should have indexes between `lines_or_equal_bound'
+      //    and `sup_bound' - 1; these rays form the set Q+.
+      // -# all the rays that have a negative scalar product with the
+      //    constraint should have indexes between `sup_bound' and
+      //    `dest_num_rows' - 1; these rays form the set Q-.
+      dimension_type lines_or_equal_bound = num_lines_or_equalities;
+      dimension_type inf_bound = dest_num_rows;
+      // While we find saturating generators, we simply increment
+      // `lines_or_equal_bound'.
+      while (inf_bound > lines_or_equal_bound
+	     && scalar_prod[lines_or_equal_bound] == 0)
+	++lines_or_equal_bound;
+      dimension_type sup_bound = lines_or_equal_bound;
+      while (inf_bound > sup_bound) {
+	const int sp_sign = sgn(scalar_prod[sup_bound]);
+	if (sp_sign == 0) {
+	  // This generator has to be moved in Q=.
+	  swap(dest.sys.rows[sup_bound], dest.sys.rows[lines_or_equal_bound]);
+	  swap(scalar_prod[sup_bound], scalar_prod[lines_or_equal_bound]);
+	  swap(sat[sup_bound], sat[lines_or_equal_bound]);
+	  ++lines_or_equal_bound;
+	  ++sup_bound;
+          dest_sorted = false;
+	}
+	else if (sp_sign < 0) {
+	  // This generator has to be moved in Q-.
+	  --inf_bound;
+          swap(dest.sys.rows[sup_bound], dest.sys.rows[inf_bound]);
+	  swap(sat[sup_bound], sat[inf_bound]);
+	  swap(scalar_prod[sup_bound], scalar_prod[inf_bound]);
+          dest_sorted = false;
+	}
+	else
+	  // sp_sign > 0: this generator has to be moved in Q+.
+	  ++sup_bound;
+      }
 
-  //! Sorts the matrix of constraints and updates \p sat_c.
-  /*!
-    It is assumed that both constraints and generators
-    are up-to-date and minimized.
-    The method is declared \p const because reordering
-    the constraints does not modify the polyhedron
-    from a \e logical point of view.
-  */
-  void obtain_sorted_constraints_with_sat_c() const;
+      if (sup_bound == dest_num_rows) {
+	// Here the set Q- is empty.
+	// If the constraint is an inequality, then all the generators
+	// in Q= and Q+ satisfy the constraint. The constraint is redundant
+	// and it can be safely removed from the constraint system.
+	// This is why the `source' parameter is not declared `const'.
+	if (source_k.is_ray_or_point_or_inequality()) {
+          redundant_source_rows.push_back(k);
+	} else {
+	  // The constraint is an equality, so that all the generators
+	  // in Q+ violate it. Since the set Q- is empty, we can simply
+	  // remove from `dest_rows' all the generators of Q+.
+	  PPL_ASSERT(dest_num_rows >= lines_or_equal_bound);
+          while (dest_num_rows != lines_or_equal_bound) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+        }
+      }
+      else {
+	// The set Q- is not empty, i.e., at least one generator
+	// violates the constraint `source_k'.
+	// We have to further distinguish two cases:
+	if (sup_bound == num_lines_or_equalities) {
+	  // The set Q+ is empty, so that all generators that satisfy
+	  // the constraint also saturate it.
+	  // We can simply remove from `dest_rows' all the generators in Q-.
+          PPL_ASSERT(dest_num_rows >= sup_bound);
+          while (dest_num_rows != sup_bound) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+        } else {
+	  // The sets Q+ and Q- are both non-empty.
+	  // The generators of the new pointed cone are all those satisfying
+	  // the constraint `source_k' plus a set of new rays enjoying
+	  // the following properties:
+	  // -# they lie on the hyper-plane represented by the constraint
+	  // -# they are obtained as a positive combination of two
+	  //    adjacent rays, the first taken from Q+ and the second
+	  //    taken from Q-.
+
+	  // The adjacency property is necessary to have an irredundant
+	  // set of new rays (see proposition 2).
+	  const dimension_type bound = dest_num_rows;
+
+	  // In the following loop,
+	  // `i' runs through the generators in the set Q+ and
+	  // `j' runs through the generators in the set Q-.
+	  for (dimension_type i = lines_or_equal_bound; i < sup_bound; ++i) {
+	    for(dimension_type j = sup_bound; j < bound; ++j) {
+	      // Checking if generators `dest_rows[i]' and `dest_rows[j]' are
+              // adjacent.
+	      // If there exist another generator that saturates
+	      // all the constraints saturated by both `dest_rows[i]' and
+	      // `dest_rows[j]', then they are NOT adjacent.
+	      PPL_ASSERT(sat[i].last() == C_Integer<unsigned long>::max
+                         || sat[i].last() < k);
+	      PPL_ASSERT(sat[j].last() == C_Integer<unsigned long>::max
+                         || sat[j].last() < k);
+
+	      // Being the union of `sat[i]' and `sat[j]',
+	      // `new_satrow' corresponds to a ray that saturates all the
+	      // constraints saturated by both `dest_rows[i]' and
+              // `dest_rows[j]'.
+	      Bit_Row new_satrow(sat[i], sat[j]);
+
+	      // Compute the number of common saturators.
+	      // NOTE: this number has to be less than `k' because
+	      // we are treating the `k'-th constraint.
+	      const dimension_type num_common_satur
+                = k - redundant_source_rows.size() - new_satrow.count_ones();
+
+	      // Even before actually creating the new ray as a
+	      // positive combination of `dest_rows[i]' and `dest_rows[j]',
+	      // we exploit saturation information to check if
+	      // it can be an extremal ray. To this end, we refer
+	      // to the definition of a minimal proper face
+	      // (see comments in Polyhedron.defs.hh):
+	      // an extremal ray saturates at least `n' - `t' - 1
+	      // constraints, where `n' is the dimension of the space
+	      // and `t' is the dimension of the lineality space.
+	      // Since `n == source_num_columns - 1' and
+	      // `t == num_lines_or_equalities', we obtain that
+	      // an extremal ray saturates at least
+	      // `source_num_columns - num_lines_or_equalities - 2'
+	      // constraints.
+	      if (num_common_satur
+		  >= source_num_columns - num_lines_or_equalities - 2) {
+		// The minimal proper face rule is satisfied.
+		// Now we actually check for redundancy by computing
+		// adjacency information.
+		bool redundant = false;
+		WEIGHT_BEGIN();
+		for (dimension_type
+		       l = num_lines_or_equalities; l < bound; ++l)
+		  if (l != i && l != j
+		      && subset_or_equal(sat[l], new_satrow)) {
+		    // Found another generator saturating all the
+		    // constraints saturated by both `dest_rows[i]' and
+                    // `dest_rows[j]'.
+		    redundant = true;
+		    break;
+		  }
+                PPL_ASSERT(bound >= num_lines_or_equalities);
+                WEIGHT_ADD_MUL(15, bound - num_lines_or_equalities);
+		if (!redundant) {
+		  // Adding the new ray to `dest_rows' and the corresponding
+		  // saturation row to `sat'.
+		  dest_row_type new_row;
+		  if (recyclable_dest_rows.empty()) {
+		    sat.add_recycled_row(new_satrow);
+		  }
+		  else {
+                    swap(new_row, recyclable_dest_rows.back());
+                    recyclable_dest_rows.pop_back();
+                    new_row.set_space_dimension_no_ok(source_space_dim);
+                    swap(sat[dest_num_rows], new_satrow);
+                  }
+
+		  // The following fragment optimizes the computation of
+		  //
+                  // <CODE>
+		  //   Coefficient scale = scalar_prod[i];
+		  //   scale.gcd_assign(scalar_prod[j]);
+		  //   Coefficient normalized_sp_i = scalar_prod[i] / scale;
+		  //   Coefficient normalized_sp_j = scalar_prod[j] / scale;
+		  //   for (dimension_type c = dest_num_columns; c-- > 0; ) {
+		  //     new_row[c] = normalized_sp_i * dest[j][c];
+		  //     new_row[c] -= normalized_sp_j * dest[i][c];
+		  //   }
+                  // </CODE>
+		  normalize2(scalar_prod[i],
+			     scalar_prod[j],
+			     normalized_sp_i,
+			     normalized_sp_o);
+		  WEIGHT_BEGIN();
+
+                  neg_assign(normalized_sp_o);
+                  new_row = dest.sys.rows[j];
+                  // TODO: Check if the following assertions hold.
+                  PPL_ASSERT(normalized_sp_i != 0);
+                  PPL_ASSERT(normalized_sp_o != 0);
+                  new_row.expr.linear_combine(dest.sys.rows[i].expr,
+                                              normalized_sp_i, normalized_sp_o);
+
+                  WEIGHT_ADD_MUL(86, source_space_dim);
+		  new_row.strong_normalize();
+                  // Don't assert new_row.OK() here, because it may fail if
+                  // the parameter `dest' contained a row that wasn't ok.
+		  // Since we added a new generator to `dest_rows',
+		  // we also add a new element to `scalar_prod';
+		  // by construction, the new ray lies on the hyper-plane
+		  // represented by the constraint `source_k'.
+		  // Thus, the added scalar product is 0.
+		  PPL_ASSERT(scalar_prod.size() >= dest_num_rows);
+		  if (scalar_prod.size() <= dest_num_rows)
+		    scalar_prod.push_back(Coefficient_zero());
+		  else
+		    scalar_prod[dest_num_rows] = Coefficient_zero();
+
+                  dest.sys.rows.resize(dest.sys.rows.size() + 1);
+                  swap(dest.sys.rows.back(), new_row);
+		  // Increment the number of generators.
+		  ++dest_num_rows;
+		} // if (!redundant)
+	      }
+	    }
+            // Check if the client has requested abandoning all expensive
+            // computations.  If so, the exception specified by the client
+            // is thrown now.
+	    maybe_abandon();
+	  }
+	  // Now we substitute the rays in Q- (i.e., the rays violating
+	  // the constraint) with the newly added rays.
+	  dimension_type j;
+	  if (source_k.is_ray_or_point_or_inequality()) {
+	    // The constraint is an inequality:
+	    // the violating generators are those in Q-.
+	    j = sup_bound;
+	    // For all the generators in Q+, set to 1 the corresponding
+	    // entry for the constraint `source_k' in the saturation matrix.
+
+            // After the removal of redundant rows in `source', the k-th
+            // row will have index `new_k'.
+            const dimension_type new_k = k - redundant_source_rows.size();
+            for (dimension_type l = lines_or_equal_bound; l < sup_bound; ++l)
+              sat[l].set(new_k);
+	  }
+	  else
+	    // The constraint is an equality:
+	    // the violating generators are those in the union of Q+ and Q-.
+	    j = lines_or_equal_bound;
+
+	  // Swapping the newly added rays
+	  // (index `i' running through `dest_num_rows - 1' down-to `bound')
+	  // with the generators violating the constraint
+	  // (index `j' running through `j' up-to `bound - 1').
+	  dimension_type i = dest_num_rows;
+	  while (j < bound && i > bound) {
+	    --i;
+            swap(dest.sys.rows[i], dest.sys.rows[j]);
+	    swap(scalar_prod[i], scalar_prod[j]);
+	    swap(sat[i], sat[j]);
+	    ++j;
+	    dest_sorted = false;
+	  }
+	  // Setting the number of generators in `dest':
+	  // - if the number of generators violating the constraint
+	  //   is less than or equal to the number of the newly added
+	  //   generators, we assign `i' to `dest_num_rows' because
+	  //   all generators above this index are significant;
+	  // - otherwise, we assign `j' to `dest_num_rows' because
+	  //   all generators below index `j-1' violates the constraint.
+          dimension_type new_num_rows = (j == bound) ? i : j;
+          PPL_ASSERT(dest_num_rows >= new_num_rows);
+          while (dest_num_rows != new_num_rows) {
+            recyclable_dest_rows.resize(recyclable_dest_rows.size() + 1);
+            swap(dest.sys.rows.back(), recyclable_dest_rows.back());
+            dest.sys.rows.pop_back();
+            --dest_num_rows;
+          }
+          PPL_ASSERT(dest_num_rows == dest.sys.rows.size());
+	}
+      }
+    }
+  }
 
-  //! Sorts the matrix of generators and updates \p sat_g.
-  /*!
-    It is assumed that both constraints and generators
-    are up-to-date and minimized.
-    The method is declared \p const because reordering
-    the generators does not modify the polyhedron
-    from a \e logical point of view.
-  */
-  void obtain_sorted_generators_with_sat_g() const;
+  // We may have identified some redundant constraints in `source',
+  // which have been swapped at the end of the system.
+  if (redundant_source_rows.size() > 0) {
+    source.remove_rows(redundant_source_rows);
+    sat.remove_trailing_columns(redundant_source_rows.size());
+  }
+
+  // If `start == 0', then `source' was sorted and remained so.
+  // If otherwise `start > 0', then the two sub-system made by the
+  // non-pending rows and the pending rows, respectively, were both sorted.
+  // Thus, the overall system is sorted if and only if either
+  // `start == source_num_rows' (i.e., the second sub-system is empty)
+  // or the row ordering holds for the two rows at the boundary between
+  // the two sub-systems.
+  if (start > 0 && start < source.num_rows())
+    source.set_sorted(compare(source[start - 1], source[start]) <= 0);
+  // There are no longer pending constraints in `source'.
+  source.unset_pending_rows();
+
+  // We may have identified some redundant rays in `dest_rows',
+  // which have been swapped into recyclable_dest_rows.
+  if (!recyclable_dest_rows.empty()) {
+    const dimension_type num_removed_rows = recyclable_dest_rows.size();
+    sat.remove_trailing_rows(num_removed_rows);
+  }
+  if (dest_sorted)
+    // If the non-pending generators in `dest' are still declared to be
+    // sorted, then we have to also check for the sortedness of the
+    // pending generators.
+    for (dimension_type i = dest_first_pending_row; i < dest_num_rows; ++i)
+      if (compare(dest.sys.rows[i - 1], dest.sys.rows[i]) > 0) {
+	dest_sorted = false;
+	break;
+      }
 
-  //@} // Updating and Sorting Matrices
+#ifndef NDEBUG
+  // The previous code can modify the rows' fields, exploiting the friendness.
+  // Check that all rows are OK now.
+  for (dimension_type i = dest.num_rows(); i-- > 0; )
+    PPL_ASSERT(dest.sys.rows[i].OK());
+#endif
 
-  //! \name Weak and Strong Minimization of Descriptions
-  //@{
+  dest.sys.index_first_pending = dest.num_rows();
+  dest.set_sorted(dest_sorted);
+  PPL_ASSERT(dest.sys.OK());
 
-  //! Applies (weak) minimization to both the constraints and generators.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+  return num_lines_or_equalities;
+}
 
-    Minimization is not attempted if the Status field already declares
-    both systems to be minimized.
-  */
-  bool minimize() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Applies strong minimization to the constraints of an NNC polyhedron.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
-  */
-  bool strongly_minimize_constraints() const;
+/* Automatically generated from PPL source file ../src/Polyhedron_minimize.templates.hh line 1. */
+/* Polyhedron class implementation: minimize() and add_and_minimize().
+*/
 
-  //! Applies strong minimization to the generators of an NNC polyhedron.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
-  */
-  bool strongly_minimize_generators() const;
 
-  //! If constraints are up-to-date, obtain a simplified copy of them.
-  Constraint_System simplified_constraints() const;
+/* Automatically generated from PPL source file ../src/Polyhedron_minimize.templates.hh line 29. */
+#include <stdexcept>
 
-  //@} // Weak and Strong Minimization of Descriptions
+namespace Parma_Polyhedra_Library {
 
-  enum Three_Valued_Boolean {
-    TVB_TRUE,
-    TVB_FALSE,
-    TVB_DONT_KNOW
-  };
+/*!
+  \return
+  <CODE>true</CODE> if the polyhedron is empty, <CODE>false</CODE>
+  otherwise.
+
+  \param con_to_gen
+  <CODE>true</CODE> if \p source represents the constraints,
+  <CODE>false</CODE> otherwise;
+
+  \param source
+  The given system, which is not empty;
+
+  \param dest
+  The system to build and minimize;
+
+  \param sat
+  The saturation matrix.
+
+  \p dest is not <CODE>const</CODE> because it will be built (and then
+  modified) during minimize(). Also, \p sat and \p source are
+  not <CODE>const</CODE> because the former will be built during
+  \p dest creation and the latter will maybe be sorted and modified by
+  <CODE>conversion()</CODE> and <CODE>simplify()</CODE>.
+
+  \p sat has the generators on its columns and the constraints on its rows
+  if \p con_to_gen is <CODE>true</CODE>, otherwise it has the generators on
+  its rows and the constraints on its columns.
+
+  Given \p source, this function builds (by means of
+  <CODE>conversion()</CODE>) \p dest and then simplifies (invoking
+  <CODE>simplify()</CODE>) \p source, erasing redundant rows.
+  For the sequel we assume that \p source is the system of constraints
+  and \p dest is the system of generators.
+  This will simplify the description of the function; the dual case is
+  similar.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+bool
+Polyhedron::minimize(const bool con_to_gen,
+                     Source_Linear_System& source,
+                     Dest_Linear_System& dest,
+                     Bit_Matrix& sat) {
+
+  typedef typename Dest_Linear_System::row_type dest_row_type;
+
+  // Topologies have to agree.
+  PPL_ASSERT(source.topology() == dest.topology());
+  // `source' cannot be empty: even if it is an empty constraint system,
+  // representing the universe polyhedron, homogenization has added
+  // the positive constraint. It also cannot be an empty generator system,
+  // since this function is always called starting from a non-empty
+  // polyhedron.
+  PPL_ASSERT(!source.has_no_rows());
+
+  // Sort the source system, if necessary.
+  if (!source.is_sorted())
+    source.sort_rows();
+
+  // Initialization of the system of generators `dest'.
+  // The algorithm works incrementally and we haven't seen any
+  // constraint yet: as a consequence, `dest' should describe
+  // the universe polyhedron of the appropriate dimension.
+  // To this end, we initialize it to the identity matrix of dimension
+  // `source.num_columns()': the rows represent the lines corresponding
+  // to the canonical basis of the vector space.
+  dimension_type dest_num_rows
+    = source.topology() == NECESSARILY_CLOSED ? source.space_dimension() + 1
+                                              : source.space_dimension() + 2;
+
+  dest.clear();
+  dest.set_space_dimension(source.space_dimension());
+
+  // Initialize `dest' to the identity matrix.
+  for (dimension_type i = 0; i < dest_num_rows; ++i) {
+    Linear_Expression expr;
+    expr.set_space_dimension(dest_num_rows - 1);
+    if (i == 0)
+      expr += 1;
+    else
+      expr += Variable(i - 1);
+    dest_row_type dest_i(expr, dest_row_type::LINE_OR_EQUALITY, NECESSARILY_CLOSED);
+    if (dest.topology() == NOT_NECESSARILY_CLOSED)
+      dest_i.mark_as_not_necessarily_closed();
+    dest.sys.insert_no_ok(dest_i, Recycle_Input());
+  }
+  // The identity matrix `dest' is not sorted (see the sorting rules
+  // in Constrant.cc and Generator.cc).
+  dest.set_sorted(false);
+
+  // NOTE: the system `dest', as it is now, is not a _legal_ system of
+  //       generators, because in the first row we have a line with a
+  //       non-zero divisor (which should only happen for
+  //       points). However, this is NOT a problem, because `source'
+  //       necessarily contains the positivity constraint (or a
+  //       combination of it with another constraint) which will
+  //       restore things as they should be.
+
+
+  // Building a saturation matrix and initializing it by setting
+  // all of its elements to zero. This matrix will be modified together
+  // with `dest' during the conversion.
+  // NOTE: since we haven't seen any constraint yet, the relevant
+  //       portion of `tmp_sat' is the sub-matrix consisting of
+  //       the first 0 columns: thus the relevant portion correctly
+  //       characterizes the initial saturation information.
+  Bit_Matrix tmp_sat(dest_num_rows, source.num_rows());
+
+  // By invoking the function conversion(), we populate `dest' with
+  // the generators characterizing the polyhedron described by all
+  // the constraints in `source'.
+  // The `start' parameter is zero (we haven't seen any constraint yet)
+  // and the 5th parameter (representing the number of lines in `dest'),
+  // by construction, is equal to `dest_num_rows'.
+  const dimension_type num_lines_or_equalities
+    = conversion(source, 0, dest, tmp_sat, dest_num_rows);
+  // conversion() may have modified the number of rows in `dest'.
+  dest_num_rows = dest.num_rows();
 
-  //! Polynomial but incomplete equivalence test between polyhedra.
-  Three_Valued_Boolean quick_equivalence_test(const Polyhedron& y) const;
+#ifndef NDEBUG
+  for (dimension_type i = dest.num_rows(); i-- > 0; )
+    PPL_ASSERT(dest[i].OK());
+#endif
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
-  bool is_included_in(const Polyhedron& y) const;
+  // Checking if the generators in `dest' represent an empty polyhedron:
+  // the polyhedron is empty if there are no points
+  // (because rays, lines and closure points need a supporting point).
+  // Points can be detected by looking at:
+  // - the divisor, for necessarily closed polyhedra;
+  // - the epsilon coordinate, for NNC polyhedra.
+  dimension_type first_point;
+  if (dest.is_necessarily_closed()) {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.inhomogeneous_term() > 0)
+        break;
+  } else {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0)
+        break;
+  }
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+  if (first_point == dest_num_rows)
+    if (con_to_gen)
+      // No point has been found: the polyhedron is empty.
+      return true;
+    else {
+      // Here `con_to_gen' is false: `dest' is a system of constraints.
+      // In this case the condition `first_point == dest_num_rows'
+      // actually means that all the constraints in `dest' have their
+      // inhomogeneous term equal to 0.
+      // This is an ILLEGAL situation, because it implies that
+      // the constraint system `dest' lacks the positivity constraint
+      // and no linear combination of the constraints in `dest'
+      // can reintroduce the positivity constraint.
+      PPL_UNREACHABLE;
+      return false;
+    }
+  else {
+    // A point has been found: the polyhedron is not empty.
+    // Now invoking simplify() to remove all the redundant constraints
+    // from the system `source'.
+    // Since the saturation matrix `tmp_sat' returned by conversion()
+    // has rows indexed by generators (the rows of `dest') and columns
+    // indexed by constraints (the rows of `source'), we have to
+    // transpose it to obtain the saturation matrix needed by simplify().
+    sat.transpose_assign(tmp_sat);
+    simplify(source, sat);
+    return false;
+  }
+}
 
-    \param expr
-    The linear expression to test;
 
-    \param from_above
-    <CODE>true</CODE> if and only if the boundedness of interest is
-    "from above".
+/*!
+  \return
+  <CODE>true</CODE> if the obtained polyhedron is empty,
+  <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds(const Linear_Expression& expr, bool from_above) const;
+  \param con_to_gen
+  <CODE>true</CODE> if \p source1 and \p source2 are system of
+  constraints, <CODE>false</CODE> otherwise;
+
+  \param source1
+  The first element of the given DD pair;
+
+  \param dest
+  The second element of the given DD pair;
+
+  \param sat
+  The saturation matrix that bind \p source1 to \p dest;
+
+  \param source2
+  The new system of generators or constraints.
+
+  It is assumed that \p source1 and \p source2 are sorted and have
+  no pending rows. It is also assumed that \p dest has no pending rows.
+  On entry, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of \p source1.
+  On exit, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of the system obtained
+  by merging \p source1 and \p source2.
+
+  Let us suppose we want to add some constraints to a given system of
+  constraints \p source1. This method, given a minimized double description
+  pair (\p source1, \p dest) and a system of new constraints \p source2,
+  modifies \p source1 by adding to it the constraints of \p source2 that
+  are not in \p source1. Then, by invoking
+  <CODE>add_and_minimize(bool, Linear_System_Class&, Linear_System_Class&, Bit_Matrix&)</CODE>,
+  processes the added constraints obtaining a new DD pair.
+
+  This method treats also the dual case, i.e., adding new generators to
+  a previous system of generators. In this case \p source1 contains the
+  old generators, \p source2 the new ones and \p dest is the system
+  of constraints in the given minimized DD pair.
+
+  Since \p source2 contains the constraints (or the generators) that
+  will be added to \p source1, it is constant: it will not be modified.
+*/
+template <typename Source_Linear_System1, typename Source_Linear_System2,
+          typename Dest_Linear_System>
+bool
+Polyhedron::add_and_minimize(const bool con_to_gen,
+                             Source_Linear_System1& source1,
+                             Dest_Linear_System& dest,
+                             Bit_Matrix& sat,
+                             const Source_Linear_System2& source2) {
+  // `source1' and `source2' cannot be empty.
+  PPL_ASSERT(!source1.has_no_rows() && !source2.has_no_rows());
+  // `source1' and `source2' must have the same number of columns
+  // to be merged.
+  PPL_ASSERT(source1.num_columns() == source2.num_columns());
+  // `source1' and `source2' are fully sorted.
+  PPL_ASSERT(source1.is_sorted() && source1.num_pending_rows() == 0);
+  PPL_ASSERT(source2.is_sorted() && source2.num_pending_rows() == 0);
+  PPL_ASSERT(dest.num_pending_rows() == 0);
+
+  const dimension_type old_source1_num_rows = source1.num_rows();
+  // `k1' and `k2' run through the rows of `source1' and `source2', resp.
+  dimension_type k1 = 0;
+  dimension_type k2 = 0;
+  dimension_type source2_num_rows = source2.num_rows();
+  while (k1 < old_source1_num_rows && k2 < source2_num_rows) {
+    // Add to `source1' the constraints from `source2', as pending rows.
+    // We exploit the property that initially both `source1' and `source2'
+    // are sorted and index `k1' only scans the non-pending rows of `source1',
+    // so that it is not influenced by the pending rows appended to it.
+    // This way no duplicate (i.e., trivially redundant) constraint
+    // is introduced in `source1'.
+    const int cmp = compare(source1[k1], source2[k2]);
+    if (cmp == 0) {
+      // We found the same row: there is no need to add `source2[k2]'.
+      ++k2;
+      // By sortedness, since `k1 < old_source1_num_rows',
+      // we can increment index `k1' too.
+      ++k1;
+    }
+    else if (cmp < 0)
+      // By sortedness, we can increment `k1'.
+      ++k1;
+    else {
+      // Here `cmp > 0'.
+      // By sortedness, `source2[k2]' cannot be in `source1'.
+      // We add it as a pending row of `source1' (sortedness unaffected).
+      source1.add_pending_row(source2[k2]);
+      // We can increment `k2'.
+      ++k2;
+    }
+  }
+  // Have we scanned all the rows in `source2'?
+  if (k2 < source2_num_rows)
+    // By sortedness, all the rows in `source2' having indexes
+    // greater than or equal to `k2' were not in `source1'.
+    // We add them as pending rows of 'source1' (sortedness not affected).
+    for ( ; k2 < source2_num_rows; ++k2)
+      source1.add_pending_row(source2[k2]);
+
+  if (source1.num_pending_rows() == 0)
+    // No row was appended to `source1', because all the constraints
+    // in `source2' were already in `source1'.
+    // There is nothing left to do ...
+    return false;
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+  return add_and_minimize(con_to_gen, source1, dest, sat);
+}
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+/*!
+  \return
+  <CODE>true</CODE> if the obtained polyhedron is empty,
+  <CODE>false</CODE> otherwise.
 
-    \param ext_n
-    The numerator of the extremum value;
+  \param con_to_gen
+  <CODE>true</CODE> if \p source is a system of constraints,
+  <CODE>false</CODE> otherwise;
 
-    \param ext_d
-    The denominator of the extremum value;
+  \param source
+  The first element of the given DD pair. It also contains the pending
+  rows to be processed;
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+  \param dest
+  The second element of the given DD pair. It cannot have pending rows;
 
-    \param g
-    When maximization or minimization succeeds, will be assigned
-    a point or closure point where \p expr reaches the
-    corresponding extremum value.
+  \param sat
+  The saturation matrix that bind the upper part of \p source to \p dest.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  On entry, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the non-pending rows of \p source.
+  On exit, the rows of \p sat are indexed by the rows of \p dest
+  and its columns are indexed by the rows of \p source.
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p g are left untouched.
-  */
-  bool max_min(const Linear_Expression& expr,
-	       bool maximize,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator& g) const;
+  Let us suppose that \p source is a system of constraints.
+  This method assumes that the non-pending part of \p source and
+  system \p dest form a double description pair in minimal form and
+  will build a new DD pair in minimal form by processing the pending
+  constraints in \p source. To this end, it will call
+  <CODE>conversion()</CODE>) and <CODE>simplify</CODE>.
 
-  //! \name Widening- and Extrapolation-Related Functions
-  //@{
+  This method treats also the dual case, i.e., processing pending
+  generators. In this case \p source contains generators and \p dest
+  is the system of constraints corresponding to the non-pending part
+  of \p source.
+*/
+template <typename Source_Linear_System, typename Dest_Linear_System>
+bool
+Polyhedron::add_and_minimize(const bool con_to_gen,
+                             Source_Linear_System& source,
+                             Dest_Linear_System& dest,
+                             Bit_Matrix& sat) {
+  PPL_ASSERT(source.num_pending_rows() > 0);
+  PPL_ASSERT(source.space_dimension() == dest.space_dimension());
+  PPL_ASSERT(source.is_sorted());
+
+  // First, pad the saturation matrix with new columns (of zeroes)
+  // to accommodate for the pending rows of `source'.
+  sat.resize(dest.num_rows(), source.num_rows());
+
+  // Incrementally compute the new system of generators.
+  // Parameter `start' is set to the index of the first pending constraint.
+  const dimension_type num_lines_or_equalities
+    = conversion(source, source.first_pending_row(),
+		 dest, sat,
+		 dest.num_lines_or_equalities());
+
+  // conversion() may have modified the number of rows in `dest'.
+  const dimension_type dest_num_rows = dest.num_rows();
+
+  // Checking if the generators in `dest' represent an empty polyhedron:
+  // the polyhedron is empty if there are no points
+  // (because rays, lines and closure points need a supporting point).
+  // Points can be detected by looking at:
+  // - the divisor, for necessarily closed polyhedra;
+  // - the epsilon coordinate, for NNC polyhedra.
+  dimension_type first_point;
+  if (dest.is_necessarily_closed()) {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.inhomogeneous_term() > 0)
+        break;
+  } else {
+    for (first_point = num_lines_or_equalities;
+        first_point < dest_num_rows;
+        ++first_point)
+      if (dest[first_point].expr.get(Variable(dest.space_dimension())) > 0)
+        break;
+  }
 
-  /*! \brief
-    Copies to \p cs_selection the constraints of \p y corresponding
-    to the definition of the CH78-widening of \p *this and \p y.
-  */
-  void select_CH78_constraints(const Polyhedron& y,
-			       Constraint_System& cs_selected) const;
+  if (first_point == dest_num_rows)
+    if (con_to_gen)
+      // No point has been found: the polyhedron is empty.
+      return true;
+    else {
+      // Here `con_to_gen' is false: `dest' is a system of constraints.
+      // In this case the condition `first_point == dest_num_rows'
+      // actually means that all the constraints in `dest' have their
+      // inhomogeneous term equal to 0.
+      // This is an ILLEGAL situation, because it implies that
+      // the constraint system `dest' lacks the positivity constraint
+      // and no linear combination of the constraints in `dest'
+      // can reintroduce the positivity constraint.
+      PPL_UNREACHABLE;
+      return false;
+    }
+  else {
+    // A point has been found: the polyhedron is not empty.
+    // Now invoking `simplify()' to remove all the redundant constraints
+    // from the system `source'.
+    // Since the saturation matrix `sat' returned by `conversion()'
+    // has rows indexed by generators (the rows of `dest') and columns
+    // indexed by constraints (the rows of `source'), we have to
+    // transpose it to obtain the saturation matrix needed by `simplify()'.
+    sat.transpose();
+    simplify(source, sat);
+    // Transposing back.
+    sat.transpose();
+    return false;
+  }
+}
 
-  /*! \brief
-    Splits the constraints of `x' into two subsets, depending on whether
-    or not they are selected to compute the \ref H79_widening "H79-widening"
-    of \p *this and \p y.
-  */
-  void select_H79_constraints(const Polyhedron& y,
-			      Constraint_System& cs_selected,
-			      Constraint_System& cs_not_selected) const;
+} // namespace Parma_Polyhedra_Library
 
-  bool BHRZ03_combining_constraints(const Polyhedron& y,
-				    const BHRZ03_Certificate& y_cert,
- 				    const Polyhedron& H79,
-				    const Constraint_System& x_minus_H79_con_sys);
+/* Automatically generated from PPL source file ../src/Polyhedron_simplify.templates.hh line 1. */
+/* Polyhedron class implementation: simplify().
+*/
 
-  bool BHRZ03_evolving_points(const Polyhedron& y,
-			      const BHRZ03_Certificate& y_cert,
-			      const Polyhedron& H79);
 
-  bool BHRZ03_evolving_rays(const Polyhedron& y,
-			    const BHRZ03_Certificate& y_cert,
-			    const Polyhedron& H79);
+/* Automatically generated from PPL source file ../src/Polyhedron_simplify.templates.hh line 29. */
+#include <cstddef>
+#include <limits>
 
-  //@} // Widening- and Extrapolation-Related Functions
+namespace Parma_Polyhedra_Library {
 
-  //! Adds new space dimensions to the given matrices.
-  /*!
-    \param mat1
-    The matrix to which columns are added;
+/*!
+  \return
+  The rank of \p sys.
 
-    \param mat2
-    The matrix to which rows and columns are added;
+  \param sys
+  The system to simplify: it will be modified;
 
-    \param sat1
-    The saturation matrix whose columns are indexed by the rows of
-    matrix \p mat1. On entry it is up-to-date;
+  \param sat
+  The saturation matrix corresponding to \p sys.
 
-    \param sat2
-    The saturation matrix whose columns are indexed by the rows of \p
-    mat2;
+  \p sys may be modified by swapping some of its rows and by possibly
+  removing some of them, if they turn out to be redundant.
 
-    \param add_dim
-    The number of space dimensions to add.
+  If \p sys is a system of constraints, then the rows of \p sat are
+  indexed by constraints and its columns are indexed by generators;
+  otherwise, if \p sys is a system of generators, then the rows of
+  \p sat are indexed by generators and its columns by constraints.
 
-    Adds new space dimensions to the vector space modifying the matrices.
-    This function is invoked only by
-    <CODE>add_space_dimensions_and_embed()</CODE> and
-    <CODE>add_space_dimensions_and_project()</CODE>, passing the matrix of
-    constraints and that of generators (and the corresponding saturation
-    matrices) in different order (see those methods for details).
-  */
-  static void add_space_dimensions(Linear_System& mat1,
-				   Linear_System& mat2,
-				   Bit_Matrix& sat1,
-				   Bit_Matrix& sat2,
-				   dimension_type add_dim);
+  Given a system of constraints or a system of generators, this function
+  simplifies it using Gauss' elimination method (to remove redundant
+  equalities/lines), deleting redundant inequalities/rays/points and
+  making back-substitution.
+  The explanation that follows assumes that \p sys is a system of
+  constraints. For the case when \p sys is a system of generators,
+  a similar explanation can be obtain by applying duality.
 
-  //! \name Minimization-Related Static Member Functions
-  //@{
+  The explanation relies on the notion of <EM>redundancy</EM>.
+  (See the Introduction.)
 
-  //! Builds and simplifies constraints from generators (or vice versa).
-  // Detailed Doxygen comment to be found in file minimize.cc.
-  static bool minimize(bool con_to_gen,
-		       Linear_System& source,
-		       Linear_System& dest,
-		       Bit_Matrix& sat);
+  First we make some observations that can help the reader
+  in understanding the function:
 
-  /*! \brief
-    Adds given constraints and builds minimized corresponding generators
-    or vice versa.
-  */
-  // Detailed Doxygen comment to be found in file minimize.cc.
-  static bool add_and_minimize(bool con_to_gen,
-			       Linear_System& source1,
-			       Linear_System& dest,
-			       Bit_Matrix& sat,
-			       const Linear_System& source2);
+  Proposition: An inequality that is saturated by all the generators
+  can be transformed to an equality.
 
-  /*! \brief
-    Adds given constraints and builds minimized corresponding generators
-    or vice versa. The given constraints are in \p source.
-  */
-  // Detailed Doxygen comment to be found in file minimize.cc.
-  static bool add_and_minimize(bool con_to_gen,
-			       Linear_System& source,
-			       Linear_System& dest,
-			       Bit_Matrix& sat);
+  In fact, by combining any number of generators that saturate the
+  constraints, we obtain a generator that saturates the constraints too:
+  \f[
+    \langle \vect{c}, \vect{r}_1 \rangle = 0 \land
+    \langle \vect{c}, \vect{r}_2 \rangle = 0
+    \Rightarrow
+    \langle \vect{c}, (\lambda_1 \vect{r}_1 + \lambda_2 \vect{r}_2) \rangle =
+    \lambda_1 \langle \vect{c}, \vect{r}_1 \rangle
+    + \lambda_2 \langle \vect{c}, \vect{r}_2 \rangle
+    = 0,
+  \f]
+  where \f$\lambda_1, \lambda_2\f$ can be any real number.
+*/
+template <typename Linear_System1>
+dimension_type
+Polyhedron::simplify(Linear_System1& sys, Bit_Matrix& sat) {
 
-  //! Performs the conversion from constraints to generators and vice versa.
-  // Detailed Doxygen comment to be found in file conversion.cc.
-  static dimension_type conversion(Linear_System& source,
-				   dimension_type start,
-				   Linear_System& dest,
-				   Bit_Matrix& sat,
-				   dimension_type num_lines_or_equalities);
+  typedef typename Linear_System1::row_type sys_row_type;
 
-  /*! \brief
-    Uses Gauss' elimination method to simplify the result of
-    <CODE>conversion()</CODE>.
-  */
-  // Detailed Doxygen comment to be found in file simplify.cc.
-  static dimension_type simplify(Linear_System& mat, Bit_Matrix& sat);
+  dimension_type num_rows = sys.num_rows();
+  const dimension_type num_cols_sat = sat.num_columns();
 
-  //@} // Minimization-Related Static Member Functions
+  using std::swap;
 
-  /*! \brief
-    Pointer to an array used by simplify().
+  // Looking for the first inequality in `sys'.
+  dimension_type num_lines_or_equalities = 0;
+  while (num_lines_or_equalities < num_rows
+	 && sys[num_lines_or_equalities].is_line_or_equality())
+    ++num_lines_or_equalities;
+
+  // `num_saturators[i]' will contain the number of generators
+  // that saturate the constraint `sys[i]'.
+  if (num_rows > simplify_num_saturators_size) {
+    delete [] simplify_num_saturators_p;
+    simplify_num_saturators_p = 0;
+    simplify_num_saturators_size = 0;
+    const size_t max_size
+      = std::numeric_limits<size_t>::max() / sizeof(dimension_type);
+    const size_t new_size = compute_capacity(num_rows, max_size);
+    simplify_num_saturators_p = new dimension_type[new_size];
+    simplify_num_saturators_size = new_size;
+  }
+  dimension_type* num_saturators = simplify_num_saturators_p;
+
+  bool sys_sorted = sys.is_sorted();
+
+  // Computing the number of saturators for each inequality,
+  // possibly identifying and swapping those that happen to be
+  // equalities (see Proposition above).
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i) {
+    if (sat[i].empty()) {
+      // The constraint `sys_rows[i]' is saturated by all the generators.
+      // Thus, either it is already an equality or it can be transformed
+      // to an equality (see Proposition above).
+      sys.sys.rows[i].set_is_line_or_equality();
+      // Note: simple normalization already holds.
+      sys.sys.rows[i].sign_normalize();
+      // We also move it just after all the other equalities,
+      // so that system `sys_rows' keeps its partial sortedness.
+      if (i != num_lines_or_equalities) {
+        sys.sys.rows[i].m_swap(sys.sys.rows[num_lines_or_equalities]);
+	swap(sat[i], sat[num_lines_or_equalities]);
+	swap(num_saturators[i], num_saturators[num_lines_or_equalities]);
+      }
+      ++num_lines_or_equalities;
+      // `sys' is no longer sorted.
+      sys_sorted = false;
+    }
+    else
+      // There exists a generator which does not saturate `sys[i]',
+      // so that `sys[i]' is indeed an inequality.
+      // We store the number of its saturators.
+      num_saturators[i] = num_cols_sat - sat[i].count_ones();
+  }
+
+  sys.set_sorted(sys_sorted);
+  PPL_ASSERT(sys.OK());
+
+  // At this point, all the equalities of `sys' (included those
+  // inequalities that we just transformed to equalities) have
+  // indexes between 0 and `num_lines_or_equalities' - 1,
+  // which is the property needed by method gauss().
+  // We can simplify the system of equalities, obtaining the rank
+  // of `sys' as result.
+  const dimension_type rank = sys.gauss(num_lines_or_equalities);
+
+  // Now the irredundant equalities of `sys' have indexes from 0
+  // to `rank' - 1, whereas the equalities having indexes from `rank'
+  // to `num_lines_or_equalities' - 1 are all redundant.
+  // (The inequalities in `sys' have been left untouched.)
+  // The rows containing equalities are not sorted.
+
+  if (rank < num_lines_or_equalities) {
+    // We identified some redundant equalities.
+    // Moving them at the bottom of `sys':
+    // - index `redundant' runs through the redundant equalities
+    // - index `erasing' identifies the first row that should
+    //   be erased after this loop.
+    // Note that we exit the loop either because we have removed all
+    // redundant equalities or because we have moved all the
+    // inequalities.
+    for (dimension_type redundant = rank,
+	   erasing = num_rows;
+	 redundant < num_lines_or_equalities
+	   && erasing > num_lines_or_equalities;
+	 ) {
+      --erasing;
+      sys.remove_row(redundant);
+      swap(sat[redundant], sat[erasing]);
+      swap(num_saturators[redundant], num_saturators[erasing]);
+      ++redundant;
+    }
+    // Adjusting the value of `num_rows' to the number of meaningful
+    // rows of `sys': `num_lines_or_equalities' - `rank' is the number of
+    // redundant equalities moved to the bottom of `sys', which are
+    // no longer meaningful.
+    num_rows -= num_lines_or_equalities - rank;
+
+    // If the above loop exited because it moved all inequalities, it may not
+    // have removed all the rendundant rows.
+    sys.remove_trailing_rows(sys.num_rows() - num_rows);
+
+    PPL_ASSERT(sys.num_rows() == num_rows);
+
+    sat.remove_trailing_rows(num_lines_or_equalities - rank);
+
+    // Adjusting the value of `num_lines_or_equalities'.
+    num_lines_or_equalities = rank;
+  }
+
+  const dimension_type old_num_rows = sys.num_rows();
+
+  // Now we use the definition of redundancy (given in the Introduction)
+  // to remove redundant inequalities.
+
+  // First we check the saturation rule, which provides a necessary
+  // condition for an inequality to be irredundant (i.e., it provides
+  // a sufficient condition for identifying redundant inequalities).
+  // Let
+  //
+  //   num_saturators[i] = num_sat_lines[i] + num_sat_rays_or_points[i],
+  //   dim_lin_space = num_irredundant_lines,
+  //   dim_ray_space
+  //     = dim_vector_space - num_irredundant_equalities - dim_lin_space
+  //     = num_columns - 1 - num_lines_or_equalities - dim_lin_space,
+  //   min_sat_rays_or_points = dim_ray_space.
+  //
+  // An inequality saturated by less than `dim_ray_space' _rays/points_
+  // is redundant. Thus we have the implication
+  //
+  //   (num_saturators[i] - num_sat_lines[i] < dim_ray_space)
+  //      ==>
+  //        redundant(sys[i]).
+  //
+  // Moreover, since every line saturates all inequalities, we also have
+  //     dim_lin_space = num_sat_lines[i]
+  // so that we can rewrite the condition above as follows:
+  //
+  //   (num_saturators[i] < num_columns - num_lines_or_equalities - 1)
+  //      ==>
+  //        redundant(sys[i]).
+  //
+  const dimension_type sys_num_columns
+    = sys.topology() == NECESSARILY_CLOSED ? sys.space_dimension() + 1
+                                           : sys.space_dimension() + 2;
+  const dimension_type min_saturators
+    = sys_num_columns - num_lines_or_equalities - 1;
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
+    if (num_saturators[i] < min_saturators) {
+      // The inequality `sys[i]' is redundant.
+      --num_rows;
+      sys.remove_row(i);
+      swap(sat[i], sat[num_rows]);
+      swap(num_saturators[i], num_saturators[num_rows]);
+    }
+    else
+      ++i;
+  }
 
-    Holds (between class initialization and finalization) a pointer to
-    an array, allocated with operator new[](), of
-    simplify_num_saturators_size elements.
-  */
-  static dimension_type* simplify_num_saturators_p;
+  // Now we check the independence rule.
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
+    bool redundant = false;
+    // NOTE: in the inner loop, index `j' runs through _all_ the
+    // inequalities and we do not test if `sat[i]' is strictly
+    // contained into `sat[j]'.  Experimentation has shown that this
+    // is faster than having `j' only run through the indexes greater
+    // than `i' and also doing the test `strict_subset(sat[i],
+    // sat[k])'.
+    for (dimension_type j = num_lines_or_equalities; j < num_rows; ) {
+      if (i == j)
+	// We want to compare different rows of `sys'.
+	++j;
+      else {
+	// Let us recall that each generator lies on a facet of the
+	// polyhedron (see the Introduction).
+	// Given two constraints `c_1' and `c_2', if there are `m'
+	// generators lying on the hyper-plane corresponding to `c_1',
+	// the same `m' generators lie on the hyper-plane
+	// corresponding to `c_2', too, and there is another one lying
+	// on the latter but not on the former, then `c_2' is more
+	// restrictive than `c_1', i.e., `c_1' is redundant.
+	bool strict_subset;
+	if (subset_or_equal(sat[j], sat[i], strict_subset))
+	  if (strict_subset) {
+	    // All the saturators of the inequality `sys[i]' are
+	    // saturators of the inequality `sys[j]' too,
+	    // and there exists at least one saturator of `sys[j]'
+	    // which is not a saturator of `sys[i]'.
+	    // It follows that inequality `sys[i]' is redundant.
+	    redundant = true;
+	    break;
+	  }
+	  else {
+	    // We have `sat[j] == sat[i]'.  Hence inequalities
+	    // `sys[i]' and `sys[j]' are saturated by the same set of
+	    // generators. Then we can remove either one of the two
+	    // inequalities: we remove `sys[j]'.
+	    --num_rows;
+            sys.remove_row(j);
+            PPL_ASSERT(sys.num_rows() == num_rows);
+	    swap(sat[j], sat[num_rows]);
+	    swap(num_saturators[j], num_saturators[num_rows]);
+	  }
+	else
+	  // If we reach this point then we know that `sat[i]' does
+	  // not contain (and is different from) `sat[j]', so that
+	  // `sys[i]' is not made redundant by inequality `sys[j]'.
+	  ++j;
+      }
+    }
+    if (redundant) {
+      // The inequality `sys[i]' is redundant.
+      --num_rows;
+      sys.remove_row(i);
+      PPL_ASSERT(sys.num_rows() == num_rows);
+      swap(sat[i], sat[num_rows]);
+      swap(num_saturators[i], num_saturators[num_rows]);
+    }
+    else
+      // The inequality `sys[i]' is not redundant.
+      ++i;
+  }
 
-  /*! \brief
-    Dimension of an array used by simplify().
+  // Here we physically remove the `sat' rows corresponding to the redundant
+  // inequalities previously removed from `sys'.
+  sat.remove_trailing_rows(old_num_rows - num_rows);
 
-    Holds (between class initialization and finalization) the size of the
-    array pointed to by simplify_num_saturators_p.
-  */
-  static size_t simplify_num_saturators_size;
+  // At this point the first `num_lines_or_equalities' rows of 'sys'
+  // represent the irredundant equalities, while the remaining rows
+  // (i.e., those having indexes from `num_lines_or_equalities' to
+  // `num_rows' - 1) represent the irredundant inequalities.
+#ifndef NDEBUG
+  // Check if the flag is set (that of the equalities is already set).
+  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i)
+    PPL_ASSERT(sys[i].is_ray_or_point_or_inequality());
+#endif
 
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
-  template <typename T> friend class Parma_Polyhedra_Library::BD_Shape;
-  template <typename T> friend class Parma_Polyhedra_Library::Octagonal_Shape;
-  friend class Parma_Polyhedra_Library::Grid;
-  friend class Parma_Polyhedra_Library::BHRZ03_Certificate;
-  friend class Parma_Polyhedra_Library::H79_Certificate;
+  // Finally, since now the sub-system (of `sys') of the irredundant
+  // equalities is in triangular form, we back substitute each
+  // variables with the expression obtained considering the equalities
+  // starting from the last one.
+  sys.back_substitute(num_lines_or_equalities);
 
-protected:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    If the poly-hull of \p *this and \p y is exact it is assigned
-    to \p *this and \c true is returned, otherwise \c false is returned.
+  // The returned value is the number of irredundant equalities i.e.,
+  // the rank of the sub-system of `sys' containing only equalities.
+  // (See the Introduction for definition of lineality space dimension.)
+  return num_lines_or_equalities;
+}
 
-    Current implementation is based on (a variant of) Algorithm 8.1 in
-      A. Bemporad, K. Fukuda, and F. D. Torrisi
-      <em>Convexity Recognition of the Union of Polyhedra</em>
-      Technical Report AUT00-13, ETH Zurich, 2000
+} // namespace Parma_Polyhedra_Library
 
-    \note
-    It is assumed that \p *this and \p y are topologically closed
-    and dimension-compatible;
-    if the assumption does not hold, the behavior is undefined.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool BFT00_poly_hull_assign_if_exact(const Polyhedron& y);
+/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2842. */
 
-  bool BHZ09_poly_hull_assign_if_exact(const Polyhedron& y);
-  bool BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y);
-  bool BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y);
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1. */
+/* Grid class declaration.
+*/
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
 
-  void throw_topology_incompatible(const char* method,
-				   const char* ph_name,
-				   const Polyhedron& ph) const;
-  void throw_topology_incompatible(const char* method,
-				   const char* c_name,
-				   const Constraint& c) const;
-  void throw_topology_incompatible(const char* method,
-				   const char* g_name,
-				   const Generator& g) const;
-  void throw_topology_incompatible(const char* method,
-				   const char* cs_name,
-				   const Constraint_System& cs) const;
-  void throw_topology_incompatible(const char* method,
-				   const char* gs_name,
-				   const Generator_System& gs) const;
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 1. */
+/* Grid_Generator_System class declaration.
+*/
 
-  void throw_dimension_incompatible(const char* method,
-				    const char* other_name,
-				    dimension_type other_dim) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* ph_name,
-				    const Polyhedron& ph) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* e_name,
-				    const Linear_Expression& e) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* c_name,
-				    const Constraint& c) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* g_name,
-				    const Generator& g) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cg_name,
-				    const Congruence& cg) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cs_name,
-				    const Constraint_System& cs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* gs_name,
-				    const Generator_System& gs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cgs_name,
-				    const Congruence_System& cgs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* var_name,
-				    Variable var) const;
-  void throw_dimension_incompatible(const char* method,
-				    dimension_type required_space_dim) const;
 
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the polyhedron object).
-  static void throw_space_dimension_overflow(Topology topol,
-					     const char* method,
-					     const char* reason);
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 28. */
+
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.defs.hh line 33. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
 
-  void throw_invalid_generator(const char* method,
-			       const char* g_name) const;
-  void throw_invalid_generators(const char* method,
-				const char* gs_name) const;
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //@} // Exception Throwers
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+namespace IO_Operators {
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p *pvars.
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Grid_Generator_System
+  Writes <CODE>false</CODE> if \p gs is empty.  Otherwise, writes on
+  \p s the generators of \p gs, all in one row and separated by ", ".
+*/
+std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
 
-    \param pvars
-    When nonzero, points with non-integer coordinates for the
-    variables/space-dimensions contained in \p *pvars can be discarded.
+} // namespace IO_Operators
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+//! Swaps \p x with \p y.
+/*! \relates Grid_Generator_System */
+void swap(Grid_Generator_System& x, Grid_Generator_System& y);
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set* pvars,
-                                    Complexity_Class complexity);
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates Grid_Generator_System */
+bool operator==(const Grid_Generator_System& x,
+		const Grid_Generator_System& y);
 
-};
+} // namespace Parma_Polyhedra_Library
 
-namespace std {
+//! A system of grid generators.
+/*! \ingroup PPL_CXX_interface
+    An object of the class Grid_Generator_System is a system of
+    grid generators, i.e., a multiset of objects of the class
+    Grid_Generator (lines, parameters and points).
+    When inserting generators in a system, space dimensions are
+    automatically adjusted so that all the generators in the system
+    are defined on the same vector space.
+    A system of grid generators which is meant to define a non-empty
+    grid must include at least one point: the reason is that
+    lines and parameters need a supporting point
+    (lines only specify directions while parameters only
+    specify direction and distance.
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
-void swap(Parma_Polyhedra_Library::Polyhedron& x,
-	  Parma_Polyhedra_Library::Polyhedron& y);
+    \par
+     In all the examples it is assumed that variables
+    <CODE>x</CODE> and <CODE>y</CODE> are defined as follows:
+    \code
+  Variable x(0);
+  Variable y(1);
+    \endcode
 
-} // namespace std
+    \par Example 1
+    The following code defines the line having the same direction
+    as the \f$x\f$ axis (i.e., the first Cartesian axis)
+    in \f$\Rset^2\f$:
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_line(x + 0*y));
+    \endcode
+    As said above, this system of generators corresponds to
+    an empty grid, because the line has no supporting point.
+    To define a system of generators that does correspond to
+    the \f$x\f$ axis, we can add the following code which
+    inserts the origin of the space as a point:
+    \code
+  gs.insert(grid_point(0*x + 0*y));
+    \endcode
+    Since space dimensions are automatically adjusted, the following
+    code obtains the same effect:
+    \code
+  gs.insert(grid_point(0*x));
+    \endcode
+    In contrast, if we had added the following code, we would have
+    defined a line parallel to the \f$x\f$ axis through
+    the point \f$(0, 1)^\transpose \in \Rset^2\f$.
+    \code
+  gs.insert(grid_point(0*x + 1*y));
+    \endcode
 
-/* Automatically generated from PPL source file ../src/Ph_Status.inlines.hh line 1. */
-/* Polyhedron::Status class implementation: inline functions.
+    \par Example 2
+    The following code builds a system of generators corresponding
+    to the grid consisting of all the integral points on the \f$x\f$ axes;
+    that is, all points satisfying the congruence relation
+    \f[
+      \bigl\{\,
+        (x, 0)^\transpose \in \Rset^2
+      \bigm|
+        x \pmod{1}\ 0
+      \,\bigr\},
+    \f]
+    \code
+  Grid_Generator_System gs;
+  gs.insert(parameter(x + 0*y));
+  gs.insert(grid_point(0*x + 0*y));
+    \endcode
+
+    \par Example 3
+    The following code builds a system of generators having three points
+    corresponding to a non-relational grid consisting of all points
+    whose coordinates are integer multiple of 3.
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_point(0*x + 3*y));
+  gs.insert(grid_point(3*x + 0*y));
+    \endcode
+
+    \par Example 4
+    By using parameters instead of two of the points we
+    can define the same grid as that defined in the previous example.
+    Note that there has to be at least one point and, for this purpose,
+    any point in the grid could be considered.
+    Thus the following code builds two identical grids from the
+    grid generator systems \p gs and \p gs1.
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(parameter(0*x + 3*y));
+  gs.insert(parameter(3*x + 0*y));
+  Grid_Generator_System gs1;
+  gs1.insert(grid_point(3*x + 3*y));
+  gs1.insert(parameter(0*x + 3*y));
+  gs1.insert(parameter(3*x + 0*y));
+    \endcode
+
+    \par Example 5
+    The following code builds a system of generators having one point and
+    a parameter corresponding to all the integral points that
+    lie on \f$x + y = 2\f$ in \f$\Rset^2\f$
+    \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(1*x + 1*y));
+  gs.insert(parameter(1*x - 1*y));
+    \endcode
+
+    \note
+    After inserting a multiset of generators in a grid generator system,
+    there are no guarantees that an <EM>exact</EM> copy of them
+    can be retrieved:
+    in general, only an <EM>equivalent</EM> grid generator system
+    will be available, where original generators may have been
+    reordered, removed (if they are duplicate or redundant), etc.
 */
+class Parma_Polyhedra_Library::Grid_Generator_System {
+public:
+  typedef Grid_Generator row_type;
 
+  static const Representation default_representation = SPARSE;
 
-namespace Parma_Polyhedra_Library {
+  //! Default constructor: builds an empty system of generators.
+  explicit Grid_Generator_System(Representation r = default_representation);
 
-inline
-Polyhedron::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+  //! Builds the singleton system containing only generator \p g.
+  explicit Grid_Generator_System(const Grid_Generator& g,
+                                 Representation r = default_representation);
 
-inline
-Polyhedron::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
-}
+  //! Builds an empty system of generators of dimension \p dim.
+  explicit Grid_Generator_System(dimension_type dim,
+                                 Representation r = default_representation);
 
-inline bool
-Polyhedron::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
+  //! Ordinary copy constructor.
+  //! The new Grid_Generator_System will have the same representation as `gs'.
+  Grid_Generator_System(const Grid_Generator_System& gs);
 
-inline bool
-Polyhedron::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+  //! Copy constructor with specified representation.
+  Grid_Generator_System(const Grid_Generator_System& gs, Representation r);
 
-inline void
-Polyhedron::Status::set(flags_t mask) {
-  flags |= mask;
-}
+  //! Destructor.
+  ~Grid_Generator_System();
 
-inline void
-Polyhedron::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+  //! Assignment operator.
+  Grid_Generator_System& operator=(const Grid_Generator_System& y);
 
-inline bool
-Polyhedron::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
+  //! Returns the current representation of *this.
+  Representation representation() const;
 
-inline void
-Polyhedron::Status::reset_zero_dim_univ() {
-  // This is a no-op if the current status is not zero-dim.
-  if (flags == ZERO_DIM_UNIV)
-    // In the zero-dim space, if it is not the universe it is empty.
-    flags = EMPTY;
-}
+  //! Converts *this to the specified representation.
+  void set_representation(Representation r);
 
-inline void
-Polyhedron::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
-}
+  //! Returns the maximum space dimension a Grid_Generator_System can handle.
+  static dimension_type max_space_dimension();
 
-inline bool
-Polyhedron::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-inline void
-Polyhedron::Status::reset_empty() {
-  reset(EMPTY);
-}
+  /*! \brief
+    Removes all the generators from the generator system and sets its
+    space dimension to 0.
+  */
+  void clear();
 
-inline void
-Polyhedron::Status::set_empty() {
-  flags = EMPTY;
-}
+  /*! \brief
+    Inserts into \p *this a copy of the generator \p g, increasing the
+    number of space dimensions if needed.
 
-inline bool
-Polyhedron::Status::test_c_up_to_date() const {
-  return test_any(C_UP_TO_DATE);
-}
+    If \p g is an all-zero parameter then the only action is to ensure
+    that the space dimension of \p *this is at least the space
+    dimension of \p g.
+  */
+  void insert(const Grid_Generator& g);
 
-inline void
-Polyhedron::Status::reset_c_up_to_date() {
-  reset(C_UP_TO_DATE);
-}
+  /*! \brief
+    Inserts into \p *this the generator \p g, increasing the number of
+    space dimensions if needed.
+  */
+  void insert(Grid_Generator& g, Recycle_Input);
 
-inline void
-Polyhedron::Status::set_c_up_to_date() {
-  set(C_UP_TO_DATE);
-}
+  /*! \brief
+    Inserts into \p *this the generators in \p gs, increasing the
+    number of space dimensions if needed.
+  */
+  void insert(Grid_Generator_System& gs, Recycle_Input);
 
-inline bool
-Polyhedron::Status::test_g_up_to_date() const {
-  return test_any(G_UP_TO_DATE);
-}
+  //! Initializes the class.
+  static void initialize();
 
-inline void
-Polyhedron::Status::reset_g_up_to_date() {
-  reset(G_UP_TO_DATE);
-}
+  //! Finalizes the class.
+  static void finalize();
 
-inline void
-Polyhedron::Status::set_g_up_to_date() {
-  set(G_UP_TO_DATE);
-}
+  /*! \brief
+    Returns the singleton system containing only
+    Grid_Generator::zero_dim_point().
+  */
+  static const Grid_Generator_System& zero_dim_univ();
 
-inline bool
-Polyhedron::Status::test_c_minimized() const {
-  return test_any(C_MINIMIZED);
-}
+  //! An iterator over a system of grid generators
+  /*! \ingroup PPL_CXX_interface
+    A const_iterator is used to provide read-only access
+    to each generator contained in an object of Grid_Generator_System.
 
-inline void
-Polyhedron::Status::reset_c_minimized() {
-  reset(C_MINIMIZED);
-}
+    \par Example
+    The following code prints the system of generators
+    of the grid <CODE>gr</CODE>:
+    \code
+  const Grid_Generator_System& ggs = gr.generators();
+  for (Grid_Generator_System::const_iterator i = ggs.begin(),
+        ggs_end = ggs.end(); i != ggs_end; ++i)
+    cout << *i << endl;
+    \endcode
+    The same effect can be obtained more concisely by using
+    more features of the STL:
+    \code
+  const Grid_Generator_System& ggs = gr.generators();
+  copy(ggs.begin(), ggs.end(), ostream_iterator<Grid_Generator>(cout, "\n"));
+    \endcode
+  */
+  class const_iterator
+    : public std::iterator<std::forward_iterator_tag,
+			   Grid_Generator,
+			   ptrdiff_t,
+			   const Grid_Generator*,
+			   const Grid_Generator&> {
+  public:
+    //! Default constructor.
+    const_iterator();
 
-inline void
-Polyhedron::Status::set_c_minimized() {
-  set(C_MINIMIZED);
-}
+    //! Ordinary copy constructor.
+    const_iterator(const const_iterator& y);
 
-inline bool
-Polyhedron::Status::test_g_minimized() const {
-  return test_any(G_MINIMIZED);
-}
+    //! Destructor.
+    ~const_iterator();
 
-inline void
-Polyhedron::Status::reset_g_minimized() {
-  reset(G_MINIMIZED);
-}
+    //! Assignment operator.
+    const_iterator& operator=(const const_iterator& y);
 
-inline void
-Polyhedron::Status::set_g_minimized() {
-  set(G_MINIMIZED);
-}
+    //! Dereference operator.
+    const Grid_Generator& operator*() const;
 
+    //! Indirect member selector.
+    const Grid_Generator* operator->() const;
 
-inline bool
-Polyhedron::Status::test_c_pending() const {
-  return test_any(CS_PENDING);
-}
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-inline void
-Polyhedron::Status::reset_c_pending() {
-  reset(CS_PENDING);
-}
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-inline void
-Polyhedron::Status::set_c_pending() {
-  set(CS_PENDING);
-}
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-inline bool
-Polyhedron::Status::test_g_pending() const {
-  return test_any(GS_PENDING);
-}
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
+    */
+    bool operator!=(const const_iterator& y) const;
 
-inline void
-Polyhedron::Status::reset_g_pending() {
-  reset(GS_PENDING);
-}
+  private:
+    friend class Grid_Generator_System;
 
-inline void
-Polyhedron::Status::set_g_pending() {
-  set(GS_PENDING);
-}
+    Linear_System<Grid_Generator>::const_iterator i;
 
+    //! Copy constructor from Linear_System< Grid_Generator>::const_iterator.
+    const_iterator(const Linear_System<Grid_Generator>::const_iterator& y);
+  };
 
-inline bool
-Polyhedron::Status::test_sat_c_up_to_date() const {
-  return test_any(SAT_C_UP_TO_DATE);
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
+  bool empty() const;
 
-inline void
-Polyhedron::Status::reset_sat_c_up_to_date() {
-  reset(SAT_C_UP_TO_DATE);
-}
+  /*! \brief
+    Returns the const_iterator pointing to the first generator, if \p
+    *this is not empty; otherwise, returns the past-the-end
+    const_iterator.
+  */
+  const_iterator begin() const;
 
-inline void
-Polyhedron::Status::set_sat_c_up_to_date() {
-  set(SAT_C_UP_TO_DATE);
-}
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-inline bool
-Polyhedron::Status::test_sat_g_up_to_date() const {
-  return test_any(SAT_G_UP_TO_DATE);
-}
+  //! Returns the number of rows (generators) in the system.
+  dimension_type num_rows() const;
 
-inline void
-Polyhedron::Status::reset_sat_g_up_to_date() {
-  reset(SAT_G_UP_TO_DATE);
-}
+  //! Returns the number of parameters in the system.
+  dimension_type num_parameters() const;
 
-inline void
-Polyhedron::Status::set_sat_g_up_to_date() {
-  set(SAT_G_UP_TO_DATE);
-}
+  //! Returns the number of lines in the system.
+  dimension_type num_lines() const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains one or
+    more points.
+  */
+  bool has_points() const;
 
-/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 1. */
-/* Polyhedron class implementation: inline functions.
-*/
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  bool is_equal_to(const Grid_Generator_System& y) const;
 
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 29. */
-#include <algorithm>
-#include <deque>
+  PPL_OUTPUT_DECLARATIONS
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
 
-inline memory_size_type
-Polyhedron::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    Resizes the matrix of generators using the numbers of rows and columns
+    read from \p s, then initializes the coordinates of each generator
+    and its type reading the contents from \p s.
+  */
+  bool ascii_load(std::istream& s);
 
-inline dimension_type
-Polyhedron::space_dimension() const {
-  return space_dim;
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-inline int32_t
-Polyhedron::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-inline dimension_type
-Polyhedron::max_space_dimension() {
-  using std::min;
-  // One dimension is reserved to have a value of type dimension_type
-  // that does not represent a legal dimension.
-  return min(std::numeric_limits<dimension_type>::max() - 1,
-	     min(Constraint_System::max_space_dimension(),
-		 Generator_System::max_space_dimension()
-		 )
-	     );
-}
+  //! Swaps \p *this with \p y.
+  void m_swap(Grid_Generator_System& y);
 
-inline Topology
-Polyhedron::topology() const {
-  // We can check either one of the two matrices.
-  // (`con_sys' is slightly better, since it is placed at offset 0.)
-  return con_sys.topology();
-}
+private:
+  //! Returns a constant reference to the \p k- th generator of the system.
+  const Grid_Generator& operator[](dimension_type k) const;
 
-inline bool
-Polyhedron::is_discrete() const {
-  return affine_dimension() == 0;
-}
+  //! Assigns to a given variable an affine expression.
+  /*!
+    \param v
+    The variable to which the affine transformation is assigned;
 
-inline bool
-Polyhedron::is_necessarily_closed() const {
-  // We can check either one of the two matrices.
-  // (`con_sys' is slightly better, since it is placed at offset 0.)
-  return con_sys.is_necessarily_closed();
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-inline void
-Polyhedron::upper_bound_assign(const Polyhedron& y) {
-  poly_hull_assign(y);
-}
+    \param denominator
+    The denominator of the affine transformation;
+
+    We allow affine transformations (see the Section \ref
+    rational_grid_operations)to have rational
+    coefficients. Since the coefficients of linear expressions are
+    integers we also provide an integer \p denominator that will
+    be used as denominator of the affine transformation.  The
+    denominator is required to be a positive integer and its
+    default value is 1.
+
+    The affine transformation assigns to every variable \p v, in every
+    column, the follow expression:
+    \f[
+      \frac{\sum_{i = 0}^{n - 1} a_i x_i + b}
+           {\mathrm{denominator}}.
+    \f]
+
+    \p expr is a constant parameter and unaltered by this computation.
+  */
+  void affine_image(Variable v,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference denominator);
 
-inline void
-Polyhedron::difference_assign(const Polyhedron& y) {
-  poly_difference_assign(y);
-}
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-inline void
-Polyhedron::widening_assign(const Polyhedron& y, unsigned* tp) {
-  H79_widening_assign(y, tp);
-}
+  /*! \brief
+    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    initializing the added rows as in the universe system.
 
-inline
-Polyhedron::~Polyhedron() {
-}
+    \param dims
+    The number of rows and columns to be added: must be strictly
+    positive.
 
-inline void
-Polyhedron::swap(Polyhedron& y) {
-  if (topology() != y.topology())
-    throw_topology_incompatible("swap(y)", "y", y);
-  std::swap(con_sys, y.con_sys);
-  std::swap(gen_sys, y.gen_sys);
-  std::swap(sat_c, y.sat_c);
-  std::swap(sat_g, y.sat_g);
-  std::swap(status, y.status);
-  std::swap(space_dim, y.space_dim);
-}
+    Turns the \f$r \times c\f$ matrix \f$A\f$ into the \f$(r+dims)
+    \times (c+dims)\f$ matrix
+    \f$\bigl(\genfrac{}{}{0pt}{}{A}{0} \genfrac{}{}{0pt}{}{0}{B}\bigr)\f$
+    where \f$B\f$ is the \f$dims \times dims\f$ unit matrix of the form
+    \f$\bigl(\genfrac{}{}{0pt}{}{1}{0} \genfrac{}{}{0pt}{}{0}{1}\bigr)\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_universe_rows_and_columns(dimension_type dims);
 
-inline bool
-Polyhedron::can_recycle_constraint_systems() {
-  return true;
-}
+  //! Resizes the system to the specified space dimension.
+  void set_space_dimension(dimension_type space_dim);
 
+  //! Removes all the specified dimensions from the generator system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p vars must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-inline bool
-Polyhedron::can_recycle_congruence_systems() {
-  return false;
-}
+  //! Shift by \p n positions the coefficients of variables, starting from
+  //! the coefficient of \p v. This increases the space dimension by \p n.
+  void shift_space_dimensions(Variable v, dimension_type n);
 
-inline bool
-Polyhedron::marked_empty() const {
-  return status.test_empty();
-}
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
-inline bool
-Polyhedron::constraints_are_up_to_date() const {
-  return status.test_c_up_to_date();
-}
+  //! Permutes the space dimensions of the matrix.
+  /*
+    \param cycle
+    A vector representing a cycle of the permutation according to which the
+    columns must be rearranged.
 
-inline bool
-Polyhedron::generators_are_up_to_date() const {
-  return status.test_g_up_to_date();
-}
+    The \p cycle vector represents a cycle of a permutation of space
+    dimensions.
+    For example, the permutation
+    \f$ \{ x_1 \mapsto x_2, x_2 \mapsto x_3, x_3 \mapsto x_1 \}\f$ can be
+    represented by the vector containing \f$ x_1, x_2, x_3 \f$.
+  */
+  void permute_space_dimensions(const std::vector<Variable>& cycle);
 
-inline bool
-Polyhedron::constraints_are_minimized() const {
-  return status.test_c_minimized();
-}
+  bool has_no_rows() const;
 
-inline bool
-Polyhedron::generators_are_minimized() const {
-  return status.test_g_minimized();
-}
+  //! Makes the system shrink by removing its \p n trailing rows.
+  void remove_trailing_rows(dimension_type n);
 
-inline bool
-Polyhedron::sat_c_is_up_to_date() const {
-  return status.test_sat_c_up_to_date();
-}
+  void insert_verbatim(const Grid_Generator& g);
 
-inline bool
-Polyhedron::sat_g_is_up_to_date() const {
-  return status.test_sat_g_up_to_date();
-}
+  //! Returns the system topology.
+  Topology topology() const;
 
-inline bool
-Polyhedron::has_pending_constraints() const {
-  return status.test_c_pending();
-}
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
 
-inline bool
-Polyhedron::has_pending_generators() const {
-  return status.test_g_pending();
-}
+  Linear_System<Grid_Generator> sys;
 
-inline bool
-Polyhedron::has_something_pending() const {
-  return status.test_c_pending() || status.test_g_pending();
-}
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Grid_Generator::zero_dim_point().
+  */
+  static const Grid_Generator_System* zero_dim_univ_p;
 
-inline bool
-Polyhedron::can_have_something_pending() const {
-  return constraints_are_minimized()
-    && generators_are_minimized()
-    && (sat_c_is_up_to_date() || sat_g_is_up_to_date());
-}
+  friend bool
+  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
 
-inline bool
-Polyhedron::is_empty() const {
-  if (marked_empty())
-    return true;
-  // Try a fast-fail test: if generators are up-to-date and
-  // there are no pending constraints, then the generator system
-  // (since it is well formed) contains a point.
-  if (generators_are_up_to_date() && !has_pending_constraints())
-    return false;
-  return !minimize();
-}
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-inline void
-Polyhedron::set_constraints_up_to_date() {
-  status.set_c_up_to_date();
-}
+  //! Removes all the invalid lines and parameters.
+  /*!
+    The invalid lines and parameters are those with all
+    the homogeneous terms set to zero.
+  */
+  void remove_invalid_lines_and_parameters();
 
-inline void
-Polyhedron::set_generators_up_to_date() {
-  status.set_g_up_to_date();
-}
+  friend class Polyhedron;
+  friend class Grid;
+};
 
-inline void
-Polyhedron::set_constraints_minimized() {
-  set_constraints_up_to_date();
-  status.set_c_minimized();
-}
+// Grid_Generator_System.inlines.hh is not included here on purpose.
 
-inline void
-Polyhedron::set_generators_minimized() {
-  set_generators_up_to_date();
-  status.set_g_minimized();
-}
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.inlines.hh line 1. */
+/* Grid_Generator_System class implementation: inline functions.
+*/
 
-inline void
-Polyhedron::set_constraints_pending() {
-  status.set_c_pending();
-}
 
-inline void
-Polyhedron::set_generators_pending() {
-  status.set_g_pending();
-}
+/* Automatically generated from PPL source file ../src/Grid_Generator_System.inlines.hh line 28. */
 
-inline void
-Polyhedron::set_sat_c_up_to_date() {
-  status.set_sat_c_up_to_date();
-}
+namespace Parma_Polyhedra_Library {
 
 inline void
-Polyhedron::set_sat_g_up_to_date() {
-  status.set_sat_g_up_to_date();
+Grid_Generator_System::set_sorted(bool b) {
+  sys.set_sorted(b);
 }
 
 inline void
-Polyhedron::clear_empty() {
-  status.reset_empty();
+Grid_Generator_System::unset_pending_rows() {
+  sys.unset_pending_rows();
 }
 
 inline void
-Polyhedron::clear_constraints_minimized() {
-  status.reset_c_minimized();
+Grid_Generator_System::set_index_first_pending_row(const dimension_type i) {
+  sys.set_index_first_pending_row(i);
 }
 
 inline void
-Polyhedron::clear_generators_minimized() {
-  status.reset_g_minimized();
+Grid_Generator_System
+::permute_space_dimensions(const std::vector<Variable>& cycle) {
+  return sys.permute_space_dimensions(cycle);
 }
 
-inline void
-Polyhedron::clear_pending_constraints() {
-  status.reset_c_pending();
+inline bool
+Grid_Generator_System::is_equal_to(const Grid_Generator_System& y) const {
+  return (sys == y.sys);
 }
 
-inline void
-Polyhedron::clear_pending_generators() {
-  status.reset_g_pending();
+inline
+Grid_Generator_System::Grid_Generator_System(Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.set_sorted(false);
+  PPL_ASSERT(space_dimension() == 0);
 }
 
-inline void
-Polyhedron::clear_sat_c_up_to_date() {
-  status.reset_sat_c_up_to_date();
-  // Can get rid of sat_c here.
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs)
+  : sys(gs.sys) {
 }
 
-inline void
-Polyhedron::clear_sat_g_up_to_date() {
-  status.reset_sat_g_up_to_date();
-  // Can get rid of sat_g here.
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs,
+                                             Representation r)
+  : sys(gs.sys, r) {
 }
 
-inline void
-Polyhedron::clear_constraints_up_to_date() {
-  clear_pending_constraints();
-  clear_constraints_minimized();
-  clear_sat_c_up_to_date();
-  clear_sat_g_up_to_date();
-  status.reset_c_up_to_date();
-  // Can get rid of con_sys here.
+inline
+Grid_Generator_System::Grid_Generator_System(dimension_type dim,
+                                             Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.set_space_dimension(dim);
+  sys.set_sorted(false);
+  PPL_ASSERT(space_dimension() == dim);
 }
 
-inline void
-Polyhedron::clear_generators_up_to_date() {
-  clear_pending_generators();
-  clear_generators_minimized();
-  clear_sat_c_up_to_date();
-  clear_sat_g_up_to_date();
-  status.reset_g_up_to_date();
-  // Can get rid of gen_sys here.
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g,
+                                             Representation r)
+  : sys(NECESSARILY_CLOSED, r) {
+  sys.insert(g);
+  sys.set_sorted(false);
 }
 
-inline bool
-Polyhedron::process_pending() const {
-  PPL_ASSERT(space_dim > 0 && !marked_empty());
-  PPL_ASSERT(has_something_pending());
-
-  Polyhedron& x = const_cast<Polyhedron&>(*this);
-
-  if (x.has_pending_constraints())
-    return x.process_pending_constraints();
-
-  PPL_ASSERT(x.has_pending_generators());
-  x.process_pending_generators();
-  return true;
+inline
+Grid_Generator_System::~Grid_Generator_System() {
 }
 
-inline bool
-Polyhedron::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
+inline Grid_Generator_System&
+Grid_Generator_System::operator=(const Grid_Generator_System& y) {
+  Grid_Generator_System tmp = y;
+  swap(*this, tmp);
+  return *this;
 }
 
-inline bool
-Polyhedron::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
+inline Representation
+Grid_Generator_System::representation() const {
+  return sys.representation();
 }
 
-inline bool
-Polyhedron::maximize(const Linear_Expression& expr,
-		     Coefficient& sup_n, Coefficient& sup_d,
-		     bool& maximum) const {
-  Generator g(point());
-  return max_min(expr, true, sup_n, sup_d, maximum, g);
+inline void
+Grid_Generator_System::set_representation(Representation r) {
+  sys.set_representation(r);
 }
 
-inline bool
-Polyhedron::maximize(const Linear_Expression& expr,
-		     Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		     Generator& g) const {
-  return max_min(expr, true, sup_n, sup_d, maximum, g);
+inline dimension_type
+Grid_Generator_System::max_space_dimension() {
+  // Grid generators use an extra column for the parameter divisor.
+  return Linear_System<Grid_Generator>::max_space_dimension() - 1;
 }
 
-inline bool
-Polyhedron::minimize(const Linear_Expression& expr,
-		     Coefficient& inf_n, Coefficient& inf_d,
-		     bool& minimum) const {
-  Generator g(point());
-  return max_min(expr, false, inf_n, inf_d, minimum, g);
+inline dimension_type
+Grid_Generator_System::space_dimension() const {
+  return sys.space_dimension();
 }
 
-inline bool
-Polyhedron::minimize(const Linear_Expression& expr,
-		     Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		     Generator& g) const {
-  return max_min(expr, false, inf_n, inf_d, minimum, g);
+inline const Grid_Generator_System&
+Grid_Generator_System::zero_dim_univ() {
+  PPL_ASSERT(zero_dim_univ_p != 0);
+  return *zero_dim_univ_p;
 }
 
-inline Constraint_System
-Polyhedron::simplified_constraints() const {
-  PPL_ASSERT(constraints_are_up_to_date());
-  Constraint_System cs(con_sys);
-  if (cs.num_pending_rows() > 0)
-    cs.unset_pending_rows();
-  if (has_pending_constraints() || !constraints_are_minimized())
-    cs.simplify();
-  return cs;
+inline void
+Grid_Generator_System::clear() {
+  sys.clear();
+  sys.set_sorted(false);
+  sys.unset_pending_rows();
+  PPL_ASSERT(space_dimension() == 0);
 }
 
-inline Congruence_System
-Polyhedron::congruences() const {
-  return Congruence_System(minimized_constraints());
+inline void
+Grid_Generator_System::m_swap(Grid_Generator_System& y) {
+  swap(sys, y.sys);
 }
 
-inline Congruence_System
-Polyhedron::minimized_congruences() const {
-  return Congruence_System(minimized_constraints());
+inline memory_size_type
+Grid_Generator_System::external_memory_in_bytes() const {
+  return sys.external_memory_in_bytes();
 }
 
-inline Grid_Generator_System
-Polyhedron::minimized_grid_generators() const {
-  return grid_generators();
+inline memory_size_type
+Grid_Generator_System::total_memory_in_bytes() const {
+  return external_memory_in_bytes() + sizeof(*this);
 }
 
-inline void
-Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
+inline dimension_type
+Grid_Generator_System::num_rows() const {
+  return sys.num_rows();
 }
 
-/*! \relates Polyhedron */
-inline bool
-operator!=(const Polyhedron& x, const Polyhedron& y) {
-  return !(x == y);
+inline
+Grid_Generator_System::const_iterator::const_iterator()
+  : i() {
 }
 
-inline bool
-Polyhedron::strictly_contains(const Polyhedron& y) const {
-  const Polyhedron& x = *this;
-  return x.contains(y) && !y.contains(x);
+inline
+Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i) {
 }
 
-inline void
-Polyhedron::drop_some_non_integer_points(Complexity_Class complexity) {
-  const Variables_Set* p_vs = 0;
-  drop_some_non_integer_points(p_vs, complexity);
+inline
+Grid_Generator_System::const_iterator::~const_iterator() {
 }
 
-inline void
-Polyhedron::drop_some_non_integer_points(const Variables_Set& vars,
-					 Complexity_Class complexity) {
-  drop_some_non_integer_points(&vars, complexity);
+inline Grid_Generator_System::const_iterator&
+Grid_Generator_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  return *this;
 }
 
-
-namespace Interfaces {
-
-inline bool
-is_necessarily_closed_for_interfaces(const Polyhedron& ph) {
-  return ph.is_necessarily_closed();
+inline const Grid_Generator&
+Grid_Generator_System::const_iterator::operator*() const {
+  return *i;
 }
 
-} // namespace Interfaces
-
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
-inline void
-swap(Parma_Polyhedra_Library::Polyhedron& x,
-     Parma_Polyhedra_Library::Polyhedron& y) {
-  x.swap(y);
+inline const Grid_Generator*
+Grid_Generator_System::const_iterator::operator->() const {
+  return i.operator->();
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 1. */
-/* Polyhedron class implementation: non-inline template functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 1. */
-/* MIP_Problem class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
-//! Possible outcomes of the MIP_Problem solver.
-/*! \ingroup PPL_CXX_interface */
-enum MIP_Problem_Status {
-  //! The problem is unfeasible.
-  UNFEASIBLE_MIP_PROBLEM,
-  //! The problem is unbounded.
-  UNBOUNDED_MIP_PROBLEM,
-  //! The problem has an optimal solution.
-  OPTIMIZED_MIP_PROBLEM
-};
-
-class MIP_Problem;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 36. */
-#include <vector>
-#include <deque>
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
-std::ostream&
-operator<<(std::ostream& s, const MIP_Problem& lp);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-//! A Mixed Integer (linear) Programming problem.
-/*! \ingroup PPL_CXX_interface
-  An object of this class encodes a mixed integer (linear) programming problem.
-  The MIP problem is specified by providing:
-   - the dimension of the vector space;
-   - the feasible region, by means of a finite set of linear equality
-     and non-strict inequality constraints;
-   - the subset of the unknown variables that range over the integers
-     (the other variables implicitly ranging over the reals);
-   - the objective function, described by a Linear_Expression;
-   - the optimization mode (either maximization or minimization).
-
-  The class provides support for the (incremental) solution of the
-  MIP problem based on variations of the revised simplex method and
-  on branch-and-bound techniques. The result of the resolution
-  process is expressed in terms of an enumeration, encoding the
-  feasibility and the unboundedness of the optimization problem.
-  The class supports simple feasibility tests (i.e., no optimization),
-  as well as the extraction of an optimal (resp., feasible) point,
-  provided the MIP_Problem is optimizable (resp., feasible).
-
-  By exploiting the incremental nature of the solver, it is possible
-  to reuse part of the computational work already done when solving
-  variants of a given MIP_Problem: currently, incremental resolution
-  supports the addition of space dimensions, the addition of constraints,
-  the change of objective function and the change of optimization mode.
-*/
-class Parma_Polyhedra_Library::MIP_Problem {
-public:
-  //! Builds a trivial MIP problem.
-  /*!
-    A trivial MIP problem requires to maximize the objective function
-    \f$0\f$ on a vector space under no constraints at all:
-    the origin of the vector space is an optimal solution.
-
-    \param dim
-    The dimension of the vector space enclosing \p *this
-    (optional argument with default value \f$0\f$).
-
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
-  */
-  explicit MIP_Problem(dimension_type dim = 0);
-
-  /*! \brief
-    Builds an MIP problem having space dimension \p dim
-    from the sequence of constraints in the range
-    \f$[\mathrm{first}, \mathrm{last})\f$,
-    the objective function \p obj and optimization mode \p mode;
-    those dimensions whose indices occur in \p int_vars are
-    constrained to take an integer value.
-
-    \param dim
-    The dimension of the vector space enclosing \p *this.
-
-    \param first
-    An input iterator to the start of the sequence of constraints.
-
-    \param last
-    A past-the-end input iterator to the sequence of constraints.
-
-    \param int_vars
-    The set of variables' indexes that are constrained to take integer values.
-
-    \param obj
-    The objective function (optional argument with default value \f$0\f$).
-
-    \param mode
-    The optimization mode (optional argument with default value
-    <CODE>MAXIMIZATION</CODE>).
-
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
-
-    \exception std::invalid_argument
-    Thrown if a constraint in the sequence is a strict inequality,
-    if the space dimension of a constraint (resp., of the
-    objective function or of the integer variables) or the space dimension
-    of the integer variable set is strictly greater than \p dim.
-  */
-  template <typename In>
-  MIP_Problem(dimension_type dim,
-	      In first, In last,
-	      const Variables_Set& int_vars,
-	      const Linear_Expression& obj = Linear_Expression::zero(),
-	      Optimization_Mode mode = MAXIMIZATION);
-
-  /*! \brief
-    Builds an MIP problem having space dimension \p dim
-    from the sequence of constraints in the range
-    \f$[\mathrm{first}, \mathrm{last})\f$,
-    the objective function \p obj and optimization mode \p mode.
-
-    \param dim
-    The dimension of the vector space enclosing \p *this.
-
-    \param first
-    An input iterator to the start of the sequence of constraints.
-
-    \param last
-    A past-the-end input iterator to the sequence of constraints.
-
-    \param obj
-    The objective function (optional argument with default value \f$0\f$).
-
-    \param mode
-    The optimization mode (optional argument with default value
-    <CODE>MAXIMIZATION</CODE>).
-
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
-
-    \exception std::invalid_argument
-    Thrown if a constraint in the sequence is a strict inequality
-    or if the space dimension of a constraint (resp., of the
-    objective function or of the integer variables) is strictly
-    greater than \p dim.
-  */
-  template <typename In>
-  MIP_Problem(dimension_type dim,
-              In first, In last,
-              const Linear_Expression& obj = Linear_Expression::zero(),
-              Optimization_Mode mode = MAXIMIZATION);
-
-  /*! \brief
-    Builds an MIP problem having space dimension \p dim from the constraint
-    system \p cs, the objective function \p obj and optimization mode \p mode.
+inline Grid_Generator_System::const_iterator&
+Grid_Generator_System::const_iterator::operator++() {
+  ++i;
+  return *this;
+}
 
-    \param dim
-    The dimension of the vector space enclosing \p *this.
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
 
-    \param cs
-    The constraint system defining the feasible region.
+inline bool
+Grid_Generator_System
+::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
+}
 
-    \param obj
-    The objective function (optional argument with default value \f$0\f$).
+inline bool
+Grid_Generator_System
+::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
+}
 
-    \param mode
-    The optimization mode (optional argument with default value
-    <CODE>MAXIMIZATION</CODE>).
+inline bool
+Grid_Generator_System::empty() const {
+  return sys.has_no_rows();
+}
 
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+inline
+Grid_Generator_System::const_iterator
+::const_iterator(const Linear_System<Grid_Generator>::const_iterator& y)
+  : i(y) {
+}
 
-    \exception std::invalid_argument
-    Thrown if the constraint system contains any strict inequality
-    or if the space dimension of the constraint system (resp., the
-    objective function) is strictly greater than \p dim.
-  */
-  MIP_Problem(dimension_type dim,
-	      const Constraint_System& cs,
-	      const Linear_Expression& obj = Linear_Expression::zero(),
-	      Optimization_Mode mode = MAXIMIZATION);
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::begin() const {
+  return static_cast<Grid_Generator_System::const_iterator>(sys.begin());
+}
 
-  //! Ordinary copy constructor.
-  MIP_Problem(const MIP_Problem& y);
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::end() const {
+  return static_cast<Grid_Generator_System::const_iterator>(sys.end());
+}
 
-  //! Destructor.
-  ~MIP_Problem();
+inline const Grid_Generator&
+Grid_Generator_System::operator[](const dimension_type k) const {
+  return sys[k];
+}
 
-  //! Assignment operator.
-  MIP_Problem& operator=(const MIP_Problem& y);
+inline bool
+Grid_Generator_System::has_no_rows() const {
+  return sys.has_no_rows();
+}
 
-  //! Returns the maximum space dimension an MIP_Problem can handle.
-  static dimension_type max_space_dimension();
+inline void
+Grid_Generator_System::remove_trailing_rows(dimension_type n) {
+  sys.remove_trailing_rows(n);
+}
 
-  //! Returns the space dimension of the MIP problem.
-  dimension_type space_dimension() const;
+inline void
+Grid_Generator_System::insert_verbatim(const Grid_Generator& g) {
+  sys.insert(g);
+}
 
-  /*! \brief
-    Returns a set containing all the variables' indexes constrained
-    to be integral.
-  */
-  const Variables_Set& integer_space_dimensions() const;
+inline Topology
+Grid_Generator_System::topology() const {
+  return sys.topology();
+}
 
-private:
-  //! A type alias for a sequence of constraints.
-  typedef std::vector<Constraint> Constraint_Sequence;
+inline dimension_type
+Grid_Generator_System::first_pending_row() const {
+  return sys.first_pending_row();
+}
 
-public:
-  /*! \brief
-    A type alias for the read-only iterator on the constraints
-    defining the feasible region.
-  */
-  typedef Constraint_Sequence::const_iterator const_iterator;
+/*! \relates Grid_Generator_System */
+inline bool
+operator==(const Grid_Generator_System& x,
+	   const Grid_Generator_System& y) {
+  return x.is_equal_to(y);
+}
 
-  /*! \brief
-    Returns a read-only iterator to the first constraint defining
-    the feasible region.
-  */
-  const_iterator constraints_begin() const;
+/*! \relates Grid_Generator_System */
+inline void
+swap(Grid_Generator_System& x, Grid_Generator_System& y) {
+  x.m_swap(y);
+}
 
-  /*! \brief
-    Returns a past-the-end read-only iterator to the sequence of
-    constraints defining the feasible region.
-  */
-  const_iterator constraints_end() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Returns the objective function.
-  const Linear_Expression& objective_function() const;
+/* Automatically generated from PPL source file ../src/Grid_Certificate.types.hh line 1. */
 
-  //! Returns the optimization mode.
-  Optimization_Mode optimization_mode() const;
 
-  //! Resets \p *this to be equal to the trivial MIP problem.
-  /*!
-    The space dimension is reset to \f$0\f$.
-  */
-  void clear();
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the old MIP problem
-    in the new vector space.
+class Grid_Certificate;
 
-    \param m
-    The number of dimensions to add.
+}
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 47. */
+#include <vector>
+#include <iosfwd>
 
-    The new space dimensions will be those having the highest indexes
-    in the new MIP problem; they are initially unconstrained.
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Sets the variables whose indexes are in set \p i_vars to be
-    integer space dimensions.
+namespace IO_Operators {
 
-    \exception std::invalid_argument
-    Thrown if some index in \p i_vars does not correspond to
-    a space dimension in \p *this.
-  */
-  void add_to_integer_space_dimensions(const Variables_Set& i_vars);
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Grid
+  Writes a textual representation of \p gr on \p s: <CODE>false</CODE>
+  is written if \p gr is an empty grid; <CODE>true</CODE> is written
+  if \p gr is a universe grid; a minimized system of congruences
+  defining \p gr is written otherwise, all congruences in one row
+  separated by ", "s.
+*/
+std::ostream&
+operator<<(std::ostream& s, const Grid& gr);
 
-  /*! \brief
-    Adds a copy of constraint \p c to the MIP problem.
+} // namespace IO_Operators
 
-    \exception std::invalid_argument
-    Thrown if the constraint \p c is a strict inequality or if its space
-    dimension is strictly greater than the space dimension of \p *this.
-  */
-  void add_constraint(const Constraint& c);
+//! Swaps \p x with \p y.
+/*! \relates Grid */
+void swap(Grid& x, Grid& y);
 
-  /*! \brief
-    Adds a copy of the constraints in \p cs to the MIP problem.
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  grid.
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains any strict inequality
-    or if its space dimension is strictly greater than the space dimension
-    of \p *this.
-  */
-  void add_constraints(const Constraint_System& cs);
+  \relates Grid
+  Note that \p x and \p y may be dimension-incompatible grids: in
+  those cases, the value <CODE>false</CODE> is returned.
+*/
+bool operator==(const Grid& x, const Grid& y);
 
-  //! Sets the objective function to \p obj.
-  /*!
-    \exception std::invalid_argument
-    Thrown if the space dimension of \p obj is strictly greater than
-    the space dimension of \p *this.
-  */
-  void set_objective_function(const Linear_Expression& obj);
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different
+  grids.
 
-  //! Sets the optimization mode to \p mode.
-  void set_optimization_mode(Optimization_Mode mode);
+  \relates Grid
+  Note that \p x and \p y may be dimension-incompatible grids: in
+  those cases, the value <CODE>true</CODE> is returned.
+*/
+bool operator!=(const Grid& x, const Grid& y);
 
-  //! Checks satisfiability of \p *this.
-  /*!
-    \return
-    <CODE>true</CODE> if and only if the MIP problem is satisfiable.
-  */
-  bool is_satisfiable() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Optimizes the MIP problem.
-  /*!
-    \return
-    An MIP_Problem_Status flag indicating the outcome of the optimization
-    attempt (unfeasible, unbounded or optimized problem).
-  */
-  MIP_Problem_Status solve() const;
 
-  /*! \brief
-    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is the result
-    of evaluating the objective function on \p evaluating_point.
+//! A grid.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Grid represents a rational grid.
 
-    \param evaluating_point
-    The point on which the objective function will be evaluated.
+  The domain of grids <EM>optimally supports</EM>:
+    - all (proper and non-proper) congruences;
+    - tautological and inconsistent constraints;
+    - linear equality constraints (i.e., non-proper congruences).
 
-    \param num
-    On exit will contain the numerator of the evaluated value.
+  Depending on the method, using a constraint that is not optimally
+  supported by the domain will either raise an exception or
+  result in a (possibly non-optimal) upward approximation.
 
-    \param den
-    On exit will contain the denominator of the evaluated value.
+  The domain of grids support a concept of double description similar
+  to the one developed for polyhedra: hence, a grid can be specified
+  as either a finite system of congruences or a finite system of
+  generators (see Section \ref sect_rational_grids) and it is always
+  possible to obtain either representation.
+  That is, if we know the system of congruences, we can obtain
+  from this a system of generators that define the same grid
+  and vice versa.
+  These systems can contain redundant members, or they can be in the
+  minimal form.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p evaluating_point are dimension-incompatible
-    or if the generator \p evaluating_point is not a point.
-  */
-  void evaluate_objective_function(const Generator& evaluating_point,
-				   Coefficient& num,
-				   Coefficient& den) const;
+  A key attribute of any grid is its space dimension (the dimension
+  \f$n \in \Nset\f$ of the enclosing vector space):
 
-  //! Returns a feasible point for \p *this, if it exists.
-  /*!
-    \exception std::domain_error
-    Thrown if the MIP problem is not satisfiable.
-  */
-  const Generator& feasible_point() const;
+  - all grids, the empty ones included, are endowed with a space
+    dimension;
+  - most operations working on a grid and another object (another
+    grid, a congruence, a generator, a set of variables, etc.) will
+    throw an exception if the grid and the object are not
+    dimension-compatible (see Section \ref Grid_Space_Dimensions);
+  - the only ways in which the space dimension of a grid can be
+    changed are with <EM>explicit</EM> calls to operators provided for
+    that purpose, and with standard copy, assignment and swap
+    operators.
 
-  //! Returns an optimal point for \p *this, if it exists.
-  /*!
-    \exception std::domain_error
-    Thrown if \p *this doesn't not have an optimizing point, i.e.,
-    if the MIP problem is unbounded or not satisfiable.
-  */
-  const Generator& optimizing_point() const;
+  Note that two different grids can be defined on the zero-dimension
+  space: the empty grid and the universe grid \f$R^0\f$.
 
-  /*! \brief
-    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is
-    the solution of the optimization problem.
+  \par
+  In all the examples it is assumed that variables
+  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
+  used) as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  \endcode
 
-    \exception std::domain_error
-    Thrown if \p *this doesn't not have an optimizing point, i.e.,
-    if the MIP problem is unbounded or not satisfiable.
-  */
-  void optimal_value(Coefficient& num, Coefficient& den) const;
+  \par Example 1
+  The following code builds a grid corresponding to the even integer
+  pairs in \f$\Rset^2\f$, given as a system of congruences:
+  \code
+  Congruence_System cgs;
+  cgs.insert((x %= 0) / 2);
+  cgs.insert((y %= 0) / 2);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying three of the points:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_point(0*x + 2*y));
+  gs.insert(grid_point(2*x + 0*y));
+  Grid gr(gs);
+  \endcode
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  \par Example 2
+  The following code builds a grid corresponding to a line in
+  \f$\Rset^2\f$ by adding a single congruence to the universe grid:
+  \code
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying a point and a line:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_line(x + y));
+  Grid gr(gs);
+  \endcode
 
-  PPL_OUTPUT_DECLARATIONS
+  \par Example 3
+  The following code builds a grid corresponding to the integral
+  points on the line \f$x = y\f$ in \f$\Rset^2\f$ constructed
+  by adding an equality and congruence to the universe grid:
+  \code
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  cgs.insert(x %= 0);
+  Grid gr(cgs);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying a point and a parameter:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(parameter(x + y));
+  Grid gr(gs);
+  \endcode
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  \par Example 4
+  The following code builds the grid corresponding to a plane by
+  creating the universe grid in \f$\Rset^2\f$:
+  \code
+  Grid gr(2);
+  \endcode
+  The following code builds the same grid as above, but starting
+  from the empty grid in \f$\Rset^2\f$ and inserting the appropriate
+  generators (a point, and two lines).
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_line(x));
+  gr.add_grid_generator(grid_line(y));
+  \endcode
+  Note that a generator system must contain a point when describing
+  a grid.  To ensure that this is always the case it is required
+  that the first generator inserted in an empty grid is a point
+  (otherwise, an exception is thrown).
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  \par Example 5
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_embed</CODE>:
+  \code
+  Grid gr(1);
+  gr.add_congruence(x == 2);
+  gr.add_space_dimensions_and_embed(1);
+  \endcode
+  We build the universe grid in the 1-dimension space \f$\Rset\f$.
+  Then we add a single equality congruence,
+  thus obtaining the grid corresponding to the singleton set
+  \f$\{ 2 \} \sseq \Rset\f$.
+  After the last line of code, the resulting grid is
+  \f[
+  \bigl\{\,
+  (2, y)^\transpose \in \Rset^2
+  \bigm|
+  y \in \Rset
+  \,\bigr\}.
+  \f]
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  \par Example 6
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_project</CODE>:
+  \code
+  Grid gr(1);
+  gr.add_congruence(x == 2);
+  gr.add_space_dimensions_and_project(1);
+  \endcode
+  The first two lines of code are the same as in Example 4 for
+  <CODE>add_space_dimensions_and_embed</CODE>.
+  After the last line of code, the resulting grid is
+  the singleton set
+  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
 
-  //! Swaps \p *this with \p y.
-  void swap(MIP_Problem& y);
+  \par Example 7
+  The following code shows the use of the function
+  <CODE>affine_image</CODE>:
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_point(4*x + 0*y));
+  gr.add_grid_generator(grid_point(0*x + 2*y));
+  Linear_Expression expr = x + 3;
+  gr.affine_image(x, expr);
+  \endcode
+  In this example the starting grid is all the pairs of \f$x\f$ and
+  \f$y\f$ in \f$\Rset^2\f$ where \f$x\f$ is an integer multiple of 4
+  and \f$y\f$ is an integer multiple of 2.  The considered variable
+  is \f$x\f$ and the affine expression is \f$x+3\f$.  The resulting
+  grid is the given grid translated 3 integers to the right (all the
+  pairs \f$(x, y)\f$ where \f$x\f$ is -1 plus an integer multiple of 4
+  and \f$y\f$ is an integer multiple of 2).
+  Moreover, if the affine transformation for the same variable \p x
+  is instead \f$x+y\f$:
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting grid is every second integral point along the \f$x=y\f$
+  line, with this line of points repeated at every fourth integral value
+  along the \f$x\f$ axis.
+  Instead, if we do not use an invertible transformation for the
+  same variable; for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting grid is every second point along the \f$x=y\f$ line.
 
-  //! Names of MIP problems' control parameters.
-  enum Control_Parameter_Name {
-    //! The pricing rule.
-    PRICING
-  };
+  \par Example 8
+  The following code shows the use of the function
+  <CODE>affine_preimage</CODE>:
+  \code
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point(0*x + 0*y));
+  gr.add_grid_generator(grid_point(4*x + 0*y));
+  gr.add_grid_generator(grid_point(0*x + 2*y));
+  Linear_Expression expr = x + 3;
+  gr.affine_preimage(x, expr);
+  \endcode
+  In this example the starting grid, \p var and the affine
+  expression and the denominator are the same as in Example 6, while
+  the resulting grid is similar but translated 3 integers to the
+  left (all the pairs \f$(x, y)\f$
+  where \f$x\f$ is -3 plus an integer multiple of 4 and
+  \f$y\f$ is an integer multiple of 2)..
+  Moreover, if the affine transformation for \p x is \f$x+y\f$
+  \code
+  Linear_Expression expr = x + y;
+  \endcode
+  the resulting grid is a similar grid to the result in Example 6,
+  only the grid is slanted along \f$x=-y\f$.
+  Instead, if we do not use an invertible transformation for the same
+  variable \p x, for example, the affine expression \f$y\f$:
+  \code
+  Linear_Expression expr = y;
+  \endcode
+  the resulting grid is every fourth line parallel to the \f$x\f$
+  axis.
 
-  //! Possible values for MIP problem's control parameters.
-  enum Control_Parameter_Value {
-    //! Steepest edge pricing method, using floating points (default).
-    PRICING_STEEPEST_EDGE_FLOAT,
-    //! Steepest edge pricing method, using Coefficient.
-    PRICING_STEEPEST_EDGE_EXACT,
-    //! Textbook pricing method.
-    PRICING_TEXTBOOK
-  };
+  \par Example 9
+  For this example we also use the variables:
+  \code
+  Variable z(2);
+  Variable w(3);
+  \endcode
+  The following code shows the use of the function
+  <CODE>remove_space_dimensions</CODE>:
+  \code
+  Grid_Generator_System gs;
+  gs.insert(grid_point(3*x + y +0*z + 2*w));
+  Grid gr(gs);
+  Variables_Set vars;
+  vars.insert(y);
+  vars.insert(z);
+  gr.remove_space_dimensions(vars);
+  \endcode
+  The starting grid is the singleton set
+  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
+  the resulting grid is
+  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
+  Be careful when removing space dimensions <EM>incrementally</EM>:
+  since dimensions are automatically renamed after each application
+  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
+  results can be obtained.
+  For instance, by using the following code we would obtain
+  a different result:
+  \code
+  set<Variable> vars1;
+  vars1.insert(y);
+  gr.remove_space_dimensions(vars1);
+  set<Variable> vars2;
+  vars2.insert(z);
+  gr.remove_space_dimensions(vars2);
+  \endcode
+  In this case, the result is the grid
+  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
+  when removing the set of dimensions \p vars2
+  we are actually removing variable \f$w\f$ of the original grid.
+  For the same reason, the operator \p remove_space_dimensions
+  is not idempotent: removing twice the same non-empty set of dimensions
+  is never the same as removing them just once.
+*/
 
-  //! Returns the value of the control parameter \p name.
-  Control_Parameter_Value
-  get_control_parameter(Control_Parameter_Name name) const;
+class Parma_Polyhedra_Library::Grid {
+public:
+  //! The numeric type of coefficients.
+  typedef Coefficient coefficient_type;
 
-  //! Sets control parameter \p value.
-  void set_control_parameter(Control_Parameter_Value value);
+  //! Returns the maximum space dimension all kinds of Grid can handle.
+  static dimension_type max_space_dimension();
 
-private:
-  //! The dimension of the vector space.
-  dimension_type external_space_dim;
+  /*! \brief
+    Returns true indicating that this domain has methods that
+    can recycle congruences.
+  */
+  static bool can_recycle_congruence_systems();
 
   /*! \brief
-    The space dimension of the current (partial) solution of the
-    MIP problem; it may be smaller than \p external_space_dim.
+    Returns true indicating that this domain has methods that
+    can recycle constraints.
   */
-  dimension_type internal_space_dim;
+  static bool can_recycle_constraint_systems();
 
-  //! The matrix encoding the current feasible region in tableau form.
-  Matrix tableau;
+  //! Builds a grid having the specified properties.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
 
-  //! The working cost function.
-  Row working_cost;
+    \param kind
+    Specifies whether the universe or the empty grid has to be built.
 
-  //! A map between the variables of `input_cs' and `tableau'.
-  /*!
-    Contains all the pairs (i, j) such that mapping[i].first encodes the index
-    of the column in the tableau where input_cs[i] is stored; mapping[i].second
-    not a zero, encodes the split part of the tableau of input_cs[i].
-    The "positive" one is represented by mapping[i].first and
-    the "negative" one is represented by mapping[i].second.
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  std::vector<std::pair<dimension_type, dimension_type> > mapping;
+  explicit Grid(dimension_type num_dimensions = 0,
+		Degenerate_Element kind = UNIVERSE);
 
-  //! The current basic solution.
-  std::vector<dimension_type> base;
+  //! Builds a grid, copying a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-  //! An enumerated type describing the internal status of the MIP problem.
-  enum Status {
-    //! The MIP problem is unsatisfiable.
-    UNSATISFIABLE,
-    //! The MIP problem is satisfiable; a feasible solution has been computed.
-    SATISFIABLE,
-    //! The MIP problem is unbounded; a feasible solution has been computed.
-    UNBOUNDED,
-    //! The MIP problem is optimized; an optimal solution has been computed.
-    OPTIMIZED,
-    /*! \brief
-      The feasible region of the MIP problem has been changed by adding
-      new space dimensions or new constraints; a feasible solution for
-      the old feasible region is still available.
-    */
-    PARTIALLY_SATISFIABLE
-  };
+    \param cgs
+    The system of congruences defining the grid.
 
-  //! The internal state of the MIP problem.
-  Status status;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Congruence_System& cgs);
 
-  // TODO: merge `status', `initialized', `pricing' and (maybe) `opt_mode'
-  // into a single bitset status word, so as to save space and allow
-  // for other control parameters.
+  //! Builds a grid, recycling a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-  //! The pricing method in use.
-  Control_Parameter_Value pricing;
+    \param cgs
+    The system of congruences defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-  /*! \brief
-    A Boolean encoding whether or not internal data structures have
-    already been properly sized and populated: useful to allow for
-    deeper checks in method OK().
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  bool initialized;
+  Grid(Congruence_System& cgs, Recycle_Input dummy);
 
-  //! The sequence of constraints describing the feasible region.
-  Constraint_Sequence input_cs;
+  //! Builds a grid, copying a system of constraints.
+  /*!
+    The grid inherits the space dimension of the constraint system.
 
-  //! The first index of `input_cs' containing a pending constraint.
-  dimension_type first_pending_constraint;
+    \param cs
+    The system of constraints defining the grid.
 
-  //! The objective function to be optimized.
-  Linear_Expression input_obj_function;
+    \exception std::invalid_argument
+    Thrown if the constraint system \p cs contains inequality constraints.
 
-  //! The optimization mode requested.
-  Optimization_Mode opt_mode;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Constraint_System& cs);
 
-  //! The last successfully computed feasible or optimizing point.
-  Generator last_generator;
+  //! Builds a grid, recycling a system of constraints.
+  /*!
+    The grid inherits the space dimension of the constraint system.
 
-  /*! \brief
-    A set containing all the indexes of variables that are constrained
-    to have an integer value.
-  */
-  Variables_Set i_variables;
+    \param cs
+    The system of constraints defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-  //! A helper class to temporarily relax a MIP problem using RAII.
-  struct RAII_Temporary_Real_Relaxation {
-    MIP_Problem& lp;
-    Variables_Set i_vars;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-    RAII_Temporary_Real_Relaxation(MIP_Problem& mip)
-      : lp(mip), i_vars() {
-      // Turn mip into an LP problem (saving i_variables in i_vars).
-      std::swap(i_vars, lp.i_variables);
-    }
+    \exception std::invalid_argument
+    Thrown if the constraint system \p cs contains inequality constraints.
 
-    ~RAII_Temporary_Real_Relaxation() {
-      // Restore the original set of integer variables.
-      std::swap(i_vars, lp.i_variables);
-    }
-  };
-  friend class RAII_Temporary_Real_Relaxation;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  Grid(Constraint_System& cs, Recycle_Input dummy);
 
-  //! Processes the pending constraints of \p *this.
+  //! Builds a grid, copying a system of grid generators.
   /*!
-    \return
-    <CODE>true</CODE> if and only if the MIP problem is satisfiable after
-    processing the pending constraints, <CODE>false</CODE> otherwise.
-  */
-  bool process_pending_constraints();
+    The grid inherits the space dimension of the generator system.
 
-  /*! \brief
-    Optimizes the MIP problem using the second phase of the
-    primal simplex algorithm.
-  */
-  void second_phase();
+    \param ggs
+    The system of generators defining the grid.
 
-  /*! \brief
-    Assigns to \p this->tableau a simplex tableau representing the
-    MIP problem, inserting into \p this->mapping the information
-    that is required to recover the original MIP problem.
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
 
-    \return
-    <CODE>UNFEASIBLE_MIP_PROBLEM</CODE> if the constraint system contains
-    any trivially unfeasible constraint (tableau was not computed);
-    <CODE>UNBOUNDED_MIP_PROBLEM</CODE> if the problem is trivially unbounded
-    (the computed tableau contains no constraints);
-    <CODE>OPTIMIZED_MIP_PROBLEM></CODE> if the problem is neither trivially
-    unfeasible nor trivially unbounded (the tableau was computed successfully).
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  MIP_Problem_Status
-  compute_tableau(std::vector<dimension_type>& worked_out_row);
+  explicit Grid(const Grid_Generator_System& ggs);
 
-  /*! \brief
-    Parses the pending constraints to gather information on
-    how to resize the tableau.
+  //! Builds a grid, recycling a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-    \note
-    All of the method parameters are output parameters; their value
-    is only meaningful when the function exit returning value \c true.
+    \param ggs
+    The system of generators defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-    \return
-    \c false if a trivially false constraint is detected, \c true otherwise.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-    \param additional_tableau_rows
-    On exit, this will store the number of rows that have to be added
-    to the original tableau.
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
 
-    \param additional_slack_variables
-    This will store the number of slack variables that have to be added
-    to the original tableau.
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+  */
+  Grid(Grid_Generator_System& ggs, Recycle_Input dummy);
 
-    \param is_tableau_constraint
-    This container of Boolean flags is initially empty. On exit, it size
-    will be equal to the number of pending constraints in \c input_cs.
-    For each pending constraint index \c i, the corresponding element
-    of this container (having index <CODE>i - first_pending_constraint</CODE>)
-    will be set to \c true if and only if the constraint has to be included
-    in the tableau.
+  //! Builds a grid out of a box.
+  /*!
+    The grid inherits the space dimension of the box.
+    The built grid is the most precise grid that includes the box.
 
-    \param is_satisfied_inequality
-    This container of Boolean flags is initially empty. On exit, its size
-    will be equal to the number of pending constraints in \c input_cs.
-    For each pending constraint index \c i, the corresponding element
-    of this container (having index <CODE>i - first_pending_constraint</CODE>)
-    will be set to \c true if and only if it is an inequality and it
-    is already satisfied by \c last_generator (hence it does not require
-    the introduction of an artificial variable).
+    \param box
+    The box representing the grid to be built.
 
-    \param is_nonnegative_variable
-    This container of Boolean flags is initially empty.
-    On exit, it size is equal to \c external_space_dim.
-    For each variable (index), the corresponding element of this container
-    is \c true if the variable is known to be nonnegative (and hence should
-    not be split into a positive and a negative part).
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    \param is_remergeable_variable
-    This container of Boolean flags is initially empty.
-    On exit, it size is equal to \c internal_space_dim.
-    For each variable (index), the corresponding element of this container
-    is \c true if the variable was previously split into positive and
-    negative parts that can now be merged back, since it is known
-    that the variable is nonnegative.
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
   */
-  bool parse_constraints(dimension_type& additional_tableau_rows,
-			 dimension_type& additional_slack_variables,
-			 std::deque<bool>& is_tableau_constraint,
-			 std::deque<bool>& is_satisfied_inequality,
-			 std::deque<bool>& is_nonnegative_variable,
-			 std::deque<bool>& is_remergeable_variable) const;
+  template <typename Interval>
+  explicit Grid(const Box<Interval>& box,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-  /*! \brief
-    Computes the row index of the variable exiting the base
-    of the MIP problem. Implemented with anti-cycling rule.
+  //! Builds a grid out of a bounded-difference shape.
+  /*!
+    The grid inherits the space dimension of the BDS.
+    The built grid is the most precise grid that includes the BDS.
 
-    \return
-    The row index of the variable exiting the base.
+    \param bd
+    The BDS representing the grid to be built.
 
-    \param entering_var_index
-    The column index of the variable entering the base.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
   */
-  dimension_type
-  get_exiting_base_index(dimension_type entering_var_index) const;
+  template <typename U>
+  explicit Grid(const BD_Shape<U>& bd,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Linearly combines \p x with \p y so that <CODE>*this[k]</CODE> is 0.
+  //! Builds a grid out of an octagonal shape.
   /*!
-    \param x
-    The Row that will be combined with \p y object.
+    The grid inherits the space dimension of the octagonal shape.
+    The built grid is the most precise grid that includes the octagonal shape.
 
-    \param y
-    The Row that will be combined with \p x object.
+    \param os
+    The octagonal shape representing the grid to be built.
 
-    \param k
-    The position of \p *this that have to be \f$0\f$.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    Computes a linear combination of \p x and \p y having
-    the element of index \p k equal to \f$0\f$. Then it assigns
-    the resulting Linear_Row to \p x and normalizes it.
+    \exception std::length_error
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
   */
-  static void linear_combine(Row& x, const Row& y, const dimension_type k);
+  template <typename U>
+  explicit Grid(const Octagonal_Shape<U>& os,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Performs the pivoting operation on the tableau.
+    Builds a grid from a polyhedron using algorithms whose complexity
+    does not exceed the one specified by \p complexity.
+    If \p complexity is \p ANY_COMPLEXITY, then the grid built is the
+    smallest one containing \p ph.
 
-    \param entering_var_index
-    The index of the variable entering the base.
+    The grid inherits the space dimension of polyhedron.
 
-    \param exiting_base_index
-    The index of the row exiting the base.
-  */
-  void pivot(dimension_type entering_var_index,
-	     dimension_type exiting_base_index);
+    \param ph
+    The polyhedron.
 
-  /*! \brief
-    Computes the column index of the variable entering the base,
-    using the textbook algorithm with anti-cycling rule.
+    \param complexity
+    The complexity class.
 
-    \return
-    The column index of the variable that enters the base.
-    If no such variable exists, optimality was achieved
-    and <CODE>0</CODE> is returned.
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  dimension_type textbook_entering_index() const;
-
-  /*! \brief
-    Computes the column index of the variable entering the base,
-    using an exact steepest-edge algorithm with anti-cycling rule.
-
-    \return
-    The column index of the variable that enters the base.
-    If no such variable exists, optimality was achieved
-    and <CODE>0</CODE> is returned.
+  explicit Grid(const Polyhedron& ph,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-    To compute the entering_index, the steepest edge algorithm chooses
-    the index `j' such that \f$\frac{d_{j}}{\|\Delta x^{j} \|}\f$ is the
-    largest in absolute value, where
-    \f[
-      \|\Delta x^{j} \|
-        = \left(
-            1+\sum_{i=1}^{m} \alpha_{ij}^2
-          \right)^{\frac{1}{2}}.
-    \f]
-    Recall that, due to the exact integer implementation of the algorithm,
-    our tableau doesn't contain the ``real'' \f$\alpha\f$ values, but these
-    can be computed dividing the value of the coefficient by the value of
-    the variable in base. Obviously the result may not be an integer, so
-    we will proceed in another way: we compute the lcm of all the variables
-    in base to get the good ``weight'' of each Coefficient of the tableau.
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
   */
-  dimension_type steepest_edge_exact_entering_index() const;
+  Grid(const Grid& y,
+       Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Same as steepest_edge_exact_entering_index,
-    but using floating points.
-
-    \note
-    Due to rounding errors, the index of the variable entering the base
-    of the MIP problem is not predictable across different architectures.
-    Hence, the overall simplex computation may differ in the path taken
-    to reach the optimum. Anyway, the exact final result will be computed
-    for the MIP_Problem.
+    The assignment operator.  (\p *this and \p y can be
+    dimension-incompatible.)
   */
-  dimension_type steepest_edge_float_entering_index() const;
+  Grid& operator=(const Grid& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and if only the algorithm successfully
-    computed a feasible solution.
+  //! \name Member Functions that Do Not Modify the Grid
+  //@{
 
-    \note
-    Uses an exact pricing method (either textbook or exact steepest edge),
-    so that the result is deterministic across different architectures.
-  */
-  bool compute_simplex_using_exact_pricing();
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and if only the algorithm successfully
-    computed a feasible solution.
-
-    \note
-    Uses a floating point implementation of the steepest edge pricing
-    method, so that the result is correct, but not deterministic across
-    different architectures.
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns
+    the \ref Grid_Affine_Dimension "affine dimension" of \p *this.
   */
-  bool compute_simplex_using_steepest_edge_float();
+  dimension_type affine_dimension() const;
 
   /*! \brief
-    Drop unnecessary artificial variables from the tableau and get ready
-    for the second phase of the simplex algorithm.
-
-    \note
-    The two parameters denote a STL-like half-open range.
-    It is assumed that \p begin_artificials is strictly greater than 0
-    and smaller than \p end_artificials.
-
-    \param begin_artificials
-    The start of the tableau column index range for artificial variables.
-
-    \param end_artificials
-    The end of the tableau column index range for artificial variables.
-    Note that column index end_artificial is \e excluded from the range.
+    Returns a system of equality constraints satisfied by \p *this
+    with the same affine dimension as \p *this.
   */
-  void erase_artificials(dimension_type begin_artificials,
-			 dimension_type end_artificials);
-
-  bool is_in_base(dimension_type var_index,
-		  dimension_type& row_index) const;
+  Constraint_System constraints() const;
 
   /*! \brief
-    Computes a valid generator that satisfies all the constraints of the
-    Linear Programming problem associated to \p *this.
+    Returns a minimal system of equality constraints satisfied by
+    \p *this with the same affine dimension as \p *this.
   */
-  void compute_generator() const;
+  Constraint_System minimized_constraints() const;
 
-  /*! \brief
-    Merges back the positive and negative part of a (previously split)
-    variable after detecting a corresponding nonnegativity constraint.
+  //! Returns the system of congruences.
+  const Congruence_System& congruences() const;
 
-    \return
-    If the negative part of \p var_index was in base, the index of
-    the corresponding tableau row (which has become nonfeasible);
-    otherwise \c not_a_dimension().
+  //! Returns the system of congruences in minimal form.
+  const Congruence_System& minimized_congruences() const;
 
-    \param var_index
-    The index of the variable that has to be merged.
-  */
-  dimension_type merge_split_variable(dimension_type var_index);
+  //! Returns the system of generators.
+  const Grid_Generator_System& grid_generators() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p c is satisfied by \p g.
-  static bool is_satisfied(const Constraint& c, const Generator& g);
+  //! Returns the minimized system of generators.
+  const Grid_Generator_System& minimized_grid_generators() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p c is saturated by \p g.
-  static bool is_saturated(const Constraint& c, const Generator& g);
+  //! Returns the relations holding between \p *this and \p cg.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  // FIXME: Poly_Con_Relation seems to encode exactly what we want
+  // here.  We must find a new name for that class.  Temporarily,
+  // we keep using it without changing the name.
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-  /*! \brief
-    Returns a status that encodes the solution of the MIP problem.
+  //! Returns the relations holding between \p *this and \p g.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  // FIXME: see the comment for Poly_Con_Relation above.
+  Poly_Gen_Relation
+  relation_with(const Grid_Generator& g) const;
 
-    \param have_incumbent_solution
-    It is used to store if the solving process has found a provisional
-    optimum point.
+  //! Returns the relations holding between \p *this and \p g.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  // FIXME: see the comment for Poly_Con_Relation above.
+  Poly_Gen_Relation
+  relation_with(const Generator& g) const;
 
-    \param incumbent_solution_value
-    Encodes the evaluated value of the provisional optimum point found.
+  //! Returns the relations holding between \p *this and \p c.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  // FIXME: Poly_Con_Relation seems to encode exactly what we want
+  // here.  We must find a new name for that class.  Temporarily,
+  // we keep using it without changing the name.
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-    \param incumbent_solution_point
-    If the method returns `OPTIMIZED', this will contain the optimality point.
+  //! Returns \c true if and only if \p *this is an empty grid.
+  bool is_empty() const;
 
-    \param mip
-    The problem that has to be solved.
+  //! Returns \c true if and only if \p *this is a universe grid.
+  bool is_universe() const;
 
-    \param i_vars
-    The variables that are constrained to take an integer value.
-  */
-  static MIP_Problem_Status solve_mip(bool& have_incumbent_solution,
-				      mpq_class& incumbent_solution_value,
-				      Generator& incumbent_solution_point,
-				      MIP_Problem& mip,
-				      const Variables_Set& i_vars);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a
+    topologically closed subset of the vector space.
 
-  /*! \brief
-    Returns \c true if and if only the LP problem is satisfiable.
+    A grid is always topologically closed.
   */
-  bool is_lp_satisfiable() const;
+  bool is_topologically_closed() const;
 
   /*! \brief
-    Returns \c true if and if only the LP problem \p lp is satisfiable
-    when variables in \p i_vars can only take integral values.
-
-    \param lp
-    The LP problem. This is assumed to have no integral space dimension.
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    disjoint.
 
-    \param i_vars
-    The variables that are constrained to take integral values.
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Grid& y) const;
 
-    \param p
-    If \c true is returned, it will encode a feasible point.
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  /*!
+    A grid is discrete if it can be defined by a generator system which
+    contains only points and parameters.  This includes the empty grid
+    and any grid in dimension zero.
   */
-  static bool is_mip_satisfiable(MIP_Problem& lp,
-				 const Variables_Set& i_vars,
-                                 Generator& p);
+  bool is_discrete() const;
 
-  /*! \brief
-    Returns \c true if and if only \c mip.last_generator satisfies all the
-    integrality coditions implicitly stated using by \p i_vars.
+  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
+  bool is_bounded() const;
 
-    \param lp
-    The LP problem. This is assumed to have no integral space dimension.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
 
-    \param i_vars
-    The variables that are constrained to take an integer value.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-    \param branching_index
-    If \c false is returned, this will encode the non-integral variable
-    index on which the `branch and bound' algorithm should be applied.
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
   */
-  static bool choose_branching_variable(const MIP_Problem& lp,
-					const Variables_Set& i_vars,
-					dimension_type& branching_index);
-};
-
-namespace std {
+  bool constrains(Variable var) const;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
-void swap(Parma_Polyhedra_Library::MIP_Problem& x,
-	  Parma_Polyhedra_Library::MIP_Problem& y);
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_below.
 
-} // namespace std
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 1. */
-/* MIP_Problem class implementation: inline functions.
-*/
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_above.
 
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 28. */
-#include <stdexcept>
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value is computed.
 
-namespace Parma_Polyhedra_Library {
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-inline dimension_type
-MIP_Problem::max_space_dimension() {
-  return Constraint::max_space_dimension();
-}
+    \param sup_n
+    The numerator of the supremum value;
 
-inline dimension_type
-MIP_Problem::space_dimension() const {
-  return external_space_dim;
-}
+    \param sup_d
+    The denominator of the supremum value;
 
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
+    interface compatibility with class Polyhedron, where closure
+    points can result in a value of false.
 
-inline
-MIP_Problem::MIP_Problem(const MIP_Problem& y)
-  : external_space_dim(y.external_space_dim),
-    internal_space_dim(y.internal_space_dim),
-    tableau(y.tableau),
-    working_cost(y.working_cost),
-    mapping(y.mapping),
-    base(y.base),
-    status(y.status),
-    pricing(y.pricing),
-    initialized(y.initialized),
-    input_cs(y.input_cs),
-    first_pending_constraint(y.first_pending_constraint),
-    input_obj_function(y.input_obj_function),
-    opt_mode(y.opt_mode),
-    last_generator(y.last_generator),
-    i_variables(y.i_variables) {
-  PPL_ASSERT(OK());
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline
-MIP_Problem::~MIP_Problem() {
-}
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
+    maximum are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value and a point where \p expr reaches it are computed.
 
-inline void
-MIP_Problem::set_optimization_mode(const Optimization_Mode mode) {
-  if (opt_mode != mode) {
-    opt_mode = mode;
-    if (status == UNBOUNDED || status == OPTIMIZED)
-      status = SATISFIABLE;
-    PPL_ASSERT(OK());
-  }
-}
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-inline const Linear_Expression&
-MIP_Problem::objective_function() const {
-  return input_obj_function;
-}
+    \param sup_n
+    The numerator of the supremum value;
 
-inline Optimization_Mode
-MIP_Problem::optimization_mode() const {
-  return opt_mode;
-}
+    \param sup_d
+    The denominator of the supremum value;
 
-inline void
-MIP_Problem::optimal_value(Coefficient& num, Coefficient& den) const {
-  const Generator& g = optimizing_point();
-  evaluate_objective_function(g, num, den);
-}
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
+    interface compatibility with class Polyhedron, where closure
+    points can result in a value of false;
 
-inline MIP_Problem::const_iterator
-MIP_Problem::constraints_begin() const {
-  return input_cs.begin();
-}
+    \param point
+    When maximization succeeds, will be assigned a point where \p expr
+    reaches its supremum value.
 
-inline MIP_Problem::const_iterator
-MIP_Problem::constraints_end() const {
-  return input_cs.end();
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline const Variables_Set&
-MIP_Problem::integer_space_dimensions() const {
-  return i_variables;
-}
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p point are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& point) const;
 
-inline MIP_Problem::Control_Parameter_Value
-MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
-  used(name);
-  PPL_ASSERT(name == PRICING);
-  return pricing;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below in \p *this, in which case the
+    infimum value is computed.
 
-inline void
-MIP_Problem::set_control_parameter(Control_Parameter_Value value) {
-  pricing = value;
-}
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-inline void
-MIP_Problem::swap(MIP_Problem& y) {
-  std::swap(external_space_dim, y.external_space_dim);
-  std::swap(internal_space_dim, y.internal_space_dim);
-  std::swap(tableau, y.tableau);
-  std::swap(working_cost, y.working_cost);
-  std::swap(mapping, y.mapping);
-  std::swap(initialized, y.initialized);
-  std::swap(base, y.base);
-  std::swap(status, y.status);
-  std::swap(pricing, y.pricing);
-  std::swap(input_cs, y.input_cs);
-  std::swap(first_pending_constraint, y.first_pending_constraint);
-  std::swap(input_obj_function, y.input_obj_function);
-  std::swap(opt_mode, y.opt_mode);
-  std::swap(last_generator, y.last_generator);
-  std::swap(i_variables, y.i_variables);
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-inline MIP_Problem&
-MIP_Problem::operator=(const MIP_Problem& y) {
-  MIP_Problem tmp(y);
-  swap(tmp);
-  return *this;
-}
+    \param inf_d
+    The denominator of the infimum value;
 
-inline void
-MIP_Problem::clear() {
-  MIP_Problem tmp;
-  swap(tmp);
-}
+    \param minimum
+    <CODE>true</CODE> if the is the infimum value can be reached in \p
+    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
+    Present for interface compatibility with class Polyhedron, where
+    closure points can result in a value of false.
 
-inline memory_size_type
-MIP_Problem::external_memory_in_bytes() const {
-  memory_size_type n
-    = tableau.external_memory_in_bytes()
-    + working_cost.external_memory_in_bytes()
-    + input_obj_function.external_memory_in_bytes()
-    + last_generator.external_memory_in_bytes();
-  // Adding the external memory for `input_cs'.
-  n += input_cs.capacity() * sizeof(Constraint);
-  for (const_iterator i = input_cs.begin(),
-	 i_end = input_cs.end(); i != i_end; ++i)
-    n += (i->external_memory_in_bytes());
-  // Adding the external memory for `base'.
-  n += base.capacity() * sizeof(dimension_type);
-  // Adding the external memory for `mapping'.
-  n += mapping.capacity() * sizeof(std::pair<dimension_type, dimension_type>);
-  return n;
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline memory_size_type
-MIP_Problem::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below in \p *this, in which case the
+    infimum value and a point where \p expr reaches it are computed.
 
-namespace std {
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
-inline void
-swap(Parma_Polyhedra_Library::MIP_Problem& x,
-     Parma_Polyhedra_Library::MIP_Problem& y) {
-  x.swap(y);
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-} // namespace std
+    \param inf_d
+    The denominator of the infimum value;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 1. */
-/* MIP_Problem class implementation: non-inline template functions.
-*/
+    \param minimum
+    <CODE>true</CODE> if the is the infimum value can be reached in \p
+    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
+    Present for interface compatibility with class Polyhedron, where
+    closure points can result in a value of false;
 
+    \param point
+    When minimization succeeds, will be assigned a point where \p expr
+    reaches its infimum value.
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 28. */
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-namespace Parma_Polyhedra_Library {
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p point are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& point) const;
 
-template <typename In>
-MIP_Problem::MIP_Problem(const dimension_type dim,
-			 In first,
-			 In last,
-			 const Variables_Set& int_vars,
-			 const Linear_Expression& obj,
-			 const Optimization_Mode mode)
-  : external_space_dim(dim),
-    internal_space_dim(0),
-    tableau(),
-    working_cost(0, Row::Flags()),
-    mapping(),
-    base(),
-    status(PARTIALLY_SATISFIABLE),
-    pricing(PRICING_STEEPEST_EDGE_FLOAT),
-    initialized(false),
-    input_cs(),
-    first_pending_constraint(0),
-    input_obj_function(obj),
-    opt_mode(mode),
-    last_generator(point()),
-    i_variables(int_vars) {
-  // Check that integer Variables_Set does not exceed the space dimension
-  // of the problem.
-  if (i_variables.space_dimension() > external_space_dim) {
-    std::ostringstream s;
-    s << "PPL::MIP_Problem::MIP_Problem"
-      << "(dim, first, last, int_vars, obj, mode):\n"
-      << "dim == "<< external_space_dim << " and int_vars.space_dimension() =="
-      << " " << i_variables.space_dimension() << " are dimension"
-      "incompatible.";
-    throw std::invalid_argument(s.str());
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
 
-   // Check for space dimension overflow.
-   if (dim > max_space_dimension())
-     throw std::length_error("PPL::MIP_Problem:: MIP_Problem(dim, first, "
-			     "last, int_vars, obj, mode):\n"
-			     "dim exceeds the maximum allowed"
-			     "space dimension.");
-   // Check the objective function.
-   if (obj.space_dimension() > dim) {
-     std::ostringstream s;
-     s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
-       << "int_vars, obj, mode):\n"
-       << "obj.space_dimension() == "<< obj.space_dimension()
-       << " exceeds d == "<< dim << ".";
-     throw std::invalid_argument(s.str());
-   }
-   // Check the constraints.
-   for (In i = first; i != last; ++i) {
-     if (i->is_strict_inequality())
-       throw std::invalid_argument("PPL::MIP_Problem::"
-				   "MIP_Problem(dim, first, last, int_vars,"
-				   "obj, mode):\nrange [first, last) contains"
-				   "a strict inequality constraint.");
-     if (i->space_dimension() > dim) {
-       std::ostringstream s;
-       s << "PPL::MIP_Problem::"
-	 << "MIP_Problem(dim, first, last, int_vars, obj, mode):\n"
-	 << "range [first, last) contains a constraint having space"
-	 << "dimension  == " << i->space_dimension() << " that exceeds"
-	 "this->space_dimension == " << dim << ".";
-       throw std::invalid_argument(s.str());
-     }
-     input_cs.push_back(*i);
-   }
-   PPL_ASSERT(OK());
-}
+    \param expr
+    The linear expression for which the frequency is needed;
 
-template <typename In>
-MIP_Problem::MIP_Problem(dimension_type dim,
-			 In first, In last,
-			 const Linear_Expression& obj,
-			 Optimization_Mode mode)
-  : external_space_dim(dim),
-    internal_space_dim(0),
-    tableau(),
-    working_cost(0, Row::Flags()),
-    mapping(),
-    base(),
-    status(PARTIALLY_SATISFIABLE),
-    pricing(PRICING_STEEPEST_EDGE_FLOAT),
-    initialized(false),
-    input_cs(),
-    first_pending_constraint(0),
-    input_obj_function(obj),
-    opt_mode(mode),
-    last_generator(point()),
-    i_variables() {
-  // Check for space dimension overflow.
-  if (dim > max_space_dimension())
-    throw std::length_error("PPL::MIP_Problem::"
-			    "MIP_Problem(dim, first, last, obj, mode):\n"
-			    "dim exceeds the maximum allowed space "
-			    "dimension.");
-  // Check the objective function.
-  if (obj.space_dimension() > dim) {
-    std::ostringstream s;
-    s << "PPL::MIP_Problem::MIP_Problem(dim, first, last,"
-      << " obj, mode):\n"
-      << "obj.space_dimension() == "<< obj.space_dimension()
-      << " exceeds d == "<< dim << ".";
-    throw std::invalid_argument(s.str());
-  }
-  // Check the constraints.
-  for (In i = first; i != last; ++i) {
-    if (i->is_strict_inequality())
-      throw std::invalid_argument("PPL::MIP_Problem::"
-				  "MIP_Problem(dim, first, last, obj, mode):\n"
-				  "range [first, last) contains a strict "
-				  "inequality constraint.");
-    if (i->space_dimension() > dim) {
-      std::ostringstream s;
-      s << "PPL::MIP_Problem::"
-	<< "MIP_Problem(dim, first, last, obj, mode):\n"
-	<< "range [first, last) contains a constraint having space"
-	<< "dimension" << " == " << i->space_dimension() << " that exceeds"
-	"this->space_dimension == " << dim << ".";
-      throw std::invalid_argument(s.str());
-    }
-    input_cs.push_back(*i);
-  }
-  PPL_ASSERT(OK());
-}
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
 
-} // namespace Parma_Polyhedra_Library
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 854. */
+    \param val_n
+    The numerator of them value of \p expr at a point in the grid
+    that is closest to zero;
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 1. */
-/* Declarations for the Interval class and its constituents.
-*/
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 1. */
-/* The assign_or_swap() utility functions.
-*/
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
+  */
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
 
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const Grid& y) const;
 
-/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 1. */
-/* Has_Assign_Or_Swap classes declarations.
-*/
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this strictly
+    contains \p y.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Grid& y) const;
 
-/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 28. */
+  //! Checks if all the invariants are satisfied.
+  /*!
+    \return
+    <CODE>true</CODE> if and only if \p *this satisfies all the
+    invariants and either \p check_not_empty is <CODE>false</CODE> or
+    \p *this is not empty.
 
-namespace Parma_Polyhedra_Library {
+    \param check_not_empty
+    <CODE>true</CODE> if and only if, in addition to checking the
+    invariants, \p *this must be checked to be not empty.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is not present by default.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Enable = void>
-struct Has_Assign_Or_Swap : public False {
-};
+    The check is performed so as to intrude as little as possible.  If
+    the library has been compiled with run-time assertions enabled,
+    error messages are written on <CODE>std::cerr</CODE> in case
+    invariants are violated. This is useful for the purpose of
+    debugging the library.
+  */
+  bool OK(bool check_not_empty = false) const;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is present if it is present (!).
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-struct Has_Assign_Or_Swap<T,
-			  typename Enable_If_Is<void (T::*)(T& x),
-						&T::assign_or_swap>::type>
-  : public True {
-};
+  //@} // Member Functions that Do Not Modify the Grid
 
-} // namespace Parma_Polyhedra_Library
+  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
+  //@{
 
-/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 30. */
+  //! Adds a copy of congruence \p cg to \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are
+    dimension-incompatible.
+  */
+  void add_congruence(const Congruence& cg);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Adds a copy of grid generator \p g to the system of generators of
+    \p *this.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is an assign_or_swap() method, use it.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<Has_Assign_Or_Swap<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  to.assign_or_swap(from);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible,
+    or if \p *this is an empty grid and \p g is not a point.
+  */
+  void add_grid_generator(const Grid_Generator& g);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() method but copies are not slow, copy.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
-                          && !Slow_Copy<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  to = from;
-}
+  //! Adds a copy of each congruence in \p cgs to \p *this.
+  /*!
+    \param cgs
+    Contains the congruences that will be added to the system of
+    congruences of \p *this.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() and copies are slow, delegate to std::swap().
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline typename Enable_If<!Has_Assign_Or_Swap<T>::value
-                          && Slow_Copy<T>::value, void>::type
-assign_or_swap(T& to, T& from) {
-  std::swap(to, from);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-} // namespace Parma_Polyhedra_Library
+  //! Adds the congruences in \p cgs to *this.
+  /*!
+    \param cgs
+    The congruence system to be added to \p *this.  The congruences in
+    \p cgs may be recycled.
 
-/* Automatically generated from PPL source file ../src/intervals.defs.hh line 1. */
-/* Helper classes for intervals.
-*/
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
 
+    \warning
+    The only assumption that can be made about \p cgs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
 
-/* Automatically generated from PPL source file ../src/intervals.defs.hh line 28. */
-#include <cstdlib>
+  /*! \brief
+    Adds to \p *this a congruence equivalent to constraint \p c.
 
-/* Automatically generated from PPL source file ../src/intervals.defs.hh line 31. */
+    \param c
+    The constraint to be added.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible
+    or if constraint \p c is not optimally supported by the grid domain.
+  */
+  void add_constraint(const Constraint& c);
 
-enum I_Result {
-  //! The resulting set may be empty
-  I_EMPTY = 1,
-  //! The resulting set may have only one value
-  I_SINGLETON = 2,
-  //! The resulting set may have more than one value and to be not the domain universe
-  I_SOME = 4,
-  //! The resulting set may be the domain universe
-  I_UNIVERSE = 8,
-  //! The resulting set is not empty
-  I_NOT_EMPTY = I_SINGLETON | I_SOME | I_UNIVERSE,
-  //! The resulting set may be empty or not empty
-  I_ANY = I_EMPTY | I_NOT_EMPTY,
-  //! The resulting set may be empty or not empty
-  I_NOT_UNIVERSE = I_EMPTY | I_SINGLETON | I_SOME,
-  //! The resulting set can'be empty or the domain universe
-  I_NOT_DEGENERATE = I_SINGLETON | I_SOME,
-  //! The resulting set is definitely exact
-  I_EXACT = 16,
-  //! The resulting set is definitely inexact
-  I_INEXACT = 32,
-  //! The operation has definitely changed the set
-  I_CHANGED = 64,
-  //! The operation has left the set definitely unchanged
-  I_UNCHANGED = 128,
-  //! The operation is undefined for some combination of values
-  I_SINGULARITIES = 256
-};
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-inline I_Result operator|(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a | (unsigned)b);
-}
+    \param cs
+    The constraints to be added.
 
-inline I_Result operator&(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a & (unsigned)b);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible
+    or if \p cs contains a constraint which is not optimally supported
+    by the grid domain.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-inline I_Result operator-(I_Result a, I_Result b) {
-  return static_cast<I_Result>((unsigned)a & ~(unsigned)b);
-}
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-template <typename Criteria, typename T>
-struct Use_By_Ref;
+    \param cs
+    The constraints to be added. They may be recycled.
 
-struct Use_Slow_Copy;
-template <typename T>
-struct Use_By_Ref<Use_Slow_Copy, T>
-  : public Bool<Slow_Copy<T>::value> {
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible
+    or if \p cs contains a constraint which is not optimally supported
+    by the grid domain.
 
-struct By_Value;
-template <typename T>
-struct Use_By_Ref<By_Value, T>
-  : public False {
-};
+    \warning
+    The only assumption that can be made about \p cs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
 
-struct By_Ref;
-template <typename T>
-struct Use_By_Ref<By_Ref, T>
-  : public True {
-};
+  //! Uses a copy of the congruence \p cg to refine \p *this.
+  /*!
+    \param cg
+    The congruence used.
 
-template <typename T, typename Criteria = Use_Slow_Copy, typename Enable = void>
-class Val_Or_Ref;
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-template <typename T, typename Criteria>
-class Val_Or_Ref<T, Criteria,
-		 typename Enable_If<!Use_By_Ref<Criteria, T>::value>::type> {
-  T value;
-public:
-  typedef T Arg_Type;
-  typedef T Return_Type;
-  Val_Or_Ref()
-    : value() {
-  }
-  explicit Val_Or_Ref(Arg_Type v, bool = false)
-    : value(v) {
-  }
-  Val_Or_Ref& operator=(Arg_Type v) {
-    value = v;
-    return *this;
-  }
-  void set(Arg_Type v, bool = false) {
-    value = v;
-  }
-  Return_Type get() const {
-    return value;
-  }
-  operator Return_Type () const {
-    return get();
-  }
-};
+ //! Uses a copy of the congruences in \p cgs to refine \p *this.
+  /*!
+    \param cgs
+    The congruences used.
 
-template <typename T, typename Criteria>
-class Val_Or_Ref<T, Criteria,
-		 typename Enable_If<Use_By_Ref<Criteria, T>::value>::type> {
-  const T* ptr;
-public:
-  typedef T& Arg_Type;
-  typedef const T& Return_Type;
-  Val_Or_Ref()
-    : ptr(0) {
-  }
-  explicit Val_Or_Ref(Arg_Type v)
-    : ptr(&v) {
-  }
-  Val_Or_Ref(const T& v, bool)
-    : ptr(&v) {
-  }
-  Val_Or_Ref& operator=(Arg_Type v) {
-    ptr = &v;
-    return *this;
-  }
-  void set(Arg_Type v) {
-    ptr = &v;
-  }
-  void set(const T& v, bool) {
-    ptr = &v;
-  }
-  Return_Type get() const {
-    return *ptr;
-  }
-  operator Return_Type () const {
-    return get();
-  }
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-class I_Constraint_Base {
-};
+  //! Uses a copy of the constraint \p c to refine \p *this.
+  /*!
 
-template <typename Derived>
-class I_Constraint_Common : public I_Constraint_Base {
-public:
-  template <typename T>
-  Result convert_real(T& to) const {
-    const Derived& c = static_cast<const Derived&>(*this);
-    Result r = c.rel();
-    switch (r) {
-    case V_EMPTY:
-    case V_LGE:
-      return r;
-    case V_LE:
-      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
-      r = result_relation_class(r);
-      if (r == V_EQ)
-	return V_LE;
-      goto lt;
-    case V_LT:
-      r = assign_r(to, c.value(), ROUND_UP);
-      r = result_relation_class(r);
-    lt:
-      switch (r) {
-      case V_EMPTY:
-      case V_LT_PLUS_INFINITY:
-      case V_EQ_MINUS_INFINITY:
-	return r;
-      case V_LT:
-      case V_LE:
-      case V_EQ:
-	return V_LT;
-      default:
-	break;
-      }
-      break;
-    case V_GE:
-      r = assign_r(to, c.value(), static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
-      r = result_relation_class(r);
-      if (r == V_EQ)
-	return V_GE;
-      goto gt;
-    case V_GT:
-      r = assign_r(to, c.value(), ROUND_DOWN);
-      r = result_relation_class(r);
-    gt:
-      switch (r) {
-      case V_EMPTY:
-      case V_GT_MINUS_INFINITY:
-      case V_EQ_PLUS_INFINITY:
-	return r;
-      case V_LT:
-      case V_LE:
-      case V_EQ:
-	return V_GT;
-      default:
-	break;
-      }
-      break;
-    case V_EQ:
-      r = assign_r(to, c.value(), ROUND_CHECK);
-      r = result_relation_class(r);
-      PPL_ASSERT(r != V_LT && r != V_GT);
-      if (r == V_EQ)
-	return V_EQ;
-      else
-	return V_EMPTY;
-    case V_NE:
-      r = assign_r(to, c.value(), ROUND_CHECK);
-      r = result_relation_class(r);
-      if (r == V_EQ)
-	return V_NE;
-      else
-	return V_LGE;
-    default:
-      break;
-    }
-    PPL_ASSERT(false);
-    return V_EMPTY;
-  }
-  template <typename T>
-  Result convert_real(T& to1, Result& rel2, T& to2) const {
-    const Derived& c = static_cast<const Derived&>(*this);
-    Result rel1;
-    if (c.rel() != V_EQ) {
-      rel2 = convert(to2);
-      return V_LGE;
-    }
-    rel2 = assign_r(to2, c.value(), ROUND_UP);
-    rel2 = result_relation_class(rel2);
-    switch (rel2) {
-    case V_EMPTY:
-    case V_EQ_MINUS_INFINITY:
-    case V_EQ:
-      return V_LGE;
-    default:
-      break;
-    }
-    rel1 = assign_r(to1, c.value(), ROUND_DOWN);
-    rel1 = result_relation_class(rel1);
-    switch (rel1) {
-    case V_EQ:
-      PPL_ASSERT(rel2 == V_LE);
-      goto eq;
-    case V_EQ_PLUS_INFINITY:
-    case V_EMPTY:
-      rel2 = rel1;
-      return V_LGE;
-    case V_GE:
-      if (rel2 == V_LE && to1 == to2) {
-      eq:
-	rel2 = V_EQ;
-	return V_LGE;
-      }
-      /* Fall through*/
-    case V_GT:
-    case V_GT_MINUS_INFINITY:
-      return rel1;
-    default:
-      PPL_ASSERT(false);
-      return V_EMPTY;
-    }
-    switch (rel2) {
-    case V_LE:
-    case V_LT:
-    case V_LT_PLUS_INFINITY:
-      return rel1;
-    default:
-      PPL_ASSERT(false);
-      return V_EMPTY;
-    }
-  }
-  template <typename T>
-  Result convert_integer(T& to) const {
-    Result rel = convert_real(to);
-    switch (rel) {
-    case V_LT:
-      if (is_integer(to)) {
-	rel = sub_assign_r(to, to, T(1),
-			   static_cast<Rounding_Dir>(ROUND_UP | ROUND_STRICT_RELATION));
-	rel = result_relation_class(rel);
-	return rel == V_EQ ? V_LE : rel;
-      }
-      /* Fall through */
-    case V_LE:
-      rel = floor_assign_r(to, to, ROUND_UP);
-      rel = result_relation_class(rel);
-      PPL_ASSERT(rel == V_EQ);
-      return V_LE;
-    case V_GT:
-      if (is_integer(to)) {
-	rel = add_assign_r(to, to, T(1),
-			   static_cast<Rounding_Dir>(ROUND_DOWN | ROUND_STRICT_RELATION));
-	rel = result_relation_class(rel);
-	return rel == V_EQ ? V_GE : rel;
-      }
-      /* Fall through */
-    case V_GE:
-      rel = ceil_assign_r(to, to, ROUND_DOWN);
-      rel = result_relation_class(rel);
-      PPL_ASSERT(rel == V_EQ);
-      return V_GE;
-    case V_EQ:
-      if (is_integer(to))
-	return V_EQ;
-      return V_EMPTY;
-    case V_NE:
-      if (is_integer(to))
-	return V_NE;
-      return V_LGE;
-    default:
-      return rel;
-    }
-  }
-};
+    \param c
+    The constraint used. If it is not an equality, it will be ignored
 
-struct I_Constraint_Rel {
-  Result rel;
-  I_Constraint_Rel(Result r)
-    : rel(r) {
-    PPL_ASSERT(result_relation_class(r) == r);
-  }
-  I_Constraint_Rel(Relation_Symbol r)
-    : rel((Result)r) {
-  }
-  operator Result() const {
-    return rel;
-  }
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-template <typename T, typename Val_Or_Ref_Criteria = Use_Slow_Copy,
-	  bool extended = false>
-class I_Constraint : public I_Constraint_Common<I_Constraint<T, Val_Or_Ref_Criteria, extended> > {
-  typedef Val_Or_Ref<T, Val_Or_Ref_Criteria> Val_Ref;
-  typedef typename Val_Ref::Arg_Type Arg_Type;
-  typedef typename Val_Ref::Return_Type Return_Type;
-  Result rel_;
-  Val_Ref value_;
-public:
-  typedef T value_type;
-  explicit I_Constraint()
-    : rel_(V_LGE) {
-  }
-  I_Constraint(I_Constraint_Rel r, Arg_Type v)
-    : rel_(r), value_(v) {
-  }
-  I_Constraint(I_Constraint_Rel r, const T& v, bool force)
-    : rel_(r), value_(v, force) {
-  }
-  template <typename U>
-  I_Constraint(I_Constraint_Rel r, const U& v)
-    : rel_(r), value_(v) {
-  }
-  void set(I_Constraint_Rel r, Arg_Type v) {
-    rel_ =  r;
-    value_.set(v);
-  }
-  void set(I_Constraint_Rel r, const T& v, bool force) {
-    rel_ =  r;
-    value_.set(v, force);
-  }
-  template <typename U>
-  void set(I_Constraint_Rel r, const U& v) {
-    rel_ = r;
-    value_.set(v);
-  }
-  Return_Type value() const {
-    return value_;
-  }
-  Result rel() const {
-    return rel_;
-  }
-};
+  //! Uses a copy of the constraints in \p cs to refine \p *this.
+  /*!
+    \param cs
+    The constraints used. Constraints that are not equalities are ignored.
 
-template <typename T>
-inline I_Constraint<T>
-i_constraint(I_Constraint_Rel rel, const T& v) {
-  return I_Constraint<T>(rel, v);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
-template <typename T>
-inline I_Constraint<T>
-i_constraint(I_Constraint_Rel rel, const T& v, bool force) {
-  return I_Constraint<T>(rel, v, force);
-}
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system of generators
+    of \p *this.
 
-template <typename T>
-inline I_Constraint<T>
-i_constraint(I_Constraint_Rel rel, T& v) {
-  return I_Constraint<T>(rel, v);
-}
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-template <typename T, typename Val_Or_Ref_Criteria>
-inline I_Constraint<T, Val_Or_Ref_Criteria>
-i_constraint(I_Constraint_Rel rel, const T& v, const Val_Or_Ref_Criteria&) {
-  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible, or if
+    \p *this is empty and the system of generators \p gs is not empty,
+    but has no points.
+  */
+  void add_grid_generators(const Grid_Generator_System& gs);
 
-template <typename T, typename Val_Or_Ref_Criteria>
-inline I_Constraint<T, Val_Or_Ref_Criteria>
-i_constraint(I_Constraint_Rel rel, const T& v, bool force, const Val_Or_Ref_Criteria&) {
-  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v, force);
-}
+  /*! \brief
+    Adds the generators in \p gs to the system of generators of \p
+    *this.
 
-template <typename T, typename Val_Or_Ref_Criteria>
-inline I_Constraint<T, Val_Or_Ref_Criteria>
-i_constraint(I_Constraint_Rel rel, T& v, const Val_Or_Ref_Criteria&) {
-  return I_Constraint<T, Val_Or_Ref_Criteria>(rel, v);
-}
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible.
 
-/* Automatically generated from PPL source file ../src/Interval.types.hh line 1. */
+    \warning
+    The only assumption that can be made about \p gs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_grid_generators(Grid_Generator_System& gs);
 
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-namespace Parma_Polyhedra_Library {
+    \param var
+    The space dimension that will be unconstrained.
 
-template <typename Boundary, typename Info>
-class Interval;
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 1. */
-/* Interval_Info class declaration and implementation.
-*/
+    \param vars
+    The set of space dimension that will be unconstrained.
 
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 1. */
-/* Interval boundary functions.
-*/
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Grid& y);
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 28. */
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p y.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Grid& y);
 
-namespace Boundary_NS {
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned to \p
+    *this and <CODE>true</CODE> is returned, otherwise
+    <CODE>false</CODE> is returned.
 
-struct Property {
-  enum Type {
-    SPECIAL_,
-    OPEN_,
-    NORMALIZED_
-  };
-  typedef bool Value;
-  static const Value default_value = true;
-  static const Value unsupported_value = false;
-  Property(Type t)
-    : type(t) {
-  }
-  Type type;
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Grid& y);
 
-static const Property SPECIAL(Property::SPECIAL_);
-static const Property OPEN(Property::OPEN_);
-static const Property NORMALIZED(Property::NORMALIZED_);
+  /*! \brief
+    Assigns to \p *this the \ref Convex_Polyhedral_Difference "grid-difference"
+    of \p *this and \p y.
 
-enum Boundary_Type {
-  LOWER = ROUND_DOWN,
-  UPPER = ROUND_UP
-};
+    The grid difference between grids x and y is the smallest grid
+    containing all the points from x and y that are only in x.
 
-inline Rounding_Dir
-round_dir_check(Boundary_Type t, bool check = false) {
-  if (check)
-    return static_cast<Rounding_Dir>(t | ROUND_STRICT_RELATION);
-  else
-    return static_cast<Rounding_Dir>(t);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Grid& y);
 
-template <typename T, typename Info>
-inline Result
-special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
-  PPL_ASSERT(Info::store_special);
-  info.set_boundary_property(type, SPECIAL);
-  return V_EQ;
-}
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
 
-template <typename T, typename Info>
-inline bool
-special_is_open(Boundary_Type, const T&, const Info&) {
-  return !Info::may_contain_infinity;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const Grid& y);
 
-template <typename T, typename Info>
-inline bool
-normal_is_open(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_open)
-    return info.get_boundary_property(type, OPEN);
-  else
-    return !Info::store_special && !Info::may_contain_infinity
-      && normal_is_boundary_infinity(type, x, info);
-}
+  /*! \brief
+    Assigns to \p *this the \ref Grid_Affine_Transformation
+    "affine image" of \p
+    *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-template <typename T, typename Info>
-inline bool
-is_open(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_open)
-    return info.get_boundary_property(type, OPEN);
-  else
-    return !Info::may_contain_infinity
-      && is_boundary_infinity(type, x, info);
-}
+    \param var
+    The variable to which the affine expression is assigned;
 
-template <typename T, typename Info>
-inline Result
-set_unbounded(Boundary_Type type, T& x, Info& info) {
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::is_bounded
-                         || std::numeric_limits<T>::has_infinity,
-                         "unbounded is not representable");
-  Result r;
-  if (Info::store_special)
-    r = special_set_boundary_infinity(type, x, info);
-  else if (type == LOWER)
-    r = assign_r(x, MINUS_INFINITY, ROUND_UP);
-  else
-    r = assign_r(x, PLUS_INFINITY, ROUND_DOWN);
-  if (result_relation(r) == VR_EQ && !Info::may_contain_infinity)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    \param expr
+    The numerator of the affine expression;
 
-template <typename T, typename Info>
-inline Result
-set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::has_infinity,
-                         "minus infinity is not representable");
-  */
-  if (open) {
-    PPL_ASSERT(type == LOWER);
-  }
-  else {
-    PPL_ASSERT(Info::may_contain_infinity);
-  }
-  Result r;
-  if (Info::store_special) {
-    PPL_ASSERT(type == LOWER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else {
-    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-    PPL_ASSERT(result_representable(r));
-  }
-  if (open || result_relation(r) != VR_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-template <typename T, typename Info>
-inline Result
-set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  PPL_COMPILE_TIME_CHECK(Info::store_special
-                         || std::numeric_limits<T>::has_infinity,
-                         "minus infinity is not representable");
-  */
-  if (open) {
-    PPL_ASSERT(type == UPPER);
-  }
-  else {
-    PPL_ASSERT(Info::may_contain_infinity);
-  }
-  Result r;
-  if (Info::store_special) {
-    PPL_ASSERT(type == UPPER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else {
-    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-    PPL_ASSERT(result_representable(r));
-  }
-  if (open || result_relation(r) != VR_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
 
-template <typename T, typename Info>
-inline Result
-set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  PPL_ASSERT(open || Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special)
-    r = special_set_boundary_infinity(type, x, info);
-  else if (type == LOWER)
-    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-  else
-    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  PPL_ASSERT(result_representable(r));
-  if (open)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+    \if Include_Implementation_Details
 
-template <typename T, typename Info>
-inline Result
-shrink(Boundary_Type type, T& x, Info& info, bool check) {
-  Result r;
-  PPL_ASSERT(!info.get_boundary_property(type, SPECIAL));
-  if (type == LOWER) {
-    r = info.restrict(round_dir_check(type, check), x, V_GT);
-    if (r != V_GT)
-      return r;
-  } else {
-    r = info.restrict(round_dir_check(type, check), x, V_LT);
-    if (r != V_LT)
-      return r;
-  }
-  info.set_boundary_property(type, OPEN);
-  return r;
-}
+    When considering the generators of a grid, the
+    affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
 
-template <typename T, typename Info>
-inline bool
-is_domain_inf(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special && type == LOWER)
-    return info.get_boundary_property(type, SPECIAL);
-  else if (std::numeric_limits<T>::has_infinity)
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-  else if (std::numeric_limits<T>::is_bounded)
-    return x == std::numeric_limits<T>::min();
-  else
-    return false;
-}
+    If congruences are up-to-date, it uses the specialized function
+    affine_preimage() (for the system of congruences)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation we use the following observation.
 
-template <typename T, typename Info>
-inline bool
-is_domain_sup(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special && type == UPPER)
-    return info.get_boundary_property(type, SPECIAL);
-  else if (std::numeric_limits<T>::has_infinity)
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-  else if (std::numeric_limits<T>::is_bounded)
-      return x == std::numeric_limits<T>::max();
-  else
-    return false;
-}
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+	   = a_\mathrm{var} x_\mathrm{var}
+	     + \sum_{i \neq var} a_i x_i + b,
+       \f]
+       so that the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+             - \sum_{i \neq j} a_i x_i - b.
+       \f]
 
-template <typename T, typename Info>
-inline bool
-normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
-  if (!std::numeric_limits<T>::has_infinity)
-    return false;
-  if (type == LOWER)
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-  else
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-}
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only generators remain
+    up-to-date.
 
-template <typename T, typename Info>
-inline bool
-is_boundary_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL);
-  else
-    return normal_is_boundary_infinity(type, x, info);
-}
+    \endif
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		    = Coefficient_one());
 
-template <typename T, typename Info>
-inline bool
-normal_is_reverse_infinity(Boundary_Type type, const T& x, const Info&) {
-  if (!Info::may_contain_infinity)
-    return false;
-  else if (type == LOWER)
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-  else
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-}
+  /*! \brief
+    Assigns to \p *this the \ref Grid_Affine_Transformation
+    "affine preimage" of
+    \p *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-template <typename T, typename Info>
-inline bool
-is_minus_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (type == LOWER) {
-    if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+    \param var
+    The variable to which the affine expression is substituted;
 
-template <typename T, typename Info>
-inline bool
-is_plus_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (type == UPPER) {
-    if (Info::store_special)
-      return info.get_boundary_property(type, SPECIAL);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+    \param expr
+    The numerator of the affine expression;
 
-template <typename T, typename Info>
-inline bool
-is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
-  return normal_is_reverse_infinity(type, x, info);
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-template <typename T, typename Info>
-inline int
-is_infinity(Boundary_Type type, const T& x, const Info& info) {
-  if (is_boundary_infinity(type, x, info))
-    return type == LOWER ? -1 : 1;
-  else if (is_reverse_infinity(type, x, info))
-    return type == UPPER ? -1 : 1;
-  else
-    return 0;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
 
-template <typename T, typename Info>
-inline bool
-is_boundary_infinity_closed(Boundary_Type type, const T& x, const Info& info) {
-  return Info::may_contain_infinity
-    && !info.get_boundary_property(type, OPEN)
-    && is_boundary_infinity(type, x, info);
-}
+    \if Include_Implementation_Details
 
-template <typename Info>
-inline bool
-boundary_infinity_is_open(Boundary_Type type, const Info& info) {
-  return !Info::may_contain_infinity
-    || info.get_boundary_property(type, OPEN);
-}
+    When considering congruences of a grid, the affine transformation
+    \f[
+      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
+    \f]
+    is assigned to \p var where \p expr is
+    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
+    (\f$b\f$ is the inhomogeneous term).
 
-template <typename T, typename Info>
-inline int
-sgn_b(Boundary_Type type, const T& x, const Info& info) {
-  if (info.get_boundary_property(type, SPECIAL))
-    return type == LOWER ? -1 : 1;
-  else
-    // The following Parma_Polyhedra_Library:: qualification is to work
-    // around a bug of GCC 4.0.x.
-    return Parma_Polyhedra_Library::sgn(x);
-}
+    If generators are up-to-date, then the specialized function
+    affine_image() is used (for the system of generators)
+    and inverse transformation to reach the same result.
+    To obtain the inverse transformation, we use the following observation.
 
-template <typename T, typename Info>
-inline int
-sgn(Boundary_Type type, const T& x, const Info& info) {
-  int sign = sgn_b(type, x, info);
-  if (x == 0 && info.get_boundary_property(type, OPEN))
-    return type == LOWER ? -1 : 1;
-  else
-    return sign;
-}
+    Observation:
+    -# The affine transformation is invertible if the coefficient
+       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
+       is different from zero.
+    -# If the transformation is invertible, then we can write
+       \f[
+  	 \mathrm{denominator} * {x'}_\mathrm{var}
+	   = \sum_{i = 0}^{n - 1} a_i x_i + b
+           = a_\mathrm{var} x_\mathrm{var}
+               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
+       \f],
+       the inverse transformation is
+       \f[
+	 a_\mathrm{var} x_\mathrm{var}
+           = \mathrm{denominator} * {x'}_\mathrm{var}
+               - \sum_{i \neq j} a_i x_i - b.
+       \f].
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-eq(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (type1 == type2) {
-    if (is_open(type1, x1, info1)
-	!= is_open(type2, x2, info2))
-      return false;
-  }
-  else if (is_open(type1, x1, info1)
-	   || is_open(type2, x2, info2))
-    return false;
-  if (is_minus_infinity(type1, x1, info1))
-    return is_minus_infinity(type2, x2, info2);
-  else if (is_plus_infinity(type1, x1, info1))
-    return is_plus_infinity(type2, x2, info2);
-  else if (is_minus_infinity(type2, x2, info2)
-           || is_plus_infinity(type2, x2, info2))
-    return false;
-  else
-    return equal(x1, x2);
-}
+    Then, if the transformation is invertible, all the entities that
+    were up-to-date remain up-to-date. Otherwise only congruences remain
+    up-to-date.
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-lt(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (is_open(type1, x1, info1)) {
-    if (type1 == UPPER
-	&& (type2 == LOWER
-	    || !is_open(type2, x2, info2)))
-      goto le;
-  }
-  else if (type2 == LOWER
-	   && is_open(type2, x2, info2)) {
-  le:
-    if (is_minus_infinity(type1, x1, info1)
-	|| is_plus_infinity(type2, x2, info2))
-      return true;
-    if (is_plus_infinity(type1, x1, info1)
-	|| is_minus_infinity(type2, x2, info2))
-      return false;
-    else
-      return less_or_equal(x1, x2);
-  }
-  if (is_plus_infinity(type1, x1, info1)
-      || is_minus_infinity(type2, x2, info2))
-    return false;
-  if (is_minus_infinity(type1, x1, info1)
-      || is_plus_infinity(type2, x2, info2))
-    return true;
-  else
-    return less_than(x1, x2);
-}
+    \endif
+  */
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-gt(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return lt(type2, x2, info2, type1, x1, info1);
-}
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to
+    the \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
+    \pmod{\mathrm{modulus}}\f$.
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-le(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return !gt(type1, x1, info1, type2, x2, info2);
-}
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-template <typename T1, typename Info1, typename T2, typename Info2>
-inline bool
-ge(Boundary_Type type1, const T1& x1, const Info1& info1,
-   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  return !lt(type1, x1, info1, type2, x2, info2);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-template <typename T, typename Info>
-inline Result
-adjust_boundary(Boundary_Type type, T& x, Info& info,
-		bool open, Result r) {
-  r = result_relation_class(r);
-  if (type == LOWER) {
-    switch (r) {
-    case V_GT_MINUS_INFINITY:
-      open = true;
-      /* Fall through */
-    case V_EQ_MINUS_INFINITY:
-      if (!Info::store_special)
-	return r;
-      if (open)
-	info.set_boundary_property(type, OPEN);
-      return special_set_boundary_infinity(type, x, info);
-    case V_GT:
-      open = true;
-      /* Fall through */
-    case V_GE:
-    case V_EQ:
-      if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
-      return r;
-    default:
-      PPL_ASSERT(false);
-      return V_NAN;
-    }
-  }
-  else {
-    switch (r) {
-    case V_LT_PLUS_INFINITY:
-      open = true;
-      /* Fall through */
-    case V_EQ_PLUS_INFINITY:
-      if (!Info::store_special)
-	return r;
-      if (open)
-	info.set_boundary_property(type, OPEN);
-      return special_set_boundary_infinity(type, x, info);
-    case V_LT:
-      open = true;
-      /* Fall through */
-    case V_LE:
-    case V_EQ:
-      if (open)
-	shrink(type, x, info, false);
-      // FIXME: what to return?
-      return r;
-    default:
-      PPL_ASSERT(false);
-      return V_NAN;
-    }
-  }
-}
+    \param expr
+    The numerator of the right hand side affine expression;
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-complement(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  PPL_ASSERT(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = !special_is_open(type, x, info);
-    if (type == LOWER)
-      return set_minus_infinity(to_type, to, to_info, shrink);
-    else
-      return set_plus_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = !normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param denominator
+    The denominator of the right hand side affine expression.
+    Optional argument with an automatic value of one;
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-assign(Boundary_Type to_type, To& to, To_Info& to_info,
-       Boundary_Type type, const T& x, const Info& info,
-       bool shrink = false) {
-  PPL_ASSERT(to_type == type);
-  if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = shrink || special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = shrink || normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  if (lt(type, x, info, to_type, to, to_info)) {
-    to_info.clear_boundary_properties(to_type);
-    return assign(to_type, to, to_info, type, x, info);
-  }
-  return V_EQ;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p
+    *this.
+  */
+  void
+  generalized_affine_image(Variable var,
+			   Relation_Symbol relsym,
+			   const Linear_Expression& expr,
+			   Coefficient_traits::const_reference denominator
+			   = Coefficient_one(),
+			   Coefficient_traits::const_reference modulus
+			   = Coefficient_zero());
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-min_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (lt(type1, x1, info1, type2, x2, info2))
-    return assign(to_type, to, to_info, type1, x1, info1);
-  else
-    return assign(to_type, to, to_info, type2, x2, info2);
-}
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
+    \pmod{\mathrm{modulus}}\f$.
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  if (gt(type, x, info, to_type, to, to_info)) {
-    to_info.clear_boundary_properties(to_type);
-    return assign(to_type, to, to_info, type, x, info);
-  }
-  return V_EQ;
-}
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-max_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  if (gt(type1, x1, info1, type2, x2, info2))
-    return assign(to_type, to, to_info, type1, x1, info1);
-  else
-    return assign(to_type, to, to_info, type2, x2, info2);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-neg_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type, const T& x, const Info& info) {
-  PPL_ASSERT(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)) {
-    shrink = special_is_open(type, x, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = neg_assign_r(to, x, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param expr
+    The numerator of the right hand side affine expression;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-add_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  PPL_ASSERT(type1 == type2);
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  // FIXME: extended handling is not needed
-  Result r = add_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param denominator
+    The denominator of the right hand side affine expression.
+    Optional argument with an automatic value of one;
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-sub_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  PPL_ASSERT(type1 != type2);
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  // FIXME: extended handling is not needed
-  Result r = sub_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-mul_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2)
-      && !is_boundary_infinity_closed(type1, x1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
-  // FIXME: extended handling is not needed
-  Result r = mul_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p
+    *this.
+  */
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one(),
+			      Coefficient_traits::const_reference modulus
+			      = Coefficient_zero());
 
-template <typename To, typename To_Info>
-inline Result
-set_zero(Boundary_Type to_type, To& to, To_Info& to_info, bool shrink) {
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = assign_r(to, Constant<0>::value, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to
+    the \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-mul_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
-	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
-	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
-  if (x1s != 0) {
-    if (x2s != 0)
-      return mul_assign(to_type, to, to_info,
-			type1, x1, info1,
-			type2, x2, info2);
-    else
-      shrink = info2.get_boundary_property(type2, OPEN);
-  }
-  else {
-    shrink = info1.get_boundary_property(type1, OPEN)
-      && (x2s != 0 || info2.get_boundary_property(type2, OPEN));
-  }
-  return set_zero(to_type, to, to_info, shrink);
-}
+    \param lhs
+    The left hand side affine expression.
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-div_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-	   Boundary_Type type1, const T1& x1, const Info1& info1,
-	   Boundary_Type type2, const T2& x2, const Info2& info2) {
-  bool shrink;
-  if (is_boundary_infinity(type1, x1, info1)) {
-    shrink = boundary_infinity_is_open(type1, info1);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  else if (is_boundary_infinity(type2, x2, info2)) {
-    shrink = boundary_infinity_is_open(type2, info2);
-    return set_zero(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type1, x1, info1)
-    || normal_is_open(type2, x2, info2);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open
-				|| to_info.has_restriction())));
-  PPL_ASSERT(x1 != Constant<0>::value && x2 != Constant<0>::value);
-  // FIXME: extended handling is not needed
-  Result r = div_assign_r(to, x1, x2, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
+    \param rhs
+    The right hand side affine expression.
 
-template <typename To, typename To_Info, typename T1, typename Info1, typename T2, typename Info2>
-inline Result
-div_assign_z(Boundary_Type to_type, To& to, To_Info& to_info,
-	     Boundary_Type type1, const T1& x1, const Info1& info1, int x1s,
-	     Boundary_Type type2, const T2& x2, const Info2& info2, int x2s) {
-  bool shrink;
-  if (x1s != 0) {
-    if (x2s != 0)
-      return div_assign(to_type, to, to_info,
-			type1, x1, info1,
-			type2, x2, info2);
-    else {
-      // FIXME: restrictions
-      return set_boundary_infinity(to_type, to, to_info, true);
-    }
-  }
-  else {
-    shrink = info1.get_boundary_property(type1, OPEN)
-      && !is_boundary_infinity_closed(type2, x2, info2);
-    return set_zero(to_type, to, to_info, shrink);
-  }
-}
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-umod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-		 Boundary_Type type, const T& x, const Info& info,
-		 unsigned int exp) {
-  PPL_ASSERT(to_type == type);
-  bool shrink;
-  if (is_boundary_infinity(type, x, info)) {
-    shrink = boundary_infinity_is_open(type, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = umod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p
+    rhs.
+  */
+  void
+  generalized_affine_image(const Linear_Expression& lhs,
+			   Relation_Symbol relsym,
+			   const Linear_Expression& rhs,
+			   Coefficient_traits::const_reference modulus
+			   = Coefficient_zero());
 
-template <typename To, typename To_Info, typename T, typename Info>
-inline Result
-smod_2exp_assign(Boundary_Type to_type, To& to, To_Info& to_info,
-		 Boundary_Type type, const T& x, const Info& info,
-		 unsigned int exp) {
-  PPL_ASSERT(to_type == type);
-  bool shrink;
-  if (is_boundary_infinity(type, x, info)) {
-    shrink = boundary_infinity_is_open(type, info);
-    return set_boundary_infinity(to_type, to, to_info, shrink);
-  }
-  shrink = normal_is_open(type, x, info);
-  bool check = (To_Info::check_inexact
-		|| (!shrink && (To_Info::store_open || to_info.has_restriction())));
-  Result r = smod_2exp_assign_r(to, x, exp, round_dir_check(to_type, check));
-  return adjust_boundary(to_type, to, to_info, shrink, r);
-}
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Grid_Generalized_Image "generalized affine relation"
+    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
 
-} // namespace Boundary_NS
+    \param lhs
+    The left hand side affine expression;
 
-} // namespace Parma_Polyhedra_Library
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 1. */
-/* Interval_Restriction class declaration.
-*/
+    \param rhs
+    The right hand side affine expression;
 
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 33. */
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p
+    rhs.
+  */
+  void
+  generalized_affine_preimage(const Linear_Expression& lhs,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& rhs,
+			      Coefficient_traits::const_reference modulus
+			      = Coefficient_zero());
 
-namespace Parma_Polyhedra_Library {
+  /*!
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-struct Interval_Base;
+    \param var
+    The variable updated by the affine relation;
 
-template <typename T, typename Enable = void>
-struct Boundary_Value {
-  typedef T type;
-};
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename T>
-struct Boundary_Value<T, typename Enable_If<Is_Same_Or_Derived<Interval_Base, T>::value>::type > {
-  typedef typename T::boundary_type type;
-};
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-class Interval_Restriction_None_Base {
-public:
-  bool has_restriction() const {
-    return false;
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir, T&, Result dir) const {
-    return dir;
-  }
-};
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-inline bool
-eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-template <typename T>
-inline bool
-contains_restriction(const Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename T>
-inline bool
-assign_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename T1, typename T2>
-inline bool
-join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename T1, typename T2>
-inline bool
-intersect_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename T1, typename T2>
-inline bool
-diff_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename T>
-inline bool
-neg_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-template <typename T1, typename T2>
-inline bool
-add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
+    "time-elapse" between \p *this and \p y.
 
-template <typename T1, typename T2>
-inline bool
-sub_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void time_elapse_assign(const Grid& y);
 
-template <typename T1, typename T2>
-inline bool
-mul_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-template <typename T1, typename T2>
-inline bool
-div_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-inline void
-output_restriction(std::ostream&, const Interval_Restriction_None_Base&) {
-}
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-template <typename Base>
-class Interval_Restriction_None : public Interval_Restriction_None_Base,
-				  public Base {
-public:
-  Interval_Restriction_None() {
-  }
-  template <typename T>
-  Interval_Restriction_None(const T& init)
-    : Base(init) {
-  }
-};
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-class Interval_Restriction_Integer_Base {
-};
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-template <typename Base>
-class Interval_Restriction_Integer : public Interval_Restriction_Integer_Base, public Base {
-public:
-  Interval_Restriction_Integer() {
-  }
-  void set_integer(bool v = true) {
-    return set_bit(Base::bitset, integer_bit, v);
-  }
-  bool get_integer() const {
-    return get_bit(Base::bitset, integer_bit);
-  }
+    \param cs_p
+    Possibly null pointer to a constraint system.
+    This argument is for compatibility with wrap_assign()
+    for the other domains and only checked for dimension-compatibility.
 
-  const_int_nodef(integer_bit, Base::next_bit);
-  const_int_nodef(next_bit, integer_bit + 1);
-  bool has_restriction() const {
-    return get_integer();
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(Rounding_Dir rdir, T& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    switch (dir) {
-    case V_GT:
-      if (is_integer(x))
-	return add_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_GE:
-      return ceil_assign_r(x, x, rdir);
-    case V_LT:
-      if (is_integer(x))
-	return sub_assign_r(x, x, static_cast<T>(1), rdir);
-      /* Fall through */
-    case V_LE:
-      return floor_assign_r(x, x, rdir);
-    default:
-      PPL_ASSERT(false);
-      return dir;
-    }
-  }
-};
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator".
+    This argument is for compatibility with wrap_assign()
+    for the other domains and is ignored.
 
-class Simple_Restriction_Integer : public Interval_Restriction_Integer_Base {
-public:
-  Simple_Restriction_Integer(bool i)
-    : integer(i) {
-  }
-  bool get_integer() const {
-    return integer;
-  }
-private:
-  bool integer;
-};
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually.
+    As wrapping dimensions collectively does not improve the precision,
+    this argument is ignored.
 
-template <typename From, typename Base, typename Enable = void>
-struct Restriction_Integer;
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars or with <CODE>*cs_p</CODE>.
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(is_integer(x));
-  }
-};
+    \warning
+    It is assumed that variables in \p Vars represent integers.  Thus,
+    where the extra cost is negligible, the integrality of these
+    variables is enforced; possibly causing a non-integral grid to
+    become empty.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.is_singleton() && is_integer(x.lower()));
-  }
-};
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates.
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer<Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.get_integer() == y.get_integer();
-}
+  /*! \brief
+    Possibly tightens \p *this by dropping all points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  return !x.get_integer() || y.get_integer();
-}
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-template <typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
+    \param complexity
+    This argument is ignored as the algorithm used has polynomial
+    complexity.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-template <typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-template <typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 || Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y using congruence systems.
 
-template <typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer<Base>& to,
-		 const From1& x, const From2&) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer());
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
-  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-template <typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y using generator systems.
 
-template <typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer<Base>& to, const From1& x, const From2& y) {
-  to.set_integer(Restriction_Integer<From1, Base>::get(x).get_integer()
-		 && Restriction_Integer<From2, Base>::get(y).get_integer());
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer<Base>& to, const From1&, const From2&) {
-  to.set_integer(false);
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
-  if (x.get_integer())
-    s << "i";
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-class Interval_Restriction_Integer_Modulo_Base {
-};
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y.
 
-template <typename T, typename Base>
-class Interval_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base, public Base {
-public:
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_exact,
-                         "type for modulo values must be exact");
-  Interval_Restriction_Integer_Modulo() {
-    // FIXME: would we have speed benefits with uninitialized info?
-    // (Dirty_Temp)
-    clear();
-  }
-  bool has_restriction() const {
-    return divisor != 0;
-  }
-  void clear() {
-    remainder = 0;
-    divisor = 0;
-    Base::clear();
-  }
-  void normalize() const {
-  }
-  template <typename V>
-  Result restrict(Rounding_Dir rdir, V& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    PPL_DIRTY_TEMP(V, n);
-    PPL_DIRTY_TEMP(V, div);
-    Result r;
-    r = assign_r(div, divisor, ROUND_CHECK);
-    PPL_ASSERT(r == V_EQ);
-    int s;
-    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    s = sgn(n);
-    switch (dir) {
-    case V_GT:
-      if (s >= 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_GE:
-      if (s > 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return add_assign_r(x, x, n, rdir);
-      }
-      else if (s < 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    case V_LT:
-      if (s <= 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else
-	return sub_assign_r(x, x, n, rdir);
-    case V_LE:
-      if (s < 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	PPL_ASSERT(r == V_EQ);
-	return sub_assign_r(x, x, n, rdir);
-      }
-      else if (s > 0)
-	return sub_assign_r(x, x, n, rdir);
-      else
-	return V_EQ;
-    default:
-      PPL_ASSERT(false);
-      return dir;
-    }
-  }
-  void assign_or_swap(Interval_Restriction_Integer_Modulo& x) {
-    Parma_Polyhedra_Library::assign_or_swap(remainder, x.remainder);
-    Parma_Polyhedra_Library::assign_or_swap(divisor, x.divisor);
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
+    This widening uses either the congruence or generator systems
+    depending on which of the systems describing x and y
+    are up to date and minimized.
 
-template <typename T, typename Base>
-struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename From, typename Base>
-struct Restriction_Integer<From, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer type;
-  static type get(const From& x) {
-    return Simple_Restriction_Integer(x.info().divisor != 0);
-  }
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void widening_assign(const Grid& y, unsigned* tp = NULL);
 
-template <typename T>
-struct Simple_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base {
-  template <typename From>
-  Simple_Restriction_Integer_Modulo(const From& r, const From& d)
-    : remainder(r), divisor(d) {
-  }
-  typedef T modulo_type;
-  T remainder;
-  T divisor;
-};
+  /*! \brief
+    Improves the result of the congruence variant of
+    \ref Grid_Widening "Grid widening" computation by also enforcing
+    those congruences in \p cgs that are satisfied by all the points
+    of \p *this.
 
-template <typename From, typename T, typename Base, typename Enable = void>
-struct Restriction_Integer_Modulo;
-
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Native_Or_Checked<From>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (is_integer(x))
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_None_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.is_singleton() && is_integer(x.lower()))
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Base, typename From::info_type>::value>::type> {
-  typedef Simple_Restriction_Integer_Modulo<T> type;
-  static const type& get(const From& x) {
-    static const type integer(0, 1);
-    static const type not_integer(0, 0);
-    if (x.info().get_integer())
-      return integer;
-    else
-      return not_integer;
-  }
-};
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename From, typename T, typename Base>
-struct Restriction_Integer_Modulo<From, T, Base, typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, typename From::info_type>::value>::type> {
-  typedef Interval_Restriction_Integer_Modulo<T, Base> type;
-  static const type& get(const From& x) {
-    return x.info();
-  }
-};
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_congruence_extrapolation_assign(const Grid& y,
+					       const Congruence_System& cgs,
+					       unsigned* tp = NULL);
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-eq_restriction(const T1& x, const T2& y) {
-  return x.remainder == y.remainder
-    && x.divisor == y.divisor;
-}
+  /*! \brief
+    Improves the result of the generator variant of the
+    \ref Grid_Widening "Grid widening"
+    computation by also enforcing those congruences in \p cgs that are
+    satisfied by all the points of \p *this.
 
-template <typename T1, typename T2>
-inline typename Enable_If<Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T1>::value && Is_Same_Or_Derived<Interval_Restriction_Integer_Modulo_Base, T2>::value, bool>::type
-contains_restriction(const T1& x, const T2& y) {
-  if (x.divisor == 0)
-    return true;
-  if (y.divisor == 0)
-    return false;
-  if (x.divisor == y.divisor)
-    return x.remainder == y.remainder;
-  PPL_DIRTY_TEMP(typename T1::modulo_type, v);
-  Result r;
-  r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-  if (v != 0)
-    return false;
-  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-  return v == x.remainder;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename T, typename Base>
-inline bool
-set_unrestricted(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 0;
-  return true;
-}
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename T, typename Base>
-inline bool
-set_integer(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 1;
-  return true;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename T, typename Base, typename From>
-inline bool
-assign_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From& x) {
-  to.remainder = Restriction_Integer_Modulo<From, T, Base>::get(x).remainder;
-  to.divisor = Restriction_Integer_Modulo<From, T, Base>::get(x).divisor;
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_generator_extrapolation_assign(const Grid& y,
+					      const Congruence_System& cgs,
+					      unsigned* tp = NULL);
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-join_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  else if (rx.divisor == 1 && ry.divisor == 1
-      && is_singleton(x) && is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, b);
-    Result r;
-    r = abs_assign_r(a, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = abs_assign_r(b, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    if (a > b)
-      r = sub_assign_r(a, a, b, ROUND_CHECK);
-    else
-      r = sub_assign_r(a, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.divisor, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = rem_assign_r(b, b, a, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(to.remainder, b, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (contains_restriction(rx, ry)) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-  }
-  else if (contains_restriction(ry, rx)) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-  }
-  else
-    return set_integer(to);
-  return true;
-}
+  /*! \brief
+    Improves the result of the \ref Grid_Widening "Grid widening"
+    computation by also enforcing those congruences in \p cgs that are
+    satisfied by all the points of \p *this.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-intersect_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (rx.divisor == 0) {
-    to.remainder = ry.remainder;
-    to.divisor = ry.divisor;
-    return true;
-  }
-  if (ry.divisor == 0) {
-    to.remainder = rx.remainder;
-    to.divisor = rx.divisor;
-    return true;
-  }
-  PPL_DIRTY_TEMP(T, g);
-  Result r;
-  r = gcd_assign_r(g, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  PPL_DIRTY_TEMP(T, d);
-  if (rx.remainder > ry.remainder)
-    r = sub_assign_r(d, rx.remainder, ry.remainder, ROUND_DIRECT);
-  else
-    r = sub_assign_r(d, ry.remainder, rx.remainder, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  r = div_assign_r(d, d, g, ROUND_DIRECT);
-  if (r != V_EQ)
-    return false;
-  r = lcm_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_DIRECT);
-  if (r != V_EQ)
-    return set_integer(to);
-  // FIXME: to be completed
-  return true;
-}
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-diff_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-		 const From1& x, const From2& y) {
-  // FIXME: to be written
-  return true;
-}
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-template <typename T, typename Base, typename From>
-inline bool
-neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From& x) {
-  return assign_restriction(to, x);
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename T>
-inline void
-addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    if (x <= to) {
-      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-      PPL_ASSERT(r == V_EQ);
-    }
-    else {
-      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
-      PPL_ASSERT(r == V_EQ);
-    }
-  }
-  else {
-    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+  */
+  void limited_extrapolation_assign(const Grid& y,
+				    const Congruence_System& cgs,
+				    unsigned* tp = NULL);
 
-template <typename M, typename T>
-inline bool
-assign_rem(M& rem, const T& n, const M& div) {
-  PPL_DIRTY_TEMP(T, divisor);
-  PPL_DIRTY_TEMP(T, remainder);
-  Result r;
-  r = assign_r(divisor, div, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  r = rem_assign_r(remainder, n, divisor, ROUND_CHECK);
-  if (r != V_EQ)
-    return false;
-  if (sgn(remainder) < 0) {
-    r = add_assign_r(remainder, remainder, divisor, ROUND_CHECK);
-    if (r != V_EQ)
-      return false;
-  }
-  r = assign_r(rem, remainder, ROUND_CHECK);
-  return r == V_EQ;
-}
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
+  /*! \brief
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions and embeds the old grid in the new
+    vector space.
 
-template <typename T>
-inline void
-submod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
-  Result r;
-  if (x >= y) {
-    r = sub_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  else {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  PPL_ASSERT(r == V_EQ);
-}
+    \param m
+    The number of dimensions to add.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, rem);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    if (!assign_rem(rem, f_lower(x), ry.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rem, ry.remainder, to.divisor, ry.divisor);
-  }
-  else if (is_singleton(y)) {
-    if (!assign_rem(rem, f_lower(y), rx.divisor))
-      return set_integer(to);
-    r = assign_r(to.divisor, rx.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rx.remainder, rem, to.divisor, to.divisor);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
-}
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename T>
-inline void
-mulmod(T& to, const T& x, const T& y, const T& to_m) {
-  Result r;
-  if (std::numeric_limits<T>::is_bounded) {
-    PPL_DIRTY_TEMP0(mpz_class, a);
-    PPL_DIRTY_TEMP0(mpz_class, b);
-    r = assign_r(a, x, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(b, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = assign_r(to, a, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-  else {
-    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-  }
-}
+    The new space dimensions will be those having the highest indexes
+    in the new grid, which is characterized by a system of congruences
+    in which the variables which are the new dimensions can have any
+    value.  For instance, when starting from the grid \f$\cL \sseq
+    \Rset^2\f$ and adding a third space dimension, the result will be
+    the grid
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cL
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
+  /*! \brief
+    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
+    \p m new space dimensions to the grid and does not embed it
+    in the new vector space.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x, const From2& y) {
-  typedef Restriction_Integer_Modulo<From1, T, Base> Rx;
-  const typename Rx::type& rx = Rx::get(x);
-  if (rx.divisor == 0)
-    return set_unrestricted(to);
-  typedef Restriction_Integer_Modulo<From2, T, Base> Ry;
-  const typename Ry::type& ry = Ry::get(y);
-  if (ry.divisor == 0)
-    return set_unrestricted(to);
-  Result r;
-  PPL_DIRTY_TEMP(T, mul);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    PPL_DIRTY_TEMP(typename Boundary_Value<From1>::type, n);
-    r = abs_assign_r(n, f_lower(x), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, mul, ry.remainder, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, mul, ry.divisor, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else if (is_singleton(y)) {
-    PPL_DIRTY_TEMP(typename Boundary_Value<From2>::type, n);
-    r = abs_assign_r(n, f_lower(y), ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = assign_r(mul, n, ROUND_CHECK);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.remainder, rx.remainder, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-    r = mul_assign_r(to.divisor, rx.divisor, mul, ROUND_NOT_NEEDED);
-    if (r != V_EQ)
-      return set_integer(to);
-  }
-  else {
-    r = gcd_assign_r(to.divisor, rx.divisor, ry.divisor, ROUND_NOT_NEEDED);
-    PPL_ASSERT(r == V_EQ);
-    mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
-  }
-  return true;
-}
+    \param m
+    The number of space dimensions to add.
 
-template <typename T, typename Base, typename From1, typename From2>
-inline bool
-div_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
-                const From1& x, const From2& y) {
-  if (is_singleton(y)) {
-    if (is_singleton(x)) {
-      // FIXME: to be written
-    }
-  }
-  return set_unrestricted(to);
-}
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename T, typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer_Modulo<T, Base>& x) {
-  if (x.divisor == 1)
-    s << "i";
-  else if (x.divisor != 0)
-    s << "{" << x.remainder << "%" << x.divisor << "}";
-}
+    The new space dimensions will be those having the highest indexes
+    in the new grid, which is characterized by a system of congruences
+    in which the variables running through the new dimensions are all
+    constrained to be equal to 0.  For instance, when starting from
+    the grid \f$\cL \sseq \Rset^2\f$ and adding a third space
+    dimension, the result will be the grid
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cL
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-}
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation" of
+    \p *this and \p y, taken in this order.
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 29. */
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
+  */
+  void concatenate_assign(const Grid& y);
 
-#include <iostream>
+  //! Removes all the specified dimensions from the vector space.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-namespace Interval_NS {
+  /*! \brief
+    Removes the higher dimensions of the vector space so that the
+    resulting space will have \ref Removing_Dimensions_from_the_Vector_Space
+    "dimension \p new_dimension."
 
-struct Property {
-  enum Type {
-    CARDINALITY_0_,
-    CARDINALITY_1_,
-    CARDINALITY_IS_
-  };
-  typedef bool Value;
-  static const Value default_value = true;
-  static const Value unsupported_value = false;
-  Property(Type t)
-    : type(t) {
-  }
-  Type type;
-};
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-const Property CARDINALITY_0(Property::CARDINALITY_0_);
-const Property CARDINALITY_1(Property::CARDINALITY_1_);
-const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-template <typename T>
-inline void
-reset_bits(T& bits) {
-  bits = 0;
-}
+    If \p pfunc maps only some of the dimensions of \p *this then the
+    rest will be projected away.
 
-template <typename T>
-inline void
-reset_bit(T& bits, unsigned int bit) {
-  bits &= ~(static_cast<T>(1) << bit);
-}
+    If the highest dimension mapped to by \p pfunc is higher than the
+    highest dimension in \p *this then the number of dimensions in \p
+    *this will be increased to the highest dimension mapped to by \p
+    pfunc.
 
-template <typename T>
-inline void
-set_bit(T& bits, unsigned int bit, bool value) {
-  if (value)
-    bits |= static_cast<T>(1) << bit;
-  else
-    reset_bit(bits, bit);
-}
+    \param pfunc
+    The partial function specifying the destiny of each space
+    dimension.
 
-template <typename T>
-inline bool
-get_bit(const T& bits, unsigned int bit) {
-  return bits & (static_cast<T>(1) << bit);
-}
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty codomain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the codomain of the
+    partial function.
+    The <CODE>max_in_codomain()</CODE> method is called at most once.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
+    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
+    This method is called at most \f$n\f$ times, where \f$n\f$ is the
+    dimension of the vector space enclosing the grid.
 
-template <typename T>
-inline void
-set_bits(T& bits, unsigned int start, unsigned int len, T value) {
-  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
-  bits |= value << start;
-}
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-template <typename T>
-inline T
-get_bits(T& bits, unsigned int start, unsigned int len) {
-  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
-}
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-} // namespace Interval_NS
+    \param m
+    The number of replicas to be created.
 
-using namespace Interval_NS;
-using namespace Boundary_NS;
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector
+    space.
 
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename Policy>
-class Interval_Info_Null {
-public:
-  const_bool_nodef(may_be_empty, Policy::may_be_empty);
-  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_inexact, Policy::check_inexact);
-  const_bool_nodef(store_special, false);
-  const_bool_nodef(store_open, false);
-  const_bool_nodef(cache_normalized, false);
-  const_bool_nodef(cache_empty, false);
-  const_bool_nodef(cache_singleton, false);
-  void clear() {
-  }
-  void clear_boundary_properties(Boundary_Type) {
-  }
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
+    "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
+
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-  template <typename Property>
-  void set_boundary_property(Boundary_Type, const Property&, typename Property::Value = Property::default_value) {
-  }
-  template <typename Property>
-  typename Property::Value get_boundary_property(Boundary_Type, const Property&) const {
-    return Property::unsupported_value;
-  }
-  template <typename Property>
-  void set_interval_property(const Property&, typename Property::Value = Property::default_value) {
-  }
-  template <typename Property>
-  typename Property::Value get_interval_property(const Property&) const {
-    return Property::unsupported_value;
-  }
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Null& y);
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
-};
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension "folded"
+    into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-template <typename Policy>
-class Interval_Info_Null_Open : public Interval_Info_Null<Policy> {
-public:
-  const_bool_nodef(store_open, true);
-  Interval_Info_Null_Open(bool o)
-    : open(o) {
-  }
-  bool get_boundary_property(Boundary_Type, const Boundary_NS::Property& p) const {
-    switch (p.type) {
-    case Boundary_NS::Property::OPEN_:
-      return open;
-    default:
-      return Boundary_NS::Property::unsupported_value;
-    }
-  }
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+  friend bool operator==(const Grid& x, const Grid& y);
 
-private:
-  bool open;
-};
+  friend class Parma_Polyhedra_Library::Grid_Certificate;
 
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
 
-template <typename T, typename Policy>
-class Interval_Info_Bitset {
-public:
-  const_bool_nodef(may_be_empty, Policy::may_be_empty);
-  const_bool_nodef(may_contain_infinity, Policy::may_contain_infinity);
-  const_bool_nodef(check_inexact, Policy::check_inexact);
-  const_bool_nodef(store_special, Policy::store_special);
-  const_bool_nodef(store_open, Policy::store_open);
-  const_bool_nodef(cache_normalized, Policy::cache_normalized);
-  const_bool_nodef(cache_empty, Policy::cache_empty);
-  const_bool_nodef(cache_singleton, Policy::cache_singleton);
-  const_int_nodef(lower_special_bit, Policy::next_bit);
-  const_int_nodef(lower_open_bit, lower_special_bit + store_special);
-  const_int_nodef(lower_normalized_bit, lower_open_bit + store_open);
-  const_int_nodef(upper_special_bit, lower_normalized_bit + cache_normalized);
-  const_int_nodef(upper_open_bit, upper_special_bit + store_special);
-  const_int_nodef(upper_normalized_bit, upper_open_bit + store_open);
-  const_int_nodef(cardinality_is_bit, upper_normalized_bit + cache_normalized);
-  const_int_nodef(cardinality_0_bit, cardinality_is_bit + (cache_empty || cache_singleton));
-  const_int_nodef(cardinality_1_bit, cardinality_0_bit + cache_empty);
-  const_int_nodef(next_bit, cardinality_1_bit + cache_singleton);
-  Interval_Info_Bitset() {
-    // FIXME: would we have speed benefits with uninitialized info?
-    // (Dirty_Temp)
-    clear();
-  }
+  //! \name Miscellaneous Member Functions
+  //@{
 
-  void clear() {
-    reset_bits(bitset);
-  }
-  void clear_boundary_properties(Boundary_Type t) {
-    set_boundary_property(t, SPECIAL, false);
-    set_boundary_property(t, OPEN, false);
-  }
-  void set_boundary_property(Boundary_Type t, const Boundary_NS::Property& p, bool value = true) {
-    switch (p.type) {
-    case Boundary_NS::Property::SPECIAL_:
-      if (store_special) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_special_bit, value);
-	else
-	  set_bit(bitset, upper_special_bit, value);
-      }
-      break;
-    case Boundary_NS::Property::OPEN_:
-      if (store_open) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_open_bit, value);
-	else
-	  set_bit(bitset, upper_open_bit, value);
-      }
-      break;
-    case Boundary_NS::Property::NORMALIZED_:
-      if (cache_normalized) {
-	if (t == LOWER)
-	  set_bit(bitset, lower_normalized_bit, value);
-	else
-	  set_bit(bitset, upper_normalized_bit, value);
-      }
-      break;
-    default:
-      break;
-    }
-  }
-  bool get_boundary_property(Boundary_Type t, const Boundary_NS::Property& p) const {
-    switch (p.type) {
-    case Boundary_NS::Property::SPECIAL_:
-      if (!store_special)
-	return false;
-      if (t == LOWER)
-	return get_bit(bitset, lower_special_bit);
-      else
-	return get_bit(bitset, upper_special_bit);
-    case Boundary_NS::Property::OPEN_:
-      if (!store_open)
-	return false;
-      else if (t == LOWER)
-	return get_bit(bitset, lower_open_bit);
-      else
-	return get_bit(bitset, upper_open_bit);
-    case Boundary_NS::Property::NORMALIZED_:
-      if (!cache_normalized)
-	return false;
-      else if (t == LOWER)
-	return get_bit(bitset, lower_normalized_bit);
-      else
-	return get_bit(bitset, upper_normalized_bit);
-    default:
-      return false;
-    }
-  }
-  void set_interval_property(const Interval_NS::Property& p, bool value = true) {
-    switch (p.type) {
-    case Interval_NS::Property::CARDINALITY_0_:
-      if (cache_empty)
-	set_bit(bitset, cardinality_0_bit, value);
-      break;
-    case Interval_NS::Property::CARDINALITY_1_:
-      if (cache_singleton)
-	set_bit(bitset, cardinality_1_bit, value);
-      break;
-    case Interval_NS::Property::CARDINALITY_IS_:
-      if (cache_empty || cache_singleton)
-	set_bit(bitset, cardinality_is_bit, value);
-      break;
-    default:
-      break;
-    }
-  }
-  bool get_interval_property(Interval_NS::Property p) const {
-    switch (p.type) {
-    case Interval_NS::Property::CARDINALITY_0_:
-      return cache_empty && get_bit(bitset, cardinality_0_bit);
-    case Interval_NS::Property::CARDINALITY_1_:
-      return cache_singleton && get_bit(bitset, cardinality_1_bit);
-    case Interval_NS::Property::CARDINALITY_IS_:
-      return (cache_empty || cache_singleton)
-        && get_bit(bitset, cardinality_is_bit);
-    default:
-      return false;
-    }
-  }
+  //! Destructor.
+  ~Grid();
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Bitset& y);
+  /*! \brief
+    Swaps \p *this with grid \p y.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  void m_swap(Grid& y);
 
-  void ascii_dump(std::ostream& s) const;
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
   bool ascii_load(std::istream& s);
 
-protected:
-  T bitset;
-};
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-/* Automatically generated from PPL source file ../src/Interval_Info.inlines.hh line 1. */
-/* Interval_Info class implementation: inline functions.
-*/
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
 
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
 
-#include <iomanip>
+  //@} // Miscellaneous Member Functions
 
-namespace Parma_Polyhedra_Library {
+private:
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
-}
+  //! The system of congruences.
+  Congruence_System con_sys;
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
-}
+  //! The system of generators.
+  Grid_Generator_System gen_sys;
 
-template <typename Policy>
-inline bool
-Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
-  return true;
-}
+#define PPL_IN_Grid_CLASS
+/* Automatically generated from PPL source file ../src/Grid_Status.idefs.hh line 1. */
+/* Grid::Status class declaration.
+*/
 
-template <typename Policy>
-inline void
-Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
-  s << (open ? "open" : "closed");
-}
 
-template <typename Policy>
-inline bool
-Interval_Info_Null_Open<Policy>::ascii_load(std::istream& s) {
-  std::string str;
-  if (!(s >> str))
-    return false;
-  if (str == "open") {
-    open = true;
-    return true;
-  }
-  if (str == "closed") {
-    open = false;
-    return true;
-  }
-  return false;
-}
+#ifndef PPL_IN_Grid_CLASS
+#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead"
+#endif
 
-template <typename T, typename Policy>
-inline void
-Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
-  std::swap(bitset, y.bitset);
-}
+//! A conjunctive assertion about a grid.
+/*!
+  The assertions supported that are in use are:
+  - <EM>zero-dim universe</EM>: the grid is the zero-dimension
+    vector space \f$\Rset^0 = \{\cdot\}\f$;
+  - <EM>empty</EM>: the grid is the empty set;
+  - <EM>congruences up-to-date</EM>: the grid is correctly
+    characterized by the attached system of congruences, modulo the
+    processing of pending generators;
+  - <EM>generators up-to-date</EM>: the grid is correctly
+    characterized by the attached system of generators, modulo the
+    processing of pending congruences;
+  - <EM>congruences minimized</EM>: the non-pending part of the system
+    of congruences attached to the grid is in minimal form;
+  - <EM>generators minimized</EM>: the non-pending part of the system
+    of generators attached to the grid is in minimal form.
 
-template <typename T, typename Policy>
-inline void
-Interval_Info_Bitset<T, Policy>::ascii_dump(std::ostream& s) const {
-  std::ios_base::fmtflags old = s.flags();
-  s << std::hex << bitset;
-  s.flags(old);
-}
+  Other supported assertions are:
+  - <EM>congruences pending</EM>
+  - <EM>generators pending</EM>
+  - <EM>congruences' saturation matrix up-to-date</EM>
+  - <EM>generators' saturation matrix up-to-date</EM>.
 
-template <typename T, typename Policy>
-inline bool
-Interval_Info_Bitset<T, Policy>::ascii_load(std::istream& s) {
-  std::ios_base::fmtflags old = s.flags();
-  if (s >> std::hex >> bitset) {
-    s.flags(old);
-    return s;
-  }
-  else
-    return false;
-}
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>zero-dim universe</EM> excludes any other assertion;
+  - <EM>empty</EM>: excludes any other assertion;
+  - <EM>congruences pending</EM> and <EM>generators pending</EM>
+    are mutually exclusive;
+  - <EM>congruences pending</EM> implies both <EM>congruences minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>generators pending</EM> implies both <EM>congruences minimized</EM>
+    and <EM>generators minimized</EM>;
+  - <EM>congruences minimized</EM> implies <EM>congruences up-to-date</EM>;
+  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
+  - <EM>congruences' saturation matrix up-to-date</EM> implies both
+    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>;
+  - <EM>generators' saturation matrix up-to-date</EM> implies both
+    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>.
+*/
+class Status {
+public:
+  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  Status();
 
-} // namespace Parma_Polyhedra_Library
+  //! \name Test, remove or add an individual assertion from the conjunction
+  //@{
+  bool test_zero_dim_univ() const;
+  void reset_zero_dim_univ();
+  void set_zero_dim_univ();
 
-namespace std {
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Null */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Policy>
-inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Null<Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Null<Policy>& y) {
-  x.swap(y);
-}
+  bool test_c_up_to_date() const;
+  void reset_c_up_to_date();
+  void set_c_up_to_date();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Interval_Info_Bitset */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T, typename Policy>
-inline void
-swap(Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& x,
-     Parma_Polyhedra_Library::Interval_Info_Bitset<T, Policy>& y) {
-  x.swap(y);
-}
+  bool test_g_up_to_date() const;
+  void reset_g_up_to_date();
+  void set_g_up_to_date();
 
-} // namespace std
+  bool test_c_minimized() const;
+  void reset_c_minimized();
+  void set_c_minimized();
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 299. */
+  bool test_g_minimized() const;
+  void reset_g_minimized();
+  void set_g_minimized();
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 33. */
-#include <iosfwd>
+  bool test_sat_c_up_to_date() const;
+  void reset_sat_c_up_to_date();
+  void set_sat_c_up_to_date();
 
-// Temporary!
-#include <iostream>
+  bool test_sat_g_up_to_date() const;
+  void reset_sat_g_up_to_date();
+  void set_sat_g_up_to_date();
 
-namespace Parma_Polyhedra_Library {
+  bool test_c_pending() const;
+  void reset_c_pending();
+  void set_c_pending();
 
-enum Ternary { T_YES, T_NO, T_MAYBE };
+  bool test_g_pending() const;
+  void reset_g_pending();
+  void set_g_pending();
+  //@} // Test, remove or add an individual assertion from the conjunction
 
-inline I_Result
-combine(Result l, Result u) {
-  return static_cast<I_Result>(l | (u << 6));
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-struct Interval_Base {
-};
+  PPL_OUTPUT_DECLARATIONS
 
-using namespace Boundary_NS;
-using namespace Interval_NS;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-template <typename T, typename Enable = void>
-struct Is_Singleton : public Is_Native_Or_Checked<T> {};
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-template <typename T>
-struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
+  //! \name Bitmasks for the individual assertions
+  //@{
+  static const flags_t ZERO_DIM_UNIV    = 0U;
+  static const flags_t EMPTY            = 1U << 0;
+  static const flags_t C_UP_TO_DATE     = 1U << 1;
+  static const flags_t G_UP_TO_DATE     = 1U << 2;
+  static const flags_t C_MINIMIZED      = 1U << 3;
+  static const flags_t G_MINIMIZED      = 1U << 4;
+  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
+  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
+  static const flags_t CS_PENDING       = 1U << 7;
+  static const flags_t GS_PENDING       = 1U << 8;
+  //@} // Bitmasks for the individual assertions
 
-// FIXME: This has been added as a workaraound.
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, I_Result>::type
-neg_assign(From& x);
+  //! This holds the current bitset.
+  flags_t flags;
 
-//! A generic, not necessarily closed, possibly restricted interval.
-/*! \ingroup PPL_CXX_interface
-  The class template type parameter \p Boundary represents the type
-  of the interval boundaries, and can be chosen, among other possibilities,
-  within one of the following number families:
+  //! Construct from a bitmask.
+  Status(flags_t mask);
 
-  - a bounded precision native integer type (that is,
-    from <CODE>signed char</CODE> to <CODE>long long</CODE>
-    and from <CODE>int8_t</CODE> to <CODE>int64_t</CODE>);
-  - a bounded precision floating point type (<CODE>float</CODE>,
-    <CODE>double</CODE> or <CODE>long double</CODE>);
-  - an unbounded integer or rational type, as provided by the C++ interface
-    of GMP (<CODE>mpz_class</CODE> or <CODE>mpq_class</CODE>).
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-  The class template type parameter \p Info allows to control a number
-  of features of the class, among which:
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-  - the ability to support open as well as closed boundaries;
-  - the ability to represent empty intervals in addition to nonempty ones;
-  - the ability to represent intervals of extended number families
-    that contain positive and negative infinities;
-  - the ability to support (independently from the type of the boundaries)
-    plain intervals of real numbers and intervals subject to generic
-    <EM>restrictions</EM> (e.g., intervals of integer numbers).
-*/
-template <typename Boundary, typename Info>
-class Interval : public Interval_Base, private Info {
-private:
-  PPL_COMPILE_TIME_CHECK(!Info::store_special
-                         || !std::numeric_limits<Boundary>::has_infinity,
-                         "store_special is meaningless"
-                         " when boundary type may contains infinity");
-  Info& w_info() const {
-    return const_cast<Interval&>(*this);
-  }
-  Result lower_normalize() const {
-    Result r;
-    if (info().get_boundary_property(LOWER, NORMALIZED)
-	|| info().get_boundary_property(LOWER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& l = const_cast<Boundary&>(lower());
-      if (info().get_boundary_property(LOWER, OPEN)) {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GT);
-	if (r != V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(LOWER, true), l, V_GE);
-	if (r == V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN);
-      }
-      w_info().set_boundary_property(LOWER, NORMALIZED);
-    }
-    return r;
-  }
-  Result upper_normalize() const {
-    Result r;
-    if (info().get_boundary_property(UPPER, NORMALIZED)
-	|| info().get_boundary_property(UPPER, SPECIAL))
-      r = V_EQ;
-    else {
-      Boundary& u = const_cast<Boundary&>(upper());
-      if (info().get_boundary_property(UPPER, OPEN)) {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LT);
-	if (r != V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN, false);
-      }
-      else {
-	r = info().restrict(round_dir_check(UPPER, true), u, V_LE);
-	if (r == V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN);
-      }
-      w_info().set_boundary_property(UPPER, NORMALIZED);
-    }
-    return r;
-  }
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
+
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
 
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1977. */
+#undef PPL_IN_Grid_CLASS
 
-public:
-  typedef Boundary boundary_type;
-  typedef Info info_type;
+  //! The status flags to keep track of the grid's internal state.
+  Status status;
 
-  typedef Interval_NS::Property Property;
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator=(const T& x) {
-    assign(x);
-    return *this;
-  }
+  enum Dimension_Kind {
+    PARAMETER = 0,
+    LINE = 1,
+    GEN_VIRTUAL = 2,
+    PROPER_CONGRUENCE = PARAMETER,
+    CON_VIRTUAL = LINE,
+    EQUALITY = GEN_VIRTUAL
+  };
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator+=(const T& x) {
-    add_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator-=(const T& x) {
-    sub_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator*=(const T& x) {
-    mul_assign(*this, x);
-    return *this;
-  }
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator/=(const T& x) {
-    div_assign(*this, x);
-    return *this;
-  }
+  typedef std::vector<Dimension_Kind> Dimension_Kinds;
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval& y);
+  // The type of row associated with each dimension.  If the virtual
+  // rows existed then the reduced systems would be square and upper
+  // or lower triangular, and the rows in each would have the types
+  // given in this vector.  As the congruence system is reduced to an
+  // upside-down lower triangular form the ordering of the congruence
+  // types is last to first.
+  Dimension_Kinds dim_kinds;
 
-  Info& info() {
-    return *this;
-  }
+  //! Builds a grid universe or empty grid.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
 
-  const Info& info() const {
-    return *this;
-  }
+    \param kind
+    specifies whether the universe or the empty grid has to be built.
+  */
+  void construct(dimension_type num_dimensions, Degenerate_Element kind);
 
-  Boundary& lower() {
-    return lower_;
-  }
+  //! Builds a grid from a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-  const Boundary& lower() const {
-    return lower_;
-  }
+    \param cgs
+    The system of congruences defining the grid. Its data-structures
+    may be recycled to build the grid.
+  */
+  void construct(Congruence_System& cgs);
 
-  Boundary& upper() {
-    return upper_;
-  }
+  //! Builds a grid from a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-  const Boundary& upper() const {
-    return upper_;
-  }
+    \param ggs
+    The system of grid generators defining the grid.  Its data-structures
+    may be recycled to build the grid.
+  */
+  void construct(Grid_Generator_System& ggs);
 
-  I_Constraint<boundary_type> lower_constraint() const {
-    PPL_ASSERT(!is_empty());
-    if (info().get_boundary_property(LOWER, SPECIAL))
-      return I_Constraint<boundary_type>();
-    return i_constraint(lower_is_open() ? GREATER_THAN : GREATER_OR_EQUAL, lower(), true);
-  }
-  I_Constraint<boundary_type> upper_constraint() const {
-    PPL_ASSERT(!is_empty());
-    if (info().get_boundary_property(UPPER, SPECIAL))
-      return I_Constraint<boundary_type>();
-    return i_constraint(upper_is_open() ? LESS_THAN : LESS_OR_EQUAL, upper(), true);
-  }
+  //! \name Private Verifiers: Verify if Individual Flags are Set
+  //@{
 
-  bool has_restriction() const {
-    return info().has_restriction();
-  }
+  //! Returns <CODE>true</CODE> if the grid is known to be empty.
+  /*!
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-  I_Result normalize() const {
-    PPL_ASSERT(OK());
-    if (has_restriction()) {
-      Result rl = lower_normalize();
-      Result ru = upper_normalize();
-      info().normalize();
-      PPL_ASSERT(OK());
-      return combine(rl, ru);
-    }
-    else
-      return combine(V_EQ, V_EQ);
-  }
+  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
+  bool congruences_are_up_to_date() const;
 
-  bool is_empty() const {
-    return lt(UPPER, upper(), info(), LOWER, lower(), info());
-  }
+  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
+  bool generators_are_up_to_date() const;
 
-  bool check_empty(I_Result r) const {
-    return (r & I_ANY) == I_EMPTY
-      || ((r & I_ANY) != I_NOT_EMPTY && is_empty());
-  }
+  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
+  bool congruences_are_minimized() const;
 
-  bool is_singleton() const {
-    return eq(LOWER, lower(), info(), UPPER, upper(), info());
-  }
+  //! Returns <CODE>true</CODE> if the system of generators is minimized.
+  bool generators_are_minimized() const;
 
-  bool lower_is_open() const {
-    PPL_ASSERT(OK());
-    return is_open(LOWER, lower(), info());
-  }
+  //@} // Private Verifiers: Verify if Individual Flags are Set
 
-  bool upper_is_open() const {
-    PPL_ASSERT(OK());
-    return is_open(UPPER, upper(), info());
-  }
+  //! \name State Flag Setters: Set Only the Specified Flags
+  //@{
 
-  bool lower_is_boundary_infinity() const {
-    PPL_ASSERT(OK());
-    return Boundary_NS::is_boundary_infinity(LOWER, lower(), info());
-  }
+  /*! \brief
+    Sets \p status to express that the grid is the universe
+    0-dimension vector space, clearing all corresponding matrices.
+  */
+  void set_zero_dim_univ();
 
-  bool upper_is_boundary_infinity() const {
-    PPL_ASSERT(OK());
-    return Boundary_NS::is_boundary_infinity(UPPER, upper(), info());
-  }
+  /*! \brief
+    Sets \p status to express that the grid is empty, clearing all
+    corresponding matrices.
+  */
+  void set_empty();
 
-  bool lower_is_domain_inf() const {
-    PPL_ASSERT(OK());
-    return Boundary_NS::is_domain_inf(LOWER, lower(), info());
-  }
+  //! Sets \p status to express that congruences are up-to-date.
+  void set_congruences_up_to_date();
 
-  bool upper_is_domain_sup() const {
-    PPL_ASSERT(OK());
-    return Boundary_NS::is_domain_sup(UPPER, upper(), info());
-  }
+  //! Sets \p status to express that generators are up-to-date.
+  void set_generators_up_to_date();
 
-  bool is_bounded() const {
-    PPL_ASSERT(OK());
-    return !lower_is_boundary_infinity() && !upper_is_boundary_infinity();
-  }
+  //! Sets \p status to express that congruences are minimized.
+  void set_congruences_minimized();
 
-  bool is_universe() const {
-    PPL_ASSERT(OK());
-    return lower_is_domain_inf() && upper_is_domain_sup()
-      && !has_restriction();
-  }
+  //! Sets \p status to express that generators are minimized.
+  void set_generators_minimized();
 
-  I_Result lower_extend() {
-    info().clear_boundary_properties(LOWER);
-    set_unbounded(LOWER, lower(), info());
-    return I_ANY;
-  }
+  //@} // State Flag Setters: Set Only the Specified Flags
 
-  template <typename C>
-  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-  lower_extend(const C& c);
+  //! \name State Flag Cleaners: Clear Only the Specified Flag
+  //@{
 
-  I_Result upper_extend() {
-    info().clear_boundary_properties(UPPER);
-    set_unbounded(UPPER, upper(), info());
-    return I_ANY;
-  }
+  //! Clears the \p status flag indicating that the grid is empty.
+  void clear_empty();
 
-  template <typename C>
-  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-  upper_extend(const C& c);
+  //! Sets \p status to express that congruences are out of date.
+  void clear_congruences_up_to_date();
 
-  I_Result build() {
-    return assign(UNIVERSE);
-  }
+  //! Sets \p status to express that generators are out of date.
+  void clear_generators_up_to_date();
 
-  template <typename C>
-  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-  build(const C& c) {
-    Relation_Symbol rs;
-    switch (c.rel()) {
-    case V_LGE:
-    case V_GT_MINUS_INFINITY:
-    case V_LT_PLUS_INFINITY:
-      return assign(UNIVERSE);
-    default:
-      return assign(EMPTY);
-    case V_LT:
-    case V_LE:
-    case V_GT:
-    case V_GE:
-    case V_EQ:
-    case V_NE:
-      assign(UNIVERSE);
-      rs = (Relation_Symbol) c.rel();
-      return refine_existential(rs, c.value());
-    }
-  }
+  //! Sets \p status to express that congruences are no longer minimized.
+  void clear_congruences_minimized();
 
-  template <typename C1, typename C2>
-  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C1>::value
-                     &&
-		     Is_Same_Or_Derived<I_Constraint_Base, C2>::value,
-                     I_Result>::type
-  build(const C1& c1, const C2& c2) {
-    switch (c1.rel()) {
-    case V_LGE:
-      return build(c2);
-    case V_NAN:
-      return assign(EMPTY);
-    default:
-      break;
-    }
-    switch (c2.rel()) {
-    case V_LGE:
-      return build(c1);
-    case V_NAN:
-      return assign(EMPTY);
-    default:
-      break;
-    }
-    build(c1);
-    I_Result r = add_constraint(c2);
-    return r - (I_CHANGED | I_UNCHANGED);
-  }
+  //! Sets \p status to express that generators are no longer minimized.
+  void clear_generators_minimized();
 
-  template <typename C>
-  typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-  add_constraint(const C& c) {
-    Interval x;
-    x.build(c);
-    return intersect_assign(x);
-  }
+  //@} // State Flag Cleaners: Clear Only the Specified Flag
 
-  I_Result assign(Degenerate_Element e) {
-    I_Result r;
-    info().clear();
-    switch (e) {
-    default:
-      PPL_ASSERT(0);
-      /* Fall through */
-    case EMPTY:
-      lower_ = 1;
-      upper_ = 0;
-      r = I_EMPTY | I_EXACT;
-      break;
-    case UNIVERSE:
-      set_unbounded(LOWER, lower(), info());
-      set_unbounded(UPPER, upper(), info());
-      r = I_UNIVERSE | I_EXACT;
-      break;
-    }
-    PPL_ASSERT(OK());
-    return r;
-  }
+  //! \name Updating Matrices
+  //@{
 
-  template <typename From>
-  typename Enable_If<Is_Special<From>::value, I_Result>::type
-  assign(const From&) {
-    info().clear();
-    Result rl, ru;
-    switch (From::vclass) {
-    case VC_MINUS_INFINITY:
-      rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
-      ru = Boundary_NS::set_minus_infinity(UPPER, upper(), info());
-      break;
-    case VC_PLUS_INFINITY:
-      rl = Boundary_NS::set_plus_infinity(LOWER, lower(), info());
-      ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-      break;
-    default:
-      PPL_ASSERT(0);
-      rl = V_NAN;
-      ru = V_NAN;
-    }
-    PPL_ASSERT(OK());
-    return combine(rl, ru);
-  }
+  //! Updates and minimizes the congruences from the generators.
+  void update_congruences() const;
 
-  I_Result set_infinities() {
-    info().clear();
-    // FIXME: what about restrictions?
-    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
-    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-    PPL_ASSERT(OK());
-    return combine(rl, ru);
-  }
+  //! Updates and minimizes the generators from the congruences.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty grid.
 
-  static bool is_always_topologically_closed() {
-    return !Info::store_open;
-  }
+    It is illegal to call this method when the Status field already
+    declares the grid to be empty.
+  */
+  bool update_generators() const;
 
-  bool is_topologically_closed() const {
-    PPL_ASSERT(OK());
-    return is_always_topologically_closed()
-      || is_empty()
-      || ((lower_is_boundary_infinity() || !lower_is_open())
-          && (upper_is_boundary_infinity() || !upper_is_open()));
-  }
+  //@} // Updating Matrices
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign() {
-    if (!Info::store_open || is_empty())
-      return;
-    if (lower_is_open() && !lower_is_boundary_infinity())
-      info().set_boundary_property(LOWER, OPEN, false);
-    if (upper_is_open() && !upper_is_boundary_infinity())
-      info().set_boundary_property(UPPER, OPEN, false);
-  }
+  //! \name Minimization of Descriptions
+  //@{
 
-  void remove_inf() {
-    PPL_ASSERT(!is_empty());
-    if (!Info::store_open)
-      return;
-    info().set_boundary_property(LOWER, OPEN, true);
-  }
+  //! Minimizes both the congruences and the generators.
+  /*!
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty grid.
 
-  void remove_sup() {
-    PPL_ASSERT(!is_empty());
-    if (!Info::store_open)
-      return;
-    info().set_boundary_property(UPPER, OPEN, true);
-  }
+    Minimization is performed on each system only if the minimized
+    Status field is clear.
+  */
+  bool minimize() const;
 
-  bool is_infinity() const {
-    PPL_ASSERT(OK());
-    if (is_reverse_infinity(LOWER, lower(), info()))
-      return 1;
-    else if (is_reverse_infinity(UPPER, upper(), info()))
-      return -1;
-    else
-      return 0;
-  }
+  //@} // Minimization of Descriptions
 
-  bool contains_integer_point() const {
-    PPL_ASSERT(OK());
-    if (is_empty())
-      return false;
-    if (!is_bounded())
-      return true;
-    Boundary l;
-    if (lower_is_open()) {
-      add_assign_r(l, lower(), Boundary(1), ROUND_DOWN);
-      floor_assign_r(l, l, ROUND_DOWN);
-    }
-    else
-      ceil_assign_r(l, lower(), ROUND_DOWN);
-    Boundary u;
-    if (upper_is_open()) {
-      sub_assign_r(u, upper(), Boundary(1), ROUND_UP);
-      ceil_assign_r(u, u, ROUND_UP);
-    }
-    else
-      floor_assign_r(u, upper(), ROUND_UP);
-    return u >= l;
-  }
+  enum Three_Valued_Boolean {
+    TVB_TRUE,
+    TVB_FALSE,
+    TVB_DONT_KNOW
+  };
 
-  void drop_some_non_integer_points() {
-    if (is_empty())
-      return;
-    if (lower_is_open() && !lower_is_boundary_infinity()) {
-      add_assign_r(lower(), lower(), Boundary(1), ROUND_DOWN);
-      floor_assign_r(lower(), lower(), ROUND_DOWN);
-      info().set_boundary_property(LOWER, OPEN, false);
-    }
-    else
-      ceil_assign_r(lower(), lower(), ROUND_DOWN);
-    if (upper_is_open() && !upper_is_boundary_infinity()) {
-      sub_assign_r(upper(), upper(), Boundary(1), ROUND_UP);
-      ceil_assign_r(upper(), upper(), ROUND_UP);
-      info().set_boundary_property(UPPER, OPEN, false);
-    }
-    else
-      floor_assign_r(upper(), upper(), ROUND_UP);
-  }
+  //! Polynomial but incomplete equivalence test between grids.
+  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
-  wrap_assign(Bounded_Integer_Type_Width w,
-              Bounded_Integer_Type_Representation r,
-	      const From& refinement) {
-    if (is_empty())
-      return I_EMPTY;
-    if (lower_is_boundary_infinity() || upper_is_boundary_infinity())
-      return assign(refinement);
-    PPL_DIRTY_TEMP(Boundary, u);
-    Result result = sub_2exp_assign_r(u, upper(), w, ROUND_UP);
-    if (!result_overflow(result) && u > lower())
-      return assign(refinement);
-    info().clear();
-    switch (r) {
-    case UNSIGNED:
-      umod_2exp_assign(LOWER, lower(), info(),
-		       LOWER, lower(), info(), w);
-      umod_2exp_assign(UPPER, upper(), info(),
-		       UPPER, upper(), info(), w);
-      break;
-    case SIGNED_2_COMPLEMENT:
-      smod_2exp_assign(LOWER, lower(), info(),
-		       LOWER, lower(), info(), w);
-      smod_2exp_assign(UPPER, upper(), info(),
-		       UPPER, upper(), info(), w);
-      break;
-    default:
-      PPL_ASSERT(false);
-      break;
-    }
-    if (le(LOWER, lower(), info(), UPPER, upper(), info()))
-      return intersect_assign(refinement);
-    PPL_DIRTY_TEMP(Interval, tmp);
-    tmp.info().clear();
-    Boundary_NS::assign(LOWER, tmp.lower(), tmp.info(),
-			LOWER, lower(), info());
-    set_unbounded(UPPER, tmp.upper(), tmp.info());
-    tmp.intersect_assign(refinement);
-    lower_extend();
-    intersect_assign(refinement);
-    return join_assign(tmp);
-  }
+  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
+  bool is_included_in(const Grid& y) const;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param expr
+    The linear expression to test;
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+    \param method_call
+    The call description of the public parent method, for example
+    "bounded_from_above(e)".  Passed to throw_dimension_incompatible,
+    as the first argument.
 
-  bool OK() const {
-#if 0
-    if (!Info::may_be_empty && is_empty()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is unexpectedly empty.\n";
-#endif
-	return false;
-    }
-#endif
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, const char* method_call) const;
 
-    if (is_open(LOWER, lower(), info())) {
-      if (is_plus_infinity(LOWER, lower(), info())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is +inf open.\n";
-#endif
-      }
-    }
-    else if (!Info::may_contain_infinity
-	     && (is_minus_infinity(LOWER, lower(), info())
-		 || is_plus_infinity(LOWER, lower(), info()))) {
-#ifndef NDEBUG
-      std::cerr << "The lower boundary is unexpectedly infinity.\n";
-#endif
-      return false;
-    }
-    if (!info().get_boundary_property(LOWER, SPECIAL)) {
-      if (is_not_a_number(lower())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is not a number.\n";
-#endif
-	return false;
-      }
-#if 0
-      if (info().get_boundary_property(LOWER, NORMALIZED)
-	  && !info().is_restricted(lower())) {
-#ifndef NDEBUG
-	std::cerr << "The lower boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
-    }
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-    if (is_open(UPPER, upper(), info())) {
-      if (is_minus_infinity(UPPER, upper(), info())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is -inf open.\n";
-#endif
-      }
-    }
-    else if (!Info::may_contain_infinity
-	     && (is_minus_infinity(UPPER, upper(), info())
-		 || is_plus_infinity(UPPER, upper(), info()))) {
-#ifndef NDEBUG
-      std::cerr << "The upper boundary is unexpectedly infinity."
-                << std::endl;
-#endif
-      return false;
-    }
-    if (!info().get_boundary_property(UPPER, SPECIAL)) {
-      if (is_not_a_number(upper())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is not a number.\n";
-#endif
-	return false;
-      }
-#if 0
-      if (info().get_boundary_property(UPPER, NORMALIZED)
-	  && !info().is_restricted(upper())) {
-#ifndef NDEBUG
-	std::cerr << "The upper boundary is marked to be normalized, "
-                  << "but it is not.\n";
-#endif
-	return false;
-      }
-#endif
-    }
+    \param method_call
+    The call description of the public parent method, for example
+    "maximize(e)".  Passed to throw_dimension_incompatible, as the
+    first argument;
 
-    // Everything OK.
-    return true;
-  }
+    \param ext_n
+    The numerator of the extremum value;
 
-  Interval() {
-  }
+    \param ext_d
+    The denominator of the extremum value;
 
-  template <typename T>
-  explicit Interval(const T& x) {
-    assign(x);
-  }
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr in \p
+    *this can actually be reached (which is always the case);
 
-  /*! \brief
-    Builds the smallest interval containing the number whose textual
-    representation is contained in \p s.
+    \param point
+    When maximization or minimization succeeds, will be assigned the
+    point where \p expr reaches the extremum value.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p point are left untouched.
   */
-  explicit Interval(const char* s);
+  bool max_min(const Linear_Expression& expr,
+	       const char* method_call,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
+	       Generator* point = NULL) const;
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  contains(const T& y) const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
+    is defined, in which case the frequency and the value for \p expr
+    that is closest to zero are computed.
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  strictly_contains(const T& y) const;
+    \param expr
+    The linear expression for which the frequency is needed;
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  is_disjoint_from(const T& y) const;
+    \param freq_n
+    The numerator of the maximum frequency of \p expr;
 
+    \param freq_d
+    The denominator of the maximum frequency of \p expr;
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  assign(const From& x);
+    \param val_n
+    The numerator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
-  template <typename Type>
-  typename Enable_If<Is_Singleton<Type>::value
-                     || Is_Interval<Type>::value, bool>::type
-  can_be_exactly_joined_to(const Type& x) const;
+    \param val_d
+    The denominator of a value of \p expr at a point in the grid
+    that is closest to zero;
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  join_assign(const From& x);
+    If \p *this is empty or frequency is undefined with respect to \p expr,
+    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  join_assign(const From1& x, const From2& y);
+    \warning
+    If \p expr and \p *this are dimension-incompatible,
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
+  */
+  bool frequency_no_check(const Linear_Expression& expr,
+		Coefficient& freq_n, Coefficient& freq_d,
+		Coefficient& val_n, Coefficient& val_d) const;
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  intersect_assign(const From& x);
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  intersect_assign(const From1& x, const From2& y);
+    \param expr
+    The linear expression to test;
+  */
+  bool bounds_no_check(const Linear_Expression& expr) const;
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p *this and \p x.
+    Adds the congruence \p cg to \p *this.
+
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the grid generator system is not minimized or \p *this is
+    empty, then the behavior is undefined.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  difference_assign(const From& x);
+  void add_congruence_no_check(const Congruence& cg);
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p x and \p y.
+    Uses the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be added.
+
+    \exception std::invalid_argument
+    Thrown if c is a non-trivial inequality constraint.
+
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value
-                       || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value
-                          || Is_Interval<From2>::value)), I_Result>::type
-  difference_assign(const From1& x, const From2& y);
+  void add_constraint_no_check(const Constraint& c);
 
   /*! \brief
-    Assigns to \p *this the largest interval contained in the set-theoretic
-    difference of \p *this and \p x.
+    Uses the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be added.
+    Non-trivial inequalities are ignored.
+
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  lower_approximation_difference_assign(const From& x);
+  void refine_no_check(const Constraint& c);
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
+  //! \name Widening- and Extrapolation-Related Functions
+  //@{
 
-    \return
-    \c false if and only if the meet of \p *this and \p y is empty.
+  //! Copies a widened selection of congruences from \p y to \p selected_cgs.
+  void select_wider_congruences(const Grid& y,
+				Congruence_System& selected_cgs) const;
+
+  //! Copies widened generators from \p y to \p widened_ggs.
+  void select_wider_generators(const Grid& y,
+                               Grid_Generator_System& widened_ggs) const;
+
+  //@} // Widening- and Extrapolation-Related Functions
+
+  //! Adds new space dimensions to the given systems.
+  /*!
+    \param cgs
+    A congruence system, to which columns are added;
+
+    \param gs
+    A generator system, to which rows and columns are added;
+
+    \param dims
+    The number of space dimensions to add.
+
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_embed()</CODE>.
   */
-  template <typename From>
-  typename Enable_If<Is_Interval<From>::value, bool>::type
-  simplify_using_context_assign(const From& y);
+  void add_space_dimensions(Congruence_System& cgs,
+			    Grid_Generator_System& gs,
+			    dimension_type dims);
 
-  /*! \brief
-    Assigns to \p *this an interval having empty intersection with \p y.
-    The assigned interval should be as large as possible.
+  //! Adds new space dimensions to the given systems.
+  /*!
+    \param gs
+    A generator system, to which columns are added;
 
-    \note
-    Depending on interval restrictions, there could be many
-    maximal intervals all inconsistent with respect to \p y.
+    \param cgs
+    A congruence system, to which rows and columns are added;
+
+    \param dims
+    The number of space dimensions to add.
+
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_project()</CODE>.
   */
-  template <typename From>
-  typename Enable_If<Is_Interval<From>::value, void>::type
-  empty_intersection_assign(const From& y);
+  void add_space_dimensions(Grid_Generator_System& gs,
+			    Congruence_System& cgs,
+			    dimension_type dims);
 
-  /*! \brief
-    Refines \p to according to the existential relation \p rel with \p x.
+  //! \name Minimization-related Static Member Functions
+  //@{
 
-    The \p to interval is restricted to become, upon successful exit,
-    the smallest interval of its type that contains the set
-    \f[
-      \{\,
-        a \in \mathtt{to}
-      \mid
-        \exists b \in \mathtt{x} \st a \mathrel{\mathtt{rel}} b
-      \,\}.
-    \f]
-    \return
-    ???
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
+
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
+
+    \param divisor
+    A reference to the initial value of the divisor.  The resulting
+    value of this object is the new system divisor.
+
+    \param first_point
+    If \p first_point has a value other than NULL then it is taken as
+    the first point in \p sys, and it is assumed that any following
+    points have the same divisor as \p first_point.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  refine_existential(Relation_Symbol rel, const From& x);
+  static void
+  normalize_divisors(Grid_Generator_System& sys,
+		     Coefficient& divisor,
+		     const Grid_Generator* first_point = NULL);
 
-  /*! \brief
-    Refines \p to so that it satisfies the universal relation \p rel with \p x.
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
 
-    The \p to interval is restricted to become, upon successful exit,
-    the smallest interval of its type that contains the set
-    \f[
-      \{\,
-        a \in \mathtt{to}
-      \mid
-        \forall b \in \mathtt{x} \itc a \mathrel{\mathtt{rel}} b
-      \,\}.
-    \f]
-    \return
-    ???
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  refine_universal(Relation_Symbol rel, const From& x);
+  static void
+  normalize_divisors(Grid_Generator_System& sys);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  neg_assign(const From& x);
+  //! Normalize all the divisors in \p sys and \p gen_sys.
+  /*!
+    Modify \p sys and \p gen_sys to use the same single divisor value
+    for all generators, leaving each system representing the grid it
+    represented originally.
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  add_assign(const From1& x, const From2& y);
+    \param sys
+    The first of the generator systems to be normalized.
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  sub_assign(const From1& x, const From2& y);
+    \param gen_sys
+    The second of the generator systems to be normalized.  This system
+    must have at least one row and the divisors of the generators in
+    this system must be equal.
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  mul_assign(const From1& x, const From2& y);
+    \exception std::runtime_error
+    Thrown if all rows in \p gen_sys are lines and/or parameters.
+  */
+  static void normalize_divisors(Grid_Generator_System& sys,
+				 Grid_Generator_System& gen_sys);
 
-  template <typename From1, typename From2>
-  typename Enable_If<((Is_Singleton<From1>::value || Is_Interval<From1>::value)
-		      && (Is_Singleton<From2>::value || Is_Interval<From2>::value)), I_Result>::type
-  div_assign(const From1& x, const From2& y);
+  /*! \brief
+    Converts generator system \p dest to be equivalent to congruence
+    system \p source.
+  */
+  static void conversion(Congruence_System& source,
+			 Grid_Generator_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
-  template <typename From, typename Iterator>
-  typename Enable_If<Is_Interval<From>::value, void>::type
-  CC76_widening_assign(const From& y, Iterator first, Iterator last);
+  /*! \brief
+    Converts congruence system \p dest to be equivalent to generator
+    system \p source.
+  */
+  static void conversion(Grid_Generator_System& source,
+			 Congruence_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
-private:
-  Boundary lower_;
-  Boundary upper_;
-};
+  //! Converts \p cgs to upper triangular (i.e. minimized) form.
+  /*!
+    Returns <CODE>true</CODE> if \p cgs represents the empty set,
+    otherwise returns <CODE>false</CODE>.
+  */
+  static bool simplify(Congruence_System& cgs,
+		       Dimension_Kinds& dim_kinds);
 
-} // namespace Parma_Polyhedra_Library
+  //! Converts \p gs to lower triangular (i.e. minimized) form.
+  /*!
+    Expects \p gs to contain at least one point.
+  */
+  static void simplify(Grid_Generator_System& ggs,
+		       Dimension_Kinds& dim_kinds);
 
-/* Automatically generated from PPL source file ../src/Interval.inlines.hh line 1. */
-/* Inline functions for the Interval class and its constituents.
-*/
+  //! Reduces the line \p row using the line \p pivot.
+  /*!
+    Uses the line \p pivot to change the representation of the line
+    \p row so that the element at index \p column of \p row is zero.
+  */
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
+  static void reduce_line_with_line(Grid_Generator& row,
+				    Grid_Generator& pivot,
+				    dimension_type column);
 
+  //! Reduces the equality \p row using the equality \p pivot.
+  /*!
+    Uses the equality \p pivot to change the representation of the
+    equality \p row so that the element at index \p column of \p row
+    is zero.
+  */
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
+  static void reduce_equality_with_equality(Congruence& row,
+					    const Congruence& pivot,
+					    dimension_type column);
 
-namespace Parma_Polyhedra_Library {
+  //! Reduces \p row using \p pivot.
+  /*!
+    Uses the point, parameter or proper congruence at \p pivot to
+    change the representation of the point, parameter or proper
+    congruence at \p row so that the element at index \p column of \p row
+    is zero.  Only elements from index \p start to index \p end are
+    modified (i.e. it is assumed that all other elements are zero).
+    This means that \p col must be in [start,end).
 
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, I_Result>::type
-neg_assign(From& x) {
-  // FIXME: Avoid the creation of a temporary.
-  From y;
-  typename Enable_If<Is_Interval<From>::value, I_Result>::type res =
-                                                               y.neg_assign(x);
-  x = y;
-  return res;
-}
+    NOTE: This may invalidate the rows, since it messes with the divisors.
+    Client code has to fix that (if needed) and assert OK().
+  */
+  // Part of Grid for access to Matrix<Dense_Row>::rows.
+  template <typename R>
+  static void reduce_pc_with_pc(R& row,
+				R& pivot,
+				dimension_type column,
+				dimension_type start,
+				dimension_type end);
 
-template <typename Boundary, typename Info>
-inline memory_size_type
-Interval<Boundary, Info>::external_memory_in_bytes() const {
-  return Parma_Polyhedra_Library::external_memory_in_bytes(lower())
-    + Parma_Polyhedra_Library::external_memory_in_bytes(upper());
-}
+  //! Reduce \p row using \p pivot.
+  /*!
+    Use the line \p pivot to change the representation of the
+    parameter \p row such that the element at index \p column of \p row
+    is zero.
+  */
+  // This takes a parameter with type Swapping_Vector<Grid_Generator> (instead
+  // of Grid_Generator_System) to simplify the implementation of `simplify()'.
+  // NOTE: This may invalidate `row' and the rows in `sys'. Client code must
+  // fix/check this.
+  static void reduce_parameter_with_line(Grid_Generator& row,
+					 const Grid_Generator& pivot,
+					 dimension_type column,
+					 Swapping_Vector<Grid_Generator>& sys,
+                                         dimension_type num_columns);
 
-template <typename Boundary, typename Info>
-inline memory_size_type
-Interval<Boundary, Info>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  //! Reduce \p row using \p pivot.
+  /*!
+    Use the equality \p pivot to change the representation of the
+    congruence \p row such that element at index \p column of \p row
+    is zero.
+  */
+  // A member of Grid for access to Matrix<Dense_Row>::rows.
+  // This takes a parameter with type Swapping_Vector<Congruence> (instead of
+  // Congruence_System) to simplify the implementation of `conversion()'.
+  static void reduce_congruence_with_equality(Congruence& row,
+					      const Congruence& pivot,
+					      dimension_type column,
+					      Swapping_Vector<Congruence>& sys);
 
-template <typename Boundary, typename Info>
-inline void
-Interval<Boundary, Info>::swap(Interval<Boundary, Info>& y) {
-  std::swap(lower(), y.lower());
-  std::swap(upper(), y.upper());
-  std::swap(info(), y.info());
-}
+  //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
+  /*!
+    Required when converting (or simplifying) a congruence or generator
+    system to "strong minimal form"; informally, strong minimal form means
+    that, not only is the system in minimal form (ie a triangular matrix),
+    but also the absolute values of the coefficients of the proper congruences
+    and parameters are minimal. As a simple example, the set of congruences
+    \f$\{3x \equiv_3 0, 4x + y \equiv_3 1\}\f$,
+    (which is in minimal form) is equivalent to the set
+    \f$\{3x \equiv_3 0, x + y \equiv_3 1\}\f$
+    (which is in strong minimal form).
 
-template <typename Boundary, typename Info>
-inline bool
-f_is_empty(const Interval<Boundary, Info>& x) {
-  return x.is_empty();
-}
-template <typename Boundary, typename Info>
-inline bool
-f_is_singleton(const Interval<Boundary, Info>& x) {
-  return x.is_singleton();
-}
-template <typename Boundary, typename Info>
-inline int
-is_infinity(const Interval<Boundary, Info>& x) {
-  return x.is_infinity();
-}
+    \param sys
+    The generator or congruence system to be reduced to strong minimal form.
 
-namespace Interval_NS {
+    \param dim
+    Column to be reduced.
 
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_lower(const Interval<Boundary, Info>& x) {
-  return x.lower();
-}
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_upper(const Interval<Boundary, Info>& x) {
-  return x.upper();
-}
-template <typename Boundary, typename Info>
-inline const Info&
-f_info(const Interval<Boundary, Info>& x) {
-  return x.info();
-}
+    \param pivot_index
+    Index of last row to be reduced.
 
-struct Scalar_As_Interval_Policy {
-  const_bool_nodef(may_be_empty, true);
-  const_bool_nodef(may_contain_infinity, true);
-  const_bool_nodef(check_inexact, false);
-};
+    \param start
+    Index of first column to be changed.
 
-typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
+    \param end
+    Index of last column to be changed.
 
-const Scalar_As_Interval_Info SCALAR_INFO;
+    \param sys_dim_kinds
+    Dimension kinds of the elements of \p sys.
 
-typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
+    \param generators
+    Flag indicating whether \p sys is a congruence or generator system
+  */
+  template <typename M>
+  // This takes a parameter with type `Swapping_Vector<M::row_type>'
+  // instead of `M' to simplify the implementation of simplify().
+  // NOTE: This may invalidate the rows in `sys'. Client code must
+  // fix/check this.
+  static void reduce_reduced(Swapping_Vector<typename M::row_type>& sys,
+                             dimension_type dim,
+			     dimension_type pivot_index,
+			     dimension_type start, dimension_type end,
+			     const Dimension_Kinds& sys_dim_kinds,
+			     bool generators = true);
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
-f_lower(const T& x) {
-  return x;
-}
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const T&>::type
-f_upper(const T& x) {
-  return x;
-}
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type
-f_info(const T&) {
-  return SCALAR_INFO;
-}
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type
-f_info(const T&, bool open) {
-  return Scalar_As_Interval_Info_Open(open);
-}
+  //! Multiply the elements of \p dest by \p multiplier.
+  // A member of Grid for access to Matrix<Dense_Row>::rows and cgs::operator[].
+  // The type of `dest' is Swapping_Vector<Congruence> instead of
+  // Congruence_System to simplify the implementation of conversion().
+  static void multiply_grid(const Coefficient& multiplier,
+			    Congruence& cg,
+                            Swapping_Vector<Congruence>& dest,
+			    dimension_type num_rows);
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, bool>::type
-f_is_empty(const T& x) {
-  return is_not_a_number(x);
-}
+  //! Multiply the elements of \p dest by \p multiplier.
+  // A member of Grid for access to Grid_Generator::operator[].
+  // The type of `dest' is Swapping_Vector<Grid_Generator> instead of
+  // Grid_Generator_System to simplify the implementation of conversion().
+  // NOTE: This does not check whether the rows are OK(). Client code
+  // should do that.
+  static void multiply_grid(const Coefficient& multiplier,
+			    Grid_Generator& gen,
+			    Swapping_Vector<Grid_Generator>& dest,
+			    dimension_type num_rows);
+
+  /*! \brief
+    If \p sys is lower triangular return <CODE>true</CODE>, else
+    return <CODE>false</CODE>.
+  */
+  static bool lower_triangular(const Congruence_System& sys,
+			       const Dimension_Kinds& dim_kinds);
+
+  /*! \brief
+    If \p sys is upper triangular return <CODE>true</CODE>, else
+    return <CODE>false</CODE>.
+  */
+  static bool upper_triangular(const Grid_Generator_System& sys,
+			       const Dimension_Kinds& dim_kinds);
+
+#ifndef NDEBUG
+  //! Checks that trailing rows contain only zero terms.
+  /*!
+    If all columns contain zero in the rows of \p system from row
+    index \p first to row index \p last then return <code>true</code>,
+    else return <code>false</code>.  \p row_size gives the number of
+    columns in each row.
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, bool>::type
-f_is_singleton(const T& x) {
-  return !f_is_empty(x);
-}
+    This method is only used in assertions in the simplify methods.
+  */
+  template <typename M, typename R>
+  static bool rows_are_zero(M& system,
+			    dimension_type first,
+			    dimension_type last,
+			    dimension_type row_size);
+#endif
 
-} // namespace Interval_NS
+  //@} // Minimization-Related Static Member Functions
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-is_singleton_integer(const T& x) {
-  return is_singleton(x) && is_integer(f_lower(x));
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! \name Exception Throwers
+  //@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+protected:
+  void throw_dimension_incompatible(const char* method,
+				    const char* other_name,
+				    dimension_type other_dim) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* gr_name,
+				    const Grid& gr) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* le_name,
+				    const Linear_Expression& le) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cg_name,
+				    const Congruence& cg) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* c_name,
+				    const Constraint& c) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* g_name,
+				    const Grid_Generator& g) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* g_name,
+				    const Generator& g) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cgs_name,
+				    const Congruence_System& cgs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* cs_name,
+				    const Constraint_System& cs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* gs_name,
+				    const Grid_Generator_System& gs) const;
+  void throw_dimension_incompatible(const char* method,
+				    const char* var_name,
+				    Variable var) const;
+  void throw_dimension_incompatible(const char* method,
+				    dimension_type required_space_dim) const;
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-check_empty_arg(const T& x) {
-  if (f_info(x).may_be_empty)
-    return f_is_empty(x);
-  else {
-    PPL_ASSERT(!f_is_empty(x));
-    return false;
-  }
-}
+  static void throw_invalid_argument(const char* method,
+                                     const char* reason);
+  static void throw_invalid_constraint(const char* method,
+                                       const char* c_name);
+  static void throw_invalid_constraints(const char* method,
+                                        const char* cs_name);
+  static void throw_invalid_generator(const char* method,
+                                      const char* g_name);
+  static void throw_invalid_generators(const char* method,
+                                       const char* gs_name);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //@} // Exception Throwers
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
-			  bool>::type
-operator==(const T1& x, const T2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x))
-    return check_empty_arg(y);
-  else if (check_empty_arg(y))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  return eq_restriction(f_info(x), f_info(y))
-    && eq(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y))
-    && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
-}
+};
 
-template <typename T1, typename T2>
-inline typename Enable_If<((Is_Singleton<T1>::value || Is_Interval<T1>::value)
-			   && (Is_Singleton<T2>::value || Is_Interval<T2>::value)
-			   && (Is_Interval<T1>::value || Is_Interval<T2>::value)),
-			  bool>::type
-operator!=(const T1& x, const T2& y) {
-  return !(x == y);
-}
+/* Automatically generated from PPL source file ../src/Grid_Status.inlines.hh line 1. */
+/* Grid::Status class implementation: inline functions.
+*/
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::contains(const T& y) const {
-  PPL_ASSERT(OK());
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(y))
-    return true;
-  if (check_empty_arg(*this))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-    && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
-}
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::strictly_contains(const T& y) const {
-  PPL_ASSERT(OK());
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(y))
-    return !check_empty_arg(*this);
-  if (check_empty_arg(*this))
-    return false;
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  else if (!eq_restriction(info(), f_info(y)))
-    return le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-      && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y));
-  return (lt(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-	  && ge(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)))
-    || (le(LOWER, lower(), info(), LOWER, f_lower(y), f_info(y))
-	&& gt(UPPER, upper(), info(), UPPER, f_upper(y), f_info(y)));
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename Boundary, typename Info>
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value
-                          || Is_Interval<T>::value, bool>::type
-Interval<Boundary, Info>::is_disjoint_from(const T& y) const {
-  PPL_ASSERT(OK());
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(*this) || check_empty_arg(y))
-    return true;
-//   CHECKME.
-//   if (!contains_restriction(info(), f_info(y)))
-//       return false;
-  return gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))
-    || lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
+inline
+Grid::Status::Status(flags_t mask)
+  : flags(mask) {
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::assign(const From& x) {
-  PPL_ASSERT(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!assign_restriction(to_info, x))
-    return assign(EMPTY);
-  Result rl = Boundary_NS::assign(LOWER, lower(), to_info,
-				  LOWER, f_lower(x), f_info(x));
-  Result ru = Boundary_NS::assign(UPPER, upper(), to_info,
-				  UPPER, f_upper(x), f_info(x));
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline
+Grid::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::join_assign(const From& x) {
-  PPL_ASSERT(f_OK(x));
-  if (check_empty_arg(*this))
-    return assign(x);
-  if (check_empty_arg(x))
-    return combine(V_EQ, V_EQ);
-  if (!join_restriction(info(), *this, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = min_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  ru = max_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline bool
+Grid::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x))
-    return assign(y);
-  if (check_empty_arg(y))
-    return assign(x);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!join_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = min_assign(LOWER, lower(), to_info,
-		  LOWER, f_lower(x), f_info(x),
-		  LOWER, f_lower(y), f_info(y));
-  ru = max_assign(UPPER, upper(), to_info,
-		  UPPER, f_upper(x), f_info(x),
-		  UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline bool
+Grid::Status::test_any(flags_t mask) const {
+  return (flags & mask) != 0;
 }
 
-template <typename Boundary, typename Info>
-template <typename Type>
-inline typename Enable_If<Is_Singleton<Type>::value
-                          || Is_Interval<Type>::value, bool>::type
-Interval<Boundary, Info>::can_be_exactly_joined_to(const Type& x) const {
-  // FIXME: the two restrictions should be evaluated in the context of
-  // the specific interval
-  if (!eq_restriction(info(), f_info(x)))
-    return false;
-  PPL_DIRTY_TEMP(Boundary, b);
-  if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x))) {
-    b = lower();
-    return info().restrict(round_dir_check(LOWER, true), b, V_LT) == V_EQ
-      && eq(LOWER, b, info(), UPPER, f_upper(x), f_info(x));
-  }
-  else if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))) {
-    b = upper();
-    return info().restrict(round_dir_check(UPPER, true), b, V_GT) == V_EQ
-      && eq(UPPER, b, info(), LOWER, f_lower(x), f_info(x));
-  }
-  return true;
+inline void
+Grid::Status::set(flags_t mask) {
+  flags |= mask;
 }
 
-
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::intersect_assign(const From& x) {
-  PPL_ASSERT(f_OK(x));
-  if (!intersect_restriction(info(), *this, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  ru = min_assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  PPL_ASSERT(OK());
-  return I_ANY;
+inline void
+Grid::Status::reset(flags_t mask) {
+  flags &= ~mask;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
-                                                 const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!intersect_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  rl = max_assign(LOWER, lower(), to_info,
-		  LOWER, f_lower(x), f_info(x),
-		  LOWER, f_lower(y), f_info(y));
-  ru = min_assign(UPPER, upper(), to_info,
-		  UPPER, f_upper(x), f_info(x),
-		  UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return I_NOT_EMPTY;
+inline bool
+Grid::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::difference_assign(const From& x) {
-  PPL_ASSERT(f_OK(x));
-  // FIXME: restrictions
-  if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x))
-      ||
-      gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-    return combine(V_EQ, V_EQ);
-  bool nl = ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  bool nu = le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-  Result rl = V_EQ, ru = V_EQ;
-  if (nl) {
-    if (nu)
-      return assign(EMPTY);
-    else {
-      info().clear_boundary_properties(LOWER);
-      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
-    }
-  }
-  else if (nu) {
-    info().clear_boundary_properties(UPPER);
-    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
-  }
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::reset_zero_dim_univ() {
+  // This is a no-op if the current status is not zero-dim.
+  if (flags == ZERO_DIM_UNIV)
+    // In the zero-dim space, if it is not the universe it is empty.
+    flags = EMPTY;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
-                                                  const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  // FIXME: restrictions
-  if (lt(UPPER, f_upper(x), f_info(x), LOWER, f_lower(y), f_info(y))
-      ||
-      gt(LOWER, f_lower(x), f_info(x), UPPER, f_upper(y), f_info(y)))
-    return assign(x);
-  bool nl = ge(LOWER, f_lower(x), f_info(x), LOWER, f_lower(y), f_info(y));
-  bool nu = le(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
-  Result rl = V_EQ, ru = V_EQ;
-  if (nl) {
-    if (nu)
-      return assign(EMPTY);
-    else {
-      rl = complement(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y));
-      ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x));
-    }
-  }
-  else if (nu) {
-    ru = complement(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y));
-    rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x));
-  }
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>
-::refine_existential(Relation_Symbol rel, const From& x) {
-  PPL_ASSERT(OK());
-  PPL_ASSERT(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  switch (rel) {
-  case LESS_THAN:
-    {
-      if (lt(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Boundary_NS::assign(UPPER, upper(), info(),
-			  UPPER, f_upper(x), f_info(x), true);
-      normalize();
-      return I_ANY;
-    }
-  case LESS_OR_EQUAL:
-    {
-      if (le(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Boundary_NS::assign(UPPER, upper(), info(),
-			  UPPER, f_upper(x), f_info(x));
-      normalize();
-      return I_ANY;
-    }
-  case GREATER_THAN:
-    {
-      if (gt(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Boundary_NS::assign(LOWER, lower(), info(),
-			  LOWER, f_lower(x), f_info(x), true);
-      normalize();
-      return I_ANY;
-    }
-  case GREATER_OR_EQUAL:
-    {
-      if (ge(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Boundary_NS::assign(LOWER, lower(), info(),
-			  LOWER, f_lower(x), f_info(x));
-      normalize();
-      return I_ANY;
-    }
-  case EQUAL:
-    return intersect_assign(x);
-  case NOT_EQUAL:
-    {
-      if (!f_is_singleton(x))
-	return combine(V_EQ, V_EQ);
-      if (check_empty_arg(*this))
-	return I_EMPTY;
-      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	remove_inf();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	remove_sup();
-      normalize();
-      return I_ANY;
-    }
-  default:
-    PPL_ASSERT(false);
-    return I_EMPTY;
-  }
+inline bool
+Grid::Status::test_empty() const {
+  return test_any(EMPTY);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::refine_universal(Relation_Symbol rel,
-                                                 const From& x) {
-  PPL_ASSERT(OK());
-  PPL_ASSERT(f_OK(x));
-  if (check_empty_arg(x))
-    return combine(V_EQ, V_EQ);
-  switch (rel) {
-  case LESS_THAN:
-    {
-      if (lt(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      LOWER, f_lower(x), SCALAR_INFO, !is_open(LOWER, f_lower(x), f_info(x)));
-      normalize();
-      return I_ANY;
-    }
-  case LESS_OR_EQUAL:
-    {
-      if (le(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(UPPER);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      LOWER, f_lower(x), SCALAR_INFO);
-      normalize();
-      return I_ANY;
-    }
-  case GREATER_THAN:
-    {
-      if (gt(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      UPPER, f_upper(x), SCALAR_INFO, !is_open(UPPER, f_upper(x), f_info(x)));
-      normalize();
-      return I_ANY;
-    }
-  case GREATER_OR_EQUAL:
-    {
-      if (ge(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x)))
-	return combine(V_EQ, V_EQ);
-      info().clear_boundary_properties(LOWER);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      UPPER, f_upper(x), SCALAR_INFO);
-      normalize();
-      return I_ANY;
-    }
-  case EQUAL:
-    if (!f_is_singleton(x))
-      return assign(EMPTY);
-    return intersect_assign(x);
-  case NOT_EQUAL:
-    {
-      if (check_empty_arg(*this))
-	return I_EMPTY;
-      if (eq(LOWER, lower(), info(), LOWER, f_lower(x), f_info(x)))
-	remove_inf();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	remove_sup();
-      normalize();
-      return I_ANY;
-    }
-  default:
-    PPL_ASSERT(false);
-    return I_EMPTY;
-  }
+inline void
+Grid::Status::reset_empty() {
+  reset(EMPTY);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From>
-inline typename Enable_If<Is_Singleton<From>::value
-                          || Is_Interval<From>::value, I_Result>::type
-Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
-  PPL_ASSERT(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!neg_restriction(to_info, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  rl = Boundary_NS::neg_assign(LOWER, to_lower, to_info, UPPER, f_upper(x), f_info(x));
-  ru = Boundary_NS::neg_assign(UPPER, upper(), to_info, LOWER, f_lower(x), f_info(x));
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::set_empty() {
+  flags = EMPTY;
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == -inf)
-      return assign(EMPTY);
-  }
-  else
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
-    return assign(MINUS_INFINITY);
-  else if (inf > 0)
-    return assign(PLUS_INFINITY);
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!add_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl = Boundary_NS::add_assign(LOWER, lower(), to_info,
-				      LOWER, f_lower(x), f_info(x),
-				      LOWER, f_lower(y), f_info(y));
-  Result ru = Boundary_NS::add_assign(UPPER, upper(), to_info,
-				      UPPER, f_upper(x), f_info(x),
-				      UPPER, f_upper(y), f_info(y));
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline bool
+Grid::Status::test_c_up_to_date() const {
+  return test_any(C_UP_TO_DATE);
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y) == inf)
-      return assign(EMPTY);
-  }
-  else
-    inf = -Parma_Polyhedra_Library::is_infinity(y);
-  if (inf < 0)
-    return assign(MINUS_INFINITY);
-  else if (inf > 0)
-    return assign(PLUS_INFINITY);
+inline void
+Grid::Status::reset_c_up_to_date() {
+  reset(C_UP_TO_DATE);
+}
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!sub_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  rl = Boundary_NS::sub_assign(LOWER, to_lower, to_info,
-			       LOWER, f_lower(x), f_info(x),
-			       UPPER, f_upper(y), f_info(y));
-  ru = Boundary_NS::sub_assign(UPPER, upper(), to_info,
-			       UPPER, f_upper(x), f_info(x),
-			       LOWER, f_lower(y), f_info(y));
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::set_c_up_to_date() {
+  set(C_UP_TO_DATE);
 }
 
-/**
-+---------+-----------+-----------+-----------------+
-|    *    |  yl > 0   |  yu < 0   |  yl < 0, yu > 0 |
-+---------+-----------+-----------+-----------------+
-| xl > 0  |xl*yl,xu*yu|xu*yl,xl*yu|   xu*yl,xu*yu   |
-+---------+-----------+-----------+-----------------+
-| xu < 0  |xl*yu,xu*yl|xu*yu,xl*yl|   xl*yu,xl*yl   |
-+---------+-----------+-----------+-----------------+
-|xl<0 xu>0|xl*yu,xu*yu|xu*yl,xl*yl|min(xl*yu,xu*yl),|
-|         |           |           |max(xl*yl,xu*yu) |
-+---------+-----------+-----------+-----------------+
-**/
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
-  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  int ls, us;
-  if (inf) {
-    ls = yls;
-    us = yus;
-    goto inf;
-  }
-  else {
-    inf = Parma_Polyhedra_Library::is_infinity(y);
-    if (inf) {
-      ls = xls;
-      us = xus;
-    inf:
-      if (ls == 0 && us == 0)
-	return assign(EMPTY);
-      if (ls == -us)
-	return set_infinities();
-      if (ls < 0 || us < 0)
-	inf = -inf;
-      if (inf < 0)
-	return assign(MINUS_INFINITY);
-      else
-	return assign(PLUS_INFINITY);
-    }
-  }
+inline bool
+Grid::Status::test_g_up_to_date() const {
+  return test_any(G_UP_TO_DATE);
+}
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!mul_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
+inline void
+Grid::Status::reset_g_up_to_date() {
+  reset(G_UP_TO_DATE);
+}
 
-  if (xls >= 0) {
-    if (yls >= 0) {
-      // 0 <= xl <= xu, 0 <= yl <= yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else if (yus <= 0) {
-      // 0 <= xl <= xu, yl <= yu <= 0
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      // 0 <= xl <= xu, yl < 0 < yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-  }
-  else if (xus <= 0) {
-    if (yls >= 0) {
-      // xl <= xu <= 0, 0 <= yl <= yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (yus <= 0) {
-      // xl <= xu <= 0, yl <= yu <= 0
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else {
-      // xl <= xu <= 0, yl < 0 < yu
-      rl = mul_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = mul_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-  }
-  else if (yls >= 0) {
-    // xl < 0 < xu, 0 <= yl <= yu
-    rl = mul_assign_z(LOWER, to_lower, to_info,
-		      LOWER, f_lower(x), f_info(x), xls,
-		      UPPER, f_upper(y), f_info(y), yus);
-    ru = mul_assign_z(UPPER, upper(), to_info,
-		      UPPER, f_upper(x), f_info(x), xus,
-		      UPPER, f_upper(y), f_info(y), yus);
-  }
-  else if (yus <= 0) {
-    // xl < 0 < xu, yl <= yu <= 0
-    rl = mul_assign_z(LOWER, to_lower, to_info,
-		      UPPER, f_upper(x), f_info(x), xus,
-		      LOWER, f_lower(y), f_info(y), yls);
-    ru = mul_assign_z(UPPER, upper(), to_info,
-		      LOWER, f_lower(x), f_info(x), xls,
-		      LOWER, f_lower(y), f_info(y), yls);
-  }
-  else {
-    // xl < 0 < xu, yl < 0 < yu
-    PPL_DIRTY_TEMP(To_Boundary, tmp);
-    PPL_DIRTY_TEMP(To_Info, tmp_info);
-    tmp_info.clear();
-    Result tmp_r;
-    tmp_r = Boundary_NS::mul_assign(LOWER, tmp, tmp_info,
-				    UPPER, f_upper(x), f_info(x),
-				    LOWER, f_lower(y), f_info(y));
-    rl = Boundary_NS::mul_assign(LOWER, to_lower, to_info,
-				 LOWER, f_lower(x), f_info(x),
-				 UPPER, f_upper(y), f_info(y));
-    if (gt(LOWER, to_lower, to_info, LOWER, tmp, tmp_info)) {
-      to_lower = tmp;
-      rl = tmp_r;
-    }
-    tmp_info.clear();
-    tmp_r = Boundary_NS::mul_assign(UPPER, tmp, tmp_info,
-				    UPPER, f_upper(x), f_info(x),
-				    UPPER, f_upper(y), f_info(y));
-    ru = Boundary_NS::mul_assign(UPPER, upper(), to_info,
-				 LOWER, f_lower(x), f_info(x),
-				 LOWER, f_lower(y), f_info(y));
-    if (lt(UPPER, upper(), to_info, UPPER, tmp, tmp_info)) {
-      upper() = tmp;
-      ru = tmp_r;
-    }
-  }
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::set_g_up_to_date() {
+  set(G_UP_TO_DATE);
 }
 
-/**
-+-----------+-----------+-----------+
-|     /     |  yu < 0   |  yl > 0   |
-+-----------+-----------+-----------+
-|   xu<=0   |xu/yl,xl/yu|xl/yl,xu/yu|
-+-----------+-----------+-----------+
-|xl<=0 xu>=0|xu/yu,xl/yu|xl/yl,xu/yl|
-+-----------+-----------+-----------+
-|   xl>=0   |xu/yu,xl/yl|xl/yu,xu/yl|
-+-----------+-----------+-----------+
-**/
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline typename Enable_If<((Is_Singleton<From1>::value
-                            || Is_Interval<From1>::value)
-			   && (Is_Singleton<From2>::value
-                               || Is_Interval<From2>::value)), I_Result>::type
-Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
-  PPL_ASSERT(f_OK(x));
-  PPL_ASSERT(f_OK(y));
-  if (check_empty_arg(x) || check_empty_arg(y))
-    return assign(EMPTY);
-  int yls = sgn_b(LOWER, f_lower(y), f_info(y));
-  int yus = yls > 0 ? 1 : sgn_b(UPPER, f_upper(y), f_info(y));
-  if (yls == 0 && yus == 0)
-    return assign(EMPTY);
-  int inf = Parma_Polyhedra_Library::is_infinity(x);
-  if (inf) {
-    if (Parma_Polyhedra_Library::is_infinity(y))
-      return assign(EMPTY);
-    if (yls == -yus)
-      return set_infinities();
-    if (yls < 0 || yus < 0)
-      inf = -inf;
-    if (inf < 0)
-      return assign(MINUS_INFINITY);
-    else
-      return assign(PLUS_INFINITY);
-  }
-  int xls = sgn_b(LOWER, f_lower(x), f_info(x));
-  int xus = xls > 0 ? 1 : sgn_b(UPPER, f_upper(x), f_info(x));
+inline bool
+Grid::Status::test_c_minimized() const {
+  return test_any(C_MINIMIZED);
+}
 
-  PPL_DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!div_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  PPL_DIRTY_TEMP(To_Boundary, to_lower);
-  if (yls >= 0) {
-    if (xls >= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (xus <= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-  }
-  else if (yus <= 0) {
-    if (xls >= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			LOWER, f_lower(y), f_info(y), yls);
-    }
-    else if (xus <= 0) {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			LOWER, f_lower(y), f_info(y), yls);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-    else {
-      rl = div_assign_z(LOWER, to_lower, to_info,
-			UPPER, f_upper(x), f_info(x), xus,
-			UPPER, f_upper(y), f_info(y), yus);
-      ru = div_assign_z(UPPER, upper(), to_info,
-			LOWER, f_lower(x), f_info(x), xls,
-			UPPER, f_upper(y), f_info(y), yus);
-    }
-  }
-  else {
-    // FIXME: restrictions
-    return static_cast<I_Result>(assign(UNIVERSE) | I_SINGULARITIES);
-  }
-  assign_or_swap(lower(), to_lower);
-  assign_or_swap(info(), to_info);
-  PPL_ASSERT(OK());
-  return combine(rl, ru);
+inline void
+Grid::Status::reset_c_minimized() {
+  reset(C_MINIMIZED);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator+(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline void
+Grid::Status::set_c_minimized() {
+  set(C_MINIMIZED);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator+(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline bool
+Grid::Status::test_g_minimized() const {
+  return test_any(G_MINIMIZED);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator+(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.add_assign(x, y);
-  return z;
+inline void
+Grid::Status::reset_g_minimized() {
+  reset(G_MINIMIZED);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator-(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+inline void
+Grid::Status::set_g_minimized() {
+  set(G_MINIMIZED);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator-(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+
+inline bool
+Grid::Status::test_c_pending() const {
+  return test_any(CS_PENDING);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator-(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.sub_assign(x, y);
-  return z;
+inline void
+Grid::Status::reset_c_pending() {
+  reset(CS_PENDING);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator*(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline void
+Grid::Status::set_c_pending() {
+  set(CS_PENDING);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator*(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline bool
+Grid::Status::test_g_pending() const {
+  return test_any(GS_PENDING);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator*(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.mul_assign(x, y);
-  return z;
+inline void
+Grid::Status::reset_g_pending() {
+  reset(GS_PENDING);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator/(const Interval<B, Info>& x, const T& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+inline void
+Grid::Status::set_g_pending() {
+  set(GS_PENDING);
 }
 
-template <typename B, typename Info, typename T>
-inline typename Enable_If<Is_Singleton<T>::value, Interval<B, Info> >::type
-operator/(const T& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+
+inline bool
+Grid::Status::test_sat_c_up_to_date() const {
+  return test_any(SAT_C_UP_TO_DATE);
 }
 
-template <typename B, typename Info>
-inline Interval<B, Info>
-operator/(const Interval<B, Info>& x, const Interval<B, Info>& y) {
-  Interval<B, Info> z;
-  z.div_assign(x, y);
-  return z;
+inline void
+Grid::Status::reset_sat_c_up_to_date() {
+  reset(SAT_C_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
-inline std::ostream&
-operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
-  // PPL_ASSERT(x.OK());
-  if (check_empty_arg(x))
-    return os << "[]";
-  if (x.is_singleton()) {
-    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
-    return os;
-  }
-  os << (x.lower_is_open() ? "(" : "[");
-  if (x.info().get_boundary_property(LOWER, SPECIAL))
-    os << "-inf";
-  else
-    output(os, x.lower(), Numeric_Format(), ROUND_NOT_NEEDED);
-  os << ", ";
-  if (x.info().get_boundary_property(UPPER, SPECIAL))
-    os << "+inf";
-  else
-    output(os, x.upper(), Numeric_Format(), ROUND_NOT_NEEDED);
-  os << (x.upper_is_open() ? ")" : "]");
-  output_restriction(os, x.info());
-  return os;
+inline void
+Grid::Status::set_sat_c_up_to_date() {
+  set(SAT_C_UP_TO_DATE);
+}
+
+inline bool
+Grid::Status::test_sat_g_up_to_date() const {
+  return test_any(SAT_G_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
 inline void
-Interval<Boundary, Info>::ascii_dump(std::ostream& s) const {
-  using Parma_Polyhedra_Library::ascii_dump;
-  s << "info ";
-  info().ascii_dump(s);
-  s << " lower ";
-  ascii_dump(s, lower());
-  s << " upper ";
-  ascii_dump(s, upper());
-  s << '\n';
+Grid::Status::reset_sat_g_up_to_date() {
+  reset(SAT_G_UP_TO_DATE);
 }
 
-template <typename Boundary, typename Info>
+inline void
+Grid::Status::set_sat_g_up_to_date() {
+  set(SAT_G_UP_TO_DATE);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 1. */
+/* Grid class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 30. */
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
 inline bool
-Interval<Boundary, Info>::ascii_load(std::istream& s) {
-  using Parma_Polyhedra_Library::ascii_load;
-  std::string str;
-  if (!(s >> str) || str != "info")
-    return false;
-  if (!info().ascii_load(s))
-    return false;
-  if (!(s >> str) || str != "lower")
-    return false;
-  if (!ascii_load(s, lower()))
-    return false;
-  if (!(s >> str) || str != "upper")
-    return false;
-  if (!ascii_load(s, upper()))
-    return false;
-  PPL_ASSERT(OK());
-  return true;
+Grid::marked_empty() const {
+  return status.test_empty();
+}
+
+inline bool
+Grid::congruences_are_up_to_date() const {
+  return status.test_c_up_to_date();
+}
+
+inline bool
+Grid::generators_are_up_to_date() const {
+  return status.test_g_up_to_date();
 }
 
-/*! \brief
-  Helper class to select the appropriate numerical type to perform
-  boundary computations so as to reduce the chances of overflow without
-  incurring too much overhead.
-*/
-template <typename Interval_Boundary_Type> struct Select_Temp_Boundary_Type;
+inline bool
+Grid::congruences_are_minimized() const {
+  return status.test_c_minimized();
+}
 
-template <typename Interval_Boundary_Type>
-struct Select_Temp_Boundary_Type {
-  typedef Interval_Boundary_Type type;
-};
+inline bool
+Grid::generators_are_minimized() const {
+  return status.test_g_minimized();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<float> {
-  typedef double type;
-};
+inline void
+Grid::set_generators_up_to_date() {
+  status.set_g_up_to_date();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<char> {
-  typedef signed long long type;
-};
+inline void
+Grid::set_congruences_up_to_date() {
+  status.set_c_up_to_date();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<signed char> {
-  typedef signed long long type;
-};
+inline void
+Grid::set_congruences_minimized() {
+  set_congruences_up_to_date();
+  status.set_c_minimized();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned char> {
-  typedef signed long long type;
-};
+inline void
+Grid::set_generators_minimized() {
+  set_generators_up_to_date();
+  status.set_g_minimized();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<signed short> {
-  typedef signed long long type;
-};
+inline void
+Grid::clear_empty() {
+  status.reset_empty();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned short> {
-  typedef signed long long type;
-};
+inline void
+Grid::clear_congruences_minimized() {
+  status.reset_c_minimized();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<signed int> {
-  typedef signed long long type;
-};
+inline void
+Grid::clear_generators_minimized() {
+  status.reset_g_minimized();
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned int> {
-  typedef signed long long type;
-};
+inline void
+Grid::clear_congruences_up_to_date() {
+  clear_congruences_minimized();
+  status.reset_c_up_to_date();
+  // Can get rid of con_sys here.
+}
 
-template <>
-struct Select_Temp_Boundary_Type<signed long> {
-  typedef signed long long type;
-};
+inline void
+Grid::clear_generators_up_to_date() {
+  clear_generators_minimized();
+  status.reset_g_up_to_date();
+  // Can get rid of gen_sys here.
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long> {
-  typedef signed long long type;
-};
+inline dimension_type
+Grid::max_space_dimension() {
+  // One dimension is reserved to have a value of type dimension_type
+  // that does not represent a legal dimension.
+  return std::min(std::numeric_limits<dimension_type>::max() - 1,
+		  std::min(Congruence_System::max_space_dimension(),
+			   Grid_Generator_System::max_space_dimension()
+			   )
+		  );
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long long> {
-  typedef signed long long type;
-};
+inline
+Grid::Grid(dimension_type num_dimensions,
+	   const Degenerate_Element kind)
+  : con_sys(),
+    gen_sys(check_space_dimension_overflow(num_dimensions,
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(n, k)",
+                                           "n exceeds the maximum "
+                                           "allowed space dimension")) {
+  construct(num_dimensions, kind);
+  PPL_ASSERT(OK());
+}
 
-} // namespace Parma_Polyhedra_Library
+inline
+Grid::Grid(const Congruence_System& cgs)
+  : con_sys(check_space_dimension_overflow(cgs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cgs)",
+                                           "the space dimension of cgs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(cgs.space_dimension()) {
+  Congruence_System cgs_copy(cgs);
+  construct(cgs_copy);
+}
 
-namespace std {
+inline
+Grid::Grid(Congruence_System& cgs, Recycle_Input)
+  : con_sys(check_space_dimension_overflow(cgs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(cgs, recycle)",
+                                           "the space dimension of cgs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(cgs.space_dimension()) {
+  construct(cgs);
+}
 
-/*! \relates Parma_Polyhedra_Library::Interval */
-template <typename Boundary, typename Info>
-inline void
-swap(Parma_Polyhedra_Library::Interval<Boundary, Info>& x,
-     Parma_Polyhedra_Library::Interval<Boundary, Info>& y) {
-  x.swap(y);
+inline
+Grid::Grid(const Grid_Generator_System& ggs)
+  : con_sys(check_space_dimension_overflow(ggs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(ggs)",
+                                           "the space dimension of ggs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(ggs.space_dimension()) {
+  Grid_Generator_System ggs_copy(ggs);
+  construct(ggs_copy);
 }
 
-} // namespace std
+inline
+Grid::Grid(Grid_Generator_System& ggs, Recycle_Input)
+  : con_sys(check_space_dimension_overflow(ggs.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(ggs, recycle)",
+                                           "the space dimension of ggs "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(ggs.space_dimension()) {
+  construct(ggs);
+}
 
-/* Automatically generated from PPL source file ../src/Interval.templates.hh line 1. */
-/* Interval class implementation: non-inline template functions.
-*/
+template <typename U>
+inline
+Grid::Grid(const BD_Shape<U>& bd, Complexity_Class)
+  : con_sys(check_space_dimension_overflow(bd.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(bd)",
+                                           "the space dimension of bd "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(bd.space_dimension()) {
+  Congruence_System cgs = bd.congruences();
+  construct(cgs);
+}
 
+template <typename U>
+inline
+Grid::Grid(const Octagonal_Shape<U>& os, Complexity_Class)
+  : con_sys(check_space_dimension_overflow(os.space_dimension(),
+                                           max_space_dimension(),
+                                           "PPL::Grid::",
+                                           "Grid(os)",
+                                           "the space dimension of os "
+                                           "exceeds the maximum allowed "
+                                           "space dimension")),
+    gen_sys(os.space_dimension()) {
+  Congruence_System cgs = os.congruences();
+  construct(cgs);
+}
 
-#include <algorithm>
+inline
+Grid::~Grid() {
+}
 
-namespace Parma_Polyhedra_Library {
+inline dimension_type
+Grid::space_dimension() const {
+  return space_dim;
+}
 
-template <typename Boundary, typename Info>
-template <typename C>
-typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-Interval<Boundary, Info>::lower_extend(const C& c) {
-  PPL_ASSERT(OK());
-  bool open;
-  switch (c.rel()) {
-  case V_LGE:
-    return lower_extend();
-  case V_NAN:
-    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
-  case V_GT:
-    open = true;
-    break;
-  case V_GE:
-  case V_EQ:
-    open = false;
-    break;
-  default:
-    PPL_ASSERT(false);
-  }
-  min_assign(LOWER, lower(), info(), LOWER, c.value(), f_info(c.value(), open));
-  PPL_ASSERT(OK());
-  return I_ANY;
+inline memory_size_type
+Grid::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename Boundary, typename Info>
-template <typename C>
-typename Enable_If<Is_Same_Or_Derived<I_Constraint_Base, C>::value, I_Result>::type
-Interval<Boundary, Info>::upper_extend(const C& c) {
-  PPL_ASSERT(OK());
-  bool open;
-  switch (c.rel()) {
-  case V_LGE:
-    return lower_extend();
-  case V_NAN:
-    return I_NOT_EMPTY | I_EXACT | I_UNCHANGED;
-  case V_LT:
-    open = true;
-    break;
-  case V_LE:
-  case V_EQ:
-    open = false;
-    break;
-  default:
-    PPL_ASSERT(false);
-  }
-  max_assign(UPPER, upper(), info(), UPPER, c.value(), f_info(c.value(), open));
-  PPL_ASSERT(OK());
-  return I_ANY;
+inline int32_t
+Grid::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
 }
 
-template <typename Boundary, typename Info>
-template <typename From, typename Iterator>
-typename Enable_If<Is_Interval<From>::value, void>::type
-Interval<Boundary, Info>::CC76_widening_assign(const From& y,
-					       Iterator first,
-					       Iterator last) {
-  // We assume that `y' is contained in or equal to `*this'.
-  PPL_ASSERT(contains(y));
-  Interval<Boundary, Info>& x = *this;
+inline Constraint_System
+Grid::constraints() const {
+  return Constraint_System(congruences());
+}
 
-  // Upper bound.
-  if (!x.upper_is_boundary_infinity()) {
-    Boundary& x_ub = x.upper();
-    const Boundary& y_ub = y.upper();
-    PPL_ASSERT(!y.upper_is_boundary_infinity() && y_ub <= x_ub);
-    if (y_ub < x_ub) {
-      Iterator k = std::lower_bound(first, last, x_ub);
-      if (k != last) {
-	if (x_ub < *k)
-	  x_ub = *k;
-      }
-      else
-	x.upper_extend();
-    }
-  }
+inline Constraint_System
+Grid::minimized_constraints() const {
+  return Constraint_System(minimized_congruences());
+}
 
-  // Lower bound.
-  if (!x.lower_is_boundary_infinity()) {
-    Boundary& x_lb = x.lower();
-    const Boundary& y_lb = y.lower();
-    PPL_ASSERT(!y.lower_is_boundary_infinity() && y_lb >= x_lb);
-    if (y_lb > x_lb) {
-      Iterator k = std::lower_bound(first, last, x_lb);
-      if (k != last) {
-	if (x_lb < *k) {
-	  if (k != first)
-	    x_lb = *--k;
-	  else
-	    x.lower_extend();
-	}
-      }
-      else {
-        if (k != first)
-          x_lb = *--k;
-        else
-          x.lower_extend();
-      }
-    }
-  }
+inline void
+Grid::m_swap(Grid& y) {
+  using std::swap;
+  swap(con_sys, y.con_sys);
+  swap(gen_sys, y.gen_sys);
+  swap(status, y.status);
+  swap(space_dim, y.space_dim);
+  swap(dim_kinds, y.dim_kinds);
 }
 
-template <typename Boundary, typename Info>
-Interval<Boundary, Info>::Interval(const char* s) {
-  // Get the lower bound.
-  Boundary lower_bound;
-  Result lower_r = assign_r(lower_bound, s, ROUND_DOWN);
-  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
-    throw std::invalid_argument("PPL::Interval(const char* s)"
-                                " with s invalid");
-  }
-  lower_r = result_relation_class(lower_r);
+inline void
+Grid::add_congruence(const Congruence& cg) {
+  // Dimension-compatibility check.
+  if (space_dim < cg.space_dimension())
+    throw_dimension_incompatible("add_congruence(cg)", "cg", cg);
 
-  // Get the upper bound.
-  Boundary upper_bound;
-  Result upper_r = assign_r(upper_bound, s, ROUND_UP);
-  PPL_ASSERT(upper_r != V_CVT_STR_UNK && upper_r != V_NAN);
-  upper_r = result_relation_class(upper_r);
+  if (!marked_empty())
+    add_congruence_no_check(cg);
+}
 
-  // Buld the interval.
-  bool lower_open = false;
-  bool upper_open = false;
-  bool lower_boundary_infinity = false;
-  bool upper_boundary_infinity = false;
-  switch (lower_r) {
-  case V_EQ:
-  case V_GE:
-    break;
-  case V_GT:
-    lower_open = true;
-    break;
-  case V_GT_MINUS_INFINITY:
-    lower_open = true;
-  case V_EQ_MINUS_INFINITY:
-    lower_boundary_infinity = true;
-    break;
-  case V_EQ_PLUS_INFINITY:
-  case V_LT_PLUS_INFINITY:
-    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
-      assign(UNIVERSE);
-    else
-      assign(EMPTY);
-    break;
-  default:
-    PPL_ASSERT(false);
-  }
-  switch (upper_r) {
-  case V_EQ:
-  case V_LE:
-    break;
-  case V_LT:
-    upper_open = true;
-    break;
-  case V_EQ_MINUS_INFINITY:
-  case V_GT_MINUS_INFINITY:
-    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
-      assign(UNIVERSE);
-    else
-      assign(EMPTY);
-    break;
-  case V_LT_PLUS_INFINITY:
-    upper_open = true;
-  case V_EQ_PLUS_INFINITY:
-    upper_boundary_infinity = true;
-    break;
-  default:
-    PPL_ASSERT(false);
-  }
+inline void
+Grid::add_congruences(const Congruence_System& cgs) {
+  // TODO: this is just an executable specification.
+  // Space dimension compatibility check.
+  if (space_dim < cgs.space_dimension())
+    throw_dimension_incompatible("add_congruences(cgs)", "cgs", cgs);
 
-  if (!lower_boundary_infinity
-      && !upper_boundary_infinity
-      && (lower_bound > upper_bound
-          || (lower_open && lower_bound == upper_bound)))
-    assign(EMPTY);
-  else {
-    if (lower_boundary_infinity)
-      set_minus_infinity(LOWER, lower(), info(), lower_open);
-    else
-      Boundary_NS::assign(LOWER, lower(), info(),
-                          LOWER, lower_bound, SCALAR_INFO, lower_open);
-    if (upper_boundary_infinity)
-      set_plus_infinity(UPPER, upper(), info(), upper_open);
-    else
-      Boundary_NS::assign(UPPER, upper(), info(),
-                          UPPER, upper_bound, SCALAR_INFO, upper_open);
+  if (!marked_empty()) {
+    Congruence_System cgs_copy = cgs;
+    add_recycled_congruences(cgs_copy);
   }
 }
 
+inline void
+Grid::refine_with_congruence(const Congruence& cg) {
+  add_congruence(cg);
+}
 
-template <typename Boundary, typename Info>
-inline std::istream&
-operator>>(std::istream& is, Interval<Boundary, Info>& x) {
-  // Eat leading white space.
-  int c;
-  do {
-    c = is.get();
-  } while (isspace(c));
+inline void
+Grid::refine_with_congruences(const Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-  // Get the opening parenthesis and handle the empty interval case.
-  bool lower_open = false;
-  if (c == '(')
-    lower_open = true;
-  else if (c == '[') {
-    c = is.get();
-    if (c == ']') {
-      // Empty interval.
-      x.assign(EMPTY);
-      return is;
-    }
-    else
-      is.unget();
-  }
-  else {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+inline bool
+Grid::can_recycle_constraint_systems() {
+  return true;
+}
 
-  // Get the lower bound.
-  Boundary lower_bound;
-  Result lower_r = input(lower_bound, is, ROUND_DOWN);
-  if (lower_r == V_CVT_STR_UNK || lower_r == V_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
-  lower_r = result_relation_class(lower_r);
+inline bool
+Grid::can_recycle_congruence_systems() {
+  return true;
+}
 
-  // Match the comma separating the lower and upper bounds.
-  do {
-    c = is.get();
-  } while (isspace(c));
-  if (c != ',') {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+inline void
+Grid::add_constraint(const Constraint& c) {
+  // Space dimension compatibility check.
+  if (space_dim < c.space_dimension())
+    throw_dimension_incompatible("add_constraint(c)", "c", c);
+  if (!marked_empty())
+    add_constraint_no_check(c);
+}
 
-  // Get the upper bound.
-  Boundary upper_bound;
-  Result upper_r = input(upper_bound, is, ROUND_UP);
-  if (upper_r == V_CVT_STR_UNK || upper_r == V_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
-  upper_r = result_relation_class(upper_r);
+inline void
+Grid::add_recycled_constraints(Constraint_System& cs) {
+  // TODO: really recycle the constraints.
+  add_constraints(cs);
+}
 
-  // Get the closing parenthesis.
-  do {
-    c = is.get();
-  } while (isspace(c));
-  bool upper_open = false;
-  if (c == ')')
-    upper_open = true;
-  else if (c != ']') {
-    is.unget();
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+inline bool
+Grid::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_above(e)");
+}
 
-  // Buld interval.
-  bool lower_boundary_infinity = false;
-  bool upper_boundary_infinity = false;
-  switch (lower_r) {
-  case V_EQ:
-  case V_GE:
-    break;
-  case V_GT:
-    lower_open = true;
-    break;
-  case V_GT_MINUS_INFINITY:
-    lower_open = true;
-  case V_EQ_MINUS_INFINITY:
-    lower_boundary_infinity = true;
-    break;
-  case V_EQ_PLUS_INFINITY:
-  case V_LT_PLUS_INFINITY:
-    if (upper_r == V_EQ_PLUS_INFINITY || upper_r == V_LT_PLUS_INFINITY)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  default:
-    PPL_ASSERT(false);
-  }
-  switch (upper_r) {
-  case V_EQ:
-  case V_LE:
-    break;
-  case V_LT:
-    upper_open = true;
-    break;
-  case V_GT_MINUS_INFINITY:
-    upper_open = true;
-  case V_EQ_MINUS_INFINITY:
-    if (lower_r == V_EQ_MINUS_INFINITY || lower_r == V_GT_MINUS_INFINITY)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  case V_EQ_PLUS_INFINITY:
-  case V_LT_PLUS_INFINITY:
-    upper_boundary_infinity = true;
-    break;
-  default:
-    PPL_ASSERT(false);
-  }
+inline bool
+Grid::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_below(e)");
+}
+
+inline bool
+Grid::maximize(const Linear_Expression& expr,
+	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const {
+  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum);
+}
+
+inline bool
+Grid::maximize(const Linear_Expression& expr,
+	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+	       Generator& point) const {
+  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum, &point);
+}
 
-  if (!lower_boundary_infinity
-      && !upper_boundary_infinity
-      && (lower_bound > upper_bound
-	  || (lower_open && lower_bound == upper_bound)))
-    x.assign(EMPTY);
-  else {
-    if (lower_boundary_infinity)
-      set_minus_infinity(LOWER, x.lower(), x.info(), lower_open);
-    else
-      assign(LOWER, x.lower(), x.info(),
-             LOWER, lower_bound, SCALAR_INFO, lower_open);
-    if (upper_boundary_infinity)
-      set_plus_infinity(UPPER, x.upper(), x.info(), upper_open);
-    else
-      assign(UPPER, x.upper(), x.info(),
-             UPPER, upper_bound, SCALAR_INFO, upper_open);
-  }
-  return is;
+inline bool
+Grid::minimize(const Linear_Expression& expr,
+	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const {
+  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum);
 }
 
-template <typename Boundary, typename Info>
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, bool>::type
-Interval<Boundary, Info>::simplify_using_context_assign(const From& y) {
-  // FIXME: the following code wrongly assumes that intervals are closed
-  // and have no restrictions. It must be generalized.
-  if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
-    lower_extend();
-    return false;
-  }
-  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
-    upper_extend();
-    return false;
-  }
-  // Weakening the upper bound.
-  if (!upper_is_boundary_infinity() && !y.upper_is_boundary_infinity()
-      && y.upper() <= upper())
-    upper_extend();
-  // Weakening the lower bound.
-  if (!lower_is_boundary_infinity() && !y.lower_is_boundary_infinity()
-      && y.lower() >= lower())
-    lower_extend();
-  return true;
+inline bool
+Grid::minimize(const Linear_Expression& expr,
+	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+	       Generator& point) const {
+  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum, &point);
 }
 
-template <typename Boundary, typename Info>
-template <typename From>
-typename Enable_If<Is_Interval<From>::value, void>::type
-Interval<Boundary, Info>::empty_intersection_assign(const From&) {
-  // FIXME: write me.
-  assign(EMPTY);
+inline void
+Grid::normalize_divisors(Grid_Generator_System& sys) {
+  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
+  divisor = 1;
+  normalize_divisors(sys, divisor);
+}
+
+/*! \relates Grid */
+inline bool
+operator!=(const Grid& x, const Grid& y) {
+  return !(x == y);
+}
+
+inline bool
+Grid::strictly_contains(const Grid& y) const {
+  const Grid& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
+
+inline void
+Grid::topological_closure_assign() {
+}
+
+/*! \relates Grid */
+inline void
+swap(Grid& x, Grid& y) {
+  x.m_swap(y);
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 846. */
+/* Automatically generated from PPL source file ../src/Grid.templates.hh line 1. */
+/* Grid class implementation: inline functions.
+*/
+
 
-/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 30. */
+/* Automatically generated from PPL source file ../src/Grid.templates.hh line 30. */
 #include <algorithm>
 #include <deque>
 
 namespace Parma_Polyhedra_Library {
 
 template <typename Interval>
-Polyhedron::Polyhedron(Topology topol,
-                       const Box<Interval>& box,
-                       Complexity_Class)
-  : con_sys(topol),
-    gen_sys(topol),
-    sat_c(),
-    sat_g() {
-  // Initialize the space dimension as indicated by the box.
-  space_dim = box.space_dimension();
+Grid::Grid(const Box<Interval>& box, Complexity_Class)
+  : con_sys(),
+    gen_sys() {
+  space_dim = check_space_dimension_overflow(box.space_dimension(),
+                                             max_space_dimension(),
+                                             "PPL::Grid::",
+                                             "Grid(box, from_bounding_box)",
+                                             "the space dimension of box "
+                                             "exceeds the maximum allowed "
+                                             "space dimension");
 
-  // Check for emptiness.
   if (box.is_empty()) {
+    // Empty grid.
     set_empty();
+    PPL_ASSERT(OK());
     return;
   }
 
-  // Zero-dim universe polyhedron.
-  if (space_dim == 0) {
+  if (space_dim == 0)
     set_zero_dim_univ();
-    return;
-  }
-
-  // Insert a dummy constraint of the highest dimension to avoid the
-  // need of resizing the matrix of constraints later;
-  // this constraint will be removed at the end.
-  con_sys.insert(Variable(space_dim - 1) >= 0);
+  else {
+    // Initialize the space dimension as indicated by the box.
+    con_sys.set_space_dimension(space_dim);
+    gen_sys.set_space_dimension(space_dim);
+    // Add congruences and generators according to `box'.
+    PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
+    gen_sys.insert(grid_point());
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      const Variable v_k = Variable(k);
+      bool closed = false;
+      // TODO: Consider producing the system(s) in minimized form.
+      if (box.has_lower_bound(v_k, l_n, l_d, closed)) {
+	if (box.has_upper_bound(v_k, u_n, u_d, closed))
+	  if (l_n * u_d == u_n * l_d) {
+	    // A point interval sets dimension k of every point to a
+	    // single value.
+	    con_sys.insert(l_d * v_k == l_n);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
+            // This is declared here because it may be invalidated
+            // by the call to gen_sys.insert() at the end of the loop.
+            Grid_Generator& point = gen_sys.sys.rows[0];
 
-  if (topol == NECESSARILY_CLOSED) {
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      // See if we have a valid lower bound.
-      bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
-      // See if we have a valid upper bound.
-      bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
+	    // Scale the point to use as divisor the lcm of the
+	    // divisors of the existing point and the lower bound.
+	    const Coefficient& point_divisor = point.divisor();
+	    gcd_assign(u_n, l_d, point_divisor);
+	    // `u_n' now holds the gcd.
+	    exact_div_assign(u_n, point_divisor, u_n);
+	    if (l_d < 0)
+	      neg_assign(u_n);
+	    // l_d * u_n == abs(l_d * (point_divisor / gcd(l_d, point_divisor)))
+	    point.scale_to_divisor(l_d * u_n);
+	    // Set dimension k of the point to the lower bound.
+	    if (l_d < 0)
+	      neg_assign(u_n);
+	    // point[k + 1] = l_n * point_divisor / gcd(l_d, point_divisor)
+	    point.expr.set(Variable(k), l_n * u_n);
+            PPL_ASSERT(point.OK());
 
-      // See if we have an implicit equality constraint.
-      if (l_bounded && u_bounded
-          && l_closed && u_closed
-          && l_n == u_n && l_d == u_d) {
-        // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else {
-        if (l_bounded)
-          // Add the constraint `l_d*v_k >= l_n'.
-          con_sys.insert(l_d * Variable(k) >= l_n);
-        if (u_bounded)
-          // Add the constraint `u_d*v_k <= u_n'.
-          con_sys.insert(u_d * Variable(k) <= u_n);
-      }
-    }
-  }
-  else {
-    // topol == NOT_NECESSARILY_CLOSED
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      // See if we have a valid lower bound.
-      bool l_closed = false;
-      bool l_bounded = box.get_lower_bound(k, l_closed, l_n, l_d);
-      // See if we have a valid upper bound.
-      bool u_closed = false;
-      bool u_bounded = box.get_upper_bound(k, u_closed, u_n, u_d);
+            PPL_ASSERT(gen_sys.sys.OK());
 
-      // See if we have an implicit equality constraint.
-      if (l_bounded && u_bounded
-          && l_closed && u_closed
-          && l_n == u_n && l_d == u_d) {
-        // Add the constraint `l_d*v_k == l_n'.
-        con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else {
-        // Check if a lower bound constraint is required.
-        if (l_bounded) {
-          if (l_closed)
-            // Add the constraint `l_d*v_k >= l_n'.
-            con_sys.insert(l_d * Variable(k) >= l_n);
-          else
-            // Add the constraint `l_d*v_k > l_n'.
-            con_sys.insert(l_d * Variable(k) > l_n);
-        }
-        // Check if an upper bound constraint is required.
-        if (u_bounded) {
-          if (u_closed)
-            // Add the constraint `u_d*v_k <= u_n'.
-            con_sys.insert(u_d * Variable(k) <= u_n);
-          else
-            // Add the constraint `u_d*v_k < u_n'.
-            con_sys.insert(u_d * Variable(k) < u_n);
-        }
+	    continue;
+	  }
       }
+      // A universe interval allows any value in dimension k.
+      gen_sys.insert(grid_line(v_k));
     }
+    set_congruences_up_to_date();
+    set_generators_up_to_date();
   }
 
-  // Adding the low-level constraints.
-  con_sys.add_low_level_constraints();
-  // Now removing the dummy constraint inserted before.
-  dimension_type n_rows = con_sys.num_rows() - 1;
-  con_sys[0].swap(con_sys[n_rows]);
-  con_sys.set_sorted(false);
-  // NOTE: here there are no pending constraints.
-  con_sys.set_index_first_pending_row(n_rows);
-  con_sys.erase_to_end(n_rows);
-
-  // Constraints are up-to-date.
-  set_constraints_up_to_date();
-  PPL_ASSERT_HEAVY(OK());
+  PPL_ASSERT(OK());
 }
 
 template <typename Partial_Function>
 void
-Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
+Grid::map_space_dimensions(const Partial_Function& pfunc) {
   if (space_dim == 0)
     return;
 
   if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the polyhedron becomes zero_dimensional.
+    // All dimensions vanish: the grid becomes zero_dimensional.
     if (marked_empty()
-	|| (has_pending_constraints()
-	    && !remove_pending_to_obtain_generators())
 	|| (!generators_are_up_to_date() && !update_generators())) {
-      // Removing all dimensions from the empty polyhedron.
+      // Removing all dimensions from the empty grid.
       space_dim = 0;
-      con_sys.clear();
+      set_empty();
     }
     else
-      // Removing all dimensions from a non-empty polyhedron.
+      // Removing all dimensions from a non-empty grid.
       set_zero_dim_univ();
 
-    PPL_ASSERT_HEAVY(OK());
+    PPL_ASSERT(OK());
     return;
   }
 
-  const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
+  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
   if (new_space_dimension == space_dim) {
     // The partial function `pfunc' is indeed total and thus specifies
@@ -37116,18 +58545,8 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
     // maximum efficiency, we will simply permute the columns of the
     // constraint system and/or the generator system.
 
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
+    std::vector<Variable> cycle;
+    cycle.reserve(space_dim);
 
     // Used to mark elements as soon as they are inserted in a cycle.
     std::deque<bool> visited(space_dim);
@@ -37143,48 +58562,48 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
 	    throw_invalid_argument("map_space_dimensions(pfunc)",
 				   " pfunc is inconsistent");
 	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
+	    break;
 
-	  cycles.push_back(j+1);
+	  cycle.push_back(Variable(j));
 	  // Go along the cycle.
 	  j = k;
 	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+	// End of cycle.
 
-    // Permute all that is up-to-date.  Notice that the contents of
-    // the saturation matrices is unaffected by the permutation of
-    // columns: they remain valid, if they were so.
-    if (constraints_are_up_to_date())
-      con_sys.permute_columns(cycles);
+        // Avoid calling clear_*_minimized() if cycle.size() is less than 2,
+        // to improve efficiency.
+        if (cycle.size() >= 2) {
+          // Permute all that is up-to-date.
+          if (congruences_are_up_to_date()) {
+            con_sys.permute_space_dimensions(cycle);
+            clear_congruences_minimized();
+          }
 
-    if (generators_are_up_to_date())
-      gen_sys.permute_columns(cycles);
+          if (generators_are_up_to_date()) {
+            gen_sys.permute_space_dimensions(cycle);
+            clear_generators_minimized();
+          }
+        }
 
-    PPL_ASSERT_HEAVY(OK());
+        cycle.clear();
+      }
+    }
+
+    PPL_ASSERT(OK());
     return;
   }
 
   // If control gets here, then `pfunc' is not a permutation and some
   // dimensions must be projected away.
 
-  // If there are pending constraints, using `generators()' we process them.
-  const Generator_System& old_gensys = generators();
+  const Grid_Generator_System& old_gensys = grid_generators();
 
   if (old_gensys.has_no_rows()) {
-    // The polyhedron is empty.
-    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
-    std::swap(*this, new_polyhedron);
-    PPL_ASSERT_HEAVY(OK());
+    // The grid is empty.
+    Grid new_grid(new_space_dimension, EMPTY);
+    m_swap(new_grid);
+    PPL_ASSERT(OK());
     return;
   }
 
@@ -37196,37084 +58615,40808 @@ Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
       pfunc_maps[j] = pfunc_j;
   }
 
-  Generator_System new_gensys;
-  for (Generator_System::const_iterator i = old_gensys.begin(),
-	 old_gensys_end = old_gensys.end(); i != old_gensys_end; ++i) {
-    const Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
+  Grid_Generator_System new_gensys;
+  // Set sortedness, for the assertion met via gs::insert.
+  new_gensys.set_sorted(false);
+  // Get the divisor of the first point.
+  Grid_Generator_System::const_iterator i;
+  Grid_Generator_System::const_iterator old_gensys_end = old_gensys.end();
+  for (i = old_gensys.begin(); i != old_gensys_end; ++i)
+    if (i->is_point())
+      break;
+  PPL_ASSERT(i != old_gensys_end);
+  const Coefficient& system_divisor = i->divisor();
+  for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
+    const Grid_Generator& old_g = *i;
+    const Grid_Generator::Expression& old_g_e = old_g.expression();
+    Linear_Expression expr;
+    expr.set_space_dimension(new_space_dimension);
     bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
+    for (Grid_Generator::Expression::const_iterator j = old_g_e.begin(),
+          j_end = old_g_e.end(); j != j_end; ++j) {
+      const dimension_type mapped_id = pfunc_maps[j.variable().id()];
+      if (mapped_id != not_a_dimension()) {
+        add_mul_assign(expr, *j, Variable(mapped_id));
 	all_zeroes = false;
       }
     }
     switch (old_g.type()) {
-    case Generator::LINE:
+    case Grid_Generator::LINE:
       if (!all_zeroes)
-	new_gensys.insert(line(e));
+	new_gensys.insert(grid_line(expr));
       break;
-    case Generator::RAY:
+    case Grid_Generator::PARAMETER:
       if (!all_zeroes)
-	new_gensys.insert(ray(e));
-      break;
-    case Generator::POINT:
-      // A point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(point(e, old_g.divisor()));
+	new_gensys.insert(parameter(expr, system_divisor));
       break;
-    case Generator::CLOSURE_POINT:
-      // A closure point in the origin has all zero homogeneous coefficients.
-      new_gensys.insert(closure_point(e, old_g.divisor()));
+    case Grid_Generator::POINT:
+      new_gensys.insert(grid_point(expr, old_g.divisor()));
       break;
     }
   }
-  Polyhedron new_polyhedron(topology(), new_gensys);
-  std::swap(*this, new_polyhedron);
-  PPL_ASSERT_HEAVY(OK(true));
+
+  Grid new_grid(new_gensys);
+  m_swap(new_grid);
+
+  PPL_ASSERT(OK(true));
+}
+
+// Needed for converting the congruence or grid_generator system
+// to "strong minimal form".
+template <typename M>
+void
+Grid::reduce_reduced(Swapping_Vector<typename M::row_type>& rows,
+		     const dimension_type dim,
+		     const dimension_type pivot_index,
+		     const dimension_type start,
+		     const dimension_type end,
+		     const Dimension_Kinds& sys_dim_kinds,
+		     const bool generators) {
+  // TODO: Remove this.
+  typedef typename M::row_type M_row_type;
+
+  const M_row_type& pivot = rows[pivot_index];
+  const Coefficient& pivot_dim = pivot.expr.get(dim);
+
+  if (pivot_dim == 0)
+    return;
+
+  PPL_DIRTY_TEMP_COEFFICIENT(pivot_dim_half);
+  pivot_dim_half = (pivot_dim + 1) / 2;
+  const Dimension_Kind row_kind = sys_dim_kinds[dim];
+  const bool row_is_line_or_equality
+    = (row_kind == (generators ? LINE : EQUALITY));
+
+  PPL_DIRTY_TEMP_COEFFICIENT(num_rows_to_subtract);
+  PPL_DIRTY_TEMP_COEFFICIENT(row_dim_remainder);
+  for (dimension_type kinds_index = dim,
+         row_index = pivot_index; row_index-- > 0; ) {
+    if (generators) {
+      --kinds_index;
+      // Move over any virtual rows.
+      while (sys_dim_kinds[kinds_index] == GEN_VIRTUAL)
+        --kinds_index;
+    }
+    else {
+      ++kinds_index;
+      // Move over any virtual rows.
+      while (sys_dim_kinds[kinds_index] == CON_VIRTUAL)
+        ++kinds_index;
+    }
+
+    // row_kind CONGRUENCE is included as PARAMETER
+    if (row_is_line_or_equality
+	|| (row_kind == PARAMETER
+	    && sys_dim_kinds[kinds_index] == PARAMETER)) {
+      M_row_type& row = rows[row_index];
+
+      const Coefficient& row_dim = row.expr.get(dim);
+      // num_rows_to_subtract may be positive or negative.
+      num_rows_to_subtract = row_dim / pivot_dim;
+
+      // Ensure that after subtracting num_rows_to_subtract * r_dim
+      // from row_dim, -pivot_dim_half < row_dim <= pivot_dim_half.
+      // E.g., if pivot[dim] = 9, then after this reduction
+      // -5 < row_dim <= 5.
+      row_dim_remainder = row_dim % pivot_dim;
+      if (row_dim_remainder < 0) {
+	if (row_dim_remainder <= -pivot_dim_half)
+	  --num_rows_to_subtract;
+      }
+      else if (row_dim_remainder > 0 && row_dim_remainder > pivot_dim_half)
+	++num_rows_to_subtract;
+
+      // Subtract num_rows_to_subtract copies of pivot from row i.  Only the
+      // entries from dim need to be subtracted, as the preceding
+      // entries are all zero.
+      // If num_rows_to_subtract is negative, these copies of pivot are
+      // added to row i.
+      if (num_rows_to_subtract != 0)
+        row.expr.linear_combine(pivot.expr,
+                                Coefficient_one(), -num_rows_to_subtract,
+                                start, end + 1);
+    }
+  }
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2627. */
+/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2664. */
+
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1. */
+/* BD_Shape class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 1. */
+/* DB_Matrix class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/DB_Matrix.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class DB_Matrix;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 1. */
+/* DB_Row class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/DB_Row.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class DB_Row_Impl_Handler;
+
+template <typename T>
+class DB_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 1. */
+/* Ptr_Iterator class declaration.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+template <typename P>
+class Ptr_Iterator;
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 28. */
+#include <iterator>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+template<typename P, typename Q>
+bool operator==(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+bool operator!=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+bool operator<(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+bool operator<=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+bool operator>(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+bool operator>=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P, typename Q>
+typename Ptr_Iterator<P>::difference_type
+operator-(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y);
+
+template<typename P>
+Ptr_Iterator<P> operator+(typename Ptr_Iterator<P>::difference_type m,
+			  const Ptr_Iterator<P>& y);
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A class to define STL const and non-const iterators from pointer types.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename P>
+class Parma_Polyhedra_Library::Implementation::Ptr_Iterator
+  : public std::iterator<typename std::iterator_traits<P>::iterator_category,
+			 typename std::iterator_traits<P>::value_type,
+			 typename std::iterator_traits<P>::difference_type,
+			 typename std::iterator_traits<P>::pointer,
+			 typename std::iterator_traits<P>::reference> {
+public:
+  typedef typename std::iterator_traits<P>::difference_type difference_type;
+  typedef typename std::iterator_traits<P>::reference reference;
+  typedef typename std::iterator_traits<P>::pointer pointer;
+
+  //! Default constructor: no guarantees.
+  Ptr_Iterator();
+
+  //! Construct an iterator pointing at \p q.
+  explicit Ptr_Iterator(const P& q);
+
+  /*! \brief
+    Copy constructor allowing the construction of a const_iterator
+    from a non-const iterator.
+  */
+  template<typename Q>
+  Ptr_Iterator(const Ptr_Iterator<Q>& q);
+
+  //! Dereference operator.
+  reference operator*() const;
+
+  //! Indirect member selector.
+  pointer operator->() const;
+
+  //! Subscript operator.
+  reference operator[](const difference_type m) const;
+
+  //! Prefix increment operator.
+  Ptr_Iterator& operator++();
+
+  //! Postfix increment operator.
+  Ptr_Iterator operator++(int);
+
+  //! Prefix decrement operator
+  Ptr_Iterator& operator--();
+
+  //! Postfix decrement operator.
+  Ptr_Iterator operator--(int);
+
+  //! Assignment-increment operator.
+  Ptr_Iterator& operator+=(const difference_type m);
+
+  //! Assignment-decrement operator.
+  Ptr_Iterator& operator-=(const difference_type m);
+
+  //! Returns the difference between \p *this and \p y.
+  difference_type operator-(const Ptr_Iterator& y) const;
+
+  //! Returns the sum of \p *this and \p m.
+  Ptr_Iterator operator+(const difference_type m) const;
+
+  //! Returns the difference of \p *this and \p m.
+  Ptr_Iterator operator-(const difference_type m) const;
+
+private:
+  //! The base pointer implementing the iterator.
+  P p;
+
+  //! Returns the hidden pointer.
+  const P& base() const;
+
+  template <typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator==(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template <typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator!=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template<typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator<(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template<typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator<=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template<typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator>(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template<typename Q, typename R>
+  friend bool Parma_Polyhedra_Library::Implementation::
+  operator>=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  template<typename Q, typename R>
+  friend typename Ptr_Iterator<Q>::difference_type
+  Parma_Polyhedra_Library::Implementation::
+  operator-(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+
+  friend Ptr_Iterator<P>
+  Parma_Polyhedra_Library::Implementation::
+  operator+<>(typename Ptr_Iterator<P>::difference_type m,
+	      const Ptr_Iterator<P>& y);
+};
+
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 1. */
+/* Ptr_Iterator class implementation: inline functions.
+*/
+
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 28. */
+#include <algorithm>
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 29. */
 
 namespace Parma_Polyhedra_Library {
 
-inline
-H79_Certificate::H79_Certificate()
-  : affine_dim(0), num_constraints(0) {
-  // This is the certificate for a zero-dim universe polyhedron.
-}
+namespace Implementation {
 
-inline
-H79_Certificate::H79_Certificate(const H79_Certificate& y)
-  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
+template <typename P>
+inline const P&
+Ptr_Iterator<P>::base() const {
+  return p;
 }
 
+template <typename P>
 inline
-H79_Certificate::~H79_Certificate() {
+Ptr_Iterator<P>::Ptr_Iterator()
+  : p(P()) {
 }
 
-inline bool
-H79_Certificate::Compare::operator()(const H79_Certificate& x,
-				     const H79_Certificate& y) const {
-  // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
-  return x.compare(y) == 1;
+template <typename P>
+inline
+Ptr_Iterator<P>::Ptr_Iterator(const P& q)
+  : p(q) {
 }
 
-template <typename PH>
+template <typename P>
+template <typename Q>
 inline
-H79_Certificate::H79_Certificate(const PH& ph)
-  : affine_dim(0), num_constraints(0) {
-  H79_Certificate cert(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
-  affine_dim = cert.affine_dim;
-  num_constraints = cert.num_constraints;
+Ptr_Iterator<P>::Ptr_Iterator(const Ptr_Iterator<Q>& q)
+  : p(q.base()) {
 }
 
-template <typename PH>
-inline int
-H79_Certificate::compare(const PH& ph) const {
-  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
+template <typename P>
+inline typename Ptr_Iterator<P>::reference
+Ptr_Iterator<P>::operator*() const {
+  return *p;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 97. */
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 1. */
-/* Grid_Certificate class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 28. */
-
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 32. */
-#include <vector>
-
-//! The convergence certificate for the Grid widening operator.
-/*! \ingroup PPL_CXX_interface
-  Convergence certificates are used to instantiate the BHZ03 framework
-  so as to define widening operators for the finite powerset domain.
-
-  \note
-  Each convergence certificate has to be used together with a
-  compatible widening operator. In particular, Grid_Certificate can
-  certify the Grid widening.
-*/
-class Parma_Polyhedra_Library::Grid_Certificate {
-public:
-  //! Default constructor.
-  Grid_Certificate();
+template <typename P>
+inline typename Ptr_Iterator<P>::pointer
+Ptr_Iterator<P>::operator->() const {
+  return p;
+}
 
-  //! Constructor: computes the certificate for \p gr.
-  Grid_Certificate(const Grid& gr);
+template <typename P>
+inline typename Ptr_Iterator<P>::reference
+Ptr_Iterator<P>::operator[](const difference_type m) const {
+  return p[m];
+}
 
-  //! Copy constructor.
-  Grid_Certificate(const Grid_Certificate& y);
+template <typename P>
+inline Ptr_Iterator<P>&
+Ptr_Iterator<P>::operator++() {
+  ++p;
+  return *this;
+}
 
-  //! Destructor.
-  ~Grid_Certificate();
+template <typename P>
+inline Ptr_Iterator<P>
+Ptr_Iterator<P>::operator++(int) {
+  return Ptr_Iterator(p++);
+}
 
-  //! The comparison function for certificates.
-  /*!
-    \return
-    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
-    is smaller than, equal to, or greater than \p y, respectively.
-  */
-  int compare(const Grid_Certificate& y) const;
+template <typename P>
+inline Ptr_Iterator<P>&
+Ptr_Iterator<P>::operator--() {
+  --p;
+  return *this;
+}
 
-  //! Compares \p *this with the certificate for grid \p gr.
-  int compare(const Grid& gr) const;
+template <typename P>
+inline Ptr_Iterator<P>
+Ptr_Iterator<P>::operator--(int) {
+  return Ptr_Iterator(p--);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the certificate for grid
-    \p gr is strictly smaller than \p *this.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool is_stabilizing(const Grid& gr) const;
 
-  //! A total ordering on Grid certificates.
-  /*!
-    This binary predicate defines a total ordering on Grid certificates
-    which is used when storing information about sets of grids.
-  */
-  struct Compare {
-    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
-    bool operator()(const Grid_Certificate& x,
-		    const Grid_Certificate& y) const;
-  };
+template <typename P>
+inline Ptr_Iterator<P>&
+Ptr_Iterator<P>::operator+=(const difference_type m) {
+  p += m;
+  return *this;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Check if gathered information is meaningful.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
+template <typename P>
+inline Ptr_Iterator<P>&
+Ptr_Iterator<P>::operator-=(const difference_type m) {
+  p -= m;
+  return *this;
+}
 
-private:
-  //! Number of a equalities in a minimized congruence system for the
-  //! grid.
-  dimension_type num_equalities;
-  //! Number of a proper congruences in a minimized congruence system
-  //! for the grid.
-  dimension_type num_proper_congruences;
-};
+template <typename P>
+inline typename Ptr_Iterator<P>::difference_type
+Ptr_Iterator<P>::operator-(const Ptr_Iterator& y) const {
+  return p - y.p;
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.inlines.hh line 1. */
-/* Grid_Certificate class implementation: inline functions.
-*/
+template <typename P>
+inline Ptr_Iterator<P>
+Ptr_Iterator<P>::operator+(const difference_type m) const {
+  return Ptr_Iterator(p + m);
+}
 
+template <typename P>
+inline Ptr_Iterator<P>
+Ptr_Iterator<P>::operator-(const difference_type m) const {
+  return Ptr_Iterator(p - m);
+}
 
-namespace Parma_Polyhedra_Library {
+template<typename P, typename Q>
+inline bool
+operator==(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() == y.base();
+}
 
-inline
-Grid_Certificate::Grid_Certificate()
-  : num_equalities(0), num_proper_congruences(0) {
-  // This is the certificate for a zero-dim universe grid.
-  PPL_ASSERT(OK());
+template<typename P, typename Q>
+inline bool
+operator!=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() != y.base();
 }
 
-inline
-Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
-  : num_equalities(y.num_equalities),
-    num_proper_congruences(y.num_proper_congruences) {
+template<typename P, typename Q>
+inline bool
+operator<(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() < y.base();
 }
 
-inline
-Grid_Certificate::~Grid_Certificate() {
+template<typename P, typename Q>
+inline bool
+operator<=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() <= y.base();
 }
 
+template<typename P, typename Q>
 inline bool
-Grid_Certificate::is_stabilizing(const Grid& gr) const {
-  return compare(gr) == 1;
+operator>(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() > y.base();
 }
 
+template<typename P, typename Q>
 inline bool
-Grid_Certificate::Compare::operator()(const Grid_Certificate& x,
-				      const Grid_Certificate& y) const {
-  // For an efficient evaluation of the multiset ordering based
-  // on this lgo relation, we want larger elements to come first.
-  return x.compare(y) == 1;
+operator>=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() >= y.base();
 }
 
-} // namespace Parma_Polyhedra_Library
+template<typename P, typename Q>
+inline typename Ptr_Iterator<P>::difference_type
+operator-(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
+  return x.base() - y.base();
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 103. */
+template<typename P>
+inline Ptr_Iterator<P>
+operator+(typename Ptr_Iterator<P>::difference_type m,
+	  const Ptr_Iterator<P>& y) {
+  return Ptr_Iterator<P>(m + y.base());
+}
 
-/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 1. */
-/* Partial_Function class declaration.
-*/
+} // namespace Implementation
 
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Partial_Function.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 171. */
 
+/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 30. */
+#include <cstddef>
+#include <vector>
 
-namespace Parma_Polyhedra_Library {
+#ifndef PPL_DB_ROW_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  When PPL_DB_ROW_EXTRA_DEBUG evaluates to <CODE>true</CODE>, each instance
+  of the class DB_Row carries its own capacity; this enables extra
+  consistency checks to be performed.
+  \ingroup PPL_CXX_interface
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define PPL_DB_ROW_EXTRA_DEBUG 1
+#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#define PPL_DB_ROW_EXTRA_DEBUG 0
+#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#endif // !defined(PPL_DB_ROW_EXTRA_DEBUG)
 
-class Partial_Function;
 
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The handler of the actual DB_Row implementation.
+/*! \ingroup PPL_CXX_interface
+  Exception-safety is the only responsibility of this class: it has
+  to ensure that its \p impl member is correctly deallocated.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Parma_Polyhedra_Library::DB_Row_Impl_Handler {
+public:
+  //! Default constructor.
+  DB_Row_Impl_Handler();
 
-/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 29. */
-#include <vector>
-#ifndef NDEBUG
-#include <set>
-#endif
-#include <iosfwd>
+  //! Destructor.
+  ~DB_Row_Impl_Handler();
 
-namespace Parma_Polyhedra_Library {
+  class Impl;
 
-class Partial_Function {
-public:
-  /*! \brief
-    Default constructor: builds a function with empty codomain
-    (i.e., always undefined).
-  */
-  Partial_Function();
+  //! A pointer to the actual implementation.
+  Impl* impl;
 
-  /*! \brief
-    Returns \c true if and only if the represented partial function
-    has an empty codomain (i.e., it is always undefined).
-  */
-  bool has_empty_codomain() const;
+#if PPL_DB_ROW_EXTRA_DEBUG
+  //! The capacity of \p impl (only available during debugging).
+  dimension_type capacity_;
+#endif // PPL_DB_ROW_EXTRA_DEBUG
 
-  /*! \brief
-    If the codomain is \e not empty, returns the maximum value in it.
+private:
+  //! Private and unimplemented: copy construction is not allowed.
+  DB_Row_Impl_Handler(const DB_Row_Impl_Handler&);
 
-    \exception std::runtime_error
-    Thrown if called when \p *this has an empty codomain.
-  */
-  dimension_type max_in_codomain() const;
+  //! Private and unimplemented: copy assignment is not allowed.
+  DB_Row_Impl_Handler& operator=(const DB_Row_Impl_Handler&);
+};
 
-  /*! \brief
-    If \p *this maps \p i to a value \c k, assigns \c k to \p j and
-    returns \c true; otherwise, \p j is unchanged and \c false is returned.
-  */
-  bool maps(dimension_type i, dimension_type& j) const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The base class for the single rows of matrices.
+/*! \ingroup PPL_CXX_interface
+  The class template DB_Row<T> allows for the efficient representation of
+  the single rows of a DB_Matrix. It contains elements of type T stored
+  as a vector. The class T is a family of extended numbers that
+  must provide representation for
+  \f$ -\infty \f$, \f$0\f$,\f$ +\infty \f$ (and, consequently for <EM>nan</EM>,
+  <EM>not a number</EM>, since this arises as the ``result'' of
+  undefined sums like \f$ +\infty + (-\infty) \f$).
 
-  void print(std::ostream& s) const;
+  The class T must provide the following methods:
 
-  /*! \brief
-    Modifies \p *this so that \p i is mapped to \p j.
+  \code
+    T()
+  \endcode
+  is the default constructor: no assumption is made on the particular
+  object constructed, provided <CODE>T().OK()</CODE> gives <CODE>true</CODE>
+  (see below).
+  \code
+    ~T()
+  \endcode
+  is the destructor.
+  \code
+    bool is_nan() const
+  \endcode
+  returns <CODE>true</CODE> if and only \p *this represents
+  the  <EM>not a number</EM> value.
+  \code
+    bool OK() const
+  \endcode
+  returns <CODE>true</CODE> if and only if \p *this satisfies all
+  its invariants.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Parma_Polyhedra_Library::DB_Row : private DB_Row_Impl_Handler<T> {
+public:
+  //! Pre-constructs a row: construction must be completed by construct().
+  DB_Row();
 
-    \exception std::runtime_error
-    Thrown if \p *this is already mapping \p j.
+  //! \name Post-constructors.
+  //@{
+  //! Constructs properly a default-constructed element.
+  /*!
+    Builds a row with size \p sz and minimum capacity.
   */
-  void insert(dimension_type i, dimension_type j);
+  void construct(dimension_type sz);
 
-private:
-  std::vector<dimension_type> vec;
-  dimension_type max;
-#ifndef NDEBUG
-  std::set<dimension_type> codomain;
-#endif
-}; // class Partial_Function
+  //! Constructs properly a default-constructed element.
+  /*!
+    \param sz
+    The size of the row that will be constructed.
 
-} // namespace Parma_Polyhedra_Library
+    \param capacity
+    The minimum capacity of the row that will be constructed.
 
-/* Automatically generated from PPL source file ../src/Partial_Function.inlines.hh line 1. */
-/* Partial_Function class implementation: inline functions.
-*/
+    The row that we are constructing has a minimum capacity of
+    (i.e., it can contain at least) \p elements, \p sz of which
+    will be constructed now.
+  */
+  void construct(dimension_type sz, dimension_type capacity);
 
+  //! Constructs properly a conservative approximation of \p y.
+  /*!
+    \param y
+    A row containing the elements whose upward approximations will
+    be used to properly construct \p *this.
 
-#include <stdexcept>
-#include <cassert>
+    \param capacity
+    The capacity of the constructed row.
 
-namespace Parma_Polyhedra_Library {
+    It is assumed that \p capacity is greater than or equal to the
+    size of \p y.
+  */
+  template <typename U>
+  void construct_upward_approximation(const DB_Row<U>& y,
+				      dimension_type capacity);
 
-inline
-Partial_Function::Partial_Function()
-  : max(0) {
-}
+  //@}
 
-inline bool
-Partial_Function::has_empty_codomain() const {
-  PPL_ASSERT(vec.empty() == codomain.empty());
-  return vec.empty();
-}
+  //! Tight constructor: resizing will require reallocation.
+  DB_Row(dimension_type sz);
 
-inline dimension_type
-Partial_Function::max_in_codomain() const {
-  if (has_empty_codomain())
-    throw std::runtime_error("Partial_Function::max_in_codomain() called"
-			     " when has_empty_codomain()");
-  PPL_ASSERT(codomain.begin() != codomain.end()
-             && max == *codomain.rbegin());
-  return max;
-}
+  //! Sizing constructor with capacity.
+  DB_Row(dimension_type sz, dimension_type capacity);
 
-inline void
-Partial_Function::insert(dimension_type i, dimension_type j) {
-#ifndef NDEBUG
-  // The partial function has to be an injective map.
-  std::pair<std::set<dimension_type>::iterator, bool> s = codomain.insert(j);
-  PPL_ASSERT(s.second);
-#endif // #ifndef NDEBUG
+  //! Ordinary copy constructor.
+  DB_Row(const DB_Row& y);
 
-  // Expand `vec' if needed.
-  const dimension_type sz = vec.size();
-  if (i >= sz)
-    vec.insert(vec.end(), i - sz + 1, not_a_dimension());
+  //! Copy constructor with specified capacity.
+  /*!
+    It is assumed that \p capacity is greater than or equal to \p y size.
+  */
+  DB_Row(const DB_Row& y, dimension_type capacity);
 
-  // We cannot remap the same index to another one.
-  PPL_ASSERT(i < vec.size() && vec[i] == not_a_dimension());
-  vec[i] = j;
+  //! Copy constructor with specified size and capacity.
+  /*!
+    It is assumed that \p sz is greater than or equal to the size of \p y
+    and, of course, that \p sz is less than or equal to \p capacity.
+    Any new position is initialized to \f$+\infty\f$.
+  */
+  DB_Row(const DB_Row& y, dimension_type sz, dimension_type capacity);
 
-  // Maybe update `max'.
-  if (j > max)
-    max = j;
-  PPL_ASSERT(codomain.begin() != codomain.end()
-             && max == *codomain.rbegin());
-}
+  //! Destructor.
+  ~DB_Row();
 
-inline bool
-Partial_Function::maps(dimension_type i, dimension_type& j) const {
-  if (i >= vec.size())
-    return false;
-  dimension_type vec_i = vec[i];
-  if (vec_i == not_a_dimension())
-    return false;
-  j = vec_i;
-  return true;
-}
+  //! Assignment operator.
+  DB_Row& operator=(const DB_Row& y);
 
-} // namespace Parma_Polyhedra_Library
+  //! Swaps \p *this with \p y.
+  void m_swap(DB_Row& y);
 
-/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 86. */
+  //! Assigns the implementation of \p y to \p *this.
+  void assign(DB_Row& y);
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 1. */
-/* Widening_Function class declaration.
-*/
+  /*! \brief
+    Allocates memory for a default constructed DB_Row object,
+    allowing for \p capacity coefficients at most.
 
+    It is assumed that no allocation has been performed before
+    (otherwise, a memory leak will occur).
+    After execution, the size of the DB_Row object is zero.
+  */
+  void allocate(dimension_type capacity);
 
-/* Automatically generated from PPL source file ../src/Widening_Function.types.hh line 1. */
+  //! Expands the row to size \p new_size.
+  /*!
+    Adds new positions to the implementation of the row
+    obtaining a new row with size \p new_size.
+    It is assumed that \p new_size is between the current size
+    and capacity of the row. The new positions are initialized
+    to \f$+\infty\f$.
+  */
+  void expand_within_capacity(dimension_type new_size);
+
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    Destroys elements of the row implementation
+    from position \p new_size to the end.
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
 
+  //! Returns the size() of the largest possible DB_Row.
+  static dimension_type max_size();
 
-namespace Parma_Polyhedra_Library {
+  //! Gives the number of coefficients currently in use.
+  dimension_type size() const;
 
-template <typename PSET>
-class Widening_Function;
+  //! \name Subscript operators.
+  //@{
+  //! Returns a reference to the element of the row indexed by \p k.
+  T& operator[](dimension_type k);
 
-template <typename PSET, typename CSYS>
-class Limited_Widening_Function;
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  const T& operator[](dimension_type k) const;
+  //@}
 
-} // namespace Parma_Polyhedra_Library
+  //! A (non const) random access iterator to access the row's elements.
+  typedef Implementation::Ptr_Iterator<T*> iterator;
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 29. */
+  //! A const random access iterator to access the row's elements.
+  typedef Implementation::Ptr_Iterator<const T*> const_iterator;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Wraps a widening method into a function object.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PSET>
-class Parma_Polyhedra_Library::Widening_Function {
-public:
-  //! The (parametric) type of a widening method.
-  typedef void (PSET::* Widening_Method)(const PSET&, unsigned*);
+  /*! \brief
+    Returns the const iterator pointing to the first element,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const iterator.
+  */
+  iterator begin();
 
-  //! Explicit unary constructor.
-  explicit
-  Widening_Function(Widening_Method wm);
+  //! Returns the past-the-end iterator.
+  iterator end();
 
-  //! Function-application operator.
-  /*!
-    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
-    method stored at construction time.
+  /*! \brief
+    Returns the const iterator pointing to the first element,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const iterator.
   */
-  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
-
-private:
-  //! The widening method.
-  Widening_Method w_method;
-};
+  const_iterator begin() const;
 
+  //! Returns the past-the-end const iterator.
+  const_iterator end() const;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Wraps a limited widening method into a function object.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PSET, typename CSYS>
-class Parma_Polyhedra_Library::Limited_Widening_Function {
-public:
-  //! The (parametric) type of a limited widening method.
-  typedef void (PSET::* Limited_Widening_Method)(const PSET&,
-                                                 const CSYS&,
-                                                 unsigned*);
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Constructor.
-  /*!
-    \param lwm
-    The limited widening method.
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
 
-    \param cs
-    The constraint system limiting the widening.
+  /*! \brief
+    Returns the total size in bytes of the memory occupied by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
   */
-  Limited_Widening_Function(Limited_Widening_Method lwm,
-			    const CSYS& cs);
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
 
-  //! Function-application operator.
-  /*!
-    Computes <CODE>(x.*lwm)(y, cs, tp)</CODE>, where \p lwm and \p cs
-    are the limited widening method and the constraint system stored
-    at construction time.
+  /*! \brief
+    Returns the size in bytes of the memory managed by \p *this,
+    provided the capacity of \p *this is given by \p capacity.
   */
-  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
+  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK(dimension_type row_size, dimension_type row_capacity) const;
 
 private:
-  //! The limited widening method.
-  Limited_Widening_Method lw_method;
-  //! A constant reference to the constraint system limiting the widening.
-  const CSYS& limiting_cs;
+  template <typename U> friend class Parma_Polyhedra_Library::DB_Row;
+
+  //! Exception-safe copy construction mechanism for coefficients.
+  void copy_construct_coefficients(const DB_Row& y);
+
+#if PPL_DB_ROW_EXTRA_DEBUG
+  //! Returns the capacity of the row (only available during debugging).
+  dimension_type capacity() const;
+#endif // PPL_DB_ROW_EXTRA_DEBUG
 };
 
 namespace Parma_Polyhedra_Library {
 
-//! Wraps a widening method into a function object.
-/*!
-  \relates Pointset_Powerset
-
-  \param wm
-  The widening method.
-*/
-template <typename PSET>
-Widening_Function<PSET>
-widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*));
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates DB_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(DB_Row<T>& x, DB_Row<T>& y);
 
-//! Wraps a limited widening method into a function object.
-/*!
-  \relates Pointset_Powerset
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps objects referred by \p x and \p y.
+/*! \relates DB_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void iter_swap(typename std::vector<DB_Row<T> >::iterator x,
+	       typename std::vector<DB_Row<T> >::iterator y);
 
-  \param lwm
-  The limited widening method.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! \name Classical comparison operators.
+//@{
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/*! \relates DB_Row */
+template <typename T>
+bool operator==(const DB_Row<T>& x, const DB_Row<T>& y);
 
-  \param cs
-  The constraint system limiting the widening.
-*/
-template <typename PSET, typename CSYS>
-Limited_Widening_Function<PSET, CSYS>
-widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
-	      const CSYS& cs);
+/*! \relates DB_Row */
+template <typename T>
+bool operator!=(const DB_Row<T>& x, const DB_Row<T>& y);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//@}
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 1. */
-/* Widening_Function class implementation: inline functions.
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The real implementation of a DB_Row object.
+/*! \ingroup PPL_CXX_interface
+  The class DB_Row_Impl_Handler::Impl provides the implementation of
+  DB_Row objects and, in particular, of the corresponding memory
+  allocation functions.
 */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Parma_Polyhedra_Library::DB_Row_Impl_Handler<T>::Impl {
+public:
+  //! \name Custom allocator and deallocator.
+  //@{
 
+  /*! \brief
+    Allocates a chunk of memory able to contain \p capacity T objects
+    beyond the specified \p fixed_size and returns a pointer to the new
+    allocated memory.
+  */
+  static void* operator new(size_t fixed_size, dimension_type capacity);
 
-/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 28. */
+  //! Uses the standard delete operator to free the memory \p p points to.
+  static void operator delete(void* p);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Placement version: uses the standard operator delete to free
+    the memory \p p points to.
+  */
+  static void operator delete(void* p, dimension_type capacity);
+  //@}
 
-template <typename PSET>
-Widening_Function<PSET>::Widening_Function(Widening_Method wm)
-  : w_method(wm) {
-}
+  //! Default constructor.
+  Impl();
 
-template <typename PSET>
-inline void
-Widening_Function<PSET>::
-operator()(PSET& x, const PSET& y, unsigned* tp) const {
-  (x.*w_method)(y, tp);
-}
+  //! Destructor.
+  /*!
+    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
+    to delete all the row elements.
+  */
+  ~Impl();
 
-template <typename PSET, typename CSYS>
-Limited_Widening_Function<PSET, CSYS>::
-Limited_Widening_Function(Limited_Widening_Method lwm,
-			  const CSYS& cs)
-  : lw_method(lwm), limiting_cs(cs) {
-}
+  //! Expands the row to size \p new_size.
+  /*!
+    It is assumed that \p new_size is between the current size and capacity.
+  */
+  void expand_within_capacity(dimension_type new_size);
 
-template <typename PSET, typename CSYS>
-inline void
-Limited_Widening_Function<PSET, CSYS>::
-operator()(PSET& x, const PSET& y, unsigned* tp) const {
-  (x.*lw_method)(y, limiting_cs, tp);
-}
+  //! Shrinks the row by erasing elements at the end.
+  /*!
+    It is assumed that \p new_size is not greater than the current size.
+  */
+  void shrink(dimension_type new_size);
 
-/*! \relates Pointset_Powerset */
-template <typename PSET>
-inline Widening_Function<PSET>
-widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*)) {
-  return Widening_Function<PSET>(wm);
-}
+  //! Exception-safe copy construction mechanism for coefficients.
+  void copy_construct_coefficients(const Impl& y);
 
-/*! \relates Pointset_Powerset */
-template <typename PSET, typename CSYS>
-inline Limited_Widening_Function<PSET, CSYS>
-widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
-	      const CSYS& cs) {
-  return Limited_Widening_Function<PSET, CSYS>(lwm, cs);
-}
+  /*! \brief
+    Exception-safe upward approximation construction mechanism
+    for coefficients.
+  */
+  template <typename U>
+  void construct_upward_approximation(const U& y);
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns the size() of the largest possible Impl.
+  static dimension_type max_size();
 
+  //! \name Size accessors.
+  //@{
+  //! Returns the actual size of \p this.
+  dimension_type size() const;
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 126. */
+  //! Sets to \p new_sz the actual size of \p *this.
+  void set_size(dimension_type new_sz);
 
-/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 1. */
-/* Definition of functions yielding maximal space dimensions.
-*/
+  //! Increments the size of \p *this by 1.
+  void bump_size();
+  //@}
 
+  //! \name Subscript operators.
+  //@{
+  //! Returns a reference to the element of \p *this indexed by \p k.
+  T& operator[](dimension_type k);
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 1. */
-/* C_Polyhedron class declaration.
-*/
+  //! Returns a constant reference to the element of \p *this indexed by \p k.
+  const T& operator[](dimension_type k) const;
+  //@}
 
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.types.hh line 1. */
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
 
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-namespace Parma_Polyhedra_Library {
+private:
+  friend class DB_Row<T>;
 
-class C_Polyhedron;
+  //! The number of coefficients in the row.
+  dimension_type size_;
 
-} // namespace Parma_Polyhedra_Library
+  //! The vector of coefficients.
+  T vec_[
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+         0
+#else
+         1
+#endif
+  ];
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.types.hh line 1. */
+  //! Private and unimplemented: copy construction is not allowed.
+  Impl(const Impl& y);
 
+  //! Private and unimplemented: assignment is not allowed.
+  Impl& operator=(const Impl&);
 
-namespace Parma_Polyhedra_Library {
+  //! Exception-safe copy construction mechanism.
+  void copy_construct(const Impl& y);
+};
 
-class NNC_Polyhedron;
+/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 1. */
+/* DB_Row class implementation: inline functions.
+*/
 
-} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 33. */
+/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 29. */
+#include <cstddef>
+#include <limits>
+#include <algorithm>
+#include <iostream>
 
-//! A closed convex polyhedron.
-/*! \ingroup PPL_CXX_interface
-    An object of the class C_Polyhedron represents a
-    <EM>topologically closed</EM> convex polyhedron
-    in the vector space \f$\Rset^n\f$.
+namespace Parma_Polyhedra_Library {
 
-    When building a closed polyhedron starting from
-    a system of constraints, an exception is thrown if the system
-    contains a <EM>strict inequality</EM> constraint.
-    Similarly, an exception is thrown when building a closed polyhedron
-    starting from a system of generators containing a <EM>closure point</EM>.
+template <typename T>
+inline void*
+DB_Row_Impl_Handler<T>::Impl::operator new(const size_t fixed_size,
+					   const dimension_type capacity) {
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  return ::operator new(fixed_size + capacity*sizeof(T));
+#else
+  PPL_ASSERT(capacity >= 1);
+  return ::operator new(fixed_size + (capacity-1)*sizeof(T));
+#endif
+}
 
-    \note
-    Such an exception will be obtained even if the system of
-    constraints (resp., generators) actually defines
-    a topologically closed subset of the vector space, i.e.,
-    even if all the strict inequalities (resp., closure points)
-    in the system happen to be redundant with respect to the
-    system obtained by removing all the strict inequality constraints
-    (resp., all the closure points).
-    In contrast, when building a closed polyhedron starting from
-    an object of the class NNC_Polyhedron,
-    the precise topological closure test will be performed.
-*/
+template <typename T>
+inline void
+DB_Row_Impl_Handler<T>::Impl::operator delete(void* p) {
+  ::operator delete(p);
+}
 
-class Parma_Polyhedra_Library::C_Polyhedron : public Polyhedron {
-public:
-  //! Builds either the universe or the empty C polyhedron.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the C polyhedron;
+template <typename T>
+inline void
+DB_Row_Impl_Handler<T>::Impl::operator delete(void* p, dimension_type) {
+  ::operator delete(p);
+}
 
-    \param kind
-    Specifies whether a universe or an empty C polyhedron should be built.
+template <typename T>
+inline memory_size_type
+DB_Row_Impl_Handler<T>::Impl
+::total_memory_in_bytes(dimension_type capacity) const {
+  return
+    sizeof(*this)
+    + capacity*sizeof(T)
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+    - 1*sizeof(T)
+#endif
+    + external_memory_in_bytes();
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+template <typename T>
+inline memory_size_type
+DB_Row_Impl_Handler<T>::Impl::total_memory_in_bytes() const {
+  // In general, this is a lower bound, as the capacity of *this
+  // may be strictly greater than `size_'
+  return total_memory_in_bytes(size_);
+}
 
-    Both parameters are optional:
-    by default, a 0-dimension space universe C polyhedron is built.
-  */
-  explicit C_Polyhedron(dimension_type num_dimensions = 0,
-			Degenerate_Element kind = UNIVERSE);
+template <typename T>
+inline dimension_type
+DB_Row_Impl_Handler<T>::Impl::max_size() {
+  return std::numeric_limits<size_t>::max() / sizeof(T);
+}
 
-  //! Builds a C polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename T>
+inline dimension_type
+DB_Row_Impl_Handler<T>::Impl::size() const {
+  return size_;
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.
+template <typename T>
+inline void
+DB_Row_Impl_Handler<T>::Impl::set_size(const dimension_type new_sz) {
+  size_ = new_sz;
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints contains strict inequalities.
-  */
-  explicit C_Polyhedron(const Constraint_System& cs);
+template <typename T>
+inline void
+DB_Row_Impl_Handler<T>::Impl::bump_size() {
+  ++size_;
+}
 
-  //! Builds a C polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+template <typename T>
+inline
+DB_Row_Impl_Handler<T>::Impl::Impl()
+  : size_(0) {
+}
 
-    \param cs
-    The system of constraints defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename T>
+inline
+DB_Row_Impl_Handler<T>::Impl::~Impl() {
+  shrink(0);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+template <typename T>
+inline
+DB_Row_Impl_Handler<T>::DB_Row_Impl_Handler()
+  : impl(0) {
+#if PPL_DB_ROW_EXTRA_DEBUG
+  capacity_ = 0;
+#endif
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of constraints contains strict inequalities.
-  */
-  C_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
+template <typename T>
+inline
+DB_Row_Impl_Handler<T>::~DB_Row_Impl_Handler() {
+  delete impl;
+}
 
-  //! Builds a C polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename T>
+inline T&
+DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) {
+  PPL_ASSERT(k < size());
+  return vec_[k];
+}
 
-    \param gs
-    The system of generators defining the polyhedron.
+template <typename T>
+inline const T&
+DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < size());
+  return vec_[k];
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points,
-    or if it contains closure points.
-  */
-  explicit C_Polyhedron(const Generator_System& gs);
+template <typename T>
+inline dimension_type
+DB_Row<T>::max_size() {
+  return DB_Row_Impl_Handler<T>::Impl::max_size();
+}
 
-  //! Builds a C polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename T>
+inline dimension_type
+DB_Row<T>::size() const {
+  return this->impl->size();
+}
 
-    \param gs
-    The system of generators defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+#if PPL_DB_ROW_EXTRA_DEBUG
+template <typename T>
+inline dimension_type
+DB_Row<T>::capacity() const {
+  return this->capacity_;
+}
+#endif // PPL_DB_ROW_EXTRA_DEBUG
+
+template <typename T>
+inline
+DB_Row<T>::DB_Row()
+  : DB_Row_Impl_Handler<T>() {
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+template <typename T>
+inline void
+DB_Row<T>::allocate(
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+	       const
+#endif
+	       dimension_type capacity) {
+  DB_Row<T>& x = *this;
+  PPL_ASSERT(capacity <= max_size());
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (capacity == 0)
+    ++capacity;
+#endif
+  PPL_ASSERT(x.impl == 0);
+  x.impl = new (capacity) typename DB_Row_Impl_Handler<T>::Impl();
+#if PPL_DB_ROW_EXTRA_DEBUG
+  PPL_ASSERT(x.capacity_ == 0);
+  x.capacity_ = capacity;
+#endif
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points,
-    or if it contains closure points.
-  */
-  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
+template <typename T>
+inline void
+DB_Row<T>::expand_within_capacity(const dimension_type new_size) {
+  DB_Row<T>& x = *this;
+  PPL_ASSERT(x.impl);
+#if PPL_DB_ROW_EXTRA_DEBUG
+  PPL_ASSERT(new_size <= x.capacity_);
+#endif
+  x.impl->expand_within_capacity(new_size);
+}
 
-  //! Builds a C polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
+template <typename T>
+inline void
+DB_Row<T>::copy_construct_coefficients(const DB_Row& y) {
+  DB_Row<T>& x = *this;
+  PPL_ASSERT(x.impl && y.impl);
+#if PPL_DB_ROW_EXTRA_DEBUG
+  PPL_ASSERT(y.size() <= x.capacity_);
+#endif
+  x.impl->copy_construct_coefficients(*(y.impl));
+}
 
-    \param cgs
-    The system of congruences defining the polyhedron.
-  */
-  explicit C_Polyhedron(const Congruence_System& cgs);
+template <typename T>
+template <typename U>
+inline void
+DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
+					  const dimension_type capacity) {
+  DB_Row<T>& x = *this;
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
+  allocate(capacity);
+  PPL_ASSERT(y.impl);
+  x.impl->construct_upward_approximation(*(y.impl));
+}
 
-  //! Builds a C polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
+template <typename T>
+inline void
+DB_Row<T>::construct(const dimension_type sz,
+		     const dimension_type capacity) {
+  PPL_ASSERT(sz <= capacity && capacity <= max_size());
+  allocate(capacity);
+  expand_within_capacity(sz);
+}
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+template <typename T>
+inline void
+DB_Row<T>::construct(const dimension_type sz) {
+  construct(sz, sz);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+template <typename T>
+inline
+DB_Row<T>::DB_Row(const dimension_type sz,
+		  const dimension_type capacity)
+  : DB_Row_Impl_Handler<T>() {
+  construct(sz, capacity);
+}
 
-  /*! \brief
-    Builds a C polyhedron representing the topological closure
-    of the NNC polyhedron \p y.
+template <typename T>
+inline
+DB_Row<T>::DB_Row(const dimension_type sz) {
+  construct(sz);
+}
 
-    \param y
-    The NNC polyhedron to be used;
+template <typename T>
+inline
+DB_Row<T>::DB_Row(const DB_Row& y)
+  : DB_Row_Impl_Handler<T>() {
+  if (y.impl != 0) {
+    allocate(compute_capacity(y.size(), max_size()));
+    copy_construct_coefficients(y);
+  }
+}
 
-    \param complexity
-    This argument is ignored.
-  */
-  explicit C_Polyhedron(const NNC_Polyhedron& y,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline
+DB_Row<T>::DB_Row(const DB_Row& y,
+		  const	dimension_type capacity)
+  : DB_Row_Impl_Handler<T>() {
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
+  allocate(capacity);
+  copy_construct_coefficients(y);
+}
 
-  //! Builds a C polyhedron out of a box.
-  /*!
-    The polyhedron inherits the space dimension of the box
-    and is the most precise that includes the box.
-    The algorithm used has polynomial complexity.
+template <typename T>
+inline
+DB_Row<T>::DB_Row(const DB_Row& y,
+		  const dimension_type sz,
+		  const	dimension_type capacity)
+  : DB_Row_Impl_Handler<T>() {
+  PPL_ASSERT(y.impl);
+  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  allocate(capacity);
+  copy_construct_coefficients(y);
+  expand_within_capacity(sz);
+}
 
-    \param box
-    The box representing the polyhedron to be approximated;
+template <typename T>
+inline
+DB_Row<T>::~DB_Row() {
+}
 
-    \param complexity
-    This argument is ignored.
+template <typename T>
+inline void
+DB_Row<T>::shrink(const dimension_type new_size) {
+  DB_Row<T>& x = *this;
+  PPL_ASSERT(x.impl);
+  x.impl->shrink(new_size);
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
-  */
-  template <typename Interval>
-  explicit C_Polyhedron(const Box<Interval>& box,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline void
+DB_Row<T>::m_swap(DB_Row& y) {
+  using std::swap;
+  DB_Row<T>& x = *this;
+  swap(x.impl, y.impl);
+#if PPL_DB_ROW_EXTRA_DEBUG
+  swap(x.capacity_, y.capacity_);
+#endif
+}
 
-  //! Builds a C polyhedron out of a BD shape.
-  /*!
-    The polyhedron inherits the space dimension of the BDS and is
-    the most precise that includes the BDS.
+template <typename T>
+inline void
+DB_Row<T>::assign(DB_Row& y) {
+  DB_Row<T>& x = *this;
+  x.impl = y.impl;
+#if PPL_DB_ROW_EXTRA_DEBUG
+  x.capacity_ = y.capacity_;
+#endif
+}
 
-    \param bd
-    The BDS used to build the polyhedron.
+template <typename T>
+inline DB_Row<T>&
+DB_Row<T>::operator=(const DB_Row& y) {
+  DB_Row tmp(y);
+  m_swap(tmp);
+  return *this;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit C_Polyhedron(const BD_Shape<U>& bd,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline T&
+DB_Row<T>::operator[](const dimension_type k) {
+  DB_Row<T>& x = *this;
+  return (*x.impl)[k];
+}
 
-  //! Builds a C polyhedron out of an octagonal shape.
-  /*!
-    The polyhedron inherits the space dimension of the octagonal shape
-    and is the most precise that includes the octagonal shape.
+template <typename T>
+inline const T&
+DB_Row<T>::operator[](const dimension_type k) const {
+  const DB_Row<T>& x = *this;
+  return (*x.impl)[k];
+}
 
-    \param os
-    The octagonal shape used to build the polyhedron.
+template <typename T>
+inline typename DB_Row<T>::iterator
+DB_Row<T>::begin() {
+  DB_Row<T>& x = *this;
+  return iterator(x.impl->vec_);
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  template <typename U>
-  explicit C_Polyhedron(const Octagonal_Shape<U>& os,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline typename DB_Row<T>::iterator
+DB_Row<T>::end() {
+  DB_Row<T>& x = *this;
+  return iterator(x.impl->vec_ + x.impl->size_);
+}
 
-  //! Builds a C polyhedron out of a grid.
-  /*!
-    The polyhedron inherits the space dimension of the grid
-    and is the most precise that includes the grid.
+template <typename T>
+inline typename DB_Row<T>::const_iterator
+DB_Row<T>::begin() const {
+  const DB_Row<T>& x = *this;
+  return const_iterator(x.impl->vec_);
+}
 
-    \param grid
-    The grid used to build the polyhedron.
+template <typename T>
+inline typename DB_Row<T>::const_iterator
+DB_Row<T>::end() const {
+  const DB_Row<T>& x = *this;
+  return const_iterator(x.impl->vec_ + x.impl->size_);
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  explicit C_Polyhedron(const Grid& grid,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline memory_size_type
+DB_Row<T>::external_memory_in_bytes(dimension_type capacity) const {
+  const DB_Row<T>& x = *this;
+  return x.impl->total_memory_in_bytes(capacity);
+}
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  C_Polyhedron(const C_Polyhedron& y,
-               Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+inline memory_size_type
+DB_Row<T>::total_memory_in_bytes(dimension_type capacity) const {
+  return sizeof(*this) + external_memory_in_bytes(capacity);
+}
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  C_Polyhedron& operator=(const C_Polyhedron& y);
+template <typename T>
+inline memory_size_type
+DB_Row<T>::external_memory_in_bytes() const {
+  const DB_Row<T>& x = *this;
+#if PPL_DB_ROW_EXTRA_DEBUG
+  return x.impl->total_memory_in_bytes(x.capacity_);
+#else
+  return x.impl->total_memory_in_bytes();
+#endif
+}
 
-  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
-  C_Polyhedron& operator=(const NNC_Polyhedron& y);
+template <typename T>
+inline memory_size_type
+DB_Row<T>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Destructor.
-  ~C_Polyhedron();
+/*! \relates DB_Row */
+template <typename T>
+inline bool
+operator!=(const DB_Row<T>& x, const DB_Row<T>& y) {
+  return !(x == y);
+}
 
-  /*! \brief
-    If the poly-hull of \p *this and \p y is exact it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+/*! \relates DB_Row */
+template <typename T>
+inline void
+swap(DB_Row<T>& x, DB_Row<T>& y) {
+  x.m_swap(y);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
+/*! \relates DB_Row */
+template <typename T>
+inline void
+iter_swap(typename std::vector<DB_Row<T> >::iterator x,
+	  typename std::vector<DB_Row<T> >::iterator y) {
+  swap(*x, *y);
+}
 
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const C_Polyhedron& y);
-};
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.inlines.hh line 1. */
-/* C_Polyhedron class implementation: inline functions.
+/* Automatically generated from PPL source file ../src/DB_Row.templates.hh line 1. */
+/* DB_Row class implementation: non-inline template functions.
 */
 
 
-#include <algorithm>
-#include <stdexcept>
+/* Automatically generated from PPL source file ../src/DB_Row.templates.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
-inline
-C_Polyhedron::~C_Polyhedron() {
+template <typename T>
+template <typename U>
+void
+DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
+  const dimension_type y_size = y.size();
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  // Construct in direct order: will destroy in reverse order.
+  for (dimension_type i = 0; i < y_size; ++i) {
+    construct(vec_[i], y[i], ROUND_UP);
+    bump_size();
+  }
+#else // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (y_size > 0) {
+    assign_r(vec_[0], y[0], ROUND_UP);
+    bump_size();
+    // Construct in direct order: will destroy in reverse order.
+    for (dimension_type i = 1; i < y_size; ++i) {
+      construct(vec_[i], y[i], ROUND_UP);
+      bump_size();
+    }
+  }
+#endif // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 }
 
-inline
-C_Polyhedron::C_Polyhedron(dimension_type num_dimensions,
-			   Degenerate_Element kind)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
-	       kind) {
+template <typename T>
+void
+DB_Row_Impl_Handler<T>::
+Impl::expand_within_capacity(const dimension_type new_size) {
+  PPL_ASSERT(size() <= new_size && new_size <= max_size());
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (size() == 0 && new_size > 0) {
+    // vec_[0] is already constructed: we just need to assign +infinity.
+    assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    bump_size();
+  }
+#endif
+  // Construct in direct order: will destroy in reverse order.
+  for (dimension_type i = size(); i < new_size; ++i) {
+    new (&vec_[i]) T(PLUS_INFINITY, ROUND_NOT_NEEDED);
+    bump_size();
+  }
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const Constraint_System& cs)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
+template <typename T>
+void
+DB_Row_Impl_Handler<T>::Impl::shrink(dimension_type new_size) {
+  const dimension_type old_size = size();
+  PPL_ASSERT(new_size <= old_size);
+  // Since ~T() does not throw exceptions, nothing here does.
+  set_size(new_size);
+#if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  // Make sure we do not try to destroy vec_[0].
+  if (new_size == 0)
+    ++new_size;
+#endif
+  // We assume construction was done "forward".
+  // We thus perform destruction "backward".
+  for (dimension_type i = old_size; i-- > new_size; )
+    vec_[i].~T();
 }
 
-inline
-C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
-	       Recycle_Input()) {
+template <typename T>
+void
+DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
+  const dimension_type y_size = y.size();
+#if PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  // Construct in direct order: will destroy in reverse order.
+  for (dimension_type i = 0; i < y_size; ++i) {
+    new (&vec_[i]) T(y.vec_[i]);
+    bump_size();
+  }
+#else // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (y_size > 0) {
+    vec_[0] = y.vec_[0];
+    bump_size();
+    // Construct in direct order: will destroy in reverse order.
+    for (dimension_type i = 1; i < y_size; ++i) {
+      new (&vec_[i]) T(y.vec_[i]);
+      bump_size();
+    }
+  }
+#endif // PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const Generator_System& gs)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
+template <typename T>
+memory_size_type
+DB_Row_Impl_Handler<T>::Impl::external_memory_in_bytes() const {
+  memory_size_type n = 0;
+  for (dimension_type i = size(); i-- > 0; )
+    n += Parma_Polyhedra_Library::external_memory_in_bytes(vec_[i]);
+  return n;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
-	       Recycle_Input()) {
-}
+template <typename T>
+bool
+DB_Row<T>::OK(const dimension_type row_size,
+	      const dimension_type
+#if PPL_DB_ROW_EXTRA_DEBUG
+	      row_capacity
+#endif
+	      ) const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
 
-template <typename Interval>
-inline
-C_Polyhedron::C_Polyhedron(const Box<Interval>& box, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(box): ",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
-}
+  const DB_Row<T>& x = *this;
+  bool is_broken = false;
+
+#if PPL_DB_ROW_EXTRA_DEBUG
+# if !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (x.capacity_ == 0) {
+    cerr << "Illegal row capacity: is 0, should be at least 1"
+	 << endl;
+    is_broken = true;
+  }
+  else if (x.capacity_ == 1 && row_capacity == 0)
+    // This is fine.
+    ;
+  else
+# endif // !PPL_CXX_SUPPORTS_ZERO_LENGTH_ARRAYS
+  if (x.capacity_ != row_capacity) {
+    cerr << "DB_Row capacity mismatch: is " << x.capacity_
+	 << ", should be " << row_capacity << "."
+	 << endl;
+    is_broken = true;
+  }
+#endif // PPL_DB_ROW_EXTRA_DEBUG
+
+  if (x.size() != row_size) {
+#ifndef NDEBUG
+    cerr << "DB_Row size mismatch: is " << x.size()
+	 << ", should be " << row_size << "."
+	 << endl;
+#endif
+    is_broken = true;
+  }
+
+#if PPL_DB_ROW_EXTRA_DEBUG
+  if (x.capacity_ < x.size()) {
+#ifndef NDEBUG
+    cerr << "DB_Row is completely broken: capacity is " << x.capacity_
+	 << ", size is " << x.size() << "."
+	 << endl;
+#endif
+    is_broken = true;
+  }
+#endif // PPL_DB_ROW_EXTRA_DEBUG
+
+  for (dimension_type i = x.size(); i-- > 0; ) {
+    const T& element = x[i];
+    // Not OK is bad.
+    if (!element.OK()) {
+      is_broken = true;
+      break;
+    }
+    // In addition, nans should never occur.
+    if (is_not_a_number(element)) {
+#ifndef NDEBUG
+      cerr << "Not-a-number found in DB_Row."
+	   << endl;
+#endif
+      is_broken = true;
+      break;
+    }
+  }
 
-template <typename U>
-inline
-C_Polyhedron::C_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(bd.constraints());
+  return !is_broken;
 }
 
-template <typename U>
-inline
-C_Polyhedron::C_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
-  : Polyhedron(NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "C_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(os.constraints());
+/*! \relates DB_Row */
+template <typename T>
+bool
+operator==(const DB_Row<T>& x, const DB_Row<T>& y) {
+  if (x.size() != y.size())
+    return false;
+  for (dimension_type i = x.size(); i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
-}
+} // namespace Parma_Polyhedra_Library
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const C_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
-}
+/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 469. */
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  C_Polyhedron c_y(y);
-  swap(c_y);
-  return *this;
-}
+/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 32. */
+#include <vector>
+#include <cstddef>
+#include <iosfwd>
 
-inline bool
-C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
-}
+namespace Parma_Polyhedra_Library {
 
-} // namespace Parma_Polyhedra_Library
+namespace IO_Operators {
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 279. */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+std::ostream&
+operator<<(std::ostream& s, const DB_Matrix<T>& c);
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 1. */
-/* NNC_Polyhedron class declaration.
-*/
+} // namespace IO_Operators
 
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 31. */
 
-//! A not necessarily closed convex polyhedron.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The base class for the square matrices.
 /*! \ingroup PPL_CXX_interface
-    An object of the class NNC_Polyhedron represents a
-    <EM>not necessarily closed</EM> (NNC) convex polyhedron
-    in the vector space \f$\Rset^n\f$.
-
-    \note
-    Since NNC polyhedra are a generalization of closed polyhedra,
-    any object of the class C_Polyhedron can be (explicitly) converted
-    into an object of the class NNC_Polyhedron.
-    The reason for defining two different classes is that objects of
-    the class C_Polyhedron are characterized by a more efficient
-    implementation, requiring less time and memory resources.
+  The template class DB_Matrix<T> allows for the representation of
+  a square matrix of T objects.
+  Each DB_Matrix<T> object can be viewed as a multiset of DB_Row<T>.
 */
-class Parma_Polyhedra_Library::NNC_Polyhedron : public Polyhedron {
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Parma_Polyhedra_Library::DB_Matrix {
 public:
-  //! Builds either the universe or the empty NNC polyhedron.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the NNC polyhedron;
-
-    \param kind
-    Specifies whether a universe or an empty NNC polyhedron should be built.
-
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+  //! Returns the maximum number of rows a DB_Matrix can handle.
+  static dimension_type max_num_rows();
 
-    Both parameters are optional:
-    by default, a 0-dimension space universe NNC polyhedron is built.
-  */
-  explicit NNC_Polyhedron(dimension_type num_dimensions = 0,
-			  Degenerate_Element kind = UNIVERSE);
+  //! Returns the maximum number of columns a DB_Matrix can handle.
+  static dimension_type max_num_columns();
 
-  //! Builds an NNC polyhedron from a system of constraints.
+  //! Builds an empty matrix.
   /*!
-    The polyhedron inherits the space dimension of the constraint system.
-
-    \param cs
-    The system of constraints defining the polyhedron.
+    DB_Rows' size and capacity are initialized to \f$0\f$.
   */
-  explicit NNC_Polyhedron(const Constraint_System& cs);
-
-  //! Builds an NNC polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+  DB_Matrix();
 
-    \param cs
-    The system of constraints defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+  //! Builds a square matrix having the specified dimension.
+  explicit DB_Matrix(dimension_type n_rows);
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  NNC_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
+  //! Copy constructor.
+  DB_Matrix(const DB_Matrix& y);
 
-  //! Builds an NNC polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+  //! Constructs a conservative approximation of \p y.
+  template <typename U>
+  explicit DB_Matrix(const DB_Matrix<U>& y);
 
-    \param gs
-    The system of generators defining the polyhedron.
+  //! Destructor.
+  ~DB_Matrix();
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit NNC_Polyhedron(const Generator_System& gs);
+  //! Assignment operator.
+  DB_Matrix& operator=(const DB_Matrix& y);
 
-  //! Builds an NNC polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! A read-only iterator over the rows of the matrix.
+  /*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  class const_iterator {
+  private:
+    typedef typename std::vector<DB_Row<T> >::const_iterator Iter;
+    //! The const iterator on the rows' vector \p rows.
+    Iter i;
 
-    \param gs
-    The system of generators defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+  public:
+    typedef std::forward_iterator_tag iterator_category;
+    typedef typename std::iterator_traits<Iter>::value_type value_type;
+    typedef typename std::iterator_traits<Iter>::difference_type
+    difference_type;
+    typedef typename std::iterator_traits<Iter>::pointer pointer;
+    typedef typename std::iterator_traits<Iter>::reference reference;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+    //! Default constructor.
+    const_iterator();
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  NNC_Polyhedron(Generator_System& gs, Recycle_Input dummy);
+    /*! \brief
+      Builds a const iterator on the matrix starting from
+      an iterator \p b on the elements of the vector \p rows.
+    */
+    explicit const_iterator(const Iter& b);
 
-  //! Builds an NNC polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
+    //! Ordinary copy constructor.
+    const_iterator(const const_iterator& y);
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
-  */
-  explicit NNC_Polyhedron(const Congruence_System& cgs);
+    //! Assignment operator.
+    const_iterator& operator=(const const_iterator& y);
 
-  //! Builds an NNC polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
+    //! Dereference operator.
+    reference operator*() const;
 
-    \param cgs
-    The system of congruences defining the polyhedron.  It is not
-    declared <CODE>const</CODE> because its data-structures may be
-    recycled to build the polyhedron.
+    //! Indirect member selector.
+    pointer operator->() const;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-  //! Builds an NNC polyhedron from the C polyhedron \p y.
-  /*!
-    \param y
-    The C polyhedron to be used;
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-    \param complexity
-    This argument is ignored.
-  */
-  explicit NNC_Polyhedron(const C_Polyhedron& y,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-  //! Builds an NNC polyhedron out of a box.
-  /*!
-    The polyhedron inherits the space dimension of the box
-    and is the most precise that includes the box.
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are different.
+    */
+    bool operator!=(const const_iterator& y) const;
+  };
 
-    \param box
-    The box representing the polyhedron to be built;
+  /*! \brief
+    Returns the const_iterator pointing to the first row,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
+  */
+  const_iterator begin() const;
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum allowed
-    space dimension.
-  */
-  template <typename Interval>
-  explicit NNC_Polyhedron(const Box<Interval>& box,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+private:
+  template <typename U> friend class DB_Matrix;
 
-  //! Builds an NNC polyhedron out of a grid.
-  /*!
-    The polyhedron inherits the space dimension of the grid
-    and is the most precise that includes the grid.
+  //! The rows of the matrix.
+  std::vector<DB_Row<T> > rows;
 
-    \param grid
-    The grid used to build the polyhedron.
+  //! Size of the initialized part of each row.
+  dimension_type row_size;
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  /*! \brief
+    Capacity allocated for each row, i.e., number of
+    <CODE>long</CODE> objects that each row can contain.
   */
-  explicit NNC_Polyhedron(const Grid& grid,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+  dimension_type row_capacity;
 
-  //! Builds a NNC polyhedron out of a BD shape.
-  /*!
-    The polyhedron inherits the space dimension of the BD shape
-    and is the most precise that includes the BD shape.
+public:
+  //! Swaps \p *this with \p y.
+  void m_swap(DB_Matrix& y);
 
-    \param bd
-    The BD shape used to build the polyhedron.
+  //! Makes the matrix grow by adding more rows and more columns.
+  /*!
+    \param new_n_rows
+    The number of rows and columns of the resized matrix.
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+    A new matrix, with the specified dimension, is created.
+    The contents of the old matrix are copied in the upper, left-hand
+    corner of the new matrix, which is then assigned to \p *this.
   */
-  template <typename U>
-  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+  void grow(dimension_type new_n_rows);
 
-  //! Builds a NNC polyhedron out of an octagonal shape.
+  //! Resizes the matrix without worrying about the old contents.
   /*!
-    The polyhedron inherits the space dimension of the octagonal shape
-    and is the most precise that includes the octagonal shape.
-
-    \param os
-    The octagonal shape used to build the polyhedron.
+    \param new_n_rows
+    The number of rows and columns of the resized matrix.
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+    A new matrix, with the specified dimension, is created without copying
+    the content of the old matrix and assigned to \p *this.
   */
-  template <typename U>
-  explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+  void resize_no_copy(dimension_type new_n_rows);
 
-  //! Ordinary copy constructor.
-  NNC_Polyhedron(const NNC_Polyhedron& y,
-                 Complexity_Class complexity = ANY_COMPLEXITY);
+  //! Returns the number of rows in the matrix.
+  dimension_type num_rows() const;
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  NNC_Polyhedron& operator=(const NNC_Polyhedron& y);
+  //! \name Subscript operators.
+  //@{
+  //! Returns a reference to the \p k-th row of the matrix.
+  DB_Row<T>& operator[](dimension_type k);
 
-  //! Assigns to \p *this the C polyhedron \p y.
-  NNC_Polyhedron& operator=(const C_Polyhedron& y);
+  //! Returns a constant reference to the \p k-th row of the matrix.
+  const DB_Row<T>& operator[](dimension_type k) const;
+  //@}
 
-  //! Destructor.
-  ~NNC_Polyhedron();
+  PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
-    If the poly-hull of \p *this and \p y is exact it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
-
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
-};
+  bool ascii_load(std::istream& s);
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 1. */
-/* NNC_Polyhedron class implementation: inline functions.
-*/
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 28. */
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
 
 namespace Parma_Polyhedra_Library {
 
-inline
-NNC_Polyhedron::~NNC_Polyhedron() {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(dimension_type num_dimensions,
-			       Degenerate_Element kind)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       num_dimensions <= max_space_dimension()
-	       ? num_dimensions
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(n, k)",
-						 "n exceeds the maximum "
-						 "allowed space dimension"),
-		  num_dimensions),
-	       kind) {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Constraint_System& cs)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs)) {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(Constraint_System& cs, Recycle_Input)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       cs.space_dimension() <= max_space_dimension()
-	       ? cs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(cs, recycle)",
-						 "the space dimension of cs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), cs),
-	       Recycle_Input()) {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Generator_System& gs)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs)) {
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(Generator_System& gs, Recycle_Input)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       gs.space_dimension() <= max_space_dimension()
-	       ? gs
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(gs, recycle)",
-						 "the space dimension of gs "
-						 "exceeds the maximum allowed "
-						 "space dimension"), gs),
-	       Recycle_Input()) {
-}
-
-template <typename Interval>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>& box, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       box.space_dimension() <= max_space_dimension()
-	       ? box
-	       : (throw_space_dimension_overflow(NOT_NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(box)",
-						 "the space dimension of box "
-						 "exceeds the maximum allowed "
-						 "space dimension"), box)) {
-}
-
-template <typename U>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       bd.space_dimension() <= max_space_dimension()
-	       ? bd.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(bd): ",
-						 "the space dimension of bd "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(bd.constraints());
-}
-
-template <typename U>
-inline
-NNC_Polyhedron::NNC_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
-  : Polyhedron(NOT_NECESSARILY_CLOSED,
-	       os.space_dimension() <= max_space_dimension()
-	       ? os.space_dimension()
-	       : (throw_space_dimension_overflow(NECESSARILY_CLOSED,
-						 "NNC_Polyhedron(os): ",
-						 "the space dimension of os "
-						 "exceeds the maximum allowed "
-						 "space dimension"), 0),
-               UNIVERSE) {
-  add_constraints(os.constraints());
-}
-
-inline
-NNC_Polyhedron::NNC_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
-}
-
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
-}
-
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const C_Polyhedron& y) {
-  NNC_Polyhedron nnc_y(y);
-  swap(nnc_y);
-  return *this;
-}
-
-inline bool
-NNC_Polyhedron::upper_bound_assign_if_exact(const NNC_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 255. */
-
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1. */
-/* Grid class declaration.
-*/
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(DB_Matrix<T>& x, DB_Matrix<T>& y);
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool operator==(const DB_Matrix<T>& x, const DB_Matrix<T>& y);
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 47. */
-#include <vector>
-#include <iosfwd>
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool operator!=(const DB_Matrix<T>& x, const DB_Matrix<T>& y);
 
-namespace Parma_Polyhedra_Library {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates DB_Matrix
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-namespace IO_Operators {
+  The direction of the approximation is specified by \p dir.
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Grid
-  Writes a textual representation of \p gr on \p s: <CODE>false</CODE>
-  is written if \p gr is an empty grid; <CODE>true</CODE> is written
-  if \p gr is a universe grid; a minimized system of congruences
-  defining \p gr is written otherwise, all congruences in one row
-  separated by ", "s.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 */
-std::ostream&
-operator<<(std::ostream& s, const Grid& gr);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+				 const DB_Matrix<T>& x,
+				 const DB_Matrix<T>& y,
+				 Rounding_Dir dir,
+				 Temp& tmp0,
+				 Temp& tmp1,
+				 Temp& tmp2);
 
-} // namespace IO_Operators
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates DB_Matrix
+  If the Euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
-  grid.
+  The direction of the approximation is specified by \p dir.
 
-  \relates Grid
-  Note that \p x and \p y may be dimension-incompatible grids: in
-  those cases, the value <CODE>false</CODE> is returned.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 */
-bool operator==(const Grid& x, const Grid& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			       const DB_Matrix<T>& x,
+			       const DB_Matrix<T>& y,
+			       Rounding_Dir dir,
+			       Temp& tmp0,
+			       Temp& tmp1,
+			       Temp& tmp2);
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are different
-  grids.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates DB_Matrix
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-  \relates Grid
-  Note that \p x and \p y may be dimension-incompatible grids: in
-  those cases, the value <CODE>true</CODE> is returned.
+  The direction of the approximation is specified by \p dir.
+
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 */
-bool operator!=(const Grid& x, const Grid& y);
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const DB_Matrix<T>& x,
+                                const DB_Matrix<T>& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 1. */
+/* DB_Matrix class implementation: inline functions.
+*/
 
-//! A grid.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Grid represents a rational grid.
-
-  The domain of grids <EM>optimally supports</EM>:
-    - all (proper and non-proper) congruences;
-    - tautological and inconsistent constraints;
-    - linear equality constraints (i.e., non-proper congruences).
-
-  Depending on the method, using a constraint that is not optimally
-  supported by the domain will either raise an exception or
-  result in a (possibly non-optimal) upward approximation.
-
-  The domain of grids support a concept of double description similar
-  to the one developed for polyhedra: hence, a grid can be specified
-  as either a finite system of congruences or a finite system of
-  generators (see Section \ref sect_rational_grids) and it is always
-  possible to obtain either representation.
-  That is, if we know the system of congruences, we can obtain
-  from this a system of generators that define the same grid
-  and vice versa.
-  These systems can contain redundant members, or they can be in the
-  minimal form.
-
-  A key attribute of any grid is its space dimension (the dimension
-  \f$n \in \Nset\f$ of the enclosing vector space):
-
-  - all grids, the empty ones included, are endowed with a space
-    dimension;
-  - most operations working on a grid and another object (another
-    grid, a congruence, a generator, a set of variables, etc.) will
-    throw an exception if the grid and the object are not
-    dimension-compatible (see Section \ref Grid_Space_Dimensions);
-  - the only ways in which the space dimension of a grid can be
-    changed are with <EM>explicit</EM> calls to operators provided for
-    that purpose, and with standard copy, assignment and swap
-    operators.
 
-  Note that two different grids can be defined on the zero-dimension
-  space: the empty grid and the universe grid \f$R^0\f$.
+/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 31. */
+#include <iostream>
 
-  \par
-  In all the examples it is assumed that variables
-  <CODE>x</CODE> and <CODE>y</CODE> are defined (where they are
-  used) as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  \endcode
+namespace Parma_Polyhedra_Library {
 
-  \par Example 1
-  The following code builds a grid corresponding to the even integer
-  pairs in \f$\Rset^2\f$, given as a system of congruences:
-  \code
-  Congruence_System cgs;
-  cgs.insert((x %= 0) / 2);
-  cgs.insert((y %= 0) / 2);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying three of the points:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_point(0*x + 2*y));
-  gs.insert(grid_point(2*x + 0*y));
-  Grid gr(gs);
-  \endcode
+template <typename T>
+inline void
+DB_Matrix<T>::m_swap(DB_Matrix& y) {
+  using std::swap;
+  swap(rows, y.rows);
+  swap(row_size, y.row_size);
+  swap(row_capacity, y.row_capacity);
+}
 
-  \par Example 2
-  The following code builds a grid corresponding to a line in
-  \f$\Rset^2\f$ by adding a single congruence to the universe grid:
-  \code
-  Congruence_System cgs;
-  cgs.insert(x - y == 0);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying a point and a line:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(grid_line(x + y));
-  Grid gr(gs);
-  \endcode
+template <typename T>
+inline dimension_type
+DB_Matrix<T>::max_num_rows() {
+  return std::vector<DB_Row<T> >().max_size();
+}
 
-  \par Example 3
-  The following code builds a grid corresponding to the integral
-  points on the line \f$x = y\f$ in \f$\Rset^2\f$ constructed
-  by adding an equality and congruence to the universe grid:
-  \code
-  Congruence_System cgs;
-  cgs.insert(x - y == 0);
-  cgs.insert(x %= 0);
-  Grid gr(cgs);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from a system of generators specifying a point and a parameter:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(0*x + 0*y));
-  gs.insert(parameter(x + y));
-  Grid gr(gs);
-  \endcode
+template <typename T>
+inline dimension_type
+DB_Matrix<T>::max_num_columns() {
+  return DB_Row<T>::max_size();
+}
 
-  \par Example 4
-  The following code builds the grid corresponding to a plane by
-  creating the universe grid in \f$\Rset^2\f$:
-  \code
-  Grid gr(2);
-  \endcode
-  The following code builds the same grid as above, but starting
-  from the empty grid in \f$\Rset^2\f$ and inserting the appropriate
-  generators (a point, and two lines).
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_line(x));
-  gr.add_grid_generator(grid_line(y));
-  \endcode
-  Note that a generator system must contain a point when describing
-  a grid.  To ensure that this is always the case it is required
-  that the first generator inserted in an empty grid is a point
-  (otherwise, an exception is thrown).
+template <typename T>
+inline memory_size_type
+DB_Matrix<T>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  \par Example 5
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_embed</CODE>:
-  \code
-  Grid gr(1);
-  gr.add_congruence(x == 2);
-  gr.add_space_dimensions_and_embed(1);
-  \endcode
-  We build the universe grid in the 1-dimension space \f$\Rset\f$.
-  Then we add a single equality congruence,
-  thus obtaining the grid corresponding to the singleton set
-  \f$\{ 2 \} \sseq \Rset\f$.
-  After the last line of code, the resulting grid is
-  \f[
-  \bigl\{\,
-  (2, y)^\transpose \in \Rset^2
-  \bigm|
-  y \in \Rset
-  \,\bigr\}.
-  \f]
+template <typename T>
+inline
+DB_Matrix<T>::const_iterator::const_iterator()
+  : i(Iter()) {
+}
 
-  \par Example 6
-  The following code shows the use of the function
-  <CODE>add_space_dimensions_and_project</CODE>:
-  \code
-  Grid gr(1);
-  gr.add_congruence(x == 2);
-  gr.add_space_dimensions_and_project(1);
-  \endcode
-  The first two lines of code are the same as in Example 4 for
-  <CODE>add_space_dimensions_and_embed</CODE>.
-  After the last line of code, the resulting grid is
-  the singleton set
-  \f$\bigl\{ (2, 0)^\transpose \bigr\} \sseq \Rset^2\f$.
+template <typename T>
+inline
+DB_Matrix<T>::const_iterator::const_iterator(const Iter& b)
+  : i(b) {
+}
 
-  \par Example 7
-  The following code shows the use of the function
-  <CODE>affine_image</CODE>:
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_point(4*x + 0*y));
-  gr.add_grid_generator(grid_point(0*x + 2*y));
-  Linear_Expression expr = x + 3;
-  gr.affine_image(x, expr);
-  \endcode
-  In this example the starting grid is all the pairs of \f$x\f$ and
-  \f$y\f$ in \f$\Rset^2\f$ where \f$x\f$ is an integer multiple of 4
-  and \f$y\f$ is an integer multiple of 2.  The considered variable
-  is \f$x\f$ and the affine expression is \f$x+3\f$.  The resulting
-  grid is the given grid translated 3 integers to the right (all the
-  pairs \f$(x, y)\f$ where \f$x\f$ is -1 plus an integer multiple of 4
-  and \f$y\f$ is an integer multiple of 2).
-  Moreover, if the affine transformation for the same variable \p x
-  is instead \f$x+y\f$:
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting grid is every second integral point along the \f$x=y\f$
-  line, with this line of points repeated at every fourth integral value
-  along the \f$x\f$ axis.
-  Instead, if we do not use an invertible transformation for the
-  same variable; for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting grid is every second point along the \f$x=y\f$ line.
+template <typename T>
+inline
+DB_Matrix<T>::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i) {
+}
 
-  \par Example 8
-  The following code shows the use of the function
-  <CODE>affine_preimage</CODE>:
-  \code
-  Grid gr(2, EMPTY);
-  gr.add_grid_generator(grid_point(0*x + 0*y));
-  gr.add_grid_generator(grid_point(4*x + 0*y));
-  gr.add_grid_generator(grid_point(0*x + 2*y));
-  Linear_Expression expr = x + 3;
-  gr.affine_preimage(x, expr);
-  \endcode
-  In this example the starting grid, \p var and the affine
-  expression and the denominator are the same as in Example 6, while
-  the resulting grid is similar but translated 3 integers to the
-  left (all the pairs \f$(x, y)\f$
-  where \f$x\f$ is -3 plus an integer multiple of 4 and
-  \f$y\f$ is an integer multiple of 2)..
-  Moreover, if the affine transformation for \p x is \f$x+y\f$
-  \code
-  Linear_Expression expr = x + y;
-  \endcode
-  the resulting grid is a similar grid to the result in Example 6,
-  only the grid is slanted along \f$x=-y\f$.
-  Instead, if we do not use an invertible transformation for the same
-  variable \p x, for example, the affine expression \f$y\f$:
-  \code
-  Linear_Expression expr = y;
-  \endcode
-  the resulting grid is every fourth line parallel to the \f$x\f$
-  axis.
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator&
+DB_Matrix<T>::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  return *this;
+}
 
-  \par Example 9
-  For this example we also use the variables:
-  \code
-  Variable z(2);
-  Variable w(3);
-  \endcode
-  The following code shows the use of the function
-  <CODE>remove_space_dimensions</CODE>:
-  \code
-  Grid_Generator_System gs;
-  gs.insert(grid_point(3*x + y +0*z + 2*w));
-  Grid gr(gs);
-  Variables_Set vars;
-  vars.insert(y);
-  vars.insert(z);
-  gr.remove_space_dimensions(vars);
-  \endcode
-  The starting grid is the singleton set
-  \f$\bigl\{ (3, 1, 0, 2)^\transpose \bigr\} \sseq \Rset^4\f$, while
-  the resulting grid is
-  \f$\bigl\{ (3, 2)^\transpose \bigr\} \sseq \Rset^2\f$.
-  Be careful when removing space dimensions <EM>incrementally</EM>:
-  since dimensions are automatically renamed after each application
-  of the <CODE>remove_space_dimensions</CODE> operator, unexpected
-  results can be obtained.
-  For instance, by using the following code we would obtain
-  a different result:
-  \code
-  set<Variable> vars1;
-  vars1.insert(y);
-  gr.remove_space_dimensions(vars1);
-  set<Variable> vars2;
-  vars2.insert(z);
-  gr.remove_space_dimensions(vars2);
-  \endcode
-  In this case, the result is the grid
-  \f$\bigl\{(3, 0)^\transpose \bigr\} \sseq \Rset^2\f$:
-  when removing the set of dimensions \p vars2
-  we are actually removing variable \f$w\f$ of the original grid.
-  For the same reason, the operator \p remove_space_dimensions
-  is not idempotent: removing twice the same non-empty set of dimensions
-  is never the same as removing them just once.
-*/
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator::reference
+DB_Matrix<T>::const_iterator::operator*() const {
+  return *i;
+}
 
-class Parma_Polyhedra_Library::Grid {
-public:
-  //! The numeric type of coefficients.
-  typedef Coefficient coefficient_type;
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator::pointer
+DB_Matrix<T>::const_iterator::operator->() const {
+  return &*i;
+}
 
-  //! Returns the maximum space dimension all kinds of Grid can handle.
-  static dimension_type max_space_dimension();
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator&
+DB_Matrix<T>::const_iterator::operator++() {
+  ++i;
+  return *this;
+}
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle congruences.
-  */
-  static bool can_recycle_congruence_systems();
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator
+DB_Matrix<T>::const_iterator::operator++(int) {
+  return const_iterator(i++);
+}
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle constraints.
-  */
-  static bool can_recycle_constraint_systems();
+template <typename T>
+inline bool
+DB_Matrix<T>::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
+}
 
-  //! Builds a grid having the specified properties.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+template <typename T>
+inline bool
+DB_Matrix<T>::const_iterator::operator!=(const const_iterator& y) const {
+  return !operator==(y);
+}
 
-    \param kind
-    Specifies whether the universe or the empty grid has to be built.
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator
+DB_Matrix<T>::begin() const {
+  return const_iterator(rows.begin());
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(dimension_type num_dimensions = 0,
-		Degenerate_Element kind = UNIVERSE);
+template <typename T>
+inline typename DB_Matrix<T>::const_iterator
+DB_Matrix<T>::end() const {
+  return const_iterator(rows.end());
+}
 
-  //! Builds a grid, copying a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+template <typename T>
+inline
+DB_Matrix<T>::DB_Matrix()
+  : rows(),
+    row_size(0),
+    row_capacity(0) {
+}
 
-    \param cgs
-    The system of congruences defining the grid.
+template <typename T>
+inline
+DB_Matrix<T>::~DB_Matrix() {
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Congruence_System& cgs);
+template <typename T>
+inline DB_Row<T>&
+DB_Matrix<T>::operator[](const dimension_type k) {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
+}
 
-  //! Builds a grid, recycling a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+template <typename T>
+inline const DB_Row<T>&
+DB_Matrix<T>::operator[](const dimension_type k) const {
+  PPL_ASSERT(k < rows.size());
+  return rows[k];
+}
 
-    \param cgs
-    The system of congruences defining the grid.  Its data-structures
-    may be recycled to build the grid.
+template <typename T>
+inline dimension_type
+DB_Matrix<T>::num_rows() const {
+  return rows.size();
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline bool
+operator!=(const DB_Matrix<T>& x, const DB_Matrix<T>& y) {
+  return !(x == y);
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Congruence_System& cgs, Recycle_Input dummy);
+template <typename T>
+inline
+DB_Matrix<T>::DB_Matrix(const DB_Matrix& y)
+  : rows(y.rows),
+    row_size(y.row_size),
+    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
+}
 
-  //! Builds a grid, copying a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
+template <typename T>
+inline DB_Matrix<T>&
+DB_Matrix<T>::operator=(const DB_Matrix& y) {
+  // Without the following guard against auto-assignments we would
+  // recompute the row capacity based on row size, possibly without
+  // actually increasing the capacity of the rows.  This would lead to
+  // an inconsistent state.
+  if (this != &y) {
+    // The following assignment may do nothing on auto-assignments...
+    rows = y.rows;
+    row_size = y.row_size;
+    // ... hence the following assignment must not be done on
+    // auto-assignments.
+    row_capacity = compute_capacity(y.row_size, max_num_columns());
+  }
+  return *this;
+}
 
-    \param cs
-    The system of constraints defining the grid.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization, typename Temp, typename To, typename T>
+inline bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const DB_Matrix<T>& x,
+		    const DB_Matrix<T>& y,
+		    const Rounding_Dir dir,
+		    Temp& tmp0,
+		    Temp& tmp1,
+		    Temp& tmp2) {
+  const dimension_type x_num_rows = x.num_rows();
+  if (x_num_rows != y.num_rows())
+    return false;
+  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  for (dimension_type i = x_num_rows; i-- > 0; ) {
+    const DB_Row<T>& x_i = x[i];
+    const DB_Row<T>& y_i = y[i];
+    for (dimension_type j = x_num_rows; j-- > 0; ) {
+      const T& x_i_j = x_i[j];
+      const T& y_i_j = y_i[j];
+      if (is_plus_infinity(x_i_j)) {
+	if (is_plus_infinity(y_i_j))
+	  continue;
+	else {
+	pinf:
+	  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+	  return true;
+	}
+      }
+      else if (is_plus_infinity(y_i_j))
+	goto pinf;
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+      const Temp* tmp1p;
+      const Temp* tmp2p;
+      if (x_i_j > y_i_j) {
+	maybe_assign(tmp1p, tmp1, x_i_j, dir);
+	maybe_assign(tmp2p, tmp2, y_i_j, inverse(dir));
+      }
+      else {
+	maybe_assign(tmp1p, tmp1, y_i_j, dir);
+	maybe_assign(tmp2p, tmp2, x_i_j, inverse(dir));
+      }
+      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+      PPL_ASSERT(sgn(tmp1) >= 0);
+      Specialization::combine(tmp0, tmp1, dir);
+    }
+  }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Constraint_System& cs);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const DB_Matrix<T>& x,
+			    const DB_Matrix<T>& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  return
+    l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >(r, x, y,
+								    dir,
+								    tmp0,
+								    tmp1,
+								    tmp2);
+}
 
-  //! Builds a grid, recycling a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
 
-    \param cs
-    The system of constraints defining the grid.  Its data-structures
-    may be recycled to build the grid.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const DB_Matrix<T>& x,
+			  const DB_Matrix<T>& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  return
+    l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >(r, x, y,
+								  dir,
+								  tmp0,
+								  tmp1,
+								  tmp2);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const DB_Matrix<T>& x,
+			   const DB_Matrix<T>& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  return
+    l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >(r, x, y,
+								   dir,
+								   tmp0,
+								   tmp1,
+								   tmp2);
+}
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline void
+swap(DB_Matrix<T>& x, DB_Matrix<T>& y) {
+  x.m_swap(y);
+}
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Constraint_System& cs, Recycle_Input dummy);
+} // namespace Parma_Polyhedra_Library
 
-  //! Builds a grid, copying a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+/* Automatically generated from PPL source file ../src/DB_Matrix.templates.hh line 1. */
+/* DB_Matrix class implementation: non-inline template functions.
+*/
 
-    \param const_gs
-    The system of generators defining the grid.
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Grid_Generator_System& const_gs);
+template <typename T>
+DB_Matrix<T>::DB_Matrix(const dimension_type n_rows)
+  : rows(n_rows),
+    row_size(n_rows),
+    row_capacity(compute_capacity(n_rows, max_num_columns())) {
+  // Construct in direct order: will destroy in reverse order.
+  for (dimension_type i = 0; i < n_rows; ++i)
+    rows[i].construct(n_rows, row_capacity);
+  PPL_ASSERT(OK());
+}
 
-  //! Builds a grid, recycling a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+template <typename T>
+template <typename U>
+DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y)
+  : rows(y.rows.size()),
+    row_size(y.row_size),
+    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
+  // Construct in direct order: will destroy in reverse order.
+  for (dimension_type i = 0, n_rows = rows.size(); i < n_rows; ++i)
+    rows[i].construct_upward_approximation(y[i], row_capacity);
+  PPL_ASSERT(OK());
+}
 
-    \param gs
-    The system of generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
+template <typename T>
+void
+DB_Matrix<T>::grow(const dimension_type new_n_rows) {
+  const dimension_type old_n_rows = rows.size();
+  PPL_ASSERT(new_n_rows >= old_n_rows);
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  if (new_n_rows > old_n_rows) {
+    if (new_n_rows <= row_capacity) {
+      // We can recycle the old rows.
+      if (rows.capacity() < new_n_rows) {
+	// Reallocation will take place.
+	std::vector<DB_Row<T> > new_rows;
+	new_rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
+	new_rows.insert(new_rows.end(), new_n_rows, DB_Row<T>());
+	// Construct the new rows.
+	dimension_type i = new_n_rows;
+	while (i-- > old_n_rows)
+	  new_rows[i].construct(new_n_rows, row_capacity);
+	// Steal the old rows.
+	++i;
+	while (i-- > 0)
+	  swap(new_rows[i], rows[i]);
+	// Put the new vector into place.
+        using std::swap;
+	swap(rows, new_rows);
+      }
+      else {
+	// Reallocation will NOT take place.
+	rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row<T>());
+	for (dimension_type i = new_n_rows; i-- > old_n_rows; )
+	  rows[i].construct(new_n_rows, row_capacity);
+      }
+    }
+    else {
+      // We cannot even recycle the old rows.
+      DB_Matrix new_matrix;
+      new_matrix.rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
+      new_matrix.rows.insert(new_matrix.rows.end(), new_n_rows, DB_Row<T>());
+      // Construct the new rows.
+      new_matrix.row_size = new_n_rows;
+      new_matrix.row_capacity = compute_capacity(new_n_rows,
+						 max_num_columns());
+      dimension_type i = new_n_rows;
+      while (i-- > old_n_rows)
+	new_matrix.rows[i].construct(new_matrix.row_size,
+				     new_matrix.row_capacity);
+      // Copy the old rows.
+      ++i;
+      while (i-- > 0) {
+	// FIXME: copying may be unnecessarily costly.
+	DB_Row<T> new_row(rows[i],
+			  new_matrix.row_size,
+			  new_matrix.row_capacity);
+	swap(new_matrix.rows[i], new_row);
+      }
+      // Put the new vector into place.
+      m_swap(new_matrix);
+      return;
+    }
+  }
+  // Here we have the right number of rows.
+  if (new_n_rows > row_size) {
+    // We need more columns.
+    if (new_n_rows <= row_capacity)
+      // But we have enough capacity: we resize existing rows.
+      for (dimension_type i = old_n_rows; i-- > 0; )
+	rows[i].expand_within_capacity(new_n_rows);
+    else {
+      // Capacity exhausted: we must reallocate the rows and
+      // make sure all the rows have the same capacity.
+      const dimension_type new_row_capacity
+	= compute_capacity(new_n_rows, max_num_columns());
+      for (dimension_type i = old_n_rows; i-- > 0; ) {
+	// FIXME: copying may be unnecessarily costly.
+	DB_Row<T> new_row(rows[i], new_n_rows, new_row_capacity);
+	swap(rows[i], new_row);
+      }
+      row_capacity = new_row_capacity;
+    }
+    // Rows have grown or shrunk.
+    row_size = new_n_rows;
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+template <typename T>
+void
+DB_Matrix<T>::resize_no_copy(const dimension_type new_n_rows) {
+  dimension_type old_n_rows = rows.size();
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
-  */
-  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
+  if (new_n_rows > old_n_rows) {
+    // Rows will be inserted.
+    if (new_n_rows <= row_capacity) {
+      // We can recycle the old rows.
+      if (rows.capacity() < new_n_rows) {
+	// Reallocation (of vector `rows') will take place.
+	std::vector<DB_Row<T> > new_rows;
+	new_rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
+	new_rows.insert(new_rows.end(), new_n_rows, DB_Row<T>());
+	// Construct the new rows (be careful: each new row must have
+	// the same capacity as each one of the old rows).
+	dimension_type i = new_n_rows;
+	while (i-- > old_n_rows)
+	  new_rows[i].construct(new_n_rows, row_capacity);
+	// Steal the old rows.
+	++i;
+	while (i-- > 0)
+	  swap(new_rows[i], rows[i]);
+	// Put the new vector into place.
+        using std::swap;
+	swap(rows, new_rows);
+      }
+      else {
+	// Reallocation (of vector `rows') will NOT take place.
+	rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row<T>());
+	// Be careful: each new row must have
+	// the same capacity as each one of the old rows.
+	for (dimension_type i = new_n_rows; i-- > old_n_rows; )
+	  rows[i].construct(new_n_rows, row_capacity);
+      }
+    }
+    else {
+      // We cannot even recycle the old rows: allocate a new matrix and swap.
+      DB_Matrix new_matrix(new_n_rows);
+      m_swap(new_matrix);
+      return;
+    }
+  }
+  else if (new_n_rows < old_n_rows) {
+    // Drop some rows.
+    rows.resize(new_n_rows);
+    // Shrink the existing rows.
+    for (dimension_type i = new_n_rows; i-- > 0; )
+      rows[i].shrink(new_n_rows);
+    old_n_rows = new_n_rows;
+  }
+  // Here we have the right number of rows.
+  if (new_n_rows > row_size) {
+    // We need more columns.
+    if (new_n_rows <= row_capacity)
+      // But we have enough capacity: we resize existing rows.
+      for (dimension_type i = old_n_rows; i-- > 0; )
+	rows[i].expand_within_capacity(new_n_rows);
+    else {
+      // Capacity exhausted: we must reallocate the rows and
+      // make sure all the rows have the same capacity.
+      const dimension_type new_row_capacity
+	= compute_capacity(new_n_rows, max_num_columns());
+      for (dimension_type i = old_n_rows; i-- > 0; ) {
+	DB_Row<T> new_row(new_n_rows, new_row_capacity);
+	swap(rows[i], new_row);
+      }
+      row_capacity = new_row_capacity;
+    }
+  }
+  // DB_Rows have grown or shrunk.
+  row_size = new_n_rows;
+}
 
-  //! Builds a grid out of a box.
-  /*!
-    The grid inherits the space dimension of the box.
-    The built grid is the most precise grid that includes the box.
+template <typename T>
+void
+DB_Matrix<T>::ascii_dump(std::ostream& s) const {
+  const DB_Matrix<T>& x = *this;
+  const char separator = ' ';
+  const dimension_type nrows = x.num_rows();
+  s << nrows << separator << "\n";
+  for (dimension_type i = 0; i < nrows;  ++i) {
+    for (dimension_type j = 0; j < nrows; ++j) {
+      using namespace IO_Operators;
+      s << x[i][j] << separator;
+    }
+    s << "\n";
+  }
+}
 
-    \param box
-    The box representing the grid to be built.
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, DB_Matrix<T>)
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+template <typename T>
+bool
+DB_Matrix<T>::ascii_load(std::istream& s) {
+  dimension_type nrows;
+  if (!(s >> nrows))
+    return false;
+  resize_no_copy(nrows);
+  DB_Matrix& x = *this;
+  for (dimension_type i = 0; i < nrows;  ++i)
+    for (dimension_type j = 0; j < nrows; ++j) {
+      Result r = input(x[i][j], s, ROUND_CHECK);
+      if (result_relation(r) != VR_EQ || is_minus_infinity(x[i][j]))
+	return false;
+    }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename Interval>
-  explicit Grid(const Box<Interval>& box,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  //! Builds a grid out of a bounded-difference shape.
-  /*!
-    The grid inherits the space dimension of the BDS.
-    The built grid is the most precise grid that includes the BDS.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool
+operator==(const DB_Matrix<T>& x, const DB_Matrix<T>& y) {
+  const dimension_type x_num_rows = x.num_rows();
+  if (x_num_rows != y.num_rows())
+    return false;
+  for (dimension_type i = x_num_rows; i-- > 0; )
+    if (x[i] != y[i])
+      return false;
+  return true;
+}
 
-    \param bd
-    The BDS representing the grid to be built.
+template <typename T>
+memory_size_type
+DB_Matrix<T>::external_memory_in_bytes() const {
+  memory_size_type n = rows.capacity() * sizeof(DB_Row<T>);
+  for (dimension_type i = num_rows(); i-- > 0; )
+    n += rows[i].external_memory_in_bytes(row_capacity);
+  return n;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+template <typename T>
+bool
+DB_Matrix<T>::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
 
-    \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit Grid(const BD_Shape<U>& bd,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+  // The matrix must be square.
+  if (num_rows() != row_size) {
+#ifndef NDEBUG
+    cerr << "DB_Matrix has fewer columns than rows:\n"
+	 << "row_size is " << row_size
+	 << ", num_rows() is " << num_rows() << "!"
+	 << endl;
+#endif
+    return false;
+  }
 
-  //! Builds a grid out of an octagonal shape.
-  /*!
-    The grid inherits the space dimension of the octagonal shape.
-    The built grid is the most precise grid that includes the octagonal shape.
+  const DB_Matrix& x = *this;
+  const dimension_type n_rows = x.num_rows();
+  for (dimension_type i = 0; i < n_rows; ++i) {
+    if (!x[i].OK(row_size, row_capacity))
+      return false;
+  }
 
-    \param os
-    The octagonal shape representing the grid to be built.
+  // All checks passed.
+  return true;
+}
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::DB_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const DB_Matrix<T>& c) {
+  const dimension_type n = c.num_rows();
+  for (dimension_type i = 0; i < n; ++i) {
+    for (dimension_type j = 0; j < n; ++j)
+      s << c[i][j] << " ";
+    s << "\n";
+  }
+  return s;
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit Grid(const Octagonal_Shape<U>& os,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Builds a grid from a polyhedron using algorithms whose complexity
-    does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the grid built is the
-    smallest one containing \p ph.
+/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 324. */
 
-    The grid inherits the space dimension of polyhedron.
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 1. */
+/* Coefficient types of weakly-relational domains: declarations.
+*/
 
-    \param ph
-    The polyhedron.
 
-    \param complexity
-    The complexity class.
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 28. */
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Polyhedron& ph,
-                Complexity_Class complexity = ANY_COMPLEXITY);
+namespace Parma_Polyhedra_Library {
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Grid(const Grid& y,
-       Complexity_Class complexity = ANY_COMPLEXITY);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The production policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
 
-  /*! \brief
-    The assignment operator.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  Grid& operator=(const Grid& y);
+  //! Do not check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
 
-  //! \name Member Functions that Do Not Modify the Grid
-  //@{
+  //! Do not check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! Do not check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns
-    the \ref Grid_Affine_Dimension "affine dimension" of \p *this.
-  */
-  dimension_type affine_dimension() const;
+  //! Do not check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
 
-  /*! \brief
-    Returns a system of equality constraints satisfied by \p *this
-    with the same affine dimension as \p *this.
-  */
-  Constraint_System constraints() const;
+  //! Do not check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
 
-  /*! \brief
-    Returns a minimal system of equality constraints satisfied by
-    \p *this with the same affine dimension as \p *this.
-  */
-  Constraint_System minimized_constraints() const;
+  //! Do not check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
 
-  //! Returns the system of congruences.
-  const Congruence_System& congruences() const;
+  //! Do not checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
 
-  //! Returns the system of congruences in minimal form.
-  const Congruence_System& minimized_congruences() const;
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
 
-  //! Returns the system of generators.
-  const Grid_Generator_System& grid_generators() const;
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
 
-  //! Returns the minimized system of generators.
-  const Grid_Generator_System& minimized_grid_generators() const;
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
 
-  //! Returns the relations holding between \p *this and \p cg.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  // FIXME: Poly_Con_Relation seems to encode exactly what we want
-  // here.  We must find a new name for that class.  Temporarily,
-  // we keep using it without changing the name.
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
 
-  //! Returns the relations holding between \p *this and \p g.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Grid_Generator& g) const;
+  //! Do not make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, false);
 
-  //! Returns the relations holding between \p *this and \p g.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Generator& g) const;
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
 
-  //! Returns the relations holding between \p *this and \p c.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
   */
-  // FIXME: Poly_Con_Relation seems to encode exactly what we want
-  // here.  We must find a new name for that class.  Temporarily,
-  // we keep using it without changing the name.
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  static void handle_result(Result r);
+};
 
-  //! Returns \c true if and only if \p *this is an empty grid.
-  bool is_empty() const;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief \ingroup PPL_CXX_interface
+  The debugging policy for checked numbers used in weakly-relational
+  domains.
+ */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Debug_WRD_Extended_Number_Policy {
+  //! Check for overflowed result.
+  const_bool_nodef(check_overflow, true);
 
-  //! Returns \c true if and only if \p *this is a universe grid.
-  bool is_universe() const;
+  //! Check for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, true);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a
-    topologically closed subset of the vector space.
+  //! Check for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, true);
 
-    A grid is always topologically closed.
-  */
-  bool is_topologically_closed() const;
+  //! Check for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, true);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    disjoint.
+  //! Check for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, true);
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool is_disjoint_from(const Grid& y) const;
+  //! Check for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, true);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  /*!
-    A grid is discrete if it can be defined by a generator system which
-    contains only points and parameters.  This includes the empty grid
-    and any grid in dimension zero.
-  */
-  bool is_discrete() const;
+  //! Check for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, true);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
-  bool is_bounded() const;
+  //! Checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, true);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+  //! Handle not-a-number special value.
+  const_bool_nodef(has_nan, true);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+  //! Handle infinity special values.
+  const_bool_nodef(has_infinity, true);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+  // `convertible' is intentionally not defined: the compile time
+  // error on conversions is the expected behavior.
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_below.
+  //! Honor requests to check for FPU inexact results.
+  const_bool_nodef(fpu_check_inexact, true);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  //! Make extra checks to detect FPU NaN results.
+  const_bool_nodef(fpu_check_nan_result, true);
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_above.
+  // ROUND_DEFAULT_CONSTRUCTOR is intentionally not defined.
+  // ROUND_DEFAULT_OPERATOR is intentionally not defined.
+  // ROUND_DEFAULT_FUNCTION is intentionally not defined.
+  // ROUND_DEFAULT_INPUT is intentionally not defined.
+  // ROUND_DEFAULT_OUTPUT is intentionally not defined.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  /*! \brief
+    Handles \p r: called by all constructors, operators and functions that
+    do not return a Result value.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  static void handle_result(Result r);
+};
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value is computed.
+} // namespace Parma_Polyhedra_Library
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.inlines.hh line 1. */
+/* Coefficient types of weakly-relational domains: inline functions.
+*/
 
-    \param sup_n
-    The numerator of the supremum value;
 
-    \param sup_d
-    The denominator of the supremum value;
+namespace Parma_Polyhedra_Library {
 
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
-    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
-    interface compatibility with class Polyhedron, where closure
-    points can result in a value of false.
+inline void
+WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+inline void
+Debug_WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (result_class(r) == VC_NAN)
+    throw_result_exception(r);
+}
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
-    maximum are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value and a point where \p expr reaches it are computed.
+/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 152. */
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 52. */
+#include <cstddef>
+#include <iosfwd>
+#include <vector>
 
-    \param sup_n
-    The numerator of the supremum value;
+namespace Parma_Polyhedra_Library {
 
-    \param sup_d
-    The denominator of the supremum value;
+namespace IO_Operators {
 
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
-    Always <CODE>true</CODE> when \p this bounds \p expr.  Present for
-    interface compatibility with class Polyhedron, where closure
-    points can result in a value of false;
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::BD_Shape
+  Writes a textual representation of \p bds on \p s:
+  <CODE>false</CODE> is written if \p bds is an empty polyhedron;
+  <CODE>true</CODE> is written if \p bds is the universe polyhedron;
+  a system of constraints defining \p bds is written otherwise,
+  all constraints separated by ", ".
+*/
+template <typename T>
+std::ostream&
+operator<<(std::ostream& s, const BD_Shape<T>& bds);
 
-    \param point
-    When maximization succeeds, will be assigned a point where \p expr
-    reaches its supremum value.
+} // namespace IO_Operators
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+//! Swaps \p x with \p y.
+/*! \relates BD_Shape */
+template <typename T>
+void swap(BD_Shape<T>& x, BD_Shape<T>& y);
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p point are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& point) const;
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are the same BDS.
+/*! \relates BD_Shape
+  Note that \p x and \p y may be dimension-incompatible shapes:
+  in this case, the value <CODE>false</CODE> is returned.
+*/
+template <typename T>
+bool operator==(const BD_Shape<T>& x, const BD_Shape<T>& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below in \p *this, in which case the
-    infimum value is computed.
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not the same BDS.
+/*! \relates BD_Shape
+  Note that \p x and \p y may be dimension-incompatible shapes:
+  in this case, the value <CODE>true</CODE> is returned.
+*/
+template <typename T>
+bool operator!=(const BD_Shape<T>& x, const BD_Shape<T>& y);
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param inf_n
-    The numerator of the infimum value;
+  The direction of the approximation is specified by \p dir.
 
-    \param inf_d
-    The denominator of the infimum value;
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const BD_Shape<T>& x,
+                                 const BD_Shape<T>& y,
+                                 Rounding_Dir dir);
 
-    \param minimum
-    <CODE>true</CODE> if the is the infimum value can be reached in \p
-    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
-    Present for interface compatibility with class Polyhedron, where
-    closure points can result in a value of false.
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  The direction of the approximation is specified by \p dir.
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const BD_Shape<T>& x,
+                                 const BD_Shape<T>& y,
+                                 Rounding_Dir dir);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below in \p *this, in which case the
-    infimum value and a point where \p expr reaches it are computed.
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  The direction of the approximation is specified by \p dir.
 
-    \param inf_n
-    The numerator of the infimum value;
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const BD_Shape<T>& x,
+                                 const BD_Shape<T>& y,
+                                 Rounding_Dir dir,
+                                 Temp& tmp0,
+                                 Temp& tmp1,
+                                 Temp& tmp2);
 
-    \param inf_d
-    The denominator of the infimum value;
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param minimum
-    <CODE>true</CODE> if the is the infimum value can be reached in \p
-    this.  Always <CODE>true</CODE> when \p this bounds \p expr.
-    Present for interface compatibility with class Polyhedron, where
-    closure points can result in a value of false;
+  The direction of the approximation is specified by \p dir.
 
-    \param point
-    When minimization succeeds, will be assigned a point where \p expr
-    reaches its infimum value.
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const BD_Shape<T>& x,
+                               const BD_Shape<T>& y,
+                               Rounding_Dir dir);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p point are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& point) const;
+  The direction of the approximation is specified by \p dir.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
-    is defined, in which case the frequency and the value for \p expr
-    that is closest to zero are computed.
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const BD_Shape<T>& x,
+                               const BD_Shape<T>& y,
+                               Rounding_Dir dir);
 
-    \param expr
-    The linear expression for which the frequency is needed;
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param freq_n
-    The numerator of the maximum frequency of \p expr;
+  The direction of the approximation is specified by \p dir.
 
-    \param freq_d
-    The denominator of the maximum frequency of \p expr;
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const BD_Shape<T>& x,
+                               const BD_Shape<T>& y,
+                               Rounding_Dir dir,
+                               Temp& tmp0,
+                               Temp& tmp1,
+                               Temp& tmp2);
 
-    \param val_n
-    The numerator of them value of \p expr at a point in the grid
-    that is closest to zero;
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param val_d
-    The denominator of a value of \p expr at a point in the grid
-    that is closest to zero;
+  The direction of the approximation is specified by \p dir.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const BD_Shape<T>& x,
+                                const BD_Shape<T>& y,
+                                Rounding_Dir dir);
 
-    If \p *this is empty or frequency is undefined with respect to \p expr,
-    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
-  */
-  bool frequency(const Linear_Expression& expr,
-                 Coefficient& freq_n, Coefficient& freq_d,
-                 Coefficient& val_n, Coefficient& val_d) const;
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool contains(const Grid& y) const;
+  The direction of the approximation is specified by \p dir.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this strictly
-    contains \p y.
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const BD_Shape<T>& x,
+                                const BD_Shape<T>& y,
+                                Rounding_Dir dir);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const Grid& y) const;
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates BD_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  //! Checks if all the invariants are satisfied.
-  /*!
-    \return
-    <CODE>true</CODE> if and only if \p *this satisfies all the
-    invariants and either \p check_not_empty is <CODE>false</CODE> or
-    \p *this is not empty.
+  The direction of the approximation is specified by \p dir.
 
-    \param check_not_empty
-    <CODE>true</CODE> if and only if, in addition to checking the
-    invariants, \p *this must be checked to be not empty.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const BD_Shape<T>& x,
+                                const BD_Shape<T>& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
 
-    The check is performed so as to intrude as little as possible.  If
-    the library has been compiled with run-time assertions enabled,
-    error messages are written on <CODE>std::cerr</CODE> in case
-    invariants are violated. This is useful for the purpose of
-    debugging the library.
-  */
-  bool OK(bool check_not_empty = false) const;
+// This class contains some helper functions that need to be friends of
+// Linear_Expression.
+class BD_Shape_Helpers {
+public:
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as a bounded difference.
+  /*! \relates BD_Shape
+    \return
+    <CODE>true</CODE> if the constraint \p c is a
+    \ref Bounded_Difference_Shapes "bounded difference";
+    <CODE>false</CODE> otherwise.
 
-  //@} // Member Functions that Do Not Modify the Grid
+    \param c
+    The constraint to be decoded.
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0, 1 and 2.
+
+    \param c_first_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the first variable having
+    a non-zero coefficient in \p c.
+
+    \param c_second_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
+    then it will be set to the index of the second variable having
+    a non-zero coefficient in \p c. If \p c_num_vars is set to 1, this must be
+    0.
+
+    \param c_coeff
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the value of the first non-zero coefficient
+    in \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_bounded_difference(const Constraint& c,
+                                         dimension_type& c_num_vars,
+                                         dimension_type& c_first_var,
+                                         dimension_type& c_second_var,
+                                         Coefficient& c_coeff);
+};
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
-  //@{
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Extracts leader indices from the predecessor relation.
+/*! \relates BD_Shape */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void compute_leader_indices(const std::vector<dimension_type>& predecessor,
+                            std::vector<dimension_type>& indices);
 
-  //! Adds a copy of congruence \p cg to \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are
-    dimension-incompatible.
-  */
-  void add_congruence(const Congruence& cg);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this.
+//! A bounded difference shape.
+/*! \ingroup PPL_CXX_interface
+  The class template BD_Shape<T> allows for the efficient representation
+  of a restricted kind of <EM>topologically closed</EM> convex polyhedra
+  called <EM>bounded difference shapes</EM> (BDSs, for short).
+  The name comes from the fact that the closed affine half-spaces that
+  characterize the polyhedron can be expressed by constraints of the form
+  \f$\pm x_i \leq k\f$ or \f$x_i - x_j \leq k\f$, where the inhomogeneous
+  term \f$k\f$ is a rational number.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible,
-    or if \p *this is an empty grid and \p g is not a point.
-  */
-  void add_grid_generator(const Grid_Generator& g);
+  Based on the class template type parameter \p T, a family of extended
+  numbers is built and used to approximate the inhomogeneous term of
+  bounded differences. These extended numbers provide a representation
+  for the value \f$+\infty\f$, as well as <EM>rounding-aware</EM>
+  implementations for several arithmetic functions.
+  The value of the type parameter \p T may be one of the following:
+    - a bounded precision integer type (e.g., \c int32_t or \c int64_t);
+    - a bounded precision floating point type (e.g., \c float or \c double);
+    - an unbounded integer or rational type, as provided by GMP
+      (i.e., \c mpz_class or \c mpq_class).
 
-  //! Adds a copy of each congruence in \p cgs to \p *this.
-  /*!
-    \param cgs
-    Contains the congruences that will be added to the system of
-    congruences of \p *this.
+  The user interface for BDSs is meant to be as similar as possible to
+  the one developed for the polyhedron class C_Polyhedron.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void add_congruences(const Congruence_System& cgs);
+  The domain of BD shapes <EM>optimally supports</EM>:
+    - tautological and inconsistent constraints and congruences;
+    - bounded difference constraints;
+    - non-proper congruences (i.e., equalities) that are expressible
+      as bounded-difference constraints.
 
-  //! Adds the congruences in \p cgs to *this.
-  /*!
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+  Depending on the method, using a constraint or congruence that is not
+  optimally supported by the domain will either raise an exception or
+  result in a (possibly non-optimal) upward approximation.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+  A constraint is a bounded difference if it has the form
+    \f[
+      a_i x_i - a_j x_j \relsym b
+    \f]
+  where \f$\mathord{\relsym} \in \{ \leq, =, \geq \}\f$ and
+  \f$a_i\f$, \f$a_j\f$, \f$b\f$ are integer coefficients such that
+  \f$a_i = 0\f$, or \f$a_j = 0\f$, or \f$a_i = a_j\f$.
+  The user is warned that the above bounded difference Constraint object
+  will be mapped into a \e correct and \e optimal approximation that,
+  depending on the expressive power of the chosen template argument \p T,
+  may loose some precision. Also note that strict constraints are not
+  bounded differences.
 
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+  For instance, a Constraint object encoding \f$3x - 3y \leq 1\f$ will be
+  approximated by:
+    - \f$x - y \leq 1\f$,
+      if \p T is a (bounded or unbounded) integer type;
+    - \f$x - y \leq \frac{1}{3}\f$,
+      if \p T is the unbounded rational type \c mpq_class;
+    - \f$x - y \leq k\f$, where \f$k > \frac{1}{3}\f$,
+      if \p T is a floating point type (having no exact representation
+      for \f$\frac{1}{3}\f$).
 
-  /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c.
+  On the other hand, depending from the context, a Constraint object
+  encoding \f$3x - y \leq 1\f$ will be either upward approximated
+  (e.g., by safely ignoring it) or it will cause an exception.
 
-    \param c
-    The constraint to be added.
+  In the following examples it is assumed that the type argument \p T
+  is one of the possible instances listed above and that variables
+  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE> are defined
+  (where they are used) as follows:
+  \code
+    Variable x(0);
+    Variable y(1);
+    Variable z(2);
+  \endcode
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible
-    or if constraint \p c is not optimally supported by the grid domain.
+  \par Example 1
+  The following code builds a BDS corresponding to a cube in \f$\Rset^3\f$,
+  given as a system of constraints:
+  \code
+    Constraint_System cs;
+    cs.insert(x >= 0);
+    cs.insert(x <= 1);
+    cs.insert(y >= 0);
+    cs.insert(y <= 1);
+    cs.insert(z >= 0);
+    cs.insert(z <= 1);
+    BD_Shape<T> bd(cs);
+  \endcode
+  Since only those constraints having the syntactic form of a
+  <EM>bounded difference</EM> are optimally supported, the following code
+  will throw an exception (caused by constraints 7, 8 and 9):
+  \code
+    Constraint_System cs;
+    cs.insert(x >= 0);
+    cs.insert(x <= 1);
+    cs.insert(y >= 0);
+    cs.insert(y <= 1);
+    cs.insert(z >= 0);
+    cs.insert(z <= 1);
+    cs.insert(x + y <= 0);      // 7
+    cs.insert(x - z + x >= 0);  // 8
+    cs.insert(3*z - y <= 1);    // 9
+    BD_Shape<T> bd(cs);
+  \endcode
+*/
+template <typename T>
+class Parma_Polyhedra_Library::BD_Shape {
+private:
+  /*! \brief
+    The (extended) numeric type of the inhomogeneous term of
+    the inequalities defining a BDS.
   */
-  void add_constraint(const Constraint& c);
+#ifndef NDEBUG
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
+#else
+  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
+#endif
+
+public:
+  //! The numeric base type upon which bounded differences are built.
+  typedef T coefficient_type_base;
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
+    The (extended) numeric type of the inhomogeneous term of the
+    inequalities defining a BDS.
+  */
+  typedef N coefficient_type;
 
-    \param cs
-    The constraints to be added.
+  //! Returns the maximum space dimension that a BDS can handle.
+  static dimension_type max_space_dimension();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
+  /*! \brief
+    Returns \c false indicating that this domain cannot recycle constraints.
   */
-  void add_constraints(const Constraint_System& cs);
+  static bool can_recycle_constraint_systems();
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
-
-    \param cs
-    The constraints to be added. They may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible
-    or if \p cs contains a constraint whcih is not optimally supported
-    by the grid domain.
-
-    \warning
-    The only assumption that can be made about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
+    Returns \c false indicating that this domain cannot recycle congruences.
   */
-  void add_recycled_constraints(Constraint_System& cs);
+  static bool can_recycle_congruence_systems();
 
-  //! Uses a copy of the congruence \p cg to refine \p *this.
+  //! \name Constructors, Assignment, Swap and Destructor
+  //@{
+
+  //! Builds a universe or empty BDS of the specified space dimension.
   /*!
-    \param cg
-    The congruence used.
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the BDS;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+    \param kind
+    Specifies whether the universe or the empty BDS has to be built.
   */
-  void refine_with_congruence(const Congruence& cg);
+  explicit BD_Shape(dimension_type num_dimensions = 0,
+                    Degenerate_Element kind = UNIVERSE);
 
- //! Uses a copy of the congruences in \p cgs to refine \p *this.
+  //! Ordinary copy constructor.
   /*!
-    \param cgs
-    The congruences used.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+    The complexity argument is ignored.
   */
-  void refine_with_congruences(const Congruence_System& cgs);
+  BD_Shape(const BD_Shape& y,
+           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Uses a copy of the constraint \p c to refine \p *this.
+  //! Builds a conservative, upward approximation of \p y.
   /*!
-
-    \param c
-    The constraint used. If it is not an equality, it will be ignored
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
+    The complexity argument is ignored.
   */
-  void refine_with_constraint(const Constraint& c);
+  template <typename U>
+  explicit BD_Shape(const BD_Shape<U>& y,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Uses a copy of the constraints in \p cs to refine \p *this.
+  //! Builds a BDS from the system of constraints \p cs.
   /*!
+    The BDS inherits the space dimension of \p cs.
+
     \param cs
-    The constraints used. Constraints that are not equalities are ignored.
+    A system of BD constraints.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+    Thrown if \p cs contains a constraint which is not optimally supported
+    by the BD shape domain.
   */
-  void refine_with_constraints(const Constraint_System& cs);
+  explicit BD_Shape(const Constraint_System& cs);
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this.
+  //! Builds a BDS from a system of congruences.
+  /*!
+    The BDS inherits the space dimension of \p cgs
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+    \param cgs
+    A system of congruences.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible, or if
-    \p *this is empty and the system of generators \p gs is not empty,
-    but has no points.
+    Thrown if \p cgs contains congruences which are not optimally
+    supported by the BD shape domain.
   */
-  void add_grid_generators(const Grid_Generator_System& gs);
-
-  /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this.
+  explicit BD_Shape(const Congruence_System& cgs);
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+  //! Builds a BDS from the system of generators \p gs.
+  /*!
+    Builds the smallest BDS containing the polyhedron defined by \p gs.
+    The BDS inherits the space dimension of \p gs.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible.
-
-    \warning
-    The only assumption that can be made about \p gs upon successful
-    or exceptional return is that it can be safely destroyed.
+    Thrown if the system of generators is not empty but has no points.
   */
-  void add_recycled_grid_generators(Grid_Generator_System& gs);
-
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
-
-    \param var
-    The space dimension that will be unconstrained.
+  explicit BD_Shape(const Generator_System& gs);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+  //! Builds a BDS from the polyhedron \p ph.
+  /*!
+    Builds a BDS containing \p ph using algorithms whose complexity
+    does not exceed the one specified by \p complexity.  If
+    \p complexity is \p ANY_COMPLEXITY, then the BDS built is the
+    smallest one containing \p ph.
   */
-  void unconstrain(Variable var);
-
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
+  explicit BD_Shape(const Polyhedron& ph,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+  //! Builds a BDS out of a box.
+  /*!
+    The BDS inherits the space dimension of the box.
+    The built BDS is the most precise BDS that includes the box.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void unconstrain(const Variables_Set& vars);
+    \param box
+    The box representing the BDS to be built.
 
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
   */
-  void intersection_assign(const Grid& y);
+  template <typename Interval>
+  explicit BD_Shape(const Box<Interval>& box,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-  /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y.
+  //! Builds a BDS out of a grid.
+  /*!
+    The BDS inherits the space dimension of the grid.
+    The built BDS is the most precise BDS that includes the grid.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const Grid& y);
+    \param grid
+    The grid used to build the BDS.
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact it is assigned to \p
-    *this and <CODE>true</CODE> is returned, otherwise
-    <CODE>false</CODE> is returned.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \exception std::length_error
+    Thrown if the space dimension of \p grid exceeds the maximum
+    allowed space dimension.
   */
-  bool upper_bound_assign_if_exact(const Grid& y);
-
-  /*! \brief
-    Assigns to \p *this the \ref Convex_Polyhedral_Difference "grid-difference"
-    of \p *this and \p y.
+  explicit BD_Shape(const Grid& grid,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-    The grid difference between grids x and y is the smallest grid
-    containing all the points from x and y that are only in x.
+  //! Builds a BDS from an octagonal shape.
+  /*!
+    The BDS inherits the space dimension of the octagonal shape.
+    The built BDS is the most precise BDS that includes the octagonal shape.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Grid& y);
+    \param os
+    The octagonal shape used to build the BDS.
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \exception std::length_error
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
   */
-  bool simplify_using_context_assign(const Grid& y);
+  template <typename U>
+  explicit BD_Shape(const Octagonal_Shape<U>& os,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Affine_Transformation
-    "affine image" of \p
-    *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
-
-    \param var
-    The variable to which the affine expression is assigned;
-
-    \param expr
-    The numerator of the affine expression;
-
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
-
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
-
-    \if Include_Implementation_Details
-
-    When considering the generators of a grid, the
-    affine transformation
-    \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{\mathrm{denominator}}
-    \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
-
-    If congruences are up-to-date, it uses the specialized function
-    affine_preimage() (for the system of congruences)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation we use the following observation.
-
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e., \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-	   = a_\mathrm{var} x_\mathrm{var}
-	     + \sum_{i \neq var} a_i x_i + b,
-       \f]
-       so that the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-             - \sum_{i \neq j} a_i x_i - b.
-       \f]
-
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only generators remain
-    up-to-date.
-
-    \endif
+    The assignment operator
+    (\p *this and \p y can be dimension-incompatible).
   */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		    = Coefficient_one());
+  BD_Shape& operator=(const BD_Shape& y);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Affine_Transformation
-    "affine preimage" of
-    \p *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
-
-    \param var
-    The variable to which the affine expression is substituted;
-
-    \param expr
-    The numerator of the affine expression;
-
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
-
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
-
-    \if Include_Implementation_Details
-
-    When considering congruences of a grid, the affine transformation
-    \f[
-      \frac{\sum_{i=0}^{n-1} a_i x_i + b}{denominator},
-    \f]
-    is assigned to \p var where \p expr is
-    \f$\sum_{i=0}^{n-1} a_i x_i + b\f$
-    (\f$b\f$ is the inhomogeneous term).
-
-    If generators are up-to-date, then the specialized function
-    affine_image() is used (for the system of generators)
-    and inverse transformation to reach the same result.
-    To obtain the inverse transformation, we use the following observation.
+    Swaps \p *this with \p y
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  void m_swap(BD_Shape& y);
 
-    Observation:
-    -# The affine transformation is invertible if the coefficient
-       of \p var in this transformation (i.e. \f$a_\mathrm{var}\f$)
-       is different from zero.
-    -# If the transformation is invertible, then we can write
-       \f[
-  	 \mathrm{denominator} * {x'}_\mathrm{var}
-	   = \sum_{i = 0}^{n - 1} a_i x_i + b
-           = a_\mathrm{var} x_\mathrm{var}
-               + \sum_{i \neq \mathrm{var}} a_i x_i + b,
-       \f],
-       the inverse transformation is
-       \f[
-	 a_\mathrm{var} x_\mathrm{var}
-           = \mathrm{denominator} * {x'}_\mathrm{var}
-               - \sum_{i \neq j} a_i x_i - b.
-       \f].
+  //! Destructor.
+  ~BD_Shape();
 
-    Then, if the transformation is invertible, all the entities that
-    were up-to-date remain up-to-date. Otherwise only congruences remain
-    up-to-date.
+  //@} Constructors, Assignment, Swap and Destructor
 
-    \endif
-  */
-  void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+  //! \name Member Functions that Do Not Modify the BD_Shape
+  //@{
+
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to
-    the \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
-    \pmod{\mathrm{modulus}}\f$.
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
+    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
+    of \p *this.
+  */
+  dimension_type affine_dimension() const;
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+  //! Returns a system of constraints defining \p *this.
+  Constraint_System constraints() const;
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+  //! Returns a minimized system of constraints defining \p *this.
+  Constraint_System minimized_constraints() const;
 
-    \param expr
-    The numerator of the right hand side affine expression;
+  //! Returns a system of (equality) congruences satisfied by \p *this.
+  Congruence_System congruences() const;
 
-    \param denominator
-    The denominator of the right hand side affine expression.
-    Optional argument with an automatic value of one;
+  /*! \brief
+    Returns a minimal system of (equality) congruences
+    satisfied by \p *this with the same affine dimension as \p *this.
+  */
+  Congruence_System minimized_congruences() const;
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
     \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p
-    *this.
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  void
-  generalized_affine_image(Variable var,
-			   Relation_Symbol relsym,
-			   const Linear_Expression& expr,
-			   Coefficient_traits::const_reference denominator
-			   = Coefficient_one(),
-			   Coefficient_traits::const_reference modulus
-			   = Coefficient_zero());
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
   /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
-    \pmod{\mathrm{modulus}}\f$.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value is computed.
 
     \param expr
-    The numerator of the right hand side affine expression;
+    The linear expression to be maximized subject to \p *this;
 
-    \param denominator
-    The denominator of the right hand side affine expression.
-    Optional argument with an automatic value of one;
+    \param sup_n
+    The numerator of the supremum value;
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+    \param sup_d
+    The denominator of the supremum value;
+
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
 
     \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p
-    *this.
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
+    and \p maximum are left untouched.
   */
-  void
-  generalized_affine_preimage(Variable var,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator
-			      = Coefficient_one(),
-			      Coefficient_traits::const_reference modulus
-			      = Coefficient_zero());
+  bool maximize(const Linear_Expression& expr,
+                Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to
-    the \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value and a point where \p expr reaches it are computed.
 
-    \param lhs
-    The left hand side affine expression.
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+    \param sup_n
+    The numerator of the supremum value;
 
-    \param rhs
-    The right hand side affine expression.
+    \param sup_d
+    The denominator of the supremum value;
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p g are left untouched.
   */
-  void
-  generalized_affine_image(const Linear_Expression& lhs,
-			   Relation_Symbol relsym,
-			   const Linear_Expression& rhs,
-			   Coefficient_traits::const_reference modulus
-			   = Coefficient_zero());
+  bool maximize(const Linear_Expression& expr,
+                Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+                Generator& g) const;
 
   /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value is computed.
 
-    \param lhs
-    The left hand side affine expression;
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+    \param inf_n
+    The numerator of the infimum value;
 
-    \param rhs
-    The right hand side affine expression;
+    \param inf_d
+    The denominator of the infimum value;
 
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
   */
-  void
-  generalized_affine_preimage(const Linear_Expression& lhs,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& rhs,
-			      Coefficient_traits::const_reference modulus
-			      = Coefficient_zero());
+  bool minimize(const Linear_Expression& expr,
+                Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-  /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value and a point where \p expr reaches it are computed.
 
-    \param var
-    The variable updated by the affine relation;
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+    \param inf_n
+    The numerator of the infimum value;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+    \param inf_d
+    The denominator of the infimum value;
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+
+    \param g
+    When minimization succeeds, will be assigned a point or
+    closure point where \p expr reaches its infimum value.
 
     \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p g are left untouched.
   */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
+  bool minimize(const Linear_Expression& expr,
+                Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+                Generator& g) const;
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
 
-    \param var
-    The variable updated by the affine relation;
+    \param expr
+    The linear expression for which the frequency is needed;
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+    \param val_n
+    The numerator of \p val;
+
+    \param val_d
+    The denominator of \p val;
 
     \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
   */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
 
-  /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
-    "time-elapse" between \p *this and \p y.
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const BD_Shape& y) const;
 
+  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+  /*!
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void time_elapse_assign(const Grid& y);
+  bool strictly_contains(const BD_Shape& y) const;
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
+  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool is_disjoint_from(const BD_Shape& y) const;
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+  //! Returns the relations holding between \p *this and the constraint \p c.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  //! Returns the relations holding between \p *this and the congruence \p cg.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  //! Returns the relations holding between \p *this and the generator \p g.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  Poly_Gen_Relation relation_with(const Generator& g) const;
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  //! Returns <CODE>true</CODE> if and only if \p *this is an empty BDS.
+  bool is_empty() const;
 
-    \param pcs
-    Possibly null pointer to a constraint system.
-    This argument is for compatibility with wrap_assign()
-    for the other domains and only checked for dimension-compatibility.
+  //! Returns <CODE>true</CODE> if and only if \p *this is a universe BDS.
+  bool is_universe() const;
 
-    \param complexity_threshold
-    A precision parameter of the \ref Wrapping_Operator "wrapping operator".
-    This argument is for compatibility with wrap_assign()
-    for the other domains and is ignored.
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  bool is_discrete() const;
 
-    \param wrap_individually
-    <CODE>true</CODE> if the dimensions should be wrapped individually.
-    As wrapping dimensions collectively does not improve the precision,
-    this argument is ignored.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a topologically closed subset of the vector space.
+  */
+  bool is_topologically_closed() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
+  //! Returns <CODE>true</CODE> if and only if \p *this is a bounded BDS.
+  bool is_bounded() const;
 
-    \warning
-    It is assumed that variables in \p Vars represent integers.  Thus,
-    where the extra cost is negligible, the integrality of these
-    variables is enforced; possibly causing a non-integral grid to
-    become empty.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
   */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+  bool contains_integer_point() const;
 
   /*! \brief
-    Possibly tightens \p *this by dropping all points with non-integer
-    coordinates.
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-    \param complexity
-    This argument is ignored as the algorithm used has polynomial
-    complexity.
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
   */
-   void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+  bool constrains(Variable var) const;
 
   /*! \brief
-    Possibly tightens \p *this by dropping all points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
-
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
-
-    \param complexity
-    This argument is ignored as the algorithm used has polynomial
-    complexity.
+    Returns <CODE>true</CODE> if and only if \p *this satisfies
+    all its invariants.
   */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+  bool OK() const;
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+  //@} Member Functions that Do Not Modify the BD_Shape
 
-  /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using congruence systems.
+  //! \name Space-Dimension Preserving Member Functions that May Modify the BD_Shape
+  //@{
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+  /*! \brief
+    Adds a copy of constraint \p c to the system of bounded differences
+    defining \p *this.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \param c
+    The constraint to be added.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Thrown if \p *this and constraint \p c are dimension-incompatible,
+    or \p c is not optimally supported by the BD shape domain.
   */
-  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
+  void add_constraint(const Constraint& c);
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using generator systems.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    Adds a copy of congruence \p cg to the system of congruences of \p *this.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \param cg
+    The congruence to be added.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Thrown if \p *this and congruence \p cg are dimension-incompatible,
+    or \p cg is not optimally supported by the BD shape domain.
   */
-  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
+  void add_congruence(const Congruence& cg);
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y.
-
-    This widening uses either the congruence or generator systems
-    depending on which of the systems describing x and y
-    are up to date and minimized.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    Adds the constraints in \p cs to the system of bounded differences
+    defining \p *this.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \param  cs
+    The constraints that will be added.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the BD shape domain.
   */
-  void widening_assign(const Grid& y, unsigned* tp = NULL);
+  void add_constraints(const Constraint_System& cs);
 
   /*! \brief
-    Improves the result of the congruence variant of
-    \ref Grid_Widening "Grid widening" computation by also enforcing
-    those congruences in \p cgs that are satisfied by all the points
+    Adds the constraints in \p cs to the system of constraints
     of \p *this.
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    \param cs
+    The constraint system to be added to \p *this.  The constraints in
+    \p cs may be recycled.
 
-    \param cgs
-    The system of congruences used to improve the widened grid;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the BD shape domain.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \warning
+    The only assumption that can be made on \p cs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
+
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+
+    \param cgs
+    Contains the congruences that will be added to the system of
+    constraints of \p *this.
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the BD shape domain.
   */
-  void limited_congruence_extrapolation_assign(const Grid& y,
-					       const Congruence_System& cgs,
-					       unsigned* tp = NULL);
+  void add_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Improves the result of the generator variant of the
-    \ref Grid_Widening "Grid widening"
-    computation by also enforcing those congruences in \p cgs that are
-    satisfied by all the points of \p *this.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
     \param cgs
-    The system of congruences used to improve the widened grid;
-
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    Contains the congruences that will be added to the system of
+    constraints of \p *this. Its elements may be recycled.
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the BD shape domain.
+
+    \warning
+    The only assumption that can be made on \p cgs upon successful or
+    exceptional return is that it can be safely destroyed.
   */
-  void limited_generator_extrapolation_assign(const Grid& y,
-					      const Congruence_System& cgs,
-					      unsigned* tp = NULL);
+  void add_recycled_congruences(Congruence_System& cgs);
 
   /*! \brief
-    Improves the result of the \ref Grid_Widening "Grid widening"
-    computation by also enforcing those congruences in \p cgs that are
-    satisfied by all the points of \p *this.
-
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
-
-    \param cgs
-    The system of congruences used to improve the widened grid;
+    Uses a copy of constraint \p c to refine the system of bounded differences
+    defining \p *this.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \param c
+    The constraint. If it is not a bounded difference, it will be ignored.
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cgs are dimension-incompatible.
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  void limited_extrapolation_assign(const Grid& y,
-				    const Congruence_System& cgs,
-				    unsigned* tp = NULL);
+  void refine_with_constraint(const Constraint& c);
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+  /*! \brief
+    Uses a copy of congruence \p cg to refine the system of
+    bounded differences  of \p *this.
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+    \param cg
+    The congruence. If it is not a bounded difference equality, it
+    will be ignored.
 
-  /*! \brief
-    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
-    \p m new space dimensions and embeds the old grid in the new
-    vector space.
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-    \param m
-    The number of dimensions to add.
+  /*! \brief
+    Uses a copy of the constraints in \p cs to refine the system of
+    bounded differences defining \p *this.
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
+    \param  cs
+    The constraint system to be used. Constraints that are not bounded
+    differences are ignored.
 
-    The new space dimensions will be those having the highest indexes
-    in the new grid, which is characterized by a system of congruences
-    in which the variables which are the new dimensions can have any
-    value.  For instance, when starting from the grid \f$\cL \sseq
-    \Rset^2\f$ and adding a third space dimension, the result will be
-    the grid
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cL
-      \,\bigr\}.
-    \f]
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
   */
-  void add_space_dimensions_and_embed(dimension_type m);
+  void refine_with_constraints(const Constraint_System& cs);
 
   /*! \brief
-    \ref Adding_New_Dimensions_to_the_Vector_Space "Adds"
-    \p m new space dimensions to the grid and does not embed it
-    in the new vector space.
-
-    \param m
-    The number of space dimensions to add.
+    Uses a copy of the congruences in \p cgs to refine the system of
+    bounded differences defining \p *this.
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+    \param  cgs
+    The congruence system to be used. Congruences that are not bounded
+    difference equalities are ignored.
 
-    The new space dimensions will be those having the highest indexes
-    in the new grid, which is characterized by a system of congruences
-    in which the variables running through the new dimensions are all
-    constrained to be equal to 0.  For instance, when starting from
-    the grid \f$\cL \sseq \Rset^2\f$ and adding a third space
-    dimension, the result will be the grid
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cL
-      \,\bigr\}.
-    \f]
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
   */
-  void add_space_dimensions_and_project(dimension_type m);
+  void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation" of
-    \p *this and \p y, taken in this order.
+    Refines the system of BD_Shape constraints defining \p *this using
+    the constraint expressed by \p left \f$\leq\f$ \p right.
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void concatenate_assign(const Grid& y);
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
 
-  //! Removes all the specified dimensions from the vector space.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
+
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
   */
-  void remove_space_dimensions(const Variables_Set& vars);
+  template <typename Interval_Info>
+  void refine_with_linear_form_inequality(
+                   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
 
   /*! \brief
-    Removes the higher dimensions of the vector space so that the
-    resulting space will have \ref Removing_Dimensions_from_the_Vector_Space
-    "dimension \p new_dimension."
+    Refines the system of BD_Shape constraints defining \p *this using
+    the constraint expressed by \p left \f$\relsym\f$ \p right, where
+    \f$\relsym\f$ is the relation symbol specified by \p relsym.
+
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
+
+    \param relsym
+    The relation symbol.
 
     \exception std::invalid_argument
-    Thrown if \p new_dimensions is greater than the space dimension of
-    \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
 
-    If \p pfunc maps only some of the dimensions of \p *this then the
-    rest will be projected away.
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+                   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right,
+                   Relation_Symbol relsym);
 
-    If the highest dimension mapped to by \p pfunc is higher than the
-    highest dimension in \p *this then the number of dimensions in \p
-    *this will be increased to the highest dimension mapped to by \p
-    pfunc.
+  //! Applies to \p dest the interval constraints embedded in \p *this.
+  /*!
+    \param dest
+    The object to which the constraints will be added.
 
-    \param pfunc
-    The partial function specifying the destiny of each space
-    dimension.
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest.
 
-    The template type parameter Partial_Function must provide
-    the following methods.
+    The template type parameter U must provide the following methods.
     \code
-      bool has_empty_codomain() const
+      dimension_type space_dimension() const
     \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty codomain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
+    returns the space dimension of the object.
     \code
-      dimension_type max_in_codomain() const
+      void set_empty()
     \endcode
-    returns the maximum value that belongs to the codomain of the
-    partial function.
-    The <CODE>max_in_codomain()</CODE> method is called at most once.
+    sets the object to an empty object.
     \code
-      bool maps(dimension_type i, dimension_type& j) const
+      bool restrict_lower(dimension_type dim, const T& lb)
     \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
-    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
-    This method is called at most \f$n\f$ times, where \f$n\f$ is the
-    dimension of the vector space enclosing the grid.
-
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
+    restricts the object by applying the lower bound \p lb to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+    \code
+      bool restrict_upper(dimension_type dim, const T& ub)
+    \endcode
+    restricts the object by applying the upper bound \p ub to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
   */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+  template <typename U>
+  void export_interval_constraints(U& dest) const;
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-    \param m
-    The number of replicas to be created.
+    \param var
+    The space dimension that will be unconstrained.
 
     \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector
-    space.
-
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
-
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
-    "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+    Thrown if \p var is not a space dimension of \p *this.
   */
-  void expand_space_dimension(Variable var, dimension_type m);
+  void unconstrain(Variable var);
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+    \param vars
+    The set of space dimension that will be unconstrained.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.  Also
-    thrown if \p dest is contained in \p vars.
-
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are
-    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension "folded"
-    into the \f$k\f$-th space dimension.
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
   */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
-
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
-
-  friend bool operator==(const Grid& x, const Grid& y);
-
-  friend class Parma_Polyhedra_Library::Grid_Certificate;
+  void unconstrain(const Variables_Set& vars);
 
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+  //! Assigns to \p *this the intersection of \p *this and \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const BD_Shape& y);
 
-  //! \name Miscellaneous Member Functions
-  //@{
+  /*! \brief
+    Assigns to \p *this the smallest BDS containing the union
+    of \p *this and \p y.
 
-  //! Destructor.
-  ~Grid();
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const BD_Shape& y);
 
   /*! \brief
-    Swaps \p *this with grid \p y.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  void swap(Grid& y);
+    If the upper bound of \p *this and \p y is exact, it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
-  PPL_OUTPUT_DECLARATIONS
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
+    otherwise <CODE>false</CODE> is returned.
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \note
+    The integer upper bound of two rational BDS is the smallest rational
+    BDS containing all the integral points of the two arguments.
+    This method requires that the coefficient type parameter \c T is
+    an integral type.
+  */
+  bool integer_upper_bound_assign_if_exact(const BD_Shape& y);
 
   /*! \brief
-    Returns a 32-bit hash code for \p *this.
+    Assigns to \p *this the smallest BD shape containing
+    the set difference of \p *this and \p y.
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  int32_t hash_code() const;
-
-  //@} // Miscellaneous Member Functions
+  void difference_assign(const BD_Shape& y);
 
-private:
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
 
-  //! The system of congruences.
-  Congruence_System con_sys;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const BD_Shape& y);
 
-  //! The system of generators.
-  Grid_Generator_System gen_sys;
+  /*! \brief
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression specified by \p expr and \p denominator.
 
-#define PPL_IN_Grid_CLASS
-/* Automatically generated from PPL source file ../src/Grid_Status.idefs.hh line 1. */
-/* Grid::Status class declaration.
-*/
+    \param var
+    The variable to which the affine expression is assigned.
 
+    \param expr
+    The numerator of the affine expression.
 
-#ifndef PPL_IN_Grid_CLASS
-#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
-#endif
+    \param denominator
+    The denominator of the affine expression.
 
-//! A conjunctive assertion about a grid.
-/*!
-  The assertions supported that are in use are:
-  - <EM>zero-dim universe</EM>: the grid is the zero-dimension
-    vector space \f$\Rset^0 = \{\cdot\}\f$;
-  - <EM>empty</EM>: the grid is the empty set;
-  - <EM>congruences up-to-date</EM>: the grid is correctly
-    characterized by the attached system of congruences, modulo the
-    processing of pending generators;
-  - <EM>generators up-to-date</EM>: the grid is correctly
-    characterized by the attached system of generators, modulo the
-    processing of pending congruences;
-  - <EM>congruences minimized</EM>: the non-pending part of the system
-    of congruences attached to the grid is in minimal form;
-  - <EM>generators minimized</EM>: the non-pending part of the system
-    of generators attached to the grid is in minimal form.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension of \p *this.
+  */
+  void affine_image(Variable var,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference denominator
+                    = Coefficient_one());
 
-  Other supported assertions are:
-  - <EM>congruences pending</EM>
-  - <EM>generators pending</EM>
-  - <EM>congruences' saturation matrix up-to-date</EM>
-  - <EM>generators' saturation matrix up-to-date</EM>.
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>zero-dim universe</EM> excludes any other assertion;
-  - <EM>empty</EM>: excludes any other assertion;
-  - <EM>congruences pending</EM> and <EM>generators pending</EM>
-    are mutually exclusive;
-  - <EM>congruences pending</EM> implies both <EM>congruences minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>generators pending</EM> implies both <EM>congruences minimized</EM>
-    and <EM>generators minimized</EM>;
-  - <EM>congruences minimized</EM> implies <EM>congruences up-to-date</EM>;
-  - <EM>generators minimized</EM> implies <EM>generators up-to-date</EM>;
-  - <EM>congruences' saturation matrix up-to-date</EM> implies both
-    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>;
-  - <EM>generators' saturation matrix up-to-date</EM> implies both
-    <EM>congruences up-to-date</EM> and <EM>generators up-to-date</EM>.
-*/
-class Status {
-public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
-  Status();
+    \param var
+    The variable to which the affine expression is assigned.
 
-  //! \name Test, remove or add an individual assertion from the conjunction
-  //@{
-  bool test_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+    \param lf
+    The linear form on intervals with floating point coefficients that
+    defines the affine expression. ALL of its coefficients MUST be bounded.
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
+  */
+  template <typename Interval_Info>
+  void affine_form_image(Variable var,
+                        const Linear_Form<Interval<T, Interval_Info> >& lf);
 
-  bool test_c_up_to_date() const;
-  void reset_c_up_to_date();
-  void set_c_up_to_date();
+  /*! \brief
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine preimage"
+    of \p *this under the function mapping variable \p var into the
+    affine expression specified by \p expr and \p denominator.
 
-  bool test_g_up_to_date() const;
-  void reset_g_up_to_date();
-  void set_g_up_to_date();
+    \param var
+    The variable to which the affine expression is substituted.
 
-  bool test_c_minimized() const;
-  void reset_c_minimized();
-  void set_c_minimized();
+    \param expr
+    The numerator of the affine expression.
 
-  bool test_g_minimized() const;
-  void reset_g_minimized();
-  void set_g_minimized();
+    \param denominator
+    The denominator of the affine expression.
 
-  bool test_sat_c_up_to_date() const;
-  void reset_sat_c_up_to_date();
-  void set_sat_c_up_to_date();
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension of \p *this.
+  */
+  void affine_preimage(Variable var,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator
+                       = Coefficient_one());
 
-  bool test_sat_g_up_to_date() const;
-  void reset_sat_g_up_to_date();
-  void set_sat_g_up_to_date();
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
 
-  bool test_c_pending() const;
-  void reset_c_pending();
-  void set_c_pending();
+    \param var
+    The left hand side variable of the generalized affine transfer function.
 
-  bool test_g_pending() const;
-  void reset_g_pending();
-  void set_g_pending();
-  //@} // Test, remove or add an individual assertion from the conjunction
+    \param relsym
+    The relation symbol.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \param expr
+    The numerator of the right hand side affine expression.
 
-  PPL_OUTPUT_DECLARATIONS
+    \param denominator
+    The denominator of the right hand side affine expression.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension
+    of \p *this or if \p relsym is a strict relation symbol.
   */
-  bool ascii_load(std::istream& s);
+  void generalized_affine_image(Variable var,
+                                Relation_Symbol relsym,
+                                const Linear_Expression& expr,
+                                Coefficient_traits::const_reference denominator
+                                = Coefficient_one());
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-  //! \name Bitmasks for the individual assertions
-  //@{
-  static const flags_t ZERO_DIM_UNIV    = 0U;
-  static const flags_t EMPTY            = 1U << 0;
-  static const flags_t C_UP_TO_DATE     = 1U << 1;
-  static const flags_t G_UP_TO_DATE     = 1U << 2;
-  static const flags_t C_MINIMIZED      = 1U << 3;
-  static const flags_t G_MINIMIZED      = 1U << 4;
-  static const flags_t SAT_C_UP_TO_DATE = 1U << 5;
-  static const flags_t SAT_G_UP_TO_DATE = 1U << 6;
-  static const flags_t CS_PENDING       = 1U << 7;
-  static const flags_t GS_PENDING       = 1U << 8;
-  //@} // Bitmasks for the individual assertions
+    \param lhs
+    The left hand side affine expression.
 
-  //! This holds the current bitset.
-  flags_t flags;
+    \param relsym
+    The relation symbol.
 
-  //! Construct from a bitmask.
-  Status(flags_t mask);
+    \param rhs
+    The right hand side affine expression.
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_image(const Linear_Expression& lhs,
+                                Relation_Symbol relsym,
+                                const Linear_Expression& rhs);
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+    \param var
+    The left hand side variable of the generalized affine transfer function.
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+    \param relsym
+    The relation symbol.
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1973. */
-#undef PPL_IN_Grid_CLASS
+    \param expr
+    The numerator of the right hand side affine expression.
 
-  //! The status flags to keep track of the grid's internal state.
-  Status status;
+    \param denominator
+    The denominator of the right hand side affine expression.
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension
+    of \p *this or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_preimage(Variable var,
+                                   Relation_Symbol relsym,
+                                   const Linear_Expression& expr,
+                                   Coefficient_traits::const_reference
+                                   denominator = Coefficient_one());
 
-  enum Dimension_Kind {
-    PARAMETER,
-    LINE,
-    GEN_VIRTUAL,
-    PROPER_CONGRUENCE = PARAMETER,
-    CON_VIRTUAL = LINE,
-    EQUALITY = GEN_VIRTUAL
-  };
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-  typedef std::vector<Dimension_Kind> Dimension_Kinds;
+    \param lhs
+    The left hand side affine expression.
 
-  // The type of row associated with each dimension.  If the virtual
-  // rows existed then the reduced systems would be square and upper
-  // or lower triangular, and the rows in each would have the types
-  // given in this vector.  As the congruence system is reduced to an
-  // upside-down lower triangular form the ordering of the congruence
-  // types is last to first.
-  Dimension_Kinds dim_kinds;
+    \param relsym
+    The relation symbol.
 
-  //! Builds a grid universe or empty grid.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+    \param rhs
+    The right hand side affine expression.
 
-    \param kind
-    specifies whether the universe or the empty grid has to be built.
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p relsym is a strict relation symbol.
   */
-  void construct(dimension_type num_dimensions, Degenerate_Element kind);
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+                                   Relation_Symbol relsym,
+                                   const Linear_Expression& rhs);
 
-  //! Builds a grid from a system of congruences.
   /*!
-    The grid inherits the space dimension of the congruence system.
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-    \param cgs
-    The system of congruences defining the grid. Its data-structures
-    may be recycled to build the grid.
-  */
-  void construct(Congruence_System& cgs);
+    \param var
+    The variable updated by the affine relation;
 
-  //! Builds a grid from a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-    \param ggs
-    The system of grid generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
-  */
-  void construct(Grid_Generator_System& ggs);
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  //! \name Private Verifiers: Verify if Individual Flags are Set
-  //@{
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-  //! Returns <CODE>true</CODE> if the grid is known to be empty.
-  /*!
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
   */
-  bool marked_empty() const;
-
-  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
-  bool congruences_are_up_to_date() const;
+  void bounded_affine_image(Variable var,
+                            const Linear_Expression& lb_expr,
+                            const Linear_Expression& ub_expr,
+                            Coefficient_traits::const_reference denominator
+                            = Coefficient_one());
 
-  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
-  bool generators_are_up_to_date() const;
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
-  bool congruences_are_minimized() const;
+    \param var
+    The variable updated by the affine relation;
 
-  //! Returns <CODE>true</CODE> if the system of generators is minimized.
-  bool generators_are_minimized() const;
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  //@} // Private Verifiers: Verify if Individual Flags are Set
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  //! \name State Flag Setters: Set Only the Specified Flags
-  //@{
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-  /*! \brief
-    Sets \p status to express that the grid is the universe
-    0-dimension vector space, clearing all corresponding matrices.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
   */
-  void set_zero_dim_univ();
-
+  void bounded_affine_preimage(Variable var,
+                               const Linear_Expression& lb_expr,
+                               const Linear_Expression& ub_expr,
+                               Coefficient_traits::const_reference denominator
+                               = Coefficient_one());
   /*! \brief
-    Sets \p status to express that the grid is empty, clearing all
-    corresponding matrices.
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void set_empty();
+  void time_elapse_assign(const BD_Shape& y);
 
-  //! Sets \p status to express that congruences are up-to-date.
-  void set_congruences_up_to_date();
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-  //! Sets \p status to express that generators are up-to-date.
-  void set_generators_up_to_date();
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-  //! Sets \p status to express that congruences are minimized.
-  void set_congruences_minimized();
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  //! Sets \p status to express that generators are minimized.
-  void set_generators_minimized();
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  //@} // State Flag Setters: Set Only the Specified Flags
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  //! \name State Flag Cleaners: Clear Only the Specified Flag
-  //@{
+    \param cs_p
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
-  //! Clears the \p status flag indicating that the grid is empty.
-  void clear_empty();
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
 
-  //! Sets \p status to express that congruences are out of date.
-  void clear_congruences_up_to_date();
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
 
-  //! Sets \p status to express that generators are out of date.
-  void clear_generators_up_to_date();
+    \exception std::invalid_argument
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*cs_p</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-  //! Sets \p status to express that congruences are no longer minimized.
-  void clear_congruences_minimized();
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
 
-  //! Sets \p status to express that generators are no longer minimized.
-  void clear_generators_minimized();
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-  //@} // State Flag Cleaners: Clear Only the Specified Flag
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-  //! \name Updating Matrices
-  //@{
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-  //! Updates and minimizes the congruences from the generators.
-  void update_congruences() const;
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-  //! Updates and minimizes the generators from the congruences.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty grid.
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-    It is illegal to call this method when the Status field already
-    declares the grid to be empty.
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-  bool update_generators() const;
-
-  //@} // Updating Matrices
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-  //! \name Minimization of Descriptions
-  //@{
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-  //! Minimizes both the congruences and the generators.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty grid.
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
 
-    Minimization is performed on each system only if the minimized
-    Status field is clear.
-  */
-  bool minimize() const;
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-  //@} // Minimization of Descriptions
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  enum Three_Valued_Boolean {
-    TVB_TRUE,
-    TVB_FALSE,
-    TVB_DONT_KNOW
-  };
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp = 0);
 
-  //! Polynomial but incomplete equivalence test between grids.
-  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
-  bool is_included_in(const Grid& y) const;
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+    \param first
+    An iterator referencing the first stop-point.
 
-    \param expr
-    The linear expression to test;
+    \param last
+    An iterator referencing one past the last stop-point.
 
-    \param method_call
-    The call description of the public parent method, for example
-    "bounded_from_above(e)".  Passed to throw_dimension_incompatible,
-    as the first argument.
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  bool bounds(const Linear_Expression& expr, const char* method_call) const;
-
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
-
-    \param method_call
-    The call description of the public parent method, for example
-    "maximize(e)".  Passed to throw_dimension_incompatible, as the
-    first argument;
-
-    \param ext_n
-    The numerator of the extremum value;
+  template <typename Iterator>
+  void CC76_extrapolation_assign(const BD_Shape& y,
+                                 Iterator first, Iterator last,
+                                 unsigned* tp = 0);
 
-    \param ext_d
-    The denominator of the extremum value;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref BHMZ05_widening "BHMZ05-widening" of \p *this and \p y.
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr in \p
-    *this can actually be reached (which is always the case);
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-    \param point
-    When maximization or minimization succeeds, will be assigned the
-    point where \p expr reaches the extremum value.
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p point are left untouched.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  bool max_min(const Linear_Expression& expr,
-	       const char* method_call,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator* point = NULL) const;
+  void BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp = 0);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \ref Grid_Frequency "frequency" for \p *this with respect to \p expr
-    is defined, in which case the frequency and the value for \p expr
-    that is closest to zero are computed.
-
-    \param expr
-    The linear expression for which the frequency is needed;
+    Improves the result of the \ref BHMZ05_widening "BHMZ05-widening"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
 
-    \param freq_n
-    The numerator of the maximum frequency of \p expr;
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-    \param freq_d
-    The denominator of the maximum frequency of \p expr;
+    \param cs
+    The system of constraints used to improve the widened BDS.
 
-    \param val_n
-    The numerator of a value of \p expr at a point in the grid
-    that is closest to zero;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-    \param val_d
-    The denominator of a value of \p expr at a point in the grid
-    that is closest to zero;
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if \p cs contains a strict inequality.
+  */
+  void limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
+                                           const Constraint_System& cs,
+                                           unsigned* tp = 0);
 
-    If \p *this is empty or frequency is undefined with respect to \p expr,
-    then <CODE>false</CODE> is returned and \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
+  /*! \brief
+    Assigns to \p *this the result of restoring in \p y the constraints
+    of \p *this that were lost by
+    \ref CC76_extrapolation "CC76-extrapolation" applications.
 
-    \warning
-    If \p expr and \p *this are dimension-incompatible,
-    the grid generator system is not minimized or \p *this is
-    empty, then the behavior is undefined.
-  */
-  bool frequency_no_check(const Linear_Expression& expr,
-		Coefficient& freq_n, Coefficient& freq_d,
-		Coefficient& val_n, Coefficient& val_d) const;
+    \param y
+    A BDS that <EM>must</EM> contain \p *this.
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-    \param expr
-    The linear expression to test;
+    \note
+    As was the case for widening operators, the argument \p y is meant to
+    denote the value computed in the previous iteration step, whereas
+    \p *this denotes the value computed in the current iteration step
+    (in the <EM>decreasing</EM> iteration sequence). Hence, the call
+    <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
+    the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
   */
-  bool bounds_no_check(const Linear_Expression& expr) const;
+  void CC76_narrowing_assign(const BD_Shape& y);
 
   /*! \brief
-    Adds the congruence \p cg to \p *this.
+    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the grid generator system is not minimized or \p *this is
-    empty, then the behavior is undefined.
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
+
+    \param cs
+    The system of constraints used to improve the widened BDS.
+
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
+
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if \p cs contains a strict inequality.
   */
-  void add_congruence_no_check(const Congruence& cg);
+  void limited_CC76_extrapolation_assign(const BD_Shape& y,
+                                         const Constraint_System& cs,
+                                         unsigned* tp = 0);
 
   /*! \brief
-    Uses the constraint \p c to refine \p *this.
+    Assigns to \p *this the result of computing the
+    \ref H79_widening "H79-widening" between \p *this and \p y.
 
-    \param c
-    The constraint to be added.
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-    \exception std::invalid_argument
-    Thrown if c is a non-trivial inequality constraint.
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void add_constraint_no_check(const Constraint& c);
+  void H79_widening_assign(const BD_Shape& y, unsigned* tp = 0);
+
+  //! Same as H79_widening_assign(y, tp).
+  void widening_assign(const BD_Shape& y, unsigned* tp = 0);
 
   /*! \brief
-    Uses the constraint \p c to refine \p *this.
+    Improves the result of the \ref H79_widening "H79-widening"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
 
-    \param c
-    The constraint to be added.
-    Non-trivial inequalities are ignored.
+    \param y
+    A BDS that <EM>must</EM> be contained in \p *this.
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param cs
+    The system of constraints used to improve the widened BDS.
+
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
+
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
   */
-  void refine_no_check(const Constraint& c);
+  void limited_H79_extrapolation_assign(const BD_Shape& y,
+                                        const Constraint_System& cs,
+                                        unsigned* tp = 0);
 
-  //! \name Widening- and Extrapolation-Related Functions
+  //@} Space-Dimension Preserving Member Functions that May Modify [...]
+
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
   //@{
 
-  //! Copies a widened selection of congruences from \p y to \p selected_cgs.
-  void select_wider_congruences(const Grid& y,
-				Congruence_System& selected_cgs) const;
+  //! Adds \p m new dimensions and embeds the old BDS into the new space.
+  /*!
+    \param m
+    The number of dimensions to add.
 
-  //! Copies widened generators from \p y to \p widened_ggs.
-  void select_wider_generators(const Grid& y,
-                               Grid_Generator_System& widened_ggs) const;
+    The new dimensions will be those having the highest indexes in the new
+    BDS, which is defined by a system of bounded differences in which the
+    variables running through the new dimensions are unconstrained.
+    For instance, when starting from the BDS \f$\cB \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the BDS
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cB
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-  //@} // Widening- and Extrapolation-Related Functions
+  /*! \brief
+    Adds \p m new dimensions to the BDS and does not embed it in
+    the new vector space.
 
-  //! Adds new space dimensions to the given systems.
-  /*!
-    \param cgs
-    A congruence system, to which columns are added;
+    \param m
+    The number of dimensions to add.
 
-    \param gs
-    A generator system, to which rows and columns are added;
+    The new dimensions will be those having the highest indexes in the
+    new BDS, which is defined by a system of bounded differences in
+    which the variables running through the new dimensions are all
+    constrained to be equal to 0.
+    For instance, when starting from the BDS \f$\cB \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the BDS
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cB
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-    \param dims
-    The number of space dimensions to add.
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
 
-    This method is invoked only by
-    <CODE>add_space_dimensions_and_embed()</CODE>.
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
   */
-  void add_space_dimensions(Congruence_System& cgs,
-			    Grid_Generator_System& gs,
-			    dimension_type dims);
+  void concatenate_assign(const BD_Shape& y);
 
-  //! Adds new space dimensions to the given systems.
+  //! Removes all the specified dimensions.
   /*!
-    \param gs
-    A generator system, to which columns are added;
+    \param vars
+    The set of Variable objects corresponding to the dimensions to be removed.
 
-    \param cgs
-    A congruence system, to which rows and columns are added;
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the Variable
+    objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-    \param dims
-    The number of space dimensions to add.
+  /*! \brief
+    Removes the higher dimensions so that the resulting space
+    will have dimension \p new_dimension.
 
-    This method is invoked only by
-    <CODE>add_space_dimensions_and_project()</CODE>.
+    \exception std::invalid_argument
+    Thrown if \p new_dimension is greater than the space dimension
+    of \p *this.
   */
-  void add_space_dimensions(Grid_Generator_System& gs,
-			    Congruence_System& cgs,
-			    dimension_type dims);
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-  //! \name Minimization-related Static Member Functions
-  //@{
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-  //! Normalizes the divisors in \p sys.
+    \param pfunc
+    The partial function specifying the destiny of each dimension.
+
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty co-domain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the co-domain
+    of the partial function.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.
+    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
+    returned.
+
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space
+    "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
+
+  //! Creates \p m copies of the space dimension corresponding to \p var.
   /*!
-    Converts \p sys to an equivalent system in which the divisors are
-    of equal value.
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-    \param sys
-    The generator system to be normalized.  It must have at least one
-    row.
+    \param m
+    The number of replicas to be created.
 
-    \param divisor
-    A reference to the initial value of the divisor.  The resulting
-    value of this object is the new system divisor.
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector space.
 
-    \param first_point
-    If \p first_point has a value other than NULL then it is taken as
-    the first point in \p sys, and it is assumed that any following
-    points have the same divisor as \p first_point.
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref expand_space_dimension "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
   */
-  static void
-  normalize_divisors(Grid_Generator_System& sys,
-		     Coefficient& divisor,
-		     const Grid_Generator* first_point = NULL);
+  void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Normalizes the divisors in \p sys.
+  //! Folds the space dimensions in \p vars into \p dest.
   /*!
-    Converts \p sys to an equivalent system in which the divisors are
-    of equal value.
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-    \param sys
-    The generator system to be normalized.  It must have at least one
-    row.
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
+    into the \f$k\f$-th space dimension.
   */
-  static void
-  normalize_divisors(Grid_Generator_System& sys);
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-  //! Normalize all the divisors in \p sys and \p gen_sys.
+  //! Refines \p store with the constraints defining \p *this.
   /*!
-    Modify \p sys and \p gen_sys to use the same single divisor value
-    for all generators, leaving each system representing the grid it
-    represented originally.
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename Interval_Info>
+  void refine_fp_interval_abstract_store(Box<Interval<T, Interval_Info> >&
+                                         store) const;
 
-    \param sys
-    The first of the generator systems to be normalized.
 
-    \param gen_sys
-    The second of the generator systems to be normalized.  This system
-    must have at least one row and the divisors of the generators in
-    this system must be equal.
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-    \exception std::runtime_error
-    Thrown if all rows in \p gen_sys are lines and/or parameters.
-  */
-  static void normalize_divisors(Grid_Generator_System& sys,
-				 Grid_Generator_System& gen_sys);
+  PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
-    Converts generator system \p dest to be equivalent to congruence
-    system \p source.
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  static void conversion(Congruence_System& source,
-			 Grid_Generator_System& dest,
-			 Dimension_Kinds& dim_kinds);
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
   /*! \brief
-    Converts congruence system \p dest to be equivalent to generator
-    system \p source.
-  */
-  static void conversion(Grid_Generator_System& source,
-			 Congruence_System& dest,
-			 Dimension_Kinds& dim_kinds);
+    Returns a 32-bit hash code for \p *this.
 
-  //! Converts \p cgs to upper triangular (i.e. minimized) form.
-  /*!
-    Returns <CODE>true</CODE> if \p cgs represents the empty set,
-    otherwise returns <CODE>false</CODE>.
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
   */
-  static bool simplify(Congruence_System& cgs,
-		       Dimension_Kinds& dim_kinds);
+  int32_t hash_code() const;
 
-  //! Converts \p gs to lower triangular (i.e. minimized) form.
-  /*!
-    Expects \p gs to contain at least one point.
-  */
-  static void simplify(Grid_Generator_System& gs,
-		       Dimension_Kinds& dim_kinds);
+  friend bool operator==<T>(const BD_Shape<T>& x, const BD_Shape<T>& y);
 
-  //! Reduces the line \p row using the line \p pivot.
-  /*!
-    Uses the line \p pivot to change the representation of the line \p
-    row so that the element at index \p col of \p row is zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_line_with_line(Grid_Generator& row,
-				    Grid_Generator& pivot,
-				    dimension_type col);
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::rectilinear_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
+   Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::euclidean_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
+   Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::l_infinity_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
+   Temp& tmp0, Temp& tmp1, Temp& tmp2);
 
-  //! Reduces the equality \p row using the equality \p pivot.
-  /*!
-    Uses the equality \p pivot to change the representation of the
-    equality \p row so that the element at index \p col of \p row is
-    zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_equality_with_equality(Congruence& row,
-					    const Congruence& pivot,
-					    dimension_type col);
+private:
+  template <typename U> friend class Parma_Polyhedra_Library::BD_Shape;
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
 
-  //! Reduces \p row using \p pivot.
-  /*!
-    Uses the point, parameter or proper congruence at \p pivot to
-    change the representation of the point, parameter or proper
-    congruence at \p row so that the element at index \p col of \p row
-    is zero.  Only elements from index \p start to index \p end are
-    modified (i.e. it is assumed that all other elements are zero).
-  */
-  // Part of Grid for access to Matrix::rows.
-  template <typename R>
-  static void reduce_pc_with_pc(R& row,
-				R& pivot,
-				dimension_type col,
-				dimension_type start,
-				dimension_type end);
+  //! The matrix representing the system of bounded differences.
+  DB_Matrix<N> dbm;
 
-  //! Reduce \p row using \p pivot.
-  /*!
-    Use the line \p pivot to change the representation of the
-    parameter \p row such that the element at index \p col of \p row
-    is zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_parameter_with_line(Grid_Generator& row,
-					 const Grid_Generator& pivot,
-					 dimension_type col,
-					 Grid_Generator_System& sys);
+#define PPL_IN_BD_Shape_CLASS
+/* Automatically generated from PPL source file ../src/BDS_Status.idefs.hh line 1. */
+/* BD_Shape<T>::Status class declaration.
+*/
 
-  //! Reduce \p row using \p pivot.
-  /*!
-    Use the equality \p pivot to change the representation of the
-    congruence \p row such that element at index \p col of \p row is
-    zero.
-  */
-  // A member of Grid for access to Matrix::rows.
-  static void reduce_congruence_with_equality(Congruence& row,
-					      const Congruence& pivot,
-					      dimension_type col,
-					      Congruence_System& sys);
 
-  //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
-  /*!
-    Required when converting (or simplifying) a congruence or generator
-    system to "strong minimal form"; informally, strong minimal form means
-    that, not only is the system in minimal form (ie a triangular matrix),
-    but also the absolute values of the coefficients of the proper congruences
-    and parameters are minimal. As a simple example, the set of congruences
-    \f$\{3x \equiv_3 0, 4x + y \equiv_3 1\}\f$,
-    (which is in minimal form) is equivalent to the set
-    \f$\{3x \equiv_3 0, x + y \equiv_3 1\}\f$
-    (which is in strong minimal form).
+#ifndef PPL_IN_BD_Shape_CLASS
+#error "Do not include BDS_Status.idefs.hh directly; use BD_Shape.defs.hh instead"
+#endif
 
-    Only consider from index \p start to index \p end of the row at \p
-    pivot_index.  Flag \p generators indicates whether \p sys is a
-    congruence or generator system.
-  */
-  template <typename M, typename R>
-  static void reduce_reduced(M& sys, dimension_type dim,
-			     dimension_type pivot_index,
-			     dimension_type start, dimension_type end,
-			     const Dimension_Kinds& dim_kinds,
-			     bool generators = true);
+//! A conjunctive assertion about a BD_Shape<T> object.
+/*! \ingroup PPL_CXX_interface
+  The assertions supported are:
+  - <EM>zero-dim universe</EM>: the BDS is the zero-dimensional
+    vector space \f$\Rset^0 = \{\cdot\}\f$;
+  - <EM>empty</EM>: the BDS is the empty set;
+  - <EM>shortest-path closed</EM>: the BDS is represented by a shortest-path
+    closed system of bounded differences, so that all the constraints are
+    as tight as possible;
+  - <EM>shortest-path reduced</EM>: the BDS is represented by a shortest-path
+    closed system of bounded differences and each constraint in such a system
+    is marked as being either redundant or non-redundant.
 
-  //! Multiply the elements of \p dest by \p multiplier.
-  // A member of Grid for access to Matrix::rows and cgs::operator[].
-  static void multiply_grid(const Coefficient& multiplier,
-			    Congruence& cg, Congruence_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>zero-dim universe</EM> excludes any other assertion;
+  - <EM>empty</EM>: excludes any other assertion;
+  - <EM>shortest-path reduced</EM> implies <EM>shortest-path closed</EM>.
+*/
+class Status {
+public:
+  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  Status();
 
-  //! Multiply the elements of \p dest by \p multiplier.
-  // A member of Grid for access to Grid_Generator::operator[].
-  static void multiply_grid(const Coefficient& multiplier,
-			    Grid_Generator& gen,
-			    Grid_Generator_System& dest,
-			    dimension_type num_rows,
-			    dimension_type num_dims);
+  //! \name Test, remove or add an individual assertion from the conjunction.
+  //@{
+  bool test_zero_dim_univ() const;
+  void reset_zero_dim_univ();
+  void set_zero_dim_univ();
 
-  /*! \brief
-    If \p sys is lower triangular return <CODE>true</CODE>, else
-    return <CODE>false</CODE>.
-  */
-  static bool lower_triangular(const Congruence_System& sys,
-			       const Dimension_Kinds& dim_kinds);
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-  /*! \brief
-    If \p sys is upper triangular return <CODE>true</CODE>, else
-    return <CODE>false</CODE>.
-  */
-  static bool upper_triangular(const Grid_Generator_System& sys,
-			       const Dimension_Kinds& dim_kinds);
+  bool test_shortest_path_closed() const;
+  void reset_shortest_path_closed();
+  void set_shortest_path_closed();
 
-#ifndef NDEBUG
-  //! Checks that trailing rows contain only zero terms.
-  /*!
-    If all columns contain zero in the rows of \p system from row
-    index \p first to row index \p last then return <code>true</code>,
-    else return <code>false</code>.  \p row_size gives the number of
-    columns in each row.
+  bool test_shortest_path_reduced() const;
+  void reset_shortest_path_reduced();
+  void set_shortest_path_reduced();
+  //@}
 
-    This method is only used in assertions in the simplify methods.
-  */
-  template <typename M, typename R>
-  static bool rows_are_zero(M& system,
-			    dimension_type first,
-			    dimension_type last,
-			    dimension_type row_size);
-#endif
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  //@} // Minimization-Related Static Member Functions
+  PPL_OUTPUT_DECLARATIONS
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-protected:
-  void throw_runtime_error(const char* method) const;
-  void throw_invalid_argument(const char* method, const char* reason) const;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-  void throw_dimension_incompatible(const char* method,
-				    const char* other_name,
-				    dimension_type other_dim) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* gr_name,
-				    const Grid& gr) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* e_name,
-				    const Linear_Expression& e) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cg_name,
-				    const Congruence& cg) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* c_name,
-				    const Constraint& c) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* g_name,
-				    const Grid_Generator& g) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* g_name,
-				    const Generator& g) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cgs_name,
-				    const Congruence_System& cgs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* cs_name,
-				    const Constraint_System& cs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* gs_name,
-				    const Grid_Generator_System& gs) const;
-  void throw_dimension_incompatible(const char* method,
-				    const char* var_name,
-				    Variable var) const;
-  void throw_dimension_incompatible(const char* method,
-				    dimension_type required_space_dim) const;
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-  // Note: it has to be a static method, because it can be called inside
-  // constructors (before actually constructing the grid object).
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
+  //! \name Bit-masks for the individual assertions.
+  //@{
+  static const flags_t ZERO_DIM_UNIV         = 0U;
+  static const flags_t EMPTY                 = 1U << 0;
+  static const flags_t SHORTEST_PATH_CLOSED  = 1U << 1;
+  static const flags_t SHORTEST_PATH_REDUCED = 1U << 2;
+  //@}
 
-  void throw_invalid_constraint(const char* method,
-                                const char* c_name) const;
-  void throw_invalid_constraints(const char* method,
-                                 const char* cs_name) const;
-  void throw_invalid_generator(const char* method,
-			       const char* g_name) const;
-  void throw_invalid_generators(const char* method,
-				const char* gs_name) const;
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //@} // Exception Throwers
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  //! This holds the current bitset.
+  flags_t flags;
+
+  //! Construct from a bit-mask.
+  Status(flags_t mask);
+
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
+
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
+
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
 };
 
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1941. */
+#undef PPL_IN_BD_Shape_CLASS
 
-namespace std {
+  //! The status flags to keep track of the internal state.
+  Status status;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid */
-void swap(Parma_Polyhedra_Library::Grid& x,
-	  Parma_Polyhedra_Library::Grid& y);
+  //! A matrix indicating which constraints are redundant.
+  Bit_Matrix redundancy_dbm;
 
-} // namespace std
+  //! Returns <CODE>true</CODE> if the BDS is the zero-dimensional universe.
+  bool marked_zero_dim_univ() const;
 
-/* Automatically generated from PPL source file ../src/Grid_Status.inlines.hh line 1. */
-/* Grid::Status class implementation: inline functions.
-*/
+  /*! \brief
+    Returns <CODE>true</CODE> if the BDS is known to be empty.
 
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns <CODE>true</CODE> if the system of bounded differences
+    is known to be shortest-path closed.
 
-inline
-Grid::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+    The return value <CODE>false</CODE> does not necessarily
+    implies that <CODE>this->dbm</CODE> is not shortest-path closed.
+  */
+  bool marked_shortest_path_closed() const;
 
-inline
-Grid::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if the system of bounded differences
+    is known to be shortest-path reduced.
 
-inline bool
-Grid::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
+    The return value <CODE>false</CODE> does not necessarily
+    implies that <CODE>this->dbm</CODE> is not shortest-path reduced.
+  */
+  bool marked_shortest_path_reduced() const;
 
-inline bool
-Grid::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+  //! Turns \p *this into an empty BDS.
+  void set_empty();
 
-inline void
-Grid::Status::set(flags_t mask) {
-  flags |= mask;
-}
+  //! Turns \p *this into an zero-dimensional universe BDS.
+  void set_zero_dim_univ();
 
-inline void
-Grid::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+  //! Marks \p *this as shortest-path closed.
+  void set_shortest_path_closed();
 
-inline bool
-Grid::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
+  //! Marks \p *this as shortest-path closed.
+  void set_shortest_path_reduced();
 
-inline void
-Grid::Status::reset_zero_dim_univ() {
-  // This is a no-op if the current status is not zero-dim.
-  if (flags == ZERO_DIM_UNIV)
-    // In the zero-dim space, if it is not the universe it is empty.
-    flags = EMPTY;
-}
+  //! Marks \p *this as possibly not shortest-path closed.
+  void reset_shortest_path_closed();
 
-inline void
-Grid::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
-}
+  //! Marks \p *this as possibly not shortest-path reduced.
+  void reset_shortest_path_reduced();
 
-inline bool
-Grid::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+  //! Assigns to <CODE>this->dbm</CODE> its shortest-path closure.
+  void shortest_path_closure_assign() const;
 
-inline void
-Grid::Status::reset_empty() {
-  reset(EMPTY);
-}
+  /*! \brief
+    Assigns to <CODE>this->dbm</CODE> its shortest-path closure and
+    records into <CODE>this->redundancy_dbm</CODE> which of the entries
+    in <CODE>this->dbm</CODE> are redundant.
+  */
+  void shortest_path_reduction_assign() const;
 
-inline void
-Grid::Status::set_empty() {
-  flags = EMPTY;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if <CODE>this->dbm</CODE>
+    is shortest-path closed and <CODE>this->redundancy_dbm</CODE>
+    correctly flags the redundant entries in <CODE>this->dbm</CODE>.
+  */
+  bool is_shortest_path_reduced() const;
 
-inline bool
-Grid::Status::test_c_up_to_date() const {
-  return test_any(C_UP_TO_DATE);
-}
+  /*! \brief
+    Incrementally computes shortest-path closure, assuming that only
+    constraints affecting variable \p var need to be considered.
 
-inline void
-Grid::Status::reset_c_up_to_date() {
-  reset(C_UP_TO_DATE);
-}
+    \note
+    It is assumed that \c *this, which was shortest-path closed,
+    has only been modified by adding constraints affecting variable
+    \p var. If this assumption is not satisfied, i.e., if a non-redundant
+    constraint not affecting variable \p var has been added, the behavior
+    is undefined.
+  */
+  void incremental_shortest_path_closure_assign(Variable var) const;
 
-inline void
-Grid::Status::set_c_up_to_date() {
-  set(C_UP_TO_DATE);
-}
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-inline bool
-Grid::Status::test_g_up_to_date() const {
-  return test_any(G_UP_TO_DATE);
-}
+    \param expr
+    The linear expression to test;
 
-inline void
-Grid::Status::reset_g_up_to_date() {
-  reset(G_UP_TO_DATE);
-}
+    \param from_above
+    <CODE>true</CODE> if and only if the boundedness of interest is
+    "from above".
 
-inline void
-Grid::Status::set_g_up_to_date() {
-  set(G_UP_TO_DATE);
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, bool from_above) const;
 
-inline bool
-Grid::Status::test_c_minimized() const {
-  return test_any(C_MINIMIZED);
-}
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-inline void
-Grid::Status::reset_c_minimized() {
-  reset(C_MINIMIZED);
-}
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-inline void
-Grid::Status::set_c_minimized() {
-  set(C_MINIMIZED);
-}
+    \param ext_n
+    The numerator of the extremum value;
 
-inline bool
-Grid::Status::test_g_minimized() const {
-  return test_any(G_MINIMIZED);
-}
+    \param ext_d
+    The denominator of the extremum value;
 
-inline void
-Grid::Status::reset_g_minimized() {
-  reset(G_MINIMIZED);
-}
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
-inline void
-Grid::Status::set_g_minimized() {
-  set(G_MINIMIZED);
-}
+    \param g
+    When maximization or minimization succeeds, will be assigned
+    a point or closure point where \p expr reaches the
+    corresponding extremum value.
 
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline bool
-Grid::Status::test_c_pending() const {
-  return test_any(CS_PENDING);
-}
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p g are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+               bool maximize,
+               Coefficient& ext_n, Coefficient& ext_d, bool& included,
+               Generator& g) const;
 
-inline void
-Grid::Status::reset_c_pending() {
-  reset(CS_PENDING);
-}
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-inline void
-Grid::Status::set_c_pending() {
-  set(CS_PENDING);
-}
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-inline bool
-Grid::Status::test_g_pending() const {
-  return test_any(GS_PENDING);
-}
+    \param ext_n
+    The numerator of the extremum value;
 
-inline void
-Grid::Status::reset_g_pending() {
-  reset(GS_PENDING);
-}
+    \param ext_d
+    The denominator of the extremum value;
 
-inline void
-Grid::Status::set_g_pending() {
-  set(GS_PENDING);
-}
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline bool
-Grid::Status::test_sat_c_up_to_date() const {
-  return test_any(SAT_C_UP_TO_DATE);
-}
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p point are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+               bool maximize,
+               Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
 
-inline void
-Grid::Status::reset_sat_c_up_to_date() {
-  reset(SAT_C_UP_TO_DATE);
-}
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned
+    to \p *this and \c true is returned, otherwise \c false is returned.
 
-inline void
-Grid::Status::set_sat_c_up_to_date() {
-  set(SAT_C_UP_TO_DATE);
-}
+    Current implementation is based on a variant of Algorithm 4.1 in
+      A. Bemporad, K. Fukuda, and F. D. Torrisi
+      <em>Convexity Recognition of the Union of Polyhedra</em>
+      Technical Report AUT00-13, ETH Zurich, 2000
+    tailored to the special case of BD shapes.
 
-inline bool
-Grid::Status::test_sat_g_up_to_date() const {
-  return test_any(SAT_G_UP_TO_DATE);
-}
+    \note
+    It is assumed that \p *this and \p y are dimension-compatible;
+    if the assumption does not hold, the behavior is undefined.
+  */
+  bool BFT00_upper_bound_assign_if_exact(const BD_Shape& y);
 
-inline void
-Grid::Status::reset_sat_g_up_to_date() {
-  reset(SAT_G_UP_TO_DATE);
-}
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact it is assigned
+    to \p *this and \c true is returned, otherwise \c false is returned.
 
-inline void
-Grid::Status::set_sat_g_up_to_date() {
-  set(SAT_G_UP_TO_DATE);
-}
+    Implementation for the rational (resp., integer) case is based on
+    Theorem 5.2 (resp. Theorem 5.3) of \ref BHZ09b "[BHZ09b]".
+    The Boolean template parameter \c integer_upper_bound allows for
+    choosing between the rational and integer upper bound algorithms.
 
-} // namespace Parma_Polyhedra_Library
+    \note
+    It is assumed that \p *this and \p y are dimension-compatible;
+    if the assumption does not hold, the behavior is undefined.
 
-/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 1. */
-/* Grid class implementation: inline functions.
-*/
+    \note
+    The integer case is only enabled if T is an integer data type.
+  */
+  template <bool integer_upper_bound>
+  bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
 
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
 
-/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 30. */
-#include <algorithm>
+    \param c
+    The constraint to be added. Non BD constraints are ignored.
 
-namespace Parma_Polyhedra_Library {
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint& c);
 
-inline bool
-Grid::marked_empty() const {
-  return status.test_empty();
-}
+  /*! \brief
+    Uses the congruence \p cg to refine \p *this.
 
-inline bool
-Grid::congruences_are_up_to_date() const {
-  return status.test_c_up_to_date();
-}
+    \param cg
+    The congruence to be added.
+    Nontrivial proper congruences are ignored.
+    Non BD equalities are ignored.
 
-inline bool
-Grid::generators_are_up_to_date() const {
-  return status.test_g_up_to_date();
-}
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence& cg);
 
-inline bool
-Grid::congruences_are_minimized() const {
-  return status.test_c_minimized();
-}
+  //! Adds the constraint <CODE>dbm[i][j] \<= k</CODE>.
+  void add_dbm_constraint(dimension_type i, dimension_type j, const N& k);
 
-inline bool
-Grid::generators_are_minimized() const {
-  return status.test_g_minimized();
-}
+  //! Adds the constraint <CODE>dbm[i][j] \<= numer/denom</CODE>.
+  void add_dbm_constraint(dimension_type i, dimension_type j,
+                          Coefficient_traits::const_reference numer,
+                          Coefficient_traits::const_reference denom);
 
-inline void
-Grid::set_generators_up_to_date() {
-  status.set_g_up_to_date();
-}
+  /*! \brief
+    Adds to the BDS the constraint
+    \f$\mathrm{var} \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$.
 
-inline void
-Grid::set_congruences_up_to_date() {
-  status.set_c_up_to_date();
-}
+    Note that the coefficient of \p var in \p expr is null.
+  */
+  void refine(Variable var, Relation_Symbol relsym,
+              const Linear_Expression& expr,
+              Coefficient_traits::const_reference denominator
+              = Coefficient_one());
 
-inline void
-Grid::set_congruences_minimized() {
-  set_congruences_up_to_date();
-  status.set_c_minimized();
-}
+  //! Removes all the constraints on row/column \p v.
+  void forget_all_dbm_constraints(dimension_type v);
+  //! Removes all binary constraints on row/column \p v.
+  void forget_binary_dbm_constraints(dimension_type v);
 
-inline void
-Grid::set_generators_minimized() {
-  set_generators_up_to_date();
-  status.set_g_minimized();
-}
+  //! An helper function for the computation of affine relations.
+  /*!
+    For each dbm index \p u (less than or equal to \p last_v and different
+    from \p v), deduce constraints of the form <CODE>v - u \<= c</CODE>,
+    starting from \p ub_v which is an upper bound for \p v.
 
-inline void
-Grid::clear_empty() {
-  status.reset_empty();
-}
+    The shortest-path closure is able to deduce the constraint
+    <CODE>v - u \<= ub_v - lb_u</CODE>. We can be more precise if variable
+    \p u played an active role in the computation of the upper bound for
+    \p v, i.e., if the corresponding coefficient
+    <CODE>q == sc_expr[u]/sc_denom</CODE> is greater than zero. In particular:
+      - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
+      - if <CODE>0 \< q \< 1</CODE>, then
+        <CODE>v - u \<= ub_v - (q*ub_u + (1-q)*lb_u)</CODE>.
+  */
+  void deduce_v_minus_u_bounds(dimension_type v,
+                               dimension_type last_v,
+                               const Linear_Expression& sc_expr,
+                               Coefficient_traits::const_reference sc_denom,
+                               const N& ub_v);
 
-inline void
-Grid::clear_congruences_minimized() {
-  status.reset_c_minimized();
-}
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal c\f$
+  */
+  template <typename Interval_Info>
+  void inhomogeneous_affine_form_image(const dimension_type& var_id,
+				                       const Interval<T, Interval_Info>& b);
 
-inline void
-Grid::clear_generators_minimized() {
-  status.reset_g_minimized();
-}
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal ax + c\f$
+  */
+  template <typename Interval_Info>
+  void one_variable_affine_form_image(const dimension_type& var_id,
+                               const Interval<T, Interval_Info>& b,
+                               const Interval<T, Interval_Info>& w_coeff,
+                               const dimension_type& w_id,
+                               const dimension_type& space_dim);
 
-inline void
-Grid::clear_congruences_up_to_date() {
-  clear_congruences_minimized();
-  status.reset_c_up_to_date();
-  // Can get rid of con_sys here.
-}
+  /* \brief
+    Auxiliary function for \ref affine_form_relation "affine form image" that
+    handle the general case: \f$l \equal ax + by + c\f$
+  */
+  template <typename Interval_Info>
+  void two_variables_affine_form_image(const dimension_type& var_id,
+                 const Linear_Form<Interval<T,Interval_Info> >& lf,
+                                   const dimension_type& space_dim);
 
-inline void
-Grid::clear_generators_up_to_date() {
-  clear_generators_minimized();
-  status.reset_g_up_to_date();
-  // Can get rid of gen_sys here.
-}
+  /* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case: \f$l \equal ax + c\f$
+  */
+  template <typename Interval_Info>
+  void left_inhomogeneous_refine(const dimension_type& right_t,
+				 const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
 
-inline dimension_type
-Grid::max_space_dimension() {
-  // One dimension is reserved to have a value of type dimension_type
-  // that does not represent a legal dimension.
-  return std::min(std::numeric_limits<dimension_type>::max() - 1,
-		  std::min(Congruence_System::max_space_dimension(),
-			   Grid_Generator_System::max_space_dimension()
-			   )
-		  );
-}
+  /* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case: \f$ax +b \equal cy + d\f$
+  */
+  template <typename Interval_Info>
+  void left_one_var_refine(const dimension_type& left_w_id,
+			   const dimension_type& right_t,
+			   const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
 
-inline
-Grid::Grid(dimension_type num_dimensions,
-	   const Degenerate_Element kind)
-  : con_sys(),
-    gen_sys(num_dimensions > max_space_dimension()
-	    ? (throw_space_dimension_overflow("Grid(n, k)",
-					      "n exceeds the maximum "
-					      "allowed space dimension"),
-	       0)
-	    : num_dimensions) {
-  construct(num_dimensions, kind);
-  PPL_ASSERT(OK());
-}
+/* \brief
+    Auxiliary function for refine with linear form that handle
+    the general case.
+  */
+  template <typename Interval_Info>
+  void general_refine(const dimension_type& left_w_id,
+			   const dimension_type& right_w_id,
+		   const Linear_Form<Interval<T, Interval_Info> >& left,
+                   const Linear_Form<Interval<T, Interval_Info> >& right);
+
+  template <typename Interval_Info>
+  void linear_form_upper_bound(const Linear_Form<Interval<T, Interval_Info> >&
+                               lf,
+                               N& result) const;
+
+  //! An helper function for the computation of affine relations.
+  /*!
+    For each dbm index \p u (less than or equal to \p last_v and different
+    from \p v), deduce constraints of the form <CODE>u - v \<= c</CODE>,
+    starting from \p minus_lb_v which is a lower bound for \p v.
+
+    The shortest-path closure is able to deduce the constraint
+    <CODE>u - v \<= ub_u - lb_v</CODE>. We can be more precise if variable
+    \p u played an active role in the computation of the lower bound for
+    \p v, i.e., if the corresponding coefficient
+    <CODE>q == sc_expr[u]/sc_denom</CODE> is greater than zero.
+    In particular:
+      - if <CODE>q \>= 1</CODE>, then <CODE>u - v \<= lb_u - lb_v</CODE>;
+      - if <CODE>0 \< q \< 1</CODE>, then
+        <CODE>u - v \<= (q*lb_u + (1-q)*ub_u) - lb_v</CODE>.
+  */
+  void deduce_u_minus_v_bounds(dimension_type v,
+                               dimension_type last_v,
+                               const Linear_Expression& sc_expr,
+                               Coefficient_traits::const_reference sc_denom,
+                               const N& minus_lb_v);
 
-inline
-Grid::Grid(const Congruence_System& cgs)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
-    gen_sys(cgs.space_dimension()) {
-  Congruence_System cgs_copy(cgs);
-  construct(cgs_copy);
-}
+  /*! \brief
+    Adds to \p limiting_shape the bounded differences in \p cs
+    that are satisfied by \p *this.
+  */
+  void get_limiting_shape(const Constraint_System& cs,
+                          BD_Shape& limiting_shape) const;
 
-inline
-Grid::Grid(Congruence_System& cgs, Recycle_Input)
-  : con_sys(cgs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(cgs, recycle)",
-					     "the space dimension of cgs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : cgs.space_dimension()),
-    gen_sys(cgs.space_dimension()) {
-  construct(cgs);
-}
+  //! Compute the (zero-equivalence classes) predecessor relation.
+  /*!
+    It is assumed that the BDS is not empty and shortest-path closed.
+  */
+  void compute_predecessors(std::vector<dimension_type>& predecessor) const;
 
-inline
-Grid::Grid(const Grid_Generator_System& ggs)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
-    gen_sys(ggs.space_dimension()) {
-  Grid_Generator_System ggs_copy(ggs);
-  construct(ggs_copy);
-}
+  //! Compute the leaders of zero-equivalence classes.
+  /*!
+    It is assumed that the BDS is not empty and shortest-path closed.
+  */
+  void compute_leaders(std::vector<dimension_type>& leaders) const;
 
-inline
-Grid::Grid(Grid_Generator_System& ggs, Recycle_Input)
-  : con_sys(ggs.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(ggs, recycle)",
-					     "the space dimension of ggs "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : ggs.space_dimension()),
-    gen_sys(ggs.space_dimension()) {
-  construct(ggs);
-}
+  void drop_some_non_integer_points_helper(N& elem);
 
-template <typename U>
-inline
-Grid::Grid(const BD_Shape<U>& bd,
-           Complexity_Class)
-  : con_sys(bd.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(bd)",
-					     "the space dimension of bd "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : bd.space_dimension()),
-    gen_sys(bd.space_dimension()) {
-  Congruence_System cgs = bd.congruences();
-  construct(cgs);
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<<>(std::ostream& s, const BD_Shape<T>& c);
 
-template <typename U>
-inline
-Grid::Grid(const Octagonal_Shape<U>& os,
-           Complexity_Class)
-  : con_sys(os.space_dimension() > max_space_dimension()
-	    ? throw_space_dimension_overflow("Grid(os)",
-					     "the space dimension of os "
-					     "exceeds the maximum allowed "
-					     "space dimension"), 0
-	    : os.space_dimension()),
-    gen_sys(os.space_dimension()) {
-  Congruence_System cgs = os.congruences();
-  construct(cgs);
-}
+  //! \name Exception Throwers
+  //@{
+  void throw_dimension_incompatible(const char* method,
+                                    const BD_Shape& y) const;
 
-inline
-Grid::~Grid() {
-}
+  void throw_dimension_incompatible(const char* method,
+                                    dimension_type required_dim) const;
 
-inline dimension_type
-Grid::space_dimension() const {
-  return space_dim;
-}
+  void throw_dimension_incompatible(const char* method,
+                                    const Constraint& c) const;
 
-inline memory_size_type
-Grid::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  void throw_dimension_incompatible(const char* method,
+                                    const Congruence& cg) const;
 
-inline int32_t
-Grid::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
+  void throw_dimension_incompatible(const char* method,
+                                    const Generator& g) const;
 
-inline Constraint_System
-Grid::constraints() const {
-  return Constraint_System(congruences());;
-}
+  void throw_dimension_incompatible(const char* method,
+                                    const char* le_name,
+                                    const Linear_Expression& le) const;
 
-inline Constraint_System
-Grid::minimized_constraints() const {
-  return Constraint_System(minimized_congruences());;
-}
+  template<typename Interval_Info>
+  void
+  throw_dimension_incompatible(const char* method,
+                               const char* lf_name,
+                               const Linear_Form<Interval<T, Interval_Info> >&
+                               lf) const;
 
-inline void
-Grid::swap(Grid& y) {
-  std::swap(con_sys, y.con_sys);
-  std::swap(gen_sys, y.gen_sys);
-  std::swap(status, y.status);
-  std::swap(space_dim, y.space_dim);
-  std::swap(dim_kinds, y.dim_kinds);
-}
+  static void throw_expression_too_complex(const char* method,
+                                           const Linear_Expression& le);
 
-inline void
-Grid::add_congruence(const Congruence& cg) {
-  // Dimension-compatibility check.
-  if (space_dim < cg.space_dimension())
-    throw_dimension_incompatible("add_congruence(cg)", "cg", cg);
+  static void throw_invalid_argument(const char* method, const char* reason);
+  //@} // Exception Throwers
+};
 
-  if (!marked_empty())
-    add_congruence_no_check(cg);
-}
+/* Automatically generated from PPL source file ../src/BDS_Status.inlines.hh line 1. */
+/* BD_Shape<T>::Status class implementation: inline functions.
+*/
 
-inline void
-Grid::add_congruences(const Congruence_System& cgs) {
-  // TODO: this is just an executable specification.
-  // Space dimension compatibility check.
-  if (space_dim < cgs.space_dimension())
-    throw_dimension_incompatible("add_congruences(cgs)", "cgs", cgs);
 
-  if (!marked_empty()) {
-    Congruence_System cgs_copy = cgs;
-    add_recycled_congruences(cgs_copy);
-  }
-}
+namespace Parma_Polyhedra_Library {
 
-inline void
-Grid::refine_with_congruence(const Congruence& cg) {
-  add_congruence(cg);
+template <typename T>
+inline
+BD_Shape<T>::Status::Status(flags_t mask)
+  : flags(mask) {
 }
 
-inline void
-Grid::refine_with_congruences(const Congruence_System& cgs) {
-  add_congruences(cgs);
+template <typename T>
+inline
+BD_Shape<T>::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
 }
 
+template <typename T>
 inline bool
-Grid::can_recycle_constraint_systems() {
-  return true;
+BD_Shape<T>::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
 }
 
+template <typename T>
 inline bool
-Grid::can_recycle_congruence_systems() {
-  return true;
+BD_Shape<T>::Status::test_any(flags_t mask) const {
+  return (flags & mask) != 0;
 }
 
+template <typename T>
 inline void
-Grid::add_constraint(const Constraint& c) {
-  // Space dimension compatibility check.
-  if (space_dim < c.space_dimension())
-    throw_dimension_incompatible("add_constraint(c)", "c", c);
-  if (!marked_empty())
-    add_constraint_no_check(c);
+BD_Shape<T>::Status::set(flags_t mask) {
+  flags |= mask;
 }
 
+template <typename T>
 inline void
-Grid::add_recycled_constraints(Constraint_System& cs) {
-  // TODO: really recycle the constraints.
-  add_constraints(cs);
+BD_Shape<T>::Status::reset(flags_t mask) {
+  flags &= ~mask;
 }
 
+template <typename T>
 inline bool
-Grid::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_above(e)");
+BD_Shape<T>::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
 }
 
-inline bool
-Grid::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_below(e)");
+template <typename T>
+inline void
+BD_Shape<T>::Status::reset_zero_dim_univ() {
+  // This is a no-op if the current status is not zero-dim.
+  if (flags == ZERO_DIM_UNIV)
+    // In the zero-dim space, if it is not the universe it is empty.
+    flags = EMPTY;
 }
 
-inline bool
-Grid::maximize(const Linear_Expression& expr,
-	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const {
-  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum);
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
 }
 
+template <typename T>
 inline bool
-Grid::maximize(const Linear_Expression& expr,
-	       Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-	       Generator& point) const {
-  return max_min(expr, "maximize(e, ...)", sup_n, sup_d, maximum, &point);
+BD_Shape<T>::Status::test_empty() const {
+  return test_any(EMPTY);
 }
 
-inline bool
-Grid::minimize(const Linear_Expression& expr,
-	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const {
-  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum);
+template <typename T>
+inline void
+BD_Shape<T>::Status::reset_empty() {
+  reset(EMPTY);
+}
+
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_empty() {
+  flags = EMPTY;
 }
 
+template <typename T>
 inline bool
-Grid::minimize(const Linear_Expression& expr,
-	       Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-	       Generator& point) const {
-  return max_min(expr, "minimize(e, ...)", inf_n, inf_d, minimum, &point);
+BD_Shape<T>::Status::test_shortest_path_closed() const {
+  return test_any(SHORTEST_PATH_CLOSED);
 }
 
+template <typename T>
 inline void
-Grid::normalize_divisors(Grid_Generator_System& sys) {
-  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
-  divisor = 1;
-  normalize_divisors(sys, divisor);
+BD_Shape<T>::Status::reset_shortest_path_closed() {
+  // A system is reduced only if it is also closed.
+  reset(SHORTEST_PATH_CLOSED | SHORTEST_PATH_REDUCED);
 }
 
-/*! \relates Grid */
-inline bool
-operator!=(const Grid& x, const Grid& y) {
-  return !(x == y);
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_shortest_path_closed() {
+  set(SHORTEST_PATH_CLOSED);
 }
 
+template <typename T>
 inline bool
-Grid::strictly_contains(const Grid& y) const {
-  const Grid& x = *this;
-  return x.contains(y) && !y.contains(x);
+BD_Shape<T>::Status::test_shortest_path_reduced() const {
+  return test_any(SHORTEST_PATH_REDUCED);
 }
 
+template <typename T>
 inline void
-Grid::topological_closure_assign() {
+BD_Shape<T>::Status::reset_shortest_path_reduced() {
+  reset(SHORTEST_PATH_REDUCED);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Grid */
+template <typename T>
 inline void
-swap(Parma_Polyhedra_Library::Grid& x,
-     Parma_Polyhedra_Library::Grid& y) {
-  x.swap(y);
+BD_Shape<T>::Status::set_shortest_path_reduced() {
+  PPL_ASSERT(test_shortest_path_closed());
+  set(SHORTEST_PATH_REDUCED);
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Grid.templates.hh line 1. */
-/* Grid class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Grid.templates.hh line 30. */
-#include <algorithm>
-#include <deque>
-
-namespace Parma_Polyhedra_Library {
-
-template <typename Interval>
-Grid::Grid(const Box<Interval>& box,
-           Complexity_Class)
-  : con_sys(),
-    gen_sys() {
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_bounding_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
-
-  space_dim = box.space_dimension();
+template <typename T>
+bool
+BD_Shape<T>::Status::OK() const {
+  if (test_zero_dim_univ())
+    // Zero-dim universe is OK.
+    return true;
 
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    PPL_ASSERT(OK());
-    return;
+  if (test_empty()) {
+    Status copy = *this;
+    copy.reset_empty();
+    if (copy.test_zero_dim_univ())
+      return true;
+    else {
+#ifndef NDEBUG
+      std::cerr << "The empty flag is incompatible with any other one."
+		<< std::endl;
+#endif
+      return false;
+    }
   }
 
-  if (space_dim == 0)
-    set_zero_dim_univ();
-  else {
-    // Initialize the space dimension as indicated by the box.
-    con_sys.increase_space_dimension(space_dim);
-    // Add congruences and generators according to `box'.
-    PPL_DIRTY_TEMP_COEFFICIENT(l_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(l_d);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
-    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      // This is declared here because it may be invalidated by the call to
-      // gen_sys.insert() at the end of the loop.
-      Grid_Generator& point = gen_sys[0];
-      bool closed = false;
-      // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
-	if (box.get_upper_bound(k, closed, u_n, u_d))
-	  if (l_n * u_d == u_n * l_d) {
-	    // A point interval sets dimension k of every point to a
-	    // single value.
-	    con_sys.insert(l_d * Variable(k) == l_n);
-
-	    // Scale the point to use as divisor the lcm of the
-	    // divisors of the existing point and the lower bound.
-	    const Coefficient& point_divisor = point.divisor();
-	    gcd_assign(u_n, l_d, point_divisor);
-	    // `u_n' now holds the gcd.
-	    exact_div_assign(u_n, point_divisor, u_n);
-	    if (l_d < 0)
-	      neg_assign(u_n);
-	    // l_d * u_n == abs(l_d * (point_divisor / gcd(l_d, point_divisor)))
-	    point.scale_to_divisor(l_d * u_n);
-	    // Set dimension k of the point to the lower bound.
-	    if (l_d < 0)
-	      neg_assign(u_n);
-	    // point[k + 1] = l_n * point_divisor / gcd(l_d, point_divisor)
-	    point[k + 1] = l_n * u_n;
-
-	    continue;
-	  }
-      }
-      // A universe interval allows any value in dimension k.
-      gen_sys.insert(grid_line(Variable(k)));
+  // Shortest-path reduction implies shortest-path closure.
+  if (test_shortest_path_reduced()) {
+    if (test_shortest_path_closed())
+      return true;
+    else {
+#ifndef NDEBUG
+      std::cerr << "The shortest-path reduction flag should also imply "
+		<< "the closure flag."
+		<< std::endl;
+#endif
+      return false;
     }
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.unset_pending_rows();
-    gen_sys.set_sorted(false);
   }
 
-  PPL_ASSERT(OK());
+  // Any other case is OK.
+  return true;
 }
 
-template <typename Partial_Function>
-void
-Grid::map_space_dimensions(const Partial_Function& pfunc) {
-  if (space_dim == 0)
-    return;
-
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the grid becomes zero_dimensional.
-    if (marked_empty()
-	|| (!generators_are_up_to_date() && !update_generators())) {
-      // Removing all dimensions from the empty grid.
-      space_dim = 0;
-      set_empty();
-    }
-    else
-      // Removing all dimensions from a non-empty grid.
-      set_zero_dim_univ();
 
-    PPL_ASSERT(OK());
-    return;
-  }
+namespace Implementation {
 
-  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
+namespace BD_Shapes {
 
-  if (new_space_dimension == space_dim) {
-    // The partial function `pfunc' is indeed total and thus specifies
-    // a permutation, that is, a renaming of the dimensions.  For
-    // maximum efficiency, we will simply permute the columns of the
-    // constraint system and/or the generator system.
+// These are the keywords that indicate the individual assertions.
+const std::string zero_dim_univ = "ZE";
+const std::string empty = "EM";
+const std::string sp_closed = "SPC";
+const std::string sp_reduced = "SPR";
+const char yes = '+';
+const char no = '-';
+const char separator = ' ';
 
-    // We first compute suitable permutation cycles for the columns of
-    // the `con_sys' and `gen_sys' matrices.  We will represent them
-    // with a linear array, using 0 as a terminator for each cycle
-    // (notice that the columns with index 0 of `con_sys' and
-    // `gen_sys' represent the inhomogeneous terms, and thus are
-    // unaffected by the permutation of dimensions).
-    // Cycles of length 1 will be omitted so that, in the worst case,
-    // we will have `space_dim' elements organized in `space_dim/2'
-    // cycles, which means we will have at most `space_dim/2'
-    // terminators.
-    std::vector<dimension_type> cycles;
-    cycles.reserve(space_dim + space_dim/2);
+/*! \relates Parma_Polyhedra_Library::BD_Shape::Status
+  Reads a keyword and its associated on/off flag from \p s.
+  Returns <CODE>true</CODE> if the operation is successful,
+  returns <CODE>false</CODE> otherwise.
+  When successful, \p positive is set to <CODE>true</CODE> if the flag
+  is on; it is set to <CODE>false</CODE> otherwise.
+*/
+inline bool
+get_field(std::istream& s, const std::string& keyword, bool& positive) {
+  std::string str;
+  if (!(s >> str)
+      || (str[0] != yes && str[0] != no)
+      || str.substr(1) != keyword)
+    return false;
+  positive = (str[0] == yes);
+  return true;
+}
 
-    // Used to mark elements as soon as they are inserted in a cycle.
-    std::deque<bool> visited(space_dim);
+} // namespace BD_Shapes
 
-    for (dimension_type i = space_dim; i-- > 0; ) {
-      if (!visited[i]) {
-	dimension_type j = i;
-	do {
-	  visited[j] = true;
-	  // The following initialization is only to make the compiler happy.
-	  dimension_type k = 0;
-	  if (!pfunc.maps(j, k))
-	    throw_invalid_argument("map_space_dimensions(pfunc)",
-				   " pfunc is inconsistent");
-	  if (k == j)
-	    // Cycle of length 1: skip it.
-	    goto skip;
+} // namespace Implementation
 
-	  cycles.push_back(j+1);
-	  // Go along the cycle.
-	  j = k;
-	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
+template <typename T>
+void
+BD_Shape<T>::Status::ascii_dump(std::ostream& s) const {
+  using namespace Implementation::BD_Shapes;
+  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ << separator
+    << (test_empty() ? yes : no) << empty << separator
+    << separator
+    << (test_shortest_path_closed() ? yes : no) << sp_closed << separator
+    << (test_shortest_path_reduced() ? yes : no) << sp_reduced << separator;
+}
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(T, BD_Shape<T>::Status)
 
-    // Permute all that is up-to-date.
-    if (congruences_are_up_to_date()) {
-      con_sys.permute_columns(cycles);
-      clear_congruences_minimized();
-    }
+template <typename T>
+bool
+BD_Shape<T>::Status::ascii_load(std::istream& s) {
+  using namespace Implementation::BD_Shapes;
+  PPL_UNINITIALIZED(bool, positive);
 
-    if (generators_are_up_to_date()) {
-      gen_sys.permute_columns(cycles);
-      clear_generators_minimized();
-    }
+  if (!get_field(s, zero_dim_univ, positive))
+    return false;
+  if (positive)
+    set_zero_dim_univ();
 
-    PPL_ASSERT(OK());
-    return;
-  }
+  if (!get_field(s, empty, positive))
+    return false;
+  if (positive)
+    set_empty();
 
-  // If control gets here, then `pfunc' is not a permutation and some
-  // dimensions must be projected away.
+  if (!get_field(s, sp_closed, positive))
+    return false;
+  if (positive)
+    set_shortest_path_closed();
+  else
+    reset_shortest_path_closed();
 
-  const Grid_Generator_System& old_gensys = grid_generators();
+  if (!get_field(s, sp_reduced, positive))
+    return false;
+  if (positive)
+    set_shortest_path_reduced();
+  else
+    reset_shortest_path_reduced();
 
-  if (old_gensys.has_no_rows()) {
-    // The grid is empty.
-    Grid new_grid(new_space_dimension, EMPTY);
-    std::swap(*this, new_grid);
-    PPL_ASSERT(OK());
-    return;
-  }
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  // Make a local copy of the partial function.
-  std::vector<dimension_type> pfunc_maps(space_dim, not_a_dimension());
-  for (dimension_type j = space_dim; j-- > 0; ) {
-    dimension_type pfunc_j;
-    if (pfunc.maps(j, pfunc_j))
-      pfunc_maps[j] = pfunc_j;
-  }
+} // namespace Parma_Polyhedra_Library
 
-  Grid_Generator_System new_gensys;
-  // Set sortedness, for the assertion met via gs::insert.
-  new_gensys.set_sorted(false);
-  // Get the divisor of the first point.
-  Grid_Generator_System::const_iterator i;
-  Grid_Generator_System::const_iterator old_gensys_end = old_gensys.end();
-  for (i = old_gensys.begin(); i != old_gensys_end; ++i)
-    if (i->is_point())
-      break;
-  PPL_ASSERT(i != old_gensys_end);
-  const Coefficient& system_divisor = i->divisor();
-  for (i = old_gensys.begin(); i != old_gensys_end; ++i) {
-    const Grid_Generator& old_g = *i;
-    Linear_Expression e(0 * Variable(new_space_dimension-1));
-    bool all_zeroes = true;
-    for (dimension_type j = space_dim; j-- > 0; ) {
-      if (old_g.coefficient(Variable(j)) != 0
-	  && pfunc_maps[j] != not_a_dimension()) {
-	e += Variable(pfunc_maps[j]) * old_g.coefficient(Variable(j));
-	all_zeroes = false;
-      }
-    }
-    switch (old_g.type()) {
-    case Grid_Generator::LINE:
-      if (!all_zeroes)
-	new_gensys.insert(grid_line(e));
-      break;
-    case Grid_Generator::PARAMETER:
-      if (!all_zeroes)
-	new_gensys.insert(parameter(e, system_divisor));
-      break;
-    case Grid_Generator::POINT:
-      new_gensys.insert(grid_point(e, old_g.divisor()));
-      break;
-    default:
-      PPL_ASSERT(0);
-    }
-  }
+/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 1. */
+/* BD_Shape class implementation: inline functions.
+*/
 
-  Grid new_grid(new_gensys);
-  std::swap(*this, new_grid);
 
-  PPL_ASSERT(OK(true));
-}
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 1. */
+/* C_Polyhedron class declaration.
+*/
 
-// Needed for converting the congruence or grid_generator system
-// to "strong minimal form".
-template <typename M, typename R>
-void
-Grid::reduce_reduced(M& sys,
-		     const dimension_type dim,
-		     const dimension_type pivot_index,
-		     const dimension_type start,
-		     const dimension_type end,
-		     const Dimension_Kinds& dim_kinds,
-		     const bool generators) {
-  R& pivot = sys[pivot_index];
 
-  const Coefficient& pivot_dim = pivot[dim];
+/* Automatically generated from PPL source file ../src/C_Polyhedron.types.hh line 1. */
 
-  if (pivot_dim == 0)
-    return;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(pivot_dim_half);
-  pivot_dim_half = (pivot_dim + 1) / 2;
-  Dimension_Kind row_kind = dim_kinds[dim];
-  Dimension_Kind line_or_equality, virtual_kind;
-  int jump;
-  if (generators) {
-    line_or_equality = LINE;
-    virtual_kind = GEN_VIRTUAL;
-    jump = -1;
-  }
-  else {
-    line_or_equality = EQUALITY;
-    virtual_kind = CON_VIRTUAL;
-    jump = 1;
-  }
+namespace Parma_Polyhedra_Library {
 
-  PPL_DIRTY_TEMP_COEFFICIENT(num_rows_to_subtract);
-  PPL_DIRTY_TEMP_COEFFICIENT(row_dim_remainder);
-  for (dimension_type row_index = pivot_index, kinds_index = dim + jump;
-       row_index-- > 0;
-       kinds_index += jump) {
-    // Move over any virtual rows.
-    while (dim_kinds[kinds_index] == virtual_kind)
-      kinds_index += jump;
+class C_Polyhedron;
 
-    // row_kind CONGRUENCE is included as PARAMETER
-    if (row_kind == line_or_equality
-	|| (row_kind == PARAMETER
-	    && dim_kinds[kinds_index] == PARAMETER)) {
-      R& row = sys[row_index];
+} // namespace Parma_Polyhedra_Library
 
-      const Coefficient& row_dim = row[dim];
-      // num_rows_to_subtract may be positive or negative.
-      num_rows_to_subtract = row_dim / pivot_dim;
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.types.hh line 1. */
 
-      // Ensure that after subtracting num_rows_to_subtract * r_dim
-      // from row_dim, -pivot_dim_half < row_dim <= pivot_dim_half.
-      // E.g., if pivot[dim] = 9, then after this reduction
-      // -5 < row_dim <= 5.
-      row_dim_remainder = row_dim % pivot_dim;
-      if (row_dim_remainder < 0) {
-	if (row_dim_remainder <= -pivot_dim_half)
-	  --num_rows_to_subtract;
-      }
-      else if (row_dim_remainder > 0 && row_dim_remainder > pivot_dim_half)
-	++num_rows_to_subtract;
 
-      // Subtract num_rows_to_subtract copies of pivot from row i.  Only the
-      // entries from dim need to be subtracted, as the preceding
-      // entries are all zero.
-      // If num_rows_to_subtract is negative, these copies of pivot are
-      // added to row i.
-      if (num_rows_to_subtract != 0)
-	for (dimension_type col = start; col <= end; ++col)
-	  sub_mul_assign(row[col], num_rows_to_subtract, pivot[col]);
-    }
-  }
-}
+namespace Parma_Polyhedra_Library {
+
+class NNC_Polyhedron;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2639. */
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 33. */
 
-/* Automatically generated from PPL source file ../src/Rational_Box.hh line 1. */
-/* Rational_Box class declaration and implementation.
-*/
+//! A closed convex polyhedron.
+/*! \ingroup PPL_CXX_interface
+    An object of the class C_Polyhedron represents a
+    <EM>topologically closed</EM> convex polyhedron
+    in the vector space \f$\Rset^n\f$.
 
+    When building a closed polyhedron starting from
+    a system of constraints, an exception is thrown if the system
+    contains a <EM>strict inequality</EM> constraint.
+    Similarly, an exception is thrown when building a closed polyhedron
+    starting from a system of generators containing a <EM>closure point</EM>.
 
-/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 1. */
-/* Rational_Interval class declaration and implementation.
+    \note
+    Such an exception will be obtained even if the system of
+    constraints (resp., generators) actually defines
+    a topologically closed subset of the vector space, i.e.,
+    even if all the strict inequalities (resp., closure points)
+    in the system happen to be redundant with respect to the
+    system obtained by removing all the strict inequality constraints
+    (resp., all the closure points).
+    In contrast, when building a closed polyhedron starting from
+    an object of the class NNC_Polyhedron,
+    the precise topological closure test will be performed.
 */
 
+class Parma_Polyhedra_Library::C_Polyhedron : public Polyhedron {
+public:
+  //! Builds either the universe or the empty C polyhedron.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the C polyhedron;
 
-/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 28. */
-#include <gmpxx.h>
+    \param kind
+    Specifies whether a universe or an empty C polyhedron should be built.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-struct Rational_Interval_Info_Policy {
-  const_bool_nodef(store_special, true);
-  const_bool_nodef(store_open, true);
-  const_bool_nodef(cache_empty, true);
-  const_bool_nodef(cache_singleton, true);
-  const_bool_nodef(cache_normalized, false);
-  const_int_nodef(next_bit, 0);
-  const_bool_nodef(may_be_empty, true);
-  const_bool_nodef(may_contain_infinity, false);
-  const_bool_nodef(check_inexact, false);
-};
+    Both parameters are optional:
+    by default, a 0-dimension space universe C polyhedron is built.
+  */
+  explicit C_Polyhedron(dimension_type num_dimensions = 0,
+			Degenerate_Element kind = UNIVERSE);
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset<unsigned int,
-                                               Rational_Interval_Info_Policy> >
-Rational_Interval_Info;
+  //! Builds a C polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An interval with rational, possibly open boundaries.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-typedef Interval<mpq_class, Rational_Interval_Info> Rational_Interval;
+    \param cs
+    The system of constraints defining the polyhedron.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
+  */
+  explicit C_Polyhedron(const Constraint_System& cs);
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 1. */
-/* Box class declaration.
-*/
+  //! Builds a C polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
+    \param cs
+    The system of constraints defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.types.hh line 1. */
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
+  */
+  C_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
 
-namespace Parma_Polyhedra_Library {
+  //! Builds a C polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-template <typename D1, typename D2>
-class Smash_Reduction;
+    \param gs
+    The system of generators defining the polyhedron.
 
-template <typename D1, typename D2>
-class Constraints_Reduction;
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points,
+    or if it contains closure points.
+  */
+  explicit C_Polyhedron(const Generator_System& gs);
 
-template <typename D1, typename D2>
-class Congruences_Reduction;
+  //! Builds a C polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-template <typename D1, typename D2>
-class Shape_Preserving_Reduction;
+    \param gs
+    The system of generators defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-template <typename D1, typename D2>
-class No_Reduction;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-template <typename D1, typename D2, typename R>
-class Partially_Reduced_Product;
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points,
+    or if it contains closure points.
+  */
+  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
 
-} // namespace Parma_Polyhedra_Library
+  //! Builds a C polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 48. */
-#include <vector>
-#include <iosfwd>
+    \param cgs
+    The system of congruences defining the polyhedron.
+  */
+  explicit C_Polyhedron(const Congruence_System& cgs);
 
-namespace Parma_Polyhedra_Library {
+  //! Builds a C polyhedron recycling a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
 
-struct Interval_Base;
+    \param cgs
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are the same box.
-/*! \relates Box
-  Note that \p x and \p y may be dimension-incompatible boxes:
-  in this case, the value <CODE>false</CODE> is returned.
-*/
-template <typename ITV>
-bool operator==(const Box<ITV>& x, const Box<ITV>& y);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y aren't the same box.
-/*! \relates Box
-  Note that \p x and \p y may be dimension-incompatible boxes:
-  in this case, the value <CODE>true</CODE> is returned.
-*/
-template <typename ITV>
-bool operator!=(const Box<ITV>& x, const Box<ITV>& y);
+  /*! \brief
+    Builds a C polyhedron representing the topological closure
+    of the NNC polyhedron \p y.
 
-namespace IO_Operators {
+    \param y
+    The NNC polyhedron to be used;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Box */
-template <typename ITV>
-std::ostream& operator<<(std::ostream& s, const Box<ITV>& box);
+    \param complexity
+    This argument is ignored.
+  */
+  explicit C_Polyhedron(const NNC_Polyhedron& y,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-} // namespace IO_Operators
+  //! Builds a C polyhedron out of a box.
+  /*!
+    The polyhedron inherits the space dimension of the box
+    and is the most precise that includes the box.
+    The algorithm used has polynomial complexity.
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Box
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+    \param box
+    The box representing the polyhedron to be approximated;
 
-  The direction of the approximation is specified by \p dir.
+    \param complexity
+    This argument is ignored.
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename ITV>
-bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    Rounding_Dir dir);
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
+  */
+  template <typename Interval>
+  explicit C_Polyhedron(const Box<Interval>& box,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Box
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Builds a C polyhedron out of a BD shape.
+  /*!
+    The polyhedron inherits the space dimension of the BDS and is
+    the most precise that includes the BDS.
 
-  The direction of the approximation is specified by \p dir.
+    \param bd
+    The BDS used to build the polyhedron.
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename ITV>
-bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    Rounding_Dir dir);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit C_Polyhedron(const BD_Shape<U>& bd,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Box
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Builds a C polyhedron out of an octagonal shape.
+  /*!
+    The polyhedron inherits the space dimension of the octagonal shape
+    and is the most precise that includes the octagonal shape.
 
-  The direction of the approximation is specified by \p dir.
+    \param os
+    The octagonal shape used to build the polyhedron.
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename ITV>
-bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit C_Polyhedron(const Octagonal_Shape<U>& os,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Box
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Builds a C polyhedron out of a grid.
+  /*!
+    The polyhedron inherits the space dimension of the grid
+    and is the most precise that includes the grid.
 
-  The direction of the approximation is specified by \p dir.
+    \param grid
+    The grid used to build the polyhedron.
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename ITV>
-bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  Rounding_Dir dir);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  explicit C_Polyhedron(const Grid& grid,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Box
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  C_Polyhedron(const C_Polyhedron& y,
+               Complexity_Class complexity = ANY_COMPLEXITY);
 
-  The direction of the approximation is specified by \p dir.
+  /*! \brief
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
+  */
+  C_Polyhedron& operator=(const C_Polyhedron& y);
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename ITV>
-bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  Rounding_Dir dir);
+  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
+  C_Polyhedron& operator=(const NNC_Polyhedron& y);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Box
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  //! Destructor.
+  ~C_Polyhedron();
 
-  The direction of the approximation is specified by \p dir.
+  /*! \brief
+    If the poly-hull of \p *this and \p y is exact it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
+
+  //! Same as poly_hull_assign_if_exact(y).
+  bool upper_bound_assign_if_exact(const C_Polyhedron& y);
+};
+
+/* Automatically generated from PPL source file ../src/C_Polyhedron.inlines.hh line 1. */
+/* C_Polyhedron class implementation: inline functions.
 */
-template <typename Temp, typename To, typename ITV>
-bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2);
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Box
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
 
-  The direction of the approximation is specified by \p dir.
+#include <algorithm>
+#include <stdexcept>
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename ITV>
-bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   Rounding_Dir dir);
+namespace Parma_Polyhedra_Library {
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Box
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline
+C_Polyhedron::~C_Polyhedron() {
+}
 
-  The direction of the approximation is specified by \p dir.
+inline
+C_Polyhedron::C_Polyhedron(dimension_type num_dimensions,
+			   Degenerate_Element kind)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_space_dimension_overflow(num_dimensions,
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(n, k)",
+                                              "n exceeds the maximum "
+                                              "allowed space dimension"),
+	       kind) {
+}
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename ITV>
-bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   Rounding_Dir dir);
+inline
+C_Polyhedron::C_Polyhedron(const Constraint_System& cs)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(cs)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Box
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+inline
+C_Polyhedron::C_Polyhedron(Constraint_System& cs, Recycle_Input)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(cs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(cs, recycle)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
+	       Recycle_Input()) {
+}
 
-  The direction of the approximation is specified by \p dir.
+inline
+C_Polyhedron::C_Polyhedron(const Generator_System& gs)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(gs)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename ITV>
-bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2);
+inline
+C_Polyhedron::C_Polyhedron(Generator_System& gs, Recycle_Input)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(gs, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(gs, recycle)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
+	       Recycle_Input()) {
+}
+
+template <typename Interval>
+inline
+C_Polyhedron::C_Polyhedron(const Box<Interval>& box, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(box, NECESSARILY_CLOSED,
+                                                  "C_Polyhedron(box)",
+                                                  "the space dimension of box "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
+
+template <typename U>
+inline
+C_Polyhedron::C_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_space_dimension_overflow(bd.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(bd)",
+                                              "the space dimension of bd "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
+               UNIVERSE) {
+  add_constraints(bd.constraints());
+}
+
+template <typename U>
+inline
+C_Polyhedron::C_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
+  : Polyhedron(NECESSARILY_CLOSED,
+               check_space_dimension_overflow(os.space_dimension(),
+                                              NECESSARILY_CLOSED,
+                                              "C_Polyhedron(os)",
+                                              "the space dimension of os "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
+               UNIVERSE) {
+  add_constraints(os.constraints());
+}
+
+inline
+C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
+  : Polyhedron(y) {
+}
+
+inline C_Polyhedron&
+C_Polyhedron::operator=(const C_Polyhedron& y) {
+  Polyhedron::operator=(y);
+  return *this;
+}
+
+inline C_Polyhedron&
+C_Polyhedron::operator=(const NNC_Polyhedron& y) {
+  C_Polyhedron c_y(y);
+  m_swap(c_y);
+  return *this;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Box
-  Helper function for computing distances.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization,
-	  typename Temp, typename To, typename ITV>
-bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const Box<ITV>& x, const Box<ITV>& y,
-		    Rounding_Dir dir,
-		    Temp& tmp0, Temp& tmp1, Temp& tmp2);
+inline bool
+C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) {
+  return poly_hull_assign_if_exact(y);
+}
 
 } // namespace Parma_Polyhedra_Library
 
-//! A not necessarily closed, iso-oriented hyperrectangle.
-/*! \ingroup PPL_CXX_interface
-  A Box object represents the smash product of \f$n\f$
-  not necessarily closed and possibly unbounded intervals
-  represented by objects of class \p ITV,
-  where \f$n\f$ is the space dimension of the box.
-
-  An <EM>interval constraint</EM> (resp., <EM>interval congruence</EM>)
-  is a syntactic constraint (resp., congruence) that only mentions
-  a single space dimension.
+/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 279. */
 
-  The Box domain <EM>optimally supports</EM>:
-    - tautological and inconsistent constraints and congruences;
-    - the interval constraints that are optimally supported by
-      the template argument class \c ITV;
-    - the interval congruences that are optimally supported by
-      the template argument class \c ITV.
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1. */
+/* Octagonal_Shape class declaration.
+*/
 
-  Depending on the method, using a constraint or congruence that is not
-  optimally supported by the domain will either raise an exception or
-  result in a (possibly non-optimal) upward approximation.
 
-  The user interface for the Box domain is meant to be as similar
-  as possible to the one developed for the polyhedron class C_Polyhedron.
+/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 1. */
+/* OR_Matrix class declaration.
 */
-template <typename ITV>
-class Parma_Polyhedra_Library::Box {
-public:
-  //! The type of intervals used to implement the box.
-  typedef ITV interval_type;
 
-  //! Returns the maximum space dimension that a Box can handle.
-  static dimension_type max_space_dimension();
 
-  /*! \brief
-    Returns false indicating that this domain does not recycle constraints
-  */
-  static bool can_recycle_constraint_systems();
+/* Automatically generated from PPL source file ../src/OR_Matrix.types.hh line 1. */
 
-  /*! \brief
-    Returns false indicating that this domain does not recycle congruences
-  */
-  static bool can_recycle_congruence_systems();
 
-  //! \name Constructors, Assignment, Swap and Destructor
-  //@{
+namespace Parma_Polyhedra_Library {
 
-  //! Builds a universe or empty box of the specified space dimension.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the box;
+template <typename T>
+class OR_Matrix;
 
-    \param kind
-    Specifies whether the universe or the empty box has to be built.
-  */
-  explicit Box(dimension_type num_dimensions = 0,
-	       Degenerate_Element kind = UNIVERSE);
+}
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Box(const Box& y,
-      Complexity_Class complexity = ANY_COMPLEXITY);
+/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 31. */
+#include <cstddef>
+#include <iosfwd>
 
-  //! Builds a conservative, upward approximation of \p y.
-  /*!
-    The complexity argument is ignored.
-  */
-  template <typename Other_ITV>
-  explicit Box(const Box<Other_ITV>& y,
-               Complexity_Class complexity = ANY_COMPLEXITY);
+#ifndef PPL_OR_MATRIX_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  When PPL_OR_MATRIX_EXTRA_DEBUG evaluates to <CODE>true</CODE>, each
+  instance of the class OR_Matrix::Pseudo_Row carries its own size;
+  this enables extra consistency checks to be performed.
+  \ingroup PPL_CXX_interface
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+#define PPL_OR_MATRIX_EXTRA_DEBUG 1
+#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#define PPL_OR_MATRIX_EXTRA_DEBUG 0
+#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
+#endif // !defined(PPL_OR_MATRIX_EXTRA_DEBUG)
 
-  //! Builds a box from the system of constraints \p cs.
-  /*!
-    The box inherits the space dimension of \p cs.
+namespace Parma_Polyhedra_Library {
 
-    \param cs
-    A system of constraints: constraints that are not
-    \ref intervals "interval constraints"
-    are ignored (even though they may have contributed
-    to the space dimension).
-  */
-  explicit Box(const Constraint_System& cs);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool operator==(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
 
-  //! Builds a box recycling a system of constraints \p cs.
-  /*!
-    The box inherits the space dimension of \p cs.
+namespace IO_Operators {
 
-    \param cs
-    A system of constraints: constraints that are not
-    \ref intervals "interval constraints"
-    are ignored (even though they may have contributed
-    to the space dimension).
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+std::ostream&
+operator<<(std::ostream& s, const OR_Matrix<T>& m);
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  Box(const Constraint_System& cs, Recycle_Input dummy);
+} // namespace IO_Operators
 
-  //! Builds a box from the system of generators \p gs.
-  /*!
-    Builds the smallest box containing the polyhedron defined by \p gs.
-    The box inherits the space dimension of \p gs.
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit Box(const Generator_System& gs);
 
-  //! Builds a box recycling the system of generators \p gs.
-  /*!
-    Builds the smallest box containing the polyhedron defined by \p gs.
-    The box inherits the space dimension of \p gs.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A matrix representing octagonal constraints.
+/*!
+  An OR_Matrix object is a DB_Row object that allows
+  the representation of a \em pseudo-triangular matrix,
+  like the following:
 
-    \param gs
-    The generator system describing the polyhedron to be approximated.
+<PRE>
+         _ _
+   0    |_|_|
+   1    |_|_|_ _
+   2    |_|_|_|_|
+   3    |_|_|_|_|_ _
+   4    |_|_|_|_|_|_|
+   5    |_|_|_|_|_|_|
+         . . .
+         _ _ _ _ _ _       _
+ 2n-2   |_|_|_|_|_|_| ... |_|
+ 2n-1   |_|_|_|_|_|_| ... |_|
+         0 1 2 3 4 5  ... 2n-1
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+</PRE>
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+  It is characterized by parameter n that defines the structure,
+  and such that there are 2*n rows (and 2*n columns).
+  It provides row_iterators for the access to the rows
+  and element_iterators for the access to the elements.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
+template <typename T>
+class Parma_Polyhedra_Library::OR_Matrix {
+private:
+  /*! \brief
+    An object that behaves like a matrix's row with respect to
+    the subscript operators.
   */
-  Box(const Generator_System& gs, Recycle_Input dummy);
+  template <typename U>
+  class Pseudo_Row {
+  public:
+    /*! \brief
+      Copy constructor allowing the construction of a const pseudo-row
+      from a non-const pseudo-row.
+      Ordinary copy constructor.
+    */
+    template <typename V>
+    Pseudo_Row(const Pseudo_Row<V>& y);
 
-  /*!
-    Builds the smallest box containing the grid defined by a
-    system of congruences \p cgs.
-    The box inherits the space dimension of \p cgs.
+    //! Destructor.
+    ~Pseudo_Row();
 
-    \param cgs
-    A system of congruences: congruences that are not
-    non-relational equality constraints are ignored
-    (though they may have contributed to the space dimension).
-  */
-  explicit Box(const Congruence_System& cgs);
+    //! Subscript operator.
+    U& operator[](dimension_type k) const;
 
-  /*!
-    Builds the smallest box containing the grid defined by a
-    system of congruences \p cgs, recycling \p cgs.
-    The box inherits the space dimension of \p cgs.
+    //! Default constructor: creates an invalid object that has to be assigned.
+    Pseudo_Row();
 
-    \param cgs
-    A system of congruences: congruences that are not
-    non-relational equality constraints are ignored
-    (though they will contribute to the space dimension).
+    //! Assignment operator.
+    Pseudo_Row& operator=(const Pseudo_Row& y);
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  Box(const Congruence_System& cgs, Recycle_Input dummy);
+#if !defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)
+  private:
+#else
+  // Work around a bug of GCC 4.0.x (and, likely, previous versions).
+  public:
+#endif
 
-  //! Builds a box containing the BDS \p bds.
-  /*!
-    Builds the smallest box containing \p bds using a polynomial algorithm.
-    The \p complexity argument is ignored.
-  */
-  template <typename T>
-  explicit Box(const BD_Shape<T>& bds,
-	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+#if PPL_OR_MATRIX_EXTRA_DEBUG
 
-  //! Builds a box containing the octagonal shape \p oct.
-  /*!
-    Builds the smallest box containing \p oct using a polynomial algorithm.
-    The \p complexity argument is ignored.
-  */
-  template <typename T>
-  explicit Box(const Octagonal_Shape<T>& oct,
-	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+    //! Private constructor for a Pseudo_Row with size \p s beginning at \p y.
+    Pseudo_Row(U& y, dimension_type s);
 
-  //! Builds a box containing the polyhedron \p ph.
-  /*!
-    Builds a box containing \p ph using algorithms whose complexity
-    does not exceed the one specified by \p complexity.  If
-    \p complexity is \p ANY_COMPLEXITY, then the built box is the
-    smallest one containing \p ph.
-  */
-  explicit Box(const Polyhedron& ph,
-	       Complexity_Class complexity = ANY_COMPLEXITY);
+#else // !PPL_OR_MATRIX_EXTRA_DEBUG
 
-  //! Builds a box containing the grid \p gr.
-  /*!
-    Builds the smallest box containing \p gr using a polynomial algorithm.
-    The \p complexity argument is ignored.
-  */
-  explicit Box(const Grid& ph,
-	       Complexity_Class complexity = POLYNOMIAL_COMPLEXITY);
+    //! Private constructor for a Pseudo_Row beginning at \p y.
+    explicit Pseudo_Row(U& y);
 
-  //! Builds a box containing the partially reduced product \p dp.
-  /*!
-    Builds a box containing \p ph using algorithms whose complexity
-    does not exceed the one specified by \p complexity.
-  */
-  template <typename D1, typename D2, typename R>
-  explicit Box(const Partially_Reduced_Product<D1, D2, R>& dp,
-	       Complexity_Class complexity = ANY_COMPLEXITY);
+#endif // !PPL_OR_MATRIX_EXTRA_DEBUG
 
-  /*! \brief
-    The assignment operator
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  Box& operator=(const Box& y);
+    //! Holds a reference to the beginning of this row.
+    U* first;
 
-  /*! \brief
-    Swaps \p *this with \p y
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  void swap(Box& y);
+#if !defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)
+#else
+  // Work around a bug of GCC 4.0.x (and, likely, previous versions).
+  private:
+#endif
 
-  //@} Constructors, Assignment, Swap and Destructor
+#if PPL_OR_MATRIX_EXTRA_DEBUG
 
-  //! \name Member Functions that Do Not Modify the Box
-  //@{
+    //! The size of the row.
+    dimension_type size_;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    //! Returns the size of the row.
+    dimension_type size() const;
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
-    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
-    of \p *this.
-  */
-  dimension_type affine_dimension() const;
+#endif // PPL_OR_MATRIX_EXTRA_DEBUG
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is an empty box.
-  bool is_empty() const;
+    // FIXME: the EDG-based compilers (such as Comeau and Intel)
+    // are here in wild disagreement with GCC: what is a legal friend
+    // declaration for one, is illegal for the others.
+#ifdef __EDG__
+    template <typename V> template<typename W>
+    friend class OR_Matrix<V>::Pseudo_Row;
+    template <typename V> template<typename W>
+    friend class OR_Matrix<V>::any_row_iterator;
+#else
+    template <typename V> friend class Pseudo_Row;
+    template <typename V> friend class any_row_iterator;
+#endif
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a universe box.
-  bool is_universe() const;
+    friend class OR_Matrix;
+  }; // class Pseudo_Row
+
+public:
+  //! A (non const) reference to a matrix's row.
+  typedef Pseudo_Row<T> row_reference_type;
+
+  //! A const reference to a matrix's row.
+  typedef Pseudo_Row<const T> const_row_reference_type;
 
+private:
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a topologically closed subset of the vector space.
+    A template class to derive both OR_Matrix::iterator
+    and OR_Matrix::const_iterator.
   */
-  bool is_topologically_closed() const;
+  template <typename U>
+  class any_row_iterator {
+  public:
+    typedef std::random_access_iterator_tag iterator_category;
+    typedef Pseudo_Row<U> value_type;
+    typedef long difference_type;
+    typedef const Pseudo_Row<U>* pointer;
+    typedef const Pseudo_Row<U>& reference;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
+    //! Constructor to build past-the-end objects.
+    any_row_iterator(dimension_type n_rows);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a bounded box.
-  bool is_bounded() const;
+    /*! \brief
+      Builds an iterator pointing at the beginning of an OR_Matrix whose
+      first element is \p base;
+    */
+    explicit any_row_iterator(U& base);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+    /*! \brief
+      Copy constructor allowing the construction of a const_iterator
+      from a non-const iterator.
+    */
+    template <typename V>
+    any_row_iterator(const any_row_iterator<V>& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    /*! \brief
+      Assignment operator allowing the assignment of a non-const iterator
+      to a const_iterator.
+    */
+    template <typename V>
+    any_row_iterator& operator=(const any_row_iterator<V>& y);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+    //! Dereference operator.
+    reference operator*() const;
 
-  //! Returns the relations holding between \p *this and the constraint \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+    //! Indirect member selector.
+    pointer operator->() const;
 
-  //! Returns the relations holding between \p *this and the congruence \p cg.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p cg are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+    //! Prefix increment operator.
+    any_row_iterator& operator++();
 
-  //! Returns the relations holding between \p *this and the generator \p g.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+    //! Postfix increment operator.
+    any_row_iterator operator++(int);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+    //! Prefix decrement operator.
+    any_row_iterator& operator--();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+    //! Postfix decrement operator.
+    any_row_iterator operator--(int);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+    //! Subscript operator.
+    reference operator[](difference_type m) const;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+    //! Assignment-increment operator.
+    any_row_iterator& operator+=(difference_type m);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value is computed.
+    //! Assignment-increment operator for \p m of unsigned type.
+    template <typename Unsigned>
+    typename Enable_If<(static_cast<Unsigned>(-1) > 0), any_row_iterator&>::type
+    operator+=(Unsigned m);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+    //! Assignment-decrement operator.
+    any_row_iterator& operator-=(difference_type m);
 
-    \param sup_n
-    The numerator of the supremum value;
+    //! Returns the difference between \p *this and \p y.
+    difference_type operator-(const any_row_iterator& y) const;
 
-    \param sup_d
-    The denominator of the supremum value;
+    //! Returns the sum of \p *this and \p m.
+    any_row_iterator operator+(difference_type m) const;
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+    //! Returns the sum of \p *this and \p m, for \p m of unsigned type.
+    template <typename Unsigned>
+    typename Enable_If<(static_cast<Unsigned>(-1) > 0), any_row_iterator>::type
+    operator+(Unsigned m) const;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    //! Returns the difference of \p *this and \p m.
+    any_row_iterator operator-(difference_type m) const;
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
-    and \p maximum are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+    //! Returns <CODE>true</CODE> if and only if \p *this is equal to \p y.
+    bool operator==(const any_row_iterator& y) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value and a point where \p expr reaches it are computed.
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this
+      is different from \p y.
+    */
+    bool operator!=(const any_row_iterator& y) const;
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+    //! Returns <CODE>true</CODE> if and only if \p *this is less than \p y.
+    bool operator<(const any_row_iterator& y) const;
 
-    \param sup_n
-    The numerator of the supremum value;
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this is less than
+      or equal to \p y.
+    */
+    bool operator<=(const any_row_iterator& y) const;
 
-    \param sup_d
-    The denominator of the supremum value;
+    //! Returns <CODE>true</CODE> if and only if \p *this is greater than \p y.
+    bool operator>(const any_row_iterator& y) const;
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this is greater than
+      or equal to \p y.
+    */
+    bool operator>=(const any_row_iterator& y) const;
+
+    dimension_type row_size() const;
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+    dimension_type index() const;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  private:
+    //! Represents the beginning of a row.
+    Pseudo_Row<U> value;
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p g are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& g) const;
+    //! External index.
+    dimension_type e;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value is computed.
+    //! Internal index: <CODE>i = (e+1)*(e+1)/2</CODE>.
+    dimension_type i;
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+    // FIXME: the EDG-based compilers (such as Comeau and Intel)
+    // are here in wild disagreement with GCC: what is a legal friend
+    // declaration for one, is illegal for the others.
+#ifdef __EDG__
+    template <typename V> template<typename W>
+    friend class OR_Matrix<V>::any_row_iterator;
+#else
+    template <typename V> friend class any_row_iterator;
+#endif
+  }; // class any_row_iterator
 
-    \param inf_n
-    The numerator of the infimum value;
+public:
+  //! A (non const) row iterator.
+  typedef any_row_iterator<T> row_iterator;
 
-    \param inf_d
-    The denominator of the infimum value;
+  //! A const row iterator.
+  typedef any_row_iterator<const T> const_row_iterator;
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+  //! A (non const) element iterator.
+  typedef typename DB_Row<T>::iterator element_iterator;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! A const element iterator.
+  typedef typename DB_Row<T>::const_iterator const_element_iterator;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+public:
+  //! Returns the maximum number of rows of a OR_Matrix.
+  static dimension_type max_num_rows();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value and a point where \p expr reaches it are computed.
+  //! Builds a matrix with specified dimensions.
+  /*!
+    \param num_dimensions
+    The space dimension of the matrix that will be created.
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+    This constructor creates a matrix with \p 2*num_dimensions rows.
+    Each element is initialized to plus infinity.
+  */
+  OR_Matrix(dimension_type num_dimensions);
 
-    \param inf_n
-    The numerator of the infimum value;
+  //! Copy constructor.
+  OR_Matrix(const OR_Matrix& y);
 
-    \param inf_d
-    The denominator of the infimum value;
+  //! Constructs a conservative approximation of \p y.
+  template <typename U>
+  explicit OR_Matrix(const OR_Matrix<U>& y);
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+  //! Destructor.
+  ~OR_Matrix();
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+  //! Assignment operator.
+  OR_Matrix& operator=(const OR_Matrix& y);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+private:
+  template <typename U> friend class OR_Matrix;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p g are left untouched.
+  //! Contains the rows of the matrix.
+  /*!
+    A DB_Row which contains the rows of the OR_Matrix
+    inserting each successive row to the end of the vec.
+    To contain all the elements of OR_Matrix the size of the DB_Row
+    is 2*n*(n+1), where the n is the characteristic parameter of
+    OR_Matrix.
   */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& g) const;
+  DB_Row<T> vec;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if there exist a
-    unique value \p val such that \p *this
-    saturates the equality <CODE>expr = val</CODE>.
+  //! Contains the dimension of the space of the matrix.
+  dimension_type space_dim;
 
-    \param expr
-    The linear expression for which the frequency is needed;
+  //! Contains the capacity of \p vec.
+  dimension_type vec_capacity;
 
-    \param freq_n
-    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
-    Present for interface compatibility with class Grid, where
-    the \ref Grid_Frequency "frequency" can have a non-zero value;
+  //! Private and not implemented: default construction is not allowed.
+  OR_Matrix();
 
-    \param freq_d
-    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+  /*! \brief
+    Returns the index into <CODE>vec</CODE> of the first element
+    of the row of index \p k.
+  */
+  static dimension_type row_first_element_index(dimension_type k);
 
-    \param val_n
-    The numerator of \p val;
+public:
+  //! Returns the size of the row of index \p k.
+  static dimension_type row_size(dimension_type k);
 
-    \param val_d
-    The denominator of \p val;
+  //! Swaps \p *this with \p y.
+  void m_swap(OR_Matrix& y);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! Makes the matrix grow by adding more space dimensions.
+  /*!
+    \param new_dim
+    The new dimension of the resized matrix.
 
-    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
+    Adds new rows of right dimension to the end if
+    there is enough capacity; otherwise, creates a new matrix,
+    with the specified dimension, copying the old elements
+    in the upper part of the new matrix, which is
+    then assigned to \p *this.
+    Each new element is initialized to plus infinity.
   */
-  bool frequency(const Linear_Expression& expr,
-                 Coefficient& freq_n, Coefficient& freq_d,
-                 Coefficient& val_n, Coefficient& val_d) const;
+  void grow(dimension_type new_dim);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  //! Makes the matrix shrink by removing the last space dimensions.
+  /*!
+    \param new_dim
+    The new dimension of the resized matrix.
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
+    Erases from matrix to the end the rows with index
+    greater than 2*new_dim-1.
   */
-  bool contains(const Box& y) const;
+  void shrink(dimension_type new_dim);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+  //! Resizes the matrix without worrying about the old contents.
+  /*!
+    \param new_dim
+    The new dimension of the resized matrix.
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
+    If the new dimension is greater than the old one, it adds new rows
+    of right dimension to the end if there is enough capacity; otherwise,
+    it creates a new matrix, with the specified dimension, which is
+    then assigned to \p *this.
+    If the new dimension is less than the old one, it erase from the matrix
+    the rows having index greater than 2*new_dim-1
   */
-  bool strictly_contains(const Box& y) const;
+  void resize_no_copy(dimension_type new_dim);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  //! Returns the space-dimension of the matrix.
+  dimension_type space_dimension() const;
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool is_disjoint_from(const Box& y) const;
+  //! Returns the number of rows in the matrix.
+  dimension_type num_rows() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this satisfies
-    all its invariants.
-  */
-  bool OK() const;
+  //! \name Subscript operators.
+  //@{
+  //! Returns a reference to the \p k-th row of the matrix.
+  row_reference_type operator[](dimension_type k);
 
-  //@} Member Functions that Do Not Modify the Box
+  //! Returns a constant reference to the \p k-th row of the matrix.
+  const_row_reference_type operator[](dimension_type k) const;
+  //@}
 
-  //! \name Space-Dimension Preserving Member Functions that May Modify the Box
-  //@{
 
   /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    defining \p *this.
+    Returns an iterator pointing to the first row,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
+  */
+  row_iterator row_begin();
 
-    \param c
-    The constraint to be added.
+  //! Returns the past-the-end const_iterator.
+  row_iterator row_end();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible,
-    or \p c is not optimally supported by the Box domain.
+  /*! \brief
+    Returns a const row iterator pointing to the first row,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  void add_constraint(const Constraint& c);
+  const_row_iterator row_begin() const;
+
+  //! Returns the past-the-end const row iterator.
+  const_row_iterator row_end() const;
 
   /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    defining \p *this.
+    Returns an iterator pointing to the first element,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
+  */
+  element_iterator element_begin();
 
-    \param  cs
-    The constraints to be added.
+  //! Returns the past-the-end const_iterator.
+  element_iterator element_end();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the box domain.
+  /*! \brief
+    Returns a const element iterator pointing to the first element,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  void add_constraints(const Constraint_System& cs);
+  const_element_iterator element_begin() const;
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    defining \p *this.
+  //! Returns the past-the-end const element iterator.
+  const_element_iterator element_end() const;
 
-    \param  cs
-    The constraints to be added. They may be recycled.
+  //! Clears the matrix deallocating all its rows.
+  void clear();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the box domain.
+  PPL_OUTPUT_DECLARATIONS
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
   */
-  void add_recycled_constraints(Constraint_System& cs);
+  bool ascii_load(std::istream& s);
 
-  /*! \brief
-    Adds to \p *this a constraint equivalent to the congruence \p cg.
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-    \param cg
-    The congruence to be added.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    or \p cg is not optimally supported by the box domain.
-  */
-  void add_congruence(const Congruence& cg);
+  friend bool operator==<T>(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
 
-    \param cgs
-    The congruences to be added.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the box domain.
-  */
-  void add_congruences(const Congruence_System& cgs);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Swaps \p x with \p y.
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+void swap(OR_Matrix<T>& x, OR_Matrix<T>& y);
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+bool operator!=(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
 
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates OR_Matrix
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the box domain.
+  The direction of the approximation is specified by \p dir.
 
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+				 const OR_Matrix<T>& x,
+				 const OR_Matrix<T>& y,
+				 Rounding_Dir dir,
+				 Temp& tmp0,
+				 Temp& tmp1,
+				 Temp& tmp2);
 
-  /*! \brief
-    Use the constraint \p c to refine \p *this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates OR_Matrix
+  If the Euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-    \param c
-    The constraint to be used for refinement.
+  The direction of the approximation is specified by \p dir.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			       const OR_Matrix<T>& x,
+			       const OR_Matrix<T>& y,
+			       Rounding_Dir dir,
+			       Temp& tmp0,
+			       Temp& tmp1,
+			       Temp& tmp2);
 
-  /*! \brief
-    Use the constraints in \p cs to refine \p *this.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates OR_Matrix
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into to \p r
+  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
 
-    \param  cs
-    The constraints to be used for refinement.
-    To avoid termination problems, each constraint in \p cs
-    will be used for a single refinement step.
+  The direction of the approximation is specified by \p dir.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+				 const OR_Matrix<T>& x,
+				 const OR_Matrix<T>& y,
+				 Rounding_Dir dir,
+				 Temp& tmp0,
+				 Temp& tmp1,
+				 Temp& tmp2);
 
-    \note
-    The user is warned that the accuracy of this refinement operator
-    depends on the order of evaluation of the constraints in \p cs,
-    which is in general unpredictable. If a fine control on such an
-    order is needed, the user should consider calling the method
-    <code>refine_with_constraint(const Constraint& c)</code> inside
-    an appropriate looping construct.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Use the congruence \p cg to refine \p *this.
+/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 1. */
+/* OR_Matrix class implementation: inline functions.
+*/
 
-    \param cg
-    The congruence to be used for refinement.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 33. */
+#include <algorithm>
 
-  /*! \brief
-    Use the congruences in \p cgs to refine \p *this.
+namespace Parma_Polyhedra_Library {
 
-    \param  cgs
-    The congruences to be used for refinement.
+template <typename T>
+inline dimension_type
+OR_Matrix<T>::row_first_element_index(const dimension_type k) {
+  return ((k + 1)*(k + 1))/2;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+template <typename T>
+inline dimension_type
+OR_Matrix<T>::row_size(const dimension_type k) {
+  return k + 2 - k % 2;
+}
 
-  /*! \brief
-    Use the constraint \p c for constraint propagation on \p *this.
+#if PPL_OR_MATRIX_EXTRA_DEBUG
 
-    \param c
-    The constraint to be used for constraint propagation.
+template <typename T>
+template <typename U>
+inline dimension_type
+OR_Matrix<T>::Pseudo_Row<U>::size() const {
+  return size_;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
-  */
-  void propagate_constraint(const Constraint& c);
+#endif // PPL_OR_MATRIX_EXTRA_DEBUG
 
-  /*! \brief
-    Use the constraints in \p cs for constraint propagagion on \p *this.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row()
+  : first(0)
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  , size_(0)
+#endif
+{
+}
 
-    \param cs
-    The constraints to be used for constraint propagation.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(U& y
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+		, dimension_type s
+#endif
+		)
+  : first(&y)
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  , size_(s)
+#endif
+{
+}
 
-    \param max_iterations
-    The maximum number of propagation steps for each constraint in \p cs.
-    If zero (the default), the number of propagations will be unbounded,
-    possibly resulting in an infinite loop.
+template <typename T>
+template <typename U>
+template <typename V>
+inline
+OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(const Pseudo_Row<V>& y)
+  : first(y.first)
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+    , size_(y.size_)
+#endif
+{
+}
+
+template <typename T>
+template <typename U>
+inline OR_Matrix<T>::Pseudo_Row<U>&
+OR_Matrix<T>::Pseudo_Row<U>::operator=(const Pseudo_Row& y) {
+  first = y.first;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  size_ = y.size_;
+#endif
+  return *this;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::Pseudo_Row<U>::~Pseudo_Row() {
+}
 
-    \warning
-    This method may lead to non-termination if \p max_iterations is 0.
-  */
-  void propagate_constraints(const Constraint_System& cs,
-                             dimension_type max_iterations = 0);
+template <typename T>
+template <typename U>
+inline U&
+OR_Matrix<T>::Pseudo_Row<U>::operator[](const dimension_type k) const {
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  PPL_ASSERT(k < size_);
+#endif
+  return *(first + k);
+}
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::any_row_iterator<U>
+::any_row_iterator(const dimension_type n_rows)
+  : value(),
+    e(n_rows)
+    // Field `i' is intentionally not initialized here.
+{
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  // Turn `value' into a valid object.
+  value.size_ = OR_Matrix::row_size(e);
+#endif
+}
 
-    \param var
-    The space dimension that will be unconstrained.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::any_row_iterator<U>::any_row_iterator(U& base)
+  :  value(base
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+	   , OR_Matrix<T>::row_size(0)
+#endif
+	   ),
+     e(0),
+     i(0) {
+}
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+template <typename T>
+template <typename U>
+template <typename V>
+inline
+OR_Matrix<T>::any_row_iterator<U>
+::any_row_iterator(const any_row_iterator<V>& y)
+  : value(y.value),
+    e(y.e),
+    i(y.i) {
+}
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
+template <typename T>
+template <typename U>
+template <typename V>
+inline typename OR_Matrix<T>::template any_row_iterator<U>&
+OR_Matrix<T>::any_row_iterator<U>::operator=(const any_row_iterator<V>& y) {
+  value = y.value;
+  e = y.e;
+  i = y.i;
+  return *this;
+}
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>::reference
+OR_Matrix<T>::any_row_iterator<U>::operator*() const {
+  return value;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void unconstrain(const Variables_Set& vars);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>::pointer
+OR_Matrix<T>::any_row_iterator<U>::operator->() const {
+  return &value;
+}
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void intersection_assign(const Box& y);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>&
+OR_Matrix<T>::any_row_iterator<U>::operator++() {
+  ++e;
+  dimension_type increment = e;
+  if (e % 2 != 0)
+    ++increment;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  else {
+    value.size_ += 2;
+  }
+#endif
+  i += increment;
+  value.first += increment;
+  return *this;
+}
 
-  /*! \brief
-    Assigns to \p *this the smallest box containing the union
-    of \p *this and \p y.
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>
+OR_Matrix<T>::any_row_iterator<U>::operator++(int) {
+  any_row_iterator old = *this;
+  ++(*this);
+  return old;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const Box& y);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>&
+OR_Matrix<T>::any_row_iterator<U>::operator--() {
+  dimension_type decrement = e + 1;
+  --e;
+  if (e % 2 != 0) {
+    ++decrement;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+    value.size_ -= 2;
+#endif
+  }
+  i -= decrement;
+  value.first -= decrement;
+  return *this;
+}
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact, it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>
+OR_Matrix<T>::any_row_iterator<U>::operator--(int) {
+  any_row_iterator old = *this;
+  --(*this);
+  return old;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool upper_bound_assign_if_exact(const Box& y);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>&
+OR_Matrix<T>::any_row_iterator<U>::operator+=(const difference_type m) {
+  difference_type e_dt = static_cast<difference_type>(e);
+  difference_type i_dt = static_cast<difference_type>(i);
+  difference_type increment = m + (m * m) / 2 + m * e_dt;
+  if (e_dt % 2 == 0 && m % 2 != 0)
+    ++increment;
+  e_dt += m;
+  i_dt += increment;
+  e = static_cast<dimension_type>(e_dt);
+  i = static_cast<dimension_type>(i_dt);
+  value.first += increment;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  difference_type value_size_dt = static_cast<difference_type>(value.size_);
+  value_size_dt += (m - m % 2);
+  value.size_ = static_cast<dimension_type>(value_size_dt);
+#endif
+  return *this;
+}
 
-  /*! \brief
-    Assigns to \p *this the difference of \p *this and \p y.
+template <typename T>
+template <typename U>
+template <typename Unsigned>
+inline typename
+Enable_If<(static_cast<Unsigned>(-1) > 0),
+            typename OR_Matrix<T>::template any_row_iterator<U>& >::type
+OR_Matrix<T>::any_row_iterator<U>::operator+=(Unsigned m) {
+  dimension_type n = m;
+  dimension_type increment = n + (n*n)/2 + n*e;
+  if (e % 2 == 0 && n % 2 != 0)
+    ++increment;
+  e += n;
+  i += increment;
+  value.first += increment;
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+  value.size_ = value.size_ + n - n % 2;
+#endif
+  return *this;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Box& y);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>&
+OR_Matrix<T>::any_row_iterator<U>::operator-=(difference_type m) {
+  return *this += -m;
+}
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>::difference_type
+OR_Matrix<T>::any_row_iterator<U>::operator-(const any_row_iterator& y) const {
+  return e - y.e;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const Box& y);
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>
+OR_Matrix<T>::any_row_iterator<U>::operator+(difference_type m) const {
+  any_row_iterator r = *this;
+  r += m;
+  return r;
+}
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine image"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
+template <typename T>
+template <typename U>
+template <typename Unsigned>
+inline typename
+Enable_If<(static_cast<Unsigned>(-1) > 0),
+            typename OR_Matrix<T>::template any_row_iterator<U> >::type
+OR_Matrix<T>::any_row_iterator<U>::operator+(Unsigned m) const {
+  any_row_iterator r = *this;
+  r += m;
+  return r;
+}
 
-    \param var
-    The variable to which the affine expression is assigned;
+template <typename T>
+template <typename U>
+inline typename OR_Matrix<T>::template any_row_iterator<U>
+OR_Matrix<T>::any_row_iterator<U>::operator-(const difference_type m) const {
+  any_row_iterator r = *this;
+  r -= m;
+  return r;
+}
 
-    \param expr
-    The numerator of the affine expression;
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>
+::operator==(const any_row_iterator& y) const {
+  return e == y.e;
+}
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>
+::operator!=(const any_row_iterator& y) const {
+  return e != y.e;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
-  */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		      = Coefficient_one());
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>::operator<(const any_row_iterator& y) const {
+  return e < y.e;
+}
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine preimage"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>
+::operator<=(const any_row_iterator& y) const {
+  return e <= y.e;
+}
 
-    \param var
-    The variable to which the affine expression is substituted;
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>::operator>(const any_row_iterator& y) const {
+  return e > y.e;
+}
 
-    \param expr
-    The numerator of the affine expression;
+template <typename T>
+template <typename U>
+inline bool
+OR_Matrix<T>::any_row_iterator<U>
+::operator>=(const any_row_iterator& y) const {
+  return e >= y.e;
+}
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+template <typename T>
+template <typename U>
+inline dimension_type
+OR_Matrix<T>::any_row_iterator<U>::row_size() const {
+  return OR_Matrix::row_size(e);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
-  */
-  void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+template <typename T>
+template <typename U>
+inline dimension_type
+OR_Matrix<T>::any_row_iterator<U>::index() const {
+  return e;
+}
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+template <typename T>
+inline typename OR_Matrix<T>::row_iterator
+OR_Matrix<T>::row_begin() {
+  return num_rows() == 0 ? row_iterator(0) : row_iterator(vec[0]);
+}
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+template <typename T>
+inline typename OR_Matrix<T>::row_iterator
+OR_Matrix<T>::row_end() {
+  return row_iterator(num_rows());
+}
 
-    \param relsym
-    The relation symbol;
+template <typename T>
+inline typename OR_Matrix<T>::const_row_iterator
+OR_Matrix<T>::row_begin() const {
+  return num_rows() == 0 ? const_row_iterator(0) : const_row_iterator(vec[0]);
+}
 
-    \param expr
-    The numerator of the right hand side affine expression;
+template <typename T>
+inline typename OR_Matrix<T>::const_row_iterator
+OR_Matrix<T>::row_end() const {
+  return const_row_iterator(num_rows());
+}
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+template <typename T>
+inline typename OR_Matrix<T>::element_iterator
+OR_Matrix<T>::element_begin() {
+  return vec.begin();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
-  */
-  void generalized_affine_image(Variable var,
-				Relation_Symbol relsym,
-				const Linear_Expression& expr,
-				Coefficient_traits::const_reference denominator
-				  = Coefficient_one());
+template <typename T>
+inline typename OR_Matrix<T>::element_iterator
+OR_Matrix<T>::element_end() {
+  return vec.end();
+}
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+template <typename T>
+inline typename OR_Matrix<T>::const_element_iterator
+OR_Matrix<T>::element_begin() const {
+  return vec.begin();
+}
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+template <typename T>
+inline typename OR_Matrix<T>::const_element_iterator
+OR_Matrix<T>::element_end() const {
+  return vec.end();
+}
 
-    \param relsym
-    The relation symbol;
+template <typename T>
+inline void
+OR_Matrix<T>::m_swap(OR_Matrix& y) {
+  using std::swap;
+  swap(vec, y.vec);
+  swap(space_dim, y.space_dim);
+  swap(vec_capacity, y.vec_capacity);
+}
 
-    \param expr
-    The numerator of the right hand side affine expression;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the integer square root of \p x.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline dimension_type
+isqrt(dimension_type x) {
+  dimension_type r = 0;
+  const dimension_type FIRST_BIT_MASK = 0x40000000U;
+  for (dimension_type t = FIRST_BIT_MASK; t != 0; t >>= 2) {
+    dimension_type s = r + t;
+    if (s <= x) {
+      x -= s;
+      r = s + t;
+    }
+    r >>= 1;
+  }
+  return r;
+}
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+template <typename T>
+inline dimension_type
+OR_Matrix<T>::max_num_rows() {
+  // Compute the maximum number of rows that are contained in a DB_Row
+  // that allocates a pseudo-triangular matrix.
+  dimension_type k = isqrt(2*DB_Row<T>::max_size() + 1);
+  return (k - 1) - (k - 1) % 2;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
-  */
-  void
-  generalized_affine_preimage(Variable var,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator
-			      = Coefficient_one());
+template <typename T>
+inline memory_size_type
+OR_Matrix<T>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+template <typename T>
+inline
+OR_Matrix<T>::OR_Matrix(const dimension_type num_dimensions)
+  : vec(2*num_dimensions*(num_dimensions + 1)),
+    space_dim(num_dimensions),
+    vec_capacity(vec.size()) {
+}
 
-    \param lhs
-    The left hand side affine expression;
+template <typename T>
+inline
+OR_Matrix<T>::~OR_Matrix() {
+}
 
-    \param relsym
-    The relation symbol;
+template <typename T>
+inline typename OR_Matrix<T>::row_reference_type
+OR_Matrix<T>::operator[](dimension_type k) {
+  return row_reference_type(vec[row_first_element_index(k)]
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+			    , row_size(k)
+#endif
+			    );
+}
 
-    \param rhs
-    The right hand side affine expression.
+template <typename T>
+inline typename OR_Matrix<T>::const_row_reference_type
+OR_Matrix<T>::operator[](dimension_type k) const {
+  return const_row_reference_type(vec[row_first_element_index(k)]
+#if PPL_OR_MATRIX_EXTRA_DEBUG
+				  , row_size(k)
+#endif
+				  );
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs.
-  */
-  void generalized_affine_image(const Linear_Expression& lhs,
-				Relation_Symbol relsym,
-				const Linear_Expression& rhs);
+template <typename T>
+inline dimension_type
+OR_Matrix<T>::space_dimension() const {
+  return space_dim;
+}
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+template <typename T>
+inline dimension_type
+OR_Matrix<T>::num_rows() const {
+  return 2*space_dimension();
+}
 
-    \param lhs
-    The left hand side affine expression;
+template <typename T>
+inline void
+OR_Matrix<T>::clear() {
+  OR_Matrix<T>(0).m_swap(*this);
+}
 
-    \param relsym
-    The relation symbol;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline bool
+operator==(const OR_Matrix<T>& x, const OR_Matrix<T>& y) {
+  return x.space_dim == y.space_dim && x.vec == y.vec;
+}
 
-    \param rhs
-    The right hand side affine expression.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+inline bool
+operator!=(const OR_Matrix<T>& x, const OR_Matrix<T>& y) {
+  return !(x == y);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs.
-  */
-  void generalized_affine_preimage(const Linear_Expression& lhs,
-				   Relation_Symbol relsym,
-				   const Linear_Expression& rhs);
+template <typename T>
+inline
+OR_Matrix<T>::OR_Matrix(const OR_Matrix& y)
+  : vec(y.vec),
+    space_dim(y.space_dim),
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
+}
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+template <typename T>
+template <typename U>
+inline
+OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
+  : vec(),
+    space_dim(y.space_dim),
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
+  vec.construct_upward_approximation(y.vec, vec_capacity);
+  PPL_ASSERT(OK());
+}
 
-    \param var
-    The variable updated by the affine relation;
+template <typename T>
+inline OR_Matrix<T>&
+OR_Matrix<T>::operator=(const OR_Matrix& y) {
+  vec = y.vec;
+  space_dim = y.space_dim;
+  vec_capacity = compute_capacity(y.vec.size(), DB_Row<T>::max_size());
+  return *this;
+}
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+template <typename T>
+inline void
+OR_Matrix<T>::grow(const dimension_type new_dim) {
+  PPL_ASSERT(new_dim >= space_dim);
+  if (new_dim > space_dim) {
+    const dimension_type new_size = 2*new_dim*(new_dim + 1);
+    if (new_size <= vec_capacity) {
+      // We can recycle the old vec.
+      vec.expand_within_capacity(new_size);
+      space_dim = new_dim;
+    }
+    else {
+      // We cannot recycle the old vec.
+      OR_Matrix<T> new_matrix(new_dim);
+      element_iterator j = new_matrix.element_begin();
+      for (element_iterator i = element_begin(),
+	     mend = element_end(); i != mend; ++i, ++j)
+	assign_or_swap(*j, *i);
+      m_swap(new_matrix);
+    }
+  }
+}
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+template <typename T>
+inline void
+OR_Matrix<T>::shrink(const dimension_type new_dim) {
+  PPL_ASSERT(new_dim <= space_dim);
+  const dimension_type new_size = 2*new_dim*(new_dim + 1);
+  vec.shrink(new_size);
+  space_dim = new_dim;
+}
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+template <typename T>
+inline void
+OR_Matrix<T>::resize_no_copy(const dimension_type new_dim) {
+  if (new_dim > space_dim) {
+    const dimension_type new_size = 2*new_dim*(new_dim + 1);
+    if (new_size <= vec_capacity) {
+      // We can recycle the old vec.
+      vec.expand_within_capacity(new_size);
+      space_dim = new_dim;
+    }
+    else {
+      // We cannot recycle the old vec.
+      OR_Matrix<T> new_matrix(new_dim);
+      m_swap(new_matrix);
+    }
+  }
+  else if (new_dim < space_dim)
+    shrink(new_dim);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization, typename Temp, typename To, typename T>
+inline bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const OR_Matrix<T>& x,
+		    const OR_Matrix<T>& y,
+		    const Rounding_Dir dir,
+		    Temp& tmp0,
+		    Temp& tmp1,
+		    Temp& tmp2) {
+  if (x.num_rows() != y.num_rows())
+    return false;
+  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  for (typename OR_Matrix<T>::const_element_iterator
+	 i = x.element_begin(), j = y.element_begin(),
+	 mat_end = x.element_end(); i != mat_end; ++i, ++j) {
+    const T& x_i = *i;
+    const T& y_i = *j;
+    if (is_plus_infinity(x_i)) {
+      if (is_plus_infinity(y_i))
+	continue;
+      else {
+      pinf:
+	assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+	return true;
+      }
+    }
+    else if (is_plus_infinity(y_i))
+      goto pinf;
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+    const Temp* tmp1p;
+    const Temp* tmp2p;
+    if (x_i > y_i) {
+      maybe_assign(tmp1p, tmp1, x_i, dir);
+      maybe_assign(tmp2p, tmp2, y_i, inverse(dir));
+    }
+    else {
+      maybe_assign(tmp1p, tmp1, y_i, dir);
+      maybe_assign(tmp2p, tmp2, x_i, inverse(dir));
+    }
+    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+    PPL_ASSERT(sgn(tmp1) >= 0);
+    Specialization::combine(tmp0, tmp1, dir);
+  }
 
-    \param var
-    The variable updated by the affine relation;
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
+}
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const OR_Matrix<T>& x,
+			    const OR_Matrix<T>& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  return
+    l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >(r, x, y,
+								    dir,
+								    tmp0,
+								    tmp1,
+								    tmp2);
+}
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const OR_Matrix<T>& x,
+			  const OR_Matrix<T>& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  return
+    l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >(r, x, y,
+								  dir,
+								  tmp0,
+								  tmp1,
+								  tmp2);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Temp, typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const OR_Matrix<T>& x,
+			   const OR_Matrix<T>& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  return
+    l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >(r, x, y,
+								   dir,
+								   tmp0,
+								   tmp1,
+								   tmp2);
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+/*! \relates OR_Matrix */
+template <typename T>
+inline void
+swap(OR_Matrix<T>& x, OR_Matrix<T>& y) {
+  x.m_swap(y);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void time_elapse_assign(const Box& y);
+} // namespace Parma_Polyhedra_Library
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+/* Automatically generated from PPL source file ../src/OR_Matrix.templates.hh line 1. */
+/* OR_Matrix class implementation: non-inline template functions.
+*/
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+#include <iostream>
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+namespace Parma_Polyhedra_Library {
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+template <typename T>
+memory_size_type
+OR_Matrix<T>::external_memory_in_bytes() const{
+  return vec.external_memory_in_bytes();
+}
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+template <typename T>
+bool
+OR_Matrix<T>::OK() const {
+#ifndef NDEBUG
+  using std::endl;
+  using std::cerr;
+#endif
+  // The right number of cells should be in use.
+  const dimension_type dim = space_dimension();
+  if (vec.size() != 2*dim*(dim + 1)) {
+#ifndef NDEBUG
+    cerr << "OR_Matrix has a wrong number of cells:\n"
+         << "vec.size() is " << vec.size()
+         << ", expected size is " << (2*dim*(dim+1)) << "!\n";
+#endif
+    return false;
+  }
 
-    \param pcs
-    Possibly null pointer to a constraint system.  When non-null,
-    the pointed-to constraint system is assumed to represent the
-    conditional or looping construct guard with respect to which
-    wrapping is performed.  Since wrapping requires the computation
-    of upper bounds and due to non-distributivity of constraint
-    refinement over upper bounds, passing a constraint system in this
-    way can be more precise than refining the result of the wrapping
-    operation with the constraints in <CODE>*pcs</CODE>.
+  // The underlying DB_Row should be OK.
+  if (!vec.OK(vec.size(), vec_capacity))
+    return false;
 
-    \param complexity_threshold
-    A precision parameter which is ignored for the Box domain.
+  // All checks passed.
+  return true;
+}
 
-    \param wrap_individually
-    A precision parameter which is ignored for the Box domain.
+template <typename T>
+void
+OR_Matrix<T>::ascii_dump(std::ostream& s) const {
+  const OR_Matrix<T>& x = *this;
+  const char separator = ' ';
+  dimension_type space = x.space_dimension();
+  s << space << separator << "\n";
+  for (const_row_iterator i = x.row_begin(),
+	 x_row_end = x.row_end(); i != x_row_end; ++i) {
+    const_row_reference_type r = *i;
+    dimension_type rs = i.row_size();
+    for (dimension_type j = 0; j < rs; ++j) {
+      using namespace IO_Operators;
+      s << r[j] << separator;
+    }
+    s << "\n";
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars or with <CODE>*pcs</CODE>.
-  */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, OR_Matrix<T>)
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
+template <typename T>
+bool
+OR_Matrix<T>::ascii_load(std::istream& s) {
+  dimension_type space;
+  if (!(s >> space))
+    return false;
+  resize_no_copy(space);
+  for (row_iterator i = row_begin(),
+	 this_row_end = row_end(); i != this_row_end; ++i) {
+    row_reference_type r_i = *i;
+    const dimension_type rs = i.row_size();
+    for (dimension_type j = 0; j < rs; ++j) {
+      Result r = input(r_i[j], s, ROUND_CHECK);
+      if (result_relation(r) != VR_EQ || is_minus_infinity(r_i[j]))
+	return false;
+    }
+  }
+  PPL_ASSERT(OK());
+  return true;
+}
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::OR_Matrix */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const OR_Matrix<T>& m) {
+  for (typename OR_Matrix<T>::const_row_iterator m_iter = m.row_begin(),
+	 m_end = m.row_end(); m_iter != m_end; ++m_iter) {
+    typename OR_Matrix<T>::const_row_reference_type r_m = *m_iter;
+    const dimension_type mr_size = m_iter.row_size();
+    for (dimension_type j = 0; j < mr_size; ++j)
+      s << r_m[j] << " ";
+    s << "\n";
+  }
+  return s;
+}
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-   void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
+/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 609. */
 
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 50. */
+#include <vector>
+#include <cstddef>
+#include <climits>
+#include <iosfwd>
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+namespace Parma_Polyhedra_Library {
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+namespace IO_Operators {
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape
+  Writes a textual representation of \p oct on \p s:
+  <CODE>false</CODE> is written if \p oct is an empty polyhedron;
+  <CODE>true</CODE> is written if \p oct is a universe polyhedron;
+  a system of constraints defining \p oct is written otherwise,
+  all constraints separated by ", ".
+*/
+template <typename T>
+std::ostream&
+operator<<(std::ostream& s, const Octagonal_Shape<T>& oct);
 
-    \param y
-    A box that <EM>must</EM> be contained in \p *this.
+} // namespace IO_Operators
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+//! Swaps \p x with \p y.
+/*! \relates Octagonal_Shape */
+template <typename T>
+void swap(Octagonal_Shape<T>& x, Octagonal_Shape<T>& y);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  template <typename T>
-  typename Enable_If<Is_Same<T, Box>::value
-                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                     void>::type
-  CC76_widening_assign(const T& y, unsigned* tp = 0);
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same octagon.
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+  \relates Octagonal_Shape
+  Note that \p x and \p y may be dimension-incompatible shapes:
+  in this case, the value <CODE>false</CODE> is returned.
+*/
+template <typename T>
+bool operator==(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
 
-    \param y
-    A box that <EM>must</EM> be contained in \p *this.
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different shapes.
 
-    \param first
-    An iterator that points to the first stop-point.
+  \relates Octagonal_Shape
+  Note that \p x and \p y may be dimension-incompatible shapes:
+  in this case, the value <CODE>true</CODE> is returned.
+*/
+template <typename T>
+bool operator!=(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
 
-    \param last
-    An iterator that points one past the last stop-point.
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  template <typename T, typename Iterator>
-  typename Enable_If<Is_Same<T, Box>::value
-                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                     void>::type
-  CC76_widening_assign(const T& y,
-		       Iterator first, Iterator last);
+  The direction of the approximation is specified by \p dir.
 
-  //! Same as CC76_widening_assign(y, tp).
-  void widening_assign(const Box& y, unsigned* tp = 0);
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Octagonal_Shape<T>& x,
+                                 const Octagonal_Shape<T>& y,
+                                 Rounding_Dir dir);
 
-  /*! \brief
-    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \param y
-    A box that <EM>must</EM> be contained in \p *this.
+  The direction of the approximation is specified by \p dir.
 
-    \param cs
-    The system of constraints used to improve the widened box.
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Octagonal_Shape<T>& x,
+                                 const Octagonal_Shape<T>& y,
+                                 Rounding_Dir dir);
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the rectilinear distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
-    if \p cs contains a strict inequality.
-  */
-  void limited_CC76_extrapolation_assign(const Box& y,
-					 const Constraint_System& cs,
-					 unsigned* tp = 0);
+  The direction of the approximation is specified by \p dir.
 
-  /*! \brief
-    Assigns to \p *this the result of restoring in \p y the constraints
-    of \p *this that were lost by
-    \ref CC76_extrapolation "CC76-extrapolation" applications.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                 const Octagonal_Shape<T>& x,
+                                 const Octagonal_Shape<T>& y,
+                                 Rounding_Dir dir,
+                                 Temp& tmp0,
+                                 Temp& tmp1,
+                                 Temp& tmp2);
 
-    \param y
-    A Box that <EM>must</EM> contain \p *this.
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  The direction of the approximation is specified by \p dir.
 
-    \note
-    As was the case for widening operators, the argument \p y is meant to
-    denote the value computed in the previous iteration step, whereas
-    \p *this denotes the value computed in the current iteration step
-    (in the <EM>decreasing</EM> iteration sequence). Hence, the call
-    <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
-    the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
-  */
-  template <typename T>
-  typename Enable_If<Is_Same<T, Box>::value
-                     && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                     void>::type
-  CC76_narrowing_assign(const T& y);
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Octagonal_Shape<T>& x,
+                               const Octagonal_Shape<T>& y,
+                               Rounding_Dir dir);
 
-  //@} Space-Dimension Preserving Member Functions that May Modify [...]
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+  The direction of the approximation is specified by \p dir.
 
-  //! Adds \p m new dimensions and embeds the old box into the new space.
-  /*!
-    \param m
-    The number of dimensions to add.
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Octagonal_Shape<T>& x,
+                               const Octagonal_Shape<T>& y,
+                               Rounding_Dir dir);
 
-    The new dimensions will be those having the highest indexes in the new
-    box, which is defined by a system of interval constraints in which the
-    variables running through the new dimensions are unconstrained.
-    For instance, when starting from the box \f$\cB \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the box
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cB
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+//! Computes the euclidean distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the euclidean distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  /*! \brief
-    Adds \p m new dimensions to the box and does not embed it in
-    the new vector space.
+  The direction of the approximation is specified by \p dir.
 
-    \param m
-    The number of dimensions to add.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                               const Octagonal_Shape<T>& x,
+                               const Octagonal_Shape<T>& y,
+                               Rounding_Dir dir,
+                               Temp& tmp0,
+                               Temp& tmp1,
+                               Temp& tmp2);
 
-    The new dimensions will be those having the highest indexes in the
-    new box, which is defined by a system of bounded differences in
-    which the variables running through the new dimensions are all
-    constrained to be equal to 0.
-    For instance, when starting from the box \f$\cB \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the box
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cB
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_project(dimension_type m);
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  /*! \brief
-    Seeing a box as a set of tuples (its points),
-    assigns to \p *this all the tuples that can be obtained by concatenating,
-    in the order given, a tuple of \p *this with a tuple of \p y.
+  The direction of the approximation is specified by \p dir.
 
-    Let \f$B \sseq \Rset^n\f$ and \f$D \sseq \Rset^m\f$ be the boxes
-    corresponding, on entry, to \p *this and \p y, respectively.
-    Upon successful completion, \p *this will represent the box
-    \f$R \sseq \Rset^{n+m}\f$ such that
-    \f[
-      R \defeq
-          \Bigl\{\,
-            (x_1, \ldots, x_n, y_1, \ldots, y_m)^\transpose
-          \Bigm|
-            (x_1, \ldots, x_n)^\transpose \in B,
-            (y_1, \ldots, y_m)^\transpose \in D
-          \,\Bigl\}.
-    \f]
-    Another way of seeing it is as follows: first increases the space
-    dimension of \p *this by adding \p y.space_dimension() new
-    dimensions; then adds to the system of constraints of \p *this a
-    renamed-apart version of the constraints of \p y.
-  */
-  void concatenate_assign(const Box& y);
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
+*/
+template <typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Octagonal_Shape<T>& x,
+                                const Octagonal_Shape<T>& y,
+                                Rounding_Dir dir);
 
-  //! Removes all the specified dimensions.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the dimensions to be removed.
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p vars.
-  */
-  void remove_space_dimensions(const Variables_Set& vars);
+  The direction of the approximation is specified by \p dir.
 
-  /*! \brief
-    Removes the higher dimensions so that the resulting space
-    will have dimension \p new_dimension.
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
+*/
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Octagonal_Shape<T>& x,
+                                const Octagonal_Shape<T>& y,
+                                Rounding_Dir dir);
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimension is greater than the space dimension
-    of \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
+/*! \relates Octagonal_Shape
+  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
+  stores an approximation of it into \p r and returns <CODE>true</CODE>;
+  returns <CODE>false</CODE> otherwise.
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+  The direction of the approximation is specified by \p dir.
 
-    \param pfunc
-    The partial function specifying the destiny of each dimension.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
+*/
+template <typename Temp, typename To, typename T>
+bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+                                const Octagonal_Shape<T>& x,
+                                const Octagonal_Shape<T>& y,
+                                Rounding_Dir dir,
+                                Temp& tmp0,
+                                Temp& tmp1,
+                                Temp& tmp2);
 
-    The template type parameter Partial_Function must provide
-    the following methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty co-domain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the co-domain
-    of the partial function.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.
-    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
-    returned.
+// This class contains some helper functions that need to be friends of
+// Linear_Expression.
+class Octagonal_Shape_Helper {
+public:
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Decodes the constraint \p c as an octagonal difference.
+  /*! \relates Octagonal_Shape
+    \return
+    <CODE>true</CODE> if the constraint \p c is an octagonal difference;
+    <CODE>false</CODE> otherwise.
 
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Mapping_the_Dimensions_of_the_Vector_Space
-    "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+    \param c
+    The constraint to be decoded.
+
+    \param c_space_dim
+    The space dimension of the constraint \p c (it is <EM>assumed</EM>
+    to match the actual space dimension of \p c).
+
+    \param c_num_vars
+    If <CODE>true</CODE> is returned, then it will be set to the number
+    of variables having a non-zero coefficient. The only legal values
+    will therefore be 0, 1 and 2.
+
+    \param c_first_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the index of the first variable having
+    a non-zero coefficient in \p c.
+
+    \param c_second_var
+    If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
+    then it will be set to the index of the second variable having
+    a non-zero coefficient in \p c.
+
+    \param c_coeff
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the value of the first non-zero coefficient
+    in \p c.
+
+    \param c_term
+    If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
+    then it will be set to the right value of the inhomogeneous term
+    of \p c.
+  */
+  #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  static bool extract_octagonal_difference(const Constraint& c,
+                                           dimension_type c_space_dim,
+                                           dimension_type& c_num_vars,
+                                           dimension_type& c_first_var,
+                                           dimension_type& c_second_var,
+                                           Coefficient& c_coeff,
+                                           Coefficient& c_term);
+};
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+} // namespace Parma_Polyhedra_Library
 
-    \param m
-    The number of replicas to be created.
+//! An octagonal shape.
+/*! \ingroup PPL_CXX_interface
+  The class template Octagonal_Shape<T> allows for the efficient
+  representation of a restricted kind of <EM>topologically closed</EM>
+  convex polyhedra called <EM>octagonal shapes</EM> (OSs, for short).
+  The name comes from the fact that, in a vector space of dimension 2,
+  bounded OSs are polygons with at most eight sides.
+  The closed affine half-spaces that characterize the OS can be expressed
+  by constraints of the form
+  \f[
+    ax_i + bx_j \leq k
+  \f]
+  where \f$a, b \in \{-1, 0, 1\}\f$ and \f$k\f$ is a rational number,
+  which are called <EM>octagonal constraints</EM>.
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector space.
+  Based on the class template type parameter \p T, a family of extended
+  numbers is built and used to approximate the inhomogeneous term of
+  octagonal constraints. These extended numbers provide a representation
+  for the value \f$+\infty\f$, as well as <EM>rounding-aware</EM>
+  implementations for several arithmetic functions.
+  The value of the type parameter \p T may be one of the following:
+    - a bounded precision integer type (e.g., \c int32_t or \c int64_t);
+    - a bounded precision floating point type (e.g., \c float or \c double);
+    - an unbounded integer or rational type, as provided by GMP
+      (i.e., \c mpz_class or \c mpq_class).
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+  The user interface for OSs is meant to be as similar as possible to
+  the one developed for the polyhedron class C_Polyhedron.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref expand_space_dimension "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
+  The OS domain <EM>optimally supports</EM>:
+    - tautological and inconsistent constraints and congruences;
+    - octagonal constraints;
+    - non-proper congruences (i.e., equalities) that are expressible
+      as octagonal constraints.
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+  Depending on the method, using a constraint or congruence that is not
+  optimally supported by the domain will either raise an exception or
+  result in a (possibly non-optimal) upward approximation.
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+  A constraint is octagonal if it has the form
+    \f[
+      \pm a_i x_i \pm a_j x_j \relsym b
+    \f]
+  where \f$\mathord{\relsym} \in \{ \leq, =, \geq \}\f$ and
+  \f$a_i\f$, \f$a_j\f$, \f$b\f$ are integer coefficients such that
+  \f$a_i = 0\f$, or \f$a_j = 0\f$, or \f$a_i = a_j\f$.
+  The user is warned that the above octagonal Constraint object
+  will be mapped into a \e correct and \e optimal approximation that,
+  depending on the expressive power of the chosen template argument \p T,
+  may loose some precision.
+  Also note that strict constraints are not octagonal.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.
-    Also thrown if \p dest is contained in \p vars.
+  For instance, a Constraint object encoding \f$3x + 3y \leq 1\f$ will be
+  approximated by:
+    - \f$x + y \leq 1\f$,
+      if \p T is a (bounded or unbounded) integer type;
+    - \f$x + y \leq \frac{1}{3}\f$,
+      if \p T is the unbounded rational type \c mpq_class;
+    - \f$x + y \leq k\f$, where \f$k > \frac{1}{3}\f$,
+      if \p T is a floating point type (having no exact representation
+      for \f$\frac{1}{3}\f$).
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+  On the other hand, depending from the context, a Constraint object
+  encoding \f$3x - y \leq 1\f$ will be either upward approximated
+  (e.g., by safely ignoring it) or it will cause an exception.
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  In the following examples it is assumed that the type argument \p T
+  is one of the possible instances listed above and that variables
+  \c x, \c y and \c z are defined (where they are used) as follows:
+  \code
+    Variable x(0);
+    Variable y(1);
+    Variable z(2);
+  \endcode
 
+  \par Example 1
+  The following code builds an OS corresponding to a cube in \f$\Rset^3\f$,
+  given as a system of constraints:
+  \code
+    Constraint_System cs;
+    cs.insert(x >= 0);
+    cs.insert(x <= 3);
+    cs.insert(y >= 0);
+    cs.insert(y <= 3);
+    cs.insert(z >= 0);
+    cs.insert(z <= 3);
+    Octagonal_Shape<T> oct(cs);
+  \endcode
+  In contrast, the following code will raise an exception,
+  since constraints 7, 8, and 9 are not octagonal:
+  \code
+    Constraint_System cs;
+    cs.insert(x >= 0);
+    cs.insert(x <= 3);
+    cs.insert(y >= 0);
+    cs.insert(y <= 3);
+    cs.insert(z >= 0);
+    cs.insert(z <= 3);
+    cs.insert(x - 3*y <= 5);    // (7)
+    cs.insert(x - y + z <= 5);  // (8)
+    cs.insert(x + y + z <= 5);  // (9)
+    Octagonal_Shape<T> oct(cs);
+  \endcode
+*/
+template <typename T>
+class Parma_Polyhedra_Library::Octagonal_Shape {
+private:
   /*! \brief
-    Returns a reference the interval that bounds \p var.
-
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    The (extended) numeric type of the inhomogeneous term of
+    the inequalities defining an OS.
   */
-  const ITV& get_interval(Variable var) const;
+#ifndef NDEBUG
+  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
+#else
+  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
+#endif
 
-  /*! \brief
-    Sets to \p i the interval that bounds \p var.
+public:
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void set_interval(Variable var, const ITV& i);
+  //! The numeric base type upon which OSs are built.
+  typedef T coefficient_type_base;
 
   /*! \brief
-    If the <CODE>k</CODE>-th space dimension is unbounded below, returns
-    <CODE>false</CODE>. Otherwise returns <CODE>true</CODE> and set
-    \p closed, \p n and \p d accordingly.
+    The (extended) numeric type of the inhomogeneous term of the
+    inequalities defining an OS.
+  */
+  typedef N coefficient_type;
 
-    Let \f$I\f$ the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from below, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the the lower boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the greatest lower bound of \f$I\f$.  The fraction
-    \f$n/d\f$ is in canonical form if and only if \f$n\f$ and \f$d\f$
-    have no common factors and \f$d\f$ is positive, \f$0/1\f$ being
-    the unique representation for zero.
+  //! Returns the maximum space dimension that an OS can handle.
+  static dimension_type max_space_dimension();
 
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *this.
+  /*! \brief
+    Returns false indicating that this domain cannot recycle constraints
   */
-  bool get_lower_bound(dimension_type k, bool& closed,
-		       Coefficient& n, Coefficient& d) const;
+  static bool can_recycle_constraint_systems();
 
   /*! \brief
-    If the <CODE>k</CODE>-th space dimension is unbounded above, returns
-    <CODE>false</CODE>. Otherwise returns <CODE>true</CODE> and set
-    \p closed, \p n and \p d accordingly.
-
-    Let \f$I\f$ the interval corresponding to the <CODE>k</CODE>-th
-    space dimension.  If \f$I\f$ is not bounded from above, simply return
-    <CODE>false</CODE>.  Otherwise, set <CODE>closed</CODE>,
-    <CODE>n</CODE> and <CODE>d</CODE> as follows: <CODE>closed</CODE>
-    is set to <CODE>true</CODE> if the the upper boundary of \f$I\f$
-    is closed and is set to <CODE>false</CODE> otherwise;
-    <CODE>n</CODE> and <CODE>d</CODE> are assigned the integers
-    \f$n\f$ and \f$d\f$ such that the canonical fraction \f$n/d\f$
-    corresponds to the least upper bound of \f$I\f$.
-
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *this.
+    Returns false indicating that this domain cannot recycle congruences
   */
-  bool get_upper_bound(dimension_type k, bool& closed,
-		       Coefficient& n, Coefficient& d) const;
-
-  //! Returns a system of constraints defining \p *this.
-  Constraint_System constraints() const;
-
-  //! Returns a minimized system of constraints defining \p *this.
-  Constraint_System minimized_constraints() const;
-
-  //! Returns a system of congruences approximating \p *this.
-  Congruence_System congruences() const;
-
-  //! Returns a minimized system of congruences approximating \p *this.
-  Congruence_System minimized_congruences() const;
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  static bool can_recycle_congruence_systems();
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  //! \name Constructors, Assignment, Swap and Destructor
+  //@{
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Builds an universe or empty OS of the specified space dimension.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the OS;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    \param kind
+    Specifies whether the universe or the empty OS has to be built.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool ascii_load(std::istream& s);
-
-private:
-  template <typename Other_ITV>
-  friend class Parma_Polyhedra_Library::Box;
+  explicit Octagonal_Shape(dimension_type num_dimensions = 0,
+                           Degenerate_Element kind = UNIVERSE);
 
-  friend bool
-  operator==<ITV>(const Box<ITV>& x, const Box<ITV>& y);
+  //! Ordinary copy constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  Octagonal_Shape(const Octagonal_Shape& y,
+                  Complexity_Class complexity = ANY_COMPLEXITY);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library
-  ::IO_Operators::operator<<<>(std::ostream& s, const Box<ITV>& box);
+  //! Builds a conservative, upward approximation of \p y.
+  /*!
+    The complexity argument is ignored.
+  */
+  template <typename U>
+  explicit Octagonal_Shape(const Octagonal_Shape<U>& y,
+                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  template <typename Specialization, typename Temp, typename To, typename I>
-  friend bool Parma_Polyhedra_Library::l_m_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const Box<I>& x, const Box<I>& y, const Rounding_Dir dir,
-   Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  //! Builds an OS from the system of constraints \p cs.
+  /*!
+    The OS inherits the space dimension of \p cs.
 
-  //! The type of sequence used to implement the box.
-  typedef std::vector<ITV> Sequence;
+    \param cs
+    A system of octagonal constraints.
 
-  /*! \brief
-    The type of intervals used by inner computations when trying to limit
-    the cumulative effect of approximation errors.
+    \exception std::invalid_argument
+    Thrown if \p cs contains a constraint which is not optimally supported
+    by the Octagonal shape domain.
   */
-  typedef ITV Tmp_Interval_Type;
-
-  //! A sequence of intervals, one for each dimension of the vector space.
-  Sequence seq;
+  explicit Octagonal_Shape(const Constraint_System& cs);
 
-#define PPL_IN_Box_CLASS
-/* Automatically generated from PPL source file ../src/Box_Status.idefs.hh line 1. */
-/* Box<ITV>::Status class declaration.
-*/
+  //! Builds an OS from a system of congruences.
+  /*!
+    The OS inherits the space dimension of \p cgs
 
+    \param cgs
+    A system of congruences.
 
-#ifndef PPL_IN_Box_CLASS
-#error "Do not include Box_Status.idefs.hh directly; use Box.defs.hh instead."
-#endif
+    \exception std::invalid_argument
+    Thrown if \p cgs contains a congruence which is not optimally supported
+    by the Octagonal shape domain.
+  */
+  explicit Octagonal_Shape(const Congruence_System& cgs);
 
-//! A conjunctive assertion about a Box<ITV> object.
-/*! \ingroup PPL_CXX_interface
-  The assertions supported are:
-  - <EM>empty up-to-date</EM>: the empty flag is meaningful;
-  - <EM>empty</EM>: the box is the empty set.
-  - <EM>universe</EM>: the box is universe \f$n\f$-dimensional vector space
-     \f$\Rset^n\f$.
+  //! Builds an OS from the system of generators \p gs.
+  /*!
+    Builds the smallest OS containing the polyhedron defined by \p gs.
+    The OS inherits the space dimension of \p gs.
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>empty up-to-date</EM> and <EM>empty</EM> excludes <EM>universe</EM>.
-*/
-class Status;
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
+  */
+  explicit Octagonal_Shape(const Generator_System& gs);
 
-class Status {
-public:
-  //! By default Status is the empty set of assertion.
-  Status();
+  //! Builds an OS from the polyhedron \p ph.
+  /*!
+    Builds an OS containing \p ph using algorithms whose complexity
+    does not exceed the one specified by \p complexity.  If
+    \p complexity is \p ANY_COMPLEXITY, then the OS built is the
+    smallest one containing \p ph.
+  */
+  explicit Octagonal_Shape(const Polyhedron& ph,
+                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Ordinary copy constructor.
-  Status(const Status& y);
+  //! Builds an OS out of a box.
+  /*!
+    The OS inherits the space dimension of the box.
+    The built OS is the most precise OS that includes the box.
 
-  //! Copy constructor from a box of different type.
-  template <typename Other_ITV>
-  Status(const typename Box<Other_ITV>::Status& y);
+    \param box
+    The box representing the OS to be built.
 
-  //! \name Test, remove or add an individual assertion from the conjunction.
-  //@{
-  bool test_empty_up_to_date() const;
-  void reset_empty_up_to_date();
-  void set_empty_up_to_date();
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename Interval>
+  explicit Octagonal_Shape(const Box<Interval>& box,
+                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  bool test_universe() const;
-  void reset_universe();
-  void set_universe();
-  //@}
+  //! Builds an OS that approximates a grid.
+  /*!
+    The OS inherits the space dimension of the grid.
+    The built OS is the most precise OS that includes the grid.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \param grid
+    The grid used to build the OS.
 
-  PPL_OUTPUT_DECLARATIONS
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    \exception std::length_error
+    Thrown if the space dimension of \p grid exceeds the maximum
+    allowed space dimension.
   */
-  bool ascii_load(std::istream& s);
+  explicit Octagonal_Shape(const Grid& grid,
+                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  //! Builds an OS from a BD shape.
+  /*!
+    The OS inherits the space dimension of the BD shape.
+    The built OS is the most precise OS that includes the BD shape.
 
-  //! \name Bit-masks for the individual assertions.
-  //@{
-  static const flags_t NONE             = 0U;
-  static const flags_t EMPTY_UP_TO_DATE = 1U << 0;
-  static const flags_t EMPTY            = 1U << 1;
-  static const flags_t UNIVERSE         = 1U << 2;
-  //@}
+    \param bd
+    The BD shape used to build the OS.
 
-  //! This holds the current bitset.
-  flags_t flags;
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  //! Construct from a bit-mask.
-  Status(flags_t mask);
+    \exception std::length_error
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename U>
+  explicit Octagonal_Shape(const BD_Shape<U>& bd,
+                           Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  /*! \brief
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
+  */
+  Octagonal_Shape& operator=(const Octagonal_Shape& y);
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  /*! \brief
+    Swaps \p *this with octagon \p y.
+    (\p *this and \p y can be dimension-incompatible.)
+  */
+  void m_swap(Octagonal_Shape& y);
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+  //! Destructor.
+  ~Octagonal_Shape();
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+  //@} Constructors, Assignment, Swap and Destructor
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 1706. */
-#undef PPL_IN_Box_CLASS
+  //! \name Member Functions that Do Not Modify the Octagonal_Shape
+  //@{
 
-  //! The status flags to keep track of the internal state.
-  Status status;
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the box is known to be empty.
-
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
+    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
+    of \p *this.
   */
-  bool marked_empty() const;
-
-public:
-  //! Causes the box to become empty, i.e., to represent the empty set.
-  void set_empty();
+  dimension_type affine_dimension() const;
 
-private:
-  //! Marks \p *this as definitely not empty.
-  void set_nonempty();
+  //! Returns the system of constraints defining \p *this.
+  Constraint_System constraints() const;
 
-  //! Asserts the validity of the empty flag of \p *this.
-  void set_empty_up_to_date();
+  //! Returns a minimized system of constraints defining \p *this.
+  Constraint_System minimized_constraints() const;
 
-  //! Invalidates empty flag of \p *this.
-  void reset_empty_up_to_date();
+  //! Returns a system of (equality) congruences satisfied by \p *this.
+  Congruence_System congruences() const;
 
   /*! \brief
-    Checks the hard way whether \p *this is an empty box:
-    returns <CODE>true</CODE> if and only if it is so.
+    Returns a minimal system of (equality) congruences
+    satisfied by \p *this with the same affine dimension as \p *this.
   */
-  bool check_empty() const;
+  Congruence_System minimized_congruences() const;
 
-   /*! \brief
-     Returns a reference the interval that bounds
-     the box on the <CODE>k</CODE>-th space dimension.
-   */
-  const ITV& operator[](dimension_type k) const;
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const Octagonal_Shape& y) const;
 
-  /*! \brief
-    WRITE ME.
+  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  static I_Result
-  refine_interval_no_check(ITV& itv,
-                           Constraint::Type type,
-                           Coefficient_traits::const_reference num,
-                           Coefficient_traits::const_reference den);
+  bool strictly_contains(const Octagonal_Shape& y) const;
 
-  /*! \brief
-    WRITE ME.
+  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void
-  add_interval_constraint_no_check(dimension_type var_id,
-                                   Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den);
+  bool is_disjoint_from(const Octagonal_Shape& y) const;
 
   /*! \brief
-    WRITE ME.
+    Returns the relations holding between \p *this and the constraint \p c.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  void add_constraint_no_check(const Constraint& c);
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
   /*! \brief
-    WRITE ME.
+    Returns the relations holding between \p *this and the congruence \p cg.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cg are dimension-incompatible.
   */
-  void add_constraints_no_check(const Constraint_System& cs);
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
   /*! \brief
-    WRITE ME.
+    Returns the relations holding between \p *this and the generator \p g.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
   */
-  void add_congruence_no_check(const Congruence& cg);
+  Poly_Gen_Relation relation_with(const Generator& g) const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is an empty OS.
+  bool is_empty() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is a universe OS.
+  bool is_universe() const;
+
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  bool is_discrete() const;
 
   /*! \brief
-    WRITE ME.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a bounded OS.
   */
-  void add_congruences_no_check(const Congruence_System& cgs);
+  bool is_bounded() const;
 
   /*! \brief
-    Uses the constraint \p c to refine \p *this.
-
-    \param c
-    The constraint to be used for the refinement.
-
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a topologically closed subset of the vector space.
   */
-  void refine_no_check(const Constraint& c);
+  bool is_topologically_closed() const;
 
   /*! \brief
-    Uses the constraints in \p cs to refine \p *this.
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains (at least) an integer point.
+  */
+  bool contains_integer_point() const;
 
-    \param cs
-    The constraints to be used for the refinement.
-    To avoid termination problems, each constraint in \p cs
-    will be used for a single refinement step.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-    \warning
-    If \p cs and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
   */
-  void refine_no_check(const Constraint_System& cs);
+  bool constrains(Variable var) const;
 
   /*! \brief
-    Uses the congruence \p cg to refine \p *this.
-
-    \param cg
-    The congruence to be added.
-    Nontrivial proper congruences are ignored.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  void refine_no_check(const Congruence& cg);
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
   /*! \brief
-    Uses the congruences in \p cgs to refine \p *this.
-
-    \param cgs
-    The congruences to be added.
-    Nontrivial proper congruences are ignored.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
 
-    \warning
-    If \p cgs and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  void refine_no_check(const Congruence_System& cgs);
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
   /*! \brief
-    Propagates the constraint \p c to refine \p *this.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value is computed.
 
-    \param c
-    The constraint to be propagated.
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param sup_n
+    The numerator of the supremum value;
 
-    \warning
-    This method may lead to non-termination.
+    \param sup_d
+    The denominator of the supremum value;
 
-    \if Include_Implementation_Details
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
 
-    For any expression \f$e\f$, we denote by
-    \f$\left\uparrow e \right\uparrow\f$ (resp., \f$\left\downarrow e
-    \right\downarrow\f$) the result of any computation that is
-    guaranteed to yield an upper (resp., lower) approximation of
-    \f$e\f$.  So there exists \f$\epsilon \in \Rset\f$ with
-    \f$\epsilon \geq 0\f$ such that
-    \f$\left\uparrow e \right\uparrow = e + \epsilon\f$.
-    If \f$\epsilon = 0\f$ we say that the computation of
-    \f$\left\uparrow e \right\uparrow\f$ is <EM>exact</EM>;
-    we say it is <EM>inexact</EM> otherwise.
-    Similarly for \f$\left\downarrow e \right\downarrow\f$.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    Consider a constraint of the general form
-    \f[
-      z + \sum_{i \in I}{a_ix_i} \relsym 0,
-    \f]
-    where \f$z \in \Zset\f$, \f$I\f$ is a set of indices,
-    \f$a_i \in \Zset\f$ with \f$a_i \neq 0\f$ for each \f$i \in I\f$, and
-    \f$\mathord{\relsym} \in \{ \mathord{\geq}, \mathord{>}, \mathord{=} \}\f$.
-    The set \f$I\f$ is subdivided into the disjoint sets \f$P\f$ and \f$N\f$
-    such that, for each \f$i \in I\f$, \f$a_i > 0\f$ if \f$i \in P\f$ and
-    \f$a_i < 0\f$ if \f$i \in N\f$.
-    Suppose that, for each \f$i \in P \union N\f$ a variation interval
-    \f$\chi_i \sseq \Rset\f$ is known for \f$x_i\f$ and that the infimum
-    and the supremum of \f$\chi_i\f$ are denoted, respectively,
-    by \f$\chi_i^\mathrm{l}\f$ and \f$\chi_i^\mathrm{u}\f$, where
-    \f$\chi_i^\mathrm{l}, \chi_i^\mathrm{u} \in \Rset \union \{ -\infty, +\infty \}\f$.
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
+    and \p maximum are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+                Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-    For each \f$k \in P\f$, we have
-    \f[
-      x_k
-        \relsym
-          \frac{1}{a_k}
-            \Biggl(
-              - z
-              - \sum_{i \in N}{a_ix_i}
-              - \sum_{\genfrac{}{}{0pt}{}
-                              {\scriptstyle i \in P}
-                              {\scriptstyle i \neq k}}{a_ix_i}
-            \Biggr).
-    \f]
-    Thus, if \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$i \in N\f$ and
-    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in P \setdiff \{ k \}\f$,
-    we have
-    \f[
-      x_k
-        \geq
-          \Biggl\downarrow
-          \frac{1}{a_k}
-            \Biggl(
-              - z
-              - \sum_{i \in N}{a_i\chi_i^\mathrm{l}}
-              - \sum_{\genfrac{}{}{0pt}{}
-                              {\scriptstyle i \in P}
-                              {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{u}}
-            \Biggr)
-          \Biggr\downarrow
-    \f]
-    and, if \f$\mathord{\relsym} \in \{ \mathord{=} \}\f$,
-    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in N\f$ and
-    \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$P \setdiff \{ k \}\f$,
-    \f[
-      x_k
-        \leq
-          \Biggl\uparrow
-          \frac{1}{a_k}
-            \Biggl(
-              - z
-              - \sum_{i \in N}{a_i\chi_i^\mathrm{u}}
-              - \sum_{\genfrac{}{}{0pt}{}
-                              {\scriptstyle i \in P}
-                              {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{l}}
-            \Biggr)
-          \Biggl\uparrow.
-    \f]
-    In the first inequality, the relation is strict if
-    \f$\mathord{\relsym} \in \{ \mathord{>} \}\f$, or if
-    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some \f$i \in N\f$, or if
-    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some
-    \f$i \in P \setdiff \{ k \}\f$, or if the computation is inexact.
-    In the second inequality, the relation is strict if
-    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some \f$i \in N\f$, or if
-    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some
-    \f$i \in P \setdiff \{ k \}\f$, or if the computation is inexact.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value and a point where \p expr reaches it are computed.
 
-    For each \f$k \in N\f$, we have
-    \f[
-      \frac{1}{a_k}
-        \Biggl(
-          - z
-          - \sum_{\genfrac{}{}{0pt}{}
-                          {\scriptstyle i \in N}
-                          {\scriptstyle i \neq k}}{a_ix_i}
-          - \sum_{i \in P}{a_ix_i}
-        \Biggr)
-          \relsym
-            x_k.
-    \f]
-    Thus, if
-    \f$\chi_i^\mathrm{l} \in \Rset\f$
-    for each \f$i \in N \setdiff \{ k \}\f$ and
-    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in P\f$,
-    we have
-    \f[
-      \Biggl\uparrow
-      \frac{1}{a_k}
-        \Biggl(
-          - z
-          - \sum_{\genfrac{}{}{0pt}{}
-                          {\scriptstyle i \in N}
-                          {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{l}}
-          - \sum_{i \in P}{a_i\chi_i^\mathrm{u}}
-        \Biggr)
-      \Biggl\uparrow
-        \geq
-          x_k
-    \f]
-    and, if \f$\mathord{\relsym} \in \{ \mathord{=} \}\f$,
-    \f$\chi_i^\mathrm{u} \in \Rset\f$ for each \f$i \in N \setdiff \{ k \}\f$
-    and \f$\chi_i^\mathrm{l} \in \Rset\f$ for each \f$i \in P\f$,
-    \f[
-      \Biggl\downarrow
-      \frac{1}{a_k}
-        \Biggl(
-          - z
-          - \sum_{\genfrac{}{}{0pt}{}
-                          {\scriptstyle i \in N}
-                          {\scriptstyle i \neq k}}{a_i\chi_i^\mathrm{u}}
-          - \sum_{i \in P}{a_i\chi_i^\mathrm{l}}
-        \Biggr)
-      \Biggl\downarrow
-        \leq
-          x_k.
-    \f]
-    In the first inequality, the relation is strict if
-    \f$\mathord{\relsym} \in \{ \mathord{>} \}\f$, or if
-    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some \f$i \in P\f$, or if
-    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some
-    \f$i \in N \setdiff \{ k \}\f$, or if the computation is inexact.
-    In the second inequality, the relation is strict if
-    \f$\chi_i^\mathrm{l} \notin \chi_i\f$ for some \f$i \in P\f$, or if
-    \f$\chi_i^\mathrm{u} \notin \chi_i\f$ for some
-    \f$i \in N \setdiff \{ k \}\f$, or if the computation is inexact.
-    \endif
-  */
-  void propagate_constraint_no_check(const Constraint& c);
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  /*! \brief
-    Propagates the constraints in \p cs to refine \p *this.
+    \param sup_n
+    The numerator of the supremum value;
 
-    \param  cs
-    The constraints to be propagated.
+    \param sup_d
+    The denominator of the supremum value;
 
-    \param max_iterations
-    The maximum number of propagation steps for each constraint in \p cs.
-    If zero, the number of propagations will be unbounded, possibly
-    resulting in an infinite loop.
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
 
-    \warning
-    If \p cs and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
-    \warning
-    This method may lead to non-termination if \p max_iterations is 0.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p g are left untouched.
   */
-  void propagate_constraints_no_check(const Constraint_System& cs,
-                                      dimension_type max_iterations);
+  bool maximize(const Linear_Expression& expr,
+                Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+                Generator& g) const;
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value is computed.
 
     \param expr
-    The linear expression to test;
+    The linear expression to be minimized subject to \p *this;
 
-    \param from_above
-    <CODE>true</CODE> if and only if the boundedness of interest is
-    "from above".
+    \param inf_n
+    The numerator of the infimum value;
+
+    \param inf_d
+    The denominator of the infimum value;
+
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
   */
-  bool bounds(const Linear_Expression& expr, bool from_above) const;
+  bool minimize(const Linear_Expression& expr,
+                Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p *this;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value and a point where \p expr reaches it are computed.
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \param ext_n
-    The numerator of the extremum value;
+    \param inf_n
+    The numerator of the infimum value;
 
-    \param ext_d
-    The denominator of the extremum value;
+    \param inf_d
+    The denominator of the infimum value;
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p *this;
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
 
     \param g
-    When maximization or minimization succeeds, will be assigned
-    a point or closure point where \p expr reaches the
-    corresponding extremum value.
+    When minimization succeeds, will be assigned a point or
+    closure point where \p expr reaches its infimum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p g are left untouched.
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p g are left untouched.
   */
-  bool max_min(const Linear_Expression& expr,
-	       bool maximize,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator& g) const;
+  bool minimize(const Linear_Expression& expr,
+                Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+                Generator& g) const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there exist a
+    unique value \p val such that \p *this
+    saturates the equality <CODE>expr = val</CODE>.
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
     \param expr
-    The linear expression to be maximized or minimized subject to \p *this;
+    The linear expression for which the frequency is needed;
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+    \param freq_n
+    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
+    Present for interface compatibility with class Grid, where
+    the \ref Grid_Frequency "frequency" can have a non-zero value;
 
-    \param ext_n
-    The numerator of the extremum value;
+    \param freq_d
+    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
 
-    \param ext_d
-    The denominator of the extremum value;
+    \param val_n
+    The numerator of \p val;
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+    \param val_d
+    The denominator of \p val;
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p point are left untouched.
+    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
+    \p val_n and \p val_d are left untouched.
   */
-  bool max_min(const Linear_Expression& expr,
-	       bool maximize,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
+  bool frequency(const Linear_Expression& expr,
+                 Coefficient& freq_n, Coefficient& freq_d,
+                 Coefficient& val_n, Coefficient& val_d) const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //@} Member Functions that Do Not Modify the Octagonal_Shape
+
+  //! \name Space-Dimension Preserving Member Functions that May Modify the Octagonal_Shape
+  //@{
 
   /*! \brief
-    Adds to \p limiting_box the interval constraints in \p cs
-    that are satisfied by \p *this.
+    Adds a copy of constraint \p c to the system of constraints
+    defining \p *this.
+
+    \param c
+    The constraint to be added.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible,
+    or \p c is not optimally supported by the OS domain.
   */
-  void get_limiting_box(const Constraint_System& cs,
-                        Box& limiting_box) const;
+  void add_constraint(const Constraint& c);
 
-  //! \name Exception Throwers
-  //@{
-  void throw_dimension_incompatible(const char* method,
-				    const Box& x) const;
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    defining \p *this.
 
-  void throw_dimension_incompatible(const char* method,
-				    dimension_type required_dim) const;
+    \param  cs
+    The constraints that will be added.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Constraint& c) const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the OS domain.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-  void throw_dimension_incompatible(const char* method,
-				    const Congruence& cg) const;
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    of \p *this.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Constraint_System& cs) const;
+    \param cs
+    The constraint system to be added to \p *this.  The constraints in
+    \p cs may be recycled.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Congruence_System& cgs) const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible,
+    or \p cs contains a constraint which is not optimally supported
+    by the OS domain.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Generator& g) const;
+    \warning
+    The only assumption that can be made on \p cs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
 
-  void throw_dimension_incompatible(const char* method,
-				    const char* name_row,
-				    const Linear_Expression& y) const;
+  /*! \brief
+    Adds to \p *this a constraint equivalent to the congruence \p cg.
 
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
+    \param cg
+    The congruence to be added.
 
-  static void throw_constraint_incompatible(const char* method);
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible,
+    or \p cg is not optimally supported by the OS domain.
+  */
+  void add_congruence(const Congruence& cg);
 
-  static void throw_expression_too_complex(const char* method,
-					   const Linear_Expression& e);
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
-  static void throw_generic(const char* method, const char* reason);
-  //@} // Exception Throwers
-};
+    \param cgs
+    The congruences to be added.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the OS domain.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Returns the relations holding between an interval and
-  an interval constraint.
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
-  \param i
-  The interval;
+    \param cgs
+    The congruence system to be added to \p *this.  The congruences in
+    \p cgs may be recycled.
 
-  \param constraint_type
-  The constraint type;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible,
+    or \p cgs contains a congruence which is not optimally supported
+    by the OS domain.
 
-  \param num
-  The numerator of the constraint bound;
+    \warning
+    The only assumption that can be made on \p cgs upon successful or
+    exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
 
-  \param den
-  The denominator of the constraint bound
+  /*! \brief
+    Uses a copy of constraint \p c to refine the system of octagonal
+    constraints defining \p *this.
 
-  The interval constraint has the form
-  <CODE>den * Variable(0) relsym num</CODE>
-  where relsym is  <CODE>==</CODE>,  <CODE>></CODE> or  <CODE>>=</CODE>
-  depending on the <CODE>constraint_type</CODE>.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename ITV>
-Poly_Con_Relation
-interval_relation(const ITV& i,
-                  const Constraint::Type constraint_type,
-                  Coefficient_traits::const_reference num,
-                  Coefficient_traits::const_reference den = 1);
+    \param c
+    The constraint. If it is not a octagonal constraint, it will be ignored.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as an interval constraint.
-/*! \relates Box
-  \return
-  <CODE>true</CODE> if the constraint \p c is an
-  \ref intervals "interval constraint";
-  <CODE>false</CODE> otherwise.
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-  \param c
-  The constraint to be decoded.
+  /*! \brief
+    Uses a copy of congruence \p cg to refine the system of
+    octagonal constraints  of \p *this.
 
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
+    \param cg
+    The congruence. If it is not a octagonal equality, it
+    will be ignored.
 
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0 and 1.
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-  \param c_only_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the only variable having
-  a non-zero coefficient in \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_interval_constraint(const Constraint& c,
-				 dimension_type c_space_dim,
-				 dimension_type& c_num_vars,
-				 dimension_type& c_only_var);
+  /*! \brief
+    Uses a copy of the constraints in \p cs to refine the system of
+    octagonal constraints defining \p *this.
 
-bool extract_interval_congruence(const Congruence& cg,
-				 dimension_type cg_space_dim,
-				 dimension_type& cg_num_vars,
-				 dimension_type& cg_only_var);
+    \param  cs
+    The constraint system to be used. Constraints that are not octagonal
+    are ignored.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
-/* Automatically generated from PPL source file ../src/Box_Status.inlines.hh line 1. */
-/* Box<ITV>::Status class implementation: inline functions.
-*/
+  /*! \brief
+    Uses a copy of the congruences in \p cgs to refine the system of
+    octagonal constraints defining \p *this.
 
+    \param  cgs
+    The congruence system to be used. Congruences that are not octagonal
+    equalities are ignored.
 
-#include <string>
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Refines the system of octagonal constraints defining \p *this using
+    the constraint expressed by \p left \f$\leq\f$ \p right.
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status(const Status& y)
-  : flags(y.flags) {
-}
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
 
-template <typename ITV>
-template <typename Other_ITV>
-inline
-Box<ITV>::Status::Status(const typename Box<Other_ITV>::Status& y)
-  : flags(y.flags) {
-}
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status()
-  : flags(NONE) {
-}
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right);
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
+  /*! \brief
+    Refines the system of octagonal constraints defining \p *this using
+    the constraint expressed by \p left \f$\relsym\f$ \p right, where
+    \f$\relsym\f$ is the relation symbol specified by \p relsym.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+    \param left
+    The linear form on intervals with floating point boundaries that
+    is at the left of the comparison operator. All of its coefficients
+    MUST be bounded.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set(flags_t mask) {
-  flags |= mask;
-}
+    \param right
+    The linear form on intervals with floating point boundaries that
+    is at the right of the comparison operator. All of its coefficients
+    MUST be bounded.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+    \param relsym
+    The relation symbol.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_empty_up_to_date() const {
-  return test_any(EMPTY_UP_TO_DATE);
-}
+    \exception std::invalid_argument
+    Thrown if \p left (or \p right) is dimension-incompatible with \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_empty_up_to_date() {
-  reset(EMPTY_UP_TO_DATE);
-}
+    \exception std::runtime_error
+    Thrown if \p relsym is not a valid relation symbol.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_empty_up_to_date() {
-  set(EMPTY_UP_TO_DATE);
-}
+    This function is used in abstract interpretation to model a filter
+    that is generated by a comparison of two expressions that are correctly
+    approximated by \p left and \p right respectively.
+  */
+  template <typename Interval_Info>
+  void generalized_refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right,
+                   Relation_Symbol relsym);
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_empty() {
-  reset(EMPTY);
-}
+    \param var
+    The space dimension that will be unconstrained.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_empty() {
-  set(EMPTY);
-}
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_universe() const {
-  return test_any(UNIVERSE);
-}
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_universe() {
-  reset(UNIVERSE);
-}
+    \param vars
+    The set of space dimension that will be unconstrained.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_universe() {
-  set(UNIVERSE);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
 
-template <typename ITV>
-bool
-Box<ITV>::Status::OK() const {
-  if (test_empty_up_to_date()
-      && test_empty()
-      && test_universe()) {
-#ifndef NDEBUG
-    std::cerr
-      << "The status asserts emptiness and universality at the same time."
-      << std::endl;
-#endif
-    return false;
-  }
+  //! Assigns to \p *this the intersection of \p *this and \p y.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Octagonal_Shape& y);
 
-  // Any other case is OK.
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the smallest OS that contains
+    the convex union of \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Octagonal_Shape& y);
+
+  /*! \brief
+    If the upper bound of \p *this and \p y is exact, it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+
+    Implementation is based on Theorem 6.3 of \ref BHZ09b "[BHZ09b]".
+  */
+  bool upper_bound_assign_if_exact(const Octagonal_Shape& y);
+
+  /*! \brief
+    If the \e integer upper bound of \p *this and \p y is exact,
+    it is assigned to \p *this and <CODE>true</CODE> is returned;
+    otherwise <CODE>false</CODE> is returned.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+
+    \note
+    This operator is only available when the class template parameter
+    \c T is bound to an integer data type.
+
+    \note
+    The integer upper bound of two rational OS is the smallest
+    rational OS containing all the integral points in the two arguments.
+    In general, the result is \e not an upper bound for the two input
+    arguments, as it may cut away non-integral portions of the two
+    rational shapes.
+
+    Implementation is based on Theorem 6.8 of \ref BHZ09b "[BHZ09b]".
+  */
+  bool integer_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+
+  /*! \brief
+    Assigns to \p *this the smallest octagon containing
+    the set difference of \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Octagonal_Shape& y);
+
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const Octagonal_Shape& y);
 
-namespace Implementation {
+  /*! \brief
+    Assigns to \p *this the \ref affine_relation "affine image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression specified by \p expr and \p denominator.
 
-namespace Boxes {
+    \param var
+    The variable to which the affine expression is assigned.
 
-// These are the keywords that indicate the individual assertions.
-const std::string empty_up_to_date = "EUP";
-const std::string empty = "EM";
-const std::string universe = "UN";
-const char yes = '+';
-const char no = '-';
-const char sep = ' ';
+    \param expr
+    The numerator of the affine expression.
 
-/*! \relates Parma_Polyhedra_Library::Box::Status
-  Reads a keyword and its associated on/off flag from \p s.
-  Returns <CODE>true</CODE> if the operation is successful,
-  returns <CODE>false</CODE> otherwise.
-  When successful, \p positive is set to <CODE>true</CODE> if the flag
-  is on; it is set to <CODE>false</CODE> otherwise.
-*/
-inline bool
-get_field(std::istream& s, const std::string& keyword, bool& positive) {
-  std::string str;
-  if (!(s >> str)
-      || (str[0] != yes && str[0] != no)
-      || str.substr(1) != keyword)
-    return false;
-  positive = (str[0] == yes);
-  return true;
-}
+    \param denominator
+    The denominator of the affine expression.
 
-} // namespace Boxes
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension of \p *this.
+  */
+  void affine_image(Variable var,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference  denominator
+                    = Coefficient_one());
 
-} // namespace Implementation
+  // FIXME: To be completed.
+  /*! \brief
+    Assigns to \p *this the \ref affine_form_relation "affine form image"
+    of \p *this under the function mapping variable \p var into the
+    affine expression(s) specified by \p lf.
 
-template <typename ITV>
-void
-Box<ITV>::Status::ascii_dump(std::ostream& s) const {
-  using namespace Implementation::Boxes;
-  s << (test_empty_up_to_date() ? yes : no) << empty_up_to_date << sep
-    << (test_empty() ? yes : no) << empty << sep
-    << (test_universe() ? yes : no) << universe << sep;
-}
+    \param var
+    The variable to which the affine expression is assigned.
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(ITV, Box<ITV>::Status)
+    \param lf
+    The linear form on intervals with floating point boundaries that
+    defines the affine expression(s). ALL of its coefficients MUST be bounded.
 
-template <typename ITV>
-bool
-Box<ITV>::Status::ascii_load(std::istream& s) {
-  using namespace Implementation::Boxes;
-  PPL_UNINITIALIZED(bool, positive);
+    \exception std::invalid_argument
+    Thrown if \p lf and \p *this are dimension-incompatible or if \p var
+    is not a dimension of \p *this.
 
-  if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive))
-    return false;
-  if (positive)
-    set_empty_up_to_date();
+    This function is used in abstract interpretation to model an assignment
+    of a value that is correctly overapproximated by \p lf to the
+    floating point variable represented by \p var.
+  */
+  template <typename Interval_Info>
+  void affine_form_image(Variable var,
+                        const Linear_Form< Interval<T, Interval_Info> >& lf);
 
-  if (!get_field(s, Implementation::Boxes::empty, positive))
-    return false;
-  if (positive)
-    set_empty();
+  /*! \brief
+    Assigns to \p *this the \ref affine_relation "affine preimage"
+    of \p *this under the function mapping variable \p var into the
+    affine expression specified by \p expr and \p denominator.
 
-  if (!get_field(s, universe, positive))
-    return false;
-  if (positive)
-    set_universe();
-  else
-    reset_universe();
+    \param var
+    The variable to which the affine expression is substituted.
 
-  // Check invariants.
-  PPL_ASSERT(OK());
-  return true;
-}
+    \param expr
+    The numerator of the affine expression.
 
-} // namespace Parma_Polyhedra_Library
+    \param denominator
+    The denominator of the affine expression.
 
-/* Automatically generated from PPL source file ../src/Box.inlines.hh line 1. */
-/* Box class implementation: inline functions.
-*/
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension of \p *this.
+  */
+  void affine_preimage(Variable var,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator
+                       = Coefficient_one());
 
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine transfer function"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
 
-/* Automatically generated from PPL source file ../src/Box.inlines.hh line 33. */
+    \param var
+    The left hand side variable of the generalized affine transfer function.
 
-namespace Parma_Polyhedra_Library {
+    \param relsym
+    The relation symbol.
 
-template <typename ITV>
-inline bool
-Box<ITV>::marked_empty() const {
-  return status.test_empty_up_to_date() && status.test_empty();
-}
+    \param expr
+    The numerator of the right hand side affine expression.
 
-template <typename ITV>
-inline void
-Box<ITV>::set_empty() {
-  status.set_empty();
-  status.set_empty_up_to_date();
-}
+    \param denominator
+    The denominator of the right hand side affine expression.
 
-template <typename ITV>
-inline void
-Box<ITV>::set_nonempty() {
-  status.reset_empty();
-  status.set_empty_up_to_date();
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension of \p *this
+    or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_image(Variable var,
+                                Relation_Symbol relsym,
+                                const Linear_Expression& expr,
+                                Coefficient_traits::const_reference denominator
+                                = Coefficient_one());
 
-template <typename ITV>
-inline void
-Box<ITV>::set_empty_up_to_date() {
-  status.set_empty_up_to_date();
-}
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine transfer function"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-template <typename ITV>
-inline void
-Box<ITV>::reset_empty_up_to_date() {
-  return status.reset_empty_up_to_date();
-}
+    \param lhs
+    The left hand side affine expression.
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Box& y, Complexity_Class)
-  : seq(y.seq), status(y.status) {
-}
+    \param relsym
+    The relation symbol.
 
-template <typename ITV>
-inline Box<ITV>&
-Box<ITV>::operator=(const Box& y) {
-  seq = y.seq;
-  status = y.status;
-  return *this;
-}
+    \param rhs
+    The right hand side affine expression.
 
-template <typename ITV>
-inline void
-Box<ITV>::swap(Box& y) {
-  Box& x = *this;
-  std::swap(x.seq, y.seq);
-  std::swap(x.status, y.status);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_image(const Linear_Expression& lhs,
+                                Relation_Symbol relsym,
+                                const Linear_Expression& rhs);
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Constraint_System& cs, Recycle_Input) {
-  // Recycling is useless: just delegate.
-  Box<ITV> tmp(cs);
-  this->swap(tmp);
-}
+    /*!
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Generator_System& gs, Recycle_Input) {
-  // Recycling is useless: just delegate.
-  Box<ITV> tmp(gs);
-  this->swap(tmp);
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Congruence_System& cgs, Recycle_Input) {
-  // Recycling is useless: just delegate.
-  Box<ITV> tmp(cgs);
-  this->swap(tmp);
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename ITV>
-inline memory_size_type
-Box<ITV>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename ITV>
-inline dimension_type
-Box<ITV>::space_dimension() const {
-  return seq.size();
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename ITV>
-inline dimension_type
-Box<ITV>::max_space_dimension() {
-  // One dimension is reserved to have a value of type dimension_type
-  // that does not represent a legal dimension.
-  return Sequence().max_size() - 1;
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+                            const Linear_Expression& lb_expr,
+                            const Linear_Expression& ub_expr,
+                            Coefficient_traits::const_reference denominator
+                            = Coefficient_one());
 
-template <typename ITV>
-inline const ITV&
-Box<ITV>::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < seq.size());
-  return seq[k];
-}
+/*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
 
-template <typename ITV>
-inline const ITV&
-Box<ITV>::get_interval(const Variable var) const {
-  if (space_dimension() < var.space_dimension())
-    throw_dimension_incompatible("get_interval(v)", "v", var);
+    \param var
+    The left hand side variable of the generalized affine transfer function.
 
-  if (is_empty()) {
-    static ITV empty_interval(EMPTY);
-    return empty_interval;
-  }
+    \param relsym
+    The relation symbol.
 
-  return seq[var.id()];
-}
+    \param expr
+    The numerator of the right hand side affine expression.
 
-template <typename ITV>
-inline void
-Box<ITV>::set_interval(const Variable var, const ITV& i) {
-  const dimension_type space_dim = space_dimension();
-  if (space_dim < var.space_dimension())
-    throw_dimension_incompatible("set_interval(v, i)", "v", var);
+    \param denominator
+    The denominator of the right hand side affine expression.
 
-  if (is_empty() && space_dim >= 2)
-    // If the box is empty, and has dimension >= 2, setting only one
-    // interval will not make it non-empty.
-    return;
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this
+    are dimension-incompatible or if \p var is not a dimension
+    of \p *this or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_preimage(Variable var,
+                                   Relation_Symbol relsym,
+                                   const Linear_Expression& expr,
+                                   Coefficient_traits::const_reference
+                                   denominator = Coefficient_one());
 
-  seq[var.id()] = i;
-  reset_empty_up_to_date();
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
 
-  PPL_ASSERT(OK());
-}
+    \param lhs
+    The left hand side affine expression;
 
-template <typename ITV>
-inline bool
-Box<ITV>::is_empty() const {
-  return marked_empty() || check_empty();
-}
+    \param relsym
+    The relation symbol;
 
-template <typename ITV>
-inline bool
-Box<ITV>::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
-}
+    \param rhs
+    The right hand side affine expression.
 
-template <typename ITV>
-inline bool
-Box<ITV>::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p relsym is a strict relation symbol.
+  */
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+                                   Relation_Symbol relsym,
+                                   const Linear_Expression& rhs);
 
-template <typename ITV>
-inline bool
-Box<ITV>::maximize(const Linear_Expression& expr,
-                   Coefficient& sup_n, Coefficient& sup_d,
-                   bool& maximum) const {
-  return max_min(expr, true, sup_n, sup_d, maximum);
-}
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+         \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename ITV>
-inline bool
-Box<ITV>::maximize(const Linear_Expression& expr,
-                   Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-                   Generator& g) const {
-  return max_min(expr, true, sup_n, sup_d, maximum, g);
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename ITV>
-inline bool
-Box<ITV>::minimize(const Linear_Expression& expr,
-                   Coefficient& inf_n, Coefficient& inf_d,
-                   bool& minimum) const {
-  return max_min(expr, false, inf_n, inf_d, minimum);
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename ITV>
-inline bool
-Box<ITV>::minimize(const Linear_Expression& expr,
-                   Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-                   Generator& g) const {
-  return max_min(expr, false, inf_n, inf_d, minimum, g);
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename ITV>
-inline bool
-Box<ITV>::strictly_contains(const Box& y) const {
-  const Box& x = *this;
-  return x.contains(y) && !y.contains(x);
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename ITV>
-inline void
-Box<ITV>::expand_space_dimension(const Variable var,
-                                 const dimension_type m) {
-  const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the vector space.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+                               const Linear_Expression& lb_expr,
+                               const Linear_Expression& ub_expr,
+                               Coefficient_traits::const_reference denominator
+                               = Coefficient_one());
 
-  // The space dimension of the resulting Box should not
-  // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dim)
-    throw_generic("expand_dimension(v, m)",
-		  "adding m new space dimensions exceeds "
-		  "the maximum allowed space dimension");
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
 
-  // To expand the space dimension corresponding to variable `var',
-  // we append to the box `m' copies of the corresponding interval.
-  seq.insert(seq.end(), m, seq[var.id()]);
-  PPL_ASSERT(OK());
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void time_elapse_assign(const Octagonal_Shape& y);
 
-template <typename ITV>
-inline bool
-operator!=(const Box<ITV>& x, const Box<ITV>& y) {
-  return !(x == y);
-}
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-template <typename ITV>
-inline bool
-Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
-  PPL_ASSERT(k < seq.size());
-  const ITV& seq_k = seq[k];
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-  if (seq_k.lower_is_boundary_infinity())
-    return false;
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  closed = !seq_k.lower_is_open();
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  PPL_DIRTY_TEMP0(mpq_class, lr);
-  assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
-  n = lr.get_num();
-  d = lr.get_den();
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-  return true;
-}
+    \param cs_p
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
-template <typename ITV>
-inline bool
-Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
-  PPL_ASSERT(k < seq.size());
-  const ITV& seq_k = seq[k];
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
 
-  if (seq_k.upper_is_boundary_infinity())
-    return false;
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
 
-  closed = !seq_k.upper_is_open();
+    \exception std::invalid_argument
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*cs_p</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-  PPL_DIRTY_TEMP0(mpq_class, ur);
-  assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
-  n = ur.get_num();
-  d = ur.get_den();
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
 
-  return true;
-}
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-template <typename ITV>
-inline void
-Box<ITV>::add_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
-    throw_dimension_incompatible("add_constraint(c)", c);
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-  add_constraint_no_check(c);
-}
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-template <typename ITV>
-inline void
-Box<ITV>::add_constraints(const Constraint_System& cs) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("add_constraints(cs)", cs);
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-  add_constraints_no_check(cs);
-}
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-template <typename T>
-inline void
-Box<T>::add_recycled_constraints(Constraint_System& cs) {
-  add_constraints(cs);
-}
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-template <typename ITV>
-inline void
-Box<ITV>::add_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dimension())
-    throw_dimension_incompatible("add_congruence(cg)", cg);
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-  add_congruence_no_check(cg);
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
 
-template <typename ITV>
-inline void
-Box<ITV>::add_congruences(const Congruence_System& cgs) {
-  if (cgs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("add_congruences(cgs)", cgs);
-  add_congruences_no_check(cgs);
-}
+    \param y
+    An OS that <EM>must</EM> be contained in \p *this.
 
-template <typename T>
-inline void
-Box<T>::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename T>
-inline bool
-Box<T>::can_recycle_constraint_systems() {
-  return false;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void CC76_extrapolation_assign(const Octagonal_Shape& y, unsigned* tp = 0);
 
-template <typename T>
-inline bool
-Box<T>::can_recycle_congruence_systems() {
-  return false;
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
 
-template <typename T>
-inline void
-Box<T>::widening_assign(const Box& y, unsigned* tp) {
-  CC76_widening_assign(y, tp);
-}
+    \param y
+    An OS that <EM>must</EM> be contained in \p *this.
 
-template <typename ITV>
-inline Congruence_System
-Box<ITV>::minimized_congruences() const {
-  // Only equalities can be congruences and these are already minimized.
-  return congruences();
-}
+    \param first
+    An iterator that points to the first stop_point.
 
-template <typename ITV>
-inline I_Result
-Box<ITV>::refine_interval_no_check(ITV& itv,
-                                   const Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den) {
-  PPL_ASSERT(den != 0);
-  // The interval constraint is of the form
-  // `var + num / den rel 0',
-  // where `rel' is either the relation `==', `>=', or `>'.
-  // For the purpose of refining the interval, this is
-  // (morally) turned into `var rel -num/den'.
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  assign_r(q.get_num(), num, ROUND_NOT_NEEDED);
-  assign_r(q.get_den(), den, ROUND_NOT_NEEDED);
-  q.canonicalize();
-  // Turn `num/den' into `-num/den'.
-  q = -q;
+    \param last
+    An iterator that points to the last stop_point.
 
-  I_Result res;
-  switch (type) {
-  case Constraint::EQUALITY:
-    res = itv.add_constraint(i_constraint(EQUAL, q));
-    break;
-  case Constraint::NONSTRICT_INEQUALITY:
-    res = itv.add_constraint(i_constraint(den > 0
-                                          ? GREATER_OR_EQUAL
-                                          : LESS_OR_EQUAL, q));
-    break;
-  case Constraint::STRICT_INEQUALITY:
-    res = itv.add_constraint(i_constraint(den > 0
-                                          ? GREATER_THAN
-                                          : LESS_THAN, q));
-    break;
-  default:
-    // Silence an annoying GCC warning (should never reach this point).
-    PPL_ASSERT(false);
-    res = I_ANY;
-  }
-  PPL_ASSERT(itv.OK());
-  return res;
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename ITV>
-inline void
-Box<ITV>
-::add_interval_constraint_no_check(const dimension_type var_id,
-                                   const Constraint::Type type,
-                                   Coefficient_traits::const_reference num,
-                                   Coefficient_traits::const_reference den) {
-  PPL_ASSERT(!marked_empty());
-  PPL_ASSERT(var_id < space_dimension());
-  PPL_ASSERT(den != 0);
-  refine_interval_no_check(seq[var_id], type, num, den);
-  // FIXME: do check the value returned and set `empty' and
-  // `empty_up_to_date' as appropriate.
-  // This has to be done after reimplementation of intervals.
-  reset_empty_up_to_date();
-  PPL_ASSERT(OK());
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  template <typename Iterator>
+  void CC76_extrapolation_assign(const Octagonal_Shape& y,
+                                 Iterator first, Iterator last,
+                                 unsigned* tp = 0);
 
-template <typename ITV>
-inline void
-Box<ITV>::refine_with_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
-    throw_dimension_incompatible("refine_with_constraint(c)", c);
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref BHMZ05_widening "BHMZ05-widening" between \p *this and \p y.
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+    \param y
+    An OS that <EM>must</EM> be contained in \p *this.
 
-  refine_no_check(c);
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename ITV>
-inline void
-Box<ITV>::refine_with_constraints(const Constraint_System& cs) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("refine_with_constraints(cs)", cs);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void BHMZ05_widening_assign(const Octagonal_Shape& y, unsigned* tp = 0);
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+  //! Same as BHMZ05_widening_assign(y, tp).
+  void widening_assign(const Octagonal_Shape& y, unsigned* tp = 0);
 
-  refine_no_check(cs);
-}
+  /*! \brief
+    Improves the result of the \ref BHMZ05_widening "BHMZ05-widening"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::refine_with_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dimension())
-    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
+    \param y
+    An OS that <EM>must</EM> be contained in \p *this.
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+    \param cs
+    The system of constraints used to improve the widened OS.
 
-  refine_no_check(cg);
-}
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-template <typename ITV>
-inline void
-Box<ITV>::refine_with_congruences(const Congruence_System& cgs) {
-  // Dimension-compatibility check.
-  if (cgs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("refine_with_congruences(cgs)", cgs);
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if there is in \p cs a strict inequality.
+  */
+  void limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y,
+                                           const Constraint_System& cs,
+                                           unsigned* tp = 0);
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+  /*! \brief
+    Restores from \p y the constraints of \p *this, lost by
+    \ref CC76_extrapolation "CC76-extrapolation" applications.
 
-  refine_no_check(cgs);
-}
+    \param y
+    An OS that <EM>must</EM> contain \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::propagate_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
-    throw_dimension_incompatible("propagate_constraint(c)", c);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void CC76_narrowing_assign(const Octagonal_Shape& y);
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+  /*! \brief
+    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
+    computation by also enforcing those constraints in \p cs that are
+    satisfied by all the points of \p *this.
 
-  propagate_constraint_no_check(c);
-}
+    \param y
+    An OS that <EM>must</EM> be contained in \p *this.
 
-template <typename ITV>
-inline void
-Box<ITV>::propagate_constraints(const Constraint_System& cs,
-                                const dimension_type max_iterations) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("propagate_constraints(cs)", cs);
+    \param cs
+    The system of constraints used to improve the widened OS.
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-  propagate_constraints_no_check(cs, max_iterations);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if \p cs contains a strict inequality.
+  */
+  void limited_CC76_extrapolation_assign(const Octagonal_Shape& y,
+                                         const Constraint_System& cs,
+                                         unsigned* tp = 0);
 
-template <typename ITV>
-inline void
-Box<ITV>::unconstrain(const Variable var) {
-  const dimension_type var_id = var.id();
-  // Dimension-compatibility check.
-  if (space_dimension() < var_id + 1)
-    throw_dimension_incompatible("unconstrain(var)", var_id + 1);
+  //@} Space-Dimension Preserving Member Functions that May Modify [...]
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-  // Here the box might still be empty (but we haven't detected it yet):
-  // check emptiness of the interval for `var' before cylindrification.
-  ITV& seq_var = seq[var_id];
-  if (seq_var.is_empty())
-    set_empty();
-  else
-    seq_var.assign(UNIVERSE);
+  //! Adds \p m new dimensions and embeds the old OS into the new space.
+  /*!
+    \param m
+    The number of dimensions to add.
 
-  PPL_ASSERT(OK());
-}
+    The new dimensions will be those having the highest indexes in the new OS,
+    which is characterized by a system of constraints in which the variables
+    running through the new dimensions are not constrained.
+    For instance, when starting from the OS \f$\cO \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the OS
+    \f[
+      \bigl\{\,
+        (x, y, z)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cO
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  return l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  /*! \brief
+    Adds \p m new dimensions to the OS
+    and does not embed it in the new space.
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    \param m
+    The number of dimensions to add.
 
-/*! \relates Box */
-template <typename To, typename ITV>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Box<ITV>& x,
-			    const Box<ITV>& y,
-			    const Rounding_Dir dir) {
-  // FIXME: the following qualification is only to work around a bug
-  // in the Intel C/C++ compiler version 10.1.x.
-  return Parma_Polyhedra_Library
-    ::rectilinear_distance_assign<To, To, ITV>(r, x, y, dir);
-}
+    The new dimensions will be those having the highest indexes
+    in the new OS, which is characterized by a system
+    of constraints in which the variables running through
+    the new dimensions are all constrained to be equal to 0.
+    For instance, when starting from the OS \f$\cO \sseq \Rset^2\f$
+    and adding a third dimension, the result will be the OS
+    \f[
+      \bigl\{\,
+        (x, y, 0)^\transpose \in \Rset^3
+      \bigm|
+        (x, y)^\transpose \in \cO
+      \,\bigr\}.
+    \f]
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  return l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
+  */
+  void concatenate_assign(const Octagonal_Shape& y);
 
-/*! \relates Box */
-template <typename To, typename ITV>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Box<ITV>& x,
-			  const Box<ITV>& y,
-			  const Rounding_Dir dir) {
-  // FIXME: the following qualification is only to work around a bug
-  // in the Intel C/C++ compiler version 10.1.x.
-  return Parma_Polyhedra_Library
-    ::euclidean_distance_assign<To, To, ITV>(r, x, y, dir);
-}
+  //! Removes all the specified dimensions.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the dimensions to be removed.
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  return l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >
-    (r, x, y, dir, tmp0, tmp1, tmp2);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the Variable
+    objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-/*! \relates Box */
-template <typename Temp, typename To, typename ITV>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  /*! \brief
+    Removes the higher dimensions so that the resulting space
+    will have dimension \p new_dimension.
 
-/*! \relates Box */
-template <typename To, typename ITV>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Box<ITV>& x,
-			   const Box<ITV>& y,
-			   const Rounding_Dir dir) {
-  // FIXME: the following qualification is only to work around a bug
-  // in the Intel C/C++ compiler version 10.1.x.
-  return Parma_Polyhedra_Library
-    ::l_infinity_distance_assign<To, To, ITV>(r, x, y, dir);
-}
+    \exception std::invalid_argument
+    Thrown if \p new_dimension is greater than the space dimension
+    of \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-/* Automatically generated from PPL source file ../src/Box.templates.hh line 1. */
-/* Box class implementation: non-inline template functions.
-*/
+    \param pfunc
+    The partial function specifying the destiny of each dimension.
 
+    The template type parameter Partial_Function must provide
+    the following methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty codomain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the codomain
+    of the partial function.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.
+    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
+    returned.
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1. */
-/* BD_Shape class declaration.
-*/
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 1. */
-/* DB_Matrix class declaration.
-*/
+    \param m
+    The number of replicas to be created.
 
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector space.
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.types.hh line 1. */
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref expand_space_dimension "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
 
-namespace Parma_Polyhedra_Library {
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-template <typename T>
-class DB_Matrix;
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.
+    Also thrown if \p dest is contained in \p vars.
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 1. */
-/* DB_Row class declaration.
-*/
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are \ref fold_space_dimensions "folded"
+    into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
+  //! Applies to \p dest the interval constraints embedded in \p *this.
+  /*!
+    \param dest
+    The object to which the constraints will be added.
 
-/* Automatically generated from PPL source file ../src/DB_Row.types.hh line 1. */
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest.
 
+    The template type parameter U must provide the following methods.
+    \code
+      dimension_type space_dimension() const
+    \endcode
+    returns the space dimension of the object.
+    \code
+      void set_empty()
+    \endcode
+    sets the object to an empty object.
+    \code
+      bool restrict_lower(dimension_type dim, const T& lb)
+    \endcode
+    restricts the object by applying the lower bound \p lb to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+    \code
+      bool restrict_upper(dimension_type dim, const T& ub)
+    \endcode
+    restricts the object by applying the upper bound \p ub to the space
+    dimension \p dim and returns <CODE>false</CODE> if and only if the
+    object becomes empty.
+  */
+  template <typename U>
+  void export_interval_constraints(U& dest) const;
 
-namespace Parma_Polyhedra_Library {
+  //! Refines \p store with the constraints defining \p *this.
+  /*!
+    \param store
+    The interval floating point abstract store to refine.
+  */
+  template <typename Interval_Info>
+  void refine_fp_interval_abstract_store(
+                          Box< Interval<T, Interval_Info> >& store) const;
 
-template <typename T>
-class DB_Row_Impl_Handler;
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-template <typename T>
-class DB_Row;
+  PPL_OUTPUT_DECLARATIONS
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 1. */
-/* Ptr_Iterator class declaration.
-*/
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.types.hh line 1. */
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
 
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
 
-namespace Parma_Polyhedra_Library {
+  friend bool
+  operator==<T>(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
 
-namespace Implementation {
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::rectilinear_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
+   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::euclidean_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
+   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  template <typename Temp, typename To, typename U>
+  friend bool Parma_Polyhedra_Library::l_infinity_distance_assign
+  (Checked_Number<To, Extended_Number_Policy>& r,
+   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
+   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
 
-template <typename P>
-class Ptr_Iterator;
+private:
+  template <typename U> friend class Parma_Polyhedra_Library::Octagonal_Shape;
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
 
-} // namespace Implementation
+  //! The matrix that represents the octagonal shape.
+  OR_Matrix<N> matrix;
 
-} // namespace Parma_Polyhedra_Library
+  //! Dimension of the space of the octagonal shape.
+  dimension_type space_dim;
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 28. */
-#include <iterator>
+  // Please, do not move the following include directive:
+  // `Og_Status.idefs.hh' must be included exactly at this point.
+  // And please do not remove the space separating `#' from `include':
+  // this ensures that the directive will not be moved during the
+  // procedure that automatically creates the library's include file
+  // (see `Makefile.am' in the `src' directory).
+#define PPL_IN_Octagonal_Shape_CLASS
+/* Automatically generated from PPL source file ../src/Og_Status.idefs.hh line 1. */
+/* Octagonal_Shape<T>::Status class declaration.
+*/
 
-namespace Parma_Polyhedra_Library {
 
-namespace Implementation {
+#ifndef PPL_IN_Octagonal_Shape_CLASS
+#error "Do not include Og_Status.idefs.hh directly; use Octagonal_Shape.defs.hh instead"
+#endif
 
-template<typename Q, typename R>
-bool operator==(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+//! A conjunctive assertion about a Octagonal_Shape<T> object.
+/*!
+  The assertions supported are:
+  - <EM>zero-dim universe</EM>: the polyhedron is the zero-dimensional
+    vector space \f$\Rset^0 = \{\cdot\}\f$;
+  - <EM>empty</EM>: the polyhedron is the empty set;
+  - <EM>strongly closed</EM>: the Octagonal_Shape object is strongly
+    closed, so that all the constraints are as tight as possible.
 
-template<typename Q, typename R>
-bool operator!=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  Not all the conjunctions of these elementary assertions constitute
+  a legal Status.  In fact:
+  - <EM>zero-dim universe</EM> excludes any other assertion;
+  - <EM>empty</EM>: excludes any other assertion.
+*/
+class Status {
+public:
+  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  Status();
 
-template<typename Q, typename R>
-bool operator<(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  //! \name Test, remove or add an individual assertion from the conjunction.
+  //@{
+  bool test_zero_dim_univ() const;
+  void reset_zero_dim_univ();
+  void set_zero_dim_univ();
 
-template<typename Q, typename R>
-bool operator<=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-template<typename Q, typename R>
-bool operator>(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  bool test_strongly_closed() const;
+  void reset_strongly_closed();
+  void set_strongly_closed();
+  //@}
 
-template<typename Q, typename R>
-bool operator>=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-template<typename Q, typename R>
-typename Ptr_Iterator<Q>::difference_type operator-(const Ptr_Iterator<Q>& x,
-						    const Ptr_Iterator<R>& y);
+  /*! \brief
+    Writes to \p s an ASCII representation of the internal
+    representation of \p *this.
+  */
+  void ascii_dump(std::ostream& s) const;
 
-template<typename P>
-Ptr_Iterator<P> operator+(typename Ptr_Iterator<P>::difference_type m,
-			  const Ptr_Iterator<P>& y);
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-} // namespace Implementation
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-} // namespace Parma_Polyhedra_Library
+  //! \name Bitmasks for the individual assertions.
+  //@{
+  static const flags_t ZERO_DIM_UNIV   = 0U;
+  static const flags_t EMPTY           = 1U << 0;
+  static const flags_t STRONGLY_CLOSED = 1U << 1;
+  //@}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A class to define STL const and non-const iterators from pointer types.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename P>
-class Parma_Polyhedra_Library::Implementation::Ptr_Iterator
-  : public std::iterator<typename std::iterator_traits<P>::iterator_category,
-			 typename std::iterator_traits<P>::value_type,
-			 typename std::iterator_traits<P>::difference_type,
-			 typename std::iterator_traits<P>::pointer,
-			 typename std::iterator_traits<P>::reference> {
-public:
-  typedef typename std::iterator_traits<P>::difference_type difference_type;
-  typedef typename std::iterator_traits<P>::reference reference;
-  typedef typename std::iterator_traits<P>::pointer pointer;
+  //! This holds the current bitset.
+  flags_t flags;
 
-  //! Default constructor: no guarantees.
-  Ptr_Iterator();
+  //! Construct from a bitmask.
+  Status(flags_t mask);
 
-  //! Construct an iterator pointing at \p q.
-  explicit Ptr_Iterator(const P& q);
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-  /*! \brief
-    Copy constructor allowing the construction of a const_iterator
-    from a non-const iterator.
-  */
-  template<typename Q>
-  Ptr_Iterator(const Ptr_Iterator<Q>& q);
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-  //! Dereference operator.
-  reference operator*() const;
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
 
-  //! Indirect member selector.
-  pointer operator->() const;
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
 
-  //! Subscript operator.
-  reference operator[](const difference_type m) const;
+};
 
-  //! Prefix increment operator.
-  Ptr_Iterator& operator++();
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1923. */
+#undef PPL_IN_Octagonal_Shape_CLASS
 
-  //! Postfix increment operator.
-  Ptr_Iterator operator++(int);
+  //! The status flags to keep track of the internal state.
+  Status status;
 
-  //! Prefix decrement operator
-  Ptr_Iterator& operator--();
+  //! Returns <CODE>true</CODE> if the OS is the zero-dimensional universe.
+  bool marked_zero_dim_univ() const;
 
-  //! Postfix decrement operator.
-  Ptr_Iterator operator--(int);
+  //! Returns <CODE>true</CODE> if the OS is known to be empty.
+  /*!
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-  //! Assignment-increment operator.
-  Ptr_Iterator& operator+=(const difference_type m);
+  /*! \brief
+    Returns <CODE>true</CODE> if \c this->matrix is known to be
+    strongly closed.
 
-  //! Assignment-decrement operator.
-  Ptr_Iterator& operator-=(const difference_type m);
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \c this->matrix is not strongly closed.
+  */
+  bool marked_strongly_closed() const;
 
-  //! Returns the difference between \p *this and \p y.
-  difference_type operator-(const Ptr_Iterator& y) const;
+  //! Turns \p *this into a zero-dimensional universe OS.
+  void set_zero_dim_univ();
 
-  //! Returns the sum of \p *this and \p m.
-  Ptr_Iterator operator+(const difference_type m) const;
+  //! Turns \p *this into an empty OS.
+  void set_empty();
 
-  //! Returns the difference of \p *this and \p m.
-  Ptr_Iterator operator-(const difference_type m) const;
+  //! Marks \p *this as strongly closed.
+  void set_strongly_closed();
 
-private:
-  //! The base pointer implementing the iterator.
-  P p;
+  //! Marks \p *this as possibly not strongly closed.
+  void reset_strongly_closed();
 
-  //! Returns the hidden pointer.
-  const P& base() const;
+  N& matrix_at(dimension_type i, dimension_type j);
+  const N& matrix_at(dimension_type i, dimension_type j) const;
 
-  template <typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator==(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  /*! \brief
+    Returns an upper bound for \p lf according to the constraints
+    embedded in \p *this.
 
-  template <typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator!=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+    \p lf must be a linear form on intervals with floating point coefficients.
+    If all coefficients in \p lf are bounded, then \p result will become a
+    correct overapproximation of the value of \p lf when variables in
+    \p lf satisfy the constraints expressed by \p *this. Otherwise the
+    behavior of the method is undefined.
+  */
+  template <typename Interval_Info>
+  void linear_form_upper_bound(
+		   const Linear_Form< Interval<T, Interval_Info> >& lf,
+                   N& result) const;
 
-  template<typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator<(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  // FIXME: this function is currently not used. Consider removing it.
+  static void interval_coefficient_upper_bound(const N& var_ub,
+                                               const N& minus_var_ub,
+                                               const N& int_ub, const N& int_lb,
+                                               N& result);
 
-  template<typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator<=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
 
-  template<typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator>(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+    \param c
+    The constraint to be added. Non-octagonal constraints are ignored.
 
-  template<typename Q, typename R>
-  friend bool Parma_Polyhedra_Library::Implementation::
-  operator>=(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint& c);
 
-  template<typename Q, typename R>
-  friend typename Ptr_Iterator<Q>::difference_type
-  Parma_Polyhedra_Library::Implementation::
-  operator-(const Ptr_Iterator<Q>& x, const Ptr_Iterator<R>& y);
+  /*! \brief
+    Uses the congruence \p cg to refine \p *this.
 
-  friend Ptr_Iterator<P>
-  Parma_Polyhedra_Library::Implementation::
-  operator+<>(typename Ptr_Iterator<P>::difference_type m,
-	      const Ptr_Iterator<P>& y);
-};
+    \param cg
+    The congruence to be added.
+    Nontrivial proper congruences are ignored.
+    Non-octagonal equalities are ignored.
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 1. */
-/* Ptr_Iterator class implementation: inline functions.
-*/
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence& cg);
 
+  //! Adds the constraint <CODE>matrix[i][j] <= k</CODE>.
+  void add_octagonal_constraint(dimension_type i,
+                                dimension_type j,
+                                const N& k);
 
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 29. */
+  //! Adds the constraint <CODE>matrix[i][j] <= numer/denom</CODE>.
+  void add_octagonal_constraint(dimension_type i,
+                                dimension_type j,
+                                Coefficient_traits::const_reference numer,
+                                Coefficient_traits::const_reference denom);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Adds to the Octagonal_Shape the constraint
+    \f$\mathrm{var} \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$.
 
-namespace Implementation {
+    Note that the coefficient of \p var in \p expr is null.
+  */
+  void refine(Variable var,
+              Relation_Symbol relsym,
+              const Linear_Expression& expr,
+              Coefficient_traits::const_reference denominator
+              = Coefficient_one());
 
-template <typename P>
-inline const P&
-Ptr_Iterator<P>::base() const {
-  return p;
-}
+  //! Removes all the constraints on variable \p v_id.
+  void forget_all_octagonal_constraints(dimension_type v_id);
 
-template <typename P>
-inline
-Ptr_Iterator<P>::Ptr_Iterator()
-  : p(P()) {
-}
+  //! Removes all binary constraints on variable \p v_id.
+  void forget_binary_octagonal_constraints(dimension_type v_id);
 
-template <typename P>
-inline
-Ptr_Iterator<P>::Ptr_Iterator(const P& q)
-  : p(q) {
-}
+  //! An helper function for the computation of affine relations.
+  /*!
+    For each variable index \c u_id (less than or equal to \p last_id
+    and different from \p v_id), deduce constraints of the form
+    <CODE>v - u \<= k</CODE> and <CODE>v + u \<= k</CODE>,
+    starting from \p ub_v, which is an upper bound for \c v
+    computed according to \p sc_expr and \p sc_denom.
 
-template <typename P>
-template <typename Q>
-inline
-Ptr_Iterator<P>::Ptr_Iterator(const Ptr_Iterator<Q>& y)
-  : p(y.base()) {
-}
+    Strong-closure will be able to deduce the constraints
+    <CODE>v - u \<= ub_v - lb_u</CODE> and <CODE>v + u \<= ub_v + ub_u</CODE>.
+    We can be more precise if variable \c u played an active role in the
+    computation of the upper bound for \c v.
 
-template <typename P>
-inline typename Ptr_Iterator<P>::reference
-Ptr_Iterator<P>::operator*() const {
-  return *p;
-}
+    Namely, if the corresponding coefficient
+    <CODE>q == sc_expr[u]/sc_denom</CODE> of \c u in \p sc_expr
+    is greater than zero, we can improve the bound for <CODE>v - u</CODE>.
+    In particular:
+      - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
+      - if <CODE>0 \< q \< 1</CODE>, then
+        <CODE>v - u \<= ub_v - (q*ub_u + (1-q)*lb_u)</CODE>.
 
-template <typename P>
-inline typename Ptr_Iterator<P>::pointer
-Ptr_Iterator<P>::operator->() const {
-  return p;
-}
+    Conversely, if \c q is less than zero, we can improve the bound for
+    <CODE>v + u</CODE>. In particular:
+      - if <CODE>q \<= -1</CODE>, then <CODE>v + u \<= ub_v + lb_u</CODE>;
+      - if <CODE>-1 \< q \< 0</CODE>, then
+        <CODE>v + u \<= ub_v + ((-q)*lb_u + (1+q)*ub_u)</CODE>.
+  */
+  void deduce_v_pm_u_bounds(dimension_type v_id,
+                            dimension_type last_id,
+                            const Linear_Expression& sc_expr,
+                            Coefficient_traits::const_reference sc_denom,
+                            const N& ub_v);
 
-template <typename P>
-inline typename Ptr_Iterator<P>::reference
-Ptr_Iterator<P>::operator[](const difference_type m) const {
-  return p[m];
-}
+  //! An helper function for the computation of affine relations.
+  /*!
+    For each variable index \c u_id (less than or equal to \p last_id
+    and different from \p v_id), deduce constraints of the form
+    <CODE>-v + u \<= k</CODE> and <CODE>-v - u \<= k</CODE>,
+    starting from \p minus_lb_v, which is the negation of a lower bound
+    for \c v computed according to \p sc_expr and \p sc_denom.
 
-template <typename P>
-inline Ptr_Iterator<P>&
-Ptr_Iterator<P>::operator++() {
-  ++p;
-  return *this;
-}
+    Strong-closure will be able to deduce the constraints
+    <CODE>-v - u \<= -lb_v - lb_u</CODE> and
+    <CODE>-v + u \<= -lb_v + ub_u</CODE>.
+    We can be more precise if variable \c u played an active role in the
+    computation of (the negation of) the lower bound for \c v.
 
-template <typename P>
-inline Ptr_Iterator<P>
-Ptr_Iterator<P>::operator++(int) {
-  return Ptr_Iterator(p++);
-}
+    Namely, if the corresponding coefficient
+    <CODE>q == sc_expr[u]/sc_denom</CODE> of \c u in \p sc_expr
+    is greater than zero, we can improve the bound for <CODE>-v + u</CODE>.
+    In particular:
+      - if <CODE>q \>= 1</CODE>, then <CODE>-v + u \<= -lb_v + lb_u</CODE>;
+      - if <CODE>0 \< q \< 1</CODE>, then
+        <CODE>-v + u \<= -lb_v + (q*lb_u + (1-q)*ub_u)</CODE>.
 
-template <typename P>
-inline Ptr_Iterator<P>&
-Ptr_Iterator<P>::operator--() {
-  --p;
-  return *this;
-}
+    Conversely, if \c q is less than zero, we can improve the bound for
+    <CODE>-v - u</CODE>. In particular:
+      - if <CODE>q \<= -1</CODE>, then <CODE>-v - u \<= -lb_v - ub_u</CODE>;
+      - if <CODE>-1 \< q \< 0</CODE>, then
+        <CODE>-v - u \<= -lb_v - ((-q)*ub_u + (1+q)*lb_u)</CODE>.
+  */
+  void deduce_minus_v_pm_u_bounds(dimension_type v_id,
+                                  dimension_type last_id,
+                                  const Linear_Expression& sc_expr,
+                                  Coefficient_traits::const_reference sc_denom,
+                                  const N& minus_lb_v);
 
-template <typename P>
-inline Ptr_Iterator<P>
-Ptr_Iterator<P>::operator--(int) {
-  return Ptr_Iterator(p--);
-}
+  /*! \brief
+    Adds to \p limiting_octagon the octagonal differences in \p cs
+    that are satisfied by \p *this.
+  */
+  void get_limiting_octagon(const Constraint_System& cs,
+                            Octagonal_Shape& limiting_octagon) const;
+  //! Compute the (zero-equivalence classes) successor relation.
+  /*!
+    It is assumed that the octagon is not empty and strongly closed.
+  */
+  void compute_successors(std::vector<dimension_type>& successor) const;
 
+  //! Compute the leaders of zero-equivalence classes.
+  /*!
+    It is assumed that the OS is not empty and strongly closed.
+  */
+  void compute_leaders(std::vector<dimension_type>& successor,
+                       std::vector<dimension_type>& no_sing_leaders,
+                       bool& exist_sing_class,
+                       dimension_type& sing_leader) const;
 
-template <typename P>
-inline Ptr_Iterator<P>&
-Ptr_Iterator<P>::operator+=(const difference_type m) {
-  p += m;
-  return *this;
-}
+  //! Compute the leaders of zero-equivalence classes.
+  /*!
+    It is assumed that the OS is not empty and strongly closed.
+  */
+  void compute_leaders(std::vector<dimension_type>& leaders) const;
 
-template <typename P>
-inline Ptr_Iterator<P>&
-Ptr_Iterator<P>::operator-=(const difference_type m) {
-  p -= m;
-  return *this;
-}
+  /*! \brief
+    Stores into \p non_redundant information about the matrix entries
+    that are non-redundant (i.e., they will occur in the strongly
+    reduced matrix).
 
-template <typename P>
-inline typename Ptr_Iterator<P>::difference_type
-Ptr_Iterator<P>::operator-(const Ptr_Iterator& y) const {
-  return p - y.p;
-}
+    It is assumed that the OS is not empty and strongly closed;
+    moreover, argument \p non_redundant is assumed to be empty.
+  */
+  void non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const;
 
-template <typename P>
-inline Ptr_Iterator<P>
-Ptr_Iterator<P>::operator+(const difference_type m) const {
-  return Ptr_Iterator(p + m);
-}
+  //! Removes the redundant constraints from \c this->matrix.
+  void strong_reduction_assign() const;
 
-template <typename P>
-inline Ptr_Iterator<P>
-Ptr_Iterator<P>::operator-(const difference_type m) const {
-  return Ptr_Iterator(p - m);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \c this->matrix
+    is strongly reduced.
+  */
+  bool is_strongly_reduced() const;
 
-template<typename P, typename Q>
-inline bool
-operator==(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() == y.base();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if in the octagon taken two at a time
+    unary constraints, there is also the constraint that represent their sum.
+  */
+  bool is_strong_coherent() const;
 
-template<typename P, typename Q>
-inline bool
-operator!=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() != y.base();
-}
+  bool tight_coherence_would_make_empty() const;
 
-template<typename P, typename Q>
-inline bool
-operator<(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() < y.base();
-}
+  //! Assigns to \c this->matrix its strong closure.
+  /*!
+    Strong closure is a necessary condition for the precision and/or
+    the correctness of many methods. It explicitly records into \c matrix
+    those constraints that are implicitly obtainable by the other ones,
+    therefore obtaining a canonical representation for the OS.
+  */
+  void strong_closure_assign() const;
 
-template<typename P, typename Q>
-inline bool
-operator<=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() <= y.base();
-}
+  //! Applies the strong-coherence step to \c this->matrix.
+  void strong_coherence_assign();
 
-template<typename P, typename Q>
-inline bool
-operator>(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() > y.base();
-}
+  //! Assigns to \c this->matrix its tight closure.
+  /*!
+    \note
+    This is \e not marked as a <code>const</code> method,
+    as it may modify the rational-valued geometric shape by cutting away
+    non-integral points. The method is only available if the template
+    parameter \c T is bound to an integer data type.
+  */
+  void tight_closure_assign();
 
-template<typename P, typename Q>
-inline bool
-operator>=(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() >= y.base();
-}
+  /*! \brief
+    Incrementally computes strong closure, assuming that only
+    constraints affecting variable \p var need to be considered.
 
-template<typename P, typename Q>
-inline typename Ptr_Iterator<P>::difference_type
-operator-(const Ptr_Iterator<P>& x, const Ptr_Iterator<Q>& y) {
-  return x.base() - y.base();
-}
+    \note
+    It is assumed that \c *this, which was strongly closed, has only been
+    modified by adding constraints affecting variable \p var. If this
+    assumption is not satisfied, i.e., if a non-redundant constraint not
+    affecting variable \p var has been added, the behavior is undefined.
+    Worst-case complexity is \f$O(n^2)\f$.
+  */
+  void incremental_strong_closure_assign(Variable var) const;
 
-template<typename P>
-inline Ptr_Iterator<P>
-operator+(typename Ptr_Iterator<P>::difference_type m,
-	  const Ptr_Iterator<P>& y) {
-  return Ptr_Iterator<P>(m + y.base());
-}
+  //! Checks if and how \p expr is bounded in \p *this.
+  /*!
+    Returns <CODE>true</CODE> if and only if \p from_above is
+    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
+    or \p from_above is <CODE>false</CODE> and \p expr is bounded
+    from below in \p *this.
 
-} // namespace Implementation
+    \param expr
+    The linear expression to test;
 
-} // namespace Parma_Polyhedra_Library
+    \param from_above
+    <CODE>true</CODE> if and only if the boundedness of interest is
+    "from above".
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 171. */
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds(const Linear_Expression& expr, bool from_above) const;
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 30. */
-#include <cstddef>
-#include <vector>
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-#ifndef PPL_DB_ROW_EXTRA_DEBUG
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  When PPL_DB_ROW_EXTRA_DEBUG evaluates to <CODE>true</CODE>, each instance
-  of the class DB_Row carries its own capacity; this enables extra
-  consistency checks to be performed.
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_DB_ROW_EXTRA_DEBUG 1
-#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#define PPL_DB_ROW_EXTRA_DEBUG 0
-#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#endif // !defined(PPL_DB_ROW_EXTRA_DEBUG)
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
+    \param ext_n
+    The numerator of the extremum value;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The handler of the actual DB_Row implementation.
-/*! \ingroup PPL_CXX_interface
-  Exception-safety is the only responsibility of this class: it has
-  to ensure that its \p impl member is correctly deallocated.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Parma_Polyhedra_Library::DB_Row_Impl_Handler {
-public:
-  //! Default constructor.
-  DB_Row_Impl_Handler();
+    \param ext_d
+    The denominator of the extremum value;
 
-  //! Destructor.
-  ~DB_Row_Impl_Handler();
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
-  class Impl;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  //! A pointer to the actual implementation.
-  Impl* impl;
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d and
+    \p included are left untouched.
+  */
+  bool max_min(const Linear_Expression& expr,
+               bool maximize,
+               Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
 
-#if PPL_DB_ROW_EXTRA_DEBUG
-  //! The capacity of \p impl (only available during debugging).
-  dimension_type capacity_;
-#endif // PPL_DB_ROW_EXTRA_DEBUG
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-private:
-  //! Private and unimplemented: copy construction is not allowed.
-  DB_Row_Impl_Handler(const DB_Row_Impl_Handler&);
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-  //! Private and unimplemented: copy assignment is not allowed.
-  DB_Row_Impl_Handler& operator=(const DB_Row_Impl_Handler&);
-};
+    \param ext_n
+    The numerator of the extremum value;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for the single rows of matrices.
-/*! \ingroup PPL_CXX_interface
-  The class template DB_Row<T> allows for the efficient representation of
-  the single rows of a DB_Matrix. It contains elements of type T stored
-  as a vector. The class T is a family of extended numbers that
-  must provide representation for
-  \f$ -\infty \f$, \f$0\f$,\f$ +\infty \f$ (and, consequently for <EM>nan</EM>,
-  <EM>not a number</EM>, since this arises as the ``result'' of
-  undefined sums like \f$ +\infty + (-\infty) \f$).
+    \param ext_d
+    The denominator of the extremum value;
 
-  The class T must provide the following methods:
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
-  \code
-    T()
-  \endcode
-  is the default constructor: no assumption is made on the particular
-  object constructed, provided <CODE>T().OK()</CODE> gives <CODE>true</CODE>
-  (see below).
-  \code
-    ~T()
-  \endcode
-  is the destructor.
-  \code
-    bool is_nan() const
-  \endcode
-  returns <CODE>true</CODE> if and only \p *this represents
-  the  <EM>not a number</EM> value.
-  \code
-    bool OK() const
-  \endcode
-  returns <CODE>true</CODE> if and only if \p *this satisfies all
-  its invariants.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Parma_Polyhedra_Library::DB_Row : private DB_Row_Impl_Handler<T> {
-public:
-  //! Pre-constructs a row: construction must be completed by construct().
-  DB_Row();
+    \param g
+    When maximization or minimization succeeds, will be assigned
+    a point or closure point where \p expr reaches the
+    corresponding extremum value.
 
-  //! \name Post-constructors.
-  //@{
-  //! Constructs properly a default-constructed element.
-  /*!
-    Builds a row with size \p sz and minimum capacity.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+
+    If \p *this is empty or \p expr is not bounded in the appropriate
+    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
+    \p included and \p g are left untouched.
   */
-  void construct(dimension_type sz);
+  bool max_min(const Linear_Expression& expr,
+               bool maximize,
+               Coefficient& ext_n, Coefficient& ext_d, bool& included,
+               Generator& g) const;
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed.
+  void drop_some_non_integer_points_helper(N& elem);
 
-    \param capacity
-    The minimum capacity of the row that will be constructed.
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<<>(std::ostream& s, const Octagonal_Shape<T>& c);
 
-    The row that we are constructing has a minimum capacity of
-    (i.e., it can contain at least) \p elements, \p sz of which
-    will be constructed now.
-  */
-  void construct(dimension_type sz, dimension_type capacity);
+  //! \name Exception Throwers
+  //@{
+  void throw_dimension_incompatible(const char* method,
+                                    const Octagonal_Shape& y) const;
 
-  //! Constructs properly a conservative approximation of \p y.
-  /*!
-    \param y
-    A row containing the elements whose upward approximations will
-    be used to properly construct \p *this.
+  void throw_dimension_incompatible(const char* method,
+                                    dimension_type required_dim) const;
 
-    \param capacity
-    The capacity of the constructed row.
+  void throw_dimension_incompatible(const char* method,
+                                    const Constraint& c) const;
 
-    It is assumed that \p capacity is greater than or equal to the
-    size of \p y.
-  */
-  template <typename U>
-  void construct_upward_approximation(const DB_Row<U>& y,
-				      dimension_type capacity);
+  void throw_dimension_incompatible(const char* method,
+                                    const Congruence& cg) const;
 
-  //@}
+  void throw_dimension_incompatible(const char* method,
+                                    const Generator& g) const;
 
-  //! Tight constructor: resizing will require reallocation.
-  DB_Row(dimension_type sz);
+  void throw_dimension_incompatible(const char* method,
+                                    const char* le_name,
+                                    const Linear_Expression& le) const;
 
-  //! Sizing constructor with capacity.
-  DB_Row(dimension_type sz, dimension_type capacity);
+  template <typename C>
+  void throw_dimension_incompatible(const char* method,
+                                    const char* lf_name,
+                                    const Linear_Form<C>& lf) const;
 
-  //! Ordinary copy constructor.
-  DB_Row(const DB_Row& y);
+  static void throw_constraint_incompatible(const char* method);
 
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to \p y size.
-  */
-  DB_Row(const DB_Row& y, dimension_type capacity);
+  static void throw_expression_too_complex(const char* method,
+                                           const Linear_Expression& le);
 
-  //! Copy constructor with specified size and capacity.
-  /*!
-    It is assumed that \p sz is greater than or equal to the size of \p y
-    and, of course, that \p sz is less than or equal to \p capacity.
-    Any new position is initialized to \f$+\infty\f$.
-  */
-  DB_Row(const DB_Row& y, dimension_type sz, dimension_type capacity);
+  static void throw_invalid_argument(const char* method, const char* reason);
+  //@} // Exception Throwers
+};
 
-  //! Destructor.
-  ~DB_Row();
+/* Automatically generated from PPL source file ../src/Og_Status.inlines.hh line 1. */
+/* Octagonal_Shape<T>::Status class implementation: inline functions.
+*/
 
-  //! Assignment operator.
-  DB_Row& operator=(const DB_Row& y);
 
-  //! Swaps \p *this with \p y.
-  void swap(DB_Row& y);
+namespace Parma_Polyhedra_Library {
 
-  //! Assigns the implementation of \p y to \p *this.
-  void assign(DB_Row& y);
+template <typename T>
+inline
+Octagonal_Shape<T>::Status::Status(flags_t mask)
+  : flags(mask) {
+}
 
-  /*! \brief
-    Allocates memory for a default constructed DB_Row object,
-    allowing for \p capacity coefficients at most.
+template <typename T>
+inline
+Octagonal_Shape<T>::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
+}
 
-    It is assumed that no allocation has been performed before
-    (otherwise, a memory leak will occur).
-    After execution, the size of the DB_Row object is zero.
-  */
-  void allocate(dimension_type capacity);
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
+}
 
-  //! Expands the row to size \p new_size.
-  /*!
-    Adds new positions to the implementation of the row
-    obtaining a new row with size \p new_size.
-    It is assumed that \p new_size is between the current size
-    and capacity of the row. The new positions are initialized
-    to \f$+\infty\f$.
-  */
-  void expand_within_capacity(dimension_type new_size);
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::test_any(flags_t mask) const {
+  return (flags & mask) != 0;
+}
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    Destroys elements of the row implementation
-    from position \p new_size to the end.
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::set(flags_t mask) {
+  flags |= mask;
+}
 
-  //! Returns the size() of the largest possible DB_Row.
-  static dimension_type max_size();
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::reset(flags_t mask) {
+  flags &= ~mask;
+}
 
-  //! Gives the number of coefficients currently in use.
-  dimension_type size() const;
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
+}
 
-  //! \name Subscript operators.
-  //@{
-  //! Returns a reference to the element of the row indexed by \p k.
-  T& operator[](dimension_type k);
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::reset_zero_dim_univ() {
+  // This is a no-op if the current status is not zero-dim.
+  if (flags == ZERO_DIM_UNIV)
+    // In the zero-dim space, if it is not the universe it is empty.
+    flags = EMPTY;
+}
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  const T& operator[](dimension_type k) const;
-  //@}
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
+}
 
-  //! A (non const) random access iterator to access the row's elements.
-  typedef Implementation::Ptr_Iterator<T*> iterator;
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::test_empty() const {
+  return test_any(EMPTY);
+}
 
-  //! A const random access iterator to access the row's elements.
-  typedef Implementation::Ptr_Iterator<const T*> const_iterator;
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::reset_empty() {
+  reset(EMPTY);
+}
 
-  /*! \brief
-    Returns the const iterator pointing to the first element,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const iterator.
-  */
-  iterator begin();
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::set_empty() {
+  flags = EMPTY;
+}
 
-  //! Returns the past-the-end iterator.
-  iterator end();
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::test_strongly_closed() const {
+  return test_any(STRONGLY_CLOSED);
+}
 
-  /*! \brief
-    Returns the const iterator pointing to the first element,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const iterator.
-  */
-  const_iterator begin() const;
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::reset_strongly_closed() {
+  reset(STRONGLY_CLOSED);
+}
 
-  //! Returns the past-the-end const iterator.
-  const_iterator end() const;
+template <typename T>
+inline void
+Octagonal_Shape<T>::Status::set_strongly_closed() {
+  set(STRONGLY_CLOSED);
+}
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+template <typename T>
+inline bool
+Octagonal_Shape<T>::Status::OK() const {
+  if (test_zero_dim_univ())
+    // Zero-dim universe is OK.
+    return true;
 
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
+  if (test_empty()) {
+    Status copy = *this;
+    copy.reset_empty();
+    if (copy.test_zero_dim_univ())
+      return true;
+    else {
+#ifndef NDEBUG
+      std::cerr << "The empty flag is incompatible with any other one."
+		<< std::endl;
+#endif
+      return false;
+    }
+  }
 
-  /*! \brief
-    Returns the total size in bytes of the memory occupied by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+  // Any other case is OK.
+  return true;
+}
 
-  /*! \brief
-    Returns the size in bytes of the memory managed by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
-  */
-  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+namespace Implementation {
 
-private:
-  template <typename U> friend class Parma_Polyhedra_Library::DB_Row;
+namespace Octagonal_Shapes {
+// These are the keywords that indicate the individual assertions.
+const std::string zero_dim_univ = "ZE";
+const std::string empty = "EM";
+const std::string strong_closed = "SC";
+const char yes = '+';
+const char no = '-';
+const char separator = ' ';
 
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const DB_Row& y);
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape::Status
+  Reads a keyword and its associated on/off flag from \p s.
+  Returns <CODE>true</CODE> if the operation is successful,
+  returns <CODE>false</CODE> otherwise.
+  When successful, \p positive is set to <CODE>true</CODE> if the flag
+  is on; it is set to <CODE>false</CODE> otherwise.
+*/
+inline bool
+get_field(std::istream& s, const std::string& keyword, bool& positive) {
+  std::string str;
+  if (!(s >> str)
+      || (str[0] != yes && str[0] != no)
+      || str.substr(1) != keyword)
+    return false;
+  positive = (str[0] == yes);
+  return true;
+}
 
-#if PPL_DB_ROW_EXTRA_DEBUG
-  //! Returns the capacity of the row (only available during debugging).
-  dimension_type capacity() const;
-#endif // PPL_DB_ROW_EXTRA_DEBUG
-};
+} // namespace Octagonal_Shapes
 
-namespace Parma_Polyhedra_Library {
+} // namespace Implementation
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! \name Classical comparison operators.
-//@{
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-/*! \relates DB_Row */
 template <typename T>
-bool operator==(const DB_Row<T>& x, const DB_Row<T>& y);
+inline void
+Octagonal_Shape<T>::Status::ascii_dump(std::ostream& s) const {
+  using namespace Implementation::Octagonal_Shapes;
+  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ
+    << separator
+    << (test_empty() ? yes : no) << empty
+    << separator
+    << separator
+    << (test_strongly_closed() ? yes : no) << strong_closed
+    << separator;
+}
 
-/*! \relates DB_Row */
 template <typename T>
-bool operator!=(const DB_Row<T>& x, const DB_Row<T>& y);
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//@}
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline bool
+Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
+  using namespace Implementation::Octagonal_Shapes;
+  PPL_UNINITIALIZED(bool, positive);
 
-} // namespace Parma_Polyhedra_Library
+  if (!get_field(s, zero_dim_univ, positive))
+    return false;
+  if (positive)
+    set_zero_dim_univ();
 
+  if (!get_field(s, empty, positive))
+    return false;
+  if (positive)
+    set_empty();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The real implementation of a DB_Row object.
-/*! \ingroup PPL_CXX_interface
-  The class DB_Row_Impl_Handler::Impl provides the implementation of
-  DB_Row objects and, in particular, of the corresponding memory
-  allocation functions.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Parma_Polyhedra_Library::DB_Row_Impl_Handler<T>::Impl {
-public:
-  //! \name Custom allocator and deallocator.
-  //@{
+  if (!get_field(s, strong_closed, positive))
+    return false;
+  if (positive)
+    set_strongly_closed();
+  else
+    reset_strongly_closed();
 
-  /*! \brief
-    Allocates a chunk of memory able to contain \p capacity T objects
-    beyond the specified \p fixed_size and returns a pointer to the new
-    allocated memory.
-  */
-  static void* operator new(size_t fixed_size, dimension_type capacity);
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  //! Uses the standard delete operator to free the memory \p p points to.
-  static void operator delete(void* p);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Placement version: uses the standard operator delete to free
-    the memory \p p points to.
-  */
-  static void operator delete(void* p, dimension_type capacity);
-  //@}
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 1. */
+/* Octagonal_Shape class implementation: inline functions.
+*/
 
-  //! Default constructor.
-  Impl();
 
-  //! Destructor.
-  /*!
-    Uses <CODE>shrink()</CODE> method with argument \f$0\f$
-    to delete all the row elements.
-  */
-  ~Impl();
+/* Automatically generated from PPL source file ../src/wrap_assign.hh line 1. */
+/* Generic implementation of the wrap_assign() function.
+*/
 
-  //! Expands the row to size \p new_size.
-  /*!
-    It is assumed that \p new_size is between the current size and capacity.
-  */
-  void expand_within_capacity(dimension_type new_size);
 
-  //! Shrinks the row by erasing elements at the end.
-  /*!
-    It is assumed that \p new_size is not greater than the current size.
-  */
-  void shrink(dimension_type new_size);
+/* Automatically generated from PPL source file ../src/wrap_assign.hh line 32. */
 
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Impl& y);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Exception-safe upward approximation construction mechanism
-    for coefficients.
-  */
-  template <typename U>
-  void construct_upward_approximation(const U& y);
+namespace Implementation {
 
-  //! Returns the size() of the largest possible Impl.
-  static dimension_type max_size();
+struct Wrap_Dim_Translations {
+  Variable var;
+  Coefficient first_quadrant;
+  Coefficient last_quadrant;
+  Wrap_Dim_Translations(Variable v,
+                        Coefficient_traits::const_reference f,
+                        Coefficient_traits::const_reference l)
+    : var(v), first_quadrant(f), last_quadrant(l) {
+  }
+};
 
-  //! \name Size accessors.
-  //@{
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+typedef std::vector<Wrap_Dim_Translations> Wrap_Translations;
 
-  //! Sets to \p new_sz the actual size of \p *this.
-  void set_size(dimension_type new_sz);
+template <typename PSET>
+void
+wrap_assign_ind(PSET& pointset,
+                Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System& cs,
+                Coefficient& tmp1,
+                Coefficient& tmp2) {
+  const dimension_type space_dim = pointset.space_dimension();
+  for (Wrap_Translations::const_iterator i = first; i != end; ++i) {
+    const Wrap_Dim_Translations& wrap_dim_translations = *i;
+    const Variable x(wrap_dim_translations.var);
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& quadrant = tmp1;
+    Coefficient& shift = tmp2;
+    PSET hull(space_dim, EMPTY);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      PSET p(pointset);
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        p.affine_image(x, x - shift, 1);
+      }
+      // `x' has just been wrapped.
+      vars.erase(x.id());
 
-  //! Increments the size of \p *this by 1.
-  void bump_size();
-  //@}
+      // Refine `p' with all the constraints in `cs' not depending
+      // on variables in `vars'.
+      if (vars.empty())
+        p.refine_with_constraints(cs);
+      else {
+        for (Constraint_System::const_iterator j = cs.begin(),
+               cs_end = cs.end(); j != cs_end; ++j)
+          if (j->expression().all_zeroes(vars))
+            // `*j' does not depend on variables in `vars'.
+            p.refine_with_constraint(*j);
+      }
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+      hull.upper_bound_assign(p);
+    }
+    pointset.m_swap(hull);
+  }
+}
 
-  //! \name Subscript operators.
-  //@{
-  //! Returns a reference to the element of \p *this indexed by \p k.
-  T& operator[](dimension_type k);
+template <typename PSET>
+void
+wrap_assign_col(PSET& dest,
+                const PSET& src,
+                const Variables_Set& vars,
+                Wrap_Translations::const_iterator first,
+                Wrap_Translations::const_iterator end,
+                Bounded_Integer_Type_Width w,
+                Coefficient_traits::const_reference min_value,
+                Coefficient_traits::const_reference max_value,
+                const Constraint_System* cs_p,
+                Coefficient& tmp) {
+  if (first == end) {
+    PSET p(src);
+    if (cs_p != 0)
+      p.refine_with_constraints(*cs_p);
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vars_end = vars.end(); i != vars_end; ++i) {
+      const Variable x(*i);
+      p.refine_with_constraint(min_value <= x);
+      p.refine_with_constraint(x <= max_value);
+    }
+    dest.upper_bound_assign(p);
+  }
+  else {
+    const Wrap_Dim_Translations& wrap_dim_translations = *first;
+    const Variable x(wrap_dim_translations.var);
+    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
+    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
+    Coefficient& shift = tmp;
+    PPL_DIRTY_TEMP_COEFFICIENT(quadrant);
+    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
+      if (quadrant != 0) {
+        mul_2exp_assign(shift, quadrant, w);
+        PSET p(src);
+        p.affine_image(x, x - shift, 1);
+        wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value,
+                        cs_p, tmp);
+      }
+      else
+        wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value,
+                        cs_p, tmp);
+    }
+  }
+}
 
-  //! Returns a constant reference to the element of \p *this indexed by \p k.
-  const T& operator[](dimension_type k) const;
-  //@}
+template <typename PSET>
+void
+wrap_assign(PSET& pointset,
+            const Variables_Set& vars,
+            const Bounded_Integer_Type_Width w,
+            const Bounded_Integer_Type_Representation r,
+            const Bounded_Integer_Type_Overflow o,
+            const Constraint_System* cs_p,
+            const unsigned complexity_threshold,
+            const bool wrap_individually,
+            const char* class_name) {
+  // We must have cs_p->space_dimension() <= vars.space_dimension()
+  //         and  vars.space_dimension() <= pointset.space_dimension().
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+  // Dimension-compatibility check of `*cs_p', if any.
+  if (cs_p != 0) {
+    const dimension_type vars_space_dim = vars.space_dimension();
+    if (cs_p->space_dimension() > vars_space_dim) {
+      std::ostringstream s;
+      s << "PPL::" << class_name << "::wrap_assign(..., cs_p, ...):"
+        << std::endl
+        << "vars.space_dimension() == " << vars_space_dim
+        << ", cs_p->space_dimension() == " << cs_p->space_dimension() << ".";
+      throw std::invalid_argument(s.str());
+    }
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+#ifndef NDEBUG
+    // Check that all variables upon which `*cs_p' depends are in `vars'.
+    // An assertion is violated otherwise.
+    const Constraint_System cs = *cs_p;
+    const dimension_type cs_space_dim = cs.space_dimension();
+    Variables_Set::const_iterator vars_end = vars.end();
+    for (Constraint_System::const_iterator i = cs.begin(),
+           cs_end = cs.end(); i != cs_end; ++i) {
+      const Constraint& c = *i;
+      for (dimension_type d = cs_space_dim; d-- > 0; ) {
+        PPL_ASSERT(c.coefficient(Variable(d)) == 0
+                   || vars.find(d) != vars_end);
+      }
+    }
+#endif
+  }
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  // Wrapping no variable only requires refining with *cs_p, if any.
+  if (vars.empty()) {
+    if (cs_p != 0)
+      pointset.refine_with_constraints(*cs_p);
+    return;
+  }
 
-private:
-  friend class DB_Row<T>;
+  // Dimension-compatibility check of `vars'.
+  const dimension_type space_dim = pointset.space_dimension();
+  if (vars.space_dimension() > space_dim) {
+    std::ostringstream s;
+    s << "PPL::" << class_name << "::wrap_assign(vs, ...):" << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars.space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! The number of coefficients in the row.
-  dimension_type size_;
+  // Wrapping an empty polyhedron is a no-op.
+  if (pointset.is_empty())
+    return;
 
-  //! The vector of coefficients.
-  T vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
-#endif
-  ];
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
 
-  //! Private and unimplemented: copy construction is not allowed.
-  Impl(const Impl& y);
+  // If we are wrapping variables collectively, the ranges for the
+  // required translations are saved in `translations' instead of being
+  // immediately applied.
+  Wrap_Translations translations;
 
-  //! Private and unimplemented: assignment is not allowed.
-  Impl& operator=(const Impl&);
+  // Dimensions subject to translation are added to this set if we are
+  // wrapping collectively or if `cs_p' is non null.
+  Variables_Set dimensions_to_be_translated;
 
-  //! Exception-safe copy construction mechanism.
-  void copy_construct(const Impl& y);
-};
+  // This will contain a lower bound to the number of abstractions
+  // to be joined in order to obtain the collective wrapping result.
+  // As soon as this exceeds `complexity_threshold', counting will be
+  // interrupted and the full range will be the result of wrapping
+  // any dimension that is not fully contained in quadrant 0.
+  unsigned collective_wrap_complexity = 1;
 
-namespace std {
+  // This flag signals that the maximum complexity for collective
+  // wrapping as been exceeded.
+  bool collective_wrap_too_complex = false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-void swap(Parma_Polyhedra_Library::DB_Row<T>& x,
-	  Parma_Polyhedra_Library::DB_Row<T>& y);
+  if (!wrap_individually) {
+    translations.reserve(space_dim);
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-void iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	       ::iterator x,
-	       typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	       ::iterator y);
+  // We use `full_range_bounds' to delay conversions whenever
+  // this delay does not negatively affect precision.
+  Constraint_System full_range_bounds;
 
-} // namespace std
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
-/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 1. */
-/* DB_Row class implementation: inline functions.
-*/
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vars_end = vars.end(); i != vars_end; ++i) {
 
+    const Variable x(*i);
 
-/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 29. */
-#include <cstddef>
-#include <limits>
-#include <algorithm>
-#include <iostream>
+    bool extremum;
 
-namespace Parma_Polyhedra_Library {
+    if (!pointset.minimize(x, l_n, l_d, extremum)) {
+    set_full_range:
+      pointset.unconstrain(x);
+      full_range_bounds.insert(min_value <= x);
+      full_range_bounds.insert(x <= max_value);
+      continue;
+    }
 
-template <typename T>
-inline void*
-DB_Row_Impl_Handler<T>::Impl::operator new(const size_t fixed_size,
-					   const dimension_type capacity) {
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  return ::operator new(fixed_size + capacity*sizeof(T));
-#else
-  PPL_ASSERT(capacity >= 1);
-  return ::operator new(fixed_size + (capacity-1)*sizeof(T));
-#endif
-}
+    if (!pointset.maximize(x, u_n, u_d, extremum))
+      goto set_full_range;
 
-template <typename T>
-inline void
-DB_Row_Impl_Handler<T>::Impl::operator delete(void* p) {
-  ::operator delete(p);
-}
+    div_assign_r(l_n, l_n, l_d, ROUND_DOWN);
+    div_assign_r(u_n, u_n, u_d, ROUND_DOWN);
+    l_n -= min_value;
+    u_n -= min_value;
+    div_2exp_assign_r(l_n, l_n, w, ROUND_DOWN);
+    div_2exp_assign_r(u_n, u_n, w, ROUND_DOWN);
+    Coefficient& first_quadrant = l_n;
+    Coefficient& last_quadrant = u_n;
 
-template <typename T>
-inline void
-DB_Row_Impl_Handler<T>::Impl::operator delete(void* p, dimension_type) {
-  ::operator delete(p);
-}
+    // Special case: this variable does not need wrapping.
+    if (first_quadrant == 0 && last_quadrant == 0)
+      continue;
 
-template <typename T>
-inline memory_size_type
-DB_Row_Impl_Handler<T>::Impl
-::total_memory_in_bytes(dimension_type capacity) const {
-  return
-    sizeof(*this)
-    + capacity*sizeof(T)
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-    - 1*sizeof(T)
-#endif
-    + external_memory_in_bytes();
-}
+    // If overflow is impossible, try not to add useless constraints.
+    if (o == OVERFLOW_IMPOSSIBLE) {
+      if (first_quadrant < 0)
+        full_range_bounds.insert(min_value <= x);
+      if (last_quadrant > 0)
+        full_range_bounds.insert(x <= max_value);
+      continue;
+    }
 
-template <typename T>
-inline memory_size_type
-DB_Row_Impl_Handler<T>::Impl::total_memory_in_bytes() const {
-  // In general, this is a lower bound, as the capacity of *this
-  // may be strictly greater than `size_'
-  return total_memory_in_bytes(size_);
-}
+    if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex)
+      goto set_full_range;
 
-template <typename T>
-inline dimension_type
-DB_Row_Impl_Handler<T>::Impl::max_size() {
-  return std::numeric_limits<size_t>::max() / sizeof(T);
-}
+    Coefficient& quadrants = u_d;
+    quadrants = last_quadrant - first_quadrant + 1;
 
-template <typename T>
-inline dimension_type
-DB_Row_Impl_Handler<T>::Impl::size() const {
-  return size_;
-}
+    PPL_UNINITIALIZED(unsigned, extension);
+    Result res = assign_r(extension, quadrants, ROUND_IGNORE);
+    if (result_overflow(res) != 0 || extension > complexity_threshold)
+      goto set_full_range;
 
-template <typename T>
-inline void
-DB_Row_Impl_Handler<T>::Impl::set_size(const dimension_type new_sz) {
-  size_ = new_sz;
-}
+    if (!wrap_individually && !collective_wrap_too_complex) {
+      res = mul_assign_r(collective_wrap_complexity,
+                         collective_wrap_complexity, extension, ROUND_IGNORE);
+      if (result_overflow(res) != 0
+          || collective_wrap_complexity > complexity_threshold)
+        collective_wrap_too_complex = true;
+      if (collective_wrap_too_complex) {
+        // Set all the dimensions in `translations' to full range.
+        for (Wrap_Translations::const_iterator j = translations.begin(),
+               translations_end = translations.end();
+             j != translations_end;
+             ++j) {
+          const Variable y(j->var);
+          pointset.unconstrain(y);
+          full_range_bounds.insert(min_value <= y);
+          full_range_bounds.insert(y <= max_value);
+        }
+      }
+    }
 
-template <typename T>
-inline void
-DB_Row_Impl_Handler<T>::Impl::bump_size() {
-  ++size_;
-}
+    if (wrap_individually && cs_p == 0) {
+      Coefficient& quadrant = first_quadrant;
+      // Temporary variable holding the shifts to be applied in order
+      // to implement the translations.
+      Coefficient& shift = l_d;
+      PSET hull(space_dim, EMPTY);
+      for ( ; quadrant <= last_quadrant; ++quadrant) {
+        PSET p(pointset);
+        if (quadrant != 0) {
+          mul_2exp_assign(shift, quadrant, w);
+          p.affine_image(x, x - shift, 1);
+        }
+        p.refine_with_constraint(min_value <= x);
+        p.refine_with_constraint(x <= max_value);
+        hull.upper_bound_assign(p);
+      }
+      pointset.m_swap(hull);
+    }
+    else if (wrap_individually || !collective_wrap_too_complex) {
+      PPL_ASSERT(!wrap_individually || cs_p != 0);
+      dimensions_to_be_translated.insert(x);
+      translations
+        .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant));
+    }
+  }
+
+  if (!translations.empty()) {
+    if (wrap_individually) {
+      PPL_ASSERT(cs_p != 0);
+      wrap_assign_ind(pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, *cs_p, l_n, l_d);
+    }
+    else {
+      PSET hull(space_dim, EMPTY);
+      wrap_assign_col(hull, pointset, dimensions_to_be_translated,
+                      translations.begin(), translations.end(),
+                      w, min_value, max_value, cs_p, l_n);
+      pointset.m_swap(hull);
+    }
+  }
 
-template <typename T>
-inline
-DB_Row_Impl_Handler<T>::Impl::Impl()
-  : size_(0) {
+  if (cs_p != 0)
+    pointset.refine_with_constraints(*cs_p);
+  pointset.refine_with_constraints(full_range_bounds);
 }
 
-template <typename T>
-inline
-DB_Row_Impl_Handler<T>::Impl::~Impl() {
-  shrink(0);
-}
+} // namespace Implementation
 
-template <typename T>
-inline
-DB_Row_Impl_Handler<T>::DB_Row_Impl_Handler()
-  : impl(0) {
-#if PPL_DB_ROW_EXTRA_DEBUG
-  capacity_ = 0;
-#endif
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-inline
-DB_Row_Impl_Handler<T>::~DB_Row_Impl_Handler() {
-  delete impl;
-}
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 36. */
+#include <algorithm>
 
-template <typename T>
-inline T&
-DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline const T&
-DB_Row_Impl_Handler<T>::Impl::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < size());
-  return vec_[k];
-}
+namespace Implementation {
 
-template <typename T>
-inline dimension_type
-DB_Row<T>::max_size() {
-  return DB_Row_Impl_Handler<T>::Impl::max_size();
-}
+namespace Octagonal_Shapes {
 
-template <typename T>
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns the index coherent to \p i.
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 inline dimension_type
-DB_Row<T>::size() const {
-  return this->impl->size();
+coherent_index(const dimension_type i) {
+  return (i % 2 != 0) ? (i-1) : (i+1);
 }
 
-#if PPL_DB_ROW_EXTRA_DEBUG
+} // namespace Octagonal_Shapes
+
+} // namespace Implementation
+
 template <typename T>
 inline dimension_type
-DB_Row<T>::capacity() const {
-  return this->capacity_;
+Octagonal_Shape<T>::max_space_dimension() {
+  return OR_Matrix<N>::max_num_rows()/2;
 }
-#endif // PPL_DB_ROW_EXTRA_DEBUG
 
 template <typename T>
-inline
-DB_Row<T>::DB_Row()
-  : DB_Row_Impl_Handler<T>() {
+inline bool
+Octagonal_Shape<T>::marked_zero_dim_univ() const {
+  return status.test_zero_dim_univ();
 }
 
 template <typename T>
-inline void
-DB_Row<T>::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       const
-#endif
-	       dimension_type capacity) {
-  DB_Row<T>& x = *this;
-  PPL_ASSERT(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity == 0)
-    ++capacity;
-#endif
-  PPL_ASSERT(x.impl == 0);
-  x.impl = new (capacity) typename DB_Row_Impl_Handler<T>::Impl();
-#if PPL_DB_ROW_EXTRA_DEBUG
-  PPL_ASSERT(x.capacity_ == 0);
-  x.capacity_ = capacity;
-#endif
+inline bool
+Octagonal_Shape<T>::marked_strongly_closed() const {
+  return status.test_strongly_closed();
 }
 
 template <typename T>
-inline void
-DB_Row<T>::expand_within_capacity(const dimension_type new_size) {
-  DB_Row<T>& x = *this;
-  PPL_ASSERT(x.impl);
-#if PPL_DB_ROW_EXTRA_DEBUG
-  PPL_ASSERT(new_size <= x.capacity_);
-#endif
-  x.impl->expand_within_capacity(new_size);
+inline bool
+Octagonal_Shape<T>::marked_empty() const {
+  return status.test_empty();
 }
 
 template <typename T>
 inline void
-DB_Row<T>::copy_construct_coefficients(const DB_Row& y) {
-  DB_Row<T>& x = *this;
-  PPL_ASSERT(x.impl && y.impl);
-#if PPL_DB_ROW_EXTRA_DEBUG
-  PPL_ASSERT(y.size() <= x.capacity_);
-#endif
-  x.impl->copy_construct_coefficients(*(y.impl));
+Octagonal_Shape<T>::set_zero_dim_univ() {
+  status.set_zero_dim_univ();
 }
 
 template <typename T>
-template <typename U>
 inline void
-DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
-					  const dimension_type capacity) {
-  DB_Row<T>& x = *this;
-  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity);
-  PPL_ASSERT(y.impl);
-  x.impl->construct_upward_approximation(*(y.impl));
+Octagonal_Shape<T>::set_empty() {
+  status.set_empty();
 }
 
 template <typename T>
 inline void
-DB_Row<T>::construct(const dimension_type sz,
-		     const dimension_type capacity) {
-  PPL_ASSERT(sz <= capacity && capacity <= max_size());
-  allocate(capacity);
-  expand_within_capacity(sz);
+Octagonal_Shape<T>::set_strongly_closed() {
+  status.set_strongly_closed();
 }
 
 template <typename T>
 inline void
-DB_Row<T>::construct(const dimension_type sz) {
-  construct(sz, sz);
+Octagonal_Shape<T>::reset_strongly_closed() {
+  status.reset_strongly_closed();
 }
 
 template <typename T>
 inline
-DB_Row<T>::DB_Row(const dimension_type sz,
-		  const dimension_type capacity)
-  : DB_Row_Impl_Handler<T>() {
-  construct(sz, capacity);
+Octagonal_Shape<T>::Octagonal_Shape(const dimension_type num_dimensions,
+				    const Degenerate_Element kind)
+  : matrix(num_dimensions), space_dim(num_dimensions), status() {
+  if (kind == EMPTY)
+    set_empty();
+  else if (num_dimensions > 0)
+    // A (non zero-dim) universe octagon is strongly closed.
+    set_strongly_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
 inline
-DB_Row<T>::DB_Row(const dimension_type sz) {
-  construct(sz);
+Octagonal_Shape<T>::Octagonal_Shape(const Octagonal_Shape& y, Complexity_Class)
+  : matrix(y.matrix), space_dim(y.space_dim), status(y.status) {
 }
 
 template <typename T>
+template <typename U>
 inline
-DB_Row<T>::DB_Row(const DB_Row& y)
-  : DB_Row_Impl_Handler<T>() {
-  if (y.impl) {
-    allocate(compute_capacity(y.size(), max_size()));
-    copy_construct_coefficients(y);
-  }
+Octagonal_Shape<T>::Octagonal_Shape(const Octagonal_Shape<U>& y,
+                                    Complexity_Class)
+  // For maximum precision, enforce shortest-path closure
+  // before copying the DB matrix.
+  : matrix((y.strong_closure_assign(), y.matrix)),
+    space_dim(y.space_dim),
+    status() {
+  // TODO: handle flags properly, possibly taking special cases into account.
+  if (y.marked_empty())
+    set_empty();
+  else if (y.marked_zero_dim_univ())
+    set_zero_dim_univ();
 }
 
 template <typename T>
 inline
-DB_Row<T>::DB_Row(const DB_Row& y,
-		  const	dimension_type capacity)
-  : DB_Row_Impl_Handler<T>() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity);
-  copy_construct_coefficients(y);
+Octagonal_Shape<T>::Octagonal_Shape(const Constraint_System& cs)
+  : matrix(cs.space_dimension()),
+    space_dim(cs.space_dimension()),
+    status() {
+  if (cs.space_dimension() > 0)
+    // A (non zero-dim) universe octagon is strongly closed.
+    set_strongly_closed();
+  add_constraints(cs);
 }
 
 template <typename T>
 inline
-DB_Row<T>::DB_Row(const DB_Row& y,
-		  const dimension_type sz,
-		  const	dimension_type capacity)
-  : DB_Row_Impl_Handler<T>() {
-  PPL_ASSERT(y.impl);
-  PPL_ASSERT(y.size() <= sz && sz <= capacity && capacity <= max_size());
-  allocate(capacity);
-  copy_construct_coefficients(y);
-  expand_within_capacity(sz);
+Octagonal_Shape<T>::Octagonal_Shape(const Congruence_System& cgs)
+  : matrix(cgs.space_dimension()),
+    space_dim(cgs.space_dimension()),
+    status() {
+  if (cgs.space_dimension() > 0)
+    // A (non zero-dim) universe octagon is strongly closed.
+    set_strongly_closed();
+  add_congruences(cgs);
 }
 
 template <typename T>
+template <typename Interval>
 inline
-DB_Row<T>::~DB_Row() {
+Octagonal_Shape<T>::Octagonal_Shape(const Box<Interval>& box,
+                                    Complexity_Class)
+  : matrix(box.space_dimension()),
+    space_dim(box.space_dimension()),
+    status() {
+  // Check for emptiness for maximum precision.
+  if (box.is_empty())
+    set_empty();
+  else if (box.space_dimension() > 0) {
+    // A (non zero-dim) universe OS is strongly closed.
+    set_strongly_closed();
+    refine_with_constraints(box.constraints());
+  }
 }
 
 template <typename T>
-inline void
-DB_Row<T>::shrink(const dimension_type new_size) {
-  DB_Row<T>& x = *this;
-  PPL_ASSERT(x.impl);
-  x.impl->shrink(new_size);
+inline
+Octagonal_Shape<T>::Octagonal_Shape(const Grid& grid,
+                                    Complexity_Class)
+  : matrix(grid.space_dimension()),
+    space_dim(grid.space_dimension()),
+    status() {
+  if (grid.space_dimension() > 0)
+    // A (non zero-dim) universe OS is strongly closed.
+    set_strongly_closed();
+  // Taking minimized congruences ensures maximum precision.
+  refine_with_congruences(grid.minimized_congruences());
 }
 
 template <typename T>
-inline void
-DB_Row<T>::swap(DB_Row& y) {
-  DB_Row<T>& x = *this;
-  std::swap(x.impl, y.impl);
-#if PPL_DB_ROW_EXTRA_DEBUG
-  std::swap(x.capacity_, y.capacity_);
-#endif
+template <typename U>
+inline
+Octagonal_Shape<T>::Octagonal_Shape(const BD_Shape<U>& bd,
+                                    Complexity_Class)
+  : matrix(bd.space_dimension()),
+    space_dim(bd.space_dimension()),
+    status() {
+  // Check for emptiness for maximum precision.
+  if (bd.is_empty())
+    set_empty();
+  else if (bd.space_dimension() > 0) {
+    // A (non zero-dim) universe OS is strongly closed.
+    set_strongly_closed();
+    refine_with_constraints(bd.constraints());
+  }
 }
 
 template <typename T>
-inline void
-DB_Row<T>::assign(DB_Row& y) {
-  DB_Row<T>& x = *this;
-  x.impl = y.impl;
-#if PPL_DB_ROW_EXTRA_DEBUG
-  x.capacity_ = y.capacity_;
-#endif
+inline Congruence_System
+Octagonal_Shape<T>::congruences() const {
+  return minimized_congruences();
 }
 
 template <typename T>
-inline DB_Row<T>&
-DB_Row<T>::operator=(const DB_Row& y) {
-  // Copy-construct `tmp' from `y'.
-  DB_Row tmp(y);
-  // Swap the implementation of `*this' with the one of `tmp'.
-  swap(tmp);
-  // Now `tmp' goes out of scope, so the old `*this' will be destroyed.
+inline Octagonal_Shape<T>&
+Octagonal_Shape<T>::operator=(const Octagonal_Shape& y) {
+  matrix = y.matrix;
+  space_dim = y.space_dim;
+  status = y.status;
   return *this;
 }
 
 template <typename T>
-inline T&
-DB_Row<T>::operator[](const dimension_type k) {
-  DB_Row<T>& x = *this;
-  return (*x.impl)[k];
+inline
+Octagonal_Shape<T>::~Octagonal_Shape() {
 }
 
 template <typename T>
-inline const T&
-DB_Row<T>::operator[](const dimension_type k) const {
-  const DB_Row<T>& x = *this;
-  return (*x.impl)[k];
+inline void
+Octagonal_Shape<T>::m_swap(Octagonal_Shape& y) {
+  using std::swap;
+  swap(matrix, y.matrix);
+  swap(space_dim, y.space_dim);
+  swap(status, y.status);
 }
 
 template <typename T>
-inline typename DB_Row<T>::iterator
-DB_Row<T>::begin() {
-  DB_Row<T>& x = *this;
-  return iterator(x.impl->vec_);
+inline dimension_type
+Octagonal_Shape<T>::space_dimension() const {
+  return space_dim;
 }
 
 template <typename T>
-inline typename DB_Row<T>::iterator
-DB_Row<T>::end() {
-  DB_Row<T>& x = *this;
-  return iterator(x.impl->vec_ + x.impl->size_);
+inline bool
+Octagonal_Shape<T>::is_discrete() const {
+  return affine_dimension() == 0;
 }
 
 template <typename T>
-inline typename DB_Row<T>::const_iterator
-DB_Row<T>::begin() const {
-  const DB_Row<T>& x = *this;
-  return const_iterator(x.impl->vec_);
+inline bool
+Octagonal_Shape<T>::is_empty() const {
+  strong_closure_assign();
+  return marked_empty();
 }
 
 template <typename T>
-inline typename DB_Row<T>::const_iterator
-DB_Row<T>::end() const {
-  const DB_Row<T>& x = *this;
-  return const_iterator(x.impl->vec_ + x.impl->size_);
+inline bool
+Octagonal_Shape<T>::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
 }
 
 template <typename T>
-inline memory_size_type
-DB_Row<T>::external_memory_in_bytes(dimension_type capacity) const {
-  const DB_Row<T>& x = *this;
-  return x.impl->total_memory_in_bytes(capacity);
+inline bool
+Octagonal_Shape<T>::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
 }
 
 template <typename T>
-inline memory_size_type
-DB_Row<T>::total_memory_in_bytes(dimension_type capacity) const {
-  return sizeof(*this) + external_memory_in_bytes(capacity);
+inline bool
+Octagonal_Shape<T>::maximize(const Linear_Expression& expr,
+			     Coefficient& sup_n, Coefficient& sup_d,
+			     bool& maximum) const {
+  return max_min(expr, true, sup_n, sup_d, maximum);
 }
 
 template <typename T>
-inline memory_size_type
-DB_Row<T>::external_memory_in_bytes() const {
-  const DB_Row<T>& x = *this;
-#if PPL_DB_ROW_EXTRA_DEBUG
-  return x.impl->total_memory_in_bytes(x.capacity_);
-#else
-  return x.impl->total_memory_in_bytes();
-#endif
+inline bool
+Octagonal_Shape<T>::maximize(const Linear_Expression& expr,
+			     Coefficient& sup_n, Coefficient& sup_d,
+			     bool& maximum,
+			     Generator& g) const {
+  return max_min(expr, true, sup_n, sup_d, maximum, g);
 }
 
 template <typename T>
-inline memory_size_type
-DB_Row<T>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline bool
+Octagonal_Shape<T>::minimize(const Linear_Expression& expr,
+			     Coefficient& inf_n, Coefficient& inf_d,
+			     bool& minimum) const {
+  return max_min(expr, false, inf_n, inf_d, minimum);
 }
 
-/*! \relates DB_Row */
 template <typename T>
 inline bool
-operator!=(const DB_Row<T>& x, const DB_Row<T>& y) {
-  return !(x == y);
+Octagonal_Shape<T>::minimize(const Linear_Expression& expr,
+			     Coefficient& inf_n, Coefficient& inf_d,
+			     bool& minimum,
+			     Generator& g) const {
+  return max_min(expr, false, inf_n, inf_d, minimum, g);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::DB_Row */
 template <typename T>
-inline void
-swap(Parma_Polyhedra_Library::DB_Row<T>& x,
-     Parma_Polyhedra_Library::DB_Row<T>& y) {
-  x.swap(y);
+inline bool
+Octagonal_Shape<T>::is_topologically_closed() const {
+  return true;
 }
 
-/*! \relates Parma_Polyhedra_Library::DB_Row */
 template <typename T>
 inline void
-iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	  ::iterator x,
-	  typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
-	  ::iterator y) {
-  swap(*x, *y);
+Octagonal_Shape<T>::topological_closure_assign() {
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/DB_Row.templates.hh line 1. */
-/* DB_Row class implementation: non-inline template functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/DB_Row.templates.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
+/*! \relates Octagonal_Shape */
 template <typename T>
-template <typename U>
-void
-DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const U& y) {
-  const dimension_type y_size = y.size();
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = 0; i < y_size; ++i) {
-    construct(vec_[i], y[i], ROUND_UP);
-    bump_size();
-  }
-#else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (y_size > 0) {
-    assign_r(vec_[0], y[0], ROUND_UP);
-    bump_size();
-    // Construct in direct order: will destroy in reverse order.
-    for (dimension_type i = 1; i < y_size; ++i) {
-      construct(vec_[i], y[i], ROUND_UP);
-      bump_size();
-    }
-  }
-#endif // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-}
+inline bool
+operator==(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y) {
+  if (x.space_dim != y.space_dim)
+    // Dimension-incompatible OSs are different.
+    return false;
 
-template <typename T>
-void
-DB_Row_Impl_Handler<T>::
-Impl::expand_within_capacity(const dimension_type new_size) {
-  PPL_ASSERT(size() <= new_size && new_size <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (size() == 0 && new_size > 0) {
-    // vec_[0] is already constructed: we just need to assign +infinity.
-    assign_r(vec_[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    bump_size();
-  }
-#endif
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = size(); i < new_size; ++i) {
-    new (&vec_[i]) T(PLUS_INFINITY, ROUND_NOT_NEEDED);
-    bump_size();
+  // Zero-dim OSs are equal if and only if they are both empty or universe.
+  if (x.space_dim == 0) {
+    if (x.marked_empty())
+      return y.marked_empty();
+    else
+      return !y.marked_empty();
   }
-}
-
-template <typename T>
-void
-DB_Row_Impl_Handler<T>::Impl::shrink(dimension_type new_size) {
-  const dimension_type old_size = size();
-  PPL_ASSERT(new_size <= old_size);
-  // Since ~T() does not throw exceptions, nothing here does.
-  set_size(new_size);
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // Make sure we do not try to destroy vec_[0].
-  if (new_size == 0)
-    ++new_size;
-#endif
-  // We assume construction was done "forward".
-  // We thus perform destruction "backward".
-  for (dimension_type i = old_size; i-- > new_size; )
-    vec_[i].~T();
-}
 
-template <typename T>
-void
-DB_Row_Impl_Handler<T>::Impl::copy_construct_coefficients(const Impl& y) {
-  const dimension_type y_size = y.size();
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = 0; i < y_size; ++i) {
-    new (&vec_[i]) T(y.vec_[i]);
-    bump_size();
-  }
-#else // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (y_size > 0) {
-    vec_[0] = y.vec_[0];
-    bump_size();
-    // Construct in direct order: will destroy in reverse order.
-    for (dimension_type i = 1; i < y_size; ++i) {
-      new (&vec_[i]) T(y.vec_[i]);
-      bump_size();
-    }
-  }
-#endif // PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+  x.strong_closure_assign();
+  y.strong_closure_assign();
+  // If one of two octagons is empty, then they are equal if and only if
+  // the other octagon is empty too.
+  if (x.marked_empty())
+    return y.marked_empty();
+  if (y.marked_empty())
+    return false;
+  // Strong closure is a canonical form.
+  return x.matrix == y.matrix;
 }
 
+/*! \relates Octagonal_Shape */
 template <typename T>
-memory_size_type
-DB_Row_Impl_Handler<T>::Impl::external_memory_in_bytes() const {
-  memory_size_type n = 0;
-  for (dimension_type i = size(); i-- > 0; )
-    n += Parma_Polyhedra_Library::external_memory_in_bytes(vec_[i]);
-  return n;
+inline bool
+operator!=(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y) {
+  return !(x == y);
 }
 
 template <typename T>
-bool
-DB_Row<T>::OK(const dimension_type row_size,
-	      const dimension_type
-#if PPL_DB_ROW_EXTRA_DEBUG
-	      row_capacity
-#endif
-	      ) const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-
-  const DB_Row<T>& x = *this;
-  bool is_broken = false;
-
-#if PPL_DB_ROW_EXTRA_DEBUG
-# if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (x.capacity_ == 0) {
-    cerr << "Illegal row capacity: is 0, should be at least 1"
-	 << endl;
-    is_broken = true;
-  }
-  else if (x.capacity_ == 1 && row_capacity == 0)
-    // This is fine.
-    ;
-  else
-# endif // !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (x.capacity_ != row_capacity) {
-    cerr << "DB_Row capacity mismatch: is " << x.capacity_
-	 << ", should be " << row_capacity << "."
-	 << endl;
-    is_broken = true;
-  }
-#endif // PPL_DB_ROW_EXTRA_DEBUG
+inline const typename Octagonal_Shape<T>::coefficient_type&
+Octagonal_Shape<T>::matrix_at(const dimension_type i,
+			      const dimension_type j) const {
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
+  return (j < matrix.row_size(i))
+    ? matrix[i][j]
+    : matrix[coherent_index(j)][coherent_index(i)];
+}
 
-  if (x.size() != row_size) {
-#ifndef NDEBUG
-    cerr << "DB_Row size mismatch: is " << x.size()
-	 << ", should be " << row_size << "."
-	 << endl;
-#endif
-    is_broken = true;
-  }
+template <typename T>
+inline typename Octagonal_Shape<T>::coefficient_type&
+Octagonal_Shape<T>::matrix_at(const dimension_type i,
+			      const dimension_type j) {
+  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
+  using namespace Implementation::Octagonal_Shapes;
+  return (j < matrix.row_size(i))
+    ? matrix[i][j]
+    : matrix[coherent_index(j)][coherent_index(i)];
+}
 
-#if PPL_DB_ROW_EXTRA_DEBUG
-  if (x.capacity_ < x.size()) {
+template <typename T>
+inline Constraint_System
+Octagonal_Shape<T>::minimized_constraints() const {
+  strong_reduction_assign();
+  return constraints();
+}
+
+template <typename T>
+inline void
+Octagonal_Shape<T>::add_octagonal_constraint(const dimension_type i,
+					     const dimension_type j,
+					     const N& k) {
+  // Private method: the caller has to ensure the following.
 #ifndef NDEBUG
-    cerr << "DB_Row is completely broken: capacity is " << x.capacity_
-	 << ", size is " << x.size() << "."
-	 << endl;
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
+  typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
+  PPL_ASSERT(j < m_i.row_size());
 #endif
-    is_broken = true;
+  N& r_i_j = matrix[i][j];
+  if (r_i_j > k) {
+    r_i_j = k;
+    if (marked_strongly_closed())
+      reset_strongly_closed();
   }
-#endif // PPL_DB_ROW_EXTRA_DEBUG
+}
 
-  for (dimension_type i = x.size(); i-- > 0; ) {
-    const T& element = x[i];
-    // Not OK is bad.
-    if (!element.OK()) {
-      is_broken = true;
-      break;
-    }
-    // In addition, nans should never occur.
-    if (is_not_a_number(element)) {
+template <typename T>
+inline void
+Octagonal_Shape<T>
+::add_octagonal_constraint(const dimension_type i,
+			   const dimension_type j,
+			   Coefficient_traits::const_reference numer,
+			   Coefficient_traits::const_reference denom) {
 #ifndef NDEBUG
-      cerr << "Not-a-number found in DB_Row."
-	   << endl;
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
+  typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
+  PPL_ASSERT(j < m_i.row_size());
+  PPL_ASSERT(denom != 0);
 #endif
-      is_broken = true;
-      break;
-    }
-  }
+  PPL_DIRTY_TEMP(N, k);
+  div_round_up(k, numer, denom);
+  add_octagonal_constraint(i, j, k);
+}
 
-  return !is_broken;
+template <typename T>
+inline void
+Octagonal_Shape<T>::add_constraints(const Constraint_System& cs) {
+  for (Constraint_System::const_iterator i = cs.begin(),
+         i_end = cs.end(); i != i_end; ++i)
+    add_constraint(*i);
 }
 
-/*! \relates DB_Row */
 template <typename T>
-bool
-operator==(const DB_Row<T>& x, const DB_Row<T>& y) {
-  if (x.size() != y.size())
-    return false;
-  for (dimension_type i = x.size(); i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
+inline void
+Octagonal_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
+  add_constraints(cs);
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename T>
+inline void
+Octagonal_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 474. */
+template <typename T>
+inline void
+Octagonal_Shape<T>::add_congruences(const Congruence_System& cgs) {
+  for (Congruence_System::const_iterator i = cgs.begin(),
+         cgs_end = cgs.end(); i != cgs_end; ++i)
+    add_congruence(*i);
+}
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 32. */
-#include <vector>
-#include <cstddef>
-#include <iosfwd>
+template <typename T>
+inline void
+Octagonal_Shape<T>::refine_with_constraint(const Constraint& c) {
+  // Dimension-compatibility check.
+  if (c.space_dimension() > space_dimension())
+    throw_dimension_incompatible("refine_with_constraint(c)", c);
 
-namespace Parma_Polyhedra_Library {
+  if (!marked_empty())
+    refine_no_check(c);
+}
 
-namespace IO_Operators {
+template <typename T>
+inline void
+Octagonal_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_invalid_argument("refine_with_constraints(cs)",
+                           "cs and *this are space-dimension incompatible");
+
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
+    refine_no_check(*i);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-std::ostream&
-operator<<(std::ostream& s, const DB_Matrix<T>& c);
+inline void
+Octagonal_Shape<T>::refine_with_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dimension())
+    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
 
-} // namespace IO_Operators
+  if (!marked_empty())
+    refine_no_check(cg);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T>
+void
+Octagonal_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
+  // Dimension-compatibility check.
+  if (cgs.space_dimension() > space_dimension())
+    throw_invalid_argument("refine_with_congruences(cgs)",
+                           "cgs and *this are space-dimension incompatible");
 
+  for (Congruence_System::const_iterator i = cgs.begin(),
+	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
+    refine_no_check(*i);
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for the square matrices.
-/*! \ingroup PPL_CXX_interface
-  The template class DB_Matrix<T> allows for the representation of
-  a square matrix of T objects.
-  Each DB_Matrix<T> object can be viewed as a multiset of DB_Row<T>.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-class Parma_Polyhedra_Library::DB_Matrix {
-public:
-  //! Returns the maximum number of rows a DB_Matrix can handle.
-  static dimension_type max_num_rows();
+inline void
+Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
-  //! Returns the maximum number of columns a DB_Matrix can handle.
-  static dimension_type max_num_columns();
+  if (cg.is_proper_congruence()) {
+    if (cg.is_inconsistent())
+      set_empty();
+    // Other proper congruences are just ignored.
+    return;
+  }
 
-  //! Builds an empty matrix.
-  /*!
-    DB_Rows' size and capacity are initialized to \f$0\f$.
-  */
-  DB_Matrix();
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  refine_no_check(c);
+}
 
-  //! Builds a square matrix having the specified dimension.
-  explicit DB_Matrix(dimension_type n_rows);
+template <typename T>
+inline bool
+Octagonal_Shape<T>::can_recycle_constraint_systems() {
+  return false;
+}
 
-  //! Copy constructor.
-  DB_Matrix(const DB_Matrix& y);
+template <typename T>
+inline bool
+Octagonal_Shape<T>::can_recycle_congruence_systems() {
+  return false;
+}
 
-  //! Constructs a conservative approximation of \p y.
-  template <typename U>
-  explicit DB_Matrix(const DB_Matrix<U>& y);
+template <typename T>
+inline void
+Octagonal_Shape<T>
+::remove_higher_space_dimensions(const dimension_type new_dimension) {
+  // Dimension-compatibility check.
+  if (new_dimension > space_dim)
+    throw_dimension_incompatible("remove_higher_space_dimension(nd)",
+				 new_dimension);
+  // The removal of no dimensions from any octagon is a no-op.
+  // Note that this case also captures the only legal removal of
+  // dimensions from an octagon in a 0-dim space.
+  if (new_dimension == space_dim) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  //! Destructor.
-  ~DB_Matrix();
+  strong_closure_assign();
+  matrix.shrink(new_dimension);
+  // When we remove all dimensions from a non-empty octagon,
+  // we obtain the zero-dimensional universe octagon.
+  if (new_dimension == 0 && !marked_empty())
+    set_zero_dim_univ();
+  space_dim = new_dimension;
+  PPL_ASSERT(OK());
+}
 
-  //! Assignment operator.
-  DB_Matrix& operator=(const DB_Matrix& y);
+template <typename T>
+void
+Octagonal_Shape<T>::wrap_assign(const Variables_Set& vars,
+                                Bounded_Integer_Type_Width w,
+                                Bounded_Integer_Type_Representation r,
+                                Bounded_Integer_Type_Overflow o,
+                                const Constraint_System* cs_p,
+                                unsigned complexity_threshold,
+                                bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, cs_p,
+                              complexity_threshold, wrap_individually,
+                              "Octagonal_Shape");
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! A read-only iterator over the rows of the matrix.
-  /*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  class const_iterator {
-  private:
-    typedef typename std::vector<DB_Row<T> >::const_iterator Iter;
-    //! The const iterator on the rows' vector \p rows.
-    Iter i;
+template <typename T>
+inline void
+Octagonal_Shape<T>::widening_assign(const Octagonal_Shape& y, unsigned* tp) {
+  BHMZ05_widening_assign(y, tp);
+}
 
-  public:
-    typedef std::forward_iterator_tag iterator_category;
-    typedef typename std::iterator_traits<Iter>::value_type value_type;
-    typedef typename std::iterator_traits<Iter>::difference_type
-    difference_type;
-    typedef typename std::iterator_traits<Iter>::pointer pointer;
-    typedef typename std::iterator_traits<Iter>::reference reference;
+template <typename T>
+inline void
+Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
+					      unsigned* tp) {
+  static N stop_points[] = {
+    N(-2, ROUND_UP),
+    N(-1, ROUND_UP),
+    N( 0, ROUND_UP),
+    N( 1, ROUND_UP),
+    N( 2, ROUND_UP)
+  };
+  CC76_extrapolation_assign(y,
+			    stop_points,
+			    stop_points
+			    + sizeof(stop_points)/sizeof(stop_points[0]),
+			    tp);
+}
 
-    //! Default constructor.
-    const_iterator();
+template <typename T>
+inline void
+Octagonal_Shape<T>::time_elapse_assign(const Octagonal_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("time_elapse_assign(y)", y);
+  // Compute time-elapse on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.time_elapse_assign(ph_y);
+  Octagonal_Shape<T> x(ph_x);
+  m_swap(x);
+  PPL_ASSERT(OK());
+}
 
-    /*! \brief
-      Builds a const iterator on the matrix starting from
-      an iterator \p b on the elements of the vector \p rows.
-    */
-    explicit const_iterator(const Iter& b);
+template <typename T>
+inline bool
+Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
+  const Octagonal_Shape<T>& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
-    //! Ordinary copy constructor.
-    const_iterator(const const_iterator& y);
+template <typename T>
+template <typename Interval_Info>
+inline void
+Octagonal_Shape<T>::generalized_refine_with_linear_form_inequality(
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right,
+                    const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right);
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case LESS_THAN:
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right);
+    break;
+  case GREATER_THAN:
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+    break;
+  }
+}
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+template <typename T>
+template <typename Interval_Info>
+inline void
+Octagonal_Shape<T>::
+refine_fp_interval_abstract_store(
+	  Box< Interval<T, Interval_Info> >& store) const {
 
-    //! Dereference operator.
-    reference operator*() const;
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
 
-    //! Indirect member selector.
-    pointer operator->() const;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+}
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Octagonal_Shape<T>& x,
+			    const Octagonal_Shape<T>& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  // Dimension-compatibility check.
+  if (x.space_dim != y.space_dim)
+    return false;
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) const;
+  // Zero-dim OSs are equal if and only if they are both empty or universe.
+  if (x.space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
-  };
+  // The distance computation requires strong closure.
+  x.strong_closure_assign();
+  y.strong_closure_assign();
 
-  /*! \brief
-    Returns the const_iterator pointing to the first row,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
+  // If one of two OSs is empty, then they are equal if and only if
+  // the other OS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  return rectilinear_distance_assign(r, x.matrix, y.matrix, dir,
+				     tmp0, tmp1, tmp2);
+}
 
-private:
-  template <typename U> friend class DB_Matrix;
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Octagonal_Shape<T>& x,
+			    const Octagonal_Shape<T>& y,
+			    const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! The rows of the matrix.
-  std::vector<DB_Row<T> > rows;
+/*! \relates Octagonal_Shape */
+template <typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const Octagonal_Shape<T>& x,
+			    const Octagonal_Shape<T>& y,
+			    const Rounding_Dir dir) {
+  return rectilinear_distance_assign<To, To, T>(r, x, y, dir);
+}
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Octagonal_Shape<T>& x,
+			  const Octagonal_Shape<T>& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  // Dimension-compatibility check.
+  if (x.space_dim != y.space_dim)
+    return false;
 
-  /*! \brief
-    Capacity allocated for each row, i.e., number of
-    <CODE>long</CODE> objects that each row can contain.
-  */
-  dimension_type row_capacity;
+  // Zero-dim OSs are equal if and only if they are both empty or universe.
+  if (x.space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-public:
-  //! Swaps \p *this with \p y.
-  void swap(DB_Matrix& y);
+  // The distance computation requires strong closure.
+  x.strong_closure_assign();
+  y.strong_closure_assign();
 
+  // If one of two OSs is empty, then they are equal if and only if
+  // the other OS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-  //! Makes the matrix grow by adding more rows and more columns.
-  /*!
-    \param new_n_rows
-    The number of rows and columns of the resized matrix.
+  return euclidean_distance_assign(r, x.matrix, y.matrix, dir,
+				   tmp0, tmp1, tmp2);
+}
 
-    A new matrix, with the specified dimension, is created.
-    The contents of the old matrix are copied in the upper, left-hand
-    corner of the new matrix, which is then assigned to \p *this.
-  */
-  void grow(dimension_type new_n_rows);
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Octagonal_Shape<T>& x,
+			  const Octagonal_Shape<T>& y,
+			  const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Resizes the matrix without worrying about the old contents.
-  /*!
-    \param new_n_rows
-    The number of rows and columns of the resized matrix.
+/*! \relates Octagonal_Shape */
+template <typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const Octagonal_Shape<T>& x,
+			  const Octagonal_Shape<T>& y,
+			  const Rounding_Dir dir) {
+  return euclidean_distance_assign<To, To, T>(r, x, y, dir);
+}
 
-    A new matrix, with the specified dimension, is created without copying
-    the content of the old matrix and assigned to \p *this.
-  */
-  void resize_no_copy(dimension_type new_n_rows);
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Octagonal_Shape<T>& x,
+			   const Octagonal_Shape<T>& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  // Dimension-compatibility check.
+  if (x.space_dim != y.space_dim)
+    return false;
 
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
+  // Zero-dim OSs are equal if and only if they are both empty or universe.
+  if (x.space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-  //! \name Subscript operators.
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  DB_Row<T>& operator[](dimension_type k);
+  // The distance computation requires strong closure.
+  x.strong_closure_assign();
+  y.strong_closure_assign();
 
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const DB_Row<T>& operator[](dimension_type k) const;
-  //@}
+  // If one of two OSs is empty, then they are equal if and only if
+  // the other OS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-  PPL_OUTPUT_DECLARATIONS
+  return l_infinity_distance_assign(r, x.matrix, y.matrix, dir,
+				    tmp0, tmp1, tmp2);
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+/*! \relates Octagonal_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Octagonal_Shape<T>& x,
+			   const Octagonal_Shape<T>& y,
+			   const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+/*! \relates Octagonal_Shape */
+template <typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const Octagonal_Shape<T>& x,
+			   const Octagonal_Shape<T>& y,
+			   const Rounding_Dir dir) {
+  return l_infinity_distance_assign<To, To, T>(r, x, y, dir);
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+template <typename T>
+inline memory_size_type
+Octagonal_Shape<T>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+template <typename T>
+inline int32_t
+Octagonal_Shape<T>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
+}
 
-namespace std {
+template <typename T>
+inline void
+Octagonal_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+#ifndef NDEBUG
+    Result r =
+#endif
+    floor_assign_r(elem, elem, ROUND_DOWN);
+    PPL_ASSERT(r == V_EQ);
+    reset_strongly_closed();
+  }
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/*! \relates Octagonal_Shape */
 template <typename T>
-void swap(Parma_Polyhedra_Library::DB_Matrix<T>& x,
-	  Parma_Polyhedra_Library::DB_Matrix<T>& y);
+inline void
+swap(Octagonal_Shape<T>& x, Octagonal_Shape<T>& y) {
+  x.m_swap(y);
+}
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 1. */
+/* Octagonal_Shape class implementation: non-inline template functions.
+*/
 
-namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-bool operator==(const DB_Matrix<T>& x, const DB_Matrix<T>& y);
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 35. */
+#include <vector>
+#include <deque>
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-bool operator!=(const DB_Matrix<T>& x, const DB_Matrix<T>& y);
+Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
+                                    const Complexity_Class complexity)
+  : matrix(0), space_dim(0), status() {
+  const dimension_type num_dimensions = ph.space_dimension();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates DB_Matrix
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  if (ph.marked_empty()) {
+    *this = Octagonal_Shape(num_dimensions, EMPTY);
+    return;
+  }
 
-  The direction of the approximation is specified by \p dir.
+  if (num_dimensions == 0) {
+    *this = Octagonal_Shape(num_dimensions, UNIVERSE);
+    return;
+  }
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-				 const DB_Matrix<T>& x,
-				 const DB_Matrix<T>& y,
-				 Rounding_Dir dir,
-				 Temp& tmp0,
-				 Temp& tmp1,
-				 Temp& tmp2);
+  // Build from generators when we do not care about complexity
+  // or when the process has polynomial complexity.
+  if (complexity == ANY_COMPLEXITY
+      || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) {
+    *this = Octagonal_Shape(ph.generators());
+    return;
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates DB_Matrix
-  If the Euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  // We cannot afford exponential complexity, we do not have a complete set
+  // of generators for the polyhedron, and the polyhedron is not trivially
+  // empty or zero-dimensional.  Constraints, however, are up to date.
+  PPL_ASSERT(ph.constraints_are_up_to_date());
 
-  The direction of the approximation is specified by \p dir.
+  if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
+    // If the constraint system of the polyhedron is minimized,
+    // the test `is_universe()' has polynomial complexity.
+    if (ph.is_universe()) {
+      *this = Octagonal_Shape(num_dimensions, UNIVERSE);
+      return;
+    }
+  }
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			       const DB_Matrix<T>& x,
-			       const DB_Matrix<T>& y,
-			       Rounding_Dir dir,
-			       Temp& tmp0,
-			       Temp& tmp1,
-			       Temp& tmp2);
+  // See if there is at least one inconsistent constraint in `ph.con_sys'.
+  for (Constraint_System::const_iterator i = ph.con_sys.begin(),
+         cs_end = ph.con_sys.end(); i != cs_end; ++i)
+    if (i->is_inconsistent()) {
+      *this = Octagonal_Shape(num_dimensions, EMPTY);
+      return;
+    }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates DB_Matrix
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  // If `complexity' allows it, use simplex to derive the exact (modulo
+  // the fact that our OSs are topologically closed) variable bounds.
+  if (complexity == SIMPLEX_COMPLEXITY) {
+    MIP_Problem lp(num_dimensions);
+    lp.set_optimization_mode(MAXIMIZATION);
 
-  The direction of the approximation is specified by \p dir.
+    const Constraint_System& ph_cs = ph.constraints();
+    if (!ph_cs.has_strict_inequalities())
+      lp.add_constraints(ph_cs);
+    else
+      // Adding to `lp' a topologically closed version of `ph_cs'.
+      for (Constraint_System::const_iterator i = ph_cs.begin(),
+             ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
+        const Constraint& c = *i;
+        if (c.is_strict_inequality())
+          lp.add_constraint(Linear_Expression(c) >= 0);
+        else
+          lp.add_constraint(c);
+      }
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-				 const DB_Matrix<T>& x,
-				 const DB_Matrix<T>& y,
-				 Rounding_Dir dir,
-				 Temp& tmp0,
-				 Temp& tmp1,
-				 Temp& tmp2);
+    // Check for unsatisfiability.
+    if (!lp.is_satisfiable()) {
+      *this = Octagonal_Shape<T>(num_dimensions, EMPTY);
+      return;
+    }
 
-} // namespace Parma_Polyhedra_Library
+    // Start with a universe OS that will be refined by the simplex.
+    *this = Octagonal_Shape<T>(num_dimensions, UNIVERSE);
+    // Get all the upper bounds.
+    Generator g(point());
+    PPL_DIRTY_TEMP_COEFFICIENT(numer);
+    PPL_DIRTY_TEMP_COEFFICIENT(denom);
+    for (dimension_type i = 0; i < num_dimensions; ++i) {
+      Variable x(i);
+      // Evaluate optimal upper bound for `x <= ub'.
+      lp.set_objective_function(x);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+        g = lp.optimizing_point();
+        lp.evaluate_objective_function(g, numer, denom);
+        numer *= 2;
+        div_round_up(matrix[2*i + 1][2*i], numer, denom);
+      }
+      // Evaluate optimal upper bounds for `x + y <= ub'.
+      for (dimension_type j = 0; j < i; ++j) {
+        Variable y(j);
+        lp.set_objective_function(x + y);
+        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+          g = lp.optimizing_point();
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(matrix[2*i + 1][2*j], numer, denom);
+        }
+      }
+      // Evaluate optimal upper bound for `x - y <= ub'.
+      for (dimension_type j = 0; j < num_dimensions; ++j) {
+        if (i == j)
+          continue;
+        Variable y(j);
+        lp.set_objective_function(x - y);
+        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+          g = lp.optimizing_point();
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(((i < j) ?
+                        matrix[2*j][2*i]
+                        : matrix[2*i + 1][2*j + 1]),
+                       numer, denom);
+        }
+      }
+      // Evaluate optimal upper bound for `y - x <= ub'.
+      for (dimension_type j = 0; j < num_dimensions; ++j) {
+        if (i == j)
+          continue;
+        Variable y(j);
+        lp.set_objective_function(x - y);
+        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+          g = lp.optimizing_point();
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(((i < j)
+                        ? matrix[2*j][2*i]
+                        : matrix[2*i + 1][2*j + 1]),
+                       numer, denom);
+        }
+      }
+      // Evaluate optimal upper bound for `-x - y <= ub'.
+      for (dimension_type j = 0; j < i; ++j) {
+        Variable y(j);
+        lp.set_objective_function(-x - y);
+        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+          g = lp.optimizing_point();
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(matrix[2*i][2*j + 1], numer, denom);
+        }
+      }
+      // Evaluate optimal upper bound for `-x <= ub'.
+      lp.set_objective_function(-x);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+        g = lp.optimizing_point();
+        lp.evaluate_objective_function(g, numer, denom);
+        numer *= 2;
+        div_round_up(matrix[2*i][2*i + 1], numer, denom);
+      }
+    }
+    set_strongly_closed();
+    PPL_ASSERT(OK());
+    return;
+  }
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 1. */
-/* DB_Matrix class implementation: inline functions.
-*/
+  // Extract easy-to-find bounds from constraints.
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
+  *this = Octagonal_Shape(num_dimensions, UNIVERSE);
+  refine_with_constraints(ph.constraints());
+}
 
+template <typename T>
+Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
+  : matrix(gs.space_dimension()),
+    space_dim(gs.space_dimension()),
+    status() {
+  const Generator_System::const_iterator gs_begin = gs.begin();
+  const Generator_System::const_iterator gs_end = gs.end();
+  if (gs_begin == gs_end) {
+    // An empty generator system defines the empty polyhedron.
+    set_empty();
+    return;
+  }
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 31. */
-#include <iostream>
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typename OR_Matrix<N>::row_iterator mat_begin = matrix.row_begin();
 
-namespace Parma_Polyhedra_Library {
+  PPL_DIRTY_TEMP(N, tmp);
+  bool mat_initialized = false;
+  bool point_seen = false;
+  // Going through all the points and closure points.
+  for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) {
+    const Generator& g = *k;
+    switch (g.type()) {
+    case Generator::POINT:
+      point_seen = true;
+      // Intentionally fall through.
+    case Generator::CLOSURE_POINT:
+      if (!mat_initialized) {
+        // When handling the first (closure) point, we initialize the matrix.
+        mat_initialized = true;
+        const Coefficient& d = g.divisor();
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
+        for (dimension_type i = 0; i < space_dim; ++i) {
+          const Coefficient& g_i = g.coefficient(Variable(i));
+          const dimension_type di = 2*i;
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
+          for (dimension_type j = 0; j < i; ++j) {
+            const Coefficient& g_j = g.coefficient(Variable(j));
+            const dimension_type dj = 2*j;
+            // Set for any point the hyperplanes passing in the point
+            // and having the octagonal gradient.
+            // Let be P = [P_1, P_2, ..., P_n] point.
+            // Hyperplanes: X_i - X_j = P_i - P_j.
+            div_round_up(x_i[dj], g_j - g_i, d);
+            div_round_up(x_ii[dj + 1], g_i - g_j, d);
+            // Hyperplanes: X_i + X_j = P_i + P_j.
+            div_round_up(x_i[dj + 1], -g_j - g_i, d);
+            div_round_up(x_ii[dj], g_i + g_j, d);
+          }
+          // Hyperplanes: X_i = P_i.
+          div_round_up(x_i[di + 1], -g_i - g_i, d);
+          div_round_up(x_ii[di], g_i + g_i, d);
+        }
+      }
+      else {
+        // This is not the first point: the matrix already contains
+        // valid values and we must compute maxima.
+        const Coefficient& d = g.divisor();
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
+        for (dimension_type i = 0; i < space_dim; ++i) {
+          const Coefficient& g_i = g.coefficient(Variable(i));
+          const dimension_type di = 2*i;
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
+          for (dimension_type j = 0; j < i; ++j) {
+            const Coefficient& g_j = g.coefficient(Variable(j));
+            const dimension_type dj = 2*j;
+            // Set for any point the straight lines passing in the point
+            // and having the octagonal gradient; compute maxima values.
+            // Let be P = [P_1, P_2, ..., P_n] point.
+            // Hyperplane: X_i - X_j = max (P_i - P_j, const).
+            div_round_up(tmp, g_j - g_i, d);
+            max_assign(x_i[dj], tmp);
+            div_round_up(tmp, g_i - g_j, d);
+            max_assign(x_ii[dj + 1], tmp);
+            // Hyperplane: X_i + X_j = max (P_i + P_j, const).
+            div_round_up(tmp, -g_j - g_i, d);
+            max_assign(x_i[dj + 1], tmp);
+            div_round_up(tmp, g_i + g_j, d);
+            max_assign(x_ii[dj], tmp);
+          }
+          // Hyperplane: X_i = max (P_i, const).
+          div_round_up(tmp, -g_i - g_i, d);
+          max_assign(x_i[di + 1], tmp);
+          div_round_up(tmp, g_i + g_i, d);
+          max_assign(x_ii[di], tmp);
+        }
+      }
+      break;
+    default:
+      // Lines and rays temporarily ignored.
+      break;
+    }
+  }
 
-template <typename T>
-inline void
-DB_Matrix<T>::swap(DB_Matrix& y) {
-  std::swap(rows, y.rows);
-  std::swap(row_size, y.row_size);
-  std::swap(row_capacity, y.row_capacity);
-}
+  if (!point_seen)
+    // The generator system is not empty, but contains no points.
+    throw_invalid_argument("Octagonal_Shape(gs)",
+                           "the non-empty generator system gs "
+                           "contains no points.");
 
-template <typename T>
-inline dimension_type
-DB_Matrix<T>::max_num_rows() {
-  return std::vector<DB_Row<T> >().max_size();
+  // Going through all the lines and rays.
+  for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) {
+    const Generator& g = *k;
+    switch (g.type()) {
+    case Generator::LINE:
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
+        for (dimension_type i = 0; i < space_dim; ++i) {
+          const Coefficient& g_i = g.coefficient(Variable(i));
+          const dimension_type di = 2*i;
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
+          for (dimension_type j = 0; j < i; ++j) {
+            const Coefficient& g_j = g.coefficient(Variable(j));
+            const dimension_type dj = 2*j;
+            // Set for any line the right limit.
+            if (g_i != g_j) {
+              // Hyperplane: X_i - X_j <=/>= +Inf.
+              assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+            if (g_i != -g_j) {
+              // Hyperplane: X_i + X_j <=/>= +Inf.
+              assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+          }
+          if (g_i != 0) {
+            // Hyperplane: X_i <=/>= +Inf.
+            assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
+          }
+        }
+      break;
+    case Generator::RAY:
+        // TODO: This can be optimized more, if needed, exploiting the
+        // (possible) sparseness of g. Also consider if OR_Matrix should be
+        // sparse, too.
+        for (dimension_type i = 0; i < space_dim; ++i) {
+          const Coefficient& g_i = g.coefficient(Variable(i));
+          const dimension_type di = 2*i;
+          Row_Reference x_i = *(mat_begin + di);
+          Row_Reference x_ii = *(mat_begin + (di + 1));
+          for (dimension_type j = 0; j < i; ++j) {
+            const Coefficient& g_j = g.coefficient(Variable(j));
+            const dimension_type dj = 2*j;
+            // Set for any ray the right limit in the case
+            // of the binary constraints.
+            if (g_i < g_j)
+              // Hyperplane: X_i - X_j >= +Inf.
+              assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            if (g_i > g_j)
+              // Hyperplane: X_i - X_j <= +Inf.
+              assign_r(x_ii[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            if (g_i < -g_j)
+              // Hyperplane: X_i + X_j >= +Inf.
+              assign_r(x_i[dj + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            if (g_i > -g_j)
+              // Hyperplane: X_i + X_j <= +Inf.
+              assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
+          }
+          // Case: unary constraints.
+          if (g_i < 0)
+            // Hyperplane: X_i  = +Inf.
+            assign_r(x_i[di + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+          if (g_i > 0)
+            // Hyperplane: X_i  = +Inf.
+            assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
+        }
+      break;
+    default:
+      // Points and closure points already dealt with.
+      break;
+    }
+  }
+  set_strongly_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline dimension_type
-DB_Matrix<T>::max_num_columns() {
-  return DB_Row<T>::max_size();
-}
+void
+Octagonal_Shape<T>::add_constraint(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dim)
+    throw_dimension_incompatible("add_constraint(c)", c);
 
-template <typename T>
-inline memory_size_type
-DB_Matrix<T>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  // Get rid of strict inequalities.
+  if (c.is_strict_inequality()) {
+    if (c.is_inconsistent()) {
+      set_empty();
+      return;
+    }
+    if (c.is_tautological())
+      return;
+    // Nontrivial strict inequalities are not allowed.
+    throw_invalid_argument("add_constraint(c)",
+                           "strict inequalities are not allowed");
+  }
 
-template <typename T>
-inline
-DB_Matrix<T>::const_iterator::const_iterator()
-  : i(Iter()) {
-}
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  // Constraints that are not octagonal differences are not allowed.
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, term))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not an octagonal constraint");
 
-template <typename T>
-inline
-DB_Matrix<T>::const_iterator::const_iterator(const Iter& b)
-  : i(b) {
-}
+  if (num_vars == 0) {
+    // Dealing with a trivial constraint (not a strict inequality).
+    if (c.inhomogeneous_term() < 0
+        || (c.is_equality() && c.inhomogeneous_term() != 0))
+      set_empty();
+    return;
+  }
 
-template <typename T>
-inline
-DB_Matrix<T>::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i) {
-}
+  // Select the cell to be modified for the "<=" part of constraint.
+  typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin() + i;
+  typename OR_Matrix<N>::row_reference_type m_i = *i_iter;
+  N& m_i_j = m_i[j];
+  // Set `coeff' to the absolute value of itself.
+  if (coeff < 0)
+    neg_assign(coeff);
 
-template <typename T>
-inline typename DB_Matrix<T>::const_iterator&
-DB_Matrix<T>::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  return *this;
-}
+  bool is_oct_changed = false;
+  // Compute the bound for `m_i_j', rounding towards plus infinity.
+  PPL_DIRTY_TEMP(N, d);
+  div_round_up(d, term, coeff);
+  if (m_i_j > d) {
+    m_i_j = d;
+    is_oct_changed = true;
+  }
 
-template <typename T>
-inline typename DB_Matrix<T>::const_iterator::reference
-DB_Matrix<T>::const_iterator::operator*() const {
-  return *i;
-}
+  if (c.is_equality()) {
+    // Select the cell to be modified for the ">=" part of constraint.
+    if (i % 2 == 0)
+      ++i_iter;
+    else
+      --i_iter;
 
-template <typename T>
-inline typename DB_Matrix<T>::const_iterator::pointer
-DB_Matrix<T>::const_iterator::operator->() const {
-  return &*i;
-}
+    typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
+    dimension_type cj = coherent_index(j);
+    N& m_ci_cj = m_ci[cj];
+    // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
+    neg_assign(term);
+    div_round_up(d, term, coeff);
+    if (m_ci_cj > d) {
+      m_ci_cj = d;
+      is_oct_changed = true;
+    }
+  }
 
-template <typename T>
-inline typename DB_Matrix<T>::const_iterator&
-DB_Matrix<T>::const_iterator::operator++() {
-  ++i;
-  return *this;
+  // This method does not preserve closure.
+  if (is_oct_changed && marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline typename DB_Matrix<T>::const_iterator
-DB_Matrix<T>::const_iterator::operator++(int) {
-  return const_iterator(i++);
-}
+void
+Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check:
+  // the dimension of `cg' can not be greater than space_dim.
+  if (space_dimension() < cg_space_dim)
+    throw_dimension_incompatible("add_congruence(cg)", cg);
 
-template <typename T>
-inline bool
-DB_Matrix<T>::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+  // Handle the case of proper congruences first.
+  if (cg.is_proper_congruence()) {
+    if (cg.is_tautological())
+      return;
+    if (cg.is_inconsistent()) {
+      set_empty();
+      return;
+    }
+    // Non-trivial and proper congruences are not allowed.
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is a non-trivial, proper congruence");
+  }
 
-template <typename T>
-inline bool
-DB_Matrix<T>::const_iterator::operator!=(const const_iterator& y) const {
-  return !operator==(y);
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  add_constraint(c);
 }
 
 template <typename T>
-inline typename DB_Matrix<T>::const_iterator
-DB_Matrix<T>::begin() const {
-  return const_iterator(rows.begin());
-}
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::refine_with_linear_form_inequality(
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right) {
 
-template <typename T>
-inline typename DB_Matrix<T>::const_iterator
-DB_Matrix<T>::end() const {
-  return const_iterator(rows.end());
-}
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::refine_with_linear_form_inequality:"
+                     " T not a floating point type.");
 
-template <typename T>
-inline
-DB_Matrix<T>::DB_Matrix()
-  : rows(),
-    row_size(0),
-    row_capacity(0) {
-}
+  // We assume that the analyzer will not try to apply an unreachable filter.
+  PPL_ASSERT(!marked_empty());
 
-template <typename T>
-inline
-DB_Matrix<T>::~DB_Matrix() {
-}
+  // Dimension-compatibility checks.
+  // The dimensions of `left' and `right' should not be greater than the
+  // dimension of `*this'.
+  const dimension_type left_space_dim = left.space_dimension();
+  if (space_dim < left_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "left", left);
+
+  const dimension_type right_space_dim = right.space_dimension();
+  if (space_dim < right_space_dim)
+    throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "right", right);
+
+  // Number of non-zero coefficients in `left': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type left_t = 0;
+  // Variable-index of the last non-zero coefficient in `left', if any.
+  dimension_type left_w_id = 0;
+  // Number of non-zero coefficients in `right': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type right_t = 0;
+  // Variable-index of the last non-zero coefficient in `right', if any.
+  dimension_type right_w_id = 0;
+
+  // Get information about the number of non-zero coefficients in `left'.
+  for (dimension_type i = left_space_dim; i-- > 0; )
+    if (left.coefficient(Variable(i)) != 0) {
+      if (left_t++ == 1)
+        break;
+      else
+        left_w_id = i;
+    }
 
-template <typename T>
-inline DB_Row<T>&
-DB_Matrix<T>::operator[](const dimension_type k) {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
-}
+  // Get information about the number of non-zero coefficients in `right'.
+  for (dimension_type i = right_space_dim; i-- > 0; )
+    if (right.coefficient(Variable(i)) != 0) {
+      if (right_t++ == 1)
+        break;
+      else
+        right_w_id = i;
+    }
 
-template <typename T>
-inline const DB_Row<T>&
-DB_Matrix<T>::operator[](const dimension_type k) const {
-  PPL_ASSERT(k < rows.size());
-  return rows[k];
-}
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
 
-template <typename T>
-inline dimension_type
-DB_Matrix<T>::num_rows() const {
-  return rows.size();
-}
+  // FIXME: there is plenty of duplicate code in the following lines. We could
+  // shorten it at the expense of a bit of efficiency.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline bool
-operator!=(const DB_Matrix<T>& x, const DB_Matrix<T>& y) {
-  return !(x == y);
-}
+  if (left_t == 0) {
+    if (right_t == 0) {
+      // The constraint involves constants only. Ignore it: it is up to
+      // the analyzer to handle it.
+      PPL_ASSERT(OK());
+      return;
+    }
 
-template <typename T>
-inline
-DB_Matrix<T>::DB_Matrix(const DB_Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
-}
+    if (right_t == 1) {
+      // The constraint has the form [a-, a+] <= [b-, b+] + [c-, c+] * x.
+      // Reduce it to the constraint +/-x <= b+ - a- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      if (right_w_coeff == 1) {
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_right, n_right + 1, b_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
 
-template <typename T>
-inline DB_Matrix<T>&
-DB_Matrix<T>::operator=(const DB_Matrix& y) {
-  // Without the following guard against auto-assignments we would
-  // recompute the row capacity based on row size, possibly without
-  // actually increasing the capacity of the rows.  This would lead to
-  // an inconsistent state.
-  if (this != &y) {
-    // The following assignment may do nothing on auto-assignments...
-    rows = y.rows;
-    row_size = y.row_size;
-    // ... hence the following assignment must not be done on
-    // auto-assignments.
-    row_capacity = compute_capacity(y.row_size, max_num_columns());
+      if (right_w_coeff == -1) {
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(b_plus_minus_a_minus, b_plus_minus_a_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_right + 1, n_right, b_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
   }
-  return *this;
-}
+  else if (left_t == 1) {
+    if (right_t == 0) {
+      // The constraint has the form [b-, b+] + [c-, c+] * x <= [a-, a+]
+      // Reduce it to the constraint +/-x <= a+ - b- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+	                      left.coefficient(Variable(left_w_id));
+      if (left_w_coeff == 1) {
+        const dimension_type n_left = left_w_id * 2;
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization, typename Temp, typename To, typename T>
-inline bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const DB_Matrix<T>& x,
-		    const DB_Matrix<T>& y,
-		    const Rounding_Dir dir,
-		    Temp& tmp0,
-		    Temp& tmp1,
-		    Temp& tmp2) {
-  const dimension_type x_num_rows = x.num_rows();
-  if (x_num_rows != y.num_rows())
-    return false;
-  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
-  for (dimension_type i = x_num_rows; i-- > 0; ) {
-    const DB_Row<T>& x_i = x[i];
-    const DB_Row<T>& y_i = y[i];
-    for (dimension_type j = x_num_rows; j-- > 0; ) {
-      const T& x_i_j = x_i[j];
-      const T& y_i_j = y_i[j];
-      if (is_plus_infinity(x_i_j)) {
-	if (is_plus_infinity(y_i_j))
-	  continue;
-	else {
-	pinf:
-	  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-	  return true;
-	}
+      if (left_w_coeff == -1) {
+        const dimension_type n_left = left_w_id * 2;
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        mul_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                          ROUND_UP);
+        add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus);
+        PPL_ASSERT(OK());
+        return;
       }
-      else if (is_plus_infinity(y_i_j))
-	goto pinf;
+    }
 
-      const Temp* tmp1p;
-      const Temp* tmp2p;
-      if (x_i_j > y_i_j) {
-	maybe_assign(tmp1p, tmp1, x_i_j, dir);
-	maybe_assign(tmp2p, tmp2, y_i_j, inverse(dir));
+    if (right_t == 1) {
+      // The constraint has the form
+      // [a-, a+] + [b-, b+] * x <= [c-, c+] + [d-, d+] * y.
+      // Reduce it to the constraint +/-x +/-y <= c+ - a-
+      // if [b-, b+] = +/-[1, 1] and [d-, d+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+                              left.coefficient(Variable(left_w_id));
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      bool is_left_coeff_one = (left_w_coeff == 1);
+      bool is_left_coeff_minus_one = (left_w_coeff == -1);
+      bool is_right_coeff_one = (right_w_coeff == 1);
+      bool is_right_coeff_minus_one = (right_w_coeff == -1);
+      if (left_w_id == right_w_id) {
+        if ((is_left_coeff_one && is_right_coeff_one)
+            || (is_left_coeff_minus_one && is_right_coeff_minus_one)) {
+          // Here we have an identity or a constants-only constraint.
+          PPL_ASSERT(OK());
+          return;
+        }
+        if (is_left_coeff_one && is_right_coeff_minus_one) {
+          // We fall back to a previous case
+          // (but we do not need to multiply the result by two).
+          const dimension_type n_left = left_w_id * 2;
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          add_octagonal_constraint(n_left + 1, n_left, a_plus_minus_b_minus);
+          PPL_ASSERT(OK());
+          return;
+        }
+        if (is_left_coeff_minus_one && is_right_coeff_one) {
+          // We fall back to a previous case
+          // (but we do not need to multiply the result by two).
+          const dimension_type n_left = left_w_id * 2;
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          add_octagonal_constraint(n_left, n_left + 1, a_plus_minus_b_minus);
+          PPL_ASSERT(OK());
+          return;
+        }
       }
-      else {
-	maybe_assign(tmp1p, tmp1, y_i_j, dir);
-	maybe_assign(tmp2p, tmp2, x_i_j, inverse(dir));
+      else if (is_left_coeff_one && is_right_coeff_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right, n_left, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left + 1, n_right + 1,
+                                   c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_one && is_right_coeff_minus_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right + 1, n_left, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left + 1, n_right, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right, n_left + 1, c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left, n_right + 1, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_minus_one) {
+        const dimension_type n_left = left_w_id * 2;
+        const dimension_type n_right = right_w_id * 2;
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        if (left_w_id < right_w_id)
+          add_octagonal_constraint(n_right + 1, n_left + 1,
+                                   c_plus_minus_a_minus);
+        else
+          add_octagonal_constraint(n_left, n_right, c_plus_minus_a_minus);
+        PPL_ASSERT(OK());
+        return;
       }
-      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      PPL_ASSERT(sgn(tmp1) >= 0);
-      Specialization::combine(tmp0, tmp1, dir);
     }
   }
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
-  return true;
-}
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const DB_Matrix<T>& x,
-			    const DB_Matrix<T>& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  return
-    l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >(r, x, y,
-								    dir,
-								    tmp0,
-								    tmp1,
-								    tmp2);
-}
 
+  // General case.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const DB_Matrix<T>& x,
-			  const DB_Matrix<T>& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  return
-    l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >(r, x, y,
-								  dir,
-								  tmp0,
-								  tmp1,
-								  tmp2);
-}
+  // FIRST, update the binary constraints for each pair of DIFFERENT variables
+  // in `left' and `right'.
+
+  // Declare temporaries outside of the loop.
+  PPL_DIRTY_TEMP(N, low_coeff);
+  PPL_DIRTY_TEMP(N, high_coeff);
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  Linear_Form<FP_Interval_Type> right_minus_left(right);
+  right_minus_left -= left;
+
+  dimension_type max_w_id = std::max(left_w_id, right_w_id);
+  for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) {
+    for (dimension_type second_v = first_v + 1;
+         second_v <= max_w_id; ++second_v) {
+      const FP_Interval_Type& lfv_coefficient =
+                        left.coefficient(Variable(first_v));
+      const FP_Interval_Type& lsv_coefficient =
+                        left.coefficient(Variable(second_v));
+      const FP_Interval_Type& rfv_coefficient =
+                        right.coefficient(Variable(first_v));
+      const FP_Interval_Type& rsv_coefficient =
+                        right.coefficient(Variable(second_v));
+      // We update the constraints only when both variables appear in at
+      // least one argument.
+      bool do_update = false;
+      assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0) {
+        assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0)
+          do_update = true;
+        else {
+          assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+        }
+      }
+      else {
+        assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0) {
+          assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+          else {
+            assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+            assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+            if (low_coeff != 0 || high_coeff != 0)
+              do_update = true;
+          }
+        }
+      }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const DB_Matrix<T>& x,
-			   const DB_Matrix<T>& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  return
-    l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >(r, x, y,
-								   dir,
-								   tmp0,
-								   tmp1,
-								   tmp2);
-}
+      if (do_update) {
+        Variable first(first_v);
+        Variable second(second_v);
+        dimension_type n_first_var = first_v * 2;
+        dimension_type n_second_var = second_v * 2;
+        linear_form_upper_bound(right_minus_left - first + second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var + 1, n_first_var + 1,
+                                 upper_bound);
+        linear_form_upper_bound(right_minus_left + first + second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var + 1, n_first_var, upper_bound);
+        linear_form_upper_bound(right_minus_left - first - second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var, n_first_var + 1, upper_bound);
+        linear_form_upper_bound(right_minus_left + first - second,
+                                upper_bound);
+        add_octagonal_constraint(n_second_var, n_first_var, upper_bound);
+      }
+    }
+  }
 
-} // namespace Parma_Polyhedra_Library
+  // Finally, update the unary constraints.
+  for (dimension_type v = 0; v <= max_w_id; ++v) {
+    const FP_Interval_Type& lv_coefficient =
+                        left.coefficient(Variable(v));
+    const FP_Interval_Type& rv_coefficient =
+                        right.coefficient(Variable(v));
+    // We update the constraints only if v appears in at least one of the
+    // two arguments.
+    bool do_update = false;
+    assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (low_coeff != 0 || high_coeff != 0)
+      do_update = true;
+    else {
+      assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0)
+        do_update = true;
+    }
 
-namespace std {
+    if (do_update) {
+      Variable var(v);
+      dimension_type n_var = 2 * v;
+      /*
+        VERY DIRTY trick: since we need to keep the old unary constraints
+        while computing the new ones, we momentarily keep the new coefficients
+        in the main diagonal of the matrix. They will be moved later.
+      */
+      linear_form_upper_bound(right_minus_left + var, upper_bound);
+      mul_2exp_assign_r(matrix[n_var + 1][n_var + 1], upper_bound, 1,
+                        ROUND_UP);
+      linear_form_upper_bound(right_minus_left - var, upper_bound);
+      mul_2exp_assign_r(matrix[n_var][n_var], upper_bound, 1,
+                        ROUND_UP);
+    }
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline void
-swap(Parma_Polyhedra_Library::DB_Matrix<T>& x,
-     Parma_Polyhedra_Library::DB_Matrix<T>& y) {
-  x.swap(y);
+  /*
+    Now move the newly computed coefficients from the main diagonal to
+    their proper place, and restore +infinity on the diagonal.
+  */
+  Row_Iterator m_ite = matrix.row_begin();
+  Row_Iterator m_end = matrix.row_end();
+  for (dimension_type i = 0; m_ite != m_end; i += 2) {
+    Row_Reference upper = *m_ite;
+    N& ul = upper[i];
+    add_octagonal_constraint(i, i + 1, ul);
+    assign_r(ul, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    ++m_ite;
+    Row_Reference lower = *m_ite;
+    N& lr = lower[i + 1];
+    add_octagonal_constraint(i + 1, i, lr);
+    assign_r(lr, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    ++m_ite;
+  }
+  PPL_ASSERT(OK());
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/DB_Matrix.templates.hh line 1. */
-/* DB_Matrix class implementation: non-inline template functions.
-*/
+template <typename T>
+void
+Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
+  PPL_ASSERT(!marked_empty());
+  const dimension_type c_space_dim = c.space_dimension();
+  PPL_ASSERT(c_space_dim <= space_dim);
 
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  // Constraints that are not octagonal differences are ignored.
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, term))
+    return;
 
-namespace Parma_Polyhedra_Library {
+  if (num_vars == 0) {
+    const Coefficient& c_inhomo = c.inhomogeneous_term();
+    // Dealing with a trivial constraint (maybe a strict inequality).
+    if (c_inhomo < 0
+        || (c_inhomo != 0 && c.is_equality())
+        || (c_inhomo == 0 && c.is_strict_inequality()))
+      set_empty();
+    return;
+  }
 
-template <typename T>
-DB_Matrix<T>::DB_Matrix(const dimension_type n_rows)
-  : rows(n_rows),
-    row_size(n_rows),
-    row_capacity(compute_capacity(n_rows, max_num_columns())) {
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = 0; i < n_rows; ++i)
-    rows[i].construct(n_rows, row_capacity);
-  PPL_ASSERT(OK());
-}
+  // Select the cell to be modified for the "<=" part of constraint.
+  typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin() + i;
+  typename OR_Matrix<N>::row_reference_type m_i = *i_iter;
+  N& m_i_j = m_i[j];
+  // Set `coeff' to the absolute value of itself.
+  if (coeff < 0)
+    neg_assign(coeff);
 
-template <typename T>
-template <typename U>
-DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y)
-  : rows(y.rows.size()),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
-  // Construct in direct order: will destroy in reverse order.
-  for (dimension_type i = 0, n_rows = rows.size(); i < n_rows; ++i)
-    rows[i].construct_upward_approximation(y[i], row_capacity);
-  PPL_ASSERT(OK());
-}
+  bool is_oct_changed = false;
+  // Compute the bound for `m_i_j', rounding towards plus infinity.
+  PPL_DIRTY_TEMP(N, d);
+  div_round_up(d, term, coeff);
+  if (m_i_j > d) {
+    m_i_j = d;
+    is_oct_changed = true;
+  }
 
-template <typename T>
-void
-DB_Matrix<T>::grow(const dimension_type new_n_rows) {
-  const dimension_type old_n_rows = rows.size();
-  PPL_ASSERT(new_n_rows >= old_n_rows);
+  if (c.is_equality()) {
+    // Select the cell to be modified for the ">=" part of constraint.
+    if (i % 2 == 0)
+      ++i_iter;
+    else
+      --i_iter;
 
-  if (new_n_rows > old_n_rows) {
-    if (new_n_rows <= row_capacity) {
-      // We can recycle the old rows.
-      if (rows.capacity() < new_n_rows) {
-	// Reallocation will take place.
-	std::vector<DB_Row<T> > new_rows;
-	new_rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
-	new_rows.insert(new_rows.end(), new_n_rows, DB_Row<T>());
-	// Construct the new rows.
-	dimension_type i = new_n_rows;
-	while (i-- > old_n_rows)
-	  new_rows[i].construct(new_n_rows, row_capacity);
-	// Steal the old rows.
-	++i;
-	while (i-- > 0)
-	  new_rows[i].swap(rows[i]);
-	// Put the new vector into place.
-	std::swap(rows, new_rows);
-      }
-      else {
-	// Reallocation will NOT take place.
-	rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row<T>());
-	for (dimension_type i = new_n_rows; i-- > old_n_rows; )
-	  rows[i].construct(new_n_rows, row_capacity);
-      }
-    }
-    else {
-      // We cannot even recycle the old rows.
-      DB_Matrix new_matrix;
-      new_matrix.rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
-      new_matrix.rows.insert(new_matrix.rows.end(), new_n_rows, DB_Row<T>());
-      // Construct the new rows.
-      new_matrix.row_size = new_n_rows;
-      new_matrix.row_capacity = compute_capacity(new_n_rows,
-						 max_num_columns());
-      dimension_type i = new_n_rows;
-      while (i-- > old_n_rows)
-	new_matrix.rows[i].construct(new_matrix.row_size,
-				     new_matrix.row_capacity);
-      // Copy the old rows.
-      ++i;
-      while (i-- > 0) {
-	// FIXME: copying may be unnecessarily costly.
-	DB_Row<T> new_row(rows[i],
-			  new_matrix.row_size,
-			  new_matrix.row_capacity);
-	std::swap(new_matrix.rows[i], new_row);
-      }
-      // Put the new vector into place.
-      swap(new_matrix);
-      return;
-    }
-  }
-  // Here we have the right number of rows.
-  if (new_n_rows > row_size) {
-    // We need more columns.
-    if (new_n_rows <= row_capacity)
-      // But we have enough capacity: we resize existing rows.
-      for (dimension_type i = old_n_rows; i-- > 0; )
-	rows[i].expand_within_capacity(new_n_rows);
-    else {
-      // Capacity exhausted: we must reallocate the rows and
-      // make sure all the rows have the same capacity.
-      const dimension_type new_row_capacity
-	= compute_capacity(new_n_rows, max_num_columns());
-      for (dimension_type i = old_n_rows; i-- > 0; ) {
-	// FIXME: copying may be unnecessarily costly.
-	DB_Row<T> new_row(rows[i], new_n_rows, new_row_capacity);
-	std::swap(rows[i], new_row);
-      }
-      row_capacity = new_row_capacity;
+    typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
+    using namespace Implementation::Octagonal_Shapes;
+    dimension_type cj = coherent_index(j);
+    N& m_ci_cj = m_ci[cj];
+    // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
+    neg_assign(term);
+    div_round_up(d, term, coeff);
+    if (m_ci_cj > d) {
+      m_ci_cj = d;
+      is_oct_changed = true;
     }
-    // Rows have grown or shrunk.
-    row_size = new_n_rows;
   }
+
+  // This method does not preserve closure.
+  if (is_oct_changed && marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+dimension_type
+Octagonal_Shape<T>::affine_dimension() const {
+  const dimension_type n_rows = matrix.num_rows();
+  // A zero-space-dim shape always has affine dimension zero.
+  if (n_rows == 0)
+    return 0;
+
+  // Strong closure is necessary to detect emptiness
+  // and all (possibly implicit) equalities.
+  strong_closure_assign();
+  if (marked_empty())
+    return 0;
+
+  // The vector `leaders' is used to represent non-singular
+  // equivalence classes:
+  // `leaders[i] == i' if and only if `i' is the leader of its
+  // equivalence class (i.e., the minimum index in the class).
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+
+  // Due to the splitting of variables, the affine dimension is the
+  // number of non-singular positive zero-equivalence classes.
+  dimension_type affine_dim = 0;
+  for (dimension_type i = 0; i < n_rows; i += 2)
+    // Note: disregard the singular equivalence class.
+    if (leaders[i] == i && leaders[i + 1] == i + 1)
+      ++affine_dim;
+
+  return affine_dim;
 }
 
 template <typename T>
-void
-DB_Matrix<T>::resize_no_copy(const dimension_type new_n_rows) {
-  dimension_type old_n_rows = rows.size();
+Congruence_System
+Octagonal_Shape<T>::minimized_congruences() const {
+  // Strong closure is necessary to detect emptiness
+  // and all (possibly implicit) equalities.
+  strong_closure_assign();
+  const dimension_type space_dim = space_dimension();
+  Congruence_System cgs(space_dim);
 
-  if (new_n_rows > old_n_rows) {
-    // Rows will be inserted.
-    if (new_n_rows <= row_capacity) {
-      // We can recycle the old rows.
-      if (rows.capacity() < new_n_rows) {
-	// Reallocation (of vector `rows') will take place.
-	std::vector<DB_Row<T> > new_rows;
-	new_rows.reserve(compute_capacity(new_n_rows, max_num_rows()));
-	new_rows.insert(new_rows.end(), new_n_rows, DB_Row<T>());
-	// Construct the new rows (be careful: each new row must have
-	// the same capacity as each one of the old rows).
-	dimension_type i = new_n_rows;
-	while (i-- > old_n_rows)
-	  new_rows[i].construct(new_n_rows, row_capacity);
-	// Steal the old rows.
-	++i;
-	while (i-- > 0)
-	  new_rows[i].swap(rows[i]);
-	// Put the new vector into place.
-	std::swap(rows, new_rows);
-      }
-      else {
-	// Reallocation (of vector `rows') will NOT take place.
-	rows.insert(rows.end(), new_n_rows - old_n_rows, DB_Row<T>());
-	// Be careful: each new row must have
-	// the same capacity as each one of the old rows.
-	for (dimension_type i = new_n_rows; i-- > old_n_rows; )
-	  rows[i].construct(new_n_rows, row_capacity);
-      }
-    }
-    else {
-      // We cannot even recycle the old rows: allocate a new matrix and swap.
-      DB_Matrix new_matrix(new_n_rows);
-      swap(new_matrix);
-      return;
-    }
+  if (space_dim == 0) {
+    if (marked_empty())
+      cgs = Congruence_System::zero_dim_empty();
+    return cgs;
   }
-  else if (new_n_rows < old_n_rows) {
-    // Drop some rows.
-    rows.erase(rows.begin() + new_n_rows, rows.end());
-    // Shrink the existing rows.
-    for (dimension_type i = new_n_rows; i-- > 0; )
-      rows[i].shrink(new_n_rows);
-    old_n_rows = new_n_rows;
+
+  if (marked_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
   }
-  // Here we have the right number of rows.
-  if (new_n_rows > row_size) {
-    // We need more columns.
-    if (new_n_rows <= row_capacity)
-      // But we have enough capacity: we resize existing rows.
-      for (dimension_type i = old_n_rows; i-- > 0; )
-	rows[i].expand_within_capacity(new_n_rows);
+
+  // The vector `leaders' is used to represent equivalence classes:
+  // `leaders[i] == i' if and only if `i' is the leader of its
+  // equivalence class (i.e., the minimum index in the class).
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  for (dimension_type i = 0, i_end = 2*space_dim; i != i_end; i += 2) {
+    const dimension_type lead_i = leaders[i];
+    if (i == lead_i) {
+      if (leaders[i + 1] == i)
+        // `i' is the leader of the singular equivalence class.
+        goto singular;
+      else
+        // `i' is the leader of a non-singular equivalence class.
+        continue;
+    }
     else {
-      // Capacity exhausted: we must reallocate the rows and
-      // make sure all the rows have the same capacity.
-      const dimension_type new_row_capacity
-	= compute_capacity(new_n_rows, max_num_columns());
-      for (dimension_type i = old_n_rows; i-- > 0; ) {
-	DB_Row<T> new_row(new_n_rows, new_row_capacity);
-	std::swap(rows[i], new_row);
-      }
-      row_capacity = new_row_capacity;
+      // `i' is not a leader.
+      if (leaders[i + 1] == lead_i)
+        // `i' belongs to the singular equivalence class.
+        goto singular;
+      else
+        // `i' does not belong to the singular equivalence class.
+        goto non_singular;
+    }
+
+  singular:
+    // `i' belongs to the singular equivalence class:
+    // we have a unary equality constraint.
+    {
+      const Variable x(i/2);
+      const N& c_ii_i = matrix[i + 1][i];
+#ifndef NDEBUG
+      const N& c_i_ii = matrix[i][i + 1];
+      PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
+#endif
+      numer_denom(c_ii_i, numer, denom);
+      denom *= 2;
+      cgs.insert(denom*x == numer);
+    }
+    continue;
+
+  non_singular:
+    // `i' does not belong to the singular equivalence class.
+    // we have a binary equality constraint.
+    {
+      const N& c_i_li = matrix[i][lead_i];
+#ifndef NDEBUG
+      using namespace Implementation::Octagonal_Shapes;
+      const N& c_ii_lii = matrix[i + 1][coherent_index(lead_i)];
+      PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
+#endif
+      const Variable x(lead_i/2);
+      const Variable y(i/2);
+      numer_denom(c_i_li, numer, denom);
+      if (lead_i % 2 == 0)
+        cgs.insert(denom*x - denom*y == numer);
+      else
+        cgs.insert(denom*x + denom*y + numer == 0);
     }
+    continue;
   }
-  // DB_Rows have grown or shrunk.
-  row_size = new_n_rows;
+  return cgs;
 }
 
 template <typename T>
 void
-DB_Matrix<T>::ascii_dump(std::ostream& s) const {
-  const DB_Matrix<T>& x = *this;
-  const char separator = ' ';
-  const dimension_type nrows = x.num_rows();
-  s << nrows << separator << "\n";
-  for (dimension_type i = 0; i < nrows;  ++i) {
-    for (dimension_type j = 0; j < nrows; ++j) {
-      using namespace IO_Operators;
-      s << x[i][j] << separator;
-    }
-    s << "\n";
+Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
+  // If `y' is an empty 0-dim space octagon, let `*this' become empty.
+  // If `y' is an universal 0-dim space octagon, we simply return.
+  if (y.space_dim == 0) {
+    if (y.marked_empty())
+      set_empty();
+    return;
   }
-}
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, DB_Matrix<T>)
+  // If `*this' is an empty 0-dim space octagon, then it is sufficient
+  // to adjust the dimension of the vector space.
+  if (space_dim == 0 && marked_empty()) {
+    add_space_dimensions_and_embed(y.space_dim);
+    return;
+  }
 
-template <typename T>
-bool
-DB_Matrix<T>::ascii_load(std::istream& s) {
-  dimension_type nrows;
-   if (!(s >> nrows))
-    return false;
-  resize_no_copy(nrows);
-  DB_Matrix& x = *this;
-  for (dimension_type i = 0; i < nrows;  ++i)
-    for (dimension_type j = 0; j < nrows; ++j) {
-      Result r = input(x[i][j], s, ROUND_CHECK);
-      if (result_relation(r) != VR_EQ || is_minus_infinity(x[i][j]))
-	return false;
-    }
+  // This is the old number of rows in the matrix. It is equal to
+  // the first index of columns to change.
+  dimension_type old_num_rows = matrix.num_rows();
+  // First we increase the space dimension of `*this' by adding
+  // `y.space_dimension()' new dimensions.
+  // The matrix for the new octagon is obtained
+  // by leaving the old system of constraints in the upper left-hand side
+  // (where they are at the present) and placing the constraints of `y' in the
+  // lower right-hand side.
+  add_space_dimensions_and_embed(y.space_dim);
+  typename OR_Matrix<N>::const_element_iterator
+    y_it = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::row_iterator
+         i = matrix.row_begin() + old_num_rows,
+         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
+    typename OR_Matrix<N>::row_reference_type r = *i;
+    dimension_type rs_i = i.row_size();
+    for (dimension_type j = old_num_rows; j < rs_i; ++j, ++y_it)
+      r[j] = *y_it;
+  }
 
-  // Check invariants.
+  // The concatenation does not preserve the closure.
+  if (marked_strongly_closed())
+    reset_strongly_closed();
   PPL_ASSERT(OK());
-  return true;
 }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
 bool
-operator==(const DB_Matrix<T>& x, const DB_Matrix<T>& y) {
-  const dimension_type x_num_rows = x.num_rows();
-  if (x_num_rows != y.num_rows())
-    return false;
-  for (dimension_type i = x_num_rows; i-- > 0; )
-    if (x[i] != y[i])
-      return false;
-  return true;
-}
+Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("contains(y)", y);
 
-template <typename T>
-memory_size_type
-DB_Matrix<T>::external_memory_in_bytes() const {
-  memory_size_type n = rows.capacity() * sizeof(DB_Row<T>);
-  for (dimension_type i = num_rows(); i-- > 0; )
-    n += rows[i].external_memory_in_bytes(row_capacity);
-  return n;
-}
+  if (space_dim == 0) {
+    // The zero-dimensional empty octagon only contains another
+    // zero-dimensional empty octagon.
+    // The zero-dimensional universe octagon contains any other
+    // zero-dimensional octagon.
+    return marked_empty() ? y.marked_empty() : true;
+  }
 
-template <typename T>
-bool
-DB_Matrix<T>::OK() const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
+  // `y' needs to be transitively closed.
+  y.strong_closure_assign();
+  // An empty octagon is in any other dimension-compatible octagons.
+  if (y.marked_empty())
+    return true;
 
-  // The matrix must be square.
-  if (num_rows() != row_size) {
-#ifndef NDEBUG
-    cerr << "DB_Matrix has fewer columns than rows:\n"
-	 << "row_size is " << row_size
-	 << ", num_rows() is " << num_rows() << "!"
-	 << endl;
-#endif
+  // If `*this' is empty it can not contain `y' (which is not empty).
+  if (is_empty())
     return false;
-  }
 
-  const DB_Matrix& x = *this;
-  const dimension_type n_rows = x.num_rows();
-  for (dimension_type i = 0; i < n_rows; ++i) {
-    if (!x[i].OK(row_size, row_capacity))
+  // `*this' contains `y' if and only if every element of `*this'
+  // is greater than or equal to the correspondent one of `y'.
+  for (typename OR_Matrix<N>::const_element_iterator
+         i = matrix.element_begin(), j = y.matrix.element_begin(),
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end; ++i, ++j)
+    if (*i < *j)
       return false;
-  }
-
-  // All checks passed.
   return true;
 }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::DB_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-std::ostream&
-IO_Operators::operator<<(std::ostream& s, const DB_Matrix<T>& c) {
-  const dimension_type n = c.num_rows();
-  for (dimension_type i = 0; i < n; ++i) {
-    for (dimension_type j = 0; j < n; ++j)
-      s << c[i][j] << " ";
-    s << "\n";
-  }
-  return s;
-}
+bool
+Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("is_disjoint_from(y)", y);
 
-} // namespace Parma_Polyhedra_Library
+  // If one Octagonal_Shape is empty, the Octagonal_Shapes are disjoint.
+  strong_closure_assign();
+  if (marked_empty())
+    return true;
+  y.strong_closure_assign();
+  if (y.marked_empty())
+    return true;
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 331. */
+  // Two Octagonal_Shapes are disjoint if and only if their
+  // intersection is empty, i.e., if and only if there exists a
+  // variable such that the upper bound of the constraint on that
+  // variable in the first Octagonal_Shape is strictly less than the
+  // lower bound of the corresponding constraint in the second
+  // Octagonal_Shape or vice versa.
 
-/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 1. */
-/* Coefficient types of weakly-relational domains: declarations.
-*/
+  const dimension_type n_rows = matrix.num_rows();
 
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 28. */
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
 
-namespace Parma_Polyhedra_Library {
+  const Row_Iterator y_begin = y.matrix.row_begin();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief \ingroup PPL_CXX_interface
-  The production policy for checked numbers used in weakly-relational
-  domains.
- */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct WRD_Extended_Number_Policy {
-  //! Check for overflowed result.
-  const_bool_nodef(check_overflow, true);
+  PPL_DIRTY_TEMP(N, neg_y_ci_cj);
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type i = i_iter.index();
+    const dimension_type ci = coherent_index(i);
+    const dimension_type rs_i = i_iter.row_size();
+    Row_Reference m_i = *i_iter;
+    for (dimension_type j = 0; j < n_rows; ++j) {
+      const dimension_type cj = coherent_index(j);
+      Row_Reference m_cj = *(m_begin + cj);
+      const N& m_i_j = (j < rs_i) ? m_i[j] : m_cj[ci];
+      Row_Reference y_ci = *(y_begin + ci);
+      Row_Reference y_j = *(y_begin + j);
+      const N& y_ci_cj = (j < rs_i) ? y_ci[cj] : y_j[i];
+      neg_assign_r(neg_y_ci_cj, y_ci_cj, ROUND_UP);
+      if (m_i_j < neg_y_ci_cj)
+        return true;
+    }
+  }
+  return false;
+}
 
-  //! Do not check for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, false);
+template <typename T>
+bool
+Octagonal_Shape<T>::is_universe() const {
+  // An empty octagon is not universe.
+  if (marked_empty())
+    return false;
 
-  //! Do not check for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, false);
+  // If the octagon is non-empty and zero-dimensional,
+  // then it is necessarily the universe octagon.
+  if (space_dim == 0)
+    return true;
 
-  //! Do not check for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, false);
+  // An universe octagon can only contains trivial  constraints.
+  for (typename OR_Matrix<N>::const_element_iterator
+         i = matrix.element_begin(), matrix_element_end = matrix.element_end();
+       i != matrix_element_end;
+       ++i)
+    if (!is_plus_infinity(*i))
+      return false;
 
-  //! Do not check for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, false);
+  return true;
+}
 
-  //! Do not check for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, false);
+template <typename T>
+bool
+Octagonal_Shape<T>::is_bounded() const {
+  strong_closure_assign();
+  // A zero-dimensional or empty octagon is bounded.
+  if (marked_empty() || space_dim == 0)
+    return true;
 
-  //! Do not check for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, false);
+  // A bounded octagon never can contains trivial constraints.
+  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
+         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
+    typename OR_Matrix<N>::const_row_reference_type x_i = *i;
+    const dimension_type i_index = i.index();
+    for (dimension_type j = i.row_size(); j-- > 0; )
+      if (i_index != j)
+        if (is_plus_infinity(x_i[j]))
+          return false;
+  }
 
-  //! Do not checks for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, false);
+  return true;
+}
 
-  //! Handle not-a-number special value.
-  const_bool_nodef(has_nan, true);
+template <typename T>
+bool
+Octagonal_Shape<T>::contains_integer_point() const {
+  // Force strong closure.
+  if (is_empty())
+    return false;
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0)
+    return true;
 
-  //! Handle infinity special values.
-  const_bool_nodef(has_infinity, true);
+  // A strongly closed and consistent Octagonal_Shape defined by
+  // integer constraints can only be empty due to tight coherence.
+  if (std::numeric_limits<T>::is_integer)
+    return !tight_coherence_would_make_empty();
+
+  // Build an integer Octagonal_Shape oct_z with bounds at least as
+  // tight as those in *this and then recheck for emptiness, also
+  // exploiting tight-coherence.
+  Octagonal_Shape<mpz_class> oct_z(space_dim);
+  oct_z.reset_strongly_closed();
 
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
+  typedef Octagonal_Shape<mpz_class>::N Z;
+  bool all_integers = true;
+  typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
+  for (typename OR_Matrix<Z>::element_iterator
+         z_i = oct_z.matrix.element_begin(),
+         z_end = oct_z.matrix.element_end(); z_i != z_end; ++z_i, ++x_i) {
+    const N& d = *x_i;
+    if (is_plus_infinity(d))
+      continue;
+    if (is_integer(d))
+      assign_r(*z_i, d, ROUND_NOT_NEEDED);
+    else {
+      all_integers = false;
+      assign_r(*z_i, d, ROUND_DOWN);
+    }
+  }
+  // Restore strong closure.
+  if (all_integers)
+    // oct_z unchanged, so it is still strongly closed.
+    oct_z.set_strongly_closed();
+  else {
+    // oct_z changed: recompute strong closure.
+    oct_z.strong_closure_assign();
+    if (oct_z.marked_empty())
+      return false;
+  }
+  return !oct_z.tight_coherence_would_make_empty();
+}
 
-  //! Honor requests to check for FPU inexact results.
-  const_bool_nodef(fpu_check_inexact, true);
+template <typename T>
+bool
+Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
+                              Coefficient& freq_n, Coefficient& freq_d,
+                              Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
 
-  //! Do not make extra checks to detect FPU NaN results.
-  const_bool_nodef(fpu_check_nan_result, false);
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
 
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+  // Space dimension is 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
+  }
 
-  /*! \brief
-    Handles \p r: called by all constructors, operators and functions that
-    do not return a Result value.
-  */
-  static void handle_result(Result r);
-};
+  strong_closure_assign();
+  // For an empty Octagonal shape, we simply return false.
+  if (marked_empty())
+    return false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief \ingroup PPL_CXX_interface
-  The debugging policy for checked numbers used in weakly-relational
-  domains.
- */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Debug_WRD_Extended_Number_Policy {
-  //! Check for overflowed result.
-  const_bool_nodef(check_overflow, true);
+  // The Octagonal shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff_j);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+  bool constant_v = false;
 
-  //! Check for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, true);
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-  //! Check for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, true);
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
 
-  //! Check for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, true);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
 
-  //! Check for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, true);
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
+    constant_v = false;
+    dimension_type i = i_iter.index();
+    const Variable v(i/2);
+    coeff = le.coefficient(v);
+    if (coeff == 0) {
+      constant_v = true;
+      continue;
+    }
+    // We check the unary constraints.
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ii = *(i_iter + 1);
+    const N& m_i_ii = m_i[i + 1];
+    const N& m_ii_i = m_ii[i];
+    if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i))
+        && (is_additive_inverse(m_i_ii, m_ii_i))) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(m_i_ii, numer, denom);
+      denom *= 2;
+      le -= coeff*v;
+      le *= denom;
+      le -= numer*coeff;
+      val_denom *= denom;
+      constant_v = true;
+      continue;
+    }
+    // Check the octagonal constraints between `v' and the other dimensions
+    // that have non-zero coefficient in `le'.
+    else {
+      PPL_ASSERT(!constant_v);
+      using namespace Implementation::Octagonal_Shapes;
+      const dimension_type ci = coherent_index(i);
+      for (Row_Iterator j_iter = i_iter; j_iter != m_end; j_iter += 2) {
+        dimension_type j = j_iter.index();
+        const Variable vj(j/2);
+        coeff_j = le.coefficient(vj);
+        if (coeff_j == 0)
+          // The coefficient in `le' is 0, so do nothing.
+          continue;
+        const dimension_type cj = coherent_index(j);
+        const dimension_type cjj = coherent_index(j + 1);
 
-  //! Check for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, true);
+        Row_Reference m_j = *(m_begin + j);
+        Row_Reference m_cj = *(m_begin + cj);
+        const N& m_j_i = m_j[i];
+        const N& m_i_j = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j) && !is_plus_infinity(m_j_i))
+            && (is_additive_inverse(m_i_j, m_j_i))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j, numer, denom);
+          le -= coeff*v;
+          le += coeff*vj;
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
+          constant_v = true;
+          break;
+        }
 
-  //! Check for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, true);
+        m_j = *(m_begin + (j + 1));
+        m_cj = *(m_begin + cjj);
+        const N& m_j_i1 = m_j[i];
+        const N& m_i_j1 = m_cj[ci];
+        if ((!is_plus_infinity(m_i_j1) && !is_plus_infinity(m_j_i1))
+            && (is_additive_inverse(m_i_j1, m_j_i1))) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the constraint with `v' is an equality.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(m_i_j1, numer, denom);
+          le -= coeff*v;
+          le -= coeff*vj;
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
+    }
+  }
+  if (!constant_v)
+    // The expression `expr' is not constant.
+    return false;
 
-  //! Checks for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, true);
+  // The expression 'expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
 
-  //! Handle not-a-number special value.
-  const_bool_nodef(has_nan, true);
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d);
+  return true;
+}
 
-  //! Handle infinity special values.
-  const_bool_nodef(has_infinity, true);
+template <typename T>
+bool
+Octagonal_Shape<T>::constrains(const Variable var) const {
+  // `var' should be one of the dimensions of the octagonal shape.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dimension() < var_space_dim)
+    throw_dimension_incompatible("constrains(v)", "v", var);
 
-  // Do not uncomment the following.
-  // The compile time error on conversions is the expected behavior.
-  // const_bool_nodef(convertible, false);
+  // An octagon known to be empty constrains all variables.
+  // (Note: do not force emptiness check _yet_)
+  if (marked_empty())
+    return true;
 
-  //! Honor requests to check for FPU inexact results.
-  const_bool_nodef(fpu_check_inexact, true);
+  // Check whether `var' is syntactically constrained.
+  const dimension_type n_v = 2*(var_space_dim - 1);
+  typename OR_Matrix<N>::const_row_iterator m_iter = matrix.row_begin() + n_v;
+  typename OR_Matrix<N>::const_row_reference_type r_v = *m_iter;
+  typename OR_Matrix<N>::const_row_reference_type r_cv = *(++m_iter);
+  for (dimension_type h = m_iter.row_size(); h-- > 0; ) {
+    if (!is_plus_infinity(r_v[h]) || !is_plus_infinity(r_cv[h]))
+      return true;
+  }
+  ++m_iter;
+  for (typename OR_Matrix<N>::const_row_iterator m_end = matrix.row_end();
+       m_iter != m_end; ++m_iter) {
+    typename OR_Matrix<N>::const_row_reference_type r = *m_iter;
+    if (!is_plus_infinity(r[n_v]) || !is_plus_infinity(r[n_v + 1]))
+      return true;
+  }
 
-  //! Make extra checks to detect FPU NaN results.
-  const_bool_nodef(fpu_check_nan_result, true);
+  // `var' is not syntactically constrained:
+  // now force an emptiness check.
+  return is_empty();
+}
 
-  // Do not uncomment the following.
-  // The compile time error is the expected behavior.
-  // static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_UP;
-  // static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_UP;
+template <typename T>
+bool
+Octagonal_Shape<T>::is_strong_coherent() const {
+  // This method is only used by method OK() so as to check if a
+  // strongly closed matrix is also strong-coherent, as it must be.
+  const dimension_type num_rows = matrix.num_rows();
 
-  /*! \brief
-    Handles \p r: called by all constructors, operators and functions that
-    do not return a Result value.
-  */
-  static void handle_result(Result r);
-};
+  // Allocated here once and for all.
+  PPL_DIRTY_TEMP(N, semi_sum);
+  // The strong-coherence is: for every indexes i and j (and i != j)
+  // matrix[i][j] <= (matrix[i][ci] + matrix[cj][j])/2
+  // where ci = i + 1, if i is even number or
+  //       ci = i - 1, if i is odd.
+  // Ditto for cj.
+  for (dimension_type i = num_rows; i-- > 0; ) {
+    typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin() + i;
+    typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
+    using namespace Implementation::Octagonal_Shapes;
+    const N& m_i_ci = m_i[coherent_index(i)];
+    for (dimension_type j = matrix.row_size(i); j-- > 0; )
+      // Note: on the main diagonal only PLUS_INFINITY can occur.
+      if (i != j) {
+        const N& m_cj_j = matrix[coherent_index(j)][j];
+        if (!is_plus_infinity(m_i_ci)
+            && !is_plus_infinity(m_cj_j)) {
+          // Compute (m_i_ci + m_cj_j)/2 into `semi_sum',
+          // rounding the result towards plus infinity.
+          add_assign_r(semi_sum, m_i_ci, m_cj_j, ROUND_UP);
+          div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+          if (m_i[j] > semi_sum)
+            return false;
+        }
+      }
+  }
+  return true;
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename T>
+bool
+Octagonal_Shape<T>::is_strongly_reduced() const {
+  // This method is only used in assertions: efficiency is not a must.
 
-/* Automatically generated from PPL source file ../src/WRD_coefficient_types.inlines.hh line 1. */
-/* Coefficient types of weakly-relational domains: inline functions.
-*/
+  // An empty octagon is already transitively reduced.
+  if (marked_empty())
+    return true;
 
+  Octagonal_Shape x = *this;
+  // The matrix representing an OS is strongly reduced if, by removing
+  // any constraint, the resulting matrix describes a different OS.
+  for (typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin(),
+         matrix_row_end = matrix.row_end(); iter != matrix_row_end; ++iter) {
+    typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
+    const dimension_type i = iter.index();
+    for (dimension_type j = iter.row_size(); j-- > 0; ) {
+      if (!is_plus_infinity(m_i[j])) {
+        Octagonal_Shape x_copy = *this;
+        assign_r(x_copy.matrix[i][j], PLUS_INFINITY, ROUND_NOT_NEEDED);
+        if (x == x_copy)
+          return false;
+      }
+    }
+  }
+  // The octagon is just reduced.
+  return true;
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T>
+bool
+Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
+                           const bool from_above) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((from_above
+                                  ? "bounds_from_above(e)"
+                                  : "bounds_from_below(e)"), "e", expr);
+  strong_closure_assign();
 
-inline void
-WRD_Extended_Number_Policy::handle_result(Result r) {
-  if (result_class(r) == VC_NAN)
-    throw_result_exception(r);
-}
+  // A zero-dimensional or empty octagon bounds everything.
+  if (space_dim == 0 || marked_empty())
+    return true;
 
-inline void
-Debug_WRD_Extended_Number_Policy::handle_result(Result r) {
-  if (result_class(r) == VC_NAN)
-    throw_result_exception(r);
+  // The constraint `c' is used to check if `expr' is an octagonal difference
+  // and, in this case, to select the cell.
+  const Constraint& c = (from_above) ? expr <= 0 : expr >= 0;
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  if (Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c.space_dimension(), num_vars,
+                                   i, j, coeff, term)) {
+    if (num_vars == 0)
+      return true;
+    // Select the cell to be checked.
+    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
+    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
+    return !is_plus_infinity(m_i[j]);
+  }
+  else {
+    // `c' is not an octagonal constraint: use the MIP solver.
+    Optimization_Mode mode_bounds =
+      from_above ? MAXIMIZATION : MINIMIZATION;
+    MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
+  }
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename T>
+bool
+Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
+                            const bool maximize,
+                            Coefficient& ext_n, Coefficient& ext_d,
+                            bool& included) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((maximize
+                                  ? "maximize(e, ...)"
+                                  : "minimize(e, ...)"), "e", expr);
+  // Deal with zero-dim octagons first.
+  if (space_dim == 0) {
+    if (marked_empty())
+      return false;
+    else {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
+  }
 
-/* Automatically generated from PPL source file ../src/WRD_coefficient_types.defs.hh line 158. */
+  strong_closure_assign();
+  // For an empty OS we simply return false.
+  if (marked_empty())
+    return false;
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 49. */
-#include <cstddef>
-#include <iosfwd>
-#include <vector>
+  // The constraint `c' is used to check if `expr' is an octagonal difference
+  // and, in this case, to select the cell.
+  const Constraint& c = (maximize) ? expr <= 0 : expr >= 0;
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c.space_dimension(), num_vars,
+                                   i, j, coeff, term)) {
+    // `c' is not an octagonal constraint: use the MIP solver.
+    Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION;
+    MIP_Problem mip(space_dim, constraints(), expr, max_min);
+    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
+      mip.optimal_value(ext_n, ext_d);
+      included = true;
+      return true;
+    }
+    else
+      // Here`expr' is unbounded in `*this'.
+      return false;
+  }
+  else {
+    // `c' is an octagonal constraint.
+    if (num_vars == 0) {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
 
-namespace Parma_Polyhedra_Library {
+    // Select the cell to be checked.
+    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
+    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
+    PPL_DIRTY_TEMP(N, d);
+    if (!is_plus_infinity(m_i[j])) {
+      const Coefficient& b = expr.inhomogeneous_term();
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+      neg_assign(minus_b, b);
+      const Coefficient& sc_b = maximize ? b : minus_b;
+      assign_r(d, sc_b, ROUND_UP);
+      // Set `coeff_expr' to the absolute value of coefficient of a variable
+      // of `expr'.
+      PPL_DIRTY_TEMP(N, coeff_expr);
+      const Coefficient& coeff_i = expr.coefficient(Variable(i/2));
+      const int sign_i = sgn(coeff_i);
+      if (sign_i > 0)
+        assign_r(coeff_expr, coeff_i, ROUND_UP);
+      else {
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
+        neg_assign(minus_coeff_i, coeff_i);
+        assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
+      }
+      // Approximating the maximum/minimum of `expr'.
+      if (num_vars == 1) {
+        PPL_DIRTY_TEMP(N, m_i_j);
+        div_2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
+        add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
+      }
+      else
+        add_mul_assign_r(d, coeff_expr, m_i[j], ROUND_UP);
+      numer_denom(d, ext_n, ext_d);
+      if (!maximize)
+        neg_assign(ext_n);
+      included = true;
+      return true;
+    }
 
-namespace IO_Operators {
+    // The `expr' is unbounded.
+    return false;
+  }
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::BD_Shape
-  Writes a textual representation of \p bds on \p s:
-  <CODE>false</CODE> is written if \p bds is an empty polyhedron;
-  <CODE>true</CODE> is written if \p bds is the universe polyhedron;
-  a system of constraints defining \p bds is written otherwise,
-  all constraints separated by ", ".
-*/
 template <typename T>
-std::ostream&
-operator<<(std::ostream& s, const BD_Shape<T>& bds);
-
-} // namespace IO_Operators
+bool
+Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
+                            const bool maximize,
+                            Coefficient& ext_n, Coefficient& ext_d,
+                            bool& included, Generator& g) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((maximize
+                                  ? "maximize(e, ...)"
+                                  : "minimize(e, ...)"), "e", expr);
+  // Deal with zero-dim octagons first.
+  if (space_dim == 0) {
+    if (marked_empty())
+      return false;
+    else {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      g = point();
+      return true;
+    }
+  }
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are the same BDS.
-/*! \relates BD_Shape
-  Note that \p x and \p y may be dimension-incompatible shapes:
-  in this case, the value <CODE>false</CODE> is returned.
-*/
-template <typename T>
-bool operator==(const BD_Shape<T>& x, const BD_Shape<T>& y);
+  strong_closure_assign();
+  // For an empty OS we simply return false.
+  if (marked_empty())
+    return false;
+  if (!is_universe()) {
+    // We use MIP_Problems to handle constraints that are not
+    // octagonal difference.
+    Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION;
+    MIP_Problem mip(space_dim, constraints(), expr, max_min);
+    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
+      g = mip.optimizing_point();
+      mip.evaluate_objective_function(g, ext_n, ext_d);
+      included = true;
+      return true;
+    }
+  }
+  // The `expr' is unbounded.
+  return false;
+}
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y aren't the same BDS.
-/*! \relates BD_Shape
-  Note that \p x and \p y may be dimension-incompatible shapes:
-  in this case, the value <CODE>true</CODE> is returned.
-*/
 template <typename T>
-bool operator!=(const BD_Shape<T>& x, const BD_Shape<T>& y);
-
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+Poly_Con_Relation
+Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
+  dimension_type cg_space_dim = cg.space_dimension();
 
-  The direction of the approximation is specified by \p dir.
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(cg)", cg);
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const BD_Shape<T>& x,
-                                 const BD_Shape<T>& y,
-                                 Rounding_Dir dir);
+  // If the congruence is an equality,
+  // find the relation with the equivalent equality constraint.
+  if (cg.is_equality()) {
+    Constraint c(cg);
+    return relation_with(c);
+  }
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  strong_closure_assign();
 
-  The direction of the approximation is specified by \p dir.
+  if (marked_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const BD_Shape<T>& x,
-                                 const BD_Shape<T>& y,
-                                 Rounding_Dir dir);
+  if (space_dim == 0) {
+    if (cg.is_inconsistent())
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_included();
+  }
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
+  bool min_included;
+  bool bounded_below = minimize(le, min_numer, min_denom, min_included);
 
-  The direction of the approximation is specified by \p dir.
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_below)
+    return Poly_Con_Relation::strictly_intersects();
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const BD_Shape<T>& x,
-                                 const BD_Shape<T>& y,
-                                 Rounding_Dir dir,
-                                 Temp& tmp0,
-                                 Temp& tmp1,
-                                 Temp& tmp2);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
+  bool max_included;
+  bool bounded_above = maximize(le, max_numer, max_denom, max_included);
 
-  The direction of the approximation is specified by \p dir.
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const BD_Shape<T>& x,
-                               const BD_Shape<T>& y,
-                               Rounding_Dir dir);
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_numer / min_denom;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_denom < min_numer)
+    min_value += modulus;
 
-  The direction of the approximation is specified by \p dir.
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_numer / max_denom;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_denom > max_numer)
+    max_value -= modulus;
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const BD_Shape<T>& x,
-                               const BD_Shape<T>& y,
-                               Rounding_Dir dir);
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
+}
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+template <typename T>
+Poly_Con_Relation
+Octagonal_Shape<T>::relation_with(const Constraint& c) const {
+  dimension_type c_space_dim = c.space_dimension();
 
-  The direction of the approximation is specified by \p dir.
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(c)", c);
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const BD_Shape<T>& x,
-                               const BD_Shape<T>& y,
-                               Rounding_Dir dir,
-                               Temp& tmp0,
-                               Temp& tmp1,
-                               Temp& tmp2);
+  // The closure needs to make explicit the implicit constraints.
+  strong_closure_assign();
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  if (marked_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-  The direction of the approximation is specified by \p dir.
+  if (space_dim == 0) {
+    // Trivially false zero-dimensional constraint.
+    if ((c.is_equality() && c.inhomogeneous_term() != 0)
+        || (c.is_inequality() && c.inhomogeneous_term() < 0))
+      return Poly_Con_Relation::is_disjoint();
+    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
+      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
+      // thus, the zero-dimensional point also saturates it.
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_disjoint();
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const BD_Shape<T>& x,
-                                const BD_Shape<T>& y,
-                                Rounding_Dir dir);
+    // Trivially true zero-dimensional constraint.
+    else if (c.is_equality() || c.inhomogeneous_term() == 0)
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_included();
+    else
+      // The zero-dimensional point saturates
+      // neither the positivity constraint 1 >= 0,
+      // nor the strict positivity constraint 1 > 0.
+      return Poly_Con_Relation::is_included();
+  }
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(c_term);
+  if (!Octagonal_Shape_Helper
+    ::extract_octagonal_difference(c, c_space_dim, num_vars,
+                                   i, j, coeff, c_term)) {
+    // Constraints that are not octagonal differences.
+    // Use maximize() and minimize() to do much of the work.
 
-  The direction of the approximation is specified by \p dir.
+    // Find the linear expression for the constraint and use that to
+    // find if the expression is bounded from above or below and if it
+    // is, find the maximum and minimum values.
+    Linear_Expression le;
+    le.set_space_dimension(c.space_dimension());
+    le.linear_combine(c.expr, Coefficient_one(), Coefficient_one(),
+                      1, c_space_dim + 1);
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const BD_Shape<T>& x,
-                                const BD_Shape<T>& y,
-                                Rounding_Dir dir);
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
+    bool max_included;
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
+    bool min_included;
+    bool bounded_above = maximize(le, max_numer, max_denom, max_included);
+    bool bounded_below = minimize(le, min_numer, min_denom, min_included);
+    if (!bounded_above) {
+      if (!bounded_below)
+        return Poly_Con_Relation::strictly_intersects();
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(min_numer)) {
+      case 1:
+        if (c.is_equality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_included();
+      case 0:
+        if (c.is_strict_inequality() || c.is_equality())
+          return Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::is_included();
+      case -1:
+        return Poly_Con_Relation::strictly_intersects();
+      }
+    }
+    if (!bounded_below) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      switch (sgn(max_numer)) {
+      case 1:
+        return Poly_Con_Relation::strictly_intersects();
+      case 0:
+        if (c.is_strict_inequality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
+      case -1:
+        return Poly_Con_Relation::is_disjoint();
+      }
+    }
+    else {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(max_numer)) {
+      case 1:
+        switch (sgn(min_numer)) {
+        case 1:
+          if (c.is_equality())
+            return Poly_Con_Relation::is_disjoint();
+          return Poly_Con_Relation::is_included();
+        case 0:
+          if (c.is_equality())
+            return Poly_Con_Relation::strictly_intersects();
+          if (c.is_strict_inequality())
+            return Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_included();
+        case -1:
+          return Poly_Con_Relation::strictly_intersects();
+        }
+        PPL_UNREACHABLE;
+        break;
+      case 0:
+        if (min_numer == 0) {
+          if (c.is_strict_inequality())
+            return Poly_Con_Relation::is_disjoint()
+              && Poly_Con_Relation::saturates();
+          return Poly_Con_Relation::is_included()
+            && Poly_Con_Relation::saturates();
+        }
+        if (c.is_strict_inequality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
+      case -1:
+        return Poly_Con_Relation::is_disjoint();
+      }
+    }
+  }
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates BD_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  if (num_vars == 0) {
+    // Dealing with a trivial constraint.
+    switch (sgn(c.inhomogeneous_term())) {
+    case -1:
+      return Poly_Con_Relation::is_disjoint();
+    case 0:
+      if (c.is_strict_inequality())
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_included();
+    case 1:
+      if (c.is_equality())
+        return Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::is_included();
+    }
+  }
 
-  The direction of the approximation is specified by \p dir.
+  // Select the cell to be checked for the "<=" part of constraint.
+  typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
+  typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
+  const N& m_i_j = m_i[j];
+  // Set `coeff' to the absolute value of itself.
+  if (coeff < 0)
+    neg_assign(coeff);
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const BD_Shape<T>& x,
-                                const BD_Shape<T>& y,
-                                Rounding_Dir dir,
-                                Temp& tmp0,
-                                Temp& tmp1,
-                                Temp& tmp2);
+  // Select the cell to be checked for the ">=" part of constraint.
+  // Select the right row of the cell.
+  if (i % 2 == 0)
+    ++i_iter;
+  else
+    --i_iter;
+  typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
+  using namespace Implementation::Octagonal_Shapes;
+  const N& m_ci_cj = m_ci[coherent_index(j)];
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  // The following variables of mpq_class type are used to be precise
+  // when the octagon is defined by integer constraints.
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
+  PPL_DIRTY_TEMP(mpq_class, d);
+  PPL_DIRTY_TEMP(mpq_class, d1);
+  PPL_DIRTY_TEMP(mpq_class, c_denom);
+  PPL_DIRTY_TEMP(mpq_class, q_denom);
+  assign_r(c_denom, coeff, ROUND_NOT_NEEDED);
+  assign_r(d, c_term, ROUND_NOT_NEEDED);
+  neg_assign_r(d1, d, ROUND_NOT_NEEDED);
+  div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED);
+  div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as a bounded difference.
-/*! \relates BD_Shape
-  \return
-  <CODE>true</CODE> if the constraint \p c is a
-  \ref Bounded_Difference_Shapes "bounded difference";
-  <CODE>false</CODE> otherwise.
+  if (is_plus_infinity(m_i_j)) {
+    if (!is_plus_infinity(m_ci_cj)) {
+      // `*this' is in the following form:
+      // `-m_ci_cj <= v - u'.
+      // In this case `*this' is disjoint from `c' if
+      // `-m_ci_cj > d' (`-m_ci_cj >= d' if c is a strict inequality),
+      // i.e., if `m_ci_cj < d1' (`m_ci_cj <= d1'
+      // if c is a strict inequality).
+      numer_denom(m_ci_cj, numer, denom);
+      assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+      assign_r(q_y, numer, ROUND_NOT_NEEDED);
+      div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
+      if (q_y < d1)
+        return Poly_Con_Relation::is_disjoint();
+      if (q_y == d1 && c.is_strict_inequality())
+        return Poly_Con_Relation::is_disjoint();
+    }
 
-  \param c
-  The constraint to be decoded.
+    // In all other cases `*this' intersects `c'.
+    return Poly_Con_Relation::strictly_intersects();
+  }
 
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
+  // Here `m_i_j' is not plus-infinity.
+  numer_denom(m_i_j, numer, denom);
+  assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+  assign_r(q_x, numer, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED);
 
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0, 1 and 2.
+  if (!is_plus_infinity(m_ci_cj)) {
+    numer_denom(m_ci_cj, numer, denom);
+    assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+    assign_r(q_y, numer, ROUND_NOT_NEEDED);
+    div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
+    if (q_x == d && q_y == d1) {
+      if (c.is_strict_inequality())
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_included();
+    }
+    // `*this' is disjoint from `c' when
+    // `m_ci_cj < d1' (`m_ci_cj <= d1' if `c' is a strict inequality).
+    if (q_y < d1)
+      return Poly_Con_Relation::is_disjoint();
+    if (q_y == d1 && c.is_strict_inequality())
+      return Poly_Con_Relation::is_disjoint();
+  }
 
-  \param c_first_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the first variable having
-  a non-zero coefficient in \p c.
+  // Here `m_ci_cj' can be also plus-infinity.
+  // If `c' is an equality, `*this' is disjoint from `c' if
+  // `m_i_j < d'.
+  if (d > q_x) {
+    if (c.is_equality())
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::is_included();
+  }
 
-  \param c_second_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
-  then it will be set to the index of the second variable having
-  a non-zero coefficient in \p c.
+  if (d == q_x && c.is_nonstrict_inequality())
+    return Poly_Con_Relation::is_included();
 
-  \param c_coeff
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the value of the first non-zero coefficient
-  in \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_bounded_difference(const Constraint& c,
-                                dimension_type c_space_dim,
-                                dimension_type& c_num_vars,
-                                dimension_type& c_first_var,
-                                dimension_type& c_second_var,
-                                Coefficient& c_coeff);
+  // In all other cases `*this' intersects `c'.
+  return Poly_Con_Relation::strictly_intersects();
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Extracts leader indices from the predecessor relation.
-/*! \relates BD_Shape */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void compute_leader_indices(const std::vector<dimension_type>& predecessor,
-                            std::vector<dimension_type>& indices);
+template <typename T>
+Poly_Gen_Relation
+Octagonal_Shape<T>::relation_with(const Generator& g) const {
+  const dimension_type g_space_dim = g.space_dimension();
 
-} // namespace Parma_Polyhedra_Library
+  // Dimension-compatibility check.
+  if (space_dim < g_space_dim)
+    throw_dimension_incompatible("relation_with(g)", g);
 
-//! A bounded difference shape.
-/*! \ingroup PPL_CXX_interface
-  The class template BD_Shape<T> allows for the efficient representation
-  of a restricted kind of <EM>topologically closed</EM> convex polyhedra
-  called <EM>bounded difference shapes</EM> (BDSs, for short).
-  The name comes from the fact that the closed affine half-spaces that
-  characterize the polyhedron can be expressed by constraints of the form
-  \f$\pm x_i \leq k\f$ or \f$x_i - x_j \leq k\f$, where the inhomogeneous
-  term \f$k\f$ is a rational number.
+  // The closure needs to make explicit the implicit constraints and if the
+  // octagon is empty.
+  strong_closure_assign();
 
-  Based on the class template type parameter \p T, a family of extended
-  numbers is built and used to approximate the inhomogeneous term of
-  bounded differences. These extended numbers provide a representation
-  for the value \f$+\infty\f$, as well as <EM>rounding-aware</EM>
-  implementations for several arithmetic functions.
-  The value of the type parameter \p T may be one of the following:
-    - a bounded precision integer type (e.g., \c int32_t or \c int64_t);
-    - a bounded precision floating point type (e.g., \c float or \c double);
-    - an unbounded integer or rational type, as provided by GMP
-      (i.e., \c mpz_class or \c mpq_class).
+  // The empty octagon cannot subsume a generator.
+  if (marked_empty())
+    return Poly_Gen_Relation::nothing();
 
-  The user interface for BDSs is meant to be as similar as possible to
-  the one developed for the polyhedron class C_Polyhedron.
+  // A universe octagon in a zero-dimensional space subsumes
+  // all the generators of a zero-dimensional space.
+  if (space_dim == 0)
+    return Poly_Gen_Relation::subsumes();
 
-  The domain of BD shapes <EM>optimally supports</EM>:
-    - tautological and inconsistent constraints and congruences;
-    - bounded difference constraints;
-    - non-proper congruences (i.e., equalities) that are expressible
-      as bounded-difference constraints.
+  const bool is_line = g.is_line();
+  const bool is_line_or_ray = g.is_line_or_ray();
 
-  Depending on the method, using a constraint or congruence that is not
-  optimally supported by the domain will either raise an exception or
-  result in a (possibly non-optimal) upward approximation.
+  // The relation between the octagon and the given generator is obtained
+  // checking if the generator satisfies all the constraints in the octagon.
+  // To check if the generator satisfies all the constraints it's enough
+  // studying the sign of the scalar product between the generator and
+  // all the constraints in the octagon.
 
-  A constraint is a bounded difference if it has the form
-    \f[
-      a_i x_i - a_j x_j \relsym b
-    \f]
-  where \f$\mathord{\relsym} \in \{ \leq, =, \geq \}\f$ and
-  \f$a_i\f$, \f$a_j\f$, \f$b\f$ are integer coefficients such that
-  \f$a_i = 0\f$, or \f$a_j = 0\f$, or \f$a_i = a_j\f$.
-  The user is warned that the above bounded difference Constraint object
-  will be mapped into a \e correct and \e optimal approximation that,
-  depending on the expressive power of the chosen template argument \p T,
-  may loose some precision. Also note that strict constraints are not
-  bounded differences.
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-  For instance, a Constraint object encoding \f$3x - 3y \leq 1\f$ will be
-  approximated by:
-    - \f$x - y \leq 1\f$,
-      if \p T is a (bounded or unbounded) integer type;
-    - \f$x - y \leq \frac{1}{3}\f$,
-      if \p T is the unbounded rational type \c mpq_class;
-    - \f$x - y \leq k\f$, where \f$k > \frac{1}{3}\f$,
-      if \p T is a floating point type (having no exact representation
-      for \f$\frac{1}{3}\f$).
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
 
-  On the other hand, depending from the context, a Constraint object
-  encoding \f$3x - y \leq 1\f$ will be either upward approximated
-  (e.g., by safely ignoring it) or it will cause an exception.
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  PPL_DIRTY_TEMP_COEFFICIENT(product);
 
-  In the following examples it is assumed that the type argument \p T
-  is one of the possible instances listed above and that variables
-  <CODE>x</CODE>, <CODE>y</CODE> and <CODE>z</CODE> are defined
-  (where they are used) as follows:
-  \code
-    Variable x(0);
-    Variable y(1);
-    Variable z(2);
-  \endcode
+  // We find in `*this' all the constraints.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
+    dimension_type i = i_iter.index();
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ii = *(i_iter + 1);
+    const N& m_i_ii = m_i[i + 1];
+    const N& m_ii_i = m_ii[i];
+    // We have the unary constraints.
+    const Variable x(i/2);
+    const Coefficient& g_coeff_x
+      = (x.space_dimension() > g_space_dim)
+      ? Coefficient_zero()
+      : g.coefficient(x);
+    if (is_additive_inverse(m_i_ii, m_ii_i)) {
+      // The constraint has form ax = b.
+      // To satisfy the constraint it is necessary that the scalar product
+      // is not zero. The scalar product has the form
+      // 'denom * g_coeff_x - numer * g.divisor()'.
+      numer_denom(m_ii_i, numer, denom);
+      denom *= 2;
+      product = denom * g_coeff_x;
+      // Note that if the generator `g' is a line or a ray,
+      // its divisor is zero.
+      if (!is_line_or_ray) {
+        neg_assign(numer);
+        add_mul_assign(product, numer, g.divisor());
+      }
+      if (product != 0)
+        return Poly_Gen_Relation::nothing();
+    }
+    // We have 0, 1 or 2 inequality constraints.
+    else {
+      if (!is_plus_infinity(m_i_ii)) {
+        // The constraint has form -ax <= b.
+        // If the generator is a line it's necessary to check if
+        // the scalar product is not zero, if it is positive otherwise.
+        numer_denom(m_i_ii, numer, denom);
+        denom *= -2;
+        product = denom * g_coeff_x;
+        // Note that if the generator `g' is a line or a ray,
+        // its divisor is zero.
+        if (!is_line_or_ray) {
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
+        }
+        if (is_line && product != 0)
+          return Poly_Gen_Relation::nothing();
+        else
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive and the scalar
+          // product has the form
+          // '-denom * g.coeff_x - numer * g.divisor()'.
+          if (product > 0)
+            return Poly_Gen_Relation::nothing();
+      }
+      if (!is_plus_infinity(m_ii_i)) {
+        // The constraint has form ax <= b.
+        numer_denom(m_ii_i, numer, denom);
+        denom *= 2;
+        product = denom * g_coeff_x;
+         // Note that if the generator `g' is a line or a ray,
+        // its divisor is zero.
+        if (!is_line_or_ray) {
+          neg_assign(numer);
+          add_mul_assign(product, numer , g.divisor());
+        }
+        if (is_line && product != 0)
+          return Poly_Gen_Relation::nothing();
+        else
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive and the scalar
+          // product has the form
+          // 'denom * g_coeff_x - numer * g.divisor()'.
+          if (product > 0)
+            return Poly_Gen_Relation::nothing();
+      }
+    }
+  }
 
-  \par Example 1
-  The following code builds a BDS corresponding to a cube in \f$\Rset^3\f$,
-  given as a system of constraints:
-  \code
-    Constraint_System cs;
-    cs.insert(x >= 0);
-    cs.insert(x <= 1);
-    cs.insert(y >= 0);
-    cs.insert(y <= 1);
-    cs.insert(z >= 0);
-    cs.insert(z <= 1);
-    BD_Shape<T> bd(cs);
-  \endcode
-  Since only those constraints having the syntactic form of a
-  <EM>bounded difference</EM> are optimally supported, the following code
-  will throw an exception (caused by constraints 7, 8 and 9):
-  \code
-    Constraint_System cs;
-    cs.insert(x >= 0);
-    cs.insert(x <= 1);
-    cs.insert(y >= 0);
-    cs.insert(y <= 1);
-    cs.insert(z >= 0);
-    cs.insert(z <= 1);
-    cs.insert(x + y <= 0);      // 7
-    cs.insert(x - z + x >= 0);  // 8
-    cs.insert(3*z - y <= 1);    // 9
-    BD_Shape<T> bd(cs);
-  \endcode
-*/
-template <typename T>
-class Parma_Polyhedra_Library::BD_Shape {
-private:
-  /*! \brief
-    The (extended) numeric type of the inhomogeneous term of
-    the inequalities defining a BDS.
-  */
-#ifndef NDEBUG
-  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
-#else
-  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
-#endif
+  // We have the binary constraints.
+  for (Row_Iterator i_iter = m_begin ; i_iter != m_end; i_iter += 2) {
+    dimension_type i = i_iter.index();
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ii = *(i_iter + 1);
+    for (dimension_type j = 0; j < i; j += 2) {
+      const N& m_i_j = m_i[j];
+      const N& m_ii_jj = m_ii[j + 1];
+      const N& m_ii_j = m_ii[j];
+      const N& m_i_jj = m_i[j + 1];
+      const Variable x(j/2);
+      const Variable y(i/2);
+      const Coefficient& g_coeff_x
+        = (x.space_dimension() > g_space_dim)
+        ? Coefficient_zero()
+        : g.coefficient(x);
+      const Coefficient& g_coeff_y
+        = (y.space_dimension() > g_space_dim)
+        ? Coefficient_zero()
+        : g.coefficient(y);
 
-public:
-  //! The numeric base type upon which bounded differences are built.
-  typedef T coefficient_type_base;
+      const bool difference_is_equality = is_additive_inverse(m_ii_jj, m_i_j);
+      if (difference_is_equality) {
+        // The constraint has form a*x - a*y = b.
+        // The scalar product has the form
+        // 'denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
+        // To satisfy the constraint it's necessary that the scalar product
+        // is not zero.
+        numer_denom(m_i_j, numer, denom);
+        product = denom * g_coeff_x;
+        neg_assign(denom);
+        add_mul_assign(product, denom, g_coeff_y);
+        // Note that if the generator `g' is a line or a ray,
+        // its divisor is zero.
+        if (!is_line_or_ray) {
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
+        }
+        if (product != 0)
+          return Poly_Gen_Relation::nothing();
+      }
+      else {
+        if (!is_plus_infinity(m_i_j)) {
+          // The constraint has form a*x - a*y <= b.
+          // The scalar product has the form
+          // 'denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive.
+          numer_denom(m_i_j, numer, denom);
+          product = denom * g_coeff_x;
+          neg_assign(denom);
+          add_mul_assign(product, denom, g_coeff_y);
+          // Note that if the generator `g' is a line or a ray,
+          // its divisor is zero.
+          if (!is_line_or_ray) {
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
+          }
+          if (is_line && product != 0)
+            return Poly_Gen_Relation::nothing();
+          else if (product > 0)
+            return Poly_Gen_Relation::nothing();
+        }
+        if (!is_plus_infinity(m_ii_jj)) {
+          // The constraint has form -a*x + a*y <= b.
+          // The scalar product has the form
+          // '-denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive.
+          numer_denom(m_ii_jj, numer, denom);
+          product = denom * g_coeff_y;
+          neg_assign(denom);
+          add_mul_assign(product, denom, g_coeff_x);
+          // Note that if the generator `g' is a line or a ray,
+          // its divisor is zero.
+          if (!is_line_or_ray) {
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
+          }
+          if (is_line && product != 0)
+            return Poly_Gen_Relation::nothing();
+          else if (product > 0)
+            return Poly_Gen_Relation::nothing();
+        }
+      }
 
-  /*! \brief
-    The (extended) numeric type of the inhomogeneous term of the
-    inequalities defining a BDS.
-  */
-  typedef N coefficient_type;
+      const bool sum_is_equality = is_additive_inverse(m_i_jj, m_ii_j);
+      if (sum_is_equality) {
+        // The constraint has form a*x + a*y = b.
+        // The scalar product has the form
+        // 'denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
+        // To satisfy the constraint it's necessary that the scalar product
+        // is not zero.
+        numer_denom(m_ii_j, numer, denom);
+        product = denom * g_coeff_x;
+        add_mul_assign(product, denom, g_coeff_y);
+        // Note that if the generator `g' is a line or a ray,
+        // its divisor is zero.
+        if (!is_line_or_ray) {
+          neg_assign(numer);
+          add_mul_assign(product, numer, g.divisor());
+        }
+        if (product != 0)
+          return Poly_Gen_Relation::nothing();
+      }
+      else {
+        if (!is_plus_infinity(m_i_jj)) {
+          // The constraint has form -a*x - a*y <= b.
+          // The scalar product has the form
+          // '-denom * coeff_x - denom * coeff_y - numer * g.divisor()'.
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive.
+          numer_denom(m_i_jj, numer, denom);
+          neg_assign(denom);
+          product = denom * g_coeff_x;
+          add_mul_assign(product, denom, g_coeff_y);
+          // Note that if the generator `g' is a line or a ray,
+          // its divisor is zero.
+          if (!is_line_or_ray) {
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
+          }
+          if (is_line && product != 0)
+            return Poly_Gen_Relation::nothing();
+          else if (product > 0)
+            return Poly_Gen_Relation::nothing();
+        }
+        if (!is_plus_infinity(m_ii_j)) {
+          // The constraint has form a*x + a*y <= b.
+          // The scalar product has the form
+          // 'denom * coeff_x + denom * coeff_y - numer * g.divisor()'.
+          // If the generator is not a line it's necessary to check
+          // that the scalar product sign is not positive.
+          numer_denom(m_ii_j, numer, denom);
+          product = denom * g_coeff_x;
+          add_mul_assign(product, denom, g_coeff_y);
+          // Note that if the generator `g' is a line or a ray,
+          // its divisor is zero.
+          if (!is_line_or_ray) {
+            neg_assign(numer);
+            add_mul_assign(product, numer, g.divisor());
+          }
+          if (is_line && product != 0)
+            return Poly_Gen_Relation::nothing();
+          else if (product > 0)
+            return Poly_Gen_Relation::nothing();
+        }
+      }
+    }
+  }
+  // If this point is reached the constraint 'g' satisfies
+  // all the constraints in the octagon.
+  return Poly_Gen_Relation::subsumes();
+}
 
-  //! Returns the maximum space dimension that a BDS can handle.
-  static dimension_type max_space_dimension();
+template <typename T>
+void
+Octagonal_Shape<T>::strong_closure_assign() const {
+  // Do something only if necessary (zero-dim implies strong closure).
+  if (marked_empty() || marked_strongly_closed() || space_dim == 0)
+    return;
 
-  /*! \brief
-    Returns \c false indicating that this domain cannot recycle constraints.
-  */
-  static bool can_recycle_constraint_systems();
+  // Even though the octagon will not change, its internal representation
+  // is going to be modified by the closure algorithm.
+  Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
 
-  /*! \brief
-    Returns \c false indicating that this domain cannot recycle congruences.
-  */
-  static bool can_recycle_congruence_systems();
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
-  //! \name Constructors, Assignment, Swap and Destructor
-  //@{
+  const dimension_type n_rows = x.matrix.num_rows();
+  const Row_Iterator m_begin = x.matrix.row_begin();
+  const Row_Iterator m_end = x.matrix.row_end();
 
-  //! Builds a universe or empty BDS of the specified space dimension.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the BDS;
+  // Fill the main diagonal with zeros.
+  for (Row_Iterator i = m_begin; i != m_end; ++i) {
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
+    assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
+  }
 
-    \param kind
-    Specifies whether the universe or the empty BDS has to be built.
-  */
-  explicit BD_Shape(dimension_type num_dimensions = 0,
-                    Degenerate_Element kind = UNIVERSE);
+  // This algorithm is given by two steps: the first one is a simple
+  // adaptation of the `shortest-path closure' using the Floyd-Warshall
+  // algorithm; the second one is the `strong-coherence' algorithm.
+  // It is important to note that after the strong-coherence,
+  // the octagon is still shortest-path closed and hence, strongly closed.
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  BD_Shape(const BD_Shape& y,
-           Complexity_Class complexity = ANY_COMPLEXITY);
+  // Recall that, given an index `h', we indicate with `ch' the coherent
+  // index, i.e., the index such that:
+  //   ch = h + 1, if h is an even number;
+  //   ch = h - 1, if h is an odd number.
 
-  //! Builds a conservative, upward approximation of \p y.
-  /*!
-    The complexity argument is ignored.
-  */
-  template <typename U>
-  explicit BD_Shape(const BD_Shape<U>& y,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+  typename OR_Matrix<N>::element_iterator iter_ij;
+  std::vector<N> vec_k(n_rows);
+  std::vector<N> vec_ck(n_rows);
+  PPL_DIRTY_TEMP(N, sum1);
+  PPL_DIRTY_TEMP(N, sum2);
+  Row_Reference x_k;
+  Row_Reference x_ck;
+  Row_Reference x_i;
+  Row_Reference x_ci;
 
-  //! Builds a BDS from the system of constraints \p cs.
-  /*!
-    The BDS inherits the space dimension of \p cs.
+  // Since the index `j' of the inner loop will go from 0 up to `i',
+  // the three nested loops have to be executed twice.
+  for (int twice = 0; twice < 2; ++twice) {
 
-    \param cs
-    A system of BD constraints.
+    Row_Iterator x_k_iter = m_begin;
+    Row_Iterator x_i_iter = m_begin;
+    for (dimension_type k = 0; k < n_rows; k += 2) {
+      const dimension_type ck = k + 1;
+      // Re-initialize the element iterator.
+      iter_ij = x.matrix.element_begin();
+      // Compute the row references `x_k' and `x_ck'.
+      x_k  = *x_k_iter;
+      ++x_k_iter;
+      x_ck = *x_k_iter;
+      ++x_k_iter;
 
-    \exception std::invalid_argument
-    Thrown if \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-  */
-  explicit BD_Shape(const Constraint_System& cs);
+      for (dimension_type i = 0; i <= k; i += 2) {
+        const dimension_type ci = i + 1;
+        // Storing x_k_i == x_ci_ck.
+        vec_k[i] = x_k[i];
+        // Storing x_k_ci == x_i_ck.
+        vec_k[ci] = x_k[ci];
+        // Storing x_ck_i == x_ci_k.
+        vec_ck[i] = x_ck[i];
+        // Storing x_ck_ci == x_i_k.
+        vec_ck[ci] = x_ck[ci];
+      }
+      x_i_iter = x_k_iter;
+      for (dimension_type i = k + 2; i < n_rows; i += 2) {
+        const dimension_type ci = i + 1;
+        x_i = *x_i_iter;
+        ++x_i_iter;
+        x_ci = *x_i_iter;
+        ++x_i_iter;
+        // Storing x_k_i == x_ci_ck.
+        vec_k[i] = x_ci[ck];
+        // Storing x_k_ci == x_i_ck.
+        vec_k[ci] = x_i[ck];
+        // Storing x_ck_i == x_ci_k.
+        vec_ck[i] = x_ci[k];
+        // Storing x_ck_ci == x_i_k.
+        vec_ck[ci] = x_i[k];
+      }
 
-  //! Builds a BDS from a system of congruences.
-  /*!
-    The BDS inherits the space dimension of \p cgs
+      for (dimension_type i = 0; i < n_rows; ++i) {
+        using namespace Implementation::Octagonal_Shapes;
+        const dimension_type ci = coherent_index(i);
+        const N& vec_k_ci = vec_k[ci];
+        const N& vec_ck_ci = vec_ck[ci];
+        // Unfolding two iterations on `j': this ensures that
+        // the loop exit condition `j <= i' is OK.
+        for (dimension_type j = 0; j <= i; ) {
+          // First iteration: compute
+          //
+          // <CODE>
+          //   sum1 = x_i_k + x_k_j == x_ck_ci + x_k_j;
+          //   sum2 = x_i_ck + x_ck_j == x_k_ci + x_ck_j;
+          // </CODE>
+          add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP);
+          add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP);
+          min_assign(sum1, sum2);
+          min_assign(*iter_ij, sum1);
+          // Exiting the first iteration: loop index control.
+          ++j;
+          ++iter_ij;
+          // Second iteration: ditto.
+          add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP);
+          add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP);
+          min_assign(sum1, sum2);
+          min_assign(*iter_ij, sum1);
+          // Exiting the second iteration: loop index control.
+          ++j;
+          ++iter_ij;
+        }
+      }
+    }
+  }
 
-    \param cgs
-    A system of congruences.
+  // Check for emptiness: the octagon is empty if and only if there is a
+  // negative value in the main diagonal.
+  for (Row_Iterator i = m_begin; i != m_end; ++i) {
+    N& x_i_i = (*i)[i.index()];
+    if (sgn(x_i_i) < 0) {
+      x.set_empty();
+      return;
+    }
+    else {
+      PPL_ASSERT(sgn(x_i_i) == 0);
+      // Restore PLUS_INFINITY on the main diagonal.
+      assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p cgs contains congruences which are not optimally
-    supported by the BD shape domain.
-  */
-  explicit BD_Shape(const Congruence_System& cgs);
+  // Step 2: we enforce the strong coherence.
+  x.strong_coherence_assign();
+  // The octagon is not empty and it is now strongly closed.
+  x.set_strongly_closed();
+}
 
-  //! Builds a BDS from the system of generators \p gs.
-  /*!
-    Builds the smallest BDS containing the polyhedron defined by \p gs.
-    The BDS inherits the space dimension of \p gs.
+template <typename T>
+void
+Octagonal_Shape<T>::strong_coherence_assign() {
+  // The strong-coherence is: for every indexes i and j
+  // m_i_j <= (m_i_ci + m_cj_j)/2
+  // where ci = i + 1, if i is even number or
+  //       ci = i - 1, if i is odd.
+  // Ditto for cj.
+  PPL_DIRTY_TEMP(N, semi_sum);
+  for (typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin(),
+         i_end = matrix.row_end(); i_iter != i_end; ++i_iter) {
+    typename OR_Matrix<N>::row_reference_type x_i = *i_iter;
+    const dimension_type i = i_iter.index();
+    using namespace Implementation::Octagonal_Shapes;
+    const N& x_i_ci = x_i[coherent_index(i)];
+    // Avoid to do unnecessary sums.
+    if (!is_plus_infinity(x_i_ci))
+      for (dimension_type j = 0, rs_i = i_iter.row_size(); j < rs_i; ++j)
+        if (i != j) {
+          const N& x_cj_j = matrix[coherent_index(j)][j];
+          if (!is_plus_infinity(x_cj_j)) {
+            add_assign_r(semi_sum, x_i_ci, x_cj_j, ROUND_UP);
+            div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
+            min_assign(x_i[j], semi_sum);
+          }
+        }
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit BD_Shape(const Generator_System& gs);
+template <typename T>
+bool
+Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
+  PPL_ASSERT(std::numeric_limits<N>::is_integer);
+  PPL_ASSERT(marked_strongly_closed());
+  const dimension_type space_dim = space_dimension();
+  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+    const dimension_type ci = i + 1;
+    const N& mat_i_ci = matrix[i][ci];
+    if (!is_plus_infinity(mat_i_ci)
+        // Check for oddness of `mat_i_ci'.
+        && !is_even(mat_i_ci)
+        // Check for zero-equivalence of `i' and `ci'.
+        && is_additive_inverse(mat_i_ci, matrix[ci][i]))
+      return true;
+  }
+  return false;
+}
 
-  //! Builds a BDS from the polyhedron \p ph.
-  /*!
-    Builds a BDS containing \p ph using algorithms whose complexity
-    does not exceed the one specified by \p complexity.  If
-    \p complexity is \p ANY_COMPLEXITY, then the BDS built is the
-    smallest one containing \p ph.
-  */
-  explicit BD_Shape(const Polyhedron& ph,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename T>
+void
+Octagonal_Shape<T>::tight_closure_assign() {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::tight_closure_assign():"
+                         " T in not an integer datatype.");
+  // FIXME: this is just an executable specification.
+  // (The following call could be replaced by shortest-path closure.)
+  strong_closure_assign();
+  if (marked_empty())
+    return;
+  if (tight_coherence_would_make_empty())
+    set_empty();
+  else {
+    // Tighten the unary constraints.
+    PPL_DIRTY_TEMP(N, temp_one);
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+    const dimension_type space_dim = space_dimension();
+    for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+      const dimension_type ci = i + 1;
+      N& mat_i_ci = matrix[i][ci];
+      if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci))
+        sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      N& mat_ci_i = matrix[ci][i];
+      if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i))
+        sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+    }
+    // Propagate tightened unary constraints.
+    strong_coherence_assign();
+  }
+  PPL_ASSERT(OK());
+}
 
-  //! Builds a BDS out of a box.
-  /*!
-    The BDS inherits the space dimension of the box.
-    The built BDS is the most precise BDS that includes the box.
+template <typename T>
+void
+Octagonal_Shape<T>
+::incremental_strong_closure_assign(const Variable var) const {
+  // `var' should be one of the dimensions of the octagon.
+  if (var.id() >= space_dim)
+    throw_dimension_incompatible("incremental_strong_closure_assign(v)",
+                                 var.id());
 
-    \param box
-    The box representing the BDS to be built.
+  // Do something only if necessary.
+  if (marked_empty() || marked_strongly_closed())
+    return;
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename Interval>
-  explicit BD_Shape(const Box<Interval>& box,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
-  //! Builds a BDS out of a grid.
-  /*!
-    The BDS inherits the space dimension of the grid.
-    The built BDS is the most precise BDS that includes the grid.
+  const Row_Iterator m_begin = x.matrix.row_begin();
+  const Row_Iterator m_end = x.matrix.row_end();
 
-    \param grid
-    The grid used to build the BDS.
+  // Fill the main diagonal with zeros.
+  for (Row_Iterator i = m_begin; i != m_end; ++i) {
+    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
+    assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  // Using the incremental Floyd-Warshall algorithm.
+  // Step 1: Improve all constraints on variable `var'.
+  const dimension_type v = 2*var.id();
+  const dimension_type cv = v + 1;
+  Row_Iterator v_iter = m_begin + v;
+  Row_Iterator cv_iter = v_iter + 1;
+  Row_Reference x_v = *v_iter;
+  Row_Reference x_cv = *cv_iter;
+  const dimension_type rs_v = v_iter.row_size();
+  const dimension_type n_rows = x.matrix.num_rows();
+  PPL_DIRTY_TEMP(N, sum);
+  using namespace Implementation::Octagonal_Shapes;
+  for (Row_Iterator k_iter = m_begin; k_iter != m_end; ++k_iter) {
+    const dimension_type k = k_iter.index();
+    const dimension_type ck = coherent_index(k);
+    const dimension_type rs_k = k_iter.row_size();
+    Row_Reference x_k = *k_iter;
+    Row_Reference x_ck = (k % 2 != 0) ? *(k_iter-1) : *(k_iter + 1);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p grid exceeds the maximum
-    allowed space dimension.
-  */
-  explicit BD_Shape(const Grid& grid,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+      const dimension_type i = i_iter.index();
+      const dimension_type ci = coherent_index(i);
+      const dimension_type rs_i = i_iter.row_size();
+      Row_Reference x_i = *i_iter;
+      Row_Reference x_ci = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
 
-  //! Builds a BDS from an octagonal shape.
-  /*!
-    The BDS inherits the space dimension of the octagonal shape.
-    The built BDS is the most precise BDS that includes the octagonal shape.
+      const N& x_i_k = (k < rs_i) ? x_i[k] : x_ck[ci];
+      if (!is_plus_infinity(x_i_k)) {
+        const N& x_k_v = (v < rs_k) ? x_k[v] : x_cv[ck];
+        if (!is_plus_infinity(x_k_v)) {
+          add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
+          N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci];
+          min_assign(x_i_v, sum);
+        }
+        const N& x_k_cv = (cv < rs_k) ? x_k[cv] : x_v[ck];
+        if (!is_plus_infinity(x_k_cv)) {
+          add_assign_r(sum, x_i_k, x_k_cv, ROUND_UP);
+          N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci];
+          min_assign(x_i_cv, sum);
+        }
+      }
+      const N& x_k_i = (i < rs_k) ? x_k[i] : x_ci[ck];
+      if (!is_plus_infinity(x_k_i)) {
+        const N& x_v_k = (k < rs_v) ? x_v[k] : x_ck[cv];
+        if (!is_plus_infinity(x_v_k)) {
+          N& x_v_i = (i < rs_v) ? x_v[i] : x_ci[cv];
+          add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
+          min_assign(x_v_i, sum);
+        }
+        const N& x_cv_k = (k < rs_v) ? x_cv[k] : x_ck[v];
+        if (!is_plus_infinity(x_cv_k)) {
+          N& x_cv_i = (i < rs_v) ? x_cv[i] : x_ci[v];
+          add_assign_r(sum, x_cv_k, x_k_i, ROUND_UP);
+          min_assign(x_cv_i, sum);
+        }
+      }
 
-    \param os
-    The octagonal shape used to build the BDS.
+    }
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  // Step 2: improve the other bounds by using the precise bounds
+  // for the constraints on `var'.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
+    const dimension_type i = i_iter.index();
+    const dimension_type ci = coherent_index(i);
+    const dimension_type rs_i = i_iter.row_size();
+    Row_Reference x_i = *i_iter;
+    const N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci];
+    // TODO: see if it is possible to optimize this inner loop
+    // by splitting it into several parts, so as to avoid
+    // conditional expressions.
+    for (dimension_type j = 0; j < n_rows; ++j) {
+      const dimension_type cj = coherent_index(j);
+      Row_Reference x_cj = *(m_begin + cj);
+      N& x_i_j = (j < rs_i) ? x_i[j] : x_cj[ci];
+      if (!is_plus_infinity(x_i_v)) {
+        const N& x_v_j = (j < rs_v) ? x_v[j] : x_cj[cv];
+        if (!is_plus_infinity(x_v_j)) {
+          add_assign_r(sum, x_i_v, x_v_j, ROUND_UP);
+          min_assign(x_i_j, sum);
+        }
+      }
+      const N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci];
+      if (!is_plus_infinity(x_i_cv)) {
+        const N& x_cv_j = (j < rs_v) ? x_cv[j] : x_cj[v];
+        if (!is_plus_infinity(x_cv_j)) {
+          add_assign_r(sum, x_i_cv, x_cv_j, ROUND_UP);
+          min_assign(x_i_j, sum);
+        }
+      }
+    }
+  }
 
-    \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit BD_Shape(const Octagonal_Shape<U>& os,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+  // Check for emptiness: the octagon is empty if and only if there is a
+  // negative value on the main diagonal.
+  for (Row_Iterator i = m_begin; i != m_end; ++i) {
+    N& x_i_i = (*i)[i.index()];
+    if (sgn(x_i_i) < 0) {
+      x.set_empty();
+      return;
+    }
+    else {
+      // Restore PLUS_INFINITY on the main diagonal.
+      PPL_ASSERT(sgn(x_i_i) == 0);
+      assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
 
-  /*! \brief
-    The assignment operator
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  BD_Shape& operator=(const BD_Shape& y);
+  // Step 3: we enforce the strong coherence.
+  x.strong_coherence_assign();
+  // The octagon is not empty and it is now strongly closed.
+  x.set_strongly_closed();
+}
 
-  /*! \brief
-    Swaps \p *this with \p y
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  void swap(BD_Shape& y);
+template <typename T>
+void
+Octagonal_Shape<T>
+::compute_successors(std::vector<dimension_type>& successor) const {
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(successor.size() == 0);
+  // Variables are ordered according to their index.
+  // The vector `successor' is used to indicate which variable
+  // immediately follows a given one in the corresponding equivalence class.
+  const dimension_type successor_size = matrix.num_rows();
+  // Initially, each variable is successor of its own zero-equivalence class.
+  successor.reserve(successor_size);
+  for (dimension_type i = 0; i < successor_size; ++i)
+    successor.push_back(i);
+  // Now compute actual successors.
+  for (dimension_type i = successor_size; i-- > 0; )  {
+    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
+    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
+    typename OR_Matrix<N>::const_row_reference_type m_ci
+      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
+    for (dimension_type j = 0; j < i; ++j) {
+      // FIXME: what is the following, commented-out for?
+    //for (dimension_type j = i; j-- > 0; ) {
+      using namespace Implementation::Octagonal_Shapes;
+      dimension_type cj = coherent_index(j);
+      if (is_additive_inverse(m_ci[cj], m_i[j]))
+        // Choose as successor the variable having the greatest index.
+        successor[j] = i;
+    }
+  }
+}
 
-  //! Destructor.
-  ~BD_Shape();
+template <typename T>
+void
+Octagonal_Shape<T>
+::compute_leaders(std::vector<dimension_type>& leaders) const {
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(leaders.size() == 0);
+  // Variables are ordered according to their index.
+  // The vector `leaders' is used to indicate the smallest variable
+  // that belongs to the corresponding equivalence class.
+  const dimension_type leader_size = matrix.num_rows();
+  // Initially, each variable is leader of its own zero-equivalence class.
+  leaders.reserve(leader_size);
+  for (dimension_type i = 0; i < leader_size; ++i)
+    leaders.push_back(i);
+  // Now compute actual leaders.
+  for (typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin(),
+         matrix_row_end = matrix.row_end();
+       i_iter != matrix_row_end; ++i_iter) {
+    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
+    dimension_type i = i_iter.index();
+    typename OR_Matrix<N>::const_row_reference_type m_ci
+      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter + 1);
+    for (dimension_type j = 0; j < i; ++j) {
+      using namespace Implementation::Octagonal_Shapes;
+      dimension_type cj = coherent_index(j);
+      if (is_additive_inverse(m_ci[cj], m_i[j]))
+        // Choose as leader the variable having the smaller index.
+        leaders[i] = leaders[j];
+    }
+  }
+}
 
-  //@} Constructors, Assignment, Swap and Destructor
+template <typename T>
+void
+Octagonal_Shape<T>
+::compute_leaders(std::vector<dimension_type>& successor,
+                  std::vector<dimension_type>& no_sing_leaders,
+                  bool& exist_sing_class,
+                  dimension_type& sing_leader) const {
+  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(no_sing_leaders.size() == 0);
+  dimension_type successor_size = successor.size();
+  std::deque<bool> dealt_with(successor_size, false);
+  for (dimension_type i = 0; i < successor_size; ++i) {
+    dimension_type next_i = successor[i];
+    if (!dealt_with[i]) {
+      // The index is a leader.
+      // Now check if it is a leader of a singular class or not.
+      using namespace Implementation::Octagonal_Shapes;
+      if (next_i == coherent_index(i)) {
+        exist_sing_class = true;
+        sing_leader = i;
+      }
+      else
+        no_sing_leaders.push_back(i);
+    }
+    // The following index is not a leader.
+    dealt_with[next_i] = true;
+  }
+}
 
-  //! \name Member Functions that Do Not Modify the BD_Shape
-  //@{
+template <typename T>
+void
+Octagonal_Shape<T>::strong_reduction_assign() const {
+  // Zero-dimensional octagonal shapes are necessarily reduced.
+  if (space_dim == 0)
+    return;
+  strong_closure_assign();
+  // If `*this' is empty, then there is nothing to reduce.
+  if (marked_empty())
+    return;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  // Detect non-redundant constraints.
+  std::vector<Bit_Row> non_red;
+  non_redundant_matrix_entries(non_red);
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
-    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
-    of \p *this.
-  */
-  dimension_type affine_dimension() const;
+  // Throw away redundant constraints.
+  Octagonal_Shape<T>& x = const_cast<Octagonal_Shape<T>&>(*this);
+#ifndef NDEBUG
+  const Octagonal_Shape x_copy_before(x);
+#endif
+  typename OR_Matrix<N>::element_iterator x_i = x.matrix.element_begin();
+  for (dimension_type i = 0; i < 2 * space_dim; ++i) {
+    const Bit_Row& non_red_i = non_red[i];
+    for (dimension_type j = 0,
+           j_end = OR_Matrix<N>::row_size(i); j < j_end; ++j, ++x_i) {
+      if (!non_red_i[j])
+        assign_r(*x_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
+  x.reset_strongly_closed();
+#ifndef NDEBUG
+  const Octagonal_Shape x_copy_after(x);
+  PPL_ASSERT(x_copy_before == x_copy_after);
+  PPL_ASSERT(x.is_strongly_reduced());
+  PPL_ASSERT(x.OK());
+#endif
+}
 
-  //! Returns a system of constraints defining \p *this.
-  Constraint_System constraints() const;
+template <typename T>
+void
+Octagonal_Shape<T>
+::non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(space_dim > 0 && !marked_empty() && marked_strongly_closed());
+  PPL_ASSERT(non_redundant.empty());
 
-  //! Returns a minimized system of constraints defining \p *this.
-  Constraint_System minimized_constraints() const;
+  // Initialize `non_redundant' as if it was an OR_Matrix of booleans
+  // (initially set to false).
+  non_redundant.resize(2*space_dim);
 
-  //! Returns a system of (equality) congruences satisfied by \p *this.
-  Congruence_System congruences() const;
+  // Step 1: compute zero-equivalence classes.
+  // Variables corresponding to indices `i' and `j' are zero-equivalent
+  // if they lie on a zero-weight loop; since the matrix is strongly
+  // closed, this happens if and only if matrix[i][j] == -matrix[ci][cj].
+  std::vector<dimension_type> no_sing_leaders;
+  dimension_type sing_leader = 0;
+  bool exist_sing_class = false;
+  std::vector<dimension_type> successor;
+  compute_successors(successor);
+  compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
+  const dimension_type num_no_sing_leaders = no_sing_leaders.size();
 
-  /*! \brief
-    Returns a minimal system of (equality) congruences
-    satisfied by \p *this with the same affine dimension as \p *this.
-  */
-  Congruence_System minimized_congruences() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+  // Step 2: flag redundant constraints in `redundancy'.
+  // Go through non-singular leaders first.
+  for (dimension_type li = 0; li < num_no_sing_leaders; ++li) {
+    const dimension_type i = no_sing_leaders[li];
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type ci = coherent_index(i);
+    typename OR_Matrix<N>::const_row_reference_type
+      m_i = *(matrix.row_begin() + i);
+    if (i % 2 == 0) {
+      // Each positive equivalence class must have a single 0-cycle
+      // connecting all equivalent variables in increasing order.
+      // Note: by coherence assumption, the variables in the
+      // corresponding negative equivalence class are
+      // automatically connected.
+      if (i != successor[i]) {
+        dimension_type j = i;
+        dimension_type next_j = successor[j];
+        while (j != next_j) {
+          non_redundant[next_j].set(j);
+          j = next_j;
+          next_j = successor[j];
+        }
+        const dimension_type cj = coherent_index(j);
+        non_redundant[cj].set(ci);
+      }
+    }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+    dimension_type rs_li = (li % 2 != 0) ? li : (li + 1);
+    // Check if the constraint is redundant.
+    PPL_DIRTY_TEMP(N, tmp);
+    for (dimension_type lj = 0 ; lj <= rs_li; ++lj) {
+      const dimension_type j = no_sing_leaders[lj];
+      const dimension_type cj = coherent_index(j);
+      const N& m_i_j = m_i[j];
+      const N& m_i_ci = m_i[ci];
+      bool to_add = true;
+      // Control if the constraint is redundant by strong-coherence,
+      // that is:
+      // m_i_j >= (m_i_ci + m_cj_j)/2,   where j != ci.
+      if (j != ci) {
+        add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
+        div_2exp_assign_r(tmp, tmp, 1, ROUND_UP);
+        if (m_i_j >= tmp)
+          // The constraint is redundant.
+          continue;
+      }
+      // Control if the constraint is redundant by strong closure, that is
+      // if there is a path from i to j (i = i_0, ... , i_n = j), such that
+      // m_i_j = sum_{k=0}^{n-1} m_{i_k}_{i_(k + 1)}.
+      // Since the octagon is already strongly closed, the above relation
+      // is reduced to three case, in accordance with k, i, j inter-depend:
+      // exit k such that
+      // 1.) m_i_j >= m_i_k   + m_cj_ck,   if k < j < i; or
+      // 2.) m_i_j >= m_i_k   + m_k,_j,    if j < k < i; or
+      // 3.) m_i_j >= m_ck_ci + m_k_j,     if j < i < k.
+      // Note: `i > j'.
+      for (dimension_type lk = 0; lk < num_no_sing_leaders; ++lk) {
+        const dimension_type k = no_sing_leaders[lk];
+        if (k != i && k != j) {
+          dimension_type ck = coherent_index(k);
+          if (k < j)
+            // Case 1.
+            add_assign_r(tmp, m_i[k], matrix[cj][ck], ROUND_UP);
+          else if (k < i)
+            // Case 2.
+            add_assign_r(tmp, m_i[k], matrix[k][j], ROUND_UP);
+          else
+            // Case 3.
+            add_assign_r(tmp, matrix[ck][ci], matrix[k][j], ROUND_UP);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+          // Checks if the constraint is redundant.
+          if (m_i_j >= tmp) {
+            to_add = false;
+            break;
+          }
+        }
+      }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+      if (to_add)
+        // The constraint is not redundant.
+        non_redundant[i].set(j);
+    }
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value is computed.
+  // If there exist a singular equivalence class, then it must have a
+  // single 0-cycle connecting all the positive and negative equivalent
+  // variables.
+  // Note: the singular class is not connected with the other classes.
+  if (exist_sing_class) {
+    non_redundant[sing_leader].set(sing_leader + 1);
+    if (successor[sing_leader + 1] != sing_leader + 1) {
+      dimension_type j = sing_leader;
+      dimension_type next_j = successor[j + 1];
+      while (next_j != j + 1) {
+        non_redundant[next_j].set(j);
+        j = next_j;
+        next_j = successor[j + 1];
+      }
+      non_redundant[j + 1].set(j);
+    }
+    else
+      non_redundant[sing_leader + 1].set(sing_leader);
+  }
+}
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+template <typename T>
+void
+Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("upper_bound_assign(y)", y);
 
-    \param sup_n
-    The numerator of the supremum value;
+  // The hull of an octagon `x' with an empty octagon is `x'.
+  y.strong_closure_assign();
+  if (y.marked_empty())
+    return;
+  strong_closure_assign();
+  if (marked_empty()) {
+    *this = y;
+    return;
+  }
 
-    \param sup_d
-    The denominator of the supremum value;
+  // The oct-hull is obtained by computing maxima.
+  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end; ++i, ++j)
+    max_assign(*i, *j);
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+  // The result is still closed.
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename T>
+void
+Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("difference_assign(y)", y);
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
-    and \p maximum are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-                Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  Octagonal_Shape& x = *this;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value and a point where \p expr reaches it are computed.
+  // Being lazy here is only harmful.
+  // We close.
+  x.strong_closure_assign();
+  // The difference of an empty octagon and of an octagon `p' is empty.
+  if (x.marked_empty())
+    return;
+  // The difference of a octagon `p' and an empty octagon is `p'.
+  if (y.marked_empty())
+    return;
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  // If both octagons are zero-dimensional,
+  // then at this point they are necessarily universe octagons,
+  // so that their difference is empty.
+  if (x.space_dim == 0) {
+    x.set_empty();
+    return;
+  }
 
-    \param sup_n
-    The numerator of the supremum value;
+  // TODO: This is just an executable specification.
+  //       Have to find a more efficient method.
+  if (y.contains(x)) {
+    x.set_empty();
+    return;
+  }
 
-    \param sup_d
-    The denominator of the supremum value;
+  Octagonal_Shape new_oct(space_dim, EMPTY);
+  // We take a constraint of the octagon y at the time and we
+  // consider its complementary. Then we intersect the union
+  // of these complementary constraints with the octagon x.
+  const Constraint_System& y_cs = y.constraints();
+  for (Constraint_System::const_iterator i = y_cs.begin(),
+         y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
+    const Constraint& c = *i;
+    // If the octagon `x' is included the octagon defined by `c',
+    // then `c' _must_ be skipped, as adding its complement to `x'
+    // would result in the empty octagon, and as we would obtain
+    // a result that is less precise than the difference.
+    if (x.relation_with(c).implies(Poly_Con_Relation::is_included()))
+      continue;
+    Octagonal_Shape z = x;
+    const Linear_Expression e = Linear_Expression(c);
+    z.add_constraint(e <= 0);
+    if (!z.is_empty())
+      new_oct.upper_bound_assign(z);
+    if (c.is_equality()) {
+      z = x;
+      z.add_constraint(e >= 0);
+      if (!z.is_empty())
+        new_oct.upper_bound_assign(z);
+    }
+  }
+  *this = new_oct;
+  PPL_ASSERT(OK());
+}
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+template <typename T>
+bool
+Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
+  Octagonal_Shape& x = *this;
+  const dimension_type dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (dim != y.space_dimension())
+    throw_dimension_incompatible("simplify_using_context_assign(y)", y);
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+  // Filter away the zero-dimensional case.
+  if (dim == 0) {
+    if (y.marked_empty()) {
+      x.set_zero_dim_univ();
+      return false;
+    }
+    else
+      return !x.marked_empty();
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // Filter away the case where `x' contains `y'
+  // (this subsumes the case when `y' is empty).
+  if (x.contains(y)) {
+    Octagonal_Shape<T> res(dim, UNIVERSE);
+    x.m_swap(res);
+    return false;
+  }
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p g are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-                Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-                Generator& g) const;
+  typedef typename OR_Matrix<N>::row_iterator Row_Iter;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_CIter;
+  typedef typename OR_Matrix<N>::element_iterator Elem_Iter;
+  typedef typename OR_Matrix<N>::const_element_iterator Elem_CIter;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value is computed.
+  // Filter away the case where `x' is empty.
+  x.strong_closure_assign();
+  if (x.marked_empty()) {
+    // Search for a constraint of `y' that is not a tautology.
+    dimension_type i;
+    dimension_type j;
+    // Prefer unary constraints.
+    for (i = 0; i < 2*dim; i += 2) {
+      // FIXME: if N is a float or bounded integer type, then
+      // we also need to check that we are actually able to construct
+      // a constraint inconsistent with respect to this one.
+      // Use something like !is_maximal()?
+      if (!is_plus_infinity(y.matrix_at(i, i + 1))) {
+        j = i + 1;
+        goto found;
+      }
+      // Use something like !is_maximal()?
+      if (!is_plus_infinity(y.matrix_at(i + 1, i))) {
+        j = i;
+        ++i;
+        goto found;
+      }
+    }
+    // Then search binary constraints.
+    // TODO: use better iteration scheme.
+    for (i = 2; i < 2*dim; ++i)
+      for (j = 0; j < i; ++j) {
+        // Use something like !is_maximal()?
+        if (!is_plus_infinity(y.matrix_at(i, j)))
+          goto found;
+      }
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+    // Not found: we were not able to build a constraint contradicting
+    // one of the constraints in `y': `x' cannot be enlarged.
+    return false;
 
-    \param inf_n
-    The numerator of the infimum value;
+  found:
+    // Found: build a new OS contradicting the constraint found.
+    PPL_ASSERT(i < dim && j < dim && i != j);
+    Octagonal_Shape<T> res(dim, UNIVERSE);
+    // FIXME: compute a proper contradicting constraint.
+    PPL_DIRTY_TEMP(N, tmp);
+    assign_r(tmp, 1, ROUND_UP);
+    add_assign_r(tmp, tmp, y.matrix_at(i, j), ROUND_UP);
+    // CHECKME: round down is really meant.
+    neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN);
+    PPL_ASSERT(!is_plus_infinity(res.matrix_at(j, i)));
+    x.m_swap(res);
+    return false;
+  }
 
-    \param inf_d
-    The denominator of the infimum value;
+  // Here `x' and `y' are not empty and strongly closed;
+  // also, `x' does not contain `y'.
+  // Let `target' be the intersection of `x' and `y'.
+  Octagonal_Shape<T> target = x;
+  target.intersection_assign(y);
+  const bool bool_result = !target.is_empty();
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+  // Compute redundancy information for x and ...
+  // TODO: provide a nicer data structure for redundancy.
+  std::vector<Bit_Row> x_non_redundant;
+  x.non_redundant_matrix_entries(x_non_redundant);
+  // ... count the non-redundant constraints.
+  dimension_type x_num_non_redundant = 0;
+  for (size_t i = x_non_redundant.size(); i-- > 0 ; )
+    x_num_non_redundant += x_non_redundant[i].count_ones();
+  PPL_ASSERT(x_num_non_redundant > 0);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // Let `yy' be a copy of `y': we will keep adding to `yy'
+  // the non-redundant constraints of `x',
+  // stopping as soon as `yy' becomes equal to `target'.
+  Octagonal_Shape<T> yy = y;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-                Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+  // The constraints added to `yy' will be recorded in `res' ...
+  Octagonal_Shape<T> res(dim, UNIVERSE);
+  // ... and we will count them too.
+  dimension_type res_num_non_redundant = 0;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value and a point where \p expr reaches it are computed.
+  // Compute leader information for `x'.
+  std::vector<dimension_type> x_leaders;
+  x.compute_leaders(x_leaders);
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  // First go through the unary equality constraints.
+  // Find the leader of the singular equivalence class (it is even!).
+  dimension_type sing_leader;
+  for (sing_leader = 0; sing_leader < 2*dim; sing_leader += 2) {
+    if (sing_leader == x_leaders[sing_leader]) {
+      const N& x_s_ss = x.matrix_at(sing_leader, sing_leader + 1);
+      const N& x_ss_s = x.matrix_at(sing_leader + 1, sing_leader);
+      if (is_additive_inverse(x_s_ss, x_ss_s))
+        // Singular leader found.
+        break;
+    }
+  }
 
-    \param inf_n
-    The numerator of the infimum value;
+  // Unary equalities have `sing_leader' as a leader.
+  for (dimension_type i = sing_leader; i < 2*dim; i += 2) {
+    if (x_leaders[i] != sing_leader)
+      continue;
+    // Found a unary equality constraint:
+    // see if any of the two inequalities have to be added.
+    const N& x_i_ii = x.matrix_at(i, i + 1);
+    N& yy_i_ii = yy.matrix_at(i, i + 1);
+    if (x_i_ii < yy_i_ii) {
+      // The \leq inequality is not implied by context.
+      res.matrix_at(i, i + 1) = x_i_ii;
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy_i_ii = x_i_ii;
+      yy.reset_strongly_closed();
+    }
+    const N& x_ii_i = x.matrix_at(i + 1, i);
+    N& yy_ii_i = yy.matrix_at(i + 1, i);
+    if (x_ii_i < yy_ii_i) {
+      // The \geq inequality is not implied by context.
+      res.matrix_at(i + 1, i) = x_ii_i;
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy_ii_i = x_ii_i;
+      yy.reset_strongly_closed();
+    }
+    // Restore strong closure, if it was lost.
+    if (!yy.marked_strongly_closed()) {
+      Variable var_i(i/2);
+      yy.incremental_strong_closure_assign(var_i);
+      if (target.contains(yy)) {
+        // Target reached: swap `x' and `res' if needed.
+        if (res_num_non_redundant < x_num_non_redundant) {
+          res.reset_strongly_closed();
+          x.m_swap(res);
+        }
+        return bool_result;
+      }
+    }
+  }
 
-    \param inf_d
-    The denominator of the infimum value;
+  // Go through the binary equality constraints.
+  for (dimension_type i = 0; i < 2*dim; ++i) {
+    const dimension_type j = x_leaders[i];
+    if (j == i || j == sing_leader)
+      continue;
+    const N& x_i_j = x.matrix_at(i, j);
+    PPL_ASSERT(!is_plus_infinity(x_i_j));
+    N& yy_i_j = yy.matrix_at(i, j);
+    if (x_i_j < yy_i_j) {
+      res.matrix_at(i, j) = x_i_j;
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy_i_j = x_i_j;
+      yy.reset_strongly_closed();
+    }
+    const N& x_j_i = x.matrix_at(j, i);
+    N& yy_j_i = yy.matrix_at(j, i);
+    PPL_ASSERT(!is_plus_infinity(x_j_i));
+    if (x_j_i < yy_j_i) {
+      res.matrix_at(j, i) = x_j_i;
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy_j_i = x_j_i;
+      yy.reset_strongly_closed();
+    }
+    // Restore strong closure, if it was lost.
+    if (!yy.marked_strongly_closed()) {
+      Variable var_j(j/2);
+      yy.incremental_strong_closure_assign(var_j);
+      if (target.contains(yy)) {
+        // Target reached: swap `x' and `res' if needed.
+        if (res_num_non_redundant < x_num_non_redundant) {
+          res.reset_strongly_closed();
+          x.m_swap(res);
+        }
+        return bool_result;
+      }
+    }
+  }
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+  // Finally go through the (proper) inequality constraints:
+  // both indices i and j should be leaders.
+  // FIXME: improve iteration scheme (are we doing twice the work?)
+  for (dimension_type i = 0; i < 2*dim; ++i) {
+    if (i != x_leaders[i])
+      continue;
+    const Bit_Row& x_non_redundant_i = x_non_redundant[i];
+    for (dimension_type j = 0; j < 2*dim; ++j) {
+      if (j != x_leaders[j])
+        continue;
+      if (i >= j) {
+        if (!x_non_redundant_i[j])
+          continue;
+      }
+      else if (!x_non_redundant[j][i])
+        continue;
+      N& yy_i_j = yy.matrix_at(i, j);
+      const N& x_i_j = x.matrix_at(i, j);
+      if (x_i_j < yy_i_j) {
+        res.matrix_at(i, j) = x_i_j;
+        ++res_num_non_redundant;
+        // Tighten context `yy' using the newly added constraint.
+        yy_i_j = x_i_j;
+        yy.reset_strongly_closed();
+        Variable var(i/2);
+        yy.incremental_strong_closure_assign(var);
+        if (target.contains(yy)) {
+          // Target reached: swap `x' and `res' if needed.
+          if (res_num_non_redundant < x_num_non_redundant) {
+            res.reset_strongly_closed();
+            x.m_swap(res);
+          }
+          return bool_result;
+        }
+      }
+    }
+  }
+  // This point should be unreachable.
+  PPL_UNREACHABLE;
+  return false;
+}
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+template <typename T>
+void
+Octagonal_Shape<T>::add_space_dimensions_and_embed(dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  const dimension_type new_dim = space_dim + m;
+  const bool was_zero_dim_univ = !marked_empty() && space_dim == 0;
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p g are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-                Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-                Generator& g) const;
+  // To embed an n-dimension space octagon in a (n + m)-dimension space,
+  // we just add `m' variables in the matrix of constraints.
+  matrix.grow(new_dim);
+  space_dim = new_dim;
+  // If `*this' was the zero-dim space universe octagon,
+  // then we can set the strongly closure flag.
+  if (was_zero_dim_univ)
+    set_strongly_closed();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if there exist a
-    unique value \p val such that \p *this
-    saturates the equality <CODE>expr = val</CODE>.
+  PPL_ASSERT(OK());
+}
 
-    \param expr
-    The linear expression for which the frequency is needed;
+template <typename T>
+void
+Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
 
-    \param freq_n
-    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
-    Present for interface compatibility with class Grid, where
-    the \ref Grid_Frequency "frequency" can have a non-zero value;
+  const dimension_type n = matrix.num_rows();
 
-    \param freq_d
-    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+  // To project an n-dimension space OS in a (space_dim + m)-dimension space,
+  // we just add `m' columns and rows in the matrix of constraints.
+  add_space_dimensions_and_embed(m);
+  // We insert 0 where it needs.
+  // Attention: now num_rows of matrix is update!
+  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin() + n,
+         matrix_row_end =  matrix.row_end(); i != matrix_row_end; i += 2) {
+    typename OR_Matrix<N>::row_reference_type x_i = *i;
+    typename OR_Matrix<N>::row_reference_type x_ci = *(i + 1);
+    const dimension_type ind = i.index();
+    assign_r(x_i[ind + 1], 0, ROUND_NOT_NEEDED);
+    assign_r(x_ci[ind], 0, ROUND_NOT_NEEDED);
+  }
 
-    \param val_n
-    The numerator of \p val;
+  if (marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-    \param val_d
-    The denominator of \p val;
+template <typename T>
+void
+Octagonal_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
+  // The removal of no dimensions from any octagon is a no-op.
+  // Note that this case also captures the only legal removal of
+  // dimensions from a octagon in a 0-dim space.
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dim < min_space_dim)
+    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
-  */
-  bool frequency(const Linear_Expression& expr,
-                 Coefficient& freq_n, Coefficient& freq_d,
-                 Coefficient& val_n, Coefficient& val_d) const;
+  const dimension_type new_space_dim = space_dim - vars.size();
 
-  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool contains(const BD_Shape& y) const;
+  strong_closure_assign();
+  // When removing _all_ dimensions from an octagon,
+  // we obtain the zero-dimensional octagon.
+  if (new_space_dim == 0) {
+    matrix.shrink(0);
+    if (!marked_empty())
+      // We set the zero_dim_univ flag.
+      set_zero_dim_univ();
+    space_dim = 0;
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const BD_Shape& y) const;
+  // We consider each variable and we check if it has to be removed.
+  // If it has to be removed, we pass to the next one, then we will
+  // overwrite its representation in the matrix.
+  typedef typename OR_Matrix<N>::element_iterator Elem_Iter;
+  typedef typename std::iterator_traits<Elem_Iter>::difference_type diff_t;
+
+  dimension_type first = *vars.begin();
+  const dimension_type first_size = 2 * first * (first + 1);
+  Elem_Iter iter = matrix.element_begin() + static_cast<diff_t>(first_size);
+
+  for (dimension_type i = first + 1; i < space_dim; ++i) {
+    if (vars.count(i) == 0) {
+      typename OR_Matrix<N>::row_iterator row_iter = matrix.row_begin() + 2*i;
+      typename OR_Matrix<N>::row_reference_type row_ref = *row_iter;
+      typename OR_Matrix<N>::row_reference_type row_ref1 = *(++row_iter);
+      // Beware: first we shift the cells corresponding to the first
+      // row of variable(j), then we shift the cells corresponding to the
+      // second row. We recall that every variable is represented
+      // in the `matrix' by two rows and two columns.
+      for (dimension_type j = 0; j <= i; ++j)
+        if (vars.count(j) == 0) {
+          assign_or_swap(*(iter++), row_ref[2*j]);
+          assign_or_swap(*(iter++), row_ref[2*j + 1]);
+        }
+      for (dimension_type j = 0; j <= i; ++j)
+        if (vars.count(j) == 0) {
+          assign_or_swap(*(iter++), row_ref1[2*j]);
+          assign_or_swap(*(iter++), row_ref1[2*j + 1]);
+        }
+    }
+  }
+  // Update the space dimension.
+  matrix.shrink(new_space_dim);
+  space_dim = new_space_dim;
+  PPL_ASSERT(OK());
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool is_disjoint_from(const BD_Shape& y) const;
+template <typename T>
+template <typename Partial_Function>
+void
+Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-  //! Returns the relations holding between \p *this and the constraint \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the octagon becomes zero_dimensional.
+    remove_higher_space_dimensions(0);
+    return;
+  }
 
-  //! Returns the relations holding between \p *this and the congruence \p cg.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
+  // If we are going to actually reduce the space dimension,
+  // then shortest-path closure is required to keep precision.
+  if (new_space_dim < space_dim)
+    strong_closure_assign();
 
-  //! Returns the relations holding between \p *this and the generator \p g.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+  // If the octagon is empty, then it is sufficient to adjust
+  // the space dimension of the octagon.
+  if (marked_empty()) {
+    remove_higher_space_dimensions(new_space_dim);
+    return;
+  }
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is an empty BDS.
-  bool is_empty() const;
+  // We create a new matrix with the new space dimension.
+  OR_Matrix<N> x(new_space_dim);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a universe BDS.
-  bool is_universe() const;
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
+  Row_Iterator m_begin = x.row_begin();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a topologically closed subset of the vector space.
-  */
-  bool is_topologically_closed() const;
+  for (Row_Iterator i_iter = matrix.row_begin(), i_end = matrix.row_end();
+       i_iter != i_end; i_iter += 2) {
+    dimension_type new_i;
+    dimension_type i = i_iter.index()/2;
+    // We copy and place in the position into `x' the only cells of
+    // the `matrix' that refer to both mapped variables,
+    // the variable `i' and `j'.
+    if (pfunc.maps(i, new_i)) {
+      Row_Reference r_i = *i_iter;
+      Row_Reference r_ii = *(i_iter + 1);
+      dimension_type double_new_i = 2*new_i;
+      Row_Iterator x_iter = m_begin + double_new_i;
+      Row_Reference x_i = *x_iter;
+      Row_Reference x_ii = *(x_iter + 1);
+      for (dimension_type j = 0; j <= i; ++j) {
+        dimension_type new_j;
+        // If also the second variable is mapped, we work.
+        if (pfunc.maps(j, new_j)) {
+          dimension_type dj = 2*j;
+          dimension_type double_new_j = 2*new_j;
+          // Mapped the constraints, exchanging the indexes.
+          // Attention: our matrix is pseudo-triangular.
+          // If new_j > new_i, we must consider, as rows, the rows of
+          // the variable new_j, and not of new_i ones.
+          if (new_i >= new_j) {
+            assign_or_swap(x_i[double_new_j], r_i[dj]);
+            assign_or_swap(x_ii[double_new_j], r_ii[dj]);
+            assign_or_swap(x_ii[double_new_j + 1], r_ii[dj + 1]);
+            assign_or_swap(x_i[double_new_j + 1], r_i[dj + 1]);
+          }
+          else {
+            Row_Iterator x_j_iter = m_begin + double_new_j;
+            Row_Reference x_j = *x_j_iter;
+            Row_Reference x_jj = *(x_j_iter + 1);
+            assign_or_swap(x_jj[double_new_i + 1], r_i[dj]);
+            assign_or_swap(x_jj[double_new_i], r_ii[dj]);
+            assign_or_swap(x_j[double_new_i + 1], r_i[dj + 1]);
+            assign_or_swap(x_j[double_new_i], r_ii[dj + 1]);
+          }
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a bounded BDS.
-  bool is_bounded() const;
+        }
+      }
+    }
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+  using std::swap;
+  swap(matrix, x);
+  space_dim = new_space_dim;
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+template <typename T>
+void
+Octagonal_Shape<T>::intersection_assign(const Octagonal_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("intersection_assign(y)", y);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+  // If one of the two octagons is empty, the intersection is empty.
+  if (marked_empty())
+    return;
+  if (y.marked_empty()) {
+    set_empty();
+    return;
+  }
+  // If both octagons are zero-dimensional,then at this point
+  // they are necessarily non-empty,
+  // so that their intersection is non-empty too.
+  if (space_dim == 0)
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this satisfies
-    all its invariants.
-  */
-  bool OK() const;
+  // To intersect two octagons we compare the constraints
+  // and we choose the less values.
+  bool changed = false;
 
-  //@} Member Functions that Do Not Modify the BD_Shape
+  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end;
+       ++i, ++j) {
+    N& elem = *i;
+    const N& y_elem = *j;
+    if (y_elem < elem) {
+      elem = y_elem;
+      changed = true;
+    }
+  }
 
-  //! \name Space-Dimension Preserving Member Functions that May Modify the BD_Shape
-  //@{
+  // This method not preserve the closure.
+  if (changed && marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of bounded differences
-    defining \p *this.
+template <typename T>
+template <typename Iterator>
+void
+Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
+                                              Iterator first, Iterator last,
+                                              unsigned* tp) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
 
-    \param c
-    The constraint to be added.
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible,
-    or \p c is not optimally supported by the BD shape domain.
-  */
-  void add_constraint(const Constraint& c);
+  // If both octagons are zero-dimensional,
+  // since `*this' contains `y', we simply return `*this'.
+  if (space_dim == 0)
+    return;
 
-  /*! \brief
-    Adds a copy of congruence \p cg to the system of congruences of \p *this.
+  strong_closure_assign();
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  y.strong_closure_assign();
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-    \param cg
-    The congruence to be added.
+  // If there are tokens available, work on a temporary copy.
+  if (tp != 0 && *tp > 0) {
+    Octagonal_Shape x_tmp(*this);
+    x_tmp.CC76_extrapolation_assign(y, first, last, 0);
+    // If the widening was not precise, use one of the available tokens.
+    if (!contains(x_tmp))
+      --(*tp);
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    or \p cg is not optimally supported by the BD shape domain.
-  */
-  void add_congruence(const Congruence& cg);
+  // Compare each constraint in `y' to the corresponding one in `*this'.
+  // The constraint in `*this' is kept as is if it is stronger than or
+  // equal to the constraint in `y'; otherwise, the inhomogeneous term
+  // of the constraint in `*this' is further compared with elements taken
+  // from a sorted container (the stop-points, provided by the user), and
+  // is replaced by the first entry, if any, which is greater than or equal
+  // to the inhomogeneous term. If no such entry exists, the constraint
+  // is removed altogether.
+  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end;
+       ++i, ++j) {
+    const N& y_elem = *j;
+    N& elem = *i;
+    if (y_elem < elem) {
+      Iterator k = std::lower_bound(first, last, elem);
+      if (k != last) {
+        if (elem < *k)
+          assign_r(elem, *k, ROUND_UP);
+      }
+      else
+        assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of bounded differences
-    defining \p *this.
+  reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-    \param  cs
-    The constraints that will be added.
+template <typename T>
+void
+Octagonal_Shape<T>
+::get_limiting_octagon(const Constraint_System& cs,
+                       Octagonal_Shape& limiting_octagon) const {
+  const dimension_type cs_space_dim = cs.space_dimension();
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(cs_space_dim <= space_dim);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
-  */
-  void add_constraints(const Constraint_System& cs);
+  strong_closure_assign();
+  bool is_oct_changed = false;
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this.
+  // Allocate temporaries outside of the loop.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  PPL_DIRTY_TEMP(N, d);
 
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
+  for (Constraint_System::const_iterator cs_i = cs.begin(),
+         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
+    const Constraint& c = *cs_i;
+    dimension_type num_vars = 0;
+    dimension_type i = 0;
+    dimension_type j = 0;
+    // Constraints that are not octagonal differences are ignored.
+    if (!Octagonal_Shape_Helper
+      ::extract_octagonal_difference(c, cs_space_dim, num_vars, i, j,
+                                     coeff, term))
+      continue;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the BD shape domain.
+    typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+    typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+    typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+    typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+    Row_iterator m_begin = matrix.row_begin();
+    // Select the cell to be modified for the "<=" part of the constraint.
+    Row_iterator i_iter = m_begin + i;
+    Row_reference m_i = *i_iter;
+    OR_Matrix<N>& lo_mat = limiting_octagon.matrix;
+    Row_Iterator lo_iter = lo_mat.row_begin() + i;
+    Row_Reference lo_m_i = *lo_iter;
+    N& lo_m_i_j = lo_m_i[j];
+    if (coeff < 0)
+      neg_assign(coeff);
+    // Compute the bound for `m_i_j', rounding towards plus infinity.
+    div_round_up(d, term, coeff);
+    if (m_i[j] <= d)
+      if (c.is_inequality()) {
+        if (lo_m_i_j > d) {
+          lo_m_i_j = d;
+          is_oct_changed = true;
+        }
+        else {
+          // Select the right row of the cell.
+          if (i % 2 == 0) {
+            ++i_iter;
+            ++lo_iter;
+          }
+          else {
+            --i_iter;
+            --lo_iter;
+          }
+          Row_reference m_ci = *i_iter;
+          Row_Reference lo_m_ci = *lo_iter;
+          // Select the right column of the cell.
+          using namespace Implementation::Octagonal_Shapes;
+          dimension_type cj = coherent_index(j);
+          N& lo_m_ci_cj = lo_m_ci[cj];
+          neg_assign(term);
+          div_round_up(d, term, coeff);
+          if (m_ci[cj] <= d && lo_m_ci_cj > d) {
+            lo_m_ci_cj = d;
+            is_oct_changed = true;
+          }
+        }
+      }
+  }
+  // In general, adding a constraint does not preserve the strongly
+  // closure of the octagon.
+  if (is_oct_changed && limiting_octagon.marked_strongly_closed())
+    limiting_octagon.reset_strongly_closed();
+}
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_constraints(Constraint_System& cs);
+template <typename T>
+void
+Octagonal_Shape<T>
+::limited_CC76_extrapolation_assign(const Octagonal_Shape& y,
+                                    const Constraint_System& cs,
+                                    unsigned* tp) {
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
+                                 y);
+  // `cs' must be dimension-compatible with the two octagons.
+  const dimension_type cs_space_dim = cs.space_dimension();
+  if (space_dim < cs_space_dim)
+    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
 
-    \param cgs
-    Contains the congruences that will be added to the system of
-    constraints of \p *this.
+  // Strict inequalities not allowed.
+  if (cs.has_strict_inequalities())
+    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the BD shape domain.
-  */
-  void add_congruences(const Congruence_System& cgs);
+  // The limited CC76-extrapolation between two octagons in a
+  // zero-dimensional space is a octagon in a zero-dimensional
+  // space, too.
+  if (space_dim == 0)
+    return;
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \param cgs
-    Contains the congruences that will be added to the system of
-    constraints of \p *this. Its elements may be recycled.
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the BD shape domain.
+  Octagonal_Shape limiting_octagon(space_dim, UNIVERSE);
+  get_limiting_octagon(cs, limiting_octagon);
+  CC76_extrapolation_assign(y, tp);
+  intersection_assign(limiting_octagon);
+}
 
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+template <typename T>
+void
+Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
+                                           unsigned* tp) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
 
-  /*! \brief
-    Uses a copy of constraint \p c to refine the system of bounded differences
-    defining \p *this.
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \param c
-    The constraint. If it is not a bounded difference, it will be ignored.
+  // Compute the affine dimension of `y'.
+  const dimension_type y_affine_dim = y.affine_dimension();
+  // If the affine dimension of `y' is zero, then either `y' is
+  // zero-dimensional, or it is empty, or it is a singleton.
+  // In all cases, due to the inclusion hypothesis, the result is `*this'.
+  if (y_affine_dim == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+  // If the affine dimension has changed, due to the inclusion hypothesis,
+  // the result is `*this'.
+  const dimension_type x_affine_dim = affine_dimension();
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
+  if (x_affine_dim != y_affine_dim)
+    return;
 
-  /*! \brief
-    Uses a copy of congruence \p cg to refine the system of
-    bounded differences  of \p *this.
+  // If there are tokens available, work on a temporary copy.
+  if (tp != 0 && *tp > 0) {
+    Octagonal_Shape x_tmp(*this);
+    x_tmp.BHMZ05_widening_assign(y, 0);
+    // If the widening was not precise, use one of the available tokens.
+    if (!contains(x_tmp))
+      --(*tp);
+    return;
+  }
 
-    \param cg
-    The congruence. If it is not a bounded difference equality, it
-    will be ignored.
+  // Here no token is available.
+  PPL_ASSERT(marked_strongly_closed() && y.marked_strongly_closed());
+  // Minimize `y'.
+  y.strong_reduction_assign();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+  // Extrapolate unstable bounds.
+  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+       matrix_element_end = matrix.element_end();
+       i != matrix_element_end;
+       ++i, ++j) {
+    N& elem = *i;
+      // Note: in the following line the use of `!=' (as opposed to
+      // the use of `<' that would seem -but is not- equivalent) is
+      // intentional.
+    if (*j != elem)
+      assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+  reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Uses a copy of the constraints in \p cs to refine the system of
-    bounded differences defining \p *this.
+template <typename T>
+void
+Octagonal_Shape<T>
+::limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y,
+                                      const Constraint_System& cs,
+                                      unsigned* tp) {
 
-    \param  cs
-    The constraint system to be used. Constraints that are not bounded
-    differences are ignored.
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)",
+                                 y);
+  // `cs' must be dimension-compatible with the two octagons.
+  const dimension_type cs_space_dim = cs.space_dimension();
+  if (space_dim < cs_space_dim)
+    throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)");
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+  // Strict inequalities not allowed.
+  if (cs.has_strict_inequalities())
+    throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)");
 
-  /*! \brief
-    Uses a copy of the congruences in \p cgs to refine the system of
-    bounded differences defining \p *this.
+  // The limited BHMZ05-extrapolation between two octagons in a
+  // zero-dimensional space is a octagon in a zero-dimensional
+  // space, too.
+  if (space_dim == 0)
+    return;
 
-    \param  cgs
-    The congruence system to be used. Congruences that are not bounded
-    difference equalities are ignored.
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+  Octagonal_Shape limiting_octagon(space_dim, UNIVERSE);
+  get_limiting_octagon(cs, limiting_octagon);
+  BHMZ05_widening_assign(y, tp);
+  intersection_assign(limiting_octagon);
+}
 
-    \param var
-    The space dimension that will be unconstrained.
+template <typename T>
+void
+Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dim)
+    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+  // Assume `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
+  // If both octagons are zero-dimensional, since `*this' contains `y',
+  // we simply return '*this'.
+  if (space_dim == 0)
+    return;
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+  y.strong_closure_assign();
+  // If `y' is empty, since `y' contains `*this', `*this' is empty too.
+  if (y.marked_empty())
+    return;
+  strong_closure_assign();
+  // If `*this' is empty, we return.
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void unconstrain(const Variables_Set& vars);
+  // We consider a constraint of `*this', if its value is `plus_infinity',
+  // we take the value of the corresponding constraint of `y'.
+  bool is_oct_changed = false;
+  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         matrix_element_end = matrix.element_end();
+       i != matrix_element_end;
+       ++i, ++j) {
+    if (!is_plus_infinity(*i)
+        && !is_plus_infinity(*j)
+        && *i != *j) {
+      *i = *j;
+      is_oct_changed = true;
+    }
+  }
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void intersection_assign(const BD_Shape& y);
+  if (is_oct_changed && marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Assigns to \p *this the smallest BDS containing the union
-    of \p *this and \p y.
+template <typename T>
+void
+Octagonal_Shape<T>
+::deduce_v_pm_u_bounds(const dimension_type v_id,
+                       const dimension_type last_id,
+                       const Linear_Expression& sc_expr,
+                       Coefficient_traits::const_reference sc_denom,
+                       const N& ub_v) {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(sc_denom > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const BD_Shape& y);
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact, it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+  // No need to consider indices greater than `last_id'.
+  const dimension_type n_v = 2*v_id;
+  typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v + 1];
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool upper_bound_assign_if_exact(const BD_Shape& y);
+  // Speculatively allocate temporaries out of the loop.
+  PPL_DIRTY_TEMP(N, half);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_q);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, lb_u);
+  PPL_DIRTY_TEMP(N, up_approx);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
 
-  /*! \brief
-    If the \e integer upper bound of \p *this and \p y is exact,
-    it is assigned to \p *this and <CODE>true</CODE> is returned;
-    otherwise <CODE>false</CODE> is returned.
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+      u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) {
+    const dimension_type u_id = u.variable().id();
+    // Skip the case when `u_id == v_id'.
+    if (u_id == v_id)
+      continue;
+    const Coefficient& expr_u = *u;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    const dimension_type n_u = u_id*2;
+    // If `expr_u' is positive, we can improve `v - u'.
+    if (expr_u > 0) {
+      if (expr_u >= sc_denom) {
+        // Here q >= 1: deducing `v - u <= ub_v - ub_u'.
+        // We avoid to check if `ub_u' is plus infinity, because
+        // it is used for the computation of `ub_v'.
+        // Let half = m_cu_u / 2.
+        div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP);
+        N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u + 1];
+        sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP);
+      }
+      else {
+        // Here 0 < q < 1.
+        typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
+        const N& m_u_cu = m_u[n_u + 1];
+        if (!is_plus_infinity(m_u_cu)) {
+          // Let `ub_u' and `lb_u' be the known upper and lower bound
+          // for `u', respectively. The upper bound for `v - u' is
+          // computed as `ub_v - (q * ub_u + (1-q) * lb_u)',
+          // i.e., `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
+          assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          assign_r(q, expr_u, ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          // Compute `ub_u - lb_u'.
+          add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
+          // Compute `(-lb_u) - q * (ub_u - lb_u)'.
+          sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
+          assign_r(up_approx, minus_lb_u, ROUND_UP);
+          // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
+          N& m_v_minus_u = (n_v < n_u) ? m_u[n_v] : m_cv[n_u + 1];
+          add_assign_r(m_v_minus_u, ub_v, up_approx, ROUND_UP);
+        }
+      }
+    }
+    else {
+      PPL_ASSERT(expr_u < 0);
+      // If `expr_u' is negative, we can improve `v + u'.
+      neg_assign(minus_expr_u, expr_u);
+      if (minus_expr_u >= sc_denom) {
+        // Here q <= -1: Deducing `v + u <= ub_v + lb_u'.
+        // We avoid to check if `lb_u' is plus infinity, because
+        // it is used for the computation of `ub_v'.
+        // Let half = m_u_cu / 2.
+        div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP);
+        N& m_v_plus_u = (n_v < n_u) ? matrix[n_u + 1][n_v] : m_cv[n_u];
+        sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP);
+      }
+      else {
+        // Here -1 < q < 0.
+        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u + 1];
+        const N& m_cu_u = m_cu[n_u];
+        if (!is_plus_infinity(m_cu_u)) {
+          // Let `ub_u' and `lb_u' be the known upper and lower bound
+          // for `u', respectively. The upper bound for `v + u' is
+          // computed as `ub_v + ((-q) * lb_u + (1 + q) * ub_u)',
+          // i.e., `ub_v + ub_u + (-q) * (lb_u - ub_u)'.
+          assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED);
+          div_assign_r(minus_q, minus_q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
+          neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED);
+          // Compute `lb_u - ub_u'.
+          sub_assign_r(lb_u, lb_u, ub_u, ROUND_NOT_NEEDED);
+          // Compute `ub_u + (-q) * (lb_u - ub_u)'.
+          add_mul_assign_r(ub_u, minus_q, lb_u, ROUND_NOT_NEEDED);
+          assign_r(up_approx, ub_u, ROUND_UP);
+          // Deducing `v + u <= ub_v + ((-q) * lb_u + (1 + q) * ub_u)'.
+          N& m_v_plus_u = (n_v < n_u) ? m_cu[n_v] : m_cv[n_u];
+          add_assign_r(m_v_plus_u, ub_v, up_approx, ROUND_UP);
+        }
+      }
+    }
+  }
+}
 
-    \note
-    The integer upper bound of two rational BDS is the smallest rational
-    BDS containing all the integral points of the two arguments.
-    This method requires that the coefficient type parameter \c T is
-    an integral type.
-  */
-  bool integer_upper_bound_assign_if_exact(const BD_Shape& y);
+template <typename T>
+void
+Octagonal_Shape<T>
+::deduce_minus_v_pm_u_bounds(const dimension_type v_id,
+                             const dimension_type last_id,
+                             const Linear_Expression& sc_expr,
+                             Coefficient_traits::const_reference sc_denom,
+                             const N& minus_lb_v) {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(sc_denom > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
 
-  /*! \brief
-    Assigns to \p *this the smallest BD shape containing
-    the set difference of \p *this and \p y.
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const BD_Shape& y);
+  // No need to consider indices greater than `last_id'.
+  const dimension_type n_v = 2*v_id;
+  typename OR_Matrix<N>::row_reference_type m_v = matrix[n_v];
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+  // Speculatively allocate temporaries out of the loop.
+  PPL_DIRTY_TEMP(N, half);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(N, up_approx);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const BD_Shape& y);
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+      u_end = sc_expr.lower_bound(Variable(last_id + 1)); u != u_end; ++u) {
+    const dimension_type u_id = u.variable().id();
+    // Skip the case when `u_id == v_id'.
+    if (u_id == v_id)
+      continue;
+    const Coefficient& expr_u = *u;
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine image"
-    of \p *this under the function mapping variable \p var into the
-    affine expression specified by \p expr and \p denominator.
+    const dimension_type n_u = u_id*2;
+    // If `expr_u' is positive, we can improve `-v + u'.
+    if (expr_u > 0) {
+      if (expr_u >= sc_denom) {
+        // Here q >= 1: deducing `-v + u <= lb_u - lb_v',
+        // i.e., `u - v <= (-lb_v) - (-lb_u)'.
+        // We avoid to check if `lb_u' is plus infinity, because
+        // it is used for the computation of `lb_v'.
+        // Let half = m_u_cu / 2.
+        div_2exp_assign_r(half, matrix[n_u][n_u + 1], 1, ROUND_UP);
+        N& m_u_minus_v = (n_v < n_u) ? matrix[n_u + 1][n_v + 1] : m_v[n_u];
+        sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP);
+      }
+      else {
+        // Here 0 < q < 1.
+        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u + 1];
+        const N& m_cu_u = m_cu[n_u];
+        if (!is_plus_infinity(m_cu_u)) {
+          // Let `ub_u' and `lb_u' be the known upper and lower bound
+          // for `u', respectively. The upper bound for `u - v' is
+          // computed as `(q * lb_u + (1-q) * ub_u) - lb_v',
+          // i.e., `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
+          assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          assign_r(q, expr_u, ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(minus_lb_u, matrix[n_u][n_u + 1], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          // Compute `ub_u - lb_u'.
+          add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
+          // Compute `ub_u - q * (ub_u - lb_u)'.
+          sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
+          assign_r(up_approx, ub_u, ROUND_UP);
+          // Deducing `u - v <= -lb_v - (q * lb_u + (1-q) * ub_u)'.
+          N& m_u_minus_v = (n_v < n_u) ? m_cu[n_v + 1] : m_v[n_u];
+          add_assign_r(m_u_minus_v, minus_lb_v, up_approx, ROUND_UP);
+        }
+      }
+    }
+    else {
+      PPL_ASSERT(expr_u < 0);
+      // If `expr_u' is negative, we can improve `-v - u'.
+      neg_assign(minus_expr_u, expr_u);
+      if (minus_expr_u >= sc_denom) {
+        // Here q <= -1: Deducing `-v - u <= -lb_v - ub_u'.
+        // We avoid to check if `ub_u' is plus infinity, because
+        // it is used for the computation of `lb_v'.
+        // Let half = m_cu_u / 2.
+        div_2exp_assign_r(half, matrix[n_u + 1][n_u], 1, ROUND_UP);
+        N& m_minus_v_minus_u = (n_v < n_u)
+          ? matrix[n_u][n_v + 1]
+          : m_v[n_u + 1];
+        sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP);
+      }
+      else {
+        // Here -1 < q < 0.
+        typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
+        const N& m_u_cu = m_u[n_u + 1];
+        if (!is_plus_infinity(m_u_cu)) {
+          // Let `ub_u' and `lb_u' be the known upper and lower bound
+          // for `u', respectively. The upper bound for `-v - u' is
+          // computed as `-lb_v - ((-q)*ub_u + (1 + q)*lb_u)',
+          // i.e., `minus_lb_v - lb_u + q*(ub_u - lb_u)'.
+          assign_r(ub_u, matrix[n_u + 1][n_u], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
+          assign_r(q, expr_u, ROUND_NOT_NEEDED);
+          div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+          assign_r(minus_lb_u, m_u[n_u + 1], ROUND_NOT_NEEDED);
+          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
+          // Compute `ub_u - lb_u'.
+          add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
+          // Compute `-lb_u + q*(ub_u - lb_u)'.
+          add_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
+          assign_r(up_approx, minus_lb_u, ROUND_UP);
+          // Deducing `-v - u <= -lb_v - ((-q) * ub_u + (1 + q) * lb_u)'.
+          N& m_minus_v_minus_u = (n_v < n_u) ? m_u[n_v + 1] : m_v[n_u + 1];
+          add_assign_r(m_minus_v_minus_u, minus_lb_v, up_approx, ROUND_UP);
+        }
+      }
+    }
+  }
+}
 
-    \param var
-    The variable to which the affine expression is assigned.
+template <typename T>
+void
+Octagonal_Shape<T>
+::forget_all_octagonal_constraints(const dimension_type v_id) {
+  PPL_ASSERT(v_id < space_dim);
+  const dimension_type n_v = 2*v_id;
+  typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
+  typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
+  typename OR_Matrix<N>::row_reference_type r_cv = *(++m_iter);
+  for (dimension_type h = m_iter.row_size(); h-- > 0; ) {
+    assign_r(r_v[h], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r_cv[h], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+  ++m_iter;
+  for (typename OR_Matrix<N>::row_iterator m_end = matrix.row_end();
+       m_iter != m_end; ++m_iter) {
+    typename OR_Matrix<N>::row_reference_type r = *m_iter;
+    assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+}
 
-    \param expr
-    The numerator of the affine expression.
+template <typename T>
+void
+Octagonal_Shape<T>
+::forget_binary_octagonal_constraints(const dimension_type v_id) {
+  PPL_ASSERT(v_id < space_dim);
+  const dimension_type n_v = 2*v_id;
+  typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
+  typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
+  typename OR_Matrix<N>::row_reference_type r_cv = *(++m_iter);
+  for (dimension_type k = n_v; k-- > 0; ) {
+    assign_r(r_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+  ++m_iter;
+  for (typename OR_Matrix<N>::row_iterator m_end = matrix.row_end();
+       m_iter != m_end; ++m_iter) {
+    typename OR_Matrix<N>::row_reference_type r = *m_iter;
+    assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(r[n_v + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+}
 
-    \param denominator
-    The denominator of the affine expression.
+template <typename T>
+void
+Octagonal_Shape<T>::unconstrain(const Variable var) {
+  // Dimension-compatibility check.
+  const dimension_type var_id = var.id();
+  if (space_dimension() < var_id + 1)
+    throw_dimension_incompatible("unconstrain(var)", var_id + 1);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension of \p *this.
-  */
-  void affine_image(Variable var,
-                    const Linear_Expression& expr,
-                    Coefficient_traits::const_reference denominator
-                    = Coefficient_one());
+  // Enforce strong closure for precision.
+  strong_closure_assign();
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine preimage"
-    of \p *this under the function mapping variable \p var into the
-    affine expression specified by \p expr and \p denominator.
+  // If the shape is empty, this is a no-op.
+  if (marked_empty())
+    return;
 
-    \param var
-    The variable to which the affine expression is substituted.
+  forget_all_octagonal_constraints(var_id);
+  // Strong closure is preserved.
+  PPL_ASSERT(OK());
+}
 
-    \param expr
-    The numerator of the affine expression.
+template <typename T>
+void
+Octagonal_Shape<T>::unconstrain(const Variables_Set& vars) {
+  // The cylindrification with respect to no dimensions is a no-op.
+  // This case captures the only legal cylindrification in a 0-dim space.
+  if (vars.empty())
+    return;
 
-    \param denominator
-    The denominator of the affine expression.
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension of \p *this.
-  */
-  void affine_preimage(Variable var,
-                       const Linear_Expression& expr,
-                       Coefficient_traits::const_reference denominator
-                       = Coefficient_one());
+  // Enforce strong closure for precision.
+  strong_closure_assign();
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+  // If the shape is empty, this is a no-op.
+  if (marked_empty())
+    return;
 
-    \param var
-    The left hand side variable of the generalized affine transfer function.
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_octagonal_constraints(*vsi);
+  // Strong closure is preserved.
+  PPL_ASSERT(OK());
+}
 
-    \param relsym
-    The relation symbol.
+template <typename T>
+void
+Octagonal_Shape<T>::refine(const Variable var,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression& expr,
+                           Coefficient_traits::const_reference denominator) {
+  PPL_ASSERT(denominator != 0);
+  PPL_ASSERT(space_dim >= expr.space_dimension());
+  const dimension_type var_id = var.id();
+  PPL_ASSERT(var_id <= space_dim);
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
-    \param expr
-    The numerator of the right hand side affine expression.
+  const Coefficient& b = expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
 
-    \param denominator
-    The denominator of the right hand side affine expression.
+  // Variable index of the last non-zero coefficient in `expr', if any.
+  dimension_type w_id = expr.last_nonzero();
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension
-    of \p *this or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_image(Variable var,
-                                Relation_Symbol relsym,
-                                const Linear_Expression& expr,
-                                Coefficient_traits::const_reference denominator
-                                = Coefficient_one());
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*j + b, where `j != v';
+  // - If t == 2, then `expr' is of the general form.
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
 
-    \param lhs
-    The left hand side affine expression.
+  const Row_Iterator m_begin = matrix.row_begin();
+  const dimension_type n_var = 2*var_id;
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
-    \param relsym
-    The relation symbol.
+  // Since we are only able to record octagonal differences, we can
+  // precisely deal with the case of a single variable only if its
+  // coefficient (taking into account the denominator) is 1.
+  // If this is not the case, we fall back to the general case
+  // so as to over-approximate the constraint.
+  if (t == 1 && expr.coefficient(Variable(w_id)) != denominator
+      && expr.coefficient(Variable(w_id)) != minus_denom)
+    t = 2;
 
-    \param rhs
-    The right hand side affine expression.
+  if (t == 0) {
+    // Case 1: expr == b.
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
+    two_b = 2*b;
+    switch (relsym) {
+    case EQUAL:
+      // Add the constraint `var == b/denominator'.
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
+      break;
+    case LESS_OR_EQUAL:
+      // Add the constraint `var <= b/denominator'.
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+      break;
+    case GREATER_OR_EQUAL:
+      // Add the constraint `var >= b/denominator',
+      // i.e., `-var <= -b/denominator',
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
+  else if (t == 1) {
+    // Value of the one and only non-zero coefficient in `expr'.
+    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
+    const dimension_type n_w = 2*w_id;
+    switch (relsym) {
+    case EQUAL:
+      if (w_coeff == denominator)
+        // Add the new constraint `var - w = b/denominator'.
+        if (var_id < w_id) {
+          add_octagonal_constraint(n_w, n_var, b, denominator);
+          add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
+        }
+        else {
+          add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
+          add_octagonal_constraint(n_var, n_w, b, minus_denom);
+        }
+      else
+        // Add the new constraint `var + w = b/denominator'.
+        if (var_id < w_id) {
+          add_octagonal_constraint(n_w + 1, n_var, b, denominator);
+          add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
+        }
+        else {
+          add_octagonal_constraint(n_var + 1, n_w, b, denominator);
+          add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
+        }
+      break;
+    case LESS_OR_EQUAL:
+      {
+        PPL_DIRTY_TEMP(N, d);
+        div_round_up(d, b, denominator);
+        // Note that: `w_id != v', so that `expr' is of the form
+        // w_coeff * w + b, with `w_id != v'.
+        if (w_coeff == denominator) {
+          // Add the new constraints `v - w <= b/denominator'.
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w, n_var, d);
+          else
+            add_octagonal_constraint(n_var + 1, n_w + 1, d);
+        }
+        else if (w_coeff == minus_denom) {
+          // Add the new constraints `v + w <= b/denominator'.
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w + 1, n_var, d);
+          else
+            add_octagonal_constraint(n_var + 1, n_w, d);
+        }
+        break;
+      }
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_image(const Linear_Expression& lhs,
-                                Relation_Symbol relsym,
-                                const Linear_Expression& rhs);
+    case GREATER_OR_EQUAL:
+      {
+        PPL_DIRTY_TEMP(N, d);
+        div_round_up(d, b, minus_denom);
+        // Note that: `w_id != v', so that `expr' is of the form
+        // w_coeff * w + b, with `w_id != v'.
+        if (w_coeff == denominator) {
+          // Add the new constraint `v - w >= b/denominator',
+          // i.e.,  `-v + w <= -b/denominator'.
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w + 1, n_var + 1, d);
+          else
+            add_octagonal_constraint(n_var, n_w, d);
+        }
+        else if (w_coeff == minus_denom) {
+          // Add the new constraints `v + w >= b/denominator',
+          // i.e.,  `-v - w <= -b/denominator'.
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w, n_var + 1, d);
+          else
+            add_octagonal_constraint(n_var, n_w + 1, d);
+        }
+        break;
+      }
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
+  else {
+    // Here t == 2, so that
+    // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2.
+    const bool is_sc = (denominator > 0);
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+    neg_assign(minus_b, b);
+    const Coefficient& sc_b = is_sc ? b : minus_b;
+    const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+    const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+    const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+    // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+    // when `denominator' is negative. Do not use it unless you are sure
+    // it has been correctly assigned.
+    Linear_Expression minus_expr;
+    if (!is_sc)
+      minus_expr = -expr;
+    const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    \param var
-    The left hand side variable of the generalized affine transfer function.
+    PPL_DIRTY_TEMP(N, sum);
+    // Index of variable that is unbounded in `this'.
+    PPL_UNINITIALIZED(dimension_type, pinf_index);
+    // Number of unbounded variables found.
+    dimension_type pinf_count = 0;
 
-    \param relsym
-    The relation symbol.
+    switch (relsym) {
+    case EQUAL:
+      {
+        PPL_DIRTY_TEMP(N, neg_sum);
+        // Index of variable that is unbounded in `this'.
+        PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
+        // Number of unbounded variables found.
+        dimension_type neg_pinf_count = 0;
 
-    \param expr
-    The numerator of the right hand side affine expression.
+        // Approximate the inhomogeneous term.
+        assign_r(sum, sc_b, ROUND_UP);
+        assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
-    \param denominator
-    The denominator of the right hand side affine expression.
+        // Approximate the homogeneous part of `sc_expr'.
+        PPL_DIRTY_TEMP(N, coeff_i);
+        PPL_DIRTY_TEMP(N, half);
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+        PPL_DIRTY_TEMP(N, minus_coeff_i);
+        // Note: indices above `w' can be disregarded, as they all have
+        // a zero coefficient in `sc_expr'.
+        for (Row_iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
+             m_iter != m_iter_end; ) {
+          const dimension_type n_i = m_iter.index();
+          const dimension_type id = n_i/2;
+          Row_reference m_i = *m_iter;
+          ++m_iter;
+          Row_reference m_ci = *m_iter;
+          ++m_iter;
+          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+          const int sign_i = sgn(sc_i);
+          if (sign_i > 0) {
+            assign_r(coeff_i, sc_i, ROUND_UP);
+            // Approximating `sc_expr'.
+            if (pinf_count <= 1) {
+              const N& double_approx_i = m_ci[n_i];
+              if (!is_plus_infinity(double_approx_i)) {
+                // Let half = double_approx_i / 2.
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                add_mul_assign_r(sum, coeff_i, half, ROUND_UP);
+              }
+              else {
+                ++pinf_count;
+                pinf_index = id;
+              }
+            }
+            // Approximating `-sc_expr'.
+            if (neg_pinf_count <= 1) {
+              const N& double_approx_minus_i = m_i[n_i + 1];
+              if (!is_plus_infinity(double_approx_minus_i)) {
+                // Let half = double_approx_minus_i / 2.
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
+              }
+              else {
+                ++neg_pinf_count;
+                neg_pinf_index = id;
+              }
+            }
+          }
+          else if (sign_i < 0) {
+            neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
+            assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
+            // Approximating `sc_expr'.
+            if (pinf_count <= 1) {
+              const N& double_approx_minus_i = m_i[n_i + 1];
+              if (!is_plus_infinity(double_approx_minus_i)) {
+                // Let half = double_approx_minus_i / 2.
+                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
+                add_mul_assign_r(sum, minus_coeff_i, half, ROUND_UP);
+              }
+              else {
+                ++pinf_count;
+                pinf_index = id;
+              }
+            }
+            // Approximating `-sc_expr'.
+            if (neg_pinf_count <= 1) {
+              const N& double_approx_i = m_ci[n_i];
+              if (!is_plus_infinity(double_approx_i)) {
+                // Let half = double_approx_i / 2.
+                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
+                add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
+              }
+              else {
+                ++neg_pinf_count;
+                neg_pinf_index = id;
+              }
+            }
+          }
+        }
+        // Return immediately if no approximation could be computed.
+        if (pinf_count > 1 && neg_pinf_count > 1) {
+          PPL_ASSERT(OK());
+          return;
+        }
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension
-    of \p *this or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_preimage(Variable var,
-                                   Relation_Symbol relsym,
-                                   const Linear_Expression& expr,
-                                   Coefficient_traits::const_reference
-                                   denominator = Coefficient_one());
+        // In the following, strong closure will be definitely lost.
+        reset_strongly_closed();
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+        // Exploit the upper approximation, if possible.
+        if (pinf_count <= 1) {
+          // Compute quotient (if needed).
+          if (sc_denom != 1) {
+            // Before computing quotients, the denominator should be
+            // approximated towards zero. Since `sc_denom' is known to be
+            // positive, this amounts to rounding downwards, which is
+            // achieved as usual by rounding upwards `minus_sc_denom'
+            // and negating again the result.
+            PPL_DIRTY_TEMP(N, down_sc_denom);
+            assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+            neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+            div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+          }
+          // Add the upper bound constraint, if meaningful.
+          if (pinf_count == 0) {
+            // Add the constraint `v <= sum'.
+            PPL_DIRTY_TEMP(N, double_sum);
+            mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
+            matrix[n_var + 1][n_var] = double_sum;
+            // Deduce constraints of the form `v +/- u', where `u != v'.
+            deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
+          }
+          else
+            // Here `pinf_count == 1'.
+            if (pinf_index != var_id) {
+              const Coefficient& ppi
+                = sc_expr.coefficient(Variable(pinf_index));
+              if (ppi == sc_denom)
+                // Add the constraint `v - pinf_index <= sum'.
+                if (var_id < pinf_index)
+                  matrix[2*pinf_index][n_var] = sum;
+                else
+                  matrix[n_var + 1][2*pinf_index + 1] = sum;
+              else
+                if (ppi == minus_sc_denom) {
+                  // Add the constraint `v + pinf_index <= sum'.
+                  if (var_id < pinf_index)
+                    matrix[2*pinf_index + 1][n_var] = sum;
+                  else
+                    matrix[n_var + 1][2*pinf_index] = sum;
+                }
+            }
+        }
 
-    \param lhs
-    The left hand side affine expression.
+        // Exploit the lower approximation, if possible.
+        if (neg_pinf_count <= 1) {
+          // Compute quotient (if needed).
+          if (sc_denom != 1) {
+            // Before computing quotients, the denominator should be
+            // approximated towards zero. Since `sc_denom' is known to be
+            // positive, this amounts to rounding downwards, which is
+            // achieved as usual by rounding upwards `minus_sc_denom'
+            // and negating again the result.
+            PPL_DIRTY_TEMP(N, down_sc_denom);
+            assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+            neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+            div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
+          }
+          // Add the lower bound constraint, if meaningful.
+          if (neg_pinf_count == 0) {
+            // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+            PPL_DIRTY_TEMP(N, double_neg_sum);
+            mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
+            matrix[n_var][n_var + 1] = double_neg_sum;
+            // Deduce constraints of the form `-v +/- u', where `u != v'.
+            deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom,
+                                       neg_sum);
+          }
+          else
+            // Here `neg_pinf_count == 1'.
+            if (neg_pinf_index != var_id) {
+              const Coefficient& npi
+                = sc_expr.coefficient(Variable(neg_pinf_index));
+              if (npi == sc_denom)
+                // Add the constraint `v - neg_pinf_index >= -neg_sum',
+                // i.e., `neg_pinf_index - v <= neg_sum'.
+                if (neg_pinf_index < var_id)
+                  matrix[n_var][2*neg_pinf_index] = neg_sum;
+                else
+                  matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
+              else
+                if (npi == minus_sc_denom) {
+                  // Add the constraint `v + neg_pinf_index >= -neg_sum',
+                  // i.e., `-neg_pinf_index - v <= neg_sum'.
+                  if (neg_pinf_index < var_id)
+                    matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
+                  else
+                    matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
+                }
+            }
+        }
+        break;
+      }
 
-    \param relsym
-    The relation symbol.
+    case LESS_OR_EQUAL:
+      {
+        // Compute an upper approximation for `expr' into `sum',
+        // taking into account the sign of `denominator'.
 
-    \param rhs
-    The right hand side affine expression.
+        // Approximate the inhomogeneous term.
+        assign_r(sum, sc_b, ROUND_UP);
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_preimage(const Linear_Expression& lhs,
-                                   Relation_Symbol relsym,
-                                   const Linear_Expression& rhs);
+        // Approximate the homogeneous part of `sc_expr'.
+        PPL_DIRTY_TEMP(N, coeff_i);
+        PPL_DIRTY_TEMP(N, approx_i);
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+        // Note: indices above `w_id' can be disregarded, as they all have
+        // a zero coefficient in `expr'.
+        for (Row_Iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
+             m_iter != m_iter_end; ) {
+          const dimension_type n_i = m_iter.index();
+          const dimension_type id = n_i/2;
+          Row_Reference m_i = *m_iter;
+          ++m_iter;
+          Row_Reference m_ci = *m_iter;
+          ++m_iter;
+          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+          const int sign_i = sgn(sc_i);
+          if (sign_i == 0)
+            continue;
+          // Choose carefully: we are approximating `sc_expr'.
+          const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1];
+          if (is_plus_infinity(double_approx_i)) {
+            if (++pinf_count > 1)
+              break;
+            pinf_index = id;
+            continue;
+          }
+          if (sign_i > 0)
+            assign_r(coeff_i, sc_i, ROUND_UP);
+          else {
+            neg_assign(minus_sc_i, sc_i);
+            assign_r(coeff_i, minus_sc_i, ROUND_UP);
+          }
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+        }
+        // Divide by the (sign corrected) denominator (if needed).
+        if (sc_denom != 1) {
+          // Before computing the quotient, the denominator should be
+          // approximated towards zero. Since `sc_denom' is known to be
+          // positive, this amounts to rounding downwards, which is achieved
+          // by rounding upwards `minus_sc-denom' and negating again the result.
+          PPL_DIRTY_TEMP(N, down_sc_denom);
+          assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+          neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+        }
 
-  /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+        if (pinf_count == 0) {
+          // Add the constraint `v <= sum'.
+          PPL_DIRTY_TEMP(N, double_sum);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
+          add_octagonal_constraint(n_var + 1, n_var, double_sum);
+          // Deduce constraints of the form `v +/- u', where `u != v'.
+          deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
+        }
+        else if (pinf_count == 1) {
+          dimension_type pinf_ind = 2*pinf_index;
+          if (expr.coefficient(Variable(pinf_index)) == denominator ) {
+            // Add the constraint `v - pinf_index <= sum'.
+            if (var_id < pinf_index)
+              add_octagonal_constraint(pinf_ind, n_var, sum);
+            else
+              add_octagonal_constraint(n_var + 1, pinf_ind + 1, sum);
+          }
+          else {
+            if (expr.coefficient(Variable(pinf_index)) == minus_denom) {
+              // Add the constraint `v + pinf_index <= sum'.
+              if (var_id < pinf_index)
+                add_octagonal_constraint(pinf_ind + 1, n_var, sum);
+              else
+                add_octagonal_constraint(n_var + 1, pinf_ind, sum);
+            }
+          }
+        }
+        break;
+      }
 
-    \param var
-    The variable updated by the affine relation;
+    case GREATER_OR_EQUAL:
+      {
+        // Compute an upper approximation for `-sc_expr' into `sum'.
+        // Note: approximating `-sc_expr' from above and then negating the
+        // result is the same as approximating `sc_expr' from below.
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+        // Approximate the inhomogeneous term.
+        assign_r(sum, minus_sc_b, ROUND_UP);
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+        // Approximate the homogeneous part of `-sc_expr'.
+        PPL_DIRTY_TEMP(N, coeff_i);
+        PPL_DIRTY_TEMP(N, approx_i);
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+        for (Row_Iterator m_iter = m_begin,
+               m_iter_end = m_begin + (2 * w_id + 2);
+             m_iter != m_iter_end; ) {
+          const dimension_type n_i = m_iter.index();
+          const dimension_type id = n_i/2;
+          Row_Reference m_i = *m_iter;
+          ++m_iter;
+          Row_Reference m_ci = *m_iter;
+          ++m_iter;
+          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+          const int sign_i = sgn(sc_i);
+          if (sign_i == 0)
+            continue;
+          // Choose carefully: we are approximating `-sc_expr'.
+          const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i];
+          if (is_plus_infinity(double_approx_i)) {
+            if (++pinf_count > 1)
+              break;
+            pinf_index = id;
+            continue;
+          }
+          if (sign_i > 0)
+            assign_r(coeff_i, sc_i, ROUND_UP);
+          else {
+            neg_assign(minus_sc_i, sc_i);
+            assign_r(coeff_i, minus_sc_i, ROUND_UP);
+          }
+          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+          add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+        }
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+        // Divide by the (sign corrected) denominator (if needed).
+        if (sc_denom != 1) {
+          // Before computing the quotient, the denominator should be
+          // approximated towards zero. Since `sc_denom' is known to be
+          // positive, this amounts to rounding downwards, which is
+          // achieved by rounding upwards `minus_sc_denom' and
+          // negating again the result.
+          PPL_DIRTY_TEMP(N, down_sc_denom);
+          assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+          neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+        }
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-                            const Linear_Expression& lb_expr,
-                            const Linear_Expression& ub_expr,
-                            Coefficient_traits::const_reference denominator
-                            = Coefficient_one());
+        if (pinf_count == 0) {
+          // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+          PPL_DIRTY_TEMP(N, double_sum);
+          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
+          add_octagonal_constraint(n_var, n_var + 1, double_sum);
+          // Deduce constraints of the form `-v +/- u', where `u != v'.
+          deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom,
+                                     sum);
+        }
+        else if (pinf_count == 1) {
+          dimension_type pinf_ind = 2*pinf_index;
+          if (expr.coefficient(Variable(pinf_index)) == denominator) {
+            // Add the constraint `v - pinf_index >= -sum',
+            // i.e., `pinf_index - v <= sum'.
+            if (pinf_index < var_id)
+              add_octagonal_constraint(n_var, pinf_ind, sum);
+            else
+              add_octagonal_constraint(pinf_ind + 1, n_var, sum);
+          }
+          else {
+            if (expr.coefficient(Variable(pinf_index)) == minus_denom) {
+              // Add the constraint `v + pinf_index >= -sum',
+              // i.e., `-pinf_index - v <= sum'.
+              if (pinf_index < var_id)
+                add_octagonal_constraint(n_var, pinf_ind + 1, sum);
+              else
+                add_octagonal_constraint(pinf_ind, n_var + 1, sum);
+            }
+          }
+        }
+        break;
+      }
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
+}
 
-    \param var
-    The variable updated by the affine relation;
+template <typename T>
+void
+Octagonal_Shape<T>::affine_image(const Variable var,
+                                 const Linear_Expression& expr,
+                                 Coefficient_traits::const_reference
+                                 denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_image(v, e, d)", var_id + 1);
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-                               const Linear_Expression& lb_expr,
-                               const Linear_Expression& ub_expr,
-                               Coefficient_traits::const_reference denominator
-                               = Coefficient_one());
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Variable-index of the last non-zero coefficient in `expr', if any.
+  dimension_type w_id = expr.last_nonzero();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void time_elapse_assign(const BD_Shape& y);
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  using std::swap;
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+  const dimension_type n_var = 2*var_id;
+  const Coefficient& b = expr.inhomogeneous_term();
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `expr' is of the general form.
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  if (t == 0) {
+    // Case 1: expr == b.
+    // Remove all constraints on `var'.
+    forget_all_octagonal_constraints(var_id);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
+    two_b = 2*b;
+    // Add the constraint `var == b/denominator'.
+    add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+    add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  if (t == 1) {
+    // The one and only non-zero homogeneous coefficient in `expr'.
+    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
+    if (w_coeff == denominator || w_coeff == minus_denom) {
+      // Case 2: expr = w_coeff*w + b, with w_coeff = +/- denominator.
+      if (w_id == var_id) {
+        // Here `expr' is of the form: +/- denominator * v + b.
+        const bool sign_symmetry = (w_coeff != denominator);
+        if (!sign_symmetry && b == 0)
+          // The transformation is the identity function.
+          return;
+        // Translate all the constraints on `var' adding or
+        // subtracting the value `b/denominator'.
+        PPL_DIRTY_TEMP(N, d);
+        div_round_up(d, b, denominator);
+        PPL_DIRTY_TEMP(N, minus_d);
+        div_round_up(minus_d, b, minus_denom);
+        if (sign_symmetry)
+          swap(d, minus_d);
+        const Row_Iterator m_begin = matrix.row_begin();
+        const Row_Iterator m_end = matrix.row_end();
+        Row_Iterator m_iter = m_begin + n_var;
+        Row_Reference m_v = *m_iter;
+        ++m_iter;
+        Row_Reference m_cv = *m_iter;
+        ++m_iter;
+        // NOTE: delay update of unary constraints on `var'.
+        for (dimension_type j = n_var; j-- > 0; ) {
+          N& m_v_j = m_v[j];
+          add_assign_r(m_v_j, m_v_j, minus_d, ROUND_UP);
+          N& m_cv_j = m_cv[j];
+          add_assign_r(m_cv_j, m_cv_j, d, ROUND_UP);
+          if (sign_symmetry)
+            swap(m_v_j, m_cv_j);
+        }
+        for ( ; m_iter != m_end; ++m_iter) {
+          Row_Reference m_i = *m_iter;
+          N& m_i_v = m_i[n_var];
+          add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
+          N& m_i_cv = m_i[n_var + 1];
+          add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
+          if (sign_symmetry)
+            swap(m_i_v, m_i_cv);
+        }
+        // Now update unary constraints on var.
+        mul_2exp_assign_r(d, d, 1, ROUND_UP);
+        N& m_cv_v = m_cv[n_var];
+        add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
+        mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
+        N& m_v_cv = m_v[n_var + 1];
+        add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
+        if (sign_symmetry)
+          swap(m_cv_v, m_v_cv);
+        // Note: strong closure is preserved.
+      }
+      else {
+        // Here `w != var', so that `expr' is of the form
+        // +/-denominator * w + b.
+        // Remove all constraints on `var'.
+        forget_all_octagonal_constraints(var_id);
+        const dimension_type n_w = 2*w_id;
+        // Add the new constraint `var - w = b/denominator'.
+        if (w_coeff == denominator) {
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w, n_var, b, denominator);
+            add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
+            add_octagonal_constraint(n_var, n_w, b, minus_denom);
+          }
+        }
+        else {
+          // Add the new constraint `var + w = b/denominator'.
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w + 1, n_var, b, denominator);
+            add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w, b, denominator);
+            add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
+          }
+        }
+        incremental_strong_closure_assign(var);
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
 
-    \param pcs
-    Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
-    variables not in \p vars, the behavior is undefined.
-    When non-null, the pointed-to constraint system is assumed to
-    represent the conditional or looping construct guard with respect
-    to which wrapping is performed.  Since wrapping requires the
-    computation of upper bounds and due to non-distributivity of
-    constraint refinement over upper bounds, passing a constraint
-    system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+  // General case.
+  // Either t == 2, so that
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `var' and add back
+  // constraints providing upper and lower bounds for `var'.
 
-    \param complexity_threshold
-    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
-    higher values result in possibly improved precision.
+  // Compute upper approximations for `expr' and `-expr'
+  // into `pos_sum' and `neg_sum', respectively, taking into account
+  // the sign of `denominator'.
+  // Note: approximating `-expr' from above and then negating the
+  // result is the same as approximating `expr' from below.
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
-    \param wrap_individually
-    <CODE>true</CODE> if the dimensions should be wrapped individually
-    (something that results in much greater efficiency to the detriment of
-    precision).
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -expr;
+  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
-    \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
-  */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+  PPL_DIRTY_TEMP(N, pos_sum);
+  PPL_DIRTY_TEMP(N, neg_sum);
+  // Indices of the variables that are unbounded in `this->matrix'.
+  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
+  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pos_pinf_count = 0;
+  dimension_type neg_pinf_count = 0;
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
+  // Approximate the inhomogeneous term.
+  assign_r(pos_sum, sc_b, ROUND_UP);
+  assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+  // Approximate the homogeneous part of `sc_expr'.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP(N, minus_coeff_i);
+  PPL_DIRTY_TEMP(N, half);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+  // Note: indices above `w' can be disregarded, as they all have
+  // a zero coefficient in `sc_expr'.
+  const Row_Iterator m_begin = matrix.row_begin();
+  for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
+       m_iter != m_iter_end; ) {
+    const dimension_type n_i = m_iter.index();
+    const dimension_type id = n_i/2;
+    Row_reference m_i = *m_iter;
+    ++m_iter;
+    Row_reference m_ci = *m_iter;
+    ++m_iter;
+    const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+    const int sign_i = sgn(sc_i);
+    if (sign_i > 0) {
+      assign_r(coeff_i, sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& double_up_approx_i = m_ci[n_i];
+        if (!is_plus_infinity(double_up_approx_i)) {
+          // Let half = double_up_approx_i / 2.
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          add_mul_assign_r(pos_sum, coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = id;
+        }
+      }
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
+        if (!is_plus_infinity(double_up_approx_minus_i)) {
+          // Let half = double_up_approx_minus_i / 2.
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = id;
+        }
+      }
+    }
+    else if (sign_i < 0) {
+      neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
+      assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
+        if (!is_plus_infinity(double_up_approx_minus_i)) {
+          // Let half = double_up_approx_minus_i / 2.
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          add_mul_assign_r(pos_sum, minus_coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = id;
+        }
+      }
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& double_up_approx_i = m_ci[n_i];
+        if (!is_plus_infinity(double_up_approx_i)) {
+          // Let half = double_up_approx_i / 2.
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = id;
+        }
+      }
+    }
+  }
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-   void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+  // Remove all constraints on `var'.
+  forget_all_octagonal_constraints(var_id);
+  // Return immediately if no approximation could be computed.
+  if (pos_pinf_count > 1 && neg_pinf_count > 1) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
+  // In the following, strong closure will be definitely lost.
+  reset_strongly_closed();
 
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
+  // Exploit the upper approximation, if possible.
+  if (pos_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the upper bound constraint, if meaningful.
+    if (pos_pinf_count == 0) {
+      // Add the constraint `v <= pos_sum'.
+      PPL_DIRTY_TEMP(N, double_pos_sum);
+      mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP);
+      matrix[n_var + 1][n_var] = double_pos_sum;
+      // Deduce constraints of the form `v +/- u', where `u != v'.
+      deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, pos_sum);
+    }
+    else
+      // Here `pos_pinf_count == 1'.
+      if (pos_pinf_index != var_id) {
+        const Coefficient& ppi = sc_expr.coefficient(Variable(pos_pinf_index));
+        if (ppi == sc_denom)
+          // Add the constraint `v - pos_pinf_index <= pos_sum'.
+          if (var_id < pos_pinf_index)
+            matrix[2*pos_pinf_index][n_var] = pos_sum;
+          else
+            matrix[n_var + 1][2*pos_pinf_index + 1] = pos_sum;
+        else
+          if (ppi == minus_sc_denom) {
+            // Add the constraint `v + pos_pinf_index <= pos_sum'.
+            if (var_id < pos_pinf_index)
+              matrix[2*pos_pinf_index + 1][n_var] = pos_sum;
+            else
+              matrix[n_var + 1][2*pos_pinf_index] = pos_sum;
+          }
+      }
+  }
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+  // Exploit the lower approximation, if possible.
+  if (neg_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the lower bound constraint, if meaningful.
+    if (neg_pinf_count == 0) {
+      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+      PPL_DIRTY_TEMP(N, double_neg_sum);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
+      matrix[n_var][n_var + 1] = double_neg_sum;
+      // Deduce constraints of the form `-v +/- u', where `u != v'.
+      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum);
+    }
+    else
+      // Here `neg_pinf_count == 1'.
+      if (neg_pinf_index != var_id) {
+        const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
+        if (npi == sc_denom)
+          // Add the constraint `v - neg_pinf_index >= -neg_sum',
+          // i.e., `neg_pinf_index - v <= neg_sum'.
+          if (neg_pinf_index < var_id)
+            matrix[n_var][2*neg_pinf_index] = neg_sum;
+          else
+            matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
+        else
+          if (npi == minus_sc_denom) {
+            // Add the constraint `v + neg_pinf_index >= -neg_sum',
+            // i.e., `-neg_pinf_index - v <= neg_sum'.
+            if (neg_pinf_index < var_id)
+              matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
+            else
+              matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
+          }
+      }
+  }
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+  incremental_strong_closure_assign(var);
+  PPL_ASSERT(OK());
+}
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+template <typename T>
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::affine_form_image(const Variable var,
+                    const Linear_Form< Interval<T, Interval_Info> >& lf) {
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+    "Octagonal_Shape<T>::affine_form_image(Variable, Linear_Form):"
+    " T is not a floating point type.");
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
+  // Dimension-compatibility checks.
+  // The dimension of `lf' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(v, l)", "l", lf);
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_form_image(v, l)", var.id() + 1);
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp = 0);
+  // Number of non-zero coefficients in `lf': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Variable-index of the last non-zero coefficient in `lf', if any.
+  dimension_type w_id = 0;
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
+  // Get information about the number of non-zero coefficients in `lf'.
+  for (dimension_type i = lf_space_dim; i-- > 0; )
+    if (lf.coefficient(Variable(i)) != 0) {
+      if (t++ == 1)
+        break;
+      else
+        w_id = i;
+    }
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  using std::swap;
 
-    \param first
-    An iterator referencing the first stop-point.
+  const dimension_type n_var = 2*var_id;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
 
-    \param last
-    An iterator referencing one past the last stop-point.
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `lf':
+  // - If t == 0, then lf == [lb, ub];
+  // - If t == 1, then lf == a*w + [lb, ub], where `w' can be `v' or another
+  //   variable;
+  // - If t == 2, the `lf' is of the general form.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  template <typename Iterator>
-  void CC76_extrapolation_assign(const BD_Shape& y,
-                                 Iterator first, Iterator last,
-                                 unsigned* tp = 0);
+  if (t == 0) {
+    // Case 1: lf = [lb, ub].
+    forget_all_octagonal_constraints(var_id);
+    mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP);
+    mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP);
+    // Add the constraint `var >= lb && var <= ub'.
+    add_octagonal_constraint(n_var + 1, n_var, b_ub);
+    add_octagonal_constraint(n_var, n_var + 1, b_mlb);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref BHMZ05_widening "BHMZ05-widening" of \p *this and \p y.
+  // True if `b' is in [0, 0].
+  bool is_b_zero = (b_mlb == 0 && b_ub == 0);
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  if (t == 1) {
+    // The one and only non-zero homogeneous coefficient in `lf'.
+    const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id));
+    // True if `w_coeff' is in [1, 1].
+    bool is_w_coeff_one = (w_coeff == 1);
+    // True if `w_coeff' is in [-1, -1].
+    bool is_w_coeff_minus_one = (w_coeff == -1);
+    if (is_w_coeff_one || is_w_coeff_minus_one) {
+      // Case 2: lf = w_coeff*w + b, with w_coeff = [+/-1, +/-1].
+      if (w_id == var_id) {
+        // Here lf = w_coeff*v + b, with w_coeff = [+/-1, +/-1].
+        if (is_w_coeff_one && is_b_zero)
+          // The transformation is the identity function.
+          return;
+        // Translate all the constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_lb'.
+        if (is_w_coeff_minus_one)
+          swap(b_ub, b_mlb);
+        const Row_Iterator m_begin = matrix.row_begin();
+        const Row_Iterator m_end = matrix.row_end();
+        Row_Iterator m_iter = m_begin + n_var;
+        Row_Reference m_v = *m_iter;
+        ++m_iter;
+        Row_Reference m_cv = *m_iter;
+        ++m_iter;
+        // NOTE: delay update of unary constraints on `var'.
+        for (dimension_type j = n_var; j-- > 0; ) {
+          N& m_v_j = m_v[j];
+          add_assign_r(m_v_j, m_v_j, b_mlb, ROUND_UP);
+          N& m_cv_j = m_cv[j];
+          add_assign_r(m_cv_j, m_cv_j, b_ub, ROUND_UP);
+          if (is_w_coeff_minus_one)
+            swap(m_v_j, m_cv_j);
+        }
+        for ( ; m_iter != m_end; ++m_iter) {
+          Row_Reference m_i = *m_iter;
+          N& m_i_v = m_i[n_var];
+          add_assign_r(m_i_v, m_i_v, b_ub, ROUND_UP);
+          N& m_i_cv = m_i[n_var + 1];
+          add_assign_r(m_i_cv, m_i_cv, b_mlb, ROUND_UP);
+          if (is_w_coeff_minus_one)
+            swap(m_i_v, m_i_cv);
+        }
+        // Now update unary constraints on var.
+        mul_2exp_assign_r(b_ub, b_ub, 1, ROUND_UP);
+        N& m_cv_v = m_cv[n_var];
+        add_assign_r(m_cv_v, m_cv_v, b_ub, ROUND_UP);
+        mul_2exp_assign_r(b_mlb, b_mlb, 1, ROUND_UP);
+        N& m_v_cv = m_v[n_var + 1];
+        add_assign_r(m_v_cv, m_v_cv, b_mlb, ROUND_UP);
+        if (is_w_coeff_minus_one)
+          swap(m_cv_v, m_v_cv);
+        // Note: strong closure is preserved.
+      }
+      else {
+        // Here `w != var', so that `lf' is of the form
+        // [+/-1, +/-1] * w + b.
+        // Remove all constraints on `var'.
+        forget_all_octagonal_constraints(var_id);
+        const dimension_type n_w = 2*w_id;
+        if (is_w_coeff_one)
+          // Add the new constraints `var - w >= b_lb'
+          // `and var - w <= b_ub'.
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w, n_var, b_ub);
+            add_octagonal_constraint(n_w + 1, n_var + 1, b_mlb);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w + 1, b_ub);
+            add_octagonal_constraint(n_var, n_w, b_mlb);
+          }
+        else
+          // Add the new constraints `var + w >= b_lb'
+          // `and var + w <= b_ub'.
+          if (var_id < w_id) {
+            add_octagonal_constraint(n_w + 1, n_var, b_ub);
+            add_octagonal_constraint(n_w, n_var + 1, b_mlb);
+          }
+          else {
+            add_octagonal_constraint(n_var + 1, n_w, b_ub);
+            add_octagonal_constraint(n_var, n_w + 1, b_mlb);
+          }
+        incremental_strong_closure_assign(var);
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  // General case.
+  // Either t == 2, so that
+  // expr == i_1*x_1 + i_2*x_2 + ... + i_n*x_n + b, where n >= 2,
+  // or t == 1, expr == i*w + b, but i <> [+/-1, +/-1].
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp = 0);
+  // In the following, strong closure will be definitely lost.
+  reset_strongly_closed();
 
-  /*! \brief
-    Improves the result of the \ref BHMZ05_widening "BHMZ05-widening"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+  Linear_Form<FP_Interval_Type> minus_lf(lf);
+  minus_lf.negate();
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  // Declare temporaries outside the loop.
+  PPL_DIRTY_TEMP(N, upper_bound);
 
-    \param cs
-    The system of constraints used to improve the widened BDS.
+  Row_Iterator m_iter = matrix.row_begin();
+  m_iter += n_var;
+  Row_Reference var_ite = *m_iter;
+  ++m_iter;
+  Row_Reference var_cv_ite = *m_iter;
+  ++m_iter;
+  Row_Iterator m_end = matrix.row_end();
+
+  // Update binary constraints on var FIRST.
+  for (dimension_type curr_var = var_id,
+         n_curr_var = n_var - 2; curr_var-- > 0; ) {
+    Variable current(curr_var);
+    linear_form_upper_bound(lf + current, upper_bound);
+    assign_r(var_cv_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(var_cv_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(var_ite[n_curr_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf - current, upper_bound);
+    assign_r(var_ite[n_curr_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    n_curr_var -= 2;
+  }
+  for (dimension_type curr_var = var_id + 1; m_iter != m_end; ++m_iter) {
+    Row_Reference m_v_ite = *m_iter;
+    ++m_iter;
+    Row_Reference m_cv_ite = *m_iter;
+    Variable current(curr_var);
+    linear_form_upper_bound(lf + current, upper_bound);
+    assign_r(m_cv_ite[n_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(m_v_ite[n_var], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(m_cv_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf - current, upper_bound);
+    assign_r(m_v_ite[n_var + 1], upper_bound, ROUND_NOT_NEEDED);
+    ++curr_var;
+  }
+
+  // Finally, update unary constraints on var.
+  PPL_DIRTY_TEMP(N, lf_ub);
+  linear_form_upper_bound(lf, lf_ub);
+  PPL_DIRTY_TEMP(N, minus_lf_ub);
+  linear_form_upper_bound(minus_lf, minus_lf_ub);
+  mul_2exp_assign_r(lf_ub, lf_ub, 1, ROUND_UP);
+  assign_r(matrix[n_var + 1][n_var], lf_ub, ROUND_NOT_NEEDED);
+  mul_2exp_assign_r(minus_lf_ub, minus_lf_ub, 1, ROUND_UP);
+  assign_r(matrix[n_var][n_var + 1], minus_lf_ub, ROUND_NOT_NEEDED);
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
-    if \p cs contains a strict inequality.
-  */
-  void limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
-                                           const Constraint_System& cs,
-                                           unsigned* tp = 0);
+template <typename T>
+template <typename Interval_Info>
+void
+Octagonal_Shape<T>::
+linear_form_upper_bound(const Linear_Form< Interval<T, Interval_Info> >& lf,
+                        N& result) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::linear_form_upper_bound:"
+                     " T not a floating point type.");
+
+  const dimension_type lf_space_dimension = lf.space_dimension();
+  PPL_ASSERT(lf_space_dimension <= space_dim);
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  PPL_DIRTY_TEMP(N, curr_lb);
+  PPL_DIRTY_TEMP(N, curr_ub);
+  PPL_DIRTY_TEMP(N, curr_var_ub);
+  PPL_DIRTY_TEMP(N, curr_minus_var_ub);
+
+  PPL_DIRTY_TEMP(N, first_comparison_term);
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+
+  PPL_DIRTY_TEMP(N, negator);
+
+  assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED);
+
+  for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension;
+       ++curr_var) {
+    const FP_Interval_Type& curr_coefficient =
+                            lf.coefficient(Variable(curr_var));
+    assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (curr_lb != 0 || curr_ub != 0) {
+      assign_r(curr_var_ub, matrix[n_var + 1][n_var], ROUND_NOT_NEEDED);
+      div_2exp_assign_r(curr_var_ub, curr_var_ub, 1, ROUND_UP);
+      neg_assign_r(curr_minus_var_ub, matrix[n_var][n_var + 1],
+                   ROUND_NOT_NEEDED);
+      div_2exp_assign_r(curr_minus_var_ub, curr_minus_var_ub, 1, ROUND_DOWN);
+      // Optimize the most common case: curr = +/-[1, 1].
+      if (curr_lb == 1 && curr_ub == 1) {
+        add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub),
+                     ROUND_UP);
+      }
+      else if (curr_lb == -1 && curr_ub == -1) {
+        neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub),
+                     ROUND_NOT_NEEDED);
+        add_assign_r(result, result, negator, ROUND_UP);
+      }
+      else {
+        // Next addend will be the maximum of four quantities.
+        assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub,
+                         ROUND_UP);
+        add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+
+        add_assign_r(result, result, first_comparison_term, ROUND_UP);
+      }
+    }
 
-  /*! \brief
-    Assigns to \p *this the result of restoring in \p y the constraints
-    of \p *this that were lost by
-    \ref CC76_extrapolation "CC76-extrapolation" applications.
+    n_var += 2;
+  }
+}
 
-    \param y
-    A BDS that <EM>must</EM> contain \p *this.
+template <typename T>
+void
+Octagonal_Shape<T>::
+interval_coefficient_upper_bound(const N& var_ub, const N& minus_var_ub,
+                                 const N& int_ub, const N& int_lb,
+                                 N& result) {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "Octagonal_Shape<T>::interval_coefficient_upper_bound:"
+                     " T not a floating point type.");
 
-    \note
-    As was the case for widening operators, the argument \p y is meant to
-    denote the value computed in the previous iteration step, whereas
-    \p *this denotes the value computed in the current iteration step
-    (in the <EM>decreasing</EM> iteration sequence). Hence, the call
-    <CODE>x.CC76_narrowing_assign(y)</CODE> will assign to \p x
-    the result of the computation \f$\mathtt{y} \Delta \mathtt{x}\f$.
-  */
-  void CC76_narrowing_assign(const BD_Shape& y);
+  // NOTE: we store the first comparison term directly into result.
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+  PPL_DIRTY_TEMP(N, third_comparison_term);
+  PPL_DIRTY_TEMP(N, fourth_comparison_term);
 
-  /*! \brief
-    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+  assign_r(result, 0, ROUND_NOT_NEEDED);
+  assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+  assign_r(third_comparison_term, 0, ROUND_NOT_NEEDED);
+  assign_r(fourth_comparison_term, 0, ROUND_NOT_NEEDED);
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  add_mul_assign_r(result, var_ub, int_ub, ROUND_UP);
+  add_mul_assign_r(second_comparison_term, minus_var_ub, int_ub, ROUND_UP);
+  add_mul_assign_r(third_comparison_term, var_ub, int_lb, ROUND_UP);
+  add_mul_assign_r(fourth_comparison_term, minus_var_ub, int_lb, ROUND_UP);
 
-    \param cs
-    The system of constraints used to improve the widened BDS.
+  assign_r(result, std::max(result, second_comparison_term), ROUND_NOT_NEEDED);
+  assign_r(result, std::max(result, third_comparison_term), ROUND_NOT_NEEDED);
+  assign_r(result, std::max(result, fourth_comparison_term), ROUND_NOT_NEEDED);
+}
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+template <typename T>
+void
+Octagonal_Shape<T>::affine_preimage(const Variable var,
+                                    const Linear_Expression& expr,
+                                    Coefficient_traits::const_reference
+                                    denominator) {
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
-    if \p cs contains a strict inequality.
-  */
-  void limited_CC76_extrapolation_assign(const BD_Shape& y,
-                                         const Constraint_System& cs,
-                                         unsigned* tp = 0);
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref H79_widening "H79-widening" between \p *this and \p y.
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  // `var' should be one of the dimensions of the octagon.
+  dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", var_id + 1);
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void H79_widening_assign(const BD_Shape& y, unsigned* tp = 0);
+  const Coefficient& b = expr.inhomogeneous_term();
 
-  //! Same as H79_widening_assign(y, tp).
-  void widening_assign(const BD_Shape& y, unsigned* tp = 0);
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
 
-  /*! \brief
-    Improves the result of the \ref H79_widening "H79-widening"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+  // Variable-index of the last non-zero coefficient in `expr', if any.
+  dimension_type w_id = expr.last_nonzero();
 
-    \param y
-    A BDS that <EM>must</EM> be contained in \p *this.
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
-    \param cs
-    The system of constraints used to improve the widened BDS.
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `expr' is of the general form.
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  if (t == 0) {
+    // Case 1: expr = n; remove all constraints on `var'.
+    forget_all_octagonal_constraints(var_id);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
-  */
-  void limited_H79_extrapolation_assign(const BD_Shape& y,
-                                        const Constraint_System& cs,
-                                        unsigned* tp = 0);
+  if (t == 1) {
+    // Value of the one and only non-zero coefficient in `expr'.
+    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
+    if (w_coeff == denominator || w_coeff == -denominator) {
+      // Case 2: expr = w_coeff*w + b, with w_coeff = +/- denominator.
+      if (w_id == var_id) {
+        // Apply affine_image() on the inverse of this transformation.
+        affine_image(var, denominator*var - b, w_coeff);
+      }
+      else {
+        // `expr == w_coeff*w + b', where `w != var'.
+        // Remove all constraints on `var'.
+        forget_all_octagonal_constraints(var_id);
+        PPL_ASSERT(OK());
+      }
+      return;
+    }
+  }
+  // General case.
+  // Either t == 2, so that
+  // expr = a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t = 1, expr = a*w + b, but a <> +/- denominator.
+  const Coefficient& coeff_v = expr.coefficient(var);
+  if (coeff_v != 0) {
+    if (coeff_v > 0) {
+      // The transformation is invertible.
+      Linear_Expression inverse = ((coeff_v + denominator)*var);
+      inverse -= expr;
+      affine_image(var, inverse, coeff_v);
+    }
+    else {
+      // The transformation is invertible.
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_v);
+      neg_assign(minus_coeff_v, coeff_v);
+      Linear_Expression inverse = ((minus_coeff_v - denominator)*var);
+      inverse += expr;
+      affine_image(var, inverse, minus_coeff_v);
+    }
+  }
+  else {
+    // The transformation is not invertible: all constraints on `var' are lost.
+    forget_all_octagonal_constraints(var_id);
+    PPL_ASSERT(OK());
+  }
+}
 
-  //@} Space-Dimension Preserving Member Functions that May Modify [...]
+template <typename T>
+void
+Octagonal_Shape<T>
+::generalized_affine_image(const Variable var,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression&  expr ,
+                           Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", "e",
+                                 expr);
 
-  //! Adds \p m new dimensions and embeds the old BDS into the new space.
-  /*!
-    \param m
-    The number of dimensions to add.
+  // `var' should be one of the dimensions of the octagon.
+  dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
+                                 var_id + 1);
 
-    The new dimensions will be those having the highest indexes in the new
-    BDS, which is defined by a system of bounded differences in which the
-    variables running through the new dimensions are unconstrained.
-    For instance, when starting from the BDS \f$\cB \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the BDS
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cB
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+  // The relation symbol cannot be a strict relation symbol.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
-  /*! \brief
-    Adds \p m new dimensions to the BDS and does not embed it in
-    the new vector space.
+  if (relsym == EQUAL) {
+    // The relation symbol is "=":
+    // this is just an affine image computation.
+    affine_image(var, expr, denominator);
+    return;
+  }
 
-    \param m
-    The number of dimensions to add.
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-    The new dimensions will be those having the highest indexes in the
-    new BDS, which is defined by a system of bounded differences in
-    which the variables running through the new dimensions are all
-    constrained to be equal to 0.
-    For instance, when starting from the BDS \f$\cB \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the BDS
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cB
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_project(dimension_type m);
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Variable-index of the last non-zero coefficient in `expr', if any.
+  dimension_type w_id = expr.last_nonzero();
 
-  /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
-    of \p *this and \p y, taken in this order.
+  if (w_id != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void concatenate_assign(const BD_Shape& y);
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
 
-  //! Removes all the specified dimensions.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the dimensions to be removed.
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
+  const dimension_type n_var = 2*var_id;
+  const Coefficient& b = expr.inhomogeneous_term();
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p vars.
-  */
-  void remove_space_dimensions(const Variables_Set& vars);
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `expr' is of the general form.
 
-  /*! \brief
-    Removes the higher dimensions so that the resulting space
-    will have dimension \p new_dimension.
+  if (t == 0) {
+    // Case 1: expr = b.
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
+    two_b = 2*b;
+    // Remove all constraints on `var'.
+    forget_all_octagonal_constraints(var_id);
+    // Strong closure is lost.
+    reset_strongly_closed();
+    switch (relsym) {
+    case LESS_OR_EQUAL:
+      // Add the constraint `var <= b/denominator'.
+      add_octagonal_constraint(n_var + 1, n_var, two_b, denominator);
+      break;
+    case GREATER_OR_EQUAL:
+      // Add the constraint `var >= n/denominator',
+      // i.e., `-var <= -b/denominator'.
+      add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimension is greater than the space dimension
-    of \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  if (t == 1) {
+    // The one and only non-zero homogeneous coefficient in `expr'.
+    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
+    if (w_coeff == denominator || w_coeff == minus_denom) {
+      // Case 2: expr == w_coeff*w + b, with w_coeff == +/- denominator.
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        {
+          PPL_DIRTY_TEMP(N, d);
+          div_round_up(d, b, denominator);
+          if (w_id == var_id) {
+            // Here `expr' is of the form: +/- denominator * v + b.
+            // Strong closure is not preserved.
+            reset_strongly_closed();
+            if (w_coeff == denominator) {
+              // Translate all the constraints of the form `v - w <= cost'
+              // into the constraint `v - w <= cost + b/denominator';
+              // forget each constraint `w - v <= cost1'.
+              Row_Iterator m_iter = m_begin + n_var;
+              Row_Reference m_v = *m_iter;
+              N& m_v_cv = m_v[n_var + 1];
+              ++m_iter;
+              Row_Reference m_cv = *m_iter;
+              N& m_cv_v = m_cv[n_var];
+              ++m_iter;
+              // NOTE: delay update of m_v_cv and m_cv_v.
+              for ( ; m_iter != m_end; ++m_iter) {
+                Row_Reference m_i = *m_iter;
+                N& m_i_v = m_i[n_var];
+                add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
+                assign_r(m_i[n_var + 1], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              }
+              for (dimension_type k = n_var; k-- > 0; ) {
+                assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
+                add_assign_r(m_cv[k], m_cv[k], d, ROUND_UP);
+              }
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
+              add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
+              assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+            else {
+              // Here `w_coeff == -denominator'.
+              // `expr' is of the form: -a*var + b.
+              N& m_v_cv = matrix[n_var][n_var + 1];
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
+              add_assign_r(matrix[n_var + 1][n_var], m_v_cv, d, ROUND_UP);
+              assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
+              forget_binary_octagonal_constraints(var_id);
+            }
+          }
+          else {
+            // Here `w != v', so that `expr' is the form
+            // +/- denominator*w + b.
+            // Remove all constraints on `v'.
+            forget_all_octagonal_constraints(var_id);
+            const dimension_type n_w = 2*w_id;
+            if (w_coeff == denominator) {
+              // Add the new constraint `v - w <= b/denominator'.
+              if (var_id < w_id)
+                add_octagonal_constraint(n_w, n_var, b, denominator);
+              else
+                add_octagonal_constraint(n_var + 1, n_w + 1, b, denominator);
+            }
+            else {
+              // Add the new constraint `v + w <= b/denominator'.
+              if (var_id < w_id)
+                add_octagonal_constraint(n_w + 1, n_var, b, denominator);
+              else
+                add_octagonal_constraint(n_var + 1, n_w, b, denominator);
+            }
+          }
+          break;
+        }
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+      case GREATER_OR_EQUAL:
+        {
+          PPL_DIRTY_TEMP(N, d);
+          div_round_up(d, b, minus_denom);
+          if (w_id == var_id) {
+            // Here `expr' is of the form: +/- denominator * v + b.
+            // Strong closure is not preserved.
+            reset_strongly_closed();
+            if (w_coeff == denominator) {
+              // Translate each constraint `w - v <= cost'
+              // into the constraint `w - v <= cost - b/denominator';
+              // forget each constraint `v - w <= cost1'.
+              Row_Iterator m_iter = m_begin + n_var;
+              Row_Reference m_v = *m_iter;
+              N& m_v_cv = m_v[n_var + 1];
+              ++m_iter;
+              Row_Reference m_cv = *m_iter;
+              N& m_cv_v = m_cv[n_var];
+              ++m_iter;
+              // NOTE: delay update of m_v_cv and m_cv_v.
+              for ( ; m_iter != m_end; ++m_iter) {
+                Row_Reference m_i = *m_iter;
+                assign_r(m_i[n_var], PLUS_INFINITY, ROUND_NOT_NEEDED);
+                add_assign_r(m_i[n_var + 1], m_i[n_var + 1], d, ROUND_UP);
+              }
+              for (dimension_type k = n_var; k-- > 0; ) {
+                add_assign_r(m_v[k], m_v[k], d, ROUND_UP);
+                assign_r(m_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
+              }
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
+              add_assign_r(m_v_cv, m_v_cv, d, ROUND_UP);
+              assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+            else {
+              // Here `w_coeff == -denominator'.
+              // `expr' is of the form: -a*var + b.
+              N& m_cv_v = matrix[n_var + 1][n_var];
+              mul_2exp_assign_r(d, d, 1, ROUND_UP);
+              add_assign_r(matrix[n_var][n_var + 1], m_cv_v, d, ROUND_UP);
+              assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
+              forget_binary_octagonal_constraints(var_id);
+            }
+          }
+          else {
+            // Here `w != v', so that `expr' is of the form
+            // +/-denominator * w + b, with `w != v'.
+            // Remove all constraints on `v'.
+            forget_all_octagonal_constraints(var_id);
+            const dimension_type n_w = 2*w_id;
+            // We have got an expression of the following form:
+            // var1 + n, with `var1' != `var'.
+            // We remove all constraints of the form `var (+/- var1) >= const'
+            // and we add the new constraint `var +/- var1 >= n/denominator'.
+            if (w_coeff == denominator) {
+              // Add the new constraint `var - w >= b/denominator',
+              // i.e., `w - var <= -b/denominator'.
+              if (var_id < w_id)
+                add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
+              else
+                add_octagonal_constraint(n_var, n_w, b, minus_denom);
+            }
+            else {
+              // Add the new constraint `var + w >= b/denominator',
+              // i.e., `-w - var <= -b/denominator'.
+              if (var_id < w_id)
+                add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
+              else
+                add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
+            }
+          }
+          break;
+        }
 
-    \param pfunc
-    The partial function specifying the destiny of each dimension.
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
 
-    The template type parameter Partial_Function must provide
-    the following methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty co-domain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the co-domain
-    of the partial function.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.
-    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
-    returned.
+  // General case.
+  // Either t == 2, so that
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `v' and add back
+  // a constraint providing an upper or a lower bound for `v'
+  // (depending on `relsym').
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign(minus_b, b);
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -expr;
+  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Mapping_the_Dimensions_of_the_Vector_Space
-    "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+  PPL_DIRTY_TEMP(N, sum);
+  // Index of variable that is unbounded in `this->matrix'.
+  PPL_UNINITIALIZED(dimension_type, pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pinf_count = 0;
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+  switch (relsym) {
+  case LESS_OR_EQUAL:
+    {
+      // Compute an upper approximation for `sc_expr' into `sum'.
 
-    \param m
-    The number of replicas to be created.
+      // Approximate the inhomogeneous term.
+      assign_r(sum, sc_b, ROUND_UP);
+      // Approximate the homogeneous part of `sc_expr'.
+      PPL_DIRTY_TEMP(N, coeff_i);
+      PPL_DIRTY_TEMP(N, approx_i);
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+      // Note: indices above `w' can be disregarded, as they all have
+      // a zero coefficient in `sc_expr'.
+      for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
+           m_iter != m_iter_end; ) {
+        const dimension_type n_i = m_iter.index();
+        const dimension_type id = n_i/2;
+        Row_reference m_i = *m_iter;
+        ++m_iter;
+        Row_reference m_ci = *m_iter;
+        ++m_iter;
+        const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+        const int sign_i = sgn(sc_i);
+        if (sign_i == 0)
+          continue;
+        // Choose carefully: we are approximating `sc_expr'.
+        const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i + 1];
+        if (is_plus_infinity(double_approx_i)) {
+          if (++pinf_count > 1)
+            break;
+          pinf_index = id;
+          continue;
+        }
+        if (sign_i > 0)
+          assign_r(coeff_i, sc_i, ROUND_UP);
+        else {
+          neg_assign(minus_sc_i, sc_i);
+          assign_r(coeff_i, minus_sc_i, ROUND_UP);
+        }
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+      }
+      // Remove all constraints on `v'.
+      forget_all_octagonal_constraints(var_id);
+      reset_strongly_closed();
+      // Return immediately if no approximation could be computed.
+      if (pinf_count > 1) {
+        PPL_ASSERT(OK());
+        return;
+      }
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector space.
+      // Divide by the (sign corrected) denominator (if needed).
+      if (sc_denom != 1) {
+        // Before computing the quotient, the denominator should be
+        // approximated towards zero. Since `sc_denom' is known to be
+        // positive, this amounts to rounding downwards, which is
+        // achieved as usual by rounding upwards
+        // `minus_sc_denom' and negating again the result.
+        PPL_DIRTY_TEMP(N, down_sc_denom);
+        assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+        neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+        div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+      }
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+      if (pinf_count == 0) {
+        // Add the constraint `v <= pos_sum'.
+        PPL_DIRTY_TEMP(N, double_sum);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
+        matrix[n_var + 1][n_var] = double_sum;
+        // Deduce constraints of the form `v +/- u', where `u != v'.
+        deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, sum);
+      }
+      else if (pinf_count == 1)
+        if (pinf_index != var_id) {
+          const Coefficient& pi = expr.coefficient(Variable(pinf_index));
+          if (pi == denominator ) {
+            // Add the constraint `v - pinf_index <= sum'.
+            if (var_id < pinf_index)
+              matrix[2*pinf_index][n_var] = sum;
+            else
+              matrix[n_var + 1][2*pinf_index + 1] = sum;
+          }
+          else {
+            if (pi == minus_denom) {
+              // Add the constraint `v + pinf_index <= sum'.
+              if (var_id < pinf_index)
+                matrix[2*pinf_index + 1][n_var] = sum;
+              else
+                matrix[n_var + 1][2*pinf_index] = sum;
+            }
+          }
+        }
+      break;
+    }
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref expand_space_dimension "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
+  case GREATER_OR_EQUAL:
+    {
+      // Compute an upper approximation for `-sc_expr' into `sum'.
+      // Note: approximating `-sc_expr' from above and then negating the
+      // result is the same as approximating `sc_expr' from below.
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+      // Approximate the inhomogeneous term.
+      assign_r(sum, minus_sc_b, ROUND_UP);
+      PPL_DIRTY_TEMP(N, coeff_i);
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+      PPL_DIRTY_TEMP(N, approx_i);
+      // Approximate the homogeneous part of `-sc_expr'.
+      for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
+           m_iter != m_iter_end; ) {
+        const dimension_type n_i = m_iter.index();
+        const dimension_type id = n_i/2;
+        Row_reference m_i = *m_iter;
+        ++m_iter;
+        Row_reference m_ci = *m_iter;
+        ++m_iter;
+        const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+        const int sign_i = sgn(sc_i);
+        if (sign_i == 0)
+          continue;
+        // Choose carefully: we are approximating `-sc_expr'.
+        const N& double_approx_i = (sign_i > 0) ? m_i[n_i + 1] : m_ci[n_i];
+        if (is_plus_infinity(double_approx_i)) {
+          if (++pinf_count > 1)
+            break;
+          pinf_index = id;
+          continue;
+        }
+        if (sign_i > 0)
+          assign_r(coeff_i, sc_i, ROUND_UP);
+        else {
+          neg_assign(minus_sc_i, sc_i);
+          assign_r(coeff_i, minus_sc_i, ROUND_UP);
+        }
+        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
+        add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+      }
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+      // Remove all constraints on `var'.
+      forget_all_octagonal_constraints(var_id);
+      reset_strongly_closed();
+      // Return immediately if no approximation could be computed.
+      if (pinf_count > 1) {
+        PPL_ASSERT(OK());
+        return;
+      }
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.
-    Also thrown if \p dest is contained in \p vars.
+      // Divide by the (sign corrected) denominator (if needed).
+      if (sc_denom != 1) {
+        // Before computing the quotient, the denominator should be
+        // approximated towards zero. Since `sc_denom' is known to be
+        // positive, this amounts to rounding downwards, which is
+        // achieved as usual by rounding upwards
+        // `minus_sc_denom' and negating again the result.
+        PPL_DIRTY_TEMP(N, down_sc_denom);
+        assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+        neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+        div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+      }
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+      if (pinf_count == 0) {
+        // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+        PPL_DIRTY_TEMP(N, double_sum);
+        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
+        matrix[n_var][n_var + 1] = double_sum;
+        // Deduce constraints of the form `-v +/- u', where `u != v'.
+        deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_denom, sum);
+      }
+      else if (pinf_count == 1)
+        if (pinf_index != var_id) {
+          const Coefficient& pi = expr.coefficient(Variable(pinf_index));
+          if (pi == denominator) {
+            // Add the constraint `v - pinf_index >= -sum',
+            // i.e., `pinf_index - v <= sum'.
+            if (pinf_index < var_id)
+              matrix[n_var][2*pinf_index] = sum;
+            else
+              matrix[2*pinf_index + 1][n_var + 1] = sum;
+          }
+          else {
+            if (pi == minus_denom) {
+              // Add the constraint `v + pinf_index >= -sum',
+              // i.e., `-pinf_index - v <= sum'.
+              if (pinf_index < var_id)
+                matrix[n_var][2*pinf_index + 1] = sum;
+              else
+                matrix[2*pinf_index][n_var + 1] = sum;
+            }
+          }
+        }
+      break;
+    }
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  default:
+    // We already dealt with the other cases.
+    PPL_UNREACHABLE;
+    break;
+  }
+  incremental_strong_closure_assign(var);
+  PPL_ASSERT(OK());
+}
 
-  PPL_OUTPUT_DECLARATIONS
+template <typename T>
+void
+Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
+                                             const Relation_Symbol relsym,
+                                             const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
+  // of `*this'.
+  dimension_type lhs_space_dim = lhs.space_dimension();
+  if (space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+                                 "e1", lhs);
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+                                 "e2", rhs);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  // Strict relation symbols are not admitted for octagons.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  strong_closure_assign();
+  // The image of an empty octagon is empty.
+  if (marked_empty())
+    return;
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+  // Number of non-zero coefficients in `lhs': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t_lhs = 0;
+  // Index of the last non-zero coefficient in `lhs', if any.
+  dimension_type j_lhs = lhs.last_nonzero();
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
-  */
-  int32_t hash_code() const;
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
-  friend bool operator==<T>(const BD_Shape<T>& x, const BD_Shape<T>& y);
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::rectilinear_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
-   Temp& tmp0, Temp& tmp1, Temp& tmp2);
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::euclidean_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
-   Temp& tmp0, Temp& tmp1, Temp& tmp2);
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::l_infinity_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const BD_Shape<U>& x, const BD_Shape<U>& y, const Rounding_Dir dir,
-   Temp& tmp0, Temp& tmp1, Temp& tmp2);
+  if (t_lhs == 0) {
+    // `lhs' is a constant.
+    // In principle, it is sufficient to add the constraint `lhs relsym rhs'.
+    // Note that this constraint is an octagonal difference if `t_rhs <= 1'
+    // or `t_rhs > 1' and `rhs == a*v - a*w + b_rhs' or
+    // `rhs == a*v + a*w + b_rhs'. If `rhs' is of a
+    // more general form, it will be simply ignored.
+    // TODO: if it is not an octagonal difference, should we compute
+    // approximations for this constraint?
+    switch (relsym) {
+    case LESS_OR_EQUAL:
+      refine_no_check(lhs <= rhs);
+      break;
+    case EQUAL:
+      refine_no_check(lhs == rhs);
+      break;
+    case GREATER_OR_EQUAL:
+      refine_no_check(lhs >= rhs);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
 
-private:
-  template <typename U> friend class Parma_Polyhedra_Library::BD_Shape;
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+  else if (t_lhs == 1) {
+    // Here `lhs == a_lhs * v + b_lhs'.
+    // Independently from the form of `rhs', we can exploit the
+    // method computing generalized affine images for a single variable.
+    Variable v(j_lhs);
+    // Compute a sign-corrected relation symbol.
+    const Coefficient& denom = lhs.coefficient(v);
+    Relation_Symbol new_relsym = relsym;
+    if (denom < 0) {
+      if (relsym == LESS_OR_EQUAL)
+        new_relsym = GREATER_OR_EQUAL;
+      else if (relsym == GREATER_OR_EQUAL)
+        new_relsym = LESS_OR_EQUAL;
+    }
+    Linear_Expression expr = rhs - b_lhs;
+    generalized_affine_image(v, new_relsym, expr, denom);
+  }
+  else {
+    // Here `lhs' is of the general form, having at least two variables.
+    // Compute the set of variables occurring in `lhs'.
+    std::vector<Variable> lhs_vars;
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-  //! The matrix representing the system of bounded differences.
-  DB_Matrix<N> dbm;
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
+      // `lhs' and `rhs' variables are disjoint.
+      // Existentially quantify all variables in the lhs.
+      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
+        dimension_type lhs_vars_i = lhs_vars[i].id();
+        forget_all_octagonal_constraints(lhs_vars_i);
+      }
+      // Constrain the left hand side expression so that it is related to
+      // the right hand side expression as dictated by `relsym'.
+      // TODO: if the following constraint is NOT an octagonal difference,
+      // it will be simply ignored. Should we compute approximations for it?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+    }
+    else {
+      // Some variables in `lhs' also occur in `rhs'.
 
-#define PPL_IN_BD_Shape_CLASS
-/* Automatically generated from PPL source file ../src/BDS_Status.idefs.hh line 1. */
-/* BD_Shape<T>::Status class declaration.
-*/
+#if 1 // Simplified computation (see the TODO note below).
 
+      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
+        dimension_type lhs_vars_i = lhs_vars[i].id();
+        forget_all_octagonal_constraints(lhs_vars_i);
+      }
 
-#ifndef PPL_IN_BD_Shape_CLASS
-#error "Do not include BDS_Status.idefs.hh directly; use BD_Shape.defs.hh instead."
-#endif
+#else // Currently unnecessarily complex computation.
 
-//! A conjunctive assertion about a BD_Shape<T> object.
-/*! \ingroup PPL_CXX_interface
-  The assertions supported are:
-  - <EM>zero-dim universe</EM>: the BDS is the zero-dimensional
-    vector space \f$\Rset^0 = \{\cdot\}\f$;
-  - <EM>empty</EM>: the BDS is the empty set;
-  - <EM>shortest-path closed</EM>: the BDS is represented by a shortest-path
-    closed system of bounded differences, so that all the constraints are
-    as tight as possible;
-  - <EM>shortest-path reduced</EM>: the BDS is represented by a shortest-path
-    closed system of bounded differences and each constraint in such a system
-    is marked as being either redundant or non-redundant.
+      // More accurate computation that is worth doing only if
+      // the following TODO note is accurately dealt with.
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>zero-dim universe</EM> excludes any other assertion;
-  - <EM>empty</EM>: excludes any other assertion;
-  - <EM>shortest-path reduced</EM> implies <EM>shortest-path closed</EM>.
-*/
-class Status {
-public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
-  Status();
+      // To ease the computation, we add an additional dimension.
+      const Variable new_var(space_dim);
+      add_space_dimensions_and_embed(1);
+      // Constrain the new dimension to be equal to `rhs'.
+      // NOTE: calling affine_image() instead of refine_no_check()
+      // ensures some approximation is tried even when the constraint
+      // is not an octagonal constraint.
+      affine_image(new_var, rhs);
+      // Existentially quantify all variables in the lhs.
+      // NOTE: enforce strong closure for precision.
+      strong_closure_assign();
+      PPL_ASSERT(!marked_empty());
+      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
+        dimension_type lhs_vars_i = lhs_vars[i].id();
+        forget_all_octagonal_constraints(lhs_vars_i);
+      }
+      // Constrain the new dimension so that it is related to
+      // the left hand side as dictated by `relsym'.
+      // TODO: each one of the following constraints is definitely NOT
+      // an octagonal difference (since it has 3 variables at least).
+      // Thus, the method refine_no_check() will simply ignore it.
+      // Should we compute approximations for this constraint?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= new_var);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == new_var);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= new_var);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      // Remove the temporarily added dimension.
+      remove_higher_space_dimensions(space_dim-1);
+#endif // Currently unnecessarily complex computation.
+    }
+  }
 
-  //! \name Test, remove or add an individual assertion from the conjunction.
-  //@{
-  bool test_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+  PPL_ASSERT(OK());
+}
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+template <typename T>
+void
+Octagonal_Shape<T>::bounded_affine_image(const Variable var,
+                                         const Linear_Expression& lb_expr,
+                                         const Linear_Expression& ub_expr,
+                                         Coefficient_traits::const_reference
+                                         denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
-  bool test_shortest_path_closed() const;
-  void reset_shortest_path_closed();
-  void set_shortest_path_closed();
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 var_id + 1);
 
-  bool test_shortest_path_reduced() const;
-  void reset_shortest_path_reduced();
-  void set_shortest_path_reduced();
-  //@}
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 "ub", ub_expr);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-  PPL_OUTPUT_DECLARATIONS
+  // Number of non-zero coefficients in `lb_expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Variable-index of the last non-zero coefficient in `lb_expr', if any.
+  dimension_type w_id = lb_expr.last_nonzero();
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+  if (w_id != 0) {
+    ++t;
+    if (!lb_expr.all_zeroes(1, w_id))
+      ++t;
+    --w_id;
+  }
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
 
-  //! \name Bit-masks for the individual assertions.
-  //@{
-  static const flags_t ZERO_DIM_UNIV         = 0U;
-  static const flags_t EMPTY                 = 1U << 0;
-  static const flags_t SHORTEST_PATH_CLOSED  = 1U << 1;
-  static const flags_t SHORTEST_PATH_REDUCED = 1U << 2;
-  //@}
+  const Row_Iterator m_begin = matrix.row_begin();
+  const dimension_type n_var = 2*var_id;
+  const Coefficient& b = lb_expr.inhomogeneous_term();
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign_r(minus_denom, denominator, ROUND_NOT_NEEDED);
 
-  //! This holds the current bitset.
-  flags_t flags;
+  // `w' is the variable with index `w_id'.
+  // Now we know the form of `lb_expr':
+  // - If t == 0, then lb_expr == b, with `b' a constant;
+  // - If t == 1, then lb_expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `lb_expr' is of the general form.
 
-  //! Construct from a bit-mask.
-  Status(flags_t mask);
+  if (t == 0) {
+    // Case 1: lb_expr == b.
+    generalized_affine_image(var,
+                             LESS_OR_EQUAL,
+                             ub_expr,
+                             denominator);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
+    two_b = 2*b;
+    // Add the constraint `var >= b/denominator'.
+    add_octagonal_constraint(n_var, n_var + 1, two_b, minus_denom);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  if (t == 1) {
+    // The one and only non-zero homogeneous coefficient in `lb_expr'.
+    const Coefficient& w_coeff = lb_expr.coefficient(Variable(w_id));
+    if (w_coeff == denominator || w_coeff == minus_denom) {
+      // Case 2: lb_expr = w_coeff*w + b, with w_coeff = +/- denominator.
+      if (w_id == var_id) {
+        // Here `var' occurs in `lb_expr'.
+        // To ease the computation, we add an additional dimension.
+        const Variable new_var(space_dim);
+        add_space_dimensions_and_embed(1);
+        // Constrain the new dimension to be equal to `lb_expr'.
+        // Here `lb_expr' is of the form: +/- denominator * v + b.
+        affine_image(new_var, lb_expr, denominator);
+        // Enforce the strong closure for precision.
+        strong_closure_assign();
+        PPL_ASSERT(!marked_empty());
+        // Apply the affine upper bound.
+        generalized_affine_image(var,
+                                 LESS_OR_EQUAL,
+                                 ub_expr,
+                                 denominator);
+        // Now apply the affine lower bound, as recorded in `new_var'
+        refine_no_check(var >= new_var);
+        // Remove the temporarily added dimension.
+        remove_higher_space_dimensions(space_dim-1);
+        return;
+      }
+      else {
+        // Apply the affine upper bound.
+        generalized_affine_image(var,
+                                 LESS_OR_EQUAL,
+                                 ub_expr,
+                                 denominator);
+        // Here `w != var', so that `lb_expr' is of the form
+        // +/-denominator * w + b.
+        const dimension_type n_w = 2*w_id;
+        // Add the new constraint `var - w >= b/denominator'.
+        if (w_coeff == denominator)
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w + 1, n_var + 1, b, minus_denom);
+          else
+            add_octagonal_constraint(n_var, n_w, b, minus_denom);
+        else {
+          // Add the new constraint `var + w >= b/denominator'.
+          if (var_id < w_id)
+            add_octagonal_constraint(n_w, n_var + 1, b, minus_denom);
+          else
+            add_octagonal_constraint(n_var, n_w + 1, b, minus_denom);
+        }
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
+  }
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  // General case.
+  // Either t == 2, so that
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `var' and add back
+  // constraints providing upper and lower bounds for `var'.
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+  // Compute upper approximations for `expr' and `-expr'
+  // into `pos_sum' and `neg_sum', respectively, taking into account
+  // the sign of `denominator'.
+  // Note: approximating `-expr' from above and then negating the
+  // result is the same as approximating `expr' from below.
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -lb_expr;
+  const Linear_Expression& sc_expr = is_sc ? lb_expr : minus_expr;
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1808. */
-#undef PPL_IN_BD_Shape_CLASS
+  PPL_DIRTY_TEMP(N, neg_sum);
+  // Indices of the variables that are unbounded in `this->matrix'.
+  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
+  // Number of unbounded variables found.
+  dimension_type neg_pinf_count = 0;
 
-  //! The status flags to keep track of the internal state.
-  Status status;
+  // Approximate the inhomogeneous term.
+  assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
-  //! A matrix indicating which constraints are redundant.
-  Bit_Matrix redundancy_dbm;
+  // Approximate the homogeneous part of `sc_expr'.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP(N, minus_coeff_i);
+  PPL_DIRTY_TEMP(N, half);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+  // Note: indices above `w' can be disregarded, as they all have
+  // a zero coefficient in `sc_expr'.
+  for (Row_iterator m_iter = m_begin, m_iter_end = m_begin + (2 * w_id + 2);
+       m_iter != m_iter_end; ) {
+    const dimension_type n_i = m_iter.index();
+    const dimension_type id = n_i/2;
+    Row_reference m_i = *m_iter;
+    ++m_iter;
+    Row_reference m_ci = *m_iter;
+    ++m_iter;
+    const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
+    const int sign_i = sgn(sc_i);
+    if (sign_i > 0) {
+      assign_r(coeff_i, sc_i, ROUND_UP);
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& double_up_approx_minus_i = m_i[n_i + 1];
+        if (!is_plus_infinity(double_up_approx_minus_i)) {
+          // Let half = double_up_approx_minus_i / 2.
+          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
+          add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = id;
+        }
+      }
+    }
+    else if (sign_i < 0) {
+      neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
+      assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& double_up_approx_i = m_ci[n_i];
+        if (!is_plus_infinity(double_up_approx_i)) {
+          // Let half = double_up_approx_i / 2.
+          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
+          add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
+        }
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = id;
+        }
+      }
+    }
+  }
 
-  //! Returns <CODE>true</CODE> if the BDS is the zero-dimensional universe.
-  bool marked_zero_dim_univ() const;
+  // Apply the affine upper bound.
+  generalized_affine_image(var,
+                           LESS_OR_EQUAL,
+                           ub_expr,
+                           denominator);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the BDS is known to be empty.
+  // Return immediately if no approximation could be computed.
+  if (neg_pinf_count > 1) {
+    return;
+  }
 
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
-  */
-  bool marked_empty() const;
+  // In the following, strong closure will be definitely lost.
+  reset_strongly_closed();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the system of bounded differences
-    is known to be shortest-path closed.
+  // Exploit the lower approximation, if possible.
+  if (neg_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the lower bound constraint, if meaningful.
+    if (neg_pinf_count == 0) {
+      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+      PPL_DIRTY_TEMP(N, double_neg_sum);
+      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
+      matrix[n_var][n_var + 1] = double_neg_sum;
+      // Deduce constraints of the form `-v +/- u', where `u != v'.
+      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_denom, neg_sum);
+    }
+    else
+      // Here `neg_pinf_count == 1'.
+      if (neg_pinf_index != var_id) {
+        const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
+        if (npi == sc_denom)
+          // Add the constraint `v - neg_pinf_index >= -neg_sum',
+          // i.e., `neg_pinf_index - v <= neg_sum'.
+          if (neg_pinf_index < var_id)
+            matrix[n_var][2*neg_pinf_index] = neg_sum;
+          else
+            matrix[2*neg_pinf_index + 1][n_var + 1] = neg_sum;
+        else
+          if (npi == minus_sc_denom) {
+            // Add the constraint `v + neg_pinf_index >= -neg_sum',
+            // i.e., `-neg_pinf_index - v <= neg_sum'.
+            if (neg_pinf_index < var_id)
+              matrix[n_var][2*neg_pinf_index + 1] = neg_sum;
+            else
+              matrix[2*neg_pinf_index][n_var + 1] = neg_sum;
+          }
+      }
+  }
 
-    The return value <CODE>false</CODE> does not necessarily
-    implies that <CODE>this->dbm</CODE> is not shortest-path closed.
-  */
-  bool marked_shortest_path_closed() const;
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the system of bounded differences
-    is known to be shortest-path reduced.
 
-    The return value <CODE>false</CODE> does not necessarily
-    implies that <CODE>this->dbm</CODE> is not shortest-path reduced.
-  */
-  bool marked_shortest_path_reduced() const;
+template <typename T>
+void
+Octagonal_Shape<T>
+::generalized_affine_preimage(const Variable var,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& expr,
+                              Coefficient_traits::const_reference
+                              denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)", "d == 0");
 
-  //! Turns \p *this into an empty BDS.
-  void set_empty();
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+                                 "e", expr);
 
-  //! Turns \p *this into an zero-dimensional universe BDS.
-  void set_zero_dim_univ();
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+                                 var_id + 1);
 
-  //! Marks \p *this as shortest-path closed.
-  void set_shortest_path_closed();
+  // The relation symbol cannot be a strict relation symbol.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
-  //! Marks \p *this as shortest-path closed.
-  void set_shortest_path_reduced();
+  if (relsym == EQUAL) {
+    // The relation symbol is "=":
+    // this is just an affine preimage computation.
+    affine_preimage(var, expr, denominator);
+    return;
+  }
 
-  //! Marks \p *this as possibly not shortest-path closed.
-  void reset_shortest_path_closed();
+  // The image of an empty octagon is empty too.
+  strong_closure_assign();
+  if (marked_empty())
+    return;
 
-  //! Marks \p *this as possibly not shortest-path reduced.
-  void reset_shortest_path_reduced();
+  // Check whether the preimage of this affine relation can be easily
+  // computed as the image of its inverse relation.
+  const Coefficient& expr_v = expr.coefficient(var);
+  if (expr_v != 0) {
+    const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL)
+      ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
+    const Linear_Expression inverse
+      = expr - (expr_v + denominator)*var;
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+    neg_assign(inverse_denom, expr_v);
+    const Relation_Symbol inverse_relsym
+      = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym;
+    generalized_affine_image(var, inverse_relsym, inverse, inverse_denom);
+    return;
+  }
 
-  //! Assigns to <CODE>this->dbm</CODE> its shortest-path closure.
-  void shortest_path_closure_assign() const;
+  // Here `var_coefficient == 0', so that the preimage cannot
+  // be easily computed by inverting the affine relation.
+  // Shrink the Octagonal_Shape by adding the constraint induced
+  // by the affine relation.
+  refine(var, relsym, expr, denominator);
 
-  /*! \brief
-    Assigns to <CODE>this->dbm</CODE> its shortest-path closure and
-    records into <CODE>this->redundancy_dbm</CODE> which of the entries
-    in <CODE>this->dbm</CODE> are redundant.
-  */
-  void shortest_path_reduction_assign() const;
+  // If the shrunk OS is empty, its preimage is empty too; ...
+  if (is_empty())
+    return;
+  // ...  otherwise, since the relation was not invertible,
+  // we just forget all constraints on `var'.
+  forget_all_octagonal_constraints(var_id);
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if <CODE>this->dbm</CODE>
-    is shortest-path closed and <CODE>this->redundancy_dbm</CODE>
-    correctly flags the redundant entries in <CODE>this->dbm</CODE>.
-  */
-  bool is_shortest_path_reduced() const;
+template <typename T>
+void
+Octagonal_Shape<T>
+::generalized_affine_preimage(const Linear_Expression& lhs,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
+  // of `*this'.
+  dimension_type lhs_space_dim = lhs.space_dimension();
+  if (space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
+                                 "e1", lhs);
 
-  /*! \brief
-    Incrementally computes shortest-path closure, assuming that only
-    constraints affecting variable \p var need to be considered.
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
+                                 "e2", rhs);
 
-    \note
-    It is assumed that \c *this, which was shortest-path closed,
-    has only been modified by adding constraints affecting variable
-    \p var. If this assumption is not satisfied, i.e., if a non-redundant
-    constraint not affecting variable \p var has been added, the behavior
-    is undefined.
-  */
-  void incremental_shortest_path_closure_assign(Variable var) const;
+  // Strict relation symbols are not admitted for octagons.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+  strong_closure_assign();
+  // The image of an empty octagon is empty.
+  if (marked_empty())
+    return;
 
-    \param expr
-    The linear expression to test;
+  // Number of non-zero coefficients in `lhs': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t_lhs = 0;
+  // Index of the last non-zero coefficient in `lhs', if any.
+  dimension_type j_lhs = lhs.last_nonzero();
 
-    \param from_above
-    <CODE>true</CODE> if and only if the boundedness of interest is
-    "from above".
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    j_lhs--;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds(const Linear_Expression& expr, bool from_above) const;
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+  // If all variables have a zero coefficient, then `lhs' is a constant:
+  // in this case, preimage and image happen to be the same.
+  if (t_lhs == 0) {
+    generalized_affine_image(lhs, relsym, rhs);
+    return;
+  }
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+  else if (t_lhs == 1) {
+    // Here `lhs == a_lhs * v + b_lhs'.
+    // Independently from the form of `rhs', we can exploit the
+    // method computing generalized affine preimages for a single variable.
+    Variable v(j_lhs);
+    // Compute a sign-corrected relation symbol.
+    const Coefficient& denom = lhs.coefficient(v);
+    Relation_Symbol new_relsym = relsym;
+    if (denom < 0) {
+      if (relsym == LESS_OR_EQUAL)
+        new_relsym = GREATER_OR_EQUAL;
+      else if (relsym == GREATER_OR_EQUAL)
+        new_relsym = LESS_OR_EQUAL;
+    }
+    Linear_Expression expr = rhs - b_lhs;
+    generalized_affine_preimage(v, new_relsym, expr, denom);
+  }
 
-    \param ext_n
-    The numerator of the extremum value;
+  else {
+    // Here `lhs' is of the general form, having at least two variables.
+    // Compute the set of variables occurring in `lhs'.
+    std::vector<Variable> lhs_vars;
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-    \param ext_d
-    The denominator of the extremum value;
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
+      // `lhs' and `rhs' variables are disjoint.
+      // Constrain the left hand side expression so that it is related to
+      // the right hand side expression as dictated by `relsym'.
+      // TODO: if the following constraint is NOT an octagonal difference,
+      // it will be simply ignored. Should we compute approximations for it?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+      // Any image of an empty octagon is empty.
+      if (is_empty())
+        return;
+      // Existentially quantify all variables in the lhs.
+      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
+        dimension_type lhs_vars_i = lhs_vars[i].id();
+        forget_all_octagonal_constraints(lhs_vars_i);
+      }
+    }
+    else {
+      // Some variables in `lhs' also occur in `rhs'.
 
-    \param g
-    When maximization or minimization succeeds, will be assigned
-    a point or closure point where \p expr reaches the
-    corresponding extremum value.
+      // More accurate computation that is worth doing only if
+      // the following TODO note is accurately dealt with.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+      // To ease the computation, we add an additional dimension.
+      const Variable new_var(space_dim);
+      add_space_dimensions_and_embed(1);
+      // Constrain the new dimension to be equal to `rhs'.
+      // NOTE: calling affine_image() instead of refine_no_check()
+      // ensures some approximation is tried even when the constraint
+      // is not an octagonal difference.
+      affine_image(new_var, lhs);
+      // Existentially quantify all variables in the lhs.
+      // NOTE: enforce strong closure for precision.
+      strong_closure_assign();
+      PPL_ASSERT(!marked_empty());
+      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
+        dimension_type lhs_vars_i = lhs_vars[i].id();
+        forget_all_octagonal_constraints(lhs_vars_i);
+      }
+      // Constrain the new dimension so that it is related to
+      // the left hand side as dictated by `relsym'.
+      // Note: if `rhs == v + b_rhs' or `rhs == -v + b_rhs' or `rhs == b_rhs',
+      // one of the following constraints will be added, because they
+      // are octagonal differences.
+      // Else the following constraints are NOT octagonal differences,
+      // so the method refine_no_check() will ignore them.
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(new_var <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(new_var == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(new_var >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      // Remove the temporarily added dimension.
+      remove_higher_space_dimensions(space_dim-1);
+    }
+  }
+  PPL_ASSERT(OK());
+}
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p g are left untouched.
-  */
-  bool max_min(const Linear_Expression& expr,
-               bool maximize,
-               Coefficient& ext_n, Coefficient& ext_d, bool& included,
-               Generator& g) const;
+template <typename T>
+void
+Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
+                                            const Linear_Expression& lb_expr,
+                                            const Linear_Expression& ub_expr,
+                                            Coefficient_traits::const_reference
+                                            denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+  // `var' should be one of the dimensions of the octagon.
+  const dimension_type var_id = var.id();
+  if (space_dim < var_id + 1)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 var_id + 1);
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 "ub", ub_expr);
 
-    \param ext_n
-    The numerator of the extremum value;
+  strong_closure_assign();
+  // The image of an empty octagon is empty too.
+  if (marked_empty())
+    return;
 
-    \param ext_d
-    The denominator of the extremum value;
+  if (ub_expr.coefficient(var) == 0) {
+    refine(var, LESS_OR_EQUAL, ub_expr, denominator);
+    generalized_affine_preimage(var, GREATER_OR_EQUAL,
+                                lb_expr, denominator);
+    return;
+  }
+  if (lb_expr.coefficient(var) == 0) {
+    refine(var, GREATER_OR_EQUAL, lb_expr, denominator);
+    generalized_affine_preimage(var, LESS_OR_EQUAL,
+                                ub_expr, denominator);
+    return;
+  }
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+  const Coefficient& expr_v = lb_expr.coefficient(var);
+  // Here `var' occurs in `lb_expr' and `ub_expr'.
+  // To ease the computation, we add an additional dimension.
+  const Variable new_var(space_dim);
+  add_space_dimensions_and_embed(1);
+  const Linear_Expression lb_inverse
+    = lb_expr - (expr_v + denominator)*var;
+  PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+  neg_assign(inverse_denom, expr_v);
+  affine_image(new_var, lb_inverse, inverse_denom);
+  strong_closure_assign();
+  PPL_ASSERT(!marked_empty());
+  generalized_affine_preimage(var, LESS_OR_EQUAL,
+                              ub_expr, denominator);
+  if (sgn(denominator) == sgn(inverse_denom))
+    refine_no_check(var >= new_var) ;
+  else
+    refine_no_check(var <= new_var);
+  // Remove the temporarily added dimension.
+  remove_higher_space_dimensions(space_dim-1);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename T>
+Constraint_System
+Octagonal_Shape<T>::constraints() const {
+  const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p point are left untouched.
-  */
-  bool max_min(const Linear_Expression& expr,
-               bool maximize,
-               Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
+  if (space_dim == 0) {
+    if (marked_empty())
+      cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact it is assigned
-    to \p *this and \c true is returned, otherwise \c false is returned.
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
 
-    Current implementation is based on a variant of Algorithm 4.1 in
-      A. Bemporad, K. Fukuda, and F. D. Torrisi
-      <em>Convexity Recognition of the Union of Polyhedra</em>
-      Technical Report AUT00-13, ETH Zurich, 2000
-    tailored to the special case of BD shapes.
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-    \note
-    It is assumed that \p *this and \p y are dimension-compatible;
-    if the assumption does not hold, the behavior is undefined.
-  */
-  bool BFT00_upper_bound_assign_if_exact(const BD_Shape& y);
+  Row_Iterator m_begin = matrix.row_begin();
+  Row_Iterator m_end = matrix.row_end();
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact it is assigned
-    to \p *this and \c true is returned, otherwise \c false is returned.
+  PPL_DIRTY_TEMP_COEFFICIENT(a);
+  PPL_DIRTY_TEMP_COEFFICIENT(b);
 
-    Implementation for the rational (resp., integer) case is based on
-    Theorem 5.2 (resp. Theorem 5.3) of \ref BHZ09b "[BHZ09b]".
-    The Boolean template parameter \c integer_upper_bound allows for
-    choosing between the rational and integer upper bound algorithms.
+  // Go through all the unary constraints in `matrix'.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    const Variable x(i/2);
+    const N& c_i_ii = (*i_iter)[i + 1];
+    ++i_iter;
+    const N& c_ii_i = (*i_iter)[i];
+    ++i_iter;
+    // Go through unary constraints.
+    if (is_additive_inverse(c_i_ii, c_ii_i)) {
+      // We have a unary equality constraint.
+      numer_denom(c_ii_i, b, a);
+      a *= 2;
+      cs.insert(a*x == b);
+    }
+    else {
+      // We have 0, 1 or 2 inequality constraints.
+      if (!is_plus_infinity(c_i_ii)) {
+        numer_denom(c_i_ii, b, a);
+        a *= 2;
+        cs.insert(-a*x <= b);
+      }
+      if (!is_plus_infinity(c_ii_i)) {
+        numer_denom(c_ii_i, b, a);
+        a *= 2;
+        cs.insert(a*x <= b);
+      }
+    }
+  }
+  //  Go through all the binary constraints in `matrix'.
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    Row_Reference r_i = *i_iter;
+    ++i_iter;
+    Row_Reference r_ii = *i_iter;
+    ++i_iter;
+    const Variable y(i/2);
+    for (dimension_type j = 0; j < i; j += 2) {
+      const N& c_i_j = r_i[j];
+      const N& c_ii_jj = r_ii[j + 1];
+      const Variable x(j/2);
+      if (is_additive_inverse(c_ii_jj, c_i_j)) {
+        // We have an equality constraint of the form a*x - a*y = b.
+        numer_denom(c_i_j, b, a);
+        cs.insert(a*x - a*y == b);
+      }
+      else {
+        // We have 0, 1 or 2 inequality constraints.
+        if (!is_plus_infinity(c_i_j)) {
+          numer_denom(c_i_j, b, a);
+          cs.insert(a*x - a*y <= b);
+        }
+        if (!is_plus_infinity(c_ii_jj)) {
+          numer_denom(c_ii_jj, b, a);
+          cs.insert(a*y - a*x <= b);
+        }
+      }
 
-    \note
-    It is assumed that \p *this and \p y are dimension-compatible;
-    if the assumption does not hold, the behavior is undefined.
+      const N& c_ii_j = r_ii[j];
+      const N& c_i_jj = r_i[j + 1];
+      if (is_additive_inverse(c_i_jj, c_ii_j)) {
+        // We have an equality constraint of the form a*x + a*y = b.
+        numer_denom(c_ii_j, b, a);
+        cs.insert(a*x + a*y == b);
+      }
+      else {
+        // We have 0, 1 or 2 inequality constraints.
+        if (!is_plus_infinity(c_i_jj)) {
+          numer_denom(c_i_jj, b, a);
+          cs.insert(-a*x - a*y <= b);
+        }
+        if (!is_plus_infinity(c_ii_j)) {
+          numer_denom(c_ii_j, b, a);
+          cs.insert(a*x + a*y <= b);
+        }
+      }
+    }
+  }
+  return cs;
+}
 
-    \note
-    The integer case is only enabled if T is an integer datatype.
-  */
-  template <bool integer_upper_bound>
-  bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
+template <typename T>
+void
+Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
+  // `var' should be one of the dimensions of the vector space.
+  const dimension_type var_id = var.id();
+  if (var_id + 1 > space_dim)
+    throw_dimension_incompatible("expand_space_dimension(v, m)", var_id + 1);
 
-  /*! \brief
-    Uses the constraint \p c to refine \p *this.
+  // The space dimension of the resulting octagon should not
+  // overflow the maximum allowed space dimension.
+  if (m > max_space_dimension() - space_dim)
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
-    \param c
-    The constraint to be added. Non BD constraints are ignored.
+  // Nothing to do, if no dimensions must be added.
+  if (m == 0)
+    return;
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void refine_no_check(const Constraint& c);
+  // Keep track of the dimension before adding the new ones.
+  const dimension_type old_num_rows = matrix.num_rows();
 
-  /*! \brief
-    Uses the congruence \p cg to refine \p *this.
+  // Add the required new dimensions.
+  add_space_dimensions_and_embed(m);
 
-    \param cg
-    The congruence to be added.
-    Nontrivial proper congruences are ignored.
-    Non BD equalities are ignored.
+  // For each constraints involving variable `var', we add a
+  // similar constraint with the new variable substituted for
+  // variable `var'.
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void refine_no_check(const Congruence& cg);
+  const Row_Iterator m_begin = matrix.row_begin();
+  const Row_Iterator m_end = matrix.row_end();
+  const dimension_type n_var = 2*var_id;
+  Row_iterator v_iter = m_begin + n_var;
+  Row_reference m_v = *v_iter;
+  Row_reference m_cv = *(v_iter + 1);
 
-  //! Adds the constraint <CODE>dbm[i][j] \<= k</CODE>.
-  void add_dbm_constraint(dimension_type i, dimension_type j, const N& k);
+  for (Row_Iterator i_iter = m_begin + old_num_rows; i_iter != m_end;
+       i_iter += 2) {
+    Row_Reference m_i = *i_iter;
+    Row_Reference m_ci = *(i_iter + 1);
+    const dimension_type i = i_iter.index();
+    const dimension_type ci = i + 1;
+    m_i[ci] = m_v[n_var + 1];
+    m_ci[i] = m_cv[n_var];
+    for (dimension_type j = 0; j < n_var; ++j) {
+      m_i[j] = m_v[j];
+      m_ci[j] = m_cv[j];
+    }
+    for (dimension_type j = n_var + 2; j < old_num_rows; ++j) {
+      Row_Iterator j_iter = m_begin + j;
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
+      m_i[j] = m_cj[n_var + 1];
+      m_ci[j] = m_cj[n_var];
+    }
+  }
+  // In general, adding a constraint does not preserve the strong closure
+  // of the octagon.
+  if (marked_strongly_closed())
+    reset_strongly_closed();
+  PPL_ASSERT(OK());
+}
 
-  //! Adds the constraint <CODE>dbm[i][j] \<= num/den</CODE>.
-  void add_dbm_constraint(dimension_type i, dimension_type j,
-                          Coefficient_traits::const_reference num,
-                          Coefficient_traits::const_reference den);
+template <typename T>
+void
+Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                          Variable dest) {
+  // `dest' should be one of the dimensions of the octagon.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
-  /*! \brief
-    Adds to the BDS the constraint
-    \f$\mathrm{var} \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$.
+  // The folding of no dimensions is a no-op.
+  if (vars.empty())
+    return;
 
-    Note that the coefficient of \p var in \p expr is null.
-  */
-  void refine(Variable var, Relation_Symbol relsym,
-              const Linear_Expression& expr,
-              Coefficient_traits::const_reference denominator
-              = Coefficient_one());
+  // All variables in `vars' should be dimensions of the octagon.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-  //! Removes all the constraints on row/column \p v.
-  void forget_all_dbm_constraints(dimension_type v);
-  //! Removes all binary constraints on row/column \p v.
-  void forget_binary_dbm_constraints(dimension_type v);
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
 
-  //! An helper function for the computation of affine relations.
-  /*!
-    For each dbm index \p u (less than or equal to \p last_v and different
-    from \p v), deduce constraints of the form <CODE>v - u \<= c</CODE>,
-    starting from \p ub_v which is an upper bound for \p v.
+  // Recompute the elements of the row and the column corresponding
+  // to variable `dest' by taking the join of their value with the
+  // value of the corresponding elements in the row and column of the
+  // variable `vars'.
+  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
 
-    The shortest-path closure is able to deduce the constraint
-    <CODE>v - u \<= ub_v - lb_u</CODE>. We can be more precise if variable
-    \p u played an active role in the computation of the upper bound for
-    \p v, i.e., if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> is greater than zero. In particular:
-      - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
-      - if <CODE>0 \< q \< 1</CODE>, then
-        <CODE>v - u \<= ub_v - (q*ub_u + (1-q)*lb_u)</CODE>.
-  */
-  void deduce_v_minus_u_bounds(dimension_type v,
-                               dimension_type last_v,
-                               const Linear_Expression& sc_expr,
-                               Coefficient_traits::const_reference sc_den,
-                               const N& ub_v);
+  const Row_Iterator m_begin = matrix.row_begin();
 
-  //! An helper function for the computation of affine relations.
-  /*!
-    For each dbm index \p u (less than or equal to \p last_v and different
-    from \p v), deduce constraints of the form <CODE>u - v \<= c</CODE>,
-    starting from \p minus_lb_v which is a lower bound for \p v.
+  strong_closure_assign();
+  const dimension_type n_rows = matrix.num_rows();
+  const dimension_type n_dest = 2*dest.id();
+  Row_Iterator v_iter = m_begin + n_dest;
+  Row_Reference m_v = *v_iter;
+  Row_Reference m_cv = *(v_iter + 1);
+  for (Variables_Set::const_iterator i = vars.begin(),
+         vs_end = vars.end(); i != vs_end; ++i) {
+    const dimension_type tbf_id = *i;
+    const dimension_type tbf_var = 2*tbf_id;
+    Row_Iterator tbf_iter = m_begin + tbf_var;
+    Row_Reference m_tbf = *tbf_iter;
+    Row_Reference m_ctbf = *(tbf_iter + 1);
+    max_assign(m_v[n_dest + 1], m_tbf[tbf_var + 1]);
+    max_assign(m_cv[n_dest], m_ctbf[tbf_var]);
 
-    The shortest-path closure is able to deduce the constraint
-    <CODE>u - v \<= ub_u - lb_v</CODE>. We can be more precise if variable
-    \p u played an active role in the computation of the lower bound for
-    \p v, i.e., if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> is greater than zero.
-    In particular:
-      - if <CODE>q \>= 1</CODE>, then <CODE>u - v \<= lb_u - lb_v</CODE>;
-      - if <CODE>0 \< q \< 1</CODE>, then
-        <CODE>u - v \<= (q*lb_u + (1-q)*ub_u) - lb_v</CODE>.
-  */
-  void deduce_u_minus_v_bounds(dimension_type v,
-                               dimension_type last_v,
-                               const Linear_Expression& sc_expr,
-                               Coefficient_traits::const_reference sc_den,
-                               const N& minus_lb_v);
+    const dimension_type min_id = std::min(n_dest, tbf_var);
+    const dimension_type max_id = std::max(n_dest, tbf_var);
 
-  /*! \brief
-    Adds to \p limiting_shape the bounded differences in \p cs
-    that are satisfied by \p *this.
-  */
-  void get_limiting_shape(const Constraint_System& cs,
-                          BD_Shape& limiting_shape) const;
+    using namespace Implementation::Octagonal_Shapes;
+    for (dimension_type j = 0; j < min_id; ++j) {
+      const dimension_type cj = coherent_index(j);
+      max_assign(m_v[j], m_tbf[j]);
+      max_assign(m_cv[j], m_ctbf[j]);
+      max_assign(m_cv[cj], m_ctbf[cj]);
+      max_assign(m_v[cj], m_tbf[cj]);
+    }
+    for (dimension_type j = min_id + 2; j < max_id; ++j) {
+      const dimension_type cj = coherent_index(j);
+      Row_Iterator j_iter = m_begin + j;
+      Row_Reference m_j = *j_iter;
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
+      if (n_dest == min_id) {
+        max_assign(m_cj[n_dest + 1], m_tbf[j]);
+        max_assign(m_cj[n_dest], m_ctbf[j]);
+        max_assign(m_j[n_dest], m_ctbf[cj]);
+        max_assign(m_j[n_dest + 1], m_tbf[cj]);
+      }
+      else {
+        max_assign(m_v[j], m_cj[tbf_var + 1]);
+        max_assign(m_cv[j], m_cj[tbf_var]);
+        max_assign(m_cv[cj], m_j[tbf_var]);
+        max_assign(m_v[cj], m_j[tbf_var + 1]);
+      }
+    }
+    for (dimension_type j = max_id + 2; j < n_rows; ++j) {
+      Row_Iterator j_iter = m_begin + j;
+      Row_Reference m_j = *j_iter;
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter + 1);
+      max_assign(m_cj[n_dest + 1], m_cj[tbf_var + 1]);
+      max_assign(m_cj[n_dest], m_cj[tbf_var]);
+      max_assign(m_j[n_dest], m_j[tbf_var]);
+      max_assign(m_j[n_dest + 1], m_j[tbf_var + 1]);
+    }
+  }
+  remove_space_dimensions(vars);
+}
 
-  //! Compute the (zero-equivalence classes) predecessor relation.
-  /*!
-    It is assumed that the BDS is not empty and shortest-path closed.
-  */
-  void compute_predecessors(std::vector<dimension_type>& predecessor) const;
+template <typename T>
+bool
+Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  // FIXME, CHECKME: what about inexact computations?
 
-  //! Compute the leaders of zero-equivalence classes.
-  /*!
-    It is assumed that the BDS is not empty and shortest-path closed.
-  */
-  void compute_leaders(std::vector<dimension_type>& leaders) const;
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
-  void drop_some_non_integer_points_helper(N& elem);
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<<>(std::ostream& s, const BD_Shape<T>& c);
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
+  // If `x' or `y' is (known to be) empty, the upper bound is exact.
+  if (x.marked_empty()) {
+    *this = y;
+    return true;
+  }
+  else if (y.is_empty())
+    return true;
+  else if (x.is_empty()) {
+    *this = y;
+    return true;
+  }
 
-  //! \name Exception Throwers
-  //@{
-  void throw_dimension_incompatible(const char* method,
-                                    const BD_Shape& x) const;
+  // Here both `x' and `y' are known to be non-empty.
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
+  // Pre-compute the upper bound of `x' and `y'.
+  Octagonal_Shape<T> ub(x);
+  ub.upper_bound_assign(y);
 
-  void throw_dimension_incompatible(const char* method,
-                                    dimension_type required_dim) const;
+  // Compute redundancy information for x and y.
+  // TODO: provide a nicer data structure for redundancy.
+  std::vector<Bit_Row> x_non_red;
+  x.non_redundant_matrix_entries(x_non_red);
+  std::vector<Bit_Row> y_non_red;
+  y.non_redundant_matrix_entries(y_non_red);
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Constraint& c) const;
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, lhs_copy);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Congruence& cg) const;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  const dimension_type n_rows = x.matrix.num_rows();
+  const Row_Iterator x_m_begin = x.matrix.row_begin();
+  const Row_Iterator y_m_begin = y.matrix.row_begin();
+  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Generator& g) const;
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& x_non_red_i = x_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type ci = coherent_index(i);
+    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
+    Row_Reference x_i = *(x_m_begin + i);
+    Row_Reference y_i = *(y_m_begin + i);
+    Row_Reference ub_i = *(ub_m_begin + i);
+    const N& ub_i_ci = ub_i[ci];
+    for (dimension_type j = row_size_i; j-- > 0; ) {
+      // Check redundancy of x_i_j.
+      if (!x_non_red_i[j])
+        continue;
+      const N& x_i_j = x_i[j];
+      // Check 1st condition in BHZ09 theorem.
+      if (x_i_j >= y_i[j])
+        continue;
+      const dimension_type cj = coherent_index(j);
+      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
+      Row_Reference ub_cj = *(ub_m_begin + cj);
+      const N& ub_cj_j = ub_cj[j];
+      for (dimension_type k = 0; k < n_rows; ++k) {
+        const Bit_Row& y_non_red_k = y_non_red[k];
+        const dimension_type ck = coherent_index(k);
+        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
+        Row_Reference x_k = *(x_m_begin + k);
+        Row_Reference y_k = *(y_m_begin + k);
+        Row_Reference ub_k = *(ub_m_begin + k);
+        const N& ub_k_ck = ub_k[ck];
+        // Be careful: for each index h, the diagonal element m[h][h]
+        // is (by convention) +infty in our implementation; however,
+        // BHZ09 theorem assumes that it is equal to 0.
+        const N& ub_k_j
+          = (k == j)
+          ? temp_zero
+          : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck
+          = (i == ck)
+          ? temp_zero
+          : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]);
 
-  void throw_dimension_incompatible(const char* method,
-                                    const char* name_row,
-                                    const Linear_Expression& y) const;
+        for (dimension_type ell = row_size_k; ell-- > 0; ) {
+          // Check redundancy of y_k_ell.
+          if (!y_non_red_k[ell])
+            continue;
+          const N& y_k_ell = y_k[ell];
+          // Check 2nd condition in BHZ09 theorem.
+          if (y_k_ell >= x_k[ell])
+            continue;
+          const dimension_type cell = coherent_index(ell);
+          Row_Reference ub_cell = *(ub_m_begin + cell);
+          const N& ub_i_ell
+            = (i == ell)
+            ? temp_zero
+            : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell
+            = (cj == ell)
+            ? temp_zero
+            : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]);
+          // Check 3rd condition in BHZ09 theorem.
+          add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
+          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
+          if (lhs >= rhs)
+            continue;
+          // Check 4th condition in BHZ09 theorem.
+          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_UP);
+          if (lhs >= rhs)
+            continue;
+          // Check 5th condition in BHZ09 theorem.
+          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
+          add_assign_r(lhs, lhs_copy, x_i_j, ROUND_UP);
+          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_UP);
+          add_assign_r(rhs, rhs, ub_cj_j, ROUND_UP);
+          if (lhs >= rhs)
+            continue;
+          // Check 6th condition in BHZ09 theorem.
+          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_UP);
+          add_assign_r(rhs, rhs, ub_i_ci, ROUND_UP);
+          if (lhs >= rhs)
+            continue;
+          // Check 7th condition of BHZ09 theorem.
+          add_assign_r(lhs, lhs_copy, y_k_ell, ROUND_UP);
+          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_UP);
+          add_assign_r(rhs, rhs, ub_k_ck, ROUND_UP);
+          if (lhs >= rhs)
+            continue;
+          // Check 8th (last) condition in BHZ09 theorem.
+          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_UP);
+          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_UP);
+          if (lhs < rhs)
+            // All 8 conditions are satisfied:
+            // upper bound is not exact.
+            return false;
+        }
+      }
+    }
+  }
 
-  static void throw_expression_too_complex(const char* method,
-                                           const Linear_Expression& e);
+  // The upper bound of x and y is indeed exact.
+  m_swap(ub);
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  static void throw_generic(const char* method, const char* reason);
-  //@} // Exception Throwers
-};
+template <typename T>
+bool
+Octagonal_Shape<T>
+::integer_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "Octagonal_Shape<T>::"
+                         "integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
 
-namespace std {
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
-template <typename T>
-void swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
-          Parma_Polyhedra_Library::BD_Shape<T>& y);
+  // If `x' or `y' is (known to) contain no integral point,
+  // then the integer upper bound can be computed exactly by tight closure.
+  if (x.marked_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.marked_empty()) {
+    tight_closure_assign();
+    return true;
+  }
+  else if (x.is_empty() || x.tight_coherence_would_make_empty()) {
+    *this = y;
+    tight_closure_assign();
+    return true;
+  }
+  else if (y.is_empty() || y.tight_coherence_would_make_empty()) {
+    tight_closure_assign();
+    return true;
+  }
 
-} // namespace std
+  // Here both `x' and `y' are known to be non-empty (and Z-consistent).
+  PPL_ASSERT(x.marked_strongly_closed());
+  PPL_ASSERT(y.marked_strongly_closed());
+  // Pre-compute the integer upper bound of `x' and `y':
+  // have to take copies, since tight closure might modify the rational shape.
+  Octagonal_Shape<T> tx(x);
+  tx.tight_closure_assign();
+  Octagonal_Shape<T> ty(y);
+  ty.tight_closure_assign();
+  Octagonal_Shape<T> ub(tx);
+  ub.upper_bound_assign(ty);
 
-/* Automatically generated from PPL source file ../src/BDS_Status.inlines.hh line 1. */
-/* BD_Shape<T>::Status class implementation: inline functions.
-*/
+  // Compute redundancy information for tx and ty.
+  // TODO: provide a nicer data structure for redundancy.
+  // NOTE: there is no need to identify all redundancies, since this is
+  // an optimization; hence we reuse the strong-reduction helper methods.
+  std::vector<Bit_Row> tx_non_red;
+  tx.non_redundant_matrix_entries(tx_non_red);
+  std::vector<Bit_Row> ty_non_red;
+  ty.non_redundant_matrix_entries(ty_non_red);
 
+  PPL_DIRTY_TEMP(N, lhs_i_j);
+  PPL_DIRTY_TEMP(N, lhs_k_ell);
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, lhs_copy);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_two);
+  assign_r(temp_two, 2, ROUND_NOT_NEEDED);
 
-namespace Parma_Polyhedra_Library {
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  const dimension_type n_rows = tx.matrix.num_rows();
+  const Row_Iterator tx_m_begin = tx.matrix.row_begin();
+  const Row_Iterator ty_m_begin = ty.matrix.row_begin();
+  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
 
-template <typename T>
-inline
-BD_Shape<T>::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& tx_non_red_i = tx_non_red[i];
+    using namespace Implementation::Octagonal_Shapes;
+    const dimension_type ci = coherent_index(i);
+    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
+    Row_Reference tx_i = *(tx_m_begin + i);
+    Row_Reference ty_i = *(ty_m_begin + i);
+    Row_Reference ub_i = *(ub_m_begin + i);
+    const N& ub_i_ci = ub_i[ci];
+    for (dimension_type j = row_size_i; j-- > 0; ) {
+      // Check redundancy of tx_i_j.
+      if (!tx_non_red_i[j])
+        continue;
+      const N& tx_i_j = tx_i[j];
+      const dimension_type cj = coherent_index(j);
+      const N& eps_i_j = (i == cj) ? temp_two : temp_one;
+      // Check condition 1a in BHZ09 Theorem 6.8.
+      add_assign_r(lhs_i_j, tx_i_j, eps_i_j, ROUND_NOT_NEEDED);
+      if (lhs_i_j > ty_i[j])
+        continue;
+      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
+      Row_Reference ub_cj = *(ub_m_begin + cj);
+      const N& ub_cj_j = ub_cj[j];
+      for (dimension_type k = 0; k < n_rows; ++k) {
+        const Bit_Row& ty_non_red_k = ty_non_red[k];
+        const dimension_type ck = coherent_index(k);
+        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
+        Row_Reference tx_k = *(tx_m_begin + k);
+        Row_Reference ty_k = *(ty_m_begin + k);
+        Row_Reference ub_k = *(ub_m_begin + k);
+        const N& ub_k_ck = ub_k[ck];
+        // Be careful: for each index h, the diagonal element m[h][h]
+        // is (by convention) +infty in our implementation; however,
+        // BHZ09 theorem assumes that it is equal to 0.
+        const N& ub_k_j
+          = (k == j)
+          ? temp_zero
+          : ((j < row_size_k) ? ub_k[j] : ub_cj[ck]);
+        const N& ub_i_ck
+          = (i == ck)
+          ? temp_zero
+          : ((ck < row_size_i) ? ub_i[ck] : ub_k[ci]);
 
-template <typename T>
-inline
-BD_Shape<T>::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
-}
+        for (dimension_type ell = row_size_k; ell-- > 0; ) {
+          // Check redundancy of y_k_ell.
+          if (!ty_non_red_k[ell])
+            continue;
+          const N& ty_k_ell = ty_k[ell];
+          const dimension_type cell = coherent_index(ell);
+          const N& eps_k_ell = (k == cell) ? temp_two : temp_one;
+          // Check condition 1b in BHZ09 Theorem 6.8.
+          add_assign_r(lhs_k_ell, ty_k_ell, eps_k_ell, ROUND_NOT_NEEDED);
+          if (lhs_k_ell > tx_k[ell])
+            continue;
+          Row_Reference ub_cell = *(ub_m_begin + cell);
+          const N& ub_i_ell
+            = (i == ell)
+            ? temp_zero
+            : ((ell < row_size_i) ? ub_i[ell] : ub_cell[ci]);
+          const N& ub_cj_ell
+            = (cj == ell)
+            ? temp_zero
+            : ((ell < row_size_cj) ? ub_cj[ell] : ub_cell[j]);
+          // Check condition 2a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 2b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3a in BHZ09 Theorem 6.8.
+          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
+          add_assign_r(lhs, lhs, lhs_i_j, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cj_j, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 3b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_i_ci, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4a in BHZ09 Theorem 6.8.
+          add_assign_r(lhs, lhs_copy, lhs_k_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_k_ck, ROUND_NOT_NEEDED);
+          if (lhs > rhs)
+            continue;
+          // Check condition 4b in BHZ09 Theorem 6.8.
+          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_NOT_NEEDED);
+          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_NOT_NEEDED);
+          if (lhs <= rhs)
+            // All 8 conditions are satisfied:
+            // integer upper bound is not exact.
+            return false;
+        }
+      }
+    }
+  }
 
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
+  // The upper bound of x and y is indeed exact.
+  m_swap(ub);
+  PPL_ASSERT(OK());
+  return true;
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+void
+Octagonal_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::set(flags_t mask) {
-  flags |= mask;
-}
+  const dimension_type space_dim = space_dimension();
+  strong_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
+         i_end = matrix.element_end(); i != i_end; ++i)
+    drop_some_non_integer_points_helper(*i);
 
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
+  // Unary constraints should have an even integer boundary.
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
+    const dimension_type ci = i + 1;
+    N& mat_i_ci = matrix[i][ci];
+    if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) {
+      sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+    N& mat_ci_i = matrix[ci][i];
+    if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) {
+      sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
+      reset_strongly_closed();
+    }
+  }
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset_zero_dim_univ() {
-  // This is a no-op if the current status is not zero-dim.
-  if (flags == ZERO_DIM_UNIV)
-    // In the zero-dim space, if it is not the universe it is empty.
-    flags = EMPTY;
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline void
-BD_Shape<T>::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
-}
+void
+Octagonal_Shape<T>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                               Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
 
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset_empty() {
-  reset(EMPTY);
-}
+  strong_closure_assign();
+  if (marked_empty())
+    return;
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::set_empty() {
-  flags = EMPTY;
-}
+  PPL_DIRTY_TEMP(N, temp_one);
+  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
 
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_shortest_path_closed() const {
-  return test_any(SHORTEST_PATH_CLOSED);
-}
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = 2 * (*v_i);
+    const dimension_type ci = i + 1;
+    Row_Reference m_i = matrix[i];
+    Row_Reference m_ci = matrix[ci];
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset_shortest_path_closed() {
-  // A system is reduced only if it is also closed.
-  reset(SHORTEST_PATH_CLOSED | SHORTEST_PATH_REDUCED);
-}
+    // Unary constraints: should be even integers.
+    N& m_i_ci = m_i[ci];
+    if (!is_plus_infinity(m_i_ci)) {
+      drop_some_non_integer_points_helper(m_i_ci);
+      if (!is_even(m_i_ci)) {
+        sub_assign_r(m_i_ci, m_i_ci, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
+    N& m_ci_i = m_ci[i];
+    if (!is_plus_infinity(m_ci_i)) {
+      drop_some_non_integer_points_helper(m_ci_i);
+      if (!is_even(m_ci_i)) {
+        sub_assign_r(m_ci_i, m_ci_i, temp_one, ROUND_UP);
+        reset_strongly_closed();
+      }
+    }
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::set_shortest_path_closed() {
-  set(SHORTEST_PATH_CLOSED);
+    // Binary constraints (note: only consider j < i).
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_i; ++v_j) {
+      const dimension_type j = 2 * (*v_j);
+      const dimension_type cj = j + 1;
+      drop_some_non_integer_points_helper(m_i[j]);
+      drop_some_non_integer_points_helper(m_i[cj]);
+      drop_some_non_integer_points_helper(m_ci[j]);
+      drop_some_non_integer_points_helper(m_ci[cj]);
+    }
+  }
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline bool
-BD_Shape<T>::Status::test_shortest_path_reduced() const {
-  return test_any(SHORTEST_PATH_REDUCED);
-}
+template <typename U>
+void
+Octagonal_Shape<T>
+::export_interval_constraints(U& dest) const {
+  if (space_dim > dest.space_dimension())
+    throw std::invalid_argument(
+               "Octagonal_Shape<T>::export_interval_constraints");
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset_shortest_path_reduced() {
-  reset(SHORTEST_PATH_REDUCED);
-}
+  strong_closure_assign();
 
-template <typename T>
-inline void
-BD_Shape<T>::Status::set_shortest_path_reduced() {
-  PPL_ASSERT(test_shortest_path_closed());
-  set(SHORTEST_PATH_REDUCED);
-}
+  if (marked_empty()) {
+    dest.set_empty();
+    return;
+  }
 
-template <typename T>
-bool
-BD_Shape<T>::Status::OK() const {
-  if (test_zero_dim_univ())
-    // Zero-dim universe is OK.
-    return true;
+  PPL_DIRTY_TEMP(N, lb);
+  PPL_DIRTY_TEMP(N, ub);
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    const dimension_type ii = 2*i;
+    const dimension_type cii = ii + 1;
 
-  if (test_empty()) {
-    Status copy = *this;
-    copy.reset_empty();
-    if (copy.test_zero_dim_univ())
-      return true;
-    else {
-#ifndef NDEBUG
-      std::cerr << "The empty flag is incompatible with any other one."
-		<< std::endl;
-#endif
-      return false;
+    // Set the upper bound.
+    const N& twice_ub = matrix[cii][ii];
+    if (!is_plus_infinity(twice_ub)) {
+      assign_r(ub, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(ub, ub, 1, ROUND_UP);
+      // FIXME: passing a raw value may not be general enough.
+      if (!dest.restrict_upper(i, ub.raw_value()))
+        return;
     }
-  }
 
-  // Shortest-path reduction implies shortest-path closure.
-  if (test_shortest_path_reduced()) {
-    if (test_shortest_path_closed())
-      return true;
-    else {
-#ifndef NDEBUG
-      std::cerr << "The shortest-path reduction flag should also imply "
-		<< "the closure flag."
-		<< std::endl;
-#endif
-      return false;
+    // Set the lower bound.
+    const N& twice_lb = matrix[ii][cii];
+    if (!is_plus_infinity(twice_lb)) {
+      assign_r(lb, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lb, lb, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lb, lb, 1, ROUND_DOWN);
+      // FIXME: passing a raw value may not be general enough.
+      if (!dest.restrict_lower(i, lb.raw_value()))
+        return;
     }
   }
 
-  // Any other case is OK.
-  return true;
 }
 
+/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
+template <typename T>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& oct) {
+  // Handle special cases first.
+  if (oct.marked_empty()) {
+    s << "false";
+    return s;
+  }
+  if (oct.is_universe()) {
+    s << "true";
+    return s;
+  }
 
-namespace Implementation {
+  typedef typename Octagonal_Shape<T>::coefficient_type N;
+  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
+  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
 
-namespace BD_Shapes {
+  // Records whether or not we still have to print the first constraint.
+  bool first = true;
 
-// These are the keywords that indicate the individual assertions.
-const std::string zero_dim_univ = "ZE";
-const std::string empty = "EM";
-const std::string sp_closed = "SPC";
-const std::string sp_reduced = "SPR";
-const char yes = '+';
-const char no = '-';
-const char sep = ' ';
+  Row_Iterator m_begin = oct.matrix.row_begin();
+  Row_Iterator m_end = oct.matrix.row_end();
 
-/*! \relates Parma_Polyhedra_Library::BD_Shape::Status
-  Reads a keyword and its associated on/off flag from \p s.
-  Returns <CODE>true</CODE> if the operation is successful,
-  returns <CODE>false</CODE> otherwise.
-  When successful, \p positive is set to <CODE>true</CODE> if the flag
-  is on; it is set to <CODE>false</CODE> otherwise.
-*/
-inline bool
-get_field(std::istream& s, const std::string& keyword, bool& positive) {
-  std::string str;
-  if (!(s >> str)
-      || (str[0] != yes && str[0] != no)
-      || str.substr(1) != keyword)
-    return false;
-  positive = (str[0] == yes);
-  return true;
-}
+  // Temporaries.
+  PPL_DIRTY_TEMP(N, negation);
+  PPL_DIRTY_TEMP(N, half);
+  // Go through all the unary constraints.
+  // (Note: loop iterator is incremented in the loop body.)
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    const Variable v_i(i/2);
+    const N& c_i_ii = (*i_iter)[i + 1];
+    ++i_iter;
+    const N& c_ii_i = (*i_iter)[i];
+    ++i_iter;
+    // Check whether or not it is an equality constraint.
+    if (is_additive_inverse(c_i_ii, c_ii_i)) {
+      // It is an equality.
+      PPL_ASSERT(!is_plus_infinity(c_i_ii) && !is_plus_infinity(c_ii_i));
+      if (first)
+        first = false;
+      else
+        s << ", ";
+      // If the value bound can NOT be divided by 2 exactly,
+      // then we output the constraint `2*v_i = bound'.
+      if (div_2exp_assign_r(half, c_ii_i, 1,
+                            ROUND_UP | ROUND_STRICT_RELATION)
+          == V_EQ)
+        s << v_i << " = " << half;
+      else
+        s << "2*" << v_i << " = " << c_ii_i;
+    }
+    else {
+      // We will print unary non-strict inequalities, if any.
+      if (!is_plus_infinity(c_i_ii)) {
+        if (first)
+          first = false;
+        else
+          s << ", ";
+        neg_assign_r(negation, c_i_ii, ROUND_NOT_NEEDED);
+        // If the value bound can NOT be divided by 2 exactly,
+        // then we output the constraint `2*v_i >= negation'.
+        if (div_2exp_assign_r(half, negation, 1,
+                              ROUND_UP | ROUND_STRICT_RELATION)
+            == V_EQ)
+          s << v_i << " >= " << half;
+        else
+          s << "2*" << v_i << " >= " << negation;
+      }
+      if (!is_plus_infinity(c_ii_i)) {
+        if (first)
+          first = false;
+        else
+          s << ", ";
+        // If the value bound can NOT be divided by 2 exactly,
+        // then we output the constraint `2*v_i <= bound'.
+        if (div_2exp_assign_r(half, c_ii_i, 1,
+                              ROUND_UP | ROUND_STRICT_RELATION)
+            == V_EQ)
+          s << v_i << " <= " << half;
+        else
+          s << "2*" << v_i << " <= " << c_ii_i;
+      }
+    }
+  }
 
-} // namespace BD_Shapes
+  // Go through all the binary constraints.
+  // (Note: loop iterator is incremented in the loop body.)
+  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
+    const dimension_type i = i_iter.index();
+    const Variable v_i(i/2);
+    Row_Reference r_i = *i_iter;
+    ++i_iter;
+    Row_Reference r_ii = *i_iter;
+    ++i_iter;
 
-} // namespace Implementation
+    for (dimension_type j = 0; j < i; j += 2) {
+      const Variable v_j(j/2);
+      // Print binary differences.
+      const N& c_ii_jj = r_ii[j + 1];
+      const N& c_i_j = r_i[j];
+      // Check whether or not it is an equality constraint.
+      if (is_additive_inverse(c_ii_jj, c_i_j)) {
+        // It is an equality.
+        PPL_ASSERT(!is_plus_infinity(c_i_j) && !is_plus_infinity(c_ii_jj));
+        if (first)
+          first = false;
+        else
+          s << ", ";
+        if (sgn(c_i_j) >= 0)
+          s << v_j << " - " << v_i << " = " << c_i_j;
+        else
+          s << v_i << " - " << v_j << " = " << c_ii_jj;
+      }
+      else {
+        // We will print non-strict inequalities, if any.
+        if (!is_plus_infinity(c_i_j)) {
+          if (first)
+            first = false;
+          else
+            s << ", ";
+          if (sgn(c_i_j) >= 0)
+            s << v_j << " - " << v_i << " <= " << c_i_j;
+          else {
+            neg_assign_r(negation, c_i_j, ROUND_DOWN);
+            s << v_i << " - " << v_j << " >= " << negation;
+          }
+        }
+        if (!is_plus_infinity(c_ii_jj)) {
+          if (first)
+            first = false;
+          else
+            s << ", ";
+          if (sgn(c_ii_jj) >= 0)
+            s << v_i << " - " << v_j << " <= " << c_ii_jj;
+          else {
+            neg_assign_r(negation, c_ii_jj, ROUND_DOWN);
+            s << v_j << " - " << v_i << " >= " << negation;
+          }
+        }
+      }
+      // Print binary sums.
+      const N& c_i_jj = r_i[j + 1];
+      const N& c_ii_j = r_ii[j];
+      // Check whether or not it is an equality constraint.
+      if (is_additive_inverse(c_i_jj, c_ii_j)) {
+        // It is an equality.
+        PPL_ASSERT(!is_plus_infinity(c_i_jj) && !is_plus_infinity(c_ii_j));
+        if (first)
+          first = false;
+        else
+          s << ", ";
+        s << v_j << " + " << v_i << " = " << c_ii_j;
+      }
+      else {
+        // We will print non-strict inequalities, if any.
+        if (!is_plus_infinity(c_i_jj)) {
+          if (first)
+            first = false;
+          else
+            s << ", ";
+          neg_assign_r(negation, c_i_jj, ROUND_DOWN);
+          s << v_j << " + " << v_i << " >= " << negation;
+        }
+        if (!is_plus_infinity(c_ii_j)) {
+          if (first)
+            first = false;
+          else
+            s << ", ";
+          s << v_j << " + " << v_i << " <= " << c_ii_j;
+        }
+      }
+    }
+  }
+  return s;
+}
 
 template <typename T>
 void
-BD_Shape<T>::Status::ascii_dump(std::ostream& s) const {
-  using namespace Implementation::BD_Shapes;
-  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ << sep
-    << (test_empty() ? yes : no) << empty << sep
-    << sep
-    << (test_shortest_path_closed() ? yes : no) << sp_closed << sep
-    << (test_shortest_path_reduced() ? yes : no) << sp_reduced << sep;
+Octagonal_Shape<T>::ascii_dump(std::ostream& s) const {
+  s << "space_dim "
+    << space_dim
+    << "\n";
+  status.ascii_dump(s);
+  s << "\n";
+  matrix.ascii_dump(s);
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(T, BD_Shape<T>::Status)
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, Octagonal_Shape<T>)
 
 template <typename T>
 bool
-BD_Shape<T>::Status::ascii_load(std::istream& s) {
-  using namespace Implementation::BD_Shapes;
-  PPL_UNINITIALIZED(bool, positive);
+Octagonal_Shape<T>::ascii_load(std::istream& s) {
+  std::string str;
 
-  if (!get_field(s, zero_dim_univ, positive))
+  if (!(s >> str) || str != "space_dim")
     return false;
-  if (positive)
-    set_zero_dim_univ();
 
-  if (!get_field(s, empty, positive))
+  if (!(s >> space_dim))
     return false;
-  if (positive)
-    set_empty();
 
-  if (!get_field(s, sp_closed, positive))
+  if (!status.ascii_load(s))
     return false;
-  if (positive)
-    set_shortest_path_closed();
-  else
-    reset_shortest_path_closed();
 
-  if (!get_field(s, sp_reduced, positive))
+  if (!matrix.ascii_load(s))
     return false;
-  if (positive)
-    set_shortest_path_reduced();
-  else
-    reset_shortest_path_reduced();
 
-  // Check invariants.
   PPL_ASSERT(OK());
   return true;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 1. */
-/* BD_Shape class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1. */
-/* Octagonal_Shape class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 1. */
-/* OR_Matrix class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/OR_Matrix.types.hh line 1. */
-
-
-namespace Parma_Polyhedra_Library {
-
 template <typename T>
-class OR_Matrix;
-
+memory_size_type
+Octagonal_Shape<T>::external_memory_in_bytes() const {
+  return matrix.external_memory_in_bytes();
 }
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 32. */
-#include <cstddef>
-#include <iosfwd>
-
-#ifndef PPL_OR_MATRIX_EXTRA_DEBUG
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  When PPL_OR_MATRIX_EXTRA_DEBUG evaluates to <CODE>true</CODE>, each
-  instance of the class OR_Matrix::Pseudo_Row carries its own size;
-  this enables extra consistency checks to be performed.
-  \ingroup PPL_CXX_interface
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define PPL_OR_MATRIX_EXTRA_DEBUG 1
-#else // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#define PPL_OR_MATRIX_EXTRA_DEBUG 0
-#endif // !defined(PPL_ABI_BREAKING_EXTRA_DEBUG)
-#endif // !defined(PPL_OR_MATRIX_EXTRA_DEBUG)
-
-namespace Parma_Polyhedra_Library {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are identical.
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-bool operator==(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
-
-namespace IO_Operators {
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-std::ostream&
-operator<<(std::ostream& s, const OR_Matrix<T>& m);
-
-} // namespace IO_Operators
-
-} // namespace Parma_Polyhedra_Library
-
-
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A matrix representing octagonal constraints.
-/*!
-  An OR_Matrix object is a DB_Row object that allows
-  the representation of a \em pseudo-triangular matrix,
-  like the following:
-
-<PRE>
-         _ _
-   0    |_|_|
-   1    |_|_|_ _
-   2    |_|_|_|_|
-   3    |_|_|_|_|_ _
-   4    |_|_|_|_|_|_|
-   5    |_|_|_|_|_|_|
-         . . .
-         _ _ _ _ _ _       _
- 2n-2   |_|_|_|_|_|_| ... |_|
- 2n-1   |_|_|_|_|_|_| ... |_|
-         0 1 2 3 4 5  ... 2n-1
-
-</PRE>
-
-  It is characterized by parameter n that defines the structure,
-  and such that there are 2*n rows (and 2*n columns).
-  It provides row_iterators for the access to the rows
-  and element_iterators for the access to the elements.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
 template <typename T>
-class Parma_Polyhedra_Library::OR_Matrix {
-private:
-  /*! \brief
-    An object that behaves like a matrix's row with respect to
-    the subscript operators.
-  */
-  template <typename U>
-  class Pseudo_Row {
-  public:
-    /*! \brief
-      Copy constructor allowing the construction of a const pseudo-row
-      from a non-const pseudo-row.
-      Ordinary copy constructor.
-    */
-    template <typename V>
-    Pseudo_Row(const Pseudo_Row<V>& y);
-
-    //! Destructor.
-    ~Pseudo_Row();
+bool
+Octagonal_Shape<T>::OK() const {
+  // Check whether the matrix is well-formed.
+  if (!matrix.OK())
+    return false;
 
-    //! Subscript operator.
-    U& operator[](dimension_type k) const;
+  // Check whether the status information is legal.
+  if (!status.OK())
+    return false;
 
-    //! Default constructor: creates an invalid object that has to be assigned.
-    Pseudo_Row();
+  // All empty octagons are OK.
+  if (marked_empty())
+    return true;
 
-    //! Assignment operator.
-    Pseudo_Row& operator=(const Pseudo_Row& y);
+  // 0-dim universe octagon is OK.
+  if (space_dim == 0)
+    return true;
 
-#if !defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)
-  private:
-#else
-  // Work around a bug of GCC 4.0.x (and, likely, previous versions).
-  public:
+  // MINUS_INFINITY cannot occur at all.
+  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
+         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
+    typename OR_Matrix<N>::const_row_reference_type x_i = *i;
+    for (dimension_type j = i.row_size(); j-- > 0; )
+      if (is_minus_infinity(x_i[j])) {
+#ifndef NDEBUG
+        using namespace Parma_Polyhedra_Library::IO_Operators;
+        std::cerr << "Octagonal_Shape::"
+                  << "matrix[" << i.index() << "][" << j << "] = "
+                  << x_i[j] << "!"
+                  << std::endl;
 #endif
+        return false;
+      }
+  }
 
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-
-    //! Private constructor for a Pseudo_Row with size \p s beginning at \p y.
-    Pseudo_Row(U& y, dimension_type s);
-
-#else // !PPL_OR_MATRIX_EXTRA_DEBUG
-
-    //! Private constructor for a Pseudo_Row beginning at \p y.
-    explicit Pseudo_Row(U& y);
-
-#endif // !PPL_OR_MATRIX_EXTRA_DEBUG
-
-    //! Holds a reference to the beginning of this row.
-    U* first;
-
-#if !defined(__GNUC__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 0)
-#else
-  // Work around a bug of GCC 4.0.x (and, likely, previous versions).
-  private:
+  // On the main diagonal only PLUS_INFINITY can occur.
+  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
+         m_end = matrix.row_end(); i != m_end; ++i) {
+    typename OR_Matrix<N>::const_row_reference_type r = *i;
+    const N& m_i_i = r[i.index()];
+    if (!is_plus_infinity(m_i_i)) {
+#ifndef NDEBUG
+      const dimension_type j = i.index();
+      using namespace Parma_Polyhedra_Library::IO_Operators;
+      std::cerr << "Octagonal_Shape::matrix[" << j << "][" << j << "] = "
+                << m_i_i << "!  (+inf was expected.)\n";
 #endif
+      return false;
+    }
+  }
 
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-
-    //! The size of the row.
-    dimension_type size_;
-
-    //! Returns the size of the row.
-    dimension_type size() const;
-
-#endif // PPL_OR_MATRIX_EXTRA_DEBUG
+  // The following tests might result in false alarms when using floating
+  // point coefficients: they are only meaningful if the coefficient type
+  // base is exact (since otherwise strong closure is approximated).
+  if (std::numeric_limits<coefficient_type_base>::is_exact) {
 
-    // FIXME: the EDG-based compilers (such as Comeau and Intel)
-    // are here in wild disagreement with GCC: what is a legal friend
-    // declaration for one, is illegal for the others.
-#ifdef __EDG__
-    template <typename V> template<typename W>
-    friend class OR_Matrix<V>::Pseudo_Row;
-    template <typename V> template<typename W>
-    friend class OR_Matrix<V>::any_row_iterator;
-#else
-    template <typename V> friend class Pseudo_Row;
-    template <typename V> friend class any_row_iterator;
+    // Check whether the closure information is legal.
+    if (marked_strongly_closed()) {
+      Octagonal_Shape x = *this;
+      x.reset_strongly_closed();
+      x.strong_closure_assign();
+      if (x.matrix != matrix) {
+#ifndef NDEBUG
+        std::cerr << "Octagonal_Shape is marked as strongly closed "
+                  << "but it is not!\n";
 #endif
+        return false;
+      }
+    }
 
-    friend class OR_Matrix;
-  }; // class Pseudo_Row
-
-public:
-  //! A (non const) reference to a matrix's row.
-  typedef Pseudo_Row<T> row_reference_type;
-
-  //! A const reference to a matrix's row.
-  typedef Pseudo_Row<const T> const_row_reference_type;
-
-private:
-  /*! \brief
-    A template class to derive both OR_Matrix::iterator
-    and OR_Matrix::const_iterator.
-  */
-  template <typename U>
-  class any_row_iterator {
-  public:
-    typedef std::random_access_iterator_tag iterator_category;
-    typedef Pseudo_Row<U> value_type;
-    typedef long difference_type;
-    typedef const Pseudo_Row<U>* pointer;
-    typedef const Pseudo_Row<U>& reference;
-
-    //! Constructor to build past-the-end objects.
-    any_row_iterator(dimension_type n_rows);
-
-    /*! \brief
-      Builds an iterator pointing at the beginning of an OR_Matrix whose
-      first element is \p base;
-    */
-    explicit any_row_iterator(U& base);
-
-    /*! \brief
-      Copy constructor allowing the construction of a const_iterator
-      from a non-const iterator.
-    */
-    template <typename V>
-    any_row_iterator(const any_row_iterator<V>& y);
-
-    /*! \brief
-      Assignment operator allowing the assignment of a non-const iterator
-      to a const_iterator.
-    */
-    template <typename V>
-    any_row_iterator& operator=(const any_row_iterator<V>& y);
-
-    //! Dereference operator.
-    reference operator*() const;
+    // A closed octagon must be strong-coherent.
+    if (marked_strongly_closed())
+      if (!is_strong_coherent()) {
+#ifndef NDEBUG
+        std::cerr << "Octagonal_Shape is not strong-coherent!\n";
+#endif
+        return false;
+      }
+  }
 
-    //! Indirect member selector.
-    pointer operator->() const;
+  // All checks passed.
+  return true;
+}
 
-    //! Prefix increment operator.
-    any_row_iterator& operator++();
 
-    //! Postfix increment operator.
-    any_row_iterator operator++(int);
+template <typename T>
+void
+Octagonal_Shape<T>
+::throw_dimension_incompatible(const char* method,
+                               const Octagonal_Shape& y) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", y->space_dimension() == " << y.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Prefix decrement operator.
-    any_row_iterator& operator--();
+template <typename T>
+void
+Octagonal_Shape<T>
+::throw_dimension_incompatible(const char* method,
+                               dimension_type required_dim) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", required dimension == " << required_dim << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Postfix decrement operator.
-    any_row_iterator operator--(int);
+template <typename T>
+void
+Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
+                                                 const Constraint& c) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", c->space_dimension == " << c.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Subscript operator.
-    reference operator[](difference_type m) const;
+template <typename T>
+void
+Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
+                                                 const Congruence& cg) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", cg->space_dimension == " << cg.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Assignment-increment operator.
-    any_row_iterator& operator+=(difference_type m);
+template <typename T>
+void
+Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
+                                                 const Generator& g) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", g->space_dimension == " << g.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Assignment-decrement operator.
-    any_row_iterator& operator-=(difference_type m);
+template <typename T>
+void
+Octagonal_Shape<T>::throw_constraint_incompatible(const char* method) {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "the constraint is incompatible.";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Returns the difference between \p *this and \p y.
-    difference_type operator-(const any_row_iterator& y) const;
+template <typename T>
+void
+Octagonal_Shape<T>::throw_expression_too_complex(const char* method,
+                                                 const Linear_Expression& le) {
+  using namespace IO_Operators;
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << le << " is too complex.";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Returns the sum of \p *this and \p m.
-    any_row_iterator operator+(difference_type m) const;
+template <typename T>
+void
+Octagonal_Shape<T>
+::throw_dimension_incompatible(const char* method,
+                               const char* le_name,
+                               const Linear_Expression& le) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Returns the difference of \p *this and \p m.
-    any_row_iterator operator-(difference_type m) const;
+template <typename T>
+template <typename C>
+void
+Octagonal_Shape<T>
+::throw_dimension_incompatible(const char* method,
+                               const char* lf_name,
+                               const Linear_Form<C>& lf) const {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    //! Returns <CODE>true</CODE> if and only if \p *this is equal to \p y.
-    bool operator==(const any_row_iterator& y) const;
+template <typename T>
+void
+Octagonal_Shape<T>::throw_invalid_argument(const char* method,
+                                           const char* reason) {
+  std::ostringstream s;
+  s << "PPL::Octagonal_Shape::" << method << ":\n"
+    << reason << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this
-      is different from \p y.
-    */
-    bool operator!=(const any_row_iterator& y) const;
+} // namespace Parma_Polyhedra_Library
 
-    //! Returns <CODE>true</CODE> if and only if \p *this is less than \p y.
-    bool operator<(const any_row_iterator& y) const;
+/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 2323. */
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this is less than
-      or equal to \p y.
-    */
-    bool operator<=(const any_row_iterator& y) const;
+/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 38. */
+#include <vector>
+#include <iostream>
+#include <algorithm>
 
-    //! Returns <CODE>true</CODE> if and only if \p *this is greater than \p y.
-    bool operator>(const any_row_iterator& y) const;
+namespace Parma_Polyhedra_Library {
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this is greater than
-      or equal to \p y.
-    */
-    bool operator>=(const any_row_iterator& y) const;
+template <typename T>
+inline dimension_type
+BD_Shape<T>::max_space_dimension() {
+  // One dimension is reserved to have a value of type dimension_type
+  // that does not represent a legal dimension.
+  return std::min(DB_Matrix<N>::max_num_rows() - 1,
+		  DB_Matrix<N>::max_num_columns() - 1);
+}
 
-    dimension_type row_size() const;
+template <typename T>
+inline bool
+BD_Shape<T>::marked_zero_dim_univ() const {
+  return status.test_zero_dim_univ();
+}
 
-    dimension_type index() const;
+template <typename T>
+inline bool
+BD_Shape<T>::marked_empty() const {
+  return status.test_empty();
+}
 
-  private:
-    //! Represents the beginning of a row.
-    Pseudo_Row<U> value;
+template <typename T>
+inline bool
+BD_Shape<T>::marked_shortest_path_closed() const {
+  return status.test_shortest_path_closed();
+}
 
-    //! External index.
-    dimension_type e;
+template <typename T>
+inline bool
+BD_Shape<T>::marked_shortest_path_reduced() const {
+  return status.test_shortest_path_reduced();
+}
 
-    //! Internal index: <CODE>i = (e+1)*(e+1)/2</CODE>.
-    dimension_type i;
+template <typename T>
+inline void
+BD_Shape<T>::set_zero_dim_univ() {
+  status.set_zero_dim_univ();
+}
 
-    // FIXME: the EDG-based compilers (such as Comeau and Intel)
-    // are here in wild disagreement with GCC: what is a legal friend
-    // declaration for one, is illegal for the others.
-#ifdef __EDG__
-    template <typename V> template<typename W>
-    friend class OR_Matrix<V>::any_row_iterator;
-#else
-    template <typename V> friend class any_row_iterator;
-#endif
-  }; // class any_row_iterator
+template <typename T>
+inline void
+BD_Shape<T>::set_empty() {
+  status.set_empty();
+}
 
-public:
-  //! A (non const) row iterator.
-  typedef any_row_iterator<T> row_iterator;
+template <typename T>
+inline void
+BD_Shape<T>::set_shortest_path_closed() {
+  status.set_shortest_path_closed();
+}
 
-  //! A const row iterator.
-  typedef any_row_iterator<const T> const_row_iterator;
+template <typename T>
+inline void
+BD_Shape<T>::set_shortest_path_reduced() {
+  status.set_shortest_path_reduced();
+}
 
-  //! A (non const) element iterator.
-  typedef typename DB_Row<T>::iterator element_iterator;
+template <typename T>
+inline void
+BD_Shape<T>::reset_shortest_path_closed() {
+  status.reset_shortest_path_closed();
+}
 
-  //! A const element iterator.
-  typedef typename DB_Row<T>::const_iterator const_element_iterator;
+template <typename T>
+inline void
+BD_Shape<T>::reset_shortest_path_reduced() {
+  status.reset_shortest_path_reduced();
+}
 
-public:
-  //! Returns the maximum number of rows of a OR_Matrix.
-  static dimension_type max_num_rows();
+template <typename T>
+inline
+BD_Shape<T>::BD_Shape(const dimension_type num_dimensions,
+		      const Degenerate_Element kind)
+  : dbm(num_dimensions + 1), status(), redundancy_dbm() {
+  if (kind == EMPTY)
+    set_empty();
+  else {
+    if (num_dimensions > 0)
+      // A (non zero-dim) universe BDS is closed.
+      set_shortest_path_closed();
+  }
+  PPL_ASSERT(OK());
+}
 
-  //! Builds a matrix with specified dimensions.
-  /*!
-    \param space_dim
-    The space dimension of the matrix that will be created.
+template <typename T>
+inline
+BD_Shape<T>::BD_Shape(const BD_Shape& y, Complexity_Class)
+  : dbm(y.dbm), status(y.status), redundancy_dbm() {
+  if (y.marked_shortest_path_reduced())
+    redundancy_dbm = y.redundancy_dbm;
+}
 
-    This constructor creates a matrix with \p 2*space_dim rows.
-    Each element is initialized to plus infinity.
-  */
-  OR_Matrix(dimension_type space_dim);
+template <typename T>
+template <typename U>
+inline
+BD_Shape<T>::BD_Shape(const BD_Shape<U>& y, Complexity_Class)
+  // For maximum precision, enforce shortest-path closure
+  // before copying the DB matrix.
+  : dbm((y.shortest_path_closure_assign(), y.dbm)),
+    status(),
+    redundancy_dbm() {
+  // TODO: handle flags properly, possibly taking special cases into account.
+  if (y.marked_empty())
+    set_empty();
+  else if (y.marked_zero_dim_univ())
+    set_zero_dim_univ();
+}
 
-  //! Copy constructor.
-  OR_Matrix(const OR_Matrix& y);
+template <typename T>
+inline Congruence_System
+BD_Shape<T>::congruences() const {
+  return minimized_congruences();
+}
 
-  //! Constructs a conservative approximation of \p y.
-  template <typename U>
-  explicit OR_Matrix(const OR_Matrix<U>& y);
+template <typename T>
+inline void
+BD_Shape<T>::add_constraints(const Constraint_System& cs) {
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); i != cs_end; ++i)
+    add_constraint(*i);
+}
 
-  //! Destructor.
-  ~OR_Matrix();
+template <typename T>
+inline void
+BD_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
+  add_constraints(cs);
+}
 
-  //! Assignment operator.
-  OR_Matrix& operator=(const OR_Matrix& y);
+template <typename T>
+inline void
+BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
+  for (Congruence_System::const_iterator i = cgs.begin(),
+	 cgs_end = cgs.end(); i != cgs_end; ++i)
+    add_congruence(*i);
+}
 
-private:
-  template <typename U> friend class OR_Matrix;
+template <typename T>
+inline void
+BD_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-  //! Contains the rows of the matrix.
-  /*!
-    A DB_Row which contains the rows of the OR_Matrix
-    inserting each successive row to the end of the vec.
-    To contain all the elements of OR_Matrix the size of the DB_Row
-    is 2*n*(n+1), where the n is the characteristic parameter of
-    OR_Matrix.
-  */
-  DB_Row<T> vec;
+template <typename T>
+inline void
+BD_Shape<T>::refine_with_constraint(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dimension())
+    throw_dimension_incompatible("refine_with_constraint(c)", c);
 
-  //! Contains the dimension of the space of the matrix.
-  dimension_type space_dim;
+  if (!marked_empty())
+    refine_no_check(c);
+}
 
-  //! Contains the capacity of \p vec.
-  dimension_type vec_capacity;
+template <typename T>
+inline void
+BD_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_invalid_argument("refine_with_constraints(cs)",
+                           "cs and *this are space-dimension incompatible");
 
-  //! Private and not implemented: default construction is not allowed.
-  OR_Matrix();
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
+    refine_no_check(*i);
+}
 
-  /*! \brief
-    Returns the index into <CODE>vec</CODE> of the first element
-    of the row of index \p k.
-  */
-  static dimension_type row_first_element_index(dimension_type k);
+template <typename T>
+inline void
+BD_Shape<T>::refine_with_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dimension())
+    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
 
-public:
-  //! Returns the size of the row of index \p k.
-  static dimension_type row_size(dimension_type k);
+  if (!marked_empty())
+    refine_no_check(cg);
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(OR_Matrix& y);
+template <typename T>
+void
+BD_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
+  // Dimension-compatibility check.
+  if (cgs.space_dimension() > space_dimension())
+    throw_invalid_argument("refine_with_congruences(cgs)",
+                           "cgs and *this are space-dimension incompatible");
 
+  for (Congruence_System::const_iterator i = cgs.begin(),
+	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
+    refine_no_check(*i);
+}
 
-  //! Makes the matrix grow by adding more space dimensions.
-  /*!
-    \param new_dim
-    The new dimension of the resized matrix.
+template <typename T>
+inline void
+BD_Shape<T>::refine_no_check(const Congruence& cg) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
-    Adds new rows of right dimension to the end if
-    there is enough capacity; otherwise, creates a new matrix,
-    with the specified dimension, copying the old elements
-    in the upper part of the new matrix, which is
-    then assigned to \p *this.
-    Each new element is initialized to plus infinity.
-  */
-  void grow(dimension_type new_dim);
+  if (cg.is_proper_congruence()) {
+    if (cg.is_inconsistent())
+      set_empty();
+    // Other proper congruences are just ignored.
+    return;
+  }
 
-  //! Makes the matrix shrink by removing the last space dimensions.
-  /*!
-    \param new_dim
-    The new dimension of the resized matrix.
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  refine_no_check(c);
+}
 
-    Erases from matrix to the end the rows with index
-    greater than 2*new_dim-1.
-  */
-  void shrink(dimension_type new_dim);
+template <typename T>
+inline bool
+BD_Shape<T>::can_recycle_constraint_systems() {
+  return false;
+}
 
-  //! Resizes the matrix without worrying about the old contents.
-  /*!
-    \param new_dim
-    The new dimension of the resized matrix.
 
-    If the new dimension is greater than the old one, it adds new rows
-    of right dimension to the end if there is enough capacity; otherwise,
-    it creates a new matrix, with the specified dimension, which is
-    then assigned to \p *this.
-    If the new dimension is less than the old one, it erase from the matrix
-    the rows having index greater than 2*new_dim-1
-  */
-  void resize_no_copy(dimension_type new_dim);
+template <typename T>
+inline bool
+BD_Shape<T>::can_recycle_congruence_systems() {
+  return false;
+}
 
-  //! Returns the space-dimension of the matrix.
-  dimension_type space_dimension() const;
+template <typename T>
+inline
+BD_Shape<T>::BD_Shape(const Constraint_System& cs)
+  : dbm(cs.space_dimension() + 1), status(), redundancy_dbm() {
+  if (cs.space_dimension() > 0)
+    // A (non zero-dim) universe BDS is shortest-path closed.
+    set_shortest_path_closed();
+  add_constraints(cs);
+}
 
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
+template <typename T>
+template <typename Interval>
+inline
+BD_Shape<T>::BD_Shape(const Box<Interval>& box,
+                      Complexity_Class)
+  : dbm(box.space_dimension() + 1), status(), redundancy_dbm() {
+  // Check emptiness for maximum precision.
+  if (box.is_empty())
+    set_empty();
+  else if (box.space_dimension() > 0) {
+    // A (non zero-dim) universe BDS is shortest-path closed.
+    set_shortest_path_closed();
+    refine_with_constraints(box.constraints());
+  }
+}
 
-  //! \name Subscript operators.
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  row_reference_type operator[](dimension_type k);
+template <typename T>
+inline
+BD_Shape<T>::BD_Shape(const Grid& grid,
+                      Complexity_Class)
+  : dbm(grid.space_dimension() + 1), status(), redundancy_dbm() {
+  if (grid.space_dimension() > 0)
+    // A (non zero-dim) universe BDS is shortest-path closed.
+    set_shortest_path_closed();
+  // Taking minimized congruences ensures maximum precision.
+  refine_with_congruences(grid.minimized_congruences());
+}
 
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const_row_reference_type operator[](dimension_type k) const;
-  //@}
+template <typename T>
+template <typename U>
+inline
+BD_Shape<T>::BD_Shape(const Octagonal_Shape<U>& os,
+                      Complexity_Class)
+  : dbm(os.space_dimension() + 1), status(), redundancy_dbm() {
+  // Check for emptiness for maximum precision.
+  if (os.is_empty())
+    set_empty();
+  else if (os.space_dimension() > 0) {
+    // A (non zero-dim) universe BDS is shortest-path closed.
+    set_shortest_path_closed();
+    refine_with_constraints(os.constraints());
+    // After refining, shortest-path closure is possibly lost
+    // (even when `os' was strongly closed: recall that U
+    // is possibly different from T).
+  }
+}
 
+template <typename T>
+inline BD_Shape<T>&
+BD_Shape<T>::operator=(const BD_Shape& y) {
+  dbm = y.dbm;
+  status = y.status;
+  if (y.marked_shortest_path_reduced())
+    redundancy_dbm = y.redundancy_dbm;
+  return *this;
+}
 
-  /*! \brief
-    Returns an iterator pointing to the first row,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  row_iterator row_begin();
+template <typename T>
+inline
+BD_Shape<T>::~BD_Shape() {
+}
 
-  //! Returns the past-the-end const_iterator.
-  row_iterator row_end();
+template <typename T>
+inline void
+BD_Shape<T>::m_swap(BD_Shape& y) {
+  using std::swap;
+  swap(dbm, y.dbm);
+  swap(status, y.status);
+  swap(redundancy_dbm, y.redundancy_dbm);
+}
 
-  /*! \brief
-    Returns a const row iterator pointing to the first row,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  const_row_iterator row_begin() const;
+template <typename T>
+inline dimension_type
+BD_Shape<T>::space_dimension() const {
+  return dbm.num_rows() - 1;
+}
 
-  //! Returns the past-the-end const row iterator.
-  const_row_iterator row_end() const;
+template <typename T>
+inline bool
+BD_Shape<T>::is_empty() const {
+  shortest_path_closure_assign();
+  return marked_empty();
+}
 
-  /*! \brief
-    Returns an iterator pointing to the first element,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  element_iterator element_begin();
+template <typename T>
+inline bool
+BD_Shape<T>::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
+}
 
-  //! Returns the past-the-end const_iterator.
-  element_iterator element_end();
+template <typename T>
+inline bool
+BD_Shape<T>::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
+}
 
-  /*! \brief
-    Returns a const element iterator pointing to the first element,
-    if \p *this is not empty;
-    otherwise, returns the past-the-end const_iterator.
-  */
-  const_element_iterator element_begin() const;
+template <typename T>
+inline bool
+BD_Shape<T>::maximize(const Linear_Expression& expr,
+		      Coefficient& sup_n, Coefficient& sup_d,
+		      bool& maximum) const {
+  return max_min(expr, true, sup_n, sup_d, maximum);
+}
 
-  //! Returns the past-the-end const element iterator.
-  const_element_iterator element_end() const;
+template <typename T>
+inline bool
+BD_Shape<T>::maximize(const Linear_Expression& expr,
+		      Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		      Generator& g) const {
+  return max_min(expr, true, sup_n, sup_d, maximum, g);
+}
 
-  //! Clears the matrix deallocating all its rows.
-  void clear();
+template <typename T>
+inline bool
+BD_Shape<T>::minimize(const Linear_Expression& expr,
+		      Coefficient& inf_n, Coefficient& inf_d,
+		      bool& minimum) const {
+  return max_min(expr, false, inf_n, inf_d, minimum);
+}
 
-  PPL_OUTPUT_DECLARATIONS
+template <typename T>
+inline bool
+BD_Shape<T>::minimize(const Linear_Expression& expr,
+		      Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		      Generator& g) const {
+  return max_min(expr, false, inf_n, inf_d, minimum, g);
+}
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+template <typename T>
+inline bool
+BD_Shape<T>::is_topologically_closed() const {
+  return true;
+}
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+template <typename T>
+inline bool
+BD_Shape<T>::is_discrete() const {
+  return affine_dimension() == 0;
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+template <typename T>
+inline void
+BD_Shape<T>::topological_closure_assign() {
+}
 
-  friend bool operator==<T>(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
+/*! \relates BD_Shape */
+template <typename T>
+inline bool
+operator==(const BD_Shape<T>& x, const BD_Shape<T>& y) {
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+  // Zero-dim BDSs are equal if and only if they are both empty or universe.
+  if (x_space_dim == 0) {
+    if (x.marked_empty())
+      return y.marked_empty();
+    else
+      return !y.marked_empty();
+  }
 
-namespace std {
+  // The exact equivalence test requires shortest-path closure.
+  x.shortest_path_closure_assign();
+  y.shortest_path_closure_assign();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  // If one of two BDSs is empty, then they are equal
+  // if and only if the other BDS is empty too.
+  if (x.marked_empty())
+    return y.marked_empty();
+  if (y.marked_empty())
+    return false;
+  // Check for syntactic equivalence of the two (shortest-path closed)
+  // systems of bounded differences.
+  return x.dbm == y.dbm;
+}
+
+/*! \relates BD_Shape */
 template <typename T>
-void swap(Parma_Polyhedra_Library::OR_Matrix<T>& x,
-	  Parma_Polyhedra_Library::OR_Matrix<T>& y);
+inline bool
+operator!=(const BD_Shape<T>& x, const BD_Shape<T>& y) {
+  return !(x == y);
+}
 
-} // namespace std
+/*! \relates BD_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const BD_Shape<T>& x,
+			    const BD_Shape<T>& y,
+			    const Rounding_Dir dir,
+			    Temp& tmp0,
+			    Temp& tmp1,
+			    Temp& tmp2) {
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
+  // Zero-dim BDSs are equal if and only if they are both empty or universe.
+  if (x_space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-namespace Parma_Polyhedra_Library {
+  // The distance computation requires shortest-path closure.
+  x.shortest_path_closure_assign();
+  y.shortest_path_closure_assign();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-bool operator!=(const OR_Matrix<T>& x, const OR_Matrix<T>& y);
+  // If one of two BDSs is empty, then they are equal if and only if
+  // the other BDS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates OR_Matrix
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  return rectilinear_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
+}
 
-  The direction of the approximation is specified by \p dir.
+/*! \relates BD_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const BD_Shape<T>& x,
+			    const BD_Shape<T>& y,
+			    const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/*! \relates BD_Shape */
+template <typename To, typename T>
+inline bool
+rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			    const BD_Shape<T>& x,
+			    const BD_Shape<T>& y,
+			    const Rounding_Dir dir) {
+  return rectilinear_distance_assign<To, To, T>(r, x, y, dir);
+}
+
+/*! \relates BD_Shape */
 template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-				 const OR_Matrix<T>& x,
-				 const OR_Matrix<T>& y,
-				 Rounding_Dir dir,
-				 Temp& tmp0,
-				 Temp& tmp1,
-				 Temp& tmp2);
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const BD_Shape<T>& x,
+			  const BD_Shape<T>& y,
+			  const Rounding_Dir dir,
+			  Temp& tmp0,
+			  Temp& tmp1,
+			  Temp& tmp2) {
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates OR_Matrix
-  If the Euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  // Zero-dim BDSs are equal if and only if they are both empty or universe.
+  if (x_space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-  The direction of the approximation is specified by \p dir.
+  // The distance computation requires shortest-path closure.
+  x.shortest_path_closure_assign();
+  y.shortest_path_closure_assign();
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			       const OR_Matrix<T>& x,
-			       const OR_Matrix<T>& y,
-			       Rounding_Dir dir,
-			       Temp& tmp0,
-			       Temp& tmp1,
-			       Temp& tmp2);
+  // If one of two BDSs is empty, then they are equal if and only if
+  // the other BDS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates OR_Matrix
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into to \p r
-  and returns <CODE>true</CODE>;  returns <CODE>false</CODE> otherwise.
+  return euclidean_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
+}
 
-  The direction of the approximation is specified by \p dir.
+/*! \relates BD_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const BD_Shape<T>& x,
+			  const BD_Shape<T>& y,
+			  const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/*! \relates BD_Shape */
+template <typename To, typename T>
+inline bool
+euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			  const BD_Shape<T>& x,
+			  const BD_Shape<T>& y,
+			  const Rounding_Dir dir) {
+  return euclidean_distance_assign<To, To, T>(r, x, y, dir);
+}
+
+/*! \relates BD_Shape */
 template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-				 const OR_Matrix<T>& x,
-				 const OR_Matrix<T>& y,
-				 Rounding_Dir dir,
-				 Temp& tmp0,
-				 Temp& tmp1,
-				 Temp& tmp2);
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const BD_Shape<T>& x,
+			   const BD_Shape<T>& y,
+			   const Rounding_Dir dir,
+			   Temp& tmp0,
+			   Temp& tmp1,
+			   Temp& tmp2) {
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
-} // namespace Parma_Polyhedra_Library
+  // Zero-dim BDSs are equal if and only if they are both empty or universe.
+  if (x_space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 1. */
-/* OR_Matrix class implementation: inline functions.
-*/
+  // The distance computation requires shortest-path closure.
+  x.shortest_path_closure_assign();
+  y.shortest_path_closure_assign();
 
+  // If one of two BDSs is empty, then they are equal if and only if
+  // the other BDS is empty too.
+  if (x.marked_empty() ||  y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
+  }
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 33. */
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 35. */
+  return l_infinity_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
+}
 
-namespace Parma_Polyhedra_Library {
+/*! \relates BD_Shape */
+template <typename Temp, typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const BD_Shape<T>& x,
+			   const BD_Shape<T>& y,
+			   const Rounding_Dir dir) {
+  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
+  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
+  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
+  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+}
 
-template <typename T>
-inline dimension_type
-OR_Matrix<T>::row_first_element_index(const dimension_type k) {
-  return ((k + 1)*(k + 1))/2;
+/*! \relates BD_Shape */
+template <typename To, typename T>
+inline bool
+l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+			   const BD_Shape<T>& x,
+			   const BD_Shape<T>& y,
+			   const Rounding_Dir dir) {
+  return l_infinity_distance_assign<To, To, T>(r, x, y, dir);
 }
 
 template <typename T>
-inline dimension_type
-OR_Matrix<T>::row_size(const dimension_type k) {
-  return k + 2 - k%2;
+inline void
+BD_Shape<T>::add_dbm_constraint(const dimension_type i,
+				const dimension_type j,
+				const N& k) {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
+  N& dbm_ij = dbm[i][j];
+  if (dbm_ij > k) {
+    dbm_ij = k;
+    if (marked_shortest_path_closed())
+      reset_shortest_path_closed();
+  }
 }
 
-#if PPL_OR_MATRIX_EXTRA_DEBUG
+template <typename T>
+inline void
+BD_Shape<T>::add_dbm_constraint(const dimension_type i,
+				const dimension_type j,
+				Coefficient_traits::const_reference numer,
+				Coefficient_traits::const_reference denom) {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
+  PPL_ASSERT(denom != 0);
+  PPL_DIRTY_TEMP(N, k);
+  div_round_up(k, numer, denom);
+  add_dbm_constraint(i, j, k);
+}
 
 template <typename T>
-template <typename U>
-inline dimension_type
-OR_Matrix<T>::Pseudo_Row<U>::size() const {
-  return size_;
+inline void
+BD_Shape<T>::time_elapse_assign(const BD_Shape& y) {
+  // Dimension-compatibility check.
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("time_elapse_assign(y)", y);
+  // Compute time-elapse on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.time_elapse_assign(ph_y);
+  BD_Shape<T> x(ph_x);
+  m_swap(x);
+  PPL_ASSERT(OK());
 }
 
-#endif // PPL_OR_MATRIX_EXTRA_DEBUG
+template <typename T>
+inline bool
+BD_Shape<T>::strictly_contains(const BD_Shape& y) const {
+  const BD_Shape<T>& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row()
-  : first(0)
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  , size_(0)
+inline bool
+BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
+#if 0
+  return BFT00_upper_bound_assign_if_exact(y);
+#else
+  const bool integer_upper_bound = false;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
 #endif
-{
 }
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(U& y
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-		, dimension_type s
-#endif
-		)
-  : first(&y)
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  , size_(s)
-#endif
-{
+inline bool
+BD_Shape<T>::integer_upper_bound_assign_if_exact(const BD_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::integer_upper_bound_assign_if_exact(y):"
+                         " T in not an integer datatype.");
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+  const bool integer_upper_bound = true;
+  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
 }
 
 template <typename T>
-template <typename U>
-template <typename V>
-inline
-OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(const Pseudo_Row<V>& y)
-  : first(y.first)
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-    , size_(y.size_)
-#endif
-{
+inline void
+BD_Shape<T>
+::remove_higher_space_dimensions(const dimension_type new_dimension) {
+  // Dimension-compatibility check: the variable having
+  // maximum index is the one occurring last in the set.
+  const dimension_type space_dim = space_dimension();
+  if (new_dimension > space_dim)
+    throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
+				 new_dimension);
+
+  // The removal of no dimensions from any BDS is a no-op.
+  // Note that this case also captures the only legal removal of
+  // dimensions from a zero-dim space BDS.
+  if (new_dimension == space_dim) {
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  // Shortest-path closure is necessary as in remove_space_dimensions().
+  shortest_path_closure_assign();
+  dbm.resize_no_copy(new_dimension + 1);
+
+  // Shortest-path closure is maintained.
+  // TODO: see whether or not reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+
+  // If we removed _all_ dimensions from a non-empty BDS,
+  // the zero-dim universe BDS has been obtained.
+  if (new_dimension == 0 && !marked_empty())
+    set_zero_dim_univ();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-template <typename U>
-inline OR_Matrix<T>::Pseudo_Row<U>&
-OR_Matrix<T>::Pseudo_Row<U>::operator=(const Pseudo_Row& y) {
-  first = y.first;
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  size_ = y.size_;
-#endif
-  return *this;
+void
+BD_Shape<T>::wrap_assign(const Variables_Set& vars,
+                         Bounded_Integer_Type_Width w,
+                         Bounded_Integer_Type_Representation r,
+                         Bounded_Integer_Type_Overflow o,
+                         const Constraint_System* cs_p,
+                         unsigned complexity_threshold,
+                         bool wrap_individually) {
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, cs_p,
+                              complexity_threshold, wrap_individually,
+                              "BD_Shape");
 }
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::Pseudo_Row<U>::~Pseudo_Row() {
+inline void
+BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp) {
+  static N stop_points[] = {
+    N(-2, ROUND_UP),
+    N(-1, ROUND_UP),
+    N( 0, ROUND_UP),
+    N( 1, ROUND_UP),
+    N( 2, ROUND_UP)
+  };
+  CC76_extrapolation_assign(y,
+			    stop_points,
+			    stop_points
+			    + sizeof(stop_points)/sizeof(stop_points[0]),
+			    tp);
 }
 
 template <typename T>
-template <typename U>
-inline U&
-OR_Matrix<T>::Pseudo_Row<U>::operator[](const dimension_type k) const {
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  PPL_ASSERT(k < size_);
-#endif
-  return *(first + k);
+inline void
+BD_Shape<T>::H79_widening_assign(const BD_Shape& y, unsigned* tp) {
+  // Compute the H79 widening on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.H79_widening_assign(ph_y, tp);
+  BD_Shape x(ph_x);
+  m_swap(x);
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::any_row_iterator<U>
-::any_row_iterator(const dimension_type n_rows)
-  : value(),
-    e(n_rows)
-    // Field `i' is intentionally not initialized here.
-{
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  // Turn `value' into a valid object.
-  value.size_ = OR_Matrix::row_size(e);
-#endif
+inline void
+BD_Shape<T>::widening_assign(const BD_Shape& y, unsigned* tp) {
+  H79_widening_assign(y, tp);
 }
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::any_row_iterator<U>::any_row_iterator(U& base)
-  :  value(base
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-	   , OR_Matrix<T>::row_size(0)
-#endif
-	   ),
-     e(0),
-     i(0) {
+inline void
+BD_Shape<T>::limited_H79_extrapolation_assign(const BD_Shape& y,
+					      const Constraint_System& cs,
+					      unsigned* tp) {
+  // Compute the limited H79 extrapolation on polyhedra.
+  // TODO: provide a direct implementation.
+  C_Polyhedron ph_x(constraints());
+  C_Polyhedron ph_y(y.constraints());
+  ph_x.limited_H79_extrapolation_assign(ph_y, cs, tp);
+  BD_Shape x(ph_x);
+  m_swap(x);
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-template <typename U>
-template <typename V>
-inline
-OR_Matrix<T>::any_row_iterator<U>
-::any_row_iterator(const any_row_iterator<V>& y)
-  : value(y.value),
-    e(y.e),
-    i(y.i) {
+inline memory_size_type
+BD_Shape<T>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
 template <typename T>
-template <typename U>
-template <typename V>
-inline typename OR_Matrix<T>::template any_row_iterator<U>&
-OR_Matrix<T>::any_row_iterator<U>::operator=(const any_row_iterator<V>& y) {
-  value = y.value;
-  e = y.e;
-  i = y.i;
-  return *this;
+inline int32_t
+BD_Shape<T>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>::reference
-OR_Matrix<T>::any_row_iterator<U>::operator*() const {
-  return value;
+template <typename Interval_Info>
+inline void
+BD_Shape<T>::generalized_refine_with_linear_form_inequality(
+	     const Linear_Form<Interval<T, Interval_Info> >& left,
+	     const Linear_Form<Interval<T, Interval_Info> >& right,
+             const Relation_Symbol relsym) {
+  switch (relsym) {
+  case EQUAL:
+    // TODO: see if we can handle this case more efficiently.
+    refine_with_linear_form_inequality(left, right);
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case LESS_THAN:
+  case LESS_OR_EQUAL:
+    refine_with_linear_form_inequality(left, right);
+    break;
+  case GREATER_THAN:
+  case GREATER_OR_EQUAL:
+    refine_with_linear_form_inequality(right, left);
+    break;
+  case NOT_EQUAL:
+    break;
+  default:
+    PPL_UNREACHABLE;
+  }
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>::pointer
-OR_Matrix<T>::any_row_iterator<U>::operator->() const {
-  return &value;
+template <typename Interval_Info>
+inline void
+BD_Shape<T>
+::refine_fp_interval_abstract_store(Box<Interval<T, Interval_Info> >&
+                                    store) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "BD_Shape<T>::refine_fp_interval_abstract_store:"
+                     " T not a floating point type.");
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  store.intersection_assign(Box<FP_Interval_Type>(*this));
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>&
-OR_Matrix<T>::any_row_iterator<U>::operator++() {
-  ++e;
-  dimension_type increment = e;
-  if (e % 2 != 0)
-    ++increment;
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  else {
-    value.size_ += 2;
+inline void
+BD_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
+  if (!is_integer(elem)) {
+    Result r = floor_assign_r(elem, elem, ROUND_DOWN);
+    PPL_USED(r);
+    PPL_ASSERT(r == V_EQ);
+    reset_shortest_path_closed();
   }
-#endif
-  i += increment;
-  value.first += increment;
-  return *this;
 }
 
+/*! \relates BD_Shape */
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>
-OR_Matrix<T>::any_row_iterator<U>::operator++(int) {
-  any_row_iterator old = *this;
-  ++(*this);
-  return old;
+inline void
+swap(BD_Shape<T>& x, BD_Shape<T>& y) {
+  x.m_swap(y);
 }
 
-template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>&
-OR_Matrix<T>::any_row_iterator<U>::operator--() {
-  dimension_type decrement = e + 1;
-  --e;
-  if (e % 2 != 0) {
-    ++decrement;
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-    value.size_ -= 2;
-#endif
-  }
-  i -= decrement;
-  value.first -= decrement;
-  return *this;
-}
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 1. */
+/* BD_Shape class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 40. */
+#include <vector>
+#include <deque>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>
-OR_Matrix<T>::any_row_iterator<U>::operator--(int) {
-  any_row_iterator old = *this;
-  --(*this);
-  return old;
+BD_Shape<T>::BD_Shape(const Congruence_System& cgs)
+  : dbm(cgs.space_dimension() + 1),
+    status(),
+    redundancy_dbm() {
+  add_congruences(cgs);
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>&
-OR_Matrix<T>::any_row_iterator<U>::operator+=(const difference_type m) {
-  difference_type increment = m + m*m/2 + m*e;
-  if (e % 2 == 0 && m % 2 != 0)
-    ++increment;
-  e += m;
-  i += increment;
-  value.first += increment;
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-  value.size_ += (m - m%2);
-#endif
-  return *this;
+BD_Shape<T>::BD_Shape(const Generator_System& gs)
+  : dbm(gs.space_dimension() + 1), status(), redundancy_dbm() {
+  const Generator_System::const_iterator gs_begin = gs.begin();
+  const Generator_System::const_iterator gs_end = gs.end();
+  if (gs_begin == gs_end) {
+    // An empty generator system defines the empty BD shape.
+    set_empty();
+    return;
+  }
+
+  const dimension_type space_dim = space_dimension();
+  DB_Row<N>& dbm_0 = dbm[0];
+  PPL_DIRTY_TEMP(N, tmp);
+
+  bool dbm_initialized = false;
+  bool point_seen = false;
+  // Going through all the points and closure points.
+  for (Generator_System::const_iterator gs_i = gs_begin;
+       gs_i != gs_end; ++gs_i) {
+    const Generator& g = *gs_i;
+    switch (g.type()) {
+    case Generator::POINT:
+      point_seen = true;
+      // Intentionally fall through.
+    case Generator::CLOSURE_POINT:
+      if (!dbm_initialized) {
+        // When handling the first (closure) point, we initialize the DBM.
+        dbm_initialized = true;
+        const Coefficient& d = g.divisor();
+        // TODO: Check if the following loop can be optimized used
+        // Generator::Expression::const_iterator.
+        for (dimension_type i = space_dim; i > 0; --i) {
+          const Coefficient& g_i = g.expression().get(Variable(i - 1));
+          DB_Row<N>& dbm_i = dbm[i];
+          for (dimension_type j = space_dim; j > 0; --j)
+            if (i != j)
+              div_round_up(dbm_i[j], g.expression().get(Variable(j - 1)) - g_i, d);
+          div_round_up(dbm_i[0], -g_i, d);
+        }
+        for (dimension_type j = space_dim; j > 0; --j)
+          div_round_up(dbm_0[j], g.expression().get(Variable(j - 1)), d);
+        // Note: no need to initialize the first element of the main diagonal.
+      }
+      else {
+        // This is not the first point: the DBM already contains
+        // valid values and we must compute maxima.
+        const Coefficient& d = g.divisor();
+        // TODO: Check if the following loop can be optimized used
+        // Generator::Expression::const_iterator.
+        for (dimension_type i = space_dim; i > 0; --i) {
+          const Coefficient& g_i = g.expression().get(Variable(i - 1));
+          DB_Row<N>& dbm_i = dbm[i];
+          // The loop correctly handles the case when i == j.
+          for (dimension_type j = space_dim; j > 0; --j) {
+            div_round_up(tmp, g.expression().get(Variable(j - 1)) - g_i, d);
+            max_assign(dbm_i[j], tmp);
+          }
+          div_round_up(tmp, -g_i, d);
+          max_assign(dbm_i[0], tmp);
+        }
+        for (dimension_type j = space_dim; j > 0; --j) {
+          div_round_up(tmp, g.expression().get(Variable(j - 1)), d);
+          max_assign(dbm_0[j], tmp);
+        }
+      }
+      break;
+    default:
+      // Lines and rays temporarily ignored.
+      break;
+    }
+  }
+
+  if (!point_seen)
+    // The generator system is not empty, but contains no points.
+    throw_invalid_argument("BD_Shape(gs)",
+                           "the non-empty generator system gs "
+                           "contains no points.");
+
+  // Going through all the lines and rays.
+  for (Generator_System::const_iterator gs_i = gs_begin;
+       gs_i != gs_end; ++gs_i) {
+    const Generator& g = *gs_i;
+    switch (g.type()) {
+    case Generator::LINE:
+      // TODO: Check if the following loop can be optimized used
+      // Generator::Expression::const_iterator.
+      for (dimension_type i = space_dim; i > 0; --i) {
+        const Coefficient& g_i = g.expression().get(Variable(i - 1));
+        DB_Row<N>& dbm_i = dbm[i];
+        // The loop correctly handles the case when i == j.
+        for (dimension_type j = space_dim; j > 0; --j)
+          if (g_i != g.expression().get(Variable(j - 1)))
+            assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
+        if (g_i != 0)
+          assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
+      }
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+            i_end = g.expression().end(); i != i_end; ++i)
+        assign_r(dbm_0[i.variable().space_dimension()],
+                 PLUS_INFINITY, ROUND_NOT_NEEDED);
+      break;
+    case Generator::RAY:
+      // TODO: Check if the following loop can be optimized used
+      // Generator::Expression::const_iterator.
+      for (dimension_type i = space_dim; i > 0; --i) {
+        const Coefficient& g_i = g.expression().get(Variable(i - 1));
+        DB_Row<N>& dbm_i = dbm[i];
+        // The loop correctly handles the case when i == j.
+        for (dimension_type j = space_dim; j > 0; --j)
+          if (g_i < g.expression().get(Variable(j - 1)))
+            assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
+        if (g_i < 0)
+          assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
+      }
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+            i_end = g.expression().end(); i != i_end; ++i)
+        if (*i > 0)
+          assign_r(dbm_0[i.variable().space_dimension()],
+                   PLUS_INFINITY, ROUND_NOT_NEEDED);
+      break;
+    default:
+      // Points and closure points already dealt with.
+      break;
+    }
+  }
+  set_shortest_path_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>&
-OR_Matrix<T>::any_row_iterator<U>::operator-=(difference_type m) {
-  return *this += -m;
+BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
+  : dbm(), status(), redundancy_dbm() {
+  const dimension_type num_dimensions = ph.space_dimension();
+
+  if (ph.marked_empty()) {
+    *this = BD_Shape<T>(num_dimensions, EMPTY);
+    return;
+  }
+
+  if (num_dimensions == 0) {
+    *this = BD_Shape<T>(num_dimensions, UNIVERSE);
+    return;
+  }
+
+  // Build from generators when we do not care about complexity
+  // or when the process has polynomial complexity.
+  if (complexity == ANY_COMPLEXITY
+      || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) {
+    *this = BD_Shape<T>(ph.generators());
+    return;
+  }
+
+  // We cannot afford exponential complexity, we do not have a complete set
+  // of generators for the polyhedron, and the polyhedron is not trivially
+  // empty or zero-dimensional.  Constraints, however, are up to date.
+  PPL_ASSERT(ph.constraints_are_up_to_date());
+
+  if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
+    // If the constraint system of the polyhedron is minimized,
+    // the test `is_universe()' has polynomial complexity.
+    if (ph.is_universe()) {
+      *this = BD_Shape<T>(num_dimensions, UNIVERSE);
+      return;
+    }
+  }
+
+  // See if there is at least one inconsistent constraint in `ph.con_sys'.
+  for (Constraint_System::const_iterator i = ph.con_sys.begin(),
+         cs_end = ph.con_sys.end(); i != cs_end; ++i)
+    if (i->is_inconsistent()) {
+      *this = BD_Shape<T>(num_dimensions, EMPTY);
+      return;
+    }
+
+  // If `complexity' allows it, use simplex to derive the exact (modulo
+  // the fact that our BDSs are topologically closed) variable bounds.
+  if (complexity == SIMPLEX_COMPLEXITY) {
+    MIP_Problem lp(num_dimensions);
+    lp.set_optimization_mode(MAXIMIZATION);
+
+    const Constraint_System& ph_cs = ph.constraints();
+    if (!ph_cs.has_strict_inequalities())
+      lp.add_constraints(ph_cs);
+    else
+      // Adding to `lp' a topologically closed version of `ph_cs'.
+      for (Constraint_System::const_iterator i = ph_cs.begin(),
+             ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
+        const Constraint& c = *i;
+        if (c.is_strict_inequality())
+          lp.add_constraint(Linear_Expression(c) >= 0);
+        else
+          lp.add_constraint(c);
+      }
+
+    // Check for unsatisfiability.
+    if (!lp.is_satisfiable()) {
+      *this = BD_Shape<T>(num_dimensions, EMPTY);
+      return;
+    }
+
+    // Start with a universe BDS that will be refined by the simplex.
+    *this = BD_Shape<T>(num_dimensions, UNIVERSE);
+    // Get all the upper bounds.
+    Generator g(point());
+    PPL_DIRTY_TEMP_COEFFICIENT(numer);
+    PPL_DIRTY_TEMP_COEFFICIENT(denom);
+    for (dimension_type i = 1; i <= num_dimensions; ++i) {
+      Variable x(i-1);
+      // Evaluate optimal upper bound for `x <= ub'.
+      lp.set_objective_function(x);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+        g = lp.optimizing_point();
+        lp.evaluate_objective_function(g, numer, denom);
+        div_round_up(dbm[0][i], numer, denom);
+      }
+      // Evaluate optimal upper bound for `x - y <= ub'.
+      for (dimension_type j = 1; j <= num_dimensions; ++j) {
+        if (i == j)
+          continue;
+        Variable y(j-1);
+        lp.set_objective_function(x - y);
+        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+          g = lp.optimizing_point();
+          lp.evaluate_objective_function(g, numer, denom);
+          div_round_up(dbm[j][i], numer, denom);
+        }
+      }
+      // Evaluate optimal upper bound for `-x <= ub'.
+      lp.set_objective_function(-x);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+        g = lp.optimizing_point();
+        lp.evaluate_objective_function(g, numer, denom);
+        div_round_up(dbm[i][0], numer, denom);
+      }
+    }
+    set_shortest_path_closed();
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  // Extract easy-to-find bounds from constraints.
+  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
+  *this = BD_Shape<T>(num_dimensions, UNIVERSE);
+  refine_with_constraints(ph.constraints());
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>::difference_type
-OR_Matrix<T>::any_row_iterator<U>::operator-(const any_row_iterator& y) const {
-  return e - y.e;
+dimension_type
+BD_Shape<T>::affine_dimension() const {
+  const dimension_type space_dim = space_dimension();
+  // A zero-space-dim shape always has affine dimension zero.
+  if (space_dim == 0)
+    return 0;
+
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) equalities.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return 0;
+
+  // The vector `predecessor' is used to represent equivalence classes:
+  // `predecessor[i] == i' if and only if `i' is the leader of its
+  // equivalence class (i.e., the minimum index in the class).
+  std::vector<dimension_type> predecessor;
+  compute_predecessors(predecessor);
+
+  // Due to the fictitious variable `0', the affine dimension is one
+  // less the number of equivalence classes.
+  dimension_type affine_dim = 0;
+  // Note: disregard the first equivalence class.
+  for (dimension_type i = 1; i <= space_dim; ++i)
+    if (predecessor[i] == i)
+      ++affine_dim;
+
+  return affine_dim;
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>
-OR_Matrix<T>::any_row_iterator<U>::operator+(difference_type m) const {
-  any_row_iterator r = *this;
-  r += m;
-  return r;
+Congruence_System
+BD_Shape<T>::minimized_congruences() const {
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) equalities.
+  shortest_path_closure_assign();
+
+  const dimension_type space_dim = space_dimension();
+  Congruence_System cgs(space_dim);
+
+  if (space_dim == 0) {
+    if (marked_empty())
+      cgs = Congruence_System::zero_dim_empty();
+    return cgs;
+  }
+
+  if (marked_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
+  }
+
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+
+  // Compute leader information.
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+
+  // Go through the non-leaders to generate equality constraints.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const dimension_type leader = leaders[i];
+    if (i != leader) {
+      // Generate the constraint relating `i' and its leader.
+      if (leader == 0) {
+        // A unary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
+        numer_denom(dbm_0[i], numer, denom);
+        cgs.insert(denom*Variable(i-1) == numer);
+      }
+      else {
+        // A binary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
+        numer_denom(dbm[i][leader], numer, denom);
+        cgs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer);
+      }
+    }
+  }
+  return cgs;
 }
 
 template <typename T>
-template <typename U>
-inline typename OR_Matrix<T>::template any_row_iterator<U>
-OR_Matrix<T>::any_row_iterator<U>::operator-(const difference_type m) const {
-  any_row_iterator r = *this;
-  r -= m;
-  return r;
+void
+BD_Shape<T>::add_constraint(const Constraint& c) {
+  // Dimension-compatibility check.
+  if (c.space_dimension() > space_dimension())
+    throw_dimension_incompatible("add_constraint(c)", c);
+
+  // Get rid of strict inequalities.
+  if (c.is_strict_inequality()) {
+    if (c.is_inconsistent()) {
+      set_empty();
+      return;
+    }
+    if (c.is_tautological())
+      return;
+    // Nontrivial strict inequalities are not allowed.
+    throw_invalid_argument("add_constraint(c)",
+                           "strict inequalities are not allowed");
+  }
+
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  // Constraints that are not bounded differences are not allowed.
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not a bounded difference constraint");
+
+  const Coefficient& inhomo = c.inhomogeneous_term();
+  if (num_vars == 0) {
+    // Dealing with a trivial constraint (not a strict inequality).
+    if (inhomo < 0
+        || (inhomo != 0 && c.is_equality()))
+      set_empty();
+    return;
+  }
+
+  // Select the cell to be modified for the "<=" part of the constraint,
+  // and set `coeff' to the absolute value of itself.
+  const bool negative = (coeff < 0);
+  if (negative)
+    neg_assign(coeff);
+
+  bool changed = false;
+  N& x = negative ? dbm[i][j] : dbm[j][i];
+  // Compute the bound for `x', rounding towards plus infinity.
+  PPL_DIRTY_TEMP(N, d);
+  div_round_up(d, inhomo, coeff);
+  if (x > d) {
+    x = d;
+    changed = true;
+  }
+
+  if (c.is_equality()) {
+    N& y = negative ? dbm[j][i] : dbm[i][j];
+    // Also compute the bound for `y', rounding towards plus infinity.
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
+    neg_assign(minus_c_term, inhomo);
+    div_round_up(d, minus_c_term, coeff);
+    if (y > d) {
+      y = d;
+      changed = true;
+    }
+  }
+
+  // In general, adding a constraint does not preserve the shortest-path
+  // closure or reduction of the bounded difference shape.
+  if (changed && marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>
-::operator==(const any_row_iterator& y) const {
-  return e == y.e;
-}
+void
+BD_Shape<T>::add_congruence(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  // Dimension-compatibility check:
+  // the dimension of `cg' can not be greater than space_dim.
+  if (space_dimension() < cg_space_dim)
+    throw_dimension_incompatible("add_congruence(cg)", cg);
 
-template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>
-::operator!=(const any_row_iterator& y) const {
-  return e != y.e;
-}
+  // Handle the case of proper congruences first.
+  if (cg.is_proper_congruence()) {
+    if (cg.is_tautological())
+      return;
+    if (cg.is_inconsistent()) {
+      set_empty();
+      return;
+    }
+    // Non-trivial and proper congruences are not allowed.
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is a non-trivial, proper congruence");
+  }
 
-template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>::operator<(const any_row_iterator& y) const {
-  return e < y.e;
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  add_constraint(c);
 }
 
 template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>
-::operator<=(const any_row_iterator& y) const {
-  return e <= y.e;
-}
+void
+BD_Shape<T>::refine_no_check(const Constraint& c) {
+  PPL_ASSERT(!marked_empty());
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
-template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>::operator>(const any_row_iterator& y) const {
-  return e > y.e;
-}
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  // Constraints that are not bounded differences are ignored.
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff))
+    return;
 
-template <typename T>
-template <typename U>
-inline bool
-OR_Matrix<T>::any_row_iterator<U>
-::operator>=(const any_row_iterator& y) const {
-  return e >= y.e;
-}
+  const Coefficient& inhomo = c.inhomogeneous_term();
+  if (num_vars == 0) {
+    // Dealing with a trivial constraint (might be a strict inequality).
+    if (inhomo < 0
+        || (c.is_equality() && inhomo != 0)
+        || (c.is_strict_inequality() && inhomo == 0))
+      set_empty();
+    return;
+  }
 
-template <typename T>
-template <typename U>
-inline dimension_type
-OR_Matrix<T>::any_row_iterator<U>::row_size() const {
-  return OR_Matrix::row_size(e);
-}
+  // Select the cell to be modified for the "<=" part of the constraint,
+  // and set `coeff' to the absolute value of itself.
+  const bool negative = (coeff < 0);
+  N& x = negative ? dbm[i][j] : dbm[j][i];
+  N& y = negative ? dbm[j][i] : dbm[i][j];
+  if (negative)
+    neg_assign(coeff);
 
-template <typename T>
-template <typename U>
-inline dimension_type
-OR_Matrix<T>::any_row_iterator<U>::index() const {
-  return e;
-}
+  bool changed = false;
+  // Compute the bound for `x', rounding towards plus infinity.
+  PPL_DIRTY_TEMP(N, d);
+  div_round_up(d, inhomo, coeff);
+  if (x > d) {
+    x = d;
+    changed = true;
+  }
 
-template <typename T>
-inline typename OR_Matrix<T>::row_iterator
-OR_Matrix<T>::row_begin() {
-  return num_rows() == 0 ? row_iterator(0) : row_iterator(vec[0]);
-}
+  if (c.is_equality()) {
+    // Also compute the bound for `y', rounding towards plus infinity.
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
+    neg_assign(minus_c_term, inhomo);
+    div_round_up(d, minus_c_term, coeff);
+    if (y > d) {
+      y = d;
+      changed = true;
+    }
+  }
 
-template <typename T>
-inline typename OR_Matrix<T>::row_iterator
-OR_Matrix<T>::row_end() {
-  return row_iterator(num_rows());
+  // In general, adding a constraint does not preserve the shortest-path
+  // closure or reduction of the bounded difference shape.
+  if (changed && marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline typename OR_Matrix<T>::const_row_iterator
-OR_Matrix<T>::row_begin() const {
-  return num_rows() == 0 ? const_row_iterator(0) : const_row_iterator(vec[0]);
-}
+void
+BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
+  BD_Shape& x = *this;
 
-template <typename T>
-inline typename OR_Matrix<T>::const_row_iterator
-OR_Matrix<T>::row_end() const {
-  return const_row_iterator(num_rows());
-}
+  const dimension_type x_space_dim = x.space_dimension();
+  const dimension_type y_space_dim = y.space_dimension();
 
-template <typename T>
-inline typename OR_Matrix<T>::element_iterator
-OR_Matrix<T>::element_begin() {
-  return vec.begin();
-}
+  // If `y' is an empty 0-dim space bounded difference shape,
+  // let `*this' become empty.
+  if (y_space_dim == 0 && y.marked_empty()) {
+    set_empty();
+    return;
+  }
 
-template <typename T>
-inline typename OR_Matrix<T>::element_iterator
-OR_Matrix<T>::element_end() {
-  return vec.end();
-}
+  // If `x' is an empty 0-dim space BDS, then it is sufficient to adjust
+  // the dimension of the vector space.
+  if (x_space_dim == 0 && marked_empty()) {
+    dbm.grow(y_space_dim + 1);
+    PPL_ASSERT(OK());
+    return;
+  }
+  // First we increase the space dimension of `x' by adding
+  // `y.space_dimension()' new dimensions.
+  // The matrix for the new system of constraints is obtained
+  // by leaving the old system of constraints in the upper left-hand side
+  // and placing the constraints of `y' in the lower right-hand side,
+  // except the constraints as `y(i) >= cost' or `y(i) <= cost', that are
+  // placed in the right position on the new matrix.
+  add_space_dimensions_and_embed(y_space_dim);
+  const dimension_type new_space_dim = x_space_dim + y_space_dim;
+  for (dimension_type i = x_space_dim + 1; i <= new_space_dim; ++i) {
+    DB_Row<N>& dbm_i = dbm[i];
+    dbm_i[0] = y.dbm[i - x_space_dim][0];
+    dbm[0][i] = y.dbm[0][i - x_space_dim];
+    for (dimension_type j = x_space_dim + 1; j <= new_space_dim; ++j)
+      dbm_i[j] = y.dbm[i - x_space_dim][j - x_space_dim];
+  }
 
-template <typename T>
-inline typename OR_Matrix<T>::const_element_iterator
-OR_Matrix<T>::element_begin() const {
-  return vec.begin();
+  if (marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
 }
 
 template <typename T>
-inline typename OR_Matrix<T>::const_element_iterator
-OR_Matrix<T>::element_end() const {
-  return vec.end();
-}
+bool
+BD_Shape<T>::contains(const BD_Shape& y) const {
+  const BD_Shape<T>& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
-template <typename T>
-inline void
-OR_Matrix<T>::swap(OR_Matrix& y) {
-  std::swap(vec, y.vec);
-  std::swap(space_dim, y.space_dim);
-  std::swap(vec_capacity, y.vec_capacity);
-}
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    throw_dimension_incompatible("contains(y)", y);
 
-//! Returns the integer square root of \p x.
-inline unsigned long
-isqrt(unsigned long x) {
-  unsigned long r = 0;
-  for (unsigned long t = 0x40000000; t; t >>= 2) {
-    unsigned long s = r + t;
-    if (s <= x) {
-      x -= s;
-      r = s + t;
-    }
-    r >>= 1;
+  if (x_space_dim == 0) {
+    // The zero-dimensional empty shape only contains another
+    // zero-dimensional empty shape.
+    // The zero-dimensional universe shape contains any other
+    // zero-dimensional shape.
+    return marked_empty() ? y.marked_empty() : true;
   }
-  return r;
-}
 
-template <typename T>
-inline dimension_type
-OR_Matrix<T>::max_num_rows() {
-  // Compute the maximum number of rows that are contained in a DB_Row
-  // that allocates a pseudo-triangular matrix.
-  dimension_type k = isqrt(2*DB_Row<T>::max_size() + 1);
-  return (k - 1) - (k - 1)%2;
-}
+  /*
+    The `y' bounded difference shape must be closed.  As an example,
+    consider the case where in `*this' we have the constraints
 
-template <typename T>
-inline memory_size_type
-OR_Matrix<T>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    x1 - x2 <= 1,
+    x1      <= 3,
+    x2      <= 2,
 
-template <typename T>
-inline
-OR_Matrix<T>::OR_Matrix(const dimension_type dim)
-  : vec(2*dim*(dim+1)),
-    space_dim(dim),
-    vec_capacity(vec.size()) {
-}
+    and in `y' the constraints are
 
-template <typename T>
-inline
-OR_Matrix<T>::~OR_Matrix() {
-}
+    x1 - x2 <= 0,
+    x2      <= 1.
 
-template <typename T>
-inline typename OR_Matrix<T>::row_reference_type
-OR_Matrix<T>::operator[](dimension_type k) {
-  return row_reference_type(vec[row_first_element_index(k)]
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-			    , row_size(k)
-#endif
-			    );
-}
+    Without closure the (erroneous) analysis of the inhomogeneous terms
+    would conclude containment does not hold.  Closing `y' results into
+    the "discovery" of the implicit constraint
 
-template <typename T>
-inline typename OR_Matrix<T>::const_row_reference_type
-OR_Matrix<T>::operator[](dimension_type k) const {
-  return const_row_reference_type(vec[row_first_element_index(k)]
-#if PPL_OR_MATRIX_EXTRA_DEBUG
-				  , row_size(k)
-#endif
-				  );
-}
+    x1      <= 1,
 
-template <typename T>
-inline dimension_type
-OR_Matrix<T>::space_dimension() const {
-  return space_dim;
-}
+    at which point the inhomogeneous terms can be examined to determine
+    that containment does hold.
+  */
+  y.shortest_path_closure_assign();
+  // An empty shape is contained in any other dimension-compatible shapes.
+  if (y.marked_empty())
+    return true;
 
-template <typename T>
-inline dimension_type
-OR_Matrix<T>::num_rows() const {
-  return 2*space_dimension();
-}
+  // If `x' is empty it can not contain `y' (which is not empty).
+  if (x.is_empty())
+    return false;
 
-template <typename T>
-inline void
-OR_Matrix<T>::clear() {
-  OR_Matrix<T>(0).swap(*this);
+  // `*this' contains `y' if and only if every cell of `dbm'
+  // is greater than or equal to the correspondent one of `y.dbm'.
+  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
+    const DB_Row<N>& x_dbm_i = x.dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = x_space_dim + 1; j-- > 0; )
+      if (x_dbm_i[j] < y_dbm_i[j])
+        return false;
+  }
+  return true;
 }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-inline bool
-operator==(const OR_Matrix<T>& x, const OR_Matrix<T>& y) {
-  return x.space_dim == y.space_dim && x.vec == y.vec;
-}
+bool
+BD_Shape<T>::is_disjoint_from(const BD_Shape& y) const {
+  const dimension_type space_dim = space_dimension();
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("is_disjoint_from(y)", y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline bool
-operator!=(const OR_Matrix<T>& x, const OR_Matrix<T>& y) {
-  return !(x == y);
-}
+  // If one of the two bounded difference shape is empty,
+  // then the two bounded difference shape are disjoint.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return true;
+  y.shortest_path_closure_assign();
+  if (y.marked_empty())
+    return true;
 
-template <typename T>
-inline
-OR_Matrix<T>::OR_Matrix(const OR_Matrix& y)
-  : vec(y.vec),
-    space_dim(y.space_dim),
-    vec_capacity(compute_capacity(y.vec.size(),
-                                  DB_Row<T>::max_size())) {
+  // Two BDSs are disjoint when their intersection is empty.
+  // That is if and only if there exists at least a bounded difference
+  // such that the upper bound of the bounded difference in the first
+  // BD_Shape is strictly less than the lower bound of
+  // the corresponding bounded difference in the second BD_Shape
+  // or vice versa.
+  // For example: let be
+  // in `*this':    -a_j_i <= v_j - v_i <= a_i_j;
+  // and in `y':    -b_j_i <= v_j - v_i <= b_i_j;
+  // `*this' and `y' are disjoint if
+  // 1.) a_i_j < -b_j_i or
+  // 2.) b_i_j < -a_j_i.
+  PPL_DIRTY_TEMP(N, tmp);
+  for (dimension_type i = space_dim+1; i-- > 0; ) {
+    const DB_Row<N>& x_i = dbm[i];
+    for (dimension_type j = space_dim+1; j-- > 0; ) {
+      neg_assign_r(tmp, y.dbm[j][i], ROUND_UP);
+      if (x_i[j] < tmp)
+        return true;
+    }
+  }
+
+  return false;
 }
 
 template <typename T>
-template <typename U>
-inline
-OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
-  : vec(),
-    space_dim(y.space_dim),
-    vec_capacity(compute_capacity(y.vec.size(),
-                                  DB_Row<T>::max_size())) {
-  vec.construct_upward_approximation(y.vec, vec_capacity);
-  PPL_ASSERT(OK());
+bool
+BD_Shape<T>::is_universe() const {
+  if (marked_empty())
+    return false;
+
+  const dimension_type space_dim = space_dimension();
+  // If the BDS is non-empty and zero-dimensional,
+  // then it is necessarily the universe BDS.
+  if (space_dim == 0)
+    return true;
+
+  // A bounded difference shape defining the universe BDS can only
+  // contain trivial constraints.
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; )
+      if (!is_plus_infinity(dbm_i[j]))
+        return false;
+  }
+  return true;
 }
 
 template <typename T>
-inline OR_Matrix<T>&
-OR_Matrix<T>::operator=(const OR_Matrix& y) {
-  vec = y.vec;
-  space_dim = y.space_dim;
-  vec_capacity = compute_capacity(y.vec.size(), DB_Row<T>::max_size());
-  return *this;
+bool
+BD_Shape<T>::is_bounded() const {
+  shortest_path_closure_assign();
+  const dimension_type space_dim = space_dimension();
+  // A zero-dimensional or empty BDS is bounded.
+  if (marked_empty() || space_dim == 0)
+    return true;
+
+  // A bounded difference shape defining the bounded BDS never can
+  // contain trivial constraints.
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; )
+      if (i != j)
+        if (is_plus_infinity(dbm_i[j]))
+          return false;
+  }
+
+  return true;
 }
 
 template <typename T>
-inline void
-OR_Matrix<T>::grow(const dimension_type new_dim) {
-  PPL_ASSERT(new_dim >= space_dim);
-  if (new_dim > space_dim) {
-    const dimension_type new_size = 2*new_dim*(new_dim + 1);
-    if (new_size <= vec_capacity) {
-      // We can recycle the old vec.
-      vec.expand_within_capacity(new_size);
-      space_dim = new_dim;
-    }
-    else {
-      // We cannot recycle the old vec.
-      OR_Matrix<T> new_matrix(new_dim);
-      element_iterator j = new_matrix.element_begin();
-      for (element_iterator i = element_begin(),
-	     mend = element_end(); i != mend; ++i, ++j)
-	assign_or_swap(*j, *i);
-      swap(new_matrix);
+bool
+BD_Shape<T>::contains_integer_point() const {
+  // Force shortest-path closure.
+  if (is_empty())
+    return false;
+
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0)
+    return true;
+
+  // A non-empty BD_Shape defined by integer constraints
+  // necessarily contains an integer point.
+  if (std::numeric_limits<T>::is_integer)
+    return true;
+
+  // Build an integer BD_Shape z with bounds at least as tight as
+  // those in *this and then recheck for emptiness.
+  BD_Shape<mpz_class> bds_z(space_dim);
+  typedef BD_Shape<mpz_class>::N Z;
+  bds_z.reset_shortest_path_closed();
+  PPL_DIRTY_TEMP(N, tmp);
+  bool all_integers = true;
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<Z>& z_i = bds_z.dbm[i];
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      const N& dbm_i_j = dbm_i[j];
+      if (is_plus_infinity(dbm_i_j))
+        continue;
+      if (is_integer(dbm_i_j))
+        assign_r(z_i[j], dbm_i_j, ROUND_NOT_NEEDED);
+      else {
+        all_integers = false;
+        Z& z_i_j = z_i[j];
+        // Copy dbm_i_j into z_i_j, but rounding downwards.
+        neg_assign_r(tmp, dbm_i_j, ROUND_NOT_NEEDED);
+        assign_r(z_i_j, tmp, ROUND_UP);
+        neg_assign_r(z_i_j, z_i_j, ROUND_NOT_NEEDED);
+      }
     }
   }
+  return all_integers || !bds_z.is_empty();
 }
 
 template <typename T>
-inline void
-OR_Matrix<T>::shrink(const dimension_type new_dim) {
-  PPL_ASSERT(new_dim <= space_dim);
-  const dimension_type new_size = 2*new_dim*(new_dim + 1);
-  vec.shrink(new_size);
-  space_dim = new_dim;
-}
+bool
+BD_Shape<T>::frequency(const Linear_Expression& expr,
+                       Coefficient& freq_n, Coefficient& freq_d,
+                       Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
 
-template <typename T>
-inline void
-OR_Matrix<T>::resize_no_copy(const dimension_type new_dim) {
-  if (new_dim > space_dim) {
-    const dimension_type new_size = 2*new_dim*(new_dim + 1);
-    if (new_size <= vec_capacity) {
-      // We can recycle the old vec.
-      vec.expand_within_capacity(new_size);
-      space_dim = new_dim;
-    }
-    else {
-      // We cannot recycle the old vec.
-      OR_Matrix<T> new_matrix(new_dim);
-      swap(new_matrix);
-    }
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension is 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
   }
-  else if (new_dim < space_dim)
-    shrink(new_dim);
-}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization, typename Temp, typename To, typename T>
-inline bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const OR_Matrix<T>& x,
-		    const OR_Matrix<T>& y,
-		    const Rounding_Dir dir,
-		    Temp& tmp0,
-		    Temp& tmp1,
-		    Temp& tmp2) {
-  if (x.num_rows() != y.num_rows())
+  shortest_path_closure_assign();
+  // For an empty BD shape, we simply return false.
+  if (marked_empty())
     return false;
-  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
-  for (typename OR_Matrix<T>::const_element_iterator
-	 i = x.element_begin(), j = y.element_begin(),
-	 mat_end = x.element_end(); i != mat_end; ++i, ++j) {
-    const T& x_i = *i;
-    const T& y_i = *j;
-    if (is_plus_infinity(x_i)) {
-      if (is_plus_infinity(y_i))
-	continue;
-      else {
-      pinf:
-	assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-	return true;
-      }
-    }
-    else if (is_plus_infinity(y_i))
-      goto pinf;
 
-    const Temp* tmp1p;
-    const Temp* tmp2p;
-    if (x_i > y_i) {
-      maybe_assign(tmp1p, tmp1, x_i, dir);
-      maybe_assign(tmp2p, tmp2, y_i, inverse(dir));
+  // The BD shape has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  PPL_DIRTY_TEMP(N, tmp);
+  Linear_Expression le = expr;
+  // Boolean to keep track of a variable `v' in expression `le'.
+  // If we can replace `v' by an expression using variables other
+  // than `v' and are already in `le', then this is set to true.
+
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
+
+  // TODO: This loop can be optimized more, if needed, exploiting the
+  // (possible) sparseness of le.
+  for (dimension_type i = dbm.num_rows(); i-- > 1; ) {
+    const Variable v(i-1);
+    coeff = le.coefficient(v);
+    if (coeff == 0)
+      continue;
+
+    const DB_Row<N>& dbm_i = dbm[i];
+    // Check if `v' is constant in the BD shape.
+    assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED);
+    if (is_additive_inverse(dbm[0][i], tmp)) {
+      // If `v' is constant, replace it in `le' by the value.
+      numer_denom(tmp, numer, denom);
+      sub_mul_assign(le, coeff, v);
+      le *= denom;
+      le -= numer*coeff;
+      val_denom *= denom;
+      continue;
     }
+    // Check the bounded differences with the other dimensions that
+    // have non-zero coefficient in `le'.
     else {
-      maybe_assign(tmp1p, tmp1, y_i, dir);
-      maybe_assign(tmp2p, tmp2, x_i, inverse(dir));
+      bool constant_v = false;
+      for (Linear_Expression::const_iterator j = le.begin(),
+            j_end = le.lower_bound(Variable(i - 1)); j != j_end; ++j) {
+        const Variable vj = j.variable();
+        const dimension_type j_dim = vj.space_dimension();
+        assign_r(tmp, dbm_i[j_dim], ROUND_NOT_NEEDED);
+        if (is_additive_inverse(dbm[j_dim][i], tmp)) {
+          // The coefficient for `vj' in `le' is not 0
+          // and the difference with `v' in the BD shape is constant.
+          // So apply this equality to eliminate `v' in `le'.
+          numer_denom(tmp, numer, denom);
+          // Modifying le invalidates the iterators, but it's not a problem
+          // since we are going to exit the loop.
+          sub_mul_assign(le, coeff, v);
+          add_mul_assign(le, coeff, vj);
+          le *= denom;
+          le -= numer*coeff;
+          val_denom *= denom;
+          constant_v = true;
+          break;
+        }
+      }
+      if (!constant_v)
+        // The expression `expr' is not constant.
+        return false;
     }
-    sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-    PPL_ASSERT(sgn(tmp1) >= 0);
-    Specialization::combine(tmp0, tmp1, dir);
   }
 
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(le.inhomogeneous_term(), val_denom, val_n, val_d);
   return true;
 }
 
+template <typename T>
+bool
+BD_Shape<T>::constrains(const Variable var) const {
+  // `var' should be one of the dimensions of the BD shape.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dimension() < var_space_dim)
+    throw_dimension_incompatible("constrains(v)", "v", var);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const OR_Matrix<T>& x,
-			    const OR_Matrix<T>& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  return
-    l_m_distance_assign<Rectilinear_Distance_Specialization<Temp> >(r, x, y,
-								    dir,
-								    tmp0,
-								    tmp1,
-								    tmp2);
-}
+  shortest_path_closure_assign();
+  // A BD shape known to be empty constrains all variables.
+  // (Note: do not force emptiness check _yet_)
+  if (marked_empty())
+    return true;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const OR_Matrix<T>& x,
-			  const OR_Matrix<T>& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  return
-    l_m_distance_assign<Euclidean_Distance_Specialization<Temp> >(r, x, y,
-								  dir,
-								  tmp0,
-								  tmp1,
-								  tmp2);
-}
+  // Check whether `var' is syntactically constrained.
+  const DB_Row<N>& dbm_v = dbm[var_space_dim];
+  for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
+    if (!is_plus_infinity(dbm_v[i])
+        || !is_plus_infinity(dbm[i][var_space_dim]))
+      return true;
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const OR_Matrix<T>& x,
-			   const OR_Matrix<T>& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  return
-    l_m_distance_assign<L_Infinity_Distance_Specialization<Temp> >(r, x, y,
-								   dir,
-								   tmp0,
-								   tmp1,
-								   tmp2);
+  // `var' is not syntactically constrained:
+  // now force an emptiness check.
+  return is_empty();
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
+template <typename T>
+void
+BD_Shape<T>
+::compute_predecessors(std::vector<dimension_type>& predecessor) const {
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(predecessor.size() == 0);
+  // Variables are ordered according to their index.
+  // The vector `predecessor' is used to indicate which variable
+  // immediately precedes a given one in the corresponding equivalence class.
+  // The `leader' of an equivalence class is the element having minimum
+  // index: leaders are their own predecessors.
+  const dimension_type predecessor_size = dbm.num_rows();
+  // Initially, each variable is leader of its own zero-equivalence class.
+  predecessor.reserve(predecessor_size);
+  for (dimension_type i = 0; i < predecessor_size; ++i)
+    predecessor.push_back(i);
+  // Now compute actual predecessors.
+  for (dimension_type i = predecessor_size; i-- > 1; )
+    if (i == predecessor[i]) {
+      const DB_Row<N>& dbm_i = dbm[i];
+      for (dimension_type j = i; j-- > 0; )
+        if (j == predecessor[j]
+            && is_additive_inverse(dbm[j][i], dbm_i[j])) {
+          // Choose as predecessor the variable having the smaller index.
+          predecessor[i] = j;
+          break;
+        }
+    }
+}
 
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
 template <typename T>
-inline void
-swap(Parma_Polyhedra_Library::OR_Matrix<T>& x,
-     Parma_Polyhedra_Library::OR_Matrix<T>& y) {
-  x.swap(y);
+void
+BD_Shape<T>::compute_leaders(std::vector<dimension_type>& leaders) const {
+  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
+  PPL_ASSERT(leaders.size() == 0);
+  // Compute predecessor information.
+  compute_predecessors(leaders);
+  // Flatten the predecessor chains so as to obtain leaders.
+  PPL_ASSERT(leaders[0] == 0);
+  for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) {
+    const dimension_type leaders_i = leaders[i];
+    PPL_ASSERT(leaders_i <= i);
+    if (leaders_i != i) {
+      const dimension_type leaders_leaders_i = leaders[leaders_i];
+      PPL_ASSERT(leaders_leaders_i == leaders[leaders_leaders_i]);
+      leaders[i] = leaders_leaders_i;
+    }
+  }
 }
 
-} // namespace std
+template <typename T>
+bool
+BD_Shape<T>::is_shortest_path_reduced() const {
+  // If the BDS is empty, it is also reduced.
+  if (marked_empty())
+    return true;
 
+  const dimension_type space_dim = space_dimension();
+  // Zero-dimensional BDSs are necessarily reduced.
+  if (space_dim == 0)
+    return true;
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.templates.hh line 1. */
-/* OR_Matrix class implementation: non-inline template functions.
-*/
+  // A shortest-path reduced dbm is just a dbm with an indication of
+  // those constraints that are redundant. If there is no indication
+  // of the redundant constraints, then it cannot be reduced.
+  if (!marked_shortest_path_reduced())
+    return false;
 
+  const BD_Shape x_copy = *this;
+  x_copy.shortest_path_closure_assign();
+  // If we just discovered emptiness, it cannot be reduced.
+  if (x_copy.marked_empty())
+    return false;
 
-#include <iostream>
+  // The vector `leader' is used to indicate which variables are equivalent.
+  std::vector<dimension_type> leader(space_dim + 1);
 
-namespace Parma_Polyhedra_Library {
+  // We store the leader.
+  for (dimension_type i = space_dim + 1; i-- > 0; )
+    leader[i] = i;
 
-template <typename T>
-memory_size_type
-OR_Matrix<T>::external_memory_in_bytes() const{
-  return vec.external_memory_in_bytes();
-}
+  // Step 1: we store really the leader with the corrected value.
+  // We search for the equivalent or zero-equivalent variables.
+  // The variable(i-1) and variable(j-1) are equivalent if and only if
+  // m_i_j == -(m_j_i).
+  for (dimension_type i = 0; i < space_dim; ++i) {
+    const DB_Row<N>& x_copy_dbm_i = x_copy.dbm[i];
+    for (dimension_type j = i + 1; j <= space_dim; ++j)
+      if (is_additive_inverse(x_copy.dbm[j][i], x_copy_dbm_i[j]))
+        // Two equivalent variables have got the same leader
+        // (the smaller variable).
+        leader[j] = leader[i];
+  }
 
-template <typename T>
-bool
-OR_Matrix<T>::OK() const {
-#ifndef NDEBUG
-  using std::endl;
-  using std::cerr;
-#endif
-  // The right number of cells should be in use.
-  const dimension_type dim = space_dimension();
-  if (vec.size() != 2*dim*(dim + 1)) {
-#ifndef NDEBUG
-    cerr << "OR_Matrix has a wrong number of cells:\n"
-	 << "vec.size() is " << vec.size()
-	 << ", expected size is " << 2*dim*(dim+1) << "!\n";
-#endif
-    return false;
+  // Step 2: we check if there are redundant constraints in the zero_cycle
+  // free bounded difference shape, considering only the leaders.
+  // A constraint `c' is redundant, when there are two constraints such that
+  // their sum is the same constraint with the inhomogeneous term
+  // less than or equal to the `c' one.
+  PPL_DIRTY_TEMP(N, c);
+  for (dimension_type k = 0; k <= space_dim; ++k)
+    if (leader[k] == k) {
+      const DB_Row<N>& x_k = x_copy.dbm[k];
+      for (dimension_type i = 0; i <= space_dim; ++i)
+        if (leader[i] == i) {
+          const DB_Row<N>& x_i = x_copy.dbm[i];
+          const Bit_Row& redundancy_i = redundancy_dbm[i];
+          const N& x_i_k = x_i[k];
+          for (dimension_type j = 0; j <= space_dim; ++j)
+            if (leader[j] == j) {
+              const N& x_i_j = x_i[j];
+              if (!is_plus_infinity(x_i_j)) {
+                add_assign_r(c, x_i_k, x_k[j], ROUND_UP);
+                if (x_i_j >= c && !redundancy_i[j])
+                  return false;
+              }
+            }
+        }
+    }
+
+  // The vector `var_conn' is used to check if there is a single cycle
+  // that connected all zero-equivalent variables between them.
+  // The value `space_dim + 1' is used to indicate that the equivalence
+  // class contains a single variable.
+  std::vector<dimension_type> var_conn(space_dim + 1);
+  for (dimension_type i = space_dim + 1; i-- > 0; )
+    var_conn[i] = space_dim + 1;
+
+  // Step 3: we store really the `var_conn' with the right value, putting
+  // the variable with the selected variable is connected:
+  // we check the row of each variable:
+  // a- each leader could be connected with only zero-equivalent one,
+  // b- each non-leader with only another zero-equivalent one.
+  for (dimension_type i = 0; i <= space_dim; ++i) {
+    // It count with how many variables the selected variable is
+    // connected.
+    dimension_type t = 0;
+    dimension_type leader_i = leader[i];
+    // Case a: leader.
+    if (leader_i == i) {
+      for (dimension_type j = 0; j <= space_dim; ++j) {
+        dimension_type leader_j = leader[j];
+        // Only the connectedness with equivalent variables
+        // is considered.
+        if (j != leader_j)
+          if (!redundancy_dbm[i][j]) {
+            if (t == 1)
+              // Two non-leaders cannot be connected with the same leader.
+              return false;
+            else
+              if (leader_j != i)
+                // The variables are not in the same equivalence class.
+                return false;
+              else {
+                ++t;
+                var_conn[i] = j;
+              }
+          }
+      }
+    }
+    // Case b: non-leader.
+    else {
+      for (dimension_type j = 0; j <= space_dim; ++j) {
+        if (!redundancy_dbm[i][j]) {
+          dimension_type leader_j = leader[j];
+          if (leader_i != leader_j)
+            // The variables are not in the same equivalence class.
+            return false;
+          else {
+            if (t == 1)
+              // The variables cannot be connected with the same leader.
+              return false;
+            else {
+              ++t;
+              var_conn[i] = j;
+            }
+          }
+          // A non-leader must be connected with
+          // another variable.
+          if (t == 0)
+            return false;
+        }
+      }
+    }
   }
 
-  // The underlying DB_Row should be OK.
-  if (!vec.OK(vec.size(), vec_capacity))
-    return false;
+  // The vector `just_checked' is used to check if
+  // a variable is already checked.
+  std::vector<bool> just_checked(space_dim + 1);
+  for (dimension_type i = space_dim + 1; i-- > 0; )
+    just_checked[i] = false;
 
-  // All checks passed.
+  // Step 4: we check if there are single cycles that
+  // connected all the zero-equivalent variables between them.
+  for (dimension_type i = 0; i <= space_dim; ++i) {
+    // We do not re-check the already considered single cycles.
+    if (!just_checked[i]) {
+      dimension_type v_con = var_conn[i];
+      // We consider only the equivalence classes with
+      // 2 or plus variables.
+      if (v_con != space_dim + 1) {
+        // There is a single cycle if taken a variable,
+        // we return to this same variable.
+        while (v_con != i) {
+          just_checked[v_con] = true;
+          v_con = var_conn[v_con];
+          // If we re-pass to an already considered variable,
+          // then we haven't a single cycle.
+          if (just_checked[v_con])
+            return false;
+        }
+      }
+    }
+    just_checked[i] = true;
+  }
+
+  // The system bounded differences is just reduced.
   return true;
 }
 
 template <typename T>
-void
-OR_Matrix<T>::ascii_dump(std::ostream& s) const {
-  const OR_Matrix<T>& x = *this;
-  const char separator = ' ';
-  dimension_type space = x.space_dimension();
-  s << space << separator << "\n";
-  for (const_row_iterator i = x.row_begin(),
-	 x_row_end = x.row_end(); i != x_row_end; ++i) {
-    const_row_reference_type r = *i;
-    dimension_type rs = i.row_size();
-    for (dimension_type j = 0; j < rs; ++j) {
-      using namespace IO_Operators;
-      s << r[j] << separator;
-    }
-    s << "\n";
+bool
+BD_Shape<T>::bounds(const Linear_Expression& expr,
+                    const bool from_above) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  const dimension_type space_dim = space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((from_above
+                                  ? "bounds_from_above(e)"
+                                  : "bounds_from_below(e)"), "e", expr);
+
+  shortest_path_closure_assign();
+  // A zero-dimensional or empty BDS bounds everything.
+  if (space_dim == 0 || marked_empty())
+    return true;
+
+  // The constraint `c' is used to check if `expr' is a difference
+  // bounded and, in this case, to select the cell.
+  const Constraint& c = from_above ? expr <= 0 : expr >= 0;
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  // Check if `c' is a BD constraint.
+  if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
+    if (num_vars == 0)
+      // Dealing with a trivial constraint.
+      return true;
+    // Select the cell to be checked.
+    const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
+    return !is_plus_infinity(x);
+  }
+  else {
+    // Not a DB constraint: use the MIP solver.
+    Optimization_Mode mode_bounds
+      = from_above ? MAXIMIZATION : MINIMIZATION;
+    MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
+    // Problem is known to be feasible.
+    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
   }
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, OR_Matrix<T>)
-
 template <typename T>
 bool
-OR_Matrix<T>::ascii_load(std::istream& s) {
-  dimension_type space;
-  if (!(s >> space))
+BD_Shape<T>::max_min(const Linear_Expression& expr,
+                     const bool maximize,
+                     Coefficient& ext_n, Coefficient& ext_d,
+                     bool& included) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((maximize
+                                  ? "maximize(e, ...)"
+                                  : "minimize(e, ...)"), "e", expr);
+  // Deal with zero-dim BDS first.
+  if (space_dim == 0) {
+    if (marked_empty())
+      return false;
+    else {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
+  }
+
+  shortest_path_closure_assign();
+  // For an empty BDS we simply return false.
+  if (marked_empty())
     return false;
-  resize_no_copy(space);
-  for (row_iterator i = row_begin(),
-	 this_row_end = row_end(); i != this_row_end; ++i) {
-    row_reference_type r_i = *i;
-    const dimension_type rs = i.row_size();
-    for (dimension_type j = 0; j < rs; ++j) {
-      Result r = input(r_i[j], s, ROUND_CHECK);
-      if (result_relation(r) != VR_EQ || is_minus_infinity(r_i[j]))
-	return false;
+
+  // The constraint `c' is used to check if `expr' is a difference
+  // bounded and, in this case, to select the cell.
+  const Constraint& c = maximize ? expr <= 0 : expr >= 0;
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  // Check if `c' is a BD constraint.
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
+    Optimization_Mode mode_max_min
+      = maximize ? MAXIMIZATION : MINIMIZATION;
+    MIP_Problem mip(space_dim, constraints(), expr, mode_max_min);
+    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
+      mip.optimal_value(ext_n, ext_d);
+      included = true;
+      return true;
+    }
+    else
+      // Here`expr' is unbounded in `*this'.
+      return false;
+  }
+  else {
+    // Here `expr' is a bounded difference.
+    if (num_vars == 0) {
+      // Dealing with a trivial expression.
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
+
+    // Select the cell to be checked.
+    const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
+    if (!is_plus_infinity(x)) {
+      // Compute the maximize/minimize of `expr'.
+      PPL_DIRTY_TEMP(N, d);
+      const Coefficient& b = expr.inhomogeneous_term();
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+      neg_assign(minus_b, b);
+      const Coefficient& sc_b = maximize ? b : minus_b;
+      assign_r(d, sc_b, ROUND_UP);
+      // Set `coeff_expr' to the absolute value of coefficient of
+      // a variable in `expr'.
+      PPL_DIRTY_TEMP(N, coeff_expr);
+      PPL_ASSERT(i != 0);
+      const Coefficient& coeff_i = expr.get(Variable(i - 1));
+      const int sign_i = sgn(coeff_i);
+      if (sign_i > 0)
+        assign_r(coeff_expr, coeff_i, ROUND_UP);
+      else {
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
+        neg_assign(minus_coeff_i, coeff_i);
+        assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
+      }
+      // Approximating the maximum/minimum of `expr'.
+      add_mul_assign_r(d, coeff_expr, x, ROUND_UP);
+      numer_denom(d, ext_n, ext_d);
+      if (!maximize)
+        neg_assign(ext_n);
+      included = true;
+      return true;
     }
-  }
-  PPL_ASSERT(OK());
-  return true;
-}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::OR_Matrix */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-std::ostream&
-IO_Operators::operator<<(std::ostream& s, const OR_Matrix<T>& m) {
-  for (typename OR_Matrix<T>::const_row_iterator m_iter = m.row_begin(),
-	 m_end = m.row_end(); m_iter != m_end; ++m_iter) {
-    typename OR_Matrix<T>::const_row_reference_type r_m = *m_iter;
-    const dimension_type mr_size = m_iter.row_size();
-    for (dimension_type j = 0; j < mr_size; ++j)
-      s << r_m[j] << " ";
-    s << "\n";
+    // `expr' is unbounded.
+    return false;
   }
-  return s;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 607. */
-
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 48. */
-#include <vector>
-#include <cstddef>
-#include <climits>
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape
-  Writes a textual representation of \p oct on \p s:
-  <CODE>false</CODE> is written if \p oct is an empty polyhedron;
-  <CODE>true</CODE> is written if \p oct is a universe polyhedron;
-  a system of constraints defining \p oct is written otherwise,
-  all constraints separated by ", ".
-*/
 template <typename T>
-std::ostream&
-operator<<(std::ostream& s, const Octagonal_Shape<T>& oct);
+bool
+BD_Shape<T>::max_min(const Linear_Expression& expr,
+                     const bool maximize,
+                     Coefficient& ext_n, Coefficient& ext_d,
+                     bool& included,
+                     Generator& g) const {
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((maximize
+                                  ? "maximize(e, ...)"
+                                  : "minimize(e, ...)"), "e", expr);
+  // Deal with zero-dim BDS first.
+  if (space_dim == 0) {
+    if (marked_empty())
+      return false;
+    else {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      g = point();
+      return true;
+    }
+  }
 
-} // namespace IO_Operators
+  shortest_path_closure_assign();
+  // For an empty BDS we simply return false.
+  if (marked_empty())
+    return false;
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are the same octagon.
+  Optimization_Mode mode_max_min
+    = maximize ? MAXIMIZATION : MINIMIZATION;
+  MIP_Problem mip(space_dim, constraints(), expr, mode_max_min);
+  if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
+    g = mip.optimizing_point();
+    mip.evaluate_objective_function(g, ext_n, ext_d);
+    included = true;
+    return true;
+  }
+  // Here `expr' is unbounded in `*this'.
+  return false;
+}
 
-  \relates Octagonal_Shape
-  Note that \p x and \p y may be dimension-incompatible shapes:
-  in this case, the value <CODE>false</CODE> is returned.
-*/
 template <typename T>
-bool operator==(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
+Poly_Con_Relation
+BD_Shape<T>::relation_with(const Congruence& cg) const {
+  const dimension_type space_dim = space_dimension();
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are different shapes.
+  // Dimension-compatibility check.
+  if (cg.space_dimension() > space_dim)
+    throw_dimension_incompatible("relation_with(cg)", cg);
 
-  \relates Octagonal_Shape
-  Note that \p x and \p y may be dimension-incompatible shapes:
-  in this case, the value <CODE>true</CODE> is returned.
-*/
-template <typename T>
-bool operator!=(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
+  // If the congruence is an equality, find the relation with
+  // the equivalent equality constraint.
+  if (cg.is_equality()) {
+    Constraint c(cg);
+    return relation_with(c);
+  }
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  shortest_path_closure_assign();
 
-  The direction of the approximation is specified by \p dir.
+  if (marked_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Octagonal_Shape<T>& x,
-                                 const Octagonal_Shape<T>& y,
-                                 Rounding_Dir dir);
+  if (space_dim == 0) {
+    if (cg.is_inconsistent())
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_included();
+  }
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the lower bound for a hyperplane with direction
+  // defined by the congruence.
+  Linear_Expression le = Linear_Expression(cg);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
+  bool min_included;
+  bool bounded_below = minimize(le, min_numer, min_denom, min_included);
 
-  The direction of the approximation is specified by \p dir.
+  // If there is no lower bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_below)
+    return Poly_Con_Relation::strictly_intersects();
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Octagonal_Shape<T>& x,
-                                 const Octagonal_Shape<T>& y,
-                                 Rounding_Dir dir);
+  // TODO: Consider adding a max_and_min() method, performing both
+  // maximization and minimization so as to possibly exploit
+  // incrementality of the MIP solver.
 
-//! Computes the rectilinear (or Manhattan) distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the rectilinear distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the upper bound for a hyperplane with direction
+  // defined by the congruence.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
+  bool max_included;
+  bool bounded_above = maximize(le, max_numer, max_denom, max_included);
 
-  The direction of the approximation is specified by \p dir.
+  // If there is no upper bound, then some of the hyperplanes defined by
+  // the congruence will strictly intersect the shape.
+  if (!bounded_above)
+    return Poly_Con_Relation::strictly_intersects();
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                 const Octagonal_Shape<T>& x,
-                                 const Octagonal_Shape<T>& y,
-                                 Rounding_Dir dir,
-                                 Temp& tmp0,
-                                 Temp& tmp1,
-                                 Temp& tmp2);
+  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is above the lower bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  min_value = min_numer / min_denom;
+  const Coefficient& modulus = cg.modulus();
+  signed_distance = min_value % modulus;
+  min_value -= signed_distance;
+  if (min_value * min_denom < min_numer)
+    min_value += modulus;
 
-  The direction of the approximation is specified by \p dir.
+  // Find the position value for the hyperplane that satisfies the congruence
+  // and is below the upper bound for the shape.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  max_value = max_numer / max_denom;
+  signed_distance = max_value % modulus;
+  max_value += signed_distance;
+  if (max_value * max_denom > max_numer)
+    max_value -= modulus;
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Octagonal_Shape<T>& x,
-                               const Octagonal_Shape<T>& y,
-                               Rounding_Dir dir);
+  // If the upper bound value is less than the lower bound value,
+  // then there is an empty intersection with the congruence;
+  // otherwise it will strictly intersect.
+  if (max_value < min_value)
+    return Poly_Con_Relation::is_disjoint();
+  else
+    return Poly_Con_Relation::strictly_intersects();
+}
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
 
-  The direction of the approximation is specified by \p dir.
+template <typename T>
+Poly_Con_Relation
+BD_Shape<T>::relation_with(const Constraint& c) const {
+  const dimension_type c_space_dim = c.space_dimension();
+  const dimension_type space_dim = space_dimension();
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Octagonal_Shape<T>& x,
-                               const Octagonal_Shape<T>& y,
-                               Rounding_Dir dir);
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(c)", c);
 
-//! Computes the euclidean distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the euclidean distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  shortest_path_closure_assign();
 
-  The direction of the approximation is specified by \p dir.
+  if (marked_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                               const Octagonal_Shape<T>& x,
-                               const Octagonal_Shape<T>& y,
-                               Rounding_Dir dir,
-                               Temp& tmp0,
-                               Temp& tmp1,
-                               Temp& tmp2);
+  if (space_dim == 0) {
+    if ((c.is_equality() && c.inhomogeneous_term() != 0)
+        || (c.is_inequality() && c.inhomogeneous_term() < 0))
+      return Poly_Con_Relation::is_disjoint();
+    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
+      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
+      // thus, the zero-dimensional point also saturates it.
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_disjoint();
+    else if (c.is_equality() || c.inhomogeneous_term() == 0)
+      return Poly_Con_Relation::saturates()
+        && Poly_Con_Relation::is_included();
+    else
+      // The zero-dimensional point saturates
+      // neither the positivity constraint 1 >= 0,
+      // nor the strict positivity constraint 1 > 0.
+      return Poly_Con_Relation::is_included();
+  }
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  dimension_type num_vars = 0;
+  dimension_type i = 0;
+  dimension_type j = 0;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  if (!BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
+    // Constraints that are not bounded differences.
+    // Use maximize() and minimize() to do much of the work.
 
-  The direction of the approximation is specified by \p dir.
+    // Find the linear expression for the constraint and use that to
+    // find if the expression is bounded from above or below and if it
+    // is, find the maximum and minimum values.
+    Linear_Expression le(c);
+    le.set_inhomogeneous_term(Coefficient_zero());
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
-*/
-template <typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Octagonal_Shape<T>& x,
-                                const Octagonal_Shape<T>& y,
-                                Rounding_Dir dir);
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
+    bool max_included;
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
+    bool min_included;
+    bool bounded_above = maximize(le, max_numer, max_denom, max_included);
+    bool bounded_below = minimize(le, min_numer, min_denom, min_included);
+    if (!bounded_above) {
+      if (!bounded_below)
+        return Poly_Con_Relation::strictly_intersects();
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(min_numer)) {
+      case 1:
+        if (c.is_equality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::is_included();
+      case 0:
+        if (c.is_strict_inequality() || c.is_equality())
+          return Poly_Con_Relation::strictly_intersects();
+        return Poly_Con_Relation::is_included();
+      case -1:
+        return Poly_Con_Relation::strictly_intersects();
+      }
+    }
+    if (!bounded_below) {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      switch (sgn(max_numer)) {
+      case 1:
+        return Poly_Con_Relation::strictly_intersects();
+      case 0:
+        if (c.is_strict_inequality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
+      case -1:
+        return Poly_Con_Relation::is_disjoint();
+      }
+    }
+    else {
+      max_numer += c.inhomogeneous_term() * max_denom;
+      min_numer += c.inhomogeneous_term() * min_denom;
+      switch (sgn(max_numer)) {
+      case 1:
+        switch (sgn(min_numer)) {
+        case 1:
+          if (c.is_equality())
+            return Poly_Con_Relation::is_disjoint();
+          return Poly_Con_Relation::is_included();
+        case 0:
+          if (c.is_equality())
+            return Poly_Con_Relation::strictly_intersects();
+          if (c.is_strict_inequality())
+            return Poly_Con_Relation::strictly_intersects();
+          return Poly_Con_Relation::is_included();
+        case -1:
+          return Poly_Con_Relation::strictly_intersects();
+        }
+        PPL_UNREACHABLE;
+        break;
+      case 0:
+        if (min_numer == 0) {
+          if (c.is_strict_inequality())
+            return Poly_Con_Relation::is_disjoint()
+              && Poly_Con_Relation::saturates();
+          return Poly_Con_Relation::is_included()
+            && Poly_Con_Relation::saturates();
+        }
+        if (c.is_strict_inequality())
+          return Poly_Con_Relation::is_disjoint();
+        return Poly_Con_Relation::strictly_intersects();
+      case -1:
+        return Poly_Con_Relation::is_disjoint();
+      }
+    }
+  }
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+  // Constraints that are bounded differences.
+  if (num_vars == 0) {
+    // Dealing with a trivial constraint.
+    switch (sgn(c.inhomogeneous_term())) {
+    case -1:
+      return Poly_Con_Relation::is_disjoint();
+    case 0:
+      if (c.is_strict_inequality())
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_included();
+    case 1:
+      if (c.is_equality())
+        return Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::is_included();
+    }
+  }
 
-  The direction of the approximation is specified by \p dir.
+  // Select the cell to be checked for the "<=" part of the constraint,
+  // and set `coeff' to the absolute value of itself.
+  const bool negative = (coeff < 0);
+  const N& x = negative ? dbm[i][j] : dbm[j][i];
+  const N& y = negative ? dbm[j][i] : dbm[i][j];
+  if (negative)
+    neg_assign(coeff);
+  // Deduce the relation/s of the constraint `c' of the form
+  // `coeff*v - coeff*u </<=/== c.inhomogeneous_term()'
+  // with the respectively constraints in `*this'
+  // `-y <= v - u <= x'.
+  // Let `d == c.inhomogeneous_term()/coeff'
+  // and `d1 == -c.inhomogeneous_term()/coeff'.
+  // The following variables of mpq_class type are used to be precise
+  // when the bds is defined by integer constraints.
+  PPL_DIRTY_TEMP(mpq_class, q_x);
+  PPL_DIRTY_TEMP(mpq_class, q_y);
+  PPL_DIRTY_TEMP(mpq_class, d);
+  PPL_DIRTY_TEMP(mpq_class, d1);
+  PPL_DIRTY_TEMP(mpq_class, c_denom);
+  PPL_DIRTY_TEMP(mpq_class, q_denom);
+  assign_r(c_denom, coeff, ROUND_NOT_NEEDED);
+  assign_r(d, c.inhomogeneous_term(), ROUND_NOT_NEEDED);
+  neg_assign_r(d1, d, ROUND_NOT_NEEDED);
+  div_assign_r(d, d, c_denom, ROUND_NOT_NEEDED);
+  div_assign_r(d1, d1, c_denom, ROUND_NOT_NEEDED);
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
-*/
-template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Octagonal_Shape<T>& x,
-                                const Octagonal_Shape<T>& y,
-                                Rounding_Dir dir);
+  if (is_plus_infinity(x)) {
+    if (!is_plus_infinity(y)) {
+      // `*this' is in the following form:
+      // `-y <= v - u'.
+      // In this case `*this' is disjoint from `c' if
+      // `-y > d' (`-y >= d' if c is a strict equality), i.e. if
+      // `y < d1' (`y <= d1' if c is a strict equality).
+      PPL_DIRTY_TEMP_COEFFICIENT(numer);
+      PPL_DIRTY_TEMP_COEFFICIENT(denom);
+      numer_denom(y, numer, denom);
+      assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+      assign_r(q_y, numer, ROUND_NOT_NEEDED);
+      div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
+      if (q_y < d1)
+        return Poly_Con_Relation::is_disjoint();
+      if (q_y == d1 && c.is_strict_inequality())
+        return Poly_Con_Relation::is_disjoint();
+    }
 
-//! Computes the \f$L_\infty\f$ distance between \p x and \p y.
-/*! \relates Octagonal_Shape
-  If the \f$L_\infty\f$ distance between \p x and \p y is defined,
-  stores an approximation of it into \p r and returns <CODE>true</CODE>;
-  returns <CODE>false</CODE> otherwise.
+    // In all other cases `*this' intersects `c'.
+    return Poly_Con_Relation::strictly_intersects();
+  }
 
-  The direction of the approximation is specified by \p dir.
+  // Here `x' is not plus-infinity.
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  numer_denom(x, numer, denom);
+  assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+  assign_r(q_x, numer, ROUND_NOT_NEEDED);
+  div_assign_r(q_x, q_x, q_denom, ROUND_NOT_NEEDED);
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
-*/
-template <typename Temp, typename To, typename T>
-bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-                                const Octagonal_Shape<T>& x,
-                                const Octagonal_Shape<T>& y,
-                                Rounding_Dir dir,
-                                Temp& tmp0,
-                                Temp& tmp1,
-                                Temp& tmp2);
+  if (!is_plus_infinity(y)) {
+    numer_denom(y, numer, denom);
+    assign_r(q_denom, denom, ROUND_NOT_NEEDED);
+    assign_r(q_y, numer, ROUND_NOT_NEEDED);
+    div_assign_r(q_y, q_y, q_denom, ROUND_NOT_NEEDED);
+    if (q_x == d && q_y == d1) {
+      if (c.is_strict_inequality())
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_disjoint();
+      else
+        return Poly_Con_Relation::saturates()
+          && Poly_Con_Relation::is_included();
+    }
+    // `*this' is disjoint from `c' when
+    // `-y > d' (`-y >= d' if c is a strict equality), i.e. if
+    // `y < d1' (`y <= d1' if c is a strict equality).
+    if (q_y < d1)
+      return Poly_Con_Relation::is_disjoint();
+    if (q_y == d1 && c.is_strict_inequality())
+      return Poly_Con_Relation::is_disjoint();
+  }
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Decodes the constraint \p c as an octagonal difference.
-/*! \relates Octagonal_Shape
-  \return
-  <CODE>true</CODE> if the constraint \p c is an octagonal difference;
-  <CODE>false</CODE> otherwise.
+  // Here `y' can be also plus-infinity.
+  // If `c' is an equality, `*this' is disjoint from `c' if
+  // `x < d'.
+  if (d > q_x) {
+    if (c.is_equality())
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::is_included();
+  }
 
-  \param c
-  The constraint to be decoded.
+  if (d == q_x && c.is_nonstrict_inequality())
+    return Poly_Con_Relation::is_included();
 
-  \param c_space_dim
-  The space dimension of the constraint \p c (it is <EM>assumed</EM>
-  to match the actual space dimension of \p c).
+  // In all other cases `*this' intersects `c'.
+  return Poly_Con_Relation::strictly_intersects();
+}
 
-  \param c_num_vars
-  If <CODE>true</CODE> is returned, then it will be set to the number
-  of variables having a non-zero coefficient. The only legal values
-  will therefore be 0, 1 and 2.
+template <typename T>
+Poly_Gen_Relation
+BD_Shape<T>::relation_with(const Generator& g) const {
+  const dimension_type space_dim = space_dimension();
+  const dimension_type g_space_dim = g.space_dimension();
 
-  \param c_first_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the index of the first variable having
-  a non-zero coefficient in \p c.
+  // Dimension-compatibility check.
+  if (space_dim < g_space_dim)
+    throw_dimension_incompatible("relation_with(g)", g);
 
-  \param c_second_var
-  If <CODE>true</CODE> is returned and if \p c_num_vars is set to 2,
-  then it will be set to the index of the second variable having
-  a non-zero coefficient in \p c.
+  shortest_path_closure_assign();
+  // The empty BDS cannot subsume a generator.
+  if (marked_empty())
+    return Poly_Gen_Relation::nothing();
 
-  \param c_coeff
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the value of the first non-zero coefficient
-  in \p c.
+  // A universe BDS in a zero-dimensional space subsumes
+  // all the generators of a zero-dimensional space.
+  if (space_dim == 0)
+    return Poly_Gen_Relation::subsumes();
 
-  \param c_term
-  If <CODE>true</CODE> is returned and if \p c_num_vars is not set to 0,
-  then it will be set to the right value of the inhomogeneous term
-  of \p c.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool extract_octagonal_difference(const Constraint& c,
-                                  dimension_type c_space_dim,
-                                  dimension_type& c_num_vars,
-                                  dimension_type& c_first_var,
-                                  dimension_type& c_second_var,
-                                  Coefficient& c_coeff,
-                                  Coefficient& c_term);
+  const bool is_line = g.is_line();
+  const bool is_line_or_ray = g.is_line_or_ray();
 
-} // namespace Parma_Polyhedra_Library
+  // The relation between the BDS and the given generator is obtained
+  // checking if the generator satisfies all the constraints in the BDS.
+  // To check if the generator satisfies all the constraints it's enough
+  // studying the sign of the scalar product between the generator and
+  // all the constraints in the BDS.
 
-//! An octagonal shape.
-/*! \ingroup PPL_CXX_interface
-  The class template Octagonal_Shape<T> allows for the efficient
-  representation of a restricted kind of <EM>topologically closed</EM>
-  convex polyhedra called <EM>octagonal shapes</EM> (OSs, for short).
-  The name comes from the fact that, in a vector space of dimension 2,
-  bounded OSs are polygons with at most eight sides.
-  The closed affine half-spaces that characterize the OS can be expressed
-  by constraints of the form
-  \f[
-    ax_i + bx_j \leq k
-  \f]
-  where \f$a, b \in \{-1, 0, 1\}\f$ and \f$k\f$ is a rational number,
-  which are called <EM>octagonal constraints</EM>.
+  // Allocation of temporaries done once and for all.
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  PPL_DIRTY_TEMP_COEFFICIENT(product);
+  // We find in `*this' all the constraints.
+  // TODO: This loop can be optimized more, if needed.
+  for (dimension_type i = 0; i <= space_dim; ++i) {
+    const Coefficient& g_coeff_y = (i > g_space_dim || i == 0)
+      ? Coefficient_zero() : g.coefficient(Variable(i-1));
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = i + 1; j <= space_dim; ++j) {
+      const Coefficient& g_coeff_x = (j > g_space_dim)
+        ? Coefficient_zero() : g.coefficient(Variable(j-1));
+      const N& dbm_ij = dbm_i[j];
+      const N& dbm_ji = dbm[j][i];
+      if (is_additive_inverse(dbm_ji, dbm_ij)) {
+        // We have one equality constraint: denom*x - denom*y = numer.
+        // Compute the scalar product.
+        numer_denom(dbm_ij, numer, denom);
+        product = g_coeff_y;
+        product -= g_coeff_x;
+        product *= denom;
+        if (!is_line_or_ray)
+          add_mul_assign(product, numer, g.divisor());
+        if (product != 0)
+          return Poly_Gen_Relation::nothing();
+      }
+      else {
+        // We have 0, 1 or 2 binary inequality constraint/s.
+        if (!is_plus_infinity(dbm_ij)) {
+          // We have the binary inequality constraint:
+          // denom*x - denom*y <= numer.
+          // Compute the scalar product.
+          numer_denom(dbm_ij, numer, denom);
+          product = g_coeff_y;
+          product -= g_coeff_x;
+          product *= denom;
+          if (!is_line_or_ray)
+            add_mul_assign(product, numer, g.divisor());
+          if (is_line) {
+            if (product != 0)
+              // Lines must saturate all constraints.
+              return Poly_Gen_Relation::nothing();
+          }
+          else
+            // `g' is either a ray, a point or a closure point.
+            if (product < 0)
+              return Poly_Gen_Relation::nothing();
+        }
 
-  Based on the class template type parameter \p T, a family of extended
-  numbers is built and used to approximate the inhomogeneous term of
-  octagonal constraints. These extended numbers provide a representation
-  for the value \f$+\infty\f$, as well as <EM>rounding-aware</EM>
-  implementations for several arithmetic functions.
-  The value of the type parameter \p T may be one of the following:
-    - a bounded precision integer type (e.g., \c int32_t or \c int64_t);
-    - a bounded precision floating point type (e.g., \c float or \c double);
-    - an unbounded integer or rational type, as provided by GMP
-      (i.e., \c mpz_class or \c mpq_class).
+        if (!is_plus_infinity(dbm_ji)) {
+          // We have the binary inequality constraint: denom*y - denom*x <= b.
+          // Compute the scalar product.
+          numer_denom(dbm_ji, numer, denom);
+          product = 0;
+          add_mul_assign(product, denom, g_coeff_x);
+          add_mul_assign(product, -denom, g_coeff_y);
+          if (!is_line_or_ray)
+            add_mul_assign(product, numer, g.divisor());
+          if (is_line) {
+            if (product != 0)
+              // Lines must saturate all constraints.
+              return Poly_Gen_Relation::nothing();
+          }
+          else
+            // `g' is either a ray, a point or a closure point.
+            if (product < 0)
+              return Poly_Gen_Relation::nothing();
+        }
+      }
+    }
+  }
 
-  The user interface for OSs is meant to be as similar as possible to
-  the one developed for the polyhedron class C_Polyhedron.
+  // The generator satisfies all the constraints.
+  return Poly_Gen_Relation::subsumes();
+}
 
-  The OS domain <EM>optimally supports</EM>:
-    - tautological and inconsistent constraints and congruences;
-    - octagonal constraints;
-    - non-proper congruences (i.e., equalities) that are expressible
-      as octagonal constraints.
+template <typename T>
+void
+BD_Shape<T>::shortest_path_closure_assign() const {
+  // Do something only if necessary.
+  if (marked_empty() || marked_shortest_path_closed())
+    return;
+  const dimension_type num_dimensions = space_dimension();
+  // Zero-dimensional BDSs are necessarily shortest-path closed.
+  if (num_dimensions == 0)
+    return;
 
-  Depending on the method, using a constraint or congruence that is not
-  optimally supported by the domain will either raise an exception or
-  result in a (possibly non-optimal) upward approximation.
+  // Even though the BDS will not change, its internal representation
+  // is going to be modified by the Floyd-Warshall algorithm.
+  BD_Shape& x = const_cast<BD_Shape<T>&>(*this);
 
-  A constraint is octagonal if it has the form
-    \f[
-      \pm a_i x_i \pm a_j x_j \relsym b
-    \f]
-  where \f$\mathord{\relsym} \in \{ \leq, =, \geq \}\f$ and
-  \f$a_i\f$, \f$a_j\f$, \f$b\f$ are integer coefficients such that
-  \f$a_i = 0\f$, or \f$a_j = 0\f$, or \f$a_i = a_j\f$.
-  The user is warned that the above octagonal Constraint object
-  will be mapped into a \e correct and \e optimal approximation that,
-  depending on the expressive power of the chosen template argument \p T,
-  may loose some precision.
-  Also note that strict constraints are not octagonal.
+  // Fill the main diagonal with zeros.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
+    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
+  }
 
-  For instance, a Constraint object encoding \f$3x + 3y \leq 1\f$ will be
-  approximated by:
-    - \f$x + y \leq 1\f$,
-      if \p T is a (bounded or unbounded) integer type;
-    - \f$x + y \leq \frac{1}{3}\f$,
-      if \p T is the unbounded rational type \c mpq_class;
-    - \f$x + y \leq k\f$, where \f$k > \frac{1}{3}\f$,
-      if \p T is a floating point type (having no exact representation
-      for \f$\frac{1}{3}\f$).
+  PPL_DIRTY_TEMP(N, sum);
+  for (dimension_type k = num_dimensions + 1; k-- > 0; ) {
+    const DB_Row<N>& x_dbm_k = x.dbm[k];
+    for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+      DB_Row<N>& x_dbm_i = x.dbm[i];
+      const N& x_dbm_i_k = x_dbm_i[k];
+      if (!is_plus_infinity(x_dbm_i_k))
+        for (dimension_type j = num_dimensions + 1; j-- > 0; ) {
+          const N& x_dbm_k_j = x_dbm_k[j];
+          if (!is_plus_infinity(x_dbm_k_j)) {
+            // Rounding upward for correctness.
+            add_assign_r(sum, x_dbm_i_k, x_dbm_k_j, ROUND_UP);
+            min_assign(x_dbm_i[j], sum);
+          }
+        }
+    }
+  }
 
-  On the other hand, depending from the context, a Constraint object
-  encoding \f$3x - y \leq 1\f$ will be either upward approximated
-  (e.g., by safely ignoring it) or it will cause an exception.
+  // Check for emptiness: the BDS is empty if and only if there is a
+  // negative value on the main diagonal of `dbm'.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    N& x_dbm_hh = x.dbm[h][h];
+    if (sgn(x_dbm_hh) < 0) {
+      x.set_empty();
+      return;
+    }
+    else {
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
+      // Restore PLUS_INFINITY on the main diagonal.
+      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
 
-  In the following examples it is assumed that the type argument \p T
-  is one of the possible instances listed above and that variables
-  \c x, \c y and \c z are defined (where they are used) as follows:
-  \code
-    Variable x(0);
-    Variable y(1);
-    Variable z(2);
-  \endcode
+  // The BDS is not empty and it is now shortest-path closed.
+  x.set_shortest_path_closed();
+}
 
-  \par Example 1
-  The following code builds an OS corresponding to a cube in \f$\Rset^3\f$,
-  given as a system of constraints:
-  \code
-    Constraint_System cs;
-    cs.insert(x >= 0);
-    cs.insert(x <= 3);
-    cs.insert(y >= 0);
-    cs.insert(y <= 3);
-    cs.insert(z >= 0);
-    cs.insert(z <= 3);
-    Octagonal_Shape<T> oct(cs);
-  \endcode
-  In contrast, the following code will raise an exception,
-  since constraints 7, 8, and 9 are not octagonal:
-  \code
-    Constraint_System cs;
-    cs.insert(x >= 0);
-    cs.insert(x <= 3);
-    cs.insert(y >= 0);
-    cs.insert(y <= 3);
-    cs.insert(z >= 0);
-    cs.insert(z <= 3);
-    cs.insert(x - 3*y <= 5);    // (7)
-    cs.insert(x - y + z <= 5);  // (8)
-    cs.insert(x + y + z <= 5);  // (9)
-    Octagonal_Shape<T> oct(cs);
-  \endcode
-*/
 template <typename T>
-class Parma_Polyhedra_Library::Octagonal_Shape {
-private:
-  /*! \brief
-    The (extended) numeric type of the inhomogeneous term of
-    the inequalities defining an OS.
-  */
-#ifndef NDEBUG
-  typedef Checked_Number<T, Debug_WRD_Extended_Number_Policy> N;
-#else
-  typedef Checked_Number<T, WRD_Extended_Number_Policy> N;
-#endif
+void
+BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
+  // Do something only if necessary.
+  if (marked_empty() || marked_shortest_path_closed())
+    return;
+  const dimension_type num_dimensions = space_dimension();
+  PPL_ASSERT(var.id() < num_dimensions);
 
-public:
+  // Even though the BDS will not change, its internal representation
+  // is going to be modified by the incremental Floyd-Warshall algorithm.
+  BD_Shape& x = const_cast<BD_Shape&>(*this);
 
-  //! The numeric base type upon which OSs are built.
-  typedef T coefficient_type_base;
+  // Fill the main diagonal with zeros.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
+    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
+  }
 
-  /*! \brief
-    The (extended) numeric type of the inhomogeneous term of the
-    inequalities defining an OS.
-  */
-  typedef N coefficient_type;
+  // Using the incremental Floyd-Warshall algorithm.
+  PPL_DIRTY_TEMP(N, sum);
+  const dimension_type v = var.id() + 1;
+  DB_Row<N>& x_v = x.dbm[v];
+  // Step 1: Improve all constraints on variable `var'.
+  for (dimension_type k = num_dimensions + 1; k-- > 0; ) {
+    DB_Row<N>& x_k = x.dbm[k];
+    const N& x_v_k = x_v[k];
+    const N& x_k_v = x_k[v];
+    const bool x_v_k_finite = !is_plus_infinity(x_v_k);
+    const bool x_k_v_finite = !is_plus_infinity(x_k_v);
+    // Specialize inner loop based on finiteness info.
+    if (x_v_k_finite) {
+      if (x_k_v_finite) {
+        // Here both x_v_k and x_k_v are finite.
+        for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+          DB_Row<N>& x_i = x.dbm[i];
+          const N& x_i_k = x_i[k];
+          if (!is_plus_infinity(x_i_k)) {
+            add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
+            min_assign(x_i[v], sum);
+          }
+          const N& x_k_i = x_k[i];
+          if (!is_plus_infinity(x_k_i)) {
+            add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
+            min_assign(x_v[i], sum);
+          }
+        }
+      }
+      else {
+        // Here x_v_k is finite, but x_k_v is not.
+        for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+          const N& x_k_i = x_k[i];
+          if (!is_plus_infinity(x_k_i)) {
+            add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
+            min_assign(x_v[i], sum);
+          }
+        }
+      }
+    }
+    else if (x_k_v_finite) {
+      // Here x_v_k is infinite, but x_k_v is finite.
+      for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+        DB_Row<N>& x_i = x.dbm[i];
+        const N& x_i_k = x_i[k];
+        if (!is_plus_infinity(x_i_k)) {
+          add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
+          min_assign(x_i[v], sum);
+        }
+      }
+    }
+    else
+      // Here both x_v_k and x_k_v are infinite.
+      continue;
+  }
 
-  //! Returns the maximum space dimension that an OS can handle.
-  static dimension_type max_space_dimension();
+  // Step 2: improve the other bounds by using the precise bounds
+  // for the constraints on `var'.
+  for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
+    DB_Row<N>& x_i = x.dbm[i];
+    const N& x_i_v = x_i[v];
+    if (!is_plus_infinity(x_i_v)) {
+      for (dimension_type j = num_dimensions + 1; j-- > 0; ) {
+        const N& x_v_j = x_v[j];
+        if (!is_plus_infinity(x_v_j)) {
+          add_assign_r(sum, x_i_v, x_v_j, ROUND_UP);
+          min_assign(x_i[j], sum);
+        }
+      }
+    }
+  }
 
-  /*! \brief
-    Returns false indicating that this domain cannot recycle constraints
-  */
-  static bool can_recycle_constraint_systems();
+  // Check for emptiness: the BDS is empty if and only if there is a
+  // negative value on the main diagonal of `dbm'.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    N& x_dbm_hh = x.dbm[h][h];
+    if (sgn(x_dbm_hh) < 0) {
+      x.set_empty();
+      return;
+    }
+    else {
+      PPL_ASSERT(sgn(x_dbm_hh) == 0);
+      // Restore PLUS_INFINITY on the main diagonal.
+      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
 
-  /*! \brief
-    Returns false indicating that this domain cannot recycle congruences
-  */
-  static bool can_recycle_congruence_systems();
+  // The BDS is not empty and it is now shortest-path closed.
+  x.set_shortest_path_closed();
+}
 
-  //! \name Constructors, Assignment, Swap and Destructor
-  //@{
+template <typename T>
+void
+BD_Shape<T>::shortest_path_reduction_assign() const {
+  // Do something only if necessary.
+  if (marked_shortest_path_reduced())
+    return;
 
-  //! Builds an universe or empty OS of the specified space dimension.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the OS;
+  const dimension_type space_dim = space_dimension();
+  // Zero-dimensional BDSs are necessarily reduced.
+  if (space_dim == 0)
+    return;
 
-    \param kind
-    Specifies whether the universe or the empty OS has to be built.
-  */
-  explicit Octagonal_Shape(dimension_type num_dimensions = 0,
-                           Degenerate_Element kind = UNIVERSE);
+  // First find the tightest constraints for this BDS.
+  shortest_path_closure_assign();
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Octagonal_Shape(const Octagonal_Shape& x,
-                  Complexity_Class complexity = ANY_COMPLEXITY);
+  // If `*this' is empty, then there is nothing to reduce.
+  if (marked_empty())
+    return;
 
-  //! Builds a conservative, upward approximation of \p y.
-  /*!
-    The complexity argument is ignored.
-  */
-  template <typename U>
-  explicit Octagonal_Shape(const Octagonal_Shape<U>& y,
-                           Complexity_Class complexity = ANY_COMPLEXITY);
+  // Step 1: compute zero-equivalence classes.
+  // Variables corresponding to indices `i' and `j' are zero-equivalent
+  // if they lie on a zero-weight loop; since the matrix is shortest-path
+  // closed, this happens if and only if dbm[i][j] == -dbm[j][i].
+  std::vector<dimension_type> predecessor;
+  compute_predecessors(predecessor);
+  std::vector<dimension_type> leaders;
+  compute_leader_indices(predecessor, leaders);
+  const dimension_type num_leaders = leaders.size();
 
-  //! Builds an OS from the system of constraints \p cs.
-  /*!
-    The OS inherits the space dimension of \p cs.
+  Bit_Matrix redundancy(space_dim + 1, space_dim + 1);
+  // Init all constraints to be redundant.
+  // TODO: provide an appropriate method to set multiple bits.
+  Bit_Row& red_0 = redundancy[0];
+  for (dimension_type j = space_dim + 1; j-- > 0; )
+    red_0.set(j);
+  for (dimension_type i = space_dim + 1; i-- > 0; )
+    redundancy[i] = red_0;
 
-    \param cs
-    A system of octagonal constraints.
+  // Step 2: flag non-redundant constraints in the (zero-cycle-free)
+  // subsystem of bounded differences having only leaders as variables.
+  PPL_DIRTY_TEMP(N, c);
+  for (dimension_type l_i = 0; l_i < num_leaders; ++l_i) {
+    const dimension_type i = leaders[l_i];
+    const DB_Row<N>& dbm_i = dbm[i];
+    Bit_Row& redundancy_i = redundancy[i];
+    for (dimension_type l_j = 0; l_j < num_leaders; ++l_j) {
+      const dimension_type j = leaders[l_j];
+      if (redundancy_i[j]) {
+        const N& dbm_i_j = dbm_i[j];
+        redundancy_i.clear(j);
+        for (dimension_type l_k = 0; l_k < num_leaders; ++l_k) {
+          const dimension_type k = leaders[l_k];
+          add_assign_r(c, dbm_i[k], dbm[k][j], ROUND_UP);
+          if (dbm_i_j >= c) {
+            redundancy_i.set(j);
+            break;
+          }
+        }
+      }
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p cs contains a constraint which is not optimally supported
-    by the Octagonal shape domain.
-  */
-  explicit Octagonal_Shape(const Constraint_System& cs);
+  // Step 3: flag non-redundant constraints in zero-equivalence classes.
+  // Each equivalence class must have a single 0-cycle connecting
+  // all the equivalent variables in increasing order.
+  std::deque<bool> dealt_with(space_dim + 1, false);
+  for (dimension_type i = space_dim + 1; i-- > 0; )
+    // We only need to deal with non-singleton zero-equivalence classes
+    // that haven't already been dealt with.
+    if (i != predecessor[i] && !dealt_with[i]) {
+      dimension_type j = i;
+      while (true) {
+        const dimension_type predecessor_j = predecessor[j];
+        if (j == predecessor_j) {
+          // We finally found the leader of `i'.
+          PPL_ASSERT(redundancy[i][j]);
+          redundancy[i].clear(j);
+          // Here we dealt with `j' (i.e., `predecessor_j'), but it is useless
+          // to update `dealt_with' because `j' is a leader.
+          break;
+        }
+        // We haven't found the leader of `i' yet.
+        PPL_ASSERT(redundancy[predecessor_j][j]);
+        redundancy[predecessor_j].clear(j);
+        dealt_with[predecessor_j] = true;
+        j = predecessor_j;
+      }
+    }
 
-  //! Builds an OS from a system of congruences.
-  /*!
-    The OS inherits the space dimension of \p cgs
+  // Even though shortest-path reduction is not going to change the BDS,
+  // it might change its internal representation.
+  BD_Shape<T>& x = const_cast<BD_Shape<T>&>(*this);
+  using std::swap;
+  swap(x.redundancy_dbm, redundancy);
+  x.set_shortest_path_reduced();
 
-    \param cgs
-    A system of congruences.
+  PPL_ASSERT(is_shortest_path_reduced());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p cgs contains a congruence which is not optimally supported
-    by the Octagonal shape domain.
-  */
-  explicit Octagonal_Shape(const Congruence_System& cgs);
+template <typename T>
+void
+BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
+  const dimension_type space_dim = space_dimension();
 
-  //! Builds an OS from the system of generators \p gs.
-  /*!
-    Builds the smallest OS containing the polyhedron defined by \p gs.
-    The OS inherits the space dimension of \p gs.
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("upper_bound_assign(y)", y);
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit Octagonal_Shape(const Generator_System& gs);
+  // The upper bound of a BD shape `bd' with an empty shape is `bd'.
+  y.shortest_path_closure_assign();
+  if (y.marked_empty())
+    return;
+  shortest_path_closure_assign();
+  if (marked_empty()) {
+    *this = y;
+    return;
+  }
 
-  //! Builds an OS from the polyhedron \p ph.
-  /*!
-    Builds an OS containing \p ph using algorithms whose complexity
-    does not exceed the one specified by \p complexity.  If
-    \p complexity is \p ANY_COMPLEXITY, then the OS built is the
-    smallest one containing \p ph.
-  */
-  explicit Octagonal_Shape(const Polyhedron& ph,
-                           Complexity_Class complexity = ANY_COMPLEXITY);
+  // The bds-hull consists in constructing `*this' with the maximum
+  // elements selected from `*this' and `y'.
+  PPL_ASSERT(space_dim == 0 || marked_shortest_path_closed());
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      N& dbm_ij = dbm_i[j];
+      const N& y_dbm_ij = y_dbm_i[j];
+      if (dbm_ij < y_dbm_ij)
+        dbm_ij = y_dbm_ij;
+    }
+  }
+  // Shortest-path closure is maintained (if it was holding).
+  // TODO: see whether reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+  PPL_ASSERT(OK());
+}
+
+template <typename T>
+bool
+BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const BD_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
-  //! Builds an OS out of a box.
-  /*!
-    The OS inherits the space dimension of the box.
-    The built OS is the most precise OS that includes the box.
+  // Private method: the caller must ensure the following.
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
-    \param box
-    The box representing the OS to be built.
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
+  // If `x' or `y' is (known to be) empty, the upper bound is exact.
+  if (x.marked_empty()) {
+    *this = y;
+    return true;
+  }
+  else if (y.is_empty())
+    return true;
+  else if (x.is_empty()) {
+    *this = y;
+    return true;
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  // Here both `x' and `y' are known to be non-empty.
+  // Implementation based on Algorithm 4.1 (page 6) in [BemporadFT00TR],
+  // tailored to the special case of BD shapes.
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename Interval>
-  explicit Octagonal_Shape(const Box<Interval>& box,
-                           Complexity_Class complexity = ANY_COMPLEXITY);
+  Variable epsilon(x_space_dim);
+  Linear_Expression zero_expr;
+  zero_expr.set_space_dimension(x_space_dim + 1);
+  Linear_Expression db_expr;
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
 
-  //! Builds an OS that approximates a grid.
-  /*!
-    The OS inherits the space dimension of the grid.
-    The built OS is the most precise OS that includes the grid.
+  // Step 1: compute the constraint system for the envelope env(x,y)
+  // and put into x_cs_removed and y_cs_removed those non-redundant
+  // constraints that are not in the constraint system for env(x,y).
+  // While at it, also add the additional space dimension (epsilon).
+  Constraint_System env_cs;
+  Constraint_System x_cs_removed;
+  Constraint_System y_cs_removed;
+  x.shortest_path_reduction_assign();
+  y.shortest_path_reduction_assign();
+  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
+    const Bit_Row& x_red_i = x.redundancy_dbm[i];
+    const Bit_Row& y_red_i = y.redundancy_dbm[i];
+    const DB_Row<N>& x_dbm_i = x.dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = x_space_dim + 1; j-- > 0; ) {
+      if (x_red_i[j] && y_red_i[j])
+        continue;
+      if (!x_red_i[j]) {
+        const N& x_dbm_ij = x_dbm_i[j];
+        PPL_ASSERT(!is_plus_infinity(x_dbm_ij));
+        numer_denom(x_dbm_ij, numer, denom);
+        // Build skeleton DB constraint (having the right space dimension).
+        db_expr = zero_expr;
+        if (i > 0)
+          db_expr += Variable(i-1);
+        if (j > 0)
+          db_expr -= Variable(j-1);
+        if (denom != 1)
+          db_expr *= denom;
+        db_expr += numer;
+        if (x_dbm_ij >= y_dbm_i[j])
+          env_cs.insert(db_expr >= 0);
+        else {
+          db_expr += epsilon;
+          x_cs_removed.insert(db_expr == 0);
+        }
+      }
+      if (!y_red_i[j]) {
+        const N& y_dbm_ij = y_dbm_i[j];
+        const N& x_dbm_ij = x_dbm_i[j];
+        PPL_ASSERT(!is_plus_infinity(y_dbm_ij));
+        numer_denom(y_dbm_ij, numer, denom);
+        // Build skeleton DB constraint (having the right space dimension).
+        db_expr = zero_expr;
+        if (i > 0)
+          db_expr += Variable(i-1);
+        if (j > 0)
+          db_expr -= Variable(j-1);
+        if (denom != 1)
+          db_expr *= denom;
+        db_expr += numer;
+        if (y_dbm_ij >= x_dbm_ij) {
+          // Check if same constraint was added when considering x_dbm_ij.
+          if (!x_red_i[j] && x_dbm_ij == y_dbm_ij)
+            continue;
+          env_cs.insert(db_expr >= 0);
+        }
+        else {
+          db_expr += epsilon;
+          y_cs_removed.insert(db_expr == 0);
+        }
+      }
+    }
+  }
 
-    \param grid
-    The grid used to build the OS.
+  if (x_cs_removed.empty())
+    // No constraint of x was removed: y is included in x.
+    return true;
+  if (y_cs_removed.empty()) {
+    // No constraint of y was removed: x is included in y.
+    *this = y;
+    return true;
+  }
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  // In preparation to Step 4: build the common part of LP problems,
+  // i.e., the constraints corresponding to env(x,y),
+  // where the additional space dimension (epsilon) has to be maximized.
+  MIP_Problem env_lp(x_space_dim + 1, env_cs, epsilon, MAXIMIZATION);
+  // Pre-solve `env_lp' to later exploit incrementality.
+  env_lp.solve();
+  PPL_ASSERT(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p grid exceeds the maximum
-    allowed space dimension.
-  */
-  explicit Octagonal_Shape(const Grid& grid,
-                           Complexity_Class complexity = ANY_COMPLEXITY);
+  // Implementing loop in Steps 3-6.
+  for (Constraint_System::const_iterator i = x_cs_removed.begin(),
+         i_end = x_cs_removed.end(); i != i_end; ++i) {
+    MIP_Problem lp_i(env_lp);
+    lp_i.add_constraint(*i);
+    // Pre-solve to exploit incrementality.
+    if (lp_i.solve() == UNFEASIBLE_MIP_PROBLEM)
+      continue;
+    for (Constraint_System::const_iterator j = y_cs_removed.begin(),
+           j_end = y_cs_removed.end(); j != j_end; ++j) {
+      MIP_Problem lp_ij(lp_i);
+      lp_ij.add_constraint(*j);
+      // Solve and check for a positive optimal value.
+      switch (lp_ij.solve()) {
+      case UNFEASIBLE_MIP_PROBLEM:
+        // CHECKME: is the following actually impossible?
+        PPL_UNREACHABLE;
+        return false;
+      case UNBOUNDED_MIP_PROBLEM:
+        return false;
+      case OPTIMIZED_MIP_PROBLEM:
+        lp_ij.optimal_value(numer, denom);
+        if (numer > 0)
+          return false;
+        break;
+      }
+    }
+  }
 
-  //! Builds an OS from a BD shape.
-  /*!
-    The OS inherits the space dimension of the BD shape.
-    The built OS is the most precise OS that includes the BD shape.
+  // The upper bound of x and y is indeed exact.
+  upper_bound_assign(y);
+  PPL_ASSERT(OK());
+  return true;
+}
 
-    \param bd
-    The BD shape used to build the OS.
+template <typename T>
+template <bool integer_upper_bound>
+bool
+BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
+  PPL_COMPILE_TIME_CHECK(!integer_upper_bound
+                         || std::numeric_limits<T>::is_integer,
+                         "BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(y):"
+                         " instantiating for integer upper bound,"
+                         " but T in not an integer datatype.");
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  // FIXME, CHECKME: what about inexact computations?
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const BD_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
-    \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename U>
-  explicit Octagonal_Shape(const BD_Shape<U>& bd,
-                           Complexity_Class complexity = ANY_COMPLEXITY);
+  // Private method: the caller must ensure the following.
+  PPL_ASSERT(x_space_dim == y.space_dimension());
 
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  Octagonal_Shape& operator=(const Octagonal_Shape& y);
+  // The zero-dim case is trivial.
+  if (x_space_dim == 0) {
+    upper_bound_assign(y);
+    return true;
+  }
+  // If `x' or `y' is (known to be) empty, the upper bound is exact.
+  if (x.marked_empty()) {
+    *this = y;
+    return true;
+  }
+  else if (y.is_empty())
+    return true;
+  else if (x.is_empty()) {
+    *this = y;
+    return true;
+  }
 
-  /*! \brief
-    Swaps \p *this with octagon \p y.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  void swap(Octagonal_Shape& y);
+  // Here both `x' and `y' are known to be non-empty.
+  x.shortest_path_reduction_assign();
+  y.shortest_path_reduction_assign();
+  PPL_ASSERT(x.marked_shortest_path_closed());
+  PPL_ASSERT(y.marked_shortest_path_closed());
+  // Pre-compute the upper bound of `x' and `y'.
+  BD_Shape<T> ub(x);
+  ub.upper_bound_assign(y);
 
-  //! Destructor.
-  ~Octagonal_Shape();
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, temp_one);
+  if (integer_upper_bound)
+    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
 
-  //@} Constructors, Assignment, Swap and Destructor
+  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
+    const DB_Row<N>& x_i = x.dbm[i];
+    const Bit_Row& x_red_i = x.redundancy_dbm[i];
+    const DB_Row<N>& y_i = y.dbm[i];
+    const DB_Row<N>& ub_i = ub.dbm[i];
+    for (dimension_type j = x_space_dim + 1; j-- > 0; ) {
+      // Check redundancy of x_i_j.
+      if (x_red_i[j])
+        continue;
+      // By non-redundancy, we know that i != j.
+      PPL_ASSERT(i != j);
+      const N& x_i_j = x_i[j];
+      if (x_i_j < y_i[j]) {
+        for (dimension_type k = x_space_dim + 1; k-- > 0; ) {
+          const DB_Row<N>& x_k = x.dbm[k];
+          const DB_Row<N>& y_k = y.dbm[k];
+          const Bit_Row& y_red_k = y.redundancy_dbm[k];
+          const DB_Row<N>& ub_k = ub.dbm[k];
+          const N& ub_k_j = (k == j) ? temp_zero : ub_k[j];
+          for (dimension_type ell = x_space_dim + 1; ell-- > 0; ) {
+            // Check redundancy of y_k_ell.
+            if (y_red_k[ell])
+              continue;
+            // By non-redundancy, we know that k != ell.
+            PPL_ASSERT(k != ell);
+            const N& y_k_ell = y_k[ell];
+            if (y_k_ell < x_k[ell]) {
+              // The first condition in BHZ09 theorem holds;
+              // now check for the second condition.
+              add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
+              const N& ub_i_ell = (i == ell) ? temp_zero : ub_i[ell];
+              add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
+              if (integer_upper_bound) {
+                // Note: adding 1 rather than 2 (as in Theorem 5.3)
+                // so as to later test for < rather than <=.
+                add_assign_r(lhs, lhs, temp_one, ROUND_NOT_NEEDED);
+              }
+              // Testing for < in both the rational and integer case.
+              if (lhs < rhs)
+                return false;
+            }
+          }
+        }
+      }
+    }
+  }
+  // The upper bound of x and y is indeed exact.
+  m_swap(ub);
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  //! \name Member Functions that Do Not Modify the Octagonal_Shape
-  //@{
+template <typename T>
+void
+BD_Shape<T>::difference_assign(const BD_Shape& y) {
+  const dimension_type space_dim = space_dimension();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("difference_assign(y)", y);
 
-  /*! \brief
-    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
-    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
-    of \p *this.
-  */
-  dimension_type affine_dimension() const;
+  BD_Shape new_bd_shape(space_dim, EMPTY);
 
-  //! Returns the system of constraints defining \p *this.
-  Constraint_System constraints() const;
+  BD_Shape& x = *this;
 
-  //! Returns a minimized system of constraints defining \p *this.
-  Constraint_System minimized_constraints() const;
+  x.shortest_path_closure_assign();
+  // The difference of an empty bounded difference shape
+  // and of a bounded difference shape `p' is empty.
+  if (x.marked_empty())
+    return;
+  y.shortest_path_closure_assign();
+  // The difference of a bounded difference shape `p'
+  // and an empty bounded difference shape is `p'.
+  if (y.marked_empty())
+    return;
 
-  //! Returns a system of (equality) congruences satisfied by \p *this.
-  Congruence_System congruences() const;
+  // If both bounded difference shapes are zero-dimensional,
+  // then at this point they are necessarily universe system of
+  // bounded differences, so that their difference is empty.
+  if (space_dim == 0) {
+    x.set_empty();
+    return;
+  }
 
-  /*! \brief
-    Returns a minimal system of (equality) congruences
-    satisfied by \p *this with the same affine dimension as \p *this.
-  */
-  Congruence_System minimized_congruences() const;
+  // TODO: This is just an executable specification.
+  //       Have to find a more efficient method.
+  if (y.contains(x)) {
+    x.set_empty();
+    return;
+  }
 
-  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool contains(const Octagonal_Shape& y) const;
+  // We take a constraint of the system y at the time and we
+  // consider its complementary. Then we intersect the union
+  // of these complementary constraints with the system x.
+  const Constraint_System& y_cs = y.constraints();
+  for (Constraint_System::const_iterator i = y_cs.begin(),
+         y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
+    const Constraint& c = *i;
+    // If the bounded difference shape `x' is included
+    // in the bounded difference shape defined by `c',
+    // then `c' _must_ be skipped, as adding its complement to `x'
+    // would result in the empty bounded difference shape,
+    // and as we would obtain a result that is less precise
+    // than the bds-difference.
+    if (x.relation_with(c).implies(Poly_Con_Relation::is_included()))
+      continue;
+    BD_Shape z = x;
+    const Linear_Expression e = Linear_Expression(c);
+    z.add_constraint(e <= 0);
+    if (!z.is_empty())
+      new_bd_shape.upper_bound_assign(z);
+    if (c.is_equality()) {
+      z = x;
+      z.add_constraint(e >= 0);
+      if (!z.is_empty())
+        new_bd_shape.upper_bound_assign(z);
+    }
+  }
+  *this = new_bd_shape;
+  PPL_ASSERT(OK());
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const Octagonal_Shape& y) const;
+template <typename T>
+bool
+BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
+  BD_Shape& x = *this;
+  const dimension_type dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (dim != y.space_dimension())
+    throw_dimension_incompatible("simplify_using_context_assign(y)", y);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool is_disjoint_from(const Octagonal_Shape& y) const;
+  // Filter away the zero-dimensional case.
+  if (dim == 0) {
+    if (y.marked_empty()) {
+      x.set_zero_dim_univ();
+      return false;
+    }
+    else
+      return !x.marked_empty();
+  }
 
-  /*! \brief
-    Returns the relations holding between \p *this and the constraint \p c.
+  // Filter away the case where `x' contains `y'
+  // (this subsumes the case when `y' is empty).
+  y.shortest_path_closure_assign();
+  if (x.contains(y)) {
+    BD_Shape<T> res(dim, UNIVERSE);
+    x.m_swap(res);
+    return false;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  // Filter away the case where `x' is empty.
+  x.shortest_path_closure_assign();
+  if (x.marked_empty()) {
+    // Search for a constraint of `y' that is not a tautology.
+    dimension_type i;
+    dimension_type j;
+    // Prefer unary constraints.
+    i = 0;
+    const DB_Row<N>& y_dbm_0 = y.dbm[0];
+    for (j = 1; j <= dim; ++j) {
+      if (!is_plus_infinity(y_dbm_0[j]))
+        // FIXME: if N is a float or bounded integer type, then
+        // we also need to check that we are actually able to construct
+        // a constraint inconsistent with respect to this one.
+        goto found;
+    }
+    j = 0;
+    for (i = 1; i <= dim; ++i) {
+      if (!is_plus_infinity(y.dbm[i][0]))
+        // FIXME: if N is a float or bounded integer type, then
+        // we also need to check that we are actually able to construct
+        // a constraint inconsistent with respect to this one.
+        goto found;
+    }
+    // Then search binary constraints.
+    for (i = 1; i <= dim; ++i) {
+      const DB_Row<N>& y_dbm_i = y.dbm[i];
+      for (j = 1; j <= dim; ++j)
+        if (!is_plus_infinity(y_dbm_i[j]))
+          // FIXME: if N is a float or bounded integer type, then
+          // we also need to check that we are actually able to construct
+          // a constraint inconsistent with respect to this one.
+          goto found;
+    }
+    // Not found: we were not able to build a constraint contradicting
+    // one of the constraints in `y': `x' cannot be enlarged.
+    return false;
 
-  /*! \brief
-    Returns the relations holding between \p *this and the congruence \p cg.
+  found:
+    // Found: build a new BDS contradicting the constraint found.
+    PPL_ASSERT(i <= dim && j <= dim && (i > 0 || j > 0));
+    BD_Shape<T> res(dim, UNIVERSE);
+    PPL_DIRTY_TEMP(N, tmp);
+    assign_r(tmp, 1, ROUND_UP);
+    add_assign_r(tmp, tmp, y.dbm[i][j], ROUND_UP);
+    PPL_ASSERT(!is_plus_infinity(tmp));
+    // CHECKME: round down is really meant.
+    neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN);
+    x.m_swap(res);
+    return false;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+  // Here `x' and `y' are not empty and shortest-path closed;
+  // also, `x' does not contain `y'.
+  // Let `target' be the intersection of `x' and `y'.
+  BD_Shape<T> target = x;
+  target.intersection_assign(y);
+  const bool bool_result = !target.is_empty();
 
-  /*! \brief
-    Returns the relations holding between \p *this and the generator \p g.
+  // Compute a reduced dbm for `x' and ...
+  x.shortest_path_reduction_assign();
+  // ... count the non-redundant constraints.
+  dimension_type x_num_non_redundant = (dim+1)*(dim+1);
+  for (dimension_type i = dim + 1; i-- > 0; )
+    x_num_non_redundant -= x.redundancy_dbm[i].count_ones();
+  PPL_ASSERT(x_num_non_redundant > 0);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
-  */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+  // Let `yy' be a copy of `y': we will keep adding to `yy'
+  // the non-redundant constraints of `x',
+  // stopping as soon as `yy' becomes equal to `target'.
+  BD_Shape<T> yy = y;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is an empty OS.
-  bool is_empty() const;
+  // The constraints added to `yy' will be recorded in `res' ...
+  BD_Shape<T> res(dim, UNIVERSE);
+  // ... and we will count them too.
+  dimension_type res_num_non_redundant = 0;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a universe OS.
-  bool is_universe() const;
+  // Compute leader information for `x'.
+  std::vector<dimension_type> x_leaders;
+  x.compute_leaders(x_leaders);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
+  // First go through the unary equality constraints.
+  const DB_Row<N>& x_dbm_0 = x.dbm[0];
+  DB_Row<N>& yy_dbm_0 = yy.dbm[0];
+  DB_Row<N>& res_dbm_0 = res.dbm[0];
+  for (dimension_type j = 1; j <= dim; ++j) {
+    // Unary equality constraints are encoded in entries dbm_0j and dbm_j0
+    // provided index j has special variable index 0 as its leader.
+    if (x_leaders[j] != 0)
+      continue;
+    PPL_ASSERT(!is_plus_infinity(x_dbm_0[j]));
+    if (x_dbm_0[j] < yy_dbm_0[j]) {
+      res_dbm_0[j] = x_dbm_0[j];
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy_dbm_0[j] = x_dbm_0[j];
+      yy.reset_shortest_path_closed();
+    }
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][0]));
+    if (x.dbm[j][0] < yy.dbm[j][0]) {
+      res.dbm[j][0] = x.dbm[j][0];
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy.dbm[j][0] = x.dbm[j][0];
+      yy.reset_shortest_path_closed();
+    }
+    // Restore shortest-path closure, if it was lost.
+    if (!yy.marked_shortest_path_closed()) {
+      Variable var_j(j-1);
+      yy.incremental_shortest_path_closure_assign(var_j);
+      if (target.contains(yy)) {
+        // Target reached: swap `x' and `res' if needed.
+        if (res_num_non_redundant < x_num_non_redundant) {
+          res.reset_shortest_path_closed();
+          x.m_swap(res);
+        }
+        return bool_result;
+      }
+    }
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a bounded OS.
-  */
-  bool is_bounded() const;
+  // Go through the binary equality constraints.
+  // Note: no need to consider the case i == 1.
+  for (dimension_type i = 2; i <= dim; ++i) {
+    const dimension_type j = x_leaders[i];
+    if (j == i || j == 0)
+      continue;
+    PPL_ASSERT(!is_plus_infinity(x.dbm[i][j]));
+    if (x.dbm[i][j] < yy.dbm[i][j]) {
+      res.dbm[i][j] = x.dbm[i][j];
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy.dbm[i][j] = x.dbm[i][j];
+      yy.reset_shortest_path_closed();
+    }
+    PPL_ASSERT(!is_plus_infinity(x.dbm[j][i]));
+    if (x.dbm[j][i] < yy.dbm[j][i]) {
+      res.dbm[j][i] = x.dbm[j][i];
+      ++res_num_non_redundant;
+      // Tighten context `yy' using the newly added constraint.
+      yy.dbm[j][i] = x.dbm[j][i];
+      yy.reset_shortest_path_closed();
+    }
+    // Restore shortest-path closure, if it was lost.
+    if (!yy.marked_shortest_path_closed()) {
+      Variable var_j(j-1);
+      yy.incremental_shortest_path_closure_assign(var_j);
+      if (target.contains(yy)) {
+        // Target reached: swap `x' and `res' if needed.
+        if (res_num_non_redundant < x_num_non_redundant) {
+          res.reset_shortest_path_closed();
+          x.m_swap(res);
+        }
+        return bool_result;
+      }
+    }
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a topologically closed subset of the vector space.
-  */
-  bool is_topologically_closed() const;
+  // Finally go through the (proper) inequality constraints:
+  // both indices i and j should be leaders.
+  for (dimension_type i = 0; i <= dim; ++i) {
+    if (i != x_leaders[i])
+      continue;
+    const DB_Row<N>& x_dbm_i = x.dbm[i];
+    const Bit_Row& x_redundancy_dbm_i = x.redundancy_dbm[i];
+    DB_Row<N>& yy_dbm_i = yy.dbm[i];
+    DB_Row<N>& res_dbm_i = res.dbm[i];
+    for (dimension_type j = 0; j <= dim; ++j) {
+      if (j != x_leaders[j] || x_redundancy_dbm_i[j])
+        continue;
+      N& yy_dbm_ij = yy_dbm_i[j];
+      const N& x_dbm_ij = x_dbm_i[j];
+      if (x_dbm_ij < yy_dbm_ij) {
+        res_dbm_i[j] = x_dbm_ij;
+        ++res_num_non_redundant;
+        // Tighten context `yy' using the newly added constraint.
+        yy_dbm_ij = x_dbm_ij;
+        yy.reset_shortest_path_closed();
+        PPL_ASSERT(i > 0 || j > 0);
+        Variable var(((i > 0) ? i : j) - 1);
+        yy.incremental_shortest_path_closure_assign(var);
+        if (target.contains(yy)) {
+          // Target reached: swap `x' and `res' if needed.
+          if (res_num_non_redundant < x_num_non_redundant) {
+            res.reset_shortest_path_closed();
+            x.m_swap(res);
+          }
+          return bool_result;
+        }
+      }
+    }
+  }
+  // This point should be unreachable.
+  PPL_UNREACHABLE;
+  return false;
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains (at least) an integer point.
-  */
-  bool contains_integer_point() const;
+template <typename T>
+void
+BD_Shape<T>::add_space_dimensions_and_embed(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type new_space_dim = space_dim + m;
+  const bool was_zero_dim_univ = (!marked_empty() && space_dim == 0);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+  // To embed an n-dimension space BDS in a (n+m)-dimension space,
+  // we just add `m' rows and columns in the bounded difference shape,
+  // initialized to PLUS_INFINITY.
+  dbm.grow(new_space_dim + 1);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+  // Shortest-path closure is maintained (if it was holding).
+  // TODO: see whether reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  // If `*this' was the zero-dim space universe BDS,
+  // the we can set the shortest-path closure flag.
+  if (was_zero_dim_univ)
+    set_shortest_path_closed();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+template <typename T>
+void
+BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value is computed.
+  const dimension_type space_dim = space_dimension();
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  // If `*this' was zero-dimensional, then we add `m' rows and columns.
+  // If it also was non-empty, then we zero all the added elements
+  // and set the flag for shortest-path closure.
+  if (space_dim == 0) {
+    dbm.grow(m + 1);
+    if (!marked_empty()) {
+      for (dimension_type i = m + 1; i-- > 0; ) {
+        DB_Row<N>& dbm_i = dbm[i];
+        for (dimension_type j = m + 1; j-- > 0; )
+          if (i != j)
+            assign_r(dbm_i[j], 0, ROUND_NOT_NEEDED);
+      }
+      set_shortest_path_closed();
+    }
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param sup_n
-    The numerator of the supremum value;
+  // To project an n-dimension space bounded difference shape
+  // in a (n+m)-dimension space, we add `m' rows and columns.
+  // In the first row and column of the matrix we add `zero' from
+  // the (n+1)-th position to the end.
+  const dimension_type new_space_dim = space_dim + m;
+  dbm.grow(new_space_dim + 1);
 
-    \param sup_d
-    The denominator of the supremum value;
+  // Bottom of the matrix and first row.
+  DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = space_dim + 1; i <= new_space_dim; ++i) {
+    assign_r(dbm[i][0], 0, ROUND_NOT_NEEDED);
+    assign_r(dbm_0[i], 0, ROUND_NOT_NEEDED);
+  }
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+  if (marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename T>
+void
+BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
+  // The removal of no dimensions from any BDS is a no-op.
+  // Note that this case also captures the only legal removal of
+  // space dimensions from a BDS in a 0-dim space.
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
-    and \p maximum are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-                Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  const dimension_type old_space_dim = space_dimension();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value and a point where \p expr reaches it are computed.
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (old_space_dim < min_space_dim)
+    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  // Shortest-path closure is necessary to keep precision.
+  shortest_path_closure_assign();
 
-    \param sup_n
-    The numerator of the supremum value;
+  // When removing _all_ dimensions from a BDS, we obtain the
+  // zero-dimensional BDS.
+  const dimension_type new_space_dim = old_space_dim - vars.size();
+  if (new_space_dim == 0) {
+    dbm.resize_no_copy(1);
+    if (!marked_empty())
+      // We set the zero_dim_univ flag.
+      set_zero_dim_univ();
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param sup_d
-    The denominator of the supremum value;
+  // Handle the case of an empty BD_Shape.
+  if (marked_empty()) {
+    dbm.resize_no_copy(new_space_dim + 1);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+  // Shortest-path closure is maintained.
+  // TODO: see whether reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+  // For each variable to remove, we fill the corresponding column and
+  // row by shifting respectively left and above those
+  // columns and rows, that will not be removed.
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi + 1;
+  dimension_type src = dst + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi + 1;
+    // All other columns and rows are moved respectively to the left
+    // and above.
+    while (src < vsi_next) {
+      using std::swap;
+      swap(dbm[dst], dbm[src]);
+      for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
+        DB_Row<N>& dbm_i = dbm[i];
+        assign_or_swap(dbm_i[dst], dbm_i[src]);
+      }
+      ++dst;
+      ++src;
+    }
+    ++src;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // Moving the remaining rows and columns.
+  while (src <= old_space_dim) {
+    using std::swap;
+    swap(dbm[dst], dbm[src]);
+    for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
+      DB_Row<N>& dbm_i = dbm[i];
+      assign_or_swap(dbm_i[dst], dbm_i[src]);
+    }
+    ++src;
+    ++dst;
+  }
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p g are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-                Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-                Generator& g) const;
+  // Update the space dimension.
+  dbm.resize_no_copy(new_space_dim + 1);
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value is computed.
+template <typename T>
+template <typename Partial_Function>
+void
+BD_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
+  const dimension_type space_dim = space_dimension();
+  // TODO: this implementation is just an executable specification.
+  if (space_dim == 0)
+    return;
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the BDS becomes zero_dimensional.
+    remove_higher_space_dimensions(0);
+    return;
+  }
 
-    \param inf_n
-    The numerator of the infimum value;
+  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
+  // If we are going to actually reduce the space dimension,
+  // then shortest-path closure is required to keep precision.
+  if (new_space_dim < space_dim)
+    shortest_path_closure_assign();
 
-    \param inf_d
-    The denominator of the infimum value;
+  // If the BDS is empty, then it is sufficient to adjust the
+  // space dimension of the bounded difference shape.
+  if (marked_empty()) {
+    remove_higher_space_dimensions(new_space_dim);
+    return;
+  }
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+  // Shortest-path closure is maintained (if it was holding).
+  // TODO: see whether reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // We create a new matrix with the new space dimension.
+  DB_Matrix<N> x(new_space_dim+1);
+  // First of all we must map the unary constraints, because
+  // there is the fictitious variable `zero', that can't be mapped
+  // at all.
+  DB_Row<N>& dbm_0 = dbm[0];
+  DB_Row<N>& x_0 = x[0];
+  for (dimension_type j = 1; j <= space_dim; ++j) {
+    dimension_type new_j;
+    if (pfunc.maps(j - 1, new_j)) {
+      assign_or_swap(x_0[new_j + 1], dbm_0[j]);
+      assign_or_swap(x[new_j + 1][0], dbm[j][0]);
+    }
+  }
+  // Now we map the binary constraints, exchanging the indexes.
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    dimension_type new_i;
+    if (pfunc.maps(i - 1, new_i)) {
+      DB_Row<N>& dbm_i = dbm[i];
+      ++new_i;
+      DB_Row<N>& x_new_i = x[new_i];
+      for (dimension_type j = i+1; j <= space_dim; ++j) {
+        dimension_type new_j;
+        if (pfunc.maps(j - 1, new_j)) {
+          ++new_j;
+          assign_or_swap(x_new_i[new_j], dbm_i[j]);
+          assign_or_swap(x[new_j][new_i], dbm[j][i]);
+        }
+      }
+    }
+  }
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-                Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+  using std::swap;
+  swap(dbm, x);
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value and a point where \p expr reaches it are computed.
+template <typename T>
+void
+BD_Shape<T>::intersection_assign(const BD_Shape& y) {
+  const dimension_type space_dim = space_dimension();
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("intersection_assign(y)", y);
 
-    \param inf_n
-    The numerator of the infimum value;
+  // If one of the two bounded difference shapes is empty,
+  // the intersection is empty.
+  if (marked_empty())
+    return;
+  if (y.marked_empty()) {
+    set_empty();
+    return;
+  }
 
-    \param inf_d
-    The denominator of the infimum value;
+  // If both bounded difference shapes are zero-dimensional,
+  // then at this point they are necessarily non-empty,
+  // so that their intersection is non-empty too.
+  if (space_dim == 0)
+    return;
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+  // To intersect two bounded difference shapes we compare
+  // the constraints and we choose the less values.
+  bool changed = false;
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      N& dbm_ij = dbm_i[j];
+      const N& y_dbm_ij = y_dbm_i[j];
+      if (dbm_ij > y_dbm_ij) {
+        dbm_ij = y_dbm_ij;
+        changed = true;
+      }
+    }
+  }
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+  if (changed && marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename T>
+template <typename Iterator>
+void
+BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
+                                       Iterator first, Iterator last,
+                                       unsigned* tp) {
+  const dimension_type space_dim = space_dimension();
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p g are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-                Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-                Generator& g) const;
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if there exist a
-    unique value \p val such that \p *this
-    saturates the equality <CODE>expr = val</CODE>.
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \param expr
-    The linear expression for which the frequency is needed;
+  // If both bounded difference shapes are zero-dimensional,
+  // since `*this' contains `y', we simply return `*this'.
+  if (space_dim == 0)
+    return;
 
-    \param freq_n
-    If <CODE>true</CODE> is returned, the value is set to \f$0\f$;
-    Present for interface compatibility with class Grid, where
-    the \ref Grid_Frequency "frequency" can have a non-zero value;
+  shortest_path_closure_assign();
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  y.shortest_path_closure_assign();
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-    \param freq_d
-    If <CODE>true</CODE> is returned, the value is set to \f$1\f$;
+  // If there are tokens available, work on a temporary copy.
+  if (tp != 0 && *tp > 0) {
+    BD_Shape<T> x_tmp(*this);
+    x_tmp.CC76_extrapolation_assign(y, first, last, 0);
+    // If the widening was not precise, use one of the available tokens.
+    if (!contains(x_tmp))
+      --(*tp);
+    return;
+  }
 
-    \param val_n
-    The numerator of \p val;
+  // Compare each constraint in `y' to the corresponding one in `*this'.
+  // The constraint in `*this' is kept as is if it is stronger than or
+  // equal to the constraint in `y'; otherwise, the inhomogeneous term
+  // of the constraint in `*this' is further compared with elements taken
+  // from a sorted container (the stop-points, provided by the user), and
+  // is replaced by the first entry, if any, which is greater than or equal
+  // to the inhomogeneous term. If no such entry exists, the constraint
+  // is removed altogether.
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      N& dbm_ij = dbm_i[j];
+      const N& y_dbm_ij = y_dbm_i[j];
+      if (y_dbm_ij < dbm_ij) {
+        Iterator k = std::lower_bound(first, last, dbm_ij);
+        if (k != last) {
+          if (dbm_ij < *k)
+            assign_r(dbm_ij, *k, ROUND_UP);
+        }
+        else
+          assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED);
+      }
+    }
+  }
+  reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-    \param val_d
-    The denominator of \p val;
+template <typename T>
+void
+BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
+                                BD_Shape& limiting_shape) const {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  shortest_path_closure_assign();
+  bool changed = false;
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
+  PPL_DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d1);
+  for (Constraint_System::const_iterator cs_i = cs.begin(),
+         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
+    const Constraint& c = *cs_i;
+    dimension_type num_vars = 0;
+    dimension_type i = 0;
+    dimension_type j = 0;
+    // Constraints that are not bounded differences are ignored.
+    if (BD_Shape_Helpers::extract_bounded_difference(c, num_vars, i, j, coeff)) {
+      // Select the cell to be modified for the "<=" part of the constraint,
+      // and set `coeff' to the absolute value of itself.
+      const bool negative = (coeff < 0);
+      const N& x = negative ? dbm[i][j] : dbm[j][i];
+      const N& y = negative ? dbm[j][i] : dbm[i][j];
+      DB_Matrix<N>& ls_dbm = limiting_shape.dbm;
+      if (negative)
+        neg_assign(coeff);
+      // Compute the bound for `x', rounding towards plus infinity.
+      div_round_up(d, c.inhomogeneous_term(), coeff);
+      if (x <= d) {
+        if (c.is_inequality()) {
+          N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
+          if (ls_x > d) {
+            ls_x = d;
+            changed = true;
+          }
+	}
+        else {
+          // Compute the bound for `y', rounding towards plus infinity.
+          neg_assign(minus_c_term, c.inhomogeneous_term());
+          div_round_up(d1, minus_c_term, coeff);
+          if (y <= d1) {
+            N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
+            N& ls_y = negative ? ls_dbm[j][i] : ls_dbm[i][j];
+	    if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
+	      ls_x = d;
+	      ls_y = d1;
+	      changed = true;
+            }
+          }
+        }
+      }
+    }
+  }
 
-    If <CODE>false</CODE> is returned, then \p freq_n, \p freq_d,
-    \p val_n and \p val_d are left untouched.
-  */
-  bool frequency(const Linear_Expression& expr,
-                 Coefficient& freq_n, Coefficient& freq_d,
-                 Coefficient& val_n, Coefficient& val_d) const;
+  // In general, adding a constraint does not preserve the shortest-path
+  // closure of the bounded difference shape.
+  if (changed && limiting_shape.marked_shortest_path_closed())
+    limiting_shape.reset_shortest_path_closed();
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+template <typename T>
+void
+BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
+                                               const Constraint_System& cs,
+                                               unsigned* tp) {
+  // Dimension-compatibility check.
+  const dimension_type space_dim = space_dimension();
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
+                                 y);
 
-  //@} Member Functions that Do Not Modify the Octagonal_Shape
+  // `cs' must be dimension-compatible with the two systems
+  // of bounded differences.
+  const dimension_type cs_space_dim = cs.space_dimension();
+  if (space_dim < cs_space_dim)
+    throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)",
+                           "cs is space_dimension incompatible");
 
-  //! \name Space-Dimension Preserving Member Functions that May Modify the Octagonal_Shape
-  //@{
+  // Strict inequalities not allowed.
+  if (cs.has_strict_inequalities())
+    throw_invalid_argument("limited_CC76_extrapolation_assign(y, cs)",
+                           "cs has strict inequalities");
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    defining \p *this.
+  // The limited CC76-extrapolation between two systems of bounded
+  // differences in a zero-dimensional space is a system of bounded
+  // differences in a zero-dimensional space, too.
+  if (space_dim == 0)
+    return;
 
-    \param c
-    The constraint to be added.
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible,
-    or \p c is not optimally supported by the OS domain.
-  */
-  void add_constraint(const Constraint& c);
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    defining \p *this.
+  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
+  get_limiting_shape(cs, limiting_shape);
+  CC76_extrapolation_assign(y, tp);
+  intersection_assign(limiting_shape);
+}
 
-    \param  cs
-    The constraints that will be added.
+template <typename T>
+void
+BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
+  const dimension_type space_dim = space_dimension();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the OS domain.
-  */
-  void add_constraints(const Constraint_System& cs);
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this.
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
+  // Compute the affine dimension of `y'.
+  const dimension_type y_affine_dim = y.affine_dimension();
+  // If the affine dimension of `y' is zero, then either `y' is
+  // zero-dimensional, or it is empty, or it is a singleton.
+  // In all cases, due to the inclusion hypothesis, the result is `*this'.
+  if (y_affine_dim == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible,
-    or \p cs contains a constraint which is not optimally supported
-    by the OS domain.
+  // If the affine dimension has changed, due to the inclusion hypothesis,
+  // the result is `*this'.
+  const dimension_type x_affine_dim = affine_dimension();
+  PPL_ASSERT(x_affine_dim >= y_affine_dim);
+  if (x_affine_dim != y_affine_dim)
+    return;
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_constraints(Constraint_System& cs);
+  // If there are tokens available, work on a temporary copy.
+  if (tp != 0 && *tp > 0) {
+    BD_Shape<T> x_tmp(*this);
+    x_tmp.BHMZ05_widening_assign(y, 0);
+    // If the widening was not precise, use one of the available tokens.
+    if (!contains(x_tmp))
+      --(*tp);
+    return;
+  }
 
-  /*! \brief
-    Adds to \p *this a constraint equivalent to the congruence \p cg.
+  // Here no token is available.
+  PPL_ASSERT(marked_shortest_path_closed() && y.marked_shortest_path_closed());
+  // Minimize `y'.
+  y.shortest_path_reduction_assign();
 
-    \param cg
-    The congruence to be added.
+  // Extrapolate unstable bounds, taking into account redundancy in `y'.
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    const Bit_Row& y_redundancy_i = y.redundancy_dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      N& dbm_ij = dbm_i[j];
+      // Note: in the following line the use of `!=' (as opposed to
+      // the use of `<' that would seem -but is not- equivalent) is
+      // intentional.
+      if (y_redundancy_i[j] || y_dbm_i[j] != dbm_ij)
+        assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
+  // NOTE: this will also reset the shortest-path reduction flag,
+  // even though the dbm is still in reduced form. However, the
+  // current implementation invariant requires that any reduced dbm
+  // is closed too.
+  reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible,
-    or \p cg is not optimally supported by the OS domain.
-  */
-  void add_congruence(const Congruence& cg);
+template <typename T>
+void
+BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
+                                                 const Constraint_System& cs,
+                                                 unsigned* tp) {
+  // Dimension-compatibility check.
+  const dimension_type space_dim = space_dimension();
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)",
+                                 y);
+  // `cs' must be dimension-compatible with the two systems
+  // of bounded differences.
+  const dimension_type cs_space_dim = cs.space_dimension();
+  if (space_dim < cs_space_dim)
+    throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)",
+                           "cs is space-dimension incompatible");
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+  // Strict inequalities are not allowed.
+  if (cs.has_strict_inequalities())
+    throw_invalid_argument("limited_BHMZ05_extrapolation_assign(y, cs)",
+                           "cs has strict inequalities");
 
-    \param cgs
-    The congruences to be added.
+  // The limited BHMZ05-extrapolation between two systems of bounded
+  // differences in a zero-dimensional space is a system of bounded
+  // differences in a zero-dimensional space, too.
+  if (space_dim == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the OS domain.
-  */
-  void add_congruences(const Congruence_System& cgs);
+  // We assume that `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
+  get_limiting_shape(cs, limiting_shape);
+  BHMZ05_widening_assign(y, tp);
+  intersection_assign(limiting_shape);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible,
-    or \p cgs contains a congruence which is not optimally supported
-    by the OS domain.
+template <typename T>
+void
+BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
+  const dimension_type space_dim = space_dimension();
 
-    \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-  */
-  void add_recycled_congruences(Congruence_System& cgs);
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-  /*! \brief
-    Uses a copy of constraint \p c to refine the system of octagonal
-    constraints defining \p *this.
+  // We assume that `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
-    \param c
-    The constraint. If it is not a octagonal constraint, it will be ignored.
+  // If both bounded difference shapes are zero-dimensional,
+  // since `y' contains `*this', we simply return `*this'.
+  if (space_dim == 0)
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+  y.shortest_path_closure_assign();
+  // If `y' is empty, since `y' contains `this', `*this' is empty too.
+  if (y.marked_empty())
+    return;
+  shortest_path_closure_assign();
+  // If `*this' is empty, we return.
+  if (marked_empty())
+    return;
 
-  /*! \brief
-    Uses a copy of congruence \p cg to refine the system of
-    octagonal constraints  of \p *this.
+  // Replace each constraint in `*this' by the corresponding constraint
+  // in `y' if the corresponding inhomogeneous terms are both finite.
+  bool changed = false;
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const DB_Row<N>& y_dbm_i = y.dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; ) {
+      N& dbm_ij = dbm_i[j];
+      const N& y_dbm_ij = y_dbm_i[j];
+      if (!is_plus_infinity(dbm_ij)
+          && !is_plus_infinity(y_dbm_ij)
+          && dbm_ij != y_dbm_ij) {
+        dbm_ij = y_dbm_ij;
+        changed = true;
+      }
+    }
+  }
+  if (changed && marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-    \param cg
-    The congruence. If it is not a octagonal equality, it
-    will be ignored.
+template <typename T>
+void
+BD_Shape<T>
+::deduce_v_minus_u_bounds(const dimension_type v,
+                          const dimension_type last_v,
+                          const Linear_Expression& sc_expr,
+                          Coefficient_traits::const_reference sc_denom,
+                          const N& ub_v) {
+  PPL_ASSERT(sc_denom > 0);
+  PPL_ASSERT(!is_plus_infinity(ub_v));
+  // Deduce constraints of the form `v - u', where `u != v'.
+  // Note: the shortest-path closure is able to deduce the constraint
+  // `v - u <= ub_v - lb_u'. We can be more precise if variable `u'
+  // played an active role in the computation of the upper bound for `v',
+  // i.e., if the corresponding coefficient `q == expr_u/denom' is
+  // greater than zero. In particular:
+  // if `q >= 1',    then `v - u <= ub_v - ub_u';
+  // if `0 < q < 1', then `v - u <= ub_v - (q*ub_u + (1-q)*lb_u)'.
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
+  const DB_Row<N>& dbm_0 = dbm[0];
+  // Speculative allocation of temporaries to be used in the following loop.
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(N, up_approx);
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+        u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) {
+    const dimension_type u_dim = u.variable().space_dimension();
+    if (u_dim == v)
+      continue;
+    const Coefficient& expr_u = *u;
+    if (expr_u < 0)
+      continue;
+    PPL_ASSERT(expr_u > 0);
+    if (expr_u >= sc_denom)
+      // Deducing `v - u <= ub_v - ub_u'.
+      sub_assign_r(dbm[u_dim][v], ub_v, dbm_0[u_dim], ROUND_UP);
+    else {
+      DB_Row<N>& dbm_u = dbm[u_dim];
+      const N& dbm_u0 = dbm_u[0];
+      if (!is_plus_infinity(dbm_u0)) {
+        // Let `ub_u' and `lb_u' be the known upper and lower bound
+        // for `u', respectively. Letting `q = expr_u/sc_denom' be the
+        // rational coefficient of `u' in `sc_expr/sc_denom',
+        // the upper bound for `v - u' is computed as
+        // `ub_v - (q * ub_u + (1-q) * lb_u)', i.e.,
+        // `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
+        assign_r(minus_lb_u, dbm_u0, ROUND_NOT_NEEDED);
+        assign_r(q, expr_u, ROUND_NOT_NEEDED);
+        div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+        assign_r(ub_u, dbm_0[u_dim], ROUND_NOT_NEEDED);
+        // Compute `ub_u - lb_u'.
+        add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
+        // Compute `(-lb_u) - q * (ub_u - lb_u)'.
+        sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
+        assign_r(up_approx, minus_lb_u, ROUND_UP);
+        // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
+        add_assign_r(dbm_u[v], ub_v, up_approx, ROUND_UP);
+      }
+    }
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+template <typename T>
+void
+BD_Shape<T>
+::deduce_u_minus_v_bounds(const dimension_type v,
+                          const dimension_type last_v,
+                          const Linear_Expression& sc_expr,
+                          Coefficient_traits::const_reference sc_denom,
+                          const N& minus_lb_v) {
+  PPL_ASSERT(sc_denom > 0);
+  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
+  // Deduce constraints of the form `u - v', where `u != v'.
+  // Note: the shortest-path closure is able to deduce the constraint
+  // `u - v <= ub_u - lb_v'. We can be more precise if variable `u'
+  // played an active role in the computation of the lower bound for `v',
+  // i.e., if the corresponding coefficient `q == expr_u/denom' is
+  // greater than zero. In particular:
+  // if `q >= 1',    then `u - v <= lb_u - lb_v';
+  // if `0 < q < 1', then `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
+  PPL_DIRTY_TEMP(mpq_class, mpq_sc_denom);
+  assign_r(mpq_sc_denom, sc_denom, ROUND_NOT_NEEDED);
+  DB_Row<N>& dbm_0 = dbm[0];
+  DB_Row<N>& dbm_v = dbm[v];
+  // Speculative allocation of temporaries to be used in the following loop.
+  PPL_DIRTY_TEMP(mpq_class, ub_u);
+  PPL_DIRTY_TEMP(mpq_class, q);
+  PPL_DIRTY_TEMP(mpq_class, minus_lb_u);
+  PPL_DIRTY_TEMP(N, up_approx);
+  // No need to consider indices greater than `last_v'.
+  for (Linear_Expression::const_iterator u = sc_expr.begin(),
+        u_end = sc_expr.lower_bound(Variable(last_v)); u != u_end; ++u) {
+    const Variable u_var = u.variable();
+    const dimension_type u_dim = u_var.space_dimension();
+    if (u_var.space_dimension() == v)
+      continue;
+    const Coefficient& expr_u = *u;
+    if (expr_u < 0)
+      continue;
+    PPL_ASSERT(expr_u > 0);
+    if (expr_u >= sc_denom)
+      // Deducing `u - v <= lb_u - lb_v',
+      // i.e., `u - v <= (-lb_v) - (-lb_u)'.
+      sub_assign_r(dbm_v[u_dim], minus_lb_v, dbm[u_dim][0], ROUND_UP);
+    else {
+      const N& dbm_0u = dbm_0[u_dim];
+      if (!is_plus_infinity(dbm_0u)) {
+        // Let `ub_u' and `lb_u' be the known upper and lower bound
+        // for `u', respectively. Letting `q = expr_u/sc_denom' be the
+        // rational coefficient of `u' in `sc_expr/sc_denom',
+        // the upper bound for `u - v' is computed as
+        // `(q * lb_u + (1-q) * ub_u) - lb_v', i.e.,
+        // `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
+        assign_r(ub_u, dbm_0u, ROUND_NOT_NEEDED);
+        assign_r(q, expr_u, ROUND_NOT_NEEDED);
+        div_assign_r(q, q, mpq_sc_denom, ROUND_NOT_NEEDED);
+        assign_r(minus_lb_u, dbm[u_dim][0], ROUND_NOT_NEEDED);
+        // Compute `ub_u - lb_u'.
+        add_assign_r(minus_lb_u, minus_lb_u, ub_u, ROUND_NOT_NEEDED);
+        // Compute `ub_u - q * (ub_u - lb_u)'.
+        sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
+        assign_r(up_approx, ub_u, ROUND_UP);
+        // Deducing `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
+        add_assign_r(dbm_v[u_dim], up_approx, minus_lb_v, ROUND_UP);
+      }
+    }
+  }
+}
 
-  /*! \brief
-    Uses a copy of the constraints in \p cs to refine the system of
-    octagonal constraints defining \p *this.
+template <typename T>
+void
+BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
+  DB_Row<N>& dbm_v = dbm[v];
+  for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
+    assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+}
 
-    \param  cs
-    The constraint system to be used. Constraints that are not octagonal
-    are ignored.
+template <typename T>
+void
+BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
+  PPL_ASSERT(0 < v && v <= dbm.num_rows());
+  DB_Row<N>& dbm_v = dbm[v];
+  for (dimension_type i = dbm.num_rows()-1; i > 0; --i) {
+    assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
+    assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
+  }
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+template <typename T>
+void
+BD_Shape<T>::unconstrain(const Variable var) {
+  // Dimension-compatibility check.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dimension() < var_space_dim)
+    throw_dimension_incompatible("unconstrain(var)", var_space_dim);
 
-  /*! \brief
-    Uses a copy of the congruences in \p cgs to refine the system of
-    octagonal constraints defining \p *this.
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) constraints.
+  shortest_path_closure_assign();
 
-    \param  cgs
-    The congruence system to be used. Congruences that are not octagonal
-    equalities are ignored.
+  // If the shape is empty, this is a no-op.
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+  forget_all_dbm_constraints(var_space_dim);
+  // Shortest-path closure is preserved, but not reduction.
+  reset_shortest_path_reduced();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+template <typename T>
+void
+BD_Shape<T>::unconstrain(const Variables_Set& vars) {
+  // The cylindrification with respect to no dimensions is a no-op.
+  // This case captures the only legal cylindrification in a 0-dim space.
+  if (vars.empty())
+    return;
 
-    \param var
-    The space dimension that will be unconstrained.
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) constraints.
+  shortest_path_closure_assign();
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
+  // If the shape is empty, this is a no-op.
+  if (marked_empty())
+    return;
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
+    forget_all_dbm_constraints(*vsi + 1);
+  // Shortest-path closure is preserved, but not reduction.
+  reset_shortest_path_reduced();
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void unconstrain(const Variables_Set& vars);
+template <typename T>
+void
+BD_Shape<T>::refine(const Variable var,
+                    const Relation_Symbol relsym,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference denominator) {
+  PPL_ASSERT(denominator != 0);
+  PPL_ASSERT(space_dimension() >= expr.space_dimension());
+  const dimension_type v = var.id() + 1;
+  PPL_ASSERT(v <= space_dimension());
+  PPL_ASSERT(expr.coefficient(var) == 0);
+  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void intersection_assign(const Octagonal_Shape& y);
+  const Coefficient& b = expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `expr', if any.
+  dimension_type w = expr.last_nonzero();
 
-  /*! \brief
-    Assigns to \p *this the smallest OS that contains
-    the convex union of \p *this and \p y.
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const Octagonal_Shape& y);
+  // Since we are only able to record bounded differences, we can
+  // precisely deal with the case of a single variable only if its
+  // coefficient (taking into account the denominator) is 1.
+  // If this is not the case, we fall back to the general case
+  // so as to over-approximate the constraint.
+  if (t == 1 && expr.get(Variable(w - 1)) != denominator)
+    t = 2;
 
-  /*! \brief
-    If the upper bound of \p *this and \p y is exact, it is assigned
-    to \p *this and <CODE>true</CODE> is returned,
-    otherwise <CODE>false</CODE> is returned.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w != v' and `a == denominator';
+  // - If t == 2, the `expr' is of the general form.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  if (t == 0) {
+    // Case 1: expr == b.
+    switch (relsym) {
+    case EQUAL:
+      // Add the constraint `var == b/denominator'.
+      add_dbm_constraint(0, v, b, denominator);
+      add_dbm_constraint(v, 0, b, minus_denom);
+      break;
+    case LESS_OR_EQUAL:
+      // Add the constraint `var <= b/denominator'.
+      add_dbm_constraint(0, v, b, denominator);
+      break;
+    case GREATER_OR_EQUAL:
+      // Add the constraint `var >= b/denominator',
+      // i.e., `-var <= -b/denominator',
+      add_dbm_constraint(v, 0, b, minus_denom);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+    return;
+  }
 
-    Implementation is based on Theorem 6.3 of \ref BHZ09b "[BHZ09b]".
-  */
-  bool upper_bound_assign_if_exact(const Octagonal_Shape& y);
+  if (t == 1) {
+    // Case 2: expr == a*w + b, w != v, a == denominator.
+    PPL_ASSERT(expr.get(Variable(w - 1)) == denominator);
+    PPL_DIRTY_TEMP(N, d);
+    switch (relsym) {
+    case EQUAL:
+      // Add the new constraint `v - w <= b/denominator'.
+      div_round_up(d, b, denominator);
+      add_dbm_constraint(w, v, d);
+      // Add the new constraint `v - w >= b/denominator',
+      // i.e., `w - v <= -b/denominator'.
+      div_round_up(d, b, minus_denom);
+      add_dbm_constraint(v, w, d);
+      break;
+    case LESS_OR_EQUAL:
+      // Add the new constraint `v - w <= b/denominator'.
+      div_round_up(d, b, denominator);
+      add_dbm_constraint(w, v, d);
+      break;
+    case GREATER_OR_EQUAL:
+      // Add the new constraint `v - w >= b/denominator',
+      // i.e., `w - v <= -b/denominator'.
+      div_round_up(d, b, minus_denom);
+      add_dbm_constraint(v, w, d);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+    return;
+  }
 
-  /*! \brief
-    If the \e integer upper bound of \p *this and \p y is exact,
-    it is assigned to \p *this and <CODE>true</CODE> is returned;
-    otherwise <CODE>false</CODE> is returned.
+  // Here t == 2, so that either
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2, or
+  // expr == a*w + b, w != v and a != denominator.
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign(minus_b, b);
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -expr;
+  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  PPL_DIRTY_TEMP(N, sum);
+  // Indices of the variables that are unbounded in `this->dbm'.
+  PPL_UNINITIALIZED(dimension_type, pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pinf_count = 0;
 
-    \note
-    This operator is only available when the class template parameter
-    \c T is bound to an integer datatype.
+  // Speculative allocation of temporaries that are used in most
+  // of the computational traces starting from this point (also loops).
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+  PPL_DIRTY_TEMP(N, coeff_i);
 
-    \note
-    The integer upper bound of two rational OS is the smallest
-    rational OS containing all the integral points in the two arguments.
-    In general, the result is \e not an upper bound for the two input
-    arguments, as it may cut away non-integral portions of the two
-    rational shapes.
+  switch (relsym) {
+  case EQUAL:
+    {
+      PPL_DIRTY_TEMP(N, neg_sum);
+      // Indices of the variables that are unbounded in `this->dbm'.
+      PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
+      // Number of unbounded variables found.
+      dimension_type neg_pinf_count = 0;
 
-    Implementation is based on Theorem 6.8 of \ref BHZ09b "[BHZ09b]".
-  */
-  bool integer_upper_bound_assign_if_exact(const Octagonal_Shape& y);
+      // Compute an upper approximation for `expr' into `sum',
+      // taking into account the sign of `denominator'.
 
-  /*! \brief
-    Assigns to \p *this the smallest octagon containing
-    the set difference of \p *this and \p y.
+      // Approximate the inhomogeneous term.
+      assign_r(sum, sc_b, ROUND_UP);
+      assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Octagonal_Shape& y);
+      // Approximate the homogeneous part of `sc_expr'.
+      // Note: indices above `w' can be disregarded, as they all have
+      // a zero coefficient in `expr'.
+      for (Linear_Expression::const_iterator i = sc_expr.begin(),
+            i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+        const dimension_type i_dim = i.variable().space_dimension();
+        const Coefficient& sc_i = *i;
+        const int sign_i = sgn(sc_i);
+        PPL_ASSERT(sign_i != 0);
+        if (sign_i > 0) {
+          assign_r(coeff_i, sc_i, ROUND_UP);
+          // Approximating `sc_expr'.
+          if (pinf_count <= 1) {
+            const N& approx_i = dbm_0[i_dim];
+            if (!is_plus_infinity(approx_i))
+              add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+            else {
+              ++pinf_count;
+              pinf_index = i_dim;
+            }
+          }
+          // Approximating `-sc_expr'.
+          if (neg_pinf_count <= 1) {
+            const N& approx_minus_i = dbm[i_dim][0];
+            if (!is_plus_infinity(approx_minus_i))
+              add_mul_assign_r(neg_sum, coeff_i, approx_minus_i, ROUND_UP);
+            else {
+              ++neg_pinf_count;
+              neg_pinf_index = i_dim;
+            }
+          }
+        }
+        else {
+          PPL_ASSERT(sign_i < 0);
+          neg_assign(minus_sc_i, sc_i);
+          // Note: using temporary named `coeff_i' to store -coeff_i.
+          assign_r(coeff_i, minus_sc_i, ROUND_UP);
+          // Approximating `sc_expr'.
+          if (pinf_count <= 1) {
+            const N& approx_minus_i = dbm[i_dim][0];
+            if (!is_plus_infinity(approx_minus_i))
+              add_mul_assign_r(sum, coeff_i, approx_minus_i, ROUND_UP);
+            else {
+              ++pinf_count;
+              pinf_index = i_dim;
+            }
+          }
+          // Approximating `-sc_expr'.
+          if (neg_pinf_count <= 1) {
+            const N& approx_i = dbm_0[i_dim];
+            if (!is_plus_infinity(approx_i))
+              add_mul_assign_r(neg_sum, coeff_i, approx_i, ROUND_UP);
+            else {
+              ++neg_pinf_count;
+              neg_pinf_index = i_dim;
+            }
+          }
+        }
+      }
+      // Return immediately if no approximation could be computed.
+      if (pinf_count > 1 && neg_pinf_count > 1) {
+        PPL_ASSERT(OK());
+        return;
+      }
 
-  /*! \brief
-    Assigns to \p *this a \ref Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+      // In the following, shortest-path closure will be definitely lost.
+      reset_shortest_path_closed();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const Octagonal_Shape& y);
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
 
-  /*! \brief
-    Assigns to \p *this the \ref affine_relation "affine image"
-    of \p *this under the function mapping variable \p var into the
-    affine expression specified by \p expr and \p denominator.
+      // Exploit the upper approximation, if possible.
+      if (pinf_count <= 1) {
+        // Compute quotient (if needed).
+        if (down_sc_denom != 1)
+          div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+        // Add the upper bound constraint, if meaningful.
+        if (pinf_count == 0) {
+          // Add the constraint `v <= sum'.
+          dbm[0][v] = sum;
+          // Deduce constraints of the form `v - u', where `u != v'.
+          deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
+        }
+        else
+          // Here `pinf_count == 1'.
+          if (pinf_index != v
+              && sc_expr.get(Variable(pinf_index - 1)) == sc_denom)
+            // Add the constraint `v - pinf_index <= sum'.
+            dbm[pinf_index][v] = sum;
+      }
 
-    \param var
-    The variable to which the affine expression is assigned.
+      // Exploit the lower approximation, if possible.
+      if (neg_pinf_count <= 1) {
+        // Compute quotient (if needed).
+        if (down_sc_denom != 1)
+          div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
+        // Add the lower bound constraint, if meaningful.
+        if (neg_pinf_count == 0) {
+          // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+          DB_Row<N>& dbm_v = dbm[v];
+          dbm_v[0] = neg_sum;
+          // Deduce constraints of the form `u - v', where `u != v'.
+          deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum);
+        }
+        else
+          // Here `neg_pinf_count == 1'.
+          if (neg_pinf_index != v
+              && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom)
+            // Add the constraint `v - neg_pinf_index >= -neg_sum',
+            // i.e., `neg_pinf_index - v <= neg_sum'.
+            dbm[v][neg_pinf_index] = neg_sum;
+      }
+    }
+    break;
 
-    \param expr
-    The numerator of the affine expression.
+  case LESS_OR_EQUAL:
+    // Compute an upper approximation for `expr' into `sum',
+    // taking into account the sign of `denominator'.
 
-    \param denominator
-    The denominator of the affine expression.
+    // Approximate the inhomogeneous term.
+    assign_r(sum, sc_b, ROUND_UP);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension of \p *this.
-  */
-  void affine_image(Variable var,
-                    const Linear_Expression& expr,
-                    Coefficient_traits::const_reference  denominator
-                    = Coefficient_one());
+    // Approximate the homogeneous part of `sc_expr'.
+    // Note: indices above `w' can be disregarded, as they all have
+    // a zero coefficient in `expr'.
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+          i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
+      const int sign_i = sgn(sc_i);
+      PPL_ASSERT(sign_i != 0);
+      // Choose carefully: we are approximating `sc_expr'.
+      const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0];
+      if (is_plus_infinity(approx_i)) {
+        if (++pinf_count > 1)
+          break;
+        pinf_index = i_dim;
+        continue;
+      }
+      if (sign_i > 0)
+        assign_r(coeff_i, sc_i, ROUND_UP);
+      else {
+        neg_assign(minus_sc_i, sc_i);
+        assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      }
+      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+    }
 
-  /*! \brief
-    Assigns to \p *this the \ref affine_relation "affine preimage"
-    of \p *this under the function mapping variable \p var into the
-    affine expression specified by \p expr and \p denominator.
+    // Divide by the (sign corrected) denominator (if needed).
+    if (sc_denom != 1) {
+      // Before computing the quotient, the denominator should be
+      // approximated towards zero. Since `sc_denom' is known to be
+      // positive, this amounts to rounding downwards, which is achieved
+      // by rounding upwards `minus_sc - denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+    }
 
-    \param var
-    The variable to which the affine expression is substituted.
+    if (pinf_count == 0) {
+      // Add the constraint `v <= sum'.
+      add_dbm_constraint(0, v, sum);
+      // Deduce constraints of the form `v - u', where `u != v'.
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
+    }
+    else if (pinf_count == 1)
+      if (expr.get(Variable(pinf_index - 1)) == denominator)
+        // Add the constraint `v - pinf_index <= sum'.
+        add_dbm_constraint(pinf_index, v, sum);
+    break;
 
-    \param expr
-    The numerator of the affine expression.
+  case GREATER_OR_EQUAL:
+    // Compute an upper approximation for `-sc_expr' into `sum'.
+    // Note: approximating `-sc_expr' from above and then negating the
+    // result is the same as approximating `sc_expr' from below.
 
-    \param denominator
-    The denominator of the affine expression.
+    // Approximate the inhomogeneous term.
+    assign_r(sum, minus_sc_b, ROUND_UP);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension of \p *this.
-  */
-  void affine_preimage(Variable var,
-                       const Linear_Expression& expr,
-                       Coefficient_traits::const_reference denominator
-                       = Coefficient_one());
+    // Approximate the homogeneous part of `-sc_expr'.
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+          i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
+      const int sign_i = sgn(sc_i);
+      PPL_ASSERT(sign_i != 0);
+      // Choose carefully: we are approximating `-sc_expr'.
+      const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim];
+      if (is_plus_infinity(approx_i)) {
+        if (++pinf_count > 1)
+          break;
+        pinf_index = i_dim;
+        continue;
+      }
+      if (sign_i > 0)
+        assign_r(coeff_i, sc_i, ROUND_UP);
+      else {
+        neg_assign(minus_sc_i, sc_i);
+        assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      }
+      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+    }
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine transfer function"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+    // Divide by the (sign corrected) denominator (if needed).
+    if (sc_denom != 1) {
+      // Before computing the quotient, the denominator should be
+      // approximated towards zero. Since `sc_denom' is known to be positive,
+      // this amounts to rounding downwards, which is achieved by rounding
+      // upwards `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+    }
 
-    \param var
-    The left hand side variable of the generalized affine transfer function.
+    if (pinf_count == 0) {
+      // Add the constraint `v >= -sum', i.e., `-v <= sum'.
+      add_dbm_constraint(v, 0, sum);
+      // Deduce constraints of the form `u - v', where `u != v'.
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum);
+    }
+    else if (pinf_count == 1)
+      if (pinf_index != v
+          && expr.get(Variable(pinf_index - 1)) == denominator)
+        // Add the constraint `v - pinf_index >= -sum',
+        // i.e., `pinf_index - v <= sum'.
+        add_dbm_constraint(v, pinf_index, sum);
+    break;
 
-    \param relsym
-    The relation symbol.
+  default:
+    // We already dealt with the other cases.
+    PPL_UNREACHABLE;
+    break;
+  }
 
-    \param expr
-    The numerator of the right hand side affine expression.
+  PPL_ASSERT(OK());
+}
 
-    \param denominator
-    The denominator of the right hand side affine expression.
+template <typename T>
+void
+BD_Shape<T>::affine_image(const Variable var,
+                          const Linear_Expression& expr,
+                          Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension of \p *this
-    or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_image(Variable var,
-                                Relation_Symbol relsym,
-                                const Linear_Expression& expr,
-                                Coefficient_traits::const_reference denominator
-                                = Coefficient_one());
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine transfer function"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+  // `var' should be one of the dimensions of the shape.
+  const dimension_type v = var.id() + 1;
+  if (v > space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", var.id());
 
-    \param lhs
-    The left hand side affine expression.
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-    \param relsym
-    The relation symbol.
+  const Coefficient& b = expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `expr', if any.
+  dimension_type w = expr.last_nonzero();
 
-    \param rhs
-    The right hand side affine expression.
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_image(const Linear_Expression& lhs,
-                                Relation_Symbol relsym,
-                                const Linear_Expression& rhs);
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `expr' is of the general form.
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
-    /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+  if (t == 0) {
+    // Case 1: expr == b.
+    // Remove all constraints on `var'.
+    forget_all_dbm_constraints(v);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    // Add the constraint `var == b/denominator'.
+    add_dbm_constraint(0, v, b, denominator);
+    add_dbm_constraint(v, 0, b, minus_denom);
+    PPL_ASSERT(OK());
+    return;
+  }
+
+  if (t == 1) {
+    // Value of the one and only non-zero coefficient in `expr'.
+    const Coefficient& a = expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
+      // Case 2: expr == a*w + b, with a == +/- denominator.
+      if (w == v) {
+        // `expr' is of the form: a*v + b.
+        if (a == denominator) {
+          if (b == 0)
+            // The transformation is the identity function.
+            return;
+          else {
+            // Translate all the constraints on `var',
+            // adding or subtracting the value `b/denominator'.
+            PPL_DIRTY_TEMP(N, d);
+            div_round_up(d, b, denominator);
+            PPL_DIRTY_TEMP(N, c);
+            div_round_up(c, b, minus_denom);
+            DB_Row<N>& dbm_v = dbm[v];
+            for (dimension_type i = space_dim + 1; i-- > 0; ) {
+              N& dbm_vi = dbm_v[i];
+              add_assign_r(dbm_vi, dbm_vi, c, ROUND_UP);
+              N& dbm_iv = dbm[i][v];
+              add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP);
+            }
+            // Both shortest-path closure and reduction are preserved.
+          }
+        }
+        else {
+          // Here `a == -denominator'.
+          // Remove the binary constraints on `var'.
+          forget_binary_dbm_constraints(v);
+          // Swap the unary constraints on `var'.
+          using std::swap;
+          swap(dbm[v][0], dbm[0][v]);
+          // Shortest-path closure is not preserved.
+          reset_shortest_path_closed();
+          if (b != 0) {
+            // Translate the unary constraints on `var',
+            // adding or subtracting the value `b/denominator'.
+            PPL_DIRTY_TEMP(N, c);
+            div_round_up(c, b, minus_denom);
+            N& dbm_v0 = dbm[v][0];
+            add_assign_r(dbm_v0, dbm_v0, c, ROUND_UP);
+            PPL_DIRTY_TEMP(N, d);
+            div_round_up(d, b, denominator);
+            N& dbm_0v = dbm[0][v];
+            add_assign_r(dbm_0v, dbm_0v, d, ROUND_UP);
+          }
+        }
+      }
+      else {
+        // Here `w != v', so that `expr' is of the form
+        // +/-denominator * w + b.
+        // Remove all constraints on `var'.
+        forget_all_dbm_constraints(v);
+        // Shortest-path closure is preserved, but not reduction.
+        if (marked_shortest_path_reduced())
+          reset_shortest_path_reduced();
+        if (a == denominator) {
+          // Add the new constraint `v - w == b/denominator'.
+          add_dbm_constraint(w, v, b, denominator);
+          add_dbm_constraint(v, w, b, minus_denom);
+        }
+        else {
+          // Here a == -denominator, so that we should be adding
+          // the constraint `v + w == b/denominator'.
+          // Approximate it by computing lower and upper bounds for `w'.
+          const N& dbm_w0 = dbm[w][0];
+          if (!is_plus_infinity(dbm_w0)) {
+            // Add the constraint `v <= b/denominator - lower_w'.
+            PPL_DIRTY_TEMP(N, d);
+            div_round_up(d, b, denominator);
+            add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP);
+            reset_shortest_path_closed();
+          }
+          const N& dbm_0w = dbm[0][w];
+          if (!is_plus_infinity(dbm_0w)) {
+            // Add the constraint `v >= b/denominator - upper_w'.
+            PPL_DIRTY_TEMP(N, c);
+            div_round_up(c, b, minus_denom);
+            add_assign_r(dbm[v][0], dbm_0w, c, ROUND_UP);
+            reset_shortest_path_closed();
+          }
+        }
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
 
-    \param var
-    The variable updated by the affine relation;
+  // General case.
+  // Either t == 2, so that
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `var' and add back
+  // constraints providing upper and lower bounds for `var'.
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+  // Compute upper approximations for `expr' and `-expr'
+  // into `pos_sum' and `neg_sum', respectively, taking into account
+  // the sign of `denominator'.
+  // Note: approximating `-expr' from above and then negating the
+  // result is the same as approximating `expr' from below.
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign(minus_b, b);
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -expr;
+  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  PPL_DIRTY_TEMP(N, pos_sum);
+  PPL_DIRTY_TEMP(N, neg_sum);
+  // Indices of the variables that are unbounded in `this->dbm'.
+  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
+  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pos_pinf_count = 0;
+  dimension_type neg_pinf_count = 0;
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+  // Approximate the inhomogeneous term.
+  assign_r(pos_sum, sc_b, ROUND_UP);
+  assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-                            const Linear_Expression& lb_expr,
-                            const Linear_Expression& ub_expr,
-                            Coefficient_traits::const_reference denominator
-                            = Coefficient_one());
+  // Approximate the homogeneous part of `sc_expr'.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  // Speculative allocation of temporaries to be used in the following loop.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
 
-/*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+  // Note: indices above `w' can be disregarded, as they all have
+  // a zero coefficient in `sc_expr'.
+  for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+    const Coefficient& sc_i = *i;
+    const dimension_type i_dim = i.variable().space_dimension();
+    const int sign_i = sgn(sc_i);
+    if (sign_i > 0) {
+      assign_r(coeff_i, sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& up_approx_i = dbm_0[i_dim];
+        if (!is_plus_infinity(up_approx_i))
+          add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = i_dim;
+        }
+      }
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& up_approx_minus_i = dbm[i_dim][0];
+        if (!is_plus_infinity(up_approx_minus_i))
+          add_mul_assign_r(neg_sum, coeff_i, up_approx_minus_i, ROUND_UP);
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = i_dim;
+        }
+      }
+    }
+    else {
+      PPL_ASSERT(sign_i < 0);
+      neg_assign(minus_sc_i, sc_i);
+      // Note: using temporary named `coeff_i' to store -coeff_i.
+      assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& up_approx_minus_i = dbm[i_dim][0];
+        if (!is_plus_infinity(up_approx_minus_i))
+          add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = i_dim;
+        }
+      }
+      // Approximating `-sc_expr'.
+      if (neg_pinf_count <= 1) {
+        const N& up_approx_i = dbm_0[i_dim];
+        if (!is_plus_infinity(up_approx_i))
+          add_mul_assign_r(neg_sum, coeff_i, up_approx_i, ROUND_UP);
+        else {
+          ++neg_pinf_count;
+          neg_pinf_index = i_dim;
+        }
+      }
+    }
+  }
 
-    \param var
-    The left hand side variable of the generalized affine transfer function.
+  // Remove all constraints on 'v'.
+  forget_all_dbm_constraints(v);
+  // Shortest-path closure is maintained, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+  // Return immediately if no approximation could be computed.
+  if (pos_pinf_count > 1 && neg_pinf_count > 1) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param relsym
-    The relation symbol.
+  // In the following, shortest-path closure will be definitely lost.
+  reset_shortest_path_closed();
 
-    \param expr
-    The numerator of the right hand side affine expression.
+  // Exploit the upper approximation, if possible.
+  if (pos_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the upper bound constraint, if meaningful.
+    if (pos_pinf_count == 0) {
+      // Add the constraint `v <= pos_sum'.
+      dbm[0][v] = pos_sum;
+      // Deduce constraints of the form `v - u', where `u != v'.
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum);
+    }
+    else
+      // Here `pos_pinf_count == 1'.
+      if (pos_pinf_index != v
+          && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom)
+        // Add the constraint `v - pos_pinf_index <= pos_sum'.
+        dbm[pos_pinf_index][v] = pos_sum;
+  }
 
-    \param denominator
-    The denominator of the right hand side affine expression.
+  // Exploit the lower approximation, if possible.
+  if (neg_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(neg_sum, neg_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the lower bound constraint, if meaningful.
+    if (neg_pinf_count == 0) {
+      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
+      DB_Row<N>& dbm_v = dbm[v];
+      dbm_v[0] = neg_sum;
+      // Deduce constraints of the form `u - v', where `u != v'.
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, neg_sum);
+    }
+    else
+      // Here `neg_pinf_count == 1'.
+      if (neg_pinf_index != v
+          && sc_expr.get(Variable(neg_pinf_index - 1)) == sc_denom)
+        // Add the constraint `v - neg_pinf_index >= -neg_sum',
+        // i.e., `neg_pinf_index - v <= neg_sum'.
+        dbm[v][neg_pinf_index] = neg_sum;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this
-    are dimension-incompatible or if \p var is not a dimension
-    of \p *this or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_preimage(Variable var,
-                                   Relation_Symbol relsym,
-                                   const Linear_Expression& expr,
-                                   Coefficient_traits::const_reference
-                                   denominator = Coefficient_one());
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::affine_form_image(const Variable var,
+                    const Linear_Form< Interval<T, Interval_Info> >& lf) {
 
-    \param lhs
-    The left hand side affine expression;
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+		    "BD_Shape<T>::affine_form_image(Variable, Linear_Form):"
+                    " T not a floating point type.");
 
-    \param relsym
-    The relation symbol;
+  // Dimension-compatibility checks.
+  // The dimension of `lf' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(var_id, l)", "l", lf);
 
-    \param rhs
-    The right hand side affine expression.
+  // `var' should be one of the dimensions of the shape.
+  const dimension_type var_id = var.id() + 1;
+  if (space_dim < var_id)
+    throw_dimension_incompatible("affine_form_image(var_id, l)", var.id());
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p relsym is a strict relation symbol.
-  */
-  void generalized_affine_preimage(const Linear_Expression& lhs,
-                                   Relation_Symbol relsym,
-                                   const Linear_Expression& rhs);
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-         \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+  // Number of non-zero coefficients in `lf': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `lf', if any.
+  dimension_type w_id = 0;
+  // Get information about the number of non-zero coefficients in `lf'.
+  for (dimension_type i = lf_space_dim; i-- > 0; )
+    if (lf.coefficient(Variable(i)) != 0) {
+      if (t++ == 1)
+        break;
+      else
+        w_id = i + 1;
+    }
 
-         \param var
-    The variable updated by the affine relation;
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+  const FP_Interval_Type& b = lf.inhomogeneous_term();
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  // Now we know the form of `lf':
+  // - If t == 0, then lf == b, with `b' a constant;
+  // - If t == 1, then lf == a*w + b, where `w' can be `v' or another
+  //   variable;
+  // - If t == 2, the linear form 'lf' is of the general form.
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+  if (t == 0) {
+    inhomogeneous_affine_form_image(var_id, b);
+    PPL_ASSERT(OK());
+    return;
+  }
+  else if (t == 1) {
+    const FP_Interval_Type& w_coeff = lf.coefficient(Variable(w_id - 1));
+    if (w_coeff == 1 || w_coeff == -1) {
+      one_variable_affine_form_image(var_id, b, w_coeff, w_id, space_dim);
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
+  two_variables_affine_form_image(var_id, lf, space_dim);
+  PPL_ASSERT(OK());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-                               const Linear_Expression& lb_expr,
-                               const Linear_Expression& ub_expr,
-                               Coefficient_traits::const_reference denominator
-                               = Coefficient_one());
+// Case 1: var = b, where b = [-b_mlb, b_ub]
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::inhomogeneous_affine_form_image(const dimension_type& var_id,
+                                  const Interval<T, Interval_Info>& b) {
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+  // Remove all constraints on `var'.
+  forget_all_dbm_constraints(var_id);
+  // Shortest-path closure is preserved, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+    // Add the constraint `var >= lb && var <= ub'.
+    add_dbm_constraint(0, var_id, b_ub);
+    add_dbm_constraint(var_id, 0, b_mlb);
+    return;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void time_elapse_assign(const Octagonal_Shape& y);
+// case 2: var = (+/-1) * w + [-b_mlb, b_ub], where `w' can be `var'
+// or another variable.
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>
+::one_variable_affine_form_image(const dimension_type& var_id,
+			    const Interval<T, Interval_Info>& b,
+			    const Interval<T, Interval_Info>& w_coeff,
+			    const dimension_type& w_id,
+			    const dimension_type& space_dim) {
+
+  PPL_DIRTY_TEMP(N, b_ub);
+  assign_r(b_ub, b.upper(), ROUND_NOT_NEEDED);
+  PPL_DIRTY_TEMP(N, b_mlb);
+  neg_assign_r(b_mlb, b.lower(), ROUND_NOT_NEEDED);
+
+  // True if `w_coeff' is in [1, 1].
+  bool is_w_coeff_one = (w_coeff == 1);
+
+  if (w_id == var_id) {
+    // True if `b' is in [b_mlb, b_ub] and that is [0, 0].
+    bool is_b_zero = (b_mlb == 0 && b_ub == 0);
+    // Here `lf' is of the form: [+/-1, +/-1] * v + b.
+    if (is_w_coeff_one) {
+      if (is_b_zero)
+        // The transformation is the identity function.
+        return;
+      else {
+        // Translate all the constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_mlb'.
+        DB_Row<N>& dbm_v = dbm[var_id];
+        for (dimension_type i = space_dim + 1; i-- > 0; ) {
+          N& dbm_vi = dbm_v[i];
+          add_assign_r(dbm_vi, dbm_vi, b_mlb, ROUND_UP);
+          N& dbm_iv = dbm[i][var_id];
+          add_assign_r(dbm_iv, dbm_iv, b_ub, ROUND_UP);
+        }
+        // Both shortest-path closure and reduction are preserved.
+      }
+    }
+    else {
+      // Here `w_coeff = [-1, -1].
+      // Remove the binary constraints on `var'.
+      forget_binary_dbm_constraints(var_id);
+      using std::swap;
+      swap(dbm[var_id][0], dbm[0][var_id]);
+      // Shortest-path closure is not preserved.
+      reset_shortest_path_closed();
+      if (!is_b_zero) {
+        // Translate the unary constraints on `var' by adding the value
+        // `b_ub' or subtracting the value `b_mlb'.
+        N& dbm_v0 = dbm[var_id][0];
+        add_assign_r(dbm_v0, dbm_v0, b_mlb, ROUND_UP);
+        N& dbm_0v = dbm[0][var_id];
+        add_assign_r(dbm_0v, dbm_0v, b_ub, ROUND_UP);
+      }
+    }
+  }
+  else {
+    // Here `w != var', so that `lf' is of the form
+    // [+/-1, +/-1] * w + b.
+    // Remove all constraints on `var'.
+    forget_all_dbm_constraints(var_id);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    if (is_w_coeff_one) {
+      // Add the new constraints `var - w >= b_mlb'
+      // `and var - w <= b_ub'.
+      add_dbm_constraint(w_id, var_id, b_ub);
+      add_dbm_constraint(var_id, w_id, b_mlb);
+    }
+    else {
+      // We have to add the constraint `v + w == b', over-approximating it
+      // by computing lower and upper bounds for `w'.
+      const N& mlb_w = dbm[w_id][0];
+      if (!is_plus_infinity(mlb_w)) {
+        // Add the constraint `v <= ub - lb_w'.
+        add_assign_r(dbm[0][var_id], b_ub, mlb_w, ROUND_UP);
+        reset_shortest_path_closed();
+      }
+      const N& ub_w = dbm[0][w_id];
+      if (!is_plus_infinity(ub_w)) {
+        // Add the constraint `v >= lb - ub_w'.
+        add_assign_r(dbm[var_id][0], ub_w, b_mlb, ROUND_UP);
+        reset_shortest_path_closed();
+      }
+    }
+  }
+  return;
+}
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
+// General case.
+// Either t == 2, so that
+// lf == i_1*x_1 + i_2*x_2 + ... + i_n*x_n + b, where n >= 2,
+// or t == 1, lf == i*w + b, but i <> [+/-1, +/-1].
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>
+::two_variables_affine_form_image(const dimension_type& var_id,
+           const Linear_Form< Interval<T, Interval_Info> >& lf,
+                             const dimension_type& space_dim) {
+  // Shortest-path closure is maintained, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+  reset_shortest_path_closed();
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  Linear_Form< Interval<T, Interval_Info> > minus_lf(lf);
+  minus_lf.negate();
+
+  // Declare temporaries outside the loop.
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  // Update binary constraints on var FIRST.
+  for (dimension_type curr_var = 1; curr_var < var_id; ++curr_var) {
+    Variable current(curr_var - 1);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED);
+  }
+  for (dimension_type curr_var = var_id + 1; curr_var <= space_dim;
+                                                      ++curr_var) {
+    Variable current(curr_var - 1);
+    linear_form_upper_bound(lf - current, upper_bound);
+    assign_r(dbm[curr_var][var_id], upper_bound, ROUND_NOT_NEEDED);
+    linear_form_upper_bound(minus_lf + current, upper_bound);
+    assign_r(dbm[var_id][curr_var], upper_bound, ROUND_NOT_NEEDED);
+  }
+  // Finally, update unary constraints on var.
+  PPL_DIRTY_TEMP(N, lf_ub);
+  linear_form_upper_bound(lf, lf_ub);
+  PPL_DIRTY_TEMP(N, minus_lf_ub);
+  linear_form_upper_bound(minus_lf, minus_lf_ub);
+  assign_r(dbm[0][var_id], lf_ub, ROUND_NOT_NEEDED);
+  assign_r(dbm[var_id][0], minus_lf_ub, ROUND_NOT_NEEDED);
+}
+
+template <typename T>
+template <typename Interval_Info>
+void BD_Shape<T>::refine_with_linear_form_inequality(
+                   const Linear_Form< Interval<T, Interval_Info> >& left,
+                   const Linear_Form< Interval<T, Interval_Info> >& right) {
+    // Check that T is a floating point type.
+    PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+		    "Octagonal_Shape<T>::refine_with_linear_form_inequality:"
+		    " T not a floating point type.");
+
+    //We assume that the analyzer will not try to apply an unreachable filter.
+    PPL_ASSERT(!marked_empty());
+
+    // Dimension-compatibility checks.
+    // The dimensions of `left' and `right' should not be greater than the
+    // dimension of `*this'.
+    const dimension_type left_space_dim = left.space_dimension();
+    const dimension_type space_dim = space_dimension();
+    if (space_dim < left_space_dim)
+      throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "left", left);
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+    const dimension_type right_space_dim = right.space_dimension();
+    if (space_dim < right_space_dim)
+      throw_dimension_incompatible(
+          "refine_with_linear_form_inequality(left, right)", "right", right);
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+  // Number of non-zero coefficients in `left': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type left_t = 0;
+  // Variable-index of the last non-zero coefficient in `left', if any.
+  dimension_type left_w_id = 0;
+  // Number of non-zero coefficients in `right': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type right_t = 0;
+  // Variable-index of the last non-zero coefficient in `right', if any.
+  dimension_type right_w_id = 0;
 
-    \param pcs
-    Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
-    variables not in \p vars, the behavior is undefined.
-    When non-null, the pointed-to constraint system is assumed to
-    represent the conditional or looping construct guard with respect
-    to which wrapping is performed.  Since wrapping requires the
-    computation of upper bounds and due to non-distributivity of
-    constraint refinement over upper bounds, passing a constraint
-    system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
 
-    \param complexity_threshold
-    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
-    higher values result in possibly improved precision.
+  // Get information about the number of non-zero coefficients in `left'.
+  for (dimension_type i = left_space_dim; i-- > 0; )
+    if (left.coefficient(Variable(i)) != 0) {
+      if (left_t++ == 1)
+        break;
+      else
+        left_w_id = i;
+    }
 
-    \param wrap_individually
-    <CODE>true</CODE> if the dimensions should be wrapped individually
-    (something that results in much greater efficiency to the detriment of
-    precision).
+  // Get information about the number of non-zero coefficients in `right'.
+  for (dimension_type i = right_space_dim; i-- > 0; )
+    if (right.coefficient(Variable(i)) != 0) {
+      if (right_t++ == 1)
+        break;
+      else
+        right_w_id = i;
+    }
 
-    \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
-    \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
-  */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+  const FP_Interval_Type& left_w_coeff =
+          left.coefficient(Variable(left_w_id));
+  const FP_Interval_Type& right_w_coeff =
+          right.coefficient(Variable(right_w_id));
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
+  if (left_t == 0) {
+    if (right_t == 0) {
+      // The constraint involves constants only. Ignore it: it is up to
+      // the analyzer to handle it.
+      PPL_ASSERT(OK());
+      return;
+    }
+    else if (right_w_coeff == 1 || right_w_coeff == -1) {
+      left_inhomogeneous_refine(right_t, right_w_id, left, right);
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
+  else if (left_t == 1) {
+    if (left_w_coeff == 1 || left_w_coeff == -1) {
+      if (right_t == 0 || (right_w_coeff == 1 || right_w_coeff == -1)) {
+	left_one_var_refine(left_w_id, right_t, right_w_id, left, right);
+	PPL_ASSERT(OK());
+	return;
+      }
+    }
+  }
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+  // General case.
+  general_refine(left_w_id, right_w_id, left, right);
+  PPL_ASSERT(OK());
+} // end of refine_with_linear_form_inequality
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+template <typename T>
+template <typename U>
+void
+BD_Shape<T>
+::export_interval_constraints(U& dest) const {
+  const dimension_type space_dim = space_dimension();
+  if (space_dim > dest.space_dimension())
+    throw std::invalid_argument(
+               "BD_Shape<T>::export_interval_constraints");
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
+  // Expose all the interval constraints.
+  shortest_path_closure_assign();
 
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
+  if (marked_empty()) {
+    dest.set_empty();
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+  PPL_DIRTY_TEMP(N, tmp);
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    // Set the upper bound.
+    const N& u = dbm_0[i+1];
+    if (!is_plus_infinity(u))
+      if (!dest.restrict_upper(i, u.raw_value()))
+        return;
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+    // Set the lower bound.
+    const N& negated_l = dbm[i+1][0];
+    if (!is_plus_infinity(negated_l)) {
+      neg_assign_r(tmp, negated_l, ROUND_DOWN);
+      if (!dest.restrict_lower(i, tmp.raw_value()))
+        return;
+    }
+  }
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::left_inhomogeneous_refine(const dimension_type& right_t,
+				       const dimension_type& right_w_id,
+		    const Linear_Form< Interval<T, Interval_Info> >& left,
+		    const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  if (right_t == 1) {
+    // The constraint has the form [a-, a+] <= [b-, b+] + [c-, c+] * x.
+    // Reduce it to the constraint +/-x <= b+ - a- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+      if (right_w_coeff == 1) {
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(right_w_id+1, 0, b_plus_minus_a_minus);
+        return;
+      }
 
-    \param y
-    An OS that <EM>must</EM> be contained in \p *this.
+      if (right_w_coeff == -1) {
+        PPL_DIRTY_TEMP(N, b_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_b = right.inhomogeneous_term();
+        sub_assign_r(b_plus_minus_a_minus, right_b.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(0, right_w_id+1, b_plus_minus_a_minus);
+        return;
+      }
+    }
+} // end of left_inhomogeneous_refine
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void CC76_extrapolation_assign(const Octagonal_Shape& y, unsigned* tp = 0);
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::left_one_var_refine(const dimension_type& left_w_id,
+		      const dimension_type& right_t,
+		      const dimension_type& right_w_id,
+	        const Linear_Form< Interval<T, Interval_Info> >& left,
+		const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+    if (right_t == 0) {
+      // The constraint has the form [b-, b+] + [c-, c+] * x <= [a-, a+]
+      // Reduce it to the constraint +/-x <= a+ - b- if [c-, c+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+	left.coefficient(Variable(left_w_id));
+
+      if (left_w_coeff == 1) {
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(0, left_w_id+1, a_plus_minus_b_minus);
+        return;
+      }
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-extrapolation" between \p *this and \p y.
+      if (left_w_coeff == -1) {
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(left_w_id+1, 0, a_plus_minus_b_minus);
+        return;
+      }
+    }
+    else if (right_t == 1) {
+      // The constraint has the form
+      // [a-, a+] + [b-, b+] * x <= [c-, c+] + [d-, d+] * y.
+      // Reduce it to the constraint +/-x +/-y <= c+ - a-
+      // if [b-, b+] = +/-[1, 1] and [d-, d+] = +/-[1, 1].
+      const FP_Interval_Type& left_w_coeff =
+                              left.coefficient(Variable(left_w_id));
+
+      const FP_Interval_Type& right_w_coeff =
+	                      right.coefficient(Variable(right_w_id));
+
+      bool is_left_coeff_one = (left_w_coeff == 1);
+      bool is_left_coeff_minus_one = (left_w_coeff == -1);
+      bool is_right_coeff_one = (right_w_coeff == 1);
+      bool is_right_coeff_minus_one = (right_w_coeff == -1);
+      if (left_w_id == right_w_id) {
+        if ((is_left_coeff_one && is_right_coeff_one)
+            ||
+            (is_left_coeff_minus_one && is_right_coeff_minus_one)) {
+          // Here we have an identity or a constants-only constraint.
+          return;
+        }
+        if (is_left_coeff_one && is_right_coeff_minus_one) {
+          // We fall back to a previous case.
+          PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                            ROUND_UP);
+          add_dbm_constraint(0, left_w_id + 1, a_plus_minus_b_minus);
+          return;
+        }
+        if (is_left_coeff_minus_one && is_right_coeff_one) {
+          // We fall back to a previous case.
+	  PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+          const FP_Interval_Type& left_b = left.inhomogeneous_term();
+          const FP_Interval_Type& right_a = right.inhomogeneous_term();
+          sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+          div_2exp_assign_r(a_plus_minus_b_minus, a_plus_minus_b_minus, 1,
+                            ROUND_UP);
+          add_dbm_constraint(right_w_id + 1, 0, a_plus_minus_b_minus);
+          return;
+        }
+      }
+      else if (is_left_coeff_minus_one && is_right_coeff_one) {
+        // over-approximate (if is it possible) the inequality
+        // -B + [b1, b2] <= A + [a1, a2] by adding the constraints
+        // -B <= upper_bound(A) + (a2 - b1) and
+        // -A <= upper_bound(B) + (a2 - b1)
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+        PPL_DIRTY_TEMP(N, ub);
+        ub = dbm[0][right_w_id + 1];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(left_w_id + 1, 0, ub);
+        }
+        ub = dbm[0][left_w_id + 1];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(right_w_id + 1, 0, ub);
+        }
+        return;
+      }
+      if (is_left_coeff_one && is_right_coeff_minus_one) {
+        // over-approximate (if is it possible) the inequality
+        // B + [b1, b2] <= -A + [a1, a2] by adding the constraints
+        // B <= upper_bound(-A) + (a2 - b1) and
+        // A <= upper_bound(-B) + (a2 - b1)
+        PPL_DIRTY_TEMP(N, a_plus_minus_b_minus);
+        const FP_Interval_Type& left_b = left.inhomogeneous_term();
+        const FP_Interval_Type& right_a = right.inhomogeneous_term();
+        sub_assign_r(a_plus_minus_b_minus, right_a.upper(), left_b.lower(),
+                       ROUND_UP);
+        PPL_DIRTY_TEMP(N, ub);
+        ub = dbm[right_w_id + 1][0];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(0, left_w_id + 1, ub);
+        }
+        ub = dbm[left_w_id + 1][0];
+        if (!is_plus_infinity(ub)) {
+          add_assign_r(ub, ub, a_plus_minus_b_minus, ROUND_UP);
+          add_dbm_constraint(0, right_w_id + 1, ub);
+        }
+	    return;
+      }
+      if (is_left_coeff_one && is_right_coeff_one) {
+	PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+	const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(right_w_id+1, left_w_id+1, c_plus_minus_a_minus);
+	return;
+      }
+      if (is_left_coeff_minus_one && is_right_coeff_minus_one) {
+        PPL_DIRTY_TEMP(N, c_plus_minus_a_minus);
+        const FP_Interval_Type& left_a = left.inhomogeneous_term();
+        const FP_Interval_Type& right_c = right.inhomogeneous_term();
+        sub_assign_r(c_plus_minus_a_minus, right_c.upper(), left_a.lower(),
+                     ROUND_UP);
+        add_dbm_constraint(left_w_id+1, right_w_id+1, c_plus_minus_a_minus);
+        return;
+      }
+    }
+}
 
-    \param y
-    An OS that <EM>must</EM> be contained in \p *this.
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>
+::general_refine(const dimension_type& left_w_id,
+		 const dimension_type& right_w_id,
+		 const Linear_Form< Interval<T, Interval_Info> >& left,
+		 const Linear_Form< Interval<T, Interval_Info> >& right) {
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+  Linear_Form<FP_Interval_Type> right_minus_left(right);
+  right_minus_left -= left;
+
+  // Declare temporaries outside of the loop.
+  PPL_DIRTY_TEMP(N, low_coeff);
+  PPL_DIRTY_TEMP(N, high_coeff);
+  PPL_DIRTY_TEMP(N, upper_bound);
+
+  dimension_type max_w_id = std::max(left_w_id, right_w_id);
+
+  for (dimension_type first_v = 0; first_v < max_w_id; ++first_v) {
+    for (dimension_type second_v = first_v+1;
+         second_v <= max_w_id; ++second_v) {
+      const FP_Interval_Type& lfv_coefficient =
+	left.coefficient(Variable(first_v));
+      const FP_Interval_Type& lsv_coefficient =
+	left.coefficient(Variable(second_v));
+      const FP_Interval_Type& rfv_coefficient =
+	right.coefficient(Variable(first_v));
+      const FP_Interval_Type& rsv_coefficient =
+	right.coefficient(Variable(second_v));
+      // We update the constraints only when both variables appear in at
+      // least one argument.
+      bool do_update = false;
+      assign_r(low_coeff, lfv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, lfv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0) {
+        assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0)
+          do_update = true;
+        else {
+          assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+        }
+      }
+      else {
+        assign_r(low_coeff, rfv_coefficient.lower(), ROUND_NOT_NEEDED);
+        assign_r(high_coeff, rfv_coefficient.upper(), ROUND_NOT_NEEDED);
+        if (low_coeff != 0 || high_coeff != 0) {
+          assign_r(low_coeff, lsv_coefficient.lower(), ROUND_NOT_NEEDED);
+          assign_r(high_coeff, lsv_coefficient.upper(), ROUND_NOT_NEEDED);
+          if (low_coeff != 0 || high_coeff != 0)
+            do_update = true;
+          else {
+            assign_r(low_coeff, rsv_coefficient.lower(), ROUND_NOT_NEEDED);
+            assign_r(high_coeff, rsv_coefficient.upper(), ROUND_NOT_NEEDED);
+            if (low_coeff != 0 || high_coeff != 0)
+              do_update = true;
+          }
+        }
+      }
 
-    \param first
-    An iterator that points to the first stop_point.
+      if (do_update) {
+        Variable first(first_v);
+        Variable second(second_v);
+        dimension_type n_first_var = first_v +1 ;
+        dimension_type n_second_var = second_v + 1;
+        linear_form_upper_bound(right_minus_left - first + second,
+                                upper_bound);
+        add_dbm_constraint(n_first_var, n_second_var, upper_bound);
+        linear_form_upper_bound(right_minus_left + first - second,
+                                upper_bound);
+        add_dbm_constraint(n_second_var, n_first_var, upper_bound);
+      }
+    }
+  }
 
-    \param last
-    An iterator that points to the last stop_point.
+  // Finally, update the unary constraints.
+  for (dimension_type v = 0; v < max_w_id; ++v) {
+    const FP_Interval_Type& lv_coefficient =
+      left.coefficient(Variable(v));
+    const FP_Interval_Type& rv_coefficient =
+      right.coefficient(Variable(v));
+    // We update the constraints only if v appears in at least one of the
+    // two arguments.
+    bool do_update = false;
+    assign_r(low_coeff, lv_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(high_coeff, lv_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (low_coeff != 0 || high_coeff != 0)
+      do_update = true;
+    else {
+      assign_r(low_coeff, rv_coefficient.lower(), ROUND_NOT_NEEDED);
+      assign_r(high_coeff, rv_coefficient.upper(), ROUND_NOT_NEEDED);
+      if (low_coeff != 0 || high_coeff != 0)
+        do_update = true;
+    }
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+    if (do_update) {
+      Variable var(v);
+      dimension_type n_var = v + 1;
+      linear_form_upper_bound(right_minus_left + var, upper_bound);
+      add_dbm_constraint(0, n_var, upper_bound);
+      linear_form_upper_bound(right_minus_left - var, upper_bound);
+      add_dbm_constraint(n_var, 0, upper_bound);
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  template <typename Iterator>
-  void CC76_extrapolation_assign(const Octagonal_Shape& y,
-                                 Iterator first, Iterator last,
-                                 unsigned* tp = 0);
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref BHMZ05_widening "BHMZ05-widening" between \p *this and \p y.
+template <typename T>
+template <typename Interval_Info>
+void
+BD_Shape<T>::
+linear_form_upper_bound(const Linear_Form< Interval<T, Interval_Info> >& lf,
+			N& result) const {
+
+  // Check that T is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<T>::is_exact,
+                     "BD_Shape<T>::linear_form_upper_bound:"
+                     " T not a floating point type.");
+
+  const dimension_type lf_space_dimension = lf.space_dimension();
+  PPL_ASSERT(lf_space_dimension <= space_dimension());
+
+  typedef Interval<T, Interval_Info> FP_Interval_Type;
+
+  PPL_DIRTY_TEMP(N, curr_lb);
+  PPL_DIRTY_TEMP(N, curr_ub);
+  PPL_DIRTY_TEMP(N, curr_var_ub);
+  PPL_DIRTY_TEMP(N, curr_minus_var_ub);
+
+  PPL_DIRTY_TEMP(N, first_comparison_term);
+  PPL_DIRTY_TEMP(N, second_comparison_term);
+
+  PPL_DIRTY_TEMP(N, negator);
+
+  assign_r(result, lf.inhomogeneous_term().upper(), ROUND_NOT_NEEDED);
+
+  for (dimension_type curr_var = 0, n_var = 0; curr_var < lf_space_dimension;
+       ++curr_var) {
+    n_var = curr_var + 1;
+    const FP_Interval_Type& curr_coefficient =
+                            lf.coefficient(Variable(curr_var));
+    assign_r(curr_lb, curr_coefficient.lower(), ROUND_NOT_NEEDED);
+    assign_r(curr_ub, curr_coefficient.upper(), ROUND_NOT_NEEDED);
+    if (curr_lb != 0 || curr_ub != 0) {
+      assign_r(curr_var_ub, dbm[0][n_var], ROUND_NOT_NEEDED);
+      neg_assign_r(curr_minus_var_ub, dbm[n_var][0], ROUND_NOT_NEEDED);
+      // Optimize the most commons cases: curr = +/-[1, 1].
+      if (curr_lb == 1 && curr_ub == 1) {
+        add_assign_r(result, result, std::max(curr_var_ub, curr_minus_var_ub),
+                     ROUND_UP);
+      }
+      else if (curr_lb == -1 && curr_ub == -1) {
+        neg_assign_r(negator, std::min(curr_var_ub, curr_minus_var_ub),
+                     ROUND_NOT_NEEDED);
+        add_assign_r(result, result, negator, ROUND_UP);
+      }
+      else {
+        // Next addend will be the maximum of four quantities.
+        assign_r(first_comparison_term, 0, ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(first_comparison_term, curr_var_ub, curr_ub,
+                         ROUND_UP);
+        add_mul_assign_r(second_comparison_term, curr_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_ub,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+        assign_r(second_comparison_term, 0, ROUND_NOT_NEEDED);
+        add_mul_assign_r(second_comparison_term, curr_minus_var_ub, curr_lb,
+                         ROUND_UP);
+        assign_r(first_comparison_term, std::max(first_comparison_term,
+                                                 second_comparison_term),
+                 ROUND_NOT_NEEDED);
+
+        add_assign_r(result, result, first_comparison_term, ROUND_UP);
+      }
+    }
+  }
+}
 
-    \param y
-    An OS that <EM>must</EM> be contained in \p *this.
+template <typename T>
+void
+BD_Shape<T>::affine_preimage(const Variable var,
+                             const Linear_Expression& expr,
+                             Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void BHMZ05_widening_assign(const Octagonal_Shape& y, unsigned* tp = 0);
+  // `var' should be one of the dimensions of
+  // the bounded difference shapes.
+  const dimension_type v = var.id() + 1;
+  if (v > space_dim)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", var.id());
 
-  //! Same as BHMZ05_widening_assign(y, tp).
-  void widening_assign(const Octagonal_Shape& y, unsigned* tp = 0);
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  /*! \brief
-    Improves the result of the \ref BHMZ05_widening "BHMZ05-widening"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+  const Coefficient& b = expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `expr', if any.
+  dimension_type j = expr.last_nonzero();
 
-    \param y
-    An OS that <EM>must</EM> be contained in \p *this.
+  if (j != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, j))
+      ++t;
+  }
 
-    \param cs
-    The system of constraints used to improve the widened OS.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr = b, with `b' a constant;
+  // - If t == 1, then expr = a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t > 1, the `expr' is of the general form.
+  if (t == 0) {
+    // Case 1: expr = n; remove all constraints on `var'.
+    forget_all_dbm_constraints(v);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  if (t == 1) {
+    // Value of the one and only non-zero coefficient in `expr'.
+    const Coefficient& a = expr.get(Variable(j - 1));
+    if (a == denominator || a == -denominator) {
+      // Case 2: expr = a*w + b, with a = +/- denominator.
+      if (j == var.space_dimension())
+        // Apply affine_image() on the inverse of this transformation.
+        affine_image(var, denominator*var - b, a);
+      else {
+        // `expr == a*w + b', where `w != v'.
+        // Remove all constraints on `var'.
+        forget_all_dbm_constraints(v);
+        // Shortest-path closure is preserved, but not reduction.
+        if (marked_shortest_path_reduced())
+          reset_shortest_path_reduced();
+        PPL_ASSERT(OK());
+      }
+      return;
+    }
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
-    if there is in \p cs a strict inequality.
-  */
-  void limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y,
-                                           const Constraint_System& cs,
-                                           unsigned* tp = 0);
+  // General case.
+  // Either t == 2, so that
+  // expr = a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t = 1, expr = a*w + b, but a <> +/- denominator.
+  const Coefficient& expr_v = expr.coefficient(var);
+  if (expr_v != 0) {
+    // The transformation is invertible.
+    Linear_Expression inverse((expr_v + denominator)*var);
+    inverse -= expr;
+    affine_image(var, inverse, expr_v);
+  }
+  else {
+    // Transformation not invertible: all constraints on `var' are lost.
+    forget_all_dbm_constraints(v);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+  }
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Restores from \p y the constraints of \p *this, lost by
-    \ref CC76_extrapolation "CC76-extrapolation" applications.
+template <typename T>
+void
+BD_Shape<T>
+::bounded_affine_image(const Variable var,
+                       const Linear_Expression& lb_expr,
+                       const Linear_Expression& ub_expr,
+                       Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
-    \param y
-    An OS that <EM>must</EM> contain \p *this.
+  // Dimension-compatibility checks.
+  // `var' should be one of the dimensions of the BD_Shape.
+  const dimension_type bds_space_dim = space_dimension();
+  const dimension_type v = var.id() + 1;
+  if (v > bds_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 "v", var);
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (bds_space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (bds_space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+                                 "ub", ub_expr);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void CC76_narrowing_assign(const Octagonal_Shape& y);
+  // Any image of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  /*! \brief
-    Improves the result of the \ref CC76_extrapolation "CC76-extrapolation"
-    computation by also enforcing those constraints in \p cs that are
-    satisfied by all the points of \p *this.
+  const Coefficient& b = ub_expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `ub_expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `ub_expr', if any.
+  dimension_type w = ub_expr.last_nonzero();
 
-    \param y
-    An OS that <EM>must</EM> be contained in \p *this.
+  if (w != 0) {
+    ++t;
+    if (!ub_expr.all_zeroes(1, w))
+      ++t;
+  }
 
-    \param cs
-    The system of constraints used to improve the widened OS.
+  // Now we know the form of `ub_expr':
+  // - If t == 0, then ub_expr == b, with `b' a constant;
+  // - If t == 1, then ub_expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `ub_expr' is of the general form.
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
+  if (t == 0) {
+    // Case 1: ub_expr == b.
+    generalized_affine_image(var,
+                             GREATER_OR_EQUAL,
+                             lb_expr,
+                             denominator);
+    // Add the constraint `var <= b/denominator'.
+    add_dbm_constraint(0, v, b, denominator);
+    PPL_ASSERT(OK());
+    return;
+  }
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
-    if \p cs contains a strict inequality.
-  */
-  void limited_CC76_extrapolation_assign(const Octagonal_Shape& y,
-                                         const Constraint_System& cs,
-                                         unsigned* tp = 0);
+  if (t == 1) {
+    // Value of the one and only non-zero coefficient in `ub_expr'.
+    const Coefficient& a = ub_expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
+      // Case 2: expr == a*w + b, with a == +/- denominator.
+      if (w == v) {
+        // Here `var' occurs in `ub_expr'.
+        // To ease the computation, we add an additional dimension.
+        const Variable new_var(bds_space_dim);
+        add_space_dimensions_and_embed(1);
+        // Constrain the new dimension to be equal to `ub_expr'.
+        affine_image(new_var, ub_expr, denominator);
+        // NOTE: enforce shortest-path closure for precision.
+        shortest_path_closure_assign();
+        PPL_ASSERT(!marked_empty());
+        // Apply the affine lower bound.
+        generalized_affine_image(var,
+                                 GREATER_OR_EQUAL,
+                                 lb_expr,
+                                 denominator);
+        // Now apply the affine upper bound, as recorded in `new_var'.
+        add_constraint(var <= new_var);
+        // Remove the temporarily added dimension.
+        remove_higher_space_dimensions(bds_space_dim);
+        return;
+      }
+      else {
+        // Here `w != v', so that `expr' is of the form
+        // +/-denominator * w + b.
+        // Apply the affine lower bound.
+        generalized_affine_image(var,
+                                 GREATER_OR_EQUAL,
+                                 lb_expr,
+                                 denominator);
+        if (a == denominator) {
+          // Add the new constraint `v - w == b/denominator'.
+          add_dbm_constraint(w, v, b, denominator);
+        }
+        else {
+          // Here a == -denominator, so that we should be adding
+          // the constraint `v + w == b/denominator'.
+          // Approximate it by computing lower and upper bounds for `w'.
+          const N& dbm_w0 = dbm[w][0];
+          if (!is_plus_infinity(dbm_w0)) {
+            // Add the constraint `v <= b/denominator - lower_w'.
+            PPL_DIRTY_TEMP(N, d);
+            div_round_up(d, b, denominator);
+            add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP);
+            reset_shortest_path_closed();
+          }
+        }
+        PPL_ASSERT(OK());
+        return;
+      }
+    }
+  }
 
-  //@} Space-Dimension Preserving Member Functions that May Modify [...]
+  // General case.
+  // Either t == 2, so that
+  // ub_expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, ub_expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `var' and add back
+  // constraints providing upper and lower bounds for `var'.
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+  // Compute upper approximations for `ub_expr' into `pos_sum'
+  // taking into account the sign of `denominator'.
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign(minus_b, b);
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -ub_expr;
+  const Linear_Expression& sc_expr = is_sc ? ub_expr : minus_expr;
 
-  //! Adds \p m new dimensions and embeds the old OS into the new space.
-  /*!
-    \param m
-    The number of dimensions to add.
+  PPL_DIRTY_TEMP(N, pos_sum);
+  // Index of the variable that are unbounded in `this->dbm'.
+  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pos_pinf_count = 0;
 
-    The new dimensions will be those having the highest indexes in the new OS,
-    which is characterized by a system of constraints in which the variables
-    running through the new dimensions are not constrained.
-    For instance, when starting from the OS \f$\cO \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the OS
-    \f[
-      \bigl\{\,
-        (x, y, z)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cO
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+  // Approximate the inhomogeneous term.
+  assign_r(pos_sum, sc_b, ROUND_UP);
 
-  /*! \brief
-    Adds \p m new dimensions to the OS
-    and does not embed it in the new space.
+  // Approximate the homogeneous part of `sc_expr'.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  // Speculative allocation of temporaries to be used in the following loop.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+  // Note: indices above `w' can be disregarded, as they all have
+  // a zero coefficient in `sc_expr'.
+  for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+    const Coefficient& sc_i = *i;
+    const dimension_type i_dim = i.variable().space_dimension();
+    const int sign_i = sgn(sc_i);
+    if (sign_i > 0) {
+      assign_r(coeff_i, sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& up_approx_i = dbm_0[i_dim];
+        if (!is_plus_infinity(up_approx_i))
+          add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = i_dim;
+        }
+      }
+    }
+    else {
+      PPL_ASSERT(sign_i < 0);
+      neg_assign(minus_sc_i, sc_i);
+      // Note: using temporary named `coeff_i' to store -coeff_i.
+      assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      // Approximating `sc_expr'.
+      if (pos_pinf_count <= 1) {
+        const N& up_approx_minus_i = dbm[i_dim][0];
+        if (!is_plus_infinity(up_approx_minus_i))
+          add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
+        else {
+          ++pos_pinf_count;
+          pos_pinf_index = i_dim;
+        }
+      }
+    }
+  }
+  // Apply the affine lower bound.
+  generalized_affine_image(var,
+                           GREATER_OR_EQUAL,
+                           lb_expr,
+                           denominator);
+  // Return immediately if no approximation could be computed.
+  if (pos_pinf_count > 1) {
+    return;
+  }
 
-    \param m
-    The number of dimensions to add.
+  // In the following, shortest-path closure will be definitely lost.
+  reset_shortest_path_closed();
 
-    The new dimensions will be those having the highest indexes
-    in the new OS, which is characterized by a system
-    of constraints in which the variables running through
-    the new dimensions are all constrained to be equal to 0.
-    For instance, when starting from the OS \f$\cO \sseq \Rset^2\f$
-    and adding a third dimension, the result will be the OS
-    \f[
-      \bigl\{\,
-        (x, y, 0)^\transpose \in \Rset^3
-      \bigm|
-        (x, y)^\transpose \in \cO
-      \,\bigr\}.
-    \f]
-  */
-  void add_space_dimensions_and_project(dimension_type m);
+  // Exploit the upper approximation, if possible.
+  if (pos_pinf_count <= 1) {
+    // Compute quotient (if needed).
+    if (sc_denom != 1) {
+      // Before computing quotients, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(pos_sum, pos_sum, down_sc_denom, ROUND_UP);
+    }
+    // Add the upper bound constraint, if meaningful.
+    if (pos_pinf_count == 0) {
+      // Add the constraint `v <= pos_sum'.
+      dbm[0][v] = pos_sum;
+      // Deduce constraints of the form `v - u', where `u != v'.
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, pos_sum);
+    }
+    else
+      // Here `pos_pinf_count == 1'.
+      if (pos_pinf_index != v
+          && sc_expr.get(Variable(pos_pinf_index - 1)) == sc_denom)
+        // Add the constraint `v - pos_pinf_index <= pos_sum'.
+        dbm[pos_pinf_index][v] = pos_sum;
+  }
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
-    of \p *this and \p y, taken in this order.
+template <typename T>
+void
+BD_Shape<T>
+::bounded_affine_preimage(const Variable var,
+                          const Linear_Expression& lb_expr,
+                          const Linear_Expression& ub_expr,
+                          Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void concatenate_assign(const Octagonal_Shape& y);
+  // Dimension-compatibility checks.
+  // `var' should be one of the dimensions of the BD_Shape.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type v = var.id() + 1;
+  if (v > space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 "v", var);
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+                                 "ub", ub_expr);
 
-  //! Removes all the specified dimensions.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the dimensions to be removed.
+  // Any preimage of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p vars.
-  */
-  void remove_space_dimensions(const Variables_Set& vars);
+  if (ub_expr.coefficient(var) == 0) {
+    refine(var, LESS_OR_EQUAL, ub_expr, denominator);
+    generalized_affine_preimage(var, GREATER_OR_EQUAL,
+                                lb_expr, denominator);
+    return;
+  }
+  if (lb_expr.coefficient(var) == 0) {
+    refine(var, GREATER_OR_EQUAL, lb_expr, denominator);
+    generalized_affine_preimage(var, LESS_OR_EQUAL,
+                                ub_expr, denominator);
+    return;
+  }
 
-  /*! \brief
-    Removes the higher dimensions so that the resulting space
-    will have dimension \p new_dimension.
+  const Coefficient& lb_expr_v = lb_expr.coefficient(var);
+  // Here `var' occurs in `lb_expr' and `ub_expr'.
+  // To ease the computation, we add an additional dimension.
+  const Variable new_var(space_dim);
+  add_space_dimensions_and_embed(1);
+  const Linear_Expression lb_inverse
+    = lb_expr - (lb_expr_v + denominator)*var;
+  PPL_DIRTY_TEMP_COEFFICIENT(lb_inverse_denom);
+  neg_assign(lb_inverse_denom, lb_expr_v);
+  affine_image(new_var, lb_inverse, lb_inverse_denom);
+  shortest_path_closure_assign();
+  PPL_ASSERT(!marked_empty());
+  generalized_affine_preimage(var, LESS_OR_EQUAL,
+                              ub_expr, denominator);
+  if (sgn(denominator) == sgn(lb_inverse_denom))
+    add_constraint(var >= new_var);
+  else
+    add_constraint(var <= new_var);
+  // Remove the temporarily added dimension.
+  remove_higher_space_dimensions(space_dim);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimension is greater than the space dimension
-    of \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+template <typename T>
+void
+BD_Shape<T>::generalized_affine_image(const Variable var,
+                                      const Relation_Symbol relsym,
+                                      const Linear_Expression& expr,
+                                      Coefficient_traits::const_reference
+                                      denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
+                                 "e", expr);
 
-    \param pfunc
-    The partial function specifying the destiny of each dimension.
+  // `var' should be one of the dimensions of the BDS.
+  const dimension_type v = var.id() + 1;
+  if (v > space_dim)
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
+                                 var.id());
 
-    The template type parameter Partial_Function must provide
-    the following methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty codomain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the codomain
-    of the partial function.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.
-    If \f$f\f$ is undefined in \f$k\f$, then <CODE>false</CODE> is
-    returned.
+  // The relation symbol cannot be a strict relation symbol.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in the
-    \ref Mapping_the_Dimensions_of_the_Vector_Space "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+  if (relsym == EQUAL) {
+    // The relation symbol is "=":
+    // this is just an affine image computation.
+    affine_image(var, expr, denominator);
+    return;
+  }
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-    \param m
-    The number of replicas to be created.
+  const Coefficient& b = expr.inhomogeneous_term();
+  // Number of non-zero coefficients in `expr': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t = 0;
+  // Index of the last non-zero coefficient in `expr', if any.
+  dimension_type w = expr.last_nonzero();
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector space.
+  if (w != 0) {
+    ++t;
+    if (!expr.all_zeroes(1, w))
+      ++t;
+  }
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+  // Now we know the form of `expr':
+  // - If t == 0, then expr == b, with `b' a constant;
+  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
+  //   variable; in this second case we have to check whether `a' is
+  //   equal to `denominator' or `-denominator', since otherwise we have
+  //   to fall back on the general form;
+  // - If t == 2, the `expr' is of the general form.
+  DB_Row<N>& dbm_0 = dbm[0];
+  DB_Row<N>& dbm_v = dbm[v];
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_denom);
+  neg_assign(minus_denom, denominator);
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref expand_space_dimension "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
+  if (t == 0) {
+    // Case 1: expr == b.
+    // Remove all constraints on `var'.
+    forget_all_dbm_constraints(v);
+    // Both shortest-path closure and reduction are lost.
+    reset_shortest_path_closed();
+    switch (relsym) {
+    case LESS_OR_EQUAL:
+      // Add the constraint `var <= b/denominator'.
+      add_dbm_constraint(0, v, b, denominator);
+      break;
+    case GREATER_OR_EQUAL:
+      // Add the constraint `var >= b/denominator',
+      // i.e., `-var <= -b/denominator',
+      add_dbm_constraint(v, 0, b, minus_denom);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+    PPL_ASSERT(OK());
+    return;
+  }
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+  if (t == 1) {
+    // Value of the one and only non-zero coefficient in `expr'.
+    const Coefficient& a = expr.get(Variable(w - 1));
+    if (a == denominator || a == minus_denom) {
+      // Case 2: expr == a*w + b, with a == +/- denominator.
+      PPL_DIRTY_TEMP(N, d);
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        div_round_up(d, b, denominator);
+        if (w == v) {
+          // `expr' is of the form: a*v + b.
+          // Shortest-path closure and reduction are not preserved.
+          reset_shortest_path_closed();
+          if (a == denominator) {
+            // Translate each constraint `v - w <= dbm_wv'
+            // into the constraint `v - w <= dbm_wv + b/denominator';
+            // forget each constraint `w - v <= dbm_vw'.
+            for (dimension_type i = space_dim + 1; i-- > 0; ) {
+              N& dbm_iv = dbm[i][v];
+              add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP);
+              assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+          }
+          else {
+            // Here `a == -denominator'.
+            // Translate the constraint `0 - v <= dbm_v0'
+            // into the constraint `0 - v <= dbm_v0 + b/denominator'.
+            N& dbm_v0 = dbm_v[0];
+            add_assign_r(dbm_0[v], dbm_v0, d, ROUND_UP);
+            // Forget all the other constraints on `v'.
+            assign_r(dbm_v0, PLUS_INFINITY, ROUND_NOT_NEEDED);
+            forget_binary_dbm_constraints(v);
+          }
+        }
+        else {
+          // Here `w != v', so that `expr' is of the form
+          // +/-denominator * w + b, with `w != v'.
+          // Remove all constraints on `v'.
+          forget_all_dbm_constraints(v);
+          // Shortest-path closure is preserved, but not reduction.
+          if (marked_shortest_path_reduced())
+            reset_shortest_path_reduced();
+          if (a == denominator)
+            // Add the new constraint `v - w <= b/denominator'.
+            add_dbm_constraint(w, v, d);
+          else {
+            // Here a == -denominator, so that we should be adding
+            // the constraint `v <= b/denominator - w'.
+            // Approximate it by computing a lower bound for `w'.
+            const N& dbm_w0 = dbm[w][0];
+            if (!is_plus_infinity(dbm_w0)) {
+              // Add the constraint `v <= b/denominator - lb_w'.
+              add_assign_r(dbm_0[v], d, dbm_w0, ROUND_UP);
+              // Shortest-path closure is not preserved.
+              reset_shortest_path_closed();
+            }
+          }
+        }
+        break;
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+      case GREATER_OR_EQUAL:
+        div_round_up(d, b, minus_denom);
+        if (w == v) {
+          // `expr' is of the form: a*w + b.
+          // Shortest-path closure and reduction are not preserved.
+          reset_shortest_path_closed();
+          if (a == denominator) {
+            // Translate each constraint `w - v <= dbm_vw'
+            // into the constraint `w - v <= dbm_vw - b/denominator';
+            // forget each constraint `v - w <= dbm_wv'.
+            for (dimension_type i = space_dim + 1; i-- > 0; ) {
+              N& dbm_vi = dbm_v[i];
+              add_assign_r(dbm_vi, dbm_vi, d, ROUND_UP);
+              assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
+            }
+          }
+          else {
+            // Here `a == -denominator'.
+            // Translate the constraint `0 - v <= dbm_v0'
+            // into the constraint `0 - v <= dbm_0v - b/denominator'.
+            N& dbm_0v = dbm_0[v];
+            add_assign_r(dbm_v[0], dbm_0v, d, ROUND_UP);
+            // Forget all the other constraints on `v'.
+            assign_r(dbm_0v, PLUS_INFINITY, ROUND_NOT_NEEDED);
+            forget_binary_dbm_constraints(v);
+          }
+        }
+        else {
+          // Here `w != v', so that `expr' is of the form
+          // +/-denominator * w + b, with `w != v'.
+          // Remove all constraints on `v'.
+          forget_all_dbm_constraints(v);
+          // Shortest-path closure is preserved, but not reduction.
+          if (marked_shortest_path_reduced())
+            reset_shortest_path_reduced();
+          if (a == denominator)
+            // Add the new constraint `v - w >= b/denominator',
+            // i.e., `w - v <= -b/denominator'.
+            add_dbm_constraint(v, w, d);
+          else {
+            // Here a == -denominator, so that we should be adding
+            // the constraint `v >= -w + b/denominator',
+            // i.e., `-v <= w - b/denominator'.
+            // Approximate it by computing an upper bound for `w'.
+            const N& dbm_0w = dbm_0[w];
+            if (!is_plus_infinity(dbm_0w)) {
+              // Add the constraint `-v <= ub_w - b/denominator'.
+              add_assign_r(dbm_v[0], dbm_0w, d, ROUND_UP);
+              // Shortest-path closure is not preserved.
+              reset_shortest_path_closed();
+            }
+          }
+        }
+        break;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.
-    Also thrown if \p dest is contained in \p vars.
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      PPL_ASSERT(OK());
+      return;
+    }
+  }
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+  // General case.
+  // Either t == 2, so that
+  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
+  // or t == 1, expr == a*w + b, but a <> +/- denominator.
+  // We will remove all the constraints on `v' and add back
+  // a constraint providing an upper or a lower bound for `v'
+  // (depending on `relsym').
+  const bool is_sc = (denominator > 0);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
+  neg_assign(minus_b, b);
+  const Coefficient& sc_b = is_sc ? b : minus_b;
+  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
+  const Coefficient& sc_denom = is_sc ? denominator : minus_denom;
+  const Coefficient& minus_sc_denom = is_sc ? minus_denom : denominator;
+  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
+  // when `denominator' is negative. Do not use it unless you are sure
+  // it has been correctly assigned.
+  Linear_Expression minus_expr;
+  if (!is_sc)
+    minus_expr = -expr;
+  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  //! Refines \p store with the constraints defining \p *this.
-  /*!
-    \param store
-    The interval floating point abstract store to refine.
-  */
-  template <typename Interval_Info>
-  void refine_fp_interval_abstract_store(
-                          Box< Interval<T, Interval_Info> >& store) const;
+  PPL_DIRTY_TEMP(N, sum);
+  // Index of variable that is unbounded in `this->dbm'.
+  PPL_UNINITIALIZED(dimension_type, pinf_index);
+  // Number of unbounded variables found.
+  dimension_type pinf_count = 0;
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  // Speculative allocation of temporaries to be used in the following loops.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
 
-  PPL_OUTPUT_DECLARATIONS
+  switch (relsym) {
+  case LESS_OR_EQUAL:
+    // Compute an upper approximation for `sc_expr' into `sum'.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+    // Approximate the inhomogeneous term.
+    assign_r(sum, sc_b, ROUND_UP);
+    // Approximate the homogeneous part of `sc_expr'.
+    // Note: indices above `w' can be disregarded, as they all have
+    // a zero coefficient in `sc_expr'.
+    PPL_ASSERT(w != 0);
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const dimension_type i_dim = i.variable().space_dimension();
+      const int sign_i = sgn(sc_i);
+      PPL_ASSERT(sign_i != 0);
+      // Choose carefully: we are approximating `sc_expr'.
+      const N& approx_i = (sign_i > 0) ? dbm_0[i_dim] : dbm[i_dim][0];
+      if (is_plus_infinity(approx_i)) {
+        if (++pinf_count > 1)
+          break;
+        pinf_index = i_dim;
+        continue;
+      }
+      if (sign_i > 0)
+        assign_r(coeff_i, sc_i, ROUND_UP);
+      else {
+        neg_assign(minus_sc_i, sc_i);
+        assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      }
+      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+    }
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    // Remove all constraints on `v'.
+    forget_all_dbm_constraints(v);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    // Return immediately if no approximation could be computed.
+    if (pinf_count > 1) {
+      PPL_ASSERT(OK());
+      return;
+    }
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    // Divide by the (sign corrected) denominator (if needed).
+    if (sc_denom != 1) {
+      // Before computing the quotient, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+    }
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+    if (pinf_count == 0) {
+      // Add the constraint `v <= sum'.
+      add_dbm_constraint(0, v, sum);
+      // Deduce constraints of the form `v - u', where `u != v'.
+      deduce_v_minus_u_bounds(v, w, sc_expr, sc_denom, sum);
+    }
+    else if (pinf_count == 1)
+      if (pinf_index != v && expr.get(Variable(pinf_index - 1)) == denominator)
+        // Add the constraint `v - pinf_index <= sum'.
+        add_dbm_constraint(pinf_index, v, sum);
+    break;
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
-  */
-  int32_t hash_code() const;
+  case GREATER_OR_EQUAL:
+    // Compute an upper approximation for `-sc_expr' into `sum'.
+    // Note: approximating `-sc_expr' from above and then negating the
+    // result is the same as approximating `sc_expr' from below.
 
-  friend bool
-  operator==<T>(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y);
+    // Approximate the inhomogeneous term.
+    assign_r(sum, minus_sc_b, ROUND_UP);
+    // Approximate the homogeneous part of `-sc_expr'.
+    for (Linear_Expression::const_iterator i = sc_expr.begin(),
+        i_end = sc_expr.lower_bound(Variable(w)); i != i_end; ++i) {
+      const Coefficient& sc_i = *i;
+      const int sign_i = sgn(sc_i);
+      PPL_ASSERT(sign_i != 0);
+      const dimension_type i_dim = i.variable().space_dimension();
+      // Choose carefully: we are approximating `-sc_expr'.
+      const N& approx_i = (sign_i > 0) ? dbm[i_dim][0] : dbm_0[i_dim];
+      if (is_plus_infinity(approx_i)) {
+        if (++pinf_count > 1)
+          break;
+        pinf_index = i_dim;
+        continue;
+      }
+      if (sign_i > 0)
+        assign_r(coeff_i, sc_i, ROUND_UP);
+      else {
+        neg_assign(minus_sc_i, sc_i);
+        assign_r(coeff_i, minus_sc_i, ROUND_UP);
+      }
+      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
+    }
 
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::rectilinear_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
-   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::euclidean_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
-   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
-  template <typename Temp, typename To, typename U>
-  friend bool Parma_Polyhedra_Library::l_infinity_distance_assign
-  (Checked_Number<To, Extended_Number_Policy>& r,
-   const Octagonal_Shape<U>& x, const Octagonal_Shape<U>& y,
-   const Rounding_Dir dir, Temp& tmp0, Temp& tmp1, Temp& tmp2);
+    // Remove all constraints on `var'.
+    forget_all_dbm_constraints(v);
+    // Shortest-path closure is preserved, but not reduction.
+    if (marked_shortest_path_reduced())
+      reset_shortest_path_reduced();
+    // Return immediately if no approximation could be computed.
+    if (pinf_count > 1) {
+      PPL_ASSERT(OK());
+      return;
+    }
 
-private:
-  template <typename U> friend class Parma_Polyhedra_Library::Octagonal_Shape;
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+    // Divide by the (sign corrected) denominator (if needed).
+    if (sc_denom != 1) {
+      // Before computing the quotient, the denominator should be approximated
+      // towards zero. Since `sc_denom' is known to be positive, this amounts to
+      // rounding downwards, which is achieved as usual by rounding upwards
+      // `minus_sc_denom' and negating again the result.
+      PPL_DIRTY_TEMP(N, down_sc_denom);
+      assign_r(down_sc_denom, minus_sc_denom, ROUND_UP);
+      neg_assign_r(down_sc_denom, down_sc_denom, ROUND_UP);
+      div_assign_r(sum, sum, down_sc_denom, ROUND_UP);
+    }
 
-  //! The matrix that represents the octagonal shape.
-  OR_Matrix<N> matrix;
+    if (pinf_count == 0) {
+      // Add the constraint `v >= -sum', i.e., `-v <= sum'.
+      add_dbm_constraint(v, 0, sum);
+      // Deduce constraints of the form `u - v', where `u != v'.
+      deduce_u_minus_v_bounds(v, w, sc_expr, sc_denom, sum);
+    }
+    else if (pinf_count == 1)
+      if (pinf_index != v && expr.get(Variable(pinf_index - 1)) == denominator)
+        // Add the constraint `v - pinf_index >= -sum',
+        // i.e., `pinf_index - v <= sum'.
+        add_dbm_constraint(v, pinf_index, sum);
+    break;
 
-  //! Dimension of the space of the octagonal shape.
-  dimension_type space_dim;
+  default:
+    // We already dealt with the other cases.
+    PPL_UNREACHABLE;
+    break;
+  }
+  PPL_ASSERT(OK());
+}
 
-  // Please, do not move the following include directive:
-  // `Og_Status.idefs.hh' must be included exactly at this point.
-  // And please do not remove the space separating `#' from `include':
-  // this ensures that the directive will not be moved during the
-  // procedure that automatically creates the library's include file
-  // (see `Makefile.am' in the `src' directory).
-#define PPL_IN_Octagonal_Shape_CLASS
-/* Automatically generated from PPL source file ../src/Og_Status.idefs.hh line 1. */
-/* Octagonal_Shape<T>::Status class declaration.
-*/
+template <typename T>
+void
+BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
+                                      const Relation_Symbol relsym,
+                                      const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type lhs_space_dim = lhs.space_dimension();
+  if (space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+                                 "e1", lhs);
 
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+                                 "e2", rhs);
 
-#ifndef PPL_IN_Octagonal_Shape_CLASS
-#error "Do not include Og_Status.idefs.hh directly; use Octagonal_Shape.defs.hh instead."
-#endif
+  // Strict relation symbols are not admitted for BDSs.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-//! A conjunctive assertion about a Octagonal_Shape<T> object.
-/*!
-  The assertions supported are:
-  - <EM>zero-dim universe</EM>: the polyhedron is the zero-dimensional
-    vector space \f$\Rset^0 = \{\cdot\}\f$;
-  - <EM>empty</EM>: the polyhedron is the empty set;
-  - <EM>strongly closed</EM>: the Octagonal_Shape object is strongly
-    closed, so that all the constraints are as tight as possible.
+  // The image of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  Not all the conjunctions of these elementary assertions constitute
-  a legal Status.  In fact:
-  - <EM>zero-dim universe</EM> excludes any other assertion;
-  - <EM>empty</EM>: excludes any other assertion.
-*/
-class Status {
-public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
-  Status();
+  // Number of non-zero coefficients in `lhs': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t_lhs = 0;
+  // Index of the last non-zero coefficient in `lhs', if any.
+  dimension_type j_lhs = lhs.last_nonzero();
 
-  //! \name Test, remove or add an individual assertion from the conjunction.
-  //@{
-  bool test_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
+
+  if (t_lhs == 0) {
+    // `lhs' is a constant.
+    // In principle, it is sufficient to add the constraint `lhs relsym rhs'.
+    // Note that this constraint is a bounded difference if `t_rhs <= 1'
+    // or `t_rhs > 1' and `rhs == a*v - a*w + b_rhs'. If `rhs' is of a
+    // more general form, it will be simply ignored.
+    // TODO: if it is not a bounded difference, should we compute
+    // approximations for this constraint?
+    switch (relsym) {
+    case LESS_OR_EQUAL:
+      refine_no_check(lhs <= rhs);
+      break;
+    case EQUAL:
+      refine_no_check(lhs == rhs);
+      break;
+    case GREATER_OR_EQUAL:
+      refine_no_check(lhs >= rhs);
+      break;
+    default:
+      // We already dealt with the other cases.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
+  else if (t_lhs == 1) {
+    // Here `lhs == a_lhs * v + b_lhs'.
+    // Independently from the form of `rhs', we can exploit the
+    // method computing generalized affine images for a single variable.
+    Variable v(j_lhs);
+    // Compute a sign-corrected relation symbol.
+    const Coefficient& denom = lhs.coefficient(v);
+    Relation_Symbol new_relsym = relsym;
+    if (denom < 0) {
+      if (relsym == LESS_OR_EQUAL)
+        new_relsym = GREATER_OR_EQUAL;
+      else if (relsym == GREATER_OR_EQUAL)
+        new_relsym = LESS_OR_EQUAL;
+    }
+    Linear_Expression expr = rhs - b_lhs;
+    generalized_affine_image(v, new_relsym, expr, denom);
+  }
+  else {
+    // Here `lhs' is of the general form, having at least two variables.
+    // Compute the set of variables occurring in `lhs'.
+    std::vector<Variable> lhs_vars;
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
+
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
+      // `lhs' and `rhs' variables are disjoint.
+      // Existentially quantify all variables in the lhs.
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
+      // Constrain the left hand side expression so that it is related to
+      // the right hand side expression as dictated by `relsym'.
+      // TODO: if the following constraint is NOT a bounded difference,
+      // it will be simply ignored. Should we compute approximations for it?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+    }
+    else {
+      // Some variables in `lhs' also occur in `rhs'.
 
-  bool test_strongly_closed() const;
-  void reset_strongly_closed();
-  void set_strongly_closed();
-  //@}
+#if 1 // Simplified computation (see the TODO note below).
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
 
-  /*! \brief
-    Writes to \p s an ASCII representation of the internal
-    representation of \p *this.
-  */
-  void ascii_dump(std::ostream& s) const;
+#else // Currently unnecessarily complex computation.
 
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
+      // More accurate computation that is worth doing only if
+      // the following TODO note is accurately dealt with.
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+      // To ease the computation, we add an additional dimension.
+      const Variable new_var(space_dim);
+      add_space_dimensions_and_embed(1);
+      // Constrain the new dimension to be equal to `rhs'.
+      // NOTE: calling affine_image() instead of refine_no_check()
+      // ensures some approximation is tried even when the constraint
+      // is not a bounded difference.
+      affine_image(new_var, rhs);
+      // Existentially quantify all variables in the lhs.
+      // NOTE: enforce shortest-path closure for precision.
+      shortest_path_closure_assign();
+      PPL_ASSERT(!marked_empty());
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
+      // Constrain the new dimension so that it is related to
+      // the left hand side as dictated by `relsym'.
+      // TODO: each one of the following constraints is definitely NOT
+      // a bounded differences (since it has 3 variables at least).
+      // Thus, the method refine_no_check() will simply ignore it.
+      // Should we compute approximations for this constraint?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= new_var);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == new_var);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= new_var);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      // Remove the temporarily added dimension.
+      remove_higher_space_dimensions(space_dim-1);
+#endif // Currently unnecessarily complex computation.
+    }
+  }
 
-  //! \name Bitmasks for the individual assertions.
-  //@{
-  static const flags_t ZERO_DIM_UNIV   = 0U;
-  static const flags_t EMPTY           = 1U << 0;
-  static const flags_t STRONGLY_CLOSED = 1U << 1;
-  //@}
+  PPL_ASSERT(OK());
+}
 
-  //! This holds the current bitset.
-  flags_t flags;
+template <typename T>
+void
+BD_Shape<T>::generalized_affine_preimage(const Variable var,
+                                         const Relation_Symbol relsym,
+                                         const Linear_Expression& expr,
+                                         Coefficient_traits::const_reference
+                                         denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "d == 0");
 
-  //! Construct from a bitmask.
-  Status(flags_t mask);
+  // Dimension-compatibility checks.
+  // The dimension of `expr' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+                                 "e", expr);
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  // `var' should be one of the dimensions of the BDS.
+  const dimension_type v = var.id() + 1;
+  if (v > space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+                                 var.id());
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  // The relation symbol cannot be a strict relation symbol.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+  if (relsym == EQUAL) {
+    // The relation symbol is "=":
+    // this is just an affine preimage computation.
+    affine_preimage(var, expr, denominator);
+    return;
+  }
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
+  // The preimage of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-};
+  // Check whether the preimage of this affine relation can be easily
+  // computed as the image of its inverse relation.
+  const Coefficient& expr_v = expr.coefficient(var);
+  if (expr_v != 0) {
+    const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL)
+      ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
+    const Linear_Expression inverse
+      = expr - (expr_v + denominator)*var;
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denom);
+    neg_assign(inverse_denom, expr_v);
+    const Relation_Symbol inverse_relsym
+      = (sgn(denominator) == sgn(inverse_denom)) ? relsym : reversed_relsym;
+    generalized_affine_image(var, inverse_relsym, inverse, inverse_denom);
+    return;
+  }
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1793. */
-#undef PPL_IN_Octagonal_Shape_CLASS
+  refine(var, relsym, expr, denominator);
+  // If the shrunk BD_Shape is empty, its preimage is empty too; ...
+  if (is_empty())
+    return;
+  // ...  otherwise, since the relation was not invertible,
+  // we just forget all constraints on `v'.
+  forget_all_dbm_constraints(v);
+  // Shortest-path closure is preserved, but not reduction.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
+  PPL_ASSERT(OK());
+}
 
-  //! The status flags to keep track of the internal state.
-  Status status;
+template <typename T>
+void
+BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
+                                         const Relation_Symbol relsym,
+                                         const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type bds_space_dim = space_dimension();
+  const dimension_type lhs_space_dim = lhs.space_dimension();
+  if (bds_space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
+                                 "e1", lhs);
 
-  //! Returns <CODE>true</CODE> if the OS is the zero-dimensional universe.
-  bool marked_zero_dim_univ() const;
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (bds_space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
+                                 "e2", rhs);
 
-  //! Returns <CODE>true</CODE> if the OS is known to be empty.
-  /*!
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
-  */
-  bool marked_empty() const;
+  // Strict relation symbols are not admitted for BDSs.
+  if (relsym == LESS_THAN || relsym == GREATER_THAN)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is a strict relation symbol");
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \c this->matrix is known to be
-    strongly closed.
+  // The preimage of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \c this->matrix is not strongly closed.
-  */
-  bool marked_strongly_closed() const;
+  // Number of non-zero coefficients in `lhs': will be set to
+  // 0, 1, or 2, the latter value meaning any value greater than 1.
+  dimension_type t_lhs = 0;
+  // Index of the last non-zero coefficient in `lhs', if any.
+  dimension_type j_lhs = lhs.last_nonzero();
 
-  //! Turns \p *this into a zero-dimensional universe OS.
-  void set_zero_dim_univ();
+  if (j_lhs != 0) {
+    ++t_lhs;
+    if (!lhs.all_zeroes(1, j_lhs))
+      ++t_lhs;
+    --j_lhs;
+  }
 
-  //! Turns \p *this into an empty OS.
-  void set_empty();
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  //! Marks \p *this as strongly closed.
-  void set_strongly_closed();
+  if (t_lhs == 0) {
+    // `lhs' is a constant.
+    // In this case, preimage and image happen to be the same.
+    generalized_affine_image(lhs, relsym, rhs);
+    return;
+  }
+  else if (t_lhs == 1) {
+    // Here `lhs == a_lhs * v + b_lhs'.
+    // Independently from the form of `rhs', we can exploit the
+    // method computing generalized affine preimages for a single variable.
+    Variable v(j_lhs);
+    // Compute a sign-corrected relation symbol.
+    const Coefficient& denom = lhs.coefficient(v);
+    Relation_Symbol new_relsym = relsym;
+    if (denom < 0) {
+      if (relsym == LESS_OR_EQUAL)
+        new_relsym = GREATER_OR_EQUAL;
+      else if (relsym == GREATER_OR_EQUAL)
+        new_relsym = LESS_OR_EQUAL;
+    }
+    Linear_Expression expr = rhs - b_lhs;
+    generalized_affine_preimage(v, new_relsym, expr, denom);
+  }
+  else {
+    // Here `lhs' is of the general form, having at least two variables.
+    // Compute the set of variables occurring in `lhs'.
+    std::vector<Variable> lhs_vars;
+    for (Linear_Expression::const_iterator i = lhs.begin(), i_end = lhs.end();
+          i != i_end; ++i)
+      lhs_vars.push_back(i.variable());
 
-  //! Marks \p *this as possibly not strongly closed.
-  void reset_strongly_closed();
+    const dimension_type num_common_dims = std::min(lhs_space_dim, rhs_space_dim);
+    if (!lhs.have_a_common_variable(rhs, Variable(0), Variable(num_common_dims))) {
+      // `lhs' and `rhs' variables are disjoint.
 
-  N& matrix_at(dimension_type i, dimension_type j);
-  const N& matrix_at(dimension_type i, dimension_type j) const;
+      // Constrain the left hand side expression so that it is related to
+      // the right hand side expression as dictated by `relsym'.
+      // TODO: if the following constraint is NOT a bounded difference,
+      // it will be simply ignored. Should we compute approximations for it?
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(lhs <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(lhs == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(lhs >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
 
-  /*! \brief
-    Uses the constraint \p c to refine \p *this.
+      // If the shrunk BD_Shape is empty, its preimage is empty too; ...
+      if (is_empty())
+        return;
+      // Existentially quantify all variables in the lhs.
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
+    }
+    else {
 
-    \param c
-    The constraint to be added. Non-octagonal constraints are ignored.
+      // Some variables in `lhs' also occur in `rhs'.
+      // To ease the computation, we add an additional dimension.
+      const Variable new_var(bds_space_dim);
+      add_space_dimensions_and_embed(1);
+      // Constrain the new dimension to be equal to `lhs'.
+      // NOTE: calling affine_image() instead of refine_no_check()
+      // ensures some approximation is tried even when the constraint
+      // is not a bounded difference.
+      affine_image(new_var, lhs);
+      // Existentiallly quantify all variables in the lhs.
+      // NOTE: enforce shortest-path closure for precision.
+      shortest_path_closure_assign();
+      PPL_ASSERT(!marked_empty());
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
+      // Constrain the new dimension so that it is related to
+      // the left hand side as dictated by `relsym'.
+      // Note: if `rhs == a_rhs*v + b_rhs' where `a_rhs' is in {0, 1},
+      // then one of the following constraints will be added,
+      // since it is a bounded difference. Else the method
+      // refine_no_check() will ignore it, because the
+      // constraint is NOT a bounded difference.
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        refine_no_check(new_var <= rhs);
+        break;
+      case EQUAL:
+        refine_no_check(new_var == rhs);
+        break;
+      case GREATER_OR_EQUAL:
+        refine_no_check(new_var >= rhs);
+        break;
+      default:
+        // We already dealt with the other cases.
+        PPL_UNREACHABLE;
+        break;
+      }
+      // Remove the temporarily added dimension.
+      remove_higher_space_dimensions(bds_space_dim);
+    }
+  }
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void refine_no_check(const Constraint& c);
+  PPL_ASSERT(OK());
+}
 
-  /*! \brief
-    Uses the congruence \p cg to refine \p *this.
+template <typename T>
+Constraint_System
+BD_Shape<T>::constraints() const {
+  const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
 
-    \param cg
-    The congruence to be added.
-    Nontrivial proper congruences are ignored.
-    Non-octagonal equalities are ignored.
+  if (space_dim == 0) {
+    if (marked_empty())
+      cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void refine_no_check(const Congruence& cg);
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
 
-  //! Adds the constraint <CODE>matrix[i][j] <= k</CODE>.
-  void add_octagonal_constraint(dimension_type i,
-                                dimension_type j,
-                                const N& k);
+  if (marked_shortest_path_reduced()) {
+    // Disregard redundant constraints.
+    cs = minimized_constraints();
+    return cs;
+  }
 
-  //! Adds the constraint <CODE>matrix[i][j] <= num/den</CODE>.
-  void add_octagonal_constraint(dimension_type i,
-                                dimension_type j,
-                                Coefficient_traits::const_reference num,
-                                Coefficient_traits::const_reference den);
+  PPL_DIRTY_TEMP_COEFFICIENT(a);
+  PPL_DIRTY_TEMP_COEFFICIENT(b);
+  // Go through all the unary constraints in `dbm'.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type j = 1; j <= space_dim; ++j) {
+    const Variable x(j-1);
+    const N& dbm_0j = dbm_0[j];
+    const N& dbm_j0 = dbm[j][0];
+    if (is_additive_inverse(dbm_j0, dbm_0j)) {
+      // We have a unary equality constraint.
+      numer_denom(dbm_0j, b, a);
+      cs.insert(a*x == b);
+    }
+    else {
+      // We have 0, 1 or 2 unary inequality constraints.
+      if (!is_plus_infinity(dbm_0j)) {
+        numer_denom(dbm_0j, b, a);
+        cs.insert(a*x <= b);
+      }
+      if (!is_plus_infinity(dbm_j0)) {
+        numer_denom(dbm_j0, b, a);
+        cs.insert(-a*x <= b);
+      }
+    }
+  }
 
-  /*! \brief
-    Adds to the Octagonal_Shape the constraint
-    \f$\mathrm{var} \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$.
+  // Go through all the binary constraints in `dbm'.
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const Variable y(i-1);
+    const DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = i + 1; j <= space_dim; ++j) {
+      const Variable x(j-1);
+      const N& dbm_ij = dbm_i[j];
+      const N& dbm_ji = dbm[j][i];
+      if (is_additive_inverse(dbm_ji, dbm_ij)) {
+        // We have a binary equality constraint.
+        numer_denom(dbm_ij, b, a);
+        cs.insert(a*x - a*y == b);
+      }
+      else {
+        // We have 0, 1 or 2 binary inequality constraints.
+        if (!is_plus_infinity(dbm_ij)) {
+          numer_denom(dbm_ij, b, a);
+          cs.insert(a*x - a*y <= b);
+        }
+        if (!is_plus_infinity(dbm_ji)) {
+          numer_denom(dbm_ji, b, a);
+          cs.insert(a*y - a*x <= b);
+        }
+      }
+    }
+  }
+  return cs;
+}
 
-    Note that the coefficient of \p var in \p expr is null.
-  */
-  void refine(Variable var,
-              Relation_Symbol relsym,
-              const Linear_Expression& expr,
-              Coefficient_traits::const_reference denominator
-              = Coefficient_one());
+template <typename T>
+Constraint_System
+BD_Shape<T>::minimized_constraints() const {
+  shortest_path_reduction_assign();
+  const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
 
-  //! Removes all the constraints on variable \p v_id.
-  void forget_all_octagonal_constraints(dimension_type v_id);
+  if (space_dim == 0) {
+    if (marked_empty())
+      cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
 
-  //! Removes all binary constraints on variable \p v_id.
-  void forget_binary_octagonal_constraints(dimension_type v_id);
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
 
-  //! An helper function for the computation of affine relations.
-  /*!
-    For each variable index \c u_id (less than or equal to \p last_id
-    and different from \p v_id), deduce constraints of the form
-    <CODE>v - u \<= k</CODE> and <CODE>v + u \<= k</CODE>,
-    starting from \p ub_v, which is an upper bound for \c v
-    computed according to \p sc_expr and \p sc_den.
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
 
-    Strong-closure will be able to deduce the constraints
-    <CODE>v - u \<= ub_v - lb_u</CODE> and <CODE>v + u \<= ub_v + ub_u</CODE>.
-    We can be more precise if variable \c u played an active role in the
-    computation of the upper bound for \c v.
+  // Compute leader information.
+  std::vector<dimension_type> leaders;
+  compute_leaders(leaders);
+  std::vector<dimension_type> leader_indices;
+  compute_leader_indices(leaders, leader_indices);
+  const dimension_type num_leaders = leader_indices.size();
 
-    Namely, if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> of \c u in \p sc_expr
-    is greater than zero, we can improve the bound for <CODE>v - u</CODE>.
-    In particular:
-      - if <CODE>q \>= 1</CODE>, then <CODE>v - u \<= ub_v - ub_u</CODE>;
-      - if <CODE>0 \< q \< 1</CODE>, then
-        <CODE>v - u \<= ub_v - (q*ub_u + (1-q)*lb_u)</CODE>.
+  // Go through the non-leaders to generate equality constraints.
+  const DB_Row<N>& dbm_0 = dbm[0];
+  for (dimension_type i = 1; i <= space_dim; ++i) {
+    const dimension_type leader = leaders[i];
+    if (i != leader) {
+      // Generate the constraint relating `i' and its leader.
+      if (leader == 0) {
+        // A unary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
+        numer_denom(dbm_0[i], numer, denom);
+        cs.insert(denom*Variable(i-1) == numer);
+      }
+      else {
+        // A binary equality has to be generated.
+        PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
+        numer_denom(dbm[i][leader], numer, denom);
+        cs.insert(denom*Variable(leader-1) - denom*Variable(i-1) == numer);
+      }
+    }
+  }
 
-    Conversely, if \c q is less than zero, we can improve the bound for
-    <CODE>v + u</CODE>. In particular:
-      - if <CODE>q \<= -1</CODE>, then <CODE>v + u \<= ub_v + lb_u</CODE>;
-      - if <CODE>-1 \< q \< 0</CODE>, then
-        <CODE>v + u \<= ub_v + ((-q)*lb_u + (1+q)*ub_u)</CODE>.
-  */
-  void deduce_v_pm_u_bounds(dimension_type v_id,
-                            dimension_type last_id,
-                            const Linear_Expression& sc_expr,
-                            Coefficient_traits::const_reference sc_den,
-                            const N& ub_v);
+  // Go through the leaders to generate inequality constraints.
+  // First generate all the unary inequalities.
+  const Bit_Row& red_0 = redundancy_dbm[0];
+  for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
+    const dimension_type i = leader_indices[l_i];
+    if (!red_0[i]) {
+      numer_denom(dbm_0[i], numer, denom);
+      cs.insert(denom*Variable(i-1) <= numer);
+    }
+    if (!redundancy_dbm[i][0]) {
+      numer_denom(dbm[i][0], numer, denom);
+      cs.insert(-denom*Variable(i-1) <= numer);
+    }
+  }
+  // Then generate all the binary inequalities.
+  for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
+    const dimension_type i = leader_indices[l_i];
+    const DB_Row<N>& dbm_i = dbm[i];
+    const Bit_Row& red_i = redundancy_dbm[i];
+    for (dimension_type l_j = l_i + 1; l_j < num_leaders; ++l_j) {
+      const dimension_type j = leader_indices[l_j];
+      if (!red_i[j]) {
+        numer_denom(dbm_i[j], numer, denom);
+        cs.insert(denom*Variable(j-1) - denom*Variable(i-1) <= numer);
+      }
+      if (!redundancy_dbm[j][i]) {
+        numer_denom(dbm[j][i], numer, denom);
+        cs.insert(denom*Variable(i-1) - denom*Variable(j-1) <= numer);
+      }
+    }
+  }
+  return cs;
+}
 
-  //! An helper function for the computation of affine relations.
-  /*!
-    For each variable index \c u_id (less than or equal to \p last_id
-    and different from \p v_id), deduce constraints of the form
-    <CODE>-v + u \<= k</CODE> and <CODE>-v - u \<= k</CODE>,
-    starting from \p minus_lb_v, which is the negation of a lower bound
-    for \c v computed according to \p sc_expr and \p sc_den.
+template <typename T>
+void
+BD_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
+  dimension_type old_dim = space_dimension();
+  // `var' should be one of the dimensions of the vector space.
+  if (var.space_dimension() > old_dim)
+    throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
 
-    Strong-closure will be able to deduce the constraints
-    <CODE>-v - u \<= -lb_v - lb_u</CODE> and
-    <CODE>-v + u \<= -lb_v + ub_u</CODE>.
-    We can be more precise if variable \c u played an active role in the
-    computation of (the negation of) the lower bound for \c v.
+  // The space dimension of the resulting BDS should not
+  // overflow the maximum allowed space dimension.
+  if (m > max_space_dimension() - space_dimension())
+    throw_invalid_argument("expand_dimension(v, m)",
+                           "adding m new space dimensions exceeds "
+                           "the maximum allowed space dimension");
 
-    Namely, if the corresponding coefficient
-    <CODE>q == sc_expr[u]/sc_den</CODE> of \c u in \p sc_expr
-    is greater than zero, we can improve the bound for <CODE>-v + u</CODE>.
-    In particular:
-      - if <CODE>q \>= 1</CODE>, then <CODE>-v + u \<= -lb_v + lb_u</CODE>;
-      - if <CODE>0 \< q \< 1</CODE>, then
-        <CODE>-v + u \<= -lb_v + (q*lb_u + (1-q)*ub_u)</CODE>.
+  // Nothing to do, if no dimensions must be added.
+  if (m == 0)
+    return;
 
-    Conversely, if \c q is less than zero, we can improve the bound for
-    <CODE>-v - u</CODE>. In particular:
-      - if <CODE>q \<= -1</CODE>, then <CODE>-v - u \<= -lb_v - ub_u</CODE>;
-      - if <CODE>-1 \< q \< 0</CODE>, then
-        <CODE>-v - u \<= -lb_v - ((-q)*ub_u + (1+q)*lb_u)</CODE>.
-  */
-  void deduce_minus_v_pm_u_bounds(dimension_type v,
-                                  dimension_type last_v,
-                                  const Linear_Expression& sc_expr,
-                                  Coefficient_traits::const_reference sc_den,
-                                  const N& minus_lb_v);
+  // Add the required new dimensions.
+  add_space_dimensions_and_embed(m);
 
-  /*! \brief
-    Adds to \p limiting_octagon the octagonal differences in \p cs
-    that are satisfied by \p *this.
-  */
-  void get_limiting_octagon(const Constraint_System& cs,
-                            Octagonal_Shape& limiting_octagon) const;
-  //! Compute the (zero-equivalence classes) successor relation.
-  /*!
-    It is assumed that the octagon is not empty and strongly closed.
-  */
-  void compute_successors(std::vector<dimension_type>& successor) const;
+  // For each constraints involving variable `var', we add a
+  // similar constraint with the new variable substituted for
+  // variable `var'.
+  const dimension_type v_id = var.id() + 1;
+  const DB_Row<N>& dbm_v = dbm[v_id];
+  for (dimension_type i = old_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    const N& dbm_i_v = dbm[i][v_id];
+    const N& dbm_v_i = dbm_v[i];
+    for (dimension_type j = old_dim+1; j < old_dim+m+1; ++j) {
+      dbm_i[j] = dbm_i_v;
+      dbm[j][i] = dbm_v_i;
+    }
+  }
+  // In general, adding a constraint does not preserve the shortest-path
+  // closure or reduction of the bounded difference shape.
+  if (marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  PPL_ASSERT(OK());
+}
 
-  //! Compute the leaders of zero-equivalence classes.
-  /*!
-    It is assumed that the OS is not empty and strongly closed.
-  */
-  void compute_leaders(std::vector<dimension_type>& successor,
-                       std::vector<dimension_type>& no_sing_leaders,
-                       bool& exist_sing_class,
-                       dimension_type& sing_leader) const;
+template <typename T>
+void
+BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
+                                   Variable dest) {
+  const dimension_type space_dim = space_dimension();
+  // `dest' should be one of the dimensions of the BDS.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 "v", dest);
 
-  //! Compute the leaders of zero-equivalence classes.
-  /*!
-    It is assumed that the OS is not empty and strongly closed.
-  */
-  void compute_leaders(std::vector<dimension_type>& leaders) const;
+  // The folding of no dimensions is a no-op.
+  if (vars.empty())
+    return;
 
-  /*! \brief
-    Stores into \p non_redundant information about the matrix entries
-    that are non-redundant (i.e., will occur in strongly reduced matrix).
+  // All variables in `vars' should be dimensions of the BDS.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+                                 vars.space_dimension());
 
-    It is assumed that the OS is not empty and strongly closed;
-    moreover, argument \p non_redundant is assumed to be empty.
-  */
-  void non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const;
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
 
-  //! Removes the redundant constraints from \c this->matrix.
-  void strong_reduction_assign() const;
+  shortest_path_closure_assign();
+  if (!marked_empty()) {
+    // Recompute the elements of the row and the column corresponding
+    // to variable `dest' by taking the join of their value with the
+    // value of the corresponding elements in the row and column of the
+    // variable `vars'.
+    const dimension_type v_id = dest.id() + 1;
+    DB_Row<N>& dbm_v = dbm[v_id];
+    for (Variables_Set::const_iterator i = vars.begin(),
+           vs_end = vars.end(); i != vs_end; ++i) {
+      const dimension_type to_be_folded_id = *i + 1;
+      const DB_Row<N>& dbm_to_be_folded_id = dbm[to_be_folded_id];
+      for (dimension_type j = space_dim + 1; j-- > 0; ) {
+        max_assign(dbm[j][v_id], dbm[j][to_be_folded_id]);
+        max_assign(dbm_v[j], dbm_to_be_folded_id[j]);
+      }
+    }
+  }
+  remove_space_dimensions(vars);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \c this->matrix
-    is strongly reduced.
-  */
-  bool is_strongly_reduced() const;
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<T>::is_integer)
+    return;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if in the octagon taken two at a time
-    unary constraints, there is also the constraint that represent their sum.
-  */
-  bool is_strong_coherent() const;
+  const dimension_type space_dim = space_dimension();
+  shortest_path_closure_assign();
+  if (space_dim == 0 || marked_empty())
+    return;
 
-  bool tight_coherence_would_make_empty() const;
+  for (dimension_type i = space_dim + 1; i-- > 0; ) {
+    DB_Row<N>& dbm_i = dbm[i];
+    for (dimension_type j = space_dim + 1; j-- > 0; )
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+  }
+  PPL_ASSERT(OK());
+}
 
-  //! Assigns to \c this->matrix its strong closure.
-  /*!
-    Strong closure is a necessary condition for the precision and/or
-    the correctness of many methods. It explicitly records into \c matrix
-    those constraints that are implicitly obtainable by the other ones,
-    therefore obtaining a canonical representation for the OS.
-  */
-  void strong_closure_assign() const;
+template <typename T>
+void
+BD_Shape<T>::drop_some_non_integer_points(const Variables_Set& vars,
+                                          Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dim < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
 
-  //! Applies the strong-coherence step to \c this->matrix.
-  void strong_coherence_assign();
+  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
+    return;
 
-  //! Assigns to \c this->matrix its tight closure.
-  /*!
-    \note
-    This is \e not marked as a <code>const</code> method,
-    as it may modify the rational-valued geometric shape by cutting away
-    non-integral points. The method is only available if the template
-    parameter \c T is bound to an integer datatype.
-  */
-  void tight_closure_assign();
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  /*! \brief
-    Incrementally computes strong closure, assuming that only
-    constraints affecting variable \p var need to be considered.
+  const Variables_Set::const_iterator v_begin = vars.begin();
+  const Variables_Set::const_iterator v_end = vars.end();
+  PPL_ASSERT(v_begin != v_end);
+  // Unary constraints on a variable occurring in `vars'.
+  DB_Row<N>& dbm_0 = dbm[0];
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    drop_some_non_integer_points_helper(dbm_0[i]);
+    drop_some_non_integer_points_helper(dbm[i][0]);
+  }
 
-    \note
-    It is assumed that \c *this, which was strongly closed, has only been
-    modified by adding constraints affecting variable \p var. If this
-    assumption is not satisfied, i.e., if a non-redundant constraint not
-    affecting variable \p var has been added, the behavior is undefined.
-    Worst-case complexity is \f$O(n^2)\f$.
-  */
-  void incremental_strong_closure_assign(Variable var) const;
+  // Binary constraints where both variables occur in `vars'.
+  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
+    const dimension_type i = *v_i + 1;
+    DB_Row<N>& dbm_i = dbm[i];
+    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_end; ++v_j) {
+      const dimension_type j = *v_j + 1;
+      if (i != j)
+        drop_some_non_integer_points_helper(dbm_i[j]);
+    }
+  }
+  PPL_ASSERT(OK());
+}
 
-  //! Checks if and how \p expr is bounded in \p *this.
-  /*!
-    Returns <CODE>true</CODE> if and only if \p from_above is
-    <CODE>true</CODE> and \p expr is bounded from above in \p *this,
-    or \p from_above is <CODE>false</CODE> and \p expr is bounded
-    from below in \p *this.
+/*! \relates Parma_Polyhedra_Library::BD_Shape */
+template <typename T>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& bds) {
+  typedef typename BD_Shape<T>::coefficient_type N;
+  if (bds.is_universe())
+    s << "true";
+  else {
+    // We control empty bounded difference shape.
+    dimension_type n = bds.space_dimension();
+    if (bds.marked_empty())
+      s << "false";
+    else {
+      PPL_DIRTY_TEMP(N, v);
+      bool first = true;
+      for (dimension_type i = 0; i <= n; ++i)
+        for (dimension_type j = i + 1; j <= n; ++j) {
+          const N& c_i_j = bds.dbm[i][j];
+          const N& c_j_i = bds.dbm[j][i];
+          if (is_additive_inverse(c_j_i, c_i_j)) {
+            // We will print an equality.
+            if (first)
+              first = false;
+            else
+              s << ", ";
+            if (i == 0) {
+              // We have got a equality constraint with one variable.
+              s << Variable(j - 1);
+              s << " = " << c_i_j;
+            }
+            else {
+              // We have got a equality constraint with two variables.
+              if (sgn(c_i_j) >= 0) {
+                s << Variable(j - 1);
+                s << " - ";
+                s << Variable(i - 1);
+                s << " = " << c_i_j;
+              }
+              else {
+                s << Variable(i - 1);
+                s << " - ";
+                s << Variable(j - 1);
+                s << " = " << c_j_i;
+              }
+            }
+          }
+          else {
+            // We will print a non-strict inequality.
+            if (!is_plus_infinity(c_j_i)) {
+              if (first)
+                first = false;
+              else
+                s << ", ";
+              if (i == 0) {
+                // We have got a constraint with only one variable.
+                s << Variable(j - 1);
+                neg_assign_r(v, c_j_i, ROUND_DOWN);
+                s << " >= " << v;
+              }
+              else {
+                // We have got a constraint with two variables.
+                if (sgn(c_j_i) >= 0) {
+                  s << Variable(i - 1);
+                  s << " - ";
+                  s << Variable(j - 1);
+                  s << " <= " << c_j_i;
+                }
+                else {
+                  s << Variable(j - 1);
+                  s << " - ";
+                  s << Variable(i - 1);
+                  neg_assign_r(v, c_j_i, ROUND_DOWN);
+                  s << " >= " << v;
+                }
+              }
+            }
+            if (!is_plus_infinity(c_i_j)) {
+              if (first)
+                first = false;
+              else
+                s << ", ";
+              if (i == 0) {
+                // We have got a constraint with only one variable.
+                s << Variable(j - 1);
+                s << " <= " << c_i_j;
+              }
+              else {
+                // We have got a constraint with two variables.
+                if (sgn(c_i_j) >= 0) {
+                  s << Variable(j - 1);
+                  s << " - ";
+                  s << Variable(i - 1);
+                  s << " <= " << c_i_j;
+                }
+                else {
+                  s << Variable(i - 1);
+                  s << " - ";
+                  s << Variable(j - 1);
+                  neg_assign_r(v, c_i_j, ROUND_DOWN);
+                  s << " >= " << v;
+                }
+              }
+            }
+          }
+        }
+    }
+  }
+  return s;
+}
 
-    \param expr
-    The linear expression to test;
+template <typename T>
+void
+BD_Shape<T>::ascii_dump(std::ostream& s) const {
+  status.ascii_dump(s);
+  s << "\n";
+  dbm.ascii_dump(s);
+  s << "\n";
+  redundancy_dbm.ascii_dump(s);
+}
 
-    \param from_above
-    <CODE>true</CODE> if and only if the boundedness of interest is
-    "from above".
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, BD_Shape<T>)
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds(const Linear_Expression& expr, bool from_above) const;
+template <typename T>
+bool
+BD_Shape<T>::ascii_load(std::istream& s) {
+  if (!status.ascii_load(s))
+    return false;
+  if (!dbm.ascii_load(s))
+    return false;
+  if (!redundancy_dbm.ascii_load(s))
+    return false;
+  return true;
+}
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+template <typename T>
+memory_size_type
+BD_Shape<T>::external_memory_in_bytes() const {
+  return dbm.external_memory_in_bytes()
+    + redundancy_dbm.external_memory_in_bytes();
+}
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+template <typename T>
+bool
+BD_Shape<T>::OK() const {
+  // Check whether the difference-bound matrix is well-formed.
+  if (!dbm.OK())
+    return false;
 
-    \param ext_n
-    The numerator of the extremum value;
+  // Check whether the status information is legal.
+  if (!status.OK())
+    return false;
 
-    \param ext_d
-    The denominator of the extremum value;
+  // An empty BDS is OK.
+  if (marked_empty())
+    return true;
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+  // MINUS_INFINITY cannot occur at all.
+  for (dimension_type i = dbm.num_rows(); i-- > 0; )
+    for (dimension_type j = dbm.num_rows(); j-- > 0; )
+      if (is_minus_infinity(dbm[i][j])) {
+#ifndef NDEBUG
+        using namespace Parma_Polyhedra_Library::IO_Operators;
+        std::cerr << "BD_Shape::dbm[" << i << "][" << j << "] = "
+                  << dbm[i][j] << "!"
+                  << std::endl;
+#endif
+        return false;
+      }
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  // On the main diagonal only PLUS_INFINITY can occur.
+  for (dimension_type i = dbm.num_rows(); i-- > 0; )
+    if (!is_plus_infinity(dbm[i][i])) {
+#ifndef NDEBUG
+      using namespace Parma_Polyhedra_Library::IO_Operators;
+      std::cerr << "BD_Shape::dbm[" << i << "][" << i << "] = "
+                << dbm[i][i] << "!  (+inf was expected.)"
+                << std::endl;
+#endif
+      return false;
+    }
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d and
-    \p included are left untouched.
-  */
-  bool max_min(const Linear_Expression& expr,
-               bool maximize,
-               Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
+  // Check whether the shortest-path closure information is legal.
+  if (marked_shortest_path_closed()) {
+    BD_Shape x = *this;
+    x.reset_shortest_path_closed();
+    x.shortest_path_closure_assign();
+    if (x.dbm != dbm) {
+#ifndef NDEBUG
+      std::cerr << "BD_Shape is marked as closed but it is not!"
+                << std::endl;
+#endif
+      return false;
+    }
+  }
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p
-    *this;
+  // The following tests might result in false alarms when using floating
+  // point coefficients: they are only meaningful if the coefficient type
+  // base is exact (since otherwise shortest-path closure is approximated).
+  if (std::numeric_limits<coefficient_type_base>::is_exact) {
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+    // Check whether the shortest-path reduction information is legal.
+    if (marked_shortest_path_reduced()) {
+      // A non-redundant constraint cannot be equal to PLUS_INFINITY.
+      for (dimension_type i = dbm.num_rows(); i-- > 0; )
+        for (dimension_type j = dbm.num_rows(); j-- > 0; )
+          if (!redundancy_dbm[i][j] && is_plus_infinity(dbm[i][j])) {
+#ifndef NDEBUG
+            using namespace Parma_Polyhedra_Library::IO_Operators;
+            std::cerr << "BD_Shape::dbm[" << i << "][" << j << "] = "
+                      << dbm[i][j] << " is marked as non-redundant!"
+                      << std::endl;
+#endif
+            return false;
+          }
 
-    \param ext_n
-    The numerator of the extremum value;
+      BD_Shape x = *this;
+      x.reset_shortest_path_reduced();
+      x.shortest_path_reduction_assign();
+      if (x.redundancy_dbm != redundancy_dbm) {
+#ifndef NDEBUG
+        std::cerr << "BD_Shape is marked as reduced but it is not!"
+                  << std::endl;
+#endif
+        return false;
+      }
+    }
+  }
 
-    \param ext_d
-    The denominator of the extremum value;
+  // All checks passed.
+  return true;
+}
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const BD_Shape& y) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", y->space_dimension() == " << y.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    \param g
-    When maximization or minimization succeeds, will be assigned
-    a point or closure point where \p expr reaches the
-    corresponding extremum value.
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          dimension_type required_dim) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", required dimension == " << required_dim << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const Constraint& c) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", c->space_dimension == " << c.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-    If \p *this is empty or \p expr is not bounded in the appropriate
-    direction, <CODE>false</CODE> is returned and \p ext_n, \p ext_d,
-    \p included and \p g are left untouched.
-  */
-  bool max_min(const Linear_Expression& expr,
-               bool maximize,
-               Coefficient& ext_n, Coefficient& ext_d, bool& included,
-               Generator& g) const;
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const Congruence& cg) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", cg->space_dimension == " << cg.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  void drop_some_non_integer_points_helper(N& elem);
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const Generator& g) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", g->space_dimension == " << g.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<<>(std::ostream& s, const Octagonal_Shape<T>& c);
+template <typename T>
+void
+BD_Shape<T>::throw_expression_too_complex(const char* method,
+                                          const Linear_Expression& le) {
+  using namespace IO_Operators;
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << le << " is too complex.";
+  throw std::invalid_argument(s.str());
+}
 
-  //! \name Exception Throwers
-  //@{
-  void throw_dimension_incompatible(const char* method,
-                                    const Octagonal_Shape& x) const;
 
-  void throw_dimension_incompatible(const char* method,
-                                    dimension_type required_dim) const;
+template <typename T>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const char* le_name,
+                                          const Linear_Expression& le) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename T>
+template<typename Interval_Info>
+void
+BD_Shape<T>::throw_dimension_incompatible(const char* method,
+                                          const char* lf_name,
+                                          const Linear_Form< Interval<T,
+					  Interval_Info> >& lf) const {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Constraint& c) const;
+template <typename T>
+void
+BD_Shape<T>::throw_invalid_argument(const char* method, const char* reason) {
+  std::ostringstream s;
+  s << "PPL::BD_Shape::" << method << ":" << std::endl
+    << reason << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Congruence& cg) const;
+} // namespace Parma_Polyhedra_Library
 
-  void throw_dimension_incompatible(const char* method,
-                                    const Generator& g) const;
+/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 2366. */
 
-  void throw_dimension_incompatible(const char* method,
-                                    const char* name_row,
-                                    const Linear_Expression& y) const;
+/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 1. */
+/* Rational_Interval class declaration and implementation.
+*/
 
-  void throw_constraint_incompatible(const char* method) const;
 
-  void throw_expression_too_complex(const char* method,
-                                    const Linear_Expression& e) const;
+/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 28. */
+#include <gmpxx.h>
 
-  void throw_generic(const char* method, const char* reason) const;
-  //@} // Exception Throwers
+namespace Parma_Polyhedra_Library {
 
-  static T default_stop_points[];
+struct Rational_Interval_Info_Policy {
+  const_bool_nodef(store_special, true);
+  const_bool_nodef(store_open, true);
+  const_bool_nodef(cache_empty, true);
+  const_bool_nodef(cache_singleton, true);
+  const_bool_nodef(cache_normalized, false);
+  const_int_nodef(next_bit, 0);
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, false);
+  const_bool_nodef(check_inexact, false);
 };
 
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
-template <typename T>
-void swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
-          Parma_Polyhedra_Library::Octagonal_Shape<T>& y);
+typedef Interval_Info_Bitset<unsigned int,
+                             Rational_Interval_Info_Policy> Rational_Interval_Info;
 
-} // namespace std
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An interval with rational, possibly open boundaries.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Interval<mpq_class, Rational_Interval_Info> Rational_Interval;
 
-/* Automatically generated from PPL source file ../src/Og_Status.inlines.hh line 1. */
-/* Octagonal_Shape<T>::Status class implementation: inline functions.
-*/
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Box.templates.hh line 42. */
+#include <vector>
+#include <map>
+#include <iostream>
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
+template <typename ITV>
 inline
-Octagonal_Shape<T>::Status::Status(flags_t mask)
-  : flags(mask) {
+Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
+  : seq(check_space_dimension_overflow(num_dimensions,
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(n, k)",
+                                       "n exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // In a box that is marked empty the intervals are completely
+  // meaningless: we exploit this by avoiding their initialization.
+  if (kind == UNIVERSE) {
+    for (dimension_type i = num_dimensions; i-- > 0; )
+      seq[i].assign(UNIVERSE);
+    set_empty_up_to_date();
+  }
+  else
+    set_empty();
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
+template <typename ITV>
 inline
-Octagonal_Shape<T>::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
+Box<ITV>::Box(const Constraint_System& cs)
+  : seq(check_space_dimension_overflow(cs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(cs)",
+                                       "cs exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // FIXME: check whether we can avoid the double initialization.
+  for (dimension_type i = cs.space_dimension(); i-- > 0; )
+    seq[i].assign(UNIVERSE);
+  add_constraints_no_check(cs);
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
+template <typename ITV>
+inline
+Box<ITV>::Box(const Congruence_System& cgs)
+  : seq(check_space_dimension_overflow(cgs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(cgs)",
+                                       "cgs exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // FIXME: check whether we can avoid the double initialization.
+  for (dimension_type i = cgs.space_dimension(); i-- > 0; )
+    seq[i].assign(UNIVERSE);
+  add_congruences_no_check(cgs);
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+template <typename ITV>
+template <typename Other_ITV>
+inline
+Box<ITV>::Box(const Box<Other_ITV>& y, Complexity_Class)
+  : seq(y.space_dimension()),
+    // FIXME: why the following does not work?
+    // status(y.status) {
+    status() {
+  // FIXME: remove when the above is fixed.
+  if (y.marked_empty())
+    set_empty();
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::set(flags_t mask) {
-  flags |= mask;
+  if (!y.marked_empty())
+    for (dimension_type k = y.space_dimension(); k-- > 0; )
+      seq[k].assign(y.seq[k]);
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+template <typename ITV>
+Box<ITV>::Box(const Generator_System& gs)
+  : seq(check_space_dimension_overflow(gs.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(gs)",
+                                       "gs exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  const Generator_System::const_iterator gs_begin = gs.begin();
+  const Generator_System::const_iterator gs_end = gs.end();
+  if (gs_begin == gs_end) {
+    // An empty generator system defines the empty box.
+    set_empty();
+    return;
+  }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::reset_zero_dim_univ() {
-  // This is a no-op if the current status is not zero-dim.
-  if (flags == ZERO_DIM_UNIV)
-    // In the zero-dim space, if it is not the universe it is empty.
-    flags = EMPTY;
-}
+  const dimension_type space_dim = space_dimension();
+  PPL_DIRTY_TEMP(mpq_class, q);
+  bool point_seen = false;
+  // Going through all the points.
+  for (Generator_System::const_iterator
+	 gs_i = gs_begin; gs_i != gs_end; ++gs_i) {
+    const Generator& g = *gs_i;
+    if (g.is_point()) {
+      const Coefficient& d = g.divisor();
+      if (point_seen) {
+	// This is not the first point: `seq' already contains valid values.
+	// TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
+	for (dimension_type i = space_dim; i-- > 0; ) {
+	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
+	  q.canonicalize();
+	  PPL_DIRTY_TEMP(ITV, iq);
+	  iq.build(i_constraint(EQUAL, q));
+	  seq[i].join_assign(iq);
+	}
+      }
+      else {
+	// This is the first point seen: initialize `seq'.
+	point_seen = true;
+        // TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
+	for (dimension_type i = space_dim; i-- > 0; ) {
+	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
+	  q.canonicalize();
+	  seq[i].build(i_constraint(EQUAL, q));
+	}
+      }
+    }
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
-}
+  if (!point_seen)
+    // The generator system is not empty, but contains no points.
+    throw std::invalid_argument("PPL::Box<ITV>::Box(gs):\n"
+				"the non-empty generator system gs "
+				"contains no points.");
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::test_empty() const {
-  return test_any(EMPTY);
+  // Going through all the lines, rays and closure points.
+  ITV q_interval;
+  for (Generator_System::const_iterator gs_i = gs_begin;
+       gs_i != gs_end; ++gs_i) {
+    const Generator& g = *gs_i;
+    switch (g.type()) {
+    case Generator::LINE:
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+              i_end = g.expression().end();
+              i != i_end; ++i)
+	  seq[i.variable().id()].assign(UNIVERSE);
+      break;
+    case Generator::RAY:
+      for (Generator::Expression::const_iterator i = g.expression().begin(),
+              i_end = g.expression().end();
+              i != i_end; ++i)
+	switch (sgn(*i)) {
+	case 1:
+	  seq[i.variable().id()].upper_extend();
+	  break;
+	case -1:
+	  seq[i.variable().id()].lower_extend();
+	  break;
+	default:
+          PPL_UNREACHABLE;
+	  break;
+	}
+      break;
+    case Generator::CLOSURE_POINT:
+      {
+	const Coefficient& d = g.divisor();
+        // TODO: If the variables in the expression that have coefficient 0
+        // have no effect on seq[i], this loop can be optimized using
+        // Generator::Expression::const_iterator.
+	for (dimension_type i = space_dim; i-- > 0; ) {
+	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
+	  q.canonicalize();
+	  ITV& seq_i = seq[i];
+	  seq_i.lower_extend(i_constraint(GREATER_THAN, q));
+	  seq_i.upper_extend(i_constraint(LESS_THAN, q));
+	}
+      }
+      break;
+    default:
+      // Points already dealt with.
+      break;
+    }
+  }
+  PPL_ASSERT(OK());
 }
 
+template <typename ITV>
 template <typename T>
-inline void
-Octagonal_Shape<T>::Status::reset_empty() {
-  reset(EMPTY);
-}
+Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
+  : seq(check_space_dimension_overflow(bds.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(bds)",
+                                       "bds exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // Expose all the interval constraints.
+  bds.shortest_path_closure_assign();
+  if (bds.marked_empty()) {
+    set_empty();
+    PPL_ASSERT(OK());
+    return;
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::set_empty() {
-  flags = EMPTY;
-}
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::test_strongly_closed() const {
-  return test_any(STRONGLY_CLOSED);
-}
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0) {
+    PPL_ASSERT(OK());
+    return;
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::Status::reset_strongly_closed() {
-  reset(STRONGLY_CLOSED);
+  typedef typename BD_Shape<T>::coefficient_type Coeff;
+  PPL_DIRTY_TEMP(Coeff, tmp);
+  const DB_Row<Coeff>& dbm_0 = bds.dbm[0];
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    I_Constraint<Coeff> lower;
+    I_Constraint<Coeff> upper;
+    ITV& seq_i = seq[i];
+
+    // Set the upper bound.
+    const Coeff& u = dbm_0[i+1];
+    if (!is_plus_infinity(u))
+      upper.set(LESS_OR_EQUAL, u, true);
+
+    // Set the lower bound.
+    const Coeff& negated_l = bds.dbm[i+1][0];
+    if (!is_plus_infinity(negated_l)) {
+      neg_assign_r(tmp, negated_l, ROUND_DOWN);
+      lower.set(GREATER_OR_EQUAL, tmp);
+    }
+
+    seq_i.build(lower, upper);
+  }
+  PPL_ASSERT(OK());
 }
 
+template <typename ITV>
 template <typename T>
-inline void
-Octagonal_Shape<T>::Status::set_strongly_closed() {
-  set(STRONGLY_CLOSED);
+Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
+  : seq(check_space_dimension_overflow(oct.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(oct)",
+                                       "oct exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // Expose all the interval constraints.
+  oct.strong_closure_assign();
+  if (oct.marked_empty()) {
+    set_empty();
+    return;
+  }
+
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
+
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0)
+    return;
+
+  PPL_DIRTY_TEMP(mpq_class, lower_bound);
+  PPL_DIRTY_TEMP(mpq_class, upper_bound);
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    typedef typename Octagonal_Shape<T>::coefficient_type Coeff;
+    I_Constraint<mpq_class> lower;
+    I_Constraint<mpq_class> upper;
+    ITV& seq_i = seq[i];
+    const dimension_type ii = 2*i;
+    const dimension_type cii = ii + 1;
+
+    // Set the upper bound.
+    const Coeff& twice_ub = oct.matrix[cii][ii];
+    if (!is_plus_infinity(twice_ub)) {
+      assign_r(upper_bound, twice_ub, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(upper_bound, upper_bound, 1, ROUND_NOT_NEEDED);
+      upper.set(LESS_OR_EQUAL, upper_bound);
+    }
+
+    // Set the lower bound.
+    const Coeff& twice_lb = oct.matrix[ii][cii];
+    if (!is_plus_infinity(twice_lb)) {
+      assign_r(lower_bound, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(lower_bound, lower_bound, ROUND_NOT_NEEDED);
+      div_2exp_assign_r(lower_bound, lower_bound, 1, ROUND_NOT_NEEDED);
+      lower.set(GREATER_OR_EQUAL, lower_bound);
+    }
+    seq_i.build(lower, upper);
+  }
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::OK() const {
-  if (test_zero_dim_univ())
-    // Zero-dim universe is OK.
-    return true;
+template <typename ITV>
+Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
+  : seq(check_space_dimension_overflow(ph.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(ph)",
+                                       "ph exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-  if (test_empty()) {
-    Status copy = *this;
-    copy.reset_empty();
-    if (copy.test_zero_dim_univ())
-      return true;
+  // We do not need to bother about `complexity' if:
+  // a) the polyhedron is already marked empty; or ...
+  if (ph.marked_empty()) {
+    set_empty();
+    return;
+  }
+
+  // b) the polyhedron is zero-dimensional; or ...
+  const dimension_type space_dim = ph.space_dimension();
+  if (space_dim == 0)
+    return;
+
+  // c) the polyhedron is already described by a generator system.
+  if (ph.generators_are_up_to_date() && !ph.has_pending_constraints()) {
+    Box tmp(ph.generators());
+    m_swap(tmp);
+    return;
+  }
+
+  // Here generators are not up-to-date or there are pending constraints.
+  PPL_ASSERT(ph.constraints_are_up_to_date());
+
+  if (complexity == POLYNOMIAL_COMPLEXITY) {
+    // FIXME: is there a way to avoid this initialization?
+    for (dimension_type i = space_dim; i-- > 0; )
+      seq[i].assign(UNIVERSE);
+    // Get a simplified version of the constraints.
+    Constraint_System cs = ph.simplified_constraints();
+    // Propagate easy-to-find bounds from the constraints,
+    // allowing for a limited number of iterations.
+    // FIXME: 20 is just a wild guess.
+    const dimension_type max_iterations = 20;
+    propagate_constraints_no_check(cs, max_iterations);
+  }
+  else if (complexity == SIMPLEX_COMPLEXITY) {
+    MIP_Problem lp(space_dim);
+    const Constraint_System& ph_cs = ph.constraints();
+    if (!ph_cs.has_strict_inequalities())
+      lp.add_constraints(ph_cs);
+    else
+      // Adding to `lp' a topologically closed version of `ph_cs'.
+      for (Constraint_System::const_iterator i = ph_cs.begin(),
+	     ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
+	const Constraint& c = *i;
+	if (c.is_strict_inequality())
+	  lp.add_constraint(Linear_Expression(c) >= 0);
+	else
+	  lp.add_constraint(c);
+      }
+    // Check for unsatisfiability.
+    if (!lp.is_satisfiable()) {
+      set_empty();
+      return;
+    }
+    // Get all the bounds for the space dimensions.
+    Generator g(point());
+    PPL_DIRTY_TEMP(mpq_class, lower_bound);
+    PPL_DIRTY_TEMP(mpq_class, upper_bound);
+    PPL_DIRTY_TEMP(Coefficient, bound_numer);
+    PPL_DIRTY_TEMP(Coefficient, bound_denom);
+    for (dimension_type i = space_dim; i-- > 0; ) {
+      I_Constraint<mpq_class> lower;
+      I_Constraint<mpq_class> upper;
+      ITV& seq_i = seq[i];
+      lp.set_objective_function(Variable(i));
+      // Evaluate upper bound.
+      lp.set_optimization_mode(MAXIMIZATION);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+	g = lp.optimizing_point();
+	lp.evaluate_objective_function(g, bound_numer, bound_denom);
+	assign_r(upper_bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+	assign_r(upper_bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(upper_bound));
+	upper.set(LESS_OR_EQUAL, upper_bound);
+      }
+      // Evaluate optimal lower bound.
+      lp.set_optimization_mode(MINIMIZATION);
+      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
+	g = lp.optimizing_point();
+	lp.evaluate_objective_function(g, bound_numer, bound_denom);
+	assign_r(lower_bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+	assign_r(lower_bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
+	PPL_ASSERT(is_canonical(lower_bound));
+	lower.set(GREATER_OR_EQUAL, lower_bound);
+      }
+      seq_i.build(lower, upper);
+    }
+  }
+  else {
+    PPL_ASSERT(complexity == ANY_COMPLEXITY);
+    if (ph.is_empty())
+      set_empty();
     else {
-#ifndef NDEBUG
-      std::cerr << "The empty flag is incompatible with any other one."
-		<< std::endl;
-#endif
-      return false;
+      Box tmp(ph.generators());
+      m_swap(tmp);
     }
   }
-
-  // Any other case is OK.
-  return true;
 }
 
+template <typename ITV>
+Box<ITV>::Box(const Grid& gr, Complexity_Class)
+  : seq(check_space_dimension_overflow(gr.space_dimension(),
+                                       max_space_dimension(),
+                                       "PPL::Box::",
+                                       "Box(gr)",
+                                       "gr exceeds the maximum "
+                                       "allowed space dimension")),
+    status() {
 
-namespace Implementation {
+  if (gr.marked_empty()) {
+    set_empty();
+    return;
+  }
 
-namespace Octagonal_Shapes {
-// These are the keywords that indicate the individual assertions.
-const std::string zero_dim_univ = "ZE";
-const std::string empty = "EM";
-const std::string strong_closed = "SC";
-const char yes = '+';
-const char no = '-';
-const char sep = ' ';
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape<T>::Status
-  Reads a keyword and its associated on/off flag from \p s.
-  Returns <CODE>true</CODE> if the operation is successful,
-  returns <CODE>false</CODE> otherwise.
-  When successful, \p positive is set to <CODE>true</CODE> if the flag
-  is on; it is set to <CODE>false</CODE> otherwise.
-*/
-inline bool
-get_field(std::istream& s, const std::string& keyword, bool& positive) {
-  std::string str;
-  if (!(s >> str)
-      || (str[0] != yes && str[0] != no)
-      || str.substr(1) != keyword)
-    return false;
-  positive = (str[0] == yes);
-  return true;
-}
+  const dimension_type space_dim = gr.space_dimension();
 
-} // namespace Octagonal_Shapes
+  if (space_dim == 0)
+    return;
 
-} // namespace Implementation
+  if (!gr.generators_are_up_to_date() && !gr.update_generators()) {
+    // Updating found the grid empty.
+    set_empty();
+    return;
+  }
 
-template <typename T>
+  PPL_ASSERT(!gr.gen_sys.empty());
+
+  // For each dimension that is bounded by the grid, set both bounds
+  // of the interval to the value of the associated coefficient in a
+  // generator point.
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  PPL_DIRTY_TEMP(Coefficient, bound_numer);
+  PPL_DIRTY_TEMP(Coefficient, bound_denom);
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    ITV& seq_i = seq[i];
+    Variable var(i);
+    bool max;
+    if (gr.maximize(var, bound_numer, bound_denom, max)) {
+      assign_r(bound.get_num(), bound_numer, ROUND_NOT_NEEDED);
+      assign_r(bound.get_den(), bound_denom, ROUND_NOT_NEEDED);
+      bound.canonicalize();
+      seq_i.build(i_constraint(EQUAL, bound));
+    }
+    else
+      seq_i.assign(UNIVERSE);
+  }
+}
+
+template <typename ITV>
+template <typename D1, typename D2, typename R>
+Box<ITV>::Box(const Partially_Reduced_Product<D1, D2, R>& dp,
+              Complexity_Class complexity)
+  : seq(), status() {
+  check_space_dimension_overflow(dp.space_dimension(),
+                                 max_space_dimension(),
+                                 "PPL::Box::",
+                                 "Box(dp)",
+                                 "dp exceeds the maximum "
+                                 "allowed space dimension");
+  Box tmp1(dp.domain1(), complexity);
+  Box tmp2(dp.domain2(), complexity);
+  tmp1.intersection_assign(tmp2);
+  m_swap(tmp1);
+}
+
+template <typename ITV>
 inline void
-Octagonal_Shape<T>::Status::ascii_dump(std::ostream& s) const {
-  using namespace Implementation::Octagonal_Shapes;
-  s << (test_zero_dim_univ() ? yes : no) << zero_dim_univ
-    << sep
-    << (test_empty() ? yes : no) << empty
-    << sep
-    << sep
-    << (test_strongly_closed() ? yes : no) << strong_closed
-    << sep;
+Box<ITV>::add_space_dimensions_and_embed(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "add_space_dimensions_and_embed(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
+  // To embed an n-dimension space box in a (n+m)-dimension space,
+  // we just add `m' new universe elements to the sequence.
+  seq.insert(seq.end(), m, ITV(UNIVERSE));
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
-  using namespace Implementation::Octagonal_Shapes;
-  PPL_UNINITIALIZED(bool, positive);
+template <typename ITV>
+inline void
+Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
+  check_space_dimension_overflow(m, max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "add_space_dimensions_and_project(m)",
+                                 "adding m new space dimensions exceeds "
+                                 "the maximum allowed space dimension");
+  // Add `m' new zero elements to the sequence.
+  seq.insert(seq.end(), m, ITV(0));
+  PPL_ASSERT(OK());
+}
 
-  if (!get_field(s, zero_dim_univ, positive))
+template <typename ITV>
+bool
+operator==(const Box<ITV>& x, const Box<ITV>& y) {
+  const dimension_type x_space_dim = x.space_dimension();
+  if (x_space_dim != y.space_dimension())
     return false;
-  if (positive)
-    set_zero_dim_univ();
 
-  if (!get_field(s, empty, positive))
-    return false;
-  if (positive)
-    set_empty();
+  if (x.is_empty())
+    return y.is_empty();
 
-  if (!get_field(s, strong_closed, positive))
-    return false;
-  if (positive)
-    set_strongly_closed();
-  else
-    reset_strongly_closed();
+  if (y.is_empty())
+    return x.is_empty();
 
-  // Check invariants.
-  PPL_ASSERT(OK());
+  for (dimension_type k = x_space_dim; k-- > 0; )
+    if (x.seq[k] != y.seq[k])
+      return false;
   return true;
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 1. */
-/* Octagonal_Shape class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/wrap_assign.hh line 1. */
-/* Generic implementation of the wrap_assign() function.
-*/
-
-
-/* Automatically generated from PPL source file ../src/wrap_assign.hh line 32. */
-
-namespace Parma_Polyhedra_Library {
-
-namespace Implementation {
+template <typename ITV>
+bool
+Box<ITV>::bounds(const Linear_Expression& expr, const bool from_above) const {
+  // `expr' should be dimension-compatible with `*this'.
+  const dimension_type expr_space_dim = expr.space_dimension();
+  const dimension_type space_dim = space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((from_above
+				  ? "bounds_from_above(e)"
+				  : "bounds_from_below(e)"), "e", expr);
+  // A zero-dimensional or empty Box bounds everything.
+  if (space_dim == 0 || is_empty())
+    return true;
 
-struct Wrap_Dim_Translations {
-  Variable var;
-  Coefficient first_quadrant;
-  Coefficient last_quadrant;
-  Wrap_Dim_Translations(Variable v,
-                        Coefficient_traits::const_reference f,
-                        Coefficient_traits::const_reference l)
-    : var(v), first_quadrant(f), last_quadrant(l) {
+  const int from_above_sign = from_above ? 1 : -1;
+  // TODO: This loop can be optimized more, if needed, exploiting the
+  // (possible) sparseness of expr.
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    const Variable v = i.variable();
+    switch (sgn(*i) * from_above_sign) {
+    case 1:
+      if (seq[v.id()].upper_is_boundary_infinity())
+	return false;
+      break;
+    case 0:
+      PPL_UNREACHABLE;
+      break;
+    case -1:
+      if (seq[v.id()].lower_is_boundary_infinity())
+	return false;
+      break;
+    }
   }
-};
+  return true;
+}
 
-typedef std::vector<Wrap_Dim_Translations> Wrap_Translations;
+template <typename ITV>
+Poly_Con_Relation
+interval_relation(const ITV& i,
+		  const Constraint::Type constraint_type,
+		  Coefficient_traits::const_reference numer,
+		  Coefficient_traits::const_reference denom) {
 
-template <typename PSET>
-void
-wrap_assign_ind(PSET& pointset,
-                Variables_Set& vars,
-                Wrap_Translations::const_iterator first,
-                Wrap_Translations::const_iterator end,
-                Bounded_Integer_Type_Width w,
-                Coefficient_traits::const_reference min_value,
-                Coefficient_traits::const_reference max_value,
-                const Constraint_System& cs,
-                Coefficient& tmp1,
-                Coefficient& tmp2) {
-  const dimension_type space_dim = pointset.space_dimension();
-  const dimension_type cs_space_dim = cs.space_dimension();
-  for (Wrap_Translations::const_iterator i = first; i != end; ++i) {
-    const Wrap_Dim_Translations& wrap_dim_translations = *i;
-    const Variable& x = wrap_dim_translations.var;
-    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
-    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
-    Coefficient& quadrant = tmp1;
-    Coefficient& shift = tmp2;
-    PSET hull(space_dim, EMPTY);
-    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
-      PSET p(pointset);
-      if (quadrant != 0) {
-        mul_2exp_assign(shift, quadrant, w);
-        p.affine_image(x, x - shift, 1);
-      }
-      // `x' has just been wrapped.
-      vars.erase(x.id());
+  if (i.is_universe())
+    return Poly_Con_Relation::strictly_intersects();
 
-      // Refine `p' with all the constraints in `cs' not depending
-      // on variables in `vars'.
-      if (vars.empty())
-        p.refine_with_constraints(cs);
-      else {
-        Variables_Set::const_iterator vars_end = vars.end();
-        for (Constraint_System::const_iterator j = cs.begin(),
-               cs_end = cs.end(); j != cs_end; ++j) {
-          const Constraint& c = *j;
-          for (dimension_type d = cs_space_dim; d-- > 0; ) {
-            if (c.coefficient(Variable(d)) != 0 && vars.find(d) != vars_end)
-              goto skip;
-          }
-          // If we are here it means `c' does not depend on variables
-          // in `vars'.
-          p.refine_with_constraint(c);
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  assign_r(bound.get_num(), numer, ROUND_NOT_NEEDED);
+  assign_r(bound.get_den(), denom, ROUND_NOT_NEEDED);
+  bound.canonicalize();
+  neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
+  const bool is_lower_bound = (denom > 0);
 
-        skip:
-          continue;
-        }
+  PPL_DIRTY_TEMP(mpq_class, bound_diff);
+  if (constraint_type == Constraint::EQUALITY) {
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
+      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
+      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+      switch (sgn(bound_diff)) {
+      case 1:
+	return Poly_Con_Relation::strictly_intersects();
+      case 0:
+	return i.upper_is_open()
+	  ? Poly_Con_Relation::is_disjoint()
+	  : Poly_Con_Relation::strictly_intersects();
+      case -1:
+	return Poly_Con_Relation::is_disjoint();
+      }
+    }
+    else {
+      assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
+      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+      switch (sgn(bound_diff)) {
+      case 1:
+	return Poly_Con_Relation::is_disjoint();
+      case 0:
+	if (i.lower_is_open())
+	  return Poly_Con_Relation::is_disjoint();
+        if (i.is_singleton())
+          return Poly_Con_Relation::is_included()
+            && Poly_Con_Relation::saturates();
+        return Poly_Con_Relation::strictly_intersects();
+      case -1:
+	if (i.upper_is_boundary_infinity())
+	  return Poly_Con_Relation::strictly_intersects();
+	else {
+	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
+	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+	  switch (sgn(bound_diff)) {
+	  case 1:
+	    return Poly_Con_Relation::strictly_intersects();
+	  case 0:
+	    if (i.upper_is_open())
+	      return Poly_Con_Relation::is_disjoint();
+	    else
+	      return Poly_Con_Relation::strictly_intersects();
+	  case -1:
+	    return Poly_Con_Relation::is_disjoint();
+	  }
+	}
       }
-      p.refine_with_constraint(min_value <= x);
-      p.refine_with_constraint(x <= max_value);
-      hull.upper_bound_assign(p);
     }
-    pointset.swap(hull);
   }
-}
 
-template <typename PSET>
-void
-wrap_assign_col(PSET& dest,
-                const PSET& src,
-                const Variables_Set& vars,
-                Wrap_Translations::const_iterator first,
-                Wrap_Translations::const_iterator end,
-                Bounded_Integer_Type_Width w,
-                Coefficient_traits::const_reference min_value,
-                Coefficient_traits::const_reference max_value,
-                const Constraint_System* pcs,
-                Coefficient& tmp) {
-  if (first == end) {
-    PSET p(src);
-    if (pcs != 0)
-      p.refine_with_constraints(*pcs);
-    for (Variables_Set::const_iterator i = vars.begin(),
-           vars_end = vars.end(); i != vars.end(); ++i) {
-      const Variable x = Variable(*i);
-      p.refine_with_constraint(min_value <= x);
-      p.refine_with_constraint(x <= max_value);
+  PPL_ASSERT(constraint_type != Constraint::EQUALITY);
+  if (is_lower_bound) {
+    if (i.lower_is_boundary_infinity()) {
+      PPL_ASSERT(!i.upper_is_boundary_infinity());
+      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
+      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+      switch (sgn(bound_diff)) {
+      case 1:
+	return Poly_Con_Relation::strictly_intersects();
+      case 0:
+	if (constraint_type == Constraint::STRICT_INEQUALITY
+	    || i.upper_is_open())
+	  return Poly_Con_Relation::is_disjoint();
+	else
+	  return Poly_Con_Relation::strictly_intersects();
+      case -1:
+	return Poly_Con_Relation::is_disjoint();
+      }
+    }
+    else {
+      assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
+      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+      switch (sgn(bound_diff)) {
+      case 1:
+	return Poly_Con_Relation::is_included();
+      case 0:
+	if (constraint_type == Constraint::NONSTRICT_INEQUALITY
+	    || i.lower_is_open()) {
+	  Poly_Con_Relation result = Poly_Con_Relation::is_included();
+	  if (i.is_singleton())
+	    result = result && Poly_Con_Relation::saturates();
+	  return result;
+	}
+	else {
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
+		 && !i.lower_is_open());
+	  if (i.is_singleton())
+	    return Poly_Con_Relation::is_disjoint()
+	      && Poly_Con_Relation::saturates();
+	  else
+	    return Poly_Con_Relation::strictly_intersects();
+	}
+      case -1:
+	if (i.upper_is_boundary_infinity())
+	  return Poly_Con_Relation::strictly_intersects();
+	else {
+	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
+	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+	  switch (sgn(bound_diff)) {
+	  case 1:
+	    return Poly_Con_Relation::strictly_intersects();
+	  case 0:
+	    if (constraint_type == Constraint::STRICT_INEQUALITY
+		|| i.upper_is_open())
+	      return Poly_Con_Relation::is_disjoint();
+	    else
+	      return Poly_Con_Relation::strictly_intersects();
+	  case -1:
+	    return Poly_Con_Relation::is_disjoint();
+	  }
+	}
+      }
     }
-    dest.upper_bound_assign(p);
   }
   else {
-    const Wrap_Dim_Translations& wrap_dim_translations = *first;
-    const Variable& x = wrap_dim_translations.var;
-    const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
-    const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
-    Coefficient& shift = tmp;
-    PPL_DIRTY_TEMP_COEFFICIENT(quadrant);
-    for (quadrant = first_quadrant; quadrant <= last_quadrant; ++quadrant) {
-      if (quadrant != 0) {
-        mul_2exp_assign(shift, quadrant, w);
-        PSET p(src);
-        p.affine_image(x, x - shift, 1);
-        wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value,
-                        pcs, tmp);
+    // `c' is an upper bound.
+    if (i.upper_is_boundary_infinity())
+      return Poly_Con_Relation::strictly_intersects();
+    else {
+      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
+      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+      switch (sgn(bound_diff)) {
+      case -1:
+	return Poly_Con_Relation::is_included();
+      case 0:
+	if (constraint_type == Constraint::NONSTRICT_INEQUALITY
+	    || i.upper_is_open()) {
+	  Poly_Con_Relation result = Poly_Con_Relation::is_included();
+	  if (i.is_singleton())
+	    result = result && Poly_Con_Relation::saturates();
+	  return result;
+	}
+	else {
+	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
+		 && !i.upper_is_open());
+	  if (i.is_singleton())
+	    return Poly_Con_Relation::is_disjoint()
+	      && Poly_Con_Relation::saturates();
+	  else
+	    return Poly_Con_Relation::strictly_intersects();
+	}
+      case 1:
+	if (i.lower_is_boundary_infinity())
+	  return Poly_Con_Relation::strictly_intersects();
+	else {
+	  assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
+	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
+	  switch (sgn(bound_diff)) {
+	  case -1:
+	    return Poly_Con_Relation::strictly_intersects();
+	  case 0:
+	    if (constraint_type == Constraint::STRICT_INEQUALITY
+		|| i.lower_is_open())
+	      return Poly_Con_Relation::is_disjoint();
+	    else
+	      return Poly_Con_Relation::strictly_intersects();
+	  case 1:
+	    return Poly_Con_Relation::is_disjoint();
+	  }
+	}
       }
-      else
-        wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value,
-                        pcs, tmp);
     }
   }
+
+  // Quiet a compiler warning: this program point is unreachable.
+  PPL_UNREACHABLE;
+  return Poly_Con_Relation::nothing();
 }
 
-template <typename PSET>
-void
-wrap_assign(PSET& pointset,
-            const Variables_Set& vars,
-            const Bounded_Integer_Type_Width w,
-            const Bounded_Integer_Type_Representation r,
-            const Bounded_Integer_Type_Overflow o,
-            const Constraint_System* pcs,
-            const unsigned complexity_threshold,
-            const bool wrap_individually,
-            const char* class_name) {
-  // We must have pcs->space_dimension() <= vars.space_dimension()
-  //         and  vars.space_dimension() <= pointset.space_dimension().
+template <typename ITV>
+Poly_Con_Relation
+Box<ITV>::relation_with(const Congruence& cg) const {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  const dimension_type space_dim = space_dimension();
 
-  // Dimension-compatibility check of `*pcs', if any.
-  const dimension_type vars_space_dim = vars.space_dimension();
-  if (pcs != 0) {
-    if (pcs->space_dimension() > vars_space_dim) {
-      std::ostringstream s;
-      s << "PPL::" << class_name << "::wrap_assign(..., pcs, ...):"
-        << std::endl
-        << "vars.space_dimension() == " << vars_space_dim
-        << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
-      throw std::invalid_argument(s.str());
-    }
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(cg)", cg);
 
-#ifndef NDEBUG
-    // Check that all variables upon which `*pcs' depends are in `vars'.
-    // An assertion is violated otherwise.
-    const Constraint_System cs = *pcs;
-    const dimension_type cs_space_dim = cs.space_dimension();
-    Variables_Set::const_iterator vars_end = vars.end();
-    for (Constraint_System::const_iterator i = cs.begin(),
-           cs_end = cs.end(); i != cs_end; ++i) {
-      const Constraint& c = *i;
-      for (dimension_type d = cs_space_dim; d-- > 0; ) {
-        PPL_ASSERT(c.coefficient(Variable(d)) == 0
-               || vars.find(d) != vars_end);
-      }
-    }
-#endif
-  }
+  if (is_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-  // Wrapping no variable only requires refining with *pcs, if any.
-  if (vars.empty()) {
-    if (pcs != 0)
-      pointset.refine_with_constraints(*pcs);
-    return;
+  if (space_dim == 0) {
+    if (cg.is_inconsistent())
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::saturates()
+	&& Poly_Con_Relation::is_included();
   }
 
-  // Dimension-compatibility check of `vars'.
-  const dimension_type space_dim = pointset.space_dimension();
-  if (vars.space_dimension() > space_dim) {
-    std::ostringstream s;
-    s << "PPL::" << class_name << "::wrap_assign(vs, ...):" << std::endl
-      << "this->space_dimension() == " << space_dim
-      << ", required space dimension == " << vars.space_dimension() << ".";
-    throw std::invalid_argument(s.str());
+  if (cg.is_equality()) {
+    const Constraint c(cg);
+    return relation_with(c);
   }
 
-  // Wrapping an empty polyhedron is a no-op.
-  if (pointset.is_empty())
-    return;
-
-  // Set `min_value' and `max_value' to the minimum and maximum values
-  // a variable of width `w' and signedness `s' can take.
-  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  if (r == UNSIGNED) {
-    min_value = 0;
-    mul_2exp_assign(max_value, Coefficient_one(), w);
-    --max_value;
-  }
-  else {
-    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
-    mul_2exp_assign(max_value, Coefficient_one(), w-1);
-    neg_assign(min_value, max_value);
-    --max_value;
+  PPL_DIRTY_TEMP(Rational_Interval, r);
+  PPL_DIRTY_TEMP(Rational_Interval, t);
+  PPL_DIRTY_TEMP(mpq_class, m);
+  r = 0;
+  for (Congruence::Expression::const_iterator i = cg.expression().begin(),
+      i_end = cg.expression().end(); i != i_end; ++i) {
+    const Coefficient& cg_i = *i;
+    const Variable v = i.variable();
+    assign_r(m, cg_i, ROUND_NOT_NEEDED);
+    // FIXME: an add_mul_assign() method would come handy here.
+    t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint());
+    t *= m;
+    r += t;
   }
 
-  // If we are wrapping variables collectively, the ranges for the
-  // required translations are saved in `translations' instead of being
-  // immediately applied.
-  Wrap_Translations translations;
-
-  // Dimensions subject to translation are added to this set if we are
-  // wrapping collectively or if `pcs' is non null.
-  Variables_Set dimensions_to_be_translated;
+  if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity())
+    return Poly_Con_Relation::strictly_intersects();
 
-  // This will contain a lower bound to the number of abstractions
-  // to be joined in order to obtain the collective wrapping result.
-  // As soon as this exceeds `complexity_threshold', counting will be
-  // interrupted and the full range will be the result of wrapping
-  // any dimension that is not fully contained in quadrant 0.
-  unsigned collective_wrap_complexity = 1;
 
-  // This flag signals that the maximum complexity for collective
-  // wrapping as been exceeded.
-  bool collective_wrap_too_complex = false;
+  // Find the value that satisfies the congruence and is
+  // nearest to the lower bound such that the point lies on or above it.
 
-  if (!wrap_individually) {
-    translations.reserve(space_dim);
-  }
+  PPL_DIRTY_TEMP_COEFFICIENT(lower);
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(v);
+  mod = cg.modulus();
+  v = cg.inhomogeneous_term() % mod;
+  assign_r(lower, r.lower(), ROUND_DOWN);
+  v -= ((lower / mod) * mod);
+  if (v + lower > 0)
+    v -= mod;
+  return interval_relation(r, Constraint::EQUALITY, v);
+}
 
-  // We use `full_range_bounds' to delay conversions whenever
-  // this delay does not negatively affect precision.
-  Constraint_System full_range_bounds;
+template <typename ITV>
+Poly_Con_Relation
+Box<ITV>::relation_with(const Constraint& c) const {
+  const dimension_type c_space_dim = c.space_dimension();
+  const dimension_type space_dim = space_dimension();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(ln);
-  PPL_DIRTY_TEMP_COEFFICIENT(ld);
-  PPL_DIRTY_TEMP_COEFFICIENT(un);
-  PPL_DIRTY_TEMP_COEFFICIENT(ud);
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(c)", c);
 
-  for (Variables_Set::const_iterator i = vars.begin(),
-         vars_end = vars.end(); i != vars_end; ++i) {
+  if (is_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
 
-    const Variable x = Variable(*i);
+  if (space_dim == 0) {
+    if ((c.is_equality() && c.inhomogeneous_term() != 0)
+	|| (c.is_inequality() && c.inhomogeneous_term() < 0))
+      return Poly_Con_Relation::is_disjoint();
+    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
+      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
+      // thus, the zero-dimensional point also saturates it.
+      return Poly_Con_Relation::saturates()
+	&& Poly_Con_Relation::is_disjoint();
+    else if (c.is_equality() || c.inhomogeneous_term() == 0)
+      return Poly_Con_Relation::saturates()
+	&& Poly_Con_Relation::is_included();
+    else
+      // The zero-dimensional point saturates
+      // neither the positivity constraint 1 >= 0,
+      // nor the strict positivity constraint 1 > 0.
+      return Poly_Con_Relation::is_included();
+  }
 
-    bool extremum;
+  dimension_type c_num_vars = 0;
+  dimension_type c_only_var = 0;
 
-    if (!pointset.minimize(x, ln, ld, extremum)) {
-    set_full_range:
-      pointset.unconstrain(x);
-      full_range_bounds.insert(min_value <= x);
-      full_range_bounds.insert(x <= max_value);
-      continue;
+  if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
+    if (c_num_vars == 0)
+      // c is a trivial constraint.
+      switch (sgn(c.inhomogeneous_term())) {
+      case -1:
+	return Poly_Con_Relation::is_disjoint();
+      case 0:
+	if (c.is_strict_inequality())
+	  return Poly_Con_Relation::saturates()
+	    && Poly_Con_Relation::is_disjoint();
+	else
+	  return Poly_Con_Relation::saturates()
+	    && Poly_Con_Relation::is_included();
+      case 1:
+	return Poly_Con_Relation::is_included();
+      }
+    else {
+      // c is an interval constraint.
+      return interval_relation(seq[c_only_var],
+			       c.type(),
+			       c.inhomogeneous_term(),
+			       c.coefficient(Variable(c_only_var)));
+    }
+  else {
+    // Deal with a non-trivial and non-interval constraint.
+    PPL_DIRTY_TEMP(Rational_Interval, r);
+    PPL_DIRTY_TEMP(Rational_Interval, t);
+    PPL_DIRTY_TEMP(mpq_class, m);
+    r = 0;
+    const Constraint::Expression& e = c.expression();
+    for (Constraint::Expression::const_iterator i = e.begin(), i_end = e.end();
+          i != i_end; ++i) {
+      assign_r(m, *i, ROUND_NOT_NEEDED);
+      const Variable v = i.variable();
+      // FIXME: an add_mul_assign() method would come handy here.
+      t.build(seq[v.id()].lower_constraint(), seq[v.id()].upper_constraint());
+      t *= m;
+      r += t;
     }
+    return interval_relation(r,
+			     c.type(),
+			     c.inhomogeneous_term());
+  }
 
-    if (!pointset.maximize(x, un, ud, extremum))
-      goto set_full_range;
-
-    div_assign_r(ln, ln, ld, ROUND_DOWN);
-    div_assign_r(un, un, ud, ROUND_DOWN);
-    ln -= min_value;
-    un -= min_value;
-    div_2exp_assign_r(ln, ln, w, ROUND_DOWN);
-    div_2exp_assign_r(un, un, w, ROUND_DOWN);
-    Coefficient& first_quadrant = ln;
-    Coefficient& last_quadrant = un;
-
-    // Special case: this variable does not need wrapping.
-    if (first_quadrant == 0 && last_quadrant == 0)
-      continue;
+  // Quiet a compiler warning: this program point is unreachable.
+  PPL_UNREACHABLE;
+  return Poly_Con_Relation::nothing();
+}
 
-    // If overflow is impossible, try not to add useless constraints.
-    if (o == OVERFLOW_IMPOSSIBLE) {
-      if (first_quadrant < 0)
-        full_range_bounds.insert(min_value <= x);
-      if (last_quadrant > 0)
-        full_range_bounds.insert(x <= max_value);
-      continue;
-    }
+template <typename ITV>
+Poly_Gen_Relation
+Box<ITV>::relation_with(const Generator& g) const {
+  const dimension_type space_dim = space_dimension();
+  const dimension_type g_space_dim = g.space_dimension();
 
-    if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex)
-      goto set_full_range;
+  // Dimension-compatibility check.
+  if (space_dim < g_space_dim)
+    throw_dimension_incompatible("relation_with(g)", g);
 
-    Coefficient& quadrants = ud;
-    quadrants = last_quadrant - first_quadrant + 1;
+  // The empty box cannot subsume a generator.
+  if (is_empty())
+    return Poly_Gen_Relation::nothing();
 
-    unsigned extension;
-    Result res = assign_r(extension, quadrants, ROUND_IGNORE);
-    if (result_overflow(res) || extension > complexity_threshold)
-      goto set_full_range;
+  // A universe box in a zero-dimensional space subsumes
+  // all the generators of a zero-dimensional space.
+  if (space_dim == 0)
+    return Poly_Gen_Relation::subsumes();
 
-    if (!wrap_individually && !collective_wrap_too_complex) {
-      res = mul_assign_r(collective_wrap_complexity,
-                         collective_wrap_complexity, extension, ROUND_IGNORE);
-      if (result_overflow(res)
-          || collective_wrap_complexity > complexity_threshold)
-        collective_wrap_too_complex = true;
-      if (collective_wrap_too_complex) {
-        // Set all the dimensions in `translations' to full range.
-        for (Wrap_Translations::const_iterator j = translations.begin(),
-               tend = translations.end(); j != tend; ++j) {
-          const Variable& y = j->var;
-          pointset.unconstrain(y);
-          full_range_bounds.insert(min_value <= y);
-          full_range_bounds.insert(y <= max_value);
-        }
-      }
+  if (g.is_line_or_ray()) {
+    if (g.is_line()) {
+      const Generator::Expression& e = g.expression();
+      for (Generator::Expression::const_iterator i = e.begin(), i_end = e.end();
+           i != i_end; ++i)
+	if (!seq[i.variable().id()].is_universe())
+	  return Poly_Gen_Relation::nothing();
+      return Poly_Gen_Relation::subsumes();
     }
-
-    if (wrap_individually && pcs == 0) {
-      Coefficient& quadrant = first_quadrant;
-      // Temporary variable holding the shifts to be applied in order
-      // to implement the translations.
-      Coefficient& shift = ld;
-      PSET hull(space_dim, EMPTY);
-      for ( ; quadrant <= last_quadrant; ++quadrant) {
-        PSET p(pointset);
-        if (quadrant != 0) {
-          mul_2exp_assign(shift, quadrant, w);
-          p.affine_image(x, x - shift, 1);
-        }
-        p.refine_with_constraint(min_value <= x);
-        p.refine_with_constraint(x <= max_value);
-        hull.upper_bound_assign(p);
+    else {
+      PPL_ASSERT(g.is_ray());
+      const Generator::Expression& e = g.expression();
+      for (Generator::Expression::const_iterator i = e.begin(), i_end = e.end();
+           i != i_end; ++i) {
+        const Variable v = i.variable();
+	switch (sgn(*i)) {
+	case 1:
+	  if (!seq[v.id()].upper_is_boundary_infinity())
+	    return Poly_Gen_Relation::nothing();
+	  break;
+	case 0:
+          PPL_UNREACHABLE;
+	  break;
+	case -1:
+	  if (!seq[v.id()].lower_is_boundary_infinity())
+	    return Poly_Gen_Relation::nothing();
+	  break;
+	}
       }
-      pointset.swap(hull);
-    }
-    else if (wrap_individually || !collective_wrap_too_complex) {
-      PPL_ASSERT(!wrap_individually || pcs != 0);
-      dimensions_to_be_translated.insert(x);
-      translations
-        .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant));
+      return Poly_Gen_Relation::subsumes();
     }
   }
 
-  if (!translations.empty()) {
-    if (wrap_individually) {
-      PPL_ASSERT(pcs != 0);
-      wrap_assign_ind(pointset, dimensions_to_be_translated,
-                      translations.begin(), translations.end(),
-                      w, min_value, max_value, *pcs, ln, ld);
+  // Here `g' is a point or closure point.
+  const Coefficient& g_divisor = g.divisor();
+  PPL_DIRTY_TEMP(mpq_class, g_coord);
+  PPL_DIRTY_TEMP(mpq_class, bound);
+  // TODO: If the variables in the expression that have coefficient 0
+  // have no effect on seq[i], this loop can be optimized using
+  // Generator::Expression::const_iterator.
+  for (dimension_type i = g_space_dim; i-- > 0; ) {
+    const ITV& seq_i = seq[i];
+    if (seq_i.is_universe())
+      continue;
+    assign_r(g_coord.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
+    assign_r(g_coord.get_den(), g_divisor, ROUND_NOT_NEEDED);
+    g_coord.canonicalize();
+    // Check lower bound.
+    if (!seq_i.lower_is_boundary_infinity()) {
+      assign_r(bound, seq_i.lower(), ROUND_NOT_NEEDED);
+      if (g_coord <= bound) {
+	if (seq_i.lower_is_open()) {
+	  if (g.is_point() || g_coord != bound)
+	    return Poly_Gen_Relation::nothing();
+	}
+	else if (g_coord != bound)
+	  return Poly_Gen_Relation::nothing();
+      }
     }
-    else {
-      PSET hull(space_dim, EMPTY);
-      wrap_assign_col(hull, pointset, dimensions_to_be_translated,
-                      translations.begin(), translations.end(),
-                      w, min_value, max_value, pcs, ln);
-      pointset.swap(hull);
+    // Check upper bound.
+    if (!seq_i.upper_is_boundary_infinity()) {
+      assign_r(bound, seq_i.upper(), ROUND_NOT_NEEDED);
+      if (g_coord >= bound) {
+	if (seq_i.upper_is_open()) {
+	  if (g.is_point() || g_coord != bound)
+	    return Poly_Gen_Relation::nothing();
+	}
+	else if (g_coord != bound)
+	  return Poly_Gen_Relation::nothing();
+      }
     }
   }
-
-  if (pcs != 0)
-    pointset.refine_with_constraints(*pcs);
-  pointset.refine_with_constraints(full_range_bounds);
+  return Poly_Gen_Relation::subsumes();
 }
 
-} // namespace Implementation
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 37. */
-#include <algorithm>
-
-namespace Parma_Polyhedra_Library {
 
-namespace Implementation {
+template <typename ITV>
+bool
+Box<ITV>::max_min(const Linear_Expression& expr,
+                  const bool maximize,
+                  Coefficient& ext_n, Coefficient& ext_d,
+                  bool& included) const {
+  // `expr' should be dimension-compatible with `*this'.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible((maximize
+				  ? "maximize(e, ...)"
+				  : "minimize(e, ...)"), "e", expr);
+  // Deal with zero-dim Box first.
+  if (space_dim == 0) {
+    if (marked_empty())
+      return false;
+    else {
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
+  }
 
-namespace Octagonal_Shapes {
+  // For an empty Box we simply return false.
+  if (is_empty())
+    return false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the index coherent to \p i.
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-inline dimension_type
-coherent_index(const dimension_type i) {
-  return (i % 2 != 0) ? i-1 : i+1;
+  PPL_DIRTY_TEMP(mpq_class, result);
+  assign_r(result, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
+  bool is_included = true;
+  const int maximize_sign = maximize ? 1 : -1;
+  PPL_DIRTY_TEMP(mpq_class, bound_i);
+  PPL_DIRTY_TEMP(mpq_class, expr_i);
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    const ITV& seq_i = seq[i.variable().id()];
+    assign_r(expr_i, *i, ROUND_NOT_NEEDED);
+    switch (sgn(expr_i) * maximize_sign) {
+    case 1:
+      if (seq_i.upper_is_boundary_infinity())
+	return false;
+      assign_r(bound_i, seq_i.upper(), ROUND_NOT_NEEDED);
+      add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
+      if (seq_i.upper_is_open())
+	is_included = false;
+      break;
+    case 0:
+      PPL_UNREACHABLE;
+      break;
+    case -1:
+      if (seq_i.lower_is_boundary_infinity())
+	return false;
+      assign_r(bound_i, seq_i.lower(), ROUND_NOT_NEEDED);
+      add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
+      if (seq_i.lower_is_open())
+	is_included = false;
+      break;
+    }
+  }
+  // Extract output info.
+  PPL_ASSERT(is_canonical(result));
+  ext_n = result.get_num();
+  ext_d = result.get_den();
+  included = is_included;
+  return true;
 }
 
-} // namespace Octagonal_Shapes
-
-} // namespace Implementation
-
-template <typename T>
-inline dimension_type
-Octagonal_Shape<T>::max_space_dimension() {
-  return OR_Matrix<N>::max_num_rows()/2;
-}
+template <typename ITV>
+bool
+Box<ITV>::max_min(const Linear_Expression& expr,
+                  const bool maximize,
+                  Coefficient& ext_n, Coefficient& ext_d,
+                  bool& included,
+                  Generator& g) const {
+  if (!max_min(expr, maximize, ext_n, ext_d, included))
+    return false;
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::marked_zero_dim_univ() const {
-  return status.test_zero_dim_univ();
+  // Compute generator `g'.
+  Linear_Expression g_expr;
+  PPL_DIRTY_TEMP(Coefficient, g_divisor);
+  g_divisor = 1;
+  const int maximize_sign = maximize ? 1 : -1;
+  PPL_DIRTY_TEMP(mpq_class, g_coord);
+  PPL_DIRTY_TEMP(Coefficient, numer);
+  PPL_DIRTY_TEMP(Coefficient, denom);
+  PPL_DIRTY_TEMP(Coefficient, lcm);
+  PPL_DIRTY_TEMP(Coefficient, factor);
+  // TODO: Check if the following loop can be optimized to exploit the
+  // (possible) sparseness of expr.
+  for (dimension_type i = space_dimension(); i-- > 0; ) {
+    const ITV& seq_i = seq[i];
+    switch (sgn(expr.coefficient(Variable(i))) * maximize_sign) {
+    case 1:
+      assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
+      break;
+    case 0:
+      // If 0 belongs to the interval, choose it
+      // (and directly proceed to the next iteration).
+      // FIXME: name qualification issue.
+      if (seq_i.contains(0))
+	continue;
+      if (!seq_i.lower_is_boundary_infinity())
+	if (seq_i.lower_is_open())
+	  if (!seq_i.upper_is_boundary_infinity())
+	    if (seq_i.upper_is_open()) {
+	      // Bounded and open interval: compute middle point.
+	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
+	      PPL_DIRTY_TEMP(mpq_class, q_seq_i_upper);
+	      assign_r(q_seq_i_upper, seq_i.upper(), ROUND_NOT_NEEDED);
+	      g_coord += q_seq_i_upper;
+	      g_coord /= 2;
+	    }
+	    else
+	      // The upper bound is in the interval.
+	      assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
+	  else {
+	    // Lower is open, upper is unbounded.
+	    assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
+	    ++g_coord;
+	  }
+	else
+	  // The lower bound is in the interval.
+	  assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
+      else {
+	// Lower is unbounded, hence upper is bounded
+	// (since we know that 0 does not belong to the interval).
+	PPL_ASSERT(!seq_i.upper_is_boundary_infinity());
+	assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
+	if (seq_i.upper_is_open())
+	  --g_coord;
+      }
+      break;
+    case -1:
+      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
+      break;
+    }
+    // Add g_coord * Variable(i) to the generator.
+    assign_r(denom, g_coord.get_den(), ROUND_NOT_NEEDED);
+    lcm_assign(lcm, g_divisor, denom);
+    exact_div_assign(factor, lcm, g_divisor);
+    g_expr *= factor;
+    exact_div_assign(factor, lcm, denom);
+    assign_r(numer, g_coord.get_num(), ROUND_NOT_NEEDED);
+    numer *= factor;
+    g_expr += numer * Variable(i);
+    g_divisor = lcm;
+  }
+  g = Generator::point(g_expr, g_divisor);
+  return true;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::marked_strongly_closed() const {
-  return status.test_strongly_closed();
-}
+template <typename ITV>
+bool
+Box<ITV>::contains(const Box& y) const {
+  const Box& x = *this;
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    x.throw_dimension_incompatible("contains(y)", y);
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::marked_empty() const {
-  return status.test_empty();
-}
+  // If `y' is empty, then `x' contains `y'.
+  if (y.is_empty())
+    return true;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::set_zero_dim_univ() {
-  status.set_zero_dim_univ();
-}
+  // If `x' is empty, then `x' cannot contain `y'.
+  if (x.is_empty())
+    return false;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::set_empty() {
-  status.set_empty();
+  for (dimension_type k = x.seq.size(); k-- > 0; )
+    // FIXME: fix this name qualification issue.
+    if (!x.seq[k].contains(y.seq[k]))
+      return false;
+  return true;
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::set_strongly_closed() {
-  status.set_strongly_closed();
-}
+template <typename ITV>
+bool
+Box<ITV>::is_disjoint_from(const Box& y) const {
+  const Box& x = *this;
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    x.throw_dimension_incompatible("is_disjoint_from(y)", y);
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::reset_strongly_closed() {
-  status.reset_strongly_closed();
-}
+  // If any of `x' or `y' is marked empty, then they are disjoint.
+  // Note: no need to use `is_empty', as the following loop is anyway correct.
+  if (x.marked_empty() || y.marked_empty())
+    return true;
 
-template <typename T>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const dimension_type num_dimensions,
-				    const Degenerate_Element kind)
-  : matrix(num_dimensions), space_dim(num_dimensions), status() {
-  if (kind == EMPTY)
-    set_empty();
-  else if (num_dimensions > 0)
-    // A (non zero-dim) universe octagon is strongly closed.
-    set_strongly_closed();
-  PPL_ASSERT(OK());
+  for (dimension_type k = x.seq.size(); k-- > 0; )
+    // FIXME: fix this name qualification issue.
+    if (x.seq[k].is_disjoint_from(y.seq[k]))
+      return true;
+  return false;
 }
 
-template <typename T>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Octagonal_Shape& y, Complexity_Class)
-  : matrix(y.matrix), space_dim(y.space_dim), status(y.status) {
-}
+template <typename ITV>
+inline bool
+Box<ITV>::upper_bound_assign_if_exact(const Box& y) {
+  Box& x = *this;
 
-template <typename T>
-template <typename U>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Octagonal_Shape<U>& y,
-                                    Complexity_Class)
-  // For maximum precision, enforce shortest-path closure
-  // before copying the DB matrix.
-  : matrix((y.strong_closure_assign(), y.matrix)),
-    space_dim(y.space_dim),
-    status() {
-  // TODO: handle flags properly, possibly taking special cases into account.
-  if (y.marked_empty())
-    set_empty();
-  else if (y.marked_zero_dim_univ())
-    set_zero_dim_univ();
-}
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    x.throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
-template <typename T>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Constraint_System& cs)
-  : matrix(cs.space_dimension()),
-    space_dim(cs.space_dimension()),
-    status() {
-  if (cs.space_dimension() > 0)
-    // A (non zero-dim) universe octagon is strongly closed.
-    set_strongly_closed();
-  add_constraints(cs);
-}
+  // The lub of a box with an empty box is equal to the first box.
+  if (y.is_empty())
+    return true;
+  if (x.is_empty()) {
+    x = y;
+    return true;
+  }
 
-template <typename T>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Congruence_System& cgs)
-  : matrix(cgs.space_dimension()),
-    space_dim(cgs.space_dimension()),
-    status() {
-  if (cgs.space_dimension() > 0)
-    // A (non zero-dim) universe octagon is strongly closed.
-    set_strongly_closed();
-  add_congruences(cgs);
-}
+  bool x_j_does_not_contain_y_j = false;
+  bool y_j_does_not_contain_x_j = false;
 
-template <typename T>
-template <typename Interval>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Box<Interval>& box,
-                                    Complexity_Class)
-  : matrix(box.space_dimension()),
-    space_dim(box.space_dimension()),
-    status() {
-  // Check for emptyness for maximum precision.
-  if (box.is_empty())
-    set_empty();
-  else if (box.space_dimension() > 0) {
-    // A (non zero-dim) universe OS is strongly closed.
-    set_strongly_closed();
-    refine_with_constraints(box.constraints());
-  }
-}
+  for (dimension_type i = x.seq.size(); i-- > 0; ) {
+    const ITV& x_seq_i = x.seq[i];
+    const ITV& y_seq_i = y.seq[i];
 
-template <typename T>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const Grid& grid,
-                                    Complexity_Class)
-  : matrix(grid.space_dimension()),
-    space_dim(grid.space_dimension()),
-    status() {
-  if (grid.space_dimension() > 0)
-    // A (non zero-dim) universe OS is strongly closed.
-    set_strongly_closed();
-  // Taking minimized congruences ensures maximum precision.
-  refine_with_congruences(grid.minimized_congruences());
-}
+    if (!x_seq_i.can_be_exactly_joined_to(y_seq_i))
+      return false;
 
-template <typename T>
-template <typename U>
-inline
-Octagonal_Shape<T>::Octagonal_Shape(const BD_Shape<U>& bd,
-                                    Complexity_Class)
-  : matrix(bd.space_dimension()),
-    space_dim(bd.space_dimension()),
-    status() {
-  // Check for emptyness for maximum precision.
-  if (bd.is_empty())
-    set_empty();
-  else if (bd.space_dimension() > 0) {
-    // A (non zero-dim) universe OS is strongly closed.
-    set_strongly_closed();
-    refine_with_constraints(bd.constraints());
+    // Note: the use of `y_i_does_not_contain_x_i' is needed
+    // because we want to temporarily preserve the old value
+    // of `y_j_does_not_contain_x_j'.
+    bool y_i_does_not_contain_x_i = !y_seq_i.contains(x_seq_i);
+    if (y_i_does_not_contain_x_i && x_j_does_not_contain_y_j)
+      return false;
+    if (!x_seq_i.contains(y_seq_i)) {
+      if (y_j_does_not_contain_x_j)
+        return false;
+      else
+        x_j_does_not_contain_y_j = true;
+    }
+    if (y_i_does_not_contain_x_i)
+      y_j_does_not_contain_x_j = true;
   }
-}
 
-template <typename T>
-inline Congruence_System
-Octagonal_Shape<T>::congruences() const {
-  return minimized_congruences();
+  // The upper bound is exact: compute it into *this.
+  for (dimension_type k = x.seq.size(); k-- > 0; )
+    x.seq[k].join_assign(y.seq[k]);
+  return true;
 }
 
-template <typename T>
-inline Octagonal_Shape<T>&
-Octagonal_Shape<T>::operator=(const Octagonal_Shape& y) {
-  matrix = y.matrix;
-  space_dim = y.space_dim;
-  status = y.status;
-  return *this;
-}
+template <typename ITV>
+bool
+Box<ITV>::OK() const {
+  if (status.test_empty_up_to_date() && !status.test_empty()) {
+    Box tmp = *this;
+    tmp.reset_empty_up_to_date();
+    if (tmp.check_empty()) {
+#ifndef NDEBUG
+      std::cerr << "The box is empty, but it is marked as non-empty."
+		<< std::endl;
+#endif // NDEBUG
+      return false;
+    }
+  }
 
-template <typename T>
-inline
-Octagonal_Shape<T>::~Octagonal_Shape() {
-}
+  // A box that is not marked empty must have meaningful intervals.
+  if (!marked_empty()) {
+    for (dimension_type k = seq.size(); k-- > 0; )
+      if (!seq[k].OK())
+	return false;
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::swap(Octagonal_Shape& y) {
-  std::swap(matrix, y.matrix);
-  std::swap(space_dim, y.space_dim);
-  std::swap(status, y.status);
+  return true;
 }
 
-template <typename T>
-inline dimension_type
-Octagonal_Shape<T>::space_dimension() const {
-  return space_dim;
-}
+template <typename ITV>
+dimension_type
+Box<ITV>::affine_dimension() const {
+  dimension_type d = space_dimension();
+  // A zero-space-dim box always has affine dimension zero.
+  if (d == 0)
+    return 0;
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::is_discrete() const {
-  return affine_dimension() == 0;
-}
+  // An empty box has affine dimension zero.
+  if (is_empty())
+    return 0;
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::is_empty() const {
-  strong_closure_assign();
-  return marked_empty();
-}
+  for (dimension_type k = d; k-- > 0; )
+    if (seq[k].is_singleton())
+      --d;
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
+  return d;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
+template <typename ITV>
+bool
+Box<ITV>::check_empty() const {
+  PPL_ASSERT(!marked_empty());
+  Box<ITV>& x = const_cast<Box<ITV>&>(*this);
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (seq[k].is_empty()) {
+      x.set_empty();
+      return true;
+    }
+  x.set_nonempty();
+  return false;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::maximize(const Linear_Expression& expr,
-			     Coefficient& sup_n, Coefficient& sup_d,
-			     bool& maximum) const {
-  return max_min(expr, true, sup_n, sup_d, maximum);
+template <typename ITV>
+bool
+Box<ITV>::is_universe() const {
+  if (marked_empty())
+    return false;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].is_universe())
+      return false;
+  return true;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::maximize(const Linear_Expression& expr,
-			     Coefficient& sup_n, Coefficient& sup_d,
-			     bool& maximum,
-			     Generator& g) const {
-  return max_min(expr, true, sup_n, sup_d, maximum, g);
-}
+template <typename ITV>
+bool
+Box<ITV>::is_topologically_closed() const {
+  if (ITV::is_always_topologically_closed() || is_empty())
+    return true;
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::minimize(const Linear_Expression& expr,
-			     Coefficient& inf_n, Coefficient& inf_d,
-			     bool& minimum) const {
-  return max_min(expr, false, inf_n, inf_d, minimum);
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].is_topologically_closed())
+      return false;
+  return true;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::minimize(const Linear_Expression& expr,
-			     Coefficient& inf_n, Coefficient& inf_d,
-			     bool& minimum,
-			     Generator& g) const {
-  return max_min(expr, false, inf_n, inf_d, minimum, g);
+template <typename ITV>
+bool
+Box<ITV>::is_discrete() const {
+  if (is_empty())
+    return true;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].is_singleton())
+      return false;
+  return true;
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::is_topologically_closed() const {
+template <typename ITV>
+bool
+Box<ITV>::is_bounded() const {
+  if (is_empty())
+    return true;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].is_bounded())
+      return false;
   return true;
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::topological_closure_assign() {
+template <typename ITV>
+bool
+Box<ITV>::contains_integer_point() const {
+  if (marked_empty())
+    return false;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].contains_integer_point())
+      return false;
+  return true;
 }
 
-/*! \relates Octagonal_Shape */
-template <typename T>
-inline bool
-operator==(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y) {
-  if (x.space_dim != y.space_dim)
-    // Dimension-incompatible OSs are different.
-    return false;
+template <typename ITV>
+bool
+Box<ITV>::frequency(const Linear_Expression& expr,
+                  Coefficient& freq_n, Coefficient& freq_d,
+                  Coefficient& val_n, Coefficient& val_d) const {
+  dimension_type space_dim = space_dimension();
+  // The dimension of `expr' must be at most the dimension of *this.
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
 
-  // Zero-dim OSs are equal if and only if they are both empty or universe.
-  if (x.space_dim == 0) {
-    if (x.marked_empty())
-      return y.marked_empty();
-    else
-      return !y.marked_empty();
+  // Check if `expr' has a constant value.
+  // If it is constant, set the frequency `freq_n' to 0
+  // and return true. Otherwise the values for \p expr
+  // are not discrete so return false.
+
+  // Space dimension is 0: if empty, then return false;
+  // otherwise the frequency is 0 and the value is the inhomogeneous term.
+  if (space_dim == 0) {
+    if (is_empty())
+      return false;
+    freq_n = 0;
+    freq_d = 1;
+    val_n = expr.inhomogeneous_term();
+    val_d = 1;
+    return true;
   }
 
-  x.strong_closure_assign();
-  y.strong_closure_assign();
-  // If one of two octagons is empty, then they are equal if and only if
-  // the other octagon is empty too.
-  if (x.marked_empty())
-    return y.marked_empty();
-  if (y.marked_empty())
+  // For an empty Box, we simply return false.
+  if (is_empty())
     return false;
-  // Strong closure is a canonical form.
-  return x.matrix == y.matrix;
-}
 
-/*! \relates Octagonal_Shape */
-template <typename T>
-inline bool
-operator!=(const Octagonal_Shape<T>& x, const Octagonal_Shape<T>& y) {
-  return !(x == y);
-}
+  // The Box has at least 1 dimension and is not empty.
+  PPL_DIRTY_TEMP_COEFFICIENT(numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(denom);
+  PPL_DIRTY_TEMP(mpq_class, tmp);
+  Coefficient c = expr.inhomogeneous_term();
 
-template <typename T>
-inline const typename Octagonal_Shape<T>::coefficient_type&
-Octagonal_Shape<T>::matrix_at(const dimension_type i,
-			      const dimension_type j) const {
-  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
-  using namespace Implementation::Octagonal_Shapes;
-  return (j < matrix.row_size(i))
-    ? matrix[i][j]
-    : matrix[coherent_index(j)][coherent_index(i)];
-}
+  PPL_DIRTY_TEMP_COEFFICIENT(val_denom);
+  val_denom = 1;
 
-template <typename T>
-inline typename Octagonal_Shape<T>::coefficient_type&
-Octagonal_Shape<T>::matrix_at(const dimension_type i,
-			      const dimension_type j) {
-  PPL_ASSERT(i < matrix.num_rows() && j < matrix.num_rows());
-  using namespace Implementation::Octagonal_Shapes;
-  return (j < matrix.row_size(i))
-    ? matrix[i][j]
-    : matrix[coherent_index(j)][coherent_index(i)];
+  for (Linear_Expression::const_iterator i = expr.begin(), i_end = expr.end();
+       i != i_end; ++i) {
+    const ITV& seq_i = seq[i.variable().id()];
+    // Check if `v' is constant in the BD shape.
+    if (seq_i.is_singleton()) {
+      // If `v' is constant, replace it in `le' by the value.
+      assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED);
+      numer = tmp.get_num();
+      denom = tmp.get_den();
+      c *= denom;
+      c += numer * val_denom * (*i);
+      val_denom *= denom;
+      continue;
+    }
+    // The expression `expr' is not constant.
+    return false;
+  }
+
+  // The expression `expr' is constant.
+  freq_n = 0;
+  freq_d = 1;
+
+  // Reduce `val_n' and `val_d'.
+  normalize2(c, val_denom, val_n, val_d);
+  return true;
 }
 
-template <typename T>
-inline Constraint_System
-Octagonal_Shape<T>::minimized_constraints() const {
-  strong_reduction_assign();
-  return constraints();
+template <typename ITV>
+bool
+Box<ITV>::constrains(Variable var) const {
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dimension() < var_space_dim)
+    throw_dimension_incompatible("constrains(v)", "v", var);
+
+  if (marked_empty() || !seq[var_space_dim-1].is_universe())
+    return true;
+  // Now force an emptiness check.
+  return is_empty();
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::add_octagonal_constraint(const dimension_type i,
-					     const dimension_type j,
-					     const N& k) {
-  // Private method: the caller has to ensure the following.
-#ifndef NDEBUG
-  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
-  typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  PPL_ASSERT(j < m_i.row_size());
-#endif
-  N& r_i_j = matrix[i][j];
-  if (r_i_j > k) {
-    r_i_j = k;
-    if (marked_strongly_closed())
-      reset_strongly_closed();
+template <typename ITV>
+void
+Box<ITV>::unconstrain(const Variables_Set& vars) {
+  // The cylindrification with respect to no dimensions is a no-op.
+  // This case also captures the only legal cylindrification
+  // of a box in a 0-dim space.
+  if (vars.empty())
+    return;
+
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
+
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
+
+  // Here the box might still be empty (but we haven't detected it yet):
+  // check emptiness of the interval for each of the variables in
+  // `vars' before cylindrification.
+  for (Variables_Set::const_iterator vsi = vars.begin(),
+         vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
+    ITV& seq_vsi = seq[*vsi];
+    if (!seq_vsi.is_empty())
+      seq_vsi.assign(UNIVERSE);
+    else {
+      set_empty();
+      break;
+    }
   }
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>
-::add_octagonal_constraint(const dimension_type i,
-			   const dimension_type j,
-			   Coefficient_traits::const_reference num,
-			   Coefficient_traits::const_reference den) {
-#ifndef NDEBUG
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(i < 2*space_dim && j < 2*space_dim && i != j);
-  typename OR_Matrix<N>::row_iterator m_i = matrix.row_begin() + i;
-  PPL_ASSERT(j < m_i.row_size());
-  PPL_ASSERT(den != 0);
-#endif
-  PPL_DIRTY_TEMP(N, k);
-  div_round_up(k, num, den);
-  add_octagonal_constraint(i, j, k);
-}
+template <typename ITV>
+void
+Box<ITV>::topological_closure_assign() {
+  if (ITV::is_always_topologically_closed() || is_empty())
+    return;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::add_constraints(const Constraint_System& cs) {
-  for (Constraint_System::const_iterator i = cs.begin(),
-         i_end = cs.end(); i != i_end; ++i)
-    add_constraint(*i);
+  for (dimension_type k = seq.size(); k-- > 0; )
+    seq[k].topological_closure_assign();
 }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
-  add_constraints(cs);
-}
+template <typename ITV>
+void
+Box<ITV>::wrap_assign(const Variables_Set& vars,
+                      Bounded_Integer_Type_Width w,
+                      Bounded_Integer_Type_Representation r,
+                      Bounded_Integer_Type_Overflow o,
+                      const Constraint_System* cs_p,
+                      unsigned complexity_threshold,
+                      bool wrap_individually) {
+#if 0 // Generic implementation commented out.
+  Implementation::wrap_assign(*this,
+                              vars, w, r, o, cs_p,
+                              complexity_threshold, wrap_individually,
+                              "Box");
+#else // Specialized implementation.
+  PPL_USED(wrap_individually);
+  PPL_USED(complexity_threshold);
+  Box& x = *this;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
-}
+  // Dimension-compatibility check for `*cs_p', if any.
+  const dimension_type vars_space_dim = vars.space_dimension();
+  if (cs_p != 0 && cs_p->space_dimension() > vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, cs_p, ...):"
+      << std::endl
+      << "vars.space_dimension() == " << vars_space_dim
+      << ", cs_p->space_dimension() == " << cs_p->space_dimension() << ".";
+    throw std::invalid_argument(s.str());
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::add_congruences(const Congruence_System& cgs) {
-  for (Congruence_System::const_iterator i = cgs.begin(),
-         cgs_end = cgs.end(); i != cgs_end; ++i)
-    add_congruence(*i);
-}
+  // Wrapping no variable only requires refining with *cs_p, if any.
+  if (vars.empty()) {
+    if (cs_p != 0)
+      refine_with_constraints(*cs_p);
+    return;
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::refine_with_constraint(const Constraint& c) {
-  // Dimension-compatibility check.
-  if (c.space_dimension() > space_dimension())
-    throw_dimension_incompatible("refine_with_constraint(c)", c);
+  // Dimension-compatibility check for `vars'.
+  const dimension_type space_dim = x.space_dimension();
+  if (space_dim < vars_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Box<ITV>::wrap_assign(vars, ...):"
+      << std::endl
+      << "this->space_dimension() == " << space_dim
+      << ", required space dimension == " << vars_space_dim << ".";
+    throw std::invalid_argument(s.str());
+  }
 
-  if (!marked_empty())
-    refine_no_check(c);
-}
+  // Wrapping an empty polyhedron is a no-op.
+  if (x.is_empty())
+    return;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_generic("refine_with_constraints(cs)",
-                  "cs and *this are space-dimension incompatible");
+  // FIXME: temporarily (ab-) using Coefficient.
+  // Set `min_value' and `max_value' to the minimum and maximum values
+  // a variable of width `w' and signedness `s' can take.
+  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
+  if (r == UNSIGNED) {
+    min_value = 0;
+    mul_2exp_assign(max_value, Coefficient_one(), w);
+    --max_value;
+  }
+  else {
+    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
+    mul_2exp_assign(max_value, Coefficient_one(), w-1);
+    neg_assign(min_value, max_value);
+    --max_value;
+  }
 
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
-    refine_no_check(*i);
-}
+  // FIXME: Build the (integer) quadrant interval.
+  PPL_DIRTY_TEMP(ITV, integer_quadrant_itv);
+  PPL_DIRTY_TEMP(ITV, rational_quadrant_itv);
+  {
+    I_Constraint<Coefficient> lower = i_constraint(GREATER_OR_EQUAL, min_value);
+    I_Constraint<Coefficient> upper = i_constraint(LESS_OR_EQUAL, max_value);
+    integer_quadrant_itv.build(lower, upper);
+    // The rational quadrant is only needed if overflow is undefined.
+    if (o == OVERFLOW_UNDEFINED) {
+      ++max_value;
+      upper = i_constraint(LESS_THAN, max_value);
+      rational_quadrant_itv.build(lower, upper);
+    }
+  }
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::refine_with_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dimension())
-    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
+  const Variables_Set::const_iterator vs_end = vars.end();
 
-  if (!marked_empty())
-    refine_no_check(cg);
+  if (cs_p == 0) {
+    // No constraint refinement is needed here.
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].wrap_assign(w, r, integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    case OVERFLOW_UNDEFINED:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+        ITV& x_seq_v = x.seq[*i];
+        if (!rational_quadrant_itv.contains(x_seq_v)) {
+          x_seq_v.assign(integer_quadrant_itv);
+        }
+      }
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
+        x.seq[*i].intersect_assign(integer_quadrant_itv);
+      reset_empty_up_to_date();
+      break;
+    }
+    PPL_ASSERT(x.OK());
+    return;
+  }
+
+  PPL_ASSERT(cs_p != 0);
+  const Constraint_System& cs = *cs_p;
+  // A map associating interval constraints to variable indexes.
+  typedef std::map<dimension_type, std::vector<const Constraint*> > map_type;
+  map_type var_cs_map;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         i_end = cs.end(); i != i_end; ++i) {
+    const Constraint& c = *i;
+    dimension_type c_num_vars = 0;
+    dimension_type c_only_var = 0;
+    if (Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) {
+      if (c_num_vars == 1) {
+        // An interval constraint on variable index `c_only_var'.
+        PPL_ASSERT(c_only_var < space_dim);
+        // We do care about c if c_only_var is going to be wrapped.
+        if (vars.find(c_only_var) != vs_end)
+          var_cs_map[c_only_var].push_back(&c);
+      }
+      else {
+        PPL_ASSERT(c_num_vars == 0);
+        // Note: tautologies have been filtered out by iterators.
+        PPL_ASSERT(c.is_inconsistent());
+        x.set_empty();
+        return;
+      }
+    }
+  }
+
+  PPL_DIRTY_TEMP(ITV, refinement_itv);
+  const map_type::const_iterator var_cs_map_end = var_cs_map.end();
+  // Loop through the variable indexes in `vars'.
+  for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
+    const dimension_type v = *i;
+    refinement_itv = integer_quadrant_itv;
+    // Look for the refinement constraints for space dimension index `v'.
+    map_type::const_iterator var_cs_map_iter = var_cs_map.find(v);
+    if (var_cs_map_iter != var_cs_map_end) {
+      // Refine interval for variable `v'.
+      const map_type::mapped_type& var_cs = var_cs_map_iter->second;
+      for (dimension_type j = var_cs.size(); j-- > 0; ) {
+        const Constraint& c = *var_cs[j];
+        refine_interval_no_check(refinement_itv,
+                                 c.type(),
+                                 c.inhomogeneous_term(),
+                                 c.coefficient(Variable(v)));
+      }
+    }
+    // Wrap space dimension index `v'.
+    ITV& x_seq_v = x.seq[v];
+    switch (o) {
+    case OVERFLOW_WRAPS:
+      x_seq_v.wrap_assign(w, r, refinement_itv);
+      break;
+    case OVERFLOW_UNDEFINED:
+      if (!rational_quadrant_itv.contains(x_seq_v))
+        x_seq_v.assign(UNIVERSE);
+      break;
+    case OVERFLOW_IMPOSSIBLE:
+      x_seq_v.intersect_assign(refinement_itv);
+      break;
+    }
+  }
+  PPL_ASSERT(x.OK());
+#endif
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
-  // Dimension-compatibility check.
-  if (cgs.space_dimension() > space_dimension())
-    throw_generic("refine_with_congruences(cgs)",
-                  "cgs and *this are space-dimension incompatible");
-
-  for (Congruence_System::const_iterator i = cgs.begin(),
-	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
-    refine_no_check(*i);
-}
-
-template <typename T>
-inline void
-Octagonal_Shape<T>::refine_no_check(const Congruence& cg) {
-  PPL_ASSERT(!marked_empty());
-  PPL_ASSERT(cg.space_dimension() <= space_dimension());
-
-  if (cg.is_proper_congruence()) {
-    if (cg.is_inconsistent())
-      set_empty();
-    // Other proper congruences are just ignored.
+Box<ITV>::drop_some_non_integer_points(Complexity_Class) {
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
     return;
-  }
-
-  PPL_ASSERT(cg.is_equality());
-  Constraint c(cg);
-  refine_no_check(c);
-}
-
-template <typename T>
-inline bool
-Octagonal_Shape<T>::can_recycle_constraint_systems() {
-  return false;
-}
-
-template <typename T>
-inline bool
-Octagonal_Shape<T>::can_recycle_congruence_systems() {
-  return false;
-}
 
-template <typename T>
-inline void
-Octagonal_Shape<T>
-::remove_higher_space_dimensions(const dimension_type new_dimension) {
-  // Dimension-compatibility check.
-  if (new_dimension > space_dim)
-    throw_dimension_incompatible("remove_higher_space_dimension(nd)",
-				 new_dimension);
-  // The removal of no dimensions from any octagon is a no-op.
-  // Note that this case also captures the only legal removal of
-  // dimensions from an octagon in a 0-dim space.
-  if (new_dimension == space_dim) {
-    PPL_ASSERT(OK());
+  if (marked_empty())
     return;
-  }
 
-  strong_closure_assign();
-  matrix.shrink(new_dimension);
-  // When we remove all dimensions from a non-empty octagon,
-  // we obtain the zero-dimensional universe octagon.
-  if (new_dimension == 0 && !marked_empty())
-    set_zero_dim_univ();
-  space_dim = new_dimension;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    seq[k].drop_some_non_integer_points();
+
   PPL_ASSERT(OK());
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::wrap_assign(const Variables_Set& vars,
-                                Bounded_Integer_Type_Width w,
-                                Bounded_Integer_Type_Representation r,
-                                Bounded_Integer_Type_Overflow o,
-                                const Constraint_System* pcs,
-                                unsigned complexity_threshold,
-                                bool wrap_individually) {
-  Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
-                              complexity_threshold, wrap_individually,
-                              "Octagonal_Shape");
-}
+Box<ITV>::drop_some_non_integer_points(const Variables_Set& vars,
+                                       Complexity_Class) {
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = vars.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
+                                 min_space_dim);
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::widening_assign(const Octagonal_Shape& y, unsigned* tp) {
-  BHMZ05_widening_assign(y, tp);
-}
+  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
+      && !ITV::info_type::store_open)
+    return;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
-					      unsigned* tp) {
-  static N stop_points[] = {
-    N(-2, ROUND_UP),
-    N(-1, ROUND_UP),
-    N( 0, ROUND_UP),
-    N( 1, ROUND_UP),
-    N( 2, ROUND_UP)
-  };
-  CC76_extrapolation_assign(y,
-			    stop_points,
-			    stop_points
-			    + sizeof(stop_points)/sizeof(stop_points[0]),
-			    tp);
-}
+  if (marked_empty())
+    return;
+
+  for (Variables_Set::const_iterator v_i = vars.begin(),
+         v_end = vars.end(); v_i != v_end; ++v_i)
+    seq[*v_i].drop_some_non_integer_points();
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::time_elapse_assign(const Octagonal_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dimension() != y.space_dimension())
-    throw_dimension_incompatible("time_elapse_assign(y)", y);
-  // See the polyhedra documentation.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.time_elapse_assign(py);
-  Octagonal_Shape<T> x(px);
-  swap(x);
   PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline bool
-Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
-  const Octagonal_Shape<T>& x = *this;
-  return x.contains(y) && !y.contains(x);
-}
+template <typename ITV>
+void
+Box<ITV>::intersection_assign(const Box& y) {
+  Box& x = *this;
+  const dimension_type space_dim = space_dimension();
 
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Octagonal_Shape<T>& x,
-			    const Octagonal_Shape<T>& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
   // Dimension-compatibility check.
-  if (x.space_dim != y.space_dim)
-    return false;
+  if (space_dim != y.space_dimension())
+    x.throw_dimension_incompatible("intersection_assign(y)", y);
 
-  // Zero-dim OSs are equal if and only if they are both empty or universe.
-  if (x.space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
+  // If one of the two boxes is empty, the intersection is empty.
+  if (x.marked_empty())
+    return;
+  if (y.marked_empty()) {
+    x.set_empty();
+    return;
   }
 
-  // The distance computation requires strong closure.
-  x.strong_closure_assign();
-  y.strong_closure_assign();
+  // If both boxes are zero-dimensional, then at this point they are
+  // necessarily non-empty, so that their intersection is non-empty too.
+  if (space_dim == 0)
+    return;
 
-  // If one of two OSs is empty, then they are equal if and only if
-  // the other OS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
-  }
+  // FIXME: here we may conditionally exploit a capability of the
+  // underlying interval to eagerly detect empty results.
+  reset_empty_up_to_date();
 
-  return rectilinear_distance_assign(r, x.matrix, y.matrix, dir,
-				     tmp0, tmp1, tmp2);
-}
+  for (dimension_type k = space_dim; k-- > 0; )
+    x.seq[k].intersect_assign(y.seq[k]);
 
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Octagonal_Shape<T>& x,
-			    const Octagonal_Shape<T>& y,
-			    const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+  PPL_ASSERT(x.OK());
 }
 
-/*! \relates Octagonal_Shape */
-template <typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const Octagonal_Shape<T>& x,
-			    const Octagonal_Shape<T>& y,
-			    const Rounding_Dir dir) {
-  return rectilinear_distance_assign<To, To, T>(r, x, y, dir);
-}
+template <typename ITV>
+void
+Box<ITV>::upper_bound_assign(const Box& y) {
+  Box& x = *this;
 
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Octagonal_Shape<T>& x,
-			  const Octagonal_Shape<T>& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
   // Dimension-compatibility check.
-  if (x.space_dim != y.space_dim)
-    return false;
-
-  // Zero-dim OSs are equal if and only if they are both empty or universe.
-  if (x.space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
-
-  // The distance computation requires strong closure.
-  x.strong_closure_assign();
-  y.strong_closure_assign();
+  if (x.space_dimension() != y.space_dimension())
+    x.throw_dimension_incompatible("upper_bound_assign(y)", y);
 
-  // If one of two OSs is empty, then they are equal if and only if
-  // the other OS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+  // The lub of a box with an empty box is equal to the first box.
+  if (y.is_empty())
+    return;
+  if (x.is_empty()) {
+    x = y;
+    return;
   }
 
-  return euclidean_distance_assign(r, x.matrix, y.matrix, dir,
-				   tmp0, tmp1, tmp2);
-}
-
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Octagonal_Shape<T>& x,
-			  const Octagonal_Shape<T>& y,
-			  const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+  for (dimension_type k = x.seq.size(); k-- > 0; )
+    x.seq[k].join_assign(y.seq[k]);
 
-/*! \relates Octagonal_Shape */
-template <typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const Octagonal_Shape<T>& x,
-			  const Octagonal_Shape<T>& y,
-			  const Rounding_Dir dir) {
-  return euclidean_distance_assign<To, To, T>(r, x, y, dir);
+  PPL_ASSERT(x.OK());
 }
 
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Octagonal_Shape<T>& x,
-			   const Octagonal_Shape<T>& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  // Dimension-compatibility check.
-  if (x.space_dim != y.space_dim)
-    return false;
+template <typename ITV>
+void
+Box<ITV>::concatenate_assign(const Box& y) {
+  Box& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+  const dimension_type y_space_dim = y.space_dimension();
 
-  // Zero-dim OSs are equal if and only if they are both empty or universe.
-  if (x.space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
+  // If `y' is marked empty, the result will be empty too.
+  if (y.marked_empty())
+    x.set_empty();
 
-  // The distance computation requires strong closure.
-  x.strong_closure_assign();
-  y.strong_closure_assign();
+  // If `y' is a 0-dim space box, there is nothing left to do.
+  if (y_space_dim == 0)
+    return;
+  // The resulting space dimension must be at most the maximum.
+  check_space_dimension_overflow(y.space_dimension(),
+                                 max_space_dimension() - space_dimension(),
+                                 "PPL::Box::",
+                                 "concatenate_assign(y)",
+                                 "concatenation exceeds the maximum "
+                                 "allowed space dimension");
+  // Here `y_space_dim > 0', so that a non-trivial concatenation will occur:
+  // make sure that reallocation will occur once at most.
+  x.seq.reserve(x_space_dim + y_space_dim);
 
-  // If one of two OSs is empty, then they are equal if and only if
-  // the other OS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
+  // If `x' is marked empty, then it is sufficient to adjust
+  // the dimension of the vector space.
+  if (x.marked_empty()) {
+    x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY));
+    PPL_ASSERT(x.OK());
+    return;
   }
 
-  return l_infinity_distance_assign(r, x.matrix, y.matrix, dir,
-				    tmp0, tmp1, tmp2);
-}
+  // Here neither `x' nor `y' are marked empty: concatenate them.
+  std::copy(y.seq.begin(), y.seq.end(),
+	    std::back_insert_iterator<Sequence>(x.seq));
+  // Update the `empty_up_to_date' flag.
+  if (!y.status.test_empty_up_to_date())
+    reset_empty_up_to_date();
 
-/*! \relates Octagonal_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Octagonal_Shape<T>& x,
-			   const Octagonal_Shape<T>& y,
-			   const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+  PPL_ASSERT(x.OK());
 }
 
-/*! \relates Octagonal_Shape */
-template <typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const Octagonal_Shape<T>& x,
-			   const Octagonal_Shape<T>& y,
-			   const Rounding_Dir dir) {
-  return l_infinity_distance_assign<To, To, T>(r, x, y, dir);
-}
+template <typename ITV>
+void
+Box<ITV>::difference_assign(const Box& y) {
+  const dimension_type space_dim = space_dimension();
 
-template <typename T>
-inline memory_size_type
-Octagonal_Shape<T>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("difference_assign(y)", y);
 
-template <typename T>
-inline int32_t
-Octagonal_Shape<T>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
+  Box& x = *this;
+  if (x.is_empty() || y.is_empty())
+    return;
 
-template <typename T>
-inline void
-Octagonal_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
-  if (!is_integer(elem)) {
-#ifndef NDEBUG
-    Result r =
-#endif
-    floor_assign_r(elem, elem, ROUND_DOWN);
-    PPL_ASSERT(r == V_EQ);
-    reset_strongly_closed();
-  }
-}
+  switch (space_dim) {
+  case 0:
+    // If `x' is zero-dimensional, then at this point both `x' and `y'
+    // are the universe box, so that their difference is empty.
+    x.set_empty();
+    break;
 
-} // namespace Parma_Polyhedra_Library
+  case 1:
+    x.seq[0].difference_assign(y.seq[0]);
+    if (x.seq[0].is_empty())
+      x.set_empty();
+    break;
 
-namespace std {
+  default:
+    {
+      dimension_type index_non_contained = space_dim;
+      dimension_type number_non_contained = 0;
+      for (dimension_type i = space_dim; i-- > 0; )
+        if (!y.seq[i].contains(x.seq[i])) {
+          if (++number_non_contained == 1)
+            index_non_contained = i;
+          else
+            break;
+        }
 
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
-template <typename T>
-inline void
-swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
-     Parma_Polyhedra_Library::Octagonal_Shape<T>& y) {
-  x.swap(y);
+      switch (number_non_contained) {
+      case 0:
+        // `y' covers `x': the difference is empty.
+        x.set_empty();
+        break;
+      case 1:
+        x.seq[index_non_contained]
+          .difference_assign(y.seq[index_non_contained]);
+        if (x.seq[index_non_contained].is_empty())
+          x.set_empty();
+        break;
+      default:
+        // Nothing to do: the difference is `x'.
+        break;
+      }
+    }
+    break;
+  }
+  PPL_ASSERT(OK());
 }
 
-} // namespace std
+template <typename ITV>
+bool
+Box<ITV>::simplify_using_context_assign(const Box& y) {
+  Box& x = *this;
+  const dimension_type num_dims = x.space_dimension();
+  // Dimension-compatibility check.
+  if (num_dims != y.space_dimension())
+    x.throw_dimension_incompatible("simplify_using_context_assign(y)", y);
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 1. */
-/* Octagonal_Shape class implementation: non-inline template functions.
-*/
+  // Filter away the zero-dimensional case.
+  if (num_dims == 0) {
+    if (y.marked_empty()) {
+      x.set_nonempty();
+      return false;
+    }
+    else
+      return !x.marked_empty();
+  }
 
+  // Filter away the case when `y' is empty.
+  if (y.is_empty()) {
+    for (dimension_type i = num_dims; i-- > 0; )
+      x.seq[i].assign(UNIVERSE);
+    x.set_nonempty();
+    return false;
+  }
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 33. */
-#include <vector>
-#include <deque>
-#include <string>
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
-#include <algorithm>
+  if (x.is_empty()) {
+    // Find in `y' a non-universe interval, if any.
+    for (dimension_type i = 0; i < num_dims; ++i) {
+      if (y.seq[i].is_universe())
+        x.seq[i].assign(UNIVERSE);
+      else {
+        // Set x.seq[i] so as to contradict y.seq[i], if possible.
+        ITV& seq_i = x.seq[i];
+        seq_i.empty_intersection_assign(y.seq[i]);
+        if (seq_i.is_empty()) {
+          // We were not able to assign to `seq_i' a non-empty interval:
+          // reset `seq_i' to the universe interval and keep searching.
+          seq_i.assign(UNIVERSE);
+          continue;
+        }
+        // We assigned to `seq_i' a non-empty interval:
+        // set the other intervals to universe and return.
+        for (++i; i < num_dims; ++i)
+          x.seq[i].assign(UNIVERSE);
+        x.set_nonempty();
+        PPL_ASSERT(x.OK());
+        return false;
+      }
+    }
+    // All intervals in `y' are universe or could not be contradicted:
+    // simplification can leave the empty box `x' as is.
+    PPL_ASSERT(x.OK() && x.is_empty());
+    return false;
+  }
+
+  // Loop index `i' is intentionally going upwards.
+  for (dimension_type i = 0; i < num_dims; ++i) {
+    if (!x.seq[i].simplify_using_context_assign(y.seq[i])) {
+      PPL_ASSERT(!x.seq[i].is_empty());
+      // The intersection of `x' and `y' is empty due to the i-th interval:
+      // reset other intervals to UNIVERSE.
+      for (dimension_type j = num_dims; j-- > i; )
+        x.seq[j].assign(UNIVERSE);
+      for (dimension_type j = i; j-- > 0; )
+        x.seq[j].assign(UNIVERSE);
+      PPL_ASSERT(x.OK());
+      return false;
+    }
+  }
+  PPL_ASSERT(x.OK());
+  return true;
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename ITV>
+void
+Box<ITV>::time_elapse_assign(const Box& y) {
+  Box& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
 
-template <typename T>
-Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
-                                    const Complexity_Class complexity)
-  : matrix(0), space_dim(0), status() {
-  const dimension_type num_dimensions = ph.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    x.throw_dimension_incompatible("time_elapse_assign(y)", y);
 
-  if (ph.marked_empty()) {
-    *this = Octagonal_Shape(num_dimensions, EMPTY);
+  // Dealing with the zero-dimensional case.
+  if (x_space_dim == 0) {
+    if (y.marked_empty())
+      x.set_empty();
     return;
   }
 
-  if (num_dimensions == 0) {
-    *this = Octagonal_Shape(num_dimensions, UNIVERSE);
+  // If either one of `x' or `y' is empty, the result is empty too.
+  // Note: if possible, avoid cost of checking for emptiness.
+  if (x.marked_empty() || y.marked_empty()
+      || x.is_empty() || y.is_empty()) {
+    x.set_empty();
     return;
   }
 
-  // Build from generators when we do not care about complexity
-  // or when the process has polynomial complexity.
-  if (complexity == ANY_COMPLEXITY
-      || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) {
-    *this = Octagonal_Shape(ph.generators());
+  for (dimension_type i = x_space_dim; i-- > 0; ) {
+    ITV& x_seq_i = x.seq[i];
+    const ITV& y_seq_i = y.seq[i];
+    if (!x_seq_i.lower_is_boundary_infinity())
+      if (y_seq_i.lower_is_boundary_infinity() || y_seq_i.lower() < 0)
+	x_seq_i.lower_extend();
+    if (!x_seq_i.upper_is_boundary_infinity())
+      if (y_seq_i.upper_is_boundary_infinity() || y_seq_i.upper() > 0)
+	x_seq_i.upper_extend();
+  }
+  PPL_ASSERT(x.OK());
+}
+
+template <typename ITV>
+inline void
+Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
+  // The removal of no dimensions from any box is a no-op.
+  // Note that this case also captures the only legal removal of
+  // space dimensions from a box in a zero-dimensional space.
+  if (vars.empty()) {
+    PPL_ASSERT(OK());
     return;
   }
 
-  // We cannot afford exponential complexity, we do not have a complete set
-  // of generators for the polyhedron, and the polyhedron is not trivially
-  // empty or zero-dimensional.  Constraints, however, are up to date.
-  PPL_ASSERT(ph.constraints_are_up_to_date());
+  const dimension_type old_space_dim = space_dimension();
 
-  if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
-    // If the constraint system of the polyhedron is minimized,
-    // the test `is_universe()' has polynomial complexity.
-    if (ph.is_universe()) {
-      *this = Octagonal_Shape(num_dimensions, UNIVERSE);
-      return;
-    }
+  // Dimension-compatibility check.
+  const dimension_type vsi_space_dim = vars.space_dimension();
+  if (old_space_dim < vsi_space_dim)
+    throw_dimension_incompatible("remove_space_dimensions(vs)",
+				 vsi_space_dim);
+
+  const dimension_type new_space_dim = old_space_dim - vars.size();
+
+  // If the box is empty (this must be detected), then resizing is all
+  // what is needed.  If it is not empty and we are removing _all_ the
+  // dimensions then, again, resizing suffices.
+  if (is_empty() || new_space_dim == 0) {
+    seq.resize(new_space_dim);
+    PPL_ASSERT(OK());
+    return;
   }
 
-  // See if there is at least one inconsistent constraint in `ph.con_sys'.
-  for (Constraint_System::const_iterator i = ph.con_sys.begin(),
-         cs_end = ph.con_sys.end(); i != cs_end; ++i)
-    if (i->is_inconsistent()) {
-      *this = Octagonal_Shape(num_dimensions, EMPTY);
-      return;
-    }
+  // For each variable to be removed, we fill the corresponding interval
+  // by shifting left those intervals that will not be removed.
+  Variables_Set::const_iterator vsi = vars.begin();
+  Variables_Set::const_iterator vsi_end = vars.end();
+  dimension_type dst = *vsi;
+  dimension_type src = dst + 1;
+  for (++vsi; vsi != vsi_end; ++vsi) {
+    const dimension_type vsi_next = *vsi;
+    // All intervals in between are moved to the left.
+    while (src < vsi_next)
+      swap(seq[dst++], seq[src++]);
+    ++src;
+  }
+  // Moving the remaining intervals.
+  while (src < old_space_dim)
+    swap(seq[dst++], seq[src++]);
 
-  // If `complexity' allows it, use simplex to derive the exact (modulo
-  // the fact that our OSs are topologically closed) variable bounds.
-  if (complexity == SIMPLEX_COMPLEXITY) {
-    MIP_Problem lp(num_dimensions);
-    lp.set_optimization_mode(MAXIMIZATION);
+  PPL_ASSERT(dst == new_space_dim);
+  seq.resize(new_space_dim);
 
-    const Constraint_System& ph_cs = ph.constraints();
-    if (!ph_cs.has_strict_inequalities())
-      lp.add_constraints(ph_cs);
-    else
-      // Adding to `lp' a topologically closed version of `ph_cs'.
-      for (Constraint_System::const_iterator i = ph_cs.begin(),
-             ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
-        const Constraint& c = *i;
-        if (c.is_strict_inequality())
-          lp.add_constraint(Linear_Expression(c) >= 0);
-        else
-          lp.add_constraint(c);
-      }
+  PPL_ASSERT(OK());
+}
 
-    // Check for unsatisfiability.
-    if (!lp.is_satisfiable()) {
-      *this = Octagonal_Shape<T>(num_dimensions, EMPTY);
-      return;
-    }
+template <typename ITV>
+void
+Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dimension) {
+  // Dimension-compatibility check: the variable having
+  // maximum index is the one occurring last in the set.
+  const dimension_type space_dim = space_dimension();
+  if (new_dimension > space_dim)
+    throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
+				 new_dimension);
 
-    // Start with a universe OS that will be refined by the simplex.
-    *this = Octagonal_Shape<T>(num_dimensions, UNIVERSE);
-    // Get all the upper bounds.
-    Generator g(point());
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-    for (dimension_type i = 0; i < num_dimensions; ++i) {
-      Variable x(i);
-      // Evaluate optimal upper bound for `x <= ub'.
-      lp.set_objective_function(x);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-        g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        num *= 2;
-        div_round_up(matrix[2*i+1][2*i], num, den);
-      }
-      // Evaluate optimal upper bounds for `x + y <= ub'.
-      for (dimension_type j = 0; j < i; ++j) {
-        Variable y(j);
-        lp.set_objective_function(x + y);
-        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-          g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up(matrix[2*i+1][2*j], num, den);
-        }
-      }
-      // Evaluate optimal upper bound for `x - y <= ub'.
-      for (dimension_type j = 0; j < num_dimensions; ++j) {
-        if (i == j)
-          continue;
-        Variable y(j);
-        lp.set_objective_function(x - y);
-        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-          g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up((i < j ? matrix[2*j][2*i] : matrix[2*i+1][2*j+1]),
-                       num, den);
-        }
-      }
-      // Evaluate optimal upper bound for `y - x <= ub'.
-      for (dimension_type j = 0; j < num_dimensions; ++j) {
-        if (i == j)
-          continue;
-        Variable y(j);
-        lp.set_objective_function(x - y);
-        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-          g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up((i < j ? matrix[2*j][2*i] : matrix[2*i+1][2*j+1]),
-                       num, den);
-        }
-      }
-      // Evaluate optimal upper bound for `-x - y <= ub'.
-      for (dimension_type j = 0; j < i; ++j) {
-        Variable y(j);
-        lp.set_objective_function(-x - y);
-        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-          g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-           div_round_up(matrix[2*i][2*j+1], num, den);
-        }
-      }
-      // Evaluate optimal upper bound for `-x <= ub'.
-      lp.set_objective_function(-x);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-        g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        num *= 2;
-        div_round_up(matrix[2*i][2*i+1], num, den);
-      }
-    }
-    set_strongly_closed();
+  // The removal of no dimensions from any box is a no-op.
+  // Note that this case also captures the only legal removal of
+  // dimensions from a zero-dim space box.
+  if (new_dimension == space_dim) {
     PPL_ASSERT(OK());
     return;
   }
 
-  // Extract easy-to-find bounds from constraints.
-  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
-  *this = Octagonal_Shape(num_dimensions, UNIVERSE);
-  refine_with_constraints(ph.constraints());
+  seq.resize(new_dimension);
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
-  : matrix(gs.space_dimension()),
-    space_dim(gs.space_dimension()),
-    status() {
-  const Generator_System::const_iterator gs_begin = gs.begin();
-  const Generator_System::const_iterator gs_end = gs.end();
-  if (gs_begin == gs_end) {
-    // An empty generator system defines the empty polyhedron.
-    set_empty();
+template <typename ITV>
+template <typename Partial_Function>
+void
+Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0)
     return;
-  }
-
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typename OR_Matrix<N>::row_iterator mat_begin = matrix.row_begin();
 
-  PPL_DIRTY_TEMP(N, tmp);
-  bool mat_initialized = false;
-  bool point_seen = false;
-  // Going through all the points and closure points.
-  for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) {
-    const Generator& g = *k;
-    switch (g.type()) {
-    case Generator::POINT:
-      point_seen = true;
-      // Intentionally fall through.
-    case Generator::CLOSURE_POINT:
-      if (!mat_initialized) {
-        // When handling the first (closure) point, we initialize the matrix.
-        mat_initialized = true;
-        const Coefficient& d = g.divisor();
-        for (dimension_type i = 0; i < space_dim; ++i) {
-          const Coefficient& g_i = g.coefficient(Variable(i));
-          const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
-          for (dimension_type j = 0; j < i; ++j) {
-            const Coefficient& g_j = g.coefficient(Variable(j));
-            const dimension_type dj = 2*j;
-            // Set for any point the hyperplanes passing in the point
-            // and having the octagonal gradient.
-            // Let be P = [P_1, P_2, ..., P_n] point.
-            // Hyperplanes: X_i - X_j = P_i - P_j.
-            div_round_up(x_i[dj], g_j - g_i, d);
-            div_round_up(x_ii[dj+1], g_i - g_j, d);
-            // Hyperplanes: X_i + X_j = P_i + P_j.
-            div_round_up(x_i[dj+1], -g_j - g_i, d);
-            div_round_up(x_ii[dj], g_i + g_j, d);
-          }
-          // Hyperplanes: X_i = P_i.
-          div_round_up(x_i[di+1], -g_i - g_i, d);
-          div_round_up(x_ii[di], g_i + g_i, d);
-        }
-      }
-      else {
-        // This is not the first point: the matrix already contains
-        // valid values and we must compute maxima.
-        const Coefficient& d = g.divisor();
-        for (dimension_type i = 0; i < space_dim; ++i) {
-          const Coefficient& g_i = g.coefficient(Variable(i));
-          const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
-          for (dimension_type j = 0; j < i; ++j) {
-            const Coefficient& g_j = g.coefficient(Variable(j));
-            const dimension_type dj = 2*j;
-            // Set for any point the straight lines passing in the point
-            // and having the octagonal gradient; compute maxima values.
-            // Let be P = [P_1, P_2, ..., P_n] point.
-            // Hyperplane: X_i - X_j = max (P_i - P_j, const).
-            div_round_up(tmp, g_j - g_i, d);
-            max_assign(x_i[dj], tmp);
-            div_round_up(tmp, g_i - g_j, d);
-            max_assign(x_ii[dj+1], tmp);
-            // Hyperplane: X_i + X_j = max (P_i + P_j, const).
-            div_round_up(tmp, -g_j - g_i, d);
-            max_assign(x_i[dj+1], tmp);
-            div_round_up(tmp, g_i + g_j, d);
-            max_assign(x_ii[dj], tmp);
-          }
-          // Hyperplane: X_i = max (P_i, const).
-          div_round_up(tmp, -g_i - g_i, d);
-          max_assign(x_i[di+1], tmp);
-          div_round_up(tmp, g_i + g_i, d);
-          max_assign(x_ii[di], tmp);
-        }
-      }
-      break;
-    default:
-      // Lines and rays temporarily ignored.
-      break;
-    }
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the box becomes zero_dimensional.
+    remove_higher_space_dimensions(0);
+    return;
   }
 
-  if (!point_seen)
-    // The generator system is not empty, but contains no points.
-    throw_generic("Octagonal_Shape(gs)",
-                  "the non-empty generator system gs contains no points.");
+  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
+  // If the box is empty, then simply adjust the space dimension.
+  if (is_empty()) {
+    remove_higher_space_dimensions(new_space_dim);
+    return;
+  }
 
-  // Going through all the lines and rays.
-  for (Generator_System::const_iterator k = gs_begin; k != gs_end; ++k) {
-    const Generator& g = *k;
-    switch (g.type()) {
-    case Generator::LINE:
-        for (dimension_type i = 0; i < space_dim; ++i) {
-          const Coefficient& g_i = g.coefficient(Variable(i));
-          const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
-          for (dimension_type j = 0; j < i; ++j) {
-            const Coefficient& g_j = g.coefficient(Variable(j));
-            const dimension_type dj = 2*j;
-            // Set for any line the right limit.
-            if (g_i != g_j) {
-              // Hyperplane: X_i - X_j <=/>= +Inf.
-              assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
-              assign_r(x_ii[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-            if (g_i != -g_j) {
-              // Hyperplane: X_i + X_j <=/>= +Inf.
-              assign_r(x_i[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-              assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-          }
-          if (g_i != 0) {
-            // Hyperplane: X_i <=/>= +Inf.
-            assign_r(x_i[di+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
-          }
-        }
-      break;
-    case Generator::RAY:
-        for (dimension_type i = 0; i < space_dim; ++i) {
-          const Coefficient& g_i = g.coefficient(Variable(i));
-          const dimension_type di = 2*i;
-          Row_Reference x_i = *(mat_begin+di);
-          Row_Reference x_ii = *(mat_begin+di+1);
-          for (dimension_type j = 0; j < i; ++j) {
-            const Coefficient& g_j = g.coefficient(Variable(j));
-            const dimension_type dj = 2*j;
-            // Set for any ray the right limit in the case
-            // of the binary constraints.
-            if (g_i < g_j)
-              // Hyperplane: X_i - X_j >= +Inf.
-              assign_r(x_i[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            if (g_i > g_j)
-              // Hyperplane: X_i - X_j <= +Inf.
-              assign_r(x_ii[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            if (g_i < -g_j)
-              // Hyperplane: X_i + X_j >= +Inf.
-              assign_r(x_i[dj+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            if (g_i > -g_j)
-              // Hyperplane: X_i + X_j <= +Inf.
-              assign_r(x_ii[dj], PLUS_INFINITY, ROUND_NOT_NEEDED);
-          }
-          // Case: unary constraints.
-          if (g_i < 0)
-            // Hyperplane: X_i  = +Inf.
-            assign_r(x_i[di+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-          if (g_i > 0)
-            // Hyperplane: X_i  = +Inf.
-            assign_r(x_ii[di], PLUS_INFINITY, ROUND_NOT_NEEDED);
-        }
-      break;
-    default:
-      // Points and closure points already dealt with.
-      break;
-    }
+  // We create a new Box with the new space dimension.
+  Box<ITV> tmp(new_space_dim);
+  // Map the intervals, exchanging the indexes.
+  for (dimension_type i = 0; i < space_dim; ++i) {
+    dimension_type new_i;
+    if (pfunc.maps(i, new_i))
+      swap(seq[i], tmp.seq[new_i]);
   }
-  set_strongly_closed();
+  m_swap(tmp);
   PPL_ASSERT(OK());
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::add_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dim)
-    throw_dimension_incompatible("add_constraint(c)", c);
+Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
+                                const Variable dest) {
+  const dimension_type space_dim = space_dimension();
+  // `dest' should be one of the dimensions of the box.
+  if (dest.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
 
-  // Get rid of strict inequalities.
-  if (c.is_strict_inequality()) {
-    if (c.is_inconsistent()) {
-      set_empty();
-      return;
-    }
-    if (c.is_tautological())
-      return;
-    // Nontrivial strict inequalities are not allowed.
-    throw_generic("add_constraint(c)", "strict inequalities are not allowed");
-  }
+  // The folding of no dimensions is a no-op.
+  if (vars.empty())
+    return;
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(term);
-  // Constraints that are not octagonal differences are not allowed.
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, term))
-    throw_generic("add_constraint(c)",
-                  "c is not an octagonal constraint");
+  // All variables in `vars' should be dimensions of the box.
+  if (vars.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
+				 vars.space_dimension());
 
-  if (num_vars == 0) {
-    // Dealing with a trivial constraint (not a strict inequality).
-    if (c.inhomogeneous_term() < 0
-        || (c.is_equality() && c.inhomogeneous_term() != 0))
-      set_empty();
-    return;
+  // Moreover, `dest.id()' should not occur in `vars'.
+  if (vars.find(dest.id()) != vars.end())
+    throw_invalid_argument("fold_space_dimensions(vs, v)",
+                           "v should not occur in vs");
+
+  // Note: the check for emptiness is needed for correctness.
+  if (!is_empty()) {
+    // Join the interval corresponding to variable `dest' with the intervals
+    // corresponding to the variables in `vars'.
+    ITV& seq_v = seq[dest.id()];
+    for (Variables_Set::const_iterator i = vars.begin(),
+	   vs_end = vars.end(); i != vs_end; ++i)
+      seq_v.join_assign(seq[*i]);
   }
+  remove_space_dimensions(vars);
+}
 
-  // Select the cell to be modified for the "<=" part of constraint.
-  typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin() + i;
-  typename OR_Matrix<N>::row_reference_type m_i = *i_iter;
-  N& m_i_j = m_i[j];
-  // Set `coeff' to the absolute value of itself.
-  if (coeff < 0)
-    neg_assign(coeff);
+template <typename ITV>
+void
+Box<ITV>::add_constraint_no_check(const Constraint& c) {
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
 
-  bool is_oct_changed = false;
-  // Compute the bound for `m_i_j', rounding towards plus infinity.
-  PPL_DIRTY_TEMP(N, d);
-  div_round_up(d, term, coeff);
-  if (m_i_j > d) {
-    m_i_j = d;
-    is_oct_changed = true;
-  }
+  dimension_type c_num_vars = 0;
+  dimension_type c_only_var = 0;
+  // Throw an exception if c is not an interval constraints.
+  if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
+    throw_invalid_argument("add_constraint(c)",
+                           "c is not an interval constraint");
 
-  if (c.is_equality()) {
-    // Select the cell to be modified for the ">=" part of constraint.
-    if (i % 2 == 0)
-      ++i_iter;
-    else
-      --i_iter;
+  // Throw an exception if c is a nontrivial strict constraint
+  // and ITV does not support open boundaries.
+  if (c.is_strict_inequality() && c_num_vars != 0
+      && ITV::is_always_topologically_closed())
+    throw_invalid_argument("add_constraint(c)",
+                           "c is a nontrivial strict constraint");
 
-    typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
-    using namespace Implementation::Octagonal_Shapes;
-    dimension_type cj = coherent_index(j);
-    N& m_ci_cj = m_ci[cj];
-    // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
-    neg_assign(term);
-    div_round_up(d, term, coeff);
-    if (m_ci_cj > d) {
-      m_ci_cj = d;
-      is_oct_changed = true;
-    }
+  // Avoid doing useless work if the box is known to be empty.
+  if (marked_empty())
+    return;
+
+  const Coefficient& n = c.inhomogeneous_term();
+  if (c_num_vars == 0) {
+    // Dealing with a trivial constraint.
+    if (n < 0
+        || (c.is_equality() && n != 0)
+	|| (c.is_strict_inequality() && n == 0))
+      set_empty();
+    return;
   }
 
-  // This method does not preserve closure.
-  if (is_oct_changed && marked_strongly_closed())
-    reset_strongly_closed();
-  PPL_ASSERT(OK());
+  PPL_ASSERT(c_num_vars == 1);
+  const Coefficient& d = c.coefficient(Variable(c_only_var));
+  add_interval_constraint_no_check(c_only_var, c.type(), n, d);
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::add_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check:
-  // the dimension of `cg' can not be greater than space_dim.
-  if (space_dimension() < cg_space_dim)
-    throw_dimension_incompatible("add_congruence(cg)", cg);
+Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
+  // Note: even when the box is known to be empty, we need to go
+  // through all the constraints to fulfill the method's contract
+  // for what concerns exception throwing.
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); i != cs_end; ++i)
+    add_constraint_no_check(*i);
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::add_congruence_no_check(const Congruence& cg) {
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
 
-  // Handle the case of proper congruences first.
+  // Set aside the case of proper congruences.
   if (cg.is_proper_congruence()) {
-    if (cg.is_tautological())
-      return;
     if (cg.is_inconsistent()) {
       set_empty();
       return;
     }
-    // Non-trivial and proper congruences are not allowed.
-    throw_generic("add_congruence(cg)",
-                  "cg is a non-trivial, proper congruence");
+    else if (cg.is_tautological())
+      return;
+    else
+      throw_invalid_argument("add_congruence(cg)",
+                             "cg is a nontrivial proper congruence");
   }
 
   PPL_ASSERT(cg.is_equality());
-  Constraint c(cg);
-  add_constraint(c);
+  dimension_type cg_num_vars = 0;
+  dimension_type cg_only_var = 0;
+  // Throw an exception if c is not an interval congruence.
+  if (!Box_Helpers::extract_interval_congruence(cg, cg_num_vars, cg_only_var))
+    throw_invalid_argument("add_congruence(cg)",
+                           "cg is not an interval congruence");
+
+  // Avoid doing useless work if the box is known to be empty.
+  if (marked_empty())
+    return;
+
+  const Coefficient& n = cg.inhomogeneous_term();
+  if (cg_num_vars == 0) {
+    // Dealing with a trivial equality congruence.
+    if (n != 0)
+      set_empty();
+    return;
+  }
+
+  PPL_ASSERT(cg_num_vars == 1);
+  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
+  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
+Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
+  // Note: even when the box is known to be empty, we need to go
+  // through all the congruences to fulfill the method's contract
+  // for what concerns exception throwing.
+  for (Congruence_System::const_iterator i = cgs.begin(),
+	 cgs_end = cgs.end(); i != cgs_end; ++i)
+    add_congruence_no_check(*i);
+  PPL_ASSERT(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::refine_no_check(const Constraint& c) {
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
   PPL_ASSERT(!marked_empty());
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c_space_dim <= space_dim);
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(term);
-  // Constraints that are not octagonal differences are ignored.
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, term))
+  dimension_type c_num_vars = 0;
+  dimension_type c_only_var = 0;
+  // Non-interval constraints are approximated.
+  if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var)) {
+    propagate_constraint_no_check(c);
     return;
+  }
 
-  if (num_vars == 0) {
-    const Coefficient& c_inhomo = c.inhomogeneous_term();
-    // Dealing with a trivial constraint (maybe a strict inequality).
-    if (c_inhomo < 0
-        || (c_inhomo != 0 && c.is_equality())
-        || (c_inhomo == 0 && c.is_strict_inequality()))
+  const Coefficient& n = c.inhomogeneous_term();
+  if (c_num_vars == 0) {
+    // Dealing with a trivial constraint.
+    if (n < 0
+        || (c.is_equality() && n != 0)
+        || (c.is_strict_inequality() && n == 0))
       set_empty();
     return;
   }
 
-  // Select the cell to be modified for the "<=" part of constraint.
-  typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin() + i;
-  typename OR_Matrix<N>::row_reference_type m_i = *i_iter;
-  N& m_i_j = m_i[j];
-  // Set `coeff' to the absolute value of itself.
-  if (coeff < 0)
-    neg_assign(coeff);
+  PPL_ASSERT(c_num_vars == 1);
+  const Coefficient& d = c.coefficient(Variable(c_only_var));
+  add_interval_constraint_no_check(c_only_var, c.type(), n, d);
+}
 
-  bool is_oct_changed = false;
-  // Compute the bound for `m_i_j', rounding towards plus infinity.
-  PPL_DIRTY_TEMP(N, d);
-  div_round_up(d, term, coeff);
-  if (m_i_j > d) {
-    m_i_j = d;
-    is_oct_changed = true;
-  }
+template <typename ITV>
+void
+Box<ITV>::refine_no_check(const Constraint_System& cs) {
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
+  for (Constraint_System::const_iterator i = cs.begin(),
+	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
+    refine_no_check(*i);
+  PPL_ASSERT(OK());
+}
 
-  if (c.is_equality()) {
-    // Select the cell to be modified for the ">=" part of constraint.
-    if (i % 2 == 0)
-      ++i_iter;
-    else
-      --i_iter;
+template <typename ITV>
+void
+Box<ITV>::refine_no_check(const Congruence& cg) {
+  PPL_ASSERT(!marked_empty());
 
-    typename OR_Matrix<N>::row_reference_type m_ci = *i_iter;
-    using namespace Implementation::Octagonal_Shapes;
-    dimension_type cj = coherent_index(j);
-    N& m_ci_cj = m_ci[cj];
-    // Also compute the bound for `m_ci_cj', rounding towards plus infinity.
-    neg_assign(term);
-    div_round_up(d, term, coeff);
-    if (m_ci_cj > d) {
-      m_ci_cj = d;
-      is_oct_changed = true;
-    }
+  PPL_ASSERT(cg.space_dimension() <= space_dimension());
+
+  if (cg.is_proper_congruence()) {
+    // A proper congruences is also an interval constraint
+    // if and only if it is trivial.
+    if (cg.is_inconsistent())
+      set_empty();
+    return;
   }
 
-  // This method does not preserve closure.
-  if (is_oct_changed && marked_strongly_closed())
-    reset_strongly_closed();
+  PPL_ASSERT(cg.is_equality());
+  Constraint c(cg);
+  refine_no_check(c);
+}
+
+template <typename ITV>
+void
+Box<ITV>::refine_no_check(const Congruence_System& cgs) {
+  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
+  for (Congruence_System::const_iterator i = cgs.begin(),
+	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
+    refine_no_check(*i);
   PPL_ASSERT(OK());
 }
 
-template <typename T>
-dimension_type
-Octagonal_Shape<T>::affine_dimension() const {
-  const dimension_type n_rows = matrix.num_rows();
-  // A zero-space-dim shape always has affine dimension zero.
-  if (n_rows == 0)
-    return 0;
+#if 1 // Alternative implementations for propagate_constraint_no_check.
+namespace Implementation {
 
-  // Strong closure is necessary to detect emptiness
-  // and all (possibly implicit) equalities.
-  strong_closure_assign();
-  if (marked_empty())
-    return 0;
+namespace Boxes {
 
-  // The vector `leaders' is used to represent non-singular
-  // equivalence classes:
-  // `leaders[i] == i' if and only if `i' is the leader of its
-  // equivalence class (i.e., the minimum index in the class);
-  std::vector<dimension_type> leaders;
-  compute_leaders(leaders);
+inline bool
+propagate_constraint_check_result(Result r, Ternary& open) {
+  r = result_relation_class(r);
+  switch (r) {
+  case V_GT_MINUS_INFINITY:
+  case V_LT_PLUS_INFINITY:
+    return true;
+  case V_LT:
+  case V_GT:
+    open = T_YES;
+    return false;
+  case V_LE:
+  case V_GE:
+    if (open == T_NO)
+      open = T_MAYBE;
+    return false;
+  case V_EQ:
+    return false;
+  default:
+    PPL_UNREACHABLE;
+    return true;
+  }
+}
 
-  // Due to the splitting of variables, the affine dimension is the
-  // number of non-singular positive zero-equivalence classes.
-  dimension_type affine_dim = 0;
-  for (dimension_type i = 0; i < n_rows; i += 2)
-    // Note: disregard the singular equivalence class.
-    if (leaders[i] == i && leaders[i+1] == i+1)
-      ++affine_dim;
+} // namespace Boxes
 
-  return affine_dim;
-}
+} // namespace Implementation
 
-template <typename T>
-Congruence_System
-Octagonal_Shape<T>::minimized_congruences() const {
-  // Strong closure is necessary to detect emptiness
-  // and all (possibly implicit) equalities.
-  strong_closure_assign();
-  const dimension_type space_dim = space_dimension();
-  Congruence_System cgs;
-  if (space_dim == 0) {
-    if (marked_empty())
-      cgs = Congruence_System::zero_dim_empty();
+
+template <typename ITV>
+void
+Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
+  using namespace Implementation::Boxes;
+
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
+
+  typedef
+    typename Select_Temp_Boundary_Type<typename ITV::boundary_type>::type
+    Temp_Boundary_Type;
+
+  const dimension_type c_space_dim = c.space_dimension();
+  const Constraint::Type c_type = c.type();
+  const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
+
+  // Find a space dimension having a non-zero coefficient (if any).
+  dimension_type last_k = c.expression().last_nonzero(1, c_space_dim + 1);
+  if (last_k == c_space_dim + 1) {
+    // Constraint c is trivial: check if it is inconsistent.
+    if (c_inhomogeneous_term < 0
+        || (c_inhomogeneous_term == 0
+            && c_type != Constraint::NONSTRICT_INEQUALITY))
+      set_empty();
+    return;
   }
-  else if (marked_empty())
-    cgs.insert((0*Variable(space_dim-1) %= 1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) == 0);
-
-    // The vector `leaders' is used to represent equivalence classes:
-    // `leaders[i] == i' if and only if `i' is the leader of its
-    // equivalence class (i.e., the minimum index in the class);
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-    for (dimension_type i = 0, i_end = 2*space_dim; i != i_end; i += 2) {
-      const dimension_type lead_i = leaders[i];
-      if (i == lead_i) {
-        if (leaders[i+1] == i)
-          // `i' is the leader of the singular equivalence class.
-          goto singular;
-        else
-          // `i' is the leader of a non-singular equivalence class.
-          continue;
-      }
-      else {
-        // `i' is not a leader.
-        if (leaders[i+1] == lead_i)
-          // `i' belongs to the singular equivalence class.
-          goto singular;
-        else
-          // `i' does not belong to the singular equivalence class.
-          goto non_singular;
+
+  // Here constraint c is non-trivial.
+  PPL_ASSERT(last_k <= c_space_dim);
+  Temp_Boundary_Type t_bound;
+  Temp_Boundary_Type t_a;
+  Temp_Boundary_Type t_x;
+  Ternary open;
+  const Constraint::Expression& c_e = c.expression();
+  for (Constraint::Expression::const_iterator k = c_e.begin(),
+         k_end = c_e.lower_bound(Variable(last_k)); k != k_end; ++k) {
+    const Coefficient& a_k = *k;
+    const Variable k_var = k.variable();
+    int sgn_a_k = sgn(a_k);
+    if (sgn_a_k == 0)
+      continue;
+    Result r;
+    if (sgn_a_k > 0) {
+      open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
+      if (open == T_NO)
+	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
+      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_1;
+      r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_1;
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(last_k)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
+	  continue;
+	const Coefficient& a_i = *i;
+	int sgn_a_i = sgn(a_i);
+	ITV& x_i = seq[i_var.id()];
+	if (sgn_a_i < 0) {
+	  if (x_i.lower_is_boundary_infinity())
+	    goto maybe_refine_upper_1;
+	  r = assign_r(t_a, a_i, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	  if (x_i.lower_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	}
+	else {
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
+	    goto maybe_refine_upper_1;
+	  r = assign_r(t_a, a_i, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	  if (x_i.upper_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_1;
+	}
       }
+      r = assign_r(t_a, a_k, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_1;
+      r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_1;
 
-    singular:
-      // `i' belongs to the singular equivalence class:
-      // we have a unary equality constraint.
+      // Refine the lower bound of `seq[k]' with `t_bound'.
+      if (open == T_MAYBE
+	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
+	open = T_YES;
       {
-        const Variable x(i/2);
-        const N& c_ii_i = matrix[i+1][i];
-#ifndef NDEBUG
-        const N& c_i_ii = matrix[i][i+1];
-        PPL_ASSERT(is_additive_inverse(c_i_ii, c_ii_i));
-#endif
-        numer_denom(c_ii_i, num, den);
-        den *= 2;
-        cgs.insert(den*x == num);
+        Relation_Symbol rel = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL;
+        seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
       }
-      continue;
+      reset_empty_up_to_date();
+    maybe_refine_upper_1:
+      if (c_type != Constraint::EQUALITY)
+	continue;
+      open = T_NO;
+      maybe_reset_fpu_inexact<Temp_Boundary_Type>();
+      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      r = neg_assign_r(t_bound, t_bound, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
+	  continue;
+	const Coefficient& a_i = *i;
+	int sgn_a_i = sgn(a_i);
+	ITV& x_i = seq[i_var.id()];
+	if (sgn_a_i < 0) {
+	  if (x_i.upper_is_boundary_infinity())
+	    goto next_k;
+	  r = assign_r(t_a, a_i, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  if (x_i.upper_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	}
+	else {
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
+	    goto next_k;
+	  r = assign_r(t_a, a_i, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  if (x_i.lower_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	}
+      }
+      r = assign_r(t_a, a_k, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+
+      // Refine the upper bound of seq[k] with t_bound.
+      if (open == T_MAYBE
+	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
+	open = T_YES;
+      Relation_Symbol rel = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL;
+      seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
+      reset_empty_up_to_date();
+    }
+    else {
+      PPL_ASSERT(sgn_a_k < 0);
+      open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
+      if (open == T_NO)
+	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
+      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_2;
+      r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_2;
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
+	  continue;
+	const Coefficient& a_i = *i;
+	int sgn_a_i = sgn(a_i);
+	ITV& x_i = seq[i_var.id()];
+	if (sgn_a_i < 0) {
+	  if (x_i.lower_is_boundary_infinity())
+	    goto maybe_refine_upper_2;
+	  r = assign_r(t_a, a_i, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	  if (x_i.lower_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	}
+	else {
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.upper_is_boundary_infinity())
+	    goto maybe_refine_upper_2;
+	  r = assign_r(t_a, a_i, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	  if (x_i.upper_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto maybe_refine_upper_2;
+	}
+      }
+      r = assign_r(t_a, a_k, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_2;
+      r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto maybe_refine_upper_2;
 
-    non_singular:
-      // `i' does not belong to the singular equivalence class.
-      // we have a binary equality constraint.
+      // Refine the upper bound of seq[k] with t_bound.
+      if (open == T_MAYBE
+	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
+	open = T_YES;
       {
-        const N& c_i_li = matrix[i][lead_i];
-#ifndef NDEBUG
-        using namespace Implementation::Octagonal_Shapes;
-        const N& c_ii_lii = matrix[i+1][coherent_index(lead_i)];
-        PPL_ASSERT(is_additive_inverse(c_ii_lii, c_i_li));
-#endif
-        const Variable x(lead_i/2);
-        const Variable y(i/2);
-        numer_denom(c_i_li, num, den);
-        if (lead_i % 2 == 0)
-          cgs.insert(den*x - den*y == num);
-        else
-          cgs.insert(den*x + den*y + num == 0);
+        Relation_Symbol rel = (open == T_YES) ? LESS_THAN : LESS_OR_EQUAL;
+        seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
       }
-      continue;
+      reset_empty_up_to_date();
+    maybe_refine_upper_2:
+      if (c_type != Constraint::EQUALITY)
+	continue;
+      open = T_NO;
+      maybe_reset_fpu_inexact<Temp_Boundary_Type>();
+      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      r = neg_assign_r(t_bound, t_bound, ROUND_UP);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      for (Constraint::Expression::const_iterator i = c_e.begin(),
+            i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+        const Variable i_var = i.variable();
+	if (i_var.id() == k_var.id())
+	  continue;
+	const Coefficient& a_i = *i;
+	int sgn_a_i = sgn(a_i);
+	ITV& x_i = seq[i_var.id()];
+	if (sgn_a_i < 0) {
+	  if (x_i.upper_is_boundary_infinity())
+	    goto next_k;
+	  r = assign_r(t_a, a_i, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  if (x_i.upper_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	}
+	else {
+	  PPL_ASSERT(sgn_a_i > 0);
+	  if (x_i.lower_is_boundary_infinity())
+	    goto next_k;
+	  r = assign_r(t_a, a_i, ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	  if (x_i.lower_is_open())
+	    open = T_YES;
+	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
+	  if (propagate_constraint_check_result(r, open))
+	    goto next_k;
+	}
+      }
+      r = assign_r(t_a, a_k, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+      r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN);
+      if (propagate_constraint_check_result(r, open))
+	goto next_k;
+
+      // Refine the lower bound of seq[k] with t_bound.
+      if (open == T_MAYBE
+	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
+	open = T_YES;
+      Relation_Symbol rel = (open == T_YES) ? GREATER_THAN : GREATER_OR_EQUAL;
+      seq[k_var.id()].add_constraint(i_constraint(rel, t_bound));
+      reset_empty_up_to_date();
+    }
+  next_k:
+    ;
+  }
+}
+
+#else // Alternative implementations for propagate_constraint_no_check.
+
+template <typename ITV>
+void
+Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
+  PPL_ASSERT(c.space_dimension() <= space_dimension());
+
+  dimension_type c_space_dim = c.space_dimension();
+  ITV k[c_space_dim];
+  ITV p[c_space_dim];
+  for (Constraint::Expression::const_iterator i = c_e.begin(),
+        i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+    const Variable i_var = i.variable();
+    k[i_var.id()] = *i;
+    ITV& p_i = p[i_var.id()];
+    p_i = seq[i_var.id()];
+    p_i.mul_assign(p_i, k[i_var.id()]);
+  }
+  const Coefficient& inhomogeneous_term = c.inhomogeneous_term();
+  for (Constraint::Expression::const_iterator i = c_e.begin(),
+        i_end = c_e.lower_bound(Variable(c_space_dim)); i != i_end; ++i) {
+    const Variable i_var = i.variable();
+    int sgn_coefficient_i = sgn(*i);
+    ITV q(inhomogeneous_term);
+    for (Constraint::Expression::const_iterator j = c_e.begin(),
+          j_end = c_e.lower_bound(Variable(c_space_dim)); j != j_end; ++j) {
+      const Variable j_var = j.variable();
+      if (i_var == j_var)
+	continue;
+      q.add_assign(q, p[j_var.id()]);
+    }
+    q.div_assign(q, k[i_var.id()]);
+    q.neg_assign(q);
+    Relation_Symbol rel;
+    switch (c.type()) {
+    case Constraint::EQUALITY:
+      rel = EQUAL;
+      break;
+    case Constraint::NONSTRICT_INEQUALITY:
+      rel = (sgn_coefficient_i > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
+      break;
+    case Constraint::STRICT_INEQUALITY:
+      rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
+      break;
     }
-  }
-  return cgs;
-}
-
-template <typename T>
-void
-Octagonal_Shape<T>::concatenate_assign(const Octagonal_Shape& y) {
-  // If `y' is an empty 0-dim space octagon, let `*this' become empty.
-  // If `y' is an universal 0-dim space octagon, we simply return.
-  if (y.space_dim == 0) {
-    if (y.marked_empty())
+    seq[i_var.id()].add_constraint(i_constraint(rel, q));
+    // FIXME: could/should we exploit the return value of add_constraint
+    //        in case it is available?
+    // FIXME: should we instead be lazy and do not even bother about
+    //        the possibility the interval becomes empty apart from setting
+    //        empty_up_to_date = false?
+    if (seq[i_var.id()].is_empty()) {
       set_empty();
-    return;
-  }
-
-  // If `*this' is an empty 0-dim space octagon, then it is sufficient
-  // to adjust the dimension of the vector space.
-  if (space_dim == 0 && marked_empty()) {
-    add_space_dimensions_and_embed(y.space_dim);
-    return;
-  }
-
-  // This is the old number of rows in the matrix. It is equal to
-  // the first index of columns to change.
-  dimension_type old_num_rows = matrix.num_rows();
-  // First we increase the space dimension of `*this' by adding
-  // `y.space_dimension()' new dimensions.
-  // The matrix for the new octagon is obtained
-  // by leaving the old system of constraints in the upper left-hand side
-  // (where they are at the present) and placing the constraints of `y' in the
-  // lower right-hand side.
-  add_space_dimensions_and_embed(y.space_dim);
-  typename OR_Matrix<N>::const_element_iterator
-    y_it = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin()+old_num_rows,
-        matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
-    typename OR_Matrix<N>::row_reference_type r = *i;
-    dimension_type rs_i = i.row_size();
-    for (dimension_type j = old_num_rows; j < rs_i; ++j, ++y_it)
-      r[j] = *y_it;
+      break;
+    }
   }
 
-  // The concatenation doesn't preserve the closure.
-  if (marked_strongly_closed())
-    reset_strongly_closed();
   PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::contains(const Octagonal_Shape& y) const {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("contains(y)", y);
-
-  // The zero-dimensional universe octagon contains any other
-  // dimension-compatible octagon.
-  // The zero-dimensional empty octagon only contains another
-  // zero-dimensional empty octagon.
-  if (space_dim == 0) {
-    if (!marked_empty())
-      return true;
-    else
-      return y.marked_empty();
-  }
+#endif // Alternative implementations for propagate_constraint_no_check.
 
-  // `y' needs to be transitively closed.
-  y.strong_closure_assign();
-  // An empty octagon is in any other dimension-compatible octagons.
-  if (y.marked_empty())
-    return true;
+template <typename ITV>
+void
+Box<ITV>
+::propagate_constraints_no_check(const Constraint_System& cs,
+                                 const dimension_type max_iterations) {
+  const dimension_type space_dim = space_dimension();
+  PPL_ASSERT(cs.space_dimension() <= space_dim);
 
-  // `*this' contains `y' if and only if every element of `*this'
-  // is greater than or equal to the correspondent one of `y'.
-  for (typename OR_Matrix<N>::const_element_iterator
-         i = matrix.element_begin(), j = y.matrix.element_begin(),
-         matrix_element_end = matrix.element_end(); i != matrix_element_end; ++i, ++j)
-    if (*i < *j)
-      return false;
-  return true;
-}
+  const Constraint_System::const_iterator cs_begin = cs.begin();
+  const Constraint_System::const_iterator cs_end = cs.end();
+  const dimension_type propagation_weight
+    = Implementation::num_constraints(cs) * space_dim;
 
-template <typename T>
-bool
-Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("is_disjoint_from(y)", y);
+  Sequence copy;
+  bool changed;
+  dimension_type num_iterations = 0;
+  do {
+    WEIGHT_BEGIN();
+    ++num_iterations;
+    copy = seq;
+    for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i)
+      propagate_constraint_no_check(*i);
 
-  // If one Octagonal_Shape is empty, the Octagonal_Shapes are disjoint.
-  strong_closure_assign();
-  if (marked_empty())
-    return true;
-  y.strong_closure_assign();
-  if (y.marked_empty())
-    return true;
+    WEIGHT_ADD_MUL(40, propagation_weight);
+    // Check if the client has requested abandoning all expensive
+    // computations.  If so, the exception specified by the client
+    // is thrown now.
+    maybe_abandon();
 
-  // Two Octagonal_Shapes are disjoint if and only if their intersection
-  // is empty, i.e., if and only if there exists a variable such that
-  // the upper bound of the constraint on that variable in the first
-  // Octagonal_Shape is strictly less than the lower bound of
-  // the correspomding constraint in the second Octagonal_Shape or vice versa.
+    // NOTE: if max_iterations == 0 (i.e., no iteration limit is set)
+    // the following test will anyway trigger on wrap around.
+    if (num_iterations == max_iterations)
+      break;
 
-  const dimension_type n_rows = matrix.num_rows();
+    changed = (copy != seq);
+  } while (changed);
+}
 
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+template <typename ITV>
+void
+Box<ITV>::affine_image(const Variable var,
+                       const Linear_Expression& expr,
+                       Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_image(v, e, d)", "d == 0");
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const Row_Iterator m_end = matrix.row_end();
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", "v", var);
 
-  const Row_Iterator y_begin = y.matrix.row_begin();
+  if (is_empty())
+    return;
 
-  PPL_DIRTY_TEMP(N, neg_y_ci_cj);
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
-    using namespace Implementation::Octagonal_Shapes;
-    const dimension_type i = i_iter.index();
-    const dimension_type ci = coherent_index(i);
-    const dimension_type rs_i = i_iter.row_size();
-    Row_Reference m_i = *i_iter;
-    for (dimension_type j = 0; j < n_rows; ++j) {
-      const dimension_type cj = coherent_index(j);
-      Row_Reference m_cj = *(m_begin + cj);
-      const N& m_i_j = (j < rs_i) ? m_i[j] : m_cj[ci];
-      Row_Reference y_ci = *(y_begin + ci);
-      Row_Reference y_j = *(y_begin + j);
-      const N& y_ci_cj = (j < rs_i) ? y_ci[cj] : y_j[i];
-      neg_assign_r(neg_y_ci_cj, y_ci_cj, ROUND_UP);
-      if (m_i_j < neg_y_ci_cj)
-        return true;
-    }
+  Tmp_Interval_Type expr_value, temp0, temp1;
+  expr_value.assign(expr.inhomogeneous_term());
+  for (Linear_Expression::const_iterator i = expr.begin(),
+          i_end = expr.end(); i != i_end; ++i) {
+    temp0.assign(*i);
+    temp1.assign(seq[i.variable().id()]);
+    temp0.mul_assign(temp0, temp1);
+    expr_value.add_assign(expr_value, temp0);
   }
-  return false;
-}
+  if (denominator != 1) {
+    temp0.assign(denominator);
+    expr_value.div_assign(expr_value, temp0);
+  }
+  seq[var.id()].assign(expr_value);
 
-template <typename T>
-bool
-Octagonal_Shape<T>::is_universe() const {
-  // An empty octagon isn't, of course, universe.
-  if (marked_empty())
-    return false;
+  PPL_ASSERT(OK());
+}
 
-  // If the octagon is non-empty and zero-dimensional,
-  // then it is necessarily the universe octagon.
-  if (space_dim == 0)
-    return true;
+template <typename ITV>
+void
+Box<ITV>::affine_form_image(const Variable var,
+                            const Linear_Form<ITV>& lf) {
 
-  // An universe octagon can only contains trivial  constraints.
-  for (typename OR_Matrix<N>::const_element_iterator
-         i = matrix.element_begin(), matrix_element_end = matrix.element_end();
-       i != matrix_element_end;
-       ++i)
-    if (!is_plus_infinity(*i))
-      return false;
+  // Check that ITV has a floating point boundary type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<typename ITV::boundary_type>
+            ::is_exact, "Box<ITV>::affine_form_image(Variable, Linear_Form):"
+                        "ITV has not a floating point boundary type.");
 
-  return true;
-}
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
+  const dimension_type lf_space_dim = lf.space_dimension();
+  if (space_dim < lf_space_dim)
+    throw_dimension_incompatible("affine_form_image(var, lf)", "lf", lf);
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("affine_form_image(var, lf)", "var", var);
 
-template <typename T>
-bool
-Octagonal_Shape<T>::is_bounded() const {
-  strong_closure_assign();
-  // A zero-dimensional or empty octagon is bounded.
-  if (marked_empty() || space_dim == 0)
-    return true;
+  if (is_empty())
+    return;
 
-  // A bounded octagon never can contains trivial constraints.
-  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
-         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
-    typename OR_Matrix<N>::const_row_reference_type x_i = *i;
-    const dimension_type i_index = i.index();
-    for (dimension_type j = i.row_size(); j-- > 0; )
-      if (i_index != j)
-        if (is_plus_infinity(x_i[j]))
-          return false;
+  // Intervalization of 'lf'.
+  ITV result = lf.inhomogeneous_term();
+  for (dimension_type i = 0; i < lf_space_dim; ++i) {
+    ITV current_addend = lf.coefficient(Variable(i));
+    const ITV& curr_int = seq[i];
+    current_addend *= curr_int;
+    result += current_addend;
   }
 
-  return true;
+  seq[var.id()].assign(result);
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::contains_integer_point() const {
-  // Force strong closure.
-  if (is_empty())
-    return false;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0)
-    return true;
+template <typename ITV>
+void
+Box<ITV>::affine_preimage(const Variable var,
+                          const Linear_Expression& expr,
+                          Coefficient_traits::const_reference
+                          denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("affine_preimage(v, e, d)", "d == 0");
 
-  // A strongly closed and consistent Octagonal_Shape defined by
-  // integer constraints can only be empty due to tight coeherence.
-  if (std::numeric_limits<T>::is_integer)
-    return !tight_coherence_would_make_empty();
+  // Dimension-compatibility checks.
+  const dimension_type x_space_dim = space_dimension();
+  const dimension_type expr_space_dim = expr.space_dimension();
+  if (x_space_dim < expr_space_dim)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
+  // `var' should be one of the dimensions of the polyhedron.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (x_space_dim < var_space_dim)
+    throw_dimension_incompatible("affine_preimage(v, e, d)", "v", var);
 
-  // Build an integer Octagonal_Shape oct_z with bounds at least as
-  // tight as those in *this and then recheck for emptiness, also
-  // exploiting tight-coherence.
-  Octagonal_Shape<mpz_class> oct_z(space_dim);
-  oct_z.reset_strongly_closed();
+  if (is_empty())
+    return;
 
-  typedef Octagonal_Shape<mpz_class>::N Z;
-  bool all_integers = true;
-  typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
-  for (typename OR_Matrix<Z>::element_iterator
-         z_i = oct_z.matrix.element_begin(),
-         z_end = oct_z.matrix.element_end(); z_i != z_end; ++z_i, ++x_i) {
-    const N& d = *x_i;
-    if (is_plus_infinity(d))
-      continue;
-    if (is_integer(d))
-      assign_r(*z_i, d, ROUND_NOT_NEEDED);
-    else {
-      all_integers = false;
-      assign_r(*z_i, d, ROUND_DOWN);
+  const Coefficient& expr_v = expr.coefficient(var);
+  const bool invertible = (expr_v != 0);
+  if (!invertible) {
+    Tmp_Interval_Type expr_value, temp0, temp1;
+    expr_value.assign(expr.inhomogeneous_term());
+    for (Linear_Expression::const_iterator i = expr.begin(),
+            i_end = expr.end(); i != i_end; ++i) {
+      temp0.assign(*i);
+      temp1.assign(seq[i.variable().id()]);
+      temp0.mul_assign(temp0, temp1);
+      expr_value.add_assign(expr_value, temp0);
+    }
+    if (denominator != 1) {
+      temp0.assign(denominator);
+      expr_value.div_assign(expr_value, temp0);
     }
+    ITV& x_seq_v = seq[var.id()];
+    expr_value.intersect_assign(x_seq_v);
+    if (expr_value.is_empty())
+      set_empty();
+    else
+      x_seq_v.assign(UNIVERSE);
   }
-  // Restore strong closure.
-  if (all_integers)
-    // oct_z unchanged, so it is still strongly closed.
-    oct_z.set_strongly_closed();
   else {
-    // oct_z changed: recompute strong closure.
-    oct_z.strong_closure_assign();
-    if (oct_z.marked_empty())
-      return false;
+    // The affine transformation is invertible.
+    // CHECKME: for efficiency, would it be meaningful to avoid
+    // the computation of inverse by partially evaluating the call
+    // to affine_image?
+    Linear_Expression inverse;
+    inverse -= expr;
+    inverse += (expr_v + denominator) * var;
+    affine_image(var, inverse, expr_v);
   }
-  return !oct_z.tight_coherence_would_make_empty();
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::frequency(const Linear_Expression& expr,
-                              Coefficient& freq_n, Coefficient& freq_d,
-                              Coefficient& val_n, Coefficient& val_d) const {
-  dimension_type space_dim = space_dimension();
-  // The dimension of `expr' must be at most the dimension of *this.
-  if (space_dim < expr.space_dimension())
-    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
-
-  // Check if `expr' has a constant value.
-  // If it is constant, set the frequency `freq_n' to 0
-  // and return true. Otherwise the values for \p expr
-  // are not discrete so return false.
-
-  // Space dimension = 0: if empty, then return false;
-  // otherwise the frequency is 0 and the value is the inhomogeneous term.
-  if (space_dim == 0) {
-    if (is_empty())
-      return false;
-    freq_n = 0;
-    freq_d = 1;
-    val_n = expr.inhomogeneous_term();
-    val_d = 1;
-    return true;
-  }
-
-  strong_closure_assign();
-  // For an empty Octagonal shape, we simply return false.
-  if (marked_empty())
-    return false;
-
-  // The Octagonal shape has at least 1 dimension and is not empty.
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff_j);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  Linear_Expression le = expr;
-  // Boolean to keep track of a variable `v' in expression `le'.
-  // If we can replace `v' by an expression using variables other
-  // than `v' and are already in `le', then this is set to true.
-  bool constant_v = false;
+template <typename ITV>
+void
+Box<ITV>
+::bounded_affine_image(const Variable var,
+                       const Linear_Expression& lb_expr,
+                       const Linear_Expression& ub_expr,
+                       Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+				 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
+				 "ub", ub_expr);
+    // `var' should be one of the dimensions of the box.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("affine_image(v, e, d)", "v", var);
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const Row_Iterator m_end = matrix.row_end();
+  // Any image of an empty box is empty.
+  if (is_empty())
+    return;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+  // Add the constraint implied by the `lb_expr' and `ub_expr'.
+  if (denominator > 0)
+    refine_with_constraint(lb_expr <= ub_expr);
+  else
+    refine_with_constraint(lb_expr >= ub_expr);
 
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
-    constant_v = false;
-    dimension_type i = i_iter.index();
-    const Variable v(i/2);
-    coeff = le.coefficient(v);
-    if (coeff == 0) {
-      constant_v = true;
-      continue;
-    }
-    // We check the unary constraints.
-    Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
-    const N& m_i_ii = m_i[i+1];
-    const N& m_ii_i = m_ii[i];
-    if ((!is_plus_infinity(m_i_ii) && !is_plus_infinity(m_ii_i))
-        && (is_additive_inverse(m_i_ii, m_ii_i))) {
-      // If `v' is constant, replace it in `le' by the value.
-      numer_denom(m_i_ii, num, den);
-      den *= 2;
-      le -= coeff*v;
-      le *= den;
-      le -= num*coeff;
-      val_den *= den;
-      constant_v = true;
-      continue;
-    }
-    // Check the octagonal constraints between `v' and the other dimensions
-    // that have non-zero coefficient in `le'.
-    else {
-      PPL_ASSERT(!constant_v);
-      using namespace Implementation::Octagonal_Shapes;
-      const dimension_type ci = coherent_index(i);
-      for (Row_Iterator j_iter = i_iter; j_iter != m_end; j_iter += 2) {
-        dimension_type j = j_iter.index();
-        const Variable vj(j/2);
-        coeff_j = le.coefficient(vj);
-        if (coeff_j == 0)
-          // The coefficient in `le' is 0, so do nothing.
-          continue;
-        const dimension_type cj = coherent_index(j);
-        const dimension_type cjj = coherent_index(j+1);
+  // Check whether `var' occurs in `lb_expr' and/or `ub_expr'.
+  if (lb_expr.coefficient(var) == 0) {
+    // Here `var' can only occur in `ub_expr'.
+    generalized_affine_image(var,
+			     LESS_OR_EQUAL,
+			     ub_expr,
+			     denominator);
+    if (denominator > 0)
+      refine_with_constraint(lb_expr <= denominator*var);
+    else
+      refine_with_constraint(denominator*var <= lb_expr);
+  }
+  else if (ub_expr.coefficient(var) == 0) {
+    // Here `var' can only occur in `lb_expr'.
+    generalized_affine_image(var,
+			     GREATER_OR_EQUAL,
+			     lb_expr,
+			     denominator);
+    if (denominator > 0)
+      refine_with_constraint(denominator*var <= ub_expr);
+    else
+      refine_with_constraint(ub_expr <= denominator*var);
+  }
+  else {
+    // Here `var' occurs in both `lb_expr' and `ub_expr'.  As boxes
+    // can only use the non-relational constraints, we find the
+    // maximum/minimum values `ub_expr' and `lb_expr' obtain with the
+    // box and use these instead of the `ub-expr' and `lb-expr'.
+    PPL_DIRTY_TEMP(Coefficient, max_numer);
+    PPL_DIRTY_TEMP(Coefficient, max_denom);
+    bool max_included;
+    PPL_DIRTY_TEMP(Coefficient, min_numer);
+    PPL_DIRTY_TEMP(Coefficient, min_denom);
+    bool min_included;
+    ITV& seq_v = seq[var.id()];
+    if (maximize(ub_expr, max_numer, max_denom, max_included)) {
+      if (minimize(lb_expr, min_numer, min_denom, min_included)) {
+	// The `ub_expr' has a maximum value and the `lb_expr'
+	// has a minimum value for the box.
+	// Set the bounds for `var' using the minimum for `lb_expr'.
+	min_denom *= denominator;
+	PPL_DIRTY_TEMP(mpq_class, q1);
+	PPL_DIRTY_TEMP(mpq_class, q2);
+	assign_r(q1.get_num(), min_numer, ROUND_NOT_NEEDED);
+	assign_r(q1.get_den(), min_denom, ROUND_NOT_NEEDED);
+	q1.canonicalize();
+	// Now make the maximum of lb_expr the upper bound.  If the
+	// maximum is not at a box point, then inequality is strict.
+	max_denom *= denominator;
+	assign_r(q2.get_num(), max_numer, ROUND_NOT_NEEDED);
+	assign_r(q2.get_den(), max_denom, ROUND_NOT_NEEDED);
+	q2.canonicalize();
 
-        Row_Reference m_j = *(m_begin + j);
-        Row_Reference m_cj = *(m_begin + cj);
-        const N& m_j_i = m_j[i];
-        const N& m_i_j = m_cj[ci];
-        if ((!is_plus_infinity(m_i_j) && !is_plus_infinity(m_j_i))
-            && (is_additive_inverse(m_i_j, m_j_i))) {
-          // The coefficient for `vj' in `le' is not 0
-          // and the constraint with `v' is an equality.
-          // So apply this equality to eliminate `v' in `le'.
-          numer_denom(m_i_j, num, den);
-          le -= coeff*v;
-          le += coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
-          constant_v = true;
-          break;
+        if (denominator > 0) {
+          Relation_Symbol gr = min_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          Relation_Symbol lr = max_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_v.build(i_constraint(gr, q1), i_constraint(lr, q2));
         }
-
-        m_j = *(m_begin + j + 1);
-        m_cj = *(m_begin + cjj);
-        const N& m_j_i1 = m_j[i];
-        const N& m_i_j1 = m_cj[ci];
-        if ((!is_plus_infinity(m_i_j1) && !is_plus_infinity(m_j_i1))
-            && (is_additive_inverse(m_i_j1, m_j_i1))) {
-          // The coefficient for `vj' in `le' is not 0
-          // and the constraint with `v' is an equality.
-          // So apply this equality to eliminate `v' in `le'.
-          numer_denom(m_i_j1, num, den);
-          le -= coeff*v;
-          le -= coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
-          constant_v = true;
-          break;
+	else {
+          Relation_Symbol gr = max_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          Relation_Symbol lr = min_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_v.build(i_constraint(gr, q2), i_constraint(lr, q1));
         }
       }
-      if (!constant_v)
-        // The expression `expr' is not constant.
-        return false;
+      else {
+	// The `ub_expr' has a maximum value but the `lb_expr'
+	// has no minimum value for the box.
+	// Set the bounds for `var' using the maximum for `lb_expr'.
+	PPL_DIRTY_TEMP(mpq_class, q);
+	max_denom *= denominator;
+	assign_r(q.get_num(), max_numer, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), max_denom, ROUND_NOT_NEEDED);
+	q.canonicalize();
+        Relation_Symbol rel = (denominator > 0)
+          ? (max_included ? LESS_OR_EQUAL : LESS_THAN)
+          : (max_included ? GREATER_OR_EQUAL : GREATER_THAN);
+        seq_v.build(i_constraint(rel, q));
+      }
     }
-  }
-  if (!constant_v)
-    // The expression `expr' is not constant.
-    return false;
-
-  // The expression 'expr' is constant.
-  freq_n = 0;
-  freq_d = 1;
+    else if (minimize(lb_expr, min_numer, min_denom, min_included)) {
+	// The `ub_expr' has no maximum value but the `lb_expr'
+	// has a minimum value for the box.
+	// Set the bounds for `var' using the minimum for `lb_expr'.
+	min_denom *= denominator;
+	PPL_DIRTY_TEMP(mpq_class, q);
+	assign_r(q.get_num(), min_numer, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), min_denom, ROUND_NOT_NEEDED);
+	q.canonicalize();
 
-  // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
-  return true;
+        Relation_Symbol rel = (denominator > 0)
+          ? (min_included ? GREATER_OR_EQUAL : GREATER_THAN)
+          : (min_included ? LESS_OR_EQUAL : LESS_THAN);
+        seq_v.build(i_constraint(rel, q));
+    }
+    else {
+      // The `ub_expr' has no maximum value and the `lb_expr'
+      // has no minimum value for the box.
+      // So we set the bounds to be unbounded.
+      seq_v.assign(UNIVERSE);
+    }
+  }
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the octagonal shape.
+template <typename ITV>
+void
+Box<ITV>
+::bounded_affine_preimage(const Variable var,
+                          const Linear_Expression& lb_expr,
+                          const Linear_Expression& ub_expr,
+                          Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  const dimension_type space_dim = space_dimension();
+  if (denominator == 0)
+    throw_invalid_argument("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+
+  // Dimension-compatibility checks.
+  // `var' should be one of the dimensions of the polyhedron.
   const dimension_type var_space_dim = var.space_dimension();
-  if (space_dimension() < var_space_dim)
-    throw_dimension_incompatible("constrains(v)", "v", var);
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+				 "v", var);
+  // The dimension of `lb_expr' and `ub_expr' should not be
+  // greater than the dimension of `*this'.
+  const dimension_type lb_space_dim = lb_expr.space_dimension();
+  if (space_dim < lb_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+				 "lb", lb_expr);
+  const dimension_type ub_space_dim = ub_expr.space_dimension();
+  if (space_dim < ub_space_dim)
+    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
+				 "ub", ub_expr);
 
-  // An octagon known to be empty constrains all variables.
-  // (Note: do not force emptiness check _yet_)
+  // Any preimage of an empty polyhedron is empty.
   if (marked_empty())
-    return true;
+    return;
 
-  // Check whether `var' is syntactically constrained.
-  const dimension_type n_v = 2*(var_space_dim - 1);
-  typename OR_Matrix<N>::const_row_iterator m_iter = matrix.row_begin() + n_v;
-  typename OR_Matrix<N>::const_row_reference_type r_v = *m_iter;
-  typename OR_Matrix<N>::const_row_reference_type r_cv = *(++m_iter);
-  for (dimension_type h = m_iter.row_size(); h-- > 0; ) {
-    if (!is_plus_infinity(r_v[h]) || !is_plus_infinity(r_cv[h]))
-      return true;
-  }
-  ++m_iter;
-  for (typename OR_Matrix<N>::const_row_iterator m_end = matrix.row_end();
-       m_iter != m_end; ++m_iter) {
-    typename OR_Matrix<N>::const_row_reference_type r = *m_iter;
-    if (!is_plus_infinity(r[n_v]) || !is_plus_infinity(r[n_v+1]))
-      return true;
+  const bool negative_denom = (denominator < 0);
+  const Coefficient& lb_var_coeff = lb_expr.coefficient(var);
+  const Coefficient& ub_var_coeff = ub_expr.coefficient(var);
+
+  // If the implied constraint between `ub_expr and `lb_expr' is
+  // independent of `var', then impose it now.
+  if (lb_var_coeff == ub_var_coeff) {
+    if (negative_denom)
+      refine_with_constraint(lb_expr >= ub_expr);
+    else
+      refine_with_constraint(lb_expr <= ub_expr);
   }
 
-  // `var' is not syntactically constrained:
-  // now force an emptiness check.
-  return is_empty();
-}
+  ITV& seq_var = seq[var.id()];
+  if (!seq_var.is_universe()) {
+    // We want to work with a positive denominator,
+    // so the sign and its (unsigned) value are separated.
+    PPL_DIRTY_TEMP_COEFFICIENT(pos_denominator);
+    pos_denominator = denominator;
+    if (negative_denom)
+      neg_assign(pos_denominator, pos_denominator);
+    // Store all the information about the upper and lower bounds
+    // for `var' before making this interval unbounded.
+    bool open_lower = seq_var.lower_is_open();
+    bool unbounded_lower = seq_var.lower_is_boundary_infinity();
+    PPL_DIRTY_TEMP(mpq_class, q_seq_var_lower);
+    PPL_DIRTY_TEMP(Coefficient, numer_lower);
+    PPL_DIRTY_TEMP(Coefficient, denom_lower);
+    if (!unbounded_lower) {
+      assign_r(q_seq_var_lower, seq_var.lower(), ROUND_NOT_NEEDED);
+      assign_r(numer_lower, q_seq_var_lower.get_num(), ROUND_NOT_NEEDED);
+      assign_r(denom_lower, q_seq_var_lower.get_den(), ROUND_NOT_NEEDED);
+      if (negative_denom)
+        neg_assign(denom_lower, denom_lower);
+      numer_lower *= pos_denominator;
+      seq_var.lower_extend();
+    }
+    bool open_upper = seq_var.upper_is_open();
+    bool unbounded_upper = seq_var.upper_is_boundary_infinity();
+    PPL_DIRTY_TEMP(mpq_class, q_seq_var_upper);
+    PPL_DIRTY_TEMP(Coefficient, numer_upper);
+    PPL_DIRTY_TEMP(Coefficient, denom_upper);
+    if (!unbounded_upper) {
+      assign_r(q_seq_var_upper, seq_var.upper(), ROUND_NOT_NEEDED);
+      assign_r(numer_upper, q_seq_var_upper.get_num(), ROUND_NOT_NEEDED);
+      assign_r(denom_upper, q_seq_var_upper.get_den(), ROUND_NOT_NEEDED);
+      if (negative_denom)
+        neg_assign(denom_upper, denom_upper);
+      numer_upper *= pos_denominator;
+      seq_var.upper_extend();
+    }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::is_strong_coherent() const {
-  // This method is only used by method OK() so as to check if a
-  // strongly closed matrix is also strong-coherent, as it must be.
-  const dimension_type num_rows = matrix.num_rows();
+    if (!unbounded_lower) {
+      // `lb_expr' is revised by removing the `var' component,
+      // multiplying by `-' denominator of the lower bound for `var',
+      // and adding the lower bound for `var' to the inhomogeneous term.
+      Linear_Expression revised_lb_expr(ub_expr);
+      revised_lb_expr -= ub_var_coeff * var;
+      PPL_DIRTY_TEMP(Coefficient, d);
+      neg_assign(d, denom_lower);
+      revised_lb_expr *= d;
+      revised_lb_expr += numer_lower;
 
-  // Allocated here once and for all.
-  PPL_DIRTY_TEMP(N, semi_sum);
-  // The strong-coherence is: for every indexes i and j (and i != j)
-  // matrix[i][j] <= (matrix[i][ci] + matrix[cj][j])/2
-  // where ci = i + 1, if i is even number or
-  //       ci = i - 1, if i is odd.
-  // Ditto for cj.
-  for (dimension_type i = num_rows; i-- > 0; ) {
-    typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin() + i;
-    typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
-    using namespace Implementation::Octagonal_Shapes;
-    const N& m_i_ci = m_i[coherent_index(i)];
-    for (dimension_type j = matrix.row_size(i); j-- > 0; )
-      // Note: on the main diagonal only PLUS_INFINITY can occur.
-      if (i != j) {
-        const N& m_cj_j = matrix[coherent_index(j)][j];
-        if (!is_plus_infinity(m_i_ci)
-            && !is_plus_infinity(m_cj_j)) {
-          // Compute (m_i_ci + m_cj_j)/2 into `semi_sum',
-          // rounding the result towards plus infinity.
-          add_assign_r(semi_sum, m_i_ci, m_cj_j, ROUND_UP);
-          div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
-          if (m_i[j] > semi_sum)
-            return false;
+      // Find the minimum value for the revised lower bound expression
+      // and use this to refine the appropriate bound.
+      bool included;
+      PPL_DIRTY_TEMP(Coefficient, denom);
+      if (minimize(revised_lb_expr, numer_lower, denom, included)) {
+        denom_lower *= (denom * ub_var_coeff);
+        PPL_DIRTY_TEMP(mpq_class, q);
+        assign_r(q.get_num(), numer_lower, ROUND_NOT_NEEDED);
+        assign_r(q.get_den(), denom_lower, ROUND_NOT_NEEDED);
+        q.canonicalize();
+        if (!included)
+          open_lower = true;
+        Relation_Symbol rel;
+        if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom)
+          rel = open_lower ? GREATER_THAN : GREATER_OR_EQUAL;
+        else
+          rel = open_lower ? LESS_THAN : LESS_OR_EQUAL;
+        seq_var.add_constraint(i_constraint(rel, q));
+        if (seq_var.is_empty()) {
+          set_empty();
+          return;
         }
       }
-  }
-  return true;
-}
-
-template <typename T>
-bool
-Octagonal_Shape<T>::is_strongly_reduced() const {
-  // This method is only used in assertions: efficiency is not a must.
+    }
 
-  // An empty octagon is already transitively reduced.
-  if (marked_empty())
-    return true;
+    if (!unbounded_upper) {
+      // `ub_expr' is revised by removing the `var' component,
+      // multiplying by `-' denominator of the upper bound for `var',
+      // and adding the upper bound for `var' to the inhomogeneous term.
+      Linear_Expression revised_ub_expr(lb_expr);
+      revised_ub_expr -= lb_var_coeff * var;
+      PPL_DIRTY_TEMP(Coefficient, d);
+      neg_assign(d, denom_upper);
+      revised_ub_expr *= d;
+      revised_ub_expr += numer_upper;
 
-  Octagonal_Shape x = *this;
-  // The matrix representing an OS is strongly reduced if, by removing
-  // any constraint, the resulting matrix describes a different OS.
-  for (typename OR_Matrix<N>::const_row_iterator iter = matrix.row_begin(),
-         matrix_row_end = matrix.row_end(); iter != matrix_row_end; ++iter) {
-    typename OR_Matrix<N>::const_row_reference_type m_i = *iter;
-    const dimension_type i = iter.index();
-    for (dimension_type j = iter.row_size(); j-- > 0; ) {
-      if (!is_plus_infinity(m_i[j])) {
-        Octagonal_Shape x_copy = *this;
-        assign_r(x_copy.matrix[i][j], PLUS_INFINITY, ROUND_NOT_NEEDED);
-        if (x == x_copy)
-          return false;
+      // Find the maximum value for the revised upper bound expression
+      // and use this to refine the appropriate bound.
+      bool included;
+      PPL_DIRTY_TEMP(Coefficient, denom);
+      if (maximize(revised_ub_expr, numer_upper, denom, included)) {
+        denom_upper *= (denom * lb_var_coeff);
+        PPL_DIRTY_TEMP(mpq_class, q);
+        assign_r(q.get_num(), numer_upper, ROUND_NOT_NEEDED);
+        assign_r(q.get_den(), denom_upper, ROUND_NOT_NEEDED);
+        q.canonicalize();
+        if (!included)
+          open_upper = true;
+        Relation_Symbol rel;
+        if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom)
+          rel = open_upper ? LESS_THAN : LESS_OR_EQUAL;
+        else
+          rel = open_upper ? GREATER_THAN : GREATER_OR_EQUAL;
+        seq_var.add_constraint(i_constraint(rel, q));
+        if (seq_var.is_empty()) {
+          set_empty();
+          return;
+        }
       }
     }
   }
-  // The octagon is just reduced.
-  return true;
+
+  // If the implied constraint between `ub_expr and `lb_expr' is
+  // dependent on `var', then impose on the new box.
+  if (lb_var_coeff != ub_var_coeff) {
+    if (denominator > 0)
+      refine_with_constraint(lb_expr <= ub_expr);
+    else
+      refine_with_constraint(lb_expr >= ub_expr);
+  }
+
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
-                           const bool from_above) const {
+template <typename ITV>
+void
+Box<ITV>
+::generalized_affine_image(const Variable var,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression& expr,
+                           Coefficient_traits::const_reference denominator) {
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)", "d == 0");
+
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
   // The dimension of `expr' should not be greater than the dimension
   // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((from_above
-                                  ? "bounds_from_above(e)"
-                                  : "bounds_from_below(e)"), "e", expr);
-  strong_closure_assign();
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
+				 "e", expr);
+  // `var' should be one of the dimensions of the box.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
+				 "v", var);
 
-  // A zero-dimensional or empty octagon bounds everything.
-  if (space_dim == 0 || marked_empty())
-    return true;
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(v, r, e, d)",
+                           "r is the disequality relation symbol");
 
-  // The constraint `c' is used to check if `expr' is an octagonal difference
-  // and, in this case, to select the cell.
-  const Constraint& c = (from_above) ? expr <= 0 : expr >= 0;
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(term);
-  if (extract_octagonal_difference(c, c.space_dimension(), num_vars,
-                                   i, j, coeff, term)) {
-    if (num_vars == 0)
-      return true;
-    // Select the cell to be checked.
-    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
-    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
-    return !is_plus_infinity(m_i[j]);
-  }
-  else {
-    // `c' is not an octagonal constraint: use the MIP solver.
-    Optimization_Mode mode_bounds =
-      from_above ? MAXIMIZATION : MINIMIZATION;
-    MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
-    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
+  // First compute the affine image.
+  affine_image(var, expr, denominator);
+
+  if (relsym == EQUAL)
+    // The affine relation is indeed an affine function.
+    return;
+
+  // Any image of an empty box is empty.
+  if (is_empty())
+    return;
+
+  ITV& seq_var = seq[var.id()];
+  switch (relsym) {
+  case LESS_OR_EQUAL:
+    seq_var.lower_extend();
+    break;
+  case LESS_THAN:
+    seq_var.lower_extend();
+    if (!seq_var.upper_is_boundary_infinity())
+      seq_var.remove_sup();
+    break;
+  case GREATER_OR_EQUAL:
+    seq_var.upper_extend();
+    break;
+  case GREATER_THAN:
+    seq_var.upper_extend();
+    if (!seq_var.lower_is_boundary_infinity())
+      seq_var.remove_inf();
+    break;
+  default:
+    // The EQUAL and NOT_EQUAL cases have been already dealt with.
+    PPL_UNREACHABLE;
+    break;
   }
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
-                            const bool maximize,
-                            Coefficient& ext_n, Coefficient& ext_d,
-                            bool& included) const {
+template <typename ITV>
+void
+Box<ITV>
+::generalized_affine_preimage(const Variable var,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& expr,
+                              Coefficient_traits::const_reference denominator)
+{
+  // The denominator cannot be zero.
+  if (denominator == 0)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "d == 0");
+
+  // Dimension-compatibility checks.
+  const dimension_type space_dim = space_dimension();
   // The dimension of `expr' should not be greater than the dimension
   // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((maximize
-                                  ? "maximize(e, ...)"
-                                  : "minimize(e, ...)"), "e", expr);
-  // Deal with zero-dim octagons first.
-  if (space_dim == 0) {
-    if (marked_empty())
-      return false;
-    else {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      return true;
-    }
+  if (space_dim < expr.space_dimension())
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+				 "e", expr);
+  // `var' should be one of the dimensions of the box.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (space_dim < var_space_dim)
+    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
+				 "v", var);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_preimage(v, r, e, d)",
+                           "r is the disequality relation symbol");
+
+  // Check whether the affine relation is indeed an affine function.
+  if (relsym == EQUAL) {
+    affine_preimage(var, expr, denominator);
+    return;
   }
 
-  strong_closure_assign();
-  // For an empty OS we simply return false.
-  if (marked_empty())
-    return false;
+  // Compute the reversed relation symbol to simplify later coding.
+  Relation_Symbol reversed_relsym;
+  switch (relsym) {
+  case LESS_THAN:
+    reversed_relsym = GREATER_THAN;
+    break;
+  case LESS_OR_EQUAL:
+    reversed_relsym = GREATER_OR_EQUAL;
+    break;
+  case GREATER_OR_EQUAL:
+    reversed_relsym = LESS_OR_EQUAL;
+    break;
+  case GREATER_THAN:
+    reversed_relsym = LESS_THAN;
+    break;
+  default:
+    // The EQUAL and NOT_EQUAL cases have been already dealt with.
+    PPL_UNREACHABLE;
+    break;
+  }
 
-  // The constraint `c' is used to check if `expr' is an octagonal difference
-  // and, in this case, to select the cell.
-  const Constraint& c = (maximize) ? expr <= 0 : expr >= 0;
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(term);
-  if (!extract_octagonal_difference(c, c.space_dimension(), num_vars,
-                                    i, j, coeff, term)) {
-    // `c' is not an octagonal constraint: use the MIP solver.
-    Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION;
-    MIP_Problem mip(space_dim, constraints(), expr, max_min);
-    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
-      mip.optimal_value(ext_n, ext_d);
-      included = true;
-      return true;
+  // Check whether the preimage of this affine relation can be easily
+  // computed as the image of its inverse relation.
+  const Coefficient& var_coefficient = expr.coefficient(var);
+  if (var_coefficient != 0) {
+    Linear_Expression inverse_expr
+      = expr - (denominator + var_coefficient) * var;
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denominator);
+    neg_assign(inverse_denominator, var_coefficient);
+    Relation_Symbol inverse_relsym
+      = (sgn(denominator) == sgn(inverse_denominator))
+      ? relsym
+      : reversed_relsym;
+    generalized_affine_image(var, inverse_relsym, inverse_expr,
+			     inverse_denominator);
+    return;
+  }
+
+  // Here `var_coefficient == 0', so that the preimage cannot
+  // be easily computed by inverting the affine relation.
+  // Shrink the box by adding the constraint induced
+  // by the affine relation.
+  // First, compute the maximum and minimum value reached by
+  // `denominator*var' on the box as we need to use non-relational
+  // expressions.
+  PPL_DIRTY_TEMP(Coefficient, max_numer);
+  PPL_DIRTY_TEMP(Coefficient, max_denom);
+  bool max_included;
+  bool bound_above = maximize(denominator*var, max_numer, max_denom, max_included);
+  PPL_DIRTY_TEMP(Coefficient, min_numer);
+  PPL_DIRTY_TEMP(Coefficient, min_denom);
+  bool min_included;
+  bool bound_below = minimize(denominator*var, min_numer, min_denom, min_included);
+  // Use the correct relation symbol
+  const Relation_Symbol corrected_relsym
+    = (denominator > 0) ? relsym : reversed_relsym;
+  // Revise the expression to take into account the denominator of the
+  // maximum/minimum value for `var'.
+  Linear_Expression revised_expr;
+  PPL_DIRTY_TEMP_COEFFICIENT(d);
+  if (corrected_relsym == LESS_THAN || corrected_relsym == LESS_OR_EQUAL) {
+    if (bound_below) {
+      revised_expr = expr;
+      revised_expr.set_inhomogeneous_term(Coefficient_zero());
+      revised_expr *= d;
     }
-    else
-      // Here`expr' is unbounded in `*this'.
-      return false;
   }
   else {
-    // `c' is an octagonal constraint.
-    if (num_vars == 0) {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      return true;
-    }
-
-    // Select the cell to be checked.
-    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
-    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
-    PPL_DIRTY_TEMP(N, d);
-    if (!is_plus_infinity(m_i[j])) {
-      const Coefficient& b = expr.inhomogeneous_term();
-      PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-      neg_assign(minus_b, b);
-      const Coefficient& sc_b = maximize ? b : minus_b;
-      assign_r(d, sc_b, ROUND_UP);
-      // Set `coeff_expr' to the absolute value of coefficient of a variable
-      // of `expr'.
-      PPL_DIRTY_TEMP(N, coeff_expr);
-      const Coefficient& coeff_i = expr.coefficient(Variable(i/2));
-      const int sign_i = sgn(coeff_i);
-      if (sign_i > 0)
-        assign_r(coeff_expr, coeff_i, ROUND_UP);
-      else {
-        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
-        neg_assign(minus_coeff_i, expr.coefficient(Variable(i/2)));
-        assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
-      }
-      // Approximating the maximum/minimum of `expr'.
-      if (num_vars == 1) {
-        PPL_DIRTY_TEMP(N, m_i_j);
-        div_2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
-        add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
-      }
-      else
-        add_mul_assign_r(d, coeff_expr, m_i[j], ROUND_UP);
-      numer_denom(d, ext_n, ext_d);
-      if (!maximize)
-        neg_assign(ext_n);
-      included = true;
-      return true;
+    if (bound_above) {
+      revised_expr = expr;
+      revised_expr.set_inhomogeneous_term(Coefficient_zero());
+      revised_expr *= max_denom;
     }
+  }
 
-    // The `expr' is unbounded.
-    return false;
+  switch (corrected_relsym) {
+  case LESS_THAN:
+    if (bound_below)
+      refine_with_constraint(min_numer < revised_expr);
+    break;
+  case LESS_OR_EQUAL:
+    if (bound_below)
+      (min_included)
+        ? refine_with_constraint(min_numer <= revised_expr)
+        : refine_with_constraint(min_numer < revised_expr);
+    break;
+  case GREATER_OR_EQUAL:
+    if (bound_above)
+      (max_included)
+        ? refine_with_constraint(max_numer >= revised_expr)
+        : refine_with_constraint(max_numer > revised_expr);
+    break;
+  case GREATER_THAN:
+    if (bound_above)
+      refine_with_constraint(max_numer > revised_expr);
+    break;
+  default:
+    // The EQUAL and NOT_EQUAL cases have been already dealt with.
+    PPL_UNREACHABLE;
+    break;
   }
+  // If the shrunk box is empty, its preimage is empty too.
+  if (is_empty())
+    return;
+  ITV& seq_v = seq[var.id()];
+  seq_v.assign(UNIVERSE);
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
-                            const bool maximize,
-                            Coefficient& ext_n, Coefficient& ext_d,
-                            bool& included, Generator& g) const {
-  // The dimension of `expr' should not be greater than the dimension
+template <typename ITV>
+void
+Box<ITV>
+::generalized_affine_image(const Linear_Expression& lhs,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
   // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((maximize
-                                  ? "maximize(e, ...)"
-                                  : "minimize(e, ...)"), "e", expr);
-  // Deal with zero-dim octagons first.
-  if (space_dim == 0) {
-    if (marked_empty())
-      return false;
-    else {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      g = point();
-      return true;
-    }
-  }
+  dimension_type lhs_space_dim = lhs.space_dimension();
+  const dimension_type space_dim = space_dimension();
+  if (space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+				 "e1", lhs);
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+				 "e2", rhs);
 
-  strong_closure_assign();
-  // For an empty OS we simply return false.
-  if (marked_empty())
-    return false;
-  if (!is_universe()) {
-    // We use MIP_Problems to handle constraints that are not
-    // octagonal difference.
-    Optimization_Mode max_min = (maximize) ? MAXIMIZATION : MINIMIZATION;
-    MIP_Problem mip(space_dim, constraints(), expr, max_min);
-    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
-      g = mip.optimizing_point();
-      mip.evaluate_objective_function(g, ext_n, ext_d);
-      included = true;
-      return true;
-    }
-  }
-  // The `expr' is unbounded.
-  return false;
-}
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-template <typename T>
-Poly_Con_Relation
-Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
-  dimension_type cg_space_dim = cg.space_dimension();
+  // Any image of an empty box is empty.
+  if (marked_empty())
+    return;
 
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(cg)", cg);
+  // Compute the maximum and minimum value reached by the rhs on the box.
+  PPL_DIRTY_TEMP(Coefficient, max_numer);
+  PPL_DIRTY_TEMP(Coefficient, max_denom);
+  bool max_included;
+  bool max_rhs = maximize(rhs, max_numer, max_denom, max_included);
+  PPL_DIRTY_TEMP(Coefficient, min_numer);
+  PPL_DIRTY_TEMP(Coefficient, min_denom);
+  bool min_included;
+  bool min_rhs = minimize(rhs, min_numer, min_denom, min_included);
 
-  // If the congruence is an equality,
-  // find the relation with the equivalent equality constraint.
-  if (cg.is_equality()) {
-    Constraint c(cg);
-    return relation_with(c);
+  // Check whether there is 0, 1 or more than one variable in the lhs
+  // and record the variable with the highest dimension; set the box
+  // intervals to be unbounded for all other dimensions with non-zero
+  // coefficients in the lhs.
+  bool has_var = false;
+  dimension_type has_var_id = lhs.last_nonzero();
+
+  if (has_var_id != 0) {
+    has_var = true;
+    --has_var_id;
+    dimension_type other_var = lhs.first_nonzero(1, has_var_id + 1);
+    --other_var;
+    if (other_var != has_var_id) {
+      // There is more than one dimension with non-zero coefficient, so
+      // we cannot have any information about the dimensions in the lhs.
+      ITV& seq_var = seq[has_var_id];
+      seq_var.assign(UNIVERSE);
+      // Since all but the highest dimension with non-zero coefficient
+      // in the lhs have been set unbounded, it remains to set the
+      // highest dimension in the lhs unbounded.
+      ITV& seq_i = seq[other_var];
+      seq_i.assign(UNIVERSE);
+      PPL_ASSERT(OK());
+      return;
+    }
   }
 
-  strong_closure_assign();
+  if (has_var) {
+    // There is exactly one dimension with non-zero coefficient.
+    ITV& seq_var = seq[has_var_id];
 
-  if (marked_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
+    // Compute the new bounds for this dimension defined by the rhs
+    // expression.
+    const Coefficient& inhomo = lhs.inhomogeneous_term();
+    const Coefficient& coeff = lhs.coefficient(Variable(has_var_id));
+    PPL_DIRTY_TEMP(mpq_class, q_max);
+    PPL_DIRTY_TEMP(mpq_class, q_min);
+    if (max_rhs) {
+      max_numer -= inhomo * max_denom;
+      max_denom *= coeff;
+      assign_r(q_max.get_num(), max_numer, ROUND_NOT_NEEDED);
+      assign_r(q_max.get_den(), max_denom, ROUND_NOT_NEEDED);
+      q_max.canonicalize();
+    }
+    if (min_rhs) {
+      min_numer -= inhomo * min_denom;
+      min_denom *= coeff;
+      assign_r(q_min.get_num(), min_numer, ROUND_NOT_NEEDED);
+      assign_r(q_min.get_den(), min_denom, ROUND_NOT_NEEDED);
+      q_min.canonicalize();
+    }
 
-  if (space_dim == 0) {
-    if (cg.is_inconsistent())
-      return Poly_Con_Relation::is_disjoint();
+    // The choice as to which bounds should be set depends on the sign
+    // of the coefficient of the dimension `has_var_id' in the lhs.
+    if (coeff > 0)
+      // The coefficient of the dimension in the lhs is positive.
+      switch (relsym) {
+      case LESS_OR_EQUAL:
+        if (max_rhs) {
+          Relation_Symbol rel = max_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_var.build(i_constraint(rel, q_max));
+        }
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case LESS_THAN:
+        if (max_rhs)
+          seq_var.build(i_constraint(LESS_THAN, q_max));
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case EQUAL:
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    u.set(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max);
+	  if (min_rhs)
+	    l.set(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min);
+	  seq_var.build(l, u);
+          break;
+	}
+      case GREATER_OR_EQUAL:
+        if (min_rhs) {
+          Relation_Symbol rel = min_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          seq_var.build(i_constraint(rel, q_min));
+        }
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case GREATER_THAN:
+        if (min_rhs)
+          seq_var.build(i_constraint(GREATER_THAN, q_min));
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      default:
+        // The NOT_EQUAL case has been already dealt with.
+        PPL_UNREACHABLE;
+        break;
+      }
     else
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_included();
+      // The coefficient of the dimension in the lhs is negative.
+      switch (relsym) {
+      case GREATER_OR_EQUAL:
+        if (min_rhs) {
+          Relation_Symbol rel = min_included ? LESS_OR_EQUAL : LESS_THAN;
+          seq_var.build(i_constraint(rel, q_min));
+        }
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case GREATER_THAN:
+        if (min_rhs)
+          seq_var.build(i_constraint(LESS_THAN, q_min));
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case EQUAL:
+	{
+	  I_Constraint<mpq_class> l;
+	  I_Constraint<mpq_class> u;
+	  if (max_rhs)
+	    l.set(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max);
+	  if (min_rhs)
+	    u.set(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min);
+	  seq_var.build(l, u);
+          break;
+	}
+      case LESS_OR_EQUAL:
+        if (max_rhs) {
+          Relation_Symbol rel = max_included ? GREATER_OR_EQUAL : GREATER_THAN;
+          seq_var.build(i_constraint(rel, q_max));
+        }
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      case LESS_THAN:
+        if (max_rhs)
+          seq_var.build(i_constraint(GREATER_THAN, q_max));
+        else
+          seq_var.assign(UNIVERSE);
+        break;
+      default:
+        // The NOT_EQUAL case has been already dealt with.
+        PPL_UNREACHABLE;
+        break;
+      }
   }
 
-  // Find the lower bound for a hyperplane with direction
-  // defined by the congruence.
-  Linear_Expression le = Linear_Expression(cg);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
-  bool min_included;
-  bool bounded_below = minimize(le, min_num, min_den, min_included);
-
-  // If there is no lower bound, then some of the hyperplanes defined by
-  // the congruence will strictly intersect the shape.
-  if (!bounded_below)
-    return Poly_Con_Relation::strictly_intersects();
+  else {
+    // The lhs is a constant value, so we just need to add the
+    // appropriate constraint.
+    const Coefficient& inhomo = lhs.inhomogeneous_term();
+    switch (relsym) {
+    case LESS_THAN:
+      refine_with_constraint(inhomo < rhs);
+      break;
+    case LESS_OR_EQUAL:
+      refine_with_constraint(inhomo <= rhs);
+      break;
+    case EQUAL:
+      refine_with_constraint(inhomo == rhs);
+      break;
+    case GREATER_OR_EQUAL:
+      refine_with_constraint(inhomo >= rhs);
+      break;
+    case GREATER_THAN:
+      refine_with_constraint(inhomo > rhs);
+      break;
+    default:
+      // The NOT_EQUAL case has been already dealt with.
+      PPL_UNREACHABLE;
+      break;
+    }
+  }
+  PPL_ASSERT(OK());
+}
 
-  // TODO: Consider adding a max_and_min() method, performing both
-  // maximization and minimization so as to possibly exploit
-  // incrementality of the MIP solver.
+template <typename ITV>
+void
+Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
+                                      const Relation_Symbol relsym,
+                                      const Linear_Expression& rhs) {
+  // Dimension-compatibility checks.
+  // The dimension of `lhs' should not be greater than the dimension
+  // of `*this'.
+  dimension_type lhs_space_dim = lhs.space_dimension();
+  const dimension_type space_dim = space_dimension();
+  if (space_dim < lhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+				 "e1", lhs);
+  // The dimension of `rhs' should not be greater than the dimension
+  // of `*this'.
+  const dimension_type rhs_space_dim = rhs.space_dimension();
+  if (space_dim < rhs_space_dim)
+    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
+				 "e2", rhs);
 
-  // Find the upper bound for a hyperplane with direction
-  // defined by the congruence.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
-  bool max_included;
-  bool bounded_above = maximize(le, max_num, max_den, max_included);
+  // The relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_invalid_argument("generalized_affine_image(e1, r, e2)",
+                           "r is the disequality relation symbol");
 
-  // If there is no upper bound, then some of the hyperplanes defined by
-  // the congruence will strictly intersect the shape.
-  if (!bounded_above)
-    return Poly_Con_Relation::strictly_intersects();
+  // Any image of an empty box is empty.
+  if (marked_empty())
+    return;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+  // For any dimension occurring in the lhs, swap and change the sign
+  // of this component for the rhs and lhs.  Then use these in a call
+  // to generalized_affine_image/3.
+  Linear_Expression revised_lhs = lhs;
+  Linear_Expression revised_rhs = rhs;
+  for (Linear_Expression::const_iterator i = lhs.begin(),
+         i_end = lhs.end(); i != i_end; ++i) {
+    const Variable var = i.variable();
+    PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+    tmp = *i;
+    tmp += rhs.coefficient(var);
+    sub_mul_assign(revised_rhs, tmp, var);
+    sub_mul_assign(revised_lhs, tmp, var);
+  }
+  generalized_affine_image(revised_lhs, relsym, revised_rhs);
+  PPL_ASSERT(OK());
+}
 
-  // Find the position value for the hyperplane that satisfies the congruence
-  // and is above the lower bound for the shape.
-  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  min_value = min_num / min_den;
-  const Coefficient& modulus = cg.modulus();
-  signed_distance = min_value % modulus;
-  min_value -= signed_distance;
-  if (min_value * min_den < min_num)
-    min_value += modulus;
+template <typename ITV>
+template <typename T, typename Iterator>
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
+  if (y.is_empty())
+    return;
 
-  // Find the position value for the hyperplane that satisfies the congruence
-  // and is below the upper bound for the shape.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  max_value = max_num / max_den;
-  signed_distance = max_value % modulus;
-  max_value += signed_distance;
-  if (max_value * max_den > max_num)
-    max_value -= modulus;
+  for (dimension_type i = seq.size(); i-- > 0; )
+    seq[i].CC76_widening_assign(y.seq[i], first, last);
 
-  // If the upper bound value is less than the lower bound value,
-  // then there is an empty intersection with the congruence;
-  // otherwise it will strictly intersect.
-  if (max_value < min_value)
-    return Poly_Con_Relation::is_disjoint();
-  else
-    return Poly_Con_Relation::strictly_intersects();
+  PPL_ASSERT(OK());
 }
 
+template <typename ITV>
 template <typename T>
-Poly_Con_Relation
-Octagonal_Shape<T>::relation_with(const Constraint& c) const {
-  dimension_type c_space_dim = c.space_dimension();
-
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(c)", c);
-
-  // The closure needs to make explicit the implicit constraints.
-  strong_closure_assign();
-
-  if (marked_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
-
-  if (space_dim == 0) {
-    // Trivially false zero-dimensional constraint.
-    if ((c.is_equality() && c.inhomogeneous_term() != 0)
-        || (c.is_inequality() && c.inhomogeneous_term() < 0))
-      return Poly_Con_Relation::is_disjoint();
-    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
-      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
-      // thus, the zero-dimensional point also saturates it.
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_disjoint();
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
+  static typename ITV::boundary_type stop_points[] = {
+    typename ITV::boundary_type(-2),
+    typename ITV::boundary_type(-1),
+    typename ITV::boundary_type(0),
+    typename ITV::boundary_type(1),
+    typename ITV::boundary_type(2)
+  };
 
-    // Trivially true zero-dimensional constraint.
-    else if (c.is_equality() || c.inhomogeneous_term() == 0)
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_included();
-    else
-      // The zero-dimensional point saturates
-      // neither the positivity constraint 1 >= 0,
-      // nor the strict positivity constraint 1 > 0.
-      return Poly_Con_Relation::is_included();
+  Box& x = *this;
+  // If there are tokens available, work on a temporary copy.
+  if (tp != 0 && *tp > 0) {
+    Box<ITV> x_tmp(x);
+    x_tmp.CC76_widening_assign(y, 0);
+    // If the widening was not precise, use one of the available tokens.
+    if (!x.contains(x_tmp))
+      --(*tp);
+    return;
   }
+  x.CC76_widening_assign(y,
+			 stop_points,
+			 stop_points
+			 + sizeof(stop_points)/sizeof(stop_points[0]));
+}
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(c_term);
-  if (!extract_octagonal_difference(c, c_space_dim, num_vars,
-                                    i, j, coeff, c_term)) {
-    // Constraints that are not octagonal differences.
-    // Use maximize() and minimize() to do much of the work.
-
-    // Find the linear expression for the constraint and use that to
-    // find if the expression is bounded from above or below and if it
-    // is, find the maximum and minimum values.
-    Linear_Expression le;
-    for (dimension_type k = c_space_dim; k-- > 0; ) {
-      Variable vk(k);
-      le += c.coefficient(vk) * vk;
-    }
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
-    bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
-    bool min_included;
-    bool bounded_above = maximize(le, max_num, max_den, max_included);
-    bool bounded_below = minimize(le, min_num, min_den, min_included);
-    if (!bounded_above) {
-      if (!bounded_below)
-        return Poly_Con_Relation::strictly_intersects();
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(min_num)) {
-      case 1:
-        if (c.is_equality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::is_included();
-      case 0:
-        if (c.is_strict_inequality() || c.is_equality())
-          return  Poly_Con_Relation::strictly_intersects();
-        return  Poly_Con_Relation::is_included();
-      case -1:
-        return  Poly_Con_Relation::strictly_intersects();
-      }
-    }
-    if (!bounded_below) {
-      max_num += c.inhomogeneous_term() * max_den;
-      switch (sgn(max_num)) {
-      case 1:
-        return  Poly_Con_Relation::strictly_intersects();
-      case 0:
-        if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
-      case -1:
-        return  Poly_Con_Relation::is_disjoint();
-      }
-    }
-    else {
-      max_num += c.inhomogeneous_term() * max_den;
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(max_num)) {
-      case 1:
-        switch (sgn(min_num)) {
-        case 1:
-          if (c.is_equality())
-            return  Poly_Con_Relation::is_disjoint();
-          return  Poly_Con_Relation::is_included();
-        case 0:
-          if (c.is_equality())
-            return  Poly_Con_Relation::strictly_intersects();
-          if (c.is_strict_inequality())
-            return  Poly_Con_Relation::strictly_intersects();
-          return  Poly_Con_Relation::is_included();
-        case -1:
-          return  Poly_Con_Relation::strictly_intersects();
-        }
-     case 0:
-        if (min_num == 0) {
-          if (c.is_strict_inequality())
-            return  Poly_Con_Relation::is_disjoint()
-              && Poly_Con_Relation::saturates();
-          return  Poly_Con_Relation::is_included()
-            && Poly_Con_Relation::saturates();
-        }
-        if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
-      case -1:
-        return  Poly_Con_Relation::is_disjoint();
-      }
-    }
-  }
+template <typename ITV>
+void
+Box<ITV>::get_limiting_box(const Constraint_System& cs,
+                           Box& limiting_box) const {
+  // Private method: the caller has to ensure the following.
+  PPL_ASSERT(cs.space_dimension() <= space_dimension());
 
-  if (num_vars == 0) {
-    // Dealing with a trivial constraint.
-    switch (sgn(c.inhomogeneous_term())) {
-    case -1:
-      return Poly_Con_Relation::is_disjoint();
-    case 0:
-      if (c.is_strict_inequality())
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_included();
-    case 1:
-      if (c.is_equality())
-        return Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::is_included();
+  for (Constraint_System::const_iterator cs_i = cs.begin(),
+         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
+    const Constraint& c = *cs_i;
+    dimension_type c_num_vars = 0;
+    dimension_type c_only_var = 0;
+    // Constraints that are not interval constraints are ignored.
+    if (!Box_Helpers::extract_interval_constraint(c, c_num_vars, c_only_var))
+      continue;
+    // Trivial constraints are ignored.
+    if (c_num_vars != 0) {
+      // c is a non-trivial interval constraint.
+      // add interval constraint to limiting box
+      const Coefficient& n = c.inhomogeneous_term();
+      const Coefficient& d = c.coefficient(Variable(c_only_var));
+      if (interval_relation(seq[c_only_var], c.type(), n, d)
+          == Poly_Con_Relation::is_included())
+        limiting_box.add_interval_constraint_no_check(c_only_var, c.type(),
+                                                      n, d);
     }
   }
+}
 
-  // Select the cell to be checked for the "<=" part of constraint.
-  typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin() + i;
-  typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
-  const N& m_i_j = m_i[j];
-  // Set `coeff' to the absolute value of itself.
-  if (coeff < 0)
-    neg_assign(coeff);
-
-  // Select the cell to be checked for the ">=" part of constraint.
-  // Select the right row of the cell.
-  if (i % 2 == 0)
-    ++i_iter;
-  else
-    --i_iter;
-  typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
-  using namespace Implementation::Octagonal_Shapes;
-  const N& m_ci_cj = m_ci[coherent_index(j)];
-  PPL_DIRTY_TEMP_COEFFICIENT(numer);
-  PPL_DIRTY_TEMP_COEFFICIENT(denom);
-  // The following variables of mpq_class type are used to be precise
-  // when the octagon is defined by integer constraints.
-  PPL_DIRTY_TEMP0(mpq_class, q_x);
-  PPL_DIRTY_TEMP0(mpq_class, q_y);
-  PPL_DIRTY_TEMP0(mpq_class, d);
-  PPL_DIRTY_TEMP0(mpq_class, d1);
-  PPL_DIRTY_TEMP0(mpq_class, c_den);
-  PPL_DIRTY_TEMP0(mpq_class, q_den);
-  assign_r(c_den, coeff, ROUND_NOT_NEEDED);
-  assign_r(d, c_term, ROUND_NOT_NEEDED);
-  neg_assign_r(d1, d, ROUND_NOT_NEEDED);
-  div_assign_r(d, d, c_den, ROUND_NOT_NEEDED);
-  div_assign_r(d1, d1, c_den, ROUND_NOT_NEEDED);
+template <typename ITV>
+void
+Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
+                                            const Constraint_System& cs,
+                                            unsigned* tp) {
+  Box& x = *this;
+  const dimension_type space_dim = x.space_dimension();
 
-  if (is_plus_infinity(m_i_j)) {
-    if (!is_plus_infinity(m_ci_cj)) {
-      // `*this' is in the following form:
-      // `-m_ci_cj <= v - u'.
-      // In this case `*this' is disjoint from `c' if
-      // `-m_ci_cj > d' (`-m_ci_cj >= d' if c is a strict inequality),
-      // i.e. if `m_ci_cj < d1' (`m_ci_cj <= d1' if c is a strict inequality).
-      numer_denom(m_ci_cj, numer, denom);
-      assign_r(q_den, denom, ROUND_NOT_NEEDED);
-      assign_r(q_y, numer, ROUND_NOT_NEEDED);
-      div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
-      if (q_y < d1)
-        return Poly_Con_Relation::is_disjoint();
-      if (q_y == d1 && c.is_strict_inequality())
-        return Poly_Con_Relation::is_disjoint();
-    }
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
+                                 y);
+  // `cs' must be dimension-compatible with the two boxes.
+  const dimension_type cs_space_dim = cs.space_dimension();
+  if (space_dim < cs_space_dim)
+    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
 
-    // In all other cases `*this' intersects `c'.
-    return Poly_Con_Relation::strictly_intersects();
-  }
+  // The limited CC76-extrapolation between two boxes in a
+  // zero-dimensional space is also a zero-dimensional box
+  if (space_dim == 0)
+    return;
 
-  // Here `m_i_j' is not plus-infinity.
-  numer_denom(m_i_j, numer, denom);
-  assign_r(q_den, denom, ROUND_NOT_NEEDED);
-  assign_r(q_x, numer, ROUND_NOT_NEEDED);
-  div_assign_r(q_x, q_x, q_den, ROUND_NOT_NEEDED);
+  // Assume `y' is contained in or equal to `*this'.
+  PPL_EXPECT_HEAVY(copy_contains(*this, y));
 
-  if (!is_plus_infinity(m_ci_cj)) {
-    numer_denom(m_ci_cj, numer, denom);
-    assign_r(q_den, denom, ROUND_NOT_NEEDED);
-    assign_r(q_y, numer, ROUND_NOT_NEEDED);
-    div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
-    if (q_x == d && q_y == d1) {
-      if (c.is_strict_inequality())
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_included();
-    }
-    // `*this' is disjoint from `c' when
-    // `m_ci_cj < d1' (`m_ci_cj <= d1' if `c' is a strict inequality).
-    if (q_y < d1)
-      return Poly_Con_Relation::is_disjoint();
-    if (q_y == d1 && c.is_strict_inequality())
-      return Poly_Con_Relation::is_disjoint();
-  }
+  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
+  if (marked_empty())
+    return;
+  // If `y' is empty, we return.
+  if (y.marked_empty())
+    return;
 
-  // Here `m_ci_cj' can be also plus-infinity.
-  // If `c' is an equality, `*this' is disjoint from `c' if
-  // `m_i_j < d'.
-  if (d > q_x) {
-    if (c.is_equality())
-      return Poly_Con_Relation::is_disjoint();
-    else
-      return Poly_Con_Relation::is_included();
-  }
+  // Build a limiting box using all the constraints in cs
+  // that are satisfied by *this.
+  Box limiting_box(space_dim, UNIVERSE);
+  get_limiting_box(cs, limiting_box);
 
-  if (d == q_x && c.is_nonstrict_inequality())
-    return Poly_Con_Relation::is_included();
+  x.CC76_widening_assign(y, tp);
 
-  // In all other cases `*this' intersects `c'.
-  return Poly_Con_Relation::strictly_intersects();
+  // Intersect the widened box with the limiting box.
+  intersection_assign(limiting_box);
 }
 
+template <typename ITV>
 template <typename T>
-Poly_Gen_Relation
-Octagonal_Shape<T>::relation_with(const Generator& g) const {
-  const dimension_type g_space_dim = g.space_dimension();
+typename Enable_If<Is_Same<T, Box<ITV> >::value
+                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
+                   void>::type
+Box<ITV>::CC76_narrowing_assign(const T& y) {
+  const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
-  if (space_dim < g_space_dim)
-    throw_dimension_incompatible("relation_with(g)", g);
-
-  // The closure needs to make explicit the implicit constraints and if the
-  // octagon is empty.
-  strong_closure_assign();
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-  // The empty octagon cannot subsume a generator.
-  if (marked_empty())
-    return Poly_Gen_Relation::nothing();
+  // Assume `*this' is contained in or equal to `y'.
+  PPL_EXPECT_HEAVY(copy_contains(y, *this));
 
-  // A universe octagon in a zero-dimensional space subsumes
-  // all the generators of a zero-dimensional space.
+  // If both boxes are zero-dimensional,
+  // since `y' contains `*this', we simply return `*this'.
   if (space_dim == 0)
-    return Poly_Gen_Relation::subsumes();
-
-  const bool is_line = g.is_line();
-  const bool is_line_or_ray = g.is_line_or_ray();
+    return;
 
-  // The relation between the octagon and the given generator is obtained
-  // checking if the generator satisfies all the constraints in the octagon.
-  // To check if the generator satisfies all the constraints it's enough
-  // studying the sign of the scalar product between the generator and
-  // all the constraints in the octagon.
+  // If `y' is empty, since `y' contains `this', `*this' is empty too.
+  if (y.is_empty())
+    return;
+  // If `*this' is empty, we return.
+  if (is_empty())
+    return;
 
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  // Replace each constraint in `*this' by the corresponding constraint
+  // in `y' if the corresponding inhomogeneous terms are both finite.
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    ITV& x_i = seq[i];
+    const ITV& y_i = y.seq[i];
+    if (!x_i.lower_is_boundary_infinity()
+	&& !y_i.lower_is_boundary_infinity()
+	&& x_i.lower() != y_i.lower())
+      x_i.lower() = y_i.lower();
+    if (!x_i.upper_is_boundary_infinity()
+	&& !y_i.upper_is_boundary_infinity()
+	&& x_i.upper() != y_i.upper())
+      x_i.upper() = y_i.upper();
+  }
+  PPL_ASSERT(OK());
+}
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const Row_Iterator m_end = matrix.row_end();
+template <typename ITV>
+Constraint_System
+Box<ITV>::constraints() const {
+  const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  PPL_DIRTY_TEMP_COEFFICIENT(product);
+  if (space_dim == 0) {
+    if (marked_empty())
+      cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
 
-  // We find in `*this' all the constraints.
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; i_iter += 2) {
-    dimension_type i = i_iter.index();
-    Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
-    const N& m_i_ii = m_i[i+1];
-    const N& m_ii_i = m_ii[i];
-    // We have the unary constraints.
-    const Variable x(i/2);
-    const Coefficient& g_coeff_x
-      = (x.space_dimension() > g_space_dim)
-      ? Coefficient_zero()
-      : g.coefficient(x);
-    if (is_additive_inverse(m_i_ii, m_ii_i)) {
-      // The constraint has form ax = b.
-      // To satisfy the constraint it's necessary that the scalar product
-      // is not zero. The scalar product has the form:
-      // 'den * g_coeff_x - num * g.divisor()'.
-      numer_denom(m_ii_i, num, den);
-      den *= 2;
-      product = den * g_coeff_x;
-      // Note that if the generator `g' is a line or a ray,
-      // its divisor is zero.
-      if (!is_line_or_ray) {
-        neg_assign(num);
-        add_mul_assign(product, num, g.divisor());
-      }
-      if (product != 0)
-        return Poly_Gen_Relation::nothing();
+  if (marked_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
+
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k >= n);
+      else
+        cs.insert(d * v_k > n);
     }
-    // We have 0, 1 or 2 inequality constraints.
-    else {
-      if (!is_plus_infinity(m_i_ii)) {
-        // The constraint has form -ax <= b.
-        // If the generator is a line it's necessary to check if
-        // the scalar product is not zero, if it is positive otherwise.
-        numer_denom(m_i_ii, num, den);
-        den *= -2;
-        product = den * g_coeff_x;
-        // Note that if the generator `g' is a line or a ray,
-        // its divisor is zero.
-        if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
-        }
-        if (is_line && product != 0)
-          return Poly_Gen_Relation::nothing();
-        else
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive and the scalar
-          // product has the form:
-          // '-den * g.coeff_x - num * g.divisor()'.
-          if (product > 0)
-            return Poly_Gen_Relation::nothing();
-      }
-      if (!is_plus_infinity(m_ii_i)) {
-        // The constraint has form ax <= b.
-        numer_denom(m_ii_i, num, den);
-        den *= 2;
-        product = den * g_coeff_x;
-         // Note that if the generator `g' is a line or a ray,
-        // its divisor is zero.
-        if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num , g.divisor());
-        }
-        if (is_line && product != 0)
-          return Poly_Gen_Relation::nothing();
-        else
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive and the scalar
-          // product has the form:
-          // 'den * g_coeff_x - num * g.divisor()'.
-          if (product > 0)
-            return Poly_Gen_Relation::nothing();
-      }
+    if (has_upper_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k <= n);
+      else
+        cs.insert(d * v_k < n);
     }
   }
+  return cs;
+}
 
-  // We have the binary constraints.
-  for (Row_Iterator i_iter = m_begin ; i_iter != m_end; i_iter += 2) {
-    dimension_type i = i_iter.index();
-    Row_Reference m_i = *i_iter;
-    Row_Reference m_ii = *(i_iter+1);
-    for (dimension_type j = 0; j < i; j += 2) {
-      const N& m_i_j = m_i[j];
-      const N& m_ii_jj = m_ii[j+1];
-      const N& m_ii_j = m_ii[j];
-      const N& m_i_jj = m_i[j+1];
-      const Variable x(j/2);
-      const Variable y(i/2);
-      const Coefficient& g_coeff_x
-        = (x.space_dimension() > g_space_dim)
-        ? Coefficient_zero()
-        : g.coefficient(x);
-      const Coefficient& g_coeff_y
-        = (y.space_dimension() > g_space_dim)
-        ? Coefficient_zero()
-        : g.coefficient(y);
+template <typename ITV>
+Constraint_System
+Box<ITV>::minimized_constraints() const {
+  const dimension_type space_dim = space_dimension();
+  Constraint_System cs;
+  cs.set_space_dimension(space_dim);
 
-      const bool difference_is_equality = is_additive_inverse(m_ii_jj, m_i_j);
-      if (difference_is_equality) {
-        // The constraint has form ax - ay = b.
-        // The scalar product has the form
-        // 'den * coeff_x - den * coeff_y - num * g.divisor()'.
-        // To satisfy the constraint it's necessary that the scalar product
-        // is not zero.
-        numer_denom(m_i_j, num, den);
-        product = den * g_coeff_x;
-        neg_assign(den);
-        add_mul_assign(product, den, g_coeff_y);
-        // Note that if the generator `g' is a line or a ray,
-        // its divisor is zero.
-        if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
-        }
-        if (product != 0)
-          return Poly_Gen_Relation::nothing();
-      }
-      else {
-        if (!is_plus_infinity(m_i_j)) {
-          // The constraint has form ax - ay <= b.
-          // The scalar product has the form
-          // 'den * coeff_x - den * coeff_y - num * g.divisor()'.
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive.
-          numer_denom(m_i_j, num, den);
-          product = den * g_coeff_x;
-          neg_assign(den);
-          add_mul_assign(product, den, g_coeff_y);
-          // Note that if the generator `g' is a line or a ray,
-          // its divisor is zero.
-          if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
-          }
-          if (is_line && product != 0)
-            return Poly_Gen_Relation::nothing();
-          else if (product > 0)
-            return Poly_Gen_Relation::nothing();
-        }
-        if (!is_plus_infinity(m_ii_jj)) {
-          // The constraint has form -ax + ay <= b.
-          // The scalar product has the form
-          // '-den * coeff_x + den * coeff_y - num * g.divisor()'.
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive.
-          numer_denom(m_ii_jj, num, den);
-          product = den * g_coeff_y;
-          neg_assign(den);
-          add_mul_assign(product, den, g_coeff_x);
-          // Note that if the generator `g' is a line or a ray,
-          // its divisor is zero.
-          if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
-          }
-          if (is_line && product != 0)
-            return Poly_Gen_Relation::nothing();
-          else if (product > 0)
-            return Poly_Gen_Relation::nothing();
-        }
-      }
+  if (space_dim == 0) {
+    if (marked_empty())
+      cs = Constraint_System::zero_dim_empty();
+    return cs;
+  }
 
-      const bool sum_is_equality = is_additive_inverse(m_i_jj, m_ii_j);
-      if (sum_is_equality) {
-        // The constraint has form ax + ay = b.
-        // The scalar product has the form
-        // 'den * coeff_x + den * coeff_y - num * g.divisor()'.
-        // To satisfy the constraint it's necessary that the scalar product
-        // is not zero.
-        numer_denom(m_ii_j, num, den);
-        product = den * g_coeff_x;
-        add_mul_assign(product, den, g_coeff_y);
-        // Note that if the generator `g' is a line or a ray,
-        // its divisor is zero.
-        if (!is_line_or_ray) {
-          neg_assign(num);
-          add_mul_assign(product, num, g.divisor());
-        }
-        if (product != 0)
-          return Poly_Gen_Relation::nothing();
-      }
-      else {
-        if (!is_plus_infinity(m_i_jj)) {
-          // The constraint has form -ax - ay <= b.
-          // The scalar product has the form
-          // '-den * coeff_x - den * coeff_y - num * g.divisor()'.
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive.
-          numer_denom(m_i_jj, num, den);
-          neg_assign(den);
-          product = den * g_coeff_x;
-          add_mul_assign(product, den, g_coeff_y);
-          // Note that if the generator `g' is a line or a ray,
-          // its divisor is zero.
-          if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
-          }
-          if (is_line && product != 0)
-            return Poly_Gen_Relation::nothing();
-          else if (product > 0)
-            return Poly_Gen_Relation::nothing();
-        }
-        if (!is_plus_infinity(m_ii_j)) {
-          // The constraint has form ax + ay <= b.
-          // The scalar product has the form
-          // 'den * coeff_x + den * coeff_y - num * g.divisor()'.
-          // If the generator is not a line it's necessary to check
-          // that the scalar product sign is not positive.
-          numer_denom(m_ii_j, num, den);
-          product = den * g_coeff_x;
-          add_mul_assign(product, den, g_coeff_y);
-          // Note that if the generator `g' is a line or a ray,
-          // its divisor is zero.
-          if (!is_line_or_ray) {
-            neg_assign(num);
-            add_mul_assign(product, num, g.divisor());
-          }
-          if (is_line && product != 0)
-            return Poly_Gen_Relation::nothing();
-          else if (product > 0)
-            return Poly_Gen_Relation::nothing();
+  // Make sure emptiness is detected.
+  if (is_empty()) {
+    cs.insert(Constraint::zero_dim_false());
+    return cs;
+  }
+
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed)) {
+      if (closed)
+        // Make sure equality constraints are detected.
+        if (seq[k].is_singleton()) {
+          cs.insert(d * v_k == n);
+          continue;
         }
-      }
+        else
+          cs.insert(d * v_k >= n);
+      else
+        cs.insert(d * v_k > n);
+    }
+    if (has_upper_bound(v_k, n, d, closed)) {
+      if (closed)
+        cs.insert(d * v_k <= n);
+      else
+        cs.insert(d * v_k < n);
     }
   }
-  // If this point is reached the constraint 'g' satisfies
-  // all the constraints in the octagon.
-  return Poly_Gen_Relation::subsumes();
+  return cs;
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::strong_closure_assign() const {
-  // Do something only if necessary (zero-dim implies strong closure).
-  if (marked_empty() || marked_strongly_closed() || space_dim == 0)
-    return;
-
-  // Even though the octagon will not change, its internal representation
-  // is going to be modified by the closure algorithm.
-  Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
+template <typename ITV>
+Congruence_System
+Box<ITV>::congruences() const {
+  const dimension_type space_dim = space_dimension();
+  Congruence_System cgs(space_dim);
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  if (space_dim == 0) {
+    if (marked_empty())
+      cgs = Congruence_System::zero_dim_empty();
+    return cgs;
+  }
 
-  const dimension_type n_rows = x.matrix.num_rows();
-  const Row_Iterator m_begin = x.matrix.row_begin();
-  const Row_Iterator m_end = x.matrix.row_end();
+  // Make sure emptiness is detected.
+  if (is_empty()) {
+    cgs.insert(Congruence::zero_dim_false());
+    return cgs;
+  }
 
-  // Fill the main diagonal with zeros.
-  for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
-    assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
+  for (dimension_type k = 0; k < space_dim; ++k) {
+    const Variable v_k = Variable(k);
+    PPL_DIRTY_TEMP(Coefficient, n);
+    PPL_DIRTY_TEMP(Coefficient, d);
+    bool closed = false;
+    if (has_lower_bound(v_k, n, d, closed) && closed)
+      // Make sure equality congruences are detected.
+      if (seq[k].is_singleton())
+        cgs.insert((d * v_k %= n) / 0);
   }
+  return cgs;
+}
 
-  // This algorithm is given by two steps: the first one is a simple
-  // adaptation of the `shortest-path closure' using the Floyd-Warshall
-  // algorithm; the second one is the `strong-coherence' algorithm.
-  // It is important to note that after the strong-coherence,
-  // the octagon is still shortest-path closed and hence, strongly closed.
+template <typename ITV>
+memory_size_type
+Box<ITV>::external_memory_in_bytes() const {
+  memory_size_type n = seq.capacity() * sizeof(ITV);
+  for (dimension_type k = seq.size(); k-- > 0; )
+    n += seq[k].external_memory_in_bytes();
+  return n;
+}
 
-  // Recall that, given an index `h', we indicate with `ch' the coherent
-  // index, i.e., the index such that:
-  //   ch = h + 1, if h is an even number;
-  //   ch = h - 1, if h is an odd number.
+/*! \relates Parma_Polyhedra_Library::Box */
+template <typename ITV>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const Box<ITV>& box) {
+  if (box.is_empty())
+    s << "false";
+  else if (box.is_universe())
+    s << "true";
+  else
+    for (dimension_type k = 0,
+	   space_dim = box.space_dimension(); k < space_dim; ) {
+      s << Variable(k) << " in " << box[k];
+      ++k;
+      if (k < space_dim)
+	s << ", ";
+      else
+	break;
+    }
+  return s;
+}
 
-  typename OR_Matrix<N>::element_iterator iter_ij;
-  std::vector<N> vec_k(n_rows);
-  std::vector<N> vec_ck(n_rows);
-  PPL_DIRTY_TEMP(N, sum1);
-  PPL_DIRTY_TEMP(N, sum2);
-  Row_Reference x_k;
-  Row_Reference x_ck;
-  Row_Reference x_i;
-  Row_Reference x_ci;
+template <typename ITV>
+void
+Box<ITV>::ascii_dump(std::ostream& s) const {
+  const char separator = ' ';
+  status.ascii_dump(s);
+  const dimension_type space_dim = space_dimension();
+  s << "space_dim" << separator << space_dim;
+  s << "\n";
+  for (dimension_type i = 0; i < space_dim;  ++i)
+    seq[i].ascii_dump(s);
+}
 
-  // Since the index `j' of the inner loop will go from 0 up to `i',
-  // the three nested loops have to be executed twice.
-  for (int twice = 0; twice < 2; ++twice) {
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(ITV, Box<ITV>)
 
-    Row_Iterator x_k_iter = m_begin;
-    Row_Iterator x_i_iter = m_begin;
-    for (dimension_type k = 0; k < n_rows; k += 2) {
-      const dimension_type ck = k+1;
-      // Re-initialize the element iterator.
-      iter_ij = x.matrix.element_begin();
-      // Compute the row references `x_k' and `x_ck'.
-      x_k  = *x_k_iter;
-      ++x_k_iter;
-      x_ck = *x_k_iter;
-      ++x_k_iter;
+template <typename ITV>
+bool
+Box<ITV>::ascii_load(std::istream& s) {
+  if (!status.ascii_load(s))
+    return false;
 
-      for (dimension_type i = 0; i <= k; i += 2) {
-        const dimension_type ci = i+1;
-        // Storing x_k_i == x_ci_ck.
-        vec_k[i] = x_k[i];
-        // Storing x_k_ci == x_i_ck.
-        vec_k[ci] = x_k[ci];
-        // Storing x_ck_i == x_ci_k.
-        vec_ck[i] = x_ck[i];
-        // Storing x_ck_ci == x_i_k.
-        vec_ck[ci] = x_ck[ci];
-      }
-      x_i_iter = x_k_iter;
-      for (dimension_type i = k+2; i < n_rows; i += 2) {
-        const dimension_type ci = i+1;
-        x_i = *x_i_iter;
-        ++x_i_iter;
-        x_ci = *x_i_iter;
-        ++x_i_iter;
-        // Storing x_k_i == x_ci_ck.
-        vec_k[i] = x_ci[ck];
-        // Storing x_k_ci == x_i_ck.
-        vec_k[ci] = x_i[ck];
-        // Storing x_ck_i == x_ci_k.
-        vec_ck[i] = x_ci[k];
-        // Storing x_ck_ci == x_i_k.
-        vec_ck[ci] = x_i[k];
-      }
+  std::string str;
+  dimension_type space_dim;
+  if (!(s >> str) || str != "space_dim")
+    return false;
+  if (!(s >> space_dim))
+    return false;
 
-      for (dimension_type i = 0; i < n_rows; ++i) {
-        using namespace Implementation::Octagonal_Shapes;
-        const dimension_type ci = coherent_index(i);
-        const N& vec_k_ci = vec_k[ci];
-        const N& vec_ck_ci = vec_ck[ci];
-        // Unfolding two iterations on `j': this ensures that
-        // the loop exit condition `j <= i' is OK.
-        for (dimension_type j = 0; j <= i; ) {
-          // First iteration:
-          // sum1 = x_i_k + x_k_j == x_ck_ci + x_k_j;
-          // sum2 = x_i_ck + x_ck_j == x_k_ci + x_ck_j.
-          add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP);
-          add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP);
-          min_assign(sum1, sum2);
-          min_assign(*iter_ij, sum1);
-          // Exiting the first iteration: loop index control.
-          ++j;
-          ++iter_ij;
-          // Second iteration: ditto.
-          add_assign_r(sum1, vec_ck_ci, vec_k[j], ROUND_UP);
-          add_assign_r(sum2, vec_k_ci, vec_ck[j], ROUND_UP);
-          min_assign(sum1, sum2);
-          min_assign(*iter_ij, sum1);
-          // Exiting the second iteration: loop index control.
-          ++j;
-          ++iter_ij;
-        }
-      }
-    }
+  seq.clear();
+  ITV seq_i;
+  for (dimension_type i = 0; i < space_dim;  ++i) {
+    if (seq_i.ascii_load(s))
+      seq.push_back(seq_i);
+    else
+      return false;
   }
 
-  // Check for emptiness: the octagon is empty if and only if there is a
-  // negative value in the main diagonal.
-  for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    N& x_i_i = (*i)[i.index()];
-    if (sgn(x_i_i) < 0) {
-      x.set_empty();
-      return;
-    }
-    else {
-      PPL_ASSERT(sgn(x_i_i) == 0);
-      // Restore PLUS_INFINITY on the main diagonal.
-      assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    }
-  }
+  // Check invariants.
+  PPL_ASSERT(OK());
+  return true;
+}
 
-  // Step 2: we enforce the strong coherence.
-  x.strong_coherence_assign();
-  // The octagon is not empty and it is now strongly closed.
-  x.set_strongly_closed();
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Box& y) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << this->space_dimension()
+    << ", y->space_dimension() == " << y.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::strong_coherence_assign() {
-  // The strong-coherence is: for every indexes i and j
-  // m_i_j <= (m_i_ci + m_cj_j)/2
-  // where ci = i + 1, if i is even number or
-  //       ci = i - 1, if i is odd.
-  // Ditto for cj.
-  PPL_DIRTY_TEMP(N, semi_sum);
-  for (typename OR_Matrix<N>::row_iterator i_iter = matrix.row_begin(),
-         i_end = matrix.row_end(); i_iter != i_end; ++i_iter) {
-    typename OR_Matrix<N>::row_reference_type x_i = *i_iter;
-    const dimension_type i = i_iter.index();
-    using namespace Implementation::Octagonal_Shapes;
-    const N& x_i_ci = x_i[coherent_index(i)];
-    // Avoid to do unnecessary sums.
-    if (!is_plus_infinity(x_i_ci))
-      for (dimension_type j = 0, rs_i = i_iter.row_size(); j < rs_i; ++j)
-        if (i != j) {
-          const N& x_cj_j = matrix[coherent_index(j)][j];
-          if (!is_plus_infinity(x_cj_j)) {
-            add_assign_r(semi_sum, x_i_ci, x_cj_j, ROUND_UP);
-            div_2exp_assign_r(semi_sum, semi_sum, 1, ROUND_UP);
-            min_assign(x_i[j], semi_sum);
-          }
-        }
-  }
+Box<ITV>
+::throw_dimension_incompatible(const char* method,
+			       dimension_type required_dim) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", required dimension == " << required_dim << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Constraint& c) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", c->space_dimension == " << c.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Congruence& cg) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", cg->space_dimension == " << cg.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Constraint_System& cs) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", cs->space_dimension == " << cs.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
+
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Congruence_System& cgs) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", cgs->space_dimension == " << cgs.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::tight_coherence_would_make_empty() const {
-  PPL_ASSERT(std::numeric_limits<N>::is_integer);
-  PPL_ASSERT(marked_strongly_closed());
-  const dimension_type space_dim = space_dimension();
-  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-    const dimension_type ci = i+1;
-    const N& mat_i_ci = matrix[i][ci];
-    if (!is_plus_infinity(mat_i_ci)
-        // Check for oddness of `mat_i_ci'.
-        && !is_even(mat_i_ci)
-        // Check for zero-equivalence of `i' and `ci'.
-        && is_additive_inverse(mat_i_ci, matrix[ci][i]))
-      return true;
-  }
-  return false;
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const Generator& g) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", g->space_dimension == " << g.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>::tight_closure_assign() {
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
-                         "Octagonal_Shape<T>::tight_closure_assign():"
-                         " T in not an integer datatype.");
-  // FIXME: this is just an executable specification.
-  // (The following call could be replaced by shortest-path closure.)
-  strong_closure_assign();
-  if (marked_empty())
-    return;
-  if (tight_coherence_would_make_empty())
-    set_empty();
-  else {
-    // Tighten the unary constraints.
-    PPL_DIRTY_TEMP(N, temp_one);
-    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
-    const dimension_type space_dim = space_dimension();
-    for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-      const dimension_type ci = i+1;
-      N& mat_i_ci = matrix[i][ci];
-      if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci))
-        sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
-      N& mat_ci_i = matrix[ci][i];
-      if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i))
-        sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
-    }
-    // Propagate tightened unary constraints.
-    strong_coherence_assign();
-  }
-  PPL_ASSERT(OK());
+Box<ITV>::throw_constraint_incompatible(const char* method) {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "the constraint is incompatible.";
+  throw std::invalid_argument(s.str());
 }
 
-template <typename T>
+template <typename ITV>
 void
-Octagonal_Shape<T>
-::incremental_strong_closure_assign(const Variable var) const {
-  // `var' should be one of the dimensions of the octagon.
-  if (var.id() >= space_dim)
-    throw_dimension_incompatible("incremental_strong_closure_assign(v)",
-                                 var.id());
+Box<ITV>::throw_expression_too_complex(const char* method,
+                                       const Linear_Expression& le) {
+  using namespace IO_Operators;
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << le << " is too complex.";
+  throw std::invalid_argument(s.str());
+}
 
-  // Do something only if necessary.
-  if (marked_empty() || marked_strongly_closed())
-    return;
+template <typename ITV>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const char* le_name,
+                                       const Linear_Expression& le) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << le_name << "->space_dimension() == "
+    << le.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
+template <typename ITV>
+template <typename C>
+void
+Box<ITV>::throw_dimension_incompatible(const char* method,
+                                       const char* lf_name,
+                                       const Linear_Form<C>& lf) const {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":\n"
+    << "this->space_dimension() == " << space_dimension()
+    << ", " << lf_name << "->space_dimension() == "
+    << lf.space_dimension() << ".";
+  throw std::invalid_argument(s.str());
+}
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+template <typename ITV>
+void
+Box<ITV>::throw_invalid_argument(const char* method, const char* reason) {
+  std::ostringstream s;
+  s << "PPL::Box::" << method << ":" << std::endl
+    << reason;
+  throw std::invalid_argument(s.str());
+}
 
-  const Row_Iterator m_begin = x.matrix.row_begin();
-  const Row_Iterator m_end = x.matrix.row_end();
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Box */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Specialization,
+	  typename Temp, typename To, typename ITV>
+bool
+l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
+		    const Box<ITV>& x, const Box<ITV>& y,
+		    const Rounding_Dir dir,
+		    Temp& tmp0, Temp& tmp1, Temp& tmp2) {
+  const dimension_type x_space_dim = x.space_dimension();
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    return false;
 
-  // Fill the main diagonal with zeros.
-  for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    PPL_ASSERT(is_plus_infinity((*i)[i.index()]));
-    assign_r((*i)[i.index()], 0, ROUND_NOT_NEEDED);
+  // Zero-dim boxes are equal if and only if they are both empty or universe.
+  if (x_space_dim == 0) {
+    if (x.marked_empty() == y.marked_empty())
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+    else
+      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    return true;
   }
 
-  // Using the incremental Floyd-Warshall algorithm.
-  // Step 1: Improve all constraints on variable `var'.
-  const dimension_type v = 2*var.id();
-  const dimension_type cv = v+1;
-  Row_Iterator v_iter = m_begin + v;
-  Row_Iterator cv_iter = v_iter + 1;
-  Row_Reference x_v = *v_iter;
-  Row_Reference x_cv = *cv_iter;
-  const dimension_type rs_v = v_iter.row_size();
-  const dimension_type n_rows = x.matrix.num_rows();
-  PPL_DIRTY_TEMP(N, sum);
-  using namespace Implementation::Octagonal_Shapes;
-  for (Row_Iterator k_iter = m_begin; k_iter != m_end; ++k_iter) {
-    const dimension_type k = k_iter.index();
-    const dimension_type ck = coherent_index(k);
-    const dimension_type rs_k = k_iter.row_size();
-    Row_Reference x_k = *k_iter;
-    Row_Reference x_ck = (k % 2 != 0) ? *(k_iter-1) : *(k_iter+1);
-
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
-      const dimension_type i = i_iter.index();
-      const dimension_type ci = coherent_index(i);
-      const dimension_type rs_i = i_iter.row_size();
-      Row_Reference x_i = *i_iter;
-      Row_Reference x_ci = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
-
-      const N& x_i_k = (k < rs_i) ? x_i[k] : x_ck[ci];
-      if (!is_plus_infinity(x_i_k)) {
-        const N& x_k_v = (v < rs_k) ? x_k[v] : x_cv[ck];
-        if (!is_plus_infinity(x_k_v)) {
-          add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
-          N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci];
-          min_assign(x_i_v, sum);
-        }
-        const N& x_k_cv = (cv < rs_k) ? x_k[cv] : x_v[ck];
-        if (!is_plus_infinity(x_k_cv)) {
-          add_assign_r(sum, x_i_k, x_k_cv, ROUND_UP);
-          N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci];
-          min_assign(x_i_cv, sum);
-        }
-      }
-      const N& x_k_i = (i < rs_k) ? x_k[i] : x_ci[ck];
-      if (!is_plus_infinity(x_k_i)) {
-        const N& x_v_k = (k < rs_v) ? x_v[k] : x_ck[cv];
-        if (!is_plus_infinity(x_v_k)) {
-          N& x_v_i = (i < rs_v) ? x_v[i] : x_ci[cv];
-          add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
-          min_assign(x_v_i, sum);
-        }
-        const N& x_cv_k = (k < rs_v) ? x_cv[k] : x_ck[v];
-        if (!is_plus_infinity(x_cv_k)) {
-          N& x_cv_i = (i < rs_v) ? x_cv[i] : x_ci[v];
-          add_assign_r(sum, x_cv_k, x_k_i, ROUND_UP);
-          min_assign(x_cv_i, sum);
-        }
-      }
-
+  // The distance computation requires a check for emptiness.
+  (void) x.is_empty();
+  (void) y.is_empty();
+  // If one of two boxes is empty, then they are equal if and only if
+  // the other box is empty too.
+  if (x.marked_empty() || y.marked_empty()) {
+    if (x.marked_empty() == y.marked_empty()) {
+      assign_r(r, 0, ROUND_NOT_NEEDED);
+      return true;
     }
+    else
+      goto pinf;
   }
 
-  // Step 2: improve the other bounds by using the precise bounds
-  // for the constraints on `var'.
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ++i_iter) {
-    const dimension_type i = i_iter.index();
-    const dimension_type ci = coherent_index(i);
-    const dimension_type rs_i = i_iter.row_size();
-    Row_Reference x_i = *i_iter;
-    const N& x_i_v = (v < rs_i) ? x_i[v] : x_cv[ci];
-    // TODO: see if it is possible to optimize this inner loop
-    // by splitting it into several parts, so as to avoid
-    // conditional expressions.
-    for (dimension_type j = 0; j < n_rows; ++j) {
-      const dimension_type cj = coherent_index(j);
-      Row_Reference x_cj = *(m_begin+cj);
-      N& x_i_j = (j < rs_i) ? x_i[j] : x_cj[ci];
-      if (!is_plus_infinity(x_i_v)) {
-        const N& x_v_j = (j < rs_v) ? x_v[j] : x_cj[cv];
-        if (!is_plus_infinity(x_v_j)) {
-          add_assign_r(sum, x_i_v, x_v_j, ROUND_UP);
-          min_assign(x_i_j, sum);
-        }
+  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
+  for (dimension_type i = x_space_dim; i-- > 0; ) {
+    const ITV& x_i = x.seq[i];
+    const ITV& y_i = y.seq[i];
+    // Dealing with the lower bounds.
+    if (x_i.lower_is_boundary_infinity()) {
+      if (!y_i.lower_is_boundary_infinity())
+	goto pinf;
+    }
+    else if (y_i.lower_is_boundary_infinity())
+      goto pinf;
+    else {
+      const Temp* tmp1p;
+      const Temp* tmp2p;
+      if (x_i.lower() > y_i.lower()) {
+	maybe_assign(tmp1p, tmp1, x_i.lower(), dir);
+	maybe_assign(tmp2p, tmp2, y_i.lower(), inverse(dir));
       }
-      const N& x_i_cv = (cv < rs_i) ? x_i[cv] : x_v[ci];
-      if (!is_plus_infinity(x_i_cv)) {
-        const N& x_cv_j = (j < rs_v) ? x_cv[j] : x_cj[v];
-        if (!is_plus_infinity(x_cv_j)) {
-          add_assign_r(sum, x_i_cv, x_cv_j, ROUND_UP);
-          min_assign(x_i_j, sum);
-        }
+      else {
+	maybe_assign(tmp1p, tmp1, y_i.lower(), dir);
+	maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir));
       }
+      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+      PPL_ASSERT(sgn(tmp1) >= 0);
+      Specialization::combine(tmp0, tmp1, dir);
     }
-  }
-
-  // Check for emptiness: the octagon is empty if and only if there is a
-  // negative value on the main diagonal.
-  for (Row_Iterator i = m_begin; i != m_end; ++i) {
-    N& x_i_i = (*i)[i.index()];
-    if (sgn(x_i_i) < 0) {
-      x.set_empty();
-      return;
-    }
+    // Dealing with the lower bounds.
+    if (x_i.upper_is_boundary_infinity())
+      if (y_i.upper_is_boundary_infinity())
+	continue;
+      else
+	goto pinf;
+    else if (y_i.upper_is_boundary_infinity())
+      goto pinf;
     else {
-      // Restore PLUS_INFINITY on the main diagonal.
-      PPL_ASSERT(sgn(x_i_i) == 0);
-      assign_r(x_i_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
+      const Temp* tmp1p;
+      const Temp* tmp2p;
+      if (x_i.upper() > y_i.upper()) {
+	maybe_assign(tmp1p, tmp1, x_i.upper(), dir);
+	maybe_assign(tmp2p, tmp2, y_i.upper(), inverse(dir));
+      }
+      else {
+	maybe_assign(tmp1p, tmp1, y_i.upper(), dir);
+	maybe_assign(tmp2p, tmp2, x_i.upper(), inverse(dir));
+      }
+      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
+      PPL_ASSERT(sgn(tmp1) >= 0);
+      Specialization::combine(tmp0, tmp1, dir);
     }
   }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
 
-  // Step 3: we enforce the strong coherence.
-  x.strong_coherence_assign();
-  // The octagon is not empty and it is now strongly closed.
-  x.set_strongly_closed();
+ pinf:
+  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+  return true;
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::compute_successors(std::vector<dimension_type>& successor) const {
-  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
-  PPL_ASSERT(successor.size() == 0);
-  // Variables are ordered according to their index.
-  // The vector `successor' is used to indicate which variable
-  // immediately follows a given one in the corresponding equivalence class.
-  const dimension_type successor_size = matrix.num_rows();
-  // Initially, each variable is successor of its own zero-equivalence class.
-  successor.reserve(successor_size);
-  for (dimension_type i = 0; i < successor_size; ++i)
-    successor.push_back(i);
-  // Now compute actual successors.
-  for (dimension_type i = successor_size; i-- > 0; )  {
-    typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin()+i;
-    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
-    typename OR_Matrix<N>::const_row_reference_type m_ci
-      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
-    for (dimension_type j = 0; j < i; ++j) {
-      // FIXME: what is the following, commented-out for?
-    //for (dimension_type j = i; j-- > 0; ) {
-      using namespace Implementation::Octagonal_Shapes;
-      dimension_type cj = coherent_index(j);
-      if (is_additive_inverse(m_ci[cj], m_i[j]))
-        // Choose as successor the variable having the greatest index.
-        successor[j] = i;
-    }
-  }
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::compute_leaders(std::vector<dimension_type>& leaders) const {
-  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
-  PPL_ASSERT(leaders.size() == 0);
-  // Variables are ordered according to their index.
-  // The vector `leaders' is used to indicate the smallest variable
-  // that belongs to the corresponding equivalence class.
-  const dimension_type leader_size = matrix.num_rows();
-  // Initially, each variable is leader of its own zero-equivalence class.
-  leaders.reserve(leader_size);
-  for (dimension_type i = 0; i < leader_size; ++i)
-    leaders.push_back(i);
-  // Now compute actual leaders.
-  for (typename OR_Matrix<N>::const_row_iterator i_iter = matrix.row_begin(),
-         matrix_row_end = matrix.row_end();
-       i_iter != matrix_row_end; ++i_iter) {
-    typename OR_Matrix<N>::const_row_reference_type m_i = *i_iter;
-    dimension_type i = i_iter.index();
-    typename OR_Matrix<N>::const_row_reference_type m_ci
-      = (i % 2 != 0) ? *(i_iter-1) : *(i_iter+1);
-    for (dimension_type j = 0; j < i; ++j) {
-      using namespace Implementation::Octagonal_Shapes;
-      dimension_type cj = coherent_index(j);
-      if (is_additive_inverse(m_ci[cj], m_i[j]))
-        // Choose as leader the variable having the smaller index.
-        leaders[i] = leaders[j];
-    }
-  }
-}
+/* Automatically generated from PPL source file ../src/Box.defs.hh line 2285. */
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::compute_leaders(std::vector<dimension_type>& successor,
-                  std::vector<dimension_type>& no_sing_leaders,
-                  bool& exist_sing_class,
-                  dimension_type& sing_leader) const {
-  PPL_ASSERT(!marked_empty() && marked_strongly_closed());
-  PPL_ASSERT(no_sing_leaders.size() == 0);
-  dimension_type successor_size = successor.size();
-  std::deque<bool> dealt_with(successor_size, false);
-  for (dimension_type i = 0; i < successor_size; ++i) {
-    dimension_type next_i = successor[i];
-    if (!dealt_with[i]) {
-      // The index is a leader.
-      // Now check if it is a leader of a singular class or not.
-      using namespace Implementation::Octagonal_Shapes;
-      if (next_i == coherent_index(i)) {
-        exist_sing_class = true;
-        sing_leader = i;
-      }
-      else
-        no_sing_leaders.push_back(i);
-    }
-    // The following index isn't a leader.
-    dealt_with[next_i] = true;
-  }
-}
+/* Automatically generated from PPL source file ../src/Linear_Form.templates.hh line 30. */
+#include <stdexcept>
+#include <iostream>
+#include <cmath>
 
-template <typename T>
-void
-Octagonal_Shape<T>::strong_reduction_assign() const {
-  // Zero-dimensional octagonal shapes are necessarily reduced.
-  if (space_dim == 0)
-    return;
-  strong_closure_assign();
-  // If `*this' is empty, then there is nothing to reduce.
-  if (marked_empty())
-    return;
+namespace Parma_Polyhedra_Library {
 
-  // Detect non-redundant constraints.
-  std::vector<Bit_Row> non_red;
-  non_redundant_matrix_entries(non_red);
+template <typename C>
+Linear_Form<C>::Linear_Form(const Variable v)
+  : vec() {
+  const dimension_type space_dim = v.space_dimension();
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1, zero);
+  vec[v.space_dimension()] = C(typename C::boundary_type(1));
+}
 
-  // Throw away redundant constraints.
-  Octagonal_Shape<T>& x = const_cast<Octagonal_Shape<T>&>(*this);
-#ifndef NDEBUG
-  const Octagonal_Shape x_copy_before(x);
-#endif
-  typename OR_Matrix<N>::element_iterator x_i = x.matrix.element_begin();
-  for (dimension_type i = 0; i < 2 * space_dim; ++i) {
-    const Bit_Row& non_red_i = non_red[i];
-    for (dimension_type j = 0,
-           j_end = OR_Matrix<N>::row_size(i); j < j_end; ++j, ++x_i) {
-      if (!non_red_i[j])
-        assign_r(*x_i, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    }
+template <typename C>
+Linear_Form<C>::Linear_Form(const Variable v, const Variable w)
+  : vec() {
+  const dimension_type v_space_dim = v.space_dimension();
+  const dimension_type w_space_dim = w.space_dimension();
+  const dimension_type space_dim = std::max(v_space_dim, w_space_dim);
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(v, w):\n"
+                            "v or w exceed the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1, zero);
+  if (v_space_dim != w_space_dim) {
+    vec[v_space_dim] = C(typename C::boundary_type(1));
+    vec[w_space_dim] = C(typename C::boundary_type(-1));
   }
-  x.reset_strongly_closed();
-#ifndef NDEBUG
-  const Octagonal_Shape x_copy_after(x);
-  PPL_ASSERT(x_copy_before == x_copy_after);
-  PPL_ASSERT(x.is_strongly_reduced());
-  PPL_ASSERT(x.OK());
-#endif
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::non_redundant_matrix_entries(std::vector<Bit_Row>& nr_rows) const {
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(space_dim > 0 && !marked_empty() && marked_strongly_closed());
-  PPL_ASSERT(nr_rows.empty());
-
-  // Initialize `non_redundant' as if it was an OR_Matrix of booleans
-  // (initially set to false).
-  nr_rows.resize(2*space_dim);
-
-  // Step 1: compute zero-equivalence classes.
-  // Variables corresponding to indices `i' and `j' are zero-equivalent
-  // if they lie on a zero-weight loop; since the matrix is strongly
-  // closed, this happens if and only if matrix[i][j] == -matrix[ci][cj].
-  std::vector<dimension_type> no_sing_leaders;
-  dimension_type sing_leader = 0;
-  bool exist_sing_class = false;
-  std::vector<dimension_type> successor;
-  compute_successors(successor);
-  compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
-  const dimension_type num_no_sing_leaders = no_sing_leaders.size();
-
-
-  // Step 2: flag redundant constraints in `redundancy'.
-  // Go through non-singular leaders first.
-  for (dimension_type li = 0; li < num_no_sing_leaders; ++li) {
-    const dimension_type i = no_sing_leaders[li];
-    using namespace Implementation::Octagonal_Shapes;
-    const dimension_type ci = coherent_index(i);
-    typename OR_Matrix<N>::const_row_reference_type
-      m_i = *(matrix.row_begin()+i);
-    if (i % 2 == 0) {
-      // Each positive equivalence class must have a single 0-cycle
-      // connecting all equivalent variables in increasing order.
-      // Note: by coherence assumption, the variables in the
-      // corresponding negative equivalence class are
-      // automatically connected.
-      if (i != successor[i]) {
-        dimension_type j = i;
-        dimension_type next_j = successor[j];
-        while (j != next_j) {
-          nr_rows[next_j].set(j);
-          j = next_j;
-          next_j = successor[j];
-        }
-        const dimension_type cj = coherent_index(j);
-        nr_rows[cj].set(ci);
-      }
-    }
+template <typename C>
+Linear_Form<C>::Linear_Form(const Linear_Expression& e)
+  : vec() {
+  const dimension_type space_dim = e.space_dimension();
+  if (space_dim > max_space_dimension())
+    throw std::length_error("Linear_Form<C>::"
+                            "Linear_Form(e):\n"
+                            "e exceeds the maximum allowed "
+                            "space dimension.");
+  vec.reserve(compute_capacity(space_dim+1, vec_type().max_size()));
+  vec.resize(space_dim+1);
+  for (dimension_type i = space_dim; i-- > 0; )
+    vec[i+1] = e.coefficient(Variable(i));
+  vec[0] = e.inhomogeneous_term();
+}
 
-    dimension_type rs_li = (li % 2 != 0) ? li :li+1;
-    // Check if the constraint is redundant.
-    PPL_DIRTY_TEMP(N, tmp);
-    for (dimension_type lj = 0 ; lj <= rs_li; ++lj) {
-      const dimension_type j = no_sing_leaders[lj];
-      const dimension_type cj = coherent_index(j);
-      const N& m_i_j = m_i[j];
-      const N& m_i_ci = m_i[ci];
-      bool to_add = true;
-      // Control if the constraint is redundant by strong-coherence,
-      // that is:
-      // m_i_j >= (m_i_ci + m_cj_j)/2,   where j != ci.
-      if (j != ci) {
-        add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
-        div_2exp_assign_r(tmp, tmp, 1, ROUND_UP);
-        if (m_i_j >= tmp)
-          // The constraint is redundant.
-          continue;
-      }
-      // Control if the constraint is redundant by strong closure, that is
-      // if there is a path from i to j (i = i_0, ... , i_n = j), such that
-      // m_i_j = sum_{k=0}^{n-1} m_{i_k}_{i_(k+1)}.
-      // Since the octagon is already strongly closed, the above relation
-      // is reduced to three case, in accordance with k, i, j inter-depend:
-      // exit k such that
-      // 1.) m_i_j >= m_i_k   + m_cj_ck,   if k < j < i; or
-      // 2.) m_i_j >= m_i_k   + m_k,_j,    if j < k < i; or
-      // 3.) m_i_j >= m_ck_ci + m_k_j,     if j < i < k.
-      // Note: `i > j'.
-      for (dimension_type lk = 0; lk < num_no_sing_leaders; ++lk) {
-        const dimension_type k = no_sing_leaders[lk];
-        if (k != i && k != j) {
-          dimension_type ck = coherent_index(k);
-          if (k < j)
-            // Case 1.
-            add_assign_r(tmp, m_i[k], matrix[cj][ck], ROUND_UP);
-          else if (k < i)
-            // Case 2.
-            add_assign_r(tmp, m_i[k], matrix[k][j], ROUND_UP);
-          else
-            // Case 3.
-            add_assign_r(tmp, matrix[ck][ci], matrix[k][j], ROUND_UP);
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  dimension_type min_size;
+  dimension_type max_size;
+  const Linear_Form<C>* p_e_max;
+  if (f1_size > f2_size) {
+    min_size = f2_size;
+    max_size = f1_size;
+    p_e_max = &f1;
+  }
+  else {
+    min_size = f1_size;
+    max_size = f2_size;
+    p_e_max = &f2;
+  }
 
-          // Checks if the constraint is redundant.
-          if (m_i_j >= tmp) {
-            to_add = false;
-            break;
-          }
-        }
-      }
+  Linear_Form<C> r(max_size, false);
+  dimension_type i = max_size;
+  while (i > min_size) {
+    --i;
+    r[i] = p_e_max->vec[i];
+  }
+  while (i > 0) {
+    --i;
+    r[i] = f1[i];
+    r[i] += f2[i];
+  }
+  return r;
+}
 
-      if (to_add)
-        // The constraint is not redundant.
-        nr_rows[i].set(j);
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const Variable v, const Linear_Form<C>& f) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator+(v, f):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  r[v_space_dim] += C(typename C::boundary_type(1));
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator+(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  r[0] += n;
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  return r;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size > f2_size) {
+    Linear_Form<C> r(f1_size, false);
+    dimension_type i = f1_size;
+    while (i > f2_size) {
+      --i;
+      r[i] = f1[i];
+    }
+    while (i > 0) {
+      --i;
+      r[i] = f1[i];
+      r[i] -= f2[i];
     }
+    return r;
   }
-
-  // If there exist a singular equivalence class, then it must have a
-  // single 0-cycle connecting all the positive and negative equivalent
-  // variables.
-  // Note: the singular class is not connected with the other classes.
-  if (exist_sing_class) {
-    nr_rows[sing_leader].set(sing_leader+1);
-    if (successor[sing_leader+1] != sing_leader+1) {
-      dimension_type j = sing_leader;
-      dimension_type next_jj = successor[j+1];
-      while (next_jj != j+1) {
-        nr_rows[next_jj].set(j);
-        j = next_jj;
-        next_jj = successor[j+1];
-      }
-      nr_rows[j+1].set(j);
+  else {
+    Linear_Form<C> r(f2_size, false);
+    dimension_type i = f2_size;
+    while (i > f1_size) {
+      --i;
+      r[i].neg_assign(f2[i]);
     }
-    else
-      nr_rows[sing_leader+1].set(sing_leader);
+    while (i > 0) {
+      --i;
+      r[i] = f1[i];
+      r[i] -= f2[i];
+    }
+    return r;
   }
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("upper_bound_assign(y)", y);
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Variable v, const Linear_Form<C>& f) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator-(v, e):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  r[v_space_dim] += C(typename C::boundary_type(1));
+  return r;
+}
 
-  // The hull of an octagon `x' with an empty octagon is `x'.
-  y.strong_closure_assign();
-  if (y.marked_empty())
-    return;
-  strong_closure_assign();
-  if (marked_empty()) {
-    *this = y;
-    return;
-  }
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form "
+                            "operator-(e, v):\n"
+                            "v exceeds the maximum allowed "
+                            "space dimension.");
+  Linear_Form<C> r(f);
+  if (v_space_dim > f.space_dimension())
+    r.extend(v_space_dim+1);
+  r[v_space_dim] -= C(typename C::boundary_type(1));
+  return r;
+}
 
-  // The oct-hull is obtained by computing maxima.
-  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-         matrix_element_end = matrix.element_end();
-       i != matrix_element_end; ++i, ++j)
-    max_assign(*i, *j);
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator-(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i].neg_assign(r[i]);
+  r[0] += n;
+  return r;
+}
 
-  // The result is still closed.
-  PPL_ASSERT(OK());
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>
+operator*(const C& n, const Linear_Form<C>& f) {
+  Linear_Form<C> r(f);
+  for (dimension_type i = f.size(); i-- > 0; )
+    r[i] *= n;
+  return r;
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("difference_assign(y)", y);
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size < f2_size)
+    f1.extend(f2_size);
+  for (dimension_type i = f2_size; i-- > 0; )
+    f1[i] += f2[i];
+  return f1;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator+=(Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form<C>& "
+                            "operator+=(e, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  if (v_space_dim > f.space_dimension())
+    f.extend(v_space_dim+1);
+  f[v_space_dim] += C(typename C::boundary_type(1));
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f1, const Linear_Form<C>& f2) {
+  dimension_type f1_size = f1.size();
+  dimension_type f2_size = f2.size();
+  if (f1_size < f2_size)
+    f1.extend(f2_size);
+  for (dimension_type i = f2_size; i-- > 0; )
+    f1[i] -= f2[i];
+  return f1;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator-=(Linear_Form<C>& f, const Variable v) {
+  const dimension_type v_space_dim = v.space_dimension();
+  if (v_space_dim > Linear_Form<C>::max_space_dimension())
+    throw std::length_error("Linear_Form<C>& "
+                            "operator-=(e, v):\n"
+			    "v exceeds the maximum allowed space dimension.");
+  if (v_space_dim > f.space_dimension())
+    f.extend(v_space_dim+1);
+  f[v_space_dim] -= C(typename C::boundary_type(1));
+  return f;
+}
+
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator*=(Linear_Form<C>& f, const C& n) {
+  dimension_type f_size = f.size();
+  for (dimension_type i = f_size; i-- > 0; )
+    f[i] *= n;
+  return f;
+}
 
-  Octagonal_Shape& x = *this;
+/*! \relates Linear_Form */
+template <typename C>
+Linear_Form<C>&
+operator/=(Linear_Form<C>& f, const C& n) {
+  dimension_type f_size = f.size();
+  for (dimension_type i = f_size; i-- > 0; )
+    f[i] /= n;
+  return f;
+}
 
-  // Being lazy here is only harmful.
-  // We close.
-  x.strong_closure_assign();
-  // The difference of an empty octagon and of an octagon `p' is empty.
-  if (x.marked_empty())
-    return;
-  // The difference of a octagon `p' and an empty octagon is `p'.
-  if (y.marked_empty())
-    return;
+/*! \relates Linear_Form */
+template <typename C>
+inline bool
+operator==(const Linear_Form<C>& x, const Linear_Form<C>& y) {
+  const dimension_type x_size = x.size();
+  const dimension_type y_size = y.size();
+  if (x_size >= y_size) {
+    for (dimension_type i = y_size; i-- > 0; )
+      if (x[i] != y[i])
+        return false;
 
-  // If both octagons are zero-dimensional,
-  // then at this point they are necessarily universe octagons,
-  // so that their difference is empty.
-  if (x.space_dim == 0) {
-    x.set_empty();
-    return;
-  }
+    for (dimension_type i = x_size; --i >= y_size; )
+      if (x[i] != x.zero)
+        return false;
 
-  // TODO: This is just an executable specification.
-  //       Have to find a more efficient method.
-  if (y.contains(x)) {
-    x.set_empty();
-    return;
   }
+  else {
+    for (dimension_type i = x_size; i-- > 0; )
+      if (x[i] != y[i])
+        return false;
+
+    for (dimension_type i = y_size; --i >= x_size; )
+      if (y[i] != x.zero)
+        return false;
 
-  Octagonal_Shape new_oct(space_dim, EMPTY);
-  // We take a constraint of the octagon y at the time and we
-  // consider its complementary. Then we intersect the union
-  // of these complementaries with the octagon x.
-  const Constraint_System& y_cs = y.constraints();
-  for (Constraint_System::const_iterator i = y_cs.begin(),
-         y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
-    const Constraint& c = *i;
-    // If the octagon `x' is included the octagon defined by `c',
-    // then `c' _must_ be skipped, as adding its complement to `x'
-    // would result in the empty octagon, and as we would obtain
-    // a result that is less precise than the difference.
-    if (x.relation_with(c).implies(Poly_Con_Relation::is_included()))
-      continue;
-    Octagonal_Shape z = x;
-    const Linear_Expression e = Linear_Expression(c);
-    z.add_constraint(e <= 0);
-    if (!z.is_empty())
-      new_oct.upper_bound_assign(z);
-    if (c.is_equality()) {
-      z = x;
-      z.add_constraint(e >= 0);
-      if (!z.is_empty())
-        new_oct.upper_bound_assign(z);
-    }
   }
-  *this = new_oct;
-  PPL_ASSERT(OK());
+
+  return true;
 }
 
-template <typename T>
-bool
-Octagonal_Shape<T>::simplify_using_context_assign(const Octagonal_Shape& y) {
-  Octagonal_Shape& x = *this;
-  const dimension_type dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (dim != y.space_dimension())
-    throw_dimension_incompatible("simplify_using_context_assign(y)", y);
+template <typename C>
+void
+Linear_Form<C>::negate() {
+  for (dimension_type i = vec.size(); i-- > 0; )
+    vec[i].neg_assign(vec[i]);
+  return;
+}
 
-  // Filter away the zero-dimensional case.
-  if (dim == 0) {
-    if (y.marked_empty()) {
-      x.set_zero_dim_univ();
+template <typename C>
+inline memory_size_type
+Linear_Form<C>::external_memory_in_bytes() const {
+  memory_size_type n = 0;
+  for (dimension_type i = size(); i-- > 0; )
+    n += vec[i].external_memory_in_bytes();
+  n += vec.capacity()*sizeof(C);
+  return n;
+}
+
+template <typename C>
+bool
+Linear_Form<C>::OK() const {
+  for (dimension_type i = size(); i-- > 0; )
+    if (!vec[i].OK())
       return false;
-    }
-    else
-      return !x.marked_empty();
+  return true;
+}
+
+// Floating point analysis related methods.
+template <typename C>
+void
+Linear_Form<C>::relative_error(
+		const Floating_Point_Format analyzed_format,
+                Linear_Form& result) const {
+  typedef typename C::boundary_type analyzer_format;
+
+  // Get the necessary information on the analyzed's format.
+  unsigned int f_base;
+  unsigned int f_mantissa_bits;
+  switch (analyzed_format) {
+    case IEEE754_HALF:
+      f_base = float_ieee754_half::BASE;
+      f_mantissa_bits = float_ieee754_half::MANTISSA_BITS;
+      break;
+    case IEEE754_SINGLE:
+      f_base = float_ieee754_single::BASE;
+      f_mantissa_bits = float_ieee754_single::MANTISSA_BITS;
+      break;
+    case IEEE754_DOUBLE:
+      f_base = float_ieee754_double::BASE;
+      f_mantissa_bits = float_ieee754_double::MANTISSA_BITS;
+      break;
+    case IBM_SINGLE:
+      f_base = float_ibm_single::BASE;
+      f_mantissa_bits = float_ibm_single::MANTISSA_BITS;
+      break;
+    case IEEE754_QUAD:
+      f_base = float_ieee754_quad::BASE;
+      f_mantissa_bits = float_ieee754_quad::MANTISSA_BITS;
+      break;
+    case INTEL_DOUBLE_EXTENDED:
+      f_base = float_intel_double_extended::BASE;
+      f_mantissa_bits = float_intel_double_extended::MANTISSA_BITS;
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
   }
 
-  // Filter away the case where `x' contains `y'
-  // (this subsumes the case when `y' is empty).
-  if (x.contains(y)) {
-    Octagonal_Shape<T> res(dim, UNIVERSE);
-    x.swap(res);
-    return false;
+  C error_propagator;
+  // We assume that f_base is a power of 2.
+  unsigned int u_power = msb_position(f_base) * f_mantissa_bits;
+  int neg_power = -static_cast<int>(u_power);
+  analyzer_format lb = static_cast<analyzer_format>(ldexp(1.0, neg_power));
+
+  error_propagator.build(i_constraint(GREATER_OR_EQUAL, -lb),
+                         i_constraint(LESS_OR_EQUAL, lb));
+
+  // Handle the inhomogeneous term.
+  const C* current_term = &inhomogeneous_term();
+  assert(current_term->is_bounded());
+
+  C current_multiplier(std::max(std::abs(current_term->lower()),
+                                std::abs(current_term->upper())));
+  Linear_Form current_result_term(current_multiplier);
+  current_result_term *= error_propagator;
+  result = Linear_Form(current_result_term);
+
+  // Handle the other terms.
+  dimension_type dimension = space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    current_term = &coefficient(Variable(i));
+    assert(current_term->is_bounded());
+    current_multiplier = C(std::max(std::abs(current_term->lower()),
+                                    std::abs(current_term->upper())));
+    current_result_term = Linear_Form(Variable(i));
+    current_result_term *= current_multiplier;
+    current_result_term *= error_propagator;
+    result += current_result_term;
   }
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iter;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_CIter;
-  typedef typename OR_Matrix<N>::element_iterator Elem_Iter;
-  typedef typename OR_Matrix<N>::const_element_iterator Elem_CIter;
+  return;
+}
 
-  // Filter away the case where `x' is empty.
-  x.strong_closure_assign();
-  if (x.marked_empty()) {
-    // Search for a constraint of `y' that is not a tautology.
-    dimension_type i;
-    dimension_type j;
-    // Prefer unary constraints.
-    for (i = 0; i < 2*dim; i += 2) {
-      // FIXME: if N is a float or bounded integer type, then
-      // we also need to check that we are actually able to construct
-      // a constraint inconsistent wrt this one.
-      // Use something like !is_maximal()?
-      if (!is_plus_infinity(y.matrix_at(i, i+1))) {
-        j = i+1;
-        goto found;
+template <typename C>
+template <typename Target>
+bool
+Linear_Form<C>::intervalize(const FP_Oracle<Target,C>& oracle,
+                            C& result) const {
+  result = C(inhomogeneous_term());
+  dimension_type dimension = space_dimension();
+  for (dimension_type i = 0; i < dimension; ++i) {
+    C current_addend = coefficient(Variable(i));
+    C curr_int;
+    if (!oracle.get_interval(i, curr_int))
+      return false;
+    current_addend *= curr_int;
+    result += current_addend;
+  }
+
+  return true;
+}
+
+/*! \relates Parma_Polyhedra_Library::Linear_Form */
+template <typename C>
+std::ostream&
+IO_Operators::operator<<(std::ostream& s, const Linear_Form<C>& f) {
+  const dimension_type num_variables = f.space_dimension();
+  bool first = true;
+  for (dimension_type v = 0; v < num_variables; ++v) {
+    const C& fv = f[v+1];
+    if (fv != typename C::boundary_type(0)) {
+      if (first) {
+        if (fv == typename C::boundary_type(-1))
+          s << "-";
+        else if (fv != typename C::boundary_type(1))
+          s << fv << "*";
+        first = false;
       }
-      // Use something like !is_maximal()?
-      if (!is_plus_infinity(y.matrix_at(i+1, i))) {
-        j = i;
-        ++i;
-        goto found;
+      else {
+        if (fv == typename C::boundary_type(-1))
+          s << " - ";
+        else {
+          s << " + ";
+          if (fv != typename C::boundary_type(1))
+            s << fv << "*";
+        }
       }
+      s << Variable(v);
     }
-    // Then search binary constraints.
-    // TODO: use better iteration scheme.
-    for (i = 2; i < 2*dim; ++i)
-      for (j = 0; j < i; ++j) {
-        // Use something like !is_maximal()?
-        if (!is_plus_infinity(y.matrix_at(i, j)))
-          goto found;
-      }
+  }
+  // Inhomogeneous term.
+  const C& it = f[0];
+  if (it != 0) {
+    if (!first)
+	s << " + ";
+    else
+      first = false;
+    s << it;
+  }
 
-    // Not found: we were not able to build a constraint contradicting
-    // one of the constraints in `y': `x' cannot be enlarged.
-    return false;
+  if (first)
+    // The null linear form.
+    s << Linear_Form<C>::zero;
+  return s;
+}
 
-  found:
-    // Found: build a new OS contradicting the constraint found.
-    PPL_ASSERT(i < dim && j < dim && i != j);
-    Octagonal_Shape<T> res(dim, UNIVERSE);
-    // FIXME: compute a proper contradicting constraint.
-    PPL_DIRTY_TEMP(N, tmp);
-    assign_r(tmp, 1, ROUND_UP);
-    add_assign_r(tmp, tmp, y.matrix_at(i, j), ROUND_UP);
-    // CHECKME: round down is really meant.
-    neg_assign_r(res.matrix_at(j, i), tmp, ROUND_DOWN);
-    PPL_ASSERT(!is_plus_infinity(res.matrix_at(j, i)));
-    x.swap(res);
-    return false;
-  }
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(C, Linear_Form<C>)
 
-  // Here `x' and `y' are not empty and strongly closed;
-  // also, `x' does not contain `y'.
-  // Let `target' be the intersection of `x' and `y'.
-  Octagonal_Shape<T> target = x;
-  target.intersection_assign(y);
-  const bool bool_result = !target.is_empty();
+template <typename C>
+C Linear_Form<C>::zero(typename C::boundary_type(0));
 
-  // Compute redundancy information for x and ...
-  // TODO: provide a nicer data structure for redundancy.
-  std::vector<Bit_Row> x_nonred;
-  x.non_redundant_matrix_entries(x_nonred);
-  // ... count the non-redundant constraints.
-  dimension_type x_num_nonred = 0;
-  for (size_t i = x_nonred.size(); i-- > 0 ; )
-    x_num_nonred += x_nonred[i].count_ones();
-  PPL_ASSERT(x_num_nonred > 0);
+} // namespace Parma_Polyhedra_Library
 
-  // Let `yy' be a copy of `y': we will keep adding to `yy'
-  // the non-redundant constraints of `x',
-  // stopping as soon as `yy' becomes equal to `target'.
-  Octagonal_Shape<T> yy = y;
+/* Automatically generated from PPL source file ../src/linearize.hh line 1. */
+/* Linearization function implementation.
+*/
 
-  // The constraints added to `yy' will be recorded in `res' ...
-  Octagonal_Shape<T> res(dim, UNIVERSE);
-  // ... and we will count them too.
-  dimension_type res_num_nonred = 0;
 
-  // Compute leader information for `x'.
-  std::vector<dimension_type> x_leaders;
-  x.compute_leaders(x_leaders);
+/* Automatically generated from PPL source file ../src/Concrete_Expression.defs.hh line 1. */
+/* Concrete_Expression class declaration.
+*/
 
-  // First go through the unary equality constraints.
-  // Find the leader of the singular equivalence class (it is even!).
-  dimension_type sing_leader;
-  for (sing_leader = 0; sing_leader < 2*dim; sing_leader += 2) {
-    if (sing_leader == x_leaders[sing_leader]) {
-      const N& x_s_ss = x.matrix_at(sing_leader, sing_leader+1);
-      const N& x_ss_s = x.matrix_at(sing_leader+1, sing_leader);
-      if (is_additive_inverse(x_s_ss, x_ss_s))
-        // Singular leader found.
-        break;
-    }
-  }
 
-  // Unary equalities have `sing_leader' as a leader.
-  for (dimension_type i = sing_leader; i < 2*dim; i += 2) {
-    if (x_leaders[i] != sing_leader)
-      continue;
-    // Found a unary equality constraint:
-    // see if any of the two inequalities have to be added.
-    const N& x_i_ii = x.matrix_at(i, i+1);
-    N& yy_i_ii = yy.matrix_at(i, i+1);
-    if (x_i_ii < yy_i_ii) {
-      // The \leq inequality is not implied by context.
-      res.matrix_at(i, i+1) = x_i_ii;
-      ++res_num_nonred;
-      // Tighten context `yy' using the newly added constraint.
-      yy_i_ii = x_i_ii;
-      yy.reset_strongly_closed();
-    }
-    const N& x_ii_i = x.matrix_at(i+1, i);
-    N& yy_ii_i = yy.matrix_at(i+1, i);
-    if (x_ii_i < yy_ii_i) {
-      // The \geq inequality is not implied by context.
-      res.matrix_at(i+1, i) = x_ii_i;
-      ++res_num_nonred;
-      // Tighten context `yy' using the newly added constraint.
-      yy_ii_i = x_ii_i;
-      yy.reset_strongly_closed();
-    }
-    // Restore strong closure, if it was lost.
-    if (!yy.marked_strongly_closed()) {
-      Variable var_i(i/2);
-      yy.incremental_strong_closure_assign(var_i);
-      if (target.contains(yy)) {
-        // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonred < x_num_nonred) {
-          res.reset_strongly_closed();
-          x.swap(res);
-        }
-        return bool_result;
-      }
-    }
-  }
+/* Automatically generated from PPL source file ../src/Concrete_Expression.defs.hh line 30. */
 
-  // Go through the binary equality constraints.
-  for (dimension_type i = 0; i < 2*dim; ++i) {
-    const dimension_type j = x_leaders[i];
-    if (j == i || j == sing_leader)
-      continue;
-    const N& x_i_j = x.matrix_at(i, j);
-    PPL_ASSERT(!is_plus_infinity(x_i_j));
-    N& yy_i_j = yy.matrix_at(i, j);
-    if (x_i_j < yy_i_j) {
-      res.matrix_at(i, j) = x_i_j;
-      ++res_num_nonred;
-      // Tighten context `yy' using the newly added constraint.
-      yy_i_j = x_i_j;
-      yy.reset_strongly_closed();
-    }
-    const N& x_j_i = x.matrix_at(j, i);
-    N& yy_j_i = yy.matrix_at(j, i);
-    PPL_ASSERT(!is_plus_infinity(x_j_i));
-    if (x_j_i < yy_j_i) {
-      res.matrix_at(j, i) = x_j_i;
-      ++res_num_nonred;
-      // Tighten context `yy' using the newly added constraint.
-      yy_j_i = x_j_i;
-      yy.reset_strongly_closed();
-    }
-    // Restore strong closure, if it was lost.
-    if (!yy.marked_strongly_closed()) {
-      Variable var_j(j/2);
-      yy.incremental_strong_closure_assign(var_j);
-      if (target.contains(yy)) {
-        // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonred < x_num_nonred) {
-          res.reset_strongly_closed();
-          x.swap(res);
-        }
-        return bool_result;
-      }
-    }
-  }
+namespace Parma_Polyhedra_Library {
 
-  // Finally go through the (proper) inequality constraints:
-  // both indices i and j should be leaders.
-  // FIXME: improve iteration scheme (are we doing twice the work?)
-  for (dimension_type i = 0; i < 2*dim; ++i) {
-    if (i != x_leaders[i])
-      continue;
-    const Bit_Row& x_nonred_i = x_nonred[i];
-    for (dimension_type j = 0; j < 2*dim; ++j) {
-      if (j != x_leaders[j])
-        continue;
-      if (i >= j) {
-        if (!x_nonred_i[j])
-          continue;
-      }
-      else if (!x_nonred[j][i])
-        continue;
-      N& yy_i_j = yy.matrix_at(i, j);
-      const N& x_i_j = x.matrix_at(i, j);
-      if (x_i_j < yy_i_j) {
-        res.matrix_at(i, j) = x_i_j;
-        ++res_num_nonred;
-        // Tighten context `yy' using the newly added constraint.
-        yy_i_j = x_i_j;
-        yy.reset_strongly_closed();
-        Variable var(i/2);
-        yy.incremental_strong_closure_assign(var);
-        if (target.contains(yy)) {
-          // Target reached: swap `x' and `res' if needed.
-          if (res_num_nonred < x_num_nonred) {
-            res.reset_strongly_closed();
-            x.swap(res);
-          }
-          return bool_result;
-        }
-      }
-    }
-  }
-  // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
+//! The type of a concrete expression.
+class Concrete_Expression_Type {
+public:
+  /*! \brief
+    Returns the bounded integer type corresponding to \p width,
+    \p representation and \p overflow.
+  */
+  static Concrete_Expression_Type
+  bounded_integer(Bounded_Integer_Type_Width width,
+                  Bounded_Integer_Type_Representation representation,
+                  Bounded_Integer_Type_Overflow overflow);
+
+  /*! \brief
+    Returns the floating point type corresponding to \p format.
+  */
+  static Concrete_Expression_Type
+  floating_point(Floating_Point_Format format);
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a bounded
+    integer type.
+  */
+  bool is_bounded_integer() const;
+
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a floating
+    point type.
+  */
+  bool is_floating_point() const;
+
+  /*! \brief
+    Returns the width in bits of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Width bounded_integer_type_width() const;
+
+  /*! \brief
+    Returns the representation of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Representation
+  bounded_integer_type_representation() const;
+
+  /*! \brief
+    Returns the overflow behavior of the bounded integer type encoded by
+    \p *this.
+
+    The behavior is undefined if \p *this does not encode a bounded
+    integer type.
+  */
+  Bounded_Integer_Type_Overflow
+  bounded_integer_type_overflow() const;
+
+  /*! \brief
+    Returns the format of the floating point type encoded by \p *this.
+
+    The behavior is undefined if \p *this does not encode a floating
+    point type.
+  */
+  Floating_Point_Format floating_point_format() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! A 32-bit word encoding the type.
+  struct Implementation {
+    bool bounded_integer:1;
+    unsigned int bounded_integer_type_width:23;
+    unsigned int bounded_integer_type_representation:2;
+    unsigned int bounded_integer_type_overflow:2;
+    unsigned int floating_point_format:4;
+  };
+
+  //! Constructor from \p implementation.
+  Concrete_Expression_Type(Implementation implementation);
+
+  //! The encoding of \p *this.
+  Implementation impl;
+};
+
+//! Base class for all concrete expressions.
+template <typename Target>
+class Concrete_Expression_Common {
+public:
+  //! Returns the type of \* this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the kind of \* this.
+  Concrete_Expression_Kind kind() const;
+
+  //! Tests if \p *this has the same kind as <CODE>Derived<Target></CODE>.
+  template <template <typename T> class Derived>
+  bool is() const;
+
+  /*! \brief
+    Returns a pointer to \p *this converted to type
+    <CODE>Derived<Target>*</CODE>.
+  */
+  template <template <typename T> class Derived>
+  Derived<Target>* as();
+
+  /*! \brief
+    Returns a pointer to \p *this converted to type
+    <CODE>const Derived<Target>*</CODE>.
+  */
+  template <template <typename T> class Derived>
+  const Derived<Target>* as() const;
+
+};
+
+//! Base class for binary operator applied to two concrete expressions.
+template <typename Target>
+class Binary_Operator_Common {
+public:
+  //! Returns a constant identifying the operator of \p *this.
+  Concrete_Expression_BOP binary_operator() const;
+
+  //! Returns the left-hand side of \p *this.
+  const Concrete_Expression<Target>* left_hand_side() const;
+
+  //! Returns the right-hand side of \p *this.
+  const Concrete_Expression<Target>* right_hand_side() const;
+};
+
+//! Base class for unary operator applied to one concrete expression.
+template <typename Target>
+class Unary_Operator_Common {
+public:
+  //! Returns a constant identifying the operator of \p *this.
+  Concrete_Expression_UOP unary_operator() const;
+
+  //! Returns the argument \p *this.
+  const Concrete_Expression<Target>* argument() const;
+};
+
+//! Base class for cast operator concrete expressions.
+template <typename Target>
+class Cast_Operator_Common {
+  //! Returns the casted expression.
+  const Concrete_Expression<Target>* argument() const;
+};
+
+//! Base class for integer constant concrete expressions.
+template <typename Target>
+class Integer_Constant_Common {
+};
+
+//! Base class for floating-point constant concrete expression.
+template <typename Target>
+class Floating_Point_Constant_Common {
+};
+
+//! Base class for references to some approximable.
+template <typename Target>
+class Approximable_Reference_Common {
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Concrete_Expression.inlines.hh line 1. */
+/* Concrete_Expression class implementation: inline functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Concrete_Expression_Type
+::Concrete_Expression_Type(Implementation implementation)
+  : impl(implementation) {
+}
+
+inline Concrete_Expression_Type
+Concrete_Expression_Type
+::bounded_integer(const Bounded_Integer_Type_Width width,
+                  const Bounded_Integer_Type_Representation representation,
+                  const Bounded_Integer_Type_Overflow overflow) {
+  Implementation impl;
+  impl.bounded_integer = true;
+  impl.bounded_integer_type_width = width;
+  impl.bounded_integer_type_representation = representation;
+  impl.bounded_integer_type_overflow = overflow;
+  // Arbitrary choice to ensure determinism.
+  impl.floating_point_format = IEEE754_HALF;
+  return Concrete_Expression_Type(impl);
+}
+
+inline Concrete_Expression_Type
+Concrete_Expression_Type
+::floating_point(const Floating_Point_Format format) {
+  Implementation impl;
+  impl.bounded_integer = false;
+  impl.floating_point_format = format;
+  // Arbitrary choices to ensure determinism.
+  impl.bounded_integer_type_width = BITS_128;
+  impl.bounded_integer_type_representation =  SIGNED_2_COMPLEMENT;
+  impl.bounded_integer_type_overflow = OVERFLOW_IMPOSSIBLE;
+  return Concrete_Expression_Type(impl);
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::add_space_dimensions_and_embed(dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
+inline bool
+Concrete_Expression_Type::is_bounded_integer() const {
+  return impl.bounded_integer;
+}
 
-  const dimension_type new_dim = space_dim + m;
-  const bool was_zero_dim_univ = !marked_empty() && space_dim == 0;
+inline bool
+Concrete_Expression_Type::is_floating_point() const {
+  return !impl.bounded_integer;
+}
+
+inline Bounded_Integer_Type_Width
+Concrete_Expression_Type::bounded_integer_type_width() const {
+  unsigned int u = impl.bounded_integer_type_width;
+  return static_cast<Bounded_Integer_Type_Width>(u);
+}
+
+inline Bounded_Integer_Type_Representation
+Concrete_Expression_Type::bounded_integer_type_representation() const {
+  unsigned int u = impl.bounded_integer_type_representation;
+  return static_cast<Bounded_Integer_Type_Representation>(u);
+}
+
+inline Bounded_Integer_Type_Overflow
+Concrete_Expression_Type::bounded_integer_type_overflow() const {
+  unsigned int u = impl.bounded_integer_type_overflow;
+  return static_cast<Bounded_Integer_Type_Overflow>(u);
+}
+
+inline Floating_Point_Format
+Concrete_Expression_Type::floating_point_format() const {
+  unsigned int u = impl.floating_point_format;
+  return static_cast<Floating_Point_Format>(u);
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline bool
+Concrete_Expression_Common<Target>::is() const {
+  return static_cast<const Concrete_Expression<Target>*>(this)->kind() ==
+         Derived<Target>::KIND;
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline Derived<Target>*
+Concrete_Expression_Common<Target>::as() {
+  PPL_ASSERT(is<Derived>());
+  return static_cast<Derived<Target>*>(this);
+}
+
+template <typename Target>
+template <template <typename T> class Derived>
+inline const Derived<Target>*
+Concrete_Expression_Common<Target>::as() const {
+  PPL_ASSERT(is<Derived>());
+  return static_cast<const Derived<Target>*>(this);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Concrete_Expression.defs.hh line 200. */
+
+/* Automatically generated from PPL source file ../src/linearize.hh line 31. */
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  sum of floating point expressions.
+
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
+
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
+
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-  // To embed an n-dimension space octagon in a (n+m)-dimension space,
-  // we just add `m' variables in the matrix of constraints.
-  matrix.grow(new_dim);
-  space_dim = new_dim;
-  // If `*this' was the zero-dim space universe octagon,
-  // then we can set the strongly closure flag.
-  if (was_zero_dim_univ)
-    set_strongly_closed();
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
 
-  PPL_ASSERT(OK());
-}
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>ADD</CODE>.
 
-template <typename T>
-void
-Octagonal_Shape<T>::add_space_dimensions_and_project(dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
+  \param oracle
+  The FP_Oracle to be queried.
 
-  const dimension_type n = matrix.num_rows();
+  \param lf_store
+  The linear form abstract store.
 
-  // To project an n-dimension space OS in a (space_dim+m)-dimension space,
-  // we just add `m' columns and rows in the matrix of constraints.
-  add_space_dimensions_and_embed(m);
-  // We insert 0 where it needs.
-  // Attention: now num_rows of matrix is update!
-  for (typename OR_Matrix<N>::row_iterator i = matrix.row_begin() + n,
-         matrix_row_end =  matrix.row_end(); i != matrix_row_end; i += 2) {
-    typename OR_Matrix<N>::row_reference_type x_i = *i;
-    typename OR_Matrix<N>::row_reference_type x_ci = *(i+1);
-    const dimension_type ind = i.index();
-    assign_r(x_i[ind+1], 0, ROUND_NOT_NEEDED);
-    assign_r(x_ci[ind], 0, ROUND_NOT_NEEDED);
-  }
+  \param result
+  The modified linear form.
 
-  if (marked_strongly_closed())
-    reset_strongly_closed();
-  PPL_ASSERT(OK());
-}
+  \par Linearization of sum floating-point expressions
 
-template <typename T>
-void
-Octagonal_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
-  // The removal of no dimensions from any octagon is a no-op.
-  // Note that this case also captures the only legal removal of
-  // dimensions from a octagon in a 0-dim space.
-  if (vars.empty()) {
-    PPL_ASSERT(OK());
-    return;
-  }
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dim < min_space_dim)
-    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
 
-  const dimension_type new_space_dim = space_dim - vars.size();
+  Given an expression \f$e_{1} \oplus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form) and \f$mf_{\mathbf{f}}\f$ is a rounding
+  error computed by function <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+add_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::ADD);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
 
-  strong_closure_assign();
-  // When removing _all_ dimensions from an octagon,
-  // we obtain the zero-dimensional octagon.
-  if (new_space_dim == 0) {
-    matrix.shrink(0);
-    if (!marked_empty())
-      // We set the zero_dim_univ flag.
-      set_zero_dim_univ();
-    space_dim = 0;
-    PPL_ASSERT(OK());
-    return;
-  }
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
 
-  // We consider every variable and we check if it is to be removed.
-  // If it is to be removed, we pass to the successive one, elsewhere
-  // we move its elements in the right position.
-  Variables_Set::const_iterator vsi = vars.begin();
-  dimension_type ftr = *vsi;
-  dimension_type ftr_size = 2*ftr*(ftr+1);
-  typename OR_Matrix<N>::element_iterator
-    iter = matrix.element_begin()+ftr_size;
-
-  dimension_type i = ftr + 1;
-  while (i < space_dim) {
-    if (vars.count(i) != 0)
-      ++i;
-    else {
-      typename OR_Matrix<N>::row_iterator
-        row_iter = matrix.row_begin()+2*i;
-      typename OR_Matrix<N>::row_reference_type
-        row_ref = *row_iter;
-      typename OR_Matrix<N>::row_reference_type
-        row_ref1 = *(++row_iter);
-      // If variable(j) is to remove, we pass another variable,
-      // else we shift its cells to up right.
-      // Attention: first we shift the cells corrispondent to the first
-      // row of variable(j), then we shift the cells corrispondent to the
-      // second row. We recall that every variable is represented
-      // in the `matrix' by two rows and two rows.
-      for (dimension_type j = 0; j <= i; ++j)
-        if (vars.count(j) == 0) {
-          assign_or_swap(*(iter++), row_ref[2*j]);
-          assign_or_swap(*(iter++), row_ref[2*j+1]);
-        }
-      for (dimension_type j = 0; j <= i; ++j)
-        if (vars.count(j) == 0) {
-          assign_or_swap(*(iter++), row_ref1[2*j]);
-          assign_or_swap(*(iter++), row_ref1[2*j+1]);
-        }
-      ++i;
-    }
-  }
-  // Update the space dimension.
-  matrix.shrink(new_space_dim);
-  space_dim = new_space_dim;
-  PPL_ASSERT(OK());
+  result += linearized_second_operand;
+  linearized_second_operand.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
 }
 
-template <typename T>
-template <typename Partial_Function>
-void
-Octagonal_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
-  if (space_dim == 0)
-    return;
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  difference of floating point expressions.
 
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the octagon becomes zero_dimensional.
-    remove_higher_space_dimensions(0);
-    return;
-  }
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
 
-  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
-  // If we are going to actually reduce the space dimension,
-  // then shortest-path closure is required to keep precision.
-  if (new_space_dim < space_dim)
-    strong_closure_assign();
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
 
-  // If the octagon is empty, then it is sufficient to adjust
-  // the space dimension of the octagon.
-  if (marked_empty()) {
-    remove_higher_space_dimensions(new_space_dim);
-    return;
-  }
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-  // We create a new matrix with the new space dimension.
-  OR_Matrix<N> x(new_space_dim);
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>SUB</CODE>.
 
-  Row_Iterator m_begin = x.row_begin();
+  \param oracle
+  The FP_Oracle to be queried.
 
-  for (Row_Iterator i_iter = matrix.row_begin(), i_end = matrix.row_end();
-       i_iter != i_end; i_iter += 2) {
-    dimension_type new_i;
-    dimension_type i = i_iter.index()/2;
-    // We copy and place in the position into `x' the only cells of
-    // the `matrix' that refer to both mapped variables,
-    // the variable `i' and `j'.
-    if (pfunc.maps(i, new_i)) {
-      Row_Reference r_i = *i_iter;
-      Row_Reference r_ii = *(i_iter + 1);
-      dimension_type double_new_i = 2*new_i;
-      Row_Iterator x_iter = m_begin + double_new_i;
-      Row_Reference x_i = *x_iter;
-      Row_Reference x_ii = *(x_iter + 1);
-      for (dimension_type j = 0; j <= i; ++j) {
-        dimension_type new_j;
-        // If also the second variable is mapped, we work.
-        if (pfunc.maps(j, new_j)) {
-          dimension_type dj = 2*j;
-          dimension_type double_new_j = 2*new_j;
-          // Mapped the constraints, exchanging the indexes.
-          // Attention: our matrix is pseudo-triangular.
-          // If new_j > new_i, we must consider, as rows, the rows of
-          // the variable new_j, and not of new_i ones.
-          if (new_i >= new_j) {
-            assign_or_swap(x_i[double_new_j], r_i[dj]);
-            assign_or_swap(x_ii[double_new_j], r_ii[dj]);
-            assign_or_swap(x_ii[double_new_j+1], r_ii[dj + 1]);
-            assign_or_swap(x_i[double_new_j+1], r_i[dj + 1]);
-          }
-          else {
-            Row_Iterator xj_iter = m_begin + double_new_j;
-            Row_Reference x_j = *xj_iter;
-            Row_Reference x_jj = *(xj_iter + 1);
-            assign_or_swap(x_jj[double_new_i+1], r_i[dj]);
-            assign_or_swap(x_jj[double_new_i], r_ii[dj]);
-            assign_or_swap(x_j[double_new_i+1], r_i[dj+1]);
-            assign_or_swap(x_j[double_new_i], r_ii[dj+1]);
-          }
+  \param lf_store
+  The linear form abstract store.
 
-        }
-      }
-    }
-  }
+  \param result
+  The modified linear form.
 
-  std::swap(matrix, x);
-  space_dim = new_space_dim;
-  PPL_ASSERT(OK());
+  \par Linearization of difference floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adlf\f$ two sound abstract
+  operators on linear form such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \adifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$e_{1} \ominus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,  we construct the interval linear form
+  \f$\linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  on \f$\cV\f$ as follows:
+  \f[
+  \linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form) and \f$mf_{\mathbf{f}}\f$ is a rounding
+  error computed by function <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+sub_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::SUB);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
+
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+
+  result -= linearized_second_operand;
+  linearized_second_operand.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::intersection_assign(const Octagonal_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("intersection_assign(y)", y);
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  product of floating point expressions.
 
-  // If one of the two octagons is empty, the intersection is empty.
-  if (marked_empty())
-    return;
-  if (y.marked_empty()) {
-    set_empty();
-    return;
-  }
-  // If both octagons are zero-dimensional,then at this point
-  // they are necessarily non-empty,
-  // so that their intersection is non-empty too.
-  if (space_dim == 0)
-    return;
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
 
-  // To intersect two octagons we compare the constraints
-  // and we choose the less values.
-  bool changed = false;
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
 
-  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-         matrix_element_end = matrix.element_end();
-       i != matrix_element_end;
-       ++i, ++j) {
-    N& elem = *i;
-    const N& y_elem = *j;
-    if (y_elem < elem) {
-      elem = y_elem;
-      changed = true;
-    }
-  }
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-  // This method not preserve the closure.
-  if (changed && marked_strongly_closed())
-    reset_strongly_closed();
-  PPL_ASSERT(OK());
-}
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
 
-template <typename T>
-template <typename Iterator>
-void
-Octagonal_Shape<T>::CC76_extrapolation_assign(const Octagonal_Shape& y,
-                                              Iterator first, Iterator last,
-                                              unsigned* tp) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>MUL</CODE>.
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  \param oracle
+  The FP_Oracle to be queried.
 
-  // If both octagons are zero-dimensional,
-  // since `*this' contains `y', we simply return `*this'.
-  if (space_dim == 0)
-    return;
+  \param lf_store
+  The linear form abstract store.
 
-  strong_closure_assign();
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  y.strong_closure_assign();
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+  \param result
+  The modified linear form.
 
-  // If there are tokens available, work on a temporary copy.
-  if (tp != 0 && *tp > 0) {
-    Octagonal_Shape x_tmp(*this);
-    x_tmp.CC76_extrapolation_assign(y, first, last, 0);
-    // If the widening was not precise, use one of the available tokens.
-    if (!contains(x_tmp))
-      --(*tp);
-    return;
-  }
+  \par Linearization of multiplication floating-point expressions
 
-  // Compare each constraint in `y' to the corresponding one in `*this'.
-  // The constraint in `*this' is kept as is if it is stronger than or
-  // equal to the constraint in `y'; otherwise, the inhomogeneous term
-  // of the constraint in `*this' is further compared with elements taken
-  // from a sorted container (the stop-points, provided by the user), and
-  // is replaced by the first entry, if any, which is greater than or equal
-  // to the inhomogeneous term. If no such entry exists, the constraint
-  // is removed altogether.
-  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-         matrix_element_end = matrix.element_end();
-       i != matrix_element_end;
-       ++i, ++j) {
-    const N& y_elem = *j;
-    N& elem = *i;
-    if (y_elem < elem) {
-      Iterator k = std::lower_bound(first, last, elem);
-      if (k != last) {
-        if (elem < *k)
-          assign_r(elem, *k, ROUND_UP);
-      }
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\amlf\f$ two sound abstract
+  operators on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  i
+  \amlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \amifp i'\right)
+  + \sum_{v \in \cV}\left(i \amifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$[a, b] \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left([a, b]
+  \amlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}\right)
+  \aslf
+  \left([a, b]
+  \amlf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1].
+  \f].
+
+  Given an expression \f$e_{1} \otimes [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{[a, b] \otimes e_{1}}{\rho^{\#}}{\rho^{\#}_l}.
+  \f]
+
+  Given an expression \f$e_{1} \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{\iota\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}
+  \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form), \f$\iota(l)\rho^{\#}\f$ is the intervalization
+  of \f$l\f$ (see method <CODE>intervalize</CODE> of class Linear_Form),
+  and \f$mf_{\mathbf{f}}\f$ is a rounding error computed by function
+  <CODE>compute_absolute_error</CODE>.
+
+  Even though we intervalize the first operand in the above example, the
+  actual implementation utilizes an heuristics for choosing which of the two
+  operands must be intervalized in order to obtain the most precise result.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+mul_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::MUL);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  /*
+    FIXME: We currently adopt the "Interval-Size Local" strategy in order to
+    decide which of the two linear forms must be intervalized, as described
+    in Section 6.2.4 ("Multiplication Strategies") of Antoine Mine's Ph.D.
+    thesis "Weakly Relational Numerical Abstract Domains".
+    In this Section are also described other multiplication strategies, such
+    as All-Cases, Relative-Size Local, Simplification-Driven Global and
+    Homogeneity Global.
+  */
+
+  // Here we choose which of the two linear forms must be intervalized.
+
+  // true if we intervalize the first form, false if we intervalize the second.
+  bool intervalize_first;
+  FP_Linear_Form linearized_first_operand;
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store,
+                 linearized_first_operand))
+    return false;
+  FP_Interval_Type intervalized_first_operand;
+  if (!linearized_first_operand.intervalize(oracle, intervalized_first_operand))
+    return false;
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  if (!linearized_second_operand.intervalize(oracle,
+                                             intervalized_second_operand))
+    return false;
+
+  // FIXME: we are not sure that what we do here is policy-proof.
+  if (intervalized_first_operand.is_bounded()) {
+    if (intervalized_second_operand.is_bounded()) {
+      analyzer_format first_interval_size
+        = intervalized_first_operand.upper()
+        - intervalized_first_operand.lower();
+      analyzer_format second_interval_size
+        = intervalized_second_operand.upper()
+        - intervalized_second_operand.lower();
+      if (first_interval_size <= second_interval_size)
+        intervalize_first = true;
       else
-        assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
+        intervalize_first = false;
     }
+    else
+      intervalize_first = true;
+  }
+  else {
+    if (intervalized_second_operand.is_bounded())
+      intervalize_first = false;
+    else
+      return false;
   }
 
-  reset_strongly_closed();
-  PPL_ASSERT(OK());
+  // Here we do the actual computation.
+  // For optimizing, we store the relative error directly into result.
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  if (intervalize_first) {
+    linearized_second_operand.relative_error(analyzed_format, result);
+    linearized_second_operand *= intervalized_first_operand;
+    result *= intervalized_first_operand;
+    result += linearized_second_operand;
+  }
+  else {
+    linearized_first_operand.relative_error(analyzed_format, result);
+    linearized_first_operand *= intervalized_second_operand;
+    result *= intervalized_second_operand;
+    result += linearized_first_operand;
+  }
+
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::get_limiting_octagon(const Constraint_System& cs,
-                       Octagonal_Shape& limiting_octagon) const {
-  const dimension_type cs_space_dim = cs.space_dimension();
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(cs_space_dim <= space_dim);
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a
+  division of floating point expressions.
 
-  strong_closure_assign();
-  bool is_oct_changed = false;
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
 
-  // Allocate temporaries outside of the loop.
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(term);
-  PPL_DIRTY_TEMP(N, d);
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
 
-  for (Constraint_System::const_iterator cs_i = cs.begin(),
-         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
-    const Constraint& c = *cs_i;
-    dimension_type num_vars = 0;
-    dimension_type i = 0;
-    dimension_type j = 0;
-    // Constraints that are not octagonal differences are ignored.
-    if (!extract_octagonal_difference(c, cs_space_dim, num_vars, i, j,
-                                      coeff, term))
-      continue;
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-    typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-    typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
-    typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-    typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-    Row_iterator m_begin = matrix.row_begin();
-    // Select the cell to be modified for the "<=" part of the constraint.
-    Row_iterator i_iter = m_begin + i;
-    Row_reference m_i = *i_iter;
-    OR_Matrix<N>& lo_mat = limiting_octagon.matrix;
-    Row_Iterator lo_iter = lo_mat.row_begin() + i;
-    Row_Reference lo_m_i = *lo_iter;
-    N& lo_m_i_j = lo_m_i[j];
-    if (coeff < 0)
-      neg_assign(coeff);
-    // Compute the bound for `m_i_j', rounding towards plus infinity.
-    div_round_up(d, term, coeff);
-    if (m_i[j] <= d)
-      if (c.is_inequality()) {
-        if (lo_m_i_j > d) {
-          lo_m_i_j = d;
-          is_oct_changed = true;
-        }
-        else {
-          // Select the right row of the cell.
-          if (i % 2 == 0) {
-            ++i_iter;
-            ++lo_iter;
-          }
-          else {
-            --i_iter;
-            --lo_iter;
-          }
-          Row_reference m_ci = *i_iter;
-          Row_Reference lo_m_ci = *lo_iter;
-          // Select the right column of the cell.
-          using namespace Implementation::Octagonal_Shapes;
-          dimension_type cj = coherent_index(j);
-          N& lo_m_ci_cj = lo_m_ci[cj];
-          neg_assign(term);
-          div_round_up(d, term, coeff);
-          if (m_ci[cj] <= d && lo_m_ci_cj > d) {
-            lo_m_ci_cj = d;
-            is_oct_changed = true;
-          }
-        }
-      }
-  }
-  // In general, adding a constraint does not preserve the strongly
-  // closure of the octagon.
-  if (is_oct_changed && limiting_octagon.marked_strongly_closed())
-    limiting_octagon.reset_strongly_closed();
-}
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::limited_CC76_extrapolation_assign(const Octagonal_Shape& y,
-                                    const Constraint_System& cs,
-                                    unsigned* tp) {
+  \param bop_expr
+  The binary operator concrete expression to linearize.
+  Its binary operator type must be <CODE>DIV</CODE>.
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
-                                 y);
-  // `cs' must be dimension-compatible with the two octagons.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (space_dim < cs_space_dim)
-    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
+  \param oracle
+  The FP_Oracle to be queried.
 
-  // Strict inequalities not allowed.
-  if (cs.has_strict_inequalities())
-    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
+  \param lf_store
+  The linear form abstract store.
 
-  // The limited CC76-extrapolation between two octagons in a
-  // zero-dimensional space is a octagon in a zero-dimensional
-  // space, too.
-  if (space_dim == 0)
-    return;
+  \param result
+  The modified linear form.
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  \par Linearization of division floating-point expressions
 
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adivlf\f$ two sound abstract
+  operator on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adivlf
+  i'
+  =
+  \left(i \adivifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adivifp i'\right)v.
+  \f]
+  Given an expression \f$e_{1} \oslash [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,
+  we construct the interval linear form
+  \f$
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  \f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adivlf
+  [a, b]\right)
+  \aslf
+  \left(\varepsilon_{\mathbf{f}}\left(
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \adivlf
+  [a, b]\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1],
+  \f]
+  given an expression \f$e_{1} \oslash e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1} \oslash \iota\left(
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the relative error
+  associated to \f$l\f$ (see method <CODE>relative_error</CODE> of
+  class Linear_Form), \f$\iota(l)\rho^{\#}\f$ is the intervalization
+  of \f$l\f$ (see method <CODE>intervalize</CODE> of class Linear_Form),
+  and \f$mf_{\mathbf{f}}\f$ is a rounding error computed by function
+  <CODE>compute_absolute_error</CODE>.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+div_linearize(const Binary_Operator<Target>& bop_expr,
+              const FP_Oracle<Target,FP_Interval_Type>& oracle,
+              const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+              Linear_Form<FP_Interval_Type>& result) {
+  PPL_ASSERT(bop_expr.binary_operator() == Binary_Operator<Target>::DIV);
+
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  FP_Linear_Form linearized_second_operand;
+  if (!linearize(*(bop_expr.right_hand_side()), oracle, lf_store,
+                 linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  if (!linearized_second_operand.intervalize(oracle,
+                                             intervalized_second_operand))
+    return false;
 
-  Octagonal_Shape limiting_octagon(space_dim, UNIVERSE);
-  get_limiting_octagon(cs, limiting_octagon);
-  CC76_extrapolation_assign(y, tp);
-  intersection_assign(limiting_octagon);
+  // Check if we may divide by zero.
+  if ((intervalized_second_operand.lower_is_boundary_infinity() ||
+       intervalized_second_operand.lower() <= 0) &&
+      (intervalized_second_operand.upper_is_boundary_infinity() ||
+       intervalized_second_operand.upper() >= 0))
+    return false;
+
+  if (!linearize(*(bop_expr.left_hand_side()), oracle, lf_store, result))
+    return false;
+
+  Floating_Point_Format analyzed_format =
+    bop_expr.type().floating_point_format();
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result /= intervalized_second_operand;
+  rel_error /= intervalized_second_operand;
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::BHMZ05_widening_assign(const Octagonal_Shape& y,
-                                           unsigned* tp) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
+/*! \brief \relates Parma_Polyhedra_Library::Concrete_Expression
+  Helper function used by <CODE>linearize</CODE> to linearize a cast
+  floating point expression.
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  Makes \p result become the linearization of \p *this in the given
+  composite abstract store.
 
-  // Compute the affine dimension of `y'.
-  const dimension_type y_affine_dim = y.affine_dimension();
-  // If the affine dimension of `y' is zero, then either `y' is
-  // zero-dimensional, or it is empty, or it is a singleton.
-  // In all cases, due to the inclusion hypothesis, the result is `*this'.
-  if (y_affine_dim == 0)
-    return;
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
 
-  // If the affine dimension has changed, due to the inclusion hypothesis,
-  // the result is `*this'.
-  const dimension_type x_affine_dim = affine_dimension();
-  PPL_ASSERT(x_affine_dim >= y_affine_dim);
-  if (x_affine_dim != y_affine_dim)
-    return;
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-  // If there are tokens available, work on a temporary copy.
-  if (tp != 0 && *tp > 0) {
-    Octagonal_Shape x_tmp(*this);
-    x_tmp.BHMZ05_widening_assign(y, 0);
-    // If the widening was not precise, use one of the available tokens.
-    if (!contains(x_tmp))
-      --(*tp);
-    return;
-  }
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
 
-  // Here no token is available.
-  PPL_ASSERT(marked_strongly_closed() && y.marked_strongly_closed());
-  // Minimize `y'.
-  y.strong_reduction_assign();
+  \param cast_expr
+  The cast operator concrete expression to linearize.
 
-  // Extrapolate unstable bounds.
-  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-       matrix_element_end = matrix.element_end();
-       i != matrix_element_end;
-       ++i, ++j) {
-    N& elem = *i;
-      // Note: in the following line the use of `!=' (as opposed to
-      // the use of `<' that would seem -but is not- equivalent) is
-      // intentional.
-    if (*j != elem)
-      assign_r(elem, PLUS_INFINITY, ROUND_NOT_NEEDED);
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  The modified linear form.
+*/
+template <typename Target, typename FP_Interval_Type>
+static bool
+cast_linearize(const Cast_Operator<Target>& cast_expr,
+               const FP_Oracle<Target,FP_Interval_Type>& oracle,
+               const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+               Linear_Form<FP_Interval_Type>& result) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  Floating_Point_Format analyzed_format =
+    cast_expr.type().floating_point_format();
+  const Concrete_Expression<Target>* cast_arg = cast_expr.argument();
+  if (cast_arg->type().is_floating_point()) {
+    if (!linearize(*cast_arg, oracle, lf_store, result))
+      return false;
+    if (!is_less_precise_than(analyzed_format,
+                              cast_arg->type().floating_point_format()) ||
+        result == FP_Linear_Form(FP_Interval_Type(0)) ||
+        result == FP_Linear_Form(FP_Interval_Type(1)))
+      /*
+        FIXME: find a general way to check if the casted constant
+        is exactly representable in the less precise format.
+      */
+      /*
+        We are casting to a more precise format or casting
+        a definitely safe value: do not add errors.
+      */
+      return true;
   }
-  reset_strongly_closed();
-  PPL_ASSERT(OK());
+  else {
+    FP_Interval_Type expr_value;
+    if (!oracle.get_integer_expr_value(*cast_arg, expr_value))
+      return false;
+    result = FP_Linear_Form(expr_value);
+    if (is_less_precise_than(Float<analyzer_format>::Binary::floating_point_format, analyzed_format) ||
+        result == FP_Linear_Form(FP_Interval_Type(0)) ||
+        result == FP_Linear_Form(FP_Interval_Type(1)))
+      /*
+        FIXME: find a general way to check if the casted constant
+        is exactly representable in the less precise format.
+      */
+      /*
+        We are casting to a more precise format or casting
+        a definitely safe value: do not add errors.
+      */
+      return true;
+  }
+
+  FP_Linear_Form rel_error;
+  result.relative_error(analyzed_format, rel_error);
+  result += rel_error;
+  FP_Interval_Type absolute_error =
+                   compute_absolute_error<FP_Interval_Type>(analyzed_format);
+  result += absolute_error;
+  return !result.overflows();
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::limited_BHMZ05_extrapolation_assign(const Octagonal_Shape& y,
-                                      const Constraint_System& cs,
-                                      unsigned* tp) {
+//! Linearizes a floating point expression.
+/*! \relates Parma_Polyhedra_Library::Concrete_Expression
+  Makes \p result become a linear form that correctly approximates the
+  value of \p expr in the given composite abstract store.
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)",
-                                 y);
-  // `cs' must be dimension-compatible with the two octagons.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (space_dim < cs_space_dim)
-    throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)");
+  \tparam Target
+  A type template parameter specifying the instantiation of
+  Concrete_Expression to be used.
 
-  // Strict inequalities not allowed.
-  if (cs.has_strict_inequalities())
-    throw_constraint_incompatible("limited_CH78_extrapolation_assign(y, cs)");
+  \tparam FP_Interval_Type
+  A type template parameter for the intervals used in the abstract domain.
+  The interval bounds should have a floating point type.
 
-  // The limited BHMZ05-extrapolation between two octagons in a
-  // zero-dimensional space is a octagon in a zero-dimensional
-  // space, too.
-  if (space_dim == 0)
-    return;
+  \return
+  <CODE>true</CODE> if the linearization succeeded,
+  <CODE>false</CODE> otherwise.
+
+  \param expr
+  The concrete expression to linearize.
+
+  \param oracle
+  The FP_Oracle to be queried.
+
+  \param lf_store
+  The linear form abstract store.
+
+  \param result
+  Becomes the linearized expression.
+
+  Formally, if \p expr represents the expression \f$e\f$ and
+  \p lf_store represents the linear form abstract store \f$\rho^{\#}_l\f$,
+  then \p result will become \f$\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}\f$
+  if the linearization succeeds.
+*/
+template <typename Target, typename FP_Interval_Type>
+bool
+linearize(const Concrete_Expression<Target>& expr,
+          const FP_Oracle<Target,FP_Interval_Type>& oracle,
+          const std::map<dimension_type, Linear_Form<FP_Interval_Type> >& lf_store,
+          Linear_Form<FP_Interval_Type>& result) {
+  typedef typename FP_Interval_Type::boundary_type analyzer_format;
+  typedef Linear_Form<FP_Interval_Type> FP_Linear_Form;
+  typedef Box<FP_Interval_Type> FP_Interval_Abstract_Store;
+  typedef std::map<dimension_type, FP_Linear_Form> FP_Linear_Form_Abstract_Store;
+
+  PPL_ASSERT(expr.type().is_floating_point());
+  // Check that analyzer_format is a floating point type.
+  PPL_COMPILE_TIME_CHECK(!std::numeric_limits<analyzer_format>::is_exact,
+      "linearize<Target, FP_Interval_Type>:"
+      " FP_Interval_Type is not the type of an interval with floating point boundaries.");
+
+  switch(expr.kind()) {
+  case Integer_Constant<Target>::KIND:
+    PPL_UNREACHABLE;
+    break;
+  case Floating_Point_Constant<Target>::KIND:
+  {
+    const Floating_Point_Constant<Target>* fpc_expr =
+      expr.template as<Floating_Point_Constant>();
+    FP_Interval_Type constant_value;
+    if (!oracle.get_fp_constant_value(*fpc_expr, constant_value))
+      return false;
+    result = FP_Linear_Form(constant_value);
+    return true;
+  }
+  case Unary_Operator<Target>::KIND:
+  {
+    const Unary_Operator<Target>* uop_expr =
+      expr.template as<Unary_Operator>();
+    switch (uop_expr->unary_operator()) {
+    case Unary_Operator<Target>::UPLUS:
+      return linearize(*(uop_expr->argument()), oracle, lf_store, result);
+    case Unary_Operator<Target>::UMINUS:
+      if (!linearize(*(uop_expr->argument()), oracle, lf_store, result))
+        return false;
 
-#ifndef NDEBUG
+      result.negate();
+      return true;
+    case Unary_Operator<Target>::BNOT:
+      throw std::runtime_error("PPL internal error: unimplemented");
+      break;
+    default:
+      PPL_UNREACHABLE;
+      break;
+    }
+    break;
+  }
+  case Binary_Operator<Target>::KIND:
   {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
+    const Binary_Operator<Target>* bop_expr =
+      expr.template as<Binary_Operator>();
+    switch (bop_expr->binary_operator()) {
+    case Binary_Operator<Target>::ADD:
+      return add_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::SUB:
+      return sub_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::MUL:
+      return mul_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::DIV:
+      return div_linearize(*bop_expr, oracle, lf_store, result);
+    case Binary_Operator<Target>::REM:
+    case Binary_Operator<Target>::BAND:
+    case Binary_Operator<Target>::BOR:
+    case Binary_Operator<Target>::BXOR:
+    case Binary_Operator<Target>::LSHIFT:
+    case Binary_Operator<Target>::RSHIFT:
+      // FIXME: can we do better?
+      return false;
+    default:
+      PPL_UNREACHABLE;
+      return false;
+    }
+    break;
   }
-#endif
+  case Approximable_Reference<Target>::KIND:
+  {
+    const Approximable_Reference<Target>* ref_expr =
+      expr.template as<Approximable_Reference>();
+    std::set<dimension_type> associated_dimensions;
+    if (!oracle.get_associated_dimensions(*ref_expr, associated_dimensions)
+        || associated_dimensions.empty())
+      /*
+        We were unable to find any associated space dimension:
+        linearization fails.
+      */
+      return false;
 
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+    if (associated_dimensions.size() == 1) {
+      /* If a linear form associated to the only referenced
+         space dimension exists in lf_store, return that form.
+         Otherwise, return the simplest linear form. */
+      dimension_type variable_index = *associated_dimensions.begin();
+      PPL_ASSERT(variable_index != not_a_dimension());
+
+      typename FP_Linear_Form_Abstract_Store::const_iterator
+               variable_value = lf_store.find(variable_index);
+      if (variable_value == lf_store.end()) {
+        result = FP_Linear_Form(Variable(variable_index));
+        return true;
+      }
 
-  Octagonal_Shape limiting_octagon(space_dim, UNIVERSE);
-  get_limiting_octagon(cs, limiting_octagon);
-  BHMZ05_widening_assign(y, tp);
-  intersection_assign(limiting_octagon);
-}
+      result = FP_Linear_Form(variable_value->second);
+      /* FIXME: do we really need to contemplate the possibility
+	 that an unbounded linear form was saved into lf_store? */
+      return !result.overflows();
+    }
 
-template <typename T>
-void
-Octagonal_Shape<T>::CC76_narrowing_assign(const Octagonal_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dim)
-    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
+    /*
+      Here associated_dimensions.size() > 1. Try to return the LUB
+      of all intervals associated to each space dimension.
+    */
+    PPL_ASSERT(associated_dimensions.size() > 1);
+    std::set<dimension_type>::const_iterator i = associated_dimensions.begin();
+    std::set<dimension_type>::const_iterator i_end =
+      associated_dimensions.end();
+    FP_Interval_Type lub(EMPTY);
+    for (; i != i_end; ++i) {
+      FP_Interval_Type curr_int;
+      PPL_ASSERT(*i != not_a_dimension());
+      if (!oracle.get_interval(*i, curr_int))
+        return false;
 
-#ifndef NDEBUG
+      lub.join_assign(curr_int);
+    }
+
+    result = FP_Linear_Form(lub);
+    return !result.overflows();
+  }
+  case Cast_Operator<Target>::KIND:
   {
-    // We assume that `*this' is contained in or equal to `y'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
+    const Cast_Operator<Target>* cast_expr =
+      expr.template as<Cast_Operator>();
+    return cast_linearize(*cast_expr, oracle, lf_store, result);
+  }
+  default:
+    PPL_UNREACHABLE;
+    break;
   }
-#endif
 
-  // If both octagons are zero-dimensional, since `*this' contains `y',
-  // we simply return '*this'.
-  if (space_dim == 0)
-    return;
+  PPL_UNREACHABLE;
+  return false;
+}
 
-  y.strong_closure_assign();
-  // If `y' is empty, since `y' contains `*this', `*this' is empty too.
-  if (y.marked_empty())
-    return;
-  strong_closure_assign();
-  // If `*this' is empty, we return.
-  if (marked_empty())
-    return;
+} // namespace Parma_Polyhedra_Library
 
-  // We consider a constraint of `*this', if its value is `plus_infinity',
-  // we take the value of the corresponding constraint of `y'.
-  bool is_oct_changed = false;
-  typename OR_Matrix<N>::const_element_iterator j = y.matrix.element_begin();
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-       matrix_element_end = matrix.element_end();
-       i != matrix_element_end;
-       ++i, ++j) {
-     if (!is_plus_infinity(*i)
-         && !is_plus_infinity(*j)
-         && *i != *j) {
-      *i = *j;
-      is_oct_changed = true;
-    }
-  }
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 1. */
+/* PIP_Tree_Node class declaration.
+*/
 
-  if (is_oct_changed && marked_strongly_closed())
-    reset_strongly_closed();
-  PPL_ASSERT(OK());
-}
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::deduce_v_pm_u_bounds(const dimension_type v_id,
-                       const dimension_type last_id,
-                       const Linear_Expression& sc_expr,
-                       Coefficient_traits::const_reference sc_den,
-                       const N& ub_v) {
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(sc_den > 0);
-  PPL_ASSERT(!is_plus_infinity(ub_v));
+/* Automatically generated from PPL source file ../src/PIP_Tree.types.hh line 1. */
 
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
 
-  // No need to consider indices greater than `last_id'.
-  const dimension_type n_v = 2*v_id;
-  typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v+1];
+namespace Parma_Polyhedra_Library {
 
-  // Speculatively allocate temporaries out of the loop.
-  PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_q);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, lb_u);
-  PPL_DIRTY_TEMP(N, up_approx);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
+class PIP_Tree_Node;
+class PIP_Solution_Node;
+class PIP_Decision_Node;
 
-  for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
-    // Skip the case when `u_id == v_id'.
-    if (u_id == v_id)
-      continue;
-    const Coefficient& expr_u = sc_expr.coefficient(Variable(u_id));
-    // Skip the case when `expr_u == 0'.
-    if (expr_u == 0)
-      continue;
+typedef const PIP_Tree_Node* PIP_Tree;
 
-    const dimension_type n_u = u_id*2;
-    // If `expr_u' is positive, we can improve `v - u'.
-    if (expr_u > 0) {
-      if (expr_u >= sc_den) {
-        // Here q >= 1: deducing `v - u <= ub_v - ub_u'.
-        // We avoid to check if `ub_u' is plus infinity, because
-        // it is used for the computation of `ub_v'.
-        // Let half = m_cu_u / 2.
-        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
-        N& m_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v] : m_cv[n_u+1];
-        sub_assign_r(m_v_minus_u, ub_v, half, ROUND_UP);
-      }
-      else {
-        // Here 0 < q < 1.
-        typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
-        const N& m_u_cu = m_u[n_u+1];
-        if (!is_plus_infinity(m_u_cu)) {
-          // Let `ub_u' and `lb_u' be the known upper and lower bound
-          // for `u', respectively. The upper bound for `v - u' is
-          // computed as `ub_v - (q * ub_u + (1-q) * lb_u)',
-          // i.e., `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
-          assign_r(minus_lb_u, m_u_cu, ROUND_NOT_NEEDED);
-          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
-          assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
-          // Compute `ub_u - lb_u'.
-          add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
-          // Compute `(-lb_u) - q * (ub_u - lb_u)'.
-          sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
-          assign_r(up_approx, minus_lb_u, ROUND_UP);
-          // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
-          N& m_v_minus_u = (n_v < n_u) ? m_u[n_v] : m_cv[n_u+1];
-          add_assign_r(m_v_minus_u, ub_v, up_approx, ROUND_UP);
-        }
-      }
-    }
-    else {
-      PPL_ASSERT(expr_u < 0);
-      // If `expr_u' is negative, we can improve `v + u'.
-      neg_assign(minus_expr_u, expr_u);
-      if (minus_expr_u >= sc_den) {
-        // Here q <= -1: Deducing `v + u <= ub_v + lb_u'.
-        // We avoid to check if `lb_u' is plus infinity, because
-        // it is used for the computation of `ub_v'.
-        // Let half = m_u_cu / 2.
-        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
-        N& m_v_plus_u = (n_v < n_u) ? matrix[n_u+1][n_v] : m_cv[n_u];
-        sub_assign_r(m_v_plus_u, ub_v, half, ROUND_UP);
-      }
-      else {
-        // Here -1 < q < 0.
-        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u+1];
-        const N& m_cu_u = m_cu[n_u];
-        if (!is_plus_infinity(m_cu_u)) {
-          // Let `ub_u' and `lb_u' be the known upper and lower bound
-          // for `u', respectively. The upper bound for `v + u' is
-          // computed as `ub_v + ((-q) * lb_u + (1+q) * ub_u)',
-          // i.e., `ub_v + ub_u + (-q) * (lb_u - ub_u)'.
-          assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
-          assign_r(minus_q, minus_expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(minus_q, minus_q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(lb_u, lb_u, 1, ROUND_NOT_NEEDED);
-          neg_assign_r(lb_u, lb_u, ROUND_NOT_NEEDED);
-          // Compute `lb_u - ub_u'.
-          sub_assign_r(lb_u, lb_u, ub_u, ROUND_NOT_NEEDED);
-          // Compute `ub_u + (-q) * (lb_u - ub_u)'.
-          add_mul_assign_r(ub_u, minus_q, lb_u, ROUND_NOT_NEEDED);
-          assign_r(up_approx, ub_u, ROUND_UP);
-          // Deducing `v + u <= ub_v + ((-q) * lb_u + (1+q) * ub_u)'.
-          N& m_v_plus_u = (n_v < n_u) ? m_cu[n_v] : m_cv[n_u];
-          add_assign_r(m_v_plus_u, ub_v, up_approx, ROUND_UP);
-        }
-      }
-    }
-  }
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::deduce_minus_v_pm_u_bounds(const dimension_type v_id,
-                             const dimension_type last_id,
-                             const Linear_Expression& sc_expr,
-                             Coefficient_traits::const_reference sc_den,
-                             const N& minus_lb_v) {
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(sc_den > 0);
-  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 1. */
+/* PIP_Problem class declaration.
+*/
 
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
 
-  // No need to consider indices greater than `last_id'.
-  const dimension_type n_v = 2*v_id;
-  typename OR_Matrix<N>::row_reference_type m_v = matrix[n_v];
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 35. */
+#include <vector>
+#include <deque>
+#include <iosfwd>
 
-  // Speculatively allocate temporaries out of the loop.
-  PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP(N, up_approx);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_expr_u);
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 40. */
 
-  for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
-    // Skip the case when `u_id == v_id'.
-    if (u_id == v_id)
-      continue;
-    const Coefficient& expr_u = sc_expr.coefficient(Variable(u_id));
-    // Skip the case when `expr_u == 0'.
-    if (expr_u == 0)
-      continue;
+namespace Parma_Polyhedra_Library {
 
-    const dimension_type n_u = u_id*2;
-    // If `expr_u' is positive, we can improve `-v + u'.
-    if (expr_u > 0) {
-      if (expr_u >= sc_den) {
-        // Here q >= 1: deducing `-v + u <= lb_u - lb_v',
-        // i.e., `u - v <= (-lb_v) - (-lb_u)'.
-        // We avoid to check if `lb_u' is plus infinity, because
-        // it is used for the computation of `lb_v'.
-        // Let half = m_u_cu / 2.
-        div_2exp_assign_r(half, matrix[n_u][n_u+1], 1, ROUND_UP);
-        N& m_u_minus_v = (n_v < n_u) ? matrix[n_u+1][n_v+1] : m_v[n_u];
-        sub_assign_r(m_u_minus_v, minus_lb_v, half, ROUND_UP);
-      }
-      else {
-        // Here 0 < q < 1.
-        typename OR_Matrix<N>::row_reference_type m_cu = matrix[n_u+1];
-        const N& m_cu_u = m_cu[n_u];
-        if (!is_plus_infinity(m_cu_u)) {
-          // Let `ub_u' and `lb_u' be the known upper and lower bound
-          // for `u', respectively. The upper bound for `u - v' is
-          // computed as `(q * lb_u + (1-q) * ub_u) - lb_v',
-          // i.e., `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
-          assign_r(ub_u, m_cu[n_u], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
-          assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(minus_lb_u, matrix[n_u][n_u+1], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
-          // Compute `ub_u - lb_u'.
-          add_assign_r(minus_lb_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
-          // Compute `ub_u - q * (ub_u - lb_u)'.
-          sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
-          assign_r(up_approx, ub_u, ROUND_UP);
-          // Deducing `u - v <= -lb_v - (q * lb_u + (1-q) * ub_u)'.
-          N& m_u_minus_v = (n_v < n_u) ? m_cu[n_v+1] : m_v[n_u];
-          add_assign_r(m_u_minus_v, minus_lb_v, up_approx, ROUND_UP);
-        }
-      }
-    }
-    else {
-      PPL_ASSERT(expr_u < 0);
-      // If `expr_u' is negative, we can improve `-v - u'.
-      neg_assign(minus_expr_u, expr_u);
-      if (minus_expr_u >= sc_den) {
-        // Here q <= -1: Deducing `-v - u <= -lb_v - ub_u'.
-        // We avoid to check if `ub_u' is plus infinity, because
-        // it is used for the computation of `lb_v'.
-        // Let half = m_cu_u / 2.
-        div_2exp_assign_r(half, matrix[n_u+1][n_u], 1, ROUND_UP);
-        N& m_minus_v_minus_u = (n_v < n_u) ? matrix[n_u][n_v+1] : m_v[n_u+1];
-        sub_assign_r(m_minus_v_minus_u, minus_lb_v, half, ROUND_UP);
-      }
-      else {
-        // Here -1 < q < 0.
-        typename OR_Matrix<N>::row_reference_type m_u = matrix[n_u];
-        const N& m_u_cu = m_u[n_u+1];
-        if (!is_plus_infinity(m_u_cu)) {
-          // Let `ub_u' and `lb_u' be the known upper and lower bound
-          // for `u', respectively. The upper bound for `-v - u' is
-          // computed as `-lb_v - ((-q)*ub_u + (1+q)*lb_u)',
-          // i.e., `minus_lb_v - lb_u + q*(ub_u - lb_u)'.
-          assign_r(ub_u, matrix[n_u+1][n_u], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(ub_u, ub_u, 1, ROUND_NOT_NEEDED);
-          assign_r(q, expr_u, ROUND_NOT_NEEDED);
-          div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-          assign_r(minus_lb_u, m_u[n_u+1], ROUND_NOT_NEEDED);
-          div_2exp_assign_r(minus_lb_u, minus_lb_u, 1, ROUND_NOT_NEEDED);
-          // Compute `ub_u - lb_u'.
-          add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
-          // Compute `-lb_u + q*(ub_u - lb_u)'.
-          add_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
-          assign_r(up_approx, minus_lb_u, ROUND_UP);
-          // Deducing `-v - u <= -lb_v - ((-q) * ub_u + (1+q) * lb_u)'.
-          N& m_minus_v_minus_u = (n_v < n_u) ? m_u[n_v+1] : m_v[n_u+1];
-          add_assign_r(m_minus_v_minus_u, minus_lb_v, up_approx, ROUND_UP);
-        }
-      }
-    }
-  }
-}
+namespace IO_Operators {
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::forget_all_octagonal_constraints(const dimension_type v_id) {
-  PPL_ASSERT(v_id < space_dim);
-  const dimension_type n_v = 2*v_id;
-  typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
-  typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
-  typename OR_Matrix<N>::row_reference_type r_cv = *(++m_iter);
-  for (dimension_type h = m_iter.row_size(); h-- > 0; ) {
-    assign_r(r_v[h], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r_cv[h], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-  ++m_iter;
-  for (typename OR_Matrix<N>::row_iterator m_end = matrix.row_end();
-       m_iter != m_end; ++m_iter) {
-    typename OR_Matrix<N>::row_reference_type r = *m_iter;
-    assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r[n_v+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::PIP_Problem */
+std::ostream&
+operator<<(std::ostream& s, const PIP_Problem& pip);
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::forget_binary_octagonal_constraints(const dimension_type v_id) {
-  PPL_ASSERT(v_id < space_dim);
-  const dimension_type n_v = 2*v_id;
-  typename OR_Matrix<N>::row_iterator m_iter = matrix.row_begin() + n_v;
-  typename OR_Matrix<N>::row_reference_type r_v = *m_iter;
-  typename OR_Matrix<N>::row_reference_type r_cv = *(++m_iter);
-  for (dimension_type k = n_v; k-- > 0; ) {
-    assign_r(r_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-  ++m_iter;
-  for (typename OR_Matrix<N>::row_iterator m_end = matrix.row_end();
-       m_iter != m_end; ++m_iter) {
-    typename OR_Matrix<N>::row_reference_type r = *m_iter;
-    assign_r(r[n_v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(r[n_v+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-}
+} // namespace IO_Operators
 
-template <typename T>
-void
-Octagonal_Shape<T>::unconstrain(const Variable var) {
-  // Dimension-compatibility check.
-  const dimension_type var_id = var.id();
-  if (space_dimension() < var_id + 1)
-    throw_dimension_incompatible("unconstrain(var)", var_id + 1);
+//! Swaps \p x with \p y.
+/*! \relates PIP_Problem */
+void swap(PIP_Problem& x, PIP_Problem& y);
 
-  // Enforce strong closure for precision.
-  strong_closure_assign();
+} // namespace Parma_Polyhedra_Library
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
-    return;
+//! A Parametric Integer (linear) Programming problem.
+/*! \ingroup PPL_CXX_interface
+  An object of this class encodes a parametric integer (linear)
+  programming problem. The PIP problem is specified by providing:
+   - the dimension of the vector space;
+   - the subset of those dimensions of the vector space that are
+     interpreted as integer parameters (the other space dimensions
+     are interpreted as non-parameter integer variables);
+   - a finite set of linear equality and (strict or non-strict)
+     inequality constraints involving variables and/or parameters;
+     these constraints are used to define:
+       - the <EM>feasible region</EM>, if they involve one or more
+         problem variable (and maybe some parameters);
+       - the <EM>initial context</EM>, if they only involve the
+         parameters;
+   - optionally, the so-called <EM>big parameter</EM>,
+     i.e., a problem parameter to be considered arbitrarily big.
 
-  forget_all_octagonal_constraints(var_id);
-  // Strong closure is preserved.
-  PPL_ASSERT(OK());
-}
+  Note that all problem variables and problem parameters are assumed
+  to take non-negative integer values, so that there is no need
+  to specify non-negativity constraints.
 
-template <typename T>
-void
-Octagonal_Shape<T>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
-  // This case captures the only legal cylindrification in a 0-dim space.
-  if (vars.empty())
-    return;
+  The class provides support for the (incremental) solution of the
+  PIP problem based on variations of the revised simplex method and
+  on Gomory cut generation techniques.
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
+  The solution for a PIP problem is the lexicographic minimum of the
+  integer points of the feasible region, expressed in terms of the
+  parameters. As the problem to be solved only involves non-negative
+  variables and parameters, the problem will always be either unfeasible
+  or optimizable.
 
-  // Enforce strong closure for precision.
-  strong_closure_assign();
+  As the feasibility and the solution value of a PIP problem depend on the
+  values of the parameters, the solution is a binary decision tree,
+  dividing the context parameter set into subsets.
+  The tree nodes are of two kinds:
+   - \e Decision nodes.
+     These are internal tree nodes encoding one or more linear tests
+     on the parameters; if all the tests are satisfied, then the solution
+     is the node's \e true child; otherwise, the solution is the node's
+     \e false child;
+   - \e Solution nodes.
+     These are leaf nodes in the tree, encoding the solution of the problem
+     in the current context subset, where each variable is defined in terms
+     of a linear expression of the parameters.
+     Solution nodes also optionally embed a set of parameter constraints:
+     if all these constraints are satisfied, the solution is described by
+     the node, otherwise the problem has no solution.
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
-    return;
+  It may happen that a decision node has no \e false child. This means
+  that there is no solution if at least one of the corresponding
+  constraints is not satisfied. Decision nodes having two or more linear
+  tests on the parameters cannot have a \e false child. Decision nodes
+  always have a \e true child.
 
-  for (Variables_Set::const_iterator vsi = vars.begin(),
-         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
-    forget_all_octagonal_constraints(*vsi);
-  // Strong closure is preserved.
-  PPL_ASSERT(OK());
-}
+  Both kinds of tree nodes may also contain the definition of extra
+  parameters which are artificially introduced by the solver to enforce
+  an integral solution. Such artificial parameters are defined by
+  the integer division of a linear expression on the parameters
+  by an integer coefficient.
 
-template <typename T>
-void
-Octagonal_Shape<T>::refine(const Variable var,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression& expr,
-                           Coefficient_traits::const_reference denominator) {
-  PPL_ASSERT(denominator != 0);
-  const dimension_type expr_space_dim = expr.space_dimension();
-  PPL_ASSERT(space_dim >= expr_space_dim);
-  const dimension_type var_id = var.id();
-  PPL_ASSERT(var_id <= space_dim);
-  PPL_ASSERT(expr.coefficient(var) == 0);
-  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
+  By exploiting the incremental nature of the solver, it is possible
+  to reuse part of the computational work already done when solving
+  variants of a given PIP_Problem: currently, incremental resolution
+  supports the addition of space dimensions, the addition of parameters
+  and the addition of constraints.
 
-  const Coefficient& b = expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
+  \par Example problem
+  An example PIP problem can be defined the following:
+  \code
+  3*j >= -2*i+8
+  j <= 4*i - 4
+  i <= n
+  j <= m
+  \endcode
+  where \c i and \c j are the problem variables
+  and \c n and \c m are the problem parameters.
+  This problem can be optimized; the resulting solution tree may be
+  represented as follows:
+  \verbatim
+  if 7*n >= 10 then
+    if 7*m >= 12 then
+      {i = 2 ; j = 2}
+    else
+      Parameter P = (m) div 2
+      if 2*n + 3*m >= 8 then
+        {i = -m - P + 4 ; j = m}
+      else
+        _|_
+  else
+    _|_
+  \endverbatim
+  The solution tree starts with a decision node depending on the
+  context constraint <code>7*n >= 10</code>.
+  If this constraint is satisfied by the values assigned to the
+  problem parameters, then the (textually first) \c then branch is taken,
+  reaching the \e true child of the root node (which in this case
+  is another decision node); otherwise, the (textually last) \c else
+  branch is taken, for which there is no corresponding \e false child.
+  \par
+  The \f$\perp\f$ notation, also called \e bottom, denotes the
+  lexicographic minimum of an empty set of solutions,
+  here meaning the corresponding subproblem is unfeasible.
+  \par
+  Notice that a tree node may introduce new (non-problem) parameters,
+  as is the case for parameter \c P in the (textually first) \c else
+  branch above. These \e artificial parameters are only meaningful
+  inside the subtree where they are defined and are used to define
+  the parametric values of the problem variables in solution nodes
+  (e.g., the <CODE>{i,j}</CODE> vector in the textually third \c then branch).
 
-  // Variable index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  \par Context restriction
+  The above solution is correct in an unrestricted initial context,
+  meaning all possible values are allowed for the parameters. If we
+  restrict the context with the following parameter inequalities:
+  \code
+  m >= n
+  n >= 5
+  \endcode
+  then the resulting optimizing tree will be a simple solution node:
+  \verbatim
+  {i = 2 ; j = 2}
+  \endverbatim
+
+  \par Creating the PIP_Problem object
+  The PIP_Problem object corresponding to the above example can be
+  created as follows:
+  \code
+  Variable i(0);
+  Variable j(1);
+  Variable n(2);
+  Variable m(3);
+  Variables_Set params(n, m);
+  Constraint_System cs;
+  cs.insert(3*j >= -2*i+8);
+  cs.insert(j <= 4*i - 4);
+  cs.insert(j <= m);
+  cs.insert(i <= n);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  \endcode
+  If you want to restrict the initial context, simply add the parameter
+  constraints the same way as for normal constraints.
+  \code
+  cs.insert(m >= n);
+  cs.insert(n >= 5);
+  \endcode
+
+  \par Solving the problem
+  Once the PIP_Problem object has been created, you can start the
+  resolution of the problem by calling the solve() method:
+  \code
+  PIP_Problem_Status status = pip.solve();
+  \endcode
+  where the returned \c status indicates if the problem has been optimized
+  or if it is unfeasible for any possible configuration of the parameter
+  values. The resolution process is also started if an attempt is made
+  to get its solution, as follows:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  In this case, an unfeasible problem will result in an empty solution
+  tree, i.e., assigning a null pointer to \c node.
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
+  \par Printing the solution tree
+  A previously computed solution tree may be printed as follows:
+  \code
+  pip.print_solution(std::cout);
+  \endcode
+  This will produce the following output (note: variables and parameters
+  are printed according to the default output function; see
+  <code>Variable::set_output_function</code>):
+  \verbatim
+  if 7*C >= 10 then
+    if 7*D >= 12 then
+      {2 ; 2}
+    else
+      Parameter E = (D) div 2
+      if 2*C + 3*D >= 8 then
+        {-D - E + 4 ; D}
       else
-        w_id = i;
-    }
-
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*j + b, where `j != v';
-  // - If t == 2, the `expr' is of the general form.
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+        _|_
+  else
+    _|_
+  \endverbatim
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const dimension_type n_var = 2*var_id;
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  \par Spanning the solution tree
+  A parameter assignment for a PIP problem binds each of the problem
+  parameters to a non-negative integer value. After fixing a parameter
+  assignment, the ``spanning'' of the PIP problem solution tree refers
+  to the process whereby the solution tree is navigated, starting from
+  the root node: the value of artificial parameters is computed according
+  to the parameter assignment and the node's constraints are evaluated,
+  thereby descending in either the true or the false subtree of decision
+  nodes and eventually reaching a solution node or a bottom node.
+  If a solution node is found, each of the problem variables is provided
+  with a parametric expression, which can be evaluated to a fixed value
+  using the given parameter assignment and the computed values for
+  artificial parameters.
+  \par
+  The coding of the spanning process can be done as follows.
+  First, the root of the PIP solution tree is retrieved:
+  \code
+  const PIP_Tree_Node* node = pip.solution();
+  \endcode
+  If \c node represents an unfeasible solution (i.e., \f$\perp\f$),
+  its value will be \c 0. For a non-null tree node, the virtual methods
+  \c PIP_Tree_Node::as_decision() and \c PIP_Tree_Node::as_solution()
+  can be used to check whether the node is a decision or a solution node:
+  \code
+  const PIP_Solution_Node* sol = node->as_solution();
+  if (sol != 0) {
+    // The node is a solution node
+    ...
+  }
+  else {
+    // The node is a decision node
+    const PIP_Decision_Node* dec = node->as_decision();
+    ...
+  }
+  \endcode
+  \par
+  The true (resp., false) child node of a Decision Node may be accessed by
+  using method \c PIP_Decision_Node::child_node(bool), passing \c true
+  (resp., \c false) as the input argument.
 
-  // Since we are only able to record octagonal differences, we can
-  // precisely deal with the case of a single variable only if its
-  // coefficient (taking into account the denominator) is 1.
-  // If this is not the case, we fall back to the general case
-  // so as to over-approximate the constraint.
-  if (t == 1 && expr.coefficient(Variable(w_id)) != denominator
-      && expr.coefficient(Variable(w_id)) != minus_den)
-    t = 2;
+  \par Artificial parameters
+  A PIP_Tree_Node::Artificial_Parameter object represents the result
+  of the integer division of a Linear_Expression (on the other
+  parameters, including the previously-defined artificials)
+  by an integer denominator (a Coefficient object).
+  The dimensions of the artificial parameters (if any) in a tree node
+  have consecutive indices starting from <code>dim+1</code>, where the value
+  of \c dim is computed as follows:
+   - for the tree root node, \c dim is the space dimension of the PIP_Problem;
+   - for any other node of the tree, it is recursively obtained by adding
+     the value of \c dim computed for the parent node to the number of
+     artificial parameters defined in the parent node.
+  \par
+  Since the numbering of dimensions for artificial parameters follows
+  the rule above, the addition of new problem variables and/or new problem
+  parameters to an already solved PIP_Problem object (as done when
+  incrementally solving a problem) will result in the systematic
+  renumbering of all the existing artificial parameters.
 
-  if (t == 0) {
-    // Case 1: expr == b.
-    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
-    two_b = 2*b;
-    switch (relsym) {
-    case EQUAL:
-      // Add the constraint `var == b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-      break;
-    case LESS_OR_EQUAL:
-      // Add the constraint `var <= b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-      break;
-    case GREATER_OR_EQUAL:
-      // Add the constraint `var >= b/denominator',
-      // i.e., `-var <= -b/denominator',
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-  }
-  else if (t == 1) {
-    // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    const dimension_type n_w = 2*w_id;
-    switch (relsym) {
-    case EQUAL:
-      if (w_coeff == denominator)
-        // Add the new constraint `var - w = b/denominator'.
-        if (var_id < w_id) {
-          add_octagonal_constraint(n_w, n_var, b, denominator);
-          add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
-        }
-        else {
-          add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
-          add_octagonal_constraint(n_var, n_w, b, minus_den);
-        }
-      else
-        // Add the new constraint `var + w = b/denominator'.
-        if (var_id < w_id) {
-          add_octagonal_constraint(n_w+1, n_var, b, denominator);
-          add_octagonal_constraint(n_w, n_var+1, b, minus_den);
-        }
-        else {
-          add_octagonal_constraint(n_var+1, n_w, b, denominator);
-          add_octagonal_constraint(n_var, n_w+1, b, minus_den);
-        }
-      break;
-    case LESS_OR_EQUAL:
-      {
-        PPL_DIRTY_TEMP(N, d);
-        div_round_up(d, b, denominator);
-        // Note that: `w_id != v', so that `expr' is of the form
-        // w_coeff * w + b, with `w_id != v'.
-        if (w_coeff == denominator) {
-          // Add the new constraints `v - w <= b/denominator'.
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w, n_var, d);
-          else
-            add_octagonal_constraint(n_var+1, n_w+1, d);
-        }
-        else if (w_coeff == minus_den) {
-          // Add the new constraints `v + w <= b/denominator'.
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var, d);
-          else
-            add_octagonal_constraint(n_var+1, n_w, d);
-        }
-        break;
-      }
+  \par Node constraints
+  All kind of tree nodes can contain context constraints.
+  Decision nodes always contain at least one of them.
+  The node's local constraint system can be obtained using method
+  PIP_Tree_Node::constraints.
+  These constraints only involve parameters, including both the problem
+  parameters and the artificial parameters that have been defined
+  in nodes occurring on the path from the root node to the current node.
+  The meaning of these constraints is as follows:
+   - On a decision node, if all tests in the constraints are true, then the
+     solution is the \e true child; otherwise it is the \e false child.
+   - On a solution node, if the (possibly empty) system of constraints
+     evaluates to true for a given parameter assignment, then the solution
+     is described by the node; otherwise the solution is \f$\perp\f$
+     (i.e., the problem is unfeasible for that parameter assignment).
 
-    case GREATER_OR_EQUAL:
-      {
-        PPL_DIRTY_TEMP(N, d);
-        div_round_up(d, b, minus_den);
-        // Note that: `w_id != v', so that `expr' is of the form
-        // w_coeff * w + b, with `w_id != v'.
-        if (w_coeff == denominator) {
-          // Add the new constraint `v - w >= b/denominator',
-          // i.e.,  `-v + w <= -b/denominator'.
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var+1, d);
-          else
-            add_octagonal_constraint(n_var, n_w, d);
-        }
-        else if (w_coeff == minus_den) {
-          // Add the new constraints `v + w >= b/denominator',
-          // i.e.,  `-v - w <= -b/denominator'.
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w, n_var+1, d);
-          else
-            add_octagonal_constraint(n_var, n_w+1, d);
-        }
-        break;
-      }
+  \par Getting the optimal values for the variables
+  After spanning the solution tree using the given parameter assignment,
+  if a solution node has been reached, then it is possible to retrieve
+  the parametric expression for each of the problem variables using
+  method PIP_Solution_Node::parametric_values. The retrieved expression
+  will be defined in terms of all the parameters (problem parameters
+  and artificial parameters defined along the path).
 
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-  }
-  else {
-    // Here t == 2, so that
-    // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2.
-    const bool is_sc = (denominator > 0);
-    PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-    neg_assign(minus_b, b);
-    const Coefficient& sc_b = is_sc ? b : minus_b;
-    const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-    const Coefficient& sc_den = is_sc ? denominator : minus_den;
-    const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-    // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-    // when `denominator' is negative. Do not use it unless you are sure
-    // it has been correctly assigned.
-    Linear_Expression minus_expr;
-    if (!is_sc)
-      minus_expr = -expr;
-    const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+  \par Solving maximization problems
+  You can solve a lexicographic maximization problem by reformulating its
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$M-x'_i\f$, where the \f$x'_i\f$ variables are positive variables to
+     be minimized.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = M-x_i\f$. To get back the value of
+     the expression of each \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = M-x'_i\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = M-x_i\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to maximize only a subset of the variables while minimizing
+  the other variables. In that case, just apply the variable substitution
+  method on the variables you want to be maximized. The variable
+  optimization priority will still be in lexicographic order.
 
-    PPL_DIRTY_TEMP(N, sum);
-    // Index of variable that is unbounded in `this'.
-    PPL_UNINITIALIZED(dimension_type, pinf_index);
-    // Number of unbounded variables found.
-    dimension_type pinf_count = 0;
+  \par
+  \b Example: consider you want to find the lexicographic maximum of the
+  \f$(x,y)\f$ vector, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq 2x - 4\\
+      y \leq -x + p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      M - y \geq 2M - 2x - 4\\
+      M - y \leq -M + x + p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(M - y >= 2*M - 2*x - 4);
+  cs.insert(M - y <= -M + x + p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (C + 1) div 3
+  {D - E - 1 ; -C + D + E + 1}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x' = M - \left\lfloor\frac{p+1}{3}\right\rfloor - 1 \\
+    y' = M - p + \left\lfloor\frac{p+1}{3}\right\rfloor + 1
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x = \left\lfloor\frac{p+1}{3}\right\rfloor + 1 \\
+    y = p - \left\lfloor\frac{p+1}{3}\right\rfloor - 1
+  \end{array}\right.
+  \f]
 
-    switch (relsym) {
-    case EQUAL:
-      {
-        PPL_DIRTY_TEMP(N, neg_sum);
-        // Index of variable that is unbounded in `this'.
-        PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
-        // Number of unbounded variables found.
-        dimension_type neg_pinf_count = 0;
+  \par Allowing variables to be arbitrarily signed
+  You can deal with arbitrarily signed variables by reformulating the
+  constraints using variable substitution. Proceed the following steps:
+   - Create a big parameter (see PIP_Problem::set_big_parameter_dimension),
+     which we will call \f$M\f$.
+   - Reformulate each of the maximization problem constraints by
+     substituting each \f$x_i\f$ variable with an expression of the form
+     \f$x'_i-M\f$, where the \f$x'_i\f$ variables are positive.
+   - Solve the lexicographic minimum for the \f$x'\f$ variable vector.
+   - The solution expression can be read in the form:
+   - In the solution expressions, the values of the \f$x'\f$ variables will
+     be expressed in the form: \f$x'_i = x_i+M\f$. To get back the value of
+     the expression of each signed \f$x_i\f$ variable, just apply the
+     formula: \f$x_i = x'_i-M\f$.
+  \par
+  Note that if the resulting expression of one of the \f$x'_i\f$ variables
+  is not in the \f$x'_i = x_i+M\f$ form, this means that the
+  sign-unrestricted problem is unbounded.
+  \par
+  You can choose to define only a subset of the variables to be
+  sign-unrestricted. In that case, just apply the variable substitution
+  method on the variables you want to be sign-unrestricted.
 
-        // Approximate the inhomogeneous term.
-        assign_r(sum, sc_b, ROUND_UP);
-        assign_r(neg_sum, minus_sc_b, ROUND_UP);
+  \par
+  \b Example: consider you want to find the lexicographic minimum of the
+  \f$(x,y)\f$ vector, where the \f$x\f$ and \f$y\f$ variables are
+  sign-unrestricted, under the constraints:
+    \f[\left\{\begin{array}{l}
+      y \geq -2x - 4\\
+      2y \leq x + 2p
+    \end{array}\right.\f]
+  \par
+  where \f$p\f$ is a parameter.
+  \par
+  After variable substitution, the constraints become:
+    \f[\left\{\begin{array}{l}
+      y' - M \geq -2x' + 2M - 4\\
+      2y' - 2M \leq x' - M + 2p
+    \end{array}\right.\f]
+  \par
+  The code for creating the corresponding problem object is the following:
+  \code
+  Variable x(0);
+  Variable y(1);
+  Variable p(2);
+  Variable M(3);
+  Variables_Set params(p, M);
+  Constraint_System cs;
+  cs.insert(y - M >= -2*x + 2*M - 4);
+  cs.insert(2*y - 2*M <= x - M + 2*p);
+  PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+  pip.set_big_parameter_dimension(3);     // M is the big parameter
+  \endcode
+  \par
+  Solving the problem provides the following solution:
+  \verbatim
+  Parameter E = (2*C + 3) div 5
+  {D - E - 1 ; D + 2*E - 2}
+  \endverbatim
+  Under the notations above, the solution is:
+  \f[ \left\{\begin{array}{l}
+    x' = M - \left\lfloor\frac{2p+3}{5}\right\rfloor - 1 \\
+    y' = M + 2\left\lfloor\frac{2p+3}{5}\right\rfloor - 2
+  \end{array}\right.
+  \f]
+  \par
+  Performing substitution again provides us with the values of the original
+  variables:
+  \f[ \left\{\begin{array}{l}
+    x = -\left\lfloor\frac{2p+3}{5}\right\rfloor - 1 \\
+    y = 2\left\lfloor\frac{2p+3}{5}\right\rfloor - 2
+  \end{array}\right.
+  \f]
 
-        // Approximate the homogeneous part of `sc_expr'.
-        PPL_DIRTY_TEMP(N, coeff_i);
-        PPL_DIRTY_TEMP(N, half);
-        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-        PPL_DIRTY_TEMP(N, minus_coeff_i);
-        // Note: indices above `w' can be disregarded, as they all have
-        // a zero coefficient in `sc_expr'.
-        for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
-             m_iter != m_iter_end; ) {
-          const dimension_type n_i = m_iter.index();
-          const dimension_type id = n_i/2;
-          Row_reference m_i = *m_iter;
-          ++m_iter;
-          Row_reference m_ci = *m_iter;
-          ++m_iter;
-          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-          const int sign_i = sgn(sc_i);
-          if (sign_i > 0) {
-            assign_r(coeff_i, sc_i, ROUND_UP);
-            // Approximating `sc_expr'.
-            if (pinf_count <= 1) {
-              const N& double_approx_i = m_ci[n_i];
-              if (!is_plus_infinity(double_approx_i)) {
-                // Let half = double_approx_i / 2.
-                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
-                add_mul_assign_r(sum, coeff_i, half, ROUND_UP);
-              }
-              else {
-                ++pinf_count;
-                pinf_index = id;
-              }
-            }
-            // Approximating `-sc_expr'.
-            if (neg_pinf_count <= 1) {
-              const N& double_approx_minus_i = m_i[n_i+1];
-              if (!is_plus_infinity(double_approx_minus_i)) {
-                // Let half = double_approx_minus_i / 2.
-                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
-                add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
-              }
-              else {
-                ++neg_pinf_count;
-                neg_pinf_index = id;
-              }
-            }
-          }
-          else if (sign_i < 0) {
-            neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
-            assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
-            // Approximating `sc_expr'.
-            if (pinf_count <= 1) {
-              const N& double_approx_minus_i = m_i[n_i+1];
-              if (!is_plus_infinity(double_approx_minus_i)) {
-                // Let half = double_approx_minus_i / 2.
-                div_2exp_assign_r(half, double_approx_minus_i, 1, ROUND_UP);
-                add_mul_assign_r(sum, minus_coeff_i, half, ROUND_UP);
-              }
-              else {
-                ++pinf_count;
-                pinf_index = id;
-              }
-            }
-            // Approximating `-sc_expr'.
-            if (neg_pinf_count <= 1) {
-              const N& double_approx_i = m_ci[n_i];
-              if (!is_plus_infinity(double_approx_i)) {
-                // Let half = double_approx_i / 2.
-                div_2exp_assign_r(half, double_approx_i, 1, ROUND_UP);
-                add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
-              }
-              else {
-                ++neg_pinf_count;
-                neg_pinf_index = id;
-              }
-            }
-          }
-        }
-        // Return immediately if no approximation could be computed.
-        if (pinf_count > 1 && neg_pinf_count > 1) {
-          PPL_ASSERT(OK());
-          return;
-        }
+  \par Allowing parameters to be arbitrarily signed
+  You can consider a parameter \f$p\f$ arbitrarily signed by replacing
+  \f$p\f$ with \f$p^+-p^-\f$, where both \f$p^+\f$ and \f$p^-\f$ are
+  positive parameters. To represent a set of arbitrarily signed parameters,
+  replace each parameter \f$p_i\f$ with \f$p^+_i-p^-\f$, where \f$-p^-\f$ is
+  the minimum negative value of all parameters.
 
-        // In the following, strong closure will be definitely lost.
-        reset_strongly_closed();
+  \par Minimizing a linear cost function
+  Lexicographic solving can be used to find the parametric minimum of a
+  linear cost function.
+  \par
+  Suppose the variables are named \f$x_1, x_2, \dots, x_n\f$, and the
+  parameters \f$p_1, p_2, \dots, p_m\f$. You can minimize a linear cost
+  function \f$f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ by simply adding the
+  constraint \f$x_1 \geq f(x_2, \dots, x_n, p_1, \dots, p_m)\f$ to the
+  constraint system. As lexicographic minimization ensures \f$x_1\f$ is
+  minimized in priority, and because \f$x_1\f$ is forced by a constraint to
+  be superior or equal to the cost function, optimal solutions of the
+  problem necessarily ensure that the solution value of \f$x_1\f$ is the
+  optimal value of the cost function.
+*/
+class Parma_Polyhedra_Library::PIP_Problem {
+public:
+  //! Builds a trivial PIP problem.
+  /*!
+    A trivial PIP problem requires to compute the lexicographic minimum
+    on a vector space under no constraints and with no parameters:
+    due to the implicit non-negativity constraints, the origin of the
+    vector space is an optimal solution.
 
-        // Exploit the upper approximation, if possible.
-        if (pinf_count <= 1) {
-          // Compute quotient (if needed).
-          if (sc_den != 1) {
-            // Before computing quotients, the denominator should be
-            // approximated towards zero. Since `sc_den' is known to be
-            // positive, this amounts to rounding downwards, which is
-            // achieved as usual by rounding upwards `minus_sc_den'
-            // and negating again the result.
-            PPL_DIRTY_TEMP(N, down_sc_den);
-            assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-            neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-            div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-          }
-          // Add the upper bound constraint, if meaningful.
-          if (pinf_count == 0) {
-            // Add the constraint `v <= sum'.
-            PPL_DIRTY_TEMP(N, double_sum);
-            mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-            matrix[n_var+1][n_var] = double_sum;
-            // Deduce constraints of the form `v +/- u', where `u != v'.
-            deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
-          }
-          else
-            // Here `pinf_count == 1'.
-            if (pinf_index != var_id) {
-              const Coefficient& ppi =
-                sc_expr.coefficient(Variable(pinf_index));
-              if (ppi == sc_den)
-                // Add the constraint `v - pinf_index <= sum'.
-                if (var_id < pinf_index)
-                  matrix[2*pinf_index][n_var] = sum;
-                else
-                  matrix[n_var+1][2*pinf_index+1] = sum;
-              else
-                if (ppi == minus_sc_den) {
-                  // Add the constraint `v + pinf_index <= sum'.
-                  if (var_id < pinf_index)
-                    matrix[2*pinf_index+1][n_var] = sum;
-                  else
-                    matrix[n_var+1][2*pinf_index] = sum;
-                }
-            }
-        }
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
 
-        // Exploit the lower approximation, if possible.
-        if (neg_pinf_count <= 1) {
-          // Compute quotient (if needed).
-          if (sc_den != 1) {
-            // Before computing quotients, the denominator should be
-            // approximated towards zero. Since `sc_den' is known to be
-            // positive, this amounts to rounding downwards, which is
-            // achieved as usual by rounding upwards `minus_sc_den'
-            // and negating again the result.
-            PPL_DIRTY_TEMP(N, down_sc_den);
-            assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-            neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-            div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
-          }
-          // Add the lower bound constraint, if meaningful.
-          if (neg_pinf_count == 0) {
-            // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-            PPL_DIRTY_TEMP(N, double_neg_sum);
-            mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-            matrix[n_var][n_var+1] = double_neg_sum;
-            // Deduce constraints of the form `-v +/- u', where `u != v'.
-            deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
-          }
-          else
-            // Here `neg_pinf_count == 1'.
-            if (neg_pinf_index != var_id) {
-              const Coefficient& npi =
-                sc_expr.coefficient(Variable(neg_pinf_index));
-              if (npi == sc_den)
-                // Add the constraint `v - neg_pinf_index >= -neg_sum',
-                // i.e., `neg_pinf_index - v <= neg_sum'.
-                if (neg_pinf_index < var_id)
-                  matrix[n_var][2*neg_pinf_index] = neg_sum;
-                else
-                  matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
-              else
-                if (npi == minus_sc_den) {
-                  // Add the constraint `v + neg_pinf_index >= -neg_sum',
-                  // i.e., `-neg_pinf_index - v <= neg_sum'.
-                  if (neg_pinf_index < var_id)
-                    matrix[n_var][2*neg_pinf_index+1] = neg_sum;
-                  else
-                    matrix[2*neg_pinf_index][n_var+1] = neg_sum;
-                }
-            }
-        }
-        break;
-      }
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+  */
+  explicit PIP_Problem(dimension_type dim = 0);
 
-    case LESS_OR_EQUAL:
-      {
-        // Compute an upper approximation for `expr' into `sum',
-        // taking into account the sign of `denominator'.
+  /*! \brief
+    Builds a PIP problem having space dimension \p dim
+    from the sequence of constraints in the range
+    \f$[\mathrm{first}, \mathrm{last})\f$;
+    those dimensions whose indices occur in \p p_vars are
+    interpreted as parameters.
 
-        // Approximate the inhomogeneous term.
-        assign_r(sum, sc_b, ROUND_UP);
+    \param dim
+    The dimension of the vector space (variables and parameters) enclosing
+    \p *this.
 
-        // Approximate the homogeneous part of `sc_expr'.
-        PPL_DIRTY_TEMP(N, coeff_i);
-        PPL_DIRTY_TEMP(N, approx_i);
-        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-        // Note: indices above `w_id' can be disregarded, as they all have
-        // a zero coefficient in `expr'.
-        for (Row_Iterator m_iter = m_begin, m_end = m_iter + (2*w_id) + 2;
-             m_iter != m_end; ) {
-          const dimension_type n_i = m_iter.index();
-          const dimension_type id = n_i/2;
-          Row_Reference m_i = *m_iter;
-          ++m_iter;
-          Row_Reference m_ci = *m_iter;
-          ++m_iter;
-          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-          const int sign_i = sgn(sc_i);
-          if (sign_i == 0)
-            continue;
-          // Choose carefully: we are approximating `sc_expr'.
-          const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i+1];
-          if (is_plus_infinity(double_approx_i)) {
-            if (++pinf_count > 1)
-              break;
-            pinf_index = id;
-            continue;
-          }
-          if (sign_i > 0)
-            assign_r(coeff_i, sc_i, ROUND_UP);
-          else {
-            neg_assign(minus_sc_i, sc_i);
-            assign_r(coeff_i, minus_sc_i, ROUND_UP);
-          }
-          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
-          add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-        }
-        // Divide by the (sign corrected) denominator (if needed).
-        if (sc_den != 1) {
-          // Before computing the quotient, the denominator should be
-          // approximated towards zero. Since `sc_den' is known to be
-          // positive, this amounts to rounding downwards, which is achieved
-          // by rounding upwards `minus_sc-den' and negating again the result.
-          PPL_DIRTY_TEMP(N, down_sc_den);
-          assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-          neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-        }
+    \param first
+    An input iterator to the start of the sequence of constraints.
 
-        if (pinf_count == 0) {
-          // Add the constraint `v <= sum'.
-          PPL_DIRTY_TEMP(N, double_sum);
-          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-          add_octagonal_constraint(n_var+1, n_var, double_sum);
-          // Deduce constraints of the form `v +/- u', where `u != v'.
-          deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
-        }
-        else if (pinf_count == 1) {
-          dimension_type pinf_ind = 2*pinf_index;
-          if (expr.coefficient(Variable(pinf_index)) == denominator ) {
-            // Add the constraint `v - pinf_index <= sum'.
-            if (var_id < pinf_index)
-              add_octagonal_constraint(pinf_ind, n_var, sum);
-            else
-              add_octagonal_constraint(n_var+1, pinf_ind+1, sum);
-          }
-          else {
-            if (expr.coefficient(Variable(pinf_index)) == minus_den) {
-              // Add the constraint `v + pinf_index <= sum'.
-              if (var_id < pinf_index)
-                add_octagonal_constraint(pinf_ind+1, n_var, sum);
-              else
-                add_octagonal_constraint(n_var+1, pinf_ind, sum);
-            }
-          }
-        }
-        break;
-      }
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
 
-    case GREATER_OR_EQUAL:
-      {
-        // Compute an upper approximation for `-sc_expr' into `sum'.
-        // Note: approximating `-sc_expr' from above and then negating the
-        // result is the same as approximating `sc_expr' from below.
+    \param p_vars
+    The set of variables' indexes that are interpreted as parameters.
 
-        // Approximate the inhomogeneous term.
-        assign_r(sum, minus_sc_b, ROUND_UP);
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-        // Approximate the homogeneous part of `-sc_expr'.
-        PPL_DIRTY_TEMP(N, coeff_i);
-        PPL_DIRTY_TEMP(N, approx_i);
-        PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-        for (Row_Iterator m_iter = m_begin, m_end = m_iter + (2*w_id) + 2;
-             m_iter != m_end; ) {
-          const dimension_type n_i = m_iter.index();
-          const dimension_type id = n_i/2;
-          Row_Reference m_i = *m_iter;
-          ++m_iter;
-          Row_Reference m_ci = *m_iter;
-          ++m_iter;
-          const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-          const int sign_i = sgn(sc_i);
-          if (sign_i == 0)
-            continue;
-          // Choose carefully: we are approximating `-sc_expr'.
-          const N& double_approx_i = (sign_i > 0) ? m_i[n_i+1] : m_ci[n_i];
-          if (is_plus_infinity(double_approx_i)) {
-            if (++pinf_count > 1)
-              break;
-            pinf_index = id;
-            continue;
-          }
-          if (sign_i > 0)
-            assign_r(coeff_i, sc_i, ROUND_UP);
-          else {
-            neg_assign(minus_sc_i, sc_i);
-            assign_r(coeff_i, minus_sc_i, ROUND_UP);
-          }
-          div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
-          add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-        }
+    \exception std::invalid_argument
+    Thrown if the space dimension of a constraint in the sequence
+    (resp., the parameter variables) is strictly greater than \p dim.
+  */
+  template <typename In>
+  PIP_Problem(dimension_type dim, In first, In last,
+	      const Variables_Set& p_vars);
 
-        // Divide by the (sign corrected) denominator (if needed).
-        if (sc_den != 1) {
-          // Before computing the quotient, the denominator should be
-          // approximated towards zero. Since `sc_den' is known to be positive,
-          // this amounts to rounding downwards, which is achieved by rounding
-          // upwards `minus_sc_den' and negating again the result.
-          PPL_DIRTY_TEMP(N, down_sc_den);
-          assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-          neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-        }
+  //! Ordinary copy-constructor.
+  PIP_Problem(const PIP_Problem& y);
 
-        if (pinf_count == 0) {
-          // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-          PPL_DIRTY_TEMP(N, double_sum);
-          mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-          add_octagonal_constraint(n_var, n_var+1, double_sum);
-          // Deduce constraints of the form `-v +/- u', where `u != v'.
-          deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
-        }
-        else if (pinf_count == 1) {
-          dimension_type pinf_ind = 2*pinf_index;
-          if (expr.coefficient(Variable(pinf_index)) == denominator) {
-            // Add the constraint `v - pinf_index >= -sum',
-            // i.e., `pinf_index - v <= sum'.
-            if (pinf_index < var_id)
-              add_octagonal_constraint(n_var, pinf_ind, sum);
-            else
-              add_octagonal_constraint(pinf_ind+1, n_var, sum);
-          }
-          else {
-            if (expr.coefficient(Variable(pinf_index)) == minus_den) {
-              // Add the constraint `v + pinf_index >= -sum',
-              // i.e., `-pinf_index - v <= sum'.
-              if (pinf_index < var_id)
-                add_octagonal_constraint(n_var, pinf_ind+1, sum);
-              else
-                add_octagonal_constraint(pinf_ind, n_var+1, sum);
-            }
-          }
-        }
-        break;
-      }
+  //! Destructor.
+  ~PIP_Problem();
 
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-  }
-}
+  //! Assignment operator.
+  PIP_Problem& operator=(const PIP_Problem& y);
 
-template <typename T>
-void
-Octagonal_Shape<T>::affine_image(const Variable var,
-                                 const Linear_Expression& expr,
-                                 Coefficient_traits::const_reference
-                                 denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+  //! Returns the maximum space dimension a PIP_Problem can handle.
+  static dimension_type max_space_dimension();
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
+  //! Returns the space dimension of the PIP problem.
+  dimension_type space_dimension() const;
 
-  // `var' should be one of the dimensions of the octagon.
-  const dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("affine_image(v, e, d)", var_id + 1);
+  /*! \brief
+    Returns a set containing all the variables' indexes representing
+    the parameters of the PIP problem.
+  */
+  const Variables_Set& parameter_space_dimensions() const;
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty too.
-  if (marked_empty())
-    return;
+private:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
 
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+public:
+  /*! \brief
+    A type alias for the read-only iterator on the constraints
+    defining the feasible region.
+  */
+  typedef Constraint_Sequence::const_iterator const_iterator;
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  /*! \brief
+    Returns a read-only iterator to the first constraint defining
+    the feasible region.
+  */
+  const_iterator constraints_begin() const;
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  /*! \brief
+    Returns a past-the-end read-only iterator to the sequence of
+    constraints defining the feasible region.
+  */
+  const_iterator constraints_end() const;
 
-  const dimension_type n_var = 2*var_id;
-  const Coefficient& b = expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  //! Resets \p *this to be equal to the trivial PIP problem.
+  /*!
+    The space dimension is reset to \f$0\f$.
+  */
+  void clear();
 
-  // `w' is the variable with index `w_id'.
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `expr' is of the general form.
+  /*! \brief
+    Adds <CODE>m_vars + m_params</CODE> new space dimensions
+    and embeds the old PIP problem in the new vector space.
 
-  if (t == 0) {
-    // Case 1: expr == b.
-    // Remove all constraints on `var'.
-    forget_all_octagonal_constraints(var_id);
-    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
-    two_b = 2*b;
-    // Add the constraint `var == b/denominator'.
-    add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-    add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param m_vars
+    The number of space dimensions to add that are interpreted as
+    PIP problem variables (i.e., non parameters). These are added
+    \e before adding the \p m_params parameters.
 
-  if (t == 1) {
-    // The one and only non-zero homogeneous coefficient in `expr'.
-    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
-      // Case 2: expr = w_coeff*w + b, with w_coeff = +/- denominator.
-      if (w_id == var_id) {
-        // Here `expr' is of the form: +/- denominator * v + b.
-        const bool sign_symmetry = (w_coeff != denominator);
-        if (!sign_symmetry && b == 0)
-          // The transformation is the identity function.
-          return;
-        // Translate all the constraints on `var' adding or
-        // subtracting the value `b/denominator'.
-        PPL_DIRTY_TEMP(N, d);
-        div_round_up(d, b, denominator);
-        PPL_DIRTY_TEMP(N, minus_d);
-        div_round_up(minus_d, b, minus_den);
-        if (sign_symmetry)
-          std::swap(d, minus_d);
-        const Row_Iterator m_begin = matrix.row_begin();
-        const Row_Iterator m_end = matrix.row_end();
-        Row_Iterator m_iter = m_begin + n_var;
-        Row_Reference m_v = *m_iter;
-        ++m_iter;
-        Row_Reference m_cv = *m_iter;
-        ++m_iter;
-        // NOTE: delay update of unary constraints on `var'.
-        for (dimension_type j = n_var; j-- > 0; ) {
-          N& m_v_j = m_v[j];
-          add_assign_r(m_v_j, m_v_j, minus_d, ROUND_UP);
-          N& m_cv_j = m_cv[j];
-          add_assign_r(m_cv_j, m_cv_j, d, ROUND_UP);
-          if (sign_symmetry)
-            std::swap(m_v_j, m_cv_j);
-        }
-        for ( ; m_iter != m_end; ++m_iter) {
-          Row_Reference m_i = *m_iter;
-          N& m_i_v = m_i[n_var];
-          add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
-          N& m_i_cv = m_i[n_var+1];
-          add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
-          if (sign_symmetry)
-            std::swap(m_i_v, m_i_cv);
-        }
-        // Now update unary constraints on var.
-        mul_2exp_assign_r(d, d, 1, ROUND_UP);
-        N& m_cv_v = m_cv[n_var];
-        add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
-        mul_2exp_assign_r(minus_d, minus_d, 1, ROUND_UP);
-        N& m_v_cv = m_v[n_var+1];
-        add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
-        if (sign_symmetry)
-          std::swap(m_cv_v, m_v_cv);
-        // Note: strong closure is preserved.
-      }
-      else {
-        // Here `w != var', so that `expr' is of the form
-        // +/-denominator * w + b.
-        // Remove all constraints on `var'.
-        forget_all_octagonal_constraints(var_id);
-        const dimension_type n_w = 2*w_id;
-        // Add the new constraint `var - w = b/denominator'.
-        if (w_coeff == denominator) {
-          if (var_id < w_id) {
-            add_octagonal_constraint(n_w, n_var, b, denominator);
-            add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
-          }
-          else {
-            add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
-            add_octagonal_constraint(n_var, n_w, b, minus_den);
-          }
-        }
-        else {
-          // Add the new constraint `var + w = b/denominator'.
-          if (var_id < w_id) {
-            add_octagonal_constraint(n_w+1, n_var, b, denominator);
-            add_octagonal_constraint(n_w, n_var+1, b, minus_den);
-          }
-          else {
-            add_octagonal_constraint(n_var+1, n_w, b, denominator);
-            add_octagonal_constraint(n_var, n_w+1, b, minus_den);
-          }
-        }
-        incremental_strong_closure_assign(var);
-      }
-      PPL_ASSERT(OK());
-      return;
-    }
-  }
+    \param m_params
+    The number of space dimensions to add that are interpreted as
+    PIP problem parameters. These are added \e after having added the
+    \p m_vars problem variables.
 
-  // General case.
-  // Either t == 2, so that
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `var' and add back
-  // constraints providing upper and lower bounds for `var'.
+    \exception std::length_error
+    Thrown if adding <CODE>m_vars + m_params</CODE> new space
+    dimensions would cause the vector space to exceed dimension
+    <CODE>max_space_dimension()</CODE>.
 
-  // Compute upper approximations for `expr' and `-expr'
-  // into `pos_sum' and `neg_sum', respectively, taking into account
-  // the sign of `denominator'.
-  // Note: approximating `-expr' from above and then negating the
-  // result is the same as approximating `expr' from below.
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
+    The new space dimensions will be those having the highest indexes
+    in the new PIP problem; they are initially unconstrained.
+  */
+  void add_space_dimensions_and_embed(dimension_type m_vars,
+                                      dimension_type m_params);
 
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -expr;
-  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+  /*! \brief
+    Sets the space dimensions whose indexes which are in set \p p_vars
+    to be parameter space dimensions.
 
-  PPL_DIRTY_TEMP(N, pos_sum);
-  PPL_DIRTY_TEMP(N, neg_sum);
-  // Indices of the variables that are unbounded in `this->matrix'.
-  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
-  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pos_pinf_count = 0;
-  dimension_type neg_pinf_count = 0;
+    \exception std::invalid_argument
+    Thrown if some index in \p p_vars does not correspond to
+    a space dimension in \p *this.
+  */
+  void add_to_parameter_space_dimensions(const Variables_Set& p_vars);
 
-  // Approximate the inhomogeneous term.
-  assign_r(pos_sum, sc_b, ROUND_UP);
-  assign_r(neg_sum, minus_sc_b, ROUND_UP);
+  /*! \brief
+    Adds a copy of constraint \p c to the PIP problem.
 
-  // Approximate the homogeneous part of `sc_expr'.
-  PPL_DIRTY_TEMP(N, coeff_i);
-  PPL_DIRTY_TEMP(N, minus_coeff_i);
-  PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-  // Note: indices above `w' can be disregarded, as they all have
-  // a zero coefficient in `sc_expr'.
-  const Row_Iterator m_begin = matrix.row_begin();
-  for (Row_iterator m_iter = m_begin,
-         m_iter_end = m_iter + (2*w_id) + 2; m_iter != m_iter_end; ) {
-    const dimension_type n_i = m_iter.index();
-    const dimension_type id = n_i/2;
-    Row_reference m_i = *m_iter;
-    ++m_iter;
-    Row_reference m_ci = *m_iter;
-    ++m_iter;
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-    const int sign_i = sgn(sc_i);
-    if (sign_i > 0) {
-      assign_r(coeff_i, sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& double_up_approx_i = m_ci[n_i];
-        if (!is_plus_infinity(double_up_approx_i)) {
-          // Let half = double_up_approx_i / 2.
-          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
-          add_mul_assign_r(pos_sum, coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = id;
-        }
-      }
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
-        if (!is_plus_infinity(double_up_approx_minus_i)) {
-          // Let half = double_up_approx_minus_i / 2.
-          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
-          add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = id;
-        }
-      }
-    }
-    else if (sign_i < 0) {
-      neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
-      assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
-        if (!is_plus_infinity(double_up_approx_minus_i)) {
-          // Let half = double_up_approx_minus_i / 2.
-          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
-          add_mul_assign_r(pos_sum, minus_coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = id;
-        }
-      }
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& double_up_approx_i = m_ci[n_i];
-        if (!is_plus_infinity(double_up_approx_i)) {
-          // Let half = double_up_approx_i / 2.
-          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
-          add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = id;
-        }
-      }
-    }
-  }
+    \exception std::invalid_argument
+    Thrown if the space dimension of \p c is strictly greater than
+    the space dimension of \p *this.
+  */
+  void add_constraint(const Constraint& c);
+
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the PIP problem.
+
+    \exception std::invalid_argument
+    Thrown if the space dimension of constraint system \p cs is strictly
+    greater than the space dimension of \p *this.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-  // Remove all constraints on `var'.
-  forget_all_octagonal_constraints(var_id);
-  // Return immediately if no approximation could be computed.
-  if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    PPL_ASSERT(OK());
-    return;
-  }
+  //! Checks satisfiability of \p *this.
+  /*!
+    \return
+    \c true if and only if the PIP problem is satisfiable.
+  */
+  bool is_satisfiable() const;
 
-  // In the following, strong closure will be definitely lost.
-  reset_strongly_closed();
+  //! Optimizes the PIP problem.
+  /*!
+    \return
+    A PIP_Problem_Status flag indicating the outcome of the optimization
+    attempt (unfeasible or optimized problem).
+  */
+  PIP_Problem_Status solve() const;
 
-  // Exploit the upper approximation, if possible.
-  if (pos_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the upper bound constraint, if meaningful.
-    if (pos_pinf_count == 0) {
-      // Add the constraint `v <= pos_sum'.
-      PPL_DIRTY_TEMP(N, double_pos_sum);
-      mul_2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_UP);
-      matrix[n_var+1][n_var] = double_pos_sum;
-      // Deduce constraints of the form `v +/- u', where `u != v'.
-      deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, pos_sum);
-    }
-    else
-      // Here `pos_pinf_count == 1'.
-      if (pos_pinf_index != var_id) {
-        const Coefficient& ppi = sc_expr.coefficient(Variable(pos_pinf_index));
-        if (ppi == sc_den)
-          // Add the constraint `v - pos_pinf_index <= pos_sum'.
-          if (var_id < pos_pinf_index)
-            matrix[2*pos_pinf_index][n_var] = pos_sum;
-          else
-            matrix[n_var+1][2*pos_pinf_index+1] = pos_sum;
-        else
-          if (ppi == minus_sc_den) {
-            // Add the constraint `v + pos_pinf_index <= pos_sum'.
-            if (var_id < pos_pinf_index)
-              matrix[2*pos_pinf_index+1][n_var] = pos_sum;
-            else
-              matrix[n_var+1][2*pos_pinf_index] = pos_sum;
-          }
-      }
-  }
+  //! Returns a feasible solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree solution() const;
 
-  // Exploit the lower approximation, if possible.
-  if (neg_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the lower bound constraint, if meaningful.
-    if (neg_pinf_count == 0) {
-      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-      matrix[n_var][n_var+1] = double_neg_sum;
-      // Deduce constraints of the form `-v +/- u', where `u != v'.
-      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
-    }
-    else
-      // Here `neg_pinf_count == 1'.
-      if (neg_pinf_index != var_id) {
-        const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
-        if (npi == sc_den)
-          // Add the constraint `v - neg_pinf_index >= -neg_sum',
-          // i.e., `neg_pinf_index - v <= neg_sum'.
-          if (neg_pinf_index < var_id)
-            matrix[n_var][2*neg_pinf_index] = neg_sum;
-          else
-            matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
-        else
-          if (npi == minus_sc_den) {
-            // Add the constraint `v + neg_pinf_index >= -neg_sum',
-            // i.e., `-neg_pinf_index - v <= neg_sum'.
-            if (neg_pinf_index < var_id)
-              matrix[n_var][2*neg_pinf_index+1] = neg_sum;
-            else
-              matrix[2*neg_pinf_index][n_var+1] = neg_sum;
-          }
-      }
-  }
+  //! Returns an optimizing solution for \p *this, if it exists.
+  /*!
+    A null pointer is returned for an unfeasible PIP problem.
+  */
+  PIP_Tree optimizing_solution() const;
 
-  incremental_strong_closure_assign(var);
-  PPL_ASSERT(OK());
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-template <typename T>
-void
-Octagonal_Shape<T>::affine_preimage(const Variable var,
-                                    const Linear_Expression& expr,
-                                    Coefficient_traits::const_reference
-                                    denominator) {
+  //! Prints on \p s the solution computed for \p *this.
+  /*!
+    \param s
+    The output stream.
 
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+    \param indent
+    An indentation parameter (default value 0).
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
+    \exception std::logic_error
+    Thrown if trying to print the solution when the PIP problem
+    still has to be solved.
+  */
+  void print_solution(std::ostream& s, int indent = 0) const;
 
-  // `var' should be one of the dimensions of the octagon.
-  dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", var_id + 1);
+  PPL_OUTPUT_DECLARATIONS
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty too.
-  if (marked_empty())
-    return;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-  const Coefficient& b = expr.inhomogeneous_term();
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  //! Swaps \p *this with \p y.
+  void m_swap(PIP_Problem& y);
 
-  // Get information about the number of the non-zero coefficients of `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  //! Possible names for PIP_Problem control parameters.
+  enum Control_Parameter_Name {
+    //! Cutting strategy
+    CUTTING_STRATEGY,
+    //! Pivot row strategy
+    PIVOT_ROW_STRATEGY,
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_NAME_SIZE
+  };
 
-  // `w' is the variable with index `w_id'.
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `expr' is of the general form.
+  //! Possible values for PIP_Problem control parameters.
+  enum Control_Parameter_Value {
+    //! Choose the first non-integer row.
+    CUTTING_STRATEGY_FIRST,
+    //! Choose row which generates the deepest cut.
+    CUTTING_STRATEGY_DEEPEST,
+    //! Always generate all possible cuts.
+    CUTTING_STRATEGY_ALL,
 
-  if (t == 0) {
-    // Case 1: expr = n; remove all constraints on `var'.
-    forget_all_octagonal_constraints(var_id);
-    PPL_ASSERT(OK());
-    return;
-  }
+    //! Choose the first row with negative parameter sign.
+    PIVOT_ROW_STRATEGY_FIRST,
+    //! Choose a row that generates a lexicographically maximal pivot column.
+    PIVOT_ROW_STRATEGY_MAX_COLUMN,
 
-  if (t == 1) {
-    // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == -denominator) {
-      // Case 2: expr = w_coeff*w + b, with w_coeff = +/- denominator.
-      if (w_id == var_id) {
-        // Apply affine_image() on the inverse of this transformation.
-        affine_image(var, denominator*var - b, w_coeff);
-      }
-      else {
-        // `expr == w_coeff*w + b', where `w != var'.
-        // Remove all constraints on `var'.
-        forget_all_octagonal_constraints(var_id);
-        PPL_ASSERT(OK());
-      }
-      return;
-    }
-  }
-  // General case.
-  // Either t == 2, so that
-  // expr = a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t = 1, expr = a*w + b, but a <> +/- denominator.
-  const Coefficient& coeff_v = expr.coefficient(var);
-  if (coeff_v != 0) {
-    if (coeff_v > 0) {
-      // The transformation is invertible.
-      Linear_Expression inverse = ((coeff_v + denominator)*var);
-      inverse -= expr;
-      affine_image(var, inverse, coeff_v);
-    }
-    else {
-      // The transformation is invertible.
-      PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_v);
-      neg_assign(minus_coeff_v, coeff_v);
-      Linear_Expression inverse = ((minus_coeff_v - denominator)*var);
-      inverse += expr;
-      affine_image(var, inverse, minus_coeff_v);
-    }
-  }
-  else {
-    // The transformation is not invertible: all constraints on `var' are lost.
-    forget_all_octagonal_constraints(var_id);
-    PPL_ASSERT(OK());
-  }
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    //! Number of different enumeration values.
+#endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+    CONTROL_PARAMETER_VALUE_SIZE
+  };
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::generalized_affine_image(const Variable var,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression&  expr ,
-                           Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+  //! Returns the value of control parameter \p name.
+  Control_Parameter_Value
+  get_control_parameter(Control_Parameter_Name name) const;
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)", "e",
-                                 expr);
+  //! Sets control parameter \p value.
+  void set_control_parameter(Control_Parameter_Value value);
 
-  // `var' should be one of the dimensions of the octagon.
-  dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
-                                 var_id + 1);
+  //! Sets the dimension for the big parameter to \p big_dim.
+  void set_big_parameter_dimension(dimension_type big_dim);
 
-  // The relation symbol cannot be a strict relation symbol.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+  /*! \brief
+    Returns the space dimension for the big parameter.
 
-  if (relsym == EQUAL) {
-    // The relation symbol is "=":
-    // this is just an affine image computation.
-    affine_image(var, expr, denominator);
-    return;
-  }
+    If a big parameter was not set, returns \c not_a_dimension().
+  */
+  dimension_type get_big_parameter_dimension() const;
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty too.
-  if (marked_empty())
-    return;
+private:
+  //! Initializes the control parameters with default values.
+  void control_parameters_init();
 
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Variable-index of the last non-zero coefficient in `expr', if any.
-  dimension_type w_id = 0;
+  //! Copies the control parameters from problem object \p y.
+  void control_parameters_copy(const PIP_Problem& y);
 
-  // Get information about the number of non-zero coefficients in `expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  //! The dimension of the vector space.
+  dimension_type external_space_dim;
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  /*! \brief
+    The space dimension of the current (partial) solution of the
+    PIP problem; it may be smaller than \p external_space_dim.
+  */
+  dimension_type internal_space_dim;
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const Row_Iterator m_end = matrix.row_end();
-  const dimension_type n_var = 2*var_id;
-  const Coefficient& b = expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  //! An enumerated type describing the internal status of the PIP problem.
+  enum Status {
+    //! The PIP problem is unsatisfiable.
+    UNSATISFIABLE,
+    //! The PIP problem is optimized; the solution tree has been computed.
+    OPTIMIZED,
+    /*! \brief
+      The feasible region of the PIP problem has been changed by adding
+      new variables, parameters or constraints; a feasible solution for
+      the old feasible region is still available.
+    */
+    PARTIALLY_SATISFIABLE
+  };
 
-  // `w' is the variable with index `w_id'.
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `expr' is of the general form.
+  //! The internal state of the MIP problem.
+  Status status;
 
-  if (t == 0) {
-    // Case 1: expr = b.
-    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
-    two_b = 2*b;
-    // Remove all constraints on `var'.
-    forget_all_octagonal_constraints(var_id);
-    // Strong closure is lost.
-    reset_strongly_closed();
-    switch (relsym) {
-    case LESS_OR_EQUAL:
-      // Add the constraint `var <= b/denominator'.
-      add_octagonal_constraint(n_var+1, n_var, two_b, denominator);
-      break;
-    case GREATER_OR_EQUAL:
-      // Add the constraint `var >= n/denominator',
-      // i.e., `-var <= -b/denominator'.
-      add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-    PPL_ASSERT(OK());
-    return;
-  }
+  //! The current solution decision tree
+  PIP_Tree_Node* current_solution;
 
-  if (t == 1) {
-    // The one and only non-zero homogeneous coefficient in `expr'.
-    const Coefficient& w_coeff = expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
-      // Case 2: expr == w_coeff*w + b, with w_coeff == +/- denominator.
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        {
-          PPL_DIRTY_TEMP(N, d);
-          div_round_up(d, b, denominator);
-          if (w_id == var_id) {
-            // Here `expr' is of the form: +/- denominator * v + b.
-            // Strong closure is not preserved.
-            reset_strongly_closed();
-            if (w_coeff == denominator) {
-              // Translate all the constraints of the form `v - w <= cost'
-              // into the constraint `v - w <= cost + b/denominator';
-              // forget each constraint `w - v <= cost1'.
-              Row_Iterator m_iter = m_begin + n_var;
-              Row_Reference m_v = *m_iter;
-              N& m_v_cv = m_v[n_var+1];
-              ++m_iter;
-              Row_Reference m_cv = *m_iter;
-              N& m_cv_v = m_cv[n_var];
-              ++m_iter;
-              // NOTE: delay update of m_v_cv and m_cv_v.
-              for ( ; m_iter != m_end; ++m_iter) {
-                Row_Reference m_i = *m_iter;
-                N& m_i_v = m_i[n_var];
-                add_assign_r(m_i_v, m_i_v, d, ROUND_UP);
-                assign_r(m_i[n_var+1], PLUS_INFINITY, ROUND_NOT_NEEDED);
-              }
-              for (dimension_type k = n_var; k-- > 0; ) {
-                assign_r(m_v[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
-                add_assign_r(m_cv[k], m_cv[k], d, ROUND_UP);
-              }
-              mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
-              assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-            else {
-              // Here `w_coeff == -denominator'.
-              // `expr' is of the form: -a*var + b.
-              N& m_v_cv = matrix[n_var][n_var+1];
-              mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(matrix[n_var+1][n_var], m_v_cv, d, ROUND_UP);
-              assign_r(m_v_cv, PLUS_INFINITY, ROUND_NOT_NEEDED);
-              forget_binary_octagonal_constraints(var_id);
-            }
-          }
-          else {
-            // Here `w != v', so that `expr' is the form
-            // +/- denominator*w + b.
-            // Remove all constraints on `v'.
-            forget_all_octagonal_constraints(var_id);
-            const dimension_type n_w = 2*w_id;
-            if (w_coeff == denominator) {
-              // Add the new constraint `v - w <= b/denominator'.
-              if (var_id < w_id)
-                add_octagonal_constraint(n_w, n_var, b, denominator);
-              else
-                add_octagonal_constraint(n_var+1, n_w+1, b, denominator);
-            }
-            else {
-              // Add the new constraint `v + w <= b/denominator'.
-              if (var_id < w_id)
-                add_octagonal_constraint(n_w+1, n_var, b, denominator);
-              else
-                add_octagonal_constraint(n_var+1, n_w, b, denominator);
-            }
-          }
-          break;
-        }
+  //! The sequence of constraints describing the feasible region.
+  Constraint_Sequence input_cs;
 
-      case GREATER_OR_EQUAL:
-        {
-          PPL_DIRTY_TEMP(N, d);
-          div_round_up(d, b, minus_den);
-          if (w_id == var_id) {
-            // Here `expr' is of the form: +/- denominator * v + b.
-            // Strong closure is not preserved.
-            reset_strongly_closed();
-            if (w_coeff == denominator) {
-              // Translate each constraint `w - v <= cost'
-              // into the constraint `w - v <= cost - b/denominator';
-              // forget each constraint `v - w <= cost1'.
-              Row_Iterator m_iter = m_begin + n_var;
-              Row_Reference m_v = *m_iter;
-              N& m_v_cv = m_v[n_var+1];
-              ++m_iter;
-              Row_Reference m_cv = *m_iter;
-              N& m_cv_v = m_cv[n_var];
-              ++m_iter;
-              // NOTE: delay update of m_v_cv and m_cv_v.
-              for ( ; m_iter != m_end; ++m_iter) {
-                Row_Reference m_i = *m_iter;
-                assign_r(m_i[n_var], PLUS_INFINITY, ROUND_NOT_NEEDED);
-                add_assign_r(m_i[n_var+1], m_i[n_var+1], d, ROUND_UP);
-              }
-              for (dimension_type k = n_var; k-- > 0; ) {
-                add_assign_r(m_v[k], m_v[k], d, ROUND_UP);
-                assign_r(m_cv[k], PLUS_INFINITY, ROUND_NOT_NEEDED);
-              }
-              mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(m_v_cv, m_v_cv, d, ROUND_UP);
-              assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-            else {
-              // Here `w_coeff == -denominator'.
-              // `expr' is of the form: -a*var + b.
-              N& m_cv_v = matrix[n_var+1][n_var];
-              mul_2exp_assign_r(d, d, 1, ROUND_UP);
-              add_assign_r(matrix[n_var][n_var+1], m_cv_v, d, ROUND_UP);
-              assign_r(m_cv_v, PLUS_INFINITY, ROUND_NOT_NEEDED);
-              forget_binary_octagonal_constraints(var_id);
-            }
-          }
-          else {
-            // Here `w != v', so that `expr' is of the form
-            // +/-denominator * w + b, with `w != v'.
-            // Remove all constraints on `v'.
-            forget_all_octagonal_constraints(var_id);
-            const dimension_type n_w = 2*w_id;
-            // We have got an expression of the following form:
-            // var1 + n, with `var1' != `var'.
-            // We remove all constraints of the form `var (+/- var1) >= const'
-            // and we add the new constraint `var +/- var1 >= n/denominator'.
-            if (w_coeff == denominator) {
-              // Add the new constraint `var - w >= b/denominator',
-              // i.e., `w - var <= -b/denominator'.
-              if (var_id < w_id)
-                add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
-              else
-                add_octagonal_constraint(n_var, n_w, b, minus_den);
-            }
-            else {
-              // Add the new constraint `var + w >= b/denominator',
-              // i.e., `-w - var <= -b/denominator'.
-              if (var_id < w_id)
-                add_octagonal_constraint(n_w, n_var+1, b, minus_den);
-              else
-                add_octagonal_constraint(n_var, n_w+1, b, minus_den);
-            }
-          }
-          break;
-        }
+  //! The first index of `input_cs' containing a pending constraint.
+  dimension_type first_pending_constraint;
 
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      PPL_ASSERT(OK());
-      return;
-    }
-  }
+  /*! \brief
+    A set containing all the indices of space dimensions that are
+    interpreted as problem parameters.
+  */
+  Variables_Set parameters;
+
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
+
+  /*! \brief
+    The initial context
+
+    Contains problem constraints on parameters only
+  */
+  Matrix<Row> initial_context;
 
-  // General case.
-  // Either t == 2, so that
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `v' and add back
-  // a constraint providing an upper or a lower bound for `v'
-  // (depending on `relsym').
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign(minus_b, b);
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -expr;
-  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+  //! The control parameters for the problem object.
+  Control_Parameter_Value
+  control_parameters[CONTROL_PARAMETER_NAME_SIZE];
 
-  PPL_DIRTY_TEMP(N, sum);
-  // Index of variable that is unbounded in `this->matrix'.
-  PPL_UNINITIALIZED(dimension_type, pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pinf_count = 0;
+  /*! \brief
+    The dimension for the big parameter, or \c not_a_dimension()
+    if not set.
+  */
+  dimension_type big_parameter_dimension;
 
-  switch (relsym) {
-  case LESS_OR_EQUAL:
-    {
-      // Compute an upper approximation for `sc_expr' into `sum'.
+  friend class PIP_Solution_Node;
+};
 
-      // Approximate the inhomogeneous term.
-      assign_r(sum, sc_b, ROUND_UP);
-      // Approximate the homogeneous part of `sc_expr'.
-      PPL_DIRTY_TEMP(N, coeff_i);
-      PPL_DIRTY_TEMP(N, approx_i);
-      PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-      // Note: indices above `w' can be disregarded, as they all have
-      // a zero coefficient in `sc_expr'.
-      for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
-           m_iter != m_iter_end; ) {
-        const dimension_type n_i = m_iter.index();
-        const dimension_type id = n_i/2;
-        Row_reference m_i = *m_iter;
-        ++m_iter;
-        Row_reference m_ci = *m_iter;
-        ++m_iter;
-        const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-        const int sign_i = sgn(sc_i);
-        if (sign_i == 0)
-          continue;
-        // Choose carefully: we are approximating `sc_expr'.
-        const N& double_approx_i = (sign_i > 0) ? m_ci[n_i] : m_i[n_i+1];
-        if (is_plus_infinity(double_approx_i)) {
-          if (++pinf_count > 1)
-            break;
-          pinf_index = id;
-          continue;
-        }
-        if (sign_i > 0)
-          assign_r(coeff_i, sc_i, ROUND_UP);
-        else {
-          neg_assign(minus_sc_i, sc_i);
-          assign_r(coeff_i, minus_sc_i, ROUND_UP);
-        }
-        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
-        add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-      }
-      // Remove all constraints on `v'.
-      forget_all_octagonal_constraints(var_id);
-      reset_strongly_closed();
-      // Return immediately if no approximation could be computed.
-      if (pinf_count > 1) {
-        PPL_ASSERT(OK());
-        return;
-      }
+/* Automatically generated from PPL source file ../src/PIP_Problem.inlines.hh line 1. */
+/* PIP_Problem class implementation: inline functions.
+*/
 
-      // Divide by the (sign corrected) denominator (if needed).
-      if (sc_den != 1) {
-        // Before computing the quotient, the denominator should be
-        // approximated towards zero. Since `sc_den' is known to be
-        // positive, this amounts to rounding downwards, which is
-        // achieved as usual by rounding upwards
-        // `minus_sc_den' and negating again the result.
-        PPL_DIRTY_TEMP(N, down_sc_den);
-        assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-        neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-        div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-      }
 
-      if (pinf_count == 0) {
-        // Add the constraint `v <= pos_sum'.
-        PPL_DIRTY_TEMP(N, double_sum);
-        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-        matrix[n_var+1][n_var] = double_sum;
-        // Deduce constraints of the form `v +/- u', where `u != v'.
-        deduce_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, sum);
-      }
-      else if (pinf_count == 1)
-        if (pinf_index != var_id) {
-          const Coefficient& pi = expr.coefficient(Variable(pinf_index));
-          if (pi == denominator ) {
-            // Add the constraint `v - pinf_index <= sum'.
-            if (var_id < pinf_index)
-              matrix[2*pinf_index][n_var] = sum;
-            else
-              matrix[n_var+1][2*pinf_index+1] = sum;
-          }
-          else {
-            if (pi == minus_den) {
-              // Add the constraint `v + pinf_index <= sum'.
-              if (var_id < pinf_index)
-                matrix[2*pinf_index+1][n_var] = sum;
-              else
-                matrix[n_var+1][2*pinf_index] = sum;
-            }
-          }
-        }
-      break;
-    }
+namespace Parma_Polyhedra_Library {
 
-  case GREATER_OR_EQUAL:
-    {
-      // Compute an upper approximation for `-sc_expr' into `sum'.
-      // Note: approximating `-sc_expr' from above and then negating the
-      // result is the same as approximating `sc_expr' from below.
+inline dimension_type
+PIP_Problem::space_dimension() const {
+  return external_space_dim;
+}
 
-      // Approximate the inhomogeneous term.
-      assign_r(sum, minus_sc_b, ROUND_UP);
-      PPL_DIRTY_TEMP(N, coeff_i);
-      PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-      PPL_DIRTY_TEMP(N, approx_i);
-      // Approximate the homogeneous part of `-sc_expr'.
-      for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
-           m_iter != m_iter_end; ) {
-        const dimension_type n_i = m_iter.index();
-        const dimension_type id = n_i/2;
-        Row_reference m_i = *m_iter;
-        ++m_iter;
-        Row_reference m_ci = *m_iter;
-        ++m_iter;
-        const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-        const int sign_i = sgn(sc_i);
-        if (sign_i == 0)
-          continue;
-        // Choose carefully: we are approximating `-sc_expr'.
-        const N& double_approx_i = (sign_i > 0) ? m_i[n_i+1] : m_ci[n_i];
-        if (is_plus_infinity(double_approx_i)) {
-          if (++pinf_count > 1)
-            break;
-          pinf_index = id;
-          continue;
-        }
-        if (sign_i > 0)
-          assign_r(coeff_i, sc_i, ROUND_UP);
-        else {
-          neg_assign(minus_sc_i, sc_i);
-          assign_r(coeff_i, minus_sc_i, ROUND_UP);
-        }
-        div_2exp_assign_r(approx_i, double_approx_i, 1, ROUND_UP);
-        add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-      }
+inline dimension_type
+PIP_Problem::max_space_dimension() {
+  return Constraint::max_space_dimension();
+}
 
-      // Remove all constraints on `var'.
-      forget_all_octagonal_constraints(var_id);
-      reset_strongly_closed();
-      // Return immediately if no approximation could be computed.
-      if (pinf_count > 1) {
-        PPL_ASSERT(OK());
-        return;
-      }
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_begin() const {
+  return input_cs.begin();
+}
 
-      // Divide by the (sign corrected) denominator (if needed).
-      if (sc_den != 1) {
-        // Before computing the quotient, the denominator should be
-        // approximated towards zero. Since `sc_den' is known to be
-        // positive, this amounts to rounding downwards, which is
-        // achieved as usual by rounding upwards
-        // `minus_sc_den' and negating again the result.
-        PPL_DIRTY_TEMP(N, down_sc_den);
-        assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-        neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-        div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-      }
+inline PIP_Problem::const_iterator
+PIP_Problem::constraints_end() const {
+  return input_cs.end();
+}
 
-      if (pinf_count == 0) {
-        // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-        PPL_DIRTY_TEMP(N, double_sum);
-        mul_2exp_assign_r(double_sum, sum, 1, ROUND_UP);
-        matrix[n_var][n_var+1] = double_sum;
-        // Deduce constraints of the form `-v +/- u', where `u != v'.
-        deduce_minus_v_pm_u_bounds(var_id, pinf_index, sc_expr, sc_den, sum);
-      }
-      else if (pinf_count == 1)
-        if (pinf_index != var_id) {
-          const Coefficient& pi = expr.coefficient(Variable(pinf_index));
-          if (pi == denominator) {
-            // Add the constraint `v - pinf_index >= -sum',
-            // i.e., `pinf_index - v <= sum'.
-            if (pinf_index < var_id)
-              matrix[n_var][2*pinf_index] = sum;
-            else
-              matrix[2*pinf_index+1][n_var+1] = sum;
-          }
-          else {
-            if (pi == minus_den) {
-              // Add the constraint `v + pinf_index >= -sum',
-              // i.e., `-pinf_index - v <= sum'.
-              if (pinf_index < var_id)
-                matrix[n_var][2*pinf_index+1] = sum;
-              else
-                matrix[2*pinf_index][n_var+1] = sum;
-            }
-          }
-        }
-      break;
-    }
+inline const Variables_Set&
+PIP_Problem::parameter_space_dimensions() const {
+  return parameters;
+}
 
-  default:
-    // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
-  }
-  incremental_strong_closure_assign(var);
-  PPL_ASSERT(OK());
+inline void
+PIP_Problem::m_swap(PIP_Problem& y) {
+  using std::swap;
+  swap(external_space_dim, y.external_space_dim);
+  swap(internal_space_dim, y.internal_space_dim);
+  swap(status, y.status);
+  swap(current_solution, y.current_solution);
+  swap(input_cs, y.input_cs);
+  swap(first_pending_constraint, y.first_pending_constraint);
+  swap(parameters, y.parameters);
+  swap(initial_context, y.initial_context);
+  for (dimension_type i = CONTROL_PARAMETER_NAME_SIZE; i-- > 0; )
+    swap(control_parameters[i], y.control_parameters[i]);
+  swap(big_parameter_dimension, y.big_parameter_dimension);
 }
 
-template <typename T>
-void
-Octagonal_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
-                                             const Relation_Symbol relsym,
-                                             const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  dimension_type lhs_space_dim = lhs.space_dimension();
-  if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-                                 "e1", lhs);
+inline PIP_Problem&
+PIP_Problem::operator=(const PIP_Problem& y) {
+  PIP_Problem tmp(y);
+  m_swap(tmp);
+  return *this;
+}
 
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-                                 "e2", rhs);
+inline PIP_Problem::Control_Parameter_Value
+PIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
+  PPL_ASSERT(name >= 0 && name < CONTROL_PARAMETER_NAME_SIZE);
+  return control_parameters[name];
+}
 
-  // Strict relation symbols are not admitted for octagons.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+inline dimension_type
+PIP_Problem::get_big_parameter_dimension() const {
+  return big_parameter_dimension;
+}
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty.
-  if (marked_empty())
-    return;
+/*! \relates PIP_Problem */
+inline void
+swap(PIP_Problem& x, PIP_Problem& y) {
+  x.m_swap(y);
+}
 
-  // Number of non-zero coefficients in `lhs': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t_lhs = 0;
-  // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
+} // namespace Parma_Polyhedra_Library
 
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 1. */
+/* PIP_Problem class implementation: non-inline template functions.
+*/
 
-  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  if (t_lhs == 0) {
-    // `lhs' is a constant.
-    // In principle, it is sufficient to add the constraint `lhs relsym rhs'.
-    // Note that this constraint is an octagonal difference if `t_rhs <= 1'
-    // or `t_rhs > 1' and `rhs == a*v - a*w + b_rhs' or
-    // `rhs == a*v + a*w + b_rhs'. If `rhs' is of a
-    // more general form, it will be simply ignored.
-    // TODO: if it is not an octagonal difference, should we compute
-    // approximations for this constraint?
-    switch (relsym) {
-    case LESS_OR_EQUAL:
-      refine_no_check(lhs <= rhs);
-      break;
-    case EQUAL:
-      refine_no_check(lhs == rhs);
-      break;
-    case GREATER_OR_EQUAL:
-      refine_no_check(lhs >= rhs);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
+/* Automatically generated from PPL source file ../src/PIP_Problem.templates.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename In>
+PIP_Problem::PIP_Problem(dimension_type dim,
+                         In first, In last,
+                         const Variables_Set& p_vars)
+  : external_space_dim(dim),
+    internal_space_dim(0),
+    status(PARTIALLY_SATISFIABLE),
+    current_solution(0),
+    input_cs(),
+    first_pending_constraint(0),
+    parameters(p_vars),
+    initial_context(),
+    big_parameter_dimension(not_a_dimension()) {
+  // Check that integer Variables_Set does not exceed the space dimension
+  // of the problem.
+  if (p_vars.space_dimension() > external_space_dim) {
+    std::ostringstream s;
+    s << "PPL::PIP_Problem::PIP_Problem(dim, first, last, p_vars):\n"
+      << "dim == " << external_space_dim
+      << " and p_vars.space_dimension() == "
+      << p_vars.space_dimension()
+      << " are dimension incompatible.";
+    throw std::invalid_argument(s.str());
   }
 
-  else if (t_lhs == 1) {
-    // Here `lhs == a_lhs * v + b_lhs'.
-    // Independently from the form of `rhs', we can exploit the
-    // method computing generalized affine images for a single variable.
-    Variable v(j_lhs);
-    // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
-    Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
-      if (relsym == LESS_OR_EQUAL)
-        new_relsym = GREATER_OR_EQUAL;
-      else if (relsym == GREATER_OR_EQUAL)
-        new_relsym = LESS_OR_EQUAL;
+  // Check for space dimension overflow.
+  if (dim > max_space_dimension())
+    throw std::length_error("PPL::PIP_Problem::"
+                            "PIP_Problem(dim, first, last, p_vars):\n"
+                            "dim exceeds the maximum allowed "
+                            "space dimension.");
+  // Check the constraints.
+  for (In i = first; i != last; ++i) {
+    if (i->space_dimension() > dim) {
+      std::ostringstream s;
+      s << "PPL::PIP_Problem::"
+        << "PIP_Problem(dim, first, last, p_vars):\n"
+        << "range [first, last) contains a constraint having space "
+        << "dimension == " << i->space_dimension()
+        << " that exceeds this->space_dimension == " << dim << ".";
+      throw std::invalid_argument(s.str());
     }
-    Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_image(v, new_relsym, expr, den);
+    input_cs.push_back(*i);
   }
-  else {
-    // Here `lhs' is of the general form, having at least two variables.
-    // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
-    std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+  control_parameters_init();
+  PPL_ASSERT(OK());
+}
 
-    if (!lhs_vars_intersects_rhs_vars) {
-      // `lhs' and `rhs' variables are disjoint.
-      // Existentially quantify all variables in the lhs.
-      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
-        dimension_type lhs_vars_i = lhs_vars[i].id();
-        forget_all_octagonal_constraints(lhs_vars_i);
-      }
-      // Constrain the left hand side expression so that it is related to
-      // the right hand side expression as dictated by `relsym'.
-      // TODO: if the following constraint is NOT an octagonal difference,
-      // it will be simply ignored. Should we compute approximations for it?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-    }
-    else {
-      // Some variables in `lhs' also occur in `rhs'.
+} // namespace Parma_Polyhedra_Library
 
-#if 1 // Simplified computation (see the TODO note below).
+/* Automatically generated from PPL source file ../src/PIP_Problem.defs.hh line 833. */
 
-      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
-        dimension_type lhs_vars_i = lhs_vars[i].id();
-        forget_all_octagonal_constraints(lhs_vars_i);
-      }
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 36. */
 
-#else // Currently unnecessarily complex computation.
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 40. */
 
-      // More accurate computation that is worth doing only if
-      // the following TODO note is accurately dealt with.
+namespace Parma_Polyhedra_Library {
 
-      // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
-      add_space_dimensions_and_embed(1);
-      // Constrain the new dimension to be equal to `rhs'.
-      // NOTE: calling affine_image() instead of refine_no_check()
-      // ensures some approximation is tried even when the constraint
-      // is not an octagonal constraint.
-      affine_image(new_var, rhs);
-      // Existentially quantify all variables in the lhs.
-      // NOTE: enforce strong closure for precision.
-      strong_closure_assign();
-      PPL_ASSERT(!marked_empty());
-      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
-        dimension_type lhs_vars_i = lhs_vars[i].id();
-        forget_all_octagonal_constraints(lhs_vars_i);
-      }
-      // Constrain the new dimension so that it is related to
-      // the left hand side as dictated by `relsym'.
-      // TODO: each one of the following constraints is definitely NOT
-      // an octagonal difference (since it has 3 variables at least).
-      // Thus, the method refine_no_check() will simply ignore it.
-      // Should we compute approximations for this constraint?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= new_var);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == new_var);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= new_var);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      // Remove the temporarily added dimension.
-      remove_higher_space_dimensions(space_dim-1);
-#endif // Currently unnecessarily complex computation.
-    }
-  }
+//! A node of the PIP solution tree.
+/*!
+  This is the base class for the nodes of the binary trees representing
+  the solutions of PIP problems. From this one, two classes are derived:
+    - PIP_Decision_Node, for the internal nodes of the tree;
+    - PIP_Solution_Node, for the leaves of the tree.
+*/
+class PIP_Tree_Node {
+protected:
+  //! Constructor: builds a node owned by \p *owner.
+  explicit PIP_Tree_Node(const PIP_Problem* owner);
+
+  //! Copy constructor.
+  PIP_Tree_Node(const PIP_Tree_Node& y);
+
+  //! Returns a pointer to the PIP_Problem owning object.
+  const PIP_Problem* get_owner() const;
+
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner) = 0;
+
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const = 0;
+
+public:
+#if PPL_USE_SPARSE_MATRIX
+  typedef Sparse_Row Row;
+#else
+  typedef Dense_Row Row;
+#endif
+
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const = 0;
+
+  //! Destructor.
+  virtual ~PIP_Tree_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const = 0;
+
+  //! Returns \p this if \p *this is a solution node, 0 otherwise.
+  virtual const PIP_Solution_Node* as_solution() const = 0;
+
+  //! Returns \p this if \p *this is a decision node, 0 otherwise.
+  virtual const PIP_Decision_Node* as_decision() const = 0;
+
+  /*! \brief
+    Returns the system of parameter constraints controlling \p *this.
+
+    The indices in the constraints are the same as the original variables and
+    parameters. Coefficients in indices corresponding to variables always are
+    zero.
+  */
+  const Constraint_System& constraints() const;
+
+  class Artificial_Parameter;
+
+  //! A type alias for a sequence of Artificial_Parameter's.
+  typedef std::vector<Artificial_Parameter> Artificial_Parameter_Sequence;
+
+  //! Returns a const_iterator to the beginning of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_begin() const;
+
+  //! Returns a const_iterator to the end of local artificial parameters.
+  Artificial_Parameter_Sequence::const_iterator art_parameter_end() const;
+
+  //! Returns the number of local artificial parameters.
+  dimension_type art_parameter_count() const;
+
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
+
+    \param indent
+    The amount of indentation.
+  */
+  void print(std::ostream& s, int indent = 0) const;
+
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const = 0;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const = 0;
 
-  PPL_ASSERT(OK());
-}
+protected:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
 
-template <typename T>
-void
-Octagonal_Shape<T>::bounded_affine_image(const Variable var,
-                                         const Linear_Expression& lb_expr,
-                                         const Linear_Expression& ub_expr,
-                                         Coefficient_traits::const_reference
-                                         denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+  // Only PIP_Problem and PIP_Decision_Node are allowed to use the
+  // constructor and methods.
+  friend class PIP_Problem;
+  friend class PIP_Decision_Node;
+  friend class PIP_Solution_Node;
 
-  // `var' should be one of the dimensions of the octagon.
-  const dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
-                                 var_id + 1);
+  //! A pointer to the PIP_Problem object owning this node.
+  const PIP_Problem* owner_;
 
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
-                                 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
-                                 "ub", ub_expr);
+  //! A pointer to the parent of \p *this, null if \p *this is the root.
+  const PIP_Decision_Node* parent_;
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty too.
-  if (marked_empty())
-    return;
+  //! The local system of parameter constraints.
+  Constraint_System constraints_;
 
-  // Number of non-zero coefficients in `lb_expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Variable-index of the last non-zero coefficient in `lb_expr', if any.
-  dimension_type w_id = 0;
+  //! The local sequence of expressions for local artificial parameters.
+  Artificial_Parameter_Sequence artificial_parameters;
 
-  // Get information about the number of non-zero coefficients in `lb_expr'.
-  // The `expr' must not be in two or plus variables.
-  for (dimension_type i = lb_space_dim; i-- > 0; )
-    if (lb_expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w_id = i;
-    }
+  //! Returns a pointer to this node's parent.
+  const PIP_Decision_Node* parent() const;
 
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+  //! Set this node's parent to \p *p.
+  void set_parent(const PIP_Decision_Node* p);
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const dimension_type n_var = 2*var_id;
-  const Coefficient& b = lb_expr.inhomogeneous_term();
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
+  /*! \brief
+    Populates the parametric simplex tableau using external data.
 
-  // `w' is the variable with index `w_id'.
-  // Now we know the form of `lb_expr':
-  // - If t == 0, then lb_expr == b, with `b' a constant;
-  // - If t == 1, then lb_expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `lb_expr' is of the general form.
+    \param pip
+    The PIP_Problem object containing this node.
 
-  if (t == 0) {
-    // Case 1: lb_expr == b.
-    generalized_affine_image(var,
-                             LESS_OR_EQUAL,
-                             ub_expr,
-                             denominator);
-    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
-    two_b = 2*b;
-    // Add the constraint `var >= b/denominator'.
-    add_octagonal_constraint(n_var, n_var+1, two_b, minus_den);
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param external_space_dim
+    The number of all problem variables and problem parameters
+    (excluding artificial parameters).
 
-  if (t == 1) {
-    // The one and only non-zero homogeneous coefficient in `lb_expr'.
-    const Coefficient& w_coeff = lb_expr.coefficient(Variable(w_id));
-    if (w_coeff == denominator || w_coeff == minus_den) {
-      // Case 2: lb_expr = w_coeff*w + b, with w_coeff = +/- denominator.
-     if (w_id == var_id) {
-        // Here `var' occurs in `lb_expr'.
-        // To ease the computation, we add an additional dimension.
-        const Variable new_var = Variable(space_dim);
-        add_space_dimensions_and_embed(1);
-        // Constrain the new dimension to be equal to `lb_expr'.
-        // Here `lb_expr' is of the form: +/- denominator * v + b.
-        affine_image(new_var, lb_expr, denominator);
-        // Enforce the strong closure for precision.
-        strong_closure_assign();
-        PPL_ASSERT(!marked_empty());
-        // Apply the affine upper bound.
-        generalized_affine_image(var,
-                                 LESS_OR_EQUAL,
-                                 ub_expr,
-                                 denominator);
-        // Now apply the affine lower bound, as recorded in `new_var'
-        refine_no_check(var >= new_var);
-        // Remove the temporarily added dimension.
-        remove_higher_space_dimensions(space_dim-1);
-        return;
-      }
-      else {
-        // Apply the affine upper bound.
-        generalized_affine_image(var,
-                                 LESS_OR_EQUAL,
-                                 ub_expr,
-                                 denominator);
-        // Here `w != var', so that `lb_expr' is of the form
-        // +/-denominator * w + b.
-        const dimension_type n_w = 2*w_id;
-        // Add the new constraint `var - w >= b/denominator'.
-        if (w_coeff == denominator)
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w+1, n_var+1, b, minus_den);
-          else
-            add_octagonal_constraint(n_var, n_w, b, minus_den);
-        else {
-          // Add the new constraint `var + w >= b/denominator'.
-          if (var_id < w_id)
-            add_octagonal_constraint(n_w, n_var+1, b, minus_den);
-          else
-            add_octagonal_constraint(n_var, n_w+1, b, minus_den);
-        }
-        PPL_ASSERT(OK());
-        return;
-      }
-    }
-  }
+    \param first_pending_constraint
+    The first element in \p input_cs to be added to the tableau,
+    which already contains the previous elements.
 
-  // General case.
-  // Either t == 2, so that
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `var' and add back
-  // constraints providing upper and lower bounds for `var'.
+    \param input_cs
+    All the constraints of the PIP problem.
 
-  // Compute upper approximations for `expr' and `-expr'
-  // into `pos_sum' and `neg_sum', respectively, taking into account
-  // the sign of `denominator'.
-  // Note: approximating `-expr' from above and then negating the
-  // result is the same as approximating `expr' from below.
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
+    \param parameters
+    The set of indices of the problem parameters.
+  */
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters) = 0;
 
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -lb_expr;
-  const Linear_Expression& sc_expr = is_sc ? lb_expr : minus_expr;
+  /*! \brief
+    Executes a parametric simplex on the tableau, under specified context.
 
-  PPL_DIRTY_TEMP(N, neg_sum);
-  // Indices of the variables that are unbounded in `this->matrix'.
-  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
-  // Number of unbounded variables found.
-  dimension_type neg_pinf_count = 0;
+    \return
+    The root of the PIP tree solution, or 0 if unfeasible.
 
-  // Approximate the inhomogeneous term.
-  assign_r(neg_sum, minus_sc_b, ROUND_UP);
+    \param pip
+    The PIP_Problem object containing this node.
 
-  // Approximate the homogeneous part of `sc_expr'.
-  PPL_DIRTY_TEMP(N, coeff_i);
-  PPL_DIRTY_TEMP(N, minus_coeff_i);
-  PPL_DIRTY_TEMP(N, half);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-  // Note: indices above `w' can be disregarded, as they all have
-  // a zero coefficient in `sc_expr'.
-  for (Row_iterator m_iter = m_begin, m_iter_end = m_iter + (2*w_id) + 2;
-       m_iter != m_iter_end; ) {
-    const dimension_type n_i = m_iter.index();
-    const dimension_type id = n_i/2;
-    Row_reference m_i = *m_iter;
-    ++m_iter;
-    Row_reference m_ci = *m_iter;
-    ++m_iter;
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(id));
-    const int sign_i = sgn(sc_i);
-    if (sign_i > 0) {
-      assign_r(coeff_i, sc_i, ROUND_UP);
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& double_up_approx_minus_i = m_i[n_i+1];
-        if (!is_plus_infinity(double_up_approx_minus_i)) {
-          // Let half = double_up_approx_minus_i / 2.
-          div_2exp_assign_r(half, double_up_approx_minus_i, 1, ROUND_UP);
-          add_mul_assign_r(neg_sum, coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = id;
-        }
-      }
-    }
-    else if (sign_i < 0) {
-      neg_assign_r(minus_sc_i, sc_i, ROUND_NOT_NEEDED);
-      assign_r(minus_coeff_i, minus_sc_i, ROUND_UP);
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& double_up_approx_i = m_ci[n_i];
-        if (!is_plus_infinity(double_up_approx_i)) {
-          // Let half = double_up_approx_i / 2.
-          div_2exp_assign_r(half, double_up_approx_i, 1, ROUND_UP);
-          add_mul_assign_r(neg_sum, minus_coeff_i, half, ROUND_UP);
-        }
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = id;
-        }
-      }
-    }
-  }
+    \param check_feasible_context
+    Whether the resolution process should (re-)check feasibility of
+    context (since the initial context may have been modified).
 
-  // Apply the affine upper bound.
-  generalized_affine_image(var,
-                           LESS_OR_EQUAL,
-                           ub_expr,
-                           denominator);
+    \param context
+    The context, being a set of constraints on the parameters.
 
-  // Return immediately if no approximation could be computed.
-  if (neg_pinf_count > 1) {
-    return;
-  }
+    \param params
+    The local parameter set, including parent's artificial parameters.
 
-  // In the following, strong closure will be definitely lost.
-  reset_strongly_closed();
+    \param space_dim
+    The space dimension of parent, including artificial parameters.
 
-  // Exploit the lower approximation, if possible.
-  if (neg_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the lower bound constraint, if meaningful.
-    if (neg_pinf_count == 0) {
-      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      PPL_DIRTY_TEMP(N, double_neg_sum);
-      mul_2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_UP);
-      matrix[n_var][n_var+1] = double_neg_sum;
-      // Deduce constraints of the form `-v +/- u', where `u != v'.
-      deduce_minus_v_pm_u_bounds(var_id, w_id, sc_expr, sc_den, neg_sum);
-    }
-    else
-      // Here `neg_pinf_count == 1'.
-      if (neg_pinf_index != var_id) {
-        const Coefficient& npi = sc_expr.coefficient(Variable(neg_pinf_index));
-        if (npi == sc_den)
-          // Add the constraint `v - neg_pinf_index >= -neg_sum',
-          // i.e., `neg_pinf_index - v <= neg_sum'.
-          if (neg_pinf_index < var_id)
-            matrix[n_var][2*neg_pinf_index] = neg_sum;
-          else
-            matrix[2*neg_pinf_index+1][n_var+1] = neg_sum;
-        else
-          if (npi == minus_sc_den) {
-            // Add the constraint `v + neg_pinf_index >= -neg_sum',
-            // i.e., `-neg_pinf_index - v <= neg_sum'.
-            if (neg_pinf_index < var_id)
-              matrix[n_var][2*neg_pinf_index+1] = neg_sum;
-            else
-              matrix[2*neg_pinf_index][n_var+1] = neg_sum;
-          }
-      }
-  }
+    \param indent_level
+    The indentation level (for debugging output only).
+  */
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix<Row>& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim,
+                               int indent_level) = 0;
 
-  PPL_ASSERT(OK());
-}
+  //! Inserts a new parametric constraint in internal row format.
+  void add_constraint(const Row& row, const Variables_Set& parameters);
 
+  //! Merges parent's artificial parameters into \p *this.
+  void parent_merge();
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::generalized_affine_preimage(const Variable var,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& expr,
-                              Coefficient_traits::const_reference
-                              denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)", "d == 0");
+  //! Prints on \p s the tree rooted in \p *this.
+  /*!
+    \param s
+    The output stream.
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-                                 "e", expr);
+    \param indent
+    The amount of indentation.
 
-  // `var' should be one of the dimensions of the octagon.
-  const dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-                                 var_id + 1);
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
 
-  // The relation symbol cannot be a strict relation symbol.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+    \param first_art_dim
+    The first space dimension corresponding to an artificial parameter
+    that was created in this node (if any).
+  */
+  virtual void print_tree(std::ostream& s,
+                          int indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const = 0;
 
-  if (relsym == EQUAL) {
-    // The relation symbol is "=":
-    // this is just an affine preimage computation.
-    affine_preimage(var, expr, denominator);
-    return;
-  }
+  //! A helper function used when printing PIP trees.
+  static void
+  indent_and_print(std::ostream& s, int indent, const char* str);
 
-  // The image of an empty octagon is empty too.
-  strong_closure_assign();
-  if (marked_empty())
-    return;
+  /*! \brief
+    Checks whether a context matrix is satisfiable.
 
-  // Check whether the preimage of this affine relation can be easily
-  // computed as the image of its inverse relation.
-  const Coefficient& expr_v = expr.coefficient(var);
-  if (expr_v != 0) {
-    const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL)
-      ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
-    const Linear_Expression inverse
-      = expr - (expr_v + denominator)*var;
-    PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-    neg_assign(inverse_den, expr_v);
-    const Relation_Symbol inverse_relsym
-      = (sgn(denominator) == sgn(inverse_den)) ? relsym : reversed_relsym;
-    generalized_affine_image(var, inverse_relsym, inverse, inverse_den);
-    return;
-  }
+    The satisfiability check is implemented by the revised dual simplex
+    algorithm on the context matrix. The algorithm ensures the feasible
+    solution is integer by applying a cut generation method when
+    intermediate non-integer solutions are found.
+  */
+  static bool compatibility_check(Matrix<Row>& s);
 
-  // Here `var_coefficient == 0', so that the preimage cannot
-  // be easily computed by inverting the affine relation.
-  // Shrink the Octagonal_Shape by adding the constraint induced
-  // by the affine relation.
-  refine(var, relsym, expr, denominator);
+  /*! \brief
+    Helper method: checks for satisfiability of the restricted context
+    obtained by adding \p row to \p context.
+  */
+  static bool compatibility_check(const Matrix<Row>& context, const Row& row);
 
-  // If the shrunk OS is empty, its preimage is empty too; ...
-  if (is_empty())
-    return;
-  // ...  otherwise, since the relation was not invertible,
-  // we just forget all constraints on `var'.
-  forget_all_octagonal_constraints(var_id);
-  PPL_ASSERT(OK());
-}
+}; // class PIP_Tree_Node
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::generalized_affine_preimage(const Linear_Expression& lhs,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  dimension_type lhs_space_dim = lhs.space_dimension();
-  if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
-                                 "e1", lhs);
 
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
-                                 "e2", rhs);
+/*! \brief
+  Artificial parameters in PIP solution trees.
 
-  // Strict relation symbols are not admitted for octagons.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is an Octagonal_Shape");
+  These parameters are built from a linear expression combining other
+  parameters (constant term included) divided by a positive integer
+  denominator. Coefficients at variables indices corresponding to
+  PIP problem variables are always zero.
+*/
+class PIP_Tree_Node::Artificial_Parameter
+  : public Linear_Expression {
+public:
+  //! Default constructor: builds a zero artificial parameter.
+  Artificial_Parameter();
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty.
-  if (marked_empty())
-    return;
+  //! Constructor.
+  /*!
+    Builds artificial parameter \f$\frac{\mathtt{expr}}{\mathtt{d}}\f$.
 
-  // Number of non-zero coefficients in `lhs': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t_lhs = 0;
-  // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
+    \param expr
+    The expression that, after normalization, will form the numerator of
+    the artificial parameter.
 
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+    \param d
+    The integer constant that, after normalization, will form the
+    denominator of the artificial parameter.
 
-  const Coefficient& b_lhs = lhs.inhomogeneous_term();
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
 
-  // If all variables have a zero coefficient, then `lhs' is a constant:
-  // in this case, preimage and image happen to be the same.
-  if (t_lhs == 0) {
-    generalized_affine_image(lhs, relsym, rhs);
-    return;
-  }
+    Normalization will ensure that the denominator is positive.
+  */
+  Artificial_Parameter(const Linear_Expression& expr,
+                       Coefficient_traits::const_reference d);
 
-  else if (t_lhs == 1) {
-    // Here `lhs == a_lhs * v + b_lhs'.
-    // Independently from the form of `rhs', we can exploit the
-    // method computing generalized affine preimages for a single variable.
-    Variable v(j_lhs);
-    // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
-    Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
-      if (relsym == LESS_OR_EQUAL)
-        new_relsym = GREATER_OR_EQUAL;
-      else if (relsym == GREATER_OR_EQUAL)
-        new_relsym = LESS_OR_EQUAL;
-    }
-    Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_preimage(v, new_relsym, expr, den);
-  }
+  //! Copy constructor.
+  Artificial_Parameter(const Artificial_Parameter& y);
 
-  else {
-    // Here `lhs' is of the general form, having at least two variables.
-    // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
-    std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+  //! Returns the normalized (i.e., positive) denominator.
+  Coefficient_traits::const_reference denominator() const;
 
-    if (!lhs_vars_intersects_rhs_vars) {
-      // `lhs' and `rhs' variables are disjoint.
-      // Constrain the left hand side expression so that it is related to
-      // the right hand side expression as dictated by `relsym'.
-      // TODO: if the following constraint is NOT an octagonal difference,
-      // it will be simply ignored. Should we compute approximations for it?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
+  //! Swaps \p *this with \p y.
+  void m_swap(Artificial_Parameter& y);
+
+  //! Returns \c true if and only if \p *this and \p y are equal.
+  /*!
+    Note that two artificial parameters having different space dimensions
+    are considered to be different.
+  */
+  bool operator==(const Artificial_Parameter& y) const;
+  //! Returns \c true if and only if \p *this and \p y are different.
+  bool operator!=(const Artificial_Parameter& y) const;
+
+  PPL_OUTPUT_DECLARATIONS
+
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
+
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-      // Any image of an empty octagon is empty.
-      if (is_empty())
-        return;
-      // Existentially quantify all variables in the lhs.
-      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
-        dimension_type lhs_vars_i = lhs_vars[i].id();
-        forget_all_octagonal_constraints(lhs_vars_i);
-      }
-    }
-    else {
-      // Some variables in `lhs' also occur in `rhs'.
+  //! Returns \c true if and only if the parameter is well-formed.
+  bool OK() const;
 
-      // More accurate computation that is worth doing only if
-      // the following TODO note is accurately dealt with.
+private:
+  //! The normalized (i.e., positive) denominator.
+  Coefficient denom;
+}; // class PIP_Tree_Node::Artificial_Parameter
 
-      // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
-      add_space_dimensions_and_embed(1);
-      // Constrain the new dimension to be equal to `rhs'.
-      // NOTE: calling affine_image() instead of refine_no_check()
-      // ensures some approximation is tried even when the constraint
-      // is not an octagonal difference.
-      affine_image(new_var, lhs);
-      // Existentially quantify all variables in the lhs.
-      // NOTE: enforce strong closure for precision.
-      strong_closure_assign();
-      PPL_ASSERT(!marked_empty());
-      for (dimension_type i = lhs_vars.size(); i-- > 0; ) {
-        dimension_type lhs_vars_i = lhs_vars[i].id();
-        forget_all_octagonal_constraints(lhs_vars_i);
-      }
-      // Constrain the new dimension so that it is related to
-      // the left hand side as dictated by `relsym'.
-      // Note: if `rhs == v + b_rhs' or `rhs == -v + b_rhs' or `rhs == b_rhs',
-      // one of the following constraints will be added, because they
-      // are octagonal differences.
-      // Else the following constraints are NOT octagonal differences,
-      // so the method refine_no_check() will ignore them.
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(new_var <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(new_var == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(new_var >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      // Remove the temporarily added dimension.
-      remove_higher_space_dimensions(space_dim-1);
-    }
-  }
-  PPL_ASSERT(OK());
-}
 
-template <typename T>
+//! Swaps \p x with \p y.
+/*! \relates PIP_Tree_Node::Artificial_Parameter */
 void
-Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
-                                            const Linear_Expression& lb_expr,
-                                            const Linear_Expression& ub_expr,
-                                            Coefficient_traits::const_reference
-                                            denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+swap(PIP_Tree_Node::Artificial_Parameter& x,
+     PIP_Tree_Node::Artificial_Parameter& y);
 
-  // `var' should be one of the dimensions of the octagon.
-  const dimension_type var_id = var.id();
-  if (space_dim < var_id + 1)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
-                                 var_id + 1);
 
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-                                 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-                                 "ub", ub_expr);
+//! A tree node representing part of the space of solutions.
+class PIP_Solution_Node : public PIP_Tree_Node {
+public:
 
-  strong_closure_assign();
-  // The image of an empty octagon is empty too.
-  if (marked_empty())
-    return;
+  //! Constructor: builds a solution node owned by \p *owner.
+  explicit PIP_Solution_Node(const PIP_Problem* owner);
 
-  if (ub_expr.coefficient(var) == 0) {
-    refine(var, LESS_OR_EQUAL, ub_expr, denominator);
-    generalized_affine_preimage(var, GREATER_OR_EQUAL,
-                                lb_expr, denominator);
-    return;
-  }
-  if (lb_expr.coefficient(var) == 0) {
-    refine(var, GREATER_OR_EQUAL, lb_expr, denominator);
-    generalized_affine_preimage(var, LESS_OR_EQUAL,
-                                ub_expr, denominator);
-    return;
-  }
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
 
-  const Coefficient& expr_v = lb_expr.coefficient(var);
-  // Here `var' occurs in `lb_expr' and `ub_expr'.
-  // To ease the computation, we add an additional dimension.
-  const Variable new_var = Variable(space_dim);
-  add_space_dimensions_and_embed(1);
-  const Linear_Expression lb_inverse
-    = lb_expr - (expr_v + denominator)*var;
-  PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-  neg_assign(inverse_den, expr_v);
-  affine_image(new_var, lb_inverse, inverse_den);
-  strong_closure_assign();
-  PPL_ASSERT(!marked_empty());
-  generalized_affine_preimage(var, LESS_OR_EQUAL,
-                              ub_expr, denominator);
-  if (sgn(denominator) == sgn(inverse_den))
-    refine_no_check(var >= new_var) ;
-  else
-    refine_no_check(var <= new_var);
-  // Remove the temporarily added dimension.
-  remove_higher_space_dimensions(space_dim-1);
-}
+  //! Destructor.
+  virtual ~PIP_Solution_Node();
 
-template <typename T>
-Constraint_System
-Octagonal_Shape<T>::constraints() const {
-  Constraint_System cs;
-  if (space_dim == 0) {
-    if (marked_empty())
-      cs = Constraint_System::zero_dim_empty();
-  }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
 
-    typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-    typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+  //! Returns \p this.
+  virtual const PIP_Solution_Node* as_solution() const;
 
-    Row_Iterator m_begin = matrix.row_begin();
-    Row_Iterator m_end = matrix.row_end();
+  //! Returns 0, since \p this is not a decision node.
+  virtual const PIP_Decision_Node* as_decision() const;
 
-    PPL_DIRTY_TEMP_COEFFICIENT(a);
-    PPL_DIRTY_TEMP_COEFFICIENT(b);
+  /*! \brief
+    Returns a parametric expression for the values of problem variable \p var.
 
-    // Go through all the unary constraints in `matrix'.
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-      const dimension_type i = i_iter.index();
-      const Variable x(i/2);
-      const N& c_i_ii = (*i_iter)[i+1];
-      ++i_iter;
-      const N& c_ii_i = (*i_iter)[i];
-      ++i_iter;
-      // Go through unary constraints.
-      if (is_additive_inverse(c_i_ii, c_ii_i)) {
-        // We have a unary equality constraint.
-        numer_denom(c_ii_i, b, a);
-        a *= 2;
-        cs.insert(a*x == b);
-      }
-      else {
-        // We have 0, 1 or 2 inequality constraints.
-        if (!is_plus_infinity(c_i_ii)) {
-          numer_denom(c_i_ii, b, a);
-          a *= 2;
-          cs.insert(-a*x <= b);
-        }
-        if (!is_plus_infinity(c_ii_i)) {
-          numer_denom(c_ii_i, b, a);
-          a *= 2;
-          cs.insert(a*x <= b);
-        }
-      }
-    }
-    //  Go through all the binary constraints in `matrix'.
-    for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-      const dimension_type i = i_iter.index();
-      Row_Reference r_i = *i_iter;
-      ++i_iter;
-      Row_Reference r_ii = *i_iter;
-      ++i_iter;
-      const Variable y(i/2);
-      for (dimension_type j = 0; j < i; j += 2) {
-        const N& c_i_j = r_i[j];
-        const N& c_ii_jj = r_ii[j+1];
-        const Variable x(j/2);
-        if (is_additive_inverse(c_ii_jj, c_i_j)) {
-          // We have an equality constraint of the form ax - ay = b.
-          numer_denom(c_i_j, b, a);
-          cs.insert(a*x - a*y == b);
-        }
-        else {
-          // We have 0, 1 or 2 inequality constraints.
-          if (!is_plus_infinity(c_i_j)) {
-            numer_denom(c_i_j, b, a);
-            cs.insert(a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(c_ii_jj)) {
-            numer_denom(c_ii_jj, b, a);
-            cs.insert(a*y - a*x <= b);
-          }
-        }
+    The returned linear expression may involve problem parameters
+    as well as artificial parameters.
 
-        const N& c_ii_j = r_ii[j];
-        const N& c_i_jj = r_i[j+1];
-        if (is_additive_inverse(c_i_jj, c_ii_j)) {
-          // We have an equality constraint of the form ax + ay = b.
-          numer_denom(c_ii_j, b, a);
-          cs.insert(a*x + a*y == b);
-        }
-        else {
-          // We have 0, 1 or 2 inequality constraints.
-          if (!is_plus_infinity(c_i_jj)) {
-            numer_denom(c_i_jj, b, a);
-            cs.insert(-a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(c_ii_j)) {
-            numer_denom(c_ii_j, b, a);
-            cs.insert(a*x + a*y <= b);
-          }
-        }
-      }
-    }
-  }
-  return cs;
-}
+    \param var
+    The problem variable which is queried about.
 
-template <typename T>
-void
-Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
-  // `var' should be one of the dimensions of the vector space.
-  const dimension_type var_id = var.id();
-  if (var_id+1 > space_dim)
-    throw_dimension_incompatible("expand_space_dimension(v, m)", var_id+1);
+    \exception std::invalid_argument
+    Thrown if \p var is dimension-incompatible with the PIP_Problem
+    owning this solution node, or if \p var is a problem parameter.
+  */
+  const Linear_Expression& parametric_values(Variable var) const;
 
-  // The space dimension of the resulting octagon should not
-  // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dim)
-    throw_generic("expand_dimension(v, m)",
-                  "adding m new space dimensions exceeds "
-                  "the maximum allowed space dimension");
+  //! Dumps to \p os an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& os) const;
 
-  // Nothing to do, if no dimensions must be added.
-  if (m == 0)
-    return;
+  /*! \brief
+    Loads from \p is an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& is);
 
-  // Keep track of the dimension before adding the new ones.
-  const dimension_type old_num_rows = matrix.num_rows();
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
 
-  // Add the required new dimensions.
-  add_space_dimensions_and_embed(m);
+private:
+  //! The type for parametric simplex tableau.
+  struct Tableau {
+    //! The matrix of simplex coefficients.
+    Matrix<Row> s;
+    //! The matrix of parameter coefficients.
+    Matrix<Row> t;
+    //! A common denominator for all matrix elements
+    Coefficient denom;
 
-  // For each constraints involving variable `var', we add a
-  // similar constraint with the new variable substituted for
-  // variable `var'.
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_reference;
+    //! Default constructor.
+    Tableau();
+    //! Copy constructor.
+    Tableau(const Tableau& y);
+    //! Destructor.
+    ~Tableau();
 
-  const Row_Iterator m_begin = matrix.row_begin();
-  const Row_Iterator m_end = matrix.row_end();
-  const dimension_type n_var = 2*var_id;
-  Row_iterator v_iter = m_begin + n_var;
-  Row_reference m_v = *v_iter;
-  Row_reference m_cv = *(v_iter+1);
+    //! Tests whether the matrix is integer, i.e., the denominator is 1.
+    bool is_integer() const;
 
-  for (Row_Iterator i_iter = m_begin + old_num_rows; i_iter != m_end;
-       i_iter += 2) {
-    Row_Reference m_i = *i_iter;
-    Row_Reference m_ci = *(i_iter+1);
-    const dimension_type i = i_iter.index();
-    const dimension_type ci = i+1;
-    m_i[ci] = m_v[n_var+1];
-    m_ci[i] = m_cv[n_var];
-    for (dimension_type j = 0; j < n_var; ++j) {
-      m_i[j] = m_v[j];
-      m_ci[j] = m_cv[j];
-    }
-    for (dimension_type j = n_var+2; j < old_num_rows; ++j) {
-      Row_Iterator j_iter = m_begin + j;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      m_i[j] = m_cj[n_var+1];
-      m_ci[j] = m_cj[n_var];
-    }
-  }
-  // In general, adding a constraint does not preserve the strong closure
-  // of the octagon.
-  if (marked_strongly_closed())
-    reset_strongly_closed();
-  PPL_ASSERT(OK());
-}
+    //! Multiplies all coefficients and denominator with ratio.
+    void scale(Coefficient_traits::const_reference ratio);
 
-template <typename T>
-void
-Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
-                                          Variable dest) {
-  // `dest' should be one of the dimensions of the octagon.
-  if (dest.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
+    //! Normalizes the modulo of coefficients so that they are mutually prime.
+    /*!
+      Computes the Greatest Common Divisor (GCD) among the elements of
+      the matrices and normalizes them and the denominator by the GCD itself.
+    */
+    void normalize();
 
-  // The folding of no dimensions is a no-op.
-  if (vars.empty())
-    return;
+    /*! \brief
+      Compares two pivot row and column pairs before pivoting.
 
-  // All variables in `vars' should be dimensions of the octagon.
-  if (vars.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
-                                 vars.space_dimension());
+      The algorithm searches the first (ie, leftmost) column \f$k\f$ in
+      parameter matrix for which the \f$c=s_{*j}\frac{t_{ik}}{s_{ij}}\f$
+      and \f$c'=s_{*j'}\frac{t_{i'k}}{s_{i'j'}}\f$ columns are different,
+      where \f$s_{*j}\f$ denotes the \f$j\f$<sup>th</sup> column from the
+      \f$s\f$ matrix and \f$s_{*j'}\f$ is the \f$j'\f$<sup>th</sup> column
+      of \f$s\f$.
 
-  // Moreover, `dest.id()' should not occur in `vars'.
-  if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-                  "v should not occur in vs");
+      \f$c\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the \f$(i,j)\f$
+      row and column pair.
+      \f$c'\f$ is the computed column that would be subtracted to column
+      \f$k\f$ in parameter matrix if pivoting is done using the
+      \f$(i',j')\f$ row and column pair.
 
-  // Recompute the elements of the row and the column corresponding
-  // to variable `dest' by taking the join of their value with the
-  // value of the corresponding elements in the row and column of the
-  // variable `vars'.
-  typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
+      The test is true if the computed \f$-c\f$ column is lexicographically
+      bigger than the \f$-c'\f$ column. Due to the column ordering in the
+      parameter matrix of the tableau, leftmost search will enforce solution
+      increase with respect to the following priority order:
+       - the constant term
+       - the coefficients for the original parameters
+       - the coefficients for the oldest artificial parameters.
 
-  const Row_Iterator m_begin = matrix.row_begin();
+      \return
+      \c true if pivot row and column pair \f$(i,j)\f$ is more
+      suitable for pivoting than the \f$(i',j')\f$ pair
 
-  strong_closure_assign();
-  const dimension_type n_rows = matrix.num_rows();
-  const dimension_type n_dest = 2*dest.id();
-  Row_Iterator v_iter = m_begin + n_dest;
-  Row_Reference m_v = *v_iter;
-  Row_Reference m_cv = *(v_iter+1);
-  for (Variables_Set::const_iterator i = vars.begin(),
-         vs_end = vars.end(); i != vs_end; ++i) {
-    const dimension_type tbf_id = *i;
-    const dimension_type tbf_var = 2*tbf_id;
-    Row_Iterator tbf_iter = m_begin + tbf_var;
-    Row_Reference m_tbf = *tbf_iter;
-    Row_Reference m_ctbf = *(tbf_iter+1);
-    max_assign(m_v[n_dest+1], m_tbf[tbf_var+1]);
-    max_assign(m_cv[n_dest], m_ctbf[tbf_var]);
+      \param mapping
+      The PIP_Solution_Node::mapping vector for the tableau.
 
-    const dimension_type min_id = std::min(n_dest, tbf_var);
-    const dimension_type max_id = std::max(n_dest, tbf_var);
+      \param basis
+      The PIP_Solution_Node::basis vector for the tableau.
 
-    using namespace Implementation::Octagonal_Shapes;
-    for (dimension_type j = 0; j < min_id; ++j) {
-      const dimension_type cj = coherent_index(j);
-      max_assign(m_v[j], m_tbf[j]);
-      max_assign(m_cv[j], m_ctbf[j]);
-      max_assign(m_cv[cj], m_ctbf[cj]);
-      max_assign(m_v[cj], m_tbf[cj]);
-    }
-    for (dimension_type j = min_id+2; j < max_id; ++j) {
-      const dimension_type cj = coherent_index(j);
-      Row_Iterator j_iter = m_begin + j;
-      Row_Reference m_j = *j_iter;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      if (n_dest == min_id) {
-        max_assign(m_cj[n_dest+1], m_tbf[j]);
-        max_assign(m_cj[n_dest], m_ctbf[j]);
-        max_assign(m_j[n_dest], m_ctbf[cj]);
-        max_assign(m_j[n_dest+1], m_tbf[cj]);
-      }
-      else {
-        max_assign(m_v[j], m_cj[tbf_var+1]);
-        max_assign(m_cv[j], m_cj[tbf_var]);
-        max_assign(m_cv[cj], m_j[tbf_var]);
-        max_assign(m_v[cj], m_j[tbf_var+1]);
-      }
-    }
-    for (dimension_type j = max_id+2; j < n_rows; ++j) {
-      Row_Iterator j_iter = m_begin + j;
-      Row_Reference m_j = *j_iter;
-      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
-      max_assign(m_cj[n_dest+1], m_cj[tbf_var+1]);
-      max_assign(m_cj[n_dest], m_cj[tbf_var]);
-      max_assign(m_j[n_dest], m_j[tbf_var]);
-      max_assign(m_j[n_dest+1], m_j[tbf_var+1]);
-    }
-  }
-  remove_space_dimensions(vars);
-}
+      \param row_0
+      The row number for the first pivot row and column pair to be compared.
 
-template <typename T>
-bool
-Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  // FIXME, CHECKME: what about inexact computations?
+      \param col_0
+      The column number for the first pivot row and column pair to be
+      compared.
 
-  // Declare a const reference to *this (to avoid accidental modifications).
-  const Octagonal_Shape& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+      \param row_1
+      The row number for the second pivot row and column pair to be compared.
 
-  if (x_space_dim != y.space_dimension())
-    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
+      \param col_1
+      The column number for the second pivot row and column pair to be
+      compared.
+    */
+    bool is_better_pivot(const std::vector<dimension_type>& mapping,
+                         const std::vector<bool>& basis,
+                         const dimension_type row_0,
+                         const dimension_type col_0,
+                         const dimension_type row_1,
+                         const dimension_type col_1) const;
 
-  // The zero-dim case is trivial.
-  if (x_space_dim == 0) {
-    upper_bound_assign(y);
-    return true;
-  }
-  // If `x' or `y' is (known to be) empty, the upper bound is exact.
-  if (x.marked_empty()) {
-    *this = y;
-    return true;
-  }
-  else if (y.is_empty())
-    return true;
-  else if (x.is_empty()) {
-    *this = y;
-    return true;
-  }
+    //! Returns the value of the denominator.
+    Coefficient_traits::const_reference denominator() const;
 
-  // Here both `x' and `y' are known to be non-empty.
-  PPL_ASSERT(x.marked_strongly_closed());
-  PPL_ASSERT(y.marked_strongly_closed());
-  // Pre-compute the upper bound of `x' and `y'.
-  Octagonal_Shape<T> ub(x);
-  ub.upper_bound_assign(y);
+    //! Dumps to \p os an ASCII representation of \p *this.
+    void ascii_dump(std::ostream& os) const;
 
-  // Compute redundancy information for x and y.
-  // TODO: provide a nicer data structure for redundancy.
-  std::vector<Bit_Row> x_non_red;
-  x.non_redundant_matrix_entries(x_non_red);
-  std::vector<Bit_Row> y_non_red;
-  y.non_redundant_matrix_entries(y_non_red);
+    /*! \brief
+      Loads from \p is an ASCII representation (as produced by
+      ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+      Returns \c true if successful, \c false otherwise.
+    */
+    bool ascii_load(std::istream& is);
 
-  PPL_DIRTY_TEMP(N, lhs);
-  PPL_DIRTY_TEMP(N, lhs_copy);
-  PPL_DIRTY_TEMP(N, rhs);
-  PPL_DIRTY_TEMP(N, temp_zero);
-  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+    //! Returns the size in bytes of the memory managed by \p *this.
+    /*!
+      \note
+      No need for a \c total_memory_in_bytes() method, since
+      class Tableau is a private inner class of PIP_Solution_Node.
+    */
+    memory_size_type external_memory_in_bytes() const;
 
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
-  const dimension_type n_rows = x.matrix.num_rows();
-  const Row_Iterator x_m_begin = x.matrix.row_begin();
-  const Row_Iterator y_m_begin = y.matrix.row_begin();
-  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
+    //! Returns \c true if and only if \p *this is well formed.
+    bool OK() const;
+  }; // struct Tableau
 
-  for (dimension_type i = n_rows; i-- > 0; ) {
-    const Bit_Row& x_non_red_i = x_non_red[i];
-    using namespace Implementation::Octagonal_Shapes;
-    const dimension_type ci = coherent_index(i);
-    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
-    Row_Reference x_i = *(x_m_begin + i);
-    Row_Reference y_i = *(y_m_begin + i);
-    Row_Reference ub_i = *(ub_m_begin + i);
-    const N& ub_i_ci = ub_i[ci];
-    for (dimension_type j = row_size_i; j-- > 0; ) {
-      // Check redundancy of x_i_j.
-      if (!x_non_red_i[j])
-        continue;
-      const N& x_i_j = x_i[j];
-      // Check 1st condition in BHZ09 theorem.
-      if (x_i_j >= y_i[j])
-        continue;
-      const dimension_type cj = coherent_index(j);
-      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
-      Row_Reference ub_cj = *(ub_m_begin + cj);
-      const N& ub_cj_j = ub_cj[j];
-      for (dimension_type k = 0; k < n_rows; ++k) {
-        const Bit_Row& y_non_red_k = y_non_red[k];
-        const dimension_type ck = coherent_index(k);
-        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
-        Row_Reference x_k = *(x_m_begin + k);
-        Row_Reference y_k = *(y_m_begin + k);
-        Row_Reference ub_k = *(ub_m_begin + k);
-        const N& ub_k_ck = ub_k[ck];
-        // Be careful: for each index h, the diagonal element m[h][h]
-        // is (by convention) +infty in our implementation; however,
-        // BHZ09 theorem assumes that it is equal to 0.
-        const N& ub_k_j = (k == j) ? temp_zero
-          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
-        const N& ub_i_ck = (i == ck) ? temp_zero
-          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+  //! The parametric simplex tableau.
+  Tableau tableau;
 
-        for (dimension_type ell = row_size_k; ell-- > 0; ) {
-          // Check redundancy of y_k_ell.
-          if (!y_non_red_k[ell])
-            continue;
-          const N& y_k_ell = y_k[ell];
-          // Check 2nd condition in BHZ09 theorem.
-          if (y_k_ell >= x_k[ell])
-            continue;
-          const dimension_type cell = coherent_index(ell);
-          Row_Reference ub_cell = *(ub_m_begin + cell);
-          const N& ub_i_ell = (i == ell) ? temp_zero
-            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
-          const N& ub_cj_ell = (cj == ell) ? temp_zero
-            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
-          // Check 3rd condition in BHZ09 theorem.
-          add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
-          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
-          if (lhs >= rhs)
-            continue;
-          // Check 4th condition in BHZ09 theorem.
-          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_UP);
-          if (lhs >= rhs)
-            continue;
-          // Check 5th condition in BHZ09 theorem.
-          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
-          add_assign_r(lhs, lhs_copy, x_i_j, ROUND_UP);
-          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_UP);
-          add_assign_r(rhs, rhs, ub_cj_j, ROUND_UP);
-          if (lhs >= rhs)
-            continue;
-          // Check 6th condition in BHZ09 theorem.
-          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_UP);
-          add_assign_r(rhs, rhs, ub_i_ci, ROUND_UP);
-          if (lhs >= rhs)
-            continue;
-          // Check 7th condition of BHZ09 theorem.
-          add_assign_r(lhs, lhs_copy, y_k_ell, ROUND_UP);
-          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_UP);
-          add_assign_r(rhs, rhs, ub_k_ck, ROUND_UP);
-          if (lhs >= rhs)
-            continue;
-          // Check 8th (last) condition in BHZ09 theorem.
-          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_UP);
-          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_UP);
-          if (lhs < rhs)
-            // All 8 conditions are satisfied:
-            // upper bound is not exact.
-            return false;
-        }
-      }
-    }
-  }
+  /*! \brief
+    A boolean vector for identifying the basic variables.
+
+    Variable identifiers are numbered from 0 to <CODE>n+m-1</CODE>, where \p n
+    is the number of columns in the simplex tableau corresponding to variables,
+    and \p m is the number of rows.
+
+    Indices from 0 to <CODE>n-1</CODE> correspond to the original variables.
+
+    Indices from \p n to <CODE>n+m-1</CODE> correspond to the slack variables
+    associated to the internal constraints, which do not strictly correspond
+    to original constraints, since these may have been transformed to fit the
+    standard form of the dual simplex.
 
-  // The upper bound of x and y is indeed exact.
-  swap(ub);
-  PPL_ASSERT(OK());
-  return true;
-}
+    The value for <CODE>basis[i]</CODE> is:
+     - \b true if variable \p i is basic,
+     - \b false if variable \p i is nonbasic.
+  */
+  std::vector<bool> basis;
 
-template <typename T>
-bool
-Octagonal_Shape<T>
-::integer_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
-                         "Octagonal_Shape<T>::"
-                         "integer_upper_bound_assign_if_exact(y):"
-                         " T in not an integer datatype.");
-  // Declare a const reference to *this (to avoid accidental modifications).
-  const Octagonal_Shape& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+  /*! \brief
+    A mapping between the tableau rows/columns and the original variables.
 
-  if (x_space_dim != y.space_dimension())
-    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
+    The value of <CODE>mapping[i]</CODE> depends of the value of <CODE>basis[i]</CODE>.
 
-  // The zero-dim case is trivial.
-  if (x_space_dim == 0) {
-    upper_bound_assign(y);
-    return true;
-  }
+     - If <CODE>basis[i]</CODE> is \b true, <CODE>mapping[i]</CODE> encodes the column
+       index of variable \p i in the \p s matrix of the tableau.
+     - If <CODE>basis[i]</CODE> is \b false, <CODE>mapping[i]</CODE> encodes the row
+       index of variable \p i in the tableau.
+  */
+  std::vector<dimension_type> mapping;
 
-  // If `x' or `y' is (known to) contain no integral point,
-  // then the integer upper bound can be computed exactly by tight closure.
-  if (x.marked_empty()) {
-    *this = y;
-    tight_closure_assign();
-    return true;
-  }
-  else if (y.marked_empty()) {
-    tight_closure_assign();
-    return true;
-  }
-  else if (x.is_empty() || x.tight_coherence_would_make_empty()) {
-    *this = y;
-    tight_closure_assign();
-    return true;
-  }
-  else if (y.is_empty() || y.tight_coherence_would_make_empty()) {
-    tight_closure_assign();
-    return true;
-  }
+  /*! \brief
+    The variable identifiers associated to the rows of the simplex tableau.
+  */
+  std::vector<dimension_type> var_row;
 
-  // Here both `x' and `y' are known to be non-empty (and Z-consistent).
-  PPL_ASSERT(x.marked_strongly_closed());
-  PPL_ASSERT(y.marked_strongly_closed());
-  // Pre-compute the integer upper bound of `x' and `y':
-  // have to take copies, since tight closure might modify the rational shape.
-  Octagonal_Shape<T> tx(x);
-  tx.tight_closure_assign();
-  Octagonal_Shape<T> ty(y);
-  ty.tight_closure_assign();
-  Octagonal_Shape<T> ub(tx);
-  ub.upper_bound_assign(ty);
+  /*! \brief
+    The variable identifiers associated to the columns of the simplex tableau.
+  */
+  std::vector<dimension_type> var_column;
 
-  // Compute redundancy information for tx and ty.
-  // TODO: provide a nicer data structure for redundancy.
-  // NOTE: there is no need to identify all redundancies, since this is
-  // an optimization; hence we reuse the strong-reduction helper methods.
-  std::vector<Bit_Row> tx_non_red;
-  tx.non_redundant_matrix_entries(tx_non_red);
-  std::vector<Bit_Row> ty_non_red;
-  ty.non_redundant_matrix_entries(ty_non_red);
+  /*! \brief
+    The variable number of the special inequality used for modeling
+    equality constraints.
 
-  PPL_DIRTY_TEMP(N, lhs_i_j);
-  PPL_DIRTY_TEMP(N, lhs_k_ell);
-  PPL_DIRTY_TEMP(N, lhs);
-  PPL_DIRTY_TEMP(N, lhs_copy);
-  PPL_DIRTY_TEMP(N, rhs);
-  PPL_DIRTY_TEMP(N, temp_zero);
-  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
-  PPL_DIRTY_TEMP(N, temp_one);
-  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
-  PPL_DIRTY_TEMP(N, temp_two);
-  assign_r(temp_two, 2, ROUND_NOT_NEEDED);
+    The subset of equality constraints in a specific problem can be expressed
+    as: \f$f_i(x,p) = 0 ; 1 \leq i \leq n\f$. As the dual simplex standard form
+    requires constraints to be inequalities, the following constraints can be
+    modeled as follows:
 
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
-  const dimension_type n_rows = tx.matrix.num_rows();
-  const Row_Iterator tx_m_begin = tx.matrix.row_begin();
-  const Row_Iterator ty_m_begin = ty.matrix.row_begin();
-  const Row_Iterator ub_m_begin = ub.matrix.row_begin();
+     - \f$f_i(x,p) \geq 0 ; 1 \leq i \leq n\f$
 
-  for (dimension_type i = n_rows; i-- > 0; ) {
-    const Bit_Row& tx_non_red_i = tx_non_red[i];
-    using namespace Implementation::Octagonal_Shapes;
-    const dimension_type ci = coherent_index(i);
-    const dimension_type row_size_i = OR_Matrix<N>::row_size(i);
-    Row_Reference tx_i = *(tx_m_begin + i);
-    Row_Reference ty_i = *(ty_m_begin + i);
-    Row_Reference ub_i = *(ub_m_begin + i);
-    const N& ub_i_ci = ub_i[ci];
-    for (dimension_type j = row_size_i; j-- > 0; ) {
-      // Check redundancy of tx_i_j.
-      if (!tx_non_red_i[j])
-        continue;
-      const N& tx_i_j = tx_i[j];
-      const dimension_type cj = coherent_index(j);
-      const N& eps_i_j = (i == cj) ? temp_two : temp_one;
-      // Check condition 1a in BHZ09 Theorem 6.8.
-      add_assign_r(lhs_i_j, tx_i_j, eps_i_j, ROUND_NOT_NEEDED);
-      if (lhs_i_j > ty_i[j])
-        continue;
-      const dimension_type row_size_cj = OR_Matrix<N>::row_size(cj);
-      Row_Reference ub_cj = *(ub_m_begin + cj);
-      const N& ub_cj_j = ub_cj[j];
-      for (dimension_type k = 0; k < n_rows; ++k) {
-        const Bit_Row& ty_non_red_k = ty_non_red[k];
-        const dimension_type ck = coherent_index(k);
-        const dimension_type row_size_k = OR_Matrix<N>::row_size(k);
-        Row_Reference tx_k = *(tx_m_begin + k);
-        Row_Reference ty_k = *(ty_m_begin + k);
-        Row_Reference ub_k = *(ub_m_begin + k);
-        const N& ub_k_ck = ub_k[ck];
-        // Be careful: for each index h, the diagonal element m[h][h]
-        // is (by convention) +infty in our implementation; however,
-        // BHZ09 theorem assumes that it is equal to 0.
-        const N& ub_k_j = (k == j) ? temp_zero
-          : (j < row_size_k ? ub_k[j] : ub_cj[ck]);
-        const N& ub_i_ck = (i == ck) ? temp_zero
-          : (ck < row_size_i ? ub_i[ck] : ub_k[ci]);
+     - \f$\sum\limits_{i=1}^n f_i(x,p) \leq 0\f$
 
-        for (dimension_type ell = row_size_k; ell-- > 0; ) {
-          // Check redundancy of y_k_ell.
-          if (!ty_non_red_k[ell])
-            continue;
-          const N& ty_k_ell = ty_k[ell];
-          const dimension_type cell = coherent_index(ell);
-          const N& eps_k_ell = (k == cell) ? temp_two : temp_one;
-          // Check condition 1b in BHZ09 Theorem 6.8.
-          add_assign_r(lhs_k_ell, ty_k_ell, eps_k_ell, ROUND_NOT_NEEDED);
-          if (lhs_k_ell > tx_k[ell])
-            continue;
-          Row_Reference ub_cell = *(ub_m_begin + cell);
-          const N& ub_i_ell = (i == ell) ? temp_zero
-            : (ell < row_size_i ? ub_i[ell] : ub_cell[ci]);
-          const N& ub_cj_ell = (cj == ell) ? temp_zero
-            : (ell < row_size_cj ? ub_cj[ell] : ub_cell[j]);
-          // Check condition 2a in BHZ09 Theorem 6.8.
-          add_assign_r(lhs, lhs_i_j, lhs_k_ell, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_NOT_NEEDED);
-          if (lhs > rhs)
-            continue;
-          // Check condition 2b in BHZ09 Theorem 6.8.
-          add_assign_r(rhs, ub_i_ck, ub_cj_ell, ROUND_NOT_NEEDED);
-          if (lhs > rhs)
-            continue;
-          // Check condition 3a in BHZ09 Theorem 6.8.
-          assign_r(lhs_copy, lhs, ROUND_NOT_NEEDED);
-          add_assign_r(lhs, lhs, lhs_i_j, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, ub_i_ell, ub_i_ck, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, rhs, ub_cj_j, ROUND_NOT_NEEDED);
-          if (lhs > rhs)
-            continue;
-          // Check condition 3b in BHZ09 Theorem 6.8.
-          add_assign_r(rhs, ub_k_j, ub_cj_ell, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, rhs, ub_i_ci, ROUND_NOT_NEEDED);
-          if (lhs > rhs)
-            continue;
-          // Check condition 4a in BHZ09 Theorem 6.8.
-          add_assign_r(lhs, lhs_copy, lhs_k_ell, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, ub_i_ell, ub_cj_ell, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, rhs, ub_k_ck, ROUND_NOT_NEEDED);
-          if (lhs > rhs)
-            continue;
-          // Check condition 4b in BHZ09 Theorem 6.8.
-          add_assign_r(rhs, ub_k_j, ub_i_ck, ROUND_NOT_NEEDED);
-          add_assign_r(rhs, rhs, ub_cell[ell], ROUND_NOT_NEEDED);
-          if (lhs <= rhs)
-            // All 8 conditions are satisfied:
-            // integer upper bound is not exact.
-            return false;
-        }
-      }
-    }
-  }
+    The \p special_equality_row value stores the variable number of the
+    specific constraint which is used to model the latter sum of
+    constraints. If no such constraint exists, the value is set to \p 0.
+  */
+  dimension_type special_equality_row;
 
-  // The upper bound of x and y is indeed exact.
-  swap(ub);
-  PPL_ASSERT(OK());
-  return true;
-}
+  /*! \brief
+    The column index in the parametric part of the simplex tableau
+    corresponding to the big parameter; \c not_a_dimension() if not set.
+  */
+  dimension_type big_dimension;
 
-template <typename T>
-void
-Octagonal_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
-  if (std::numeric_limits<T>::is_integer)
-    return;
+  //! The possible values for the sign of a parametric linear expression.
+  enum Row_Sign {
+    //! Not computed yet (default).
+    UNKNOWN,
+    //! All row coefficients are zero.
+    ZERO,
+    //! All nonzero row coefficients are positive.
+    POSITIVE,
+    //! All nonzero row coefficients are negative.
+    NEGATIVE,
+    //! The row contains both positive and negative coefficients.
+    MIXED
+  };
 
-  const dimension_type space_dim = space_dimension();
-  strong_closure_assign();
-  if (space_dim == 0 || marked_empty())
-    return;
+  //! A cache for computed sign values of constraint parametric RHS.
+  std::vector<Row_Sign> sign;
 
-  for (typename OR_Matrix<N>::element_iterator i = matrix.element_begin(),
-         i_end = matrix.element_end(); i != i_end; ++i)
-    drop_some_non_integer_points_helper(*i);
+  //! Parametric values for the solution.
+  std::vector<Linear_Expression> solution;
 
-  // Unary constraints should have an even integer boundary.
-  PPL_DIRTY_TEMP(N, temp_one);
-  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
-  for (dimension_type i = 0; i < 2*space_dim; i += 2) {
-    const dimension_type ci = i+1;
-    N& mat_i_ci = matrix[i][ci];
-    if (!is_plus_infinity(mat_i_ci) && !is_even(mat_i_ci)) {
-      sub_assign_r(mat_i_ci, mat_i_ci, temp_one, ROUND_UP);
-      reset_strongly_closed();
-    }
-    N& mat_ci_i = matrix[ci][i];
-    if (!is_plus_infinity(mat_ci_i) && !is_even(mat_ci_i)) {
-      sub_assign_r(mat_ci_i, mat_ci_i, temp_one, ROUND_UP);
-      reset_strongly_closed();
-    }
-  }
+  //! An indicator for solution validity.
+  bool solution_valid;
 
-  PPL_ASSERT(OK());
-}
+  //! Returns the sign of row \p x.
+  static Row_Sign row_sign(const Row& x,
+                           dimension_type big_dimension);
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::drop_some_non_integer_points(const Variables_Set& vars,
-                               Complexity_Class) {
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
-                                 min_space_dim);
+protected:
+  //! Copy constructor.
+  PIP_Solution_Node(const PIP_Solution_Node& y);
 
-  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
-    return;
+  //! A tag type to select the alternative copy constructor.
+  struct No_Constraints {};
 
-  strong_closure_assign();
-  if (marked_empty())
-    return;
+  //! Alternative copy constructor.
+  /*!
+    This constructor differs from the default copy constructor in that
+    it will not copy the constraint system, nor the artificial parameters.
+  */
+  PIP_Solution_Node(const PIP_Solution_Node& y, No_Constraints);
 
-  PPL_DIRTY_TEMP(N, temp_one);
-  assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  // PIP_Problem::ascii load() method needs access set_owner().
+  friend bool PIP_Problem::ascii_load(std::istream& s);
 
-  const Variables_Set::const_iterator v_begin = vars.begin();
-  const Variables_Set::const_iterator v_end = vars.end();
-  PPL_ASSERT(v_begin != v_end);
-  typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
-  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
-    const dimension_type i = 2 * (*v_i);
-    const dimension_type ci = i + 1;
-    Row_Reference m_i = matrix[i];
-    Row_Reference m_ci = matrix[ci];
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
 
-    // Unary constaints: should be even integers.
-    N& m_i_ci = m_i[ci];
-    if (!is_plus_infinity(m_i_ci)) {
-      drop_some_non_integer_points_helper(m_i_ci);
-      if (!is_even(m_i_ci)) {
-        sub_assign_r(m_i_ci, m_i_ci, temp_one, ROUND_UP);
-        reset_strongly_closed();
-      }
-    }
-    N& m_ci_i = m_ci[i];
-    if (!is_plus_infinity(m_ci_i)) {
-      drop_some_non_integer_points_helper(m_ci_i);
-      if (!is_even(m_ci_i)) {
-        sub_assign_r(m_ci_i, m_ci_i, temp_one, ROUND_UP);
-        reset_strongly_closed();
-      }
-    }
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
 
-    // Binary constraints (note: only consider j < i).
-    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_i; ++v_j) {
-      const dimension_type j = 2 * (*v_j);
-      const dimension_type cj = j + 1;
-      drop_some_non_integer_points_helper(m_i[j]);
-      drop_some_non_integer_points_helper(m_i[cj]);
-      drop_some_non_integer_points_helper(m_ci[j]);
-      drop_some_non_integer_points_helper(m_ci[cj]);
-    }
-  }
-  PPL_ASSERT(OK());
-}
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
 
-/*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
-template <typename T>
-std::ostream&
-IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
-  // Handle special cases first.
-  if (x.marked_empty()) {
-    s << "false";
-    return s;
-  }
-  if (x.is_universe()) {
-    s << "true";
-    return s;
-  }
+  /*! \brief
+    Update the solution values.
 
-  typedef typename Octagonal_Shape<T>::coefficient_type N;
-  typedef typename OR_Matrix<N>::const_row_iterator Row_Iterator;
-  typedef typename OR_Matrix<N>::const_row_reference_type Row_Reference;
+    \param pip_dim_is_param
+    A vector of Boolean flags telling which PIP problem dimensions are
+    problem parameters. The size of the vector is equal to the PIP
+    problem internal space dimension (i.e., no artificial parameters).
+  */
+  void update_solution(const std::vector<bool>& pip_dim_is_param) const;
 
-  // Records whether or not we still have to print the first constraint.
-  bool first = true;
+  //! Helper method.
+  void update_solution() const;
 
-  Row_Iterator m_begin = x.matrix.row_begin();
-  Row_Iterator m_end = x.matrix.row_end();
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix<Row>& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim,
+                               int indent_level);
 
-  // Temporaries.
-  PPL_DIRTY_TEMP(N, negation);
-  PPL_DIRTY_TEMP(N, half);
-  // Go through all the unary constraints.
-  // (Note: loop iterator is incremented in the loop body.)
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-    const dimension_type i = i_iter.index();
-    const Variable v_i = Variable(i/2);
-    const N& x_i_ii = (*i_iter)[i+1];
-    ++i_iter;
-    const N& x_ii_i = (*i_iter)[i];
-    ++i_iter;
-    // Check whether or not it is an equality constraint.
-    if (is_additive_inverse(x_i_ii, x_ii_i)) {
-      // It is an equality.
-      PPL_ASSERT(!is_plus_infinity(x_i_ii) && !is_plus_infinity(x_ii_i));
-      if (first)
-        first = false;
-      else
-        s << ", ";
-      // If the value bound can NOT be divided by 2 exactly,
-      // then we output the constraint `2*v_i = bound'.
-      if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
-        s << v_i << " = " << half;
-      else
-        s << "2*" << v_i << " = " << x_ii_i;
-    }
-    else {
-      // We will print unary non-strict inequalities, if any.
-      if (!is_plus_infinity(x_i_ii)) {
-        if (first)
-          first = false;
-        else
-          s << ", ";
-        neg_assign_r(negation, x_i_ii, ROUND_NOT_NEEDED);
-        // If the value bound can NOT be divided by 2 exactly,
-        // then we output the constraint `2*v_i >= negation'.
-        if (div_2exp_assign_r(half, negation, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
-          s << v_i << " >= " << half;
-        else
-          s << "2*" << v_i << " >= " << negation;
-      }
-      if (!is_plus_infinity(x_ii_i)) {
-        if (first)
-          first = false;
-        else
-          s << ", ";
-        // If the value bound can NOT be divided by 2 exactly,
-        // then we output the constraint `2*v_i <= bound'.
-        if (div_2exp_assign_r(half, x_ii_i, 1, ROUND_UP | ROUND_STRICT_RELATION) == V_EQ)
-          s << v_i << " <= " << half;
-        else
-          s << "2*" << v_i << " <= " << x_ii_i;
-      }
-    }
-  }
+  /*! \brief
+    Generate a Gomory cut using non-integer tableau row \p index.
 
-  // Go through all the binary constraints.
-  // (Note: loop iterator is incremented in the loop body.)
-  for (Row_Iterator i_iter = m_begin; i_iter != m_end; ) {
-    const dimension_type i = i_iter.index();
-    const Variable v_i = Variable(i/2);
-    Row_Reference r_i = *i_iter;
-    ++i_iter;
-    Row_Reference r_ii = *i_iter;
-    ++i_iter;
+    \param index
+    Row index in simplex tableau from which the cut is generated.
 
-    for (dimension_type j = 0; j < i; j += 2) {
-      const Variable v_j = Variable(j/2);
-      // Print binary differences.
-      const N& x_ii_jj = r_ii[j+1];
-      const N& x_i_j = r_i[j];
-      // Check whether or not it is an equality constraint.
-      if (is_additive_inverse(x_ii_jj, x_i_j)) {
-        // It is an equality.
-        PPL_ASSERT(!is_plus_infinity(x_i_j) && !is_plus_infinity(x_ii_jj));
-        if (first)
-          first = false;
-        else
-          s << ", ";
-        if (sgn(x_i_j) >= 0)
-          s << v_j << " - " << v_i << " = " << x_i_j;
-        else
-          s << v_i << " - " << v_j << " = " << x_ii_jj;
-      }
-      else {
-        // We will print non-strict inequalities, if any.
-        if (!is_plus_infinity(x_i_j)) {
-          if (first)
-            first = false;
-          else
-            s << ", ";
-          if (sgn(x_i_j) >= 0)
-            s << v_j << " - " << v_i << " <= " << x_i_j;
-          else {
-            neg_assign_r(negation, x_i_j, ROUND_DOWN);
-            s << v_i << " - " << v_j << " >= " << negation;
-          }
-        }
-        if (!is_plus_infinity(x_ii_jj)) {
-          if (first)
-            first = false;
-          else
-            s << ", ";
-          if (sgn(x_ii_jj) >= 0)
-            s << v_i << " - " << v_j << " <= " << x_ii_jj;
-          else {
-            neg_assign_r(negation, x_ii_jj, ROUND_DOWN);
-            s << v_j << " - " << v_i << " >= " << negation;
-          }
-        }
-      }
-      // Print binary sums.
-      const N& x_i_jj = r_i[j+1];
-      const N& x_ii_j = r_ii[j];
-      // Check whether or not it is an equality constraint.
-      if (is_additive_inverse(x_i_jj, x_ii_j)) {
-        // It is an equality.
-        PPL_ASSERT(!is_plus_infinity(x_i_jj) && !is_plus_infinity(x_ii_j));
-        if (first)
-          first = false;
-        else
-          s << ", ";
-        s << v_j << " + " << v_i << " = " << x_ii_j;
-      }
-      else {
-        // We will print non-strict inequalities, if any.
-        if (!is_plus_infinity(x_i_jj)) {
-          if (first)
-            first = false;
-          else
-            s << ", ";
-          neg_assign_r(negation, x_i_jj, ROUND_DOWN);
-          s << v_j << " + " << v_i << " >= " << negation;
-        }
-        if (!is_plus_infinity(x_ii_j)) {
-          if (first)
-            first = false;
-          else
-            s << ", ";
-          s << v_j << " + " << v_i << " <= " << x_ii_j;
-        }
-      }
-    }
-  }
-  return s;
-}
+    \param parameters
+    A std::set of the current parameter dimensions (including artificials);
+    to be updated if a new artificial parameter is to be created.
 
-template <typename T>
-void
-Octagonal_Shape<T>::ascii_dump(std::ostream& s) const {
-  s << "space_dim "
-    << space_dim
-    << "\n";
-  status.ascii_dump(s);
-  s << "\n";
-  matrix.ascii_dump(s);
-}
+    \param context
+    A set of linear inequalities on the parameters, in matrix form; to be
+    updated if a new artificial parameter is to be created.
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, Octagonal_Shape<T>)
+    \param space_dimension
+    The current space dimension, including variables and all parameters; to
+    be updated if an extra parameter is to be created.
+
+    \param indent_level
+    The indentation level (for debugging output only).
+  */
+  void generate_cut(dimension_type index, Variables_Set& parameters,
+                    Matrix<Row>& context, dimension_type& space_dimension,
+                    int indent_level);
+
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s, int indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
+
+}; // class PIP_Solution_Node
+
+
+//! A tree node representing a decision in the space of solutions.
+class PIP_Decision_Node : public PIP_Tree_Node {
+public:
+  //! Returns a pointer to a dynamically-allocated copy of \p *this.
+  virtual PIP_Tree_Node* clone() const;
+
+  //! Destructor.
+  virtual ~PIP_Decision_Node();
+
+  //! Returns \c true if and only if \p *this is well formed.
+  virtual bool OK() const;
+
+  //! Returns \p this.
+  virtual const PIP_Decision_Node* as_decision() const;
 
-template <typename T>
-bool
-Octagonal_Shape<T>::ascii_load(std::istream& s) {
-  std::string str;
+  //! Returns 0, since \p this is not a solution node.
+  virtual const PIP_Solution_Node* as_solution() const;
 
-  if (!(s >> str) || str != "space_dim")
-    return false;
+  //! Returns a const pointer to the \p b (true or false) branch of \p *this.
+  const PIP_Tree_Node* child_node(bool b) const;
 
-  if (!(s >> space_dim))
-    return false;
+  //! Returns a pointer to the \p b (true or false) branch of \p *this.
+  PIP_Tree_Node* child_node(bool b);
 
-  if (!status.ascii_load(s))
-    return false;
+  //! Dumps to \p s an ASCII representation of \p *this.
+  void ascii_dump(std::ostream& s) const;
 
-  if (!matrix.ascii_load(s))
-    return false;
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-  PPL_ASSERT(OK());
-  return true;
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  virtual memory_size_type total_memory_in_bytes() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  virtual memory_size_type external_memory_in_bytes() const;
 
-template <typename T>
-memory_size_type
-Octagonal_Shape<T>::external_memory_in_bytes() const {
-  return matrix.external_memory_in_bytes();
-}
+private:
+  // PIP_Solution_Node is allowed to use the constructor and methods.
+  friend class PIP_Solution_Node;
 
-template <typename T>
-bool
-Octagonal_Shape<T>::OK() const {
-  // Check whether the matrix is well-formed.
-  if (!matrix.OK())
-    return false;
+  // PIP_Problem ascii load method needs access to private constructors.
+  friend bool PIP_Problem::ascii_load(std::istream& s);
 
-  // Check whether the status information is legal.
-  if (!status.OK())
-    return false;
+  //! Pointer to the "false" child of \p *this.
+  PIP_Tree_Node* false_child;
 
-  // All empty octagons are OK.
-  if (marked_empty())
-    return true;
+  //! Pointer to the "true" child of \p *this.
+  PIP_Tree_Node* true_child;
 
-  // 0-dim universe octagon is OK.
-  if (space_dim == 0)
-    return true;
+  /*! \brief
+    Builds a decision node having \p fcp and \p tcp as child.
 
-  // MINUS_INFINITY cannot occur at all.
-  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
-         matrix_row_end = matrix.row_end(); i != matrix_row_end; ++i) {
-    typename OR_Matrix<N>::const_row_reference_type x_i = *i;
-    for (dimension_type j = i.row_size(); j-- > 0; )
-      if (is_minus_infinity(x_i[j])) {
-#ifndef NDEBUG
-        using namespace Parma_Polyhedra_Library::IO_Operators;
-        std::cerr << "Octagonal_Shape::"
-                  << "matrix[" << i.index() << "][" << j << "] = "
-                  << x_i[j] << "!"
-                  << std::endl;
-#endif
-        return false;
-      }
-  }
+    The decision node will encode the structure
+    "if \c cs then \p tcp else \p fcp",
+    where the system of constraints \c cs is initially empty.
 
-  // On the main diagonal only PLUS_INFINITY can occur.
-  for (typename OR_Matrix<N>::const_row_iterator i = matrix.row_begin(),
-         m_end = matrix.row_end(); i != m_end; ++i) {
-    typename OR_Matrix<N>::const_row_reference_type r = *i;
-    const N& m_i_i = r[i.index()];
-    if (!is_plus_infinity(m_i_i)) {
-#ifndef NDEBUG
-      const dimension_type j = i.index();
-      using namespace Parma_Polyhedra_Library::IO_Operators;
-      std::cerr << "Octagonal_Shape::matrix[" << j << "][" << j << "] = "
-                << m_i_i << "!  (+inf was expected.)\n";
-#endif
-      return false;
-    }
-  }
+    \param owner
+    Pointer to the owning PIP_Problem object; it may be null if and
+    only if both children are null.
 
-  // The following tests might result in false alarms when using floating
-  // point coefficients: they are only meaningful if the coefficient type
-  // base is exact (since otherwise strong closure is approximated).
-  if (std::numeric_limits<coefficient_type_base>::is_exact) {
+    \param fcp
+    Pointer to "false" child; it may be null.
 
-    // Check whether the closure information is legal.
-    if (marked_strongly_closed()) {
-      Octagonal_Shape x = *this;
-      x.reset_strongly_closed();
-      x.strong_closure_assign();
-      if (x.matrix != matrix) {
-#ifndef NDEBUG
-        std::cerr << "Octagonal_Shape is marked as strongly closed "
-                  << "but it is not!\n";
-#endif
-        return false;
-      }
-    }
+    \param tcp
+    Pointer to "true" child; it may be null.
 
-    // A closed octagon must be strong-coherent.
-    if (marked_strongly_closed())
-      if (!is_strong_coherent()) {
-#ifndef NDEBUG
-        std::cerr << "Octagonal_Shape is not strong-coherent!\n";
-#endif
-        return false;
-      }
-  }
+    \note
+    If any of \p fcp or \p tcp is not null, then \p owner is required
+    to be not null and equal to the owner of its non-null children;
+    otherwise the behavior is undefined.
+  */
+  explicit PIP_Decision_Node(const PIP_Problem* owner,
+                             PIP_Tree_Node* fcp,
+                             PIP_Tree_Node* tcp);
 
-  // All checks passed.
-  return true;
-}
+  //! Sets the pointer to the PIP_Problem owning object.
+  virtual void set_owner(const PIP_Problem* owner);
 
+  /*! \brief
+    Returns \c true if and only if all the nodes in the subtree
+    rooted in \p *this is owned by \p *pip.
+  */
+  virtual bool check_ownership(const PIP_Problem* owner) const;
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::throw_dimension_incompatible(const char* method,
-                               const Octagonal_Shape& y) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", y->space_dimension() == " << y.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+protected:
+  //! Copy constructor.
+  PIP_Decision_Node(const PIP_Decision_Node& y);
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::throw_dimension_incompatible(const char* method,
-                               dimension_type required_dim) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", required dimension == " << required_dim << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Implements pure virtual method PIP_Tree_Node::update_tableau.
+  virtual void update_tableau(const PIP_Problem& pip,
+                              dimension_type external_space_dim,
+                              dimension_type first_pending_constraint,
+                              const Constraint_Sequence& input_cs,
+                              const Variables_Set& parameters);
 
-template <typename T>
-void
-Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
-                                                 const Constraint& c) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", c->space_dimension == " << c.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Implements pure virtual method PIP_Tree_Node::solve.
+  virtual PIP_Tree_Node* solve(const PIP_Problem& pip,
+                               bool check_feasible_context,
+                               const Matrix<Row>& context,
+                               const Variables_Set& params,
+                               dimension_type space_dim,
+                               int indent_level);
 
-template <typename T>
-void
-Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
-                                                 const Congruence& cg) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", cg->space_dimension == " << cg.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Prints on \p s the tree rooted in \p *this.
+  virtual void print_tree(std::ostream& s, int indent,
+                          const std::vector<bool>& pip_dim_is_param,
+                          dimension_type first_art_dim) const;
 
-template <typename T>
-void
-Octagonal_Shape<T>::throw_dimension_incompatible(const char* method,
-                                                 const Generator& g) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", g->space_dimension == " << g.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+}; // class PIP_Decision_Node
 
-template <typename T>
-void
-Octagonal_Shape<T>::throw_constraint_incompatible(const char* method) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "the constraint is incompatible.";
-  throw std::invalid_argument(s.str());
-}
+namespace IO_Operators {
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::throw_expression_too_complex(const char* method,
-                               const Linear_Expression& e) const {
-  using namespace IO_Operators;
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << e << " is too complex.";
-  throw std::invalid_argument(s.str());
-}
+//! Output operator: prints the solution tree rooted in \p x.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node */
+std::ostream& operator<<(std::ostream& os, const PIP_Tree_Node& x);
 
-template <typename T>
-void
-Octagonal_Shape<T>
-::throw_dimension_incompatible(const char* method,
-                               const char* name_row,
-                               const Linear_Expression& y) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << y.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::PIP_Tree_Node::Artificial_Parameter */
+std::ostream& operator<<(std::ostream& os,
+                         const PIP_Tree_Node::Artificial_Parameter& x);
 
-template <typename T>
-void
-Octagonal_Shape<T>::throw_generic(const char* method,
-                                  const char* reason) const {
-  std::ostringstream s;
-  s << "PPL::Octagonal_Shape::" << method << ":\n"
-    << reason << ".";
-  throw std::invalid_argument(s.str());
-}
+} // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 2178. */
+/* Automatically generated from PPL source file ../src/PIP_Tree.inlines.hh line 1. */
+/* PIP_Tree related class implementation: inline functions.
+*/
 
-/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 38. */
-#include <vector>
-#include <iostream>
-#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline dimension_type
-BD_Shape<T>::max_space_dimension() {
-  // One dimension is reserved to have a value of type dimension_type
-  // that does not represent a legal dimension.
-  return std::min(DB_Matrix<N>::max_num_rows() - 1,
-		  DB_Matrix<N>::max_num_columns() - 1);
+inline
+PIP_Solution_Node::Tableau::Tableau()
+  : s(), t(), denom(1) {
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline bool
-BD_Shape<T>::marked_zero_dim_univ() const {
-  return status.test_zero_dim_univ();
+inline
+PIP_Solution_Node::Tableau::Tableau(const Tableau& y)
+  : s(y.s), t(y.t), denom(y.denom) {
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline bool
-BD_Shape<T>::marked_empty() const {
-  return status.test_empty();
+inline
+PIP_Solution_Node::Tableau::~Tableau() {
 }
 
-template <typename T>
 inline bool
-BD_Shape<T>::marked_shortest_path_closed() const {
-  return status.test_shortest_path_closed();
+PIP_Solution_Node::Tableau::is_integer() const {
+  return denom == 1;
 }
 
-template <typename T>
-inline bool
-BD_Shape<T>::marked_shortest_path_reduced() const {
-  return status.test_shortest_path_reduced();
+inline Coefficient_traits::const_reference
+PIP_Solution_Node::Tableau::denominator() const {
+  return denom;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::set_zero_dim_univ() {
-  status.set_zero_dim_univ();
+inline
+PIP_Tree_Node::~PIP_Tree_Node() {
 }
 
-template <typename T>
 inline void
-BD_Shape<T>::set_empty() {
-  status.set_empty();
+PIP_Tree_Node::set_parent(const PIP_Decision_Node* p) {
+  parent_ = p;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::set_shortest_path_closed() {
-  status.set_shortest_path_closed();
+inline const PIP_Decision_Node*
+PIP_Tree_Node::parent() const {
+  return parent_;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::set_shortest_path_reduced() {
-  status.set_shortest_path_reduced();
+inline const PIP_Problem*
+PIP_Tree_Node::get_owner() const {
+  return owner_;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::reset_shortest_path_closed() {
-  status.reset_shortest_path_closed();
+inline const Constraint_System&
+PIP_Tree_Node::constraints() const {
+  return constraints_;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::reset_shortest_path_reduced() {
-  status.reset_shortest_path_reduced();
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_begin() const {
+  return artificial_parameters.begin();
 }
 
-template <typename T>
-inline
-BD_Shape<T>::BD_Shape(const dimension_type num_dimensions,
-		      const Degenerate_Element kind)
-  : dbm(num_dimensions + 1), status(), redundancy_dbm() {
-  if (kind == EMPTY)
-    set_empty();
-  else {
-    if (num_dimensions > 0)
-      // A (non zero-dim) universe BDS is closed.
-      set_shortest_path_closed();
-  }
-  PPL_ASSERT(OK());
+inline PIP_Tree_Node::Artificial_Parameter_Sequence::const_iterator
+PIP_Tree_Node::art_parameter_end() const {
+  return artificial_parameters.end();
+}
+
+inline dimension_type
+PIP_Tree_Node::art_parameter_count() const {
+  return artificial_parameters.size();
 }
 
-template <typename T>
 inline
-BD_Shape<T>::BD_Shape(const BD_Shape& y, Complexity_Class)
-  : dbm(y.dbm), status(y.status), redundancy_dbm() {
-  if (y.marked_shortest_path_reduced())
-    redundancy_dbm = y.redundancy_dbm;
+const PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool b) const {
+  return b ? true_child : false_child;
 }
 
-template <typename T>
-template <typename U>
 inline
-BD_Shape<T>::BD_Shape(const BD_Shape<U>& y, Complexity_Class)
-  // For maximum precision, enforce shortest-path closure
-  // before copying the DB matrix.
-  : dbm((y.shortest_path_closure_assign(), y.dbm)),
-    status(),
-    redundancy_dbm() {
-  // TODO: handle flags properly, possibly taking special cases into account.
-  if (y.marked_empty())
-    set_empty();
-  else if (y.marked_zero_dim_univ())
-    set_zero_dim_univ();
+PIP_Tree_Node*
+PIP_Decision_Node::child_node(bool b) {
+  return b ? true_child : false_child;
 }
 
-template <typename T>
-inline Congruence_System
-BD_Shape<T>::congruences() const {
-  return minimized_congruences();
+inline
+PIP_Tree_Node::Artificial_Parameter::Artificial_Parameter()
+  : Linear_Expression(), denom(1) {
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::add_constraints(const Constraint_System& cs) {
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); i != cs_end; ++i)
-    add_constraint(*i);
+inline
+PIP_Tree_Node::Artificial_Parameter
+::Artificial_Parameter(const Artificial_Parameter& y)
+  : Linear_Expression(y), denom(y.denom) {
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::add_recycled_constraints(Constraint_System& cs) {
-  add_constraints(cs);
+inline Coefficient_traits::const_reference
+PIP_Tree_Node::Artificial_Parameter::denominator() const {
+  return denom;
 }
 
-template <typename T>
 inline void
-BD_Shape<T>::add_congruences(const Congruence_System& cgs) {
-  for (Congruence_System::const_iterator i = cgs.begin(),
-	 cgs_end = cgs.end(); i != cgs_end; ++i)
-    add_congruence(*i);
+PIP_Tree_Node::Artificial_Parameter::m_swap(Artificial_Parameter& y) {
+  Linear_Expression::m_swap(y);
+  using std::swap;
+  swap(denom, y.denom);
 }
 
-template <typename T>
+/*! \relates PIP_Tree_Node::Artificial_Parameter */
 inline void
-BD_Shape<T>::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
+swap(PIP_Tree_Node::Artificial_Parameter& x,
+     PIP_Tree_Node::Artificial_Parameter& y) {
+  x.m_swap(y);
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::refine_with_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
-    throw_dimension_incompatible("refine_with_constraint(c)", c);
+} // namespace Parma_Polyhedra_Library
 
-  if (!marked_empty())
-    refine_no_check(c);
-}
+/* Automatically generated from PPL source file ../src/PIP_Tree.defs.hh line 835. */
 
-template <typename T>
-inline void
-BD_Shape<T>::refine_with_constraints(const Constraint_System& cs) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_generic("refine_with_constraints(cs)",
-                  "cs and *this are space-dimension incompatible");
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 1. */
+/* BHRZ03_Certificate class declaration.
+*/
 
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
-    refine_no_check(*i);
-}
 
-template <typename T>
-inline void
-BD_Shape<T>::refine_with_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dimension())
-    throw_dimension_incompatible("refine_with_congruence(cg)", cg);
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 31. */
+#include <vector>
 
-  if (!marked_empty())
-    refine_no_check(cg);
-}
+//! The convergence certificate for the BHRZ03 widening operator.
+/*! \ingroup PPL_CXX_interface
+  Convergence certificates are used to instantiate the BHZ03 framework
+  so as to define widening operators for the finite powerset domain.
 
-template <typename T>
-void
-BD_Shape<T>::refine_with_congruences(const Congruence_System& cgs) {
-  // Dimension-compatibility check.
-  if (cgs.space_dimension() > space_dimension())
-    throw_generic("refine_with_congruences(cgs)",
-                  "cgs and *this are space-dimension incompatible");
+  \note
+  Each convergence certificate has to be used together with a
+  compatible widening operator. In particular, BHRZ03_Certificate
+  can certify the convergence of both the BHRZ03 and the H79 widenings.
+*/
+class Parma_Polyhedra_Library::BHRZ03_Certificate {
+public:
+  //! Default constructor.
+  BHRZ03_Certificate();
 
-  for (Congruence_System::const_iterator i = cgs.begin(),
-	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
-    refine_no_check(*i);
-}
+  //! Constructor: computes the certificate for \p ph.
+  BHRZ03_Certificate(const Polyhedron& ph);
 
-template <typename T>
-inline void
-BD_Shape<T>::refine_no_check(const Congruence& cg) {
-  PPL_ASSERT(!marked_empty());
-  PPL_ASSERT(cg.space_dimension() <= space_dimension());
+  //! Copy constructor.
+  BHRZ03_Certificate(const BHRZ03_Certificate& y);
 
-  if (cg.is_proper_congruence()) {
-    if (cg.is_inconsistent())
-      set_empty();
-    // Other proper congruences are just ignored.
-    return;
-  }
+  //! Destructor.
+  ~BHRZ03_Certificate();
+
+  //! The comparison function for certificates.
+  /*!
+    \return
+    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
+    is smaller than, equal to, or greater than \p y, respectively.
+
+    Compares \p *this with \p y, using a total ordering which is a
+    refinement of the limited growth ordering relation for the
+    BHRZ03 widening.
+  */
+  int compare(const BHRZ03_Certificate& y) const;
+
+  //! Compares \p *this with the certificate for polyhedron \p ph.
+  int compare(const Polyhedron& ph) const;
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the certificate for
+    polyhedron \p ph is strictly smaller than \p *this.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_stabilizing(const Polyhedron& ph) const;
 
-  PPL_ASSERT(cg.is_equality());
-  Constraint c(cg);
-  refine_no_check(c);
-}
+  //! A total ordering on BHRZ03 certificates.
+  /*! \ingroup PPL_CXX_interface
+    This binary predicate defines a total ordering on BHRZ03 certificates
+    which is used when storing information about sets of polyhedra.
+  */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(const BHRZ03_Certificate& x,
+		    const BHRZ03_Certificate& y) const;
+  };
 
-template <typename T>
-inline bool
-BD_Shape<T>::can_recycle_constraint_systems() {
-  return false;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Check if gathered information is meaningful.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
+private:
+  //! Affine dimension of the polyhedron.
+  dimension_type affine_dim;
+  //! Dimension of the lineality space of the polyhedron.
+  dimension_type lin_space_dim;
+  //! Cardinality of a non-redundant constraint system for the polyhedron.
+  dimension_type num_constraints;
+  /*! \brief
+    Number of non-redundant points in a generator system
+    for the polyhedron.
+  */
+  dimension_type num_points;
+  /*! \brief
+    A vector containing, for each index `0 <= i < space_dim',
+    the number of non-redundant rays in a generator system of the
+    polyhedron having exactly `i' null coordinates.
+  */
+  std::vector<dimension_type> num_rays_null_coord;
+};
 
-template <typename T>
-inline bool
-BD_Shape<T>::can_recycle_congruence_systems() {
-  return false;
-}
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.inlines.hh line 1. */
+/* BHRZ03_Certificate class implementation: inline functions.
+*/
 
-template <typename T>
-inline
-BD_Shape<T>::BD_Shape(const Constraint_System& cs)
-  : dbm(cs.space_dimension() + 1), status(), redundancy_dbm() {
-  if (cs.space_dimension() > 0)
-    // A (non zero-dim) universe BDS is shortest-path closed.
-    set_shortest_path_closed();
-  add_constraints(cs);
-}
 
-template <typename T>
-template <typename Interval>
-inline
-BD_Shape<T>::BD_Shape(const Box<Interval>& box,
-                      Complexity_Class)
-  : dbm(box.space_dimension() + 1), status(), redundancy_dbm() {
-  // Check for emptyness for maximum precision.
-  if (box.is_empty())
-    set_empty();
-  else if (box.space_dimension() > 0) {
-    // A (non zero-dim) universe BDS is shortest-path closed.
-    set_shortest_path_closed();
-    refine_with_constraints(box.constraints());
-  }
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
 inline
-BD_Shape<T>::BD_Shape(const Grid& grid,
-                      Complexity_Class)
-  : dbm(grid.space_dimension() + 1), status(), redundancy_dbm() {
-  if (grid.space_dimension() > 0)
-    // A (non zero-dim) universe BDS is shortest-path closed.
-    set_shortest_path_closed();
-  // Taking minimized congruences ensures maximum precision.
-  refine_with_congruences(grid.minimized_congruences());
+BHRZ03_Certificate::BHRZ03_Certificate()
+  : affine_dim(0), lin_space_dim(0), num_constraints(0), num_points(1),
+    num_rays_null_coord() {
+  // This is the certificate for a zero-dim universe polyhedron.
+  PPL_ASSERT(OK());
 }
 
-template <typename T>
-template <typename U>
 inline
-BD_Shape<T>::BD_Shape(const Octagonal_Shape<U>& os,
-                      Complexity_Class)
-  : dbm(os.space_dimension() + 1), status(), redundancy_dbm() {
-  // Check for emptyness for maximum precision.
-  if (os.is_empty())
-    set_empty();
-  else if (os.space_dimension() > 0) {
-    // A (non zero-dim) universe BDS is shortest-path closed.
-    set_shortest_path_closed();
-    refine_with_constraints(os.constraints());
-    // After refining, shortest-path closure is possibly lost
-    // (even when `os' was strongly closed: recall that U
-    // is possibly different from T).
-  }
-}
-
-template <typename T>
-inline BD_Shape<T>&
-BD_Shape<T>::operator=(const BD_Shape& y) {
-  dbm = y.dbm;
-  status = y.status;
-  if (y.marked_shortest_path_reduced())
-    redundancy_dbm = y.redundancy_dbm;
-  return *this;
+BHRZ03_Certificate::BHRZ03_Certificate(const BHRZ03_Certificate& y)
+  : affine_dim(y.affine_dim), lin_space_dim(y.lin_space_dim),
+    num_constraints(y.num_constraints), num_points(y.num_points),
+    num_rays_null_coord(y.num_rays_null_coord) {
 }
 
-template <typename T>
 inline
-BD_Shape<T>::~BD_Shape() {
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::swap(BD_Shape& y) {
-  std::swap(dbm, y.dbm);
-  std::swap(status, y.status);
-  std::swap(redundancy_dbm, y.redundancy_dbm);
-}
-
-template <typename T>
-inline dimension_type
-BD_Shape<T>::space_dimension() const {
-  return dbm.num_rows() - 1;
+BHRZ03_Certificate::~BHRZ03_Certificate() {
 }
 
-template <typename T>
 inline bool
-BD_Shape<T>::is_empty() const {
-  shortest_path_closure_assign();
-  return marked_empty();
+BHRZ03_Certificate::is_stabilizing(const Polyhedron& ph) const {
+  return compare(ph) == 1;
 }
 
-template <typename T>
 inline bool
-BD_Shape<T>::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
+BHRZ03_Certificate::Compare::operator()(const BHRZ03_Certificate& x,
+					const BHRZ03_Certificate& y) const {
+  // For an efficient evaluation of the multiset ordering based
+  // on this LGO relation, we want larger elements to come first.
+  return x.compare(y) == 1;
 }
 
-template <typename T>
-inline bool
-BD_Shape<T>::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-inline bool
-BD_Shape<T>::maximize(const Linear_Expression& expr,
-		      Coefficient& sup_n, Coefficient& sup_d,
-		      bool& maximum) const {
-  return max_min(expr, true, sup_n, sup_d, maximum);
-}
+/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 117. */
 
-template <typename T>
-inline bool
-BD_Shape<T>::maximize(const Linear_Expression& expr,
-		      Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		      Generator& g) const {
-  return max_min(expr, true, sup_n, sup_d, maximum, g);
-}
+/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 1. */
+/* H79_Certificate class declaration.
+*/
 
-template <typename T>
-inline bool
-BD_Shape<T>::minimize(const Linear_Expression& expr,
-		      Coefficient& inf_n, Coefficient& inf_d,
-		      bool& minimum) const {
-  return max_min(expr, false, inf_n, inf_d, minimum);
-}
 
-template <typename T>
-inline bool
-BD_Shape<T>::minimize(const Linear_Expression& expr,
-		      Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		      Generator& g) const {
-  return max_min(expr, false, inf_n, inf_d, minimum, g);
-}
+/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 31. */
+#include <vector>
 
-template <typename T>
-inline bool
-BD_Shape<T>::is_topologically_closed() const {
-  return true;
-}
+//! A convergence certificate for the H79 widening operator.
+/*! \ingroup PPL_CXX_interface
+  Convergence certificates are used to instantiate the BHZ03 framework
+  so as to define widening operators for the finite powerset domain.
+  \note
+  The convergence of the H79 widening can also be certified by
+  BHRZ03_Certificate.
+*/
+class Parma_Polyhedra_Library::H79_Certificate {
+public:
+  //! Default constructor.
+  H79_Certificate();
 
-template <typename T>
-inline bool
-BD_Shape<T>::is_discrete() const {
-  return affine_dimension() == 0;
-}
+  //! Constructor: computes the certificate for \p ph.
+  template <typename PH>
+  H79_Certificate(const PH& ph);
 
-template <typename T>
-inline void
-BD_Shape<T>::topological_closure_assign() {
-}
+  //! Constructor: computes the certificate for \p ph.
+  H79_Certificate(const Polyhedron& ph);
 
-/*! \relates BD_Shape */
-template <typename T>
-inline bool
-operator==(const BD_Shape<T>& x, const BD_Shape<T>& y) {
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
+  //! Copy constructor.
+  H79_Certificate(const H79_Certificate& y);
 
-  // Zero-dim BDSs are equal if and only if they are both empty or universe.
-  if (x_space_dim == 0) {
-    if (x.marked_empty())
-      return y.marked_empty();
-    else
-      return !y.marked_empty();
-  }
+  //! Destructor.
+  ~H79_Certificate();
 
-  // The exact equivalence test requires shortest-path closure.
-  x.shortest_path_closure_assign();
-  y.shortest_path_closure_assign();
+  //! The comparison function for certificates.
+  /*!
+    \return
+    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
+    is smaller than, equal to, or greater than \p y, respectively.
 
-  // If one of two BDSs is empty, then they are equal
-  // if and only if the other BDS is empty too.
-  if (x.marked_empty())
-    return y.marked_empty();
-  if (y.marked_empty())
-    return false;
-  // Check for syntactic equivalence of the two (shortest-path closed)
-  // systems of bounded differences.
-  return x.dbm == y.dbm;
-}
+    Compares \p *this with \p y, using a total ordering which is a
+    refinement of the limited growth ordering relation for the
+    H79 widening.
+  */
+  int compare(const H79_Certificate& y) const;
 
-/*! \relates BD_Shape */
-template <typename T>
-inline bool
-operator!=(const BD_Shape<T>& x, const BD_Shape<T>& y) {
-  return !(x == y);
-}
+  //! Compares \p *this with the certificate for polyhedron \p ph.
+  template <typename PH>
+  int compare(const PH& ph) const;
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const BD_Shape<T>& x,
-			    const BD_Shape<T>& y,
-			    const Rounding_Dir dir,
-			    Temp& tmp0,
-			    Temp& tmp1,
-			    Temp& tmp2) {
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
+  //! Compares \p *this with the certificate for polyhedron \p ph.
+  int compare(const Polyhedron& ph) const;
 
-  // Zero-dim BDSs are equal if and only if they are both empty or universe.
-  if (x_space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
+  //! A total ordering on H79 certificates.
+  /*! \ingroup PPL_CXX_interface
+    This binary predicate defines a total ordering on H79 certificates
+    which is used when storing information about sets of polyhedra.
+  */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(const H79_Certificate& x,
+		    const H79_Certificate& y) const;
+  };
 
-  // The distance computation requires shortest-path closure.
-  x.shortest_path_closure_assign();
-  y.shortest_path_closure_assign();
+private:
+  //! Affine dimension of the polyhedron.
+  dimension_type affine_dim;
+  //! Cardinality of a non-redundant constraint system for the polyhedron.
+  dimension_type num_constraints;
+};
 
-  // If one of two BDSs is empty, then they are equal if and only if
-  // the other BDS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
-  }
+/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 1. */
+/* H79_Certificate class implementation: inline functions.
+*/
 
-  return rectilinear_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
+
+/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+inline
+H79_Certificate::H79_Certificate()
+  : affine_dim(0), num_constraints(0) {
+  // This is the certificate for a zero-dim universe polyhedron.
 }
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const BD_Shape<T>& x,
-			    const BD_Shape<T>& y,
-			    const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+inline
+H79_Certificate::H79_Certificate(const H79_Certificate& y)
+  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
 }
 
-/*! \relates BD_Shape */
-template <typename To, typename T>
-inline bool
-rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			    const BD_Shape<T>& x,
-			    const BD_Shape<T>& y,
-			    const Rounding_Dir dir) {
-  return rectilinear_distance_assign<To, To, T>(r, x, y, dir);
+inline
+H79_Certificate::~H79_Certificate() {
 }
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
 inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const BD_Shape<T>& x,
-			  const BD_Shape<T>& y,
-			  const Rounding_Dir dir,
-			  Temp& tmp0,
-			  Temp& tmp1,
-			  Temp& tmp2) {
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
-
-  // Zero-dim BDSs are equal if and only if they are both empty or universe.
-  if (x_space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
-
-  // The distance computation requires shortest-path closure.
-  x.shortest_path_closure_assign();
-  y.shortest_path_closure_assign();
-
-  // If one of two BDSs is empty, then they are equal if and only if
-  // the other BDS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
-  }
-
-  return euclidean_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
+H79_Certificate::Compare::operator()(const H79_Certificate& x,
+				     const H79_Certificate& y) const {
+  // For an efficient evaluation of the multiset ordering based
+  // on this LGO relation, we want larger elements to come first.
+  return x.compare(y) == 1;
 }
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const BD_Shape<T>& x,
-			  const BD_Shape<T>& y,
-			  const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+template <typename PH>
+inline
+H79_Certificate::H79_Certificate(const PH& ph)
+  : affine_dim(0), num_constraints(0) {
+  H79_Certificate cert(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
+  affine_dim = cert.affine_dim;
+  num_constraints = cert.num_constraints;
 }
 
-/*! \relates BD_Shape */
-template <typename To, typename T>
-inline bool
-euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			  const BD_Shape<T>& x,
-			  const BD_Shape<T>& y,
-			  const Rounding_Dir dir) {
-  return euclidean_distance_assign<To, To, T>(r, x, y, dir);
+template <typename PH>
+inline int
+H79_Certificate::compare(const PH& ph) const {
+  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
 }
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const BD_Shape<T>& x,
-			   const BD_Shape<T>& y,
-			   const Rounding_Dir dir,
-			   Temp& tmp0,
-			   Temp& tmp1,
-			   Temp& tmp2) {
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
+} // namespace Parma_Polyhedra_Library
 
-  // Zero-dim BDSs are equal if and only if they are both empty or universe.
-  if (x_space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
+/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 97. */
 
-  // The distance computation requires shortest-path closure.
-  x.shortest_path_closure_assign();
-  y.shortest_path_closure_assign();
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 1. */
+/* Grid_Certificate class declaration.
+*/
 
-  // If one of two BDSs is empty, then they are equal if and only if
-  // the other BDS is empty too.
-  if (x.marked_empty() ||  y.marked_empty()) {
-   if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-   return true;
-  }
 
-  return l_infinity_distance_assign(r, x.dbm, y.dbm, dir, tmp0, tmp1, tmp2);
-}
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 28. */
 
-/*! \relates BD_Shape */
-template <typename Temp, typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const BD_Shape<T>& x,
-			   const BD_Shape<T>& y,
-			   const Rounding_Dir dir) {
-  typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  PPL_DIRTY_TEMP(Checked_Temp, tmp0);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp1);
-  PPL_DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 32. */
+#include <vector>
 
-/*! \relates BD_Shape */
-template <typename To, typename T>
-inline bool
-l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-			   const BD_Shape<T>& x,
-			   const BD_Shape<T>& y,
-			   const Rounding_Dir dir) {
-  return l_infinity_distance_assign<To, To, T>(r, x, y, dir);
-}
+//! The convergence certificate for the Grid widening operator.
+/*! \ingroup PPL_CXX_interface
+  Convergence certificates are used to instantiate the BHZ03 framework
+  so as to define widening operators for the finite powerset domain.
 
-template <typename T>
-inline void
-BD_Shape<T>::add_dbm_constraint(const dimension_type i,
-				const dimension_type j,
-				const N& k) {
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
-  N& dbm_ij = dbm[i][j];
-  if (dbm_ij > k) {
-    dbm_ij = k;
-    if (marked_shortest_path_closed())
-      reset_shortest_path_closed();
-  }
-}
+  \note
+  Each convergence certificate has to be used together with a
+  compatible widening operator. In particular, Grid_Certificate can
+  certify the Grid widening.
+*/
+class Parma_Polyhedra_Library::Grid_Certificate {
+public:
+  //! Default constructor.
+  Grid_Certificate();
 
-template <typename T>
-inline void
-BD_Shape<T>::add_dbm_constraint(const dimension_type i,
-				const dimension_type j,
-				Coefficient_traits::const_reference num,
-				Coefficient_traits::const_reference den) {
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(i <= space_dimension() && j <= space_dimension() && i != j);
-  PPL_ASSERT(den != 0);
-  PPL_DIRTY_TEMP(N, k);
-  div_round_up(k, num, den);
-  add_dbm_constraint(i, j, k);
-}
+  //! Constructor: computes the certificate for \p gr.
+  Grid_Certificate(const Grid& gr);
 
-template <typename T>
-inline void
-BD_Shape<T>::time_elapse_assign(const BD_Shape& y) {
-  // Dimension-compatibility check.
-  if (space_dimension() != y.space_dimension())
-    throw_dimension_incompatible("time_elapse_assign(y)", y);
-  // See the polyhedra documentation.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.time_elapse_assign(py);
-  BD_Shape<T> x(px);
-  swap(x);
-  PPL_ASSERT(OK());
-}
+  //! Copy constructor.
+  Grid_Certificate(const Grid_Certificate& y);
 
-template <typename T>
-inline bool
-BD_Shape<T>::strictly_contains(const BD_Shape& y) const {
-  const BD_Shape<T>& x = *this;
-  return x.contains(y) && !y.contains(x);
-}
+  //! Destructor.
+  ~Grid_Certificate();
 
-template <typename T>
-inline bool
-BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
-  if (space_dimension() != y.space_dimension())
-    throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
-#if 0
-  return BFT00_upper_bound_assign_if_exact(y);
-#else
-  const bool integer_upper_bound = false;
-  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
-#endif
-}
+  //! The comparison function for certificates.
+  /*!
+    \return
+    \f$-1\f$, \f$0\f$ or \f$1\f$ depending on whether \p *this
+    is smaller than, equal to, or greater than \p y, respectively.
+  */
+  int compare(const Grid_Certificate& y) const;
 
-template <typename T>
-inline bool
-BD_Shape<T>::integer_upper_bound_assign_if_exact(const BD_Shape& y) {
-  PPL_COMPILE_TIME_CHECK(std::numeric_limits<T>::is_integer,
-                         "BD_Shape<T>::integer_upper_bound_assign_if_exact(y):"
-                         " T in not an integer datatype.");
-  if (space_dimension() != y.space_dimension())
-    throw_dimension_incompatible("integer_upper_bound_assign_if_exact(y)", y);
-  const bool integer_upper_bound = true;
-  return BHZ09_upper_bound_assign_if_exact<integer_upper_bound>(y);
-}
+  //! Compares \p *this with the certificate for grid \p gr.
+  int compare(const Grid& gr) const;
 
-template <typename T>
-inline void
-BD_Shape<T>::remove_higher_space_dimensions(const dimension_type new_dim) {
-  // Dimension-compatibility check: the variable having
-  // maximum index is the one occurring last in the set.
-  if (new_dim > space_dimension())
-    throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
-				 new_dim);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the certificate for grid
+    \p gr is strictly smaller than \p *this.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_stabilizing(const Grid& gr) const;
 
-  // The removal of no dimensions from any BDS is a no-op.
-  // Note that this case also captures the only legal removal of
-  // dimensions from a zero-dim space BDS.
-  if (new_dim == space_dimension()) {
-    PPL_ASSERT(OK());
-    return;
-  }
+  //! A total ordering on Grid certificates.
+  /*!
+    This binary predicate defines a total ordering on Grid certificates
+    which is used when storing information about sets of grids.
+  */
+  struct Compare {
+    //! Returns <CODE>true</CODE> if and only if \p x comes before \p y.
+    bool operator()(const Grid_Certificate& x,
+		    const Grid_Certificate& y) const;
+  };
 
-  // Shortest-path closure is necessary as in remove_space_dimensions().
-  shortest_path_closure_assign();
-  dbm.resize_no_copy(new_dim + 1);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! Check if gathered information is meaningful.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
-  // Shortest-path closure is maintained.
-  // TODO: see whether or not reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
+private:
+  //! Number of a equalities in a minimized congruence system for the
+  //! grid.
+  dimension_type num_equalities;
+  //! Number of a proper congruences in a minimized congruence system
+  //! for the grid.
+  dimension_type num_proper_congruences;
+};
 
-  // If we removed _all_ dimensions from a non-empty BDS,
-  // the zero-dim universe BDS has been obtained.
-  if (new_dim == 0 && !marked_empty())
-    set_zero_dim_univ();
-  PPL_ASSERT(OK());
-}
+/* Automatically generated from PPL source file ../src/Grid_Certificate.inlines.hh line 1. */
+/* Grid_Certificate class implementation: inline functions.
+*/
 
-template <typename T>
-void
-BD_Shape<T>::wrap_assign(const Variables_Set& vars,
-                         Bounded_Integer_Type_Width w,
-                         Bounded_Integer_Type_Representation r,
-                         Bounded_Integer_Type_Overflow o,
-                         const Constraint_System* pcs,
-                         unsigned complexity_threshold,
-                         bool wrap_individually) {
-  Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
-                              complexity_threshold, wrap_individually,
-                              "BD_Shape");
-}
 
-template <typename T>
-inline void
-BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y, unsigned* tp) {
-  static N stop_points[] = {
-    N(-2, ROUND_UP),
-    N(-1, ROUND_UP),
-    N( 0, ROUND_UP),
-    N( 1, ROUND_UP),
-    N( 2, ROUND_UP)
-  };
-  CC76_extrapolation_assign(y,
-			    stop_points,
-			    stop_points
-			    + sizeof(stop_points)/sizeof(stop_points[0]),
-			    tp);
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline void
-BD_Shape<T>::H79_widening_assign(const BD_Shape& y, unsigned* tp) {
-  // See the documentation for polyhedra.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.H79_widening_assign(py, tp);
-  BD_Shape x(px);
-  swap(x);
+inline
+Grid_Certificate::Grid_Certificate()
+  : num_equalities(0), num_proper_congruences(0) {
+  // This is the certificate for a zero-dim universe grid.
   PPL_ASSERT(OK());
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::widening_assign(const BD_Shape& y, unsigned* tp) {
-  H79_widening_assign(y, tp);
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::limited_H79_extrapolation_assign(const BD_Shape& y,
-					      const Constraint_System& cs,
-					      unsigned* tp) {
-  // See the documentation for polyhedra.
-  C_Polyhedron px(constraints());
-  C_Polyhedron py(y.constraints());
-  px.limited_H79_extrapolation_assign(py, cs, tp);
-  BD_Shape x(px);
-  swap(x);
-  PPL_ASSERT(OK());
+inline
+Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
+  : num_equalities(y.num_equalities),
+    num_proper_congruences(y.num_proper_congruences) {
 }
 
-template <typename T>
-inline memory_size_type
-BD_Shape<T>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline
+Grid_Certificate::~Grid_Certificate() {
 }
 
-template <typename T>
-inline int32_t
-BD_Shape<T>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+inline bool
+Grid_Certificate::is_stabilizing(const Grid& gr) const {
+  return compare(gr) == 1;
 }
 
-template <typename T>
-inline void
-BD_Shape<T>::drop_some_non_integer_points_helper(N& elem) {
-  if (!is_integer(elem)) {
-    Result r = floor_assign_r(elem, elem, ROUND_DOWN);
-    used(r);
-    PPL_ASSERT(r == V_EQ);
-    reset_shortest_path_closed();
-  }
+inline bool
+Grid_Certificate::Compare::operator()(const Grid_Certificate& x,
+				      const Grid_Certificate& y) const {
+  // For an efficient evaluation of the multiset ordering based
+  // on this LGO relation, we want larger elements to come first.
+  return x.compare(y) == 1;
 }
 
 } // namespace Parma_Polyhedra_Library
 
-namespace std {
+/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 103. */
 
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
-template <typename T>
-inline void
-swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
-     Parma_Polyhedra_Library::BD_Shape<T>& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 1. */
+/* Partial_Function class declaration.
+*/
 
-} // namespace std
 
-/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 1. */
-/* BD_Shape class implementation: non-inline template functions.
-*/
+/* Automatically generated from PPL source file ../src/Partial_Function.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+class Partial_Function;
 
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 38. */
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 29. */
 #include <vector>
-#include <deque>
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
-#include <algorithm>
+#ifndef NDEBUG
+#include <set>
+#endif
+#include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-template <typename T>
-BD_Shape<T>::BD_Shape(const Congruence_System& cgs)
-  : dbm(cgs.space_dimension() + 1),
-    status(),
-    redundancy_dbm() {
-  add_congruences(cgs);
-}
+class Partial_Function {
+public:
+  /*! \brief
+    Default constructor: builds a function with empty codomain
+    (i.e., always undefined).
+  */
+  Partial_Function();
 
-template <typename T>
-BD_Shape<T>::BD_Shape(const Generator_System& gs)
-  : dbm(gs.space_dimension() + 1), status(), redundancy_dbm() {
-  const Generator_System::const_iterator gs_begin = gs.begin();
-  const Generator_System::const_iterator gs_end = gs.end();
-  if (gs_begin == gs_end) {
-    // An empty generator system defines the empty BD shape.
-    set_empty();
-    return;
-  }
+  /*! \brief
+    Returns \c true if and only if the represented partial function
+    has an empty codomain (i.e., it is always undefined).
+  */
+  bool has_empty_codomain() const;
 
-  const dimension_type space_dim = space_dimension();
-  DB_Row<N>& dbm_0 = dbm[0];
-  PPL_DIRTY_TEMP(N, tmp);
+  /*! \brief
+    If the codomain is \e not empty, returns the maximum value in it.
 
-  bool dbm_initialized = false;
-  bool point_seen = false;
-  // Going through all the points and closure points.
-  for (Generator_System::const_iterator gs_i = gs_begin;
-       gs_i != gs_end; ++gs_i) {
-    const Generator& g = *gs_i;
-    switch (g.type()) {
-    case Generator::POINT:
-      point_seen = true;
-      // Intentionally fall through.
-    case Generator::CLOSURE_POINT:
-      if (!dbm_initialized) {
-        // When handling the first (closure) point, we initialize the DBM.
-        dbm_initialized = true;
-        const Coefficient& d = g.divisor();
-        for (dimension_type i = space_dim; i > 0; --i) {
-          const Coefficient& g_i = g.coefficient(Variable(i-1));
-          DB_Row<N>& dbm_i = dbm[i];
-          for (dimension_type j = space_dim; j > 0; --j)
-            if (i != j)
-              div_round_up(dbm_i[j], g.coefficient(Variable(j-1)) - g_i, d);
-          div_round_up(dbm_i[0], -g_i, d);
-        }
-        for (dimension_type j = space_dim; j > 0; --j)
-          div_round_up(dbm_0[j], g.coefficient(Variable(j-1)), d);
-        // Note: no need to initialize the first element of the main diagonal.
-      }
-      else {
-        // This is not the first point: the DBM already contains
-        // valid values and we must compute maxima.
-        const Coefficient& d = g.divisor();
-        for (dimension_type i = space_dim; i > 0; --i) {
-          const Coefficient& g_i = g.coefficient(Variable(i-1));
-          DB_Row<N>& dbm_i = dbm[i];
-          // The loop correctly handles the case when i == j.
-          for (dimension_type j = space_dim; j > 0; --j) {
-            div_round_up(tmp, g.coefficient(Variable(j-1)) - g_i, d);
-            max_assign(dbm_i[j], tmp);
-          }
-          div_round_up(tmp, -g_i, d);
-          max_assign(dbm_i[0], tmp);
-        }
-        for (dimension_type j = space_dim; j > 0; --j) {
-          div_round_up(tmp, g.coefficient(Variable(j-1)), d);
-          max_assign(dbm_0[j], tmp);
-        }
-      }
-      break;
-    default:
-      // Lines and rays temporarily ignored.
-      break;
-    }
-  }
+    \exception std::runtime_error
+    Thrown if called when \p *this has an empty codomain.
+  */
+  dimension_type max_in_codomain() const;
 
-  if (!point_seen)
-    // The generator system is not empty, but contains no points.
-    throw_generic("BD_Shape(gs)",
-                  "the non-empty generator system gs contains no points.");
+  /*! \brief
+    If \p *this maps \p i to a value \c k, assigns \c k to \p j and
+    returns \c true; otherwise, \p j is unchanged and \c false is returned.
+  */
+  bool maps(dimension_type i, dimension_type& j) const;
 
-  // Going through all the lines and rays.
-  for (Generator_System::const_iterator gs_i = gs_begin;
-       gs_i != gs_end; ++gs_i) {
-    const Generator& g = *gs_i;
-    switch (g.type()) {
-    case Generator::LINE:
-      for (dimension_type i = space_dim; i > 0; --i) {
-        const Coefficient& g_i = g.coefficient(Variable(i-1));
-        DB_Row<N>& dbm_i = dbm[i];
-        // The loop correctly handles the case when i == j.
-        for (dimension_type j = space_dim; j > 0; --j)
-          if (g_i != g.coefficient(Variable(j-1)))
-            assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
-        if (g_i != 0)
-          assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
-      }
-      for (dimension_type j = space_dim; j > 0; --j)
-        if (g.coefficient(Variable(j-1)) != 0)
-          assign_r(dbm_0[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
-      break;
-    case Generator::RAY:
-      for (dimension_type i = space_dim; i > 0; --i) {
-        const Coefficient& g_i = g.coefficient(Variable(i-1));
-        DB_Row<N>& dbm_i = dbm[i];
-        // The loop correctly handles the case when i == j.
-        for (dimension_type j = space_dim; j > 0; --j)
-          if (g_i < g.coefficient(Variable(j-1)))
-            assign_r(dbm_i[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
-        if (g_i < 0)
-          assign_r(dbm_i[0], PLUS_INFINITY, ROUND_NOT_NEEDED);
-      }
-      for (dimension_type j = space_dim; j > 0; --j)
-        if (g.coefficient(Variable(j-1)) > 0)
-          assign_r(dbm_0[j], PLUS_INFINITY, ROUND_NOT_NEEDED);
-      break;
-    default:
-      // Points and closure points already dealt with.
-      break;
-    }
-  }
-  set_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+  void print(std::ostream& s) const;
 
-template <typename T>
-BD_Shape<T>::BD_Shape(const Polyhedron& ph, const Complexity_Class complexity)
-  : dbm(), status(), redundancy_dbm() {
-  const dimension_type num_dimensions = ph.space_dimension();
+  /*! \brief
+    Modifies \p *this so that \p i is mapped to \p j.
 
-  if (ph.marked_empty()) {
-    *this = BD_Shape<T>(num_dimensions, EMPTY);
-    return;
-  }
+    \exception std::runtime_error
+    Thrown if \p *this is already mapping \p j.
+  */
+  void insert(dimension_type i, dimension_type j);
 
-  if (num_dimensions == 0) {
-    *this = BD_Shape<T>(num_dimensions, UNIVERSE);
-    return;
-  }
+private:
+  std::vector<dimension_type> vec;
+  dimension_type max;
+#ifndef NDEBUG
+  std::set<dimension_type> codomain;
+#endif
+}; // class Partial_Function
 
-  // Build from generators when we do not care about complexity
-  // or when the process has polynomial complexity.
-  if (complexity == ANY_COMPLEXITY
-      || (!ph.has_pending_constraints() && ph.generators_are_up_to_date())) {
-    *this = BD_Shape<T>(ph.generators());
-    return;
-  }
+} // namespace Parma_Polyhedra_Library
 
-  // We cannot afford exponential complexity, we do not have a complete set
-  // of generators for the polyhedron, and the polyhedron is not trivially
-  // empty or zero-dimensional.  Constraints, however, are up to date.
-  PPL_ASSERT(ph.constraints_are_up_to_date());
+/* Automatically generated from PPL source file ../src/Partial_Function.inlines.hh line 1. */
+/* Partial_Function class implementation: inline functions.
+*/
 
-  if (!ph.has_something_pending() && ph.constraints_are_minimized()) {
-    // If the constraint system of the polyhedron is minimized,
-    // the test `is_universe()' has polynomial complexity.
-    if (ph.is_universe()) {
-      *this = BD_Shape<T>(num_dimensions, UNIVERSE);
-      return;
-    }
-  }
 
-  // See if there is at least one inconsistent constraint in `ph.con_sys'.
-  for (Constraint_System::const_iterator i = ph.con_sys.begin(),
-         cs_end = ph.con_sys.end(); i != cs_end; ++i)
-    if (i->is_inconsistent()) {
-      *this = BD_Shape<T>(num_dimensions, EMPTY);
-      return;
-    }
+#include <stdexcept>
+/* Automatically generated from PPL source file ../src/Partial_Function.inlines.hh line 29. */
 
-  // If `complexity' allows it, use simplex to derive the exact (modulo
-  // the fact that our BDSs are topologically closed) variable bounds.
-  if (complexity == SIMPLEX_COMPLEXITY) {
-    MIP_Problem lp(num_dimensions);
-    lp.set_optimization_mode(MAXIMIZATION);
+namespace Parma_Polyhedra_Library {
 
-    const Constraint_System& ph_cs = ph.constraints();
-    if (!ph_cs.has_strict_inequalities())
-      lp.add_constraints(ph_cs);
-    else
-      // Adding to `lp' a topologically closed version of `ph_cs'.
-      for (Constraint_System::const_iterator i = ph_cs.begin(),
-             ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
-        const Constraint& c = *i;
-        if (c.is_strict_inequality())
-          lp.add_constraint(Linear_Expression(c) >= 0);
-        else
-          lp.add_constraint(c);
-      }
+inline
+Partial_Function::Partial_Function()
+  : max(0) {
+}
 
-    // Check for unsatisfiability.
-    if (!lp.is_satisfiable()) {
-      *this = BD_Shape<T>(num_dimensions, EMPTY);
-      return;
-    }
+inline bool
+Partial_Function::has_empty_codomain() const {
+  PPL_ASSERT(vec.empty() == codomain.empty());
+  return vec.empty();
+}
 
-    // Start with a universe BDS that will be refined by the simplex.
-    *this = BD_Shape<T>(num_dimensions, UNIVERSE);
-    // Get all the upper bounds.
-    Generator g(point());
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-    for (dimension_type i = 1; i <= num_dimensions; ++i) {
-      Variable x(i-1);
-      // Evaluate optimal upper bound for `x <= ub'.
-      lp.set_objective_function(x);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-        g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        div_round_up(dbm[0][i], num, den);
-      }
-      // Evaluate optimal upper bound for `x - y <= ub'.
-      for (dimension_type j = 1; j <= num_dimensions; ++j) {
-        if (i == j)
-          continue;
-        Variable y(j-1);
-        lp.set_objective_function(x - y);
-        if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-          g = lp.optimizing_point();
-          lp.evaluate_objective_function(g, num, den);
-          div_round_up(dbm[j][i], num, den);
-        }
-      }
-      // Evaluate optimal upper bound for `-x <= ub'.
-      lp.set_objective_function(-x);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-        g = lp.optimizing_point();
-        lp.evaluate_objective_function(g, num, den);
-        div_round_up(dbm[i][0], num, den);
-      }
-    }
-    set_shortest_path_closed();
-    PPL_ASSERT(OK());
-    return;
-  }
+inline dimension_type
+Partial_Function::max_in_codomain() const {
+  if (has_empty_codomain())
+    throw std::runtime_error("Partial_Function::max_in_codomain() called"
+			     " when has_empty_codomain()");
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+  return max;
+}
 
-  // Extract easy-to-find bounds from constraints.
-  PPL_ASSERT(complexity == POLYNOMIAL_COMPLEXITY);
-  *this = BD_Shape<T>(num_dimensions, UNIVERSE);
-  refine_with_constraints(ph.constraints());
+inline void
+Partial_Function::insert(dimension_type i, dimension_type j) {
+#ifndef NDEBUG
+  // The partial function has to be an injective map.
+  std::pair<std::set<dimension_type>::iterator, bool> s = codomain.insert(j);
+  PPL_ASSERT(s.second);
+#endif // #ifndef NDEBUG
+
+  // Expand `vec' if needed.
+  const dimension_type sz = vec.size();
+  if (i >= sz)
+    vec.insert(vec.end(), i - sz + 1, not_a_dimension());
+
+  // We cannot remap the same index to another one.
+  PPL_ASSERT(i < vec.size() && vec[i] == not_a_dimension());
+  vec[i] = j;
+
+  // Maybe update `max'.
+  if (j > max)
+    max = j;
+  PPL_ASSERT(codomain.begin() != codomain.end()
+             && max == *codomain.rbegin());
+}
+
+inline bool
+Partial_Function::maps(dimension_type i, dimension_type& j) const {
+  if (i >= vec.size())
+    return false;
+  dimension_type vec_i = vec[i];
+  if (vec_i == not_a_dimension())
+    return false;
+  j = vec_i;
+  return true;
 }
 
-template <typename T>
-dimension_type
-BD_Shape<T>::affine_dimension() const {
-  const dimension_type space_dim = space_dimension();
-  // A zero-space-dim shape always has affine dimension zero.
-  if (space_dim == 0)
-    return 0;
+} // namespace Parma_Polyhedra_Library
 
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) equalities.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return 0;
+/* Automatically generated from PPL source file ../src/Partial_Function.defs.hh line 86. */
 
-  // The vector `predecessor' is used to represent equivalence classes:
-  // `predecessor[i] == i' if and only if `i' is the leader of its
-  // equivalence class (i.e., the minimum index in the class);
-  std::vector<dimension_type> predecessor;
-  compute_predecessors(predecessor);
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 1. */
+/* Widening_Function class declaration.
+*/
 
-  // Due to the fictitious variable `0', the affine dimension is one
-  // less the number of equivalence classes.
-  dimension_type affine_dim = 0;
-  // Note: disregard the first equivalence class.
-  for (dimension_type i = 1; i <= space_dim; ++i)
-    if (predecessor[i] == i)
-      ++affine_dim;
 
-  return affine_dim;
-}
+/* Automatically generated from PPL source file ../src/Widening_Function.types.hh line 1. */
 
-template <typename T>
-Congruence_System
-BD_Shape<T>::minimized_congruences() const {
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) equalities.
-  shortest_path_closure_assign();
 
-  const dimension_type space_dim = space_dimension();
-  Congruence_System cgs;
-  if (space_dim == 0) {
-    if (marked_empty())
-      cgs = Congruence_System::zero_dim_empty();
-  }
-  else if (marked_empty())
-    cgs.insert((0*Variable(space_dim-1) %= 1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) == 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-
-    // Compute leader information.
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-
-    // Go through the non-leaders to generate equality constraints.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const dimension_type leader = leaders[i];
-      if (i != leader) {
-        // Generate the constraint relating `i' and its leader.
-        if (leader == 0) {
-          // A unary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
-          numer_denom(dbm_0[i], num, den);
-          cgs.insert(den*Variable(i-1) == num);
-        }
-        else {
-          // A binary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
-          numer_denom(dbm[i][leader], num, den);
-          cgs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
-        }
-      }
-    }
-  }
-  return cgs;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-void
-BD_Shape<T>::add_constraint(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dimension())
-    throw_dimension_incompatible("add_constraint(c)", c);
+template <typename PSET>
+class Widening_Function;
 
-  // Get rid of strict inequalities.
-  if (c.is_strict_inequality()) {
-    if (c.is_inconsistent()) {
-      set_empty();
-      return;
-    }
-    if (c.is_tautological())
-      return;
-    // Nontrivial strict inequalities are not allowed.
-    throw_generic("add_constraint(c)", "strict inequalities are not allowed");
-  }
+template <typename PSET, typename CSYS>
+class Limited_Widening_Function;
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  // Constraints that are not bounded differences are not allowed.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff))
-    throw_generic("add_constraint(c)",
-                  "c is not a bounded difference constraint");
+} // namespace Parma_Polyhedra_Library
 
-  const Coefficient& inhomo = c.inhomogeneous_term();
-  if (num_vars == 0) {
-    // Dealing with a trivial constraint (not a strict inequality).
-    if (inhomo < 0
-        || (inhomo != 0 && c.is_equality()))
-      set_empty();
-    return;
-  }
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 29. */
 
-  // Select the cell to be modified for the "<=" part of the constraint,
-  // and set `coeff' to the absolute value of itself.
-  const bool negative = (coeff < 0);
-  N& x = negative ? dbm[i][j] : dbm[j][i];
-  N& y = negative ? dbm[j][i] : dbm[i][j];
-  if (negative)
-    neg_assign(coeff);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Wraps a widening method into a function object.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PSET>
+class Parma_Polyhedra_Library::Widening_Function {
+public:
+  //! The (parametric) type of a widening method.
+  typedef void (PSET::* Widening_Method)(const PSET&, unsigned*);
 
-  bool changed = false;
-  // Compute the bound for `x', rounding towards plus infinity.
-  PPL_DIRTY_TEMP(N, d);
-  div_round_up(d, inhomo, coeff);
-  if (x > d) {
-    x = d;
-    changed = true;
-  }
+  //! Explicit unary constructor.
+  explicit
+  Widening_Function(Widening_Method wm);
 
-  if (c.is_equality()) {
-    // Also compute the bound for `y', rounding towards plus infinity.
-    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
-    neg_assign(minus_c_term, inhomo);
-    div_round_up(d, minus_c_term, coeff);
-    if (y > d) {
-      y = d;
-      changed = true;
-    }
-  }
+  //! Function-application operator.
+  /*!
+    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
+    method stored at construction time.
+  */
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
-  // In general, adding a constraint does not preserve the shortest-path
-  // closure or reduction of the bounded difference shape.
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+private:
+  //! The widening method.
+  Widening_Method w_method;
+};
 
-template <typename T>
-void
-BD_Shape<T>::add_congruence(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  // Dimension-compatibility check:
-  // the dimension of `cg' can not be greater than space_dim.
-  if (space_dimension() < cg_space_dim)
-    throw_dimension_incompatible("add_congruence(cg)", cg);
 
-  // Handle the case of proper congruences first.
-  if (cg.is_proper_congruence()) {
-    if (cg.is_tautological())
-      return;
-    if (cg.is_inconsistent()) {
-      set_empty();
-      return;
-    }
-    // Non-trivial and proper congruences are not allowed.
-    throw_generic("add_congruence(cg)",
-                  "cg is a non-trivial, proper congruence");
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Wraps a limited widening method into a function object.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PSET, typename CSYS>
+class Parma_Polyhedra_Library::Limited_Widening_Function {
+public:
+  //! The (parametric) type of a limited widening method.
+  typedef void (PSET::* Limited_Widening_Method)(const PSET&,
+                                                 const CSYS&,
+                                                 unsigned*);
 
-  PPL_ASSERT(cg.is_equality());
-  Constraint c(cg);
-  add_constraint(c);
-}
+  //! Constructor.
+  /*!
+    \param lwm
+    The limited widening method.
 
-template <typename T>
-void
-BD_Shape<T>::refine_no_check(const Constraint& c) {
-  PPL_ASSERT(!marked_empty());
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c_space_dim <= space_dimension());
+    \param cs
+    The constraint system limiting the widening.
+  */
+  Limited_Widening_Function(Limited_Widening_Method lwm,
+			    const CSYS& cs);
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  // Constraints that are not bounded differences are ignored.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff))
-    return;
+  //! Function-application operator.
+  /*!
+    Computes <CODE>(x.*lwm)(y, cs, tp)</CODE>, where \p lwm and \p cs
+    are the limited widening method and the constraint system stored
+    at construction time.
+  */
+  void operator()(PSET& x, const PSET& y, unsigned* tp = 0) const;
 
-  const Coefficient& inhomo = c.inhomogeneous_term();
-  if (num_vars == 0) {
-    // Dealing with a trivial constraint (might be a strict inequality).
-    if (inhomo < 0
-        || (c.is_equality() && inhomo != 0)
-        || (c.is_strict_inequality() && inhomo == 0))
-      set_empty();
-    return;
-  }
+private:
+  //! The limited widening method.
+  Limited_Widening_Method lw_method;
+  //! A constant reference to the constraint system limiting the widening.
+  const CSYS& limiting_cs;
+};
 
-  // Select the cell to be modified for the "<=" part of the constraint,
-  // and set `coeff' to the absolute value of itself.
-  const bool negative = (coeff < 0);
-  N& x = negative ? dbm[i][j] : dbm[j][i];
-  N& y = negative ? dbm[j][i] : dbm[i][j];
-  if (negative)
-    neg_assign(coeff);
+namespace Parma_Polyhedra_Library {
 
-  bool changed = false;
-  // Compute the bound for `x', rounding towards plus infinity.
-  PPL_DIRTY_TEMP(N, d);
-  div_round_up(d, inhomo, coeff);
-  if (x > d) {
-    x = d;
-    changed = true;
-  }
+//! Wraps a widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-  if (c.is_equality()) {
-    // Also compute the bound for `y', rounding towards plus infinity.
-    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
-    neg_assign(minus_c_term, inhomo);
-    div_round_up(d, minus_c_term, coeff);
-    if (y > d) {
-      y = d;
-      changed = true;
-    }
-  }
+  \param wm
+  The widening method.
+*/
+template <typename PSET>
+Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*));
 
-  // In general, adding a constraint does not preserve the shortest-path
-  // closure or reduction of the bounded difference shape.
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+//! Wraps a limited widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-template <typename T>
-void
-BD_Shape<T>::concatenate_assign(const BD_Shape& y) {
-  BD_Shape& x = *this;
+  \param lwm
+  The limited widening method.
 
-  const dimension_type x_space_dim = x.space_dimension();
-  const dimension_type y_space_dim = y.space_dimension();
+  \param cs
+  The constraint system limiting the widening.
+*/
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs);
 
-  // If `y' is an empty 0-dim space bounded difference shape,
-  // let `*this' become empty.
-  if (y_space_dim == 0 && y.marked_empty()) {
-    set_empty();
-    return;
-  }
+} // namespace Parma_Polyhedra_Library
 
-  // If `x' is an empty 0-dim space BDS, then it is sufficient to adjust
-  // the dimension of the vector space.
-  if (x_space_dim == 0 && marked_empty()) {
-    dbm.grow(y_space_dim + 1);
-    PPL_ASSERT(OK());
-    return;
-  }
-  // First we increase the space dimension of `x' by adding
-  // `y.space_dimension()' new dimensions.
-  // The matrix for the new system of constraints is obtained
-  // by leaving the old system of constraints in the upper left-hand side
-  // and placing the constraints of `y' in the lower right-hand side,
-  // except the constraints as `y(i) >= cost' or `y(i) <= cost', that are
-  // placed in the right position on the new matrix.
-  add_space_dimensions_and_embed(y_space_dim);
-  const dimension_type new_space_dim = x_space_dim + y_space_dim;
-  for (dimension_type i = x_space_dim + 1; i <= new_space_dim; ++i) {
-    DB_Row<N>& dbm_i = dbm[i];
-    dbm_i[0] = y.dbm[i - x_space_dim][0];
-    dbm[0][i] = y.dbm[0][i - x_space_dim];
-    for (dimension_type j = x_space_dim + 1; j <= new_space_dim; ++j)
-      dbm_i[j] = y.dbm[i - x_space_dim][j - x_space_dim];
-  }
+/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 1. */
+/* Widening_Function class implementation: inline functions.
+*/
 
-  if (marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
+
+/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename PSET>
+Widening_Function<PSET>::Widening_Function(Widening_Method wm)
+  : w_method(wm) {
 }
 
-template <typename T>
-bool
-BD_Shape<T>::contains(const BD_Shape& y) const {
-  const BD_Shape<T>& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+template <typename PSET>
+inline void
+Widening_Function<PSET>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
+  (x.*w_method)(y, tp);
+}
 
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    throw_dimension_incompatible("contains(y)", y);
+template <typename PSET, typename CSYS>
+Limited_Widening_Function<PSET, CSYS>::
+Limited_Widening_Function(Limited_Widening_Method lwm,
+			  const CSYS& cs)
+  : lw_method(lwm), limiting_cs(cs) {
+}
 
-  // The zero-dimensional universe shape contains any other
-  // dimension-compatible shape.
-  // The zero-dimensional empty shape only contains another
-  // zero-dimensional empty shape.
-  if (x_space_dim == 0) {
-    if (!marked_empty())
-      return true;
-    else
-      return y.marked_empty();
-  }
+template <typename PSET, typename CSYS>
+inline void
+Limited_Widening_Function<PSET, CSYS>::
+operator()(PSET& x, const PSET& y, unsigned* tp) const {
+  (x.*lw_method)(y, limiting_cs, tp);
+}
 
-  /*
-    The `y' bounded difference shape need be closed.
-    In fact if, for example, in `*this' we have the constraints:
+/*! \relates Pointset_Powerset */
+template <typename PSET>
+inline Widening_Function<PSET>
+widen_fun_ref(void (PSET::* wm)(const PSET&, unsigned*)) {
+  return Widening_Function<PSET>(wm);
+}
 
-    x1 - x2 <= 1;
-    x1      <= 3;
-    x2      <= 2;
+/*! \relates Pointset_Powerset */
+template <typename PSET, typename CSYS>
+inline Limited_Widening_Function<PSET, CSYS>
+widen_fun_ref(void (PSET::* lwm)(const PSET&, const CSYS&, unsigned*),
+	      const CSYS& cs) {
+  return Limited_Widening_Function<PSET, CSYS>(lwm, cs);
+}
 
-    in `y' the constraints are:
+} // namespace Parma_Polyhedra_Library
 
-    x1 - x2 <= 0;
-    x2      <= 1;
 
-    without closure it returns "false", instead if we close `y' we have
-    the implicit constraint
+/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 126. */
 
-    x1      <= 1;
+/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 1. */
+/* Definition of functions yielding maximal space dimensions.
+*/
 
-    and so we obtain the right result "true".
-  */
-  y.shortest_path_closure_assign();
 
-  // An empty shape is contained in any other dimension-compatible shapes.
-  if (y.marked_empty())
-    return true;
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 1. */
+/* NNC_Polyhedron class declaration.
+*/
 
-  // `*this' contains `y' if and only if every cell of `dbm'
-  // is greater than or equal to the correspondent one of `y.dbm'.
-  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
-    const DB_Row<N>& x_dbm_i = x.dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = x_space_dim + 1; j-- > 0; )
-      if (x_dbm_i[j] < y_dbm_i[j])
-        return false;
-  }
-  return true;
-}
 
-template <typename T>
-bool
-BD_Shape<T>::is_disjoint_from(const BD_Shape& y) const {
-  const dimension_type space_dim = space_dimension();
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("is_disjoint_from(y)", y);
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 31. */
 
-  // If one of the two bounded difference shape is empty,
-  // then the two bounded difference shape are disjoint.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return true;
-  y.shortest_path_closure_assign();
-  if (y.marked_empty())
-    return true;
+//! A not necessarily closed convex polyhedron.
+/*! \ingroup PPL_CXX_interface
+    An object of the class NNC_Polyhedron represents a
+    <EM>not necessarily closed</EM> (NNC) convex polyhedron
+    in the vector space \f$\Rset^n\f$.
 
-  // Two BDSs are disjoint when their intersection is empty.
-  // That is if and only if there exists at least a bounded difference
-  // such that the upper bound of the bounded difference in the first
-  // BD_Shape is strictly less than the lower bound of
-  // the corresponding bounded difference in the second BD_Shape
-  // or vice versa.
-  // For example: let be
-  // in `*this':    -a_j_i <= v_j - v_i <= a_i_j;
-  // and in `y':    -b_j_i <= v_j - v_i <= b_i_j;
-  // `*this' and `y' are disjoint if
-  // 1.) a_i_j < -b_j_i or
-  // 2.) b_i_j < -a_j_i.
-  PPL_DIRTY_TEMP(N, tmp);
-  for (dimension_type i = space_dim+1; i-- > 0; ) {
-    const DB_Row<N>& x_i = dbm[i];
-    for (dimension_type j = space_dim+1; j-- > 0; ) {
-      neg_assign_r(tmp, y.dbm[j][i], ROUND_UP);
-      if (x_i[j] < tmp)
-        return true;
-    }
-  }
+    \note
+    Since NNC polyhedra are a generalization of closed polyhedra,
+    any object of the class C_Polyhedron can be (explicitly) converted
+    into an object of the class NNC_Polyhedron.
+    The reason for defining two different classes is that objects of
+    the class C_Polyhedron are characterized by a more efficient
+    implementation, requiring less time and memory resources.
+*/
+class Parma_Polyhedra_Library::NNC_Polyhedron : public Polyhedron {
+public:
+  //! Builds either the universe or the empty NNC polyhedron.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the NNC polyhedron;
 
-  return false;
-}
+    \param kind
+    Specifies whether a universe or an empty NNC polyhedron should be built.
 
-template <typename T>
-bool
-BD_Shape<T>::is_universe() const {
-  if (marked_empty())
-    return false;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-  const dimension_type space_dim = space_dimension();
-  // If the BDS is non-empty and zero-dimensional,
-  // then it is necessarily the universe BDS.
-  if (space_dim == 0)
-    return true;
+    Both parameters are optional:
+    by default, a 0-dimension space universe NNC polyhedron is built.
+  */
+  explicit NNC_Polyhedron(dimension_type num_dimensions = 0,
+			  Degenerate_Element kind = UNIVERSE);
 
-  // A bounded difference shape defining the universe BDS can only
-  // contain trivial constraints.
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    const DB_Row<N>& dbm_i = dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; )
-      if (!is_plus_infinity(dbm_i[j]))
-        return false;
-  }
-  return true;
-}
+  //! Builds an NNC polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-template <typename T>
-bool
-BD_Shape<T>::is_bounded() const {
-  shortest_path_closure_assign();
-  const dimension_type space_dim = space_dimension();
-  // A zero-dimensional or empty BDS is bounded.
-  if (marked_empty() || space_dim == 0)
-    return true;
+    \param cs
+    The system of constraints defining the polyhedron.
+  */
+  explicit NNC_Polyhedron(const Constraint_System& cs);
+
+  //! Builds an NNC polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
+
+    \param cs
+    The system of constraints defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  NNC_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
 
-  // A bounded difference shape defining the bounded BDS never can
-  // contain trivial constraints.
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    const DB_Row<N>& dbm_i = dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; )
-      if (i != j)
-        if (is_plus_infinity(dbm_i[j]))
-          return false;
-  }
+  //! Builds an NNC polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  return true;
-}
+    \param gs
+    The system of generators defining the polyhedron.
 
-template <typename T>
-bool
-BD_Shape<T>::contains_integer_point() const {
-  // Force shortest-path closure.
-  if (is_empty())
-    return false;
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
+  */
+  explicit NNC_Polyhedron(const Generator_System& gs);
 
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0)
-    return true;
+  //! Builds an NNC polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  // A non-empty BD_Shape defined by integer constraints
-  // necessarily contains an integer point.
-  if (std::numeric_limits<T>::is_integer)
-    return true;
+    \param gs
+    The system of generators defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-  // Build an integer BD_Shape z with bounds at least as tight as
-  // those in *this and then recheck for emptiness.
-  BD_Shape<mpz_class> bds_z(space_dim);
-  typedef BD_Shape<mpz_class>::N Z;
-  bds_z.reset_shortest_path_closed();
-  PPL_DIRTY_TEMP(N, tmp);
-  bool all_integers = true;
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<Z>& z_i = bds_z.dbm[i];
-    const DB_Row<N>& dbm_i = dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      const N& dbm_i_j = dbm_i[j];
-      if (is_plus_infinity(dbm_i_j))
-        continue;
-      if (is_integer(dbm_i_j))
-        assign_r(z_i[j], dbm_i_j, ROUND_NOT_NEEDED);
-      else {
-        all_integers = false;
-        Z& z_i_j = z_i[j];
-        // Copy dbm_i_j into z_i_j, but rounding downwards.
-        neg_assign_r(tmp, dbm_i_j, ROUND_NOT_NEEDED);
-        assign_r(z_i_j, tmp, ROUND_UP);
-        neg_assign_r(z_i_j, z_i_j, ROUND_NOT_NEEDED);
-      }
-    }
-  }
-  return all_integers || !bds_z.is_empty();
-}
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-template <typename T>
-bool
-BD_Shape<T>::frequency(const Linear_Expression& expr,
-                       Coefficient& freq_n, Coefficient& freq_d,
-                       Coefficient& val_n, Coefficient& val_d) const {
-  dimension_type space_dim = space_dimension();
-  // The dimension of `expr' must be at most the dimension of *this.
-  if (space_dim < expr.space_dimension())
-    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
+  */
+  NNC_Polyhedron(Generator_System& gs, Recycle_Input dummy);
 
-  // Check if `expr' has a constant value.
-  // If it is constant, set the frequency `freq_n' to 0
-  // and return true. Otherwise the values for \p expr
-  // are not discrete so return false.
+  //! Builds an NNC polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
 
-  // Space dimension = 0: if empty, then return false;
-  // otherwise the frequency is 0 and the value is the inhomogeneous term.
-  if (space_dim == 0) {
-    if (is_empty())
-      return false;
-    freq_n = 0;
-    freq_d = 1;
-    val_n = expr.inhomogeneous_term();
-    val_d = 1;
-    return true;
-  }
+    \param cgs
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
+  */
+  explicit NNC_Polyhedron(const Congruence_System& cgs);
 
-  shortest_path_closure_assign();
-  // For an empty BD shape, we simply return false.
-  if (marked_empty())
-    return false;
+  //! Builds an NNC polyhedron recycling a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
 
-  // The BD shape has at least 1 dimension and is not empty.
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  PPL_DIRTY_TEMP(N, tmp);
-  Linear_Expression le = expr;
-  // Boolean to keep track of a variable `v' in expression `le'.
-  // If we can replace `v' by an expression using variables other
-  // than `v' and are already in `le', then this is set to true.
-  bool constant_v = false;
+    \param cgs
+    The system of congruences defining the polyhedron.  It is not
+    declared <CODE>const</CODE> because its data-structures may be
+    recycled to build the polyhedron.
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
 
-  for (dimension_type i = dbm.num_rows(); i-- > 1; ) {
-    constant_v = false;
-    const Variable v(i-1);
-    coeff = le.coefficient(v);
-    if (coeff == 0) {
-      constant_v = true;
-      continue;
-    }
+  //! Builds an NNC polyhedron from the C polyhedron \p y.
+  /*!
+    \param y
+    The C polyhedron to be used;
 
-    const DB_Row<N>& dbm_i = dbm[i];
-    // Check if `v' is constant in the BD shape.
-    assign_r(tmp, dbm_i[0], ROUND_NOT_NEEDED);
-    if (is_additive_inverse(dbm[0][i], tmp)) {
-      // If `v' is constant, replace it in `le' by the value.
-      numer_denom(tmp, num, den);
-      le -= coeff*v;
-      le *= den;
-      le -= num*coeff;
-      val_den *= den;
-      constant_v = true;
-      continue;
-    }
-    // Check the bounded differences with the other dimensions that
-    // have non-zero coefficient in `le'.
-    else {
-      PPL_ASSERT(!constant_v);
-      for (dimension_type j = i; j-- > 1; ) {
-        const Variable vj(j-1);
-        if (le.coefficient(vj) == 0)
-          // The coefficient in `le' is 0, so do nothing.
-          continue;
-        assign_r(tmp, dbm_i[j], ROUND_NOT_NEEDED);
-        if (is_additive_inverse(dbm[j][i], tmp)) {
-          // The coefficient for `vj' in `le' is not 0
-          // and the difference with `v' in the BD shape is constant.
-          // So apply this equality to eliminate `v' in `le'.
-          numer_denom(tmp, num, den);
-          le -= coeff*v - coeff*vj;
-          le *= den;
-          le -= num*coeff;
-          val_den *= den;
-          constant_v = true;
-          break;
-        }
-      }
-      if (!constant_v)
-        // The expression `expr' is not constant.
-        return false;
-    }
-  }
-  if (!constant_v)
-    // The expression `expr' is not constant.
-    return false;
+    \param complexity
+    This argument is ignored.
+  */
+  explicit NNC_Polyhedron(const C_Polyhedron& y,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // The expression `expr' is constant.
-  freq_n = 0;
-  freq_d = 1;
+  //! Builds an NNC polyhedron out of a box.
+  /*!
+    The polyhedron inherits the space dimension of the box
+    and is the most precise that includes the box.
 
-  // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
-  return true;
-}
+    \param box
+    The box representing the polyhedron to be built;
 
-template <typename T>
-bool
-BD_Shape<T>::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the BD shape.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dimension() < var_space_dim)
-    throw_dimension_incompatible("constrains(v)", "v", var);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  shortest_path_closure_assign();
-  // A BD shape known to be empty constrains all variables.
-  // (Note: do not force emptiness check _yet_)
-  if (marked_empty())
-    return true;
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
+  */
+  template <typename Interval>
+  explicit NNC_Polyhedron(const Box<Interval>& box,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Check whether `var' is syntactically constrained.
-  const DB_Row<N>& dbm_v = dbm[var_space_dim];
-  for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
-    if (!is_plus_infinity(dbm_v[i])
-        || !is_plus_infinity(dbm[i][var_space_dim]))
-      return true;
-  }
+  //! Builds an NNC polyhedron out of a grid.
+  /*!
+    The polyhedron inherits the space dimension of the grid
+    and is the most precise that includes the grid.
 
-  // `var' is not syntactically constrained:
-  // now force an emptiness check.
-  return is_empty();
-}
+    \param grid
+    The grid used to build the polyhedron.
 
-template <typename T>
-void
-BD_Shape<T>
-::compute_predecessors(std::vector<dimension_type>& predecessor) const {
-  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
-  PPL_ASSERT(predecessor.size() == 0);
-  // Variables are ordered according to their index.
-  // The vector `predecessor' is used to indicate which variable
-  // immediately precedes a given one in the corresponding equivalence class.
-  // The `leader' of an equivalence class is the element having minimum
-  // index: leaders are their own predecessors.
-  const dimension_type pred_size = dbm.num_rows();
-  // Initially, each variable is leader of its own zero-equivalence class.
-  predecessor.reserve(pred_size);
-  for (dimension_type i = 0; i < pred_size; ++i)
-    predecessor.push_back(i);
-  // Now compute actual predecessors.
-  for (dimension_type i = pred_size; i-- > 1; )
-    if (i == predecessor[i]) {
-      const DB_Row<N>& dbm_i = dbm[i];
-      for (dimension_type j = i; j-- > 0; )
-        if (j == predecessor[j]
-            && is_additive_inverse(dbm[j][i], dbm_i[j])) {
-          // Choose as predecessor the variable having the smaller index.
-          predecessor[i] = j;
-          break;
-        }
-    }
-}
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  explicit NNC_Polyhedron(const Grid& grid,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-template <typename T>
-void
-BD_Shape<T>::compute_leaders(std::vector<dimension_type>& leaders) const {
-  PPL_ASSERT(!marked_empty() && marked_shortest_path_closed());
-  PPL_ASSERT(leaders.size() == 0);
-  // Compute predecessor information.
-  compute_predecessors(leaders);
-  // Flatten the predecessor chains so as to obtain leaders.
-  PPL_ASSERT(leaders[0] == 0);
-  for (dimension_type i = 1, l_size = leaders.size(); i != l_size; ++i) {
-    const dimension_type l_i = leaders[i];
-    PPL_ASSERT(l_i <= i);
-    if (l_i != i) {
-      const dimension_type ll_i = leaders[l_i];
-      PPL_ASSERT(ll_i == leaders[ll_i]);
-      leaders[i] = ll_i;
-    }
-  }
-}
+  //! Builds a NNC polyhedron out of a BD shape.
+  /*!
+    The polyhedron inherits the space dimension of the BD shape
+    and is the most precise that includes the BD shape.
 
-template <typename T>
-bool
-BD_Shape<T>::is_shortest_path_reduced() const {
-  // If the BDS is empty, it is also reduced.
-  if (marked_empty())
-    return true;
+    \param bd
+    The BD shape used to build the polyhedron.
 
-  const dimension_type space_dim = space_dimension();
-  // Zero-dimensional BDSs are necessarily reduced.
-  if (space_dim == 0)
-    return true;
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // A shortest-path reduced dbm is just a dbm with an indication of
-  // those constraints that are redundant. If there is no indication
-  // of the redundant constraints, then it cannot be reduced.
-  if (!marked_shortest_path_reduced())
-    return false;
+  //! Builds a NNC polyhedron out of an octagonal shape.
+  /*!
+    The polyhedron inherits the space dimension of the octagonal shape
+    and is the most precise that includes the octagonal shape.
 
-  const BD_Shape x_copy = *this;
-  x_copy.shortest_path_closure_assign();
-  // If we just discovered emptiness, it cannot be reduced.
-  if (x_copy.marked_empty())
-    return false;
+    \param os
+    The octagonal shape used to build the polyhedron.
 
-  // The vector `leader' is used to indicate which variables are equivalent.
-  std::vector<dimension_type> leader(space_dim + 1);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  template <typename U>
+  explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // We store the leader.
-  for (dimension_type i = space_dim + 1; i-- > 0; )
-    leader[i] = i;
+  //! Ordinary copy constructor.
+  NNC_Polyhedron(const NNC_Polyhedron& y,
+                 Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Step 1: we store really the leader with the corrected value.
-  // We search for the equivalent or zero-equivalent variables.
-  // The variable(i-1) and variable(j-1) are equivalent if and only if
-  // m_i_j == -(m_j_i).
-  for (dimension_type i = 0; i < space_dim; ++i) {
-    const DB_Row<N>& x_copy_dbm_i = x_copy.dbm[i];
-    for (dimension_type j = i + 1; j <= space_dim; ++j)
-      if (is_additive_inverse(x_copy.dbm[j][i], x_copy_dbm_i[j]))
-        // Two equivalent variables have got the same leader
-        // (the smaller variable).
-        leader[j] = leader[i];
-  }
+  /*! \brief
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
+  */
+  NNC_Polyhedron& operator=(const NNC_Polyhedron& y);
 
-  // Step 2: we check if there are redundant constraints in the zero_cycle
-  // free bounded difference shape, considering only the leaders.
-  // A constraint `c' is redundant, when there are two constraints such that
-  // their sum is the same constraint with the inhomogeneous term
-  // less than or equal to the `c' one.
-  PPL_DIRTY_TEMP(N, c);
-  for (dimension_type k = 0; k <= space_dim; ++k)
-    if (leader[k] == k) {
-      const DB_Row<N>& x_k = x_copy.dbm[k];
-      for (dimension_type i = 0; i <= space_dim; ++i)
-        if (leader[i] == i) {
-          const DB_Row<N>& x_i = x_copy.dbm[i];
-          const Bit_Row& redundancy_i = redundancy_dbm[i];
-          const N& x_i_k = x_i[k];
-          for (dimension_type j = 0; j <= space_dim; ++j)
-            if (leader[j] == j) {
-              const N& x_i_j = x_i[j];
-              if (!is_plus_infinity(x_i_j)) {
-                add_assign_r(c, x_i_k, x_k[j], ROUND_UP);
-                if (x_i_j >= c && !redundancy_i[j])
-                  return false;
-              }
-            }
-        }
-    }
+  //! Assigns to \p *this the C polyhedron \p y.
+  NNC_Polyhedron& operator=(const C_Polyhedron& y);
 
-  // The vector `var_conn' is used to check if there is a single cycle
-  // that connected all zero-equivalent variables between them.
-  // The value `space_dim + 1' is used to indicate that the equivalence
-  // class contains a single variable.
-  std::vector<dimension_type> var_conn(space_dim + 1);
-  for (dimension_type i = space_dim + 1; i-- > 0; )
-    var_conn[i] = space_dim + 1;
+  //! Destructor.
+  ~NNC_Polyhedron();
 
-  // Step 3: we store really the `var_conn' with the right value, putting
-  // the variable with the selected variable is connected:
-  // we check the row of each variable:
-  // a- each leader could be connected with only zero-equivalent one,
-  // b- each no-leader with only another zero-equivalent one.
-  for (dimension_type i = 0; i <= space_dim; ++i) {
-    // It count with how many variables the selected variable is
-    // connected.
-    dimension_type t = 0;
-    dimension_type ld_i = leader[i];
-    // Case a: leader.
-    if (ld_i == i) {
-      for (dimension_type j = 0; j <= space_dim; ++j) {
-        dimension_type ld_j = leader[j];
-        // Only the connectedness with equivalent variables
-        // is considered.
-        if (j != ld_j)
-          if (!redundancy_dbm[i][j]) {
-            if (t == 1)
-              // Two no-leaders couldn't connected with the same leader.
-              return false;
-            else
-              if (ld_j != i)
-                // The variables isn't in the same equivalence class.
-                return false;
-              else {
-                ++t;
-                var_conn[i] = j;
-              }
-          }
-      }
-    }
-    // Case b: no-leader.
-    else {
-      for (dimension_type j = 0; j <= space_dim; ++j) {
-        if (!redundancy_dbm[i][j]) {
-          dimension_type ld_j = leader[j];
-          if (ld_i != ld_j)
-            // The variables isn't in the same equivalence class.
-            return false;
-          else {
-            if (t == 1)
-              // Two variables couldn't connected with the same leader.
-              return false;
-            else {
-              ++t;
-              var_conn[i] = j;
-            }
-          }
-          // A no-leader must be connected with
-          // another variable.
-          if (t == 0)
-            return false;
-        }
-      }
-    }
-  }
+  /*! \brief
+    If the poly-hull of \p *this and \p y is exact it is assigned
+    to \p *this and <CODE>true</CODE> is returned,
+    otherwise <CODE>false</CODE> is returned.
 
-  // The vector `just_checked' is used to check if
-  // a variable is already checked.
-  std::vector<bool> just_checked(space_dim + 1);
-  for (dimension_type i = space_dim + 1; i-- > 0; )
-    just_checked[i] = false;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
 
-  // Step 4: we check if there are single cycles that
-  // connected all the zero-equivalent variables between them.
-  for (dimension_type i = 0; i <= space_dim; ++i) {
-    bool jc_i = just_checked[i];
-    // We do not re-check the already considered single cycles.
-    if (!jc_i) {
-      dimension_type v_con = var_conn[i];
-      // We consider only the equivalence classes with
-      // 2 or plus variables.
-      if (v_con != space_dim + 1) {
-        // There is a single cycle if taken a variable,
-        // we return to this same variable.
-        while (v_con != i) {
-          just_checked[v_con] = true;
-          v_con = var_conn[v_con];
-          // If we re-pass to an already considered variable,
-          // then we haven't a single cycle.
-          if (just_checked[v_con])
-            return false;
-        }
-      }
-    }
-    just_checked[i] = true;
-  }
+  //! Same as poly_hull_assign_if_exact(y).
+  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
+};
 
-  // The system bounded differences is just reduced.
-  return true;
-}
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 1. */
+/* NNC_Polyhedron class implementation: inline functions.
+*/
 
-template <typename T>
-bool
-BD_Shape<T>::bounds(const Linear_Expression& expr,
-                    const bool from_above) const {
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  const dimension_type space_dim = space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((from_above
-                                  ? "bounds_from_above(e)"
-                                  : "bounds_from_below(e)"), "e", expr);
 
-  shortest_path_closure_assign();
-  // A zero-dimensional or empty BDS bounds everything.
-  if (space_dim == 0 || marked_empty())
-    return true;
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 28. */
 
-  // The constraint `c' is used to check if `expr' is a difference
-  // bounded and, in this case, to select the cell.
-  const Constraint& c = from_above ? expr <= 0 : expr >= 0;
-  const dimension_type c_space_dim = c.space_dimension();
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  // Check if `c' is a BD constraint.
-  if (extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
-    if (num_vars == 0)
-      // Dealing with a trivial constraint.
-      return true;
-    // Select the cell to be checked.
-    const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
-    return !is_plus_infinity(x);
-  }
-  else {
-    // Not a DB constraint: use the MIP solver.
-    Optimization_Mode mode_bounds
-      = from_above ? MAXIMIZATION : MINIMIZATION;
-    MIP_Problem mip(space_dim, constraints(), expr, mode_bounds);
-    // Problem is known to be feasible.
-    return mip.solve() == OPTIMIZED_MIP_PROBLEM;
-  }
+namespace Parma_Polyhedra_Library {
+
+inline
+NNC_Polyhedron::~NNC_Polyhedron() {
 }
 
-template <typename T>
-bool
-BD_Shape<T>::max_min(const Linear_Expression& expr,
-                     const bool maximize,
-                     Coefficient& ext_n, Coefficient& ext_d,
-                     bool& included) const {
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((maximize
-                                  ? "maximize(e, ...)"
-                                  : "minimize(e, ...)"), "e", expr);
-  // Deal with zero-dim BDS first.
-  if (space_dim == 0) {
-    if (marked_empty())
-      return false;
-    else {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      return true;
-    }
-  }
+inline
+NNC_Polyhedron::NNC_Polyhedron(dimension_type num_dimensions,
+			       Degenerate_Element kind)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_space_dimension_overflow(num_dimensions,
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(n, k)",
+                                              "n exceeds the maximum "
+                                              "allowed space dimension"),
+	       kind) {
+}
 
-  shortest_path_closure_assign();
-  // For an empty BDS we simply return false.
-  if (marked_empty())
-    return false;
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Constraint_System& cs)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(cs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(cs)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
 
-  // The constraint `c' is used to check if `expr' is a difference
-  // bounded and, in this case, to select the cell.
-  const Constraint& c = maximize ? expr <= 0 : expr >= 0;
-  const dimension_type c_space_dim = c.space_dimension();
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  // Check if `c' is a BD constraint.
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
-    Optimization_Mode mode_max_min
-      = maximize ? MAXIMIZATION : MINIMIZATION;
-    MIP_Problem mip(space_dim, constraints(), expr, mode_max_min);
-    if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
-      mip.optimal_value(ext_n, ext_d);
-      included = true;
-      return true;
-    }
-    else
-      // Here`expr' is unbounded in `*this'.
-      return false;
-  }
-  else {
-    // Here `expr' is a bounded difference.
-    if (num_vars == 0) {
-      // Dealing with a trivial expression.
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      return true;
-    }
+inline
+NNC_Polyhedron::NNC_Polyhedron(Constraint_System& cs, Recycle_Input)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(cs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(cs, recycle)",
+                                                  "the space dimension of cs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
+	       Recycle_Input()) {
+}
 
-    // Select the cell to be checked.
-    const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
-    if (!is_plus_infinity(x)) {
-      // Compute the maximize/minimize of `expr'.
-      PPL_DIRTY_TEMP(N, d);
-      const Coefficient& b = expr.inhomogeneous_term();
-      PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-      neg_assign(minus_b, b);
-      const Coefficient& sc_b = maximize ? b : minus_b;
-      assign_r(d, sc_b, ROUND_UP);
-      // Set `coeff_expr' to the absolute value of coefficient of
-      // a variable in `expr'.
-      PPL_DIRTY_TEMP(N, coeff_expr);
-      const Coefficient& coeff_i = expr.coefficient(Variable(i-1));
-      const int sign_i = sgn(coeff_i);
-      if (sign_i > 0)
-        assign_r(coeff_expr, coeff_i, ROUND_UP);
-      else {
-        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
-        neg_assign(minus_coeff_i, coeff_i);
-        assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
-      }
-      // Approximating the maximum/minimum of `expr'.
-      add_mul_assign_r(d, coeff_expr, x, ROUND_UP);
-      numer_denom(d, ext_n, ext_d);
-      if (!maximize)
-        neg_assign(ext_n);
-      included = true;
-      return true;
-    }
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Generator_System& gs)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(gs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(gs)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
 
-    // `expr' is unbounded.
-    return false;
-  }
+inline
+NNC_Polyhedron::NNC_Polyhedron(Generator_System& gs, Recycle_Input)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(gs, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(gs, recycle)",
+                                                  "the space dimension of gs "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension"),
+	       Recycle_Input()) {
 }
 
-template <typename T>
-bool
-BD_Shape<T>::max_min(const Linear_Expression& expr,
-                     const bool maximize,
-                     Coefficient& ext_n, Coefficient& ext_d,
-                     bool& included,
-                     Generator& g) const {
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((maximize
-                                  ? "maximize(e, ...)"
-                                  : "minimize(e, ...)"), "e", expr);
-  // Deal with zero-dim BDS first.
-  if (space_dim == 0) {
-    if (marked_empty())
-      return false;
-    else {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      g = point();
-      return true;
-    }
-  }
+template <typename Interval>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>& box, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_obj_space_dimension_overflow(box, NOT_NECESSARILY_CLOSED,
+                                                  "NNC_Polyhedron(box)",
+                                                  "the space dimension of box "
+                                                  "exceeds the maximum allowed "
+                                                  "space dimension")) {
+}
 
-  shortest_path_closure_assign();
-  // For an empty BDS we simply return false.
-  if (marked_empty())
-    return false;
+template <typename U>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const BD_Shape<U>& bd, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_space_dimension_overflow(bd.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(bd)",
+                                              "the space dimension of bd "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
+               UNIVERSE) {
+  add_constraints(bd.constraints());
+}
 
-  Optimization_Mode mode_max_min
-    = maximize ? MAXIMIZATION : MINIMIZATION;
-  MIP_Problem mip(space_dim, constraints(), expr, mode_max_min);
-  if (mip.solve() == OPTIMIZED_MIP_PROBLEM) {
-    g = mip.optimizing_point();
-    mip.evaluate_objective_function(g, ext_n, ext_d);
-    included = true;
-    return true;
-  }
-  // Here `expr' is unbounded in `*this'.
-  return false;
+template <typename U>
+inline
+NNC_Polyhedron::NNC_Polyhedron(const Octagonal_Shape<U>& os, Complexity_Class)
+  : Polyhedron(NOT_NECESSARILY_CLOSED,
+               check_space_dimension_overflow(os.space_dimension(),
+                                              NOT_NECESSARILY_CLOSED,
+                                              "NNC_Polyhedron(os)",
+                                              "the space dimension of os "
+                                              "exceeds the maximum allowed "
+                                              "space dimension"),
+               UNIVERSE) {
+  add_constraints(os.constraints());
 }
 
-template <typename T>
-Poly_Con_Relation
-BD_Shape<T>::relation_with(const Congruence& cg) const {
-  const dimension_type space_dim = space_dimension();
+inline
+NNC_Polyhedron::NNC_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
+  : Polyhedron(y) {
+}
 
-  // Dimension-compatibility check.
-  if (cg.space_dimension() > space_dim)
-    throw_dimension_incompatible("relation_with(cg)", cg);
+inline NNC_Polyhedron&
+NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
+  Polyhedron::operator=(y);
+  return *this;
+}
 
-  // If the congruence is an equality, find the relation with
-  // the equivalent equality constraint.
-  if (cg.is_equality()) {
-    Constraint c(cg);
-    return relation_with(c);
-  }
+inline NNC_Polyhedron&
+NNC_Polyhedron::operator=(const C_Polyhedron& y) {
+  NNC_Polyhedron nnc_y(y);
+  m_swap(nnc_y);
+  return *this;
+}
 
-  shortest_path_closure_assign();
+inline bool
+NNC_Polyhedron::upper_bound_assign_if_exact(const NNC_Polyhedron& y) {
+  return poly_hull_assign_if_exact(y);
+}
 
-  if (marked_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
+} // namespace Parma_Polyhedra_Library
 
-  if (space_dim == 0) {
-    if (cg.is_inconsistent())
-      return Poly_Con_Relation::is_disjoint();
-    else
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_included();
-  }
+/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 255. */
 
-  // Find the lower bound for a hyperplane with direction
-  // defined by the congruence.
-  Linear_Expression le = Linear_Expression(cg);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
-  bool min_included;
-  bool bounded_below = minimize(le, min_num, min_den, min_included);
+/* Automatically generated from PPL source file ../src/Rational_Box.hh line 1. */
+/* Rational_Box class declaration and implementation.
+*/
 
-  // If there is no lower bound, then some of the hyperplanes defined by
-  // the congruence will strictly intersect the shape.
-  if (!bounded_below)
-    return Poly_Con_Relation::strictly_intersects();
 
-  // TODO: Consider adding a max_and_min() method, performing both
-  // maximization and minimization so as to possibly exploit
-  // incrementality of the MIP solver.
+/* Automatically generated from PPL source file ../src/Rational_Box.hh line 29. */
 
-  // Find the upper bound for a hyperplane with direction
-  // defined by the congruence.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
-  bool max_included;
-  bool bounded_above = maximize(le, max_num, max_den, max_included);
+namespace Parma_Polyhedra_Library {
 
-  // If there is no upper bound, then some of the hyperplanes defined by
-  // the congruence will strictly intersect the shape.
-  if (!bounded_above)
-    return Poly_Con_Relation::strictly_intersects();
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A box with rational, possibly open boundaries.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+typedef Box<Rational_Interval> Rational_Box;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(signed_distance);
+} // namespace Parma_Polyhedra_Library
 
-  // Find the position value for the hyperplane that satisfies the congruence
-  // and is above the lower bound for the shape.
-  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  min_value = min_num / min_den;
-  const Coefficient& modulus = cg.modulus();
-  signed_distance = min_value % modulus;
-  min_value -= signed_distance;
-  if (min_value * min_den < min_num)
-    min_value += modulus;
+/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 34. */
+#include <algorithm>
 
-  // Find the position value for the hyperplane that satisfies the congruence
-  // and is below the upper bound for the shape.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  max_value = max_num / max_den;
-  signed_distance = max_value % modulus;
-  max_value += signed_distance;
-  if (max_value * max_den > max_num)
-    max_value -= modulus;
+namespace Parma_Polyhedra_Library {
 
-  // If the upper bound value is less than the lower bound value,
-  // then there is an empty intersection with the congruence;
-  // otherwise it will strictly intersect.
-  if (max_value < min_value)
-    return Poly_Con_Relation::is_disjoint();
-  else
-    return Poly_Con_Relation::strictly_intersects();
+//! Returns the maximum space dimension this library can handle.
+inline dimension_type
+max_space_dimension() {
+  // Note: we assume that the powerset and the ask-and-tell construction
+  // do not limit the space dimension more than their parameters.
+  static bool computed = false;
+  static dimension_type d = not_a_dimension();
+  if (!computed) {
+    d = Variable::max_space_dimension();
+    d = std::min(d, C_Polyhedron::max_space_dimension());
+    d = std::min(d, NNC_Polyhedron::max_space_dimension());
+    d = std::min(d, Grid::max_space_dimension());
+    // FIXME: what about all other boxes?
+    d = std::min(d, Rational_Box::max_space_dimension());
+    d = std::min(d, BD_Shape<int8_t>::max_space_dimension());
+    d = std::min(d, BD_Shape<int16_t>::max_space_dimension());
+    d = std::min(d, BD_Shape<int32_t>::max_space_dimension());
+    d = std::min(d, BD_Shape<int64_t>::max_space_dimension());
+    d = std::min(d, BD_Shape<float>::max_space_dimension());
+    d = std::min(d, BD_Shape<double>::max_space_dimension());
+    d = std::min(d, BD_Shape<long double>::max_space_dimension());
+    d = std::min(d, BD_Shape<mpz_class>::max_space_dimension());
+    d = std::min(d, BD_Shape<mpq_class>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<int8_t>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<int16_t>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<int32_t>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<int64_t>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<float>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<double>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<long double>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<mpz_class>::max_space_dimension());
+    d = std::min(d, Octagonal_Shape<mpq_class>::max_space_dimension());
+    computed = true;
+  }
+  return d;
 }
 
+} // namespace Parma_Polyhedra_Library
 
-template <typename T>
-Poly_Con_Relation
-BD_Shape<T>::relation_with(const Constraint& c) const {
-  const dimension_type c_space_dim = c.space_dimension();
-  const dimension_type space_dim = space_dimension();
+/* Automatically generated from PPL source file ../src/algorithms.hh line 1. */
+/* A collection of useful convex polyhedra algorithms: inline functions.
+*/
 
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(c)", c);
 
-  shortest_path_closure_assign();
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1. */
+/* Pointset_Powerset class declaration.
+*/
 
-  if (marked_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
 
-  if (space_dim == 0) {
-    if ((c.is_equality() && c.inhomogeneous_term() != 0)
-        || (c.is_inequality() && c.inhomogeneous_term() < 0))
-      return Poly_Con_Relation::is_disjoint();
-    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
-      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
-      // thus, the zero-dimensional point also saturates it.
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_disjoint();
-    else if (c.is_equality() || c.inhomogeneous_term() == 0)
-      return Poly_Con_Relation::saturates()
-        && Poly_Con_Relation::is_included();
-    else
-      // The zero-dimensional point saturates
-      // neither the positivity constraint 1 >= 0,
-      // nor the strict positivity constraint 1 > 0.
-      return Poly_Con_Relation::is_included();
-  }
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.types.hh line 1. */
 
-  dimension_type num_vars = 0;
-  dimension_type i = 0;
-  dimension_type j = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  if (!extract_bounded_difference(c, c_space_dim, num_vars, i, j, coeff)) {
-    // Constraints that are not bounded differences.
-    // Use maximize() and minimize() to do much of the work.
 
-    // Find the linear expression for the constraint and use that to
-    // find if the expression is bounded from above or below and if it
-    // is, find the maximum and minimum values.
-    Linear_Expression le;
-    for (dimension_type k = c_space_dim; k-- > 0; ) {
-      Variable vk(k);
-      le += c.coefficient(vk) * vk;
-    }
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
-    bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
-    bool min_included;
-    bool bounded_above = maximize(le, max_num, max_den, max_included);
-    bool bounded_below = minimize(le, min_num, min_den, min_included);
-    if (!bounded_above) {
-      if (!bounded_below)
-        return Poly_Con_Relation::strictly_intersects();
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(min_num)) {
-      case 1:
-        if (c.is_equality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::is_included();
-      case 0:
-        if (c.is_strict_inequality() || c.is_equality())
-          return  Poly_Con_Relation::strictly_intersects();
-        return  Poly_Con_Relation::is_included();
-      case -1:
-        return  Poly_Con_Relation::strictly_intersects();
-      }
-    }
-    if (!bounded_below) {
-      max_num += c.inhomogeneous_term() * max_den;
-      switch (sgn(max_num)) {
-      case 1:
-        return  Poly_Con_Relation::strictly_intersects();
-      case 0:
-        if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
-      case -1:
-        return  Poly_Con_Relation::is_disjoint();
-      }
-    }
-    else {
-      max_num += c.inhomogeneous_term() * max_den;
-      min_num += c.inhomogeneous_term() * min_den;
-      switch (sgn(max_num)) {
-      case 1:
-        switch (sgn(min_num)) {
-        case 1:
-          if (c.is_equality())
-            return  Poly_Con_Relation::is_disjoint();
-          return  Poly_Con_Relation::is_included();
-        case 0:
-          if (c.is_equality())
-            return  Poly_Con_Relation::strictly_intersects();
-          if (c.is_strict_inequality())
-            return  Poly_Con_Relation::strictly_intersects();
-          return  Poly_Con_Relation::is_included();
-        case -1:
-          return  Poly_Con_Relation::strictly_intersects();
-        }
-     case 0:
-        if (min_num == 0) {
-          if (c.is_strict_inequality())
-            return  Poly_Con_Relation::is_disjoint()
-              && Poly_Con_Relation::saturates();
-          return  Poly_Con_Relation::is_included()
-            && Poly_Con_Relation::saturates();
-        }
-        if (c.is_strict_inequality())
-          return  Poly_Con_Relation::is_disjoint();
-        return  Poly_Con_Relation::strictly_intersects();
-      case -1:
-        return  Poly_Con_Relation::is_disjoint();
-      }
-    }
-  }
+namespace Parma_Polyhedra_Library {
 
-  // Constraints that are bounded differences.
-  if (num_vars == 0) {
-    // Dealing with a trivial constraint.
-    switch (sgn(c.inhomogeneous_term())) {
-    case -1:
-      return Poly_Con_Relation::is_disjoint();
-    case 0:
-      if (c.is_strict_inequality())
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_included();
-    case 1:
-      if (c.is_equality())
-        return Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::is_included();
-    }
-  }
+template <typename PSET>
+class Pointset_Powerset;
 
-  // Select the cell to be checked for the "<=" part of the constraint,
-  // and set `coeff' to the absolute value of itself.
-  const bool negative = (coeff < 0);
-  const N& x = negative ? dbm[i][j] : dbm[j][i];
-  const N& y = negative ? dbm[j][i] : dbm[i][j];
-  if (negative)
-    neg_assign(coeff);
-  // Deduce the relation/s of the constraint `c' of the form
-  // `coeff*v - coeff*u </<=/== c.inhomogeneous_term()'
-  // with the respectively constraints in `*this'
-  // `-y <= v - u <= x'.
-  // Let `d == c.inhomogeneous_term()/coeff'
-  // and `d1 == -c.inhomogeneous_term()/coeff'.
-  // The following variables of mpq_class type are used to be precise
-  // when the bds is defined by integer constraints.
-  PPL_DIRTY_TEMP0(mpq_class, q_x);
-  PPL_DIRTY_TEMP0(mpq_class, q_y);
-  PPL_DIRTY_TEMP0(mpq_class, d);
-  PPL_DIRTY_TEMP0(mpq_class, d1);
-  PPL_DIRTY_TEMP0(mpq_class, c_den);
-  PPL_DIRTY_TEMP0(mpq_class, q_den);
-  assign_r(c_den, coeff, ROUND_NOT_NEEDED);
-  assign_r(d, c.inhomogeneous_term(), ROUND_NOT_NEEDED);
-  neg_assign_r(d1, d, ROUND_NOT_NEEDED);
-  div_assign_r(d, d, c_den, ROUND_NOT_NEEDED);
-  div_assign_r(d1, d1, c_den, ROUND_NOT_NEEDED);
+} // namespace Parma_Polyhedra_Library
 
-  if (is_plus_infinity(x)) {
-    if (!is_plus_infinity(y)) {
-      // `*this' is in the following form:
-      // `-y <= v - u'.
-      // In this case `*this' is disjoint from `c' if
-      // `-y > d' (`-y >= d' if c is a strict equality), i.e. if
-      // `y < d1' (`y <= d1' if c is a strict equality).
-      PPL_DIRTY_TEMP_COEFFICIENT(numer);
-      PPL_DIRTY_TEMP_COEFFICIENT(denom);
-      numer_denom(y, numer, denom);
-      assign_r(q_den, denom, ROUND_NOT_NEEDED);
-      assign_r(q_y, numer, ROUND_NOT_NEEDED);
-      div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
-      if (q_y < d1)
-        return Poly_Con_Relation::is_disjoint();
-      if (q_y == d1 && c.is_strict_inequality())
-        return Poly_Con_Relation::is_disjoint();
-    }
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1. */
+/* Partially_Reduced_Product class declaration.
+*/
 
-    // In all other cases `*this' intersects `c'.
-    return Poly_Con_Relation::strictly_intersects();
-  }
 
-  // Here `x' is not plus-infinity.
-  PPL_DIRTY_TEMP_COEFFICIENT(numer);
-  PPL_DIRTY_TEMP_COEFFICIENT(denom);
-  numer_denom(x, numer, denom);
-  assign_r(q_den, denom, ROUND_NOT_NEEDED);
-  assign_r(q_x, numer, ROUND_NOT_NEEDED);
-  div_assign_r(q_x, q_x, q_den, ROUND_NOT_NEEDED);
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 49. */
 
-  if (!is_plus_infinity(y)) {
-    numer_denom(y, numer, denom);
-    assign_r(q_den, denom, ROUND_NOT_NEEDED);
-    assign_r(q_y, numer, ROUND_NOT_NEEDED);
-    div_assign_r(q_y, q_y, q_den, ROUND_NOT_NEEDED);
-    if (q_x == d && q_y == d1) {
-      if (c.is_strict_inequality())
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_disjoint();
-      else
-        return Poly_Con_Relation::saturates()
-          && Poly_Con_Relation::is_included();
-    }
-    // `*this' is disjoint from `c' when
-    // `-y > d' (`-y >= d' if c is a strict equality), i.e. if
-    // `y < d1' (`y <= d1' if c is a strict equality).
-    if (q_y < d1)
-      return Poly_Con_Relation::is_disjoint();
-    if (q_y == d1 && c.is_strict_inequality())
-      return Poly_Con_Relation::is_disjoint();
-  }
+namespace Parma_Polyhedra_Library {
 
-  // Here `y' can be also plus-infinity.
-  // If `c' is an equality, `*this' is disjoint from `c' if
-  // `x < d'.
-  if (d > q_x) {
-    if (c.is_equality())
-      return Poly_Con_Relation::is_disjoint();
-    else
-      return Poly_Con_Relation::is_included();
-  }
+namespace IO_Operators {
 
-  if (d == q_x && c.is_nonstrict_inequality())
-    return Poly_Con_Relation::is_included();
+//! Output operator.
+/*!
+  \relates Parma_Polyhedra_Library::Partially_Reduced_Product
+  Writes a textual representation of \p dp on \p s.
+*/
+template <typename D1, typename D2, typename R>
+std::ostream&
+operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
 
-  // In all other cases `*this' intersects `c'.
-  return Poly_Con_Relation::strictly_intersects();
-}
+} // namespace IO_Operators
+
+//! Swaps \p x with \p y.
+/*! \relates Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+void swap(Partially_Reduced_Product<D1, D2, R>& x,
+	  Partially_Reduced_Product<D1, D2, R>& y);
 
-template <typename T>
-Poly_Gen_Relation
-BD_Shape<T>::relation_with(const Generator& g) const {
-  const dimension_type space_dim = space_dimension();
-  const dimension_type g_space_dim = g.space_dimension();
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
+  are pairwise equal.
 
-  // Dimension-compatibility check.
-  if (space_dim < g_space_dim)
-    throw_dimension_incompatible("relation_with(g)", g);
+  \relates Partially_Reduced_Product
+  Note that \p x and \p y may be dimension-incompatible: in
+  those cases, the value <CODE>false</CODE> is returned.
+*/
+template <typename D1, typename D2, typename R>
+bool operator==(const Partially_Reduced_Product<D1, D2, R>& x,
+		const Partially_Reduced_Product<D1, D2, R>& y);
 
-  shortest_path_closure_assign();
-  // The empty BDS cannot subsume a generator.
-  if (marked_empty())
-    return Poly_Gen_Relation::nothing();
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
+  are not pairwise equal.
 
-  // A universe BDS in a zero-dimensional space subsumes
-  // all the generators of a zero-dimensional space.
-  if (space_dim == 0)
-    return Poly_Gen_Relation::subsumes();
+  \relates Partially_Reduced_Product
+  Note that \p x and \p y may be dimension-incompatible: in
+  those cases, the value <CODE>true</CODE> is returned.
+*/
+template <typename D1, typename D2, typename R>
+bool operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
+		const Partially_Reduced_Product<D1, D2, R>& y);
 
-  const bool is_line = g.is_line();
-  const bool is_line_or_ray = g.is_line_or_ray();
+} // namespace Parma_Polyhedra_Library
 
-  // The relation between the BDS and the given generator is obtained
-  // checking if the generator satisfies all the constraints in the BDS.
-  // To check if the generator satisfies all the constraints it's enough
-  // studying the sign of the scalar product between the generator and
-  // all the constraints in the BDS.
 
-  // Allocation of temporaries done once and for all.
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  PPL_DIRTY_TEMP_COEFFICIENT(product);
-  // We find in `*this' all the constraints.
-  for (dimension_type i = 0; i <= space_dim; ++i) {
-    const Coefficient& g_coeff_y = (i > g_space_dim || i == 0)
-      ? Coefficient_zero() : g.coefficient(Variable(i-1));
-    const DB_Row<N>& dbm_i = dbm[i];
-    for (dimension_type j = i + 1; j <= space_dim; ++j) {
-      const Coefficient& g_coeff_x = (j > g_space_dim)
-        ? Coefficient_zero() : g.coefficient(Variable(j-1));
-      const N& dbm_ij = dbm_i[j];
-      const N& dbm_ji = dbm[j][i];
-      if (is_additive_inverse(dbm_ji, dbm_ij)) {
-        // We have one equality constraint: den*x - den*y = num.
-        // Compute the scalar product.
-        numer_denom(dbm_ij, num, den);
-        product = 0;
-        add_mul_assign(product, den, g_coeff_y);
-        add_mul_assign(product, -den, g_coeff_x);
-        if (!is_line_or_ray)
-          add_mul_assign(product, num, g.divisor());
-        if (product != 0)
-          return Poly_Gen_Relation::nothing();
-      }
-      else {
-        // We have 0, 1 or 2 binary inequality constraint/s.
-        if (!is_plus_infinity(dbm_ij)) {
-          // We have the binary inequality constraint: den*x - den*y <= num.
-          // Compute the scalar product.
-          numer_denom(dbm_ij, num, den);
-          product = 0;
-          add_mul_assign(product, den, g_coeff_y);
-          add_mul_assign(product, -den, g_coeff_x);
-          if (!is_line_or_ray)
-            add_mul_assign(product, num, g.divisor());
-          if (is_line) {
-            if (product != 0)
-              // Lines must saturate all constraints.
-              return Poly_Gen_Relation::nothing();
-          }
-          else
-            // `g' is either a ray, a point or a closure point.
-            if (product < 0)
-              return Poly_Gen_Relation::nothing();
-        }
+/*! \brief
+  This class provides the reduction method for the Smash_Product
+  domain.
 
-        if (!is_plus_infinity(dbm_ji)) {
-          // We have the binary inequality constraint: den*y - den*x <= b.
-          // Compute the scalar product.
-          numer_denom(dbm_ji, num, den);
-          product = 0;
-          add_mul_assign(product, den, g_coeff_x);
-          add_mul_assign(product, -den, g_coeff_y);
-          if (!is_line_or_ray)
-            add_mul_assign(product, num, g.divisor());
-          if (is_line) {
-            if (product != 0)
-              // Lines must saturate all constraints.
-              return Poly_Gen_Relation::nothing();
-          }
-          else
-            // `g' is either a ray, a point or a closure point.
-            if (product < 0)
-              return Poly_Gen_Relation::nothing();
-        }
-      }
-    }
-  }
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain. This class propagates emptiness between its components.
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Smash_Reduction {
+public:
+  //! Default constructor.
+  Smash_Reduction();
 
-  // The generator satisfies all the constraints.
-  return Poly_Gen_Relation::subsumes();
-}
+  /*! \brief
+    The smash reduction operator for propagating emptiness between the
+    domain elements \p d1 and \p d2.
 
-template <typename T>
-void
-BD_Shape<T>::shortest_path_closure_assign() const {
-  // Do something only if necessary.
-  if (marked_empty() || marked_shortest_path_closed())
-    return;
-  const dimension_type num_dimensions = space_dimension();
-  // Zero-dimensional BDSs are necessarily shortest-path closed.
-  if (num_dimensions == 0)
-    return;
+    If either of the the domain elements \p d1 or \p d2 is empty
+    then the other is also set empty.
 
-  // Even though the BDS will not change, its internal representation
-  // is going to be modified by the Floyd-Warshall algorithm.
-  BD_Shape& x = const_cast<BD_Shape<T>&>(*this);
+    \param d1
+    A pointset domain element;
 
-  // Fill the main diagonal with zeros.
-  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
-    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
-  }
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-  PPL_DIRTY_TEMP(N, sum);
-  for (dimension_type k = num_dimensions + 1; k-- > 0; ) {
-    const DB_Row<N>& x_dbm_k = x.dbm[k];
-    for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
-      DB_Row<N>& x_dbm_i = x.dbm[i];
-      const N& x_dbm_i_k = x_dbm_i[k];
-      if (!is_plus_infinity(x_dbm_i_k))
-        for (dimension_type j = num_dimensions + 1; j-- > 0; ) {
-          const N& x_dbm_k_j = x_dbm_k[j];
-          if (!is_plus_infinity(x_dbm_k_j)) {
-            // Rounding upward for correctness.
-            add_assign_r(sum, x_dbm_i_k, x_dbm_k_j, ROUND_UP);
-            min_assign(x_dbm_i[j], sum);
-          }
-        }
-    }
-  }
+  //! Destructor.
+  ~Smash_Reduction();
+};
 
-  // Check for emptiness: the BDS is empty if and only if there is a
-  // negative value on the main diagonal of `dbm'.
-  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    N& x_dbm_hh = x.dbm[h][h];
-    if (sgn(x_dbm_hh) < 0) {
-      x.set_empty();
-      return;
-    }
-    else {
-      PPL_ASSERT(sgn(x_dbm_hh) == 0);
-      // Restore PLUS_INFINITY on the main diagonal.
-      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    }
-  }
+/*! \brief
+  This class provides the reduction method for the Constraints_Product
+  domain.
 
-  // The BDS is not empty and it is now shortest-path closed.
-  x.set_shortest_path_closed();
-}
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain. This class adds the constraints defining each of the component
+  domains to the other component.
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Constraints_Reduction {
+public:
+  //! Default constructor.
+  Constraints_Reduction();
 
-template <typename T>
-void
-BD_Shape<T>::incremental_shortest_path_closure_assign(Variable var) const {
-  // Do something only if necessary.
-  if (marked_empty() || marked_shortest_path_closed())
-    return;
-  const dimension_type num_dimensions = space_dimension();
-  PPL_ASSERT(var.id() < num_dimensions);
+  /*! \brief
+    The constraints reduction operator for sharing constraints between the
+    domains.
 
-  // Even though the BDS will not change, its internal representation
-  // is going to be modified by the incremental Floyd-Warshall algorithm.
-  BD_Shape& x = const_cast<BD_Shape&>(*this);
+    The minimized constraint system defining the domain element \p d1
+    is added to \p d2 and the minimized constraint system  defining \p d2
+    is added to \p d1.
+    In each case, the donor domain must provide a constraint system
+    in minimal form; this must define a polyhedron in which the
+    donor element is contained.
+    The recipient domain selects a subset of these constraints
+    that it can add to the recipient element.
+    For example: if the domain \p D1 is the Grid domain and \p D2
+    the NNC Polyhedron domain, then only the equality constraints are copied
+    from \p d1 to \p d2 and from \p d2 to \p d1.
 
-  // Fill the main diagonal with zeros.
-  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    PPL_ASSERT(is_plus_infinity(x.dbm[h][h]));
-    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
-  }
+    \param d1
+    A pointset domain element;
 
-  // Using the incremental Floyd-Warshall algorithm.
-  PPL_DIRTY_TEMP(N, sum);
-  const dimension_type v = var.id() + 1;
-  DB_Row<N>& x_v = x.dbm[v];
-  // Step 1: Improve all constraints on variable `var'.
-  for (dimension_type k = num_dimensions + 1; k-- > 0; ) {
-    DB_Row<N>& x_k = x.dbm[k];
-    const N& x_v_k = x_v[k];
-    const N& x_k_v = x_k[v];
-    const bool x_v_k_finite = !is_plus_infinity(x_v_k);
-    const bool x_k_v_finite = !is_plus_infinity(x_k_v);
-    // Specialize inner loop based on finiteness info.
-    if (x_v_k_finite) {
-      if (x_k_v_finite) {
-        // Here both x_v_k and x_k_v are finite.
-        for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
-          DB_Row<N>& x_i = x.dbm[i];
-          const N& x_i_k = x_i[k];
-          if (!is_plus_infinity(x_i_k)) {
-            add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
-            min_assign(x_i[v], sum);
-          }
-          const N& x_k_i = x_k[i];
-          if (!is_plus_infinity(x_k_i)) {
-            add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
-            min_assign(x_v[i], sum);
-          }
-        }
-      }
-      else {
-        // Here x_v_k is finite, but x_k_v is not.
-        for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
-          const N& x_k_i = x_k[i];
-          if (!is_plus_infinity(x_k_i)) {
-            add_assign_r(sum, x_v_k, x_k_i, ROUND_UP);
-            min_assign(x_v[i], sum);
-          }
-        }
-      }
-    }
-    else if (x_k_v_finite) {
-      // Here x_v_k is infinite, but x_k_v is finite.
-      for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
-        DB_Row<N>& x_i = x.dbm[i];
-        const N& x_i_k = x_i[k];
-        if (!is_plus_infinity(x_i_k)) {
-          add_assign_r(sum, x_i_k, x_k_v, ROUND_UP);
-          min_assign(x_i[v], sum);
-        }
-      }
-    }
-    else
-      // Here both x_v_k and x_k_v are infinite.
-      continue;
-  }
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-  // Step 2: improve the other bounds by using the precise bounds
-  // for the constraints on `var'.
-  for (dimension_type i = num_dimensions + 1; i-- > 0; ) {
-    DB_Row<N>& x_i = x.dbm[i];
-    const N& x_i_v = x_i[v];
-    if (!is_plus_infinity(x_i_v)) {
-      for (dimension_type j = num_dimensions + 1; j-- > 0; ) {
-        const N& x_v_j = x_v[j];
-        if (!is_plus_infinity(x_v_j)) {
-          add_assign_r(sum, x_i_v, x_v_j, ROUND_UP);
-          min_assign(x_i[j], sum);
-        }
-      }
-    }
-  }
+  //! Destructor.
+  ~Constraints_Reduction();
+};
 
-  // Check for emptiness: the BDS is empty if and only if there is a
-  // negative value on the main diagonal of `dbm'.
-  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
-    N& x_dbm_hh = x.dbm[h][h];
-    if (sgn(x_dbm_hh) < 0) {
-      x.set_empty();
-      return;
-    }
-    else {
-      PPL_ASSERT(sgn(x_dbm_hh) == 0);
-      // Restore PLUS_INFINITY on the main diagonal.
-      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    }
-  }
+/*! \brief
+  This class provides the reduction method for the Congruences_Product
+  domain.
 
-  // The BDS is not empty and it is now shortest-path closed.
-  x.set_shortest_path_closed();
-}
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
 
-template <typename T>
-void
-BD_Shape<T>::shortest_path_reduction_assign() const {
-  // Do something only if necessary.
-  if (marked_shortest_path_reduced())
-    return;
+  This class uses the minimized congruences defining each of the components.
+  For each of the congruences, it checks if the other component
+  intersects none, one or more than one hyperplane defined by the congruence
+  and adds equalities or emptiness as appropriate; in more detail:
+  Letting the components be d1 and d2, then, for each congruence cg
+  representing d1:
+  - if more than one hyperplane defined by cg intersects
+    d2, then d1 and d2 are unchanged;
+  - if exactly one hyperplane intersects d2, then d1 and d2 are
+    refined with the corresponding equality ;
+  - otherwise, d1 and d2 are set to empty.
+  Unless d1 and d2 are already empty, the process is repeated where the
+  roles of d1 and d2 are reversed.
+  If d1 or d2 is empty, then the emptiness is propagated.
 
-  const dimension_type space_dim = space_dimension();
-  // Zero-dimensional BDSs are necessarily reduced.
-  if (space_dim == 0)
-    return;
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Congruences_Reduction {
+public:
+  //! Default constructor.
+  Congruences_Reduction();
 
-  // First find the tightest constraints for this BDS.
-  shortest_path_closure_assign();
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
 
-  // If `*this' is empty, then there is nothing to reduce.
-  if (marked_empty())
-    return;
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
 
-  // Step 1: compute zero-equivalence classes.
-  // Variables corresponding to indices `i' and `j' are zero-equivalent
-  // if they lie on a zero-weight loop; since the matrix is shortest-path
-  // closed, this happens if and only if dbm[i][j] == -dbm[j][i].
-  std::vector<dimension_type> predecessor;
-  compute_predecessors(predecessor);
-  std::vector<dimension_type> leaders;
-  compute_leader_indices(predecessor, leaders);
-  const dimension_type num_leaders = leaders.size();
+    \param d1
+    A pointset domain element;
 
-  Bit_Matrix redundancy(space_dim + 1, space_dim + 1);
-  // Init all constraints to be redundant.
-  // TODO: provide an appropriate method to set multiple bits.
-  Bit_Row& red_0 = redundancy[0];
-  for (dimension_type j = space_dim + 1; j-- > 0; )
-    red_0.set(j);
-  for (dimension_type i = space_dim + 1; i-- > 0; )
-    redundancy[i] = red_0;
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-  // Step 2: flag non-redundant constraints in the (zero-cycle-free)
-  // subsystem of bounded differences having only leaders as variables.
-  PPL_DIRTY_TEMP(N, c);
-  for (dimension_type l_i = 0; l_i < num_leaders; ++l_i) {
-    const dimension_type i = leaders[l_i];
-    const DB_Row<N>& dbm_i = dbm[i];
-    Bit_Row& redundancy_i = redundancy[i];
-    for (dimension_type l_j = 0; l_j < num_leaders; ++l_j) {
-      const dimension_type j = leaders[l_j];
-      if (redundancy_i[j]) {
-        const N& dbm_i_j = dbm_i[j];
-        redundancy_i.clear(j);
-        for (dimension_type l_k = 0; l_k < num_leaders; ++l_k) {
-          const dimension_type k = leaders[l_k];
-          add_assign_r(c, dbm_i[k], dbm[k][j], ROUND_UP);
-          if (dbm_i_j >= c) {
-            redundancy_i.set(j);
-            break;
-          }
-        }
-      }
-    }
-  }
+  //! Destructor.
+  ~Congruences_Reduction();
+};
 
-  // Step 3: flag non-redundant constraints in zero-equivalence classes.
-  // Each equivalence class must have a single 0-cycle connecting
-  // all the equivalent variables in increasing order.
-  std::deque<bool> dealt_with(space_dim + 1, false);
-  for (dimension_type i = space_dim + 1; i-- > 0; )
-    // We only need to deal with non-singleton zero-equivalence classes
-    // that haven't already been dealt with.
-    if (i != predecessor[i] && !dealt_with[i]) {
-      dimension_type j = i;
-      while (true) {
-        const dimension_type pred_j = predecessor[j];
-        if (j == pred_j) {
-          // We finally found the leader of `i'.
-          PPL_ASSERT(redundancy[i][j]);
-          redundancy[i].clear(j);
-          // Here we dealt with `j' (i.e., `pred_j'), but it is useless
-          // to update `dealt_with' because `j' is a leader.
-          break;
-        }
-        // We haven't found the leader of `i' yet.
-        PPL_ASSERT(redundancy[pred_j][j]);
-        redundancy[pred_j].clear(j);
-        dealt_with[pred_j] = true;
-        j = pred_j;
-      }
-    }
+/*! \brief
+  This class provides the reduction method for the Shape_Preserving_Product
+  domain.
 
-  // Even though shortest-path reduction is not going to change the BDS,
-  // it might change its internal representation.
-  BD_Shape<T>& x = const_cast<BD_Shape<T>&>(*this);
-  std::swap(x.redundancy_dbm, redundancy);
-  x.set_shortest_path_reduced();
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain.
 
-  PPL_ASSERT(is_shortest_path_reduced());
-}
+  This reduction method includes the congruences reduction.
+  This class uses the minimized constraints defining each of the components.
+  For each of the constraints, it checks the frequency and value for the same
+  linear expression in the other component. If the constraint does not satisfy
+  the implied congruence, the inhomogeneous term is adjusted so that it does.
+  Note that, unless the congruences reduction adds equalities, the
+  shapes of the domains are unaltered.
 
-template <typename T>
-void
-BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::Shape_Preserving_Reduction {
+public:
+  //! Default constructor.
+  Shape_Preserving_Reduction();
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("upper_bound_assign(y)", y);
+  /*! \brief
+    The congruences reduction operator for detect emptiness or any equalities
+    implied by each of the congruences defining one of the components
+    and the bounds of the other component. It is assumed that the
+    components are already constraints reduced.
 
-  // The upper bound of a BD shape `bd' with an empty shape is `bd'.
-  y.shortest_path_closure_assign();
-  if (y.marked_empty())
-    return;
-  shortest_path_closure_assign();
-  if (marked_empty()) {
-    *this = y;
-    return;
-  }
+    The minimized congruence system defining the domain element \p d1
+    is used to check if \p d2 intersects none, one or more than one
+    of the hyperplanes defined by the congruences: if it intersects none,
+    then product is set empty; if it intersects one, then the equality
+    defining this hyperplane is added to both components; otherwise,
+    the product is unchanged.
+    In each case, the donor domain must provide a congruence system
+    in minimal form.
 
-  // The bds-hull consists in constructing `*this' with the maximum
-  // elements selected from `*this' and `y'.
-  PPL_ASSERT(space_dim == 0 || marked_shortest_path_closed());
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      N& dbm_ij = dbm_i[j];
-      const N& y_dbm_ij = y_dbm_i[j];
-      if (dbm_ij < y_dbm_ij)
-        dbm_ij = y_dbm_ij;
-    }
-  }
-  // Shortest-path closure is maintained (if it was holding).
-  // TODO: see whether reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
-  PPL_ASSERT(OK());
-}
+    \param d1
+    A pointset domain element;
+
+    \param d2
+    A pointset domain element;
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-template <typename T>
-bool
-BD_Shape<T>::BFT00_upper_bound_assign_if_exact(const BD_Shape& y) {
-  // Declare a const reference to *this (to avoid accidental modifications).
-  const BD_Shape& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+  //! Destructor.
+  ~Shape_Preserving_Reduction();
+};
 
-  // Private method: the caller must ensure the following.
-  PPL_ASSERT(x_space_dim == y.space_dimension());
+/*! \brief
+  This class provides the reduction method for the Direct_Product domain.
 
-  // The zero-dim case is trivial.
-  if (x_space_dim == 0) {
-    upper_bound_assign(y);
-    return true;
-  }
-  // If `x' or `y' is (known to be) empty, the upper bound is exact.
-  if (x.marked_empty()) {
-    *this = y;
-    return true;
-  }
-  else if (y.is_empty())
-    return true;
-  else if (x.is_empty()) {
-    *this = y;
-    return true;
-  }
+  \ingroup PPL_CXX_interface
+  The reduction classes are used to instantiate the Partially_Reduced_Product
+  domain template parameter \p R. This class does no reduction at all.
+*/
+template <typename D1, typename D2>
+class Parma_Polyhedra_Library::No_Reduction {
+public:
+  //! Default constructor.
+  No_Reduction();
 
-  // Here both `x' and `y' are known to be non-empty.
-  // Implementation based on Algorithm 4.1 (page 6) in [BemporadFT00TR],
-  // tailored to the special case of BD shapes.
+  /*! \brief
+    The null reduction operator.
 
-  Variable eps(x_space_dim);
-  Linear_Expression zero_expr = 0*eps;
-  Linear_Expression db_expr;
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
+    The parameters \p d1 and \p d2 are ignored.
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-  // Step 1: compute the constraint system for the envelope env(x,y)
-  // and put into x_cs_removed and y_cs_removed those non-redundant
-  // constraints that are not in the constraint system for env(x,y).
-  // While at it, also add the additional space dimension (eps).
-  Constraint_System env_cs;
-  Constraint_System x_cs_removed;
-  Constraint_System y_cs_removed;
-  x.shortest_path_reduction_assign();
-  y.shortest_path_reduction_assign();
-  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
-    const Bit_Row& x_red_i = x.redundancy_dbm[i];
-    const Bit_Row& y_red_i = y.redundancy_dbm[i];
-    const DB_Row<N>& x_dbm_i = x.dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = x_space_dim + 1; j-- > 0; ) {
-      if (x_red_i[j] && y_red_i[j])
-        continue;
-      if (!x_red_i[j]) {
-        const N& x_dbm_ij = x_dbm_i[j];
-        PPL_ASSERT(!is_plus_infinity(x_dbm_ij));
-        numer_denom(x_dbm_ij, num, den);
-        // Build skeleton DB constraint (having the right space dimension).
-        db_expr = zero_expr;
-        if (i > 0)
-          db_expr += Variable(i-1);
-        if (j > 0)
-          db_expr -= Variable(j-1);
-        if (den != 1)
-          db_expr *= den;
-        db_expr += num;
-        if (x_dbm_ij >= y_dbm_i[j])
-          env_cs.insert(db_expr >= 0);
-        else {
-          db_expr += eps;
-          x_cs_removed.insert(db_expr == 0);
-        }
-      }
-      if (!y_red_i[j]) {
-        const N& y_dbm_ij = y_dbm_i[j];
-        const N& x_dbm_ij = x_dbm_i[j];
-        PPL_ASSERT(!is_plus_infinity(y_dbm_ij));
-        numer_denom(y_dbm_ij, num, den);
-        // Build skeleton DB constraint (having the right space dimension).
-        db_expr = zero_expr;
-        if (i > 0)
-          db_expr += Variable(i-1);
-        if (j > 0)
-          db_expr -= Variable(j-1);
-        if (den != 1)
-          db_expr *= den;
-        db_expr += num;
-        if (y_dbm_ij >= x_dbm_ij) {
-          // Check if same constraint was added when considering x_dbm_ij.
-          if (!x_red_i[j] && x_dbm_ij == y_dbm_ij)
-            continue;
-          env_cs.insert(db_expr >= 0);
-        }
-        else {
-          db_expr += eps;
-          y_cs_removed.insert(db_expr == 0);
-        }
-      }
-    }
-  }
+  //! Destructor.
+  ~No_Reduction();
+};
 
-  if (x_cs_removed.empty())
-    // No constraint of x was removed: y is included in x.
-    return true;
-  if (y_cs_removed.empty()) {
-    // No constraint of y was removed: x is included in y.
-    *this = y;
-    return true;
-  }
+//! The partially reduced product of two abstractions.
+/*! \ingroup PPL_CXX_interface
 
-  // In preparation to Step 4: build the common part of LP problems,
-  // i.e., the constraints corresponding to env(x,y),
-  // where the additional space dimension (eps) has to be maximised.
-  MIP_Problem env_lp(x_space_dim + 1, env_cs, eps, MAXIMIZATION);
-  // Pre-solve `env_lp' to later exploit incrementality.
-  env_lp.solve();
-  PPL_ASSERT(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
+  \warning
+  At present, the supported instantiations for the
+  two domain templates \p D1 and \p D2 are the simple pointset domains:
+  <CODE>C_Polyhedron</CODE>,
+  <CODE>NNC_Polyhedron</CODE>,
+  <CODE>Grid</CODE>,
+  <CODE>Octagonal_Shape<T></CODE>,
+  <CODE>BD_Shape<T></CODE>,
+  <CODE>Box<T></CODE>.
 
-  // Implementing loop in Steps 3-6.
-  for (Constraint_System::const_iterator i = x_cs_removed.begin(),
-         i_end = x_cs_removed.end(); i != i_end; ++i) {
-    MIP_Problem lp_i(env_lp);
-    lp_i.add_constraint(*i);
-    // Pre-solve to exploit incrementality.
-    if (lp_i.solve() == UNFEASIBLE_MIP_PROBLEM)
-      continue;
-    for (Constraint_System::const_iterator j = y_cs_removed.begin(),
-           j_end = y_cs_removed.end(); j != j_end; ++j) {
-      MIP_Problem lp_ij(lp_i);
-      lp_ij.add_constraint(*j);
-      // Solve and check for a positive optimal value.
-      switch (lp_ij.solve()) {
-      case UNFEASIBLE_MIP_PROBLEM:
-        // CHECKME: is the following actually impossible?
-        throw std::runtime_error("PPL internal error");
-      case UNBOUNDED_MIP_PROBLEM:
-        return false;
-      case OPTIMIZED_MIP_PROBLEM:
-        lp_ij.optimal_value(num, den);
-        if (num > 0)
-          return false;
-        break;
-      }
-    }
-  }
+  An object of the class <CODE>Partially_Reduced_Product<D1, D2, R></CODE>
+  represents the (partially reduced) product of two pointset domains \p D1
+  and \p D2 where the form of any reduction is defined by the
+  reduction class \p R.
 
-  // The upper bound of x and y is indeed exact.
-  upper_bound_assign(y);
-  PPL_ASSERT(OK());
-  return true;
-}
+  Suppose \f$D_1\f$ and \f$D_2\f$ are two abstract domains
+  with concretization functions:
+  \f$\fund{\gamma_1}{D_1}{\Rset^n}\f$ and
+  \f$\fund{\gamma_2}{D_2}{\Rset^n}\f$, respectively.
 
-template <typename T>
-template <bool integer_upper_bound>
-bool
-BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
-  PPL_COMPILE_TIME_CHECK(!integer_upper_bound
-                         || std::numeric_limits<T>::is_integer,
-                         "BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(y):"
-                         " instantiating for integer upper bound,"
-                         " but T in not an integer datatype.");
+  The partially reduced product \f$D = D_1 \times D_2\f$,
+  for any reduction class \p R, has a concretization
+  \f$\fund{\gamma}{D}{\Rset^n}\f$
+  where, if \f$d = (d_1, d_2) \in D\f$
+  \f[
+    \gamma(d) = \gamma_1(d_1) \inters \gamma_2(d_2).
+  \f]
 
-  // FIXME, CHECKME: what about inexact computations?
-  // Declare a const reference to *this (to avoid accidental modifications).
-  const BD_Shape& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+  The operations are defined to be the result of applying the corresponding
+  operations on each of the components provided the product is already reduced
+  by the reduction method defined by \p R.
+  In particular, if \p R is the <CODE>No_Reduction<D1, D2></CODE> class,
+  then the class <CODE>Partially_Reduced_Product<D1, D2, R></CODE> domain
+  is the direct product as defined in \ref CC79 "[CC79]".
 
-  // Private method: the caller must ensure the following.
-  PPL_ASSERT(x_space_dim == y.space_dimension());
+  How the results on the components are interpreted and
+  combined depend on the specific test.
+  For example, the test for emptiness will first make sure
+  the product is reduced (using the reduction method provided by \p R
+  if it is not already known to be reduced) and then test if either component
+  is empty; thus, if \p R defines no reduction between its components and
+  \f$d = (G, P) \in (\Gset \times \Pset)\f$
+  is a direct product in one dimension where \f$G\f$ denotes the set of
+  numbers that are integral multiples of 3 while \f$P\f$ denotes the
+  set of numbers between 1 and 2, then an operation that tests for
+  emptiness should return false.
+  However, the test for the universe returns true if and only if the
+  test <CODE>is_universe()</CODE> on both components returns true.
 
-  // The zero-dim case is trivial.
-  if (x_space_dim == 0) {
-    upper_bound_assign(y);
-    return true;
-  }
-  // If `x' or `y' is (known to be) empty, the upper bound is exact.
-  if (x.marked_empty()) {
-    *this = y;
-    return true;
-  }
-  else if (y.is_empty())
-    return true;
-  else if (x.is_empty()) {
-    *this = y;
-    return true;
-  }
+  \par
+  In all the examples it is assumed that the template \c R is the
+  <CODE>No_Reduction<D1, D2></CODE> class and that variables
+  \c x and \c y are defined (where they are used) as follows:
+  \code
+  Variable x(0);
+  Variable y(1);
+  \endcode
 
-  // Here both `x' and `y' are known to be non-empty.
-  x.shortest_path_reduction_assign();
-  y.shortest_path_reduction_assign();
-  PPL_ASSERT(x.marked_shortest_path_closed());
-  PPL_ASSERT(y.marked_shortest_path_closed());
-  // Pre-compute the upper bound of `x' and `y'.
-  BD_Shape<T> ub(x);
-  ub.upper_bound_assign(y);
+  \par Example 1
+  The following code builds a direct product of a Grid and NNC Polyhedron,
+  corresponding to the positive even integer
+  pairs in \f$\Rset^2\f$, given as a system of congruences:
+  \code
+  Congruence_System cgs;
+  cgs.insert((x %= 0) / 2);
+  cgs.insert((y %= 0) / 2);
+  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> >
+    dp(cgs);
+  dp.add_constraint(x >= 0);
+  dp.add_constraint(y >= 0);
+  \endcode
 
-  PPL_DIRTY_TEMP(N, lhs);
-  PPL_DIRTY_TEMP(N, rhs);
-  PPL_DIRTY_TEMP(N, temp_zero);
-  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
-  PPL_DIRTY_TEMP(N, temp_one);
-  if (integer_upper_bound)
-    assign_r(temp_one, 1, ROUND_NOT_NEEDED);
+  \par Example 2
+  The following code builds the same product
+  in \f$\Rset^2\f$:
+  \code
+  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(2);
+  dp.add_constraint(x >= 0);
+  dp.add_constraint(y >= 0);
+  dp.add_congruence((x %= 0) / 2);
+  dp.add_congruence((y %= 0) / 2);
+  \endcode
 
-  for (dimension_type i = x_space_dim + 1; i-- > 0; ) {
-    const DB_Row<N>& x_i = x.dbm[i];
-    const Bit_Row& x_red_i = x.redundancy_dbm[i];
-    const DB_Row<N>& y_i = y.dbm[i];
-    const DB_Row<N>& ub_i = ub.dbm[i];
-    for (dimension_type j = x_space_dim + 1; j-- > 0; ) {
-      // Check redundancy of x_i_j.
-      if (x_red_i[j])
-        continue;
-      // By non-redundancy, we know that i != j.
-      PPL_ASSERT(i != j);
-      const N& x_i_j = x_i[j];
-      if (x_i_j < y_i[j]) {
-        for (dimension_type k = x_space_dim + 1; k-- > 0; ) {
-          const DB_Row<N>& x_k = x.dbm[k];
-          const DB_Row<N>& y_k = y.dbm[k];
-          const Bit_Row& y_red_k = y.redundancy_dbm[k];
-          const DB_Row<N>& ub_k = ub.dbm[k];
-          const N& ub_k_j = (k == j) ? temp_zero : ub_k[j];
-          for (dimension_type ell = x_space_dim + 1; ell-- > 0; ) {
-            // Check redundancy of y_k_ell.
-            if (y_red_k[ell])
-              continue;
-            // By non-redundancy, we know that k != ell.
-            PPL_ASSERT(k != ell);
-            const N& y_k_ell = y_k[ell];
-            if (y_k_ell < x_k[ell]) {
-              // The first condition in BHZ09 theorem holds;
-              // now check for the second condition.
-              add_assign_r(lhs, x_i_j, y_k_ell, ROUND_UP);
-              const N& ub_i_ell = (i == ell) ? temp_zero : ub_i[ell];
-              add_assign_r(rhs, ub_i_ell, ub_k_j, ROUND_UP);
-              if (integer_upper_bound) {
-                // Note: adding 1 rather than 2 (as in Theorem 5.3)
-                // so as to later test for < rather than <=.
-                add_assign_r(lhs, lhs, temp_one, ROUND_NOT_NEEDED);
-              }
-              // Testing for < in both the rational and integer case.
-              if (lhs < rhs)
-                return false;
-            }
-          }
-        }
-      }
-    }
-  }
-  // The upper bound of x and y is indeed exact.
-  swap(ub);
-  PPL_ASSERT(OK());
-  return true;
-}
+  \par Example 3
+  The following code will write "dp is empty":
+  \code
+  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(1);
+  dp.add_congruence((x %= 0) / 2);
+  dp.add_congruence((x %= 1) / 2);
+  if (dp.is_empty())
+    cout << "dp is empty." << endl;
+  else
+    cout << "dp is not empty." << endl;
+  \endcode
 
-template <typename T>
-void
-BD_Shape<T>::difference_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
+  \par Example 4
+  The following code will write "dp is not empty":
+  \code
+  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(1);
+  dp.add_congruence((x %= 0) / 2);
+  dp.add_constraint(x >= 1);
+  dp.add_constraint(x <= 1);
+  if (dp.is_empty())
+    cout << "dp is empty." << endl;
+  else
+    cout << "dp is not empty." << endl;
+  \endcode
+*/
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("difference_assign(y)", y);
+template <typename D1, typename D2, typename R>
+class Parma_Polyhedra_Library::Partially_Reduced_Product {
+public:
+  /*! \brief
+    Returns the maximum space dimension this product
+    can handle.
+  */
+  static dimension_type max_space_dimension();
 
-  BD_Shape new_bd_shape(space_dim, EMPTY);
+  //! Builds an object having the specified properties.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the pair;
 
-  BD_Shape& x = *this;
+    \param kind
+    Specifies whether a universe or an empty pair has to be built.
 
-  x.shortest_path_closure_assign();
-  // The difference of an empty bounded difference shape
-  // and of a bounded difference shape `p' is empty.
-  if (x.marked_empty())
-    return;
-  y.shortest_path_closure_assign();
-  // The difference of a bounded difference shape `p'
-  // and an empty bounded difference shape is `p'.
-  if (y.marked_empty())
-    return;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Partially_Reduced_Product(dimension_type num_dimensions = 0,
+				     Degenerate_Element kind = UNIVERSE);
 
-  // If both bounded difference shapes are zero-dimensional,
-  // then at this point they are necessarily universe system of
-  // bounded differences, so that their difference is empty.
-  if (space_dim == 0) {
-    x.set_empty();
-    return;
-  }
+  //! Builds a pair, copying a system of congruences.
+  /*!
+    The pair inherits the space dimension of the congruence system.
 
-  // TODO: This is just an executable specification.
-  //       Have to find a more efficient method.
-  if (y.contains(x)) {
-    x.set_empty();
-    return;
-  }
+    \param cgs
+    The system of congruences to be approximated by the pair.
 
-  // We take a constraint of the system y at the time and we
-  // consider its complementary. Then we intersect the union
-  // of these complementaries with the system x.
-  const Constraint_System& y_cs = y.constraints();
-  for (Constraint_System::const_iterator i = y_cs.begin(),
-         y_cs_end = y_cs.end(); i != y_cs_end; ++i) {
-    const Constraint& c = *i;
-    // If the bounded difference shape `x' is included
-    // in the bounded difference shape defined by `c',
-    // then `c' _must_ be skipped, as adding its complement to `x'
-    // would result in the empty bounded difference shape,
-    // and as we would obtain a result that is less precise
-    // than the bds-difference.
-    if (x.relation_with(c).implies(Poly_Con_Relation::is_included()))
-      continue;
-    BD_Shape z = x;
-    const Linear_Expression e = Linear_Expression(c);
-    z.add_constraint(e <= 0);
-    if (!z.is_empty())
-      new_bd_shape.upper_bound_assign(z);
-    if (c.is_equality()) {
-      z = x;
-      z.add_constraint(e >= 0);
-      if (!z.is_empty())
-        new_bd_shape.upper_bound_assign(z);
-    }
-  }
-  *this = new_bd_shape;
-  PPL_ASSERT(OK());
-}
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Partially_Reduced_Product(const Congruence_System& cgs);
 
-template <typename T>
-bool
-BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
-  BD_Shape& x = *this;
-  const dimension_type dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (dim != y.space_dimension())
-    throw_dimension_incompatible("simplify_using_context_assign(y)", y);
+  //! Builds a pair, recycling a system of congruences.
+  /*!
+    The pair inherits the space dimension of the congruence system.
 
-  // Filter away the zero-dimensional case.
-  if (dim == 0) {
-    if (y.marked_empty()) {
-      x.set_zero_dim_univ();
-      return false;
-    }
-    else
-      return !x.marked_empty();
-  }
+    \param cgs
+    The system of congruences to be approximates by the pair.
+    Its data-structures may be recycled to build the pair.
 
-  // Filter away the case where `x' contains `y'
-  // (this subsumes the case when `y' is empty).
-  y.shortest_path_closure_assign();
-  if (x.contains(y)) {
-    BD_Shape<T> res(dim, UNIVERSE);
-    x.swap(res);
-    return false;
-  }
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Partially_Reduced_Product(Congruence_System& cgs);
 
-  // Filter away the case where `x' is empty.
-  x.shortest_path_closure_assign();
-  if (x.marked_empty()) {
-    // Search for a constraint of `y' that is not a tautology.
-    dimension_type i;
-    dimension_type j;
-    // Prefer unary constraints.
-    i = 0;
-    const DB_Row<N>& y_dbm_0 = y.dbm[0];
-    for (j = 1; j <= dim; ++j) {
-      if (!is_plus_infinity(y_dbm_0[j]))
-        // FIXME: if N is a float or bounded integer type, then
-        // we also need to check that we are actually able to construct
-        // a constraint inconsistent wrt this one.
-        goto found;
-    }
-    j = 0;
-    for (i = 1; i <= dim; ++i) {
-      if (!is_plus_infinity(y.dbm[i][0]))
-        // FIXME: if N is a float or bounded intefer type, then
-        // we also need to check that we are actually able to construct
-        // a constraint inconsistent wrt this one.
-        goto found;
-    }
-    // Then search binary constraints.
-    for (i = 1; i <= dim; ++i) {
-      const DB_Row<N>& y_dbm_i = y.dbm[i];
-      for (j = 1; j <= dim; ++j)
-        if (!is_plus_infinity(y_dbm_i[j]))
-          // FIXME: if N is a float or bounded intefer type, then
-          // we also need to check that we are actually able to construct
-          // a constraint inconsistent wrt this one.
-          goto found;
-    }
-    // Not found: we were not able to build a constraint contradicting
-    // one of the constraints in `y': `x' cannot be enlarged.
-    return false;
+  //! Builds a pair, copying a system of constraints.
+  /*!
+    The pair inherits the space dimension of the constraint system.
+
+    \param cs
+    The system of constraints to be approximated by the pair.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Partially_Reduced_Product(const Constraint_System& cs);
 
-  found:
-    // Found: build a new BDS contradicting the constraint found.
-    PPL_ASSERT(i <= dim && j <= dim && (i > 0 || j > 0));
-    BD_Shape<T> res(dim, UNIVERSE);
-    PPL_DIRTY_TEMP(N, tmp);
-    assign_r(tmp, 1, ROUND_UP);
-    add_assign_r(tmp, tmp, y.dbm[i][j], ROUND_UP);
-    PPL_ASSERT(!is_plus_infinity(tmp));
-    // CHECKME: round down is really meant.
-    neg_assign_r(res.dbm[j][i], tmp, ROUND_DOWN);
-    x.swap(res);
-    return false;
-  }
+  //! Builds a pair, recycling a system of constraints.
+  /*!
+    The pair inherits the space dimension of the constraint system.
 
-  // Here `x' and `y' are not empty and shortest-path closed;
-  // also, `x' does not contain `y'.
-  // Let `target' be the intersection of `x' and `y'.
-  BD_Shape<T> target = x;
-  target.intersection_assign(y);
-  const bool bool_result = !target.is_empty();
+    \param cs
+    The system of constraints to be approximated by the pair.
 
-  // Compute a reduced dbm for `x' and ...
-  x.shortest_path_reduction_assign();
-  // ... count the non-redundant constraints.
-  dimension_type x_num_nonredundant = (dim+1)*(dim+1);
-  for (dimension_type i = dim + 1; i-- > 0; )
-    x_num_nonredundant -= x.redundancy_dbm[i].count_ones();
-  PPL_ASSERT(x_num_nonredundant > 0);
+    \exception std::length_error
+    Thrown if the space dimension of \p cs exceeds the maximum allowed
+    space dimension.
+  */
+  explicit Partially_Reduced_Product(Constraint_System& cs);
 
-  // Let `yy' be a copy of `y': we will keep adding to `yy'
-  // the non-redundant constraints of `x',
-  // stopping as soon as `yy' becomes equal to `target'.
-  BD_Shape<T> yy = y;
+  //! Builds a product, from a C polyhedron.
+  /*!
+    Builds a product containing \p ph using algorithms whose
+    complexity does not exceed the one specified by \p complexity.
+    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
+    smallest one containing \p ph.
+    The product inherits the space dimension of the polyhedron.
 
-  // The constraints added to `yy' will be recorded in `res' ...
-  BD_Shape<T> res(dim, UNIVERSE);
-  // ... and we will count them too.
-  dimension_type res_num_nonredundant = 0;
+    \param ph
+    The polyhedron to be approximated by the product.
 
-  // Compute leader information for `x'.
-  std::vector<dimension_type> x_leaders;
-  x.compute_leaders(x_leaders);
+    \param complexity
+    The complexity that will not be exceeded.
 
-  // First go through the unary equality constraints.
-  const DB_Row<N>& x_dbm_0 = x.dbm[0];
-  DB_Row<N>& yy_dbm_0 = yy.dbm[0];
-  DB_Row<N>& res_dbm_0 = res.dbm[0];
-  for (dimension_type j = 1; j <= dim; ++j) {
-    // Unary equality constraints are encoded in entries dbm_0j and dbm_j0
-    // provided index j has special variable index 0 as its leader.
-    if (x_leaders[j] != 0)
-      continue;
-    PPL_ASSERT(!is_plus_infinity(x_dbm_0[j]));
-    if (x_dbm_0[j] < yy_dbm_0[j]) {
-      res_dbm_0[j] = x_dbm_0[j];
-      ++res_num_nonredundant;
-      // Tighten context `yy' using the newly added constraint.
-      yy_dbm_0[j] = x_dbm_0[j];
-      yy.reset_shortest_path_closed();
-    }
-    PPL_ASSERT(!is_plus_infinity(x.dbm[j][0]));
-    if (x.dbm[j][0] < yy.dbm[j][0]) {
-      res.dbm[j][0] = x.dbm[j][0];
-      ++res_num_nonredundant;
-      // Tighten context `yy' using the newly added constraint.
-      yy.dbm[j][0] = x.dbm[j][0];
-      yy.reset_shortest_path_closed();
-    }
-    // Restore shortest-path closure, if it was lost.
-    if (!yy.marked_shortest_path_closed()) {
-      Variable var_j(j-1);
-      yy.incremental_shortest_path_closure_assign(var_j);
-      if (target.contains(yy)) {
-        // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonredundant < x_num_nonredundant) {
-          res.reset_shortest_path_closed();
-          x.swap(res);
-        }
-        return bool_result;
-      }
-    }
-  }
+    \exception std::length_error
+    Thrown if the space dimension of \p ph exceeds the maximum allowed
+    space dimension.
+  */
+  explicit
+  Partially_Reduced_Product(const C_Polyhedron& ph,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Go through the binary equality constraints.
-  // Note: no need to consider the case i == 1.
-  for (dimension_type i = 2; i <= dim; ++i) {
-    const dimension_type j = x_leaders[i];
-    if (j == i || j == 0)
-      continue;
-    PPL_ASSERT(!is_plus_infinity(x.dbm[i][j]));
-    if (x.dbm[i][j] < yy.dbm[i][j]) {
-      res.dbm[i][j] = x.dbm[i][j];
-      ++res_num_nonredundant;
-      // Tighten context `yy' using the newly added constraint.
-      yy.dbm[i][j] = x.dbm[i][j];
-      yy.reset_shortest_path_closed();
-    }
-    PPL_ASSERT(!is_plus_infinity(x.dbm[j][i]));
-    if (x.dbm[j][i] < yy.dbm[j][i]) {
-      res.dbm[j][i] = x.dbm[j][i];
-      ++res_num_nonredundant;
-      // Tighten context `yy' using the newly added constraint.
-      yy.dbm[j][i] = x.dbm[j][i];
-      yy.reset_shortest_path_closed();
-    }
-    // Restore shortest-path closure, if it was lost.
-    if (!yy.marked_shortest_path_closed()) {
-      Variable var_j(j-1);
-      yy.incremental_shortest_path_closure_assign(var_j);
-      if (target.contains(yy)) {
-        // Target reached: swap `x' and `res' if needed.
-        if (res_num_nonredundant < x_num_nonredundant) {
-          res.reset_shortest_path_closed();
-          x.swap(res);
-        }
-        return bool_result;
-      }
-    }
-  }
+  //! Builds a product, from an NNC polyhedron.
+  /*!
+    Builds a product containing \p ph using algorithms whose
+    complexity does not exceed the one specified by \p complexity.
+    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
+    smallest one containing \p ph.
+    The product inherits the space dimension of the polyhedron.
 
-  // Finally go through the (proper) inequality constraints:
-  // both indices i and j should be leaders.
-  for (dimension_type i = 0; i <= dim; ++i) {
-    if (i != x_leaders[i])
-      continue;
-    const DB_Row<N>& x_dbm_i = x.dbm[i];
-    const Bit_Row& x_redundancy_dbm_i = x.redundancy_dbm[i];
-    DB_Row<N>& yy_dbm_i = yy.dbm[i];
-    DB_Row<N>& res_dbm_i = res.dbm[i];
-    for (dimension_type j = 0; j <= dim; ++j) {
-      if (j != x_leaders[j] || x_redundancy_dbm_i[j])
-        continue;
-      N& yy_dbm_ij = yy_dbm_i[j];
-      const N& x_dbm_ij = x_dbm_i[j];
-      if (x_dbm_ij < yy_dbm_ij) {
-        res_dbm_i[j] = x_dbm_ij;
-        ++res_num_nonredundant;
-        // Tighten context `yy' using the newly added constraint.
-        yy_dbm_ij = x_dbm_ij;
-        yy.reset_shortest_path_closed();
-        PPL_ASSERT(i > 0 || j > 0);
-        Variable var((i > 0 ? i : j) - 1);
-        yy.incremental_shortest_path_closure_assign(var);
-        if (target.contains(yy)) {
-          // Target reached: swap `x' and `res' if needed.
-          if (res_num_nonredundant < x_num_nonredundant) {
-            res.reset_shortest_path_closed();
-            x.swap(res);
-          }
-          return bool_result;
-        }
-      }
-    }
-  }
-  // This point should be unreachable.
-  throw std::runtime_error("PPL internal error");
-}
+    \param ph
+    The polyhedron to be approximated by the product.
 
-template <typename T>
-void
-BD_Shape<T>::add_space_dimensions_and_embed(const dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
+    \param complexity
+    The complexity that will not be exceeded.
 
-  const dimension_type space_dim = space_dimension();
-  const dimension_type new_space_dim = space_dim + m;
-  const bool was_zero_dim_univ = (!marked_empty() && space_dim == 0);
+    \exception std::length_error
+    Thrown if the space dimension of \p ph exceeds the maximum allowed
+    space dimension.
+  */
+  explicit
+  Partially_Reduced_Product(const NNC_Polyhedron& ph,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // To embed an n-dimension space BDS in a (n+m)-dimension space,
-  // we just add `m' rows and columns in the bounded difference shape,
-  // initialized to PLUS_INFINITY.
-  dbm.grow(new_space_dim + 1);
+  //! Builds a product, from a grid.
+  /*!
+    Builds a product containing \p gr.
+    The product inherits the space dimension of the grid.
 
-  // Shortest-path closure is maintained (if it was holding).
-  // TODO: see whether reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
+    \param gr
+    The grid to be approximated by the product.
 
-  // If `*this' was the zero-dim space universe BDS,
-  // the we can set the shortest-path closure flag.
-  if (was_zero_dim_univ)
-    set_shortest_path_closed();
+    \param complexity
+    The complexity is ignored.
 
-  PPL_ASSERT(OK());
-}
+    \exception std::length_error
+    Thrown if the space dimension of \p gr exceeds the maximum allowed
+    space dimension.
+  */
+  explicit
+  Partially_Reduced_Product(const Grid& gr,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-template <typename T>
-void
-BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
+  //! Builds a product out of a box.
+  /*!
+    Builds a product containing \p box.
+    The product inherits the space dimension of the box.
 
-  const dimension_type space_dim = space_dimension();
+    \param box
+    The box representing the pair to be built.
 
-  // If `*this' was zero-dimensional, then we add `m' rows and columns.
-  // If it also was non-empty, then we zero all the added elements
-  // and set the flag for shortest-path closure.
-  if (space_dim == 0) {
-    dbm.grow(m + 1);
-    if (!marked_empty()) {
-      for (dimension_type i = m + 1; i-- > 0; ) {
-        DB_Row<N>& dbm_i = dbm[i];
-        for (dimension_type j = m + 1; j-- > 0; )
-          if (i != j)
-            assign_r(dbm_i[j], 0, ROUND_NOT_NEEDED);
-      }
-      set_shortest_path_closed();
-    }
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param complexity
+    The complexity is ignored.
 
-  // To project an n-dimension space bounded difference shape
-  // in a (n+m)-dimension space, we add `m' rows and columns.
-  // In the first row and column of the matrix we add `zero' from
-  // the (n+1)-th position to the end.
-  const dimension_type new_space_dim = space_dim + m;
-  dbm.grow(new_space_dim + 1);
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename Interval>
+  Partially_Reduced_Product(const Box<Interval>& box,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Bottom of the matrix and first row.
-  DB_Row<N>& dbm_0 = dbm[0];
-  for (dimension_type i = space_dim + 1; i <= new_space_dim; ++i) {
-    assign_r(dbm[i][0], 0, ROUND_NOT_NEEDED);
-    assign_r(dbm_0[i], 0, ROUND_NOT_NEEDED);
-  }
+  //! Builds a product out of a BD shape.
+  /*!
+    Builds a product containing \p bd.
+    The product inherits the space dimension of the BD shape.
 
-  if (marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+    \param bd
+    The BD shape representing the product to be built.
 
-template <typename T>
-void
-BD_Shape<T>::remove_space_dimensions(const Variables_Set& vars) {
-  // The removal of no dimensions from any BDS is a no-op.
-  // Note that this case also captures the only legal removal of
-  // space dimensions from a BDS in a 0-dim space.
-  if (vars.empty()) {
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param complexity
+    The complexity is ignored.
 
-  const dimension_type old_space_dim = space_dimension();
+    \exception std::length_error
+    Thrown if the space dimension of \p bd exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename U>
+  Partially_Reduced_Product(const BD_Shape<U>& bd,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (old_space_dim < min_space_dim)
-    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
+  //! Builds a product out of an octagonal shape.
+  /*!
+    Builds a product containing \p os.
+    The product inherits the space dimension of the octagonal shape.
 
-  // Shortest-path closure is necessary to keep precision.
-  shortest_path_closure_assign();
+    \param os
+    The octagonal shape representing the product to be built.
 
-  // When removing _all_ dimensions from a BDS, we obtain the
-  // zero-dimensional BDS.
-  const dimension_type new_space_dim = old_space_dim - vars.size();
-  if (new_space_dim == 0) {
-    dbm.resize_no_copy(1);
-    if (!marked_empty())
-      // We set the zero_dim_univ flag.
-      set_zero_dim_univ();
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param complexity
+    The complexity is ignored.
 
-  // Handle the case of an empty BD_Shape.
-  if (marked_empty()) {
-    dbm.resize_no_copy(new_space_dim + 1);
-    PPL_ASSERT(OK());
-    return;
-  }
+    \exception std::length_error
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
+  */
+  template <typename U>
+  Partially_Reduced_Product(const Octagonal_Shape<U>& os,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Shortest-path closure is maintained.
-  // TODO: see whether reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
+  //! Ordinary copy constructor.
+  Partially_Reduced_Product(const Partially_Reduced_Product& y,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // For each variable to remove, we fill the corresponding column and
-  // row by shifting respectively left and above those
-  // columns and rows, that will not be removed.
-  Variables_Set::const_iterator vsi = vars.begin();
-  Variables_Set::const_iterator vsi_end = vars.end();
-  dimension_type dst = *vsi + 1;
-  dimension_type src = dst + 1;
-  for (++vsi; vsi != vsi_end; ++vsi) {
-    const dimension_type vsi_next = *vsi + 1;
-    // All other columns and rows are moved respectively to the left
-    // and above.
-    while (src < vsi_next) {
-      std::swap(dbm[dst], dbm[src]);
-      for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
-        DB_Row<N>& dbm_i = dbm[i];
-        assign_or_swap(dbm_i[dst], dbm_i[src]);
-      }
-      ++dst;
-      ++src;
-    }
-    ++src;
-  }
+  //! Builds a conservative, upward approximation of \p y.
+  /*!
+    The complexity argument is ignored.
+  */
+  template <typename E1, typename E2, typename S>
+  explicit
+  Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  // Moving the remaining rows and columns.
-  while (src <= old_space_dim) {
-    std::swap(dbm[dst], dbm[src]);
-    for (dimension_type i = old_space_dim + 1; i-- > 0; ) {
-      DB_Row<N>& dbm_i = dbm[i];
-      assign_or_swap(dbm_i[dst], dbm_i[src]);
-    }
-    ++src;
-    ++dst;
-  }
+  /*! \brief
+    The assignment operator.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  Partially_Reduced_Product& operator=(const Partially_Reduced_Product& y);
 
-  // Update the space dimension.
-  dbm.resize_no_copy(new_space_dim + 1);
-  PPL_ASSERT(OK());
-}
+  //! \name Member Functions that Do Not Modify the Partially_Reduced_Product
+  //@{
 
-template <typename T>
-template <typename Partial_Function>
-void
-BD_Shape<T>::map_space_dimensions(const Partial_Function& pfunc) {
-  const dimension_type space_dim = space_dimension();
-  // TODO: this implementation is just an executable specification.
-  if (space_dim == 0)
-    return;
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the BDS becomes zero_dimensional.
-    remove_higher_space_dimensions(0);
-    return;
-  }
+  /*! \brief
+    Returns the minimum \ref Affine_Independence_and_Affine_Dimension
+    "affine dimension"
+    (see also \ref Grid_Affine_Dimension "grid affine dimension")
+    of the components of \p *this.
+  */
+  dimension_type affine_dimension() const;
 
-  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
-  // If we are going to actually reduce the space dimension,
-  // then shortest-path closure is required to keep precision.
-  if (new_space_dim < space_dim)
-    shortest_path_closure_assign();
+  //! Returns a constant reference to the first of the pair.
+  const D1& domain1() const;
 
-  // If the BDS is empty, then it is sufficient to adjust the
-  // space dimension of the bounded difference shape.
-  if (marked_empty()) {
-    remove_higher_space_dimensions(new_space_dim);
-    return;
-  }
+  //! Returns a constant reference to the second of the pair.
+  const D2& domain2() const;
 
-  // Shortest-path closure is maintained (if it was holding).
-  // TODO: see whether reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
+  //! Returns a system of constraints which approximates \p *this.
+  Constraint_System constraints() const;
 
-  // We create a new matrix with the new space dimension.
-  DB_Matrix<N> x(new_space_dim+1);
-  // First of all we must map the unary constraints, because
-  // there is the fictitious variable `zero', that can't be mapped
-  // at all.
-  DB_Row<N>& dbm_0 = dbm[0];
-  DB_Row<N>& x_0 = x[0];
-  for (dimension_type j = 1; j <= space_dim; ++j) {
-    dimension_type new_j;
-    if (pfunc.maps(j - 1, new_j)) {
-      assign_or_swap(x_0[new_j + 1], dbm_0[j]);
-      assign_or_swap(x[new_j + 1][0], dbm[j][0]);
-    }
-  }
-  // Now we map the binary constraints, exchanging the indexes.
-  for (dimension_type i = 1; i <= space_dim; ++i) {
-    dimension_type new_i;
-    if (pfunc.maps(i - 1, new_i)) {
-      DB_Row<N>& dbm_i = dbm[i];
-      ++new_i;
-      DB_Row<N>& x_new_i = x[new_i];
-      for (dimension_type j = i+1; j <= space_dim; ++j) {
-        dimension_type new_j;
-        if (pfunc.maps(j - 1, new_j)) {
-          ++new_j;
-          assign_or_swap(x_new_i[new_j], dbm_i[j]);
-          assign_or_swap(x[new_j][new_i], dbm[j][i]);
-        }
-      }
-    }
-  }
+  /*! \brief
+    Returns a system of constraints which approximates \p *this, in
+    reduced form.
+  */
+  Constraint_System minimized_constraints() const;
 
-  std::swap(dbm, x);
-  PPL_ASSERT(OK());
-}
+  //! Returns a system of congruences which approximates \p *this.
+  Congruence_System congruences() const;
 
-template <typename T>
-void
-BD_Shape<T>::intersection_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
+  /*! \brief
+    Returns a system of congruences which approximates \p *this, in
+    reduced form.
+  */
+  Congruence_System minimized_congruences() const;
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("intersection_assign(y)", y);
+  //! Returns the relations holding between \p *this and \p c.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
 
-  // If one of the two bounded difference shapes is empty,
-  // the intersection is empty.
-  if (marked_empty())
-    return;
-  if (y.marked_empty()) {
-    set_empty();
-    return;
-  }
+    Returns the Poly_Con_Relation \p r for \p *this:
+    suppose the first component returns \p r1 and the second \p r2,
+    then \p r implies <CODE>is_included()</CODE>
+    if and only if one or both of \p r1 and \p r2 imply
+    <CODE>is_included()</CODE>;
+    \p r implies <CODE>saturates()</CODE>
+    if and only if one or both of \p r1 and \p r2 imply
+    <CODE>saturates()</CODE>;
+    \p r implies <CODE>is_disjoint()</CODE>
+    if and only if one or both of \p r1 and \p r2 imply
+    <CODE>is_disjoint()</CODE>;
+    and \p r implies <CODE>nothing()</CODE>
+    if and only if both \p r1 and \p r2 imply
+    <CODE>strictly_intersects()</CODE>.
+  */
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-  // If both bounded difference shapes are zero-dimensional,
-  // then at this point they are necessarily non-empty,
-  // so that their intersection is non-empty too.
-  if (space_dim == 0)
-    return;
+  //! Returns the relations holding between \p *this and \p cg.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-  // To intersect two bounded difference shapes we compare
-  // the constraints and we choose the less values.
-  bool changed = false;
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      N& dbm_ij = dbm_i[j];
-      const N& y_dbm_ij = y_dbm_i[j];
-      if (dbm_ij > y_dbm_ij) {
-        dbm_ij = y_dbm_ij;
-        changed = true;
-      }
-    }
-  }
+  //! Returns the relations holding between \p *this and \p g.
+  /*
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
 
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+    Returns the Poly_Gen_Relation \p r for \p *this:
+    suppose the first component returns \p r1 and the second \p r2,
+    then \p r = <CODE>subsumes()</CODE>
+    if and only if \p r1 = \p r2 = <CODE>subsumes()</CODE>;
+    and \p r = <CODE>nothing()</CODE>
+    if and only if one or both of \p r1 and \p r2 = <CODE>nothing()</CODE>;
+  */
+  Poly_Gen_Relation relation_with(const Generator& g) const;
 
-template <typename T>
-template <typename Iterator>
-void
-BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape& y,
-                                       Iterator first, Iterator last,
-                                       unsigned* tp) {
-  const dimension_type space_dim = space_dimension();
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if either of the components
+    of \p *this are empty.
+  */
+  bool is_empty() const;
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if both of the components
+    of \p *this are the universe.
+  */
+  bool is_universe() const;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if both of the components
+    of \p *this are topologically closed subsets of the vector space.
+  */
+  bool is_topologically_closed() const;
 
-  // If both bounded difference shapes are zero-dimensional,
-  // since `*this' contains `y', we simply return `*this'.
-  if (space_dim == 0)
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    componentwise disjoint.
 
-  shortest_path_closure_assign();
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  y.shortest_path_closure_assign();
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Partially_Reduced_Product& y) const;
 
-  // If there are tokens available, work on a temporary copy.
-  if (tp != 0 && *tp > 0) {
-    BD_Shape<T> x_tmp(*this);
-    x_tmp.CC76_extrapolation_assign(y, first, last, 0);
-    // If the widening was not precise, use one of the available tokens.
-    if (!contains(x_tmp))
-      --(*tp);
-    return;
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if a component of \p *this
+    is discrete.
+  */
+  bool is_discrete() const;
 
-  // Compare each constraint in `y' to the corresponding one in `*this'.
-  // The constraint in `*this' is kept as is if it is stronger than or
-  // equal to the constraint in `y'; otherwise, the inhomogeneous term
-  // of the constraint in `*this' is further compared with elements taken
-  // from a sorted container (the stop-points, provided by the user), and
-  // is replaced by the first entry, if any, which is greater than or equal
-  // to the inhomogeneous term. If no such entry exists, the constraint
-  // is removed altogether.
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      N& dbm_ij = dbm_i[j];
-      const N& y_dbm_ij = y_dbm_i[j];
-      if (y_dbm_ij < dbm_ij) {
-        Iterator k = std::lower_bound(first, last, dbm_ij);
-        if (k != last) {
-          if (dbm_ij < *k)
-            assign_r(dbm_ij, *k, ROUND_UP);
-        }
-        else
-          assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED);
-      }
-    }
-  }
-  reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if a component of \p *this
+    is bounded.
+  */
+  bool is_bounded() const;
 
-template <typename T>
-void
-BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
-                                BD_Shape& limiting_shape) const {
-  const dimension_type cs_space_dim = cs.space_dimension();
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(cs_space_dim <= space_dimension());
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-  shortest_path_closure_assign();
-  bool changed = false;
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
-  PPL_DIRTY_TEMP(N, d);
-  PPL_DIRTY_TEMP(N, d1);
-  for (Constraint_System::const_iterator cs_i = cs.begin(),
-         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
-    const Constraint& c = *cs_i;
-    dimension_type num_vars = 0;
-    dimension_type i = 0;
-    dimension_type j = 0;
-    // Constraints that are not bounded differences are ignored.
-    if (extract_bounded_difference(c, cs_space_dim, num_vars, i, j, coeff)) {
-      // Select the cell to be modified for the "<=" part of the constraint,
-      // and set `coeff' to the absolute value of itself.
-      const bool negative = (coeff < 0);
-      const N& x = negative ? dbm[i][j] : dbm[j][i];
-      const N& y = negative ? dbm[j][i] : dbm[i][j];
-      DB_Matrix<N>& ls_dbm = limiting_shape.dbm;
-      N& ls_x = negative ? ls_dbm[i][j] : ls_dbm[j][i];
-      N& ls_y = negative ? ls_dbm[j][i] : ls_dbm[i][j];
-      if (negative)
-        neg_assign(coeff);
-      // Compute the bound for `x', rounding towards plus infinity.
-      div_round_up(d, c.inhomogeneous_term(), coeff);
-      if (x <= d) {
-        if (c.is_inequality()) {
-          if (ls_x > d) {
-            ls_x = d;
-            changed = true;
-          }
-	}
-        else {
-          // Compute the bound for `y', rounding towards plus infinity.
-          neg_assign(minus_c_term, c.inhomogeneous_term());
-          div_round_up(d1, minus_c_term, coeff);
-          if (y <= d1)
-	    if ((ls_x >= d && ls_y > d1) || (ls_x > d && ls_y >= d1)) {
-	      ls_x = d;
-	      ls_y = d1;
-	      changed = true;
-          }
-        }
-      }
-    }
-  }
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  bool constrains(Variable var) const;
 
-  // In general, adding a constraint does not preserve the shortest-path
-  // closure of the bounded difference shape.
-  if (changed && limiting_shape.marked_shortest_path_closed())
-    limiting_shape.reset_shortest_path_closed();
-}
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_below.
 
-template <typename T>
-void
-BD_Shape<T>::limited_CC76_extrapolation_assign(const BD_Shape& y,
-                                               const Constraint_System& cs,
-                                               unsigned* tp) {
-  // Dimension-compatibility check.
-  const dimension_type space_dim = space_dimension();
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
-                                 y);
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
-  // `cs' must be dimension-compatible with the two systems
-  // of bounded differences.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (space_dim < cs_space_dim)
-    throw_generic("limited_CC76_extrapolation_assign(y, cs)",
-                  "cs is space_dimension incompatible");
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_above.
 
-  // Strict inequalities not allowed.
-  if (cs.has_strict_inequalities())
-    throw_generic("limited_CC76_extrapolation_assign(y, cs)",
-                  "cs has strict inequalities");
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
+  */
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
-  // The limited CC76-extrapolation between two systems of bounded
-  // differences in a zero-dimensional space is a system of bounded
-  // differences in a zero-dimensional space, too.
-  if (space_dim == 0)
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value is computed.
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+    \param sup_n
+    The numerator of the supremum value;
 
-  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
-  get_limiting_shape(cs, limiting_shape);
-  CC76_extrapolation_assign(y, tp);
-  intersection_assign(limiting_shape);
-}
+    \param sup_d
+    The denominator of the supremum value;
 
-template <typename T>
-void
-BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
-  const dimension_type space_dim = space_dimension();
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
+    maximum are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-  // Compute the affine dimension of `y'.
-  const dimension_type y_affine_dim = y.affine_dimension();
-  // If the affine dimension of `y' is zero, then either `y' is
-  // zero-dimensional, or it is empty, or it is a singleton.
-  // In all cases, due to the inclusion hypothesis, the result is `*this'.
-  if (y_affine_dim == 0)
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from above in \p *this, in which case the
+    supremum value and a point where \p expr reaches it are computed.
 
-  // If the affine dimension has changed, due to the inclusion hypothesis,
-  // the result is `*this'.
-  const dimension_type x_affine_dim = affine_dimension();
-  PPL_ASSERT(x_affine_dim >= y_affine_dim);
-  if (x_affine_dim != y_affine_dim)
-    return;
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  // If there are tokens available, work on a temporary copy.
-  if (tp != 0 && *tp > 0) {
-    BD_Shape<T> x_tmp(*this);
-    x_tmp.BHMZ05_widening_assign(y, 0);
-    // If the widening was not precise, use one of the available tokens.
-    if (!contains(x_tmp))
-      --(*tp);
-    return;
-  }
+    \param sup_n
+    The numerator of the supremum value;
 
-  // Here no token is available.
-  PPL_ASSERT(marked_shortest_path_closed() && y.marked_shortest_path_closed());
-  // Minimize `y'.
-  y.shortest_path_reduction_assign();
+    \param sup_d
+    The denominator of the supremum value;
 
-  // Extrapolate unstable bounds, taking into account redundancy in `y'.
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    const Bit_Row& y_redundancy_i = y.redundancy_dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      N& dbm_ij = dbm_i[j];
-      // Note: in the following line the use of `!=' (as opposed to
-      // the use of `<' that would seem -but is not- equivalent) is
-      // intentional.
-      if (y_redundancy_i[j] || y_dbm_i[j] != dbm_ij)
-        assign_r(dbm_ij, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    }
-  }
-  // NOTE: this will also reset the shortest-path reduction flag,
-  // even though the dbm is still in reduced form. However, the
-  // current implementation invariant requires that any reduced dbm
-  // is closed too.
-  reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
 
-template <typename T>
-void
-BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
-                                                 const Constraint_System& cs,
-                                                 unsigned* tp) {
-  // Dimension-compatibility check.
-  const dimension_type space_dim = space_dimension();
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("limited_BHMZ05_extrapolation_assign(y, cs)",
-                                 y);
-  // `cs' must be dimension-compatible with the two systems
-  // of bounded differences.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (space_dim < cs_space_dim)
-    throw_generic("limited_BHMZ05_extrapolation_assign(y, cs)",
-                  "cs is space-dimension incompatible");
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
-  // Strict inequalities are not allowed.
-  if (cs.has_strict_inequalities())
-    throw_generic("limited_BHMZ05_extrapolation_assign(y, cs)",
-                  "cs has strict inequalities");
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  // The limited BHMZ05-extrapolation between two systems of bounded
-  // differences in a zero-dimensional space is a system of bounded
-  // differences in a zero-dimensional space, too.
-  if (space_dim == 0)
-    return;
+    If \p *this is empty or \p expr is not bounded by \p *this,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
+    and \p g are left untouched.
+  */
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& g) const;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below i \p *this, in which case the
+    infimum value is computed.
 
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
-  get_limiting_shape(cs, limiting_shape);
-  BHMZ05_widening_assign(y, tp);
-  intersection_assign(limiting_shape);
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-template <typename T>
-void
-BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
+    \param inf_d
+    The denominator of the infimum value;
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
+    \param minimum
+    <CODE>true</CODE> if the infimum value can be reached in \p this.
 
-#ifndef NDEBUG
-  {
-    // We assume that `*this' is contained in or equal to `y'.
-    const BD_Shape x_copy = *this;
-    const BD_Shape y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
-  }
-#endif
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  // If both bounded difference shapes are zero-dimensional,
-  // since `y' contains `*this', we simply return `*this'.
-  if (space_dim == 0)
-    return;
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
+    and \p minimum are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
-  y.shortest_path_closure_assign();
-  // If `y' is empty, since `y' contains `this', `*this' is empty too.
-  if (y.marked_empty())
-    return;
-  shortest_path_closure_assign();
-  // If `*this' is empty, we return.
-  if (marked_empty())
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is not empty and
+    \p expr is bounded from below in \p *this, in which case the
+    infimum value and a point where \p expr reaches it are computed.
 
-  // Replace each constraint in `*this' by the corresponding constraint
-  // in `y' if the corresponding inhomogeneous terms are both finite.
-  bool changed = false;
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const DB_Row<N>& y_dbm_i = y.dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; ) {
-      N& dbm_ij = dbm_i[j];
-      const N& y_dbm_ij = y_dbm_i[j];
-      if (!is_plus_infinity(dbm_ij)
-          && !is_plus_infinity(y_dbm_ij)
-          && dbm_ij != y_dbm_ij) {
-        dbm_ij = y_dbm_ij;
-        changed = true;
-      }
-    }
-  }
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-template <typename T>
-void
-BD_Shape<T>
-::deduce_v_minus_u_bounds(const dimension_type v,
-                          const dimension_type last_v,
-                          const Linear_Expression& sc_expr,
-                          Coefficient_traits::const_reference sc_den,
-                          const N& ub_v) {
-  PPL_ASSERT(sc_den > 0);
-  PPL_ASSERT(!is_plus_infinity(ub_v));
-  // Deduce constraints of the form `v - u', where `u != v'.
-  // Note: the shortest-path closure is able to deduce the constraint
-  // `v - u <= ub_v - lb_u'. We can be more precise if variable `u'
-  // played an active role in the computation of the upper bound for `v',
-  // i.e., if the corresponding coefficient `q == expr_u/den' is
-  // greater than zero. In particular:
-  // if `q >= 1',    then `v - u <= ub_v - ub_u';
-  // if `0 < q < 1', then `v - u <= ub_v - (q*ub_u + (1-q)*lb_u)'.
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
-  const DB_Row<N>& dbm_0 = dbm[0];
-  // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP(N, up_approx);
-  // No need to consider indices greater than `last_v'.
-  for (dimension_type u = last_v; u > 0; --u)
-    if (u != v) {
-      const Coefficient& expr_u = sc_expr.coefficient(Variable(u-1));
-      if (expr_u > 0) {
-        if (expr_u >= sc_den)
-          // Deducing `v - u <= ub_v - ub_u'.
-          sub_assign_r(dbm[u][v], ub_v, dbm_0[u], ROUND_UP);
-        else {
-          DB_Row<N>& dbm_u = dbm[u];
-          const N& dbm_u0 = dbm_u[0];
-          if (!is_plus_infinity(dbm_u0)) {
-            // Let `ub_u' and `lb_u' be the known upper and lower bound
-            // for `u', respectively. Letting `q = expr_u/sc_den' be the
-            // rational coefficient of `u' in `sc_expr/sc_den',
-            // the upper bound for `v - u' is computed as
-            // `ub_v - (q * ub_u + (1-q) * lb_u)', i.e.,
-            // `ub_v + (-lb_u) - q * (ub_u + (-lb_u))'.
-            assign_r(minus_lb_u, dbm_u0, ROUND_NOT_NEEDED);
-            assign_r(q, expr_u, ROUND_NOT_NEEDED);
-            div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-            assign_r(ub_u, dbm_0[u], ROUND_NOT_NEEDED);
-            // Compute `ub_u - lb_u'.
-            add_assign_r(ub_u, ub_u, minus_lb_u, ROUND_NOT_NEEDED);
-            // Compute `(-lb_u) - q * (ub_u - lb_u)'.
-            sub_mul_assign_r(minus_lb_u, q, ub_u, ROUND_NOT_NEEDED);
-            assign_r(up_approx, minus_lb_u, ROUND_UP);
-            // Deducing `v - u <= ub_v - (q * ub_u + (1-q) * lb_u)'.
-            add_assign_r(dbm_u[v], ub_v, up_approx, ROUND_UP);
-          }
-        }
-      }
-    }
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-template <typename T>
-void
-BD_Shape<T>
-::deduce_u_minus_v_bounds(const dimension_type v,
-                          const dimension_type last_v,
-                          const Linear_Expression& sc_expr,
-                          Coefficient_traits::const_reference sc_den,
-                          const N& minus_lb_v) {
-  PPL_ASSERT(sc_den > 0);
-  PPL_ASSERT(!is_plus_infinity(minus_lb_v));
-  // Deduce constraints of the form `u - v', where `u != v'.
-  // Note: the shortest-path closure is able to deduce the constraint
-  // `u - v <= ub_u - lb_v'. We can be more precise if variable `u'
-  // played an active role in the computation of the lower bound for `v',
-  // i.e., if the corresponding coefficient `q == expr_u/den' is
-  // greater than zero. In particular:
-  // if `q >= 1',    then `u - v <= lb_u - lb_v';
-  // if `0 < q < 1', then `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
-  PPL_DIRTY_TEMP0(mpq_class, mpq_sc_den);
-  assign_r(mpq_sc_den, sc_den, ROUND_NOT_NEEDED);
-  DB_Row<N>& dbm_0 = dbm[0];
-  DB_Row<N>& dbm_v = dbm[v];
-  // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP0(mpq_class, ub_u);
-  PPL_DIRTY_TEMP0(mpq_class, q);
-  PPL_DIRTY_TEMP0(mpq_class, minus_lb_u);
-  PPL_DIRTY_TEMP(N, up_approx);
-  // No need to consider indices greater than `last_v'.
-  for (dimension_type u = last_v; u > 0; --u)
-    if (u != v) {
-      const Coefficient& expr_u = sc_expr.coefficient(Variable(u-1));
-      if (expr_u > 0) {
-        if (expr_u >= sc_den)
-          // Deducing `u - v <= lb_u - lb_v',
-          // i.e., `u - v <= (-lb_v) - (-lb_u)'.
-          sub_assign_r(dbm_v[u], minus_lb_v, dbm[u][0], ROUND_UP);
-        else {
-          const N& dbm_0u = dbm_0[u];
-          if (!is_plus_infinity(dbm_0u)) {
-            // Let `ub_u' and `lb_u' be the known upper and lower bound
-            // for `u', respectively. Letting `q = expr_u/sc_den' be the
-            // rational coefficient of `u' in `sc_expr/sc_den',
-            // the upper bound for `u - v' is computed as
-            // `(q * lb_u + (1-q) * ub_u) - lb_v', i.e.,
-            // `ub_u - q * (ub_u + (-lb_u)) + minus_lb_v'.
-            assign_r(ub_u, dbm_0u, ROUND_NOT_NEEDED);
-            assign_r(q, expr_u, ROUND_NOT_NEEDED);
-            div_assign_r(q, q, mpq_sc_den, ROUND_NOT_NEEDED);
-            assign_r(minus_lb_u, dbm[u][0], ROUND_NOT_NEEDED);
-            // Compute `ub_u - lb_u'.
-            add_assign_r(minus_lb_u, minus_lb_u, ub_u, ROUND_NOT_NEEDED);
-            // Compute `ub_u - q * (ub_u - lb_u)'.
-            sub_mul_assign_r(ub_u, q, minus_lb_u, ROUND_NOT_NEEDED);
-            assign_r(up_approx, ub_u, ROUND_UP);
-            // Deducing `u - v <= (q*lb_u + (1-q)*ub_u) - lb_v'.
-            add_assign_r(dbm_v[u], up_approx, minus_lb_v, ROUND_UP);
-          }
-        }
-      }
-    }
-}
+    \param inf_d
+    The denominator of the infimum value;
 
-template <typename T>
-void
-BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
-  PPL_ASSERT(0 < v && v <= dbm.num_rows());
-  DB_Row<N>& dbm_v = dbm[v];
-  for (dimension_type i = dbm.num_rows(); i-- > 0; ) {
-    assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-}
+    \param minimum
+    <CODE>true</CODE> if the infimum value can be reached in \p this.
 
-template <typename T>
-void
-BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
-  PPL_ASSERT(0 < v && v <= dbm.num_rows());
-  DB_Row<N>& dbm_v = dbm[v];
-  for (dimension_type i = dbm.num_rows()-1; i > 0; --i) {
-    assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
-    assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-  }
-}
+    \param g
+    When minimization succeeds, will be assigned the point or closure
+    point where \p expr reaches its infimum value.
 
-template <typename T>
-void
-BD_Shape<T>::unconstrain(const Variable var) {
-  // Dimension-compatibility check.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dimension() < var_space_dim)
-    throw_dimension_incompatible("unconstrain(var)", var_space_dim);
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) constraints.
-  shortest_path_closure_assign();
+    If \p *this is empty or \p expr is not bounded from below,
+    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
+    and \p point are left untouched.
+  */
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& g) const;
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if each component of \p *this
+    contains the corresponding component of \p y.
 
-  forget_all_dbm_constraints(var_space_dim);
-  // Shortest-path closure is preserved, but not reduction.
-  reset_shortest_path_reduced();
-  PPL_ASSERT(OK());
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const Partially_Reduced_Product& y) const;
 
-template <typename T>
-void
-BD_Shape<T>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
-  // This case captures the only legal cylindrification in a 0-dim space.
-  if (vars.empty())
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if each component of \p *this
+    strictly contains the corresponding component of \p y.
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Partially_Reduced_Product& y) const;
 
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) constraints.
-  shortest_path_closure_assign();
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
-    return;
+  //@} // Member Functions that Do Not Modify the Partially_Reduced_Product
 
-  for (Variables_Set::const_iterator vsi = vars.begin(),
-         vsi_end = vars.end(); vsi != vsi_end; ++vsi)
-    forget_all_dbm_constraints(*vsi + 1);
-  // Shortest-path closure is preserved, but not reduction.
-  reset_shortest_path_reduced();
-  PPL_ASSERT(OK());
-}
+  //! \name Space Dimension Preserving Member Functions that May Modify the Partially_Reduced_Product
+  //@{
 
-template <typename T>
-void
-BD_Shape<T>::refine(const Variable var,
-                    const Relation_Symbol relsym,
-                    const Linear_Expression& expr,
-                    Coefficient_traits::const_reference denominator) {
-  PPL_ASSERT(denominator != 0);
-  const dimension_type expr_space_dim = expr.space_dimension();
-  PPL_ASSERT(space_dimension() >= expr_space_dim);
-  const dimension_type v = var.id() + 1;
-  PPL_ASSERT(v <= space_dimension());
-  PPL_ASSERT(expr.coefficient(var) == 0);
-  PPL_ASSERT(relsym != LESS_THAN && relsym != GREATER_THAN);
+  //! Adds constraint \p c to \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void add_constraint(const Constraint& c);
 
-  const Coefficient& b = expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  /*! \brief
+    Use the constraint \p c to refine \p *this.
 
-  // Since we are only able to record bounded differences, we can
-  // precisely deal with the case of a single variable only if its
-  // coefficient (taking into account the denominator) is 1.
-  // If this is not the case, we fall back to the general case
-  // so as to over-approximate the constraint.
-  if (t == 1 && expr.coefficient(Variable(w-1)) != denominator)
-    t = 2;
+    \param c
+    The constraint to be used for refinement.
 
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w != v' and `a == denominator';
-  // - If t == 2, the `expr' is of the general form.
-  const DB_Row<N>& dbm_0 = dbm[0];
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-  if (t == 0) {
-    // Case 1: expr == b.
-    switch (relsym) {
-    case EQUAL:
-      // Add the constraint `var == b/denominator'.
-      add_dbm_constraint(0, v, b, denominator);
-      add_dbm_constraint(v, 0, b, minus_den);
-      break;
-    case LESS_OR_EQUAL:
-      // Add the constraint `var <= b/denominator'.
-      add_dbm_constraint(0, v, b, denominator);
-      break;
-    case GREATER_OR_EQUAL:
-      // Add the constraint `var >= b/denominator',
-      // i.e., `-var <= -b/denominator',
-      add_dbm_constraint(v, 0, b, minus_den);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-    return;
-  }
+  //! Adds a copy of congruence \p cg to \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are
+    dimension-incompatible.
+  */
+  void add_congruence(const Congruence& cg);
 
-  if (t == 1) {
-    // Case 2: expr == a*w + b, w != v, a == denominator.
-    PPL_ASSERT(expr.coefficient(Variable(w-1)) == denominator);
-    PPL_DIRTY_TEMP(N, d);
-    switch (relsym) {
-    case EQUAL:
-      // Add the new constraint `v - w <= b/denominator'.
-      div_round_up(d, b, denominator);
-      add_dbm_constraint(w, v, d);
-      // Add the new constraint `v - w >= b/denominator',
-      // i.e., `w - v <= -b/denominator'.
-      div_round_up(d, b, minus_den);
-      add_dbm_constraint(v, w, d);
-      break;
-    case LESS_OR_EQUAL:
-      // Add the new constraint `v - w <= b/denominator'.
-      div_round_up(d, b, denominator);
-      add_dbm_constraint(w, v, d);
-      break;
-    case GREATER_OR_EQUAL:
-      // Add the new constraint `v - w >= b/denominator',
-      // i.e., `w - v <= -b/denominator'.
-      div_round_up(d, b, minus_den);
-      add_dbm_constraint(v, w, d);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-    return;
-  }
+  /*! \brief
+    Use the congruence \p cg to refine \p *this.
 
-  // Here t == 2, so that either
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2, or
-  // expr == a*w + b, w != v and a != denominator.
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign(minus_b, b);
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -expr;
-  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+    \param cg
+    The congruence to be used for refinement.
 
-  PPL_DIRTY_TEMP(N, sum);
-  // Indices of the variables that are unbounded in `this->dbm'.
-  PPL_UNINITIALIZED(dimension_type, pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pinf_count = 0;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-  // Speculative allocation of temporaries that are used in most
-  // of the computational traces starting from this point (also loops).
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-  PPL_DIRTY_TEMP(N, coeff_i);
+  //! Adds a copy of the congruences in \p cgs to \p *this.
+  /*!
+    \param cgs
+    The congruence system to be added.
 
-  switch (relsym) {
-  case EQUAL:
-    {
-      PPL_DIRTY_TEMP(N, neg_sum);
-      // Indices of the variables that are unbounded in `this->dbm'.
-      PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
-      // Number of unbounded variables found.
-      dimension_type neg_pinf_count = 0;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-      // Compute an upper approximation for `expr' into `sum',
-      // taking into account the sign of `denominator'.
+  /*! \brief
+    Use the congruences in \p cgs to refine \p *this.
 
-      // Approximate the inhomogeneous term.
-      assign_r(sum, sc_b, ROUND_UP);
-      assign_r(neg_sum, minus_sc_b, ROUND_UP);
+    \param  cgs
+    The congruences to be used for refinement.
 
-      // Approximate the homogeneous part of `sc_expr'.
-      // Note: indices above `w' can be disregarded, as they all have
-      // a zero coefficient in `expr'.
-      for (dimension_type i = w; i > 0; --i) {
-        const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-        const int sign_i = sgn(sc_i);
-        if (sign_i == 0)
-          continue;
-        if (sign_i > 0) {
-          assign_r(coeff_i, sc_i, ROUND_UP);
-          // Approximating `sc_expr'.
-          if (pinf_count <= 1) {
-            const N& approx_i = dbm_0[i];
-            if (!is_plus_infinity(approx_i))
-              add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-            else {
-              ++pinf_count;
-              pinf_index = i;
-            }
-          }
-          // Approximating `-sc_expr'.
-          if (neg_pinf_count <= 1) {
-            const N& approx_minus_i = dbm[i][0];
-            if (!is_plus_infinity(approx_minus_i))
-              add_mul_assign_r(neg_sum, coeff_i, approx_minus_i, ROUND_UP);
-            else {
-              ++neg_pinf_count;
-              neg_pinf_index = i;
-            }
-          }
-        }
-        else if (sign_i < 0) {
-          neg_assign(minus_sc_i, sc_i);
-          // Note: using temporary named `coeff_i' to store -coeff_i.
-          assign_r(coeff_i, minus_sc_i, ROUND_UP);
-          // Approximating `sc_expr'.
-          if (pinf_count <= 1) {
-            const N& approx_minus_i = dbm[i][0];
-            if (!is_plus_infinity(approx_minus_i))
-              add_mul_assign_r(sum, coeff_i, approx_minus_i, ROUND_UP);
-            else {
-              ++pinf_count;
-              pinf_index = i;
-            }
-          }
-          // Approximating `-sc_expr'.
-          if (neg_pinf_count <= 1) {
-            const N& approx_i = dbm_0[i];
-            if (!is_plus_infinity(approx_i))
-              add_mul_assign_r(neg_sum, coeff_i, approx_i, ROUND_UP);
-            else {
-              ++neg_pinf_count;
-              neg_pinf_index = i;
-            }
-          }
-        }
-      }
-      // Return immediately if no approximation could be computed.
-      if (pinf_count > 1 && neg_pinf_count > 1) {
-        PPL_ASSERT(OK());
-        return;
-      }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-      // In the following, shortest-path closure will be definitely lost.
-      reset_shortest_path_closed();
+  //! Adds the congruences in \p cgs to *this.
+  /*!
+    \param cgs
+    The congruence system to be added that may be recycled.
 
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-      // Exploit the upper approximation, if possible.
-      if (pinf_count <= 1) {
-        // Compute quotient (if needed).
-        if (down_sc_den != 1)
-          div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-        // Add the upper bound constraint, if meaningful.
-        if (pinf_count == 0) {
-          // Add the constraint `v <= sum'.
-          dbm[0][v] = sum;
-          // Deduce constraints of the form `v - u', where `u != v'.
-          deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
-        }
-        else
-          // Here `pinf_count == 1'.
-          if (pinf_index != v
-              && sc_expr.coefficient(Variable(pinf_index-1)) == sc_den)
-            // Add the constraint `v - pinf_index <= sum'.
-            dbm[pinf_index][v] = sum;
-      }
+    \warning
+    The only assumption that can be made about \p cgs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_congruences(Congruence_System& cgs);
 
-      // Exploit the lower approximation, if possible.
-      if (neg_pinf_count <= 1) {
-        // Compute quotient (if needed).
-        if (down_sc_den != 1)
-          div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
-        // Add the lower bound constraint, if meaningful.
-        if (neg_pinf_count == 0) {
-          // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-          DB_Row<N>& dbm_v = dbm[v];
-          dbm_v[0] = neg_sum;
-          // Deduce constraints of the form `u - v', where `u != v'.
-          deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, neg_sum);
-        }
-        else
-          // Here `neg_pinf_count == 1'.
-          if (neg_pinf_index != v
-              && sc_expr.coefficient(Variable(neg_pinf_index-1)) == sc_den)
-            // Add the constraint `v - neg_pinf_index >= -neg_sum',
-            // i.e., `neg_pinf_index - v <= neg_sum'.
-            dbm[v][neg_pinf_index] = neg_sum;
-      }
-    }
-    break;
+  //! Adds a copy of the constraint system in \p cs to \p *this.
+  /*!
+    \param cs
+    The constraint system to be added.
 
-  case LESS_OR_EQUAL:
-    // Compute an upper approximation for `expr' into `sum',
-    // taking into account the sign of `denominator'.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-    // Approximate the inhomogeneous term.
-    assign_r(sum, sc_b, ROUND_UP);
+  /*! \brief
+    Use the constraints in \p cs to refine \p *this.
 
-    // Approximate the homogeneous part of `sc_expr'.
-    // Note: indices above `w' can be disregarded, as they all have
-    // a zero coefficient in `expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-      const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
-      // Choose carefully: we are approximating `sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm_0[i] : dbm[i][0];
-      if (is_plus_infinity(approx_i)) {
-        if (++pinf_count > 1)
-          break;
-        pinf_index = i;
-        continue;
-      }
-      if (sign_i > 0)
-        assign_r(coeff_i, sc_i, ROUND_UP);
-      else {
-        neg_assign(minus_sc_i, sc_i);
-        assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      }
-      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-    }
+    \param  cs
+     The constraints to be used for refinement.
 
-    // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
-      // Before computing the quotient, the denominator should be
-      // approximated towards zero. Since `sc_den' is known to be
-      // positive, this amounts to rounding downwards, which is achieved
-      // by rounding upwards `minus_sc-den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-    }
+     \exception std::invalid_argument
+     Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
-    if (pinf_count == 0) {
-      // Add the constraint `v <= sum'.
-      add_dbm_constraint(0, v, sum);
-      // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
-    }
-    else if (pinf_count == 1)
-      if (expr.coefficient(Variable(pinf_index-1)) == denominator)
-        // Add the constraint `v - pinf_index <= sum'.
-        add_dbm_constraint(pinf_index, v, sum);
-      break;
+  //! Adds the constraint system in \p cs to \p *this.
+  /*!
+    \param cs
+    The constraint system to be added that may be recycled.
 
-  case GREATER_OR_EQUAL:
-    // Compute an upper approximation for `-sc_expr' into `sum'.
-    // Note: approximating `-sc_expr' from above and then negating the
-    // result is the same as approximating `sc_expr' from below.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-    // Approximate the inhomogeneous term.
-    assign_r(sum, minus_sc_b, ROUND_UP);
+    \warning
+    The only assumption that can be made about \p cs upon successful
+    or exceptional return is that it can be safely destroyed.
+  */
+  void add_recycled_constraints(Constraint_System& cs);
 
-    // Approximate the homogeneous part of `-sc_expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-      const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
-      // Choose carefully: we are approximating `-sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm[i][0] : dbm_0[i];
-      if (is_plus_infinity(approx_i)) {
-        if (++pinf_count > 1)
-          break;
-        pinf_index = i;
-        continue;
-      }
-      if (sign_i > 0)
-        assign_r(coeff_i, sc_i, ROUND_UP);
-      else {
-        neg_assign(minus_sc_i, sc_i);
-        assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      }
-      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-    }
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-    // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
-      // Before computing the quotient, the denominator should be
-      // approximated towards zero. Since `sc_den' is known to be positive,
-      // this amounts to rounding downwards, which is achieved by rounding
-      // upwards `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-    }
+    \param var
+    The space dimension that will be unconstrained.
 
-    if (pinf_count == 0) {
-      // Add the constraint `v >= -sum', i.e., `-v <= sum'.
-      add_dbm_constraint(v, 0, sum);
-      // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, sum);
-    }
-    else if (pinf_count == 1)
-      if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
-        // Add the constraint `v - pinf_index >= -sum',
-        // i.e., `pinf_index - v <= sum'.
-        add_dbm_constraint(v, pinf_index, sum);
-    break;
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-  default:
-    // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
-  }
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p vars,
+    assigning the result to \p *this.
 
-  PPL_ASSERT(OK());
-}
+    \param vars
+    The set of space dimension that will be unconstrained.
 
-template <typename T>
-void
-BD_Shape<T>::affine_image(const Variable var,
-                          const Linear_Expression& expr,
-                          Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void unconstrain(const Variables_Set& vars);
+
+  /*! \brief
+    Assigns to \p *this the componentwise intersection of \p *this and \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Partially_Reduced_Product& y);
+
+  /*! \brief
+    Assigns to \p *this an upper bound of \p *this and \p y
+    computed on the corresponding components.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Partially_Reduced_Product& y);
+
+  /*! \brief
+    Assigns to \p *this an upper bound of \p *this and \p y
+    computed on the corresponding components.
+    If it is exact on each of the components of \p *this, <CODE>true</CODE>
+    is returned, otherwise <CODE>false</CODE> is returned.
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Partially_Reduced_Product& y);
 
-  // `var' should be one of the dimensions of the shape.
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", var.id());
+  /*! \brief
+    Assigns to \p *this an approximation of the set-theoretic difference
+    of \p *this and \p y.
 
-  // The image of an empty BDS is empty too.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Partially_Reduced_Product& y);
 
-  const Coefficient& b = expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  /*! \brief
+    Assigns to \p *this the \ref Single_Update_Affine_Functions
+    "affine image" of \p
+    *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `expr' is of the general form.
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+    \param var
+    The variable to which the affine expression is assigned;
 
-  if (t == 0) {
-    // Case 1: expr == b.
-    // Remove all constraints on `var'.
-    forget_all_dbm_constraints(v);
-    // Shortest-path closure is preserved, but not reduction.
-    if (marked_shortest_path_reduced())
-      reset_shortest_path_reduced();
-    // Add the constraint `var == b/denominator'.
-    add_dbm_constraint(0, v, b, denominator);
-    add_dbm_constraint(v, 0, b, minus_den);
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param expr
+    The numerator of the affine expression;
 
-  if (t == 1) {
-    // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
-      // Case 2: expr == a*w + b, with a == +/- denominator.
-      if (w == v) {
-        // `expr' is of the form: a*v + b.
-        if (a == denominator) {
-          if (b == 0)
-            // The transformation is the identity function.
-            return;
-          else {
-            // Translate all the constraints on `var',
-            // adding or subtracting the value `b/denominator'.
-            PPL_DIRTY_TEMP(N, d);
-            div_round_up(d, b, denominator);
-            PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
-            DB_Row<N>& dbm_v = dbm[v];
-            for (dimension_type i = space_dim + 1; i-- > 0; ) {
-              N& dbm_vi = dbm_v[i];
-              add_assign_r(dbm_vi, dbm_vi, c, ROUND_UP);
-              N& dbm_iv = dbm[i][v];
-              add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP);
-            }
-            // Both shortest-path closure and reduction are preserved.
-          }
-        }
-        else {
-          // Here `a == -denominator'.
-          // Remove the binary constraints on `var'.
-          forget_binary_dbm_constraints(v);
-          // Swap the unary constraints on `var'.
-          std::swap(dbm[v][0], dbm[0][v]);
-          // Shortest-path closure is not preserved.
-          reset_shortest_path_closed();
-          if (b != 0) {
-            // Translate the unary constraints on `var',
-            // adding or subtracting the value `b/denominator'.
-            PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
-            N& dbm_v0 = dbm[v][0];
-            add_assign_r(dbm_v0, dbm_v0, c, ROUND_UP);
-            PPL_DIRTY_TEMP(N, d);
-            div_round_up(d, b, denominator);
-            N& dbm_0v = dbm[0][v];
-            add_assign_r(dbm_0v, dbm_0v, d, ROUND_UP);
-          }
-        }
-      }
-      else {
-        // Here `w != v', so that `expr' is of the form
-        // +/-denominator * w + b.
-        // Remove all constraints on `var'.
-        forget_all_dbm_constraints(v);
-        // Shortest-path closure is preserved, but not reduction.
-        if (marked_shortest_path_reduced())
-          reset_shortest_path_reduced();
-        if (a == denominator) {
-          // Add the new constraint `v - w == b/denominator'.
-          add_dbm_constraint(w, v, b, denominator);
-          add_dbm_constraint(v, w, b, minus_den);
-        }
-        else {
-          // Here a == -denominator, so that we should be adding
-          // the constraint `v + w == b/denominator'.
-          // Approximate it by computing lower and upper bounds for `w'.
-          const N& dbm_w0 = dbm[w][0];
-          if (!is_plus_infinity(dbm_w0)) {
-            // Add the constraint `v <= b/denominator - lower_w'.
-            PPL_DIRTY_TEMP(N, d);
-            div_round_up(d, b, denominator);
-            add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP);
-            reset_shortest_path_closed();
-          }
-          const N& dbm_0w = dbm[0][w];
-          if (!is_plus_infinity(dbm_0w)) {
-            // Add the constraint `v >= b/denominator - upper_w'.
-            PPL_DIRTY_TEMP(N, c);
-            div_round_up(c, b, minus_den);
-            add_assign_r(dbm[v][0], dbm_0w, c, ROUND_UP);
-            reset_shortest_path_closed();
-          }
-        }
-      }
-      PPL_ASSERT(OK());
-      return;
-    }
-  }
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-  // General case.
-  // Either t == 2, so that
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `var' and add back
-  // constraints providing upper and lower bounds for `var'.
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
 
-  // Compute upper approximations for `expr' and `-expr'
-  // into `pos_sum' and `neg_sum', respectively, taking into account
-  // the sign of `denominator'.
-  // Note: approximating `-expr' from above and then negating the
-  // result is the same as approximating `expr' from below.
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign(minus_b, b);
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -expr;
-  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		    = Coefficient_one());
 
-  PPL_DIRTY_TEMP(N, pos_sum);
-  PPL_DIRTY_TEMP(N, neg_sum);
-  // Indices of the variables that are unbounded in `this->dbm'.
-  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
-  PPL_UNINITIALIZED(dimension_type, neg_pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pos_pinf_count = 0;
-  dimension_type neg_pinf_count = 0;
+  /*! \brief
+    Assigns to \p *this the \ref  Single_Update_Affine_Functions
+    "affine preimage" of
+    \p *this under the function mapping variable \p var to the affine
+    expression specified by \p expr and \p denominator.
 
-  // Approximate the inhomogeneous term.
-  assign_r(pos_sum, sc_b, ROUND_UP);
-  assign_r(neg_sum, minus_sc_b, ROUND_UP);
+    \param var
+    The variable to which the affine expression is substituted;
 
-  // Approximate the homogeneous part of `sc_expr'.
-  const DB_Row<N>& dbm_0 = dbm[0];
-  // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP(N, coeff_i);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-  // Note: indices above `w' can be disregarded, as they all have
-  // a zero coefficient in `sc_expr'.
-  for (dimension_type i = w; i > 0; --i) {
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-    const int sign_i = sgn(sc_i);
-    if (sign_i > 0) {
-      assign_r(coeff_i, sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
-        if (!is_plus_infinity(up_approx_i))
-          add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
-        }
-      }
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
-        if (!is_plus_infinity(up_approx_minus_i))
-          add_mul_assign_r(neg_sum, coeff_i, up_approx_minus_i, ROUND_UP);
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = i;
-        }
-      }
-    }
-    else if (sign_i < 0) {
-      neg_assign(minus_sc_i, sc_i);
-      // Note: using temporary named `coeff_i' to store -coeff_i.
-      assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
-        if (!is_plus_infinity(up_approx_minus_i))
-          add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
-        }
-      }
-      // Approximating `-sc_expr'.
-      if (neg_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
-        if (!is_plus_infinity(up_approx_i))
-          add_mul_assign_r(neg_sum, coeff_i, up_approx_i, ROUND_UP);
-        else {
-          ++neg_pinf_count;
-          neg_pinf_index = i;
-        }
-      }
-    }
-  }
+    \param expr
+    The numerator of the affine expression;
 
-  // Remove all constraints on 'v'.
-  forget_all_dbm_constraints(v);
-  // Shortest-path closure is maintained, but not reduction.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
-  // Return immediately if no approximation could be computed.
-  if (pos_pinf_count > 1 && neg_pinf_count > 1) {
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-  // In the following, shortest-path closure will be definitely lost.
-  reset_shortest_path_closed();
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this.
+  */
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
 
-  // Exploit the upper approximation, if possible.
-  if (pos_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the upper bound constraint, if meaningful.
-    if (pos_pinf_count == 0) {
-      // Add the constraint `v <= pos_sum'.
-      dbm[0][v] = pos_sum;
-      // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, pos_sum);
-    }
-    else
-      // Here `pos_pinf_count == 1'.
-      if (pos_pinf_index != v
-          && sc_expr.coefficient(Variable(pos_pinf_index-1)) == sc_den)
-        // Add the constraint `v - pos_pinf_index <= pos_sum'.
-        dbm[pos_pinf_index][v] = pos_sum;
-  }
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym
+    (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
-  // Exploit the lower approximation, if possible.
-  if (neg_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(neg_sum, neg_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the lower bound constraint, if meaningful.
-    if (neg_pinf_count == 0) {
-      // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      DB_Row<N>& dbm_v = dbm[v];
-      dbm_v[0] = neg_sum;
-      // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, neg_sum);
-    }
-    else
-      // Here `neg_pinf_count == 1'.
-      if (neg_pinf_index != v
-          && sc_expr.coefficient(Variable(neg_pinf_index-1)) == sc_den)
-        // Add the constraint `v - neg_pinf_index >= -neg_sum',
-        // i.e., `neg_pinf_index - v <= neg_sum'.
-        dbm[v][neg_pinf_index] = neg_sum;
-  }
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-  PPL_ASSERT(OK());
-}
+    \param relsym
+    The relation symbol;
 
-template <typename T>
-void
-BD_Shape<T>::affine_preimage(const Variable var,
-                             const Linear_Expression& expr,
-                             Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+    \param expr
+    The numerator of the right hand side affine expression;
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-  // `var' should be one of the dimensions of
-  // the bounded difference shapes.
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", var.id());
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
+  */
+  void generalized_affine_image(Variable var,
+				Relation_Symbol relsym,
+				const Linear_Expression& expr,
+				Coefficient_traits::const_reference denominator
+				= Coefficient_one());
 
-  // The image of an empty BDS is empty too.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
+    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
+    by \p relsym.
+   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
-  const Coefficient& b = expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type j = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        j = i;
-    }
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-  // Now we know the form of `expr':
-  // - If t == 0, then expr = b, with `b' a constant;
-  // - If t == 1, then expr = a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t > 1, the `expr' is of the general form.
-  if (t == 0) {
-    // Case 1: expr = n; remove all constraints on `var'.
-    forget_all_dbm_constraints(v);
-    // Shortest-path closure is preserved, but not reduction.
-    if (marked_shortest_path_reduced())
-      reset_shortest_path_reduced();
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param relsym
+    The relation symbol;
 
-  if (t == 1) {
-    // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(j));
-    if (a == denominator || a == -denominator) {
-      // Case 2: expr = a*w + b, with a = +/- denominator.
-      if (j == var.id())
-        // Apply affine_image() on the inverse of this transformation.
-        affine_image(var, denominator*var - b, a);
-      else {
-        // `expr == a*w + b', where `w != v'.
-        // Remove all constraints on `var'.
-        forget_all_dbm_constraints(v);
-        // Shortest-path closure is preserved, but not reduction.
-        if (marked_shortest_path_reduced())
-          reset_shortest_path_reduced();
-        PPL_ASSERT(OK());
-      }
-      return;
-    }
-  }
+    \param expr
+    The numerator of the right hand side affine expression;
 
-  // General case.
-  // Either t == 2, so that
-  // expr = a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t = 1, expr = a*w + b, but a <> +/- denominator.
-  const Coefficient& expr_v = expr.coefficient(var);
-  if (expr_v != 0) {
-    // The transformation is invertible.
-    Linear_Expression inverse((expr_v + denominator)*var);
-    inverse -= expr;
-    affine_image(var, inverse, expr_v);
-  }
-  else {
-    // Transformation not invertible: all constraints on `var' are lost.
-    forget_all_dbm_constraints(v);
-    // Shortest-path closure is preserved, but not reduction.
-    if (marked_shortest_path_reduced())
-      reset_shortest_path_reduced();
-  }
-  PPL_ASSERT(OK());
-}
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-template <typename T>
-void
-BD_Shape<T>
-::bounded_affine_image(const Variable var,
-                       const Linear_Expression& lb_expr,
-                       const Linear_Expression& ub_expr,
-                       Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p expr and \p *this are
+    dimension-incompatible or if \p var is not a space dimension of \p *this
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
+  */
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one());
 
-  // Dimension-compatibility checks.
-  // `var' should be one of the dimensions of the BD_Shape.
-  const dimension_type bds_space_dim = space_dimension();
-  const dimension_type v = var.id() + 1;
-  if (v > bds_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
-                                 "v", var);
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (bds_space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
-                                 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (bds_space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub)",
-                                 "ub", ub_expr);
+  /*! \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
-  // Any image of an empty BDS is empty.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+    \param lhs
+    The left hand side affine expression;
 
-  const Coefficient& b = ub_expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `ub_expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Index of the last non-zero coefficient in `ub_expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = ub_space_dim; i-- > 0; )
-    if (ub_expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+    \param relsym
+    The relation symbol;
+
+    \param rhs
+    The right hand side affine expression.
+
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
+  */
+  void generalized_affine_image(const Linear_Expression& lhs,
+				Relation_Symbol relsym,
+				const Linear_Expression& rhs);
 
-  // Now we know the form of `ub_expr':
-  // - If t == 0, then ub_expr == b, with `b' a constant;
-  // - If t == 1, then ub_expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `ub_expr' is of the general form.
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  /*! \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Generalized_Affine_Relations "generalized affine relation"
+    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
+    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
-  if (t == 0) {
-    // Case 1: ub_expr == b.
-    generalized_affine_image(var,
-                             GREATER_OR_EQUAL,
-                             lb_expr,
-                             denominator);
-    // Add the constraint `var <= b/denominator'.
-    add_dbm_constraint(0, v, b, denominator);
-    PPL_ASSERT(OK());
-    return;
-  }
+    \param lhs
+    The left hand side affine expression;
 
-  if (t == 1) {
-    // Value of the one and only non-zero coefficient in `ub_expr'.
-    const Coefficient& a = ub_expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
-      // Case 2: expr == a*w + b, with a == +/- denominator.
-      if (w == v) {
-        // Here `var' occurs in `ub_expr'.
-        // To ease the computation, we add an additional dimension.
-        const Variable new_var = Variable(bds_space_dim);
-        add_space_dimensions_and_embed(1);
-        // Constrain the new dimension to be equal to `ub_expr'.
-        affine_image(new_var, ub_expr, denominator);
-        // NOTE: enforce shortest-path closure for precision.
-        shortest_path_closure_assign();
-        PPL_ASSERT(!marked_empty());
-        // Apply the affine lower bound.
-        generalized_affine_image(var,
-                                 GREATER_OR_EQUAL,
-                                 lb_expr,
-                                 denominator);
-        // Now apply the affine upper bound, as recorded in `new_var'.
-        add_constraint(var <= new_var);
-        // Remove the temporarily added dimension.
-        remove_higher_space_dimensions(bds_space_dim);
-        return;
-      }
-      else {
-        // Here `w != v', so that `expr' is of the form
-        // +/-denominator * w + b.
-        // Apply the affine lower bound.
-        generalized_affine_image(var,
-                                 GREATER_OR_EQUAL,
-                                 lb_expr,
-                                 denominator);
-        if (a == denominator) {
-          // Add the new constraint `v - w == b/denominator'.
-          add_dbm_constraint(w, v, b, denominator);
-        }
-        else {
-          // Here a == -denominator, so that we should be adding
-          // the constraint `v + w == b/denominator'.
-          // Approximate it by computing lower and upper bounds for `w'.
-          const N& dbm_w0 = dbm[w][0];
-          if (!is_plus_infinity(dbm_w0)) {
-            // Add the constraint `v <= b/denominator - lower_w'.
-            PPL_DIRTY_TEMP(N, d);
-            div_round_up(d, b, denominator);
-            add_assign_r(dbm[0][v], d, dbm_w0, ROUND_UP);
-            reset_shortest_path_closed();
-          }
-        }
-        PPL_ASSERT(OK());
-        return;
-      }
-    }
-  }
+    \param relsym
+    The relation symbol;
 
-  // General case.
-  // Either t == 2, so that
-  // ub_expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, ub_expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `var' and add back
-  // constraints providing upper and lower bounds for `var'.
+    \param rhs
+    The right hand side affine expression.
 
-  // Compute upper approximations for `ub_expr' into `pos_sum'
-  // taking into account the sign of `denominator'.
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign(minus_b, b);
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -ub_expr;
-  const Linear_Expression& sc_expr = is_sc ? ub_expr : minus_expr;
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
+    or if \p *this is a C_Polyhedron and \p relsym is a strict
+    relation symbol.
+  */
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
 
-  PPL_DIRTY_TEMP(N, pos_sum);
-  // Index of the variable that are unbounded in `this->dbm'.
-  PPL_UNINITIALIZED(dimension_type, pos_pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pos_pinf_count = 0;
+  /*!
+    \brief
+    Assigns to \p *this the image of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-  // Approximate the inhomogeneous term.
-  assign_r(pos_sum, sc_b, ROUND_UP);
+    \param var
+    The variable updated by the affine relation;
 
-  // Approximate the homogeneous part of `sc_expr'.
-  const DB_Row<N>& dbm_0 = dbm[0];
-  // Speculative allocation of temporaries to be used in the following loop.
-  PPL_DIRTY_TEMP(N, coeff_i);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
-  // Note: indices above `w' can be disregarded, as they all have
-  // a zero coefficient in `sc_expr'.
-  for (dimension_type i = w; i > 0; --i) {
-    const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-    const int sign_i = sgn(sc_i);
-    if (sign_i > 0) {
-      assign_r(coeff_i, sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& up_approx_i = dbm_0[i];
-        if (!is_plus_infinity(up_approx_i))
-          add_mul_assign_r(pos_sum, coeff_i, up_approx_i, ROUND_UP);
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
-        }
-      }
-    }
-    else if (sign_i < 0) {
-      neg_assign(minus_sc_i, sc_i);
-      // Note: using temporary named `coeff_i' to store -coeff_i.
-      assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      // Approximating `sc_expr'.
-      if (pos_pinf_count <= 1) {
-        const N& up_approx_minus_i = dbm[i][0];
-        if (!is_plus_infinity(up_approx_minus_i))
-          add_mul_assign_r(pos_sum, coeff_i, up_approx_minus_i, ROUND_UP);
-        else {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
-        }
-      }
-    }
-  }
-  // Apply the affine lower bound.
-  generalized_affine_image(var,
-                           GREATER_OR_EQUAL,
-                           lb_expr,
-                           denominator);
-  // Return immediately if no approximation could be computed.
-  if (pos_pinf_count > 1) {
-    return;
-  }
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  // In the following, shortest-path closure will be definitely lost.
-  reset_shortest_path_closed();
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  // Exploit the upper approximation, if possible.
-  if (pos_pinf_count <= 1) {
-    // Compute quotient (if needed).
-    if (sc_den != 1) {
-      // Before computing quotients, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(pos_sum, pos_sum, down_sc_den, ROUND_UP);
-    }
-    // Add the upper bound constraint, if meaningful.
-    if (pos_pinf_count == 0) {
-      // Add the constraint `v <= pos_sum'.
-      dbm[0][v] = pos_sum;
-      // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, pos_sum);
-    }
-    else
-      // Here `pos_pinf_count == 1'.
-      if (pos_pinf_index != v
-          && sc_expr.coefficient(Variable(pos_pinf_index-1)) == sc_den)
-        // Add the constraint `v - pos_pinf_index <= pos_sum'.
-        dbm[pos_pinf_index][v] = pos_sum;
-  }
-  PPL_ASSERT(OK());
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename T>
-void
-BD_Shape<T>
-::bounded_affine_preimage(const Variable var,
-                          const Linear_Expression& lb_expr,
-                          const Linear_Expression& ub_expr,
-                          Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-  // Dimension-compatibility checks.
-  // `var' should be one of the dimensions of the BD_Shape.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
-                                 "v", var);
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-                                 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-                                 "ub", ub_expr);
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-  // Any preimage of an empty BDS is empty.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+    \param var
+    The variable updated by the affine relation;
 
-  if (ub_expr.coefficient(var) == 0) {
-    refine(var, LESS_OR_EQUAL, ub_expr, denominator);
-    generalized_affine_preimage(var, GREATER_OR_EQUAL,
-                                lb_expr, denominator);
-    return;
-  }
-  if (lb_expr.coefficient(var) == 0) {
-    refine(var, GREATER_OR_EQUAL, lb_expr, denominator);
-    generalized_affine_preimage(var, LESS_OR_EQUAL,
-                                ub_expr, denominator);
-    return;
-  }
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  const Coefficient& lb_expr_v = lb_expr.coefficient(var);
-  // Here `var' occurs in `lb_expr' and `ub_expr'.
-  // To ease the computation, we add an additional dimension.
-  const Variable new_var = Variable(space_dim);
-  add_space_dimensions_and_embed(1);
-  const Linear_Expression lb_inverse
-    = lb_expr - (lb_expr_v + denominator)*var;
-  PPL_DIRTY_TEMP_COEFFICIENT(lb_inverse_den);
-  neg_assign(lb_inverse_den, lb_expr_v);
-  affine_image(new_var, lb_inverse, lb_inverse_den);
-  shortest_path_closure_assign();
-  PPL_ASSERT(!marked_empty());
-  generalized_affine_preimage(var, LESS_OR_EQUAL,
-                              ub_expr, denominator);
-  if (sgn(denominator) == sgn(lb_inverse_den))
-    add_constraint(var >= new_var);
-  else
-    add_constraint(var <= new_var);
-  // Remove the temporarily added dimension.
-  remove_higher_space_dimensions(space_dim);
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename T>
-void
-BD_Shape<T>::generalized_affine_image(const Variable var,
-                                      const Relation_Symbol relsym,
-                                      const Linear_Expression& expr,
-                                      Coefficient_traits::const_reference
-                                      denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
-                                 "e", expr);
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-  // `var' should be one of the dimensions of the BDS.
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
-                                 var.id());
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Time_Elapse_Operator
+    "time-elapse" between \p *this and \p y.
+    (See also \ref Grid_Time_Elapse "time-elapse".)
 
-  // The relation symbol cannot be a strict relation symbol.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void time_elapse_assign(const Partially_Reduced_Product& y);
 
-  if (relsym == EQUAL) {
-    // The relation symbol is "=":
-    // this is just an affine image computation.
-    affine_image(var, expr, denominator);
-    return;
-  }
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-  // The image of an empty BDS is empty too.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+  // TODO: Add a way to call other widenings.
 
-  const Coefficient& b = expr.inhomogeneous_term();
-  // Number of non-zero coefficients in `expr': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t = 0;
-  // Index of the last non-zero coefficient in `expr', if any.
-  dimension_type w = 0;
-  // Get information about the number of non-zero coefficients in `expr'.
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    if (expr.coefficient(Variable(i)) != 0) {
-      if (t++ == 1)
-        break;
-      else
-        w = i+1;
-    }
+  // CHECKME: This may not be a real widening; it depends on the reduction
+  //          class R and the widening used.
 
-  // Now we know the form of `expr':
-  // - If t == 0, then expr == b, with `b' a constant;
-  // - If t == 1, then expr == a*w + b, where `w' can be `v' or another
-  //   variable; in this second case we have to check whether `a' is
-  //   equal to `denominator' or `-denominator', since otherwise we have
-  //   to fall back on the general form;
-  // - If t == 2, the `expr' is of the general form.
-  DB_Row<N>& dbm_0 = dbm[0];
-  DB_Row<N>& dbm_v = dbm[v];
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
-  neg_assign(minus_den, denominator);
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    "widening" between \p *this and \p y.
 
-  if (t == 0) {
-    // Case 1: expr == b.
-    // Remove all constraints on `var'.
-    forget_all_dbm_constraints(v);
-    // Both shortest-path closure and reduction are lost.
-    reset_shortest_path_closed();
-    switch (relsym) {
-    case LESS_OR_EQUAL:
-      // Add the constraint `var <= b/denominator'.
-      add_dbm_constraint(0, v, b, denominator);
-      break;
-    case GREATER_OR_EQUAL:
-      // Add the constraint `var >= b/denominator',
-      // i.e., `-var <= -b/denominator',
-      add_dbm_constraint(v, 0, b, minus_den);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-    PPL_ASSERT(OK());
-    return;
-  }
+    This widening uses either the congruence or generator systems
+    depending on which of the systems describing x and y
+    are up to date and minimized.
 
-  if (t == 1) {
-    // Value of the one and only non-zero coefficient in `expr'.
-    const Coefficient& a = expr.coefficient(Variable(w-1));
-    if (a == denominator || a == minus_den) {
-      // Case 2: expr == a*w + b, with a == +/- denominator.
-      PPL_DIRTY_TEMP(N, d);
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        div_round_up(d, b, denominator);
-        if (w == v) {
-          // `expr' is of the form: a*v + b.
-          // Shortest-path closure and reduction are not preserved.
-          reset_shortest_path_closed();
-          if (a == denominator) {
-            // Translate each constraint `v - w <= dbm_wv'
-            // into the constraint `v - w <= dbm_wv + b/denominator';
-            // forget each constraint `w - v <= dbm_vw'.
-            for (dimension_type i = space_dim + 1; i-- > 0; ) {
-              N& dbm_iv = dbm[i][v];
-              add_assign_r(dbm_iv, dbm_iv, d, ROUND_UP);
-              assign_r(dbm_v[i], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-          }
-          else {
-            // Here `a == -denominator'.
-            // Translate the constraint `0 - v <= dbm_v0'
-            // into the constraint `0 - v <= dbm_v0 + b/denominator'.
-            N& dbm_v0 = dbm_v[0];
-            add_assign_r(dbm_0[v], dbm_v0, d, ROUND_UP);
-            // Forget all the other constraints on `v'.
-            assign_r(dbm_v0, PLUS_INFINITY, ROUND_NOT_NEEDED);
-            forget_binary_dbm_constraints(v);
-          }
-        }
-        else {
-          // Here `w != v', so that `expr' is of the form
-          // +/-denominator * w + b, with `w != v'.
-          // Remove all constraints on `v'.
-          forget_all_dbm_constraints(v);
-          // Shortest-path closure is preserved, but not reduction.
-          if (marked_shortest_path_reduced())
-            reset_shortest_path_reduced();
-          if (a == denominator)
-            // Add the new constraint `v - w <= b/denominator'.
-            add_dbm_constraint(w, v, d);
-          else {
-            // Here a == -denominator, so that we should be adding
-            // the constraint `v <= b/denominator - w'.
-            // Approximate it by computing a lower bound for `w'.
-            const N& dbm_w0 = dbm[w][0];
-            if (!is_plus_infinity(dbm_w0)) {
-              // Add the constraint `v <= b/denominator - lb_w'.
-              add_assign_r(dbm_0[v], d, dbm_w0, ROUND_UP);
-              // Shortest-path closure is not preserved.
-              reset_shortest_path_closed();
-            }
-          }
-        }
-        break;
+    \param y
+    A product that <EM>must</EM> be contained in \p *this;
 
-      case GREATER_OR_EQUAL:
-        div_round_up(d, b, minus_den);
-        if (w == v) {
-          // `expr' is of the form: a*w + b.
-          // Shortest-path closure and reduction are not preserved.
-          reset_shortest_path_closed();
-          if (a == denominator) {
-            // Translate each constraint `w - v <= dbm_vw'
-            // into the constraint `w - v <= dbm_vw - b/denominator';
-            // forget each constraint `v - w <= dbm_wv'.
-            for (dimension_type i = space_dim + 1; i-- > 0; ) {
-              N& dbm_vi = dbm_v[i];
-              add_assign_r(dbm_vi, dbm_vi, d, ROUND_UP);
-              assign_r(dbm[i][v], PLUS_INFINITY, ROUND_NOT_NEEDED);
-            }
-          }
-          else {
-            // Here `a == -denominator'.
-            // Translate the constraint `0 - v <= dbm_v0'
-            // into the constraint `0 - v <= dbm_0v - b/denominator'.
-            N& dbm_0v = dbm_0[v];
-            add_assign_r(dbm_v[0], dbm_0v, d, ROUND_UP);
-            // Forget all the other constraints on `v'.
-            assign_r(dbm_0v, PLUS_INFINITY, ROUND_NOT_NEEDED);
-            forget_binary_dbm_constraints(v);
-          }
-        }
-        else {
-          // Here `w != v', so that `expr' is of the form
-          // +/-denominator * w + b, with `w != v'.
-          // Remove all constraints on `v'.
-          forget_all_dbm_constraints(v);
-          // Shortest-path closure is preserved, but not reduction.
-          if (marked_shortest_path_reduced())
-            reset_shortest_path_reduced();
-          if (a == denominator)
-            // Add the new constraint `v - w >= b/denominator',
-            // i.e., `w - v <= -b/denominator'.
-            add_dbm_constraint(v, w, d);
-          else {
-            // Here a == -denominator, so that we should be adding
-            // the constraint `v >= -w + b/denominator',
-            // i.e., `-v <= w - b/denominator'.
-            // Approximate it by computing an upper bound for `w'.
-            const N& dbm_0w = dbm_0[w];
-            if (!is_plus_infinity(dbm_0w)) {
-              // Add the constraint `-v <= ub_w - b/denominator'.
-              add_assign_r(dbm_v[0], dbm_0w, d, ROUND_UP);
-              // Shortest-path closure is not preserved.
-              reset_shortest_path_closed();
-            }
-          }
-        }
-        break;
+    \param tp
+    An optional pointer to an unsigned variable storing the number of
+    available tokens (to be used when applying the
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      PPL_ASSERT(OK());
-      return;
-    }
-  }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void widening_assign(const Partially_Reduced_Product& y,
+                       unsigned* tp = NULL);
 
-  // General case.
-  // Either t == 2, so that
-  // expr == a_1*x_1 + a_2*x_2 + ... + a_n*x_n + b, where n >= 2,
-  // or t == 1, expr == a*w + b, but a <> +/- denominator.
-  // We will remove all the constraints on `v' and add back
-  // a constraint providing an upper or a lower bound for `v'
-  // (depending on `relsym').
-  const bool is_sc = (denominator > 0);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
-  neg_assign(minus_b, b);
-  const Coefficient& sc_b = is_sc ? b : minus_b;
-  const Coefficient& minus_sc_b = is_sc ? minus_b : b;
-  const Coefficient& sc_den = is_sc ? denominator : minus_den;
-  const Coefficient& minus_sc_den = is_sc ? minus_den : denominator;
-  // NOTE: here, for optimization purposes, `minus_expr' is only assigned
-  // when `denominator' is negative. Do not use it unless you are sure
-  // it has been correctly assigned.
-  Linear_Expression minus_expr;
-  if (!is_sc)
-    minus_expr = -expr;
-  const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
 
-  PPL_DIRTY_TEMP(N, sum);
-  // Index of variable that is unbounded in `this->dbm'.
-  PPL_UNINITIALIZED(dimension_type, pinf_index);
-  // Number of unbounded variables found.
-  dimension_type pinf_count = 0;
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-  // Speculative allocation of temporaries to be used in the following loops.
-  PPL_DIRTY_TEMP(N, coeff_i);
-  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-  switch (relsym) {
-  case LESS_OR_EQUAL:
-    // Compute an upper approximation for `sc_expr' into `sum'.
+  /*! \brief
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-    // Approximate the inhomogeneous term.
-    assign_r(sum, sc_b, ROUND_UP);
-    // Approximate the homogeneous part of `sc_expr'.
-    // Note: indices above `w' can be disregarded, as they all have
-    // a zero coefficient in `sc_expr'.
-    for (dimension_type i = w; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-      const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
-      // Choose carefully: we are approximating `sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm_0[i] : dbm[i][0];
-      if (is_plus_infinity(approx_i)) {
-        if (++pinf_count > 1)
-          break;
-        pinf_index = i;
-        continue;
-      }
-      if (sign_i > 0)
-        assign_r(coeff_i, sc_i, ROUND_UP);
-      else {
-        neg_assign(minus_sc_i, sc_i);
-        assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      }
-      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-    }
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
 
-    // Remove all constraints on `v'.
-    forget_all_dbm_constraints(v);
-    // Shortest-path closure is preserved, but not reduction.
-    if (marked_shortest_path_reduced())
-      reset_shortest_path_reduced();
-    // Return immediately if no approximation could be computed.
-    if (pinf_count > 1) {
-      PPL_ASSERT(OK());
-      return;
-    }
+    \param complexity
+    The maximal complexity of any algorithms used.
 
-    // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
-      // Before computing the quotient, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-    }
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
-    if (pinf_count == 0) {
-      // Add the constraint `v <= sum'.
-      add_dbm_constraint(0, v, sum);
-      // Deduce constraints of the form `v - u', where `u != v'.
-      deduce_v_minus_u_bounds(v, w, sc_expr, sc_den, sum);
-    }
-    else if (pinf_count == 1)
-      if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
-        // Add the constraint `v - pinf_index <= sum'.
-        add_dbm_constraint(pinf_index, v, sum);
-    break;
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-  case GREATER_OR_EQUAL:
-    // Compute an upper approximation for `-sc_expr' into `sum'.
-    // Note: approximating `-sc_expr' from above and then negating the
-    // result is the same as approximating `sc_expr' from below.
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-    // Approximate the inhomogeneous term.
-    assign_r(sum, minus_sc_b, ROUND_UP);
-    // Approximate the homogeneous part of `-sc_expr'.
-    for (dimension_type i = expr_space_dim + 1; i > 0; --i) {
-      const Coefficient& sc_i = sc_expr.coefficient(Variable(i-1));
-      const int sign_i = sgn(sc_i);
-      if (sign_i == 0)
-        continue;
-      // Choose carefully: we are approximating `-sc_expr'.
-      const N& approx_i = (sign_i > 0) ? dbm[i][0] : dbm_0[i];
-      if (is_plus_infinity(approx_i)) {
-        if (++pinf_count > 1)
-          break;
-        pinf_index = i;
-        continue;
-      }
-      if (sign_i > 0)
-        assign_r(coeff_i, sc_i, ROUND_UP);
-      else {
-        neg_assign(minus_sc_i, sc_i);
-        assign_r(coeff_i, minus_sc_i, ROUND_UP);
-      }
-      add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
-    }
+  /*! \brief
+    Adds \p m new space dimensions and embeds the components
+    of \p *this in the new vector space.
 
-    // Remove all constraints on `var'.
-    forget_all_dbm_constraints(v);
-    // Shortest-path closure is preserved, but not reduction.
-    if (marked_shortest_path_reduced())
-      reset_shortest_path_reduced();
-    // Return immediately if no approximation could be computed.
-    if (pinf_count > 1) {
-      PPL_ASSERT(OK());
-      return;
-    }
+    \param m
+    The number of dimensions to add.
 
-    // Divide by the (sign corrected) denominator (if needed).
-    if (sc_den != 1) {
-      // Before computing the quotient, the denominator should be approximated
-      // towards zero. Since `sc_den' is known to be positive, this amounts to
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      PPL_DIRTY_TEMP(N, down_sc_den);
-      assign_r(down_sc_den, minus_sc_den, ROUND_UP);
-      neg_assign_r(down_sc_den, down_sc_den, ROUND_UP);
-      div_assign_r(sum, sum, down_sc_den, ROUND_UP);
-    }
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
+ */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-    if (pinf_count == 0) {
-      // Add the constraint `v >= -sum', i.e., `-v <= sum'.
-      add_dbm_constraint(v, 0, sum);
-      // Deduce constraints of the form `u - v', where `u != v'.
-      deduce_u_minus_v_bounds(v, w, sc_expr, sc_den, sum);
-    }
-    else if (pinf_count == 1)
-      if (pinf_index != v
-          && expr.coefficient(Variable(pinf_index-1)) == denominator)
-        // Add the constraint `v - pinf_index >= -sum',
-        // i.e., `pinf_index - v <= sum'.
-        add_dbm_constraint(v, pinf_index, sum);
-    break;
+  /*! \brief
+    Adds \p m new space dimensions and does not embed the components
+    in the new vector space.
 
-  default:
-    // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
-  }
-  PPL_ASSERT(OK());
-}
+    \param m
+    The number of space dimensions to add.
 
-template <typename T>
-void
-BD_Shape<T>::generalized_affine_image(const Linear_Expression& lhs,
-                                      const Relation_Symbol relsym,
-                                      const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type lhs_space_dim = lhs.space_dimension();
-  if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-                                 "e1", lhs);
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the
+    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
+  */
+  void add_space_dimensions_and_project(dimension_type m);
 
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-                                 "e2", rhs);
+  /*! \brief
+    Assigns to the first (resp., second) component of \p *this
+    the "concatenation" of the first (resp., second) components
+    of \p *this and \p y, taken in this order.
+    See also \ref Concatenating_Polyhedra.
 
-  // Strict relation symbols are not admitted for BDSs.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
+  */
+  void concatenate_assign(const Partially_Reduced_Product& y);
 
-  // The image of an empty BDS is empty.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+  //! Removes all the specified dimensions from the vector space.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-  // Number of non-zero coefficients in `lhs': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t_lhs = 0;
-  // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-  const Coefficient& b_lhs = lhs.inhomogeneous_term();
+  /*! \brief
+    Removes the higher dimensions of the vector space so that the
+    resulting space will have dimension \p new_dimension.
 
-  if (t_lhs == 0) {
-    // `lhs' is a constant.
-    // In principle, it is sufficient to add the constraint `lhs relsym rhs'.
-    // Note that this constraint is a bounded difference if `t_rhs <= 1'
-    // or `t_rhs > 1' and `rhs == a*v - a*w + b_rhs'. If `rhs' is of a
-    // more general form, it will be simply ignored.
-    // TODO: if it is not a bounded difference, should we compute
-    // approximations for this constraint?
-    switch (relsym) {
-    case LESS_OR_EQUAL:
-      refine_no_check(lhs <= rhs);
-      break;
-    case EQUAL:
-      refine_no_check(lhs == rhs);
-      break;
-    case GREATER_OR_EQUAL:
-      refine_no_check(lhs >= rhs);
-      break;
-    default:
-      // We already dealt with the other cases.
-      throw std::runtime_error("PPL internal error");
-    }
-  }
-  else if (t_lhs == 1) {
-    // Here `lhs == a_lhs * v + b_lhs'.
-    // Independently from the form of `rhs', we can exploit the
-    // method computing generalized affine images for a single variable.
-    Variable v(j_lhs);
-    // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
-    Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
-      if (relsym == LESS_OR_EQUAL)
-        new_relsym = GREATER_OR_EQUAL;
-      else if (relsym == GREATER_OR_EQUAL)
-        new_relsym = LESS_OR_EQUAL;
-    }
-    Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_image(v, new_relsym, expr, den);
-  }
-  else {
-    // Here `lhs' is of the general form, having at least two variables.
-    // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
-    std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-    if (!lhs_vars_intersects_rhs_vars) {
-      // `lhs' and `rhs' variables are disjoint.
-      // Existentially quantify all variables in the lhs.
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
-      // Constrain the left hand side expression so that it is related to
-      // the right hand side expression as dictated by `relsym'.
-      // TODO: if the following constraint is NOT a bounded difference,
-      // it will be simply ignored. Should we compute approximations for it?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-    }
-    else {
-      // Some variables in `lhs' also occur in `rhs'.
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-#if 1 // Simplified computation (see the TODO note below).
+    If \p pfunc maps only some of the dimensions of \p *this then the
+    rest will be projected away.
 
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
+    If the highest dimension mapped to by \p pfunc is higher than the
+    highest dimension in \p *this then the number of dimensions in \p
+    *this will be increased to the highest dimension mapped to by \p
+    pfunc.
 
-#else // Currently unnecessarily complex computation.
+    \param pfunc
+    The partial function specifying the destiny of each space
+    dimension.
 
-      // More accurate computation that is worth doing only if
-      // the following TODO note is accurately dealt with.
+    The template class <CODE>Partial_Function</CODE> must provide the following
+    methods.
+    \code
+      bool has_empty_codomain() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the represented partial
+    function has an empty codomain (i.e., it is always undefined).
+    The <CODE>has_empty_codomain()</CODE> method will always be called
+    before the methods below.  However, if
+    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
+    of the functions below will be called.
+    \code
+      dimension_type max_in_codomain() const
+    \endcode
+    returns the maximum value that belongs to the codomain of the
+    partial function.
+    The <CODE>max_in_codomain()</CODE> method is called at most once.
+    \code
+      bool maps(dimension_type i, dimension_type& j) const
+    \endcode
+    Let \f$f\f$ be the represented function and \f$k\f$ be the value
+    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
+    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
+    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
+    This method is called at most \f$n\f$ times, where \f$n\f$ is the
+    dimension of the vector space enclosing \p *this.
 
-      // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(space_dim);
-      add_space_dimensions_and_embed(1);
-      // Constrain the new dimension to be equal to `rhs'.
-      // NOTE: calling affine_image() instead of refine_no_check()
-      // ensures some approximation is tried even when the constraint
-      // is not a bounded difference.
-      affine_image(new_var, rhs);
-      // Existentially quantify all variables in the lhs.
-      // NOTE: enforce shortest-path closure for precision.
-      shortest_path_closure_assign();
-      PPL_ASSERT(!marked_empty());
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
-      // Constrain the new dimension so that it is related to
-      // the left hand side as dictated by `relsym'.
-      // TODO: each one of the following constraints is definitely NOT
-      // a bounded differences (since it has 3 variables at least).
-      // Thus, the method refine_no_check() will simply ignore it.
-      // Should we compute approximations for this constraint?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= new_var);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == new_var);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= new_var);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      // Remove the temporarily added dimension.
-      remove_higher_space_dimensions(space_dim-1);
-#endif // Currently unnecessarily complex computation.
-    }
-  }
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in
+    \ref Mapping_the_Dimensions_of_the_Vector_Space
+    "specification of the mapping operator".
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-  PPL_ASSERT(OK());
-}
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-template <typename T>
-void
-BD_Shape<T>::generalized_affine_preimage(const Variable var,
-                                         const Relation_Symbol relsym,
-                                         const Linear_Expression& expr,
-                                         Coefficient_traits::const_reference
-                                         denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)", "d == 0");
+    \param m
+    The number of replicas to be created.
 
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-                                 "e", expr);
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector
+    space.
 
-  // `var' should be one of the dimensions of the BDS.
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-                                 var.id());
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-  // The relation symbol cannot be a strict relation symbol.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
+    "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
 
-  if (relsym == EQUAL) {
-    // The relation symbol is "=":
-    // this is just an affine preimage computation.
-    affine_preimage(var, expr, denominator);
-    return;
-  }
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-  // The preimage of an empty BDS is empty too.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-  // Check whether the preimage of this affine relation can be easily
-  // computed as the image of its inverse relation.
-  const Coefficient& expr_v = expr.coefficient(var);
-  if (expr_v != 0) {
-    const Relation_Symbol reversed_relsym = (relsym == LESS_OR_EQUAL)
-      ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
-    const Linear_Expression inverse
-      = expr - (expr_v + denominator)*var;
-    PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
-    neg_assign(inverse_den, expr_v);
-    const Relation_Symbol inverse_relsym
-      = (sgn(denominator) == sgn(inverse_den)) ? relsym : reversed_relsym;
-    generalized_affine_image(var, inverse_relsym, inverse, inverse_den);
-    return;
-  }
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
-  refine(var, relsym, expr, denominator);
-  // If the shrunk BD_Shape is empty, its preimage is empty too; ...
-  if (is_empty())
-    return;
-  // ...  otherwise, since the relation was not invertible,
-  // we just forget all constraints on `v'.
-  forget_all_dbm_constraints(v);
-  // Shortest-path closure is preserved, but not reduction.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
-  PPL_ASSERT(OK());
-}
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
+    "folded" into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-template <typename T>
-void
-BD_Shape<T>::generalized_affine_preimage(const Linear_Expression& lhs,
-                                         const Relation_Symbol relsym,
-                                         const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type bds_space_dim = space_dimension();
-  const dimension_type lhs_space_dim = lhs.space_dimension();
-  if (bds_space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
-                                 "e1", lhs);
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
+
+  friend bool operator==<>(const Partially_Reduced_Product<D1, D2, R>& x,
+			   const Partially_Reduced_Product<D1, D2, R>& y);
 
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (bds_space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(e1, r, e2)",
-                                 "e2", rhs);
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::
+  operator<<<>(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
 
-  // Strict relation symbols are not admitted for BDSs.
-  if (relsym == LESS_THAN || relsym == GREATER_THAN)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is a strict relation symbol and "
-                  "*this is a BD_Shape");
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(e1, r, e2)",
-                  "r is the disequality relation symbol and "
-                  "*this is a BD_Shape");
+  //! \name Miscellaneous Member Functions
+  //@{
 
-  // The preimage of an empty BDS is empty.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
+  //! Destructor.
+  ~Partially_Reduced_Product();
 
-  // Number of non-zero coefficients in `lhs': will be set to
-  // 0, 1, or 2, the latter value meaning any value greater than 1.
-  dimension_type t_lhs = 0;
-  // Index of the last non-zero coefficient in `lhs', if any.
-  dimension_type j_lhs = 0;
-  // Compute the number of the non-zero components of `lhs'.
-  for (dimension_type i = lhs_space_dim; i-- > 0; )
-    if (lhs.coefficient(Variable(i)) != 0) {
-      if (t_lhs++ == 1)
-        break;
-      else
-        j_lhs = i;
-    }
+  /*! \brief
+    Swaps \p *this with product \p y.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  void m_swap(Partially_Reduced_Product& y);
 
-  const Coefficient& b_lhs = lhs.inhomogeneous_term();
+  PPL_OUTPUT_DECLARATIONS
 
-  if (t_lhs == 0) {
-    // `lhs' is a constant.
-    // In this case, preimage and image happen to be the same.
-    generalized_affine_image(lhs, relsym, rhs);
-    return;
-  }
-  else if (t_lhs == 1) {
-    // Here `lhs == a_lhs * v + b_lhs'.
-    // Independently from the form of `rhs', we can exploit the
-    // method computing generalized affine preimages for a single variable.
-    Variable v(j_lhs);
-    // Compute a sign-corrected relation symbol.
-    const Coefficient& den = lhs.coefficient(v);
-    Relation_Symbol new_relsym = relsym;
-    if (den < 0) {
-      if (relsym == LESS_OR_EQUAL)
-        new_relsym = GREATER_OR_EQUAL;
-      else if (relsym == GREATER_OR_EQUAL)
-        new_relsym = LESS_OR_EQUAL;
-    }
-    Linear_Expression expr = rhs - b_lhs;
-    generalized_affine_preimage(v, new_relsym, expr, den);
-  }
-  else {
-    // Here `lhs' is of the general form, having at least two variables.
-    // Compute the set of variables occurring in `lhs'.
-    bool lhs_vars_intersects_rhs_vars = false;
-    std::vector<Variable> lhs_vars;
-    for (dimension_type i = lhs_space_dim; i-- > 0; )
-      if (lhs.coefficient(Variable(i)) != 0) {
-        lhs_vars.push_back(Variable(i));
-        if (rhs.coefficient(Variable(i)) != 0)
-          lhs_vars_intersects_rhs_vars = true;
-      }
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-    if (!lhs_vars_intersects_rhs_vars) {
-      // `lhs' and `rhs' variables are disjoint.
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-      // Constrain the left hand side expression so that it is related to
-      // the right hand side expression as dictated by `relsym'.
-      // TODO: if the following constraint is NOT a bounded difference,
-      // it will be simply ignored. Should we compute approximations for it?
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(lhs <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(lhs == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(lhs >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-      // If the shrunk BD_Shape is empty, its preimage is empty too; ...
-      if (is_empty())
-        return;
-      // Existentially quantify all variables in the lhs.
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
-    }
-    else {
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
 
-      // Some variables in `lhs' also occur in `rhs'.
-      // To ease the computation, we add an additional dimension.
-      const Variable new_var = Variable(bds_space_dim);
-      add_space_dimensions_and_embed(1);
-      // Constrain the new dimension to be equal to `lhs'.
-      // NOTE: calling affine_image() instead of refine_no_check()
-      // ensures some approximation is tried even when the constraint
-      // is not a bounded difference.
-      affine_image(new_var, lhs);
-      // Existentiallly quantify all variables in the lhs.
-      // NOTE: enforce shortest-path closure for precision.
-      shortest_path_closure_assign();
-      PPL_ASSERT(!marked_empty());
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
-      // Constrain the new dimension so that it is related to
-      // the left hand side as dictated by `relsym'.
-      // Note: if `rhs == a_rhs*v + b_rhs' where `a_rhs' is in {0, 1},
-      // then one of the following constraints will be added,
-      // since it is a bounded difference. Else the method
-      // refine_no_check() will ignore it, because the
-      // constraint is NOT a bounded difference.
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        refine_no_check(new_var <= rhs);
-        break;
-      case EQUAL:
-        refine_no_check(new_var == rhs);
-        break;
-      case GREATER_OR_EQUAL:
-        refine_no_check(new_var >= rhs);
-        break;
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
-      }
-      // Remove the temporarily added dimension.
-      remove_higher_space_dimensions(bds_space_dim);
-    }
-  }
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
 
-  PPL_ASSERT(OK());
-}
+  //@} // Miscellaneous Member Functions
 
-template <typename T>
-Constraint_System
-BD_Shape<T>::constraints() const {
-  Constraint_System cs;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    if (marked_empty())
-      cs = Constraint_System::zero_dim_empty();
-  }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else if (marked_shortest_path_reduced())
-    // Disregard redundant constraints.
-    cs = minimized_constraints();
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(a);
-    PPL_DIRTY_TEMP_COEFFICIENT(b);
-    // Go through all the unary constraints in `dbm'.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type j = 1; j <= space_dim; ++j) {
-      const Variable x(j-1);
-      const N& dbm_0j = dbm_0[j];
-      const N& dbm_j0 = dbm[j][0];
-      if (is_additive_inverse(dbm_j0, dbm_0j)) {
-        // We have a unary equality constraint.
-        numer_denom(dbm_0j, b, a);
-        cs.insert(a*x == b);
-      }
-      else {
-        // We have 0, 1 or 2 unary inequality constraints.
-        if (!is_plus_infinity(dbm_0j)) {
-          numer_denom(dbm_0j, b, a);
-          cs.insert(a*x <= b);
-        }
-        if (!is_plus_infinity(dbm_j0)) {
-          numer_denom(dbm_j0, b, a);
-          cs.insert(-a*x <= b);
-        }
-      }
-    }
+  //! Reduce.
+  /*
+    \return
+    <CODE>true</CODE> if and only if either of the resulting component
+    is strictly contained in the respective original.
+  */
+  bool reduce() const;
 
-    // Go through all the binary constraints in `dbm'.
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const Variable y(i-1);
-      const DB_Row<N>& dbm_i = dbm[i];
-      for (dimension_type j = i + 1; j <= space_dim; ++j) {
-        const Variable x(j-1);
-        const N& dbm_ij = dbm_i[j];
-        const N& dbm_ji = dbm[j][i];
-        if (is_additive_inverse(dbm_ji, dbm_ij)) {
-          // We have a binary equality constraint.
-          numer_denom(dbm_ij, b, a);
-          cs.insert(a*x - a*y == b);
-        }
-        else {
-          // We have 0, 1 or 2 binary inequality constraints.
-          if (!is_plus_infinity(dbm_ij)) {
-            numer_denom(dbm_ij, b, a);
-            cs.insert(a*x - a*y <= b);
-          }
-          if (!is_plus_infinity(dbm_ji)) {
-            numer_denom(dbm_ji, b, a);
-            cs.insert(a*y - a*x <= b);
-          }
-        }
-      }
-    }
-  }
-  return cs;
-}
+protected:
+  //! The type of the first component.
+  typedef D1 Domain1;
 
-template <typename T>
-Constraint_System
-BD_Shape<T>::minimized_constraints() const {
-  shortest_path_reduction_assign();
-  Constraint_System cs;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    if (marked_empty())
-      cs = Constraint_System::zero_dim_empty();
-  }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
-
-    PPL_DIRTY_TEMP_COEFFICIENT(num);
-    PPL_DIRTY_TEMP_COEFFICIENT(den);
-
-    // Compute leader information.
-    std::vector<dimension_type> leaders;
-    compute_leaders(leaders);
-    std::vector<dimension_type> leader_indices;
-    compute_leader_indices(leaders, leader_indices);
-    const dimension_type num_leaders = leader_indices.size();
-
-    // Go through the non-leaders to generate equality constraints.
-    const DB_Row<N>& dbm_0 = dbm[0];
-    for (dimension_type i = 1; i <= space_dim; ++i) {
-      const dimension_type leader = leaders[i];
-      if (i != leader) {
-        // Generate the constraint relating `i' and its leader.
-        if (leader == 0) {
-          // A unary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm_0[i]));
-          numer_denom(dbm_0[i], num, den);
-          cs.insert(den*Variable(i-1) == num);
-        }
-        else {
-          // A binary equality has to be generated.
-          PPL_ASSERT(!is_plus_infinity(dbm[i][leader]));
-          numer_denom(dbm[i][leader], num, den);
-          cs.insert(den*Variable(leader-1) - den*Variable(i-1) == num);
-        }
-      }
-    }
+  //! The type of the second component.
+  typedef D2 Domain2;
 
-    // Go through the leaders to generate inequality constraints.
-    // First generate all the unary inequalities.
-    const Bit_Row& red_0 = redundancy_dbm[0];
-    for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
-      const dimension_type i = leader_indices[l_i];
-      if (!red_0[i]) {
-        numer_denom(dbm_0[i], num, den);
-        cs.insert(den*Variable(i-1) <= num);
-      }
-      if (!redundancy_dbm[i][0]) {
-        numer_denom(dbm[i][0], num, den);
-        cs.insert(-den*Variable(i-1) <= num);
-      }
-    }
-    // Then generate all the binary inequalities.
-    for (dimension_type l_i = 1; l_i < num_leaders; ++l_i) {
-      const dimension_type i = leader_indices[l_i];
-      const DB_Row<N>& dbm_i = dbm[i];
-      const Bit_Row& red_i = redundancy_dbm[i];
-      for (dimension_type l_j = l_i + 1; l_j < num_leaders; ++l_j) {
-        const dimension_type j = leader_indices[l_j];
-        if (!red_i[j]) {
-          numer_denom(dbm_i[j], num, den);
-          cs.insert(den*Variable(j-1) - den*Variable(i-1) <= num);
-        }
-        if (!redundancy_dbm[j][i]) {
-          numer_denom(dbm[j][i], num, den);
-          cs.insert(den*Variable(i-1) - den*Variable(j-1) <= num);
-        }
-      }
-    }
-  }
-  return cs;
-}
+  //! The first component.
+  D1 d1;
 
-template <typename T>
-void
-BD_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
-  dimension_type old_dim = space_dimension();
-  // `var' should be one of the dimensions of the vector space.
-  if (var.space_dimension() > old_dim)
-    throw_dimension_incompatible("expand_space_dimension(v, m)", "v", var);
+  //! The second component.
+  D2 d2;
 
-  // The space dimension of the resulting BDS should not
-  // overflow the maximum allowed space dimension.
-  if (m > max_space_dimension() - space_dimension())
-    throw_generic("expand_dimension(v, m)",
-                  "adding m new space dimensions exceeds "
-                  "the maximum allowed space dimension");
+protected:
+  //! Clears the reduced flag.
+  void clear_reduced_flag() const;
 
-  // Nothing to do, if no dimensions must be added.
-  if (m == 0)
-    return;
+  //! Sets the reduced flag.
+  void set_reduced_flag() const;
 
-  // Add the required new dimensions.
-  add_space_dimensions_and_embed(m);
+  //! Return <CODE>true</CODE> if and only if the reduced flag is set.
+  bool is_reduced() const;
 
-  // For each constraints involving variable `var', we add a
-  // similar constraint with the new variable substituted for
-  // variable `var'.
-  const dimension_type v_id = var.id() + 1;
-  const DB_Row<N>& dbm_v = dbm[v_id];
-  for (dimension_type i = old_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    const N& dbm_i_v = dbm[i][v_id];
-    const N& dbm_v_i = dbm_v[i];
-    for (dimension_type j = old_dim+1; j < old_dim+m+1; ++j) {
-      dbm_i[j] = dbm_i_v;
-      dbm[j][i] = dbm_v_i;
-    }
-  }
-  // In general, adding a constraint does not preserve the shortest-path
-  // closure or reduction of the bounded difference shape.
-  if (marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    Flag to record whether the components are reduced with respect
+    to each other and the reduction class.
+  */
+  bool reduced;
 
-template <typename T>
-void
-BD_Shape<T>::fold_space_dimensions(const Variables_Set& vars,
-                                   Variable dest) {
-  const dimension_type space_dim = space_dimension();
-  // `dest' should be one of the dimensions of the BDS.
-  if (dest.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
-                                 "v", dest);
+private:
+  void throw_space_dimension_overflow(const char* method,
+                                      const char* reason);
+};
 
-  // The folding of no dimensions is a no-op.
-  if (vars.empty())
-    return;
+namespace Parma_Polyhedra_Library {
 
-  // All variables in `vars' should be dimensions of the BDS.
-  if (vars.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
-                                 vars.space_dimension());
+/*! \brief
+  This class is temporary and will be removed when template typedefs will
+  be supported in C++.
 
-  // Moreover, `dest.id()' should not occur in `vars'.
-  if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-                  "v should not occur in vs");
+  When template typedefs will be supported in C++, what now is verbosely
+  denoted by Domain_Product<Domain1, Domain2>::Direct_Product will simply
+  be denoted by Direct_Product<Domain1, Domain2>.
+*/
+template <typename D1, typename D2>
+class Domain_Product {
+public:
+  typedef Partially_Reduced_Product<D1, D2, No_Reduction<D1, D2> >
+  Direct_Product;
 
-  shortest_path_closure_assign();
-  if (!marked_empty()) {
-    // Recompute the elements of the row and the column corresponding
-    // to variable `dest' by taking the join of their value with the
-    // value of the corresponding elements in the row and column of the
-    // variable `vars'.
-    const dimension_type v_id = dest.id() + 1;
-    DB_Row<N>& dbm_v = dbm[v_id];
-    for (Variables_Set::const_iterator i = vars.begin(),
-           vs_end = vars.end(); i != vs_end; ++i) {
-      const dimension_type tbf_id = *i + 1;
-      const DB_Row<N>& dbm_tbf = dbm[tbf_id];
-      for (dimension_type j = space_dim + 1; j-- > 0; ) {
-        max_assign(dbm[j][v_id], dbm[j][tbf_id]);
-        max_assign(dbm_v[j], dbm_tbf[j]);
-      }
-    }
-  }
-  remove_space_dimensions(vars);
-}
+  typedef Partially_Reduced_Product<D1, D2, Smash_Reduction<D1, D2> >
+  Smash_Product;
 
-template <typename T>
-void
-BD_Shape<T>::drop_some_non_integer_points(Complexity_Class) {
-  if (std::numeric_limits<T>::is_integer)
-    return;
+  typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
+  Constraints_Product;
 
-  const dimension_type space_dim = space_dimension();
-  shortest_path_closure_assign();
-  if (space_dim == 0 || marked_empty())
-    return;
+  typedef Partially_Reduced_Product<D1, D2, Congruences_Reduction<D1, D2> >
+  Congruences_Product;
 
-  for (dimension_type i = space_dim + 1; i-- > 0; ) {
-    DB_Row<N>& dbm_i = dbm[i];
-    for (dimension_type j = space_dim + 1; j-- > 0; )
-      if (i != j)
-        drop_some_non_integer_points_helper(dbm_i[j]);
-  }
-  PPL_ASSERT(OK());
-}
+  typedef Partially_Reduced_Product<D1, D2, Shape_Preserving_Reduction<D1, D2> >
+  Shape_Preserving_Product;
+};
 
-template <typename T>
-void
-BD_Shape<T>::drop_some_non_integer_points(const Variables_Set& vars,
-                                          Complexity_Class) {
-  // Dimension-compatibility check.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dim < min_space_dim)
-    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
-                                 min_space_dim);
+} // namespace Parma_Polyhedra_Library
 
-  if (std::numeric_limits<T>::is_integer || min_space_dim == 0)
-    return;
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 1. */
+/* Partially_Reduced_Product class implementation: inline functions.
+*/
 
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
 
-  const Variables_Set::const_iterator v_begin = vars.begin();
-  const Variables_Set::const_iterator v_end = vars.end();
-  PPL_ASSERT(v_begin != v_end);
-  // Unary constraints on a variable occurring in `vars'.
-  DB_Row<N>& dbm_0 = dbm[0];
-  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
-    const dimension_type i = *v_i + 1;
-    drop_some_non_integer_points_helper(dbm_0[i]);
-    drop_some_non_integer_points_helper(dbm[i][0]);
-  }
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 32. */
 
-  // Binary constraints where both variables occur in `vars'.
-  for (Variables_Set::const_iterator v_i = v_begin; v_i != v_end; ++v_i) {
-    const dimension_type i = *v_i + 1;
-    DB_Row<N>& dbm_i = dbm[i];
-    for (Variables_Set::const_iterator v_j = v_begin; v_j != v_end; ++v_j) {
-      const dimension_type j = *v_j + 1;
-      if (i != j)
-        drop_some_non_integer_points_helper(dbm_i[j]);
-    }
-  }
-  PPL_ASSERT(OK());
+namespace Parma_Polyhedra_Library {
+
+template <typename D1, typename D2, typename R>
+inline dimension_type
+Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
+  return (D1::max_space_dimension() < D2::max_space_dimension())
+    ? D1::max_space_dimension()
+    : D2::max_space_dimension();
 }
 
-/*! \relates Parma_Polyhedra_Library::BD_Shape */
-template <typename T>
-std::ostream&
-IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
-  typedef typename BD_Shape<T>::coefficient_type N;
-  if (c.is_universe())
-    s << "true";
-  else {
-    // We control empty bounded difference shape.
-    dimension_type n = c.space_dimension();
-    if (c.marked_empty())
-      s << "false";
-    else {
-      PPL_DIRTY_TEMP(N, v);
-      bool first = true;
-      for (dimension_type i = 0; i <= n; ++i)
-        for (dimension_type j = i + 1; j <= n; ++j) {
-          const N& c_i_j = c.dbm[i][j];
-          const N& c_j_i = c.dbm[j][i];
-          if (is_additive_inverse(c_j_i, c_i_j)) {
-            // We will print an equality.
-            if (first)
-              first = false;
-            else
-              s << ", ";
-            if (i == 0) {
-              // We have got a equality constraint with one variable.
-              s << Variable(j - 1);
-              s << " = " << c_i_j;
-            }
-            else {
-              // We have got a equality constraint with two variables.
-              if (sgn(c_i_j) >= 0) {
-                s << Variable(j - 1);
-                s << " - ";
-                s << Variable(i - 1);
-                s << " = " << c_i_j;
-              }
-              else {
-                s << Variable(i - 1);
-                s << " - ";
-                s << Variable(j - 1);
-                s << " = " << c_j_i;
-              }
-            }
-          }
-          else {
-            // We will print a non-strict inequality.
-            if (!is_plus_infinity(c_j_i)) {
-              if (first)
-                first = false;
-              else
-                s << ", ";
-              if (i == 0) {
-                // We have got a constraint with only one variable.
-                s << Variable(j - 1);
-                neg_assign_r(v, c_j_i, ROUND_DOWN);
-                s << " >= " << v;
-              }
-              else {
-                // We have got a constraint with two variables.
-                if (sgn(c_j_i) >= 0) {
-                  s << Variable(i - 1);
-                  s << " - ";
-                  s << Variable(j - 1);
-                  s << " <= " << c_j_i;
-                }
-                else {
-                  s << Variable(j - 1);
-                  s << " - ";
-                  s << Variable(i - 1);
-                  neg_assign_r(v, c_j_i, ROUND_DOWN);
-                  s << " >= " << v;
-                }
-              }
-            }
-            if (!is_plus_infinity(c_i_j)) {
-              if (first)
-                first = false;
-              else
-                s << ", ";
-              if (i == 0) {
-                // We have got a constraint with only one variable.
-                s << Variable(j - 1);
-                s << " <= " << c_i_j;
-              }
-              else {
-                // We have got a constraint with two variables.
-                if (sgn(c_i_j) >= 0) {
-                  s << Variable(j - 1);
-                  s << " - ";
-                  s << Variable(i - 1);
-                  s << " <= " << c_i_j;
-                }
-                else {
-                  s << Variable(i - 1);
-                  s << " - ";
-                  s << Variable(j - 1);
-                  neg_assign_r(v, c_i_j, ROUND_DOWN);
-                  s << " >= " << v;
-                }
-              }
-            }
-          }
-        }
-    }
-  }
-  return s;
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(dimension_type num_dimensions,
+			    const Degenerate_Element kind)
+  : d1(num_dimensions <= max_space_dimension()
+       ? num_dimensions
+       : (throw_space_dimension_overflow("Partially_Reduced_Product(n, k)",
+                                         "n exceeds the maximum "
+                                         "allowed space dimension"),
+          num_dimensions),
+       kind),
+    d2(num_dimensions, kind) {
+  set_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Congruence_System& cgs)
+  : d1(cgs), d2(cgs) {
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(Congruence_System& cgs)
+  : d1(const_cast<const Congruence_System&>(cgs)), d2(cgs) {
+  clear_reduced_flag();
 }
 
-template <typename T>
-void
-BD_Shape<T>::ascii_dump(std::ostream& s) const {
-  status.ascii_dump(s);
-  s << "\n";
-  dbm.ascii_dump(s);
-  s << "\n";
-  redundancy_dbm.ascii_dump(s);
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Constraint_System& cs)
+  : d1(cs), d2(cs) {
+  clear_reduced_flag();
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, BD_Shape<T>)
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(Constraint_System& cs)
+  : d1(const_cast<const Constraint_System&>(cs)), d2(cs) {
+  clear_reduced_flag();
+}
 
-template <typename T>
-bool
-BD_Shape<T>::ascii_load(std::istream& s) {
-  if (!status.ascii_load(s))
-    return false;
-  if (!dbm.ascii_load(s))
-    return false;
-  if (!redundancy_dbm.ascii_load(s))
-    return false;
-  return true;
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const C_Polyhedron& ph,
+                            Complexity_Class complexity)
+  : d1(ph, complexity), d2(ph, complexity) {
+  set_reduced_flag();
 }
 
-template <typename T>
-memory_size_type
-BD_Shape<T>::external_memory_in_bytes() const {
-  return dbm.external_memory_in_bytes()
-    + redundancy_dbm.external_memory_in_bytes();
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const NNC_Polyhedron& ph,
+                            Complexity_Class complexity)
+  : d1(ph, complexity), d2(ph, complexity) {
+  set_reduced_flag();
 }
 
-template <typename T>
-bool
-BD_Shape<T>::OK() const {
-  // Check whether the difference-bound matrix is well-formed.
-  if (!dbm.OK())
-    return false;
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Grid& gr, Complexity_Class)
+  : d1(gr), d2(gr) {
+  set_reduced_flag();
+}
 
-  // Check whether the status information is legal.
-  if (!status.OK())
-    return false;
+template <typename D1, typename D2, typename R>
+template <typename Interval>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Box<Interval>& box, Complexity_Class)
+  : d1(box), d2(box) {
+  set_reduced_flag();
+}
 
-  // An empty BDS is OK.
-  if (marked_empty())
-    return true;
+template <typename D1, typename D2, typename R>
+template <typename U>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const BD_Shape<U>& bd, Complexity_Class)
+  : d1(bd), d2(bd) {
+  set_reduced_flag();
+}
 
-  // MINUS_INFINITY cannot occur at all.
-  for (dimension_type i = dbm.num_rows(); i-- > 0; )
-    for (dimension_type j = dbm.num_rows(); j-- > 0; )
-      if (is_minus_infinity(dbm[i][j])) {
-#ifndef NDEBUG
-        using namespace Parma_Polyhedra_Library::IO_Operators;
-        std::cerr << "BD_Shape::dbm[" << i << "][" << j << "] = "
-                  << dbm[i][j] << "!"
-                  << std::endl;
-#endif
-        return false;
-      }
+template <typename D1, typename D2, typename R>
+template <typename U>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Octagonal_Shape<U>& os, Complexity_Class)
+  : d1(os), d2(os) {
+  set_reduced_flag();
+}
 
-  // On the main diagonal only PLUS_INFINITY can occur.
-  for (dimension_type i = dbm.num_rows(); i-- > 0; )
-    if (!is_plus_infinity(dbm[i][i])) {
-#ifndef NDEBUG
-      using namespace Parma_Polyhedra_Library::IO_Operators;
-      std::cerr << "BD_Shape::dbm[" << i << "][" << i << "] = "
-                << dbm[i][i] << "!  (+inf was expected.)"
-                << std::endl;
-#endif
-      return false;
-    }
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Partially_Reduced_Product& y,
+                            Complexity_Class)
+  : d1(y.d1), d2(y.d2) {
+  reduced = y.reduced;
+}
 
-  // Check whether the shortest-path closure information is legal.
-  if (marked_shortest_path_closed()) {
-    BD_Shape x = *this;
-    x.reset_shortest_path_closed();
-    x.shortest_path_closure_assign();
-    if (x.dbm != dbm) {
-#ifndef NDEBUG
-      std::cerr << "BD_Shape is marked as closed but it is not!"
-                << std::endl;
-#endif
-      return false;
-    }
-  }
+template <typename D1, typename D2, typename R>
+template <typename E1, typename E2, typename S>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
+                            Complexity_Class complexity)
+  : d1(y.space_dimension()), d2(y.space_dimension()) {
+  Partially_Reduced_Product<D1, D2, R> pg1(y.domain1(), complexity);
+  Partially_Reduced_Product<D1, D2, R> pg2(y.domain2(), complexity);
+  pg1.intersection_assign(pg2);
+  m_swap(pg1);
+  /* Even if y is reduced, the built product may not be reduced as
+     the reduction method may have changed (i.e., S != R). */
+  clear_reduced_flag();
+}
 
-  // The following tests might result in false alarms when using floating
-  // point coefficients: they are only meaningful if the coefficient type
-  // base is exact (since otherwise shortest-path closure is approximated).
-  if (std::numeric_limits<coefficient_type_base>::is_exact) {
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
+}
 
-    // Check whether the shortest-path reduction information is legal.
-    if (marked_shortest_path_reduced()) {
-      // A non-redundant constraint cannot be equal to PLUS_INFINITY.
-      for (dimension_type i = dbm.num_rows(); i-- > 0; )
-        for (dimension_type j = dbm.num_rows(); j-- > 0; )
-          if (!redundancy_dbm[i][j] && is_plus_infinity(dbm[i][j])) {
-#ifndef NDEBUG
-            using namespace Parma_Polyhedra_Library::IO_Operators;
-            std::cerr << "BD_Shape::dbm[" << i << "][" << j << "] = "
-                      << dbm[i][j] << " is marked as non-redundant!"
-                      << std::endl;
-#endif
-            return false;
-          }
+template <typename D1, typename D2, typename R>
+inline memory_size_type
+Partially_Reduced_Product<D1, D2, R>::external_memory_in_bytes() const {
+  return d1.external_memory_in_bytes() + d2.external_memory_in_bytes();
+}
 
-      BD_Shape x = *this;
-      x.reset_shortest_path_reduced();
-      x.shortest_path_reduction_assign();
-      if (x.redundancy_dbm != redundancy_dbm) {
-#ifndef NDEBUG
-        std::cerr << "BD_Shape is marked as reduced but it is not!"
-                  << std::endl;
-#endif
-        return false;
-      }
-    }
-  }
+template <typename D1, typename D2, typename R>
+inline memory_size_type
+Partially_Reduced_Product<D1, D2, R>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  // All checks passed.
-  return true;
+template <typename D1, typename D2, typename R>
+inline dimension_type
+Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
+  PPL_ASSERT(d1.space_dimension() == d2.space_dimension());
+  return d1.space_dimension();
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const BD_Shape& y) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", y->space_dimension() == " << y.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline dimension_type
+Partially_Reduced_Product<D1, D2, R>::affine_dimension() const {
+  reduce();
+  const dimension_type d1_dim = d1.affine_dimension();
+  const dimension_type d2_dim = d2.affine_dimension();
+  return std::min(d1_dim, d2_dim);
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          dimension_type required_dim) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", required dimension == " << required_dim << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::unconstrain(const Variable var) {
+  reduce();
+  d1.unconstrain(var);
+  d2.unconstrain(var);
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const Constraint& c) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", c->space_dimension == " << c.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::unconstrain(const Variables_Set& vars) {
+  reduce();
+  d1.unconstrain(vars);
+  d2.unconstrain(vars);
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const Congruence& cg) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", cg->space_dimension == " << cg.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::intersection_assign(const Partially_Reduced_Product& y) {
+  d1.intersection_assign(y.d1);
+  d2.intersection_assign(y.d2);
+  clear_reduced_flag();
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const Generator& g) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", g->space_dimension == " << g.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::difference_assign(const Partially_Reduced_Product& y) {
+  reduce();
+  y.reduce();
+  d1.difference_assign(y.d1);
+  d2.difference_assign(y.d2);
+  clear_reduced_flag();
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_expression_too_complex(const char* method,
-                                          const Linear_Expression& e) {
-  using namespace IO_Operators;
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << e << " is too complex.";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::upper_bound_assign(const Partially_Reduced_Product& y) {
+  reduce();
+  y.reduce();
+  d1.upper_bound_assign(y.d1);
+  d2.upper_bound_assign(y.d2);
 }
 
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::upper_bound_assign_if_exact(const Partially_Reduced_Product& y) {
+  reduce();
+  y.reduce();
+  D1 d1_copy = d1;
+  bool ub_exact = d1_copy.upper_bound_assign_if_exact(y.d1);
+  if (!ub_exact)
+    return false;
+  ub_exact = d2.upper_bound_assign_if_exact(y.d2);
+  if (!ub_exact)
+    return false;
+  using std::swap;
+  swap(d1, d1_copy);
+  return true;
+}
 
-template <typename T>
-void
-BD_Shape<T>::throw_dimension_incompatible(const char* method,
-                                          const char* name_row,
-                                          const Linear_Expression& y) const {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << y.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::affine_image(Variable var,
+	       const Linear_Expression& expr,
+	       Coefficient_traits::const_reference denominator) {
+  d1.affine_image(var, expr, denominator);
+  d2.affine_image(var, expr, denominator);
+  clear_reduced_flag();
 }
 
-template <typename T>
-void
-BD_Shape<T>::throw_generic(const char* method, const char* reason) {
-  std::ostringstream s;
-  s << "PPL::BD_Shape::" << method << ":" << std::endl
-    << reason << ".";
-  throw std::invalid_argument(s.str());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::affine_preimage(Variable var,
+		  const Linear_Expression& expr,
+		  Coefficient_traits::const_reference denominator) {
+  d1.affine_preimage(var, expr, denominator);
+  d2.affine_preimage(var, expr, denominator);
+  clear_reduced_flag();
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::generalized_affine_image(Variable var,
+			   const Relation_Symbol relsym,
+			   const Linear_Expression& expr,
+			   Coefficient_traits::const_reference denominator) {
+  d1.generalized_affine_image(var, relsym, expr, denominator);
+  d2.generalized_affine_image(var, relsym, expr, denominator);
+  clear_reduced_flag();
+}
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 2173. */
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::generalized_affine_preimage(Variable var,
+			      const Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator) {
+  d1.generalized_affine_preimage(var, relsym, expr, denominator);
+  d2.generalized_affine_preimage(var, relsym, expr, denominator);
+  clear_reduced_flag();
+}
 
-/* Automatically generated from PPL source file ../src/Box.templates.hh line 40. */
-#include <vector>
-#include <map>
-#include <iostream>
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::generalized_affine_image(const Linear_Expression& lhs,
+			   const Relation_Symbol relsym,
+			   const Linear_Expression& rhs) {
+  d1.generalized_affine_image(lhs, relsym, rhs);
+  d2.generalized_affine_image(lhs, relsym, rhs);
+  clear_reduced_flag();
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::generalized_affine_preimage(const Linear_Expression& lhs,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& rhs) {
+  d1.generalized_affine_preimage(lhs, relsym, rhs);
+  d2.generalized_affine_preimage(lhs, relsym, rhs);
+  clear_reduced_flag();
+}
 
-template <typename ITV>
-inline
-Box<ITV>::Box(dimension_type num_dimensions, Degenerate_Element kind)
-  : seq(num_dimensions <= max_space_dimension()
-	? num_dimensions
-	: (throw_space_dimension_overflow("Box(n, k)",
-					  "n exceeds the maximum "
-					  "allowed space dimension"),
-	   num_dimensions)),
-    status() {
-  // In a box that is marked empty the intervals are completely
-  // meaningless: we exploit this by avoiding their initialization.
-  if (kind == UNIVERSE) {
-    for (dimension_type i = num_dimensions; i-- > 0; )
-      seq[i].assign(UNIVERSE);
-    set_empty_up_to_date();
-  }
-  else
-    set_empty();
-  PPL_ASSERT(OK());
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::bounded_affine_image(Variable var,
+                       const Linear_Expression& lb_expr,
+                       const Linear_Expression& ub_expr,
+                       Coefficient_traits::const_reference denominator) {
+  d1.bounded_affine_image(var, lb_expr, ub_expr, denominator);
+  d2.bounded_affine_image(var, lb_expr, ub_expr, denominator);
+  clear_reduced_flag();
 }
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Constraint_System& cs)
-  : seq(cs.space_dimension() <= max_space_dimension()
-	? cs.space_dimension()
-	: (throw_space_dimension_overflow("Box(cs)",
-					  "cs exceeds the maximum "
-					  "allowed space dimension"),
-	   cs.space_dimension())),
-    status() {
-  // FIXME: check whether we can avoid the double initialization.
-  for (dimension_type i = cs.space_dimension(); i-- > 0; )
-    seq[i].assign(UNIVERSE);
-  add_constraints_no_check(cs);
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::bounded_affine_preimage(Variable var,
+                          const Linear_Expression& lb_expr,
+                          const Linear_Expression& ub_expr,
+                          Coefficient_traits::const_reference denominator) {
+  d1.bounded_affine_preimage(var, lb_expr, ub_expr, denominator);
+  d2.bounded_affine_preimage(var, lb_expr, ub_expr, denominator);
+  clear_reduced_flag();
 }
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Congruence_System& cgs)
-  : seq(cgs.space_dimension() <= max_space_dimension()
-	? cgs.space_dimension()
-	: (throw_space_dimension_overflow("Box(cgs)",
-					  "cgs exceeds the maximum "
-					  "allowed space dimension"),
-	   cgs.space_dimension())),
-    status() {
-  // FIXME: check whether we can avoid the double initialization.
-  for (dimension_type i = cgs.space_dimension(); i-- > 0; )
-    seq[i].assign(UNIVERSE);
-  add_congruences_no_check(cgs);
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::time_elapse_assign(const Partially_Reduced_Product& y) {
+  reduce();
+  y.reduce();
+  d1.time_elapse_assign(y.d1);
+  d2.time_elapse_assign(y.d2);
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename ITV>
-template <typename Other_ITV>
-inline
-Box<ITV>::Box(const Box<Other_ITV>& y, Complexity_Class)
-  : seq(y.space_dimension()),
-    // FIXME: why the following does not work?
-    // status(y.status) {
-    status() {
-  // FIXME: remove when the above is fixed.
-  if (y.marked_empty())
-    set_empty();
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::topological_closure_assign() {
+  d1.topological_closure_assign();
+  d2.topological_closure_assign();
+}
 
-  if (!y.marked_empty())
-    for (dimension_type k = y.space_dimension(); k-- > 0; )
-      seq[k].assign(y.seq[k]);
-  PPL_ASSERT(OK());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::m_swap(Partially_Reduced_Product& y) {
+  using std::swap;
+  swap(d1, y.d1);
+  swap(d2, y.d2);
+  swap(reduced, y.reduced);
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::add_constraint(const Constraint& c) {
+  d1.add_constraint(c);
+  d2.add_constraint(c);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::refine_with_constraint(const Constraint& c) {
+  d1.refine_with_constraint(c);
+  d2.refine_with_constraint(c);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::add_congruence(const Congruence& cg) {
+  d1.add_congruence(cg);
+  d2.add_congruence(cg);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::refine_with_congruence(const Congruence& cg) {
+  d1.refine_with_congruence(cg);
+  d2.refine_with_congruence(cg);
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::add_constraints(const Constraint_System& cs) {
+  d1.add_constraints(cs);
+  d2.add_constraints(cs);
+  clear_reduced_flag();
 }
 
-template <typename ITV>
-Box<ITV>::Box(const Generator_System& gs)
-  : seq(gs.space_dimension() <= max_space_dimension()
-	? gs.space_dimension()
-	: (throw_space_dimension_overflow("Box(gs)",
-					  "gs exceeds the maximum "
-					  "allowed space dimension"),
-	   gs.space_dimension())),
-    status() {
-  const Generator_System::const_iterator gs_begin = gs.begin();
-  const Generator_System::const_iterator gs_end = gs.end();
-  if (gs_begin == gs_end) {
-    // An empty generator system defines the empty box.
-    set_empty();
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::refine_with_constraints(const Constraint_System& cs) {
+  d1.refine_with_constraints(cs);
+  d2.refine_with_constraints(cs);
+  clear_reduced_flag();
+}
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::add_congruences(const Congruence_System& cgs) {
+  d1.add_congruences(cgs);
+  d2.add_congruences(cgs);
+  clear_reduced_flag();
+}
 
-  const dimension_type space_dim = space_dimension();
-  PPL_DIRTY_TEMP(mpq_class, q);
-  bool point_seen = false;
-  // Going through all the points.
-  for (Generator_System::const_iterator
-	 gs_i = gs_begin; gs_i != gs_end; ++gs_i) {
-    const Generator& g = *gs_i;
-    if (g.is_point()) {
-      const Coefficient& d = g.divisor();
-      if (point_seen) {
-	// This is not the first point: `seq' already contains valid values.
-	for (dimension_type i = space_dim; i-- > 0; ) {
-	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
-	  q.canonicalize();
-	  PPL_DIRTY_TEMP(ITV, iq);
-	  iq.build(i_constraint(EQUAL, q));
-	  seq[i].join_assign(iq);
-	}
-      }
-      else {
-	// This is the first point seen: initialize `seq'.
-	point_seen = true;
-	for (dimension_type i = space_dim; i-- > 0; ) {
-	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
-	  q.canonicalize();
-	  seq[i].build(i_constraint(EQUAL, q));
-	}
-      }
-    }
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::refine_with_congruences(const Congruence_System& cgs) {
+  d1.refine_with_congruences(cgs);
+  d2.refine_with_congruences(cgs);
+  clear_reduced_flag();
+}
 
-  if (!point_seen)
-    // The generator system is not empty, but contains no points.
-    throw std::invalid_argument("PPL::Box<ITV>::Box(gs):\n"
-				"the non-empty generator system gs "
-				"contains no points.");
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(complexity);
+  d2.drop_some_non_integer_points(complexity);
+  clear_reduced_flag();
+}
 
-  // Going through all the lines, rays and closure points.
-  ITV q_interval;
-  for (Generator_System::const_iterator gs_i = gs_begin;
-       gs_i != gs_end; ++gs_i) {
-    const Generator& g = *gs_i;
-    switch (g.type()) {
-    case Generator::LINE:
-      for (dimension_type i = space_dim; i-- > 0; )
-	if (g.coefficient(Variable(i)) != 0)
-	  seq[i].assign(UNIVERSE);
-      break;
-    case Generator::RAY:
-      for (dimension_type i = space_dim; i-- > 0; )
-	switch (sgn(g.coefficient(Variable(i)))) {
-	case 1:
-	  seq[i].upper_extend();
-	  break;
-	case -1:
-	  seq[i].lower_extend();
-	  break;
-	default:
-	  break;
-	}
-      break;
-    case Generator::CLOSURE_POINT:
-      {
-	const Coefficient& d = g.divisor();
-	for (dimension_type i = space_dim; i-- > 0; ) {
-	  assign_r(q.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-	  assign_r(q.get_den(), d, ROUND_NOT_NEEDED);
-	  q.canonicalize();
-	  ITV& seq_i = seq[i];
-	  seq_i.lower_extend(i_constraint(GREATER_THAN, q));
-	  seq_i.upper_extend(i_constraint(LESS_THAN, q));
-	}
-      }
-      break;
-    default:
-      // Points already dealt with.
-      break;
-    }
-  }
-  PPL_ASSERT(OK());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity) {
+  reduce();
+  d1.drop_some_non_integer_points(vars, complexity);
+  d2.drop_some_non_integer_points(vars, complexity);
+  clear_reduced_flag();
 }
 
-template <typename ITV>
-template <typename T>
-Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
-  : seq(bds.space_dimension() <= max_space_dimension()
-	? bds.space_dimension()
-	: (throw_space_dimension_overflow("Box(bds)",
-					  "bds exceeds the maximum "
-					  "allowed space dimension"),
-	   bds.space_dimension())),
-    status() {
-  // Expose all the interval constraints.
-  bds.shortest_path_closure_assign();
-  if (bds.marked_empty()) {
-    set_empty();
-    PPL_ASSERT(OK());
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline Partially_Reduced_Product<D1, D2, R>&
+Partially_Reduced_Product<D1, D2, R>
+::operator=(const Partially_Reduced_Product& y) {
+  d1 = y.d1;
+  d2 = y.d2;
+  reduced = y.reduced;
+  return *this;
+}
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+template <typename D1, typename D2, typename R>
+inline const D1&
+Partially_Reduced_Product<D1, D2, R>::domain1() const {
+  reduce();
+  return d1;
+}
 
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    PPL_ASSERT(OK());
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline const D2&
+Partially_Reduced_Product<D1, D2, R>::domain2() const {
+  reduce();
+  return d2;
+}
 
-  typedef typename BD_Shape<T>::coefficient_type Coeff;
-  PPL_DIRTY_TEMP(Coeff, tmp);
-  const DB_Row<Coeff>& dbm_0 = bds.dbm[0];
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    I_Constraint<Coeff> lower;
-    I_Constraint<Coeff> upper;
-    ITV& seq_i = seq[i];
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_empty() const {
+  reduce();
+  return d1.is_empty() || d2.is_empty();
+}
 
-    // Set the upper bound.
-    const Coeff& u = dbm_0[i+1];
-    if (!is_plus_infinity(u))
-      upper.set(LESS_OR_EQUAL, u, true);
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_universe() const {
+  return d1.is_universe() && d2.is_universe();
+}
 
-    // Set the lower bound.
-    const Coeff& negated_l = bds.dbm[i+1][0];
-    if (!is_plus_infinity(negated_l)) {
-      neg_assign_r(tmp, negated_l, ROUND_DOWN);
-      lower.set(GREATER_OR_EQUAL, tmp);
-    }
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_topologically_closed() const {
+  reduce();
+  return d1.is_topologically_closed() && d2.is_topologically_closed();
+}
 
-    seq_i.build(lower, upper);
-  }
-  PPL_ASSERT(OK());
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::is_disjoint_from(const Partially_Reduced_Product& y) const {
+  reduce();
+  y.reduce();
+  return d1.is_disjoint_from(y.d1) || d2.is_disjoint_from(y.d2);
 }
 
-template <typename ITV>
-template <typename T>
-Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
-  : seq(oct.space_dimension() <= max_space_dimension()
-	? oct.space_dimension()
-	: (throw_space_dimension_overflow("Box(oct)",
-					  "oct exceeds the maximum "
-					  "allowed space dimension"),
-	   oct.space_dimension())),
-    status() {
-  // Expose all the interval constraints.
-  oct.strong_closure_assign();
-  if (oct.marked_empty()) {
-    set_empty();
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_discrete() const {
+  reduce();
+  return d1.is_discrete() || d2.is_discrete();
+}
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_bounded() const {
+  reduce();
+  return d1.is_bounded() || d2.is_bounded();
+}
 
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0)
-    return;
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::bounds_from_above(const Linear_Expression& expr) const {
+  reduce();
+  return d1.bounds_from_above(expr) || d2.bounds_from_above(expr);
+}
 
-  PPL_DIRTY_TEMP0(mpq_class, lbound);
-  PPL_DIRTY_TEMP0(mpq_class, ubound);
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    typedef typename Octagonal_Shape<T>::coefficient_type Coeff;
-    I_Constraint<mpq_class> lower;
-    I_Constraint<mpq_class> upper;
-    ITV& seq_i = seq[i];
-    const dimension_type ii = 2*i;
-    const dimension_type cii = ii + 1;
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::bounds_from_below(const Linear_Expression& expr) const {
+  reduce();
+  return d1.bounds_from_below(expr) || d2.bounds_from_below(expr);
+}
 
-    // Set the upper bound.
-    const Coeff& twice_ub = oct.matrix[cii][ii];
-    if (!is_plus_infinity(twice_ub)) {
-      assign_r(ubound, twice_ub, ROUND_NOT_NEEDED);
-      div_2exp_assign_r(ubound, ubound, 1, ROUND_NOT_NEEDED);
-      upper.set(LESS_OR_EQUAL, ubound);
-    }
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::constrains(Variable var) const {
+  reduce();
+  return d1.constrains(var) || d2.constrains(var);
+}
 
-    // Set the lower bound.
-    const Coeff& twice_lb = oct.matrix[ii][cii];
-    if (!is_plus_infinity(twice_lb)) {
-      assign_r(lbound, twice_lb, ROUND_NOT_NEEDED);
-      neg_assign_r(lbound, lbound, ROUND_NOT_NEEDED);
-      div_2exp_assign_r(lbound, lbound, 1, ROUND_NOT_NEEDED);
-      lower.set(GREATER_OR_EQUAL, lbound);
-    }
-    seq_i.build(lower, upper);
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::widening_assign(const Partially_Reduced_Product& y,
+                  unsigned* tp) {
+  // FIXME(0.10.1): In general this is _NOT_ a widening since the reduction
+  //        may mean that the sequence does not satisfy the ascending
+  //        chain condition.
+  //        However, for the direct, smash and constraints product
+  //        it may be ok - but this still needs checking.
+  reduce();
+  y.reduce();
+  d1.widening_assign(y.d1, tp);
+  d2.widening_assign(y.d2, tp);
 }
 
-template <typename ITV>
-Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
-  : seq(ph.space_dimension() <= max_space_dimension()
-	? ph.space_dimension()
-	: (throw_space_dimension_overflow("Box(ph)",
-					  "ph exceeds the maximum "
-					  "allowed space dimension"),
-	   ph.space_dimension())),
-    status() {
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::add_space_dimensions_and_embed(dimension_type m) {
+  d1.add_space_dimensions_and_embed(m);
+  d2.add_space_dimensions_and_embed(m);
+}
 
-  // We do not need to bother about `complexity' if:
-  // a) the polyhedron is already marked empty; or ...
-  if (ph.marked_empty()) {
-    set_empty();
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::add_space_dimensions_and_project(dimension_type m) {
+  d1.add_space_dimensions_and_project(m);
+  d2.add_space_dimensions_and_project(m);
+}
 
-  // b) the polyhedron is zero-dimensional; or ...
-  const dimension_type space_dim = ph.space_dimension();
-  if (space_dim == 0)
-    return;
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::concatenate_assign(const Partially_Reduced_Product& y) {
+  d1.concatenate_assign(y.d1);
+  d2.concatenate_assign(y.d2);
+  if (!is_reduced() || !y.is_reduced())
+    clear_reduced_flag();
+}
 
-  // c) the polyhedron is already described by a generator system.
-  if (ph.generators_are_up_to_date() && !ph.has_pending_constraints()) {
-    Box tmp(ph.generators());
-    swap(tmp);
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::remove_space_dimensions(const Variables_Set& vars) {
+  d1.remove_space_dimensions(vars);
+  d2.remove_space_dimensions(vars);
+}
 
-  // Here generators are not up-to-date or there are pending constraints.
-  PPL_ASSERT(ph.constraints_are_up_to_date());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::remove_higher_space_dimensions(dimension_type new_dimension) {
+  d1.remove_higher_space_dimensions(new_dimension);
+  d2.remove_higher_space_dimensions(new_dimension);
+}
 
-  if (complexity == POLYNOMIAL_COMPLEXITY) {
-    // FIXME: is there a way to avoid this initialization?
-    for (dimension_type i = space_dim; i-- > 0; )
-      seq[i].assign(UNIVERSE);
-    // Get a simplified version of the constraints.
-    Constraint_System cs = ph.simplified_constraints();
-    // Propagate easy-to-find bounds from the constraints,
-    // allowing for a limited number of iterations.
-    // FIXME: 20 is just a wild guess.
-    const dimension_type max_iterations = 20;
-    propagate_constraints_no_check(cs, max_iterations);
-  }
-  else if (complexity == SIMPLEX_COMPLEXITY) {
-    MIP_Problem lp(space_dim);
-    const Constraint_System& ph_cs = ph.constraints();
-    if (!ph_cs.has_strict_inequalities())
-      lp.add_constraints(ph_cs);
-    else
-      // Adding to `lp' a topologically closed version of `ph_cs'.
-      for (Constraint_System::const_iterator i = ph_cs.begin(),
-	     ph_cs_end = ph_cs.end(); i != ph_cs_end; ++i) {
-	const Constraint& c = *i;
-	if (c.is_strict_inequality())
-	  lp.add_constraint(Linear_Expression(c) >= 0);
-	else
-	  lp.add_constraint(c);
-      }
-    // Check for unsatisfiability.
-    if (!lp.is_satisfiable()) {
-      set_empty();
-      return;
-    }
-    // Get all the bounds for the space dimensions.
-    Generator g(point());
-    PPL_DIRTY_TEMP0(mpq_class, lbound);
-    PPL_DIRTY_TEMP0(mpq_class, ubound);
-    PPL_DIRTY_TEMP(Coefficient, bound_num);
-    PPL_DIRTY_TEMP(Coefficient, bound_den);
-    for (dimension_type i = space_dim; i-- > 0; ) {
-      I_Constraint<mpq_class> lower;
-      I_Constraint<mpq_class> upper;
-      ITV& seq_i = seq[i];
-      lp.set_objective_function(Variable(i));
-      // Evaluate upper bound.
-      lp.set_optimization_mode(MAXIMIZATION);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-	g = lp.optimizing_point();
-	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(ubound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(ubound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	PPL_ASSERT(is_canonical(ubound));
-	upper.set(LESS_OR_EQUAL, ubound);
-      }
-      // Evaluate optimal lower bound.
-      lp.set_optimization_mode(MINIMIZATION);
-      if (lp.solve() == OPTIMIZED_MIP_PROBLEM) {
-	g = lp.optimizing_point();
-	lp.evaluate_objective_function(g, bound_num, bound_den);
-	assign_r(lbound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(lbound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	PPL_ASSERT(is_canonical(lbound));
-	lower.set(GREATER_OR_EQUAL, lbound);
-      }
-      seq_i.build(lower, upper);
-    }
-  }
-  else {
-    PPL_ASSERT(complexity == ANY_COMPLEXITY);
-    if (ph.is_empty())
-      set_empty();
-    else {
-      Box tmp(ph.generators());
-      swap(tmp);
-    }
-  }
+template <typename D1, typename D2, typename R>
+template <typename Partial_Function>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::map_space_dimensions(const Partial_Function& pfunc) {
+  d1.map_space_dimensions(pfunc);
+  d2.map_space_dimensions(pfunc);
 }
 
-template <typename ITV>
-Box<ITV>::Box(const Grid& gr, Complexity_Class)
-  : seq(gr.space_dimension() <= max_space_dimension()
-	? gr.space_dimension()
-	: (throw_space_dimension_overflow("Box(gr)",
-					  "gr exceeds the maximum "
-					  "allowed space dimension"),
-	   gr.space_dimension())),
-    status() {
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::expand_space_dimension(Variable var, dimension_type m) {
+  d1.expand_space_dimension(var, m);
+  d2.expand_space_dimension(var, m);
+}
 
-  // FIXME: here we are not taking advantage of intervals with restrictions!
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::fold_space_dimensions(const Variables_Set& vars,
+			Variable dest) {
+  d1.fold_space_dimensions(vars, dest);
+  d2.fold_space_dimensions(vars, dest);
+}
 
-  if (gr.marked_empty()) {
-    set_empty();
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::contains(const Partially_Reduced_Product& y) const {
+  reduce();
+  y.reduce();
+  return d1.contains(y.d1) && d2.contains(y.d2);
+}
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>
+::strictly_contains(const Partially_Reduced_Product& y) const {
+  reduce();
+  y.reduce();
+  return (d1.contains(y.d1) && d2.strictly_contains(y.d2))
+    || (d2.contains(y.d2) && d1.strictly_contains(y.d1));
+}
 
-  const dimension_type space_dim = gr.space_dimension();
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::reduce() const {
+  Partially_Reduced_Product& dp
+    = const_cast<Partially_Reduced_Product&>(*this);
+  if (dp.is_reduced())
+    return false;
+  R r;
+  r.product_reduce(dp.d1, dp.d2);
+  set_reduced_flag();
+  return true;
+}
 
-  if (space_dim == 0)
-    return;
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_reduced() const {
+  return reduced;
+}
 
-  if (!gr.generators_are_up_to_date() && !gr.update_generators()) {
-    // Updating found the grid empty.
-    set_empty();
-    return;
-  }
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::clear_reduced_flag() const {
+  const_cast<Partially_Reduced_Product&>(*this).reduced = false;
+}
 
-  PPL_ASSERT(!gr.gen_sys.empty());
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::set_reduced_flag() const {
+  const_cast<Partially_Reduced_Product&>(*this).reduced = true;
+}
 
-  // For each dimension that is bounded by the grid, set both bounds
-  // of the interval to the value of the associated coefficient in a
-  // generator point.
-  PPL_DIRTY_TEMP0(mpq_class, bound);
-  PPL_DIRTY_TEMP(Coefficient, bound_num);
-  PPL_DIRTY_TEMP(Coefficient, bound_den);
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    ITV& seq_i = seq[i];
-    Variable var(i);
-    bool max;
-    if (gr.maximize(var, bound_num, bound_den, max)) {
-      assign_r(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-      assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-      bound.canonicalize();
-      seq_i.build(i_constraint(EQUAL, bound));
-    }
-    else
-      seq_i.assign(UNIVERSE);
-  }
+PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(D1, D2, R, Partially_Reduced_Product)
+
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>::ascii_dump(std::ostream& s) const {
+  const char yes = '+';
+  const char no = '-';
+  s << "Partially_Reduced_Product\n";
+  s << (reduced ? yes : no) << "reduced\n";
+  s << "Domain 1:\n";
+  d1.ascii_dump(s);
+  s << "Domain 2:\n";
+  d2.ascii_dump(s);
 }
 
-template <typename ITV>
 template <typename D1, typename D2, typename R>
-Box<ITV>::Box(const Partially_Reduced_Product<D1, D2, R>& dp,
-              Complexity_Class complexity)
-  : seq(), status() {
-  if (dp.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Box(dp)",
-                                   "dp exceeds the maximum "
-                                   "allowed space dimension");
-  Box tmp1(dp.domain1(), complexity);
-  Box tmp2(dp.domain2(), complexity);
-  tmp1.intersection_assign(tmp2);
-  swap(tmp1);
+inline int32_t
+Partially_Reduced_Product<D1, D2, R>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
 }
 
-template <typename ITV>
-inline void
-Box<ITV>::add_space_dimensions_and_embed(const dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
-  // To embed an n-dimension space box in a (n+m)-dimension space,
-  // we just add `m' new universe elements to the sequence.
-  seq.insert(seq.end(), m, ITV(UNIVERSE));
-  PPL_ASSERT(OK());
+/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+inline bool
+operator==(const Partially_Reduced_Product<D1, D2, R>& x,
+	   const Partially_Reduced_Product<D1, D2, R>& y) {
+  x.reduce();
+  y.reduce();
+  return x.d1 == y.d1 && x.d2 == y.d2;
 }
 
-template <typename ITV>
-inline void
-Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
-  // Adding no dimensions is a no-op.
-  if (m == 0)
-    return;
-  // Add `m' new zero elements to the sequence.
-  seq.insert(seq.end(), m, ITV(0));
-  PPL_ASSERT(OK());
+/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+inline bool
+operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
+	   const Partially_Reduced_Product<D1, D2, R>& y) {
+  return !(x == y);
 }
 
-template <typename ITV>
-bool
-operator==(const Box<ITV>& x, const Box<ITV>& y) {
-  const dimension_type x_space_dim = x.space_dimension();
-  if (x_space_dim != y.space_dimension())
-    return false;
+/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+inline std::ostream&
+IO_Operators::operator<<(std::ostream& s,
+                         const Partially_Reduced_Product<D1, D2, R>& dp) {
+  return s << "Domain 1:\n"
+	   << dp.d1
+	   << "Domain 2:\n"
+	   << dp.d2;
+}
 
-  if (x.is_empty())
-    return y.is_empty();
+} // namespace Parma_Polyhedra_Library
 
-  if (y.is_empty())
-    return x.is_empty();
+namespace Parma_Polyhedra_Library {
 
-  for (dimension_type k = x_space_dim; k-- > 0; )
-    if (x.seq[k] != y.seq[k])
-      return false;
-  return true;
+template <typename D1, typename D2>
+inline
+No_Reduction<D1, D2>::No_Reduction() {
 }
 
-template <typename ITV>
-bool
-Box<ITV>::bounds(const Linear_Expression& expr, const bool from_above) const {
-  // `expr' should be dimension-compatible with `*this'.
-  const dimension_type expr_space_dim = expr.space_dimension();
-  const dimension_type space_dim = space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((from_above
-				  ? "bounds_from_above(e)"
-				  : "bounds_from_below(e)"), "e", expr);
-  // A zero-dimensional or empty Box bounds everything.
-  if (space_dim == 0 || is_empty())
-    return true;
+template <typename D1, typename D2>
+void No_Reduction<D1, D2>::product_reduce(D1&, D2&) {
+}
 
-  const int from_above_sign = from_above ? 1 : -1;
-  for (dimension_type i = expr_space_dim; i-- > 0; )
-    switch (sgn(expr.coefficient(Variable(i))) * from_above_sign) {
-    case 1:
-      if (seq[i].upper_is_boundary_infinity())
-	return false;
-      break;
-    case 0:
-      // Nothing to do.
-      break;
-    case -1:
-      if (seq[i].lower_is_boundary_infinity())
-	return false;
-      break;
-    }
-  return true;
+template <typename D1, typename D2>
+inline
+No_Reduction<D1, D2>::~No_Reduction() {
 }
 
-template <typename ITV>
-Poly_Con_Relation
-interval_relation(const ITV& i,
-		  const Constraint::Type constraint_type,
-		  Coefficient_traits::const_reference num,
-		  Coefficient_traits::const_reference den) {
+template <typename D1, typename D2>
+inline
+Smash_Reduction<D1, D2>::Smash_Reduction() {
+}
 
-  if (i.is_universe())
-    return Poly_Con_Relation::strictly_intersects();
+template <typename D1, typename D2>
+inline
+Smash_Reduction<D1, D2>::~Smash_Reduction() {
+}
 
-  PPL_DIRTY_TEMP0(mpq_class, bound);
-  assign_r(bound.get_num(), num, ROUND_NOT_NEEDED);
-  assign_r(bound.get_den(), den, ROUND_NOT_NEEDED);
-  bound.canonicalize();
-  neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
-  const bool is_lower_bound = (den > 0);
+template <typename D1, typename D2>
+inline
+Constraints_Reduction<D1, D2>::Constraints_Reduction() {
+}
 
-  PPL_DIRTY_TEMP0(mpq_class, bound_diff);
-  if (constraint_type == Constraint::EQUALITY) {
-    if (i.lower_is_boundary_infinity()) {
-      PPL_ASSERT(!i.upper_is_boundary_infinity());
-      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
-      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-      switch (sgn(bound_diff)) {
-      case 1:
-	return Poly_Con_Relation::strictly_intersects();
-      case 0:
-	return i.upper_is_open()
-	  ? Poly_Con_Relation::is_disjoint()
-	  : Poly_Con_Relation::strictly_intersects();
-      case -1:
-	return Poly_Con_Relation::is_disjoint();
-      }
-    }
-    else {
-      assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
-      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-      switch (sgn(bound_diff)) {
-      case 1:
-	return Poly_Con_Relation::is_disjoint();
-      case 0:
-	if (i.lower_is_open())
-	  return Poly_Con_Relation::is_disjoint();
-        if (i.is_singleton())
-          return Poly_Con_Relation::is_included()
-            && Poly_Con_Relation::saturates();
-        return Poly_Con_Relation::strictly_intersects();
-      case -1:
-	if (i.upper_is_boundary_infinity())
-	  return Poly_Con_Relation::strictly_intersects();
-	else {
-	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
-	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-	  switch (sgn(bound_diff)) {
-	  case 1:
-	    return Poly_Con_Relation::strictly_intersects();
-	  case 0:
-	    if (i.upper_is_open())
-	      return Poly_Con_Relation::is_disjoint();
-	    else
-	      return Poly_Con_Relation::strictly_intersects();
-	  case -1:
-	    return Poly_Con_Relation::is_disjoint();
-	  }
-	}
-      }
-    }
-  }
+template <typename D1, typename D2>
+inline
+Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
+}
 
-  PPL_ASSERT(constraint_type != Constraint::EQUALITY);
-  if (is_lower_bound) {
-    if (i.lower_is_boundary_infinity()) {
-      PPL_ASSERT(!i.upper_is_boundary_infinity());
-      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
-      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-      switch (sgn(bound_diff)) {
-      case 1:
-	return Poly_Con_Relation::strictly_intersects();
-      case 0:
-	if (constraint_type == Constraint::STRICT_INEQUALITY
-	    || i.upper_is_open())
-	  return Poly_Con_Relation::is_disjoint();
-	else
-	  return Poly_Con_Relation::strictly_intersects();
-      case -1:
-	return Poly_Con_Relation::is_disjoint();
-      }
-    }
-    else {
-      assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
-      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-      switch (sgn(bound_diff)) {
-      case 1:
-	return Poly_Con_Relation::is_included();
-      case 0:
-	if (constraint_type == Constraint::NONSTRICT_INEQUALITY
-	    || i.lower_is_open()) {
-	  Poly_Con_Relation result = Poly_Con_Relation::is_included();
-	  if (i.is_singleton())
-	    result = result && Poly_Con_Relation::saturates();
-	  return result;
-	}
-	else {
-	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
-		 && !i.lower_is_open());
-	  if (i.is_singleton())
-	    return Poly_Con_Relation::is_disjoint()
-	      && Poly_Con_Relation::saturates();
-	  else
-	    return Poly_Con_Relation::strictly_intersects();
-	}
-      case -1:
-	if (i.upper_is_boundary_infinity())
-	  return Poly_Con_Relation::strictly_intersects();
-	else {
-	  assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
-	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-	  switch (sgn(bound_diff)) {
-	  case 1:
-	    return Poly_Con_Relation::strictly_intersects();
-	  case 0:
-	    if (constraint_type == Constraint::STRICT_INEQUALITY
-		|| i.upper_is_open())
-	      return Poly_Con_Relation::is_disjoint();
-	    else
-	      return Poly_Con_Relation::strictly_intersects();
-	  case -1:
-	    return Poly_Con_Relation::is_disjoint();
-	  }
-	}
-      }
-    }
-  }
-  else {
-    // `c' is an upper bound.
-    if (i.upper_is_boundary_infinity())
-      return Poly_Con_Relation::strictly_intersects();
-    else {
-      assign_r(bound_diff, i.upper(), ROUND_NOT_NEEDED);
-      sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-      switch (sgn(bound_diff)) {
-      case -1:
-	return Poly_Con_Relation::is_included();
-      case 0:
-	if (constraint_type == Constraint::NONSTRICT_INEQUALITY
-	    || i.upper_is_open()) {
-	  Poly_Con_Relation result = Poly_Con_Relation::is_included();
-	  if (i.is_singleton())
-	    result = result && Poly_Con_Relation::saturates();
-	  return result;
-	}
-	else {
-	  PPL_ASSERT(constraint_type == Constraint::STRICT_INEQUALITY
-		 && !i.upper_is_open());
-	  if (i.is_singleton())
-	    return Poly_Con_Relation::is_disjoint()
-	      && Poly_Con_Relation::saturates();
-	  else
-	    return Poly_Con_Relation::strictly_intersects();
-	}
-      case 1:
-	if (i.lower_is_boundary_infinity())
-	  return Poly_Con_Relation::strictly_intersects();
-	else {
-	  assign_r(bound_diff, i.lower(), ROUND_NOT_NEEDED);
-	  sub_assign_r(bound_diff, bound_diff, bound, ROUND_NOT_NEEDED);
-	  switch (sgn(bound_diff)) {
-	  case -1:
-	    return Poly_Con_Relation::strictly_intersects();
-	  case 0:
-	    if (constraint_type == Constraint::STRICT_INEQUALITY
-		|| i.lower_is_open())
-	      return Poly_Con_Relation::is_disjoint();
-	    else
-	      return Poly_Con_Relation::strictly_intersects();
-	  case 1:
-	    return Poly_Con_Relation::is_disjoint();
-	  }
-	}
-      }
-    }
-  }
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::Congruences_Reduction() {
+}
 
-  // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+template <typename D1, typename D2>
+inline
+Congruences_Reduction<D1, D2>::~Congruences_Reduction() {
 }
 
-template <typename ITV>
-Poly_Con_Relation
-Box<ITV>::relation_with(const Congruence& cg) const {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  const dimension_type space_dim = space_dimension();
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::Shape_Preserving_Reduction() {
+}
 
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(cg)", cg);
+template <typename D1, typename D2>
+inline
+Shape_Preserving_Reduction<D1, D2>::~Shape_Preserving_Reduction() {
+}
 
-  if (is_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
+/*! \relates Partially_Reduced_Product */
+template <typename D1, typename D2, typename R>
+inline void
+swap(Partially_Reduced_Product<D1, D2, R>& x,
+     Partially_Reduced_Product<D1, D2, R>& y) {
+  x.m_swap(y);
+}
 
-   if (space_dim == 0) {
-    if (cg.is_inconsistent())
-      return Poly_Con_Relation::is_disjoint();
-    else
-      return Poly_Con_Relation::saturates()
-	&& Poly_Con_Relation::is_included();
-  }
+} // namespace Parma_Polyhedra_Library
 
-  if (cg.is_equality()) {
-    const Constraint c(cg);
-    return relation_with(c);
-  }
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.templates.hh line 1. */
+/* Partially_Reduced_Product class implementation:
+   non-inline template functions.
+*/
 
-  PPL_DIRTY_TEMP0(Rational_Interval, r);
-  PPL_DIRTY_TEMP0(Rational_Interval, t);
-  PPL_DIRTY_TEMP0(mpq_class, m);
-  r = 0;
-  for (dimension_type i = cg.space_dimension(); i-- > 0; ) {
-    const Coefficient& cg_i = cg.coefficient(Variable(i));
-    if (sgn(cg_i) != 0) {
-      assign_r(m, cg_i, ROUND_NOT_NEEDED);
-      // FIXME: an add_mul_assign() method would come handy here.
-      t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
-      t *= m;
-      r += t;
-    }
-  }
 
-  if (r.lower_is_boundary_infinity() || r.upper_is_boundary_infinity())
-    return Poly_Con_Relation::strictly_intersects();
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.templates.hh line 31. */
+#include <algorithm>
+#include <deque>
 
+namespace Parma_Polyhedra_Library {
 
-  // Find the value that satisfies the congruence and is
-  // nearest to the lower bound such that the point lies on or above it.
+template <typename D1, typename D2, typename R>
+void
+Partially_Reduced_Product<D1, D2, R>
+::throw_space_dimension_overflow(const char* method,
+                                 const char* reason) {
+  std::ostringstream s;
+  s << "PPL::Partially_Reduced_Product::" << method << ":" << std::endl
+    << reason << ".";
+  throw std::length_error(s.str());
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(lower);
-  PPL_DIRTY_TEMP_COEFFICIENT(mod);
-  PPL_DIRTY_TEMP_COEFFICIENT(v);
-  mod = cg.modulus();
-  v = cg.inhomogeneous_term() % mod;
-  assign_r(lower, r.lower(), ROUND_DOWN);
-  v -= ((lower / mod) * mod);
-  if (v + lower > 0)
-    v -= mod;
-  return interval_relation(r, Constraint::EQUALITY, v);
+template <typename D1, typename D2, typename R>
+Constraint_System
+Partially_Reduced_Product<D1, D2, R>::constraints() const {
+  reduce();
+  Constraint_System cs = d2.constraints();
+  const Constraint_System& cs1 = d1.constraints();
+  for (Constraint_System::const_iterator i = cs1.begin(),
+	 cs_end = cs1.end(); i != cs_end; ++i)
+    cs.insert(*i);
+  return cs;
 }
 
-template <typename ITV>
-Poly_Con_Relation
-Box<ITV>::relation_with(const Constraint& c) const {
-  const dimension_type c_space_dim = c.space_dimension();
-  const dimension_type space_dim = space_dimension();
+template <typename D1, typename D2, typename R>
+Constraint_System
+Partially_Reduced_Product<D1, D2, R>::minimized_constraints() const {
+  reduce();
+  Constraint_System cs = d2.constraints();
+  const Constraint_System& cs1 = d1.constraints();
+  for (Constraint_System::const_iterator i = cs1.begin(),
+	 cs_end = cs1.end(); i != cs_end; ++i)
+    cs.insert(*i);
+  if (cs.has_strict_inequalities()) {
+    NNC_Polyhedron ph(cs);
+    return ph.minimized_constraints();
+  }
+  else {
+    C_Polyhedron ph(cs);
+    return ph.minimized_constraints();
+  }
+}
 
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(c)", c);
+template <typename D1, typename D2, typename R>
+Congruence_System
+Partially_Reduced_Product<D1, D2, R>::congruences() const {
+  reduce();
+  Congruence_System cgs = d2.congruences();
+  const Congruence_System& cgs1 = d1.congruences();
+  for (Congruence_System::const_iterator i = cgs1.begin(),
+	 cgs_end = cgs1.end(); i != cgs_end; ++i)
+    cgs.insert(*i);
+  return cgs;
+}
 
-  if (is_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
+template <typename D1, typename D2, typename R>
+Congruence_System
+Partially_Reduced_Product<D1, D2, R>::minimized_congruences() const {
+  reduce();
+  Congruence_System cgs = d2.congruences();
+  const Congruence_System& cgs1 = d1.congruences();
+  for (Congruence_System::const_iterator i = cgs1.begin(),
+	 cgs_end = cgs1.end(); i != cgs_end; ++i)
+    cgs.insert(*i);
+  Grid gr(cgs);
+  return gr.minimized_congruences();
+}
 
-  if (space_dim == 0) {
-    if ((c.is_equality() && c.inhomogeneous_term() != 0)
-	|| (c.is_inequality() && c.inhomogeneous_term() < 0))
-      return Poly_Con_Relation::is_disjoint();
-    else if (c.is_strict_inequality() && c.inhomogeneous_term() == 0)
-      // The constraint 0 > 0 implicitly defines the hyperplane 0 = 0;
-      // thus, the zero-dimensional point also saturates it.
-      return Poly_Con_Relation::saturates()
-	&& Poly_Con_Relation::is_disjoint();
-    else if (c.is_equality() || c.inhomogeneous_term() == 0)
-      return Poly_Con_Relation::saturates()
-	&& Poly_Con_Relation::is_included();
-    else
-      // The zero-dimensional point saturates
-      // neither the positivity constraint 1 >= 0,
-      // nor the strict positivity constraint 1 > 0.
-      return Poly_Con_Relation::is_included();
+template <typename D1, typename D2, typename R>
+void
+Partially_Reduced_Product<D1, D2, R>
+::add_recycled_constraints(Constraint_System& cs) {
+  if (d1.can_recycle_constraint_systems()) {
+    d2.refine_with_constraints(cs);
+    d1.add_recycled_constraints(cs);
   }
-
-  dimension_type c_num_vars = 0;
-  dimension_type c_only_var = 0;
-
-  if (extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
-    if (c_num_vars == 0)
-      // c is a trivial constraint.
-      switch (sgn(c.inhomogeneous_term())) {
-      case -1:
-	return Poly_Con_Relation::is_disjoint();
-      case 0:
-	if (c.is_strict_inequality())
-	  return Poly_Con_Relation::saturates()
-	    && Poly_Con_Relation::is_disjoint();
-	else
-	  return Poly_Con_Relation::saturates()
-	    && Poly_Con_Relation::is_included();
-      case 1:
-	return Poly_Con_Relation::is_included();
-      }
+  else
+    if (d2.can_recycle_constraint_systems()) {
+      d1.refine_with_constraints(cs);
+      d2.add_recycled_constraints(cs);
+    }
     else {
-      // c is an interval constraint.
-      return interval_relation(seq[c_only_var],
-			       c.type(),
-			       c.inhomogeneous_term(),
-			       c.coefficient(Variable(c_only_var)));
+      d1.add_constraints(cs);
+      d2.add_constraints(cs);
     }
-  else {
-    // Deal with a non-trivial and non-interval constraint.
-    PPL_DIRTY_TEMP0(Rational_Interval, r);
-    PPL_DIRTY_TEMP0(Rational_Interval, t);
-    PPL_DIRTY_TEMP0(mpq_class, m);
-    r = 0;
-    for (dimension_type i = c.space_dimension(); i-- > 0; ) {
-      const Coefficient& c_i = c.coefficient(Variable(i));
-      if (sgn(c_i) != 0) {
-        assign_r(m, c_i, ROUND_NOT_NEEDED);
-	// FIXME: an add_mul_assign() method would come handy here.
-	t.build(seq[i].lower_constraint(), seq[i].upper_constraint());
-	t *= m;
-	r += t;
-      }
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+void
+Partially_Reduced_Product<D1, D2, R>
+::add_recycled_congruences(Congruence_System& cgs) {
+  if (d1.can_recycle_congruence_systems()) {
+    d2.refine_with_congruences(cgs);
+    d1.add_recycled_congruences(cgs);
+  }
+  else
+    if (d2.can_recycle_congruence_systems()) {
+      d1.refine_with_congruences(cgs);
+      d2.add_recycled_congruences(cgs);
+    }
+    else {
+      d1.add_congruences(cgs);
+      d2.add_congruences(cgs);
     }
-    return interval_relation(r,
-			     c.type(),
-			     c.inhomogeneous_term());
-  }
-
-  // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+  clear_reduced_flag();
 }
 
-template <typename ITV>
+template <typename D1, typename D2, typename R>
 Poly_Gen_Relation
-Box<ITV>::relation_with(const Generator& g) const {
-  const dimension_type space_dim = space_dimension();
-  const dimension_type g_space_dim = g.space_dimension();
-
-  // Dimension-compatibility check.
-  if (space_dim < g_space_dim)
-    throw_dimension_incompatible("relation_with(g)", g);
-
-  // The empty box cannot subsume a generator.
-  if (is_empty())
+Partially_Reduced_Product<D1, D2, R>
+::relation_with(const Generator& g) const {
+  reduce();
+  if (Poly_Gen_Relation::nothing() == d1.relation_with(g)
+      || Poly_Gen_Relation::nothing() == d2.relation_with(g))
     return Poly_Gen_Relation::nothing();
-
-  // A universe box in a zero-dimensional space subsumes
-  // all the generators of a zero-dimensional space.
-  if (space_dim == 0)
+  else
     return Poly_Gen_Relation::subsumes();
+}
 
-  if (g.is_line_or_ray()) {
-    if (g.is_line()) {
-      for (dimension_type i = g_space_dim; i-- > 0; )
-	if (g.coefficient(Variable(i)) != 0 && !seq[i].is_universe())
-	  return Poly_Gen_Relation::nothing();
-      return Poly_Gen_Relation::subsumes();
-    }
-    else {
-      PPL_ASSERT(g.is_ray());
-      for (dimension_type i = g_space_dim; i-- > 0; )
-	switch (sgn(g.coefficient(Variable(i)))) {
-	case 1:
-	  if (!seq[i].upper_is_boundary_infinity())
-	    return Poly_Gen_Relation::nothing();
-	  break;
-	case 0:
-	  break;
-	case -1:
-	  if (!seq[i].lower_is_boundary_infinity())
-	    return Poly_Gen_Relation::nothing();
-	  break;
-	}
-      return Poly_Gen_Relation::subsumes();
-    }
-  }
+template <typename D1, typename D2, typename R>
+Poly_Con_Relation
+Partially_Reduced_Product<D1, D2, R>
+::relation_with(const Constraint& c) const {
+  reduce();
+  Poly_Con_Relation relation1 = d1.relation_with(c);
+  Poly_Con_Relation relation2 = d2.relation_with(c);
 
-  // Here `g' is a point or closure point.
-  const Coefficient& g_divisor = g.divisor();
-  PPL_DIRTY_TEMP0(mpq_class, g_coord);
-  PPL_DIRTY_TEMP0(mpq_class, bound);
-  for (dimension_type i = g_space_dim; i-- > 0; ) {
-    const ITV& seq_i = seq[i];
-    if (seq_i.is_universe())
-      continue;
-    assign_r(g_coord.get_num(), g.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    assign_r(g_coord.get_den(), g_divisor, ROUND_NOT_NEEDED);
-    g_coord.canonicalize();
-    // Check lower bound.
-    if (!seq_i.lower_is_boundary_infinity()) {
-      assign_r(bound, seq_i.lower(), ROUND_NOT_NEEDED);
-      if (g_coord <= bound) {
-	if (seq_i.lower_is_open()) {
-	  if (g.is_point() || g_coord != bound)
-	    return Poly_Gen_Relation::nothing();
-	}
-	else if (g_coord != bound)
-	  return Poly_Gen_Relation::nothing();
-      }
-    }
-    // Check upper bound.
-    if (!seq_i.upper_is_boundary_infinity()) {
-      assign_r(bound, seq_i.upper(), ROUND_NOT_NEEDED);
-      if (g_coord >= bound) {
-	if (seq_i.upper_is_open()) {
-	  if (g.is_point() || g_coord != bound)
-	    return Poly_Gen_Relation::nothing();
-	}
-	else if (g_coord != bound)
-	  return Poly_Gen_Relation::nothing();
-      }
-    }
-  }
-  return Poly_Gen_Relation::subsumes();
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
+
+  if (relation1.implies(Poly_Con_Relation::is_included()))
+    result = result && Poly_Con_Relation::is_included();
+  else if (relation2.implies(Poly_Con_Relation::is_included()))
+    result = result && Poly_Con_Relation::is_included();
+  if (relation1.implies(Poly_Con_Relation::saturates()))
+    result = result && Poly_Con_Relation::saturates();
+  else if (relation2.implies(Poly_Con_Relation::saturates()))
+    result = result && Poly_Con_Relation::saturates();
+  if (relation1.implies(Poly_Con_Relation::is_disjoint()))
+    result = result && Poly_Con_Relation::is_disjoint();
+  else if (relation2.implies(Poly_Con_Relation::is_disjoint()))
+    result = result && Poly_Con_Relation::is_disjoint();
+
+  return result;
 }
 
+template <typename D1, typename D2, typename R>
+Poly_Con_Relation
+Partially_Reduced_Product<D1, D2, R>
+::relation_with(const Congruence& cg) const {
+  reduce();
+  Poly_Con_Relation relation1 = d1.relation_with(cg);
+  Poly_Con_Relation relation2 = d2.relation_with(cg);
+
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
 
-template <typename ITV>
+  if (relation1.implies(Poly_Con_Relation::is_included()))
+    result = result && Poly_Con_Relation::is_included();
+  else if (relation2.implies(Poly_Con_Relation::is_included()))
+    result = result && Poly_Con_Relation::is_included();
+  if (relation1.implies(Poly_Con_Relation::saturates()))
+    result = result && Poly_Con_Relation::saturates();
+  else if (relation2.implies(Poly_Con_Relation::saturates()))
+    result = result && Poly_Con_Relation::saturates();
+  if (relation1.implies(Poly_Con_Relation::is_disjoint()))
+    result = result && Poly_Con_Relation::is_disjoint();
+  else if (relation2.implies(Poly_Con_Relation::is_disjoint()))
+    result = result && Poly_Con_Relation::is_disjoint();
+
+  return result;
+}
+
+template <typename D1, typename D2, typename R>
 bool
-Box<ITV>::max_min(const Linear_Expression& expr,
-                  const bool maximize,
-                  Coefficient& ext_n, Coefficient& ext_d,
-                  bool& included) const {
-  // `expr' should be dimension-compatible with `*this'.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible((maximize
-				  ? "maximize(e, ...)"
-				  : "minimize(e, ...)"), "e", expr);
-  // Deal with zero-dim Box first.
-  if (space_dim == 0) {
-    if (marked_empty())
-      return false;
-    else {
-      ext_n = expr.inhomogeneous_term();
-      ext_d = 1;
-      included = true;
-      return true;
-    }
-  }
+Partially_Reduced_Product<D1, D2, R>
+::maximize(const Linear_Expression& expr,
+	   Coefficient& sup_n,
+	   Coefficient& sup_d,
+	   bool& maximum) const {
+  reduce();
 
-  // For an empty Box we simply return false.
   if (is_empty())
     return false;
 
-  PPL_DIRTY_TEMP0(mpq_class, result);
-  assign_r(result, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
-  bool is_included = true;
-  const int maximize_sign = maximize ? 1 : -1;
-  PPL_DIRTY_TEMP0(mpq_class, bound_i);
-  PPL_DIRTY_TEMP0(mpq_class, expr_i);
-  for (dimension_type i = expr_space_dim; i-- > 0; ) {
-    const ITV& seq_i = seq[i];
-    assign_r(expr_i, expr.coefficient(Variable(i)), ROUND_NOT_NEEDED);
-    switch (sgn(expr_i) * maximize_sign) {
-    case 1:
-      if (seq_i.upper_is_boundary_infinity())
-	return false;
-      assign_r(bound_i, seq_i.upper(), ROUND_NOT_NEEDED);
-      add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
-      if (seq_i.upper_is_open())
-	is_included = false;
-      break;
-    case 0:
-      // Nothing to do.
-      break;
-    case -1:
-      if (seq_i.lower_is_boundary_infinity())
-	return false;
-      assign_r(bound_i, seq_i.lower(), ROUND_NOT_NEEDED);
-      add_mul_assign_r(result, bound_i, expr_i, ROUND_NOT_NEEDED);
-      if (seq_i.lower_is_open())
-	is_included = false;
-      break;
-    }
+  PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup2_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup2_d);
+  bool maximum1;
+  bool maximum2;
+  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1);
+  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2);
+  // If neither is bounded from above, return false.
+  if (!r1 && !r2)
+    return false;
+  // If only d2 is bounded from above, then use the values for d2.
+  if (!r1) {
+    sup_n = sup2_n;
+    sup_d = sup2_d;
+    maximum = maximum2;
+    return true;
+  }
+  // If only d1 is bounded from above, then use the values for d1.
+  if (!r2) {
+    sup_n = sup1_n;
+    sup_d = sup1_d;
+    maximum = maximum1;
+    return true;
+  }
+  // If both d1 and d2 are bounded from above, then use the minimum values.
+  if (sup2_d * sup1_n >= sup1_d * sup2_n) {
+    sup_n = sup1_n;
+    sup_d = sup1_d;
+    maximum = maximum1;
+  }
+  else {
+    sup_n = sup2_n;
+    sup_d = sup2_d;
+    maximum = maximum2;
   }
-  // Extract output info.
-  PPL_ASSERT(is_canonical(result));
-  ext_n = result.get_num();
-  ext_d = result.get_den();
-  included = is_included;
   return true;
 }
 
-template <typename ITV>
+template <typename D1, typename D2, typename R>
 bool
-Box<ITV>::max_min(const Linear_Expression& expr,
-                  const bool maximize,
-                  Coefficient& ext_n, Coefficient& ext_d,
-                  bool& included,
-                  Generator& g) const {
-  if (!max_min(expr, maximize, ext_n, ext_d, included))
+Partially_Reduced_Product<D1, D2, R>
+::minimize(const Linear_Expression& expr,
+	   Coefficient& inf_n,
+	   Coefficient& inf_d,
+	   bool& minimum) const {
+  reduce();
+
+  if (is_empty())
     return false;
+  PPL_ASSERT(reduced);
 
-  // Compute generator `g'.
-  Linear_Expression g_expr;
-  PPL_DIRTY_TEMP(Coefficient, g_divisor);
-  g_divisor = 1;
-  const int maximize_sign = maximize ? 1 : -1;
-  PPL_DIRTY_TEMP0(mpq_class, g_coord);
-  PPL_DIRTY_TEMP(Coefficient, num);
-  PPL_DIRTY_TEMP(Coefficient, den);
-  PPL_DIRTY_TEMP(Coefficient, lcm);
-  PPL_DIRTY_TEMP(Coefficient, factor);
-  for (dimension_type i = space_dimension(); i-- > 0; ) {
-    const ITV& seq_i = seq[i];
-    switch (sgn(expr.coefficient(Variable(i))) * maximize_sign) {
-    case 1:
-      assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
-      break;
-    case 0:
-      // If 0 belongs to the interval, choose it
-      // (and directly proceed to the next iteration).
-      // FIXME: name qualification issue.
-      if (seq_i.contains(0))
-	continue;
-      if (!seq_i.lower_is_boundary_infinity())
-	if (seq_i.lower_is_open())
-	  if (!seq_i.upper_is_boundary_infinity())
-	    if (seq_i.upper_is_open()) {
-	      // Bounded and open interval: compute middle point.
-	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-	      PPL_DIRTY_TEMP0(mpq_class, q_seq_i_upper);
-	      assign_r(q_seq_i_upper, seq_i.upper(), ROUND_NOT_NEEDED);
-	      g_coord += q_seq_i_upper;
-	      g_coord /= 2;
-	    }
-	    else
-	      // The upper bound is in the interval.
-	      assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
-	  else {
-	    // Lower is open, upper is unbounded.
-	    assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-	    ++g_coord;
-	  }
-	else
-	  // The lower bound is in the interval.
-	  assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-      else {
-	// Lower is unbounded, hence upper is bounded
-	// (since we know that 0 does not belong to the interval).
-	PPL_ASSERT(!seq_i.upper_is_boundary_infinity());
-	assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
-	if (seq_i.upper_is_open())
-	  --g_coord;
-      }
-      break;
-    case -1:
-      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-      break;
-    }
-    // Add g_coord * Variable(i) to the generator.
-    assign_r(den, g_coord.get_den(), ROUND_NOT_NEEDED);
-    lcm_assign(lcm, g_divisor, den);
-    exact_div_assign(factor, lcm, g_divisor);
-    g_expr *= factor;
-    exact_div_assign(factor, lcm, den);
-    assign_r(num, g_coord.get_num(), ROUND_NOT_NEEDED);
-    num *= factor;
-    g_expr += num * Variable(i);
-    g_divisor = lcm;
+  PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf2_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf2_d);
+  bool minimum1;
+  bool minimum2;
+  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1);
+  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2);
+  // If neither is bounded from below, return false.
+  if (!r1 && !r2)
+    return false;
+  // If only d2 is bounded from below, then use the values for d2.
+  if (!r1) {
+    inf_n = inf2_n;
+    inf_d = inf2_d;
+    minimum = minimum2;
+    return true;
+  }
+  // If only d1 is bounded from below, then use the values for d1.
+  if (!r2) {
+    inf_n = inf1_n;
+    inf_d = inf1_d;
+    minimum = minimum1;
+    return true;
+  }
+  // If both d1 and d2 are bounded from below, then use the minimum values.
+  if (inf2_d * inf1_n <= inf1_d * inf2_n) {
+    inf_n = inf1_n;
+    inf_d = inf1_d;
+    minimum = minimum1;
+  }
+  else {
+    inf_n = inf2_n;
+    inf_d = inf2_d;
+    minimum = minimum2;
   }
-  g = Generator::point(g_expr, g_divisor);
   return true;
 }
 
-template <typename ITV>
+template <typename D1, typename D2, typename R>
 bool
-Box<ITV>::contains(const Box& y) const {
-  const Box& x = *this;
-  // Dimension-compatibility check.
-  if (x.space_dimension() != y.space_dimension())
-    x.throw_dimension_incompatible("contains(y)", y);
-
-  // If `y' is empty, then `x' contains `y'.
-  if (y.is_empty())
-    return true;
+Partially_Reduced_Product<D1, D2, R>
+::maximize(const Linear_Expression& expr,
+	   Coefficient& sup_n,
+	   Coefficient& sup_d,
+	   bool& maximum,
+	   Generator& g) const {
+  reduce();
 
-  // If `x' is empty, then `x' cannot contain `y'.
-  if (x.is_empty())
+  if (is_empty())
     return false;
+  PPL_ASSERT(reduced);
 
-  for (dimension_type k = x.seq.size(); k-- > 0; )
-    // FIXME: fix this name qualification issue.
-    if (!x.seq[k].contains(y.seq[k]))
-      return false;
+  PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup2_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(sup2_d);
+  bool maximum1;
+  bool maximum2;
+  Generator g1(point());
+  Generator g2(point());
+  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1, g1);
+  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2, g2);
+  // If neither is bounded from above, return false.
+  if (!r1 && !r2)
+    return false;
+  // If only d2 is bounded from above, then use the values for d2.
+  if (!r1) {
+    sup_n = sup2_n;
+    sup_d = sup2_d;
+    maximum = maximum2;
+    g = g2;
+    return true;
+  }
+  // If only d1 is bounded from above, then use the values for d1.
+  if (!r2) {
+    sup_n = sup1_n;
+    sup_d = sup1_d;
+    maximum = maximum1;
+    g = g1;
+    return true;
+  }
+  // If both d1 and d2 are bounded from above, then use the minimum values.
+  if (sup2_d * sup1_n >= sup1_d * sup2_n) {
+    sup_n = sup1_n;
+    sup_d = sup1_d;
+    maximum = maximum1;
+    g = g1;
+  }
+  else {
+    sup_n = sup2_n;
+    sup_d = sup2_d;
+    maximum = maximum2;
+    g = g2;
+  }
   return true;
 }
 
-template <typename ITV>
+template <typename D1, typename D2, typename R>
 bool
-Box<ITV>::is_disjoint_from(const Box& y) const {
-  const Box& x = *this;
-  // Dimension-compatibility check.
-  if (x.space_dimension() != y.space_dimension())
-    x.throw_dimension_incompatible("is_disjoint_from(y)", y);
+Partially_Reduced_Product<D1, D2, R>
+::minimize(const Linear_Expression& expr,
+	   Coefficient& inf_n,
+	   Coefficient& inf_d,
+	   bool& minimum,
+	   Generator& g) const {
+  reduce();
 
-  // If any of `x' or `y' is marked empty, then they are disjoint.
-  // Note: no need to use `is_empty', as the following loop is anyway correct.
-  if (x.marked_empty() || y.marked_empty())
-    return true;
+  if (is_empty())
+    return false;
+  PPL_ASSERT(reduced);
 
-  for (dimension_type k = x.seq.size(); k-- > 0; )
-    // FIXME: fix this name qualification issue.
-    if (x.seq[k].is_disjoint_from(y.seq[k]))
-      return true;
-  return false;
+  PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf2_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inf2_d);
+  bool minimum1;
+  bool minimum2;
+  Generator g1(point());
+  Generator g2(point());
+  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1, g1);
+  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2, g2);
+  // If neither is bounded from below, return false.
+  if (!r1 && !r2)
+    return false;
+  // If only d2 is bounded from below, then use the values for d2.
+  if (!r1) {
+    inf_n = inf2_n;
+    inf_d = inf2_d;
+    minimum = minimum2;
+    g = g2;
+    return true;
+  }
+  // If only d1 is bounded from below, then use the values for d1.
+  if (!r2) {
+    inf_n = inf1_n;
+    inf_d = inf1_d;
+    minimum = minimum1;
+    g = g1;
+    return true;
+  }
+  // If both d1 and d2 are bounded from below, then use the minimum values.
+  if (inf2_d * inf1_n <= inf1_d * inf2_n) {
+    inf_n = inf1_n;
+    inf_d = inf1_d;
+    minimum = minimum1;
+    g = g1;
+  }
+  else {
+    inf_n = inf2_n;
+    inf_d = inf2_d;
+    minimum = minimum2;
+    g = g2;
+  }
+  return true;
 }
 
-template <typename ITV>
+template <typename D1, typename D2, typename R>
 inline bool
-Box<ITV>::upper_bound_assign_if_exact(const Box& y) {
-  Box& x = *this;
+Partially_Reduced_Product<D1, D2, R>::OK() const {
+  if (reduced) {
+    Partially_Reduced_Product<D1, D2, R> dp1 = *this;
+    Partially_Reduced_Product<D1, D2, R> dp2 = *this;
+    /* Force dp1 reduction */
+    dp1.clear_reduced_flag();
+    dp1.reduce();
+    if (dp1 != dp2)
+      return false;
+  }
+  return d1.OK() && d2.OK();
+}
 
-  // Dimension-compatibility check.
-  if (x.space_dimension() != y.space_dimension())
-    x.throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
+template <typename D1, typename D2, typename R>
+bool
+Partially_Reduced_Product<D1, D2, R>::ascii_load(std::istream& s) {
+  const char yes = '+';
+  const char no = '-';
+  std::string str;
+  if (!(s >> str) || str != "Partially_Reduced_Product")
+    return false;
+  if (!(s >> str)
+      || (str[0] != yes && str[0] != no)
+      || str.substr(1) != "reduced")
+    return false;
+  reduced = (str[0] == yes);
+  if (!(s >> str) || str != "Domain")
+    return false;
+  if (!(s >> str) || str != "1:")
+    return false;
+  if (!d1.ascii_load(s))
+    return false;
+  if (!(s >> str) || str != "Domain")
+    return false;
+  if (!(s >> str) || str != "2:")
+    return false;
+  return d2.ascii_load(s);
+}
 
-  // The lub of a box with an empty box is equal to the first box.
-  if (y.marked_empty())
-    return true;
-  if (x.marked_empty()) {
-    x = y;
-    return true;
+template <typename D1, typename D2>
+void Smash_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  using std::swap;
+  if (d2.is_empty()) {
+    if (!d1.is_empty()) {
+      D1 new_d1(d1.space_dimension(), EMPTY);
+      swap(d1, new_d1);
+    }
+  }
+  else if (d1.is_empty()) {
+    D2 new_d2(d2.space_dimension(), EMPTY);
+    swap(d2, new_d2);
+  }
+}
+
+template <typename D1, typename D2>
+void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  if (d1.is_empty() || d2.is_empty()) {
+    // If one of the components is empty, do the smash reduction and return.
+    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
+    sr.product_reduce(d1, d2);
+    return;
   }
+  else {
+    using std::swap;
+    dimension_type space_dim = d1.space_dimension();
+    d1.refine_with_constraints(d2.minimized_constraints());
+    if (d1.is_empty()) {
+      D2 new_d2(space_dim, EMPTY);
+      swap(d2, new_d2);
+      return;
+    }
+    d2.refine_with_constraints(d1.minimized_constraints());
+    if (d2.is_empty()) {
+      D1 new_d1(space_dim, EMPTY);
+      swap(d1, new_d1);
+    }
+  }
+}
 
-  bool x_j_does_not_contain_y_j = false;
-  bool y_j_does_not_contain_x_j = false;
-
-  for (dimension_type i = x.seq.size(); i-- > 0; ) {
-    const ITV& x_seq_i = x.seq[i];
-    const ITV& y_seq_i = y.seq[i];
+/* Auxiliary procedure for the Congruences_Reduction() method.
+   If more than one hyperplane defined by congruence cg intersect
+   d2, then d1 and d2 are unchanged; if exactly one intersects d2, then
+   the corresponding equality is added to d1 and d2;
+   otherwise d1 and d2 are set empty. */
+template <typename D1, typename D2>
+bool shrink_to_congruence_no_check(D1& d1, D2& d2, const Congruence& cg) {
+  // It is assumed that cg is a proper congruence.
+  PPL_ASSERT(cg.modulus() != 0);
+  // It is assumed that cg is satisfied by all points in d1.
+  PPL_ASSERT(d1.relation_with(cg) == Poly_Con_Relation::is_included());
 
-    if (!x_seq_i.can_be_exactly_joined_to(y_seq_i))
-      return false;
+  Linear_Expression e(cg);
 
-    // Note: the use of `y_i_does_not_contain_x_i' is needed
-    // because we want to temporarily preserve the old value
-    // of `y_j_does_not_contain_x_j'.
-    bool y_i_does_not_contain_x_i = !y_seq_i.contains(x_seq_i);
-    if (y_i_does_not_contain_x_i && x_j_does_not_contain_y_j)
-      return false;
-    if (!x_seq_i.contains(y_seq_i)) {
-      if (y_j_does_not_contain_x_j)
-        return false;
-      else
-        x_j_does_not_contain_y_j = true;
+  // Find the maximum and minimum bounds for the domain element d with the
+  // linear expression e.
+  PPL_DIRTY_TEMP_COEFFICIENT(max_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(max_denom);
+  bool max_included;
+  PPL_DIRTY_TEMP_COEFFICIENT(min_numer);
+  PPL_DIRTY_TEMP_COEFFICIENT(min_denom);
+  if (d2.maximize(e, max_numer, max_denom, max_included)) {
+    bool min_included;
+    if (d2.minimize(e, min_numer, min_denom, min_included)) {
+      // Adjust values to allow for the denominators max_denom and min_denom.
+      max_numer *= min_denom;
+      min_numer *= max_denom;
+      PPL_DIRTY_TEMP_COEFFICIENT(denom);
+      PPL_DIRTY_TEMP_COEFFICIENT(mod);
+      denom = max_denom * min_denom;
+      mod = cg.modulus() * denom;
+      // If the difference between the maximum and minimum bounds is more than
+      // twice the modulus, then there will be two neighboring hyperplanes
+      // defined by cg that are intersected by the domain element d;
+      // there is no possible reduction in this case.
+      PPL_DIRTY_TEMP_COEFFICIENT(mod2);
+      mod2 = 2 * mod;
+      if (max_numer - min_numer < mod2
+          || (max_numer - min_numer == mod2 && (!max_included || !min_included)))
+        {
+          PPL_DIRTY_TEMP_COEFFICIENT(shrink_amount);
+          PPL_DIRTY_TEMP_COEFFICIENT(max_decreased);
+          PPL_DIRTY_TEMP_COEFFICIENT(min_increased);
+          // Find the amount by which the maximum value may be decreased.
+          shrink_amount = max_numer % mod;
+          if (!max_included && shrink_amount == 0)
+            shrink_amount = mod;
+          if (shrink_amount < 0)
+            shrink_amount += mod;
+          max_decreased = max_numer - shrink_amount;
+          // Find the amount by which the minimum value may be increased.
+          shrink_amount = min_numer % mod;
+          if (!min_included && shrink_amount == 0)
+            shrink_amount = - mod;
+          if (shrink_amount > 0)
+            shrink_amount -= mod;
+          min_increased = min_numer - shrink_amount;
+          if (max_decreased == min_increased) {
+            // The domain element d2 intersects exactly one hyperplane
+            // defined by cg, so add the equality to d1 and d2.
+            Constraint new_c(denom * e == min_increased);
+            d1.refine_with_constraint(new_c);
+            d2.refine_with_constraint(new_c);
+            return true;
+          }
+          else {
+            if (max_decreased < min_increased) {
+              using std::swap;
+              // In this case, d intersects no hyperplanes defined by cg,
+              // so set d to empty and return false.
+              D1 new_d1(d1.space_dimension(), EMPTY);
+              swap(d1, new_d1);
+              D2 new_d2(d2.space_dimension(), EMPTY);
+              swap(d2, new_d2);
+              return false;
+            }
+          }
+        }
     }
-    if (y_i_does_not_contain_x_i)
-      y_j_does_not_contain_x_j = true;
   }
-
-  // The upper bound is exact: compute it into *this.
-  for (dimension_type k = x.seq.size(); k-- > 0; )
-    x.seq[k].join_assign(y.seq[k]);
   return true;
 }
 
-template <typename ITV>
-bool
-Box<ITV>::OK() const {
-  if (status.test_empty_up_to_date() && !status.test_empty()) {
-    Box tmp = *this;
-    tmp.reset_empty_up_to_date();
-    if (tmp.check_empty()) {
-#ifndef NDEBUG
-      std::cerr << "The box is empty, but it is marked as non-empty."
-		<< std::endl;
-#endif // NDEBUG
-      return false;
-    }
+template <typename D1, typename D2>
+void
+  Congruences_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+  if (d1.is_empty() || d2.is_empty()) {
+    // If one of the components is empty, do the smash reduction and return.
+    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
+    sr.product_reduce(d1, d2);
+    return;
   }
-
-  // A box that is not marked empty must have meaningful intervals.
-  if (!marked_empty()) {
-    for (dimension_type k = seq.size(); k-- > 0; )
-      if (!seq[k].OK())
-	return false;
+  // Use the congruences representing d1 to shrink both components.
+  const Congruence_System cgs1 = d1.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs1.begin(),
+         cgs_end = cgs1.end(); i != cgs_end; ++i) {
+    const Congruence& cg1 = *i;
+    if (cg1.is_equality())
+      d2.refine_with_congruence(cg1);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d1, d2, cg1))
+        // The product is empty.
+        return;
+  }
+  // Use the congruences representing d2 to shrink both components.
+  const Congruence_System cgs2 = d2.minimized_congruences();
+  for (Congruence_System::const_iterator i = cgs2.begin(),
+         cgs_end = cgs2.end(); i != cgs_end; ++i) {
+    const Congruence& cg2 = *i;
+    if (cg2.is_equality())
+      d1.refine_with_congruence(cg2);
+    else
+      if (!Parma_Polyhedra_Library::
+          shrink_to_congruence_no_check(d2, d1, cg2))
+        // The product is empty.
+        return;
   }
-
-  return true;
 }
 
-template <typename ITV>
-dimension_type
-Box<ITV>::affine_dimension() const {
-  dimension_type d = space_dimension();
-  // A zero-space-dim box always has affine dimension zero.
-  if (d == 0)
-    return 0;
-
-  // An empty box has affine dimension zero.
-  if (is_empty())
-    return 0;
+template <typename D1, typename D2>
+void
+  Shape_Preserving_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
+    // First do the congruences reduction.
+    Parma_Polyhedra_Library::Congruences_Reduction<D1, D2> cgr;
+    cgr.product_reduce(d1, d2);
+    if (d1.is_empty())
+      return;
 
-  for (dimension_type k = d; k-- > 0; )
-    if (seq[k].is_singleton())
-      --d;
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(freq_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(val_d);
 
-  return d;
-}
+  // Use the constraints representing d2.
+  Constraint_System cs = d2.minimized_constraints();
+  Constraint_System refining_cs;
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d1.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
+    }
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
+  }
+  d2.refine_with_constraints(refining_cs);
 
-template <typename ITV>
-bool
-Box<ITV>::check_empty() const {
-  PPL_ASSERT(!marked_empty());
-  Box<ITV>& x = const_cast<Box<ITV>&>(*this);
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (seq[k].is_empty()) {
-      x.set_empty();
-      return true;
+  // Use the constraints representing d1.
+  cs = d1.minimized_constraints();
+  refining_cs.clear();
+  for (Constraint_System::const_iterator i = cs.begin(),
+         cs_end = cs.end(); i != cs_end; ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality())
+      // Equalities already shared.
+      continue;
+    // Check the frequency and value of the linear expression for
+    // the constraint `c'.
+    Linear_Expression le(c);
+    if (!d2.frequency(le, freq_n, freq_d, val_n, val_d))
+      // Nothing to do.
+      continue;
+    if (val_n == 0)
+      // Nothing to do.
+      continue;
+    // Adjust the value of the inhomogeneous term to satisfy
+    // the implied congruence.
+    if (val_n < 0) {
+      val_n = val_n*freq_d + val_d*freq_n;
+      val_d *= freq_d;
     }
-  x.set_nonempty();;
-  return false;
-}
+    le *= val_d;
+    le -= val_n;
+    refining_cs.insert(le >= 0);
+  }
+  d1.refine_with_constraints(refining_cs);
 
-template <typename ITV>
-bool
-Box<ITV>::is_universe() const {
-  if (marked_empty())
-    return false;
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].is_universe())
-      return false;
-  return true;
+  // The reduction may have introduced additional equalities
+  // so these must be shared with the other component.
+  Parma_Polyhedra_Library::Constraints_Reduction<D1, D2> cr;
+  cr.product_reduce(d1, d2);
 }
 
-template <typename ITV>
-bool
-Box<ITV>::is_topologically_closed() const {
-  if (ITV::is_always_topologically_closed() || is_empty())
-    return true;
+} // namespace Parma_Polyhedra_Library
 
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].is_topologically_closed())
-      return false;
-  return true;
-}
+/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1688. */
 
-template <typename ITV>
-bool
-Box<ITV>::is_discrete() const {
-  if (is_empty())
-    return true;
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].is_singleton())
-      return false;
-  return true;
-}
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 1. */
+/* Determinate class declaration.
+*/
 
-template <typename ITV>
-bool
-Box<ITV>::is_bounded() const {
-  if (is_empty())
-    return true;
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].is_bounded())
-      return false;
-  return true;
-}
 
-template <typename ITV>
-bool
-Box<ITV>::contains_integer_point() const {
-  if (marked_empty())
-    return false;
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].contains_integer_point())
-      return false;
-  return true;
-}
+/* Automatically generated from PPL source file ../src/Determinate.types.hh line 1. */
 
-template <typename ITV>
-bool
-Box<ITV>::frequency(const Linear_Expression& expr,
-                  Coefficient& freq_n, Coefficient& freq_d,
-                  Coefficient& val_n, Coefficient& val_d) const {
-  dimension_type space_dim = space_dimension();
-  // The dimension of `expr' must be at most the dimension of *this.
-  if (space_dim < expr.space_dimension())
-    throw_dimension_incompatible("frequency(e, ...)", "e", expr);
 
-  // Check if `expr' has a constant value.
-  // If it is constant, set the frequency `freq_n' to 0
-  // and return true. Otherwise the values for \p expr
-  // are not discrete so return false.
+namespace Parma_Polyhedra_Library {
 
-  // Space dimension = 0: if empty, then return false;
-  // otherwise the frequency is 0 and the value is the inhomogeneous term.
-  if (space_dim == 0) {
-    if (is_empty())
-      return false;
-    freq_n = 0;
-    freq_d = 1;
-    val_n = expr.inhomogeneous_term();
-    val_d = 1;
-    return true;
-  }
+template <typename PSET>
+class Determinate;
 
-  // For an empty Box, we simply return false.
-  if (is_empty())
-    return false;
+} // namespace Parma_Polyhedra_Library
 
-  // The Box has at least 1 dimension and is not empty.
-  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
-  PPL_DIRTY_TEMP_COEFFICIENT(num);
-  PPL_DIRTY_TEMP_COEFFICIENT(den);
-  PPL_DIRTY_TEMP0(mpq_class, tmp);
-  Linear_Expression le = expr;
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 32. */
+#include <iosfwd>
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 34. */
 
-  PPL_DIRTY_TEMP_COEFFICIENT(val_den);
-  val_den = 1;
+namespace Parma_Polyhedra_Library {
 
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    const Variable v(i);
-    coeff = le.coefficient(v);
-    if (coeff == 0) {
-      continue;
-    }
+//! Swaps \p x with \p y.
+/*! \relates Determinate */
+template <typename PSET>
+void swap(Determinate<PSET>& x, Determinate<PSET>& y);
 
-    const ITV& seq_i = seq[i];
-    // Check if `v' is constant in the BD shape.
-    if (seq_i.is_singleton()) {
-      // If `v' is constant, replace it in `le' by the value.
-      assign_r(tmp, seq_i.lower(), ROUND_NOT_NEEDED);
-      num = tmp.get_num();
-      den = tmp.get_den();
-      le -= coeff*v;
-      le *= den;
-      le += num*coeff;
-      val_den *= den;
-      continue;
-    }
-    // The expression `expr' is not constant.
-    return false;
-  }
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  COW-wrapped pointset.
 
-  // The expression `expr' is constant.
-  freq_n = 0;
-  freq_d = 1;
+  \relates Determinate
+*/
+template <typename PSET>
+bool operator==(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
-  // Reduce `val_n' and `val_d'.
-  normalize2(le.inhomogeneous_term(), val_den, val_n, val_d);
-  return true;
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are different
+  COW-wrapped pointsets.
 
-template <typename ITV>
-bool
-Box<ITV>::constrains(Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dimension() < var_space_dim)
-    throw_dimension_incompatible("constrains(v)", "v", var);
+  \relates Determinate
+*/
+template <typename PSET>
+bool operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
-  if (marked_empty() || !seq[var_space_dim-1].is_universe())
-    return true;
-  // Now force an emptiness check.
-  return is_empty();
-}
+namespace IO_Operators {
 
-template <typename ITV>
-void
-Box<ITV>::unconstrain(const Variables_Set& vars) {
-  // The cylindrification wrt no dimensions is a no-op.
-  // This case also captures the only legal cylindrification
-  // of a box in a 0-dim space.
-  if (vars.empty())
-    return;
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PSET>
+std::ostream&
+operator<<(std::ostream&, const Determinate<PSET>&);
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
+} // namespace IO_Operators
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+} // namespace Parma_Polyhedra_Library
 
-  // Here the box might still be empty (but we haven't detected it yet):
-  // check emptiness of the interval for each of the variables in
-  // `vars' before cylindrification.
-  for (Variables_Set::const_iterator vsi = vars.begin(),
-         vsi_end = vars.end(); vsi != vsi_end; ++vsi) {
-    ITV& seq_vsi = seq[*vsi];
-    if (!seq_vsi.is_empty())
-      seq_vsi.assign(UNIVERSE);
-    else {
-      set_empty();
-      break;
-    }
-  }
-  PPL_ASSERT(OK());
-}
+/*! \brief
+  A wrapper for PPL pointsets, providing them with a
+  <EM>determinate constraint system</EM> interface, as defined
+  in \ref Bag98 "[Bag98]".
 
-template <typename ITV>
-void
-Box<ITV>::topological_closure_assign() {
-  if (ITV::is_always_topologically_closed() || is_empty())
-    return;
+  The implementation uses a copy-on-write optimization, making the
+  class suitable for constructions, like the <EM>finite powerset</EM></A>
+  and <EM>ask-and-tell</EM> of \ref Bag98 "[Bag98]", that are likely
+  to perform many copies.
 
-  for (dimension_type k = seq.size(); k-- > 0; )
-    seq[k].topological_closure_assign();
-}
+  \ingroup PPL_CXX_interface
+*/
+template <typename PSET>
+class Parma_Polyhedra_Library::Determinate {
+public:
+  //! \name Constructors and Destructor
+  //@{
 
-template <typename ITV>
-void
-Box<ITV>::wrap_assign(const Variables_Set& vars,
-                      Bounded_Integer_Type_Width w,
-                      Bounded_Integer_Type_Representation r,
-                      Bounded_Integer_Type_Overflow o,
-                      const Constraint_System* pcs,
-                      unsigned complexity_threshold,
-                      bool wrap_individually) {
-#if 0 // Generic implementation commented out.
-  Implementation::wrap_assign(*this,
-                              vars, w, r, o, pcs,
-                              complexity_threshold, wrap_individually,
-                              "Box");
-#else // Specialized implementation.
-  used(wrap_individually);
-  used(complexity_threshold);
-  Box& x = *this;
+  /*! \brief
+    Constructs a COW-wrapped object corresponding to the pointset \p pset.
+  */
+  Determinate(const PSET& pset);
 
-  // Dimension-compatibility check for `*pcs', if any.
-  const dimension_type vars_space_dim = vars.space_dimension();
-  if (pcs != 0 && pcs->space_dimension() > vars_space_dim) {
-    std::ostringstream s;
-    s << "PPL::Box<ITV>::wrap_assign(vars, w, r, o, pcs, ...):"
-      << std::endl
-      << "vars.space_dimension() == " << vars_space_dim
-      << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
-    throw std::invalid_argument(s.str());
-  }
+  /*! \brief
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cs.
+  */
+  Determinate(const Constraint_System& cs);
 
-  // Wrapping no variable only requires refining with *pcs, if any.
-  if (vars.empty()) {
-    if (pcs != 0)
-      refine_with_constraints(*pcs);
-    return;
-  }
+  /*! \brief
+    Constructs a COW-wrapped object corresponding to the pointset
+    defined by \p cgs.
+  */
+  Determinate(const Congruence_System& cgs);
 
-  // Dimension-compatibility check for `vars'.
-  const dimension_type space_dim = x.space_dimension();
-  if (space_dim < vars_space_dim) {
-    std::ostringstream s;
-    s << "PPL::Box<ITV>::wrap_assign(vars, ...):"
-      << std::endl
-      << "this->space_dimension() == " << space_dim
-      << ", required space dimension == " << vars_space_dim << ".";
-    throw std::invalid_argument(s.str());
-  }
+  //! Copy constructor.
+  Determinate(const Determinate& y);
 
-  // Wrapping an empty polyhedron is a no-op.
-  if (x.is_empty())
-    return;
+  //! Destructor.
+  ~Determinate();
+
+  //@} // Constructors and Destructor
+
+  //! \name Member Functions that Do Not Modify the Domain Element
+  //@{
+
+  //! Returns a const reference to the embedded pointset.
+  const PSET& pointset() const;
 
-  // FIXME: temporarily (ab-) using Coefficient.
-  // Set `min_value' and `max_value' to the minimum and maximum values
-  // a variable of width `w' and signedness `s' can take.
-  PPL_DIRTY_TEMP_COEFFICIENT(min_value);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_value);
-  if (r == UNSIGNED) {
-    min_value = 0;
-    mul_2exp_assign(max_value, Coefficient_one(), w);
-    --max_value;
-  }
-  else {
-    PPL_ASSERT(r == SIGNED_2_COMPLEMENT);
-    mul_2exp_assign(max_value, Coefficient_one(), w-1);
-    neg_assign(min_value, max_value);
-    --max_value;
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this embeds the universe
+    element \p PSET.
+  */
+  bool is_top() const;
 
-  // FIXME: Build the (integer) quadrant interval.
-  PPL_DIRTY_TEMP(ITV, integer_quadrant_itv);
-  PPL_DIRTY_TEMP(ITV, rational_quadrant_itv);
-  {
-    I_Constraint<Coefficient> lower = i_constraint(GREATER_OR_EQUAL, min_value);
-    I_Constraint<Coefficient> upper = i_constraint(LESS_OR_EQUAL, max_value);
-    integer_quadrant_itv.build(lower, upper);
-    // The rational quadrant is only needed if overflow is undefined.
-    if (o == OVERFLOW_UNDEFINED) {
-      ++max_value;
-      upper = i_constraint(LESS_THAN, max_value);
-      rational_quadrant_itv.build(lower, upper);
-    }
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this embeds the empty
+    element of \p PSET.
+  */
+  bool is_bottom() const;
 
-  const Variables_Set::const_iterator vs_end = vars.end();
+  //! Returns <CODE>true</CODE> if and only if \p *this entails \p y.
+  bool definitely_entails(const Determinate& y) const;
 
-  if (pcs == 0) {
-    // No constraint refinement is needed here.
-    switch (o) {
-    case OVERFLOW_WRAPS:
-      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
-        x.seq[*i].wrap_assign(w, r, integer_quadrant_itv);
-      reset_empty_up_to_date();
-      break;
-    case OVERFLOW_UNDEFINED:
-      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
-        ITV& x_seq_v = x.seq[*i];
-        if (!rational_quadrant_itv.contains(x_seq_v)) {
-          x_seq_v.assign(integer_quadrant_itv);
-        }
-      }
-      break;
-    case OVERFLOW_IMPOSSIBLE:
-      for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i)
-        x.seq[*i].intersect_assign(integer_quadrant_itv);
-      reset_empty_up_to_date();
-      break;
-    }
-    PPL_ASSERT(x.OK());
-    return;
-  }
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are definitely equivalent.
+  */
+  bool is_definitely_equivalent_to(const Determinate& y) const;
 
-  PPL_ASSERT(pcs != 0);
-  const Constraint_System& cs = *pcs;
-  const dimension_type cs_space_dim = cs.space_dimension();
-  // A map associating interval constraints to variable indexes.
-  typedef std::map<dimension_type, std::vector<const Constraint*> > map_type;
-  map_type var_cs_map;
-  for (Constraint_System::const_iterator i = cs.begin(),
-         i_end = cs.end(); i != i_end; ++i) {
-    const Constraint& c = *i;
-    dimension_type c_num_vars = 0;
-    dimension_type c_only_var = 0;
-    if (extract_interval_constraint(c, cs_space_dim,
-                                    c_num_vars, c_only_var)) {
-      if (c_num_vars == 1) {
-        // An interval constraint on variable index `c_only_var'.
-        PPL_ASSERT(c_only_var < space_dim);
-        // We do care about c if c_only_var is going to be wrapped.
-        if (vars.find(c_only_var) != vs_end)
-          var_cs_map[c_only_var].push_back(&c);
-      }
-      else {
-        PPL_ASSERT(c_num_vars == 0);
-        // Note: tautologies have been filtered out by iterators.
-        PPL_ASSERT(c.is_inconsistent());
-        x.set_empty();
-        return;
-      }
-    }
-  }
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-  PPL_DIRTY_TEMP(ITV, refinement_itv);
-  const map_type::const_iterator var_cs_map_end = var_cs_map.end();
-  // Loop through the variable indexes in `vars'.
-  for (Variables_Set::const_iterator i = vars.begin(); i != vs_end; ++i) {
-    const dimension_type v = *i;
-    refinement_itv = integer_quadrant_itv;
-    // Look for the refinement constraints for space dimension index `v'.
-    map_type::const_iterator var_cs_map_iter = var_cs_map.find(v);
-    if (var_cs_map_iter != var_cs_map_end) {
-      // Refine interval for variable `v'.
-      const map_type::mapped_type& var_cs = var_cs_map_iter->second;
-      for (dimension_type j = var_cs.size(); j-- > 0; ) {
-        const Constraint& c = *var_cs[j];
-        refine_interval_no_check(refinement_itv,
-                                 c.type(),
-                                 c.inhomogeneous_term(),
-                                 c.coefficient(Variable(v)));
-      }
-    }
-    // Wrap space dimension index `v'.
-    ITV& x_seq_v = x.seq[v];
-    switch (o) {
-    case OVERFLOW_WRAPS:
-      x_seq_v.wrap_assign(w, r, refinement_itv);
-      break;
-    case OVERFLOW_UNDEFINED:
-      if (!rational_quadrant_itv.contains(x_seq_v))
-        x_seq_v.assign(UNIVERSE);
-      break;
-    case OVERFLOW_IMPOSSIBLE:
-      x_seq_v.intersect_assign(refinement_itv);
-      break;
-    }
-  }
-  PPL_ASSERT(x.OK());
-#endif
-}
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
 
-template <typename ITV>
-void
-Box<ITV>::drop_some_non_integer_points(Complexity_Class) {
-  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
-      && !ITV::info_type::store_open)
-    return;
+  /*!
+    Returns <CODE>true</CODE> if and only if this domain
+    has a nontrivial weakening operator.
+  */
+  static bool has_nontrivial_weakening();
 
-  if (marked_empty())
-    return;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  for (dimension_type k = seq.size(); k-- > 0; )
-    seq[k].drop_some_non_integer_points();
+  //@} // Member Functions that Do Not Modify the Domain Element
 
-  PPL_ASSERT(OK());
-}
 
-template <typename ITV>
-void
-Box<ITV>::drop_some_non_integer_points(const Variables_Set& vars,
-                                       Complexity_Class) {
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = vars.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("drop_some_non_integer_points(vs, cmpl)",
-                                 min_space_dim);
+  //! \name Member Functions that May Modify the Domain Element
+  //@{
 
-  if (std::numeric_limits<typename ITV::boundary_type>::is_integer
-      && !ITV::info_type::store_open)
-    return;
+  //! Assigns to \p *this the upper bound of \p *this and \p y.
+  void upper_bound_assign(const Determinate& y);
 
-  if (marked_empty())
-    return;
+  //! Assigns to \p *this the meet of \p *this and \p y.
+  void meet_assign(const Determinate& y);
 
-  for (Variables_Set::const_iterator v_i = vars.begin(),
-         v_end = vars.end(); v_i != v_end; ++v_i)
-    seq[*v_i].drop_some_non_integer_points();
+  //! Assigns to \p *this the result of weakening \p *this with \p y.
+  void weakening_assign(const Determinate& y);
 
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
+  */
+  void concatenate_assign(const Determinate& y);
 
-template <typename ITV>
-void
-Box<ITV>::intersection_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type space_dim = space_dimension();
+  //! Returns a reference to the embedded element.
+  PSET& pointset();
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    x.throw_dimension_incompatible("intersection_assign(y)", y);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    On return from this method, the representation of \p *this
+    is not shared by different Determinate objects.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  void mutate();
 
-  // If one of the two boxes is empty, the intersection is empty.
-  if (x.marked_empty())
-    return;
-  if (y.marked_empty()) {
-    x.set_empty();
-    return;
-  }
+  //! Assignment operator.
+  Determinate& operator=(const Determinate& y);
 
-  // If both boxes are zero-dimensional, then at this point they are
-  // necessarily non-empty, so that their intersection is non-empty too.
-  if (space_dim == 0)
-    return;
+  //! Swaps \p *this with \p y.
+  void m_swap(Determinate& y);
 
-  // FIXME: here we may conditionally exploit a capability of the
-  // underlying interval to eagerly detect empty results.
-  reset_empty_up_to_date();
+  //@} // Member Functions that May Modify the Domain Element
 
-  for (dimension_type k = space_dim; k-- > 0; )
-    x.seq[k].intersect_assign(y.seq[k]);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //! A function adapter for the Determinate class.
+  /*! \ingroup PPL_CXX_interface
+    It lifts a Binary_Operator_Assign function object, taking arguments
+    of type PSET, producing the corresponding function object taking
+    arguments of type Determinate<PSET>.
 
-  PPL_ASSERT(x.OK());
-}
+    The template parameter Binary_Operator_Assign is supposed to
+    implement an <EM>apply and assign</EM> function, i.e., a function
+    having signature <CODE>void foo(PSET& x, const PSET& y)</CODE> that
+    applies an operator to \c x and \c y and assigns the result to \c x.
+    For instance, such a function object is obtained by
+    <CODE>std::mem_fun_ref(&C_Polyhedron::intersection_assign)</CODE>.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  template <typename Binary_Operator_Assign>
+  class Binary_Operator_Assign_Lifter {
+  public:
+    //! Explicit unary constructor.
+    explicit
+    Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign);
 
-template <typename ITV>
-void
-Box<ITV>::upper_bound_assign(const Box& y) {
-  Box& x = *this;
+    //! Function-application operator.
+    void operator()(Determinate& x, const Determinate& y) const;
 
-  // Dimension-compatibility check.
-  if (x.space_dimension() != y.space_dimension())
-    x.throw_dimension_incompatible("upper_bound_assign(y)", y);
+  private:
+    //! The function object to be lifted.
+    Binary_Operator_Assign op_assign_;
+  };
 
-  // The lub of a box with an empty box is equal to the first box.
-  if (y.marked_empty())
-    return;
-  if (x.marked_empty()) {
-    x = y;
-    return;
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Helper function returning a Binary_Operator_Assign_Lifter object,
+    also allowing for the deduction of template arguments.
+  */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  template <typename Binary_Operator_Assign>
+  static Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+  lift_op_assign(Binary_Operator_Assign op_assign);
 
-  for (dimension_type k = x.seq.size(); k-- > 0; )
-    x.seq[k].join_assign(y.seq[k]);
+private:
+  //! The possibly shared representation of a Determinate object.
+  /*! \ingroup PPL_CXX_interface
+    By adopting the <EM>copy-on-write</EM> technique, a single
+    representation of the base-level object may be shared by more than
+    one object of the class Determinate.
+  */
+  class Rep {
+  private:
+    /*! \brief
+      Count the number of references:
+      -   0: leaked, \p pset is non-const;
+      -   1: one reference, \p pset is non-const;
+      - > 1: more than one reference, \p pset is const.
+    */
+    mutable unsigned long references;
 
-  PPL_ASSERT(x.OK());
-}
+    //! Private and unimplemented: assignment not allowed.
+    Rep& operator=(const Rep& y);
 
-template <typename ITV>
-void
-Box<ITV>::concatenate_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
-  const dimension_type y_space_dim = y.space_dimension();
+    //! Private and unimplemented: copies not allowed.
+    Rep(const Rep& y);
 
-  // If `y' is marked empty, the result will be empty too.
-  if (y.marked_empty())
-    x.set_empty();
+    //! Private and unimplemented: default construction not allowed.
+    Rep();
 
-  // If `y' is a 0-dim space box, there is nothing left to do.
-  if (y_space_dim == 0)
-    return;
+  public:
+    //! The possibly shared, embedded pointset.
+    PSET pset;
 
-  // Here `y_space_dim > 0', so that a non-trivial concatenation will occur:
-  // make sure that reallocation will occur once at most.
-  x.seq.reserve(x_space_dim + y_space_dim);
+    /*! \brief
+      Builds a new representation by creating a pointset
+      of the specified kind, in the specified vector space.
+    */
+    Rep(dimension_type num_dimensions, Degenerate_Element kind);
 
-  // If `x' is marked empty, then it is sufficient to adjust
-  // the dimension of the vector space.
-  if (x.marked_empty()) {
-    x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY));
-    PPL_ASSERT(x.OK());
-    return;
-  }
+    //! Builds a new representation by copying the pointset \p p.
+    Rep(const PSET& p);
 
-  // Here neither `x' nor `y' are marked empty: concatenate them.
-  std::copy(y.seq.begin(), y.seq.end(),
-	    std::back_insert_iterator<Sequence>(x.seq));
-  // Update the `empty_up_to_date' flag.
-  if (!y.status.test_empty_up_to_date())
-    reset_empty_up_to_date();
+    //! Builds a new representation by copying the constraints in \p cs.
+    Rep(const Constraint_System& cs);
 
-  PPL_ASSERT(x.OK());
-}
+    //! Builds a new representation by copying the constraints in \p cgs.
+    Rep(const Congruence_System& cgs);
 
-template <typename ITV>
-void
-Box<ITV>::difference_assign(const Box& y) {
-  const dimension_type space_dim = space_dimension();
+    //! Destructor.
+    ~Rep();
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("difference_assign(y)", y);
+    //! Registers a new reference.
+    void new_reference() const;
 
-  Box& x = *this;
-  if (x.is_empty() || y.is_empty())
-    return;
+    /*! \brief
+      Unregisters one reference; returns <CODE>true</CODE> if and only if
+      the representation has become unreferenced.
+    */
+    bool del_reference() const;
 
-  switch (space_dim) {
-  case 0:
-    // If `x' is zero-dimensional, then at this point both `x' and `y'
-    // are the universe box, so that their difference is empty.
-    x.set_empty();
-    break;
+    //! True if and only if this representation is currently shared.
+    bool is_shared() const;
 
-  case 1:
-    x.seq[0].difference_assign(y.seq[0]);
-    if (x.seq[0].is_empty())
-      x.set_empty();
-    break;
+    /*! \brief
+      Returns a lower bound to the total size in bytes of the memory
+      occupied by \p *this.
+    */
+    memory_size_type total_memory_in_bytes() const;
 
-  default:
-    {
-      dimension_type index_non_contained = space_dim;
-      dimension_type number_non_contained = 0;
-      for (dimension_type i = space_dim; i-- > 0; )
-        if (!y.seq[i].contains(x.seq[i])) {
-          if (++number_non_contained == 1)
-            index_non_contained = i;
-          else
-            break;
-        }
+    /*! \brief
+      Returns a lower bound to the size in bytes of the memory
+      managed by \p *this.
+    */
+    memory_size_type external_memory_in_bytes() const;
+  };
 
-      switch (number_non_contained) {
-      case 0:
-        // `y' covers `x': the difference is empty.
-        x.set_empty();
-        break;
-      case 1:
-        x.seq[index_non_contained]
-          .difference_assign(y.seq[index_non_contained]);
-        if (x.seq[index_non_contained].is_empty())
-          x.set_empty();
-        break;
-      default:
-        // Nothing to do: the difference is `x'.
-        break;
-      }
-    }
-    break;
-  }
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    A pointer to the possibly shared representation of
+    the base-level domain element.
+  */
+  Rep* prep;
 
-template <typename ITV>
-bool
-Box<ITV>::simplify_using_context_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type num_dims = x.space_dimension();
-  // Dimension-compatibility check.
-  if (num_dims != y.space_dimension())
-    x.throw_dimension_incompatible("simplify_using_context_assign(y)", y);
+  friend bool
+  operator==<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
 
-  // Filter away the zero-dimensional case.
-  if (num_dims == 0) {
-    if (y.marked_empty()) {
-      x.set_nonempty();
-      return false;
-    }
-    else
-      return !x.marked_empty();
-  }
+  friend bool
+  operator!=<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
+};
 
-  // Filter away the case when `y' is empty.
-  if (y.is_empty()) {
-    for (dimension_type i = num_dims; i-- > 0; )
-      x.seq[i].assign(UNIVERSE);
-    x.set_nonempty();
-    return false;
-  }
+/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 1. */
+/* Determinate class implementation: inline functions.
+*/
 
-  if (x.is_empty()) {
-    // Find in `y' a non-universe interval, if any.
-    for (dimension_type i = 0; i < num_dims; ++i) {
-      if (y.seq[i].is_universe())
-        x.seq[i].assign(UNIVERSE);
-      else {
-        // Set x.seq[i] so as to contradict y.seq[i], if possible.
-        ITV& seq_i = x.seq[i];
-        seq_i.empty_intersection_assign(y.seq[i]);
-        if (seq_i.is_empty()) {
-          // We were not able to assign to `seq_i' a non-empty interval:
-          // reset `seq_i' to the universe interval and keep searching.
-          seq_i.assign(UNIVERSE);
-          continue;
-        }
-        // We assigned to `seq_i' a non-empty interval:
-        // set the other intervals to universe and return.
-        for (++i; i < num_dims; ++i)
-          x.seq[i].assign(UNIVERSE);
-        x.set_nonempty();
-        PPL_ASSERT(x.OK());
-        return false;
-      }
-    }
-    // All intervals in `y' are universe or could not be contradicted:
-    // simplification can leave the empty box `x' as is.
-    PPL_ASSERT(x.OK() && x.is_empty());
-    return false;
-  }
 
-  // Loop index `i' is intentionally going upwards.
-  dimension_type i = 0;
-  for ( ; i < num_dims; ++i) {
-    if (!x.seq[i].simplify_using_context_assign(y.seq[i])) {
-      PPL_ASSERT(!x.seq[i].is_empty());
-      // The intersection of `x' and `y' is empty due to the i-th interval:
-      // reset other intervals to UNIVERSE.
-      for (dimension_type j = num_dims; j-- > i; )
-        x.seq[j].assign(UNIVERSE);
-      for (dimension_type j = i; j-- > 0; )
-        x.seq[j].assign(UNIVERSE);
-      PPL_ASSERT(x.OK());
-      return false;
-    }
-  }
-  PPL_ASSERT(x.OK());
-  return true;
-}
+/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 28. */
 
-template <typename ITV>
-void
-Box<ITV>::time_elapse_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+namespace Parma_Polyhedra_Library {
 
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    x.throw_dimension_incompatible("time_elapse_assign(y)", y);
+template <typename PSET>
+inline
+Determinate<PSET>::Rep::Rep(dimension_type num_dimensions,
+			  Degenerate_Element kind)
+  : references(0), pset(num_dimensions, kind) {
+}
 
-  // Dealing with the zero-dimensional case.
-  if (x_space_dim == 0) {
-    if (y.marked_empty())
-      x.set_empty();
-    return;
-  }
+template <typename PSET>
+inline
+Determinate<PSET>::Rep::Rep(const PSET& p)
+  : references(0), pset(p) {
+}
 
-  // If either one of `x' or `y' is empty, the result is empty too.
-  // Note: if possible, avoid cost of checking for emptiness.
-  if (x.marked_empty() || y.marked_empty()
-      || x.is_empty() || y.is_empty()) {
-    x.set_empty();
-    return;
-  }
+template <typename PSET>
+inline
+Determinate<PSET>::Rep::Rep(const Constraint_System& cs)
+  : references(0), pset(cs) {
+}
 
-  for (dimension_type i = x_space_dim; i-- > 0; ) {
-    ITV& x_seq_i = x.seq[i];
-    const ITV& y_seq_i = y.seq[i];
-    if (!x_seq_i.lower_is_boundary_infinity())
-      if (y_seq_i.lower_is_boundary_infinity() || y_seq_i.lower() < 0)
-	x_seq_i.lower_extend();
-    if (!x_seq_i.upper_is_boundary_infinity())
-      if (y_seq_i.upper_is_boundary_infinity() || y_seq_i.upper() > 0)
-	x_seq_i.upper_extend();
-  }
-  PPL_ASSERT(x.OK());
+template <typename PSET>
+inline
+Determinate<PSET>::Rep::Rep(const Congruence_System& cgs)
+  : references(0), pset(cgs) {
 }
 
-template <typename ITV>
+template <typename PSET>
+inline
+Determinate<PSET>::Rep::~Rep() {
+  PPL_ASSERT(references == 0);
+}
+
+template <typename PSET>
 inline void
-Box<ITV>::remove_space_dimensions(const Variables_Set& vars) {
-  // The removal of no dimensions from any box is a no-op.
-  // Note that this case also captures the only legal removal of
-  // space dimensions from a box in a zero-dimensional space.
-  if (vars.empty()) {
-    PPL_ASSERT(OK());
-    return;
-  }
+Determinate<PSET>::Rep::new_reference() const {
+  ++references;
+}
 
-  const dimension_type old_space_dim = space_dimension();
+template <typename PSET>
+inline bool
+Determinate<PSET>::Rep::del_reference() const {
+  return --references == 0;
+}
 
-  // Dimension-compatibility check.
-  const dimension_type vsi_space_dim = vars.space_dimension();
-  if (old_space_dim < vsi_space_dim)
-    throw_dimension_incompatible("remove_space_dimensions(vs)",
-				 vsi_space_dim);
+template <typename PSET>
+inline bool
+Determinate<PSET>::Rep::is_shared() const {
+  return references > 1;
+}
 
-  const dimension_type new_space_dim = old_space_dim - vars.size();
+template <typename PSET>
+inline memory_size_type
+Determinate<PSET>::Rep::external_memory_in_bytes() const {
+  return pset.external_memory_in_bytes();
+}
 
-  // If the box is empty (this must be detected), then resizing is all
-  // what is needed.  If it is not empty and we are removing _all_ the
-  // dimensions then, again, resizing suffices.
-  if (is_empty() || new_space_dim == 0) {
-    seq.resize(new_space_dim);
-    PPL_ASSERT(OK());
-    return;
-  }
+template <typename PSET>
+inline memory_size_type
+Determinate<PSET>::Rep::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  // For each variable to be removed, we fill the corresponding interval
-  // by shifting left those intervals that will not be removed.
-  Variables_Set::const_iterator vsi = vars.begin();
-  Variables_Set::const_iterator vsi_end = vars.end();
-  dimension_type dst = *vsi;
-  dimension_type src = dst + 1;
-  for (++vsi; vsi != vsi_end; ++vsi) {
-    const dimension_type vsi_next = *vsi;
-    // All intervals in between are moved to the left.
-    while (src < vsi_next)
-      seq[dst++].swap(seq[src++]);
-    ++src;
-  }
-  // Moving the remaining intervals.
-  while (src < old_space_dim)
-    seq[dst++].swap(seq[src++]);
+template <typename PSET>
+inline
+Determinate<PSET>::Determinate(const PSET& pset)
+  : prep(new Rep(pset)) {
+  prep->new_reference();
+}
 
-  PPL_ASSERT(dst == new_space_dim);
-  seq.resize(new_space_dim);
+template <typename PSET>
+inline
+Determinate<PSET>::Determinate(const Constraint_System& cs)
+  : prep(new Rep(cs)) {
+  prep->new_reference();
+}
 
-  PPL_ASSERT(OK());
+template <typename PSET>
+inline
+Determinate<PSET>::Determinate(const Congruence_System& cgs)
+  : prep(new Rep(cgs)) {
+  prep->new_reference();
 }
 
-template <typename ITV>
-void
-Box<ITV>::remove_higher_space_dimensions(const dimension_type new_dim) {
-  // Dimension-compatibility check: the variable having
-  // maximum index is the one occurring last in the set.
-  const dimension_type old_dim = space_dimension();
-  if (new_dim > old_dim)
-    throw_dimension_incompatible("remove_higher_space_dimensions(nd)",
-				 new_dim);
+template <typename PSET>
+inline
+Determinate<PSET>::Determinate(const Determinate& y)
+  : prep(y.prep) {
+  prep->new_reference();
+}
 
-  // The removal of no dimensions from any box is a no-op.
-  // Note that this case also captures the only legal removal of
-  // dimensions from a zero-dim space box.
-  if (new_dim == old_dim) {
-    PPL_ASSERT(OK());
-    return;
-  }
+template <typename PSET>
+inline
+Determinate<PSET>::~Determinate() {
+  if (prep->del_reference())
+    delete prep;
+}
 
-  seq.erase(seq.begin() + new_dim, seq.end());
-  PPL_ASSERT(OK());
+template <typename PSET>
+inline Determinate<PSET>&
+Determinate<PSET>::operator=(const Determinate& y) {
+  y.prep->new_reference();
+  if (prep->del_reference())
+    delete prep;
+  prep = y.prep;
+  return *this;
 }
 
-template <typename ITV>
-template <typename Partial_Function>
-void
-Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0)
-    return;
+template <typename PSET>
+inline void
+Determinate<PSET>::m_swap(Determinate& y) {
+  using std::swap;
+  swap(prep, y.prep);
+}
 
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the box becomes zero_dimensional.
-    remove_higher_space_dimensions(0);
-    return;
+template <typename PSET>
+inline void
+Determinate<PSET>::mutate() {
+  if (prep->is_shared()) {
+    Rep* new_prep = new Rep(prep->pset);
+    (void) prep->del_reference();
+    new_prep->new_reference();
+    prep = new_prep;
   }
+}
 
-  const dimension_type new_space_dim = pfunc.max_in_codomain() + 1;
-  // If the box is empty, then simply adjust the space dimension.
-  if (is_empty()) {
-    remove_higher_space_dimensions(new_space_dim);
-    return;
-  }
+template <typename PSET>
+inline const PSET&
+Determinate<PSET>::pointset() const {
+  return prep->pset;
+}
 
-  // We create a new Box with the new space dimension.
-  Box<ITV> tmp(new_space_dim);
-  // Map the intervals, exchanging the indexes.
-  for (dimension_type i = 0; i < space_dim; ++i) {
-    dimension_type new_i;
-    if (pfunc.maps(i, new_i))
-      seq[i].swap(tmp.seq[new_i]);
-  }
-  swap(tmp);
-  PPL_ASSERT(OK());
+template <typename PSET>
+inline PSET&
+Determinate<PSET>::pointset() {
+  mutate();
+  return prep->pset;
 }
 
-template <typename ITV>
-void
-Box<ITV>::fold_space_dimensions(const Variables_Set& vars,
-                                const Variable dest) {
-  const dimension_type space_dim = space_dimension();
-  // `dest' should be one of the dimensions of the box.
-  if (dest.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)", "v", dest);
+template <typename PSET>
+inline void
+Determinate<PSET>::upper_bound_assign(const Determinate& y) {
+  pointset().upper_bound_assign(y.pointset());
+}
 
-  // The folding of no dimensions is a no-op.
-  if (vars.empty())
-    return;
+template <typename PSET>
+inline void
+Determinate<PSET>::meet_assign(const Determinate& y) {
+  pointset().intersection_assign(y.pointset());
+}
 
-  // All variables in `vars' should be dimensions of the box.
-  if (vars.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(vs, v)",
-				 vars.space_dimension());
+template <typename PSET>
+inline bool
+Determinate<PSET>::has_nontrivial_weakening() {
+  // FIXME: the following should be turned into a query to PSET.  This
+  // can be postponed until the time the ask-and-tell construction is
+  // revived.
+  return false;
+}
 
-  // Moreover, `dest.id()' should not occur in `vars'.
-  if (vars.find(dest.id()) != vars.end())
-    throw_generic("fold_space_dimensions(vs, v)",
-		  "v should not occur in vs");
+template <typename PSET>
+inline void
+Determinate<PSET>::weakening_assign(const Determinate& y) {
+  // FIXME: the following should be turned into a proper
+  // implementation.  This can be postponed until the time the
+  // ask-and-tell construction is revived.
+  pointset().difference_assign(y.pointset());
+}
 
-  // Note: the check for emptiness is needed for correctness.
-  if (!is_empty()) {
-    // Join the interval corresponding to variable `dest' with the intervals
-    // corresponding to the variables in `vars'.
-    ITV& seq_v = seq[dest.id()];
-    for (Variables_Set::const_iterator i = vars.begin(),
-	   vs_end = vars.end(); i != vs_end; ++i)
-      seq_v.join_assign(seq[*i]);
-  }
-  remove_space_dimensions(vars);
+template <typename PSET>
+inline void
+Determinate<PSET>::concatenate_assign(const Determinate& y) {
+  pointset().concatenate_assign(y.pointset());
 }
 
-template <typename ITV>
-void
-Box<ITV>::add_constraint_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c_space_dim <= space_dimension());
+template <typename PSET>
+inline bool
+Determinate<PSET>::definitely_entails(const Determinate& y) const {
+  return prep == y.prep || y.prep->pset.contains(prep->pset);
+}
 
-  dimension_type c_num_vars = 0;
-  dimension_type c_only_var = 0;
-  // Throw an exception if c is not an interval constraints.
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
-    throw_generic("add_constraint(c)", "c is not an interval constraint");
+template <typename PSET>
+inline bool
+Determinate<PSET>::is_definitely_equivalent_to(const Determinate& y) const {
+  return prep == y.prep || prep->pset == y.prep->pset;
+}
 
-  // Throw an exception if c is a nontrivial strict constraint
-  // and ITV does not support open boundaries.
-  if (c.is_strict_inequality() && c_num_vars != 0
-      && ITV::is_always_topologically_closed())
-    throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
+template <typename PSET>
+inline bool
+Determinate<PSET>::is_top() const {
+  return prep->pset.is_universe();
+}
 
-  // Avoid doing useless work if the box is known to be empty.
-  if (marked_empty())
-    return;
+template <typename PSET>
+inline bool
+Determinate<PSET>::is_bottom() const {
+  return prep->pset.is_empty();
+}
 
-  const Coefficient& n = c.inhomogeneous_term();
-  if (c_num_vars == 0) {
-    // Dealing with a trivial constraint.
-    if (n < 0
-        || (c.is_equality() && n != 0)
-	|| (c.is_strict_inequality() && n == 0))
-      set_empty();
-    return;
-  }
+template <typename PSET>
+inline memory_size_type
+Determinate<PSET>::external_memory_in_bytes() const {
+  return prep->total_memory_in_bytes();
+}
 
-  PPL_ASSERT(c_num_vars == 1);
-  const Coefficient& d = c.coefficient(Variable(c_only_var));
-  add_interval_constraint_no_check(c_only_var, c.type(), n, d);
+template <typename PSET>
+inline memory_size_type
+Determinate<PSET>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename ITV>
-void
-Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
-  PPL_ASSERT(cs.space_dimension() <= space_dimension());
-  // Note: even when the box is known to be empty, we need to go
-  // through all the constraints to fulfill the method's contract
-  // for what concerns exception throwing.
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); i != cs_end; ++i)
-    add_constraint_no_check(*i);
-  PPL_ASSERT(OK());
+template <typename PSET>
+inline bool
+Determinate<PSET>::OK() const {
+  return prep->pset.OK();
 }
 
-template <typename ITV>
-void
-Box<ITV>::add_congruence_no_check(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  PPL_ASSERT(cg_space_dim <= space_dimension());
+namespace IO_Operators {
 
-  // Set aside the case of proper congruences.
-  if (cg.is_proper_congruence()) {
-    if (cg.is_inconsistent()) {
-      set_empty();
-      return;
-    }
-    else if (cg.is_tautological())
-      return;
-    else
-      // FIXME: what about intervals with restrictions?
-      throw_generic("add_congruence(cg)",
-                    "cg is a nontrivial proper congruence");
-  }
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PSET>
+inline std::ostream&
+operator<<(std::ostream& s, const Determinate<PSET>& x) {
+  s << x.pointset();
+  return s;
+}
 
-  PPL_ASSERT(cg.is_equality());
-  dimension_type cg_num_vars = 0;
-  dimension_type cg_only_var = 0;
-  // Throw an exception if c is not an interval congruence.
-  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
-    throw_generic("add_congruence(cg)", "cg is not an interval congruence");
+} // namespace IO_Operators
 
-  // Avoid doing useless work if the box is known to be empty.
-  if (marked_empty())
-    return;
+/*! \relates Determinate */
+template <typename PSET>
+inline bool
+operator==(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep == y.prep || x.prep->pset == y.prep->pset;
+}
 
-  const Coefficient& n = cg.inhomogeneous_term();
-  if (cg_num_vars == 0) {
-    // Dealing with a trivial equality congruence.
-    if (n != 0)
-      set_empty();
-    return;
-  }
+/*! \relates Determinate */
+template <typename PSET>
+inline bool
+operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y) {
+  return x.prep != y.prep && x.prep->pset != y.prep->pset;
+}
 
-  PPL_ASSERT(cg_num_vars == 1);
-  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
-  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
+template <typename PSET>
+template <typename Binary_Operator_Assign>
+inline
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
+  : op_assign_(op_assign) {
 }
 
-template <typename ITV>
-void
-Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
-  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
-  // Note: even when the box is known to be empty, we need to go
-  // through all the congruences to fulfill the method's contract
-  // for what concerns exception throwing.
-  for (Congruence_System::const_iterator i = cgs.begin(),
-	 cgs_end = cgs.end(); i != cgs_end; ++i)
-    add_congruence_no_check(*i);
-  PPL_ASSERT(OK());
+template <typename PSET>
+template <typename Binary_Operator_Assign>
+inline void
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+operator()(Determinate& x, const Determinate& y) const {
+  op_assign_(x.pointset(), y.pointset());
 }
 
-template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  PPL_ASSERT(c.space_dimension() <= space_dimension());
-  PPL_ASSERT(!marked_empty());
+template <typename PSET>
+template <typename Binary_Operator_Assign>
+inline
+Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
+  return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
+}
 
-  dimension_type c_num_vars = 0;
-  dimension_type c_only_var = 0;
-  // Non-interval constraints are approximated.
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var)) {
-    propagate_constraint_no_check(c);
-    return;
-  }
+/*! \relates Determinate */
+template <typename PSET>
+inline void
+swap(Determinate<PSET>& x, Determinate<PSET>& y) {
+  x.m_swap(y);
+}
 
-  const Coefficient& n = c.inhomogeneous_term();
-  if (c_num_vars == 0) {
-    // Dealing with a trivial constraint.
-    if (n < 0
-        || (c.is_equality() && n != 0)
-        || (c.is_strict_inequality() && n == 0))
-      set_empty();
-    return;
-  }
+} // namespace Parma_Polyhedra_Library
 
-  PPL_ASSERT(c_num_vars == 1);
-  const Coefficient& d = c.coefficient(Variable(c_only_var));
-  add_interval_constraint_no_check(c_only_var, c.type(), n, d);
-}
+/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 330. */
 
-template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Constraint_System& cs) {
-  PPL_ASSERT(cs.space_dimension() <= space_dimension());
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); !marked_empty() && i != cs_end; ++i)
-    refine_no_check(*i);
-  PPL_ASSERT(OK());
-}
+/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 1. */
+/* Powerset class declaration.
+*/
 
-template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Congruence& cg) {
-  PPL_ASSERT(!marked_empty());
 
-  PPL_ASSERT(cg.space_dimension() <= space_dimension());
+/* Automatically generated from PPL source file ../src/Powerset.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename D>
+class Powerset;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 1. */
+/* iterator_to_const and const_iterator_to_const class declarations.
+*/
+
+
+/* Automatically generated from PPL source file ../src/iterator_to_const.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename Container>
+class iterator_to_const;
+
+template <typename Container>
+class const_iterator_to_const;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 29. */
+//#include "Ask_Tell.types.hh"
+#include <iterator>
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An iterator on a sequence of read-only objects.
+/*! \ingroup PPL_CXX_interface
+  This template class implements a bidirectional <EM>read-only</EM>
+  iterator on the sequence of objects <CODE>Container</CODE>.
+  By using this iterator class it is not possible to modify the objects
+  contained in <CODE>Container</CODE>; rather, object modification has
+  to be implemented by object replacement, i.e., by using the methods
+  provided by <CODE>Container</CODE> to remove/insert objects.
+  Such a policy (a modifiable container of read-only objects) allows
+  for a reliable enforcement of invariants (such as sortedness of the
+  objects in the sequence).
 
-  if (cg.is_proper_congruence()) {
-    // FIXME: also deal with the case of interval with restrictions.
-    // A proper congruences is also an interval constraint
-    // if and only if it is trivial.
-    if (cg.is_inconsistent())
-      set_empty();
-    return;
-  }
+  \note
+  For any developers' need, suitable friend declarations allow for
+  accessing the low-level iterators on the sequence of objects.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Container>
+class Parma_Polyhedra_Library::iterator_to_const {
+private:
+  //! The type of the underlying mutable iterator.
+  typedef typename Container::iterator Base;
 
-  PPL_ASSERT(cg.is_equality());
-  Constraint c(cg);
-  refine_no_check(c);
-}
+  //! A shortcut for naming the const_iterator traits.
+  typedef typename
+  std::iterator_traits<typename Container::const_iterator> Traits;
 
-template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Congruence_System& cgs) {
-  PPL_ASSERT(cgs.space_dimension() <= space_dimension());
-  for (Congruence_System::const_iterator i = cgs.begin(),
-	 cgs_end = cgs.end(); !marked_empty() && i != cgs_end; ++i)
-    refine_no_check(*i);
-  PPL_ASSERT(OK());
-}
+  //! A (mutable) iterator on the sequence of elements.
+  Base base;
 
-#if 1 // Alternative implementations for propagate_constraint_no_check.
-namespace {
+  //! Constructs from the lower-level iterator.
+  iterator_to_const(const Base& b);
 
-inline bool
-propagate_constraint_check_result(Result r, Ternary& open) {
-  r = result_relation_class(r);
-  switch (r) {
-  case V_GT_MINUS_INFINITY:
-  case V_LT_PLUS_INFINITY:
-    return true;
-  case V_LT:
-  case V_GT:
-    open = T_YES;
-    return false;
-  case V_LE:
-  case V_GE:
-    if (open == T_NO)
-      open = T_MAYBE;
-    return false;
-  case V_EQ:
-    return false;
-  default:
-    PPL_ASSERT(false);
-    return true;
-  }
-}
+  friend class const_iterator_to_const<Container>;
+  template <typename T> friend class Powerset;
 
-} // namespace
+public:
+  // Same traits of the const_iterator, therefore
+  // forbidding the direct modification of sequence elements.
+  typedef typename Traits::iterator_category iterator_category;
+  typedef typename Traits::value_type value_type;
+  typedef typename Traits::difference_type difference_type;
+  typedef typename Traits::pointer pointer;
+  typedef typename Traits::reference reference;
 
-template <typename ITV>
-void
-Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  PPL_ASSERT(c.space_dimension() <= space_dimension());
+  //! Default constructor.
+  iterator_to_const();
 
-  typedef
-    typename Select_Temp_Boundary_Type<typename ITV::boundary_type>::type
-    Temp_Boundary_Type;
+  //! Copy constructor.
+  iterator_to_const(const iterator_to_const& y);
 
-  const dimension_type c_space_dim = c.space_dimension();
-  const Constraint::Type c_type = c.type();
-  const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
+  //! Dereference operator.
+  reference operator*() const;
 
-  // Find a space dimension having a non-zero coefficient (if any).
-  dimension_type last_k = c_space_dim;
-  for (dimension_type k = c_space_dim; k-- > 0; ) {
-    if (c.coefficient(Variable(k)) != 0) {
-      last_k = k;
-      break;
-    }
-  }
-  if (last_k == c_space_dim) {
-    // Constraint c is trivial: check if it is inconsistent.
-    if (c_inhomogeneous_term < 0
-        || (c_inhomogeneous_term == 0
-            && c_type != Constraint::NONSTRICT_INEQUALITY))
-      set_empty();
-    return;
-  }
+  //! Indirect access operator.
+  pointer operator->() const;
 
-  // Here constraint c is non-trivial.
-  PPL_ASSERT(last_k < c_space_dim);
-  Result r;
-  Temp_Boundary_Type t_bound;
-  Temp_Boundary_Type t_a;
-  Temp_Boundary_Type t_x;
-  Ternary open;
-  for (dimension_type k = last_k+1; k-- > 0; ) {
-    const Coefficient& a_k = c.coefficient(Variable(k));
-    int sgn_a_k = sgn(a_k);
-    if (sgn_a_k == 0)
-      continue;
-    if (sgn_a_k > 0) {
-      open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
-      if (open == T_NO)
-	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
-      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_1;
-      r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_1;
-      for (dimension_type i = last_k+1; i-- > 0; ) {
-	if (i == k)
-	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
-	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
-	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_boundary_infinity())
-	    goto maybe_refine_upper_1;
-	  r = assign_r(t_a, a_i, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	  if (x_i.lower_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	}
-	else {
-	  PPL_ASSERT(sgn_a_i > 0);
-	  if (x_i.upper_is_boundary_infinity())
-	    goto maybe_refine_upper_1;
-	  r = assign_r(t_a, a_i, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	  if (x_i.upper_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_1;
-	}
-      }
-      r = assign_r(t_a, a_k, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_1;
-      r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_1;
+  //! Prefix increment operator.
+  iterator_to_const& operator++();
 
-      // Refine the lower bound of `seq[k]' with `t_bound'.
-      if (open == T_MAYBE
-	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
-	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
-      reset_empty_up_to_date();
-    maybe_refine_upper_1:
-      if (c_type != Constraint::EQUALITY)
-	continue;
-      open = T_NO;
-      maybe_reset_fpu_inexact<Temp_Boundary_Type>();
-      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      r = neg_assign_r(t_bound, t_bound, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
-	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
-	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
-	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_boundary_infinity())
-	    goto next_k;
-	  r = assign_r(t_a, a_i, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  if (x_i.upper_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	}
-	else {
-	  PPL_ASSERT(sgn_a_i > 0);
-	  if (x_i.lower_is_boundary_infinity())
-	    goto next_k;
-	  r = assign_r(t_a, a_i, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  if (x_i.lower_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	}
-      }
-      r = assign_r(t_a, a_k, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
+  //! Postfix increment operator.
+  iterator_to_const operator++(int);
 
-      // Refine the upper bound of seq[k] with t_bound.
-      if (open == T_MAYBE
-	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
-	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
-      reset_empty_up_to_date();
-    }
-    else {
-      PPL_ASSERT(sgn_a_k < 0);
-      open = (c_type == Constraint::STRICT_INEQUALITY) ? T_YES : T_NO;
-      if (open == T_NO)
-	maybe_reset_fpu_inexact<Temp_Boundary_Type>();
-      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_2;
-      r = neg_assign_r(t_bound, t_bound, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_2;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
-	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
-	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
-	if (sgn_a_i < 0) {
-	  if (x_i.lower_is_boundary_infinity())
-	    goto maybe_refine_upper_2;
-	  r = assign_r(t_a, a_i, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	  if (x_i.lower_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	}
-	else {
-	  PPL_ASSERT(sgn_a_i > 0);
-	  if (x_i.upper_is_boundary_infinity())
-	    goto maybe_refine_upper_2;
-	  r = assign_r(t_a, a_i, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	  if (x_i.upper_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto maybe_refine_upper_2;
-	}
-      }
-      r = assign_r(t_a, a_k, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_2;
-      r = div_assign_r(t_bound, t_bound, t_a, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto maybe_refine_upper_2;
+  //! Prefix decrement operator.
+  iterator_to_const& operator--();
 
-      // Refine the upper bound of seq[k] with t_bound.
-      if (open == T_MAYBE
-	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
-	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? LESS_THAN : LESS_OR_EQUAL, t_bound));
-      reset_empty_up_to_date();
-    maybe_refine_upper_2:
-      if (c_type != Constraint::EQUALITY)
-	continue;
-      open = T_NO;
-      maybe_reset_fpu_inexact<Temp_Boundary_Type>();
-      r = assign_r(t_bound, c_inhomogeneous_term, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      r = neg_assign_r(t_bound, t_bound, ROUND_UP);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      for (dimension_type i = c_space_dim; i-- > 0; ) {
-	if (i == k)
-	  continue;
-	const Coefficient& a_i = c.coefficient(Variable(i));
-	int sgn_a_i = sgn(a_i);
-	if (sgn_a_i == 0)
-	  continue;
-	ITV& x_i = seq[i];
-	if (sgn_a_i < 0) {
-	  if (x_i.upper_is_boundary_infinity())
-	    goto next_k;
-	  r = assign_r(t_a, a_i, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  r = assign_r(t_x, x_i.upper(), ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  if (x_i.upper_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	}
-	else {
-	  PPL_ASSERT(sgn_a_i > 0);
-	  if (x_i.lower_is_boundary_infinity())
-	    goto next_k;
-	  r = assign_r(t_a, a_i, ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  r = assign_r(t_x, x_i.lower(), ROUND_DOWN);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	  if (x_i.lower_is_open())
-	    open = T_YES;
-	  r = sub_mul_assign_r(t_bound, t_a, t_x, ROUND_UP);
-	  if (propagate_constraint_check_result(r, open))
-	    goto next_k;
-	}
-      }
-      r = assign_r(t_a, a_k, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
-      r = div_assign_r(t_bound, t_bound, t_a, ROUND_DOWN);
-      if (propagate_constraint_check_result(r, open))
-	goto next_k;
+  //! Postfix decrement operator.
+  iterator_to_const operator--(int);
 
-      // Refine the lower bound of seq[k] with t_bound.
-      if (open == T_MAYBE
-	  && maybe_check_fpu_inexact<Temp_Boundary_Type>() == 1)
-	open = T_YES;
-      seq[k].add_constraint(i_constraint(open == T_YES ? GREATER_THAN : GREATER_OR_EQUAL, t_bound));
-      reset_empty_up_to_date();
-    }
-  next_k:
-    ;
-  }
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const iterator_to_const& y) const;
 
-#else // Alternative implementations for propagate_constraint_no_check.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const iterator_to_const& y) const;
+};
 
-template <typename ITV>
-void
-Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  PPL_ASSERT(c.space_dimension() <= space_dimension());
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A %const_iterator on a sequence of read-only objects.
+/*! \ingroup PPL_CXX_interface
+  This class, besides implementing a read-only bidirectional iterator
+  on a read-only sequence of objects, ensures interoperability
+  with template class iterator_to_const.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Container>
+class Parma_Polyhedra_Library::const_iterator_to_const {
+private:
+  //! The type of the underlying %const_iterator.
+  typedef typename Container::const_iterator Base;
 
-  dimension_type c_space_dim = c.space_dimension();
-  ITV k[c_space_dim];
-  ITV p[c_space_dim];
-  for (dimension_type i = c_space_dim; i-- > 0; ) {
-    k[i] = c.coefficient(Variable(i));
-    ITV& p_i = p[i];
-    p_i = seq[i];
-    p_i.mul_assign(p_i, k[i]);
-  }
-  const Coefficient& inhomogeneous_term = c.inhomogeneous_term();
-  for (dimension_type i = c_space_dim; i-- > 0; ) {
-    int sgn_coefficient_i = sgn(c.coefficient(Variable(i)));
-    if (sgn_coefficient_i == 0)
-      continue;
-    ITV q(inhomogeneous_term);
-    for (dimension_type j = c_space_dim; j-- > 0; ) {
-      if (i == j)
-	continue;
-      q.add_assign(q, p[j]);
-    }
-    q.div_assign(q, k[i]);
-    q.neg_assign(q);
-    Relation_Symbol rel;
-    switch (c.type()) {
-    case Constraint::EQUALITY:
-      rel = EQUAL;
-      break;
-    case Constraint::NONSTRICT_INEQUALITY:
-      rel = (sgn_coefficient_i > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
-      break;
-    case Constraint::STRICT_INEQUALITY:
-      rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
-      break;
-    }
-    seq[i].add_constraint(i_constraint(rel, q));
-    // FIXME: could/should we exploit the return value of add_constraint
-    //        in case it is available?
-    // FIMXE: should we instead be lazy and do not even bother about
-    //        the possibility the interval becomes empty apart from setting
-    //        empty_up_to_date = false?
-    if (seq[i].is_empty()) {
-      set_empty();
-      break;
-    }
-  }
+  //! A shortcut for naming traits.
+  typedef typename std::iterator_traits<Base> Traits;
 
-  PPL_ASSERT(OK());
-}
+  //! A %const_iterator on the sequence of elements.
+  Base base;
 
-#endif // Alternative implementations for propagate_constraint_no_check.
+  //! Constructs from the lower-level const_iterator.
+  const_iterator_to_const(const Base& b);
 
-template <typename ITV>
-void
-Box<ITV>
-::propagate_constraints_no_check(const Constraint_System& cs,
-                                 const dimension_type max_iterations) {
-  const dimension_type space_dim = space_dimension();
-  PPL_ASSERT(cs.space_dimension() <= space_dim);
+  friend class iterator_to_const<Container>;
+  template <typename T> friend class Powerset;
 
-  const Constraint_System::const_iterator cs_begin = cs.begin();
-  const Constraint_System::const_iterator cs_end = cs.end();
-  const dimension_type cs_size = std::distance(cs_begin, cs_end);
-  const dimension_type propagation_weight = cs_size * space_dim;
+public:
+  // Same traits of the underlying const_iterator.
+  typedef typename Traits::iterator_category iterator_category;
+  typedef typename Traits::value_type value_type;
+  typedef typename Traits::difference_type difference_type;
+  typedef typename Traits::pointer pointer;
+  typedef typename Traits::reference reference;
 
-  Sequence copy;
-  bool changed;
-  dimension_type num_iterations = 0;
-  do {
-    WEIGHT_BEGIN();
-    ++num_iterations;
-    copy = seq;
-    for (Constraint_System::const_iterator i = cs_begin; i != cs_end; ++i)
-      propagate_constraint_no_check(*i);
+  //! Default constructor.
+  const_iterator_to_const();
 
-    WEIGHT_ADD_MUL(40, propagation_weight);
-    // Check if the client has requested abandoning all expensive
-    // computations.  If so, the exception specified by the client
-    // is thrown now.
-    maybe_abandon();
+  //! Copy constructor.
+  const_iterator_to_const(const const_iterator_to_const& y);
 
-    // NOTE: if max_iterations == 0 (i.e., no iteration limit is set)
-    // the following test will anyway trigger on wrap around.
-    if (num_iterations == max_iterations)
-      break;
+  //! Constructs from the corresponding non-const iterator.
+  const_iterator_to_const(const iterator_to_const<Container>& y);
 
-    changed = (copy != seq);
-  } while (changed);
-}
+  //! Dereference operator.
+  reference operator*() const;
 
-template <typename ITV>
-void
-Box<ITV>::affine_image(const Variable var,
-                       const Linear_Expression& expr,
-                       Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_image(v, e, d)", "d == 0");
+  //! Indirect member selector.
+  pointer operator->() const;
 
-  // Dimension-compatibility checks.
-  const dimension_type space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
-  // `var' should be one of the dimensions of the polyhedron.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dim < var_space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", "v", var);
+  //! Prefix increment operator.
+  const_iterator_to_const& operator++();
 
-  if (is_empty())
-    return;
+  //! Postfix increment operator.
+  const_iterator_to_const operator++(int);
 
-  Tmp_Interval_Type expr_value, temp0, temp1;
-  expr_value.assign(expr.inhomogeneous_term());
-  for (dimension_type i = expr_space_dim; i-- > 0; ) {
-    const Coefficient& coeff = expr.coefficient(Variable(i));
-    if (coeff != 0) {
-      temp0.assign(coeff);
-      temp1.assign(seq[i]);
-      temp0.mul_assign(temp0, temp1);
-      expr_value.add_assign(expr_value, temp0);
-    }
-  }
-  if (denominator != 1) {
-    temp0.assign(denominator);
-    expr_value.div_assign(expr_value, temp0);
-  }
-  seq[var.id()].assign(expr_value);
+  //! Prefix decrement operator.
+  const_iterator_to_const& operator--();
 
-  PPL_ASSERT(OK());
-}
+  //! Postfix decrement operator.
+  const_iterator_to_const operator--(int);
 
-template <typename ITV>
-void
-Box<ITV>::affine_preimage(const Variable var,
-                          const Linear_Expression& expr,
-                          Coefficient_traits::const_reference
-                          denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("affine_preimage(v, e, d)", "d == 0");
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
+  */
+  bool operator==(const const_iterator_to_const& y) const;
 
-  // Dimension-compatibility checks.
-  const dimension_type x_space_dim = space_dimension();
-  const dimension_type expr_space_dim = expr.space_dimension();
-  if (x_space_dim < expr_space_dim)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", "e", expr);
-  // `var' should be one of the dimensions of the polyhedron.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (x_space_dim < var_space_dim)
-    throw_dimension_incompatible("affine_preimage(v, e, d)", "v", var);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const const_iterator_to_const& y) const;
+};
 
-  if (is_empty())
-    return;
+namespace Parma_Polyhedra_Library {
 
-  const Coefficient& expr_v = expr.coefficient(var);
-  const bool invertible = (expr_v != 0);
-  if (!invertible) {
-    Tmp_Interval_Type expr_value, temp0, temp1;
-    expr_value.assign(expr.inhomogeneous_term());
-    for (dimension_type i = expr_space_dim; i-- > 0; ) {
-      const Coefficient& coeff = expr.coefficient(Variable(i));
-      if (coeff != 0) {
-	temp0.assign(coeff);
-	temp1.assign(seq[i]);
-	temp0.mul_assign(temp0, temp1);
-	expr_value.add_assign(expr_value, temp0);
-      }
-    }
-    if (denominator != 1) {
-      temp0.assign(denominator);
-      expr_value.div_assign(expr_value, temp0);
-    }
-    ITV& x_seq_v = seq[var.id()];
-    expr_value.intersect_assign(x_seq_v);
-    if (expr_value.is_empty())
-      set_empty();
-    else
-      x_seq_v.assign(UNIVERSE);
-  }
-  else {
-    // The affine transformation is invertible.
-    // CHECKME: for efficiency, would it be meaningful to avoid
-    // the computation of inverse by partially evaluating the call
-    // to affine_image?
-    Linear_Expression inverse;
-    inverse -= expr;
-    inverse += (expr_v + denominator) * var;
-    affine_image(var, inverse, expr_v);
-  }
-  PPL_ASSERT(OK());
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Mixed comparison operator: returns <CODE>true</CODE> if and only
+  if (the const version of) \p x is identical to \p y.
 
-template <typename ITV>
-void
-Box<ITV>
-::bounded_affine_image(const Variable var,
-                       const Linear_Expression& lb_expr,
-                       const Linear_Expression& ub_expr,
-                       Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("bounded_affine_image(v, lb, ub, d)", "d == 0");
+  \relates const_iterator_to_const
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Container>
+bool
+operator==(const iterator_to_const<Container>& x,
+	   const const_iterator_to_const<Container>& y);
 
-  // Dimension-compatibility checks.
-  const dimension_type space_dim = space_dimension();
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
-				 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_image(v, lb, ub, d)",
-				 "ub", ub_expr);
-    // `var' should be one of the dimensions of the box.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dim < var_space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", "v", var);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Mixed comparison operator: returns <CODE>true</CODE> if and only
+  if (the const version of) \p x is different from \p y.
 
-  // Any image of an empty box is empty.
-  if (is_empty())
-    return;
+  \relates const_iterator_to_const
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename Container>
+bool
+operator!=(const iterator_to_const<Container>& x,
+	   const const_iterator_to_const<Container>& y);
 
-  // Add the constraint implied by the `lb_expr' and `ub_expr'.
-  if (denominator > 0)
-    refine_with_constraint(lb_expr <= ub_expr);
-  else
-    refine_with_constraint(lb_expr >= ub_expr);
+} // namespace Parma_Polyhedra_Library
 
-  // Check whether `var' occurs in `lb_expr' and/or `ub_expr'.
-  if (lb_expr.coefficient(var) == 0) {
-    // Here `var' can only occur in `ub_expr'.
-    generalized_affine_image(var,
-			     LESS_OR_EQUAL,
-			     ub_expr,
-			     denominator);
-    if (denominator > 0)
-      refine_with_constraint(lb_expr <= denominator*var);
-    else
-      refine_with_constraint(denominator*var <= lb_expr);
-  }
-  else if (ub_expr.coefficient(var) == 0) {
-    // Here `var' can only occur in `lb_expr'.
-    generalized_affine_image(var,
-			     GREATER_OR_EQUAL,
-			     lb_expr,
-			     denominator);
-    if (denominator > 0)
-      refine_with_constraint(denominator*var <= ub_expr);
-    else
-      refine_with_constraint(ub_expr <= denominator*var);
-  }
-  else {
-    // Here `var' occurs in both `lb_expr' and `ub_expr'.  As boxes
-    // can only use the non-relational constraints, we find the
-    // maximum/minimum values `ub_expr' and `lb_expr' obtain with the
-    // box and use these instead of the `ub-expr' and `lb-expr'.
-    PPL_DIRTY_TEMP(Coefficient, max_num);
-    PPL_DIRTY_TEMP(Coefficient, max_den);
-    bool max_included;
-    PPL_DIRTY_TEMP(Coefficient, min_num);
-    PPL_DIRTY_TEMP(Coefficient, min_den);
-    bool min_included;
-    ITV& seq_v = seq[var.id()];
-    if (maximize(ub_expr, max_num, max_den, max_included)) {
-      if (minimize(lb_expr, min_num, min_den, min_included)) {
-	// The `ub_expr' has a maximum value and the `lb_expr'
-	// has a minimum value for the box.
-	// Set the bounds for `var' using the minimum for `lb_expr'.
-	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q1);
-	PPL_DIRTY_TEMP0(mpq_class, q2);
-	assign_r(q1.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q1.get_den(), min_den, ROUND_NOT_NEEDED);
-	q1.canonicalize();
-	// Now make the maximum of lb_expr the upper bound.  If the
-	// maximum is not at a box point, then inequality is strict.
-	max_den *= denominator;
-	assign_r(q2.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q2.get_den(), max_den, ROUND_NOT_NEEDED);
-	q2.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q1),
-		      i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q2));
-	else
-	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q2),
-		       i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q1));
-      }
-      else {
-	// The `ub_expr' has a maximum value but the `lb_expr'
-	// has no minimum value for the box.
-	// Set the bounds for `var' using the maximum for `lb_expr'.
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	max_den *= denominator;
-	assign_r(q.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q));
-	else
-	  seq_v.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
-      }
-    }
-    else if (minimize(lb_expr, min_num, min_den, min_included)) {
-	// The `ub_expr' has no maximum value but the `lb_expr'
-	// has a minimum value for the box.
-	// Set the bounds for `var' using the minimum for `lb_expr'.
-	min_den *= denominator;
-	PPL_DIRTY_TEMP0(mpq_class, q);
-	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	if (denominator > 0)
-	  seq_v.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q));
-	else
-	  seq_v.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q));
-    }
-    else {
-      // The `ub_expr' has no maximum value and the `lb_expr'
-      // has no minimum value for the box.
-      // So we set the bounds to be unbounded.
-      seq_v.assign(UNIVERSE);
-    }
-  }
-  PPL_ASSERT(OK());
-}
+/* Automatically generated from PPL source file ../src/iterator_to_const.inlines.hh line 1. */
+/* iterator_to_const and const_iterator_to_const class implementations:
+   inline functions.
+*/
 
-template <typename ITV>
-void
-Box<ITV>
-::bounded_affine_preimage(const Variable var,
-                          const Linear_Expression& lb_expr,
-                          const Linear_Expression& ub_expr,
-                          Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  const dimension_type space_dim = space_dimension();
-  if (denominator == 0)
-    throw_generic("bounded_affine_preimage(v, lb, ub, d)", "d == 0");
 
-  // Dimension-compatibility checks.
-  // `var' should be one of the dimensions of the polyhedron.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dim < var_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub, d)",
-				 "v", var);
-  // The dimension of `lb_expr' and `ub_expr' should not be
-  // greater than the dimension of `*this'.
-  const dimension_type lb_space_dim = lb_expr.space_dimension();
-  if (space_dim < lb_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-				 "lb", lb_expr);
-  const dimension_type ub_space_dim = ub_expr.space_dimension();
-  if (space_dim < ub_space_dim)
-    throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
-				 "ub", ub_expr);
+namespace Parma_Polyhedra_Library {
 
-  // Any preimage of an empty polyhedron is empty.
-  if (marked_empty())
-    return;
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const()
+  : base() {
+}
 
-  const bool negative_denom = (denominator < 0);
-  const Coefficient& lb_var_coeff = lb_expr.coefficient(var);
-  const Coefficient& ub_var_coeff = ub_expr.coefficient(var);
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const(const iterator_to_const& y)
+  : base(y.base) {
+}
 
-  // If the implied constraint between `ub_expr and `lb_expr' is
-  // independent of `var', then impose it now.
-  if (lb_var_coeff == ub_var_coeff) {
-    if (negative_denom)
-      refine_with_constraint(lb_expr >= ub_expr);
-    else
-      refine_with_constraint(lb_expr <= ub_expr);
-  }
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const(const Base& b)
+  : base(b) {
+}
 
-  ITV& seq_var = seq[var.id()];
-  if (!seq_var.is_universe()) {
-    // We want to work with a positive denominator,
-    // so the sign and its (unsigned) value are separated.
-    PPL_DIRTY_TEMP_COEFFICIENT(pos_denominator);
-    pos_denominator = denominator;
-    if (negative_denom)
-      neg_assign(pos_denominator, pos_denominator);
-    // Store all the information about the upper and lower bounds
-    // for `var' before making this interval unbounded.
-    bool open_lower = seq_var.lower_is_open();
-    bool unbounded_lower = seq_var.lower_is_boundary_infinity();
-    PPL_DIRTY_TEMP0(mpq_class, q_seq_var_lower);
-    PPL_DIRTY_TEMP(Coefficient, num_lower);
-    PPL_DIRTY_TEMP(Coefficient, den_lower);
-    if (!unbounded_lower) {
-      assign_r(q_seq_var_lower, seq_var.lower(), ROUND_NOT_NEEDED);
-      assign_r(num_lower, q_seq_var_lower.get_num(), ROUND_NOT_NEEDED);
-      assign_r(den_lower, q_seq_var_lower.get_den(), ROUND_NOT_NEEDED);
-      if (negative_denom)
-        neg_assign(den_lower, den_lower);
-      num_lower *= pos_denominator;
-      seq_var.lower_extend();
-    }
-    bool open_upper = seq_var.upper_is_open();
-    bool unbounded_upper = seq_var.upper_is_boundary_infinity();
-    PPL_DIRTY_TEMP0(mpq_class, q_seq_var_upper);
-    PPL_DIRTY_TEMP(Coefficient, num_upper);
-    PPL_DIRTY_TEMP(Coefficient, den_upper);
-    if (!unbounded_upper) {
-      assign_r(q_seq_var_upper, seq_var.upper(), ROUND_NOT_NEEDED);
-      assign_r(num_upper, q_seq_var_upper.get_num(), ROUND_NOT_NEEDED);
-      assign_r(den_upper, q_seq_var_upper.get_den(), ROUND_NOT_NEEDED);
-      if (negative_denom)
-        neg_assign(den_upper, den_upper);
-      num_upper *= pos_denominator;
-      seq_var.upper_extend();
-    }
+template <typename Container>
+inline typename iterator_to_const<Container>::reference
+iterator_to_const<Container>::operator*() const {
+  return *base;
+}
 
-    if (!unbounded_lower) {
-      // `lb_expr' is revised by removing the `var' component,
-      // multiplying by `-' denominator of the lower bound for `var',
-      // and adding the lower bound for `var' to the inhomogeneous term.
-      Linear_Expression revised_lb_expr(ub_expr);
-      revised_lb_expr -= ub_var_coeff * var;
-      PPL_DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_lower);
-      revised_lb_expr *= d;
-      revised_lb_expr += num_lower;
+template <typename Container>
+inline typename iterator_to_const<Container>::pointer
+iterator_to_const<Container>::operator->() const {
+  return &*base;
+}
 
-      // Find the minimum value for the revised lower bound expression
-      // and use this to refine the appropriate bound.
-      bool included;
-      PPL_DIRTY_TEMP(Coefficient, den);
-      if (minimize(revised_lb_expr, num_lower, den, included)) {
-        den_lower *= (den * ub_var_coeff);
-        PPL_DIRTY_TEMP0(mpq_class, q);
-        assign_r(q.get_num(), num_lower, ROUND_NOT_NEEDED);
-        assign_r(q.get_den(), den_lower, ROUND_NOT_NEEDED);
-        q.canonicalize();
-        open_lower |= !included;
-        if ((ub_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.add_constraint(i_constraint(open_lower ? GREATER_THAN : GREATER_OR_EQUAL, q));
-        else
-          seq_var.add_constraint(i_constraint(open_lower ? LESS_THAN : LESS_OR_EQUAL, q));
-        if (seq_var.is_empty()) {
-          set_empty();
-          return;
-        }
-      }
-    }
+template <typename Container>
+inline iterator_to_const<Container>&
+iterator_to_const<Container>::operator++() {
+  ++base;
+  return *this;
+}
 
-    if (!unbounded_upper) {
-      // `ub_expr' is revised by removing the `var' component,
-      // multiplying by `-' denominator of the upper bound for `var',
-      // and adding the upper bound for `var' to the inhomogeneous term.
-      Linear_Expression revised_ub_expr(lb_expr);
-      revised_ub_expr -= lb_var_coeff * var;
-      PPL_DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_upper);
-      revised_ub_expr *= d;
-      revised_ub_expr += num_upper;
+template <typename Container>
+inline iterator_to_const<Container>
+iterator_to_const<Container>::operator++(int) {
+  iterator_to_const tmp = *this;
+  operator++();
+  return tmp;
+}
 
-      // Find the maximum value for the revised upper bound expression
-      // and use this to refine the appropriate bound.
-      bool included;
-      PPL_DIRTY_TEMP(Coefficient, den);
-      if (maximize(revised_ub_expr, num_upper, den, included)) {
-        den_upper *= (den * lb_var_coeff);
-        PPL_DIRTY_TEMP0(mpq_class, q);
-        assign_r(q.get_num(), num_upper, ROUND_NOT_NEEDED);
-        assign_r(q.get_den(), den_upper, ROUND_NOT_NEEDED);
-        q.canonicalize();
-        open_upper |= !included;
-        if ((lb_var_coeff >= 0) ? !negative_denom : negative_denom)
-          seq_var.add_constraint(i_constraint(open_upper ? LESS_THAN : LESS_OR_EQUAL, q));
-        else
-          seq_var.add_constraint(i_constraint(open_upper ? GREATER_THAN : GREATER_OR_EQUAL, q));
-        if (seq_var.is_empty()) {
-          set_empty();
-          return;
-        }
-      }
-    }
-  }
+template <typename Container>
+inline iterator_to_const<Container>&
+iterator_to_const<Container>::operator--() {
+  --base;
+  return *this;
+}
 
-  // If the implied constraint between `ub_expr and `lb_expr' is
-  // dependent on `var', then impose on the new box.
-  if (lb_var_coeff != ub_var_coeff) {
-    if (denominator > 0)
-      refine_with_constraint(lb_expr <= ub_expr);
-    else
-      refine_with_constraint(lb_expr >= ub_expr);
-  }
+template <typename Container>
+inline iterator_to_const<Container>
+iterator_to_const<Container>::operator--(int) {
+  iterator_to_const tmp = *this;
+  operator--();
+  return tmp;
+}
 
-  PPL_ASSERT(OK());
+template <typename Container>
+inline bool
+iterator_to_const<Container>::operator==(const iterator_to_const& y) const {
+  return base == y.base;
 }
 
-template <typename ITV>
-void
-Box<ITV>
-::generalized_affine_image(const Variable var,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression& expr,
-                           Coefficient_traits::const_reference denominator) {
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_image(v, r, e, d)", "d == 0");
+template <typename Container>
+inline bool
+iterator_to_const<Container>::operator!=(const iterator_to_const& y) const {
+  return !operator==(y);
+}
 
-  // Dimension-compatibility checks.
-  const dimension_type space_dim = space_dimension();
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  if (space_dim < expr.space_dimension())
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
-				 "e", expr);
-  // `var' should be one of the dimensions of the box.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dim < var_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(v, r, e, d)",
-				 "v", var);
+template <typename Container>
+inline
+const_iterator_to_const<Container>::const_iterator_to_const()
+  : base() {
+}
 
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(v, r, e, d)",
-		  "r is the disequality relation symbol");
+template <typename Container>
+inline
+const_iterator_to_const<Container>
+::const_iterator_to_const(const const_iterator_to_const& y)
+  : base(y.base) {
+}
 
-  // First compute the affine image.
-  affine_image(var, expr, denominator);
+template <typename Container>
+inline
+const_iterator_to_const<Container>::const_iterator_to_const(const Base& b)
+  : base(b) {
+}
 
-  if (relsym == EQUAL)
-    // The affine relation is indeed an affine function.
-    return;
+template <typename Container>
+inline typename const_iterator_to_const<Container>::reference
+const_iterator_to_const<Container>::operator*() const {
+  return *base;
+}
 
-  // Any image of an empty box is empty.
-  if (is_empty())
-    return;
+template <typename Container>
+inline typename const_iterator_to_const<Container>::pointer
+const_iterator_to_const<Container>::operator->() const {
+  return &*base;
+}
 
-  ITV& seq_var = seq[var.id()];
-  switch (relsym) {
-  case LESS_OR_EQUAL:
-    seq_var.lower_extend();
-    break;
-  case LESS_THAN:
-    seq_var.lower_extend();
-    if (!seq_var.upper_is_boundary_infinity())
-      seq_var.remove_sup();
-    break;
-  case GREATER_OR_EQUAL:
-    seq_var.upper_extend();
-    break;
-  case GREATER_THAN:
-    seq_var.upper_extend();
-    if (!seq_var.lower_is_boundary_infinity())
-      seq_var.remove_inf();
-    break;
-  default:
-    // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
-  }
-  PPL_ASSERT(OK());
+template <typename Container>
+inline const_iterator_to_const<Container>&
+const_iterator_to_const<Container>::operator++() {
+  ++base;
+  return *this;
 }
 
-template <typename ITV>
-void
-Box<ITV>
-::generalized_affine_preimage(const Variable var,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& expr,
-                              Coefficient_traits::const_reference denominator)
-{
-  // The denominator cannot be zero.
-  if (denominator == 0)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-			   "d == 0");
+template <typename Container>
+inline const_iterator_to_const<Container>
+const_iterator_to_const<Container>::operator++(int) {
+  const_iterator_to_const tmp = *this;
+  operator++();
+  return tmp;
+}
 
-  // Dimension-compatibility checks.
-  const dimension_type space_dim = space_dimension();
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
-  if (space_dim < expr.space_dimension())
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-				 "e", expr);
-  // `var' should be one of the dimensions of the box.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (space_dim < var_space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-				 "v", var);
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_preimage(v, r, e, d)",
-                  "r is the disequality relation symbol");
+template <typename Container>
+inline const_iterator_to_const<Container>&
+const_iterator_to_const<Container>::operator--() {
+  --base;
+  return *this;
+}
 
-  // Check whether the affine relation is indeed an affine function.
-  if (relsym == EQUAL) {
-    affine_preimage(var, expr, denominator);
-    return;
-  }
+template <typename Container>
+inline const_iterator_to_const<Container>
+const_iterator_to_const<Container>::operator--(int) {
+  const_iterator_to_const tmp = *this;
+  operator--();
+  return tmp;
+}
 
-  // Compute the reversed relation symbol to simplify later coding.
-  Relation_Symbol reversed_relsym;
-  switch (relsym) {
-  case LESS_THAN:
-    reversed_relsym = GREATER_THAN;
-    break;
-  case LESS_OR_EQUAL:
-    reversed_relsym = GREATER_OR_EQUAL;
-    break;
-  case GREATER_OR_EQUAL:
-    reversed_relsym = LESS_OR_EQUAL;
-    break;
-  case GREATER_THAN:
-    reversed_relsym = LESS_THAN;
-    break;
-  default:
-    // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
-  }
+template <typename Container>
+inline bool
+const_iterator_to_const<Container>
+::operator==(const const_iterator_to_const& y) const {
+  return base == y.base;
+}
 
-  // Check whether the preimage of this affine relation can be easily
-  // computed as the image of its inverse relation.
-  const Coefficient& var_coefficient = expr.coefficient(var);
-  if (var_coefficient != 0) {
-    Linear_Expression inverse_expr
-      = expr - (denominator + var_coefficient) * var;
-    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denominator);
-    neg_assign(inverse_denominator, var_coefficient);
-    Relation_Symbol inverse_relsym
-      = (sgn(denominator) == sgn(inverse_denominator))
-      ? relsym : reversed_relsym;
-    generalized_affine_image(var, inverse_relsym, inverse_expr,
-			     inverse_denominator);
-    return;
-  }
+template <typename Container>
+inline bool
+const_iterator_to_const<Container>
+::operator!=(const const_iterator_to_const& y) const {
+  return !operator==(y);
+}
 
-  // Here `var_coefficient == 0', so that the preimage cannot
-  // be easily computed by inverting the affine relation.
-  // Shrink the box by adding the constraint induced
-  // by the affine relation.
-  // First, compute the maximum and minimum value reached by
-  // `denominator*var' on the box as we need to use non-relational
-  // expressions.
-  PPL_DIRTY_TEMP(Coefficient, max_num);
-  PPL_DIRTY_TEMP(Coefficient, max_den);
-  bool max_included;
-  bool bound_above = maximize(denominator*var, max_num, max_den, max_included);
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
-  bool min_included;
-  bool bound_below = minimize(denominator*var, min_num, min_den, min_included);
-  // Use the correct relation symbol
-  const Relation_Symbol corrected_relsym
-    = (denominator > 0) ? relsym : reversed_relsym;
-  // Revise the expression to take into account the denominator of the
-  // maximum/minimim value for `var'.
-  PPL_DIRTY_TEMP(Linear_Expression, revised_expr);
-  dimension_type dim = space_dim;
-  PPL_DIRTY_TEMP_COEFFICIENT(d);
-  if (corrected_relsym == LESS_THAN || corrected_relsym == LESS_OR_EQUAL) {
-    if (bound_below) {
-      for ( ; dim > 0; dim--) {
-        d = min_den * expr.coefficient(Variable(dim - 1));
-        revised_expr += d * Variable(dim - 1);
-      }
-    }
-  }
-  else {
-    if (bound_above) {
-      for ( ; dim > 0; dim--) {
-        d = max_den * expr.coefficient(Variable(dim - 1));
-        revised_expr += d * Variable(dim - 1);
-      }
-    }
-  }
+template <typename Container>
+inline
+const_iterator_to_const<Container>
+::const_iterator_to_const(const iterator_to_const<Container>& y)
+  : base(y.base) {
+}
 
-  switch (corrected_relsym) {
-  case LESS_THAN:
-    if (bound_below)
-      refine_with_constraint(min_num < revised_expr);
-    break;
-  case LESS_OR_EQUAL:
-    if (bound_below)
-      (min_included)
-        ? refine_with_constraint(min_num <= revised_expr)
-        : refine_with_constraint(min_num < revised_expr);
-    break;
-  case GREATER_OR_EQUAL:
-    if (bound_above)
-      (max_included)
-        ? refine_with_constraint(max_num >= revised_expr)
-        : refine_with_constraint(max_num > revised_expr);
-    break;
-  case GREATER_THAN:
-    if (bound_above)
-      refine_with_constraint(max_num > revised_expr);
-    break;
-  default:
-    // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
-  }
-  // If the shrunk box is empty, its preimage is empty too.
-  if (is_empty())
-    return;
-  ITV& seq_v = seq[var.id()];
-  seq_v.assign(UNIVERSE);
-  PPL_ASSERT(OK());
+/*! \relates const_iterator_to_const */
+template <typename Container>
+inline bool
+operator==(const iterator_to_const<Container>& x,
+	   const const_iterator_to_const<Container>& y) {
+  return const_iterator_to_const<Container>(x).operator==(y);
 }
 
-template <typename ITV>
-void
-Box<ITV>
-::generalized_affine_image(const Linear_Expression& lhs,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  dimension_type lhs_space_dim = lhs.space_dimension();
-  const dimension_type space_dim = space_dimension();
-  if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-				 "e1", lhs);
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-				 "e2", rhs);
+/*! \relates const_iterator_to_const */
+template <typename Container>
+inline bool
+operator!=(const iterator_to_const<Container>& x,
+	   const const_iterator_to_const<Container>& y) {
+  return !(x == y);
+}
 
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol");
+} // namespace Parma_Polyhedra_Library
 
-  // Any image of an empty box is empty.
-  if (marked_empty())
-    return;
+/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 220. */
 
-  // Compute the maximum and minimum value reached by the rhs on the box.
-  PPL_DIRTY_TEMP(Coefficient, max_num);
-  PPL_DIRTY_TEMP(Coefficient, max_den);
-  bool max_included;
-  bool max_rhs = maximize(rhs, max_num, max_den, max_included);
-  PPL_DIRTY_TEMP(Coefficient, min_num);
-  PPL_DIRTY_TEMP(Coefficient, min_den);
-  bool min_included;
-  bool min_rhs = minimize(rhs, min_num, min_den, min_included);
+/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 30. */
+#include <iosfwd>
+#include <iterator>
+#include <list>
 
-  // Check whether there is 0, 1 or more than one variable in the lhs
-  // and record the variable with the highest dimension; set the box
-  // intervals to be unbounded for all other dimensions with non-zero
-  // coefficients in the lhs.
-  bool has_var = false;
-  bool has_more_than_one_var = false;
-  // Initialization is just to avoid an annoying warning.
-  dimension_type has_var_id = 0;
-  for ( ; lhs_space_dim > 0; --lhs_space_dim)
-    if (lhs.coefficient(Variable(lhs_space_dim - 1)) != 0) {
-      if (has_var) {
-        ITV& seq_i = seq[lhs_space_dim - 1];
-        seq_i.assign(UNIVERSE);
-        has_more_than_one_var = true;
-      }
-      else {
-        has_var = true;
-        has_var_id = lhs_space_dim - 1;
-      }
-    }
+namespace Parma_Polyhedra_Library {
 
-  if (has_more_than_one_var) {
-    // There is more than one dimension with non-zero coefficient, so
-    // we cannot have any information about the dimensions in the lhs.
-    // Since all but the highest dimension with non-zero coefficient
-    // in the lhs have been set unbounded, it remains to set the
-    // highest dimension in the lhs unbounded.
-    ITV& seq_var = seq[has_var_id];
-    seq_var.assign(UNIVERSE);
-    PPL_ASSERT(OK());
-    return;
-  }
+//! Swaps \p x with \p y.
+/*! \relates Powerset */
+template <typename D>
+void swap(Powerset<D>& x, Powerset<D>& y);
 
-  if (has_var) {
-    // There is exactly one dimension with non-zero coefficient.
-    ITV& seq_var = seq[has_var_id];
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
+/*! \relates Powerset */
+template <typename D>
+bool
+operator==(const Powerset<D>& x, const Powerset<D>& y);
 
-    // Compute the new bounds for this dimension defined by the rhs
-    // expression.
-    const Coefficient& inhomo = lhs.inhomogeneous_term();
-    const Coefficient& coeff = lhs.coefficient(Variable(has_var_id));
-    PPL_DIRTY_TEMP0(mpq_class, q_max);
-    PPL_DIRTY_TEMP0(mpq_class, q_min);
-    if (max_rhs) {
-      max_num -= inhomo * max_den;
-      max_den *= coeff;
-      assign_r(q_max.get_num(), max_num, ROUND_NOT_NEEDED);
-      assign_r(q_max.get_den(), max_den, ROUND_NOT_NEEDED);
-      q_max.canonicalize();
-    }
-    if (min_rhs) {
-      min_num -= inhomo * min_den;
-      min_den *= coeff;
-      assign_r(q_min.get_num(), min_num, ROUND_NOT_NEEDED);
-      assign_r(q_min.get_den(), min_den, ROUND_NOT_NEEDED);
-      q_min.canonicalize();
-    }
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equivalent.
+/*! \relates Powerset */
+template <typename D>
+bool
+operator!=(const Powerset<D>& x, const Powerset<D>& y);
 
-    // The choice as to which bounds should be set depends on the sign
-    // of the coefficient of the dimension `has_var_id' in the lhs.
-    if (coeff > 0)
-      // The coefficient of the dimension in the lhs is +ve.
-      switch (relsym) {
-      case LESS_OR_EQUAL:
-        max_rhs
-          ? seq_var.build(i_constraint(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
-        break;
-      case LESS_THAN:
-        max_rhs
-          ? seq_var.build(i_constraint(LESS_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
-        break;
-      case EQUAL:
-	{
-	  I_Constraint<mpq_class> l;
-	  I_Constraint<mpq_class> u;
-	  if (max_rhs)
-	    u.set(max_included ? LESS_OR_EQUAL : LESS_THAN, q_max);
-	  if (min_rhs)
-	    l.set(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min);
-	  seq_var.build(l, u);
-          break;
-	}
-      case GREATER_OR_EQUAL:
-        min_rhs
-          ? seq_var.build(i_constraint(min_included ? GREATER_OR_EQUAL : GREATER_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
-        break;
-      case GREATER_THAN:
-        min_rhs
-          ? seq_var.build(i_constraint(GREATER_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
-        break;
-      default:
-        // The NOT_EQUAL case has been already dealt with.
-        throw std::runtime_error("PPL internal error");
-      }
-    else
-      // The coefficient of the dimension in the lhs is -ve.
-      switch (relsym) {
-      case GREATER_OR_EQUAL:
-        min_rhs
-          ? seq_var.build(i_constraint(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min))
-          : seq_var.assign(UNIVERSE);
-        break;
-      case GREATER_THAN:
-        min_rhs
-          ? seq_var.build(i_constraint(LESS_THAN, q_min))
-	  : seq_var.assign(UNIVERSE);
-        break;
-      case EQUAL:
-	{
-	  I_Constraint<mpq_class> l;
-	  I_Constraint<mpq_class> u;
-	  if (max_rhs)
-	    l.set(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max);
-	  if (min_rhs)
-	    u.set(min_included ? LESS_OR_EQUAL : LESS_THAN, q_min);
-	  seq_var.build(l, u);
-          break;
-	}
-      case LESS_OR_EQUAL:
-        max_rhs
-	  ? seq_var.build(i_constraint(max_included ? GREATER_OR_EQUAL : GREATER_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
-        break;
-      case LESS_THAN:
-        max_rhs
-          ? seq_var.build(i_constraint(GREATER_THAN, q_max))
-          : seq_var.assign(UNIVERSE);
-        break;
-      default:
-        // The NOT_EQUAL case has been already dealt with.
-        throw std::runtime_error("PPL internal error");
-      }
-  }
+namespace IO_Operators {
 
-  else {
-    // The lhs is a constant value, so we just need to add the
-    // appropriate constraint.
-    const Coefficient& inhomo = lhs.inhomogeneous_term();
-    switch (relsym) {
-    case LESS_THAN:
-      refine_with_constraint(inhomo < rhs);
-      break;
-    case LESS_OR_EQUAL:
-      refine_with_constraint(inhomo <= rhs);
-      break;
-    case EQUAL:
-      refine_with_constraint(inhomo == rhs);
-      break;
-    case GREATER_OR_EQUAL:
-      refine_with_constraint(inhomo >= rhs);
-      break;
-    case GREATER_THAN:
-      refine_with_constraint(inhomo > rhs);
-      break;
-    default:
-      // The NOT_EQUAL case has been already dealt with.
-      throw std::runtime_error("PPL internal error");
-    }
-  }
-  PPL_ASSERT(OK());
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Powerset */
+template <typename D>
+std::ostream&
+operator<<(std::ostream& s, const Powerset<D>& x);
 
-template <typename ITV>
-void
-Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
-                                      const Relation_Symbol relsym,
-                                      const Linear_Expression& rhs) {
-  // Dimension-compatibility checks.
-  // The dimension of `lhs' should not be greater than the dimension
-  // of `*this'.
-  dimension_type lhs_space_dim = lhs.space_dimension();
-  const dimension_type space_dim = space_dimension();
-  if (space_dim < lhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-				 "e1", lhs);
-  // The dimension of `rhs' should not be greater than the dimension
-  // of `*this'.
-  const dimension_type rhs_space_dim = rhs.space_dimension();
-  if (space_dim < rhs_space_dim)
-    throw_dimension_incompatible("generalized_affine_image(e1, r, e2)",
-				 "e2", rhs);
+} // namespace IO_Operators
 
-  // The relation symbol cannot be a disequality.
-  if (relsym == NOT_EQUAL)
-    throw_generic("generalized_affine_image(e1, r, e2)",
-                  "r is the disequality relation symbol");
+} // namespace Parma_Polyhedra_Library
 
-  // Any image of an empty box is empty.
-  if (marked_empty())
-    return;
 
-  // For any dimension occurring in the lhs, swap and change the sign
-  // of this component for the rhs and lhs.  Then use these in a call
-  // to generalized_affine_image/3.
-  Linear_Expression revised_lhs = lhs;
-  Linear_Expression revised_rhs = rhs;
-  for (dimension_type d = lhs_space_dim; d-- > 0; ) {
-    const Variable& var = Variable(d);
-    if (lhs.coefficient(var) != 0) {
-      PPL_DIRTY_TEMP(Coefficient, temp);
-      temp = rhs.coefficient(var) + lhs.coefficient(var);
-      revised_rhs -= temp * var;
-      revised_lhs -= temp * var;
-    }
-  }
-  generalized_affine_image(revised_lhs, relsym, revised_rhs);
-  PPL_ASSERT(OK());
+//! The powerset construction on a base-level domain.
+/*! \ingroup PPL_CXX_interface
+  This class offers a generic implementation of a
+  <EM>powerset</EM> domain as defined in Section \ref powerset.
+
+  Besides invoking the available methods on the disjuncts of a Powerset,
+  this class also provides bidirectional iterators that allow for a
+  direct inspection of these disjuncts. For a consistent handling of
+  Omega-reduction, all the iterators are <EM>read-only</EM>, meaning
+  that the disjuncts cannot be overwritten. Rather, by using the class
+  <CODE>iterator</CODE>, it is possible to drop one or more disjuncts
+  (possibly so as to later add back modified versions).  As an example
+  of iterator usage, the following template function drops from
+  powerset \p ps all the disjuncts that would have become redundant by
+  the addition of an external element \p d.
+
+  \code
+template <typename D>
+void
+drop_subsumed(Powerset<D>& ps, const D& d) {
+  for (typename Powerset<D>::iterator i = ps.begin(),
+         ps_end = ps.end(), i != ps_end; )
+    if (i->definitely_entails(d))
+      i = ps.drop_disjunct(i);
+    else
+      ++i;
 }
+  \endcode
 
-template <typename ITV>
-template <typename T, typename Iterator>
-typename Enable_If<Is_Same<T, Box<ITV> >::value
-                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                   void>::type
-Box<ITV>::CC76_widening_assign(const T& y, Iterator first, Iterator last) {
-  if (y.is_empty())
-    return;
+  The template class D must provide the following methods.
+  \code
+    memory_size_type total_memory_in_bytes() const
+  \endcode
+  Returns a lower bound on the total size in bytes of the memory
+  occupied by the instance of D.
+  \code
+    bool is_top() const
+  \endcode
+  Returns <CODE>true</CODE> if and only if the instance of D is the top
+  element of the domain.
+  \code
+    bool is_bottom() const
+  \endcode
+  Returns <CODE>true</CODE> if and only if the instance of D is the
+  bottom element of the domain.
+  \code
+    bool definitely_entails(const D& y) const
+  \endcode
+  Returns <CODE>true</CODE> if the instance of D definitely entails
+  <CODE>y</CODE>.  Returns <CODE>false</CODE> if the instance may not
+  entail <CODE>y</CODE> (i.e., if the instance does not entail
+  <CODE>y</CODE> or if entailment could not be decided).
+  \code
+    void upper_bound_assign(const D& y)
+  \endcode
+  Assigns to the instance of D an upper bound of the instance and
+  <CODE>y</CODE>.
+  \code
+    void meet_assign(const D& y)
+  \endcode
+  Assigns to the instance of D the meet of the instance and
+  <CODE>y</CODE>.
+  \code
+    bool OK() const
+  \endcode
+  Returns <CODE>true</CODE> if the instance of D is in a consistent
+  state, else returns <CODE>false</CODE>.
 
-  for (dimension_type i = seq.size(); i-- > 0; )
-    seq[i].CC76_widening_assign(y.seq[i], first, last);
+  The following operators on the template class D must be defined.
+  \code
+    operator<<(std::ostream& s, const D& x)
+  \endcode
+  Writes a textual representation of the instance of D on
+  <CODE>s</CODE>.
+  \code
+    operator==(const D& x, const D& y)
+  \endcode
+  Returns <CODE>true</CODE> if and only if <CODE>x</CODE> and
+  <CODE>y</CODE> are equivalent D's.
+  \code
+    operator!=(const D& x, const D& y)
+  \endcode
+  Returns <CODE>true</CODE> if and only if <CODE>x</CODE> and
+  <CODE>y</CODE> are different D's.
+*/
+template <typename D>
+class Parma_Polyhedra_Library::Powerset {
+public:
+  //! \name Constructors and Destructor
+  //@{
 
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    Default constructor: builds the bottom of the powerset constraint
+    system (i.e., the empty powerset).
+  */
+  Powerset();
 
-template <typename ITV>
-template <typename T>
-typename Enable_If<Is_Same<T, Box<ITV> >::value
-                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                   void>::type
-Box<ITV>::CC76_widening_assign(const T& y, unsigned* tp) {
-  static typename ITV::boundary_type stop_points[] = {
-    typename ITV::boundary_type(-2),
-    typename ITV::boundary_type(-1),
-    typename ITV::boundary_type(0),
-    typename ITV::boundary_type(1),
-    typename ITV::boundary_type(2)
-  };
+  //! Copy constructor.
+  Powerset(const Powerset& y);
 
-  Box& x = *this;
-  // If there are tokens available, work on a temporary copy.
-  if (tp != 0 && *tp > 0) {
-    Box<ITV> x_tmp(x);
-    x_tmp.CC76_widening_assign(y, 0);
-    // If the widening was not precise, use one of the available tokens.
-    if (!x.contains(x_tmp))
-      --(*tp);
-    return;
-  }
-  x.CC76_widening_assign(y,
-			 stop_points,
-			 stop_points
-			 + sizeof(stop_points)/sizeof(stop_points[0]));
-}
+  /*! \brief
+    If \p d is not bottom, builds a powerset containing only \p d.
+    Builds the empty powerset otherwise.
+  */
+  explicit Powerset(const D& d);
 
-template <typename ITV>
-void
-Box<ITV>::get_limiting_box(const Constraint_System& cs,
-                           Box& limiting_box) const {
-  const dimension_type cs_space_dim = cs.space_dimension();
-  // Private method: the caller has to ensure the following.
-  PPL_ASSERT(cs_space_dim <= space_dimension());
+  //! Destructor.
+  ~Powerset();
 
-  for (Constraint_System::const_iterator cs_i = cs.begin(),
-         cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
-    const Constraint& c = *cs_i;
-    dimension_type c_num_vars = 0;
-    dimension_type c_only_var = 0;
-    // Constraints that are not interval constraints are ignored.
-    if (!extract_interval_constraint(c, cs_space_dim, c_num_vars, c_only_var))
-      continue;
-    // Trivial constraints are ignored.
-    if (c_num_vars != 0) {
-      // c is a non-trivial interval constraint.
-      // add interval constraint to limiting box
-      const Coefficient& n = c.inhomogeneous_term();
-      const Coefficient& d = c.coefficient(Variable(c_only_var));
-      if (interval_relation(seq[c_only_var], c.type(), n, d)
-          == Poly_Con_Relation::is_included())
-        limiting_box.add_interval_constraint_no_check(c_only_var, c.type(),
-                                                      n, d);
-    }
-  }
-}
+  //@} // Constructors and Destructor
 
-template <typename ITV>
-void
-Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
-                                            const Constraint_System& cs,
-                                            unsigned* tp) {
-  Box& x = *this;
-  const dimension_type space_dim = x.space_dimension();
+  //! \name Member Functions that Do Not Modify the Powerset Object
+  //@{
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("limited_CC76_extrapolation_assign(y, cs)",
-                                 y);
-  // `cs' must be dimension-compatible with the two boxes.
-  const dimension_type cs_space_dim = cs.space_dimension();
-  if (space_dim < cs_space_dim)
-    throw_constraint_incompatible("limited_CC76_extrapolation_assign(y, cs)");
+  /*! \brief
+    Returns <CODE>true</CODE> if \p *this definitely entails \p y.
+    Returns <CODE>false</CODE> if \p *this may not entail \p y
+    (i.e., if \p *this does not entail \p y or if entailment could
+    not be decided).
+  */
+  bool definitely_entails(const Powerset& y) const;
 
-  // The limited CC76-extrapolation between two boxes in a
-  // zero-dimensional space is also a zero-dimensional box
-  if (space_dim == 0)
-    return;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is the top
+    element of the powerset constraint system (i.e., it represents
+    the universe).
+  */
+  bool is_top() const;
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' is contained in or equal to `*this'.
-    const Box x_copy = *this;
-    const Box y_copy = y;
-    PPL_ASSERT(x_copy.contains(y_copy));
-  }
-#endif
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is the bottom
+    element of the powerset constraint system (i.e., it represents
+    the empty set).
+  */
+  bool is_bottom() const;
 
-  // If `*this' is empty, since `*this' contains `y', `y' is empty too.
-  if (marked_empty())
-    return;
-  // If `y' is empty, we return.
-  if (y.marked_empty())
-    return;
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
+
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
+  */
+  memory_size_type external_memory_in_bytes() const;
 
-  // Build a limiting box using all the constraints in cs
-  // that are satisfied by *this.
-  Box limiting_box(space_dim, UNIVERSE);
-  get_limiting_box(cs, limiting_box);
+  //! Checks if all the invariants are satisfied.
+  // FIXME: document and perhaps use an enum instead of a bool.
+  bool OK(bool disallow_bottom = false) const;
 
-  x.CC76_widening_assign(y, tp);
+  //@} // Member Functions that Do Not Modify the Powerset Object
 
-  // Intersect the widened box with the limiting box.
-  intersection_assign(limiting_box);
-}
+protected:
+  //! A powerset is implemented as a sequence of elements.
+  /*!
+    The particular sequence employed must support efficient deletion
+    in any position and efficient back insertion.
+  */
+  typedef std::list<D> Sequence;
 
-template <typename ITV>
-template <typename T>
-typename Enable_If<Is_Same<T, Box<ITV> >::value
-                   && Is_Same_Or_Derived<Interval_Base, ITV>::value,
-                   void>::type
-Box<ITV>::CC76_narrowing_assign(const T& y) {
-  const dimension_type space_dim = space_dimension();
+  //! Alias for the low-level iterator on the disjuncts.
+  typedef typename Sequence::iterator Sequence_iterator;
 
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
+  //! Alias for the low-level %const_iterator on the disjuncts.
+  typedef typename Sequence::const_iterator Sequence_const_iterator;
 
-#ifndef NDEBUG
-  {
-    // We assume that `*this' is contained in or equal to `y'.
-    const Box x_copy = *this;
-    const Box y_copy = y;
-    PPL_ASSERT(y_copy.contains(x_copy));
-  }
-#endif
+  //! The sequence container holding powerset's elements.
+  Sequence sequence;
 
-  // If both boxes are zero-dimensional,
-  // since `y' contains `*this', we simply return `*this'.
-  if (space_dim == 0)
-    return;
+  //! If <CODE>true</CODE>, \p *this is Omega-reduced.
+  mutable bool reduced;
 
-  // If `y' is empty, since `y' contains `this', `*this' is empty too.
-  if (y.is_empty())
-    return;
-  // If `*this' is empty, we return.
-  if (is_empty())
-    return;
+public:
+  // Sequence manipulation types, accessors and modifiers
+  typedef typename Sequence::size_type size_type;
+  typedef typename Sequence::value_type value_type;
 
-  // Replace each constraint in `*this' by the corresponding constraint
-  // in `y' if the corresponding inhomogeneous terms are both finite.
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    ITV& x_i = seq[i];
-    const ITV& y_i = y.seq[i];
-    if (!x_i.lower_is_boundary_infinity()
-	&& !y_i.lower_is_boundary_infinity()
-	&& x_i.lower() != y_i.lower())
-      x_i.lower() = y_i.lower();
-    if (!x_i.upper_is_boundary_infinity()
-	&& !y_i.upper_is_boundary_infinity()
-	&& x_i.upper() != y_i.upper())
-      x_i.upper() = y_i.upper();
-  }
-  PPL_ASSERT(OK());
-}
+  /*! \brief
+    Alias for a <EM>read-only</EM> bidirectional %iterator on the
+    disjuncts of a Powerset element.
 
-template <typename ITV>
-Constraint_System
-Box<ITV>::constraints() const {
-  Constraint_System cs;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    if (marked_empty())
-      cs = Constraint_System::zero_dim_empty();
-  }
-  else if (marked_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
+    By using this iterator type, the disjuncts cannot be overwritten,
+    but they can be removed using methods
+    <CODE>drop_disjunct(iterator position)</CODE> and
+    <CODE>drop_disjuncts(iterator first, iterator last)</CODE>,
+    while still ensuring a correct handling of Omega-reduction.
+  */
+  typedef iterator_to_const<Sequence> iterator;
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) >= n);
-	else
-	  cs.insert(d*Variable(k) > n);
-      }
-      if (get_upper_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) <= n);
-	else
-	  cs.insert(d*Variable(k) < n);
-      }
-    }
-  }
-  return cs;
-}
+  //! A bidirectional %const_iterator on the disjuncts of a Powerset element.
+  typedef const_iterator_to_const<Sequence> const_iterator;
 
-template <typename ITV>
-Constraint_System
-Box<ITV>::minimized_constraints() const {
-  Constraint_System cs;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    if (marked_empty())
-      cs = Constraint_System::zero_dim_empty();
-  }
-  // Make sure emptiness is detected.
-  else if (is_empty())
-    cs.insert(0*Variable(space_dim-1) <= -1);
-  else {
-    // KLUDGE: in the future `cs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cs.insert(0*Variable(space_dim-1) <= 0);
+  //! The reverse iterator type built from Powerset::iterator.
+  typedef std::reverse_iterator<iterator> reverse_iterator;
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d)) {
-	if (closed)
-	  // Make sure equality constraints are detected.
-	  if (seq[k].is_singleton()) {
-	    cs.insert(d*Variable(k) == n);
-	    continue;
-	  }
-	  else
-	    cs.insert(d*Variable(k) >= n);
-	else
-	  cs.insert(d*Variable(k) > n);
-      }
-      if (get_upper_bound(k, closed, n, d)) {
-	if (closed)
-	  cs.insert(d*Variable(k) <= n);
-	else
-	  cs.insert(d*Variable(k) < n);
-      }
-    }
-  }
-  return cs;
-}
+  //! The reverse iterator type built from Powerset::const_iterator.
+  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
 
-template <typename ITV>
-Congruence_System
-Box<ITV>::congruences() const {
-  Congruence_System cgs;
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    if (marked_empty())
-      cgs = Congruence_System::zero_dim_empty();
-  }
-  // Make sure emptiness is detected.
-  else if (is_empty())
-    cgs.insert((0*Variable(space_dim-1) %= -1) / 0);
-  else {
-    // KLUDGE: in the future `cgs' will be constructed of the right dimension.
-    // For the time being, we force the dimension with the following line.
-    cgs.insert(0*Variable(space_dim-1) %= 0);
+  //! \name Member Functions for the Direct Manipulation of Disjuncts
+  //@{
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      PPL_DIRTY_TEMP(Coefficient, n);
-      PPL_DIRTY_TEMP(Coefficient, d);
-      if (get_lower_bound(k, closed, n, d) && closed)
-	  // Make sure equality congruences are detected.
-	  if (seq[k].is_singleton())
-	    cgs.insert((d*Variable(k) %= n) / 0);
-    }
-  }
-  return cgs;
-}
+  /*! \brief
+    Drops from the sequence of disjuncts in \p *this all the
+    non-maximal elements so that \p *this is non-redundant.
 
-template <typename ITV>
-memory_size_type
-Box<ITV>::external_memory_in_bytes() const {
-  memory_size_type n = seq.capacity() * sizeof(ITV);
-  for (dimension_type k = seq.size(); k-- > 0; )
-    n += seq[k].external_memory_in_bytes();
-  return n;
-}
+    This method is declared <CODE>const</CODE> because, even though
+    Omega-reduction may change the syntactic representation of \p *this,
+    its semantics will be unchanged.
+  */
+  void omega_reduce() const;
 
-/*! \relates Parma_Polyhedra_Library::Box */
-template <typename ITV>
-std::ostream&
-IO_Operators::operator<<(std::ostream& s, const Box<ITV>& box) {
-  if (box.is_empty())
-    s << "false";
-  else if (box.is_universe())
-    s << "true";
-  else
-    for (dimension_type k = 0,
-	   space_dim = box.space_dimension(); k < space_dim; ) {
-      s << Variable(k) << " in " << box[k];
-      ++k;
-      if (k < space_dim)
-	s << ", ";
-      else
-	break;
-    }
-  return s;
-}
+  //! Returns the number of disjuncts.
+  size_type size() const;
 
-template <typename ITV>
-void
-Box<ITV>::ascii_dump(std::ostream& s) const {
-  const char separator = ' ';
-  status.ascii_dump(s);
-  const dimension_type space_dim = space_dimension();
-  s << "space_dim" << separator << space_dim;
-  s << "\n";
-  for (dimension_type i = 0; i < space_dim;  ++i)
-    seq[i].ascii_dump(s);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there are no disjuncts in
+    \p *this.
+  */
+  bool empty() const;
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(ITV, Box<ITV>)
+  /*! \brief
+    Returns an iterator pointing to the first disjunct, if \p *this
+    is not empty; otherwise, returns the past-the-end iterator.
+  */
+  iterator begin();
 
-template <typename ITV>
-bool
-Box<ITV>::ascii_load(std::istream& s) {
-  if (!status.ascii_load(s))
-    return false;
+  //! Returns the past-the-end iterator.
+  iterator end();
 
-  std::string str;
-  dimension_type space_dim;
-  if (!(s >> str) || str != "space_dim")
-    return false;
-  if (!(s >> space_dim))
-    return false;
+  /*! \brief
+    Returns a const_iterator pointing to the first disjunct, if \p *this
+    is not empty; otherwise, returns the past-the-end const_iterator.
+  */
+  const_iterator begin() const;
 
-  seq.clear();
-  ITV seq_i;
-  for (dimension_type i = 0; i < space_dim;  ++i) {
-    if (seq_i.ascii_load(s))
-      seq.push_back(seq_i);
-    else
-      return false;
-  }
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-  // Check invariants.
-  PPL_ASSERT(OK());
-  return true;
-}
+  /*! \brief
+    Returns a reverse_iterator pointing to the last disjunct, if \p *this
+    is not empty; otherwise, returns the before-the-start reverse_iterator.
+  */
+  reverse_iterator rbegin();
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Box& y) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << this->space_dimension()
-    << ", y->space_dimension() == " << y.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Returns the before-the-start reverse_iterator.
+  reverse_iterator rend();
 
-template <typename ITV>
-void
-Box<ITV>
-::throw_dimension_incompatible(const char* method,
-			       dimension_type required_dim) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", required dimension == " << required_dim << ".";
-  throw std::invalid_argument(s.str());
-}
+  /*! \brief
+    Returns a const_reverse_iterator pointing to the last disjunct,
+    if \p *this is not empty; otherwise, returns the before-the-start
+    const_reverse_iterator.
+  */
+  const_reverse_iterator rbegin() const;
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Constraint& c) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", c->space_dimension == " << c.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Returns the before-the-start const_reverse_iterator.
+  const_reverse_iterator rend() const;
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Congruence& cg) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", cg->space_dimension == " << cg.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Adds to \p *this the disjunct \p d.
+  void add_disjunct(const D& d);
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Constraint_System& cs) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", cs->space_dimension == " << cs.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  /*! \brief
+    Drops the disjunct in \p *this pointed to by \p position, returning
+    an iterator to the disjunct following \p position.
+  */
+  iterator drop_disjunct(iterator position);
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Congruence_System& cgs) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", cgs->space_dimension == " << cgs.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Drops all the disjuncts from \p first to \p last (excluded).
+  void drop_disjuncts(iterator first, iterator last);
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const Generator& g) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", g->space_dimension == " << g.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! Drops all the disjuncts, making \p *this an empty powerset.
+  void clear();
 
-template <typename ITV>
-void
-Box<ITV>::throw_constraint_incompatible(const char* method) {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "the constraint is incompatible.";
-  throw std::invalid_argument(s.str());
-}
+  //@} // Member Functions for the Direct Manipulation of Disjuncts
 
-template <typename ITV>
-void
-Box<ITV>::throw_expression_too_complex(const char* method,
-                                       const Linear_Expression& e) {
-  using namespace IO_Operators;
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << e << " is too complex.";
-  throw std::invalid_argument(s.str());
-}
+  //! \name Member Functions that May Modify the Powerset Object
+  //@{
 
-template <typename ITV>
-void
-Box<ITV>::throw_dimension_incompatible(const char* method,
-                                       const char* name_row,
-                                       const Linear_Expression& e) const {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << "this->space_dimension() == " << space_dimension()
-    << ", " << name_row << "->space_dimension() == "
-    << e.space_dimension() << ".";
-  throw std::invalid_argument(s.str());
-}
+  //! The assignment operator.
+  Powerset& operator=(const Powerset& y);
 
-template <typename ITV>
-void
-Box<ITV>::throw_generic(const char* method, const char* reason) {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << reason;
-  throw std::invalid_argument(s.str());
-}
+  //! Swaps \p *this with \p y.
+  void m_swap(Powerset& y);
 
-template <typename ITV>
-void
-Box<ITV>::throw_space_dimension_overflow(const char* method,
-                                         const char* reason) {
-  std::ostringstream s;
-  s << "PPL::Box::" << method << ":" << std::endl
-    << reason;
-  throw std::length_error(s.str());
-}
+  //! Assigns to \p *this the least upper bound of \p *this and \p y.
+  void least_upper_bound_assign(const Powerset& y);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Box */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Specialization,
-	  typename Temp, typename To, typename ITV>
-bool
-l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
-		    const Box<ITV>& x, const Box<ITV>& y,
-		    const Rounding_Dir dir,
-		    Temp& tmp0, Temp& tmp1, Temp& tmp2) {
-  const dimension_type x_space_dim = x.space_dimension();
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    return false;
+  //! Assigns to \p *this an upper bound of \p *this and \p y.
+  /*!
+    The result will be the least upper bound of \p *this and \p y.
+  */
+  void upper_bound_assign(const Powerset& y);
 
-  // Zero-dim boxes are equal if and only if they are both empty or universe.
-  if (x_space_dim == 0) {
-    if (x.marked_empty() == y.marked_empty())
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-    else
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
-  }
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p y
+    and returns \c true.
 
-  // The distance computation requires a check for emptiness.
-  (void) x.is_empty();
-  (void) y.is_empty();
-  // If one of two boxes is empty, then they are equal if and only if
-  // the other box is empty too.
-  if (x.marked_empty() || y.marked_empty()) {
-    if (x.marked_empty() == y.marked_empty()) {
-      assign_r(r, 0, ROUND_NOT_NEEDED);
-      return true;
-    }
-    else
-      goto pinf;
-  }
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Powerset& y);
 
-  assign_r(tmp0, 0, ROUND_NOT_NEEDED);
-  for (dimension_type i = x_space_dim; i-- > 0; ) {
-    const ITV& x_i = x.seq[i];
-    const ITV& y_i = y.seq[i];
-    // Dealing with the lower bounds.
-    if (x_i.lower_is_boundary_infinity()) {
-      if (!y_i.lower_is_boundary_infinity())
-	goto pinf;
-    }
-    else if (y_i.lower_is_boundary_infinity())
-      goto pinf;
-    else {
-      const Temp* tmp1p;
-      const Temp* tmp2p;
-      if (x_i.lower() > y_i.lower()) {
-	maybe_assign(tmp1p, tmp1, x_i.lower(), dir);
-	maybe_assign(tmp2p, tmp2, y_i.lower(), inverse(dir));
-      }
-      else {
-	maybe_assign(tmp1p, tmp1, y_i.lower(), dir);
-	maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir));
-      }
-      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      PPL_ASSERT(sgn(tmp1) >= 0);
-      Specialization::combine(tmp0, tmp1, dir);
-    }
-    // Dealing with the lower bounds.
-    if (x_i.upper_is_boundary_infinity())
-      if (y_i.upper_is_boundary_infinity())
-	continue;
-      else
-	goto pinf;
-    else if (y_i.upper_is_boundary_infinity())
-      goto pinf;
-    else {
-      const Temp* tmp1p;
-      const Temp* tmp2p;
-      if (x_i.upper() > y_i.upper()) {
-	maybe_assign(tmp1p, tmp1, x_i.upper(), dir);
-	maybe_assign(tmp2p, tmp2, y_i.upper(), inverse(dir));
-      }
-      else {
-	maybe_assign(tmp1p, tmp1, y_i.upper(), dir);
-	maybe_assign(tmp2p, tmp2, x_i.upper(), inverse(dir));
-      }
-      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      PPL_ASSERT(sgn(tmp1) >= 0);
-      Specialization::combine(tmp0, tmp1, dir);
-    }
-  }
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
-  return true;
+  //! Assigns to \p *this the meet of \p *this and \p y.
+  void meet_assign(const Powerset& y);
 
- pinf:
-  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-  return true;
-}
+  /*! \brief
+    If \p *this is not empty (i.e., it is not the bottom element),
+    it is reduced to a singleton obtained by computing an upper-bound
+    of all the disjuncts.
+  */
+  void collapse();
 
-} // namespace Parma_Polyhedra_Library
+  //@} // Member Functions that May Modify the Powerset element
+
+protected:
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this does not contain
+    non-maximal elements.
+  */
+  bool is_omega_reduced() const;
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 2220. */
+  /*! \brief Upon return, \p *this will contain at most \p
+    max_disjuncts elements; the set of disjuncts in positions greater
+    than or equal to \p max_disjuncts, will be replaced at that
+    position by their upper-bound.
+  */
+  void collapse(unsigned max_disjuncts);
 
-/* Automatically generated from PPL source file ../src/Rational_Box.hh line 29. */
+  /*! \brief
+    Adds to \p *this the disjunct \p d,
+    assuming \p d is not the bottom element and ensuring
+    partial Omega-reduction.
 
-namespace Parma_Polyhedra_Library {
+    If \p d is not the bottom element and is not Omega-redundant with
+    respect to elements in positions between \p first and \p last, all
+    elements in these positions that would be made Omega-redundant by the
+    addition of \p d are dropped and \p d is added to the reduced
+    sequence.
+    If \p *this is reduced before an invocation of this method,
+    it will be reduced upon successful return from the method.
+  */
+  iterator add_non_bottom_disjunct_preserve_reduction(const D& d,
+						      iterator first,
+						      iterator last);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A box with rational, possibly open boundaries.
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-typedef Box<Rational_Interval> Rational_Box;
+  /*! \brief
+    Adds to \p *this the disjunct \p d, assuming \p d is not the
+    bottom element and preserving Omega-reduction.
 
-} // namespace Parma_Polyhedra_Library
+    If \p *this is reduced before an invocation of this method,
+    it will be reduced upon successful return from the method.
+  */
+  void add_non_bottom_disjunct_preserve_reduction(const D& d);
 
-/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 34. */
-#include <algorithm>
+  /*! \brief
+    Assigns to \p *this the result of applying \p op_assign pairwise
+    to the elements in \p *this and \p y.
 
-namespace Parma_Polyhedra_Library {
+    The elements of the powerset result are obtained by applying
+    \p op_assign to each pair of elements whose components are drawn
+    from \p *this and \p y, respectively.
+  */
+  template <typename Binary_Operator_Assign>
+  void pairwise_apply_assign(const Powerset& y,
+			     Binary_Operator_Assign op_assign);
 
-//! Returns the maximum space dimension this library can handle.
-inline dimension_type
-max_space_dimension() {
-  // Note: we assume that the powerset and the ask-and-tell construction
-  // do not limit the space dimension more than their parameters.
-  static bool computed = false;
-  static dimension_type d = not_a_dimension();
-  if (!computed) {
-    d = Variable::max_space_dimension();
-    d = std::min(d, C_Polyhedron::max_space_dimension());
-    d = std::min(d, NNC_Polyhedron::max_space_dimension());
-    d = std::min(d, Grid::max_space_dimension());
-    // FIXME: what about all other boxes?
-    d = std::min(d, Rational_Box::max_space_dimension());
-    d = std::min(d, BD_Shape<int8_t>::max_space_dimension());
-    d = std::min(d, BD_Shape<int16_t>::max_space_dimension());
-    d = std::min(d, BD_Shape<int32_t>::max_space_dimension());
-    d = std::min(d, BD_Shape<int64_t>::max_space_dimension());
-    d = std::min(d, BD_Shape<float>::max_space_dimension());
-    d = std::min(d, BD_Shape<double>::max_space_dimension());
-    d = std::min(d, BD_Shape<long double>::max_space_dimension());
-    d = std::min(d, BD_Shape<mpz_class>::max_space_dimension());
-    d = std::min(d, BD_Shape<mpq_class>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<int8_t>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<int16_t>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<int32_t>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<int64_t>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<float>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<double>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<long double>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<mpz_class>::max_space_dimension());
-    d = std::min(d, Octagonal_Shape<mpq_class>::max_space_dimension());
-    computed = true;
-  }
-  return d;
-}
+private:
+  /*! \brief
+    Does the hard work of checking whether \p *this contains non-maximal
+    elements and returns <CODE>true</CODE> if and only if it does not.
+  */
+  bool check_omega_reduced() const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Replaces the disjunct \p *sink by an upper bound of itself and
+    all the disjuncts following it.
+  */
+  void collapse(Sequence_iterator sink);
+};
 
-/* Automatically generated from PPL source file ../src/algorithms.hh line 1. */
-/* A collection of useful convex polyhedra algorithms: inline functions.
+/* Automatically generated from PPL source file ../src/Powerset.inlines.hh line 1. */
+/* Powerset class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1. */
-/* Pointset_Powerset class declaration.
-*/
+#include <algorithm>
+/* Automatically generated from PPL source file ../src/Powerset.inlines.hh line 29. */
 
+namespace Parma_Polyhedra_Library {
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.types.hh line 1. */
+template <typename D>
+inline typename Powerset<D>::iterator
+Powerset<D>::begin() {
+  return sequence.begin();
+}
 
+template <typename D>
+inline typename Powerset<D>::iterator
+Powerset<D>::end() {
+  return sequence.end();
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename D>
+inline typename Powerset<D>::const_iterator
+Powerset<D>::begin() const {
+  return sequence.begin();
+}
 
-template <typename PSET>
-class Pointset_Powerset;
+template <typename D>
+inline typename Powerset<D>::const_iterator
+Powerset<D>::end() const {
+  return sequence.end();
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename D>
+inline typename Powerset<D>::reverse_iterator
+Powerset<D>::rbegin() {
+  return reverse_iterator(end());
+}
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1. */
-/* Partially_Reduced_Product class declaration.
-*/
+template <typename D>
+inline typename Powerset<D>::reverse_iterator
+Powerset<D>::rend() {
+  return reverse_iterator(begin());
+}
 
+template <typename D>
+inline typename Powerset<D>::const_reverse_iterator
+Powerset<D>::rbegin() const {
+  return const_reverse_iterator(end());
+}
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 49. */
+template <typename D>
+inline typename Powerset<D>::const_reverse_iterator
+Powerset<D>::rend() const {
+  return const_reverse_iterator(begin());
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename D>
+inline typename Powerset<D>::size_type
+Powerset<D>::size() const {
+  return sequence.size();
+}
 
-namespace IO_Operators {
+template <typename D>
+inline bool
+Powerset<D>::empty() const {
+  return sequence.empty();
+}
 
-//! Output operator.
-/*!
-  \relates Parma_Polyhedra_Library::Partially_Reduced_Product
-  Writes a textual representation of \p dp on \p s.
-*/
-template <typename D1, typename D2, typename R>
-std::ostream&
-operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
+template <typename D>
+inline typename Powerset<D>::iterator
+Powerset<D>::drop_disjunct(iterator position) {
+  return sequence.erase(position.base);
+}
 
-} // namespace IO_Operators
+template <typename D>
+inline void
+Powerset<D>::drop_disjuncts(iterator first, iterator last) {
+  sequence.erase(first.base, last.base);
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
-  are pairwise equal.
+template <typename D>
+inline void
+Powerset<D>::clear() {
+  sequence.clear();
+}
 
-  \relates Partially_Reduced_Product
-  Note that \p x and \p y may be dimension-incompatible: in
-  those cases, the value <CODE>false</CODE> is returned.
-*/
-template <typename D1, typename D2, typename R>
-bool operator==(const Partially_Reduced_Product<D1, D2, R>& x,
-		const Partially_Reduced_Product<D1, D2, R>& y);
+template <typename D>
+inline
+Powerset<D>::Powerset(const Powerset& y)
+  : sequence(y.sequence), reduced(y.reduced) {
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
-  are not pairwise equal.
+template <typename D>
+inline Powerset<D>&
+Powerset<D>::operator=(const Powerset& y) {
+  sequence = y.sequence;
+  reduced = y.reduced;
+  return *this;
+}
 
-  \relates Partially_Reduced_Product
-  Note that \p x and \p y may be dimension-incompatible: in
-  those cases, the value <CODE>true</CODE> is returned.
-*/
-template <typename D1, typename D2, typename R>
-bool operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
-		const Partially_Reduced_Product<D1, D2, R>& y);
+template <typename D>
+inline void
+Powerset<D>::m_swap(Powerset& y) {
+  using std::swap;
+  swap(sequence, y.sequence);
+  swap(reduced, y.reduced);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename D>
+inline
+Powerset<D>::Powerset()
+  : sequence(), reduced(true) {
+}
 
+template <typename D>
+inline
+Powerset<D>::Powerset(const D& d)
+  : sequence(), reduced(false) {
+  sequence.push_back(d);
+  PPL_ASSERT_HEAVY(OK());
+}
 
-/*! \brief
-  This class provides the reduction method for the Smash_Product
-  domain.
+template <typename D>
+inline
+Powerset<D>::~Powerset() {
+}
 
-  \ingroup PPL_CXX_interface
-  The reduction classes are used to instantiate the Partially_Reduced_Product
-  domain. This class propagates emptiness between its components.
-*/
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::Smash_Reduction {
-public:
-  //! Default constructor.
-  Smash_Reduction();
+template <typename D>
+inline void
+Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d) {
+  // !d.is_bottom() is asserted by the callee.
+  add_non_bottom_disjunct_preserve_reduction(d, begin(), end());
+}
 
-  /*! \brief
-    The smash reduction operator for propagating emptiness between the
-    domain elements \p d1 and \p d2.
+template <typename D>
+inline void
+Powerset<D>::add_disjunct(const D& d) {
+  sequence.push_back(d);
+  reduced = false;
+}
 
-    If either of the the domain elements \p d1 or \p d2 is empty
-    then the other is also set empty.
+/*! \relates Powerset */
+template <typename D>
+inline
+bool operator!=(const Powerset<D>& x, const Powerset<D>& y) {
+  return !(x == y);
+}
 
-    \param d1
-    A pointset domain element;
+template <typename D>
+inline bool
+Powerset<D>::is_top() const {
+  // Must perform omega-reduction for correctness.
+  omega_reduce();
+  const_iterator xi = begin();
+  const_iterator x_end = end();
+  return xi != x_end && xi->is_top() && ++xi == x_end;
+}
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+template <typename D>
+inline bool
+Powerset<D>::is_bottom() const {
+  // Must perform omega-reduction for correctness.
+  omega_reduce();
+  return empty();
+}
 
-  //! Destructor.
-  ~Smash_Reduction();
-};
+template <typename D>
+inline void
+Powerset<D>::collapse() {
+  if (!empty())
+    collapse(sequence.begin());
+}
 
-/*! \brief
-  This class provides the reduction method for the Constraints_Product
-  domain.
+template <typename D>
+inline void
+Powerset<D>::meet_assign(const Powerset& y) {
+  pairwise_apply_assign(y, std::mem_fun_ref(&D::meet_assign));
+}
 
-  \ingroup PPL_CXX_interface
-  The reduction classes are used to instantiate the Partially_Reduced_Product
-  domain. This class adds the constraints defining each of the component
-  domains to the other component.
-*/
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::Constraints_Reduction {
-public:
-  //! Default constructor.
-  Constraints_Reduction();
+template <typename D>
+inline void
+Powerset<D>::upper_bound_assign(const Powerset& y) {
+  least_upper_bound_assign(y);
+}
 
-  /*! \brief
-    The constraints reduction operator for sharing constraints between the
-    domains.
+template <typename D>
+inline bool
+Powerset<D>::upper_bound_assign_if_exact(const Powerset& y) {
+  least_upper_bound_assign(y);
+  return true;
+}
 
-    The minimized constraint system defining the domain element \p d1
-    is added to \p d2 and the minimized constraint system  defining \p d2
-    is added to \p d1.
-    In each case, the donor domain must provide a constraint system
-    in minimal form; this must define a polyhedron in which the
-    donor element is contained.
-    The recipient domain selects a subset of these constraints
-    that it can add to the recipient element.
-    For example: if the domain \p D1 is the Grid domain and \p D2
-    the NNC Polyhedron domain, then only the equality constraints are copied
-    from \p d1 to \p d2 and from \p d2 to \p d1.
+template <typename D>
+inline memory_size_type
+Powerset<D>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-    \param d1
-    A pointset domain element;
+/*! \relates Powerset */
+template <typename D>
+inline void
+swap(Powerset<D>& x, Powerset<D>& y) {
+  x.m_swap(y);
+}
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+} // namespace Parma_Polyhedra_Library
 
-  //! Destructor.
-  ~Constraints_Reduction();
-};
+/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 1. */
+/* Powerset class implementation: non-inline template functions.
+*/
 
-/*! \brief
-  This class provides the reduction method for the Congruences_Product
-  domain.
 
-  \ingroup PPL_CXX_interface
-  The reduction classes are used to instantiate the Partially_Reduced_Product
-  domain.
+/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 28. */
+#include <algorithm>
+/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 30. */
+#include <iostream>
 
-  This class uses the minimized congruences defining each of the components.
-  For each of the congruences, it checks if the other component
-  intersects none, one or more than one hyperplane defined by the congruence
-  and adds equalities or emptiness as appropriate; in more detail:
-  Letting the components be d1 and d2, then, for each congruence cg
-  representing d1:
-  - if more than one hyperplane defined by cg intersects
-    d2, then d1 and d2 are unchanged;
-  - if exactly one hyperplane intersects d2, then d1 and d2 are
-    refined with the corresponding equality ;
-  - otherwise, d1 and d2 are set to empty.
-  Unless d1 and d2 are already empty, the process is repeated where the
-  roles of d1 and d2 are reversed.
-  If d1 or d2 is empty, then the emptiness is propagated.
+namespace Parma_Polyhedra_Library {
 
-*/
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::Congruences_Reduction {
-public:
-  //! Default constructor.
-  Congruences_Reduction();
+template <typename D>
+void
+Powerset<D>::collapse(const Sequence_iterator sink) {
+  PPL_ASSERT(sink != sequence.end());
+  D& d = *sink;
+  iterator x_sink = sink;
+  iterator next_x_sink = x_sink;
+  ++next_x_sink;
+  iterator x_end = end();
+  for (const_iterator xi = next_x_sink; xi != x_end; ++xi)
+    d.upper_bound_assign(*xi);
+  // Drop the surplus disjuncts.
+  drop_disjuncts(next_x_sink, x_end);
 
-  /*! \brief
-    The congruences reduction operator for detect emptiness or any equalities
-    implied by each of the congruences defining one of the components
-    and the bounds of the other component. It is assumed that the
-    components are already constraints reduced.
+  // Ensure omega-reduction.
+  for (iterator xi = begin(); xi != x_sink; )
+    if (xi->definitely_entails(d))
+      xi = drop_disjunct(xi);
+    else
+      ++xi;
 
-    The minimized congruence system defining the domain element \p d1
-    is used to check if \p d2 intersects none, one or more than one
-    of the hyperplanes defined by the congruences: if it intersects none,
-    then product is set empty; if it intersects one, then the equality
-    defining this hyperplane is added to both components; otherwise,
-    the product is unchanged.
-    In each case, the donor domain must provide a congruence system
-    in minimal form.
+  PPL_ASSERT_HEAVY(OK());
+}
 
-    \param d1
-    A pointset domain element;
+template <typename D>
+void
+Powerset<D>::omega_reduce() const {
+  if (reduced)
+    return;
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+  Powerset& x = const_cast<Powerset&>(*this);
+  // First remove all bottom elements.
+  for (iterator xi = x.begin(), x_end = x.end(); xi != x_end; )
+    if (xi->is_bottom())
+      xi = x.drop_disjunct(xi);
+    else
+      ++xi;
+  // Then remove non-maximal elements.
+  for (iterator xi = x.begin(); xi != x.end(); ) {
+    const D& xv = *xi;
+    bool dropping_xi = false;
+    for (iterator yi = x.begin(); yi != x.end(); )
+      if (xi == yi)
+	++yi;
+      else {
+	const D& yv = *yi;
+	if (yv.definitely_entails(xv))
+	  yi = x.drop_disjunct(yi);
+	else if (xv.definitely_entails(yv)) {
+	  dropping_xi = true;
+	  break;
+	}
+	else
+	  ++yi;
+      }
+    if (dropping_xi)
+      xi = x.drop_disjunct(xi);
+    else
+      ++xi;
+    if (abandon_expensive_computations != 0 && xi != x.end()) {
+      // Hurry up!
+      x.collapse(xi.base);
+      break;
+    }
+  }
+  reduced = true;
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  //! Destructor.
-  ~Congruences_Reduction();
-};
+template <typename D>
+void
+Powerset<D>::collapse(const unsigned max_disjuncts) {
+  PPL_ASSERT(max_disjuncts > 0);
+  // Omega-reduce before counting the number of disjuncts.
+  omega_reduce();
+  size_type n = size();
+  if (n > max_disjuncts) {
+    // Let `i' point to the last disjunct that will survive.
+    iterator i = begin();
+    std::advance(i, max_disjuncts-1);
+    // This disjunct will be assigned an upper-bound of itself and of
+    // all the disjuncts that follow.
+    collapse(i.base);
+  }
+  PPL_ASSERT_HEAVY(OK());
+  PPL_ASSERT(is_omega_reduced());
+}
 
-/*! \brief
-  This class provides the reduction method for the Shape_Preserving_Product
-  domain.
+template <typename D>
+bool
+Powerset<D>::check_omega_reduced() const {
+  for (const_iterator x_begin = begin(), x_end = end(),
+	 xi = x_begin; xi != x_end; ++xi) {
+    const D& xv = *xi;
+    if (xv.is_bottom())
+      return false;
+    for (const_iterator yi = x_begin; yi != x_end; ++yi) {
+      if (xi == yi)
+	continue;
+      const D& yv = *yi;
+      if (xv.definitely_entails(yv) || yv.definitely_entails(xv))
+	return false;
+    }
+  }
+  return true;
+}
 
-  \ingroup PPL_CXX_interface
-  The reduction classes are used to instantiate the Partially_Reduced_Product
-  domain.
+template <typename D>
+bool
+Powerset<D>::is_omega_reduced() const {
+  if (!reduced && check_omega_reduced())
+    reduced = true;
+  return reduced;
+}
 
-  This reduction method includes the congruences reduction.
-  This class uses the minimized constraints defining each of the components.
-  For each of the constraints, it checks the frequency and value for the same
-  linear expression in the other component. If the constraint does not satisfy
-  the implied congruence, the inhomogeneous term is adjusted so that it does.
-  Note that unless the congruences reduction adds equalitites
-  the shapes of the domains are unaltered.
+template <typename D>
+typename Powerset<D>::iterator
+Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
+							iterator first,
+							iterator last) {
+  PPL_ASSERT_HEAVY(!d.is_bottom());
+  for (iterator xi = first; xi != last; ) {
+    const D& xv = *xi;
+    if (d.definitely_entails(xv))
+      return first;
+    else if (xv.definitely_entails(d)) {
+      if (xi == first)
+	++first;
+      xi = drop_disjunct(xi);
+    }
+    else
+      ++xi;
+  }
+  sequence.push_back(d);
+  PPL_ASSERT_HEAVY(OK());
+  return first;
+}
 
-*/
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::Shape_Preserving_Reduction {
-public:
-  //! Default constructor.
-  Shape_Preserving_Reduction();
+template <typename D>
+bool
+Powerset<D>::definitely_entails(const Powerset& y) const {
+  const Powerset<D>& x = *this;
+  bool found = true;
+  for (const_iterator xi = x.begin(),
+	 x_end = x.end(); found && xi != x_end; ++xi) {
+    found = false;
+    for (const_iterator yi = y.begin(),
+	   y_end = y.end(); !found && yi != y_end; ++yi)
+      found = (*xi).definitely_entails(*yi);
+  }
+  return found;
+}
 
-  /*! \brief
-    The congruences reduction operator for detect emptiness or any equalities
-    implied by each of the congruences defining one of the components
-    and the bounds of the other component. It is assumed that the
-    components are already constraints reduced.
+/*! \relates Powerset */
+template <typename D>
+bool
+operator==(const Powerset<D>& x, const Powerset<D>& y) {
+  x.omega_reduce();
+  y.omega_reduce();
+  if (x.size() != y.size())
+    return false;
+  // Take a copy of `y' and work with it.
+  Powerset<D> z = y;
+  for (typename Powerset<D>::const_iterator xi = x.begin(),
+	 x_end = x.end(); xi != x_end; ++xi) {
+    typename Powerset<D>::iterator zi = z.begin();
+    typename Powerset<D>::iterator z_end = z.end();
+    zi = std::find(zi, z_end, *xi);
+    if (zi == z_end)
+      return false;
+    else
+      z.drop_disjunct(zi);
+  }
+  return true;
+}
 
-    The minimized congruence system defining the domain element \p d1
-    is used to check if \p d2 intersects none, one or more than one
-    of the hyperplanes defined by the congruences: if it intersects none,
-    then product is set empty; if it intersects one, then the equality
-    defining this hyperplane is added to both components; otherwise,
-    the product is unchanged.
-    In each case, the donor domain must provide a congruence system
-    in minimal form.
+template <typename D>
+template <typename Binary_Operator_Assign>
+void
+Powerset<D>::pairwise_apply_assign(const Powerset& y,
+				   Binary_Operator_Assign op_assign) {
+  // Ensure omega-reduction here, since what follows has quadratic complexity.
+  omega_reduce();
+  y.omega_reduce();
+  Sequence new_sequence;
+  for (const_iterator xi = begin(), x_end = end(),
+	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ++xi)
+    for (const_iterator yi = y_begin; yi != y_end; ++yi) {
+      D zi = *xi;
+      op_assign(zi, *yi);
+      if (!zi.is_bottom())
+	new_sequence.push_back(zi);
+    }
+  // Put the new sequence in place.
+  using std::swap;
+  swap(sequence, new_sequence);
+  reduced = false;
+  PPL_ASSERT_HEAVY(OK());
+}
 
-    \param d1
-    A pointset domain element;
+template <typename D>
+void
+Powerset<D>::least_upper_bound_assign(const Powerset& y) {
+  // Ensure omega-reduction here, since what follows has quadratic complexity.
+  omega_reduce();
+  y.omega_reduce();
+  iterator old_begin = begin();
+  iterator old_end = end();
+  for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
+    old_begin = add_non_bottom_disjunct_preserve_reduction(*i,
+							   old_begin,
+							   old_end);
+  PPL_ASSERT_HEAVY(OK());
+}
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+namespace IO_Operators {
 
-  //! Destructor.
-  ~Shape_Preserving_Reduction();
-};
+/*! \relates Parma_Polyhedra_Library::Powerset */
+template <typename D>
+std::ostream&
+operator<<(std::ostream& s, const Powerset<D>& x) {
+  if (x.is_bottom())
+    s << "false";
+  else if (x.is_top())
+    s << "true";
+  else
+    for (typename Powerset<D>::const_iterator i = x.begin(),
+	   x_end = x.end(); i != x_end; ) {
+      s << "{ " << *i << " }";
+      ++i;
+      if (i != x_end)
+	s << ", ";
+    }
+  return s;
+}
 
-/*! \brief
-  This class provides the reduction method for the Direct_Product domain.
+} // namespace IO_Operators
 
-  \ingroup PPL_CXX_interface
-  The reduction classes are used to instantiate the Partially_Reduced_Product
-  domain template parameter \p R. This class does no reduction at all.
-*/
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::No_Reduction {
-public:
-  //! Default constructor.
-  No_Reduction();
+template <typename D>
+memory_size_type
+Powerset<D>::external_memory_in_bytes() const {
+  memory_size_type bytes = 0;
+  for (const_iterator xi = begin(), x_end = end(); xi != x_end; ++xi) {
+    bytes += xi->total_memory_in_bytes();
+    // We assume there is at least a forward and a backward link, and
+    // that the pointers implementing them are at least the size of
+    // pointers to `D'.
+    bytes += 2*sizeof(D*);
+  }
+  return bytes;
+}
 
-  /*! \brief
-    The null reduction operator.
+template <typename D>
+bool
+Powerset<D>::OK(const bool disallow_bottom) const {
+  for (const_iterator xi = begin(), x_end = end(); xi != x_end; ++xi) {
+    if (!xi->OK())
+      return false;
+    if (disallow_bottom && xi->is_bottom()) {
+#ifndef NDEBUG
+      std::cerr << "Bottom element in powerset!"
+		<< std::endl;
+#endif
+      return false;
+    }
+  }
+  if (reduced && !check_omega_reduced()) {
+#ifndef NDEBUG
+    std::cerr << "Powerset claims to be reduced, but it is not!"
+	      << std::endl;
+#endif
+    return false;
+  }
+  return true;
+}
 
-    The parameters \p d1 and \p d2 are ignored.
-  */
-  void product_reduce(D1& d1, D2& d2);
+} // namespace Parma_Polyhedra_Library
 
-  //! Destructor.
-  ~No_Reduction();
-};
+/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 449. */
 
-//! The partially reduced product of two abstractions.
-/*! \ingroup PPL_CXX_interface
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 44. */
+#include <iosfwd>
+#include <list>
+#include <map>
 
+//! The powerset construction instantiated on PPL pointset domains.
+/*! \ingroup PPL_CXX_interface */
+/*!
   \warning
   At present, the supported instantiations for the
-  two domain templates \p D1 and \p D2 are the simple pointset domains:
+  disjunct domain template \p PSET are the simple pointset domains:
   <CODE>C_Polyhedron</CODE>,
   <CODE>NNC_Polyhedron</CODE>,
   <CODE>Grid</CODE>,
   <CODE>Octagonal_Shape<T></CODE>,
   <CODE>BD_Shape<T></CODE>,
   <CODE>Box<T></CODE>.
-
-  An object of the class <CODE>Partially_Reduced_Product<D1, D2, R></CODE>
-  represents the (partially reduced) product of two pointset domains \p D1
-  and \p D2 where the form of any reduction is defined by the
-  reduction class \p R.
-
-  Suppose \f$D_1\f$ and \f$D_2\f$ are two abstract domains
-  with concretization functions:
-  \f$\fund{\gamma_1}{D_1}{\Rset^n}\f$ and
-  \f$\fund{\gamma_2}{D_2}{\Rset^n}\f$, respectively.
-
-  The partially reduced product \f$D = D_1 \times D_2\f$,
-  for any reduction class \p R, has a concretization
-  \f$\fund{\gamma}{D}{\Rset^n}\f$
-  where, if \f$d = (d_1, d_2) \in D\f$
-  \f[
-    \gamma(d) = \gamma_1(d_1) \inters \gamma_2(d_2).
-  \f]
-
-  The operations are defined to be the result of applying the corresponding
-  operations on each of the components provided the product is already reduced
-  by the reduction method defined by \p R.
-  In particular, if \p R is the <CODE>No_Reduction<D1, D2></CODE> class,
-  then the class <CODE>Partially_Reduced_Product<D1, D2, R></CODE> domain
-  is the direct product as defined in \ref CC79 "[CC79]".
-
-  How the results on the components are interpreted and
-  combined depend on the specific test.
-  For example, the test for emptiness will first make sure
-  the product is reduced (using the reduction method provided by \p R
-  if it is not already known to be reduced) and then test if either component
-  is empty; thus, if \p R defines no reduction between its components and
-  \f$d = (G, P) \in (\Gset \times \Pset)\f$
-  is a direct product in one dimension where \f$G\f$ denotes the set of
-  numbers that are integral multiples of 3 while \f$P\f$ denotes the
-  set of numbers between 1 and 2, then an operation that tests for
-  emptiness should return false.
-  However, the test for the universe returns true if and only if the
-  test <CODE>is_universe()</CODE> on both components returns true.
-
-  \par
-  In all the examples it is assumed that the template \c R is the
-  <CODE>No_Reduction<D1, D2></CODE> class and that variables
-  \c x and \c y are defined (where they are used) as follows:
-  \code
-  Variable x(0);
-  Variable y(1);
-  \endcode
-
-  \par Example 1
-  The following code builds a direct product of a Grid and NNC Polyhedron,
-  corresponding to the positive even integer
-  pairs in \f$\Rset^2\f$, given as a system of congruences:
-  \code
-  Congruence_System cgs;
-  cgs.insert((x %= 0) / 2);
-  cgs.insert((y %= 0) / 2);
-  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> >
-    dp(cgs);
-  dp.add_constraint(x >= 0);
-  dp.add_constraint(y >= 0);
-  \endcode
-
-  \par Example 2
-  The following code builds the same product
-  in \f$\Rset^2\f$:
-  \code
-  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(2);
-  dp.add_constraint(x >= 0);
-  dp.add_constraint(y >= 0);
-  dp.add_congruence((x %= 0) / 2);
-  dp.add_congruence((y %= 0) / 2);
-  \endcode
-
-  \par Example 3
-  The following code will write "dp is empty":
-  \code
-  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(1);
-  dp.add_congruence((x %= 0) / 2);
-  dp.add_congruence((x %= 1) / 2);
-  if (dp.is_empty())
-    cout << "dp is empty." << endl;
-  else
-    cout << "dp is not empty." << endl;
-  \endcode
-
-  \par Example 4
-  The following code will write "dp is not empty":
-  \code
-  Partially_Reduced_Product<Grid, NNC_Polyhedron, No_Reduction<D1, D2> > dp(1);
-  dp.add_congruence((x %= 0) / 2);
-  dp.add_constraint(x >= 1);
-  dp.add_constraint(x <= 1);
-  if (dp.is_empty())
-    cout << "dp is empty." << endl;
-  else
-    cout << "dp is not empty." << endl;
-  \endcode
 */
+template <typename PSET>
+class Parma_Polyhedra_Library::Pointset_Powerset
+  : public Parma_Polyhedra_Library::Powerset
+<Parma_Polyhedra_Library::Determinate<PSET> > {
+public:
+  typedef PSET element_type;
+
+private:
+  typedef Determinate<PSET> Det_PSET;
+  typedef Powerset<Det_PSET> Base;
 
-template <typename D1, typename D2, typename R>
-class Parma_Polyhedra_Library::Partially_Reduced_Product {
 public:
-  /*! \brief
-    Returns the maximum space dimension this product
-    can handle.
-  */
+  //! Returns the maximum space dimension a Pointset_Powerset<PSET> can handle.
   static dimension_type max_space_dimension();
 
-  //! Builds an object having the specified properties.
+  //! \name Constructors
+  //@{
+
+  //! Builds a universe (top) or empty (bottom) Pointset_Powerset.
   /*!
     \param num_dimensions
-    The number of dimensions of the vector space enclosing the pair;
+    The number of dimensions of the vector space enclosing the powerset;
 
     \param kind
-    Specifies whether a universe or an empty pair has to be built.
-
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    Specifies whether the universe or the empty powerset has to be built.
   */
-  explicit Partially_Reduced_Product(dimension_type num_dimensions = 0,
-				     Degenerate_Element kind = UNIVERSE);
+  explicit
+  Pointset_Powerset(dimension_type num_dimensions = 0,
+		    Degenerate_Element kind = UNIVERSE);
 
-  //! Builds a pair, copying a system of congruences.
+  //! Ordinary copy constructor.
   /*!
-    The pair inherits the space dimension of the congruence system.
-
-    \param cgs
-    The system of congruences to be approximated by the pair.
-
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    The complexity argument is ignored.
   */
-  explicit Partially_Reduced_Product(const Congruence_System& cgs);
+  Pointset_Powerset(const Pointset_Powerset& y,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a pair, recycling a system of congruences.
-  /*!
-    The pair inherits the space dimension of the congruence system.
+  /*! \brief
+    Conversion constructor: the type <CODE>QH</CODE> of the disjuncts
+    in the source powerset is different from <CODE>PSET</CODE>.
 
-    \param cgs
-    The system of congruences to be approximates by the pair.
-    Its data-structures may be recycled to build the pair.
+    \param y
+    The powerset to be used to build the new powerset.
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    \param complexity
+    The maximal complexity of any algorithms used.
   */
-  explicit Partially_Reduced_Product(Congruence_System& cgs);
-
-  //! Builds a pair, copying a system of constraints.
-  /*!
-    The pair inherits the space dimension of the constraint system.
-
-    \param cs
-    The system of constraints to be approximated by the pair.
+  template <typename QH>
+  explicit Pointset_Powerset(const Pointset_Powerset<QH>& y,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+  /*! \brief
+    Creates a Pointset_Powerset from a product
+    This will be created as a single disjunct of type PSET that
+    approximates the product.
   */
-  explicit Partially_Reduced_Product(const Constraint_System& cs);
-
-  //! Builds a pair, recycling a system of constraints.
-  /*!
-    The pair inherits the space dimension of the constraint system.
-
-    \param cs
-    The system of constraints to be approximated by the pair.
+  template <typename QH1, typename QH2, typename R>
+  explicit
+  Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
+                    Complexity_Class complexity = ANY_COMPLEXITY);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p cs exceeds the maximum allowed
-    space dimension.
+  /*! \brief
+    Creates a Pointset_Powerset with a single disjunct approximating
+    the system of constraints \p cs.
   */
-  explicit Partially_Reduced_Product(Constraint_System& cs);
-
-  //! Builds a product, from a C polyhedron.
-  /*!
-    Builds a product containing \p ph using algorithms whose
-    complexity does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
-    smallest one containing \p ph.
-    The product inherits the space dimension of the polyhedron.
-
-    \param ph
-    The polyhedron to be approximated by the product.
-
-    \param complexity
-    The complexity that will not be exceeded.
+  explicit Pointset_Powerset(const Constraint_System& cs);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p ph exceeds the maximum allowed
-    space dimension.
+  /*! \brief
+    Creates a Pointset_Powerset with a single disjunct approximating
+    the system of congruences \p cgs.
   */
-  explicit
-  Partially_Reduced_Product(const C_Polyhedron& ph,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
-
-  //! Builds a product, from an NNC polyhedron.
-  /*!
-    Builds a product containing \p ph using algorithms whose
-    complexity does not exceed the one specified by \p complexity.
-    If \p complexity is \p ANY_COMPLEXITY, then the built product is the
-    smallest one containing \p ph.
-    The product inherits the space dimension of the polyhedron.
-
-    \param ph
-    The polyhedron to be approximated by the product.
-
-    \param complexity
-    The complexity that will not be exceeded.
+  explicit Pointset_Powerset(const Congruence_System& cgs);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p ph exceeds the maximum allowed
-    space dimension.
-  */
-  explicit
-  Partially_Reduced_Product(const NNC_Polyhedron& ph,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a product, from a grid.
+  //! Builds a pointset_powerset out of a closed polyhedron.
   /*!
-    Builds a product containing \p gr.
-    The product inherits the space dimension of the grid.
+    Builds a powerset that is either empty (if the polyhedron is found
+    to be empty) or contains a single disjunct approximating the
+    polyhedron; this must only use algorithms that do not exceed the
+    specified complexity.  The powerset inherits the space dimension
+    of the polyhedron.
 
-    \param gr
-    The grid to be approximated by the product.
+    \param ph
+    The closed polyhedron to be used to build the powerset.
 
     \param complexity
-    The complexity is ignored.
+    The maximal complexity of any algorithms used.
 
     \exception std::length_error
-    Thrown if the space dimension of \p gr exceeds the maximum allowed
-    space dimension.
+    Thrown if the space dimension of \p ph exceeds the maximum
+    allowed space dimension.
   */
-  explicit
-  Partially_Reduced_Product(const Grid& gr,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  explicit Pointset_Powerset(const C_Polyhedron& ph,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a product out of a box.
+  //! Builds a pointset_powerset out of an nnc polyhedron.
   /*!
-    Builds a product containing \p box.
-    The product inherits the space dimension of the box.
+    Builds a powerset that is either empty (if the polyhedron is found
+    to be empty) or contains a single disjunct approximating the
+    polyhedron; this must only use algorithms that do not exceed the
+    specified complexity.  The powerset inherits the space dimension
+    of the polyhedron.
 
-    \param box
-    The box representing the pair to be built.
+    \param ph
+    The closed polyhedron to be used to build the powerset.
 
     \param complexity
-    The complexity is ignored.
+    The maximal complexity of any algorithms used.
 
     \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
+    Thrown if the space dimension of \p ph exceeds the maximum
     allowed space dimension.
   */
-  template <typename Interval>
-  Partially_Reduced_Product(const Box<Interval>& box,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  explicit Pointset_Powerset(const NNC_Polyhedron& ph,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a product out of a BD shape.
+
+  //! Builds a pointset_powerset out of a grid.
   /*!
-    Builds a product containing \p bd.
-    The product inherits the space dimension of the BD shape.
+    If the grid is nonempty, builds a powerset containing a single
+    disjunct approximating the grid. Builds the empty powerset
+    otherwise. The powerset inherits the space dimension of the grid.
 
-    \param bd
-    The BD shape representing the product to be built.
+    \param gr
+    The grid to be used to build the powerset.
 
     \param complexity
-    The complexity is ignored.
+    This argument is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
+    Thrown if the space dimension of \p gr exceeds the maximum
     allowed space dimension.
   */
-  template <typename U>
-  Partially_Reduced_Product(const BD_Shape<U>& bd,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  explicit Pointset_Powerset(const Grid& gr,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a product out of an octagonal shape.
+  //! Builds a pointset_powerset out of an octagonal shape.
   /*!
-    Builds a product containing \p os.
-    The product inherits the space dimension of the octagonal shape.
+    If the octagonal shape is nonempty, builds a powerset
+    containing a single disjunct approximating the octagonal
+    shape. Builds the empty powerset otherwise. The powerset
+    inherits the space dimension of the octagonal shape.
 
     \param os
-    The octagonal shape representing the product to be built.
+    The octagonal shape to be used to build the powerset.
 
     \param complexity
-    The complexity is ignored.
+    This argument is ignored.
 
     \exception std::length_error
     Thrown if the space dimension of \p os exceeds the maximum
     allowed space dimension.
   */
-  template <typename U>
-  Partially_Reduced_Product(const Octagonal_Shape<U>& os,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
-
-  //! Ordinary copy constructor.
-  Partially_Reduced_Product(const Partially_Reduced_Product& y,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  template <typename T>
+  explicit Pointset_Powerset(const Octagonal_Shape<T>& os,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a conservative, upward approximation of \p y.
+  //! Builds a pointset_powerset out of a bd shape.
   /*!
-    The complexity argument is ignored.
-  */
-  template <typename E1, typename E2, typename S>
-  explicit
-  Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
-
-  /*! \brief
-    The assignment operator.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  Partially_Reduced_Product& operator=(const Partially_Reduced_Product& y);
+    If the bd shape is nonempty, builds a powerset containing a
+    single disjunct approximating the bd shape. Builds the empty
+    powerset otherwise.  The powerset inherits the space dimension
+    of the bd shape.
 
-  //! \name Member Functions that Do Not Modify the Partially_Reduced_Product
-  //@{
+    \param bds
+    The bd shape to be used to build the powerset.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param complexity
+    This argument is ignored.
 
-  /*! \brief
-    Returns the minimum \ref Affine_Independence_and_Affine_Dimension
-    "affine dimension"
-    (see also \ref Grid_Affine_Dimension "grid affine dimension")
-    of the components of \p *this.
+    \exception std::length_error
+    Thrown if the space dimension of \p bds exceeds the maximum
+    allowed space dimension.
   */
-  dimension_type affine_dimension() const;
-
-  //! Returns a constant reference to the first of the pair.
-  const D1& domain1() const;
-
-  //! Returns a constant reference to the second of the pair.
-  const D2& domain2() const;
+  template <typename T>
+  explicit Pointset_Powerset(const BD_Shape<T>& bds,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Returns a system of constraints which approximates \p *this.
-  Constraint_System constraints() const;
+  //! Builds a pointset_powerset out of a box.
+  /*!
+    If the box is nonempty, builds a powerset containing a single
+    disjunct approximating the box. Builds the empty powerset
+    otherwise.  The powerset inherits the space dimension of the box.
 
-  /*! \brief
-    Returns a system of constraints which approximates \p *this, in
-    reduced form.
-  */
-  Constraint_System minimized_constraints() const;
+    \param box
+    The box to be used to build the powerset.
 
-  //! Returns a system of congruences which approximates \p *this.
-  Congruence_System congruences() const;
+    \param complexity
+    This argument is ignored.
 
-  /*! \brief
-    Returns a system of congruences which approximates \p *this, in
-    reduced form.
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed space dimension.
   */
-  Congruence_System minimized_congruences() const;
-
-  //! Returns the relations holding between \p *this and \p c.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  template <typename Interval>
+  explicit Pointset_Powerset(const Box<Interval>& box,
+                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-    Returns the Poly_Con_Relation \p r for \p *this:
-    suppose the first component returns \p r1 and the second \p r2,
-    then \p r implies <CODE>is_included()</CODE>
-    if and only if one or both of \p r1 and \p r2 imply
-    <CODE>is_included()</CODE>;
-    \p r implies <CODE>saturates()</CODE>
-    if and only if one or both of \p r1 and \p r2 imply
-    <CODE>saturates()</CODE>;
-    \p r implies <CODE>is_disjoint()</CODE>
-    if and only if one or both of \p r1 and \p r2 imply
-    <CODE>is_disjoint()</CODE>;
-    and \p r implies <CODE>nothing()</CODE>
-    if and only if both \p r1 and \p r2 imply
-    <CODE>strictly_intersects()</CODE>.
-  */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  //@} // Constructors and Destructor
 
-  //! Returns the relations holding between \p *this and \p cg.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+  //! \name Member Functions that Do Not Modify the Pointset_Powerset
+  //@{
 
-  //! Returns the relations holding between \p *this and \p g.
-  /*
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-    Returns the Poly_Gen_Relation \p r for \p *this:
-    suppose the first component returns \p r1 and the second \p r2,
-    then \p r = <CODE>subsumes()</CODE>
-    if and only if \p r1 = \p r2 = <CODE>subsumes()</CODE>;
-    and \p r = <CODE>nothing()</CODE>
-    if and only if one or both of \p r1 and \p r2 = <CODE>nothing()</CODE>;
-  */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type affine_dimension() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if either of the components
-    of \p *this are empty.
+    Returns <CODE>true</CODE> if and only if \p *this is
+    an empty powerset.
   */
   bool is_empty() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if both of the components
-    of \p *this are the universe.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is the top element of the powerset lattice.
   */
   bool is_universe() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if both of the components
-    of \p *this are topologically closed subsets of the vector space.
+    Returns <CODE>true</CODE> if and only if all the disjuncts
+    in \p *this are topologically closed.
   */
   bool is_topologically_closed() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    componentwise disjoint.
+    Returns <CODE>true</CODE> if and only if all elements in \p *this
+    are bounded.
+  */
+  bool is_bounded() const;
 
+  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  /*!
     \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
+    Thrown if \p x and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  bool is_disjoint_from(const Partially_Reduced_Product& y) const;
+  bool is_disjoint_from(const Pointset_Powerset& y) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if a component of \p *this
-    is discrete.
-  */
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
   bool is_discrete() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if a component of \p *this
-    is bounded.
-  */
-  bool is_bounded() const;
-
-  /*! \brief
     Returns <CODE>true</CODE> if and only if \p var is constrained in
     \p *this.
 
     \exception std::invalid_argument
     Thrown if \p var is not a space dimension of \p *this.
+
+    \note
+    A variable is constrained if there exists a non-redundant disjunct
+    that is constraining the variable: this definition relies on the
+    powerset lattice structure and may be somewhat different from the
+    geometric intuition.
+    For instance, variable \f$x\f$ is constrained in the powerset
+    \f[
+      \mathit{ps} = \bigl\{ \{ x \geq 0 \}, \{ x \leq 0 \} \bigr\},
+    \f]
+    even though \f$\mathit{ps}\f$ is geometrically equal to the
+    whole vector space.
   */
   bool constrains(Variable var) const;
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_below.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
   */
   bool bounds_from_above(const Linear_Expression& expr) const;
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_above.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
@@ -74281,9 +99424,9 @@ public:
   bool bounds_from_below(const Linear_Expression& expr) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value is computed.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value is computed.
 
     \param expr
     The linear expression to be maximized subject to \p *this;
@@ -74295,22 +99438,22 @@ public:
     The denominator of the supremum value;
 
     \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d and \p
-    maximum are left untouched.
+    If \p *this is empty or \p expr is not bounded from above,
+    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
+    and \p maximum are left untouched.
   */
   bool maximize(const Linear_Expression& expr,
 		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from above in \p *this, in which case the
-    supremum value and a point where \p expr reaches it are computed.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from above in \p *this, in which case
+    the supremum value and a point where \p expr reaches it are computed.
 
     \param expr
     The linear expression to be maximized subject to \p *this;
@@ -74322,27 +99465,27 @@ public:
     The denominator of the supremum value;
 
     \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
 
-    \param point
-    When maximization succeeds, will be assigned a generator point
-    where \p expr reaches its supremum value.
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
-    If \p *this is empty or \p expr is not bounded by \p *this,
+    If \p *this is empty or \p expr is not bounded from above,
     <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p point are left untouched.
+    and \p g are left untouched.
   */
   bool maximize(const Linear_Expression& expr,
 		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& point) const;
+		Generator& g) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below i \p *this, in which case the
-    infimum value is computed.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value is computed.
 
     \param expr
     The linear expression to be minimized subject to \p *this;
@@ -74354,7 +99497,7 @@ public:
     The denominator of the infimum value;
 
     \param minimum
-    <CODE>true</CODE> if the infimum value can be reached in \p this.
+    <CODE>true</CODE> if and only if the infimum is also the minimum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
@@ -74366,10 +99509,11 @@ public:
   bool minimize(const Linear_Expression& expr,
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
+
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty and
-    \p expr is bounded from below in \p *this, in which case the
-    infimum value and a point where \p expr reaches it are computed.
+    Returns <CODE>true</CODE> if and only if \p *this is not empty
+    and \p expr is bounded from below in \p *this, in which case
+    the infimum value and a point where \p expr reaches it are computed.
 
     \param expr
     The linear expression to be minimized subject to \p *this;
@@ -74381,128 +99525,164 @@ public:
     The denominator of the infimum value;
 
     \param minimum
-    <CODE>true</CODE> if the infimum value can be reached in \p this.
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
 
-    \param point
-    When minimization succeeds, will be assigned a generator point
-    where \p expr reaches its infimum value.
+    \param g
+    When minimization succeeds, will be assigned a point or
+    closure point where \p expr reaches its infimum value.
 
     \exception std::invalid_argument
     Thrown if \p expr and \p *this are dimension-incompatible.
 
     If \p *this is empty or \p expr is not bounded from below,
     <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p point are left untouched.
+    and \p g are left untouched.
   */
   bool minimize(const Linear_Expression& expr,
 		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& point) const;
+		Generator& g) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if each component of \p *this
-    contains the corresponding component of \p y.
+    Returns <CODE>true</CODE> if and only if \p *this geometrically
+    covers \p y, i.e., if any point (in some element) of \p y is also
+    a point (of some element) of \p *this.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    \warning
+    This may be <EM>really</EM> expensive!
   */
-  bool contains(const Partially_Reduced_Product& y) const;
+  bool geometrically_covers(const Pointset_Powerset& y) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if each component of \p *this
-    strictly contains the corresponding component of \p y.
+    Returns <CODE>true</CODE> if and only if \p *this is geometrically
+    equal to \p y, i.e., if (the elements of) \p *this and \p y
+    contain the same set of points.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
+
+    \warning
+    This may be <EM>really</EM> expensive!
   */
-  bool strictly_contains(const Partially_Reduced_Product& y) const;
+  bool geometrically_equals(const Pointset_Powerset& y) const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if each disjunct
+      of \p y is contained in a disjunct of \p *this.
 
-  //@} // Member Functions that Do Not Modify the Partially_Reduced_Product
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool contains(const Pointset_Powerset& y) const;
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Partially_Reduced_Product
-  //@{
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if each disjunct
+      of \p y is strictly contained in a disjunct of \p *this.
 
-  //! Adds constraint \p c to \p *this.
-  /*!
     \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void add_constraint(const Constraint& c);
+  bool strictly_contains(const Pointset_Powerset& y) const;
 
   /*! \brief
-    Use the constraint \p c to refine \p *this.
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
 
-    \param c
-    The constraint to be used for refinement.
+  /*! \brief
+    Returns the relations holding between the powerset \p *this
+    and the constraint \p c.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  void refine_with_constraint(const Constraint& c);
+  Poly_Con_Relation relation_with(const Constraint& c) const;
+
+  /*! \brief
+    Returns the relations holding between the powerset \p *this
+    and the generator \p g.
 
-  //! Adds a copy of congruence \p cg to \p *this.
-  /*!
     \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are
-    dimension-incompatible.
+    Thrown if \p *this and generator \p g are dimension-incompatible.
   */
-  void add_congruence(const Congruence& cg);
+  Poly_Gen_Relation relation_with(const Generator& g) const;
 
   /*! \brief
-    Use the congruence \p cg to refine \p *this.
-
-    \param cg
-    The congruence to be used for refinement.
+    Returns the relations holding between the powerset \p *this
+    and the congruence \p c.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
+    Thrown if \p *this and congruence \p c are dimension-incompatible.
   */
-  void refine_with_congruence(const Congruence& cg);
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-  //! Adds a copy of the congruences in \p cgs to \p *this.
-  /*!
-    \param cgs
-    The congruence system to be added.
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
+  */
+  memory_size_type total_memory_in_bytes() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+  /*! \brief
+    Returns a lower bound to the size in bytes of the memory
+    managed by \p *this.
   */
-  void add_congruences(const Congruence_System& cgs);
+  memory_size_type external_memory_in_bytes() const;
 
   /*! \brief
-    Use the congruences in \p cgs to refine \p *this.
+    Returns a 32-bit hash code for \p *this.
 
-    \param  cgs
-    The congruences to be used for refinement.
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  */
+  int32_t hash_code() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //@} // Member Functions that Do Not Modify the Pointset_Powerset
+
+  //! \name Space Dimension Preserving Member Functions that May Modify the Pointset_Powerset
+  //@{
 
+  //! Adds to \p *this the disjunct \p ph.
+  /*!
     \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+    Thrown if \p *this and \p ph are dimension-incompatible.
   */
-  void refine_with_congruences(const Congruence_System& cgs);
+  void add_disjunct(const PSET& ph);
 
-  //! Adds the congruences in \p cgs to *this.
+  //! Intersects \p *this with constraint \p c.
   /*!
-    \param cgs
-    The congruence system to be added that may be recycled.
-
     \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+    Thrown if \p *this and constraint \p c are topology-incompatible
+    or dimension-incompatible.
+  */
+  void add_constraint(const Constraint& c);
 
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
+  /*! \brief
+    Use the constraint \p c to refine \p *this.
+
+    \param c
+    The constraint to be used for refinement.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
   */
-  void add_recycled_congruences(Congruence_System& cgs);
+  void refine_with_constraint(const Constraint& c);
 
-  //! Adds a copy of the constraint system in \p cs to \p *this.
+  //! Intersects \p *this with the constraints in \p cs.
   /*!
     \param cs
-    The constraint system to be added.
+    The constraints to intersect with.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
   */
   void add_constraints(const Constraint_System& cs);
 
@@ -74517,19 +99697,46 @@ public:
   */
   void refine_with_constraints(const Constraint_System& cs);
 
-  //! Adds the constraint system in \p cs to \p *this.
+  //! Intersects \p *this with congruence \p cg.
   /*!
-    \param cs
-    The constraint system to be added that may be recycled.
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are topology-incompatible
+    or dimension-incompatible.
+  */
+  void add_congruence(const Congruence& cg);
+
+  /*! \brief
+    Use the congruence \p cg to refine \p *this.
+
+    \param cg
+    The congruence to be used for refinement.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+    Thrown if \p *this and \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-    \warning
-    The only assumption that can be made about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
+  //! Intersects \p *this with the congruences in \p cgs.
+  /*!
+    \param cgs
+    The congruences to intersect with.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are topology-incompatible or
+    dimension-incompatible.
   */
-  void add_recycled_constraints(Constraint_System& cs);
+  void add_congruences(const Congruence_System& cgs);
+
+  /*! \brief
+    Use the congruences in \p cgs to refine \p *this.
+
+    \param  cgs
+    The congruences to be used for refinement.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
@@ -74558,47 +99765,74 @@ public:
   void unconstrain(const Variables_Set& vars);
 
   /*! \brief
-    Assigns to \p *this the componentwise intersection of \p *this and \p y.
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
   */
-  void intersection_assign(const Partially_Reduced_Product& y);
+  void drop_some_non_integer_points(Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
 
   /*! \brief
-    Assigns to \p *this an upper bound of \p *this and \p y
-    computed on the corresponding components.
+    Possibly tightens \p *this by dropping some points with non-integer
+    coordinates for the space dimensions corresponding to \p vars.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \param vars
+    Points with non-integer coordinates for these variables/space-dimensions
+    can be discarded.
+
+    \param complexity
+    The maximal complexity of any algorithms used.
+
+    \note
+    Currently there is no optimality guarantee, not even if
+    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
+  */
+  void drop_some_non_integer_points(const Variables_Set& vars,
+                                    Complexity_Class complexity
+                                    = ANY_COMPLEXITY);
+
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
+
+  //! Assigns to \p *this the intersection of \p *this and \p y.
+  /*!
+    The result is obtained by intersecting each disjunct in \p *this
+    with each disjunct in \p y and collecting all these intersections.
   */
-  void upper_bound_assign(const Partially_Reduced_Product& y);
+  void intersection_assign(const Pointset_Powerset& y);
 
   /*! \brief
-    Assigns to \p *this an upper bound of \p *this and \p y
-    computed on the corresponding components.
-    If it is exact on each of the components of \p *this, <CODE>true</CODE>
-    is returned, otherwise <CODE>false</CODE> is returned.
+    Assigns to \p *this an (a smallest)
+    over-approximation as a powerset of the disjunct domain of the
+    set-theoretical difference of \p *this and \p y.
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  bool upper_bound_assign_if_exact(const Partially_Reduced_Product& y);
+  void difference_assign(const Pointset_Powerset& y);
 
   /*! \brief
-    Assigns to \p *this an approximation of the set-theoretic difference
-    of \p *this and \p y.
+    Assigns to \p *this a \ref Powerset_Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+    If \c false is returned, then the intersection is empty.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  void difference_assign(const Partially_Reduced_Product& y);
+  bool simplify_using_context_assign(const Pointset_Powerset& y);
 
   /*! \brief
-    Assigns to \p *this the \ref Single_Update_Affine_Functions
-    "affine image" of \p
-    *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine image"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
 
     \param var
     The variable to which the affine expression is assigned;
@@ -74614,21 +99848,20 @@ public:
     Thrown if \p denominator is zero or if \p expr and \p *this are
     dimension-incompatible or if \p var is not a space dimension of
     \p *this.
-
   */
   void affine_image(Variable var,
 		    const Linear_Expression& expr,
 		    Coefficient_traits::const_reference denominator
-		    = Coefficient_one());
+		      = Coefficient_one());
 
   /*! \brief
-    Assigns to \p *this the \ref  Single_Update_Affine_Functions
-    "affine preimage" of
-    \p *this under the function mapping variable \p var to the affine
-    expression specified by \p expr and \p denominator.
+    Assigns to \p *this the
+    \ref Single_Update_Affine_Functions "affine preimage"
+    of \p *this under the function mapping variable \p var to the
+    affine expression specified by \p expr and \p denominator.
 
     \param var
-    The variable to which the affine expression is substituted;
+    The variable to which the affine expression is assigned;
 
     \param expr
     The numerator of the affine expression;
@@ -74639,20 +99872,20 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this.
+    dimension-incompatible or if \p var is not a space dimension of
+    \p *this.
   */
   void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		      = Coefficient_one());
 
   /*! \brief
     Assigns to \p *this the image of \p *this with respect to the
     \ref Generalized_Affine_Relations "generalized affine relation"
     \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
     where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym
-    (see also \ref Grid_Generalized_Image "generalized affine relation".)
+    by \p relsym.
 
     \param var
     The left hand side variable of the generalized affine relation;
@@ -74677,7 +99910,7 @@ public:
 				Relation_Symbol relsym,
 				const Linear_Expression& expr,
 				Coefficient_traits::const_reference denominator
-				= Coefficient_one());
+				  = Coefficient_one());
 
   /*! \brief
     Assigns to \p *this the preimage of \p *this with respect to the
@@ -74685,7 +99918,6 @@ public:
     \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
     where \f$\mathord{\relsym}\f$ is the relation symbol encoded
     by \p relsym.
-   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
     \param var
     The left hand side variable of the generalized affine relation;
@@ -74718,7 +99950,6 @@ public:
     \ref Generalized_Affine_Relations "generalized affine relation"
     \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
     \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
-   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
     \param lhs
     The left hand side affine expression;
@@ -74743,7 +99974,6 @@ public:
     \ref Generalized_Affine_Relations "generalized affine relation"
     \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
     \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
-   (see also \ref Grid_Generalized_Image "generalized affine relation".)
 
     \param lhs
     The left hand side affine expression;
@@ -74769,8159 +99999,7268 @@ public:
     \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
     \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
          \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
-
-    \param var
-    The variable updated by the affine relation;
-
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
-
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
-
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
-
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
-
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
-
-    \param var
-    The variable updated by the affine relation;
-
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
-
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
-
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
-
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
-
-  /*! \brief
-    Assigns to \p *this the result of computing the \ref Time_Elapse_Operator
-    "time-elapse" between \p *this and \p y.
-    (See also \ref Grid_Time_Elapse "time-elapse".)
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void time_elapse_assign(const Partially_Reduced_Product& y);
-
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
-
-  // TODO: Add a way to call other widenings.
-
-  // CHECKME: This may not be a real widening; it depends on the reduction
-  //          class R and the widening used.
-
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    "widening" between \p *this and \p y.
-
-    This widening uses either the congruence or generator systems
-    depending on which of the systems describing x and y
-    are up to date and minimized.
-
-    \param y
-    A product that <EM>must</EM> be contained in \p *this;
-
-    \param tp
-    An optional pointer to an unsigned variable storing the number of
-    available tokens (to be used when applying the
-    \ref Widening_with_Tokens "widening with tokens" delay technique).
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void widening_assign(const Partially_Reduced_Product& y,
-                       unsigned* tp = NULL);
-
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
-
-    \param complexity
-    The maximal complexity of any algorithms used.
-
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
-
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
-
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
-
-    \param complexity
-    The maximal complexity of any algorithms used.
-
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
-
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
-
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
-
-  /*! \brief
-    Adds \p m new space dimensions and embeds the components
-    of \p *this in the new vector space.
-
-    \param m
-    The number of dimensions to add.
-
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
- */
-  void add_space_dimensions_and_embed(dimension_type m);
-
-  /*! \brief
-    Adds \p m new space dimensions and does not embed the components
-    in the new vector space.
-
-    \param m
-    The number of space dimensions to add.
-
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the
-    vector space to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void add_space_dimensions_and_project(dimension_type m);
-
-  /*! \brief
-    Assigns to the first (resp., second) component of \p *this
-    the "concatenation" of the first (resp., second) components
-    of \p *this and \p y, taken in this order.
-    See also \ref Concatenating_Polyhedra.
-
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
-  */
-  void concatenate_assign(const Partially_Reduced_Product& y);
-
-  //! Removes all the specified dimensions from the vector space.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
-
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void remove_space_dimensions(const Variables_Set& vars);
-
-  /*! \brief
-    Removes the higher dimensions of the vector space so that the
-    resulting space will have dimension \p new_dimension.
-
-    \exception std::invalid_argument
-    Thrown if \p new_dimensions is greater than the space dimension of
-    \p *this.
-  */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
-
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
-
-    If \p pfunc maps only some of the dimensions of \p *this then the
-    rest will be projected away.
-
-    If the highest dimension mapped to by \p pfunc is higher than the
-    highest dimension in \p *this then the number of dimensions in \p
-    *this will be increased to the highest dimension mapped to by \p
-    pfunc.
-
-    \param pfunc
-    The partial function specifying the destiny of each space
-    dimension.
-
-    The template class <CODE>Partial_Function</CODE> must provide the following
-    methods.
-    \code
-      bool has_empty_codomain() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the represented partial
-    function has an empty codomain (i.e., it is always undefined).
-    The <CODE>has_empty_codomain()</CODE> method will always be called
-    before the methods below.  However, if
-    <CODE>has_empty_codomain()</CODE> returns <CODE>true</CODE>, none
-    of the functions below will be called.
-    \code
-      dimension_type max_in_codomain() const
-    \endcode
-    returns the maximum value that belongs to the codomain of the
-    partial function.
-    The <CODE>max_in_codomain()</CODE> method is called at most once.
-    \code
-      bool maps(dimension_type i, dimension_type& j) const
-    \endcode
-    Let \f$f\f$ be the represented function and \f$k\f$ be the value
-    of \p i.  If \f$f\f$ is defined in \f$k\f$, then \f$f(k)\f$ is
-    assigned to \p j and <CODE>true</CODE> is returned.  If \f$f\f$ is
-    undefined in \f$k\f$, then <CODE>false</CODE> is returned.
-    This method is called at most \f$n\f$ times, where \f$n\f$ is the
-    dimension of the vector space enclosing \p *this.
-
-    The result is undefined if \p pfunc does not encode a partial
-    function with the properties described in
-    \ref Mapping_the_Dimensions_of_the_Vector_Space
-    "specification of the mapping operator".
-  */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
-
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
-
-    \param m
-    The number of replicas to be created.
-
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector
-    space.
-
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
-
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
-    "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
-
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
-
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
-
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.  Also
-    thrown if \p dest is contained in \p vars.
-
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are
-    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
-    "folded" into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
-
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
-
-  friend bool operator==<>(const Partially_Reduced_Product<D1, D2, R>& x,
-			   const Partially_Reduced_Product<D1, D2, R>& y);
-
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::
-  operator<<<>(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
-
-  //! \name Miscellaneous Member Functions
-  //@{
-
-  //! Destructor.
-  ~Partially_Reduced_Product();
-
-  /*! \brief
-    Swaps \p *this with product \p y.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  void swap(Partially_Reduced_Product& y);
-
-  PPL_OUTPUT_DECLARATIONS
-
-  /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
-  */
-  bool ascii_load(std::istream& s);
-
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
-
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
-
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
-
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
-  */
-  int32_t hash_code() const;
-
-  //@} // Miscellaneous Member Functions
-
-  //! Reduce.
-  /*
-    \return
-    <CODE>true</CODE> if and only if either of the resulting component
-    is strictly contained in the respective original.
-  */
-  bool reduce() const;
-
-protected:
-  //! The type of the first component.
-  typedef D1 Domain1;
-
-  //! The type of the second component.
-  typedef D2 Domain2;
-
-  //! The first component.
-  D1 d1;
-
-  //! The second component.
-  D2 d2;
-
-protected:
-  //! Clears the reduced flag.
-  void clear_reduced_flag() const;
-
-  //! Sets the reduced flag.
-  void set_reduced_flag() const;
-
-  //! Return <CODE>true</CODE> if and only if the reduced flag is set.
-  bool is_reduced() const;
-
-  /*! \brief
-    Flag to record whether the components are reduced with respect
-    to each other and the reduction class.
-  */
-  bool reduced;
-};
-
-namespace Parma_Polyhedra_Library {
-
-/*! \brief
-  This class is temporary and will be removed when template typedefs will
-  be supported in C++.
-
-  When template typedefs will be supported in C++, what now is verbosely
-  denoted by Domain_Product<Domain1, Domain2>::Direct_Product will simply
-  be denoted by Direct_Product<Domain1, Domain2>.
-*/
-template <typename D1, typename D2>
-class Domain_Product {
-public:
-  typedef Partially_Reduced_Product<D1, D2, No_Reduction<D1, D2> >
-  Direct_Product;
-
-  typedef Partially_Reduced_Product<D1, D2, Smash_Reduction<D1, D2> >
-  Smash_Product;
-
-  typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
-  Constraints_Product;
-
-  typedef Partially_Reduced_Product<D1, D2, Congruences_Reduction<D1, D2> >
-  Congruences_Product;
-
-  typedef Partially_Reduced_Product<D1, D2, Shape_Preserving_Reduction<D1, D2> >
-  Shape_Preserving_Product;
-};
-
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-  template <typename D1, typename D2, typename R>
-void swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& y);
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 1. */
-/* Partially_Reduced_Product class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 32. */
-
-namespace Parma_Polyhedra_Library {
-
-template <typename D1, typename D2, typename R>
-inline dimension_type
-Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
-  return (D1::max_space_dimension() < D2::max_space_dimension())
-    ? D1::max_space_dimension()
-    : D2::max_space_dimension();
-}
-
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(dimension_type num_dimensions,
-			    const Degenerate_Element kind)
-  : d1(num_dimensions, kind),
-    d2(num_dimensions, kind) {
-  set_reduced_flag();
-}
-
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Congruence_System& ccgs)
-  : d1(ccgs), d2(ccgs) {
-  clear_reduced_flag();
-}
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(Congruence_System& cgs)
-  : d1(const_cast<const Congruence_System&>(cgs)), d2(cgs) {
-  clear_reduced_flag();
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Constraint_System& ccs)
-  : d1(ccs), d2(ccs) {
-  clear_reduced_flag();
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(Constraint_System& cs)
-  : d1(const_cast<const Constraint_System&>(cs)), d2(cs) {
-  clear_reduced_flag();
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const C_Polyhedron& ph,
-                            Complexity_Class complexity)
-  : d1(ph, complexity), d2(ph, complexity) {
-  set_reduced_flag();
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const NNC_Polyhedron& ph,
-                            Complexity_Class complexity)
-  : d1(ph, complexity), d2(ph, complexity) {
-  set_reduced_flag();
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Grid& gr, Complexity_Class)
-  : d1(gr), d2(gr) {
-  set_reduced_flag();
-}
+  /*!
+    \brief
+    Assigns to \p *this the preimage of \p *this with respect to the
+    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
+    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
+         \leq \mathrm{var}'
+           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-template <typename D1, typename D2, typename R>
-template <typename Interval>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Box<Interval>& box, Complexity_Class)
-  : d1(box), d2(box) {
-  set_reduced_flag();
-}
+    \param var
+    The variable updated by the affine relation;
 
-template <typename D1, typename D2, typename R>
-template <typename U>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const BD_Shape<U>& bd, Complexity_Class)
-  : d1(bd), d2(bd) {
-  set_reduced_flag();
-}
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-template <typename D1, typename D2, typename R>
-template <typename U>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Octagonal_Shape<U>& os, Complexity_Class)
-  : d1(os), d2(os) {
-  set_reduced_flag();
-}
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Partially_Reduced_Product& y,
-                            Complexity_Class)
-  : d1(y.d1), d2(y.d2) {
-  reduced = y.reduced;
-}
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-template <typename D1, typename D2, typename R>
-template <typename E1, typename E2, typename S>
-inline
-Partially_Reduced_Product<D1, D2, R>
-::Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
-                            Complexity_Class complexity)
-  : d1(y.space_dimension()), d2(y.space_dimension()) {
-  Partially_Reduced_Product<D1, D2, R> pg1(y.domain1(), complexity);
-  Partially_Reduced_Product<D1, D2, R> pg2(y.domain2(), complexity);
-  pg1.intersection_assign(pg2);
-  swap(pg1);
-  /* Even if y is reduced, the built product may not be reduced as
-     the reduction method may have changed (i.e., S != R). */
-  clear_reduced_flag();
-}
+    \exception std::invalid_argument
+    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
+    and \p *this are dimension-incompatible or if \p var is not a space
+    dimension of \p *this.
+  */
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-template <typename D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
 
-template <typename D1, typename D2, typename R>
-inline memory_size_type
-Partially_Reduced_Product<D1, D2, R>::external_memory_in_bytes() const {
-  return d1.external_memory_in_bytes() + d2.external_memory_in_bytes();
-}
+    The result is obtained by computing the pairwise
+    \ref Time_Elapse_Operator "time elapse" of each disjunct
+    in \p *this with each disjunct in \p y.
+  */
+  void time_elapse_assign(const Pointset_Powerset& y);
 
-template <typename D1, typename D2, typename R>
-inline memory_size_type
-Partially_Reduced_Product<D1, D2, R>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  /*! \brief
+    \ref Wrapping_Operator "Wraps" the specified dimensions of the
+    vector space.
 
-template <typename D1, typename D2, typename R>
-inline dimension_type
-Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
-  PPL_ASSERT(d1.space_dimension() == d2.space_dimension());
-  return d1.space_dimension();
-}
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be wrapped.
 
-template <typename D1, typename D2, typename R>
-inline dimension_type
-Partially_Reduced_Product<D1, D2, R>::affine_dimension() const {
-  reduce();
-  const dimension_type d1_dim = d1.affine_dimension();
-  const dimension_type d2_dim = d2.affine_dimension();
-  return std::min(d1_dim, d2_dim);
-}
+    \param w
+    The width of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::unconstrain(const Variable var) {
-  reduce();
-  d1.unconstrain(var);
-  d2.unconstrain(var);
-}
+    \param r
+    The representation of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::unconstrain(const Variables_Set& vars) {
-  reduce();
-  d1.unconstrain(vars);
-  d2.unconstrain(vars);
-}
+    \param o
+    The overflow behavior of the bounded integer type corresponding to
+    all the dimensions to be wrapped.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::intersection_assign(const Partially_Reduced_Product& y) {
-  d1.intersection_assign(y.d1);
-  d2.intersection_assign(y.d2);
-  clear_reduced_flag();
-}
+    \param cs_p
+    Possibly null pointer to a constraint system whose variables
+    are contained in \p vars.  If <CODE>*cs_p</CODE> depends on
+    variables not in \p vars, the behavior is undefined.
+    When non-null, the pointed-to constraint system is assumed to
+    represent the conditional or looping construct guard with respect
+    to which wrapping is performed.  Since wrapping requires the
+    computation of upper bounds and due to non-distributivity of
+    constraint refinement over upper bounds, passing a constraint
+    system in this way can be more precise than refining the result of
+    the wrapping operation with the constraints in <CODE>*cs_p</CODE>.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::difference_assign(const Partially_Reduced_Product& y) {
-  reduce();
-  y.reduce();
-  d1.difference_assign(y.d1);
-  d2.difference_assign(y.d2);
-  clear_reduced_flag();
-}
+    \param complexity_threshold
+    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
+    higher values result in possibly improved precision.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::upper_bound_assign(const Partially_Reduced_Product& y) {
-  reduce();
-  y.reduce();
-  d1.upper_bound_assign(y.d1);
-  d2.upper_bound_assign(y.d2);
-}
+    \param wrap_individually
+    <CODE>true</CODE> if the dimensions should be wrapped individually
+    (something that results in much greater efficiency to the detriment of
+    precision).
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::upper_bound_assign_if_exact(const Partially_Reduced_Product& y) {
-  reduce();
-  y.reduce();
-  D1 d1_copy = d1;
-  bool ub_exact = d1_copy.upper_bound_assign_if_exact(y.d1);
-  if (!ub_exact)
-    return false;
-  ub_exact = d2.upper_bound_assign_if_exact(y.d2);
-  if (!ub_exact)
-    return false;
-  std::swap(d1,d1_copy);
-  return true;
-}
+    \exception std::invalid_argument
+    Thrown if <CODE>*cs_p</CODE> is dimension-incompatible with
+    \p vars, or if \p *this is dimension-incompatible \p vars or with
+    <CODE>*cs_p</CODE>.
+  */
+  void wrap_assign(const Variables_Set& vars,
+                   Bounded_Integer_Type_Width w,
+                   Bounded_Integer_Type_Representation r,
+                   Bounded_Integer_Type_Overflow o,
+                   const Constraint_System* cs_p = 0,
+                   unsigned complexity_threshold = 16,
+                   bool wrap_individually = true);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::affine_image(Variable var,
-	       const Linear_Expression& expr,
-	       Coefficient_traits::const_reference denominator) {
-  d1.affine_image(var, expr, denominator);
-  d2.affine_image(var, expr, denominator);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Assign to \p *this the result of (recursively) merging together
+    the pairs of disjuncts whose upper-bound is the same as their
+    set-theoretical union.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::affine_preimage(Variable var,
-		  const Linear_Expression& expr,
-		  Coefficient_traits::const_reference denominator) {
-  d1.affine_preimage(var, expr, denominator);
-  d2.affine_preimage(var, expr, denominator);
-  clear_reduced_flag();
-}
+    On exit, for all the pairs \f$\cP\f$, \f$\cQ\f$ of different disjuncts
+    in \p *this, we have \f$\cP \uplus \cQ \neq \cP \union \cQ\f$.
+  */
+  void pairwise_reduce();
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::generalized_affine_image(Variable var,
-			   const Relation_Symbol relsym,
-			   const Linear_Expression& expr,
-			   Coefficient_traits::const_reference denominator) {
-  d1.generalized_affine_image(var, relsym, expr, denominator);
-  d2.generalized_affine_image(var, relsym, expr, denominator);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Assigns to \p *this the result of applying the
+    \ref pps_bgp99_extrapolation "BGP99 extrapolation operator"
+    to \p *this and \p y, using the widening function \p widen_fun
+    and the cardinality threshold \p max_disjuncts.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::generalized_affine_preimage(Variable var,
-			      const Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator) {
-  d1.generalized_affine_preimage(var, relsym, expr, denominator);
-  d2.generalized_affine_preimage(var, relsym, expr, denominator);
-  clear_reduced_flag();
-}
+    \param y
+    A powerset that <EM>must</EM> definitely entail \p *this;
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::generalized_affine_image(const Linear_Expression& lhs,
-			   const Relation_Symbol relsym,
-			   const Linear_Expression& rhs) {
-  d1.generalized_affine_image(lhs, relsym, rhs);
-  d2.generalized_affine_image(lhs, relsym, rhs);
-  clear_reduced_flag();
-}
+    \param widen_fun
+    The widening function to be used on polyhedra objects. It is obtained
+    from the corresponding widening method by using the helper function
+    Parma_Polyhedra_Library::widen_fun_ref. Legal values are, e.g.,
+    <CODE>widen_fun_ref(&Polyhedron::H79_widening_assign)</CODE> and
+    <CODE>widen_fun_ref(&Polyhedron::limited_H79_extrapolation_assign, cs)</CODE>;
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::generalized_affine_preimage(const Linear_Expression& lhs,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& rhs) {
-  d1.generalized_affine_preimage(lhs, relsym, rhs);
-  d2.generalized_affine_preimage(lhs, relsym, rhs);
-  clear_reduced_flag();
-}
+    \param max_disjuncts
+    The maximum number of disjuncts occurring in the powerset \p *this
+    <EM>before</EM> starting the computation. If this number is exceeded,
+    some of the disjuncts in \p *this are collapsed (i.e., joined together).
 
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::bounded_affine_image(Variable var,
-                       const Linear_Expression& lb_expr,
-                       const Linear_Expression& ub_expr,
-                       Coefficient_traits::const_reference denominator) {
-  d1.bounded_affine_image(var, lb_expr, ub_expr, denominator);
-  d2.bounded_affine_image(var, lb_expr, ub_expr, denominator);
-  clear_reduced_flag();
-}
+    For a description of the extrapolation operator,
+    see \ref BGP99 "[BGP99]" and \ref BHZ03b "[BHZ03b]".
+  */
+  template <typename Widening>
+  void BGP99_extrapolation_assign(const Pointset_Powerset& y,
+				  Widening widen_fun,
+				  unsigned max_disjuncts);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::bounded_affine_preimage(Variable var,
-                          const Linear_Expression& lb_expr,
-                          const Linear_Expression& ub_expr,
-                          Coefficient_traits::const_reference denominator) {
-  d1.bounded_affine_preimage(var, lb_expr, ub_expr, denominator);
-  d2.bounded_affine_preimage(var, lb_expr, ub_expr, denominator);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref pps_certificate_widening "BHZ03-widening"
+    between \p *this and \p y, using the widening function \p widen_fun
+    certified by the convergence certificate \p Cert.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::time_elapse_assign(const Partially_Reduced_Product& y) {
-  reduce();
-  y.reduce();
-  d1.time_elapse_assign(y.d1);
-  d2.time_elapse_assign(y.d2);
-  PPL_ASSERT_HEAVY(OK());
-}
+    \param y
+    The finite powerset computed in the previous iteration step.
+    It <EM>must</EM> definitely entail \p *this;
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::topological_closure_assign() {
-  d1.topological_closure_assign();
-  d2.topological_closure_assign();
-}
+    \param widen_fun
+    The widening function to be used on disjuncts.
+    It is obtained from the corresponding widening method by using
+    the helper function widen_fun_ref. Legal values are, e.g.,
+    <CODE>widen_fun_ref(&Polyhedron::H79_widening_assign)</CODE> and
+    <CODE>widen_fun_ref(&Polyhedron::limited_H79_extrapolation_assign, cs)</CODE>.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::swap(Partially_Reduced_Product& y) {
-  std::swap(d1, y.d1);
-  std::swap(d2, y.d2);
-  std::swap(reduced, y.reduced);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::add_constraint(const Constraint& c) {
-  d1.add_constraint(c);
-  d2.add_constraint(c);
-  clear_reduced_flag();
-}
+    \warning
+    In order to obtain a proper widening operator, the template parameter
+    \p Cert should be a finite convergence certificate for the base-level
+    widening function \p widen_fun; otherwise, an extrapolation operator is
+    obtained.
+    For a description of the methods that should be provided
+    by \p Cert, see BHRZ03_Certificate or H79_Certificate.
+  */
+  template <typename Cert, typename Widening>
+  void BHZ03_widening_assign(const Pointset_Powerset& y, Widening widen_fun);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::refine_with_constraint(const Constraint& c) {
-  d1.refine_with_constraint(c);
-  d2.refine_with_constraint(c);
-  clear_reduced_flag();
-}
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::add_congruence(const Congruence& cg) {
-  d1.add_congruence(cg);
-  d2.add_congruence(cg);
-  clear_reduced_flag();
-}
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::refine_with_congruence(const Congruence& cg) {
-  d1.refine_with_congruence(cg);
-  d2.refine_with_congruence(cg);
-  clear_reduced_flag();
-}
+  /*! \brief
+    The assignment operator
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  Pointset_Powerset& operator=(const Pointset_Powerset& y);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::add_constraints(const Constraint_System& cs) {
-  d1.add_constraints(cs);
-  d2.add_constraints(cs);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Conversion assignment: the type <CODE>QH</CODE> of the disjuncts
+    in the source powerset is different from <CODE>PSET</CODE>
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  template <typename QH>
+  Pointset_Powerset& operator=(const Pointset_Powerset<QH>& y);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::refine_with_constraints(const Constraint_System& cs) {
-  d1.refine_with_constraints(cs);
-  d2.refine_with_constraints(cs);
-  clear_reduced_flag();
-}
+  //! Swaps \p *this with \p y.
+  void m_swap(Pointset_Powerset& y);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::add_congruences(const Congruence_System& cgs) {
-  d1.add_congruences(cgs);
-  d2.add_congruences(cgs);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Adds \p m new dimensions to the vector space containing \p *this
+    and embeds each disjunct in \p *this in the new space.
+  */
+  void add_space_dimensions_and_embed(dimension_type m);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::refine_with_congruences(const Congruence_System& cgs) {
-  d1.refine_with_congruences(cgs);
-  d2.refine_with_congruences(cgs);
-  clear_reduced_flag();
-}
+  /*! \brief
+    Adds \p m new dimensions to the vector space containing \p *this
+    without embedding the disjuncts in \p *this in the new space.
+  */
+  void add_space_dimensions_and_project(dimension_type m);
+
+  //! Assigns to \p *this the concatenation of \p *this and \p y.
+  /*!
+    The result is obtained by computing the pairwise
+    \ref Concatenating_Polyhedra "concatenation" of each disjunct
+    in \p *this with each disjunct in \p y.
+  */
+  void concatenate_assign(const Pointset_Powerset& y);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::drop_some_non_integer_points(Complexity_Class complexity) {
-  reduce();
-  d1.drop_some_non_integer_points(complexity);
-  d2.drop_some_non_integer_points(complexity);
-  clear_reduced_flag();
-}
+  //! Removes all the specified space dimensions.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity) {
-  reduce();
-  d1.drop_some_non_integer_points(vars, complexity);
-  d2.drop_some_non_integer_points(vars, complexity);
-  clear_reduced_flag();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p vars.
+  */
+  void remove_space_dimensions(const Variables_Set& vars);
 
-template <typename D1, typename D2, typename R>
-inline Partially_Reduced_Product<D1, D2, R>&
-Partially_Reduced_Product<D1, D2, R>
-::operator=(const Partially_Reduced_Product& y) {
-  d1 = y.d1;
-  d2 = y.d2;
-  reduced = y.reduced;
-  return *this;
-}
+  /*! \brief
+    Removes the higher space dimensions so that the resulting space
+    will have dimension \p new_dimension.
 
-template <typename D1, typename D2, typename R>
-inline const D1&
-Partially_Reduced_Product<D1, D2, R>::domain1() const {
-  reduce();
-  return d1;
-}
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension
+    of \p *this.
+  */
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
-template <typename D1, typename D2, typename R>
-inline const D2&
-Partially_Reduced_Product<D1, D2, R>::domain2() const {
-  reduce();
-  return d2;
-}
+  /*! \brief
+    Remaps the dimensions of the vector space according to
+    a partial function.
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_empty() const {
-  reduce();
-  return d1.is_empty() || d2.is_empty();
-}
+    See also Polyhedron::map_space_dimensions.
+  */
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_universe() const {
-  return d1.is_universe() && d2.is_universe();
-}
+  //! Creates \p m copies of the space dimension corresponding to \p var.
+  /*!
+    \param var
+    The variable corresponding to the space dimension to be replicated;
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_topologically_closed() const {
-  reduce();
-  return d1.is_topologically_closed() && d2.is_topologically_closed();
-}
+    \param m
+    The number of replicas to be created.
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::is_disjoint_from(const Partially_Reduced_Product& y) const {
-  reduce();
-  y.reduce();
-  return d1.is_disjoint_from(y.d1) || d2.is_disjoint_from(y.d2);
-}
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector
+    space.
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_discrete() const {
-  reduce();
-  return d1.is_discrete() || d2.is_discrete();
-}
+    \exception std::length_error
+    Thrown if adding \p m new space dimensions would cause the vector
+    space to exceed dimension <CODE>max_space_dimension()</CODE>.
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_bounded() const {
-  reduce();
-  return d1.is_bounded() || d2.is_bounded();
-}
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    then the \f$k\f$-th space dimension is
+    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
+    "expanded" to \p m new space dimensions
+    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
+  */
+  void expand_space_dimension(Variable var, dimension_type m);
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::bounds_from_above(const Linear_Expression& expr) const {
-  reduce();
-  return d1.bounds_from_above(expr) || d2.bounds_from_above(expr);
-}
+  //! Folds the space dimensions in \p vars into \p dest.
+  /*!
+    \param vars
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::bounds_from_below(const Linear_Expression& expr) const {
-  reduce();
-  return d1.bounds_from_below(expr) || d2.bounds_from_below(expr);
-}
+    \param dest
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::constrains(Variable var) const {
-  reduce();
-  return d1.constrains(var) || d2.constrains(var);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p dest or with
+    one of the Variable objects contained in \p vars.  Also
+    thrown if \p dest is contained in \p vars.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::widening_assign(const Partially_Reduced_Product& y,
-                  unsigned* tp) {
-  // FIXME(0.10.1): In general this is _NOT_ a widening since the reduction
-  //        may mean that the sequence does not satisfy the ascending
-  //        chain condition.
-  //        However, for the direct, smash and constraints product
-  //        it may be ok - but this still needs checking.
-  reduce();
-  y.reduce();
-  d1.widening_assign(y.d1, tp);
-  d2.widening_assign(y.d2, tp);
-}
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
+    \p vars is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p dest is not a member
+    of \p vars, then the space dimensions corresponding to
+    variables in \p vars are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
+    "folded" into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::add_space_dimensions_and_embed(dimension_type m) {
-  d1.add_space_dimensions_and_embed(m);
-  d2.add_space_dimensions_and_embed(m);
-}
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::add_space_dimensions_and_project(dimension_type m) {
-  d1.add_space_dimensions_and_project(m);
-  d2.add_space_dimensions_and_project(m);
-}
+public:
+  typedef typename Base::size_type size_type;
+  typedef typename Base::value_type value_type;
+  typedef typename Base::iterator iterator;
+  typedef typename Base::const_iterator const_iterator;
+  typedef typename Base::reverse_iterator reverse_iterator;
+  typedef typename Base::const_reverse_iterator const_reverse_iterator;
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::concatenate_assign(const Partially_Reduced_Product& y) {
-  d1.concatenate_assign(y.d1);
-  d2.concatenate_assign(y.d2);
-  if (!is_reduced() || !y.is_reduced())
-    clear_reduced_flag();
-}
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::remove_space_dimensions(const Variables_Set& vars) {
-  d1.remove_space_dimensions(vars);
-  d2.remove_space_dimensions(vars);
-}
+  /*! \brief
+    Loads from \p s an ASCII representation (as produced by
+    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
+    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+  */
+  bool ascii_load(std::istream& s);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::remove_higher_space_dimensions(dimension_type new_dimension) {
-  d1.remove_higher_space_dimensions(new_dimension);
-  d2.remove_higher_space_dimensions(new_dimension);
-}
+private:
+  typedef typename Base::Sequence Sequence;
+  typedef typename Base::Sequence_iterator Sequence_iterator;
+  typedef typename Base::Sequence_const_iterator Sequence_const_iterator;
 
-template <typename D1, typename D2, typename R>
-template <typename Partial_Function>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::map_space_dimensions(const Partial_Function& pfunc) {
-  d1.map_space_dimensions(pfunc);
-  d2.map_space_dimensions(pfunc);
-}
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::expand_space_dimension(Variable var, dimension_type m) {
-  d1.expand_space_dimension(var, m);
-  d2.expand_space_dimension(var, m);
-}
+  /*! \brief
+    Assigns to \p dest a \ref Powerset_Meet_Preserving_Simplification
+    "powerset meet-preserving enlargement" of itself with respect to
+    \p *this.  If \c false is returned, then the intersection is empty.
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::fold_space_dimensions(const Variables_Set& vars,
-			Variable dest) {
-  d1.fold_space_dimensions(vars, dest);
-  d2.fold_space_dimensions(vars, dest);
-}
+    \note
+    It is assumed that \p *this and \p dest are topology-compatible
+    and dimension-compatible.
+  */
+  bool intersection_preserving_enlarge_element(PSET& dest) const;
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::contains(const Partially_Reduced_Product& y) const {
-  reduce();
-  y.reduce();
-  return d1.contains(y.d1) && d2.contains(y.d2);
-}
+  /*! \brief
+    Assigns to \p *this the result of applying the BGP99 heuristics
+    to \p *this and \p y, using the widening function \p widen_fun.
+  */
+  template <typename Widening>
+  void BGP99_heuristics_assign(const Pointset_Powerset& y, Widening widen_fun);
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>
-::strictly_contains(const Partially_Reduced_Product& y) const {
-  reduce();
-  y.reduce();
-  return (d1.contains(y.d1) && d2.strictly_contains(y.d2))
-    || (d2.contains(y.d2) && d1.strictly_contains(y.d1));
-}
+  //! Records in \p cert_ms the certificates for this set of disjuncts.
+  template <typename Cert>
+  void collect_certificates(std::map<Cert, size_type,
+			             typename Cert::Compare>& cert_ms) const;
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::reduce() const {
-  Partially_Reduced_Product& dp
-    = const_cast<Partially_Reduced_Product&>(*this);
-  if (dp.is_reduced())
-    return false;
-  R r;
-  r.product_reduce(dp.d1, dp.d2);
-  set_reduced_flag();
-  return true;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the current set of disjuncts
+    is stabilizing with respect to the multiset of certificates \p y_cert_ms.
+  */
+  template <typename Cert>
+  bool is_cert_multiset_stabilizing(const std::map<Cert, size_type,
+                                                   typename Cert::Compare>&
+				    y_cert_ms) const;
 
-template <typename D1, typename D2, typename R>
-inline bool
-Partially_Reduced_Product<D1, D2, R>::is_reduced() const {
-  return reduced;
-}
+  // FIXME: here it should be enough to befriend the template constructor
+  // template <typename QH>
+  // Pointset_Powerset(const Pointset_Powerset<QH>&),
+  // but, apparently, this cannot be done.
+  friend class Pointset_Powerset<NNC_Polyhedron>;
+};
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::clear_reduced_flag() const {
-  const_cast<Partially_Reduced_Product&>(*this).reduced = false;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::set_reduced_flag() const {
-  const_cast<Partially_Reduced_Product&>(*this).reduced = true;
-}
+//! Swaps \p x with \p y.
+/*! \relates Pointset_Powerset */
+template <typename PSET>
+void swap(Pointset_Powerset<PSET>& x, Pointset_Powerset<PSET>& y);
 
-PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(D1, D2, R, Partially_Reduced_Product)
+//! Partitions \p q with respect to \p p.
+/*! \relates Pointset_Powerset
+  Let \p p and \p q be two polyhedra.
+  The function returns an object <CODE>r</CODE> of type
+  <CODE>std::pair\<PSET, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
+  such that
+  - <CODE>r.first</CODE> is the intersection of \p p and \p q;
+  - <CODE>r.second</CODE> has the property that all its elements are
+    pairwise disjoint and disjoint from \p p;
+  - the set-theoretical union of <CODE>r.first</CODE> with all the
+    elements of <CODE>r.second</CODE> gives \p q (i.e., <CODE>r</CODE>
+    is the representation of a partition of \p q).
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>::ascii_dump(std::ostream& s) const {
-  const char yes = '+';
-  const char no = '-';
-  s << "Partially_Reduced_Product\n";
-  s << (reduced ? yes : no) << "reduced\n";
-  s << "Domain 1:\n";
-  d1.ascii_dump(s);
-  s << "Domain 2:\n";
-  d2.ascii_dump(s);
-}
+  \if Include_Implementation_Details
 
-template <typename D1, typename D2, typename R>
-inline int32_t
-Partially_Reduced_Product<D1, D2, R>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
+  See
+  <A HREF="http://bugseng.com/products/ppl/Documentation/bibliography#Srivastava93">
+  this paper</A> for more information about the implementation.
+  \endif
+*/
+template <typename PSET>
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q);
 
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-template <typename D1, typename D2, typename R>
-inline bool
-operator==(const Partially_Reduced_Product<D1, D2, R>& x,
-	   const Partially_Reduced_Product<D1, D2, R>& y) {
-  x.reduce();
-  y.reduce();
-  return x.d1 == y.d1 && x.d2 == y.d2;
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the union of
+  the NNC polyhedra in \p ps contains the NNC polyhedron \p ph.
 
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-template <typename D1, typename D2, typename R>
-inline bool
-operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
-	   const Partially_Reduced_Product<D1, D2, R>& y) {
-  return !(x == y);
-}
+  \relates Pointset_Powerset
+*/
+bool
+check_containment(const NNC_Polyhedron& ph,
+		  const Pointset_Powerset<NNC_Polyhedron>& ps);
 
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-template <typename D1, typename D2, typename R>
-inline std::ostream&
-IO_Operators::operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& pd) {
-  return s << "Domain 1:\n"
-	   << pd.d1
-	   << "Domain 2:\n"
-	   << pd.d2;
-}
 
-} // namespace Parma_Polyhedra_Library
+/*! \brief
+  Partitions the grid \p q with respect to grid \p p if and only if
+  such a partition is finite.
 
-namespace Parma_Polyhedra_Library {
+  \relates Parma_Polyhedra_Library::Pointset_Powerset
+  Let \p p and \p q be two grids.
+  The function returns an object <CODE>r</CODE> of type
+  <CODE>std::pair\<PSET, Pointset_Powerset\<Grid\> \></CODE>
+  such that
+  - <CODE>r.first</CODE> is the intersection of \p p and \p q;
+  - If there is a finite partition of \p q with respect to \p p
+    the Boolean <CODE>finite_partition</CODE> is set to true and
+    <CODE>r.second</CODE> has the property that all its elements are
+    pairwise disjoint and disjoint from \p p and the set-theoretical
+    union of <CODE>r.first</CODE> with all the elements of
+    <CODE>r.second</CODE> gives \p q (i.e., <CODE>r</CODE>
+    is the representation of a partition of \p q).
+  - Otherwise the Boolean <CODE>finite_partition</CODE> is set to false
+    and the singleton set that contains \p q is stored in
+    <CODE>r.second</CODE>r.
+*/
+std::pair<Grid, Pointset_Powerset<Grid> >
+approximate_partition(const Grid& p, const Grid& q, bool& finite_partition);
 
-template <typename D1, typename D2>
-inline
-No_Reduction<D1, D2>::No_Reduction() {
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the union of
+  the grids \p ps contains the grid \p g.
 
-template <typename D1, typename D2>
-void No_Reduction<D1, D2>::product_reduce(D1&, D2&) {
-}
+  \relates Pointset_Powerset
+*/
+bool
+check_containment(const Grid& ph,
+		  const Pointset_Powerset<Grid>& ps);
 
-template <typename D1, typename D2>
-inline
-No_Reduction<D1, D2>::~No_Reduction() {
-}
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the union of
+  the objects in \p ps contains \p ph.
 
-template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::Smash_Reduction() {
-}
+  \relates Pointset_Powerset
+  \note
+  It is assumed that the template parameter PSET can be converted
+  without precision loss into an NNC_Polyhedron; otherwise,
+  an incorrect result might be obtained.
+*/
+template <typename PSET>
+bool
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps);
 
-template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::~Smash_Reduction() {
-}
+// CHECKME: according to the Intel compiler, the declaration of the
+// following specialization (of the class template parameter) should come
+// before the declaration of the corresponding full specialization
+// (where the member template parameter is specialized too).
+template <>
+template <typename QH>
+Pointset_Powerset<NNC_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<QH>& y,
+                    Complexity_Class);
 
-template <typename D1, typename D2>
-inline
-Constraints_Reduction<D1, D2>::Constraints_Reduction() {
-}
+// Non-inline full specializations should be declared here
+// so as to inhibit multiple instantiations of the generic template.
+template <>
+template <>
+Pointset_Powerset<NNC_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<C_Polyhedron>& y,
+                    Complexity_Class);
 
-template <typename D1, typename D2>
-inline
-Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
-}
+template <>
+template <>
+Pointset_Powerset<NNC_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<Grid>& y,
+                    Complexity_Class);
 
-template <typename D1, typename D2>
-inline
-Congruences_Reduction<D1, D2>::Congruences_Reduction() {
-}
+template <>
+template <>
+Pointset_Powerset<C_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<NNC_Polyhedron>& y,
+                    Complexity_Class);
+
+template <>
+void
+Pointset_Powerset<NNC_Polyhedron>
+::difference_assign(const Pointset_Powerset& y);
 
-template <typename D1, typename D2>
-inline
-Congruences_Reduction<D1, D2>::~Congruences_Reduction() {
-}
+template <>
+void
+Pointset_Powerset<Grid>
+::difference_assign(const Pointset_Powerset& y);
 
-template <typename D1, typename D2>
-inline
-Shape_Preserving_Reduction<D1, D2>::Shape_Preserving_Reduction() {
-}
+template <>
+bool
+Pointset_Powerset<NNC_Polyhedron>
+::geometrically_covers(const Pointset_Powerset& y) const;
 
-template <typename D1, typename D2>
-inline
-Shape_Preserving_Reduction<D1, D2>::~Shape_Preserving_Reduction() {
-}
+template <>
+bool
+Pointset_Powerset<Grid>
+::geometrically_covers(const Pointset_Powerset& y) const;
 
 } // namespace Parma_Polyhedra_Library
 
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-template <typename D1, typename D2, typename R>
-inline void
-std::swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& y) {
-  x.swap(y);
-}
-
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.templates.hh line 1. */
-/* Partially_Reduced_Product class implementation:
-   non-inline template functions.
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 1. */
+/* Pointset_Powerset class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.templates.hh line 31. */
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 35. */
 #include <algorithm>
 #include <deque>
 
 namespace Parma_Polyhedra_Library {
 
-template <typename D1, typename D2, typename R>
-Constraint_System
-Partially_Reduced_Product<D1, D2, R>::constraints() const {
-  reduce();
-  Constraint_System cs = d2.constraints();
-  const Constraint_System& cs1 = d1.constraints();
-  for (Constraint_System::const_iterator i = cs1.begin(),
-	 cs_end = cs1.end(); i != cs_end; ++i)
-    cs.insert(*i);
-  return cs;
+template <typename PSET>
+inline dimension_type
+Pointset_Powerset<PSET>::space_dimension() const {
+  return space_dim;
 }
 
-template <typename D1, typename D2, typename R>
-Constraint_System
-Partially_Reduced_Product<D1, D2, R>::minimized_constraints() const {
-  reduce();
-  Constraint_System cs = d2.constraints();
-  const Constraint_System& cs1 = d1.constraints();
-  for (Constraint_System::const_iterator i = cs1.begin(),
-	 cs_end = cs1.end(); i != cs_end; ++i)
-    cs.insert(*i);
-  if (cs.has_strict_inequalities()) {
-    NNC_Polyhedron ph(cs);
-    return ph.minimized_constraints();
-  }
-  else {
-    C_Polyhedron ph(cs);
-    return ph.minimized_constraints();
-  }
+template <typename PSET>
+inline dimension_type
+Pointset_Powerset<PSET>::max_space_dimension() {
+  return PSET::max_space_dimension();
 }
 
-template <typename D1, typename D2, typename R>
-Congruence_System
-Partially_Reduced_Product<D1, D2, R>::congruences() const {
-  reduce();
-  Congruence_System cgs = d2.congruences();
-  const Congruence_System& cgs1 = d1.congruences();
-  for (Congruence_System::const_iterator i = cgs1.begin(),
-	 cgs_end = cgs1.end(); i != cgs_end; ++i)
-    cgs.insert(*i);
-  return cgs;
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(dimension_type num_dimensions,
+					   Degenerate_Element kind)
+  : Base(), space_dim(num_dimensions) {
+  Pointset_Powerset& x = *this;
+  if (kind == UNIVERSE)
+    x.sequence.push_back(Determinate<PSET>(PSET(num_dimensions, kind)));
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename D1, typename D2, typename R>
-Congruence_System
-Partially_Reduced_Product<D1, D2, R>::minimized_congruences() const {
-  reduce();
-  Congruence_System cgs = d2.congruences();
-  const Congruence_System& cgs1 = d1.congruences();
-  for (Congruence_System::const_iterator i = cgs1.begin(),
-	 cgs_end = cgs1.end(); i != cgs_end; ++i)
-    cgs.insert(*i);
-  Grid gr(cgs);
-  return gr.minimized_congruences();
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const Pointset_Powerset& y,
+					   Complexity_Class)
+  : Base(y), space_dim(y.space_dim) {
 }
 
-template <typename D1, typename D2, typename R>
-void
-Partially_Reduced_Product<D1, D2, R>
-::add_recycled_constraints(Constraint_System& cs) {
-  if (d1.can_recycle_constraint_systems()) {
-    d2.refine_with_constraints(cs);
-    d1.add_recycled_constraints(cs);
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const C_Polyhedron& ph,
+					   Complexity_Class complexity)
+  : Base(), space_dim(ph.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (complexity == ANY_COMPLEXITY) {
+    if (ph.is_empty())
+      return;
   }
   else
-    if (d2.can_recycle_constraint_systems()) {
-      d1.refine_with_constraints(cs);
-      d2.add_recycled_constraints(cs);
-    }
-    else {
-      d1.add_constraints(cs);
-      d2.add_constraints(cs);
-    }
-  clear_reduced_flag();
+    x.reduced = false;
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename D1, typename D2, typename R>
-void
-Partially_Reduced_Product<D1, D2, R>
-::add_recycled_congruences(Congruence_System& cgs) {
-  if (d1.can_recycle_congruence_systems()) {
-    d2.refine_with_congruences(cgs);
-    d1.add_recycled_congruences(cgs);
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const NNC_Polyhedron& ph,
+					   Complexity_Class complexity)
+  : Base(), space_dim(ph.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (complexity == ANY_COMPLEXITY) {
+    if (ph.is_empty())
+      return;
   }
   else
-    if (d2.can_recycle_congruence_systems()) {
-      d1.refine_with_congruences(cgs);
-      d2.add_recycled_congruences(cgs);
-    }
-    else {
-      d1.add_congruences(cgs);
-      d2.add_congruences(cgs);
-    }
-  clear_reduced_flag();
+    x.reduced = false;
+  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename D1, typename D2, typename R>
-Poly_Gen_Relation
-Partially_Reduced_Product<D1, D2, R>
-::relation_with(const Generator& g) const {
-  reduce();
-  if (Poly_Gen_Relation::nothing() == d1.relation_with(g)
-      || Poly_Gen_Relation::nothing() == d2.relation_with(g))
-    return Poly_Gen_Relation::nothing();
-  else
-    return Poly_Gen_Relation::subsumes();
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const Grid& gr,
+					   Complexity_Class)
+  : Base(), space_dim(gr.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (!gr.is_empty()) {
+    x.sequence.push_back(Determinate<PSET>(PSET(gr)));
+  }
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename D1, typename D2, typename R>
-Poly_Con_Relation
-Partially_Reduced_Product<D1, D2, R>
-::relation_with(const Constraint& c) const {
-  reduce();
-  Poly_Con_Relation relation1 = d1.relation_with(c);
-  Poly_Con_Relation relation2 = d2.relation_with(c);
-
-  Poly_Con_Relation result = Poly_Con_Relation::nothing();
+template <typename PSET>
+template <typename QH1, typename QH2, typename R>
+inline
+Pointset_Powerset<PSET>
+::Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
+                    Complexity_Class complexity)
+  : Base(), space_dim(prp.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (complexity == ANY_COMPLEXITY) {
+    if (prp.is_empty())
+      return;
+  }
+  else
+    x.reduced = false;
+  x.sequence.push_back(Determinate<PSET>(PSET(prp, complexity)));
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  if (relation1.implies(Poly_Con_Relation::is_included()))
-    result = result && Poly_Con_Relation::is_included();
-  else if (relation2.implies(Poly_Con_Relation::is_included()))
-    result = result && Poly_Con_Relation::is_included();
-  if (relation1.implies(Poly_Con_Relation::saturates()))
-    result = result && Poly_Con_Relation::saturates();
-  else if (relation2.implies(Poly_Con_Relation::saturates()))
-    result = result && Poly_Con_Relation::saturates();
-  if (relation1.implies(Poly_Con_Relation::is_disjoint()))
-    result = result && Poly_Con_Relation::is_disjoint();
-  else if (relation2.implies(Poly_Con_Relation::is_disjoint()))
-    result = result && Poly_Con_Relation::is_disjoint();
+template <typename PSET>
+template <typename Interval>
+Pointset_Powerset<PSET>::Pointset_Powerset(const Box<Interval>& box,
+					   Complexity_Class)
+  : Base(), space_dim(box.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (!box.is_empty())
+    x.sequence.push_back(Determinate<PSET>(PSET(box)));
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  return result;
+template <typename PSET>
+template <typename T>
+Pointset_Powerset<PSET>::Pointset_Powerset(const Octagonal_Shape<T>& os,
+					   Complexity_Class)
+  : Base(), space_dim(os.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (!os.is_empty())
+    x.sequence.push_back(Determinate<PSET>(PSET(os)));
+  PPL_ASSERT_HEAVY(OK());
 }
 
-template <typename D1, typename D2, typename R>
-Poly_Con_Relation
-Partially_Reduced_Product<D1, D2, R>
-::relation_with(const Congruence& cg) const {
-  reduce();
-  Poly_Con_Relation relation1 = d1.relation_with(cg);
-  Poly_Con_Relation relation2 = d2.relation_with(cg);
+template <typename PSET>
+template <typename T>
+Pointset_Powerset<PSET>::Pointset_Powerset(const BD_Shape<T>& bds,
+					   Complexity_Class)
+  : Base(), space_dim(bds.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  if (!bds.is_empty())
+    x.sequence.push_back(Determinate<PSET>(PSET(bds)));
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  Poly_Con_Relation result = Poly_Con_Relation::nothing();
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const Constraint_System& cs)
+  : Base(Determinate<PSET>(cs)), space_dim(cs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  if (relation1.implies(Poly_Con_Relation::is_included()))
-    result = result && Poly_Con_Relation::is_included();
-  else if (relation2.implies(Poly_Con_Relation::is_included()))
-    result = result && Poly_Con_Relation::is_included();
-  if (relation1.implies(Poly_Con_Relation::saturates()))
-    result = result && Poly_Con_Relation::saturates();
-  else if (relation2.implies(Poly_Con_Relation::saturates()))
-    result = result && Poly_Con_Relation::saturates();
-  if (relation1.implies(Poly_Con_Relation::is_disjoint()))
-    result = result && Poly_Con_Relation::is_disjoint();
-  else if (relation2.implies(Poly_Con_Relation::is_disjoint()))
-    result = result && Poly_Con_Relation::is_disjoint();
+template <typename PSET>
+inline
+Pointset_Powerset<PSET>::Pointset_Powerset(const Congruence_System& cgs)
+  : Base(Determinate<PSET>(cgs)), space_dim(cgs.space_dimension()) {
+  PPL_ASSERT_HEAVY(OK());
+}
 
-  return result;
+template <typename PSET>
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
+  x.Base::operator=(y);
+  x.space_dim = y.space_dim;
+  return x;
 }
 
-template <typename D1, typename D2, typename R>
-bool
-Partially_Reduced_Product<D1, D2, R>
-::maximize(const Linear_Expression& expr,
-	   Coefficient& sup_n,
-	   Coefficient& sup_d,
-	   bool& maximum) const {
-  reduce();
+template <typename PSET>
+inline void
+Pointset_Powerset<PSET>::m_swap(Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
+  x.Base::m_swap(y);
+  using std::swap;
+  swap(x.space_dim, y.space_dim);
+}
 
-  if (is_empty())
-    return false;
+template <typename PSET>
+template <typename QH>
+inline Pointset_Powerset<PSET>&
+Pointset_Powerset<PSET>::operator=(const Pointset_Powerset<QH>& y) {
+  Pointset_Powerset& x = *this;
+  Pointset_Powerset<PSET> ps(y);
+  swap(x, ps);
+  return x;
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup2_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup2_d);
-  bool maximum1;
-  bool maximum2;
-  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1);
-  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2);
-  // If neither is bounded from above, return false.
-  if (!r1 && !r2)
-    return false;
-  // If only d2 is bounded from above, then use the values for d2.
-  if (!r1) {
-    sup_n = sup2_n;
-    sup_d = sup2_d;
-    maximum = maximum2;
-    return true;
-  }
-  // If only d1 is bounded from above, then use the values for d1.
-  if (!r2) {
-    sup_n = sup1_n;
-    sup_d = sup1_d;
-    maximum = maximum1;
-    return true;
-  }
-  // If both d1 and d2 are bounded from above, then use the minimum values.
-  if (sup2_d * sup1_n >= sup1_d * sup2_n) {
-    sup_n = sup1_n;
-    sup_d = sup1_d;
-    maximum = maximum1;
-  }
-  else {
-    sup_n = sup2_n;
-    sup_d = sup2_d;
-    maximum = maximum2;
-  }
-  return true;
- }
+template <typename PSET>
+inline void
+Pointset_Powerset<PSET>::intersection_assign(const Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
+  x.pairwise_apply_assign
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::intersection_assign)));
+}
 
-template <typename D1, typename D2, typename R>
-bool
-Partially_Reduced_Product<D1, D2, R>
-::minimize(const Linear_Expression& expr,
-	   Coefficient& inf_n,
-	   Coefficient& inf_d,
-	   bool& minimum) const {
-  reduce();
+template <typename PSET>
+inline void
+Pointset_Powerset<PSET>::time_elapse_assign(const Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
+  x.pairwise_apply_assign
+    (y,
+     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::time_elapse_assign)));
+}
 
-  if (is_empty())
-    return false;
-  PPL_ASSERT(reduced);
+template <typename PSET>
+inline bool
+Pointset_Powerset<PSET>
+::geometrically_covers(const Pointset_Powerset& y) const {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
+  const Pointset_Powerset<NNC_Polyhedron> xx(*this);
+  const Pointset_Powerset<NNC_Polyhedron> yy(y);
+  return xx.geometrically_covers(yy);
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf2_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf2_d);
-  bool minimum1;
-  bool minimum2;
-  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1);
-  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2);
-  // If neither is bounded from below, return false.
-  if (!r1 && !r2)
-    return false;
-  // If only d2 is bounded from below, then use the values for d2.
-  if (!r1) {
-    inf_n = inf2_n;
-    inf_d = inf2_d;
-    minimum = minimum2;
-    return true;
-  }
-  // If only d1 is bounded from below, then use the values for d1.
-  if (!r2) {
-    inf_n = inf1_n;
-    inf_d = inf1_d;
-    minimum = minimum1;
-    return true;
-  }
-  // If both d1 and d2 are bounded from below, then use the minimum values.
-  if (inf2_d * inf1_n <= inf1_d * inf2_n) {
-    inf_n = inf1_n;
-    inf_d = inf1_d;
-    minimum = minimum1;
-  }
-  else {
-    inf_n = inf2_n;
-    inf_d = inf2_d;
-    minimum = minimum2;
-  }
-  return true;
- }
+template <typename PSET>
+inline bool
+Pointset_Powerset<PSET>
+::geometrically_equals(const Pointset_Powerset& y) const {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
+  const Pointset_Powerset<NNC_Polyhedron> xx(*this);
+  const Pointset_Powerset<NNC_Polyhedron> yy(y);
+  return xx.geometrically_covers(yy) && yy.geometrically_covers(xx);
+}
 
-template <typename D1, typename D2, typename R>
-bool
-Partially_Reduced_Product<D1, D2, R>
-::maximize(const Linear_Expression& expr,
-	   Coefficient& sup_n,
-	   Coefficient& sup_d,
-	   bool& maximum,
-	   Generator& pnt) const {
-  reduce();
+template <>
+inline bool
+Pointset_Powerset<Grid>
+::geometrically_equals(const Pointset_Powerset& y) const {
+  const Pointset_Powerset& x = *this;
+  return x.geometrically_covers(y) && y.geometrically_covers(x);
+}
 
-  if (is_empty())
-    return false;
-  PPL_ASSERT(reduced);
+template <>
+inline bool
+Pointset_Powerset<NNC_Polyhedron>
+::geometrically_equals(const Pointset_Powerset& y) const {
+  const Pointset_Powerset& x = *this;
+  return x.geometrically_covers(y) && y.geometrically_covers(x);
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(sup1_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup1_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup2_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(sup2_d);
-  bool maximum1;
-  bool maximum2;
-  Generator pnt1(point());
-  Generator pnt2(point());
-  bool r1 = d1.maximize(expr, sup1_n, sup1_d, maximum1, pnt1);
-  bool r2 = d2.maximize(expr, sup2_n, sup2_d, maximum2, pnt2);
-  // If neither is bounded from above, return false.
-  if (!r1 && !r2)
-    return false;
-  // If only d2 is bounded from above, then use the values for d2.
-  if (!r1) {
-    sup_n = sup2_n;
-    sup_d = sup2_d;
-    maximum = maximum2;
-    pnt = pnt2;
-    return true;
-  }
-  // If only d1 is bounded from above, then use the values for d1.
-  if (!r2) {
-    sup_n = sup1_n;
-    sup_d = sup1_d;
-    maximum = maximum1;
-    pnt = pnt1;
-    return true;
-  }
-  // If both d1 and d2 are bounded from above, then use the minimum values.
-  if (sup2_d * sup1_n >= sup1_d * sup2_n) {
-    sup_n = sup1_n;
-    sup_d = sup1_d;
-    maximum = maximum1;
-    pnt = pnt1;
-  }
-  else {
-    sup_n = sup2_n;
-    sup_d = sup2_d;
-    maximum = maximum2;
-    pnt = pnt2;
-  }
-  return true;
- }
+template <typename PSET>
+inline memory_size_type
+Pointset_Powerset<PSET>::external_memory_in_bytes() const {
+  return Base::external_memory_in_bytes();
+}
 
-template <typename D1, typename D2, typename R>
-bool
-Partially_Reduced_Product<D1, D2, R>
-::minimize(const Linear_Expression& expr,
-	   Coefficient& inf_n,
-	   Coefficient& inf_d,
-	   bool& minimum,
-	   Generator& pnt) const {
-  reduce();
+template <typename PSET>
+inline memory_size_type
+Pointset_Powerset<PSET>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  if (is_empty())
-    return false;
-  PPL_ASSERT(reduced);
+template <typename PSET>
+inline int32_t
+Pointset_Powerset<PSET>::hash_code() const {
+  return hash_code_from_dimension(space_dimension());
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inf1_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf1_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf2_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inf2_d);
-  bool minimum1;
-  bool minimum2;
-  Generator pnt1(point());
-  Generator pnt2(point());
-  bool r1 = d1.minimize(expr, inf1_n, inf1_d, minimum1, pnt1);
-  bool r2 = d2.minimize(expr, inf2_n, inf2_d, minimum2, pnt2);
-  // If neither is bounded from below, return false.
-  if (!r1 && !r2)
-    return false;
-  // If only d2 is bounded from below, then use the values for d2.
-  if (!r1) {
-    inf_n = inf2_n;
-    inf_d = inf2_d;
-    minimum = minimum2;
-    pnt = pnt2;
-    return true;
-  }
-  // If only d1 is bounded from below, then use the values for d1.
-  if (!r2) {
-    inf_n = inf1_n;
-    inf_d = inf1_d;
-    minimum = minimum1;
-    pnt = pnt1;
-    return true;
-  }
-  // If both d1 and d2 are bounded from below, then use the minimum values.
-  if (inf2_d * inf1_n <= inf1_d * inf2_n) {
-    inf_n = inf1_n;
-    inf_d = inf1_d;
-    minimum = minimum1;
-    pnt = pnt1;
-  }
-  else {
-    inf_n = inf2_n;
-    inf_d = inf2_d;
-    minimum = minimum2;
-    pnt = pnt2;
-  }
-  return true;
- }
+template <typename PSET>
+inline void
+Pointset_Powerset<PSET>
+::difference_assign(const Pointset_Powerset& y) {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
+  Pointset_Powerset<NNC_Polyhedron> nnc_this(*this);
+  Pointset_Powerset<NNC_Polyhedron> nnc_y(y);
+  nnc_this.difference_assign(nnc_y);
+  *this = nnc_this;
+}
 
-template <typename D1, typename D2, typename R>
+/*! \relates Pointset_Powerset */
+template <typename PSET>
 inline bool
-Partially_Reduced_Product<D1, D2, R>::OK() const {
-  if (reduced) {
-    Partially_Reduced_Product<D1, D2, R> pd1 = *this;
-    Partially_Reduced_Product<D1, D2, R> pd2 = *this;
-    /* Force pd1 reduction */
-    pd1.clear_reduced_flag();
-    pd1.reduce();
-    if (pd1 != pd2)
-      return false;
-  }
-  return d1.OK() && d2.OK();
+check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps) {
+  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
+  const NNC_Polyhedron ph_nnc = NNC_Polyhedron(ph.constraints());
+  const Pointset_Powerset<NNC_Polyhedron> ps_nnc(ps);
+  return check_containment(ph_nnc, ps_nnc);
 }
 
-template <typename D1, typename D2, typename R>
-bool
-Partially_Reduced_Product<D1, D2, R>::ascii_load(std::istream& s) {
-  const char yes = '+';
-  const char no = '-';
-  std::string str;
-  if (!(s >> str) || str != "Partially_Reduced_Product")
-    return false;
-  if (!(s >> str)
-      || (str[0] != yes && str[0] != no)
-      || str.substr(1) != "reduced")
-    return false;
-  reduced = (str[0] == yes);
-  return ((s >> str) && str == "Domain"
-          && (s >> str) && str == "1:"
-	  && d1.ascii_load(s)
-	  && (s >> str) && str == "Domain"
-	  && (s >> str) && str == "2:"
-	  && d2.ascii_load(s));
+/*! \relates Pointset_Powerset */
+template <>
+inline bool
+check_containment(const C_Polyhedron& ph,
+		  const Pointset_Powerset<C_Polyhedron>& ps) {
+  return check_containment(NNC_Polyhedron(ph),
+			   Pointset_Powerset<NNC_Polyhedron>(ps));
 }
 
-template <typename D1, typename D2>
-void Smash_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
-  if (d2.is_empty()) {
-    if (!d1.is_empty()) {
-      D1 new_d1(d1.space_dimension(), EMPTY);
-      std::swap(d1, new_d1);
-    }
-  }
-  else if (d1.is_empty()) {
-    D2 new_d2(d2.space_dimension(), EMPTY);
-    std::swap(d2, new_d2);
-  }
+/*! \relates Pointset_Powerset */
+template <typename PSET>
+inline void
+swap(Pointset_Powerset<PSET>& x, Pointset_Powerset<PSET>& y) {
+  x.m_swap(y);
 }
 
-template <typename D1, typename D2>
-void Constraints_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
-  if (d1.is_empty() || d2.is_empty()) {
-    // If one of the components is empty, do the smash reduction and return.
-    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
-    sr.product_reduce(d1, d2);
-    return;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.templates.hh line 1. */
+/* Pointset_Powerset class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.templates.hh line 33. */
+#include <algorithm>
+#include <deque>
+#include <string>
+#include <iostream>
+#include <sstream>
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_disjunct(const PSET& ph) {
+  Pointset_Powerset& x = *this;
+  if (x.space_dimension() != ph.space_dimension()) {
+    std::ostringstream s;
+    s << "PPL::Pointset_Powerset<PSET>::add_disjunct(ph):\n"
+      << "this->space_dimension() == " << x.space_dimension() << ", "
+      << "ph.space_dimension() == " << ph.space_dimension() << ".";
+    throw std::invalid_argument(s.str());
   }
-  else {
-    dimension_type space_dim = d1.space_dimension();
-    d1.refine_with_constraints(d2.minimized_constraints());
-    if (d1.is_empty()) {
-      D2 new_d2(space_dim, EMPTY);
-      std::swap(d2, new_d2);
-      return;
+  x.sequence.push_back(Determinate<PSET>(ph));
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <>
+template <typename QH>
+Pointset_Powerset<NNC_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<QH>& y,
+                    Complexity_Class complexity)
+  : Base(), space_dim(y.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
+	 y_end = y.end(); i != y_end; ++i)
+    x.sequence.push_back(Determinate<NNC_Polyhedron>
+			 (NNC_Polyhedron(i->pointset(), complexity)));
+
+  // FIXME: If the domain elements can be represented _exactly_ as NNC
+  // polyhedra, then having x.reduced = y.reduced is correct. This is
+  // the case if the domains are both linear and convex which holds
+  // for all the currently supported instantiations except for
+  // Grids; for this reason the Grid specialization has a
+  // separate implementation.  For any non-linear or non-convex
+  // domains (e.g., a domain of Intervals with restrictions or a
+  // domain of circles) that may be supported in the future, the
+  // assignment x.reduced = y.reduced will be a bug.
+  x.reduced = y.reduced;
+
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+template <typename QH>
+Pointset_Powerset<PSET>
+::Pointset_Powerset(const Pointset_Powerset<QH>& y,
+                    Complexity_Class complexity)
+  : Base(), space_dim(y.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
+	 y_end = y.end(); i != y_end; ++i)
+    x.sequence.push_back(Determinate<PSET>(PSET(i->pointset(), complexity)));
+  // Note: this might be non-reduced even when `y' is known to be
+  // omega-reduced, because the constructor of PSET may have made
+  // different QH elements to become comparable.
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::concatenate_assign(const Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
+  // Ensure omega-reduction here, since what follows has quadratic complexity.
+  x.omega_reduce();
+  y.omega_reduce();
+  Pointset_Powerset<PSET> new_x(x.space_dim + y.space_dim, EMPTY);
+  for (const_iterator xi = x.begin(), x_end = x.end(),
+	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ) {
+    for (const_iterator yi = y_begin; yi != y_end; ++yi) {
+      Det_PSET zi = *xi;
+      zi.concatenate_assign(*yi);
+      PPL_ASSERT_HEAVY(!zi.is_bottom());
+      new_x.sequence.push_back(zi);
     }
-    d2.refine_with_constraints(d1.minimized_constraints());
-    if (d2.is_empty()) {
-      D1 new_d1(space_dim, EMPTY);
-      std::swap(d1, new_d1);
+    ++xi;
+    if ((abandon_expensive_computations != 0)
+        && (xi != x_end) && (y_begin != y_end)) {
+      // Hurry up!
+      PSET x_ph = xi->pointset();
+      for (++xi; xi != x_end; ++xi)
+	x_ph.upper_bound_assign(xi->pointset());
+      const_iterator yi = y_begin;
+      PSET y_ph = yi->pointset();
+      for (++yi; yi != y_end; ++yi)
+	y_ph.upper_bound_assign(yi->pointset());
+      x_ph.concatenate_assign(y_ph);
+      swap(x, new_x);
+      x.add_disjunct(x_ph);
+      PPL_ASSERT_HEAVY(x.OK());
+      return;
     }
   }
+  swap(x, new_x);
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-/* Auxiliary procedure for the Congruences_Reduction() method.
-   If more than one hyperplane defined by congruence cg intersect
-   d2, then d1 and d2 are unchanged; if exactly one intersects d2, then
-   the corresponding equality is added to d1 and d2;
-   otherwise d1 and d2 are set empty. */
-template <typename D1, typename D2>
-bool shrink_to_congruence_no_check(D1& d1, D2& d2, const Congruence& cg) {
-  // It is assumed that cg is a proper congruence.
-  PPL_ASSERT(cg.modulus() != 0);
-  // It is assumed that cg is satisfied by all points in d1.
-  PPL_ASSERT(d1.relation_with(cg) == Poly_Con_Relation::is_included());
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_constraint(const Constraint& c) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_constraint(c);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  // Build the linear expression for the congruence cg.
-  Linear_Expression e;
-  for (dimension_type i = cg.space_dimension(); i-- > 0; )
-    e += cg.coefficient(Variable(i)) * Variable(i);
-  e += cg.inhomogeneous_term();
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::refine_with_constraint(const Constraint& c) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().refine_with_constraint(c);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  // Find the maximum and minimum bounds for the domain element d with the
-  // linear expression e.
-  PPL_DIRTY_TEMP_COEFFICIENT(max_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(max_den);
-  bool max_included;
-  PPL_DIRTY_TEMP_COEFFICIENT(min_num);
-  PPL_DIRTY_TEMP_COEFFICIENT(min_den);
-  bool min_included;
-  if (d2.maximize(e, max_num, max_den, max_included)) {
-    if (d2.minimize(e, min_num, min_den, min_included)) {
-      // Adjust values to allow for the denominators max_den and min_den.
-      max_num *= min_den;
-      min_num *= max_den;
-      PPL_DIRTY_TEMP_COEFFICIENT(den);
-      PPL_DIRTY_TEMP_COEFFICIENT(mod);
-      den = max_den * min_den;
-      mod = cg.modulus() * den;
-      // If the difference between the maximum and minimum bounds is more than
-      // twice the modulus, then there will be two neighboring hyperplanes
-      // defined by cg that are intersected by the domain element d;
-      // there is no possible reduction in this case.
-      PPL_DIRTY_TEMP_COEFFICIENT(mod2);
-      mod2 = 2 * mod;
-      if (max_num - min_num < mod2
-          || (max_num - min_num == mod2 && (!max_included || !min_included)))
-        {
-          PPL_DIRTY_TEMP_COEFFICIENT(shrink_amount);
-          PPL_DIRTY_TEMP_COEFFICIENT(max_decreased);
-          PPL_DIRTY_TEMP_COEFFICIENT(min_increased);
-          // Find the amount by which the maximum value may be decreased.
-          shrink_amount = max_num % mod;
-          if (!max_included && shrink_amount == 0)
-            shrink_amount = mod;
-          if (shrink_amount < 0)
-            shrink_amount += mod;
-          max_decreased = max_num - shrink_amount;
-          // Find the amount by which the minimum value may be increased.
-          shrink_amount = min_num % mod;
-          if (!min_included && shrink_amount == 0)
-            shrink_amount = - mod;
-          if (shrink_amount > 0)
-            shrink_amount -= mod;
-          min_increased = min_num - shrink_amount;
-          if (max_decreased == min_increased) {
-            // The domain element d2 intersects exactly one hyperplane
-            // defined by cg, so add the equality to d1 and d2.
-            Constraint new_c(den * e == min_increased);
-            d1.refine_with_constraint(new_c);
-            d2.refine_with_constraint(new_c);
-            return true;
-          }
-          else {
-            if (max_decreased < min_increased) {
-              // In this case, d intersects no hyperplanes defined by cg,
-              // so set d to empty and return false.
-              D1 new_d1(d1.space_dimension(), EMPTY);
-              std::swap(d1, new_d1);
-              D2 new_d2(d2.space_dimension(), EMPTY);
-              std::swap(d2, new_d2);
-              return false;
-            }
-          }
-        }
-    }
-  }
-  return true;
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_constraints(const Constraint_System& cs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_constraints(cs);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename D1, typename D2>
+template <typename PSET>
 void
-  Congruences_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
-  if (d1.is_empty() || d2.is_empty()) {
-    // If one of the components is empty, do the smash reduction and return.
-    Parma_Polyhedra_Library::Smash_Reduction<D1, D2> sr;
-    sr.product_reduce(d1, d2);
-    return;
-  }
-  // Use the congruences representing d1 to shrink both components.
-  const Congruence_System cgs1 = d1.minimized_congruences();
-  for (Congruence_System::const_iterator i = cgs1.begin(),
-         cgs_end = cgs1.end(); i != cgs_end; ++i) {
-    const Congruence& cg1 = *i;
-    if (cg1.is_equality())
-      d2.refine_with_congruence(cg1);
-    else
-      if (!Parma_Polyhedra_Library::
-          shrink_to_congruence_no_check(d1, d2, cg1))
-        // The product is empty.
-        return;
+Pointset_Powerset<PSET>::refine_with_constraints(const Constraint_System& cs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().refine_with_constraints(cs);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_congruence(const Congruence& cg) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_congruence(cg);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::refine_with_congruence(const Congruence& cg) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().refine_with_congruence(cg);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cgs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_congruences(cgs);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::refine_with_congruences(const Congruence_System& cgs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().refine_with_congruences(cgs);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::unconstrain(const Variable var) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().unconstrain(var);
+    x.reduced = false;
   }
-  // Use the congruences representing d2 to shrink both components.
-  const Congruence_System cgs2 = d2.minimized_congruences();
-  for (Congruence_System::const_iterator i = cgs2.begin(),
-         cgs_end = cgs2.end(); i != cgs_end; ++i) {
-    const Congruence& cg2 = *i;
-    if (cg2.is_equality())
-      d1.refine_with_congruence(cg2);
-    else
-      if (!Parma_Polyhedra_Library::
-          shrink_to_congruence_no_check(d2, d1, cg2))
-        // The product is empty.
-        return;
+  PPL_ASSERT_HEAVY(x.OK());
+}
+
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::unconstrain(const Variables_Set& vars) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().unconstrain(vars);
+    x.reduced = false;
   }
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-template <typename D1, typename D2>
+template <typename PSET>
 void
-  Shape_Preserving_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
-    // First do the congruences reduction.
-    Parma_Polyhedra_Library::Congruences_Reduction<D1, D2> cgr;
-    cgr.product_reduce(d1, d2);
-    if (d1.is_empty())
-      return;
+Pointset_Powerset<PSET>::add_space_dimensions_and_embed(dimension_type m) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_space_dimensions_and_embed(m);
+  x.space_dim += m;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  PPL_DIRTY_TEMP_COEFFICIENT(freq_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(freq_d);
-  PPL_DIRTY_TEMP_COEFFICIENT(val_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(val_d);
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::add_space_dimensions_and_project(dimension_type m) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().add_space_dimensions_and_project(m);
+  x.space_dim += m;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  // Use the constraints representing d2.
-  Constraint_System cs = d2.minimized_constraints();
-  Constraint_System refining_cs;
-  for (Constraint_System::const_iterator i = cs.begin(),
-         cs_end = cs.end(); i != cs_end; ++i) {
-    const Constraint& c = *i;
-    if (c.is_equality())
-      continue;
-    // Check the frequency and value of the linear expression for
-    // the constraint `c'.
-    Linear_Expression le(c);
-    if (!d1.frequency(le, freq_n, freq_d, val_n, val_d))
-      // Nothing to do.
-      continue;
-    if (val_n == 0)
-      // Nothing to do.
-      continue;
-    // Adjust the value of the inhomogeneous term to satisfy
-    // the implied congruence.
-    if (val_n < 0) {
-      val_n = val_n*freq_d + val_d*freq_n;
-      val_d *= freq_d;
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::remove_space_dimensions(const Variables_Set& vars) {
+  Pointset_Powerset& x = *this;
+  Variables_Set::size_type num_removed = vars.size();
+  if (num_removed > 0) {
+    for (Sequence_iterator si = x.sequence.begin(),
+	   s_end = x.sequence.end(); si != s_end; ++si) {
+      si->pointset().remove_space_dimensions(vars);
+      x.reduced = false;
     }
-    le *= val_d;
-    le -= val_n;
-    refining_cs.insert(le >= 0);
+    x.space_dim -= num_removed;
+    PPL_ASSERT_HEAVY(x.OK());
   }
-  d2.refine_with_constraints(refining_cs);
+}
 
-  // Use the constraints representing d1.
-  cs = d1.minimized_constraints();
-  refining_cs.clear();
-  for (Constraint_System::const_iterator i = cs.begin(),
-         cs_end = cs.end(); i != cs_end; ++i) {
-    const Constraint& c = *i;
-    if (c.is_equality())
-      // Equalities aleady shared.
-      continue;
-    // Check the frequency and value of the linear expression for
-    // the constraint `c'.
-    Linear_Expression le(c);
-    if (!d2.frequency(le, freq_n, freq_d, val_n, val_d))
-      // Nothing to do.
-      continue;
-    if (val_n == 0)
-      // Nothing to do.
-      continue;
-    // Adjust the value of the inhomogeneous term to satisfy
-    // the implied congruence.
-    if (val_n < 0) {
-      val_n = val_n*freq_d + val_d*freq_n;
-      val_d *= freq_d;
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::remove_higher_space_dimensions(dimension_type new_dimension) {
+  Pointset_Powerset& x = *this;
+  if (new_dimension < x.space_dim) {
+    for (Sequence_iterator si = x.sequence.begin(),
+	   s_end = x.sequence.end(); si != s_end; ++si) {
+      si->pointset().remove_higher_space_dimensions(new_dimension);
+      x.reduced = false;
+    }
+    x.space_dim = new_dimension;
+    PPL_ASSERT_HEAVY(x.OK());
+  }
+}
+
+template <typename PSET>
+template <typename Partial_Function>
+void
+Pointset_Powerset<PSET>::map_space_dimensions(const Partial_Function& pfunc) {
+  Pointset_Powerset& x = *this;
+  if (x.is_bottom()) {
+    dimension_type n = 0;
+    for (dimension_type i = x.space_dim; i-- > 0; ) {
+      dimension_type new_i;
+      if (pfunc.maps(i, new_i))
+	++n;
     }
-    le *= val_d;
-    le -= val_n;
-    refining_cs.insert(le >= 0);
+    x.space_dim = n;
   }
-  d1.refine_with_constraints(refining_cs);
-
-  // The reduction may have introduced additional equalities
-  // so these must be shared with the other component.
-  Parma_Polyhedra_Library::Constraints_Reduction<D1, D2> cr;
-  cr.product_reduce(d1, d2);
+  else {
+    Sequence_iterator s_begin = x.sequence.begin();
+    for (Sequence_iterator si = s_begin,
+	   s_end = x.sequence.end(); si != s_end; ++si)
+      si->pointset().map_space_dimensions(pfunc);
+    x.space_dim = s_begin->pointset().space_dimension();
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1688. */
-
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 1. */
-/* Determinate class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Determinate.types.hh line 1. */
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::expand_space_dimension(Variable var,
+                                                dimension_type m) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().expand_space_dimension(var, m);
+  x.space_dim += m;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::fold_space_dimensions(const Variables_Set& vars,
+                                               Variable dest) {
+  Pointset_Powerset& x = *this;
+  Variables_Set::size_type num_folded = vars.size();
+  if (num_folded > 0) {
+    for (Sequence_iterator si = x.sequence.begin(),
+           s_end = x.sequence.end(); si != s_end; ++si)
+      si->pointset().fold_space_dimensions(vars, dest);
+  }
+  x.space_dim -= num_folded;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::affine_image(Variable var,
+                                      const Linear_Expression& expr,
+                                      Coefficient_traits::const_reference
+                                      denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().affine_image(var, expr, denominator);
+    // Note that the underlying domain can apply conservative approximation:
+    // that is why it would not be correct to make the loss of reduction
+    // conditional on `var' and `expr'.
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
 template <typename PSET>
-class Determinate;
+void
+Pointset_Powerset<PSET>::affine_preimage(Variable var,
+                                         const Linear_Expression& expr,
+                                         Coefficient_traits::const_reference
+                                         denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().affine_preimage(var, expr, denominator);
+    // Note that the underlying domain can apply conservative approximation:
+    // that is why it would not be correct to make the loss of reduction
+    // conditional on `var' and `expr'.
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 32. */
-#include <iosfwd>
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 34. */
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::generalized_affine_image(const Linear_Expression& lhs,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression& rhs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().generalized_affine_image(lhs, relsym, rhs);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::generalized_affine_preimage(const Linear_Expression& lhs,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& rhs) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().generalized_affine_preimage(lhs, relsym, rhs);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
-  COW-wrapped pointset.
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::generalized_affine_image(Variable var,
+                           const Relation_Symbol relsym,
+                           const Linear_Expression& expr,
+                           Coefficient_traits::const_reference denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().generalized_affine_image(var, relsym, expr, denominator);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  \relates Determinate
-*/
 template <typename PSET>
-bool operator==(const Determinate<PSET>& x, const Determinate<PSET>& y);
+void
+Pointset_Powerset<PSET>
+::generalized_affine_preimage(Variable var,
+                              const Relation_Symbol relsym,
+                              const Linear_Expression& expr,
+                              Coefficient_traits::const_reference
+                              denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().generalized_affine_preimage(var, relsym, expr, denominator);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are different
-  COW-wrapped pointsets.
 
-  \relates Determinate
-*/
 template <typename PSET>
-bool operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y);
+void
+Pointset_Powerset<PSET>
+::bounded_affine_image(Variable var,
+                       const Linear_Expression& lb_expr,
+                       const Linear_Expression& ub_expr,
+                       Coefficient_traits::const_reference denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().bounded_affine_image(var, lb_expr, ub_expr, denominator);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-namespace IO_Operators {
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::bounded_affine_preimage(Variable var,
+                          const Linear_Expression& lb_expr,
+                          const Linear_Expression& ub_expr,
+                          Coefficient_traits::const_reference denominator) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    si->pointset().bounded_affine_preimage(var, lb_expr, ub_expr,
+                                          denominator);
+    x.reduced = false;
+  }
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Determinate */
 template <typename PSET>
-std::ostream&
-operator<<(std::ostream&, const Determinate<PSET>&);
+dimension_type
+Pointset_Powerset<PSET>::affine_dimension() const {
+  // The affine dimension of the powerset is the affine dimension of
+  // the smallest vector space in which it can be embedded.
+  const Pointset_Powerset& x = *this;
+  C_Polyhedron x_ph(space_dim, EMPTY);
 
-} // namespace IO_Operators
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    PSET pi(si->pointset());
+    if (!pi.is_empty()) {
+      C_Polyhedron phi(space_dim);
+      const Constraint_System& cs = pi.minimized_constraints();
+      for (Constraint_System::const_iterator i = cs.begin(),
+             cs_end = cs.end(); i != cs_end; ++i) {
+        const Constraint& c = *i;
+        if (c.is_equality())
+          phi.add_constraint(c);
+      }
+      x_ph.poly_hull_assign(phi);
+    }
+  }
 
-} // namespace Parma_Polyhedra_Library
+  return x_ph.affine_dimension();
+}
 
-/*! \brief
-  A wrapper for PPL pointsets, providing them with a
-  <EM>determinate constraint system</EM> interface, as defined
-  in \ref Bag98 "[Bag98]".
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::is_universe() const {
+  const Pointset_Powerset& x = *this;
+  // Exploit omega-reduction, if already computed.
+  if (x.is_omega_reduced())
+    return x.size() == 1 && x.begin()->pointset().is_universe();
 
-  The implementation uses a copy-on-write optimization, making the
-  class suitable for constructions, like the <EM>finite powerset</EM></A>
-  and <EM>ask-and-tell</EM> of \ref Bag98 "[Bag98]", that are likely
-  to perform many copies.
+  // A powerset is universe iff one of its disjuncts is.
+  for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
+    if (x_i->pointset().is_universe()) {
+      // Speculative omega-reduction, if it is worth.
+      if (x.size() > 1) {
+        Pointset_Powerset<PSET> universe(x.space_dimension(), UNIVERSE);
+        Pointset_Powerset& xx = const_cast<Pointset_Powerset&>(x);
+        swap(xx, universe);
+      }
+      return true;
+    }
+  return false;
+}
 
-  \ingroup PPL_CXX_interface
-*/
 template <typename PSET>
-class Parma_Polyhedra_Library::Determinate {
-public:
-  //! \name Constructors and Destructor
-  //@{
-
-  /*! \brief
-    Constructs a COW-wrapped object corresponding to the pointset \p p.
-  */
-  Determinate(const PSET& p);
+bool
+Pointset_Powerset<PSET>::is_empty() const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().is_empty())
+      return false;
+  return true;
+}
 
-  /*! \brief
-    Constructs a COW-wrapped object corresponding to the pointset
-    defined by \p cs.
-  */
-  Determinate(const Constraint_System& cs);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::is_discrete() const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().is_discrete())
+      return false;
+  return true;
+}
 
-  /*! \brief
-    Constructs a COW-wrapped object corresponding to the pointset
-    defined by \p cgs.
-  */
-  Determinate(const Congruence_System& cgs);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::is_topologically_closed() const {
+  const Pointset_Powerset& x = *this;
+  // The powerset must be omega-reduced before checking
+  // topological closure.
+  x.omega_reduce();
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().is_topologically_closed())
+      return false;
+  return true;
+}
 
-  //! Copy constructor.
-  Determinate(const Determinate& y);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::is_bounded() const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().is_bounded())
+      return false;
+  return true;
+}
 
-  //! Destructor.
-  ~Determinate();
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::constrains(Variable var) const {
+  const Pointset_Powerset& x = *this;
+  // `var' should be one of the dimensions of the powerset.
+  const dimension_type var_space_dim = var.space_dimension();
+  if (x.space_dimension() < var_space_dim) {
+    std::ostringstream s;
+    s << "PPL::Pointset_Powerset<PSET>::constrains(v):\n"
+      << "this->space_dimension() == " << x.space_dimension() << ", "
+      << "v.space_dimension() == " << var_space_dim << ".";
+    throw std::invalid_argument(s.str());
+  }
+  // omega_reduction needed, since a redundant disjunct may constrain var.
+  x.omega_reduce();
+  // An empty powerset constrains all variables.
+  if (x.is_empty())
+    return true;
+  for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
+    if (x_i->pointset().constrains(var))
+      return true;
+  return false;
+}
 
-  //@} // Constructors and Destructor
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::is_disjoint_from(const Pointset_Powerset& y) const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         x_s_end = x.sequence.end(); si != x_s_end; ++si) {
+    const PSET& pi = si->pointset();
+    for (Sequence_const_iterator sj = y.sequence.begin(),
+           y_s_end = y.sequence.end(); sj != y_s_end; ++sj) {
+      const PSET& pj = sj->pointset();
+      if (!pi.is_disjoint_from(pj))
+        return false;
+    }
+  }
+  return true;
+}
 
-  //! \name Member Functions that Do Not Modify the Domain Element
-  //@{
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(const Variables_Set& vars,
+			       Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(vars, complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  //! Returns a const reference to the embedded pointset.
-  const PSET& pointset() const;
+template <typename PSET>
+void
+Pointset_Powerset<PSET>
+::drop_some_non_integer_points(Complexity_Class complexity) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().drop_some_non_integer_points(complexity);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this embeds the universe
-    element \p PSET.
-  */
-  bool is_top() const;
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::topological_closure_assign() {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().topological_closure_assign();
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this embeds the empty
-    element of \p PSET.
-  */
-  bool is_bottom() const;
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>
+::intersection_preserving_enlarge_element(PSET& dest) const {
+  // FIXME: this is just an executable specification.
+  const Pointset_Powerset& context = *this;
+  PPL_ASSERT(context.space_dimension() == dest.space_dimension());
+  bool nonempty_intersection = false;
+  // TODO: maybe use a *sorted* constraint system?
+  PSET enlarged(context.space_dimension(), UNIVERSE);
+  for (Sequence_const_iterator si = context.sequence.begin(),
+         s_end = context.sequence.end(); si != s_end; ++si) {
+    PSET context_i(si->pointset());
+    context_i.intersection_assign(enlarged);
+    PSET enlarged_i(dest);
+    if (enlarged_i.simplify_using_context_assign(context_i))
+      nonempty_intersection = true;
+    // TODO: merge the sorted constraints of `enlarged' and `enlarged_i'?
+    enlarged.intersection_assign(enlarged_i);
+  }
+  swap(dest, enlarged);
+  return nonempty_intersection;
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this entails \p y.
-  bool definitely_entails(const Determinate& y) const;
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>
+::simplify_using_context_assign(const Pointset_Powerset& y) {
+  Pointset_Powerset& x = *this;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are definitely equivalent.
-  */
-  bool is_definitely_equivalent_to(const Determinate& y) const;
+  // Omega reduction is required.
+  // TODO: check whether it would be more efficient to Omega-reduce x
+  // during the simplification process: when examining *si, we check
+  // if it has been made redundant by any of the elements preceding it
+  // (which have been already simplified).
+  x.omega_reduce();
+  if (x.is_empty())
+    return false;
+  y.omega_reduce();
+  if (y.is_empty()) {
+    x = y;
+    return false;
+  }
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+  if (y.size() == 1) {
+    // More efficient, special handling of the singleton context case.
+    const PSET& y_i = y.sequence.begin()->pointset();
+    for (Sequence_iterator si = x.sequence.begin(),
+           s_end = x.sequence.end(); si != s_end; ) {
+      PSET& x_i = si->pointset();
+      if (x_i.simplify_using_context_assign(y_i))
+        ++si;
+      else
+        // Intersection is empty: drop the disjunct.
+        si = x.sequence.erase(si);
+    }
+  }
+  else {
+    // The context is not a singleton.
+    for (Sequence_iterator si = x.sequence.begin(),
+           s_end = x.sequence.end(); si != s_end; ) {
+      if (y.intersection_preserving_enlarge_element(si->pointset()))
+        ++si;
+      else
+        // Intersection with `*si' is empty: drop the disjunct.
+        si = x.sequence.erase(si);
+    }
+  }
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+  return !x.sequence.empty();
+}
 
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::contains(const Pointset_Powerset& y) const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = y.sequence.begin(),
+         y_s_end = y.sequence.end(); si != y_s_end; ++si) {
+    const PSET& pi = si->pointset();
+    bool pi_is_contained = false;
+    for (Sequence_const_iterator sj = x.sequence.begin(),
+           x_s_end = x.sequence.end();
+         (sj != x_s_end && !pi_is_contained);
+         ++sj) {
+      const PSET& pj = sj->pointset();
+      if (pj.contains(pi))
+        pi_is_contained = true;
+    }
+    if (!pi_is_contained)
+      return false;
+  }
+  return true;
+}
 
-  /*!
-    Returns <CODE>true</CODE> if and only if this domain
-    has a nontrivial weakening operator.
-  */
-  static bool has_nontrivial_weakening();
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::strictly_contains(const Pointset_Powerset& y) const {
+  /* omega reduction ensures that a disjunct of y cannot be strictly
+     contained in one disjunct and also contained but not strictly
+     contained in another disjunct of *this */
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  for (Sequence_const_iterator si = y.sequence.begin(),
+         y_s_end = y.sequence.end(); si != y_s_end; ++si) {
+    const PSET& pi = si->pointset();
+    bool pi_is_strictly_contained = false;
+    for (Sequence_const_iterator sj = x.sequence.begin(),
+           x_s_end = x.sequence.end();
+         (sj != x_s_end && !pi_is_strictly_contained); ++sj) {
+      const PSET& pj = sj->pointset();
+      if (pj.strictly_contains(pi))
+        pi_is_strictly_contained = true;
+    }
+    if (!pi_is_strictly_contained)
+      return false;
+  }
+  return true;
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+template <typename PSET>
+Poly_Con_Relation
+Pointset_Powerset<PSET>::relation_with(const Congruence& cg) const {
+  const Pointset_Powerset& x = *this;
 
-  //@} // Member Functions that Do Not Modify the Domain Element
+  /* *this is included in cg if every disjunct is included in cg */
+  bool is_included = true;
+  /* *this is disjoint with cg if every disjunct is disjoint with cg */
+  bool is_disjoint = true;
+  /* *this strictly_intersects with cg if some disjunct strictly
+     intersects with cg */
+  bool is_strictly_intersecting = false;
+  /* *this saturates cg if some disjunct saturates cg and
+     every disjunct is either disjoint from cg or saturates cg */
+  bool saturates_once = false;
+  bool may_saturate = true;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    Poly_Con_Relation relation_i = si->pointset().relation_with(cg);
+    if (!relation_i.implies(Poly_Con_Relation::is_included()))
+      is_included = false;
+    if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
+      is_disjoint = false;
+    if (relation_i.implies(Poly_Con_Relation::strictly_intersects()))
+      is_strictly_intersecting = true;
+    if (relation_i.implies(Poly_Con_Relation::saturates()))
+      saturates_once = true;
+    else if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
+      may_saturate = false;
+  }
 
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
+  if (is_included)
+    result = result && Poly_Con_Relation::is_included();
+  if (is_disjoint)
+    result = result && Poly_Con_Relation::is_disjoint();
+  if (is_strictly_intersecting)
+    result = result && Poly_Con_Relation::strictly_intersects();
+  if (saturates_once && may_saturate)
+    result = result && Poly_Con_Relation::saturates();
 
-  //! \name Member Functions that May Modify the Domain Element
-  //@{
+  return result;
+}
 
-  //! Assigns to \p *this the upper bound of \p *this and \p y.
-  void upper_bound_assign(const Determinate& y);
+template <typename PSET>
+Poly_Con_Relation
+Pointset_Powerset<PSET>::relation_with(const Constraint& c) const {
+  const Pointset_Powerset& x = *this;
 
-  //! Assigns to \p *this the meet of \p *this and \p y.
-  void meet_assign(const Determinate& y);
+  /* *this is included in c if every disjunct is included in c */
+  bool is_included = true;
+  /* *this is disjoint with c if every disjunct is disjoint with c */
+  bool is_disjoint = true;
+  /* *this strictly_intersects with c if some disjunct strictly
+     intersects with c */
+  bool is_strictly_intersecting = false;
+  /* *this saturates c if some disjunct saturates c and
+     every disjunct is either disjoint from c or saturates c */
+  bool saturates_once = false;
+  bool may_saturate = true;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    Poly_Con_Relation relation_i = si->pointset().relation_with(c);
+    if (!relation_i.implies(Poly_Con_Relation::is_included()))
+      is_included = false;
+    if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
+      is_disjoint = false;
+    if (relation_i.implies(Poly_Con_Relation::strictly_intersects()))
+      is_strictly_intersecting = true;
+    if (relation_i.implies(Poly_Con_Relation::saturates()))
+      saturates_once = true;
+    else if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
+      may_saturate = false;
+  }
 
-  //! Assigns to \p *this the result of weakening \p *this with \p y.
-  void weakening_assign(const Determinate& y);
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
+  if (is_included)
+    result = result && Poly_Con_Relation::is_included();
+  if (is_disjoint)
+    result = result && Poly_Con_Relation::is_disjoint();
+  if (is_strictly_intersecting)
+    result = result && Poly_Con_Relation::strictly_intersects();
+  if (saturates_once && may_saturate)
+    result = result && Poly_Con_Relation::saturates();
 
-  /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
-    of \p *this and \p y, taken in this order.
-  */
-  void concatenate_assign(const Determinate& y);
+  return result;
+}
 
-  //! Returns a reference to the embedded element.
-  PSET& pointset();
+template <typename PSET>
+Poly_Gen_Relation
+Pointset_Powerset<PSET>::relation_with(const Generator& g) const {
+  const Pointset_Powerset& x = *this;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    On return from this method, the representation of \p *this
-    is not shared by different Determinate objects.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  void mutate();
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    Poly_Gen_Relation relation_i = si->pointset().relation_with(g);
+    if (relation_i.implies(Poly_Gen_Relation::subsumes()))
+      return Poly_Gen_Relation::subsumes();
+  }
 
-  //! Assignment operator.
-  Determinate& operator=(const Determinate& y);
+  return Poly_Gen_Relation::nothing();
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Determinate& y);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>
+::bounds_from_above(const Linear_Expression& expr) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().bounds_from_above(expr))
+      return false;
+  return true;
+}
 
-  //@} // Member Functions that May Modify the Domain Element
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>
+::bounds_from_below(const Linear_Expression& expr) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (!si->pointset().bounds_from_below(expr))
+      return false;
+  return true;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! A function adapter for the Determinate class.
-  /*! \ingroup PPL_CXX_interface
-    It lifts a Binary_Operator_Assign function object, taking arguments
-    of type PSET, producing the corresponding function object taking
-    arguments of type Determinate<PSET>.
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  if (x.is_empty())
+    return false;
 
-    The template parameter Binary_Operator_Assign is supposed to
-    implement an <EM>apply and assign</EM> function, i.e., a function
-    having signature <CODE>void foo(PSET& x, const PSET& y)</CODE> that
-    applies an operator to \c x and \c y and assigns the result to \c x.
-    For instance, such a function object is obtained by
-    <CODE>std::mem_fun_ref(&C_Polyhedron::intersection_assign)</CODE>.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  template <typename Binary_Operator_Assign>
-  class Binary_Operator_Assign_Lifter {
-  public:
-    //! Explicit unary constructor.
-    explicit
-    Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign);
+  bool first = true;
 
-    //! Function-application operator.
-    void operator()(Determinate& x, const Determinate& y) const;
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_d);
+  best_sup_n = 0;
+  best_sup_d = 1;
+  bool best_max = false;
 
-  private:
-    //! The function object to be lifted.
-    Binary_Operator_Assign op_assign_;
-  };
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_d);
+  iter_sup_n = 0;
+  iter_sup_d = 1;
+  bool iter_max = false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  /*! \brief
-    Helper function returning a Binary_Operator_Assign_Lifter object,
-    also allowing for the deduction of template arguments.
-  */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  template <typename Binary_Operator_Assign>
-  static Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
-  lift_op_assign(Binary_Operator_Assign op_assign);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
-private:
-  //! The possibly shared representation of a Determinate object.
-  /*! \ingroup PPL_CXX_interface
-    By adopting the <EM>copy-on-write</EM> technique, a single
-    representation of the base-level object may be shared by more than
-    one object of the class Determinate.
-  */
-  class Rep {
-  private:
-    /*! \brief
-      Count the number of references:
-      -   0: leaked, \p pset is non-const;
-      -   1: one reference, \p pset is non-const;
-      - > 1: more than one reference, \p pset is const.
-    */
-    mutable unsigned long references;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    if (!si->pointset().maximize(expr, iter_sup_n, iter_sup_d, iter_max))
+      return false;
+    else
+      if (first) {
+        first = false;
+        best_sup_n = iter_sup_n;
+        best_sup_d = iter_sup_d;
+        best_max = iter_max;
+      }
+      else {
+        tmp = (best_sup_n * iter_sup_d) - (iter_sup_n * best_sup_d);
+        if (tmp < 0) {
+          best_sup_n = iter_sup_n;
+          best_sup_d = iter_sup_d;
+          best_max = iter_max;
+        }
+        else if (tmp == 0)
+          best_max = (best_max || iter_max);
+      }
+  }
+  sup_n = best_sup_n;
+  sup_d = best_sup_d;
+  maximum = best_max;
+  return true;
+}
 
-    //! Private and unimplemented: assignment not allowed.
-    Rep& operator=(const Rep& y);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
+                                  Coefficient& sup_n,
+                                  Coefficient& sup_d,
+                                  bool& maximum,
+                                  Generator& g) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  if (x.is_empty())
+    return false;
 
-    //! Private and unimplemented: copies not allowed.
-    Rep(const Rep& y);
+  bool first = true;
 
-    //! Private and unimplemented: default construction not allowed.
-    Rep();
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_sup_d);
+  best_sup_n = 0;
+  best_sup_d = 1;
+  bool best_max = false;
+  Generator best_g = point();
 
-  public:
-    //! The possibly shared, embedded pointset.
-    PSET pset;
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_sup_d);
+  iter_sup_n = 0;
+  iter_sup_d = 1;
+  bool iter_max = false;
+  Generator iter_g = point();
 
-    /*! \brief
-      Builds a new representation by creating a pointset
-      of the specified kind, in the specified vector space.
-    */
-    Rep(dimension_type num_dimensions, Degenerate_Element kind);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
-    //! Builds a new representation by copying the pointset \p p.
-    Rep(const PSET& p);
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    if (!si->pointset().maximize(expr,
+                                 iter_sup_n, iter_sup_d, iter_max, iter_g))
+      return false;
+    else
+      if (first) {
+        first = false;
+        best_sup_n = iter_sup_n;
+        best_sup_d = iter_sup_d;
+        best_max = iter_max;
+        best_g = iter_g;
+      }
+      else {
+        tmp = (best_sup_n * iter_sup_d) - (iter_sup_n * best_sup_d);
+        if (tmp < 0) {
+          best_sup_n = iter_sup_n;
+          best_sup_d = iter_sup_d;
+          best_max = iter_max;
+          best_g = iter_g;
+        }
+        else if (tmp == 0) {
+          best_max = (best_max || iter_max);
+          best_g = iter_g;
+        }
+      }
+  }
+  sup_n = best_sup_n;
+  sup_d = best_sup_d;
+  maximum = best_max;
+  g = best_g;
+  return true;
+}
 
-    //! Builds a new representation by copying the constraints in \p cs.
-    Rep(const Constraint_System& cs);
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  if (x.is_empty())
+    return false;
 
-    //! Builds a new representation by copying the constraints in \p cgs.
-    Rep(const Congruence_System& cgs);
+  bool first = true;
 
-    //! Destructor.
-    ~Rep();
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_d);
+  best_inf_n = 0;
+  best_inf_d = 1;
+  bool best_min = false;
 
-    //! Registers a new reference.
-    void new_reference() const;
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_d);
+  iter_inf_n = 0;
+  iter_inf_d = 1;
+  bool iter_min = false;
 
-    /*! \brief
-      Unregisters one reference; returns <CODE>true</CODE> if and only if
-      the representation has become unreferenced.
-    */
-    bool del_reference() const;
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
-    //! True if and only if this representation is currently shared.
-    bool is_shared() const;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    if (!si->pointset().minimize(expr, iter_inf_n, iter_inf_d, iter_min))
+      return false;
+    else
+      if (first) {
+        first = false;
+        best_inf_n = iter_inf_n;
+        best_inf_d = iter_inf_d;
+        best_min = iter_min;
+      }
+      else {
+        tmp = (best_inf_n * iter_inf_d) - (iter_inf_n * best_inf_d);
+        if (tmp > 0) {
+          best_inf_n = iter_inf_n;
+          best_inf_d = iter_inf_d;
+          best_min = iter_min;
+        }
+        else if (tmp == 0)
+          best_min = (best_min || iter_min);
+      }
+  }
+  inf_n = best_inf_n;
+  inf_d = best_inf_d;
+  minimum = best_min;
+  return true;
+}
 
-    /*! \brief
-      Returns a lower bound to the total size in bytes of the memory
-      occupied by \p *this.
-    */
-    memory_size_type total_memory_in_bytes() const;
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
+                                  Coefficient& inf_n,
+                                  Coefficient& inf_d,
+                                  bool& minimum,
+                                  Generator& g) const {
+  const Pointset_Powerset& x = *this;
+  x.omega_reduce();
+  if (x.is_empty())
+    return false;
 
-    /*! \brief
-      Returns a lower bound to the size in bytes of the memory
-      managed by \p *this.
-    */
-    memory_size_type external_memory_in_bytes() const;
-  };
+  bool first = true;
 
-  /*! \brief
-    A pointer to the possibly shared representation of
-    the base-level domain element.
-  */
-  Rep* prep;
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(best_inf_d);
+  best_inf_n = 0;
+  best_inf_d = 1;
+  bool best_min = false;
+  Generator best_g = point();
 
-  friend bool
-  operator==<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(iter_inf_d);
+  iter_inf_n = 0;
+  iter_inf_d = 1;
+  bool iter_min = false;
+  Generator iter_g = point();
 
-  friend bool
-  operator!=<PSET>(const Determinate<PSET>& x, const Determinate<PSET>& y);
-};
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si) {
+    if (!si->pointset().minimize(expr,
+                                 iter_inf_n, iter_inf_d, iter_min, iter_g))
+      return false;
+    else
+      if (first) {
+        first = false;
+        best_inf_n = iter_inf_n;
+        best_inf_d = iter_inf_d;
+        best_min = iter_min;
+        best_g = iter_g;
+      }
+      else {
+        tmp = (best_inf_n * iter_inf_d) - (iter_inf_n * best_inf_d);
+        if (tmp > 0) {
+          best_inf_n = iter_inf_n;
+          best_inf_d = iter_inf_d;
+          best_min = iter_min;
+          best_g = iter_g;
+        }
+        else if (tmp == 0) {
+          best_min = (best_min || iter_min);
+          best_g = iter_g;
+        }
+      }
+  }
+  inf_n = best_inf_n;
+  inf_d = best_inf_d;
+  minimum = best_min;
+  g = best_g;
+  return true;
+}
 
-namespace std {
+template <typename PSET>
+bool
+Pointset_Powerset<PSET>::contains_integer_point() const {
+  const Pointset_Powerset& x = *this;
+  for (Sequence_const_iterator si = x.sequence.begin(),
+         s_end = x.sequence.end(); si != s_end; ++si)
+    if (si->pointset().contains_integer_point())
+      return true;
+  return false;
+}
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Determinate */
 template <typename PSET>
-void swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
-	  Parma_Polyhedra_Library::Determinate<PSET>& y);
+void
+Pointset_Powerset<PSET>::wrap_assign(const Variables_Set& vars,
+                                     Bounded_Integer_Type_Width w,
+                                     Bounded_Integer_Type_Representation r,
+                                     Bounded_Integer_Type_Overflow o,
+                                     const Constraint_System* cs_p,
+                                     unsigned complexity_threshold,
+                                     bool wrap_individually) {
+  Pointset_Powerset& x = *this;
+  for (Sequence_iterator si = x.sequence.begin(),
+	 s_end = x.sequence.end(); si != s_end; ++si)
+    si->pointset().wrap_assign(vars, w, r, o, cs_p,
+                               complexity_threshold, wrap_individually);
+  x.reduced = false;
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
-} // namespace std
+template <typename PSET>
+void
+Pointset_Powerset<PSET>::pairwise_reduce() {
+  Pointset_Powerset& x = *this;
+  // It is wise to omega-reduce before pairwise-reducing.
+  x.omega_reduce();
 
-/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 1. */
-/* Determinate class implementation: inline functions.
-*/
+  size_type n = x.size();
+  size_type deleted;
+  do {
+    Pointset_Powerset new_x(x.space_dim, EMPTY);
+    std::deque<bool> marked(n, false);
+    deleted = 0;
+    Sequence_iterator s_begin = x.sequence.begin();
+    Sequence_iterator s_end = x.sequence.end();
+    unsigned si_index = 0;
+    for (Sequence_iterator si = s_begin; si != s_end; ++si, ++si_index) {
+      if (marked[si_index])
+	continue;
+      PSET& pi = si->pointset();
+      Sequence_const_iterator sj = si;
+      unsigned sj_index = si_index;
+      for (++sj, ++sj_index; sj != s_end; ++sj, ++sj_index) {
+	if (marked[sj_index])
+	  continue;
+	const PSET& pj = sj->pointset();
+	if (pi.upper_bound_assign_if_exact(pj)) {
+	  marked[si_index] = true;
+          marked[sj_index] = true;
+	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
+	  ++deleted;
+	  goto next;
+	}
+      }
+    next:
+      ;
+    }
+    iterator new_x_begin = new_x.begin();
+    iterator new_x_end = new_x.end();
+    unsigned xi_index = 0;
+    for (const_iterator xi = x.begin(),
+	   x_end = x.end(); xi != x_end; ++xi, ++xi_index)
+      if (!marked[xi_index])
+	new_x_begin
+          = new_x.add_non_bottom_disjunct_preserve_reduction(*xi,
+                                                             new_x_begin,
+                                                             new_x_end);
+    using std::swap;
+    swap(x.sequence, new_x.sequence);
+    n -= deleted;
+  } while (deleted > 0);
+  PPL_ASSERT_HEAVY(x.OK());
+}
 
+template <typename PSET>
+template <typename Widening>
+void
+Pointset_Powerset<PSET>::
+BGP99_heuristics_assign(const Pointset_Powerset& y, Widening widen_fun) {
+  // `x' is the current iteration value.
+  Pointset_Powerset& x = *this;
 
-/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 28. */
+#ifndef NDEBUG
+  {
+    // We assume that `y' entails `x'.
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
+  }
+#endif
 
-namespace Parma_Polyhedra_Library {
+  size_type n = x.size();
+  Pointset_Powerset new_x(x.space_dim, EMPTY);
+  std::deque<bool> marked(n, false);
+  const_iterator x_begin = x.begin();
+  const_iterator x_end = x.end();
+  unsigned i_index = 0;
+  for (const_iterator i = x_begin,
+	 y_begin = y.begin(), y_end = y.end(); i != x_end; ++i, ++i_index)
+    for (const_iterator j = y_begin; j != y_end; ++j) {
+      const PSET& pi = i->pointset();
+      const PSET& pj = j->pointset();
+      if (pi.contains(pj)) {
+	PSET pi_copy = pi;
+	widen_fun(pi_copy, pj);
+	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
+	marked[i_index] = true;
+      }
+    }
+  iterator new_x_begin = new_x.begin();
+  iterator new_x_end = new_x.end();
+  i_index = 0;
+  for (const_iterator i = x_begin; i != x_end; ++i, ++i_index)
+    if (!marked[i_index])
+      new_x_begin
+        = new_x.add_non_bottom_disjunct_preserve_reduction(*i,
+                                                           new_x_begin,
+                                                           new_x_end);
+  using std::swap;
+  swap(x.sequence, new_x.sequence);
+  PPL_ASSERT_HEAVY(x.OK());
+  PPL_ASSERT(x.is_omega_reduced());
+}
 
 template <typename PSET>
-inline
-Determinate<PSET>::Rep::Rep(dimension_type num_dimensions,
-			  Degenerate_Element kind)
-  : references(0), pset(num_dimensions, kind) {
-}
+template <typename Widening>
+void
+Pointset_Powerset<PSET>::
+BGP99_extrapolation_assign(const Pointset_Powerset& y,
+			   Widening widen_fun,
+			   unsigned max_disjuncts) {
+  // `x' is the current iteration value.
+  Pointset_Powerset& x = *this;
+
+#ifndef NDEBUG
+  {
+    // We assume that `y' entails `x'.
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
+  }
+#endif
 
-template <typename PSET>
-inline
-Determinate<PSET>::Rep::Rep(const PSET& p)
-  : references(0), pset(p) {
+  x.pairwise_reduce();
+  if (max_disjuncts != 0)
+    x.collapse(max_disjuncts);
+  x.BGP99_heuristics_assign(y, widen_fun);
 }
 
 template <typename PSET>
-inline
-Determinate<PSET>::Rep::Rep(const Constraint_System& cs)
-  : references(0), pset(cs) {
+template <typename Cert>
+void
+Pointset_Powerset<PSET>::
+collect_certificates(std::map<Cert, size_type,
+                     typename Cert::Compare>& cert_ms) const {
+  const Pointset_Powerset& x = *this;
+  PPL_ASSERT(x.is_omega_reduced());
+  PPL_ASSERT(cert_ms.size() == 0);
+  for (const_iterator i = x.begin(), end = x.end(); i != end; ++i) {
+    Cert ph_cert(i->pointset());
+    ++cert_ms[ph_cert];
+  }
 }
 
 template <typename PSET>
-inline
-Determinate<PSET>::Rep::Rep(const Congruence_System& cgs)
-  : references(0), pset(cgs) {
-}
+template <typename Cert>
+bool
+Pointset_Powerset<PSET>::
+is_cert_multiset_stabilizing(const std::map<Cert, size_type,
+                             typename Cert::Compare>& y_cert_ms) const {
+  typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
+  Cert_Multiset x_cert_ms;
+  collect_certificates(x_cert_ms);
+  typename Cert_Multiset::const_iterator
+    xi = x_cert_ms.begin(),
+    x_cert_ms_end = x_cert_ms.end(),
+    yi = y_cert_ms.begin(),
+    y_cert_ms_end = y_cert_ms.end();
+  while (xi != x_cert_ms_end && yi != y_cert_ms_end) {
+    const Cert& xi_cert = xi->first;
+    const Cert& yi_cert = yi->first;
+    switch (xi_cert.compare(yi_cert)) {
+    case 0:
+      // xi_cert == yi_cert: check the number of multiset occurrences.
+      {
+	const size_type& xi_count = xi->second;
+	const size_type& yi_count = yi->second;
+	if (xi_count == yi_count) {
+	  // Same number of occurrences: compare the next pair.
+	  ++xi;
+	  ++yi;
+	}
+	else
+	  // Different number of occurrences: can decide ordering.
+	  return xi_count < yi_count;
+	break;
+      }
+    case 1:
+      // xi_cert > yi_cert: it is not stabilizing.
+      return false;
 
-template <typename PSET>
-inline
-Determinate<PSET>::Rep::~Rep() {
-  PPL_ASSERT(references == 0);
+    case -1:
+      // xi_cert < yi_cert: it is stabilizing.
+      return true;
+    }
+  }
+  // Here xi == x_cert_ms_end or yi == y_cert_ms_end.
+  // Stabilization is achieved if `y_cert_ms' still has other elements.
+  return yi != y_cert_ms_end;
 }
 
 template <typename PSET>
-inline void
-Determinate<PSET>::Rep::new_reference() const {
-  ++references;
-}
+template <typename Cert, typename Widening>
+void
+Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
+                                               Widening widen_fun) {
+  // `x' is the current iteration value.
+  Pointset_Powerset& x = *this;
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::Rep::del_reference() const {
-  return --references == 0;
-}
+#ifndef NDEBUG
+  {
+    // We assume that `y' entails `x'.
+    const Pointset_Powerset<PSET> x_copy = x;
+    const Pointset_Powerset<PSET> y_copy = y;
+    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
+  }
+#endif
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::Rep::is_shared() const {
-  return references > 1;
-}
+  // First widening technique: do nothing.
 
-template <typename PSET>
-inline memory_size_type
-Determinate<PSET>::Rep::external_memory_in_bytes() const {
-  return pset.external_memory_in_bytes();
-}
+  // If `y' is the empty collection, do nothing.
+  PPL_ASSERT(x.size() > 0);
+  if (y.size() == 0)
+    return;
 
-template <typename PSET>
-inline memory_size_type
-Determinate<PSET>::Rep::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  // Compute the poly-hull of `x'.
+  PSET x_hull(x.space_dim, EMPTY);
+  for (const_iterator i = x.begin(), x_end = x.end(); i != x_end; ++i)
+    x_hull.upper_bound_assign(i->pointset());
 
-template <typename PSET>
-inline
-Determinate<PSET>::Determinate(const PSET& pset)
-  : prep(new Rep(pset)) {
-  prep->new_reference();
-}
+  // Compute the poly-hull of `y'.
+  PSET y_hull(y.space_dim, EMPTY);
+  for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
+    y_hull.upper_bound_assign(i->pointset());
+  // Compute the certificate for `y_hull'.
+  const Cert y_hull_cert(y_hull);
 
-template <typename PSET>
-inline
-Determinate<PSET>::Determinate(const Constraint_System& cs)
-  : prep(new Rep(cs)) {
-  prep->new_reference();
-}
+  // If the hull is stabilizing, do nothing.
+  int hull_stabilization = y_hull_cert.compare(x_hull);
+  if (hull_stabilization == 1)
+    return;
 
-template <typename PSET>
-inline
-Determinate<PSET>::Determinate(const Congruence_System& cgs)
-  : prep(new Rep(cgs)) {
-  prep->new_reference();
-}
+  // Multiset ordering is only useful when `y' is not a singleton.
+  const bool y_is_not_a_singleton = y.size() > 1;
 
-template <typename PSET>
-inline
-Determinate<PSET>::Determinate(const Determinate& y)
-  : prep(y.prep) {
-  prep->new_reference();
-}
+  // The multiset certificate for `y':
+  // we want to be lazy about its computation.
+  typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
+  Cert_Multiset y_cert_ms;
+  bool y_cert_ms_computed = false;
 
-template <typename PSET>
-inline
-Determinate<PSET>::~Determinate() {
-  if (prep->del_reference())
-    delete prep;
-}
+  if (hull_stabilization == 0 && y_is_not_a_singleton) {
+    // Collect the multiset certificate for `y'.
+    y.collect_certificates(y_cert_ms);
+    y_cert_ms_computed = true;
+    // If multiset ordering is stabilizing, do nothing.
+    if (x.is_cert_multiset_stabilizing(y_cert_ms))
+      return;
+  }
 
-template <typename PSET>
-inline Determinate<PSET>&
-Determinate<PSET>::operator=(const Determinate& y) {
-  y.prep->new_reference();
-  if (prep->del_reference())
-    delete prep;
-  prep = y.prep;
-  return *this;
-}
+  // Second widening technique: try the BGP99 powerset heuristics.
+  Pointset_Powerset<PSET> bgp99_heuristics = x;
+  bgp99_heuristics.BGP99_heuristics_assign(y, widen_fun);
 
-template <typename PSET>
-inline void
-Determinate<PSET>::swap(Determinate& y) {
-  std::swap(prep, y.prep);
-}
+  // Compute the poly-hull of `bgp99_heuristics'.
+  PSET bgp99_heuristics_hull(x.space_dim, EMPTY);
+  for (const_iterator i = bgp99_heuristics.begin(),
+	 b_h_end = bgp99_heuristics.end(); i != b_h_end; ++i)
+    bgp99_heuristics_hull.upper_bound_assign(i->pointset());
 
-template <typename PSET>
-inline void
-Determinate<PSET>::mutate() {
-  if (prep->is_shared()) {
-    Rep* new_prep = new Rep(prep->pset);
-    (void) prep->del_reference();
-    new_prep->new_reference();
-    prep = new_prep;
+  // Check for stabilization and, if successful,
+  // commit to the result of the extrapolation.
+  hull_stabilization = y_hull_cert.compare(bgp99_heuristics_hull);
+  if (hull_stabilization == 1) {
+    // The poly-hull is stabilizing.
+    swap(x, bgp99_heuristics);
+    return;
+  }
+  else if (hull_stabilization == 0 && y_is_not_a_singleton) {
+    // If not already done, compute multiset certificate for `y'.
+    if (!y_cert_ms_computed) {
+      y.collect_certificates(y_cert_ms);
+      y_cert_ms_computed = true;
+    }
+    if (bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
+      swap(x, bgp99_heuristics);
+      return;
+    }
+    // Third widening technique: pairwise-reduction on `bgp99_heuristics'.
+    // Note that pairwise-reduction does not affect the computation
+    // of the poly-hulls, so that we only have to check the multiset
+    // certificate relation.
+    Pointset_Powerset<PSET> reduced_bgp99_heuristics(bgp99_heuristics);
+    reduced_bgp99_heuristics.pairwise_reduce();
+    if (reduced_bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
+      swap(x, reduced_bgp99_heuristics);
+      return;
+    }
   }
-}
 
-template <typename PSET>
-inline const PSET&
-Determinate<PSET>::pointset() const {
-  return prep->pset;
-}
+  // Fourth widening technique: this is applicable only when
+  // `y_hull' is a proper subset of `bgp99_heuristics_hull'.
+  if (bgp99_heuristics_hull.strictly_contains(y_hull)) {
+    // Compute (y_hull \widen bgp99_heuristics_hull).
+    PSET ph = bgp99_heuristics_hull;
+    widen_fun(ph, y_hull);
+    // Compute the difference between `ph' and `bgp99_heuristics_hull'.
+    ph.difference_assign(bgp99_heuristics_hull);
+    x.add_disjunct(ph);
+    return;
+  }
 
-template <typename PSET>
-inline PSET&
-Determinate<PSET>::pointset() {
-  mutate();
-  return prep->pset;
+  // Fall back to the computation of the poly-hull.
+  Pointset_Powerset<PSET> x_hull_singleton(x.space_dim, EMPTY);
+  x_hull_singleton.add_disjunct(x_hull);
+  swap(x, x_hull_singleton);
 }
 
 template <typename PSET>
-inline void
-Determinate<PSET>::upper_bound_assign(const Determinate& y) {
-  pointset().upper_bound_assign(y.pointset());
+void
+Pointset_Powerset<PSET>::ascii_dump(std::ostream& s) const {
+  const Pointset_Powerset& x = *this;
+  s << "size " << x.size()
+    << "\nspace_dim " << x.space_dim
+    << "\n";
+  for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi)
+    xi->pointset().ascii_dump(s);
 }
 
-template <typename PSET>
-inline void
-Determinate<PSET>::meet_assign(const Determinate& y) {
-  pointset().intersection_assign(y.pointset());
-}
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(PSET, Pointset_Powerset<PSET>)
 
 template <typename PSET>
-inline bool
-Determinate<PSET>::has_nontrivial_weakening() {
-  // FIXME: the following should be turned into a query to PSET.  This
-  // can be postponed until the time the ask-and-tell construction is
-  // revived.
-  return false;
-}
+bool
+Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
+  Pointset_Powerset& x = *this;
+  std::string str;
 
-template <typename PSET>
-inline void
-Determinate<PSET>::weakening_assign(const Determinate& y) {
-  // FIXME: the following should be turned into a proper
-  // implementation.  This can be postponed until the time the
-  // ask-and-tell construction is revived.
-  pointset().difference_assign(y.pointset());
-}
+  if (!(s >> str) || str != "size")
+    return false;
 
-template <typename PSET>
-inline void
-Determinate<PSET>::concatenate_assign(const Determinate& y) {
-  pointset().concatenate_assign(y.pointset());
-}
+  size_type sz;
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::definitely_entails(const Determinate& y) const {
-  return prep == y.prep || y.prep->pset.contains(prep->pset);
-}
+  if (!(s >> sz))
+    return false;
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::is_definitely_equivalent_to(const Determinate& y) const {
-  return prep == y.prep || prep->pset == y.prep->pset;
-}
+  if (!(s >> str) || str != "space_dim")
+    return false;
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::is_top() const {
-  return prep->pset.is_universe();
-}
+  if (!(s >> x.space_dim))
+    return false;
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::is_bottom() const {
-  return prep->pset.is_empty();
-}
+  Pointset_Powerset new_x(x.space_dim, EMPTY);
+  while (sz-- > 0) {
+    PSET ph;
+    if (!ph.ascii_load(s))
+      return false;
+    new_x.add_disjunct(ph);
+  }
+  swap(x, new_x);
 
-template <typename PSET>
-inline memory_size_type
-Determinate<PSET>::external_memory_in_bytes() const {
-  return prep->total_memory_in_bytes();
+  // Check invariants.
+  PPL_ASSERT_HEAVY(x.OK());
+  return true;
 }
 
 template <typename PSET>
-inline memory_size_type
-Determinate<PSET>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+bool
+Pointset_Powerset<PSET>::OK() const {
+  const Pointset_Powerset& x = *this;
+  for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi) {
+    const PSET& pi = xi->pointset();
+    if (pi.space_dimension() != x.space_dim) {
+#ifndef NDEBUG
+      std::cerr << "Space dimension mismatch: is " << pi.space_dimension()
+		<< " in an element of the sequence,\nshould be "
+		<< x.space_dim << "."
+		<< std::endl;
+#endif
+      return false;
+    }
+  }
+  return x.Base::OK();
 }
 
-template <typename PSET>
-inline bool
-Determinate<PSET>::OK() const {
-  return prep->pset.OK();
-}
+namespace Implementation {
 
-namespace IO_Operators {
+namespace Pointset_Powersets {
 
-/*! \relates Parma_Polyhedra_Library::Determinate */
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partitions polyhedron \p pset according to constraint \p c.
+/*! \relates Parma_Polyhedra_Library::Pointset_Powerset
+  On exit, the intersection of \p pset and constraint \p c is stored
+  in \p pset, whereas the intersection of \p pset with the negation of \p c
+  is added as a new disjunct of the powerset \p r.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename PSET>
-inline std::ostream&
-operator<<(std::ostream& s, const Determinate<PSET>& x) {
-  s << x.pointset();
-  return s;
+void
+linear_partition_aux(const Constraint& c,
+		     PSET& pset,
+		     Pointset_Powerset<NNC_Polyhedron>& r) {
+  Linear_Expression le(c);
+  const Constraint& neg_c = c.is_strict_inequality() ? (le <= 0) : (le < 0);
+  NNC_Polyhedron nnc_ph_pset(pset);
+  nnc_ph_pset.add_constraint(neg_c);
+  if (!nnc_ph_pset.is_empty())
+    r.add_disjunct(nnc_ph_pset);
+  pset.add_constraint(c);
 }
 
-} // namespace IO_Operators
-
-/*! \relates Determinate */
-template <typename PSET>
-inline bool
-operator==(const Determinate<PSET>& x, const Determinate<PSET>& y) {
-  return x.prep == y.prep || x.prep->pset == y.prep->pset;
-}
+} // namespace Pointset_Powersets
 
-/*! \relates Determinate */
-template <typename PSET>
-inline bool
-operator!=(const Determinate<PSET>& x, const Determinate<PSET>& y) {
-  return x.prep != y.prep && x.prep->pset != y.prep->pset;
-}
+} // namespace Implementation
 
-template <typename PSET>
-template <typename Binary_Operator_Assign>
-inline
-Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
-Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
-  : op_assign_(op_assign) {
-}
 
+/*! \relates Pointset_Powerset */
 template <typename PSET>
-template <typename Binary_Operator_Assign>
-inline void
-Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
-operator()(Determinate& x, const Determinate& y) const {
-  op_assign_(x.pointset(), y.pointset());
-}
+std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
+linear_partition(const PSET& p, const PSET& q) {
+  using Implementation::Pointset_Powersets::linear_partition_aux;
 
-template <typename PSET>
-template <typename Binary_Operator_Assign>
-inline
-Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
-Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
-  return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
+  Pointset_Powerset<NNC_Polyhedron> r(p.space_dimension(), EMPTY);
+  PSET pset = q;
+  const Constraint_System& p_constraints = p.constraints();
+  for (Constraint_System::const_iterator i = p_constraints.begin(),
+	 p_constraints_end = p_constraints.end();
+       i != p_constraints_end;
+       ++i) {
+    const Constraint& c = *i;
+    if (c.is_equality()) {
+      Linear_Expression le(c);
+      linear_partition_aux(le <= 0, pset, r);
+      linear_partition_aux(le >= 0, pset, r);
+    }
+    else
+      linear_partition_aux(c, pset, r);
+  }
+  return std::make_pair(pset, r);
 }
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1449. */
 
-namespace std {
+/* Automatically generated from PPL source file ../src/algorithms.hh line 29. */
+#include <utility>
+/* Automatically generated from PPL source file ../src/algorithms.hh line 31. */
 
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PSET>
-inline void
-swap(Parma_Polyhedra_Library::Determinate<PSET>& x,
-     Parma_Polyhedra_Library::Determinate<PSET>& y) {
-  x.swap(y);
-}
+namespace Parma_Polyhedra_Library {
 
-} // namespace std
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  If the poly-hull of \p p and \p q is exact it is assigned
+  to \p p and <CODE>true</CODE> is returned,
+  otherwise <CODE>false</CODE> is returned.
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 336. */
+  \relates Polyhedron
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PH>
+bool
+poly_hull_assign_if_exact(PH& p, const PH& q);
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 1. */
-/* Powerset class declaration.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Polyhedron */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename PH>
+bool
+poly_hull_assign_if_exact(PH& p, const PH& q) {
+  PH poly_hull = p;
+  NNC_Polyhedron nnc_p(p);
+  poly_hull.poly_hull_assign(q);
+  std::pair<PH, Pointset_Powerset<NNC_Polyhedron> >
+    partition = linear_partition(q, poly_hull);
+  const Pointset_Powerset<NNC_Polyhedron>& s = partition.second;
+  typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
+  for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i)
+    // The polyhedral hull is exact if and only if all the elements
+    // of the partition of the polyhedral hull of `p' and `q' with
+    // respect to `q' are included in `p'
+    if (!nnc_p.contains(i->pointset()))
+      return false;
+  p = poly_hull;
+  return true;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 1. */
+/* Utilities for termination analysis: declarations.
 */
 
 
-/* Automatically generated from PPL source file ../src/Powerset.types.hh line 1. */
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 28. */
 
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 33. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename D>
-class Powerset;
+class Termination_Helpers {
+public:
+  static void
+  all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+                                  const Constraint_System& cs_after,
+                                  NNC_Polyhedron& mu_space);
+  static bool
+  one_affine_ranking_function_PR(const Constraint_System& cs_before,
+                                 const Constraint_System& cs_after,
+                                 Generator& mu);
+  static bool
+  one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                          Generator& mu);
+  static void
+  all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                           NNC_Polyhedron& mu_space);
 
-} // namespace Parma_Polyhedra_Library
+  template <typename PSET>
+  static void
+  assign_all_inequalities_approximation(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        Constraint_System& cs);
+}; // class Termination_Helpers
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 1. */
-/* iterator_to_const and const_iterator_to_const class declarations.
-*/
+//! \name Functions for the Synthesis of Linear Rankings
+//@{
 
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.types.hh line 1. */
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
 
-namespace Parma_Polyhedra_Library {
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset);
 
-template <typename Container>
-class iterator_to_const;
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test using an improvement of the method by Mesnard and
+  Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-template <typename Container>
-class const_iterator_to_const;
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-} // namespace Parma_Polyhedra_Library
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 29. */
-//#include "Ask_Tell.types.hh"
-#include <iterator>
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An iterator on a sequence of read-only objects.
-/*! \ingroup PPL_CXX_interface
-  This template class implements a bidirectional <EM>read-only</EM>
-  iterator on the sequence of objects <CODE>Container</CODE>.
-  By using this iterator class it is not possible to modify the objects
-  contained in <CODE>Container</CODE>; rather, object modification has
-  to be implemented by object replacement, i.e., by using the methods
-  provided by <CODE>Container</CODE> to remove/insert objects.
-  Such a policy (a modifiable container of read-only objects) allows
-  for a reliable enforcement of invariants (such as sortedness of the
-  objects in the sequence).
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
 
-  \note
-  For any developers' need, suitable friend declarations allow for
-  accessing the low-level iterators on the sequence of objects.
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Container>
-class Parma_Polyhedra_Library::iterator_to_const {
-private:
-  //! The type of the underlying mutable iterator.
-  typedef typename Container::iterator Base;
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after);
 
-  //! A shortcut for naming the const_iterator traits.
-  typedef typename
-  std::iterator_traits<typename Container::const_iterator> Traits;
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-  //! A (mutable) iterator on the sequence of elements.
-  Base base;
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  //! Constructs from the lower-level iterator.
-  iterator_to_const(const Base& b);
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
 
-  friend class const_iterator_to_const<Container>;
-  template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
 
-public:
-  // Same traits of the const_iterator, therefore
-  // forbidding the direct modification of sequence elements.
-  typedef typename Traits::iterator_category iterator_category;
-  typedef typename Traits::value_type value_type;
-  typedef typename Traits::difference_type difference_type;
-  typedef typename Traits::pointer pointer;
-  typedef typename Traits::reference reference;
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then <CODE>true</CODE> is returned <EM>if and only if</EM>
+  the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu);
 
-  //! Default constructor.
-  iterator_to_const();
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test with witness ranking function using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-  //! Copy constructor.
-  iterator_to_const(const iterator_to_const& y);
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  //! Dereference operator.
-  reference operator*() const;
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
 
-  //! Indirect access operator.
-  pointer operator->() const;
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
 
-  //! Prefix increment operator.
-  iterator_to_const& operator++();
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
 
-  //! Postfix increment operator.
-  iterator_to_const operator++(int);
+  \param mu
+  When <CODE>true</CODE> is returned, this is assigned a point
+  of space dimension \f$ n+1 \f$ encoding one (not further specified)
+  affine ranking function for the loop being analyzed.
+  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
+  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
+  respectively.
 
-  //! Prefix decrement operator.
-  iterator_to_const& operator--();
+  \return
+  <CODE>true</CODE> if any loop approximated by \p pset definitely
+  terminates; <CODE>false</CODE> if the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then <CODE>true</CODE> is returned
+  <EM>if and only if</EM> the loop terminates.
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
 
-  //! Postfix decrement operator.
-  iterator_to_const operator--(int);
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are identical.
-  */
-  bool operator==(const iterator_to_const& y) const;
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are different.
-  */
-  bool operator!=(const iterator_to_const& y) const;
-};
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A %const_iterator on a sequence of read-only objects.
-/*! \ingroup PPL_CXX_interface
-  This class, besides implementing a read-only bidirectional iterator
-  on a read-only sequence of objects, ensures interoperability
-  with template class iterator_to_const.
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Container>
-class Parma_Polyhedra_Library::const_iterator_to_const {
-private:
-  //! The type of the underlying %const_iterator.
-  typedef typename Container::const_iterator Base;
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space);
 
-  //! A shortcut for naming traits.
-  typedef typename std::iterator_traits<Base> Traits;
+/*! \brief \ingroup PPL_CXX_interface
+  Termination test with ranking function space using an improvement
+  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-  //! A %const_iterator on the sequence of elements.
-  Base base;
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  //! Constructs from the lower-level const_iterator.
-  const_iterator_to_const(const Base& b);
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
 
-  friend class iterator_to_const<Container>;
-  template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
 
-public:
-  // Same traits of the underlying const_iterator.
-  typedef typename Traits::iterator_category iterator_category;
-  typedef typename Traits::value_type value_type;
-  typedef typename Traits::difference_type difference_type;
-  typedef typename Traits::pointer pointer;
-  typedef typename Traits::reference reference;
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
 
-  //! Default constructor.
-  const_iterator_to_const();
+  \param mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the affine ranking functions for the loops
+  that are precisely characterized by \p pset.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p mu_space polyhedron.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions of \p mu_space
+  \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p mu_space is empty, it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p mu_space is empty <EM>if and only if</EM>
+  the loop does <EM>not</EM> terminate.
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space);
 
-  //! Copy constructor.
-  const_iterator_to_const(const const_iterator_to_const& y);
+/*! \brief \ingroup PPL_CXX_interface
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
 
-  //! Constructs from the corresponding non-const iterator.
-  const_iterator_to_const(const iterator_to_const<Container>& y);
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  //! Dereference operator.
-  reference operator*() const;
+  \param pset
+  A pointset approximating the behavior of a loop whose termination
+  is being analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
+  .
+  where unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.
 
-  //! Indirect member selector.
-  pointer operator->() const;
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
 
-  //! Prefix increment operator.
-  const_iterator_to_const& operator++();
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
 
-  //! Postfix increment operator.
-  const_iterator_to_const operator++(int);
+  These quasi-ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset <EM>precisely</EM> characterizes the effect
+  of the loop body onto the loop-relevant program variables,
+  then \p decreasing_mu_space (resp., \p bounded_mu_space) will be empty
+  <EM>if and only if</EM> there is no decreasing (resp., lower bounded)
+  affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
 
-  //! Prefix decrement operator.
-  const_iterator_to_const& operator--();
+/*! \brief \ingroup PPL_CXX_interface
+  Computes the spaces of affine \e quasi ranking functions
+  using an improvement of the method by Mesnard and Serebrenik
+  \ref BMPZ10 "[BMPZ10]".
 
-  //! Postfix decrement operator.
-  const_iterator_to_const operator--(int);
+  \tparam PSET
+  Any pointset supported by the PPL that provides the
+  <CODE>minimized_constraints()</CODE> method.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are identical.
-  */
-  bool operator==(const const_iterator_to_const& y) const;
+  \param pset_before
+  A pointset approximating the values of loop-relevant variables
+  <EM>before</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are different.
-  */
-  bool operator!=(const const_iterator_to_const& y) const;
-};
+  \param pset_after
+  A pointset approximating the values of loop-relevant variables
+  <EM>after</EM> the update performed in the loop body that is being
+  analyzed.  The variables indices are allocated as follows:
+  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
+    \f$ 0, \ldots, n-1 \f$,
+  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
+    \f$ n, \ldots, 2n-1 \f$,
 
-namespace Parma_Polyhedra_Library {
+  Note that unprimed variables represent the values of the loop-relevant
+  program variables before the update performed in the loop body,
+  and primed variables represent the values of those program variables
+  after the update.  Note also that unprimed variables are assigned
+  to different space dimensions in \p pset_before and \p pset_after.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Mixed comparison operator: returns <CODE>true</CODE> if and only
-  if (the const version of) \p x is identical to \p y.
+  \param decreasing_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the decreasing affine functions
+  for the loops that are precisely characterized by \p pset.
 
-  \relates const_iterator_to_const
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Container>
-bool
-operator==(const iterator_to_const<Container>& x,
-	   const const_iterator_to_const<Container>& y);
+  \param bounded_mu_space
+  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
+  representing the space of all the lower bounded affine functions
+  for the loops that are precisely characterized by \p pset.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Mixed comparison operator: returns <CODE>true</CODE> if and only
-  if (the const version of) \p x is different from \p y.
+  These ranking functions are of the form
+  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
+  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
+  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
+  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
+  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
+  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
+  it means that the test is inconclusive.
+  However, if \p pset_before and \p pset_after <EM>precisely</EM>
+  characterize the effect of the loop body onto the loop-relevant
+  program variables, then \p decreasing_mu_space (resp., \p bounded_mu_space)
+  will be empty <EM>if and only if</EM> there is no decreasing
+  (resp., lower bounded) affine function, so that the loop does not terminate.
+*/
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space);
 
-  \relates const_iterator_to_const
+/*! \brief \ingroup PPL_CXX_interface
+  Like termination_test_MS() but using the method by Podelski and
+  Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename Container>
+template <typename PSET>
 bool
-operator!=(const iterator_to_const<Container>& x,
-	   const const_iterator_to_const<Container>& y);
-
-} // namespace Parma_Polyhedra_Library
+termination_test_PR(const PSET& pset);
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.inlines.hh line 1. */
-/* iterator_to_const and const_iterator_to_const class implementations:
-   inline functions.
+/*! \brief \ingroup PPL_CXX_interface
+  Like termination_test_MS_2() but using an alternative formalization
+  of the method by Podelski and Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after);
 
+/*! \brief \ingroup PPL_CXX_interface
+  Like one_affine_ranking_function_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset, Generator& mu);
 
-namespace Parma_Polyhedra_Library {
+/*! \brief \ingroup PPL_CXX_interface
+  Like one_affine_ranking_function_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu);
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const()
-  : base() {
-}
+/*! \brief \ingroup PPL_CXX_interface
+  Like all_affine_ranking_functions_MS() but using the method by Podelski
+  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset, NNC_Polyhedron& mu_space);
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const(const iterator_to_const& y)
-  : base(y.base) {
-}
+/*! \brief \ingroup PPL_CXX_interface
+  Like all_affine_ranking_functions_MS_2() but using an alternative
+  formalization of the method by Podelski and Rybalchenko
+  \ref BMPZ10 "[BMPZ10]".
+*/
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space);
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const(const Base& b)
-  : base(b) {
-}
+//@} // Functions for the Synthesis of Linear Rankings
 
-template <typename Container>
-inline typename iterator_to_const<Container>::reference
-iterator_to_const<Container>::operator*() const {
-  return *base;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename Container>
-inline typename iterator_to_const<Container>::pointer
-iterator_to_const<Container>::operator->() const {
-  return &*base;
-}
+/* Automatically generated from PPL source file ../src/termination.templates.hh line 1. */
+/* Utilities for termination analysis: template functions.
+*/
 
-template <typename Container>
-inline iterator_to_const<Container>&
-iterator_to_const<Container>::operator++() {
-  ++base;
-  return *this;
-}
 
-template <typename Container>
-inline iterator_to_const<Container>
-iterator_to_const<Container>::operator++(int) {
-  iterator_to_const tmp = *this;
-  operator++();
-  return tmp;
-}
+/* Automatically generated from PPL source file ../src/termination.templates.hh line 33. */
 
-template <typename Container>
-inline iterator_to_const<Container>&
-iterator_to_const<Container>::operator--() {
-  --base;
-  return *this;
-}
+#include <stdexcept>
 
-template <typename Container>
-inline iterator_to_const<Container>
-iterator_to_const<Container>::operator--(int) {
-  iterator_to_const tmp = *this;
-  operator--();
-  return tmp;
-}
+#define PRINT_DEBUG_INFO 0
 
-template <typename Container>
-inline bool
-iterator_to_const<Container>::operator==(const iterator_to_const& y) const {
-  return base == y.base;
-}
+#if PRINT_DEBUG_INFO
+#include <iostream>
+#endif
 
-template <typename Container>
-inline bool
-iterator_to_const<Container>::operator!=(const iterator_to_const& y) const {
-  return !operator==(y);
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>::const_iterator_to_const()
-  : base() {
-}
+namespace Implementation {
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>
-::const_iterator_to_const(const const_iterator_to_const& y)
-  : base(y.base) {
-}
+namespace Termination {
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>::const_iterator_to_const(const Base& b)
-  : base(b) {
-}
+#if PRINT_DEBUG_INFO
+static dimension_type output_function_MS_n;
+static dimension_type output_function_MS_m;
 
-template <typename Container>
-inline typename const_iterator_to_const<Container>::reference
-const_iterator_to_const<Container>::operator*() const {
-  return *base;
-}
+/* Encodes which object are we printing:
 
-template <typename Container>
-inline typename const_iterator_to_const<Container>::pointer
-const_iterator_to_const<Container>::operator->() const {
-  return &*base;
-}
+   0 means input constraint system;
+   1 means first output constraint system;
+   2 means second output constraint system;
+   3 means only output constraint system
+     (i.e., when first and second are the same);
+   4 means mu space.
+*/
+static int output_function_MS_which = -1;
 
-template <typename Container>
-inline const_iterator_to_const<Container>&
-const_iterator_to_const<Container>::operator++() {
-  ++base;
-  return *this;
+/*
+  Debugging output function.  See the documentation of
+  fill_constraint_systems_MS() for the allocation of variable indices.
+*/
+inline void
+output_function_MS(std::ostream& s, const Variable v) {
+  dimension_type id = v.id();
+  switch (output_function_MS_which) {
+  case 0:
+    if (id < output_function_MS_n)
+      s << "x'" << id + 1;
+    else if (id < 2*output_function_MS_n)
+      s << "x" << id - output_function_MS_n + 1;
+    else
+      s << "WHAT?";
+    break;
+  case 1:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "WHAT?";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 2:
+  case 4:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (output_function_MS_which == 2
+	     && id <= output_function_MS_n + output_function_MS_m + 2)
+      s << "z" << id - output_function_MS_n;
+    else
+      s << "WHAT?";
+    break;
+  case 3:
+    if (id < output_function_MS_n)
+      s << "mu" << id + 1;
+    else if (id == output_function_MS_n)
+      s << "mu0";
+    else if (id <= output_function_MS_n + output_function_MS_m)
+      s << "y" << id - output_function_MS_n;
+    else if (id <= output_function_MS_n + 2*output_function_MS_m + 2)
+      s << "z" << id - (output_function_MS_n + output_function_MS_m);
+    else
+      s << "WHAT?";
+    break;
+  default:
+    abort();
+    break;
+  }
 }
 
-template <typename Container>
-inline const_iterator_to_const<Container>
-const_iterator_to_const<Container>::operator++(int) {
-  const_iterator_to_const tmp = *this;
-  operator++();
-  return tmp;
-}
+static dimension_type output_function_PR_s;
+static dimension_type output_function_PR_r;
 
-template <typename Container>
-inline const_iterator_to_const<Container>&
-const_iterator_to_const<Container>::operator--() {
-  --base;
-  return *this;
+/*
+  Debugging output function.  See the documentation of
+  fill_constraint_system_PR() for the allocation of variable indices.
+*/
+inline void
+output_function_PR(std::ostream& s, const Variable v) {
+  dimension_type id = v.id();
+  if (id < output_function_PR_s)
+    s << "u3_" << id + 1;
+  else if (id < output_function_PR_s + output_function_PR_r)
+    s << "u2_" << id - output_function_PR_s + 1;
+  else if (id < output_function_PR_s + 2*output_function_PR_r)
+    s << "u1_" << id - (output_function_PR_s + output_function_PR_r) + 1;
+  else
+    s << "WHAT?";
 }
+#endif
 
-template <typename Container>
-inline const_iterator_to_const<Container>
-const_iterator_to_const<Container>::operator--(int) {
-  const_iterator_to_const tmp = *this;
-  operator--();
-  return tmp;
-}
+void
+assign_all_inequalities_approximation(const Constraint_System& cs_in,
+				      Constraint_System& cs_out);
 
-template <typename Container>
-inline bool
-const_iterator_to_const<Container>
-::operator==(const const_iterator_to_const& y) const {
-  return base == y.base;
+template <typename PSET>
+inline void
+assign_all_inequalities_approximation(const PSET& pset,
+				      Constraint_System& cs) {
+  assign_all_inequalities_approximation(pset.minimized_constraints(), cs);
 }
 
-template <typename Container>
-inline bool
-const_iterator_to_const<Container>
-::operator!=(const const_iterator_to_const& y) const {
-  return !operator==(y);
-}
+template <>
+void
+assign_all_inequalities_approximation(const C_Polyhedron& ph,
+				      Constraint_System& cs);
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>
-::const_iterator_to_const(const iterator_to_const<Container>& y)
-  : base(y.base) {
-}
+bool
+termination_test_MS(const Constraint_System& cs);
 
-/*! \relates const_iterator_to_const */
-template <typename Container>
-inline bool
-operator==(const iterator_to_const<Container>& x,
-	   const const_iterator_to_const<Container>& y) {
-  return const_iterator_to_const<Container>(x).operator==(y);
-}
+bool
+one_affine_ranking_function_MS(const Constraint_System& cs,
+			       Generator& mu);
 
-/*! \relates const_iterator_to_const */
-template <typename Container>
-inline bool
-operator!=(const iterator_to_const<Container>& x,
-	   const const_iterator_to_const<Container>& y) {
-  return !(x == y);
-}
+void
+all_affine_ranking_functions_MS(const Constraint_System& cs,
+				C_Polyhedron& mu_space);
 
-} // namespace Parma_Polyhedra_Library
+void
+all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space);
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 222. */
+bool
+termination_test_PR(const Constraint_System& cs_before,
+		    const Constraint_System& cs_after);
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 30. */
-#include <iosfwd>
-#include <iterator>
-#include <list>
+bool
+one_affine_ranking_function_PR(const Constraint_System& cs_before,
+			       const Constraint_System& cs_after,
+			       Generator& mu);
 
-namespace Parma_Polyhedra_Library {
+void
+all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+				const Constraint_System& cs_after,
+				NNC_Polyhedron& mu_space);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equivalent.
-/*! \relates Powerset */
-template <typename D>
 bool
-operator==(const Powerset<D>& x, const Powerset<D>& y);
+termination_test_PR_original(const Constraint_System& cs);
 
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equivalent.
-/*! \relates Powerset */
-template <typename D>
 bool
-operator!=(const Powerset<D>& x, const Powerset<D>& y);
+one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                        Generator& mu);
 
-namespace IO_Operators {
+void
+all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                         NNC_Polyhedron& mu_space);
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-std::ostream&
-operator<<(std::ostream& s, const Powerset<D>& x);
+} // namespace Termination
 
-} // namespace IO_Operators
+} // namespace Implementation
 
-} // namespace Parma_Polyhedra_Library
+template <typename PSET>
+void
+Termination_Helpers
+::assign_all_inequalities_approximation(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        Constraint_System& cs) {
+  Implementation::Termination
+    ::assign_all_inequalities_approximation(pset_before, cs);
+  cs.shift_space_dimensions(Variable(0), cs.space_dimension());
+  Constraint_System cs_after;
+  Implementation::Termination
+    ::assign_all_inequalities_approximation(pset_after, cs_after);
+  // FIXME: provide an "append" for constraint systems.
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+         cs_after_end = cs_after.end(); i != cs_after_end; ++i)
+    cs.insert(*i);
+}
 
+template <typename PSET>
+bool
+termination_test_MS(const PSET& pset) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS(pset):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-//! The powerset construction on a base-level domain.
-/*! \ingroup PPL_CXX_interface
-  This class offers a generic implementation of a
-  <EM>powerset</EM> domain as defined in Section \ref powerset.
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return termination_test_MS(cs);
+}
 
-  Besides invoking the available methods on the disjuncts of a Powerset,
-  this class also provides bidirectional iterators that allow for a
-  direct inspection of these disjuncts. For a consistent handling of
-  Omega-reduction, all the iterators are <EM>read-only</EM>, meaning
-  that the disjuncts cannot be overwritten. Rather, by using the class
-  <CODE>iterator</CODE>, it is possible to drop one or more disjuncts
-  (possibly so as to later add back modified versions).  As an example
-  of iterator usage, the following template function drops from
-  powerset \p ps all the disjuncts that would have become redundant by
-  the addition of an external element \p d.
+template <typename PSET>
+bool
+termination_test_MS_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_MS_2(pset_before, pset_after):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-  \code
-template <typename D>
-void
-drop_subsumed(Powerset<D>& ps, const D& d) {
-  for (typename Powerset<D>::iterator i = ps.begin(),
-         ps_end = ps.end(), i != ps_end; )
-    if (i->definitely_entails(d))
-      i = ps.drop_disjunct(i);
-    else
-      ++i;
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return termination_test_MS(cs);
 }
-  \endcode
 
-  The template class D must provide the following methods.
-  \code
-    memory_size_type total_memory_in_bytes() const
-  \endcode
-  Returns a lower bound on the total size in bytes of the memory
-  occupied by the instance of D.
-  \code
-    bool is_top() const
-  \endcode
-  Returns <CODE>true</CODE> if and only if the instance of D is the top
-  element of the domain.
-  \code
-    bool is_bottom() const
-  \endcode
-  Returns <CODE>true</CODE> if and only if the instance of D is the
-  bottom element of the domain.
-  \code
-    bool definitely_entails(const D& y) const
-  \endcode
-  Returns <CODE>true</CODE> if the instance of D definitely entails
-  <CODE>y</CODE>.  Returns <CODE>false</CODE> if the instance may not
-  entail <CODE>y</CODE> (i.e., if the instance does not entail
-  <CODE>y</CODE> or if entailment could not be decided).
-  \code
-    void upper_bound_assign(const D& y)
-  \endcode
-  Assigns to the instance of D an upper bound of the instance and
-  <CODE>y</CODE>.
-  \code
-    void meet_assign(const D& y)
-  \endcode
-  Assigns to the instance of D the meet of the instance and
-  <CODE>y</CODE>.
-  \code
-    bool OK() const
-  \endcode
-  Returns <CODE>true</CODE> if the instance of D is in a consistent
-  state, else returns <CODE>false</CODE>.
+template <typename PSET>
+bool
+one_affine_ranking_function_MS(const PSET& pset, Generator& mu) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS(pset, mu):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-  The following operators on the template class D must be defined.
-  \code
-    operator<<(std::ostream& s, const D& x)
-  \endcode
-  Writes a textual representation of the instance of D on
-  <CODE>s</CODE>.
-  \code
-    operator==(const D& x, const D& y)
-  \endcode
-  Returns <CODE>true</CODE> if and only if <CODE>x</CODE> and
-  <CODE>y</CODE> are equivalent D's.
-  \code
-    operator!=(const D& x, const D& y)
-  \endcode
-  Returns <CODE>true</CODE> if and only if <CODE>x</CODE> and
-  <CODE>y</CODE> are different D's.
-*/
-template <typename D>
-class Parma_Polyhedra_Library::Powerset {
-public:
-  //! \name Constructors and Destructor
-  //@{
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
 
-  /*! \brief
-    Default constructor: builds the bottom of the powerset constraint
-    system (i.e., the empty powerset).
-  */
-  Powerset();
+template <typename PSET>
+bool
+one_affine_ranking_function_MS_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_MS_2(pset_before, pset_after, mu):\n"
+         "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! Copy constructor.
-  Powerset(const Powerset& y);
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  return one_affine_ranking_function_MS(cs, mu);
+}
 
-  /*! \brief
-    If \p d is not bottom, builds a powerset containing only \p d.
-    Builds the empty powerset otherwise.
-  */
-  explicit Powerset(const D& d);
+template <typename PSET>
+void
+all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS(pset, mu_space):\n"
+         "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset.is_empty()) {
+    mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
+
+template <typename PSET>
+void
+all_affine_ranking_functions_MS_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  C_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
+
+  if (pset_before.is_empty()) {
+    mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    return;
+  }
+
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_ranking_functions_MS(cs, mu_space);
+}
 
-  //! Destructor.
-  ~Powerset();
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS(const PSET& pset,
+                                      C_Polyhedron& decreasing_mu_space,
+                                      C_Polyhedron& bounded_mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS"
+      << "(pset, decr_space, bounded_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //@} // Constructors and Destructor
+  if (pset.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
 
-  //! \name Member Functions that Do Not Modify the Powerset Object
-  //@{
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if \p *this definitely entails \p y.
-    Returns <CODE>false</CODE> if \p *this may not entail \p y
-    (i.e., if \p *this does not entail \p y or if entailment could
-    not be decided).
-  */
-  bool definitely_entails(const Powerset& y) const;
+template <typename PSET>
+void
+all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        C_Polyhedron& decreasing_mu_space,
+                                        C_Polyhedron& bounded_mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_quasi_ranking_functions_MS_2"
+      << "(pset_before, pset_after, decr_space, bounded_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the top
-    element of the powerset constraint system (i.e., it represents
-    the universe).
-  */
-  bool is_top() const;
+  if (pset_before.is_empty()) {
+    decreasing_mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
+    bounded_mu_space = decreasing_mu_space;
+    return;
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the bottom
-    element of the powerset constraint system (i.e., it represents
-    the empty set).
-  */
-  bool is_bottom() const;
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  all_affine_quasi_ranking_functions_MS(cs,
+                                        decreasing_mu_space,
+                                        bounded_mu_space);
+}
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
-  */
-  memory_size_type total_memory_in_bytes() const;
+template <typename PSET>
+bool
+termination_test_PR_2(const PSET& pset_before, const PSET& pset_after) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR_2(pset_before, pset_after):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-  /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
-  */
-  memory_size_type external_memory_in_bytes() const;
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return termination_test_PR(cs_before, cs_after);
+}
 
-  //! Checks if all the invariants are satisfied.
-  // FIXME: document and perhaps use an enum instead of a bool.
-  bool OK(bool disallow_bottom = false) const;
+template <typename PSET>
+bool
+termination_test_PR(const PSET& pset) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::termination_test_PR(pset):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //@} // Member Functions that Do Not Modify the Powerset Object
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return termination_test_PR_original(cs);
+}
 
-protected:
-  //! A powerset is implemented as a sequence of elements.
-  /*!
-    The particular sequence employed must support efficient deletion
-    in any position and efficient back insertion.
-  */
-  typedef std::list<D> Sequence;
+template <typename PSET>
+bool
+one_affine_ranking_function_PR_2(const PSET& pset_before,
+				 const PSET& pset_after,
+				 Generator& mu) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR_2"
+      << "(pset_before, pset_after, mu):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! Alias for the low-level iterator on the disjuncts.
-  typedef typename Sequence::iterator Sequence_iterator;
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  return one_affine_ranking_function_PR(cs_before, cs_after, mu);
+}
 
-  //! Alias for the low-level %const_iterator on the disjuncts.
-  typedef typename Sequence::const_iterator Sequence_const_iterator;
+template <typename PSET>
+bool
+one_affine_ranking_function_PR(const PSET& pset, Generator& mu) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::one_affine_ranking_function_PR(pset, mu):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! The sequence container holding powerset's elements.
-  Sequence sequence;
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  return one_affine_ranking_function_PR_original(cs, mu);
+}
 
-  //! If <CODE>true</CODE>, \p *this is Omega-reduced.
-  mutable bool reduced;
+template <typename PSET>
+void
+all_affine_ranking_functions_PR_2(const PSET& pset_before,
+				  const PSET& pset_after,
+				  NNC_Polyhedron& mu_space) {
+  const dimension_type before_space_dim = pset_before.space_dimension();
+  const dimension_type after_space_dim = pset_after.space_dimension();
+  if (after_space_dim != 2*before_space_dim) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_MS_2"
+      << "(pset_before, pset_after, mu_space):\n"
+      << "pset_before.space_dimension() == " << before_space_dim
+      << ", pset_after.space_dimension() == " << after_space_dim
+      << ";\nthe latter should be twice the former.";
+    throw std::invalid_argument(s.str());
+  }
 
-public:
-  // Sequence manipulation types, accessors and modifiers
-  typedef typename Sequence::size_type size_type;
-  typedef typename Sequence::value_type value_type;
+  if (pset_before.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + before_space_dim);
+    return;
+  }
 
-  /*! \brief
-    Alias for a <EM>read-only</EM> bidirectional %iterator on the
-    disjuncts of a Powerset element.
+  using namespace Implementation::Termination;
+  Constraint_System cs_before;
+  Constraint_System cs_after;
+  assign_all_inequalities_approximation(pset_before, cs_before);
+  assign_all_inequalities_approximation(pset_after, cs_after);
+  all_affine_ranking_functions_PR(cs_before, cs_after, mu_space);
+}
 
-    By using this iterator type, the disjuncts cannot be overwritten,
-    but they can be removed using methods
-    <CODE>drop_disjunct(iterator position)</CODE> and
-    <CODE>drop_disjuncts(iterator first, iterator last)</CODE>,
-    while still ensuring a correct handling of Omega-reduction.
-  */
-  typedef iterator_to_const<Sequence> iterator;
+template <typename PSET>
+void
+all_affine_ranking_functions_PR(const PSET& pset,
+				NNC_Polyhedron& mu_space) {
+  const dimension_type space_dim = pset.space_dimension();
+  if (space_dim % 2 != 0) {
+    std::ostringstream s;
+    s << "PPL::all_affine_ranking_functions_PR(pset, mu_space):\n"
+      << "pset.space_dimension() == " << space_dim
+      << " is odd.";
+    throw std::invalid_argument(s.str());
+  }
 
-  //! A bidirectional %const_iterator on the disjuncts of a Powerset element.
-  typedef const_iterator_to_const<Sequence> const_iterator;
+  if (pset.is_empty()) {
+    mu_space = NNC_Polyhedron(1 + space_dim/2);
+    return;
+  }
 
-  //! The reverse iterator type built from Powerset::iterator.
-  typedef std::reverse_iterator<iterator> reverse_iterator;
+  using namespace Implementation::Termination;
+  Constraint_System cs;
+  assign_all_inequalities_approximation(pset, cs);
+  all_affine_ranking_functions_PR_original(cs, mu_space);
+}
 
-  //! The reverse iterator type built from Powerset::const_iterator.
-  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+} // namespace Parma_Polyhedra_Library
 
-  //! \name Member Functions for the Direct Manipulation of Disjuncts
-  //@{
+/* Automatically generated from PPL source file ../src/termination.defs.hh line 501. */
 
-  /*! \brief
-    Drops from the sequence of disjuncts in \p *this all the
-    non-maximal elements so that \p *this is non-redundant.
+/* Automatically generated from PPL source file ../src/wrap_string.hh line 1. */
+/* Declaration of string wrapping function.
+*/
 
-    This method is declared <CODE>const</CODE> because, even though
-    Omega-reduction may change the syntactic representation of \p *this,
-    its semantics will be unchanged.
-  */
-  void omega_reduce() const;
 
-  //! Returns the number of disjuncts.
-  size_type size() const;
+/* Automatically generated from PPL source file ../src/wrap_string.hh line 28. */
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if there are no disjuncts in
-    \p *this.
-  */
-  bool empty() const;
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Returns an iterator pointing to the first disjunct, if \p *this
-    is not empty; otherwise, returns the past-the-end iterator.
-  */
-  iterator begin();
+namespace IO_Operators {
 
-  //! Returns the past-the-end iterator.
-  iterator end();
+//! Utility function for the wrapping of lines of text.
+/*!
+  \param src_string
+  The source string holding the lines to wrap.
 
-  /*! \brief
-    Returns a const_iterator pointing to the first disjunct, if \p *this
-    is not empty; otherwise, returns the past-the-end const_iterator.
-  */
-  const_iterator begin() const;
+  \param indent_depth
+  The indentation depth.
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  \param preferred_first_line_length
+  The preferred length for the first line of text.
 
-  /*! \brief
-    Returns a reverse_iterator pointing to the last disjunct, if \p *this
-    is not empty; otherwise, returns the before-the-start reverse_iterator.
-  */
-  reverse_iterator rbegin();
+  \param preferred_line_length
+  The preferred length for all the lines but the first one.
 
-  //! Returns the before-the-start reverse_iterator.
-  reverse_iterator rend();
+  \return
+  The wrapped string.
+*/
+std::string
+wrap_string(const std::string& src_string,
+	    unsigned indent_depth,
+	    unsigned preferred_first_line_length,
+	    unsigned preferred_line_length);
 
-  /*! \brief
-    Returns a const_reverse_iterator pointing to the last disjunct,
-    if \p *this is not empty; otherwise, returns the before-the-start
-    const_reverse_iterator.
-  */
-  const_reverse_iterator rbegin() const;
+} // namespace IO_Operators
 
-  //! Returns the before-the-start const_reverse_iterator.
-  const_reverse_iterator rend() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Adds to \p *this the disjunct \p d.
-  void add_disjunct(const D& d);
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Cast_Floating_Point_Expression class and
+   its constituents.
+*/
 
-  /*! \brief
-    Drops the disjunct in \p *this pointed to by \p position, returning
-    an iterator to the disjunct following \p position.
-  */
-  iterator drop_disjunct(iterator position);
 
-  //! Drops all the disjuncts from \p first to \p last (excluded).
-  void drop_disjuncts(iterator first, iterator last);
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.types.hh line 1. */
 
-  //! Drops all the disjuncts, making \p *this an empty powerset.
-  void clear();
 
-  //@} // Member Functions for the Direct Manipulation of Disjuncts
+namespace Parma_Polyhedra_Library {
 
-  //! \name Member Functions that May Modify the Powerset Object
-  //@{
+template <typename FP_Interval_Type, typename FP_Format>
+class Cast_Floating_Point_Expression;
 
-  //! The assignment operator.
-  Powerset& operator=(const Powerset& y);
+} // namespace Parma_Polyhedra_Library
 
-  //! Swaps \p *this with \p y.
-  void swap(Powerset& y);
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-  //! Assigns to \p *this the least upper bound of \p *this and \p y.
-  void least_upper_bound_assign(const Powerset& y);
+namespace Parma_Polyhedra_Library {
 
-  //! Assigns to \p *this an upper bound of \p *this and \p y.
-  /*!
-    The result will be the least upper bound of \p *this and \p y.
-  */
-  void upper_bound_assign(const Powerset& y);
+//! Swaps \p x with \p y.
+/*! \relates Cast_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void
+swap(Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-  /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y
-    and returns \c true.
+/*! \brief
+  A generic Cast Floating Point Expression.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool upper_bound_assign_if_exact(const Powerset& y);
+  \ingroup PPL_CXX_interface
 
-  //! Assigns to \p *this the meet of \p *this and \p y.
-  void meet_assign(const Powerset& y);
+  \par Template type parameters
 
-  /*! \brief
-    If \p *this is not empty (i.e., it is not the bottom element),
-    it is reduced to a singleton obtained by computing an upper-bound
-    of all the disjuncts.
-  */
-  void collapse();
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
 
-  //@} // Member Functions that May Modify the Powerset element
+  \par Linearization of floating-point cast expressions
 
-protected:
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this does not contain
-    non-maximal elements.
-  */
-  bool is_omega_reduced() const;
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
 
-  /*! \brief Upon return, \p *this will contain at most \p
-    max_disjuncts elements; the set of disjuncts in positions greater
-    than or equal to \p max_disjuncts, will be replaced at that
-    position by their upper-bound.
-  */
-  void collapse(unsigned max_disjuncts);
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
 
-  /*! \brief
-    Adds to \p *this the disjunct \p d,
-    assuming \p d is not the bottom element and ensuring
-    partial Omega-reduction.
+  Given a floating point expression \f$e\f$ and a composite abstract store
+  \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right \rrbracket\f$,
+  we construct the interval linear form
+  \f$\linexprenv{cast(e)}{\rho^{\#}}{\rho^{\#}_l}\f$ as follows:
+  \f[
+  \linexprenv{cast(e)}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Cast_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
-    If \p d is not the bottom element and is not Omega-redundant with
-    respect to elements in positions between \p first and \p last, all
-    elements in these positions that would be made Omega-redundant by the
-    addition of \p d are dropped and \p d is added to the reduced
-    sequence.
-    If \p *this is reduced before an invocation of this method,
-    it will be reduced upon successful return from the method.
-  */
-  iterator add_non_bottom_disjunct_preserve_reduction(const D& d,
-						      iterator first,
-						      iterator last);
+public:
 
   /*! \brief
-    Adds to \p *this the disjunct \p d, assuming \p d is not the
-    bottom element and preserving Omega-reduction.
-
-    If \p *this is reduced before an invocation of this method,
-    it will be reduced upon successful return from the method.
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
   */
-  void add_non_bottom_disjunct_preserve_reduction(const D& d);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
 
   /*! \brief
-    Assigns to \p *this the result of applying \p op_assign pairwise
-    to the elements in \p *this and \p y.
-
-    The elements of the powerset result are obtained by applying
-    \p op_assign to each pair of elements whose components are drawn
-    from \p *this and \p y, respectively.
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
   */
-  template <typename Binary_Operator_Assign>
-  void pairwise_apply_assign(const Powerset& y,
-			     Binary_Operator_Assign op_assign);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-private:
   /*! \brief
-    Does the hard work of checking whether \p *this contains non-maximal
-    elements and returns <CODE>true</CODE> if and only if it does not.
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
   */
-  bool check_omega_reduced() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
+  //! \name Constructors and Destructor
+  //@{
   /*! \brief
-    Replaces the disjunct \p *sink by an upper bound of itself and
-    all the disjuncts following it.
+    Builds a cast floating point expression with the value
+    expressed by \p expr.
   */
-  void collapse(Sequence_iterator sink);
-};
-
-namespace std {
-
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-void swap(Parma_Polyhedra_Library::Powerset<D>& x,
-	  Parma_Polyhedra_Library::Powerset<D>& y);
-
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Powerset.inlines.hh line 1. */
-/* Powerset class implementation: inline functions.
-*/
-
-
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/Powerset.inlines.hh line 29. */
+  Cast_Floating_Point_Expression(
+    Floating_Point_Expression<FP_Interval_Type, FP_Format>* const expr);
 
-namespace Parma_Polyhedra_Library {
+  //! Destructor.
+  ~Cast_Floating_Point_Expression();
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::begin() {
-  return sequence.begin();
-}
+  //@} // Constructors and Destructor
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::end() {
-  return sequence.end();
-}
+  /*! \brief
+    Linearizes the expression in a given astract store.
 
-template <typename D>
-inline typename Powerset<D>::const_iterator
-Powerset<D>::begin() const {
-  return sequence.begin();
-}
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-template <typename D>
-inline typename Powerset<D>::const_iterator
-Powerset<D>::end() const {
-  return sequence.end();
-}
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-template <typename D>
-inline typename Powerset<D>::reverse_iterator
-Powerset<D>::rbegin() {
-  return reverse_iterator(end());
-}
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-template <typename D>
-inline typename Powerset<D>::reverse_iterator
-Powerset<D>::rend() {
-  return reverse_iterator(begin());
-}
+    See the class description for an explanation of how \p result is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
-template <typename D>
-inline typename Powerset<D>::const_reverse_iterator
-Powerset<D>::rbegin() const {
-  return const_reverse_iterator(end());
-}
+  //! Swaps \p *this with \p y.
+  void m_swap(Cast_Floating_Point_Expression& y);
 
-template <typename D>
-inline typename Powerset<D>::const_reverse_iterator
-Powerset<D>::rend() const {
-  return const_reverse_iterator(begin());
-}
+private:
 
-template <typename D>
-inline typename Powerset<D>::size_type
-Powerset<D>::size() const {
-  return sequence.size();
-}
+  //! Pointer to the casted expression.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* expr;
 
-template <typename D>
-inline bool
-Powerset<D>::empty() const {
-  return sequence.empty();
-}
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Cast_Floating_Point_Expression(
+			  const Cast_Floating_Point_Expression& y);
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::drop_disjunct(iterator position) {
-  return sequence.erase(position.base);
-}
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAIL
+  Cast_Floating_Point_Expression& operator=(
+		          const Cast_Floating_Point_Expression& y);
 
-template <typename D>
-inline void
-Powerset<D>::drop_disjuncts(iterator first, iterator last) {
-  sequence.erase(first.base, last.base);
-}
+}; // class Cast_Floating_Point_Expression
 
-template <typename D>
-inline void
-Powerset<D>::clear() {
-  sequence.clear();
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename D>
-inline
-Powerset<D>::Powerset(const Powerset& y)
-  : sequence(y.sequence), reduced(y.reduced) {
-}
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.inlines.hh line 1. */
+/* Cast_Floating_Point_Expression class implementation: inline functions.
+*/
 
-template <typename D>
-inline Powerset<D>&
-Powerset<D>::operator=(const Powerset& y) {
-  sequence = y.sequence;
-  reduced = y.reduced;
-  return *this;
-}
 
-template <typename D>
-inline void
-Powerset<D>::swap(Powerset& y) {
-  std::swap(sequence, y.sequence);
-  std::swap(reduced, y.reduced);
-}
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.inlines.hh line 28. */
 
-template <typename D>
-inline
-Powerset<D>::Powerset()
-  : sequence(), reduced(true) {
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename D>
+template <typename FP_Interval_Type, typename FP_Format>
 inline
-Powerset<D>::Powerset(const D& d)
-  : sequence(), reduced(false) {
-  sequence.push_back(d);
-  PPL_ASSERT_HEAVY(OK());
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Cast_Floating_Point_Expression(
+Floating_Point_Expression<FP_Interval_Type, FP_Format>* const e)
+  : expr(e) {
+  assert(e != 0);
 }
 
-template <typename D>
+template <typename FP_Interval_Type, typename FP_Format>
 inline
-Powerset<D>::~Powerset() {
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Cast_Floating_Point_Expression() {
+  delete expr;
 }
 
-template <typename D>
+template <typename FP_Interval_Type, typename FP_Format>
 inline void
-Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d) {
-  // !d.is_bottom() is asserted by the callee.
-  add_non_bottom_disjunct_preserve_reduction(d, begin(), end());
+Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Cast_Floating_Point_Expression& y) {
+  swap(expr, y.expr);
 }
 
-template <typename D>
+/*! \relates Cast_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
 inline void
-Powerset<D>::add_disjunct(const D& d) {
-  sequence.push_back(d);
-  reduced = false;
+swap(Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
 }
 
-/*! \relates Powerset */
-template <typename D>
-inline
-bool operator!=(const Powerset<D>& x, const Powerset<D>& y) {
-  return !(x == y);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename D>
-inline bool
-Powerset<D>::is_top() const {
-  // Must perform omega-reduction for correctness.
-  omega_reduce();
-  const_iterator xi = begin();
-  const_iterator x_end = end();
-  return xi != x_end && xi->is_top() && ++xi == x_end;
-}
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.defs.hh line 181. */
 
-template <typename D>
-inline bool
-Powerset<D>::is_bottom() const {
-  // Must perform omega-reduction for correctness.
-  omega_reduce();
-  return empty();
-}
+/* Automatically generated from PPL source file ../src/Cast_Floating_Point_Expression.templates.hh line 1. */
+/* Cast_Floating_Point_Expression class implementation:
+   non-inline template functions.
+*/
 
-template <typename D>
-inline void
-Powerset<D>::collapse() {
-  if (!empty())
-    collapse(sequence.begin());
-}
 
-template <typename D>
-inline void
-Powerset<D>::meet_assign(const Powerset& y) {
-  pairwise_apply_assign(y, std::mem_fun_ref(&D::meet_assign));
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename D>
-inline void
-Powerset<D>::upper_bound_assign(const Powerset& y) {
-  least_upper_bound_assign(y);
+template <typename FP_Interval_Type, typename FP_Format>
+bool Cast_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!expr->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
 }
 
-template <typename D>
-inline bool
-Powerset<D>::upper_bound_assign_if_exact(const Powerset& y) {
-  least_upper_bound_assign(y);
-  return true;
-}
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Constant_Floating_Point_Expression class and
+   its constituents.
+*/
 
-template <typename D>
-inline memory_size_type
-Powerset<D>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Constant_Floating_Point_Expression;
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-inline void
-swap(Parma_Polyhedra_Library::Powerset<D>& x,
-     Parma_Polyhedra_Library::Powerset<D>& y) {
-  x.swap(y);
-}
+//! Swaps \p x with \p y.
+/*! \relates Constant_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-} // namespace std
+/*! \brief
+  A generic Constant Floating Point Expression.
 
-/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 1. */
-/* Powerset class implementation: non-inline template functions.
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of floating-point constant expressions
+
+  The linearization of a constant floating point expression results in a
+  linear form consisting of only the inhomogeneous term
+  \f$[l, u]\f$, where \f$l\f$ and \f$u\f$ are the lower
+  and upper bounds of the constant value given to the class constructor.
 */
+template <typename FP_Interval_Type, typename FP_Format>
+class Constant_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
+public:
 
-/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 28. */
-#include <algorithm>
-/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 30. */
-#include <iostream>
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-template <typename D>
-void
-Powerset<D>::collapse(const Sequence_iterator sink) {
-  PPL_ASSERT(sink != sequence.end());
-  D& d = *sink;
-  iterator x_sink = sink;
-  iterator next_x_sink = x_sink;
-  ++next_x_sink;
-  iterator x_end = end();
-  for (const_iterator xi = next_x_sink; xi != x_end; ++xi)
-    d.upper_bound_assign(*xi);
-  // Drop the surplus disjuncts.
-  drop_disjuncts(next_x_sink, x_end);
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
-  // Ensure omega-reduction.
-  for (iterator xi = begin(); xi != x_sink; )
-    if (xi->definitely_entails(d))
-      xi = drop_disjunct(xi);
-    else
-      ++xi;
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-  PPL_ASSERT_HEAVY(OK());
-}
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
-template <typename D>
-void
-Powerset<D>::omega_reduce() const {
-  if (reduced)
-    return;
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the constant floating point
+    expression from a \p lower_bound and an \p upper_bound of its
+    value in the concrete domain.
+  */
+  Constant_Floating_Point_Expression(const boundary_type lower_bound,
+                                     const boundary_type upper_bound);
 
-  Powerset& x = const_cast<Powerset&>(*this);
-  // First remove all bottom elements.
-  for (iterator xi = x.begin(), x_end = x.end(); xi != x_end; )
-    if (xi->is_bottom())
-      xi = x.drop_disjunct(xi);
-    else
-      ++xi;
-  // Then remove non-maximal elements.
-  for (iterator xi = x.begin(); xi != x.end(); ) {
-    const D& xv = *xi;
-    bool dropping_xi = false;
-    for (iterator yi = x.begin(); yi != x.end(); )
-      if (xi == yi)
-	++yi;
-      else {
-	const D& yv = *yi;
-	if (yv.definitely_entails(xv))
-	  yi = x.drop_disjunct(yi);
-	else if (xv.definitely_entails(yv)) {
-	  dropping_xi = true;
-	  break;
-	}
-	else
-	  ++yi;
-      }
-    if (dropping_xi)
-      xi = x.drop_disjunct(xi);
-    else
-      ++xi;
-    if (abandon_expensive_computations && xi != x.end()) {
-      // Hurry up!
-      x.collapse(xi.base);
-      break;
-    }
-  }
-  reduced = true;
-  PPL_ASSERT_HEAVY(OK());
-}
+  /*! \brief
+    Builds a constant floating point expression with the value
+    expressed by the string \p str_value.
+  */
+  Constant_Floating_Point_Expression(const char* str_value);
 
-template <typename D>
-void
-Powerset<D>::collapse(const unsigned max_disjuncts) {
-  PPL_ASSERT(max_disjuncts > 0);
-  // Omega-reduce before counting the number of disjuncts.
-  omega_reduce();
-  size_type n = size();
-  if (n > max_disjuncts) {
-    // Let `i' point to the last disjunct that will survive.
-    iterator i = begin();
-    std::advance(i, max_disjuncts-1);
-    // This disjunct will be assigned an upper-bound of itself and of
-    // all the disjuncts that follow.
-    collapse(i.base);
-  }
-  PPL_ASSERT_HEAVY(OK());
-  PPL_ASSERT(is_omega_reduced());
-}
+  //! Destructor.
+  ~Constant_Floating_Point_Expression();
 
-template <typename D>
-bool
-Powerset<D>::check_omega_reduced() const {
-  for (const_iterator x_begin = begin(), x_end = end(),
-	 xi = x_begin; xi != x_end; ++xi) {
-    const D& xv = *xi;
-    if (xv.is_bottom())
-      return false;
-    for (const_iterator yi = x_begin; yi != x_end; ++yi) {
-      if (xi == yi)
-	continue;
-      const D& yv = *yi;
-      if (xv.definitely_entails(yv) || yv.definitely_entails(xv))
-	return false;
-    }
-  }
-  return true;
-}
+  //@} // Constructors and Destructor
 
-template <typename D>
-bool
-Powerset<D>::is_omega_reduced() const {
-  if (!reduced && check_omega_reduced())
-    reduced = true;
-  return reduced;
-}
+  /*! \brief
+    Linearizes the expression in a given astract store.
 
-template <typename D>
-typename Powerset<D>::iterator
-Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
-							iterator first,
-							iterator last) {
-  PPL_ASSERT_HEAVY(!d.is_bottom());
-  for (iterator xi = first; xi != last; ) {
-    const D& xv = *xi;
-    if (d.definitely_entails(xv))
-      return first;
-    else if (xv.definitely_entails(d)) {
-      if (xi == first)
-	++first;
-      xi = drop_disjunct(xi);
-    }
-    else
-      ++xi;
-  }
-  sequence.push_back(d);
-  PPL_ASSERT_HEAVY(OK());
-  return first;
-}
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-template <typename D>
-bool
-Powerset<D>::definitely_entails(const Powerset& y) const {
-  const Powerset<D>& x = *this;
-  bool found = true;
-  for (const_iterator xi = x.begin(),
-	 x_end = x.end(); found && xi != x_end; ++xi) {
-    found = false;
-    for (const_iterator yi = y.begin(),
-	   y_end = y.end(); !found && yi != y_end; ++yi)
-      found = (*xi).definitely_entails(*yi);
-  }
-  return found;
-}
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-/*! \relates Powerset */
-template <typename D>
-bool
-operator==(const Powerset<D>& x, const Powerset<D>& y) {
-  x.omega_reduce();
-  y.omega_reduce();
-  if (x.size() != y.size())
-    return false;
-  // Take a copy of `y' and work with it.
-  Powerset<D> yy = y;
-  for (typename Powerset<D>::const_iterator xi = x.begin(),
-	 x_end = x.end(); xi != x_end; ++xi) {
-    typename Powerset<D>::iterator yyi = yy.begin();
-    typename Powerset<D>::iterator yy_end = yy.end();
-    yyi = std::find(yyi, yy_end, *xi);
-    if (yyi == yy_end)
-      return false;
-    else
-      yy.drop_disjunct(yyi);
-  }
-  return true;
-}
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-template <typename D>
-template <typename Binary_Operator_Assign>
-void
-Powerset<D>::pairwise_apply_assign(const Powerset& y,
-				   Binary_Operator_Assign op_assign) {
-  // Ensure omega-reduction here, since what follows has quadratic complexity.
-  omega_reduce();
-  y.omega_reduce();
-  Sequence new_sequence;
-  for (const_iterator xi = begin(), x_end = end(),
-	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ++xi)
-    for (const_iterator yi = y_begin; yi != y_end; ++yi) {
-      D zi = *xi;
-      op_assign(zi, *yi);
-      if (!zi.is_bottom())
-	new_sequence.push_back(zi);
-    }
-  // Put the new sequence in place.
-  std::swap(sequence, new_sequence);
-  reduced = false;
-  PPL_ASSERT_HEAVY(OK());
-}
+    See the class description for an explanation of how \p result is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
-template <typename D>
-void
-Powerset<D>::least_upper_bound_assign(const Powerset& y) {
-  // Ensure omega-reduction here, since what follows has quadratic complexity.
-  omega_reduce();
-  y.omega_reduce();
-  iterator old_begin = begin();
-  iterator old_end = end();
-  for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
-    old_begin = add_non_bottom_disjunct_preserve_reduction(*i,
-							   old_begin,
-							   old_end);
-  PPL_ASSERT_HEAVY(OK());
-}
+  //! Swaps \p *this with \p y.
+  void m_swap(Constant_Floating_Point_Expression& y);
 
-namespace IO_Operators {
+private:
 
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-std::ostream&
-operator<<(std::ostream& s, const Powerset<D>& x) {
-  if (x.is_bottom())
-    s << "false";
-  else if (x.is_top())
-    s << "true";
-  else
-    for (typename Powerset<D>::const_iterator i = x.begin(),
-	   x_end = x.end(); i != x_end; ) {
-      s << "{ " << *i++ << " }";
-      if (i != x_end)
-	s << ", ";
-    }
-  return s;
+  FP_Interval_Type value;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Constant_Floating_Point_Expression(
+			  const Constant_Floating_Point_Expression& y);
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAIL
+  Constant_Floating_Point_Expression& operator=(
+		          const Constant_Floating_Point_Expression& y);
+
+}; // class Constant_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.inlines.hh line 1. */
+/* Constant_Floating_Point_Expression class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.inlines.hh line 28. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Constant_Floating_Point_Expression(const char* str_value)
+  : value(str_value) {}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Constant_Floating_Point_Expression(const boundary_type lb,
+                                   const boundary_type ub) {
+  assert(lb <= ub);
+  value.build(i_constraint(GREATER_OR_EQUAL, lb),
+              i_constraint(LESS_OR_EQUAL, ub));
 }
 
-} // namespace IO_Operators
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Constant_Floating_Point_Expression() {}
 
-template <typename D>
-memory_size_type
-Powerset<D>::external_memory_in_bytes() const {
-  memory_size_type bytes = 0;
-  for (const_iterator xi = begin(), x_end = end(); xi != x_end; ++xi) {
-    bytes += xi->total_memory_in_bytes();
-    // We assume there is at least a forward and a backward link, and
-    // that the pointers implementing them are at least the size of
-    // pointers to `D'.
-    bytes += 2*sizeof(D*);
-  }
-  return bytes;
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Constant_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(value, y.value);
 }
 
-template <typename D>
-bool
-Powerset<D>::OK(const bool disallow_bottom) const {
-  for (const_iterator xi = begin(), x_end = end(); xi != x_end; ++xi) {
-    if (!xi->OK())
-      return false;
-    if (disallow_bottom && xi->is_bottom()) {
-#ifndef NDEBUG
-      std::cerr << "Bottom element in powerset!"
-		<< std::endl;
-#endif
-      return false;
-    }
-  }
-  if (reduced && !check_omega_reduced()) {
-#ifndef NDEBUG
-    std::cerr << "Powerset claims to be reduced, but it is not!"
-	      << std::endl;
-#endif
-    return false;
-  }
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store&,
+            const FP_Linear_Form_Abstract_Store&,
+            FP_Linear_Form& result) const {
+  result = FP_Linear_Form(value);
   return true;
 }
 
+/*! \relates Constant_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Constant_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 454. */
+/* Automatically generated from PPL source file ../src/Constant_Floating_Point_Expression.defs.hh line 172. */
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 44. */
-#include <iosfwd>
-#include <list>
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Variable_Floating_Point_Expression class and
+   its constituents.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Variable_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.defs.hh line 31. */
 #include <map>
+#include <utility>
 
-//! The powerset construction instantiated on PPL pointset domains.
-/*! \ingroup PPL_CXX_interface */
-/*!
-  \warning
-  At present, the supported instantiations for the
-  disjunct domain template \p PSET are the simple pointset domains:
-  <CODE>C_Polyhedron</CODE>,
-  <CODE>NNC_Polyhedron</CODE>,
-  <CODE>Grid</CODE>,
-  <CODE>Octagonal_Shape<T></CODE>,
-  <CODE>BD_Shape<T></CODE>,
-  <CODE>Box<T></CODE>.
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Variable_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Variable Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of floating-point variable expressions
+
+  Given a variable expression \f$v\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval
+  linear form \f$\linexprenv{v}{\rho^{\#}}{\rho^{\#}_l}\f$ as
+  \f$\rho^{\#}_l(v)\f$ if it is defined; otherwise we construct it as
+  \f$[-1, 1]v\f$.
 */
-template <typename PSET>
-class Parma_Polyhedra_Library::Pointset_Powerset
-  : public Parma_Polyhedra_Library::Powerset
-<Parma_Polyhedra_Library::Determinate<PSET> > {
+template <typename FP_Interval_Type, typename FP_Format>
+class Variable_Floating_Point_Expression
+: public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
 public:
-  typedef PSET element_type;
 
-private:
-  typedef Determinate<PSET> Det_PSET;
-  typedef Powerset<Det_PSET> Base;
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
 
-public:
-  //! Returns the maximum space dimension a Pointset_Powerset<PSET> can handle.
-  static dimension_type max_space_dimension();
+  /*! \brief
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-  //! \name Constructors
-  //@{
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
-  //! Builds a universe (top) or empty (bottom) Pointset_Powerset.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the powerset;
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-    \param kind
-    Specifies whether the universe or the empty powerset has to be built.
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
   */
-  explicit
-  Pointset_Powerset(dimension_type num_dimensions = 0,
-		    Degenerate_Element kind = UNIVERSE);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
-  //! Ordinary copy constructor.
-  /*!
-    The complexity argument is ignored.
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with a parameter: builds the variable floating point
+    expression corresponding to the variable having \p v_index as its index.
   */
-  Pointset_Powerset(const Pointset_Powerset& y,
-                    Complexity_Class complexity = ANY_COMPLEXITY);
+  explicit Variable_Floating_Point_Expression(const dimension_type v_index);
+
+  //! Destructor.
+  ~Variable_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
 
   /*! \brief
-    Conversion constructor: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PSET</CODE>.
+    Linearizes the expression in a given abstract store.
 
-    \param y
-    The powerset to be used to build the new powerset.
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that the variable in the expression MUST have an associated value
+    in \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result is
+    computed.
   */
-  template <typename QH>
-  explicit Pointset_Powerset(const Pointset_Powerset<QH>& y,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
   /*! \brief
-    Creates a Pointset_Powerset from a product
-    This will be created as a single disjunct of type PSET that
-    approximates the product.
+    Assigns a linear form to the variable with the same index of
+    \p *this in a given linear form abstract store.
+
+    \param lf The linear form assigned to the variable.
+    \param lf_store The linear form abstract store.
+
+    Note that once \p lf is assigned to a variable, all the other entries
+    of \p lf_store which contain that variable are discarded.
   */
-   template <typename QH1, typename QH2, typename R>
-   explicit
-     Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
-                       Complexity_Class complexity = ANY_COMPLEXITY);
+  void linear_form_assign(const FP_Linear_Form& lf,
+                                FP_Linear_Form_Abstract_Store& lf_store) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Variable_Floating_Point_Expression& y);
+
+private:
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Creates a Pointset_Powerset with a single disjunct approximating
-    the system of constraints \p cs.
+    Inhibited copy constructor.
   */
-  explicit Pointset_Powerset(const Constraint_System& cs);
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Variable_Floating_Point_Expression(
+			  const Variable_Floating_Point_Expression& y);
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Creates a Pointset_Powerset with a single disjunct approximating
-    the system of congruences \p cgs.
+    Inhibited assignment operator.
   */
-  explicit Pointset_Powerset(const Congruence_System& cgs);
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Variable_Floating_Point_Expression& operator=(
+		          const Variable_Floating_Point_Expression& y);
 
+  //! The index of the variable.
+  dimension_type variable_index;
 
-  //! Builds a pointset_powerset out of a closed polyhedron.
-  /*!
-    Builds a powerset that is either empty (if the polyhedron is found
-    to be empty) or contains a single disjunct approximating the
-    polyhedron; this must only use algorithms that do not exceed the
-    specified complexity.  The powerset inherits the space dimension
-    of the polyhedron.
+}; // class Variable_Floating_Point_Expression
 
-    \param ph
-    The closed polyhedron to be used to build the powerset.
+} // namespace Parma_Polyhedra_Library
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.inlines.hh line 1. */
+/* Variable_Floating_Point_Expression class implementation: inline functions.
+*/
 
-    \exception std::length_error
-    Thrown if the space dimension of \p ph exceeds the maximum
-    allowed space dimension.
-  */
-  explicit Pointset_Powerset(const C_Polyhedron& ph,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a pointset_powerset out of an nnc polyhedron.
-  /*!
-    Builds a powerset that is either empty (if the polyhedron is found
-    to be empty) or contains a single disjunct approximating the
-    polyhedron; this must only use algorithms that do not exceed the
-    specified complexity.  The powerset inherits the space dimension
-    of the polyhedron.
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.inlines.hh line 28. */
 
-    \param ph
-    The closed polyhedron to be used to build the powerset.
+namespace Parma_Polyhedra_Library {
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Variable_Floating_Point_Expression(const dimension_type v_index)
+  : variable_index(v_index) {}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p ph exceeds the maximum
-    allowed space dimension.
-  */
-  explicit Pointset_Powerset(const NNC_Polyhedron& ph,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Variable_Floating_Point_Expression() {}
 
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Variable_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(variable_index, y.variable_index);
+}
 
-  //! Builds a pointset_powerset out of a grid.
-  /*!
-    If the grid is nonempty, builds a powerset containing a single
-    disjunct approximating the grid. Builds the empty powerset
-    otherwise. The powerset inherits the space dimension of the grid.
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store&,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  typename FP_Linear_Form_Abstract_Store::const_iterator
+           variable_value = lf_store.find(variable_index);
+
+  if (variable_value == lf_store.end()) {
+    result = FP_Linear_Form(Variable(variable_index));
+    return true;
+  }
 
-    \param gr
-    The grid to be used to build the powerset.
+  result = FP_Linear_Form(variable_value->second);
+  return !this->overflows(result);
+}
 
-    \param complexity
-    This argument is ignored.
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linear_form_assign(const FP_Linear_Form& lf,
+                           FP_Linear_Form_Abstract_Store& lf_store) const {
+  for (typename FP_Linear_Form_Abstract_Store::iterator
+         i = lf_store.begin(); i != lf_store.end(); ) {
+    if ((i->second).coefficient(Variable(variable_index)) != 0)
+      i = lf_store.erase(i);
+    else
+      ++i;
+  }
+  lf_store[variable_index] = lf;
+  return;
+}
 
-    \exception std::length_error
-    Thrown if the space dimension of \p gr exceeds the maximum
-    allowed space dimension.
-  */
-  explicit Pointset_Powerset(const Grid& gr,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
+/*! \relates Variable_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Variable_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
 
-  //! Builds a pointset_powerset out of an octagonal shape.
-  /*!
-    If the octagonal shape is nonempty, builds a powerset
-    containing a single disjunct approximating the octagonal
-    shape. Builds the empty powerset otherwise. The powerset
-    inherits the space dimension of the octagonal shape.
+} // namespace Parma_Polyhedra_Library
 
-    \param os
-    The octagonal shape to be used to build the powerset.
+/* Automatically generated from PPL source file ../src/Variable_Floating_Point_Expression.defs.hh line 186. */
 
-    \param complexity
-    This argument is ignored.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Sum_Floating_Point_Expression class and
+   its   constituents.
+*/
 
-    \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename T>
-  explicit Pointset_Powerset(const Octagonal_Shape<T>& os,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Builds a pointset_powerset out of a bd shape.
-  /*!
-    If the bd shape is nonempty, builds a powerset containing a
-    single disjunct approximating the bd shape. Builds the empty
-    powerset otherwise.  The powerset inherits the space dimension
-    of the bd shape.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.types.hh line 1. */
 
-    \param bds
-    The bd shape to be used to build the powerset.
 
-    \param complexity
-    This argument is ignored.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if the space dimension of \p bdss exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename T>
-  explicit Pointset_Powerset(const BD_Shape<T>& bds,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
+template <typename FP_Interval_Type, typename FP_Format>
+class Sum_Floating_Point_Expression;
 
-  //! Builds a pointset_powerset out of a box.
-  /*!
-    If the box is nonempty, builds a powerset containing a single
-    disjunct approximating the box. Builds the empty powerset
-    otherwise.  The powerset inherits the space dimension of the box.
+} // namespace Parma_Polyhedra_Library
 
-    \param box
-    The box to be used to build the powerset.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-    \param complexity
-    This argument is ignored.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
-  */
-  template <typename Interval>
-  explicit Pointset_Powerset(const Box<Interval>& box,
-                             Complexity_Class complexity = ANY_COMPLEXITY);
+//! Swaps \p x with \p y.
+/*! \relates Sum_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+	  Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-  //@} // Constructors and Destructor
+/*! \brief
+  A generic Sum Floating Point Expression.
 
-  //! \name Member Functions that Do Not Modify the Pointset_Powerset
-  //@{
+  \ingroup PPL_CXX_interface
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  \par Template type parameters
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type affine_dimension() const;
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of sum floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms and \f$\aslf\f$ a sound abstract operator on linear
+  forms such that:
+
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v \right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v \right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v} \right)v.
+  \f]
+
+  Given an expression \f$e_{1} \oplus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oplus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Sum_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
+
+public:
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is
-    an empty powerset.
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression.
   */
-  bool is_empty() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is the top element of the powerser lattice.
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
   */
-  bool is_universe() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if all the disjuncts
-    in \p *this are topologically closed.
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
   */
-  bool is_topologically_closed() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if all elements in \p *this
-    are bounded.
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
   */
-  bool is_bounded() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible or
-    dimension-incompatible.
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
   */
-  bool is_disjoint_from(const Pointset_Powerset& y) const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
+  //! \name Constructors and Destructor
+  //@{
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    Constructor with two parameters: builds the sum floating point expression
+    corresponding to \p x \f$\oplus\f$ \p y.
+  */
+  Sum_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+  //! Destructor.
+  ~Sum_Floating_Point_Expression();
 
-    \note
-    A variable is constrained if there exists a non-redundant disjunct
-    that is constraining the variable: this definition relies on the
-    powerset lattice structure and may be somewhat different from the
-    geometric intuition.
-    For instance, variable \f$x\f$ is constrained in the powerset
-    \f[
-      \mathit{ps} = \bigl\{ \{ x \geq 0 \}, \{ x \leq 0 \} \bigr\},
-    \f]
-    even though \f$\mathit{ps}\f$ is geometrically equal to the
-    whole vector space.
-  */
-  bool constrains(Variable var) const;
+  //@} // Constructors and Destructor
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+    Linearizes the expression in a given astract store.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
+
+  //! Swaps \p *this with \p y.
+  void m_swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value is computed.
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Sum_Floating_Point_Expression(
+         const Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& e);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited assignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Sum_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
 
-    \param sup_n
-    The numerator of the supremum value;
 
-    \param sup_d
-    The denominator of the supremum value;
+}; // class Sum_Floating_Point_Expression
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.inlines.hh line 1. */
+/* Sum_Floating_Point_Expression class implementation: inline
+   functions.
+*/
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d
-    and \p maximum are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from above in \p *this, in which case
-    the supremum value and a point where \p expr reaches it are computed.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.inlines.hh line 29. */
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+namespace Parma_Polyhedra_Library {
 
-    \param sup_n
-    The numerator of the supremum value;
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Sum_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y) {
+  assert(x != 0);
+  assert(y != 0);
+}
 
-    \param sup_d
-    The denominator of the supremum value;
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Sum_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+/*! \relates Sum_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+} // namespace Parma_Polyhedra_Library
 
-    If \p *this is empty or \p expr is not bounded from above,
-    <CODE>false</CODE> is returned and \p sup_n, \p sup_d, \p maximum
-    and \p g are left untouched.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& g) const;
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.templates.hh line 1. */
+/* Sum_Floating_Point_Expression class implementation:
+   non-inline template functions.
+*/
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value is computed.
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+namespace Parma_Polyhedra_Library {
 
-    \param inf_n
-    The numerator of the infimum value;
+template <typename FP_Interval_Type, typename FP_Format>
+bool Sum_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  result += linearized_second_operand;
+  relative_error(linearized_second_operand, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
 
-    \param inf_d
-    The denominator of the infimum value;
+} // namespace Parma_Polyhedra_Library
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+/* Automatically generated from PPL source file ../src/Sum_Floating_Point_Expression.defs.hh line 212. */
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Difference_Floating_Point_Expression class and
+   its constituents.
+*/
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.types.hh line 1. */
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is not empty
-    and \p expr is bounded from below in \p *this, in which case
-    the infimum value and a point where \p expr reaches it are computed.
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+namespace Parma_Polyhedra_Library {
 
-    \param inf_n
-    The numerator of the infimum value;
+template <typename FP_Interval_Type, typename FP_Format>
+class Difference_Floating_Point_Expression;
 
-    \param inf_d
-    The denominator of the infimum value;
+} // namespace Parma_Polyhedra_Library
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+//! Swaps \p x with \p y.
+/*! \relates Difference_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void
+swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-    If \p *this is empty or \p expr is not bounded from below,
-    <CODE>false</CODE> is returned and \p inf_n, \p inf_d, \p minimum
-    and \p g are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& g) const;
+/*! \brief
+  A generic Difference Floating Point Expression.
+  \ingroup PPL_CXX_interface
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this geometrically
-    covers \p y, i.e., if any point (in some element) of \p y is also
-    a point (of some element) of \p *this.
+  \par Template type parameters
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
 
-    \warning
-    This may be <EM>really</EM> expensive!
-  */
-  bool geometrically_covers(const Pointset_Powerset& y) const;
+  \par Linearization of difference floating-point expressions
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is geometrically
-    equal to \p y, i.e., if (the elements of) \p *this and \p y
-    contain the same set of points.
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adlf\f$ two sound abstract
+  operators on linear form such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \adifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$e_{1} \ominus e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,  we construct the interval linear form
+  \f$\linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  on \f$\cV\f$ as follows:
+  \f[
+  \linexprenv{e_{1} \ominus e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1]
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$ and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Difference_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+public:
 
-    \warning
-    This may be <EM>really</EM> expensive!
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
   */
-  bool geometrically_equals(const Pointset_Powerset& y) const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if each disjunct
-      of \p y is contained in a disjunct of \p *this.
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
   */
-  bool contains(const Pointset_Powerset& y) const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if each disjunct
-      of \p y is strictly contained in a disjunct of \p *this.
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
   */
-  bool strictly_contains(const Pointset_Powerset& y) const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
+  //! \name Constructors and Destructor
+  //@{
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
+    Constructor with two parameters: builds the difference floating point
+    expression corresponding to \p x \f$\ominus\f$ \p y.
   */
-  bool contains_integer_point() const;
+  Difference_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
+
+  //! Destructor.
+  ~Difference_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
 
   /*! \brief
-    Returns the relations holding between the powerset \p *this
-    and the constraint \p c.
+    Linearizes the expression in a given astract store.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
+
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
+
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
+
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
+
+    See the class description for a detailed explanation of how \p result
+    is computed.
   */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
-  /*! \brief
-    Returns the relations holding between the powerset \p *this
-    and the generator \p g.
+  //! Swaps \p *this with \p y.
+  void m_swap(Difference_Floating_Point_Expression<FP_Interval_Type,
+                                                   FP_Format>& y);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
+private:
+
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
+
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
   */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Difference_Floating_Point_Expression(
+         const Difference_Floating_Point_Expression<FP_Interval_Type,
+                                                    FP_Format>& e);
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Returns the relations holding between the powerset \p *this
-    and the congruence \p c.
+    Inhibited asssignment operator.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Difference_Floating_Point_Expression<FP_Interval_Type,
+	                                               FP_Format>& e);
+
+
+}; // class Difference_Floating_Point_Expression
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.inlines.hh line 1. */
+/* Difference_Floating_Point_Expression class implementation: inline
+   functions.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.inlines.hh line 29. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Difference_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y){
+  assert(x != 0);
+  assert(y != 0);
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Difference_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
+
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
+
+/*! \relates Difference_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.templates.hh line 1. */
+/* Difference_Floating_Point_Expression class implementation:
+   non-inline template functions.
+*/
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+bool Difference_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result += rel_error;
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                      linearized_second_operand))
+    return false;
+  result -= linearized_second_operand;
+  relative_error(linearized_second_operand, rel_error);
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Difference_Floating_Point_Expression.defs.hh line 220. */
+
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Multiplication_Floating_Point_Expression class and
+   its constituents.
+*/
+
+
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename FP_Interval_Type, typename FP_Format>
+class Multiplication_Floating_Point_Expression;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
+
+namespace Parma_Polyhedra_Library {
+
+//! Swaps \p x with \p y.
+/*! \relates Multiplication_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void
+swap(Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
+
+/*! \brief
+  A generic Multiplication Floating Point Expression.
+
+  \ingroup PPL_CXX_interface
+
+  \par Template type parameters
+
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
+
+  \par Linearization of multiplication floating-point expressions
+
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\amlf\f$ two sound abstract
+  operators on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  i
+  \amlf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \amifp i'\right)
+  + \sum_{v \in \cV}\left(i \amifp i'_{v}\right)v.
+  \f]
+  Given an expression \f$[a, b] \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{[a, b] \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left([a, b]
+  \amlf
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}\right)
+  \aslf
+  \left([a, b]
+  \amlf
+  \varepsilon_{\mathbf{f}}\left(\linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1].
+  \f].
+
+  Given an expression \f$e_{1} \otimes [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{[a, b] \otimes e_{1}}{\rho^{\#}}{\rho^{\#}_l}.
+  \f]
+
+  Given an expression \f$e_{1} \otimes e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{\iota\left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}
+  \otimes e_{2}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$, \f$\iota(l)\rho^{\#}\f$ is the linear form computed by calling
+  method <CODE>Floating_Point_Expression::intervalize</CODE> on \f$l\f$
+  and \f$\rho^{\#}\f$, and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+
+  Even though we intervalize the first operand in the above example, the
+  actual implementation utilizes an heuristics for choosing which of the two
+  operands must be intervalized in order to obtain the most precise result.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Multiplication_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Congruence& cg) const;
+public:
 
   /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
   */
-  memory_size_type total_memory_in_bytes() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
 
   /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
   */
-  memory_size_type external_memory_in_bytes() const;
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
   /*! \brief
-    Returns a 32-bit hash code for \p *this.
-
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
   */
-  int32_t hash_code() const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-
-  //@} // Member Functions that Do Not Modify the Pointset_Powerset
-
-  //! \name Space Dimension Preserving Member Functions that May Modify the Pointset_Powerset
-  //@{
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
-  //! Adds to \p *this the disjunct \p ph.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and \p ph are dimension-incompatible.
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
   */
-  void add_disjunct(const PSET& ph);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-  //! Intersects \p *this with constraint \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
   */
-  void add_constraint(const Constraint& c);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
+  //! \name Constructors and Destructor
+  //@{
   /*! \brief
-    Use the constraint \p c to refine \p *this.
-
-    \param c
-    The constraint to be used for refinement.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
+    Constructor with two parameters: builds the multiplication floating point
+    expression corresponding to \p x \f$\otimes\f$ \p y.
   */
-  void refine_with_constraint(const Constraint& c);
+  Multiplication_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y);
 
-  //! Intersects \p *this with the constraints in \p cs.
-  /*!
-    \param cs
-    The constraints to intersect with.
+  //! Destructor.
+  ~Multiplication_Floating_Point_Expression();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void add_constraints(const Constraint_System& cs);
+  //@} // Constructors and Destructor.
 
   /*! \brief
-    Use the constraints in \p cs to refine \p *this.
-
-    \param  cs
-     The constraints to be used for refinement.
+    Linearizes the expression in a given astract store.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-  //! Intersects \p *this with congruence \p c.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p c are topology-incompatible
-    or dimension-incompatible.
-  */
-  void add_congruence(const Congruence& c);
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-  /*! \brief
-    Use the congruence \p cg to refine \p *this.
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-    \param cg
-    The congruence to be used for refinement.
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
+    See the class description for a detailed explanation of how \p result
+    is computed.
   */
-  void refine_with_congruence(const Congruence& cg);
-
-  //! Intersects \p *this with the congruences in \p cgs.
-  /*!
-    \param cgs
-    The congruences to intersect with.
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+		         const FP_Linear_Form_Abstract_Store& lf_store,
+                       FP_Linear_Form& result) const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void add_congruences(const Congruence_System& cgs);
+  //! Swaps \p *this with \p y.
+  void m_swap(Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                       FP_Format>& y);
 
-  /*! \brief
-    Use the congruences in \p cgs to refine \p *this.
+private:
 
-    \param  cgs
-    The congruences to be used for refinement.
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
   */
-  void refine_with_congruences(const Congruence_System& cgs);
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Multiplication_Floating_Point_Expression(
+         const Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                        FP_Format>& e);
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
-
-    \param var
-    The space dimension that will be unconstrained.
-
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    Inhibited assignment operator.
   */
-  void unconstrain(Variable var);
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Multiplication_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p vars,
-    assigning the result to \p *this.
 
-    \param vars
-    The set of space dimension that will be unconstrained.
+}; // class Multiplication_Floating_Point_Expression
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
-  */
-  void unconstrain(const Variables_Set& vars);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates.
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.inlines.hh line 1. */
+/* Multiplication_Floating_Point_Expression class implementation: inline
+   functions.
+*/
 
-    \param complexity
-    The maximal complexity of any algorithms used.
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-   void drop_some_non_integer_points(Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.inlines.hh line 29. */
 
-  /*! \brief
-    Possibly tightens \p *this by dropping some points with non-integer
-    coordinates for the space dimensions corresponding to \p vars.
+namespace Parma_Polyhedra_Library {
 
-    \param vars
-    Points with non-integer coordinates for these variables/space-dimensions
-    can be discarded.
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Multiplication_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const x,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const y)
+  : first_operand(x), second_operand(y) {
+  assert(x != 0);
+  assert(y != 0);
+}
 
-    \param complexity
-    The maximal complexity of any algorithms used.
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Multiplication_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
 
-    \note
-    Currently there is no optimality guarantee, not even if
-    \p complexity is <CODE>ANY_COMPLEXITY</CODE>.
-  */
-  void drop_some_non_integer_points(const Variables_Set& vars,
-                                    Complexity_Class complexity
-                                    = ANY_COMPLEXITY);
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Multiplication_Floating_Point_Expression<FP_Interval_Type,
+                                                  FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+/*! \relates Multiplication_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
 
-  //! Assigns to \p *this the intersection of \p *this and \p y.
-  /*!
-    The result is obtained by intersecting each disjunct in \p *this
-    with each disjunct in \p y and collecting all these intersections.
-  */
-  void intersection_assign(const Pointset_Powerset& y);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Assigns to \p *this an (a smallest)
-    over-approximation as a powerset of the disjunct domain of the
-    set-theoretical difference of \p *this and \p y.
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.templates.hh line 1. */
+/* Multiplication_Floating_Point_Expression class implementation:
+   non-inline template functions.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Pointset_Powerset& y);
 
-  /*! \brief
-    Assigns to \p *this a \ref Powerset_Meet_Preserving_Simplification
-    "meet-preserving simplification" of \p *this with respect to \p y.
-    If \c false is returned, then the intersection is empty.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const Pointset_Powerset& y);
+template <typename FP_Interval_Type, typename FP_Format>
+bool Multiplication_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  /*
+    FIXME: We currently adopt the "Interval-Size Local" strategy in order to
+    decide which of the two linear forms must be intervalized, as described
+    in Section 6.2.4 ("Multiplication Strategies") of Antoine Mine's Ph.D.
+    thesis "Weakly Relational Numerical Abstract Domains".
+    In this Section are also described other multiplication strategies, such
+    as All-Cases, Relative-Size Local, Simplification-Driven Global and
+    Homogeneity Global.
+  */
+
+  // Here we choose which of the two linear forms must be intervalized.
+
+  // true if we intervalize the first form, false if we intervalize the second.
+  bool intervalize_first;
+  FP_Linear_Form linearized_first_operand;
+  if (!first_operand->linearize(int_store, lf_store,
+                               linearized_first_operand))
+    return false;
+  FP_Interval_Type intervalized_first_operand;
+  this->intervalize(linearized_first_operand, int_store,
+                    intervalized_first_operand);
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  this->intervalize(linearized_second_operand, int_store,
+                    intervalized_second_operand);
+
+  // FIXME: we are not sure that what we do here is policy-proof.
+  if (intervalized_first_operand.is_bounded()) {
+    if (intervalized_second_operand.is_bounded()) {
+      boundary_type first_interval_size
+        = intervalized_first_operand.upper()
+        - intervalized_first_operand.lower();
+      boundary_type second_interval_size
+        = intervalized_second_operand.upper()
+        - intervalized_second_operand.lower();
+      if (first_interval_size <= second_interval_size)
+        intervalize_first = true;
+      else
+        intervalize_first = false;
+    }
+    else
+      intervalize_first = true;
+  }
+  else {
+    if (intervalized_second_operand.is_bounded())
+      intervalize_first = false;
+    else
+      return false;
+  }
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine image"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
+  // Here we do the actual computation.
+  // For optimizing, we store the relative error directly into result.
+  if (intervalize_first) {
+    relative_error(linearized_second_operand, result);
+    linearized_second_operand *= intervalized_first_operand;
+    result *= intervalized_first_operand;
+    result += linearized_second_operand;
+  }
+  else {
+    relative_error(linearized_first_operand, result);
+    linearized_first_operand *= intervalized_second_operand;
+    result *= intervalized_second_operand;
+    result += linearized_first_operand;
+  }
 
-    \param var
-    The variable to which the affine expression is assigned;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
 
-    \param expr
-    The numerator of the affine expression;
+} // namespace Parma_Polyhedra_Library
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+/* Automatically generated from PPL source file ../src/Multiplication_Floating_Point_Expression.defs.hh line 250. */
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
-  */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		      = Coefficient_one());
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Division_Floating_Point_Expression class and its
+   constituents.
+*/
 
-  /*! \brief
-    Assigns to \p *this the
-    \ref Single_Update_Affine_Functions "affine preimage"
-    of \p *this under the function mapping variable \p var to the
-    affine expression specified by \p expr and \p denominator.
 
-    \param var
-    The variable to which the affine expression is assigned;
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.types.hh line 1. */
 
-    \param expr
-    The numerator of the affine expression;
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of
-    \p *this.
-  */
-  void affine_preimage(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		      = Coefficient_one());
+template <typename FP_Interval_Type, typename FP_Format>
+class Division_Floating_Point_Expression;
 
-  /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+} // namespace Parma_Polyhedra_Library
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-    \param relsym
-    The relation symbol;
+namespace Parma_Polyhedra_Library {
 
-    \param expr
-    The numerator of the right hand side affine expression;
+//! Swaps \p x with \p y.
+/*! \relates Division_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+void swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+	  Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+/*! \brief
+  A generic Division Floating Point Expression.
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
-  */
-  void generalized_affine_image(Variable var,
-				Relation_Symbol relsym,
-				const Linear_Expression& expr,
-				Coefficient_traits::const_reference denominator
-				  = Coefficient_one());
+  \ingroup PPL_CXX_interface
 
-  /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{var}' \relsym \frac{\mathrm{expr}}{\mathrm{denominator}}\f$,
-    where \f$\mathord{\relsym}\f$ is the relation symbol encoded
-    by \p relsym.
+  \par Template type parameters
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
 
-    \param relsym
-    The relation symbol;
+  \par Linearizationd of division floating-point expressions
 
-    \param expr
-    The numerator of the right hand side affine expression;
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ and
+  \f$i' + \sum_{v \in \cV}i'_{v}v \f$
+  be two linear forms, \f$\aslf\f$ and \f$\adivlf\f$ two sound abstract
+  operator on linear forms such that:
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \aslf
+  \left(i' + \sum_{v \in \cV}i'_{v}v\right)
+  =
+  \left(i \asifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \asifp i'_{v}\right)v,
+  \f]
+  \f[
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  \adivlf
+  i'
+  =
+  \left(i \adivifp i'\right)
+  + \sum_{v \in \cV}\left(i_{v} \adivifp i'\right)v.
+  \f]
+  Given an expression \f$e_{1} \oslash [a, b]\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$,
+  we construct the interval linear form
+  \f$
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  \f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash [a, b]}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \left(\linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \adivlf
+  [a, b]\right)
+  \aslf
+  \left(\varepsilon_{\mathbf{f}}\left(
+  \linexprenv{e_{1}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)
+  \adivlf
+  [a, b]\right)
+  \aslf
+  mf_{\mathbf{f}}[-1, 1],
+  \f]
+  given an expression \f$e_{1} \oslash e_{2}\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{e_{1} \oslash e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \linexprenv{e_{1} \oslash \iota\left(
+  \linexprenv{e_{2}}{\rho^{\#}}{\rho^{\#}_l}
+  \right)\rho^{\#}}{\rho^{\#}}{\rho^{\#}_l},
+  \f]
+  where \f$\varepsilon_{\mathbf{f}}(l)\f$ is the linear form computed by
+  calling method <CODE>Floating_Point_Expression::relative_error</CODE>
+  on \f$l\f$, \f$\iota(l)\rho^{\#}\f$ is the linear form computed by calling
+  method <CODE>Floating_Point_Expression::intervalize</CODE> on \f$l\f$
+  and \f$\rho^{\#}\f$, and \f$mf_{\mathbf{f}}\f$ is a rounding error defined in
+  <CODE>Floating_Point_Expression::absolute_error</CODE>.
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Division_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+public:
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p expr and \p *this are
-    dimension-incompatible or if \p var is not a space dimension of \p *this
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+  /*! \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
   */
-  void
-  generalized_affine_preimage(Variable var,
-			      Relation_Symbol relsym,
-			      const Linear_Expression& expr,
-			      Coefficient_traits::const_reference denominator
-			      = Coefficient_one());
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Linear_Form FP_Linear_Form;
 
   /*! \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+     Alias for the Box<FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>
+  ::FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-    \param lhs
-    The left hand side affine expression;
+  /*! \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
-    \param relsym
-    The relation symbol;
+  /*! \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-    \param rhs
-    The right hand side affine expression.
+  /*! \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+  //! \name Constructors and Destructor
+  //@{
+  /*! \brief
+    Constructor with two parameters: builds the division floating point
+    expression corresponding to \p num \f$\oslash\f$ \p den.
   */
-  void generalized_affine_image(const Linear_Expression& lhs,
-				Relation_Symbol relsym,
-				const Linear_Expression& rhs);
+  Division_Floating_Point_Expression(
+	   Floating_Point_Expression<FP_Interval_Type, FP_Format>* const num,
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const den);
+
+  //! Destructor.
+  ~Division_Floating_Point_Expression();
+
+  //@} // Constructors and Destructor
 
   /*! \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Generalized_Affine_Relations "generalized affine relation"
-    \f$\mathrm{lhs}' \relsym \mathrm{rhs}\f$, where
-    \f$\mathord{\relsym}\f$ is the relation symbol encoded by \p relsym.
+    Linearizes the expression in a given astract store.
 
-    \param lhs
-    The left hand side affine expression;
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-    \param relsym
-    The relation symbol;
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-    \param rhs
-    The right hand side affine expression.
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p rhs
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
-  */
-  void generalized_affine_preimage(const Linear_Expression& lhs,
-				   Relation_Symbol relsym,
-				   const Linear_Expression& rhs);
+    Note that all variables occuring in the expressions represented
+    by \p first_operand and \p second_operand MUST have an associated value in
+    \p int_store. If this precondition is not met, calling the method
+    causes an undefined behavior.
 
-  /*!
-    \brief
-    Assigns to \p *this the image of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
+    See the class description for a detailed explanation of how \p result
+    is computed.
+  */
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
-    \param var
-    The variable updated by the affine relation;
+  //! Swaps \p *this with \p y.
+  void m_swap(Division_Floating_Point_Expression<FP_Interval_Type,
+	                                         FP_Format>& y);
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+private:
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  //! Pointer to the first operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* first_operand;
+  //! Pointer to the second operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* second_operand;
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Copy constructor: temporary inhibited.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Division_Floating_Point_Expression(
+         const Division_Floating_Point_Expression<FP_Interval_Type,
+                                                  FP_Format>& e);
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Assignment operator: temporary inhibited.
   */
-  void bounded_affine_image(Variable var,
-			    const Linear_Expression& lb_expr,
-			    const Linear_Expression& ub_expr,
-			    Coefficient_traits::const_reference denominator
-			    = Coefficient_one());
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>&
+  operator=(const Division_Floating_Point_Expression<FP_Interval_Type,
+	    FP_Format>& e);
 
-  /*!
-    \brief
-    Assigns to \p *this the preimage of \p *this with respect to the
-    \ref Single_Update_Bounded_Affine_Relations "bounded affine relation"
-    \f$\frac{\mathrm{lb\_expr}}{\mathrm{denominator}}
-         \leq \mathrm{var}'
-           \leq \frac{\mathrm{ub\_expr}}{\mathrm{denominator}}\f$.
 
-    \param var
-    The variable updated by the affine relation;
+}; // class Division_Floating_Point_Expression
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+} // namespace Parma_Polyhedra_Library
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.inlines.hh line 1. */
+/* Division_Floating_Point_Expression class implementation: inline functions.
+*/
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
 
-    \exception std::invalid_argument
-    Thrown if \p denominator is zero or if \p lb_expr (resp., \p ub_expr)
-    and \p *this are dimension-incompatible or if \p var is not a space
-    dimension of \p *this.
-  */
-  void bounded_affine_preimage(Variable var,
-			       const Linear_Expression& lb_expr,
-			       const Linear_Expression& ub_expr,
-			       Coefficient_traits::const_reference denominator
-			       = Coefficient_one());
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.inlines.hh line 28. */
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+namespace Parma_Polyhedra_Library {
 
-    The result is obtained by computing the pairwise
-    \ref Time_Elapse_Operator "time elapse" of each disjunct
-    in \p *this with each disjunct in \p y.
-  */
-  void time_elapse_assign(const Pointset_Powerset& y);
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::Division_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const num,
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const den)
+  : first_operand(num), second_operand(den) {
+  assert(num != 0);
+  assert(den != 0);
+ }
 
-  /*! \brief
-    \ref Wrapping_Operator "Wraps" the specified dimensions of the
-    vector space.
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::~Division_Floating_Point_Expression() {
+  delete first_operand;
+  delete second_operand;
+}
 
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be wrapped.
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  using std::swap;
+  swap(first_operand, y.first_operand);
+  swap(second_operand, y.second_operand);
+}
 
-    \param w
-    The width of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+/*! \relates Division_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
 
-    \param r
-    The representation of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+} // namespace Parma_Polyhedra_Library
 
-    \param o
-    The overflow behavior of the bounded integer type corresponding to
-    all the dimensions to be wrapped.
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.templates.hh line 1. */
+/* Division_Floating_Point_Expression class implementation:
+   non-inline template functions.
+*/
 
-    \param pcs
-    Possibly null pointer to a constraint system whose variables
-    are contained in \p vars.  If <CODE>*pcs</CODE> depends on
-    variables not in \p vars, the behavior is undefined.
-    When non-null, the pointed-to constraint system is assumed to
-    represent the conditional or looping construct guard with respect
-    to which wrapping is performed.  Since wrapping requires the
-    computation of upper bounds and due to non-distributivity of
-    constraint refinement over upper bounds, passing a constraint
-    system in this way can be more precise than refining the result of
-    the wrapping operation with the constraints in <CODE>*pcs</CODE>.
 
-    \param complexity_threshold
-    A precision parameter of the \ref Wrapping_Operator "wrapping operator":
-    higher values result in possibly improved precision.
+namespace Parma_Polyhedra_Library {
 
-    \param wrap_individually
-    <CODE>true</CODE> if the dimensions should be wrapped individually
-    (something that results in much greater efficiency to the detriment of
-    precision).
+template <typename FP_Interval_Type, typename FP_Format>
+bool Division_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  FP_Linear_Form linearized_second_operand;
+  if (!second_operand->linearize(int_store, lf_store,
+                                linearized_second_operand))
+    return false;
+  FP_Interval_Type intervalized_second_operand;
+  this->intervalize(linearized_second_operand, int_store,
+                    intervalized_second_operand);
 
-    \exception std::invalid_argument
-    Thrown if <CODE>*pcs</CODE> is dimension-incompatible with
-    \p vars, or if \p *this is dimension-incompatible \p vars or with
-    <CODE>*pcs</CODE>.
-  */
-  void wrap_assign(const Variables_Set& vars,
-                   Bounded_Integer_Type_Width w,
-                   Bounded_Integer_Type_Representation r,
-                   Bounded_Integer_Type_Overflow o,
-                   const Constraint_System* pcs = 0,
-                   unsigned complexity_threshold = 16,
-                   bool wrap_individually = true);
+  // Check if we may divide by zero.
+  if (intervalized_second_operand.lower() <= 0
+      && intervalized_second_operand.upper() >= 0)
+    return false;
 
-  /*! \brief
-    Assign to \p *this the result of (recursively) merging together
-    the pairs of disjuncts whose upper-bound is the same as their
-    set-theoretical union.
+  if (!first_operand->linearize(int_store, lf_store, result))
+    return false;
+  FP_Linear_Form rel_error;
+  relative_error(result, rel_error);
+  result /= intervalized_second_operand;
+  rel_error /= intervalized_second_operand;
+  result += rel_error;
+  result += this->absolute_error;
+  return !this->overflows(result);
+}
 
-    On exit, for all the pairs \f$\cP\f$, \f$\cQ\f$ of different disjuncts
-    in \p *this, we have \f$\cP \uplus \cQ \neq \cP \union \cQ\f$.
-  */
-  void pairwise_reduce();
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Division_Floating_Point_Expression.defs.hh line 237. */
+
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.defs.hh line 1. */
+/* Declarations for the Opposite_Floating_Point_Expression class and
+   its constituents.
+*/
 
-  /*! \brief
-    Assigns to \p *this the result of applying the
-    \ref pps_bgp99_extrapolation "BGP99 extrapolation operator"
-    to \p *this and \p y, using the widening function \p wf
-    and the cardinality threshold \p max_disjuncts.
 
-    \param y
-    A powerset that <EM>must</EM> definitely entail \p *this;
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.types.hh line 1. */
 
-    \param wf
-    The widening function to be used on polyhedra objects. It is obtained
-    from the corresponding widening method by using the helper function
-    Parma_Polyhedra_Library::widen_fun_ref. Legal values are, e.g.,
-    <CODE>widen_fun_ref(&Polyhedron::H79_widening_assign)</CODE> and
-    <CODE>widen_fun_ref(&Polyhedron::limited_H79_extrapolation_assign, cs)</CODE>;
 
-    \param max_disjuncts
-    The maximum number of disjuncts occurring in the powerset \p *this
-    <EM>before</EM> starting the computation. If this number is exceeded,
-    some of the disjuncts in \p *this are collapsed (i.e., joined together).
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+template <typename FP_Interval_Type, typename FP_Format>
+class Opposite_Floating_Point_Expression;
 
-    For a description of the extrapolation operator,
-    see \ref BGP99 "[BGP99]" and \ref BHZ03b "[BHZ03b]".
-  */
-  template <typename Widening>
-  void BGP99_extrapolation_assign(const Pointset_Powerset& y,
-				  Widening wf,
-				  unsigned max_disjuncts);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref pps_certificate_widening "BHZ03-widening"
-    between \p *this and \p y, using the widening function \p wf
-    certified by the convergence certificate \p Cert.
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.defs.hh line 31. */
+#include <map>
 
-    \param y
-    The finite powerset computed in the previous iteration step.
-    It <EM>must</EM> definitely entail \p *this;
+namespace Parma_Polyhedra_Library {
 
-    \param wf
-    The widening function to be used on disjuncts.
-    It is obtained from the corresponding widening method by using
-    the helper function widen_fun_ref. Legal values are, e.g.,
-    <CODE>widen_fun_ref(&Polyhedron::H79_widening_assign)</CODE> and
-    <CODE>widen_fun_ref(&Polyhedron::limited_H79_extrapolation_assign, cs)</CODE>.
+//! Swaps \p x with \p y.
+/*! \relates Opposite_Floating_Point_Expression */
+template<typename FP_Interval_Type, typename FP_Format>
+void swap(Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+          Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+/*! \brief
+  A generic Opposite Floating Point Expression.
 
-    \warning
-    In order to obtain a proper widening operator, the template parameter
-    \p Cert should be a finite convergence certificate for the base-level
-    widening function \p wf; otherwise, an extrapolation operator is
-    obtained.
-    For a description of the methods that should be provided
-    by \p Cert, see BHRZ03_Certificate or H79_Certificate.
-  */
-  template <typename Cert, typename Widening>
-  void BHZ03_widening_assign(const Pointset_Powerset& y, Widening wf);
+  \ingroup PPL_CXX_interface
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+  \par Template type parameters
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+  - The class template type parameter \p FP_Interval_Type represents the type
+  of the intervals used in the abstract domain.
+  - The class template type parameter \p FP_Format represents the floating
+  point format used in the concrete domain.
 
-  /*! \brief
-    The assignment operator
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  Pointset_Powerset& operator=(const Pointset_Powerset& y);
+  \par Linearization of opposite floating-point expressions
 
-  /*! \brief
-    Conversion assignment: the type <CODE>QH</CODE> of the disjuncts
-    in the source powerset is different from <CODE>PSET</CODE>
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  template <typename QH>
-  Pointset_Powerset& operator=(const Pointset_Powerset<QH>& y);
+  Let \f$i + \sum_{v \in \cV}i_{v}v \f$ be an interval linear form and
+  let \f$\adlf\f$ be a sound unary operator on linear forms such that:
 
-  //! Swaps \p *this with \p y.
-  void swap(Pointset_Powerset& y);
+  \f[
+  \adlf
+  \left(i + \sum_{v \in \cV}i_{v}v\right)
+  =
+  \left(\adifp i\right)
+  + \sum_{v \in \cV}\left(\adifp i_{v} \right)v,
+  \f]
 
-  /*! \brief
-    Adds \p m new dimensions to the vector space containing \p *this
-    and embeds each disjunct in \p *this in the new space.
-  */
-  void add_space_dimensions_and_embed(dimension_type m);
+  Given a floating point expression \f$\ominus e\f$ and a composite
+  abstract store \f$\left \llbracket \rho^{\#}, \rho^{\#}_l \right
+  \rrbracket\f$, we construct the interval linear form
+  \f$\linexprenv{\ominus e}{\rho^{\#}}{\rho^{\#}_l}\f$
+  as follows:
+  \f[
+  \linexprenv{\ominus e}{\rho^{\#}}{\rho^{\#}_l}
+  =
+  \adlf
+  \left(
+  \linexprenv{e}{\rho^{\#}}{\rho^{\#}_l}
+  \right).
+  \f]
+*/
+template <typename FP_Interval_Type, typename FP_Format>
+class Opposite_Floating_Point_Expression
+  : public Floating_Point_Expression<FP_Interval_Type, FP_Format> {
 
-  /*! \brief
-    Adds \p m new dimensions to the vector space containing \p *this
-    without embedding the disjuncts in \p *this in the new space.
-  */
-  void add_space_dimensions_and_project(dimension_type m);
+public:
 
-  //! Assigns to \p *this the concatenation of \p *this and \p y.
-  /*!
-    The result is obtained by computing the pairwise
-    \ref Concatenating_Polyhedra "concatenation" of each disjunct
-    in \p *this with each disjunct in \p y.
+  /* \brief
+     Alias for the Linear_Form<FP_Interval_Type> from
+     Floating_Point_Expression
   */
-  void concatenate_assign(const Pointset_Powerset& y);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form FP_Linear_Form;
 
-  //! Removes all the specified space dimensions.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+  /* \brief
+     Alias for the std::map<dimension_type, FP_Interval_Type> from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Interval_Abstract_Store FP_Interval_Abstract_Store;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p vars.
+  /* \brief
+     Alias for the std::map<dimension_type, FP_Linear_Form> from
+     Floating_Point_Expression.
   */
-  void remove_space_dimensions(const Variables_Set& vars);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+  FP_Linear_Form_Abstract_Store FP_Linear_Form_Abstract_Store;
 
-  /*! \brief
-    Removes the higher space dimensions so that the resulting space
-    will have dimension \p new_dimension.
+  /* \brief
+     Alias for the FP_Interval_Type::boundary_type from
+     Floating_Point_Expression.
+  */
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::boundary_type
+  boundary_type;
 
-    \exception std::invalid_argument
-    Thrown if \p new_dimensions is greater than the space dimension
-    of \p *this.
+  /* \brief
+     Alias for the FP_Interval_Type::info_type from Floating_Point_Expression.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  typedef typename
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>::info_type info_type;
 
+  //! \name Constructors and Destructor
+  //@{
   /*! \brief
-    Remaps the dimensions of the vector space according to
-    a partial function.
-
-    See also Polyhedron::map_space_dimensions.
+    Constructor with one parameter: builds the opposite floating point
+    expression \f$\ominus\f$ \p op.
   */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
-
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+  explicit Opposite_Floating_Point_Expression(
+           Floating_Point_Expression<FP_Interval_Type, FP_Format>* const op);
 
-    \param m
-    The number of replicas to be created.
+  //! Destructor.
+  ~Opposite_Floating_Point_Expression();
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector
-    space.
+  //@} // Constructors and Destructor
 
-    \exception std::length_error
-    Thrown if adding \p m new space dimensions would cause the vector
-    space to exceed dimension <CODE>max_space_dimension()</CODE>.
+  /*! \brief
+    Linearizes the expression in a given astract store.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    and <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    then the \f$k\f$-th space dimension is
-    \ref Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions
-    "expanded" to \p m new space dimensions
-    \f$n\f$, \f$n+1\f$, \f$\dots\f$, \f$n+m-1\f$.
-  */
-  void expand_space_dimension(Variable var, dimension_type m);
+    Makes \p result become the linearization of \p *this in the given
+    composite abstract store.
 
-  //! Folds the space dimensions in \p vars into \p dest.
-  /*!
-    \param vars
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+    \param int_store The interval abstract store.
+    \param lf_store The linear form abstract store.
+    \param result The modified linear form.
 
-    \param dest
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+    \return <CODE>true</CODE> if the linearization succeeded,
+    <CODE>false</CODE> otherwise.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p dest or with
-    one of the Variable objects contained in \p vars.  Also
-    thrown if \p dest is contained in \p vars.
+    Note that all variables occuring in the expression represented
+    by \p operand MUST have an associated value in \p int_store.
+    If this precondition is not met, calling the method
+    causes an undefined behavior.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>dest</CODE> has space dimension \f$k \leq n\f$,
-    \p vars is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p dest is not a member
-    of \p vars, then the space dimensions corresponding to
-    variables in \p vars are
-    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
-    "folded" into the \f$k\f$-th space dimension.
+    See the class description for a detailed explanation of how \p result
+    is computed.
   */
-  void fold_space_dimensions(const Variables_Set& vars, Variable dest);
+  bool linearize(const FP_Interval_Abstract_Store& int_store,
+                 const FP_Linear_Form_Abstract_Store& lf_store,
+                 FP_Linear_Form& result) const;
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  //! Swaps \p *this with \p y.
+  void m_swap(Opposite_Floating_Point_Expression& y);
 
-public:
-  typedef typename Base::size_type size_type;
-  typedef typename Base::value_type value_type;
-  typedef typename Base::iterator iterator;
-  typedef typename Base::const_iterator const_iterator;
-  typedef typename Base::reverse_iterator reverse_iterator;
-  typedef typename Base::const_reverse_iterator const_reverse_iterator;
+private:
 
-  PPL_OUTPUT_DECLARATIONS
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  /*! \brief
+    Inhibited copy constructor.
+  */
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Opposite_Floating_Point_Expression(
+			  const Opposite_Floating_Point_Expression& y);
 
+  #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Loads from \p s an ASCII representation (as produced by
-    ascii_dump(std::ostream&) const) and sets \p *this accordingly.
-    Returns <CODE>true</CODE> if successful, <CODE>false</CODE> otherwise.
+    Inhibited assignment operator.
   */
-  bool ascii_load(std::istream& s);
+  #endif // PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  Opposite_Floating_Point_Expression& operator=(
+			  const Opposite_Floating_Point_Expression& y);
 
-private:
-  typedef typename Base::Sequence Sequence;
-  typedef typename Base::Sequence_iterator Sequence_iterator;
-  typedef typename Base::Sequence_const_iterator Sequence_const_iterator;
+  //! Pointer to the operand.
+  Floating_Point_Expression<FP_Interval_Type, FP_Format>* operand;
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+}; // class Opposite_Floating_Point_Expression
 
-  /*! \brief
-    Assigns to \p dest a \ref Powerset_Meet_Preserving_Simplification
-    "powerset meet-preserving enlargement" of itself with respect to
-    \p *this.  If \c false is returned, then the intersection is empty.
+} // namespace Parma_Polyhedra_Library
 
-    \note
-    It is assumed that \p *this and \p dest are topology-compatible
-    and dimension-compatible.
-  */
-  bool intersection_preserving_enlarge_element(PSET& dest) const;
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.inlines.hh line 1. */
+/* Opposite_Floating_Point_Expression class implementation: inline functions.
+*/
 
-  /*! \brief
-    Assigns to \p *this the result of applying the BGP99 heuristics
-    to \p *this and \p y, using the widening function \p wf.
-  */
-  template <typename Widening>
-  void BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf);
 
-  //! Records in \p cert_ms the certificates for this set of disjuncts.
-  template <typename Cert>
-  void collect_certificates(std::map<Cert, size_type,
-			             typename Cert::Compare>& cert_ms) const;
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.inlines.hh line 28. */
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the current set of dijsuncts
-    is stabilizing with respect to the multiset of certificates \p y_cert_ms.
-  */
-  template <typename Cert>
-  bool is_cert_multiset_stabilizing(const std::map<Cert, size_type,
-                                                   typename Cert::Compare>&
-				    y_cert_ms) const;
+namespace Parma_Polyhedra_Library {
 
-  // FIXME: here it should be enough to befriend the template constructor
-  // template <typename QH>
-  // Pointset_Powerset(const Pointset_Powerset<QH>&),
-  // but, apparently, this cannot be done.
-  friend class Pointset_Powerset<NNC_Polyhedron>;
-};
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+Opposite_Floating_Point_Expression(
+         Floating_Point_Expression<FP_Interval_Type, FP_Format>* const op)
+  : operand(op)
+{
+  assert(op != 0);
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename FP_Interval_Type, typename FP_Format>
+inline
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>::
+~Opposite_Floating_Point_Expression() {
+  delete operand;
+}
 
-//! Partitions \p q with respect to \p p.
-/*! \relates Pointset_Powerset
-  Let \p p and \p q be two polyhedra.
-  The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PSET, Pointset_Powerset\<NNC_Polyhedron\> \></CODE>
-  such that
-  - <CODE>r.first</CODE> is the intersection of \p p and \p q;
-  - <CODE>r.second</CODE> has the property that all its elements are
-    pairwise disjoint and disjoint from \p p;
-  - the set-theoretical union of <CODE>r.first</CODE> with all the
-    elements of <CODE>r.second</CODE> gives \p q (i.e., <CODE>r</CODE>
-    is the representation of a partition of \p q).
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::m_swap(Opposite_Floating_Point_Expression& y) {
+  using std::swap;
+  swap(operand, y.operand);
+}
 
-  \if Include_Implementation_Details
+template <typename FP_Interval_Type, typename FP_Format>
+inline bool
+Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>
+::linearize(const FP_Interval_Abstract_Store& int_store,
+            const FP_Linear_Form_Abstract_Store& lf_store,
+            FP_Linear_Form& result) const {
+  if (!operand->linearize(int_store, lf_store, result))
+    return false;
 
-  See
-  <A HREF="http://www.cs.unipr.it/ppl/Documentation/bibliography#Srivastava93">
-  this paper</A> for more information about the implementation.
-  \endif
-*/
-template <typename PSET>
-std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PSET& p, const PSET& q);
+  result.negate();
+  return true;
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the union of
-  the NNC polyhedra in \p ps contains the NNC polyhedron \p ph.
+/*! \relates Opposite_Floating_Point_Expression */
+template <typename FP_Interval_Type, typename FP_Format>
+inline void
+swap(Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& x,
+     Opposite_Floating_Point_Expression<FP_Interval_Type, FP_Format>& y) {
+  x.m_swap(y);
+}
 
-  \relates Pointset_Powerset
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Opposite_Floating_Point_Expression.defs.hh line 192. */
+
+/* Automatically generated from PPL source file ../src/Watchdog.defs.hh line 1. */
+/* Watchdog and associated classes' declaration and inline functions.
 */
-bool
-check_containment(const NNC_Polyhedron& ph,
-		  const Pointset_Powerset<NNC_Polyhedron>& ps);
 
 
-/*! \brief
-  Partitions the grid \p q with respect to grid \p p if and only if
-  such a partition is finite.
+/* Automatically generated from PPL source file ../src/Watchdog.types.hh line 1. */
 
-  \relates Parma_Polyhedra_Library::Pointset_Powerset
-  Let \p p and \p q be two grids.
-  The function returns an object <CODE>r</CODE> of type
-  <CODE>std::pair\<PSET, Pointset_Powerset\<Grid\> \></CODE>
-  such that
-  - <CODE>r.first</CODE> is the intersection of \p p and \p q;
-  - If there is a finite partition of \p q wrt \p p
-    the Boolean <CODE>finite_partition</CODE> is set to true and
-    <CODE>r.second</CODE> has the property that all its elements are
-    pairwise disjoint and disjoint from \p p and the set-theoretical
-    union of <CODE>r.first</CODE> with all the elements of
-    <CODE>r.second</CODE> gives \p q (i.e., <CODE>r</CODE>
-    is the representation of a partition of \p q).
-  - Otherwise the Boolean <CODE>finite_partition</CODE> is set to false
-    and the singleton set that contains \p q is stored in
-    <CODE>r.second</CODE>r.
-*/
-std::pair<Grid, Pointset_Powerset<Grid> >
-approximate_partition(const Grid& p, const Grid& q, bool& finite_partition);
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the union of
-  the grids \p ps contains the grid \p g.
+namespace Parma_Polyhedra_Library {
 
-  \relates Pointset_Powerset
-*/
-bool
-check_containment(const Grid& ph,
-		  const Pointset_Powerset<Grid>& ps);
+class Watchdog;
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the union of
-  the objects in \p ps contains \p ph.
+} // namespace Parma_Polyhedra_Library
 
-  \relates Pointset_Powerset
-  \note
-  It is assumed that the template parameter PSET can be converted
-  without precision loss into an NNC_Polyhedron; otherwise,
-  an incorrect result might be obtained.
+/* Automatically generated from PPL source file ../src/Time.defs.hh line 1. */
+/* Time class declaration.
 */
-template <typename PSET>
-bool
-check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps);
 
-// CHECKME: according to the Intel compiler, the declaration of the
-// following specialization (of the class template parameter) should come
-// before the declaration of the corresponding full specialization
-// (where the member template parameter is specialized too).
-template <>
-template <typename QH>
-Pointset_Powerset<NNC_Polyhedron>
-::Pointset_Powerset(const Pointset_Powerset<QH>& y,
-                    Complexity_Class);
 
-// Non-inline full specializations should be declared here
-// so as to inhibit multiple instantiations of the generic template.
-template <>
-template <>
-Pointset_Powerset<NNC_Polyhedron>
-::Pointset_Powerset(const Pointset_Powerset<C_Polyhedron>& y,
-                    Complexity_Class);
+/* Automatically generated from PPL source file ../src/Time.types.hh line 1. */
 
-template <>
-template <>
-Pointset_Powerset<NNC_Polyhedron>
-::Pointset_Powerset(const Pointset_Powerset<Grid>& y,
-                    Complexity_Class);
 
-template <>
-template <>
-Pointset_Powerset<C_Polyhedron>
-::Pointset_Powerset(const Pointset_Powerset<NNC_Polyhedron>& y,
-                    Complexity_Class);
+namespace Parma_Polyhedra_Library {
 
-template <>
-void
-Pointset_Powerset<NNC_Polyhedron>
-::difference_assign(const Pointset_Powerset& y);
+namespace Implementation {
 
-template <>
-void
-Pointset_Powerset<Grid>
-::difference_assign(const Pointset_Powerset& y);
+namespace Watchdog {
 
-template <>
-bool
-Pointset_Powerset<NNC_Polyhedron>
-::geometrically_covers(const Pointset_Powerset& y) const;
+class Time;
 
-template <>
-bool
-Pointset_Powerset<Grid>
-::geometrically_covers(const Pointset_Powerset& y) const;
+} // namespace Watchdog
+
+} // namespace Implementation
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Time.defs.hh line 28. */
 
-namespace std {
+namespace Parma_Polyhedra_Library {
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PSET>
-void swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
-	  Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y);
+namespace Implementation {
 
-} // namespace std
+namespace Watchdog {
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 1. */
-/* Pointset_Powerset class implementation: inline functions.
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+bool operator==(const Time& x, const Time& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+bool operator!=(const Time& x, const Time& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x is shorter than \p y.
+bool operator<(const Time& x, const Time& y);
+
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x is shorter than
+  or equal to \p y.
 */
+bool operator<=(const Time& x, const Time& y);
 
+//! Returns <CODE>true</CODE> if and only if \p x is longer than \p y.
+bool operator>(const Time& x, const Time& y);
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 35. */
-#include <algorithm>
-#include <deque>
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x is longer than
+  or equal to \p y.
+*/
+bool operator>=(const Time& x, const Time& y);
 
-namespace Parma_Polyhedra_Library {
+//! Returns the sum of \p x and \p y.
+Time operator+(const Time& x, const Time& y);
 
-template <typename PSET>
-inline dimension_type
-Pointset_Powerset<PSET>::space_dimension() const {
-  return space_dim;
-}
+/*! \brief
+  Returns the difference of \p x and \p y or the null interval,
+  if \p x is shorter than \p y.
+*/
+Time operator-(const Time& x, const Time& y);
 
-template <typename PSET>
-inline dimension_type
-Pointset_Powerset<PSET>::max_space_dimension() {
-  return PSET::max_space_dimension();
-}
+} // namespace Watchdog
 
-template <typename PSET>
-inline
-Pointset_Powerset<PSET>::Pointset_Powerset(dimension_type num_dimensions,
-					   Degenerate_Element kind)
-  : Base(), space_dim(num_dimensions) {
-  Pointset_Powerset& x = *this;
-  if (kind == UNIVERSE)
-    x.sequence.push_back(Determinate<PSET>(PSET(num_dimensions, kind)));
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Implementation
 
-template <typename PSET>
-inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const Pointset_Powerset& y,
-					   Complexity_Class)
-  : Base(y), space_dim(y.space_dim) {
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename PSET>
-inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const C_Polyhedron& ph,
-					   Complexity_Class complexity)
-  : Base(), space_dim(ph.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (complexity == ANY_COMPLEXITY) {
-    if (ph.is_empty())
-      return;
-  }
-  else
-    x.reduced = false;
-  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(OK());
-}
+//! A class for representing and manipulating positive time intervals.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Time {
+public:
+  //! Zero seconds.
+  Time();
 
-template <typename PSET>
-inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const NNC_Polyhedron& ph,
-					   Complexity_Class complexity)
-  : Base(), space_dim(ph.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (complexity == ANY_COMPLEXITY) {
-    if (ph.is_empty())
-      return;
-  }
-  else
-    x.reduced = false;
-  x.sequence.push_back(Determinate<PSET>(PSET(ph, complexity)));
-  PPL_ASSERT_HEAVY(OK());
-}
+  //! Constructor taking a number of centiseconds.
+  explicit Time(long centisecs);
 
-template <typename PSET>
-inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const Grid& gr,
-					   Complexity_Class)
-  : Base(), space_dim(gr.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (!gr.is_empty()) {
-    x.sequence.push_back(Determinate<PSET>(PSET(gr)));
-  }
-  PPL_ASSERT_HEAVY(OK());
-}
+  //! Constructor with seconds and microseconds.
+  Time(long s, long m);
 
-template <typename PSET>
-template <typename QH1, typename QH2, typename R>
-inline
-Pointset_Powerset<PSET>
-::Pointset_Powerset(const Partially_Reduced_Product<QH1, QH2, R>& prp,
-                    Complexity_Class complexity)
-  : Base(), space_dim(prp.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (complexity == ANY_COMPLEXITY) {
-    if (prp.is_empty())
-      return;
-  }
-  else
-    x.reduced = false;
-  x.sequence.push_back(Determinate<PSET>(PSET(prp, complexity)));
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(OK());
-}
+  /*! \brief
+    Returns the number of whole seconds contained in the represented
+    time interval.
+  */
+  long seconds() const;
 
-template <typename PSET>
-template <typename Interval>
-Pointset_Powerset<PSET>::Pointset_Powerset(const Box<Interval>& box,
-					   Complexity_Class)
-  : Base(), space_dim(box.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (!box.is_empty())
-    x.sequence.push_back(Determinate<PSET>(PSET(box)));
-  PPL_ASSERT_HEAVY(OK());
-}
+  /*! \brief
+    Returns the number of microseconds that, when added to the number
+    of seconds returned by seconds(), give the represent time interval.
+  */
+  long microseconds() const;
 
-template <typename PSET>
-template <typename T>
-Pointset_Powerset<PSET>::Pointset_Powerset(const Octagonal_Shape<T>& os,
-					   Complexity_Class)
-  : Base(), space_dim(os.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (!os.is_empty())
-    x.sequence.push_back(Determinate<PSET>(PSET(os)));
-  PPL_ASSERT_HEAVY(OK());
-}
+  //! Adds \p y to \p *this.
+  Time& operator+=(const Time& y);
 
-template <typename PSET>
-template <typename T>
-Pointset_Powerset<PSET>::Pointset_Powerset(const BD_Shape<T>& bds,
-					   Complexity_Class)
-  : Base(), space_dim(bds.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  if (!bds.is_empty())
-    x.sequence.push_back(Determinate<PSET>(PSET(bds)));
-  PPL_ASSERT_HEAVY(OK());
+  /*! \brief
+    Subtracts \p y from \p *this; if \p *this is shorter than \p y,
+    \p *this is set to the null interval.
+  */
+  Time& operator-=(const Time& y);
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  //! Number of microseconds in a second.
+  static const long USECS_PER_SEC = 1000000L;
+
+  //! Number of centiseconds in a second.
+  static const long CSECS_PER_SEC = 100L;
+
+  //! Number of seconds.
+  long secs;
+
+  //! Number of microseconds.
+  long microsecs;
+};
+
+/* Automatically generated from PPL source file ../src/Time.inlines.hh line 1. */
+/* Time class implementation: inline functions.
+*/
+
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+inline
+Time::Time()
+  : secs(0), microsecs(0) {
+  assert(OK());
 }
 
-template <typename PSET>
 inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const Constraint_System& cs)
-  : Base(Determinate<PSET>(cs)), space_dim(cs.space_dimension()) {
-  PPL_ASSERT_HEAVY(OK());
+Time::Time(long centisecs)
+  : secs(centisecs / CSECS_PER_SEC),
+    microsecs((centisecs % CSECS_PER_SEC) * (USECS_PER_SEC/CSECS_PER_SEC)) {
+  assert(OK());
 }
 
-template <typename PSET>
 inline
-Pointset_Powerset<PSET>::Pointset_Powerset(const Congruence_System& cgs)
-  : Base(Determinate<PSET>(cgs)), space_dim(cgs.space_dimension()) {
-  PPL_ASSERT_HEAVY(OK());
+Time::Time(long s, long m)
+  : secs(s),
+    microsecs(m) {
+  if (microsecs >= USECS_PER_SEC) {
+    secs += microsecs / USECS_PER_SEC;
+    microsecs %= USECS_PER_SEC;
+  }
+  assert(OK());
 }
 
-template <typename PSET>
-inline Pointset_Powerset<PSET>&
-Pointset_Powerset<PSET>::operator=(const Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
-  x.Base::operator=(y);
-  x.space_dim = y.space_dim;
-  return x;
+inline long
+Time::seconds() const {
+  return secs;
 }
 
-template <typename PSET>
-inline void
-Pointset_Powerset<PSET>::swap(Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
-  x.Base::swap(y);
-  std::swap(x.space_dim, y.space_dim);
+inline long
+Time::microseconds() const {
+  return microsecs;
 }
 
-template <typename PSET>
-template <typename QH>
-inline Pointset_Powerset<PSET>&
-Pointset_Powerset<PSET>::operator=(const Pointset_Powerset<QH>& y) {
-  Pointset_Powerset& x = *this;
-  Pointset_Powerset<PSET> pps(y);
-  x.swap(pps);
-  return x;
+inline Time&
+Time::operator+=(const Time& y) {
+  long r_secs = secs + y.secs;
+  long r_microsecs = microsecs + y.microsecs;
+  if (r_microsecs >= USECS_PER_SEC) {
+    ++r_secs;
+    r_microsecs %= USECS_PER_SEC;
+  }
+  secs = r_secs;
+  microsecs = r_microsecs;
+  assert(OK());
+  return *this;
 }
 
-template <typename PSET>
-inline void
-Pointset_Powerset<PSET>::intersection_assign(const Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
-  x.pairwise_apply_assign
-    (y,
-     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::intersection_assign)));
+inline Time&
+Time::operator-=(const Time& y) {
+  long r_secs = secs - y.secs;
+  long r_microsecs = microsecs - y.microsecs;
+  if (r_microsecs < 0) {
+    --r_secs;
+    r_microsecs += USECS_PER_SEC;
+  }
+  if (r_secs < 0) {
+    r_secs = 0;
+    r_microsecs = 0;
+  }
+  secs = r_secs;
+  microsecs = r_microsecs;
+  assert(OK());
+  return *this;
 }
 
-template <typename PSET>
-inline void
-Pointset_Powerset<PSET>::time_elapse_assign(const Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
-  x.pairwise_apply_assign
-    (y,
-     Det_PSET::lift_op_assign(std::mem_fun_ref(&PSET::time_elapse_assign)));
+inline Time
+operator+(const Time& x, const Time& y) {
+  Time z = x;
+  z += y;
+  return z;
 }
 
-template <typename PSET>
-inline bool
-Pointset_Powerset<PSET>
-::geometrically_covers(const Pointset_Powerset& y) const {
-  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
-  const Pointset_Powerset<NNC_Polyhedron> xx(*this);
-  const Pointset_Powerset<NNC_Polyhedron> yy(y);
-  return xx.geometrically_covers(yy);
+inline Time
+operator-(const Time& x, const Time& y) {
+  Time z = x;
+  z -= y;
+  return z;
 }
 
-template <typename PSET>
 inline bool
-Pointset_Powerset<PSET>
-::geometrically_equals(const Pointset_Powerset& y) const {
-  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
-  const Pointset_Powerset<NNC_Polyhedron> xx(*this);
-  const Pointset_Powerset<NNC_Polyhedron> yy(y);
-  return xx.geometrically_covers(yy) && yy.geometrically_covers(xx);
+operator==(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return x.seconds() == y.seconds() && y.microseconds() == y.microseconds();
 }
 
-template <>
 inline bool
-Pointset_Powerset<Grid>
-::geometrically_equals(const Pointset_Powerset& y) const {
-  const Pointset_Powerset& x = *this;
-  return x.geometrically_covers(y) && y.geometrically_covers(x);
+operator!=(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return !(x == y);
 }
 
-template <>
 inline bool
-Pointset_Powerset<NNC_Polyhedron>
-::geometrically_equals(const Pointset_Powerset& y) const {
-  const Pointset_Powerset& x = *this;
-  return x.geometrically_covers(y) && y.geometrically_covers(x);
+operator<(const Time& x, const Time& y) {
+  assert(x.OK() && y.OK());
+  return x.seconds() < y.seconds()
+    || (x.seconds() == y.seconds() && x.microseconds() < y.microseconds());
 }
 
-template <typename PSET>
-inline memory_size_type
-Pointset_Powerset<PSET>::external_memory_in_bytes() const {
-  return Base::external_memory_in_bytes();
+inline bool
+operator<=(const Time& x, const Time& y) {
+  return x < y || x == y;
 }
 
-template <typename PSET>
-inline memory_size_type
-Pointset_Powerset<PSET>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline bool
+operator>(const Time& x, const Time& y) {
+  return y < x;
 }
 
-template <typename PSET>
-inline int32_t
-Pointset_Powerset<PSET>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+inline bool
+operator>=(const Time& x, const Time& y) {
+  return y <= x;
 }
 
-template <typename PSET>
-inline void
-Pointset_Powerset<PSET>
-::difference_assign(const Pointset_Powerset& y) {
-  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
-  Pointset_Powerset<NNC_Polyhedron> nnc_this(*this);
-  Pointset_Powerset<NNC_Polyhedron> nnc_y(y);
-  nnc_this.difference_assign(nnc_y);
-  *this = nnc_this;
-}
+} // namespace Watchdog
 
-/*! \relates Pointset_Powerset */
-template <typename PSET>
-inline bool
-check_containment(const PSET& ph, const Pointset_Powerset<PSET>& ps) {
-  // This code is only used when PSET is an abstraction of NNC_Polyhedron.
-  const NNC_Polyhedron pph = NNC_Polyhedron(ph.constraints());
-  const Pointset_Powerset<NNC_Polyhedron> pps(ps);
-  return check_containment(pph, pps);
-}
+} // namespace Implementation
 
-/*! \relates Pointset_Powerset */
-template <>
-inline bool
-check_containment(const C_Polyhedron& ph,
-		  const Pointset_Powerset<C_Polyhedron>& ps) {
-  return check_containment(NNC_Polyhedron(ph),
-			   Pointset_Powerset<NNC_Polyhedron>(ps));
-}
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Time.defs.hh line 125. */
+
+/* Automatically generated from PPL source file ../src/Handler.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+class Handler;
+
+template <typename Flag_Base, typename Flag>
+class Handler_Flag;
+
+class Handler_Function;
+
+} // namespace Watchdog
+
+} // namespace Implementation
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Pending_List.defs.hh line 1. */
+/* Pending_List class declaration.
+*/
 
-namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Pointset_Powerset */
-template <typename PSET>
-inline void
-swap(Parma_Polyhedra_Library::Pointset_Powerset<PSET>& x,
-     Parma_Polyhedra_Library::Pointset_Powerset<PSET>& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file ../src/Pending_List.types.hh line 1. */
 
-} // namespace std
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.templates.hh line 1. */
-/* Pointset_Powerset class implementation: non-inline template functions.
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Traits>
+class Pending_List;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 1. */
+/* Pending_Element class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.templates.hh line 33. */
-#include <algorithm>
-#include <deque>
-#include <string>
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
+/* Automatically generated from PPL source file ../src/Pending_Element.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_disjunct(const PSET& ph) {
-  Pointset_Powerset& x = *this;
-  if (x.space_dimension() != ph.space_dimension()) {
-    std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PSET>::add_disjunct(ph):\n"
-      << "this->space_dimension() == " << x.space_dimension() << ", "
-      << "ph.space_dimension() == " << ph.space_dimension() << ".";
-    throw std::invalid_argument(s.str());
-  }
-  x.sequence.push_back(Determinate<PSET>(ph));
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Implementation {
 
-template <>
-template <typename QH>
-Pointset_Powerset<NNC_Polyhedron>
-::Pointset_Powerset(const Pointset_Powerset<QH>& y,
-                    Complexity_Class complexity)
-  : Base(), space_dim(y.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
-	 y_end = y.end(); i != y_end; ++i)
-    x.sequence.push_back(Determinate<NNC_Polyhedron>
-			 (NNC_Polyhedron(i->pointset(), complexity)));
+namespace Watchdog {
 
-  // FIXME: If the domain elements can be represented _exactly_ as NNC
-  // polyhedra, then having x.reduced = y.reduced is correct. This is
-  // the case if the domains are both linear and convex which holds
-  // for all the currently supported instantiations except for
-  // Grids; for this reason the Grid specialization has a
-  // separate implementation.  For any non-linear or non-convex
-  // domains (e.g., a domain of Intervals with restrictions or a
-  // domain of circles) that may be supported in the future, the
-  // assignment x.reduced = y.reduced will be a bug.
-  x.reduced = y.reduced;
+template <class Threshold>
+class Pending_Element;
 
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Watchdog
 
-template <typename PSET>
-template <typename QH>
-Pointset_Powerset<PSET>
-::Pointset_Powerset(const Pointset_Powerset<QH>& y,
-                    Complexity_Class complexity)
-  : Base(), space_dim(y.space_dimension()) {
-  Pointset_Powerset& x = *this;
-  for (typename Pointset_Powerset<QH>::const_iterator i = y.begin(),
-	 y_end = y.end(); i != y_end; ++i)
-    x.sequence.push_back(Determinate<PSET>(PSET(i->pointset(), complexity)));
-  // Note: this might be non-reduced even when `y' is known to be
-  // omega-reduced, because the constructor of PSET may have made
-  // different QH elements to become comparable.
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Implementation
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::concatenate_assign(const Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
-  // Ensure omega-reduction here, since what follows has quadratic complexity.
-  x.omega_reduce();
-  y.omega_reduce();
-  Pointset_Powerset<PSET> new_x(x.space_dim + y.space_dim, EMPTY);
-  for (const_iterator xi = x.begin(), x_end = x.end(),
-	 y_begin = y.begin(), y_end = y.end(); xi != x_end; ) {
-    for (const_iterator yi = y_begin; yi != y_end; ++yi) {
-      Det_PSET zi = *xi;
-      zi.concatenate_assign(*yi);
-      PPL_ASSERT_HEAVY(!zi.is_bottom());
-      new_x.sequence.push_back(zi);
-    }
-    ++xi;
-    if (abandon_expensive_computations && xi != x_end && y_begin != y_end) {
-      // Hurry up!
-      PSET xph = xi->pointset();
-      for (++xi; xi != x_end; ++xi)
-	xph.upper_bound_assign(xi->pointset());
-      const_iterator yi = y_begin;
-      PSET yph = yi->pointset();
-      for (++yi; yi != y_end; ++yi)
-	yph.upper_bound_assign(yi->pointset());
-      xph.concatenate_assign(yph);
-      x.swap(new_x);
-      x.add_disjunct(xph);
-      PPL_ASSERT_HEAVY(x.OK());
-      return;
-    }
-  }
-  x.swap(new_x);
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_constraint(const Constraint& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_constraint(c);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+/* Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 1. */
+/* Doubly_Linked_Object class declaration.
+*/
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::refine_with_constraint(const Constraint& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().refine_with_constraint(c);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_constraints(const Constraint_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_constraints(cs);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+/* Automatically generated from PPL source file ../src/Doubly_Linked_Object.types.hh line 1. */
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::refine_with_constraints(const Constraint_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().refine_with_constraints(cs);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_congruence(const Congruence& c) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_congruence(c);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::refine_with_congruence(const Congruence& cg) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().refine_with_congruence(cg);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Implementation {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_congruences(const Congruence_System& cs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_congruences(cs);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Watchdog {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::refine_with_congruences(const Congruence_System& cgs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().refine_with_congruences(cgs);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+class Doubly_Linked_Object;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::unconstrain(const Variable var) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().unconstrain(var);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Watchdog
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::unconstrain(const Variables_Set& vars) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().unconstrain(vars);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Implementation
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_space_dimensions_and_embed(dimension_type m) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_space_dimensions_and_embed(m);
-  x.space_dim += m;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::add_space_dimensions_and_project(dimension_type m) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().add_space_dimensions_and_project(m);
-  x.space_dim += m;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+/* Automatically generated from PPL source file ../src/EList.types.hh line 1. */
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::remove_space_dimensions(const Variables_Set& vars) {
-  Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_removed = vars.size();
-  if (num_removed > 0) {
-    for (Sequence_iterator si = x.sequence.begin(),
-	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->pointset().remove_space_dimensions(vars);
-      x.reduced = false;
-    }
-    x.space_dim -= num_removed;
-    PPL_ASSERT_HEAVY(x.OK());
-  }
-}
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::remove_higher_space_dimensions(dimension_type new_dimension) {
-  Pointset_Powerset& x = *this;
-  if (new_dimension < x.space_dim) {
-    for (Sequence_iterator si = x.sequence.begin(),
-	   s_end = x.sequence.end(); si != s_end; ++si) {
-      si->pointset().remove_higher_space_dimensions(new_dimension);
-      x.reduced = false;
-    }
-    x.space_dim = new_dimension;
-    PPL_ASSERT_HEAVY(x.OK());
-  }
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-template <typename Partial_Function>
-void
-Pointset_Powerset<PSET>::map_space_dimensions(const Partial_Function& pfunc) {
-  Pointset_Powerset& x = *this;
-  if (x.is_bottom()) {
-    dimension_type n = 0;
-    for (dimension_type i = x.space_dim; i-- > 0; ) {
-      dimension_type new_i;
-      if (pfunc.maps(i, new_i))
-	++n;
-    }
-    x.space_dim = n;
-  }
-  else {
-    Sequence_iterator s_begin = x.sequence.begin();
-    for (Sequence_iterator si = s_begin,
-	   s_end = x.sequence.end(); si != s_end; ++si)
-      si->pointset().map_space_dimensions(pfunc);
-    x.space_dim = s_begin->pointset().space_dimension();
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Implementation {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::expand_space_dimension(Variable var,
-                                                dimension_type m) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().expand_space_dimension(var, m);
-  x.space_dim += m;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+namespace Watchdog {
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::fold_space_dimensions(const Variables_Set& vars,
-                                               Variable dest) {
-  Pointset_Powerset& x = *this;
-  Variables_Set::size_type num_folded = vars.size();
-  if (num_folded > 0) {
-    for (Sequence_iterator si = x.sequence.begin(),
-           s_end = x.sequence.end(); si != s_end; ++si)
-      si->pointset().fold_space_dimensions(vars, dest);
-  }
-  x.space_dim -= num_folded;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+template <typename T>
+class EList;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::affine_image(Variable var,
-                                      const Linear_Expression& expr,
-                                      Coefficient_traits::const_reference
-                                      denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().affine_image(var, expr, denominator);
-    // Note that the underlying domain can apply conservative approximation:
-    // that is why it would not be correct to make the loss of reduction
-    // conditional on `var' and `expr'.
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Watchdog
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::affine_preimage(Variable var,
-                                         const Linear_Expression& expr,
-                                         Coefficient_traits::const_reference
-                                         denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().affine_preimage(var, expr, denominator);
-    // Note that the underlying domain can apply conservative approximation:
-    // that is why it would not be correct to make the loss of reduction
-    // conditional on `var' and `expr'.
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/EList_Iterator.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+class EList_Iterator;
+
+} // namespace Watchdog
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 30. */
+
+//! A (base) class for doubly linked objects.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Doubly_Linked_Object {
+public:
+  //! Default constructor.
+  Doubly_Linked_Object();
+
+  //! Creates a chain element with forward link \p f and backward link \p b.
+  Doubly_Linked_Object(Doubly_Linked_Object* f, Doubly_Linked_Object* b);
+
+  //! Inserts \p y before \p *this.
+  void insert_before(Doubly_Linked_Object& y);
+
+  //! Inserts \p y after \p *this.
+  void insert_after(Doubly_Linked_Object& y);
+
+  //! Erases \p *this from the chain and returns a pointer to the next element.
+  Doubly_Linked_Object* erase();
+
+  //! Erases \p *this from the chain.
+  ~Doubly_Linked_Object();
+
+private:
+  //! Forward link.
+  Doubly_Linked_Object* next;
+
+  //! Backward link.
+  Doubly_Linked_Object* prev;
+
+  template <typename T> friend class EList;
+  template <typename T> friend class EList_Iterator;
+};
 
+/* Automatically generated from PPL source file ../src/Doubly_Linked_Object.inlines.hh line 1. */
+/* Doubly_Linked_Object class implementation: inline functions.
+*/
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::generalized_affine_image(const Linear_Expression& lhs,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression& rhs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().generalized_affine_image(lhs, relsym, rhs);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
-}
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::generalized_affine_preimage(const Linear_Expression& lhs,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& rhs) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().generalized_affine_preimage(lhs, relsym, rhs);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+inline
+Doubly_Linked_Object::Doubly_Linked_Object() {
 }
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::generalized_affine_image(Variable var,
-                           const Relation_Symbol relsym,
-                           const Linear_Expression& expr,
-                           Coefficient_traits::const_reference denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().generalized_affine_image(var, relsym, expr, denominator);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
+inline
+Doubly_Linked_Object::Doubly_Linked_Object(Doubly_Linked_Object* f,
+					   Doubly_Linked_Object* b)
+  : next(f),
+    prev(b) {
 }
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::generalized_affine_preimage(Variable var,
-                              const Relation_Symbol relsym,
-                              const Linear_Expression& expr,
-                              Coefficient_traits::const_reference
-                              denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().generalized_affine_preimage(var, relsym, expr, denominator);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
+inline void
+Doubly_Linked_Object::insert_before(Doubly_Linked_Object& y) {
+  y.next = this;
+  y.prev = prev;
+  prev->next = &y;
+  prev = &y;
 }
 
+inline void
+Doubly_Linked_Object::insert_after(Doubly_Linked_Object& y) {
+  y.next = next;
+  y.prev = this;
+  next->prev = &y;
+  next = &y;
+}
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::bounded_affine_image(Variable var,
-                       const Linear_Expression& lb_expr,
-                       const Linear_Expression& ub_expr,
-                       Coefficient_traits::const_reference denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().bounded_affine_image(var, lb_expr, ub_expr, denominator);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
+inline Doubly_Linked_Object*
+Doubly_Linked_Object::erase() {
+  next->prev = prev;
+  prev->next = next;
+  return next;
 }
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::bounded_affine_preimage(Variable var,
-                          const Linear_Expression& lb_expr,
-                          const Linear_Expression& ub_expr,
-                          Coefficient_traits::const_reference denominator) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    si->pointset().bounded_affine_preimage(var, lb_expr, ub_expr,
-                                          denominator);
-    x.reduced = false;
-  }
-  PPL_ASSERT_HEAVY(x.OK());
+inline
+Doubly_Linked_Object::~Doubly_Linked_Object() {
+  erase();
 }
 
-template <typename PSET>
-dimension_type
-Pointset_Powerset<PSET>::affine_dimension() const {
-  // The affine dimension of the powerset is the affine dimension of
-  // the smallest vector space in which it can be embedded.
-  const Pointset_Powerset& x = *this;
-  C_Polyhedron x_ph(space_dim, EMPTY);
+} // namespace Watchdog
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    PSET pi(si->pointset());
-    if (!pi.is_empty()) {
-      C_Polyhedron phi(space_dim);
-      const Constraint_System& cs = pi.minimized_constraints();
-      for (Constraint_System::const_iterator i = cs.begin(),
-             cs_end = cs.end(); i != cs_end; ++i) {
-        const Constraint& c = *i;
-        if (c.is_equality())
-          phi.add_constraint(c);
-      }
-      x_ph.poly_hull_assign(phi);
-    }
-  }
+} // namespace Implementation
 
-  return x_ph.affine_dimension();
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_universe() const {
-  const Pointset_Powerset& x = *this;
-  // Exploit omega-reduction, if already computed.
-  if (x.is_omega_reduced())
-    return x.size() == 1 && x.begin()->pointset().is_universe();
+/* Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 64. */
 
-  // A powerset is universe iff one of its disjuncts is.
-  for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->pointset().is_universe()) {
-      // Speculative omega-reduction, if it is worth.
-      if (x.size() > 1) {
-        Pointset_Powerset<PSET> universe(x.space_dimension(), UNIVERSE);
-        Pointset_Powerset& xx = const_cast<Pointset_Powerset&>(x);
-        xx.swap(universe);
-      }
-      return true;
-    }
-  return false;
-}
+/* Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 30. */
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_empty() const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().is_empty())
-      return false;
-  return true;
-}
+//! A class for pending watchdog events with embedded links.
+/*!
+  Each pending watchdog event is characterized by a deadline (a positive
+  time interval), an associated handler that will be invoked upon event
+  expiration, and a Boolean flag that indicates whether the event has already
+  expired or not.
+*/
+template <typename Threshold>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Pending_Element
+  : public Doubly_Linked_Object {
+public:
+  //! Constructs an element with the given attributes.
+  Pending_Element(const Threshold& deadline,
+		  const Handler& handler,
+		  bool& expired_flag);
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_discrete() const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().is_discrete())
-      return false;
-  return true;
-}
+  //! Modifies \p *this so that it has the given attributes.
+  void assign(const Threshold& deadline,
+	      const Handler& handler,
+	      bool& expired_flag);
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_topologically_closed() const {
-  const Pointset_Powerset& x = *this;
-  // The powerset must be omega-reduced before checking
-  // topological closure.
-  x.omega_reduce();
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().is_topologically_closed())
-      return false;
-  return true;
-}
+  //! Returns the deadline of the event.
+  const Threshold& deadline() const;
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_bounded() const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().is_bounded())
-      return false;
-  return true;
-}
+  //! Returns the handler associated to the event.
+  const Handler& handler() const;
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::constrains(Variable var) const {
-  const Pointset_Powerset& x = *this;
-  // `var' should be one of the dimensions of the powerset.
-  const dimension_type var_space_dim = var.space_dimension();
-  if (x.space_dimension() < var_space_dim) {
-    std::ostringstream s;
-    s << "PPL::Pointset_Powerset<PSET>::constrains(v):\n"
-      << "this->space_dimension() == " << x.space_dimension() << ", "
-      << "v.space_dimension() == " << var_space_dim << ".";
-    throw std::invalid_argument(s.str());
-  }
-  // omega_reduction needed, since a redundant disjunct may constrain var.
-  x.omega_reduce();
-  // An empty powerset constrains all variables.
-  if (x.is_empty())
-    return true;
-  for (const_iterator x_i = x.begin(), x_end = x.end(); x_i != x_end; ++x_i)
-    if (x_i->pointset().constrains(var))
-      return true;
-  return false;
-}
+  //! Returns a reference to the "event-expired" flag.
+  bool& expired_flag() const;
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::is_disjoint_from(const Pointset_Powerset& y) const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         xs_end = x.sequence.end(); si != xs_end; ++si) {
-    const PSET& pi = si->pointset();
-    for (Sequence_const_iterator sj = y.sequence.begin(),
-           ys_end = y.sequence.end(); sj != ys_end; ++sj) {
-      const PSET& pj = sj->pointset();
-      if (!pi.is_disjoint_from(pj))
-        return false;
-    }
-  }
-  return true;
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::drop_some_non_integer_points(const Variables_Set& vars,
-			       Complexity_Class complexity) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().drop_some_non_integer_points(vars, complexity);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+private:
+  //! The deadline of the event.
+  Threshold d;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>
-::drop_some_non_integer_points(Complexity_Class complexity) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().drop_some_non_integer_points(complexity);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-}
+  //! A pointer to the handler associated to the event.
+  const Handler* p_h;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::topological_closure_assign() {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().topological_closure_assign();
-  PPL_ASSERT_HEAVY(x.OK());
-}
+  //! A pointer to a flag saying whether the event has already expired or not.
+  bool* p_f;
+};
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>
-::intersection_preserving_enlarge_element(PSET& dest) const {
-  // FIXME: this is just an executable specification.
-  const Pointset_Powerset& context = *this;
-  PPL_ASSERT(context.space_dimension() == dest.space_dimension());
-  bool nonempty_intersection = false;
-  // TODO: maybe use a *sorted* constraint system?
-  PSET enlarged(context.space_dimension(), UNIVERSE);
-  for (Sequence_const_iterator si = context.sequence.begin(),
-         s_end = context.sequence.end(); si != s_end; ++si) {
-    PSET context_i(si->pointset());
-    context_i.intersection_assign(enlarged);
-    PSET enlarged_i(dest);
-    nonempty_intersection
-      |= enlarged_i.simplify_using_context_assign(context_i);
-    // TODO: merge the sorted constraints of `enlarged' and `enlarged_i'?
-    enlarged.intersection_assign(enlarged_i);
-  }
-  dest.swap(enlarged);
-  return nonempty_intersection;
-}
+/* Automatically generated from PPL source file ../src/Pending_Element.inlines.hh line 1. */
+/* Pending_Element class implementation: inline functions.
+*/
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>
-::simplify_using_context_assign(const Pointset_Powerset& y) {
-  Pointset_Powerset& x = *this;
 
-  // Omega reduction is required.
-  // TODO: check whether it would be more efficient to Omega-reduce x
-  // during the simplification process: when examining *si, we check
-  // if it has been made redundant by any of the elements preceding it
-  // (which have been already simplified).
-  x.omega_reduce();
-  if (x.is_empty())
-    return false;
-  y.omega_reduce();
-  if (y.is_empty()) {
-    x = y;
-    return false;
-  }
+#include <cassert>
 
-  if (y.size() == 1) {
-    // More efficient, special handling of the singleton context case.
-    const PSET& y_i = y.sequence.begin()->pointset();
-    for (Sequence_iterator si = x.sequence.begin(),
-           s_end = x.sequence.end(); si != s_end; ) {
-      PSET& x_i = si->pointset();
-      if (x_i.simplify_using_context_assign(y_i))
-        ++si;
-      else
-        // Intersection is empty: drop the disjunct.
-        si = x.sequence.erase(si);
-    }
-  }
-  else {
-    // The context is not a singleton.
-    for (Sequence_iterator si = x.sequence.begin(),
-           s_end = x.sequence.end(); si != s_end; ) {
-      if (y.intersection_preserving_enlarge_element(si->pointset()))
-        ++si;
-      else
-        // Intersection with `*si' is empty: drop the disjunct.
-        si = x.sequence.erase(si);
-    }
-  }
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
-  return !x.sequence.empty();
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::contains(const Pointset_Powerset& y) const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = y.sequence.begin(),
-         ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PSET& pi = si->pointset();
-    bool pi_is_contained = false;
-    for (Sequence_const_iterator sj = x.sequence.begin(),
-           xs_end = x.sequence.end();
-         (sj != xs_end && !pi_is_contained); ++sj) {
-      const PSET& pj = sj->pointset();
-      if (pj.contains(pi))
-        pi_is_contained = true;
-    }
-    if (!pi_is_contained)
-      return false;
-  }
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename Threshold>
+inline bool
+Pending_Element<Threshold>::OK() const {
   return true;
 }
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::strictly_contains(const Pointset_Powerset& y) const {
-  /* omega reduction ensures that a disjunct of y cannot be strictly
-     contained in one disjunct and also contained but not strictly
-     contained in another disjunct of *this */
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  for (Sequence_const_iterator si = y.sequence.begin(),
-         ys_end = y.sequence.end(); si != ys_end; ++si) {
-    const PSET& pi = si->pointset();
-    bool pi_is_strictly_contained = false;
-    for (Sequence_const_iterator sj = x.sequence.begin(),
-           xs_end = x.sequence.end();
-         (sj != xs_end && !pi_is_strictly_contained); ++sj) {
-      const PSET& pj = sj->pointset();
-      if (pj.strictly_contains(pi))
-        pi_is_strictly_contained = true;
-    }
-    if (!pi_is_strictly_contained)
-      return false;
-  }
-  return true;
+template <typename Threshold>
+inline
+Pending_Element<Threshold>::Pending_Element(const Threshold& deadline,
+					    const Handler& handler,
+					    bool& expired_flag)
+  : d(deadline), p_h(&handler), p_f(&expired_flag) {
+  assert(OK());
 }
 
-template <typename PSET>
-Poly_Con_Relation
-Pointset_Powerset<PSET>::relation_with(const Congruence& cg) const {
-  const Pointset_Powerset& x = *this;
+template <typename Threshold>
+inline void
+Pending_Element<Threshold>::assign(const Threshold& deadline,
+				   const Handler& handler,
+				   bool& expired_flag) {
+  d = deadline;
+  p_h = &handler;
+  p_f = &expired_flag;
+  assert(OK());
+}
 
-  /* *this is included in cg if every disjunct is included in cg */
-  bool is_included = true;
-  /* *this is disjoint with cg if every disjunct is disjoint with cg */
-  bool is_disjoint = true;
-  /* *this strictly_intersects with cg if some disjunct strictly
-     intersects with cg */
-  bool is_strictly_intersecting = false;
-  /* *this saturates cg if some disjunct saturates cg and
-     every disjunct is either disjoint from cg or saturates cg */
-  bool saturates_once = false;
-  bool may_saturate = true;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->pointset().relation_with(cg);
-    if (!relation_i.implies(Poly_Con_Relation::is_included()))
-      is_included = false;
-    if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
-      is_disjoint = false;
-    if (relation_i.implies(Poly_Con_Relation::strictly_intersects()))
-      is_strictly_intersecting = true;
-    if (relation_i.implies(Poly_Con_Relation::saturates()))
-      saturates_once = true;
-    else if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
-      may_saturate = false;
-  }
+template <typename Threshold>
+inline const Threshold&
+Pending_Element<Threshold>::deadline() const {
+  return d;
+}
 
-  Poly_Con_Relation result = Poly_Con_Relation::nothing();
-  if (is_included)
-    result = result && Poly_Con_Relation::is_included();
-  if (is_disjoint)
-    result = result && Poly_Con_Relation::is_disjoint();
-  if (is_strictly_intersecting)
-    result = result && Poly_Con_Relation::strictly_intersects();
-  if (saturates_once && may_saturate)
-    result = result && Poly_Con_Relation::saturates();
+template <typename Threshold>
+inline const Handler&
+Pending_Element<Threshold>::handler() const {
+  return *p_h;
+}
 
-  return result;
+template <typename Threshold>
+inline bool&
+Pending_Element<Threshold>::expired_flag() const {
+  return *p_f;
 }
 
-template <typename PSET>
-Poly_Con_Relation
-Pointset_Powerset<PSET>::relation_with(const Constraint& c) const {
-  const Pointset_Powerset& x = *this;
+} // namespace Watchdog
 
-  /* *this is included in c if every disjunct is included in c */
-  bool is_included = true;
-  /* *this is disjoint with c if every disjunct is disjoint with c */
-  bool is_disjoint = true;
-  /* *this strictly_intersects with c if some disjunct strictly
-     intersects with c */
-  bool is_strictly_intersecting = false;
-  /* *this saturates c if some disjunct saturates c and
-     every disjunct is either disjoint from c or saturates c */
-  bool saturates_once = false;
-  bool may_saturate = true;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Con_Relation relation_i = si->pointset().relation_with(c);
-    if (!relation_i.implies(Poly_Con_Relation::is_included()))
-      is_included = false;
-    if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
-      is_disjoint = false;
-    if (relation_i.implies(Poly_Con_Relation::strictly_intersects()))
-      is_strictly_intersecting = true;
-    if (relation_i.implies(Poly_Con_Relation::saturates()))
-      saturates_once = true;
-    else if (!relation_i.implies(Poly_Con_Relation::is_disjoint()))
-      may_saturate = false;
-  }
+} // namespace Implementation
 
-  Poly_Con_Relation result = Poly_Con_Relation::nothing();
-  if (is_included)
-    result = result && Poly_Con_Relation::is_included();
-  if (is_disjoint)
-    result = result && Poly_Con_Relation::is_disjoint();
-  if (is_strictly_intersecting)
-    result = result && Poly_Con_Relation::strictly_intersects();
-  if (saturates_once && may_saturate)
-    result = result && Poly_Con_Relation::saturates();
+} // namespace Parma_Polyhedra_Library
 
-  return result;
-}
+/* Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 76. */
 
-template <typename PSET>
-Poly_Gen_Relation
-Pointset_Powerset<PSET>::relation_with(const Generator& g) const {
-  const Pointset_Powerset& x = *this;
+/* Automatically generated from PPL source file ../src/EList.defs.hh line 1. */
+/* EList class declaration.
+*/
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    Poly_Gen_Relation relation_i = si->pointset().relation_with(g);
-    if (relation_i.implies(Poly_Gen_Relation::subsumes()))
-      return Poly_Gen_Relation::subsumes();
-  }
 
-  return Poly_Gen_Relation::nothing();
-}
+/* Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 1. */
+/* EList_Iterator class declaration.
+*/
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>
-::bounds_from_above(const Linear_Expression& expr) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().bounds_from_above(expr))
-      return false;
-  return true;
-}
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>
-::bounds_from_below(const Linear_Expression& expr) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (!si->pointset().bounds_from_below(expr))
-      return false;
-  return true;
-}
+/* Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 29. */
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
-                                  Coefficient& sup_n,
-                                  Coefficient& sup_d,
-                                  bool& maximum) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  if (x.is_empty())
-    return false;
+namespace Parma_Polyhedra_Library {
 
-  bool first = true;
+namespace Implementation {
+
+namespace Watchdog {
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+template <typename T>
+bool operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
+
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are different.
+template <typename T>
+bool operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
-  supt_n = 0;
-  supt_d = 1;
-  bool maxt = 0;
+} // namespace Watchdog
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
-  supi_n = 0;
-  supi_d = 1;
-  bool maxi = 0;
+} // namespace Implementation
 
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+} // namespace Parma_Polyhedra_Library
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi))
-      return false;
-    else
-      if (first) {
-        first = false;
-        supt_n = supi_n;
-        supt_d = supi_d;
-        maxt = maxi;
-      }
-      else {
-        tmp = (supt_n * supi_d) - (supi_n * supt_d);
-        if (tmp < 0) {
-          supt_n = supi_n;
-          supt_d = supi_d;
-          maxt = maxi;
-        }
-        else if (tmp == 0)
-          maxt = maxt || maxi;
-      }
-  }
-  sup_n = supt_n;
-  sup_d = supt_d;
-  maximum = maxt;
-  return true;
-}
+//! A class providing iterators for embedded lists.
+template <typename T>
+class Parma_Polyhedra_Library::Implementation::Watchdog::EList_Iterator {
+public:
+  //! Constructs an iterator pointing to nothing.
+  EList_Iterator();
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::maximize(const Linear_Expression& expr,
-                                  Coefficient& sup_n,
-                                  Coefficient& sup_d,
-                                  bool& maximum,
-                                  Generator& g) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  if (x.is_empty())
-    return false;
+  //! Constructs an iterator pointing to \p p.
+  explicit EList_Iterator(Doubly_Linked_Object* p);
 
-  bool first = true;
+  //! Changes \p *this so that it points to \p p.
+  EList_Iterator& operator=(Doubly_Linked_Object* p);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
-  supt_n = 0;
-  supt_d = 1;
-  bool maxt = 0;
-  Generator gt = point();
+  //! Indirect member selector.
+  T* operator->();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
-  supi_n = 0;
-  supi_d = 1;
-  bool maxi = 0;
-  Generator gi = point();
+  //! Dereference operator.
+  T& operator*();
 
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+  //! Preincrement operator.
+  EList_Iterator& operator++();
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().maximize(expr, supi_n, supi_d, maxi, gi))
-      return false;
-    else
-      if (first) {
-        first = false;
-        supt_n = supi_n;
-        supt_d = supi_d;
-        maxt = maxi;
-        gt = gi;
-      }
-      else {
-        tmp = (supt_n * supi_d) - (supi_n * supt_d);
-        if (tmp < 0) {
-          supt_n = supi_n;
-          supt_d = supi_d;
-          maxt = maxi;
-          gt = gi;
-        }
-        else if (tmp == 0) {
-          maxt = maxt || maxi;
-          gt = gi;
-        }
-      }
-  }
-  sup_n = supt_n;
-  sup_d = supt_d;
-  maximum = maxt;
-  g = gt;
-  return true;
-}
+  //! Postincrement operator.
+  EList_Iterator operator++(int);
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
-                                  Coefficient& inf_n,
-                                  Coefficient& inf_d,
-                                  bool& minimum) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  if (x.is_empty())
-    return false;
+  //! Predecrement operator.
+  EList_Iterator& operator--();
 
-  bool first = true;
+  //! Postdecrement operator.
+  EList_Iterator operator--(int);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
-  inft_n = 0;
-  inft_d = 1;
-  bool mint = 0;
+private:
+  //! Embedded pointer.
+  Doubly_Linked_Object* ptr;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
-  infi_n = 0;
-  infi_d = 1;
-  bool mini = 0;
+  friend bool operator==<T>(const EList_Iterator& x, const EList_Iterator& y);
 
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+  friend bool operator!=<T>(const EList_Iterator& x, const EList_Iterator& y);
+};
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().minimize(expr, infi_n, infi_d, mini))
-      return false;
-    else
-      if (first) {
-        first = false;
-        inft_n = infi_n;
-        inft_d = infi_d;
-        mint = mini;
-      }
-      else {
-        tmp = (inft_n * infi_d) - (infi_n * inft_d);
-        if (tmp > 0) {
-          inft_n = infi_n;
-          inft_d = infi_d;
-          mint = mini;
-        }
-        else if (tmp == 0)
-          mint = mint || mini;
-      }
-  }
-  inf_n = inft_n;
-  inf_d = inft_d;
-  minimum = mint;
-  return true;
-}
+/* Automatically generated from PPL source file ../src/EList_Iterator.inlines.hh line 1. */
+/* EList_Iterator class implementation: inline functions.
+*/
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::minimize(const Linear_Expression& expr,
-                                  Coefficient& inf_n,
-                                  Coefficient& inf_d,
-                                  bool& minimum,
-                                  Generator& g) const {
-  const Pointset_Powerset& x = *this;
-  x.omega_reduce();
-  if (x.is_empty())
-    return false;
 
-  bool first = true;
+/* Automatically generated from PPL source file ../src/EList_Iterator.inlines.hh line 28. */
 
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
-  inft_n = 0;
-  inft_d = 1;
-  bool mint = 0;
-  Generator gt = point();
+namespace Parma_Polyhedra_Library {
 
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
-  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
-  infi_n = 0;
-  infi_d = 1;
-  bool mini = 0;
-  Generator gi = point();
+namespace Implementation {
 
-  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
+namespace Watchdog {
 
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si) {
-    if (!si->pointset().minimize(expr, infi_n, infi_d, mini, gi))
-      return false;
-    else
-      if (first) {
-        first = false;
-        inft_n = infi_n;
-        inft_d = infi_d;
-        mint = mini;
-        gt = gi;
-      }
-      else {
-        tmp = (inft_n * infi_d) - (infi_n * inft_d);
-        if (tmp > 0) {
-          inft_n = infi_n;
-          inft_d = infi_d;
-          mint = mini;
-          gt = gi;
-        }
-        else if (tmp == 0) {
-          mint = mint || mini;
-          gt = gi;
-        }
-      }
-  }
-  inf_n = inft_n;
-  inf_d = inft_d;
-  minimum = mint;
-  g = gt;
-  return true;
+template <typename T>
+inline
+EList_Iterator<T>::EList_Iterator() {
 }
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::contains_integer_point() const {
-  const Pointset_Powerset& x = *this;
-  for (Sequence_const_iterator si = x.sequence.begin(),
-         s_end = x.sequence.end(); si != s_end; ++si)
-    if (si->pointset().contains_integer_point())
-      return true;
-  return false;
+template <typename T>
+inline
+EList_Iterator<T>::EList_Iterator(Doubly_Linked_Object* p)
+  : ptr(p) {
 }
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::wrap_assign(const Variables_Set& vars,
-                                     Bounded_Integer_Type_Width w,
-                                     Bounded_Integer_Type_Representation r,
-                                     Bounded_Integer_Type_Overflow o,
-                                     const Constraint_System* pcs,
-                                     unsigned complexity_threshold,
-                                     bool wrap_individually) {
-  Pointset_Powerset& x = *this;
-  for (Sequence_iterator si = x.sequence.begin(),
-	 s_end = x.sequence.end(); si != s_end; ++si)
-    si->pointset().wrap_assign(vars, w, r, o, pcs,
-                               complexity_threshold, wrap_individually);
-  x.reduced = false;
-  PPL_ASSERT_HEAVY(x.OK());
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator=(Doubly_Linked_Object* p) {
+  ptr = p;
+  return *this;
 }
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::pairwise_reduce() {
-  Pointset_Powerset& x = *this;
-  // It is wise to omega-reduce before pairwise-reducing.
-  x.omega_reduce();
-
-  size_type n = x.size();
-  size_type deleted;
-  do {
-    Pointset_Powerset new_x(x.space_dim, EMPTY);
-    std::deque<bool> marked(n, false);
-    deleted = 0;
-    Sequence_iterator s_begin = x.sequence.begin();
-    Sequence_iterator s_end = x.sequence.end();
-    unsigned si_index = 0;
-    for (Sequence_iterator si = s_begin; si != s_end; ++si, ++si_index) {
-      if (marked[si_index])
-	continue;
-      PSET& pi = si->pointset();
-      Sequence_const_iterator sj = si;
-      unsigned sj_index = si_index;
-      for (++sj, ++sj_index; sj != s_end; ++sj, ++sj_index) {
-	if (marked[sj_index])
-	  continue;
-	const PSET& pj = sj->pointset();
-	if (pi.upper_bound_assign_if_exact(pj)) {
-	  marked[si_index] = marked[sj_index] = true;
-	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
-	  ++deleted;
-	  goto next;
-	}
-      }
-    next:
-      ;
-    }
-    iterator nx_begin = new_x.begin();
-    iterator nx_end = new_x.end();
-    unsigned xi_index = 0;
-    for (const_iterator xi = x.begin(),
-	   x_end = x.end(); xi != x_end; ++xi, ++xi_index)
-      if (!marked[xi_index])
-	nx_begin = new_x.add_non_bottom_disjunct_preserve_reduction(*xi,
-								    nx_begin,
-								    nx_end);
-    std::swap(x.sequence, new_x.sequence);
-    n -= deleted;
-  } while (deleted > 0);
-  PPL_ASSERT_HEAVY(x.OK());
+template <typename T>
+inline T*
+EList_Iterator<T>::operator->() {
+  return static_cast<T*>(ptr);
 }
 
-template <typename PSET>
-template <typename Widening>
-void
-Pointset_Powerset<PSET>::
-BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
-  // `x' is the current iteration value.
-  Pointset_Powerset& x = *this;
+template <typename T>
+inline T&
+EList_Iterator<T>::operator*() {
+  return *operator->();
+}
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' entails `x'.
-    const Pointset_Powerset<PSET> x_copy = x;
-    const Pointset_Powerset<PSET> y_copy = y;
-    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
-  }
-#endif
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator++() {
+  ptr = ptr->next;
+  return *this;
+}
 
-  size_type n = x.size();
-  Pointset_Powerset new_x(x.space_dim, EMPTY);
-  std::deque<bool> marked(n, false);
-  const_iterator x_begin = x.begin();
-  const_iterator x_end = x.end();
-  unsigned i_index = 0;
-  for (const_iterator i = x_begin,
-	 y_begin = y.begin(), y_end = y.end(); i != x_end; ++i, ++i_index)
-    for (const_iterator j = y_begin; j != y_end; ++j) {
-      const PSET& pi = i->pointset();
-      const PSET& pj = j->pointset();
-      if (pi.contains(pj)) {
-	PSET pi_copy = pi;
-	wf(pi_copy, pj);
-	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
-	marked[i_index] = true;
-      }
-    }
-  iterator nx_begin = new_x.begin();
-  iterator nx_end = new_x.end();
-  i_index = 0;
-  for (const_iterator i = x_begin; i != x_end; ++i, ++i_index)
-    if (!marked[i_index])
-      nx_begin = new_x.add_non_bottom_disjunct_preserve_reduction(*i,
-								  nx_begin,
-								  nx_end);
-  std::swap(x.sequence, new_x.sequence);
-  PPL_ASSERT_HEAVY(x.OK());
-  PPL_ASSERT(x.is_omega_reduced());
+template <typename T>
+inline EList_Iterator<T>
+EList_Iterator<T>::operator++(int) {
+  EList_Iterator tmp = *this;
+  ++*this;
+  return tmp;
 }
 
-template <typename PSET>
-template <typename Widening>
-void
-Pointset_Powerset<PSET>::
-BGP99_extrapolation_assign(const Pointset_Powerset& y,
-			   Widening wf,
-			   unsigned max_disjuncts) {
-  // `x' is the current iteration value.
-  Pointset_Powerset& x = *this;
+template <typename T>
+inline EList_Iterator<T>&
+EList_Iterator<T>::operator--() {
+  ptr = ptr->prev;
+  return *this;
+}
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' entails `x'.
-    const Pointset_Powerset<PSET> x_copy = x;
-    const Pointset_Powerset<PSET> y_copy = y;
-    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
-  }
-#endif
+template <typename T>
+inline EList_Iterator<T>
+EList_Iterator<T>::operator--(int) {
+  EList_Iterator tmp = *this;
+  --*this;
+  return tmp;
+}
 
-  x.pairwise_reduce();
-  if (max_disjuncts != 0)
-    x.collapse(max_disjuncts);
-  x.BGP99_heuristics_assign(y, wf);
+template <typename T>
+inline bool
+operator==(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
+  return x.ptr == y.ptr;
 }
 
-template <typename PSET>
-template <typename Cert>
-void
-Pointset_Powerset<PSET>::
-collect_certificates(std::map<Cert, size_type,
-                     typename Cert::Compare>& cert_ms) const {
-  const Pointset_Powerset& x = *this;
-  PPL_ASSERT(x.is_omega_reduced());
-  PPL_ASSERT(cert_ms.size() == 0);
-  for (const_iterator i = x.begin(), end = x.end(); i != end; i++) {
-    Cert ph_cert(i->pointset());
-    ++cert_ms[ph_cert];
-  }
+template <typename T>
+inline bool
+operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
+  return x.ptr != y.ptr;
 }
 
-template <typename PSET>
-template <typename Cert>
-bool
-Pointset_Powerset<PSET>::
-is_cert_multiset_stabilizing(const std::map<Cert, size_type,
-                             typename Cert::Compare>& y_cert_ms) const {
-  typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
-  Cert_Multiset x_cert_ms;
-  collect_certificates(x_cert_ms);
-  typename Cert_Multiset::const_iterator
-    xi = x_cert_ms.begin(),
-    x_cert_ms_end = x_cert_ms.end(),
-    yi = y_cert_ms.begin(),
-    y_cert_ms_end = y_cert_ms.end();
-  while (xi != x_cert_ms_end && yi != y_cert_ms_end) {
-    const Cert& xi_cert = xi->first;
-    const Cert& yi_cert = yi->first;
-    switch (xi_cert.compare(yi_cert)) {
-    case 0:
-      // xi_cert == yi_cert: check the number of multiset occurrences.
-      {
-	const size_type& xi_count = xi->second;
-	const size_type& yi_count = yi->second;
-	if (xi_count == yi_count) {
-	  // Same number of occurrences: compare the next pair.
-	  ++xi;
-	  ++yi;
-	}
-	else
-	  // Different number of occurrences: can decide ordering.
-	  return xi_count < yi_count;
-	break;
-      }
-    case 1:
-      // xi_cert > yi_cert: it is not stabilizing.
-      return false;
+} // namespace Watchdog
 
-    case -1:
-      // xi_cert < yi_cert: it is stabilizing.
-      return true;
-    }
-  }
-  // Here xi == x_cert_ms_end or yi == y_cert_ms_end.
-  // Stabilization is achieved if `y_cert_ms' still has other elements.
-  return yi != y_cert_ms_end;
-}
+} // namespace Implementation
 
-template <typename PSET>
-template <typename Cert, typename Widening>
-void
-Pointset_Powerset<PSET>::BHZ03_widening_assign(const Pointset_Powerset& y,
-                                               Widening wf) {
-  // `x' is the current iteration value.
-  Pointset_Powerset& x = *this;
+} // namespace Parma_Polyhedra_Library
 
-#ifndef NDEBUG
-  {
-    // We assume that `y' entails `x'.
-    const Pointset_Powerset<PSET> x_copy = x;
-    const Pointset_Powerset<PSET> y_copy = y;
-    PPL_ASSERT_HEAVY(y_copy.definitely_entails(x_copy));
-  }
-#endif
+/* Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 91. */
 
-  // First widening technique: do nothing.
+/* Automatically generated from PPL source file ../src/EList.defs.hh line 30. */
 
-  // If `y' is the empty collection, do nothing.
-  PPL_ASSERT(x.size() > 0);
-  if (y.size() == 0)
-    return;
+/*! \brief
+  A simple kind of embedded list (i.e., a doubly linked objects
+  where the links are embedded in the objects themselves).
+*/
+template <typename T>
+class Parma_Polyhedra_Library::Implementation::Watchdog::EList
+  : private Doubly_Linked_Object {
+public:
+  //! A const iterator to traverse the list.
+  typedef EList_Iterator<const T> Const_Iterator;
 
-  // Compute the poly-hull of `x'.
-  PSET x_hull(x.space_dim, EMPTY);
-  for (const_iterator i = x.begin(), x_end = x.end(); i != x_end; ++i)
-    x_hull.upper_bound_assign(i->pointset());
+  //! A non-const iterator to traverse the list.
+  typedef EList_Iterator<T> Iterator;
 
-  // Compute the poly-hull of `y'.
-  PSET y_hull(y.space_dim, EMPTY);
-  for (const_iterator i = y.begin(), y_end = y.end(); i != y_end; ++i)
-    y_hull.upper_bound_assign(i->pointset());
-  // Compute the certificate for `y_hull'.
-  const Cert y_hull_cert(y_hull);
+  //! Constructs an empty list.
+  EList();
 
-  // If the hull is stabilizing, do nothing.
-  int hull_stabilization = y_hull_cert.compare(x_hull);
-  if (hull_stabilization == 1)
-    return;
+  //! Destructs the list and all the elements in it.
+  ~EList();
 
-  // Multiset ordering is only useful when `y' is not a singleton.
-  const bool y_is_not_a_singleton = y.size() > 1;
+  //! Pushes \p obj to the front of the list.
+  void push_front(T& obj);
 
-  // The multiset certificate for `y':
-  // we want to be lazy about its computation.
-  typedef std::map<Cert, size_type, typename Cert::Compare> Cert_Multiset;
-  Cert_Multiset y_cert_ms;
-  bool y_cert_ms_computed = false;
+  //! Pushes \p obj to the back of the list.
+  void push_back(T& obj);
 
-  if (hull_stabilization == 0 && y_is_not_a_singleton) {
-    // Collect the multiset certificate for `y'.
-    y.collect_certificates(y_cert_ms);
-    y_cert_ms_computed = true;
-    // If multiset ordering is stabilizing, do nothing.
-    if (x.is_cert_multiset_stabilizing(y_cert_ms))
-      return;
-  }
+  /*! \brief
+    Inserts \p obj just before \p position and returns an iterator
+    that points to the inserted object.
+  */
+  Iterator insert(Iterator position, T& obj);
 
-  // Second widening technique: try the BGP99 powerset heuristics.
-  Pointset_Powerset<PSET> bgp99_heuristics = x;
-  bgp99_heuristics.BGP99_heuristics_assign(y, wf);
+  /*! \brief
+    Removes the element pointed to by \p position, returning
+    an iterator pointing to the next element, if any, or end(), otherwise.
+  */
+  Iterator erase(Iterator position);
 
-  // Compute the poly-hull of `bgp99_heuristics'.
-  PSET bgp99_heuristics_hull(x.space_dim, EMPTY);
-  for (const_iterator i = bgp99_heuristics.begin(),
-	 bh_end = bgp99_heuristics.end(); i != bh_end; ++i)
-    bgp99_heuristics_hull.upper_bound_assign(i->pointset());
+  //! Returns <CODE>true</CODE> if and only if the list is empty.
+  bool empty() const;
 
-  // Check for stabilization and, if successful,
-  // commit to the result of the extrapolation.
-  hull_stabilization = y_hull_cert.compare(bgp99_heuristics_hull);
-  if (hull_stabilization == 1) {
-    // The poly-hull is stabilizing.
-    std::swap(x, bgp99_heuristics);
-    return;
-  }
-  else if (hull_stabilization == 0 && y_is_not_a_singleton) {
-    // If not already done, compute multiset certificate for `y'.
-    if (!y_cert_ms_computed) {
-      y.collect_certificates(y_cert_ms);
-      y_cert_ms_computed = true;
-    }
-    if (bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
-      std::swap(x, bgp99_heuristics);
-      return;
-    }
-    // Third widening technique: pairwise-reduction on `bgp99_heuristics'.
-    // Note that pairwise-reduction does not affect the computation
-    // of the poly-hulls, so that we only have to check the multiset
-    // certificate relation.
-    Pointset_Powerset<PSET> reduced_bgp99_heuristics(bgp99_heuristics);
-    reduced_bgp99_heuristics.pairwise_reduce();
-    if (reduced_bgp99_heuristics.is_cert_multiset_stabilizing(y_cert_ms)) {
-      std::swap(x, reduced_bgp99_heuristics);
-      return;
-    }
-  }
+  //! Returns an iterator pointing to the beginning of the list.
+  Iterator begin();
 
-  // Fourth widening technique: this is applicable only when
-  // `y_hull' is a proper subset of `bgp99_heuristics_hull'.
-  if (bgp99_heuristics_hull.strictly_contains(y_hull)) {
-    // Compute (y_hull \widen bgp99_heuristics_hull).
-    PSET ph = bgp99_heuristics_hull;
-    wf(ph, y_hull);
-    // Compute the difference between `ph' and `bgp99_heuristics_hull'.
-    ph.difference_assign(bgp99_heuristics_hull);
-    x.add_disjunct(ph);
-    return;
-  }
+  //! Returns an iterator pointing one past the last element in the list.
+  Iterator end();
 
-  // Fall back to the computation of the poly-hull.
-  Pointset_Powerset<PSET> x_hull_singleton(x.space_dim, EMPTY);
-  x_hull_singleton.add_disjunct(x_hull);
-  std::swap(x, x_hull_singleton);
-}
+  //! Returns a const iterator pointing to the beginning of the list.
+  Const_Iterator begin() const;
 
-template <typename PSET>
-void
-Pointset_Powerset<PSET>::ascii_dump(std::ostream& s) const {
-  const Pointset_Powerset& x = *this;
-  s << "size " << x.size()
-    << "\nspace_dim " << x.space_dim
-    << "\n";
-  for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi)
-    xi->pointset().ascii_dump(s);
+  //! Returns a const iterator pointing one past the last element in the list.
+  Const_Iterator end() const;
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
+
+/* Automatically generated from PPL source file ../src/EList.inlines.hh line 1. */
+/* EList class implementation: inline functions.
+*/
+
+
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+namespace Watchdog {
+
+template <typename T>
+inline
+EList<T>::EList()
+  : Doubly_Linked_Object(this, this) {
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(PSET, Pointset_Powerset<PSET>)
+template <typename T>
+inline void
+EList<T>::push_front(T& obj) {
+  next->insert_before(obj);
+}
 
-  template <typename PSET>
-bool
-Pointset_Powerset<PSET>::ascii_load(std::istream& s) {
-  Pointset_Powerset& x = *this;
-  std::string str;
+template <typename T>
+inline void
+EList<T>::push_back(T& obj) {
+  prev->insert_after(obj);
+}
 
-  if (!(s >> str) || str != "size")
-    return false;
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::insert(Iterator position, T& obj) {
+  position->insert_before(obj);
+  return Iterator(&obj);
+}
 
-  size_type sz;
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::begin() {
+  return Iterator(next);
+}
 
-  if (!(s >> sz))
-    return false;
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::end() {
+  return Iterator(this);
+}
 
-  if (!(s >> str) || str != "space_dim")
-    return false;
+template <typename T>
+inline typename EList<T>::Const_Iterator
+EList<T>::begin() const {
+  return Const_Iterator(next);
+}
 
-  if (!(s >> x.space_dim))
-    return false;
+template <typename T>
+inline typename EList<T>::Const_Iterator
+EList<T>::end() const {
+  return Const_Iterator(const_cast<EList<T>*>(this));
+}
 
-  Pointset_Powerset new_x(x.space_dim, EMPTY);
-  while (sz-- > 0) {
-    PSET ph;
-    if (!ph.ascii_load(s))
-      return false;
-    new_x.add_disjunct(ph);
-  }
-  x.swap(new_x);
+template <typename T>
+inline bool
+EList<T>::empty() const {
+  return begin() == end();
+}
 
-  // Check invariants.
-  PPL_ASSERT_HEAVY(x.OK());
-  return true;
+template <typename T>
+inline typename EList<T>::Iterator
+EList<T>::erase(Iterator position) {
+  assert(!empty());
+  return Iterator(position->erase());
 }
 
-template <typename PSET>
-bool
-Pointset_Powerset<PSET>::OK() const {
-  const Pointset_Powerset& x = *this;
-  for (const_iterator xi = x.begin(), x_end = x.end(); xi != x_end; ++xi) {
-    const PSET& pi = xi->pointset();
-    if (pi.space_dimension() != x.space_dim) {
-#ifndef NDEBUG
-      std::cerr << "Space dimension mismatch: is " << pi.space_dimension()
-		<< " in an element of the sequence,\nshould be "
-		<< x.space_dim << "."
-		<< std::endl;
-#endif
-      return false;
-    }
+template <typename T>
+inline
+EList<T>::~EList() {
+  // Erase and deallocate all the elements.
+  for (Iterator i = begin(), lend = end(), next; i != lend; i = next) {
+    next = erase(i);
+    delete &*i;
   }
-  return x.Base::OK();
 }
 
-namespace Implementation {
-
-namespace Pointset_Powersets {
+template <typename T>
+inline bool
+EList<T>::OK() const {
+  for (Const_Iterator i = begin(), lend = end(); i != lend; ++i)
+    if (!i->OK())
+      return false;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partitions polyhedron \p qq according to constraint \p c.
-/*! \relates Parma_Polyhedra_Library::Pointset_Powerset
-  On exit, the intersection of \p qq and constraint \p c is stored
-  in \p qq, whereas the intersection of \p qq with the negation of \p c
-  is added as a new disjunct of the powerset \p r.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PSET>
-void
-linear_partition_aux(const Constraint& c,
-		     PSET& qq,
-		     Pointset_Powerset<NNC_Polyhedron>& r) {
-  Linear_Expression le(c);
-  const Constraint& neg_c = c.is_strict_inequality() ? (le <= 0) : (le < 0);
-  NNC_Polyhedron qqq(qq);
-  qqq.add_constraint(neg_c);
-  if (!qqq.is_empty())
-    r.add_disjunct(qqq);
-  qq.add_constraint(c);
+  return true;
 }
 
-} // namespace Pointset_Powersets
+} // namespace Watchdog
 
 } // namespace Implementation
 
+} // namespace Parma_Polyhedra_Library
 
-/*! \relates Pointset_Powerset */
-template <typename PSET>
-std::pair<PSET, Pointset_Powerset<NNC_Polyhedron> >
-linear_partition(const PSET& p, const PSET& q) {
-  using Implementation::Pointset_Powersets::linear_partition_aux;
+/* Automatically generated from PPL source file ../src/EList.defs.hh line 89. */
 
-  Pointset_Powerset<NNC_Polyhedron> r(p.space_dimension(), EMPTY);
-  PSET qq = q;
-  const Constraint_System& pcs = p.constraints();
-  for (Constraint_System::const_iterator i = pcs.begin(),
-	 pcs_end = pcs.end(); i != pcs_end; ++i) {
-    const Constraint& c = *i;
-    if (c.is_equality()) {
-      Linear_Expression le(c);
-      linear_partition_aux(le <= 0, qq, r);
-      linear_partition_aux(le >= 0, qq, r);
-    }
-    else
-      linear_partition_aux(c, qq, r);
-  }
-  return std::make_pair(qq, r);
-}
+/* Automatically generated from PPL source file ../src/Pending_List.defs.hh line 31. */
 
-} // namespace Parma_Polyhedra_Library
+//! An ordered list for recording pending watchdog events.
+template <typename Traits>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Pending_List {
+public:
+  //! A non-const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Iterator Iterator;
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1455. */
+  //! A const iterator to traverse the list.
+  typedef typename EList<Pending_Element<typename Traits::Threshold> >::Const_Iterator Const_Iterator;
 
-/* Automatically generated from PPL source file ../src/algorithms.hh line 29. */
-#include <utility>
-/* Automatically generated from PPL source file ../src/algorithms.hh line 31. */
+  //! Constructs an empty list.
+  Pending_List();
 
-namespace Parma_Polyhedra_Library {
+  //! Destructor.
+  ~Pending_List();
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  If the poly-hull of \p p and \p q is exact it is assigned
-  to \p p and <CODE>true</CODE> is returned,
-  otherwise <CODE>false</CODE> is returned.
+  //! Inserts a new Pending_Element object with the given attributes.
+  Iterator insert(const typename Traits::Threshold& deadline,
+		  const Handler& handler,
+		  bool& expired_flag);
 
-  \relates Polyhedron
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH>
-bool
-poly_hull_assign_if_exact(PH& p, const PH& q);
+  /*! \brief
+    Removes the element pointed to by \p position, returning
+    an iterator pointing to the next element, if any, or end(), otherwise.
+  */
+  Iterator erase(Iterator position);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Polyhedron */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename PH>
-bool
-poly_hull_assign_if_exact(PH& p, const PH& q) {
-  PH phull = p;
-  NNC_Polyhedron nnc_p(p);
-  phull.poly_hull_assign(q);
-  std::pair<PH, Pointset_Powerset<NNC_Polyhedron> >
-    partition = linear_partition(q, phull);
-  const Pointset_Powerset<NNC_Polyhedron>& s = partition.second;
-  typedef Pointset_Powerset<NNC_Polyhedron>::const_iterator iter;
-  for (iter i = s.begin(), s_end = s.end(); i != s_end; ++i)
-    // The polyhedral hull is exact if and only if all the elements
-    // of the partition of the polyhedral hull of `p' and `q' with
-    // respect to `q' are included in `p'
-    if (!nnc_p.contains(i->pointset()))
-      return false;
-  p = phull;
-  return true;
-}
+  //! Returns <CODE>true</CODE> if and only if the list is empty.
+  bool empty() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns an iterator pointing to the beginning of the list.
+  Iterator begin();
 
-/* Automatically generated from PPL source file ../src/termination.defs.hh line 1. */
-/* Utilities for termination analysis: declarations.
+  //! Returns an iterator pointing one past the last element in the list.
+  Iterator end();
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+private:
+  EList<Pending_Element<typename Traits::Threshold> > active_list;
+  EList<Pending_Element<typename Traits::Threshold> > free_list;
+};
+
+/* Automatically generated from PPL source file ../src/Pending_List.inlines.hh line 1. */
+/* Pending_List class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/termination.defs.hh line 30. */
+#include <cassert>
 
 namespace Parma_Polyhedra_Library {
 
-/*! \brief
-  Termination test using an improvement of the method by Mesnard and
-  Serebrenik \ref BMPZ10 "[BMPZ10]".
+namespace Implementation {
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+namespace Watchdog {
 
-  \param pset
-  A pointset approximating the behavior of a loop whose termination
-  is being analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
-  .
-  where unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.
+template <typename Traits>
+inline
+Pending_List<Traits>::Pending_List()
+  : active_list(),
+    free_list() {
+  assert(OK());
+}
 
-  \return
-  <CODE>true</CODE> if any loop approximated by \p pset definitely
-  terminates; <CODE>false</CODE> if the test is inconclusive.
-  However, if \p pset <EM>precisely</EM> characterizes the effect
-  of the loop body onto the loop-relevant program variables,
-  then <CODE>true</CODE> is returned <EM>if and only if</EM>
-  the loop terminates.
-*/
-template <typename PSET>
-bool
-termination_test_MS(const PSET& pset);
+template <typename Traits>
+inline
+Pending_List<Traits>::~Pending_List() {
+}
 
-/*! \brief
-  Termination test using an improvement of the method by Mesnard and
-  Serebrenik \ref BMPZ10 "[BMPZ10]".
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::begin() {
+  return active_list.begin();
+}
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::end() {
+  return active_list.end();
+}
 
-  \param pset_before
-  A pointset approximating the values of loop-relevant variables
-  <EM>before</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$.
+template <typename Traits>
+inline bool
+Pending_List<Traits>::empty() const {
+  return active_list.empty();
+}
 
-  \param pset_after
-  A pointset approximating the values of loop-relevant variables
-  <EM>after</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
+template <typename Traits>
+inline typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::erase(Iterator position) {
+  assert(!empty());
+  Iterator next = active_list.erase(position);
+  free_list.push_back(*position);
+  assert(OK());
+  return next;
+}
 
-  Note that unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.  Note also that unprimed variables are assigned
-  to different space dimensions in \p pset_before and \p pset_after.
+} // namespace Watchdog
 
-  \return
-  <CODE>true</CODE> if any loop approximated by \p pset definitely
-  terminates; <CODE>false</CODE> if the test is inconclusive.
-  However, if \p pset_before and \p pset_after <EM>precisely</EM>
-  characterize the effect of the loop body onto the loop-relevant
-  program variables, then <CODE>true</CODE> is returned
-  <EM>if and only if</EM> the loop terminates.
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file ../src/Pending_List.templates.hh line 1. */
+/* Pending_List class implementation.
 */
-template <typename PSET>
-bool
-termination_test_MS_2(const PSET& pset_before, const PSET& pset_after);
 
-/*! \brief
-  Termination test with witness ranking function using an improvement
-  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+#include <iostream>
 
-  \param pset
-  A pointset approximating the behavior of a loop whose termination
-  is being analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
-  .
-  where unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.
+namespace Parma_Polyhedra_Library {
 
-  \param mu
-  When <CODE>true</CODE> is returned, this is assigned a point
-  of space dimension \f$ n+1 \f$ encoding one (not further specified)
-  affine ranking function for the loop being analyzed.
-  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
-  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
-  respectively.
+namespace Implementation {
 
-  \return
-  <CODE>true</CODE> if any loop approximated by \p pset definitely
-  terminates; <CODE>false</CODE> if the test is inconclusive.
-  However, if \p pset <EM>precisely</EM> characterizes the effect
-  of the loop body onto the loop-relevant program variables,
-  then <CODE>true</CODE> is returned <EM>if and only if</EM>
-  the loop terminates.
-*/
-template <typename PSET>
+namespace Watchdog {
+
+template <typename Traits>
+typename Pending_List<Traits>::Iterator
+Pending_List<Traits>::insert(const typename Traits::Threshold& deadline,
+			     const Handler& handler,
+			     bool& expired_flag) {
+  Iterator position = active_list.begin();
+  for (Iterator active_list_end = active_list.end();
+       position != active_list_end
+         && Traits::less_than(position->deadline(), deadline);
+       ++position)
+    ;
+  Iterator pending_element_p;
+  // Only allocate a new element if the free list is empty.
+  if (free_list.empty())
+    pending_element_p
+      = new Pending_Element<typename Traits::Threshold>(deadline,
+                                                        handler,
+                                                        expired_flag);
+  else {
+    pending_element_p = free_list.begin();
+    free_list.erase(pending_element_p);
+    pending_element_p->assign(deadline, handler, expired_flag);
+  }
+  Iterator r = active_list.insert(position, *pending_element_p);
+  assert(OK());
+  return r;
+}
+
+template <typename Traits>
 bool
-one_affine_ranking_function_MS(const PSET& pset, Generator& mu);
+Pending_List<Traits>::OK() const {
+  if (!active_list.OK())
+    return false;
 
-/*! \brief
-  Termination test with witness ranking function using an improvement
-  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+  if (!free_list.OK())
+    return false;
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+  const typename Traits::Threshold* old;
+  Const_Iterator i = active_list.begin();
+  old = &i->deadline();
+  ++i;
+  for (Const_Iterator active_list_end = active_list.end(); i != active_list_end; ++i) {
+    const typename Traits::Threshold& t = i->deadline();
+    if (Traits::less_than(t, *old)) {
+#ifndef NDEBUG
+      std::cerr << "The active list is not sorted!"
+		<< std::endl;
+#endif
+      return false;
+    }
+    old = &t;
+  }
+  return true;
+}
 
-  \param pset_before
-  A pointset approximating the values of loop-relevant variables
-  <EM>before</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$.
+} // namespace Watchdog
 
-  \param pset_after
-  A pointset approximating the values of loop-relevant variables
-  <EM>after</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
+} // namespace Implementation
 
-  Note that unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.  Note also that unprimed variables are assigned
-  to different space dimensions in \p pset_before and \p pset_after.
+} // namespace Parma_Polyhedra_Library
 
-  \param mu
-  When <CODE>true</CODE> is returned, this is assigned a point
-  of space dimension \f$ n+1 \f$ encoding one (not further specified)
-  affine ranking function for the loop being analyzed.
-  The ranking function is of the form \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ are the coefficients
-  of \p mu corresponding to the space dimensions \f$ n, 0, \ldots, n-1 \f$,
-  respectively.
+/* Automatically generated from PPL source file ../src/Pending_List.defs.hh line 78. */
 
-  \return
-  <CODE>true</CODE> if any loop approximated by \p pset definitely
-  terminates; <CODE>false</CODE> if the test is inconclusive.
-  However, if \p pset_before and \p pset_after <EM>precisely</EM>
-  characterize the effect of the loop body onto the loop-relevant
-  program variables, then <CODE>true</CODE> is returned
-  <EM>if and only if</EM> the loop terminates.
-*/
-template <typename PSET>
-bool
-one_affine_ranking_function_MS_2(const PSET& pset_before,
-				 const PSET& pset_after,
-				 Generator& mu);
+/* Automatically generated from PPL source file ../src/Watchdog.defs.hh line 31. */
+#include <cassert>
+#include <functional>
 
-/*! \brief
-  Termination test with ranking function space using an improvement
-  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+#ifdef PPL_HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+namespace Parma_Polyhedra_Library {
 
-  \param pset
-  A pointset approximating the behavior of a loop whose termination
-  is being analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
-  .
-  where unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.
+// Set linkage now to declare it friend later.
+extern "C" void PPL_handle_timeout(int signum);
 
-  \param mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the affine ranking functions for the loops
-  that are precisely characterized by \p pset.
-  These ranking functions are of the form
-  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
-  \p mu_space polyhedron.
-  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
-  correspond to the space dimensions of \p mu_space
-  \f$ n, 0, \ldots, n-1 \f$, respectively.
-  When \p mu_space is empty, it means that the test is inconclusive.
-  However, if \p pset <EM>precisely</EM> characterizes the effect
-  of the loop body onto the loop-relevant program variables,
-  then \p mu_space is empty <EM>if and only if</EM>
-  the loop does <EM>not</EM> terminate.
-*/
-template <typename PSET>
-void
-all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space);
+struct Watchdog_Traits {
+  typedef Implementation::Watchdog::Time Threshold;
+  static bool less_than(const Threshold& a, const Threshold& b) {
+    return a < b;
+  }
+};
 
-/*! \brief
-  Termination test with ranking function space using an improvement
-  of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
+//! A watchdog timer.
+class Watchdog {
+public:
+  template <typename Flag_Base, typename Flag>
+  Watchdog(long csecs, const Flag_Base* volatile& holder, Flag& flag);
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+  /*! \brief
+    Constructor: if not reset, the watchdog will trigger after \p csecs
+    centiseconds, invoking handler \p function.
+  */
+  Watchdog(long csecs, void (*function)());
 
-  \param pset_before
-  A pointset approximating the values of loop-relevant variables
-  <EM>before</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$.
+  //! Destructor.
+  ~Watchdog();
 
-  \param pset_after
-  A pointset approximating the values of loop-relevant variables
-  <EM>after</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
 
-  Note that unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.  Note also that unprimed variables are assigned
-  to different space dimensions in \p pset_before and \p pset_after.
+  //! Static class initialization.
+  static void initialize();
+  //! Static class finalization.
+  static void finalize();
 
-  \param mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the affine ranking functions for the loops
-  that are precisely characterized by \p pset.
-  These ranking functions are of the form
-  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
-  \p mu_space polyhedron.
-  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
-  correspond to the space dimensions of \p mu_space
-  \f$ n, 0, \ldots, n-1 \f$, respectively.
-  When \p mu_space is empty, it means that the test is inconclusive.
-  However, if \p pset_before and \p pset_after <EM>precisely</EM>
-  characterize the effect of the loop body onto the loop-relevant
-  program variables, then \p mu_space is empty <EM>if and only if</EM>
-  the loop does <EM>not</EM> terminate.
-*/
-template <typename PSET>
-void
-all_affine_ranking_functions_MS_2(const PSET& pset_before,
-				  const PSET& pset_after,
-				  C_Polyhedron& mu_space);
+private:
+  //! Whether or not this watchdog has expired.
+  bool expired;
 
-/*! \brief
-  Computes the spaces of affine \e quasi ranking functions
-  using an improvement of the method by Mesnard and Serebrenik
-  \ref BMPZ10 "[BMPZ10]".
+  typedef Implementation::Watchdog::Pending_List<Watchdog_Traits>
+  WD_Pending_List;
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+  typedef Implementation::Watchdog::Handler
+  WD_Handler;
 
-  \param pset
-  A pointset approximating the behavior of a loop whose termination
-  is being analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
-  .
-  where unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.
+  const WD_Handler& handler;
+  WD_Pending_List::Iterator pending_position;
 
-  \param decreasing_mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the decreasing affine functions
-  for the loops that are precisely characterized by \p pset.
+  // Private and not implemented: copy construction is not allowed.
+  Watchdog(const Watchdog&);
+  // Private and not implemented: copy assignment is not allowed.
+  Watchdog& operator=(const Watchdog&);
 
-  \param bounded_mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the lower bounded affine functions
-  for the loops that are precisely characterized by \p pset.
+  // Pass this to getitimer().
+  static itimerval current_timer_status;
 
-  These quasi-ranking functions are of the form
-  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
-  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
-  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
-  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
-  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
-  it means that the test is inconclusive.
-  However, if \p pset <EM>precisely</EM> characterizes the effect
-  of the loop body onto the loop-relevant program variables,
-  then \p decreasing_mu_space (resp., \p bounded_mu_space) will be empty
-  <EM>if and only if</EM> there is no decreasing (resp., lower bounded)
-  affine function, so that the loop does not terminate.
-*/
-template <typename PSET>
-void
-all_affine_quasi_ranking_functions_MS(const PSET& pset,
-                                      C_Polyhedron& decreasing_mu_space,
-                                      C_Polyhedron& bounded_mu_space);
+  //! Reads the timer value into \p time.
+  static void get_timer(Implementation::Watchdog::Time& time);
 
-/*! \brief
-  Computes the spaces of affine \e quasi ranking functions
-  using an improvement of the method by Mesnard and Serebrenik
-  \ref BMPZ10 "[BMPZ10]".
+  // Pass this to setitimer().
+  static itimerval signal_once;
 
-  \tparam PSET
-  Any pointset supported by the PPL that provides the
-  <CODE>minimized_constraints()</CODE> method.
+  // Last time value we set the timer to.
+  static Implementation::Watchdog::Time last_time_requested;
 
-  \param pset_before
-  A pointset approximating the values of loop-relevant variables
-  <EM>before</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$.
+  //! Sets the timer value to \p time.
+  static void set_timer(const Implementation::Watchdog::Time& time);
 
-  \param pset_after
-  A pointset approximating the values of loop-relevant variables
-  <EM>after</EM> the update performed in the loop body that is being
-  analyzed.  The variables indices are allocated as follows:
-  - \f$ x'_1, \ldots, x'_n \f$ go onto space dimensions
-    \f$ 0, \ldots, n-1 \f$,
-  - \f$ x_1, \ldots, x_n \f$ go onto space dimensions
-    \f$ n, \ldots, 2n-1 \f$,
+  //! Stops the timer.
+  static void stop_timer();
 
-  Note that unprimed variables represent the values of the loop-relevant
-  program variables before the update performed in the loop body,
-  and primed variables represent the values of those program variables
-  after the update.  Note also that unprimed variables are assigned
-  to different space dimensions in \p pset_before and \p pset_after.
+  //! Quick reschedule to avoid race conditions.
+  static void reschedule();
 
-  \param decreasing_mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the decreasing affine functions
-  for the loops that are precisely characterized by \p pset.
+  // Used by the above.
+  static Implementation::Watchdog::Time reschedule_time;
 
-  \param bounded_mu_space
-  This is assigned a closed polyhedron of space dimension \f$ n+1 \f$
-  representing the space of all the lower bounded affine functions
-  for the loops that are precisely characterized by \p pset.
+  // Records the time elapsed since last fresh start.
+  static Implementation::Watchdog::Time time_so_far;
 
-  These ranking functions are of the form
-  \f$ \mu_0 + \sum_{i=1}^n \mu_i x_i \f$
-  where \f$ \mu_0, \mu_1, \ldots, \mu_n \f$ identify any point of the
-  \p decreasing_mu_space and \p bounded_mu_space polyhedrons.
-  The variables \f$ \mu_0, \mu_1, \ldots, \mu_n \f$
-  correspond to the space dimensions \f$ n, 0, \ldots, n-1 \f$, respectively.
-  When \p decreasing_mu_space (resp., \p bounded_mu_space) is empty,
-  it means that the test is inconclusive.
-  However, if \p pset_before and \p pset_after <EM>precisely</EM>
-  characterize the effect of the loop body onto the loop-relevant
-  program variables, then \p decreasing_mu_space (resp., \p bounded_mu_space)
-  will be empty <EM>if and only if</EM> there is no decreasing
-  (resp., lower bounded) affine function, so that the loop does not terminate.
-*/
-template <typename PSET>
-void
-all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
-                                        const PSET& pset_after,
-                                        C_Polyhedron& decreasing_mu_space,
-                                        C_Polyhedron& bounded_mu_space);
+  //! The ordered queue of pending watchdog events.
+  static WD_Pending_List pending;
 
-/*! \brief
-  Like termination_test_MS() but using the method by Podelski and
-  Rybalchenko \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-bool
-termination_test_PR(const PSET& pset);
+  //! The actual signal handler.
+  static void handle_timeout(int);
 
-/*! \brief
-  Like termination_test_MS_2() but using an alternative formalization
-  of the method by Podelski and Rybalchenko \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-bool
-termination_test_PR_2(const PSET& pset_before, const PSET& pset_after);
+  //! Handles the addition of a new watchdog event.
+  static WD_Pending_List::Iterator
+  new_watchdog_event(long csecs,
+                     const WD_Handler& handler,
+                     bool& expired_flag);
 
-/*! \brief
-  Like one_affine_ranking_function_MS() but using the method by Podelski
-  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-bool
-one_affine_ranking_function_PR(const PSET& pset, Generator& mu);
+  //! Handles the removal of the watchdog event referred by \p position.
+  void remove_watchdog_event(WD_Pending_List::Iterator position);
 
-/*! \brief
-  Like one_affine_ranking_function_MS_2() but using an alternative
-  formalization of the method by Podelski and Rybalchenko
-  \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-bool
-one_affine_ranking_function_PR_2(const PSET& pset_before,
-				 const PSET& pset_after,
-				 Generator& mu);
+  //! Whether the alarm clock is running.
+  static volatile bool alarm_clock_running;
 
-/*! \brief
-  Like all_affine_ranking_functions_MS() but using the method by Podelski
-  and Rybalchenko \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-void
-all_affine_ranking_functions_PR(const PSET& pset, NNC_Polyhedron& mu_space);
+  //! Whether we are changing data that is also changed by the signal handler.
+  static volatile bool in_critical_section;
 
-/*! \brief
-  Like all_affine_ranking_functions_MS_2() but using an alternative
-  formalization of the method by Podelski and Rybalchenko
-  \ref BMPZ10 "[BMPZ10]".
-*/
-template <typename PSET>
-void
-all_affine_ranking_functions_PR_2(const PSET& pset_before,
-				  const PSET& pset_after,
-				  NNC_Polyhedron& mu_space);
+  friend void PPL_handle_timeout(int signum);
+
+#endif // PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
+};
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/termination.templates.hh line 1. */
-/* Utilities for termination analysis: template functions.
+/* Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 1. */
+/* Watchdog and associated classes' implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/termination.templates.hh line 33. */
+/* Automatically generated from PPL source file ../src/Handler.defs.hh line 1. */
+/* Handler and derived classes' declaration.
+*/
 
-#include <stdexcept>
 
-#define PRINT_DEBUG_INFO 0
+/* Automatically generated from PPL source file ../src/Handler.defs.hh line 28. */
 
-#if PRINT_DEBUG_INFO
-#include <iostream>
-#endif
+//! Abstract base class for handlers of the watchdog events.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler {
+public:
+  //! Does the job.
+  virtual void act() const = 0;
 
-namespace Parma_Polyhedra_Library {
+  //! Virtual destructor.
+  virtual ~Handler();
+};
 
-namespace Implementation {
+//! A kind of Handler that installs a flag onto a flag-holder.
+/*!
+  The template class Handler_Flag<Flag_Base, Flag> is an handler whose
+  job is to install a flag onto an <EM>holder</EM> for the flag.
+  The flag is of type \p Flag and the holder is a (volatile) pointer
+  to \p Flag_Base.  Installing the flag onto the holder means making
+  the holder point to the flag, so that it must be possible to assign
+  a value of type <CODE>Flag*</CODE> to an entity of type
+  <CODE>Flag_Base*</CODE>.
+  The class \p Flag must provide the method
 
-namespace Termination {
+  \code
+    int priority() const
+  \endcode
+  returning an integer priority associated to the flag.
 
-#if PRINT_DEBUG_INFO
-static dimension_type output_function_MS_n;
-static dimension_type output_function_MS_m;
+  The handler will install its flag onto the holder only if the holder
+  is empty, namely, it is the null pointer, or if the holder holds a
+  flag of strictly lower priority.
+ */
+template <typename Flag_Base, typename Flag>
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler_Flag
+  : public Handler {
+public:
+  //! Constructor with a given function.
+  Handler_Flag(const Flag_Base* volatile& holder, Flag& flag);
 
-/* Encodes which object are we printing:
+  /*! \brief
+    Does its job: installs the flag onto the holder, if a flag with
+    an higher priority has not already been installed.
+  */
+  virtual void act() const;
 
-   0 means input constraint system;
-   1 means first output constraint system;
-   2 means second output constraint system;
-   3 means only output constraint system
-     (i.e., when first and second are the same);
-   4 means mu space.
-*/
-static int output_function_MS_which = -1;
+private:
+  // declare holder as reference to volatile pointer to const Flag_Base
+  const Flag_Base* volatile& h;
+  Flag& f;
+};
 
-/*
-  Debuggin output function.  See the documentation of
-  fill_constraint_systems_MS() for the allocation of variable indices.
-*/
-inline void
-output_function_MS(std::ostream& s, const Variable& v) {
-  dimension_type id = v.id();
-  switch (output_function_MS_which) {
-  case 0:
-    if (id < output_function_MS_n)
-      s << "x'" << id + 1;
-    else if (id < 2*output_function_MS_n)
-      s << "x" << id - output_function_MS_n + 1;
-    else
-      s << "WHAT?";
-    break;
-  case 1:
-    if (id < output_function_MS_n)
-      s << "mu" << id + 1;
-    else if (id == output_function_MS_n)
-      s << "WHAT?";
-    else if (id <= output_function_MS_n + output_function_MS_m)
-      s << "y" << id - output_function_MS_n;
-    else
-      s << "WHAT?";
-    break;
-  case 2:
-  case 4:
-    if (id < output_function_MS_n)
-      s << "mu" << id + 1;
-    else if (id == output_function_MS_n)
-      s << "mu0";
-    else if (output_function_MS_which == 2
-	     && id <= output_function_MS_n + output_function_MS_m + 2)
-      s << "z" << id - output_function_MS_n;
-    else
-      s << "WHAT?";
-    break;
-  case 3:
-    if (id < output_function_MS_n)
-      s << "mu" << id + 1;
-    else if (id == output_function_MS_n)
-      s << "mu0";
-    else if (id <= output_function_MS_n + output_function_MS_m)
-      s << "y" << id - output_function_MS_n;
-    else if (id <= output_function_MS_n + 2*output_function_MS_m + 2)
-      s << "z" << id - (output_function_MS_n + output_function_MS_m);
-    else
-      s << "WHAT?";
-    break;
-  default:
-    abort();
-    break;
-  }
-}
+//! A kind of Handler calling a given function.
+class Parma_Polyhedra_Library::Implementation::Watchdog::Handler_Function
+  : public Handler {
+public:
+  //! Constructor with a given function.
+  Handler_Function(void (*function)());
 
-static dimension_type output_function_PR_s;
-static dimension_type output_function_PR_r;
+  //! Does its job: calls the embedded function.
+  virtual void act() const;
 
-/*
-  Debuggin output function.  See the documentation of
-  fill_constraint_system_PR() for the allocation of variable indices.
+private:
+  //! Pointer to the embedded function.
+  void (*f)();
+};
+
+/* Automatically generated from PPL source file ../src/Handler.inlines.hh line 1. */
+/* Handler and derived classes' implementation: inline functions.
 */
-inline void
-output_function_PR(std::ostream& s, const Variable& v) {
-  dimension_type id = v.id();
-  if (id < output_function_PR_s)
-    s << "u3_" << id + 1;
-  else if (id < output_function_PR_s + output_function_PR_r)
-    s << "u2_" << id - output_function_PR_s + 1;
-  else if (id < output_function_PR_s + 2*output_function_PR_r)
-    s << "u1_" << id - (output_function_PR_s + output_function_PR_r) + 1;
-  else
-    s << "WHAT?";
-}
-#endif
 
-void
-assign_all_inequalities_approximation(const Constraint_System& cs_in,
-				      Constraint_System& cs_out);
 
-template <typename PSET>
-inline void
-assign_all_inequalities_approximation(const PSET& pset,
-				      Constraint_System& cs) {
-  assign_all_inequalities_approximation(pset.minimized_constraints(), cs);
-}
+namespace Parma_Polyhedra_Library {
 
-template <>
-void
-assign_all_inequalities_approximation(const C_Polyhedron& ph,
-				      Constraint_System& cs);
+namespace Implementation {
 
-void
-shift_unprimed_variables(Constraint_System& cs);
+namespace Watchdog {
 
-template <typename PSET>
-void
-assign_all_inequalities_approximation(const PSET& pset_before,
-				      const PSET& pset_after,
-				      Constraint_System& cs) {
-  assign_all_inequalities_approximation(pset_before, cs);
-  shift_unprimed_variables(cs);
-  Constraint_System cs_after;
-  assign_all_inequalities_approximation(pset_after, cs_after);
-  // FIXME: provide an "append" for constraint systems.
-  for (Constraint_System::const_iterator i = cs_after.begin(),
-	 cs_after_end = cs_after.end(); i != cs_after_end; ++i)
-    cs.insert(*i);
+inline
+Handler::~Handler() {
 }
 
-bool
-termination_test_MS(const Constraint_System& cs);
-
-bool
-one_affine_ranking_function_MS(const Constraint_System& cs,
-			       Generator& mu);
-
-void
-all_affine_ranking_functions_MS(const Constraint_System& cs,
-				C_Polyhedron& mu_space);
+template <typename Flag_Base, typename Flag>
+Handler_Flag<Flag_Base, Flag>::Handler_Flag(const Flag_Base* volatile& holder,
+					    Flag& flag)
+  : h(holder), f(flag) {
+}
 
+template <typename Flag_Base, typename Flag>
 void
-all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
-                                      C_Polyhedron& decreasing_mu_space,
-                                      C_Polyhedron& bounded_mu_space);
+Handler_Flag<Flag_Base, Flag>::act() const {
+  if (h == 0 || static_cast<const Flag&>(*h).priority() < f.priority())
+    h = &f;
+}
 
-bool
-termination_test_PR(const Constraint_System& cs_before,
-		    const Constraint_System& cs_after);
+inline
+Handler_Function::Handler_Function(void (*function)())
+  : f(function) {
+}
 
-bool
-one_affine_ranking_function_PR(const Constraint_System& cs_before,
-			       const Constraint_System& cs_after,
-			       Generator& mu);
+inline void
+Handler_Function::act() const {
+  (*f)();
+}
 
-void
-all_affine_ranking_functions_PR(const Constraint_System& cs_before,
-				const Constraint_System& cs_after,
-				NNC_Polyhedron& mu_space);
+} // namespace Watchdog
 
-bool
-termination_test_PR_original(const Constraint_System& cs);
+} // namespace Implementation
 
-bool
-one_affine_ranking_function_PR_original(const Constraint_System& cs,
-                                        Generator& mu);
+} // namespace Parma_Polyhedra_Library
 
-void
-all_affine_ranking_functions_PR_original(const Constraint_System& cs,
-                                         NNC_Polyhedron& mu_space);
+/* Automatically generated from PPL source file ../src/Handler.defs.hh line 94. */
 
-} // namespace Termination
+/* Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 28. */
+#include <stdexcept>
 
-} // namespace Implementation
+namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-bool
-termination_test_MS(const PSET& pset) {
-  const dimension_type space_dim = pset.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::termination_test_MS(pset):\n"
-         "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
+#if PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset, cs);
-  return termination_test_MS(cs);
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(long csecs,
+		   const Flag_Base* volatile& holder,
+                   Flag& flag)
+  : expired(false),
+    handler(*new
+            Implementation::Watchdog::Handler_Flag<Flag_Base, Flag>(holder,
+                                                                    flag)) {
+  if (csecs == 0)
+    throw std::invalid_argument("Watchdog constructor called with a"
+				" non-positive number of centiseconds");
+  in_critical_section = true;
+  pending_position = new_watchdog_event(csecs, handler, expired);
+  in_critical_section = false;
 }
 
-template <typename PSET>
-bool
-termination_test_MS_2(const PSET& pset_before, const PSET& pset_after) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::termination_test_MS_2(pset_before, pset_after):\n"
-         "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
-
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
-  return termination_test_MS(cs);
+inline
+Watchdog::Watchdog(long csecs, void (*function)())
+  : expired(false),
+    handler(*new Implementation::Watchdog::Handler_Function(function)) {
+  if (csecs == 0)
+    throw std::invalid_argument("Watchdog constructor called with a"
+				" non-positive number of centiseconds");
+  in_critical_section = true;
+  pending_position = new_watchdog_event(csecs, handler, expired);
+  in_critical_section = false;
 }
 
-template <typename PSET>
-bool
-one_affine_ranking_function_MS(const PSET& pset, Generator& mu) {
-  const dimension_type space_dim = pset.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::one_affine_ranking_function_MS(pset, mu):\n"
-         "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
+inline
+Watchdog::~Watchdog() {
+  if (!expired) {
+    in_critical_section = true;
+    remove_watchdog_event(pending_position);
+    in_critical_section = false;
   }
+  delete &handler;
+}
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset, cs);
-  return one_affine_ranking_function_MS(cs, mu);
+inline void
+Watchdog::reschedule() {
+  set_timer(reschedule_time);
 }
 
-template <typename PSET>
-bool
-one_affine_ranking_function_MS_2(const PSET& pset_before,
-				 const PSET& pset_after,
-				 Generator& mu) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::one_affine_ranking_function_MS_2(pset_before, pset_after, mu):\n"
-         "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+#else // !PPL_HAVE_DECL_SETITIMER !! !PPL_HAVE_DECL_SIGACTION
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
-  return one_affine_ranking_function_MS(cs, mu);
+template <typename Flag_Base, typename Flag>
+Watchdog::Watchdog(long /* csecs */,
+		   const Flag_Base* volatile& /* holder */,
+                   Flag& /* flag */) {
+  throw std::logic_error("PPL::Watchdog::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
 }
 
-template <typename PSET>
-void
-all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space) {
-  const dimension_type space_dim = pset.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::all_affine_ranking_functions_MS(pset, mu_space):\n"
-         "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
-
-  if (pset.is_empty()) {
-    mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
-    return;
-  }
+inline
+Watchdog::Watchdog(long /* csecs */, void (* /* function */)()) {
+  throw std::logic_error("PPL::Watchdog::Watchdog objects not supported:"
+                         " system does not provide setitimer()");
+}
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset, cs);
-  all_affine_ranking_functions_MS(cs, mu_space);
+inline
+Watchdog::~Watchdog() {
 }
 
-template <typename PSET>
-void
-all_affine_ranking_functions_MS_2(const PSET& pset_before,
-				  const PSET& pset_after,
-				  C_Polyhedron& mu_space) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::all_affine_ranking_functions_MS_2"
-      << "(pset_before, pset_after, mu_space):\n"
-      << "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+#endif // !PPL_HAVE_DECL_SETITIMER !! !PPL_HAVE_DECL_SIGACTION
 
-  if (pset_before.is_empty()) {
-    mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
-    return;
-  }
+} // namespace Parma_Polyhedra_Library
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
-  all_affine_ranking_functions_MS(cs, mu_space);
-}
+/* Automatically generated from PPL source file ../src/Watchdog.defs.hh line 146. */
 
-template <typename PSET>
-void
-all_affine_quasi_ranking_functions_MS(const PSET& pset,
-                                      C_Polyhedron& decreasing_mu_space,
-                                      C_Polyhedron& bounded_mu_space) {
-  const dimension_type space_dim = pset.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::all_affine_quasi_ranking_functions_MS"
-      << "(pset, decr_space, bounded_space):\n"
-      << "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
 
-  if (pset.is_empty()) {
-    decreasing_mu_space = C_Polyhedron(1 + space_dim/2, UNIVERSE);
-    bounded_mu_space = decreasing_mu_space;
-    return;
-  }
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 1. */
+/* Threshold_Watcher and associated classes' declaration and inline functions.
+*/
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset, cs);
-  all_affine_quasi_ranking_functions_MS(cs,
-                                        decreasing_mu_space,
-                                        bounded_mu_space);
-}
 
-template <typename PSET>
-void
-all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
-                                        const PSET& pset_after,
-                                        C_Polyhedron& decreasing_mu_space,
-                                        C_Polyhedron& bounded_mu_space) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::all_affine_quasi_ranking_functions_MS_2"
-      << "(pset_before, pset_after, decr_space, bounded_space):\n"
-      << "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.types.hh line 1. */
 
-  if (pset_before.is_empty()) {
-    decreasing_mu_space = C_Polyhedron(1 + before_space_dim, UNIVERSE);
-    bounded_mu_space = decreasing_mu_space;
-    return;
-  }
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
-  all_affine_quasi_ranking_functions_MS(cs,
-                                        decreasing_mu_space,
-                                        bounded_mu_space);
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename PSET>
-bool
-termination_test_PR_2(const PSET& pset_before, const PSET& pset_after) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::termination_test_PR_2(pset_before, pset_after):\n"
-      << "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+template <typename Traits>
+class Threshold_Watcher;
 
-  using namespace Implementation::Termination;
-  Constraint_System cs_before;
-  Constraint_System cs_after;
-  assign_all_inequalities_approximation(pset_before, cs_before);
-  assign_all_inequalities_approximation(pset_after, cs_after);
-  return termination_test_PR(cs_before, cs_after);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename PSET>
-bool
-termination_test_PR(const PSET& pset_after) {
-  const dimension_type space_dim = pset_after.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::termination_test_PR(pset):\n"
-      << "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 30. */
+#include <cassert>
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
-  return termination_test_PR_original(cs);
-}
+/*! \brief
+  A class of watchdogs controlling the exceeding of a threshold.
 
-template <typename PSET>
-bool
-one_affine_ranking_function_PR_2(const PSET& pset_before,
-				 const PSET& pset_after,
-				 Generator& mu) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::one_affine_ranking_function_PR_2"
-      << "(pset_before, pset_after, mu):\n"
-      << "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+  \tparam Traits
+  A class to set data types and functions for the threshold handling.
+  See \c Parma_Polyhedra_Library::Weightwatch_Traits for an example.
+*/
+template <typename Traits>
+class Parma_Polyhedra_Library::Threshold_Watcher {
+public:
+  template <typename Flag_Base, typename Flag>
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag);
 
-  using namespace Implementation::Termination;
-  Constraint_System cs_before;
-  Constraint_System cs_after;
-  assign_all_inequalities_approximation(pset_before, cs_before);
-  assign_all_inequalities_approximation(pset_after, cs_after);
-  return one_affine_ranking_function_PR(cs_before, cs_after, mu);
-}
+  Threshold_Watcher(const typename Traits::Delta& delta,
+                    void (*function)());
 
-template <typename PSET>
-bool
-one_affine_ranking_function_PR(const PSET& pset_after, Generator& mu) {
-  const dimension_type space_dim = pset_after.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::one_affine_ranking_function_PR(pset, mu):\n"
-      << "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
+  ~Threshold_Watcher();
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
-  return one_affine_ranking_function_PR_original(cs, mu);
-}
+private:
+  typedef Implementation::Watchdog::Pending_List<Traits> TW_Pending_List;
+  typedef Implementation::Watchdog::Handler TW_Handler;
 
-template <typename PSET>
-void
-all_affine_ranking_functions_PR_2(const PSET& pset_before,
-				  const PSET& pset_after,
-				  NNC_Polyhedron& mu_space) {
-  const dimension_type before_space_dim = pset_before.space_dimension();
-  const dimension_type after_space_dim = pset_after.space_dimension();
-  if (after_space_dim != 2*before_space_dim) {
-    std::ostringstream s;
-    s << "PPL::all_affine_ranking_functions_MS_2"
-      << "(pset_before, pset_after, mu_space):\n"
-      << "pset_before.space_dimension() == " << before_space_dim
-      << ", pset_after.space_dimension() == " << after_space_dim
-      << ";\nthe latter should be twice the former.";
-    throw std::invalid_argument(s.str());
-  }
+  bool expired;
+  const TW_Handler& handler;
+  typename TW_Pending_List::Iterator pending_position;
 
-  if (pset_before.is_empty()) {
-    mu_space = NNC_Polyhedron(1 + before_space_dim);
-    return;
-  }
+  // Just to prevent their use.
+  Threshold_Watcher(const Threshold_Watcher&);
+  Threshold_Watcher& operator=(const Threshold_Watcher&);
 
-  using namespace Implementation::Termination;
-  Constraint_System cs_before;
-  Constraint_System cs_after;
-  assign_all_inequalities_approximation(pset_before, cs_before);
-  assign_all_inequalities_approximation(pset_after, cs_after);
-  all_affine_ranking_functions_PR(cs_before, cs_after, mu_space);
-}
+  struct Initialize {
+    //! The ordered queue of pending thresholds.
+    TW_Pending_List pending;
+  };
+  static Initialize init;
 
-template <typename PSET>
-void
-all_affine_ranking_functions_PR(const PSET& pset_after,
-				NNC_Polyhedron& mu_space) {
-  const dimension_type space_dim = pset_after.space_dimension();
-  if (space_dim % 2 != 0) {
-    std::ostringstream s;
-    s << "PPL::all_affine_ranking_functions_PR(pset, mu_space):\n"
-      << "pset.space_dimension() == " << space_dim
-      << " is odd.";
-    throw std::invalid_argument(s.str());
-  }
+  // Handle the addition of a new threshold.
+  static typename TW_Pending_List::Iterator
+  add_threshold(typename Traits::Threshold threshold,
+		const TW_Handler& handler,
+		bool& expired_flag);
 
-  if (pset_after.is_empty()) {
-    mu_space = NNC_Polyhedron(1 + space_dim/2);
-    return;
-  }
+  // Handle the removal of a threshold.
+  static typename TW_Pending_List::Iterator
+  remove_threshold(typename TW_Pending_List::Iterator position);
 
-  using namespace Implementation::Termination;
-  Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
-  all_affine_ranking_functions_PR_original(cs, mu_space);
-}
+  //! Check threshold reaching.
+  static void check();
 
-} // namespace Parma_Polyhedra_Library
+}; // class Parma_Polyhedra_Library::Threshold_Watcher
 
-/* Automatically generated from PPL source file ../src/termination.defs.hh line 469. */
 
-/* Automatically generated from PPL source file ../src/wrap_string.hh line 1. */
-/* Declaration of string wrapping function.
+// Templatic initialization of static data member.
+template <typename Traits>
+typename
+Parma_Polyhedra_Library::Threshold_Watcher<Traits>::Initialize
+Parma_Polyhedra_Library::Threshold_Watcher<Traits>::init;
+
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 1. */
+/* Threshold_Watcher and associated classes' implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/wrap_string.hh line 28. */
+#include <stdexcept>
+
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.inlines.hh line 30. */
 
 namespace Parma_Polyhedra_Library {
 
-namespace IO_Operators {
+template <typename Traits>
+template <typename Flag_Base, typename Flag>
+Threshold_Watcher<Traits>
+::Threshold_Watcher(const typename Traits::Delta& delta,
+                    const Flag_Base* volatile& holder,
+                    Flag& flag)
+  : expired(false),
+    handler(*new
+            Implementation::Watchdog::Handler_Flag<Flag_Base, Flag>(holder,
+                                                                    flag)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
+
+template <typename Traits>
+inline
+Threshold_Watcher<Traits>::Threshold_Watcher(const typename Traits::Delta& delta, void (*function)())
+  : expired(false),
+    handler(*new Implementation::Watchdog::Handler_Function(function)) {
+  typename Traits::Threshold threshold;
+  Traits::from_delta(threshold, delta);
+  if (!Traits::less_than(Traits::get(), threshold))
+    throw std::invalid_argument("Threshold_Watcher constructor called with a"
+				" threshold already reached");
+  pending_position = add_threshold(threshold, handler, expired);
+}
 
-//! Utility function for the wrapping of lines of text.
-/*!
-  \param src_string
-  The source string holding the lines to wrap.
+} // namespace Parma_Polyhedra_Library
 
-  \param indent_depth
-  The indentation depth.
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.templates.hh line 1. */
+/* Threshold_Watcher and associated classes'.
+*/
 
-  \param preferred_first_line_length
-  The preferred length for the first line of text.
 
-  \param preferred_line_length
-  The preferred length for all the lines but the first one.
+namespace Parma_Polyhedra_Library {
 
-  \return
-  The wrapped string.
-*/
-std::string
-wrap_string(const std::string& src_string,
-	    unsigned indent_depth,
-	    unsigned preferred_first_line_length,
-	    unsigned preferred_line_length);
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>::add_threshold(typename Traits::Threshold threshold,
+                                         const TW_Handler& handler,
+                                         bool& expired_flag) {
+  Traits::check_function = Threshold_Watcher::check;
+  return init.pending.insert(threshold, handler, expired_flag);
+}
+
+template <typename Traits>
+typename Threshold_Watcher<Traits>::TW_Pending_List::Iterator
+Threshold_Watcher<Traits>
+::remove_threshold(typename TW_Pending_List::Iterator position) {
+  typename TW_Pending_List::Iterator i = init.pending.erase(position);
+  if (init.pending.empty())
+    Traits::check_function = 0;
+  return i;
+}
 
-} // namespace IO_Operators
+template <typename Traits>
+Threshold_Watcher<Traits>::~Threshold_Watcher() {
+  if (!expired)
+    remove_threshold(pending_position);
+  delete &handler;
+}
+
+template <typename Traits>
+void
+Threshold_Watcher<Traits>::check() {
+  typename TW_Pending_List::Iterator i = init.pending.begin();
+  assert(i != init.pending.end());
+  const typename Traits::Threshold& current = Traits::get();
+  while (!Traits::less_than(current, i->deadline())) {
+    i->handler().act();
+    i->expired_flag() = true;
+    i = remove_threshold(i);
+    if (i == init.pending.end())
+      break;
+  }
+}
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file ../src/Threshold_Watcher.defs.hh line 94. */
+
+
+
+//! Defined to 1 if PPL::Watchdog objects are supported, to 0 otherwise.
+#define PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
+  (PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION)
 
 #undef PPL_SPECIALIZE_ABS
 #undef PPL_SPECIALIZE_ADD
@@ -82999,4 +107338,4 @@ wrap_string(const std::string& src_string,
  #undef PPL_NO_AUTOMATIC_INITIALIZATION
 #endif
 
-#endif
+#endif // !defined(PPL_ppl_hh)
diff --git a/src/ppl_header.hh b/src/ppl_header.hh
index 96c93ce..d661ea8 100644
--- a/src/ppl_header.hh
+++ b/src/ppl_header.hh
@@ -1,6 +1,6 @@
 /* This is the header file of the Parma Polyhedra Library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_hh
 #define PPL_ppl_hh 1
@@ -37,6 +37,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "version.hh"
 #include "ppl_include_files.hh"
 
+//! Defined to 1 if PPL::Watchdog objects are supported, to 0 otherwise.
+#define PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED \
+  (PPL_HAVE_DECL_SETITIMER && PPL_HAVE_DECL_SIGACTION)
+
 #undef PPL_SPECIALIZE_ABS
 #undef PPL_SPECIALIZE_ADD
 #undef PPL_SPECIALIZE_ADD_MUL
@@ -114,4 +118,4 @@ site: http://www.cs.unipr.it/ppl/ . */
  #undef PPL_NO_AUTOMATIC_INITIALIZATION
 #endif
 
-#endif
+#endif // !defined(PPL_ppl_hh)
diff --git a/src/simplify.cc b/src/simplify.cc
deleted file mode 100644
index 2c1e44d..0000000
--- a/src/simplify.cc
+++ /dev/null
@@ -1,319 +0,0 @@
-/* Polyhedron class implementation: simplify().
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
-
-#include "Linear_Row.defs.hh"
-#include "Linear_System.defs.hh"
-#include "Bit_Matrix.defs.hh"
-#include "Polyhedron.defs.hh"
-#include <cstddef>
-#include <limits>
-
-namespace PPL = Parma_Polyhedra_Library;
-
-/*!
-  \return
-  The rank of \p sys.
-
-  \param sys
-  The system to simplify: it will be modified;
-
-  \param sat
-  The saturation matrix corresponding to \p sys.
-
-  \p sys may be modified by swapping some of its rows and by possibly
-  removing some of them, if they turn out to be redundant.
-
-  If \p sys is a system of constraints, then the rows of \p sat are
-  indexed by constraints and its columns are indexed by generators;
-  otherwise, if \p sys is a system of generators, then the rows of
-  \p sat are indexed by generators and its columns by constraints.
-
-  Given a system of constraints or a system of generators, this function
-  simplifies it using Gauss' elimination method (to remove redundant
-  equalities/lines), deleting redundant inequalities/rays/points and
-  making back-substitution.
-  The explanation that follows assumes that \p sys is a system of
-  constraints. For the case when \p sys is a system of generators,
-  a similar explanation can be obtain by applying duality.
-
-  The explanation relies on the notion of <EM>redundancy</EM>.
-  (See the Introduction.)
-
-  First we make some observations that can help the reader
-  in understanding the function:
-
-  Proposition: An inequality that is saturated by all the generators
-  can be transformed to an equality.
-
-  In fact, by combining any number of generators that saturate the
-  constraints, we obtain a generator that saturates the constraints too:
-  \f[
-    \langle \vect{c}, \vect{r}_1 \rangle = 0 \land
-    \langle \vect{c}, \vect{r}_2 \rangle = 0
-    \Rightarrow
-    \langle \vect{c}, (\lambda_1 \vect{r}_1 + \lambda_2 \vect{r}_2) \rangle =
-    \lambda_1 \langle \vect{c}, \vect{r}_1 \rangle
-    + \lambda_2 \langle \vect{c}, \vect{r}_2 \rangle
-    = 0,
-  \f]
-  where \f$\lambda_1, \lambda_2\f$ can be any real number.
-*/
-PPL::dimension_type
-PPL::Polyhedron::simplify(Linear_System& sys, Bit_Matrix& sat) {
-  // This method is only applied to a well-formed system `sys'.
-  PPL_ASSERT(sys.OK(true));
-  PPL_ASSERT(sys.num_columns() >= 1);
-
-  dimension_type num_rows = sys.num_rows();
-  const dimension_type num_columns = sys.num_columns();
-  const dimension_type num_cols_sat = sat.num_columns();
-
-  // Looking for the first inequality in `sys'.
-  dimension_type num_lines_or_equalities = 0;
-  while (num_lines_or_equalities < num_rows
-	 && sys[num_lines_or_equalities].is_line_or_equality())
-    ++num_lines_or_equalities;
-
-  // `num_saturators[i]' will contain the number of generators
-  // that saturate the constraint `sys[i]'.
-  if (num_rows > simplify_num_saturators_size) {
-    delete [] simplify_num_saturators_p;
-    simplify_num_saturators_p = 0;
-    simplify_num_saturators_size = 0;
-    const size_t max_size
-      = std::numeric_limits<size_t>::max() / sizeof(dimension_type);
-    const size_t new_size = compute_capacity(num_rows, max_size);
-    simplify_num_saturators_p = new dimension_type[new_size];
-    simplify_num_saturators_size = new_size;
-  }
-  dimension_type* num_saturators = simplify_num_saturators_p;
-
-  // Computing the number of saturators for each inequality,
-  // possibly identifying and swapping those that happen to be
-  // equalities (see Proposition above).
-  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i) {
-    if (sat[i].empty()) {
-      // The constraint `sys[i]' is saturated by all the generators.
-      // Thus, either it is already an equality or it can be transformed
-      // to an equality (see Proposition above).
-      sys[i].set_is_line_or_equality();
-      // Note: simple normalization already holds.
-      sys[i].sign_normalize();
-      // We also move it just after all the other equalities,
-      // so that system `sys' keeps its partial sortedness.
-      if (i != num_lines_or_equalities) {
-	std::swap(sys[i], sys[num_lines_or_equalities]);
-	std::swap(sat[i], sat[num_lines_or_equalities]);
-	std::swap(num_saturators[i], num_saturators[num_lines_or_equalities]);
-      }
-      ++num_lines_or_equalities;
-      // `sys' is no longer sorted.
-      sys.set_sorted(false);
-    }
-    else
-      // There exists a generator which does not saturate `sys[i]',
-      // so that `sys[i]' is indeed an inequality.
-      // We store the number of its saturators.
-      num_saturators[i] = num_cols_sat - sat[i].count_ones();
-  }
-
-  // At this point, all the equalities of `sys' (included those
-  // inequalities that we just transformed to equalities) have
-  // indexes between 0 and `num_lines_or_equalities' - 1,
-  // which is the property needed by method gauss().
-  // We can simplify the system of equalities, obtaining the rank
-  // of `sys' as result.
-  const dimension_type rank = sys.gauss(num_lines_or_equalities);
-
-  // Now the irredundant equalities of `sys' have indexes from 0
-  // to `rank' - 1, whereas the equalities having indexes from `rank'
-  // to `num_lines_or_equalities' - 1 are all redundant.
-  // (The inequalities in `sys' have been left untouched.)
-  // The rows containing equalities are not sorted.
-
-  if (rank < num_lines_or_equalities) {
-    // We identified some redundant equalities.
-    // Moving them at the bottom of `sys':
-    // - index `redundant' runs through the redundant equalities
-    // - index `erasing' identifies the first row that should
-    //   be erased after this loop.
-    // Note that we exit the loop either because we have moved all
-    // redundant equalities or because we have moved all the
-    // inequalities.
-    for (dimension_type redundant = rank,
-	   erasing = num_rows;
-	 redundant < num_lines_or_equalities
-	   && erasing > num_lines_or_equalities;
-	 ) {
-      --erasing;
-      std::swap(sys[redundant], sys[erasing]);
-      std::swap(sat[redundant], sat[erasing]);
-      std::swap(num_saturators[redundant], num_saturators[erasing]);
-      sys.set_sorted(false);
-      ++redundant;
-    }
-    // Adjusting the value of `num_rows' to the number of meaningful
-    // rows of `sys': `num_lines_or_equalities' - `rank' is the number of
-    // redundant equalities moved to the bottom of `sys', which are
-    // no longer meaningful.
-    num_rows -= num_lines_or_equalities - rank;
-    // Adjusting the value of `num_lines_or_equalities'.
-    num_lines_or_equalities = rank;
-  }
-
-  // Now we use the definition of redundancy (given in the Introduction)
-  // to remove redundant inequalities.
-
-  // First we check the saturation rule, which provides a necessary
-  // condition for an inequality to be irredundant (i.e., it provides
-  // a sufficient condition for identifying redundant inequalities).
-  // Let
-  //   num_saturators[i] = num_sat_lines[i] + num_sat_rays_or_points[i];
-  //   dim_lin_space = num_irred_lines;
-  //   dim_ray_space
-  //     = dim_vector_space - num_irred_equalities - dim_lin_space
-  //     = num_columns - 1 - num_lines_or_equalities - dim_lin_space;
-  //   min_sat_rays_or_points = dim_ray_space.
-  //
-  // An inequality saturated by less than `dim_ray_space' _rays/points_
-  // is redundant. Thus we have the implication
-  //
-  //   (num_saturators[i] - num_sat_lines[i] < dim_ray_space)
-  //      ==>
-  //        redundant(sys[i]).
-  //
-  // Moreover, since every line saturates all inequalities, we also have
-  //     dim_lin_space = num_sat_lines[i]
-  // so that we can rewrite the condition above as follows:
-  //
-  //   (num_saturators[i] < num_columns - num_lines_or_equalities - 1)
-  //      ==>
-  //        redundant(sys[i]).
-  //
-  const dimension_type min_saturators
-    = num_columns - num_lines_or_equalities - 1;
-  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
-    if (num_saturators[i] < min_saturators) {
-      // The inequality `sys[i]' is redundant.
-      --num_rows;
-      std::swap(sys[i], sys[num_rows]);
-      std::swap(sat[i], sat[num_rows]);
-      std::swap(num_saturators[i], num_saturators[num_rows]);
-      sys.set_sorted(false);
-    }
-    else
-      ++i;
-  }
-
-  // Now we check the independence rule.
-  for (dimension_type i = num_lines_or_equalities; i < num_rows; ) {
-    bool redundant = false;
-    // NOTE: in the inner loop, index `j' runs through _all_ the
-    // inequalities and we do not test if `sat[i]' is strictly
-    // contained into `sat[j]'.  Experimentation has shown that this
-    // is faster than having `j' only run through the indexes greater
-    // than `i' and also doing the test `strict_subset(sat[i],
-    // sat[k])'.
-    for (dimension_type j = num_lines_or_equalities; j < num_rows; ) {
-      if (i == j)
-	// We want to compare different rows of `sys'.
-	++j;
-      else {
-	// Let us recall that each generator lies on a facet of the
-	// polyhedron (see the Introduction).
-	// Given two constraints `c_1' and `c_2', if there are `m'
-	// generators lying on the hyper-plane corresponding to `c_1',
-	// the same `m' generators lie on the hyper-plane
-	// corresponding to `c_2', too, and there is another one lying
-	// on the latter but not on the former, then `c_2' is more
-	// restrictive than `c_1', i.e., `c_1' is redundant.
-	bool strict_subset;
-	if (subset_or_equal(sat[j], sat[i], strict_subset))
-	  if (strict_subset) {
-	    // All the saturators of the inequality `sys[i]' are
-	    // saturators of the inequality `sys[j]' too,
-	    // and there exists at least one saturator of `sys[j]'
-	    // which is not a saturator of `sys[i]'.
-	    // It follows that inequality `sys[i]' is redundant.
-	    redundant = true;
-	    break;
-	  }
-	  else {
-	    // We have `sat[j] == sat[i]'.  Hence inequalities
-	    // `sys[i]' and `sys[j]' are saturated by the same set of
-	    // generators. Then we can remove either one of the two
-	    // inequalities: we remove `sys[j]'.
-	    --num_rows;
-	    std::swap(sys[j], sys[num_rows]);
-	    std::swap(sat[j], sat[num_rows]);
-	    std::swap(num_saturators[j], num_saturators[num_rows]);
-	    sys.set_sorted(false);
-	  }
-	else
-	  // If we reach this point then we know that `sat[i]' does
-	  // not contain (and is different from) `sat[j]', so that
-	  // `sys[i]' is not made redundant by inequality `sys[j]'.
-	  ++j;
-      }
-    }
-    if (redundant) {
-      // The inequality `sys[i]' is redundant.
-      --num_rows;
-      std::swap(sys[i], sys[num_rows]);
-      std::swap(sat[i], sat[num_rows]);
-      std::swap(num_saturators[i], num_saturators[num_rows]);
-      sys.set_sorted(false);
-    }
-    else
-      // The inequality `sys[i]' is not redundant.
-      ++i;
-  }
-
-  // Here we physically remove the redundant inequalities previously
-  // moved to the bottom of `sys' and the corresponding `sat' rows.
-  sys.erase_to_end(num_rows);
-  sys.unset_pending_rows();
-  sat.rows_erase_to_end(num_rows);
-  // At this point the first `num_lines_or_equalities' rows of 'sys'
-  // represent the irredundant equalities, while the remaining rows
-  // (i.e., those having indexes from `num_lines_or_equalities' to
-  // `num_rows' - 1) represent the irredundant inequalities.
-#ifndef NDEBUG
-  // Check if the flag is set (that of the equalities is already set).
-  for (dimension_type i = num_lines_or_equalities; i < num_rows; ++i)
-    PPL_ASSERT(sys[i].is_ray_or_point_or_inequality());
-#endif
-
-  // Finally, since now the sub-system (of `sys') of the irredundant
-  // equalities is in triangular form, we back substitute each
-  // variables with the expression obtained considering the equalities
-  // starting from the last one.
-  sys.back_substitute(num_lines_or_equalities);
-
-  // The returned value is the number of irredundant equalities i.e.,
-  // the rank of the sub-system of `sys' containing only equalities.
-  // (See the Introduction for definition of lineality space dimension.)
-  return num_lines_or_equalities;
-}
diff --git a/src/stdiobuf.cc b/src/stdiobuf.cc
index dd62626..a10a7ed 100644
--- a/src/stdiobuf.cc
+++ b/src/stdiobuf.cc
@@ -1,6 +1,6 @@
 /* stdiobuf class implementation (non-inline functions).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,18 +19,20 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "stdiobuf.defs.hh"
+#include "globals.defs.hh"
+#include "assert.hh"
+#include <cstddef>
 
 namespace Parma_Polyhedra_Library {
 
 stdiobuf::int_type
 stdiobuf::uflow() {
-  ungetc_buf = getc(fp);
-  return ungetc_buf;
+  unget_char_buf = getc(fp);
+  return unget_char_buf;
 }
 
 stdiobuf::int_type
@@ -41,32 +43,35 @@ stdiobuf::underflow() {
 
 std::streamsize
 stdiobuf::xsgetn(char_type* s, std::streamsize n) {
-  std::streamsize r = fread(s, 1, n, fp);
+  PPL_ASSERT(n >= 0);
+  size_t r = fread(s, 1, static_cast<size_t>(n), fp);
   if (r > 0)
-    ungetc_buf = traits_type::to_int_type(s[r - 1]);
+    unget_char_buf = traits_type::to_int_type(s[r - 1]);
   else
-    ungetc_buf = traits_type::eof();
-  return r;
+    unget_char_buf = traits_type::eof();
+  return static_cast<std::streamsize>(r);
 }
 
 stdiobuf::int_type
 stdiobuf::pbackfail(int_type c) {
   const int_type eof = traits_type::eof();
-  int_type u = traits_type::eq_int_type(c, eof) ? ungetc_buf : c;
-  ungetc_buf = eof;
+  int_type u = traits_type::eq_int_type(c, eof) ? unget_char_buf : c;
+  unget_char_buf = eof;
   return traits_type::eq_int_type(u, eof) ? eof : ungetc(u, fp);
 }
 
 std::streamsize
 stdiobuf::xsputn(const char_type* s, std::streamsize n) {
-  return fwrite(s, 1, n, fp);
+  PPL_ASSERT(n >= 0);
+  size_t r = fwrite(s, 1, static_cast<size_t>(n), fp);
+  return static_cast<std::streamsize>(r);
 }
 
 stdiobuf::int_type
 stdiobuf::overflow(int_type c) {
   const int_type eof = traits_type::eof();
   if (traits_type::eq_int_type(c, eof))
-    return fflush(fp) ? eof : traits_type::not_eof(c);
+    return (fflush(fp) != 0) ? eof : traits_type::not_eof(c);
   else
     return putc(c, fp);
 }
diff --git a/src/stdiobuf.defs.hh b/src/stdiobuf.defs.hh
index 83f0fe8..235f5e5 100644
--- a/src/stdiobuf.defs.hh
+++ b/src/stdiobuf.defs.hh
@@ -1,6 +1,6 @@
 /* stdiobuf class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_stdiobuf_defs_hh
 #define PPL_stdiobuf_defs_hh 1
@@ -103,7 +103,7 @@ private:
   FILE* fp;
 
   //! Buffer for the last character read.
-  int_type ungetc_buf;
+  int_type unget_char_buf;
 };
 
 #include "stdiobuf.inlines.hh"
diff --git a/src/stdiobuf.inlines.hh b/src/stdiobuf.inlines.hh
index 97804ca..44c85b9 100644
--- a/src/stdiobuf.inlines.hh
+++ b/src/stdiobuf.inlines.hh
@@ -1,6 +1,6 @@
 /* stdiobuf class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_stdiobuf_inlines_hh
 #define PPL_stdiobuf_inlines_hh 1
@@ -28,7 +28,7 @@ namespace Parma_Polyhedra_Library {
 
 inline
 stdiobuf::stdiobuf(FILE* file)
-  : fp(file), ungetc_buf(traits_type::eof()) {
+  : fp(file), unget_char_buf(traits_type::eof()) {
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/stdiobuf.types.hh b/src/stdiobuf.types.hh
index ba27810..9da3559 100644
--- a/src/stdiobuf.types.hh
+++ b/src/stdiobuf.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/src/swapping_sort.icc b/src/swapping_sort.icc
deleted file mode 100644
index 30c703a..0000000
--- a/src/swapping_sort.icc
+++ /dev/null
@@ -1,167 +0,0 @@
-/* Sorting objects for which copies cost more than swaps.  -*- C++ -*-
-   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
-
-This file is part of the Parma Polyhedra Library (PPL).
-
-The PPL is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The PPL is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software Foundation,
-Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
-
-For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#ifndef PPL_swapping_sort_icc
-#define PPL_swapping_sort_icc 1
-
-#include <vector>
-#include <algorithm>
-
-namespace {
-
-template <typename RA_Container, typename Compare>
-struct Indirect_Sort_Compare {
-  typedef typename RA_Container::size_type size_type;
-
-  Indirect_Sort_Compare(const RA_Container& cont,
-                        size_type base = 0,
-                        Compare comp = Compare())
-    : container(cont), base_index(base), compare(comp) {
-  }
-
-  bool operator()(size_type i, size_type j) const {
-    return compare(container[base_index + i], container[base_index + j]);
-  }
-
-  const RA_Container& container;
-  const size_type base_index;
-  const Compare compare;
-}; // struct Indirect_Sort_Compare
-
-template <typename RA_Container>
-struct Indirect_Unique_Compare {
-  typedef typename RA_Container::size_type size_type;
-
-  Indirect_Unique_Compare(const RA_Container& cont, size_type base = 0)
-    : container(cont), base_index(base) {
-  }
-
-  bool operator()(size_type i, size_type j) const {
-    return container[base_index + i] == container[base_index + j];
-  }
-
-  const RA_Container& container;
-  const size_type base_index;
-}; // struct Indirect_Unique_Compare
-
-template <typename RA_Container>
-struct Indirect_Swapper {
-  typedef typename RA_Container::size_type size_type;
-
-  Indirect_Swapper(RA_Container& cont, size_type base = 0)
-    : container(cont), base_index(base) {
-  }
-
-  void operator()(size_type i, size_type j) const {
-    std::swap(container[base_index + i], container[base_index + j]);
-  }
-
-  RA_Container& container;
-  const size_type base_index;
-}; // struct Indirect_Swapper
-
-template <typename RA_Container1, typename RA_Container2>
-struct Indirect_Swapper2 {
-  typedef typename RA_Container1::size_type size_type;
-
-  Indirect_Swapper2(RA_Container1& cont1, RA_Container2& cont2)
-    : container1(cont1), container2(cont2) {
-  }
-
-  void operator()(size_type i, size_type j) const {
-    std::swap(container1[i], container1[j]);
-    std::swap(container2[i], container2[j]);
-  }
-
-  RA_Container1& container1;
-  RA_Container2& container2;
-}; // struct Indirect_Swapper2
-
-template <typename Sort_Comparer, typename Unique_Comparer, typename Swapper>
-typename Sort_Comparer::size_type
-indirect_sort_and_unique(typename Sort_Comparer::size_type num_elems,
-                         Sort_Comparer sort_cmp,
-                         Unique_Comparer unique_cmp,
-                         Swapper indirect_swap) {
-  typedef typename Sort_Comparer::size_type index_type;
-  // `iv' is a vector of indices for the portion of rows to be sorted.
-  PPL_ASSERT(num_elems >= 2);
-  std::vector<index_type> iv;
-  iv.reserve(num_elems);
-  for (index_type i = 0, i_end = num_elems; i != i_end; ++i)
-    iv.push_back(i);
-
-  typedef typename std::vector<index_type>::iterator Iter;
-  const Iter iv_begin = iv.begin();
-  Iter iv_end = iv.end();
-
-  // Sort `iv' by comparing the rows indexed by its elements.
-  std::sort(iv_begin, iv_end, sort_cmp);
-
-  // Swap the indexed rows according to `iv':
-  // for each index `i', the element that should be placed in
-  // position dst = i is the one placed in position src = iv[i].
-  for (index_type i = num_elems; i-- > 0; ) {
-    if (i != iv[i]) {
-      index_type dst = i;
-      index_type src = iv[i];
-      do {
-        indirect_swap(src, dst);
-        iv[dst] = dst;
-        dst = src;
-        src = iv[dst];
-      } while (i != src);
-      iv[dst] = dst;
-    }
-  }
-
-  // Restore `iv' indices to 0 .. num_elems-1 for the call to unique.
-  for (index_type i = num_elems; i-- > 0; )
-    iv[i] = i;
-
-  // Unique `iv' by comparing the rows indexed by its elements.
-  iv_end = std::unique(iv_begin, iv_end, unique_cmp);
-
-  const index_type num_sorted = iv_end - iv_begin;
-  const index_type num_duplicates = num_elems - num_sorted;
-  if (num_duplicates == 0)
-    return 0;
-
-  // There were duplicates: swap the rows according to `iv'.
-  index_type dst = 0;
-  while (dst < num_sorted && dst == iv[dst])
-    ++dst;
-  if (dst == num_sorted)
-    return num_duplicates;
-  do {
-    const index_type src = iv[dst];
-    indirect_swap(src, dst);
-    ++dst;
-  }
-  while (dst < num_sorted);
-  return num_duplicates;
-}
-
-} // namespace
-
-#endif // !defined(PPL_swapping_sort_icc)
diff --git a/src/swapping_sort.templates.hh b/src/swapping_sort.templates.hh
new file mode 100644
index 0000000..39dcdd3
--- /dev/null
+++ b/src/swapping_sort.templates.hh
@@ -0,0 +1,179 @@
+/* Sorting objects for which copies cost more than swaps.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_swapping_sort_templates_hh
+#define PPL_swapping_sort_templates_hh 1
+
+#include <vector>
+#include <algorithm>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Implementation {
+
+template <typename RA_Container, typename Compare>
+struct Indirect_Sort_Compare {
+  typedef typename RA_Container::size_type size_type;
+
+  Indirect_Sort_Compare(const RA_Container& cont,
+                        size_type base = 0,
+                        Compare comp = Compare())
+    : container(cont), base_index(base), compare(comp) {
+  }
+
+  bool operator()(size_type i, size_type j) const {
+    return compare(container[base_index + i], container[base_index + j]);
+  }
+
+  const RA_Container& container;
+  const size_type base_index;
+  const Compare compare;
+}; // struct Indirect_Sort_Compare
+
+template <typename RA_Container>
+struct Indirect_Unique_Compare {
+  typedef typename RA_Container::size_type size_type;
+
+  Indirect_Unique_Compare(const RA_Container& cont, size_type base = 0)
+    : container(cont), base_index(base) {
+  }
+
+  bool operator()(size_type i, size_type j) const {
+    return container[base_index + i] == container[base_index + j];
+  }
+
+  const RA_Container& container;
+  const size_type base_index;
+}; // struct Indirect_Unique_Compare
+
+template <typename RA_Container>
+struct Indirect_Swapper {
+  typedef typename RA_Container::size_type size_type;
+
+  Indirect_Swapper(RA_Container& cont, size_type base = 0)
+    : container(cont), base_index(base) {
+  }
+
+  void operator()(size_type i, size_type j) const {
+    using std::swap;
+    swap(container[base_index + i], container[base_index + j]);
+  }
+
+  RA_Container& container;
+  const size_type base_index;
+}; // struct Indirect_Swapper
+
+template <typename RA_Container1, typename RA_Container2>
+struct Indirect_Swapper2 {
+  typedef typename RA_Container1::size_type size_type;
+
+  Indirect_Swapper2(RA_Container1& cont1, RA_Container2& cont2)
+    : container1(cont1), container2(cont2) {
+  }
+
+  void operator()(size_type i, size_type j) const {
+    using std::swap;
+    swap(container1[i], container1[j]);
+    swap(container2[i], container2[j]);
+  }
+
+  RA_Container1& container1;
+  RA_Container2& container2;
+}; // struct Indirect_Swapper2
+
+template <typename Sort_Comparer, typename Unique_Comparer, typename Swapper>
+typename Sort_Comparer::size_type
+indirect_sort_and_unique(typename Sort_Comparer::size_type num_elems,
+                         Sort_Comparer sort_cmp,
+                         Unique_Comparer unique_cmp,
+                         Swapper indirect_swap) {
+  typedef typename Sort_Comparer::size_type index_type;
+  // `iv' is a vector of indices for the portion of rows to be sorted.
+  PPL_ASSERT(num_elems >= 2);
+  std::vector<index_type> iv;
+  iv.reserve(num_elems);
+  for (index_type i = 0, i_end = num_elems; i != i_end; ++i)
+    iv.push_back(i);
+
+  typedef typename std::vector<index_type>::iterator Iter;
+  const Iter iv_begin = iv.begin();
+  Iter iv_end = iv.end();
+
+  // Sort `iv' by comparing the rows indexed by its elements.
+  std::sort(iv_begin, iv_end, sort_cmp);
+
+  // Swap the indexed rows according to `iv':
+  // for each index `i', the element that should be placed in
+  // position dst = i is the one placed in position src = iv[i].
+  for (index_type i = num_elems; i-- > 0; ) {
+    if (i != iv[i]) {
+      index_type dst = i;
+      index_type src = iv[i];
+      do {
+        indirect_swap(src, dst);
+        iv[dst] = dst;
+        dst = src;
+        src = iv[dst];
+      } while (i != src);
+      iv[dst] = dst;
+    }
+  }
+
+  // Restore `iv' indices to 0 .. num_elems-1 for the call to unique.
+  for (index_type i = num_elems; i-- > 0; )
+    iv[i] = i;
+
+  // Unique `iv' by comparing the rows indexed by its elements.
+  iv_end = std::unique(iv_begin, iv_end, unique_cmp);
+
+  const index_type num_sorted = static_cast<index_type>(iv_end - iv_begin);
+  const index_type num_duplicates = num_elems - num_sorted;
+  if (num_duplicates == 0)
+    return 0;
+
+  // There were duplicates: swap the rows according to `iv'.
+  index_type dst = 0;
+  while (dst < num_sorted && dst == iv[dst])
+    ++dst;
+  if (dst == num_sorted)
+    return num_duplicates;
+  do {
+    const index_type src = iv[dst];
+    indirect_swap(src, dst);
+    ++dst;
+  }
+  while (dst < num_sorted);
+  return num_duplicates;
+}
+
+template <typename Iter>
+Iter
+swapping_unique(Iter first, Iter last) {
+  return swapping_unique(first, last, std::iter_swap<Iter, Iter>);
+}
+
+} // namespace Implementation
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_swapping_sort_templates_hh)
diff --git a/src/termination.cc b/src/termination.cc
index 866c84d..ddee538 100644
--- a/src/termination.cc
+++ b/src/termination.cc
@@ -1,6 +1,6 @@
 /* Utilities for termination analysis: non-inline, non-template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "termination.defs.hh"
 #include "NNC_Polyhedron.defs.hh"
 
@@ -84,26 +83,6 @@ assign_all_inequalities_approximation(const C_Polyhedron& ph,
     cs = ph_cs;
 }
 
-void
-shift_unprimed_variables(Constraint_System& cs) {
-  const dimension_type cs_space_dim = cs.space_dimension();
-  Constraint_System cs_shifted;
-  for (Constraint_System::const_iterator i = cs.begin(),
-	 cs_end = cs.end(); i != cs_end; ++i) {
-    const Constraint& c_i = *i;
-    Linear_Expression le_i_shifted;
-    for (dimension_type j = cs_space_dim; j-- > 0; ) {
-      Coefficient_traits::const_reference a_i_j
-	= c_i.coefficient(Variable(j));
-      if (a_i_j != 0)
-	add_mul_assign(le_i_shifted, a_i_j, Variable(cs_space_dim + j));
-    }
-    le_i_shifted += c_i.inhomogeneous_term();
-    cs_shifted.insert(le_i_shifted >= 0);
-  }
-  cs.swap(cs_shifted);
-}
-
 /*! \brief
   Fill the constraint system(s) for the application of the
   Mesnard and Serebrenik improved termination tests.
@@ -149,7 +128,7 @@ fill_constraint_systems_MS(const Constraint_System& cs,
 			   Constraint_System& cs_out2) {
   PPL_ASSERT(cs.space_dimension() % 2 == 0);
   const dimension_type n = cs.space_dimension() / 2;
-  const dimension_type m = std::distance(cs.begin(), cs.end());
+  const dimension_type m = num_constraints(cs);
 
 #if PRINT_DEBUG_INFO
   Variable::output_function_type* p_default_output_function
@@ -168,9 +147,11 @@ fill_constraint_systems_MS(const Constraint_System& cs,
   dimension_type y_begin = n+1;
   dimension_type z_begin = y_begin + ((&cs_out1 == &cs_out2) ? m : 0);
 
-  // Make sure linear expressions are not reallocated multiple times.
-  Linear_Expression y_le(0*Variable(y_begin + m - 1));
-  Linear_Expression z_le(0*Variable(z_begin + m + 2 - 1));
+  // Make sure linear expressions have the correct space dimension.
+  Linear_Expression y_le;
+  y_le.set_space_dimension(y_begin + m);
+  Linear_Expression z_le;
+  z_le.set_space_dimension(z_begin + m + 2);
   std::vector<Linear_Expression> y_les(2*n, y_le);
   std::vector<Linear_Expression> z_les(2*n + 1, z_le);
 
@@ -178,26 +159,26 @@ fill_constraint_systems_MS(const Constraint_System& cs,
   dimension_type z = z_begin;
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i) {
-    Variable vy(y);
-    Variable vz(z);
+    Variable v_y(y);
+    Variable v_z(z);
     ++y;
     ++z;
-    cs_out1.insert(vy >= 0);
-    cs_out2.insert(vz >= 0);
+    cs_out1.insert(v_y >= 0);
+    cs_out2.insert(v_z >= 0);
     const Constraint& c_i = *i;
     Coefficient_traits::const_reference b_i = c_i.inhomogeneous_term();
     if (b_i != 0) {
       // Note that b_i is to the left ot the relation sign, hence here
       // we have -= and not += just to avoid negating b_i.
-      sub_mul_assign(y_le, b_i, vy);
-      sub_mul_assign(z_le, b_i, vz);
+      sub_mul_assign(y_le, b_i, v_y);
+      sub_mul_assign(z_le, b_i, v_z);
     }
-    for (dimension_type j = 2*n; j-- > 0; ) {
-      Coefficient_traits::const_reference a_i_j = c_i.coefficient(Variable(j));
-      if (a_i_j != 0) {
-        add_mul_assign(y_les[j], a_i_j, vy);
-        add_mul_assign(z_les[j], a_i_j, vz);
-      }
+    for (Constraint::Expression::const_iterator j = c_i.expression().begin(),
+          j_end = c_i.expression().end(); j != j_end; ++j) {
+      Coefficient_traits::const_reference a_i_j = *j;
+      const Variable v = j.variable();
+      add_mul_assign(y_les[v.id()], a_i_j, v_y);
+      add_mul_assign(z_les[v.id()], a_i_j, v_z);
     }
   }
   z_le += Variable(z);
@@ -363,13 +344,13 @@ fill_constraint_system_PR(const Constraint_System& cs_before,
   PPL_ASSERT(cs_after.space_dimension() % 2 == 0);
   PPL_ASSERT(2*cs_before.space_dimension() == cs_after.space_dimension());
   const dimension_type n = cs_before.space_dimension();
-  const dimension_type r = distance(cs_before.begin(), cs_before.end());
-  const dimension_type s = distance(cs_after.begin(), cs_after.end());
+  const dimension_type r = num_constraints(cs_before);
+  const dimension_type s = num_constraints(cs_after);
   const dimension_type m = r + s;
 
   // Make sure linear expressions are not reallocated multiple times.
   if (m > 0)
-    le_out = 0 * Variable(m + r - 1);
+    le_out.set_space_dimension(m + r);
   std::vector<Linear_Expression> les_eq(2*n, le_out);
 
   dimension_type row_index = 0;
@@ -379,18 +360,18 @@ fill_constraint_system_PR(const Constraint_System& cs_before,
        ++i, ++row_index) {
     Variable u1_i(m + row_index);
     Variable u2_i(s + row_index);
-    const Constraint& c_i = *i;
-    for (dimension_type j = n; j-- > 0; ) {
-      Coefficient_traits::const_reference A_ij_B = c_i.coefficient(Variable(j));
-      if (A_ij_B != 0) {
-        // (u1 - u2) A_B, in the context of j-th constraint.
-        add_mul_assign(les_eq[j], A_ij_B, u1_i);
-        sub_mul_assign(les_eq[j], A_ij_B, u2_i);
-        // u2 A_B, in the context of (j+n)-th constraint.
-        add_mul_assign(les_eq[j + n], A_ij_B, u2_i);
-      }
+    const Constraint::Expression& e_i = i->expression();
+    for (Constraint::Expression::const_iterator
+           j = e_i.begin(), j_end = e_i.end(); j != j_end; ++j) {
+      Coefficient_traits::const_reference A_ij_B = *j;
+      const Variable v = j.variable();
+      // (u1 - u2) A_B, in the context of j-th constraint.
+      add_mul_assign(les_eq[v.id()], A_ij_B, u1_i);
+      sub_mul_assign(les_eq[v.id()], A_ij_B, u2_i);
+      // u2 A_B, in the context of (j+n)-th constraint.
+      add_mul_assign(les_eq[v.id() + n], A_ij_B, u2_i);
     }
-    Coefficient_traits::const_reference b_B = c_i.inhomogeneous_term();
+    Coefficient_traits::const_reference b_B = e_i.inhomogeneous_term();
     if (b_B != 0)
       // u2 b_B, in the context of the strict inequality constraint.
       add_mul_assign(le_out, b_B, u2_i);
@@ -402,23 +383,24 @@ fill_constraint_system_PR(const Constraint_System& cs_before,
        i != cs_after_end;
        ++i, ++row_index) {
     Variable u3_i(row_index);
-    const Constraint& c_i = *i;
-    for (dimension_type j = n; j-- > 0; ) {
-      Coefficient_traits::const_reference
-        A_ij_C = c_i.coefficient(Variable(j + n));
-      if (A_ij_C != 0) {
-        // - u3 A_C, in the context of the j-th constraint.
-        sub_mul_assign(les_eq[j], A_ij_C, u3_i);
-        // u3 A_C, in the context of the (j+n)-th constraint.
-        add_mul_assign(les_eq[j+n], A_ij_C, u3_i);
-      }
-      Coefficient_traits::const_reference
-        Ap_ij_C = c_i.coefficient(Variable(j));
-      if (Ap_ij_C != 0)
-        // u3 Ap_C, in the context of the (j+n)-th constraint.
-        add_mul_assign(les_eq[j+n], Ap_ij_C, u3_i);
+    const Constraint::Expression& e_i = i->expression();
+    for (Constraint::Expression::const_iterator
+           i = e_i.lower_bound(Variable(n)),
+           i_end = e_i.end(); i != i_end; ++i) {
+      Coefficient_traits::const_reference A_ij_C = *i;
+      const Variable v = i.variable();
+      // - u3 A_C, in the context of the j-th constraint.
+      sub_mul_assign(les_eq[v.id() - n], A_ij_C, u3_i);
+      // u3 A_C, in the context of the (j+n)-th constraint.
+      add_mul_assign(les_eq[v.id()], A_ij_C, u3_i);
     }
-    Coefficient_traits::const_reference b_C = c_i.inhomogeneous_term();
+    for (Constraint::Expression::const_iterator i = e_i.begin(),
+           i_end = e_i.lower_bound(Variable(n)); i != i_end; ++i) {
+      Coefficient_traits::const_reference Ap_ij_C = *i;
+      // u3 Ap_C, in the context of the (j+n)-th constraint.
+      add_mul_assign(les_eq[i.variable().id() + n], Ap_ij_C, u3_i);
+    }
+    Coefficient_traits::const_reference b_C = e_i.inhomogeneous_term();
     if (b_C != 0)
       // u3 b_C, in the context of the strict inequality constraint.
       add_mul_assign(le_out, b_C, u3_i);
@@ -428,9 +410,7 @@ fill_constraint_system_PR(const Constraint_System& cs_before,
   for (dimension_type i = s + 2*r; i-- > 0; )
     cs_out.insert(Variable(i) >= 0);
 
-  // FIXME: iterate backwards once the debugging phase is over.
-  //for (dimension_type j = 2*n; j-- > 0; )
-  for (dimension_type j = 0; j < 2*n; ++j)
+  for (dimension_type j = 2*n; j-- > 0; )
     cs_out.insert(les_eq[j] == 0);
 }
 
@@ -440,37 +420,40 @@ fill_constraint_system_PR_original(const Constraint_System& cs,
                                    Linear_Expression& le_out) {
   PPL_ASSERT(cs.space_dimension() % 2 == 0);
   const dimension_type n = cs.space_dimension() / 2;
-  const dimension_type m = distance(cs.begin(), cs.end());
+  const dimension_type m = num_constraints(cs);
 
   // Make sure linear expressions are not reallocated multiple times.
   if (m > 0)
-    le_out = 0 * Variable(2*m - 1);
+    le_out.set_space_dimension(2*m);
   std::vector<Linear_Expression> les_eq(3*n, le_out);
 
   dimension_type row_index = 0;
   for (Constraint_System::const_iterator i = cs.begin(),
 	 cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
-    const Constraint& c_i = *i;
+    const Constraint::Expression& e_i = i->expression();
     const Variable lambda1_i(row_index);
     const Variable lambda2_i(m + row_index);
-    for (dimension_type j = n; j-- > 0; ) {
-      Coefficient_traits::const_reference Ap_ij = c_i.coefficient(Variable(j));
-      if (Ap_ij != 0) {
-        // lambda_1 A'
-        add_mul_assign(les_eq[j], Ap_ij, lambda1_i);
-        // lambda_2 A'
-        add_mul_assign(les_eq[j+n+n], Ap_ij, lambda2_i);
-      }
-      Coefficient_traits::const_reference A_ij = c_i.coefficient(Variable(j+n));
-      if (A_ij != 0) {
-        // (lambda_1 - lambda_2) A
-        add_mul_assign(les_eq[j+n], A_ij, lambda1_i);
-        sub_mul_assign(les_eq[j+n], A_ij, lambda2_i);
-        // lambda_2 A
-        add_mul_assign(les_eq[j+n+n], A_ij, lambda2_i);
-      }
+    for (Constraint::Expression::const_iterator i = e_i.begin(),
+          i_end = e_i.lower_bound(Variable(n)); i != i_end; ++i) {
+      Coefficient_traits::const_reference Ap_ij = *i;
+      const Variable v = i.variable();
+      // lambda_1 A'
+      add_mul_assign(les_eq[v.id()], Ap_ij, lambda1_i);
+      // lambda_2 A'
+      add_mul_assign(les_eq[v.id()+n+n], Ap_ij, lambda2_i);
     }
-    Coefficient_traits::const_reference b = c_i.inhomogeneous_term();
+    for (Constraint::Expression::const_iterator
+           i = e_i.lower_bound(Variable(n)),
+           i_end = e_i.end(); i != i_end; ++i) {
+      Coefficient_traits::const_reference A_ij = *i;
+      const Variable v = i.variable();
+      // (lambda_1 - lambda_2) A
+      add_mul_assign(les_eq[v.id()], A_ij, lambda1_i);
+      sub_mul_assign(les_eq[v.id()], A_ij, lambda2_i);
+      // lambda_2 A
+      add_mul_assign(les_eq[v.id()+n], A_ij, lambda2_i);
+    }
+    Coefficient_traits::const_reference b = e_i.inhomogeneous_term();
     if (b != 0)
       // lambda2 b
       add_mul_assign(le_out, b, lambda2_i);
@@ -480,9 +463,7 @@ fill_constraint_system_PR_original(const Constraint_System& cs,
   for (dimension_type i = 2*m; i-- > 0; )
     cs_out.insert(Variable(i) >= 0);
 
-  // FIXME: iterate backwards once the debugging phase is over.
-  //for (dimension_type j = 3*n; j-- > 0; )
-  for (dimension_type j = 0; j < 3*n; ++j)
+  for (dimension_type j = 3*n; j-- > 0; )
     cs_out.insert(les_eq[j] == 0);
 }
 
@@ -506,12 +487,8 @@ one_affine_ranking_function_MS(const Constraint_System& cs, Generator& mu) {
 
   Generator fp = mip.feasible_point();
   PPL_ASSERT(fp.is_point());
-  Linear_Expression le;
   const dimension_type n = cs.space_dimension() / 2;
-  for (dimension_type i = n+1; i-- > 0; ) {
-    Variable vi(i);
-    add_mul_assign(le, fp.coefficient(vi), vi);
-  }
+  Linear_Expression le(fp.expression(), n + 1);
   mu = point(le, fp.divisor());
   return true;
 }
@@ -536,7 +513,7 @@ all_affine_ranking_functions_MS(const Constraint_System& cs,
   Variable::set_output_function(output_function_MS);
 
   output_function_MS_n = n;
-  output_function_MS_m = std::distance(cs.begin(), cs.end());
+  output_function_MS_m = num_constraints(cs);
 
   std::cout << "*** ph1 projected ***" << std::endl;
   output_function_MS_which = 4;
@@ -557,7 +534,7 @@ all_affine_ranking_functions_MS(const Constraint_System& cs,
   Variable::set_output_function(p_default_output_function);
 #endif
 
-  mu_space.swap(ph1);
+  mu_space.m_swap(ph1);
 }
 
 void
@@ -581,7 +558,7 @@ all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
   Variable::set_output_function(output_function_MS);
 
   output_function_MS_n = n;
-  output_function_MS_m = std::distance(cs.begin(), cs.end());
+  output_function_MS_m = num_constraints(cs);
 
   std::cout << "*** ph1 projected ***" << std::endl;
   output_function_MS_which = 4;
@@ -594,8 +571,8 @@ all_affine_quasi_ranking_functions_MS(const Constraint_System& cs,
   Variable::set_output_function(p_default_output_function);
 #endif
 
-  decreasing_mu_space.swap(ph1);
-  bounded_mu_space.swap(ph2);
+  decreasing_mu_space.m_swap(ph1);
+  bounded_mu_space.m_swap(ph2);
 }
 
 bool
@@ -625,8 +602,8 @@ termination_test_PR(const Constraint_System& cs_before,
     = Variable::get_output_function();
   Variable::set_output_function(output_function_PR);
 
-  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
-  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+  output_function_PR_r = num_constraints(cs_before);
+  output_function_PR_s = num_constraints(cs_after);
 
   std::cout << "*** cs_mip ***" << std::endl;
   using namespace IO_Operators;
@@ -648,17 +625,51 @@ bool
 one_affine_ranking_function_PR(const Constraint_System& cs_before,
 			       const Constraint_System& cs_after,
 			       Generator& mu) {
+  return Termination_Helpers
+    ::one_affine_ranking_function_PR(cs_before, cs_after, mu);
+}
+
+bool
+one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                        Generator& mu) {
+  return Termination_Helpers::one_affine_ranking_function_PR_original(cs, mu);
+}
+
+void
+all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+				const Constraint_System& cs_after,
+				NNC_Polyhedron& mu_space) {
+  Termination_Helpers::all_affine_ranking_functions_PR(cs_before, cs_after,
+                                                       mu_space);
+}
+
+void
+all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                         NNC_Polyhedron& mu_space) {
+  Termination_Helpers::all_affine_ranking_functions_PR_original(cs, mu_space);
+}
+
+} // namespace Termination
+
+} // namespace Implementation
+
+bool
+Termination_Helpers
+::one_affine_ranking_function_PR(const Constraint_System& cs_before,
+                                 const Constraint_System& cs_after,
+                                 Generator& mu) {
   Constraint_System cs_mip;
   Linear_Expression le_ineq;
-  fill_constraint_system_PR(cs_before, cs_after, cs_mip, le_ineq);
+  Parma_Polyhedra_Library::Implementation::Termination
+    ::fill_constraint_system_PR(cs_before, cs_after, cs_mip, le_ineq);
 
 #if PRINT_DEBUG_INFO
   Variable::output_function_type* p_default_output_function
     = Variable::get_output_function();
   Variable::set_output_function(output_function_PR);
 
-  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
-  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+  output_function_PR_r = num_constraints(cs_before);
+  output_function_PR_s = num_constraints(cs_after);
 
   std::cout << "*** cs_mip ***" << std::endl;
   using namespace IO_Operators;
@@ -676,29 +687,24 @@ one_affine_ranking_function_PR(const Constraint_System& cs_before,
   if (!mip.is_satisfiable())
     return false;
 
-  Generator fp = mip.feasible_point();
+  const Generator& fp = mip.feasible_point();
   PPL_ASSERT(fp.is_point());
 
   // u_3 corresponds to space dimensions 0, ..., s - 1.
   const dimension_type n = cs_before.space_dimension();
+  // mu_0 is zero: properly set space dimension.
   Linear_Expression le;
-  // mu_0 is zero: do this first to avoid reallocations.
-  le += 0*Variable(n);
+  le.set_space_dimension(1 + n);
   // Multiply u_3 by E'_C to obtain mu_1, ..., mu_n.
   dimension_type row_index = 0;
-  PPL_DIRTY_TEMP_COEFFICIENT(k);
   for (Constraint_System::const_iterator i = cs_after.begin(),
          cs_after_end = cs_after.end();
        i != cs_after_end;
        ++i, ++row_index) {
-    Variable vi(row_index);
-    Coefficient_traits::const_reference fp_i = fp.coefficient(vi);
-    const Constraint& c_i = *i;
-    for (dimension_type j = n; j-- > 0; ) {
-      Variable vj(j);
-      k = fp_i * c_i.coefficient(vj);
-      sub_mul_assign(le, k, vj);
-    }
+    Coefficient_traits::const_reference
+      fp_i = fp.coefficient(Variable(row_index));
+    if (fp_i != 0)
+      le.linear_combine(i->expr, 1, -fp_i, 1, n + 1);
   }
   // Note that we can neglect the divisor of `fp' since it is positive.
   mu = point(le);
@@ -706,15 +712,17 @@ one_affine_ranking_function_PR(const Constraint_System& cs_before,
 }
 
 bool
-one_affine_ranking_function_PR_original(const Constraint_System& cs,
-                                        Generator& mu) {
+Termination_Helpers
+::one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                          Generator& mu) {
   PPL_ASSERT(cs.space_dimension() % 2 == 0);
   const dimension_type n = cs.space_dimension() / 2;
-  const dimension_type m = std::distance(cs.begin(), cs.end());
+  const dimension_type m = Implementation::num_constraints(cs);
 
   Constraint_System cs_mip;
   Linear_Expression le_ineq;
-  fill_constraint_system_PR_original(cs, cs_mip, le_ineq);
+  Parma_Polyhedra_Library::Implementation::Termination
+    ::fill_constraint_system_PR_original(cs, cs_mip, le_ineq);
 
 #if PRINT_DEBUG_INFO
   std::cout << "*** cs_mip ***" << std::endl;
@@ -731,28 +739,20 @@ one_affine_ranking_function_PR_original(const Constraint_System& cs,
   if (!mip.is_satisfiable())
     return false;
 
-  Generator fp = mip.feasible_point();
+  const Generator& fp = mip.feasible_point();
   PPL_ASSERT(fp.is_point());
+  // mu_0 is zero: properly set space dimension.
   Linear_Expression le;
-  // mu_0 is zero: do this first to avoid reallocations.
-  le += 0*Variable(n);
+  le.set_space_dimension(1 + n);
   // Multiply -lambda_2 by A' to obtain mu_1, ..., mu_n.
   // lambda_2 corresponds to space dimensions m, ..., 2*m - 1.
   dimension_type row_index = m;
-  PPL_DIRTY_TEMP_COEFFICIENT(k);
   for (Constraint_System::const_iterator i = cs.begin(),
          cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
     Variable lambda_2(row_index);
     Coefficient_traits::const_reference fp_i = fp.coefficient(lambda_2);
-    if (fp_i != 0) {
-      const Constraint& c_i = *i;
-      for (dimension_type j = n; j-- > 0; ) {
-        Variable vj(j);
-        Coefficient_traits::const_reference Ap_ij = c_i.coefficient(vj);
-        k = fp_i * Ap_ij;
-        sub_mul_assign(le, k, vj);
-      }
-    }
+    if (fp_i != 0)
+      le.linear_combine(i->expr, 1, -fp_i, 1, n + 1);
   }
   // Note that we can neglect the divisor of `fp' since it is positive.
   mu = point(le);
@@ -760,20 +760,22 @@ one_affine_ranking_function_PR_original(const Constraint_System& cs,
 }
 
 void
-all_affine_ranking_functions_PR(const Constraint_System& cs_before,
-				const Constraint_System& cs_after,
-				NNC_Polyhedron& mu_space) {
+Termination_Helpers
+::all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+                                  const Constraint_System& cs_after,
+                                  NNC_Polyhedron& mu_space) {
   Constraint_System cs_eqs;
   Linear_Expression le_ineq;
-  fill_constraint_system_PR(cs_before, cs_after, cs_eqs, le_ineq);
+  Parma_Polyhedra_Library::Implementation::Termination
+    ::fill_constraint_system_PR(cs_before, cs_after, cs_eqs, le_ineq);
 
 #if PRINT_DEBUG_INFO
   Variable::output_function_type* p_default_output_function
     = Variable::get_output_function();
   Variable::set_output_function(output_function_PR);
 
-  output_function_PR_r = distance(cs_before.begin(), cs_before.end());
-  output_function_PR_s = distance(cs_after.begin(), cs_after.end());
+  output_function_PR_r = num_constraints(cs_before);
+  output_function_PR_s = num_constraints(cs_after);
 
   std::cout << "*** cs_eqs ***" << std::endl;
   using namespace IO_Operators;
@@ -785,7 +787,7 @@ all_affine_ranking_functions_PR(const Constraint_System& cs_before,
   NNC_Polyhedron ph(cs_eqs);
   ph.add_constraint(le_ineq < 0);
   // u_3 corresponds to space dimensions 0, ..., s - 1.
-  const dimension_type s = distance(cs_after.begin(), cs_after.end());
+  const dimension_type s = Implementation::num_constraints(cs_after);
   ph.remove_higher_space_dimensions(s);
 
 #if PRINT_DEBUG_INFO
@@ -808,41 +810,35 @@ all_affine_ranking_functions_PR(const Constraint_System& cs_before,
     for ( ; gs_in_it != gs_in_end; ++gs_in_it) {
       const Generator& g = *gs_in_it;
       Linear_Expression le;
+      le.set_space_dimension(n);
       // Set le to the multiplication of Linear_Expression(g) by E'_C.
       dimension_type row_index = 0;
-      PPL_DIRTY_TEMP_COEFFICIENT(k);
       for (Constraint_System::const_iterator i = cs_after.begin(),
-	     cs_after_end = cs_after.end();
-	   i != cs_after_end;
-	   ++i, ++row_index) {
-	Variable vi(row_index);
-	Coefficient_traits::const_reference g_i = g.coefficient(vi);
-	if (g_i != 0) {
-	  const Constraint& c_i = *i;
-	  for (dimension_type j = n; j-- > 0; ) {
-	    Variable vj(j);
-	    k = g_i * c_i.coefficient(vj);
-	    sub_mul_assign(le, k, vj);
-	  }
-	}
+             cs_after_end = cs_after.end();
+           i != cs_after_end;
+           ++i, ++row_index) {
+        Coefficient_traits::const_reference
+          g_i = g.coefficient(Variable(row_index));
+        if (g_i != 0)
+          le.linear_combine(i->expr, 1, -g_i, 1, n + 1);
       }
 
       // Add to gs_out the transformed generator.
       switch (g.type()) {
       case Generator::LINE:
-	if (!le.all_homogeneous_terms_are_zero())
-	  gs_out.insert(line(le));
-	break;
+        if (!le.all_homogeneous_terms_are_zero())
+          gs_out.insert(line(le));
+        break;
       case Generator::RAY:
-	if (!le.all_homogeneous_terms_are_zero())
-	  gs_out.insert(ray(le));
-	break;
+        if (!le.all_homogeneous_terms_are_zero())
+          gs_out.insert(ray(le));
+        break;
       case Generator::POINT:
-	gs_out.insert(point(le, g.divisor()));
-	break;
+        gs_out.insert(point(le, g.divisor()));
+        break;
       case Generator::CLOSURE_POINT:
-	gs_out.insert(closure_point(le, g.divisor()));
-	break;
+        gs_out.insert(closure_point(le, g.divisor()));
+        break;
       }
     }
 
@@ -853,11 +849,12 @@ all_affine_ranking_functions_PR(const Constraint_System& cs_before,
 }
 
 void
-all_affine_ranking_functions_PR_original(const Constraint_System& cs,
-                                         NNC_Polyhedron& mu_space) {
+Termination_Helpers
+::all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                           NNC_Polyhedron& mu_space) {
   PPL_ASSERT(cs.space_dimension() % 2 == 0);
   const dimension_type n = cs.space_dimension() / 2;
-  const dimension_type m = distance(cs.begin(), cs.end());
+  const dimension_type m = Implementation::num_constraints(cs);
 
   if (m == 0) {
     // If there are no constraints at all, we have non-termination,
@@ -868,14 +865,14 @@ all_affine_ranking_functions_PR_original(const Constraint_System& cs,
 
   Constraint_System cs_eqs;
   Linear_Expression le_ineq;
-  fill_constraint_system_PR_original(cs, cs_eqs, le_ineq);
+  Parma_Polyhedra_Library::Implementation::Termination
+    ::fill_constraint_system_PR_original(cs, cs_eqs, le_ineq);
 
   NNC_Polyhedron ph(cs_eqs);
   ph.add_constraint(le_ineq < 0);
   // lambda_2 corresponds to space dimensions m, ..., 2*m-1.
   Variables_Set lambda1(Variable(0), Variable(m-1));
   ph.remove_space_dimensions(lambda1);
-  //ph.remove_higher_space_dimensions(m);
 
 #if PRINT_DEBUG_INFO
   std::cout << "*** ph ***" << std::endl;
@@ -885,50 +882,43 @@ all_affine_ranking_functions_PR_original(const Constraint_System& cs,
 #endif
 
   const Generator_System& gs_in = ph.generators();
-  Generator_System gs_out;
   Generator_System::const_iterator gs_in_it = gs_in.begin();
   Generator_System::const_iterator gs_in_end = gs_in.end();
   if (gs_in_it == gs_in_end)
     // The system is unsatisfiable.
     mu_space = NNC_Polyhedron(n + 1, EMPTY);
   else {
+    Generator_System gs_out;
     for ( ; gs_in_it != gs_in_end; ++gs_in_it) {
       const Generator& g = *gs_in_it;
       Linear_Expression le;
+      le.set_space_dimension(n);
       // Set le to the multiplication of Linear_Expression(g) by E'_C.
       dimension_type row_index = 0;
-      PPL_DIRTY_TEMP_COEFFICIENT(k);
       for (Constraint_System::const_iterator i = cs.begin(),
-	     cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
-	Variable lambda2_i(row_index);
-	Coefficient_traits::const_reference g_i = g.coefficient(lambda2_i);
-	if (g_i != 0) {
-	  const Constraint& c_i = *i;
-	  for (dimension_type j = n; j-- > 0; ) {
-	    Variable vj(j);
-	    Coefficient_traits::const_reference Ap_ij = c_i.coefficient(vj);
-	    k = g_i * Ap_ij;
-	    sub_mul_assign(le, k, vj);
-	  }
-	}
+             cs_end = cs.end(); i != cs_end; ++i, ++row_index) {
+        Variable lambda2_i(row_index);
+        Coefficient_traits::const_reference g_i = g.coefficient(lambda2_i);
+        if (g_i != 0)
+          le.linear_combine(i->expr, 1, -g_i, 1, n + 1);
       }
 
       // Add to gs_out the transformed generator.
       switch (g.type()) {
       case Generator::LINE:
-	if (!le.all_homogeneous_terms_are_zero())
-	  gs_out.insert(line(le));
-	break;
+        if (!le.all_homogeneous_terms_are_zero())
+          gs_out.insert(line(le));
+        break;
       case Generator::RAY:
-	if (!le.all_homogeneous_terms_are_zero())
-	  gs_out.insert(ray(le));
-	break;
+        if (!le.all_homogeneous_terms_are_zero())
+          gs_out.insert(ray(le));
+        break;
       case Generator::POINT:
-	gs_out.insert(point(le, g.divisor()));
-	break;
+        gs_out.insert(point(le, g.divisor()));
+        break;
       case Generator::CLOSURE_POINT:
-	gs_out.insert(closure_point(le, g.divisor()));
-	break;
+        gs_out.insert(closure_point(le, g.divisor()));
+        break;
       }
     }
 
@@ -938,8 +928,4 @@ all_affine_ranking_functions_PR_original(const Constraint_System& cs,
   }
 }
 
-} // namespace Termination
-
-} // namespace Implementation
-
 } // namespace Parma_Polyhedra_Library
diff --git a/src/termination.defs.hh b/src/termination.defs.hh
index 2d05830..f8151ee 100644
--- a/src/termination.defs.hh
+++ b/src/termination.defs.hh
@@ -1,6 +1,6 @@
 /* Utilities for termination analysis: declarations.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,18 +19,48 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_termination_defs_hh
 #define PPL_termination_defs_hh 1
 
+#include "termination.types.hh"
+
 #include "Generator.types.hh"
 #include "C_Polyhedron.types.hh"
 #include "NNC_Polyhedron.types.hh"
+#include "Constraint_System.types.hh"
 
 namespace Parma_Polyhedra_Library {
 
-/*! \brief
+class Termination_Helpers {
+public:
+  static void
+  all_affine_ranking_functions_PR(const Constraint_System& cs_before,
+                                  const Constraint_System& cs_after,
+                                  NNC_Polyhedron& mu_space);
+  static bool
+  one_affine_ranking_function_PR(const Constraint_System& cs_before,
+                                 const Constraint_System& cs_after,
+                                 Generator& mu);
+  static bool
+  one_affine_ranking_function_PR_original(const Constraint_System& cs,
+                                          Generator& mu);
+  static void
+  all_affine_ranking_functions_PR_original(const Constraint_System& cs,
+                                           NNC_Polyhedron& mu_space);
+
+  template <typename PSET>
+  static void
+  assign_all_inequalities_approximation(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        Constraint_System& cs);
+}; // class Termination_Helpers
+
+//! \name Functions for the Synthesis of Linear Rankings
+//@{
+
+/*! \brief \ingroup PPL_CXX_interface
   Termination test using an improvement of the method by Mesnard and
   Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -63,7 +93,7 @@ template <typename PSET>
 bool
 termination_test_MS(const PSET& pset);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Termination test using an improvement of the method by Mesnard and
   Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -105,7 +135,7 @@ template <typename PSET>
 bool
 termination_test_MS_2(const PSET& pset_before, const PSET& pset_after);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Termination test with witness ranking function using an improvement
   of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -147,7 +177,7 @@ template <typename PSET>
 bool
 one_affine_ranking_function_MS(const PSET& pset, Generator& mu);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Termination test with witness ranking function using an improvement
   of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -200,7 +230,7 @@ one_affine_ranking_function_MS_2(const PSET& pset_before,
 				 const PSET& pset_after,
 				 Generator& mu);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Termination test with ranking function space using an improvement
   of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -242,7 +272,7 @@ template <typename PSET>
 void
 all_affine_ranking_functions_MS(const PSET& pset, C_Polyhedron& mu_space);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Termination test with ranking function space using an improvement
   of the method by Mesnard and Serebrenik \ref BMPZ10 "[BMPZ10]".
 
@@ -295,7 +325,7 @@ all_affine_ranking_functions_MS_2(const PSET& pset_before,
 				  const PSET& pset_after,
 				  C_Polyhedron& mu_space);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Computes the spaces of affine \e quasi ranking functions
   using an improvement of the method by Mesnard and Serebrenik
   \ref BMPZ10 "[BMPZ10]".
@@ -347,7 +377,7 @@ all_affine_quasi_ranking_functions_MS(const PSET& pset,
                                       C_Polyhedron& decreasing_mu_space,
                                       C_Polyhedron& bounded_mu_space);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Computes the spaces of affine \e quasi ranking functions
   using an improvement of the method by Mesnard and Serebrenik
   \ref BMPZ10 "[BMPZ10]".
@@ -409,7 +439,7 @@ all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
                                         C_Polyhedron& decreasing_mu_space,
                                         C_Polyhedron& bounded_mu_space);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like termination_test_MS() but using the method by Podelski and
   Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
@@ -417,7 +447,7 @@ template <typename PSET>
 bool
 termination_test_PR(const PSET& pset);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like termination_test_MS_2() but using an alternative formalization
   of the method by Podelski and Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
@@ -425,7 +455,7 @@ template <typename PSET>
 bool
 termination_test_PR_2(const PSET& pset_before, const PSET& pset_after);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like one_affine_ranking_function_MS() but using the method by Podelski
   and Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
@@ -433,7 +463,7 @@ template <typename PSET>
 bool
 one_affine_ranking_function_PR(const PSET& pset, Generator& mu);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like one_affine_ranking_function_MS_2() but using an alternative
   formalization of the method by Podelski and Rybalchenko
   \ref BMPZ10 "[BMPZ10]".
@@ -444,7 +474,7 @@ one_affine_ranking_function_PR_2(const PSET& pset_before,
 				 const PSET& pset_after,
 				 Generator& mu);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like all_affine_ranking_functions_MS() but using the method by Podelski
   and Rybalchenko \ref BMPZ10 "[BMPZ10]".
 */
@@ -452,7 +482,7 @@ template <typename PSET>
 void
 all_affine_ranking_functions_PR(const PSET& pset, NNC_Polyhedron& mu_space);
 
-/*! \brief
+/*! \brief \ingroup PPL_CXX_interface
   Like all_affine_ranking_functions_MS_2() but using an alternative
   formalization of the method by Podelski and Rybalchenko
   \ref BMPZ10 "[BMPZ10]".
@@ -463,6 +493,8 @@ all_affine_ranking_functions_PR_2(const PSET& pset_before,
 				  const PSET& pset_after,
 				  NNC_Polyhedron& mu_space);
 
+//@} // Functions for the Synthesis of Linear Rankings
+
 } // namespace Parma_Polyhedra_Library
 
 #include "termination.templates.hh"
diff --git a/src/termination.templates.hh b/src/termination.templates.hh
index 1a47e3f..9038218 100644
--- a/src/termination.templates.hh
+++ b/src/termination.templates.hh
@@ -1,6 +1,6 @@
 /* Utilities for termination analysis: template functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_termination_templates_hh
 #define PPL_termination_templates_hh 1
@@ -61,11 +61,11 @@ static dimension_type output_function_MS_m;
 static int output_function_MS_which = -1;
 
 /*
-  Debuggin output function.  See the documentation of
+  Debugging output function.  See the documentation of
   fill_constraint_systems_MS() for the allocation of variable indices.
 */
 inline void
-output_function_MS(std::ostream& s, const Variable& v) {
+output_function_MS(std::ostream& s, const Variable v) {
   dimension_type id = v.id();
   switch (output_function_MS_which) {
   case 0:
@@ -120,11 +120,11 @@ static dimension_type output_function_PR_s;
 static dimension_type output_function_PR_r;
 
 /*
-  Debuggin output function.  See the documentation of
+  Debugging output function.  See the documentation of
   fill_constraint_system_PR() for the allocation of variable indices.
 */
 inline void
-output_function_PR(std::ostream& s, const Variable& v) {
+output_function_PR(std::ostream& s, const Variable v) {
   dimension_type id = v.id();
   if (id < output_function_PR_s)
     s << "u3_" << id + 1;
@@ -153,24 +153,6 @@ void
 assign_all_inequalities_approximation(const C_Polyhedron& ph,
 				      Constraint_System& cs);
 
-void
-shift_unprimed_variables(Constraint_System& cs);
-
-template <typename PSET>
-void
-assign_all_inequalities_approximation(const PSET& pset_before,
-				      const PSET& pset_after,
-				      Constraint_System& cs) {
-  assign_all_inequalities_approximation(pset_before, cs);
-  shift_unprimed_variables(cs);
-  Constraint_System cs_after;
-  assign_all_inequalities_approximation(pset_after, cs_after);
-  // FIXME: provide an "append" for constraint systems.
-  for (Constraint_System::const_iterator i = cs_after.begin(),
-	 cs_after_end = cs_after.end(); i != cs_after_end; ++i)
-    cs.insert(*i);
-}
-
 bool
 termination_test_MS(const Constraint_System& cs);
 
@@ -217,6 +199,24 @@ all_affine_ranking_functions_PR_original(const Constraint_System& cs,
 } // namespace Implementation
 
 template <typename PSET>
+void
+Termination_Helpers
+::assign_all_inequalities_approximation(const PSET& pset_before,
+                                        const PSET& pset_after,
+                                        Constraint_System& cs) {
+  Implementation::Termination
+    ::assign_all_inequalities_approximation(pset_before, cs);
+  cs.shift_space_dimensions(Variable(0), cs.space_dimension());
+  Constraint_System cs_after;
+  Implementation::Termination
+    ::assign_all_inequalities_approximation(pset_after, cs_after);
+  // FIXME: provide an "append" for constraint systems.
+  for (Constraint_System::const_iterator i = cs_after.begin(),
+         cs_after_end = cs_after.end(); i != cs_after_end; ++i)
+    cs.insert(*i);
+}
+
+template <typename PSET>
 bool
 termination_test_MS(const PSET& pset) {
   const dimension_type space_dim = pset.space_dimension();
@@ -250,7 +250,8 @@ termination_test_MS_2(const PSET& pset_before, const PSET& pset_after) {
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
   return termination_test_MS(cs);
 }
 
@@ -290,7 +291,8 @@ one_affine_ranking_function_MS_2(const PSET& pset_before,
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
   return one_affine_ranking_function_MS(cs, mu);
 }
 
@@ -341,7 +343,8 @@ all_affine_ranking_functions_MS_2(const PSET& pset_before,
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
   all_affine_ranking_functions_MS(cs, mu_space);
 }
 
@@ -400,7 +403,8 @@ all_affine_quasi_ranking_functions_MS_2(const PSET& pset_before,
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_before, pset_after, cs);
+  Termination_Helpers
+    ::assign_all_inequalities_approximation(pset_before, pset_after, cs);
   all_affine_quasi_ranking_functions_MS(cs,
                                         decreasing_mu_space,
                                         bounded_mu_space);
@@ -430,8 +434,8 @@ termination_test_PR_2(const PSET& pset_before, const PSET& pset_after) {
 
 template <typename PSET>
 bool
-termination_test_PR(const PSET& pset_after) {
-  const dimension_type space_dim = pset_after.space_dimension();
+termination_test_PR(const PSET& pset) {
+  const dimension_type space_dim = pset.space_dimension();
   if (space_dim % 2 != 0) {
     std::ostringstream s;
     s << "PPL::termination_test_PR(pset):\n"
@@ -442,7 +446,7 @@ termination_test_PR(const PSET& pset_after) {
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
+  assign_all_inequalities_approximation(pset, cs);
   return termination_test_PR_original(cs);
 }
 
@@ -473,8 +477,8 @@ one_affine_ranking_function_PR_2(const PSET& pset_before,
 
 template <typename PSET>
 bool
-one_affine_ranking_function_PR(const PSET& pset_after, Generator& mu) {
-  const dimension_type space_dim = pset_after.space_dimension();
+one_affine_ranking_function_PR(const PSET& pset, Generator& mu) {
+  const dimension_type space_dim = pset.space_dimension();
   if (space_dim % 2 != 0) {
     std::ostringstream s;
     s << "PPL::one_affine_ranking_function_PR(pset, mu):\n"
@@ -485,7 +489,7 @@ one_affine_ranking_function_PR(const PSET& pset_after, Generator& mu) {
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
+  assign_all_inequalities_approximation(pset, cs);
   return one_affine_ranking_function_PR_original(cs, mu);
 }
 
@@ -521,9 +525,9 @@ all_affine_ranking_functions_PR_2(const PSET& pset_before,
 
 template <typename PSET>
 void
-all_affine_ranking_functions_PR(const PSET& pset_after,
+all_affine_ranking_functions_PR(const PSET& pset,
 				NNC_Polyhedron& mu_space) {
-  const dimension_type space_dim = pset_after.space_dimension();
+  const dimension_type space_dim = pset.space_dimension();
   if (space_dim % 2 != 0) {
     std::ostringstream s;
     s << "PPL::all_affine_ranking_functions_PR(pset, mu_space):\n"
@@ -532,14 +536,14 @@ all_affine_ranking_functions_PR(const PSET& pset_after,
     throw std::invalid_argument(s.str());
   }
 
-  if (pset_after.is_empty()) {
+  if (pset.is_empty()) {
     mu_space = NNC_Polyhedron(1 + space_dim/2);
     return;
   }
 
   using namespace Implementation::Termination;
   Constraint_System cs;
-  assign_all_inequalities_approximation(pset_after, cs);
+  assign_all_inequalities_approximation(pset, cs);
   all_affine_ranking_functions_PR_original(cs, mu_space);
 }
 
diff --git a/src/termination.types.hh b/src/termination.types.hh
new file mode 100644
index 0000000..a7d3685
--- /dev/null
+++ b/src/termination.types.hh
@@ -0,0 +1,22 @@
+/* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is free software; as a special exception the author gives
+unlimited permission to copy and/or distribute it, with or without
+modifications, as long as this notice is preserved.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
+implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+PURPOSE. */
+
+#ifndef PPL_termination_types_hh
+#define PPL_termination_types_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+class Termination_Helpers;
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_termination_types_hh)
diff --git a/src/version.cc b/src/version.cc
index 41577b8..fbfc395 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -1,6 +1,6 @@
 /* Definition of functions providing version and licensing information.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,9 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
-#include <ppl-config.h>
+#include "ppl-config.h"
 #include "version.hh"
 
 namespace PPL = Parma_Polyhedra_Library;
@@ -33,6 +33,7 @@ const char version_string[] = PPL_PACKAGE_VERSION;
 const char banner_string[] =
 "This is "PPL_PACKAGE_NAME" (PPL) version "PPL_PACKAGE_VERSION".\n"
 "Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>\n"
+"Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)\n"
 "\n"
 "The PPL is free software; see the source for copying conditions.\n"
 "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A\n"
@@ -54,24 +55,25 @@ const char banner_string[] =
 "\n"
 "Report bugs to "PPL_PACKAGE_BUGREPORT"."
 "  For the most up-to-date information\n"
-"see the Parma Polyhedra Library site: http://www.cs.unipr.it/ppl/ .\n"
+"see the Parma Polyhedra Library site: http://bugseng.com/products/ppl/ .\n"
 "\n"
 "Contributors:\n"
-"Roberto Bagnara, Patricia M. Hill, Enea Zaffanella, Elisa Ricci,\n"
-"Abramo Bagnara, Andrea Cimino, Katy Dobson, Elena Mazzi,\n"
-"Matthew Mundell, Barbara Quartieri, Enric Rodriguez Carbonell,\n"
-"Alessandro Zaccagnini,\n"
-"Irene Bacchi, Danilo Bonardi, Sara Bonini, Giordano Fracasso,\n"
-"Maximiliano Marchesi, David Merchat, Andrea Pescetti, Angela Stazzone,\n"
-"Fabio Trabucchi, Claudio Trento, Tatiana Zolo.\n"
+"Roberto Bagnara, Patricia M. Hill, Enea Zaffanella, Abramo Bagnara,\n"
+"Elisa Ricci, Andrea Cimino, Marco Poletti, Alessandro Zaccagnini,\n"
+"Roberto Amadini, Irene Bacchi, Fabio Biselli, Fabio Bossi,\n"
+"Danilo Bonardi, Sara Bonini, Katy Dobson, Giordano Fracasso,\n"
+"Francois Galea, Maximiliano Marchesi, Elena Mazzi, David Merchat,\n"
+"Matthew Mundell, Andrea Pescetti, Barbara Quartieri,\n"
+"Enric Rodriguez Carbonell, Angela Stazzone, Fabio Trabucchi,\n"
+"Claudio Trento, Tatiana Zolo.\n"
 "\n"
 "Special thanks to:\n"
 "Lucia Alessandrini, Frederic Besson, Tevfik Bultan, Manuel Carro,\n"
 "Marco Comini, Goran Frehse, Denis Gopan, Martin Guy, Bruno Haible,\n"
-"Bertrand Jeannet, Herve Le Verge, Francesco Logozzo, Costantino Medori,\n"
-"Fred Mesnard, Ken Mixter, Jose Morales, Sebastian Pop, Thomas Reps,\n"
-"Mooly Sagiv, Sriram Sankaranarayanan, Axel Simon, Fausto Spoto,\n"
-"Basile Starynkevitch, Pedro Vasconcelos, Ralf Wildenhues.";
+"Bertrand Jeannet, Herve Le Verge, Francesco Logozzo, Kenneth MacKenzie,\n"
+"Costantino Medori, Fred Mesnard, Ken Mixter, Jose Morales, Sebastian Pop,\n"
+"Thomas Reps, Mooly Sagiv, Sriram Sankaranarayanan, Axel Simon,\n"
+"Fausto Spoto, Basile Starynkevitch, Pedro Vasconcelos, Ralf Wildenhues.";
 
 } // namespace
 
diff --git a/src/version.hh.in b/src/version.hh.in
index 2c9834e..0c40ac2 100644
--- a/src/version.hh.in
+++ b/src/version.hh.in
@@ -1,7 +1,7 @@
 /* Declaration of macros and functions providing version  -*- C++ -*-
    and licensing information.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_version_hh
 #define PPL_version_hh 1
@@ -60,6 +60,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace Parma_Polyhedra_Library {
 
+//! \name Library Version Control Functions
+//@{
+
 //! Returns the major number of the PPL version.
 unsigned
 version_major();
@@ -88,6 +91,8 @@ const char* version();
 */
 const char* banner();
 
+//@} // Library Version Control Functions
+
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_version_hh)
diff --git a/src/wrap_assign.hh b/src/wrap_assign.hh
index cbddcd3..3703a57 100644
--- a/src/wrap_assign.hh
+++ b/src/wrap_assign.hh
@@ -1,6 +1,6 @@
 /* Generic implementation of the wrap_assign() function.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_wrap_assign_hh
 #define PPL_wrap_assign_hh 1
@@ -60,10 +60,9 @@ wrap_assign_ind(PSET& pointset,
                 Coefficient& tmp1,
                 Coefficient& tmp2) {
   const dimension_type space_dim = pointset.space_dimension();
-  const dimension_type cs_space_dim = cs.space_dimension();
   for (Wrap_Translations::const_iterator i = first; i != end; ++i) {
     const Wrap_Dim_Translations& wrap_dim_translations = *i;
-    const Variable& x = wrap_dim_translations.var;
+    const Variable x(wrap_dim_translations.var);
     const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
     const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
     Coefficient& quadrant = tmp1;
@@ -83,27 +82,17 @@ wrap_assign_ind(PSET& pointset,
       if (vars.empty())
         p.refine_with_constraints(cs);
       else {
-        Variables_Set::const_iterator vars_end = vars.end();
         for (Constraint_System::const_iterator j = cs.begin(),
-               cs_end = cs.end(); j != cs_end; ++j) {
-          const Constraint& c = *j;
-          for (dimension_type d = cs_space_dim; d-- > 0; ) {
-            if (c.coefficient(Variable(d)) != 0 && vars.find(d) != vars_end)
-              goto skip;
-          }
-          // If we are here it means `c' does not depend on variables
-          // in `vars'.
-          p.refine_with_constraint(c);
-
-        skip:
-          continue;
-        }
+               cs_end = cs.end(); j != cs_end; ++j)
+          if (j->expression().all_zeroes(vars))
+            // `*j' does not depend on variables in `vars'.
+            p.refine_with_constraint(*j);
       }
       p.refine_with_constraint(min_value <= x);
       p.refine_with_constraint(x <= max_value);
       hull.upper_bound_assign(p);
     }
-    pointset.swap(hull);
+    pointset.m_swap(hull);
   }
 }
 
@@ -117,15 +106,15 @@ wrap_assign_col(PSET& dest,
                 Bounded_Integer_Type_Width w,
                 Coefficient_traits::const_reference min_value,
                 Coefficient_traits::const_reference max_value,
-                const Constraint_System* pcs,
+                const Constraint_System* cs_p,
                 Coefficient& tmp) {
   if (first == end) {
     PSET p(src);
-    if (pcs != 0)
-      p.refine_with_constraints(*pcs);
+    if (cs_p != 0)
+      p.refine_with_constraints(*cs_p);
     for (Variables_Set::const_iterator i = vars.begin(),
-           vars_end = vars.end(); i != vars.end(); ++i) {
-      const Variable x = Variable(*i);
+           vars_end = vars.end(); i != vars_end; ++i) {
+      const Variable x(*i);
       p.refine_with_constraint(min_value <= x);
       p.refine_with_constraint(x <= max_value);
     }
@@ -133,7 +122,7 @@ wrap_assign_col(PSET& dest,
   }
   else {
     const Wrap_Dim_Translations& wrap_dim_translations = *first;
-    const Variable& x = wrap_dim_translations.var;
+    const Variable x(wrap_dim_translations.var);
     const Coefficient& first_quadrant = wrap_dim_translations.first_quadrant;
     const Coefficient& last_quadrant = wrap_dim_translations.last_quadrant;
     Coefficient& shift = tmp;
@@ -144,11 +133,11 @@ wrap_assign_col(PSET& dest,
         PSET p(src);
         p.affine_image(x, x - shift, 1);
         wrap_assign_col(dest, p, vars, first+1, end, w, min_value, max_value,
-                        pcs, tmp);
+                        cs_p, tmp);
       }
       else
         wrap_assign_col(dest, src, vars, first+1, end, w, min_value, max_value,
-                        pcs, tmp);
+                        cs_p, tmp);
     }
   }
 }
@@ -160,29 +149,29 @@ wrap_assign(PSET& pointset,
             const Bounded_Integer_Type_Width w,
             const Bounded_Integer_Type_Representation r,
             const Bounded_Integer_Type_Overflow o,
-            const Constraint_System* pcs,
+            const Constraint_System* cs_p,
             const unsigned complexity_threshold,
             const bool wrap_individually,
             const char* class_name) {
-  // We must have pcs->space_dimension() <= vars.space_dimension()
+  // We must have cs_p->space_dimension() <= vars.space_dimension()
   //         and  vars.space_dimension() <= pointset.space_dimension().
 
-  // Dimension-compatibility check of `*pcs', if any.
-  const dimension_type vars_space_dim = vars.space_dimension();
-  if (pcs != 0) {
-    if (pcs->space_dimension() > vars_space_dim) {
+  // Dimension-compatibility check of `*cs_p', if any.
+  if (cs_p != 0) {
+    const dimension_type vars_space_dim = vars.space_dimension();
+    if (cs_p->space_dimension() > vars_space_dim) {
       std::ostringstream s;
-      s << "PPL::" << class_name << "::wrap_assign(..., pcs, ...):"
+      s << "PPL::" << class_name << "::wrap_assign(..., cs_p, ...):"
         << std::endl
         << "vars.space_dimension() == " << vars_space_dim
-        << ", pcs->space_dimension() == " << pcs->space_dimension() << ".";
+        << ", cs_p->space_dimension() == " << cs_p->space_dimension() << ".";
       throw std::invalid_argument(s.str());
     }
 
 #ifndef NDEBUG
-    // Check that all variables upon which `*pcs' depends are in `vars'.
+    // Check that all variables upon which `*cs_p' depends are in `vars'.
     // An assertion is violated otherwise.
-    const Constraint_System cs = *pcs;
+    const Constraint_System cs = *cs_p;
     const dimension_type cs_space_dim = cs.space_dimension();
     Variables_Set::const_iterator vars_end = vars.end();
     for (Constraint_System::const_iterator i = cs.begin(),
@@ -190,16 +179,16 @@ wrap_assign(PSET& pointset,
       const Constraint& c = *i;
       for (dimension_type d = cs_space_dim; d-- > 0; ) {
         PPL_ASSERT(c.coefficient(Variable(d)) == 0
-               || vars.find(d) != vars_end);
+                   || vars.find(d) != vars_end);
       }
     }
 #endif
   }
 
-  // Wrapping no variable only requires refining with *pcs, if any.
+  // Wrapping no variable only requires refining with *cs_p, if any.
   if (vars.empty()) {
-    if (pcs != 0)
-      pointset.refine_with_constraints(*pcs);
+    if (cs_p != 0)
+      pointset.refine_with_constraints(*cs_p);
     return;
   }
 
@@ -239,7 +228,7 @@ wrap_assign(PSET& pointset,
   Wrap_Translations translations;
 
   // Dimensions subject to translation are added to this set if we are
-  // wrapping collectively or if `pcs' is non null.
+  // wrapping collectively or if `cs_p' is non null.
   Variables_Set dimensions_to_be_translated;
 
   // This will contain a lower bound to the number of abstractions
@@ -261,19 +250,19 @@ wrap_assign(PSET& pointset,
   // this delay does not negatively affect precision.
   Constraint_System full_range_bounds;
 
-  PPL_DIRTY_TEMP_COEFFICIENT(ln);
-  PPL_DIRTY_TEMP_COEFFICIENT(ld);
-  PPL_DIRTY_TEMP_COEFFICIENT(un);
-  PPL_DIRTY_TEMP_COEFFICIENT(ud);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
   for (Variables_Set::const_iterator i = vars.begin(),
          vars_end = vars.end(); i != vars_end; ++i) {
 
-    const Variable x = Variable(*i);
+    const Variable x(*i);
 
     bool extremum;
 
-    if (!pointset.minimize(x, ln, ld, extremum)) {
+    if (!pointset.minimize(x, l_n, l_d, extremum)) {
     set_full_range:
       pointset.unconstrain(x);
       full_range_bounds.insert(min_value <= x);
@@ -281,17 +270,17 @@ wrap_assign(PSET& pointset,
       continue;
     }
 
-    if (!pointset.maximize(x, un, ud, extremum))
+    if (!pointset.maximize(x, u_n, u_d, extremum))
       goto set_full_range;
 
-    div_assign_r(ln, ln, ld, ROUND_DOWN);
-    div_assign_r(un, un, ud, ROUND_DOWN);
-    ln -= min_value;
-    un -= min_value;
-    div_2exp_assign_r(ln, ln, w, ROUND_DOWN);
-    div_2exp_assign_r(un, un, w, ROUND_DOWN);
-    Coefficient& first_quadrant = ln;
-    Coefficient& last_quadrant = un;
+    div_assign_r(l_n, l_n, l_d, ROUND_DOWN);
+    div_assign_r(u_n, u_n, u_d, ROUND_DOWN);
+    l_n -= min_value;
+    u_n -= min_value;
+    div_2exp_assign_r(l_n, l_n, w, ROUND_DOWN);
+    div_2exp_assign_r(u_n, u_n, w, ROUND_DOWN);
+    Coefficient& first_quadrant = l_n;
+    Coefficient& last_quadrant = u_n;
 
     // Special case: this variable does not need wrapping.
     if (first_quadrant == 0 && last_quadrant == 0)
@@ -309,25 +298,27 @@ wrap_assign(PSET& pointset,
     if (o == OVERFLOW_UNDEFINED || collective_wrap_too_complex)
       goto set_full_range;
 
-    Coefficient& quadrants = ud;
+    Coefficient& quadrants = u_d;
     quadrants = last_quadrant - first_quadrant + 1;
 
-    unsigned extension;
+    PPL_UNINITIALIZED(unsigned, extension);
     Result res = assign_r(extension, quadrants, ROUND_IGNORE);
-    if (result_overflow(res) || extension > complexity_threshold)
+    if (result_overflow(res) != 0 || extension > complexity_threshold)
       goto set_full_range;
 
     if (!wrap_individually && !collective_wrap_too_complex) {
       res = mul_assign_r(collective_wrap_complexity,
                          collective_wrap_complexity, extension, ROUND_IGNORE);
-      if (result_overflow(res)
+      if (result_overflow(res) != 0
           || collective_wrap_complexity > complexity_threshold)
         collective_wrap_too_complex = true;
       if (collective_wrap_too_complex) {
         // Set all the dimensions in `translations' to full range.
         for (Wrap_Translations::const_iterator j = translations.begin(),
-               tend = translations.end(); j != tend; ++j) {
-          const Variable& y = j->var;
+               translations_end = translations.end();
+             j != translations_end;
+             ++j) {
+          const Variable y(j->var);
           pointset.unconstrain(y);
           full_range_bounds.insert(min_value <= y);
           full_range_bounds.insert(y <= max_value);
@@ -335,11 +326,11 @@ wrap_assign(PSET& pointset,
       }
     }
 
-    if (wrap_individually && pcs == 0) {
+    if (wrap_individually && cs_p == 0) {
       Coefficient& quadrant = first_quadrant;
       // Temporary variable holding the shifts to be applied in order
       // to implement the translations.
-      Coefficient& shift = ld;
+      Coefficient& shift = l_d;
       PSET hull(space_dim, EMPTY);
       for ( ; quadrant <= last_quadrant; ++quadrant) {
         PSET p(pointset);
@@ -351,10 +342,10 @@ wrap_assign(PSET& pointset,
         p.refine_with_constraint(x <= max_value);
         hull.upper_bound_assign(p);
       }
-      pointset.swap(hull);
+      pointset.m_swap(hull);
     }
     else if (wrap_individually || !collective_wrap_too_complex) {
-      PPL_ASSERT(!wrap_individually || pcs != 0);
+      PPL_ASSERT(!wrap_individually || cs_p != 0);
       dimensions_to_be_translated.insert(x);
       translations
         .push_back(Wrap_Dim_Translations(x, first_quadrant, last_quadrant));
@@ -363,22 +354,22 @@ wrap_assign(PSET& pointset,
 
   if (!translations.empty()) {
     if (wrap_individually) {
-      PPL_ASSERT(pcs != 0);
+      PPL_ASSERT(cs_p != 0);
       wrap_assign_ind(pointset, dimensions_to_be_translated,
                       translations.begin(), translations.end(),
-                      w, min_value, max_value, *pcs, ln, ld);
+                      w, min_value, max_value, *cs_p, l_n, l_d);
     }
     else {
       PSET hull(space_dim, EMPTY);
       wrap_assign_col(hull, pointset, dimensions_to_be_translated,
                       translations.begin(), translations.end(),
-                      w, min_value, max_value, pcs, ln);
-      pointset.swap(hull);
+                      w, min_value, max_value, cs_p, l_n);
+      pointset.m_swap(hull);
     }
   }
 
-  if (pcs != 0)
-    pointset.refine_with_constraints(*pcs);
+  if (cs_p != 0)
+    pointset.refine_with_constraints(*cs_p);
   pointset.refine_with_constraints(full_range_bounds);
 }
 
diff --git a/src/wrap_string.cc b/src/wrap_string.cc
index ec027f9..b9ba6f4 100644
--- a/src/wrap_string.cc
+++ b/src/wrap_string.cc
@@ -1,6 +1,6 @@
 /* String wrapping helper function.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,11 +19,11 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "wrap_string.hh"
+#include "assert.hh"
 #include <cstdlib>
 
 namespace Parma_Polyhedra_Library {
@@ -32,51 +32,53 @@ namespace IO_Operators {
 
 std::string
 wrap_string(const std::string& src_string,
-	    unsigned indent_depth,
-	    unsigned preferred_first_line_length,
-	    unsigned preferred_line_length) {
+	    const unsigned indent_depth,
+	    const unsigned preferred_first_line_length,
+	    const unsigned preferred_line_length) {
+  const unsigned npos = C_Integer<unsigned>::max;
   std::string dst_string;
   const char *src = src_string.c_str();
-  for (int line = 0; ; ++line) {
-    int linelen = (line == 0
-                   ? preferred_first_line_length
-                   : preferred_line_length);
-    int last_comma = -1;
-    int last_space = -1;
-    int split_pos = -1;
-    int i;
-    for (i = 0; i <= linelen; ++i) {
-      if (src[i] == '\0' || src[i] == '\n') {
-	split_pos = i;
+  for (unsigned line = 0; ; ++line) {
+    const unsigned line_length = ((line == 0)
+                                  ? preferred_first_line_length
+                                  : preferred_line_length);
+    unsigned last_comma = npos;
+    unsigned last_space = npos;
+    unsigned split_pos = npos;
+    unsigned idx;
+    for (idx = 0; idx <= line_length; ++idx) {
+      if (src[idx] == '\0' || src[idx] == '\n') {
+	split_pos = idx;
 	break;
       }
-      if (src[i] == ',' && i < linelen)
-	last_comma = i;
-      if (isspace(src[i]) && (i == 0 || !isspace(src[i-1])))
-	last_space = i;
+      if (src[idx] == ',' && idx < line_length)
+	last_comma = idx;
+      if (is_space(src[idx]) && (idx == 0 || !is_space(src[idx-1])))
+	last_space = idx;
     }
-    if (split_pos < 0) {
-      if (last_comma >= 0)
+    if (split_pos == npos) {
+      if (last_comma != npos)
 	split_pos = last_comma + 1;
-      else if (last_space >= 0)
+      else if (last_space != npos)
 	split_pos = last_space;
       else {
-	for ( ; src[i]; ++i) {
-	  if (src[i] == ',') {
-	    ++i;
+	for ( ; src[idx] != '\0'; ++idx) {
+	  if (src[idx] == ',') {
+	    ++idx;
 	    break;
 	  }
-	  if (isspace(src[i]))
+	  if (is_space(src[idx]))
 	    break;
 	}
-	split_pos = i;
+	split_pos = idx;
       }
     }
+    PPL_ASSERT(split_pos != npos);
     if (split_pos > 0 && line > 0 && indent_depth > 0)
-	dst_string.append(indent_depth, ' ');
+      dst_string.append(indent_depth, ' ');
     dst_string.append(src, split_pos);
     src += split_pos;
-    if (isspace(*src))
+    if (is_space(*src))
       ++src;
     while (*src == ' ')
       ++src;
diff --git a/src/wrap_string.hh b/src/wrap_string.hh
index 2aec8a5..17af66b 100644
--- a/src/wrap_string.hh
+++ b/src/wrap_string.hh
@@ -1,6 +1,6 @@
 /* Declaration of string wrapping function.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_wrap_hh
 #define PPL_wrap_hh 1
diff --git a/tests/BD_Shape/Makefile.am b/tests/BD_Shape/Makefile.am
index 732d0e2..930d68e 100644
--- a/tests/BD_Shape/Makefile.am
+++ b/tests/BD_Shape/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
diff --git a/tests/BD_Shape/Makefile.in b/tests/BD_Shape/Makefile.in
index a7196bb..54c8f44 100644
--- a/tests/BD_Shape/Makefile.in
+++ b/tests/BD_Shape/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -105,27 +105,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -138,8 +133,8 @@ addconstraints1_LDADD = $(LDADD)
 addconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_addspacedims1_OBJECTS = addspacedims1.$(OBJEXT)
 addspacedims1_OBJECTS = $(am_addspacedims1_OBJECTS)
@@ -603,21 +598,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
@@ -723,6 +718,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -747,21 +743,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -817,6 +808,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -885,7 +877,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -898,6 +889,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -1065,214 +1057,214 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) $(EXTRA_addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
-addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
+addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) $(EXTRA_addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
-affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
+affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) $(EXTRA_affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
+affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) $(EXTRA_affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
+bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) $(EXTRA_bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
-bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) 
+bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) $(EXTRA_bhmz05widening1_DEPENDENCIES) 
 	@rm -f bhmz05widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
-bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
+bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) $(EXTRA_bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
+boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) 
+cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) $(EXTRA_cc76extrapolation1_DEPENDENCIES) 
 	@rm -f cc76extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
-cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
+cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) $(EXTRA_cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
-closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) 
+closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) $(EXTRA_closure1_DEPENDENCIES) 
 	@rm -f closure1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
+constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) $(EXTRA_constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) $(EXTRA_difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) $(EXTRA_dropsomenonintegerpoints1_DEPENDENCIES) 
 	@rm -f dropsomenonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
-empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) $(EXTRA_empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
-equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) 
+equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) $(EXTRA_equality1_DEPENDENCIES) 
 	@rm -f equality1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
-expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
+expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) $(EXTRA_expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
-foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
+foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) $(EXTRA_foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
-frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) $(EXTRA_frequency1_DEPENDENCIES) 
 	@rm -f frequency1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
+fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) $(EXTRA_fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
+fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) $(EXTRA_fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
+generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) $(EXTRA_generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
-generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
+generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
-generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
+generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
-generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
+generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
-geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
+geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) $(EXTRA_geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
-h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) 
+h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) $(EXTRA_h79widening1_DEPENDENCIES) 
 	@rm -f h79widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
-integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) 
+integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) $(EXTRA_integerupperboundifexact1_DEPENDENCIES) 
 	@rm -f integerupperboundifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) 
+limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) $(EXTRA_limitedbhmz05extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhmz05extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
-limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
+limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) $(EXTRA_limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
-limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) 
+limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) $(EXTRA_limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f limitedh79extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
-mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
+mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) $(EXTRA_mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
-max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
+max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) $(EXTRA_max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
-max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) 
+max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) $(EXTRA_max_min2_DEPENDENCIES) 
 	@rm -f max_min2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
-maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
+maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) $(EXTRA_maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
+minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) $(EXTRA_minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) $(EXTRA_relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
-relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
+relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) $(EXTRA_relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
-relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
+relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) $(EXTRA_relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
-relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) 
+relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) $(EXTRA_relations4_DEPENDENCIES) 
 	@rm -f relations4$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
-removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
+removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) $(EXTRA_removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
+unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) $(EXTRA_unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
-universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) $(EXTRA_universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
-upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) $(EXTRA_upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
-wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) $(EXTRA_wrap1_DEPENDENCIES) 
 	@rm -f wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
-writebdshape1$(EXEEXT): $(writebdshape1_OBJECTS) $(writebdshape1_DEPENDENCIES) 
+writebdshape1$(EXEEXT): $(writebdshape1_OBJECTS) $(writebdshape1_DEPENDENCIES) $(EXTRA_writebdshape1_DEPENDENCIES) 
 	@rm -f writebdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writebdshape1_OBJECTS) $(writebdshape1_LDADD) $(LIBS)
 
@@ -1356,26 +1348,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1516,14 +1505,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1574,10 +1564,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/tests/BD_Shape/addconstraints1.cc b/tests/BD_Shape/addconstraints1.cc
index 96c3a55..4e91fd7 100644
--- a/tests/BD_Shape/addconstraints1.cc
+++ b/tests/BD_Shape/addconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::add_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/addspacedims1.cc b/tests/BD_Shape/addspacedims1.cc
index 7662514..09bae2a 100644
--- a/tests/BD_Shape/addspacedims1.cc
+++ b/tests/BD_Shape/addspacedims1.cc
@@ -1,7 +1,7 @@
 /* Test BD_Shape::add_space_dimensions_and_embed():
    we add two variables to a BD_Shape.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/affinedimension1.cc b/tests/BD_Shape/affinedimension1.cc
index 773fac0..c34095a 100644
--- a/tests/BD_Shape/affinedimension1.cc
+++ b/tests/BD_Shape/affinedimension1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/affineimage1.cc b/tests/BD_Shape/affineimage1.cc
index bf6593e..2f00331 100644
--- a/tests/BD_Shape/affineimage1.cc
+++ b/tests/BD_Shape/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/affineimage2.cc b/tests/BD_Shape/affineimage2.cc
index 78244ef..0e802be 100644
--- a/tests/BD_Shape/affineimage2.cc
+++ b/tests/BD_Shape/affineimage2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/affinepreimage1.cc b/tests/BD_Shape/affinepreimage1.cc
index b03ffa2..5196067 100644
--- a/tests/BD_Shape/affinepreimage1.cc
+++ b/tests/BD_Shape/affinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/ascii_dump_load1.cc b/tests/BD_Shape/ascii_dump_load1.cc
index ded6e4c..3613e70 100644
--- a/tests/BD_Shape/ascii_dump_load1.cc
+++ b/tests/BD_Shape/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::ascii_dump() and BD_Shape::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/bgp99extrapolation1.cc b/tests/BD_Shape/bgp99extrapolation1.cc
index 17ee600..6cad928 100644
--- a/tests/BD_Shape/bgp99extrapolation1.cc
+++ b/tests/BD_Shape/bgp99extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/bhmz05widening1.cc b/tests/BD_Shape/bhmz05widening1.cc
index f3d6b04..826afff 100644
--- a/tests/BD_Shape/bhmz05widening1.cc
+++ b/tests/BD_Shape/bhmz05widening1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BHMZ05_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/bhz03widening1.cc b/tests/BD_Shape/bhz03widening1.cc
index 5c56a5b..789ac0a 100644
--- a/tests/BD_Shape/bhz03widening1.cc
+++ b/tests/BD_Shape/bhz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/bounded1.cc b/tests/BD_Shape/bounded1.cc
index fea6eed..fcbecdf 100644
--- a/tests/BD_Shape/bounded1.cc
+++ b/tests/BD_Shape/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/boundedaffineimage1.cc b/tests/BD_Shape/boundedaffineimage1.cc
index e208894..793bb6f 100644
--- a/tests/BD_Shape/boundedaffineimage1.cc
+++ b/tests/BD_Shape/boundedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/boundedaffinepreimage1.cc b/tests/BD_Shape/boundedaffinepreimage1.cc
index a843b7c..917842b 100644
--- a/tests/BD_Shape/boundedaffinepreimage1.cc
+++ b/tests/BD_Shape/boundedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::bounded_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -343,6 +343,26 @@ test11() {
   return ok;
 }
 
+bool
+test12() {
+  Variable A(0);
+  Variable C(2);
+
+  BD_Shape<mpz_class> bds(3);
+  bds.add_constraint(C == 5);
+
+  print_constraints(bds, "*** bds ***");
+
+  bds.bounded_affine_preimage(C, A, A, 5);
+
+  BD_Shape<mpz_class> known_result(3);
+  bool ok = check_result(bds, known_result);
+
+  print_constraints(bds, "*** bds.bounded_affine_preimage(C, A, A, 5) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -357,4 +377,5 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
+  DO_TEST(test12);
 END_MAIN
diff --git a/tests/BD_Shape/bounds1.cc b/tests/BD_Shape/bounds1.cc
index cbc5e33..b170e0f 100644
--- a/tests/BD_Shape/bounds1.cc
+++ b/tests/BD_Shape/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::bounds_from_below() and BD_Shape::bounds_from_above().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/cc76extrapolation1.cc b/tests/BD_Shape/cc76extrapolation1.cc
index 1ad631f..46101ad 100644
--- a/tests/BD_Shape/cc76extrapolation1.cc
+++ b/tests/BD_Shape/cc76extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::CC76_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -176,7 +176,7 @@ test03() {
   bds2.add_constraint(D - C <= 1);
 
   // Force the closure of `bds1'.
-  bds1 == bds2;
+  (void) (bds1 == bds2);
 
   BD_Shape<mpq_class> known_widening(4);
   known_widening.add_constraint(A >= 0);
@@ -200,7 +200,7 @@ test03() {
   print_constraints(bds1, "*** bds1.CC76_extrapolation_assign(bds2) ***");
 
   // Force the closure of `bds1'.
-  bds1 == bds2;
+  (void) (bds1 == bds2);
 
   bool ok = (BD_Shape<mpq_class>(bds1) == known_widening);
 
diff --git a/tests/BD_Shape/cc76narrowing1.cc b/tests/BD_Shape/cc76narrowing1.cc
index 89f593b..cc915d8 100644
--- a/tests/BD_Shape/cc76narrowing1.cc
+++ b/tests/BD_Shape/cc76narrowing1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::CC76_narrowing_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/closure1.cc b/tests/BD_Shape/closure1.cc
index f5d6dc0..bad5ee7 100644
--- a/tests/BD_Shape/closure1.cc
+++ b/tests/BD_Shape/closure1.cc
@@ -1,6 +1,6 @@
 /* Test shortest path closure.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/concatenate1.cc b/tests/BD_Shape/concatenate1.cc
index 0e04a34..5e2fe8f 100644
--- a/tests/BD_Shape/concatenate1.cc
+++ b/tests/BD_Shape/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/congruences1.cc b/tests/BD_Shape/congruences1.cc
index 8c8af8b..759b479 100644
--- a/tests/BD_Shape/congruences1.cc
+++ b/tests/BD_Shape/congruences1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/constrains1.cc b/tests/BD_Shape/constrains1.cc
index 3670c57..5e70a55 100644
--- a/tests/BD_Shape/constrains1.cc
+++ b/tests/BD_Shape/constrains1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/constraints1.cc b/tests/BD_Shape/constraints1.cc
index 8d8d533..3f94621 100644
--- a/tests/BD_Shape/constraints1.cc
+++ b/tests/BD_Shape/constraints1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/contains1.cc b/tests/BD_Shape/contains1.cc
index fb275e6..e434d97 100644
--- a/tests/BD_Shape/contains1.cc
+++ b/tests/BD_Shape/contains1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -172,6 +172,24 @@ test06() {
   return !contained;
 }
 
+bool
+test07() {
+  TBD_Shape bds1(3, EMPTY);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(3, UNIVERSE);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  bool contained = bds1.contains(bds2);
+
+  nout << "*** bds1.contains(bds2) ***" << endl;
+  nout << (contained ? "true" : "false") << endl;
+
+  return !contained;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -181,4 +199,5 @@ BEGIN_MAIN
   DO_TEST(test04);
   DO_TEST(test05);
   DO_TEST(test06);
+  DO_TEST(test07);
 END_MAIN
diff --git a/tests/BD_Shape/containsintegerpoint1.cc b/tests/BD_Shape/containsintegerpoint1.cc
index 8e519b3..3702215 100644
--- a/tests/BD_Shape/containsintegerpoint1.cc
+++ b/tests/BD_Shape/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::contains_integer_point().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/difference1.cc b/tests/BD_Shape/difference1.cc
index 4d802e8..8acbfa0 100644
--- a/tests/BD_Shape/difference1.cc
+++ b/tests/BD_Shape/difference1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::difference_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/discrete1.cc b/tests/BD_Shape/discrete1.cc
index 00b950a..4b2dc8a 100644
--- a/tests/BD_Shape/discrete1.cc
+++ b/tests/BD_Shape/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::is_discrete().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/disjoint1.cc b/tests/BD_Shape/disjoint1.cc
index 8ab7572..0537917 100644
--- a/tests/BD_Shape/disjoint1.cc
+++ b/tests/BD_Shape/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::is_disjoint_from(const BD_Shape& y).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/dropsomenonintegerpoints1.cc b/tests/BD_Shape/dropsomenonintegerpoints1.cc
index 90d66bc..efd322c 100644
--- a/tests/BD_Shape/dropsomenonintegerpoints1.cc
+++ b/tests/BD_Shape/dropsomenonintegerpoints1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/empty1.cc b/tests/BD_Shape/empty1.cc
index ffaf456..c65ea7e 100644
--- a/tests/BD_Shape/empty1.cc
+++ b/tests/BD_Shape/empty1.cc
@@ -1,6 +1,6 @@
 /* Different ways of creating an empty BD_Shape.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/equality1.cc b/tests/BD_Shape/equality1.cc
index e718a81..2089f29 100644
--- a/tests/BD_Shape/equality1.cc
+++ b/tests/BD_Shape/equality1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::operator==().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/expandspacedim1.cc b/tests/BD_Shape/expandspacedim1.cc
index 5474363..0d03d92 100644
--- a/tests/BD_Shape/expandspacedim1.cc
+++ b/tests/BD_Shape/expandspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/foldspacedims1.cc b/tests/BD_Shape/foldspacedims1.cc
index b74c6bd..e885b56 100644
--- a/tests/BD_Shape/foldspacedims1.cc
+++ b/tests/BD_Shape/foldspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/frequency1.cc b/tests/BD_Shape/frequency1.cc
index 3c61d6b..1306ca6 100644
--- a/tests/BD_Shape/frequency1.cc
+++ b/tests/BD_Shape/frequency1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::frequency().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/frombdshape1.cc b/tests/BD_Shape/frombdshape1.cc
index 5f299ed..828234f 100644
--- a/tests/BD_Shape/frombdshape1.cc
+++ b/tests/BD_Shape/frombdshape1.cc
@@ -1,7 +1,7 @@
 /* Test BD_Shape copy construct, construction from other
    BD shapes and assignment.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/frombox1.cc b/tests/BD_Shape/frombox1.cc
index db513ba..0125482 100644
--- a/tests/BD_Shape/frombox1.cc
+++ b/tests/BD_Shape/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const Box<Interval>&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/fromgensys1.cc b/tests/BD_Shape/fromgensys1.cc
index 3c4cef8..e022b7e 100644
--- a/tests/BD_Shape/fromgensys1.cc
+++ b/tests/BD_Shape/fromgensys1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const Generator_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/fromgrid1.cc b/tests/BD_Shape/fromgrid1.cc
index 8e93ef3..0f7e691 100644
--- a/tests/BD_Shape/fromgrid1.cc
+++ b/tests/BD_Shape/fromgrid1.cc
@@ -1,7 +1,7 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/fromoctagonalshape1.cc b/tests/BD_Shape/fromoctagonalshape1.cc
index b1fe1f7..85d0b9b 100644
--- a/tests/BD_Shape/fromoctagonalshape1.cc
+++ b/tests/BD_Shape/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const Octagonal_Shape&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/frompolyhedron1.cc b/tests/BD_Shape/frompolyhedron1.cc
index 5784db7..dca7317 100644
--- a/tests/BD_Shape/frompolyhedron1.cc
+++ b/tests/BD_Shape/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/fromspacedim1.cc b/tests/BD_Shape/fromspacedim1.cc
index cb231eb..937826e 100644
--- a/tests/BD_Shape/fromspacedim1.cc
+++ b/tests/BD_Shape/fromspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(dimension_type, Degenerate_Element).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/generalizedaffineimage1.cc b/tests/BD_Shape/generalizedaffineimage1.cc
index 31b07b0..ae57b1e 100644
--- a/tests/BD_Shape/generalizedaffineimage1.cc
+++ b/tests/BD_Shape/generalizedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/generalizedaffineimage2.cc b/tests/BD_Shape/generalizedaffineimage2.cc
index 0c3f831..3d00e76 100644
--- a/tests/BD_Shape/generalizedaffineimage2.cc
+++ b/tests/BD_Shape/generalizedaffineimage2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage1.cc b/tests/BD_Shape/generalizedaffinepreimage1.cc
index dbc9c1e..c1a8551 100644
--- a/tests/BD_Shape/generalizedaffinepreimage1.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <limits>
@@ -353,7 +353,7 @@ test12() {
   known_result.add_constraint(3*C <= 7);
   known_result.add_constraint(5*C >= 7);
 
-  bool ok = check_result(bds, known_result, "5.13e-6", "2.73e-6", "1.67e-6");
+  bool ok = check_result(bds, known_result, "1.0e-5", "1.0e-5", "1.0e-5");
 
   print_constraints(bds,
                     "*** bds.generalized_affine_preimage(B, "
@@ -417,7 +417,7 @@ test14() {
   known_result.add_constraint(3*C <= 7);
   known_result.add_constraint(5*C >= 7);
 
-  bool ok = check_result(bds, known_result, "1.98e-6", "9.26e-7", "5.25e-7");
+  bool ok = check_result(bds, known_result, "1.0e-5", "1.0e-5", "1.0e-5");
 
   print_constraints(bds,
                     "*** bds.generalized_affine_preimage(B, "
diff --git a/tests/BD_Shape/generalizedaffinepreimage2.cc b/tests/BD_Shape/generalizedaffinepreimage2.cc
index f4c9e16..f0d5ae0 100644
--- a/tests/BD_Shape/generalizedaffinepreimage2.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage3.cc b/tests/BD_Shape/generalizedaffinepreimage3.cc
index fc9475a..b1aa63b 100644
--- a/tests/BD_Shape/generalizedaffinepreimage3.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage3.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/geomcovers1.cc b/tests/BD_Shape/geomcovers1.cc
index ddb5217..3e24f00 100644
--- a/tests/BD_Shape/geomcovers1.cc
+++ b/tests/BD_Shape/geomcovers1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<BD_Shape>::geometrically_covers().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/h79widening1.cc b/tests/BD_Shape/h79widening1.cc
index 686baf8..658b0b9 100644
--- a/tests/BD_Shape/h79widening1.cc
+++ b/tests/BD_Shape/h79widening1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::H79_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/integerupperboundifexact1.cc b/tests/BD_Shape/integerupperboundifexact1.cc
index 1f1ecd9..fc9bbc8 100644
--- a/tests/BD_Shape/integerupperboundifexact1.cc
+++ b/tests/BD_Shape/integerupperboundifexact1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::integer_upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/intersection1.cc b/tests/BD_Shape/intersection1.cc
index 9c37cb9..85d7e6c 100644
--- a/tests/BD_Shape/intersection1.cc
+++ b/tests/BD_Shape/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/limitedbhmz05extrapolation1.cc b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
index c19467f..c8f7f77 100644
--- a/tests/BD_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::limited_BHMZ05_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/limitedcc76extrapolation1.cc b/tests/BD_Shape/limitedcc76extrapolation1.cc
index 1364763..5987046 100644
--- a/tests/BD_Shape/limitedcc76extrapolation1.cc
+++ b/tests/BD_Shape/limitedcc76extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::limited_CC76_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/limitedh79extrapolation1.cc b/tests/BD_Shape/limitedh79extrapolation1.cc
index 6e76506..a51f5b2 100644
--- a/tests/BD_Shape/limitedh79extrapolation1.cc
+++ b/tests/BD_Shape/limitedh79extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::limited_H79_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/mapspacedims1.cc b/tests/BD_Shape/mapspacedims1.cc
index 97e119f..d8889f4 100644
--- a/tests/BD_Shape/mapspacedims1.cc
+++ b/tests/BD_Shape/mapspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/max_min1.cc b/tests/BD_Shape/max_min1.cc
index 9da5173..3b713ac 100644
--- a/tests/BD_Shape/max_min1.cc
+++ b/tests/BD_Shape/max_min1.cc
@@ -1,7 +1,7 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/max_min2.cc b/tests/BD_Shape/max_min2.cc
index 5641c88..d783ccf 100644
--- a/tests/BD_Shape/max_min2.cc
+++ b/tests/BD_Shape/max_min2.cc
@@ -1,7 +1,7 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/maxspacedim1.cc b/tests/BD_Shape/maxspacedim1.cc
index 7ba536e..8cb0b55 100644
--- a/tests/BD_Shape/maxspacedim1.cc
+++ b/tests/BD_Shape/maxspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::max_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/membytes1.cc b/tests/BD_Shape/membytes1.cc
index f627688..a17c9bd 100644
--- a/tests/BD_Shape/membytes1.cc
+++ b/tests/BD_Shape/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/minconstraints1.cc b/tests/BD_Shape/minconstraints1.cc
index a4ae6cf..3b70ddb 100644
--- a/tests/BD_Shape/minconstraints1.cc
+++ b/tests/BD_Shape/minconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape<T>::minimized_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/relations1.cc b/tests/BD_Shape/relations1.cc
index 1af2aa4..ec64084 100644
--- a/tests/BD_Shape/relations1.cc
+++ b/tests/BD_Shape/relations1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/relations2.cc b/tests/BD_Shape/relations2.cc
index 7d7b34b..cde8853 100644
--- a/tests/BD_Shape/relations2.cc
+++ b/tests/BD_Shape/relations2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/relations3.cc b/tests/BD_Shape/relations3.cc
index 9a35ae8..43063b7 100644
--- a/tests/BD_Shape/relations3.cc
+++ b/tests/BD_Shape/relations3.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -40,6 +40,7 @@ test01() {
     // it is illegal to use a constraint that is
     // dimensional incompatible with the BDS.
     Poly_Con_Relation rel = bds.relation_with(C - B <= 2);
+    (void) rel;
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << endl;
@@ -81,6 +82,7 @@ test03() {
     // it is illegal to use a generator that is
     // dimensional incompatible with the BDS.
     Poly_Gen_Relation rel = bds.relation_with(ray(C));
+    (void) rel;
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << endl;
diff --git a/tests/BD_Shape/relations4.cc b/tests/BD_Shape/relations4.cc
index d72391f..451bb7c 100644
--- a/tests/BD_Shape/relations4.cc
+++ b/tests/BD_Shape/relations4.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/removespacedims1.cc b/tests/BD_Shape/removespacedims1.cc
index 7bda1b9..6df6496 100644
--- a/tests/BD_Shape/removespacedims1.cc
+++ b/tests/BD_Shape/removespacedims1.cc
@@ -1,6 +1,6 @@
 /* Remove some variables from the space.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/run_tests b/tests/BD_Shape/run_tests
index 413284c..2d572a2 100755
--- a/tests/BD_Shape/run_tests
+++ b/tests/BD_Shape/run_tests
@@ -2,7 +2,7 @@
 
 # Run the BD_Shape tests.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -21,7 +21,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 mpz_class_XFAIL_TESTS=
 mpq_class_XFAIL_TESTS=
diff --git a/tests/BD_Shape/simplifyusingcontext1.cc b/tests/BD_Shape/simplifyusingcontext1.cc
index 872131d..fe67333 100644
--- a/tests/BD_Shape/simplifyusingcontext1.cc
+++ b/tests/BD_Shape/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/timeelapse1.cc b/tests/BD_Shape/timeelapse1.cc
index aa3c860..5ac4ed8 100644
--- a/tests/BD_Shape/timeelapse1.cc
+++ b/tests/BD_Shape/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test time_elapse_assign() for particular polyhedra.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/unconstrain1.cc b/tests/BD_Shape/unconstrain1.cc
index 6f2e9be..215d2e1 100644
--- a/tests/BD_Shape/unconstrain1.cc
+++ b/tests/BD_Shape/unconstrain1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::unconstrain().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/universe1.cc b/tests/BD_Shape/universe1.cc
index be3383d..427e40b 100644
--- a/tests/BD_Shape/universe1.cc
+++ b/tests/BD_Shape/universe1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/upperbound1.cc b/tests/BD_Shape/upperbound1.cc
index 9bca064..9d635d2 100644
--- a/tests/BD_Shape/upperbound1.cc
+++ b/tests/BD_Shape/upperbound1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/upperboundifexact1.cc b/tests/BD_Shape/upperboundifexact1.cc
index e5d8f0d..ed18f67 100644
--- a/tests/BD_Shape/upperboundifexact1.cc
+++ b/tests/BD_Shape/upperboundifexact1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/wrap1.cc b/tests/BD_Shape/wrap1.cc
index a70429e..2f66b3e 100644
--- a/tests/BD_Shape/wrap1.cc
+++ b/tests/BD_Shape/wrap1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/BD_Shape/writebdshape1.cc b/tests/BD_Shape/writebdshape1.cc
index 90ab616..019f696 100644
--- a/tests/BD_Shape/writebdshape1.cc
+++ b/tests/BD_Shape/writebdshape1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(ostream&, const BD_Shape&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <sstream>
diff --git a/tests/Box/Makefile.am b/tests/Box/Makefile.am
index 8688993..3d923cf 100644
--- a/tests/Box/Makefile.am
+++ b/tests/Box/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -102,6 +103,7 @@ propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
+refinewithconstraints2 \
 refinewithcongruence1 \
 refinewithcongruences1 \
 removespacedims1 \
@@ -118,7 +120,7 @@ writebox1
 DERIVED_TESTS = \
 nnc_frompolyhedron1
 
-ALL_TESTS = $(ORIGINAL_TESTS) $(DERIVED_TESTS) $(WATCHDOG_TESTS)
+ALL_TESTS = $(ORIGINAL_TESTS) $(DERIVED_TESTS)
 
 # This will be overridden by the `run_tests' script.
 TEST_CPPFLAGS=-DBOX_INSTANCE=rt_r_oc
@@ -269,6 +271,7 @@ refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraint2_SOURCES = refinewithconstraint2.cc
 
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
+refinewithconstraints2_SOURCES = refinewithconstraints2.cc
 
 removespacedims1_SOURCES = removespacedims1.cc
 
@@ -290,19 +293,6 @@ wrap1_SOURCES = wrap1.cc
 
 writebox1_SOURCES = writebox1.cc
 
-refinewithconstraints2_SRCS = refinewithconstraints2.cc
-
-if BUILD_WATCHDOG_LIBRARY
-WATCHDOG_TESTS = refinewithconstraints2
-
-refinewithconstraints2_SOURCES = $(refinewithconstraints2_SRCS)
-refinewithconstraints2_CPPFLAGS = \
-$(AM_CPPFLAGS) \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src
-refinewithconstraints2_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
-
-endif BUILD_WATCHDOG_LIBRARY
 
 #
 # Sources and compilation flags for the derived check programs
@@ -317,7 +307,7 @@ BUGS =
 
 check_PROGRAMS = $(ALL_TESTS) $(BUGS)
 
-EXTRA_DIST = $(refinewithconstraints2_SRCS)
+EXTRA_DIST =
 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
@@ -336,6 +326,3 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
-
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
diff --git a/tests/Box/Makefile.in b/tests/Box/Makefile.in
index b39998a..32134de 100644
--- a/tests/Box/Makefile.in
+++ b/tests/Box/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -57,7 +57,7 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5)
+check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
 subdir = tests/Box
 DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
 	$(srcdir)/Makefile.in
@@ -71,27 +71,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -124,25 +119,24 @@ am__EXEEXT_1 = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	propagateconstraints2$(EXEEXT) relations1$(EXEEXT) \
 	relations2$(EXEEXT) relations3$(EXEEXT) relations4$(EXEEXT) \
 	refinewithconstraint1$(EXEEXT) refinewithconstraint2$(EXEEXT) \
-	refinewithconstraints1$(EXEEXT) refinewithcongruence1$(EXEEXT) \
+	refinewithconstraints1$(EXEEXT) \
+	refinewithconstraints2$(EXEEXT) refinewithcongruence1$(EXEEXT) \
 	refinewithcongruences1$(EXEEXT) removespacedims1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	topclosed1$(EXEEXT) unconstrain1$(EXEEXT) universe1$(EXEEXT) \
 	upperbound1$(EXEEXT) upperboundifexact1$(EXEEXT) \
 	wrap1$(EXEEXT) writebox1$(EXEEXT)
 am__EXEEXT_2 = nnc_frompolyhedron1$(EXEEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_3 =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	refinewithconstraints2$(EXEEXT)
-am__EXEEXT_4 = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
-am__EXEEXT_5 =
+am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
+am__EXEEXT_4 =
 am_addconstraints1_OBJECTS = addconstraints1.$(OBJEXT)
 addconstraints1_OBJECTS = $(am_addconstraints1_OBJECTS)
 addconstraints1_LDADD = $(LDADD)
 addconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_addspacedims1_OBJECTS = addspacedims1.$(OBJEXT)
 addspacedims1_OBJECTS = $(am_addspacedims1_OBJECTS)
@@ -500,18 +494,13 @@ refinewithconstraints1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am__refinewithconstraints2_SOURCES_DIST = refinewithconstraints2.cc
-am__objects_1 =  \
-	refinewithconstraints2-refinewithconstraints2.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_refinewithconstraints2_OBJECTS =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_1)
+am_refinewithconstraints2_OBJECTS = refinewithconstraints2.$(OBJEXT)
 refinewithconstraints2_OBJECTS = $(am_refinewithconstraints2_OBJECTS)
-am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
+refinewithconstraints2_LDADD = $(LDADD)
+refinewithconstraints2_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@refinewithconstraints2_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
 am_relations1_OBJECTS = relations1.$(OBJEXT)
 relations1_OBJECTS = $(am_relations1_OBJECTS)
 relations1_LDADD = $(LDADD)
@@ -608,21 +597,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
@@ -696,14 +685,14 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(refinewithconstraint1_SOURCES) \
 	$(refinewithconstraint2_SOURCES) \
 	$(refinewithconstraints1_SOURCES) \
-	$(am__refinewithconstraints2_SOURCES_DIST) \
-	$(relations1_SOURCES) $(relations2_SOURCES) \
-	$(relations3_SOURCES) $(relations4_SOURCES) \
-	$(removespacedims1_SOURCES) $(simplifyusingcontext1_SOURCES) \
-	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
-	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
-	$(wrap1_SOURCES) $(writebox1_SOURCES)
+	$(refinewithconstraints2_SOURCES) $(relations1_SOURCES) \
+	$(relations2_SOURCES) $(relations3_SOURCES) \
+	$(relations4_SOURCES) $(removespacedims1_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(unconstrain1_SOURCES) \
+	$(universe1_SOURCES) $(upperbound1_SOURCES) \
+	$(upperboundifexact1_SOURCES) $(wrap1_SOURCES) \
+	$(writebox1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -732,6 +721,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -756,21 +746,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -826,6 +811,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -894,7 +880,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -907,6 +892,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -978,6 +964,7 @@ propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
+refinewithconstraints2 \
 refinewithcongruence1 \
 refinewithcongruences1 \
 removespacedims1 \
@@ -994,7 +981,7 @@ writebox1
 DERIVED_TESTS = \
 nnc_frompolyhedron1
 
-ALL_TESTS = $(ORIGINAL_TESTS) $(DERIVED_TESTS) $(WATCHDOG_TESTS)
+ALL_TESTS = $(ORIGINAL_TESTS) $(DERIVED_TESTS)
 
 # This will be overridden by the `run_tests' script.
 TEST_CPPFLAGS = -DBOX_INSTANCE=rt_r_oc
@@ -1073,6 +1060,7 @@ refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
 refinewithconstraint2_SOURCES = refinewithconstraint2.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
+refinewithconstraints2_SOURCES = refinewithconstraints2.cc
 removespacedims1_SOURCES = removespacedims1.cc
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
@@ -1083,15 +1071,6 @@ upperbound1_SOURCES = upperbound1.cc
 upperboundifexact1_SOURCES = upperboundifexact1.cc
 wrap1_SOURCES = wrap1.cc
 writebox1_SOURCES = writebox1.cc
-refinewithconstraints2_SRCS = refinewithconstraints2.cc
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = refinewithconstraints2
- at BUILD_WATCHDOG_LIBRARY_TRUE@refinewithconstraints2_SOURCES = $(refinewithconstraints2_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@refinewithconstraints2_CPPFLAGS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog/src
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@refinewithconstraints2_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
 
 #
 # Sources and compilation flags for the derived check programs
@@ -1100,7 +1079,7 @@ DERIVED_CXXFLAGS = -DDERIVED_TEST $(AM_CXXFLAGS)
 nnc_frompolyhedron1_SOURCES = frompolyhedron1.cc
 nnc_frompolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 BUGS = 
-EXTRA_DIST = $(refinewithconstraints2_SRCS)
+EXTRA_DIST = 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
 
@@ -1153,214 +1132,214 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) $(EXTRA_addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
-addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
+addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) $(EXTRA_addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
-affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
+affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) $(EXTRA_affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
+bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) $(EXTRA_bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
-bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
+bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) $(EXTRA_bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
+boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
-cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
+cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) $(EXTRA_cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
-cc76widening$(EXEEXT): $(cc76widening_OBJECTS) $(cc76widening_DEPENDENCIES) 
+cc76widening$(EXEEXT): $(cc76widening_OBJECTS) $(cc76widening_DEPENDENCIES) $(EXTRA_cc76widening_DEPENDENCIES) 
 	@rm -f cc76widening$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76widening_OBJECTS) $(cc76widening_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
+constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) $(EXTRA_constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) $(EXTRA_difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) $(EXTRA_empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
-equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) 
+equality1$(EXEEXT): $(equality1_OBJECTS) $(equality1_DEPENDENCIES) $(EXTRA_equality1_DEPENDENCIES) 
 	@rm -f equality1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equality1_OBJECTS) $(equality1_LDADD) $(LIBS)
-expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
+expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) $(EXTRA_expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
-foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
+foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) $(EXTRA_foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
-frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) $(EXTRA_frequency1_DEPENDENCIES) 
 	@rm -f frequency1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
+fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) $(EXTRA_fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-frompartiallyreducedproduct1$(EXEEXT): $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_DEPENDENCIES) 
+frompartiallyreducedproduct1$(EXEEXT): $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_DEPENDENCIES) $(EXTRA_frompartiallyreducedproduct1_DEPENDENCIES) 
 	@rm -f frompartiallyreducedproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompartiallyreducedproduct1_OBJECTS) $(frompartiallyreducedproduct1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-frompolyhedron2$(EXEEXT): $(frompolyhedron2_OBJECTS) $(frompolyhedron2_DEPENDENCIES) 
+frompolyhedron2$(EXEEXT): $(frompolyhedron2_OBJECTS) $(frompolyhedron2_DEPENDENCIES) $(EXTRA_frompolyhedron2_DEPENDENCIES) 
 	@rm -f frompolyhedron2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron2_OBJECTS) $(frompolyhedron2_LDADD) $(LIBS)
-fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
+fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) $(EXTRA_fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
+generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) $(EXTRA_generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
-generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
+generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
-geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
+geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) $(EXTRA_geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-interval1$(EXEEXT): $(interval1_OBJECTS) $(interval1_DEPENDENCIES) 
+interval1$(EXEEXT): $(interval1_OBJECTS) $(interval1_DEPENDENCIES) $(EXTRA_interval1_DEPENDENCIES) 
 	@rm -f interval1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(interval1_OBJECTS) $(interval1_LDADD) $(LIBS)
-limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
+limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) $(EXTRA_limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
-mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
+mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) $(EXTRA_mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
-max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
+max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) $(EXTRA_max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
-maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
+maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) $(EXTRA_maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
+minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) $(EXTRA_minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-nnc_frompolyhedron1$(EXEEXT): $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_DEPENDENCIES) 
+nnc_frompolyhedron1$(EXEEXT): $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_DEPENDENCIES) $(EXTRA_nnc_frompolyhedron1_DEPENDENCIES) 
 	@rm -f nnc_frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_frompolyhedron1_LINK) $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_LDADD) $(LIBS)
-propagateconstraints1$(EXEEXT): $(propagateconstraints1_OBJECTS) $(propagateconstraints1_DEPENDENCIES) 
+propagateconstraints1$(EXEEXT): $(propagateconstraints1_OBJECTS) $(propagateconstraints1_DEPENDENCIES) $(EXTRA_propagateconstraints1_DEPENDENCIES) 
 	@rm -f propagateconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(propagateconstraints1_OBJECTS) $(propagateconstraints1_LDADD) $(LIBS)
-propagateconstraints2$(EXEEXT): $(propagateconstraints2_OBJECTS) $(propagateconstraints2_DEPENDENCIES) 
+propagateconstraints2$(EXEEXT): $(propagateconstraints2_OBJECTS) $(propagateconstraints2_DEPENDENCIES) $(EXTRA_propagateconstraints2_DEPENDENCIES) 
 	@rm -f propagateconstraints2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(propagateconstraints2_OBJECTS) $(propagateconstraints2_LDADD) $(LIBS)
-refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) 
+refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) $(EXTRA_refinewithcongruence1_DEPENDENCIES) 
 	@rm -f refinewithcongruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_LDADD) $(LIBS)
-refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
+refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) $(EXTRA_refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
-refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) 
+refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) $(EXTRA_refinewithconstraint1_DEPENDENCIES) 
 	@rm -f refinewithconstraint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
-refinewithconstraint2$(EXEEXT): $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_DEPENDENCIES) 
+refinewithconstraint2$(EXEEXT): $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_DEPENDENCIES) $(EXTRA_refinewithconstraint2_DEPENDENCIES) 
 	@rm -f refinewithconstraint2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint2_OBJECTS) $(refinewithconstraint2_LDADD) $(LIBS)
-refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
+refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) $(EXTRA_refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
-refinewithconstraints2$(EXEEXT): $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_DEPENDENCIES) 
+refinewithconstraints2$(EXEEXT): $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_DEPENDENCIES) $(EXTRA_refinewithconstraints2_DEPENDENCIES) 
 	@rm -f refinewithconstraints2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints2_OBJECTS) $(refinewithconstraints2_LDADD) $(LIBS)
-relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) $(EXTRA_relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
-relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
+relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) $(EXTRA_relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
-relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
+relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) $(EXTRA_relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
-relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) 
+relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES) $(EXTRA_relations4_DEPENDENCIES) 
 	@rm -f relations4$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations4_OBJECTS) $(relations4_LDADD) $(LIBS)
-removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
+removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) $(EXTRA_removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
+topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) $(EXTRA_topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
-unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
+unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) $(EXTRA_unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
-universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) $(EXTRA_universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
-upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) $(EXTRA_upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
-wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) $(EXTRA_wrap1_DEPENDENCIES) 
 	@rm -f wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
-writebox1$(EXEEXT): $(writebox1_OBJECTS) $(writebox1_DEPENDENCIES) 
+writebox1$(EXEEXT): $(writebox1_OBJECTS) $(writebox1_DEPENDENCIES) $(EXTRA_writebox1_DEPENDENCIES) 
 	@rm -f writebox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writebox1_OBJECTS) $(writebox1_LDADD) $(LIBS)
 
@@ -1425,7 +1404,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraint1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraint2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraints1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithconstraints2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations3.Po at am__quote@
@@ -1444,58 +1423,37 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 nnc_frompolyhedron1-frompolyhedron1.o: frompolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.o `test -f 'frompolyhedron1.cc' || echo '$(srcdir)/'`frompolyhedron1.cc
 
 nnc_frompolyhedron1-frompolyhedron1.obj: frompolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frompolyhedron1-frompolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Tpo $(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
-
-refinewithconstraints2-refinewithconstraints2.o: refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.o -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.o `test -f 'refinewithconstraints2.cc' || echo '$(srcdir)/'`refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='refinewithconstraints2.cc' object='refinewithconstraints2-refinewithconstraints2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frompolyhedron1.cc' object='nnc_frompolyhedron1-frompolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refinewithconstraints2-refinewithconstraints2.o `test -f 'refinewithconstraints2.cc' || echo '$(srcdir)/'`refinewithconstraints2.cc
-
-refinewithconstraints2-refinewithconstraints2.obj: refinewithconstraints2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT refinewithconstraints2-refinewithconstraints2.obj -MD -MP -MF $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo -c -o refinewithconstraints2-refinewithconstraints2.obj `if test -f 'refinewithconstraints2.cc'; then $(CYGPATH_W) 'refinewithconstraints2.cc'; else $(CYGPATH_W) '$(srcdir)/refinewithconstraints2.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Tpo $(DEPDIR)/refinewithconstraints2-refinewithconstraints2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='refinewithconstraints2.cc' object='refinewithconstraints2-refinewithconstraints2.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(refinewithconstraints2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o refinewithconstraints2-refinewithconstraints2.obj `if test -f 'refinewithconstraints2.cc'; then $(CYGPATH_W) 'refinewithconstraints2.cc'; else $(CYGPATH_W) '$(srcdir)/refinewithconstraints2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frompolyhedron1-frompolyhedron1.obj `if test -f 'frompolyhedron1.cc'; then $(CYGPATH_W) 'frompolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/frompolyhedron1.cc'; fi`
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1636,14 +1594,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1694,10 +1653,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -1821,9 +1785,6 @@ $(top_builddir)/tests/libppl_tests.a:
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
 
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Box/addconstraints1.cc b/tests/Box/addconstraints1.cc
index eda993c..d713a8c 100644
--- a/tests/Box/addconstraints1.cc
+++ b/tests/Box/addconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Box::add_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/addspacedims1.cc b/tests/Box/addspacedims1.cc
index 6379c3d..428d8a5 100644
--- a/tests/Box/addspacedims1.cc
+++ b/tests/Box/addspacedims1.cc
@@ -1,7 +1,7 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/affinedimension1.cc b/tests/Box/affinedimension1.cc
index 1113a31..65f4685 100644
--- a/tests/Box/affinedimension1.cc
+++ b/tests/Box/affinedimension1.cc
@@ -1,6 +1,6 @@
 /* Test Box::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/affineimage1.cc b/tests/Box/affineimage1.cc
index c7bd53a..5339750 100644
--- a/tests/Box/affineimage1.cc
+++ b/tests/Box/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Box::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/affinepreimage1.cc b/tests/Box/affinepreimage1.cc
index 6cf711d..1f3ddb7 100644
--- a/tests/Box/affinepreimage1.cc
+++ b/tests/Box/affinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Box::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/ascii_dump_load1.cc b/tests/Box/ascii_dump_load1.cc
index da33df1..f9237a5 100644
--- a/tests/Box/ascii_dump_load1.cc
+++ b/tests/Box/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test Box::ascii_dump() and Box::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/bgp99extrapolation1.cc b/tests/Box/bgp99extrapolation1.cc
index 33ac78d..c056082 100644
--- a/tests/Box/bgp99extrapolation1.cc
+++ b/tests/Box/bgp99extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/bhz03widening1.cc b/tests/Box/bhz03widening1.cc
index 86f7a55..19ef69a 100644
--- a/tests/Box/bhz03widening1.cc
+++ b/tests/Box/bhz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/bounded1.cc b/tests/Box/bounded1.cc
index 0053f3d..42ddb21 100644
--- a/tests/Box/bounded1.cc
+++ b/tests/Box/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Box::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/boundedaffineimage1.cc b/tests/Box/boundedaffineimage1.cc
index 6d59fd2..c39fcf3 100644
--- a/tests/Box/boundedaffineimage1.cc
+++ b/tests/Box/boundedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Box::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/boundedaffinepreimage1.cc b/tests/Box/boundedaffinepreimage1.cc
index 49659d5..1eee1b7 100644
--- a/tests/Box/boundedaffinepreimage1.cc
+++ b/tests/Box/boundedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Box::bounded_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/cc76narrowing1.cc b/tests/Box/cc76narrowing1.cc
index 2e865f3..172dc24 100644
--- a/tests/Box/cc76narrowing1.cc
+++ b/tests/Box/cc76narrowing1.cc
@@ -1,6 +1,6 @@
 /* Test Box::CC76_narrowing_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/cc76widening.cc b/tests/Box/cc76widening.cc
index 124c36a..4c80c4d 100644
--- a/tests/Box/cc76widening.cc
+++ b/tests/Box/cc76widening.cc
@@ -1,6 +1,6 @@
 /* Test Box::CC76_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/concatenate1.cc b/tests/Box/concatenate1.cc
index 95fcb2a..53f1496 100644
--- a/tests/Box/concatenate1.cc
+++ b/tests/Box/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Box::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/congruences1.cc b/tests/Box/congruences1.cc
index 5085320..860e24b 100644
--- a/tests/Box/congruences1.cc
+++ b/tests/Box/congruences1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const Congruence_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/constrains1.cc b/tests/Box/constrains1.cc
index a0fd300..76a1835 100644
--- a/tests/Box/constrains1.cc
+++ b/tests/Box/constrains1.cc
@@ -1,6 +1,6 @@
 /* Test Box::constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/constraints1.cc b/tests/Box/constraints1.cc
index 46b0c34..033d5c8 100644
--- a/tests/Box/constraints1.cc
+++ b/tests/Box/constraints1.cc
@@ -1,6 +1,6 @@
 /* Test Box::constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/contains1.cc b/tests/Box/contains1.cc
index 5a48ba3..4eb2b5c 100644
--- a/tests/Box/contains1.cc
+++ b/tests/Box/contains1.cc
@@ -1,6 +1,6 @@
 /* Test Box::contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/containsintegerpoint1.cc b/tests/Box/containsintegerpoint1.cc
index c521d4b..4ce414f 100644
--- a/tests/Box/containsintegerpoint1.cc
+++ b/tests/Box/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test Box::contains_integer_point().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/difference1.cc b/tests/Box/difference1.cc
index 0323442..623b58e 100644
--- a/tests/Box/difference1.cc
+++ b/tests/Box/difference1.cc
@@ -1,6 +1,6 @@
 /* Test Box::difference_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/discrete1.cc b/tests/Box/discrete1.cc
index b3008d9..78f51be 100644
--- a/tests/Box/discrete1.cc
+++ b/tests/Box/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test Box::is_discrete().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/disjoint1.cc b/tests/Box/disjoint1.cc
index e54afa1..64ac523 100644
--- a/tests/Box/disjoint1.cc
+++ b/tests/Box/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Box::is_disjoint_from(const Box& y).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/empty1.cc b/tests/Box/empty1.cc
index 1d75552..26b894e 100644
--- a/tests/Box/empty1.cc
+++ b/tests/Box/empty1.cc
@@ -1,6 +1,6 @@
 /* Different ways of creating an empty Box.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/equality1.cc b/tests/Box/equality1.cc
index 41fda07..30f6e72 100644
--- a/tests/Box/equality1.cc
+++ b/tests/Box/equality1.cc
@@ -1,6 +1,6 @@
 /* Test Box::operator==().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/expandspacedim1.cc b/tests/Box/expandspacedim1.cc
index f5af294..d8410b4 100644
--- a/tests/Box/expandspacedim1.cc
+++ b/tests/Box/expandspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Box::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/foldspacedims1.cc b/tests/Box/foldspacedims1.cc
index d086562..a3bb7e0 100644
--- a/tests/Box/foldspacedims1.cc
+++ b/tests/Box/foldspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Box::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frequency1.cc b/tests/Box/frequency1.cc
index cbd3b8d..22f56e5 100644
--- a/tests/Box/frequency1.cc
+++ b/tests/Box/frequency1.cc
@@ -1,6 +1,6 @@
 /* Test Box::frequency().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frombdshape1.cc b/tests/Box/frombdshape1.cc
index 74fcab5..e39ef4b 100644
--- a/tests/Box/frombdshape1.cc
+++ b/tests/Box/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const BD_Shape&, Complexity_Class).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frombox1.cc b/tests/Box/frombox1.cc
index 4f387f7..739e3db 100644
--- a/tests/Box/frombox1.cc
+++ b/tests/Box/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test Box<Interval>::Box(const Box<Other_Interval>&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/fromgensys1.cc b/tests/Box/fromgensys1.cc
index 9609908..e5a806c 100644
--- a/tests/Box/fromgensys1.cc
+++ b/tests/Box/fromgensys1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const Generator_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/fromgrid1.cc b/tests/Box/fromgrid1.cc
index 06a7e33..8d17e23 100644
--- a/tests/Box/fromgrid1.cc
+++ b/tests/Box/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const Grid&, Complexity_Class).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frompartiallyreducedproduct1.cc b/tests/Box/frompartiallyreducedproduct1.cc
index c62a1ac..f6b758a 100644
--- a/tests/Box/frompartiallyreducedproduct1.cc
+++ b/tests/Box/frompartiallyreducedproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const Direct_Product<D1, D2>&, Complexity_Class).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frompolyhedron1.cc b/tests/Box/frompolyhedron1.cc
index 132ff76..e9578f9 100644
--- a/tests/Box/frompolyhedron1.cc
+++ b/tests/Box/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const Polyhedron&, Complexity_Class).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/frompolyhedron2.cc b/tests/Box/frompolyhedron2.cc
index 0961a6a..7441e14 100644
--- a/tests/Box/frompolyhedron2.cc
+++ b/tests/Box/frompolyhedron2.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(const NNC_Polyhedron&, Complexity_Class).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/fromspacedim1.cc b/tests/Box/fromspacedim1.cc
index 4bb1828..aa736e3 100644
--- a/tests/Box/fromspacedim1.cc
+++ b/tests/Box/fromspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Box::Box(dimension_type, Degenerate_Element).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/generalizedaffineimage1.cc b/tests/Box/generalizedaffineimage1.cc
index 810c238..789fb1d 100644
--- a/tests/Box/generalizedaffineimage1.cc
+++ b/tests/Box/generalizedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Box::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/generalizedaffineimage2.cc b/tests/Box/generalizedaffineimage2.cc
index ede1907..10c44e2 100644
--- a/tests/Box/generalizedaffineimage2.cc
+++ b/tests/Box/generalizedaffineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Box::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/generalizedaffinepreimage1.cc b/tests/Box/generalizedaffinepreimage1.cc
index 64488d3..1de8021 100644
--- a/tests/Box/generalizedaffinepreimage1.cc
+++ b/tests/Box/generalizedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /*Test Box::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <limits>
diff --git a/tests/Box/geomcovers1.cc b/tests/Box/geomcovers1.cc
index 66842cf..7e10521 100644
--- a/tests/Box/geomcovers1.cc
+++ b/tests/Box/geomcovers1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Box>::geometrically_covers().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/intersection1.cc b/tests/Box/intersection1.cc
index df7d520..f1e5bcb 100644
--- a/tests/Box/intersection1.cc
+++ b/tests/Box/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test Box::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/interval1.cc b/tests/Box/interval1.cc
index b0d235d..4c59a54 100644
--- a/tests/Box/interval1.cc
+++ b/tests/Box/interval1.cc
@@ -1,7 +1,7 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <complex>
@@ -45,9 +45,8 @@ struct My_Interval {
     const_bool_nodef(check_inexact, false);
   };
 
-  typedef Interval_Restriction_None
-  <Interval_Info_Bitset<unsigned int,
-                        Floating_Point_Real_Interval_Info_Policy> >
+  typedef Interval_Info_Bitset<unsigned int,
+                               Floating_Point_Real_Interval_Info_Policy>
   Floating_Point_Real_Interval_Info;
 
   typedef Interval<F, Floating_Point_Real_Interval_Info> interval_type;
@@ -73,15 +72,15 @@ test01() {
     nout << "x = " << x << endl;
   }
 
-  typename My_Interval<F>::interval_type z(1.41420757770538330078125);
-  z.join_assign(1.41421949863433837890625);
+  typename My_Interval<F>::interval_type z(F(1.41420757770538330078125));
+  z.join_assign(F(1.41421949863433837890625));
 
   nout << "z = " << x << endl;
 
   return !x.is_empty()
 #if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-    && x.is_disjoint_from(1.41420757770538330078125)
-    && x.is_disjoint_from(1.41421949863433837890625)
+    && x.is_disjoint_from(F(1.41420757770538330078125))
+    && x.is_disjoint_from(F(1.41421949863433837890625))
     && z.strictly_contains(x)
 #else
     && x.is_topologically_closed()
@@ -98,7 +97,7 @@ polynomial_evaluate(const std::vector<N>& P,
                     const std::complex<N>& x,
                     std::complex<N>& P_x) {
   // Note: the coefficient of the leading term is implicitly 1.
-  P_x = std::complex<N>(N(1.0), N(0.0));
+  P_x = std::complex<N>(N(1), N(0));
   for (int i = P.size(); i >= 1; --i)
     P_x = P_x*x + P[i-1];
 }
@@ -116,9 +115,16 @@ solve(const std::vector<N>& P,
   // Initial estimates are given by roots of unity.
   std::vector<std::complex<N> > x(5);
   double theta = 2*M_PI/degree;
-  for (int i = 0; i < degree; ++i)
-    x[i] = std::complex<N>(N(cos(i*theta)),
-                                     N(sin(i*theta)));
+  for (int i = 0; i < degree; ++i) {
+    // Many libm implementations only work with round-to-nearest.
+    // See, e.g, http://sources.redhat.com/bugzilla/show_bug.cgi?id=3976
+    restore_pre_PPL_rounding();
+    N cos_i_theta = N(cos(i*theta));
+    N sin_i_theta = N(sin(i*theta));
+    set_rounding_for_PPL();
+
+    x[i] = std::complex<N>(cos_i_theta, sin_i_theta);
+  }
 
   for (int iteration = 0; iteration < 50; ++iteration) {
     for (int i = 0; i < degree; ++i)
@@ -126,7 +132,7 @@ solve(const std::vector<N>& P,
     for (int i = 0; i < degree; ++i) {
       std::complex<N> P_x_i;
       polynomial_evaluate(P, x[i], P_x_i);
-      std::complex<N> d(N(1.0), N(0.0));
+      std::complex<N> d(N(1), N(0));
       for (int j = 0; j < degree; ++j)
         if (i != j)
           d *= (x[i] - x[j]);
@@ -169,10 +175,10 @@ bool test04() {
   // x^2 - 1
   P[1] = 0;
   P[0] = -1;
-  for (double d = 0.0; d <= 10.0; d += 1.0) {
+  for (int d = 0; d <= 10; ++d) {
     std::complex<N> P_x_i;
     polynomial_evaluate(P,
-                        std::complex<N>(N(d), N(0.0)),
+                        std::complex<N>(N(d), N(0)),
                         P_x_i);
     nout << d << " " << P_x_i << endl;
   }
diff --git a/tests/Box/limitedcc76extrapolation1.cc b/tests/Box/limitedcc76extrapolation1.cc
index 691e112..a2be344 100644
--- a/tests/Box/limitedcc76extrapolation1.cc
+++ b/tests/Box/limitedcc76extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Box::limited_CC76_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/mapspacedims1.cc b/tests/Box/mapspacedims1.cc
index f2d234e..1e90432 100644
--- a/tests/Box/mapspacedims1.cc
+++ b/tests/Box/mapspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Box::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/max_min1.cc b/tests/Box/max_min1.cc
index dfb0b26..513eac8 100644
--- a/tests/Box/max_min1.cc
+++ b/tests/Box/max_min1.cc
@@ -1,7 +1,7 @@
 /* Test Box::maximize(const Linear_Expression&, ...)
    and Box::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/maxspacedim1.cc b/tests/Box/maxspacedim1.cc
index 2249c28..35e10a1 100644
--- a/tests/Box/maxspacedim1.cc
+++ b/tests/Box/maxspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Box::max_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/membytes1.cc b/tests/Box/membytes1.cc
index cf7f1b4..4649659 100644
--- a/tests/Box/membytes1.cc
+++ b/tests/Box/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <cmath>
@@ -63,17 +63,28 @@ bool test02() {
 
   Pointset_Powerset<TBox> pbox(2, EMPTY);
   TBox box(2);
-  TBox::interval_type ix;
-  TBox::interval_type iy;
+
+  typedef TBox::interval_type interval_type;
+  typedef interval_type::boundary_type boundary_type;
+
+  interval_type ix;
+  interval_type iy;
 
   for (double d = -M_PI; d <= M_PI; d += 0.01) {
     ix.assign(EMPTY);
-    ix.join_assign(d-0.015);
-    ix.join_assign(d+0.015);
+    ix.join_assign(boundary_type(d-0.015));
+    ix.join_assign(boundary_type(d+0.015));
+
+    // Many libm implementations only work with round-to-nearest.
+    // See, e.g, http://sources.redhat.com/bugzilla/show_bug.cgi?id=3976
+    restore_pre_PPL_rounding();
+    boundary_type sdm = boundary_type(sin(d-0.015));
+    boundary_type sdp = boundary_type(sin(d-0.015));
+    set_rounding_for_PPL();
 
     iy.assign(EMPTY);
-    iy.join_assign(sin(d-0.015));
-    iy.join_assign(sin(d+0.015));
+    iy.join_assign(sdm);
+    iy.join_assign(sdp);
 
     box.set_interval(x, ix);
     box.set_interval(y, iy);
diff --git a/tests/Box/minconstraints1.cc b/tests/Box/minconstraints1.cc
index 452e65c..d9960f5 100644
--- a/tests/Box/minconstraints1.cc
+++ b/tests/Box/minconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Box<T>::minimized_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/propagateconstraints1.cc b/tests/Box/propagateconstraints1.cc
index 323d587..b7aac8f 100644
--- a/tests/Box/propagateconstraints1.cc
+++ b/tests/Box/propagateconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Box::propagate_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/propagateconstraints2.cc b/tests/Box/propagateconstraints2.cc
index 6fcc0b0..a17acb8 100644
--- a/tests/Box/propagateconstraints2.cc
+++ b/tests/Box/propagateconstraints2.cc
@@ -1,6 +1,6 @@
 /* Test Box::propagate_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -386,7 +386,11 @@ bool test01() {
 
   print_constraints(tbox, "*** tbox.propagate_edges() ***");
 
+#if PPL_SUPPORTED_DOUBLE
   bool ok = check_result(tbox, qbox2, "18.36", "2.83", "2.79");
+#else
+  bool ok = check_result(tbox, qbox2, "30.96", "2.83", "2.79");
+#endif
 
   return ok;
 }
diff --git a/tests/Box/refinewithcongruence1.cc b/tests/Box/refinewithcongruence1.cc
index 6bffd62..6b61c50 100644
--- a/tests/Box/refinewithcongruence1.cc
+++ b/tests/Box/refinewithcongruence1.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_congruences(const Congruence_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/refinewithcongruences1.cc b/tests/Box/refinewithcongruences1.cc
index 477c919..020fb90 100644
--- a/tests/Box/refinewithcongruences1.cc
+++ b/tests/Box/refinewithcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_congruences(const Congruence_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/refinewithconstraint1.cc b/tests/Box/refinewithconstraint1.cc
index 343e02d..fbb7acc 100644
--- a/tests/Box/refinewithconstraint1.cc
+++ b/tests/Box/refinewithconstraint1.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_constraint(const Constraint&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/refinewithconstraint2.cc b/tests/Box/refinewithconstraint2.cc
index 489328b..c5b71b0 100644
--- a/tests/Box/refinewithconstraint2.cc
+++ b/tests/Box/refinewithconstraint2.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_constraint(const Constraint&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -38,10 +38,8 @@ struct Unsigned_Integer_Closed_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef Interval_Restriction_None
-<Interval_Info_Bitset<unsigned int,
-                      Unsigned_Integer_Closed_Interval_Info_Policy> >
-Unsigned_Integer_Closed_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Unsigned_Integer_Closed_Interval_Info_Policy> Unsigned_Integer_Closed_Interval_Info;
 
 typedef Interval<unsigned long long, Unsigned_Integer_Closed_Interval_Info>
 Unsigned_Integer_Closed_Interval;
diff --git a/tests/Box/refinewithconstraints1.cc b/tests/Box/refinewithconstraints1.cc
index ac4c91f..fc986c6 100644
--- a/tests/Box/refinewithconstraints1.cc
+++ b/tests/Box/refinewithconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,18 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
+#if defined(__sun) || defined(__sun__)
+
+// Some versions of Solaris define R1 in /usr/include/ia32/sys/reg.h.
+// This conflicts with the use or R1 being made in this proram.
+# undef R1
+
+#endif // defined(__sun) || defined(__sun__)
+
 namespace {
 
 bool
diff --git a/tests/Box/refinewithconstraints2.cc b/tests/Box/refinewithconstraints2.cc
index c613d05..39f04fb 100644
--- a/tests/Box/refinewithconstraints2.cc
+++ b/tests/Box/refinewithconstraints2.cc
@@ -1,7 +1,7 @@
 /* Test Box::refine_with_constraints(const Constraint_System&) with
    instances that may require a watchdog timer.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,10 +20,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
-#include "pwl.hh"
 #include <sstream>
 
 namespace {
@@ -80,7 +79,7 @@ test01() {
     // refinement instance does not terminate: we use a watchdog timer.
     try {
       // Set a 0.1 seconds timeout.
-      Parma_Watchdog_Library::Watchdog
+      Parma_Polyhedra_Library::Watchdog
         w(10, abandon_expensive_computations, t);
 
       box.refine_with_constraints(cs);
@@ -397,7 +396,7 @@ test02() {
     // very slowly: we use a watchdog timer.
     try {
       // Set a 0.5 seconds timeout.
-      Parma_Watchdog_Library::Watchdog
+      Parma_Polyhedra_Library::Watchdog
         w(50, abandon_expensive_computations, t);
 
       box.refine_with_constraints(cs);
diff --git a/tests/Box/relations1.cc b/tests/Box/relations1.cc
index f186f16..5d4732c 100644
--- a/tests/Box/relations1.cc
+++ b/tests/Box/relations1.cc
@@ -1,6 +1,6 @@
 /* Test Box::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/relations2.cc b/tests/Box/relations2.cc
index abb6781..cbc8620 100644
--- a/tests/Box/relations2.cc
+++ b/tests/Box/relations2.cc
@@ -1,6 +1,6 @@
 /* Test Box::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/relations3.cc b/tests/Box/relations3.cc
index 2e51899..350a283 100644
--- a/tests/Box/relations3.cc
+++ b/tests/Box/relations3.cc
@@ -1,6 +1,6 @@
 /* Test Box::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/relations4.cc b/tests/Box/relations4.cc
index 26de159..83b1f02 100644
--- a/tests/Box/relations4.cc
+++ b/tests/Box/relations4.cc
@@ -1,6 +1,6 @@
 /* Test Box::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -432,6 +432,7 @@ test19() {
   try {
     // This tests the space dimension exception..
    Poly_Con_Relation rel = box.relation_with((A + B %= 1) / 9);
+   (void) rel;
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << endl;
diff --git a/tests/Box/removespacedims1.cc b/tests/Box/removespacedims1.cc
index 5cb3e63..4ace914 100644
--- a/tests/Box/removespacedims1.cc
+++ b/tests/Box/removespacedims1.cc
@@ -1,6 +1,6 @@
 /* Remove some variables from the space.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/run_tests b/tests/Box/run_tests
index de65cec..dff47d6 100755
--- a/tests/Box/run_tests
+++ b/tests/Box/run_tests
@@ -2,7 +2,7 @@
 
 # Run the Box tests.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -21,7 +21,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 mpz_class_XFAIL_TESTS=
 mpq_class_XFAIL_TESTS=
diff --git a/tests/Box/simplifyusingcontext1.cc b/tests/Box/simplifyusingcontext1.cc
index 1a00e90..7afc558 100644
--- a/tests/Box/simplifyusingcontext1.cc
+++ b/tests/Box/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test Box::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/timeelapse1.cc b/tests/Box/timeelapse1.cc
index 21e0f56..c6c4a2c 100644
--- a/tests/Box/timeelapse1.cc
+++ b/tests/Box/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test Box<Interval>::time_elapse_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/topclosed1.cc b/tests/Box/topclosed1.cc
index a54989d..f299abe 100644
--- a/tests/Box/topclosed1.cc
+++ b/tests/Box/topclosed1.cc
@@ -1,6 +1,6 @@
 /* Test Box::is_topologically_closed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/unconstrain1.cc b/tests/Box/unconstrain1.cc
index 0f97973..94c70f7 100644
--- a/tests/Box/unconstrain1.cc
+++ b/tests/Box/unconstrain1.cc
@@ -1,6 +1,6 @@
 /* Test Box::unconstrain().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/universe1.cc b/tests/Box/universe1.cc
index f543f64..a25513d 100644
--- a/tests/Box/universe1.cc
+++ b/tests/Box/universe1.cc
@@ -1,6 +1,6 @@
 /* Test Box::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/upperbound1.cc b/tests/Box/upperbound1.cc
index ba255e7..d011423 100644
--- a/tests/Box/upperbound1.cc
+++ b/tests/Box/upperbound1.cc
@@ -1,6 +1,6 @@
 /* Test Box::upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -35,13 +35,10 @@ test01() {
   TBox box1(5);
   box1.add_constraint(x1 <= 5);
   box1.add_constraint(x2 <= -1);
-  box1.add_constraint(x1 -x2 <= 10);
 
   TBox box2(5);
-  box2.add_constraint(x1  <= 2);
+  box2.add_constraint(x1 <= 2);
   box2.add_constraint(x4 <= 7);
-  box2.add_constraint(x1 - x2 <= 20);
-  box2.add_constraint(x4 - x3 <= 3);
 
   print_constraints(box1, "*** box1 ***");
   print_constraints(box2, "*** box2 ***");
@@ -50,7 +47,6 @@ test01() {
 
   Rational_Box known_result(5);
   known_result.add_constraint(x1 <= 5);
-  known_result.add_constraint(x1 - x2 <= 20);
 
   bool ok = check_result(box1, known_result);
 
@@ -69,10 +65,8 @@ test02() {
   box1.add_constraint(-x <= -1);
   box1.add_constraint(y <= 3);
   box1.add_constraint(-y <= -1);
-  box1.add_constraint(x - y <= 1);
 
   TBox box2(3);
-  box2.add_constraint(y - x <= -1);
   box2.add_constraint(x <= 3);
   box2.add_constraint(-y <= 5);
 
@@ -84,10 +78,6 @@ test02() {
   Rational_Box known_result(3);
   known_result.add_constraint(x <= 4);
   known_result.add_constraint(y >= -5);
-  known_result.add_constraint(x >= -4);
-  known_result.add_constraint(y <= 3);
-  known_result.add_constraint(x - y <= 8);
-  known_result.add_constraint(y - x <= 2);
 
   bool ok = check_result(box1, known_result);
 
@@ -106,10 +96,8 @@ test03() {
   box1.add_constraint(-x <= -1);
   box1.add_constraint(y <= 3);
   box1.add_constraint(-y <= -1);
-  box1.add_constraint(x - y <= 1);
 
   TBox box2(2);
-  box2.add_constraint(y - x <= -1);
   box2.add_constraint(x <= 3);
   box2.add_constraint(x >= 5);
 
@@ -137,12 +125,11 @@ test04() {
   box1.add_constraint(A >= 1);
   box1.add_constraint(B <= 3);
   box1.add_constraint(-B <= -1);
-  box1.add_constraint(A - B <= 1);
 
   TBox box2(2);
-  box2.add_constraint(B - A <= -1);
-  box2.add_constraint(A <= 3);
+  box2.add_constraint(A <= 8);
   box2.add_constraint(-B <= 5);
+  box2.add_constraint(B <= 0);
 
   print_constraints(box1, "*** box1 ***");
   print_constraints(box2, "*** box2 ***");
@@ -150,12 +137,9 @@ test04() {
   box1.upper_bound_assign(box2);
 
   Rational_Box known_result(2);
-  known_result.add_constraint(A <= 4);
+  known_result.add_constraint(A <= 8);
   known_result.add_constraint(B >= -5);
-  known_result.add_constraint(A >= -4);
   known_result.add_constraint(B <= 3);
-  known_result.add_constraint(A - B <= 8);
-  known_result.add_constraint(B - A <= 2);
 
   bool ok = check_result(box1, known_result);
 
@@ -186,31 +170,6 @@ test05() {
 
 bool
 test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box1(2);
-  box1.add_constraint(x >= y);
-
-  TBox box2(3);
-
-  try {
-    // This is an invalid use of method
-    // Box::upper_bound_assign(box2): it is illegal
-    // to apply the method to two polyhedra of different dimensions.
-    box1.upper_bound_assign(box2);
-  }
-  catch (std::invalid_argument& e) {
-    nout << "std::invalid_argument: " << endl;
-    return true;
-  }
-  catch (...) {
-  }
-  return false;
-}
-
-bool
-test07() {
   Variable A(0);
 
   TBox box1(1);
@@ -236,7 +195,7 @@ test07() {
 }
 
 bool
-test08() {
+test07() {
   Variable x1(0);
 
   TBox box1(1);
@@ -252,16 +211,41 @@ test08() {
   return true;
 }
 
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(A == 0);
+  box1.add_constraint(B == 1);
+
+  TBox box2(box1);
+  box1.affine_image(B, Linear_Expression(4));
+
+  box2.add_constraint(A > 1);
+  box1.upper_bound_assign(box2);
+
+  TBox known_result(2, UNIVERSE);
+  known_result.add_constraint(A == 0);
+  known_result.add_constraint(B == 4);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1, "=== box1 ===");
+  print_constraints(box2, "=== known_result ===");
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
-// CHECKME: why test from 1 to 7 are commented out?
-//   DO_TEST(test01);
-//   DO_TEST(test02);
-//   DO_TEST(test03);
-//   DO_TEST(test04);
-//   DO_TEST(test05);
-//   DO_TEST(test06);
-//   DO_TEST(test07);
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
   DO_TEST(test08);
 END_MAIN
diff --git a/tests/Box/upperboundifexact1.cc b/tests/Box/upperboundifexact1.cc
index 61fcd5c..52e7a65 100644
--- a/tests/Box/upperboundifexact1.cc
+++ b/tests/Box/upperboundifexact1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/wrap1.cc b/tests/Box/wrap1.cc
index bbc766a..87e722f 100644
--- a/tests/Box/wrap1.cc
+++ b/tests/Box/wrap1.cc
@@ -1,6 +1,6 @@
 /* Test Box::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Box/writebox1.cc b/tests/Box/writebox1.cc
index 2ae1e0c..d7231ae 100644
--- a/tests/Box/writebox1.cc
+++ b/tests/Box/writebox1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(ostream&, const Box&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/CO_Tree/Makefile.am b/tests/CO_Tree/Makefile.am
new file mode 100644
index 0000000..a7a8cee
--- /dev/null
+++ b/tests/CO_Tree/Makefile.am
@@ -0,0 +1,78 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ .
+
+if VALGRIND_TESTS_ENABLED
+
+CHECKER = \
+libtool --mode=execute \
+$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+--num-callers=40 --leak-resolution=high \
+--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+else !VALGRIND_TESTS_ENABLED
+
+CHECKER =
+
+endif !VALGRIND_TESTS_ENABLED
+
+TESTS_ENVIRONMENT = $(CHECKER)
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+TESTS = \
+cotree1
+
+XFAIL_TESTS =
+
+BUGS =
+
+#
+# Sources for the tests
+#
+
+cotree1_SOURCES = cotree1.cc
+
+check_PROGRAMS = \
+$(TESTS) \
+$(BUGS)
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
diff --git a/tests/CO_Tree/Makefile.in b/tests/CO_Tree/Makefile.in
new file mode 100644
index 0000000..d09f082
--- /dev/null
+++ b/tests/CO_Tree/Makefile.in
@@ -0,0 +1,752 @@
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ .
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+TESTS = cotree1$(EXEEXT)
+XFAIL_TESTS =
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+subdir = tests/CO_Tree
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = cotree1$(EXEEXT)
+am__EXEEXT_2 =
+am_cotree1_OBJECTS = cotree1.$(OBJEXT)
+cotree1_OBJECTS = $(am_cotree1_OBJECTS)
+cotree1_LDADD = $(LDADD)
+cotree1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(cotree1_SOURCES)
+DIST_SOURCES = $(cotree1_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+ at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
+ at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
+ at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+ at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=40 --leak-resolution=high \
+ at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+TESTS_ENVIRONMENT = $(CHECKER)
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/utils \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+BUGS = 
+
+#
+# Sources for the tests
+#
+cotree1_SOURCES = cotree1.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/CO_Tree/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/CO_Tree/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+cotree1$(EXEEXT): $(cotree1_OBJECTS) $(cotree1_DEPENDENCIES) $(EXTRA_cotree1_DEPENDENCIES) 
+	@rm -f cotree1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(cotree1_OBJECTS) $(cotree1_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cotree1.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am
+
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/CO_Tree/cotree1.cc b/tests/CO_Tree/cotree1.cc
new file mode 100644
index 0000000..b65d6ef
--- /dev/null
+++ b/tests/CO_Tree/cotree1.cc
@@ -0,0 +1,2496 @@
+/* Test the CO_Tree class.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+#if PPL_USE_SPARSE_MATRIX
+
+#include <vector>
+#include <algorithm>
+#include <set>
+
+namespace {
+
+bool
+test01() {
+
+  CO_Tree tree;
+
+  for (CO_Tree::iterator i = tree.begin(), i_end = tree.end(); i != i_end; ++i)
+    ;
+
+  return true;
+}
+
+bool
+test02() {
+
+  CO_Tree tree;
+
+  tree.insert(0, Coefficient_zero());
+  tree.insert(1, Coefficient_zero());
+  tree.insert(2, Coefficient_zero());
+  tree.insert(3, Coefficient_zero());
+  tree.insert(4, Coefficient_zero());
+
+  return true;
+}
+
+bool
+test03() {
+
+  // Sequential insertion, sequential erase.
+
+  CO_Tree tree;
+
+  for (unsigned n = 0; n < 500; ++n)
+    tree.insert(n, 0);
+
+  for (unsigned n = 0; n < 500; ++n)
+    tree.erase(n);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool
+test04() {
+
+  // Sequential insertion, backwards erase.
+
+  CO_Tree tree;
+
+  for (unsigned n = 0; n < 500; ++n)
+    tree.insert(n, 0);
+
+  for (unsigned n = 500; n-- > 0; )
+    tree.erase(n);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool
+test05() {
+
+  // Backwards insertion, sequential erase.
+
+  CO_Tree tree;
+
+  for (unsigned n = 500; n-- > 0; )
+    tree.insert(n, 0);
+
+  for (unsigned n = 0; n < 500; ++n)
+    tree.erase(n);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool
+test06() {
+
+  // Backwards insertion, backwards erase.
+
+  CO_Tree tree;
+
+  for (unsigned n = 500; --n > 0; )
+    tree.insert(n, 0);
+
+  for (unsigned n = 500; --n > 0; )
+    tree.erase(n);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool
+test07() {
+
+  // Sequential insertion, pseudo-random erase.
+
+  CO_Tree tree;
+
+  for (unsigned n = 0; n < 500; ++n)
+    tree.insert(n, 0);
+
+  tree.erase(110);
+  tree.erase(290);
+  tree.erase(11);
+  tree.erase(69);
+  tree.erase(209);
+  tree.erase(468);
+  tree.erase(17);
+  tree.erase(293);
+  tree.erase(164);
+  tree.erase(350);
+  tree.erase(115);
+  tree.erase(322);
+  tree.erase(361);
+  tree.erase(2);
+  tree.erase(446);
+  tree.erase(281);
+  tree.erase(400);
+  tree.erase(375);
+  tree.erase(153);
+  tree.erase(116);
+  tree.erase(143);
+  tree.erase(329);
+  tree.erase(420);
+  tree.erase(133);
+  tree.erase(363);
+  tree.erase(192);
+  tree.erase(27);
+  tree.erase(275);
+  tree.erase(104);
+  tree.erase(213);
+  tree.erase(352);
+  tree.erase(427);
+  tree.erase(273);
+  tree.erase(288);
+  tree.erase(396);
+  tree.erase(114);
+  tree.erase(341);
+  tree.erase(413);
+  tree.erase(201);
+  tree.erase(280);
+  tree.erase(66);
+  tree.erase(227);
+  tree.erase(406);
+  tree.erase(79);
+  tree.erase(259);
+  tree.erase(176);
+  tree.erase(106);
+  tree.erase(0);
+  tree.erase(328);
+  tree.erase(270);
+  tree.erase(449);
+  tree.erase(165);
+  tree.erase(163);
+  tree.erase(43);
+  tree.erase(391);
+  tree.erase(202);
+  tree.erase(49);
+  tree.erase(105);
+  tree.erase(149);
+  tree.erase(318);
+  tree.erase(387);
+  tree.erase(389);
+  tree.erase(141);
+  tree.erase(408);
+  tree.erase(486);
+  tree.erase(354);
+  tree.erase(8);
+  tree.erase(33);
+  tree.erase(421);
+  tree.erase(385);
+  tree.erase(25);
+  tree.erase(485);
+  tree.erase(196);
+  tree.erase(31);
+  tree.erase(82);
+  tree.erase(434);
+  tree.erase(423);
+  tree.erase(358);
+  tree.erase(255);
+  tree.erase(287);
+  tree.erase(23);
+  tree.erase(122);
+  tree.erase(489);
+  tree.erase(19);
+  tree.erase(126);
+  tree.erase(44);
+  tree.erase(120);
+  tree.erase(131);
+  tree.erase(332);
+  tree.erase(448);
+  tree.erase(238);
+  tree.erase(264);
+  tree.erase(454);
+  tree.erase(218);
+  tree.erase(157);
+  tree.erase(436);
+  tree.erase(225);
+  tree.erase(437);
+  tree.erase(443);
+  tree.erase(179);
+  tree.erase(265);
+  tree.erase(475);
+  tree.erase(180);
+  tree.erase(487);
+  tree.erase(339);
+  tree.erase(492);
+  tree.erase(395);
+  tree.erase(491);
+  tree.erase(223);
+  tree.erase(113);
+  tree.erase(92);
+  tree.erase(48);
+  tree.erase(61);
+  tree.erase(127);
+  tree.erase(190);
+  tree.erase(67);
+  tree.erase(484);
+  tree.erase(439);
+  tree.erase(355);
+  tree.erase(243);
+  tree.erase(392);
+  tree.erase(159);
+  tree.erase(74);
+  tree.erase(337);
+  tree.erase(151);
+  tree.erase(458);
+  tree.erase(480);
+  tree.erase(334);
+  tree.erase(419);
+  tree.erase(309);
+  tree.erase(301);
+  tree.erase(125);
+  tree.erase(407);
+  tree.erase(496);
+  tree.erase(187);
+  tree.erase(50);
+  tree.erase(368);
+  tree.erase(283);
+  tree.erase(244);
+  tree.erase(170);
+  tree.erase(118);
+  tree.erase(457);
+  tree.erase(181);
+  tree.erase(479);
+  tree.erase(401);
+  tree.erase(494);
+  tree.erase(99);
+  tree.erase(236);
+  tree.erase(240);
+  tree.erase(147);
+  tree.erase(233);
+  tree.erase(172);
+  tree.erase(266);
+  tree.erase(32);
+  tree.erase(210);
+  tree.erase(161);
+  tree.erase(156);
+  tree.erase(178);
+  tree.erase(221);
+  tree.erase(78);
+  tree.erase(85);
+  tree.erase(135);
+  tree.erase(145);
+  tree.erase(356);
+  tree.erase(397);
+  tree.erase(450);
+  tree.erase(276);
+  tree.erase(41);
+  tree.erase(414);
+  tree.erase(14);
+  tree.erase(22);
+  tree.erase(29);
+  tree.erase(34);
+  tree.erase(498);
+  tree.erase(250);
+  tree.erase(36);
+  tree.erase(320);
+  tree.erase(268);
+  tree.erase(195);
+  tree.erase(382);
+  tree.erase(441);
+  tree.erase(235);
+  tree.erase(346);
+  tree.erase(476);
+  tree.erase(217);
+  tree.erase(335);
+  tree.erase(121);
+  tree.erase(94);
+  tree.erase(278);
+  tree.erase(272);
+  tree.erase(207);
+  tree.erase(463);
+  tree.erase(150);
+  tree.erase(432);
+  tree.erase(410);
+  tree.erase(208);
+  tree.erase(70);
+  tree.erase(84);
+  tree.erase(186);
+  tree.erase(6);
+  tree.erase(224);
+  tree.erase(9);
+  tree.erase(60);
+  tree.erase(175);
+  tree.erase(430);
+  tree.erase(128);
+  tree.erase(129);
+  tree.erase(465);
+  tree.erase(459);
+  tree.erase(289);
+  tree.erase(261);
+  tree.erase(26);
+  tree.erase(461);
+  tree.erase(279);
+  tree.erase(245);
+  tree.erase(478);
+  tree.erase(403);
+  tree.erase(45);
+  tree.erase(359);
+  tree.erase(327);
+  tree.erase(393);
+  tree.erase(373);
+  tree.erase(304);
+  tree.erase(83);
+  tree.erase(160);
+  tree.erase(198);
+  tree.erase(103);
+  tree.erase(367);
+  tree.erase(76);
+  tree.erase(73);
+  tree.erase(167);
+  tree.erase(291);
+  tree.erase(215);
+  tree.erase(219);
+  tree.erase(119);
+  tree.erase(456);
+  tree.erase(197);
+  tree.erase(477);
+  tree.erase(222);
+  tree.erase(174);
+  tree.erase(451);
+  tree.erase(214);
+  tree.erase(112);
+  tree.erase(464);
+  tree.erase(262);
+  tree.erase(47);
+  tree.erase(347);
+  tree.erase(111);
+  tree.erase(148);
+  tree.erase(308);
+  tree.erase(340);
+  tree.erase(100);
+  tree.erase(130);
+  tree.erase(323);
+  tree.erase(312);
+  tree.erase(292);
+  tree.erase(35);
+  tree.erase(306);
+  tree.erase(58);
+  tree.erase(353);
+  tree.erase(452);
+  tree.erase(91);
+  tree.erase(319);
+  tree.erase(330);
+  tree.erase(473);
+  tree.erase(488);
+  tree.erase(134);
+  tree.erase(315);
+  tree.erase(253);
+  tree.erase(374);
+  tree.erase(384);
+  tree.erase(95);
+  tree.erase(370);
+  tree.erase(13);
+  tree.erase(183);
+  tree.erase(136);
+  tree.erase(313);
+  tree.erase(307);
+  tree.erase(239);
+  tree.erase(258);
+  tree.erase(405);
+  tree.erase(56);
+  tree.erase(228);
+  tree.erase(455);
+  tree.erase(317);
+  tree.erase(497);
+  tree.erase(102);
+  tree.erase(117);
+  tree.erase(68);
+  tree.erase(234);
+  tree.erase(51);
+  tree.erase(107);
+  tree.erase(349);
+  tree.erase(348);
+  tree.erase(416);
+  tree.erase(88);
+  tree.erase(89);
+  tree.erase(366);
+  tree.erase(109);
+  tree.erase(189);
+  tree.erase(333);
+  tree.erase(3);
+  tree.erase(394);
+  tree.erase(267);
+  tree.erase(269);
+  tree.erase(246);
+  tree.erase(152);
+  tree.erase(173);
+  tree.erase(438);
+  tree.erase(24);
+  tree.erase(15);
+  tree.erase(390);
+  tree.erase(284);
+  tree.erase(360);
+  tree.erase(371);
+  tree.erase(81);
+  tree.erase(65);
+  tree.erase(299);
+  tree.erase(132);
+  tree.erase(98);
+  tree.erase(303);
+  tree.erase(139);
+  tree.erase(453);
+  tree.erase(402);
+  tree.erase(20);
+  tree.erase(54);
+  tree.erase(499);
+  tree.erase(260);
+  tree.erase(285);
+  tree.erase(381);
+  tree.erase(357);
+  tree.erase(248);
+  tree.erase(362);
+  tree.erase(62);
+  tree.erase(203);
+  tree.erase(411);
+  tree.erase(444);
+  tree.erase(388);
+  tree.erase(10);
+  tree.erase(342);
+  tree.erase(229);
+  tree.erase(481);
+  tree.erase(369);
+  tree.erase(378);
+  tree.erase(38);
+  tree.erase(77);
+  tree.erase(415);
+  tree.erase(466);
+  tree.erase(404);
+  tree.erase(90);
+  tree.erase(101);
+  tree.erase(169);
+  tree.erase(435);
+  tree.erase(296);
+  tree.erase(282);
+  tree.erase(63);
+  tree.erase(52);
+  tree.erase(40);
+  tree.erase(231);
+  tree.erase(302);
+  tree.erase(18);
+  tree.erase(383);
+  tree.erase(194);
+  tree.erase(351);
+  tree.erase(254);
+  tree.erase(431);
+  tree.erase(199);
+  tree.erase(80);
+  tree.erase(300);
+  tree.erase(140);
+  tree.erase(324);
+  tree.erase(286);
+  tree.erase(188);
+  tree.erase(386);
+  tree.erase(344);
+  tree.erase(166);
+  tree.erase(4);
+  tree.erase(226);
+  tree.erase(316);
+  tree.erase(158);
+  tree.erase(447);
+  tree.erase(86);
+  tree.erase(398);
+  tree.erase(108);
+  tree.erase(230);
+  tree.erase(310);
+  tree.erase(495);
+  tree.erase(171);
+  tree.erase(380);
+  tree.erase(249);
+  tree.erase(433);
+  tree.erase(16);
+  tree.erase(470);
+  tree.erase(277);
+  tree.erase(21);
+  tree.erase(372);
+  tree.erase(252);
+  tree.erase(424);
+  tree.erase(144);
+  tree.erase(377);
+  tree.erase(59);
+  tree.erase(46);
+  tree.erase(55);
+  tree.erase(429);
+  tree.erase(474);
+  tree.erase(321);
+  tree.erase(399);
+  tree.erase(471);
+  tree.erase(237);
+  tree.erase(442);
+  tree.erase(97);
+  tree.erase(220);
+  tree.erase(445);
+  tree.erase(326);
+  tree.erase(37);
+  tree.erase(336);
+  tree.erase(343);
+  tree.erase(412);
+  tree.erase(409);
+  tree.erase(460);
+  tree.erase(57);
+  tree.erase(168);
+  tree.erase(295);
+  tree.erase(247);
+  tree.erase(482);
+  tree.erase(425);
+  tree.erase(256);
+  tree.erase(96);
+  tree.erase(53);
+  tree.erase(469);
+  tree.erase(162);
+  tree.erase(493);
+  tree.erase(294);
+  tree.erase(177);
+  tree.erase(212);
+  tree.erase(30);
+  tree.erase(5);
+  tree.erase(193);
+  tree.erase(483);
+  tree.erase(124);
+  tree.erase(87);
+  tree.erase(64);
+  tree.erase(490);
+  tree.erase(155);
+  tree.erase(422);
+  tree.erase(191);
+  tree.erase(75);
+  tree.erase(325);
+  tree.erase(1);
+  tree.erase(182);
+  tree.erase(28);
+  tree.erase(364);
+  tree.erase(42);
+  tree.erase(39);
+  tree.erase(376);
+  tree.erase(467);
+  tree.erase(426);
+  tree.erase(205);
+  tree.erase(365);
+  tree.erase(137);
+  tree.erase(297);
+  tree.erase(462);
+  tree.erase(241);
+  tree.erase(123);
+  tree.erase(206);
+  tree.erase(440);
+  tree.erase(216);
+  tree.erase(146);
+  tree.erase(142);
+  tree.erase(72);
+  tree.erase(379);
+  tree.erase(472);
+  tree.erase(305);
+  tree.erase(271);
+  tree.erase(298);
+  tree.erase(232);
+  tree.erase(242);
+  tree.erase(184);
+  tree.erase(138);
+  tree.erase(154);
+  tree.erase(200);
+  tree.erase(71);
+  tree.erase(211);
+  tree.erase(274);
+  tree.erase(263);
+  tree.erase(311);
+  tree.erase(428);
+  tree.erase(331);
+  tree.erase(7);
+  tree.erase(345);
+  tree.erase(185);
+  tree.erase(338);
+  tree.erase(251);
+  tree.erase(417);
+  tree.erase(12);
+  tree.erase(93);
+  tree.erase(204);
+  tree.erase(257);
+  tree.erase(418);
+  tree.erase(314);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool test08() {
+
+  // Pseudo-random insertion, pseudo-random erase (in the same order).
+
+  CO_Tree tree;
+
+  tree.insert(110, 0);
+  tree.insert(290, 0);
+  tree.insert(11, 0);
+  tree.insert(69, 0);
+  tree.insert(209, 0);
+  tree.insert(468, 0);
+  tree.insert(17, 0);
+  tree.insert(293, 0);
+  tree.insert(164, 0);
+  tree.insert(350, 0);
+  tree.insert(115, 0);
+  tree.insert(322, 0);
+  tree.insert(361, 0);
+  tree.insert(2, 0);
+  tree.insert(446, 0);
+  tree.insert(281, 0);
+  tree.insert(400, 0);
+  tree.insert(375, 0);
+  tree.insert(153, 0);
+  tree.insert(116, 0);
+  tree.insert(143, 0);
+  tree.insert(329, 0);
+  tree.insert(420, 0);
+  tree.insert(133, 0);
+  tree.insert(363, 0);
+  tree.insert(192, 0);
+  tree.insert(27, 0);
+  tree.insert(275, 0);
+  tree.insert(104, 0);
+  tree.insert(213, 0);
+  tree.insert(352, 0);
+  tree.insert(427, 0);
+  tree.insert(273, 0);
+  tree.insert(288, 0);
+  tree.insert(396, 0);
+  tree.insert(114, 0);
+  tree.insert(341, 0);
+  tree.insert(413, 0);
+  tree.insert(201, 0);
+  tree.insert(280, 0);
+  tree.insert(66, 0);
+  tree.insert(227, 0);
+  tree.insert(406, 0);
+  tree.insert(79, 0);
+  tree.insert(259, 0);
+  tree.insert(176, 0);
+  tree.insert(106, 0);
+  tree.insert(0, 0);
+  tree.insert(328, 0);
+  tree.insert(270, 0);
+  tree.insert(449, 0);
+  tree.insert(165, 0);
+  tree.insert(163, 0);
+  tree.insert(43, 0);
+  tree.insert(391, 0);
+  tree.insert(202, 0);
+  tree.insert(49, 0);
+  tree.insert(105, 0);
+  tree.insert(149, 0);
+  tree.insert(318, 0);
+  tree.insert(387, 0);
+  tree.insert(389, 0);
+  tree.insert(141, 0);
+  tree.insert(408, 0);
+  tree.insert(486, 0);
+  tree.insert(354, 0);
+  tree.insert(8, 0);
+  tree.insert(33, 0);
+  tree.insert(421, 0);
+  tree.insert(385, 0);
+  tree.insert(25, 0);
+  tree.insert(485, 0);
+  tree.insert(196, 0);
+  tree.insert(31, 0);
+  tree.insert(82, 0);
+  tree.insert(434, 0);
+  tree.insert(423, 0);
+  tree.insert(358, 0);
+  tree.insert(255, 0);
+  tree.insert(287, 0);
+  tree.insert(23, 0);
+  tree.insert(122, 0);
+  tree.insert(489, 0);
+  tree.insert(19, 0);
+  tree.insert(126, 0);
+  tree.insert(44, 0);
+  tree.insert(120, 0);
+  tree.insert(131, 0);
+  tree.insert(332, 0);
+  tree.insert(448, 0);
+  tree.insert(238, 0);
+  tree.insert(264, 0);
+  tree.insert(454, 0);
+  tree.insert(218, 0);
+  tree.insert(157, 0);
+  tree.insert(436, 0);
+  tree.insert(225, 0);
+  tree.insert(437, 0);
+  tree.insert(443, 0);
+  tree.insert(179, 0);
+  tree.insert(265, 0);
+  tree.insert(475, 0);
+  tree.insert(180, 0);
+  tree.insert(487, 0);
+  tree.insert(339, 0);
+  tree.insert(492, 0);
+  tree.insert(395, 0);
+  tree.insert(491, 0);
+  tree.insert(223, 0);
+  tree.insert(113, 0);
+  tree.insert(92, 0);
+  tree.insert(48, 0);
+  tree.insert(61, 0);
+  tree.insert(127, 0);
+  tree.insert(190, 0);
+  tree.insert(67, 0);
+  tree.insert(484, 0);
+  tree.insert(439, 0);
+  tree.insert(355, 0);
+  tree.insert(243, 0);
+  tree.insert(392, 0);
+  tree.insert(159, 0);
+  tree.insert(74, 0);
+  tree.insert(337, 0);
+  tree.insert(151, 0);
+  tree.insert(458, 0);
+  tree.insert(480, 0);
+  tree.insert(334, 0);
+  tree.insert(419, 0);
+  tree.insert(309, 0);
+  tree.insert(301, 0);
+  tree.insert(125, 0);
+  tree.insert(407, 0);
+  tree.insert(496, 0);
+  tree.insert(187, 0);
+  tree.insert(50, 0);
+  tree.insert(368, 0);
+  tree.insert(283, 0);
+  tree.insert(244, 0);
+  tree.insert(170, 0);
+  tree.insert(118, 0);
+  tree.insert(457, 0);
+  tree.insert(181, 0);
+  tree.insert(479, 0);
+  tree.insert(401, 0);
+  tree.insert(494, 0);
+  tree.insert(99, 0);
+  tree.insert(236, 0);
+  tree.insert(240, 0);
+  tree.insert(147, 0);
+  tree.insert(233, 0);
+  tree.insert(172, 0);
+  tree.insert(266, 0);
+  tree.insert(32, 0);
+  tree.insert(210, 0);
+  tree.insert(161, 0);
+  tree.insert(156, 0);
+  tree.insert(178, 0);
+  tree.insert(221, 0);
+  tree.insert(78, 0);
+  tree.insert(85, 0);
+  tree.insert(135, 0);
+  tree.insert(145, 0);
+  tree.insert(356, 0);
+  tree.insert(397, 0);
+  tree.insert(450, 0);
+  tree.insert(276, 0);
+  tree.insert(41, 0);
+  tree.insert(414, 0);
+  tree.insert(14, 0);
+  tree.insert(22, 0);
+  tree.insert(29, 0);
+  tree.insert(34, 0);
+  tree.insert(498, 0);
+  tree.insert(250, 0);
+  tree.insert(36, 0);
+  tree.insert(320, 0);
+  tree.insert(268, 0);
+  tree.insert(195, 0);
+  tree.insert(382, 0);
+  tree.insert(441, 0);
+  tree.insert(235, 0);
+  tree.insert(346, 0);
+  tree.insert(476, 0);
+  tree.insert(217, 0);
+  tree.insert(335, 0);
+  tree.insert(121, 0);
+  tree.insert(94, 0);
+  tree.insert(278, 0);
+  tree.insert(272, 0);
+  tree.insert(207, 0);
+  tree.insert(463, 0);
+  tree.insert(150, 0);
+  tree.insert(432, 0);
+  tree.insert(410, 0);
+  tree.insert(208, 0);
+  tree.insert(70, 0);
+  tree.insert(84, 0);
+  tree.insert(186, 0);
+  tree.insert(6, 0);
+  tree.insert(224, 0);
+  tree.insert(9, 0);
+  tree.insert(60, 0);
+  tree.insert(175, 0);
+  tree.insert(430, 0);
+  tree.insert(128, 0);
+  tree.insert(129, 0);
+  tree.insert(465, 0);
+  tree.insert(459, 0);
+  tree.insert(289, 0);
+  tree.insert(261, 0);
+  tree.insert(26, 0);
+  tree.insert(461, 0);
+  tree.insert(279, 0);
+  tree.insert(245, 0);
+  tree.insert(478, 0);
+  tree.insert(403, 0);
+  tree.insert(45, 0);
+  tree.insert(359, 0);
+  tree.insert(327, 0);
+  tree.insert(393, 0);
+  tree.insert(373, 0);
+  tree.insert(304, 0);
+  tree.insert(83, 0);
+  tree.insert(160, 0);
+  tree.insert(198, 0);
+  tree.insert(103, 0);
+  tree.insert(367, 0);
+  tree.insert(76, 0);
+  tree.insert(73, 0);
+  tree.insert(167, 0);
+  tree.insert(291, 0);
+  tree.insert(215, 0);
+  tree.insert(219, 0);
+  tree.insert(119, 0);
+  tree.insert(456, 0);
+  tree.insert(197, 0);
+  tree.insert(477, 0);
+  tree.insert(222, 0);
+  tree.insert(174, 0);
+  tree.insert(451, 0);
+  tree.insert(214, 0);
+  tree.insert(112, 0);
+  tree.insert(464, 0);
+  tree.insert(262, 0);
+  tree.insert(47, 0);
+  tree.insert(347, 0);
+  tree.insert(111, 0);
+  tree.insert(148, 0);
+  tree.insert(308, 0);
+  tree.insert(340, 0);
+  tree.insert(100, 0);
+  tree.insert(130, 0);
+  tree.insert(323, 0);
+  tree.insert(312, 0);
+  tree.insert(292, 0);
+  tree.insert(35, 0);
+  tree.insert(306, 0);
+  tree.insert(58, 0);
+  tree.insert(353, 0);
+  tree.insert(452, 0);
+  tree.insert(91, 0);
+  tree.insert(319, 0);
+  tree.insert(330, 0);
+  tree.insert(473, 0);
+  tree.insert(488, 0);
+  tree.insert(134, 0);
+  tree.insert(315, 0);
+  tree.insert(253, 0);
+  tree.insert(374, 0);
+  tree.insert(384, 0);
+  tree.insert(95, 0);
+  tree.insert(370, 0);
+  tree.insert(13, 0);
+  tree.insert(183, 0);
+  tree.insert(136, 0);
+  tree.insert(313, 0);
+  tree.insert(307, 0);
+  tree.insert(239, 0);
+  tree.insert(258, 0);
+  tree.insert(405, 0);
+  tree.insert(56, 0);
+  tree.insert(228, 0);
+  tree.insert(455, 0);
+  tree.insert(317, 0);
+  tree.insert(497, 0);
+  tree.insert(102, 0);
+  tree.insert(117, 0);
+  tree.insert(68, 0);
+  tree.insert(234, 0);
+  tree.insert(51, 0);
+  tree.insert(107, 0);
+  tree.insert(349, 0);
+  tree.insert(348, 0);
+  tree.insert(416, 0);
+  tree.insert(88, 0);
+  tree.insert(89, 0);
+  tree.insert(366, 0);
+  tree.insert(109, 0);
+  tree.insert(189, 0);
+  tree.insert(333, 0);
+  tree.insert(3, 0);
+  tree.insert(394, 0);
+  tree.insert(267, 0);
+  tree.insert(269, 0);
+  tree.insert(246, 0);
+  tree.insert(152, 0);
+  tree.insert(173, 0);
+  tree.insert(438, 0);
+  tree.insert(24, 0);
+  tree.insert(15, 0);
+  tree.insert(390, 0);
+  tree.insert(284, 0);
+  tree.insert(360, 0);
+  tree.insert(371, 0);
+  tree.insert(81, 0);
+  tree.insert(65, 0);
+  tree.insert(299, 0);
+  tree.insert(132, 0);
+  tree.insert(98, 0);
+  tree.insert(303, 0);
+  tree.insert(139, 0);
+  tree.insert(453, 0);
+  tree.insert(402, 0);
+  tree.insert(20, 0);
+  tree.insert(54, 0);
+  tree.insert(499, 0);
+  tree.insert(260, 0);
+  tree.insert(285, 0);
+  tree.insert(381, 0);
+  tree.insert(357, 0);
+  tree.insert(248, 0);
+  tree.insert(362, 0);
+  tree.insert(62, 0);
+  tree.insert(203, 0);
+  tree.insert(411, 0);
+  tree.insert(444, 0);
+  tree.insert(388, 0);
+  tree.insert(10, 0);
+  tree.insert(342, 0);
+  tree.insert(229, 0);
+  tree.insert(481, 0);
+  tree.insert(369, 0);
+  tree.insert(378, 0);
+  tree.insert(38, 0);
+  tree.insert(77, 0);
+  tree.insert(415, 0);
+  tree.insert(466, 0);
+  tree.insert(404, 0);
+  tree.insert(90, 0);
+  tree.insert(101, 0);
+  tree.insert(169, 0);
+  tree.insert(435, 0);
+  tree.insert(296, 0);
+  tree.insert(282, 0);
+  tree.insert(63, 0);
+  tree.insert(52, 0);
+  tree.insert(40, 0);
+  tree.insert(231, 0);
+  tree.insert(302, 0);
+  tree.insert(18, 0);
+  tree.insert(383, 0);
+  tree.insert(194, 0);
+  tree.insert(351, 0);
+  tree.insert(254, 0);
+  tree.insert(431, 0);
+  tree.insert(199, 0);
+  tree.insert(80, 0);
+  tree.insert(300, 0);
+  tree.insert(140, 0);
+  tree.insert(324, 0);
+  tree.insert(286, 0);
+  tree.insert(188, 0);
+  tree.insert(386, 0);
+  tree.insert(344, 0);
+  tree.insert(166, 0);
+  tree.insert(4, 0);
+  tree.insert(226, 0);
+  tree.insert(316, 0);
+  tree.insert(158, 0);
+  tree.insert(447, 0);
+  tree.insert(86, 0);
+  tree.insert(398, 0);
+  tree.insert(108, 0);
+  tree.insert(230, 0);
+  tree.insert(310, 0);
+  tree.insert(495, 0);
+  tree.insert(171, 0);
+  tree.insert(380, 0);
+  tree.insert(249, 0);
+  tree.insert(433, 0);
+  tree.insert(16, 0);
+  tree.insert(470, 0);
+  tree.insert(277, 0);
+  tree.insert(21, 0);
+  tree.insert(372, 0);
+  tree.insert(252, 0);
+  tree.insert(424, 0);
+  tree.insert(144, 0);
+  tree.insert(377, 0);
+  tree.insert(59, 0);
+  tree.insert(46, 0);
+  tree.insert(55, 0);
+  tree.insert(429, 0);
+  tree.insert(474, 0);
+  tree.insert(321, 0);
+  tree.insert(399, 0);
+  tree.insert(471, 0);
+  tree.insert(237, 0);
+  tree.insert(442, 0);
+  tree.insert(97, 0);
+  tree.insert(220, 0);
+  tree.insert(445, 0);
+  tree.insert(326, 0);
+  tree.insert(37, 0);
+  tree.insert(336, 0);
+  tree.insert(343, 0);
+  tree.insert(412, 0);
+  tree.insert(409, 0);
+  tree.insert(460, 0);
+  tree.insert(57, 0);
+  tree.insert(168, 0);
+  tree.insert(295, 0);
+  tree.insert(247, 0);
+  tree.insert(482, 0);
+  tree.insert(425, 0);
+  tree.insert(256, 0);
+  tree.insert(96, 0);
+  tree.insert(53, 0);
+  tree.insert(469, 0);
+  tree.insert(162, 0);
+  tree.insert(493, 0);
+  tree.insert(294, 0);
+  tree.insert(177, 0);
+  tree.insert(212, 0);
+  tree.insert(30, 0);
+  tree.insert(5, 0);
+  tree.insert(193, 0);
+  tree.insert(483, 0);
+  tree.insert(124, 0);
+  tree.insert(87, 0);
+  tree.insert(64, 0);
+  tree.insert(490, 0);
+  tree.insert(155, 0);
+  tree.insert(422, 0);
+  tree.insert(191, 0);
+  tree.insert(75, 0);
+  tree.insert(325, 0);
+  tree.insert(1, 0);
+  tree.insert(182, 0);
+  tree.insert(28, 0);
+  tree.insert(364, 0);
+  tree.insert(42, 0);
+  tree.insert(39, 0);
+  tree.insert(376, 0);
+  tree.insert(467, 0);
+  tree.insert(426, 0);
+  tree.insert(205, 0);
+  tree.insert(365, 0);
+  tree.insert(137, 0);
+  tree.insert(297, 0);
+  tree.insert(462, 0);
+  tree.insert(241, 0);
+  tree.insert(123, 0);
+  tree.insert(206, 0);
+  tree.insert(440, 0);
+  tree.insert(216, 0);
+  tree.insert(146, 0);
+  tree.insert(142, 0);
+  tree.insert(72, 0);
+  tree.insert(379, 0);
+  tree.insert(472, 0);
+  tree.insert(305, 0);
+  tree.insert(271, 0);
+  tree.insert(298, 0);
+  tree.insert(232, 0);
+  tree.insert(242, 0);
+  tree.insert(184, 0);
+  tree.insert(138, 0);
+  tree.insert(154, 0);
+  tree.insert(200, 0);
+  tree.insert(71, 0);
+  tree.insert(211, 0);
+  tree.insert(274, 0);
+  tree.insert(263, 0);
+  tree.insert(311, 0);
+  tree.insert(428, 0);
+  tree.insert(331, 0);
+  tree.insert(7, 0);
+  tree.insert(345, 0);
+  tree.insert(185, 0);
+  tree.insert(338, 0);
+  tree.insert(251, 0);
+  tree.insert(417, 0);
+  tree.insert(12, 0);
+  tree.insert(93, 0);
+  tree.insert(204, 0);
+  tree.insert(257, 0);
+  tree.insert(418, 0);
+  tree.insert(314, 0);
+
+  tree.erase(110);
+  tree.erase(290);
+  tree.erase(11);
+  tree.erase(69);
+  tree.erase(209);
+  tree.erase(468);
+  tree.erase(17);
+  tree.erase(293);
+  tree.erase(164);
+  tree.erase(350);
+  tree.erase(115);
+  tree.erase(322);
+  tree.erase(361);
+  tree.erase(2);
+  tree.erase(446);
+  tree.erase(281);
+  tree.erase(400);
+  tree.erase(375);
+  tree.erase(153);
+  tree.erase(116);
+  tree.erase(143);
+  tree.erase(329);
+  tree.erase(420);
+  tree.erase(133);
+  tree.erase(363);
+  tree.erase(192);
+  tree.erase(27);
+  tree.erase(275);
+  tree.erase(104);
+  tree.erase(213);
+  tree.erase(352);
+  tree.erase(427);
+  tree.erase(273);
+  tree.erase(288);
+  tree.erase(396);
+  tree.erase(114);
+  tree.erase(341);
+  tree.erase(413);
+  tree.erase(201);
+  tree.erase(280);
+  tree.erase(66);
+  tree.erase(227);
+  tree.erase(406);
+  tree.erase(79);
+  tree.erase(259);
+  tree.erase(176);
+  tree.erase(106);
+  tree.erase(0);
+  tree.erase(328);
+  tree.erase(270);
+  tree.erase(449);
+  tree.erase(165);
+  tree.erase(163);
+  tree.erase(43);
+  tree.erase(391);
+  tree.erase(202);
+  tree.erase(49);
+  tree.erase(105);
+  tree.erase(149);
+  tree.erase(318);
+  tree.erase(387);
+  tree.erase(389);
+  tree.erase(141);
+  tree.erase(408);
+  tree.erase(486);
+  tree.erase(354);
+  tree.erase(8);
+  tree.erase(33);
+  tree.erase(421);
+  tree.erase(385);
+  tree.erase(25);
+  tree.erase(485);
+  tree.erase(196);
+  tree.erase(31);
+  tree.erase(82);
+  tree.erase(434);
+  tree.erase(423);
+  tree.erase(358);
+  tree.erase(255);
+  tree.erase(287);
+  tree.erase(23);
+  tree.erase(122);
+  tree.erase(489);
+  tree.erase(19);
+  tree.erase(126);
+  tree.erase(44);
+  tree.erase(120);
+  tree.erase(131);
+  tree.erase(332);
+  tree.erase(448);
+  tree.erase(238);
+  tree.erase(264);
+  tree.erase(454);
+  tree.erase(218);
+  tree.erase(157);
+  tree.erase(436);
+  tree.erase(225);
+  tree.erase(437);
+  tree.erase(443);
+  tree.erase(179);
+  tree.erase(265);
+  tree.erase(475);
+  tree.erase(180);
+  tree.erase(487);
+  tree.erase(339);
+  tree.erase(492);
+  tree.erase(395);
+  tree.erase(491);
+  tree.erase(223);
+  tree.erase(113);
+  tree.erase(92);
+  tree.erase(48);
+  tree.erase(61);
+  tree.erase(127);
+  tree.erase(190);
+  tree.erase(67);
+  tree.erase(484);
+  tree.erase(439);
+  tree.erase(355);
+  tree.erase(243);
+  tree.erase(392);
+  tree.erase(159);
+  tree.erase(74);
+  tree.erase(337);
+  tree.erase(151);
+  tree.erase(458);
+  tree.erase(480);
+  tree.erase(334);
+  tree.erase(419);
+  tree.erase(309);
+  tree.erase(301);
+  tree.erase(125);
+  tree.erase(407);
+  tree.erase(496);
+  tree.erase(187);
+  tree.erase(50);
+  tree.erase(368);
+  tree.erase(283);
+  tree.erase(244);
+  tree.erase(170);
+  tree.erase(118);
+  tree.erase(457);
+  tree.erase(181);
+  tree.erase(479);
+  tree.erase(401);
+  tree.erase(494);
+  tree.erase(99);
+  tree.erase(236);
+  tree.erase(240);
+  tree.erase(147);
+  tree.erase(233);
+  tree.erase(172);
+  tree.erase(266);
+  tree.erase(32);
+  tree.erase(210);
+  tree.erase(161);
+  tree.erase(156);
+  tree.erase(178);
+  tree.erase(221);
+  tree.erase(78);
+  tree.erase(85);
+  tree.erase(135);
+  tree.erase(145);
+  tree.erase(356);
+  tree.erase(397);
+  tree.erase(450);
+  tree.erase(276);
+  tree.erase(41);
+  tree.erase(414);
+  tree.erase(14);
+  tree.erase(22);
+  tree.erase(29);
+  tree.erase(34);
+  tree.erase(498);
+  tree.erase(250);
+  tree.erase(36);
+  tree.erase(320);
+  tree.erase(268);
+  tree.erase(195);
+  tree.erase(382);
+  tree.erase(441);
+  tree.erase(235);
+  tree.erase(346);
+  tree.erase(476);
+  tree.erase(217);
+  tree.erase(335);
+  tree.erase(121);
+  tree.erase(94);
+  tree.erase(278);
+  tree.erase(272);
+  tree.erase(207);
+  tree.erase(463);
+  tree.erase(150);
+  tree.erase(432);
+  tree.erase(410);
+  tree.erase(208);
+  tree.erase(70);
+  tree.erase(84);
+  tree.erase(186);
+  tree.erase(6);
+  tree.erase(224);
+  tree.erase(9);
+  tree.erase(60);
+  tree.erase(175);
+  tree.erase(430);
+  tree.erase(128);
+  tree.erase(129);
+  tree.erase(465);
+  tree.erase(459);
+  tree.erase(289);
+  tree.erase(261);
+  tree.erase(26);
+  tree.erase(461);
+  tree.erase(279);
+  tree.erase(245);
+  tree.erase(478);
+  tree.erase(403);
+  tree.erase(45);
+  tree.erase(359);
+  tree.erase(327);
+  tree.erase(393);
+  tree.erase(373);
+  tree.erase(304);
+  tree.erase(83);
+  tree.erase(160);
+  tree.erase(198);
+  tree.erase(103);
+  tree.erase(367);
+  tree.erase(76);
+  tree.erase(73);
+  tree.erase(167);
+  tree.erase(291);
+  tree.erase(215);
+  tree.erase(219);
+  tree.erase(119);
+  tree.erase(456);
+  tree.erase(197);
+  tree.erase(477);
+  tree.erase(222);
+  tree.erase(174);
+  tree.erase(451);
+  tree.erase(214);
+  tree.erase(112);
+  tree.erase(464);
+  tree.erase(262);
+  tree.erase(47);
+  tree.erase(347);
+  tree.erase(111);
+  tree.erase(148);
+  tree.erase(308);
+  tree.erase(340);
+  tree.erase(100);
+  tree.erase(130);
+  tree.erase(323);
+  tree.erase(312);
+  tree.erase(292);
+  tree.erase(35);
+  tree.erase(306);
+  tree.erase(58);
+  tree.erase(353);
+  tree.erase(452);
+  tree.erase(91);
+  tree.erase(319);
+  tree.erase(330);
+  tree.erase(473);
+  tree.erase(488);
+  tree.erase(134);
+  tree.erase(315);
+  tree.erase(253);
+  tree.erase(374);
+  tree.erase(384);
+  tree.erase(95);
+  tree.erase(370);
+  tree.erase(13);
+  tree.erase(183);
+  tree.erase(136);
+  tree.erase(313);
+  tree.erase(307);
+  tree.erase(239);
+  tree.erase(258);
+  tree.erase(405);
+  tree.erase(56);
+  tree.erase(228);
+  tree.erase(455);
+  tree.erase(317);
+  tree.erase(497);
+  tree.erase(102);
+  tree.erase(117);
+  tree.erase(68);
+  tree.erase(234);
+  tree.erase(51);
+  tree.erase(107);
+  tree.erase(349);
+  tree.erase(348);
+  tree.erase(416);
+  tree.erase(88);
+  tree.erase(89);
+  tree.erase(366);
+  tree.erase(109);
+  tree.erase(189);
+  tree.erase(333);
+  tree.erase(3);
+  tree.erase(394);
+  tree.erase(267);
+  tree.erase(269);
+  tree.erase(246);
+  tree.erase(152);
+  tree.erase(173);
+  tree.erase(438);
+  tree.erase(24);
+  tree.erase(15);
+  tree.erase(390);
+  tree.erase(284);
+  tree.erase(360);
+  tree.erase(371);
+  tree.erase(81);
+  tree.erase(65);
+  tree.erase(299);
+  tree.erase(132);
+  tree.erase(98);
+  tree.erase(303);
+  tree.erase(139);
+  tree.erase(453);
+  tree.erase(402);
+  tree.erase(20);
+  tree.erase(54);
+  tree.erase(499);
+  tree.erase(260);
+  tree.erase(285);
+  tree.erase(381);
+  tree.erase(357);
+  tree.erase(248);
+  tree.erase(362);
+  tree.erase(62);
+  tree.erase(203);
+  tree.erase(411);
+  tree.erase(444);
+  tree.erase(388);
+  tree.erase(10);
+  tree.erase(342);
+  tree.erase(229);
+  tree.erase(481);
+  tree.erase(369);
+  tree.erase(378);
+  tree.erase(38);
+  tree.erase(77);
+  tree.erase(415);
+  tree.erase(466);
+  tree.erase(404);
+  tree.erase(90);
+  tree.erase(101);
+  tree.erase(169);
+  tree.erase(435);
+  tree.erase(296);
+  tree.erase(282);
+  tree.erase(63);
+  tree.erase(52);
+  tree.erase(40);
+  tree.erase(231);
+  tree.erase(302);
+  tree.erase(18);
+  tree.erase(383);
+  tree.erase(194);
+  tree.erase(351);
+  tree.erase(254);
+  tree.erase(431);
+  tree.erase(199);
+  tree.erase(80);
+  tree.erase(300);
+  tree.erase(140);
+  tree.erase(324);
+  tree.erase(286);
+  tree.erase(188);
+  tree.erase(386);
+  tree.erase(344);
+  tree.erase(166);
+  tree.erase(4);
+  tree.erase(226);
+  tree.erase(316);
+  tree.erase(158);
+  tree.erase(447);
+  tree.erase(86);
+  tree.erase(398);
+  tree.erase(108);
+  tree.erase(230);
+  tree.erase(310);
+  tree.erase(495);
+  tree.erase(171);
+  tree.erase(380);
+  tree.erase(249);
+  tree.erase(433);
+  tree.erase(16);
+  tree.erase(470);
+  tree.erase(277);
+  tree.erase(21);
+  tree.erase(372);
+  tree.erase(252);
+  tree.erase(424);
+  tree.erase(144);
+  tree.erase(377);
+  tree.erase(59);
+  tree.erase(46);
+  tree.erase(55);
+  tree.erase(429);
+  tree.erase(474);
+  tree.erase(321);
+  tree.erase(399);
+  tree.erase(471);
+  tree.erase(237);
+  tree.erase(442);
+  tree.erase(97);
+  tree.erase(220);
+  tree.erase(445);
+  tree.erase(326);
+  tree.erase(37);
+  tree.erase(336);
+  tree.erase(343);
+  tree.erase(412);
+  tree.erase(409);
+  tree.erase(460);
+  tree.erase(57);
+  tree.erase(168);
+  tree.erase(295);
+  tree.erase(247);
+  tree.erase(482);
+  tree.erase(425);
+  tree.erase(256);
+  tree.erase(96);
+  tree.erase(53);
+  tree.erase(469);
+  tree.erase(162);
+  tree.erase(493);
+  tree.erase(294);
+  tree.erase(177);
+  tree.erase(212);
+  tree.erase(30);
+  tree.erase(5);
+  tree.erase(193);
+  tree.erase(483);
+  tree.erase(124);
+  tree.erase(87);
+  tree.erase(64);
+  tree.erase(490);
+  tree.erase(155);
+  tree.erase(422);
+  tree.erase(191);
+  tree.erase(75);
+  tree.erase(325);
+  tree.erase(1);
+  tree.erase(182);
+  tree.erase(28);
+  tree.erase(364);
+  tree.erase(42);
+  tree.erase(39);
+  tree.erase(376);
+  tree.erase(467);
+  tree.erase(426);
+  tree.erase(205);
+  tree.erase(365);
+  tree.erase(137);
+  tree.erase(297);
+  tree.erase(462);
+  tree.erase(241);
+  tree.erase(123);
+  tree.erase(206);
+  tree.erase(440);
+  tree.erase(216);
+  tree.erase(146);
+  tree.erase(142);
+  tree.erase(72);
+  tree.erase(379);
+  tree.erase(472);
+  tree.erase(305);
+  tree.erase(271);
+  tree.erase(298);
+  tree.erase(232);
+  tree.erase(242);
+  tree.erase(184);
+  tree.erase(138);
+  tree.erase(154);
+  tree.erase(200);
+  tree.erase(71);
+  tree.erase(211);
+  tree.erase(274);
+  tree.erase(263);
+  tree.erase(311);
+  tree.erase(428);
+  tree.erase(331);
+  tree.erase(7);
+  tree.erase(345);
+  tree.erase(185);
+  tree.erase(338);
+  tree.erase(251);
+  tree.erase(417);
+  tree.erase(12);
+  tree.erase(93);
+  tree.erase(204);
+  tree.erase(257);
+  tree.erase(418);
+  tree.erase(314);
+
+  if (!tree.empty())
+    return false;
+
+  return true;
+}
+
+bool
+test09() {
+
+  // Pseudo-random insertion and erases, pseudo-randomly interleaved.
+
+  CO_Tree tree;
+
+  tree.insert(172261, 5);
+  tree.insert(690360, 5);
+  tree.erase(228023);
+  tree.erase(81);
+  tree.erase(903190);
+  tree.erase(618996);
+  tree.erase(214677);
+  tree.insert(730690, 5);
+  tree.insert(764524, 5);
+  tree.erase(349614);
+  tree.insert(328205, 5);
+  tree.insert(726312, 5);
+  tree.insert(565100, 5);
+  tree.insert(602726, 5);
+  tree.insert(204916, 5);
+  tree.insert(325578, 5);
+  tree.erase(528946);
+  tree.insert(302647, 5);
+  tree.insert(799051, 5);
+  tree.insert(799631, 5);
+  tree.erase(830857);
+  tree.erase(541312);
+  tree.insert(439214, 5);
+  tree.erase(193512);
+  tree.insert(14412, 5);
+  tree.erase(909610);
+  tree.erase(966189);
+  tree.insert(806355, 5);
+  tree.erase(356620);
+  tree.erase(198987);
+  tree.insert(498338, 5);
+  tree.insert(487770, 5);
+  tree.insert(56856, 5);
+  tree.erase(300606);
+  tree.insert(125849, 5);
+  tree.erase(107205);
+  tree.erase(35217);
+  tree.insert(34945, 5);
+  tree.erase(436873);
+  tree.insert(710873, 5);
+  tree.erase(804289);
+  tree.erase(826607);
+  tree.insert(772757, 5);
+  tree.insert(334471, 5);
+  tree.erase(591100);
+  tree.erase(723618);
+  tree.insert(58025, 5);
+  tree.insert(633074, 5);
+  tree.erase(518157);
+  tree.erase(3493);
+  tree.insert(550270, 5);
+  tree.erase(633417);
+  tree.erase(275569);
+  tree.erase(92622);
+  tree.insert(413173, 5);
+  tree.erase(196431);
+  tree.insert(456682, 5);
+  tree.insert(504292, 5);
+  tree.erase(205057);
+  tree.erase(391521);
+  tree.erase(888574);
+  tree.erase(401947);
+  tree.erase(359231);
+  tree.erase(610537);
+  tree.insert(485054, 5);
+  tree.insert(554098, 5);
+  tree.erase(241081);
+  tree.insert(653516, 5);
+  tree.insert(372231, 5);
+  tree.erase(261796);
+  tree.insert(582338, 5);
+  tree.insert(519218, 5);
+  tree.erase(513970);
+  tree.insert(784812, 5);
+  tree.erase(894977);
+  tree.erase(31536);
+  tree.insert(324176, 5);
+  tree.erase(279207);
+  tree.erase(984857);
+  tree.insert(593499, 5);
+  tree.erase(20127);
+  tree.insert(505236, 5);
+  tree.insert(367818, 5);
+  tree.erase(810563);
+  tree.erase(421244);
+  tree.erase(41805);
+  tree.insert(563291, 5);
+  tree.erase(558955);
+  tree.insert(133589, 5);
+  tree.insert(828993, 5);
+  tree.insert(552805, 5);
+  tree.insert(844822, 5);
+  tree.insert(326717, 5);
+  tree.insert(593093, 5);
+  tree.insert(530126, 5);
+  tree.erase(781486);
+  tree.erase(850543);
+  tree.insert(327814, 5);
+  tree.erase(478179);
+  tree.erase(474762);
+  tree.erase(727088);
+  tree.erase(935710);
+  tree.insert(110294, 5);
+  tree.erase(400346);
+  tree.erase(871137);
+  tree.erase(305153);
+  tree.erase(122573);
+  tree.insert(300925, 5);
+  tree.erase(306710);
+  tree.insert(277217, 5);
+  tree.insert(596963, 5);
+  tree.erase(387090);
+  tree.insert(378130, 5);
+  tree.insert(698571, 5);
+  tree.erase(369633);
+  tree.erase(304789);
+  tree.erase(722604);
+  tree.erase(419805);
+  tree.insert(767868, 5);
+  tree.erase(109485);
+  tree.insert(82195, 5);
+  tree.erase(62949);
+  tree.insert(80967, 5);
+  tree.insert(686763, 5);
+  tree.erase(290596);
+  tree.erase(740865);
+  tree.insert(539036, 5);
+  tree.erase(367770);
+  tree.insert(359211, 5);
+  tree.insert(322532, 5);
+  tree.insert(272379, 5);
+  tree.erase(858270);
+  tree.insert(384172, 5);
+  tree.erase(344234);
+  tree.insert(647283, 5);
+  tree.insert(307398, 5);
+  tree.insert(901063, 5);
+  tree.erase(966950);
+  tree.insert(250573, 5);
+  tree.insert(886059, 5);
+  tree.insert(134047, 5);
+  tree.insert(945082, 5);
+  tree.erase(271232);
+  tree.insert(622954, 5);
+  tree.erase(411898);
+  tree.insert(875640, 5);
+  tree.insert(89159, 5);
+  tree.insert(679262, 5);
+  tree.erase(561041);
+  tree.insert(141723, 5);
+  tree.insert(26272, 5);
+  tree.insert(454154, 5);
+  tree.erase(335821);
+  tree.erase(909365);
+  tree.erase(591171);
+  tree.insert(160269, 5);
+  tree.insert(938701, 5);
+  tree.erase(914653);
+  tree.erase(450907);
+  tree.erase(356728);
+  tree.insert(515797, 5);
+  tree.insert(547084, 5);
+  tree.insert(515334, 5);
+  tree.insert(110991, 5);
+  tree.insert(798898, 5);
+  tree.erase(801052);
+  tree.erase(218189);
+  tree.erase(752506);
+  tree.insert(709016, 5);
+  tree.insert(173109, 5);
+  tree.erase(490000);
+  tree.insert(58109, 5);
+  tree.erase(955081);
+  tree.insert(671338, 5);
+  tree.erase(59426);
+  tree.erase(785147);
+  tree.erase(776787);
+  tree.erase(696532);
+  tree.insert(591281, 5);
+  tree.erase(884850);
+  tree.erase(576590);
+  tree.insert(215350, 5);
+  tree.erase(973813);
+  tree.erase(381494);
+  tree.erase(146081);
+  tree.erase(15720);
+  tree.erase(887982);
+  tree.erase(97487);
+  tree.erase(79296);
+  tree.erase(765404);
+  tree.insert(796892, 5);
+  tree.erase(230297);
+  tree.insert(399134, 5);
+  tree.erase(898506);
+  tree.erase(767057);
+  tree.insert(380595, 5);
+  tree.erase(501962);
+  tree.erase(687483);
+  tree.insert(80154, 5);
+  tree.erase(191309);
+  tree.erase(139932);
+  tree.insert(895021, 5);
+  tree.insert(313563, 5);
+  tree.insert(903682, 5);
+  tree.erase(277685);
+  tree.insert(564285, 5);
+  tree.insert(735990, 5);
+  tree.erase(197314);
+  tree.insert(754116, 5);
+  tree.insert(641892, 5);
+  tree.erase(395528);
+  tree.erase(897525);
+  tree.insert(651136, 5);
+  tree.insert(889618, 5);
+  tree.erase(170337);
+  tree.insert(506582, 5);
+  tree.erase(804310);
+  tree.erase(370888);
+  tree.erase(426815);
+  tree.insert(543437, 5);
+  tree.erase(460008);
+  tree.insert(811783, 5);
+  tree.insert(418657, 5);
+  tree.erase(363827);
+  tree.insert(621269, 5);
+  tree.erase(726651);
+  tree.erase(60910);
+  tree.insert(430639, 5);
+  tree.insert(241888, 5);
+  tree.insert(992393, 5);
+  tree.erase(433890);
+  tree.insert(755199, 5);
+  tree.insert(416931, 5);
+  tree.erase(388777);
+  tree.erase(400657);
+  tree.insert(580952, 5);
+  tree.erase(72641);
+  tree.erase(89368);
+  tree.insert(918184, 5);
+  tree.erase(696776);
+  tree.erase(975266);
+  tree.insert(588954, 5);
+  tree.insert(80308, 5);
+  tree.erase(297278);
+  tree.erase(372555);
+  tree.insert(250774, 5);
+  tree.erase(305000);
+  tree.erase(560997);
+  tree.erase(648412);
+  tree.erase(598382);
+  tree.erase(914693);
+  tree.insert(942439, 5);
+  tree.insert(88421, 5);
+  tree.erase(994985);
+  tree.erase(1354);
+  tree.erase(578762);
+  tree.insert(631541, 5);
+  tree.insert(561852, 5);
+  tree.insert(703662, 5);
+  tree.insert(550399, 5);
+  tree.erase(665154);
+  tree.erase(399015);
+  tree.insert(839851, 5);
+  tree.insert(724790, 5);
+  tree.erase(942491);
+  tree.insert(570037, 5);
+  tree.erase(18859);
+  tree.insert(360871, 5);
+  tree.insert(576987, 5);
+  tree.insert(146590, 5);
+  tree.erase(563970);
+  tree.insert(587665, 5);
+  tree.erase(893069);
+  tree.erase(907361);
+  tree.erase(41351);
+  tree.insert(189300, 5);
+  tree.insert(291638, 5);
+  tree.erase(709364);
+  tree.erase(581032);
+  tree.insert(136104, 5);
+  tree.erase(273679);
+  tree.erase(413412);
+  tree.insert(734969, 5);
+  tree.insert(916170, 5);
+  tree.insert(162844, 5);
+  tree.insert(406649, 5);
+  tree.insert(304465, 5);
+  tree.insert(922326, 5);
+  tree.insert(660183, 5);
+  tree.erase(826969);
+  tree.erase(320152);
+  tree.erase(924393);
+  tree.insert(637289, 5);
+  tree.erase(259631);
+  tree.erase(584264);
+  tree.erase(774548);
+  tree.erase(101877);
+  tree.erase(666833);
+  tree.insert(994949, 5);
+  tree.erase(665155);
+  tree.erase(678468);
+  tree.insert(400960, 5);
+  tree.erase(98823);
+  tree.insert(213171, 5);
+  tree.insert(185677, 5);
+  tree.insert(493245, 5);
+  tree.erase(572761);
+  tree.insert(150323, 5);
+  tree.insert(84100, 5);
+  tree.insert(461075, 5);
+  tree.insert(322042, 5);
+  tree.insert(42659, 5);
+  tree.erase(456289);
+  tree.insert(293469, 5);
+  tree.insert(841551, 5);
+  tree.insert(125383, 5);
+  tree.erase(63133);
+  tree.erase(19304);
+  tree.insert(365981, 5);
+  tree.erase(953666);
+  tree.erase(788967);
+  tree.insert(90192, 5);
+  tree.erase(380902);
+  tree.insert(88131, 5);
+  tree.insert(683174, 5);
+  tree.erase(649718);
+  tree.insert(301183, 5);
+  tree.erase(945487);
+  tree.insert(434573, 5);
+  tree.erase(725062);
+  tree.erase(713933);
+  tree.erase(312496);
+  tree.insert(893141, 5);
+  tree.erase(971726);
+  tree.insert(596980, 5);
+  tree.erase(843485);
+  tree.insert(372305, 5);
+  tree.insert(264029, 5);
+  tree.erase(206898);
+  tree.insert(734562, 5);
+  tree.insert(417719, 5);
+  tree.insert(411641, 5);
+  tree.insert(593010, 5);
+  tree.insert(992726, 5);
+  tree.erase(628789);
+  tree.insert(303708, 5);
+  tree.erase(600938);
+  tree.erase(152493);
+  tree.erase(980710);
+  tree.insert(785905, 5);
+  tree.insert(49613, 5);
+  tree.erase(963638);
+  tree.insert(79421, 5);
+  tree.erase(207829);
+  tree.erase(96180);
+  tree.erase(209095);
+  tree.erase(843024);
+  tree.insert(749154, 5);
+  tree.insert(10569, 5);
+  tree.insert(979969, 5);
+  tree.insert(492373, 5);
+  tree.insert(498433, 5);
+  tree.erase(932587);
+  tree.erase(620094);
+  tree.erase(291499);
+  tree.erase(7339);
+  tree.insert(551742, 5);
+  tree.insert(312086, 5);
+  tree.erase(231349);
+  tree.erase(950186);
+  tree.erase(495011);
+  tree.insert(874133, 5);
+  tree.erase(812722);
+  tree.erase(806773);
+  tree.erase(881519);
+  tree.insert(495354, 5);
+  tree.insert(103124, 5);
+  tree.erase(16259);
+  tree.erase(677418);
+  tree.erase(981712);
+  tree.erase(558705);
+  tree.insert(342733, 5);
+  tree.erase(992734);
+  tree.erase(774315);
+  tree.erase(691087);
+  tree.erase(100669);
+  tree.insert(916487, 5);
+  tree.insert(556837, 5);
+  tree.insert(598089, 5);
+  tree.insert(585205, 5);
+  tree.insert(666704, 5);
+  tree.erase(402557);
+  tree.erase(623403);
+  tree.insert(321892, 5);
+  tree.erase(571522);
+  tree.erase(302443);
+  tree.erase(325361);
+  tree.insert(273378, 5);
+  tree.erase(332700);
+  tree.erase(574882);
+  tree.erase(804899);
+  tree.erase(242589);
+  tree.insert(650353, 5);
+  tree.insert(966948, 5);
+  tree.insert(163036, 5);
+  tree.insert(277107, 5);
+  tree.insert(665417, 5);
+  tree.insert(115921, 5);
+  tree.insert(98480, 5);
+  tree.insert(105994, 5);
+  tree.insert(774123, 5);
+  tree.erase(832933);
+  tree.insert(86317, 5);
+  tree.insert(933931, 5);
+  tree.erase(186709);
+  tree.erase(959156);
+  tree.insert(217069, 5);
+  tree.erase(712995);
+  tree.insert(1171, 5);
+  tree.erase(148569);
+  tree.erase(264801);
+  tree.insert(26652, 5);
+  tree.erase(105340);
+  tree.erase(251743);
+  tree.insert(613091, 5);
+  tree.erase(906527);
+  tree.insert(798878, 5);
+  tree.insert(3050, 5);
+  tree.insert(362124, 5);
+  tree.erase(304213);
+  tree.insert(478499, 5);
+  tree.insert(56794, 5);
+  tree.insert(465115, 5);
+  tree.erase(79342);
+  tree.erase(482437);
+  tree.erase(663198);
+  tree.insert(169939, 5);
+  tree.insert(226513, 5);
+  tree.erase(865128);
+  tree.erase(511804);
+  tree.erase(352346);
+  tree.erase(898138);
+  tree.erase(190495);
+  tree.insert(36421, 5);
+  tree.insert(387226, 5);
+  tree.insert(134158, 5);
+  tree.erase(120356);
+  tree.insert(77645, 5);
+  tree.insert(993446, 5);
+  tree.erase(568111);
+  tree.erase(417603);
+  tree.erase(255825);
+  tree.insert(470216, 5);
+  tree.erase(379174);
+  tree.insert(960596, 5);
+  tree.insert(846267, 5);
+  tree.insert(342013, 5);
+  tree.erase(980519);
+  tree.insert(194650, 5);
+  tree.insert(117832, 5);
+  tree.insert(390279, 5);
+  tree.insert(963953, 5);
+  tree.erase(959295);
+  tree.insert(96107, 5);
+  tree.erase(714937);
+  tree.insert(944976, 5);
+  tree.insert(444584, 5);
+  tree.erase(720083);
+  tree.insert(199492, 5);
+  tree.erase(766496);
+  tree.insert(22939, 5);
+  tree.erase(505735);
+  tree.insert(389873, 5);
+  tree.insert(930164, 5);
+  tree.erase(52251);
+  tree.erase(682751);
+  tree.insert(816339, 5);
+  tree.insert(953165, 5);
+  tree.insert(688302, 5);
+  tree.erase(761079);
+  tree.erase(262547);
+  tree.erase(568484);
+  tree.erase(939561);
+  tree.erase(621931);
+  tree.erase(420528);
+  tree.erase(815494);
+  tree.erase(517543);
+  tree.erase(841123);
+  tree.insert(840187, 5);
+  tree.erase(524643);
+  tree.insert(851988, 5);
+  tree.insert(851320, 5);
+  tree.insert(854098, 5);
+  tree.insert(993018, 5);
+  tree.insert(886463, 5);
+  tree.insert(494695, 5);
+  tree.insert(976505, 5);
+  tree.erase(856142);
+  tree.insert(868098, 5);
+  tree.erase(571472);
+
+  return true;
+}
+
+bool
+test10() {
+
+  CO_Tree tree;
+
+  CO_Tree::iterator itr = tree.end();
+
+  itr = tree.insert(itr, 1, Coefficient(10));
+
+  itr = tree.end();
+
+  itr = tree.insert(itr, 2, 0);
+  itr = tree.insert(itr, 2, 0);
+  itr = tree.insert(itr, 4, 0);
+  itr = tree.insert(itr, 6, 0);
+  itr = tree.insert(itr, 8, 0);
+  itr = tree.insert(itr, 10, 0);
+  itr = tree.insert(itr, 12, 0);
+
+  if (itr.index() != 12)
+    return false;
+
+  --itr;
+  --itr;
+
+  itr = tree.insert(itr, 5, 0);
+  itr = tree.erase(itr);
+
+  if (itr.index() != 6)
+    return false;
+
+  itr = tree.insert(itr, 5, 0);
+  itr = tree.erase(itr);
+
+  if (itr.index() != 6)
+    return false;
+
+  return true;
+}
+
+bool
+test11() {
+
+  CO_Tree tree;
+
+  tree.insert(1, 10);
+
+  tree.erase_element_and_shift_left(1);
+
+  if (!tree.empty())
+    return false;
+
+  tree.increase_keys_from(1, 5);
+
+  if (!tree.empty())
+    return false;
+
+  tree.insert(1, 0);
+  tree.insert(2, 0);
+  tree.insert(3, 0);
+  tree.insert(4, 0);
+
+  tree.increase_keys_from(2, 5);
+
+  CO_Tree::iterator itr = tree.begin();
+
+  if (itr.index() != 1)
+    return false;
+
+  ++itr;
+
+  if (itr.index() != 7)
+    return false;
+
+  ++itr;
+
+  if (itr.index() != 8)
+    return false;
+
+  ++itr;
+
+  if (itr.index() != 9)
+    return false;
+
+  ++itr;
+
+  if (itr != tree.end())
+    return false;
+
+  return true;
+}
+
+bool
+test12() {
+
+  CO_Tree tree;
+
+  tree.insert(1, 10);
+  tree.insert(2, 10);
+  tree.insert(3, 10);
+
+  tree.clear();
+
+  if (!tree.empty())
+    return false;
+
+  if (tree.erase(1) != tree.end())
+    return false;
+
+  CO_Tree::iterator itr = tree.end();
+
+  if (tree.bisect_near(itr, 1) != tree.end())
+    return false;
+
+  CO_Tree::const_iterator citr = tree.cend();
+
+  if (tree.bisect_near(citr, 1) != tree.cend())
+    return false;
+
+  if (static_cast<const CO_Tree&>(tree).bisect(1) != tree.end())
+    return false;
+
+  return true;
+}
+
+bool
+test13() {
+
+  CO_Tree tree;
+
+  tree.insert(2, 10);
+  tree.insert(2, 10);
+  tree.insert(4, 10);
+  tree.insert(6, 10);
+  tree.insert(8, 10);
+  tree.insert(10, 10);
+  tree.insert(12, 10);
+  tree.insert(14, 10);
+
+  CO_Tree::iterator itr;
+
+  itr = tree.bisect(12);
+
+  if (itr.index() != 12)
+    return false;
+
+  itr = tree.bisect_near(itr, 4);
+
+  if (itr.index() != 4)
+    return false;
+
+  itr = tree.bisect(12);
+  itr = tree.bisect_near(itr, 10);
+
+  if (itr.index() != 10)
+    return false;
+
+  return true;
+}
+
+bool
+test14() {
+
+  // Iterating on an empty tree.
+
+  CO_Tree tree;
+
+  if (tree.begin() != tree.end())
+    return false;
+
+  if (tree.cbegin() != tree.cend())
+    return false;
+
+  tree.erase(1);
+  tree.bisect(1);
+  static_cast<const CO_Tree&>(tree).bisect(1);
+
+  return true;
+}
+
+bool
+test15() {
+
+  // Test iterator::swap(), const_iterator::swap(),
+  // iterator::operator*() and const_iterator::operator*().
+
+  CO_Tree tree;
+
+  tree.insert(1, 1);
+  tree.insert(2, 2);
+
+  CO_Tree::iterator itr1 = tree.bisect(1);
+  CO_Tree::iterator itr2 = tree.bisect(2);
+
+  swap(itr1, itr2);
+
+  if (itr2.index() != 1)
+    return false;
+
+  if (*itr2 != 1)
+    return false;
+
+  if (itr1.index() != 2)
+    return false;
+
+  if (*itr1 != 2)
+    return false;
+
+  CO_Tree::const_iterator itr3 = tree.bisect(1);
+  CO_Tree::const_iterator itr4 = tree.bisect(2);
+
+  swap(itr3, itr4);
+
+  if (itr4.index() != 1)
+    return false;
+
+  if (*itr4 != 1)
+    return false;
+
+  if (itr3.index() != 2)
+    return false;
+
+  if (*itr3 != 2)
+    return false;
+
+  return true;
+}
+
+bool
+test16() {
+
+  // Test iterators' and const_iterators' postfix increment and decrement
+  // operators.
+
+  CO_Tree tree;
+
+  tree.insert(1, 0);
+  tree.insert(2, 0);
+  tree.insert(3, 0);
+
+  CO_Tree::iterator itr = tree.bisect(1);
+
+  itr++;
+
+  if (itr.index() != 2)
+    return false;
+
+  itr++;
+
+  if (itr.index() != 3)
+    return false;
+
+  itr--;
+
+  if (itr.index() != 2)
+    return false;
+
+  itr--;
+
+  if (itr.index() != 1)
+    return false;
+
+  CO_Tree::const_iterator itr2 = tree.bisect(1);
+
+  itr2++;
+
+  if (itr2.index() != 2)
+    return false;
+
+  itr2++;
+
+  if (itr2.index() != 3)
+    return false;
+
+  itr2--;
+
+  if (itr2.index() != 2)
+    return false;
+
+  itr2--;
+
+  if (itr2.index() != 1)
+    return false;
+
+  return true;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+END_MAIN
+
+#else // !PPL_USE_SPARSE_MATRIX
+
+// A fake test to avoid compiler warnings in BEGIN_MAIN.
+bool test01() {
+  return true;
+}
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
+
+#endif // !PPL_USE_SPARSE_MATRIX
diff --git a/tests/Concrete_Expression/C_Expr.cc b/tests/Concrete_Expression/C_Expr.cc
new file mode 100644
index 0000000..25c8c79
--- /dev/null
+++ b/tests/Concrete_Expression/C_Expr.cc
@@ -0,0 +1,32 @@
+/* Definitions for the C_Expr class and its subclasses: non-inline,
+   non-template functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+#include "C_Expr.defs.hh"
+
+int
+main() {
+  return 0;
+}
diff --git a/tests/Concrete_Expression/C_Expr.defs.hh b/tests/Concrete_Expression/C_Expr.defs.hh
new file mode 100644
index 0000000..9e109bc
--- /dev/null
+++ b/tests/Concrete_Expression/C_Expr.defs.hh
@@ -0,0 +1,257 @@
+/* Declarations for the C_Expr class and its subclasses.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_C_Expr_defs_hh
+#define PPL_C_Expr_defs_hh 1
+
+#include "Concrete_Expression.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+struct C_Expr;
+
+enum C_Expr_Kind {
+  BOP,
+  UOP,
+  CAST,
+  INT_CON,
+  FP_CON,
+  APPROX_REF
+};
+
+//! Toy class for testing analysis of floating point computations.
+template <>
+class Concrete_Expression<C_Expr> : public Concrete_Expression_Common<C_Expr> {
+public:
+  //! Builds a concrete expression of the given kind.
+  Concrete_Expression<C_Expr>(Concrete_Expression_Type type, C_Expr_Kind KIND);
+
+  //! Returns the type of \* this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the kind of \* this.
+  Concrete_Expression_Kind kind() const;
+
+  //! The expression's type.
+  Concrete_Expression_Type expr_type;
+
+  //! The expression's kind.
+  C_Expr_Kind expr_kind;
+};
+
+template <>
+class Binary_Operator<C_Expr> : public Concrete_Expression<C_Expr>,
+                                public Binary_Operator_Common<C_Expr> {
+public:
+  //! Constructor from operator, lhs and rhs.
+  Binary_Operator<C_Expr>(Concrete_Expression_Type type,
+                          Concrete_Expression_BOP binary_operator,
+                          const Concrete_Expression<C_Expr>* left_hand_side,
+                          const Concrete_Expression<C_Expr>* right_hand_side);
+
+  //! Do-nothing destructor.
+  ~Binary_Operator<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the binary operator of \p *this.
+  Concrete_Expression_BOP binary_operator() const;
+
+  //! Returns the left-hand side of \p *this.
+  const Concrete_Expression<C_Expr>* left_hand_side() const;
+
+  //! Returns the right-hand side of \p *this.
+  const Concrete_Expression<C_Expr>* right_hand_side() const;
+
+  //! Constant identifying binary operator nodes.
+  enum Kind {
+    KIND = BOP
+  };
+
+  //! Constants encoding the different binary operators.
+  enum Operation {
+    ADD,
+    SUB,
+    MUL,
+    DIV,
+    REM,
+    BAND,
+    BOR,
+    BXOR,
+    LSHIFT,
+    RSHIFT
+  };
+
+  //! The operator of \p *this.
+  const Concrete_Expression_BOP bop;
+
+  //! The left-hand side of \p *this.
+  const Concrete_Expression<C_Expr>* lhs;
+
+  //! The right-hand side of \p *this.
+  const Concrete_Expression<C_Expr>* rhs;
+};
+
+template <>
+class Unary_Operator<C_Expr> : public Concrete_Expression<C_Expr>,
+                               public Unary_Operator_Common<C_Expr> {
+public:
+  //! Constructor from operator and argument.
+  Unary_Operator<C_Expr>(Concrete_Expression_Type type,
+                         Concrete_Expression_UOP unary_operator,
+                         const Concrete_Expression<C_Expr>* argument);
+
+  //! Do-nothing destructor.
+  ~Unary_Operator<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the unary operator of \p *this.
+  Concrete_Expression_UOP unary_operator() const;
+
+  //! Returns the argument of \p *this.
+  const Concrete_Expression<C_Expr>* argument() const;
+
+  //! Constant identifying unary operator nodes.
+  enum Kind {
+    KIND = UOP
+  };
+
+  //! Constants encoding the different unary operators.
+  enum Operation {
+    UPLUS,
+    UMINUS,
+    BNOT
+  };
+
+  //! The operator of \p *this.
+  const Concrete_Expression_UOP uop;
+
+  //! The argument of \p *this.
+  const Concrete_Expression<C_Expr>* arg;
+};
+
+template <>
+class Cast_Operator<C_Expr>
+  : public Concrete_Expression<C_Expr>,
+    public Cast_Operator_Common<C_Expr> {
+public:
+  //! Constructor from cast type and argument.
+  Cast_Operator<C_Expr>(Concrete_Expression_Type type,
+                        const Concrete_Expression<C_Expr>* ar);
+
+  //! Do-nothing destructor.
+  ~Cast_Operator<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Returns the casted expression.
+  const Concrete_Expression<C_Expr>* argument() const;
+
+  //! Constant identifying cast nodes.
+  enum Kind { KIND = CAST };
+
+  //! The casted expression.
+  const Concrete_Expression<C_Expr>* arg;
+};
+
+template <>
+class Integer_Constant<C_Expr>
+  : public Concrete_Expression<C_Expr>,
+    public Integer_Constant_Common<C_Expr> {
+public:
+  //! Constructor from type and value.
+  Integer_Constant<C_Expr>(Concrete_Expression_Type type,
+                  const Integer_Interval& val);
+
+  //! Do-nothing destructor.
+  ~Integer_Constant<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Constant identifying integer constant nodes.
+  enum Kind { KIND = INT_CON };
+
+  //! An interval in which the value of the constant falls.
+  Integer_Interval value;
+};
+
+template <>
+class Floating_Point_Constant<C_Expr>
+  : public Concrete_Expression<C_Expr>,
+    public Floating_Point_Constant_Common<C_Expr> {
+public:
+  //! Constructor from value.
+  Floating_Point_Constant<C_Expr>(const char* value_string,
+                                  unsigned int string_size);
+
+  //! Do-nothing destructor.
+  ~Floating_Point_Constant<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Constant identifying floating constant nodes.
+  enum Kind { KIND = FP_CON };
+
+  //! The floating point constant as written.
+  char* value;
+};
+
+// The use of Integer_Interval here is for simplicity only.
+template <>
+class Approximable_Reference<C_Expr>
+  : public Concrete_Expression<C_Expr>,
+    public Approximable_Reference_Common<C_Expr> {
+public:
+  //! Builds a reference to the entity having the given index.
+  Approximable_Reference<C_Expr>(Concrete_Expression_Type type,
+				 const Integer_Interval& val,
+                                 dimension_type index);
+
+  //! Do-nothing destructor.
+  ~Approximable_Reference<C_Expr>();
+
+  //! Returns the type of \p *this.
+  Concrete_Expression_Type type() const;
+
+  //! Constant identifying approximable reference nodes.
+  enum Kind { KIND = APPROX_REF };
+
+  //! An interval in which the referenced entity's value falls.
+  Integer_Interval value;
+
+  //! The set of possible indexes for the referenced entity.
+  std::set<dimension_type> dimensions;
+};
+
+} // namespace Parma_Polyhedra_Library
+
+#include "C_Expr.inlines.hh"
+//#include "C_Expr.templates.hh"
+
+#endif // !defined(PPL_C_Expr_defs_hh)
diff --git a/tests/Concrete_Expression/C_Expr.inlines.hh b/tests/Concrete_Expression/C_Expr.inlines.hh
new file mode 100644
index 0000000..8ae81fd
--- /dev/null
+++ b/tests/Concrete_Expression/C_Expr.inlines.hh
@@ -0,0 +1,187 @@
+/* Definitions for the C_Expr class and its subclasses: inline functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#ifndef PPL_C_Expr_inlines_hh
+#define PPL_C_Expr_inlines_hh 1
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Concrete_Expression<C_Expr>::
+Concrete_Expression(const Concrete_Expression_Type type,
+                    const C_Expr_Kind KIND)
+  : expr_type(type),
+    expr_kind(KIND) {
+}
+
+inline Concrete_Expression_Kind
+Concrete_Expression<C_Expr>::kind() const {
+  return expr_kind;
+}
+
+inline Concrete_Expression_Type
+Concrete_Expression<C_Expr>::type() const {
+  return expr_type;
+}
+
+inline
+Binary_Operator<C_Expr>
+::Binary_Operator(const Concrete_Expression_Type type,
+                  const Concrete_Expression_BOP binary_operator,
+                  const Concrete_Expression<C_Expr>* left_hand_side,
+                  const Concrete_Expression<C_Expr>* right_hand_side)
+  : Concrete_Expression<C_Expr>(type, BOP),
+    bop(binary_operator),
+    lhs(left_hand_side),
+    rhs(right_hand_side) {
+}
+
+inline
+Binary_Operator<C_Expr>::~Binary_Operator<C_Expr>() {
+}
+
+inline Concrete_Expression_Type
+Binary_Operator<C_Expr>::type() const {
+  return expr_type;
+}
+
+inline Concrete_Expression_BOP
+Binary_Operator<C_Expr>::binary_operator() const {
+  return bop;
+}
+
+inline const Concrete_Expression<C_Expr>*
+Binary_Operator<C_Expr>::left_hand_side() const {
+  return lhs;
+}
+
+inline const Concrete_Expression<C_Expr>*
+Binary_Operator<C_Expr>::right_hand_side() const {
+  return rhs;
+}
+
+inline
+Unary_Operator<C_Expr>
+::Unary_Operator(const Concrete_Expression_Type type,
+                 const Concrete_Expression_UOP unary_operator,
+                 const Concrete_Expression<C_Expr>* argument)
+  : Concrete_Expression<C_Expr>(type, UOP),
+    uop(unary_operator),
+    arg(argument) {
+}
+
+inline
+Unary_Operator<C_Expr>::~Unary_Operator<C_Expr>() {
+}
+
+inline Concrete_Expression_Type
+Unary_Operator<C_Expr>::type() const {
+  return expr_type;
+}
+
+inline Concrete_Expression_BOP
+Unary_Operator<C_Expr>::unary_operator() const {
+  return uop;
+}
+
+inline const Concrete_Expression<C_Expr>*
+Unary_Operator<C_Expr>::argument() const {
+  return arg;
+}
+
+inline
+Cast_Operator<C_Expr>::
+Cast_Operator(const Concrete_Expression_Type type,
+              const Concrete_Expression<C_Expr>* ar)
+  : Concrete_Expression<C_Expr>(type, CAST),
+    arg(ar) {
+}
+
+inline
+Cast_Operator<C_Expr>::~Cast_Operator<C_Expr>() {
+}
+
+inline Concrete_Expression_Type
+Cast_Operator<C_Expr>::type() const {
+  return expr_type;
+}
+
+inline const Concrete_Expression<C_Expr>*
+Cast_Operator<C_Expr>::argument() const {
+  return arg;
+}
+
+inline
+Integer_Constant<C_Expr>::
+Integer_Constant(Concrete_Expression_Type type,
+                 const Integer_Interval& val)
+  : Concrete_Expression<C_Expr>(type, INT_CON),
+    value(val) {
+}
+
+inline
+Integer_Constant<C_Expr>::~Integer_Constant<C_Expr>() {
+}
+
+inline
+Floating_Point_Constant<C_Expr>::
+Floating_Point_Constant(const char* value_string,
+                        const unsigned int string_size)
+  : Concrete_Expression<C_Expr>(Concrete_Expression_Type::floating_point(ANALYZED_FP_FORMAT), FP_CON),
+    value(new char[string_size]) {
+  strcpy(value, value_string);
+}
+
+inline
+Floating_Point_Constant<C_Expr>::~Floating_Point_Constant<C_Expr>() {
+  delete[] value;
+}
+
+inline Concrete_Expression_Type
+Floating_Point_Constant<C_Expr>::type() const {
+  return expr_type;
+}
+
+inline
+Approximable_Reference<C_Expr>::
+Approximable_Reference(Concrete_Expression_Type type,
+		       const Integer_Interval& val,
+                       dimension_type index)
+  : Concrete_Expression<C_Expr>(type, APPROX_REF),
+    value(val),
+    dimensions() {
+  dimensions.insert(index);
+}
+
+inline
+Approximable_Reference<C_Expr>::~Approximable_Reference<C_Expr>() {
+}
+
+inline Concrete_Expression_Type
+Approximable_Reference<C_Expr>::type() const {
+  return expr_type;
+}
+
+} // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_C_Expr_inlines_hh)
diff --git a/tests/Concrete_Expression/Makefile.am b/tests/Concrete_Expression/Makefile.am
new file mode 100644
index 0000000..428d71d
--- /dev/null
+++ b/tests/Concrete_Expression/Makefile.am
@@ -0,0 +1,179 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ .
+
+if VALGRIND_TESTS_ENABLED
+
+CHECKER = \
+libtool --mode=execute \
+$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+--num-callers=40 --leak-resolution=high \
+--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+else !VALGRIND_TESTS_ENABLED
+
+CHECKER =
+
+endif !VALGRIND_TESTS_ENABLED
+
+TESTS_ENVIRONMENT = $(CHECKER)
+
+AM_CPPFLAGS = \
+$(TEST_CPPFLAGS) \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/src \
+-I$(top_srcdir)/tests \
+-I$(top_srcdir)/utils \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+ALL_TESTS = \
+C_Expr \
+linearform1 \
+linearize \
+digitalfilters1 \
+bdshape1 \
+bdshape2 \
+octagonalshape1 \
+octagonalshape2 \
+polyhedron1 \
+polyhedron2
+
+BUGS =
+
+
+# There are platforms where no floating-point type is supported.
+if SUPPORTED_SOME_FLOATING_POINT_TYPE
+
+check_PROGRAMS = $(ALL_TESTS) $(BUGS)
+
+TESTS = run_tests.stamp
+
+endif SUPPORTED_SOME_FLOATING_POINT_TYPE
+
+
+# This will be overridden by the `run_tests' script.
+if SUPPORTED_FLOAT
+FLOAT_FLAGS = \
+-DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE
+else
+if SUPPORTED_DOUBLE
+DOUBLE_FLAGS = \
+-DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE
+else
+if SUPPORTED_LONG_DOUBLE
+LONG_DOUBLE_FLAGS = \
+-DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD
+endif
+endif
+endif
+
+TEST_CPPFLAGS = $(FLOAT_FLAGS) $(DOUBLE_FLAGS) $(LONG_DOUBLE_FLAGS)
+
+dist_check_SCRIPTS = run_tests
+
+.PHONY: run_tests.stamp
+run_tests.stamp: run_tests
+	+MAKE="$(MAKE)" $(srcdir)/run_tests
+	echo "true" >run_tests.stamp
+	chmod +x run_tests.stamp
+
+XFAIL_TESTS =
+
+# Do not change the ordering in what follows.
+# Analyzer format should be less precise or equal than analyzed format.
+if SUPPORTED_FLOAT
+FLOAT_INSTANCES= \
+float/IEEE754_SINGLE \
+float/IEEE754_DOUBLE \
+float/IEEE754_QUAD
+endif
+if SUPPORTED_DOUBLE
+DOUBLE_INSTANCES= \
+double/IEEE754_DOUBLE \
+double/IEEE754_QUAD
+endif
+if SUPPORTED_LONG_DOUBLE
+LONG_DOUBLE_INSTANCES= \
+long_double/IEEE754_QUAD
+endif
+
+# Do not change the ordering in what follows.
+INSTANCES = \
+$(FLOAT_INSTANCES) \
+$(DOUBLE_INSTANCES) \
+$(LONG_DOUBLE_INSTANCES)
+
+print_check_PROGRAMS:
+	echo $(check_PROGRAMS)
+
+print_INSTANCES:
+	echo $(INSTANCES)
+
+
+#
+# Sources for the tests
+#
+
+C_Expr_SOURCES = C_Expr.defs.hh C_Expr.inlines.hh C_Expr.cc
+
+bdshape1_SOURCES = bdshape1.cc
+
+bdshape2_SOURCES = bdshape2.cc
+
+digitalfilters1_SOURCES = digitalfilters1.cc
+
+linearform1_SOURCES = linearform1.cc
+
+linearize_SOURCES = linearize.cc
+
+octagonalshape1_SOURCES = octagonalshape1.cc
+
+octagonalshape2_SOURCES = octagonalshape2.cc
+
+polyhedron1_SOURCES = polyhedron1.cc
+
+polyhedron2_SOURCES = polyhedron2.cc
+
+
+CLEANFILES = \
+run_tests.stamp
+
+
+DISTCLEANFILES = \
+dirty_marker
+
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
diff --git a/tests/Concrete_Expression/Makefile.in b/tests/Concrete_Expression/Makefile.in
new file mode 100644
index 0000000..51db3fd
--- /dev/null
+++ b/tests/Concrete_Expression/Makefile.in
@@ -0,0 +1,950 @@
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ .
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+ at SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE@check_PROGRAMS =  \
+ at SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE@	$(am__EXEEXT_1) \
+ at SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE@	$(am__EXEEXT_2)
+XFAIL_TESTS =
+subdir = tests/Concrete_Expression
+DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = C_Expr$(EXEEXT) linearform1$(EXEEXT) linearize$(EXEEXT) \
+	digitalfilters1$(EXEEXT) bdshape1$(EXEEXT) bdshape2$(EXEEXT) \
+	octagonalshape1$(EXEEXT) octagonalshape2$(EXEEXT) \
+	polyhedron1$(EXEEXT) polyhedron2$(EXEEXT)
+am__EXEEXT_2 =
+am_C_Expr_OBJECTS = C_Expr.$(OBJEXT)
+C_Expr_OBJECTS = $(am_C_Expr_OBJECTS)
+C_Expr_LDADD = $(LDADD)
+C_Expr_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am_bdshape1_OBJECTS = bdshape1.$(OBJEXT)
+bdshape1_OBJECTS = $(am_bdshape1_OBJECTS)
+bdshape1_LDADD = $(LDADD)
+bdshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_bdshape2_OBJECTS = bdshape2.$(OBJEXT)
+bdshape2_OBJECTS = $(am_bdshape2_OBJECTS)
+bdshape2_LDADD = $(LDADD)
+bdshape2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_digitalfilters1_OBJECTS = digitalfilters1.$(OBJEXT)
+digitalfilters1_OBJECTS = $(am_digitalfilters1_OBJECTS)
+digitalfilters1_LDADD = $(LDADD)
+digitalfilters1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_linearform1_OBJECTS = linearform1.$(OBJEXT)
+linearform1_OBJECTS = $(am_linearform1_OBJECTS)
+linearform1_LDADD = $(LDADD)
+linearform1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_linearize_OBJECTS = linearize.$(OBJEXT)
+linearize_OBJECTS = $(am_linearize_OBJECTS)
+linearize_LDADD = $(LDADD)
+linearize_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_octagonalshape1_OBJECTS = octagonalshape1.$(OBJEXT)
+octagonalshape1_OBJECTS = $(am_octagonalshape1_OBJECTS)
+octagonalshape1_LDADD = $(LDADD)
+octagonalshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_octagonalshape2_OBJECTS = octagonalshape2.$(OBJEXT)
+octagonalshape2_OBJECTS = $(am_octagonalshape2_OBJECTS)
+octagonalshape2_LDADD = $(LDADD)
+octagonalshape2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_polyhedron1_OBJECTS = polyhedron1.$(OBJEXT)
+polyhedron1_OBJECTS = $(am_polyhedron1_OBJECTS)
+polyhedron1_LDADD = $(LDADD)
+polyhedron1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_polyhedron2_OBJECTS = polyhedron2.$(OBJEXT)
+polyhedron2_OBJECTS = $(am_polyhedron2_OBJECTS)
+polyhedron2_LDADD = $(LDADD)
+polyhedron2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC    " $@;
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(C_Expr_SOURCES) $(bdshape1_SOURCES) $(bdshape2_SOURCES) \
+	$(digitalfilters1_SOURCES) $(linearform1_SOURCES) \
+	$(linearize_SOURCES) $(octagonalshape1_SOURCES) \
+	$(octagonalshape2_SOURCES) $(polyhedron1_SOURCES) \
+	$(polyhedron2_SOURCES)
+DIST_SOURCES = $(C_Expr_SOURCES) $(bdshape1_SOURCES) \
+	$(bdshape2_SOURCES) $(digitalfilters1_SOURCES) \
+	$(linearform1_SOURCES) $(linearize_SOURCES) \
+	$(octagonalshape1_SOURCES) $(octagonalshape2_SOURCES) \
+	$(polyhedron1_SOURCES) $(polyhedron2_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+ at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
+ at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
+ at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+ at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=40 --leak-resolution=high \
+ at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+TESTS_ENVIRONMENT = $(CHECKER)
+AM_CPPFLAGS = \
+$(TEST_CPPFLAGS) \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/src \
+-I$(top_srcdir)/tests \
+-I$(top_srcdir)/utils \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/utils/libppl_utils.a \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la \
+ at extra_libraries@
+
+ALL_TESTS = \
+C_Expr \
+linearform1 \
+linearize \
+digitalfilters1 \
+bdshape1 \
+bdshape2 \
+octagonalshape1 \
+octagonalshape2 \
+polyhedron1 \
+polyhedron2
+
+BUGS = 
+ at SUPPORTED_SOME_FLOATING_POINT_TYPE_TRUE@TESTS = run_tests.stamp
+
+# This will be overridden by the `run_tests' script.
+ at SUPPORTED_FLOAT_TRUE@FLOAT_FLAGS = \
+ at SUPPORTED_FLOAT_TRUE@-DANALYZER_FP_FORMAT=float -DANALYZED_FP_FORMAT=IEEE754_SINGLE
+
+ at SUPPORTED_DOUBLE_TRUE@@SUPPORTED_FLOAT_FALSE at DOUBLE_FLAGS = \
+ at SUPPORTED_DOUBLE_TRUE@@SUPPORTED_FLOAT_FALSE at -DANALYZER_FP_FORMAT=double -DANALYZED_FP_FORMAT=IEEE754_DOUBLE
+
+ at SUPPORTED_DOUBLE_FALSE@@SUPPORTED_FLOAT_FALSE@@SUPPORTED_LONG_DOUBLE_TRUE at LONG_DOUBLE_FLAGS = \
+ at SUPPORTED_DOUBLE_FALSE@@SUPPORTED_FLOAT_FALSE@@SUPPORTED_LONG_DOUBLE_TRUE at -DANALYZER_FP_FORMAT=long_double -DANALYZED_FP_FORMAT=IEEE754_QUAD
+
+TEST_CPPFLAGS = $(FLOAT_FLAGS) $(DOUBLE_FLAGS) $(LONG_DOUBLE_FLAGS)
+dist_check_SCRIPTS = run_tests
+
+# Do not change the ordering in what follows.
+# Analyzer format should be less precise or equal than analyzed format.
+ at SUPPORTED_FLOAT_TRUE@FLOAT_INSTANCES = \
+ at SUPPORTED_FLOAT_TRUE@float/IEEE754_SINGLE \
+ at SUPPORTED_FLOAT_TRUE@float/IEEE754_DOUBLE \
+ at SUPPORTED_FLOAT_TRUE@float/IEEE754_QUAD
+
+ at SUPPORTED_DOUBLE_TRUE@DOUBLE_INSTANCES = \
+ at SUPPORTED_DOUBLE_TRUE@double/IEEE754_DOUBLE \
+ at SUPPORTED_DOUBLE_TRUE@double/IEEE754_QUAD
+
+ at SUPPORTED_LONG_DOUBLE_TRUE@LONG_DOUBLE_INSTANCES = \
+ at SUPPORTED_LONG_DOUBLE_TRUE@long_double/IEEE754_QUAD
+
+
+# Do not change the ordering in what follows.
+INSTANCES = \
+$(FLOAT_INSTANCES) \
+$(DOUBLE_INSTANCES) \
+$(LONG_DOUBLE_INSTANCES)
+
+
+#
+# Sources for the tests
+#
+C_Expr_SOURCES = C_Expr.defs.hh C_Expr.inlines.hh C_Expr.cc
+bdshape1_SOURCES = bdshape1.cc
+bdshape2_SOURCES = bdshape2.cc
+digitalfilters1_SOURCES = digitalfilters1.cc
+linearform1_SOURCES = linearform1.cc
+linearize_SOURCES = linearize.cc
+octagonalshape1_SOURCES = octagonalshape1.cc
+octagonalshape2_SOURCES = octagonalshape2.cc
+polyhedron1_SOURCES = polyhedron1.cc
+polyhedron2_SOURCES = polyhedron2.cc
+CLEANFILES = \
+run_tests.stamp
+
+DISTCLEANFILES = \
+dirty_marker
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Concrete_Expression/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Concrete_Expression/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+C_Expr$(EXEEXT): $(C_Expr_OBJECTS) $(C_Expr_DEPENDENCIES) $(EXTRA_C_Expr_DEPENDENCIES) 
+	@rm -f C_Expr$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(C_Expr_OBJECTS) $(C_Expr_LDADD) $(LIBS)
+bdshape1$(EXEEXT): $(bdshape1_OBJECTS) $(bdshape1_DEPENDENCIES) $(EXTRA_bdshape1_DEPENDENCIES) 
+	@rm -f bdshape1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(bdshape1_OBJECTS) $(bdshape1_LDADD) $(LIBS)
+bdshape2$(EXEEXT): $(bdshape2_OBJECTS) $(bdshape2_DEPENDENCIES) $(EXTRA_bdshape2_DEPENDENCIES) 
+	@rm -f bdshape2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(bdshape2_OBJECTS) $(bdshape2_LDADD) $(LIBS)
+digitalfilters1$(EXEEXT): $(digitalfilters1_OBJECTS) $(digitalfilters1_DEPENDENCIES) $(EXTRA_digitalfilters1_DEPENDENCIES) 
+	@rm -f digitalfilters1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(digitalfilters1_OBJECTS) $(digitalfilters1_LDADD) $(LIBS)
+linearform1$(EXEEXT): $(linearform1_OBJECTS) $(linearform1_DEPENDENCIES) $(EXTRA_linearform1_DEPENDENCIES) 
+	@rm -f linearform1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(linearform1_OBJECTS) $(linearform1_LDADD) $(LIBS)
+linearize$(EXEEXT): $(linearize_OBJECTS) $(linearize_DEPENDENCIES) $(EXTRA_linearize_DEPENDENCIES) 
+	@rm -f linearize$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(linearize_OBJECTS) $(linearize_LDADD) $(LIBS)
+octagonalshape1$(EXEEXT): $(octagonalshape1_OBJECTS) $(octagonalshape1_DEPENDENCIES) $(EXTRA_octagonalshape1_DEPENDENCIES) 
+	@rm -f octagonalshape1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(octagonalshape1_OBJECTS) $(octagonalshape1_LDADD) $(LIBS)
+octagonalshape2$(EXEEXT): $(octagonalshape2_OBJECTS) $(octagonalshape2_DEPENDENCIES) $(EXTRA_octagonalshape2_DEPENDENCIES) 
+	@rm -f octagonalshape2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(octagonalshape2_OBJECTS) $(octagonalshape2_LDADD) $(LIBS)
+polyhedron1$(EXEEXT): $(polyhedron1_OBJECTS) $(polyhedron1_DEPENDENCIES) $(EXTRA_polyhedron1_DEPENDENCIES) 
+	@rm -f polyhedron1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhedron1_OBJECTS) $(polyhedron1_LDADD) $(LIBS)
+polyhedron2$(EXEEXT): $(polyhedron2_OBJECTS) $(polyhedron2_DEPENDENCIES) $(EXTRA_polyhedron2_DEPENDENCIES) 
+	@rm -f polyhedron2$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(polyhedron2_OBJECTS) $(polyhedron2_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/C_Expr.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bdshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bdshape2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/digitalfilters1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linearform1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linearize.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/octagonalshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/octagonalshape2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhedron1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhedron2.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) \
+	  $(dist_check_SCRIPTS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am
+
+
+.PHONY: run_tests.stamp
+run_tests.stamp: run_tests
+	+MAKE="$(MAKE)" $(srcdir)/run_tests
+	echo "true" >run_tests.stamp
+	chmod +x run_tests.stamp
+
+print_check_PROGRAMS:
+	echo $(check_PROGRAMS)
+
+print_INSTANCES:
+	echo $(INSTANCES)
+
+$(top_builddir)/utils/libppl_utils.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/Concrete_Expression/bdshape1.cc b/tests/Concrete_Expression/bdshape1.cc
new file mode 100644
index 0000000..d686412
--- /dev/null
+++ b/tests/Concrete_Expression/bdshape1.cc
@@ -0,0 +1,335 @@
+/* Test BD_Shape::affine_form_image on interval linear forms.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests space_dimensions and trivial cases.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  FP_BD_Shape bd1(0);
+  bool ok1 = false;
+  FP_Linear_Form l(A);
+
+  try {
+      bd1.affine_form_image(A, l);
+  }
+  catch(std::invalid_argument e) {
+    nout << "bd1_space_dim < lf_space_dim" << endl;
+    ok1 = true;
+  }
+
+  bool ok2 = false;
+  FP_BD_Shape bd2(1);
+
+  try {
+    bd2.affine_form_image(B, l);
+  }
+  catch(std::invalid_argument e) {
+    nout << "space_dim < var_id + 1" << endl;
+    bd2.affine_form_image(A, l);
+    Constraint_System cs(A < A);
+    bd2.add_constraints(cs);
+    bd2.affine_form_image(A, l);
+    ok2 = true;
+  }
+
+  return ok1 && ok2;
+}
+
+
+// Tests affine_form_image(A, [-2, 1]).
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(-2);
+  free_term.join_assign(1);
+  FP_Linear_Form l(free_term);
+  bd1.affine_form_image(A, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(A, [-2, 1]) ***");
+
+  FP_BD_Shape known_result(2);
+  known_result.add_constraint(A <= 1);
+  known_result.add_constraint(-A <= 2);
+  known_result.add_constraint(B <= 2);
+  print_constraints(bd1, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, [-1, -1]*A + [0.5, 2]).
+bool test03() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(static_cast<FP_Interval::boundary_type>(0.5));
+  free_term.join_assign(2);
+  FP_Linear_Form l(-A);
+  l += free_term;
+  bd1.affine_form_image(A, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(A, -A + [0.5, 2]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(-2*A <= 3);
+  known_result.add_constraint(B <= 2);
+  print_constraints(known_result, "*** known_result ***");
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [1, 1]*B + [-1.5, 3.5]).
+bool test04() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(static_cast<FP_Interval::boundary_type>(-1.5));
+  free_term.join_assign(static_cast<FP_Interval::boundary_type>(3.5));
+  FP_Linear_Form l(B);
+  l += free_term;
+  bd1.affine_form_image(B, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(B, B + [-1.5, 3.5]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(2*B <= 11);
+  known_result.add_constraint(-2*B + 2*A <= 9);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, [1, 1]*B + [-1, 0.5]).
+bool test05() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(-1);
+  free_term.join_assign(static_cast<FP_Interval::boundary_type>(0.5));
+  FP_Linear_Form l(B);
+  l += free_term;
+  bd1.affine_form_image(A, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(A, B + [-1, 0.5]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(2*A <= 5);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(B - A <= 1);
+  known_result.add_constraint(2*A - 2*B <= 1);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [1, 1]*A + [-3, 1]).
+bool test06() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(-3);
+  free_term.join_assign(1);
+  FP_Linear_Form l(A);
+  l += free_term;
+  bd1.affine_form_image(B, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(B, A + [-3, 1]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(B <= 3);
+  known_result.add_constraint(B - A <= 1);
+  known_result.add_constraint(A - B <= 3);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [-1, -1]*A + [0, 4]).
+bool test07() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval free_term(0);
+  free_term.join_assign(4);
+  FP_Linear_Form l(-A);
+  l += free_term;
+  bd1.affine_form_image(B, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(B, -A + [0, 4]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(-B <= 2);
+  known_result.add_constraint(A - B <= 4);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, [-1, -1]*B + [0, 2]).
+bool test08() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  bd1.add_constraint(B >= -10);
+  FP_Interval free_term(0);
+  free_term.join_assign(2);
+  FP_Linear_Form l(-B);
+  l += free_term;
+  bd1.affine_form_image(A, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(A, -B + [0, 2]) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(-A <= 2);
+  known_result.add_constraint(A <= 12);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(B >= -10);
+  known_result.add_constraint(-A + B <= 4);
+  known_result.add_constraint(A - B <= 22);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [-0.5, 0.5]*A).
+bool test09() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Interval coeff(static_cast<FP_Interval::boundary_type>(-0.5));
+  coeff.join_assign(static_cast<FP_Interval::boundary_type>(0.5));
+  FP_Linear_Form l(A);
+  l *= coeff;
+  bd1.affine_form_image(B, l);
+  print_constraints(bd1, "*** bd1.affine_form_image(B, [-0.5, 0.5]*A) ***");
+
+  FP_BD_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(A - B <= 3);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, i + i0*A + i1*B) where
+// i = [0, 2], i0 = [1, 1] and i1 = [1, 2].
+bool test10() {
+
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A >= 0);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(B >= 0);
+  bd1.add_constraint(B <= 2);
+  bd1.add_constraint(A - B >= 0);
+  FP_Interval tmp(1);
+  FP_Linear_Form l(A);
+  l *= tmp;
+  tmp.lower() = 0;
+  tmp.upper() = 2;
+  l += tmp;
+  tmp.lower() = 1;
+  tmp.upper() = 2;
+  l += tmp * FP_Linear_Form(B);
+  bd1.affine_form_image(A,l);
+  print_constraints(bd1, "*** bd1.affine_form_image(A, i + i0*A + i1*B) ***");
+
+  FP_BD_Shape know_result(2);
+  know_result.add_constraint(A >= 0);
+  know_result.add_constraint(A <= 8);
+  know_result.add_constraint(B >= 0);
+  know_result.add_constraint(B <= 2);
+  know_result.add_constraint(A - B <= 6);
+  know_result.add_constraint(-A + B <= 0);
+  print_constraints(know_result, "*** know_result ***");
+
+  bool ok = (bd1 == know_result);
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+END_MAIN
diff --git a/tests/Concrete_Expression/bdshape2.cc b/tests/Concrete_Expression/bdshape2.cc
new file mode 100644
index 0000000..6436762
--- /dev/null
+++ b/tests/Concrete_Expression/bdshape2.cc
@@ -0,0 +1,571 @@
+/* Test BD_Shape::refine_wiht_linear_form_inequaity on interval linear forms.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests trivial cases.
+bool
+test01() {
+  Variable A(0);
+  FP_BD_Shape bd1(0);
+  bool ok1 = false;
+  FP_Linear_Form l1(A);
+  FP_Linear_Form l2;
+
+  try{
+    bd1.refine_with_linear_form_inequality(l1,l2);
+    std::cout <<"no eccezione" <<std::endl;
+  }
+  catch(std::invalid_argument e) {
+    ok1 = true;
+  }
+
+
+  bool ok2 = false;
+  try{
+    bd1.refine_with_linear_form_inequality(l2,l1);
+    std::cout <<"no eccezione" <<std::endl;
+  }
+  catch(std::invalid_argument e){
+    FP_BD_Shape bd2(1);
+    bd2.refine_with_linear_form_inequality(l1, l1);
+    bd2.refine_with_linear_form_inequality(-l1, l1);
+    bd2.refine_with_linear_form_inequality(l1, -l1);
+    FP_Interval tmp(0);
+    l1 -= A;
+    l1 += tmp;
+    l2 += tmp;
+    bd2.refine_with_linear_form_inequality(l1, l2);
+    ok2 = true;
+  }
+
+  return ok1 && ok2;
+}
+
+// Tests [-1, 2] <= [-4, -1] + A and [-4, -1] + A <= [-1, 2].
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(-1);
+  tmp.join_assign(2);
+  FP_Linear_Form l1(tmp);
+  FP_Linear_Form l2(A);
+  tmp.lower() = -4;
+  tmp.upper() = -1;
+  l2 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [-1, 2] <= [-4, -1] + A ***");
+
+  known_result.add_constraint(-A <= 0);
+  print_constraints(known_result, "*** known_result1 ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [-4, -1] + A <= [-1, 2] ***");
+
+  known_result.add_constraint(A <= 6);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [3.5, 6] <= [-2.5, 0] - A and [-2.5, 0] - A <= [3.5, 6].
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(bd1);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(3.5));
+  tmp.join_assign(6);
+  FP_Linear_Form l1(tmp);
+  FP_Linear_Form l2(-A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(-2.5);
+  tmp.upper() = 0;
+  l2 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [3.5, 6] <= [-2.5, 0] - A ***");
+
+  known_result.add_constraint(2*A <= -7);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [-2.5, 0] - A <= [3.5, 6] ***");
+
+  known_result.add_constraint(2*(-A) <= 17);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [-0.5, 1] + A <= [2.5, 5] + B and [2.5, 5] + B <= [-0.5, 1] + A.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(-0.5));
+  tmp.join_assign(1);
+  FP_Linear_Form l1(A);
+  l1 += tmp;
+  FP_Linear_Form l2(B);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(2.5);
+  tmp.upper() = 5;
+  l2 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [-0.5, 1] + A <= [2.5, 5] + B ***");
+
+  known_result.add_constraint(2*A - 2*B <= 11);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [2.5, 5] + B <= [-0.5, 1] + A ***");
+
+  known_result.add_constraint((2*B) - (2*A) <= -3);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 3] + A <= [4, 4] - B and [4, 4] - B <= [1, 3] + A.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(4);
+  FP_Linear_Form l2(-B);
+  l2 += tmp;
+  FP_Linear_Form l1(A);
+  tmp.lower() = 1;
+  tmp.upper() = 3;
+  l1 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [1, 3] + A <= [4, 4] - B ***");
+
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [4, 4] - B <= [1, 3] + A ***");
+
+  known_result.add_constraint(-A <= 1);
+  known_result.add_constraint(-B <= 1);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 4] - A <= [-2, -2] + B and [-2, -2] + B <= [1, 4] - A.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(-2);
+  FP_Linear_Form l2(B);
+  l2 += tmp;
+  FP_Linear_Form l1(-A);
+  tmp.lower() = 1;
+  tmp.upper() = 4;
+  l1 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [1, 4] - A <= [-2, -2] + B ***");
+
+  known_result.add_constraint(-A <= -1);
+  known_result.add_constraint(-B <= -1);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [-2, -2] + B <= [1, 4] - A ***");
+
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [-3, -0.5] - A <= [-2, -1] - B and [-2, -1] - B <= [-3, -0.5] - A.
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(-2);
+  tmp.join_assign(-1);
+  FP_Linear_Form l2(-B);
+  l2 += tmp;
+  FP_Linear_Form l1(-A);
+  tmp.lower() = -3;
+  tmp.upper() = static_cast<FP_Interval::boundary_type>(-0.5);
+  l1 += tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [-3, -0.5] - A <= [-2, -1] - B ***");
+
+  known_result.add_constraint(B - A <= 2);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [-2, -1] - B <= [-3, -0.5] - A ***");
+
+  known_result.add_constraint(-2*B + 2*A <= 3);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 3] * B <= [-1.5, 0] * A.
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(3);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(1);
+  tmp.join_assign(3);
+  FP_Linear_Form l1(B);
+  l1 *= tmp;
+  FP_Linear_Form l2(A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(-1.5);
+  tmp.upper() = 0;
+  l2 *= tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [1, 3] * B <= [-1.5, 0] * A ***");
+
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests [0.25, 0.5] * A + [-2, -1] * B <= [-7, -2]
+// and   [-7, -2] <= [0.25, 0.5] * A + [-2, -1] * B.
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+
+  FP_Interval tmp(-7);
+  tmp.join_assign(-2);
+  FP_Linear_Form l2(tmp);
+  FP_Linear_Form l1(A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(0.25);
+  tmp.upper() = static_cast<FP_Interval::boundary_type>(0.5);
+  l1 *= tmp;
+  tmp.lower() = -2;
+  tmp.upper() = -1;
+  l1 += tmp * FP_Linear_Form(B);
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [0.25, 0.5]*A + [-2, -1]*B <= [-7, -2] ***");
+
+  known_result.add_constraint(-2*B + 2*A <= 3);
+  known_result.add_constraint(2*A <= 7);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [-7, -2] <= [0.25, 0.5]*A + [-2, -1]*B ***");
+
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+}
+
+// Tests [-5, -1] * A <= [2, 3] * B + [0.5, 1].
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(2);
+  tmp.join_assign(3);
+  FP_Linear_Form l2(B);
+  l2 *= tmp;
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(0.5);
+  tmp.upper() = 1;
+  l2 += tmp;
+  FP_Linear_Form l1(A);
+  tmp.lower() = -5;
+  tmp.upper() = -1;
+  l1 *= tmp;
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** [-5, -1] * A <= [2, 3] * B + [0.5, 1] ***");
+
+  known_result.add_constraint(B - A <= 17);
+  known_result.add_constraint(-B + A <= 17);
+  known_result.add_constraint(A <= 19);
+  known_result.add_constraint(-A <= 15);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (bd1 == known_result);
+
+  return ok;
+}
+
+// Tests Octagonal_Shape<T>::refine_fp_interval_abstract_store.
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(-2.5));
+  tmp.join_assign(static_cast<FP_Interval::boundary_type>(3.5));
+  store.set_interval(A, tmp);
+  tmp.lower() = -4;
+  tmp.upper() = 4;
+  store.set_interval(B, tmp);
+  BD_Shape<ANALYZER_FP_FORMAT> bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(B <= 2);
+  bd1.add_constraint(-A <= 3);
+  bd1.add_constraint(2*(-B) <= 3);
+  bd1.refine_fp_interval_abstract_store(store);
+
+  tmp = store.get_interval(A);
+  nout << "*** store.get_interval(A) ***" << endl
+       << tmp << endl;
+
+  FP_Interval known_result1(static_cast<FP_Interval::boundary_type>(-2.5));
+  known_result1.join_assign(2);
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  bool ok1 = (tmp == known_result1);
+
+  tmp = store.get_interval(B);
+  nout << "*** store.get_interval(B) ***" << endl
+       << tmp << endl;
+
+  FP_Interval known_result2(static_cast<FP_Interval::boundary_type>(-1.5));
+  known_result2.join_assign(2);
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  bool ok2 = (tmp == known_result2);
+
+  return ok1 && ok2;
+}
+
+// Tests - A <= [-1, 0] and [0, 1] <= A.
+bool
+test12() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(0);
+  tmp.join_assign(-1);
+  FP_Linear_Form l2(tmp);
+  FP_Linear_Form l1(-A);
+
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** - A <= [-1, 0]  ***");
+
+  known_result.add_constraint( - A <= 0);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** [0, 1] <= - A  ***");
+  known_result.add_constraint( A <= 1);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+}
+
+// Tests  A <= - B + [-1, 0] and - B + [-1, 0] <= A.
+bool
+test13() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(0);
+  tmp.join_assign(-1);
+  FP_Linear_Form l2(-B);
+  FP_Linear_Form l1(A);
+   l2 += tmp;
+
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** A <= - B + [-1, 0]  ***");
+
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** - B + [-1, 0] <= A  ***");
+  known_result.add_constraint(-A <= 3);
+  known_result.add_constraint(-B <= 3);
+
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+}
+
+// Tests  A <= - A + [-1, 0] and - A + [0, 1] <= A.
+bool
+test14() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_BD_Shape bd1(2);
+  bd1.add_constraint(A <= 2);
+  bd1.add_constraint(A - B <= 3);
+  bd1.add_constraint(B <= 2);
+  FP_BD_Shape known_result(bd1);
+  FP_Interval tmp(0);
+  tmp.join_assign(-1);
+  FP_Linear_Form l2(-A);
+  FP_Linear_Form l1(A);
+  l2 += tmp;
+
+  bd1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(bd1, "*** A <= - A + [-1, 0]  ***");
+
+  known_result.add_constraint(2*A <= 0);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (bd1 == known_result);
+
+  bd1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(bd1, "*** - A + [0, 1] <= A  ***");
+
+  known_result.add_constraint(2*(-A) <= 1);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok2 = (bd1 == known_result);
+
+  return ok1 && ok2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+END_MAIN
diff --git a/tests/Concrete_Expression/digitalfilters1.cc b/tests/Concrete_Expression/digitalfilters1.cc
new file mode 100644
index 0000000..2d00d3a
--- /dev/null
+++ b/tests/Concrete_Expression/digitalfilters1.cc
@@ -0,0 +1,1121 @@
+/* Test Rate Limiter on differents abstract domains.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+#include "C_Expr.defs.hh"
+
+namespace {
+
+class Test_Oracle : public FP_Oracle<C_Expr,FP_Interval> {
+public:
+  Test_Oracle() : int_store(0) {}
+
+  Test_Oracle(FP_Interval_Abstract_Store init) : int_store(init) {}
+
+  bool get_interval(dimension_type dim, FP_Interval& result) const {
+    result = int_store.get_interval(Variable(dim));
+    return true;
+  }
+
+  bool get_fp_constant_value(const Floating_Point_Constant<C_Expr>& expr,
+                             FP_Interval& result) const {
+    result = FP_Interval((const char *)expr.value);
+    return true;
+  }
+
+  bool get_integer_expr_value(const Concrete_Expression<C_Expr>& expr,
+                              FP_Interval& result) const {
+    if (expr.kind() == INT_CON) {
+      const Integer_Constant<C_Expr>* ic_expr =
+        reinterpret_cast< const Integer_Constant<C_Expr>* >(&expr);
+      result = FP_Interval(ic_expr->value);
+    }
+    else {
+      const Approximable_Reference<C_Expr>* ar_expr =
+        reinterpret_cast< const Approximable_Reference<C_Expr>* >(&expr);
+      result = FP_Interval(ar_expr->value);
+    }
+
+    return true;
+  }
+
+  bool get_associated_dimensions(
+       const Approximable_Reference<C_Expr>& expr,
+       std::set<dimension_type>& result) const {
+    result = expr.dimensions;
+    return true;
+  }
+
+  FP_Interval_Abstract_Store int_store;
+};
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+Concrete_Expression_Type FP_Type
+= Concrete_Expression_Type::floating_point(ANALYZED_FP_FORMAT);
+
+typedef Integer_Interval Int_Interval;
+
+/*
+This file tests a rate limiter that, given random input flows of floating
+point values X and D, bounded respectively by [-128, 128] and [0, 16],
+computes an output flow Y that tries to follow X while having a change rate
+limited by D. The pseudo-code of such rate limiter is the following:
+
+Y = 0;
+for (n = 0; n < N; ++n) {
+  X = [-128, 128];
+  D = [0, 16];
+  S = Y;
+  R = X - S;
+  Y = X;
+  if (R <= -D)
+    Y = S - D;
+  if (R >= D)
+    Y = S + D;
+}
+*/
+
+void
+set_M(Coefficient& M, int m) {
+  if (std::numeric_limits<Coefficient>::is_bounded) {
+    if (greater_than(std::numeric_limits<Coefficient>::min(),
+                     std::numeric_limits<ANALYZER_FP_FORMAT>::min())
+        || less_than(std::numeric_limits<Coefficient>::max(),
+                     std::numeric_limits<ANALYZER_FP_FORMAT>::max())) {
+      // This may still provoke an arithmetic overflow exception:
+      // no problem.
+      M = m;
+      return;
+    }
+  }
+  // Cannot provoke an overflow.
+  assign_r(M, m, ROUND_DOWN);
+}
+
+// Tests rate limiter using boxes and ignoring rounding errors.
+bool
+test01() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  FP_Interval_Abstract_Store abstract_store(5);
+  FP_Interval_Abstract_Store as_begin(5);
+  FP_Interval tmp(0);
+  unsigned short n = 0;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 144);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  // Y = 0;
+  abstract_store.affine_form_image(Y, FP_Linear_Form(tmp));
+
+  do {
+
+    nout << "*** n = " << n << " ***" << endl;
+    as_begin = abstract_store;
+    print_constraints(abstract_store, "*** begin loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    abstract_store.affine_form_image(X, FP_Linear_Form(tmp));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    abstract_store.affine_form_image(D, FP_Linear_Form(tmp));
+
+    // S = Y;
+    abstract_store.affine_form_image(S, FP_Linear_Form(Y));
+
+    // R = X - S;
+    abstract_store.affine_form_image(R, FP_Linear_Form(X - S));
+
+    // Y = X;
+    abstract_store.affine_form_image(Y, FP_Linear_Form(X));
+
+    // if (R <= -D) Y = S - D;
+    FP_Interval_Abstract_Store as_then(abstract_store);
+    as_then.refine_with_constraint(R <= -D);
+    as_then.affine_form_image(Y, FP_Linear_Form(S - D));
+
+    abstract_store.refine_with_constraint(R > -D);
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+      "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)  Y = S + D;
+    as_then = abstract_store;
+    as_then.refine_with_constraint(R >= D);
+    as_then.affine_form_image(Y, FP_Linear_Form(S + D));
+
+    abstract_store.refine_with_constraint(R < D);
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+      "*** after if (R >= D)  Y = S + D; ***");
+
+    abstract_store.upper_bound_assign(as_begin);
+    abstract_store.limited_CC76_extrapolation_assign(as_begin, cs);
+    print_constraints(abstract_store, "*** end loop ***");
+    ++n;
+
+  } while (as_begin != abstract_store);
+
+  FP_Interval y = abstract_store.get_interval(Y);
+  nout << "*** Y in " << y << " ***" << endl;
+  return !y.is_bounded();
+}
+
+// Tests rate limiter using bounded differences and ignoring rounding
+// errors.
+bool
+test02() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  FP_BD_Shape abstract_store(5);
+  FP_BD_Shape as_begin(5);
+  FP_Interval tmp(0);
+  unsigned short n = 0;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 144);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  // Y = 0;
+  abstract_store.affine_form_image(Y, FP_Linear_Form(tmp));
+
+  do {
+
+    nout << "*** n = " << n << " ***" << endl;
+    as_begin = abstract_store;
+    print_constraints(abstract_store, "*** begin loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    abstract_store.affine_form_image(X, FP_Linear_Form(tmp));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    abstract_store.affine_form_image(D, FP_Linear_Form(tmp));
+
+    // S = Y;
+    abstract_store.affine_form_image(S, FP_Linear_Form(Y));
+
+    // R = X - S;
+    abstract_store.affine_form_image(R, FP_Linear_Form(X - S));
+
+    // Y = X;
+    abstract_store.affine_form_image(Y, FP_Linear_Form(X));
+
+    // if (R <= -D) Y = S - D;
+    FP_BD_Shape as_then(abstract_store);
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                              -FP_Linear_Form(D));
+    as_then.affine_form_image(Y, FP_Linear_Form(S - D));
+
+    abstract_store.refine_with_linear_form_inequality(-FP_Linear_Form(D),
+                                                       FP_Linear_Form(R));
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+                      "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)  Y = S + D;
+    as_then = abstract_store;
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    as_then.affine_form_image(Y, FP_Linear_Form(S + D));
+
+    abstract_store.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                                      FP_Linear_Form(D));
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+                      "*** after if (R >= D)  Y = S + D; ***");
+
+    abstract_store.upper_bound_assign(as_begin);
+    abstract_store.limited_BHMZ05_extrapolation_assign(as_begin, cs);
+    print_constraints(abstract_store, "*** end loop ***");
+    n++;
+
+  } while (as_begin != abstract_store);
+
+  tmp = (FP_Interval_Abstract_Store(abstract_store)).get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return !tmp.is_bounded();
+}
+
+// Tests rate limiter using octagonal shapes and ignoring rounding
+// errors.
+bool
+test03() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  //FP_Interval_Abstract_Store abstract_store();
+  FP_Octagonal_Shape abstract_store(5, UNIVERSE);
+  FP_Octagonal_Shape as_begin(5, EMPTY);
+  FP_Interval tmp(0);
+  unsigned short n = 0;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 136);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  // Y = 0;
+  abstract_store.affine_form_image(Y, FP_Linear_Form(tmp));
+
+  do {
+
+    nout << "*** n = " << n << " ***" << endl;
+    as_begin = abstract_store;
+    print_constraints(abstract_store, "*** begin loop ***");
+
+    //X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    abstract_store.affine_form_image(X, FP_Linear_Form(tmp));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    abstract_store.affine_form_image(D, FP_Linear_Form(tmp));
+
+    // S = Y;
+    abstract_store.affine_form_image(S, FP_Linear_Form(Y));
+
+    // R = X - S;
+    abstract_store.affine_form_image(R, FP_Linear_Form(X - S));
+
+    // Y = X;
+    abstract_store.affine_form_image(Y, FP_Linear_Form(X));
+
+    //if (R <= -D) Y = S - D;
+    FP_Octagonal_Shape as_then(abstract_store);
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                              -FP_Linear_Form(D));
+    as_then.affine_form_image(Y, FP_Linear_Form(S - D));
+
+    abstract_store.refine_with_linear_form_inequality(-FP_Linear_Form(D),
+                                                      FP_Linear_Form(R));
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+         "*** after if (R <= -D) Y = S - D; ***");
+
+    //if (R >= D)  Y = S + D;
+    as_then = abstract_store;
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    as_then.affine_form_image(Y, FP_Linear_Form(S + D));
+
+    abstract_store.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                          FP_Linear_Form(D));
+
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+         "*** after (R >= D)  Y = S + D; ***");
+
+    abstract_store.upper_bound_assign(as_begin);
+    abstract_store.limited_BHMZ05_extrapolation_assign(as_begin, cs);
+    print_constraints(abstract_store, "*** end loop ***");
+    ++n;
+
+  } while (as_begin != abstract_store);
+
+  tmp = (FP_Interval_Abstract_Store(abstract_store)).get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return (tmp.lower() == -136 && tmp.upper() == 136);
+}
+
+// Tests rate limiter using polyhedra and ignoring rounding errors.
+bool
+test04() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  NNC_Polyhedron abstract_store(5);
+  NNC_Polyhedron as_begin(5);
+  FP_Interval tmp(0);
+  unsigned short n = 0;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 128);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  // Y = 0;
+  abstract_store.affine_form_image(Y, FP_Linear_Form(tmp));
+
+  do {
+
+    nout << "*** n = " << n << " ***" << endl;
+    as_begin = abstract_store;
+    print_constraints(abstract_store, "*** begin loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    abstract_store.affine_form_image(X, FP_Linear_Form(tmp));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    abstract_store.affine_form_image(D, FP_Linear_Form(tmp));
+
+    // S = Y;
+    abstract_store.affine_form_image(S, FP_Linear_Form(Y));
+
+    // R = X - S;
+    abstract_store.affine_form_image(R, FP_Linear_Form(X - S));
+
+    // Y = X;
+    abstract_store.affine_form_image(Y, FP_Linear_Form(X));
+
+    // if (R <= -D) Y = S - D;
+    NNC_Polyhedron as_then(abstract_store);
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                              -FP_Linear_Form(D));
+    as_then.affine_form_image(Y, FP_Linear_Form(S - D));
+
+    abstract_store.generalized_refine_with_linear_form_inequality(
+      -FP_Linear_Form(D), FP_Linear_Form(R), LESS_THAN);
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+         "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)  Y = S + D;
+    as_then = abstract_store;
+    as_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    as_then.affine_form_image(Y, FP_Linear_Form(S + D));
+
+    abstract_store.generalized_refine_with_linear_form_inequality(
+      FP_Linear_Form(R), FP_Linear_Form(D), LESS_THAN);
+    abstract_store.upper_bound_assign(as_then);
+    print_constraints(abstract_store,
+         "*** after if (R >= D)  Y = S + D; ***");
+
+    abstract_store.upper_bound_assign(as_begin);
+    abstract_store.limited_BHRZ03_extrapolation_assign(as_begin, cs);
+    print_constraints(abstract_store, "*** end loop ***");
+    ++n;
+
+  } while(as_begin != abstract_store);
+
+  tmp = (FP_Interval_Abstract_Store(abstract_store)).get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return (tmp.lower() == -128 && tmp.upper() == 128);
+}
+
+
+// Tests rate limiter using bounded differences and linearization of
+// floating point expressions.
+// In order to improve the analysis, the interval domain is used
+// in parallel with bounded differences domain.
+bool
+test05() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  Test_Oracle oracle(FP_Interval_Abstract_Store(5));
+  Test_Oracle or_begin(FP_Interval_Abstract_Store (5));
+  FP_Linear_Form_Abstract_Store lf_abstract_store;
+  FP_BD_Shape bd(5);
+  FP_BD_Shape bd_begin(5);
+  unsigned short n = 0;
+  FP_Interval tmp(0);
+  FP_Linear_Form lx;
+  FP_Linear_Form ly;
+  FP_Linear_Form lr;
+  FP_Linear_Form lk;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 144);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  bool lin_success;
+
+  Floating_Point_Constant<C_Expr> con_y("0", 2);
+  // The constant floating point expression con_y is linearized into
+  // the interval linear form lk. If linearization succeeded, we model
+  // the assignment Y = 0, invoking affine_form_image method.
+  // In order to refine the analysis, all the transer function are
+  // performed in parallel in the interval domain and in the bounded
+  // differences domain.
+  // Then, we consider the intersection between these abstract domains.
+
+  lin_success = linearize(con_y, oracle, lf_abstract_store, lk);
+  oracle.int_store.affine_form_image(Y, FP_Linear_Form(tmp));
+  if (lin_success) {
+    bd.affine_form_image(Y, lk);
+  }
+  else {
+    bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+  }
+  oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+  // This loop iterate until a fixed point is reached.
+  do {
+
+    // Iteration no. n+1.
+    nout << "*** n = " << n << " ***" << endl;
+    bd_begin = bd;
+    or_begin.int_store = oracle.int_store;
+    print_constraints(oracle.int_store, "*** before loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    oracle.int_store.affine_form_image(X, FP_Linear_Form(tmp));
+    bd.affine_form_image(X, FP_Linear_Form(tmp));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    oracle.int_store.affine_form_image(D, FP_Linear_Form(tmp));
+    bd.affine_form_image(D, FP_Linear_Form(tmp));    
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // S = Y;
+    Approximable_Reference<C_Expr> var_y(FP_Type, Int_Interval(mpz_class(0)),
+                                         Y.id());
+    lin_success = linearize(var_y, oracle, lf_abstract_store, ly);
+    oracle.int_store.affine_form_image(S, FP_Linear_Form(Y));
+    if (lin_success) {
+      bd.affine_form_image(S, ly);
+    }
+    else {
+      bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // R = X - S;
+    Approximable_Reference<C_Expr> px(FP_Type, Int_Interval(mpz_class(0)),
+                                      X.id());
+    Approximable_Reference<C_Expr> ps(FP_Type, Int_Interval(mpz_class(0)),
+                                      S.id());
+    Binary_Operator<C_Expr> x_dif_s(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &px, &ps);
+    lin_success = linearize(x_dif_s, oracle, lf_abstract_store, lr);
+    oracle.int_store.affine_form_image(R, FP_Linear_Form(X - S));
+    if (lin_success) {
+      bd.affine_form_image(R, lr);
+    }
+    else {
+      bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // Y = X;
+    lin_success = linearize(px, oracle, lf_abstract_store, lx);
+    oracle.int_store.affine_form_image(Y, FP_Linear_Form(X));
+    if (lin_success) {
+      bd.affine_form_image(Y, lx);
+    }
+    else {
+      bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // if (R <= -D)
+    FP_BD_Shape bd_then(bd);
+    Test_Oracle or_then(oracle.int_store);
+    or_then.int_store.refine_with_constraint(R <= -D);
+    bd_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                               -FP_Linear_Form(D));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(bd_then));
+
+    // then Y = S - D;
+    Approximable_Reference<C_Expr> pd(FP_Type, Int_Interval(mpz_class(0)),
+                                      D.id());
+    Binary_Operator<C_Expr> s_dif_d(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &ps, &pd);
+    lin_success = linearize(s_dif_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S - D));
+    if (lin_success) {
+      bd_then.affine_form_image(Y, ly);
+    }
+    else {
+      bd_then.intersection_assign(FP_BD_Shape(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(bd_then));
+
+    // else skip;
+    oracle.int_store.refine_with_constraint(R > -D);
+    bd.refine_with_linear_form_inequality(-FP_Linear_Form(D),
+                                          FP_Linear_Form(R));
+    bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // LUB between then and else branches.
+    bd.upper_bound_assign(bd_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store,
+                      "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)
+    bd_then = bd;
+    or_then.int_store = oracle.int_store;
+    or_then.int_store.refine_with_constraint(R >= D);
+    bd_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(bd_then));
+
+    // then Y = S + D;
+    Binary_Operator<C_Expr> s_sum_d(FP_Type, Binary_Operator<C_Expr>::ADD,
+                                    &ps, &pd);
+    lin_success = linearize(s_sum_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S + D));
+    if (lin_success) {
+      bd_then.affine_form_image(Y, ly);
+    }
+    else {
+      bd_then.intersection_assign(FP_BD_Shape(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(bd_then));
+
+    // else skip;
+    bd.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                          FP_Linear_Form(D));
+    oracle.int_store.refine_with_constraint(R < D);
+    bd.intersection_assign(FP_BD_Shape(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(bd));
+
+    // LUB between then and else branches.
+    bd.upper_bound_assign(bd_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store,
+                      "*** after if (R >= D)  Y = S + D; ***");
+
+    // LUB between the actual abstract domains and the corresponding
+    // domains at the beginning of the loop.
+    bd.upper_bound_assign(bd_begin);
+    oracle.int_store.upper_bound_assign(or_begin.int_store);
+
+    // Limited extrapolation: we enforce the satisfaction
+    // of the constraint system cs = {Y <= M; Y >= -M}
+    bd.limited_BHMZ05_extrapolation_assign(bd_begin, cs);
+    oracle.int_store.limited_CC76_extrapolation_assign(or_begin.int_store, cs);
+    print_constraints(oracle.int_store, "*** end loop ***");
+    ++n;
+
+  } while(or_begin.int_store != oracle.int_store);
+
+  tmp = oracle.int_store.get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return (tmp.lower() == -144 && tmp.upper() == 144);
+}
+
+// Tests rate limiter using octagonal shapes and linearization of
+// floating point expressions.
+// In order to improve the analysis, the interval domain is used
+// in parallel with octagons domain.
+bool
+test06() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  Test_Oracle oracle(FP_Interval_Abstract_Store(5));
+  Test_Oracle or_begin(FP_Interval_Abstract_Store(5));
+  FP_Linear_Form_Abstract_Store lf_abstract_store;
+  FP_Octagonal_Shape oc(5);
+  FP_Octagonal_Shape oc_begin(5);
+  unsigned short n = 0;
+  FP_Interval tmp(0);
+  FP_Linear_Form lx;
+  FP_Linear_Form ly;
+  FP_Linear_Form lr;
+  FP_Linear_Form lk;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 144);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  bool lin_success;
+
+  Floating_Point_Constant<C_Expr> con_y("0", 2);
+  // The constant floating point expression con_y is linearized into
+  // the interval linear form lk. If linearization succeeded, we model
+  // the assignment Y = 0, invoking affine_form_image method.
+  // In order to refine the analysis, all the transer function are
+  // performed in parallel in the interval domain and in the bounded
+  // differences domain.
+  // Then, we consider the intersection between these abstract domains.
+
+  lin_success = linearize(con_y, oracle, lf_abstract_store, lk);
+  oracle.int_store.affine_form_image(Y, FP_Linear_Form(tmp));
+  if (lin_success) {
+    oc.affine_form_image(Y, lk);
+  }
+  else {
+    oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+  }
+  oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+  // This loop iterates until a fixed point is reached.
+  do {
+
+    // Iteration no. n+1.
+    nout << "*** n = " << n << " ***" << endl;
+    oc_begin = oc;
+    or_begin.int_store = oracle.int_store;
+    print_constraints(oracle.int_store, "*** before loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    oracle.int_store.affine_form_image(X, FP_Linear_Form(tmp));
+    oc.affine_form_image(X, FP_Linear_Form(tmp));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    oracle.int_store.affine_form_image(D, FP_Linear_Form(tmp));
+    oc.affine_form_image(D, FP_Linear_Form(tmp));    
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // S = Y;
+    Approximable_Reference<C_Expr> var_y(FP_Type, Int_Interval(mpz_class(0)),
+                                         Y.id());
+    lin_success = linearize(var_y, oracle, lf_abstract_store, ly);
+    oracle.int_store.affine_form_image(S, FP_Linear_Form(Y));
+    if (lin_success) {
+      oc.affine_form_image(S, ly);
+    }
+    else {
+      oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // R = X - S;
+    Approximable_Reference<C_Expr> px(FP_Type, Int_Interval(mpz_class(0)),
+                                      X.id());
+    Approximable_Reference<C_Expr> ps(FP_Type, Int_Interval(mpz_class(0)),
+                                      S.id());
+    Binary_Operator<C_Expr> x_dif_s(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &px, &ps);
+    lin_success = linearize(x_dif_s, oracle, lf_abstract_store, lr);
+    oracle.int_store.affine_form_image(R, FP_Linear_Form(X - S));
+    if (lin_success) {
+      oc.affine_form_image(R, lr);
+    }
+    else {
+      oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // Y = X;
+    lin_success = linearize(px, oracle, lf_abstract_store, lx);
+    oracle.int_store.affine_form_image(Y, FP_Linear_Form(X));
+    if (lin_success) {
+      oc.affine_form_image(Y, lx);
+    }
+    else {
+      oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // if (R <= -D)
+    FP_Octagonal_Shape oc_then(oc);
+    Test_Oracle or_then(oracle.int_store);
+    or_then.int_store.refine_with_constraint(R <= -D);
+    oc_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                               -FP_Linear_Form(D));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(oc_then));
+
+    // then Y = S - D;
+    Approximable_Reference<C_Expr> pd(FP_Type, Int_Interval(mpz_class(0)),
+                                      D.id());
+    Binary_Operator<C_Expr> s_dif_d(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &ps, &pd);
+    lin_success = linearize(s_dif_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S - D));
+    if (lin_success) {
+      oc_then.affine_form_image(Y, ly);
+    }
+    else {
+      oc_then.intersection_assign(FP_Octagonal_Shape(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(oc_then));
+
+    // else skip;
+    oracle.int_store.refine_with_constraint(R > -D);
+    oc.refine_with_linear_form_inequality(-FP_Linear_Form(D),
+                                          FP_Linear_Form(R));
+    oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // LUB between then and else branches.
+    oc.upper_bound_assign(oc_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store,
+                      "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)
+    oc_then = oc;
+    or_then.int_store = oracle.int_store;
+    or_then.int_store.refine_with_constraint(R >= D);
+    oc_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(oc_then));
+
+    // then Y = S + D;
+    Binary_Operator<C_Expr> s_sum_d(FP_Type, Binary_Operator<C_Expr>::ADD,
+                                    &ps, &pd);
+    lin_success = linearize(s_sum_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S + D));
+    if (lin_success) {
+      oc_then.affine_form_image(Y, ly);
+    }
+    else {
+      oc_then.intersection_assign(FP_Octagonal_Shape(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(oc_then));
+
+    // else skip;
+    oc.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                          FP_Linear_Form(D));
+    oracle.int_store.refine_with_constraint(R < D);
+    oc.intersection_assign(FP_Octagonal_Shape(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(oc));
+
+    // LUB between then and else branches.
+    oc.upper_bound_assign(oc_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store,
+                      "*** after if (R >= D)  Y = S + D; ***");
+
+    // LUB between the actual abstract domains and the corresponding
+    // domains at the beginning of the loop.
+    oc.upper_bound_assign(oc_begin);
+    oracle.int_store.upper_bound_assign(or_begin.int_store);
+
+    // Limited extrapolation: we enforce the satisfaction
+    // of the constraint system cs = {Y <= M; Y >= -M}
+    oc.limited_BHMZ05_extrapolation_assign(oc_begin, cs);
+    oracle.int_store.limited_CC76_extrapolation_assign(or_begin.int_store, cs);
+    print_constraints(oracle.int_store, "*** end loop ***");
+    ++n;
+
+  } while(or_begin.int_store != oracle.int_store);
+
+  tmp = oracle.int_store.get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return (tmp.lower() == -144 && tmp.upper() == 144);
+}
+
+// Tests rate limiter using polyhedra domain and linearization of
+// floating point expressions.
+// In order to improve the analysis, the interval domain is used
+// in parallel with poyhedra domain.
+bool
+test07() {
+  // Input signal.
+  Variable X(0);
+  // Maximum allowed for |R|.
+  Variable D(1);
+  // Output signal.
+  Variable Y(2);
+  // Last output.
+  Variable S(3);
+  // Actual rate.
+  Variable R(4);
+
+  Test_Oracle oracle(FP_Interval_Abstract_Store(5));
+  Test_Oracle or_begin(FP_Interval_Abstract_Store(5));
+  FP_Linear_Form_Abstract_Store lf_abstract_store;
+  NNC_Polyhedron ph(5);
+  NNC_Polyhedron ph_begin(5);
+  unsigned short n = 0;
+  FP_Interval tmp(0);
+  FP_Linear_Form lx;
+  FP_Linear_Form ly;
+  FP_Linear_Form lr;
+  FP_Linear_Form lk;
+
+  Constraint_System cs;
+  Coefficient M;
+  set_M(M, 144);
+  cs.insert(Y <= M);
+  cs.insert(Y >= -M);
+
+  bool lin_success;
+
+  Floating_Point_Constant<C_Expr> con_y("0", 2);
+  // The constant floating point expression con_y is linearized into
+  // the interval linear form lk. If linearization succeeded, we model
+  // the assignment Y = 0, invoking affine_form_image method.
+  // In order to refine the analysis, all the transer function are
+  // performed in parallel in the interval domain and in the bounded
+  // differences domain.
+  // Then, we consider the intersection between these abstract domains.
+
+  lin_success = linearize(con_y, oracle, lf_abstract_store, lk);
+  oracle.int_store.affine_form_image(Y, FP_Linear_Form(tmp));
+  if (lin_success) {
+    ph.affine_form_image(Y, lk);
+  }
+  else {
+    ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+  }
+  oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+  // This loop iterate until a fixed point is reached.
+  do {
+
+    // Iteration no. n+1.
+    nout << "*** n = " << n << " ***" << endl;
+    ph_begin = ph;
+    or_begin.int_store = oracle.int_store;
+    print_constraints(oracle.int_store, "*** before loop ***");
+
+    // X = [-128, 128];
+    tmp.lower() = -128;
+    tmp.upper() = 128;
+    oracle.int_store.affine_form_image(X, FP_Linear_Form(tmp));
+    ph.affine_form_image(X, FP_Linear_Form(tmp));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // D = [0, 16];
+    tmp.lower() = 0;
+    tmp.upper() = 16;
+    oracle.int_store.affine_form_image(D, FP_Linear_Form(tmp));
+    ph.affine_form_image(D, FP_Linear_Form(tmp));    
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // S = Y;
+    Approximable_Reference<C_Expr> var_y(FP_Type, Int_Interval(mpz_class(0)),
+                                         Y.id());
+    lin_success = linearize(var_y, oracle, lf_abstract_store, ly);
+    oracle.int_store.affine_form_image(S, FP_Linear_Form(Y));
+    if (lin_success) {
+      ph.affine_form_image(S, ly);
+    }
+    else {
+      ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // R = X - S;
+    Approximable_Reference<C_Expr> px(FP_Type, Int_Interval(mpz_class(0)),
+                                      X.id());
+    Approximable_Reference<C_Expr> ps(FP_Type, Int_Interval(mpz_class(0)),
+                                      S.id());
+    Binary_Operator<C_Expr> x_dif_s(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &px, &ps);
+    lin_success = linearize(x_dif_s, oracle, lf_abstract_store, lr);
+    oracle.int_store.affine_form_image(R, FP_Linear_Form(X - S));
+    if (lin_success) {
+      ph.affine_form_image(R, lr);
+    }
+    else {
+      ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // Y = X;
+    lin_success = linearize(px, oracle, lf_abstract_store, lx);
+    oracle.int_store.affine_form_image(Y, FP_Linear_Form(X));
+    if (lin_success) {
+      ph.affine_form_image(Y, lx);
+    }
+    else {
+      ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+    }
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // if (R <= -D)
+    NNC_Polyhedron ph_then(ph);
+    Test_Oracle or_then(oracle.int_store);
+    or_then.int_store.refine_with_constraint(R <= -D);
+    ph_then.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                               -FP_Linear_Form(D));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(ph_then));
+
+    // then Y = S - D;
+    Approximable_Reference<C_Expr> pd(FP_Type, Int_Interval(mpz_class(0)),
+                                      D.id());
+    Binary_Operator<C_Expr> s_dif_d(FP_Type, Binary_Operator<C_Expr>::SUB,
+                                    &ps, &pd);
+    lin_success = linearize(s_dif_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S - D));
+    if (lin_success) {
+      ph_then.affine_form_image(Y, ly);
+    }
+    else {
+      ph_then.intersection_assign(NNC_Polyhedron(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(ph_then));
+
+    // else skip;
+    oracle.int_store.refine_with_constraint(R > -D);
+    ph.refine_with_linear_form_inequality(-FP_Linear_Form(D),
+                                          FP_Linear_Form(R));
+    ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // LUB between then and else branches.
+    ph.upper_bound_assign(ph_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store, "*** after if (R <= -D) Y = S - D; ***");
+
+    // if (R >= D)
+    ph_then = ph;
+    or_then.int_store = oracle.int_store;
+    or_then.int_store.refine_with_constraint(R >= D);
+    ph_then.refine_with_linear_form_inequality(FP_Linear_Form(D),
+                                               FP_Linear_Form(R));
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(ph_then));
+
+    // then Y = S + D;
+    Binary_Operator<C_Expr> s_sum_d(FP_Type, Binary_Operator<C_Expr>::ADD,
+                                    &ps, &pd);
+    lin_success = linearize(s_sum_d, or_then, lf_abstract_store, ly);
+    or_then.int_store.affine_form_image(Y, FP_Linear_Form(S + D));
+    if (lin_success) {
+      ph_then.affine_form_image(Y, ly);
+    }
+    else {
+      ph_then.intersection_assign(NNC_Polyhedron(or_then.int_store));
+    }
+    or_then.int_store.intersection_assign(FP_Interval_Abstract_Store(ph_then));
+
+    // else skip;
+    ph.refine_with_linear_form_inequality(FP_Linear_Form(R),
+                                          FP_Linear_Form(D));
+    oracle.int_store.refine_with_constraint(R < D);
+    ph.intersection_assign(NNC_Polyhedron(oracle.int_store));
+    oracle.int_store.intersection_assign(FP_Interval_Abstract_Store(ph));
+
+    // LUB between then and else branches.
+    ph.upper_bound_assign(ph_then);
+    oracle.int_store.upper_bound_assign(or_then.int_store);
+    print_constraints(oracle.int_store,
+                      "*** after if (R >= D)  Y = S + D; ***");
+
+    // LUB between the actual abstract domains and the corresponding
+    // domains at the beginning of the loop.
+    ph.upper_bound_assign(ph_begin);
+    oracle.int_store.upper_bound_assign(or_begin.int_store);
+
+    // Limited extrapolation: we enforce the satisfaction
+    // of the constraint system cs = {Y <= M; Y >= -M}
+    ph.limited_BHRZ03_extrapolation_assign(ph_begin, cs);
+    oracle.int_store.limited_CC76_extrapolation_assign(or_begin.int_store, cs);
+    print_constraints(oracle.int_store, "*** end loop ***");
+    ++n;
+
+  } while(or_begin.int_store != oracle.int_store);
+
+  tmp = oracle.int_store.get_interval(Y);
+  nout << "*** Y in " << tmp << " ***" << endl;
+  return (tmp.lower() == -144 && tmp.upper() == 144);
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F8(test01);
+  DO_TEST_F8(test02);
+  DO_TEST_F8(test03);
+  DO_TEST_F64A(test04);
+
+#define COND_float  PPL_CPP_EQ(PPL_CPP_FP_FORMAT(ANALYZER_FP_FORMAT), 1)
+#define COND_double PPL_CPP_EQ(PPL_CPP_FP_FORMAT(ANALYZER_FP_FORMAT), 2)
+#define COND_float_or_double PPL_CPP_OR(COND_float, COND_double)
+#define PPL_CUSTOM_COND_32 \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 5), COND_float)
+#define PPL_CUSTOM_COND_64 \
+  PPL_CPP_AND(PPL_CPP_EQ(PPL_CPP_LOGBITS, 6), COND_float_or_double)
+#define PPL_CUSTOM_COND \
+  PPL_CPP_OR(COND_F64, PPL_CPP_OR(PPL_CUSTOM_COND_32, PPL_CUSTOM_COND_64))
+
+  COND_DO_TEST(PPL_CUSTOM_COND, test05);
+  COND_DO_TEST(PPL_CUSTOM_COND, test06);
+
+  DO_TEST_F64(test07);
+
+END_MAIN
diff --git a/tests/Concrete_Expression/linearform1.cc b/tests/Concrete_Expression/linearform1.cc
new file mode 100644
index 0000000..e29f9af
--- /dev/null
+++ b/tests/Concrete_Expression/linearform1.cc
@@ -0,0 +1,342 @@
+/* Testing Linear_Form on floating point intervals.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+#include <limits>
+
+namespace {
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+// Test operator-=(FP_Linear_Form& f1, const FP_Linear_Form& f2):
+// in this case the dimension of f2 is strictly greater than
+// the dimension of f1.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Linear_Form f;
+  FP_Linear_Form f1 = A;
+  FP_Linear_Form f2 = B;
+
+  f1 += f.coefficient(A);
+  f1 -= f2;
+
+  FP_Linear_Form known_result = A - FP_Linear_Form(B);
+
+  bool ok = (f1 == known_result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable A(15);
+  Variable B(0);
+
+  FP_Linear_Form f1 = A;
+  FP_Linear_Form f2 = B;
+
+  FP_Linear_Form known_result1 = f1 + f2;
+
+  bool ok1 = (FP_Linear_Form(A) + B == known_result1)
+    && (B + FP_Linear_Form(A) == known_result1)
+    && (A + FP_Linear_Form(B) == known_result1)
+    && (FP_Linear_Form(B) + A == known_result1)
+    && (FP_Linear_Form(B) + FP_Linear_Form(A) == known_result1);
+
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  FP_Linear_Form known_result2 = f1 + f1;
+
+  bool ok2 = (FP_Linear_Form(A) + A == known_result2)
+    && (A + FP_Linear_Form(A) == known_result2)
+    && (A + FP_Linear_Form(A) == known_result2)
+    && (FP_Linear_Form(A) + A == known_result2)
+    && (FP_Linear_Form(A) + FP_Linear_Form(A) == known_result2);
+
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  return ok1 && ok2;
+}
+
+bool
+test03() {
+  Variable A(15);
+  Variable B(10);
+
+  FP_Linear_Form f1 = A;
+  FP_Linear_Form f2 = B;
+
+  FP_Linear_Form known_result1 = f1 - f2;
+
+  bool ok1 = (FP_Linear_Form(A) - B == known_result1)
+    && (A - FP_Linear_Form(B) == known_result1)
+    && (FP_Linear_Form(A) - FP_Linear_Form(B) == known_result1);
+
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  FP_Linear_Form known_result2 = f2 - f1;
+
+  bool ok2 = (FP_Linear_Form(B) - A == known_result2)
+    && (B - FP_Linear_Form(A) == known_result2)
+    && (FP_Linear_Form(B) - FP_Linear_Form(A) == known_result2);
+
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  FP_Linear_Form known_result3 = f1 - f1;
+
+  bool ok3 = (FP_Linear_Form(A) - A == known_result3)
+    && (A - FP_Linear_Form(A) == known_result3)
+    && (FP_Linear_Form(A) - FP_Linear_Form(A) == known_result3);
+
+  nout << "*** known_result3 ***" << endl
+       << known_result3 << endl;
+
+  return ok1 && ok2 && ok3;
+}
+
+// Test operator+=(FP_Linear_Form& f1, const FP_Linear_Form& f2):
+// in this case the dimension of f2 is strictly greater than
+// the dimension of f1.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Linear_Form f1 = A;
+  FP_Linear_Form f2 = B;
+  f1 += f2;
+
+  FP_Linear_Form known_result = FP_Linear_Form(A) + B;
+
+  bool ok = (f1 == known_result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return ok;
+}
+
+// Test operator+=(FP_Linear_Form& f, Variable v):
+// in this case the dimension of v is strictly greater than
+// the dimension of f.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Linear_Form f = A;
+  FP_Interval x(FP_Interval::boundary_type(2));
+  x /= FP_Interval(FP_Interval::boundary_type(3));
+  f *= x;
+
+  FP_Linear_Form known_result = f + B;
+
+  f += B;
+
+  bool ok = (f == known_result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(16);
+  Variable D(120);
+
+  FP_Linear_Form f = A + 2*B + 16*C + 120*D;
+
+  FP_Linear_Form known_result = A;
+  known_result += FP_Interval(2) * FP_Linear_Form(B);
+  known_result += FP_Interval(16) * FP_Linear_Form(C);
+  known_result += FP_Interval(120) * FP_Linear_Form(D);
+
+  bool ok = (f == known_result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return ok;
+}
+
+// Tests operator==(const Linear_Form<C>& x, const Linear_Form<C>& y).
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  FP_Linear_Form f1 = A;
+  FP_Linear_Form f2;
+  bool known_result = false;
+
+  bool result1 = (f1 == f2);
+
+  f2 += FP_Interval(FP_Interval::boundary_type(1));
+  bool result2 = (f1 == f2);
+
+  bool result3 = (f2 == f1);
+
+  f1 += FP_Interval(FP_Interval::boundary_type(1));
+  bool result4 = (f2 == f1);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return (known_result == (result1 || result2 || result3 || result4));
+}
+
+
+// Tests overflows of space dimension.
+bool
+test08() {
+  FP_Linear_Form f;
+  Variable A(f.max_space_dimension());
+
+  bool ok1 = false;
+  try {
+    f = FP_Linear_Form(A);
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in Linear_Form(const Variable v)." << endl;
+      ok1 = true;
+  }
+
+  bool ok2 = false;
+  try {
+    f += A;
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in operator+=(Linear_Form<C>& f, const Variable v)."
+           << endl;
+      ok2 = true;
+  }
+
+  bool ok3 = false;
+  try {
+    f -= A;
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in operator-=(Linear_Form<C>& f, const Variable v)."
+           << endl;
+      Variable B(1);
+      Variable C(2);
+      FP_Linear_Form g(B);
+      g -= C;
+      ok3 = true;
+  }
+
+  FP_Linear_Form g;
+  bool ok4 = false;
+  try {
+    g = f - A;
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in operator-(Linear_Form<C>& f, const Variable v)."
+           << endl;
+      ok4 = true;
+  }
+
+  bool ok5 = false;
+  try {
+    g = A - f;
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in operator-(const Variable v, Linear_Form<C>& f)."
+           << endl;
+      ok5 = true;
+  }
+
+  bool ok6 = false;
+  try {
+    g = A + f;
+  }
+  catch(std::length_error e) {
+      nout << "Overflow in operator+(const Variable v, Linear_Form<C>& f)."
+           << endl;
+      ok6 = true;
+  }
+
+  return ok1 && ok2 && ok3 && ok4 && ok5 && ok6;
+}
+
+bool
+test09() {
+  Variable A(0);
+  FP_Linear_Form f;
+  bool ok1 = !f.overflows();
+  f += A;
+  bool ok2 = !f.overflows();
+  FP_Interval max(std::numeric_limits<ANALYZER_FP_FORMAT>::max());
+  f *= max;
+  f *= max;
+  bool ok3 = f.overflows();
+  return ok1 && ok2 && ok3;
+}
+
+bool
+test10() {
+  Variable x5(5);
+  Variable x2(2);
+  FP_Interval x5_coefficient;
+  x5_coefficient.lower() = FP_Interval::boundary_type(2);
+  x5_coefficient.upper() = FP_Interval::boundary_type(3);
+  FP_Interval inhomogeneous_term;
+  inhomogeneous_term.lower() = FP_Interval::boundary_type(4);
+  inhomogeneous_term.upper() = FP_Interval::boundary_type(8);
+  FP_Linear_Form lf(x2);
+  lf = -lf;
+  lf += FP_Linear_Form(x2);
+  FP_Linear_Form lx5(x5);
+  lx5 *= x5_coefficient;
+  lf += lx5;
+  return lf.space_dimension() == 6;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+END_MAIN
diff --git a/tests/Concrete_Expression/linearize.cc b/tests/Concrete_Expression/linearize.cc
new file mode 100644
index 0000000..45d5b7d
--- /dev/null
+++ b/tests/Concrete_Expression/linearize.cc
@@ -0,0 +1,326 @@
+/* Testing linearization algorithm ad its related functions.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+#include "C_Expr.defs.hh"
+
+namespace {
+
+class Test_Oracle : public FP_Oracle<C_Expr,FP_Interval> {
+public:
+  Test_Oracle() : int_store(0) {}
+
+  Test_Oracle(FP_Interval_Abstract_Store init) : int_store(init) {}
+
+  bool get_interval(dimension_type dim, FP_Interval& result) const {
+    result = int_store.get_interval(Variable(dim));
+    return true;
+  }
+
+  bool get_fp_constant_value(const Floating_Point_Constant<C_Expr>& expr,
+                             FP_Interval& result) const {
+    result = FP_Interval((const char *)expr.value);
+    return true;
+  }
+
+  bool get_integer_expr_value(const Concrete_Expression<C_Expr>& expr,
+                              FP_Interval& result) const {
+    if (expr.kind() == INT_CON) {
+      const Integer_Constant<C_Expr>* ic_expr =
+        reinterpret_cast< const Integer_Constant<C_Expr>* >(&expr);
+      result = FP_Interval(ic_expr->value);
+    }
+    else {
+      const Approximable_Reference<C_Expr>* ar_expr =
+        reinterpret_cast< const Approximable_Reference<C_Expr>* >(&expr);
+      result = FP_Interval(ar_expr->value);
+    }
+
+    return true;
+  }
+
+  bool get_associated_dimensions(
+       const Approximable_Reference<C_Expr>& expr,
+       std::set<dimension_type>& result) const {
+    result = expr.dimensions;
+    return true;
+  }
+
+  FP_Interval_Abstract_Store int_store;
+};
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+Concrete_Expression_Type FP_Type =
+  Concrete_Expression_Type::floating_point(ANALYZED_FP_FORMAT);
+
+typedef Integer_Interval Int_Interval;
+
+// Tests division by zero.
+bool
+test01() {
+  Floating_Point_Constant<C_Expr> num("3", 2);
+  Floating_Point_Constant<C_Expr> den("0", 2);
+  Binary_Operator<C_Expr> div(FP_Type, Binary_Operator<C_Expr>::DIV, &num, &den);
+  FP_Linear_Form result;
+  if (!linearize(div, Test_Oracle(), FP_Linear_Form_Abstract_Store(),
+                 result)) {
+    nout << "*** Linearization failed due to division by zero. ***" << endl;
+    return true;
+  }
+  return false;
+}
+
+// Tests multiplication by zero.
+bool
+test02() {
+  Test_Oracle oracle(FP_Interval_Abstract_Store(2));
+  oracle.int_store.set_interval(Variable(0), FP_Interval(0));
+  oracle.int_store.set_interval(Variable(1), FP_Interval(10));
+  Floating_Point_Constant<C_Expr> con("5.5", 4);
+  Approximable_Reference<C_Expr> var0(FP_Type, Int_Interval(mpz_class(0)), 0);
+  Approximable_Reference<C_Expr> var1(FP_Type, Int_Interval(mpz_class(0)), 1);
+  Binary_Operator<C_Expr> dif(FP_Type, Binary_Operator<C_Expr>::SUB, &var1, &con);
+  Binary_Operator<C_Expr> mul(FP_Type, Binary_Operator<C_Expr>::MUL, &dif, &var0);
+  FP_Linear_Form result;
+  if (!linearize(mul, oracle, FP_Linear_Form_Abstract_Store(), result))
+    return false;
+
+  FP_Linear_Form known_result(compute_absolute_error<FP_Interval>(ANALYZED_FP_FORMAT));
+
+  nout << "*** result ***" << endl
+       << result << endl;
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+  bool ok = (result == known_result);
+
+  return ok;
+}
+
+// Tests linearization of variables in a given linear form abstract store.
+bool
+test03() {
+  FP_Linear_Form_Abstract_Store store;
+  Variable A(0);
+  FP_Linear_Form known_result = FP_Linear_Form(A);
+  store[0] = known_result;
+  Approximable_Reference<C_Expr> var(FP_Type, Int_Interval(mpz_class(0)), 0);
+  FP_Linear_Form result;
+  linearize(var, Test_Oracle(), store, result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+  bool ok = (result == known_result);
+
+  return ok;
+}
+
+// Tests linearization of A + B.
+bool
+test04() {
+  FP_Interval tmp(0);
+  Test_Oracle oracle(FP_Interval_Abstract_Store(2));
+  oracle.int_store.set_interval(Variable(0), tmp);
+  oracle.int_store.set_interval(Variable(1), tmp);
+  Approximable_Reference<C_Expr> var0(FP_Type, Int_Interval(mpz_class(0)), 0);
+  Approximable_Reference<C_Expr> var1(FP_Type, Int_Interval(mpz_class(0)), 1);
+  Binary_Operator<C_Expr> sum(FP_Type, Binary_Operator<C_Expr>::ADD,
+                              &var0, &var1);
+  FP_Linear_Form result;
+  linearize(sum, oracle, FP_Linear_Form_Abstract_Store(), result);
+
+  Variable A(0);
+  Variable B(1);
+  FP_Linear_Form known_result = FP_Linear_Form(A);
+  FP_Linear_Form rel_err1;
+  known_result.relative_error(ANALYZED_FP_FORMAT, rel_err1);
+  known_result += rel_err1;
+  FP_Linear_Form lb = FP_Linear_Form(B);
+  known_result += lb;
+  FP_Linear_Form rel_err2;
+  lb.relative_error(ANALYZED_FP_FORMAT, rel_err2);
+  known_result += rel_err2;
+  known_result += compute_absolute_error<FP_Interval>(ANALYZED_FP_FORMAT);
+
+  bool ok = result == known_result;
+
+  return ok;
+}
+
+// Tests the linearization of A - B.
+bool
+test05() {
+  FP_Interval tmp(0);
+  Test_Oracle oracle(FP_Interval_Abstract_Store(2));
+  oracle.int_store.set_interval(Variable(0), tmp);
+  oracle.int_store.set_interval(Variable(1), tmp);
+  Approximable_Reference<C_Expr> var0(FP_Type, Int_Interval(mpz_class(0)), 0);
+  Approximable_Reference<C_Expr> var1(FP_Type, Int_Interval(mpz_class(0)), 1);
+  Binary_Operator<C_Expr> dif(FP_Type, Binary_Operator<C_Expr>::SUB,
+                              &var0, &var1);
+  FP_Linear_Form result;
+  linearize(dif, oracle, FP_Linear_Form_Abstract_Store(), result);
+
+  Variable A(0);
+  Variable B(1);
+  FP_Linear_Form known_result = FP_Linear_Form(A);
+  FP_Linear_Form rel_err1;
+  known_result.relative_error(ANALYZED_FP_FORMAT, rel_err1);
+  known_result += rel_err1;
+  FP_Linear_Form lb = FP_Linear_Form(B);
+  lb.negate();
+  known_result += lb;
+  FP_Linear_Form rel_err2;
+  lb.relative_error(ANALYZED_FP_FORMAT, rel_err2);
+  known_result += rel_err2;
+  known_result += compute_absolute_error<FP_Interval>(ANALYZED_FP_FORMAT);
+
+  bool ok = result == known_result;
+
+  return ok;
+}
+
+// Tests linearization of A * B where A in [0, 1] and B in [2, 2].
+bool
+test06() {
+  FP_Interval tmp(0);
+  tmp.join_assign(1);
+  Test_Oracle oracle(FP_Interval_Abstract_Store(2));
+  oracle.int_store.set_interval(Variable(0), tmp);
+  oracle.int_store.set_interval(Variable(1), FP_Interval(2));
+  Approximable_Reference<C_Expr> var0(FP_Type, Int_Interval(mpz_class(0)), 0);
+  Approximable_Reference<C_Expr> var1(FP_Type, Int_Interval(mpz_class(0)), 1);
+  Binary_Operator<C_Expr> mul(FP_Type, Binary_Operator<C_Expr>::MUL,
+                              &var0, &var1);
+  FP_Linear_Form result;
+  linearize(mul, oracle, FP_Linear_Form_Abstract_Store(), result);
+
+  Variable A(0);
+  FP_Interval coeff = FP_Interval(2);
+  FP_Linear_Form known_result = FP_Linear_Form(A);
+  FP_Linear_Form rel_err;
+  known_result.relative_error(ANALYZED_FP_FORMAT, rel_err);
+  known_result *= coeff;
+  known_result += coeff * rel_err;
+  known_result += compute_absolute_error<FP_Interval>(ANALYZED_FP_FORMAT);
+
+  bool ok = (result == known_result);
+
+  return ok;
+}
+
+// Tests the linearization of A / B where A = [0, 1] and B = [2, 2].
+bool
+test07() {
+  FP_Interval tmp(0);
+  tmp.join_assign(1);
+  Test_Oracle oracle(FP_Interval_Abstract_Store(2));
+  oracle.int_store.set_interval(Variable(0), tmp);
+  oracle.int_store.set_interval(Variable(1), FP_Interval(2));
+  Approximable_Reference<C_Expr> var0(FP_Type, Int_Interval(mpz_class(0)), 0);
+  Approximable_Reference<C_Expr> var1(FP_Type, Int_Interval(mpz_class(0)), 1);
+  Binary_Operator<C_Expr> div(FP_Type, Binary_Operator<C_Expr>::DIV,
+                              &var0, &var1);
+  FP_Linear_Form result;
+  linearize(div, oracle, FP_Linear_Form_Abstract_Store(), result);
+
+  Variable A(0);
+  FP_Interval coeff(FP_Interval::boundary_type(1 / 2.0));
+  FP_Linear_Form known_result(A);
+  FP_Linear_Form rel_err;
+  known_result.relative_error(ANALYZED_FP_FORMAT, rel_err);
+  known_result *= coeff;
+  known_result += rel_err * coeff;
+  known_result += compute_absolute_error<FP_Interval>(ANALYZED_FP_FORMAT);
+
+  bool ok = (result == known_result);
+
+  return ok;
+}
+
+// Tests linearization of cast expressions.
+bool
+test08() {
+  Int_Interval i(mpz_class(123456789));
+  Integer_Constant<C_Expr> ic_expr(Concrete_Expression_Type::bounded_integer(BITS_32, UNSIGNED, OVERFLOW_WRAPS), i);
+  Cast_Operator<C_Expr> cast(FP_Type, &ic_expr);
+  FP_Linear_Form result;
+  linearize(cast, Test_Oracle(),
+            FP_Linear_Form_Abstract_Store(), result);
+
+  Int_Interval approx(mpz_class(123456700));
+  approx.join_assign(mpz_class(123456850));
+  bool ok1 = approx.contains(result.inhomogeneous_term());
+
+  Approximable_Reference<C_Expr> var(Concrete_Expression_Type::bounded_integer(BITS_32, UNSIGNED, OVERFLOW_WRAPS), i, 0);
+  Cast_Operator<C_Expr> cast2(FP_Type, &var);
+  linearize(cast2, Test_Oracle(), FP_Linear_Form_Abstract_Store(), result);
+
+  bool ok2 = approx.contains(result.inhomogeneous_term());
+
+  return ok1 && ok2;
+}
+
+/*
+  Tests linearization of an approximable reference having more than
+  one associated index.
+*/
+bool
+test09() {
+  Test_Oracle oracle(FP_Interval_Abstract_Store(4));
+  oracle.int_store.set_interval(Variable(0), FP_Interval(0));
+  oracle.int_store.set_interval(Variable(1), FP_Interval(10));
+  oracle.int_store.set_interval(Variable(2), FP_Interval(20));
+  oracle.int_store.set_interval(Variable(3), FP_Interval(5));
+  Approximable_Reference<C_Expr> ref(FP_Type, Int_Interval(mpz_class(0)), 0);
+  ref.dimensions.insert(1);
+  ref.dimensions.insert(3);
+  FP_Linear_Form result;
+  if (!linearize(ref, oracle, FP_Linear_Form_Abstract_Store(), result))
+    return false;
+
+  FP_Interval known_int(FP_Interval(0));
+  known_int.join_assign(FP_Interval(10));
+  FP_Linear_Form known_result(known_int);
+
+  nout << "*** result ***" << endl
+       << result << endl;
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+  bool ok = (result == known_result);
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
diff --git a/tests/Concrete_Expression/octagonalshape1.cc b/tests/Concrete_Expression/octagonalshape1.cc
new file mode 100644
index 0000000..2fc1f5f
--- /dev/null
+++ b/tests/Concrete_Expression/octagonalshape1.cc
@@ -0,0 +1,347 @@
+/* Test Octagonal_Shape::affine_form_image on interval linear forms.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests space_dimensions and trivial cases.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  FP_Octagonal_Shape oc1(0);
+  bool ok1 = false;
+  FP_Linear_Form l(A);
+
+  try {
+      oc1.affine_form_image(A, l);
+  }
+  catch(std::invalid_argument e) {
+    nout << "oc1_space_dim < lf_space_dim" << endl;
+    ok1 = true;
+  }
+
+  bool ok2 = false;
+  FP_Octagonal_Shape oc2(1);
+
+  try {
+    oc2.affine_form_image(B, l);
+  }
+  catch(std::invalid_argument e) {
+    nout << "space_dim < var_id + 1" << endl;
+    oc2.affine_form_image(A, l);
+    Constraint_System cs(A < A);
+    oc2.add_constraints(cs);
+    oc2.affine_form_image(A, l);
+    ok2 = true;
+  }
+
+  return ok1 && ok2;
+}
+
+// Tests affine_form_image(A, [-2, 1]).
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(-2);
+  free_term.join_assign(1);
+  FP_Linear_Form l(free_term);
+  oc1.affine_form_image(A, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(A, [-2, 1]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(A >= -2);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(A <= 1);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+
+// Tests affine_form_image(A, [-1, -1]*A + [0.5, 2]).
+bool test03() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(static_cast<FP_Interval::boundary_type>(0.5));
+  free_term.join_assign(2);
+  FP_Linear_Form l(-A);
+  l += free_term;
+  print_constraints(oc1, "*** oc1 ***");
+  oc1.affine_form_image(A, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(A, -A + [0.5, 2]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(-2 * A <= 3);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(2*B - 2*A <= 7);
+  known_result.add_constraint(2*A + 2*B >= -5);
+  print_constraints(known_result, "*** known_result ***");
+  bool ok = (oc1 == known_result);
+
+  return ok;
+
+}
+
+
+// Tests affine_form_image(B, [1, 1]*B + [-1.5, 3.5]).
+bool test04() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(static_cast<FP_Interval::boundary_type>(-1.5));
+  free_term.join_assign(static_cast<FP_Interval::boundary_type>(3.5));
+  FP_Linear_Form l(B);
+  l += free_term;
+  oc1.affine_form_image(B, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(B, B + [-1.5, 3.5]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(2*B <= 11);
+  known_result.add_constraint(2*B + 2*A <= 15);
+  known_result.add_constraint(-2*B + 2*A <= 9);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, [1, 1]*B + [-2, 0.5]).
+bool test05() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(-2);
+  free_term.join_assign(static_cast<FP_Interval::boundary_type>(0.5));
+  FP_Linear_Form l(B);
+  l += free_term;
+  oc1.affine_form_image(A, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(A, B + [-2, 0.5]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(2*A <= 5);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(B - A <= 2);
+  known_result.add_constraint(2*A - 2*B <= 1);
+  known_result.add_constraint(2*A + 2*B <= 9);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [1, 1]*A + [-3, 1]).
+bool test06() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(-3);
+  free_term.join_assign(1);
+  FP_Linear_Form l(A);
+  l += free_term;
+  oc1.affine_form_image(B, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(B, A + [-3, 1]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(B <= 3);
+  known_result.add_constraint(B - A <= 1);
+  known_result.add_constraint(A - B <= 3);
+  known_result.add_constraint(A + B <= 5);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [-1, -1]*A + [0, 4]).
+bool test07() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(0);
+  free_term.join_assign(4);
+  FP_Linear_Form l(-A);
+  l += free_term;
+  oc1.affine_form_image(B, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(B, -A + [0, 4]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(-B <= 2);
+  known_result.add_constraint(-B - A <= 0);
+  known_result.add_constraint(A - B <= 4);
+  known_result.add_constraint(A + B <= 4);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(A, [-1, -1]*B + [0, 2]).
+bool test08() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval free_term(0);
+  free_term.join_assign(2);
+  FP_Linear_Form l(-B);
+  l += free_term;
+  oc1.affine_form_image(A, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(A, -B + [0, 2]) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(-A <= 2);
+  known_result.add_constraint(B <= 2);
+  known_result.add_constraint(-B - A <= 0);
+  known_result.add_constraint(-A + B <= 4);
+  known_result.add_constraint(A + B <= 2);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests affine_form_image(B, [-0.5, 0.5]*A).
+bool test09() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Interval coeff(static_cast<FP_Interval::boundary_type>(-0.5));
+  coeff.join_assign(static_cast<FP_Interval::boundary_type>(0.5));
+  FP_Linear_Form l(A);
+  l *= coeff;
+  oc1.affine_form_image(B, l);
+  print_constraints(oc1, "*** oc1.affine_form_image(B, [-0.5, 0.5]*A) ***");
+
+  FP_Octagonal_Shape known_result(3);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(-B + A <= 3);
+  known_result.add_constraint(A + B <= 3);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+
+// Tests affine_form_image(A, i + i0*A + i1*B) where
+// i = [0, 2], i0 = [1, 1] and i1 = [1, 2].
+bool test10() {
+
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(2);
+  oc1.add_constraint(A >= 0);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(B >= 0);
+  oc1.add_constraint(B <= 2);
+  oc1.add_constraint(A - B >= 0);
+  FP_Interval tmp(1);
+  FP_Linear_Form l(A);
+  l *= tmp;
+  tmp.lower() = 0;
+  tmp.upper() = 2;
+  l += tmp;
+  tmp.lower() = 1;
+  tmp.upper() = 2;
+  l += tmp * FP_Linear_Form(B);
+  oc1.affine_form_image(A,l);
+  print_constraints(oc1, "*** oc1.affine_form_image(A, i + i0*A + i1*B) ***");
+
+  FP_Octagonal_Shape know_result(2);
+  know_result.add_constraint(A >= 0);
+  know_result.add_constraint(A <= 8);
+  know_result.add_constraint(B >= 0);
+  know_result.add_constraint(B <= 2);
+  know_result.add_constraint(A - B <= 6);
+  know_result.add_constraint(A + B <= 10);
+  know_result.add_constraint(-A + B <= 0);
+  know_result.add_constraint(-A - B <= 0);
+  print_constraints(know_result, "*** know_result ***");
+
+  bool ok = (oc1 == know_result);
+
+  return ok;
+}
+
+} //namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+END_MAIN
diff --git a/tests/Concrete_Expression/octagonalshape2.cc b/tests/Concrete_Expression/octagonalshape2.cc
new file mode 100644
index 0000000..ec42c0b
--- /dev/null
+++ b/tests/Concrete_Expression/octagonalshape2.cc
@@ -0,0 +1,464 @@
+/* Test Octagonal_Shape::refine_fp_interval_abstract_store and
+   Octagonal_Shape::refine_with_linear_form_inequality.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests trivial cases.
+bool
+test01() {
+  Variable A(0);
+  FP_Octagonal_Shape oc1(0);
+  bool ok1 = false;
+  FP_Linear_Form l1(A);
+  FP_Linear_Form l2;
+  try {
+      oc1.refine_with_linear_form_inequality(l1, l2);
+  }
+  catch(std::invalid_argument e) {
+    nout << "space_dim < left_space_dim" << endl;
+    ok1 = true;
+  }
+
+  bool ok2 = false;
+  try {
+    oc1.refine_with_linear_form_inequality(l2, l1);
+  }
+  catch(std::invalid_argument e) {
+    nout << "space_dim < right_space_dim" << endl;
+    FP_Octagonal_Shape oc2(1);
+    oc2.refine_with_linear_form_inequality(l1, l1);
+    oc2.refine_with_linear_form_inequality(-l1, l1);
+    oc2.refine_with_linear_form_inequality(l1, -l1);
+    FP_Interval tmp(0);
+    l1 -= A;
+    l1 += tmp;
+    l2 += tmp;
+    oc2.refine_with_linear_form_inequality(l1, l2);
+    ok2 = true;
+  }
+
+  return ok1 && ok2;
+}
+
+// Tests [-1, 2] <= [-4, -1] + A and [-4, -1] + A <= [-1, 2].
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(-1);
+  tmp.join_assign(2);
+  FP_Linear_Form l1(tmp);
+  FP_Linear_Form l2(A);
+  tmp.lower() = -4;
+  tmp.upper() = -1;
+  l2 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [-1, 2] <= [-4, -1] + A ***");
+
+  known_result.add_constraint(-A <= 0);
+  print_constraints(known_result, "*** known_result1 ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [-4, -1] + A <= [-1, 2] ***");
+
+  known_result.add_constraint(A <= 6);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [3.5, 6] <= [-2.5, 0] - A and [-2.5, 0] - A <= [3.5, 6].
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(3.5));
+  tmp.join_assign(6);
+  FP_Linear_Form l1(tmp);
+  FP_Linear_Form l2(-A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(-2.5);
+  tmp.upper() = 0;
+  l2 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [3.5, 6] <= [-2.5, 0] - A ***");
+
+  known_result.add_constraint(2*A <= -7);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [-2.5, 0] - A <= [3.5, 6] ***");
+
+  known_result.add_constraint(2*A >= -17);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [-0.5, 1] + A <= [2.5, 5] + B and [2.5, 5] + B <= [-0.5, 1] + A.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(-0.5));
+  tmp.join_assign(1);
+  FP_Linear_Form l1(A);
+  l1 += tmp;
+  FP_Linear_Form l2(B);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(2.5);
+  tmp.upper() = 5;
+  l2 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [-0.5, 1] + A <= [2.5, 5] + B ***");
+
+  known_result.add_constraint(2*A - 2*B <= 11);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [2.5, 5] + B <= [-0.5, 1] + A ***");
+
+  known_result.add_constraint(2*B - 2*A <= -3);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 3] + A <= [4, 4] - B and [4, 4] - B <= [1, 3] + A.
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(4);
+  FP_Linear_Form l2(-B);
+  l2 += tmp;
+  FP_Linear_Form l1(A);
+  tmp.lower() = 1;
+  tmp.upper() = 3;
+  l1 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [1, 3] + A <= [4, 4] - B ***");
+
+  known_result.add_constraint(A + B <= 3);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [4, 4] - B <= [1, 3] + A ***");
+
+  known_result.add_constraint(-B - A <= -1);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 4] - A <= [-2, -2] + B and [-2, -2] + B <= [1, 4] - A.
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(-2);
+  FP_Linear_Form l2(B);
+  l2 += tmp;
+  FP_Linear_Form l1(-A);
+  tmp.lower() = 1;
+  tmp.upper() = 4;
+  l1 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [1, 4] - A <= [-2, -2] + B ***");
+
+  known_result.add_constraint(-B - A <= -3);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [4, 4] - B <= [1, 3] + A ***");
+
+  known_result.add_constraint(-B - A <= -1);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [-3, -0.5] - A <= [-2, -1] - B and [-2, -1] - B <= [-3, -0.5] - A.
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(-2);
+  tmp.join_assign(-1);
+  FP_Linear_Form l2(-B);
+  l2 += tmp;
+  FP_Linear_Form l1(-A);
+  tmp.lower() = -3;
+  tmp.upper() = static_cast<FP_Interval::boundary_type>(-0.5);
+  l1 += tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [-3, -0.5] - A <= [-2, -1] - B ***");
+
+  known_result.add_constraint(B - A <= 2);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [-2, -1] - B <= [-3, -0.5] - A ***");
+
+  known_result.add_constraint(-2*B + 2*A <= 3);
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+
+}
+
+// Tests [1, 3] * B <= [-1.5, 0] * A.
+bool
+test08() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(1);
+  tmp.join_assign(3);
+  FP_Linear_Form l1(B);
+  l1 *= tmp;
+  FP_Linear_Form l2(A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(-1.5);
+  tmp.upper() = 0;
+  l2 *= tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [1, 3] * B <= [-1.5, 0] * A ***");
+
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests [0.25, 0.5] * A + [-2, -1] * B <= [-7, -2]
+// and   [-7, -2] <= [0.25, 0.5] * A + [-2, -1] * B.
+bool
+test09() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+
+  FP_Interval tmp(-7);
+  tmp.join_assign(-2);
+  FP_Linear_Form l2(tmp);
+  FP_Linear_Form l1(A);
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(0.25);
+  tmp.upper() = static_cast<FP_Interval::boundary_type>(0.5);
+  l1 *= tmp;
+  tmp.lower() = -2;
+  tmp.upper() = -1;
+  l1 += tmp * FP_Linear_Form(B);
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [0.25, 0.5]*A + [-2, -1]*B <= [-7, -2] ***");
+
+  known_result.add_constraint(2*B + 2*A <= 11);
+  known_result.add_constraint(-2*B + 2*A <= 3);
+  known_result.add_constraint(2*A <= 7);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok1 = (oc1 == known_result);
+
+  oc1.refine_with_linear_form_inequality(l2, l1);
+  print_constraints(oc1, "*** [-7, -2] <= [0.25, 0.5]*A + [-2, -1]*B ***");
+
+  print_constraints(known_result, "*** known_result2 ***");
+
+  bool ok2 = (oc1 == known_result);
+
+  return ok1 && ok2;
+}
+
+// Tests [-5, -1] * A <= [2, 3] * B + [0.5, 1].
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  FP_Octagonal_Shape oc1(3);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(A - B <= 3);
+  oc1.add_constraint(B <= 2);
+  FP_Octagonal_Shape known_result(oc1);
+  FP_Interval tmp(2);
+  tmp.join_assign(3);
+  FP_Linear_Form l2(B);
+  l2 *= tmp;
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(0.5);
+  tmp.upper() = 1;
+  l2 += tmp;
+  FP_Linear_Form l1(A);
+  tmp.lower() = -5;
+  tmp.upper() = -1;
+  l1 *= tmp;
+  oc1.refine_with_linear_form_inequality(l1, l2);
+  print_constraints(oc1, "*** [-5, -1] * A <= [2, 3] * B + [0.5, 1] ***");
+
+  known_result.add_constraint(B - A <= 17);
+  known_result.add_constraint(B + A <= 21);
+  known_result.add_constraint(-B - A <= 13);
+  known_result.add_constraint(-B + A <= 17);
+  known_result.add_constraint(A <= 19);
+  known_result.add_constraint(-A <= 15);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (oc1 == known_result);
+
+  return ok;
+}
+
+// Tests Octagonal_Shape<T>::refine_fp_interval_abstract_store.
+bool
+test11() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(static_cast<FP_Interval::boundary_type>(-2.5));
+  tmp.join_assign(static_cast<FP_Interval::boundary_type>(3.5));
+  store.set_interval(A, tmp);
+  tmp.lower() = -4;
+  tmp.upper() = 4;
+  store.set_interval(B, tmp);
+  Octagonal_Shape<ANALYZER_FP_FORMAT> oc1(2);
+  oc1.add_constraint(A <= 2);
+  oc1.add_constraint(B <= 2);
+  oc1.add_constraint(A >= -3);
+  oc1.add_constraint(2*B >= -3);
+  oc1.refine_fp_interval_abstract_store(store);
+
+  tmp = store.get_interval(A);
+  nout << "*** store.get_interval(A) ***" << endl
+       << tmp << endl;
+
+  FP_Interval known_result1(static_cast<FP_Interval::boundary_type>(-2.5));
+  known_result1.join_assign(2);
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  bool ok1 = (tmp == known_result1);
+
+  tmp = store.get_interval(B);
+  nout << "*** store.get_interval(B) ***" << endl
+       << tmp << endl;
+
+  FP_Interval known_result2(static_cast<FP_Interval::boundary_type>(-1.5));
+  known_result2.join_assign(2);
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  bool ok2 = (tmp == known_result2);
+
+  return ok1 && ok2;
+}
+
+} //namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+  DO_TEST(test10);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/Concrete_Expression/polyhedron1.cc b/tests/Concrete_Expression/polyhedron1.cc
new file mode 100644
index 0000000..8c82f15
--- /dev/null
+++ b/tests/Concrete_Expression/polyhedron1.cc
@@ -0,0 +1,278 @@
+/* Test Polyhedron::affine_form_image on interval linear forms.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests ph.affine_form_image(B, 3).
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  FP_Interval_Abstract_Store store(3);
+  FP_Interval tmp(0);
+  store.set_interval(B, tmp);
+  tmp.lower() = -2;
+  tmp.upper() = 2;
+  store.set_interval(A, tmp);
+  tmp.lower() = -1;
+  tmp.upper() = 1;
+  store.set_interval(C, tmp);
+  C_Polyhedron ph(3);
+  ph.add_constraint(C == 0);
+  ph.add_constraint(A == -2);
+  tmp = 3;
+  FP_Linear_Form l(tmp);
+
+  ph.affine_form_image(B, l);
+  print_constraints(ph, "*** ph.affine_form_image(B, 3) ***");
+
+  C_Polyhedron known_result(3, EMPTY);
+  known_result.add_generator(point(-2 * A + 3 * B));
+  print_constraints(known_result, "*** know_result ***");
+
+  bool ok = (ph == known_result);
+  return ok;
+}
+
+// Tests ph.affine_form_image(A, A + B + 1).
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(1);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  C_Polyhedron ph(2);
+  ph.add_constraint(A >= B);
+  ph.add_constraint(B >= 0);
+  ph.add_constraint(A <= 3);
+  FP_Linear_Form l(A);
+  l += B;
+  l += tmp;
+  ph.affine_form_image(A, l);
+  print_constraints(ph, "*** ph.affine_form_image(A, A + B + 1) ***");
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(A - 2*B - 1 >= 0);
+  known_result.add_constraint(B >= 0);
+  known_result.add_constraint(A - B <= 4);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (ph == known_result);
+
+  return ok;
+}
+
+// Tests ph.affine_form_image(A, (A + 1) / 2).
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(FP_Interval::boundary_type(1 / 2.0));
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  Generator_System gs;
+  gs.insert(point());
+  gs.insert(ray(A));
+  gs.insert(ray(B));
+  C_Polyhedron ph(gs);
+  FP_Linear_Form l(A);
+  l *= tmp;
+  l += tmp;
+  ph.affine_form_image(A, l);
+  print_constraints(ph, "*** ph.affine_form_image(A, (A + 1) / 2) ***");
+
+  C_Polyhedron known_result(2);
+  known_result.add_constraint(2*A >= 1);
+  known_result.add_constraint(B >= 0);
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (ph == known_result);
+
+  return ok;
+}
+
+// Tests ph.affine_form_image(A, (B + 2) / (-3)).
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(-1);
+  tmp /= FP_Interval(3);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  C_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point(A));
+  FP_Linear_Form l(B);
+  l *= tmp;
+  tmp += tmp;
+  l += tmp;
+  ph.affine_form_image(A, l);
+  print_constraints(ph, "*** ph.affine_form_image(A, (B + 2) / (-3)) ***");
+
+  C_Polyhedron known_result(2, EMPTY);
+  known_result.add_generator(point(-2*A, 3));
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (ph.contains(known_result));
+
+  return ok;
+}
+
+// Tests ph.affine_form_image(B, (A - B + 2) / (-3)).
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(2);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  C_Polyhedron ph(2);
+  ph.add_constraint(A >= 2);
+  ph.add_constraint(A <= 3);
+  ph.add_constraint(B >= 1);
+  ph.add_constraint(2*A >= B);
+  FP_Linear_Form l(A);
+  l += tmp;
+  l -= B;
+  l /= FP_Interval(-3);
+
+  ph.affine_form_image(B, l);
+  print_constraints(ph,
+    "*** ph.affine_form_image(B, (A - B + 2) / (-3)) ***");
+
+  C_Polyhedron known_result(2, EMPTY);
+  known_result.add_generator(point(2*A));
+  known_result.add_generator(point(2*A - B));
+  known_result.add_generator(point(9*A + B, 3));
+  known_result.add_generator(point(9*A - 4*B, 3));
+  print_constraints(known_result, "*** known_result ***");
+
+  bool ok = (ph.contains(known_result));
+
+  return ok;
+}
+
+// Tests ph.affine_form_image(A, (-A - 1) / (-1)).
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(-1);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  FP_Linear_Form l(-A);
+  l += tmp;
+  l /= tmp;
+  Generator_System gs;
+  gs.insert(point());
+  gs.insert(point(A));
+  gs.insert(point(B));
+  gs.insert(point(A + B));
+  C_Polyhedron ph(gs);
+  ph.affine_form_image(A, l);
+  print_constraints(ph,
+    "*** ph.affine_form_image(A, (-A - 1) / (-1)) ***");
+
+  Generator_System known_gs;
+  known_gs.insert(point(A));
+  known_gs.insert(point(2*A));
+  known_gs.insert(point(A + B));
+  known_gs.insert(point(2*A + B));
+  C_Polyhedron known_result(known_gs);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** known_result ***");
+
+  return ok;
+}
+
+// Tests affine_form_image on NNC_Polyhedron.
+bool
+test07() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval_Abstract_Store store(2);
+  FP_Interval tmp(2);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  FP_Linear_Form l(A);
+
+  NNC_Polyhedron p1(2);
+  p1.add_constraint(B == 0);
+  p1.add_constraint(-A > 0);
+
+  NNC_Polyhedron p2(2);
+  p2.add_constraint(B == 0);
+  p2.add_constraint(A >= 0);
+
+  p1.affine_form_image(B, l);
+  print_constraints(p1, "*** p1.affine_form_image(B, A) ***");
+  NNC_Polyhedron known_result1(2);
+  known_result1.add_constraint(A - B == 0);
+  known_result1.add_constraint(A < 0);
+  print_constraints(p1, "*** known_result1 ***");
+  bool ok1 = (p1 == known_result1);
+
+  l += tmp;
+  p2.affine_form_image(B, l);
+  print_constraints(p2, "*** p2.affine_form_image(B, A + 2) ***");
+  NNC_Polyhedron known_result2(2);
+  known_result2.add_constraint(A - B == -2);
+  known_result2.add_constraint(A >= 0);
+  print_constraints(p2, "*** known_result2 ***");
+  bool ok2 = (p2 == known_result2);
+
+  return ok1 && ok2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  if (sizeof(ANALYZER_FP_FORMAT) == 4) {
+    DO_TEST_F32A(test04);
+    DO_TEST_F64A(test05);
+  }
+  else if (sizeof(ANALYZER_FP_FORMAT) == 8) {
+    DO_TEST_F64A(test04);
+    DO_TEST_F64(test05);
+  }
+  else {
+    DO_TEST_F64(test04);
+    DO_TEST_F64(test05);
+  }
+  DO_TEST(test06);
+  DO_TEST(test07);
+END_MAIN
diff --git a/tests/Concrete_Expression/polyhedron2.cc b/tests/Concrete_Expression/polyhedron2.cc
new file mode 100644
index 0000000..8ac9cf3
--- /dev/null
+++ b/tests/Concrete_Expression/polyhedron2.cc
@@ -0,0 +1,242 @@
+/* Test Polyhedron::refine_fp_interval_abstract_store,
+   Polyhedron::refine_with_linear_form_inequality and
+   Polyhedron::generalized_refine_with_linear_form_inequality.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+// Tests incompatible dimensions.
+bool
+test01() {
+  C_Polyhedron pol(1);
+  FP_Interval_Abstract_Store store(1);
+  store.set_interval(Variable(0), FP_Interval(0));
+  try {
+    FP_Linear_Form l1(Variable(3));
+    FP_Linear_Form l2;
+    pol.refine_with_linear_form_inequality(l1, l2);
+  }
+  catch (std::invalid_argument) {
+    try {
+      FP_Linear_Form l1;
+      FP_Linear_Form l2(Variable(3));
+      pol.refine_with_linear_form_inequality(l1, l2);
+    }
+    catch (std::invalid_argument) {
+      nout << "incompatible dimensions." << endl;
+      return true;
+    }
+  }
+
+  return false;
+}
+
+// Tests A <= [57, 57].
+bool
+test02() {
+  C_Polyhedron ph(1);
+  FP_Interval_Abstract_Store store(1);
+  store.set_interval(Variable(0), FP_Interval(static_cast<FP_Interval::boundary_type>(1.5)));
+  FP_Interval interval(57);
+  FP_Linear_Form lf1(Variable(0));
+  FP_Linear_Form lf2(interval);
+  ph.refine_with_linear_form_inequality(lf1, lf2);
+  print_constraints(ph, "*** A <= [57, 57] ***");
+  C_Polyhedron known_result(1);
+  known_result.refine_with_constraint(Variable(0) <= 57);
+  print_constraints(known_result, "*** known_result ***");
+
+  return ph == known_result;
+}
+
+// Tests -A <= 0 && A <= 2 && -A <= 1 && -B <= -1 && C = 0.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  FP_Interval_Abstract_Store store(3);
+  FP_Interval tmp(0);
+  store.set_interval(A, tmp);
+  store.set_interval(B, tmp);
+  store.set_interval(C, tmp);
+
+  C_Polyhedron ph(3);
+  ph.refine_with_linear_form_inequality(-FP_Linear_Form(A),
+				 FP_Linear_Form(FP_Interval(0)));
+  ph.refine_with_linear_form_inequality(FP_Linear_Form(A),
+				 FP_Linear_Form(FP_Interval(2)));
+  ph.refine_with_linear_form_inequality(-FP_Linear_Form(A),
+				 FP_Linear_Form(FP_Interval(1)));
+  ph.refine_with_linear_form_inequality(-FP_Linear_Form(B),
+				 FP_Linear_Form(FP_Interval(-1)));
+  ph.generalized_refine_with_linear_form_inequality(
+    FP_Linear_Form(C), FP_Linear_Form(tmp), EQUAL);
+  ph.generalized_refine_with_linear_form_inequality(
+    FP_Linear_Form(C), FP_Linear_Form(tmp), NOT_EQUAL);
+  print_constraints(ph, "*** ph ***");
+
+  C_Polyhedron known_result(3);
+  known_result.add_constraint(A >= 0);
+  known_result.add_constraint(A <= 2);
+  known_result.add_constraint(B >= 1);
+  known_result.add_constraint(C == 0);
+  print_constraints(known_result, "*** known_result ***");
+
+  return ph == known_result;
+}
+
+// Tests -A <= -1/3 && A <= 2/3 && -B <= 0 && B <= 1/3
+// and refine_fp_interval_abstract_store.
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval tmp0(0);
+  tmp0.join_assign(10);
+  FP_Interval_Abstract_Store store(2);
+  store.set_interval(A, tmp0);
+  store.set_interval(B, tmp0);
+  FP_Interval tmp(tmp0);
+  tmp = 2;
+  tmp /= FP_Interval(3);
+  FP_Linear_Form la(A);
+  FP_Linear_Form lb(B);
+  FP_Linear_Form lk(tmp);
+
+  C_Polyhedron ph(2);
+  ph.generalized_refine_with_linear_form_inequality(
+    lk, la, GREATER_THAN);
+  tmp = 1;
+  lk -= tmp;
+  ph.generalized_refine_with_linear_form_inequality(
+    lk, -la, GREATER_OR_EQUAL);
+  ph.generalized_refine_with_linear_form_inequality(
+    lb, -lk, LESS_OR_EQUAL);
+  tmp = 0;
+  lk = FP_Linear_Form(tmp);
+  ph.generalized_refine_with_linear_form_inequality(
+    -lb, lk, LESS_THAN);
+  print_constraints(ph, "*** ph ***");
+
+  C_Polyhedron known_result1(2);
+  known_result1.add_constraint(3*A >= 1);
+  known_result1.add_constraint(3*A <= 2);
+  known_result1.add_constraint(B >= 0);
+  known_result1.add_constraint(3*B <= 1);
+  print_constraints(known_result1, "*** known_result1 ***");
+
+  bool ok1 = ph.contains(known_result1);
+
+  ph.refine_fp_interval_abstract_store(store);
+  nout << "*** FP_Interval_Abstract_Store ***" << endl;
+
+  nout << "A = " << store.get_interval(A) << endl;
+  bool ok2 = tmp0.contains(store.get_interval(A));
+
+  nout << "B = " << store.get_interval(B) << endl;
+  bool ok3 = tmp0.contains(store.get_interval(B));
+
+  return ok1 && ok2 && ok3;
+
+}
+
+// Tests (2/3)*B + [-0.5, 0.5] >= (1/3)*A
+// where A = B = [-1, 1].
+bool
+test05() {
+  Variable A(0);
+  Variable B(1);
+  FP_Interval tmp0(-1);
+  tmp0.join_assign(1);
+  FP_Interval_Abstract_Store store(2);
+  store.set_interval(A, tmp0);
+  store.set_interval(B, tmp0);
+  FP_Interval tmp(1);
+  tmp /= FP_Interval(3);
+  FP_Linear_Form la(A);
+  la *= tmp;
+  FP_Linear_Form lb(B);
+  tmp += tmp;
+  lb *= tmp;
+  tmp.lower() = static_cast<FP_Interval::boundary_type>(-0.5);
+  tmp.upper() = static_cast<FP_Interval::boundary_type>(0.5);
+  lb += tmp;
+
+  NNC_Polyhedron ph(2);
+  FP_Linear_Form l(tmp0);
+  ph.affine_form_image(A, l);
+  ph.affine_form_image(B, l);
+  ph.generalized_refine_with_linear_form_inequality(
+    lb, la, GREATER_OR_EQUAL);
+  print_constraints(ph, "*** ph ***");
+
+  NNC_Polyhedron known_result1(2);
+  known_result1.add_constraint(2*A <= 4*B + 3);
+  known_result1.add_constraint(A >= -1);
+  known_result1.add_constraint(A <= 1);
+  known_result1.add_constraint(B >= -1);
+  known_result1.add_constraint(B <= 1);
+  print_constraints(known_result1, "*** known_result1 ***");
+
+  bool ok1 = ph.contains(known_result1);
+
+  ph.refine_fp_interval_abstract_store(store);
+  nout << "*** FP_Interval_Abstract_Store ***" << endl;
+
+  nout << "A = " << store.get_interval(A) << endl;
+  bool ok2 = tmp0.contains(store.get_interval(A));
+
+  nout << "B = " << store.get_interval(B) << endl;
+  bool ok3 = tmp0.contains(store.get_interval(B));
+
+  return ok1 && ok2 && ok3;
+
+  return ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  if (sizeof(ANALYZER_FP_FORMAT) == 4) {
+    DO_TEST_F32(test04);
+#ifdef NDEBUG
+    DO_TEST_F16(test05);
+#else
+    DO_TEST_F64A(test05);
+#endif
+  }
+  else if (sizeof(ANALYZER_FP_FORMAT) == 8) {
+    DO_TEST_F64(test04);
+    DO_TEST_F64A(test05);
+  }
+  else {
+    DO_TEST_F64(test04);
+    DO_TEST_F64(test05);
+  }
+END_MAIN
diff --git a/tests/Concrete_Expression/run_tests b/tests/Concrete_Expression/run_tests
new file mode 100755
index 0000000..7922901
--- /dev/null
+++ b/tests/Concrete_Expression/run_tests
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+# Run the Floating_Point_Expression tests.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ .
+
+mpz_class_XFAIL_TESTS=
+mpq_class_XFAIL_TESTS=
+int8_t_XFAIL_TESTS=
+int16_t_XFAIL_TESTS=
+int32_t_XFAIL_TESTS=
+int64_t_XFAIL_TESTS=
+float_XFAIL_TESTS=
+double_XFAIL_TESTS=
+long_double_XFAIL_TESTS=
+
+if [ -z "$MAKE" ]
+then
+    MAKE=make
+fi
+
+instances=`MAKEFLAGS='' $MAKE -s print_INSTANCES`
+
+check_PROGRAMS=`MAKEFLAGS='' $MAKE -s print_check_PROGRAMS`
+
+for instance in $instances
+do
+  echo "**************************** " $instance " ****************************"
+  eval xfail_tests='"$'$instance'_XFAIL_TESTS"'
+  [ -f dirty_marker ] && $MAKE clean
+  touch dirty_marker
+  analyzer_fp_format=${instance%/*}
+  analyzed_fp_format=${instance#*/}
+  $MAKE check TESTS="$check_PROGRAMS" TESTS_ENVIRONMENT="$CHECKER" TEST_CPPFLAGS="-DANALYZER_FP_FORMAT=$analyzer_fp_format -DANALYZED_FP_FORMAT=$analyzed_fp_format" XFAIL_TESTS=$xfail_tests || exit 1
+  $MAKE clean && rm dirty_marker
+done
+exit 0
diff --git a/tests/Grid/Makefile.am b/tests/Grid/Makefile.am
index 581ad16..acfb4d5 100644
--- a/tests/Grid/Makefile.am
+++ b/tests/Grid/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -15,16 +15,16 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
diff --git a/tests/Grid/Makefile.in b/tests/Grid/Makefile.in
index 2950a41..0c8f9e9 100644
--- a/tests/Grid/Makefile.in
+++ b/tests/Grid/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -32,12 +32,11 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -118,27 +117,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -198,8 +192,8 @@ addcongruence1_LDADD = $(LDADD)
 addcongruence1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
 addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
@@ -807,21 +801,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
@@ -953,6 +947,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -977,21 +972,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -1047,6 +1037,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -1115,7 +1106,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -1128,6 +1118,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -1296,286 +1287,286 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) 
+addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) $(EXTRA_addcongruence1_DEPENDENCIES) 
 	@rm -f addcongruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
-addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) $(EXTRA_addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
-addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) 
+addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) $(EXTRA_addconstraint1_DEPENDENCIES) 
 	@rm -f addconstraint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
-addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) $(EXTRA_addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
-addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) 
+addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) $(EXTRA_addgenerator1_DEPENDENCIES) 
 	@rm -f addgenerator1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
-addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) 
+addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) $(EXTRA_addgenerators1_DEPENDENCIES) 
 	@rm -f addgenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
-addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
+addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) $(EXTRA_addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
-affinedim1$(EXEEXT): $(affinedim1_OBJECTS) $(affinedim1_DEPENDENCIES) 
+affinedim1$(EXEEXT): $(affinedim1_OBJECTS) $(affinedim1_DEPENDENCIES) $(EXTRA_affinedim1_DEPENDENCIES) 
 	@rm -f affinedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinedim1_OBJECTS) $(affinedim1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
+affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) $(EXTRA_affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) 
+affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) $(EXTRA_affinepreimage2_DEPENDENCIES) 
 	@rm -f affinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
-approximatepartition1$(EXEEXT): $(approximatepartition1_OBJECTS) $(approximatepartition1_DEPENDENCIES) 
+approximatepartition1$(EXEEXT): $(approximatepartition1_OBJECTS) $(approximatepartition1_DEPENDENCIES) $(EXTRA_approximatepartition1_DEPENDENCIES) 
 	@rm -f approximatepartition1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(approximatepartition1_OBJECTS) $(approximatepartition1_LDADD) $(LIBS)
-asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) 
+asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) $(EXTRA_asciidumpload1_DEPENDENCIES) 
 	@rm -f asciidumpload1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
-asciidumpload2$(EXEEXT): $(asciidumpload2_OBJECTS) $(asciidumpload2_DEPENDENCIES) 
+asciidumpload2$(EXEEXT): $(asciidumpload2_OBJECTS) $(asciidumpload2_DEPENDENCIES) $(EXTRA_asciidumpload2_DEPENDENCIES) 
 	@rm -f asciidumpload2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload2_OBJECTS) $(asciidumpload2_LDADD) $(LIBS)
-asciidumpload3$(EXEEXT): $(asciidumpload3_OBJECTS) $(asciidumpload3_DEPENDENCIES) 
+asciidumpload3$(EXEEXT): $(asciidumpload3_OBJECTS) $(asciidumpload3_DEPENDENCIES) $(EXTRA_asciidumpload3_DEPENDENCIES) 
 	@rm -f asciidumpload3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload3_OBJECTS) $(asciidumpload3_LDADD) $(LIBS)
-asciidumpload4$(EXEEXT): $(asciidumpload4_OBJECTS) $(asciidumpload4_DEPENDENCIES) 
+asciidumpload4$(EXEEXT): $(asciidumpload4_OBJECTS) $(asciidumpload4_DEPENDENCIES) $(EXTRA_asciidumpload4_DEPENDENCIES) 
 	@rm -f asciidumpload4$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload4_OBJECTS) $(asciidumpload4_LDADD) $(LIBS)
-asciidumpload5$(EXEEXT): $(asciidumpload5_OBJECTS) $(asciidumpload5_DEPENDENCIES) 
+asciidumpload5$(EXEEXT): $(asciidumpload5_OBJECTS) $(asciidumpload5_DEPENDENCIES) $(EXTRA_asciidumpload5_DEPENDENCIES) 
 	@rm -f asciidumpload5$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload5_OBJECTS) $(asciidumpload5_LDADD) $(LIBS)
-asciidumpload6$(EXEEXT): $(asciidumpload6_OBJECTS) $(asciidumpload6_DEPENDENCIES) 
+asciidumpload6$(EXEEXT): $(asciidumpload6_OBJECTS) $(asciidumpload6_DEPENDENCIES) $(EXTRA_asciidumpload6_DEPENDENCIES) 
 	@rm -f asciidumpload6$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload6_OBJECTS) $(asciidumpload6_LDADD) $(LIBS)
-bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
+bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) $(EXTRA_bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
+boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-certificate1$(EXEEXT): $(certificate1_OBJECTS) $(certificate1_DEPENDENCIES) 
+certificate1$(EXEEXT): $(certificate1_OBJECTS) $(certificate1_DEPENDENCIES) $(EXTRA_certificate1_DEPENDENCIES) 
 	@rm -f certificate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(certificate1_OBJECTS) $(certificate1_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruence1$(EXEEXT): $(congruence1_OBJECTS) $(congruence1_DEPENDENCIES) 
+congruence1$(EXEEXT): $(congruence1_OBJECTS) $(congruence1_DEPENDENCIES) $(EXTRA_congruence1_DEPENDENCIES) 
 	@rm -f congruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruence1_OBJECTS) $(congruence1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-congruences2$(EXEEXT): $(congruences2_OBJECTS) $(congruences2_DEPENDENCIES) 
+congruences2$(EXEEXT): $(congruences2_OBJECTS) $(congruences2_DEPENDENCIES) $(EXTRA_congruences2_DEPENDENCIES) 
 	@rm -f congruences2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences2_OBJECTS) $(congruences2_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-dropnonintegerpoints1$(EXEEXT): $(dropnonintegerpoints1_OBJECTS) $(dropnonintegerpoints1_DEPENDENCIES) 
+dropnonintegerpoints1$(EXEEXT): $(dropnonintegerpoints1_OBJECTS) $(dropnonintegerpoints1_DEPENDENCIES) $(EXTRA_dropnonintegerpoints1_DEPENDENCIES) 
 	@rm -f dropnonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropnonintegerpoints1_OBJECTS) $(dropnonintegerpoints1_LDADD) $(LIBS)
-equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) $(EXTRA_equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
-expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
+expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) $(EXTRA_expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
-foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
+foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) $(EXTRA_foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
-frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) $(EXTRA_frequency1_DEPENDENCIES) 
 	@rm -f frequency1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
+generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) $(EXTRA_generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
-generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) 
+generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) $(EXTRA_generalizedaffineimage3_DEPENDENCIES) 
 	@rm -f generalizedaffineimage3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
-generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
+generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
-generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
+generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
-generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
+generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
-generator1$(EXEEXT): $(generator1_OBJECTS) $(generator1_DEPENDENCIES) 
+generator1$(EXEEXT): $(generator1_OBJECTS) $(generator1_DEPENDENCIES) $(EXTRA_generator1_DEPENDENCIES) 
 	@rm -f generator1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generator1_OBJECTS) $(generator1_LDADD) $(LIBS)
-generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) 
+generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) $(EXTRA_generators1_DEPENDENCIES) 
 	@rm -f generators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
-generators2$(EXEEXT): $(generators2_OBJECTS) $(generators2_DEPENDENCIES) 
+generators2$(EXEEXT): $(generators2_OBJECTS) $(generators2_DEPENDENCIES) $(EXTRA_generators2_DEPENDENCIES) 
 	@rm -f generators2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generators2_OBJECTS) $(generators2_LDADD) $(LIBS)
-grid1$(EXEEXT): $(grid1_OBJECTS) $(grid1_DEPENDENCIES) 
+grid1$(EXEEXT): $(grid1_OBJECTS) $(grid1_DEPENDENCIES) $(EXTRA_grid1_DEPENDENCIES) 
 	@rm -f grid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(grid1_OBJECTS) $(grid1_LDADD) $(LIBS)
-grid2$(EXEEXT): $(grid2_OBJECTS) $(grid2_DEPENDENCIES) 
+grid2$(EXEEXT): $(grid2_OBJECTS) $(grid2_DEPENDENCIES) $(EXTRA_grid2_DEPENDENCIES) 
 	@rm -f grid2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(grid2_OBJECTS) $(grid2_LDADD) $(LIBS)
-grid3$(EXEEXT): $(grid3_OBJECTS) $(grid3_DEPENDENCIES) 
+grid3$(EXEEXT): $(grid3_OBJECTS) $(grid3_DEPENDENCIES) $(EXTRA_grid3_DEPENDENCIES) 
 	@rm -f grid3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(grid3_OBJECTS) $(grid3_LDADD) $(LIBS)
-griddifference1$(EXEEXT): $(griddifference1_OBJECTS) $(griddifference1_DEPENDENCIES) 
+griddifference1$(EXEEXT): $(griddifference1_OBJECTS) $(griddifference1_DEPENDENCIES) $(EXTRA_griddifference1_DEPENDENCIES) 
 	@rm -f griddifference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(griddifference1_OBJECTS) $(griddifference1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) 
+isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) $(EXTRA_isempty1_DEPENDENCIES) 
 	@rm -f isempty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(isempty1_OBJECTS) $(isempty1_LDADD) $(LIBS)
-isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) 
+isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) $(EXTRA_isuniverse1_DEPENDENCIES) 
 	@rm -f isuniverse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(isuniverse1_OBJECTS) $(isuniverse1_LDADD) $(LIBS)
-limitedextrapolation1$(EXEEXT): $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_DEPENDENCIES) 
+limitedextrapolation1$(EXEEXT): $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_DEPENDENCIES) $(EXTRA_limitedextrapolation1_DEPENDENCIES) 
 	@rm -f limitedextrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation1_OBJECTS) $(limitedextrapolation1_LDADD) $(LIBS)
-limitedextrapolation2$(EXEEXT): $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_DEPENDENCIES) 
+limitedextrapolation2$(EXEEXT): $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_DEPENDENCIES) $(EXTRA_limitedextrapolation2_DEPENDENCIES) 
 	@rm -f limitedextrapolation2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation2_OBJECTS) $(limitedextrapolation2_LDADD) $(LIBS)
-limitedextrapolation3$(EXEEXT): $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_DEPENDENCIES) 
+limitedextrapolation3$(EXEEXT): $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_DEPENDENCIES) $(EXTRA_limitedextrapolation3_DEPENDENCIES) 
 	@rm -f limitedextrapolation3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedextrapolation3_OBJECTS) $(limitedextrapolation3_LDADD) $(LIBS)
-mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
+mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) $(EXTRA_mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
-maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
+maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) $(EXTRA_maxmin1_DEPENDENCIES) 
 	@rm -f maxmin1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-mincongruences1$(EXEEXT): $(mincongruences1_OBJECTS) $(mincongruences1_DEPENDENCIES) 
+mincongruences1$(EXEEXT): $(mincongruences1_OBJECTS) $(mincongruences1_DEPENDENCIES) $(EXTRA_mincongruences1_DEPENDENCIES) 
 	@rm -f mincongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mincongruences1_OBJECTS) $(mincongruences1_LDADD) $(LIBS)
-mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) 
+mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) $(EXTRA_mingenerators1_DEPENDENCIES) 
 	@rm -f mingenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
-outputoperator1$(EXEEXT): $(outputoperator1_OBJECTS) $(outputoperator1_DEPENDENCIES) 
+outputoperator1$(EXEEXT): $(outputoperator1_OBJECTS) $(outputoperator1_DEPENDENCIES) $(EXTRA_outputoperator1_DEPENDENCIES) 
 	@rm -f outputoperator1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator1_OBJECTS) $(outputoperator1_LDADD) $(LIBS)
-outputoperator2$(EXEEXT): $(outputoperator2_OBJECTS) $(outputoperator2_DEPENDENCIES) 
+outputoperator2$(EXEEXT): $(outputoperator2_OBJECTS) $(outputoperator2_DEPENDENCIES) $(EXTRA_outputoperator2_DEPENDENCIES) 
 	@rm -f outputoperator2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator2_OBJECTS) $(outputoperator2_LDADD) $(LIBS)
-outputoperator3$(EXEEXT): $(outputoperator3_OBJECTS) $(outputoperator3_DEPENDENCIES) 
+outputoperator3$(EXEEXT): $(outputoperator3_OBJECTS) $(outputoperator3_DEPENDENCIES) $(EXTRA_outputoperator3_DEPENDENCIES) 
 	@rm -f outputoperator3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(outputoperator3_OBJECTS) $(outputoperator3_LDADD) $(LIBS)
-partition1$(EXEEXT): $(partition1_OBJECTS) $(partition1_DEPENDENCIES) 
+partition1$(EXEEXT): $(partition1_OBJECTS) $(partition1_DEPENDENCIES) $(EXTRA_partition1_DEPENDENCIES) 
 	@rm -f partition1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(partition1_OBJECTS) $(partition1_LDADD) $(LIBS)
-powersetdifference1$(EXEEXT): $(powersetdifference1_OBJECTS) $(powersetdifference1_DEPENDENCIES) 
+powersetdifference1$(EXEEXT): $(powersetdifference1_OBJECTS) $(powersetdifference1_DEPENDENCIES) $(EXTRA_powersetdifference1_DEPENDENCIES) 
 	@rm -f powersetdifference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(powersetdifference1_OBJECTS) $(powersetdifference1_LDADD) $(LIBS)
-powersetgeometricallycovers1$(EXEEXT): $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_DEPENDENCIES) 
+powersetgeometricallycovers1$(EXEEXT): $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_DEPENDENCIES) $(EXTRA_powersetgeometricallycovers1_DEPENDENCIES) 
 	@rm -f powersetgeometricallycovers1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(powersetgeometricallycovers1_OBJECTS) $(powersetgeometricallycovers1_LDADD) $(LIBS)
-powersetgeometricallyequals1$(EXEEXT): $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_DEPENDENCIES) 
+powersetgeometricallyequals1$(EXEEXT): $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_DEPENDENCIES) $(EXTRA_powersetgeometricallyequals1_DEPENDENCIES) 
 	@rm -f powersetgeometricallyequals1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(powersetgeometricallyequals1_OBJECTS) $(powersetgeometricallyequals1_LDADD) $(LIBS)
-refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
+refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) $(EXTRA_refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
-refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
+refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) $(EXTRA_refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
-relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) $(EXTRA_relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
-relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
+relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) $(EXTRA_relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
-relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
+relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) $(EXTRA_relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
-removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
+removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) $(EXTRA_removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
-removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) 
+removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) $(EXTRA_removespacedims2_DEPENDENCIES) 
 	@rm -f removespacedims2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
+topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) $(EXTRA_topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
-topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
+topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) $(EXTRA_topclosure1_DEPENDENCIES) 
 	@rm -f topclosure1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
-unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
+unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) $(EXTRA_unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
-upperbound2$(EXEEXT): $(upperbound2_OBJECTS) $(upperbound2_DEPENDENCIES) 
+upperbound2$(EXEEXT): $(upperbound2_OBJECTS) $(upperbound2_DEPENDENCIES) $(EXTRA_upperbound2_DEPENDENCIES) 
 	@rm -f upperbound2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound2_OBJECTS) $(upperbound2_LDADD) $(LIBS)
-widening1$(EXEEXT): $(widening1_OBJECTS) $(widening1_DEPENDENCIES) 
+widening1$(EXEEXT): $(widening1_OBJECTS) $(widening1_DEPENDENCIES) $(EXTRA_widening1_DEPENDENCIES) 
 	@rm -f widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(widening1_OBJECTS) $(widening1_LDADD) $(LIBS)
-widening2$(EXEEXT): $(widening2_OBJECTS) $(widening2_DEPENDENCIES) 
+widening2$(EXEEXT): $(widening2_OBJECTS) $(widening2_DEPENDENCIES) $(EXTRA_widening2_DEPENDENCIES) 
 	@rm -f widening2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(widening2_OBJECTS) $(widening2_LDADD) $(LIBS)
-widening3$(EXEEXT): $(widening3_OBJECTS) $(widening3_DEPENDENCIES) 
+widening3$(EXEEXT): $(widening3_OBJECTS) $(widening3_DEPENDENCIES) $(EXTRA_widening3_DEPENDENCIES) 
 	@rm -f widening3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(widening3_OBJECTS) $(widening3_LDADD) $(LIBS)
-wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) $(EXTRA_wrap1_DEPENDENCIES) 
 	@rm -f wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
-writecongruencesystem$(EXEEXT): $(writecongruencesystem_OBJECTS) $(writecongruencesystem_DEPENDENCIES) 
+writecongruencesystem$(EXEEXT): $(writecongruencesystem_OBJECTS) $(writecongruencesystem_DEPENDENCIES) $(EXTRA_writecongruencesystem_DEPENDENCIES) 
 	@rm -f writecongruencesystem$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writecongruencesystem_OBJECTS) $(writecongruencesystem_LDADD) $(LIBS)
 
@@ -1683,26 +1674,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1843,14 +1831,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1900,10 +1889,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/tests/Grid/addcongruence1.cc b/tests/Grid/addcongruence1.cc
index 059f4a1..894732e 100644
--- a/tests/Grid/addcongruence1.cc
+++ b/tests/Grid/addcongruence1.cc
@@ -1,6 +1,6 @@
 /* Test methods which add a single congruence to a grid.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addcongruences1.cc b/tests/Grid/addcongruences1.cc
index 26165ac..662ec5e 100644
--- a/tests/Grid/addcongruences1.cc
+++ b/tests/Grid/addcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test methods which can add multiple congruences to a grid.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addconstraint1.cc b/tests/Grid/addconstraint1.cc
index 1146d6f..144479e 100644
--- a/tests/Grid/addconstraint1.cc
+++ b/tests/Grid/addconstraint1.cc
@@ -1,6 +1,6 @@
 /* Test adding single constraints to grids.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addconstraints1.cc b/tests/Grid/addconstraints1.cc
index c766144..e43ba70 100644
--- a/tests/Grid/addconstraints1.cc
+++ b/tests/Grid/addconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test adding constraints to a grid.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addgenerator1.cc b/tests/Grid/addgenerator1.cc
index e6c1d44..e5181bc 100644
--- a/tests/Grid/addgenerator1.cc
+++ b/tests/Grid/addgenerator1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::add_grid_generator().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addgenerators1.cc b/tests/Grid/addgenerators1.cc
index 89de7eb..8ef159a 100644
--- a/tests/Grid/addgenerators1.cc
+++ b/tests/Grid/addgenerators1.cc
@@ -1,6 +1,6 @@
 /* Test method which can add multiple generators to a grid.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/addspacedims1.cc b/tests/Grid/addspacedims1.cc
index b6b805b..1e05231 100644
--- a/tests/Grid/addspacedims1.cc
+++ b/tests/Grid/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::add_space_dimensions_and_embed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/affinedim1.cc b/tests/Grid/affinedim1.cc
index 3103118..361f704 100644
--- a/tests/Grid/affinedim1.cc
+++ b/tests/Grid/affinedim1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/affineimage1.cc b/tests/Grid/affineimage1.cc
index a808732..c82e3a8 100644
--- a/tests/Grid/affineimage1.cc
+++ b/tests/Grid/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/affineimage2.cc b/tests/Grid/affineimage2.cc
index d323760..3aec6c8 100644
--- a/tests/Grid/affineimage2.cc
+++ b/tests/Grid/affineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -392,7 +392,7 @@ BEGIN_MAIN
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
-  DO_TEST_F16A(test10);
+  DO_TEST_F16(test10);
   DO_TEST_F32(test11);
   DO_TEST_F64(test12);
 END_MAIN
diff --git a/tests/Grid/affinepreimage1.cc b/tests/Grid/affinepreimage1.cc
index bc9243e..ae39f7f 100644
--- a/tests/Grid/affinepreimage1.cc
+++ b/tests/Grid/affinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/affinepreimage2.cc b/tests/Grid/affinepreimage2.cc
index ec794e8..225ed1d 100644
--- a/tests/Grid/affinepreimage2.cc
+++ b/tests/Grid/affinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/approximatepartition1.cc b/tests/Grid/approximatepartition1.cc
index e58c3d1..2a490ab 100644
--- a/tests/Grid/approximatepartition1.cc
+++ b/tests/Grid/approximatepartition1.cc
@@ -1,6 +1,6 @@
 /* Test approximate_partition().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload1.cc b/tests/Grid/asciidumpload1.cc
index beb441e..46d93bd 100644
--- a/tests/Grid/asciidumpload1.cc
+++ b/tests/Grid/asciidumpload1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload2.cc b/tests/Grid/asciidumpload2.cc
index fd8f6b8..ff23400 100644
--- a/tests/Grid/asciidumpload2.cc
+++ b/tests/Grid/asciidumpload2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload3.cc b/tests/Grid/asciidumpload3.cc
index b4151eb..0881544 100644
--- a/tests/Grid/asciidumpload3.cc
+++ b/tests/Grid/asciidumpload3.cc
@@ -1,6 +1,6 @@
 /* Test Congruence::ascii_dump() and Congruence::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload4.cc b/tests/Grid/asciidumpload4.cc
index d5369e1..8db258b 100644
--- a/tests/Grid/asciidumpload4.cc
+++ b/tests/Grid/asciidumpload4.cc
@@ -1,6 +1,6 @@
 /* Test Congruence_System ascii_dump() and ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload5.cc b/tests/Grid/asciidumpload5.cc
index a5ece84..0e84a6d 100644
--- a/tests/Grid/asciidumpload5.cc
+++ b/tests/Grid/asciidumpload5.cc
@@ -1,6 +1,6 @@
 /* Test Grid_Generator ascii_dump() and ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/asciidumpload6.cc b/tests/Grid/asciidumpload6.cc
index 32470f5..d04c6b6 100644
--- a/tests/Grid/asciidumpload6.cc
+++ b/tests/Grid/asciidumpload6.cc
@@ -1,6 +1,6 @@
 /* Test Generator_System ascii_dump() and ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/bhz03widening1.cc b/tests/Grid/bhz03widening1.cc
index ac98a26..378af81 100644
--- a/tests/Grid/bhz03widening1.cc
+++ b/tests/Grid/bhz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Grid>::BHZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/bounded1.cc b/tests/Grid/bounded1.cc
index e48d42b..5730c89 100644
--- a/tests/Grid/bounded1.cc
+++ b/tests/Grid/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/boundedaffineimage1.cc b/tests/Grid/boundedaffineimage1.cc
index cff3e43..d82cc1e 100644
--- a/tests/Grid/boundedaffineimage1.cc
+++ b/tests/Grid/boundedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/boundedaffinepreimage1.cc b/tests/Grid/boundedaffinepreimage1.cc
index 246618a..b2eef5b 100644
--- a/tests/Grid/boundedaffinepreimage1.cc
+++ b/tests/Grid/boundedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/bounds1.cc b/tests/Grid/bounds1.cc
index de74b96..dea1510 100644
--- a/tests/Grid/bounds1.cc
+++ b/tests/Grid/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::bounds_from_above() and Grid::bounds_from_below().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/certificate1.cc b/tests/Grid/certificate1.cc
index 9c60c03..ec3800d 100644
--- a/tests/Grid/certificate1.cc
+++ b/tests/Grid/certificate1.cc
@@ -1,6 +1,6 @@
 /* Test class Grid_Certificate.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/concatenate1.cc b/tests/Grid/concatenate1.cc
index 46d4909..2b0192f 100644
--- a/tests/Grid/concatenate1.cc
+++ b/tests/Grid/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/congruence1.cc b/tests/Grid/congruence1.cc
index b868a0f..01ab2e7 100644
--- a/tests/Grid/congruence1.cc
+++ b/tests/Grid/congruence1.cc
@@ -1,6 +1,6 @@
 /* Test class Congruence.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/congruences1.cc b/tests/Grid/congruences1.cc
index ab98dc2..53d59fd 100644
--- a/tests/Grid/congruences1.cc
+++ b/tests/Grid/congruences1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -213,7 +213,7 @@ test09() {
   cgs1.insert((A %= 0) / 2);
   cgs.insert(cgs1);
   cgs1.insert((A + B %= 0) / 2);
-  cgs.recycling_insert(cgs1);
+  cgs.insert(cgs1, Recycle_Input());
 
   Grid gr(2);
 
diff --git a/tests/Grid/congruences2.cc b/tests/Grid/congruences2.cc
index 8aef453..e0814e6 100644
--- a/tests/Grid/congruences2.cc
+++ b/tests/Grid/congruences2.cc
@@ -1,6 +1,6 @@
 /* Test Congruence_System::satisfies_all_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/constraints1.cc b/tests/Grid/constraints1.cc
index 8aa080c..b7e29a3 100644
--- a/tests/Grid/constraints1.cc
+++ b/tests/Grid/constraints1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/contains1.cc b/tests/Grid/contains1.cc
index f378953..c585d0a 100644
--- a/tests/Grid/contains1.cc
+++ b/tests/Grid/contains1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/containsintegerpoint1.cc b/tests/Grid/containsintegerpoint1.cc
index 1668726..84e7244 100644
--- a/tests/Grid/containsintegerpoint1.cc
+++ b/tests/Grid/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::contains_integer_point().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <iostream>
diff --git a/tests/Grid/discrete1.cc b/tests/Grid/discrete1.cc
index 9f3bdeb..6bd168a 100644
--- a/tests/Grid/discrete1.cc
+++ b/tests/Grid/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_pointed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/disjoint1.cc b/tests/Grid/disjoint1.cc
index b1d61c7..0f28a89 100644
--- a/tests/Grid/disjoint1.cc
+++ b/tests/Grid/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_disjoint_from().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/dropnonintegerpoints1.cc b/tests/Grid/dropnonintegerpoints1.cc
index 3acbc93..826ca60 100644
--- a/tests/Grid/dropnonintegerpoints1.cc
+++ b/tests/Grid/dropnonintegerpoints1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/equals1.cc b/tests/Grid/equals1.cc
index c6b69d8..4abd116 100644
--- a/tests/Grid/equals1.cc
+++ b/tests/Grid/equals1.cc
@@ -1,7 +1,7 @@
 /* Test operator==(const Grid&, const Grid&)
    and operator!=(const Grid&, const Grid&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/expandspacedim1.cc b/tests/Grid/expandspacedim1.cc
index 2295ca7..46f9b98 100644
--- a/tests/Grid/expandspacedim1.cc
+++ b/tests/Grid/expandspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/foldspacedims1.cc b/tests/Grid/foldspacedims1.cc
index 24eb6e0..5a6d2ea 100644
--- a/tests/Grid/foldspacedims1.cc
+++ b/tests/Grid/foldspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/frequency1.cc b/tests/Grid/frequency1.cc
index 61d7297..aba6d3a 100644
--- a/tests/Grid/frequency1.cc
+++ b/tests/Grid/frequency1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::frequency().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/frombdshape1.cc b/tests/Grid/frombdshape1.cc
index 3e07128..a043de3 100644
--- a/tests/Grid/frombdshape1.cc
+++ b/tests/Grid/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/frombox1.cc b/tests/Grid/frombox1.cc
index 386ca67..2817186 100644
--- a/tests/Grid/frombox1.cc
+++ b/tests/Grid/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::Grid(const Box&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/fromgrid1.cc b/tests/Grid/fromgrid1.cc
index 534d1b5..1927e68 100644
--- a/tests/Grid/fromgrid1.cc
+++ b/tests/Grid/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test copy construction and assignment for grids.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/fromoctagonalshape1.cc b/tests/Grid/fromoctagonalshape1.cc
index 27002f6..2a20c20 100644
--- a/tests/Grid/fromoctagonalshape1.cc
+++ b/tests/Grid/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/frompolyhedron1.cc b/tests/Grid/frompolyhedron1.cc
index c535021..e11f3a1 100644
--- a/tests/Grid/frompolyhedron1.cc
+++ b/tests/Grid/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test construction of grids from polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffineimage1.cc b/tests/Grid/generalizedaffineimage1.cc
index d50b984..af48a1b 100644
--- a/tests/Grid/generalizedaffineimage1.cc
+++ b/tests/Grid/generalizedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_image(var, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffineimage2.cc b/tests/Grid/generalizedaffineimage2.cc
index 10f547e..592ddf3 100644
--- a/tests/Grid/generalizedaffineimage2.cc
+++ b/tests/Grid/generalizedaffineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_image(lhs, rhs, modulus).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffineimage3.cc b/tests/Grid/generalizedaffineimage3.cc
index 004c138..d2290d2 100644
--- a/tests/Grid/generalizedaffineimage3.cc
+++ b/tests/Grid/generalizedaffineimage3.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_image(var, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffinepreimage1.cc b/tests/Grid/generalizedaffinepreimage1.cc
index eed501c..eb9b081 100644
--- a/tests/Grid/generalizedaffinepreimage1.cc
+++ b/tests/Grid/generalizedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffinepreimage2.cc b/tests/Grid/generalizedaffinepreimage2.cc
index 2b99e13..0aeab54 100644
--- a/tests/Grid/generalizedaffinepreimage2.cc
+++ b/tests/Grid/generalizedaffinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_preimage(lhs, rhs, modulus).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generalizedaffinepreimage3.cc b/tests/Grid/generalizedaffinepreimage3.cc
index c7faeb3..42e54b5 100644
--- a/tests/Grid/generalizedaffinepreimage3.cc
+++ b/tests/Grid/generalizedaffinepreimage3.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generator1.cc b/tests/Grid/generator1.cc
index 4202592..c558e13 100644
--- a/tests/Grid/generator1.cc
+++ b/tests/Grid/generator1.cc
@@ -1,6 +1,6 @@
 /* Test class Grid_Generator.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/generators1.cc b/tests/Grid/generators1.cc
index 8e5da5c..774729c 100644
--- a/tests/Grid/generators1.cc
+++ b/tests/Grid/generators1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -307,7 +307,7 @@ test13() {
   gs1.insert(grid_point(5*A + 2*B, 3));
   gs1.insert(parameter(11*C, 2));
 
-  gs.recycling_insert(gs1);
+  gs.insert(gs1, Recycle_Input());
 
   Grid gr(gs);
 
@@ -403,7 +403,7 @@ test17() {
   ggs1.insert(grid_point(3*B));
 
   Grid_Generator_System ggs;
-  ggs.recycling_insert(ggs1);
+  ggs.insert(ggs1, Recycle_Input());
   print_generators(ggs, "*** ggs ***");
 
   Grid gr(ggs);
diff --git a/tests/Grid/generators2.cc b/tests/Grid/generators2.cc
index 007dfa6..f388a7b 100644
--- a/tests/Grid/generators2.cc
+++ b/tests/Grid/generators2.cc
@@ -1,6 +1,6 @@
 /* Test class Grid_Generator_System.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -36,7 +36,7 @@ test01() {
 
   Grid_Generator g = grid_point(A + B);
 
-  gs.recycling_insert(g);
+  gs.insert(g, Recycle_Input());
 
   print_generators(gs, "*** gs ***");
 
diff --git a/tests/Grid/grid1.cc b/tests/Grid/grid1.cc
index 6551359..f4d2a77 100644
--- a/tests/Grid/grid1.cc
+++ b/tests/Grid/grid1.cc
@@ -1,6 +1,6 @@
 /* Test reduction and conversion of grids created from generators.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/grid2.cc b/tests/Grid/grid2.cc
index 639828d..55a3eb1 100644
--- a/tests/Grid/grid2.cc
+++ b/tests/Grid/grid2.cc
@@ -1,6 +1,6 @@
 /* Test reduction and conversion of grids created from congruences.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/grid3.cc b/tests/Grid/grid3.cc
index b763850..2875977 100644
--- a/tests/Grid/grid3.cc
+++ b/tests/Grid/grid3.cc
@@ -1,6 +1,6 @@
 /* Test construction of grids from constraints.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/griddifference1.cc b/tests/Grid/griddifference1.cc
index fb15fd9..4ec29ee 100644
--- a/tests/Grid/griddifference1.cc
+++ b/tests/Grid/griddifference1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::difference_assign() (a.k.a. Grid::difference_assign()).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/intersection1.cc b/tests/Grid/intersection1.cc
index d994536..a3fbd94 100644
--- a/tests/Grid/intersection1.cc
+++ b/tests/Grid/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/isempty1.cc b/tests/Grid/isempty1.cc
index a3cd0ea..dbc2509 100644
--- a/tests/Grid/isempty1.cc
+++ b/tests/Grid/isempty1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_empty().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/isuniverse1.cc b/tests/Grid/isuniverse1.cc
index db6d81a..ea4068f 100644
--- a/tests/Grid/isuniverse1.cc
+++ b/tests/Grid/isuniverse1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/limitedextrapolation1.cc b/tests/Grid/limitedextrapolation1.cc
index 193bfbb..7554e9e 100644
--- a/tests/Grid/limitedextrapolation1.cc
+++ b/tests/Grid/limitedextrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::limited_congruence_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/limitedextrapolation2.cc b/tests/Grid/limitedextrapolation2.cc
index 0e8f3ad..2a2a07f 100644
--- a/tests/Grid/limitedextrapolation2.cc
+++ b/tests/Grid/limitedextrapolation2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::limited_generator_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/limitedextrapolation3.cc b/tests/Grid/limitedextrapolation3.cc
index d596fd9..ae7ede1 100644
--- a/tests/Grid/limitedextrapolation3.cc
+++ b/tests/Grid/limitedextrapolation3.cc
@@ -1,6 +1,6 @@
 /* Test Grid::limited_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/mapspacedims1.cc b/tests/Grid/mapspacedims1.cc
index fc8ebe4..4412c3e 100644
--- a/tests/Grid/mapspacedims1.cc
+++ b/tests/Grid/mapspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/maxmin1.cc b/tests/Grid/maxmin1.cc
index 0706141..0974b7e 100644
--- a/tests/Grid/maxmin1.cc
+++ b/tests/Grid/maxmin1.cc
@@ -1,7 +1,7 @@
 /* Test Grid::maximize(const Linear_Expression&, ...)
    and Grid::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <string>
diff --git a/tests/Grid/membytes1.cc b/tests/Grid/membytes1.cc
index 10e320c..d073ff6 100644
--- a/tests/Grid/membytes1.cc
+++ b/tests/Grid/membytes1.cc
@@ -1,7 +1,7 @@
 /* Test Grid::total_memory_in_bytes() and
    Grid::external_memory_in_bytes().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/mincongruences1.cc b/tests/Grid/mincongruences1.cc
index d5d6da1..4a57984 100644
--- a/tests/Grid/mincongruences1.cc
+++ b/tests/Grid/mincongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::minimized_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/mingenerators1.cc b/tests/Grid/mingenerators1.cc
index 9dcd170..543432f 100644
--- a/tests/Grid/mingenerators1.cc
+++ b/tests/Grid/mingenerators1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::minimized_grid_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/outputoperator1.cc b/tests/Grid/outputoperator1.cc
index 191aecf..6ac29de 100644
--- a/tests/Grid/outputoperator1.cc
+++ b/tests/Grid/outputoperator1.cc
@@ -1,6 +1,6 @@
 /* Test IO_Operators::operator<<(s, gr).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <sstream>
diff --git a/tests/Grid/outputoperator2.cc b/tests/Grid/outputoperator2.cc
index 9d2851d..6ee2af0 100644
--- a/tests/Grid/outputoperator2.cc
+++ b/tests/Grid/outputoperator2.cc
@@ -1,6 +1,6 @@
 /* Test Grid_Generator IO operators.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <sstream>
diff --git a/tests/Grid/outputoperator3.cc b/tests/Grid/outputoperator3.cc
index d1ad9ba..4741099 100644
--- a/tests/Grid/outputoperator3.cc
+++ b/tests/Grid/outputoperator3.cc
@@ -1,6 +1,6 @@
 /* Test Grid_Generator_System IO operators.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <sstream>
diff --git a/tests/Grid/partition1.cc b/tests/Grid/partition1.cc
index d12d750..2f298ba 100644
--- a/tests/Grid/partition1.cc
+++ b/tests/Grid/partition1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Grid>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/powersetdifference1.cc b/tests/Grid/powersetdifference1.cc
index 88a9e2f..8efdb6a 100644
--- a/tests/Grid/powersetdifference1.cc
+++ b/tests/Grid/powersetdifference1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Grid>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/powersetgeometricallycovers1.cc b/tests/Grid/powersetgeometricallycovers1.cc
index f6f4595..11b1cff 100644
--- a/tests/Grid/powersetgeometricallycovers1.cc
+++ b/tests/Grid/powersetgeometricallycovers1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Grid>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/powersetgeometricallyequals1.cc b/tests/Grid/powersetgeometricallyequals1.cc
index beed755..f6c965f 100644
--- a/tests/Grid/powersetgeometricallyequals1.cc
+++ b/tests/Grid/powersetgeometricallyequals1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<Grid>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/refinewithcongruences1.cc b/tests/Grid/refinewithcongruences1.cc
index fcbf443..04cfabc 100644
--- a/tests/Grid/refinewithcongruences1.cc
+++ b/tests/Grid/refinewithcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test refine_with_congruence() and refine_with_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/refinewithconstraints1.cc b/tests/Grid/refinewithconstraints1.cc
index fe8e9b9..dd25f4d 100644
--- a/tests/Grid/refinewithconstraints1.cc
+++ b/tests/Grid/refinewithconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test refine_with_constraint() and refine_with_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/relations1.cc b/tests/Grid/relations1.cc
index d611bba..42880f4 100644
--- a/tests/Grid/relations1.cc
+++ b/tests/Grid/relations1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::relation_with(g).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/relations2.cc b/tests/Grid/relations2.cc
index 627ae98..ccd648b 100644
--- a/tests/Grid/relations2.cc
+++ b/tests/Grid/relations2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::relation_with(cg).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/relations3.cc b/tests/Grid/relations3.cc
index 28dcdb2..08a56b9 100644
--- a/tests/Grid/relations3.cc
+++ b/tests/Grid/relations3.cc
@@ -1,6 +1,6 @@
 /* Test Grid::relation_with(const Constraint&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -438,6 +438,29 @@ test19() {
   return ok;
 }
 
+// A variant of test06.
+bool
+test20() {
+  Variable A(0);
+  Variable B(1);
+
+  Grid gr(2, EMPTY);
+  gr.add_grid_generator(grid_point());
+  gr.add_grid_generator(grid_point(2*A + 5*B));
+  // Force minimization.
+  (void) gr.minimized_grid_generators();
+  print_generators(gr, "*** gr ***");
+
+  bool ok = (gr.relation_with(5*A - 2*B == 1)
+	     == Poly_Con_Relation::is_disjoint()
+	     && gr.relation_with(5*A - 2*B > 1)
+	     == Poly_Con_Relation::is_disjoint()
+	     && gr.relation_with(5*A - 2*B >= 1)
+	     == Poly_Con_Relation::is_disjoint());
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -460,4 +483,5 @@ BEGIN_MAIN
   DO_TEST(test17);
   DO_TEST(test18);
   DO_TEST(test19);
+  DO_TEST(test20);
 END_MAIN
diff --git a/tests/Grid/removespacedims1.cc b/tests/Grid/removespacedims1.cc
index acb44c2..202851c 100644
--- a/tests/Grid/removespacedims1.cc
+++ b/tests/Grid/removespacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::remove_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/removespacedims2.cc b/tests/Grid/removespacedims2.cc
index 694270c..aa0ba4c 100644
--- a/tests/Grid/removespacedims2.cc
+++ b/tests/Grid/removespacedims2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::remove_higher_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/simplifyusingcontext1.cc b/tests/Grid/simplifyusingcontext1.cc
index ae92648..4b1742a 100644
--- a/tests/Grid/simplifyusingcontext1.cc
+++ b/tests/Grid/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/timeelapse1.cc b/tests/Grid/timeelapse1.cc
index da448ee..564a5a4 100644
--- a/tests/Grid/timeelapse1.cc
+++ b/tests/Grid/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::time_elapse_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/topclosed1.cc b/tests/Grid/topclosed1.cc
index 0455d77..1ee052c 100644
--- a/tests/Grid/topclosed1.cc
+++ b/tests/Grid/topclosed1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::is_topologically_closed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/topclosure1.cc b/tests/Grid/topclosure1.cc
index 8c925f3..1a05bcf 100644
--- a/tests/Grid/topclosure1.cc
+++ b/tests/Grid/topclosure1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::topological_closure_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/unconstrain1.cc b/tests/Grid/unconstrain1.cc
index 0c024e0..fcc1cdf 100644
--- a/tests/Grid/unconstrain1.cc
+++ b/tests/Grid/unconstrain1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::unconstrain().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/upperbound1.cc b/tests/Grid/upperbound1.cc
index fc9b0d5..94078fa 100644
--- a/tests/Grid/upperbound1.cc
+++ b/tests/Grid/upperbound1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::upper_bound_assign()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/upperbound2.cc b/tests/Grid/upperbound2.cc
index 1e35fb4..b84e414 100644
--- a/tests/Grid/upperbound2.cc
+++ b/tests/Grid/upperbound2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/widening1.cc b/tests/Grid/widening1.cc
index ce1e3d9..6da3845 100644
--- a/tests/Grid/widening1.cc
+++ b/tests/Grid/widening1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::congruence_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/widening2.cc b/tests/Grid/widening2.cc
index cf3aecc..fd954d7 100644
--- a/tests/Grid/widening2.cc
+++ b/tests/Grid/widening2.cc
@@ -1,6 +1,6 @@
 /* Test Grid::generator_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/widening3.cc b/tests/Grid/widening3.cc
index 09defe9..ccd249f 100644
--- a/tests/Grid/widening3.cc
+++ b/tests/Grid/widening3.cc
@@ -1,6 +1,6 @@
 /* Test Grid::widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Grid/wrap1.cc b/tests/Grid/wrap1.cc
index b04839c..c826567 100644
--- a/tests/Grid/wrap1.cc
+++ b/tests/Grid/wrap1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -554,7 +554,7 @@ BEGIN_MAIN
   DO_TEST_F8(test11);
   DO_TEST_F8(test12);
   DO_TEST_F8(test13);
-  DO_TEST_F8(test14);
+  DO_TEST_F16(test14);
   DO_TEST_F8(test15);
   DO_TEST_F8(test16);
   DO_TEST_F8(test17);
diff --git a/tests/Grid/writecongruencesystem.cc b/tests/Grid/writecongruencesystem.cc
index 036fd41..6f8563d 100644
--- a/tests/Grid/writecongruencesystem.cc
+++ b/tests/Grid/writecongruencesystem.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream&, const Congruence_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <sstream>
diff --git a/tests/MIP_Problem/Makefile.am b/tests/MIP_Problem/Makefile.am
index 4c2b82e..434e050 100644
--- a/tests/MIP_Problem/Makefile.am
+++ b/tests/MIP_Problem/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -54,7 +55,9 @@ TESTS = \
 ascii_dump_load1 \
 exceptions1 \
 mipproblem1 \
-mipproblem3
+mipproblem2 \
+mipproblem3 \
+mipproblem4
 
 XFAIL_TESTS =
 
@@ -70,28 +73,17 @@ exceptions1_SOURCES = exceptions1.cc
 
 mipproblem1_SOURCES = mipproblem1.cc
 
-mipproblem2_SRCS = mipproblem2.cc
+mipproblem2_SOURCES = mipproblem2.cc
 
 mipproblem3_SOURCES = mipproblem3.cc
 
-if BUILD_WATCHDOG_LIBRARY
-WATCHDOG_TESTS = mipproblem2
-
-mipproblem2_SOURCES = $(mipproblem2_SRCS)
-mipproblem2_CPPFLAGS = \
-$(AM_CPPFLAGS) \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src
-mipproblem2_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
-
-endif BUILD_WATCHDOG_LIBRARY
+mipproblem4_SOURCES = mipproblem4.cc
 
 check_PROGRAMS = \
 $(TESTS) \
-$(WATCHDOG_TESTS) \
 $(BUGS)
 
-EXTRA_DIST = $(mipproblem2_SRCS)
+EXTRA_DIST =
 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
@@ -104,6 +96,3 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
-
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
diff --git a/tests/MIP_Problem/Makefile.in b/tests/MIP_Problem/Makefile.in
index 508c465..9ed7ced 100644
--- a/tests/MIP_Problem/Makefile.in
+++ b/tests/MIP_Problem/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -57,9 +57,10 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 TESTS = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	mipproblem1$(EXEEXT) mipproblem3$(EXEEXT)
+	mipproblem1$(EXEEXT) mipproblem2$(EXEEXT) mipproblem3$(EXEEXT) \
+	mipproblem4$(EXEEXT)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 subdir = tests/MIP_Problem
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -72,27 +73,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -100,17 +96,17 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	mipproblem1$(EXEEXT) mipproblem3$(EXEEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_2 = mipproblem2$(EXEEXT)
-am__EXEEXT_3 =
+	mipproblem1$(EXEEXT) mipproblem2$(EXEEXT) mipproblem3$(EXEEXT) \
+	mipproblem4$(EXEEXT)
+am__EXEEXT_2 =
 am_ascii_dump_load1_OBJECTS = ascii_dump_load1.$(OBJEXT)
 ascii_dump_load1_OBJECTS = $(am_ascii_dump_load1_OBJECTS)
 ascii_dump_load1_LDADD = $(LDADD)
 ascii_dump_load1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_exceptions1_OBJECTS = exceptions1.$(OBJEXT)
 exceptions1_OBJECTS = $(am_exceptions1_OBJECTS)
@@ -124,23 +120,24 @@ mipproblem1_LDADD = $(LDADD)
 mipproblem1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am__mipproblem2_SOURCES_DIST = mipproblem2.cc
-am__objects_1 = mipproblem2-mipproblem2.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_mipproblem2_OBJECTS =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_1)
+am_mipproblem2_OBJECTS = mipproblem2.$(OBJEXT)
 mipproblem2_OBJECTS = $(am_mipproblem2_OBJECTS)
-am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
+mipproblem2_LDADD = $(LDADD)
+mipproblem2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@mipproblem2_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
 am_mipproblem3_OBJECTS = mipproblem3.$(OBJEXT)
 mipproblem3_OBJECTS = $(am_mipproblem3_OBJECTS)
 mipproblem3_LDADD = $(LDADD)
 mipproblem3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_mipproblem4_OBJECTS = mipproblem4.$(OBJEXT)
+mipproblem4_OBJECTS = $(am_mipproblem4_OBJECTS)
+mipproblem4_LDADD = $(LDADD)
+mipproblem4_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -151,28 +148,28 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
 	$(mipproblem1_SOURCES) $(mipproblem2_SOURCES) \
-	$(mipproblem3_SOURCES)
+	$(mipproblem3_SOURCES) $(mipproblem4_SOURCES)
 DIST_SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
-	$(mipproblem1_SOURCES) $(am__mipproblem2_SOURCES_DIST) \
-	$(mipproblem3_SOURCES)
+	$(mipproblem1_SOURCES) $(mipproblem2_SOURCES) \
+	$(mipproblem3_SOURCES) $(mipproblem4_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -201,6 +198,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -225,21 +223,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -295,6 +288,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -363,7 +357,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -376,6 +369,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -403,17 +397,10 @@ BUGS =
 ascii_dump_load1_SOURCES = ascii_dump_load1.cc
 exceptions1_SOURCES = exceptions1.cc
 mipproblem1_SOURCES = mipproblem1.cc
-mipproblem2_SRCS = mipproblem2.cc
+mipproblem2_SOURCES = mipproblem2.cc
 mipproblem3_SOURCES = mipproblem3.cc
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = mipproblem2
- at BUILD_WATCHDOG_LIBRARY_TRUE@mipproblem2_SOURCES = $(mipproblem2_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@mipproblem2_CPPFLAGS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog/src
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@mipproblem2_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
-EXTRA_DIST = $(mipproblem2_SRCS)
+mipproblem4_SOURCES = mipproblem4.cc
+EXTRA_DIST = 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
 
@@ -460,21 +447,24 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
+exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) $(EXTRA_exceptions1_DEPENDENCIES) 
 	@rm -f exceptions1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
-mipproblem1$(EXEEXT): $(mipproblem1_OBJECTS) $(mipproblem1_DEPENDENCIES) 
+mipproblem1$(EXEEXT): $(mipproblem1_OBJECTS) $(mipproblem1_DEPENDENCIES) $(EXTRA_mipproblem1_DEPENDENCIES) 
 	@rm -f mipproblem1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem1_OBJECTS) $(mipproblem1_LDADD) $(LIBS)
-mipproblem2$(EXEEXT): $(mipproblem2_OBJECTS) $(mipproblem2_DEPENDENCIES) 
+mipproblem2$(EXEEXT): $(mipproblem2_OBJECTS) $(mipproblem2_DEPENDENCIES) $(EXTRA_mipproblem2_DEPENDENCIES) 
 	@rm -f mipproblem2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem2_OBJECTS) $(mipproblem2_LDADD) $(LIBS)
-mipproblem3$(EXEEXT): $(mipproblem3_OBJECTS) $(mipproblem3_DEPENDENCIES) 
+mipproblem3$(EXEEXT): $(mipproblem3_OBJECTS) $(mipproblem3_DEPENDENCIES) $(EXTRA_mipproblem3_DEPENDENCIES) 
 	@rm -f mipproblem3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem3_OBJECTS) $(mipproblem3_LDADD) $(LIBS)
+mipproblem4$(EXEEXT): $(mipproblem4_OBJECTS) $(mipproblem4_DEPENDENCIES) $(EXTRA_mipproblem4_DEPENDENCIES) 
+	@rm -f mipproblem4$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(mipproblem4_OBJECTS) $(mipproblem4_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -485,48 +475,30 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ascii_dump_load1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/exceptions1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem2-mipproblem2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mipproblem4.Po at am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
-
-mipproblem2-mipproblem2.o: mipproblem2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.o -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.o `test -f 'mipproblem2.cc' || echo '$(srcdir)/'`mipproblem2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mipproblem2.cc' object='mipproblem2-mipproblem2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mipproblem2-mipproblem2.o `test -f 'mipproblem2.cc' || echo '$(srcdir)/'`mipproblem2.cc
-
-mipproblem2-mipproblem2.obj: mipproblem2.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT mipproblem2-mipproblem2.obj -MD -MP -MF $(DEPDIR)/mipproblem2-mipproblem2.Tpo -c -o mipproblem2-mipproblem2.obj `if test -f 'mipproblem2.cc'; then $(CYGPATH_W) 'mipproblem2.cc'; else $(CYGPATH_W) '$(srcdir)/mipproblem2.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/mipproblem2-mipproblem2.Tpo $(DEPDIR)/mipproblem2-mipproblem2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mipproblem2.cc' object='mipproblem2-mipproblem2.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(mipproblem2_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o mipproblem2-mipproblem2.obj `if test -f 'mipproblem2.cc'; then $(CYGPATH_W) 'mipproblem2.cc'; else $(CYGPATH_W) '$(srcdir)/mipproblem2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -667,14 +639,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -724,10 +697,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -837,9 +815,6 @@ $(top_builddir)/tests/libppl_tests.a:
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
 
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/MIP_Problem/ascii_dump_load1.cc b/tests/MIP_Problem/ascii_dump_load1.cc
index 871de06..8eb1777 100644
--- a/tests/MIP_Problem/ascii_dump_load1.cc
+++ b/tests/MIP_Problem/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test MIP_Problem::ascii_dump() and MIP_Problem::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/MIP_Problem/exceptions1.cc b/tests/MIP_Problem/exceptions1.cc
index 3cb558f..2ea9c94 100644
--- a/tests/MIP_Problem/exceptions1.cc
+++ b/tests/MIP_Problem/exceptions1.cc
@@ -1,6 +1,6 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/MIP_Problem/mipproblem1.cc b/tests/MIP_Problem/mipproblem1.cc
index 4592717..46eb895 100644
--- a/tests/MIP_Problem/mipproblem1.cc
+++ b/tests/MIP_Problem/mipproblem1.cc
@@ -1,6 +1,6 @@
 /* Test the MIP_Problem class.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -1367,7 +1367,7 @@ test06() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable A to be constrained to have an integer value.
+  // Set variable A to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(A));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1379,7 +1379,7 @@ test06() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable B to be constrained to have an integer value.
+  // Set variable B to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(B));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1426,7 +1426,7 @@ test07() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable A to be constrained to have an integer value.
+  // Set variable A to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(A));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1442,7 +1442,7 @@ test07() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable B to be constrained to have an integer value.
+  // Set variable B to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(B));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1506,7 +1506,7 @@ test08() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable A to be constrained to have an integer value.
+  // Set variable A to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(A));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1523,7 +1523,7 @@ test08() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable B to be constrained to have an integer value.
+  // Set variable B to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(B));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1539,7 +1539,7 @@ test08() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable C to be constrained to have an integer value.
+  // Set variable C to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(C));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1555,7 +1555,7 @@ test08() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable D to be constrained to have an integer value.
+  // Set variable D to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(D));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1606,7 +1606,7 @@ test09() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable A to be constrained to have an integer value.
+  // Set variable A to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(A));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1619,7 +1619,7 @@ test09() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable B to be constrained to have an integer value.
+  // Set variable B to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(B));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
@@ -1632,7 +1632,7 @@ test09() {
   if (pg != pg_kr)
     return false;
 
-  // Set Variable C to be constrained to have an integer value.
+  // Set variable C to be constrained to have an integer value.
   mip.add_to_integer_space_dimensions(Variables_Set(C));
   pg = mip.optimizing_point();
   mip.evaluate_objective_function(pg, num, den);
diff --git a/tests/MIP_Problem/mipproblem2.cc b/tests/MIP_Problem/mipproblem2.cc
index 81859af..60a07b0 100644
--- a/tests/MIP_Problem/mipproblem2.cc
+++ b/tests/MIP_Problem/mipproblem2.cc
@@ -1,6 +1,6 @@
 /* Test the MIP_Problem class with instances that require a watchdog timer.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
-#include "pwl.hh"
 #include <limits>
 
 namespace {
@@ -125,7 +124,7 @@ bool test01() {
 
   try {
     // Set a 2 seconds timeout.
-    Parma_Watchdog_Library::Watchdog
+    Parma_Polyhedra_Library::Watchdog
       w(200, abandon_expensive_computations, t);
 
     pg = mip.optimizing_point();
@@ -140,6 +139,14 @@ bool test01() {
     nout << "timeout, as expected" << endl;
     return true;
   }
+#if !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  // If Watchdog objects are not supported, an std::logic_error exception
+  // will be thrown: this is normal.
+  catch (const std::logic_error& e) {
+    nout << "std::logic_error exception caught: \n" << e.what() << std::endl;
+    exit(0);
+  }
+#endif // !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
   catch (const std::overflow_error& e) {
     abandon_expensive_computations = 0;
     if (std::numeric_limits<Coefficient>::is_integer
diff --git a/tests/MIP_Problem/mipproblem3.cc b/tests/MIP_Problem/mipproblem3.cc
index 1a17184..f44b7ed 100644
--- a/tests/MIP_Problem/mipproblem3.cc
+++ b/tests/MIP_Problem/mipproblem3.cc
@@ -1,6 +1,6 @@
 /* Test the MIP_Problem class.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/MIP_Problem/mipproblem4.cc b/tests/MIP_Problem/mipproblem4.cc
new file mode 100644
index 0000000..9514128
--- /dev/null
+++ b/tests/MIP_Problem/mipproblem4.cc
@@ -0,0 +1,41 @@
+/* Test the MIP_Problem class.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+bool
+test01() {
+  MIP_Problem mip(0);
+  mip.is_satisfiable();
+  mip.set_optimization_mode(MINIMIZATION);
+  mip.solve();
+  return true;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 985d3f0..77b8864 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,10 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 SUBDIRS = \
 . \
+Concrete_Expression \
+CO_Tree \
 PIP_Problem \
 Powerset \
 Partially_Reduced_Product \
@@ -31,8 +33,8 @@ MIP_Problem \
 Octagonal_Shape \
 BD_Shape \
 Polyhedron \
-Grid
-#Ask_Tell
+Grid \
+Watchdog
 
 AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src @extra_includes@
 
diff --git a/tests/Makefile.in b/tests/Makefile.in
index d13d5e9..e051b7a 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -70,27 +70,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -98,11 +93,11 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 libppl_tests_a_AR = $(AR) $(ARFLAGS)
 libppl_tests_a_LIBADD =
@@ -114,22 +109,22 @@ am__depfiles_maybe = depfiles
 am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -137,18 +132,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_tests_a_SOURCES)
 DIST_SOURCES = $(libppl_tests_a_SOURCES)
@@ -217,6 +212,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -241,21 +237,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -311,6 +302,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -379,7 +371,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -392,6 +383,8 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 SUBDIRS = \
 . \
+Concrete_Expression \
+CO_Tree \
 PIP_Problem \
 Powerset \
 Partially_Reduced_Product \
@@ -400,9 +393,9 @@ MIP_Problem \
 Octagonal_Shape \
 BD_Shape \
 Polyhedron \
-Grid
+Grid \
+Watchdog
 
-#Ask_Tell
 AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src @extra_includes@
 check_LIBRARIES = libppl_tests.a
 libppl_tests_a_SOURCES = \
@@ -459,7 +452,7 @@ $(am__aclocal_m4_deps):
 
 clean-checkLIBRARIES:
 	-test -z "$(check_LIBRARIES)" || rm -f $(check_LIBRARIES)
-libppl_tests.a: $(libppl_tests_a_OBJECTS) $(libppl_tests_a_DEPENDENCIES) 
+libppl_tests.a: $(libppl_tests_a_OBJECTS) $(libppl_tests_a_DEPENDENCIES) $(EXTRA_libppl_tests_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libppl_tests.a
 	$(AM_V_AR)$(libppl_tests_a_AR) libppl_tests.a $(libppl_tests_a_OBJECTS) $(libppl_tests_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libppl_tests.a
@@ -476,26 +469,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -712,10 +702,15 @@ install-am: all-am
 
 installcheck: installcheck-recursive
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/Octagonal_Shape/Makefile.am b/tests/Octagonal_Shape/Makefile.am
index f1b4b06..b9648a3 100644
--- a/tests/Octagonal_Shape/Makefile.am
+++ b/tests/Octagonal_Shape/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
diff --git a/tests/Octagonal_Shape/Makefile.in b/tests/Octagonal_Shape/Makefile.in
index 4a53207..e751430 100644
--- a/tests/Octagonal_Shape/Makefile.in
+++ b/tests/Octagonal_Shape/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -107,27 +107,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -140,8 +135,8 @@ addspacedims1_LDADD = $(LDADD)
 addspacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_affinedimension1_OBJECTS = affinedimension1.$(OBJEXT)
 affinedimension1_OBJECTS = $(am_affinedimension1_OBJECTS)
@@ -607,21 +602,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(affineimage1_SOURCES) $(affineimage2_SOURCES) \
@@ -731,6 +726,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -755,21 +751,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -825,6 +816,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -893,7 +885,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -906,6 +897,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -1072,211 +1064,211 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
+addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) $(EXTRA_addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
-affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
+affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) $(EXTRA_affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
+affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) $(EXTRA_affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) 
+affinepreimage2$(EXEEXT): $(affinepreimage2_OBJECTS) $(affinepreimage2_DEPENDENCIES) $(EXTRA_affinepreimage2_DEPENDENCIES) 
 	@rm -f affinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage2_OBJECTS) $(affinepreimage2_LDADD) $(LIBS)
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) 
+bhmz05widening1$(EXEEXT): $(bhmz05widening1_OBJECTS) $(bhmz05widening1_DEPENDENCIES) $(EXTRA_bhmz05widening1_DEPENDENCIES) 
 	@rm -f bhmz05widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhmz05widening1_OBJECTS) $(bhmz05widening1_LDADD) $(LIBS)
-bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
+bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) $(EXTRA_bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
+boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) 
+cc76extrapolation1$(EXEEXT): $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_DEPENDENCIES) $(EXTRA_cc76extrapolation1_DEPENDENCIES) 
 	@rm -f cc76extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76extrapolation1_OBJECTS) $(cc76extrapolation1_LDADD) $(LIBS)
-cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) 
+cc76narrowing1$(EXEEXT): $(cc76narrowing1_OBJECTS) $(cc76narrowing1_DEPENDENCIES) $(EXTRA_cc76narrowing1_DEPENDENCIES) 
 	@rm -f cc76narrowing1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cc76narrowing1_OBJECTS) $(cc76narrowing1_LDADD) $(LIBS)
-chinainit$(EXEEXT): $(chinainit_OBJECTS) $(chinainit_DEPENDENCIES) 
+chinainit$(EXEEXT): $(chinainit_OBJECTS) $(chinainit_DEPENDENCIES) $(EXTRA_chinainit_DEPENDENCIES) 
 	@rm -f chinainit$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(chinainit_OBJECTS) $(chinainit_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
+constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) $(EXTRA_constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) $(EXTRA_difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) $(EXTRA_dropsomenonintegerpoints1_DEPENDENCIES) 
 	@rm -f dropsomenonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
-empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) $(EXTRA_empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
-expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
+expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) $(EXTRA_expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
-foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
+foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) $(EXTRA_foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
-frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) $(EXTRA_frequency1_DEPENDENCIES) 
 	@rm -f frequency1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) 
+fromgensys1$(EXEEXT): $(fromgensys1_OBJECTS) $(fromgensys1_DEPENDENCIES) $(EXTRA_fromgensys1_DEPENDENCIES) 
 	@rm -f fromgensys1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgensys1_OBJECTS) $(fromgensys1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) 
+fromspacedim1$(EXEEXT): $(fromspacedim1_OBJECTS) $(fromspacedim1_DEPENDENCIES) $(EXTRA_fromspacedim1_DEPENDENCIES) 
 	@rm -f fromspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedim1_OBJECTS) $(fromspacedim1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
+generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) $(EXTRA_generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
-generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) 
+generalizedaffineimage3$(EXEEXT): $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_DEPENDENCIES) $(EXTRA_generalizedaffineimage3_DEPENDENCIES) 
 	@rm -f generalizedaffineimage3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage3_OBJECTS) $(generalizedaffineimage3_LDADD) $(LIBS)
-generalizedaffineimage4$(EXEEXT): $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_DEPENDENCIES) 
+generalizedaffineimage4$(EXEEXT): $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_DEPENDENCIES) $(EXTRA_generalizedaffineimage4_DEPENDENCIES) 
 	@rm -f generalizedaffineimage4$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage4_OBJECTS) $(generalizedaffineimage4_LDADD) $(LIBS)
-generalizedaffineimage5$(EXEEXT): $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_DEPENDENCIES) 
+generalizedaffineimage5$(EXEEXT): $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_DEPENDENCIES) $(EXTRA_generalizedaffineimage5_DEPENDENCIES) 
 	@rm -f generalizedaffineimage5$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage5_OBJECTS) $(generalizedaffineimage5_LDADD) $(LIBS)
-generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
+generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
-generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
+generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
-generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) 
+generalizedaffinepreimage3$(EXEEXT): $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage3_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage3_OBJECTS) $(generalizedaffinepreimage3_LDADD) $(LIBS)
-generalizedaffinepreimage4$(EXEEXT): $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_DEPENDENCIES) 
+generalizedaffinepreimage4$(EXEEXT): $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage4_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage4$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage4_OBJECTS) $(generalizedaffinepreimage4_LDADD) $(LIBS)
-integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) 
+integerupperboundifexact1$(EXEEXT): $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_DEPENDENCIES) $(EXTRA_integerupperboundifexact1_DEPENDENCIES) 
 	@rm -f integerupperboundifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(integerupperboundifexact1_OBJECTS) $(integerupperboundifexact1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) 
+limitedbhmz05extrapolation1$(EXEEXT): $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_DEPENDENCIES) $(EXTRA_limitedbhmz05extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhmz05extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhmz05extrapolation1_OBJECTS) $(limitedbhmz05extrapolation1_LDADD) $(LIBS)
-limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
+limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) $(EXTRA_limitedcc76extrapolation1_DEPENDENCIES) 
 	@rm -f limitedcc76extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
-mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
+mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) $(EXTRA_mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
-max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
+max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) $(EXTRA_max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
-max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) 
+max_min2$(EXEEXT): $(max_min2_OBJECTS) $(max_min2_DEPENDENCIES) $(EXTRA_max_min2_DEPENDENCIES) 
 	@rm -f max_min2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min2_OBJECTS) $(max_min2_LDADD) $(LIBS)
-maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
+maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) $(EXTRA_maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
+minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) $(EXTRA_minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-relatwithcons1$(EXEEXT): $(relatwithcons1_OBJECTS) $(relatwithcons1_DEPENDENCIES) 
+relatwithcons1$(EXEEXT): $(relatwithcons1_OBJECTS) $(relatwithcons1_DEPENDENCIES) $(EXTRA_relatwithcons1_DEPENDENCIES) 
 	@rm -f relatwithcons1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons1_OBJECTS) $(relatwithcons1_LDADD) $(LIBS)
-relatwithcons2$(EXEEXT): $(relatwithcons2_OBJECTS) $(relatwithcons2_DEPENDENCIES) 
+relatwithcons2$(EXEEXT): $(relatwithcons2_OBJECTS) $(relatwithcons2_DEPENDENCIES) $(EXTRA_relatwithcons2_DEPENDENCIES) 
 	@rm -f relatwithcons2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons2_OBJECTS) $(relatwithcons2_LDADD) $(LIBS)
-relatwithcons3$(EXEEXT): $(relatwithcons3_OBJECTS) $(relatwithcons3_DEPENDENCIES) 
+relatwithcons3$(EXEEXT): $(relatwithcons3_OBJECTS) $(relatwithcons3_DEPENDENCIES) $(EXTRA_relatwithcons3_DEPENDENCIES) 
 	@rm -f relatwithcons3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relatwithcons3_OBJECTS) $(relatwithcons3_LDADD) $(LIBS)
-relatwithgen1$(EXEEXT): $(relatwithgen1_OBJECTS) $(relatwithgen1_DEPENDENCIES) 
+relatwithgen1$(EXEEXT): $(relatwithgen1_OBJECTS) $(relatwithgen1_DEPENDENCIES) $(EXTRA_relatwithgen1_DEPENDENCIES) 
 	@rm -f relatwithgen1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relatwithgen1_OBJECTS) $(relatwithgen1_LDADD) $(LIBS)
-removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
+removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) $(EXTRA_removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
+unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) $(EXTRA_unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
-universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) $(EXTRA_universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
-upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) $(EXTRA_upperboundifexact1_DEPENDENCIES) 
 	@rm -f upperboundifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
-wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) $(EXTRA_wrap1_DEPENDENCIES) 
 	@rm -f wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
-writeoctagon1$(EXEEXT): $(writeoctagon1_OBJECTS) $(writeoctagon1_DEPENDENCIES) 
+writeoctagon1$(EXEEXT): $(writeoctagon1_OBJECTS) $(writeoctagon1_DEPENDENCIES) $(EXTRA_writeoctagon1_DEPENDENCIES) 
 	@rm -f writeoctagon1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writeoctagon1_OBJECTS) $(writeoctagon1_LDADD) $(LIBS)
 
@@ -1359,26 +1351,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1519,14 +1508,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1577,10 +1567,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/tests/Octagonal_Shape/addspacedims1.cc b/tests/Octagonal_Shape/addspacedims1.cc
index a91e03e..917d3cd 100644
--- a/tests/Octagonal_Shape/addspacedims1.cc
+++ b/tests/Octagonal_Shape/addspacedims1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::add_space_dimensions_and_embed() and
    Octagonal_Shape::add_space_dimensions_and_project().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/affinedimension1.cc b/tests/Octagonal_Shape/affinedimension1.cc
index 39cb352..c092107 100644
--- a/tests/Octagonal_Shape/affinedimension1.cc
+++ b/tests/Octagonal_Shape/affinedimension1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/affineimage1.cc b/tests/Octagonal_Shape/affineimage1.cc
index 49d0464..a0a7940 100644
--- a/tests/Octagonal_Shape/affineimage1.cc
+++ b/tests/Octagonal_Shape/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/affineimage2.cc b/tests/Octagonal_Shape/affineimage2.cc
index f7968ba..b367e06 100644
--- a/tests/Octagonal_Shape/affineimage2.cc
+++ b/tests/Octagonal_Shape/affineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/affinepreimage1.cc b/tests/Octagonal_Shape/affinepreimage1.cc
index 9b25256..5c3b28f 100644
--- a/tests/Octagonal_Shape/affinepreimage1.cc
+++ b/tests/Octagonal_Shape/affinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/affinepreimage2.cc b/tests/Octagonal_Shape/affinepreimage2.cc
index b816842..545799c 100644
--- a/tests/Octagonal_Shape/affinepreimage2.cc
+++ b/tests/Octagonal_Shape/affinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/ascii_dump_load1.cc b/tests/Octagonal_Shape/ascii_dump_load1.cc
index 7498d5b..77341df 100644
--- a/tests/Octagonal_Shape/ascii_dump_load1.cc
+++ b/tests/Octagonal_Shape/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::ascii_dump() and Octagonal_Shape::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/bhmz05widening1.cc b/tests/Octagonal_Shape/bhmz05widening1.cc
index 3733a8c..b360aad 100644
--- a/tests/Octagonal_Shape/bhmz05widening1.cc
+++ b/tests/Octagonal_Shape/bhmz05widening1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::BHMZ05_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/bhz03widening1.cc b/tests/Octagonal_Shape/bhz03widening1.cc
index faf7262..dc801fb 100644
--- a/tests/Octagonal_Shape/bhz03widening1.cc
+++ b/tests/Octagonal_Shape/bhz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/bounded1.cc b/tests/Octagonal_Shape/bounded1.cc
index 623d7f9..76f336e 100644
--- a/tests/Octagonal_Shape/bounded1.cc
+++ b/tests/Octagonal_Shape/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -128,4 +128,6 @@ BEGIN_MAIN
   DO_TEST(test03);
   DO_TEST(test04);
   DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
 END_MAIN
diff --git a/tests/Octagonal_Shape/boundedaffineimage1.cc b/tests/Octagonal_Shape/boundedaffineimage1.cc
index 05904dc..f3dd792 100644
--- a/tests/Octagonal_Shape/boundedaffineimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/boundedaffinepreimage1.cc b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
index f52a67a..0323db4 100644
--- a/tests/Octagonal_Shape/boundedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::bounded_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/bounds1.cc b/tests/Octagonal_Shape/bounds1.cc
index aa18574..b2c37d4 100644
--- a/tests/Octagonal_Shape/bounds1.cc
+++ b/tests/Octagonal_Shape/bounds1.cc
@@ -1,7 +1,7 @@
 /* Test OctagonalShape::bounds_from_below() and
    Octagonal_Shape::bounds_from_above().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/cc76extrapolation1.cc b/tests/Octagonal_Shape/cc76extrapolation1.cc
index ea8e7a0..c05cc02 100644
--- a/tests/Octagonal_Shape/cc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/cc76extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::CC76_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/cc76narrowing1.cc b/tests/Octagonal_Shape/cc76narrowing1.cc
index 1b24801..3a2a8df 100644
--- a/tests/Octagonal_Shape/cc76narrowing1.cc
+++ b/tests/Octagonal_Shape/cc76narrowing1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::CC76_narrowing_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/chinainit.cc b/tests/Octagonal_Shape/chinainit.cc
index a5c01cf..33cd26b 100644
--- a/tests/Octagonal_Shape/chinainit.cc
+++ b/tests/Octagonal_Shape/chinainit.cc
@@ -1,6 +1,6 @@
 /* Simulate the initialization phase of the China analyzer.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/concatenate1.cc b/tests/Octagonal_Shape/concatenate1.cc
index 13c1fb1..da6bbea 100644
--- a/tests/Octagonal_Shape/concatenate1.cc
+++ b/tests/Octagonal_Shape/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/congruences1.cc b/tests/Octagonal_Shape/congruences1.cc
index 70e30c6..0a21225 100644
--- a/tests/Octagonal_Shape/congruences1.cc
+++ b/tests/Octagonal_Shape/congruences1.cc
@@ -2,7 +2,7 @@
    congruences of an octagon  that is defined by a system of
    congruences that contains only a trivially false congruence.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/constrains1.cc b/tests/Octagonal_Shape/constrains1.cc
index f5d8a36..d1c0437 100644
--- a/tests/Octagonal_Shape/constrains1.cc
+++ b/tests/Octagonal_Shape/constrains1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/constraints1.cc b/tests/Octagonal_Shape/constraints1.cc
index fd38a09..62b50e7 100644
--- a/tests/Octagonal_Shape/constraints1.cc
+++ b/tests/Octagonal_Shape/constraints1.cc
@@ -2,7 +2,7 @@
    constraints of an octagon  that is defined by a system of
    constraints that contains only a trivially false constraint.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/contains1.cc b/tests/Octagonal_Shape/contains1.cc
index d258fd7..649f3ea 100644
--- a/tests/Octagonal_Shape/contains1.cc
+++ b/tests/Octagonal_Shape/contains1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -245,20 +245,24 @@ test07() {
 
 bool
 test08() {
-  TOctagonal_Shape oc1(0);
+  TOctagonal_Shape oc1(3, UNIVERSE);
 
   print_constraints(oc1, "*** oc1 ***");
 
-  TOctagonal_Shape oc2(0, EMPTY);
+  TOctagonal_Shape oc2(3, EMPTY);
 
   print_constraints(oc2, "*** oc2 ***");
 
   bool contained = oc1.contains(oc2);
+  bool strictly_contained = oc1.strictly_contains(oc2);
 
   nout << "*** oc1.contains(oc2) ***" << endl;
   nout << (contained ? "true" : "false") << endl;
 
-  return contained;
+  nout << "*** oc1.strictly_contains(oc2) ***" << endl;
+  nout << (strictly_contained ? "true" : "false") << endl;
+
+  return contained && strictly_contained;
 }
 
 bool
@@ -333,6 +337,24 @@ test11() {
   return !contained;
 }
 
+bool
+test12() {
+  TOctagonal_Shape oc1(3, EMPTY);
+
+  print_constraints(oc1, "*** oc1 ***");
+
+  TOctagonal_Shape oc2(3, UNIVERSE);
+
+  print_constraints(oc2, "*** oc2 ***");
+
+  bool contained = oc1.contains(oc2);
+
+  nout << "*** oc1.contains(oc2) ***" << endl;
+  nout << (contained ? "true" : "false") << endl;
+
+  return !contained;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -347,4 +369,5 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
+  DO_TEST(test12);
 END_MAIN
diff --git a/tests/Octagonal_Shape/containsintegerpoint1.cc b/tests/Octagonal_Shape/containsintegerpoint1.cc
index 826b153..dedc6e9 100644
--- a/tests/Octagonal_Shape/containsintegerpoint1.cc
+++ b/tests/Octagonal_Shape/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::contains_integer_point().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/difference1.cc b/tests/Octagonal_Shape/difference1.cc
index 7359181..37737f9 100644
--- a/tests/Octagonal_Shape/difference1.cc
+++ b/tests/Octagonal_Shape/difference1.cc
@@ -2,7 +2,7 @@
    contained in `oct2', the result of `oct1.difference_assign(oct2)'
    is an empty octagon.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/discrete1.cc b/tests/Octagonal_Shape/discrete1.cc
index 983ee33..a933408 100644
--- a/tests/Octagonal_Shape/discrete1.cc
+++ b/tests/Octagonal_Shape/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::is_discrete().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/disjoint1.cc b/tests/Octagonal_Shape/disjoint1.cc
index 9b143b6..83973d3 100644
--- a/tests/Octagonal_Shape/disjoint1.cc
+++ b/tests/Octagonal_Shape/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_disjoint_from(const Octagonal_Shape& y).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc b/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc
index 6a18547..ae9bf5e 100644
--- a/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc
+++ b/tests/Octagonal_Shape/dropsomenonintegerpoints1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/empty1.cc b/tests/Octagonal_Shape/empty1.cc
index de0dcd7..37ced2a 100644
--- a/tests/Octagonal_Shape/empty1.cc
+++ b/tests/Octagonal_Shape/empty1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::is_empty() .
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/expandspacedim1.cc b/tests/Octagonal_Shape/expandspacedim1.cc
index 16e1f79..ed2c496 100644
--- a/tests/Octagonal_Shape/expandspacedim1.cc
+++ b/tests/Octagonal_Shape/expandspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/foldspacedims1.cc b/tests/Octagonal_Shape/foldspacedims1.cc
index 00ed54f..9ca5634 100644
--- a/tests/Octagonal_Shape/foldspacedims1.cc
+++ b/tests/Octagonal_Shape/foldspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/frequency1.cc b/tests/Octagonal_Shape/frequency1.cc
index 7d6d573..c97081c 100644
--- a/tests/Octagonal_Shape/frequency1.cc
+++ b/tests/Octagonal_Shape/frequency1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::frequency().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/frombdshape1.cc b/tests/Octagonal_Shape/frombdshape1.cc
index 88225c8..ce15faa 100644
--- a/tests/Octagonal_Shape/frombdshape1.cc
+++ b/tests/Octagonal_Shape/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/frombox1.cc b/tests/Octagonal_Shape/frombox1.cc
index 723db6b..f0c88a9 100644
--- a/tests/Octagonal_Shape/frombox1.cc
+++ b/tests/Octagonal_Shape/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Box<Interval>&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/fromgensys1.cc b/tests/Octagonal_Shape/fromgensys1.cc
index f3a60b0..b8426fa 100644
--- a/tests/Octagonal_Shape/fromgensys1.cc
+++ b/tests/Octagonal_Shape/fromgensys1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Generator_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/fromgrid1.cc b/tests/Octagonal_Shape/fromgrid1.cc
index 5e64c4b..fddbb7f 100644
--- a/tests/Octagonal_Shape/fromgrid1.cc
+++ b/tests/Octagonal_Shape/fromgrid1.cc
@@ -1,7 +1,7 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/fromoctagonalshape1.cc b/tests/Octagonal_Shape/fromoctagonalshape1.cc
index c183b54..91f3f39 100644
--- a/tests/Octagonal_Shape/fromoctagonalshape1.cc
+++ b/tests/Octagonal_Shape/fromoctagonalshape1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape copy construct, construction from other
    Octagonal shapes and assignment.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/frompolyhedron1.cc b/tests/Octagonal_Shape/frompolyhedron1.cc
index b22e829..db5646e 100644
--- a/tests/Octagonal_Shape/frompolyhedron1.cc
+++ b/tests/Octagonal_Shape/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/fromspacedim1.cc b/tests/Octagonal_Shape/fromspacedim1.cc
index 02b124c..818deea 100644
--- a/tests/Octagonal_Shape/fromspacedim1.cc
+++ b/tests/Octagonal_Shape/fromspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::Octagonal_Shape(dimension_type, Degenerate_Element).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage1.cc b/tests/Octagonal_Shape/generalizedaffineimage1.cc
index 31fa254..345d99a 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage2.cc b/tests/Octagonal_Shape/generalizedaffineimage2.cc
index 1ed9efd..1417f50 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage3.cc b/tests/Octagonal_Shape/generalizedaffineimage3.cc
index 9eaed28..2cff451 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage3.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage4.cc b/tests/Octagonal_Shape/generalizedaffineimage4.cc
index 137e4b2..b284b04 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage4.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage5.cc b/tests/Octagonal_Shape/generalizedaffineimage5.cc
index 1d272f1..7335aaf 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage5.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage5.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
index 09fa8b6..41d7244 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <limits>
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
index 6b78d87..dc7dc0c 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
index eb0c7e1..cfcadaa 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
index 33db157..4caf678 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/integerupperboundifexact1.cc b/tests/Octagonal_Shape/integerupperboundifexact1.cc
index ab14fb4..9bf39e3 100644
--- a/tests/Octagonal_Shape/integerupperboundifexact1.cc
+++ b/tests/Octagonal_Shape/integerupperboundifexact1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::integer_upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/intersection1.cc b/tests/Octagonal_Shape/intersection1.cc
index 83b2d76..8422839 100644
--- a/tests/Octagonal_Shape/intersection1.cc
+++ b/tests/Octagonal_Shape/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
index 7194991..9294b9b 100644
--- a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::limited_BHMZ05_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
index 80aae7c..702e04e 100644
--- a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::limited_CC76_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/mapspacedims1.cc b/tests/Octagonal_Shape/mapspacedims1.cc
index 45484e3..f816a0b 100644
--- a/tests/Octagonal_Shape/mapspacedims1.cc
+++ b/tests/Octagonal_Shape/mapspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/max_min1.cc b/tests/Octagonal_Shape/max_min1.cc
index 946be41..8792161 100644
--- a/tests/Octagonal_Shape/max_min1.cc
+++ b/tests/Octagonal_Shape/max_min1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/max_min2.cc b/tests/Octagonal_Shape/max_min2.cc
index 625da2b..b325fc3 100644
--- a/tests/Octagonal_Shape/max_min2.cc
+++ b/tests/Octagonal_Shape/max_min2.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/maxspacedim1.cc b/tests/Octagonal_Shape/maxspacedim1.cc
index 6dd5cca..6274aee 100644
--- a/tests/Octagonal_Shape/maxspacedim1.cc
+++ b/tests/Octagonal_Shape/maxspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::max_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/membytes1.cc b/tests/Octagonal_Shape/membytes1.cc
index 1cc513d..531c5ed 100644
--- a/tests/Octagonal_Shape/membytes1.cc
+++ b/tests/Octagonal_Shape/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/minconstraints1.cc b/tests/Octagonal_Shape/minconstraints1.cc
index 2e72878..a0b541c 100644
--- a/tests/Octagonal_Shape/minconstraints1.cc
+++ b/tests/Octagonal_Shape/minconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape<T>::minimized_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/relatwithcons1.cc b/tests/Octagonal_Shape/relatwithcons1.cc
index 0e0c0ef..8896420 100644
--- a/tests/Octagonal_Shape/relatwithcons1.cc
+++ b/tests/Octagonal_Shape/relatwithcons1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::relation_with(c).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/relatwithcons2.cc b/tests/Octagonal_Shape/relatwithcons2.cc
index 2792944..3f33723 100644
--- a/tests/Octagonal_Shape/relatwithcons2.cc
+++ b/tests/Octagonal_Shape/relatwithcons2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::relation_with(c).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -306,6 +306,7 @@ test14() {
     // it is illegal to use a constraint that is not dimension-compatible
     // with the octagon.
     Poly_Con_Relation rel = oc.relation_with(-C - B <= 2);
+    (void) rel;
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << e.what() << endl;
diff --git a/tests/Octagonal_Shape/relatwithcons3.cc b/tests/Octagonal_Shape/relatwithcons3.cc
index 7982987..48ef8a2 100644
--- a/tests/Octagonal_Shape/relatwithcons3.cc
+++ b/tests/Octagonal_Shape/relatwithcons3.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/relatwithgen1.cc b/tests/Octagonal_Shape/relatwithgen1.cc
index 8163bb7..9cffb4e 100644
--- a/tests/Octagonal_Shape/relatwithgen1.cc
+++ b/tests/Octagonal_Shape/relatwithgen1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::relation_with(g): we verify that a generator
    is not subsumed by an empty octagon.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -272,6 +272,7 @@ test12() {
     // it is illegal to use a generator that is
     // dimensional incompatible with the OS.
     Poly_Gen_Relation rel = oc.relation_with(ray(C));
+    (void) rel;
   }
   catch (std::invalid_argument& e) {
     nout << "std::invalid_argument: " << e.what() << endl;
diff --git a/tests/Octagonal_Shape/removespacedims1.cc b/tests/Octagonal_Shape/removespacedims1.cc
index 1fb6574..fd4fca5 100644
--- a/tests/Octagonal_Shape/removespacedims1.cc
+++ b/tests/Octagonal_Shape/removespacedims1.cc
@@ -1,6 +1,6 @@
 /* Remove the higher variables from the space.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/run_tests b/tests/Octagonal_Shape/run_tests
index 68b5d94..2aec4dc 100755
--- a/tests/Octagonal_Shape/run_tests
+++ b/tests/Octagonal_Shape/run_tests
@@ -2,7 +2,7 @@
 
 # Run the Octagonal_Shape tests.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -21,7 +21,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 mpz_class_XFAIL_TESTS=
 mpq_class_XFAIL_TESTS=
diff --git a/tests/Octagonal_Shape/simplifyusingcontext1.cc b/tests/Octagonal_Shape/simplifyusingcontext1.cc
index 8945844..acca4f3 100644
--- a/tests/Octagonal_Shape/simplifyusingcontext1.cc
+++ b/tests/Octagonal_Shape/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/timeelapse1.cc b/tests/Octagonal_Shape/timeelapse1.cc
index 45adf1c..0fd18e2 100644
--- a/tests/Octagonal_Shape/timeelapse1.cc
+++ b/tests/Octagonal_Shape/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test time_elapse_assign() for particular polyhedra.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/unconstrain1.cc b/tests/Octagonal_Shape/unconstrain1.cc
index e110d4c..3b3b90b 100644
--- a/tests/Octagonal_Shape/unconstrain1.cc
+++ b/tests/Octagonal_Shape/unconstrain1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::unconstrain().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/universe1.cc b/tests/Octagonal_Shape/universe1.cc
index 1919ea5..4946fc5 100644
--- a/tests/Octagonal_Shape/universe1.cc
+++ b/tests/Octagonal_Shape/universe1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/upperbound1.cc b/tests/Octagonal_Shape/upperbound1.cc
index d6b9dde..531a371 100644
--- a/tests/Octagonal_Shape/upperbound1.cc
+++ b/tests/Octagonal_Shape/upperbound1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::poly_hull_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/upperboundifexact1.cc b/tests/Octagonal_Shape/upperboundifexact1.cc
index 0c13e68..d56d3a1 100644
--- a/tests/Octagonal_Shape/upperboundifexact1.cc
+++ b/tests/Octagonal_Shape/upperboundifexact1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/wrap1.cc b/tests/Octagonal_Shape/wrap1.cc
index 4cf1276..11946f4 100644
--- a/tests/Octagonal_Shape/wrap1.cc
+++ b/tests/Octagonal_Shape/wrap1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Octagonal_Shape/writeoctagon1.cc b/tests/Octagonal_Shape/writeoctagon1.cc
index 41997f1..9f1915e 100644
--- a/tests/Octagonal_Shape/writeoctagon1.cc
+++ b/tests/Octagonal_Shape/writeoctagon1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(ostream&, const Octagonal_Shape&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/PIP_Problem/Makefile.am b/tests/PIP_Problem/Makefile.am
index d2cba6e..8bab0f7 100644
--- a/tests/PIP_Problem/Makefile.am
+++ b/tests/PIP_Problem/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -53,7 +54,8 @@ $(top_builddir)/src/libppl.la \
 TESTS = \
 ascii_dump_load1 \
 exceptions1 \
-pipproblem1 pipproblem2 pipproblem3
+pipproblem1 pipproblem2 pipproblem3 \
+weightwatch1
 
 XFAIL_TESTS =
 
@@ -71,9 +73,10 @@ pipproblem1_SOURCES = pipproblem1.cc
 pipproblem2_SOURCES = pipproblem2.cc
 pipproblem3_SOURCES = pipproblem3.cc
 
+weightwatch1_SOURCES = weightwatch1.cc
+
 check_PROGRAMS = \
 $(TESTS) \
-$(WATCHDOG_TESTS) \
 $(BUGS)
 
 #EXTRA_DIST =
@@ -89,6 +92,3 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
-
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
diff --git a/tests/PIP_Problem/Makefile.in b/tests/PIP_Problem/Makefile.in
index 10e36ce..e5a2100 100644
--- a/tests/PIP_Problem/Makefile.in
+++ b/tests/PIP_Problem/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -57,7 +57,8 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 TESTS = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT)
+	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT) \
+	weightwatch1$(EXEEXT)
 XFAIL_TESTS =
 check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 subdir = tests/PIP_Problem
@@ -72,27 +73,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -100,7 +96,8 @@ CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 am__EXEEXT_1 = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT)
+	pipproblem1$(EXEEXT) pipproblem2$(EXEEXT) pipproblem3$(EXEEXT) \
+	weightwatch1$(EXEEXT)
 am__EXEEXT_2 =
 am_ascii_dump_load1_OBJECTS = ascii_dump_load1.$(OBJEXT)
 ascii_dump_load1_OBJECTS = $(am_ascii_dump_load1_OBJECTS)
@@ -108,8 +105,8 @@ ascii_dump_load1_LDADD = $(LDADD)
 ascii_dump_load1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_exceptions1_OBJECTS = exceptions1.$(OBJEXT)
 exceptions1_OBJECTS = $(am_exceptions1_OBJECTS)
@@ -135,6 +132,12 @@ pipproblem3_LDADD = $(LDADD)
 pipproblem3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_weightwatch1_OBJECTS = weightwatch1.$(OBJEXT)
+weightwatch1_OBJECTS = $(am_weightwatch1_OBJECTS)
+weightwatch1_LDADD = $(LDADD)
+weightwatch1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -145,28 +148,28 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
 	$(pipproblem1_SOURCES) $(pipproblem2_SOURCES) \
-	$(pipproblem3_SOURCES)
+	$(pipproblem3_SOURCES) $(weightwatch1_SOURCES)
 DIST_SOURCES = $(ascii_dump_load1_SOURCES) $(exceptions1_SOURCES) \
 	$(pipproblem1_SOURCES) $(pipproblem2_SOURCES) \
-	$(pipproblem3_SOURCES)
+	$(pipproblem3_SOURCES) $(weightwatch1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -195,6 +198,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -219,21 +223,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -289,6 +288,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -357,7 +357,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -370,6 +369,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -399,6 +399,7 @@ exceptions1_SOURCES = exceptions1.cc
 pipproblem1_SOURCES = pipproblem1.cc
 pipproblem2_SOURCES = pipproblem2.cc
 pipproblem3_SOURCES = pipproblem3.cc
+weightwatch1_SOURCES = weightwatch1.cc
 
 #EXTRA_DIST =
 MOSTLYCLEANFILES = \
@@ -447,21 +448,24 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
+exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) $(EXTRA_exceptions1_DEPENDENCIES) 
 	@rm -f exceptions1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
-pipproblem1$(EXEEXT): $(pipproblem1_OBJECTS) $(pipproblem1_DEPENDENCIES) 
+pipproblem1$(EXEEXT): $(pipproblem1_OBJECTS) $(pipproblem1_DEPENDENCIES) $(EXTRA_pipproblem1_DEPENDENCIES) 
 	@rm -f pipproblem1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem1_OBJECTS) $(pipproblem1_LDADD) $(LIBS)
-pipproblem2$(EXEEXT): $(pipproblem2_OBJECTS) $(pipproblem2_DEPENDENCIES) 
+pipproblem2$(EXEEXT): $(pipproblem2_OBJECTS) $(pipproblem2_DEPENDENCIES) $(EXTRA_pipproblem2_DEPENDENCIES) 
 	@rm -f pipproblem2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem2_OBJECTS) $(pipproblem2_LDADD) $(LIBS)
-pipproblem3$(EXEEXT): $(pipproblem3_OBJECTS) $(pipproblem3_DEPENDENCIES) 
+pipproblem3$(EXEEXT): $(pipproblem3_OBJECTS) $(pipproblem3_DEPENDENCIES) $(EXTRA_pipproblem3_DEPENDENCIES) 
 	@rm -f pipproblem3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(pipproblem3_OBJECTS) $(pipproblem3_LDADD) $(LIBS)
+weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) $(EXTRA_weightwatch1_DEPENDENCIES) 
+	@rm -f weightwatch1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(weightwatch1_OBJECTS) $(weightwatch1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -474,30 +478,28 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pipproblem3.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1.Po at am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -638,14 +640,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -695,10 +698,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -808,9 +816,6 @@ $(top_builddir)/tests/libppl_tests.a:
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
 
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/PIP_Problem/ascii_dump_load1.cc b/tests/PIP_Problem/ascii_dump_load1.cc
index 4c498b0..30e6fec 100644
--- a/tests/PIP_Problem/ascii_dump_load1.cc
+++ b/tests/PIP_Problem/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test PIP_Problem::ascii_dump() and PIP_Problem::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/PIP_Problem/exceptions1.cc b/tests/PIP_Problem/exceptions1.cc
index 085b79a..b5f9a6c 100644
--- a/tests/PIP_Problem/exceptions1.cc
+++ b/tests/PIP_Problem/exceptions1.cc
@@ -1,6 +1,6 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/PIP_Problem/pipproblem1.cc b/tests/PIP_Problem/pipproblem1.cc
index 0497da5..0c2f23d 100644
--- a/tests/PIP_Problem/pipproblem1.cc
+++ b/tests/PIP_Problem/pipproblem1.cc
@@ -1,6 +1,6 @@
 /* Test the PIP_Problem class.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/PIP_Problem/pipproblem2.cc b/tests/PIP_Problem/pipproblem2.cc
index 34bf01d..eee0986 100644
--- a/tests/PIP_Problem/pipproblem2.cc
+++ b/tests/PIP_Problem/pipproblem2.cc
@@ -1,6 +1,6 @@
 /* Test the PIP_Problem class
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -64,7 +64,7 @@ test02() {
   Variables_Set params(Variable(1));
   pip_2.add_to_parameter_space_dimensions(params);
 
-  std::swap(pip_1, pip_2);
+  swap(pip_1, pip_2);
 
   bool ok = (pip_1.space_dimension() == 2
              && pip_2.space_dimension() == 2
@@ -264,7 +264,7 @@ test14() {
   ok &= (ap0 != ap1) && (ap1 == ap2);
   ok &= (ap0.denominator() == 1) && (ap1.denominator() == 5);
 
-  ap0.swap(ap2);
+  swap(ap0, ap2);
   ok &= (ap0 == ap1) && (ap2.denominator() == 1);
 
   using namespace IO_Operators;
diff --git a/tests/PIP_Problem/pipproblem3.cc b/tests/PIP_Problem/pipproblem3.cc
index a678ccd..fd75b32 100644
--- a/tests/PIP_Problem/pipproblem3.cc
+++ b/tests/PIP_Problem/pipproblem3.cc
@@ -1,6 +1,6 @@
 /* Test the PIP_Problem class.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -150,10 +150,30 @@ test03() {
   return ok;
 }
 
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  Constraint_System cs;
+  cs.insert(A >= 0);
+  cs.insert(A == B);
+  cs.insert(A == -1);
+
+  PIP_Problem pip(2);
+  pip.add_constraints(cs);
+
+  bool ok = !pip.is_satisfiable();
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
   DO_TEST_F8(test01);
   DO_TEST_F8(test02);
   DO_TEST_F8(test03);
+  DO_TEST(test04);
 END_MAIN
diff --git a/tests/PIP_Problem/weightwatch1.cc b/tests/PIP_Problem/weightwatch1.cc
new file mode 100644
index 0000000..0218b12
--- /dev/null
+++ b/tests/PIP_Problem/weightwatch1.cc
@@ -0,0 +1,187 @@
+/* Test PIP_Problem (and MIP_Problem) with respect to deterministic timeouts.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+#include "files.hh"
+#include <fstream>
+
+using namespace IO_Operators;
+
+using std::fstream;
+using std::ios_base;
+
+namespace {
+
+typedef
+Parma_Polyhedra_Library::Threshold_Watcher<Weightwatch_Traits> Weightwatch;
+
+class Deterministic_Timeout
+  : virtual public std::exception,
+    public Parma_Polyhedra_Library::Throwable {
+public:
+  const char* what() const throw() {
+    return "deterministic timeout in weightwatch1.cc";
+  }
+
+  void throw_me() const {
+    throw *this;
+  }
+
+  int priority() const {
+    return 0;
+  }
+
+  ~Deterministic_Timeout() throw() {
+  }
+};
+
+void too_fat() {
+  throw Deterministic_Timeout();
+}
+
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+  Variable E(4);
+  Variable F(5);
+  Variable G(6);
+  Variable H(7);
+  Variable I(8);
+  Variable J(9);
+  Variable K(10);
+  Variable L(11);
+  Variable M(12);
+  Variable N(13);
+  Variable O(14);
+  Variable P(15);
+  Variable Q(16);
+  Variable R(17);
+  Variable S(18);
+  Variable T(19);
+  Variable U(20);
+  Variable V(21);
+  Variable W(22);
+  Variable X(23);
+  Variable Y(24);
+  Variable Z(25);
+  Variable A1(26);
+  Variable B1(27);
+  Variable C1(28);
+  Variable D1(29);
+  Variable E1(30);
+  Variable F1(31);
+  Variables_Set params;
+
+  Constraint_System cs;
+  cs.insert(162*B + D + 9*F + 1620*H - F1 == 0);
+  cs.insert(E1 == 0);
+  cs.insert(D1 == 1);
+  cs.insert(162*B + D + 9*F + 1620*H - C1 == 0);
+  cs.insert(B1 == 0);
+  cs.insert(A1 == 1);
+  cs.insert(162*B + D + 9*F + 1620*H - 162*O - Q - 9*S - 1620*Z == 0);
+  cs.insert(O - Y == 0);
+  cs.insert(S - X == 0);
+  cs.insert(Q - W == 0);
+  cs.insert(V == 0);
+  cs.insert(162*B + D + 9*F + 1620*H - 162*O - Q - 9*S - 1620*U == 0);
+  cs.insert(T == 0);
+  cs.insert(R == 0);
+  cs.insert(P == 0);
+  cs.insert(N == 0);
+  cs.insert(H - M == 0);
+  cs.insert(B - L == 0);
+  cs.insert(F - K == 0);
+  cs.insert(D - J == 0);
+  cs.insert(I == 0);
+  cs.insert(G == 0);
+  cs.insert(E == 0);
+  cs.insert(C == 0);
+  cs.insert(A == 0);
+  cs.insert(B - O >= 1);
+  cs.insert(D >= 0);
+  cs.insert(-162*B - D - 9*F - 1620*H + 162*O + Q + 9*S >= -6480);
+  cs.insert(-B >= -9);
+  cs.insert(-D >= -8);
+  cs.insert(-F >= -17);
+  cs.insert(F >= 0);
+  cs.insert(-Q >= -8);
+  cs.insert(-S >= -17);
+  cs.insert(S >= 0);
+  cs.insert(Q >= 0);
+  cs.insert(O >= 0);
+  cs.insert(H >= 0);
+
+  try {
+    PIP_Problem pip(cs.space_dimension(), cs.begin(), cs.end(), params);
+
+    Weightwatch ww(200000000, too_fat);
+
+    (void) pip.is_satisfiable();
+
+    // Should not get there.
+    return false;
+  }
+  // Note: other exceptions are just propagated.
+  catch (const Deterministic_Timeout& e) {
+    // Expected timeout exception.
+    nout << endl << e.what() << endl;
+
+    try {
+      MIP_Problem mip(cs.space_dimension(), cs.begin(), cs.end(), params);
+      // Set all variable to be constrained to have an integer value.
+      mip.add_to_integer_space_dimensions(Variables_Set(A, F1));
+
+      Weightwatch ww(4000000, too_fat);
+
+      if (mip.is_satisfiable()) {
+        nout << "mip is satisfiable?!" << endl;
+        return false;
+      }
+
+      return true;
+    }
+    // Note: other exceptions are just propagated.
+    catch (const Deterministic_Timeout& e) {
+      // Unexpected timeout exception.
+      nout << endl << e.what() << endl;
+      return false;
+    }
+
+    // Should never get here.
+    return false;
+  }
+
+  // Should never get here.
+  return false;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F64(test01);
+END_MAIN
diff --git a/tests/Partially_Reduced_Product/Makefile.am b/tests/Partially_Reduced_Product/Makefile.am
index a4f58f5..731141b 100644
--- a/tests/Partially_Reduced_Product/Makefile.am
+++ b/tests/Partially_Reduced_Product/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -15,16 +15,16 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
diff --git a/tests/Partially_Reduced_Product/Makefile.in b/tests/Partially_Reduced_Product/Makefile.in
index 629f0fe..8df89f4 100644
--- a/tests/Partially_Reduced_Product/Makefile.in
+++ b/tests/Partially_Reduced_Product/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -32,12 +32,11 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
@@ -74,27 +73,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -131,8 +125,8 @@ addcongruences1_LDADD = $(LDADD)
 addcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_affineimage1_OBJECTS = affineimage1.$(OBJEXT)
 affineimage1_OBJECTS = $(am_affineimage1_OBJECTS)
@@ -467,21 +461,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruences1_SOURCES) $(affineimage1_SOURCES) \
 	$(asciidumpload1_SOURCES) $(bounded1_SOURCES) \
@@ -564,6 +558,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -588,21 +583,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -658,6 +648,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -726,7 +717,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -739,6 +729,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -914,142 +905,142 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) $(EXTRA_addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) 
+asciidumpload1$(EXEEXT): $(asciidumpload1_OBJECTS) $(asciidumpload1_DEPENDENCIES) $(EXTRA_asciidumpload1_DEPENDENCIES) 
 	@rm -f asciidumpload1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(asciidumpload1_OBJECTS) $(asciidumpload1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-congruencesproduct1$(EXEEXT): $(congruencesproduct1_OBJECTS) $(congruencesproduct1_DEPENDENCIES) 
+congruencesproduct1$(EXEEXT): $(congruencesproduct1_OBJECTS) $(congruencesproduct1_DEPENDENCIES) $(EXTRA_congruencesproduct1_DEPENDENCIES) 
 	@rm -f congruencesproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruencesproduct1_OBJECTS) $(congruencesproduct1_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-constraintsproduct1$(EXEEXT): $(constraintsproduct1_OBJECTS) $(constraintsproduct1_DEPENDENCIES) 
+constraintsproduct1$(EXEEXT): $(constraintsproduct1_OBJECTS) $(constraintsproduct1_DEPENDENCIES) $(EXTRA_constraintsproduct1_DEPENDENCIES) 
 	@rm -f constraintsproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraintsproduct1_OBJECTS) $(constraintsproduct1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) $(EXTRA_difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
-dimension1$(EXEEXT): $(dimension1_OBJECTS) $(dimension1_DEPENDENCIES) 
+dimension1$(EXEEXT): $(dimension1_OBJECTS) $(dimension1_DEPENDENCIES) $(EXTRA_dimension1_DEPENDENCIES) 
 	@rm -f dimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dimension1_OBJECTS) $(dimension1_LDADD) $(LIBS)
-directproduct1$(EXEEXT): $(directproduct1_OBJECTS) $(directproduct1_DEPENDENCIES) 
+directproduct1$(EXEEXT): $(directproduct1_OBJECTS) $(directproduct1_DEPENDENCIES) $(EXTRA_directproduct1_DEPENDENCIES) 
 	@rm -f directproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(directproduct1_OBJECTS) $(directproduct1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) $(EXTRA_dropsomenonintegerpoints1_DEPENDENCIES) 
 	@rm -f dropsomenonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
-equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) $(EXTRA_equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-fromproduct1$(EXEEXT): $(fromproduct1_OBJECTS) $(fromproduct1_DEPENDENCIES) 
+fromproduct1$(EXEEXT): $(fromproduct1_OBJECTS) $(fromproduct1_DEPENDENCIES) $(EXTRA_fromproduct1_DEPENDENCIES) 
 	@rm -f fromproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromproduct1_OBJECTS) $(fromproduct1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) 
+isempty1$(EXEEXT): $(isempty1_OBJECTS) $(isempty1_DEPENDENCIES) $(EXTRA_isempty1_DEPENDENCIES) 
 	@rm -f isempty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(isempty1_OBJECTS) $(isempty1_LDADD) $(LIBS)
-isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) 
+isuniverse1$(EXEEXT): $(isuniverse1_OBJECTS) $(isuniverse1_DEPENDENCIES) $(EXTRA_isuniverse1_DEPENDENCIES) 
 	@rm -f isuniverse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(isuniverse1_OBJECTS) $(isuniverse1_LDADD) $(LIBS)
-maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
+maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) $(EXTRA_maxmin1_DEPENDENCIES) 
 	@rm -f maxmin1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
-refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
+refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) $(EXTRA_refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
-refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
+refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) $(EXTRA_refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
-relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) $(EXTRA_relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
-reverse_congruences1$(EXEEXT): $(reverse_congruences1_OBJECTS) $(reverse_congruences1_DEPENDENCIES) 
+reverse_congruences1$(EXEEXT): $(reverse_congruences1_OBJECTS) $(reverse_congruences1_DEPENDENCIES) $(EXTRA_reverse_congruences1_DEPENDENCIES) 
 	@rm -f reverse_congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_congruences1_LINK) $(reverse_congruences1_OBJECTS) $(reverse_congruences1_LDADD) $(LIBS)
-reverse_congruencesproduct1$(EXEEXT): $(reverse_congruencesproduct1_OBJECTS) $(reverse_congruencesproduct1_DEPENDENCIES) 
+reverse_congruencesproduct1$(EXEEXT): $(reverse_congruencesproduct1_OBJECTS) $(reverse_congruencesproduct1_DEPENDENCIES) $(EXTRA_reverse_congruencesproduct1_DEPENDENCIES) 
 	@rm -f reverse_congruencesproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_congruencesproduct1_LINK) $(reverse_congruencesproduct1_OBJECTS) $(reverse_congruencesproduct1_LDADD) $(LIBS)
-reverse_constraints1$(EXEEXT): $(reverse_constraints1_OBJECTS) $(reverse_constraints1_DEPENDENCIES) 
+reverse_constraints1$(EXEEXT): $(reverse_constraints1_OBJECTS) $(reverse_constraints1_DEPENDENCIES) $(EXTRA_reverse_constraints1_DEPENDENCIES) 
 	@rm -f reverse_constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_constraints1_LINK) $(reverse_constraints1_OBJECTS) $(reverse_constraints1_LDADD) $(LIBS)
-reverse_constraintsproduct1$(EXEEXT): $(reverse_constraintsproduct1_OBJECTS) $(reverse_constraintsproduct1_DEPENDENCIES) 
+reverse_constraintsproduct1$(EXEEXT): $(reverse_constraintsproduct1_OBJECTS) $(reverse_constraintsproduct1_DEPENDENCIES) $(EXTRA_reverse_constraintsproduct1_DEPENDENCIES) 
 	@rm -f reverse_constraintsproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_constraintsproduct1_LINK) $(reverse_constraintsproduct1_OBJECTS) $(reverse_constraintsproduct1_LDADD) $(LIBS)
-reverse_directproduct1$(EXEEXT): $(reverse_directproduct1_OBJECTS) $(reverse_directproduct1_DEPENDENCIES) 
+reverse_directproduct1$(EXEEXT): $(reverse_directproduct1_OBJECTS) $(reverse_directproduct1_DEPENDENCIES) $(EXTRA_reverse_directproduct1_DEPENDENCIES) 
 	@rm -f reverse_directproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_directproduct1_LINK) $(reverse_directproduct1_OBJECTS) $(reverse_directproduct1_LDADD) $(LIBS)
-reverse_shapepreservingproduct1$(EXEEXT): $(reverse_shapepreservingproduct1_OBJECTS) $(reverse_shapepreservingproduct1_DEPENDENCIES) 
+reverse_shapepreservingproduct1$(EXEEXT): $(reverse_shapepreservingproduct1_OBJECTS) $(reverse_shapepreservingproduct1_DEPENDENCIES) $(EXTRA_reverse_shapepreservingproduct1_DEPENDENCIES) 
 	@rm -f reverse_shapepreservingproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(reverse_shapepreservingproduct1_LINK) $(reverse_shapepreservingproduct1_OBJECTS) $(reverse_shapepreservingproduct1_LDADD) $(LIBS)
-shapepreservingproduct1$(EXEEXT): $(shapepreservingproduct1_OBJECTS) $(shapepreservingproduct1_DEPENDENCIES) 
+shapepreservingproduct1$(EXEEXT): $(shapepreservingproduct1_OBJECTS) $(shapepreservingproduct1_DEPENDENCIES) $(EXTRA_shapepreservingproduct1_DEPENDENCIES) 
 	@rm -f shapepreservingproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(shapepreservingproduct1_OBJECTS) $(shapepreservingproduct1_LDADD) $(LIBS)
-smashproduct1$(EXEEXT): $(smashproduct1_OBJECTS) $(smashproduct1_DEPENDENCIES) 
+smashproduct1$(EXEEXT): $(smashproduct1_OBJECTS) $(smashproduct1_DEPENDENCIES) $(EXTRA_smashproduct1_DEPENDENCIES) 
 	@rm -f smashproduct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(smashproduct1_OBJECTS) $(smashproduct1_LDADD) $(LIBS)
-spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) 
+spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) $(EXTRA_spacedims1_DEPENDENCIES) 
 	@rm -f spacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
+topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) $(EXTRA_topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
-topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
+topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) $(EXTRA_topclosure1_DEPENDENCIES) 
 	@rm -f topclosure1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 
@@ -1109,122 +1100,107 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 reverse_congruences1-congruences1.o: congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruences1-congruences1.o -MD -MP -MF $(DEPDIR)/reverse_congruences1-congruences1.Tpo -c -o reverse_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruences1-congruences1.Tpo $(DEPDIR)/reverse_congruences1-congruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='reverse_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruences1.cc' object='reverse_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
 
 reverse_congruences1-congruences1.obj: congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruences1-congruences1.obj -MD -MP -MF $(DEPDIR)/reverse_congruences1-congruences1.Tpo -c -o reverse_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruences1-congruences1.Tpo $(DEPDIR)/reverse_congruences1-congruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='reverse_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruences1.cc' object='reverse_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
 
 reverse_congruencesproduct1-congruencesproduct1.o: congruencesproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruencesproduct1-congruencesproduct1.o -MD -MP -MF $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo -c -o reverse_congruencesproduct1-congruencesproduct1.o `test -f 'congruencesproduct1.cc' || echo '$(srcdir)/'`congruencesproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.o `test -f 'congruencesproduct1.cc' || echo '$(srcdir)/'`congruencesproduct1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.o `test -f 'congruencesproduct1.cc' || echo '$(srcdir)/'`congruencesproduct1.cc
 
 reverse_congruencesproduct1-congruencesproduct1.obj: congruencesproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_congruencesproduct1-congruencesproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo -c -o reverse_congruencesproduct1-congruencesproduct1.obj `if test -f 'congruencesproduct1.cc'; then $(CYGPATH_W) 'congruencesproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/congruencesproduct1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Tpo $(DEPDIR)/reverse_congruencesproduct1-congruencesproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruencesproduct1.cc' object='reverse_congruencesproduct1-congruencesproduct1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.obj `if test -f 'congruencesproduct1.cc'; then $(CYGPATH_W) 'congruencesproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/congruencesproduct1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_congruencesproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_congruencesproduct1-congruencesproduct1.obj `if test -f 'congruencesproduct1.cc'; then $(CYGPATH_W) 'congruencesproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/congruencesproduct1.cc'; fi`
 
 reverse_constraints1-constraints1.o: constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraints1-constraints1.o -MD -MP -MF $(DEPDIR)/reverse_constraints1-constraints1.Tpo -c -o reverse_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraints1-constraints1.Tpo $(DEPDIR)/reverse_constraints1-constraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='reverse_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraints1.cc' object='reverse_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
 
 reverse_constraints1-constraints1.obj: constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraints1-constraints1.obj -MD -MP -MF $(DEPDIR)/reverse_constraints1-constraints1.Tpo -c -o reverse_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraints1-constraints1.Tpo $(DEPDIR)/reverse_constraints1-constraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='reverse_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraints1.cc' object='reverse_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
 
 reverse_constraintsproduct1-constraintsproduct1.o: constraintsproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraintsproduct1-constraintsproduct1.o -MD -MP -MF $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo -c -o reverse_constraintsproduct1-constraintsproduct1.o `test -f 'constraintsproduct1.cc' || echo '$(srcdir)/'`constraintsproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.o `test -f 'constraintsproduct1.cc' || echo '$(srcdir)/'`constraintsproduct1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.o `test -f 'constraintsproduct1.cc' || echo '$(srcdir)/'`constraintsproduct1.cc
 
 reverse_constraintsproduct1-constraintsproduct1.obj: constraintsproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_constraintsproduct1-constraintsproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo -c -o reverse_constraintsproduct1-constraintsproduct1.obj `if test -f 'constraintsproduct1.cc'; then $(CYGPATH_W) 'constraintsproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/constraintsproduct1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Tpo $(DEPDIR)/reverse_constraintsproduct1-constraintsproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraintsproduct1.cc' object='reverse_constraintsproduct1-constraintsproduct1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.obj `if test -f 'constraintsproduct1.cc'; then $(CYGPATH_W) 'constraintsproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/constraintsproduct1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_constraintsproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_constraintsproduct1-constraintsproduct1.obj `if test -f 'constraintsproduct1.cc'; then $(CYGPATH_W) 'constraintsproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/constraintsproduct1.cc'; fi`
 
 reverse_directproduct1-directproduct1.o: directproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_directproduct1-directproduct1.o -MD -MP -MF $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo -c -o reverse_directproduct1-directproduct1.o `test -f 'directproduct1.cc' || echo '$(srcdir)/'`directproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo $(DEPDIR)/reverse_directproduct1-directproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='directproduct1.cc' object='reverse_directproduct1-directproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='directproduct1.cc' object='reverse_directproduct1-directproduct1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.o `test -f 'directproduct1.cc' || echo '$(srcdir)/'`directproduct1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.o `test -f 'directproduct1.cc' || echo '$(srcdir)/'`directproduct1.cc
 
 reverse_directproduct1-directproduct1.obj: directproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_directproduct1-directproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo -c -o reverse_directproduct1-directproduct1.obj `if test -f 'directproduct1.cc'; then $(CYGPATH_W) 'directproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/directproduct1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_directproduct1-directproduct1.Tpo $(DEPDIR)/reverse_directproduct1-directproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='directproduct1.cc' object='reverse_directproduct1-directproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='directproduct1.cc' object='reverse_directproduct1-directproduct1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.obj `if test -f 'directproduct1.cc'; then $(CYGPATH_W) 'directproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/directproduct1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_directproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_directproduct1-directproduct1.obj `if test -f 'directproduct1.cc'; then $(CYGPATH_W) 'directproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/directproduct1.cc'; fi`
 
 reverse_shapepreservingproduct1-shapepreservingproduct1.o: shapepreservingproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_shapepreservingproduct1-shapepreservingproduct1.o -MD -MP -MF $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.o `test -f 'shapepreservingproduct1.cc' || echo '$(srcdir)/'`shapepreservingproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.o `test -f 'shapepreservingproduct1.cc' || echo '$(srcdir)/'`shapepreservingproduct1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.o `test -f 'shapepreservingproduct1.cc' || echo '$(srcdir)/'`shapepreservingproduct1.cc
 
 reverse_shapepreservingproduct1-shapepreservingproduct1.obj: shapepreservingproduct1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -MT reverse_shapepreservingproduct1-shapepreservingproduct1.obj -MD -MP -MF $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.obj `if test -f 'shapepreservingproduct1.cc'; then $(CYGPATH_W) 'shapepreservingproduct1.cc'; else $(CYGPATH_W) '$(srcdir [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Tpo $(DEPDIR)/reverse_shapepreservingproduct1-shapepreservingproduct1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='shapepreservingproduct1.cc' object='reverse_shapepreservingproduct1-shapepreservingproduct1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.obj `if test -f 'shapepreservingproduct1.cc'; then $(CYGPATH_W) 'shapepreservingproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/shapepreservingproduct1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(reverse_shapepreservingproduct1_CXXFLAGS) $(CXXFLAGS) -c -o reverse_shapepreservingproduct1-shapepreservingproduct1.obj `if test -f 'shapepreservingproduct1.cc'; then $(CYGPATH_W) 'shapepreservingproduct1.cc'; else $(CYGPATH_W) '$(srcdir)/shapepreservingproduct1.cc'; fi`
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1365,14 +1341,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1422,10 +1399,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
diff --git a/tests/Partially_Reduced_Product/addcongruences1.cc b/tests/Partially_Reduced_Product/addcongruences1.cc
index dff215e..8f21326 100644
--- a/tests/Partially_Reduced_Product/addcongruences1.cc
+++ b/tests/Partially_Reduced_Product/addcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Smash_Product.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/affineimage1.cc b/tests/Partially_Reduced_Product/affineimage1.cc
index 570adf8..c9446a1 100644
--- a/tests/Partially_Reduced_Product/affineimage1.cc
+++ b/tests/Partially_Reduced_Product/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/asciidumpload1.cc b/tests/Partially_Reduced_Product/asciidumpload1.cc
index a191e98..8b06fb6 100644
--- a/tests/Partially_Reduced_Product/asciidumpload1.cc
+++ b/tests/Partially_Reduced_Product/asciidumpload1.cc
@@ -1,6 +1,6 @@
 /* Test Direct_Product<nnc_ph, gr> ascii_dump() and ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/bounded1.cc b/tests/Partially_Reduced_Product/bounded1.cc
index 0b02209..917b733 100644
--- a/tests/Partially_Reduced_Product/bounded1.cc
+++ b/tests/Partially_Reduced_Product/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/boundedaffineimage1.cc b/tests/Partially_Reduced_Product/boundedaffineimage1.cc
index 859273c..35634d4 100644
--- a/tests/Partially_Reduced_Product/boundedaffineimage1.cc
+++ b/tests/Partially_Reduced_Product/boundedaffineimage1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::bounds_from_above() and
    Product<NNC_Polyhedron, Grid>::bounds_from_below()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/bounds1.cc b/tests/Partially_Reduced_Product/bounds1.cc
index b26a4c2..2a740ba 100644
--- a/tests/Partially_Reduced_Product/bounds1.cc
+++ b/tests/Partially_Reduced_Product/bounds1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::bounds_from_above() and
    Product<NNC_Polyhedron, Grid>::bounds_from_below()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/concatenate1.cc b/tests/Partially_Reduced_Product/concatenate1.cc
index 9131a6a..d6a92d8 100644
--- a/tests/Partially_Reduced_Product/concatenate1.cc
+++ b/tests/Partially_Reduced_Product/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/congruences1.cc b/tests/Partially_Reduced_Product/congruences1.cc
index fc390e2..ef52529 100644
--- a/tests/Partially_Reduced_Product/congruences1.cc
+++ b/tests/Partially_Reduced_Product/congruences1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/congruencesproduct1.cc b/tests/Partially_Reduced_Product/congruencesproduct1.cc
index f190b3f..2cf6f0a 100644
--- a/tests/Partially_Reduced_Product/congruencesproduct1.cc
+++ b/tests/Partially_Reduced_Product/congruencesproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Partially_Reduced_Product<>:: Congruences_Reduction()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/constraints1.cc b/tests/Partially_Reduced_Product/constraints1.cc
index 6ff1d61..609cd76 100644
--- a/tests/Partially_Reduced_Product/constraints1.cc
+++ b/tests/Partially_Reduced_Product/constraints1.cc
@@ -1,6 +1,6 @@
 /* Test constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/constraintsproduct1.cc b/tests/Partially_Reduced_Product/constraintsproduct1.cc
index 42113ea..48713ac 100644
--- a/tests/Partially_Reduced_Product/constraintsproduct1.cc
+++ b/tests/Partially_Reduced_Product/constraintsproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Partially_Reduced_Product<>:: Shrink_Using_Congruences_Reduction()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/contains1.cc b/tests/Partially_Reduced_Product/contains1.cc
index bb95a81..fd32700 100644
--- a/tests/Partially_Reduced_Product/contains1.cc
+++ b/tests/Partially_Reduced_Product/contains1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::contains() and
    Product<NNC_Polyhedron, Grid>::strictly_contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/difference1.cc b/tests/Partially_Reduced_Product/difference1.cc
index cc3ca50..b3b4dac 100644
--- a/tests/Partially_Reduced_Product/difference1.cc
+++ b/tests/Partially_Reduced_Product/difference1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::difference_assign() and.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/dimension1.cc b/tests/Partially_Reduced_Product/dimension1.cc
index df95ab1..5df0564 100644
--- a/tests/Partially_Reduced_Product/dimension1.cc
+++ b/tests/Partially_Reduced_Product/dimension1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::space_dimension() and
    Product<NNC_Polyhedron, Grid>::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/directproduct1.cc b/tests/Partially_Reduced_Product/directproduct1.cc
index d85cef6..48579d2 100644
--- a/tests/Partially_Reduced_Product/directproduct1.cc
+++ b/tests/Partially_Reduced_Product/directproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/discrete1.cc b/tests/Partially_Reduced_Product/discrete1.cc
index c9f8153..9563de6 100644
--- a/tests/Partially_Reduced_Product/discrete1.cc
+++ b/tests/Partially_Reduced_Product/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_discrete().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/disjoint1.cc b/tests/Partially_Reduced_Product/disjoint1.cc
index bfee697..753811d 100644
--- a/tests/Partially_Reduced_Product/disjoint1.cc
+++ b/tests/Partially_Reduced_Product/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_disjoint().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc b/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc
index f2b035f..45312d7 100644
--- a/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc
+++ b/tests/Partially_Reduced_Product/dropsomenonintegerpoints1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/equals1.cc b/tests/Partially_Reduced_Product/equals1.cc
index 7fc5d6f..b3c01f4 100644
--- a/tests/Partially_Reduced_Product/equals1.cc
+++ b/tests/Partially_Reduced_Product/equals1.cc
@@ -1,6 +1,6 @@
 /* Test operator==() and operator!=().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/frombdshape1.cc b/tests/Partially_Reduced_Product/frombdshape1.cc
index 394277d..97dfc32 100644
--- a/tests/Partially_Reduced_Product/frombdshape1.cc
+++ b/tests/Partially_Reduced_Product/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from BD_Shape.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/frombox1.cc b/tests/Partially_Reduced_Product/frombox1.cc
index 0337cea..393e6da 100644
--- a/tests/Partially_Reduced_Product/frombox1.cc
+++ b/tests/Partially_Reduced_Product/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from a Box.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/fromgrid1.cc b/tests/Partially_Reduced_Product/fromgrid1.cc
index 92fd81c..99c27a4 100644
--- a/tests/Partially_Reduced_Product/fromgrid1.cc
+++ b/tests/Partially_Reduced_Product/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from a grid.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/fromoctagonalshape1.cc b/tests/Partially_Reduced_Product/fromoctagonalshape1.cc
index 2c921a3..5159c7e 100644
--- a/tests/Partially_Reduced_Product/fromoctagonalshape1.cc
+++ b/tests/Partially_Reduced_Product/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from octagonal shape.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/frompolyhedron1.cc b/tests/Partially_Reduced_Product/frompolyhedron1.cc
index 289ee8f..8c4c87b 100644
--- a/tests/Partially_Reduced_Product/frompolyhedron1.cc
+++ b/tests/Partially_Reduced_Product/frompolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from a polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/fromproduct1.cc b/tests/Partially_Reduced_Product/fromproduct1.cc
index 467d33f..94f0c3d 100644
--- a/tests/Partially_Reduced_Product/fromproduct1.cc
+++ b/tests/Partially_Reduced_Product/fromproduct1.cc
@@ -1,6 +1,6 @@
 /* Test construction of product from another product.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/generalizedaffineimage1.cc b/tests/Partially_Reduced_Product/generalizedaffineimage1.cc
index 7ea0bed..6db9fc6 100644
--- a/tests/Partially_Reduced_Product/generalizedaffineimage1.cc
+++ b/tests/Partially_Reduced_Product/generalizedaffineimage1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::generalized_affine_image() and
    Product<NNC_Polyhedron, Grid>::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/intersection1.cc b/tests/Partially_Reduced_Product/intersection1.cc
index 34c912a..72b7ab0 100644
--- a/tests/Partially_Reduced_Product/intersection1.cc
+++ b/tests/Partially_Reduced_Product/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/isempty1.cc b/tests/Partially_Reduced_Product/isempty1.cc
index db28cc1..5325dbe 100644
--- a/tests/Partially_Reduced_Product/isempty1.cc
+++ b/tests/Partially_Reduced_Product/isempty1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_empty().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/isuniverse1.cc b/tests/Partially_Reduced_Product/isuniverse1.cc
index 452b9c9..8106c01 100644
--- a/tests/Partially_Reduced_Product/isuniverse1.cc
+++ b/tests/Partially_Reduced_Product/isuniverse1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_universe1().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/maxmin1.cc b/tests/Partially_Reduced_Product/maxmin1.cc
index 00abc6f..11e19fa 100644
--- a/tests/Partially_Reduced_Product/maxmin1.cc
+++ b/tests/Partially_Reduced_Product/maxmin1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::maximize() and
    Product<NNC_Polyhedron, Grid>::minimize()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/partially_reduced_product_test.hh b/tests/Partially_Reduced_Product/partially_reduced_product_test.hh
index 8942427..fa4dc49 100644
--- a/tests/Partially_Reduced_Product/partially_reduced_product_test.hh
+++ b/tests/Partially_Reduced_Product/partially_reduced_product_test.hh
@@ -1,6 +1,6 @@
 /* Header file for partially_reduced_product test programs.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifdef REVERSED_TEST
 #define DOMAIN1 DOMAIN2x
diff --git a/tests/Partially_Reduced_Product/refinewithcongruences1.cc b/tests/Partially_Reduced_Product/refinewithcongruences1.cc
index 615fa96..7f3c989 100644
--- a/tests/Partially_Reduced_Product/refinewithcongruences1.cc
+++ b/tests/Partially_Reduced_Product/refinewithcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test refine_with_congruence() and refine_with_congruences()..
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/refinewithconstraints1.cc b/tests/Partially_Reduced_Product/refinewithconstraints1.cc
index df591bc..d5ad49f 100644
--- a/tests/Partially_Reduced_Product/refinewithconstraints1.cc
+++ b/tests/Partially_Reduced_Product/refinewithconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test refine_with_constraint() and refine_with_constraints()..
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/relations1.cc b/tests/Partially_Reduced_Product/relations1.cc
index 1f1c460..4f077aa 100644
--- a/tests/Partially_Reduced_Product/relations1.cc
+++ b/tests/Partially_Reduced_Product/relations1.cc
@@ -1,6 +1,6 @@
 /* Test relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/shapepreservingproduct1.cc b/tests/Partially_Reduced_Product/shapepreservingproduct1.cc
index 3b115fe..96a495e 100644
--- a/tests/Partially_Reduced_Product/shapepreservingproduct1.cc
+++ b/tests/Partially_Reduced_Product/shapepreservingproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Partially_Reduced_Product<>:: Shape_Preserving_Reduction()
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/smashproduct1.cc b/tests/Partially_Reduced_Product/smashproduct1.cc
index 7f22bfe..a7ee2c1 100644
--- a/tests/Partially_Reduced_Product/smashproduct1.cc
+++ b/tests/Partially_Reduced_Product/smashproduct1.cc
@@ -1,6 +1,6 @@
 /* Test Smash_Product.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/spacedims1.cc b/tests/Partially_Reduced_Product/spacedims1.cc
index 937c179..33c1382 100644
--- a/tests/Partially_Reduced_Product/spacedims1.cc
+++ b/tests/Partially_Reduced_Product/spacedims1.cc
@@ -7,7 +7,7 @@
    Product<NNC_Polyhedron, Grid>::expand_space_dimension() and
    Product<NNC_Polyhedron, Grid>::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,7 +26,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/timeelapse1.cc b/tests/Partially_Reduced_Product/timeelapse1.cc
index 0815afb..32ed612 100644
--- a/tests/Partially_Reduced_Product/timeelapse1.cc
+++ b/tests/Partially_Reduced_Product/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::time_elapse_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/topclosed1.cc b/tests/Partially_Reduced_Product/topclosed1.cc
index 3c1cb83..2cc1c90 100644
--- a/tests/Partially_Reduced_Product/topclosed1.cc
+++ b/tests/Partially_Reduced_Product/topclosed1.cc
@@ -1,6 +1,6 @@
 /* Test Product<>::is_topologically_closed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Partially_Reduced_Product/topclosure1.cc b/tests/Partially_Reduced_Product/topclosure1.cc
index 5c9b283..bd81270 100644
--- a/tests/Partially_Reduced_Product/topclosure1.cc
+++ b/tests/Partially_Reduced_Product/topclosure1.cc
@@ -1,6 +1,6 @@
 /* Test Product<NNC_Polyhedron, Grid>::topological_closure_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Partially_Reduced_Product/upperbound1.cc b/tests/Partially_Reduced_Product/upperbound1.cc
index 6b36328..4ea6787 100644
--- a/tests/Partially_Reduced_Product/upperbound1.cc
+++ b/tests/Partially_Reduced_Product/upperbound1.cc
@@ -1,7 +1,7 @@
 /* Test Product<NNC_Polyhedron, Grid>::upper_bound_assign()
    Product<NNC_Polyhedron, Grid>::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "partially_reduced_product_test.hh"
diff --git a/tests/Polyhedron/Makefile.am b/tests/Polyhedron/Makefile.am
index 940ec13..5bcc76d 100644
--- a/tests/Polyhedron/Makefile.am
+++ b/tests/Polyhedron/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,11 +19,12 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -51,9 +52,6 @@ $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
 ORIGINAL_TESTS = \
-termination1 \
-termination2 \
-hybrid \
 addcongruence1 \
 addcongruences1 \
 addconstraint1 \
@@ -100,12 +98,12 @@ generalizedaffinepreimage1 generalizedaffinepreimage2 \
 generators1 \
 geomcovers1 \
 h79widening1 h79widening2 \
+hybrid \
 intersection1 \
-simplifyusingcontext1 \
 limitedbhrz03extrapolation1 \
 limitedh79extrapolation1 \
-linearpartition1 \
 linearexpression1 \
+linearpartition1 \
 linearsystem1 \
 mapspacedims1 \
 matrix1 \
@@ -124,19 +122,24 @@ polydifference1 polydifference2 \
 polyhull1 polyhull2 \
 polyhullifexact1 polyhullifexact2 \
 randphull1 \
-refinewithconstraint1 \
-refinewithconstraints1 \
 refinewithcongruence1 \
 refinewithcongruences1 \
+refinewithconstraint1 \
+refinewithconstraints1 \
 relations1 relations2 relations3 \
 removespacedims1 removespacedims2 \
+simplifyusingcontext1 \
 smm1 \
+sparserow1 \
+termination1 termination2 \
 timeelapse1 timeelapse2 \
 topclosed1 \
 topclosure1 \
 unconstrain1 \
 universe1 universe2 \
 variablesset1 \
+watchdog1 \
+weightwatch1 \
 wrap1 wrap2 \
 writeconsys1 \
 writegensys1 \
@@ -217,12 +220,6 @@ nnc_writepolyhedron1
 # Sources for the tests
 #
 
-termination1_SOURCES = termination1.cc
-
-termination2_SOURCES = termination2.cc
-
-hybrid_SOURCES = hybrid.cc
-
 addcongruence1_SOURCES = addcongruence1.cc
 
 addcongruences1_SOURCES = addcongruences1.cc
@@ -337,6 +334,8 @@ geomcovers1_SOURCES = geomcovers1.cc
 h79widening1_SOURCES = h79widening1.cc
 h79widening2_SOURCES = h79widening2.cc
 
+hybrid_SOURCES = hybrid.cc
+
 intersection1_SOURCES = intersection1.cc
 
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
@@ -405,6 +404,11 @@ removespacedims2_SOURCES = removespacedims2.cc
 
 smm1_SOURCES = smm1.cc
 
+sparserow1_SOURCES = sparserow1.cc
+
+termination1_SOURCES = termination1.cc
+termination2_SOURCES = termination2.cc
+
 timeelapse1_SOURCES = timeelapse1.cc
 timeelapse2_SOURCES = timeelapse2.cc
 
@@ -419,6 +423,10 @@ universe2_SOURCES = universe2.cc
 
 variablesset1_SOURCES = variablesset1.cc
 
+watchdog1_SOURCES = watchdog1.cc
+
+weightwatch1_SOURCES = weightwatch1.cc
+
 wrap1_SOURCES = wrap1.cc
 wrap2_SOURCES = wrap2.cc
 
@@ -658,9 +666,6 @@ nnc_writepolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
 memory1_SRCS = memory1.cc
 
-watchdog1_SRCS = watchdog1.cc
-
-weightwatch1_SRCS = weightwatch1.cc
 
 if !VALGRIND_TESTS_ENABLED
 # The `memory1' test is currently disabled.  The reason is that there
@@ -682,42 +687,16 @@ if !VALGRIND_TESTS_ENABLED
 endif !VALGRIND_TESTS_ENABLED
 
 
-if BUILD_WATCHDOG_LIBRARY
-
-WATCHDOG_TESTS = \
-watchdog1 \
-weightwatch1
-
-WATCHDOG_LIBRARY_CPPFLAGS = \
-$(AM_CPPFLAGS) \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src
-
-WATCHDOG_LIBRARY_LDADD = \
-$(LDADD) \
-$(top_builddir)/Watchdog/src/libpwl.la
-
-watchdog1_SOURCES = $(watchdog1_SRCS)
-watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
-watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
-
-weightwatch1_SOURCES = $(weightwatch1_SRCS)
-weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
-weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
-
-endif BUILD_WATCHDOG_LIBRARY
-
 TESTS = \
 $(ORIGINAL_TESTS) \
 $(DERIVED_TESTS) \
-$(VALGRIND_BRITTLE_TESTS) \
-$(WATCHDOG_TESTS)
+$(VALGRIND_BRITTLE_TESTS)
 
 XFAIL_TESTS =
 
 check_PROGRAMS = $(TESTS) $(BUGS)
 
-EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS) $(weightwatch1_SRCS)
+EXTRA_DIST = $(memory1_SRCS)
 
 BUGS =
 
@@ -725,7 +704,7 @@ MOSTLYCLEANFILES = \
 ascii_dump_load1.dat \
 ascii_dump_load2.dat \
 ascii_dump_load3.dat \
-matrix1.dat \
+densematrix1.dat \
 linearsystem1.dat \
 writegensys1.dat \
 writepolyhedron1.dat \
@@ -740,6 +719,3 @@ $(top_builddir)/tests/libppl_tests.a:
 
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
-
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
diff --git a/tests/Polyhedron/Makefile.in b/tests/Polyhedron/Makefile.in
index bacffcc..e8348d2 100644
--- a/tests/Polyhedron/Makefile.in
+++ b/tests/Polyhedron/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -56,9 +56,9 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
+TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_4) $(am__EXEEXT_5)
+check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
 subdir = tests/Polyhedron
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -71,49 +71,42 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
-am__EXEEXT_1 = termination1$(EXEEXT) termination2$(EXEEXT) \
-	hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
-	addcongruences1$(EXEEXT) addconstraint1$(EXEEXT) \
-	addconstraints1$(EXEEXT) addconstraints2$(EXEEXT) \
-	addgenerator1$(EXEEXT) addgenerator2$(EXEEXT) \
-	addgenerators1$(EXEEXT) addgenerators2$(EXEEXT) \
-	addspacedims1$(EXEEXT) addspacedims2$(EXEEXT) \
-	affineimage1$(EXEEXT) affineimage2$(EXEEXT) \
-	affinepreimage1$(EXEEXT) affinetrans$(EXEEXT) append1$(EXEEXT) \
-	append2$(EXEEXT) ascii_dump_load1$(EXEEXT) \
-	ascii_dump_load2$(EXEEXT) ascii_dump_load3$(EXEEXT) \
-	bgp99extrapolation1$(EXEEXT) bgp99extrapolation2$(EXEEXT) \
-	bhrz03widening1$(EXEEXT) bhrz03widening2$(EXEEXT) \
-	bhrz03widening3$(EXEEXT) bhz03widening1$(EXEEXT) \
-	bounded1$(EXEEXT) boundedaffineimage1$(EXEEXT) \
-	boundedaffinepreimage1$(EXEEXT) \
+am__EXEEXT_1 = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
+	addconstraint1$(EXEEXT) addconstraints1$(EXEEXT) \
+	addconstraints2$(EXEEXT) addgenerator1$(EXEEXT) \
+	addgenerator2$(EXEEXT) addgenerators1$(EXEEXT) \
+	addgenerators2$(EXEEXT) addspacedims1$(EXEEXT) \
+	addspacedims2$(EXEEXT) affineimage1$(EXEEXT) \
+	affineimage2$(EXEEXT) affinepreimage1$(EXEEXT) \
+	affinetrans$(EXEEXT) append1$(EXEEXT) append2$(EXEEXT) \
+	ascii_dump_load1$(EXEEXT) ascii_dump_load2$(EXEEXT) \
+	ascii_dump_load3$(EXEEXT) bgp99extrapolation1$(EXEEXT) \
+	bgp99extrapolation2$(EXEEXT) bhrz03widening1$(EXEEXT) \
+	bhrz03widening2$(EXEEXT) bhrz03widening3$(EXEEXT) \
+	bhz03widening1$(EXEEXT) bounded1$(EXEEXT) \
+	boundedaffineimage1$(EXEEXT) boundedaffinepreimage1$(EXEEXT) \
 	boundedbhrz03extrapolation1$(EXEEXT) \
 	boundedh79extrapolation1$(EXEEXT) bounds1$(EXEEXT) \
 	cnncconversion1$(EXEEXT) concatenate1$(EXEEXT) \
@@ -133,11 +126,10 @@ am__EXEEXT_1 = termination1$(EXEEXT) termination2$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) \
 	generalizedaffinepreimage2$(EXEEXT) generators1$(EXEEXT) \
 	geomcovers1$(EXEEXT) h79widening1$(EXEEXT) \
-	h79widening2$(EXEEXT) intersection1$(EXEEXT) \
-	simplifyusingcontext1$(EXEEXT) \
+	h79widening2$(EXEEXT) hybrid$(EXEEXT) intersection1$(EXEEXT) \
 	limitedbhrz03extrapolation1$(EXEEXT) \
-	limitedh79extrapolation1$(EXEEXT) linearpartition1$(EXEEXT) \
-	linearexpression1$(EXEEXT) linearsystem1$(EXEEXT) \
+	limitedh79extrapolation1$(EXEEXT) linearexpression1$(EXEEXT) \
+	linearpartition1$(EXEEXT) linearsystem1$(EXEEXT) \
 	mapspacedims1$(EXEEXT) matrix1$(EXEEXT) max_min1$(EXEEXT) \
 	maxspacedim1$(EXEEXT) mc91$(EXEEXT) membytes1$(EXEEXT) \
 	memory2$(EXEEXT) minconstraints1$(EXEEXT) \
@@ -147,18 +139,21 @@ am__EXEEXT_1 = termination1$(EXEEXT) termination2$(EXEEXT) \
 	permute$(EXEEXT) polydifference1$(EXEEXT) \
 	polydifference2$(EXEEXT) polyhull1$(EXEEXT) polyhull2$(EXEEXT) \
 	polyhullifexact1$(EXEEXT) polyhullifexact2$(EXEEXT) \
-	randphull1$(EXEEXT) refinewithconstraint1$(EXEEXT) \
-	refinewithconstraints1$(EXEEXT) refinewithcongruence1$(EXEEXT) \
-	refinewithcongruences1$(EXEEXT) relations1$(EXEEXT) \
+	randphull1$(EXEEXT) refinewithcongruence1$(EXEEXT) \
+	refinewithcongruences1$(EXEEXT) refinewithconstraint1$(EXEEXT) \
+	refinewithconstraints1$(EXEEXT) relations1$(EXEEXT) \
 	relations2$(EXEEXT) relations3$(EXEEXT) \
 	removespacedims1$(EXEEXT) removespacedims2$(EXEEXT) \
-	smm1$(EXEEXT) timeelapse1$(EXEEXT) timeelapse2$(EXEEXT) \
-	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
-	universe1$(EXEEXT) universe2$(EXEEXT) variablesset1$(EXEEXT) \
-	wrap1$(EXEEXT) wrap2$(EXEEXT) writeconsys1$(EXEEXT) \
-	writegensys1$(EXEEXT) writepolyhedron1$(EXEEXT) \
-	writepolyhedron2$(EXEEXT) writerelation1$(EXEEXT) \
-	writevariable1$(EXEEXT)
+	simplifyusingcontext1$(EXEEXT) smm1$(EXEEXT) \
+	sparserow1$(EXEEXT) termination1$(EXEEXT) \
+	termination2$(EXEEXT) timeelapse1$(EXEEXT) \
+	timeelapse2$(EXEEXT) topclosed1$(EXEEXT) topclosure1$(EXEEXT) \
+	unconstrain1$(EXEEXT) universe1$(EXEEXT) universe2$(EXEEXT) \
+	variablesset1$(EXEEXT) watchdog1$(EXEEXT) \
+	weightwatch1$(EXEEXT) wrap1$(EXEEXT) wrap2$(EXEEXT) \
+	writeconsys1$(EXEEXT) writegensys1$(EXEEXT) \
+	writepolyhedron1$(EXEEXT) writepolyhedron2$(EXEEXT) \
+	writerelation1$(EXEEXT) writevariable1$(EXEEXT)
 am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_addcongruences1$(EXEEXT) nnc_addconstraint1$(EXEEXT) \
 	nnc_addconstraints1$(EXEEXT) nnc_addgenerator1$(EXEEXT) \
@@ -199,18 +194,16 @@ am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_timeelapse1$(EXEEXT) nnc_unconstrain1$(EXEEXT) \
 	nnc_universe1$(EXEEXT) nnc_wrap1$(EXEEXT) nnc_wrap2$(EXEEXT) \
 	nnc_writepolyhedron1$(EXEEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_3 = watchdog1$(EXEEXT) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	weightwatch1$(EXEEXT)
-am__EXEEXT_4 = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
-am__EXEEXT_5 =
+am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
+am__EXEEXT_4 =
 am_addcongruence1_OBJECTS = addcongruence1.$(OBJEXT)
 addcongruence1_OBJECTS = $(am_addcongruence1_OBJECTS)
 addcongruence1_LDADD = $(LDADD)
 addcongruence1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
 addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
@@ -1689,6 +1682,12 @@ smm1_LDADD = $(LDADD)
 smm1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_sparserow1_OBJECTS = sparserow1.$(OBJEXT)
+sparserow1_OBJECTS = $(am_sparserow1_OBJECTS)
+sparserow1_LDADD = $(LDADD)
+sparserow1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_termination1_OBJECTS = termination1.$(OBJEXT)
 termination1_OBJECTS = $(am_termination1_OBJECTS)
 termination1_LDADD = $(LDADD)
@@ -1749,25 +1748,18 @@ variablesset1_LDADD = $(LDADD)
 variablesset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am__watchdog1_SOURCES_DIST = watchdog1.cc
-am__objects_1 = watchdog1-watchdog1.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_watchdog1_OBJECTS = $(am__objects_1)
+am_watchdog1_OBJECTS = watchdog1.$(OBJEXT)
 watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
-am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@am__DEPENDENCIES_2 =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_1) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(top_builddir)/Watchdog/src/libpwl.la
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
-am__weightwatch1_SOURCES_DIST = weightwatch1.cc
-am__objects_2 = weightwatch1-weightwatch1.$(OBJEXT)
- at BUILD_WATCHDOG_LIBRARY_TRUE@am_weightwatch1_OBJECTS =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__objects_2)
+watchdog1_LDADD = $(LDADD)
+watchdog1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_weightwatch1_OBJECTS = weightwatch1.$(OBJEXT)
 weightwatch1_OBJECTS = $(am_weightwatch1_OBJECTS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_DEPENDENCIES =  \
- at BUILD_WATCHDOG_LIBRARY_TRUE@	$(am__DEPENDENCIES_2)
+weightwatch1_LDADD = $(LDADD)
+weightwatch1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_wrap1_OBJECTS = wrap1.$(OBJEXT)
 wrap1_OBJECTS = $(am_wrap1_OBJECTS)
 wrap1_LDADD = $(LDADD)
@@ -1826,21 +1818,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
@@ -1942,16 +1934,16 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(smm1_SOURCES) \
-	$(termination1_SOURCES) $(termination2_SOURCES) \
-	$(timeelapse1_SOURCES) $(timeelapse2_SOURCES) \
-	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
-	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(universe2_SOURCES) $(variablesset1_SOURCES) \
-	$(watchdog1_SOURCES) $(weightwatch1_SOURCES) $(wrap1_SOURCES) \
-	$(wrap2_SOURCES) $(writeconsys1_SOURCES) \
-	$(writegensys1_SOURCES) $(writepolyhedron1_SOURCES) \
-	$(writepolyhedron2_SOURCES) $(writerelation1_SOURCES) \
-	$(writevariable1_SOURCES)
+	$(sparserow1_SOURCES) $(termination1_SOURCES) \
+	$(termination2_SOURCES) $(timeelapse1_SOURCES) \
+	$(timeelapse2_SOURCES) $(topclosed1_SOURCES) \
+	$(topclosure1_SOURCES) $(unconstrain1_SOURCES) \
+	$(universe1_SOURCES) $(universe2_SOURCES) \
+	$(variablesset1_SOURCES) $(watchdog1_SOURCES) \
+	$(weightwatch1_SOURCES) $(wrap1_SOURCES) $(wrap2_SOURCES) \
+	$(writeconsys1_SOURCES) $(writegensys1_SOURCES) \
+	$(writepolyhedron1_SOURCES) $(writepolyhedron2_SOURCES) \
+	$(writerelation1_SOURCES) $(writevariable1_SOURCES)
 DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
 	$(addconstraints2_SOURCES) $(addgenerator1_SOURCES) \
@@ -2052,16 +2044,16 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
 	$(simplifyusingcontext1_SOURCES) $(smm1_SOURCES) \
-	$(termination1_SOURCES) $(termination2_SOURCES) \
-	$(timeelapse1_SOURCES) $(timeelapse2_SOURCES) \
-	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
-	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(universe2_SOURCES) $(variablesset1_SOURCES) \
-	$(am__watchdog1_SOURCES_DIST) $(am__weightwatch1_SOURCES_DIST) \
-	$(wrap1_SOURCES) $(wrap2_SOURCES) $(writeconsys1_SOURCES) \
-	$(writegensys1_SOURCES) $(writepolyhedron1_SOURCES) \
-	$(writepolyhedron2_SOURCES) $(writerelation1_SOURCES) \
-	$(writevariable1_SOURCES)
+	$(sparserow1_SOURCES) $(termination1_SOURCES) \
+	$(termination2_SOURCES) $(timeelapse1_SOURCES) \
+	$(timeelapse2_SOURCES) $(topclosed1_SOURCES) \
+	$(topclosure1_SOURCES) $(unconstrain1_SOURCES) \
+	$(universe1_SOURCES) $(universe2_SOURCES) \
+	$(variablesset1_SOURCES) $(watchdog1_SOURCES) \
+	$(weightwatch1_SOURCES) $(wrap1_SOURCES) $(wrap2_SOURCES) \
+	$(writeconsys1_SOURCES) $(writegensys1_SOURCES) \
+	$(writepolyhedron1_SOURCES) $(writepolyhedron2_SOURCES) \
+	$(writerelation1_SOURCES) $(writevariable1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 am__tty_colors = \
@@ -2090,6 +2082,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -2114,21 +2107,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -2184,6 +2172,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -2252,7 +2241,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -2265,6 +2253,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -2285,9 +2274,6 @@ $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
 ORIGINAL_TESTS = \
-termination1 \
-termination2 \
-hybrid \
 addcongruence1 \
 addcongruences1 \
 addconstraint1 \
@@ -2334,12 +2320,12 @@ generalizedaffinepreimage1 generalizedaffinepreimage2 \
 generators1 \
 geomcovers1 \
 h79widening1 h79widening2 \
+hybrid \
 intersection1 \
-simplifyusingcontext1 \
 limitedbhrz03extrapolation1 \
 limitedh79extrapolation1 \
-linearpartition1 \
 linearexpression1 \
+linearpartition1 \
 linearsystem1 \
 mapspacedims1 \
 matrix1 \
@@ -2358,19 +2344,24 @@ polydifference1 polydifference2 \
 polyhull1 polyhull2 \
 polyhullifexact1 polyhullifexact2 \
 randphull1 \
-refinewithconstraint1 \
-refinewithconstraints1 \
 refinewithcongruence1 \
 refinewithcongruences1 \
+refinewithconstraint1 \
+refinewithconstraints1 \
 relations1 relations2 relations3 \
 removespacedims1 removespacedims2 \
+simplifyusingcontext1 \
 smm1 \
+sparserow1 \
+termination1 termination2 \
 timeelapse1 timeelapse2 \
 topclosed1 \
 topclosure1 \
 unconstrain1 \
 universe1 universe2 \
 variablesset1 \
+watchdog1 \
+weightwatch1 \
 wrap1 wrap2 \
 writeconsys1 \
 writegensys1 \
@@ -2451,9 +2442,6 @@ nnc_writepolyhedron1
 #
 # Sources for the tests
 #
-termination1_SOURCES = termination1.cc
-termination2_SOURCES = termination2.cc
-hybrid_SOURCES = hybrid.cc
 addcongruence1_SOURCES = addcongruence1.cc
 addcongruences1_SOURCES = addcongruences1.cc
 addconstraint1_SOURCES = addconstraint1.cc
@@ -2522,6 +2510,7 @@ generators1_SOURCES = generators1.cc
 geomcovers1_SOURCES = geomcovers1.cc
 h79widening1_SOURCES = h79widening1.cc
 h79widening2_SOURCES = h79widening2.cc
+hybrid_SOURCES = hybrid.cc
 intersection1_SOURCES = intersection1.cc
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 limitedbhrz03extrapolation1_SOURCES = limitedbhrz03extrapolation1.cc
@@ -2562,6 +2551,9 @@ relations3_SOURCES = relations3.cc
 removespacedims1_SOURCES = removespacedims1.cc
 removespacedims2_SOURCES = removespacedims2.cc
 smm1_SOURCES = smm1.cc
+sparserow1_SOURCES = sparserow1.cc
+termination1_SOURCES = termination1.cc
+termination2_SOURCES = termination2.cc
 timeelapse1_SOURCES = timeelapse1.cc
 timeelapse2_SOURCES = timeelapse2.cc
 topclosed1_SOURCES = topclosed1.cc
@@ -2570,6 +2562,8 @@ unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 universe2_SOURCES = universe2.cc
 variablesset1_SOURCES = variablesset1.cc
+watchdog1_SOURCES = watchdog1.cc
+weightwatch1_SOURCES = weightwatch1.cc
 wrap1_SOURCES = wrap1.cc
 wrap2_SOURCES = wrap2.cc
 writeconsys1_SOURCES = writeconsys1.cc
@@ -2734,50 +2728,13 @@ nnc_writepolyhedron1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 # Sources for the special tests.
 #
 memory1_SRCS = memory1.cc
-watchdog1_SRCS = watchdog1.cc
-weightwatch1_SRCS = weightwatch1.cc
-
-# The `memory1' test is currently disabled.  The reason is that there
-# is currently no reliable way to make it work, at least on Linux.
-# The reason is that memory is limited using RLIMIT_AS, which limits
-# brk, mmap and the stack: when we run out of stack, then of course
-# we crash.  So RLIMIT_AS cannot be used.  In principle, we could use
-# RLIMIT_DATA, which limits brk only.  However, glibc uses mmap when
-# it cannot obtain memory from brk (and perhaps in other cases as well),
-# but mmap is not limited by RLIMIT_DATA.  In summary, RLIMIT_AS limits
-# too much (in particular the stack, that should not be limited);
-# RLIMIT_DATA limits too little (it does not limit mmap, as we would like
-# it to).
-
-#VALGRIND_BRITTLE_TESTS = memory1
-
-#memory1_SOURCES = $(memory1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_TESTS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1 \
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_CPPFLAGS = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(AM_CPPFLAGS) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog \
- at BUILD_WATCHDOG_LIBRARY_TRUE@-I$(top_builddir)/Watchdog/src
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@WATCHDOG_LIBRARY_LDADD = \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(LDADD) \
- at BUILD_WATCHDOG_LIBRARY_TRUE@$(top_builddir)/Watchdog/src/libpwl.la
-
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_SOURCES = $(watchdog1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@watchdog1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_SOURCES = $(weightwatch1_SRCS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_CPPFLAGS = $(WATCHDOG_LIBRARY_CPPFLAGS)
- at BUILD_WATCHDOG_LIBRARY_TRUE@weightwatch1_LDADD = $(WATCHDOG_LIBRARY_LDADD)
-EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS) $(weightwatch1_SRCS)
+EXTRA_DIST = $(memory1_SRCS)
 BUGS = 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat \
 ascii_dump_load2.dat \
 ascii_dump_load3.dat \
-matrix1.dat \
+densematrix1.dat \
 linearsystem1.dat \
 writegensys1.dat \
 writepolyhedron1.dat \
@@ -2827,610 +2784,613 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) 
+addcongruence1$(EXEEXT): $(addcongruence1_OBJECTS) $(addcongruence1_DEPENDENCIES) $(EXTRA_addcongruence1_DEPENDENCIES) 
 	@rm -f addcongruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruence1_OBJECTS) $(addcongruence1_LDADD) $(LIBS)
-addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) $(EXTRA_addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
-addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) 
+addconstraint1$(EXEEXT): $(addconstraint1_OBJECTS) $(addconstraint1_DEPENDENCIES) $(EXTRA_addconstraint1_DEPENDENCIES) 
 	@rm -f addconstraint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraint1_OBJECTS) $(addconstraint1_LDADD) $(LIBS)
-addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) $(EXTRA_addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
-addconstraints2$(EXEEXT): $(addconstraints2_OBJECTS) $(addconstraints2_DEPENDENCIES) 
+addconstraints2$(EXEEXT): $(addconstraints2_OBJECTS) $(addconstraints2_DEPENDENCIES) $(EXTRA_addconstraints2_DEPENDENCIES) 
 	@rm -f addconstraints2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints2_OBJECTS) $(addconstraints2_LDADD) $(LIBS)
-addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) 
+addgenerator1$(EXEEXT): $(addgenerator1_OBJECTS) $(addgenerator1_DEPENDENCIES) $(EXTRA_addgenerator1_DEPENDENCIES) 
 	@rm -f addgenerator1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator1_OBJECTS) $(addgenerator1_LDADD) $(LIBS)
-addgenerator2$(EXEEXT): $(addgenerator2_OBJECTS) $(addgenerator2_DEPENDENCIES) 
+addgenerator2$(EXEEXT): $(addgenerator2_OBJECTS) $(addgenerator2_DEPENDENCIES) $(EXTRA_addgenerator2_DEPENDENCIES) 
 	@rm -f addgenerator2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerator2_OBJECTS) $(addgenerator2_LDADD) $(LIBS)
-addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) 
+addgenerators1$(EXEEXT): $(addgenerators1_OBJECTS) $(addgenerators1_DEPENDENCIES) $(EXTRA_addgenerators1_DEPENDENCIES) 
 	@rm -f addgenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators1_OBJECTS) $(addgenerators1_LDADD) $(LIBS)
-addgenerators2$(EXEEXT): $(addgenerators2_OBJECTS) $(addgenerators2_DEPENDENCIES) 
+addgenerators2$(EXEEXT): $(addgenerators2_OBJECTS) $(addgenerators2_DEPENDENCIES) $(EXTRA_addgenerators2_DEPENDENCIES) 
 	@rm -f addgenerators2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addgenerators2_OBJECTS) $(addgenerators2_LDADD) $(LIBS)
-addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) 
+addspacedims1$(EXEEXT): $(addspacedims1_OBJECTS) $(addspacedims1_DEPENDENCIES) $(EXTRA_addspacedims1_DEPENDENCIES) 
 	@rm -f addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims1_OBJECTS) $(addspacedims1_LDADD) $(LIBS)
-addspacedims2$(EXEEXT): $(addspacedims2_OBJECTS) $(addspacedims2_DEPENDENCIES) 
+addspacedims2$(EXEEXT): $(addspacedims2_OBJECTS) $(addspacedims2_DEPENDENCIES) $(EXTRA_addspacedims2_DEPENDENCIES) 
 	@rm -f addspacedims2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addspacedims2_OBJECTS) $(addspacedims2_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) 
+affineimage2$(EXEEXT): $(affineimage2_OBJECTS) $(affineimage2_DEPENDENCIES) $(EXTRA_affineimage2_DEPENDENCIES) 
 	@rm -f affineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage2_OBJECTS) $(affineimage2_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-affinetrans$(EXEEXT): $(affinetrans_OBJECTS) $(affinetrans_DEPENDENCIES) 
+affinetrans$(EXEEXT): $(affinetrans_OBJECTS) $(affinetrans_DEPENDENCIES) $(EXTRA_affinetrans_DEPENDENCIES) 
 	@rm -f affinetrans$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinetrans_OBJECTS) $(affinetrans_LDADD) $(LIBS)
-append1$(EXEEXT): $(append1_OBJECTS) $(append1_DEPENDENCIES) 
+append1$(EXEEXT): $(append1_OBJECTS) $(append1_DEPENDENCIES) $(EXTRA_append1_DEPENDENCIES) 
 	@rm -f append1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(append1_OBJECTS) $(append1_LDADD) $(LIBS)
-append2$(EXEEXT): $(append2_OBJECTS) $(append2_DEPENDENCIES) 
+append2$(EXEEXT): $(append2_OBJECTS) $(append2_DEPENDENCIES) $(EXTRA_append2_DEPENDENCIES) 
 	@rm -f append2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(append2_OBJECTS) $(append2_LDADD) $(LIBS)
-ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) 
+ascii_dump_load1$(EXEEXT): $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_DEPENDENCIES) $(EXTRA_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load1_OBJECTS) $(ascii_dump_load1_LDADD) $(LIBS)
-ascii_dump_load2$(EXEEXT): $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_DEPENDENCIES) 
+ascii_dump_load2$(EXEEXT): $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_DEPENDENCIES) $(EXTRA_ascii_dump_load2_DEPENDENCIES) 
 	@rm -f ascii_dump_load2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load2_OBJECTS) $(ascii_dump_load2_LDADD) $(LIBS)
-ascii_dump_load3$(EXEEXT): $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_DEPENDENCIES) 
+ascii_dump_load3$(EXEEXT): $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_DEPENDENCIES) $(EXTRA_ascii_dump_load3_DEPENDENCIES) 
 	@rm -f ascii_dump_load3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_LDADD) $(LIBS)
-bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
+bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) $(EXTRA_bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
-bgp99extrapolation2$(EXEEXT): $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_DEPENDENCIES) 
+bgp99extrapolation2$(EXEEXT): $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_DEPENDENCIES) $(EXTRA_bgp99extrapolation2_DEPENDENCIES) 
 	@rm -f bgp99extrapolation2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_LDADD) $(LIBS)
-bhrz03widening1$(EXEEXT): $(bhrz03widening1_OBJECTS) $(bhrz03widening1_DEPENDENCIES) 
+bhrz03widening1$(EXEEXT): $(bhrz03widening1_OBJECTS) $(bhrz03widening1_DEPENDENCIES) $(EXTRA_bhrz03widening1_DEPENDENCIES) 
 	@rm -f bhrz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening1_OBJECTS) $(bhrz03widening1_LDADD) $(LIBS)
-bhrz03widening2$(EXEEXT): $(bhrz03widening2_OBJECTS) $(bhrz03widening2_DEPENDENCIES) 
+bhrz03widening2$(EXEEXT): $(bhrz03widening2_OBJECTS) $(bhrz03widening2_DEPENDENCIES) $(EXTRA_bhrz03widening2_DEPENDENCIES) 
 	@rm -f bhrz03widening2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening2_OBJECTS) $(bhrz03widening2_LDADD) $(LIBS)
-bhrz03widening3$(EXEEXT): $(bhrz03widening3_OBJECTS) $(bhrz03widening3_DEPENDENCIES) 
+bhrz03widening3$(EXEEXT): $(bhrz03widening3_OBJECTS) $(bhrz03widening3_DEPENDENCIES) $(EXTRA_bhrz03widening3_DEPENDENCIES) 
 	@rm -f bhrz03widening3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhrz03widening3_OBJECTS) $(bhrz03widening3_LDADD) $(LIBS)
-bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) 
+bhz03widening1$(EXEEXT): $(bhz03widening1_OBJECTS) $(bhz03widening1_DEPENDENCIES) $(EXTRA_bhz03widening1_DEPENDENCIES) 
 	@rm -f bhz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bhz03widening1_OBJECTS) $(bhz03widening1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) 
+boundedaffineimage1$(EXEEXT): $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_DEPENDENCIES) $(EXTRA_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffineimage1_OBJECTS) $(boundedaffineimage1_LDADD) $(LIBS)
-boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) 
+boundedaffinepreimage1$(EXEEXT): $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedaffinepreimage1_OBJECTS) $(boundedaffinepreimage1_LDADD) $(LIBS)
-boundedbhrz03extrapolation1$(EXEEXT): $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_DEPENDENCIES) 
+boundedbhrz03extrapolation1$(EXEEXT): $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_DEPENDENCIES) $(EXTRA_boundedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f boundedbhrz03extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedbhrz03extrapolation1_OBJECTS) $(boundedbhrz03extrapolation1_LDADD) $(LIBS)
-boundedh79extrapolation1$(EXEEXT): $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_DEPENDENCIES) 
+boundedh79extrapolation1$(EXEEXT): $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_DEPENDENCIES) $(EXTRA_boundedh79extrapolation1_DEPENDENCIES) 
 	@rm -f boundedh79extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(boundedh79extrapolation1_OBJECTS) $(boundedh79extrapolation1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-cnncconversion1$(EXEEXT): $(cnncconversion1_OBJECTS) $(cnncconversion1_DEPENDENCIES) 
+cnncconversion1$(EXEEXT): $(cnncconversion1_OBJECTS) $(cnncconversion1_DEPENDENCIES) $(EXTRA_cnncconversion1_DEPENDENCIES) 
 	@rm -f cnncconversion1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(cnncconversion1_OBJECTS) $(cnncconversion1_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) 
+congruences1$(EXEEXT): $(congruences1_OBJECTS) $(congruences1_DEPENDENCIES) $(EXTRA_congruences1_DEPENDENCIES) 
 	@rm -f congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(congruences1_OBJECTS) $(congruences1_LDADD) $(LIBS)
-constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) 
+constrains1$(EXEEXT): $(constrains1_OBJECTS) $(constrains1_DEPENDENCIES) $(EXTRA_constrains1_DEPENDENCIES) 
 	@rm -f constrains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constrains1_OBJECTS) $(constrains1_LDADD) $(LIBS)
-constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) 
+constraints1$(EXEEXT): $(constraints1_OBJECTS) $(constraints1_DEPENDENCIES) $(EXTRA_constraints1_DEPENDENCIES) 
 	@rm -f constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(constraints1_OBJECTS) $(constraints1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-contains2$(EXEEXT): $(contains2_OBJECTS) $(contains2_DEPENDENCIES) 
+contains2$(EXEEXT): $(contains2_OBJECTS) $(contains2_DEPENDENCIES) $(EXTRA_contains2_DEPENDENCIES) 
 	@rm -f contains2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains2_OBJECTS) $(contains2_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-disjoint2$(EXEEXT): $(disjoint2_OBJECTS) $(disjoint2_DEPENDENCIES) 
+disjoint2$(EXEEXT): $(disjoint2_OBJECTS) $(disjoint2_DEPENDENCIES) $(EXTRA_disjoint2_DEPENDENCIES) 
 	@rm -f disjoint2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint2_OBJECTS) $(disjoint2_LDADD) $(LIBS)
-dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) 
+dropsomenonintegerpoints1$(EXEEXT): $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_DEPENDENCIES) $(EXTRA_dropsomenonintegerpoints1_DEPENDENCIES) 
 	@rm -f dropsomenonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints1_OBJECTS) $(dropsomenonintegerpoints1_LDADD) $(LIBS)
-dropsomenonintegerpoints2$(EXEEXT): $(dropsomenonintegerpoints2_OBJECTS) $(dropsomenonintegerpoints2_DEPENDENCIES) 
+dropsomenonintegerpoints2$(EXEEXT): $(dropsomenonintegerpoints2_OBJECTS) $(dropsomenonintegerpoints2_DEPENDENCIES) $(EXTRA_dropsomenonintegerpoints2_DEPENDENCIES) 
 	@rm -f dropsomenonintegerpoints2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dropsomenonintegerpoints2_OBJECTS) $(dropsomenonintegerpoints2_LDADD) $(LIBS)
-dualhypercubes$(EXEEXT): $(dualhypercubes_OBJECTS) $(dualhypercubes_DEPENDENCIES) 
+dualhypercubes$(EXEEXT): $(dualhypercubes_OBJECTS) $(dualhypercubes_DEPENDENCIES) $(EXTRA_dualhypercubes_DEPENDENCIES) 
 	@rm -f dualhypercubes$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(dualhypercubes_OBJECTS) $(dualhypercubes_LDADD) $(LIBS)
-empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) $(EXTRA_empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
-equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) $(EXTRA_equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
-exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) 
+exceptions1$(EXEEXT): $(exceptions1_OBJECTS) $(exceptions1_DEPENDENCIES) $(EXTRA_exceptions1_DEPENDENCIES) 
 	@rm -f exceptions1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(exceptions1_OBJECTS) $(exceptions1_LDADD) $(LIBS)
-exceptions2$(EXEEXT): $(exceptions2_OBJECTS) $(exceptions2_DEPENDENCIES) 
+exceptions2$(EXEEXT): $(exceptions2_OBJECTS) $(exceptions2_DEPENDENCIES) $(EXTRA_exceptions2_DEPENDENCIES) 
 	@rm -f exceptions2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(exceptions2_OBJECTS) $(exceptions2_LDADD) $(LIBS)
-exceptions3$(EXEEXT): $(exceptions3_OBJECTS) $(exceptions3_DEPENDENCIES) 
+exceptions3$(EXEEXT): $(exceptions3_OBJECTS) $(exceptions3_DEPENDENCIES) $(EXTRA_exceptions3_DEPENDENCIES) 
 	@rm -f exceptions3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(exceptions3_OBJECTS) $(exceptions3_LDADD) $(LIBS)
-expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) 
+expandspacedim1$(EXEEXT): $(expandspacedim1_OBJECTS) $(expandspacedim1_DEPENDENCIES) $(EXTRA_expandspacedim1_DEPENDENCIES) 
 	@rm -f expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim1_OBJECTS) $(expandspacedim1_LDADD) $(LIBS)
-expandspacedim2$(EXEEXT): $(expandspacedim2_OBJECTS) $(expandspacedim2_DEPENDENCIES) 
+expandspacedim2$(EXEEXT): $(expandspacedim2_OBJECTS) $(expandspacedim2_DEPENDENCIES) $(EXTRA_expandspacedim2_DEPENDENCIES) 
 	@rm -f expandspacedim2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(expandspacedim2_OBJECTS) $(expandspacedim2_LDADD) $(LIBS)
-foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) 
+foldspacedims1$(EXEEXT): $(foldspacedims1_OBJECTS) $(foldspacedims1_DEPENDENCIES) $(EXTRA_foldspacedims1_DEPENDENCIES) 
 	@rm -f foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims1_OBJECTS) $(foldspacedims1_LDADD) $(LIBS)
-foldspacedims2$(EXEEXT): $(foldspacedims2_OBJECTS) $(foldspacedims2_DEPENDENCIES) 
+foldspacedims2$(EXEEXT): $(foldspacedims2_OBJECTS) $(foldspacedims2_DEPENDENCIES) $(EXTRA_foldspacedims2_DEPENDENCIES) 
 	@rm -f foldspacedims2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(foldspacedims2_OBJECTS) $(foldspacedims2_LDADD) $(LIBS)
-frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) 
+frequency1$(EXEEXT): $(frequency1_OBJECTS) $(frequency1_DEPENDENCIES) $(EXTRA_frequency1_DEPENDENCIES) 
 	@rm -f frequency1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frequency1_OBJECTS) $(frequency1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-frombox2$(EXEEXT): $(frombox2_OBJECTS) $(frombox2_DEPENDENCIES) 
+frombox2$(EXEEXT): $(frombox2_OBJECTS) $(frombox2_DEPENDENCIES) $(EXTRA_frombox2_DEPENDENCIES) 
 	@rm -f frombox2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox2_OBJECTS) $(frombox2_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) 
+generalizedaffineimage1$(EXEEXT): $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_DEPENDENCIES) $(EXTRA_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage1_OBJECTS) $(generalizedaffineimage1_LDADD) $(LIBS)
-generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) 
+generalizedaffineimage2$(EXEEXT): $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_DEPENDENCIES) $(EXTRA_generalizedaffineimage2_DEPENDENCIES) 
 	@rm -f generalizedaffineimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffineimage2_OBJECTS) $(generalizedaffineimage2_LDADD) $(LIBS)
-generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) 
+generalizedaffinepreimage1$(EXEEXT): $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage1_OBJECTS) $(generalizedaffinepreimage1_LDADD) $(LIBS)
-generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) 
+generalizedaffinepreimage2$(EXEEXT): $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_DEPENDENCIES) $(EXTRA_generalizedaffinepreimage2_DEPENDENCIES) 
 	@rm -f generalizedaffinepreimage2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generalizedaffinepreimage2_OBJECTS) $(generalizedaffinepreimage2_LDADD) $(LIBS)
-generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) 
+generators1$(EXEEXT): $(generators1_OBJECTS) $(generators1_DEPENDENCIES) $(EXTRA_generators1_DEPENDENCIES) 
 	@rm -f generators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(generators1_OBJECTS) $(generators1_LDADD) $(LIBS)
-geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) 
+geomcovers1$(EXEEXT): $(geomcovers1_OBJECTS) $(geomcovers1_DEPENDENCIES) $(EXTRA_geomcovers1_DEPENDENCIES) 
 	@rm -f geomcovers1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(geomcovers1_OBJECTS) $(geomcovers1_LDADD) $(LIBS)
-h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) 
+h79widening1$(EXEEXT): $(h79widening1_OBJECTS) $(h79widening1_DEPENDENCIES) $(EXTRA_h79widening1_DEPENDENCIES) 
 	@rm -f h79widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(h79widening1_OBJECTS) $(h79widening1_LDADD) $(LIBS)
-h79widening2$(EXEEXT): $(h79widening2_OBJECTS) $(h79widening2_DEPENDENCIES) 
+h79widening2$(EXEEXT): $(h79widening2_OBJECTS) $(h79widening2_DEPENDENCIES) $(EXTRA_h79widening2_DEPENDENCIES) 
 	@rm -f h79widening2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(h79widening2_OBJECTS) $(h79widening2_LDADD) $(LIBS)
-hybrid$(EXEEXT): $(hybrid_OBJECTS) $(hybrid_DEPENDENCIES) 
+hybrid$(EXEEXT): $(hybrid_OBJECTS) $(hybrid_DEPENDENCIES) $(EXTRA_hybrid_DEPENDENCIES) 
 	@rm -f hybrid$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(hybrid_OBJECTS) $(hybrid_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-limitedbhrz03extrapolation1$(EXEEXT): $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_DEPENDENCIES) 
+limitedbhrz03extrapolation1$(EXEEXT): $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_DEPENDENCIES) $(EXTRA_limitedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f limitedbhrz03extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedbhrz03extrapolation1_OBJECTS) $(limitedbhrz03extrapolation1_LDADD) $(LIBS)
-limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) 
+limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) $(EXTRA_limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f limitedh79extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
-linearexpression1$(EXEEXT): $(linearexpression1_OBJECTS) $(linearexpression1_DEPENDENCIES) 
+linearexpression1$(EXEEXT): $(linearexpression1_OBJECTS) $(linearexpression1_DEPENDENCIES) $(EXTRA_linearexpression1_DEPENDENCIES) 
 	@rm -f linearexpression1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(linearexpression1_OBJECTS) $(linearexpression1_LDADD) $(LIBS)
-linearpartition1$(EXEEXT): $(linearpartition1_OBJECTS) $(linearpartition1_DEPENDENCIES) 
+linearpartition1$(EXEEXT): $(linearpartition1_OBJECTS) $(linearpartition1_DEPENDENCIES) $(EXTRA_linearpartition1_DEPENDENCIES) 
 	@rm -f linearpartition1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(linearpartition1_OBJECTS) $(linearpartition1_LDADD) $(LIBS)
-linearsystem1$(EXEEXT): $(linearsystem1_OBJECTS) $(linearsystem1_DEPENDENCIES) 
+linearsystem1$(EXEEXT): $(linearsystem1_OBJECTS) $(linearsystem1_DEPENDENCIES) $(EXTRA_linearsystem1_DEPENDENCIES) 
 	@rm -f linearsystem1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(linearsystem1_OBJECTS) $(linearsystem1_LDADD) $(LIBS)
-mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
+mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) $(EXTRA_mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
-matrix1$(EXEEXT): $(matrix1_OBJECTS) $(matrix1_DEPENDENCIES) 
+matrix1$(EXEEXT): $(matrix1_OBJECTS) $(matrix1_DEPENDENCIES) $(EXTRA_matrix1_DEPENDENCIES) 
 	@rm -f matrix1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(matrix1_OBJECTS) $(matrix1_LDADD) $(LIBS)
-max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) 
+max_min1$(EXEEXT): $(max_min1_OBJECTS) $(max_min1_DEPENDENCIES) $(EXTRA_max_min1_DEPENDENCIES) 
 	@rm -f max_min1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(max_min1_OBJECTS) $(max_min1_LDADD) $(LIBS)
-maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) 
+maxspacedim1$(EXEEXT): $(maxspacedim1_OBJECTS) $(maxspacedim1_DEPENDENCIES) $(EXTRA_maxspacedim1_DEPENDENCIES) 
 	@rm -f maxspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxspacedim1_OBJECTS) $(maxspacedim1_LDADD) $(LIBS)
-mc91$(EXEEXT): $(mc91_OBJECTS) $(mc91_DEPENDENCIES) 
+mc91$(EXEEXT): $(mc91_OBJECTS) $(mc91_DEPENDENCIES) $(EXTRA_mc91_DEPENDENCIES) 
 	@rm -f mc91$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mc91_OBJECTS) $(mc91_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-memory2$(EXEEXT): $(memory2_OBJECTS) $(memory2_DEPENDENCIES) 
+memory2$(EXEEXT): $(memory2_OBJECTS) $(memory2_DEPENDENCIES) $(EXTRA_memory2_DEPENDENCIES) 
 	@rm -f memory2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(memory2_OBJECTS) $(memory2_LDADD) $(LIBS)
-minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
+minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) $(EXTRA_minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-minconstraints2$(EXEEXT): $(minconstraints2_OBJECTS) $(minconstraints2_DEPENDENCIES) 
+minconstraints2$(EXEEXT): $(minconstraints2_OBJECTS) $(minconstraints2_DEPENDENCIES) $(EXTRA_minconstraints2_DEPENDENCIES) 
 	@rm -f minconstraints2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(minconstraints2_OBJECTS) $(minconstraints2_LDADD) $(LIBS)
-mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) 
+mingenerators1$(EXEEXT): $(mingenerators1_OBJECTS) $(mingenerators1_DEPENDENCIES) $(EXTRA_mingenerators1_DEPENDENCIES) 
 	@rm -f mingenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators1_OBJECTS) $(mingenerators1_LDADD) $(LIBS)
-mingenerators2$(EXEEXT): $(mingenerators2_OBJECTS) $(mingenerators2_DEPENDENCIES) 
+mingenerators2$(EXEEXT): $(mingenerators2_OBJECTS) $(mingenerators2_DEPENDENCIES) $(EXTRA_mingenerators2_DEPENDENCIES) 
 	@rm -f mingenerators2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(mingenerators2_OBJECTS) $(mingenerators2_LDADD) $(LIBS)
-nnc_addcongruence1$(EXEEXT): $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_DEPENDENCIES) 
+nnc_addcongruence1$(EXEEXT): $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_DEPENDENCIES) $(EXTRA_nnc_addcongruence1_DEPENDENCIES) 
 	@rm -f nnc_addcongruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addcongruence1_LINK) $(nnc_addcongruence1_OBJECTS) $(nnc_addcongruence1_LDADD) $(LIBS)
-nnc_addcongruences1$(EXEEXT): $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_DEPENDENCIES) 
+nnc_addcongruences1$(EXEEXT): $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_DEPENDENCIES) $(EXTRA_nnc_addcongruences1_DEPENDENCIES) 
 	@rm -f nnc_addcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addcongruences1_LINK) $(nnc_addcongruences1_OBJECTS) $(nnc_addcongruences1_LDADD) $(LIBS)
-nnc_addconstraint1$(EXEEXT): $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_DEPENDENCIES) 
+nnc_addconstraint1$(EXEEXT): $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_DEPENDENCIES) $(EXTRA_nnc_addconstraint1_DEPENDENCIES) 
 	@rm -f nnc_addconstraint1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addconstraint1_LINK) $(nnc_addconstraint1_OBJECTS) $(nnc_addconstraint1_LDADD) $(LIBS)
-nnc_addconstraints1$(EXEEXT): $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_DEPENDENCIES) 
+nnc_addconstraints1$(EXEEXT): $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_DEPENDENCIES) $(EXTRA_nnc_addconstraints1_DEPENDENCIES) 
 	@rm -f nnc_addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addconstraints1_LINK) $(nnc_addconstraints1_OBJECTS) $(nnc_addconstraints1_LDADD) $(LIBS)
-nnc_addgenerator1$(EXEEXT): $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_DEPENDENCIES) 
+nnc_addgenerator1$(EXEEXT): $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_DEPENDENCIES) $(EXTRA_nnc_addgenerator1_DEPENDENCIES) 
 	@rm -f nnc_addgenerator1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addgenerator1_LINK) $(nnc_addgenerator1_OBJECTS) $(nnc_addgenerator1_LDADD) $(LIBS)
-nnc_addgenerators1$(EXEEXT): $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_DEPENDENCIES) 
+nnc_addgenerators1$(EXEEXT): $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_DEPENDENCIES) $(EXTRA_nnc_addgenerators1_DEPENDENCIES) 
 	@rm -f nnc_addgenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addgenerators1_LINK) $(nnc_addgenerators1_OBJECTS) $(nnc_addgenerators1_LDADD) $(LIBS)
-nnc_addspacedims1$(EXEEXT): $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_DEPENDENCIES) 
+nnc_addspacedims1$(EXEEXT): $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_DEPENDENCIES) $(EXTRA_nnc_addspacedims1_DEPENDENCIES) 
 	@rm -f nnc_addspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_addspacedims1_LINK) $(nnc_addspacedims1_OBJECTS) $(nnc_addspacedims1_LDADD) $(LIBS)
-nnc_affineimage1$(EXEEXT): $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_DEPENDENCIES) 
+nnc_affineimage1$(EXEEXT): $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_DEPENDENCIES) $(EXTRA_nnc_affineimage1_DEPENDENCIES) 
 	@rm -f nnc_affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_affineimage1_LINK) $(nnc_affineimage1_OBJECTS) $(nnc_affineimage1_LDADD) $(LIBS)
-nnc_affinepreimage1$(EXEEXT): $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_DEPENDENCIES) 
+nnc_affinepreimage1$(EXEEXT): $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_DEPENDENCIES) $(EXTRA_nnc_affinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_affinepreimage1_LINK) $(nnc_affinepreimage1_OBJECTS) $(nnc_affinepreimage1_LDADD) $(LIBS)
-nnc_affinetrans$(EXEEXT): $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_DEPENDENCIES) 
+nnc_affinetrans$(EXEEXT): $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_DEPENDENCIES) $(EXTRA_nnc_affinetrans_DEPENDENCIES) 
 	@rm -f nnc_affinetrans$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_affinetrans_LINK) $(nnc_affinetrans_OBJECTS) $(nnc_affinetrans_LDADD) $(LIBS)
-nnc_append1$(EXEEXT): $(nnc_append1_OBJECTS) $(nnc_append1_DEPENDENCIES) 
+nnc_append1$(EXEEXT): $(nnc_append1_OBJECTS) $(nnc_append1_DEPENDENCIES) $(EXTRA_nnc_append1_DEPENDENCIES) 
 	@rm -f nnc_append1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_append1_LINK) $(nnc_append1_OBJECTS) $(nnc_append1_LDADD) $(LIBS)
-nnc_append2$(EXEEXT): $(nnc_append2_OBJECTS) $(nnc_append2_DEPENDENCIES) 
+nnc_append2$(EXEEXT): $(nnc_append2_OBJECTS) $(nnc_append2_DEPENDENCIES) $(EXTRA_nnc_append2_DEPENDENCIES) 
 	@rm -f nnc_append2$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_append2_LINK) $(nnc_append2_OBJECTS) $(nnc_append2_LDADD) $(LIBS)
-nnc_ascii_dump_load1$(EXEEXT): $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_DEPENDENCIES) 
+nnc_ascii_dump_load1$(EXEEXT): $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_DEPENDENCIES) $(EXTRA_nnc_ascii_dump_load1_DEPENDENCIES) 
 	@rm -f nnc_ascii_dump_load1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_ascii_dump_load1_LINK) $(nnc_ascii_dump_load1_OBJECTS) $(nnc_ascii_dump_load1_LDADD) $(LIBS)
-nnc_ascii_dump_load2$(EXEEXT): $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_DEPENDENCIES) 
+nnc_ascii_dump_load2$(EXEEXT): $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_DEPENDENCIES) $(EXTRA_nnc_ascii_dump_load2_DEPENDENCIES) 
 	@rm -f nnc_ascii_dump_load2$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_ascii_dump_load2_LINK) $(nnc_ascii_dump_load2_OBJECTS) $(nnc_ascii_dump_load2_LDADD) $(LIBS)
-nnc_bgp99extrapolation1$(EXEEXT): $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_DEPENDENCIES) 
+nnc_bgp99extrapolation1$(EXEEXT): $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_DEPENDENCIES) $(EXTRA_nnc_bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_bgp99extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_bgp99extrapolation1_LINK) $(nnc_bgp99extrapolation1_OBJECTS) $(nnc_bgp99extrapolation1_LDADD) $(LIBS)
-nnc_bhrz03widening1$(EXEEXT): $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_DEPENDENCIES) 
+nnc_bhrz03widening1$(EXEEXT): $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_DEPENDENCIES) $(EXTRA_nnc_bhrz03widening1_DEPENDENCIES) 
 	@rm -f nnc_bhrz03widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_bhrz03widening1_LINK) $(nnc_bhrz03widening1_OBJECTS) $(nnc_bhrz03widening1_LDADD) $(LIBS)
-nnc_bhrz03widening2$(EXEEXT): $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_DEPENDENCIES) 
+nnc_bhrz03widening2$(EXEEXT): $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_DEPENDENCIES) $(EXTRA_nnc_bhrz03widening2_DEPENDENCIES) 
 	@rm -f nnc_bhrz03widening2$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_bhrz03widening2_LINK) $(nnc_bhrz03widening2_OBJECTS) $(nnc_bhrz03widening2_LDADD) $(LIBS)
-nnc_bounded1$(EXEEXT): $(nnc_bounded1_OBJECTS) $(nnc_bounded1_DEPENDENCIES) 
+nnc_bounded1$(EXEEXT): $(nnc_bounded1_OBJECTS) $(nnc_bounded1_DEPENDENCIES) $(EXTRA_nnc_bounded1_DEPENDENCIES) 
 	@rm -f nnc_bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_bounded1_LINK) $(nnc_bounded1_OBJECTS) $(nnc_bounded1_LDADD) $(LIBS)
-nnc_boundedaffineimage1$(EXEEXT): $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_DEPENDENCIES) 
+nnc_boundedaffineimage1$(EXEEXT): $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_DEPENDENCIES) $(EXTRA_nnc_boundedaffineimage1_DEPENDENCIES) 
 	@rm -f nnc_boundedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_boundedaffineimage1_LINK) $(nnc_boundedaffineimage1_OBJECTS) $(nnc_boundedaffineimage1_LDADD) $(LIBS)
-nnc_boundedaffinepreimage1$(EXEEXT): $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_DEPENDENCIES) 
+nnc_boundedaffinepreimage1$(EXEEXT): $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_DEPENDENCIES) $(EXTRA_nnc_boundedaffinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_boundedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_boundedaffinepreimage1_LINK) $(nnc_boundedaffinepreimage1_OBJECTS) $(nnc_boundedaffinepreimage1_LDADD) $(LIBS)
-nnc_boundedbhrz03extrapolation1$(EXEEXT): $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_DEPENDENCIES) 
+nnc_boundedbhrz03extrapolation1$(EXEEXT): $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_DEPENDENCIES) $(EXTRA_nnc_boundedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_boundedbhrz03extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(nnc_boundedbhrz03extrapolation1_OBJECTS) $(nnc_boundedbhrz03extrapolation1_LDADD) $(LIBS)
-nnc_boundedh79extrapolation1$(EXEEXT): $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_DEPENDENCIES) 
+nnc_boundedh79extrapolation1$(EXEEXT): $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_DEPENDENCIES) $(EXTRA_nnc_boundedh79extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_boundedh79extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_boundedh79extrapolation1_LINK) $(nnc_boundedh79extrapolation1_OBJECTS) $(nnc_boundedh79extrapolation1_LDADD) $(LIBS)
-nnc_bounds1$(EXEEXT): $(nnc_bounds1_OBJECTS) $(nnc_bounds1_DEPENDENCIES) 
+nnc_bounds1$(EXEEXT): $(nnc_bounds1_OBJECTS) $(nnc_bounds1_DEPENDENCIES) $(EXTRA_nnc_bounds1_DEPENDENCIES) 
 	@rm -f nnc_bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_bounds1_LINK) $(nnc_bounds1_OBJECTS) $(nnc_bounds1_LDADD) $(LIBS)
-nnc_concatenate1$(EXEEXT): $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_DEPENDENCIES) 
+nnc_concatenate1$(EXEEXT): $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_DEPENDENCIES) $(EXTRA_nnc_concatenate1_DEPENDENCIES) 
 	@rm -f nnc_concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_concatenate1_LINK) $(nnc_concatenate1_OBJECTS) $(nnc_concatenate1_LDADD) $(LIBS)
-nnc_congruences1$(EXEEXT): $(nnc_congruences1_OBJECTS) $(nnc_congruences1_DEPENDENCIES) 
+nnc_congruences1$(EXEEXT): $(nnc_congruences1_OBJECTS) $(nnc_congruences1_DEPENDENCIES) $(EXTRA_nnc_congruences1_DEPENDENCIES) 
 	@rm -f nnc_congruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_congruences1_LINK) $(nnc_congruences1_OBJECTS) $(nnc_congruences1_LDADD) $(LIBS)
-nnc_constrains1$(EXEEXT): $(nnc_constrains1_OBJECTS) $(nnc_constrains1_DEPENDENCIES) 
+nnc_constrains1$(EXEEXT): $(nnc_constrains1_OBJECTS) $(nnc_constrains1_DEPENDENCIES) $(EXTRA_nnc_constrains1_DEPENDENCIES) 
 	@rm -f nnc_constrains1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_constrains1_LINK) $(nnc_constrains1_OBJECTS) $(nnc_constrains1_LDADD) $(LIBS)
-nnc_constraints1$(EXEEXT): $(nnc_constraints1_OBJECTS) $(nnc_constraints1_DEPENDENCIES) 
+nnc_constraints1$(EXEEXT): $(nnc_constraints1_OBJECTS) $(nnc_constraints1_DEPENDENCIES) $(EXTRA_nnc_constraints1_DEPENDENCIES) 
 	@rm -f nnc_constraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_constraints1_LINK) $(nnc_constraints1_OBJECTS) $(nnc_constraints1_LDADD) $(LIBS)
-nnc_contains1$(EXEEXT): $(nnc_contains1_OBJECTS) $(nnc_contains1_DEPENDENCIES) 
+nnc_contains1$(EXEEXT): $(nnc_contains1_OBJECTS) $(nnc_contains1_DEPENDENCIES) $(EXTRA_nnc_contains1_DEPENDENCIES) 
 	@rm -f nnc_contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_contains1_LINK) $(nnc_contains1_OBJECTS) $(nnc_contains1_LDADD) $(LIBS)
-nnc_containsintegerpoint1$(EXEEXT): $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_DEPENDENCIES) 
+nnc_containsintegerpoint1$(EXEEXT): $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_DEPENDENCIES) $(EXTRA_nnc_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f nnc_containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_containsintegerpoint1_LINK) $(nnc_containsintegerpoint1_OBJECTS) $(nnc_containsintegerpoint1_LDADD) $(LIBS)
-nnc_disjoint1$(EXEEXT): $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_DEPENDENCIES) 
+nnc_disjoint1$(EXEEXT): $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_DEPENDENCIES) $(EXTRA_nnc_disjoint1_DEPENDENCIES) 
 	@rm -f nnc_disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_disjoint1_LINK) $(nnc_disjoint1_OBJECTS) $(nnc_disjoint1_LDADD) $(LIBS)
-nnc_dropsomenonintegerpoints1$(EXEEXT): $(nnc_dropsomenonintegerpoints1_OBJECTS) $(nnc_dropsomenonintegerpoints1_DEPENDENCIES) 
+nnc_dropsomenonintegerpoints1$(EXEEXT): $(nnc_dropsomenonintegerpoints1_OBJECTS) $(nnc_dropsomenonintegerpoints1_DEPENDENCIES) $(EXTRA_nnc_dropsomenonintegerpoints1_DEPENDENCIES) 
 	@rm -f nnc_dropsomenonintegerpoints1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_dropsomenonintegerpoints1_LINK) $(nnc_dropsomenonintegerpoints1_OBJECTS) $(nnc_dropsomenonintegerpoints1_LDADD) $(LIBS)
-nnc_empty1$(EXEEXT): $(nnc_empty1_OBJECTS) $(nnc_empty1_DEPENDENCIES) 
+nnc_empty1$(EXEEXT): $(nnc_empty1_OBJECTS) $(nnc_empty1_DEPENDENCIES) $(EXTRA_nnc_empty1_DEPENDENCIES) 
 	@rm -f nnc_empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_empty1_LINK) $(nnc_empty1_OBJECTS) $(nnc_empty1_LDADD) $(LIBS)
-nnc_equals1$(EXEEXT): $(nnc_equals1_OBJECTS) $(nnc_equals1_DEPENDENCIES) 
+nnc_equals1$(EXEEXT): $(nnc_equals1_OBJECTS) $(nnc_equals1_DEPENDENCIES) $(EXTRA_nnc_equals1_DEPENDENCIES) 
 	@rm -f nnc_equals1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_equals1_LINK) $(nnc_equals1_OBJECTS) $(nnc_equals1_LDADD) $(LIBS)
-nnc_exceptions1$(EXEEXT): $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_DEPENDENCIES) 
+nnc_exceptions1$(EXEEXT): $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_DEPENDENCIES) $(EXTRA_nnc_exceptions1_DEPENDENCIES) 
 	@rm -f nnc_exceptions1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_exceptions1_LINK) $(nnc_exceptions1_OBJECTS) $(nnc_exceptions1_LDADD) $(LIBS)
-nnc_exceptions3$(EXEEXT): $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_DEPENDENCIES) 
+nnc_exceptions3$(EXEEXT): $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_DEPENDENCIES) $(EXTRA_nnc_exceptions3_DEPENDENCIES) 
 	@rm -f nnc_exceptions3$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_exceptions3_LINK) $(nnc_exceptions3_OBJECTS) $(nnc_exceptions3_LDADD) $(LIBS)
-nnc_expandspacedim1$(EXEEXT): $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_DEPENDENCIES) 
+nnc_expandspacedim1$(EXEEXT): $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_DEPENDENCIES) $(EXTRA_nnc_expandspacedim1_DEPENDENCIES) 
 	@rm -f nnc_expandspacedim1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_expandspacedim1_LINK) $(nnc_expandspacedim1_OBJECTS) $(nnc_expandspacedim1_LDADD) $(LIBS)
-nnc_foldspacedims1$(EXEEXT): $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_DEPENDENCIES) 
+nnc_foldspacedims1$(EXEEXT): $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_DEPENDENCIES) $(EXTRA_nnc_foldspacedims1_DEPENDENCIES) 
 	@rm -f nnc_foldspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_foldspacedims1_LINK) $(nnc_foldspacedims1_OBJECTS) $(nnc_foldspacedims1_LDADD) $(LIBS)
-nnc_frombdshape1$(EXEEXT): $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_DEPENDENCIES) 
+nnc_frombdshape1$(EXEEXT): $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_DEPENDENCIES) $(EXTRA_nnc_frombdshape1_DEPENDENCIES) 
 	@rm -f nnc_frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_frombdshape1_LINK) $(nnc_frombdshape1_OBJECTS) $(nnc_frombdshape1_LDADD) $(LIBS)
-nnc_frombox1$(EXEEXT): $(nnc_frombox1_OBJECTS) $(nnc_frombox1_DEPENDENCIES) 
+nnc_frombox1$(EXEEXT): $(nnc_frombox1_OBJECTS) $(nnc_frombox1_DEPENDENCIES) $(EXTRA_nnc_frombox1_DEPENDENCIES) 
 	@rm -f nnc_frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_frombox1_LINK) $(nnc_frombox1_OBJECTS) $(nnc_frombox1_LDADD) $(LIBS)
-nnc_fromgrid1$(EXEEXT): $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_DEPENDENCIES) 
+nnc_fromgrid1$(EXEEXT): $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_DEPENDENCIES) $(EXTRA_nnc_fromgrid1_DEPENDENCIES) 
 	@rm -f nnc_fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_fromgrid1_LINK) $(nnc_fromgrid1_OBJECTS) $(nnc_fromgrid1_LDADD) $(LIBS)
-nnc_fromoctagonalshape1$(EXEEXT): $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_DEPENDENCIES) 
+nnc_fromoctagonalshape1$(EXEEXT): $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_DEPENDENCIES) $(EXTRA_nnc_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f nnc_fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_fromoctagonalshape1_LINK) $(nnc_fromoctagonalshape1_OBJECTS) $(nnc_fromoctagonalshape1_LDADD) $(LIBS)
-nnc_generalizedaffineimage1$(EXEEXT): $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_DEPENDENCIES) 
+nnc_generalizedaffineimage1$(EXEEXT): $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_DEPENDENCIES) $(EXTRA_nnc_generalizedaffineimage1_DEPENDENCIES) 
 	@rm -f nnc_generalizedaffineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_generalizedaffineimage1_LINK) $(nnc_generalizedaffineimage1_OBJECTS) $(nnc_generalizedaffineimage1_LDADD) $(LIBS)
-nnc_generalizedaffinepreimage1$(EXEEXT): $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_DEPENDENCIES) 
+nnc_generalizedaffinepreimage1$(EXEEXT): $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_DEPENDENCIES) $(EXTRA_nnc_generalizedaffinepreimage1_DEPENDENCIES) 
 	@rm -f nnc_generalizedaffinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_generalizedaffinepreimage1_LINK) $(nnc_generalizedaffinepreimage1_OBJECTS) $(nnc_generalizedaffinepreimage1_LDADD) $(LIBS)
-nnc_generators1$(EXEEXT): $(nnc_generators1_OBJECTS) $(nnc_generators1_DEPENDENCIES) 
+nnc_generators1$(EXEEXT): $(nnc_generators1_OBJECTS) $(nnc_generators1_DEPENDENCIES) $(EXTRA_nnc_generators1_DEPENDENCIES) 
 	@rm -f nnc_generators1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_generators1_LINK) $(nnc_generators1_OBJECTS) $(nnc_generators1_LDADD) $(LIBS)
-nnc_geomcovers1$(EXEEXT): $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_DEPENDENCIES) 
+nnc_geomcovers1$(EXEEXT): $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_DEPENDENCIES) $(EXTRA_nnc_geomcovers1_DEPENDENCIES) 
 	@rm -f nnc_geomcovers1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_geomcovers1_LINK) $(nnc_geomcovers1_OBJECTS) $(nnc_geomcovers1_LDADD) $(LIBS)
-nnc_h79widening1$(EXEEXT): $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_DEPENDENCIES) 
+nnc_h79widening1$(EXEEXT): $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_DEPENDENCIES) $(EXTRA_nnc_h79widening1_DEPENDENCIES) 
 	@rm -f nnc_h79widening1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_h79widening1_LINK) $(nnc_h79widening1_OBJECTS) $(nnc_h79widening1_LDADD) $(LIBS)
-nnc_intersection1$(EXEEXT): $(nnc_intersection1_OBJECTS) $(nnc_intersection1_DEPENDENCIES) 
+nnc_intersection1$(EXEEXT): $(nnc_intersection1_OBJECTS) $(nnc_intersection1_DEPENDENCIES) $(EXTRA_nnc_intersection1_DEPENDENCIES) 
 	@rm -f nnc_intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_intersection1_LINK) $(nnc_intersection1_OBJECTS) $(nnc_intersection1_LDADD) $(LIBS)
-nnc_limitedbhrz03extrapolation1$(EXEEXT): $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_DEPENDENCIES) 
+nnc_limitedbhrz03extrapolation1$(EXEEXT): $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_DEPENDENCIES) $(EXTRA_nnc_limitedbhrz03extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_limitedbhrz03extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_limitedbhrz03extrapolation1_LINK) $(nnc_limitedbhrz03extrapolation1_OBJECTS) $(nnc_limitedbhrz03extrapolation1_LDADD) $(LIBS)
-nnc_limitedh79extrapolation1$(EXEEXT): $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_DEPENDENCIES) 
+nnc_limitedh79extrapolation1$(EXEEXT): $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_DEPENDENCIES) $(EXTRA_nnc_limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f nnc_limitedh79extrapolation1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_limitedh79extrapolation1_LINK) $(nnc_limitedh79extrapolation1_OBJECTS) $(nnc_limitedh79extrapolation1_LDADD) $(LIBS)
-nnc_linearpartition1$(EXEEXT): $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_DEPENDENCIES) 
+nnc_linearpartition1$(EXEEXT): $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_DEPENDENCIES) $(EXTRA_nnc_linearpartition1_DEPENDENCIES) 
 	@rm -f nnc_linearpartition1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_linearpartition1_LINK) $(nnc_linearpartition1_OBJECTS) $(nnc_linearpartition1_LDADD) $(LIBS)
-nnc_mapspacedims1$(EXEEXT): $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_DEPENDENCIES) 
+nnc_mapspacedims1$(EXEEXT): $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_DEPENDENCIES) $(EXTRA_nnc_mapspacedims1_DEPENDENCIES) 
 	@rm -f nnc_mapspacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_mapspacedims1_LINK) $(nnc_mapspacedims1_OBJECTS) $(nnc_mapspacedims1_LDADD) $(LIBS)
-nnc_max_min1$(EXEEXT): $(nnc_max_min1_OBJECTS) $(nnc_max_min1_DEPENDENCIES) 
+nnc_max_min1$(EXEEXT): $(nnc_max_min1_OBJECTS) $(nnc_max_min1_DEPENDENCIES) $(EXTRA_nnc_max_min1_DEPENDENCIES) 
 	@rm -f nnc_max_min1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_max_min1_LINK) $(nnc_max_min1_OBJECTS) $(nnc_max_min1_LDADD) $(LIBS)
-nnc_mc91$(EXEEXT): $(nnc_mc91_OBJECTS) $(nnc_mc91_DEPENDENCIES) 
+nnc_mc91$(EXEEXT): $(nnc_mc91_OBJECTS) $(nnc_mc91_DEPENDENCIES) $(EXTRA_nnc_mc91_DEPENDENCIES) 
 	@rm -f nnc_mc91$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_mc91_LINK) $(nnc_mc91_OBJECTS) $(nnc_mc91_LDADD) $(LIBS)
-nnc_membytes1$(EXEEXT): $(nnc_membytes1_OBJECTS) $(nnc_membytes1_DEPENDENCIES) 
+nnc_membytes1$(EXEEXT): $(nnc_membytes1_OBJECTS) $(nnc_membytes1_DEPENDENCIES) $(EXTRA_nnc_membytes1_DEPENDENCIES) 
 	@rm -f nnc_membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_membytes1_LINK) $(nnc_membytes1_OBJECTS) $(nnc_membytes1_LDADD) $(LIBS)
-nnc_minconstraints1$(EXEEXT): $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_DEPENDENCIES) 
+nnc_minconstraints1$(EXEEXT): $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_DEPENDENCIES) $(EXTRA_nnc_minconstraints1_DEPENDENCIES) 
 	@rm -f nnc_minconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_minconstraints1_LINK) $(nnc_minconstraints1_OBJECTS) $(nnc_minconstraints1_LDADD) $(LIBS)
-nnc_mingenerators1$(EXEEXT): $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_DEPENDENCIES) 
+nnc_mingenerators1$(EXEEXT): $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_DEPENDENCIES) $(EXTRA_nnc_mingenerators1_DEPENDENCIES) 
 	@rm -f nnc_mingenerators1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_mingenerators1_LINK) $(nnc_mingenerators1_OBJECTS) $(nnc_mingenerators1_LDADD) $(LIBS)
-nnc_onepoint$(EXEEXT): $(nnc_onepoint_OBJECTS) $(nnc_onepoint_DEPENDENCIES) 
+nnc_onepoint$(EXEEXT): $(nnc_onepoint_OBJECTS) $(nnc_onepoint_DEPENDENCIES) $(EXTRA_nnc_onepoint_DEPENDENCIES) 
 	@rm -f nnc_onepoint$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_onepoint_LINK) $(nnc_onepoint_OBJECTS) $(nnc_onepoint_LDADD) $(LIBS)
-nnc_permute$(EXEEXT): $(nnc_permute_OBJECTS) $(nnc_permute_DEPENDENCIES) 
+nnc_permute$(EXEEXT): $(nnc_permute_OBJECTS) $(nnc_permute_DEPENDENCIES) $(EXTRA_nnc_permute_DEPENDENCIES) 
 	@rm -f nnc_permute$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_permute_LINK) $(nnc_permute_OBJECTS) $(nnc_permute_LDADD) $(LIBS)
-nnc_polydifference1$(EXEEXT): $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_DEPENDENCIES) 
+nnc_polydifference1$(EXEEXT): $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_DEPENDENCIES) $(EXTRA_nnc_polydifference1_DEPENDENCIES) 
 	@rm -f nnc_polydifference1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_polydifference1_LINK) $(nnc_polydifference1_OBJECTS) $(nnc_polydifference1_LDADD) $(LIBS)
-nnc_polyhull1$(EXEEXT): $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_DEPENDENCIES) 
+nnc_polyhull1$(EXEEXT): $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_DEPENDENCIES) $(EXTRA_nnc_polyhull1_DEPENDENCIES) 
 	@rm -f nnc_polyhull1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_polyhull1_LINK) $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_LDADD) $(LIBS)
-nnc_polyhullifexact1$(EXEEXT): $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_DEPENDENCIES) 
+nnc_polyhullifexact1$(EXEEXT): $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_DEPENDENCIES) $(EXTRA_nnc_polyhullifexact1_DEPENDENCIES) 
 	@rm -f nnc_polyhullifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_polyhullifexact1_LINK) $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_LDADD) $(LIBS)
-nnc_randphull1$(EXEEXT): $(nnc_randphull1_OBJECTS) $(nnc_randphull1_DEPENDENCIES) 
+nnc_randphull1$(EXEEXT): $(nnc_randphull1_OBJECTS) $(nnc_randphull1_DEPENDENCIES) $(EXTRA_nnc_randphull1_DEPENDENCIES) 
 	@rm -f nnc_randphull1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_randphull1_LINK) $(nnc_randphull1_OBJECTS) $(nnc_randphull1_LDADD) $(LIBS)
-nnc_relations1$(EXEEXT): $(nnc_relations1_OBJECTS) $(nnc_relations1_DEPENDENCIES) 
+nnc_relations1$(EXEEXT): $(nnc_relations1_OBJECTS) $(nnc_relations1_DEPENDENCIES) $(EXTRA_nnc_relations1_DEPENDENCIES) 
 	@rm -f nnc_relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_relations1_LINK) $(nnc_relations1_OBJECTS) $(nnc_relations1_LDADD) $(LIBS)
-nnc_relations2$(EXEEXT): $(nnc_relations2_OBJECTS) $(nnc_relations2_DEPENDENCIES) 
+nnc_relations2$(EXEEXT): $(nnc_relations2_OBJECTS) $(nnc_relations2_DEPENDENCIES) $(EXTRA_nnc_relations2_DEPENDENCIES) 
 	@rm -f nnc_relations2$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_relations2_LINK) $(nnc_relations2_OBJECTS) $(nnc_relations2_LDADD) $(LIBS)
-nnc_removespacedims1$(EXEEXT): $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_DEPENDENCIES) 
+nnc_removespacedims1$(EXEEXT): $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_DEPENDENCIES) $(EXTRA_nnc_removespacedims1_DEPENDENCIES) 
 	@rm -f nnc_removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_removespacedims1_LINK) $(nnc_removespacedims1_OBJECTS) $(nnc_removespacedims1_LDADD) $(LIBS)
-nnc_simplifyusingcontext1$(EXEEXT): $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_DEPENDENCIES) 
+nnc_simplifyusingcontext1$(EXEEXT): $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_DEPENDENCIES) $(EXTRA_nnc_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f nnc_simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_simplifyusingcontext1_LINK) $(nnc_simplifyusingcontext1_OBJECTS) $(nnc_simplifyusingcontext1_LDADD) $(LIBS)
-nnc_smm1$(EXEEXT): $(nnc_smm1_OBJECTS) $(nnc_smm1_DEPENDENCIES) 
+nnc_smm1$(EXEEXT): $(nnc_smm1_OBJECTS) $(nnc_smm1_DEPENDENCIES) $(EXTRA_nnc_smm1_DEPENDENCIES) 
 	@rm -f nnc_smm1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_smm1_LINK) $(nnc_smm1_OBJECTS) $(nnc_smm1_LDADD) $(LIBS)
-nnc_timeelapse1$(EXEEXT): $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_DEPENDENCIES) 
+nnc_timeelapse1$(EXEEXT): $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_DEPENDENCIES) $(EXTRA_nnc_timeelapse1_DEPENDENCIES) 
 	@rm -f nnc_timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_timeelapse1_LINK) $(nnc_timeelapse1_OBJECTS) $(nnc_timeelapse1_LDADD) $(LIBS)
-nnc_unconstrain1$(EXEEXT): $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_DEPENDENCIES) 
+nnc_unconstrain1$(EXEEXT): $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_DEPENDENCIES) $(EXTRA_nnc_unconstrain1_DEPENDENCIES) 
 	@rm -f nnc_unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_unconstrain1_LINK) $(nnc_unconstrain1_OBJECTS) $(nnc_unconstrain1_LDADD) $(LIBS)
-nnc_universe1$(EXEEXT): $(nnc_universe1_OBJECTS) $(nnc_universe1_DEPENDENCIES) 
+nnc_universe1$(EXEEXT): $(nnc_universe1_OBJECTS) $(nnc_universe1_DEPENDENCIES) $(EXTRA_nnc_universe1_DEPENDENCIES) 
 	@rm -f nnc_universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_universe1_LINK) $(nnc_universe1_OBJECTS) $(nnc_universe1_LDADD) $(LIBS)
-nnc_wrap1$(EXEEXT): $(nnc_wrap1_OBJECTS) $(nnc_wrap1_DEPENDENCIES) 
+nnc_wrap1$(EXEEXT): $(nnc_wrap1_OBJECTS) $(nnc_wrap1_DEPENDENCIES) $(EXTRA_nnc_wrap1_DEPENDENCIES) 
 	@rm -f nnc_wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_wrap1_LINK) $(nnc_wrap1_OBJECTS) $(nnc_wrap1_LDADD) $(LIBS)
-nnc_wrap2$(EXEEXT): $(nnc_wrap2_OBJECTS) $(nnc_wrap2_DEPENDENCIES) 
+nnc_wrap2$(EXEEXT): $(nnc_wrap2_OBJECTS) $(nnc_wrap2_DEPENDENCIES) $(EXTRA_nnc_wrap2_DEPENDENCIES) 
 	@rm -f nnc_wrap2$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_wrap2_LINK) $(nnc_wrap2_OBJECTS) $(nnc_wrap2_LDADD) $(LIBS)
-nnc_writepolyhedron1$(EXEEXT): $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_DEPENDENCIES) 
+nnc_writepolyhedron1$(EXEEXT): $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_DEPENDENCIES) $(EXTRA_nnc_writepolyhedron1_DEPENDENCIES) 
 	@rm -f nnc_writepolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(nnc_writepolyhedron1_LINK) $(nnc_writepolyhedron1_OBJECTS) $(nnc_writepolyhedron1_LDADD) $(LIBS)
-nncminimize1$(EXEEXT): $(nncminimize1_OBJECTS) $(nncminimize1_DEPENDENCIES) 
+nncminimize1$(EXEEXT): $(nncminimize1_OBJECTS) $(nncminimize1_DEPENDENCIES) $(EXTRA_nncminimize1_DEPENDENCIES) 
 	@rm -f nncminimize1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(nncminimize1_OBJECTS) $(nncminimize1_LDADD) $(LIBS)
-nncminimize2$(EXEEXT): $(nncminimize2_OBJECTS) $(nncminimize2_DEPENDENCIES) 
+nncminimize2$(EXEEXT): $(nncminimize2_OBJECTS) $(nncminimize2_DEPENDENCIES) $(EXTRA_nncminimize2_DEPENDENCIES) 
 	@rm -f nncminimize2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(nncminimize2_OBJECTS) $(nncminimize2_LDADD) $(LIBS)
-numberinput1$(EXEEXT): $(numberinput1_OBJECTS) $(numberinput1_DEPENDENCIES) 
+numberinput1$(EXEEXT): $(numberinput1_OBJECTS) $(numberinput1_DEPENDENCIES) $(EXTRA_numberinput1_DEPENDENCIES) 
 	@rm -f numberinput1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(numberinput1_OBJECTS) $(numberinput1_LDADD) $(LIBS)
-onepoint$(EXEEXT): $(onepoint_OBJECTS) $(onepoint_DEPENDENCIES) 
+onepoint$(EXEEXT): $(onepoint_OBJECTS) $(onepoint_DEPENDENCIES) $(EXTRA_onepoint_DEPENDENCIES) 
 	@rm -f onepoint$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(onepoint_OBJECTS) $(onepoint_LDADD) $(LIBS)
-permute$(EXEEXT): $(permute_OBJECTS) $(permute_DEPENDENCIES) 
+permute$(EXEEXT): $(permute_OBJECTS) $(permute_DEPENDENCIES) $(EXTRA_permute_DEPENDENCIES) 
 	@rm -f permute$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(permute_OBJECTS) $(permute_LDADD) $(LIBS)
-polydifference1$(EXEEXT): $(polydifference1_OBJECTS) $(polydifference1_DEPENDENCIES) 
+polydifference1$(EXEEXT): $(polydifference1_OBJECTS) $(polydifference1_DEPENDENCIES) $(EXTRA_polydifference1_DEPENDENCIES) 
 	@rm -f polydifference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polydifference1_OBJECTS) $(polydifference1_LDADD) $(LIBS)
-polydifference2$(EXEEXT): $(polydifference2_OBJECTS) $(polydifference2_DEPENDENCIES) 
+polydifference2$(EXEEXT): $(polydifference2_OBJECTS) $(polydifference2_DEPENDENCIES) $(EXTRA_polydifference2_DEPENDENCIES) 
 	@rm -f polydifference2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polydifference2_OBJECTS) $(polydifference2_LDADD) $(LIBS)
-polyhull1$(EXEEXT): $(polyhull1_OBJECTS) $(polyhull1_DEPENDENCIES) 
+polyhull1$(EXEEXT): $(polyhull1_OBJECTS) $(polyhull1_DEPENDENCIES) $(EXTRA_polyhull1_DEPENDENCIES) 
 	@rm -f polyhull1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polyhull1_OBJECTS) $(polyhull1_LDADD) $(LIBS)
-polyhull2$(EXEEXT): $(polyhull2_OBJECTS) $(polyhull2_DEPENDENCIES) 
+polyhull2$(EXEEXT): $(polyhull2_OBJECTS) $(polyhull2_DEPENDENCIES) $(EXTRA_polyhull2_DEPENDENCIES) 
 	@rm -f polyhull2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polyhull2_OBJECTS) $(polyhull2_LDADD) $(LIBS)
-polyhullifexact1$(EXEEXT): $(polyhullifexact1_OBJECTS) $(polyhullifexact1_DEPENDENCIES) 
+polyhullifexact1$(EXEEXT): $(polyhullifexact1_OBJECTS) $(polyhullifexact1_DEPENDENCIES) $(EXTRA_polyhullifexact1_DEPENDENCIES) 
 	@rm -f polyhullifexact1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polyhullifexact1_OBJECTS) $(polyhullifexact1_LDADD) $(LIBS)
-polyhullifexact2$(EXEEXT): $(polyhullifexact2_OBJECTS) $(polyhullifexact2_DEPENDENCIES) 
+polyhullifexact2$(EXEEXT): $(polyhullifexact2_OBJECTS) $(polyhullifexact2_DEPENDENCIES) $(EXTRA_polyhullifexact2_DEPENDENCIES) 
 	@rm -f polyhullifexact2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(polyhullifexact2_OBJECTS) $(polyhullifexact2_LDADD) $(LIBS)
-randphull1$(EXEEXT): $(randphull1_OBJECTS) $(randphull1_DEPENDENCIES) 
+randphull1$(EXEEXT): $(randphull1_OBJECTS) $(randphull1_DEPENDENCIES) $(EXTRA_randphull1_DEPENDENCIES) 
 	@rm -f randphull1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(randphull1_OBJECTS) $(randphull1_LDADD) $(LIBS)
-refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) 
+refinewithcongruence1$(EXEEXT): $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_DEPENDENCIES) $(EXTRA_refinewithcongruence1_DEPENDENCIES) 
 	@rm -f refinewithcongruence1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruence1_OBJECTS) $(refinewithcongruence1_LDADD) $(LIBS)
-refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) 
+refinewithcongruences1$(EXEEXT): $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_DEPENDENCIES) $(EXTRA_refinewithcongruences1_DEPENDENCIES) 
 	@rm -f refinewithcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithcongruences1_OBJECTS) $(refinewithcongruences1_LDADD) $(LIBS)
-refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) 
+refinewithconstraint1$(EXEEXT): $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_DEPENDENCIES) $(EXTRA_refinewithconstraint1_DEPENDENCIES) 
 	@rm -f refinewithconstraint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraint1_OBJECTS) $(refinewithconstraint1_LDADD) $(LIBS)
-refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) 
+refinewithconstraints1$(EXEEXT): $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_DEPENDENCIES) $(EXTRA_refinewithconstraints1_DEPENDENCIES) 
 	@rm -f refinewithconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewithconstraints1_OBJECTS) $(refinewithconstraints1_LDADD) $(LIBS)
-relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
+relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) $(EXTRA_relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
-relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) 
+relations2$(EXEEXT): $(relations2_OBJECTS) $(relations2_DEPENDENCIES) $(EXTRA_relations2_DEPENDENCIES) 
 	@rm -f relations2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations2_OBJECTS) $(relations2_LDADD) $(LIBS)
-relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) 
+relations3$(EXEEXT): $(relations3_OBJECTS) $(relations3_DEPENDENCIES) $(EXTRA_relations3_DEPENDENCIES) 
 	@rm -f relations3$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relations3_OBJECTS) $(relations3_LDADD) $(LIBS)
-removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
+removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) $(EXTRA_removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
-removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) 
+removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) $(EXTRA_removespacedims2_DEPENDENCIES) 
 	@rm -f removespacedims2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-smm1$(EXEEXT): $(smm1_OBJECTS) $(smm1_DEPENDENCIES) 
+smm1$(EXEEXT): $(smm1_OBJECTS) $(smm1_DEPENDENCIES) $(EXTRA_smm1_DEPENDENCIES) 
 	@rm -f smm1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(smm1_OBJECTS) $(smm1_LDADD) $(LIBS)
-termination1$(EXEEXT): $(termination1_OBJECTS) $(termination1_DEPENDENCIES) 
+sparserow1$(EXEEXT): $(sparserow1_OBJECTS) $(sparserow1_DEPENDENCIES) $(EXTRA_sparserow1_DEPENDENCIES) 
+	@rm -f sparserow1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(sparserow1_OBJECTS) $(sparserow1_LDADD) $(LIBS)
+termination1$(EXEEXT): $(termination1_OBJECTS) $(termination1_DEPENDENCIES) $(EXTRA_termination1_DEPENDENCIES) 
 	@rm -f termination1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(termination1_OBJECTS) $(termination1_LDADD) $(LIBS)
-termination2$(EXEEXT): $(termination2_OBJECTS) $(termination2_DEPENDENCIES) 
+termination2$(EXEEXT): $(termination2_OBJECTS) $(termination2_DEPENDENCIES) $(EXTRA_termination2_DEPENDENCIES) 
 	@rm -f termination2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(termination2_OBJECTS) $(termination2_LDADD) $(LIBS)
-timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
+timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) $(EXTRA_timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
-timeelapse2$(EXEEXT): $(timeelapse2_OBJECTS) $(timeelapse2_DEPENDENCIES) 
+timeelapse2$(EXEEXT): $(timeelapse2_OBJECTS) $(timeelapse2_DEPENDENCIES) $(EXTRA_timeelapse2_DEPENDENCIES) 
 	@rm -f timeelapse2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(timeelapse2_OBJECTS) $(timeelapse2_LDADD) $(LIBS)
-topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) 
+topclosed1$(EXEEXT): $(topclosed1_OBJECTS) $(topclosed1_DEPENDENCIES) $(EXTRA_topclosed1_DEPENDENCIES) 
 	@rm -f topclosed1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosed1_OBJECTS) $(topclosed1_LDADD) $(LIBS)
-topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) 
+topclosure1$(EXEEXT): $(topclosure1_OBJECTS) $(topclosure1_DEPENDENCIES) $(EXTRA_topclosure1_DEPENDENCIES) 
 	@rm -f topclosure1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(topclosure1_OBJECTS) $(topclosure1_LDADD) $(LIBS)
-unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) 
+unconstrain1$(EXEEXT): $(unconstrain1_OBJECTS) $(unconstrain1_DEPENDENCIES) $(EXTRA_unconstrain1_DEPENDENCIES) 
 	@rm -f unconstrain1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(unconstrain1_OBJECTS) $(unconstrain1_LDADD) $(LIBS)
-universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) $(EXTRA_universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
-universe2$(EXEEXT): $(universe2_OBJECTS) $(universe2_DEPENDENCIES) 
+universe2$(EXEEXT): $(universe2_OBJECTS) $(universe2_DEPENDENCIES) $(EXTRA_universe2_DEPENDENCIES) 
 	@rm -f universe2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe2_OBJECTS) $(universe2_LDADD) $(LIBS)
-variablesset1$(EXEEXT): $(variablesset1_OBJECTS) $(variablesset1_DEPENDENCIES) 
+variablesset1$(EXEEXT): $(variablesset1_OBJECTS) $(variablesset1_DEPENDENCIES) $(EXTRA_variablesset1_DEPENDENCIES) 
 	@rm -f variablesset1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(variablesset1_OBJECTS) $(variablesset1_LDADD) $(LIBS)
-watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) 
+watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) $(EXTRA_watchdog1_DEPENDENCIES) 
 	@rm -f watchdog1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
-weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) 
+weightwatch1$(EXEEXT): $(weightwatch1_OBJECTS) $(weightwatch1_DEPENDENCIES) $(EXTRA_weightwatch1_DEPENDENCIES) 
 	@rm -f weightwatch1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(weightwatch1_OBJECTS) $(weightwatch1_LDADD) $(LIBS)
-wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) 
+wrap1$(EXEEXT): $(wrap1_OBJECTS) $(wrap1_DEPENDENCIES) $(EXTRA_wrap1_DEPENDENCIES) 
 	@rm -f wrap1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap1_OBJECTS) $(wrap1_LDADD) $(LIBS)
-wrap2$(EXEEXT): $(wrap2_OBJECTS) $(wrap2_DEPENDENCIES) 
+wrap2$(EXEEXT): $(wrap2_OBJECTS) $(wrap2_DEPENDENCIES) $(EXTRA_wrap2_DEPENDENCIES) 
 	@rm -f wrap2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(wrap2_OBJECTS) $(wrap2_LDADD) $(LIBS)
-writeconsys1$(EXEEXT): $(writeconsys1_OBJECTS) $(writeconsys1_DEPENDENCIES) 
+writeconsys1$(EXEEXT): $(writeconsys1_OBJECTS) $(writeconsys1_DEPENDENCIES) $(EXTRA_writeconsys1_DEPENDENCIES) 
 	@rm -f writeconsys1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writeconsys1_OBJECTS) $(writeconsys1_LDADD) $(LIBS)
-writegensys1$(EXEEXT): $(writegensys1_OBJECTS) $(writegensys1_DEPENDENCIES) 
+writegensys1$(EXEEXT): $(writegensys1_OBJECTS) $(writegensys1_DEPENDENCIES) $(EXTRA_writegensys1_DEPENDENCIES) 
 	@rm -f writegensys1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writegensys1_OBJECTS) $(writegensys1_LDADD) $(LIBS)
-writepolyhedron1$(EXEEXT): $(writepolyhedron1_OBJECTS) $(writepolyhedron1_DEPENDENCIES) 
+writepolyhedron1$(EXEEXT): $(writepolyhedron1_OBJECTS) $(writepolyhedron1_DEPENDENCIES) $(EXTRA_writepolyhedron1_DEPENDENCIES) 
 	@rm -f writepolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writepolyhedron1_OBJECTS) $(writepolyhedron1_LDADD) $(LIBS)
-writepolyhedron2$(EXEEXT): $(writepolyhedron2_OBJECTS) $(writepolyhedron2_DEPENDENCIES) 
+writepolyhedron2$(EXEEXT): $(writepolyhedron2_OBJECTS) $(writepolyhedron2_DEPENDENCIES) $(EXTRA_writepolyhedron2_DEPENDENCIES) 
 	@rm -f writepolyhedron2$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writepolyhedron2_OBJECTS) $(writepolyhedron2_LDADD) $(LIBS)
-writerelation1$(EXEEXT): $(writerelation1_OBJECTS) $(writerelation1_DEPENDENCIES) 
+writerelation1$(EXEEXT): $(writerelation1_OBJECTS) $(writerelation1_DEPENDENCIES) $(EXTRA_writerelation1_DEPENDENCIES) 
 	@rm -f writerelation1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writerelation1_OBJECTS) $(writerelation1_LDADD) $(LIBS)
-writevariable1$(EXEEXT): $(writevariable1_OBJECTS) $(writevariable1_DEPENDENCIES) 
+writevariable1$(EXEEXT): $(writevariable1_OBJECTS) $(writevariable1_DEPENDENCIES) $(EXTRA_writevariable1_DEPENDENCIES) 
 	@rm -f writevariable1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(writevariable1_OBJECTS) $(writevariable1_LDADD) $(LIBS)
 
@@ -3621,6 +3581,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/smm1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/sparserow1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/termination2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
@@ -3631,8 +3592,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/variablesset1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1-watchdog1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1-weightwatch1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/weightwatch1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writeconsys1.Po at am__quote@
@@ -3645,1210 +3606,1031 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 nnc_addcongruence1-addcongruence1.o: addcongruence1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.o `test -f 'addcongruence1.cc' || echo '$(srcdir)/'`addcongruence1.cc
 
 nnc_addcongruence1-addcongruence1.obj: addcongruence1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruence1-addcongruence1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruence1-addcongruence1.Tpo $(DEPDIR)/nnc_addcongruence1-addcongruence1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addcongruence1.cc' object='nnc_addcongruence1-addcongruence1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruence1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruence1-addcongruence1.obj `if test -f 'addcongruence1.cc'; then $(CYGPATH_W) 'addcongruence1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruence1.cc'; fi`
 
 nnc_addcongruences1-addcongruences1.o: addcongruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.o -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.o `test -f 'addcongruences1.cc' || echo '$(srcdir)/'`addcongruences1.cc
 
 nnc_addcongruences1-addcongruences1.obj: addcongruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addcongruences1-addcongruences1.obj -MD -MP -MF $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addcongruences1-addcongruences1.Tpo $(DEPDIR)/nnc_addcongruences1-addcongruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addcongruences1.cc' object='nnc_addcongruences1-addcongruences1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addcongruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addcongruences1-addcongruences1.obj `if test -f 'addcongruences1.cc'; then $(CYGPATH_W) 'addcongruences1.cc'; else $(CYGPATH_W) '$(srcdir)/addcongruences1.cc'; fi`
 
 nnc_addconstraint1-addconstraint1.o: addconstraint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.o `test -f 'addconstraint1.cc' || echo '$(srcdir)/'`addconstraint1.cc
 
 nnc_addconstraint1-addconstraint1.obj: addconstraint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraint1-addconstraint1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraint1-addconstraint1.Tpo $(DEPDIR)/nnc_addconstraint1-addconstraint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addconstraint1.cc' object='nnc_addconstraint1-addconstraint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraint1-addconstraint1.obj `if test -f 'addconstraint1.cc'; then $(CYGPATH_W) 'addconstraint1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraint1.cc'; fi`
 
 nnc_addconstraints1-addconstraints1.o: addconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.o `test -f 'addconstraints1.cc' || echo '$(srcdir)/'`addconstraints1.cc
 
 nnc_addconstraints1-addconstraints1.obj: addconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addconstraints1-addconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addconstraints1-addconstraints1.Tpo $(DEPDIR)/nnc_addconstraints1-addconstraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addconstraints1.cc' object='nnc_addconstraints1-addconstraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addconstraints1-addconstraints1.obj `if test -f 'addconstraints1.cc'; then $(CYGPATH_W) 'addconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/addconstraints1.cc'; fi`
 
 nnc_addgenerator1-addgenerator1.o: addgenerator1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.o `test -f 'addgenerator1.cc' || echo '$(srcdir)/'`addgenerator1.cc
 
 nnc_addgenerator1-addgenerator1.obj: addgenerator1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerator1-addgenerator1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerator1-addgenerator1.Tpo $(DEPDIR)/nnc_addgenerator1-addgenerator1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addgenerator1.cc' object='nnc_addgenerator1-addgenerator1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerator1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerator1-addgenerator1.obj `if test -f 'addgenerator1.cc'; then $(CYGPATH_W) 'addgenerator1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerator1.cc'; fi`
 
 nnc_addgenerators1-addgenerators1.o: addgenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.o -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.o `test -f 'addgenerators1.cc' || echo '$(srcdir)/'`addgenerators1.cc
 
 nnc_addgenerators1-addgenerators1.obj: addgenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addgenerators1-addgenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addgenerators1-addgenerators1.Tpo $(DEPDIR)/nnc_addgenerators1-addgenerators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addgenerators1.cc' object='nnc_addgenerators1-addgenerators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addgenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addgenerators1-addgenerators1.obj `if test -f 'addgenerators1.cc'; then $(CYGPATH_W) 'addgenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/addgenerators1.cc'; fi`
 
 nnc_addspacedims1-addspacedims1.o: addspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.o `test -f 'addspacedims1.cc' || echo '$(srcdir)/'`addspacedims1.cc
 
 nnc_addspacedims1-addspacedims1.obj: addspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_addspacedims1-addspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_addspacedims1-addspacedims1.Tpo $(DEPDIR)/nnc_addspacedims1-addspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='addspacedims1.cc' object='nnc_addspacedims1-addspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_addspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_addspacedims1-addspacedims1.obj `if test -f 'addspacedims1.cc'; then $(CYGPATH_W) 'addspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/addspacedims1.cc'; fi`
 
 nnc_affineimage1-affineimage1.o: affineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.o -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affineimage1.cc' object='nnc_affineimage1-affineimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affineimage1.cc' object='nnc_affineimage1-affineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.o `test -f 'affineimage1.cc' || echo '$(srcdir)/'`affineimage1.cc
 
 nnc_affineimage1-affineimage1.obj: affineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affineimage1-affineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affineimage1-affineimage1.Tpo $(DEPDIR)/nnc_affineimage1-affineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affineimage1.cc' object='nnc_affineimage1-affineimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affineimage1.cc' object='nnc_affineimage1-affineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affineimage1-affineimage1.obj `if test -f 'affineimage1.cc'; then $(CYGPATH_W) 'affineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affineimage1.cc'; fi`
 
 nnc_affinepreimage1-affinepreimage1.o: affinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.o `test -f 'affinepreimage1.cc' || echo '$(srcdir)/'`affinepreimage1.cc
 
 nnc_affinepreimage1-affinepreimage1.obj: affinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinepreimage1-affinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Tpo $(DEPDIR)/nnc_affinepreimage1-affinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affinepreimage1.cc' object='nnc_affinepreimage1-affinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinepreimage1-affinepreimage1.obj `if test -f 'affinepreimage1.cc'; then $(CYGPATH_W) 'affinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/affinepreimage1.cc'; fi`
 
 nnc_affinetrans-affinetrans.o: affinetrans.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.o -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinetrans.cc' object='nnc_affinetrans-affinetrans.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affinetrans.cc' object='nnc_affinetrans-affinetrans.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.o `test -f 'affinetrans.cc' || echo '$(srcdir)/'`affinetrans.cc
 
 nnc_affinetrans-affinetrans.obj: affinetrans.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -MT nnc_affinetrans-affinetrans.obj -MD -MP -MF $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_affinetrans-affinetrans.Tpo $(DEPDIR)/nnc_affinetrans-affinetrans.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='affinetrans.cc' object='nnc_affinetrans-affinetrans.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='affinetrans.cc' object='nnc_affinetrans-affinetrans.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_affinetrans_CXXFLAGS) $(CXXFLAGS) -c -o nnc_affinetrans-affinetrans.obj `if test -f 'affinetrans.cc'; then $(CYGPATH_W) 'affinetrans.cc'; else $(CYGPATH_W) '$(srcdir)/affinetrans.cc'; fi`
 
 nnc_append1-append1.o: append1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.o -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append1.cc' object='nnc_append1-append1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='append1.cc' object='nnc_append1-append1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.o `test -f 'append1.cc' || echo '$(srcdir)/'`append1.cc
 
 nnc_append1-append1.obj: append1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -MT nnc_append1-append1.obj -MD -MP -MF $(DEPDIR)/nnc_append1-append1.Tpo -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append1-append1.Tpo $(DEPDIR)/nnc_append1-append1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append1.cc' object='nnc_append1-append1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='append1.cc' object='nnc_append1-append1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append1-append1.obj `if test -f 'append1.cc'; then $(CYGPATH_W) 'append1.cc'; else $(CYGPATH_W) '$(srcdir)/append1.cc'; fi`
 
 nnc_append2-append2.o: append2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.o -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append2.cc' object='nnc_append2-append2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='append2.cc' object='nnc_append2-append2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.o `test -f 'append2.cc' || echo '$(srcdir)/'`append2.cc
 
 nnc_append2-append2.obj: append2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -MT nnc_append2-append2.obj -MD -MP -MF $(DEPDIR)/nnc_append2-append2.Tpo -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_append2-append2.Tpo $(DEPDIR)/nnc_append2-append2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='append2.cc' object='nnc_append2-append2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='append2.cc' object='nnc_append2-append2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_append2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_append2-append2.obj `if test -f 'append2.cc'; then $(CYGPATH_W) 'append2.cc'; else $(CYGPATH_W) '$(srcdir)/append2.cc'; fi`
 
 nnc_ascii_dump_load1-ascii_dump_load1.o: ascii_dump_load1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.o `test -f 'ascii_dump_load1.cc' || echo '$(srcdir)/'`ascii_dump_load1.cc
 
 nnc_ascii_dump_load1-ascii_dump_load1.obj: ascii_dump_load1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load1-ascii_dump_load1.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Tpo $(DEPDIR)/nnc_ascii_dump_load1-ascii_dump_load1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ascii_dump_load1.cc' object='nnc_ascii_dump_load1-ascii_dump_load1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load1-ascii_dump_load1.obj `if test -f 'ascii_dump_load1.cc'; then $(CYGPATH_W) 'ascii_dump_load1.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load1.cc'; fi`
 
 nnc_ascii_dump_load2-ascii_dump_load2.o: ascii_dump_load2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.o -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.o `test -f 'ascii_dump_load2.cc' || echo '$(srcdir)/'`ascii_dump_load2.cc
 
 nnc_ascii_dump_load2-ascii_dump_load2.obj: ascii_dump_load2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -MT nnc_ascii_dump_load2-ascii_dump_load2.obj -MD -MP -MF $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Tpo $(DEPDIR)/nnc_ascii_dump_load2-ascii_dump_load2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='ascii_dump_load2.cc' object='nnc_ascii_dump_load2-ascii_dump_load2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_ascii_dump_load2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_ascii_dump_load2-ascii_dump_load2.obj `if test -f 'ascii_dump_load2.cc'; then $(CYGPATH_W) 'ascii_dump_load2.cc'; else $(CYGPATH_W) '$(srcdir)/ascii_dump_load2.cc'; fi`
 
 nnc_bgp99extrapolation1-bgp99extrapolation1.o: bgp99extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.o `test -f 'bgp99extrapolation1.cc' || echo '$(srcdir)/'`bgp99extrapolation1.cc
 
 nnc_bgp99extrapolation1-bgp99extrapolation1.obj: bgp99extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bgp99extrapolation1-bgp99extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Tpo $(DEPDIR)/nnc_bgp99extrapolation1-bgp99extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bgp99extrapolation1.cc' object='nnc_bgp99extrapolation1-bgp99extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bgp99extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bgp99extrapolation1-bgp99extrapolation1.obj `if test -f 'bgp99extrapolation1.cc'; then $(CYGPATH_W) 'bgp99extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bgp99extrapolation1.cc'; fi`
 
 nnc_bhrz03widening1-bhrz03widening1.o: bhrz03widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.o `test -f 'bhrz03widening1.cc' || echo '$(srcdir)/'`bhrz03widening1.cc
 
 nnc_bhrz03widening1-bhrz03widening1.obj: bhrz03widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening1-bhrz03widening1.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Tpo $(DEPDIR)/nnc_bhrz03widening1-bhrz03widening1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bhrz03widening1.cc' object='nnc_bhrz03widening1-bhrz03widening1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening1-bhrz03widening1.obj `if test -f 'bhrz03widening1.cc'; then $(CYGPATH_W) 'bhrz03widening1.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening1.cc'; fi`
 
 nnc_bhrz03widening2-bhrz03widening2.o: bhrz03widening2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.o -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.o `test -f 'bhrz03widening2.cc' || echo '$(srcdir)/'`bhrz03widening2.cc
 
 nnc_bhrz03widening2-bhrz03widening2.obj: bhrz03widening2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -MT nnc_bhrz03widening2-bhrz03widening2.obj -MD -MP -MF $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Tpo $(DEPDIR)/nnc_bhrz03widening2-bhrz03widening2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bhrz03widening2.cc' object='nnc_bhrz03widening2-bhrz03widening2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bhrz03widening2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bhrz03widening2-bhrz03widening2.obj `if test -f 'bhrz03widening2.cc'; then $(CYGPATH_W) 'bhrz03widening2.cc'; else $(CYGPATH_W) '$(srcdir)/bhrz03widening2.cc'; fi`
 
 nnc_bounded1-bounded1.o: bounded1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.o -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounded1.cc' object='nnc_bounded1-bounded1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bounded1.cc' object='nnc_bounded1-bounded1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.o `test -f 'bounded1.cc' || echo '$(srcdir)/'`bounded1.cc
 
 nnc_bounded1-bounded1.obj: bounded1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounded1-bounded1.obj -MD -MP -MF $(DEPDIR)/nnc_bounded1-bounded1.Tpo -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounded1-bounded1.Tpo $(DEPDIR)/nnc_bounded1-bounded1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounded1.cc' object='nnc_bounded1-bounded1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bounded1.cc' object='nnc_bounded1-bounded1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounded1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounded1-bounded1.obj `if test -f 'bounded1.cc'; then $(CYGPATH_W) 'bounded1.cc'; else $(CYGPATH_W) '$(srcdir)/bounded1.cc'; fi`
 
 nnc_boundedaffineimage1-boundedaffineimage1.o: boundedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.o `test -f 'boundedaffineimage1.cc' || echo '$(srcdir)/'`boundedaffineimage1.cc
 
 nnc_boundedaffineimage1-boundedaffineimage1.obj: boundedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffineimage1-boundedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Tpo $(DEPDIR)/nnc_boundedaffineimage1-boundedaffineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedaffineimage1.cc' object='nnc_boundedaffineimage1-boundedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffineimage1-boundedaffineimage1.obj `if test -f 'boundedaffineimage1.cc'; then $(CYGPATH_W) 'boundedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffineimage1.cc'; fi`
 
 nnc_boundedaffinepreimage1-boundedaffinepreimage1.o: boundedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.o `test -f 'boundedaffinepreimage1.cc' || echo '$(srcdir)/'`boundedaffinepreimage1.cc
 
 nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj: boundedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1. [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Tpo $(DEPDIR)/nnc_boundedaffinepreimage1-boundedaffinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedaffinepreimage1.cc' object='nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedaffinepreimage1-boundedaffinepreimage1.obj `if test -f 'boundedaffinepreimage1.cc'; then $(CYGPATH_W) 'boundedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedaffinepreimage1.cc'; fi`
 
 nnc_boundedh79extrapolation1-boundedh79extrapolation1.o: boundedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.o `test -f 'boundedh79extrapolation1.cc' || echo '$(srcdir)/'`boundedh79extrapolation1.cc
 
 nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj: boundedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/bound [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Tpo $(DEPDIR)/nnc_boundedh79extrapolation1-boundedh79extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='boundedh79extrapolation1.cc' object='nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedh79extrapolation1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_boundedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_boundedh79extrapolation1-boundedh79extrapolation1.obj `if test -f 'boundedh79extrapolation1.cc'; then $(CYGPATH_W) 'boundedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/boundedh79extrapolation1.cc'; fi`
 
 nnc_bounds1-bounds1.o: bounds1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.o -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounds1.cc' object='nnc_bounds1-bounds1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bounds1.cc' object='nnc_bounds1-bounds1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.o `test -f 'bounds1.cc' || echo '$(srcdir)/'`bounds1.cc
 
 nnc_bounds1-bounds1.obj: bounds1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -MT nnc_bounds1-bounds1.obj -MD -MP -MF $(DEPDIR)/nnc_bounds1-bounds1.Tpo -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_bounds1-bounds1.Tpo $(DEPDIR)/nnc_bounds1-bounds1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='bounds1.cc' object='nnc_bounds1-bounds1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='bounds1.cc' object='nnc_bounds1-bounds1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_bounds1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_bounds1-bounds1.obj `if test -f 'bounds1.cc'; then $(CYGPATH_W) 'bounds1.cc'; else $(CYGPATH_W) '$(srcdir)/bounds1.cc'; fi`
 
 nnc_concatenate1-concatenate1.o: concatenate1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.o -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='concatenate1.cc' object='nnc_concatenate1-concatenate1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='concatenate1.cc' object='nnc_concatenate1-concatenate1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.o `test -f 'concatenate1.cc' || echo '$(srcdir)/'`concatenate1.cc
 
 nnc_concatenate1-concatenate1.obj: concatenate1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -MT nnc_concatenate1-concatenate1.obj -MD -MP -MF $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_concatenate1-concatenate1.Tpo $(DEPDIR)/nnc_concatenate1-concatenate1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='concatenate1.cc' object='nnc_concatenate1-concatenate1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='concatenate1.cc' object='nnc_concatenate1-concatenate1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_concatenate1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_concatenate1-concatenate1.obj `if test -f 'concatenate1.cc'; then $(CYGPATH_W) 'concatenate1.cc'; else $(CYGPATH_W) '$(srcdir)/concatenate1.cc'; fi`
 
 nnc_congruences1-congruences1.o: congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.o -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='nnc_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruences1.cc' object='nnc_congruences1-congruences1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.o `test -f 'congruences1.cc' || echo '$(srcdir)/'`congruences1.cc
 
 nnc_congruences1-congruences1.obj: congruences1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -MT nnc_congruences1-congruences1.obj -MD -MP -MF $(DEPDIR)/nnc_congruences1-congruences1.Tpo -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_congruences1-congruences1.Tpo $(DEPDIR)/nnc_congruences1-congruences1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='congruences1.cc' object='nnc_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='congruences1.cc' object='nnc_congruences1-congruences1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_congruences1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_congruences1-congruences1.obj `if test -f 'congruences1.cc'; then $(CYGPATH_W) 'congruences1.cc'; else $(CYGPATH_W) '$(srcdir)/congruences1.cc'; fi`
 
 nnc_constrains1-constrains1.o: constrains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.o -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constrains1.cc' object='nnc_constrains1-constrains1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constrains1.cc' object='nnc_constrains1-constrains1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.o `test -f 'constrains1.cc' || echo '$(srcdir)/'`constrains1.cc
 
 nnc_constrains1-constrains1.obj: constrains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constrains1-constrains1.obj -MD -MP -MF $(DEPDIR)/nnc_constrains1-constrains1.Tpo -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constrains1-constrains1.Tpo $(DEPDIR)/nnc_constrains1-constrains1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constrains1.cc' object='nnc_constrains1-constrains1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constrains1.cc' object='nnc_constrains1-constrains1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constrains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constrains1-constrains1.obj `if test -f 'constrains1.cc'; then $(CYGPATH_W) 'constrains1.cc'; else $(CYGPATH_W) '$(srcdir)/constrains1.cc'; fi`
 
 nnc_constraints1-constraints1.o: constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.o -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='nnc_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraints1.cc' object='nnc_constraints1-constraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.o `test -f 'constraints1.cc' || echo '$(srcdir)/'`constraints1.cc
 
 nnc_constraints1-constraints1.obj: constraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_constraints1-constraints1.obj -MD -MP -MF $(DEPDIR)/nnc_constraints1-constraints1.Tpo -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_constraints1-constraints1.Tpo $(DEPDIR)/nnc_constraints1-constraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='constraints1.cc' object='nnc_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='constraints1.cc' object='nnc_constraints1-constraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_constraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_constraints1-constraints1.obj `if test -f 'constraints1.cc'; then $(CYGPATH_W) 'constraints1.cc'; else $(CYGPATH_W) '$(srcdir)/constraints1.cc'; fi`
 
 nnc_contains1-contains1.o: contains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.o -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='contains1.cc' object='nnc_contains1-contains1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='contains1.cc' object='nnc_contains1-contains1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.o `test -f 'contains1.cc' || echo '$(srcdir)/'`contains1.cc
 
 nnc_contains1-contains1.obj: contains1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -MT nnc_contains1-contains1.obj -MD -MP -MF $(DEPDIR)/nnc_contains1-contains1.Tpo -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_contains1-contains1.Tpo $(DEPDIR)/nnc_contains1-contains1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='contains1.cc' object='nnc_contains1-contains1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='contains1.cc' object='nnc_contains1-contains1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_contains1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_contains1-contains1.obj `if test -f 'contains1.cc'; then $(CYGPATH_W) 'contains1.cc'; else $(CYGPATH_W) '$(srcdir)/contains1.cc'; fi`
 
 nnc_containsintegerpoint1-containsintegerpoint1.o: containsintegerpoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.o -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.o `test -f 'containsintegerpoint1.cc' || echo '$(srcdir)/'`containsintegerpoint1.cc
 
 nnc_containsintegerpoint1-containsintegerpoint1.obj: containsintegerpoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_containsintegerpoint1-containsintegerpoint1.obj -MD -MP -MF $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Tpo $(DEPDIR)/nnc_containsintegerpoint1-containsintegerpoint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='containsintegerpoint1.cc' object='nnc_containsintegerpoint1-containsintegerpoint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_containsintegerpoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_containsintegerpoint1-containsintegerpoint1.obj `if test -f 'containsintegerpoint1.cc'; then $(CYGPATH_W) 'containsintegerpoint1.cc'; else $(CYGPATH_W) '$(srcdir)/containsintegerpoint1.cc'; fi`
 
 nnc_disjoint1-disjoint1.o: disjoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.o -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='disjoint1.cc' object='nnc_disjoint1-disjoint1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='disjoint1.cc' object='nnc_disjoint1-disjoint1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.o `test -f 'disjoint1.cc' || echo '$(srcdir)/'`disjoint1.cc
 
 nnc_disjoint1-disjoint1.obj: disjoint1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -MT nnc_disjoint1-disjoint1.obj -MD -MP -MF $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_disjoint1-disjoint1.Tpo $(DEPDIR)/nnc_disjoint1-disjoint1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='disjoint1.cc' object='nnc_disjoint1-disjoint1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='disjoint1.cc' object='nnc_disjoint1-disjoint1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_disjoint1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_disjoint1-disjoint1.obj `if test -f 'disjoint1.cc'; then $(CYGPATH_W) 'disjoint1.cc'; else $(CYGPATH_W) '$(srcdir)/disjoint1.cc'; fi`
 
 nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o: dropsomenonintegerpoints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o -MD -MP -MF $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o `test -f 'dropsomenonintegerpoints1.cc' || echo '$(srcdir)/'`dropsomenonintegerpoints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o `test -f 'dropsomenonintegerpoints1.cc' || echo '$(srcdir)/'`dropsomenonintegerpoints1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.o `test -f 'dropsomenonintegerpoints1.cc' || echo '$(srcdir)/'`dropsomenonintegerpoints1.cc
 
 nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj: dropsomenonintegerpoints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj -MD -MP -MF $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj `if test -f 'dropsomenonintegerpoints1.cc'; then $(CYGPATH_W) 'dropsomenonintegerpoints1.cc'; else $(CYGPATH_W) '$(srcd [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Tpo $(DEPDIR)/nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='dropsomenonintegerpoints1.cc' object='nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj `if test -f 'dropsomenonintegerpoints1.cc'; then $(CYGPATH_W) 'dropsomenonintegerpoints1.cc'; else $(CYGPATH_W) '$(srcdir)/dropsomenonintegerpoints1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_dropsomenonintegerpoints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_dropsomenonintegerpoints1-dropsomenonintegerpoints1.obj `if test -f 'dropsomenonintegerpoints1.cc'; then $(CYGPATH_W) 'dropsomenonintegerpoints1.cc'; else $(CYGPATH_W) '$(srcdir)/dropsomenonintegerpoints1.cc'; fi`
 
 nnc_empty1-empty1.o: empty1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.o -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='empty1.cc' object='nnc_empty1-empty1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='empty1.cc' object='nnc_empty1-empty1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.o `test -f 'empty1.cc' || echo '$(srcdir)/'`empty1.cc
 
 nnc_empty1-empty1.obj: empty1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -MT nnc_empty1-empty1.obj -MD -MP -MF $(DEPDIR)/nnc_empty1-empty1.Tpo -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_empty1-empty1.Tpo $(DEPDIR)/nnc_empty1-empty1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='empty1.cc' object='nnc_empty1-empty1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='empty1.cc' object='nnc_empty1-empty1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_empty1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_empty1-empty1.obj `if test -f 'empty1.cc'; then $(CYGPATH_W) 'empty1.cc'; else $(CYGPATH_W) '$(srcdir)/empty1.cc'; fi`
 
 nnc_equals1-equals1.o: equals1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.o -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='equals1.cc' object='nnc_equals1-equals1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='equals1.cc' object='nnc_equals1-equals1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.o `test -f 'equals1.cc' || echo '$(srcdir)/'`equals1.cc
 
 nnc_equals1-equals1.obj: equals1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -MT nnc_equals1-equals1.obj -MD -MP -MF $(DEPDIR)/nnc_equals1-equals1.Tpo -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_equals1-equals1.Tpo $(DEPDIR)/nnc_equals1-equals1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='equals1.cc' object='nnc_equals1-equals1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='equals1.cc' object='nnc_equals1-equals1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_equals1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_equals1-equals1.obj `if test -f 'equals1.cc'; then $(CYGPATH_W) 'equals1.cc'; else $(CYGPATH_W) '$(srcdir)/equals1.cc'; fi`
 
 nnc_exceptions1-exceptions1.o: exceptions1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.o -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions1.cc' object='nnc_exceptions1-exceptions1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='exceptions1.cc' object='nnc_exceptions1-exceptions1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.o `test -f 'exceptions1.cc' || echo '$(srcdir)/'`exceptions1.cc
 
 nnc_exceptions1-exceptions1.obj: exceptions1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions1-exceptions1.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions1-exceptions1.Tpo $(DEPDIR)/nnc_exceptions1-exceptions1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions1.cc' object='nnc_exceptions1-exceptions1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='exceptions1.cc' object='nnc_exceptions1-exceptions1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions1-exceptions1.obj `if test -f 'exceptions1.cc'; then $(CYGPATH_W) 'exceptions1.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions1.cc'; fi`
 
 nnc_exceptions3-exceptions3.o: exceptions3.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.o -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions3.cc' object='nnc_exceptions3-exceptions3.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='exceptions3.cc' object='nnc_exceptions3-exceptions3.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.o `test -f 'exceptions3.cc' || echo '$(srcdir)/'`exceptions3.cc
 
 nnc_exceptions3-exceptions3.obj: exceptions3.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -MT nnc_exceptions3-exceptions3.obj -MD -MP -MF $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_exceptions3-exceptions3.Tpo $(DEPDIR)/nnc_exceptions3-exceptions3.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='exceptions3.cc' object='nnc_exceptions3-exceptions3.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='exceptions3.cc' object='nnc_exceptions3-exceptions3.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_exceptions3_CXXFLAGS) $(CXXFLAGS) -c -o nnc_exceptions3-exceptions3.obj `if test -f 'exceptions3.cc'; then $(CYGPATH_W) 'exceptions3.cc'; else $(CYGPATH_W) '$(srcdir)/exceptions3.cc'; fi`
 
 nnc_expandspacedim1-expandspacedim1.o: expandspacedim1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.o -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.o `test -f 'expandspacedim1.cc' || echo '$(srcdir)/'`expandspacedim1.cc
 
 nnc_expandspacedim1-expandspacedim1.obj: expandspacedim1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -MT nnc_expandspacedim1-expandspacedim1.obj -MD -MP -MF $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Tpo $(DEPDIR)/nnc_expandspacedim1-expandspacedim1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='expandspacedim1.cc' object='nnc_expandspacedim1-expandspacedim1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_expandspacedim1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_expandspacedim1-expandspacedim1.obj `if test -f 'expandspacedim1.cc'; then $(CYGPATH_W) 'expandspacedim1.cc'; else $(CYGPATH_W) '$(srcdir)/expandspacedim1.cc'; fi`
 
 nnc_foldspacedims1-foldspacedims1.o: foldspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.o `test -f 'foldspacedims1.cc' || echo '$(srcdir)/'`foldspacedims1.cc
 
 nnc_foldspacedims1-foldspacedims1.obj: foldspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_foldspacedims1-foldspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Tpo $(DEPDIR)/nnc_foldspacedims1-foldspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='foldspacedims1.cc' object='nnc_foldspacedims1-foldspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_foldspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_foldspacedims1-foldspacedims1.obj `if test -f 'foldspacedims1.cc'; then $(CYGPATH_W) 'foldspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/foldspacedims1.cc'; fi`
 
 nnc_frombdshape1-frombdshape1.o: frombdshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.o -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.o `test -f 'frombdshape1.cc' || echo '$(srcdir)/'`frombdshape1.cc
 
 nnc_frombdshape1-frombdshape1.obj: frombdshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombdshape1-frombdshape1.obj -MD -MP -MF $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombdshape1-frombdshape1.Tpo $(DEPDIR)/nnc_frombdshape1-frombdshape1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frombdshape1.cc' object='nnc_frombdshape1-frombdshape1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombdshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombdshape1-frombdshape1.obj `if test -f 'frombdshape1.cc'; then $(CYGPATH_W) 'frombdshape1.cc'; else $(CYGPATH_W) '$(srcdir)/frombdshape1.cc'; fi`
 
 nnc_frombox1-frombox1.o: frombox1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.o -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombox1.cc' object='nnc_frombox1-frombox1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frombox1.cc' object='nnc_frombox1-frombox1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.o `test -f 'frombox1.cc' || echo '$(srcdir)/'`frombox1.cc
 
 nnc_frombox1-frombox1.obj: frombox1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -MT nnc_frombox1-frombox1.obj -MD -MP -MF $(DEPDIR)/nnc_frombox1-frombox1.Tpo -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_frombox1-frombox1.Tpo $(DEPDIR)/nnc_frombox1-frombox1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='frombox1.cc' object='nnc_frombox1-frombox1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='frombox1.cc' object='nnc_frombox1-frombox1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_frombox1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_frombox1-frombox1.obj `if test -f 'frombox1.cc'; then $(CYGPATH_W) 'frombox1.cc'; else $(CYGPATH_W) '$(srcdir)/frombox1.cc'; fi`
 
 nnc_fromgrid1-fromgrid1.o: fromgrid1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.o -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.o `test -f 'fromgrid1.cc' || echo '$(srcdir)/'`fromgrid1.cc
 
 nnc_fromgrid1-fromgrid1.obj: fromgrid1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromgrid1-fromgrid1.obj -MD -MP -MF $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromgrid1-fromgrid1.Tpo $(DEPDIR)/nnc_fromgrid1-fromgrid1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='fromgrid1.cc' object='nnc_fromgrid1-fromgrid1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromgrid1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromgrid1-fromgrid1.obj `if test -f 'fromgrid1.cc'; then $(CYGPATH_W) 'fromgrid1.cc'; else $(CYGPATH_W) '$(srcdir)/fromgrid1.cc'; fi`
 
 nnc_fromoctagonalshape1-fromoctagonalshape1.o: fromoctagonalshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.o -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.o `test -f 'fromoctagonalshape1.cc' || echo '$(srcdir)/'`fromoctagonalshape1.cc
 
 nnc_fromoctagonalshape1-fromoctagonalshape1.obj: fromoctagonalshape1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -MT nnc_fromoctagonalshape1-fromoctagonalshape1.obj -MD -MP -MF $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Tpo $(DEPDIR)/nnc_fromoctagonalshape1-fromoctagonalshape1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='fromoctagonalshape1.cc' object='nnc_fromoctagonalshape1-fromoctagonalshape1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_fromoctagonalshape1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_fromoctagonalshape1-fromoctagonalshape1.obj `if test -f 'fromoctagonalshape1.cc'; then $(CYGPATH_W) 'fromoctagonalshape1.cc'; else $(CYGPATH_W) '$(srcdir)/fromoctagonalshape1.cc'; fi`
 
 nnc_generalizedaffineimage1-generalizedaffineimage1.o: generalizedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.o `test -f 'generalizedaffineimage1.cc' || echo '$(srcdir)/'`generalizedaffineimage1.cc
 
 nnc_generalizedaffineimage1-generalizedaffineimage1.obj: generalizedaffineimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffineimage1-generalizedaffineimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaff [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Tpo $(DEPDIR)/nnc_generalizedaffineimage1-generalizedaffineimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generalizedaffineimage1.cc' object='nnc_generalizedaffineimage1-generalizedaffineimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffineimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffineimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffineimage1-generalizedaffineimage1.obj `if test -f 'generalizedaffineimage1.cc'; then $(CYGPATH_W) 'generalizedaffineimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffineimage1.cc'; fi`
 
 nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o: generalizedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.o `test -f 'generalizedaffinepreimage1.cc' || echo '$(srcdir)/'`generalizedaffinepreimage1.cc
 
 nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj: generalizedaffinepreimage1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj -MD -MP -MF $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Tpo $(DEPDIR)/nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generalizedaffinepreimage1.cc' object='nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffinepreimage1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generalizedaffinepreimage1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generalizedaffinepreimage1-generalizedaffinepreimage1.obj `if test -f 'generalizedaffinepreimage1.cc'; then $(CYGPATH_W) 'generalizedaffinepreimage1.cc'; else $(CYGPATH_W) '$(srcdir)/generalizedaffinepreimage1.cc'; fi`
 
 nnc_generators1-generators1.o: generators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.o -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generators1.cc' object='nnc_generators1-generators1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generators1.cc' object='nnc_generators1-generators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.o `test -f 'generators1.cc' || echo '$(srcdir)/'`generators1.cc
 
 nnc_generators1-generators1.obj: generators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_generators1-generators1.obj -MD -MP -MF $(DEPDIR)/nnc_generators1-generators1.Tpo -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_generators1-generators1.Tpo $(DEPDIR)/nnc_generators1-generators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='generators1.cc' object='nnc_generators1-generators1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='generators1.cc' object='nnc_generators1-generators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_generators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_generators1-generators1.obj `if test -f 'generators1.cc'; then $(CYGPATH_W) 'generators1.cc'; else $(CYGPATH_W) '$(srcdir)/generators1.cc'; fi`
 
 nnc_geomcovers1-geomcovers1.o: geomcovers1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.o -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.o `test -f 'geomcovers1.cc' || echo '$(srcdir)/'`geomcovers1.cc
 
 nnc_geomcovers1-geomcovers1.obj: geomcovers1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -MT nnc_geomcovers1-geomcovers1.obj -MD -MP -MF $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_geomcovers1-geomcovers1.Tpo $(DEPDIR)/nnc_geomcovers1-geomcovers1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='geomcovers1.cc' object='nnc_geomcovers1-geomcovers1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_geomcovers1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_geomcovers1-geomcovers1.obj `if test -f 'geomcovers1.cc'; then $(CYGPATH_W) 'geomcovers1.cc'; else $(CYGPATH_W) '$(srcdir)/geomcovers1.cc'; fi`
 
 nnc_h79widening1-h79widening1.o: h79widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.o -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='h79widening1.cc' object='nnc_h79widening1-h79widening1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='h79widening1.cc' object='nnc_h79widening1-h79widening1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.o `test -f 'h79widening1.cc' || echo '$(srcdir)/'`h79widening1.cc
 
 nnc_h79widening1-h79widening1.obj: h79widening1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -MT nnc_h79widening1-h79widening1.obj -MD -MP -MF $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_h79widening1-h79widening1.Tpo $(DEPDIR)/nnc_h79widening1-h79widening1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='h79widening1.cc' object='nnc_h79widening1-h79widening1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='h79widening1.cc' object='nnc_h79widening1-h79widening1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_h79widening1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_h79widening1-h79widening1.obj `if test -f 'h79widening1.cc'; then $(CYGPATH_W) 'h79widening1.cc'; else $(CYGPATH_W) '$(srcdir)/h79widening1.cc'; fi`
 
 nnc_intersection1-intersection1.o: intersection1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.o -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='intersection1.cc' object='nnc_intersection1-intersection1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='intersection1.cc' object='nnc_intersection1-intersection1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.o `test -f 'intersection1.cc' || echo '$(srcdir)/'`intersection1.cc
 
 nnc_intersection1-intersection1.obj: intersection1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -MT nnc_intersection1-intersection1.obj -MD -MP -MF $(DEPDIR)/nnc_intersection1-intersection1.Tpo -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_intersection1-intersection1.Tpo $(DEPDIR)/nnc_intersection1-intersection1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='intersection1.cc' object='nnc_intersection1-intersection1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='intersection1.cc' object='nnc_intersection1-intersection1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_intersection1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_intersection1-intersection1.obj `if test -f 'intersection1.cc'; then $(CYGPATH_W) 'intersection1.cc'; else $(CYGPATH_W) '$(srcdir)/intersection1.cc'; fi`
 
 nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o: limitedbhrz03extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.o `test -f 'limitedbhrz03extrapolation1.cc' || echo '$(srcdir)/'`limitedbhrz03extrapolation1.cc
 
 nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj: limitedbhrz03extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $( [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Tpo $(DEPDIR)/nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='limitedbhrz03extrapolation1.cc' object='nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedbhrz03extrapolation1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedbhrz03extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedbhrz03extrapolation1-limitedbhrz03extrapolation1.obj `if test -f 'limitedbhrz03extrapolation1.cc'; then $(CYGPATH_W) 'limitedbhrz03extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedbhrz03extrapolation1.cc'; fi`
 
 nnc_limitedh79extrapolation1-limitedh79extrapolation1.o: limitedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.o -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.o `test -f 'limitedh79extrapolation1.cc' || echo '$(srcdir)/'`limitedh79extrapolation1.cc
 
 nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj: limitedh79extrapolation1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -MT nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj -MD -MP -MF $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limit [...]
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Tpo $(DEPDIR)/nnc_limitedh79extrapolation1-limitedh79extrapolation1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='limitedh79extrapolation1.cc' object='nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedh79extrapolation1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_limitedh79extrapolation1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_limitedh79extrapolation1-limitedh79extrapolation1.obj `if test -f 'limitedh79extrapolation1.cc'; then $(CYGPATH_W) 'limitedh79extrapolation1.cc'; else $(CYGPATH_W) '$(srcdir)/limitedh79extrapolation1.cc'; fi`
 
 nnc_linearpartition1-linearpartition1.o: linearpartition1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.o -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.o `test -f 'linearpartition1.cc' || echo '$(srcdir)/'`linearpartition1.cc
 
 nnc_linearpartition1-linearpartition1.obj: linearpartition1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -MT nnc_linearpartition1-linearpartition1.obj -MD -MP -MF $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_linearpartition1-linearpartition1.Tpo $(DEPDIR)/nnc_linearpartition1-linearpartition1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='linearpartition1.cc' object='nnc_linearpartition1-linearpartition1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_linearpartition1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_linearpartition1-linearpartition1.obj `if test -f 'linearpartition1.cc'; then $(CYGPATH_W) 'linearpartition1.cc'; else $(CYGPATH_W) '$(srcdir)/linearpartition1.cc'; fi`
 
 nnc_mapspacedims1-mapspacedims1.o: mapspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.o -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.o `test -f 'mapspacedims1.cc' || echo '$(srcdir)/'`mapspacedims1.cc
 
 nnc_mapspacedims1-mapspacedims1.obj: mapspacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mapspacedims1-mapspacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Tpo $(DEPDIR)/nnc_mapspacedims1-mapspacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mapspacedims1.cc' object='nnc_mapspacedims1-mapspacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mapspacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mapspacedims1-mapspacedims1.obj `if test -f 'mapspacedims1.cc'; then $(CYGPATH_W) 'mapspacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/mapspacedims1.cc'; fi`
 
 nnc_max_min1-max_min1.o: max_min1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.o -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='max_min1.cc' object='nnc_max_min1-max_min1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='max_min1.cc' object='nnc_max_min1-max_min1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.o `test -f 'max_min1.cc' || echo '$(srcdir)/'`max_min1.cc
 
 nnc_max_min1-max_min1.obj: max_min1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -MT nnc_max_min1-max_min1.obj -MD -MP -MF $(DEPDIR)/nnc_max_min1-max_min1.Tpo -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_max_min1-max_min1.Tpo $(DEPDIR)/nnc_max_min1-max_min1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='max_min1.cc' object='nnc_max_min1-max_min1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='max_min1.cc' object='nnc_max_min1-max_min1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_max_min1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_max_min1-max_min1.obj `if test -f 'max_min1.cc'; then $(CYGPATH_W) 'max_min1.cc'; else $(CYGPATH_W) '$(srcdir)/max_min1.cc'; fi`
 
 nnc_mc91-mc91.o: mc91.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.o -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mc91.cc' object='nnc_mc91-mc91.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mc91.cc' object='nnc_mc91-mc91.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.o `test -f 'mc91.cc' || echo '$(srcdir)/'`mc91.cc
 
 nnc_mc91-mc91.obj: mc91.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -MT nnc_mc91-mc91.obj -MD -MP -MF $(DEPDIR)/nnc_mc91-mc91.Tpo -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mc91-mc91.Tpo $(DEPDIR)/nnc_mc91-mc91.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mc91.cc' object='nnc_mc91-mc91.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mc91.cc' object='nnc_mc91-mc91.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mc91_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mc91-mc91.obj `if test -f 'mc91.cc'; then $(CYGPATH_W) 'mc91.cc'; else $(CYGPATH_W) '$(srcdir)/mc91.cc'; fi`
 
 nnc_membytes1-membytes1.o: membytes1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.o -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='membytes1.cc' object='nnc_membytes1-membytes1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='membytes1.cc' object='nnc_membytes1-membytes1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.o `test -f 'membytes1.cc' || echo '$(srcdir)/'`membytes1.cc
 
 nnc_membytes1-membytes1.obj: membytes1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -MT nnc_membytes1-membytes1.obj -MD -MP -MF $(DEPDIR)/nnc_membytes1-membytes1.Tpo -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_membytes1-membytes1.Tpo $(DEPDIR)/nnc_membytes1-membytes1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='membytes1.cc' object='nnc_membytes1-membytes1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='membytes1.cc' object='nnc_membytes1-membytes1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_membytes1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_membytes1-membytes1.obj `if test -f 'membytes1.cc'; then $(CYGPATH_W) 'membytes1.cc'; else $(CYGPATH_W) '$(srcdir)/membytes1.cc'; fi`
 
 nnc_minconstraints1-minconstraints1.o: minconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.o -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.o `test -f 'minconstraints1.cc' || echo '$(srcdir)/'`minconstraints1.cc
 
 nnc_minconstraints1-minconstraints1.obj: minconstraints1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -MT nnc_minconstraints1-minconstraints1.obj -MD -MP -MF $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_minconstraints1-minconstraints1.Tpo $(DEPDIR)/nnc_minconstraints1-minconstraints1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='minconstraints1.cc' object='nnc_minconstraints1-minconstraints1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_minconstraints1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_minconstraints1-minconstraints1.obj `if test -f 'minconstraints1.cc'; then $(CYGPATH_W) 'minconstraints1.cc'; else $(CYGPATH_W) '$(srcdir)/minconstraints1.cc'; fi`
 
 nnc_mingenerators1-mingenerators1.o: mingenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.o -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.o `test -f 'mingenerators1.cc' || echo '$(srcdir)/'`mingenerators1.cc
 
 nnc_mingenerators1-mingenerators1.obj: mingenerators1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -MT nnc_mingenerators1-mingenerators1.obj -MD -MP -MF $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_mingenerators1-mingenerators1.Tpo $(DEPDIR)/nnc_mingenerators1-mingenerators1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='mingenerators1.cc' object='nnc_mingenerators1-mingenerators1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_mingenerators1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_mingenerators1-mingenerators1.obj `if test -f 'mingenerators1.cc'; then $(CYGPATH_W) 'mingenerators1.cc'; else $(CYGPATH_W) '$(srcdir)/mingenerators1.cc'; fi`
 
 nnc_onepoint-onepoint.o: onepoint.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.o -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='onepoint.cc' object='nnc_onepoint-onepoint.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='onepoint.cc' object='nnc_onepoint-onepoint.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.o `test -f 'onepoint.cc' || echo '$(srcdir)/'`onepoint.cc
 
 nnc_onepoint-onepoint.obj: onepoint.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -MT nnc_onepoint-onepoint.obj -MD -MP -MF $(DEPDIR)/nnc_onepoint-onepoint.Tpo -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_onepoint-onepoint.Tpo $(DEPDIR)/nnc_onepoint-onepoint.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='onepoint.cc' object='nnc_onepoint-onepoint.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='onepoint.cc' object='nnc_onepoint-onepoint.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_onepoint_CXXFLAGS) $(CXXFLAGS) -c -o nnc_onepoint-onepoint.obj `if test -f 'onepoint.cc'; then $(CYGPATH_W) 'onepoint.cc'; else $(CYGPATH_W) '$(srcdir)/onepoint.cc'; fi`
 
 nnc_permute-permute.o: permute.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.o -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='permute.cc' object='nnc_permute-permute.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='permute.cc' object='nnc_permute-permute.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.o `test -f 'permute.cc' || echo '$(srcdir)/'`permute.cc
 
 nnc_permute-permute.obj: permute.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -MT nnc_permute-permute.obj -MD -MP -MF $(DEPDIR)/nnc_permute-permute.Tpo -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_permute-permute.Tpo $(DEPDIR)/nnc_permute-permute.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='permute.cc' object='nnc_permute-permute.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='permute.cc' object='nnc_permute-permute.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_permute_CXXFLAGS) $(CXXFLAGS) -c -o nnc_permute-permute.obj `if test -f 'permute.cc'; then $(CYGPATH_W) 'permute.cc'; else $(CYGPATH_W) '$(srcdir)/permute.cc'; fi`
 
 nnc_polydifference1-polydifference1.o: polydifference1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.o -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polydifference1.cc' object='nnc_polydifference1-polydifference1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polydifference1.cc' object='nnc_polydifference1-polydifference1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.o `test -f 'polydifference1.cc' || echo '$(srcdir)/'`polydifference1.cc
 
 nnc_polydifference1-polydifference1.obj: polydifference1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polydifference1-polydifference1.obj -MD -MP -MF $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polydifference1-polydifference1.Tpo $(DEPDIR)/nnc_polydifference1-polydifference1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polydifference1.cc' object='nnc_polydifference1-polydifference1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polydifference1.cc' object='nnc_polydifference1-polydifference1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polydifference1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polydifference1-polydifference1.obj `if test -f 'polydifference1.cc'; then $(CYGPATH_W) 'polydifference1.cc'; else $(CYGPATH_W) '$(srcdir)/polydifference1.cc'; fi`
 
 nnc_polyhull1-polyhull1.o: polyhull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.o -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhull1.cc' object='nnc_polyhull1-polyhull1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polyhull1.cc' object='nnc_polyhull1-polyhull1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.o `test -f 'polyhull1.cc' || echo '$(srcdir)/'`polyhull1.cc
 
 nnc_polyhull1-polyhull1.obj: polyhull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhull1-polyhull1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhull1-polyhull1.Tpo $(DEPDIR)/nnc_polyhull1-polyhull1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhull1.cc' object='nnc_polyhull1-polyhull1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polyhull1.cc' object='nnc_polyhull1-polyhull1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhull1-polyhull1.obj `if test -f 'polyhull1.cc'; then $(CYGPATH_W) 'polyhull1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhull1.cc'; fi`
 
 nnc_polyhullifexact1-polyhullifexact1.o: polyhullifexact1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.o -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
 
 nnc_polyhullifexact1-polyhullifexact1.obj: polyhullifexact1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -MT nnc_polyhullifexact1-polyhullifexact1.obj -MD -MP -MF $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.obj `if test -f 'polyhullifexact1.cc'; then $(CYGPATH_W) 'polyhullifexact1.cc'; else $(CYGPATH_W) '$(srcdir)/polyhullifexact1.cc'; fi`
 
 nnc_randphull1-randphull1.o: randphull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.o -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='randphull1.cc' object='nnc_randphull1-randphull1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='randphull1.cc' object='nnc_randphull1-randphull1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.o `test -f 'randphull1.cc' || echo '$(srcdir)/'`randphull1.cc
 
 nnc_randphull1-randphull1.obj: randphull1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -MT nnc_randphull1-randphull1.obj -MD -MP -MF $(DEPDIR)/nnc_randphull1-randphull1.Tpo -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='randphull1.cc' object='nnc_randphull1-randphull1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='randphull1.cc' object='nnc_randphull1-randphull1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_randphull1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_randphull1-randphull1.obj `if test -f 'randphull1.cc'; then $(CYGPATH_W) 'randphull1.cc'; else $(CYGPATH_W) '$(srcdir)/randphull1.cc'; fi`
 
 nnc_relations1-relations1.o: relations1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.o -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations1.cc' object='nnc_relations1-relations1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='relations1.cc' object='nnc_relations1-relations1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.o `test -f 'relations1.cc' || echo '$(srcdir)/'`relations1.cc
 
 nnc_relations1-relations1.obj: relations1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations1-relations1.obj -MD -MP -MF $(DEPDIR)/nnc_relations1-relations1.Tpo -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations1-relations1.Tpo $(DEPDIR)/nnc_relations1-relations1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations1.cc' object='nnc_relations1-relations1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='relations1.cc' object='nnc_relations1-relations1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations1-relations1.obj `if test -f 'relations1.cc'; then $(CYGPATH_W) 'relations1.cc'; else $(CYGPATH_W) '$(srcdir)/relations1.cc'; fi`
 
 nnc_relations2-relations2.o: relations2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.o -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations2.cc' object='nnc_relations2-relations2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='relations2.cc' object='nnc_relations2-relations2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.o `test -f 'relations2.cc' || echo '$(srcdir)/'`relations2.cc
 
 nnc_relations2-relations2.obj: relations2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -MT nnc_relations2-relations2.obj -MD -MP -MF $(DEPDIR)/nnc_relations2-relations2.Tpo -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_relations2-relations2.Tpo $(DEPDIR)/nnc_relations2-relations2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='relations2.cc' object='nnc_relations2-relations2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='relations2.cc' object='nnc_relations2-relations2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_relations2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_relations2-relations2.obj `if test -f 'relations2.cc'; then $(CYGPATH_W) 'relations2.cc'; else $(CYGPATH_W) '$(srcdir)/relations2.cc'; fi`
 
 nnc_removespacedims1-removespacedims1.o: removespacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.o -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.o `test -f 'removespacedims1.cc' || echo '$(srcdir)/'`removespacedims1.cc
 
 nnc_removespacedims1-removespacedims1.obj: removespacedims1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -MT nnc_removespacedims1-removespacedims1.obj -MD -MP -MF $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_removespacedims1-removespacedims1.Tpo $(DEPDIR)/nnc_removespacedims1-removespacedims1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='removespacedims1.cc' object='nnc_removespacedims1-removespacedims1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_removespacedims1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_removespacedims1-removespacedims1.obj `if test -f 'removespacedims1.cc'; then $(CYGPATH_W) 'removespacedims1.cc'; else $(CYGPATH_W) '$(srcdir)/removespacedims1.cc'; fi`
 
 nnc_simplifyusingcontext1-simplifyusingcontext1.o: simplifyusingcontext1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.o -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.o `test -f 'simplifyusingcontext1.cc' || echo '$(srcdir)/'`simplifyusingcontext1.cc
 
 nnc_simplifyusingcontext1-simplifyusingcontext1.obj: simplifyusingcontext1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -MT nnc_simplifyusingcontext1-simplifyusingcontext1.obj -MD -MP -MF $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Tpo $(DEPDIR)/nnc_simplifyusingcontext1-simplifyusingcontext1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='simplifyusingcontext1.cc' object='nnc_simplifyusingcontext1-simplifyusingcontext1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_simplifyusingcontext1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_simplifyusingcontext1-simplifyusingcontext1.obj `if test -f 'simplifyusingcontext1.cc'; then $(CYGPATH_W) 'simplifyusingcontext1.cc'; else $(CYGPATH_W) '$(srcdir)/simplifyusingcontext1.cc'; fi`
 
 nnc_smm1-smm1.o: smm1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.o -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='smm1.cc' object='nnc_smm1-smm1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='smm1.cc' object='nnc_smm1-smm1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.o `test -f 'smm1.cc' || echo '$(srcdir)/'`smm1.cc
 
 nnc_smm1-smm1.obj: smm1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -MT nnc_smm1-smm1.obj -MD -MP -MF $(DEPDIR)/nnc_smm1-smm1.Tpo -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_smm1-smm1.Tpo $(DEPDIR)/nnc_smm1-smm1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='smm1.cc' object='nnc_smm1-smm1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='smm1.cc' object='nnc_smm1-smm1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_smm1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_smm1-smm1.obj `if test -f 'smm1.cc'; then $(CYGPATH_W) 'smm1.cc'; else $(CYGPATH_W) '$(srcdir)/smm1.cc'; fi`
 
 nnc_timeelapse1-timeelapse1.o: timeelapse1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.o -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.o `test -f 'timeelapse1.cc' || echo '$(srcdir)/'`timeelapse1.cc
 
 nnc_timeelapse1-timeelapse1.obj: timeelapse1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -MT nnc_timeelapse1-timeelapse1.obj -MD -MP -MF $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_timeelapse1-timeelapse1.Tpo $(DEPDIR)/nnc_timeelapse1-timeelapse1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='timeelapse1.cc' object='nnc_timeelapse1-timeelapse1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_timeelapse1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_timeelapse1-timeelapse1.obj `if test -f 'timeelapse1.cc'; then $(CYGPATH_W) 'timeelapse1.cc'; else $(CYGPATH_W) '$(srcdir)/timeelapse1.cc'; fi`
 
 nnc_unconstrain1-unconstrain1.o: unconstrain1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.o -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.o `test -f 'unconstrain1.cc' || echo '$(srcdir)/'`unconstrain1.cc
 
 nnc_unconstrain1-unconstrain1.obj: unconstrain1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -MT nnc_unconstrain1-unconstrain1.obj -MD -MP -MF $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_unconstrain1-unconstrain1.Tpo $(DEPDIR)/nnc_unconstrain1-unconstrain1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='unconstrain1.cc' object='nnc_unconstrain1-unconstrain1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_unconstrain1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_unconstrain1-unconstrain1.obj `if test -f 'unconstrain1.cc'; then $(CYGPATH_W) 'unconstrain1.cc'; else $(CYGPATH_W) '$(srcdir)/unconstrain1.cc'; fi`
 
 nnc_universe1-universe1.o: universe1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.o -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='universe1.cc' object='nnc_universe1-universe1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='universe1.cc' object='nnc_universe1-universe1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.o `test -f 'universe1.cc' || echo '$(srcdir)/'`universe1.cc
 
 nnc_universe1-universe1.obj: universe1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -MT nnc_universe1-universe1.obj -MD -MP -MF $(DEPDIR)/nnc_universe1-universe1.Tpo -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_universe1-universe1.Tpo $(DEPDIR)/nnc_universe1-universe1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='universe1.cc' object='nnc_universe1-universe1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='universe1.cc' object='nnc_universe1-universe1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_universe1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_universe1-universe1.obj `if test -f 'universe1.cc'; then $(CYGPATH_W) 'universe1.cc'; else $(CYGPATH_W) '$(srcdir)/universe1.cc'; fi`
 
 nnc_wrap1-wrap1.o: wrap1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap1-wrap1.o -MD -MP -MF $(DEPDIR)/nnc_wrap1-wrap1.Tpo -c -o nnc_wrap1-wrap1.o `test -f 'wrap1.cc' || echo '$(srcdir)/'`wrap1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap1-wrap1.Tpo $(DEPDIR)/nnc_wrap1-wrap1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap1.cc' object='nnc_wrap1-wrap1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='wrap1.cc' object='nnc_wrap1-wrap1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.o `test -f 'wrap1.cc' || echo '$(srcdir)/'`wrap1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.o `test -f 'wrap1.cc' || echo '$(srcdir)/'`wrap1.cc
 
 nnc_wrap1-wrap1.obj: wrap1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap1-wrap1.obj -MD -MP -MF $(DEPDIR)/nnc_wrap1-wrap1.Tpo -c -o nnc_wrap1-wrap1.obj `if test -f 'wrap1.cc'; then $(CYGPATH_W) 'wrap1.cc'; else $(CYGPATH_W) '$(srcdir)/wrap1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap1-wrap1.Tpo $(DEPDIR)/nnc_wrap1-wrap1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap1.cc' object='nnc_wrap1-wrap1.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='wrap1.cc' object='nnc_wrap1-wrap1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.obj `if test -f 'wrap1.cc'; then $(CYGPATH_W) 'wrap1.cc'; else $(CYGPATH_W) '$(srcdir)/wrap1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap1-wrap1.obj `if test -f 'wrap1.cc'; then $(CYGPATH_W) 'wrap1.cc'; else $(CYGPATH_W) '$(srcdir)/wrap1.cc'; fi`
 
 nnc_wrap2-wrap2.o: wrap2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap2-wrap2.o -MD -MP -MF $(DEPDIR)/nnc_wrap2-wrap2.Tpo -c -o nnc_wrap2-wrap2.o `test -f 'wrap2.cc' || echo '$(srcdir)/'`wrap2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap2-wrap2.Tpo $(DEPDIR)/nnc_wrap2-wrap2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap2.cc' object='nnc_wrap2-wrap2.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='wrap2.cc' object='nnc_wrap2-wrap2.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.o `test -f 'wrap2.cc' || echo '$(srcdir)/'`wrap2.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.o `test -f 'wrap2.cc' || echo '$(srcdir)/'`wrap2.cc
 
 nnc_wrap2-wrap2.obj: wrap2.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -MT nnc_wrap2-wrap2.obj -MD -MP -MF $(DEPDIR)/nnc_wrap2-wrap2.Tpo -c -o nnc_wrap2-wrap2.obj `if test -f 'wrap2.cc'; then $(CYGPATH_W) 'wrap2.cc'; else $(CYGPATH_W) '$(srcdir)/wrap2.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_wrap2-wrap2.Tpo $(DEPDIR)/nnc_wrap2-wrap2.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='wrap2.cc' object='nnc_wrap2-wrap2.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='wrap2.cc' object='nnc_wrap2-wrap2.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.obj `if test -f 'wrap2.cc'; then $(CYGPATH_W) 'wrap2.cc'; else $(CYGPATH_W) '$(srcdir)/wrap2.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_wrap2_CXXFLAGS) $(CXXFLAGS) -c -o nnc_wrap2-wrap2.obj `if test -f 'wrap2.cc'; then $(CYGPATH_W) 'wrap2.cc'; else $(CYGPATH_W) '$(srcdir)/wrap2.cc'; fi`
 
 nnc_writepolyhedron1-writepolyhedron1.o: writepolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.o -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.o `test -f 'writepolyhedron1.cc' || echo '$(srcdir)/'`writepolyhedron1.cc
 
 nnc_writepolyhedron1-writepolyhedron1.obj: writepolyhedron1.cc
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -MT nnc_writepolyhedron1-writepolyhedron1.obj -MD -MP -MF $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Tpo $(DEPDIR)/nnc_writepolyhedron1-writepolyhedron1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
-
-watchdog1-watchdog1.o: watchdog1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.o -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.o `test -f 'watchdog1.cc' || echo '$(srcdir)/'`watchdog1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='watchdog1.cc' object='watchdog1-watchdog1.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='writepolyhedron1.cc' object='nnc_writepolyhedron1-writepolyhedron1.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-watchdog1.o `test -f 'watchdog1.cc' || echo '$(srcdir)/'`watchdog1.cc
-
-watchdog1-watchdog1.obj: watchdog1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT watchdog1-watchdog1.obj -MD -MP -MF $(DEPDIR)/watchdog1-watchdog1.Tpo -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.cc'; then $(CYGPATH_W) 'watchdog1.cc'; else $(CYGPATH_W) '$(srcdir)/watchdog1.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/watchdog1-watchdog1.Tpo $(DEPDIR)/watchdog1-watchdog1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='watchdog1.cc' object='watchdog1-watchdog1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(watchdog1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o watchdog1-watchdog1.obj `if test -f 'watchdog1.cc'; then $(CYGPATH_W) 'watchdog1.cc'; else $(CYGPATH_W) '$(srcdir)/watchdog1.cc'; fi`
-
-weightwatch1-weightwatch1.o: weightwatch1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-weightwatch1.o -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.cc' || echo '$(srcdir)/'`weightwatch1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='weightwatch1.cc' object='weightwatch1-weightwatch1.o' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-weightwatch1.o `test -f 'weightwatch1.cc' || echo '$(srcdir)/'`weightwatch1.cc
-
-weightwatch1-weightwatch1.obj: weightwatch1.cc
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weightwatch1-weightwatch1.obj -MD -MP -MF $(DEPDIR)/weightwatch1-weightwatch1.Tpo -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.cc'; then $(CYGPATH_W) 'weightwatch1.cc'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.cc'; fi`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/weightwatch1-weightwatch1.Tpo $(DEPDIR)/weightwatch1-weightwatch1.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='weightwatch1.cc' object='weightwatch1-weightwatch1.obj' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(weightwatch1_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weightwatch1-weightwatch1.obj `if test -f 'weightwatch1.cc'; then $(CYGPATH_W) 'weightwatch1.cc'; else $(CYGPATH_W) '$(srcdir)/weightwatch1.cc'; fi`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(nnc_writepolyhedron1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_writepolyhedron1-writepolyhedron1.obj `if test -f 'writepolyhedron1.cc'; then $(CYGPATH_W) 'writepolyhedron1.cc'; else $(CYGPATH_W) '$(srcdir)/writepolyhedron1.cc'; fi`
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -4989,14 +4771,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -5046,10 +4829,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
@@ -5159,9 +4947,6 @@ $(top_builddir)/tests/libppl_tests.a:
 $(top_builddir)/src/libppl.la:
 	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
 
-$(top_builddir)/Watchdog/src/libpwl.la:
-	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/Watchdog/src libpwl.la
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/tests/Polyhedron/addcongruence1.cc b/tests/Polyhedron/addcongruence1.cc
index dda6f4b..281fdd9 100644
--- a/tests/Polyhedron/addcongruence1.cc
+++ b/tests/Polyhedron/addcongruence1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_congruence().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addcongruences1.cc b/tests/Polyhedron/addcongruences1.cc
index 6781908..823733a 100644
--- a/tests/Polyhedron/addcongruences1.cc
+++ b/tests/Polyhedron/addcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addconstraint1.cc b/tests/Polyhedron/addconstraint1.cc
index e302313..c9a4b60 100644
--- a/tests/Polyhedron/addconstraint1.cc
+++ b/tests/Polyhedron/addconstraint1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_constraint().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addconstraints1.cc b/tests/Polyhedron/addconstraints1.cc
index f748ec2..e16c2af 100644
--- a/tests/Polyhedron/addconstraints1.cc
+++ b/tests/Polyhedron/addconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addconstraints2.cc b/tests/Polyhedron/addconstraints2.cc
index 4acd8e8..568152b 100644
--- a/tests/Polyhedron/addconstraints2.cc
+++ b/tests/Polyhedron/addconstraints2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addgenerator1.cc b/tests/Polyhedron/addgenerator1.cc
index 4251b10..e235537 100644
--- a/tests/Polyhedron/addgenerator1.cc
+++ b/tests/Polyhedron/addgenerator1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_generator().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addgenerator2.cc b/tests/Polyhedron/addgenerator2.cc
index dca85c6..483140b 100644
--- a/tests/Polyhedron/addgenerator2.cc
+++ b/tests/Polyhedron/addgenerator2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_generator().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addgenerators1.cc b/tests/Polyhedron/addgenerators1.cc
index e80ae5c..d726073 100644
--- a/tests/Polyhedron/addgenerators1.cc
+++ b/tests/Polyhedron/addgenerators1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addgenerators2.cc b/tests/Polyhedron/addgenerators2.cc
index 85be26e..85d5196 100644
--- a/tests/Polyhedron/addgenerators2.cc
+++ b/tests/Polyhedron/addgenerators2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addspacedims1.cc b/tests/Polyhedron/addspacedims1.cc
index 3446bf5..fd5ae37 100644
--- a/tests/Polyhedron/addspacedims1.cc
+++ b/tests/Polyhedron/addspacedims1.cc
@@ -1,7 +1,7 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/addspacedims2.cc b/tests/Polyhedron/addspacedims2.cc
index 79d5402..c50301d 100644
--- a/tests/Polyhedron/addspacedims2.cc
+++ b/tests/Polyhedron/addspacedims2.cc
@@ -1,7 +1,7 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/affineimage1.cc b/tests/Polyhedron/affineimage1.cc
index 42df3d2..7814145 100644
--- a/tests/Polyhedron/affineimage1.cc
+++ b/tests/Polyhedron/affineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/affineimage2.cc b/tests/Polyhedron/affineimage2.cc
index 7feb40b..840a068 100644
--- a/tests/Polyhedron/affineimage2.cc
+++ b/tests/Polyhedron/affineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,14 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
 namespace {
 
 void
-aux_test01(std::ostream& s, const Variable& v) {
+aux_test01(std::ostream& s, const Variable v) {
   s << char('i' + v.id());
 }
 
diff --git a/tests/Polyhedron/affinepreimage1.cc b/tests/Polyhedron/affinepreimage1.cc
index 52bf930..44ed059 100644
--- a/tests/Polyhedron/affinepreimage1.cc
+++ b/tests/Polyhedron/affinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/affinetrans.cc b/tests/Polyhedron/affinetrans.cc
index a328df8..048c23b 100644
--- a/tests/Polyhedron/affinetrans.cc
+++ b/tests/Polyhedron/affinetrans.cc
@@ -1,6 +1,6 @@
 /* Use of the functions affine_image and affine_preimage.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/append1.cc b/tests/Polyhedron/append1.cc
index bb1cebd..d3e2aeb 100644
--- a/tests/Polyhedron/append1.cc
+++ b/tests/Polyhedron/append1.cc
@@ -1,6 +1,6 @@
 /* An example of iteration to a post-fixpoint.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/append2.cc b/tests/Polyhedron/append2.cc
index 499f5c9..40deb6b 100644
--- a/tests/Polyhedron/append2.cc
+++ b/tests/Polyhedron/append2.cc
@@ -1,6 +1,6 @@
 /* An example of iteration to a post-fixpoint.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/ascii_dump_load1.cc b/tests/Polyhedron/ascii_dump_load1.cc
index f474dab..0fd23fa 100644
--- a/tests/Polyhedron/ascii_dump_load1.cc
+++ b/tests/Polyhedron/ascii_dump_load1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/ascii_dump_load2.cc b/tests/Polyhedron/ascii_dump_load2.cc
index f163e9a..e8f3eb7 100644
--- a/tests/Polyhedron/ascii_dump_load2.cc
+++ b/tests/Polyhedron/ascii_dump_load2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/ascii_dump_load3.cc b/tests/Polyhedron/ascii_dump_load3.cc
index d664abe..c0ca78a 100644
--- a/tests/Polyhedron/ascii_dump_load3.cc
+++ b/tests/Polyhedron/ascii_dump_load3.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/bgp99extrapolation1.cc b/tests/Polyhedron/bgp99extrapolation1.cc
index 8a957e9..916e625 100644
--- a/tests/Polyhedron/bgp99extrapolation1.cc
+++ b/tests/Polyhedron/bgp99extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <vector>
@@ -118,7 +118,7 @@ aux2_test01(unsigned n) {
 }
 
 void
-aux3_test01(std::ostream& s, const Variable& v) {
+aux3_test01(std::ostream& s, const Variable v) {
   s << char('x' + v.id());
 }
 
@@ -147,7 +147,7 @@ test01() {
     if (Sn.definitely_entails(T))
       converged = true;
     else
-      std::swap(Sn, T);
+      swap(Sn, T);
   }
 
   return !converged;
diff --git a/tests/Polyhedron/bgp99extrapolation2.cc b/tests/Polyhedron/bgp99extrapolation2.cc
index 17e3032..4290272 100644
--- a/tests/Polyhedron/bgp99extrapolation2.cc
+++ b/tests/Polyhedron/bgp99extrapolation2.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <vector>
diff --git a/tests/Polyhedron/bhrz03widening1.cc b/tests/Polyhedron/bhrz03widening1.cc
index e904110..e85f86c 100644
--- a/tests/Polyhedron/bhrz03widening1.cc
+++ b/tests/Polyhedron/bhrz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/bhrz03widening2.cc b/tests/Polyhedron/bhrz03widening2.cc
index 499cdb5..4b67376 100644
--- a/tests/Polyhedron/bhrz03widening2.cc
+++ b/tests/Polyhedron/bhrz03widening2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/bhrz03widening3.cc b/tests/Polyhedron/bhrz03widening3.cc
index a210011..9a5aac1 100644
--- a/tests/Polyhedron/bhrz03widening3.cc
+++ b/tests/Polyhedron/bhrz03widening3.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/bhz03widening1.cc b/tests/Polyhedron/bhz03widening1.cc
index eccc06d..719a48d 100644
--- a/tests/Polyhedron/bhz03widening1.cc
+++ b/tests/Polyhedron/bhz03widening1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <vector>
@@ -120,7 +120,7 @@ aux2_test01(unsigned n) {
 }
 
 void
-aux3_test01(std::ostream& s, const Variable& v) {
+aux3_test01(std::ostream& s, const Variable v) {
   s << char('x' + v.id());
 }
 
@@ -148,7 +148,7 @@ test01() {
     if (Sn.definitely_entails(T))
       converged = true;
     else
-      std::swap(Sn, T);
+      swap(Sn, T);
   }
 
   return converged;
@@ -350,7 +350,7 @@ aux2_test04(unsigned n) {
 }
 
 void
-aux3_test04(std::ostream& s, const Variable& v) {
+aux3_test04(std::ostream& s, const Variable v) {
   s << char('x' + v.id());
 }
 
@@ -378,7 +378,7 @@ test04() {
     if (Sn.definitely_entails(T))
       converged = true;
     else
-      std::swap(Sn, T);
+      swap(Sn, T);
   }
 
   return converged;
diff --git a/tests/Polyhedron/bounded1.cc b/tests/Polyhedron/bounded1.cc
index 5d693b4..1d2cb04 100644
--- a/tests/Polyhedron/bounded1.cc
+++ b/tests/Polyhedron/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/boundedaffineimage1.cc b/tests/Polyhedron/boundedaffineimage1.cc
index 02c56cf..ffb3a4c 100644
--- a/tests/Polyhedron/boundedaffineimage1.cc
+++ b/tests/Polyhedron/boundedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/boundedaffinepreimage1.cc b/tests/Polyhedron/boundedaffinepreimage1.cc
index ec8aea7..b5915a0 100644
--- a/tests/Polyhedron/boundedaffinepreimage1.cc
+++ b/tests/Polyhedron/boundedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::bounded_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/boundedbhrz03extrapolation1.cc b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
index fb9a1f6..9d4e205 100644
--- a/tests/Polyhedron/boundedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::bounded_BHRZ03_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -29,7 +29,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace {
 
 void
-aux_test01(std::ostream& s, const Variable& v) {
+aux_test01(std::ostream& s, const Variable v) {
   s << char('i' + v.id());
 }
 
diff --git a/tests/Polyhedron/boundedh79extrapolation1.cc b/tests/Polyhedron/boundedh79extrapolation1.cc
index d28388c..bb8025a 100644
--- a/tests/Polyhedron/boundedh79extrapolation1.cc
+++ b/tests/Polyhedron/boundedh79extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::bounded_H79_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -71,5 +71,11 @@ test01() {
 } // namespace
 
 BEGIN_MAIN
+// Note: test01() only overflows on NNC polyhedra
+// (with 8-bit coefficients and assertions turned on).
+#ifdef DERIVED_TEST
   DO_TEST_F8A(test01);
+#else
+  DO_TEST(test01);
+#endif
 END_MAIN
diff --git a/tests/Polyhedron/bounds1.cc b/tests/Polyhedron/bounds1.cc
index 97429ae..b4122b6 100644
--- a/tests/Polyhedron/bounds1.cc
+++ b/tests/Polyhedron/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::bounds_from_below() and Polyhedron::bounds_from_above().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/cnncconversion1.cc b/tests/Polyhedron/cnncconversion1.cc
index b1de065..f0e9741 100644
--- a/tests/Polyhedron/cnncconversion1.cc
+++ b/tests/Polyhedron/cnncconversion1.cc
@@ -1,6 +1,6 @@
 /* Test conversions between C_Polyhedron and NNC_Polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/concatenate1.cc b/tests/Polyhedron/concatenate1.cc
index 721da23..8854d9a 100644
--- a/tests/Polyhedron/concatenate1.cc
+++ b/tests/Polyhedron/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::concatenate_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/congruences1.cc b/tests/Polyhedron/congruences1.cc
index a15cfc4..4189a0a 100644
--- a/tests/Polyhedron/congruences1.cc
+++ b/tests/Polyhedron/congruences1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron(Congruence_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/constrains1.cc b/tests/Polyhedron/constrains1.cc
index db8746c..03e3534 100644
--- a/tests/Polyhedron/constrains1.cc
+++ b/tests/Polyhedron/constrains1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::constrains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/constraints1.cc b/tests/Polyhedron/constraints1.cc
index 38e764a..85d86f9 100644
--- a/tests/Polyhedron/constraints1.cc
+++ b/tests/Polyhedron/constraints1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/contains1.cc b/tests/Polyhedron/contains1.cc
index d1b7b98..deb572f 100644
--- a/tests/Polyhedron/contains1.cc
+++ b/tests/Polyhedron/contains1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::contains(const Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/contains2.cc b/tests/Polyhedron/contains2.cc
index bcd5b13..7a222cc 100644
--- a/tests/Polyhedron/contains2.cc
+++ b/tests/Polyhedron/contains2.cc
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron::contains(const Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/containsintegerpoint1.cc b/tests/Polyhedron/containsintegerpoint1.cc
index cf63c1b..1c63fbf 100644
--- a/tests/Polyhedron/containsintegerpoint1.cc
+++ b/tests/Polyhedron/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::contains_integer_point().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/disjoint1.cc b/tests/Polyhedron/disjoint1.cc
index 647e987..bba2243 100644
--- a/tests/Polyhedron/disjoint1.cc
+++ b/tests/Polyhedron/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/disjoint2.cc b/tests/Polyhedron/disjoint2.cc
index 91cc8a5..a8d1225 100644
--- a/tests/Polyhedron/disjoint2.cc
+++ b/tests/Polyhedron/disjoint2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/dropsomenonintegerpoints1.cc b/tests/Polyhedron/dropsomenonintegerpoints1.cc
index 929477a..d6e9071 100644
--- a/tests/Polyhedron/dropsomenonintegerpoints1.cc
+++ b/tests/Polyhedron/dropsomenonintegerpoints1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/dropsomenonintegerpoints2.cc b/tests/Polyhedron/dropsomenonintegerpoints2.cc
index f2e30ce..4adcce6 100644
--- a/tests/Polyhedron/dropsomenonintegerpoints2.cc
+++ b/tests/Polyhedron/dropsomenonintegerpoints2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::drop_some_non_integer_points().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/dualhypercubes.cc b/tests/Polyhedron/dualhypercubes.cc
index 8802d46..f6d3ffa 100644
--- a/tests/Polyhedron/dualhypercubes.cc
+++ b/tests/Polyhedron/dualhypercubes.cc
@@ -1,6 +1,6 @@
 /* Exploit smf when computing the intersection of NNC dual hypercubes.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "timings.hh"
diff --git a/tests/Polyhedron/empty1.cc b/tests/Polyhedron/empty1.cc
index 767b4aa..8960bf5 100644
--- a/tests/Polyhedron/empty1.cc
+++ b/tests/Polyhedron/empty1.cc
@@ -1,6 +1,6 @@
 /* Different ways of creating an empty polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/equals1.cc b/tests/Polyhedron/equals1.cc
index 6a87018..146bb64 100644
--- a/tests/Polyhedron/equals1.cc
+++ b/tests/Polyhedron/equals1.cc
@@ -1,6 +1,6 @@
 /* Test operator==(const Polyhedron&, const Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/exceptions1.cc b/tests/Polyhedron/exceptions1.cc
index 85a69e4..261c321 100644
--- a/tests/Polyhedron/exceptions1.cc
+++ b/tests/Polyhedron/exceptions1.cc
@@ -1,6 +1,6 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/exceptions2.cc b/tests/Polyhedron/exceptions2.cc
index b81ee3b..278976b 100644
--- a/tests/Polyhedron/exceptions2.cc
+++ b/tests/Polyhedron/exceptions2.cc
@@ -1,6 +1,6 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -840,7 +840,7 @@ test30() {
     // `Polyhedron::swap(Polyhedron&)': it is illegal
     // to apply this function to a closed and a
     // not necessarily closed polyhedron.
-    ph1.swap(ph2);
+    swap(ph1, ph2);
   }
   catch (std::invalid_argument& e) {
     nout << "invalid_argument: " << e.what() << endl << endl;
diff --git a/tests/Polyhedron/exceptions3.cc b/tests/Polyhedron/exceptions3.cc
index fd23deb..5a47a38 100644
--- a/tests/Polyhedron/exceptions3.cc
+++ b/tests/Polyhedron/exceptions3.cc
@@ -1,6 +1,6 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/expandspacedim1.cc b/tests/Polyhedron/expandspacedim1.cc
index 9600921..cdcc4a3 100644
--- a/tests/Polyhedron/expandspacedim1.cc
+++ b/tests/Polyhedron/expandspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/expandspacedim2.cc b/tests/Polyhedron/expandspacedim2.cc
index ed2fe4c..e6a6395 100644
--- a/tests/Polyhedron/expandspacedim2.cc
+++ b/tests/Polyhedron/expandspacedim2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::expand_space_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/foldspacedims1.cc b/tests/Polyhedron/foldspacedims1.cc
index b9d3132..a5f6a04 100644
--- a/tests/Polyhedron/foldspacedims1.cc
+++ b/tests/Polyhedron/foldspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/foldspacedims2.cc b/tests/Polyhedron/foldspacedims2.cc
index 8260766..6fd5dd5 100644
--- a/tests/Polyhedron/foldspacedims2.cc
+++ b/tests/Polyhedron/foldspacedims2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::fold_space_dimensions() for non-closed polyhedra.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/frequency1.cc b/tests/Polyhedron/frequency1.cc
index 1ea23af..935d923 100644
--- a/tests/Polyhedron/frequency1.cc
+++ b/tests/Polyhedron/frequency1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::frequency().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/frombdshape1.cc b/tests/Polyhedron/frombdshape1.cc
index a3139f2..52264ba 100644
--- a/tests/Polyhedron/frombdshape1.cc
+++ b/tests/Polyhedron/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/frombox1.cc b/tests/Polyhedron/frombox1.cc
index 6237ae1..39c8922 100644
--- a/tests/Polyhedron/frombox1.cc
+++ b/tests/Polyhedron/frombox1.cc
@@ -1,7 +1,7 @@
 /* Test C_Polyhedron::C_Polyhedron(const Box<Interval>&)
    and NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/frombox2.cc b/tests/Polyhedron/frombox2.cc
index 7954616..3671a9d 100644
--- a/tests/Polyhedron/frombox2.cc
+++ b/tests/Polyhedron/frombox2.cc
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/fromgrid1.cc b/tests/Polyhedron/fromgrid1.cc
index 408d536..bb3daa8 100644
--- a/tests/Polyhedron/fromgrid1.cc
+++ b/tests/Polyhedron/fromgrid1.cc
@@ -1,7 +1,7 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/fromoctagonalshape1.cc b/tests/Polyhedron/fromoctagonalshape1.cc
index 02fa5ed..063e50f 100644
--- a/tests/Polyhedron/fromoctagonalshape1.cc
+++ b/tests/Polyhedron/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/generalizedaffineimage1.cc b/tests/Polyhedron/generalizedaffineimage1.cc
index 3c34e62..cb84724 100644
--- a/tests/Polyhedron/generalizedaffineimage1.cc
+++ b/tests/Polyhedron/generalizedaffineimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/generalizedaffineimage2.cc b/tests/Polyhedron/generalizedaffineimage2.cc
index f2de8ca..1f04d5f 100644
--- a/tests/Polyhedron/generalizedaffineimage2.cc
+++ b/tests/Polyhedron/generalizedaffineimage2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::generalized_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -240,7 +240,7 @@ test08() {
   print_constraints(ph, "*** after ph.generalized_affine_image"
 		    "(B, GREATER_THAN, A + B + 1) ***");
   print_generators(ph, "*** after ph.generalized_affine_image"
-		   "(B, PPLGT, A + B + 1) ***");
+		   "(B, GREATER_THAN, A + B + 1) ***");
 
   return ok;
 }
diff --git a/tests/Polyhedron/generalizedaffinepreimage1.cc b/tests/Polyhedron/generalizedaffinepreimage1.cc
index 2d90105..744b336 100644
--- a/tests/Polyhedron/generalizedaffinepreimage1.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/generalizedaffinepreimage2.cc b/tests/Polyhedron/generalizedaffinepreimage2.cc
index ca3f59d..e136e76 100644
--- a/tests/Polyhedron/generalizedaffinepreimage2.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::generalized_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/generators1.cc b/tests/Polyhedron/generators1.cc
index e31a860..8848f09 100644
--- a/tests/Polyhedron/generators1.cc
+++ b/tests/Polyhedron/generators1.cc
@@ -1,6 +1,6 @@
 /* Test the construction of a polyhedron using generators.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/geomcovers1.cc b/tests/Polyhedron/geomcovers1.cc
index 5130bfd..e06aa05 100644
--- a/tests/Polyhedron/geomcovers1.cc
+++ b/tests/Polyhedron/geomcovers1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::geometrically_covers().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/h79widening1.cc b/tests/Polyhedron/h79widening1.cc
index 9976baa..ad44d9e 100644
--- a/tests/Polyhedron/h79widening1.cc
+++ b/tests/Polyhedron/h79widening1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::H79_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/h79widening2.cc b/tests/Polyhedron/h79widening2.cc
index 1b55b0d..0e97e13 100644
--- a/tests/Polyhedron/h79widening2.cc
+++ b/tests/Polyhedron/h79widening2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::H79_widening_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/hybrid.cc b/tests/Polyhedron/hybrid.cc
index 9ca16a5..3dc0011 100644
--- a/tests/Polyhedron/hybrid.cc
+++ b/tests/Polyhedron/hybrid.cc
@@ -1,7 +1,7 @@
 /* Test three examples for linear hybrid systems.  These are based on
    the examples in HalbwachsPR94 and HalbwachsPR97 papers.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/intersection1.cc b/tests/Polyhedron/intersection1.cc
index 0bfa3e8..26ba39d 100644
--- a/tests/Polyhedron/intersection1.cc
+++ b/tests/Polyhedron/intersection1.cc
@@ -1,6 +1,6 @@
 /* Testing Polyhedron::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/limitedbhrz03extrapolation1.cc b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
index 55ae5c4..ae75aea 100644
--- a/tests/Polyhedron/limitedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::limited_BHRZ03_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/limitedh79extrapolation1.cc b/tests/Polyhedron/limitedh79extrapolation1.cc
index 2b4643a..628978d 100644
--- a/tests/Polyhedron/limitedh79extrapolation1.cc
+++ b/tests/Polyhedron/limitedh79extrapolation1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::limited_H79_extrapolation_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/linearexpression1.cc b/tests/Polyhedron/linearexpression1.cc
index e9687a7..a87c807 100644
--- a/tests/Polyhedron/linearexpression1.cc
+++ b/tests/Polyhedron/linearexpression1.cc
@@ -1,6 +1,6 @@
 /* Testing Linear_Expression.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/linearpartition1.cc b/tests/Polyhedron/linearpartition1.cc
index 07c5216..71aad94 100644
--- a/tests/Polyhedron/linearpartition1.cc
+++ b/tests/Polyhedron/linearpartition1.cc
@@ -1,6 +1,6 @@
 /* Test linear_partition().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/linearsystem1.cc b/tests/Polyhedron/linearsystem1.cc
index 8ac3603..49aa01c 100644
--- a/tests/Polyhedron/linearsystem1.cc
+++ b/tests/Polyhedron/linearsystem1.cc
@@ -1,6 +1,6 @@
 /* Test some functionality of class Linear_System.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "files.hh"
@@ -47,17 +47,17 @@ test01() {
 #define ROWS 7
 #define COLS 3
 
-  Linear_System ls1(NOT_NECESSARILY_CLOSED);
+  Linear_System<Constraint> ls1(NOT_NECESSARILY_CLOSED, DENSE);
   for (dimension_type rowi = 0; rowi < ROWS; ++rowi) {
-    Linear_Row row(COLS,
-		   Linear_Row::Flags(NOT_NECESSARILY_CLOSED,
-				     Linear_Row::RAY_OR_POINT_OR_INEQUALITY));
+    Linear_Expression e;
+    e.set_space_dimension(COLS - 1);
     for (dimension_type col = 0; col < COLS; ++col) {
-      rng.get(row[col], 0);
+      Coefficient c;
+      rng.get(c, 0);
       // The following workaround is to avoid trivial positive overflows
       // when using bounded coefficients.
       if (std::numeric_limits<Coefficient>::is_bounded
-	  && row[col] == std::numeric_limits<Coefficient>::min())
+	  && c == std::numeric_limits<Coefficient>::min())
 	// Here the randomly generated coefficients is equal to the
 	// allowed minimum value for a signed integer data type that
 	// might adopt the 2's complement representation
@@ -66,11 +66,15 @@ test01() {
 	// of the Linear_Row, because the GCD computation will try to negate
 	// such a coefficient.
 	// To avoid the problem, we simply increment the coefficient.
-	++row[col];
+	++c;
+      
+      if (col == 0)
+        e += c;
+      else
+        add_mul_assign(e, c, Variable(col - 1));
     }
 
-    row.strong_normalize();
-    ls1.insert(row);
+    ls1.insert(e > 0);
 
     using std::fstream;
     using std::ios_base;
@@ -80,14 +84,14 @@ test01() {
     close(f);
 
     open(f, data_file, ios_base::in);
-    Linear_System ls2(NECESSARILY_CLOSED);
+    Linear_System<Constraint> ls2(NECESSARILY_CLOSED, DENSE);
     ls2.ascii_load(f);
     close(f);
 
     if (ls1 == ls2)
       continue;
 
-    nout << "Linear_System::ascii_dump/load test failed." << endl
+    nout << "Linear_System<Constraint>::ascii_dump/load test failed." << endl
 	 << "m1.ascii_dump() gives" << endl;
     ls1.ascii_dump(nout);
     nout << "m2.ascii_dump() gives" << endl;
diff --git a/tests/Polyhedron/mapspacedims1.cc b/tests/Polyhedron/mapspacedims1.cc
index 21d92d0..2b101f0 100644
--- a/tests/Polyhedron/mapspacedims1.cc
+++ b/tests/Polyhedron/mapspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::map_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/matrix1.cc b/tests/Polyhedron/matrix1.cc
index f2e6dba..730c779 100644
--- a/tests/Polyhedron/matrix1.cc
+++ b/tests/Polyhedron/matrix1.cc
@@ -1,5 +1,6 @@
 /* Test some functionality of class Matrix.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -18,11 +19,14 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "files.hh"
+
 #include <fstream>
+#include <vector>
+#include <algorithm>
 
 namespace {
 
@@ -31,11 +35,11 @@ test01() {
   Variable A(0);
   Variable B(1);
   Random_Number_Generator r;
-  const char* data_file = "matrix1.dat";
+  const char* data_file = "densematrix1.dat";
 
   for (dimension_type num_rows = 0; num_rows <= 3; ++num_rows)
     for (dimension_type num_cols = 0; num_cols <= 3; ++num_cols) {
-      Matrix m1(num_rows, num_cols);
+      Matrix<Dense_Row> m1(num_rows, num_cols);
       for (dimension_type row = 0; row < num_rows; ++row)
 	for (dimension_type col = 0; col < num_cols; ++col)
 	  r.get(m1[row][col], 0);
@@ -46,13 +50,13 @@ test01() {
       close(f);
 
       open(f, data_file, std::ios_base::in);
-      Matrix m2;
+      Matrix<Dense_Row> m2;
       m2.ascii_load(f);
       close(f);
 
       if (m1 != m2) {
 
-	nout << "Matrix::ascii_dump/load test failed." << endl
+	nout << "Matrix<Dense_Row>::ascii_dump/load test failed." << endl
 	     << "m1.ascii_dump() gives" << endl;
 	m1.ascii_dump(nout);
 	nout << "m2.ascii_dump() gives" << endl;
@@ -64,8 +68,255 @@ test01() {
   return true;
 }
 
+bool
+test02() {
+
+  Matrix<Sparse_Row> matrix(3, 4);
+
+  if (matrix.num_rows() != 3)
+    return false;
+
+  if (matrix.num_columns() != 4)
+    return false;
+
+  matrix.resize(5);
+
+  if (matrix.num_rows() != 5)
+    return false;
+
+  if (matrix.num_columns() != 5)
+    return false;
+
+  matrix.add_zero_rows_and_columns(2, 3);
+
+  if (matrix.num_rows() != 7)
+    return false;
+
+  if (matrix.num_columns() != 8)
+    return false;
+
+  return true;
+}
+
+bool
+test03() {
+
+  Matrix<Sparse_Row> matrix(3, 6);
+
+  // ( 0  1  2  3  4  0 )
+  // ( 0  6  7  8  9 10 )
+  // ( 0 11 12 13 14 15 )
+
+  matrix[0][0] = 0;
+  matrix[0][1] = 1;
+  matrix[0][2] = 2;
+  matrix[0][3] = 3;
+  matrix[0][4] = 4;
+  matrix[0][5] = 0;
+  matrix[1][0] = 0;
+  matrix[1][1] = 6;
+  matrix[1][2] = 7;
+  matrix[1][3] = 8;
+  matrix[1][4] = 9;
+  matrix[1][5] = 10;
+  matrix[2][0] = 0;
+  matrix[2][1] = 11;
+  matrix[2][2] = 12;
+  matrix[2][3] = 13;
+  matrix[2][4] = 14;
+  matrix[2][5] = 15;
+
+  std::vector<dimension_type> cycles;
+
+  // Swap the second and the fourth column
+  cycles.push_back(1);
+  cycles.push_back(3);
+  cycles.push_back(0);
+
+  // Cycle the third, fifth and sixth column
+  cycles.push_back(2);
+  cycles.push_back(4);
+  cycles.push_back(5);
+  cycles.push_back(0);
+
+  matrix.permute_columns(cycles);
+
+
+  // Expected result:
+  //
+  // ( 0  3  0  1  2  4 )
+  // ( 0  8 10  6  7  9 )
+  // ( 0 13 15 11 12 14 )
+
+  if (matrix[0][0] != 0) return false;
+  if (matrix[0][1] != 3) return false;
+  if (matrix[0][2] != 0) return false;
+  if (matrix[0][3] != 1) return false;
+  if (matrix[0][4] != 2) return false;
+  if (matrix[0][5] != 4) return false;
+  if (matrix[1][0] != 0) return false;
+  if (matrix[1][1] != 8) return false;
+  if (matrix[1][2] != 10) return false;
+  if (matrix[1][3] != 6) return false;
+  if (matrix[1][4] != 7) return false;
+  if (matrix[1][5] != 9) return false;
+  if (matrix[2][0] != 0) return false;
+  if (matrix[2][1] != 13) return false;
+  if (matrix[2][2] != 15) return false;
+  if (matrix[2][3] != 11) return false;
+  if (matrix[2][4] != 12) return false;
+  if (matrix[2][5] != 14) return false;
+
+  return true;
+}
+
+bool
+test04() {
+  Matrix<Sparse_Row> large(2,5);
+  Matrix<Sparse_Row> tall(6,3);
+
+  large[0][4] = 10;
+  tall[4][0] = 20;
+
+  using std::swap;
+  swap(large, tall);
+
+  if (large.num_columns() != 3)
+    return false;
+
+  if (large.num_rows() != 6)
+    return false;
+
+  if (tall.num_columns() != 5)
+    return false;
+
+  if (tall.num_rows() != 2)
+    return false;
+
+  if (tall[0][4] != 10)
+    return false;
+
+  if (large[4][0] != 20)
+    return false;
+
+  return true;
+}
+
+bool
+test05() {
+
+  Matrix<Sparse_Row> x(2, 3);
+
+  // ( 1 2 3 )
+  // ( 4 5 6 )
+
+  x[0][0] = 1;
+  x[0][1] = 2;
+  x[0][2] = 3;
+  x[1][0] = 4;
+  x[1][1] = 5;
+  x[1][2] = 6;
+
+  Matrix<Sparse_Row>::iterator itr = x.begin();
+
+  // First row
+
+  if (itr == x.end())
+    return false;
+
+  if ((*itr)[0] != 1)
+    return false;
+  if ((*itr)[1] != 2)
+    return false;
+  if ((*itr)[2] != 3)
+    return false;
+
+  ++itr;
+
+  // Second row
+
+  if (itr == x.end())
+    return false;
+
+  if ((*itr)[0] != 4)
+    return false;
+  if ((*itr)[1] != 5)
+    return false;
+  if ((*itr)[2] != 6)
+    return false;
+
+  ++itr;
+
+  if (itr != x.end())
+    return false;
+
+  return true;
+}
+
+bool
+test06() {
+
+  Matrix<Sparse_Row> matrix(3, 5);
+
+  // (  1  2  3  4  5 )
+  // (  6  7  8  9 10 )
+  // ( 11 12 13 14 15 )
+
+  matrix[0][0] = 1;
+  matrix[0][1] = 2;
+  matrix[0][2] = 3;
+  matrix[0][3] = 4;
+  matrix[0][4] = 5;
+  matrix[1][0] = 6;
+  matrix[1][1] = 7;
+  matrix[1][2] = 8;
+  matrix[1][3] = 9;
+  matrix[1][4] = 10;
+  matrix[2][0] = 11;
+  matrix[2][1] = 12;
+  matrix[2][2] = 13;
+  matrix[2][3] = 14;
+  matrix[2][4] = 15;
+
+  matrix.add_row(matrix[1]);
+
+  // (  1  2  3  4  5 )
+  // (  6  7  8  9 10 )
+  // ( 11 12 13 14 15 )
+  // (  6  7  8  9 10 )
+
+  if (matrix[0][0] != 1) return false;
+  if (matrix[0][1] != 2) return false;
+  if (matrix[0][2] != 3) return false;
+  if (matrix[0][3] != 4) return false;
+  if (matrix[0][4] != 5) return false;
+  if (matrix[1][0] != 6) return false;
+  if (matrix[1][1] != 7) return false;
+  if (matrix[1][2] != 8) return false;
+  if (matrix[1][3] != 9) return false;
+  if (matrix[1][4] != 10) return false;
+  if (matrix[2][0] != 11) return false;
+  if (matrix[2][1] != 12) return false;
+  if (matrix[2][2] != 13) return false;
+  if (matrix[2][3] != 14) return false;
+  if (matrix[2][4] != 15) return false;
+  if (matrix[3][0] != 6) return false;
+  if (matrix[3][1] != 7) return false;
+  if (matrix[3][2] != 8) return false;
+  if (matrix[3][3] != 9) return false;
+  if (matrix[3][4] != 10) return false;
+
+  return true;
+}
+
+
 } // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
 END_MAIN
diff --git a/tests/Polyhedron/max_min1.cc b/tests/Polyhedron/max_min1.cc
index 1cffcb4..64e5008 100644
--- a/tests/Polyhedron/max_min1.cc
+++ b/tests/Polyhedron/max_min1.cc
@@ -1,7 +1,7 @@
 /* Test Polyhedron::maximize(const Linear_Expression&, ...)
    and Polyhedron::minimize(const Linear_Expression&, ...).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/maxspacedim1.cc b/tests/Polyhedron/maxspacedim1.cc
index 17b34c3..646a51c 100644
--- a/tests/Polyhedron/maxspacedim1.cc
+++ b/tests/Polyhedron/maxspacedim1.cc
@@ -1,6 +1,6 @@
 /* Test the *::max_space_dimension() methods.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/mc91.cc b/tests/Polyhedron/mc91.cc
index ada6acb..d5b5974 100644
--- a/tests/Polyhedron/mc91.cc
+++ b/tests/Polyhedron/mc91.cc
@@ -1,6 +1,6 @@
 /* Test the Pointset_Powerset construction with McCarthy's 91 function.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/membytes1.cc b/tests/Polyhedron/membytes1.cc
index 0c26a4d..32494a2 100644
--- a/tests/Polyhedron/membytes1.cc
+++ b/tests/Polyhedron/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/memory1.cc b/tests/Polyhedron/memory1.cc
index 69bd8d1..fadae8d 100644
--- a/tests/Polyhedron/memory1.cc
+++ b/tests/Polyhedron/memory1.cc
@@ -1,6 +1,6 @@
 /* Test the allocation error recovery facility of the library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 // Note: we cannot know, at this stage whether
 // PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK evaluates to true.
diff --git a/tests/Polyhedron/memory2.cc b/tests/Polyhedron/memory2.cc
index 5a64f86..6c1ccdb 100644
--- a/tests/Polyhedron/memory2.cc
+++ b/tests/Polyhedron/memory2.cc
@@ -1,6 +1,6 @@
 /* Test the allocation error recovery facility of the library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <new>
@@ -150,7 +150,7 @@ test1() {
 
   reset_allocators(6, ULONG_MAX);
   try {
-    Matrix* matrix = new Matrix(2, 5);
+    Matrix<Dense_Row>* matrix = new Matrix<Dense_Row>(2, 5);
     // We will get here only if no exception is thrown:
     // this happens when using native coefficients.
     delete matrix;
diff --git a/tests/Polyhedron/minconstraints1.cc b/tests/Polyhedron/minconstraints1.cc
index ac68125..7f8092f 100644
--- a/tests/Polyhedron/minconstraints1.cc
+++ b/tests/Polyhedron/minconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::minimized_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Polyhedron/minconstraints2.cc
index 4e7ec40..552dd02 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Polyhedron/minconstraints2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::minimized_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <algorithm>
diff --git a/tests/Polyhedron/mingenerators1.cc b/tests/Polyhedron/mingenerators1.cc
index 75453c1..c1e316a 100644
--- a/tests/Polyhedron/mingenerators1.cc
+++ b/tests/Polyhedron/mingenerators1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::minimized_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/mingenerators2.cc b/tests/Polyhedron/mingenerators2.cc
index 764f65a..c86ec5c 100644
--- a/tests/Polyhedron/mingenerators2.cc
+++ b/tests/Polyhedron/mingenerators2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::minimized_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/nncminimize1.cc b/tests/Polyhedron/nncminimize1.cc
index 0023964..a988454 100644
--- a/tests/Polyhedron/nncminimize1.cc
+++ b/tests/Polyhedron/nncminimize1.cc
@@ -1,6 +1,6 @@
 /* Test minimization of NNC polyhedra.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <algorithm>
diff --git a/tests/Polyhedron/nncminimize2.cc b/tests/Polyhedron/nncminimize2.cc
index b07c28a..acffd11 100644
--- a/tests/Polyhedron/nncminimize2.cc
+++ b/tests/Polyhedron/nncminimize2.cc
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron::ph.minimized_generators().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/numberinput1.cc b/tests/Polyhedron/numberinput1.cc
index 3ccbf5a..086c822 100644
--- a/tests/Polyhedron/numberinput1.cc
+++ b/tests/Polyhedron/numberinput1.cc
@@ -1,6 +1,6 @@
 /* Test number input.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <string>
diff --git a/tests/Polyhedron/onepoint.cc b/tests/Polyhedron/onepoint.cc
index 80ec9a5..b233df1 100644
--- a/tests/Polyhedron/onepoint.cc
+++ b/tests/Polyhedron/onepoint.cc
@@ -1,6 +1,6 @@
 /* Creation of a one-point polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/permute.cc b/tests/Polyhedron/permute.cc
index a61b68c..255076a 100644
--- a/tests/Polyhedron/permute.cc
+++ b/tests/Polyhedron/permute.cc
@@ -1,6 +1,6 @@
 /* An example of iteration to a post-fixpoint.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polydifference1.cc b/tests/Polyhedron/polydifference1.cc
index a9ca959..0ea6ec2 100644
--- a/tests/Polyhedron/polydifference1.cc
+++ b/tests/Polyhedron/polydifference1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::difference_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polydifference2.cc b/tests/Polyhedron/polydifference2.cc
index afe1f1f..55d38aa 100644
--- a/tests/Polyhedron/polydifference2.cc
+++ b/tests/Polyhedron/polydifference2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::difference_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polyhull1.cc b/tests/Polyhedron/polyhull1.cc
index 82e5397..be2c71e 100644
--- a/tests/Polyhedron/polyhull1.cc
+++ b/tests/Polyhedron/polyhull1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polyhull2.cc b/tests/Polyhedron/polyhull2.cc
index b9f0e4e..3b2f681 100644
--- a/tests/Polyhedron/polyhull2.cc
+++ b/tests/Polyhedron/polyhull2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polyhullifexact1.cc b/tests/Polyhedron/polyhullifexact1.cc
index 3058570..12bcb2b 100644
--- a/tests/Polyhedron/polyhullifexact1.cc
+++ b/tests/Polyhedron/polyhullifexact1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/polyhullifexact2.cc b/tests/Polyhedron/polyhullifexact2.cc
index 943a300..4c56434 100644
--- a/tests/Polyhedron/polyhullifexact2.cc
+++ b/tests/Polyhedron/polyhullifexact2.cc
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron::upper_bound_assign_if_exact().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/randphull1.cc b/tests/Polyhedron/randphull1.cc
index 7415126..eb43cdd 100644
--- a/tests/Polyhedron/randphull1.cc
+++ b/tests/Polyhedron/randphull1.cc
@@ -1,6 +1,6 @@
 /* Compute poly-hulls of random polytopes.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <vector>
@@ -98,6 +98,7 @@ point_on_the_unit_n_sphere(unsigned n,
 			   const std::vector<float>& theta,
 			   std::vector<float>& coordinate) {
   assert(n >= 2);
+
   if (n == 2) {
     coordinate[0] *= sin(theta[0]);
     coordinate[1] *= cos(theta[0]);
diff --git a/tests/Polyhedron/refinewithcongruence1.cc b/tests/Polyhedron/refinewithcongruence1.cc
index dceba65..91cb8eb 100644
--- a/tests/Polyhedron/refinewithcongruence1.cc
+++ b/tests/Polyhedron/refinewithcongruence1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::refine_with_congruence().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/refinewithcongruences1.cc b/tests/Polyhedron/refinewithcongruences1.cc
index baab887..68905e9 100644
--- a/tests/Polyhedron/refinewithcongruences1.cc
+++ b/tests/Polyhedron/refinewithcongruences1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::refine_with_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/refinewithconstraint1.cc b/tests/Polyhedron/refinewithconstraint1.cc
index 2c63e13..ba7a42b 100644
--- a/tests/Polyhedron/refinewithconstraint1.cc
+++ b/tests/Polyhedron/refinewithconstraint1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::refine_with_constraint().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/refinewithconstraints1.cc b/tests/Polyhedron/refinewithconstraints1.cc
index 3c0f8f0..879b4b3 100644
--- a/tests/Polyhedron/refinewithconstraints1.cc
+++ b/tests/Polyhedron/refinewithconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::refine_with_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/relations1.cc b/tests/Polyhedron/relations1.cc
index 717b8b8..6bc93c2 100644
--- a/tests/Polyhedron/relations1.cc
+++ b/tests/Polyhedron/relations1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::relation_with(g) and Polyhedron::relation_with(c).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/relations2.cc b/tests/Polyhedron/relations2.cc
index dcedb89..b3e018f 100644
--- a/tests/Polyhedron/relations2.cc
+++ b/tests/Polyhedron/relations2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/relations3.cc b/tests/Polyhedron/relations3.cc
index 479659d..a1ced07 100644
--- a/tests/Polyhedron/relations3.cc
+++ b/tests/Polyhedron/relations3.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/removespacedims1.cc b/tests/Polyhedron/removespacedims1.cc
index 5ad0080..4e07eac 100644
--- a/tests/Polyhedron/removespacedims1.cc
+++ b/tests/Polyhedron/removespacedims1.cc
@@ -1,6 +1,6 @@
 /* Removing space dimensions from a polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/removespacedims2.cc b/tests/Polyhedron/removespacedims2.cc
index 03a21fc..cd38d81 100644
--- a/tests/Polyhedron/removespacedims2.cc
+++ b/tests/Polyhedron/removespacedims2.cc
@@ -1,6 +1,6 @@
 /* Removing space dimensions form an NNC polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -60,8 +60,40 @@ test01() {
   return ok;
 }
 
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  NNC_Polyhedron ph(3);
+
+  ph.add_constraint(x >= 1);
+  ph.add_constraint(y >= 1);
+  ph.add_constraint(z >= 1);
+
+  print_generators(ph, "*** ph ***");
+
+  Variables_Set to_be_removed;
+  to_be_removed.insert(x);
+  to_be_removed.insert(z);
+
+  ph.remove_space_dimensions(to_be_removed);
+
+  NNC_Polyhedron known_result(1);
+  known_result.add_constraint(x >= 1);
+
+  bool ok = (ph == known_result);
+
+  print_constraints(ph, "*** ph.remove_space_dimensions() ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
+  DO_TEST(test02);
 END_MAIN
diff --git a/tests/Polyhedron/simplifyusingcontext1.cc b/tests/Polyhedron/simplifyusingcontext1.cc
index 8f5ec0b..822f047 100644
--- a/tests/Polyhedron/simplifyusingcontext1.cc
+++ b/tests/Polyhedron/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/smm1.cc b/tests/Polyhedron/smm1.cc
index 8f49b1d..71bbb19 100644
--- a/tests/Polyhedron/smm1.cc
+++ b/tests/Polyhedron/smm1.cc
@@ -1,6 +1,6 @@
 /* SEND + MORE = MONEY.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/sparserow1.cc b/tests/Polyhedron/sparserow1.cc
new file mode 100644
index 0000000..5849b2a
--- /dev/null
+++ b/tests/Polyhedron/sparserow1.cc
@@ -0,0 +1,626 @@
+/* Test the Sparse_Matrix class.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+#if PPL_USE_SPARSE_MATRIX
+
+#include <vector>
+#include <algorithm>
+#include <set>
+
+namespace {
+
+bool
+test01() {
+
+  Sparse_Row row(5);
+
+  if (row.size() != 5)
+    return false;
+
+  row.resize(4);
+
+  if (row.size() != 4)
+    return false;
+
+  return true;
+}
+
+bool
+test02() {
+
+  Sparse_Row row(5);
+
+  row[1] = 5;
+  row[3] = 6;
+
+  Sparse_Row::iterator itr = row.begin();
+
+  if (itr == row.end())
+    return false;
+
+  if (itr.index() != 1)
+    return false;
+
+  if (*itr != 5)
+    return false;
+
+  ++itr;
+
+  if (itr == row.end())
+    return false;
+
+  if (itr.index() != 3)
+    return false;
+
+  if (*itr != 6)
+    return false;
+
+  ++itr;
+
+  if (itr != row.end())
+    return false;
+
+  --itr;
+
+  if (itr == row.end())
+    return false;
+
+  if (itr.index() != 3)
+    return false;
+
+  if (*itr != 6)
+    return false;
+
+  Sparse_Row::const_iterator citr = row.cbegin();
+
+  if (citr == row.cend())
+    return false;
+
+  if (citr.index() != 1)
+    return false;
+
+  if (*citr != 5)
+    return false;
+
+  ++citr;
+
+  if (citr == row.cend())
+    return false;
+
+  if (citr.index() != 3)
+    return false;
+
+  if (*citr != 6)
+    return false;
+
+  ++citr;
+
+  if (citr != row.cend())
+    return false;
+
+  --citr;
+
+  if (citr == row.cend())
+    return false;
+
+  if (citr.index() != 3)
+    return false;
+
+  if (*citr != 6)
+    return false;
+
+  return true;
+}
+
+bool
+test03() {
+
+  Sparse_Row row(10);
+
+  row[1] = 2;
+  row[3] = 4;
+  row[5] = 6;
+  row[7] = 8;
+  row[9] = 10;
+
+  Sparse_Row::iterator itr = row.find(3);
+
+  row.reset(itr);
+
+  if (row.get(3) != 0)
+    return false;
+
+  row[3] = 4;
+
+  itr = row.find(3);
+  Sparse_Row::iterator itr2 = row.find(7);
+
+  row.reset(itr, itr2);
+
+  if (row.get(1) != 2)
+    return false;
+
+  if (row.get(3) != 0)
+    return false;
+
+  if (row.get(5) != 0)
+    return false;
+
+  if (row.get(7) != 8)
+    return false;
+
+  return true;
+}
+
+bool
+test04() {
+
+  Sparse_Row row(2);
+
+  row[1] = 2;
+
+  if (row.get(1) != 2)
+    return false;
+
+  if (row.find(0) != row.end())
+    return false;
+
+  row.swap_coefficients(0, 1);
+
+  if (row.get(0) != 2)
+    return false;
+
+  if (row.find(1) != row.end())
+    return false;
+
+  row.swap_coefficients(0, 1);
+
+  if (row.get(1) != 2)
+    return false;
+
+  if (row.find(0) != row.end())
+    return false;
+
+  row[0] = 3;
+
+  if (row.get(1) != 2)
+    return false;
+
+  if (row.get(0) != 3)
+    return false;
+
+  row.swap_coefficients(0, 1);
+
+  if (row.get(1) != 3)
+    return false;
+
+  if (row.get(0) != 2)
+    return false;
+
+  row.clear();
+
+  if (row.find(1) != row.end())
+    return false;
+
+  if (row.find(0) != row.end())
+    return false;
+
+  row.swap_coefficients(0, 1);
+
+  if (row.find(1) != row.end())
+    return false;
+
+  if (row.find(0) != row.end())
+    return false;
+
+  if (row.begin() != row.end())
+    return false;
+
+  if (row.cbegin() != row.cend())
+    return false;
+
+  return true;
+}
+
+class test05_functor {
+public:
+
+  inline void
+  operator()(Coefficient& x, const Coefficient& y) const {
+    x *= 2 - y;
+  }
+
+  inline void
+  operator()(Coefficient& x) const {
+    x *= 2;
+  }
+};
+
+bool
+test05() {
+
+  Sparse_Row x(9);
+
+  // x: ***000111
+  // (`*' is an unstored zero)
+
+  x[3] = 0;
+  x[4] = 0;
+  x[5] = 0;
+  x[6] = 1;
+  x[7] = 1;
+  x[8] = 1;
+
+  Sparse_Row y(9);
+
+  // y: *01*01*01
+  // (`*' is an unstored zero)
+
+  y[1] = 0;
+  y[2] = 1;
+  y[4] = 0;
+  y[5] = 1;
+  y[7] = 0;
+  y[8] = 1;
+
+  // x *= 2 - y
+
+  x.combine_needs_first(y, test05_functor(), test05_functor());
+
+  // x: ******221
+  // (`*' is an unstored zero)
+
+  if (x.find(0) != x.end())
+    return false;
+
+  if (x.find(1) != x.end())
+    return false;
+
+  if (x.find(2) != x.end())
+    return false;
+
+  if (x.find(3) != x.end())
+    return false;
+
+  if (x.find(4) != x.end())
+    return false;
+
+  if (x.find(5) != x.end())
+    return false;
+
+  if (x.get(6) != 2)
+    return false;
+
+  if (x.get(7) != 2)
+    return false;
+
+  if (x.get(8) != 1)
+    return false;
+
+  return true;
+}
+
+class test06_functor {
+public:
+
+  inline void
+  operator()(Coefficient& x, const Coefficient& y) const {
+    x += y;
+  }
+
+  inline void
+  operator()(Coefficient& /* x */) const {
+  }
+};
+
+bool
+test06() {
+
+  Sparse_Row x(3);
+
+  x[1] = 0;
+  x[2] = 1;
+
+  // x: *01
+
+  x.combine(x, test06_functor(), test06_functor(), test06_functor());
+
+  // x: *02
+
+  if (x.find(0) != x.end())
+    return false;
+
+  if (x.get(1) != 0)
+    return false;
+
+  if (x.get(2) != 2)
+    return false;
+
+  return true;
+}
+
+class test07_functor_1 {
+public:
+
+  inline void
+  operator()(Coefficient& x, const Coefficient& y) const {
+    x = (x % 2) - (y % 2);
+  }
+
+  inline void
+  operator()(Coefficient& x) const {
+    x %= 2;
+  }
+};
+
+class test07_functor_2 {
+public:
+
+  inline void
+  operator()(Coefficient& x, const Coefficient& y) const {
+    PPL_ASSERT(x == 0);
+    x = -(y % 2);
+  }
+};
+
+bool
+test07() {
+
+  Sparse_Row x(16);
+
+  //    0123456789ABCDEF
+  // x: ****000011112222
+
+  x[ 4] = 0;
+  x[ 5] = 0;
+  x[ 6] = 0;
+  x[ 7] = 0;
+  x[ 8] = 1;
+  x[ 9] = 1;
+  x[10] = 1;
+  x[11] = 1;
+  x[12] = 2;
+  x[13] = 2;
+  x[14] = 2;
+  x[15] = 2;
+
+  Sparse_Row y(16);
+
+  //    0123456789ABCDEF
+  // y: *012*012*012*012
+
+  y[ 1] = 0;
+  y[ 2] = 1;
+  y[ 3] = 2;
+  y[ 5] = 0;
+  y[ 6] = 1;
+  y[ 7] = 2;
+  y[ 9] = 0;
+  y[10] = 1;
+  y[11] = 2;
+  y[13] = 0;
+  y[14] = 1;
+  y[15] = 2;
+
+  // x = (x % 2) - (y % 2)
+
+  x.combine(y, test07_functor_1(), test07_functor_1(), test07_functor_2());
+
+  //    0123456789ABCDEF
+  // x: ******-**1*1**-*
+  //
+  // Legend:
+  // *: unstored zero
+  // -: -1
+
+  if (x.find(0) != x.end()) return false;
+  if (x.find(1) != x.end()) return false;
+  if (x.get(2) != -1) return false;
+  if (x.find(3) != x.end()) return false;
+  if (x.find(4) != x.end()) return false;
+  if (x.find(5) != x.end()) return false;
+  if (x.get(6) != -1) return false;
+  if (x.find(7) != x.end()) return false;
+  if (x.get(8) != 1) return false;
+  if (x.get(9) != 1) return false;
+  if (x.find(10) != x.end()) return false;
+  if (x.get(11) != 1) return false;
+  if (x.find(12) != x.end()) return false;
+  if (x.find(13) != x.end()) return false;
+  if (x.get(14) != -1) return false;
+  if (x.find(15) != x.end()) return false;
+
+  return true;
+}
+
+bool
+test08() {
+
+  Sparse_Row row(4);
+
+  if (row.lower_bound(2) != row.end())
+    return false;
+
+  const Sparse_Row& crow = row;
+
+  if (crow.lower_bound(2) != crow.end())
+    return false;
+
+  row[2] = 3;
+
+  if (row.lower_bound(1).index() != 2)
+    return false;
+
+  if (crow.lower_bound(1).index() != 2)
+    return false;
+
+  if (row.lower_bound(2).index() != 2)
+    return false;
+
+  if (crow.lower_bound(2).index() != 2)
+    return false;
+
+  if (row.lower_bound(3) != row.end())
+    return false;
+
+  if (crow.lower_bound(3) != crow.end())
+    return false;
+
+  // Now the same checks with a dummy hint.
+
+  if (row.lower_bound(row.end(), 1).index() != 2)
+    return false;
+
+  if (crow.lower_bound(crow.end(), 1).index() != 2)
+    return false;
+
+  if (row.lower_bound(row.end(), 2).index() != 2)
+    return false;
+
+  if (crow.lower_bound(crow.end(), 2).index() != 2)
+    return false;
+
+  if (row.lower_bound(row.end(), 3) != row.end())
+    return false;
+
+  if (crow.lower_bound(crow.end(), 3) != crow.end())
+    return false;
+
+  return true;
+}
+
+bool
+test09() {
+  // These test the construction of a Sparse_Row from a Dense_Row.
+  {
+    Dense_Row dense(3);
+    Sparse_Row sparse(dense);
+    if (sparse.size() != dense.size())
+      return false;
+    if (sparse.begin() != sparse.end())
+      return false;
+  }
+
+  {
+    Dense_Row dense(5);
+    dense[1] = 2;
+    dense[3] = 4;
+    Sparse_Row sparse(dense);
+    if (sparse.size() != dense.size())
+      return false;
+    Sparse_Row::iterator itr = sparse.begin();
+
+    if (itr == sparse.end())
+      return false;
+    if (itr.index() != 1)
+      return false;
+    if (*itr != 2)
+      return false;
+
+    ++itr;
+
+    if (itr == sparse.end())
+      return false;
+    if (itr.index() != 3)
+      return false;
+    if (*itr != 4)
+      return false;
+
+    ++itr;
+
+    if (itr != sparse.end())
+      return false;
+  }
+
+  {
+    Dense_Row dense(5);
+    dense[0] = 1;
+    dense[2] = 3;
+    dense[4] = 5;
+    Sparse_Row sparse(dense);
+    if (sparse.size() != dense.size())
+      return false;
+    Sparse_Row::iterator itr = sparse.begin();
+
+    if (itr == sparse.end())
+      return false;
+    if (itr.index() != 0)
+      return false;
+    if (*itr != 1)
+      return false;
+
+    ++itr;
+
+    if (itr == sparse.end())
+      return false;
+    if (itr.index() != 2)
+      return false;
+    if (*itr != 3)
+      return false;
+
+    ++itr;
+
+    if (itr == sparse.end())
+      return false;
+    if (itr.index() != 4)
+      return false;
+    if (*itr != 5)
+      return false;
+
+    ++itr;
+
+    if (itr != sparse.end())
+      return false;
+  }
+
+  return true;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
+  DO_TEST(test08);
+  DO_TEST(test09);
+END_MAIN
+
+#else // !PPL_USE_SPARSE_MATRIX
+
+// A dummy test to avoid compiler warnings in BEGIN_MAIN.
+bool test01() {
+  return true;
+}
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
+
+#endif // !PPL_USE_SPARSE_MATRIX
diff --git a/tests/Polyhedron/termination1.cc b/tests/Polyhedron/termination1.cc
index 620a27e..4c8d68a 100644
--- a/tests/Polyhedron/termination1.cc
+++ b/tests/Polyhedron/termination1.cc
@@ -1,6 +1,6 @@
 /* Test the termination analysis facilities of the PPL.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/termination2.cc b/tests/Polyhedron/termination2.cc
index e2d55c6..dc333cf 100644
--- a/tests/Polyhedron/termination2.cc
+++ b/tests/Polyhedron/termination2.cc
@@ -1,6 +1,6 @@
 /* Test the termination analysis facilities of the PPL.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/timeelapse1.cc b/tests/Polyhedron/timeelapse1.cc
index 77c4772..e184cd1 100644
--- a/tests/Polyhedron/timeelapse1.cc
+++ b/tests/Polyhedron/timeelapse1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::time_elapse_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/timeelapse2.cc b/tests/Polyhedron/timeelapse2.cc
index 74c6099..cdd926a 100644
--- a/tests/Polyhedron/timeelapse2.cc
+++ b/tests/Polyhedron/timeelapse2.cc
@@ -1,6 +1,6 @@
 /* Test time_elapse_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/topclosed1.cc b/tests/Polyhedron/topclosed1.cc
index 88bcd3e..123b314 100644
--- a/tests/Polyhedron/topclosed1.cc
+++ b/tests/Polyhedron/topclosed1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_topologically_closed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/topclosure1.cc b/tests/Polyhedron/topclosure1.cc
index 8af25e5..110f263 100644
--- a/tests/Polyhedron/topclosure1.cc
+++ b/tests/Polyhedron/topclosure1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::topological_closure_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/unconstrain1.cc b/tests/Polyhedron/unconstrain1.cc
index c118f9b..f827bcf 100644
--- a/tests/Polyhedron/unconstrain1.cc
+++ b/tests/Polyhedron/unconstrain1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::unconstrain().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/universe1.cc b/tests/Polyhedron/universe1.cc
index 84e1994..8e812b4 100644
--- a/tests/Polyhedron/universe1.cc
+++ b/tests/Polyhedron/universe1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/universe2.cc b/tests/Polyhedron/universe2.cc
index 71dcbbd..980bedd 100644
--- a/tests/Polyhedron/universe2.cc
+++ b/tests/Polyhedron/universe2.cc
@@ -1,6 +1,6 @@
 /* Test the function is_universe() for a NNC_polyhedron.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/variablesset1.cc b/tests/Polyhedron/variablesset1.cc
index d9a1a61..41b1f65 100644
--- a/tests/Polyhedron/variablesset1.cc
+++ b/tests/Polyhedron/variablesset1.cc
@@ -1,6 +1,6 @@
 /* Test the Variables_Set class.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/watchdog1.cc b/tests/Polyhedron/watchdog1.cc
index 49617f1..21f067e 100644
--- a/tests/Polyhedron/watchdog1.cc
+++ b/tests/Polyhedron/watchdog1.cc
@@ -1,6 +1,6 @@
 /* Test the timeout facility of the library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
-#include "pwl.hh"
 #include "timings.hh"
 
 namespace {
@@ -63,11 +62,10 @@ public:
 Timeout t;
 
 bool
-timed_compute_open_hypercube_generators(dimension_type dimension,
-					int hundredth_secs) {
+timed_compute_open_hypercube_generators(dimension_type dimension, int csecs) {
   try {
-    Parma_Watchdog_Library::Watchdog
-      w(hundredth_secs, abandon_expensive_computations, t);
+    Parma_Polyhedra_Library::Watchdog
+      w(csecs, abandon_expensive_computations, t);
 
     start_clock();
 
@@ -82,14 +80,14 @@ timed_compute_open_hypercube_generators(dimension_type dimension,
     nout << " s" << endl;
     return false;
   }
-#if !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+#if !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
   // If Watchdog objects are not supported, an std::logic_error exception
   // will be thrown: this is normal.
   catch (const std::logic_error& e) {
-  nout << "std::logic_error exception caught: \n" << e.what() << std::endl;
-  exit(0);
-}
-#endif // !PWL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+    nout << "std::logic_error exception caught: \n" << e.what() << std::endl;
+    exit(0);
+  }
+#endif // !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
   catch (const std::exception& e) {
     nout << "unexpected std::exception caught: \n" << e.what() << endl;
     exit(1);
diff --git a/tests/Polyhedron/weightwatch1.cc b/tests/Polyhedron/weightwatch1.cc
index d87c9bf..28d903e 100644
--- a/tests/Polyhedron/weightwatch1.cc
+++ b/tests/Polyhedron/weightwatch1.cc
@@ -1,6 +1,6 @@
 /* Test the weightwatch (i.e., deterministic timeout) facility of the library.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,16 +19,15 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
-#include "pwl.hh"
 #include <stdexcept>
 
 namespace {
 
 typedef
-Parma_Watchdog_Library::Threshold_Watcher<Weightwatch_Traits> Weightwatch;
+Parma_Polyhedra_Library::Threshold_Watcher<Weightwatch_Traits> Weightwatch;
 
 class Deterministic_Timeout
   : virtual public std::exception,
@@ -101,7 +100,7 @@ bool test01() {
   print_constraints(ph, "*** ph ***");
 
   try {
-    Weightwatch ww(2500000, too_fat);
+    Weightwatch ww(5000000, too_fat);
     // Thanks to the blind relaxation of the strict inequality constraint,
     // polyhedron ph is easily seen to contain an integer point.
     const bool contains = ph.contains_integer_point();
diff --git a/tests/Polyhedron/wrap1.cc b/tests/Polyhedron/wrap1.cc
index 205df9c..5b06914 100644
--- a/tests/Polyhedron/wrap1.cc
+++ b/tests/Polyhedron/wrap1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/wrap2.cc b/tests/Polyhedron/wrap2.cc
index a7f884b..16b123e 100644
--- a/tests/Polyhedron/wrap2.cc
+++ b/tests/Polyhedron/wrap2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::wrap_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writeconsys1.cc b/tests/Polyhedron/writeconsys1.cc
index 1121ac6..a679a92 100644
--- a/tests/Polyhedron/writeconsys1.cc
+++ b/tests/Polyhedron/writeconsys1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream&, const Constraint_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writegensys1.cc b/tests/Polyhedron/writegensys1.cc
index c0d315e..af772e4 100644
--- a/tests/Polyhedron/writegensys1.cc
+++ b/tests/Polyhedron/writegensys1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream&, const Generator_System&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writepolyhedron1.cc b/tests/Polyhedron/writepolyhedron1.cc
index 69a645f..9c5ad10 100644
--- a/tests/Polyhedron/writepolyhedron1.cc
+++ b/tests/Polyhedron/writepolyhedron1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writepolyhedron2.cc b/tests/Polyhedron/writepolyhedron2.cc
index fe4c1c4..dadde05 100644
--- a/tests/Polyhedron/writepolyhedron2.cc
+++ b/tests/Polyhedron/writepolyhedron2.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writerelation1.cc b/tests/Polyhedron/writerelation1.cc
index 44ce293..bd98f50 100644
--- a/tests/Polyhedron/writerelation1.cc
+++ b/tests/Polyhedron/writerelation1.cc
@@ -1,7 +1,7 @@
 /* Test operator<<(std::ostream& s, const Poly_Con_Relation& r)
    and operator<<(std::ostream& s, const Poly_Gen_Relation& r).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Polyhedron/writevariable1.cc b/tests/Polyhedron/writevariable1.cc
index 58ea1c4..0c2b5b5 100644
--- a/tests/Polyhedron/writevariable1.cc
+++ b/tests/Polyhedron/writevariable1.cc
@@ -1,7 +1,7 @@
 /* Test operator<<(std::ostream& s, Variable v)
    and the related machinery.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include "files.hh"
@@ -59,7 +59,7 @@ read_variables_and_check(const string& s) {
 }
 
 void
-my_output_function(std::ostream& s, const Variable& v) {
+my_output_function(std::ostream& s, const Variable v) {
   s << "x" << v.id();
 }
 
diff --git a/tests/Powerset/Makefile.am b/tests/Powerset/Makefile.am
index 222cd01..d750ccd 100644
--- a/tests/Powerset/Makefile.am
+++ b/tests/Powerset/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -15,16 +15,16 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 if VALGRIND_TESTS_ENABLED
 
 CHECKER = \
+libtool --mode=execute \
 $(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 --num-callers=40 --leak-resolution=high \
 --suppressions=$(top_srcdir)/tests/valgrind_suppressions
diff --git a/tests/Powerset/Makefile.in b/tests/Powerset/Makefile.in
index ae6a3ab..4320a1b 100644
--- a/tests/Powerset/Makefile.in
+++ b/tests/Powerset/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -32,12 +32,11 @@
 # for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-# USA.
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
@@ -88,27 +87,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -138,8 +132,8 @@ addcongruences1_LDADD = $(LDADD)
 addcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am_addconstraints1_OBJECTS = addconstraints1.$(OBJEXT)
 addconstraints1_OBJECTS = $(am_addconstraints1_OBJECTS)
@@ -395,21 +389,21 @@ LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(addcongruences1_SOURCES) $(addconstraints1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
@@ -475,6 +469,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -499,21 +494,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -569,6 +559,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -637,7 +628,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -650,6 +640,7 @@ xsb_prolog = @xsb_prolog@
 yap_prolog = @yap_prolog@
 @VALGRIND_TESTS_ENABLED_FALSE at CHECKER = 
 @VALGRIND_TESTS_ENABLED_TRUE at CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
 @VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
 @VALGRIND_TESTS_ENABLED_TRUE at --num-callers=40 --leak-resolution=high \
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(top_srcdir)/tests/valgrind_suppressions
@@ -756,127 +747,127 @@ clean-checkPROGRAMS:
 	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
 	echo " rm -f" $$list; \
 	rm -f $$list
-addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) $(EXTRA_addcongruences1_DEPENDENCIES) 
 	@rm -f addcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
-addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) $(EXTRA_addconstraints1_DEPENDENCIES) 
 	@rm -f addconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
-affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
+affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) $(EXTRA_affinedimension1_DEPENDENCIES) 
 	@rm -f affinedimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
-affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) $(EXTRA_affineimage1_DEPENDENCIES) 
 	@rm -f affineimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
-affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) $(EXTRA_affinepreimage1_DEPENDENCIES) 
 	@rm -f affinepreimage1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
-bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) $(EXTRA_bounded1_DEPENDENCIES) 
 	@rm -f bounded1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
-bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) $(EXTRA_bounds1_DEPENDENCIES) 
 	@rm -f bounds1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
-closed1$(EXEEXT): $(closed1_OBJECTS) $(closed1_DEPENDENCIES) 
+closed1$(EXEEXT): $(closed1_OBJECTS) $(closed1_DEPENDENCIES) $(EXTRA_closed1_DEPENDENCIES) 
 	@rm -f closed1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(closed1_OBJECTS) $(closed1_LDADD) $(LIBS)
-closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) 
+closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) $(EXTRA_closure1_DEPENDENCIES) 
 	@rm -f closure1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
-collapse1$(EXEEXT): $(collapse1_OBJECTS) $(collapse1_DEPENDENCIES) 
+collapse1$(EXEEXT): $(collapse1_OBJECTS) $(collapse1_DEPENDENCIES) $(EXTRA_collapse1_DEPENDENCIES) 
 	@rm -f collapse1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(collapse1_OBJECTS) $(collapse1_LDADD) $(LIBS)
-concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) $(EXTRA_concatenate1_DEPENDENCIES) 
 	@rm -f concatenate1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
-contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) $(EXTRA_contains1_DEPENDENCIES) 
 	@rm -f contains1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
-containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) $(EXTRA_containsintegerpoint1_DEPENDENCIES) 
 	@rm -f containsintegerpoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
-difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) $(EXTRA_difference1_DEPENDENCIES) 
 	@rm -f difference1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
-discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) $(EXTRA_discrete1_DEPENDENCIES) 
 	@rm -f discrete1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
-disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) $(EXTRA_disjoint1_DEPENDENCIES) 
 	@rm -f disjoint1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
-disjunct1$(EXEEXT): $(disjunct1_OBJECTS) $(disjunct1_DEPENDENCIES) 
+disjunct1$(EXEEXT): $(disjunct1_OBJECTS) $(disjunct1_DEPENDENCIES) $(EXTRA_disjunct1_DEPENDENCIES) 
 	@rm -f disjunct1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(disjunct1_OBJECTS) $(disjunct1_LDADD) $(LIBS)
-empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) $(EXTRA_empty1_DEPENDENCIES) 
 	@rm -f empty1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
-entails1$(EXEEXT): $(entails1_OBJECTS) $(entails1_DEPENDENCIES) 
+entails1$(EXEEXT): $(entails1_OBJECTS) $(entails1_DEPENDENCIES) $(EXTRA_entails1_DEPENDENCIES) 
 	@rm -f entails1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(entails1_OBJECTS) $(entails1_LDADD) $(LIBS)
-equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) $(EXTRA_equals1_DEPENDENCIES) 
 	@rm -f equals1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
-frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) $(EXTRA_frombdshape1_DEPENDENCIES) 
 	@rm -f frombdshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
-frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) $(EXTRA_frombox1_DEPENDENCIES) 
 	@rm -f frombox1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
-fromcongruences1$(EXEEXT): $(fromcongruences1_OBJECTS) $(fromcongruences1_DEPENDENCIES) 
+fromcongruences1$(EXEEXT): $(fromcongruences1_OBJECTS) $(fromcongruences1_DEPENDENCIES) $(EXTRA_fromcongruences1_DEPENDENCIES) 
 	@rm -f fromcongruences1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromcongruences1_OBJECTS) $(fromcongruences1_LDADD) $(LIBS)
-fromconstraints1$(EXEEXT): $(fromconstraints1_OBJECTS) $(fromconstraints1_DEPENDENCIES) 
+fromconstraints1$(EXEEXT): $(fromconstraints1_OBJECTS) $(fromconstraints1_DEPENDENCIES) $(EXTRA_fromconstraints1_DEPENDENCIES) 
 	@rm -f fromconstraints1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromconstraints1_OBJECTS) $(fromconstraints1_LDADD) $(LIBS)
-fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) $(EXTRA_fromgrid1_DEPENDENCIES) 
 	@rm -f fromgrid1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
-fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) $(EXTRA_fromoctagonalshape1_DEPENDENCIES) 
 	@rm -f fromoctagonalshape1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
-frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) $(EXTRA_frompolyhedron1_DEPENDENCIES) 
 	@rm -f frompolyhedron1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
-fromspacedimension1$(EXEEXT): $(fromspacedimension1_OBJECTS) $(fromspacedimension1_DEPENDENCIES) 
+fromspacedimension1$(EXEEXT): $(fromspacedimension1_OBJECTS) $(fromspacedimension1_DEPENDENCIES) $(EXTRA_fromspacedimension1_DEPENDENCIES) 
 	@rm -f fromspacedimension1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(fromspacedimension1_OBJECTS) $(fromspacedimension1_LDADD) $(LIBS)
-intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) $(EXTRA_intersection1_DEPENDENCIES) 
 	@rm -f intersection1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
-maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
+maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) $(EXTRA_maxmin1_DEPENDENCIES) 
 	@rm -f maxmin1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
-meet1$(EXEEXT): $(meet1_OBJECTS) $(meet1_DEPENDENCIES) 
+meet1$(EXEEXT): $(meet1_OBJECTS) $(meet1_DEPENDENCIES) $(EXTRA_meet1_DEPENDENCIES) 
 	@rm -f meet1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(meet1_OBJECTS) $(meet1_LDADD) $(LIBS)
-membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) $(EXTRA_membytes1_DEPENDENCIES) 
 	@rm -f membytes1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
-powerset1$(EXEEXT): $(powerset1_OBJECTS) $(powerset1_DEPENDENCIES) 
+powerset1$(EXEEXT): $(powerset1_OBJECTS) $(powerset1_DEPENDENCIES) $(EXTRA_powerset1_DEPENDENCIES) 
 	@rm -f powerset1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(powerset1_OBJECTS) $(powerset1_LDADD) $(LIBS)
-reduce1$(EXEEXT): $(reduce1_OBJECTS) $(reduce1_DEPENDENCIES) 
+reduce1$(EXEEXT): $(reduce1_OBJECTS) $(reduce1_DEPENDENCIES) $(EXTRA_reduce1_DEPENDENCIES) 
 	@rm -f reduce1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(reduce1_OBJECTS) $(reduce1_LDADD) $(LIBS)
-refinewith1$(EXEEXT): $(refinewith1_OBJECTS) $(refinewith1_DEPENDENCIES) 
+refinewith1$(EXEEXT): $(refinewith1_OBJECTS) $(refinewith1_DEPENDENCIES) $(EXTRA_refinewith1_DEPENDENCIES) 
 	@rm -f refinewith1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(refinewith1_OBJECTS) $(refinewith1_LDADD) $(LIBS)
-relationwith1$(EXEEXT): $(relationwith1_OBJECTS) $(relationwith1_DEPENDENCIES) 
+relationwith1$(EXEEXT): $(relationwith1_OBJECTS) $(relationwith1_DEPENDENCIES) $(EXTRA_relationwith1_DEPENDENCIES) 
 	@rm -f relationwith1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(relationwith1_OBJECTS) $(relationwith1_LDADD) $(LIBS)
-simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) $(EXTRA_simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
-size1$(EXEEXT): $(size1_OBJECTS) $(size1_DEPENDENCIES) 
+size1$(EXEEXT): $(size1_OBJECTS) $(size1_DEPENDENCIES) $(EXTRA_size1_DEPENDENCIES) 
 	@rm -f size1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(size1_OBJECTS) $(size1_LDADD) $(LIBS)
-spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) 
+spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) $(EXTRA_spacedims1_DEPENDENCIES) 
 	@rm -f spacedims1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
-universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) $(EXTRA_universe1_DEPENDENCIES) 
 	@rm -f universe1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
-upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) $(EXTRA_upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(AM_V_CXXLD)$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 
@@ -931,26 +922,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -1091,14 +1079,15 @@ check-TESTS: $(TESTS)
 	  fi; \
 	  dashes=`echo "$$dashes" | sed s/./=/g`; \
 	  if test "$$failed" -eq 0; then \
-	    echo "$$grn$$dashes"; \
+	    col="$$grn"; \
 	  else \
-	    echo "$$red$$dashes"; \
+	    col="$$red"; \
 	  fi; \
-	  echo "$$banner"; \
-	  test -z "$$skipped" || echo "$$skipped"; \
-	  test -z "$$report" || echo "$$report"; \
-	  echo "$$dashes$$std"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
 	  test "$$failed" -eq 0; \
 	else :; fi
 
@@ -1148,10 +1137,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/tests/Powerset/addcongruences1.cc b/tests/Powerset/addcongruences1.cc
index 54ae688..5c557ef 100644
--- a/tests/Powerset/addcongruences1.cc
+++ b/tests/Powerset/addcongruences1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::add_congruence().
         Pointset_Powerset<PH>::add_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/addconstraints1.cc b/tests/Powerset/addconstraints1.cc
index 29ee476..5964347 100644
--- a/tests/Powerset/addconstraints1.cc
+++ b/tests/Powerset/addconstraints1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::add_constraint().
         Pointset_Powerset<PH>::add_constraints().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/affinedimension1.cc b/tests/Powerset/affinedimension1.cc
index 2e97d4c..e27d6aa 100644
--- a/tests/Powerset/affinedimension1.cc
+++ b/tests/Powerset/affinedimension1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::affine_dimension().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/affineimage1.cc b/tests/Powerset/affineimage1.cc
index ca54292..d50e772 100644
--- a/tests/Powerset/affineimage1.cc
+++ b/tests/Powerset/affineimage1.cc
@@ -2,7 +2,7 @@
         Pointset_Powerset<PH>::generalized_affine_image(),
         Pointset_Powerset<PH>::bounded_affine_image().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/affinepreimage1.cc b/tests/Powerset/affinepreimage1.cc
index 6e87051..6b7b490 100644
--- a/tests/Powerset/affinepreimage1.cc
+++ b/tests/Powerset/affinepreimage1.cc
@@ -2,7 +2,7 @@
         Pointset_Powerset<PH>::generalized_affine_preimage(),
         Pointset_Powerset<PH>::bounded_affine_preimage().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/bounded1.cc b/tests/Powerset/bounded1.cc
index 42acbfc..28031e7 100644
--- a/tests/Powerset/bounded1.cc
+++ b/tests/Powerset/bounded1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_bounded().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/bounds1.cc b/tests/Powerset/bounds1.cc
index f9f1279..c54a29f 100644
--- a/tests/Powerset/bounds1.cc
+++ b/tests/Powerset/bounds1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::bounds_from_above(),
         Pointset_Powerset<PH>::bounds_from_below().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/closed1.cc b/tests/Powerset/closed1.cc
index 27fa3e7..910b24b 100644
--- a/tests/Powerset/closed1.cc
+++ b/tests/Powerset/closed1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_topologically_closed().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/closure1.cc b/tests/Powerset/closure1.cc
index 837f581..a373764 100644
--- a/tests/Powerset/closure1.cc
+++ b/tests/Powerset/closure1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::topological_closure_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/collapse1.cc b/tests/Powerset/collapse1.cc
index 5fb6efc..ff8ad59 100644
--- a/tests/Powerset/collapse1.cc
+++ b/tests/Powerset/collapse1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::collapse().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/concatenate1.cc b/tests/Powerset/concatenate1.cc
index 7647f29..188e9b3 100644
--- a/tests/Powerset/concatenate1.cc
+++ b/tests/Powerset/concatenate1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::concatenate().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/contains1.cc b/tests/Powerset/contains1.cc
index b25c8d7..68e61e0 100644
--- a/tests/Powerset/contains1.cc
+++ b/tests/Powerset/contains1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::contains(),
         Pointset_Powerset<PH>::strictly_contains().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/containsintegerpoint1.cc b/tests/Powerset/containsintegerpoint1.cc
index d08525f..f03e6f7 100644
--- a/tests/Powerset/containsintegerpoint1.cc
+++ b/tests/Powerset/containsintegerpoint1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::contains_integer_point(),
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/difference1.cc b/tests/Powerset/difference1.cc
index 613ab42..40031b8 100644
--- a/tests/Powerset/difference1.cc
+++ b/tests/Powerset/difference1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::difference_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/discrete1.cc b/tests/Powerset/discrete1.cc
index 0fb5702..457ba7b 100644
--- a/tests/Powerset/discrete1.cc
+++ b/tests/Powerset/discrete1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_discrete().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/disjoint1.cc b/tests/Powerset/disjoint1.cc
index 6314924..f51c697 100644
--- a/tests/Powerset/disjoint1.cc
+++ b/tests/Powerset/disjoint1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_disjoint_from().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/disjunct1.cc b/tests/Powerset/disjunct1.cc
index 3aceb83..9ddf32e 100644
--- a/tests/Powerset/disjunct1.cc
+++ b/tests/Powerset/disjunct1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::add_disjunct().
         Pointset_Powerset<PH>::drop_disjunct().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/empty1.cc b/tests/Powerset/empty1.cc
index 2bcbe13..63744b1 100644
--- a/tests/Powerset/empty1.cc
+++ b/tests/Powerset/empty1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::is_empty(),
         Pointset_Powerset<PH>::empty().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -56,7 +56,7 @@ test02() {
   c_ps.add_disjunct(C_Polyhedron(cs));
 
   Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-  c_ps.swap(c_ps1);
+  swap(c_ps, c_ps1);
 
   bool ok = (c_ps.empty() && !c_ps1.empty());
   return ok;
@@ -124,7 +124,7 @@ test06() {
   pps_box.add_disjunct(TBox(cs));
 
   Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-  pps_box.swap(pps_box1);
+  swap(pps_box, pps_box1);
 
   bool ok = (pps_box.empty() && !pps_box1.empty());
   return ok;
diff --git a/tests/Powerset/entails1.cc b/tests/Powerset/entails1.cc
index 427680b..0de60a5 100644
--- a/tests/Powerset/entails1.cc
+++ b/tests/Powerset/entails1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::definitely_entails().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/equals1.cc b/tests/Powerset/equals1.cc
index 860df60..3200197 100644
--- a/tests/Powerset/equals1.cc
+++ b/tests/Powerset/equals1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::equals(),
         Pointset_Powerset<PH>::geometrically_equals().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/frombdshape1.cc b/tests/Powerset/frombdshape1.cc
index e717298..6f2804b 100644
--- a/tests/Powerset/frombdshape1.cc
+++ b/tests/Powerset/frombdshape1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/frombox1.cc b/tests/Powerset/frombox1.cc
index b6b91fb..96b9bae 100644
--- a/tests/Powerset/frombox1.cc
+++ b/tests/Powerset/frombox1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Box<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Box<T>)).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/fromcongruences1.cc b/tests/Powerset/fromcongruences1.cc
index 779e935..d1bf145 100644
--- a/tests/Powerset/fromcongruences1.cc
+++ b/tests/Powerset/fromcongruences1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::
           Pointset_Powerset(Congruence_System).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/fromconstraints1.cc b/tests/Powerset/fromconstraints1.cc
index aa32fe2..5518696 100644
--- a/tests/Powerset/fromconstraints1.cc
+++ b/tests/Powerset/fromconstraints1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Constraint_System).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/fromgrid1.cc b/tests/Powerset/fromgrid1.cc
index 3be7e3c..8711bb6 100644
--- a/tests/Powerset/fromgrid1.cc
+++ b/tests/Powerset/fromgrid1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(Grid),
         Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Grid)).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/fromoctagonalshape1.cc b/tests/Powerset/fromoctagonalshape1.cc
index ac3fd92..0e6c44a 100644
--- a/tests/Powerset/fromoctagonalshape1.cc
+++ b/tests/Powerset/fromoctagonalshape1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
    Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/frompolyhedron1.cc b/tests/Powerset/frompolyhedron1.cc
index 0a03358..ded28d4 100644
--- a/tests/Powerset/frompolyhedron1.cc
+++ b/tests/Powerset/frompolyhedron1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::Pointset_Powerset(C_Polyhedron),
         Pointset_Powerset<PH>::Pointset_Powerset(NNC_Polyhedron).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/fromspacedimension1.cc b/tests/Powerset/fromspacedimension1.cc
index 5a061bc..f98575d 100644
--- a/tests/Powerset/fromspacedimension1.cc
+++ b/tests/Powerset/fromspacedimension1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::
           Pointset_Powerset(dimension_type, Degenerate_Element).
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/intersection1.cc b/tests/Powerset/intersection1.cc
index f7f2ab1..09cf667 100644
--- a/tests/Powerset/intersection1.cc
+++ b/tests/Powerset/intersection1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::intersection_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/maxmin1.cc b/tests/Powerset/maxmin1.cc
index d367122..a1ca637 100644
--- a/tests/Powerset/maxmin1.cc
+++ b/tests/Powerset/maxmin1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::maximize().
         Pointset_Powerset<PH>::minimize().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/meet1.cc b/tests/Powerset/meet1.cc
index 855e006..949bba3 100644
--- a/tests/Powerset/meet1.cc
+++ b/tests/Powerset/meet1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::meet_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/membytes1.cc b/tests/Powerset/membytes1.cc
index 241fefd..0a22665 100644
--- a/tests/Powerset/membytes1.cc
+++ b/tests/Powerset/membytes1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::total_memory_in_bytes().
         Pointset_Powerset<PH>::external_memory_in_bytes().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/powerset1.cc b/tests/Powerset/powerset1.cc
index 58db48a..e534968 100644
--- a/tests/Powerset/powerset1.cc
+++ b/tests/Powerset/powerset1.cc
@@ -1,6 +1,6 @@
 /* Test Powerset<D>.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -111,8 +111,8 @@ test01() {
   if (ps2 != ps_empty)
     return false;
 
-  ps3.swap(ps2);
-  ps3.swap(ps2);
+  swap(ps3, ps2);
+  swap(ps3, ps2);
   if (ps3 != ps1 || ps2 != ps_empty)
     return false;
 
diff --git a/tests/Powerset/reduce1.cc b/tests/Powerset/reduce1.cc
index e703e7b..225bd72 100644
--- a/tests/Powerset/reduce1.cc
+++ b/tests/Powerset/reduce1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::omega_reduce().
         Pointset_Powerset<PH>::pairwise_reduce().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/refinewith1.cc b/tests/Powerset/refinewith1.cc
index e8b6ce3..43fa8a5 100644
--- a/tests/Powerset/refinewith1.cc
+++ b/tests/Powerset/refinewith1.cc
@@ -3,7 +3,7 @@
         Pointset_Powerset<PH>::refine_with_congruence().
         Pointset_Powerset<PH>::refine_with_congruences().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,7 +22,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/relationwith1.cc b/tests/Powerset/relationwith1.cc
index c879ad4..8e4693a 100644
--- a/tests/Powerset/relationwith1.cc
+++ b/tests/Powerset/relationwith1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::relation_with().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/simplifyusingcontext1.cc b/tests/Powerset/simplifyusingcontext1.cc
index 3e6855c..42e6715 100644
--- a/tests/Powerset/simplifyusingcontext1.cc
+++ b/tests/Powerset/simplifyusingcontext1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset::simplify_using_context_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
@@ -455,5 +455,5 @@ BEGIN_MAIN
   DO_TEST(test06);
   DO_TEST(test07);
   DO_TEST(test08);
-  DO_TEST_F8A(test09);
+  DO_TEST(test09);
 END_MAIN
diff --git a/tests/Powerset/size1.cc b/tests/Powerset/size1.cc
index 78d5b0f..b1f592b 100644
--- a/tests/Powerset/size1.cc
+++ b/tests/Powerset/size1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::size().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/spacedims1.cc b/tests/Powerset/spacedims1.cc
index 340ec77..dbc0d04 100644
--- a/tests/Powerset/spacedims1.cc
+++ b/tests/Powerset/spacedims1.cc
@@ -4,7 +4,7 @@
         Pointset_Powerset<PH>::expand_space_dimensions(),
         Pointset_Powerset<PH>::fold_space_dimensions().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/universe1.cc b/tests/Powerset/universe1.cc
index cab2b8c..c4cb171 100644
--- a/tests/Powerset/universe1.cc
+++ b/tests/Powerset/universe1.cc
@@ -1,6 +1,6 @@
 /* Test Pointset_Powerset<PH>::is_universe().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/Powerset/upperbound1.cc b/tests/Powerset/upperbound1.cc
index 4ec961f..912cb66 100644
--- a/tests/Powerset/upperbound1.cc
+++ b/tests/Powerset/upperbound1.cc
@@ -1,7 +1,7 @@
 /* Test Pointset_Powerset<PH>::upper_bound_assign(),
         Pointset_Powerset<PH>::least_upper_bound_assign().
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 
diff --git a/tests/README b/tests/README
index cc0d4f1..82826d1 100644
--- a/tests/README
+++ b/tests/README
@@ -1,12 +1,12 @@
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 See below for the copying conditions.
 
 How To Use the Test Programs (If You Really Want To Use Them)
 =============================================================
 
-The programs in this directory are part of the test suite of the Parma
-Polyhedra Library (PPL).  They have various origins:
+The programs in this directory are part of the extensive test suite of
+the Parma Polyhedra Library (PPL).  They have various origins:
 
 1) some have been written to test the expressivity of the library;
 2) some have been written to reproduce bugs that have now been fixed;
@@ -86,22 +86,23 @@ f) Run `mytest' and enjoy!
 --------
 
 Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
-This file is part of the Parma Polyhedra Library (PPL).
+This document describes the Parma Polyhedra Library (PPL).
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+under the terms of the GNU Free Documentation License, Version 1.2
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
 The license is included, in various formats, in the `doc' subdirectory
-of each distribution of the PPL in files called `fdl.*'.
+of each distribution of the PPL in files named `fdl.*'.
 
 The PPL is free software; you can redistribute it and/or modify it
 under the terms of the GNU General Public License as published by the
 Free Software Foundation; either version 3 of the License, or (at your
 option) any later version.  The license is included, in various
 formats, in the `doc' subdirectory of each distribution of the PPL in
-files are called `gpl.*'.
+files named `gpl.*'.
 
 The PPL is distributed in the hope that it will be useful, but WITHOUT
 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
@@ -113,4 +114,4 @@ licenses along with the PPL, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ .
+site: http://bugseng.com/products/ppl/ .
diff --git a/tests/Random_Number_Generator.defs.hh b/tests/Random_Number_Generator.defs.hh
index eec5dad..8514a58 100644
--- a/tests/Random_Number_Generator.defs.hh
+++ b/tests/Random_Number_Generator.defs.hh
@@ -1,6 +1,6 @@
 /* Random_Number_Generator class declaration.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Random_Number_Generator_defs_hh
 #define PPL_Random_Number_Generator_defs_hh 1
diff --git a/tests/Random_Number_Generator.inlines.hh b/tests/Random_Number_Generator.inlines.hh
index feebb35..89f8513 100644
--- a/tests/Random_Number_Generator.inlines.hh
+++ b/tests/Random_Number_Generator.inlines.hh
@@ -1,6 +1,6 @@
 /* Random_Number_Generator class implementation: inline functions.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_Random_Number_Generator_inlines_hh
 #define PPL_Random_Number_Generator_inlines_hh 1
@@ -73,9 +73,8 @@ Random_Number_Generator::Random_Number_Generator(const unsigned long seed)
 
 template <typename T>
 inline void
-Random_Number_Generator::get(T& x, unsigned int info) {
+Random_Number_Generator::get(T& x, unsigned int) {
   using Implementation::Random_Numbers::Random_Number_Generator_Aux;
-  used(info);
   static Random_Number_Generator_Aux<T> aux(max_bits);
   mpz_class n;
   if (std::numeric_limits<T>::is_bounded) {
diff --git a/tests/Random_Number_Generator.types.hh b/tests/Random_Number_Generator.types.hh
index 97116b0..60b4b96 100644
--- a/tests/Random_Number_Generator.types.hh
+++ b/tests/Random_Number_Generator.types.hh
@@ -1,5 +1,5 @@
 /* Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
diff --git a/tests/Watchdog/Makefile.am b/tests/Watchdog/Makefile.am
new file mode 100644
index 0000000..7d0e822
--- /dev/null
+++ b/tests/Watchdog/Makefile.am
@@ -0,0 +1,70 @@
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ . */
+
+if VALGRIND_TESTS_ENABLED
+
+CHECKER = \
+libtool --mode=execute \
+$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+--num-callers=40 --leak-resolution=high \
+--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+else !VALGRIND_TESTS_ENABLED
+
+CHECKER =
+
+endif !VALGRIND_TESTS_ENABLED
+
+TESTS_ENVIRONMENT = $(CHECKER)
+
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la
+
+EXTRA_DIST =
+
+TESTS = \
+watchdog1
+
+XFAIL_TESTS =
+
+#
+# Sources for the tests
+#
+
+watchdog1_SOURCES = watchdog1.cc
+
+check_PROGRAMS = $(TESTS)
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
diff --git a/tests/Watchdog/Makefile.in b/tests/Watchdog/Makefile.in
new file mode 100644
index 0000000..723f4c9
--- /dev/null
+++ b/tests/Watchdog/Makefile.in
@@ -0,0 +1,744 @@
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+ at SET_MAKE@
+
+# Automake source file for the Parma Polyhedra Library.
+# Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+#
+# This file is part of the Parma Polyhedra Library (PPL).
+#
+# The PPL is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 3 of the License, or (at your
+# option) any later version.
+#
+# The PPL is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+#
+# For the most up-to-date information see the Parma Polyhedra Library
+# site: http://bugseng.com/products/ppl/ . */
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+TESTS = watchdog1$(EXEEXT)
+XFAIL_TESTS =
+check_PROGRAMS = $(am__EXEEXT_1)
+subdir = tests/Watchdog
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
+	$(top_srcdir)/m4/ac_check_fpu_control.m4 \
+	$(top_srcdir)/m4/ac_check_gmp.m4 \
+	$(top_srcdir)/m4/ac_check_sicstus_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_swi_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_xsb_prolog.m4 \
+	$(top_srcdir)/m4/ac_check_yap.m4 \
+	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
+	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
+	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
+	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
+	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
+	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
+	$(top_srcdir)/m4/ac_prog_jar.m4 \
+	$(top_srcdir)/m4/ac_prog_java.m4 \
+	$(top_srcdir)/m4/ac_prog_javac.m4 \
+	$(top_srcdir)/m4/ac_prog_javah.m4 \
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+am__EXEEXT_1 = watchdog1$(EXEEXT)
+am_watchdog1_OBJECTS = watchdog1.$(OBJEXT)
+watchdog1_OBJECTS = $(am_watchdog1_OBJECTS)
+watchdog1_LDADD = $(LDADD)
+watchdog1_DEPENDENCIES = $(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX   " $@;
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+CXXLD = $(CXX)
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD " $@;
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(watchdog1_SOURCES)
+DIST_SOURCES = $(watchdog1_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CIAO_PROLOG = @CIAO_PROLOG@
+CIAO_PROLOG_INCLUDE_OPTIONS = @CIAO_PROLOG_INCLUDE_OPTIONS@
+CONFIGURE_OPTIONS = @CONFIGURE_OPTIONS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GNU_PROLOG = @GNU_PROLOG@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ISODATE = @ISODATE@
+JAR = @JAR@
+JAVA = @JAVA@
+JAVAC = @JAVAC@
+JAVAH = @JAVAH@
+JNIFLAGS = @JNIFLAGS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBEXT = @LIBEXT@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MD5SUM = @MD5SUM@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OCAMLBEST = @OCAMLBEST@
+OCAMLBUILD = @OCAMLBUILD@
+OCAMLC = @OCAMLC@
+OCAMLCDOTOPT = @OCAMLCDOTOPT@
+OCAMLDEP = @OCAMLDEP@
+OCAMLDOC = @OCAMLDOC@
+OCAMLLIB = @OCAMLLIB@
+OCAMLMKLIB = @OCAMLMKLIB@
+OCAMLMKTOP = @OCAMLMKTOP@
+OCAMLOPT = @OCAMLOPT@
+OCAMLOPTDOTOPT = @OCAMLOPTDOTOPT@
+OCAMLVERSION = @OCAMLVERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PPL_VERSION_BETA = @PPL_VERSION_BETA@
+PPL_VERSION_MAJOR = @PPL_VERSION_MAJOR@
+PPL_VERSION_MINOR = @PPL_VERSION_MINOR@
+PPL_VERSION_REVISION = @PPL_VERSION_REVISION@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SHREXT = @SHREXT@
+SICSTUS_PROLOG_INCLUDE_OPTIONS = @SICSTUS_PROLOG_INCLUDE_OPTIONS@
+STRIP = @STRIP@
+SWI_PROLOG = @SWI_PROLOG@
+SWI_PROLOG_INCLUDE_OPTIONS = @SWI_PROLOG_INCLUDE_OPTIONS@
+SWI_PROLOG_LD = @SWI_PROLOG_LD@
+SWI_PROLOG_LD_OPTIONS = @SWI_PROLOG_LD_OPTIONS@
+TEXT_MD5SUM = @TEXT_MD5SUM@
+VALGRIND = @VALGRIND@
+VERSION = @VERSION@
+XSB_PROLOG_INCLUDE_OPTIONS = @XSB_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG = @YAP_PROLOG@
+YAP_PROLOG_INCLUDE_OPTIONS = @YAP_PROLOG_INCLUDE_OPTIONS@
+YAP_PROLOG_LD_OPTIONS = @YAP_PROLOG_LD_OPTIONS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+ciao_prolog = @ciao_prolog@
+coefficient_mnemonic = @coefficient_mnemonic@
+datadir = @datadir@
+datarootdir = @datarootdir@
+debug_flag = @debug_flag@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+extra_includes = @extra_includes@
+extra_libraries = @extra_libraries@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+required_instantiations = @required_instantiations@
+required_instantiations_c_cxx_headers = @required_instantiations_c_cxx_headers@
+required_instantiations_c_cxx_objects = @required_instantiations_c_cxx_objects@
+required_instantiations_c_cxx_sources = @required_instantiations_c_cxx_sources@
+required_instantiations_canonical_names = @required_instantiations_canonical_names@
+required_instantiations_java_classes = @required_instantiations_java_classes@
+required_instantiations_java_cxx_headers = @required_instantiations_java_cxx_headers@
+required_instantiations_java_cxx_headers_sources = @required_instantiations_java_cxx_headers_sources@
+required_instantiations_java_cxx_objects = @required_instantiations_java_cxx_objects@
+required_instantiations_java_cxx_sources = @required_instantiations_java_cxx_sources@
+required_instantiations_java_sources = @required_instantiations_java_sources@
+required_instantiations_ocaml_cxx_headers = @required_instantiations_ocaml_cxx_headers@
+required_instantiations_ocaml_cxx_objects = @required_instantiations_ocaml_cxx_objects@
+required_instantiations_ocaml_cxx_sources = @required_instantiations_ocaml_cxx_sources@
+required_instantiations_prolog_cxx_headers = @required_instantiations_prolog_cxx_headers@
+required_instantiations_prolog_cxx_objects = @required_instantiations_prolog_cxx_objects@
+required_instantiations_prolog_cxx_sources = @required_instantiations_prolog_cxx_sources@
+required_instantiations_prolog_generated_test_sources = @required_instantiations_prolog_generated_test_sources@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sicstus_prolog = @sicstus_prolog@
+srcdir = @srcdir@
+swi_prolog = @swi_prolog@
+swi_prolog_ld = @swi_prolog_ld@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+uudecode = @uudecode@
+xsb_prolog = @xsb_prolog@
+yap_prolog = @yap_prolog@
+ at VALGRIND_TESTS_ENABLED_FALSE@CHECKER = 
+ at VALGRIND_TESTS_ENABLED_TRUE@CHECKER = \
+ at VALGRIND_TESTS_ENABLED_TRUE@libtool --mode=execute \
+ at VALGRIND_TESTS_ENABLED_TRUE@$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
+ at VALGRIND_TESTS_ENABLED_TRUE@--num-callers=40 --leak-resolution=high \
+ at VALGRIND_TESTS_ENABLED_TRUE@--suppressions=$(top_srcdir)/tests/valgrind_suppressions
+
+TESTS_ENVIRONMENT = $(CHECKER)
+AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
+-I$(top_builddir)/src \
+-I$(top_srcdir)/tests \
+ at extra_includes@ \
+ at debug_flag@
+
+LDADD = \
+$(top_builddir)/tests/libppl_tests.a \
+$(top_builddir)/src/libppl.la
+
+EXTRA_DIST = 
+
+#
+# Sources for the tests
+#
+watchdog1_SOURCES = watchdog1.cc
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .lo .o .obj
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Watchdog/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign tests/Watchdog/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+watchdog1$(EXEEXT): $(watchdog1_OBJECTS) $(watchdog1_DEPENDENCIES) $(EXTRA_watchdog1_DEPENDENCIES) 
+	@rm -f watchdog1$(EXEEXT)
+	$(AM_V_CXXLD)$(CXXLINK) $(watchdog1_OBJECTS) $(watchdog1_LDADD) $(LIBS)
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/watchdog1.Po at am__quote@
+
+.cc.o:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.cc.lo:
+ at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+ at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    col="$$grn"; \
+	  else \
+	    col="$$red"; \
+	  fi; \
+	  echo "$${col}$$dashes$${std}"; \
+	  echo "$${col}$$banner$${std}"; \
+	  test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \
+	  test -z "$$report" || echo "$${col}$$report$${std}"; \
+	  echo "$${col}$$dashes$${std}"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
+	mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libtool ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
+	tags uninstall uninstall-am
+
+
+$(top_builddir)/tests/libppl_tests.a:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
+
+$(top_builddir)/src/libppl.la:
+	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/tests/Watchdog/watchdog1.cc b/tests/Watchdog/watchdog1.cc
new file mode 100644
index 0000000..33ad705
--- /dev/null
+++ b/tests/Watchdog/watchdog1.cc
@@ -0,0 +1,78 @@
+/* Some simple tests for the basic functionality of PPL::Watchdog.
+   Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
+
+This file is part of the Parma Polyhedra Library (PPL).
+
+The PPL is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The PPL is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software Foundation,
+Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
+
+For the most up-to-date information see the Parma Polyhedra Library
+site: http://bugseng.com/products/ppl/ . */
+
+#include "ppl_test.hh"
+
+namespace {
+
+volatile bool interrupt = false;
+
+void
+do_interrupt() {
+  interrupt = true;
+}
+
+bool
+test01() {
+  const int csecs = 10;
+  try {
+    bool ok;
+    {
+      Watchdog w(csecs, do_interrupt);
+      nout << ((float) csecs)/100.0 << " seconds watchdog" << endl;
+
+      nout << "starting iteration... " << std::flush;
+      for (unsigned long i = 0; i < 1000000000; ++i) {
+        if (interrupt) {
+          nout << "interrupted" << endl;
+          ok = true;
+          goto done;
+        }
+      }
+      nout << "not interrupted" << endl;
+      ok = false;
+    done:
+      ;
+    }
+    interrupt = false;
+    return ok;
+  }
+#if !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  catch (const std::logic_error& e) {
+    nout << "std::logic_error caught (" << e.what() << ")" << endl;
+    return true;
+  }
+#endif // !PPL_WATCHDOG_OBJECTS_ARE_SUPPORTED
+  catch (...) {
+    return false;
+  }
+  // Should never get here.
+  return false;
+}
+
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+END_MAIN
diff --git a/tests/files.cc b/tests/files.cc
index eb66cb8..8c542b9 100644
--- a/tests/files.cc
+++ b/tests/files.cc
@@ -1,6 +1,6 @@
 /* Definition of simple helper functions to open and close files.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "files.hh"
 #include <fstream>
diff --git a/tests/files.hh b/tests/files.hh
index 0beeef8..b716ed1 100644
--- a/tests/files.hh
+++ b/tests/files.hh
@@ -1,6 +1,6 @@
 /* Declaration of simple helper functions to open and close files.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_files_hh
 #define PPL_files_hh 1
diff --git a/tests/ppl_test.cc b/tests/ppl_test.cc
index 68ec258..d59ab16 100644
--- a/tests/ppl_test.cc
+++ b/tests/ppl_test.cc
@@ -1,6 +1,6 @@
 /* Implementation of utility functions used in test programs.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #include "ppl_test.hh"
 #include <csignal>
@@ -328,7 +328,7 @@ operator<<(std::ostream& s, const FCAIBVP& x) {
   s << "{";
   for (FCAIBVP::Set::const_iterator i = x.set.begin(),
 	 x_end = x.set.end(); i != x_end; ) {
-    const Variable& v = Variable(*i++);
+    const Variable v(*i++);
     using IO_Operators::operator<<;
     s << v;
     if (i != x_end)
diff --git a/tests/ppl_test.hh b/tests/ppl_test.hh
index ba9086d..1eacfa6 100644
--- a/tests/ppl_test.hh
+++ b/tests/ppl_test.hh
@@ -1,6 +1,6 @@
 /* Header file for test programs.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_ppl_test_hh
 #define PPL_ppl_test_hh 1
@@ -66,6 +66,7 @@ main() try {                                             \
   set_handlers();                                        \
   bool succeeded = false;                                \
   bool overflow = false;                                 \
+  (void) overflow;                                       \
   std::list<std::string> failed_tests;                   \
   std::list<std::string> unexpectedly_succeeded_tests;
 
@@ -370,7 +371,7 @@ check_noisy(const char*
     return true;
 #endif
   return false;
-#endif
+#endif // !PPL_HAVE_DECL_GETENV
 }
 
 template<typename CharT, typename Traits = std::char_traits<CharT> >
@@ -430,9 +431,8 @@ struct Floating_Real_Closed_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef Interval_Restriction_None
-<Interval_Info_Bitset<unsigned int, Floating_Real_Open_Interval_Info_Policy> >
-Floating_Real_Open_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Floating_Real_Open_Interval_Info_Policy> Floating_Real_Open_Interval_Info;
 
 typedef Interval<float, Floating_Real_Open_Interval_Info> fl_r_oc;
 typedef Interval<double, Floating_Real_Open_Interval_Info> db_r_oc;
@@ -451,9 +451,8 @@ struct Rational_Real_Open_Interval_Info_Policy {
   const_bool_nodef(check_inexact, false);
 };
 
-typedef Interval_Restriction_None
-<Interval_Info_Bitset<unsigned int, Rational_Real_Open_Interval_Info_Policy> >
-Rational_Real_Open_Interval_Info;
+typedef Interval_Info_Bitset<unsigned int,
+                             Rational_Real_Open_Interval_Info_Policy> Rational_Real_Open_Interval_Info;
 
 typedef Interval<mpq_class, Rational_Real_Open_Interval_Info> rt_r_oc;
 
@@ -466,6 +465,37 @@ typedef BD_Shape<BD_SHAPE_INSTANCE> TBD_Shape;
 //! The incarnation of Octagonal_Shape under test.
 typedef Octagonal_Shape<OCTAGONAL_SHAPE_INSTANCE> TOctagonal_Shape;
 
+// For floating point analysis.
+#ifdef ANALYZER_FP_FORMAT
+#ifdef ANALYZED_FP_FORMAT
+//! The type of an interval with floating point boundaries.
+typedef Interval<ANALYZER_FP_FORMAT,
+                 Floating_Real_Open_Interval_Info> FP_Interval;
+
+//! The type of an interval linear form.
+typedef Linear_Form<FP_Interval> FP_Linear_Form;
+
+//! The type of an interval abstract store.
+typedef Box<FP_Interval> FP_Interval_Abstract_Store;
+
+//! The type of a linear form abstract store.
+typedef std::map<dimension_type, FP_Linear_Form>
+                                 FP_Linear_Form_Abstract_Store;
+
+/*! \brief
+  The incarnation of BD_Shape under test for analyzing
+  floating point computations.
+*/
+typedef BD_Shape<ANALYZER_FP_FORMAT> FP_BD_Shape;
+
+/*! \brief
+  The incarnation of Octagonal_Shape under test for analyzing
+  floating point computations.
+*/
+typedef Octagonal_Shape<ANALYZER_FP_FORMAT> FP_Octagonal_Shape;
+#endif // ANALYZED_FP_FORMAT
+#endif // ANALYZER_FP_FORMAT
+
 template <typename Shape>
 inline bool
 has_exact_coefficient_type(const Shape&) {
@@ -826,7 +856,7 @@ private:
 public:
   FCAIBVP();
 
-  explicit FCAIBVP(const Variable& x);
+  explicit FCAIBVP(const Variable x);
 
   explicit FCAIBVP(const Variables_Set& y);
 
@@ -865,7 +895,7 @@ FCAIBVP::FCAIBVP()
 }
 
 inline
-FCAIBVP::FCAIBVP(const Variable& x)
+FCAIBVP::FCAIBVP(const Variable x)
   : set() {
   set.insert(x.id());
 }
@@ -915,7 +945,8 @@ FCAIBVP::upper_bound_assign(const FCAIBVP& y) {
   std::set_intersection(x.set.begin(), x.set.end(),
 			y.set.begin(), y.set.end(),
 			std::inserter(z.set, z.set.begin()));
-  std::swap(x, z);
+  using std::swap;
+  swap(x, z);
 }
 
 inline void
@@ -925,7 +956,8 @@ FCAIBVP::difference_assign(const FCAIBVP& y) {
   std::set_difference(x.set.begin(), x.set.end(),
 		      y.set.begin(), y.set.end(),
 		      std::inserter(z.set, z.set.begin()));
-  std::swap(x, z);
+  using std::swap;
+  swap(x, z);
 }
 
 inline void
diff --git a/utils/Makefile.am b/utils/Makefile.am
index b0b70f6..73261d0 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -1,6 +1,6 @@
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -19,7 +19,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 AM_CPPFLAGS = @extra_includes@
 
diff --git a/utils/Makefile.in b/utils/Makefile.in
index 5c39ee8..b702504 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -1,9 +1,9 @@
-# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# Makefile.in generated by automake 1.11.3 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
+# Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -17,7 +17,7 @@
 
 # Automake source file for the Parma Polyhedra Library.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,7 +36,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 
 VPATH = @srcdir@
@@ -71,27 +71,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.m4 \
 	$(top_srcdir)/m4/ac_check_yap.m4 \
 	$(top_srcdir)/m4/ac_cxx_attribute_weak.m4 \
 	$(top_srcdir)/m4/ac_cxx_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_double_exact_output.m4 \
-	$(top_srcdir)/m4/ac_cxx_flexible_arrays.m4 \
 	$(top_srcdir)/m4/ac_cxx_float_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_float_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_ieee_inexact_flag.m4 \
 	$(top_srcdir)/m4/ac_cxx_limit_memory.m4 \
 	$(top_srcdir)/m4/ac_cxx_long_double_binary_format.m4 \
-	$(top_srcdir)/m4/ac_cxx_long_double_exact_output.m4 \
 	$(top_srcdir)/m4/ac_cxx_plain_char_is_signed.m4 \
 	$(top_srcdir)/m4/ac_cxx_proper_long_double.m4 \
-	$(top_srcdir)/m4/ac_cxx_remainder_bug.m4 \
+	$(top_srcdir)/m4/ac_cxx_zero_length_arrays.m4 \
 	$(top_srcdir)/m4/ac_prog_jar.m4 \
 	$(top_srcdir)/m4/ac_prog_java.m4 \
 	$(top_srcdir)/m4/ac_prog_javac.m4 \
 	$(top_srcdir)/m4/ac_prog_javah.m4 \
-	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/lib-ld.m4 \
-	$(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/m4.m4 \
-	$(top_srcdir)/m4/ocaml.m4 $(top_srcdir)/configure.ac
+	$(top_srcdir)/m4/ac_text_md5sum.m4 $(top_srcdir)/m4/libtool.m4 \
+	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+	$(top_srcdir)/m4/m4.m4 $(top_srcdir)/m4/ocaml.m4 \
+	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@@ -100,11 +95,11 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
-AM_V_AR = $(am__v_AR_$(V))
-am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY))
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
 am__v_AR_0 = @echo "  AR    " $@;
-AM_V_at = $(am__v_at_$(V))
-am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
 am__v_at_0 = @
 libppl_utils_a_AR = $(AR) $(ARFLAGS)
 libppl_utils_a_LIBADD =
@@ -117,22 +112,22 @@ am__depfiles_maybe = depfiles
 am__mv = mv -f
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_lt = $(am__v_lt_$(V))
-am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_$(V))
-am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
 am__v_CXX_0 = @echo "  CXX   " $@;
 CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_$(V))
-am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
 am__v_CXXLD_0 = @echo "  CXXLD " $@;
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -140,18 +135,18 @@ LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
 	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
 	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_$(V))
-am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
 am__v_CC_0 = @echo "  CC    " $@;
 CCLD = $(CC)
 LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
 	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_$(V))
-am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD  " $@;
-AM_V_GEN = $(am__v_GEN_$(V))
-am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
 am__v_GEN_0 = @echo "  GEN   " $@;
 SOURCES = $(libppl_utils_a_SOURCES)
 DIST_SOURCES = $(libppl_utils_a_SOURCES)
@@ -181,6 +176,7 @@ CXXFLAGS = @CXXFLAGS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
 DSYMUTIL = @DSYMUTIL@
 DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
@@ -205,21 +201,16 @@ JNIFLAGS = @JNIFLAGS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBEXT = @LIBEXT@
-LIBGMP = @LIBGMP@
-LIBGMPXX = @LIBGMPXX@
-LIBGMPXX_PREFIX = @LIBGMPXX_PREFIX@
-LIBGMP_PREFIX = @LIBGMP_PREFIX@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LIBTOOL = @LIBTOOL@
 LIPO = @LIPO@
 LN_S = @LN_S@
-LTLIBGMP = @LTLIBGMP@
-LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
 M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
 NM = @NM@
@@ -275,6 +266,7 @@ abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
 ac_ct_CC = @ac_ct_CC@
 ac_ct_CXX = @ac_ct_CXX@
 ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
@@ -343,7 +335,6 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 sicstus_prolog = @sicstus_prolog@
 srcdir = @srcdir@
-subdirs = @subdirs@
 swi_prolog = @swi_prolog@
 swi_prolog_ld = @swi_prolog_ld@
 sysconfdir = @sysconfdir@
@@ -414,7 +405,7 @@ $(am__aclocal_m4_deps):
 
 clean-noinstLIBRARIES:
 	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
-libppl_utils.a: $(libppl_utils_a_OBJECTS) $(libppl_utils_a_DEPENDENCIES) 
+libppl_utils.a: $(libppl_utils_a_OBJECTS) $(libppl_utils_a_DEPENDENCIES) $(EXTRA_libppl_utils_a_DEPENDENCIES) 
 	$(AM_V_at)-rm -f libppl_utils.a
 	$(AM_V_AR)$(libppl_utils_a_AR) libppl_utils.a $(libppl_utils_a_OBJECTS) $(libppl_utils_a_LIBADD)
 	$(AM_V_at)$(RANLIB) libppl_utils.a
@@ -430,26 +421,23 @@ distclean-compile:
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
 
 .cc.obj:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
 .cc.lo:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
 @am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
+ at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
 mostlyclean-libtool:
 	-rm -f *.lo
@@ -556,10 +544,15 @@ install-am: all-am
 
 installcheck: installcheck-am
 install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
 mostlyclean-generic:
 
 clean-generic:
diff --git a/utils/build_header.in b/utils/build_header.in
index 51e9484..f563eef 100644
--- a/utils/build_header.in
+++ b/utils/build_header.in
@@ -7,7 +7,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
 
 # Builds a self-contained C++ header file by performing recursive inclusion.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -26,7 +26,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 use strict;
 use warnings;
diff --git a/utils/cm_cleaner.sh b/utils/cm_cleaner.sh
index 8444a8e..afd3674 100755
--- a/utils/cm_cleaner.sh
+++ b/utils/cm_cleaner.sh
@@ -2,7 +2,7 @@
 
 # Erases all files listed in the cutting markers found on stdin.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -21,7 +21,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 ___BEGIN_OF_FILE___() {
   rm -f $1
diff --git a/utils/cm_splitter.sh b/utils/cm_splitter.sh
index 02d6ffb..b9d2617 100755
--- a/utils/cm_splitter.sh
+++ b/utils/cm_splitter.sh
@@ -2,7 +2,7 @@
 
 # Splits stdin according to cutting markers.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -21,7 +21,7 @@
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 ___BEGIN_OF_FILE___() {
   cat >> $1
diff --git a/utils/text2cxxarray.in b/utils/text2cxxarray.in
index 6cc6f55..e484735 100644
--- a/utils/text2cxxarray.in
+++ b/utils/text2cxxarray.in
@@ -7,7 +7,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
 
 # Convert an ASCII text into the declaration of a C++ array.
 # Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-# Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+# Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -26,7 +26,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 #
 # For the most up-to-date information see the Parma Polyhedra Library
-# site: http://www.cs.unipr.it/ppl/ .
+# site: http://bugseng.com/products/ppl/ .
 
 use Getopt::Long;
 
@@ -38,25 +38,39 @@ Usage: text2cxxarray [OPTIONS] [FILE ...]
 
   [OPTIONS]
     --name=NAME               Use NAME as the array name.
+    --definition              Emit a defining declaration.
     -h, --help                Display this help message.
 EOF
         exit 1;
 }
 
 my $array_name = "a";
+my $decl_only = 0;
 
 GetOptions(
-	'name=s' => \$array_name,
-	'help|h' => \&usage,
+	'name=s'    => \$array_name,
+	'decl-only' => \$decl_only,
+	'help|h'    => \&usage,
 ) || usage();
 
-print "extern const char* const $array_name" . "[] = {\n";
-while (<>) {
-    chop;
-    s/\\/\\\\/g;
-    s/\t/\\t/g;
-    s/\"/\\"/g;
-    print "  \"$_\",\n";
+my @lines = <>;
+my $size = @lines + 1;
+
+print "extern const char* const ";
+print $array_name;
+print "[$size]";
+
+if (! $decl_only) {
+    print " = {\n";
+    foreach (@lines) {
+        chop;
+        s/\\/\\\\/g;
+        s/\t/\\t/g;
+        s/\"/\\"/g;
+        print "  \"$_\",\n";
+    }
+    print "  0";
+    print "}";
 }
-print "  0";
-print "};\n";
+
+print ";\n";
diff --git a/utils/timings.cc b/utils/timings.cc
index 819d965..20b94fd 100644
--- a/utils/timings.cc
+++ b/utils/timings.cc
@@ -1,6 +1,6 @@
 /* Definitions of simple functions for printing timings.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,10 +19,9 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
-
-#include <ppl-config.h>
+site: http://bugseng.com/products/ppl/ . */
 
+#include "ppl-config.h"
 #include "timings.hh"
 #include <cassert>
 #include <ctime>
@@ -51,50 +50,50 @@ static struct timeval saved_ru_utime;
 
 void
 start_clock() {
-#if defined(PPL_HAVE_DECL_GETRUSAGE) && defined(PPL_HAVE_TIMEVAL)
-  struct rusage rsg;
-  if (getrusage(RUSAGE_SELF, &rsg) != 0) {
+#if PPL_HAVE_DECL_GETRUSAGE && defined(PPL_HAVE_TIMEVAL)
+  struct rusage usage;
+  if (getrusage(RUSAGE_SELF, &usage) != 0) {
     cerr << "getrusage failed: " << strerror(errno) << endl;
     exit(1);
   }
   else
-    saved_ru_utime = rsg.ru_utime;
+    saved_ru_utime = usage.ru_utime;
 #endif
 }
 
 void
 print_clock(ostream& s) {
-#if defined(PPL_HAVE_DECL_GETRUSAGE) && defined(PPL_HAVE_TIMEVAL)
-  struct rusage rsg;
-  if (getrusage(RUSAGE_SELF, &rsg) != 0) {
+#if PPL_HAVE_DECL_GETRUSAGE && defined(PPL_HAVE_TIMEVAL)
+  struct rusage usage;
+  if (getrusage(RUSAGE_SELF, &usage) != 0) {
     cerr << "getrusage failed: " << strerror(errno) << endl;
     exit(1);
   }
   else {
-    time_t current_secs = rsg.ru_utime.tv_sec;
-    time_t current_usecs = rsg.ru_utime.tv_usec;
+    time_t current_secs = usage.ru_utime.tv_sec;
+    time_t current_usecs = usage.ru_utime.tv_usec;
     time_t saved_secs = saved_ru_utime.tv_sec;
     time_t saved_usecs = saved_ru_utime.tv_usec;
     time_t secs;
-    time_t hsecs;
+    time_t csecs;
     secs = current_secs - saved_secs;
     if (current_usecs < saved_usecs) {
-      hsecs = (((1000000 + current_usecs) - saved_usecs) + 5000) / 10000;
-      if (hsecs < 100)
+      csecs = (((1000000 + current_usecs) - saved_usecs) + 5000) / 10000;
+      if (csecs < 100)
 	--secs;
       else
-	hsecs = 0;
+	csecs = 0;
     }
     else {
-      hsecs = ((current_usecs - saved_usecs) + 5000) / 10000;
-      if (hsecs == 100) {
+      csecs = ((current_usecs - saved_usecs) + 5000) / 10000;
+      if (csecs == 100) {
 	++secs;
-	hsecs = 0;
+	csecs = 0;
       }
     }
-    assert(hsecs >= 0 && hsecs < 100 && secs >= 0);
-    int fill_char = s.fill();
-    s << secs << "." << setfill('0') << setw(2) << hsecs;
+    assert(csecs >= 0 && csecs < 100 && secs >= 0);
+    char fill_char = s.fill();
+    s << secs << "." << setfill('0') << setw(2) << csecs;
     s.fill(fill_char);
   }
 #else
diff --git a/utils/timings.hh b/utils/timings.hh
index f2174b2..2c0eeaf 100644
--- a/utils/timings.hh
+++ b/utils/timings.hh
@@ -1,6 +1,6 @@
 /* Declaration of simple functions for printing timings.
    Copyright (C) 2001-2010 Roberto Bagnara <bagnara at cs.unipr.it>
-   Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
+   Copyright (C) 2010-2012 BUGSENG srl (http://bugseng.com)
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation,
 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
 
 For the most up-to-date information see the Parma Polyhedra Library
-site: http://www.cs.unipr.it/ppl/ . */
+site: http://bugseng.com/products/ppl/ . */
 
 #ifndef PPL_timings_hh
 #define PPL_timings_hh 1

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/ppl.git



More information about the debian-science-commits mailing list